ZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vQUJJL3Rlc3Rpbmcvc3lzZnMtYmxvY2sgYi9Eb2N1bWVudGF0aW9uL0FCSS90ZXN0aW5nL3N5c2ZzLWJsb2NrCmluZGV4IDRiZDllYTUuLjQ0ZjUyYTQgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vQUJJL3Rlc3Rpbmcvc3lzZnMtYmxvY2sKKysrIGIvRG9jdW1lbnRhdGlvbi9BQkkvdGVzdGluZy9zeXNmcy1ibG9jawpAQCAtMjYsMyArMjYsMzcgQEAKIAkJSS9PIHN0YXRpc3RpY3Mgb2YgcGFydGl0aW9uIDxwYXJ0Pi4gVGhlIGZvcm1hdCBpcyB0aGUKIAkJc2FtZSBhcyB0aGUgYWJvdmUtd3JpdHRlbiAvc3lzL2Jsb2NrLzxkaXNrPi9zdGF0CiAJCWZvcm1hdC4KKworCitXaGF0OgkJL3N5cy9ibG9jay88ZGlzaz4vaW50ZWdyaXR5L2Zvcm1hdAorRGF0ZToJCUp1bmUgMjAwOAorQ29udGFjdDoJTWFydGluIEsuIFBldGVyc2VuIDxtYXJ0aW4ucGV0ZXJzZW5Ab3JhY2xlLmNvbT4KK0Rlc2NyaXB0aW9uOgorCQlNZXRhZGF0YSBmb3JtYXQgZm9yIGludGVncml0eSBjYXBhYmxlIGJsb2NrIGRldmljZS4KKwkJRS5nLiBUMTAtRElGLVRZUEUxLUNSQy4KKworCitXaGF0OgkJL3N5cy9ibG9jay88ZGlzaz4vaW50ZWdyaXR5L3JlYWRfdmVyaWZ5CitEYXRlOgkJSnVuZSAyMDA4CitDb250YWN0OglNYXJ0aW4gSy4gUGV0ZXJzZW4gPG1hcnRpbi5wZXRlcnNlbkBvcmFjbGUuY29tPgorRGVzY3JpcHRpb246CisJCUluZGljYXRlcyB3aGV0aGVyIHRoZSBibG9jayBsYXllciBzaG91bGQgdmVyaWZ5IHRoZQorCQlpbnRlZ3JpdHkgb2YgcmVhZCByZXF1ZXN0cyBzZXJ2aWNlZCBieSBkZXZpY2VzIHRoYXQKKwkJc3VwcG9ydCBzZW5kaW5nIGludGVncml0eSBtZXRhZGF0YS4KKworCitXaGF0OgkJL3N5cy9ibG9jay88ZGlzaz4vaW50ZWdyaXR5L3RhZ19zaXplCitEYXRlOgkJSnVuZSAyMDA4CitDb250YWN0OglNYXJ0aW4gSy4gUGV0ZXJzZW4gPG1hcnRpbi5wZXRlcnNlbkBvcmFjbGUuY29tPgorRGVzY3JpcHRpb246CisJCU51bWJlciBvZiBieXRlcyBvZiBpbnRlZ3JpdHkgdGFnIHNwYWNlIGF2YWlsYWJsZSBwZXIKKwkJNTEyIGJ5dGVzIG9mIGRhdGEuCisKKworV2hhdDoJCS9zeXMvYmxvY2svPGRpc2s+L2ludGVncml0eS93cml0ZV9nZW5lcmF0ZQorRGF0ZToJCUp1bmUgMjAwOAorQ29udGFjdDoJTWFydGluIEsuIFBldGVyc2VuIDxtYXJ0aW4ucGV0ZXJzZW5Ab3JhY2xlLmNvbT4KK0Rlc2NyaXB0aW9uOgorCQlJbmRpY2F0ZXMgd2hldGhlciB0aGUgYmxvY2sgbGF5ZXIgc2hvdWxkIGF1dG9tYXRpY2FsbHkKKwkJZ2VuZXJhdGUgY2hlY2tzdW1zIGZvciB3cml0ZSByZXF1ZXN0cyBib3VuZCBmb3IKKwkJZGV2aWNlcyB0aGF0IHN1cHBvcnQgcmVjZWl2aW5nIGludGVncml0eSBtZXRhZGF0YS4KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vQUJJL3Rlc3Rpbmcvc3lzZnMtYnVzLWNzcyBiL0RvY3VtZW50YXRpb24vQUJJL3Rlc3Rpbmcvc3lzZnMtYnVzLWNzcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNTg1ZWMyCi0tLSAvZGV2L251bGwKKysrIGIvRG9jdW1lbnRhdGlvbi9BQkkvdGVzdGluZy9zeXNmcy1idXMtY3NzCkBAIC0wLDAgKzEsMzUgQEAKK1doYXQ6CQkvc3lzL2J1cy9jc3MvZGV2aWNlcy8uLi4vdHlwZQorRGF0ZToJCU1hcmNoIDIwMDgKK0NvbnRhY3Q6CUNvcm5lbGlhIEh1Y2sgPGNvcm5lbGlhLmh1Y2tAZGUuaWJtLmNvbT4KKwkJbGludXgtczM5MEB2Z2VyLmtlcm5lbC5vcmcKK0Rlc2NyaXB0aW9uOglDb250YWlucyB0aGUgc3ViY2hhbm5lbCB0eXBlLCBhcyByZXBvcnRlZCBieSB0aGUgaGFyZHdhcmUuCisJCVRoaXMgYXR0cmlidXRlIGlzIHByZXNlbnQgZm9yIGFsbCBzdWJjaGFubmVsIHR5cGVzLgorCitXaGF0OgkJL3N5cy9idXMvY3NzL2RldmljZXMvLi4uL21vZGFsaWFzCitEYXRlOgkJTWFyY2ggMjAwOAorQ29udGFjdDoJQ29ybmVsaWEgSHVjayA8Y29ybmVsaWEuaHVja0BkZS5pYm0uY29tPgorCQlsaW51eC1zMzkwQHZnZXIua2VybmVsLm9yZworRGVzY3JpcHRpb246CUNvbnRhaW5zIHRoZSBtb2R1bGUgYWxpYXMgYXMgcmVwb3J0ZWQgd2l0aCB1ZXZlbnRzLgorCQlJdCBpcyBvZiB0aGUgZm9ybWF0IGNzczp0PHR5cGU+IGFuZCBwcmVzZW50IGZvciBhbGwKKwkJc3ViY2hhbm5lbCB0eXBlcy4KKworV2hhdDoJCS9zeXMvYnVzL2Nzcy9kcml2ZXJzL2lvX3N1YmNoYW5uZWwvLi4uL2NocGlkcworRGF0ZToJCURlY2VtYmVyIDIwMDIKK0NvbnRhY3Q6CUNvcm5lbGlhIEh1Y2sgPGNvcm5lbGlhLmh1Y2tAZGUuaWJtLmNvbT4KKwkJbGludXgtczM5MEB2Z2VyLmtlcm5lbC5vcmcKK0Rlc2NyaXB0aW9uOglDb250YWlucyB0aGUgaWRzIG9mIHRoZSBjaGFubmVsIHBhdGhzIHVzZWQgYnkgdGhpcworCQlzdWJjaGFubmVsLCBhcyByZXBvcnRlZCBieSB0aGUgY2hhbm5lbCBzdWJzeXN0ZW0KKwkJZHVyaW5nIHN1YmNoYW5uZWwgcmVjb2duaXRpb24uCisJCU5vdGU6IFRoaXMgaXMgYW4gSS9PLXN1YmNoYW5uZWwgc3BlY2lmaWMgYXR0cmlidXRlLgorVXNlcnM6CQlzMzkwLXRvb2xzLCBIQUwKKworV2hhdDoJCS9zeXMvYnVzL2Nzcy9kcml2ZXJzL2lvX3N1YmNoYW5uZWwvLi4uL3BpbXBhbXBvbQorRGF0ZToJCURlY2VtYmVyIDIwMDIKK0NvbnRhY3Q6CUNvcm5lbGlhIEh1Y2sgPGNvcm5lbGlhLmh1Y2tAZGUuaWJtLmNvbT4KKwkJbGludXgtczM5MEB2Z2VyLmtlcm5lbC5vcmcKK0Rlc2NyaXB0aW9uOglDb250YWlucyB0aGUgUElNL1BBTS9QT00gdmFsdWVzLCBhcyByZXBvcnRlZCBieSB0aGUKKwkJY2hhbm5lbCBzdWJzeXN0ZW0gd2hlbiBsYXN0IHF1ZXJpZWQgYnkgdGhlIGNvbW1vbiBJL08KKwkJbGF5ZXIgKHRoaXMgaW1wbGllcyB0aGF0IHRoaXMgYXR0cmlidXRlIGlzIG5vdCBuZWNjZXNzYXJpbHkKKwkJaW4gc3luYyB3aXRoIHRoZSB2YWx1ZXMgY3VycmVudCBpbiB0aGUgY2hhbm5lbCBzdWJzeXN0ZW0pLgorCQlOb3RlOiBUaGlzIGlzIGFuIEkvTy1zdWJjaGFubmVsIHNwZWNpZmljIGF0dHJpYnV0ZS4KK1VzZXJzOgkJczM5MC10b29scywgSEFMCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL0FCSS90ZXN0aW5nL3N5c2ZzLWZpcm13YXJlLW1lbW1hcCBiL0RvY3VtZW50YXRpb24vQUJJL3Rlc3Rpbmcvc3lzZnMtZmlybXdhcmUtbWVtbWFwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBkOTllZTYKLS0tIC9kZXYvbnVsbAorKysgYi9Eb2N1bWVudGF0aW9uL0FCSS90ZXN0aW5nL3N5c2ZzLWZpcm13YXJlLW1lbW1hcApAQCAtMCwwICsxLDcxIEBACitXaGF0OgkJL3N5cy9maXJtd2FyZS9tZW1tYXAvCitEYXRlOgkJSnVuZSAyMDA4CitDb250YWN0OglCZXJuaGFyZCBXYWxsZSA8YndhbGxlQHN1c2UuZGU+CitEZXNjcmlwdGlvbjoKKwkJT24gYWxsIHBsYXRmb3JtcywgdGhlIGZpcm13YXJlIHByb3ZpZGVzIGEgbWVtb3J5IG1hcCB3aGljaCB0aGUKKwkJa2VybmVsIHJlYWRzLiBUaGUgcmVzb3VyY2VzIGZyb20gdGhhdCBtZW1vcnkgbWFwIGFyZSByZWdpc3RlcmVkCisJCWluIHRoZSBrZXJuZWwgcmVzb3VyY2UgdHJlZSBhbmQgZXhwb3NlZCB0byB1c2Vyc3BhY2UgdmlhCisJCS9wcm9jL2lvbWVtICh0b2dldGhlciB3aXRoIG90aGVyIHJlc291cmNlcykuCisKKwkJSG93ZXZlciwgb24gbW9zdCBhcmNoaXRlY3R1cmVzIHRoYXQgZmlybXdhcmUtcHJvdmlkZWQgbWVtb3J5CisJCW1hcCBpcyBtb2RpZmllZCBhZnRlcndhcmRzIGJ5IHRoZSBrZXJuZWwgaXRzZWxmLCBlaXRoZXIgYmVjYXVzZQorCQl0aGUga2VybmVsIG1lcmdlcyB0aGF0IG1lbW9yeSBtYXAgd2l0aCBvdGhlciBpbmZvcm1hdGlvbiBvcgorCQlqdXN0IGJlY2F1c2UgdGhlIHVzZXIgb3ZlcndyaXRlcyB0aGF0IG1lbW9yeSBtYXAgdmlhIGNvbW1hbmQKKwkJbGluZS4KKworCQlrZXhlYyBuZWVkcyB0aGUgcmF3IGZpcm13YXJlLXByb3ZpZGVkIG1lbW9yeSBtYXAgdG8gc2V0dXAgdGhlCisJCXBhcmFtZXRlciBzZWdtZW50IG9mIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgYm9vdGVkIHdpdGgKKwkJa2V4ZWMuIEFsc28sIHRoZSByYXcgbWVtb3J5IG1hcCBpcyB1c2VmdWwgZm9yIGRlYnVnZ2luZy4gRm9yCisJCXRoYXQgcmVhc29uLCAvc3lzL2Zpcm13YXJlL21lbW1hcCBpcyBhbiBpbnRlcmZhY2UgdGhhdCBwcm92aWRlcworCQl0aGUgcmF3IG1lbW9yeSBtYXAgdG8gdXNlcnNwYWNlLgorCisJCVRoZSBzdHJ1Y3R1cmUgaXMgYXMgZm9sbG93czogVW5kZXIgL3N5cy9maXJtd2FyZS9tZW1tYXAgdGhlcmUKKwkJYXJlIHN1YmRpcmVjdG9yaWVzIHdpdGggdGhlIG51bWJlciBvZiB0aGUgZW50cnkgYXMgdGhlaXIgbmFtZToKKworCQkJL3N5cy9maXJtd2FyZS9tZW1tYXAvMAorCQkJL3N5cy9maXJtd2FyZS9tZW1tYXAvMQorCQkJL3N5cy9maXJtd2FyZS9tZW1tYXAvMgorCQkJL3N5cy9maXJtd2FyZS9tZW1tYXAvMworCQkJLi4uCisKKwkJVGhlIG1heGltdW0gZGVwZW5kcyBvbiB0aGUgbnVtYmVyIG9mIG1lbW9yeSBtYXAgZW50cmllcyBwcm92aWRlZAorCQlieSB0aGUgZmlybXdhcmUuIFRoZSBvcmRlciBpcyBqdXN0IHRoZSBvcmRlciB0aGF0IHRoZSBmaXJtd2FyZQorCQlwcm92aWRlcy4KKworCQlFYWNoIGRpcmVjdG9yeSBjb250YWlucyB0aHJlZSBmaWxlczoKKworCQlzdGFydAk6IFRoZSBzdGFydCBhZGRyZXNzIChhcyBoZXhhZGVjaW1hbCBudW1iZXIgd2l0aCB0aGUKKwkJCSAgJzB4JyBwcmVmaXgpLgorCQllbmQJOiBUaGUgZW5kIGFkZHJlc3MsIGluY2x1c2l2ZSAocmVnYXJkbGVzcyB3aGV0aGVyIHRoZQorCQkJICBmaXJtd2FyZSBwcm92aWRlcyBpbmNsdXNpdmUgb3IgZXhjbHVzaXZlIHJhbmdlcykuCisJCXR5cGUJOiBUeXBlIG9mIHRoZSBlbnRyeSBhcyBzdHJpbmcuIFNlZSBiZWxvdyBmb3IgYSBsaXN0IG9mCisJCQkgIHZhbGlkIHR5cGVzLgorCisJCVNvLCBmb3IgZXhhbXBsZToKKworCQkJL3N5cy9maXJtd2FyZS9tZW1tYXAvMC9zdGFydAorCQkJL3N5cy9maXJtd2FyZS9tZW1tYXAvMC9lbmQKKwkJCS9zeXMvZmlybXdhcmUvbWVtbWFwLzAvdHlwZQorCQkJL3N5cy9maXJtd2FyZS9tZW1tYXAvMS9zdGFydAorCQkJLi4uCisKKwkJQ3VycmVudGx5IGZvbGxvd2luZyB0eXBlcyBleGlzdDoKKworCQkgIC0gU3lzdGVtIFJBTQorCQkgIC0gQUNQSSBUYWJsZXMKKwkJICAtIEFDUEkgTm9uLXZvbGF0aWxlIFN0b3JhZ2UKKwkJICAtIHJlc2VydmVkCisKKwkJRm9sbG93aW5nIHNoZWxsIHNuaXBwZXQgY2FuIGJlIHVzZWQgdG8gZGlzcGxheSB0aGF0IG1lbW9yeQorCQltYXAgaW4gYSBodW1hbi1yZWFkYWJsZSBmb3JtYXQ6CisKKwkJLS0tLS0tLS0tLS0tLS0tLS0tLS0gODwgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCQkgICMhL2Jpbi9iYXNoCisJCSAgY2QgL3N5cy9maXJtd2FyZS9tZW1tYXAKKwkJICBmb3IgZGlyIGluICogOyBkbworCQkgICAgICBzdGFydD0kKGNhdCAkZGlyL3N0YXJ0KQorCQkgICAgICBlbmQ9JChjYXQgJGRpci9lbmQpCisJCSAgICAgIHR5cGU9JChjYXQgJGRpci90eXBlKQorCQkgICAgICBwcmludGYgIiUwMTZ4LSUwMTZ4ICglcylcbiIgJHN0YXJ0ICRbICRlbmQgKzFdICIkdHlwZSIKKwkJICBkb25lCisJCS0tLS0tLS0tLS0tLS0tLS0tLS0tID44IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vSVJRLWFmZmluaXR5LnR4dCBiL0RvY3VtZW50YXRpb24vSVJRLWFmZmluaXR5LnR4dAppbmRleCA5MzhkN2RkLi5iNGE2MTViIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL0lSUS1hZmZpbml0eS50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9JUlEtYWZmaW5pdHkudHh0CkBAIC0xLDE3ICsxLDI2IEBACitDaGFuZ2VMb2c6CisJU3RhcnRlZCBieSBJbmdvIE1vbG5hciA8bWluZ29AcmVkaGF0LmNvbT4KKwlVcGRhdGUgYnkgTWF4IEtyYXNueWFuc2t5IDxtYXhrQHF1YWxjb21tLmNvbT4KIAotU01QIElSUSBhZmZpbml0eSwgc3RhcnRlZCBieSBJbmdvIE1vbG5hciA8bWluZ29AcmVkaGF0LmNvbT4KLQorU01QIElSUSBhZmZpbml0eQogCiAvcHJvYy9pcnEvSVJRIy9zbXBfYWZmaW5pdHkgc3BlY2lmaWVzIHdoaWNoIHRhcmdldCBDUFVzIGFyZSBwZXJtaXR0ZWQKIGZvciBhIGdpdmVuIElSUSBzb3VyY2UuIEl0J3MgYSBiaXRtYXNrIG9mIGFsbG93ZWQgQ1BVcy4gSXQncyBub3QgYWxsb3dlZAogdG8gdHVybiBvZmYgYWxsIENQVXMsIGFuZCBpZiBhbiBJUlEgY29udHJvbGxlciBkb2VzIG5vdCBzdXBwb3J0IElSUQogYWZmaW5pdHkgdGhlbiB0aGUgdmFsdWUgd2lsbCBub3QgY2hhbmdlIGZyb20gdGhlIGRlZmF1bHQgMHhmZmZmZmZmZi4KIAotSGVyZSBpcyBhbiBleGFtcGxlIG9mIHJlc3RyaWN0aW5nIElSUTQ0IChldGgxKSB0byBDUFUwLTMgdGhlbiByZXN0cmljdGluZwotdGhlIElSUSB0byBDUFU0LTcgKHRoaXMgaXMgYW4gOC1DUFUgU01QIGJveCk6CisvcHJvYy9pcnEvZGVmYXVsdF9zbXBfYWZmaW5pdHkgc3BlY2lmaWVzIGRlZmF1bHQgYWZmaW5pdHkgbWFzayB0aGF0IGFwcGxpZXMKK3RvIGFsbCBub24tYWN0aXZlIElSUXMuIE9uY2UgSVJRIGlzIGFsbG9jYXRlZC9hY3RpdmF0ZWQgaXRzIGFmZmluaXR5IGJpdG1hc2sKK3dpbGwgYmUgc2V0IHRvIHRoZSBkZWZhdWx0IG1hc2suIEl0IGNhbiB0aGVuIGJlIGNoYW5nZWQgYXMgZGVzY3JpYmVkIGFib3ZlLgorRGVmYXVsdCBtYXNrIGlzIDB4ZmZmZmZmZmYuCiAKK0hlcmUgaXMgYW4gZXhhbXBsZSBvZiByZXN0cmljdGluZyBJUlE0NCAoZXRoMSkgdG8gQ1BVMC0zIHRoZW4gcmVzdHJpY3RpbmcKK2l0IHRvIENQVTQtNyAodGhpcyBpcyBhbiA4LUNQVSBTTVAgYm94KToKKworW3Jvb3RAbW9vbiA0NF0jIGNkIC9wcm9jL2lycS80NAogW3Jvb3RAbW9vbiA0NF0jIGNhdCBzbXBfYWZmaW5pdHkKIGZmZmZmZmZmCisKIFtyb290QG1vb24gNDRdIyBlY2hvIDBmID4gc21wX2FmZmluaXR5CiBbcm9vdEBtb29uIDQ0XSMgY2F0IHNtcF9hZmZpbml0eQogMDAwMDAwMGYKQEAgLTIxLDE3ICszMCwyNyBAQAogLS0tIGhlbGwgcGluZyBzdGF0aXN0aWNzIC0tLQogNjAyOSBwYWNrZXRzIHRyYW5zbWl0dGVkLCA2MDI3IHBhY2tldHMgcmVjZWl2ZWQsIDAlIHBhY2tldCBsb3NzCiByb3VuZC10cmlwIG1pbi9hdmcvbWF4ID0gMC4xLzAuMS8wLjQgbXMKLVtyb290QG1vb24gNDRdIyBjYXQgL3Byb2MvaW50ZXJydXB0cyB8IGdyZXAgNDQ6Ci0gNDQ6ICAgICAgICAgIDAgICAgICAgMTc4NSAgICAgICAxNzg1ICAgICAgIDE3ODMgICAgICAgMTc4MyAgICAgICAgICAxCi0xICAgICAgICAgIDAgICBJTy1BUElDLWxldmVsICBldGgxCitbcm9vdEBtb29uIDQ0XSMgY2F0IC9wcm9jL2ludGVycnVwdHMgfCBncmVwICdDUFVcfDQ0OicKKyAgICAgICAgICAgQ1BVMCAgICAgICBDUFUxICAgICAgIENQVTIgICAgICAgQ1BVMyAgICAgIENQVTQgICAgICAgQ1BVNSAgICAgICAgQ1BVNiAgICAgICBDUFU3CisgNDQ6ICAgICAgIDEwNjggICAgICAgMTc4NSAgICAgICAxNzg1ICAgICAgIDE3ODMgICAgICAgICAwICAgICAgICAgIDAgICAgICAgICAgIDAgICAgICAgICAwICAgIElPLUFQSUMtbGV2ZWwgIGV0aDEKKworQXMgY2FuIGJlIHNlZW4gZnJvbSB0aGUgbGluZSBhYm92ZSBJUlE0NCB3YXMgZGVsaXZlcmVkIG9ubHkgdG8gdGhlIGZpcnN0IGZvdXIKK3Byb2Nlc3NvcnMgKDAtMykuCitOb3cgbGV0cyByZXN0cmljdCB0aGF0IElSUSB0byBDUFUoNC03KS4KKwogW3Jvb3RAbW9vbiA0NF0jIGVjaG8gZjAgPiBzbXBfYWZmaW5pdHkKK1tyb290QG1vb24gNDRdIyBjYXQgc21wX2FmZmluaXR5CiswMDAwMDBmMAogW3Jvb3RAbW9vbiA0NF0jIHBpbmcgLWYgaAogUElORyBoZWxsICgxOTUuNC43LjMpOiA1NiBkYXRhIGJ5dGVzCiAuLgogLS0tIGhlbGwgcGluZyBzdGF0aXN0aWNzIC0tLQogMjc3OSBwYWNrZXRzIHRyYW5zbWl0dGVkLCAyNzc3IHBhY2tldHMgcmVjZWl2ZWQsIDAlIHBhY2tldCBsb3NzCiByb3VuZC10cmlwIG1pbi9hdmcvbWF4ID0gMC4xLzAuNS81ODUuNCBtcwotW3Jvb3RAbW9vbiA0NF0jIGNhdCAvcHJvYy9pbnRlcnJ1cHRzIHwgZ3JlcCA0NDoKLSA0NDogICAgICAgMTA2OCAgICAgICAxNzg1ICAgICAgIDE3ODUgICAgICAgMTc4NCAgICAgICAxNzg0ICAgICAgIDEwNjkgICAgICAgMTA3MCAgICAgICAxMDY5ICAgSU8tQVBJQy1sZXZlbCAgZXRoMQotW3Jvb3RAbW9vbiA0NF0jCitbcm9vdEBtb29uIDQ0XSMgY2F0IC9wcm9jL2ludGVycnVwdHMgfCAgJ0NQVVx8NDQ6JworICAgICAgICAgICBDUFUwICAgICAgIENQVTEgICAgICAgQ1BVMiAgICAgICBDUFUzICAgICAgQ1BVNCAgICAgICBDUFU1ICAgICAgICBDUFU2ICAgICAgIENQVTcKKyA0NDogICAgICAgMTA2OCAgICAgICAxNzg1ICAgICAgIDE3ODUgICAgICAgMTc4MyAgICAgIDE3ODQgICAgICAgMTA2OSAgICAgICAgMTA3MCAgICAgICAxMDY5ICAgSU8tQVBJQy1sZXZlbCAgZXRoMQorCitUaGlzIHRpbWUgYXJvdW5kIElSUTQ0IHdhcyBkZWxpdmVyZWQgb25seSB0byB0aGUgbGFzdCBmb3VyIHByb2Nlc3NvcnMuCitpLmUgY291bnRlcnMgZm9yIHRoZSBDUFUwLTMgZGlkIG5vdCBjaGFuZ2UuCiAKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vYmxvY2svZGF0YS1pbnRlZ3JpdHkudHh0IGIvRG9jdW1lbnRhdGlvbi9ibG9jay9kYXRhLWludGVncml0eS50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTlkYzhkOAotLS0gL2Rldi9udWxsCisrKyBiL0RvY3VtZW50YXRpb24vYmxvY2svZGF0YS1pbnRlZ3JpdHkudHh0CkBAIC0wLDAgKzEsMzI3IEBACistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisxLiBJTlRST0RVQ1RJT04KKworTW9kZXJuIGZpbGVzeXN0ZW1zIGZlYXR1cmUgY2hlY2tzdW1taW5nIG9mIGRhdGEgYW5kIG1ldGFkYXRhIHRvCitwcm90ZWN0IGFnYWluc3QgZGF0YSBjb3JydXB0aW9uLiAgSG93ZXZlciwgdGhlIGRldGVjdGlvbiBvZiB0aGUKK2NvcnJ1cHRpb24gaXMgZG9uZSBhdCByZWFkIHRpbWUgd2hpY2ggY291bGQgcG90ZW50aWFsbHkgYmUgbW9udGhzCithZnRlciB0aGUgZGF0YSB3YXMgd3JpdHRlbi4gIEF0IHRoYXQgcG9pbnQgdGhlIG9yaWdpbmFsIGRhdGEgdGhhdCB0aGUKK2FwcGxpY2F0aW9uIHRyaWVkIHRvIHdyaXRlIGlzIG1vc3QgbGlrZWx5IGxvc3QuCisKK1RoZSBzb2x1dGlvbiBpcyB0byBlbnN1cmUgdGhhdCB0aGUgZGlzayBpcyBhY3R1YWxseSBzdG9yaW5nIHdoYXQgdGhlCithcHBsaWNhdGlvbiBtZWFudCBpdCB0by4gIFJlY2VudCBhZGRpdGlvbnMgdG8gYm90aCB0aGUgU0NTSSBmYW1pbHkKK3Byb3RvY29scyAoU0JDIERhdGEgSW50ZWdyaXR5IEZpZWxkLCBTQ0MgcHJvdGVjdGlvbiBwcm9wb3NhbCkgYXMgd2VsbAorYXMgU0FUQS9UMTMgKEV4dGVybmFsIFBhdGggUHJvdGVjdGlvbikgdHJ5IHRvIHJlbWVkeSB0aGlzIGJ5IGFkZGluZworc3VwcG9ydCBmb3IgYXBwZW5kaW5nIGludGVncml0eSBtZXRhZGF0YSB0byBhbiBJL08uICBUaGUgaW50ZWdyaXR5CittZXRhZGF0YSAob3IgcHJvdGVjdGlvbiBpbmZvcm1hdGlvbiBpbiBTQ1NJIHRlcm1pbm9sb2d5KSBpbmNsdWRlcyBhCitjaGVja3N1bSBmb3IgZWFjaCBzZWN0b3IgYXMgd2VsbCBhcyBhbiBpbmNyZW1lbnRpbmcgY291bnRlciB0aGF0CitlbnN1cmVzIHRoZSBpbmRpdmlkdWFsIHNlY3RvcnMgYXJlIHdyaXR0ZW4gaW4gdGhlIHJpZ2h0IG9yZGVyLiAgQW5kCitmb3Igc29tZSBwcm90ZWN0aW9uIHNjaGVtZXMgYWxzbyB0aGF0IHRoZSBJL08gaXMgd3JpdHRlbiB0byB0aGUgcmlnaHQKK3BsYWNlIG9uIGRpc2suCisKK0N1cnJlbnQgc3RvcmFnZSBjb250cm9sbGVycyBhbmQgZGV2aWNlcyBpbXBsZW1lbnQgdmFyaW91cyBwcm90ZWN0aXZlCittZWFzdXJlcywgZm9yIGluc3RhbmNlIGNoZWNrc3VtbWluZyBhbmQgc2NydWJiaW5nLiAgQnV0IHRoZXNlCit0ZWNobm9sb2dpZXMgYXJlIHdvcmtpbmcgaW4gdGhlaXIgb3duIGlzb2xhdGVkIGRvbWFpbnMgb3IgYXQgYmVzdAorYmV0d2VlbiBhZGphY2VudCBub2RlcyBpbiB0aGUgSS9PIHBhdGguICBUaGUgaW50ZXJlc3RpbmcgdGhpbmcgYWJvdXQKK0RJRiBhbmQgdGhlIG90aGVyIGludGVncml0eSBleHRlbnNpb25zIGlzIHRoYXQgdGhlIHByb3RlY3Rpb24gZm9ybWF0CitpcyB3ZWxsIGRlZmluZWQgYW5kIGV2ZXJ5IG5vZGUgaW4gdGhlIEkvTyBwYXRoIGNhbiB2ZXJpZnkgdGhlCitpbnRlZ3JpdHkgb2YgdGhlIEkvTyBhbmQgcmVqZWN0IGl0IGlmIGNvcnJ1cHRpb24gaXMgZGV0ZWN0ZWQuICBUaGlzCithbGxvd3Mgbm90IG9ubHkgY29ycnVwdGlvbiBwcmV2ZW50aW9uIGJ1dCBhbHNvIGlzb2xhdGlvbiBvZiB0aGUgcG9pbnQKK29mIGZhaWx1cmUuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKzIuIFRIRSBEQVRBIElOVEVHUklUWSBFWFRFTlNJT05TCisKK0FzIHdyaXR0ZW4sIHRoZSBwcm90b2NvbCBleHRlbnNpb25zIG9ubHkgcHJvdGVjdCB0aGUgcGF0aCBiZXR3ZWVuCitjb250cm9sbGVyIGFuZCBzdG9yYWdlIGRldmljZS4gIEhvd2V2ZXIsIG1hbnkgY29udHJvbGxlcnMgYWN0dWFsbHkKK2FsbG93IHRoZSBvcGVyYXRpbmcgc3lzdGVtIHRvIGludGVyYWN0IHdpdGggdGhlIGludGVncml0eSBtZXRhZGF0YQorKElNRCkuICBXZSBoYXZlIGJlZW4gd29ya2luZyB3aXRoIHNldmVyYWwgRkMvU0FTIEhCQSB2ZW5kb3JzIHRvIGVuYWJsZQordGhlIHByb3RlY3Rpb24gaW5mb3JtYXRpb24gdG8gYmUgdHJhbnNmZXJyZWQgdG8gYW5kIGZyb20gdGhlaXIKK2NvbnRyb2xsZXJzLgorCitUaGUgU0NTSSBEYXRhIEludGVncml0eSBGaWVsZCB3b3JrcyBieSBhcHBlbmRpbmcgOCBieXRlcyBvZiBwcm90ZWN0aW9uCitpbmZvcm1hdGlvbiB0byBlYWNoIHNlY3Rvci4gIFRoZSBkYXRhICsgaW50ZWdyaXR5IG1ldGFkYXRhIGlzIHN0b3JlZAoraW4gNTIwIGJ5dGUgc2VjdG9ycyBvbiBkaXNrLiAgRGF0YSArIElNRCBhcmUgaW50ZXJsZWF2ZWQgd2hlbgordHJhbnNmZXJyZWQgYmV0d2VlbiB0aGUgY29udHJvbGxlciBhbmQgdGFyZ2V0LiAgVGhlIFQxMyBwcm9wb3NhbCBpcworc2ltaWxhci4KKworQmVjYXVzZSBpdCBpcyBoaWdobHkgaW5jb252ZW5pZW50IGZvciBvcGVyYXRpbmcgc3lzdGVtcyB0byBkZWFsIHdpdGgKKzUyMCAoYW5kIDQxMDQpIGJ5dGUgc2VjdG9ycywgd2UgYXBwcm9hY2hlZCBzZXZlcmFsIEhCQSB2ZW5kb3JzIGFuZAorZW5jb3VyYWdlZCB0aGVtIHRvIGFsbG93IHNlcGFyYXRpb24gb2YgdGhlIGRhdGEgYW5kIGludGVncml0eSBtZXRhZGF0YQorc2NhdHRlci1nYXRoZXIgbGlzdHMuCisKK1RoZSBjb250cm9sbGVyIHdpbGwgaW50ZXJsZWF2ZSB0aGUgYnVmZmVycyBvbiB3cml0ZSBhbmQgc3BsaXQgdGhlbSBvbgorcmVhZC4gIFRoaXMgbWVhbnMgdGhhdCB0aGUgTGludXggY2FuIERNQSB0aGUgZGF0YSBidWZmZXJzIHRvIGFuZCBmcm9tCitob3N0IG1lbW9yeSB3aXRob3V0IGNoYW5nZXMgdG8gdGhlIHBhZ2UgY2FjaGUuCisKK0Fsc28sIHRoZSAxNi1iaXQgQ1JDIGNoZWNrc3VtIG1hbmRhdGVkIGJ5IGJvdGggdGhlIFNDU0kgYW5kIFNBVEEgc3BlY3MKK2lzIHNvbWV3aGF0IGhlYXZ5IHRvIGNvbXB1dGUgaW4gc29mdHdhcmUuICBCZW5jaG1hcmtzIGZvdW5kIHRoYXQKK2NhbGN1bGF0aW5nIHRoaXMgY2hlY2tzdW0gaGFkIGEgc2lnbmlmaWNhbnQgaW1wYWN0IG9uIHN5c3RlbQorcGVyZm9ybWFuY2UgZm9yIGEgbnVtYmVyIG9mIHdvcmtsb2Fkcy4gIFNvbWUgY29udHJvbGxlcnMgYWxsb3cgYQorbGlnaHRlci13ZWlnaHQgY2hlY2tzdW0gdG8gYmUgdXNlZCB3aGVuIGludGVyZmFjaW5nIHdpdGggdGhlIG9wZXJhdGluZworc3lzdGVtLiAgRW11bGV4LCBmb3IgaW5zdGFuY2UsIHN1cHBvcnRzIHRoZSBUQ1AvSVAgY2hlY2tzdW0gaW5zdGVhZC4KK1RoZSBJUCBjaGVja3N1bSByZWNlaXZlZCBmcm9tIHRoZSBPUyBpcyBjb252ZXJ0ZWQgdG8gdGhlIDE2LWJpdCBDUkMKK3doZW4gd3JpdGluZyBhbmQgdmljZSB2ZXJzYS4gIFRoaXMgYWxsb3dzIHRoZSBpbnRlZ3JpdHkgbWV0YWRhdGEgdG8gYmUKK2dlbmVyYXRlZCBieSBMaW51eCBvciB0aGUgYXBwbGljYXRpb24gYXQgdmVyeSBsb3cgY29zdCAoY29tcGFyYWJsZSB0bworc29mdHdhcmUgUkFJRDUpLgorCitUaGUgSVAgY2hlY2tzdW0gaXMgd2Vha2VyIHRoYW4gdGhlIENSQyBpbiB0ZXJtcyBvZiBkZXRlY3RpbmcgYml0CitlcnJvcnMuICBIb3dldmVyLCB0aGUgc3RyZW5ndGggaXMgcmVhbGx5IGluIHRoZSBzZXBhcmF0aW9uIG9mIHRoZSBkYXRhCitidWZmZXJzIGFuZCB0aGUgaW50ZWdyaXR5IG1ldGFkYXRhLiAgVGhlc2UgdHdvIGRpc3RpbmN0IGJ1ZmZlcnMgbXVjaAorbWF0Y2ggdXAgZm9yIGFuIEkvTyB0byBjb21wbGV0ZS4KKworVGhlIHNlcGFyYXRpb24gb2YgdGhlIGRhdGEgYW5kIGludGVncml0eSBtZXRhZGF0YSBidWZmZXJzIGFzIHdlbGwgYXMKK3RoZSBjaG9pY2UgaW4gY2hlY2tzdW1zIGlzIHJlZmVycmVkIHRvIGFzIHRoZSBEYXRhIEludGVncml0eQorRXh0ZW5zaW9ucy4gIEFzIHRoZXNlIGV4dGVuc2lvbnMgYXJlIG91dHNpZGUgdGhlIHNjb3BlIG9mIHRoZSBwcm90b2NvbAorYm9kaWVzIChUMTAsIFQxMyksIE9yYWNsZSBhbmQgaXRzIHBhcnRuZXJzIGFyZSB0cnlpbmcgdG8gc3RhbmRhcmRpemUKK3RoZW0gd2l0aGluIHRoZSBTdG9yYWdlIE5ldHdvcmtpbmcgSW5kdXN0cnkgQXNzb2NpYXRpb24uCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKzMuIEtFUk5FTCBDSEFOR0VTCisKK1RoZSBkYXRhIGludGVncml0eSBmcmFtZXdvcmsgaW4gTGludXggZW5hYmxlcyBwcm90ZWN0aW9uIGluZm9ybWF0aW9uCit0byBiZSBwaW5uZWQgdG8gSS9PcyBhbmQgc2VudCB0by9yZWNlaXZlZCBmcm9tIGNvbnRyb2xsZXJzIHRoYXQKK3N1cHBvcnQgaXQuCisKK1RoZSBhZHZhbnRhZ2UgdG8gdGhlIGludGVncml0eSBleHRlbnNpb25zIGluIFNDU0kgYW5kIFNBVEEgaXMgdGhhdAordGhleSBlbmFibGUgdXMgdG8gcHJvdGVjdCB0aGUgZW50aXJlIHBhdGggZnJvbSBhcHBsaWNhdGlvbiB0byBzdG9yYWdlCitkZXZpY2UuICBIb3dldmVyLCBhdCB0aGUgc2FtZSB0aW1lIHRoaXMgaXMgYWxzbyB0aGUgYmlnZ2VzdAorZGlzYWR2YW50YWdlLiBJdCBtZWFucyB0aGF0IHRoZSBwcm90ZWN0aW9uIGluZm9ybWF0aW9uIG11c3QgYmUgaW4gYQorZm9ybWF0IHRoYXQgY2FuIGJlIHVuZGVyc3Rvb2QgYnkgdGhlIGRpc2suCisKK0dlbmVyYWxseSBMaW51eC9QT1NJWCBhcHBsaWNhdGlvbnMgYXJlIGFnbm9zdGljIHRvIHRoZSBpbnRyaWNhY2llcyBvZgordGhlIHN0b3JhZ2UgZGV2aWNlcyB0aGV5IGFyZSBhY2Nlc3NpbmcuICBUaGUgdmlydHVhbCBmaWxlc3lzdGVtIHN3aXRjaAorYW5kIHRoZSBibG9jayBsYXllciBtYWtlIHRoaW5ncyBsaWtlIGhhcmR3YXJlIHNlY3RvciBzaXplIGFuZAordHJhbnNwb3J0IHByb3RvY29scyBjb21wbGV0ZWx5IHRyYW5zcGFyZW50IHRvIHRoZSBhcHBsaWNhdGlvbi4KKworSG93ZXZlciwgdGhpcyBsZXZlbCBvZiBkZXRhaWwgaXMgcmVxdWlyZWQgd2hlbiBwcmVwYXJpbmcgdGhlCitwcm90ZWN0aW9uIGluZm9ybWF0aW9uIHRvIHNlbmQgdG8gYSBkaXNrLiAgQ29uc2VxdWVudGx5LCB0aGUgdmVyeQorY29uY2VwdCBvZiBhbiBlbmQtdG8tZW5kIHByb3RlY3Rpb24gc2NoZW1lIGlzIGEgbGF5ZXJpbmcgdmlvbGF0aW9uLgorSXQgaXMgY29tcGxldGVseSB1bnJlYXNvbmFibGUgZm9yIGFuIGFwcGxpY2F0aW9uIHRvIGJlIGF3YXJlIHdoZXRoZXIKK2l0IGlzIGFjY2Vzc2luZyBhIFNDU0kgb3IgU0FUQSBkaXNrLgorCitUaGUgZGF0YSBpbnRlZ3JpdHkgc3VwcG9ydCBpbXBsZW1lbnRlZCBpbiBMaW51eCBhdHRlbXB0cyB0byBoaWRlIHRoaXMKK2Zyb20gdGhlIGFwcGxpY2F0aW9uLiAgQXMgZmFyIGFzIHRoZSBhcHBsaWNhdGlvbiAoYW5kIHRvIHNvbWUgZXh0ZW50Cit0aGUga2VybmVsKSBpcyBjb25jZXJuZWQsIHRoZSBpbnRlZ3JpdHkgbWV0YWRhdGEgaXMgb3BhcXVlIGluZm9ybWF0aW9uCit0aGF0J3MgYXR0YWNoZWQgdG8gdGhlIEkvTy4KKworVGhlIGN1cnJlbnQgaW1wbGVtZW50YXRpb24gYWxsb3dzIHRoZSBibG9jayBsYXllciB0byBhdXRvbWF0aWNhbGx5CitnZW5lcmF0ZSB0aGUgcHJvdGVjdGlvbiBpbmZvcm1hdGlvbiBmb3IgYW55IEkvTy4gIEV2ZW50dWFsbHkgdGhlCitpbnRlbnQgaXMgdG8gbW92ZSB0aGUgaW50ZWdyaXR5IG1ldGFkYXRhIGNhbGN1bGF0aW9uIHRvIHVzZXJzcGFjZSBmb3IKK3VzZXIgZGF0YS4gIE1ldGFkYXRhIGFuZCBvdGhlciBJL08gdGhhdCBvcmlnaW5hdGVzIHdpdGhpbiB0aGUga2VybmVsCit3aWxsIHN0aWxsIHVzZSB0aGUgYXV0b21hdGljIGdlbmVyYXRpb24gaW50ZXJmYWNlLgorCitTb21lIHN0b3JhZ2UgZGV2aWNlcyBhbGxvdyBlYWNoIGhhcmR3YXJlIHNlY3RvciB0byBiZSB0YWdnZWQgd2l0aCBhCisxNi1iaXQgdmFsdWUuICBUaGUgb3duZXIgb2YgdGhpcyB0YWcgc3BhY2UgaXMgdGhlIG93bmVyIG9mIHRoZSBibG9jaworZGV2aWNlLiAgSS5lLiB0aGUgZmlsZXN5c3RlbSBpbiBtb3N0IGNhc2VzLiAgVGhlIGZpbGVzeXN0ZW0gY2FuIHVzZQordGhpcyBleHRyYSBzcGFjZSB0byB0YWcgc2VjdG9ycyBhcyB0aGV5IHNlZSBmaXQuICBCZWNhdXNlIHRoZSB0YWcKK3NwYWNlIGlzIGxpbWl0ZWQsIHRoZSBibG9jayBpbnRlcmZhY2UgYWxsb3dzIHRhZ2dpbmcgYmlnZ2VyIGNodW5rcyBieQord2F5IG9mIGludGVybGVhdmluZy4gIFRoaXMgd2F5LCA4KjE2IGJpdHMgb2YgaW5mb3JtYXRpb24gY2FuIGJlCithdHRhY2hlZCB0byBhIHR5cGljYWwgNEtCIGZpbGVzeXN0ZW0gYmxvY2suCisKK1RoaXMgYWxzbyBtZWFucyB0aGF0IGFwcGxpY2F0aW9ucyBzdWNoIGFzIGZzY2sgYW5kIG1rZnMgd2lsbCBuZWVkCithY2Nlc3MgdG8gbWFuaXB1bGF0ZSB0aGUgdGFncyBmcm9tIHVzZXIgc3BhY2UuICBBIHBhc3N0aHJvdWdoCitpbnRlcmZhY2UgZm9yIHRoaXMgaXMgYmVpbmcgd29ya2VkIG9uLgorCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKzQuIEJMT0NLIExBWUVSIElNUExFTUVOVEFUSU9OIERFVEFJTFMKKworNC4xIEJJTworCitUaGUgZGF0YSBpbnRlZ3JpdHkgcGF0Y2hlcyBhZGQgYSBuZXcgZmllbGQgdG8gc3RydWN0IGJpbyB3aGVuCitDT05GSUdfQkxLX0RFVl9JTlRFR1JJVFkgaXMgZW5hYmxlZC4gIGJpby0+YmlfaW50ZWdyaXR5IGlzIGEgcG9pbnRlcgordG8gYSBzdHJ1Y3QgYmlwIHdoaWNoIGNvbnRhaW5zIHRoZSBiaW8gaW50ZWdyaXR5IHBheWxvYWQuICBFc3NlbnRpYWxseQorYSBiaXAgaXMgYSB0cmltbWVkIGRvd24gc3RydWN0IGJpbyB3aGljaCBob2xkcyBhIGJpb192ZWMgY29udGFpbmluZwordGhlIGludGVncml0eSBtZXRhZGF0YSBhbmQgdGhlIHJlcXVpcmVkIGhvdXNla2VlcGluZyBpbmZvcm1hdGlvbiAoYnZlYworcG9vbCwgdmVjdG9yIGNvdW50LCBldGMuKQorCitBIGtlcm5lbCBzdWJzeXN0ZW0gY2FuIGVuYWJsZSBkYXRhIGludGVncml0eSBwcm90ZWN0aW9uIG9uIGEgYmlvIGJ5CitjYWxsaW5nIGJpb19pbnRlZ3JpdHlfYWxsb2MoYmlvKS4gIFRoaXMgd2lsbCBhbGxvY2F0ZSBhbmQgYXR0YWNoIHRoZQorYmlwIHRvIHRoZSBiaW8uCisKK0luZGl2aWR1YWwgcGFnZXMgY29udGFpbmluZyBpbnRlZ3JpdHkgbWV0YWRhdGEgY2FuIHN1YnNlcXVlbnRseSBiZQorYXR0YWNoZWQgdXNpbmcgYmlvX2ludGVncml0eV9hZGRfcGFnZSgpLgorCitiaW9fZnJlZSgpIHdpbGwgYXV0b21hdGljYWxseSBmcmVlIHRoZSBiaXAuCisKKworNC4yIEJMT0NLIERFVklDRQorCitCZWNhdXNlIHRoZSBmb3JtYXQgb2YgdGhlIHByb3RlY3Rpb24gZGF0YSBpcyB0aWVkIHRvIHRoZSBwaHlzaWNhbAorZGlzaywgZWFjaCBibG9jayBkZXZpY2UgaGFzIGJlZW4gZXh0ZW5kZWQgd2l0aCBhIGJsb2NrIGludGVncml0eQorcHJvZmlsZSAoc3RydWN0IGJsa19pbnRlZ3JpdHkpLiAgVGhpcyBvcHRpb25hbCBwcm9maWxlIGlzIHJlZ2lzdGVyZWQKK3dpdGggdGhlIGJsb2NrIGxheWVyIHVzaW5nIGJsa19pbnRlZ3JpdHlfcmVnaXN0ZXIoKS4KKworVGhlIHByb2ZpbGUgY29udGFpbnMgY2FsbGJhY2sgZnVuY3Rpb25zIGZvciBnZW5lcmF0aW5nIGFuZCB2ZXJpZnlpbmcKK3RoZSBwcm90ZWN0aW9uIGRhdGEsIGFzIHdlbGwgYXMgZ2V0dGluZyBhbmQgc2V0dGluZyBhcHBsaWNhdGlvbiB0YWdzLgorVGhlIHByb2ZpbGUgYWxzbyBjb250YWlucyBhIGZldyBjb25zdGFudHMgdG8gYWlkIGluIGNvbXBsZXRpbmcsCittZXJnaW5nIGFuZCBzcGxpdHRpbmcgdGhlIGludGVncml0eSBtZXRhZGF0YS4KKworTGF5ZXJlZCBibG9jayBkZXZpY2VzIHdpbGwgbmVlZCB0byBwaWNrIGEgcHJvZmlsZSB0aGF0J3MgYXBwcm9wcmlhdGUKK2ZvciBhbGwgc3ViZGV2aWNlcy4gIGJsa19pbnRlZ3JpdHlfY29tcGFyZSgpIGNhbiBoZWxwIHdpdGggdGhhdC4gIERNCithbmQgTUQgbGluZWFyLCBSQUlEMCBhbmQgUkFJRDEgYXJlIGN1cnJlbnRseSBzdXBwb3J0ZWQuICBSQUlENC81LzYKK3dpbGwgcmVxdWlyZSBleHRyYSB3b3JrIGR1ZSB0byB0aGUgYXBwbGljYXRpb24gdGFnLgorCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKzUuMCBCTE9DSyBMQVlFUiBJTlRFR1JJVFkgQVBJCisKKzUuMSBOT1JNQUwgRklMRVNZU1RFTQorCisgICAgVGhlIG5vcm1hbCBmaWxlc3lzdGVtIGlzIHVuYXdhcmUgdGhhdCB0aGUgdW5kZXJseWluZyBibG9jayBkZXZpY2UKKyAgICBpcyBjYXBhYmxlIG9mIHNlbmRpbmcvcmVjZWl2aW5nIGludGVncml0eSBtZXRhZGF0YS4gIFRoZSBJTUQgd2lsbAorICAgIGJlIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGJ5IHRoZSBibG9jayBsYXllciBhdCBzdWJtaXRfYmlvKCkgdGltZQorICAgIGluIGNhc2Ugb2YgYSBXUklURS4gIEEgUkVBRCByZXF1ZXN0IHdpbGwgY2F1c2UgdGhlIEkvTyBpbnRlZ3JpdHkKKyAgICB0byBiZSB2ZXJpZmllZCB1cG9uIGNvbXBsZXRpb24uCisKKyAgICBJTUQgZ2VuZXJhdGlvbiBhbmQgdmVyaWZpY2F0aW9uIGNhbiBiZSB0b2dnbGVkIHVzaW5nIHRoZQorCisgICAgICAvc3lzL2Jsb2NrLzxiZGV2Pi9pbnRlZ3JpdHkvd3JpdGVfZ2VuZXJhdGUKKworICAgIGFuZAorCisgICAgICAvc3lzL2Jsb2NrLzxiZGV2Pi9pbnRlZ3JpdHkvcmVhZF92ZXJpZnkKKworICAgIGZsYWdzLgorCisKKzUuMiBJTlRFR1JJVFktQVdBUkUgRklMRVNZU1RFTQorCisgICAgQSBmaWxlc3lzdGVtIHRoYXQgaXMgaW50ZWdyaXR5LWF3YXJlIGNhbiBwcmVwYXJlIEkvT3Mgd2l0aCBJTUQKKyAgICBhdHRhY2hlZC4gIEl0IGNhbiBhbHNvIHVzZSB0aGUgYXBwbGljYXRpb24gdGFnIHNwYWNlIGlmIHRoaXMgaXMKKyAgICBzdXBwb3J0ZWQgYnkgdGhlIGJsb2NrIGRldmljZS4KKworCisgICAgaW50IGJkZXZfaW50ZWdyaXR5X2VuYWJsZWQoYmxvY2tfZGV2aWNlLCBpbnQgcncpOworCisgICAgICBiZGV2X2ludGVncml0eV9lbmFibGVkKCkgd2lsbCByZXR1cm4gMSBpZiB0aGUgYmxvY2sgZGV2aWNlCisgICAgICBzdXBwb3J0cyBpbnRlZ3JpdHkgbWV0YWRhdGEgdHJhbnNmZXIgZm9yIHRoZSBkYXRhIGRpcmVjdGlvbgorICAgICAgc3BlY2lmaWVkIGluICdydycuCisKKyAgICAgIGJkZXZfaW50ZWdyaXR5X2VuYWJsZWQoKSBob25vcnMgdGhlIHdyaXRlX2dlbmVyYXRlIGFuZAorICAgICAgcmVhZF92ZXJpZnkgZmxhZ3MgaW4gc3lzZnMgYW5kIHdpbGwgcmVzcG9uZCBhY2NvcmRpbmdseS4KKworCisgICAgaW50IGJpb19pbnRlZ3JpdHlfcHJlcChiaW8pOworCisgICAgICBUbyBnZW5lcmF0ZSBJTUQgZm9yIFdSSVRFIGFuZCB0byBzZXQgdXAgYnVmZmVycyBmb3IgUkVBRCwgdGhlCisgICAgICBmaWxlc3lzdGVtIG11c3QgY2FsbCBiaW9faW50ZWdyaXR5X3ByZXAoYmlvKS4KKworICAgICAgUHJpb3IgdG8gY2FsbGluZyB0aGlzIGZ1bmN0aW9uLCB0aGUgYmlvIGRhdGEgZGlyZWN0aW9uIGFuZCBzdGFydAorICAgICAgc2VjdG9yIG11c3QgYmUgc2V0LCBhbmQgdGhlIGJpbyBzaG91bGQgaGF2ZSBhbGwgZGF0YSBwYWdlcworICAgICAgYWRkZWQuICBJdCBpcyB1cCB0byB0aGUgY2FsbGVyIHRvIGVuc3VyZSB0aGF0IHRoZSBiaW8gZG9lcyBub3QKKyAgICAgIGNoYW5nZSB3aGlsZSBJL08gaXMgaW4gcHJvZ3Jlc3MuCisKKyAgICAgIGJpb19pbnRlZ3JpdHlfcHJlcCgpIHNob3VsZCBvbmx5IGJlIGNhbGxlZCBpZgorICAgICAgYmlvX2ludGVncml0eV9lbmFibGVkKCkgcmV0dXJuZWQgMS4KKworCisgICAgaW50IGJpb19pbnRlZ3JpdHlfdGFnX3NpemUoYmlvKTsKKworICAgICAgSWYgdGhlIGZpbGVzeXN0ZW0gd2FudHMgdG8gdXNlIHRoZSBhcHBsaWNhdGlvbiB0YWcgc3BhY2UgaXQgd2lsbAorICAgICAgZmlyc3QgaGF2ZSB0byBmaW5kIG91dCBob3cgbXVjaCBzdG9yYWdlIHNwYWNlIGlzIGF2YWlsYWJsZS4KKyAgICAgIEJlY2F1c2UgdGFnIHNwYWNlIGlzIGdlbmVyYWxseSBsaW1pdGVkICh1c3VhbGx5IDIgYnl0ZXMgcGVyCisgICAgICBzZWN0b3IgcmVnYXJkbGVzcyBvZiBzZWN0b3Igc2l6ZSksIHRoZSBpbnRlZ3JpdHkgZnJhbWV3b3JrCisgICAgICBzdXBwb3J0cyBpbnRlcmxlYXZpbmcgdGhlIGluZm9ybWF0aW9uIGJldHdlZW4gdGhlIHNlY3RvcnMgaW4gYW4KKyAgICAgIEkvTy4KKworICAgICAgRmlsZXN5c3RlbXMgY2FuIGNhbGwgYmlvX2ludGVncml0eV90YWdfc2l6ZShiaW8pIHRvIGZpbmQgb3V0IGhvdworICAgICAgbWFueSBieXRlcyBvZiBzdG9yYWdlIGFyZSBhdmFpbGFibGUgZm9yIHRoYXQgcGFydGljdWxhciBiaW8uCisKKyAgICAgIEFub3RoZXIgb3B0aW9uIGlzIGJkZXZfZ2V0X3RhZ19zaXplKGJsb2NrX2RldmljZSkgd2hpY2ggd2lsbAorICAgICAgcmV0dXJuIHRoZSBudW1iZXIgb2YgYXZhaWxhYmxlIGJ5dGVzIHBlciBoYXJkd2FyZSBzZWN0b3IuCisKKworICAgIGludCBiaW9faW50ZWdyaXR5X3NldF90YWcoYmlvLCB2b2lkICp0YWdfYnVmLCBsZW4pOworCisgICAgICBBZnRlciBhIHN1Y2Nlc3NmdWwgcmV0dXJuIGZyb20gYmlvX2ludGVncml0eV9wcmVwKCksCisgICAgICBiaW9faW50ZWdyaXR5X3NldF90YWcoKSBjYW4gYmUgdXNlZCB0byBhdHRhY2ggYW4gb3BhcXVlIHRhZworICAgICAgYnVmZmVyIHRvIGEgYmlvLiAgT2J2aW91c2x5IHRoaXMgb25seSBtYWtlcyBzZW5zZSBpZiB0aGUgSS9PIGlzCisgICAgICBhIFdSSVRFLgorCisKKyAgICBpbnQgYmlvX2ludGVncml0eV9nZXRfdGFnKGJpbywgdm9pZCAqdGFnX2J1ZiwgbGVuKTsKKworICAgICAgU2ltaWxhcmx5LCBhdCBSRUFEIEkvTyBjb21wbGV0aW9uIHRpbWUgdGhlIGZpbGVzeXN0ZW0gY2FuCisgICAgICByZXRyaWV2ZSB0aGUgdGFnIGJ1ZmZlciB1c2luZyBiaW9faW50ZWdyaXR5X2dldF90YWcoKS4KKworCis2LjMgUEFTU0lORyBFWElTVElORyBJTlRFR1JJVFkgTUVUQURBVEEKKworICAgIEZpbGVzeXN0ZW1zIHRoYXQgZWl0aGVyIGdlbmVyYXRlIHRoZWlyIG93biBpbnRlZ3JpdHkgbWV0YWRhdGEgb3IKKyAgICBhcmUgY2FwYWJsZSBvZiB0cmFuc2ZlcnJpbmcgSU1EIGZyb20gdXNlciBzcGFjZSBjYW4gdXNlIHRoZQorICAgIGZvbGxvd2luZyBjYWxsczoKKworCisgICAgc3RydWN0IGJpcCAqIGJpb19pbnRlZ3JpdHlfYWxsb2MoYmlvLCBnZnBfbWFzaywgbnJfcGFnZXMpOworCisgICAgICBBbGxvY2F0ZXMgdGhlIGJpbyBpbnRlZ3JpdHkgcGF5bG9hZCBhbmQgaGFuZ3MgaXQgb2ZmIG9mIHRoZSBiaW8uCisgICAgICBucl9wYWdlcyBpbmRpY2F0ZSBob3cgbWFueSBwYWdlcyBvZiBwcm90ZWN0aW9uIGRhdGEgbmVlZCB0byBiZQorICAgICAgc3RvcmVkIGluIHRoZSBpbnRlZ3JpdHkgYmlvX3ZlYyBsaXN0IChzaW1pbGFyIHRvIGJpb19hbGxvYygpKS4KKworICAgICAgVGhlIGludGVncml0eSBwYXlsb2FkIHdpbGwgYmUgZnJlZWQgYXQgYmlvX2ZyZWUoKSB0aW1lLgorCisKKyAgICBpbnQgYmlvX2ludGVncml0eV9hZGRfcGFnZShiaW8sIHBhZ2UsIGxlbiwgb2Zmc2V0KTsKKworICAgICAgQXR0YWNoZXMgYSBwYWdlIGNvbnRhaW5pbmcgaW50ZWdyaXR5IG1ldGFkYXRhIHRvIGFuIGV4aXN0aW5nCisgICAgICBiaW8uICBUaGUgYmlvIG11c3QgaGF2ZSBhbiBleGlzdGluZyBiaXAsCisgICAgICBpLmUuIGJpb19pbnRlZ3JpdHlfYWxsb2MoKSBtdXN0IGhhdmUgYmVlbiBjYWxsZWQuICBGb3IgYSBXUklURSwKKyAgICAgIHRoZSBpbnRlZ3JpdHkgbWV0YWRhdGEgaW4gdGhlIHBhZ2VzIG11c3QgYmUgaW4gYSBmb3JtYXQKKyAgICAgIHVuZGVyc3Rvb2QgYnkgdGhlIHRhcmdldCBkZXZpY2Ugd2l0aCB0aGUgbm90YWJsZSBleGNlcHRpb24gdGhhdAorICAgICAgdGhlIHNlY3RvciBudW1iZXJzIHdpbGwgYmUgcmVtYXBwZWQgYXMgdGhlIHJlcXVlc3QgdHJhdmVyc2VzIHRoZQorICAgICAgSS9PIHN0YWNrLiAgVGhpcyBpbXBsaWVzIHRoYXQgdGhlIHBhZ2VzIGFkZGVkIHVzaW5nIHRoaXMgY2FsbAorICAgICAgd2lsbCBiZSBtb2RpZmllZCBkdXJpbmcgSS9PISAgVGhlIGZpcnN0IHJlZmVyZW5jZSB0YWcgaW4gdGhlCisgICAgICBpbnRlZ3JpdHkgbWV0YWRhdGEgbXVzdCBoYXZlIGEgdmFsdWUgb2YgYmlwLT5iaXBfc2VjdG9yLgorCisgICAgICBQYWdlcyBjYW4gYmUgYWRkZWQgdXNpbmcgYmlvX2ludGVncml0eV9hZGRfcGFnZSgpIGFzIGxvbmcgYXMKKyAgICAgIHRoZXJlIGlzIHJvb20gaW4gdGhlIGJpcCBiaW9fdmVjIGFycmF5IChucl9wYWdlcykuCisKKyAgICAgIFVwb24gY29tcGxldGlvbiBvZiBhIFJFQUQgb3BlcmF0aW9uLCB0aGUgYXR0YWNoZWQgcGFnZXMgd2lsbAorICAgICAgY29udGFpbiB0aGUgaW50ZWdyaXR5IG1ldGFkYXRhIHJlY2VpdmVkIGZyb20gdGhlIHN0b3JhZ2UgZGV2aWNlLgorICAgICAgSXQgaXMgdXAgdG8gdGhlIHJlY2VpdmVyIHRvIHByb2Nlc3MgdGhlbSBhbmQgdmVyaWZ5IGRhdGEKKyAgICAgIGludGVncml0eSB1cG9uIGNvbXBsZXRpb24uCisKKworNi40IFJFR0lTVEVSSU5HIEEgQkxPQ0sgREVWSUNFIEFTIENBUEFCTEUgT0YgRVhDSEFOR0lORyBJTlRFR1JJVFkKKyAgICBNRVRBREFUQQorCisgICAgVG8gZW5hYmxlIGludGVncml0eSBleGNoYW5nZSBvbiBhIGJsb2NrIGRldmljZSB0aGUgZ2VuZGlzayBtdXN0IGJlCisgICAgcmVnaXN0ZXJlZCBhcyBjYXBhYmxlOgorCisgICAgaW50IGJsa19pbnRlZ3JpdHlfcmVnaXN0ZXIoZ2VuZGlzaywgYmxrX2ludGVncml0eSk7CisKKyAgICAgIFRoZSBibGtfaW50ZWdyaXR5IHN0cnVjdCBpcyBhIHRlbXBsYXRlIGFuZCBzaG91bGQgY29udGFpbiB0aGUKKyAgICAgIGZvbGxvd2luZzoKKworICAgICAgICBzdGF0aWMgc3RydWN0IGJsa19pbnRlZ3JpdHkgbXlfcHJvZmlsZSA9IHsKKyAgICAgICAgICAgIC5uYW1lICAgICAgICAgICAgICAgICAgID0gIlNUQU5EQVJEU0JPRFktVFlQRS1WQVJJQU5ULUNTVU0iLAorICAgICAgICAgICAgLmdlbmVyYXRlX2ZuICAgICAgICAgICAgPSBteV9nZW5lcmF0ZV9mbiwKKyAgICAgICAJICAgIC52ZXJpZnlfZm4gICAgICAgICAgICAgID0gbXlfdmVyaWZ5X2ZuLAorICAgICAgIAkgICAgLmdldF90YWdfZm4gICAgICAgICAgICAgPSBteV9nZXRfdGFnX2ZuLAorICAgICAgIAkgICAgLnNldF90YWdfZm4gICAgICAgICAgICAgPSBteV9zZXRfdGFnX2ZuLAorCSAgICAudHVwbGVfc2l6ZSAgICAgICAgICAgICA9IHNpemVvZihzdHJ1Y3QgbXlfdHVwbGVfc2l6ZSksCisJICAgIC50YWdfc2l6ZSAgICAgICAgICAgICAgID0gPHRhZyBieXRlcyBwZXIgaHcgc2VjdG9yPiwKKyAgICAgICAgfTsKKworICAgICAgJ25hbWUnIGlzIGEgdGV4dCBzdHJpbmcgd2hpY2ggd2lsbCBiZSB2aXNpYmxlIGluIHN5c2ZzLiAgVGhpcyBpcworICAgICAgcGFydCBvZiB0aGUgdXNlcmxhbmQgQVBJIHNvIGNob3NlIGl0IGNhcmVmdWxseSBhbmQgbmV2ZXIgY2hhbmdlCisgICAgICBpdC4gIFRoZSBmb3JtYXQgaXMgc3RhbmRhcmRzIGJvZHktdHlwZS12YXJpYW50LgorICAgICAgRS5nLiBUMTAtRElGLVRZUEUxLUlQIG9yIFQxMy1FUFAtMC1DUkMuCisKKyAgICAgICdnZW5lcmF0ZV9mbicgZ2VuZXJhdGVzIGFwcHJvcHJpYXRlIGludGVncml0eSBtZXRhZGF0YSAoZm9yIFdSSVRFKS4KKworICAgICAgJ3ZlcmlmeV9mbicgdmVyaWZpZXMgdGhhdCB0aGUgZGF0YSBidWZmZXIgbWF0Y2hlcyB0aGUgaW50ZWdyaXR5CisgICAgICBtZXRhZGF0YS4KKworICAgICAgJ3R1cGxlX3NpemUnIG11c3QgYmUgc2V0IHRvIG1hdGNoIHRoZSBzaXplIG9mIHRoZSBpbnRlZ3JpdHkKKyAgICAgIG1ldGFkYXRhIHBlciBzZWN0b3IuICBJLmUuIDggZm9yIERJRiBhbmQgRVBQLgorCisgICAgICAndGFnX3NpemUnIG11c3QgYmUgc2V0IHRvIGlkZW50aWZ5IGhvdyBtYW55IGJ5dGVzIG9mIHRhZyBzcGFjZQorICAgICAgYXJlIGF2YWlsYWJsZSBwZXIgaGFyZHdhcmUgc2VjdG9yLiAgRm9yIERJRiB0aGlzIGlzIGVpdGhlciAyIG9yCisgICAgICAwIGRlcGVuZGluZyBvbiB0aGUgdmFsdWUgb2YgdGhlIENvbnRyb2wgTW9kZSBQYWdlIEFUTyBiaXQuCisKKyAgICAgIFNlZSA2LjIgZm9yIGEgZGVzY3JpcHRpb24gb2YgZ2V0X3RhZ19mbiBhbmQgc2V0X3RhZ19mbi4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorMjAwNy0xMi0yNCBNYXJ0aW4gSy4gUGV0ZXJzZW4gPG1hcnRpbi5wZXRlcnNlbkBvcmFjbGUuY29tPgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9jcHV0b3BvbG9neS50eHQgYi9Eb2N1bWVudGF0aW9uL2NwdXRvcG9sb2d5LnR4dAppbmRleCBiNjFjYjk1Li5iZDY5OWRhIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2NwdXRvcG9sb2d5LnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2NwdXRvcG9sb2d5LnR4dApAQCAtMTQsOSArMTQsOCBAQAogVG8gaW1wbGVtZW50IGl0IGluIGFuIGFyY2hpdGVjdHVyZS1uZXV0cmFsIHdheSwgYSBuZXcgc291cmNlIGZpbGUsCiBkcml2ZXJzL2Jhc2UvdG9wb2xvZ3kuYywgaXMgdG8gZXhwb3J0IHRoZSA0IGF0dHJpYnV0ZXMuCiAKLUlmIG9uZSBhcmNoaXRlY3R1cmUgd2FudHMgdG8gc3VwcG9ydCB0aGlzIGZlYXR1cmUsIGl0IGp1c3QgbmVlZHMgdG8KLWltcGxlbWVudCA0IGRlZmluZXMsIHR5cGljYWxseSBpbiBmaWxlIGluY2x1ZGUvYXNtLVhYWC90b3BvbG9neS5oLgotVGhlIDQgZGVmaW5lcyBhcmU6CitGb3IgYW4gYXJjaGl0ZWN0dXJlIHRvIHN1cHBvcnQgdGhpcyBmZWF0dXJlLCBpdCBtdXN0IGRlZmluZSBzb21lIG9mCit0aGVzZSBtYWNyb3MgaW4gaW5jbHVkZS9hc20tWFhYL3RvcG9sb2d5Lmg6CiAjZGVmaW5lIHRvcG9sb2d5X3BoeXNpY2FsX3BhY2thZ2VfaWQoY3B1KQogI2RlZmluZSB0b3BvbG9neV9jb3JlX2lkKGNwdSkKICNkZWZpbmUgdG9wb2xvZ3lfdGhyZWFkX3NpYmxpbmdzKGNwdSkKQEAgLTI1LDE3ICsyNCwxMCBAQAogVGhlIHR5cGUgb2YgKipfaWQgaXMgaW50LgogVGhlIHR5cGUgb2Ygc2libGluZ3MgaXMgY3B1bWFza190LgogCi1UbyBiZSBjb25zaXN0ZW50IG9uIGFsbCBhcmNoaXRlY3R1cmVzLCB0aGUgNCBhdHRyaWJ1dGVzIHNob3VsZCBoYXZlCi1kZWZhdWx0IHZhbHVlcyBpZiB0aGVpciB2YWx1ZXMgYXJlIHVuYXZhaWxhYmxlLiBCZWxvdyBpcyB0aGUgcnVsZS4KLTEpIHBoeXNpY2FsX3BhY2thZ2VfaWQ6IElmIGNwdSBoYXMgbm8gcGh5c2ljYWwgcGFja2FnZSBpZCwgLTEgaXMgdGhlCi1kZWZhdWx0IHZhbHVlLgotMikgY29yZV9pZDogSWYgY3B1IGRvZXNuJ3Qgc3VwcG9ydCBtdWx0aS1jb3JlLCBpdHMgY29yZSBpZCBpcyAwLgotMykgdGhyZWFkX3NpYmxpbmdzOiBKdXN0IGluY2x1ZGUgaXRzZWxmLCBpZiB0aGUgY3B1IGRvZXNuJ3Qgc3VwcG9ydAotSFQvbXVsdGktdGhyZWFkLgotNCkgY29yZV9zaWJsaW5nczogSnVzdCBpbmNsdWRlIGl0c2VsZiwgaWYgdGhlIGNwdSBkb2Vzbid0IHN1cHBvcnQKLW11bHRpLWNvcmUgYW5kIEhUL011bHRpLXRocmVhZC4KLQotU28gYmUgY2FyZWZ1bCB3aGVuIGRlY2xhcmluZyB0aGUgNCBkZWZpbmVzIGluIGluY2x1ZGUvYXNtLVhYWC90b3BvbG9neS5oLgotCi1JZiBhbiBhdHRyaWJ1dGUgaXNuJ3QgZGVmaW5lZCBvbiBhbiBhcmNoaXRlY3R1cmUsIGl0IHdvbid0IGJlIGV4cG9ydGVkLgotCitUbyBiZSBjb25zaXN0ZW50IG9uIGFsbCBhcmNoaXRlY3R1cmVzLCBpbmNsdWRlL2xpbnV4L3RvcG9sb2d5LmgKK3Byb3ZpZGVzIGRlZmF1bHQgZGVmaW5pdGlvbnMgZm9yIGFueSBvZiB0aGUgYWJvdmUgbWFjcm9zIHRoYXQgYXJlCitub3QgZGVmaW5lZCBieSBpbmNsdWRlL2FzbS1YWFgvdG9wb2xvZ3kuaDoKKzEpIHBoeXNpY2FsX3BhY2thZ2VfaWQ6IC0xCisyKSBjb3JlX2lkOiAwCiszKSB0aHJlYWRfc2libGluZ3M6IGp1c3QgdGhlIGdpdmVuIENQVQorNCkgY29yZV9zaWJsaW5nczoganVzdCB0aGUgZ2l2ZW4gQ1BVCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2ZlYXR1cmUtcmVtb3ZhbC1zY2hlZHVsZS50eHQgYi9Eb2N1bWVudGF0aW9uL2ZlYXR1cmUtcmVtb3ZhbC1zY2hlZHVsZS50eHQKaW5kZXggNDZlY2UzZi4uNjVhMTQ4MiAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9mZWF0dXJlLXJlbW92YWwtc2NoZWR1bGUudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZmVhdHVyZS1yZW1vdmFsLXNjaGVkdWxlLnR4dApAQCAtMjIyLDEzICsyMjIsNiBAQAogCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAotV2hhdDoJaTJjLWk4MTAsIGkyYy1wcm9zYXZhZ2UgYW5kIGkyYy1zYXZhZ2U0Ci1XaGVuOglNYXkgMjAwOAotV2h5OglUaGVzZSBkcml2ZXJzIGFyZSBzdXBlcnNlZGVkIGJ5IGk4MTBmYiwgaW50ZWxmYiBhbmQgc2F2YWdlZmIuCi1XaG86CUplYW4gRGVsdmFyZSA8a2hhbGlAbGludXgtZnIub3JnPgotCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLQogV2hhdCAoV2h5KToKIAktIGluY2x1ZGUvbGludXgvbmV0ZmlsdGVyX2lwdjQvaXB0X1RPUy5oIGlwdF90b3MuaCBoZWFkZXIgZmlsZXMKIAkgIChzdXBlcnNlZGVkIGJ5IHh0X1RPUy94dF90b3MgdGFyZ2V0ICYgbWF0Y2gpCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2ZpbGVzeXN0ZW1zL2V4dDQudHh0IGIvRG9jdW1lbnRhdGlvbi9maWxlc3lzdGVtcy9leHQ0LnR4dAppbmRleCAwYzUwODZkYi4uODBlMTkzZCAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9maWxlc3lzdGVtcy9leHQ0LnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2ZpbGVzeXN0ZW1zL2V4dDQudHh0CkBAIC0xMyw3MiArMTMsOTMgQEAKIDEuIFF1aWNrIHVzYWdlIGluc3RydWN0aW9uczoKID09PT09PT09PT09PT09PT09PT09PT09PT09PQogCi0gIC0gR3JhYiB1cGRhdGVkIGUyZnNwcm9ncyBmcm9tCi0gICAgZnRwOi8vZnRwLmtlcm5lbC5vcmcvcHViL2xpbnV4L2tlcm5lbC9wZW9wbGUvdHl0c28vZTJmc3Byb2dzLWludGVyaW0vCi0gICAgVGhpcyBpcyBhIHBhdGNoc2V0IG9uIHRvcCBvZiBlMmZzcHJvZ3MtMS4zOSwgd2hpY2ggY2FuIGJlIGZvdW5kIGF0CisgIC0gQ29tcGlsZSBhbmQgaW5zdGFsbCB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgZTJmc3Byb2dzIChhcyBvZiB0aGlzCisgICAgd3JpdGluZyB2ZXJzaW9uIDEuNDEpIGZyb206CisKKyAgICBodHRwOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3Qvc2hvd2ZpbGVzLnBocD9ncm91cF9pZD0yNDA2CisJCisJb3IKKwogICAgIGZ0cDovL2Z0cC5rZXJuZWwub3JnL3B1Yi9saW51eC9rZXJuZWwvcGVvcGxlL3R5dHNvL2UyZnNwcm9ncy8KIAotICAtIEl0J3Mgc3RpbGwgbWtlMmZzIC1qIC9kZXYvaGRhMQorCW9yIGdyYWIgdGhlIGxhdGVzdCBnaXQgcmVwb3NpdG9yeSBmcm9tOgogCi0gIC0gbW91bnQgL2Rldi9oZGExIC93aGVyZXZlciAtdCBleHQ0ZGV2CisgICAgZ2l0Oi8vZ2l0Lmtlcm5lbC5vcmcvcHViL3NjbS9mcy9leHQyL2UyZnNwcm9ncy5naXQKIAotICAtIFRvIGVuYWJsZSBleHRlbnRzLAorICAtIENyZWF0ZSBhIG5ldyBmaWxlc3lzdGVtIHVzaW5nIHRoZSBleHQ0ZGV2IGZpbGVzeXN0ZW0gdHlwZToKIAotCW1vdW50IC9kZXYvaGRhMSAvd2hlcmV2ZXIgLXQgZXh0NGRldiAtbyBleHRlbnRzCisgICAgCSMgbWtlMmZzIC10IGV4dDRkZXYgL2Rldi9oZGExCiAKLSAgLSBUaGUgZmlsZXN5c3RlbSBpcyBjb21wYXRpYmxlIHdpdGggdGhlIGV4dDMgZHJpdmVyIHVudGlsIHlvdSBhZGQgYSBmaWxlCi0gICAgd2hpY2ggaGFzIGV4dGVudHMgKGllOiBgbW91bnQgLW8gZXh0ZW50cycsIHRoZW4gY3JlYXRlIGEgZmlsZSkuCisgICAgT3IgY29uZmlndXJlIGFuIGV4aXN0aW5nIGV4dDMgZmlsZXN5c3RlbSB0byBzdXBwb3J0IGV4dGVudHMgYW5kIHNldAorICAgIHRoZSB0ZXN0X2ZzIGZsYWcgdG8gaW5kaWNhdGUgdGhhdCBpdCdzIG9rIGZvciBhbiBpbi1kZXZlbG9wbWVudAorICAgIGZpbGVzeXN0ZW0gdG8gdG91Y2ggdGhpcyBmaWxlc3lzdGVtOgogCi0gICAgTk9URTogVGhlICJleHRlbnRzIiBtb3VudCBmbGFnIGlzIHRlbXBvcmFyeS4gIEl0IHdpbGwgc29vbiBnbyBhd2F5IGFuZAotICAgIGV4dGVudHMgd2lsbCBiZSBlbmFibGVkIGJ5IHRoZSAiLW8gZXh0ZW50cyIgZmxhZyB0byBta2UyZnMgb3IgdHVuZTJmcworCSMgdHVuZTJmcyAtTyBleHRlbnRzIC1FIHRlc3RfZnMgL2Rldi9oZGExCisKKyAgICBJZiB0aGUgZmlsZXN5c3RlbSB3YXMgY3JlYXRlZCB3aXRoIDEyOCBieXRlIGlub2RlcywgaXQgY2FuIGJlCisgICAgY29udmVydGVkIHRvIHVzZSAyNTYgYnl0ZSBmb3IgZ3JlYXRlciBlZmZpY2llbmN5IHZpYToKKworICAgICAgICAjIHR1bmUyZnMgLUkgMjU2IC9kZXYvaGRhMQorCisgICAgKE5vdGU6IHdlIGN1cnJlbnRseSBkbyBub3QgaGF2ZSB0b29scyB0byBjb252ZXJ0IGFuIGV4dDRkZXYKKyAgICBmaWxlc3lzdGVtIGJhY2sgdG8gZXh0Mzsgc28gcGxlYXNlIGRvIG5vdCBkbyB0cnkgdGhpcyBvbiBwcm9kdWN0aW9uCisgICAgZmlsZXN5c3RlbXMuKQorCisgIC0gTW91bnRpbmc6CisKKwkjIG1vdW50IC10IGV4dDRkZXYgL2Rldi9oZGExIC93aGVyZXZlcgogCiAgIC0gV2hlbiBjb21wYXJpbmcgcGVyZm9ybWFuY2Ugd2l0aCBvdGhlciBmaWxlc3lzdGVtcywgcmVtZW1iZXIgdGhhdAotICAgIGV4dDMvNCBieSBkZWZhdWx0IG9mZmVycyBoaWdoZXIgZGF0YSBpbnRlZ3JpdHkgZ3VhcmFudGVlcyB0aGFuIG1vc3QuICBTbwotICAgIHdoZW4gY29tcGFyaW5nIHdpdGggYSBtZXRhZGF0YS1vbmx5IGpvdXJuYWxsaW5nIGZpbGVzeXN0ZW0sIHVzZSBgbW91bnQgLW8KLSAgICBkYXRhPXdyaXRlYmFjaycuICBBbmQgeW91IG1pZ2h0IGFzIHdlbGwgdXNlIGBtb3VudCAtbyBub2JoJyB0b28gYWxvbmcKLSAgICB3aXRoIGl0LiAgTWFraW5nIHRoZSBqb3VybmFsIGxhcmdlciB0aGFuIHRoZSBta2UyZnMgZGVmYXVsdCBvZnRlbiBoZWxwcwotICAgIHBlcmZvcm1hbmNlIHdpdGggbWV0YWRhdGEtaW50ZW5zaXZlIHdvcmtsb2Fkcy4KKyAgICBleHQzLzQgYnkgZGVmYXVsdCBvZmZlcnMgaGlnaGVyIGRhdGEgaW50ZWdyaXR5IGd1YXJhbnRlZXMgdGhhbiBtb3N0LgorICAgIFNvIHdoZW4gY29tcGFyaW5nIHdpdGggYSBtZXRhZGF0YS1vbmx5IGpvdXJuYWxsaW5nIGZpbGVzeXN0ZW0sIHN1Y2gKKyAgICBhcyBleHQzLCB1c2UgYG1vdW50IC1vIGRhdGE9d3JpdGViYWNrJy4gIEFuZCB5b3UgbWlnaHQgYXMgd2VsbCB1c2UKKyAgICBgbW91bnQgLW8gbm9iaCcgdG9vIGFsb25nIHdpdGggaXQuICBNYWtpbmcgdGhlIGpvdXJuYWwgbGFyZ2VyIHRoYW4KKyAgICB0aGUgbWtlMmZzIGRlZmF1bHQgb2Z0ZW4gaGVscHMgcGVyZm9ybWFuY2Ugd2l0aCBtZXRhZGF0YS1pbnRlbnNpdmUKKyAgICB3b3JrbG9hZHMuCiAKIDIuIEZlYXR1cmVzCiA9PT09PT09PT09PQogCiAyLjEgQ3VycmVudGx5IGF2YWlsYWJsZQogCi0qIGFiaWxpdHkgdG8gdXNlIGZpbGVzeXN0ZW1zID4gMTZUQgorKiBhYmlsaXR5IHRvIHVzZSBmaWxlc3lzdGVtcyA+IDE2VEIgKGUyZnNwcm9ncyBzdXBwb3J0IG5vdCBhdmFpbGFibGUgeWV0KQogKiBleHRlbnQgZm9ybWF0IHJlZHVjZXMgbWV0YWRhdGEgb3ZlcmhlYWQgKFJBTSwgSU8gZm9yIGFjY2VzcywgdHJhbnNhY3Rpb25zKQogKiBleHRlbnQgZm9ybWF0IG1vcmUgcm9idXN0IGluIGZhY2Ugb2Ygb24tZGlzayBjb3JydXB0aW9uIGR1ZSB0byBtYWdpY3MsCiAqIGludGVybmFsIHJlZHVuYW5jeSBpbiB0cmVlCi0KLTIuMSBQcmV2aW91c2x5IGF2YWlsYWJsZSwgc29vbiB0byBiZSBlbmFibGVkIGJ5IGRlZmF1bHQgYnkgIm1rZWZzLmV4dDQiOgotCi0qIGRpcl9pbmRleCBhbmQgcmVzaXplIGlub2RlIHdpbGwgYmUgb24gYnkgZGVmYXVsdAotKiBsYXJnZSBpbm9kZXMgd2lsbCBiZSB1c2VkIGJ5IGRlZmF1bHQgZm9yIGZhc3QgRUFzLCBuc2VjIHRpbWVzdGFtcHMsIGV0YworKiBpbXByb3ZlZCBmaWxlIGFsbG9jYXRpb24gKG11bHRpLWJsb2NrIGFsbG9jKQorKiBmaXggMzIwMDAgc3ViZGlyZWN0b3J5IGxpbWl0CisqIG5zZWMgdGltZXN0YW1wcyBmb3IgbXRpbWUsIGF0aW1lLCBjdGltZSwgY3JlYXRlIHRpbWUKKyogaW5vZGUgdmVyc2lvbiBmaWVsZCBvbiBkaXNrIChORlN2NCwgTHVzdHJlKQorKiByZWR1Y2VkIGUyZnNjayB0aW1lIHZpYSB1bmluaXRfYmcgZmVhdHVyZQorKiBqb3VybmFsIGNoZWNrc3VtbWluZyBmb3Igcm9idXN0bmVzcywgcGVyZm9ybWFuY2UKKyogcGVyc2lzdGVudCBmaWxlIHByZWFsbG9jYXRpb24gKGUuZyBmb3Igc3RyZWFtaW5nIG1lZGlhLCBkYXRhYmFzZXMpCisqIGFiaWxpdHkgdG8gcGFjayBiaXRtYXBzIGFuZCBpbm9kZSB0YWJsZXMgaW50byBsYXJnZXIgdmlydHVhbCBncm91cHMgdmlhIHRoZQorICBmbGV4X2JnIGZlYXR1cmUKKyogbGFyZ2UgZmlsZSBzdXBwb3J0CisqIElub2RlIGFsbG9jYXRpb24gdXNpbmcgbGFyZ2UgdmlydHVhbCBibG9jayBncm91cHMgdmlhIGZsZXhfYmcKKyogZGVsYXllZCBhbGxvY2F0aW9uCisqIGxhcmdlIGJsb2NrICh1cCB0byBwYWdlc2l6ZSkgc3VwcG9ydAorKiBlZmZpY2VudCBuZXcgb3JkZXJlZCBtb2RlIGluIEpCRDIgYW5kIGV4dDQoYXZvaWQgdXNpbmcgYnVmZmVyIGhlYWQgdG8gZm9yY2UKKyAgdGhlIG9yZGVyaW5nKQogCiAyLjIgQ2FuZGlkYXRlIGZlYXR1cmVzIGZvciBmdXR1cmUgaW5jbHVzaW9uCiAKLVRoZXJlIGFyZSBzZXZlcmFsIHVuZGVyIGRpc2N1c3Npb24sIHdoZXRoZXIgdGhleSBhbGwgbWFrZSBpdCBpbiBpcwotcGFydGx5IGEgZnVuY3Rpb24gb2YgaG93IG11Y2ggdGltZSBldmVyeW9uZSBoYXMgdG8gd29yayBvbiB0aGVtOgorKiBPbmxpbmUgZGVmcmFnIChwYXRjaGVzIGF2YWlsYWJsZSBidXQgbm90IHdlbGwgdGVzdGVkKQorKiByZWR1Y2VkIG1rZTJmcyB0aW1lIHZpYSBsYXp5IGl0YWJsZSBpbml0aWFsaXphdGlvbiBpbiBjb25qdWN0aW9uIHdpdGgKKyAgdGhlIHVuaW5pdF9iZyBmZWF0dXJlIChjYXBhYmlsaXR5IHRvIGRvIHRoaXMgaXMgYXZhaWxhYmxlIGluIGUyZnNwcm9ncworICBidXQgYSBrZXJuZWwgdGhyZWFkIHRvIGRvIGxhenkgemVyb2luZyBvZiB1bnVzZWQgaW5vZGUgdGFibGUgYmxvY2tzCisgIGFmdGVyIGZpbGVzeXN0ZW0gaXMgZmlyc3QgbW91bnRlZCBpcyByZXF1aXJlZCBmb3Igc2FmZXR5KQogCi0qIGltcHJvdmVkIGZpbGUgYWxsb2NhdGlvbiAobXVsdGktYmxvY2sgYWxsb2MsIGRlbGF5ZWQgYWxsb2M7IGJhc2ljYWxseSBkb25lKQotKiBmaXggMzIwMDAgc3ViZGlyZWN0b3J5IGxpbWl0IChwYXRjaCBleGlzdHMsIG5lZWRzIHNvbWUgZTJmc2NrIHdvcmspCi0qIG5zZWMgdGltZXN0YW1wcyBmb3IgbXRpbWUsIGF0aW1lLCBjdGltZSwgY3JlYXRlIHRpbWUgKHBhdGNoIGV4aXN0cywKLSAgbmVlZHMgc29tZSBlMmZzY2sgd29yaykKLSogaW5vZGUgdmVyc2lvbiBmaWVsZCBvbiBkaXNrIChORlN2NCwgTHVzdHJlOyBwcm90b3R5cGUgZXhpc3RzKQotKiByZWR1Y2VkIG1rZTJmcy9lMmZzY2sgdGltZSB2aWEgdW5pbml0aWFsaXplZCBncm91cHMgKHByb3RvdHlwZSBleGlzdHMpCi0qIGpvdXJuYWwgY2hlY2tzdW1taW5nIGZvciByb2J1c3RuZXNzLCBwZXJmb3JtYW5jZSAocHJvdG90eXBlIGV4aXN0cykKLSogcGVyc2lzdGVudCBmaWxlIHByZWFsbG9jYXRpb24gKGUuZyBmb3Igc3RyZWFtaW5nIG1lZGlhLCBkYXRhYmFzZXMpCitUaGVyZSBhcmUgc2V2ZXJhbCBvdGhlcnMgdW5kZXIgZGlzY3Vzc2lvbiwgd2hldGhlciB0aGV5IGFsbCBtYWtlIGl0IGluIGlzCitwYXJ0bHkgYSBmdW5jdGlvbiBvZiBob3cgbXVjaCB0aW1lIGV2ZXJ5b25lIGhhcyB0byB3b3JrIG9uIHRoZW0uIEZlYXR1cmVzIGxpa2UKK21ldGFkYXRhIGNoZWNrc3VtbWluZyBoYXZlIGJlZW4gZGlzY3Vzc2VkIGFuZCBwbGFubmVkIGZvciBhIGJpdCBidXQgbm8gcGF0Y2hlcworZXhpc3QgeWV0IHNvIEknbSBub3Qgc3VyZSB0aGV5J3JlIGluIHRoZSBuZWFyLXRlcm0gcm9hZG1hcC4KIAotRmVhdHVyZXMgbGlrZSBtZXRhZGF0YSBjaGVja3N1bW1pbmcgaGF2ZSBiZWVuIGRpc2N1c3NlZCBhbmQgcGxhbm5lZCBmb3IKLWEgYml0IGJ1dCBubyBwYXRjaGVzIGV4aXN0IHlldCBzbyBJJ20gbm90IHN1cmUgdGhleSdyZSBpbiB0aGUgbmVhci10ZXJtCi1yb2FkbWFwLgorVGhlIGJpZyBwZXJmb3JtYW5jZSB3aW4gd2lsbCBjb21lIHdpdGggbWJhbGxvYywgZGVsYWxsb2MgYW5kIGZsZXhfYmcKK2dyb3VwaW5nIG9mIGJpdG1hcHMgYW5kIGlub2RlIHRhYmxlcy4gIFNvbWUgdGVzdCByZXN1bHRzIGF2YWlsYWJsZSBoZXJlOgogCi1UaGUgYmlnIHBlcmZvcm1hbmNlIHdpbiB3aWxsIGNvbWUgd2l0aCBtYmFsbG9jIGFuZCBkZWxhbGxvYy4gIENGUyBoYXMKLWJlZW4gdXNpbmcgbWJhbGxvYyBmb3IgYSBmZXcgeWVhcnMgYWxyZWFkeSB3aXRoIEx1c3RyZSwgYW5kIElCTSArIEJ1bGwKLWRpZCBhIGxvdCBvZiBiZW5jaG1hcmtpbmcgb24gaXQuICBUaGUgcmVhc29uIGl0IGlzbid0IGluIHRoZSBmaXJzdCBzZXQgb2YKLXBhdGNoZXMgaXMgcGFydGx5IGEgbWFuYWdlYWJpbGl0eSBpc3N1ZSwgYW5kIHBhcnRseSBiZWNhdXNlIGl0IGRvZXNuJ3QKLWRpcmVjdGx5IGFmZmVjdCB0aGUgb24tZGlzayBmb3JtYXQgKG91dHNpZGUgb2YgbXVjaCBiZXR0ZXIgYWxsb2NhdGlvbikKLXNvIGl0IGlzbid0IGNyaXRpY2FsIHRvIGdldCBpbnRvIHRoZSBmaXJzdCByb3VuZCBvZiBjaGFuZ2VzLiAgSSBiZWxpZXZlCi1BbGV4IGlzIHdvcmtpbmcgb24gYSBuZXcgc2V0IG9mIHBhdGNoZXMgcmlnaHQgbm93LgorIC0gaHR0cDovL3d3dy5idWxsb3BlbnNvdXJjZS5vcmcvZXh0NC8yMDA4MDUzMC9mZnNiLXdyaXRlLTIuNi4yNi1yYzIuaHRtbAorIC0gaHR0cDovL3d3dy5idWxsb3BlbnNvdXJjZS5vcmcvZXh0NC8yMDA4MDUzMC9mZnNiLXJlYWR3cml0ZS0yLjYuMjYtcmMyLmh0bWwKIAogMy4gT3B0aW9ucwogPT09PT09PT09PQpAQCAtMjIyLDkgKzI0MywxMSBAQAogCQkJdG8gdXNlIGZvciBhbGxvY2F0aW9uIHNpemUgYW5kIGFsaWdubWVudC4gRm9yIFJBSUQ1LzYKIAkJCXN5c3RlbXMgdGhpcyBzaG91bGQgYmUgdGhlIG51bWJlciBvZiBkYXRhCiAJCQlkaXNrcyAqICBSQUlEIGNodW5rIHNpemUgaW4gZmlsZSBzeXN0ZW0gYmxvY2tzLgotCitkZWxhbGxvYwkoKikJRGVmZXJyaW5nIGJsb2NrIGFsbG9jYXRpb24gdW50aWwgd3JpdGUtb3V0IHRpbWUuCitub2RlbGFsbG9jCQlEaXNhYmxlIGRlbGF5ZWQgYWxsb2NhdGlvbi4gQmxvY2tzIGFyZSBhbGxvY2F0aW9uCisJCQl3aGVuIGRhdGEgaXMgY29waWVkIGZyb20gdXNlciB0byBwYWdlIGNhY2hlLgogRGF0YSBNb2RlCi0tLS0tLS0tLS0KKz09PT09PT09PQogVGhlcmUgYXJlIDMgZGlmZmVyZW50IGRhdGEgbW9kZXM6CiAKICogd3JpdGViYWNrIG1vZGUKQEAgLTIzNiwxMCArMjU5LDEwIEBACiAKICogb3JkZXJlZCBtb2RlCiBJbiBkYXRhPW9yZGVyZWQgbW9kZSwgZXh0NCBvbmx5IG9mZmljaWFsbHkgam91cm5hbHMgbWV0YWRhdGEsIGJ1dCBpdCBsb2dpY2FsbHkKLWdyb3VwcyBtZXRhZGF0YSBhbmQgZGF0YSBibG9ja3MgaW50byBhIHNpbmdsZSB1bml0IGNhbGxlZCBhIHRyYW5zYWN0aW9uLiAgV2hlbgotaXQncyB0aW1lIHRvIHdyaXRlIHRoZSBuZXcgbWV0YWRhdGEgb3V0IHRvIGRpc2ssIHRoZSBhc3NvY2lhdGVkIGRhdGEgYmxvY2tzCi1hcmUgd3JpdHRlbiBmaXJzdC4gIEluIGdlbmVyYWwsIHRoaXMgbW9kZSBwZXJmb3JtcyBzbGlnaHRseSBzbG93ZXIgdGhhbgotd3JpdGViYWNrIGJ1dCBzaWduaWZpY2FudGx5IGZhc3RlciB0aGFuIGpvdXJuYWwgbW9kZS4KK2dyb3VwcyBtZXRhZGF0YSBpbmZvcm1hdGlvbiByZWxhdGVkIHRvIGRhdGEgY2hhbmdlcyB3aXRoIHRoZSBkYXRhIGJsb2NrcyBpbnRvIGEKK3NpbmdsZSB1bml0IGNhbGxlZCBhIHRyYW5zYWN0aW9uLiAgV2hlbiBpdCdzIHRpbWUgdG8gd3JpdGUgdGhlIG5ldyBtZXRhZGF0YQorb3V0IHRvIGRpc2ssIHRoZSBhc3NvY2lhdGVkIGRhdGEgYmxvY2tzIGFyZSB3cml0dGVuIGZpcnN0LiAgSW4gZ2VuZXJhbCwKK3RoaXMgbW9kZSBwZXJmb3JtcyBzbGlnaHRseSBzbG93ZXIgdGhhbiB3cml0ZWJhY2sgYnV0IHNpZ25pZmljYW50bHkgZmFzdGVyIHRoYW4gam91cm5hbCBtb2RlLgogCiAqIGpvdXJuYWwgbW9kZQogZGF0YT1qb3VybmFsIG1vZGUgcHJvdmlkZXMgZnVsbCBkYXRhIGFuZCBtZXRhZGF0YSBqb3VybmFsaW5nLiAgQWxsIG5ldyBkYXRhIGlzCkBAIC0yNDcsNyArMjcwLDggQEAKIEluIHRoZSBldmVudCBvZiBhIGNyYXNoLCB0aGUgam91cm5hbCBjYW4gYmUgcmVwbGF5ZWQsIGJyaW5naW5nIGJvdGggZGF0YSBhbmQKIG1ldGFkYXRhIGludG8gYSBjb25zaXN0ZW50IHN0YXRlLiAgVGhpcyBtb2RlIGlzIHRoZSBzbG93ZXN0IGV4Y2VwdCB3aGVuIGRhdGEKIG5lZWRzIHRvIGJlIHJlYWQgZnJvbSBhbmQgd3JpdHRlbiB0byBkaXNrIGF0IHRoZSBzYW1lIHRpbWUgd2hlcmUgaXQKLW91dHBlcmZvcm1zIGFsbCBvdGhlcnMgbW9kZXMuCitvdXRwZXJmb3JtcyBhbGwgb3RoZXJzIG1vZGVzLiAgQ3VyZW50bHkgZXh0NCBkb2VzIG5vdCBoYXZlIGRlbGF5ZWQKK2FsbG9jYXRpb24gc3VwcG9ydCBpZiB0aGlzIGRhdGEgam91cm5hbGxpbmcgbW9kZSBpcyBzZWxlY3RlZC4KIAogUmVmZXJlbmNlcwogPT09PT09PT09PQpAQCAtMjU2LDcgKzI4MCw4IEBACiAJCTxmaWxlOmZzL2piZDIvPgogCiBwcm9ncmFtczoJaHR0cDovL2UyZnNwcm9ncy5zb3VyY2Vmb3JnZS5uZXQvCi0JCWh0dHA6Ly9leHQycmVzaXplLnNvdXJjZWZvcmdlLm5ldAogCiB1c2VmdWwgbGlua3M6CWh0dHA6Ly9mZWRvcmFwcm9qZWN0Lm9yZy93aWtpL2V4dDMtZGV2ZWwKIAkJaHR0cDovL3d3dy5idWxsb3BlbnNvdXJjZS5vcmcvZXh0NC8KKwkJaHR0cDovL2V4dDQud2lraS5rZXJuZWwub3JnL2luZGV4LnBocC9NYWluX1BhZ2UKKwkJaHR0cDovL2ZlZG9yYXByb2plY3Qub3JnL3dpa2kvRmVhdHVyZXMvRXh0NApkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9maWxlc3lzdGVtcy9nZnMyLWdsb2Nrcy50eHQgYi9Eb2N1bWVudGF0aW9uL2ZpbGVzeXN0ZW1zL2dmczItZ2xvY2tzLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ZGFlOWEzCi0tLSAvZGV2L251bGwKKysrIGIvRG9jdW1lbnRhdGlvbi9maWxlc3lzdGVtcy9nZnMyLWdsb2Nrcy50eHQKQEAgLTAsMCArMSwxMTQgQEAKKyAgICAgICAgICAgICAgICAgICBHbG9jayBpbnRlcm5hbCBsb2NraW5nIHJ1bGVzCisgICAgICAgICAgICAgICAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworVGhpcyBkb2N1bWVudHMgdGhlIGJhc2ljIHByaW5jaXBsZXMgb2YgdGhlIGdsb2NrIHN0YXRlIG1hY2hpbmUKK2ludGVybmFscy4gRWFjaCBnbG9jayAoc3RydWN0IGdmczJfZ2xvY2sgaW4gZnMvZ2ZzMi9pbmNvcmUuaCkKK2hhcyB0d28gbWFpbiAoaW50ZXJuYWwpIGxvY2tzOgorCisgMS4gQSBzcGlubG9jayAoZ2xfc3Bpbikgd2hpY2ggcHJvdGVjdHMgdGhlIGludGVybmFsIHN0YXRlIHN1Y2gKKyAgICBhcyBnbF9zdGF0ZSwgZ2xfdGFyZ2V0IGFuZCB0aGUgbGlzdCBvZiBob2xkZXJzIChnbF9ob2xkZXJzKQorIDIuIEEgbm9uLWJsb2NraW5nIGJpdCBsb2NrLCBHTEZfTE9DSywgd2hpY2ggaXMgdXNlZCB0byBwcmV2ZW50IG90aGVyCisgICAgdGhyZWFkcyBmcm9tIG1ha2luZyBjYWxscyB0byB0aGUgRExNLCBldGMuIGF0IHRoZSBzYW1lIHRpbWUuIElmIGEKKyAgICB0aHJlYWQgdGFrZXMgdGhpcyBsb2NrLCBpdCBtdXN0IHRoZW4gY2FsbCBydW5fcXVldWUgKHVzdWFsbHkgdmlhIHRoZQorICAgIHdvcmtxdWV1ZSkgd2hlbiBpdCByZWxlYXNlcyBpdCBpbiBvcmRlciB0byBlbnN1cmUgYW55IHBlbmRpbmcgdGFza3MKKyAgICBhcmUgY29tcGxldGVkLgorCitUaGUgZ2xfaG9sZGVycyBsaXN0IGNvbnRhaW5zIGFsbCB0aGUgcXVldWVkIGxvY2sgcmVxdWVzdHMgKG5vdAoranVzdCB0aGUgaG9sZGVycykgYXNzb2NpYXRlZCB3aXRoIHRoZSBnbG9jay4gSWYgdGhlcmUgYXJlIGFueQoraGVsZCBsb2NrcywgdGhlbiB0aGV5IHdpbGwgYmUgY29udGlndW91cyBlbnRyaWVzIGF0IHRoZSBoZWFkCitvZiB0aGUgbGlzdC4gTG9ja3MgYXJlIGdyYW50ZWQgaW4gc3RyaWN0bHkgdGhlIG9yZGVyIHRoYXQgdGhleQorYXJlIHF1ZXVlZCwgZXhjZXB0IGZvciB0aG9zZSBtYXJrZWQgTE1fRkxBR19QUklPUklUWSB3aGljaCBhcmUKK3VzZWQgb25seSBkdXJpbmcgcmVjb3ZlcnksIGFuZCBldmVuIHRoZW4gb25seSBmb3Igam91cm5hbCBsb2Nrcy4KKworVGhlcmUgYXJlIHRocmVlIGxvY2sgc3RhdGVzIHRoYXQgdXNlcnMgb2YgdGhlIGdsb2NrIGxheWVyIGNhbiByZXF1ZXN0LAorbmFtZWx5IHNoYXJlZCAoU0gpLCBkZWZlcnJlZCAoREYpIGFuZCBleGNsdXNpdmUgKEVYKS4gVGhvc2UgdHJhbnNsYXRlCit0byB0aGUgZm9sbG93aW5nIERMTSBsb2NrIG1vZGVzOgorCitHbG9jayBtb2RlICAgIHwgRExNIGxvY2sgbW9kZQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAgVU4gICAgICAgIHwgICAgSVYvTkwgIFVubG9ja2VkIChubyBETE0gbG9jayBhc3NvY2lhdGVkIHdpdGggZ2xvY2spIG9yIE5MCisgICAgU0ggICAgICAgIHwgICAgUFIgICAgIChQcm90ZWN0ZWQgcmVhZCkKKyAgICBERiAgICAgICAgfCAgICBDVyAgICAgKENvbmN1cnJlbnQgd3JpdGUpCisgICAgRVggICAgICAgIHwgICAgRVggICAgIChFeGNsdXNpdmUpCisKK1RodXMgREYgaXMgYmFzaWNhbGx5IGEgc2hhcmVkIG1vZGUgd2hpY2ggaXMgaW5jb21wYXRpYmxlIHdpdGggdGhlICJub3JtYWwiCitzaGFyZWQgbG9jayBtb2RlLCBTSC4gSW4gR0ZTMiB0aGUgREYgbW9kZSBpcyB1c2VkIGV4Y2x1c2l2ZWx5IGZvciBkaXJlY3QgSS9PCitvcGVyYXRpb25zLiBUaGUgZ2xvY2tzIGFyZSBiYXNpY2FsbHkgYSBsb2NrIHBsdXMgc29tZSByb3V0aW5lcyB3aGljaCBkZWFsCit3aXRoIGNhY2hlIG1hbmFnZW1lbnQuIFRoZSBmb2xsb3dpbmcgcnVsZXMgYXBwbHkgZm9yIHRoZSBjYWNoZToKKworR2xvY2sgbW9kZSAgIHwgIENhY2hlIGRhdGEgfCBDYWNoZSBNZXRhZGF0YSB8IERpcnR5IERhdGEgfCBEaXJ0eSBNZXRhZGF0YQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgICBVTiAgICAgICB8ICAgICBObyAgICAgIHwgICAgICAgTm8gICAgICAgfCAgICAgTm8gICAgIHwgICAgICBObworICAgIFNIICAgICAgIHwgICAgIFllcyAgICAgfCAgICAgICBZZXMgICAgICB8ICAgICBObyAgICAgfCAgICAgIE5vCisgICAgREYgICAgICAgfCAgICAgTm8gICAgICB8ICAgICAgIFllcyAgICAgIHwgICAgIE5vICAgICB8ICAgICAgTm8KKyAgICBFWCAgICAgICB8ICAgICBZZXMgICAgIHwgICAgICAgWWVzICAgICAgfCAgICAgWWVzICAgIHwgICAgICBZZXMKKworVGhlc2UgcnVsZXMgYXJlIGltcGxlbWVudGVkIHVzaW5nIHRoZSB2YXJpb3VzIGdsb2NrIG9wZXJhdGlvbnMgd2hpY2gKK2FyZSBkZWZpbmVkIGZvciBlYWNoIHR5cGUgb2YgZ2xvY2suIE5vdCBhbGwgdHlwZXMgb2YgZ2xvY2tzIHVzZQorYWxsIHRoZSBtb2Rlcy4gT25seSBpbm9kZSBnbG9ja3MgdXNlIHRoZSBERiBtb2RlIGZvciBleGFtcGxlLgorCitUYWJsZSBvZiBnbG9jayBvcGVyYXRpb25zIGFuZCBwZXIgdHlwZSBjb25zdGFudHM6CisKK0ZpZWxkICAgICAgICAgICAgfCBQdXJwb3NlCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitnb194bW90ZV90aCAgICAgIHwgQ2FsbGVkIGJlZm9yZSByZW1vdGUgc3RhdGUgY2hhbmdlIChlLmcuIHRvIHN5bmMgZGlydHkgZGF0YSkKK2dvX3htb3RlX2JoICAgICAgfCBDYWxsZWQgYWZ0ZXIgcmVtb3RlIHN0YXRlIGNoYW5nZSAoZS5nLiB0byByZWZpbGwgY2FjaGUpCitnb19pbnZhbCAgICAgICAgIHwgQ2FsbGVkIGlmIHJlbW90ZSBzdGF0ZSBjaGFuZ2UgcmVxdWlyZXMgaW52YWxpZGF0aW5nIHRoZSBjYWNoZQorZ29fZGVtb3RlX29rICAgICB8IFJldHVybnMgYm9vbGVhbiB2YWx1ZSBvZiB3aGV0aGVyIGl0cyBvayB0byBkZW1vdGUgYSBnbG9jaworICAgICAgICAgICAgICAgICB8IChlLmcuIGNoZWNrcyB0aW1lb3V0LCBhbmQgdGhhdCB0aGVyZSBpcyBubyBjYWNoZWQgZGF0YSkKK2dvX2xvY2sgICAgICAgICAgfCBDYWxsZWQgZm9yIHRoZSBmaXJzdCBsb2NhbCBob2xkZXIgb2YgYSBsb2NrCitnb191bmxvY2sgICAgICAgIHwgQ2FsbGVkIG9uIHRoZSBmaW5hbCBsb2NhbCB1bmxvY2sgb2YgYSBsb2NrCitnb19kdW1wICAgICAgICAgIHwgQ2FsbGVkIHRvIHByaW50IGNvbnRlbnQgb2Ygb2JqZWN0IGZvciBkZWJ1Z2ZzIGZpbGUsIG9yIG9uCisgICAgICAgICAgICAgICAgIHwgZXJyb3IgdG8gZHVtcCBnbG9jayB0byB0aGUgbG9nLgorZ29fdHlwZTsgICAgICAgICB8IFRoZSB0eXBlIG9mIHRoZSBnbG9jaywgTE1fVFlQRV8uLi4uLgorZ29fbWluX2hvbGRfdGltZSB8IFRoZSBtaW5pbXVtIGhvbGQgdGltZQorCitUaGUgbWluaW11bSBob2xkIHRpbWUgZm9yIGVhY2ggbG9jayBpcyB0aGUgdGltZSBhZnRlciBhIHJlbW90ZSBsb2NrCitncmFudCBmb3Igd2hpY2ggd2UgaWdub3JlIHJlbW90ZSBkZW1vdGUgcmVxdWVzdHMuIFRoaXMgaXMgaW4gb3JkZXIgdG8KK3ByZXZlbnQgYSBzaXR1YXRpb24gd2hlcmUgbG9ja3MgYXJlIGJlaW5nIGJvdW5jZWQgYXJvdW5kIHRoZSBjbHVzdGVyCitmcm9tIG5vZGUgdG8gbm9kZSB3aXRoIG5vbmUgb2YgdGhlIG5vZGVzIG1ha2luZyBhbnkgcHJvZ3Jlc3MuIFRoaXMKK3RlbmRzIHRvIHNob3cgdXAgbW9zdCB3aXRoIHNoYXJlZCBtbWFwZWQgZmlsZXMgd2hpY2ggYXJlIGJlaW5nIHdyaXR0ZW4KK3RvIGJ5IG11bHRpcGxlIG5vZGVzLiBCeSBkZWxheWluZyB0aGUgZGVtb3Rpb24gaW4gcmVzcG9uc2UgdG8gYQorcmVtb3RlIGNhbGxiYWNrLCB0aGF0IGdpdmVzIHRoZSB1c2Vyc3BhY2UgcHJvZ3JhbSB0aW1lIHRvIG1ha2UKK3NvbWUgcHJvZ3Jlc3MgYmVmb3JlIHRoZSBwYWdlcyBhcmUgdW5tYXBwZWQuCisKK1RoZXJlIGlzIGEgcGxhbiB0byB0cnkgYW5kIHJlbW92ZSB0aGUgZ29fbG9jayBhbmQgZ29fdW5sb2NrIGNhbGxiYWNrcworaWYgcG9zc2libGUsIGluIG9yZGVyIHRvIHRyeSBhbmQgc3BlZWQgdXAgdGhlIGZhc3QgcGF0aCB0aG91Z2ggdGhlIGxvY2tpbmcuCitBbHNvLCBldmVudHVhbGx5IHdlIGhvcGUgdG8gbWFrZSB0aGUgZ2xvY2sgIkVYIiBtb2RlIGxvY2FsbHkgc2hhcmVkCitzdWNoIHRoYXQgYW55IGxvY2FsIGxvY2tpbmcgd2lsbCBiZSBkb25lIHdpdGggdGhlIGlfbXV0ZXggYXMgcmVxdWlyZWQKK3JhdGhlciB0aGFuIHZpYSB0aGUgZ2xvY2suCisKK0xvY2tpbmcgcnVsZXMgZm9yIGdsb2NrIG9wZXJhdGlvbnM6CisKK09wZXJhdGlvbiAgICAgfCAgR0xGX0xPQ0sgYml0IGxvY2sgaGVsZCB8ICBnbF9zcGluIHNwaW5sb2NrIGhlbGQKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitnb194bW90ZV90aCAgIHwgICAgICAgWWVzICAgICAgICAgICAgICAgfCAgICAgICBObworZ29feG1vdGVfYmggICB8ICAgICAgIFllcyAgICAgICAgICAgICAgIHwgICAgICAgTm8KK2dvX2ludmFsICAgICAgfCAgICAgICBZZXMgICAgICAgICAgICAgICB8ICAgICAgIE5vCitnb19kZW1vdGVfb2sgIHwgICAgICAgU29tZXRpbWVzICAgICAgICAgfCAgICAgICBZZXMKK2dvX2xvY2sgICAgICAgfCAgICAgICBZZXMgICAgICAgICAgICAgICB8ICAgICAgIE5vCitnb191bmxvY2sgICAgIHwgICAgICAgWWVzICAgICAgICAgICAgICAgfCAgICAgICBObworZ29fZHVtcCAgICAgICB8ICAgICAgIFNvbWV0aW1lcyAgICAgICAgIHwgICAgICAgWWVzCisKK04uQi4gT3BlcmF0aW9ucyBtdXN0IG5vdCBkcm9wIGVpdGhlciB0aGUgYml0IGxvY2sgb3IgdGhlIHNwaW5sb2NrCitpZiBpdHMgaGVsZCBvbiBlbnRyeS4gZ29fZHVtcCBhbmQgZG9fZGVtb3RlX29rIG11c3QgbmV2ZXIgYmxvY2suCitOb3RlIHRoYXQgZ29fZHVtcCB3aWxsIG9ubHkgYmUgY2FsbGVkIGlmIHRoZSBnbG9jaydzIHN0YXRlCitpbmRpY2F0ZXMgdGhhdCBpdCBpcyBjYWNoaW5nIHVwdG9kYXRlIGRhdGEuCisKK0dsb2NrIGxvY2tpbmcgb3JkZXIgd2l0aGluIEdGUzI6CisKKyAxLiBpX211dGV4IChpZiByZXF1aXJlZCkKKyAyLiBSZW5hbWUgZ2xvY2sgKGZvciByZW5hbWUgb25seSkKKyAzLiBJbm9kZSBnbG9jayhzKQorICAgIChQYXJlbnRzIGJlZm9yZSBjaGlsZHJlbiwgaW5vZGVzIGF0ICJzYW1lIGxldmVsIiB3aXRoIHNhbWUgcGFyZW50IGluCisgICAgIGxvY2sgbnVtYmVyIG9yZGVyKQorIDQuIFJncnAgZ2xvY2socykgKGZvciAoZGUpYWxsb2NhdGlvbiBvcGVyYXRpb25zKQorIDUuIFRyYW5zYWN0aW9uIGdsb2NrICh2aWEgZ2ZzMl90cmFuc19iZWdpbikgZm9yIG5vbi1yZWFkIG9wZXJhdGlvbnMKKyA2LiBQYWdlIGxvY2sgIChhbHdheXMgbGFzdCwgdmVyeSBpbXBvcnRhbnQhKQorCitUaGVyZSBhcmUgdHdvIGdsb2NrcyBwZXIgaW5vZGUuIE9uZSBkZWFscyB3aXRoIGFjY2VzcyB0byB0aGUgaW5vZGUKK2l0c2VsZiAobG9ja2luZyBvcmRlciBhcyBhYm92ZSksIGFuZCB0aGUgb3RoZXIsIGtub3duIGFzIHRoZSBpb3BlbgorZ2xvY2sgaXMgdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZSBpX25saW5rIGZpZWxkIGluIHRoZSBpbm9kZSB0bworZGV0ZXJtaW5lIHRoZSBsaWZldGltZSBvZiB0aGUgaW5vZGUgaW4gcXVlc3Rpb24uIExvY2tpbmcgb2YgaW5vZGVzCitpcyBvbiBhIHBlci1pbm9kZSBiYXNpcy4gTG9ja2luZyBvZiByZ3JwcyBpcyBvbiBhIHBlciByZ3JwIGJhc2lzLgorCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2ZpbGVzeXN0ZW1zL3Byb2MudHh0IGIvRG9jdW1lbnRhdGlvbi9maWxlc3lzdGVtcy9wcm9jLnR4dAppbmRleCBkYmMzYzZhLi43ZjI2OGYzIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2ZpbGVzeXN0ZW1zL3Byb2MudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZmlsZXN5c3RlbXMvcHJvYy50eHQKQEAgLTM4MCwyOCArMzgwLDM1IEBACiBPZiBzb21lIGludGVyZXN0IGlzIHRoZSBpbnRyb2R1Y3Rpb24gb2YgdGhlIC9wcm9jL2lycSBkaXJlY3RvcnkgdG8gMi40LgogSXQgY291bGQgYmUgdXNlZCB0byBzZXQgSVJRIHRvIENQVSBhZmZpbml0eSwgdGhpcyBtZWFucyB0aGF0IHlvdSBjYW4gImhvb2siIGFuCiBJUlEgdG8gb25seSBvbmUgQ1BVLCBvciB0byBleGNsdWRlIGEgQ1BVIG9mIGhhbmRsaW5nIElSUXMuIFRoZSBjb250ZW50cyBvZiB0aGUKLWlycSBzdWJkaXIgaXMgb25lIHN1YmRpciBmb3IgZWFjaCBJUlEsIGFuZCBvbmUgZmlsZTsgcHJvZl9jcHVfbWFzaworaXJxIHN1YmRpciBpcyBvbmUgc3ViZGlyIGZvciBlYWNoIElSUSwgYW5kIHR3byBmaWxlczsgZGVmYXVsdF9zbXBfYWZmaW5pdHkgYW5kCitwcm9mX2NwdV9tYXNrLgogCiBGb3IgZXhhbXBsZSAKICAgPiBscyAvcHJvYy9pcnEvCiAgIDAgIDEwICAxMiAgMTQgIDE2ICAxOCAgMiAgNCAgNiAgOCAgcHJvZl9jcHVfbWFzawotICAxICAxMSAgMTMgIDE1ICAxNyAgMTkgIDMgIDUgIDcgIDkKKyAgMSAgMTEgIDEzICAxNSAgMTcgIDE5ICAzICA1ICA3ICA5ICBkZWZhdWx0X3NtcF9hZmZpbml0eQogICA+IGxzIC9wcm9jL2lycS8wLwogICBzbXBfYWZmaW5pdHkKIAotVGhlIGNvbnRlbnRzIG9mIHRoZSBwcm9mX2NwdV9tYXNrIGZpbGUgYW5kIGVhY2ggc21wX2FmZmluaXR5IGZpbGUgZm9yIGVhY2ggSVJRCi1pcyB0aGUgc2FtZSBieSBkZWZhdWx0Ogorc21wX2FmZmluaXR5IGlzIGEgYml0bWFzaywgaW4gd2hpY2ggeW91IGNhbiBzcGVjaWZ5IHdoaWNoIENQVXMgY2FuIGhhbmRsZSB0aGUKK0lSUSwgeW91IGNhbiBzZXQgaXQgYnkgZG9pbmc6CiAKLSAgPiBjYXQgL3Byb2MvaXJxLzAvc21wX2FmZmluaXR5IAorICA+IGVjaG8gMSA+IC9wcm9jL2lycS8xMC9zbXBfYWZmaW5pdHkKKworVGhpcyBtZWFucyB0aGF0IG9ubHkgdGhlIGZpcnN0IENQVSB3aWxsIGhhbmRsZSB0aGUgSVJRLCBidXQgeW91IGNhbiBhbHNvIGVjaG8KKzUgd2hpY2ggbWVhbnMgdGhhdCBvbmx5IHRoZSBmaXJzdCBhbmQgZm91cnRoIENQVSBjYW4gaGFuZGxlIHRoZSBJUlEuCisKK1RoZSBjb250ZW50cyBvZiBlYWNoIHNtcF9hZmZpbml0eSBmaWxlIGlzIHRoZSBzYW1lIGJ5IGRlZmF1bHQ6CisKKyAgPiBjYXQgL3Byb2MvaXJxLzAvc21wX2FmZmluaXR5CiAgIGZmZmZmZmZmCiAKLUl0J3MgYSBiaXRtYXNrLCBpbiB3aGljaCB5b3UgY2FuIHNwZWNpZnkgd2hpY2ggQ1BVcyBjYW4gaGFuZGxlIHRoZSBJUlEsIHlvdSBjYW4KLXNldCBpdCBieSBkb2luZzoKK1RoZSBkZWZhdWx0X3NtcF9hZmZpbml0eSBtYXNrIGFwcGxpZXMgdG8gYWxsIG5vbi1hY3RpdmUgSVJRcywgd2hpY2ggYXJlIHRoZQorSVJRcyB3aGljaCBoYXZlIG5vdCB5ZXQgYmVlbiBhbGxvY2F0ZWQvYWN0aXZhdGVkLCBhbmQgaGVuY2Ugd2hpY2ggbGFjayBhCisvcHJvYy9pcnEvWzAtOV0qIGRpcmVjdG9yeS4KIAotICA+IGVjaG8gMSA+IC9wcm9jL2lycS9wcm9mX2NwdV9tYXNrCi0KLVRoaXMgbWVhbnMgdGhhdCBvbmx5IHRoZSBmaXJzdCBDUFUgd2lsbCBoYW5kbGUgdGhlIElSUSwgYnV0IHlvdSBjYW4gYWxzbyBlY2hvIDUKLXdoaWNoIG1lYW5zIHRoYXQgb25seSB0aGUgZmlyc3QgYW5kIGZvdXJ0aCBDUFUgY2FuIGhhbmRsZSB0aGUgSVJRLgorcHJvZl9jcHVfbWFzayBzcGVjaWZpZXMgd2hpY2ggQ1BVcyBhcmUgdG8gYmUgcHJvZmlsZWQgYnkgdGhlIHN5c3RlbSB3aWRlCitwcm9maWxlci4gRGVmYXVsdCB2YWx1ZSBpcyBmZmZmZmZmZiAoYWxsIGNwdXMpLgogCiBUaGUgd2F5IElSUXMgYXJlIHJvdXRlZCBpcyBoYW5kbGVkIGJ5IHRoZSBJTy1BUElDLCBhbmQgaXQncyBSb3VuZCBSb2JpbgogYmV0d2VlbiBhbGwgdGhlIENQVXMgd2hpY2ggYXJlIGFsbG93ZWQgdG8gaGFuZGxlIGl0LiBBcyB1c3VhbCB0aGUga2VybmVsIGhhcwpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9mdHJhY2UudHh0IGIvRG9jdW1lbnRhdGlvbi9mdHJhY2UudHh0CmluZGV4IDEzZTRiZjAuLjc3ZDNmYWEgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZnRyYWNlLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2Z0cmFjZS50eHQKQEAgLTIsOCArMiwxMSBAQAogCQk9PT09PT09PT09PT09PT09PT09PT09PT0KIAogQ29weXJpZ2h0IDIwMDggUmVkIEhhdCBJbmMuCi1BdXRob3I6IFN0ZXZlbiBSb3N0ZWR0IDxzcm9zdGVkdEByZWRoYXQuY29tPgorICAgQXV0aG9yOiAgIFN0ZXZlbiBSb3N0ZWR0IDxzcm9zdGVkdEByZWRoYXQuY29tPgorICBMaWNlbnNlOiAgIFRoZSBHTlUgRnJlZSBEb2N1bWVudGF0aW9uIExpY2Vuc2UsIFZlcnNpb24gMS4yCitSZXZpZXdlcnM6ICAgRWxpYXMgT2x0bWFubnMgYW5kIFJhbmR5IER1bmxhcAogCitXcml0ZW4gZm9yOiAyLjYuMjYtcmM4IGxpbnV4LTIuNi10aXAuZ2l0IHRpcC90cmFjaW5nL2Z0cmFjZSBicmFuY2gKIAogSW50cm9kdWN0aW9uCiAtLS0tLS0tLS0tLS0KQEAgLTQ2LDcgKzQ5LDcgQEAKIAkJdGhhdCBpcyBjb25maWd1cmVkLgogCiAgIGF2YWlsYWJsZV90cmFjZXJzIDogVGhpcyBob2xkcyB0aGUgZGlmZmVyZW50IHR5cGVzIG9mIHRyYWNlcnMgdGhhdAotCQloYXMgYmVlbiBjb21waWxlZCBpbnRvIHRoZSBrZXJuZWwuIFRoZSB0cmFjZXJzCisJCWhhdmUgYmVlbiBjb21waWxlZCBpbnRvIHRoZSBrZXJuZWwuIFRoZSB0cmFjZXJzCiAJCWxpc3RlZCBoZXJlIGNhbiBiZSBjb25maWd1cmVkIGJ5IGVjaG9pbmcgaW4gdGhlaXIKIAkJbmFtZSBpbnRvIGN1cnJlbnRfdHJhY2VyLgogCkBAIC05MCwxMSArOTMsMTMgQEAKICAgdHJhY2VfZW50cmllcyA6IFRoaXMgc2V0cyBvciBkaXNwbGF5cyB0aGUgbnVtYmVyIG9mIHRyYWNlCiAJCWVudHJpZXMgZWFjaCBDUFUgYnVmZmVyIGNhbiBob2xkLiBUaGUgdHJhY2VyIGJ1ZmZlcnMKIAkJYXJlIHRoZSBzYW1lIHNpemUgZm9yIGVhY2ggQ1BVLCBzbyBjYXJlIG11c3QgYmUKLQkJdGFrZW4gd2hlbiBtb2RpZnlpbmcgdGhlIHRyYWNlX2VudHJpZXMuIFRoZSBudW1iZXIKLQkJb2YgYWN0dWFsbHkgZW50cmllcyB3aWxsIGJlIHRoZSBudW1iZXIgZ2l2ZW4KLQkJdGltZXMgdGhlIG51bWJlciBvZiBwb3NzaWJsZSBDUFVTLiBUaGUgYnVmZmVycwotCQlhcmUgc2F2ZWQgYXMgaW5kaXZpZHVhbCBwYWdlcywgYW5kIHRoZSBhY3R1YWwgZW50cmllcwotCQl3aWxsIGFsd2F5cyBiZSByb3VuZGVkIHVwIHRvIGVudHJpZXMgcGVyIHBhZ2UuCisJCXRha2VuIHdoZW4gbW9kaWZ5aW5nIHRoZSB0cmFjZV9lbnRyaWVzLiBUaGUgdHJhY2UKKwkJYnVmZmVycyBhcmUgYWxsb2NhdGVkIGluIHBhZ2VzIChibG9ja3Mgb2YgbWVtb3J5IHRoYXQKKwkJdGhlIGtlcm5lbCB1c2VzIGZvciBhbGxvY2F0aW9uLCB1c3VhbGx5IDQgS0IgaW4gc2l6ZSkuCisJCVNpbmNlIGVhY2ggZW50cnkgaXMgc21hbGxlciB0aGFuIGEgcGFnZSwgaWYgdGhlIGxhc3QKKwkJYWxsb2NhdGVkIHBhZ2UgaGFzIHJvb20gZm9yIG1vcmUgZW50cmllcyB0aGFuIHdlcmUKKwkJcmVxdWVzdGVkLCB0aGUgcmVzdCBvZiB0aGUgcGFnZSBpcyB1c2VkIHRvIGFsbG9jYXRlCisJCWVudHJpZXMuCiAKIAkJVGhpcyBjYW4gb25seSBiZSB1cGRhdGVkIHdoZW4gdGhlIGN1cnJlbnRfdHJhY2VyCiAJCWlzIHNldCB0byAibm9uZSIuCkBAIC0xMTQsMTMgKzExOSwxMyBAQAogCQlpbiBwZXJmb3JtYW5jZS4gIFRoaXMgYWxzbyBoYXMgYSBzaWRlIGVmZmVjdCBvZgogCQllbmFibGluZyBvciBkaXNhYmxpbmcgc3BlY2lmaWMgZnVuY3Rpb25zIHRvIGJlCiAJCXRyYWNlZC4gIEVjaG9pbmcgaW4gbmFtZXMgb2YgZnVuY3Rpb25zIGludG8gdGhpcwotCQlmaWxlIHdpbGwgbGltaXQgdGhlIHRyYWNlIHRvIG9ubHkgdGhvc2UgZmlsZXMuCisJCWZpbGUgd2lsbCBsaW1pdCB0aGUgdHJhY2UgdG8gb25seSB0aGVzZSBmdW5jdGlvbnMuCiAKICAgc2V0X2Z0cmFjZV9ub3RyYWNlOiBUaGlzIGhhcyB0aGUgb3Bwb3NpdGUgZWZmZWN0IHRoYXQKIAkJc2V0X2Z0cmFjZV9maWx0ZXIgaGFzLiBBbnkgZnVuY3Rpb24gdGhhdCBpcyBhZGRlZAogCQloZXJlIHdpbGwgbm90IGJlIHRyYWNlZC4gSWYgYSBmdW5jdGlvbiBleGlzdHMKLQkJaW4gYm90aCBzZXRfZnRyYWNlX2ZpbHRlciBhbmQgc2V0X2Z0cmFjZV9ub3RyYWNlCi0JCXRoZSBmdW5jdGlvbiB3aWxsIF9ub3RfIGJldCB0cmFjZWQuCisJCWluIGJvdGggc2V0X2Z0cmFjZV9maWx0ZXIgYW5kIHNldF9mdHJhY2Vfbm90cmFjZSwKKwkJdGhlIGZ1bmN0aW9uIHdpbGwgX25vdF8gYmUgdHJhY2VkLgogCiAgIGF2YWlsYWJsZV9maWx0ZXJfZnVuY3Rpb25zIDogV2hlbiBhIGZ1bmN0aW9uIGlzIGVuY291bnRlcmVkIHRoZSBmaXJzdAogCQl0aW1lIGJ5IHRoZSBkeW5hbWljIHRyYWNlciwgaXQgaXMgcmVjb3JkZWQgYW5kCkBAIC0xMzgsNyArMTQzLDcgQEAKIAogICBmdHJhY2UgLSBmdW5jdGlvbiB0cmFjZXIgdGhhdCB1c2VzIG1jb3VudCB0byB0cmFjZSBhbGwgZnVuY3Rpb25zLgogCQlJdCBpcyBwb3NzaWJsZSB0byBmaWx0ZXIgb3V0IHdoaWNoIGZ1bmN0aW9ucyB0aGF0IGFyZQotCQl0cmFjZWQgd2hlbiBkeW5hbWljIGZ0cmFjZSBpcyBjb25maWd1cmVkIGluLgorCQl0byBiZSB0cmFjZWQgd2hlbiBkeW5hbWljIGZ0cmFjZSBpcyBjb25maWd1cmVkIGluLgogCiAgIHNjaGVkX3N3aXRjaCAtIHRyYWNlcyB0aGUgY29udGV4dCBzd2l0Y2hlcyBiZXR3ZWVuIHRhc2tzLgogCkBAIC0yOTcsMTMgKzMwMiwxMyBAQAogCiBUaGUgYWJvdmUgaXMgbW9zdGx5IG1lYW5pbmdmdWwgZm9yIGtlcm5lbCBkZXZlbG9wZXJzLgogCi0gIHRpbWU6IFRoaXMgZGlmZmVycyBmcm9tIHRoZSB0cmFjZSBvdXRwdXQgd2hlcmUgYXMgdGhlIHRyYWNlIG91dHB1dAotCWNvbnRhaW5lZCBhIGFic29sdXRlIHRpbWVzdGFtcC4gVGhpcyB0aW1lc3RhbXAgaXMgcmVsYXRpdmUKLQl0byB0aGUgc3RhcnQgb2YgdGhlIGZpcnN0IGVudHJ5IGluIHRoZSB0aGUgdHJhY2UuCisgIHRpbWU6IFRoaXMgZGlmZmVycyBmcm9tIHRoZSB0cmFjZSBmaWxlIG91dHB1dC4gVGhlIHRyYWNlIGZpbGUgb3V0cHV0CisJaW5jbHVkZWQgYW4gYWJzb2x1dGUgdGltZXN0YW1wLiBUaGUgdGltZXN0YW1wIHVzZWQgYnkgdGhlCisJbGF0ZW5jeV90cmFjZSBmaWxlIGlzIHJlbGF0aXZlIHRvIHRoZSBzdGFydCBvZiB0aGUgdHJhY2UuCiAKICAgZGVsYXk6IFRoaXMgaXMganVzdCB0byBoZWxwIGNhdGNoIHlvdXIgZXllIGEgYml0IGJldHRlci4gQW5kCiAJbmVlZHMgdG8gYmUgZml4ZWQgdG8gYmUgb25seSByZWxhdGl2ZSB0byB0aGUgc2FtZSBDUFUuCi0JVGhlIG1hcmtzIGlzIGRldGVybWluZWQgYnkgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGlzCisJVGhlIG1hcmtzIGFyZSBkZXRlcm1pbmVkIGJ5IHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gdGhpcwogCWN1cnJlbnQgdHJhY2UgYW5kIHRoZSBuZXh0IHRyYWNlLgogCSAnIScgLSBncmVhdGVyIHRoYW4gcHJlZW1wdF9tYXJrX3RocmVzaCAoZGVmYXVsdCAxMDApCiAJICcrJyAtIGdyZWF0ZXIgdGhhbiAxIG1pY3Jvc2Vjb25kCkBAIC0zMjIsMTMgKzMyNywxMyBAQAogICBwcmludC1wYXJlbnQgbm9zeW0tb2Zmc2V0IG5vc3ltLWFkZHIgbm92ZXJib3NlIG5vcmF3IG5vaGV4IG5vYmluIFwKICBub2Jsb2NrIG5vc3RhY2t0cmFjZSBub3NjaGVkLXRyZWUKIAotVG8gZGlzYWJsZSBvbmUgb2YgdGhlIG9wdGlvbnMsIGVjaG8gaW4gdGhlIG9wdGlvbiBhcHBlbmRlZCB3aXRoICJubyIuCitUbyBkaXNhYmxlIG9uZSBvZiB0aGUgb3B0aW9ucywgZWNobyBpbiB0aGUgb3B0aW9uIHByZXBlbmRlZCB3aXRoICJubyIuCiAKICAgZWNobyBub3ByaW50LXBhcmVudCA+IC9kZWJ1Zy90cmFjaW5nL2l0ZXJfY3RybAogCiBUbyBlbmFibGUgYW4gb3B0aW9uLCBsZWF2ZSBvZmYgdGhlICJubyIuCiAKLSAgZWNobyBzeW0tb2ZmZXN0ID4gL2RlYnVnL3RyYWNpbmcvaXRlcl9jdHJsCisgIGVjaG8gc3ltLW9mZnNldCA+IC9kZWJ1Zy90cmFjaW5nL2l0ZXJfY3RybAogCiBIZXJlIGFyZSB0aGUgYXZhaWxhYmxlIG9wdGlvbnM6CiAKQEAgLTM0NCw3ICszNDksNyBAQAogCiAgIHN5bS1vZmZzZXQgLSBEaXNwbGF5IG5vdCBvbmx5IHRoZSBmdW5jdGlvbiBuYW1lLCBidXQgYWxzbyB0aGUgb2Zmc2V0CiAJCWluIHRoZSBmdW5jdGlvbi4gRm9yIGV4YW1wbGUsIGluc3RlYWQgb2Ygc2VlaW5nIGp1c3QKLQkJImt0aW1lX2dldCIgeW91IHdpbGwgc2VlICJrdGltZV9nZXQrMHhiLzB4MjAiCisJCSJrdGltZV9nZXQiLCB5b3Ugd2lsbCBzZWUgImt0aW1lX2dldCsweGIvMHgyMCIuCiAKICAgc3ltLW9mZnNldDoKICAgIGJhc2gtNDAwMCAgWzAxXSAgMTQ3Ny42MDY2OTQ6IHNpbXBsZV9zdHJ0b3VsKzB4Ni8weGEwCkBAIC0zNjQsNyArMzY5LDcgQEAKIAl1c2VyIGFwcGxpY2F0aW9ucyB0aGF0IGNhbiB0cmFuc2xhdGUgdGhlIHJhdyBudW1iZXJzIGJldHRlciB0aGFuCiAJaGF2aW5nIGl0IGRvbmUgaW4gdGhlIGtlcm5lbC4KIAotICBoZXggLSBzaW1pbGFyIHRvIHJhdywgYnV0IHRoZSBudW1iZXJzIHdpbGwgYmUgaW4gYSBoZXhhZGVjaW1hbCBmb3JtYXQuCisgIGhleCAtIFNpbWlsYXIgdG8gcmF3LCBidXQgdGhlIG51bWJlcnMgd2lsbCBiZSBpbiBhIGhleGFkZWNpbWFsIGZvcm1hdC4KIAogICBiaW4gLSBUaGlzIHdpbGwgcHJpbnQgb3V0IHRoZSBmb3JtYXRzIGluIHJhdyBiaW5hcnkuCiAKQEAgLTM4MSw3ICszODYsNyBAQAogLS0tLS0tLS0tLS0tCiAKIFRoaXMgdHJhY2VyIHNpbXBseSByZWNvcmRzIHNjaGVkdWxlIHN3aXRjaGVzLiBIZXJlJ3MgYW4gZXhhbXBsZQotb24gaG93IHRvIGltcGxlbWVudCBpdC4KK29mIGhvdyB0byB1c2UgaXQuCiAKICAjIGVjaG8gc2NoZWRfc3dpdGNoID4gL2RlYnVnL3RyYWNpbmcvY3VycmVudF90cmFjZXIKICAjIGVjaG8gMSA+IC9kZWJ1Zy90cmFjaW5nL3RyYWNpbmdfZW5hYmxlZApAQCAtNDcwLDcgKzQ3NSw3IEBACiBrZXJuZWwga25vdyBvZiBhIG5ldyBtb3VzZSBldmVudC4gVGhlIHJlc3VsdCBpcyBhIGxhdGVuY3kgd2l0aCB0aGUKIHJlYWN0aW9uIHRpbWUuCiAKLVRoZSBpcnFzb2ZmIHRyYWNlciB0cmFja3MgdGhlIHRpbWUgaW50ZXJydXB0cyBhcmUgZGlzYWJsZWQgYW5kIHdoZW4KK1RoZSBpcnFzb2ZmIHRyYWNlciB0cmFja3MgdGhlIHRpbWUgaW50ZXJydXB0cyBhcmUgZGlzYWJsZWQgdG8gdGhlIHRpbWUKIHRoZXkgYXJlIHJlLWVuYWJsZWQuIFdoZW4gYSBuZXcgbWF4aW11bSBsYXRlbmN5IGlzIGhpdCwgaXQgc2F2ZXMgb2ZmCiB0aGUgdHJhY2Ugc28gdGhhdCBpdCBtYXkgYmUgcmV0cmlldmVkIGF0IGEgbGF0ZXIgdGltZS4gRXZlcnkgdGltZSBhCiBuZXcgbWF4aW11bSBpbiByZWFjaGVkLCB0aGUgb2xkIHNhdmVkIHRyYWNlIGlzIGRpc2NhcmRlZCBhbmQgdGhlIG5ldwpAQCAtNTE5LDcgKzUyNCw3IEBACiBiZWNhdXNlIHRoZSBjbG9jayBtdXN0IGhhdmUgaW5jcmVtZW50ZWQgYmV0d2VlbiB0aGUgdGltZSBvZiByZWNvcmRpbmcKIHRoZSBtYXggbGF0ZW5jeSBhbmQgcmVjb3JkaW5nIHRoZSBmdW5jdGlvbiB0aGF0IGhhZCB0aGF0IGxhdGVuY3kuCiAKLU5vdGUgdGhlIGFib3ZlIGhhZCBmdHJhY2VfZW5hYmxlZCBub3Qgc2V0LiBJZiB3ZSBzZXQgdGhlIGZ0cmFjZV9lbmFibGVkCitOb3RlIHRoZSBhYm92ZSBoYWQgZnRyYWNlX2VuYWJsZWQgbm90IHNldC4gSWYgd2Ugc2V0IHRoZSBmdHJhY2VfZW5hYmxlZCwKIHdlIGdldCBhIG11Y2ggbGFyZ2VyIG91dHB1dDoKIAogIyB0cmFjZXI6IGlycXNvZmYKQEAgLTU3MCwyMSArNTc1LDIxIEBACiAKIAogSGVyZSB3ZSB0cmFjZWQgYSA1MCBtaWNyb3NlY29uZCBsYXRlbmN5LiBCdXQgd2UgYWxzbyBzZWUgYWxsIHRoZQotZnVuY3Rpb25zIHRoYXQgd2VyZSBjYWxsZWQgZHVyaW5nIHRoYXQgdGltZS4gTm90ZSB0aGF0IGVuYWJsaW5nCi1mdW5jdGlvbiB0cmFjaW5nIHdlIGVuZHVyZSBhbiBhZGRlZCBvdmVyaGVhZC4gVGhpcyBvdmVyaGVhZCBtYXkKLWV4dGVuZCB0aGUgbGF0ZW5jeSB0aW1lcy4gQnV0IG5ldmVyIHRoZSBsZXNzLCB0aGlzIHRyYWNlIGhhcyBwcm92aWRlZAotc29tZSB2ZXJ5IGhlbHBmdWwgZGVidWdnaW5nLgorZnVuY3Rpb25zIHRoYXQgd2VyZSBjYWxsZWQgZHVyaW5nIHRoYXQgdGltZS4gTm90ZSB0aGF0IGJ5IGVuYWJsaW5nCitmdW5jdGlvbiB0cmFjaW5nLCB3ZSBlbmR1cmUgYW4gYWRkZWQgb3ZlcmhlYWQuIFRoaXMgb3ZlcmhlYWQgbWF5CitleHRlbmQgdGhlIGxhdGVuY3kgdGltZXMuIEJ1dCBuZXZlcnRoZWxlc3MsIHRoaXMgdHJhY2UgaGFzIHByb3ZpZGVkCitzb21lIHZlcnkgaGVscGZ1bCBkZWJ1Z2dpbmcgaW5mb3JtYXRpb24uCiAKIAogcHJlZW1wdG9mZgogLS0tLS0tLS0tLQogCi1XaGVuIHByZWVtcHRpb24gaXMgZGlzYWJsZWQgd2UgbWF5IGJlIGFibGUgdG8gcmVjZWl2ZSBpbnRlcnJ1cHRzIGJ1dAotdGhlIHRhc2sgY2FuIG5vdCBiZSBwcmVlbXB0ZWQgYW5kIGEgaGlnaGVyIHByaW9yaXR5IHRhc2sgbXVzdCB3YWl0CitXaGVuIHByZWVtcHRpb24gaXMgZGlzYWJsZWQsIHdlIG1heSBiZSBhYmxlIHRvIHJlY2VpdmUgaW50ZXJydXB0cyBidXQKK3RoZSB0YXNrIGNhbm5vdCBiZSBwcmVlbXB0ZWQgYW5kIGEgaGlnaGVyIHByaW9yaXR5IHRhc2sgbXVzdCB3YWl0CiBmb3IgcHJlZW1wdGlvbiB0byBiZSBlbmFibGVkIGFnYWluIGJlZm9yZSBpdCBjYW4gcHJlZW1wdCBhIGxvd2VyCiBwcmlvcml0eSB0YXNrLgogCi1UaGUgcHJlZW1wdG9mZiB0cmFjZXIgdHJhY2VzIHRoZSBwbGFjZXMgdGhhdCBkaXNhYmxlcyBwcmVlbXB0aW9uLgorVGhlIHByZWVtcHRvZmYgdHJhY2VyIHRyYWNlcyB0aGUgcGxhY2VzIHRoYXQgZGlzYWJsZSBwcmVlbXB0aW9uLgogTGlrZSB0aGUgaXJxc29mZiwgaXQgcmVjb3JkcyB0aGUgbWF4aW11bSBsYXRlbmN5IHRoYXQgcHJlZW1wdGlvbgogd2FzIGRpc2FibGVkLiBUaGUgY29udHJvbCBvZiBwcmVlbXB0b2ZmIGlzIG11Y2ggbGlrZSB0aGUgaXJxc29mZi4KIApAQCAtNjk2LDcgKzcwMSw3IEBACiBJdCBtYXkgc2VlbSB0aGF0IHdlIG1pc3NlZCBhIHByZWVtcHQgZW5hYmxlZC4gV2hhdCByZWFsbHkgaGFwcGVuZWQKIGlzIHRoYXQgdGhlIHByZWVtcHQgY291bnQgaXMgaGVsZCBvbiB0aGUgdGhyZWFkcyBzdGFjayBhbmQgd2UKIHN3aXRjaGVkIHRvIHRoZSBzb2Z0aXJxIHN0YWNrICg0SyBzdGFja3MgaW4gZWZmZWN0KS4gVGhlIGNvZGUKLWRvZXMgbm90IGNvcHkgdGhlIHByZWVtcHQgY291bnQsIGJ1dCBiZWNhdXNlIGludGVycnVwdHMgYXJlIGRpc2FibGVkCitkb2VzIG5vdCBjb3B5IHRoZSBwcmVlbXB0IGNvdW50LCBidXQgYmVjYXVzZSBpbnRlcnJ1cHRzIGFyZSBkaXNhYmxlZCwKIHdlIGRvbid0IG5lZWQgdG8gd29ycnkgYWJvdXQgaXQuIEhhdmluZyBhIHRyYWNlciBsaWtlIHRoaXMgaXMgZ29vZAogdG8gbGV0IHBlb3BsZSBrbm93IHdoYXQgcmVhbGx5IGhhcHBlbnMgaW5zaWRlIHRoZSBrZXJuZWwuCiAKQEAgLTczMiw3ICs3MzcsNyBAQAogCiBBZ2FpbiwgdXNpbmcgdGhpcyB0cmFjZSBpcyBtdWNoIGxpa2UgdGhlIGlycXNvZmYgYW5kIHByZWVtcHRvZmYgdHJhY2Vycy4KIAotICMgZWNobyBwcmVlbXB0b2ZmID4gL2RlYnVnL3RyYWNpbmcvY3VycmVudF90cmFjZXIKKyAjIGVjaG8gcHJlZW1wdGlycXNvZmYgPiAvZGVidWcvdHJhY2luZy9jdXJyZW50X3RyYWNlcgogICMgZWNobyAwID4gL2RlYnVnL3RyYWNpbmcvdHJhY2luZ19tYXhfbGF0ZW5jeQogICMgZWNobyAxID4gL2RlYnVnL3RyYWNpbmcvdHJhY2luZ19lbmFibGVkCiAgIyBscyAtbHRyCkBAIC04NjIsOSArODY3LDkgQEAKIHRoZSBscyB0YXNrLiBXZSBzZWUgdGhhdCB0aGUgdGFzayBoYWQgdGhlICJuZWVkX3Jlc2NoZWQiIGJpdCBzZXQKIHdpdGggdGhlICdOJyBpbiB0aGUgdHJhY2UuICBJbnRlcnJ1cHRzIGFyZSBkaXNhYmxlZCBpbiB0aGUgc3Bpbl9sb2NrCiBhbmQgdGhlIHRyYWNlIHN0YXJ0ZWQuIFdlIHNlZSB0aGF0IGEgc2NoZWR1bGUgdG9vayBwbGFjZSB0byBydW4KLXNzaGQuICBXaGVuIHRoZSBpbnRlcnJ1cHRzIHdlcmUgZW5hYmxlZCB3ZSB0b29rIGFuIGludGVycnVwdC4KLU9uIHJldHVybiBvZiB0aGUgaW50ZXJydXB0IHRoZSBzb2Z0aXJxIHJhbi4gV2UgdG9vayBhbm90aGVyIGludGVycnVwdAotd2hpbGUgcnVubmluZyB0aGUgc29mdGlycSBhcyB3ZSBzZWUgd2l0aCB0aGUgY2FwaXRhbCAnSCcuCitzc2hkLiAgV2hlbiB0aGUgaW50ZXJydXB0cyB3ZXJlIGVuYWJsZWQsIHdlIHRvb2sgYW4gaW50ZXJydXB0LgorT24gcmV0dXJuIGZyb20gdGhlIGludGVycnVwdCBoYW5kbGVyLCB0aGUgc29mdGlycSByYW4uIFdlIHRvb2sgYW5vdGhlcgoraW50ZXJydXB0IHdoaWxlIHJ1bm5pbmcgdGhlIHNvZnRpcnEgYXMgd2Ugc2VlIHdpdGggdGhlIGNhcGl0YWwgJ0gnLgogCiAKIHdha2V1cApAQCAtODc2LDkgKzg4MSw5IEBACiBJIHN0cmVzcyB0aGUgcG9pbnQgdGhhdCB0aGlzIGlzIGFib3V0IFJUIHRhc2tzLiBJdCBpcyBhbHNvIGltcG9ydGFudAogdG8ga25vdyB0aGUgc2NoZWR1bGluZyBsYXRlbmN5IG9mIG5vbi1SVCB0YXNrcywgYnV0IHRoZSBhdmVyYWdlCiBzY2hlZHVsZSBsYXRlbmN5IGlzIGJldHRlciBmb3Igbm9uLVJUIHRhc2tzLiBUb29scyBsaWtlCi1MYXRlbmN5VG9wIGlzIG1vcmUgYXBwcm9wcmlhdGUgZm9yIHN1Y2ggbWVhc3VyZW1lbnRzLgorTGF0ZW5jeVRvcCBhcmUgbW9yZSBhcHByb3ByaWF0ZSBmb3Igc3VjaCBtZWFzdXJlbWVudHMuCiAKLVJlYWwtVGltZSBlbnZpcm9ubWVudHMgaXMgaW50ZXJlc3RlZCBpbiB0aGUgd29yc3QgY2FzZSBsYXRlbmN5LgorUmVhbC1UaW1lIGVudmlyb25tZW50cyBhcmUgaW50ZXJlc3RlZCBpbiB0aGUgd29yc3QgY2FzZSBsYXRlbmN5LgogVGhhdCBpcyB0aGUgbG9uZ2VzdCBsYXRlbmN5IGl0IHRha2VzIGZvciBzb21ldGhpbmcgdG8gaGFwcGVuLCBhbmQKIG5vdCB0aGUgYXZlcmFnZS4gV2UgY2FuIGhhdmUgYSB2ZXJ5IGZhc3Qgc2NoZWR1bGVyIHRoYXQgbWF5IG9ubHkKIGhhdmUgYSBsYXJnZSBsYXRlbmN5IG9uY2UgaW4gYSB3aGlsZSwgYnV0IHRoYXQgd291bGQgbm90IHdvcmsgd2VsbApAQCAtODg5LDggKzg5NCw4IEBACiBvZiBSVCB0YXNrcy4KIAogU2luY2UgdGhpcyB0cmFjZXIgb25seSBkZWFscyB3aXRoIFJUIHRhc2tzLCB3ZSB3aWxsIHJ1biB0aGlzIHNsaWdodGx5Ci1kaWZmZXJlbnQgdGhhbiB3ZSBkaWQgd2l0aCB0aGUgcHJldmlvdXMgdHJhY2Vycy4gSW5zdGVhZCBvZiBwZXJmb3JtaW5nCi1hbiAnbHMnIHdlIHdpbGwgcnVuICdzbGVlcCAxJyB1bmRlciAnY2hydCcgd2hpY2ggY2hhbmdlcyB0aGUKK2RpZmZlcmVudGx5IHRoYW4gd2UgZGlkIHdpdGggdGhlIHByZXZpb3VzIHRyYWNlcnMuIEluc3RlYWQgb2YgcGVyZm9ybWluZworYW4gJ2xzJywgd2Ugd2lsbCBydW4gJ3NsZWVwIDEnIHVuZGVyICdjaHJ0JyB3aGljaCBjaGFuZ2VzIHRoZQogcHJpb3JpdHkgb2YgdGhlIHRhc2suCiAKICAjIGVjaG8gd2FrZXVwID4gL2RlYnVnL3RyYWNpbmcvY3VycmVudF90cmFjZXIKQEAgLTkyNCw5ICs5MjksOSBAQAogdmltOmZ0PWhlbHAKIAogCi1SdW5uaW5nIHRoaXMgb24gYW4gaWRsZSBzeXN0ZW0gd2Ugc2VlIHRoYXQgaXQgb25seSB0b29rIDQgbWljcm9zZWNvbmRzCitSdW5uaW5nIHRoaXMgb24gYW4gaWRsZSBzeXN0ZW0sIHdlIHNlZSB0aGF0IGl0IG9ubHkgdG9vayA0IG1pY3Jvc2Vjb25kcwogdG8gcGVyZm9ybSB0aGUgdGFzayBzd2l0Y2guICBOb3RlLCBzaW5jZSB0aGUgdHJhY2UgbWFya2VyIGluIHRoZQotc2NoZWR1bGUgaXMgYmVmb3JlIHRoZSBhY3R1YWwgInN3aXRjaCIgd2Ugc3RvcCB0aGUgdHJhY2luZyB3aGVuCitzY2hlZHVsZSBpcyBiZWZvcmUgdGhlIGFjdHVhbCAic3dpdGNoIiwgd2Ugc3RvcCB0aGUgdHJhY2luZyB3aGVuCiB0aGUgcmVjb3JkZWQgdGFzayBpcyBhYm91dCB0byBzY2hlZHVsZSBpbi4gVGhpcyBtYXkgY2hhbmdlIGlmCiB3ZSBhZGQgYSBuZXcgbWFya2VyIGF0IHRoZSBlbmQgb2YgdGhlIHNjaGVkdWxlci4KIApAQCAtOTkyLDEyICs5OTcsMTUgQEAKIAogVGhlIGludGVycnVwdCB3ZW50IG9mZiB3aGlsZSBydW5uaW5nIGtzb2Z0aXJxZC4gVGhpcyB0YXNrIHJ1bnMgYXQKIFNDSEVEX09USEVSLiBXaHkgZGlkbid0IHdlIHNlZSB0aGUgJ04nIHNldCBlYXJseT8gVGhpcyBtYXkgYmUKLWEgaGFybWxlc3MgYnVnIHdpdGggeDg2XzMyIGFuZCA0SyBzdGFja3MuIFRoZSBuZWVkX3JlY2hlZCgpIGZ1bmN0aW9uCi10aGF0IHRlc3RzIGlmIHdlIG5lZWQgdG8gcmVzY2hlZHVsZSBsb29rcyBvbiB0aGUgYWN0dWFsIHN0YWNrLgotV2hlcmUgYXMgdGhlIHNldHRpbmcgb2YgdGhlIE5FRURfUkVTQ0hFRCBiaXQgaGFwcGVucyBvbiB0aGUKLXRhc2sncyBzdGFjay4gQnV0IGJlY2F1c2Ugd2UgYXJlIGluIGEgaGFyZCBpbnRlcnJ1cHQsIHRoZSB0ZXN0Ci1pcyB3aXRoIHRoZSBpbnRlcnJ1cHRzIHN0YWNrIHdoaWNoIGhhcyB0aGF0IHRvIGJlIGZhbHNlLiBXZSBkb24ndAotc2VlIHRoZSAnTicgdW50aWwgd2Ugc3dpdGNoIGJhY2sgdG8gdGhlIHRhc2sncyBzdGFjay4KK2EgaGFybWxlc3MgYnVnIHdpdGggeDg2XzMyIGFuZCA0SyBzdGFja3MuIE9uIHg4Nl8zMiB3aXRoIDRLIHN0YWNrcworY29uZmlndXJlZCwgdGhlIGludGVycnVwdCBhbmQgc29mdGlycSBydW5zIHdpdGggdGhlaXIgb3duIHN0YWNrLgorU29tZSBpbmZvcm1hdGlvbiBpcyBoZWxkIG9uIHRoZSB0b3Agb2YgdGhlIHRhc2sncyBzdGFjayAobmVlZF9yZXNjaGVkCithbmQgcHJlZW1wdF9jb3VudCBhcmUgYm90aCBzdG9yZWQgdGhlcmUpLiBUaGUgc2V0dGluZyBvZiB0aGUgTkVFRF9SRVNDSEVECitiaXQgaXMgZG9uZSBkaXJlY3RseSB0byB0aGUgdGFzaydzIHN0YWNrLCBidXQgdGhlIHJlYWRpbmcgb2YgdGhlCitORUVEX1JFU0NIRUQgaXMgZG9uZSBieSBsb29raW5nIGF0IHRoZSBjdXJyZW50IHN0YWNrLCB3aGljaCBpbiB0aGlzIGNhc2UKK2lzIHRoZSBzdGFjayBmb3IgdGhlIGhhcmQgaW50ZXJydXB0LiBUaGlzIGhpZGVzIHRoZSBmYWN0IHRoYXQgTkVFRF9SRVNDSEVECitoYXMgYmVlbiBzZXQuIFdlIGRvbid0IHNlZSB0aGUgJ04nIHVudGlsIHdlIHN3aXRjaCBiYWNrIHRvIHRoZSB0YXNrJ3MKK2Fzc2lnbmVkIHN0YWNrLgogCiBmdHJhY2UKIC0tLS0tLQpAQCAtMTA2NywxMCArMTA3NSwxMCBAQAogZXZlcnkga2VybmVsIGZ1bmN0aW9uLCBwcm9kdWNlZCBieSB0aGUgLXBnIHN3aXRjaCBpbiBnY2MpLCBzdGFydHMKIG9mIHBvaW50aW5nIHRvIGEgc2ltcGxlIHJldHVybi4KIAotV2hlbiBkeW5hbWljIGZ0cmFjZSBpcyBpbml0aWFsaXplZCwgaXQgY2FsbHMga3N0b3BfbWFjaGluZSB0byBtYWtlIGl0Ci1hY3QgbGlrZSBhIHVuaXByb2Nlc3NvciBzbyB0aGF0IGl0IGNhbiBmcmVlbHkgbW9kaWZ5IGNvZGUgd2l0aG91dAotd29ycnlpbmcgYWJvdXQgb3RoZXIgcHJvY2Vzc29ycyBleGVjdXRpbmcgdGhhdCBzYW1lIGNvZGUuICBBdAotaW5pdGlhbGl6YXRpb24sIHRoZSBtY291bnQgY2FsbHMgYXJlIGNoYW5nZSB0byBjYWxsIGEgInJlY29yZF9pcCIKK1doZW4gZHluYW1pYyBmdHJhY2UgaXMgaW5pdGlhbGl6ZWQsIGl0IGNhbGxzIGtzdG9wX21hY2hpbmUgdG8gbWFrZQordGhlIG1hY2hpbmUgYWN0IGxpa2UgYSB1bmlwcm9jZXNzb3Igc28gdGhhdCBpdCBjYW4gZnJlZWx5IG1vZGlmeSBjb2RlCit3aXRob3V0IHdvcnJ5aW5nIGFib3V0IG90aGVyIHByb2Nlc3NvcnMgZXhlY3V0aW5nIHRoYXQgc2FtZSBjb2RlLiAgQXQKK2luaXRpYWxpemF0aW9uLCB0aGUgbWNvdW50IGNhbGxzIGFyZSBjaGFuZ2VkIHRvIGNhbGwgYSAicmVjb3JkX2lwIgogZnVuY3Rpb24uICBBZnRlciB0aGlzLCB0aGUgZmlyc3QgdGltZSBhIGtlcm5lbCBmdW5jdGlvbiBpcyBjYWxsZWQsCiBpdCBoYXMgdGhlIGNhbGxpbmcgYWRkcmVzcyBzYXZlZCBpbiBhIGhhc2ggdGFibGUuCiAKQEAgLTEwODUsOCArMTA5Myw4IEBACiB3YW50IHRvIHRyYWNlIGFuZCB3aGljaCBvbmVzIHdlIHdhbnQgdGhlIG1jb3VudCBjYWxscyB0byByZW1haW4gYXMKIG5vcHMuCiAKLVR3byBmaWxlcyB0aGF0IGNvbnRhaW4gdG8gdGhlIGVuYWJsaW5nIGFuZCBkaXNhYmxpbmcgb2YgcmVjb3JkZWQKLWZ1bmN0aW9ucyBhcmU6CitUd28gZmlsZXMgYXJlIHVzZWQsIG9uZSBmb3IgZW5hYmxpbmcgYW5kIG9uZSBmb3IgZGlzYWJsaW5nIHRoZSB0cmFjaW5nCitvZiByZWNvcmRlZCBmdW5jdGlvbnMuIFRoZXkgYXJlOgogCiAgIHNldF9mdHJhY2VfZmlsdGVyCiAKQEAgLTEwOTQsNyArMTEwMiw3IEBACiAKICAgc2V0X2Z0cmFjZV9ub3RyYWNlCiAKLUEgbGlzdCBvZiBhdmFpbGFibGUgZnVuY3Rpb25zIHRoYXQgeW91IGNhbiBhZGQgdG8gdGhpcyBmaWxlcyBpcyBsaXN0ZWQKK0EgbGlzdCBvZiBhdmFpbGFibGUgZnVuY3Rpb25zIHRoYXQgeW91IGNhbiBhZGQgdG8gdGhlc2UgZmlsZXMgaXMgbGlzdGVkCiBpbjoKIAogICAgYXZhaWxhYmxlX2ZpbHRlcl9mdW5jdGlvbnMKQEAgLTExMzMsOSArMTE0MSw5IEBACiAKIAogUGVyaGFwcyB0aGlzIGlzbid0IGVub3VnaC4gVGhlIGZpbHRlcnMgYWxzbyBhbGxvdyBzaW1wbGUgd2lsZCBjYXJkcy4KLU9ubHkgdGhlIGZvbGxvd2luZyBpcyBjdXJyZW50bHkgYXZhaWxhYmxlCitPbmx5IHRoZSBmb2xsb3dpbmcgYXJlIGN1cnJlbnRseSBhdmFpbGFibGUKIAotICA8bWF0Y2g+KiAgLSB3aWxsIG1hdGNoIGZ1bmN0aW9ucyB0aGF0IGJlZ2lucyB3aXRoIDxtYXRjaD4KKyAgPG1hdGNoPiogIC0gd2lsbCBtYXRjaCBmdW5jdGlvbnMgdGhhdCBiZWdpbiB3aXRoIDxtYXRjaD4KICAgKjxtYXRjaD4gIC0gd2lsbCBtYXRjaCBmdW5jdGlvbnMgdGhhdCBlbmQgd2l0aCA8bWF0Y2g+CiAgICo8bWF0Y2g+KiAtIHdpbGwgbWF0Y2ggZnVuY3Rpb25zIHRoYXQgaGF2ZSA8bWF0Y2g+IGluIGl0CiAKQEAgLTExODcsNyArMTE5NSw3IEBACiBUbyByZXdyaXRlIHRoZSBmaWx0ZXJzLCB1c2UgJz4nCiBUbyBhcHBlbmQgdG8gdGhlIGZpbHRlcnMsIHVzZSAnPj4nCiAKLVRvIGNsZWFyIG91dCBhIGZpbHRlciBzbyB0aGF0IGFsbCBmdW5jdGlvbnMgd2lsbCBiZSByZWNvcmRlZCBhZ2Fpbi4KK1RvIGNsZWFyIG91dCBhIGZpbHRlciBzbyB0aGF0IGFsbCBmdW5jdGlvbnMgd2lsbCBiZSByZWNvcmRlZCBhZ2FpbjoKIAogICMgZWNobyA+IC9kZWJ1Zy90cmFjaW5nL3NldF9mdHJhY2VfZmlsdGVyCiAgIyBjYXQgL2RlYnVnL3RyYWNpbmcvc2V0X2Z0cmFjZV9maWx0ZXIKQEAgLTEyNDYsOCArMTI1NCw4IEBACiAKIEFzIG1lbnRpb25lZCBhYm92ZSwgd2hlbiBkeW5hbWljIGZ0cmFjZSBpcyBjb25maWd1cmVkIGluLCBhIGtlcm5lbAogdGhyZWFkIHdha2VzIHVwIG9uY2UgYSBzZWNvbmQgYW5kIGNoZWNrcyB0byBzZWUgaWYgdGhlcmUgYXJlIG1jb3VudAotY2FsbHMgdGhhdCBuZWVkIHRvIGJlIGNvbnZlcnRlZCBpbnRvIG5vcHMuIElmIHRoZXJlIGlzIG5vdCwgdGhlbgotaXQgc2ltcGx5IGdvZXMgYmFjayB0byBzbGVlcC4gQnV0IGlmIHRoZXJlIGlzLCBpdCB3aWxsIGNhbGwKK2NhbGxzIHRoYXQgbmVlZCB0byBiZSBjb252ZXJ0ZWQgaW50byBub3BzLiBJZiB0aGVyZSBhcmUgbm90IGFueSwgdGhlbgoraXQgc2ltcGx5IGdvZXMgYmFjayB0byBzbGVlcC4gQnV0IGlmIHRoZXJlIGFyZSBzb21lLCBpdCB3aWxsIGNhbGwKIGtzdG9wX21hY2hpbmUgdG8gY29udmVydCB0aGUgY2FsbHMgdG8gbm9wcy4KIAogVGhlcmUgbWF5IGJlIGEgY2FzZSB0aGF0IHlvdSBkbyBub3Qgd2FudCB0aGlzIGFkZGVkIGxhdGVuY3kuCkBAIC0xMjYyLDggKzEyNzAsOCBAQAogdG8gY2FsbGluZyBtY291bnQuIFdpdGhvdXQgdGhpcyBrZXJuZWwgdGhyZWFkLCB0aGF0IG92ZXJoZWFkIHdpbGwKIGV4aXN0LgogCi1Bbnkgd3JpdGUgdG8gdGhlIGZ0cmFjZWRfZW5hYmxlZCBmaWxlIHdpbGwgY2F1c2UgdGhlIGtzdG9wX21hY2hpbmUKLXRvIHJ1biBpZiB0aGVyZSBhcmUgcmVjb3JkZWQgY2FsbHMgdG8gbWNvdW50LiBUaGlzIG1lYW5zIHRoYXQgYQorSWYgdGhlcmUgYXJlIHJlY29yZGVkIGNhbGxzIHRvIG1jb3VudCwgYW55IHdyaXRlIHRvIHRoZSBmdHJhY2VkX2VuYWJsZWQKK2ZpbGUgd2lsbCBjYXVzZSB0aGUga3N0b3BfbWFjaGluZSB0byBydW4uIFRoaXMgbWVhbnMgdGhhdCBhCiB1c2VyIGNhbiBtYW51YWxseSBwZXJmb3JtIHRoZSB1cGRhdGVzIHdoZW4gdGhleSB3YW50IHRvIGJ5IHNpbXBseQogZWNob2luZyBhICcwJyBpbnRvIHRoZSBmdHJhY2VkX2VuYWJsZWQgZmlsZS4KIApAQCAtMTMxNSw3ICsxMzIzLDcgQEAKIAogSGF2aW5nIHRvbyBtdWNoIG9yIG5vdCBlbm91Z2ggZGF0YSBjYW4gYmUgdHJvdWJsZXNvbWUgaW4gZGlhZ25vc2luZwogc29tZSBpc3N1ZSBpbiB0aGUga2VybmVsLiBUaGUgZmlsZSB0cmFjZV9lbnRyaWVzIGlzIHVzZWQgdG8gbW9kaWZ5Ci10aGUgc2l6ZSBvZiB0aGUgaW50ZXJuYWwgdHJhY2UgYnVmZmVycy4gVGhlIG51bWJlcnMgbGlzdGVkCit0aGUgc2l6ZSBvZiB0aGUgaW50ZXJuYWwgdHJhY2UgYnVmZmVycy4gVGhlIG51bWJlciBsaXN0ZWQKIGlzIHRoZSBudW1iZXIgb2YgZW50cmllcyB0aGF0IGNhbiBiZSByZWNvcmRlZCBwZXIgQ1BVLiBUbyBrbm93CiB0aGUgZnVsbCBzaXplLCBtdWx0aXBseSB0aGUgbnVtYmVyIG9mIHBvc3NpYmxlIENQVVMgd2l0aCB0aGUKIG51bWJlciBvZiBlbnRyaWVzLgpAQCAtMTMyMyw3ICsxMzMxLDcgQEAKICAjIGNhdCAvZGVidWcvdHJhY2luZy90cmFjZV9lbnRyaWVzCiA2NTYyMAogCi1Ob3RlLCB0byBtb2RpZnkgdGhpcyB5b3UgbXVzdCBoYXZlIHRyYWNpbmcgZnVsbGluZyBkaXNhYmxlZC4gVG8gZG8gdGhhdCwKK05vdGUsIHRvIG1vZGlmeSB0aGlzLCB5b3UgbXVzdCBoYXZlIHRyYWNpbmcgY29tcGxldGVseSBkaXNhYmxlZC4gVG8gZG8gdGhhdCwKIGVjaG8gIm5vbmUiIGludG8gdGhlIGN1cnJlbnRfdHJhY2VyLgogCiAgIyBlY2hvIG5vbmUgPiAvZGVidWcvdHJhY2luZy9jdXJyZW50X3RyYWNlcgpAQCAtMTM0NCw3ICsxMzUyLDcgQEAKIFRoaXMgc2hvd3MgdXMgdGhhdCA4NSBlbnRyaWVzIGNhbiBmaXQgb24gYSBzaW5nbGUgcGFnZS4KIAogVGhlIG51bWJlciBvZiBwYWdlcyB0aGF0IHdpbGwgYmUgYWxsb2NhdGVkIGlzIGEgcGVyY2VudGFnZSBvZiBhdmFpbGFibGUKLW1lbW9yeS4gQWxsb2NhdGluZyB0b28gbXVjaCB3aWxsIHByb2R1Y2VzIGFuIGVycm9yLgorbWVtb3J5LiBBbGxvY2F0aW5nIHRvbyBtdWNoIHdpbGwgcHJvZHVjZSBhbiBlcnJvci4KIAogICMgZWNobyAxMDAwMDAwMDAwMDAwID4gL2RlYnVnL3RyYWNpbmcvdHJhY2VfZW50cmllcwogLWJhc2g6IGVjaG86IHdyaXRlIGVycm9yOiBDYW5ub3QgYWxsb2NhdGUgbWVtb3J5CmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2kyYy9idXNzZXMvaTJjLWk4MTAgYi9Eb2N1bWVudGF0aW9uL2kyYy9idXNzZXMvaTJjLWk4MTAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc3ODIxMGUuLjAwMDAwMDAKLS0tIGEvRG9jdW1lbnRhdGlvbi9pMmMvYnVzc2VzL2kyYy1pODEwCisrKyAvZGV2L251bGwKQEAgLTEsNDcgKzAsMCBAQAotS2VybmVsIGRyaXZlciBpMmMtaTgxMAotCi1TdXBwb3J0ZWQgYWRhcHRlcnM6Ci0gICogSW50ZWwgODI4MTAsIDgyODEwLURDMTAwLCA4MjgxMEUsIGFuZCA4MjgxNSAoR01DSCkKLSAgKiBJbnRlbCA4Mjg0NUcgKEdNQ0gpCi0KLUF1dGhvcnM6IAotCUZyb2RvIExvb2lqYWFyZCA8ZnJvZG9sQGRkcy5ubD4sIAotCVBoaWxpcCBFZGVsYnJvY2sgPHBoaWxAbmV0cm9lZGdlLmNvbT4sCi0gICAgICAgIEt5w7ZzdGkgTcOkbGtraSA8a21hbGtraUBjYy5odXQuZmk+LAotCVJhbHBoIE1ldHpsZXIgPHJqa21AdGhwLnVuaS1rb2Vsbi5kZT4sCi0JTWFyayBELiBTdHVkZWJha2VyIDxtZHN4eXoxMjNAeWFob28uY29tPgotCi1NYWluIGNvbnRhY3Q6IE1hcmsgU3R1ZGViYWtlciA8bWRzeHl6MTIzQHlhaG9vLmNvbT4KLQotRGVzY3JpcHRpb24gCi0tLS0tLS0tLS0tLSAKLQotV0FSTklORzogSWYgeW91IGhhdmUgYW4gJzgxMCcgb3IgJzgxNScgbW90aGVyYm9hcmQsIHlvdXIgc3RhbmRhcmQgSTJDCi10ZW1wZXJhdHVyZSBzZW5zb3JzIGFyZSBtb3N0IGxpa2VseSBvbiB0aGUgODAxJ3MgSTJDIGJ1cy4gWW91IHdhbnQgdGhlCi1pMmMtaTgwMSBkcml2ZXIgZm9yIHRob3NlLCBub3QgdGhpcyBkcml2ZXIuCi0KLU5vdyBmb3IgdGhlIGkyYy1pODEwLi4uCi0KLVRoZSBHTUNIIGNoaXAgY29udGFpbnMgdHdvIEkyQyBpbnRlcmZhY2VzLgotCi1UaGUgZmlyc3QgaW50ZXJmYWNlIGlzIHVzZWQgZm9yIEREQyAoRGF0YSBEaXNwbGF5IENoYW5uZWwpIHdoaWNoIGlzIGEKLXNlcmlhbCBjaGFubmVsIHRocm91Z2ggdGhlIFZHQSBtb25pdG9yIGNvbm5lY3RvciB0byBhIEREQy1jb21wbGlhbnQKLW1vbml0b3IuIFRoaXMgaW50ZXJmYWNlIGlzIGRlZmluZWQgYnkgdGhlIFZpZGVvIEVsZWN0cm9uaWNzIFN0YW5kYXJkcwotQXNzb2NpYXRpb24gKFZFU0EpLiBUaGUgc3RhbmRhcmRzIGFyZSBhdmFpbGFibGUgZm9yIHB1cmNoYXNlIGF0Ci1odHRwOi8vd3d3LnZlc2Eub3JnIC4KLQotVGhlIHNlY29uZCBpbnRlcmZhY2UgaXMgYSBnZW5lcmFsLXB1cnBvc2UgSTJDIGJ1cy4gSXQgbWF5IGJlIGNvbm5lY3RlZCB0byBhCi1UVi1vdXQgY2hpcCBzdWNoIGFzIHRoZSBCVDg2OSBvciBwb3NzaWJseSB0byBhIGRpZ2l0YWwgZmxhdC1wYW5lbCBkaXNwbGF5LgotCi1GZWF0dXJlcwotLS0tLS0tLS0gCi0KLUJvdGggYnVzc2VzIHVzZSB0aGUgaTJjLWFsZ28tYml0IGRyaXZlciBmb3IgJ2JpdCBiYW5naW5nJwotYW5kIHN1cHBvcnQgZm9yIHNwZWNpZmljIHRyYW5zYWN0aW9ucyBpcyBwcm92aWRlZCBieSBpMmMtYWxnby1iaXQuCi0KLUlzc3VlcwotLS0tLS0tCi0KLUlmIHlvdSBlbmFibGUgYnVzIHRlc3RpbmcgaW4gaTJjLWFsZ28tYml0IChpbnNtb2QgaTJjLWFsZ28tYml0IGJpdF90ZXN0PTEpLAotdGhlIHRlc3QgbWF5IGZhaWw7IGlmIHNvLCB0aGUgaTJjLWk4MTAgZHJpdmVyIHdvbid0IGJlIGluc2VydGVkLiBIb3dldmVyLAotd2UgdGhpbmsgdGhpcyBoYXMgYmVlbiBmaXhlZC4KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vaTJjL2J1c3Nlcy9pMmMtcHJvc2F2YWdlIGIvRG9jdW1lbnRhdGlvbi9pMmMvYnVzc2VzL2kyYy1wcm9zYXZhZ2UKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDcwMzY4NzkuLjAwMDAwMDAKLS0tIGEvRG9jdW1lbnRhdGlvbi9pMmMvYnVzc2VzL2kyYy1wcm9zYXZhZ2UKKysrIC9kZXYvbnVsbApAQCAtMSwyMyArMCwwIEBACi1LZXJuZWwgZHJpdmVyIGkyYy1wcm9zYXZhZ2UKLQotU3VwcG9ydGVkIGFkYXB0ZXJzOgotCQotCVMzL1ZJQSBLTTI2Ni9WVDgzNzUgYWthIFByb1NhdmFnZTggCi0JUzMvVklBIEtNMTMzL1ZUODM2NSBha2EgU2F2YWdlNCAKLQotQXV0aG9yOiBIZW5rIFZlcmdvbmV0IDxoZW5rQGdvZC5keW5kbnMub3JnPgotCi1EZXNjcmlwdGlvbgotLS0tLS0tLS0tLS0KLQotVGhlIFNhdmFnZTQgY2hpcHMgY29udGFpbiB0d28gSTJDIGludGVyZmFjZXMgKGFrYSBhIEkyQyAnbWFzdGVyJyBvcgotJ2hvc3QnKS4gCi0KLVRoZSBmaXJzdCBpbnRlcmZhY2UgaXMgdXNlZCBmb3IgRERDIChEYXRhIERpc3BsYXkgQ2hhbm5lbCkgd2hpY2ggaXMgYQotc2VyaWFsIGNoYW5uZWwgdGhyb3VnaCB0aGUgVkdBIG1vbml0b3IgY29ubmVjdG9yIHRvIGEgRERDLWNvbXBsaWFudAotbW9uaXRvci4gVGhpcyBpbnRlcmZhY2UgaXMgZGVmaW5lZCBieSB0aGUgVmlkZW8gRWxlY3Ryb25pY3MgU3RhbmRhcmRzCi1Bc3NvY2lhdGlvbiAoVkVTQSkuIFRoZSBzdGFuZGFyZHMgYXJlIGF2YWlsYWJsZSBmb3IgcHVyY2hhc2UgYXQKLWh0dHA6Ly93d3cudmVzYS5vcmcgLiBUaGUgc2Vjb25kIGludGVyZmFjZSBpcyBhIGdlbmVyYWwtcHVycG9zZSBJMkMgYnVzLgotCi1Vc2VmdWxsIGZvciBnYWluaW5nIGFjY2VzcyB0byB0aGUgVFYgRW5jb2RlciBjaGlwcy4KLQpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9pMmMvYnVzc2VzL2kyYy1zYXZhZ2U0IGIvRG9jdW1lbnRhdGlvbi9pMmMvYnVzc2VzL2kyYy1zYXZhZ2U0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2ZWNjZWFiLi4wMDAwMDAwCi0tLSBhL0RvY3VtZW50YXRpb24vaTJjL2J1c3Nlcy9pMmMtc2F2YWdlNAorKysgL2Rldi9udWxsCkBAIC0xLDI2ICswLDAgQEAKLUtlcm5lbCBkcml2ZXIgaTJjLXNhdmFnZTQKLQotU3VwcG9ydGVkIGFkYXB0ZXJzOgotICAqIFNhdmFnZTQKLSAgKiBTYXZhZ2UyMDAwCi0KLUF1dGhvcnM6IAotCUFsZXhhbmRlciBXb2xkIDxhd29sZEBiaWdmb290LmNvbT4sCi0JTWFyayBELiBTdHVkZWJha2VyIDxtZHN4eXoxMjNAeWFob28uY29tPiAKLQotRGVzY3JpcHRpb24KLS0tLS0tLS0tLS0tCi0KLVRoZSBTYXZhZ2U0IGNoaXBzIGNvbnRhaW4gdHdvIEkyQyBpbnRlcmZhY2VzIChha2EgYSBJMkMgJ21hc3RlcicKLW9yICdob3N0JykuIAotCi1UaGUgZmlyc3QgaW50ZXJmYWNlIGlzIHVzZWQgZm9yIEREQyAoRGF0YSBEaXNwbGF5IENoYW5uZWwpIHdoaWNoIGlzIGEKLXNlcmlhbCBjaGFubmVsIHRocm91Z2ggdGhlIFZHQSBtb25pdG9yIGNvbm5lY3RvciB0byBhIEREQy1jb21wbGlhbnQKLW1vbml0b3IuIFRoaXMgaW50ZXJmYWNlIGlzIGRlZmluZWQgYnkgdGhlIFZpZGVvIEVsZWN0cm9uaWNzIFN0YW5kYXJkcwotQXNzb2NpYXRpb24gKFZFU0EpLiBUaGUgc3RhbmRhcmRzIGFyZSBhdmFpbGFibGUgZm9yIHB1cmNoYXNlIGF0Ci1odHRwOi8vd3d3LnZlc2Eub3JnIC4gVGhlIEREQyBidXMgaXMgbm90IHlldCBzdXBwb3J0ZWQgYmVjYXVzZSBpdHMgcmVnaXN0ZXIKLWlzIG5vdCBkaXJlY3RseSBtZW1vcnktbWFwcGVkLgotCi1UaGUgc2Vjb25kIGludGVyZmFjZSBpcyBhIGdlbmVyYWwtcHVycG9zZSBJMkMgYnVzLiBUaGlzIGlzIHRoZSBvbmx5Ci1pbnRlcmZhY2Ugc3VwcG9ydGVkIGJ5IHRoZSBkcml2ZXIgYXQgdGhlIG1vbWVudC4KLQpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9pMmMvZmF1bHQtY29kZXMgYi9Eb2N1bWVudGF0aW9uL2kyYy9mYXVsdC1jb2RlcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNDU3NjVjCi0tLSAvZGV2L251bGwKKysrIGIvRG9jdW1lbnRhdGlvbi9pMmMvZmF1bHQtY29kZXMKQEAgLTAsMCArMSwxMjcgQEAKK1RoaXMgaXMgYSBzdW1tYXJ5IG9mIHRoZSBtb3N0IGltcG9ydGFudCBjb252ZW50aW9ucyBmb3IgdXNlIG9mIGZhdWx0Citjb2RlcyBpbiB0aGUgSTJDL1NNQnVzIHN0YWNrLgorCisKK0EgIkZhdWx0IiBpcyBub3QgYWx3YXlzIGFuICJFcnJvciIKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK05vdCBhbGwgZmF1bHQgcmVwb3J0cyBpbXBseSBlcnJvcnM7ICJwYWdlIGZhdWx0cyIgc2hvdWxkIGJlIGEgZmFtaWxpYXIKK2V4YW1wbGUuICBTb2Z0d2FyZSBvZnRlbiByZXRyaWVzIGlkZW1wb3RlbnQgb3BlcmF0aW9ucyBhZnRlciB0cmFuc2llbnQKK2ZhdWx0cy4gIFRoZXJlIG1heSBiZSBmYW5jaWVyIHJlY292ZXJ5IHNjaGVtZXMgdGhhdCBhcmUgYXBwcm9wcmlhdGUgaW4KK3NvbWUgY2FzZXMsIHN1Y2ggYXMgcmUtaW5pdGlhbGl6aW5nIChhbmQgbWF5YmUgcmVzZXR0aW5nKS4gIEFmdGVyIHN1Y2gKK3JlY292ZXJ5LCB0cmlnZ2VyZWQgYnkgYSBmYXVsdCByZXBvcnQsIHRoZXJlIGlzIG5vIGVycm9yLgorCitJbiBhIHNpbWlsYXIgd2F5LCBzb21ldGltZXMgYSAiZmF1bHQiIGNvZGUganVzdCByZXBvcnRzIG9uZSBkZWZpbmVkCityZXN1bHQgZm9yIGFuIG9wZXJhdGlvbiAuLi4gaXQgZG9lc24ndCBpbmRpY2F0ZSB0aGF0IGFueXRoaW5nIGlzIHdyb25nCithdCBhbGwsIGp1c3QgdGhhdCB0aGUgb3V0Y29tZSB3YXNuJ3Qgb24gdGhlICJnb2xkZW4gcGF0aCIuCisKK0luIHNob3J0LCB5b3VyIEkyQyBkcml2ZXIgY29kZSBtYXkgbmVlZCB0byBrbm93IHRoZXNlIGNvZGVzIGluIG9yZGVyCit0byByZXNwb25kIGNvcnJlY3RseS4gIE90aGVyIGNvZGUgbWF5IG5lZWQgdG8gcmVseSBvbiBZT1VSIGNvZGUgcmVwb3J0aW5nCit0aGUgcmlnaHQgZmF1bHQgY29kZSwgc28gdGhhdCBpdCBjYW4gKGluIHR1cm4pIGJlaGF2ZSBjb3JyZWN0bHkuCisKKworSTJDIGFuZCBTTUJ1cyBmYXVsdCBjb2RlcworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorVGhlc2UgYXJlIHJldHVybmVkIGFzIG5lZ2F0aXZlIG51bWJlcnMgZnJvbSBtb3N0IGNhbGxzLCB3aXRoIHplcm8gb3IKK3NvbWUgcG9zaXRpdmUgbnVtYmVyIGluZGljYXRpbmcgYSBub24tZmF1bHQgcmV0dXJuLiAgVGhlIHNwZWNpZmljCitudW1iZXJzIGFzc29jaWF0ZWQgd2l0aCB0aGVzZSBzeW1ib2xzIGRpZmZlciBiZXR3ZWVuIGFyY2hpdGVjdHVyZXMsCit0aG91Z2ggbW9zdCBMaW51eCBzeXN0ZW1zIHVzZSA8YXNtLWdlbmVyaWMvZXJybm8qLmg+IG51bWJlcmluZy4KKworTm90ZSB0aGF0IHRoZSBkZXNjcmlwdGlvbnMgaGVyZSBhcmUgbm90IGV4aGF1c3RpdmUuICBUaGVyZSBhcmUgb3RoZXIKK2NvZGVzIHRoYXQgbWF5IGJlIHJldHVybmVkLCBhbmQgb3RoZXIgY2FzZXMgd2hlcmUgdGhlc2UgY29kZXMgc2hvdWxkCitiZSByZXR1cm5lZC4gIEhvd2V2ZXIsIGRyaXZlcnMgc2hvdWxkIG5vdCByZXR1cm4gb3RoZXIgY29kZXMgZm9yIHRoZXNlCitjYXNlcyAodW5sZXNzIHRoZSBoYXJkd2FyZSBkb2Vzbid0IHByb3ZpZGUgdW5pcXVlIGZhdWx0IHJlcG9ydHMpLgorCitBbHNvLCBjb2RlcyByZXR1cm5lZCBieSBhZGFwdGVyIHByb2JlIG1ldGhvZHMgZm9sbG93IHJ1bGVzIHdoaWNoIGFyZQorc3BlY2lmaWMgdG8gdGhlaXIgaG9zdCBidXMgKHN1Y2ggYXMgUENJLCBvciB0aGUgcGxhdGZvcm0gYnVzKS4KKworCitFQUdBSU4KKwlSZXR1cm5lZCBieSBJMkMgYWRhcHRlcnMgd2hlbiB0aGV5IGxvc2UgYXJiaXRyYXRpb24gaW4gbWFzdGVyCisJdHJhbnNtaXQgbW9kZTogIHNvbWUgb3RoZXIgbWFzdGVyIHdhcyB0cmFuc21pdHRpbmcgZGlmZmVyZW50CisJZGF0YSBhdCB0aGUgc2FtZSB0aW1lLgorCisJQWxzbyByZXR1cm5lZCB3aGVuIHRyeWluZyB0byBpbnZva2UgYW4gSTJDIG9wZXJhdGlvbiBpbiBhbgorCWF0b21pYyBjb250ZXh0LCB3aGVuIHNvbWUgdGFzayBpcyBhbHJlYWR5IHVzaW5nIHRoYXQgSTJDIGJ1cworCXRvIGV4ZWN1dGUgc29tZSBvdGhlciBvcGVyYXRpb24uCisKK0VCQURNU0cKKwlSZXR1cm5lZCBieSBTTUJ1cyBsb2dpYyB3aGVuIGFuIGludmFsaWQgUGFja2V0IEVycm9yIENvZGUgYnl0ZQorCWlzIHJlY2VpdmVkLiAgVGhpcyBjb2RlIGlzIGEgQ1JDIGNvdmVyaW5nIGFsbCBieXRlcyBpbiB0aGUKKwl0cmFuc2FjdGlvbiwgYW5kIGlzIHNlbnQgYmVmb3JlIHRoZSB0ZXJtaW5hdGluZyBTVE9QLiAgVGhpcworCWZhdWx0IGlzIG9ubHkgcmVwb3J0ZWQgb24gcmVhZCB0cmFuc2FjdGlvbnM7IHRoZSBTTUJ1cyBzbGF2ZQorCW1heSBoYXZlIGEgd2F5IHRvIHJlcG9ydCBQRUMgbWlzbWF0Y2hlcyBvbiB3cml0ZXMgZnJvbSB0aGUKKwlob3N0LiAgTm90ZSB0aGF0IGV2ZW4gaWYgUEVDcyBhcmUgaW4gdXNlLCB5b3Ugc2hvdWxkIG5vdCByZWx5CisJb24gdGhlc2UgYXMgdGhlIG9ubHkgd2F5IHRvIGRldGVjdCBpbmNvcnJlY3QgZGF0YSB0cmFuc2ZlcnMuCisKK0VCVVNZCisJUmV0dXJuZWQgYnkgU01CdXMgYWRhcHRlcnMgd2hlbiB0aGUgYnVzIHdhcyBidXN5IGZvciBsb25nZXIKKwl0aGFuIGFsbG93ZWQuICBUaGlzIHVzdWFsbHkgaW5kaWNhdGVzIHNvbWUgZGV2aWNlIChtYXliZSB0aGUKKwlTTUJ1cyBhZGFwdGVyKSBuZWVkcyBzb21lIGZhdWx0IHJlY292ZXJ5IChzdWNoIGFzIHJlc2V0dGluZyksCisJb3IgdGhhdCB0aGUgcmVzZXQgd2FzIGF0dGVtcHRlZCBidXQgZmFpbGVkLgorCitFSU5WQUwKKwlUaGlzIHJhdGhlciB2YWd1ZSBlcnJvciBtZWFucyBhbiBpbnZhbGlkIHBhcmFtZXRlciBoYXMgYmVlbgorCWRldGVjdGVkIGJlZm9yZSBhbnkgSS9PIG9wZXJhdGlvbiB3YXMgc3RhcnRlZC4gIFVzZSBhIG1vcmUKKwlzcGVjaWZpYyBmYXVsdCBjb2RlIHdoZW4geW91IGNhbi4KKworCU9uZSBleGFtcGxlIHdvdWxkIGJlIGEgZHJpdmVyIHRyeWluZyBhbiBTTUJ1cyBCbG9jayBXcml0ZQorCXdpdGggYmxvY2sgc2l6ZSBvdXRzaWRlIHRoZSByYW5nZSBvZiAxLTMyIGJ5dGVzLgorCitFSU8KKwlUaGlzIHJhdGhlciB2YWd1ZSBlcnJvciBtZWFucyBzb21ldGhpbmcgd2VudCB3cm9uZyB3aGVuCisJcGVyZm9ybWluZyBhbiBJL08gb3BlcmF0aW9uLiAgVXNlIGEgbW9yZSBzcGVjaWZpYyBmYXVsdAorCWNvZGUgd2hlbiB5b3UgY2FuLgorCitFTk9ERVYKKwlSZXR1cm5lZCBieSBkcml2ZXIgcHJvYmUoKSBtZXRob2RzLiAgVGhpcyBpcyBhIGJpdCBtb3JlCisJc3BlY2lmaWMgdGhhbiBFTlhJTywgaW1wbHlpbmcgdGhlIHByb2JsZW0gaXNuJ3Qgd2l0aCB0aGUKKwlhZGRyZXNzLCBidXQgd2l0aCB0aGUgZGV2aWNlIGZvdW5kIHRoZXJlLiAgRHJpdmVyIHByb2JlcworCW1heSB2ZXJpZnkgdGhlIGRldmljZSByZXR1cm5zICpjb3JyZWN0KiByZXNwb25zZXMsIGFuZAorCXJldHVybiB0aGlzIGFzIGFwcHJvcHJpYXRlLiAgKFRoZSBkcml2ZXIgY29yZSB3aWxsIHdhcm4KKwlhYm91dCBwcm9iZSBmYXVsdHMgb3RoZXIgdGhhbiBFTlhJTyBhbmQgRU5PREVWLikKKworRU5PTUVNCisJUmV0dXJuZWQgYnkgYW55IGNvbXBvbmVudCB0aGF0IGNhbid0IGFsbG9jYXRlIG1lbW9yeSB3aGVuCisJaXQgbmVlZHMgdG8gZG8gc28uCisKK0VOWElPCisJUmV0dXJuZWQgYnkgSTJDIGFkYXB0ZXJzIHRvIGluZGljYXRlIHRoYXQgdGhlIGFkZHJlc3MgcGhhc2UKKwlvZiBhIHRyYW5zZmVyIGRpZG4ndCBnZXQgYW4gQUNLLiAgV2hpbGUgaXQgbWlnaHQganVzdCBtZWFuCisJYW4gSTJDIGRldmljZSB3YXMgdGVtcG9yYXJpbHkgbm90IHJlc3BvbmRpbmcsIHVzdWFsbHkgaXQKKwltZWFucyB0aGVyZSdzIG5vdGhpbmcgbGlzdGVuaW5nIGF0IHRoYXQgYWRkcmVzcy4KKworCVJldHVybmVkIGJ5IGRyaXZlciBwcm9iZSgpIG1ldGhvZHMgdG8gaW5kaWNhdGUgdGhhdCB0aGV5CisJZm91bmQgbm8gZGV2aWNlIHRvIGJpbmQgdG8uICAoRU5PREVWIG1heSBhbHNvIGJlIHVzZWQuKQorCitFT1BOT1RTVVBQCisJUmV0dXJuZWQgYnkgYW4gYWRhcHRlciB3aGVuIGFza2VkIHRvIHBlcmZvcm0gYW4gb3BlcmF0aW9uCisJdGhhdCBpdCBkb2Vzbid0LCBvciBjYW4ndCwgc3VwcG9ydC4KKworCUZvciBleGFtcGxlLCB0aGlzIHdvdWxkIGJlIHJldHVybmVkIHdoZW4gYW4gYWRhcHRlciB0aGF0CisJZG9lc24ndCBzdXBwb3J0IFNNQnVzIGJsb2NrIHRyYW5zZmVycyBpcyBhc2tlZCB0byBleGVjdXRlCisJb25lLiAgSW4gdGhhdCBjYXNlLCB0aGUgZHJpdmVyIG1ha2luZyB0aGF0IHJlcXVlc3Qgc2hvdWxkCisJaGF2ZSB2ZXJpZmllZCB0aGF0IGZ1bmN0aW9uYWxpdHkgd2FzIHN1cHBvcnRlZCBiZWZvcmUgaXQKKwltYWRlIHRoYXQgYmxvY2sgdHJhbnNmZXIgcmVxdWVzdC4KKworCVNpbWlsYXJseSwgaWYgYW4gSTJDIGFkYXB0ZXIgY2FuJ3QgZXhlY3V0ZSBhbGwgbGVnYWwgSTJDCisJbWVzc2FnZXMsIGl0IHNob3VsZCByZXR1cm4gdGhpcyB3aGVuIGFza2VkIHRvIHBlcmZvcm0gYQorCXRyYW5zYWN0aW9uIGl0IGNhbid0LiAgKFRoZXNlIGxpbWl0YXRpb25zIGNhbid0IGJlIHNlZW4gaW4KKwl0aGUgYWRhcHRlcidzIGZ1bmN0aW9uYWxpdHkgbWFzaywgc2luY2UgdGhlIGFzc3VtcHRpb24gaXMKKwl0aGF0IGlmIGFuIGFkYXB0ZXIgc3VwcG9ydHMgSTJDIGl0IHN1cHBvcnRzIGFsbCBvZiBJMkMuKQorCitFUFJPVE8KKwlSZXR1cm5lZCB3aGVuIHNsYXZlIGRvZXMgbm90IGNvbmZvcm0gdG8gdGhlIHJlbGV2YW50IEkyQworCW9yIFNNQnVzIChvciBjaGlwLXNwZWNpZmljKSBwcm90b2NvbCBzcGVjaWZpY2F0aW9ucy4gIE9uZQorCWNhc2UgaXMgd2hlbiB0aGUgbGVuZ3RoIG9mIGFuIFNNQnVzIGJsb2NrIGRhdGEgcmVzcG9uc2UKKwkoZnJvbSB0aGUgU01CdXMgc2xhdmUpIGlzIG91dHNpZGUgdGhlIHJhbmdlIDEtMzIgYnl0ZXMuCisKK0VUSU1FRE9VVAorCVRoaXMgaXMgcmV0dXJuZWQgYnkgZHJpdmVycyB3aGVuIGFuIG9wZXJhdGlvbiB0b29rIHRvbyBtdWNoCisJdGltZSwgYW5kIHdhcyBhYm9ydGVkIGJlZm9yZSBpdCBjb21wbGV0ZWQuCisKKwlTTUJ1cyBhZGFwdGVycyBtYXkgcmV0dXJuIGl0IHdoZW4gYW4gb3BlcmF0aW9uIHRvb2sgbW9yZQorCXRpbWUgdGhhbiBhbGxvd2VkIGJ5IHRoZSBTTUJ1cyBzcGVjaWZpY2F0aW9uOyBmb3IgZXhhbXBsZSwKKwl3aGVuIGEgc2xhdmUgc3RyZXRjaGVzIGNsb2NrcyB0b28gZmFyLiAgSTJDIGhhcyBubyBzdWNoCisJdGltZW91dHMsIGJ1dCBpdCdzIG5vcm1hbCBmb3IgSTJDIGFkYXB0ZXJzIHRvIGltcG9zZSBzb21lCisJYXJiaXRyYXJ5IGxpbWl0cyAobXVjaCBsb25nZXIgdGhhbiBTTUJ1cyEpIHRvby4KKwpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9pMmMvc21idXMtcHJvdG9jb2wgYi9Eb2N1bWVudGF0aW9uL2kyYy9zbWJ1cy1wcm90b2NvbAppbmRleCAwM2YwOGZiLi4yNGJmYjY1ZCAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9pMmMvc21idXMtcHJvdG9jb2wKKysrIGIvRG9jdW1lbnRhdGlvbi9pMmMvc21idXMtcHJvdG9jb2wKQEAgLTQyLDggKzQyLDggQEAKIFsuLl06IERhdGEgc2VudCBieSBJMkMgZGV2aWNlLCBhcyBvcHBvc2VkIHRvIGRhdGEgc2VudCBieSB0aGUgaG9zdCBhZGFwdGVyLgogCiAKLVNNQnVzIFF1aWNrIENvbW1hbmQ6ICBpMmNfc21idXNfd3JpdGVfcXVpY2soKQotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CitTTUJ1cyBRdWljayBDb21tYW5kCis9PT09PT09PT09PT09PT09PT09CiAKIFRoaXMgc2VuZHMgYSBzaW5nbGUgYml0IHRvIHRoZSBkZXZpY2UsIGF0IHRoZSBwbGFjZSBvZiB0aGUgUmQvV3IgYml0LgogCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2kyYy93cml0aW5nLWNsaWVudHMgYi9Eb2N1bWVudGF0aW9uL2kyYy93cml0aW5nLWNsaWVudHMKaW5kZXggZDRjZDQxMi4uNmI2MWIzYSAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9pMmMvd3JpdGluZy1jbGllbnRzCisrKyBiL0RvY3VtZW50YXRpb24vaTJjL3dyaXRpbmctY2xpZW50cwpAQCAtNDQsNiArNDQsMTAgQEAKIAkuaWRfdGFibGUJPSBmb29faWRzLAogCS5wcm9iZQkJPSBmb29fcHJvYmUsCiAJLnJlbW92ZQkJPSBmb29fcmVtb3ZlLAorCS8qIGlmIGRldmljZSBhdXRvZGV0ZWN0aW9uIGlzIG5lZWRlZDogKi8KKwkuY2xhc3MJCT0gSTJDX0NMQVNTX1NPTUVUSElORywKKwkuZGV0ZWN0CQk9IGZvb19kZXRlY3QsCisJLmFkZHJlc3NfZGF0YQk9ICZhZGRyX2RhdGEsCiAKIAkvKiBlbHNlLCBkcml2ZXIgdXNlcyAibGVnYWN5IiBiaW5kaW5nIG1vZGVsOiAqLwogCS5hdHRhY2hfYWRhcHRlcgk9IGZvb19hdHRhY2hfYWRhcHRlciwKQEAgLTIxNyw2ICsyMjEsMzEgQEAKIHJlZmVyZW5jZSBmb3IgbGF0ZXIgdXNlLgogCiAKK0RldmljZSBEZXRlY3Rpb24gKFN0YW5kYXJkIGRyaXZlciBtb2RlbCkKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworU29tZXRpbWVzIHlvdSBkbyBub3Qga25vdyBpbiBhZHZhbmNlIHdoaWNoIEkyQyBkZXZpY2VzIGFyZSBjb25uZWN0ZWQgdG8KK2EgZ2l2ZW4gSTJDIGJ1cy4gIFRoaXMgaXMgZm9yIGV4YW1wbGUgdGhlIGNhc2Ugb2YgaGFyZHdhcmUgbW9uaXRvcmluZworZGV2aWNlcyBvbiBhIFBDJ3MgU01CdXMuICBJbiB0aGF0IGNhc2UsIHlvdSBtYXkgd2FudCB0byBsZXQgeW91ciBkcml2ZXIKK2RldGVjdCBzdXBwb3J0ZWQgZGV2aWNlcyBhdXRvbWF0aWNhbGx5LiAgVGhpcyBpcyBob3cgdGhlIGxlZ2FjeSBtb2RlbAord2FzIHdvcmtpbmcsIGFuZCBpcyBub3cgYXZhaWxhYmxlIGFzIGFuIGV4dGVuc2lvbiB0byB0aGUgc3RhbmRhcmQKK2RyaXZlciBtb2RlbCAoc28gdGhhdCB3ZSBjYW4gZmluYWxseSBnZXQgcmlkIG9mIHRoZSBsZWdhY3kgbW9kZWwuKQorCitZb3Ugc2ltcGx5IGhhdmUgdG8gZGVmaW5lIGEgZGV0ZWN0IGNhbGxiYWNrIHdoaWNoIHdpbGwgYXR0ZW1wdCB0bworaWRlbnRpZnkgc3VwcG9ydGVkIGRldmljZXMgKHJldHVybmluZyAwIGZvciBzdXBwb3J0ZWQgb25lcyBhbmQgLUVOT0RFVgorZm9yIHVuc3VwcG9ydGVkIG9uZXMpLCBhIGxpc3Qgb2YgYWRkcmVzc2VzIHRvIHByb2JlLCBhbmQgYSBkZXZpY2UgdHlwZQorKG9yIGNsYXNzKSBzbyB0aGF0IG9ubHkgSTJDIGJ1c2VzIHdoaWNoIG1heSBoYXZlIHRoYXQgdHlwZSBvZiBkZXZpY2UKK2Nvbm5lY3RlZCAoYW5kIG5vdCBvdGhlcndpc2UgZW51bWVyYXRlZCkgd2lsbCBiZSBwcm9iZWQuICBUaGUgaTJjCitjb3JlIHdpbGwgdGhlbiBjYWxsIHlvdSBiYWNrIGFzIG5lZWRlZCBhbmQgd2lsbCBpbnN0YW50aWF0ZSBhIGRldmljZQorZm9yIHlvdSBmb3IgZXZlcnkgc3VjY2Vzc2Z1bCBkZXRlY3Rpb24uCisKK05vdGUgdGhhdCB0aGlzIG1lY2hhbmlzbSBpcyBwdXJlbHkgb3B0aW9uYWwgYW5kIG5vdCBzdWl0YWJsZSBmb3IgYWxsCitkZXZpY2VzLiAgWW91IG5lZWQgc29tZSByZWxpYWJsZSB3YXkgdG8gaWRlbnRpZnkgdGhlIHN1cHBvcnRlZCBkZXZpY2VzCisodHlwaWNhbGx5IHVzaW5nIGRldmljZS1zcGVjaWZpYywgZGVkaWNhdGVkIGlkZW50aWZpY2F0aW9uIHJlZ2lzdGVycyksCitvdGhlcndpc2UgbWlzZGV0ZWN0aW9ucyBhcmUgbGlrZWx5IHRvIG9jY3VyIGFuZCB0aGluZ3MgY2FuIGdldCB3cm9uZworcXVpY2tseS4KKworCiBEZXZpY2UgRGVsZXRpb24gKFN0YW5kYXJkIGRyaXZlciBtb2RlbCkKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCkBAIC01NjksNyArNTk4LDYgQEAKICAgaW4gdGVybXMgb2YgaXQuIE5ldmVyIHVzZSB0aGlzIGZ1bmN0aW9uIGRpcmVjdGx5IQogCiAKLSAgZXh0ZXJuIHMzMiBpMmNfc21idXNfd3JpdGVfcXVpY2soc3RydWN0IGkyY19jbGllbnQgKiBjbGllbnQsIHU4IHZhbHVlKTsKICAgZXh0ZXJuIHMzMiBpMmNfc21idXNfcmVhZF9ieXRlKHN0cnVjdCBpMmNfY2xpZW50ICogY2xpZW50KTsKICAgZXh0ZXJuIHMzMiBpMmNfc21idXNfd3JpdGVfYnl0ZShzdHJ1Y3QgaTJjX2NsaWVudCAqIGNsaWVudCwgdTggdmFsdWUpOwogICBleHRlcm4gczMyIGkyY19zbWJ1c19yZWFkX2J5dGVfZGF0YShzdHJ1Y3QgaTJjX2NsaWVudCAqIGNsaWVudCwgdTggY29tbWFuZCk7CkBAIC01NzgsMzAgKzYwNiwzMSBAQAogICBleHRlcm4gczMyIGkyY19zbWJ1c19yZWFkX3dvcmRfZGF0YShzdHJ1Y3QgaTJjX2NsaWVudCAqIGNsaWVudCwgdTggY29tbWFuZCk7CiAgIGV4dGVybiBzMzIgaTJjX3NtYnVzX3dyaXRlX3dvcmRfZGF0YShzdHJ1Y3QgaTJjX2NsaWVudCAqIGNsaWVudCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHU4IGNvbW1hbmQsIHUxNiB2YWx1ZSk7CisgIGV4dGVybiBzMzIgaTJjX3NtYnVzX3JlYWRfYmxvY2tfZGF0YShzdHJ1Y3QgaTJjX2NsaWVudCAqIGNsaWVudCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHU4IGNvbW1hbmQsIHU4ICp2YWx1ZXMpOwogICBleHRlcm4gczMyIGkyY19zbWJ1c193cml0ZV9ibG9ja19kYXRhKHN0cnVjdCBpMmNfY2xpZW50ICogY2xpZW50LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHU4IGNvbW1hbmQsIHU4IGxlbmd0aCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1OCAqdmFsdWVzKTsKICAgZXh0ZXJuIHMzMiBpMmNfc21idXNfcmVhZF9pMmNfYmxvY2tfZGF0YShzdHJ1Y3QgaTJjX2NsaWVudCAqIGNsaWVudCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1OCBjb21tYW5kLCB1OCBsZW5ndGgsIHU4ICp2YWx1ZXMpOwotCi1UaGVzZSBvbmVzIHdlcmUgcmVtb3ZlZCBpbiBMaW51eCAyLjYuMTAgYmVjYXVzZSB0aGV5IGhhZCBubyB1c2VycywgYnV0IGNvdWxkCi1iZSBhZGRlZCBiYWNrIGxhdGVyIGlmIG5lZWRlZDoKLQotICBleHRlcm4gczMyIGkyY19zbWJ1c19yZWFkX2Jsb2NrX2RhdGEoc3RydWN0IGkyY19jbGllbnQgKiBjbGllbnQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1OCBjb21tYW5kLCB1OCAqdmFsdWVzKTsKICAgZXh0ZXJuIHMzMiBpMmNfc21idXNfd3JpdGVfaTJjX2Jsb2NrX2RhdGEoc3RydWN0IGkyY19jbGllbnQgKiBjbGllbnQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHU4IGNvbW1hbmQsIHU4IGxlbmd0aCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdTggKnZhbHVlcyk7CisKK1RoZXNlIG9uZXMgd2VyZSByZW1vdmVkIGZyb20gaTJjLWNvcmUgYmVjYXVzZSB0aGV5IGhhZCBubyB1c2VycywgYnV0IGNvdWxkCitiZSBhZGRlZCBiYWNrIGxhdGVyIGlmIG5lZWRlZDoKKworICBleHRlcm4gczMyIGkyY19zbWJ1c193cml0ZV9xdWljayhzdHJ1Y3QgaTJjX2NsaWVudCAqIGNsaWVudCwgdTggdmFsdWUpOwogICBleHRlcm4gczMyIGkyY19zbWJ1c19wcm9jZXNzX2NhbGwoc3RydWN0IGkyY19jbGllbnQgKiBjbGllbnQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1OCBjb21tYW5kLCB1MTYgdmFsdWUpOwogICBleHRlcm4gczMyIGkyY19zbWJ1c19ibG9ja19wcm9jZXNzX2NhbGwoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHU4IGNvbW1hbmQsIHU4IGxlbmd0aCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHU4ICp2YWx1ZXMpCiAKLUFsbCB0aGVzZSB0cmFuc2FjdGlvbnMgcmV0dXJuIC0xIG9uIGZhaWx1cmUuIFRoZSAnd3JpdGUnIHRyYW5zYWN0aW9ucyAKLXJldHVybiAwIG9uIHN1Y2Nlc3M7IHRoZSAncmVhZCcgdHJhbnNhY3Rpb25zIHJldHVybiB0aGUgcmVhZCB2YWx1ZSwgZXhjZXB0IAotZm9yIHJlYWRfYmxvY2ssIHdoaWNoIHJldHVybnMgdGhlIG51bWJlciBvZiB2YWx1ZXMgcmVhZC4gVGhlIGJsb2NrIGJ1ZmZlcnMgCi1uZWVkIG5vdCBiZSBsb25nZXIgdGhhbiAzMiBieXRlcy4KK0FsbCB0aGVzZSB0cmFuc2FjdGlvbnMgcmV0dXJuIGEgbmVnYXRpdmUgZXJybm8gdmFsdWUgb24gZmFpbHVyZS4gVGhlICd3cml0ZScKK3RyYW5zYWN0aW9ucyByZXR1cm4gMCBvbiBzdWNjZXNzOyB0aGUgJ3JlYWQnIHRyYW5zYWN0aW9ucyByZXR1cm4gdGhlIHJlYWQKK3ZhbHVlLCBleGNlcHQgZm9yIGJsb2NrIHRyYW5zYWN0aW9ucywgd2hpY2ggcmV0dXJuIHRoZSBudW1iZXIgb2YgdmFsdWVzCityZWFkLiBUaGUgYmxvY2sgYnVmZmVycyBuZWVkIG5vdCBiZSBsb25nZXIgdGhhbiAzMiBieXRlcy4KIAogWW91IGNhbiByZWFkIHRoZSBmaWxlIGBzbWJ1cy1wcm90b2NvbCcgZm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgdGhlCiBhY3R1YWwgU01CdXMgcHJvdG9jb2wuCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2lvY3RsLW51bWJlci50eHQgYi9Eb2N1bWVudGF0aW9uL2lvY3RsLW51bWJlci50eHQKaW5kZXggMjQwY2U3YS4uM2JiNWY0NiAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9pb2N0bC1udW1iZXIudHh0CisrKyBiL0RvY3VtZW50YXRpb24vaW9jdGwtbnVtYmVyLnR4dApAQCAtMTE3LDYgKzExNyw3IEBACiAJCQkJCTxtYWlsdG86bmF0YWxpYUBuaWtoZWZrLm5pa2hlZi5ubD4KICdjJwkwMC03RglsaW51eC9jb21zdGF0cy5oCWNvbmZsaWN0IQogJ2MnCTAwLTdGCWxpbnV4L2NvZGEuaAkJY29uZmxpY3QhCisnYycJODAtOUYJYXNtLXMzOTAvY2hzYy5oCiAnZCcJMDAtRkYJbGludXgvY2hhci9kcm0vZHJtL2gJY29uZmxpY3QhCiAnZCcJMDAtREYJbGludXgvdmlkZW9fZGVjb2Rlci5oCWNvbmZsaWN0IQogJ2QnCUYwLUZGCWxpbnV4L2RpZ2kxLmgKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24va2R1bXAva2R1bXAudHh0IGIvRG9jdW1lbnRhdGlvbi9rZHVtcC9rZHVtcC50eHQKaW5kZXggYjhlNTJjMC4uOTY5MWM3ZiAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9rZHVtcC9rZHVtcC50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9rZHVtcC9rZHVtcC50eHQKQEAgLTEwOSw3ICsxMDksNyBAQAogMikgT3IgdXNlIHRoZSBzeXN0ZW0ga2VybmVsIGJpbmFyeSBpdHNlbGYgYXMgZHVtcC1jYXB0dXJlIGtlcm5lbCBhbmQgdGhlcmUgaXMKICAgIG5vIG5lZWQgdG8gYnVpbGQgYSBzZXBhcmF0ZSBkdW1wLWNhcHR1cmUga2VybmVsLiBUaGlzIGlzIHBvc3NpYmxlCiAgICBvbmx5IHdpdGggdGhlIGFyY2hpdGVjdXRyZXMgd2hpY2ggc3VwcG9ydCBhIHJlbG9jYXRhYmxlIGtlcm5lbC4gQXMKLSAgIG9mIHRvZGF5IGkzODYgYW5kIGlhNjQgYXJjaGl0ZWN0dXJlcyBzdXBwb3J0IHJlbG9jYXRhYmxlIGtlcm5lbC4KKyAgIG9mIHRvZGF5LCBpMzg2LCB4ODZfNjQgYW5kIGlhNjQgYXJjaGl0ZWN0dXJlcyBzdXBwb3J0IHJlbG9jYXRhYmxlIGtlcm5lbC4KIAogQnVpbGRpbmcgYSByZWxvY2F0YWJsZSBrZXJuZWwgaXMgYWR2YW50YWdlb3VzIGZyb20gdGhlIHBvaW50IG9mIHZpZXcgdGhhdAogb25lIGRvZXMgbm90IGhhdmUgdG8gYnVpbGQgYSBzZWNvbmQga2VybmVsIGZvciBjYXB0dXJpbmcgdGhlIGR1bXAuIEJ1dApkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9rZXJuZWwtcGFyYW1ldGVycy50eHQgYi9Eb2N1bWVudGF0aW9uL2tlcm5lbC1wYXJhbWV0ZXJzLnR4dAppbmRleCBiNTJmNDdkLi4zMTJmZTc3IDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2tlcm5lbC1wYXJhbWV0ZXJzLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2tlcm5lbC1wYXJhbWV0ZXJzLnR4dApAQCAtMjcxLDYgKzI3MSwxNyBAQAogCWFpYzc5eHg9CVtIVyxTQ1NJXQogCQkJU2VlIERvY3VtZW50YXRpb24vc2NzaS9haWM3OXh4LnR4dC4KIAorCWFtZF9pb21tdT0JW0hXLFg4Ni04NF0KKwkJCVBhc3MgcGFyYW1ldGVycyB0byB0aGUgQU1EIElPTU1VIGRyaXZlciBpbiB0aGUgc3lzdGVtLgorCQkJUG9zc2libGUgdmFsdWVzIGFyZToKKwkJCWlzb2xhdGUgLSBlbmFibGUgZGV2aWNlIGlzb2xhdGlvbiAoZWFjaCBkZXZpY2UsIGFzIGZhcgorCQkJICAgICAgICAgIGFzIHBvc3NpYmxlLCB3aWxsIGdldCBpdHMgb3duIHByb3RlY3Rpb24KKwkJCSAgICAgICAgICBkb21haW4pCisJYW1kX2lvbW11X3NpemU9IFtIVyxYODYtNjRdCisJCQlEZWZpbmUgdGhlIHNpemUgb2YgdGhlIGFwZXJ0dXJlIGZvciB0aGUgQU1EIElPTU1VCisJCQlkcml2ZXIuIFBvc3NpYmxlIHZhbHVlcyBhcmU6CisJCQknMzJNJywgJzY0TScgKGRlZmF1bHQpLCAnMTI4TScsICcyNTZNJywgJzUxMk0nLCAnMUcnCisKIAlhbWlqb3kubWFwPQlbSFcsSk9ZXSBBbWlnYSBqb3lzdGljayBzdXBwb3J0CiAJCQlNYXAgb2YgZGV2aWNlcyBhdHRhY2hlZCB0byBKT1kwREFUIGFuZCBKT1kxREFUCiAJCQlGb3JtYXQ6IDxhPiw8Yj4KQEAgLTU2MCw2ICs1NzEsOCBAQAogCiAJZGVidWdfb2JqZWN0cwlbS05MXSBFbmFibGUgb2JqZWN0IGRlYnVnZ2luZwogCisJZGVidWdwYXQJW1g4Nl0gRW5hYmxlIFBBVCBkZWJ1Z2dpbmcKKwogCWRlY25ldC5hZGRyPQlbSFcsTkVUXQogCQkJRm9ybWF0OiA8YXJlYT5bLDxub2RlPl0KIAkJCVNlZSBhbHNvIERvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZWNuZXQudHh0LgpAQCAtNTk5LDYgKzYxMiwyOSBAQAogCQkJU2VlIGRyaXZlcnMvY2hhci9SRUFETUUuZXBjYSBhbmQKIAkJCURvY3VtZW50YXRpb24vZGlnaWVwY2EudHh0LgogCisJZGlzYWJsZV9tdHJyX2NsZWFudXAgW1g4Nl0KKwllbmFibGVfbXRycl9jbGVhbnVwIFtYODZdCisJCQlUaGUga2VybmVsIHRyaWVzIHRvIGFkanVzdCBNVFJSIGxheW91dCBmcm9tIGNvbnRpbnVvdXMKKwkJCXRvIGRpc2NyZXRlLCB0byBtYWtlIFggc2VydmVyIGRyaXZlciBhYmxlIHRvIGFkZCBXQgorCQkJZW50cnkgbGF0ZXIuIFRoaXMgcGFyYW1ldGVyIGVuYWJsZXMvZGlzYWJsZXMgdGhhdC4KKworCW10cnJfY2h1bmtfc2l6ZT1ubltLTUddIFtYODZdCisJCQl1c2VkIGZvciBtdHJyIGNsZWFudXAuIEl0IGlzIGxhcmdlc3QgY29udGlub3VzIGNodW5rCisJCQl0aGF0IGNvdWxkIGhvbGQgaG9sZXMgYWthLiBVQyBlbnRyaWVzLgorCisJbXRycl9ncmFuX3NpemU9bm5bS01HXSBbWDg2XQorCQkJVXNlZCBmb3IgbXRyciBjbGVhbnVwLiBJdCBpcyBncmFudWxhcml0eSBvZiBtdHJyIGJsb2NrLgorCQkJRGVmYXVsdCBpcyAxLgorCQkJTGFyZ2UgdmFsdWUgY291bGQgcHJldmVudCBzbWFsbCBhbGlnbm1lbnQgZnJvbQorCQkJdXNpbmcgdXAgTVRSUnMuCisKKwltdHJyX3NwYXJlX3JlZ19ucj1uIFtYODZdCisJCQlGb3JtYXQ6IDxpbnRlZ2VyPgorCQkJUmFuZ2U6IDAsNyA6IHNwYXJlIHJlZyBudW1iZXIKKwkJCURlZmF1bHQgOiAxCisJCQlVc2VkIGZvciBtdHJyIGNsZWFudXAuIEl0IGlzIHNwYXJlIG10cnIgZW50cmllcyBudW1iZXIuCisJCQlTZXQgdG8gMiBvciBtb3JlIGlmIHlvdXIgZ3JhcGhpY2FsIGNhcmQgbmVlZHMgbW9yZS4KKwogCWRpc2FibGVfbXRycl90cmltIFtYODYsIEludGVsIGFuZCBBTUQgb25seV0KIAkJCUJ5IGRlZmF1bHQgdGhlIGtlcm5lbCB3aWxsIHRyaW0gYW55IHVuY2FjaGVhYmxlCiAJCQltZW1vcnkgb3V0IG9mIHlvdXIgYXZhaWxhYmxlIG1lbW9yeSBwb29sIGJhc2VkIG9uCkBAIC03MjIsOSArNzU4LDYgQEAKIAloZD0JCVtFSURFXSAoRSlJREUgaGFyZCBkcml2ZSBzdWJzeXN0ZW0gZ2VvbWV0cnkKIAkJCUZvcm1hdDogPGN5bD4sPGhlYWQ+LDxzZWN0PgogCi0JaGQ/PQkJW0hXXSAoRSlJREUgc3Vic3lzdGVtCi0JaGQ/bHVuPQkJU2VlIERvY3VtZW50YXRpb24vaWRlL2lkZS50eHQuCi0KIAloaWdobWVtPW5uW0tNR10JW0tOTCxCT09UXSBmb3JjZXMgdGhlIGhpZ2htZW0gem9uZSB0byBoYXZlIGFuIGV4YWN0CiAJCQlzaXplIG9mIDxubj4uIFRoaXMgd29ya3MgZXZlbiBvbiBib3hlcyB0aGF0IGhhdmUgbm8KIAkJCWhpZ2htZW0gb3RoZXJ3aXNlLiBUaGlzIGFsc28gd29ya3MgdG8gcmVkdWNlIGhpZ2htZW0KQEAgLTEyMDgsNiArMTI0MSwxMSBAQAogCW10ZHBhcnRzPQlbTVREXQogCQkJU2VlIGRyaXZlcnMvbXRkL2NtZGxpbmVwYXJ0LmMuCiAKKwltdGRzZXQ9CQlbQVJNXQorCQkJQVJNL1MzQzI0MTIgSklWRSBib290IGNvbnRyb2wKKworCQkJU2VlIGFyY2gvYXJtL21hY2gtczNjMjQxMi9tYWNoLWppdmUuYworCiAJbXRvdWNodXNiLnJhd19jb29yZGluYXRlcz0KIAkJCVtIV10gTWFrZSB0aGUgTWljcm9Ub3VjaCBVU0IgZHJpdmVyIHVzZSByYXcgY29vcmRpbmF0ZXMKIAkJCSgneScsIGRlZmF1bHQpIG9yIGNvb2tlZCBjb29yZGluYXRlcyAoJ24nKQpAQCAtMTU3MSw2ICsxNjA5LDEwIEBACiAJCQlGb3JtYXQ6IHsgcGFycG9ydDxucj4gfCB0aW1pZCB8IDAgfQogCQkJU2VlIGFsc28gRG9jdW1lbnRhdGlvbi9wYXJwb3J0LnR4dC4KIAorCXBtdG1yPQkJW1g4Nl0gTWFudWFsIHNldHVwIG9mIHBtdG1yIEkvTyBQb3J0LiAKKwkJCU92ZXJyaWRlIHBtdGltZXIgSU9Qb3J0IHdpdGggYSBoZXggdmFsdWUuCisJCQllLmcuIHBtdG1yPTB4NTA4CisKIAlwbnBhY3BpPQlbQUNQSV0KIAkJCXsgb2ZmIH0KIApAQCAtMjExNiw2ICsyMTU4LDkgQEAKIAl1c2JoaWQubW91c2Vwb2xsPQogCQkJW1VTQkhJRF0gVGhlIGludGVydmFsIHdoaWNoIG1pY2UgYXJlIHRvIGJlIHBvbGxlZCBhdC4KIAorCWFkZF9lZmlfbWVtbWFwCVtFRkk7IHg4Ni0zMixYODYtNjRdIEluY2x1ZGUgRUZJIG1lbW9yeSBtYXAgaW4KKwkJCWtlcm5lbCdzIG1hcCBvZiBhdmFpbGFibGUgcGh5c2ljYWwgUkFNLgorCiAJdmRzbz0JCVtYODYtMzIsU0gseDg2LTY0XQogCQkJdmRzbz0yOiBlbmFibGUgY29tcGF0IFZEU08gKGRlZmF1bHQgd2l0aCBDT01QQVRfVkRTTykKIAkJCXZkc289MTogZW5hYmxlIFZEU08gKGRlZmF1bHQpCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL25taV93YXRjaGRvZy50eHQgYi9Eb2N1bWVudGF0aW9uL25taV93YXRjaGRvZy50eHQKaW5kZXggNzU3YzcyOS4uOTBhYTQ1MyAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9ubWlfd2F0Y2hkb2cudHh0CisrKyBiL0RvY3VtZW50YXRpb24vbm1pX3dhdGNoZG9nLnR4dApAQCAtMTAsNyArMTAsNyBAQAogd2hpY2ggZ2V0IGV4ZWN1dGVkIGV2ZW4gaWYgdGhlIHN5c3RlbSBpcyBvdGhlcndpc2UgbG9ja2VkIHVwIGhhcmQpLgogVGhpcyBjYW4gYmUgdXNlZCB0byBkZWJ1ZyBoYXJkIGtlcm5lbCBsb2NrdXBzLiAgQnkgZXhlY3V0aW5nIHBlcmlvZGljCiBOTUkgaW50ZXJydXB0cywgdGhlIGtlcm5lbCBjYW4gbW9uaXRvciB3aGV0aGVyIGFueSBDUFUgaGFzIGxvY2tlZCB1cCwKLWFuZCBwcmludCBvdXQgZGVidWdnaW5nIG1lc3NhZ2VzIGlmIHNvLiAgCithbmQgcHJpbnQgb3V0IGRlYnVnZ2luZyBtZXNzYWdlcyBpZiBzby4KIAogSW4gb3JkZXIgdG8gdXNlIHRoZSBOTUkgd2F0Y2hkb2csIHlvdSBuZWVkIHRvIGhhdmUgQVBJQyBzdXBwb3J0IGluIHlvdXIKIGtlcm5lbC4gRm9yIFNNUCBrZXJuZWxzLCBBUElDIHN1cHBvcnQgZ2V0cyBjb21waWxlZCBpbiBhdXRvbWF0aWNhbGx5LiBGb3IKQEAgLTIyLDggKzIyLDcgQEAKIGtlcm5lbCBkZWJ1Z2dpbmcgb3B0aW9ucywgc3VjaCBhcyBLZXJuZWwgU3RhY2sgTWV0ZXIgb3IgS2VybmVsIFRyYWNlciwKIG1heSBpbXBsaWNpdGx5IGRpc2FibGUgdGhlIE5NSSB3YXRjaGRvZy5dCiAKLUZvciB4ODYtNjQsIHRoZSBuZWVkZWQgQVBJQyBpcyBhbHdheXMgY29tcGlsZWQgaW4sIGFuZCB0aGUgTk1JIHdhdGNoZG9nIGlzCi1hbHdheXMgZW5hYmxlZCB3aXRoIEkvTy1BUElDIG1vZGUgKG5taV93YXRjaGRvZz0xKS4KK0ZvciB4ODYtNjQsIHRoZSBuZWVkZWQgQVBJQyBpcyBhbHdheXMgY29tcGlsZWQgaW4uCiAKIFVzaW5nIGxvY2FsIEFQSUMgKG5taV93YXRjaGRvZz0yKSBuZWVkcyB0aGUgZmlyc3QgcGVyZm9ybWFuY2UgcmVnaXN0ZXIsIHNvCiB5b3UgY2FuJ3QgdXNlIGl0IGZvciBvdGhlciBwdXJwb3NlcyAoc3VjaCBhcyBoaWdoIHByZWNpc2lvbiBwZXJmb3JtYW5jZQpAQCAtNjMsMTYgKzYyLDE1IEBACiAiaGx0IiwgdGhlbiB5b3UgYXJlIG91dCBvZiBsdWNrIC0tIHRoZSBldmVudCB3aWxsIG5vdCBoYXBwZW4gYXQgYWxsIGFuZCB0aGUKIHdhdGNoZG9nIHdvbid0IHRyaWdnZXIuIFRoaXMgaXMgYSBzaG9ydGNvbWluZyBvZiB0aGUgbG9jYWwgQVBJQyB3YXRjaGRvZwogLS0gdW5mb3J0dW5hdGVseSB0aGVyZSBpcyBubyAiY2xvY2sgdGlja3MiIGV2ZW50IHRoYXQgd291bGQgd29yayBhbGwgdGhlCi10aW1lLiBUaGUgSS9PIEFQSUMgd2F0Y2hkb2cgaXMgZHJpdmVuIGV4dGVybmFsbHkgYW5kIGhhcyBubyBzdWNoIHNob3J0Y29taW5nLiAgCit0aW1lLiBUaGUgSS9PIEFQSUMgd2F0Y2hkb2cgaXMgZHJpdmVuIGV4dGVybmFsbHkgYW5kIGhhcyBubyBzdWNoIHNob3J0Y29taW5nLgogQnV0IGl0cyBOTUkgZnJlcXVlbmN5IGlzIG11Y2ggaGlnaGVyLCByZXN1bHRpbmcgaW4gYSBtb3JlIHNpZ25pZmljYW50IGhpdAogdG8gdGhlIG92ZXJhbGwgc3lzdGVtIHBlcmZvcm1hbmNlLgogCi1OT1RFOiBzdGFydGluZyB3aXRoIDIuNC4yLWFjMTggdGhlIE5NSS1vb3BzZXIgaXMgZGlzYWJsZWQgYnkgZGVmYXVsdCwKLXlvdSBoYXZlIHRvIGVuYWJsZSBpdCB3aXRoIGEgYm9vdCB0aW1lIHBhcmFtZXRlci4gIFByaW9yIHRvIDIuNC4yLWFjMTgKLXRoZSBOTUktb29wc2VyIGlzIGVuYWJsZWQgdW5jb25kaXRpb25hbGx5IG9uIHg4NiBTTVAgYm94ZXMuCitPbiB4ODYgbm1pX3dhdGNoZG9nIGlzIGRpc2FibGVkIGJ5IGRlZmF1bHQgc28geW91IGhhdmUgdG8gZW5hYmxlIGl0IHdpdGgKK2EgYm9vdCB0aW1lIHBhcmFtZXRlci4KIAotT24geDg2LTY0IHRoZSBOTUkgb29wc2VyIGlzIG9uIGJ5IGRlZmF1bHQuIE9uIDY0Yml0IEludGVsIENQVXMKLWl0IHVzZXMgSU8tQVBJQyBieSBkZWZhdWx0IGFuZCBvbiBBTUQgaXQgdXNlcyBsb2NhbCBBUElDLgorTk9URTogSW4ga2VybmVscyBwcmlvciB0byAyLjQuMi1hYzE4IHRoZSBOTUktb29wc2VyIGlzIGVuYWJsZWQgdW5jb25kaXRpb25hbGx5CitvbiB4ODYgU01QIGJveGVzLgogCiBbIGZlZWwgZnJlZSB0byBzZW5kIGJ1ZyByZXBvcnRzLCBzdWdnZXN0aW9ucyBhbmQgcGF0Y2hlcyB0bwogICBJbmdvIE1vbG5hciA8bWluZ29AcmVkaGF0LmNvbT4gb3IgdGhlIExpbnV4IFNNUCBtYWlsaW5nCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL3NjaGVkdWxlci9zY2hlZC1kb21haW5zLnR4dCBiL0RvY3VtZW50YXRpb24vc2NoZWR1bGVyL3NjaGVkLWRvbWFpbnMudHh0CmluZGV4IGE5ZTk5MGEuLjM3M2NlYWMgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vc2NoZWR1bGVyL3NjaGVkLWRvbWFpbnMudHh0CisrKyBiL0RvY3VtZW50YXRpb24vc2NoZWR1bGVyL3NjaGVkLWRvbWFpbnMudHh0CkBAIC02MSwxMCArNjEsNyBAQAogYXJjaF9pbml0X3NjaGVkX2RvbWFpbnMgZnVuY3Rpb24uIFRoaXMgZnVuY3Rpb24gd2lsbCBhdHRhY2ggZG9tYWlucyB0byBhbGwKIENQVXMgdXNpbmcgY3B1X2F0dGFjaF9kb21haW4uCiAKLUltcGxlbWVudG9ycyBzaG91bGQgY2hhbmdlIHRoZSBsaW5lCi0jdW5kZWYgU0NIRURfRE9NQUlOX0RFQlVHCi10bwotI2RlZmluZSBTQ0hFRF9ET01BSU5fREVCVUcKLWluIGtlcm5lbC9zY2hlZC5jIGFzIHRoaXMgZW5hYmxlcyBhbiBlcnJvciBjaGVja2luZyBwYXJzZSBvZiB0aGUgc2NoZWQgZG9tYWlucworVGhlIHNjaGVkLWRvbWFpbnMgZGVidWdnaW5nIGluZnJhc3RydWN0dXJlIGNhbiBiZSBlbmFibGVkIGJ5IGVuYWJsaW5nCitDT05GSUdfU0NIRURfREVCVUcuIFRoaXMgZW5hYmxlcyBhbiBlcnJvciBjaGVja2luZyBwYXJzZSBvZiB0aGUgc2NoZWQgZG9tYWlucwogd2hpY2ggc2hvdWxkIGNhdGNoIG1vc3QgcG9zc2libGUgZXJyb3JzIChkZXNjcmliZWQgYWJvdmUpLiBJdCBhbHNvIHByaW50cyBvdXQKIHRoZSBkb21haW4gc3RydWN0dXJlIGluIGEgdmlzdWFsIGZvcm1hdC4KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vc2NoZWR1bGVyL3NjaGVkLXJ0LWdyb3VwLnR4dCBiL0RvY3VtZW50YXRpb24vc2NoZWR1bGVyL3NjaGVkLXJ0LWdyb3VwLnR4dAppbmRleCAxNGY5MDFmLi4zZWYzMzlmIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL3NjaGVkdWxlci9zY2hlZC1ydC1ncm91cC50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9zY2hlZHVsZXIvc2NoZWQtcnQtZ3JvdXAudHh0CkBAIC01MSw5ICs1MSw5IEBACiAwLjAwMDE1cy4gU28gdGhpcyBncm91cCBjYW4gYmUgc2NoZWR1bGVkIHdpdGggYSBwZXJpb2Qgb2YgMC4wMDVzIGFuZCBhIHJ1biB0aW1lCiBvZiAwLjAwMDE1cy4KIAotVGhlIHJlbWFpbmluZyBDUFUgdGltZSB3aWxsIGJlIHVzZWQgZm9yIHVzZXIgaW5wdXQgYW5kIG90aGVyIHRhc3MuIEJlY2F1c2UKK1RoZSByZW1haW5pbmcgQ1BVIHRpbWUgd2lsbCBiZSB1c2VkIGZvciB1c2VyIGlucHV0IGFuZCBvdGhlciB0YXNrcy4gQmVjYXVzZQogcmVhbHRpbWUgdGFza3MgaGF2ZSBleHBsaWNpdGx5IGFsbG9jYXRlZCB0aGUgQ1BVIHRpbWUgdGhleSBuZWVkIHRvIHBlcmZvcm0KLXRoZWlyIHRhc2tzLCBidWZmZXIgdW5kZXJydW5zIGluIHRoZSBncmFwaG9jcyBvciBhdWRpbyBjYW4gYmUgZWxpbWluYXRlZC4KK3RoZWlyIHRhc2tzLCBidWZmZXIgdW5kZXJydW5zIGluIHRoZSBncmFwaGljcyBvciBhdWRpbyBjYW4gYmUgZWxpbWluYXRlZC4KIAogTk9URTogdGhlIGFib3ZlIGV4YW1wbGUgaXMgbm90IGZ1bGx5IGltcGxlbWVudGVkIGFzIG9mIHlldCAoMi42LjI1KS4gV2Ugc3RpbGwKIGxhY2sgYW4gRURGIHNjaGVkdWxlciB0byBtYWtlIG5vbi11bmlmb3JtIHBlcmlvZHMgdXNhYmxlLgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9zb3VuZC9hbHNhL0FMU0EtQ29uZmlndXJhdGlvbi50eHQgYi9Eb2N1bWVudGF0aW9uL3NvdW5kL2Fsc2EvQUxTQS1Db25maWd1cmF0aW9uLnR4dAppbmRleCAwYmJlZTM4Li43MmFmZjYxIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL3NvdW5kL2Fsc2EvQUxTQS1Db25maWd1cmF0aW9uLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL3NvdW5kL2Fsc2EvQUxTQS1Db25maWd1cmF0aW9uLnR4dApAQCAtNzUzLDggKzc1MywxMSBAQAogCiAgICAgW011bHRpcGxlIG9wdGlvbnMgZm9yIGVhY2ggY2FyZCBpbnN0YW5jZV0KICAgICBtb2RlbAktIGZvcmNlIHRoZSBtb2RlbCBuYW1lCi0gICAgcG9zaXRpb25fZml4IC0gRml4IERNQSBwb2ludGVyICgwID0gYXV0bywgMSA9IG5vbmUsIDIgPSBQT1NCVUYsIDMgPSBGSUZPIHNpemUpCisgICAgcG9zaXRpb25fZml4IC0gRml4IERNQSBwb2ludGVyICgwID0gYXV0bywgMSA9IHVzZSBMUElCLCAyID0gUE9TQlVGKQogICAgIHByb2JlX21hc2sgIC0gQml0bWFzayB0byBwcm9iZSBjb2RlY3MgKGRlZmF1bHQgPSAtMSwgbWVhbmluZyBhbGwgc2xvdHMpCisgICAgYmRsX3Bvc19hZGoJLSBTcGVjaWZpZXMgdGhlIERNQSBJUlEgdGltaW5nIGRlbGF5IGluIHNhbXBsZXMuCisJCVBhc3NpbmcgLTEgd2lsbCBtYWtlIHRoZSBkcml2ZXIgdG8gY2hvb3NlIHRoZSBhcHByb3ByaWF0ZQorCQl2YWx1ZSBiYXNlZCBvbiB0aGUgY29udHJvbGxlciBjaGlwLgogICAgIAogICAgIFtTaW5nbGUgKGdsb2JhbCkgb3B0aW9uc10KICAgICBzaW5nbGVfY21kICAtIFVzZSBzaW5nbGUgaW1tZWRpYXRlIGNvbW1hbmRzIHRvIGNvbW11bmljYXRlIHdpdGgKQEAgLTg0NSw3ICs4NDgsNyBAQAogCUFMQzI2OQogCSAgYmFzaWMJCUJhc2ljIHByZXNldAogCi0JQUxDNjYyCisJQUxDNjYyLzY2MwogCSAgM3N0YWNrLWRpZwkzLXN0YWNrICgyLWNoYW5uZWwpIHdpdGggU1BESUYKIAkgIDNzdGFjay02Y2gJIDMtc3RhY2sgKDYtY2hhbm5lbCkKIAkgIDNzdGFjay02Y2gtZGlnIDMtc3RhY2sgKDYtY2hhbm5lbCkgd2l0aCBTUERJRgpAQCAtODUzLDYgKzg1NiwxMCBAQAogCSAgbGVub3ZvLTEwMWUJIExlbm92byBsYXB0b3AKIAkgIGVlZXBjLXA3MDEJQVNVUyBFZWVwYyBQNzAxCiAJICBlZWVwYy1lcDIwCUFTVVMgRWVlcGMgRVAyMAorCSAgbTUxdmEJCUFTVVMgTTUxVkEKKwkgIGc3MXYJCUFTVVMgRzcxVgorCSAgaDEzCQlBU1VTIEgxMworCSAgZzUwdgkJQVNVUyBHNTBWCiAJICBhdXRvCQlhdXRvLWNvbmZpZyByZWFkaW5nIEJJT1MgKGRlZmF1bHQpCiAKIAlBTEM4ODIvODg1CkBAIC0xMDkxLDcgKzEwOTgsNyBAQAogICAgIFRoaXMgb2NjdXJzIHdoZW4gdGhlIGFjY2VzcyB0byBub24tZXhpc3Rpbmcgb3Igbm9uLXdvcmtpbmcgY29kZWMgc2xvdAogICAgIChsaWtlbHkgYSBtb2RlbSBvbmUpIGNhdXNlcyBhIHN0YWxsIG9mIHRoZSBjb21tdW5pY2F0aW9uIHZpYSBIRC1hdWRpbwogICAgIGJ1cy4gIFlvdSBjYW4gc2VlIHdoaWNoIGNvZGVjIHNsb3RzIGFyZSBwcm9iZWQgYnkgZW5hYmxpbmcKLSAgICBDT05GSUdfU05EX0RFQlVHX0RFVEVDVCwgb3Igc2ltcGx5IGZyb20gdGhlIGZpbGUgbmFtZSBvZiB0aGUgY29kZWMKKyAgICBDT05GSUdfU05EX0RFQlVHX1ZFUkJPU0UsIG9yIHNpbXBseSBmcm9tIHRoZSBmaWxlIG5hbWUgb2YgdGhlIGNvZGVjCiAgICAgcHJvYyBmaWxlcy4gIFRoZW4gbGltaXQgdGhlIHNsb3RzIHRvIHByb2JlIGJ5IHByb2JlX21hc2sgb3B0aW9uLgogICAgIEZvciBleGFtcGxlLCBwcm9iZV9tYXNrPTEgbWVhbnMgdG8gcHJvYmUgb25seSB0aGUgZmlyc3Qgc2xvdCwgYW5kCiAgICAgcHJvYmVfbWFzaz00IG1lYW5zIG9ubHkgdGhlIHRoaXJkIHNsb3QuCkBAIC0yMjY3LDYgKzIyNzQsMTAgQEAKIG90aGVyIGRyaXZlciAoZS5nLiBzbmQtdXNiLWF1ZGlvKSBpcyBsb2FkZWQgYmVmb3JlIHNuZC1pbnRlcndhdmUgb3IKIHNuZC1lbnMxMzcxLCBpdCB3aWxsIGJlIGFzc2lnbmVkIHRvIHRoZSB0aGlyZCBvciBsYXRlciBzbG90LgogCitXaGVuIGEgbW9kdWxlIG5hbWUgaXMgZ2l2ZW4gd2l0aCAnIScsIHRoZSBzbG90IHdpbGwgYmUgZ2l2ZW4gZm9yIGFueQorbW9kdWxlcyBidXQgdGhhdCBuYW1lLiAgRm9yIGV4YW1wbGUsICJzbG90cz0hc25kLXBjc3AiIHdpbGwgcmVzZXJ2ZQordGhlIGZpcnN0IHNsb3QgZm9yIGFueSBtb2R1bGVzIGJ1dCBzbmQtcGNzcC4gCisKIAogQUxTQSBQQ00gZGV2aWNlcyB0byBPU1MgZGV2aWNlcyBtYXBwaW5nCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vc291bmQvYWxzYS9Eb2NCb29rL3dyaXRpbmctYW4tYWxzYS1kcml2ZXIudG1wbCBiL0RvY3VtZW50YXRpb24vc291bmQvYWxzYS9Eb2NCb29rL3dyaXRpbmctYW4tYWxzYS1kcml2ZXIudG1wbAppbmRleCBiMDNkZjRkNC4uZTEzYzRlNiAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9zb3VuZC9hbHNhL0RvY0Jvb2svd3JpdGluZy1hbi1hbHNhLWRyaXZlci50bXBsCisrKyBiL0RvY3VtZW50YXRpb24vc291bmQvYWxzYS9Eb2NCb29rL3dyaXRpbmctYW4tYWxzYS1kcml2ZXIudG1wbApAQCAtNjEyNyw4ICs2MTI3LDggQEAKIAogICAgICAgPHBhcmE+CiAgICAgICAgIDxmdW5jdGlvbj5zbmRfcHJpbnRkZCgpPC9mdW5jdGlvbj4gaXMgY29tcGlsZWQgaW4gb25seSB3aGVuCi0gICAgICA8Y29uc3RhbnQ+Q09ORklHX1NORF9ERUJVR19ERVRFQ1Q8L2NvbnN0YW50PiBpcyBzZXQuIFBsZWFzZSBub3RlCi0gICAgICB0aGF0IDxjb25zdGFudD5ERUJVR19ERVRFQ1Q8L2NvbnN0YW50PiBpcyBub3Qgc2V0IGFzIGRlZmF1bHQKKyAgICAgIDxjb25zdGFudD5DT05GSUdfU05EX0RFQlVHX1ZFUkJPU0U8L2NvbnN0YW50PiBpcyBzZXQuIFBsZWFzZSBub3RlCisgICAgICB0aGF0IDxjb25zdGFudD5DT05GSUdfU05EX0RFQlVHX1ZFUkJPU0U8L2NvbnN0YW50PiBpcyBub3Qgc2V0IGFzIGRlZmF1bHQKICAgICAgIGV2ZW4gaWYgeW91IGNvbmZpZ3VyZSB0aGUgYWxzYS1kcml2ZXIgd2l0aAogICAgICAgPG9wdGlvbj4tLXdpdGgtZGVidWc9ZnVsbDwvb3B0aW9uPiBvcHRpb24uIFlvdSBuZWVkIHRvIGdpdmUKICAgICAgIGV4cGxpY2l0bHkgPG9wdGlvbj4tLXdpdGgtZGVidWc9ZGV0ZWN0PC9vcHRpb24+IG9wdGlvbiBpbnN0ZWFkLiAKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vdHJhY2Vycy9tbWlvdHJhY2UudHh0IGIvRG9jdW1lbnRhdGlvbi90cmFjZXJzL21taW90cmFjZS50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTRhZmI1NgotLS0gL2Rldi9udWxsCisrKyBiL0RvY3VtZW50YXRpb24vdHJhY2Vycy9tbWlvdHJhY2UudHh0CkBAIC0wLDAgKzEsMTY0IEBACisJCUluLWtlcm5lbCBtZW1vcnktbWFwcGVkIEkvTyB0cmFjaW5nCisKKworSG9tZSBwYWdlIGFuZCBsaW5rcyB0byBvcHRpb25hbCB1c2VyIHNwYWNlIHRvb2xzOgorCisJaHR0cDovL25vdXZlYXUuZnJlZWRlc2t0b3Aub3JnL3dpa2kvTW1pb1RyYWNlCisKK01NSU8gdHJhY2luZyB3YXMgb3JpZ2luYWxseSBkZXZlbG9wZWQgYnkgSW50ZWwgYXJvdW5kIDIwMDMgZm9yIHRoZWlyIEZhdWx0CitJbmplY3Rpb24gVGVzdCBIYXJuZXNzLiBJbiBEZWMgMjAwNiAtIEphbiAyMDA3LCB1c2luZyB0aGUgY29kZSBmcm9tIEludGVsLAorSmVmZiBNdWl6ZWxhYXIgY3JlYXRlZCBhIHRvb2wgZm9yIHRyYWNpbmcgTU1JTyBhY2Nlc3NlcyB3aXRoIHRoZSBOb3V2ZWF1Citwcm9qZWN0IGluIG1pbmQuIFNpbmNlIHRoZW4gbWFueSBwZW9wbGUgaGF2ZSBjb250cmlidXRlZC4KKworTW1pb3RyYWNlIHdhcyBidWlsdCBmb3IgcmV2ZXJzZSBlbmdpbmVlcmluZyBhbnkgbWVtb3J5LW1hcHBlZCBJTyBkZXZpY2Ugd2l0aAordGhlIE5vdXZlYXUgcHJvamVjdCBhcyB0aGUgZmlyc3QgcmVhbCB1c2VyLiBPbmx5IHg4NiBhbmQgeDg2XzY0IGFyY2hpdGVjdHVyZXMKK2FyZSBzdXBwb3J0ZWQuCisKK091dC1vZi10cmVlIG1taW90cmFjZSB3YXMgb3JpZ2luYWxseSBtb2RpZmllZCBmb3IgbWFpbmxpbmUgaW5jbHVzaW9uIGFuZAorZnRyYWNlIGZyYW1ld29yayBieSBQZWtrYSBQYWFsYW5lbiA8cHFAaWtpLmZpPi4KKworCitQcmVwYXJhdGlvbgorLS0tLS0tLS0tLS0KKworTW1pb3RyYWNlIGZlYXR1cmUgaXMgY29tcGlsZWQgaW4gYnkgdGhlIENPTkZJR19NTUlPVFJBQ0Ugb3B0aW9uLiBUcmFjaW5nIGlzCitkaXNhYmxlZCBieSBkZWZhdWx0LCBzbyBpdCBpcyBzYWZlIHRvIGhhdmUgdGhpcyBzZXQgdG8geWVzLiBTTVAgc3lzdGVtcyBhcmUKK3N1cHBvcnRlZCwgYnV0IHRyYWNpbmcgaXMgdW5yZWxpYWJsZSBhbmQgbWF5IG1pc3MgZXZlbnRzIGlmIG1vcmUgdGhhbiBvbmUgQ1BVCitpcyBvbi1saW5lLCB0aGVyZWZvcmUgbW1pb3RyYWNlIHRha2VzIGFsbCBidXQgb25lIENQVSBvZmYtbGluZSBkdXJpbmcgcnVuLXRpbWUKK2FjdGl2YXRpb24uIFlvdSBjYW4gcmUtZW5hYmxlIENQVXMgYnkgaGFuZCwgYnV0IHlvdSBoYXZlIGJlZW4gd2FybmVkLCB0aGVyZQoraXMgbm8gd2F5IHRvIGF1dG9tYXRpY2FsbHkgZGV0ZWN0IGlmIHlvdSBhcmUgbG9zaW5nIGV2ZW50cyBkdWUgdG8gQ1BVcyByYWNpbmcuCisKKworVXNhZ2UgUXVpY2sgUmVmZXJlbmNlCistLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworJCBtb3VudCAtdCBkZWJ1Z2ZzIGRlYnVnZnMgL2RlYnVnCiskIGVjaG8gbW1pb3RyYWNlID4gL2RlYnVnL3RyYWNpbmcvY3VycmVudF90cmFjZXIKKyQgY2F0IC9kZWJ1Zy90cmFjaW5nL3RyYWNlX3BpcGUgPiBteWR1bXAudHh0ICYKK1N0YXJ0IFggb3Igd2hhdGV2ZXIuCiskIGVjaG8gIlggaXMgdXAiID4gL2RlYnVnL3RyYWNpbmcvbWFya2VyCiskIGVjaG8gbm9uZSA+IC9kZWJ1Zy90cmFjaW5nL2N1cnJlbnRfdHJhY2VyCitDaGVjayBmb3IgbG9zdCBldmVudHMuCisKKworVXNhZ2UKKy0tLS0tCisKK01ha2Ugc3VyZSBkZWJ1Z2ZzIGlzIG1vdW50ZWQgdG8gL2RlYnVnLiBJZiBub3QsIChyZXF1aXJlcyByb290IHByaXZpbGVnZXMpCiskIG1vdW50IC10IGRlYnVnZnMgZGVidWdmcyAvZGVidWcKKworQ2hlY2sgdGhhdCB0aGUgZHJpdmVyIHlvdSBhcmUgYWJvdXQgdG8gdHJhY2UgaXMgbm90IGxvYWRlZC4KKworQWN0aXZhdGUgbW1pb3RyYWNlIChyZXF1aXJlcyByb290IHByaXZpbGVnZXMpOgorJCBlY2hvIG1taW90cmFjZSA+IC9kZWJ1Zy90cmFjaW5nL2N1cnJlbnRfdHJhY2VyCisKK1N0YXJ0IHN0b3JpbmcgdGhlIHRyYWNlOgorJCBjYXQgL2RlYnVnL3RyYWNpbmcvdHJhY2VfcGlwZSA+IG15ZHVtcC50eHQgJgorVGhlICdjYXQnIHByb2Nlc3Mgc2hvdWxkIHN0YXkgcnVubmluZyAoc2xlZXBpbmcpIGluIHRoZSBiYWNrZ3JvdW5kLgorCitMb2FkIHRoZSBkcml2ZXIgeW91IHdhbnQgdG8gdHJhY2UgYW5kIHVzZSBpdC4gTW1pb3RyYWNlIHdpbGwgb25seSBjYXRjaCBNTUlPCithY2Nlc3NlcyB0byBhcmVhcyB0aGF0IGFyZSBpb3JlbWFwcGVkIHdoaWxlIG1taW90cmFjZSBpcyBhY3RpdmUuCisKK1tVbmltcGxlbWVudGVkIGZlYXR1cmU6XQorRHVyaW5nIHRyYWNpbmcgeW91IGNhbiBwbGFjZSBjb21tZW50cyAobWFya2VycykgaW50byB0aGUgdHJhY2UgYnkKKyQgZWNobyAiWCBpcyB1cCIgPiAvZGVidWcvdHJhY2luZy9tYXJrZXIKK1RoaXMgbWFrZXMgaXQgZWFzaWVyIHRvIHNlZSB3aGljaCBwYXJ0IG9mIHRoZSAoaHVnZSkgdHJhY2UgY29ycmVzcG9uZHMgdG8KK3doaWNoIGFjdGlvbi4gSXQgaXMgcmVjb21tZW5kZWQgdG8gcGxhY2UgZGVzY3JpcHRpdmUgbWFya2VycyBhYm91dCB3aGF0IHlvdQorZG8uCisKK1NodXQgZG93biBtbWlvdHJhY2UgKHJlcXVpcmVzIHJvb3QgcHJpdmlsZWdlcyk6CiskIGVjaG8gbm9uZSA+IC9kZWJ1Zy90cmFjaW5nL2N1cnJlbnRfdHJhY2VyCitUaGUgJ2NhdCcgcHJvY2VzcyBleGl0cy4gSWYgaXQgZG9lcyBub3QsIGtpbGwgaXQgYnkgaXNzdWluZyAnZmcnIGNvbW1hbmQgYW5kCitwcmVzc2luZyBjdHJsK2MuCisKK0NoZWNrIHRoYXQgbW1pb3RyYWNlIGRpZCBub3QgbG9zZSBldmVudHMgZHVlIHRvIGEgYnVmZmVyIGZpbGxpbmcgdXAuIEVpdGhlcgorJCBncmVwIC1pIGxvc3QgbXlkdW1wLnR4dAord2hpY2ggdGVsbHMgeW91IGV4YWN0bHkgaG93IG1hbnkgZXZlbnRzIHdlcmUgbG9zdCwgb3IgdXNlCiskIGRtZXNnCit0byB2aWV3IHlvdXIga2VybmVsIGxvZyBhbmQgbG9vayBmb3IgIm1taW90cmFjZSBoYXMgbG9zdCBldmVudHMiIHdhcm5pbmcuIElmCitldmVudHMgd2VyZSBsb3N0LCB0aGUgdHJhY2UgaXMgaW5jb21wbGV0ZS4gWW91IHNob3VsZCBlbmxhcmdlIHRoZSBidWZmZXJzIGFuZAordHJ5IGFnYWluLiBCdWZmZXJzIGFyZSBlbmxhcmdlZCBieSBmaXJzdCBzZWVpbmcgaG93IGxhcmdlIHRoZSBjdXJyZW50IGJ1ZmZlcnMKK2FyZToKKyQgY2F0IC9kZWJ1Zy90cmFjaW5nL3RyYWNlX2VudHJpZXMKK2dpdmVzIHlvdSBhIG51bWJlci4gQXBwcm94aW1hdGVseSBkb3VibGUgdGhpcyBudW1iZXIgYW5kIHdyaXRlIGl0IGJhY2ssIGZvcgoraW5zdGFuY2U6CiskIGVjaG8gMTI4MDAwID4gL2RlYnVnL3RyYWNpbmcvdHJhY2VfZW50cmllcworVGhlbiBzdGFydCBhZ2FpbiBmcm9tIHRoZSB0b3AuCisKK0lmIHlvdSBhcmUgZG9pbmcgYSB0cmFjZSBmb3IgYSBkcml2ZXIgcHJvamVjdCwgZS5nLiBOb3V2ZWF1LCB5b3Ugc2hvdWxkIGFsc28KK2RvIHRoZSBmb2xsb3dpbmcgYmVmb3JlIHNlbmRpbmcgeW91ciByZXN1bHRzOgorJCBsc3BjaSAtdnZ2ID4gbHNwY2kudHh0CiskIGRtZXNnID4gZG1lc2cudHh0CiskIHRhciB6Y2YgcGNpaWQtbmljay1tbWlvdHJhY2UudGFyLmd6IG15ZHVtcC50eHQgbHNwY2kudHh0IGRtZXNnLnR4dAorYW5kIHRoZW4gc2VuZCB0aGUgLnRhci5neiBmaWxlLiBUaGUgdHJhY2UgY29tcHJlc3NlcyBjb25zaWRlcmFibHkuIFJlcGxhY2UKKyJwY2lpZCIgYW5kICJuaWNrIiB3aXRoIHRoZSBQQ0kgSUQgb3IgbW9kZWwgbmFtZSBvZiB5b3VyIHBpZWNlIG9mIGhhcmR3YXJlCit1bmRlciBpbnZlc3RpZ2F0aW9uIGFuZCB5b3VyIG5pY2sgbmFtZS4KKworCitIb3cgTW1pb3RyYWNlIFdvcmtzCistLS0tLS0tLS0tLS0tLS0tLS0tCisKK0FjY2VzcyB0byBoYXJkd2FyZSBJTy1tZW1vcnkgaXMgZ2FpbmVkIGJ5IG1hcHBpbmcgYWRkcmVzc2VzIGZyb20gUENJIGJ1cyBieQorY2FsbGluZyBvbmUgb2YgdGhlIGlvcmVtYXBfKigpIGZ1bmN0aW9ucy4gTW1pb3RyYWNlIGlzIGhvb2tlZCBpbnRvIHRoZQorX19pb3JlbWFwKCkgZnVuY3Rpb24gYW5kIGdldHMgY2FsbGVkIHdoZW5ldmVyIGEgbWFwcGluZyBpcyBjcmVhdGVkLiBNYXBwaW5nIGlzCithbiBldmVudCB0aGF0IGlzIHJlY29yZGVkIGludG8gdGhlIHRyYWNlIGxvZy4gTm90ZSwgdGhhdCBJU0EgcmFuZ2UgbWFwcGluZ3MKK2FyZSBub3QgY2F1Z2h0LCBzaW5jZSB0aGUgbWFwcGluZyBhbHdheXMgZXhpc3RzIGFuZCBpcyByZXR1cm5lZCBkaXJlY3RseS4KKworTU1JTyBhY2Nlc3NlcyBhcmUgcmVjb3JkZWQgdmlhIHBhZ2UgZmF1bHRzLiBKdXN0IGJlZm9yZSBfX2lvcmVtYXAoKSByZXR1cm5zLAordGhlIG1hcHBlZCBwYWdlcyBhcmUgbWFya2VkIGFzIG5vdCBwcmVzZW50LiBBbnkgYWNjZXNzIHRvIHRoZSBwYWdlcyBjYXVzZXMgYQorZmF1bHQuIFRoZSBwYWdlIGZhdWx0IGhhbmRsZXIgY2FsbHMgbW1pb3RyYWNlIHRvIGhhbmRsZSB0aGUgZmF1bHQuIE1taW90cmFjZQorbWFya3MgdGhlIHBhZ2UgcHJlc2VudCwgc2V0cyBURiBmbGFnIHRvIGFjaGlldmUgc2luZ2xlIHN0ZXBwaW5nIGFuZCBleGl0cyB0aGUKK2ZhdWx0IGhhbmRsZXIuIFRoZSBpbnN0cnVjdGlvbiB0aGF0IGZhdWx0ZWQgaXMgZXhlY3V0ZWQgYW5kIGRlYnVnIHRyYXAgaXMKK2VudGVyZWQuIEhlcmUgbW1pb3RyYWNlIGFnYWluIG1hcmtzIHRoZSBwYWdlIGFzIG5vdCBwcmVzZW50LiBUaGUgaW5zdHJ1Y3Rpb24KK2lzIGRlY29kZWQgdG8gZ2V0IHRoZSB0eXBlIG9mIG9wZXJhdGlvbiAocmVhZC93cml0ZSksIGRhdGEgd2lkdGggYW5kIHRoZSB2YWx1ZQorcmVhZCBvciB3cml0dGVuLiBUaGVzZSBhcmUgc3RvcmVkIHRvIHRoZSB0cmFjZSBsb2cuCisKK1NldHRpbmcgdGhlIHBhZ2UgcHJlc2VudCBpbiB0aGUgcGFnZSBmYXVsdCBoYW5kbGVyIGhhcyBhIHJhY2UgY29uZGl0aW9uIG9uIFNNUAorbWFjaGluZXMuIER1cmluZyB0aGUgc2luZ2xlIHN0ZXBwaW5nIG90aGVyIENQVXMgbWF5IHJ1biBmcmVlbHkgb24gdGhhdCBwYWdlCithbmQgZXZlbnRzIGNhbiBiZSBtaXNzZWQgd2l0aG91dCBhIG5vdGljZS4gUmUtZW5hYmxpbmcgb3RoZXIgQ1BVcyBkdXJpbmcKK3RyYWNpbmcgaXMgZGlzY291cmFnZWQuCisKKworVHJhY2UgTG9nIEZvcm1hdAorLS0tLS0tLS0tLS0tLS0tLQorCitUaGUgcmF3IGxvZyBpcyB0ZXh0IGFuZCBlYXNpbHkgZmlsdGVyZWQgd2l0aCBlLmcuIGdyZXAgYW5kIGF3ay4gT25lIHJlY29yZCBpcworb25lIGxpbmUgaW4gdGhlIGxvZy4gQSByZWNvcmQgc3RhcnRzIHdpdGggYSBrZXl3b3JkLCBmb2xsb3dlZCBieSBrZXl3b3JkCitkZXBlbmRhbnQgYXJndW1lbnRzLiBBcmd1bWVudHMgYXJlIHNlcGFyYXRlZCBieSBhIHNwYWNlLCBvciBjb250aW51ZSB1bnRpbCB0aGUKK2VuZCBvZiBsaW5lLiBUaGUgZm9ybWF0IGZvciB2ZXJzaW9uIDIwMDcwODI0IGlzIGFzIGZvbGxvd3M6CisKK0V4cGxhbmF0aW9uCUtleXdvcmQJU3BhY2Ugc2VwYXJhdGVkIGFyZ3VtZW50cworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK3JlYWQgZXZlbnQJUgl3aWR0aCwgdGltZXN0YW1wLCBtYXAgaWQsIHBoeXNpY2FsLCB2YWx1ZSwgUEMsIFBJRAord3JpdGUgZXZlbnQJVwl3aWR0aCwgdGltZXN0YW1wLCBtYXAgaWQsIHBoeXNpY2FsLCB2YWx1ZSwgUEMsIFBJRAoraW9yZW1hcCBldmVudAlNQVAJdGltZXN0YW1wLCBtYXAgaWQsIHBoeXNpY2FsLCB2aXJ0dWFsLCBsZW5ndGgsIFBDLCBQSUQKK2lvdW5tYXAgZXZlbnQJVU5NQVAJdGltZXN0YW1wLCBtYXAgaWQsIFBDLCBQSUQKK21hcmtlcgkJTUFSSwl0aW1lc3RhbXAsIHRleHQKK3ZlcnNpb24JCVZFUlNJT04JdGhlIHN0cmluZyAiMjAwNzA4MjQiCitpbmZvIGZvciByZWFkZXIJTFNQQ0kJb25lIGxpbmUgZnJvbSBsc3BjaSAtdgorUENJIGFkZHJlc3MgbWFwCVBDSURFVglzcGFjZSBzZXBhcmF0ZWQgL3Byb2MvYnVzL3BjaS9kZXZpY2VzIGRhdGEKK3Vuay4gb3Bjb2RlCVVOS05PV04JdGltZXN0YW1wLCBtYXAgaWQsIHBoeXNpY2FsLCBkYXRhLCBQQywgUElECisKK1RpbWVzdGFtcCBpcyBpbiBzZWNvbmRzIHdpdGggZGVjaW1hbHMuIFBoeXNpY2FsIGlzIGEgUENJIGJ1cyBhZGRyZXNzLCB2aXJ0dWFsCitpcyBhIGtlcm5lbCB2aXJ0dWFsIGFkZHJlc3MuIFdpZHRoIGlzIHRoZSBkYXRhIHdpZHRoIGluIGJ5dGVzIGFuZCB2YWx1ZSBpcyB0aGUKK2RhdGEgdmFsdWUuIE1hcCBpZCBpcyBhbiBhcmJpdHJhcnkgaWQgbnVtYmVyIGlkZW50aWZ5aW5nIHRoZSBtYXBwaW5nIHRoYXQgd2FzCit1c2VkIGluIGFuIG9wZXJhdGlvbi4gUEMgaXMgdGhlIHByb2dyYW0gY291bnRlciBhbmQgUElEIGlzIHByb2Nlc3MgaWQuIFBDIGlzCit6ZXJvIGlmIGl0IGlzIG5vdCByZWNvcmRlZC4gUElEIGlzIGFsd2F5cyB6ZXJvIGFzIHRyYWNpbmcgTU1JTyBhY2Nlc3Nlcworb3JpZ2luYXRpbmcgaW4gdXNlciBzcGFjZSBtZW1vcnkgaXMgbm90IHlldCBzdXBwb3J0ZWQuCisKK0ZvciBpbnN0YW5jZSwgdGhlIGZvbGxvd2luZyBhd2sgZmlsdGVyIHdpbGwgcGFzcyBhbGwgMzItYml0IHdyaXRlcyB0aGF0IHRhcmdldAorcGh5c2ljYWwgYWRkcmVzc2VzIGluIHRoZSByYW5nZSBbMHhmYjczY2U0MCwgMHhmYjgwMDAwMFsKKworJCBhd2sgJy9XIDQgLyB7IGFkcj1zdHJ0b251bSgkNSk7IGlmIChhZHIgPj0gMHhmYjczY2U0MCAmJgorYWRyIDwgMHhmYjgwMDAwMCkgcHJpbnQ7IH0nCisKKworVG9vbHMgZm9yIERldmVsb3BlcnMKKy0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK1RoZSB1c2VyIHNwYWNlIHRvb2xzIGluY2x1ZGUgdXRpbGl0aWVzIGZvcjoKKy0gcmVwbGFjaW5nIG51bWVyaWMgYWRkcmVzc2VzIGFuZCB2YWx1ZXMgd2l0aCBoYXJkd2FyZSByZWdpc3RlciBuYW1lcworLSByZXBsYXlpbmcgTU1JTyBsb2dzLCBpLmUuLCByZS1leGVjdXRpbmcgdGhlIHJlY29yZGVkIHdyaXRlcworCisKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vaTM4Ni9JTy1BUElDLnR4dCBiL0RvY3VtZW50YXRpb24veDg2L2kzODYvSU8tQVBJQy50eHQKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIERvY3VtZW50YXRpb24vaTM4Ni9JTy1BUElDLnR4dApyZW5hbWUgdG8gRG9jdW1lbnRhdGlvbi94ODYvaTM4Ni9JTy1BUElDLnR4dApkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9pMzg2L2Jvb3QudHh0IGIvRG9jdW1lbnRhdGlvbi94ODYvaTM4Ni9ib290LnR4dApzaW1pbGFyaXR5IGluZGV4IDk2JQpyZW5hbWUgZnJvbSBEb2N1bWVudGF0aW9uL2kzODYvYm9vdC50eHQKcmVuYW1lIHRvIERvY3VtZW50YXRpb24veDg2L2kzODYvYm9vdC50eHQKaW5kZXggOTVhZDE1Yy4uMTQ3YmZlNSAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9pMzg2L2Jvb3QudHh0CisrKyBiL0RvY3VtZW50YXRpb24veDg2L2kzODYvYm9vdC50eHQKQEAgLTEsMTcgKzEsMTQgQEAKLQkJICAgICBUSEUgTElOVVgvSTM4NiBCT09UIFBST1RPQ09MCi0JCSAgICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCQkgICAgIFRIRSBMSU5VWC94ODYgQk9PVCBQUk9UT0NPTAorCQkgICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCi0JCSAgICBILiBQZXRlciBBbnZpbiA8aHBhQHp5dG9yLmNvbT4KLQkJCUxhc3QgdXBkYXRlIDIwMDctMDUtMjMKLQotT24gdGhlIGkzODYgcGxhdGZvcm0sIHRoZSBMaW51eCBrZXJuZWwgdXNlcyBhIHJhdGhlciBjb21wbGljYXRlZCBib290CitPbiB0aGUgeDg2IHBsYXRmb3JtLCB0aGUgTGludXgga2VybmVsIHVzZXMgYSByYXRoZXIgY29tcGxpY2F0ZWQgYm9vdAogY29udmVudGlvbi4gIFRoaXMgaGFzIGV2b2x2ZWQgcGFydGlhbGx5IGR1ZSB0byBoaXN0b3JpY2FsIGFzcGVjdHMsIGFzCiB3ZWxsIGFzIHRoZSBkZXNpcmUgaW4gdGhlIGVhcmx5IGRheXMgdG8gaGF2ZSB0aGUga2VybmVsIGl0c2VsZiBiZSBhCiBib290YWJsZSBpbWFnZSwgdGhlIGNvbXBsaWNhdGVkIFBDIG1lbW9yeSBtb2RlbCBhbmQgZHVlIHRvIGNoYW5nZWQKIGV4cGVjdGF0aW9ucyBpbiB0aGUgUEMgaW5kdXN0cnkgY2F1c2VkIGJ5IHRoZSBlZmZlY3RpdmUgZGVtaXNlIG9mCiByZWFsLW1vZGUgRE9TIGFzIGEgbWFpbnN0cmVhbSBvcGVyYXRpbmcgc3lzdGVtLgogCi1DdXJyZW50bHksIHRoZSBmb2xsb3dpbmcgdmVyc2lvbnMgb2YgdGhlIExpbnV4L2kzODYgYm9vdCBwcm90b2NvbCBleGlzdC4KK0N1cnJlbnRseSwgdGhlIGZvbGxvd2luZyB2ZXJzaW9ucyBvZiB0aGUgTGludXgveDg2IGJvb3QgcHJvdG9jb2wgZXhpc3QuCiAKIE9sZCBrZXJuZWxzOgl6SW1hZ2UvSW1hZ2Ugc3VwcG9ydCBvbmx5LiAgU29tZSB2ZXJ5IGVhcmx5IGtlcm5lbHMKIAkJbWF5IG5vdCBldmVuIHN1cHBvcnQgYSBjb21tYW5kIGxpbmUuCkBAIC0zNzIsMTAgKzM2OSwxNyBAQAogCS0gSWYgMCwgdGhlIHByb3RlY3RlZC1tb2RlIGNvZGUgaXMgbG9hZGVkIGF0IDB4MTAwMDAuCiAJLSBJZiAxLCB0aGUgcHJvdGVjdGVkLW1vZGUgY29kZSBpcyBsb2FkZWQgYXQgMHgxMDAwMDAuCiAKKyAgQml0IDUgKHdyaXRlKTogUVVJRVRfRkxBRworCS0gSWYgMCwgcHJpbnQgZWFybHkgbWVzc2FnZXMuCisJLSBJZiAxLCBzdXBwcmVzcyBlYXJseSBtZXNzYWdlcy4KKwkJVGhpcyByZXF1ZXN0cyB0byB0aGUga2VybmVsIChkZWNvbXByZXNzb3IgYW5kIGVhcmx5CisJCWtlcm5lbCkgdG8gbm90IHdyaXRlIGVhcmx5IG1lc3NhZ2VzIHRoYXQgcmVxdWlyZQorCQlhY2Nlc3NpbmcgdGhlIGRpc3BsYXkgaGFyZHdhcmUgZGlyZWN0bHkuCisKICAgQml0IDYgKHdyaXRlKTogS0VFUF9TRUdNRU5UUwogCVByb3RvY29sOiAyLjA3KwotCS0gaWYgMCwgcmVsb2FkIHRoZSBzZWdtZW50IHJlZ2lzdGVycyBpbiB0aGUgMzJiaXQgZW50cnkgcG9pbnQuCi0JLSBpZiAxLCBkbyBub3QgcmVsb2FkIHRoZSBzZWdtZW50IHJlZ2lzdGVycyBpbiB0aGUgMzJiaXQgZW50cnkgcG9pbnQuCisJLSBJZiAwLCByZWxvYWQgdGhlIHNlZ21lbnQgcmVnaXN0ZXJzIGluIHRoZSAzMmJpdCBlbnRyeSBwb2ludC4KKwktIElmIDEsIGRvIG5vdCByZWxvYWQgdGhlIHNlZ21lbnQgcmVnaXN0ZXJzIGluIHRoZSAzMmJpdCBlbnRyeSBwb2ludC4KIAkJQXNzdW1lIHRoYXQgJWNzICVkcyAlc3MgJWVzIGFyZSBhbGwgc2V0IHRvIGZsYXQgc2VnbWVudHMgd2l0aAogCQlhIGJhc2Ugb2YgMCAob3IgdGhlIGVxdWl2YWxlbnQgZm9yIHRoZWlyIGVudmlyb25tZW50KS4KIApAQCAtNTA0LDcgKzUwOCw3IEBACiAgIG1heGltdW0gc2l6ZSB3YXMgMjU1LgogCiBGaWVsZCBuYW1lOgloYXJkd2FyZV9zdWJhcmNoCi1UeXBlOgkJd3JpdGUKK1R5cGU6CQl3cml0ZSAob3B0aW9uYWwsIGRlZmF1bHRzIHRvIHg4Ni9QQykKIE9mZnNldC9zaXplOgkweDIzYy80CiBQcm90b2NvbDoJMi4wNysKIApAQCAtNTIwLDExICs1MjQsMTMgQEAKICAgMHgwMDAwMDAwMglYZW4KIAogRmllbGQgbmFtZToJaGFyZHdhcmVfc3ViYXJjaF9kYXRhCi1UeXBlOgkJd3JpdGUKK1R5cGU6CQl3cml0ZSAoc3ViYXJjaC1kZXBlbmRlbnQpCiBPZmZzZXQvc2l6ZToJMHgyNDAvOAogUHJvdG9jb2w6CTIuMDcrCiAKICAgQSBwb2ludGVyIHRvIGRhdGEgdGhhdCBpcyBzcGVjaWZpYyB0byBoYXJkd2FyZSBzdWJhcmNoCisgIFRoaXMgZmllbGQgaXMgY3VycmVudGx5IHVudXNlZCBmb3IgdGhlIGRlZmF1bHQgeDg2L1BDIGVudmlyb25tZW50LAorICBkbyBub3QgbW9kaWZ5LgogCiBGaWVsZCBuYW1lOglwYXlsb2FkX29mZnNldAogVHlwZToJCXJlYWQKQEAgLTU0NSw2ICs1NTEsMzQgQEAKIAogICBUaGUgbGVuZ3RoIG9mIHRoZSBwYXlsb2FkLgogCitGaWVsZCBuYW1lOglzZXR1cF9kYXRhCitUeXBlOgkJd3JpdGUgKHNwZWNpYWwpCitPZmZzZXQvc2l6ZToJMHgyNTAvOAorUHJvdG9jb2w6CTIuMDkrCisKKyAgVGhlIDY0LWJpdCBwaHlzaWNhbCBwb2ludGVyIHRvIE5VTEwgdGVybWluYXRlZCBzaW5nbGUgbGlua2VkIGxpc3Qgb2YKKyAgc3RydWN0IHNldHVwX2RhdGEuIFRoaXMgaXMgdXNlZCB0byBkZWZpbmUgYSBtb3JlIGV4dGVuc2libGUgYm9vdAorICBwYXJhbWV0ZXJzIHBhc3NpbmcgbWVjaGFuaXNtLiBUaGUgZGVmaW5pdGlvbiBvZiBzdHJ1Y3Qgc2V0dXBfZGF0YSBpcworICBhcyBmb2xsb3c6CisKKyAgc3RydWN0IHNldHVwX2RhdGEgeworCSAgdTY0IG5leHQ7CisJICB1MzIgdHlwZTsKKwkgIHUzMiBsZW47CisJICB1OCAgZGF0YVswXTsKKyAgfTsKKworICBXaGVyZSwgdGhlIG5leHQgaXMgYSA2NC1iaXQgcGh5c2ljYWwgcG9pbnRlciB0byB0aGUgbmV4dCBub2RlIG9mCisgIGxpbmtlZCBsaXN0LCB0aGUgbmV4dCBmaWVsZCBvZiB0aGUgbGFzdCBub2RlIGlzIDA7IHRoZSB0eXBlIGlzIHVzZWQKKyAgdG8gaWRlbnRpZnkgdGhlIGNvbnRlbnRzIG9mIGRhdGE7IHRoZSBsZW4gaXMgdGhlIGxlbmd0aCBvZiBkYXRhCisgIGZpZWxkOyB0aGUgZGF0YSBob2xkcyB0aGUgcmVhbCBwYXlsb2FkLgorCisgIFRoaXMgbGlzdCBtYXkgYmUgbW9kaWZpZWQgYXQgYSBudW1iZXIgb2YgcG9pbnRzIGR1cmluZyB0aGUgYm9vdHVwCisgIHByb2Nlc3MuICBUaGVyZWZvcmUsIHdoZW4gbW9kaWZ5aW5nIHRoaXMgbGlzdCBvbmUgc2hvdWxkIGFsd2F5cyBtYWtlCisgIHN1cmUgdG8gY29uc2lkZXIgdGhlIGNhc2Ugd2hlcmUgdGhlIGxpbmtlZCBsaXN0IGFscmVhZHkgY29udGFpbnMKKyAgZW50cmllcy4KKworCiAqKioqIFRIRSBJTUFHRSBDSEVDS1NVTQogCiBGcm9tIGJvb3QgcHJvdG9jb2wgdmVyc2lvbiAyLjA4IG9ud2FyZHMgdGhlIENSQy0zMiBpcyBjYWxjdWxhdGVkIG92ZXIKQEAgLTU1Myw2ICs1ODcsNyBAQAogZmlsZTsgdGhlcmVmb3JlIHRoZSBDUkMgb2YgdGhlIGZpbGUgdXAgdG8gdGhlIGxpbWl0IHNwZWNpZmllZCBpbiB0aGUKIHN5c3NpemUgZmllbGQgb2YgdGhlIGhlYWRlciBpcyBhbHdheXMgMC4KIAorCiAqKioqIFRIRSBLRVJORUwgQ09NTUFORCBMSU5FCiAKIFRoZSBrZXJuZWwgY29tbWFuZCBsaW5lIGhhcyBiZWNvbWUgYW4gaW1wb3J0YW50IHdheSBmb3IgdGhlIGJvb3QKQEAgLTU4NCwyOCArNjE5LDYgQEAKIAljb3ZlcmVkIGJ5IHNldHVwX21vdmVfc2l6ZSwgc28geW91IG1heSBuZWVkIHRvIGFkanVzdCB0aGlzCiAJZmllbGQuCiAKLUZpZWxkIG5hbWU6CXNldHVwX2RhdGEKLVR5cGU6CQl3cml0ZSAob2JsaWdhdG9yeSkKLU9mZnNldC9zaXplOgkweDI1MC84Ci1Qcm90b2NvbDoJMi4wOSsKLQotICBUaGUgNjQtYml0IHBoeXNpY2FsIHBvaW50ZXIgdG8gTlVMTCB0ZXJtaW5hdGVkIHNpbmdsZSBsaW5rZWQgbGlzdCBvZgotICBzdHJ1Y3Qgc2V0dXBfZGF0YS4gVGhpcyBpcyB1c2VkIHRvIGRlZmluZSBhIG1vcmUgZXh0ZW5zaWJsZSBib290Ci0gIHBhcmFtZXRlcnMgcGFzc2luZyBtZWNoYW5pc20uIFRoZSBkZWZpbml0aW9uIG9mIHN0cnVjdCBzZXR1cF9kYXRhIGlzCi0gIGFzIGZvbGxvdzoKLQotICBzdHJ1Y3Qgc2V0dXBfZGF0YSB7Ci0JICB1NjQgbmV4dDsKLQkgIHUzMiB0eXBlOwotCSAgdTMyIGxlbjsKLQkgIHU4ICBkYXRhWzBdOwotICB9OwotCi0gIFdoZXJlLCB0aGUgbmV4dCBpcyBhIDY0LWJpdCBwaHlzaWNhbCBwb2ludGVyIHRvIHRoZSBuZXh0IG5vZGUgb2YKLSAgbGlua2VkIGxpc3QsIHRoZSBuZXh0IGZpZWxkIG9mIHRoZSBsYXN0IG5vZGUgaXMgMDsgdGhlIHR5cGUgaXMgdXNlZAotICB0byBpZGVudGlmeSB0aGUgY29udGVudHMgb2YgZGF0YTsgdGhlIGxlbiBpcyB0aGUgbGVuZ3RoIG9mIGRhdGEKLSAgZmllbGQ7IHRoZSBkYXRhIGhvbGRzIHRoZSByZWFsIHBheWxvYWQuCi0KIAogKioqKiBNRU1PUlkgTEFZT1VUIE9GIFRIRSBSRUFMLU1PREUgQ09ERQogCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2kzODYvdXNiLWxlZ2FjeS1zdXBwb3J0LnR4dCBiL0RvY3VtZW50YXRpb24veDg2L2kzODYvdXNiLWxlZ2FjeS1zdXBwb3J0LnR4dApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gRG9jdW1lbnRhdGlvbi9pMzg2L3VzYi1sZWdhY3ktc3VwcG9ydC50eHQKcmVuYW1lIHRvIERvY3VtZW50YXRpb24veDg2L2kzODYvdXNiLWxlZ2FjeS1zdXBwb3J0LnR4dApkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9pMzg2L3plcm8tcGFnZS50eHQgYi9Eb2N1bWVudGF0aW9uL3g4Ni9pMzg2L3plcm8tcGFnZS50eHQKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIERvY3VtZW50YXRpb24vaTM4Ni96ZXJvLXBhZ2UudHh0CnJlbmFtZSB0byBEb2N1bWVudGF0aW9uL3g4Ni9pMzg2L3plcm8tcGFnZS50eHQKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24veDg2XzY0LzAwLUlOREVYIGIvRG9jdW1lbnRhdGlvbi94ODYveDg2XzY0LzAwLUlOREVYCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBEb2N1bWVudGF0aW9uL3g4Nl82NC8wMC1JTkRFWApyZW5hbWUgdG8gRG9jdW1lbnRhdGlvbi94ODYveDg2XzY0LzAwLUlOREVYCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL3g4Nl82NC9ib290LW9wdGlvbnMudHh0IGIvRG9jdW1lbnRhdGlvbi94ODYveDg2XzY0L2Jvb3Qtb3B0aW9ucy50eHQKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIERvY3VtZW50YXRpb24veDg2XzY0L2Jvb3Qtb3B0aW9ucy50eHQKcmVuYW1lIHRvIERvY3VtZW50YXRpb24veDg2L3g4Nl82NC9ib290LW9wdGlvbnMudHh0CmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL3g4Nl82NC9jcHUtaG90cGx1Zy1zcGVjIGIvRG9jdW1lbnRhdGlvbi94ODYveDg2XzY0L2NwdS1ob3RwbHVnLXNwZWMKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIERvY3VtZW50YXRpb24veDg2XzY0L2NwdS1ob3RwbHVnLXNwZWMKcmVuYW1lIHRvIERvY3VtZW50YXRpb24veDg2L3g4Nl82NC9jcHUtaG90cGx1Zy1zcGVjCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL3g4Nl82NC9mYWtlLW51bWEtZm9yLWNwdXNldHMgYi9Eb2N1bWVudGF0aW9uL3g4Ni94ODZfNjQvZmFrZS1udW1hLWZvci1jcHVzZXRzCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBEb2N1bWVudGF0aW9uL3g4Nl82NC9mYWtlLW51bWEtZm9yLWNwdXNldHMKcmVuYW1lIHRvIERvY3VtZW50YXRpb24veDg2L3g4Nl82NC9mYWtlLW51bWEtZm9yLWNwdXNldHMKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24veDg2XzY0L2tlcm5lbC1zdGFja3MgYi9Eb2N1bWVudGF0aW9uL3g4Ni94ODZfNjQva2VybmVsLXN0YWNrcwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gRG9jdW1lbnRhdGlvbi94ODZfNjQva2VybmVsLXN0YWNrcwpyZW5hbWUgdG8gRG9jdW1lbnRhdGlvbi94ODYveDg2XzY0L2tlcm5lbC1zdGFja3MKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24veDg2XzY0L21hY2hpbmVjaGVjayBiL0RvY3VtZW50YXRpb24veDg2L3g4Nl82NC9tYWNoaW5lY2hlY2sKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIERvY3VtZW50YXRpb24veDg2XzY0L21hY2hpbmVjaGVjawpyZW5hbWUgdG8gRG9jdW1lbnRhdGlvbi94ODYveDg2XzY0L21hY2hpbmVjaGVjawpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi94ODZfNjQvbW0udHh0IGIvRG9jdW1lbnRhdGlvbi94ODYveDg2XzY0L21tLnR4dApzaW1pbGFyaXR5IGluZGV4IDg3JQpyZW5hbWUgZnJvbSBEb2N1bWVudGF0aW9uL3g4Nl82NC9tbS50eHQKcmVuYW1lIHRvIERvY3VtZW50YXRpb24veDg2L3g4Nl82NC9tbS50eHQKaW5kZXggYjg5YjZkMi4uZWZjZTc1MCAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi94ODZfNjQvbW0udHh0CisrKyBiL0RvY3VtZW50YXRpb24veDg2L3g4Nl82NC9tbS50eHQKQEAgLTExLDkgKzExLDggQEAKIGZmZmZjMjAwMDAwMDAwMDAgLSBmZmZmZTFmZmZmZmZmZmZmICg9NDUgYml0cykgdm1hbGxvYy9pb3JlbWFwIHNwYWNlCiBmZmZmZTIwMDAwMDAwMDAwIC0gZmZmZmUyZmZmZmZmZmZmZiAoPTQwIGJpdHMpIHZpcnR1YWwgbWVtb3J5IG1hcCAoMVRCKQogLi4uIHVudXNlZCBob2xlIC4uLgotZmZmZmZmZmY4MDAwMDAwMCAtIGZmZmZmZmZmODI4MDAwMDAgKD00MCBNQikgICBrZXJuZWwgdGV4dCBtYXBwaW5nLCBmcm9tIHBoeXMgMAotLi4uIHVudXNlZCBob2xlIC4uLgotZmZmZmZmZmY4ODAwMDAwMCAtIGZmZmZmZmZmZmZmMDAwMDAgKD0xOTE5IE1CKSBtb2R1bGUgbWFwcGluZyBzcGFjZQorZmZmZmZmZmY4MDAwMDAwMCAtIGZmZmZmZmZmYTAwMDAwMDAgKD01MTIgTUIpICBrZXJuZWwgdGV4dCBtYXBwaW5nLCBmcm9tIHBoeXMgMAorZmZmZmZmZmZhMDAwMDAwMCAtIGZmZmZmZmZmZmZmMDAwMDAgKD0xNTM2IE1CKSBtb2R1bGUgbWFwcGluZyBzcGFjZQogCiBUaGUgZGlyZWN0IG1hcHBpbmcgY292ZXJzIGFsbCBtZW1vcnkgaW4gdGhlIHN5c3RlbSB1cCB0byB0aGUgaGlnaGVzdAogbWVtb3J5IGFkZHJlc3MgKHRoaXMgbWVhbnMgaW4gc29tZSBjYXNlcyBpdCBjYW4gYWxzbyBpbmNsdWRlIFBDSSBtZW1vcnkKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24veDg2XzY0L3VlZmkudHh0IGIvRG9jdW1lbnRhdGlvbi94ODYveDg2XzY0L3VlZmkudHh0CnNpbWlsYXJpdHkgaW5kZXggODQlCnJlbmFtZSBmcm9tIERvY3VtZW50YXRpb24veDg2XzY0L3VlZmkudHh0CnJlbmFtZSB0byBEb2N1bWVudGF0aW9uL3g4Ni94ODZfNjQvdWVmaS50eHQKaW5kZXggN2Q3NzEyMC4uYTVlMmI0ZiAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi94ODZfNjQvdWVmaS50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi94ODYveDg2XzY0L3VlZmkudHh0CkBAIC0zNiwzICszNiw3IEBACiAgIHNlcnZpY2VzLgogCW5vZWZpCQl0dXJuIG9mZiBhbGwgRUZJIHJ1bnRpbWUgc2VydmljZXMKIAlyZWJvb3RfdHlwZT1rCXR1cm4gb2ZmIEVGSSByZWJvb3QgcnVudGltZSBzZXJ2aWNlCistIElmIHRoZSBFRkkgbWVtb3J5IG1hcCBoYXMgYWRkaXRpb25hbCBlbnRyaWVzIG5vdCBpbiB0aGUgRTgyMCBtYXAsCisgIHlvdSBjYW4gaW5jbHVkZSB0aG9zZSBlbnRyaWVzIGluIHRoZSBrZXJuZWxzIG1lbW9yeSBtYXAgb2YgYXZhaWxhYmxlCisgIHBoeXNpY2FsIFJBTSBieSB1c2luZyB0aGUgZm9sbG93aW5nIGtlcm5lbCBjb21tYW5kIGxpbmUgcGFyYW1ldGVyLgorCWFkZF9lZmlfbWVtbWFwCWluY2x1ZGUgRUZJIG1lbW9yeSBtYXAgb2YgYXZhaWxhYmxlIHBoeXNpY2FsIFJBTQpkaWZmIC0tZ2l0IGEvTUFJTlRBSU5FUlMgYi9NQUlOVEFJTkVSUwppbmRleCA1NmEyZjY3Li42MTk4ZmEzIDEwMDY0NAotLS0gYS9NQUlOVEFJTkVSUworKysgYi9NQUlOVEFJTkVSUwpAQCAtMzc2LDYgKzM3NiwxMiBAQAogVzoJaHR0cDovL3d3dy5hbWQuY29tL3VzLWVuL0Nvbm5lY3Rpdml0eVNvbHV0aW9ucy9UZWNobmljYWxSZXNvdXJjZXMvMCwsNTBfMjMzNF8yNDUyXzExMzYzLDAwLmh0bWwKIFM6CVN1cHBvcnRlZAogCitBTUQgSU9NTVUgKEFNRC1WSSkKK1A6CUpvZXJnIFJvZWRlbAorTToJam9lcmcucm9lZGVsQGFtZC5jb20KK0w6CWlvbW11QGxpc3RzLmxpbnV4LWZvdW5kYXRpb24ub3JnCitTOglTdXBwb3J0ZWQKKwogQU1TIChBcHBsZSBNb3Rpb24gU2Vuc29yKSBEUklWRVIKIFA6CVN0ZWxpYW4gUG9wCiBNOglzdGVsaWFuQHBvcGllcy5uZXQKQEAgLTE2ODAsNiArMTY4NiwxMyBAQAogTDoJbGludXgta2VybmVsQHZnZXIua2VybmVsLm9yZwogUzoJTWFpbnRhaW5lZAogCitGUkVFU0NBTEUgSTJDIENQTSBEUklWRVIKK1A6CUpvY2hlbiBGcmllZHJpY2gKK006CWpvY2hlbkBzY3JhbS5kZQorTDoJbGludXhwcGMtZGV2QG96bGFicy5vcmcKK0w6CWkyY0BsbS1zZW5zb3JzLm9yZworUzoJTWFpbnRhaW5lZAorCiBGUkVFU0NBTEUgU09DIEZTX0VORVQgRFJJVkVSCiBQOglQYW50ZWxpcyBBbnRvbmlvdQogTToJcGFudGVsaXMuYW50b25pb3VAZ21haWwuY29tCmRpZmYgLS1naXQgYS9NYWtlZmlsZSBiL01ha2VmaWxlCmluZGV4IGUzYzVlYjYuLjVlZmRkODggMTAwNjQ0Ci0tLSBhL01ha2VmaWxlCisrKyBiL01ha2VmaWxlCkBAIC00NTAsNyArNDUwLDcgQEAKIAogIyBPYmplY3RzIHdlIHdpbGwgbGluayBpbnRvIHZtbGludXggLyBzdWJkaXJzIHdlIG5lZWQgdG8gdmlzaXQKIGluaXQteQkJOj0gaW5pdC8KLWRyaXZlcnMteQk6PSBkcml2ZXJzLyBzb3VuZC8KK2RyaXZlcnMteQk6PSBkcml2ZXJzLyBzb3VuZC8gZmlybXdhcmUvCiBuZXQteQkJOj0gbmV0LwogbGlicy15CQk6PSBsaWIvCiBjb3JlLXkJCTo9IHVzci8KQEAgLTUyOCw2ICs1MjgsMTAgQEAKIEtCVUlMRF9BRkxBR1MJKz0gLWdkd2FyZi0yCiBlbmRpZgogCitpZmRlZiBDT05GSUdfRlRSQUNFCitLQlVJTERfQ0ZMQUdTCSs9IC1wZworZW5kaWYKKwogIyBXZSB0cmlnZ2VyIGFkZGl0aW9uYWwgbWlzbWF0Y2hlcyB3aXRoIGxlc3MgaW5saW5pbmcKIGlmZGVmIENPTkZJR19ERUJVR19TRUNUSU9OX01JU01BVENICiBLQlVJTERfQ0ZMQUdTICs9ICQoY2FsbCBjYy1vcHRpb24sIC1mbm8taW5saW5lLWZ1bmN0aW9ucy1jYWxsZWQtb25jZSkKQEAgLTk5NSw2ICs5OTksMTYgQEAKIAlAZWNobyAnKioqIFdhcm5pbmc6IG1ha2UgJEAgaXMgdW5uZWNlc3Nhcnkgbm93LicKIAogIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgRmlybXdhcmUgaW5zdGFsbAorSU5TVEFMTF9GV19QQVRIPSQoSU5TVEFMTF9NT0RfUEFUSCkvbGliL2Zpcm13YXJlCitleHBvcnQgSU5TVEFMTF9GV19QQVRICisKK1BIT05ZICs9IGZpcm13YXJlX2luc3RhbGwKK2Zpcm13YXJlX2luc3RhbGw6IEZPUkNFCisJQG1rZGlyIC1wICQob2JqdHJlZSkvZmlybXdhcmUKKwkkKFEpJChNQUtFKSAtZiAkKHNyY3RyZWUpL3NjcmlwdHMvTWFrZWZpbGUuZndpbnN0IG9iaj1maXJtd2FyZSBfX2Z3X2luc3RhbGwKKworIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICMgS2VybmVsIGhlYWRlcnMKIElOU1RBTExfSERSX1BBVEg9JChvYmp0cmVlKS91c3IKIGV4cG9ydCBJTlNUQUxMX0hEUl9QQVRICkBAIC0xMDgwLDYgKzEwOTQsNyBAQAogIyBib290IHNjcmlwdCBkZXBtb2QgaXMgdGhlIG1hc3RlciB2ZXJzaW9uLgogUEhPTlkgKz0gX21vZGluc3RfcG9zdAogX21vZGluc3RfcG9zdDogX21vZGluc3RfCisJJChRKSQoTUFLRSkgLWYgJChzcmN0cmVlKS9zY3JpcHRzL01ha2VmaWxlLmZ3aW5zdCBvYmo9ZmlybXdhcmUgX19md19tb2RpbnN0CiAJJChjYWxsIGNtZCxkZXBtb2QpCiAKIGVsc2UgIyBDT05GSUdfTU9EVUxFUwpAQCAtMTE5Nyw2ICsxMjEyLDggQEAKIAlAZWNobyAgJyogdm1saW51eAkgIC0gQnVpbGQgdGhlIGJhcmUga2VybmVsJwogCUBlY2hvICAnKiBtb2R1bGVzCSAgLSBCdWlsZCBhbGwgbW9kdWxlcycKIAlAZWNobyAgJyAgbW9kdWxlc19pbnN0YWxsIC0gSW5zdGFsbCBhbGwgbW9kdWxlcyB0byBJTlNUQUxMX01PRF9QQVRIIChkZWZhdWx0OiAvKScKKwlAZWNobyAgJyAgZmlybXdhcmVfaW5zdGFsbC0gSW5zdGFsbCBhbGwgZmlybXdhcmUgdG8gSU5TVEFMTF9GV19QQVRIJworCUBlY2hvICAnICAgICAgICAgICAgICAgICAgICAoZGVmYXVsdDogJCQoSU5TVEFMTF9NT0RfUEFUSCkvbGliL2Zpcm13YXJlKScKIAlAZWNobyAgJyAgZGlyLyAgICAgICAgICAgIC0gQnVpbGQgYWxsIGZpbGVzIGluIGRpciBhbmQgYmVsb3cnCiAJQGVjaG8gICcgIGRpci9maWxlLltvaXNdICAtIEJ1aWxkIHNwZWNpZmllZCB0YXJnZXQgb25seScKIAlAZWNobyAgJyAgZGlyL2ZpbGUua28gICAgIC0gQnVpbGQgbW9kdWxlIGluY2x1ZGluZyBmaW5hbCBsaW5rJwpkaWZmIC0tZ2l0IGEvYXJjaC9hbHBoYS9rZXJuZWwvaXJxLmMgYi9hcmNoL2FscGhhL2tlcm5lbC9pcnEuYwppbmRleCBmYWNmODJhLi5jNjI2YTgyIDEwMDY0NAotLS0gYS9hcmNoL2FscGhhL2tlcm5lbC9pcnEuYworKysgYi9hcmNoL2FscGhhL2tlcm5lbC9pcnEuYwpAQCAtNDIsOCArNDIsNyBAQAogI2lmZGVmIENPTkZJR19TTVAgCiBzdGF0aWMgY2hhciBpcnFfdXNlcl9hZmZpbml0eVtOUl9JUlFTXTsKIAotaW50Ci1zZWxlY3Rfc21wX2FmZmluaXR5KHVuc2lnbmVkIGludCBpcnEpCitpbnQgaXJxX3NlbGVjdF9hZmZpbml0eSh1bnNpZ25lZCBpbnQgaXJxKQogewogCXN0YXRpYyBpbnQgbGFzdF9jcHU7CiAJaW50IGNwdSA9IGxhc3RfY3B1ICsgMTsKQEAgLTUxLDcgKzUwLDcgQEAKIAlpZiAoIWlycV9kZXNjW2lycV0uY2hpcC0+c2V0X2FmZmluaXR5IHx8IGlycV91c2VyX2FmZmluaXR5W2lycV0pCiAJCXJldHVybiAxOwogCi0Jd2hpbGUgKCFjcHVfcG9zc2libGUoY3B1KSkKKwl3aGlsZSAoIWNwdV9wb3NzaWJsZShjcHUpIHx8ICFjcHVfaXNzZXQoY3B1LCBpcnFfZGVmYXVsdF9hZmZpbml0eSkpCiAJCWNwdSA9IChjcHUgPCAoTlJfQ1BVUy0xKSA/IGNwdSArIDEgOiAwKTsKIAlsYXN0X2NwdSA9IGNwdTsKIApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vS2NvbmZpZyBiL2FyY2gvYXJtL0tjb25maWcKaW5kZXggYjc4NmU2OC4uMjU4ZjEzNiAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vS2NvbmZpZworKysgYi9hcmNoL2FybS9LY29uZmlnCkBAIC0xNCw2ICsxNCw4IEBACiAJc2VsZWN0IEhBVkVfT1BST0ZJTEUKIAlzZWxlY3QgSEFWRV9LUFJPQkVTIGlmICghWElQX0tFUk5FTCkKIAlzZWxlY3QgSEFWRV9LUkVUUFJPQkVTIGlmIChIQVZFX0tQUk9CRVMpCisJc2VsZWN0IEhBVkVfRlRSQUNFIGlmICghWElQX0tFUk5FTCkKKwlzZWxlY3QgSEFWRV9EWU5BTUlDX0ZUUkFDRSBpZiAoSEFWRV9GVFJBQ0UpCiAJaGVscAogCSAgVGhlIEFSTSBzZXJpZXMgaXMgYSBsaW5lIG9mIGxvdy1wb3dlci1jb25zdW1wdGlvbiBSSVNDIGNoaXAgZGVzaWducwogCSAgbGljZW5zZWQgYnkgQVJNIEx0ZCBhbmQgdGFyZ2V0ZWQgYXQgZW1iZWRkZWQgYXBwbGljYXRpb25zIGFuZApAQCAtMjIsNiArMjQsOSBAQAogCSAgRXVyb3BlLiAgVGhlcmUgaXMgYW4gQVJNIExpbnV4IHByb2plY3Qgd2l0aCBhIHdlYiBwYWdlIGF0CiAJICA8aHR0cDovL3d3dy5hcm0ubGludXgub3JnLnVrLz4uCiAKK2NvbmZpZyBIQVZFX1BXTQorCWJvb2wKKwogY29uZmlnIFNZU19TVVBQT1JUU19BUE1fRU1VTEFUSU9OCiAJYm9vbAogCkBAIC04NCw2ICs4OSwxMSBAQAogCWJvb2wKIAlkZWZhdWx0IHkKIAorY29uZmlnIEhBVkVfTEFURU5DWVRPUF9TVVBQT1JUCisJYm9vbAorCWRlcGVuZHMgb24gIVNNUAorCWRlZmF1bHQgeQorCiBjb25maWcgTE9DS0RFUF9TVVBQT1JUCiAJYm9vbAogCWRlZmF1bHQgeQpAQCAtMTQ3LDYgKzE1NywxMCBAQAogY29uZmlnIEFSQ0hfTVREX1hJUAogCWJvb2wKIAorY29uZmlnIEdFTkVSSUNfSEFSRElSUVNfTk9fX0RPX0lSUQorCWJvb2wKKwlkZWZfYm9vbCB5CisKIGlmIE9QUk9GSUxFCiAKIGNvbmZpZyBPUFJPRklMRV9BUk1WNgpAQCAtMjMyLDEzICsyNDYsNiBAQAogCWhlbHAKIAkgIFN1cHBvcnQgZm9yIENpcnJ1cyBMb2dpYyA3MTF4LzcyMXggYmFzZWQgYm9hcmRzLgogCi1jb25maWcgQVJDSF9DTzI4NQotCWJvb2wgIkNvLUVCU0EyODUiCi0Jc2VsZWN0IEZPT1RCUklER0UKLQlzZWxlY3QgRk9PVEJSSURHRV9BRERJTgotCWhlbHAKLQkgIFN1cHBvcnQgZm9yIEludGVsJ3MgRUJTQTI4NSBjb21wYW5pb24gY2hpcC4KLQogY29uZmlnIEFSQ0hfRUJTQTExMAogCWJvb2wgIkVCU0EtMTEwIgogCXNlbGVjdCBJU0EKQEAgLTI5OSw2ICszMDYsOCBAQAogCWRlcGVuZHMgb24gTU1VCiAJc2VsZWN0IFBMQVRfSU9QCiAJc2VsZWN0IFBDSQorCXNlbGVjdCBHRU5FUklDX0dQSU8KKwlzZWxlY3QgSEFWRV9HUElPX0xJQgogCWhlbHAKIAkgIFN1cHBvcnQgZm9yIEludGVsJ3MgODAyMTkgYW5kIElPUDMyWCAoWFNjYWxlKSBmYW1pbHkgb2YKIAkgIHByb2Nlc3NvcnMuCkBAIC0zMDgsNiArMzE3LDggQEAKIAlkZXBlbmRzIG9uIE1NVQogCXNlbGVjdCBQTEFUX0lPUAogCXNlbGVjdCBQQ0kKKwlzZWxlY3QgR0VORVJJQ19HUElPCisJc2VsZWN0IEhBVkVfR1BJT19MSUIKIAloZWxwCiAJICBTdXBwb3J0IGZvciBJbnRlbCdzIElPUDMzWCAoWFNjYWxlKSBmYW1pbHkgb2YgcHJvY2Vzc29ycy4KIApAQCAtMzQ3LDYgKzM1OCwxNiBAQAogCSAgSWYgeW91IGhhdmUgYW55IHF1ZXN0aW9ucyBvciBjb21tZW50cyBhYm91dCB0aGUgTGludXgga2VybmVsIHBvcnQKIAkgIHRvIHRoaXMgYm9hcmQsIHNlbmQgZS1tYWlsIHRvIDxzamhpbGxAY290dy5jb20+LgogCitjb25maWcgQVJDSF9LSVJLV09PRAorCWJvb2wgIk1hcnZlbGwgS2lya3dvb2QiCisJc2VsZWN0IFBDSQorCXNlbGVjdCBHRU5FUklDX1RJTUUKKwlzZWxlY3QgR0VORVJJQ19DTE9DS0VWRU5UUworCXNlbGVjdCBQTEFUX09SSU9OCisJaGVscAorCSAgU3VwcG9ydCBmb3IgdGhlIGZvbGxvd2luZyBNYXJ2ZWxsIEtpcmt3b29kIHNlcmllcyBTb0NzOgorCSAgODhGNjE4MCwgODhGNjE5MiBhbmQgODhGNjI4MS4KKwogY29uZmlnIEFSQ0hfS1M4Njk1CiAJYm9vbCAiTWljcmVsL0tlbmRpbiBLUzg2OTUiCiAJc2VsZWN0IEdFTkVSSUNfR1BJTwpAQCAtMzY1LDkgKzM4NiwzMSBAQAogCiAJICA8aHR0cDovL3d3dy5kaWdpLmNvbS9wcm9kdWN0cy9taWNyb3Byb2Nlc3NvcnMvaW5kZXguanNwPgogCitjb25maWcgQVJDSF9MT0tJCisJYm9vbCAiTWFydmVsbCBMb2tpICg4OFJDODQ4MCkiCisJc2VsZWN0IEdFTkVSSUNfVElNRQorCXNlbGVjdCBHRU5FUklDX0NMT0NLRVZFTlRTCisJc2VsZWN0IFBMQVRfT1JJT04KKwloZWxwCisJICBTdXBwb3J0IGZvciB0aGUgTWFydmVsbCBMb2tpICg4OFJDODQ4MCkgU29DLgorCitjb25maWcgQVJDSF9NVjc4WFgwCisJYm9vbCAiTWFydmVsbCBNVjc4eHgwIgorCXNlbGVjdCBQQ0kKKwlzZWxlY3QgR0VORVJJQ19USU1FCisJc2VsZWN0IEdFTkVSSUNfQ0xPQ0tFVkVOVFMKKwlzZWxlY3QgUExBVF9PUklPTgorCWhlbHAKKwkgIFN1cHBvcnQgZm9yIHRoZSBmb2xsb3dpbmcgTWFydmVsbCBNVjc4eHgwIHNlcmllcyBTb0NzOgorCSAgTVY3ODF4MCwgTVY3ODJ4MC4KKwogY29uZmlnIEFSQ0hfTVhDCiAJYm9vbCAiRnJlZXNjYWxlIE1YQy9pTVgtYmFzZWQiCisJc2VsZWN0IEdFTkVSSUNfVElNRQorCXNlbGVjdCBHRU5FUklDX0NMT0NLRVZFTlRTCiAJc2VsZWN0IEFSQ0hfTVREX1hJUAorCXNlbGVjdCBHRU5FUklDX0dQSU8KKwlzZWxlY3QgSEFWRV9HUElPX0xJQgogCWhlbHAKIAkgIFN1cHBvcnQgZm9yIEZyZWVzY2FsZSBNWEMvaU1YLWJhc2VkIGZhbWlseSBvZiBwcm9jZXNzb3JzCiAKQEAgLTM4MSw3ICs0MjQsOCBAQAogCXNlbGVjdCBQTEFUX09SSU9OCiAJaGVscAogCSAgU3VwcG9ydCBmb3IgdGhlIGZvbGxvd2luZyBNYXJ2ZWxsIE9yaW9uIDV4IHNlcmllcyBTb0NzOgotCSAgT3Jpb24tMSAoNTE4MSksIE9yaW9uLU5BUyAoNTE4MiksIE9yaW9uLTIgKDUyODEuKQorCSAgT3Jpb24tMSAoNTE4MSksIE9yaW9uLVZvSVAgKDUxODFMKSwgT3Jpb24tTkFTICg1MTgyKSwKKwkgIE9yaW9uLTIgKDUyODEpLgogCiBjb25maWcgQVJDSF9QTlg0MDA4CiAJYm9vbCAiUGhpbGlwcyBOZXhwZXJpYSBQTlg0MDA4IE1vYmlsZSIKQEAgLTQwNiw2ICs0NTAsNyBAQAogCXNlbGVjdCBGSVEKIAlzZWxlY3QgVElNRVJfQUNPUk4KIAlzZWxlY3QgQVJDSF9NQVlfSEFWRV9QQ19GREMKKwlzZWxlY3QgSEFWRV9QQVRBX1BMQVRGT1JNCiAJc2VsZWN0IElTQV9ETUFfQVBJCiAJc2VsZWN0IE5PX0lPUE9SVAogCWhlbHAKQEAgLTUwMiw2ICs1NDcsMTAgQEAKIAogc291cmNlICJhcmNoL2FybS9tYWNoLWl4cDIzeHgvS2NvbmZpZyIKIAorc291cmNlICJhcmNoL2FybS9tYWNoLWxva2kvS2NvbmZpZyIKKworc291cmNlICJhcmNoL2FybS9tYWNoLW12Nzh4eDAvS2NvbmZpZyIKKwogc291cmNlICJhcmNoL2FybS9tYWNoLXB4YS9LY29uZmlnIgogCiBzb3VyY2UgImFyY2gvYXJtL21hY2gtc2ExMTAwL0tjb25maWciCkBAIC01MTQsNiArNTYzLDggQEAKIAogc291cmNlICJhcmNoL2FybS9tYWNoLW9yaW9uNXgvS2NvbmZpZyIKIAorc291cmNlICJhcmNoL2FybS9tYWNoLWtpcmt3b29kL0tjb25maWciCisKIHNvdXJjZSAiYXJjaC9hcm0vcGxhdC1zM2MyNHh4L0tjb25maWciCiBzb3VyY2UgImFyY2gvYXJtL3BsYXQtczNjL0tjb25maWciCiAKQEAgLTcwMywyNyArNzU0LDYgQEAKIAkgIFNheSBZIGhlcmUgaWYgeW91IGFyZSBidWlsZGluZyBhIGtlcm5lbCBmb3IgYSBkZXNrdG9wLCBlbWJlZGRlZAogCSAgb3IgcmVhbC10aW1lIHN5c3RlbS4gIFNheSBOIGlmIHlvdSBhcmUgdW5zdXJlLgogCi1jb25maWcgTk9fSURMRV9IWgotCWJvb2wgIkR5bmFtaWMgdGljayB0aW1lciIKLQlkZXBlbmRzIG9uICFHRU5FUklDX0NMT0NLRVZFTlRTCi0JaGVscAotCSAgU2VsZWN0IHRoaXMgb3B0aW9uIGlmIHlvdSB3YW50IHRvIGRpc2FibGUgY29udGludW91cyB0aW1lciB0aWNrcwotCSAgYW5kIGhhdmUgdGhlbSBwcm9ncmFtbWVkIHRvIG9jY3VyIGFzIHJlcXVpcmVkLiBUaGlzIG9wdGlvbiBzYXZlcwotCSAgcG93ZXIgYXMgdGhlIHN5c3RlbSBjYW4gcmVtYWluIGluIGlkbGUgc3RhdGUgZm9yIGxvbmdlci4KLQotCSAgQnkgZGVmYXVsdCBkeW5hbWljIHRpY2sgaXMgZGlzYWJsZWQgZHVyaW5nIHRoZSBib290LCBhbmQgY2FuIGJlCi0JICBtYW51YWxseSBlbmFibGVkIHdpdGg6Ci0KLQkgICAgZWNobyAxID4gL3N5cy9kZXZpY2VzL3N5c3RlbS90aW1lci90aW1lcjAvZHluX3RpY2sKLQotCSAgQWx0ZXJuYXRpdmVseSwgaWYgeW91IHdhbnQgZHluYW1pYyB0aWNrIGF1dG9tYXRpY2FsbHkgZW5hYmxlZAotCSAgZHVyaW5nIGJvb3QsIHBhc3MgImR5bnRpY2s9ZW5hYmxlIiB2aWEgdGhlIGtlcm5lbCBjb21tYW5kIHN0cmluZy4KLQotCSAgUGxlYXNlIG5vdGUgdGhhdCBkeW5hbWljIHRpY2sgbWF5IGFmZmVjdCB0aGUgYWNjdXJhY3kgb2YKLQkgIHRpbWVrZWVwaW5nIG9uIHNvbWUgcGxhdGZvcm1zIGRlcGVuZGluZyBvbiB0aGUgaW1wbGVtZW50YXRpb24uCi0JICBDdXJyZW50bHkgYXQgbGVhc3QgT01BUCwgUFhBMnh4IGFuZCBTQTExeDAgcGxhdGZvcm1zIGFyZSBrbm93bgotCSAgdG8gaGF2ZSBhY2N1cmF0ZSB0aW1la2VlcGluZyB3aXRoIGR5bmFtaWMgdGljay4KLQogY29uZmlnIEhaCiAJaW50CiAJZGVmYXVsdCAxMjggaWYgQVJDSF9MNzIwMApAQCAtNzg5LDcgKzgxOSw3IEBACiAKIGNvbmZpZyBMRURTCiAJYm9vbCAiVGltZXIgYW5kIENQVSB1c2FnZSBMRURzIgotCWRlcGVuZHMgb24gQVJDSF9DREI4OTcxMiB8fCBBUkNIX0NPMjg1IHx8IEFSQ0hfRUJTQTExMCB8fCBcCisJZGVwZW5kcyBvbiBBUkNIX0NEQjg5NzEyIHx8IEFSQ0hfRUJTQTExMCB8fCBcCiAJCSAgIEFSQ0hfRUJTQTI4NSB8fCBBUkNIX0lNWCB8fCBBUkNIX0lOVEVHUkFUT1IgfHwgXAogCQkgICBBUkNIX0xVQkJPQ0sgfHwgTUFDSF9NQUlOU1RPTkUgfHwgQVJDSF9ORVRXSU5ERVIgfHwgXAogCQkgICBBUkNIX09NQVAgfHwgQVJDSF9QNzIwVCB8fCBBUkNIX1BYQV9JRFAgfHwgXApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vTWFrZWZpbGUgYi9hcmNoL2FybS9NYWtlZmlsZQppbmRleCBlNzJkYjI3Li5iMjA5OTVhIDEwMDY0NAotLS0gYS9hcmNoL2FybS9NYWtlZmlsZQorKysgYi9hcmNoL2FybS9NYWtlZmlsZQpAQCAtMTAwLDggKzEwMCw2IEBACiAgIGluY2Rpci0kKENPTkZJR19BUkNIX0NMUFM3NTAwKSAgIDo9IGNsNzUwMAogIG1hY2hpbmUtJChDT05GSUdfRk9PVEJSSURHRSkJICAgOj0gZm9vdGJyaWRnZQogICBpbmNkaXItJChDT05GSUdfRk9PVEJSSURHRSkJICAgOj0gZWJzYTI4NQotIG1hY2hpbmUtJChDT05GSUdfQVJDSF9DTzI4NSkJICAgOj0gZm9vdGJyaWRnZQotICBpbmNkaXItJChDT05GSUdfQVJDSF9DTzI4NSkJICAgOj0gZWJzYTI4NQogIG1hY2hpbmUtJChDT05GSUdfQVJDSF9TSEFSSykJICAgOj0gc2hhcmsKICBtYWNoaW5lLSQoQ09ORklHX0FSQ0hfU0ExMTAwKQkgICA6PSBzYTExMDAKIGlmZXEgKCQoQ09ORklHX0FSQ0hfU0ExMTAwKSx5KQpAQCAtMTM1LDExICsxMzMsMTUgQEAKICBtYWNoaW5lLSQoQ09ORklHX0FSQ0hfTkVUWCkJICAgOj0gbmV0eAogIG1hY2hpbmUtJChDT05GSUdfQVJDSF9OUzlYWFgpCSAgIDo9IG5zOXh4eAogIG1hY2hpbmUtJChDT05GSUdfQVJDSF9EQVZJTkNJKQkgICA6PSBkYXZpbmNpCisgbWFjaGluZS0kKENPTkZJR19BUkNIX0tJUktXT09EKSAgIDo9IGtpcmt3b29kCiAgbWFjaGluZS0kKENPTkZJR19BUkNIX0tTODY5NSkgICAgIDo9IGtzODY5NQogICBpbmNkaXItJChDT05GSUdfQVJDSF9NWEMpCSAgIDo9IG14YworIG1hY2hpbmUtJChDT05GSUdfQVJDSF9NWDIpCSAgIDo9IG14MgogIG1hY2hpbmUtJChDT05GSUdfQVJDSF9NWDMpCSAgIDo9IG14MwogIG1hY2hpbmUtJChDT05GSUdfQVJDSF9PUklPTjVYKQkgICA6PSBvcmlvbjV4CiAgbWFjaGluZS0kKENPTkZJR19BUkNIX01TTTdYMDBBKSAgIDo9IG1zbQorIG1hY2hpbmUtJChDT05GSUdfQVJDSF9MT0tJKSAgICAgICA6PSBsb2tpCisgbWFjaGluZS0kKENPTkZJR19BUkNIX01WNzhYWDApICAgIDo9IG12Nzh4eDAKIAogaWZlcSAoJChDT05GSUdfQVJDSF9FQlNBMTEwKSx5KQogIyBUaGlzIGlzIHdoYXQgaGFwcGVucyBpZiB5b3UgZm9yZ2V0IHRoZSBJT0NTMTYgbGluZS4KQEAgLTE5MCw4ICsxOTIsNiBAQAogY29yZS0kKENPTkZJR19BUkNIX01YQykJCSs9IGFyY2gvYXJtL3BsYXQtbXhjLwogCiBkcml2ZXJzLSQoQ09ORklHX09QUk9GSUxFKSAgICAgICs9IGFyY2gvYXJtL29wcm9maWxlLwotZHJpdmVycy0kKENPTkZJR19BUkNIX0NMUFM3NTAwKQkrPSBkcml2ZXJzL2Fjb3JuL2NoYXIvCi1kcml2ZXJzLSQoQ09ORklHX0FSQ0hfTDcyMDApCSs9IGRyaXZlcnMvYWNvcm4vY2hhci8KIAogbGlicy15CQkJCTo9IGFyY2gvYXJtL2xpYi8gJChsaWJzLXkpCiAKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2Jvb3QvY29tcHJlc3NlZC9NYWtlZmlsZSBiL2FyY2gvYXJtL2Jvb3QvY29tcHJlc3NlZC9NYWtlZmlsZQppbmRleCBkZTlkOWVlLi45NWJhYWM0IDEwMDY0NAotLS0gYS9hcmNoL2FybS9ib290L2NvbXByZXNzZWQvTWFrZWZpbGUKKysrIGIvYXJjaC9hcm0vYm9vdC9jb21wcmVzc2VkL01ha2VmaWxlCkBAIC02OSw2ICs2OSwxMiBAQAogCiB0YXJnZXRzICAgICAgIDo9IHZtbGludXggdm1saW51eC5sZHMgcGlnZ3kuZ3ogcGlnZ3kubyBmb250Lm8gZm9udC5jIFwKIAkJIGhlYWQubyBtaXNjLm8gJChPQkpTKQorCitpZmVxICgkKENPTkZJR19GVFJBQ0UpLHkpCitPUklHX0NGTEFHUyA6PSAkKEtCVUlMRF9DRkxBR1MpCitLQlVJTERfQ0ZMQUdTID0gJChzdWJzdCAtcGcsICwgJChPUklHX0NGTEFHUykpCitlbmRpZgorCiBFWFRSQV9DRkxBR1MgIDo9IC1mcGljIC1mbm8tYnVpbHRpbgogRVhUUkFfQUZMQUdTICA6PQogCmRpZmYgLS1naXQgYS9hcmNoL2FybS9ib290L2NvbXByZXNzZWQvaGVhZC5TIGIvYXJjaC9hcm0vYm9vdC9jb21wcmVzc2VkL2hlYWQuUwppbmRleCAzYzJjOGYyLi5kZTQxZGFlIDEwMDY0NAotLS0gYS9hcmNoL2FybS9ib290L2NvbXByZXNzZWQvaGVhZC5TCisrKyBiL2FyY2gvYXJtL2Jvb3QvY29tcHJlc3NlZC9oZWFkLlMKQEAgLTYyMyw4ICs2MjMsOCBAQAogCQliCV9fYXJtdjRfbW11X2NhY2hlX29mZgogCQliCV9fYXJtdjRfbW11X2NhY2hlX2ZsdXNoCiAKLQkJLndvcmQJMHg1NjA1NTMxMAkJQCBGZXJvY2VvbgotCQkud29yZAkweGZmZmZmZmYwCisJCS53b3JkCTB4NTYwNTAwMDAJCUAgRmVyb2Nlb24KKwkJLndvcmQJMHhmZjBmMDAwMAogCQliCV9fYXJtdjRfbW11X2NhY2hlX29uCiAJCWIJX19hcm12NF9tbXVfY2FjaGVfb2ZmCiAJCWIJX19hcm12NXRlal9tbXVfY2FjaGVfZmx1c2gKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2NvbW1vbi9NYWtlZmlsZSBiL2FyY2gvYXJtL2NvbW1vbi9NYWtlZmlsZQppbmRleCAzZDBiOWZhLi4zMjVlNGI2IDEwMDY0NAotLS0gYS9hcmNoL2FybS9jb21tb24vTWFrZWZpbGUKKysrIGIvYXJjaC9hcm0vY29tbW9uL01ha2VmaWxlCkBAIC0yLDcgKzIsNiBAQAogIyBNYWtlZmlsZSBmb3IgdGhlIGxpbnV4IGtlcm5lbC4KICMKIAotb2JqLXkJCQkJKz0gcnRjdGltZS5vCiBvYmotJChDT05GSUdfQVJNX0dJQykJCSs9IGdpYy5vCiBvYmotJChDT05GSUdfQVJNX1ZJQykJCSs9IHZpYy5vCiBvYmotJChDT05GSUdfSUNTVDUyNSkJCSs9IGljc3Q1MjUubwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vY29tbW9uL3J0Y3RpbWUuYyBiL2FyY2gvYXJtL2NvbW1vbi9ydGN0aW1lLmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFhOGY3NzMuLjAwMDAwMDAKLS0tIGEvYXJjaC9hcm0vY29tbW9uL3J0Y3RpbWUuYworKysgL2Rldi9udWxsCkBAIC0xLDQzNCArMCwwIEBACi0vKgotICogIGxpbnV4L2FyY2gvYXJtL2NvbW1vbi9ydGN0aW1lLmMKLSAqCi0gKiAgQ29weXJpZ2h0IChDKSAyMDAzIERlZXAgQmx1ZSBTb2x1dGlvbnMgTHRkLgotICogIEJhc2VkIG9uIHNhMTEwMC1ydGMuYywgTmlscyBGYWVyYmVyLCBDSUgsIE5pY29sYXMgUGl0cmUuCi0gKiAgQmFzZWQgb24gcnRjLmMgYnkgUGF1bCBHb3J0bWFrZXIKLSAqCi0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQotICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMKLSAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgotICovCi0jaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+Ci0jaW5jbHVkZSA8bGludXgva2VybmVsLmg+Ci0jaW5jbHVkZSA8bGludXgvdGltZS5oPgotI2luY2x1ZGUgPGxpbnV4L3J0Yy5oPgotI2luY2x1ZGUgPGxpbnV4L3BvbGwuaD4KLSNpbmNsdWRlIDxsaW51eC9wcm9jX2ZzLmg+Ci0jaW5jbHVkZSA8bGludXgvbWlzY2RldmljZS5oPgotI2luY2x1ZGUgPGxpbnV4L3NwaW5sb2NrLmg+Ci0jaW5jbHVkZSA8bGludXgvY2FwYWJpbGl0eS5oPgotI2luY2x1ZGUgPGxpbnV4L2RldmljZS5oPgotI2luY2x1ZGUgPGxpbnV4L211dGV4Lmg+Ci0KLSNpbmNsdWRlIDxhc20vcnRjLmg+Ci0KLXN0YXRpYyBERUNMQVJFX1dBSVRfUVVFVUVfSEVBRChydGNfd2FpdCk7Ci1zdGF0aWMgc3RydWN0IGZhc3luY19zdHJ1Y3QgKnJ0Y19hc3luY19xdWV1ZTsKLQotLyoKLSAqIHJ0Y19sb2NrIHByb3RlY3RzIHJ0Y19pcnFfZGF0YQotICovCi1zdGF0aWMgREVGSU5FX1NQSU5MT0NLKHJ0Y19sb2NrKTsKLXN0YXRpYyB1bnNpZ25lZCBsb25nIHJ0Y19pcnFfZGF0YTsKLQotLyoKLSAqIHJ0Y19zZW0gcHJvdGVjdHMgcnRjX2ludXNlIGFuZCBydGNfb3BzCi0gKi8KLXN0YXRpYyBERUZJTkVfTVVURVgocnRjX211dGV4KTsKLXN0YXRpYyB1bnNpZ25lZCBsb25nIHJ0Y19pbnVzZTsKLXN0YXRpYyBzdHJ1Y3QgcnRjX29wcyAqcnRjX29wczsKLQotI2RlZmluZSBydGNfZXBvY2ggMTkwMFVMCi0KLS8qCi0gKiBDYWxjdWxhdGUgdGhlIG5leHQgYWxhcm0gdGltZSBnaXZlbiB0aGUgcmVxdWVzdGVkIGFsYXJtIHRpbWUgbWFzawotICogYW5kIHRoZSBjdXJyZW50IHRpbWUuCi0gKi8KLXZvaWQgcnRjX25leHRfYWxhcm1fdGltZShzdHJ1Y3QgcnRjX3RpbWUgKm5leHQsIHN0cnVjdCBydGNfdGltZSAqbm93LCBzdHJ1Y3QgcnRjX3RpbWUgKmFscm0pCi17Ci0JdW5zaWduZWQgbG9uZyBuZXh0X3RpbWU7Ci0JdW5zaWduZWQgbG9uZyBub3dfdGltZTsKLQotCW5leHQtPnRtX3llYXIgPSBub3ctPnRtX3llYXI7Ci0JbmV4dC0+dG1fbW9uID0gbm93LT50bV9tb247Ci0JbmV4dC0+dG1fbWRheSA9IG5vdy0+dG1fbWRheTsKLQluZXh0LT50bV9ob3VyID0gYWxybS0+dG1faG91cjsKLQluZXh0LT50bV9taW4gPSBhbHJtLT50bV9taW47Ci0JbmV4dC0+dG1fc2VjID0gYWxybS0+dG1fc2VjOwotCi0JcnRjX3RtX3RvX3RpbWUobm93LCAmbm93X3RpbWUpOwotCXJ0Y190bV90b190aW1lKG5leHQsICZuZXh0X3RpbWUpOwotCi0JaWYgKG5leHRfdGltZSA8IG5vd190aW1lKSB7Ci0JCS8qIEFkdmFuY2Ugb25lIGRheSAqLwotCQluZXh0X3RpbWUgKz0gNjAgKiA2MCAqIDI0OwotCQlydGNfdGltZV90b190bShuZXh0X3RpbWUsIG5leHQpOwotCX0KLX0KLUVYUE9SVF9TWU1CT0wocnRjX25leHRfYWxhcm1fdGltZSk7Ci0KLXN0YXRpYyBpbmxpbmUgaW50IHJ0Y19hcm1fcmVhZF90aW1lKHN0cnVjdCBydGNfb3BzICpvcHMsIHN0cnVjdCBydGNfdGltZSAqdG0pCi17Ci0JbWVtc2V0KHRtLCAwLCBzaXplb2Yoc3RydWN0IHJ0Y190aW1lKSk7Ci0JcmV0dXJuIG9wcy0+cmVhZF90aW1lKHRtKTsKLX0KLQotc3RhdGljIGlubGluZSBpbnQgcnRjX2FybV9zZXRfdGltZShzdHJ1Y3QgcnRjX29wcyAqb3BzLCBzdHJ1Y3QgcnRjX3RpbWUgKnRtKQotewotCWludCByZXQ7Ci0KLQlyZXQgPSBydGNfdmFsaWRfdG0odG0pOwotCWlmIChyZXQgPT0gMCkKLQkJcmV0ID0gb3BzLT5zZXRfdGltZSh0bSk7Ci0KLQlyZXR1cm4gcmV0OwotfQotCi1zdGF0aWMgaW5saW5lIGludCBydGNfYXJtX3JlYWRfYWxhcm0oc3RydWN0IHJ0Y19vcHMgKm9wcywgc3RydWN0IHJ0Y193a2Fscm0gKmFscm0pCi17Ci0JaW50IHJldCA9IC1FSU5WQUw7Ci0JaWYgKG9wcy0+cmVhZF9hbGFybSkgewotCQltZW1zZXQoYWxybSwgMCwgc2l6ZW9mKHN0cnVjdCBydGNfd2thbHJtKSk7Ci0JCXJldCA9IG9wcy0+cmVhZF9hbGFybShhbHJtKTsKLQl9Ci0JcmV0dXJuIHJldDsKLX0KLQotc3RhdGljIGlubGluZSBpbnQgcnRjX2FybV9zZXRfYWxhcm0oc3RydWN0IHJ0Y19vcHMgKm9wcywgc3RydWN0IHJ0Y193a2Fscm0gKmFscm0pCi17Ci0JaW50IHJldCA9IC1FSU5WQUw7Ci0JaWYgKG9wcy0+c2V0X2FsYXJtKQotCQlyZXQgPSBvcHMtPnNldF9hbGFybShhbHJtKTsKLQlyZXR1cm4gcmV0OwotfQotCi12b2lkIHJ0Y191cGRhdGUodW5zaWduZWQgbG9uZyBudW0sIHVuc2lnbmVkIGxvbmcgZXZlbnRzKQotewotCXNwaW5fbG9jaygmcnRjX2xvY2spOwotCXJ0Y19pcnFfZGF0YSA9IChydGNfaXJxX2RhdGEgKyAobnVtIDw8IDgpKSB8IGV2ZW50czsKLQlzcGluX3VubG9jaygmcnRjX2xvY2spOwotCi0Jd2FrZV91cF9pbnRlcnJ1cHRpYmxlKCZydGNfd2FpdCk7Ci0Ja2lsbF9mYXN5bmMoJnJ0Y19hc3luY19xdWV1ZSwgU0lHSU8sIFBPTExfSU4pOwotfQotRVhQT1JUX1NZTUJPTChydGNfdXBkYXRlKTsKLQotCi1zdGF0aWMgc3NpemVfdAotcnRjX3JlYWQoc3RydWN0IGZpbGUgKmZpbGUsIGNoYXIgX191c2VyICpidWYsIHNpemVfdCBjb3VudCwgbG9mZl90ICpwcG9zKQotewotCURFQ0xBUkVfV0FJVFFVRVVFKHdhaXQsIGN1cnJlbnQpOwotCXVuc2lnbmVkIGxvbmcgZGF0YTsKLQlzc2l6ZV90IHJldDsKLQotCWlmIChjb3VudCA8IHNpemVvZih1bnNpZ25lZCBsb25nKSkKLQkJcmV0dXJuIC1FSU5WQUw7Ci0KLQlhZGRfd2FpdF9xdWV1ZSgmcnRjX3dhaXQsICZ3YWl0KTsKLQlkbyB7Ci0JCV9fc2V0X2N1cnJlbnRfc3RhdGUoVEFTS19JTlRFUlJVUFRJQkxFKTsKLQotCQlzcGluX2xvY2tfaXJxKCZydGNfbG9jayk7Ci0JCWRhdGEgPSBydGNfaXJxX2RhdGE7Ci0JCXJ0Y19pcnFfZGF0YSA9IDA7Ci0JCXNwaW5fdW5sb2NrX2lycSgmcnRjX2xvY2spOwotCi0JCWlmIChkYXRhICE9IDApIHsKLQkJCXJldCA9IDA7Ci0JCQlicmVhazsKLQkJfQotCQlpZiAoZmlsZS0+Zl9mbGFncyAmIE9fTk9OQkxPQ0spIHsKLQkJCXJldCA9IC1FQUdBSU47Ci0JCQlicmVhazsKLQkJfQotCQlpZiAoc2lnbmFsX3BlbmRpbmcoY3VycmVudCkpIHsKLQkJCXJldCA9IC1FUkVTVEFSVFNZUzsKLQkJCWJyZWFrOwotCQl9Ci0JCXNjaGVkdWxlKCk7Ci0JfSB3aGlsZSAoMSk7Ci0Jc2V0X2N1cnJlbnRfc3RhdGUoVEFTS19SVU5OSU5HKTsKLQlyZW1vdmVfd2FpdF9xdWV1ZSgmcnRjX3dhaXQsICZ3YWl0KTsKLQotCWlmIChyZXQgPT0gMCkgewotCQlyZXQgPSBwdXRfdXNlcihkYXRhLCAodW5zaWduZWQgbG9uZyBfX3VzZXIgKilidWYpOwotCQlpZiAocmV0ID09IDApCi0JCQlyZXQgPSBzaXplb2YodW5zaWduZWQgbG9uZyk7Ci0JfQotCXJldHVybiByZXQ7Ci19Ci0KLXN0YXRpYyB1bnNpZ25lZCBpbnQgcnRjX3BvbGwoc3RydWN0IGZpbGUgKmZpbGUsIHBvbGxfdGFibGUgKndhaXQpCi17Ci0JdW5zaWduZWQgbG9uZyBkYXRhOwotCi0JcG9sbF93YWl0KGZpbGUsICZydGNfd2FpdCwgd2FpdCk7Ci0KLQlzcGluX2xvY2tfaXJxKCZydGNfbG9jayk7Ci0JZGF0YSA9IHJ0Y19pcnFfZGF0YTsKLQlzcGluX3VubG9ja19pcnEoJnJ0Y19sb2NrKTsKLQotCXJldHVybiBkYXRhICE9IDAgPyBQT0xMSU4gfCBQT0xMUkROT1JNIDogMDsKLX0KLQotc3RhdGljIGludCBydGNfaW9jdGwoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUsIHVuc2lnbmVkIGludCBjbWQsCi0JCSAgICAgdW5zaWduZWQgbG9uZyBhcmcpCi17Ci0Jc3RydWN0IHJ0Y19vcHMgKm9wcyA9IGZpbGUtPnByaXZhdGVfZGF0YTsKLQlzdHJ1Y3QgcnRjX3RpbWUgdG07Ci0Jc3RydWN0IHJ0Y193a2Fscm0gYWxybTsKLQl2b2lkIF9fdXNlciAqdWFyZyA9ICh2b2lkIF9fdXNlciAqKWFyZzsKLQlpbnQgcmV0ID0gLUVJTlZBTDsKLQotCXN3aXRjaCAoY21kKSB7Ci0JY2FzZSBSVENfQUxNX1JFQUQ6Ci0JCXJldCA9IHJ0Y19hcm1fcmVhZF9hbGFybShvcHMsICZhbHJtKTsKLQkJaWYgKHJldCkKLQkJCWJyZWFrOwotCQlyZXQgPSBjb3B5X3RvX3VzZXIodWFyZywgJmFscm0udGltZSwgc2l6ZW9mKHRtKSk7Ci0JCWlmIChyZXQpCi0JCQlyZXQgPSAtRUZBVUxUOwotCQlicmVhazsKLQotCWNhc2UgUlRDX0FMTV9TRVQ6Ci0JCXJldCA9IGNvcHlfZnJvbV91c2VyKCZhbHJtLnRpbWUsIHVhcmcsIHNpemVvZih0bSkpOwotCQlpZiAocmV0KSB7Ci0JCQlyZXQgPSAtRUZBVUxUOwotCQkJYnJlYWs7Ci0JCX0KLQkJYWxybS5lbmFibGVkID0gMDsKLQkJYWxybS5wZW5kaW5nID0gMDsKLQkJYWxybS50aW1lLnRtX21kYXkgPSAtMTsKLQkJYWxybS50aW1lLnRtX21vbiA9IC0xOwotCQlhbHJtLnRpbWUudG1feWVhciA9IC0xOwotCQlhbHJtLnRpbWUudG1fd2RheSA9IC0xOwotCQlhbHJtLnRpbWUudG1feWRheSA9IC0xOwotCQlhbHJtLnRpbWUudG1faXNkc3QgPSAtMTsKLQkJcmV0ID0gcnRjX2FybV9zZXRfYWxhcm0ob3BzLCAmYWxybSk7Ci0JCWJyZWFrOwotCi0JY2FzZSBSVENfUkRfVElNRToKLQkJcmV0ID0gcnRjX2FybV9yZWFkX3RpbWUob3BzLCAmdG0pOwotCQlpZiAocmV0KQotCQkJYnJlYWs7Ci0JCXJldCA9IGNvcHlfdG9fdXNlcih1YXJnLCAmdG0sIHNpemVvZih0bSkpOwotCQlpZiAocmV0KQotCQkJcmV0ID0gLUVGQVVMVDsKLQkJYnJlYWs7Ci0KLQljYXNlIFJUQ19TRVRfVElNRToKLQkJaWYgKCFjYXBhYmxlKENBUF9TWVNfVElNRSkpIHsKLQkJCXJldCA9IC1FQUNDRVM7Ci0JCQlicmVhazsKLQkJfQotCQlyZXQgPSBjb3B5X2Zyb21fdXNlcigmdG0sIHVhcmcsIHNpemVvZih0bSkpOwotCQlpZiAocmV0KSB7Ci0JCQlyZXQgPSAtRUZBVUxUOwotCQkJYnJlYWs7Ci0JCX0KLQkJcmV0ID0gcnRjX2FybV9zZXRfdGltZShvcHMsICZ0bSk7Ci0JCWJyZWFrOwotCi0JY2FzZSBSVENfRVBPQ0hfU0VUOgotI2lmbmRlZiBydGNfZXBvY2gKLQkJLyoKLQkJICogVGhlcmUgd2VyZSBubyBSVEMgY2xvY2tzIGJlZm9yZSAxOTAwLgotCQkgKi8KLQkJaWYgKGFyZyA8IDE5MDApIHsKLQkJCXJldCA9IC1FSU5WQUw7Ci0JCQlicmVhazsKLQkJfQotCQlpZiAoIWNhcGFibGUoQ0FQX1NZU19USU1FKSkgewotCQkJcmV0ID0gLUVBQ0NFUzsKLQkJCWJyZWFrOwotCQl9Ci0JCXJ0Y19lcG9jaCA9IGFyZzsKLQkJcmV0ID0gMDsKLSNlbmRpZgotCQlicmVhazsKLQotCWNhc2UgUlRDX0VQT0NIX1JFQUQ6Ci0JCXJldCA9IHB1dF91c2VyKHJ0Y19lcG9jaCwgKHVuc2lnbmVkIGxvbmcgX191c2VyICopdWFyZyk7Ci0JCWJyZWFrOwotCi0JY2FzZSBSVENfV0tBTE1fU0VUOgotCQlyZXQgPSBjb3B5X2Zyb21fdXNlcigmYWxybSwgdWFyZywgc2l6ZW9mKGFscm0pKTsKLQkJaWYgKHJldCkgewotCQkJcmV0ID0gLUVGQVVMVDsKLQkJCWJyZWFrOwotCQl9Ci0JCXJldCA9IHJ0Y19hcm1fc2V0X2FsYXJtKG9wcywgJmFscm0pOwotCQlicmVhazsKLQotCWNhc2UgUlRDX1dLQUxNX1JEOgotCQlyZXQgPSBydGNfYXJtX3JlYWRfYWxhcm0ob3BzLCAmYWxybSk7Ci0JCWlmIChyZXQpCi0JCQlicmVhazsKLQkJcmV0ID0gY29weV90b191c2VyKHVhcmcsICZhbHJtLCBzaXplb2YoYWxybSkpOwotCQlpZiAocmV0KQotCQkJcmV0ID0gLUVGQVVMVDsKLQkJYnJlYWs7Ci0KLQlkZWZhdWx0OgotCQlpZiAob3BzLT5pb2N0bCkKLQkJCXJldCA9IG9wcy0+aW9jdGwoY21kLCBhcmcpOwotCQlicmVhazsKLQl9Ci0JcmV0dXJuIHJldDsKLX0KLQotc3RhdGljIGludCBydGNfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKLXsKLQlpbnQgcmV0OwotCi0JbXV0ZXhfbG9jaygmcnRjX211dGV4KTsKLQotCWlmIChydGNfaW51c2UpIHsKLQkJcmV0ID0gLUVCVVNZOwotCX0gZWxzZSBpZiAoIXJ0Y19vcHMgfHwgIXRyeV9tb2R1bGVfZ2V0KHJ0Y19vcHMtPm93bmVyKSkgewotCQlyZXQgPSAtRU5PREVWOwotCX0gZWxzZSB7Ci0JCWZpbGUtPnByaXZhdGVfZGF0YSA9IHJ0Y19vcHM7Ci0KLQkJcmV0ID0gcnRjX29wcy0+b3BlbiA/IHJ0Y19vcHMtPm9wZW4oKSA6IDA7Ci0JCWlmIChyZXQgPT0gMCkgewotCQkJc3Bpbl9sb2NrX2lycSgmcnRjX2xvY2spOwotCQkJcnRjX2lycV9kYXRhID0gMDsKLQkJCXNwaW5fdW5sb2NrX2lycSgmcnRjX2xvY2spOwotCi0JCQlydGNfaW51c2UgPSAxOwotCQl9Ci0JfQotCW11dGV4X3VubG9jaygmcnRjX211dGV4KTsKLQotCXJldHVybiByZXQ7Ci19Ci0KLXN0YXRpYyBpbnQgcnRjX3JlbGVhc2Uoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCi17Ci0Jc3RydWN0IHJ0Y19vcHMgKm9wcyA9IGZpbGUtPnByaXZhdGVfZGF0YTsKLQotCWlmIChvcHMtPnJlbGVhc2UpCi0JCW9wcy0+cmVsZWFzZSgpOwotCi0Jc3Bpbl9sb2NrX2lycSgmcnRjX2xvY2spOwotCXJ0Y19pcnFfZGF0YSA9IDA7Ci0Jc3Bpbl91bmxvY2tfaXJxKCZydGNfbG9jayk7Ci0KLQltb2R1bGVfcHV0KHJ0Y19vcHMtPm93bmVyKTsKLQlydGNfaW51c2UgPSAwOwotCi0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgcnRjX2Zhc3luYyhpbnQgZmQsIHN0cnVjdCBmaWxlICpmaWxlLCBpbnQgb24pCi17Ci0JcmV0dXJuIGZhc3luY19oZWxwZXIoZmQsIGZpbGUsIG9uLCAmcnRjX2FzeW5jX3F1ZXVlKTsKLX0KLQotc3RhdGljIGNvbnN0IHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgcnRjX2ZvcHMgPSB7Ci0JLm93bmVyCQk9IFRISVNfTU9EVUxFLAotCS5sbHNlZWsJCT0gbm9fbGxzZWVrLAotCS5yZWFkCQk9IHJ0Y19yZWFkLAotCS5wb2xsCQk9IHJ0Y19wb2xsLAotCS5pb2N0bAkJPSBydGNfaW9jdGwsCi0JLm9wZW4JCT0gcnRjX29wZW4sCi0JLnJlbGVhc2UJPSBydGNfcmVsZWFzZSwKLQkuZmFzeW5jCQk9IHJ0Y19mYXN5bmMsCi19OwotCi1zdGF0aWMgc3RydWN0IG1pc2NkZXZpY2UgcnRjX21pc2NkZXYgPSB7Ci0JLm1pbm9yCQk9IFJUQ19NSU5PUiwKLQkubmFtZQkJPSAicnRjIiwKLQkuZm9wcwkJPSAmcnRjX2ZvcHMsCi19OwotCi0KLXN0YXRpYyBpbnQgcnRjX3JlYWRfcHJvYyhjaGFyICpwYWdlLCBjaGFyICoqc3RhcnQsIG9mZl90IG9mZiwgaW50IGNvdW50LCBpbnQgKmVvZiwgdm9pZCAqZGF0YSkKLXsKLQlzdHJ1Y3QgcnRjX29wcyAqb3BzID0gZGF0YTsKLQlzdHJ1Y3QgcnRjX3drYWxybSBhbHJtOwotCXN0cnVjdCBydGNfdGltZSB0bTsKLQljaGFyICpwID0gcGFnZTsKLQotCWlmIChydGNfYXJtX3JlYWRfdGltZShvcHMsICZ0bSkgPT0gMCkgewotCQlwICs9IHNwcmludGYocCwKLQkJCSJydGNfdGltZVx0OiAlMDJkOiUwMmQ6JTAyZFxuIgotCQkJInJ0Y19kYXRlXHQ6ICUwNGQtJTAyZC0lMDJkXG4iCi0JCQkicnRjX2Vwb2NoXHQ6ICUwNGx1XG4iLAotCQkJdG0udG1faG91ciwgdG0udG1fbWluLCB0bS50bV9zZWMsCi0JCQl0bS50bV95ZWFyICsgMTkwMCwgdG0udG1fbW9uICsgMSwgdG0udG1fbWRheSwKLQkJCXJ0Y19lcG9jaCk7Ci0JfQotCi0JaWYgKHJ0Y19hcm1fcmVhZF9hbGFybShvcHMsICZhbHJtKSA9PSAwKSB7Ci0JCXAgKz0gc3ByaW50ZihwLCAiYWxybV90aW1lXHQ6ICIpOwotCQlpZiAoKHVuc2lnbmVkIGludClhbHJtLnRpbWUudG1faG91ciA8PSAyNCkKLQkJCXAgKz0gc3ByaW50ZihwLCAiJTAyZDoiLCBhbHJtLnRpbWUudG1faG91cik7Ci0JCWVsc2UKLQkJCXAgKz0gc3ByaW50ZihwLCAiKio6Iik7Ci0JCWlmICgodW5zaWduZWQgaW50KWFscm0udGltZS50bV9taW4gPD0gNTkpCi0JCQlwICs9IHNwcmludGYocCwgIiUwMmQ6IiwgYWxybS50aW1lLnRtX21pbik7Ci0JCWVsc2UKLQkJCXAgKz0gc3ByaW50ZihwLCAiKio6Iik7Ci0JCWlmICgodW5zaWduZWQgaW50KWFscm0udGltZS50bV9zZWMgPD0gNTkpCi0JCQlwICs9IHNwcmludGYocCwgIiUwMmRcbiIsIGFscm0udGltZS50bV9zZWMpOwotCQllbHNlCi0JCQlwICs9IHNwcmludGYocCwgIioqXG4iKTsKLQotCQlwICs9IHNwcmludGYocCwgImFscm1fZGF0ZVx0OiAiKTsKLQkJaWYgKCh1bnNpZ25lZCBpbnQpYWxybS50aW1lLnRtX3llYXIgPD0gMjAwKQotCQkJcCArPSBzcHJpbnRmKHAsICIlMDRkLSIsIGFscm0udGltZS50bV95ZWFyICsgMTkwMCk7Ci0JCWVsc2UKLQkJCXAgKz0gc3ByaW50ZihwLCAiKioqKi0iKTsKLQkJaWYgKCh1bnNpZ25lZCBpbnQpYWxybS50aW1lLnRtX21vbiA8PSAxMSkKLQkJCXAgKz0gc3ByaW50ZihwLCAiJTAyZC0iLCBhbHJtLnRpbWUudG1fbW9uICsgMSk7Ci0JCWVsc2UKLQkJCXAgKz0gc3ByaW50ZihwLCAiKiotIik7Ci0JCWlmICgodW5zaWduZWQgaW50KWFscm0udGltZS50bV9tZGF5IDw9IDMxKQotCQkJcCArPSBzcHJpbnRmKHAsICIlMDJkXG4iLCBhbHJtLnRpbWUudG1fbWRheSk7Ci0JCWVsc2UKLQkJCXAgKz0gc3ByaW50ZihwLCAiKipcbiIpOwotCQlwICs9IHNwcmludGYocCwgImFscm1fd2FrZXVwXHQ6ICVzXG4iLAotCQkJICAgICBhbHJtLmVuYWJsZWQgPyAieWVzIiA6ICJubyIpOwotCQlwICs9IHNwcmludGYocCwgImFscm1fcGVuZGluZ1x0OiAlc1xuIiwKLQkJCSAgICAgYWxybS5wZW5kaW5nID8gInllcyIgOiAibm8iKTsKLQl9Ci0KLQlpZiAob3BzLT5wcm9jKQotCQlwICs9IG9wcy0+cHJvYyhwKTsKLQotCXJldHVybiBwIC0gcGFnZTsKLX0KLQotaW50IHJlZ2lzdGVyX3J0YyhzdHJ1Y3QgcnRjX29wcyAqb3BzKQotewotCWludCByZXQgPSAtRUJVU1k7Ci0KLQltdXRleF9sb2NrKCZydGNfbXV0ZXgpOwotCWlmIChydGNfb3BzID09IE5VTEwpIHsKLQkJcnRjX29wcyA9IG9wczsKLQotCQlyZXQgPSBtaXNjX3JlZ2lzdGVyKCZydGNfbWlzY2Rldik7Ci0JCWlmIChyZXQgPT0gMCkKLQkJCWNyZWF0ZV9wcm9jX3JlYWRfZW50cnkoImRyaXZlci9ydGMiLCAwLCBOVUxMLAotCQkJCQkgICAgICAgcnRjX3JlYWRfcHJvYywgb3BzKTsKLQl9Ci0JbXV0ZXhfdW5sb2NrKCZydGNfbXV0ZXgpOwotCi0JcmV0dXJuIHJldDsKLX0KLUVYUE9SVF9TWU1CT0wocmVnaXN0ZXJfcnRjKTsKLQotdm9pZCB1bnJlZ2lzdGVyX3J0YyhzdHJ1Y3QgcnRjX29wcyAqcnRjKQotewotCW11dGV4X2xvY2soJnJ0Y19tdXRleCk7Ci0JaWYgKHJ0YyA9PSBydGNfb3BzKSB7Ci0JCXJlbW92ZV9wcm9jX2VudHJ5KCJkcml2ZXIvcnRjIiwgTlVMTCk7Ci0JCW1pc2NfZGVyZWdpc3RlcigmcnRjX21pc2NkZXYpOwotCQlydGNfb3BzID0gTlVMTDsKLQl9Ci0JbXV0ZXhfdW5sb2NrKCZydGNfbXV0ZXgpOwotfQotRVhQT1JUX1NZTUJPTCh1bnJlZ2lzdGVyX3J0Yyk7CmRpZmYgLS1naXQgYS9hcmNoL2FybS9jb21tb24vc2hhcnBzbF9wbS5jIGIvYXJjaC9hcm0vY29tbW9uL3NoYXJwc2xfcG0uYwppbmRleCA1YmJhNTI1Li44ODIyYjY4IDEwMDY0NAotLS0gYS9hcmNoL2FybS9jb21tb24vc2hhcnBzbF9wbS5jCisrKyBiL2FyY2gvYXJtL2NvbW1vbi9zaGFycHNsX3BtLmMKQEAgLTMxLDYgKzMxLDcgQEAKICNpbmNsdWRlIDxhc20vaXJxLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvcG0uaD4KICNpbmNsdWRlIDxhc20vYXJjaC9weGEtcmVncy5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL3B4YTJ4eC1yZWdzLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvc2hhcnBzbC5oPgogI2luY2x1ZGUgPGFzbS9oYXJkd2FyZS9zaGFycHNsX3BtLmg+CiAKQEAgLTE1Nyw2ICsxNTgsNyBAQAogCWRldl9kYmcoc2hhcnBzbF9wbS5kZXYsICJCYXR0ZXJ5OiB2b2x0YWdlOiAlZCwgc3RhdHVzOiAlZCwgcGVyY2VudGFnZTogJWQsIHRpbWU6ICVsZFxuIiwgdm9sdGFnZSwKIAkJCXNoYXJwc2xfcG0uYmF0dHN0YXQubWFpbmJhdF9zdGF0dXMsIHNoYXJwc2xfcG0uYmF0dHN0YXQubWFpbmJhdF9wZXJjZW50LCBqaWZmaWVzKTsKIAorI2lmZGVmIENPTkZJR19CQUNLTElHSFRfQ09SR0kKIAkvKiBJZiBiYXR0ZXJ5IGlzIGxvdy4gbGltaXQgYmFja2xpZ2h0IGludGVuc2l0eSB0byBzYXZlIHBvd2VyLiAqLwogCWlmICgoc2hhcnBzbF9wbS5iYXR0c3RhdC5hY19zdGF0dXMgIT0gQVBNX0FDX09OTElORSkKIAkJCSYmICgoc2hhcnBzbF9wbS5iYXR0c3RhdC5tYWluYmF0X3N0YXR1cyA9PSBBUE1fQkFUVEVSWV9TVEFUVVNfTE9XKSB8fApAQCAtMTY5LDYgKzE3MSw3IEBACiAJCXNoYXJwc2xfcG0ubWFjaGluZm8tPmJhY2tsaWdodF9saW1pdCgwKTsKIAkJc2hhcnBzbF9wbS5mbGFncyAmPSB+U0hBUlBTTF9CTF9MSU1JVDsKIAl9CisjZW5kaWYKIAogCS8qIFN1c3BlbmQgaWYgY3JpdGljYWwgYmF0dGVyeSBsZXZlbCAqLwogCWlmICgoc2hhcnBzbF9wbS5iYXR0c3RhdC5hY19zdGF0dXMgIT0gQVBNX0FDX09OTElORSkKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2NvbmZpZ3MvYXQ5MWNhcDlhZGtfZGVmY29uZmlnIGIvYXJjaC9hcm0vY29uZmlncy9hdDkxY2FwOWFka19kZWZjb25maWcKaW5kZXggZTMyZTczNi4uYmUyYjJmMyAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vY29uZmlncy9hdDkxY2FwOWFka19kZWZjb25maWcKKysrIGIvYXJjaC9hcm0vY29uZmlncy9hdDkxY2FwOWFka19kZWZjb25maWcKQEAgLTIxMyw3ICsyMTMsNiBAQAogIwogIyBDT05GSUdfVElDS19PTkVTSE9UIGlzIG5vdCBzZXQKICMgQ09ORklHX1BSRUVNUFQgaXMgbm90IHNldAotIyBDT05GSUdfTk9fSURMRV9IWiBpcyBub3Qgc2V0CiBDT05GSUdfSFo9MTAwCiBDT05GSUdfQUVBQkk9eQogQ09ORklHX09BQklfQ09NUEFUPXkKQEAgLTkwNyw3ICs5MDYsMzIgQEAKICMKICMgVVNCIEdhZGdldCBTdXBwb3J0CiAjCi0jIENPTkZJR19VU0JfR0FER0VUIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfR0FER0VUPXkKKyMgQ09ORklHX1VTQl9HQURHRVRfREVCVUcgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0dBREdFVF9ERUJVR19GSUxFUyBpcyBub3Qgc2V0CitDT05GSUdfVVNCX0dBREdFVF9TRUxFQ1RFRD15CisjIENPTkZJR19VU0JfR0FER0VUX0FNRDU1MzZVREMgaXMgbm90IHNldAorQ09ORklHX1VTQl9HQURHRVRfQVRNRUxfVVNCQT15CitDT05GSUdfVVNCX0FUTUVMX1VTQkE9eQorIyBDT05GSUdfVVNCX0dBREdFVF9GU0xfVVNCMiBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfR0FER0VUX05FVDIyODAgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0dBREdFVF9QWEEyWFggaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0dBREdFVF9NNjY1OTIgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0dBREdFVF9HT0tVIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9HQURHRVRfTEg3QTQwWCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfR0FER0VUX09NQVAgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0dBREdFVF9TM0MyNDEwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9HQURHRVRfQVQ5MSBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfR0FER0VUX0RVTU1ZX0hDRCBpcyBub3Qgc2V0CitDT05GSUdfVVNCX0dBREdFVF9EVUFMU1BFRUQ9eQorIyBDT05GSUdfVVNCX1pFUk8gaXMgbm90IHNldAorQ09ORklHX1VTQl9FVEg9bQorQ09ORklHX1VTQl9FVEhfUk5ESVM9eQorIyBDT05GSUdfVVNCX0dBREdFVEZTIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfRklMRV9TVE9SQUdFPW0KKyMgQ09ORklHX1VTQl9GSUxFX1NUT1JBR0VfVEVTVCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfR19TRVJJQUwgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX01JRElfR0FER0VUIGlzIG5vdCBzZXQKIENPTkZJR19NTUM9eQogIyBDT05GSUdfTU1DX0RFQlVHIGlzIG5vdCBzZXQKICMgQ09ORklHX01NQ19VTlNBRkVfUkVTVU1FIGlzIG5vdCBzZXQKQEAgLTkyNiw3ICs5NTAsNTkgQEAKICMgQ09ORklHX01NQ19TUEkgaXMgbm90IHNldAogIyBDT05GSUdfTkVXX0xFRFMgaXMgbm90IHNldAogQ09ORklHX1JUQ19MSUI9eQotIyBDT05GSUdfUlRDX0NMQVNTIGlzIG5vdCBzZXQKK0NPTkZJR19SVENfQ0xBU1M9eQorQ09ORklHX1JUQ19IQ1RPU1lTPXkKK0NPTkZJR19SVENfSENUT1NZU19ERVZJQ0U9InJ0YzAiCisjIENPTkZJR19SVENfREVCVUcgaXMgbm90IHNldAorCisjCisjIFJUQyBpbnRlcmZhY2VzCisjCitDT05GSUdfUlRDX0lOVEZfU1lTRlM9eQorQ09ORklHX1JUQ19JTlRGX1BST0M9eQorQ09ORklHX1JUQ19JTlRGX0RFVj15CisjIENPTkZJR19SVENfSU5URl9ERVZfVUlFX0VNVUwgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9URVNUIGlzIG5vdCBzZXQKKworIworIyBJMkMgUlRDIGRyaXZlcnMKKyMKKyMgQ09ORklHX1JUQ19EUlZfRFMxMzA3IGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfRFMxMzc0IGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfRFMxNjcyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfTUFYNjkwMCBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1JTNUMzNzIgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9JU0wxMjA4IGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfWDEyMDUgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9QQ0Y4NTYzIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfUENGODU4MyBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX000MVQ4MCBpcyBub3Qgc2V0CisKKyMKKyMgU1BJIFJUQyBkcml2ZXJzCisjCisjIENPTkZJR19SVENfRFJWX01BWDY5MDIgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9SOTcwMSBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1JTNUMzNDggaXMgbm90IHNldAorCisjCisjIFBsYXRmb3JtIFJUQyBkcml2ZXJzCisjCisjIENPTkZJR19SVENfRFJWX0NNT1MgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9EUzE1MTEgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9EUzE1NTMgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9EUzE3NDIgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9TVEsxN1RBOCBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX000OFQ4NiBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX000OFQ1OSBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1YzMDIwIGlzIG5vdCBzZXQKKworIworIyBvbi1DUFUgUlRDIGRyaXZlcnMKKyMKK0NPTkZJR19SVENfRFJWX0FUOTFTQU05PXkKK0NPTkZJR19SVENfRFJWX0FUOTFTQU05X1JUVD0wCitDT05GSUdfUlRDX0RSVl9BVDkxU0FNOV9HUEJSPTAKIAogIwogIyBGaWxlIHN5c3RlbXMKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2NvbmZpZ3MvYXQ5MXJtOTIwMGRrX2RlZmNvbmZpZyBiL2FyY2gvYXJtL2NvbmZpZ3MvYXQ5MXJtOTIwMGRrX2RlZmNvbmZpZwppbmRleCAyZGJiYmMzLi44NjhmYjdiIDEwMDY0NAotLS0gYS9hcmNoL2FybS9jb25maWdzL2F0OTFybTkyMDBka19kZWZjb25maWcKKysrIGIvYXJjaC9hcm0vY29uZmlncy9hdDkxcm05MjAwZGtfZGVmY29uZmlnCkBAIC0xNjksNyArMTY5LDYgQEAKICMgS2VybmVsIEZlYXR1cmVzCiAjCiAjIENPTkZJR19QUkVFTVBUIGlzIG5vdCBzZXQKLSMgQ09ORklHX05PX0lETEVfSFogaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9ESVNDT05USUdNRU1fRU5BQkxFIGlzIG5vdCBzZXQKIENPTkZJR19TRUxFQ1RfTUVNT1JZX01PREVMPXkKIENPTkZJR19GTEFUTUVNX01BTlVBTD15CmRpZmYgLS1naXQgYS9hcmNoL2FybS9jb25maWdzL2F0OTFybTkyMDBla19kZWZjb25maWcgYi9hcmNoL2FybS9jb25maWdzL2F0OTFybTkyMDBla19kZWZjb25maWcKaW5kZXggNmU5OTRmNy4uZGU0M2ZjNiAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vY29uZmlncy9hdDkxcm05MjAwZWtfZGVmY29uZmlnCisrKyBiL2FyY2gvYXJtL2NvbmZpZ3MvYXQ5MXJtOTIwMGVrX2RlZmNvbmZpZwpAQCAtMTYwLDcgKzE2MCw2IEBACiAjIEtlcm5lbCBGZWF0dXJlcwogIwogIyBDT05GSUdfUFJFRU1QVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19OT19JRExFX0haIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfRElTQ09OVElHTUVNX0VOQUJMRSBpcyBub3Qgc2V0CiBDT05GSUdfU0VMRUNUX01FTU9SWV9NT0RFTD15CiBDT05GSUdfRkxBVE1FTV9NQU5VQUw9eQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vY29uZmlncy9hdDkxc2FtOTI2MGVrX2RlZmNvbmZpZyBiL2FyY2gvYXJtL2NvbmZpZ3MvYXQ5MXNhbTkyNjBla19kZWZjb25maWcKaW5kZXggZjY1OWM5My4uMjAxMWFkZiAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vY29uZmlncy9hdDkxc2FtOTI2MGVrX2RlZmNvbmZpZworKysgYi9hcmNoL2FybS9jb25maWdzL2F0OTFzYW05MjYwZWtfZGVmY29uZmlnCkBAIC0yMjAsNyArMjIwLDYgQEAKICMKICMgQ09ORklHX1RJQ0tfT05FU0hPVCBpcyBub3Qgc2V0CiAjIENPTkZJR19QUkVFTVBUIGlzIG5vdCBzZXQKLSMgQ09ORklHX05PX0lETEVfSFogaXMgbm90IHNldAogQ09ORklHX0haPTEwMAogIyBDT05GSUdfQUVBQkkgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9ESVNDT05USUdNRU1fRU5BQkxFIGlzIG5vdCBzZXQKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2NvbmZpZ3MvYXQ5MXNhbTkyNjFla19kZWZjb25maWcgYi9hcmNoL2FybS9jb25maWdzL2F0OTFzYW05MjYxZWtfZGVmY29uZmlnCmluZGV4IDM4MDJlODUuLjQwNDk3NjggMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2NvbmZpZ3MvYXQ5MXNhbTkyNjFla19kZWZjb25maWcKKysrIGIvYXJjaC9hcm0vY29uZmlncy9hdDkxc2FtOTI2MWVrX2RlZmNvbmZpZwpAQCAtMjEzLDcgKzIxMyw2IEBACiAjCiAjIENPTkZJR19USUNLX09ORVNIT1QgaXMgbm90IHNldAogIyBDT05GSUdfUFJFRU1QVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19OT19JRExFX0haIGlzIG5vdCBzZXQKIENPTkZJR19IWj0xMDAKICMgQ09ORklHX0FFQUJJIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfRElTQ09OVElHTUVNX0VOQUJMRSBpcyBub3Qgc2V0CmRpZmYgLS1naXQgYS9hcmNoL2FybS9jb25maWdzL2F0OTFzYW05MjYzZWtfZGVmY29uZmlnIGIvYXJjaC9hcm0vY29uZmlncy9hdDkxc2FtOTI2M2VrX2RlZmNvbmZpZwppbmRleCAzMmEwZDc0Li5mYTFjNWFlIDEwMDY0NAotLS0gYS9hcmNoL2FybS9jb25maWdzL2F0OTFzYW05MjYzZWtfZGVmY29uZmlnCisrKyBiL2FyY2gvYXJtL2NvbmZpZ3MvYXQ5MXNhbTkyNjNla19kZWZjb25maWcKQEAgLTIxMyw3ICsyMTMsNiBAQAogIwogIyBDT05GSUdfVElDS19PTkVTSE9UIGlzIG5vdCBzZXQKICMgQ09ORklHX1BSRUVNUFQgaXMgbm90IHNldAotIyBDT05GSUdfTk9fSURMRV9IWiBpcyBub3Qgc2V0CiBDT05GSUdfSFo9MTAwCiAjIENPTkZJR19BRUFCSSBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0RJU0NPTlRJR01FTV9FTkFCTEUgaXMgbm90IHNldApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vY29uZmlncy9lbV94MjcwX2RlZmNvbmZpZyBiL2FyY2gvYXJtL2NvbmZpZ3MvYXQ5MXNhbTlnMjBla19kZWZjb25maWcKc2ltaWxhcml0eSBpbmRleCA3MCUKY29weSBmcm9tIGFyY2gvYXJtL2NvbmZpZ3MvZW1feDI3MF9kZWZjb25maWcKY29weSB0byBhcmNoL2FybS9jb25maWdzL2F0OTFzYW05ZzIwZWtfZGVmY29uZmlnCmluZGV4IDZiZWEwOTAuLmMwNjg2MzggMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2NvbmZpZ3MvZW1feDI3MF9kZWZjb25maWcKKysrIGIvYXJjaC9hcm0vY29uZmlncy9hdDkxc2FtOWcyMGVrX2RlZmNvbmZpZwpAQCAtMSwxMyArMSwxMyBAQAogIwogIyBBdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBtYWtlIGNvbmZpZzogZG9uJ3QgZWRpdAotIyBMaW51eCBrZXJuZWwgdmVyc2lvbjogMi42LjIyCi0jIE1vbiBKdWwgIDkgMTU6MTg6MjAgMjAwNworIyBMaW51eCBrZXJuZWwgdmVyc2lvbjogMi42LjI0CisjIFR1ZSBKdW4gMTAgMTU6NTE6NTIgMjAwOAogIwogQ09ORklHX0FSTT15CiBDT05GSUdfU1lTX1NVUFBPUlRTX0FQTV9FTVVMQVRJT049eQogQ09ORklHX0dFTkVSSUNfR1BJTz15CiBDT05GSUdfR0VORVJJQ19USU1FPXkKLSMgQ09ORklHX0dFTkVSSUNfQ0xPQ0tFVkVOVFMgaXMgbm90IHNldAorQ09ORklHX0dFTkVSSUNfQ0xPQ0tFVkVOVFM9eQogQ09ORklHX01NVT15CiAjIENPTkZJR19OT19JT1BPUlQgaXMgbm90IHNldAogQ09ORklHX0dFTkVSSUNfSEFSRElSUVM9eQpAQCAtMjIsNDUgKzIyLDQwIEBACiBDT05GSUdfR0VORVJJQ19IV0VJR0hUPXkKIENPTkZJR19HRU5FUklDX0NBTElCUkFURV9ERUxBWT15CiBDT05GSUdfWk9ORV9ETUE9eQotQ09ORklHX0FSQ0hfTVREX1hJUD15CiBDT05GSUdfVkVDVE9SU19CQVNFPTB4ZmZmZjAwMDAKIENPTkZJR19ERUZDT05GSUdfTElTVD0iL2xpYi9tb2R1bGVzLyRVTkFNRV9SRUxFQVNFLy5jb25maWciCiAKICMKLSMgQ29kZSBtYXR1cml0eSBsZXZlbCBvcHRpb25zCisjIEdlbmVyYWwgc2V0dXAKICMKIENPTkZJR19FWFBFUklNRU5UQUw9eQogQ09ORklHX0JST0tFTl9PTl9TTVA9eQogQ09ORklHX0lOSVRfRU5WX0FSR19MSU1JVD0zMgotCi0jCi0jIEdlbmVyYWwgc2V0dXAKLSMKLUNPTkZJR19MT0NBTFZFUlNJT049Ii1lbS14MjcwIgorQ09ORklHX0xPQ0FMVkVSU0lPTj0iIgogIyBDT05GSUdfTE9DQUxWRVJTSU9OX0FVVE8gaXMgbm90IHNldAotQ09ORklHX1NXQVA9eQorIyBDT05GSUdfU1dBUCBpcyBub3Qgc2V0CiBDT05GSUdfU1lTVklQQz15Ci0jIENPTkZJR19JUENfTlMgaXMgbm90IHNldAogQ09ORklHX1NZU1ZJUENfU1lTQ1RMPXkKICMgQ09ORklHX1BPU0lYX01RVUVVRSBpcyBub3Qgc2V0CiAjIENPTkZJR19CU0RfUFJPQ0VTU19BQ0NUIGlzIG5vdCBzZXQKICMgQ09ORklHX1RBU0tTVEFUUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19VVFNfTlMgaXMgbm90IHNldAorIyBDT05GSUdfVVNFUl9OUyBpcyBub3Qgc2V0CisjIENPTkZJR19QSURfTlMgaXMgbm90IHNldAogIyBDT05GSUdfQVVESVQgaXMgbm90IHNldAotQ09ORklHX0lLQ09ORklHPXkKLUNPTkZJR19JS0NPTkZJR19QUk9DPXkKLUNPTkZJR19MT0dfQlVGX1NISUZUPTE3CisjIENPTkZJR19JS0NPTkZJRyBpcyBub3Qgc2V0CitDT05GSUdfTE9HX0JVRl9TSElGVD0xNAorIyBDT05GSUdfQ0dST1VQUyBpcyBub3Qgc2V0CisjIENPTkZJR19GQUlSX0dST1VQX1NDSEVEIGlzIG5vdCBzZXQKIENPTkZJR19TWVNGU19ERVBSRUNBVEVEPXkKICMgQ09ORklHX1JFTEFZIGlzIG5vdCBzZXQKIENPTkZJR19CTEtfREVWX0lOSVRSRD15CiBDT05GSUdfSU5JVFJBTUZTX1NPVVJDRT0iIgogQ09ORklHX0NDX09QVElNSVpFX0ZPUl9TSVpFPXkKIENPTkZJR19TWVNDVEw9eQotQ09ORklHX0VNQkVEREVEPXkKKyMgQ09ORklHX0VNQkVEREVEIGlzIG5vdCBzZXQKIENPTkZJR19VSUQxNj15CiBDT05GSUdfU1lTQ1RMX1NZU0NBTEw9eQogQ09ORklHX0tBTExTWU1TPXkKLSMgQ09ORklHX0tBTExTWU1TX0FMTCBpcyBub3Qgc2V0CiAjIENPTkZJR19LQUxMU1lNU19FWFRSQV9QQVNTIGlzIG5vdCBzZXQKIENPTkZJR19IT1RQTFVHPXkKIENPTkZJR19QUklOVEs9eQpAQCAtNzEsNDIgKzY2LDM1IEBACiBDT05GSUdfQU5PTl9JTk9ERVM9eQogQ09ORklHX0VQT0xMPXkKIENPTkZJR19TSUdOQUxGRD15Ci1DT05GSUdfVElNRVJGRD15CiBDT05GSUdfRVZFTlRGRD15CiBDT05GSUdfU0hNRU09eQogQ09ORklHX1ZNX0VWRU5UX0NPVU5URVJTPXkKIENPTkZJR19TTEFCPXkKICMgQ09ORklHX1NMVUIgaXMgbm90IHNldAogIyBDT05GSUdfU0xPQiBpcyBub3Qgc2V0CitDT05GSUdfU0xBQklORk89eQogQ09ORklHX1JUX01VVEVYRVM9eQogIyBDT05GSUdfVElOWV9TSE1FTSBpcyBub3Qgc2V0CiBDT05GSUdfQkFTRV9TTUFMTD0wCi0KLSMKLSMgTG9hZGFibGUgbW9kdWxlIHN1cHBvcnQKLSMKIENPTkZJR19NT0RVTEVTPXkKIENPTkZJR19NT0RVTEVfVU5MT0FEPXkKLUNPTkZJR19NT0RVTEVfRk9SQ0VfVU5MT0FEPXkKKyMgQ09ORklHX01PRFVMRV9GT1JDRV9VTkxPQUQgaXMgbm90IHNldAogIyBDT05GSUdfTU9EVkVSU0lPTlMgaXMgbm90IHNldAogIyBDT05GSUdfTU9EVUxFX1NSQ1ZFUlNJT05fQUxMIGlzIG5vdCBzZXQKIENPTkZJR19LTU9EPXkKLQotIwotIyBCbG9jayBsYXllcgotIwogQ09ORklHX0JMT0NLPXkKICMgQ09ORklHX0xCRCBpcyBub3Qgc2V0CiAjIENPTkZJR19CTEtfREVWX0lPX1RSQUNFIGlzIG5vdCBzZXQKICMgQ09ORklHX0xTRiBpcyBub3Qgc2V0CisjIENPTkZJR19CTEtfREVWX0JTRyBpcyBub3Qgc2V0CiAKICMKICMgSU8gU2NoZWR1bGVycwogIwogQ09ORklHX0lPU0NIRURfTk9PUD15CiBDT05GSUdfSU9TQ0hFRF9BUz15Ci1DT05GSUdfSU9TQ0hFRF9ERUFETElORT15Ci1DT05GSUdfSU9TQ0hFRF9DRlE9eQorIyBDT05GSUdfSU9TQ0hFRF9ERUFETElORSBpcyBub3Qgc2V0CisjIENPTkZJR19JT1NDSEVEX0NGUSBpcyBub3Qgc2V0CiBDT05GSUdfREVGQVVMVF9BUz15CiAjIENPTkZJR19ERUZBVUxUX0RFQURMSU5FIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFRkFVTFRfQ0ZRIGlzIG5vdCBzZXQKQEAgLTEyMCw3ICsxMDgsNyBAQAogIyBDT05GSUdfQVJDSF9JTlRFR1JBVE9SIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfUkVBTFZJRVcgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9WRVJTQVRJTEUgaXMgbm90IHNldAotIyBDT05GSUdfQVJDSF9BVDkxIGlzIG5vdCBzZXQKK0NPTkZJR19BUkNIX0FUOTE9eQogIyBDT05GSUdfQVJDSF9DTFBTNzUwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0NMUFM3MTFYIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfQ08yODUgaXMgbm90IHNldApAQCAtMTM5LDggKzEyNyw5IEBACiAjIENPTkZJR19BUkNIX0w3MjAwIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfS1M4Njk1IGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfTlM5WFhYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfTVhDIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfUE5YNDAwOCBpcyBub3Qgc2V0Ci1DT05GSUdfQVJDSF9QWEE9eQorIyBDT05GSUdfQVJDSF9QWEEgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9SUEMgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9TQTExMDAgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9TM0MyNDEwIGlzIG5vdCBzZXQKQEAgLTE1MCwyNSArMTM5LDYwIEBACiAjIENPTkZJR19BUkNIX09NQVAgaXMgbm90IHNldAogCiAjCi0jIEludGVsIFBYQTJ4eCBJbXBsZW1lbnRhdGlvbnMKKyMgQm9vdCBvcHRpb25zCiAjCi0jIENPTkZJR19BUkNIX0xVQkJPQ0sgaXMgbm90IHNldAotIyBDT05GSUdfTUFDSF9MT0dJQ1BEX1BYQTI3MCBpcyBub3Qgc2V0Ci0jIENPTkZJR19NQUNIX01BSU5TVE9ORSBpcyBub3Qgc2V0Ci0jIENPTkZJR19BUkNIX1BYQV9JRFAgaXMgbm90IHNldAotIyBDT05GSUdfUFhBX1NIQVJQU0wgaXMgbm90IHNldAotIyBDT05GSUdfTUFDSF9UUklaRVBTNCBpcyBub3Qgc2V0Ci1DT05GSUdfTUFDSF9FTV9YMjcwPXkKLUNPTkZJR19QWEEyN3g9eQorCisjCisjIFBvd2VyIG1hbmFnZW1lbnQKKyMKKworIworIyBBdG1lbCBBVDkxIFN5c3RlbS1vbi1DaGlwCisjCisjIENPTkZJR19BUkNIX0FUOTFSTTkyMDAgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9BVDkxU0FNOTI2MCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0FUOTFTQU05MjYxIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfQVQ5MVNBTTkyNjMgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9BVDkxU0FNOVJMIGlzIG5vdCBzZXQKK0NPTkZJR19BUkNIX0FUOTFTQU05RzIwPXkKKyMgQ09ORklHX0FSQ0hfQVQ5MUNBUDkgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9BVDkxWDQwIGlzIG5vdCBzZXQKK0NPTkZJR19BVDkxX1BNQ19VTklUPXkKKworIworIyBBVDkxU0FNOUcyMCBCb2FyZCBUeXBlCisjCitDT05GSUdfTUFDSF9BVDkxU0FNOUcyMEVLPXkKKworIworIyBBVDkxIEJvYXJkIE9wdGlvbnMKKyMKKyMgQ09ORklHX01URF9BVDkxX0RBVEFGTEFTSF9DQVJEIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9OQU5EX0FUOTFfQlVTV0lEVEhfMTYgaXMgbm90IHNldAorCisjCisjIEFUOTEgRmVhdHVyZSBTZWxlY3Rpb25zCisjCitDT05GSUdfQVQ5MV9QUk9HUkFNTUFCTEVfQ0xPQ0tTPXkKKyMgQ09ORklHX0FUOTFfU0xPV19DTE9DSyBpcyBub3Qgc2V0CitDT05GSUdfQVQ5MV9USU1FUl9IWj0xMDAKK0NPTkZJR19BVDkxX0VBUkxZX0RCR1U9eQorIyBDT05GSUdfQVQ5MV9FQVJMWV9VU0FSVDAgaXMgbm90IHNldAorIyBDT05GSUdfQVQ5MV9FQVJMWV9VU0FSVDEgaXMgbm90IHNldAorIyBDT05GSUdfQVQ5MV9FQVJMWV9VU0FSVDIgaXMgbm90IHNldAorIyBDT05GSUdfQVQ5MV9FQVJMWV9VU0FSVDMgaXMgbm90IHNldAorIyBDT05GSUdfQVQ5MV9FQVJMWV9VU0FSVDQgaXMgbm90IHNldAorIyBDT05GSUdfQVQ5MV9FQVJMWV9VU0FSVDUgaXMgbm90IHNldAogCiAjCiAjIFByb2Nlc3NvciBUeXBlCiAjCiBDT05GSUdfQ1BVXzMyPXkKLUNPTkZJR19DUFVfWFNDQUxFPXkKK0NPTkZJR19DUFVfQVJNOTI2VD15CiBDT05GSUdfQ1BVXzMydjU9eQotQ09ORklHX0NQVV9BQlJUX0VWNVQ9eQorQ09ORklHX0NQVV9BQlJUX0VWNVRKPXkKIENPTkZJR19DUFVfQ0FDSEVfVklWVD15CitDT05GSUdfQ1BVX0NPUFlfVjRXQj15CiBDT05GSUdfQ1BVX1RMQl9WNFdCST15CiBDT05GSUdfQ1BVX0NQMTU9eQogQ09ORklHX0NQVV9DUDE1X01NVT15CkBAIC0xNzYsMjggKzIwMCwyOCBAQAogIwogIyBQcm9jZXNzb3IgRmVhdHVyZXMKICMKLUNPTkZJR19BUk1fVEhVTUI9eQorIyBDT05GSUdfQVJNX1RIVU1CIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NQVV9JQ0FDSEVfRElTQUJMRSBpcyBub3Qgc2V0CiAjIENPTkZJR19DUFVfRENBQ0hFX0RJU0FCTEUgaXMgbm90IHNldAorIyBDT05GSUdfQ1BVX0RDQUNIRV9XUklURVRIUk9VR0ggaXMgbm90IHNldAorIyBDT05GSUdfQ1BVX0NBQ0hFX1JPVU5EX1JPQklOIGlzIG5vdCBzZXQKICMgQ09ORklHX09VVEVSX0NBQ0hFIGlzIG5vdCBzZXQKLUNPTkZJR19JV01NWFQ9eQotQ09ORklHX1hTQ0FMRV9QTVU9eQogCiAjCiAjIEJ1cyBzdXBwb3J0CiAjCisjIENPTkZJR19QQ0lfU1lTQ0FMTCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX1NVUFBPUlRTX01TSSBpcyBub3Qgc2V0Ci0KLSMKLSMgUENDQVJEIChQQ01DSUEvQ2FyZEJ1cykgc3VwcG9ydAotIwogIyBDT05GSUdfUENDQVJEIGlzIG5vdCBzZXQKIAogIwogIyBLZXJuZWwgRmVhdHVyZXMKICMKICMgQ09ORklHX1RJQ0tfT05FU0hPVCBpcyBub3Qgc2V0CisjIENPTkZJR19OT19IWiBpcyBub3Qgc2V0CisjIENPTkZJR19ISUdIX1JFU19USU1FUlMgaXMgbm90IHNldAorQ09ORklHX0dFTkVSSUNfQ0xPQ0tFVkVOVFNfQlVJTEQ9eQogIyBDT05GSUdfUFJFRU1QVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19OT19JRExFX0haIGlzIG5vdCBzZXQKIENPTkZJR19IWj0xMDAKIENPTkZJR19BRUFCST15CiBDT05GSUdfT0FCSV9DT01QQVQ9eQpAQCAtMjA5LDkgKzIzMywxNCBAQAogQ09ORklHX0ZMQVRNRU09eQogQ09ORklHX0ZMQVRfTk9ERV9NRU1fTUFQPXkKICMgQ09ORklHX1NQQVJTRU1FTV9TVEFUSUMgaXMgbm90IHNldAorIyBDT05GSUdfU1BBUlNFTUVNX1ZNRU1NQVBfRU5BQkxFIGlzIG5vdCBzZXQKIENPTkZJR19TUExJVF9QVExPQ0tfQ1BVUz00MDk2CiAjIENPTkZJR19SRVNPVVJDRVNfNjRCSVQgaXMgbm90IHNldAogQ09ORklHX1pPTkVfRE1BX0ZMQUc9MQorQ09ORklHX0JPVU5DRT15CitDT05GSUdfVklSVF9UT19CVVM9eQorQ09ORklHX0xFRFM9eQorQ09ORklHX0xFRFNfQ1BVPXkKIENPTkZJR19BTElHTk1FTlRfVFJBUD15CiAKICMKQEAgLTIxOSw3ICsyNDgsNyBAQAogIwogQ09ORklHX1pCT09UX1JPTV9URVhUPTB4MAogQ09ORklHX1pCT09UX1JPTV9CU1M9MHgwCi1DT05GSUdfQ01ETElORT0iIgorQ09ORklHX0NNRExJTkU9Im1lbT02NE0gY29uc29sZT10dHlTMCwxMTUyMDAgaW5pdHJkPTB4MjExMDAwMDAsMzE0NTcyOCByb290PS9kZXYvcmFtMCBydyIKICMgQ09ORklHX1hJUF9LRVJORUwgaXMgbm90IHNldAogIyBDT05GSUdfS0VYRUMgaXMgbm90IHNldAogCkBAIC0yMzMsNiArMjYyLDcgQEAKIENPTkZJR19GUEVfTldGUEU9eQogIyBDT05GSUdfRlBFX05XRlBFX1hQIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZQRV9GQVNURlBFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZGUCBpcyBub3Qgc2V0CiAKICMKICMgVXNlcnNwYWNlIGJpbmFyeSBmb3JtYXRzCkBAIC0yNDUsMTAgKzI3NSwxMiBAQAogIyBQb3dlciBtYW5hZ2VtZW50IG9wdGlvbnMKICMKIENPTkZJR19QTT15Ci1DT05GSUdfUE1fTEVHQUNZPXkKKyMgQ09ORklHX1BNX0xFR0FDWSBpcyBub3Qgc2V0CiAjIENPTkZJR19QTV9ERUJVRyBpcyBub3Qgc2V0Ci0jIENPTkZJR19QTV9TWVNGU19ERVBSRUNBVEVEIGlzIG5vdCBzZXQKLUNPTkZJR19BUE1fRU1VTEFUSU9OPW0KK0NPTkZJR19QTV9TTEVFUD15CitDT05GSUdfU1VTUEVORF9VUF9QT1NTSUJMRT15CitDT05GSUdfU1VTUEVORD15CisjIENPTkZJR19BUE1fRU1VTEFUSU9OIGlzIG5vdCBzZXQKIAogIwogIyBOZXR3b3JraW5nCkBAIC0yNjEsMTcgKzI5MywxMyBAQAogQ09ORklHX1BBQ0tFVD15CiAjIENPTkZJR19QQUNLRVRfTU1BUCBpcyBub3Qgc2V0CiBDT05GSUdfVU5JWD15Ci1DT05GSUdfWEZSTT15Ci0jIENPTkZJR19YRlJNX1VTRVIgaXMgbm90IHNldAotIyBDT05GSUdfWEZSTV9TVUJfUE9MSUNZIGlzIG5vdCBzZXQKLSMgQ09ORklHX1hGUk1fTUlHUkFURSBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRfS0VZIGlzIG5vdCBzZXQKIENPTkZJR19JTkVUPXkKICMgQ09ORklHX0lQX01VTFRJQ0FTVCBpcyBub3Qgc2V0CiAjIENPTkZJR19JUF9BRFZBTkNFRF9ST1VURVIgaXMgbm90IHNldAogQ09ORklHX0lQX0ZJQl9IQVNIPXkKIENPTkZJR19JUF9QTlA9eQotQ09ORklHX0lQX1BOUF9ESENQPXkKKyMgQ09ORklHX0lQX1BOUF9ESENQIGlzIG5vdCBzZXQKIENPTkZJR19JUF9QTlBfQk9PVFA9eQogIyBDT05GSUdfSVBfUE5QX1JBUlAgaXMgbm90IHNldAogIyBDT05GSUdfTkVUX0lQSVAgaXMgbm90IHNldApAQCAtMjgzLDkgKzMxMSwxMCBAQAogIyBDT05GSUdfSU5FVF9JUENPTVAgaXMgbm90IHNldAogIyBDT05GSUdfSU5FVF9YRlJNX1RVTk5FTCBpcyBub3Qgc2V0CiAjIENPTkZJR19JTkVUX1RVTk5FTCBpcyBub3Qgc2V0Ci1DT05GSUdfSU5FVF9YRlJNX01PREVfVFJBTlNQT1JUPXkKLUNPTkZJR19JTkVUX1hGUk1fTU9ERV9UVU5ORUw9eQotQ09ORklHX0lORVRfWEZSTV9NT0RFX0JFRVQ9eQorIyBDT05GSUdfSU5FVF9YRlJNX01PREVfVFJBTlNQT1JUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lORVRfWEZSTV9NT0RFX1RVTk5FTCBpcyBub3Qgc2V0CisjIENPTkZJR19JTkVUX1hGUk1fTU9ERV9CRUVUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lORVRfTFJPIGlzIG5vdCBzZXQKIENPTkZJR19JTkVUX0RJQUc9eQogQ09ORklHX0lORVRfVENQX0RJQUc9eQogIyBDT05GSUdfVENQX0NPTkdfQURWQU5DRUQgaXMgbm90IHNldApAQCAtMzExLDEwICszNDAsNiBAQAogIyBDT05GSUdfTEFQQiBpcyBub3Qgc2V0CiAjIENPTkZJR19FQ09ORVQgaXMgbm90IHNldAogIyBDT05GSUdfV0FOX1JPVVRFUiBpcyBub3Qgc2V0Ci0KLSMKLSMgUW9TIGFuZC9vciBmYWlyIHF1ZXVlaW5nCi0jCiAjIENPTkZJR19ORVRfU0NIRUQgaXMgbm90IHNldAogCiAjCkBAIC0zMjMsMjggKzM0OCw3IEBACiAjIENPTkZJR19ORVRfUEtUR0VOIGlzIG5vdCBzZXQKICMgQ09ORklHX0hBTVJBRElPIGlzIG5vdCBzZXQKICMgQ09ORklHX0lSREEgaXMgbm90IHNldAotQ09ORklHX0JUPW0KLUNPTkZJR19CVF9MMkNBUD1tCi1DT05GSUdfQlRfU0NPPW0KLUNPTkZJR19CVF9SRkNPTU09bQotIyBDT05GSUdfQlRfUkZDT01NX1RUWSBpcyBub3Qgc2V0Ci1DT05GSUdfQlRfQk5FUD1tCi0jIENPTkZJR19CVF9CTkVQX01DX0ZJTFRFUiBpcyBub3Qgc2V0Ci0jIENPTkZJR19CVF9CTkVQX1BST1RPX0ZJTFRFUiBpcyBub3Qgc2V0Ci1DT05GSUdfQlRfSElEUD1tCi0KLSMKLSMgQmx1ZXRvb3RoIGRldmljZSBkcml2ZXJzCi0jCi1DT05GSUdfQlRfSENJVVNCPW0KLSMgQ09ORklHX0JUX0hDSVVTQl9TQ08gaXMgbm90IHNldAotQ09ORklHX0JUX0hDSVVBUlQ9bQotIyBDT05GSUdfQlRfSENJVUFSVF9INCBpcyBub3Qgc2V0Ci0jIENPTkZJR19CVF9IQ0lVQVJUX0JDU1AgaXMgbm90IHNldAotQ09ORklHX0JUX0hDSUJDTTIwM1g9bQotQ09ORklHX0JUX0hDSUJQQTEwWD1tCi1DT05GSUdfQlRfSENJQkZVU0I9bQotIyBDT05GSUdfQlRfSENJVkhDSSBpcyBub3Qgc2V0CisjIENPTkZJR19CVCBpcyBub3Qgc2V0CiAjIENPTkZJR19BRl9SWFJQQyBpcyBub3Qgc2V0CiAKICMKQEAgLTM1MywxMyArMzU3LDkgQEAKICMgQ09ORklHX0NGRzgwMjExIGlzIG5vdCBzZXQKICMgQ09ORklHX1dJUkVMRVNTX0VYVCBpcyBub3Qgc2V0CiAjIENPTkZJR19NQUM4MDIxMSBpcyBub3Qgc2V0Ci1DT05GSUdfSUVFRTgwMjExPW0KLSMgQ09ORklHX0lFRUU4MDIxMV9ERUJVRyBpcyBub3Qgc2V0Ci1DT05GSUdfSUVFRTgwMjExX0NSWVBUX1dFUD1tCi1DT05GSUdfSUVFRTgwMjExX0NSWVBUX0NDTVA9bQotIyBDT05GSUdfSUVFRTgwMjExX0NSWVBUX1RLSVAgaXMgbm90IHNldAotIyBDT05GSUdfSUVFRTgwMjExX1NPRlRNQUMgaXMgbm90IHNldAorIyBDT05GSUdfSUVFRTgwMjExIGlzIG5vdCBzZXQKICMgQ09ORklHX1JGS0lMTCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfOVAgaXMgbm90IHNldAogCiAjCiAjIERldmljZSBEcml2ZXJzCkBAIC0zNjgsMjMgKzM2OCwxOCBAQAogIwogIyBHZW5lcmljIERyaXZlciBPcHRpb25zCiAjCitDT05GSUdfVUVWRU5UX0hFTFBFUl9QQVRIPSIvc2Jpbi9ob3RwbHVnIgogQ09ORklHX1NUQU5EQUxPTkU9eQogQ09ORklHX1BSRVZFTlRfRklSTVdBUkVfQlVJTEQ9eQotQ09ORklHX0ZXX0xPQURFUj15Ci0jIENPTkZJR19ERUJVR19EUklWRVIgaXMgbm90IHNldAotIyBDT05GSUdfREVCVUdfREVWUkVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZXX0xPQURFUiBpcyBub3Qgc2V0CiAjIENPTkZJR19TWVNfSFlQRVJWSVNPUiBpcyBub3Qgc2V0Ci0KLSMKLSMgQ29ubmVjdG9yIC0gdW5pZmllZCB1c2Vyc3BhY2UgPC0+IGtlcm5lbHNwYWNlIGxpbmtlcgotIwogIyBDT05GSUdfQ09OTkVDVE9SIGlzIG5vdCBzZXQKIENPTkZJR19NVEQ9eQogIyBDT05GSUdfTVREX0RFQlVHIGlzIG5vdCBzZXQKIENPTkZJR19NVERfQ09OQ0FUPXkKIENPTkZJR19NVERfUEFSVElUSU9OUz15CiAjIENPTkZJR19NVERfUkVEQk9PVF9QQVJUUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19NVERfQ01ETElORV9QQVJUUyBpcyBub3Qgc2V0CitDT05GSUdfTVREX0NNRExJTkVfUEFSVFM9eQogIyBDT05GSUdfTVREX0FGU19QQVJUUyBpcyBub3Qgc2V0CiAKICMKQEAgLTM5OCwxNSArMzkzLDEzIEBACiAjIENPTkZJR19JTkZUTCBpcyBub3Qgc2V0CiAjIENPTkZJR19SRkRfRlRMIGlzIG5vdCBzZXQKICMgQ09ORklHX1NTRkRDIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9PT1BTIGlzIG5vdCBzZXQKIAogIwogIyBSQU0vUk9NL0ZsYXNoIGNoaXAgZHJpdmVycwogIwogIyBDT05GSUdfTVREX0NGSSBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfSkVERUNQUk9CRSBpcyBub3Qgc2V0Ci0jIENPTkZJR19NVERfQ0ZJX05PU1dBUCBpcyBub3Qgc2V0Ci0jIENPTkZJR19NVERfQ0ZJX0JFX0JZVEVfU1dBUCBpcyBub3Qgc2V0Ci0jIENPTkZJR19NVERfQ0ZJX0xFX0JZVEVfU1dBUCBpcyBub3Qgc2V0CiBDT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzE9eQogQ09ORklHX01URF9NQVBfQkFOS19XSURUSF8yPXkKIENPTkZJR19NVERfTUFQX0JBTktfV0lEVEhfND15CkBAIC00MjUsMTIgKzQxOCwxMyBAQAogIyBNYXBwaW5nIGRyaXZlcnMgZm9yIGNoaXAgYWNjZXNzCiAjCiAjIENPTkZJR19NVERfQ09NUExFWF9NQVBQSU5HUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19NVERfU0hBUlBfU0wgaXMgbm90IHNldAogIyBDT05GSUdfTVREX1BMQVRSQU0gaXMgbm90IHNldAogCiAjCiAjIFNlbGYtY29udGFpbmVkIE1URCBkZXZpY2UgZHJpdmVycwogIworQ09ORklHX01URF9EQVRBRkxBU0g9eQorIyBDT05GSUdfTVREX00yNVA4MCBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfU0xSQU0gaXMgbm90IHNldAogIyBDT05GSUdfTVREX1BIUkFNIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9NVERSQU0gaXMgbm90IHNldApAQCAtNDQ2LDMyICs0NDAsMjMgQEAKICMgQ09ORklHX01URF9OQU5EX1ZFUklGWV9XUklURSBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfTkFORF9FQ0NfU01DIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9OQU5EX01VU0VVTV9JRFMgaXMgbm90IHNldAotIyBDT05GSUdfTVREX05BTkRfSDE5MDAgaXMgbm90IHNldAogQ09ORklHX01URF9OQU5EX0lEUz15CiAjIENPTkZJR19NVERfTkFORF9ESVNLT05DSElQIGlzIG5vdCBzZXQKLSMgQ09ORklHX01URF9OQU5EX1NIQVJQU0wgaXMgbm90IHNldAorQ09ORklHX01URF9OQU5EX0FUOTE9eQorQ09ORklHX01URF9OQU5EX0FUOTFfRUNDX1NPRlQ9eQorIyBDT05GSUdfTVREX05BTkRfQVQ5MV9FQ0NfSFcgaXMgbm90IHNldAorIyBDT05GSUdfTVREX05BTkRfQVQ5MV9FQ0NfTk9ORSBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfTkFORF9OQU5EU0lNIGlzIG5vdCBzZXQKLUNPTkZJR19NVERfTkFORF9QTEFURk9STT15CisjIENPTkZJR19NVERfTkFORF9QTEFURk9STSBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfQUxBVURBIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9PTkVOQU5EIGlzIG5vdCBzZXQKIAogIwogIyBVQkkgLSBVbnNvcnRlZCBibG9jayBpbWFnZXMKICMKICMgQ09ORklHX01URF9VQkkgaXMgbm90IHNldAotCi0jCi0jIFBhcmFsbGVsIHBvcnQgc3VwcG9ydAotIwogIyBDT05GSUdfUEFSUE9SVCBpcyBub3Qgc2V0Ci0KLSMKLSMgUGx1ZyBhbmQgUGxheSBzdXBwb3J0Ci0jCi0jIENPTkZJR19QTlBBQ1BJIGlzIG5vdCBzZXQKLQotIwotIyBCbG9jayBkZXZpY2VzCi0jCitDT05GSUdfQkxLX0RFVj15CiAjIENPTkZJR19CTEtfREVWX0NPV19DT01NT04gaXMgbm90IHNldAogQ09ORklHX0JMS19ERVZfTE9PUD15CiAjIENPTkZJR19CTEtfREVWX0NSWVBUT0xPT1AgaXMgbm90IHNldApAQCAtNDc5LDIwICs0NjQsMjQgQEAKICMgQ09ORklHX0JMS19ERVZfVUIgaXMgbm90IHNldAogQ09ORklHX0JMS19ERVZfUkFNPXkKIENPTkZJR19CTEtfREVWX1JBTV9DT1VOVD0xNgotQ09ORklHX0JMS19ERVZfUkFNX1NJWkU9MTIwMDAKK0NPTkZJR19CTEtfREVWX1JBTV9TSVpFPTgxOTIKIENPTkZJR19CTEtfREVWX1JBTV9CTE9DS1NJWkU9MTAyNAogIyBDT05GSUdfQ0RST01fUEtUQ0RWRCBpcyBub3Qgc2V0CiAjIENPTkZJR19BVEFfT1ZFUl9FVEggaXMgbm90IHNldAotIyBDT05GSUdfSURFIGlzIG5vdCBzZXQKK0NPTkZJR19NSVNDX0RFVklDRVM9eQorQ09ORklHX0FUTUVMX1BXTT15CisjIENPTkZJR19FRVBST01fOTNDWDYgaXMgbm90IHNldAorQ09ORklHX0FUTUVMX1NTQz15CiAKICMKICMgU0NTSSBkZXZpY2Ugc3VwcG9ydAogIwogIyBDT05GSUdfUkFJRF9BVFRSUyBpcyBub3Qgc2V0CiBDT05GSUdfU0NTST15CitDT05GSUdfU0NTSV9ETUE9eQogIyBDT05GSUdfU0NTSV9UR1QgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9ORVRMSU5LIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfUFJPQ19GUyBpcyBub3Qgc2V0CitDT05GSUdfU0NTSV9QUk9DX0ZTPXkKIAogIwogIyBTQ1NJIHN1cHBvcnQgdHlwZSAoZGlzaywgdGFwZSwgQ0QtUk9NKQpAQCAtNTA3LDcgKzQ5Niw3IEBACiAjCiAjIFNvbWUgU0NTSSBkZXZpY2VzIChlLmcuIENEIGp1a2Vib3gpIHN1cHBvcnQgbXVsdGlwbGUgTFVOcwogIwotIyBDT05GSUdfU0NTSV9NVUxUSV9MVU4gaXMgbm90IHNldAorQ09ORklHX1NDU0lfTVVMVElfTFVOPXkKICMgQ09ORklHX1NDU0lfQ09OU1RBTlRTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfTE9HR0lORyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX1NDQU5fQVNZTkMgaXMgbm90IHNldApAQCAtNTE5LDM5ICs1MDgsNDYgQEAKICMgQ09ORklHX1NDU0lfU1BJX0FUVFJTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfRkNfQVRUUlMgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9JU0NTSV9BVFRSUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX1NBU19BVFRSUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX1NBU19MSUJTQVMgaXMgbm90IHNldAotCi0jCi0jIFNDU0kgbG93LWxldmVsIGRyaXZlcnMKLSMKLSMgQ09ORklHX0lTQ1NJX1RDUCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX0RFQlVHIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NDU0lfU1JQX0FUVFJTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NDU0lfTE9XTEVWRUwgaXMgbm90IHNldAogIyBDT05GSUdfQVRBIGlzIG5vdCBzZXQKLQotIwotIyBNdWx0aS1kZXZpY2Ugc3VwcG9ydCAoUkFJRCBhbmQgTFZNKQotIwogIyBDT05GSUdfTUQgaXMgbm90IHNldAotCi0jCi0jIE5ldHdvcmsgZGV2aWNlIHN1cHBvcnQKLSMKIENPTkZJR19ORVRERVZJQ0VTPXkKKyMgQ09ORklHX05FVERFVklDRVNfTVVMVElRVUVVRSBpcyBub3Qgc2V0CiAjIENPTkZJR19EVU1NWSBpcyBub3Qgc2V0CiAjIENPTkZJR19CT05ESU5HIGlzIG5vdCBzZXQKKyMgQ09ORklHX01BQ1ZMQU4gaXMgbm90IHNldAogIyBDT05GSUdfRVFVQUxJWkVSIGlzIG5vdCBzZXQKICMgQ09ORklHX1RVTiBpcyBub3Qgc2V0Ci0jIENPTkZJR19QSFlMSUIgaXMgbm90IHNldAorIyBDT05GSUdfVkVUSCBpcyBub3Qgc2V0CitDT05GSUdfUEhZTElCPXkKIAogIwotIyBFdGhlcm5ldCAoMTAgb3IgMTAwTWJpdCkKKyMgTUlJIFBIWSBkZXZpY2UgZHJpdmVycwogIworIyBDT05GSUdfTUFSVkVMTF9QSFkgaXMgbm90IHNldAorIyBDT05GSUdfREFWSUNPTV9QSFkgaXMgbm90IHNldAorIyBDT05GSUdfUVNFTUlfUEhZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0xYVF9QSFkgaXMgbm90IHNldAorIyBDT05GSUdfQ0lDQURBX1BIWSBpcyBub3Qgc2V0CisjIENPTkZJR19WSVRFU1NFX1BIWSBpcyBub3Qgc2V0CisjIENPTkZJR19TTVNDX1BIWSBpcyBub3Qgc2V0CisjIENPTkZJR19CUk9BRENPTV9QSFkgaXMgbm90IHNldAorIyBDT05GSUdfSUNQTFVTX1BIWSBpcyBub3Qgc2V0CisjIENPTkZJR19GSVhFRF9QSFkgaXMgbm90IHNldAorIyBDT05GSUdfTURJT19CSVRCQU5HIGlzIG5vdCBzZXQKIENPTkZJR19ORVRfRVRIRVJORVQ9eQogQ09ORklHX01JST15CitDT05GSUdfTUFDQj15CisjIENPTkZJR19BWDg4Nzk2IGlzIG5vdCBzZXQKICMgQ09ORklHX1NNQzkxWCBpcyBub3Qgc2V0Ci1DT05GSUdfRE05MDAwPXkKLSMgQ09ORklHX1NNQzkxMVggaXMgbm90IHNldAorIyBDT05GSUdfRE05MDAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTV9ORVdfRU1BQ19aTUlJIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTV9ORVdfRU1BQ19SR01JSSBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfVEFIIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTV9ORVdfRU1BQ19FTUFDNCBpcyBub3Qgc2V0CisjIENPTkZJR19CNDQgaXMgbm90IHNldAogIyBDT05GSUdfTkVUREVWXzEwMDAgaXMgbm90IHNldAogIyBDT05GSUdfTkVUREVWXzEwMDAwIGlzIG5vdCBzZXQKIApAQCAtNTY4LDcgKzU2NCw2IEBACiAjIENPTkZJR19VU0JfS0FXRVRIIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9QRUdBU1VTIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9SVEw4MTUwIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9VU0JORVRfTUlJIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9VU0JORVQgaXMgbm90IHNldAogIyBDT05GSUdfV0FOIGlzIG5vdCBzZXQKICMgQ09ORklHX1BQUCBpcyBub3Qgc2V0CkBAIC01NzcsMTAgKzU3Miw2IEBACiAjIENPTkZJR19ORVRDT05TT0xFIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVFBPTEwgaXMgbm90IHNldAogIyBDT05GSUdfTkVUX1BPTExfQ09OVFJPTExFUiBpcyBub3Qgc2V0Ci0KLSMKLSMgSVNETiBzdWJzeXN0ZW0KLSMKICMgQ09ORklHX0lTRE4gaXMgbm90IHNldAogCiAjCkBAIC01OTUsMTAgKzU4Niw5IEBACiAjCiBDT05GSUdfSU5QVVRfTU9VU0VERVY9eQogIyBDT05GSUdfSU5QVVRfTU9VU0VERVZfUFNBVVggaXMgbm90IHNldAotQ09ORklHX0lOUFVUX01PVVNFREVWX1NDUkVFTl9YPTEwMjQKLUNPTkZJR19JTlBVVF9NT1VTRURFVl9TQ1JFRU5fWT03NjgKK0NPTkZJR19JTlBVVF9NT1VTRURFVl9TQ1JFRU5fWD0zMjAKK0NPTkZJR19JTlBVVF9NT1VTRURFVl9TQ1JFRU5fWT0yNDAKICMgQ09ORklHX0lOUFVUX0pPWURFViBpcyBub3Qgc2V0Ci0jIENPTkZJR19JTlBVVF9UU0RFViBpcyBub3Qgc2V0CiBDT05GSUdfSU5QVVRfRVZERVY9eQogIyBDT05GSUdfSU5QVVRfRVZCVUcgaXMgbm90IHNldAogCkBAIC02MTIsMjkgKzYwMiwxOCBAQAogIyBDT05GSUdfS0VZQk9BUkRfWFRLQkQgaXMgbm90IHNldAogIyBDT05GSUdfS0VZQk9BUkRfTkVXVE9OIGlzIG5vdCBzZXQKICMgQ09ORklHX0tFWUJPQVJEX1NUT1dBV0FZIGlzIG5vdCBzZXQKLUNPTkZJR19LRVlCT0FSRF9QWEEyN3g9bQotIyBDT05GSUdfS0VZQk9BUkRfR1BJTyBpcyBub3Qgc2V0CitDT05GSUdfS0VZQk9BUkRfR1BJTz15CiAjIENPTkZJR19JTlBVVF9NT1VTRSBpcyBub3Qgc2V0CiAjIENPTkZJR19JTlBVVF9KT1lTVElDSyBpcyBub3Qgc2V0CiAjIENPTkZJR19JTlBVVF9UQUJMRVQgaXMgbm90IHNldAotQ09ORklHX0lOUFVUX1RPVUNIU0NSRUVOPXkKLSMgQ09ORklHX1RPVUNIU0NSRUVOX0dVTlpFIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RPVUNIU0NSRUVOX0VMTyBpcyBub3Qgc2V0Ci0jIENPTkZJR19UT1VDSFNDUkVFTl9NVE9VQ0ggaXMgbm90IHNldAotIyBDT05GSUdfVE9VQ0hTQ1JFRU5fTUs3MTIgaXMgbm90IHNldAotIyBDT05GSUdfVE9VQ0hTQ1JFRU5fUEVOTU9VTlQgaXMgbm90IHNldAotIyBDT05GSUdfVE9VQ0hTQ1JFRU5fVE9VQ0hSSUdIVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19UT1VDSFNDUkVFTl9UT1VDSFdJTiBpcyBub3Qgc2V0Ci0jIENPTkZJR19UT1VDSFNDUkVFTl9VQ0IxNDAwIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RPVUNIU0NSRUVOX1VTQl9DT01QT1NJVEUgaXMgbm90IHNldAorIyBDT05GSUdfSU5QVVRfVE9VQ0hTQ1JFRU4gaXMgbm90IHNldAogIyBDT05GSUdfSU5QVVRfTUlTQyBpcyBub3Qgc2V0CiAKICMKICMgSGFyZHdhcmUgSS9PIHBvcnRzCiAjCiBDT05GSUdfU0VSSU89eQotIyBDT05GSUdfU0VSSU9fU0VSUE9SVCBpcyBub3Qgc2V0Ci1DT05GSUdfU0VSSU9fTElCUFMyPXkKK0NPTkZJR19TRVJJT19TRVJQT1JUPXkKICMgQ09ORklHX1NFUklPX1JBVyBpcyBub3Qgc2V0CiAjIENPTkZJR19HQU1FUE9SVCBpcyBub3Qgc2V0CiAKQEAgLTY1NSw0NSArNjM0LDUwIEBACiAjCiAjIE5vbi04MjUwIHNlcmlhbCBwb3J0IHN1cHBvcnQKICMKLUNPTkZJR19TRVJJQUxfUFhBPXkKLUNPTkZJR19TRVJJQUxfUFhBX0NPTlNPTEU9eQorQ09ORklHX1NFUklBTF9BVE1FTD15CitDT05GSUdfU0VSSUFMX0FUTUVMX0NPTlNPTEU9eQorIyBDT05GSUdfU0VSSUFMX0FUTUVMX1RUWUFUIGlzIG5vdCBzZXQKIENPTkZJR19TRVJJQUxfQ09SRT15CiBDT05GSUdfU0VSSUFMX0NPUkVfQ09OU09MRT15CiBDT05GSUdfVU5JWDk4X1BUWVM9eQogQ09ORklHX0xFR0FDWV9QVFlTPXkKLUNPTkZJR19MRUdBQ1lfUFRZX0NPVU5UPTI1NgotCi0jCi0jIElQTUkKLSMKK0NPTkZJR19MRUdBQ1lfUFRZX0NPVU5UPTE2CiAjIENPTkZJR19JUE1JX0hBTkRMRVIgaXMgbm90IHNldAotIyBDT05GSUdfV0FUQ0hET0cgaXMgbm90IHNldAotQ09ORklHX0hXX1JBTkRPTT1tCitDT05GSUdfSFdfUkFORE9NPXkKICMgQ09ORklHX05WUkFNIGlzIG5vdCBzZXQKICMgQ09ORklHX1IzOTY0IGlzIG5vdCBzZXQKICMgQ09ORklHX1JBV19EUklWRVIgaXMgbm90IHNldAotCi0jCi0jIFRQTSBkZXZpY2VzCi0jCiAjIENPTkZJR19UQ0dfVFBNIGlzIG5vdCBzZXQKICMgQ09ORklHX0kyQyBpcyBub3Qgc2V0CiAKICMKICMgU1BJIHN1cHBvcnQKICMKLSMgQ09ORklHX1NQSSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TUElfTUFTVEVSIGlzIG5vdCBzZXQKK0NPTkZJR19TUEk9eQorQ09ORklHX1NQSV9NQVNURVI9eQogCiAjCi0jIERhbGxhcydzIDEtd2lyZSBidXMKKyMgU1BJIE1hc3RlciBDb250cm9sbGVyIERyaXZlcnMKICMKK0NPTkZJR19TUElfQVRNRUw9eQorIyBDT05GSUdfU1BJX0JJVEJBTkcgaXMgbm90IHNldAorCisjCisjIFNQSSBQcm90b2NvbCBNYXN0ZXJzCisjCisjIENPTkZJR19TUElfQVQyNSBpcyBub3Qgc2V0CitDT05GSUdfU1BJX1NQSURFVj15CisjIENPTkZJR19TUElfVExFNjJYMCBpcyBub3Qgc2V0CiAjIENPTkZJR19XMSBpcyBub3Qgc2V0CisjIENPTkZJR19QT1dFUl9TVVBQTFkgaXMgbm90IHNldAogIyBDT05GSUdfSFdNT04gaXMgbm90IHNldAorIyBDT05GSUdfV0FUQ0hET0cgaXMgbm90IHNldAogCiAjCi0jIE1pc2MgZGV2aWNlcworIyBTb25pY3MgU2lsaWNvbiBCYWNrcGxhbmUKICMKK0NPTkZJR19TU0JfUE9TU0lCTEU9eQorIyBDT05GSUdfU1NCIGlzIG5vdCBzZXQKIAogIwogIyBNdWx0aWZ1bmN0aW9uIGRldmljZSBkcml2ZXJzCkBAIC03MDEsMTkgKzY4NSw2IEBACiAjIENPTkZJR19NRkRfU001MDEgaXMgbm90IHNldAogCiAjCi0jIExFRCBkZXZpY2VzCi0jCi0jIENPTkZJR19ORVdfTEVEUyBpcyBub3Qgc2V0Ci0KLSMKLSMgTEVEIGRyaXZlcnMKLSMKLQotIwotIyBMRUQgVHJpZ2dlcnMKLSMKLQotIwogIyBNdWx0aW1lZGlhIGRldmljZXMKICMKICMgQ09ORklHX1ZJREVPX0RFViBpcyBub3Qgc2V0CkBAIC03MjMsODEgKzY5NCw1MSBAQAogIwogIyBHcmFwaGljcyBzdXBwb3J0CiAjCisjIENPTkZJR19WR0FTVEFURSBpcyBub3Qgc2V0CisjIENPTkZJR19WSURFT19PVVRQVVRfQ09OVFJPTCBpcyBub3Qgc2V0CisjIENPTkZJR19GQiBpcyBub3Qgc2V0CiAjIENPTkZJR19CQUNLTElHSFRfTENEX1NVUFBPUlQgaXMgbm90IHNldAogCiAjCiAjIERpc3BsYXkgZGV2aWNlIHN1cHBvcnQKICMKICMgQ09ORklHX0RJU1BMQVlfU1VQUE9SVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19WR0FTVEFURSBpcyBub3Qgc2V0Ci1DT05GSUdfRkI9eQotIyBDT05GSUdfRklSTVdBUkVfRURJRCBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9EREMgaXMgbm90IHNldAotQ09ORklHX0ZCX0NGQl9GSUxMUkVDVD15Ci1DT05GSUdfRkJfQ0ZCX0NPUFlBUkVBPXkKLUNPTkZJR19GQl9DRkJfSU1BR0VCTElUPXkKLSMgQ09ORklHX0ZCX1NZU19GSUxMUkVDVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9TWVNfQ09QWUFSRUEgaXMgbm90IHNldAotIyBDT05GSUdfRkJfU1lTX0lNQUdFQkxJVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9TWVNfRk9QUyBpcyBub3Qgc2V0Ci1DT05GSUdfRkJfREVGRVJSRURfSU89eQotIyBDT05GSUdfRkJfU1ZHQUxJQiBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9NQUNNT0RFUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9CQUNLTElHSFQgaXMgbm90IHNldAotIyBDT05GSUdfRkJfTU9ERV9IRUxQRVJTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX1RJTEVCTElUVElORyBpcyBub3Qgc2V0Ci0KLSMKLSMgRnJhbWUgYnVmZmVyIGhhcmR3YXJlIGRyaXZlcnMKLSMKLSMgQ09ORklHX0ZCX1MxRDEzWFhYIGlzIG5vdCBzZXQKLUNPTkZJR19GQl9QWEE9eQotIyBDT05GSUdfRkJfUFhBX1BBUkFNRVRFUlMgaXMgbm90IHNldAotIyBDT05GSUdfRkJfTUJYIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX1ZJUlRVQUwgaXMgbm90IHNldAogCiAjCiAjIENvbnNvbGUgZGlzcGxheSBkcml2ZXIgc3VwcG9ydAogIwogIyBDT05GSUdfVkdBX0NPTlNPTEUgaXMgbm90IHNldAogQ09ORklHX0RVTU1ZX0NPTlNPTEU9eQotQ09ORklHX0ZSQU1FQlVGRkVSX0NPTlNPTEU9eQotIyBDT05GSUdfRlJBTUVCVUZGRVJfQ09OU09MRV9ST1RBVElPTiBpcyBub3Qgc2V0Ci0jIENPTkZJR19GT05UUyBpcyBub3Qgc2V0Ci1DT05GSUdfRk9OVF84eDg9eQotQ09ORklHX0ZPTlRfOHgxNj15Ci1DT05GSUdfTE9HTz15Ci1DT05GSUdfTE9HT19MSU5VWF9NT05PPXkKLUNPTkZJR19MT0dPX0xJTlVYX1ZHQTE2PXkKLUNPTkZJR19MT0dPX0xJTlVYX0NMVVQyMjQ9eQogCiAjCiAjIFNvdW5kCiAjCi1DT05GSUdfU09VTkQ9bQorQ09ORklHX1NPVU5EPXkKIAogIwogIyBBZHZhbmNlZCBMaW51eCBTb3VuZCBBcmNoaXRlY3R1cmUKICMKLUNPTkZJR19TTkQ9bQotQ09ORklHX1NORF9USU1FUj1tCi1DT05GSUdfU05EX1BDTT1tCi0jIENPTkZJR19TTkRfU0VRVUVOQ0VSIGlzIG5vdCBzZXQKK0NPTkZJR19TTkQ9eQorQ09ORklHX1NORF9USU1FUj15CitDT05GSUdfU05EX1BDTT15CitDT05GSUdfU05EX1NFUVVFTkNFUj15CisjIENPTkZJR19TTkRfU0VRX0RVTU1ZIGlzIG5vdCBzZXQKIENPTkZJR19TTkRfT1NTRU1VTD15Ci1DT05GSUdfU05EX01JWEVSX09TUz1tCi1DT05GSUdfU05EX1BDTV9PU1M9bQorQ09ORklHX1NORF9NSVhFUl9PU1M9eQorQ09ORklHX1NORF9QQ01fT1NTPXkKIENPTkZJR19TTkRfUENNX09TU19QTFVHSU5TPXkKK0NPTkZJR19TTkRfU0VRVUVOQ0VSX09TUz15CiAjIENPTkZJR19TTkRfRFlOQU1JQ19NSU5PUlMgaXMgbm90IHNldAogQ09ORklHX1NORF9TVVBQT1JUX09MRF9BUEk9eQotQ09ORklHX1NORF9WRVJCT1NFX1BST0NGUz15CisjIENPTkZJR19TTkRfVkVSQk9TRV9QUk9DRlMgaXMgbm90IHNldAogIyBDT05GSUdfU05EX1ZFUkJPU0VfUFJJTlRLIGlzIG5vdCBzZXQKICMgQ09ORklHX1NORF9ERUJVRyBpcyBub3Qgc2V0CiAKICMKICMgR2VuZXJpYyBkZXZpY2VzCiAjCi1DT05GSUdfU05EX0FDOTdfQ09ERUM9bQogIyBDT05GSUdfU05EX0RVTU1ZIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9WSVJNSURJIGlzIG5vdCBzZXQKICMgQ09ORklHX1NORF9NVFBBViBpcyBub3Qgc2V0CiAjIENPTkZJR19TTkRfU0VSSUFMX1UxNjU1MCBpcyBub3Qgc2V0CiAjIENPTkZJR19TTkRfTVBVNDAxIGlzIG5vdCBzZXQKQEAgLTgwNSw4ICs3NDYsMTMgQEAKICMKICMgQUxTQSBBUk0gZGV2aWNlcwogIwotQ09ORklHX1NORF9QWEEyWFhfUENNPW0KLUNPTkZJR19TTkRfUFhBMlhYX0FDOTc9bQorIyBDT05GSUdfU05EX0FUOTFfQUM5NyBpcyBub3Qgc2V0CisKKyMKKyMgU1BJIGRldmljZXMKKyMKK0NPTkZJR19TTkRfQVQ3M0MyMTM9eQorQ09ORklHX1NORF9BVDczQzIxM19UQVJHRVRfQklUUkFURT00ODAwMAogCiAjCiAjIFVTQiBkZXZpY2VzCkBAIC04MjAsMTYgKzc2NiwxNyBAQAogIyBDT05GSUdfU05EX1NPQyBpcyBub3Qgc2V0CiAKICMKKyMgU29DIEF1ZGlvIHN1cHBvcnQgZm9yIFN1cGVySAorIworCisjCiAjIE9wZW4gU291bmQgU3lzdGVtCiAjCiAjIENPTkZJR19TT1VORF9QUklNRSBpcyBub3Qgc2V0Ci1DT05GSUdfQUM5N19CVVM9bQotCi0jCi0jIEhJRCBEZXZpY2VzCi0jCitDT05GSUdfSElEX1NVUFBPUlQ9eQogQ09ORklHX0hJRD15CiAjIENPTkZJR19ISURfREVCVUcgaXMgbm90IHNldAorIyBDT05GSUdfSElEUkFXIGlzIG5vdCBzZXQKIAogIwogIyBVU0IgSW5wdXQgRGV2aWNlcwpAQCAtODM4LDEwICs3ODUsNyBAQAogIyBDT05GSUdfVVNCX0hJRElOUFVUX1BPV0VSQk9PSyBpcyBub3Qgc2V0CiAjIENPTkZJR19ISURfRkYgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX0hJRERFViBpcyBub3Qgc2V0Ci0KLSMKLSMgVVNCIHN1cHBvcnQKLSMKK0NPTkZJR19VU0JfU1VQUE9SVD15CiBDT05GSUdfVVNCX0FSQ0hfSEFTX0hDRD15CiBDT05GSUdfVVNCX0FSQ0hfSEFTX09IQ0k9eQogIyBDT05GSUdfVVNCX0FSQ0hfSEFTX0VIQ0kgaXMgbm90IHNldApAQCAtODU1LDYgKzc5OSw3IEBACiAjIENPTkZJR19VU0JfREVWSUNFX0NMQVNTIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9EWU5BTUlDX01JTk9SUyBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfU1VTUEVORCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfUEVSU0lTVCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfT1RHIGlzIG5vdCBzZXQKIAogIwpAQCAtODY2LDYgKzgxMSw3IEBACiAjIENPTkZJR19VU0JfT0hDSV9CSUdfRU5ESUFOX01NSU8gaXMgbm90IHNldAogQ09ORklHX1VTQl9PSENJX0xJVFRMRV9FTkRJQU49eQogIyBDT05GSUdfVVNCX1NMODExX0hDRCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfUjhBNjY1OTdfSENEIGlzIG5vdCBzZXQKIAogIwogIyBVU0IgRGV2aWNlIENsYXNzIGRyaXZlcnMKQEAgLTg4NCw2ICs4MzAsNyBAQAogIyBDT05GSUdfVVNCX1NUT1JBR0VfREVCVUcgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1NUT1JBR0VfREFUQUZBQiBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfU1RPUkFHRV9GUkVFQ09NIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TVE9SQUdFX0lTRDIwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfU1RPUkFHRV9EUENNIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9TVE9SQUdFX1VTQkFUIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9TVE9SQUdFX1NERFIwOSBpcyBub3Qgc2V0CkBAIC04OTgsNyArODQ1LDcgQEAKICMKICMgQ09ORklHX1VTQl9NREM4MDAgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX01JQ1JPVEVLIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9NT04gaXMgbm90IHNldAorQ09ORklHX1VTQl9NT049eQogCiAjCiAjIFVTQiBwb3J0IGRyaXZlcnMKQEAgLTkzOSwyNiArODg2LDY2IEBACiAjCiAjIFVTQiBHYWRnZXQgU3VwcG9ydAogIwotIyBDT05GSUdfVVNCX0dBREdFVCBpcyBub3Qgc2V0Ci1DT05GSUdfTU1DPW0KK0NPTkZJR19VU0JfR0FER0VUPXkKKyMgQ09ORklHX1VTQl9HQURHRVRfREVCVUdfRklMRVMgaXMgbm90IHNldAorQ09ORklHX1VTQl9HQURHRVRfU0VMRUNURUQ9eQorIyBDT05GSUdfVVNCX0dBREdFVF9BTUQ1NTM2VURDIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9HQURHRVRfQVRNRUxfVVNCQSBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfR0FER0VUX0ZTTF9VU0IyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9HQURHRVRfTkVUMjI4MCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfR0FER0VUX1BYQTJYWCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfR0FER0VUX002NjU5MiBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfR0FER0VUX0dPS1UgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0dBREdFVF9MSDdBNDBYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9HQURHRVRfT01BUCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfR0FER0VUX1MzQzI0MTAgaXMgbm90IHNldAorQ09ORklHX1VTQl9HQURHRVRfQVQ5MT15CitDT05GSUdfVVNCX0FUOTE9eQorIyBDT05GSUdfVVNCX0dBREdFVF9EVU1NWV9IQ0QgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0dBREdFVF9EVUFMU1BFRUQgaXMgbm90IHNldAorQ09ORklHX1VTQl9aRVJPPW0KKyMgQ09ORklHX1VTQl9FVEggaXMgbm90IHNldAorQ09ORklHX1VTQl9HQURHRVRGUz1tCitDT05GSUdfVVNCX0ZJTEVfU1RPUkFHRT1tCisjIENPTkZJR19VU0JfRklMRV9TVE9SQUdFX1RFU1QgaXMgbm90IHNldAorQ09ORklHX1VTQl9HX1NFUklBTD1tCisjIENPTkZJR19VU0JfTUlESV9HQURHRVQgaXMgbm90IHNldAorQ09ORklHX01NQz15CiAjIENPTkZJR19NTUNfREVCVUcgaXMgbm90IHNldAogIyBDT05GSUdfTU1DX1VOU0FGRV9SRVNVTUUgaXMgbm90IHNldAogCiAjCiAjIE1NQy9TRCBDYXJkIERyaXZlcnMKICMKLUNPTkZJR19NTUNfQkxPQ0s9bQorQ09ORklHX01NQ19CTE9DSz15CitDT05GSUdfTU1DX0JMT0NLX0JPVU5DRT15CisjIENPTkZJR19TRElPX1VBUlQgaXMgbm90IHNldAogCiAjCiAjIE1NQy9TRCBIb3N0IENvbnRyb2xsZXIgRHJpdmVycwogIwotQ09ORklHX01NQ19QWEE9bQorQ09ORklHX01NQ19BVDkxPXkKKyMgQ09ORklHX01NQ19TUEkgaXMgbm90IHNldAorQ09ORklHX05FV19MRURTPXkKK0NPTkZJR19MRURTX0NMQVNTPXkKIAogIwotIyBSZWFsIFRpbWUgQ2xvY2sKKyMgTEVEIGRyaXZlcnMKICMKK0NPTkZJR19MRURTX0FUTUVMX1BXTT15CitDT05GSUdfTEVEU19HUElPPXkKKworIworIyBMRUQgVHJpZ2dlcnMKKyMKK0NPTkZJR19MRURTX1RSSUdHRVJTPXkKK0NPTkZJR19MRURTX1RSSUdHRVJfVElNRVI9eQorQ09ORklHX0xFRFNfVFJJR0dFUl9IRUFSVEJFQVQ9eQogQ09ORklHX1JUQ19MSUI9eQotQ09ORklHX1JUQ19DTEFTUz1tCitDT05GSUdfUlRDX0NMQVNTPXkKK0NPTkZJR19SVENfSENUT1NZUz15CitDT05GSUdfUlRDX0hDVE9TWVNfREVWSUNFPSJydGMwIgorIyBDT05GSUdfUlRDX0RFQlVHIGlzIG5vdCBzZXQKIAogIwogIyBSVEMgaW50ZXJmYWNlcwpAQCAtOTcwLDI2ICs5NTcsMjggQEAKICMgQ09ORklHX1JUQ19EUlZfVEVTVCBpcyBub3Qgc2V0CiAKICMKLSMgSTJDIFJUQyBkcml2ZXJzCi0jCi0KLSMKICMgU1BJIFJUQyBkcml2ZXJzCiAjCisjIENPTkZJR19SVENfRFJWX1JTNUMzNDggaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9NQVg2OTAyIGlzIG5vdCBzZXQKIAogIwogIyBQbGF0Zm9ybSBSVEMgZHJpdmVycwogIwogIyBDT05GSUdfUlRDX0RSVl9DTU9TIGlzIG5vdCBzZXQKICMgQ09ORklHX1JUQ19EUlZfRFMxNTUzIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfU1RLMTdUQTggaXMgbm90IHNldAogIyBDT05GSUdfUlRDX0RSVl9EUzE3NDIgaXMgbm90IHNldAogIyBDT05GSUdfUlRDX0RSVl9NNDhUODYgaXMgbm90IHNldAotQ09ORklHX1JUQ19EUlZfVjMwMjA9bQorIyBDT05GSUdfUlRDX0RSVl9NNDhUNTkgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9WMzAyMCBpcyBub3Qgc2V0CiAKICMKICMgb24tQ1BVIFJUQyBkcml2ZXJzCiAjCi1DT05GSUdfUlRDX0RSVl9TQTExMDA9bQorQ09ORklHX1JUQ19EUlZfQVQ5MVNBTTk9eQorQ09ORklHX1JUQ19EUlZfQVQ5MVNBTTlfUlRUPTAKK0NPTkZJR19SVENfRFJWX0FUOTFTQU05X0dQQlI9MAogCiAjCiAjIEZpbGUgc3lzdGVtcwpAQCAtOTk3LDE0ICs5ODYsOCBAQAogQ09ORklHX0VYVDJfRlM9eQogIyBDT05GSUdfRVhUMl9GU19YQVRUUiBpcyBub3Qgc2V0CiAjIENPTkZJR19FWFQyX0ZTX1hJUCBpcyBub3Qgc2V0Ci1DT05GSUdfRVhUM19GUz15Ci1DT05GSUdfRVhUM19GU19YQVRUUj15Ci0jIENPTkZJR19FWFQzX0ZTX1BPU0lYX0FDTCBpcyBub3Qgc2V0Ci0jIENPTkZJR19FWFQzX0ZTX1NFQ1VSSVRZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0VYVDNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfRVhUNERFVl9GUyBpcyBub3Qgc2V0Ci1DT05GSUdfSkJEPXkKLSMgQ09ORklHX0pCRF9ERUJVRyBpcyBub3Qgc2V0Ci1DT05GSUdfRlNfTUJDQUNIRT15CiAjIENPTkZJR19SRUlTRVJGU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19KRlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfRlNfUE9TSVhfQUNMIGlzIG5vdCBzZXQKQEAgLTEwNDYsNyArMTAyOSw2IEBACiBDT05GSUdfVE1QRlM9eQogIyBDT05GSUdfVE1QRlNfUE9TSVhfQUNMIGlzIG5vdCBzZXQKICMgQ09ORklHX0hVR0VUTEJfUEFHRSBpcyBub3Qgc2V0Ci1DT05GSUdfUkFNRlM9eQogIyBDT05GSUdfQ09ORklHRlNfRlMgaXMgbm90IHNldAogCiAjCkBAIC0xMDYyLDIyICsxMDQ0LDIxIEBACiBDT05GSUdfSkZGUzJfRlM9eQogQ09ORklHX0pGRlMyX0ZTX0RFQlVHPTAKIENPTkZJR19KRkZTMl9GU19XUklURUJVRkZFUj15CisjIENPTkZJR19KRkZTMl9GU19XQlVGX1ZFUklGWSBpcyBub3Qgc2V0CiBDT05GSUdfSkZGUzJfU1VNTUFSWT15CiAjIENPTkZJR19KRkZTMl9GU19YQVRUUiBpcyBub3Qgc2V0CiAjIENPTkZJR19KRkZTMl9DT01QUkVTU0lPTl9PUFRJT05TIGlzIG5vdCBzZXQKIENPTkZJR19KRkZTMl9aTElCPXkKKyMgQ09ORklHX0pGRlMyX0xaTyBpcyBub3Qgc2V0CiBDT05GSUdfSkZGUzJfUlRJTUU9eQogIyBDT05GSUdfSkZGUzJfUlVCSU4gaXMgbm90IHNldAotIyBDT05GSUdfQ1JBTUZTIGlzIG5vdCBzZXQKK0NPTkZJR19DUkFNRlM9eQogIyBDT05GSUdfVlhGU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19IUEZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX1FOWDRGU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TWVNWX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX1VGU19GUyBpcyBub3Qgc2V0Ci0KLSMKLSMgTmV0d29yayBGaWxlIFN5c3RlbXMKLSMKK0NPTkZJR19ORVRXT1JLX0ZJTEVTWVNURU1TPXkKIENPTkZJR19ORlNfRlM9eQogQ09ORklHX05GU19WMz15CiAjIENPTkZJR19ORlNfVjNfQUNMIGlzIG5vdCBzZXQKQEAgLTEwOTIsMjkgKzEwNzMsMjMgQEAKICMgQ09ORklHX1NVTlJQQ19CSU5EMzQgaXMgbm90IHNldAogIyBDT05GSUdfUlBDU0VDX0dTU19LUkI1IGlzIG5vdCBzZXQKICMgQ09ORklHX1JQQ1NFQ19HU1NfU1BLTTMgaXMgbm90IHNldAotQ09ORklHX1NNQl9GUz15Ci0jIENPTkZJR19TTUJfTkxTX0RFRkFVTFQgaXMgbm90IHNldAorIyBDT05GSUdfU01CX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0NJRlMgaXMgbm90IHNldAogIyBDT05GSUdfTkNQX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0NPREFfRlMgaXMgbm90IHNldAogIyBDT05GSUdfQUZTX0ZTIGlzIG5vdCBzZXQKLSMgQ09ORklHXzlQX0ZTIGlzIG5vdCBzZXQKIAogIwogIyBQYXJ0aXRpb24gVHlwZXMKICMKICMgQ09ORklHX1BBUlRJVElPTl9BRFZBTkNFRCBpcyBub3Qgc2V0CiBDT05GSUdfTVNET1NfUEFSVElUSU9OPXkKLQotIwotIyBOYXRpdmUgTGFuZ3VhZ2UgU3VwcG9ydAotIwogQ09ORklHX05MUz15CiBDT05GSUdfTkxTX0RFRkFVTFQ9Imlzbzg4NTktMSIKIENPTkZJR19OTFNfQ09ERVBBR0VfNDM3PXkKICMgQ09ORklHX05MU19DT0RFUEFHRV83MzcgaXMgbm90IHNldAogIyBDT05GSUdfTkxTX0NPREVQQUdFXzc3NSBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfQ09ERVBBR0VfODUwIGlzIG5vdCBzZXQKK0NPTkZJR19OTFNfQ09ERVBBR0VfODUwPXkKICMgQ09ORklHX05MU19DT0RFUEFHRV84NTIgaXMgbm90IHNldAogIyBDT05GSUdfTkxTX0NPREVQQUdFXzg1NSBpcyBub3Qgc2V0CiAjIENPTkZJR19OTFNfQ09ERVBBR0VfODU3IGlzIG5vdCBzZXQKQEAgLTExNDUsMTA4ICsxMTIwLDM2IEBACiAjIENPTkZJR19OTFNfSVNPODg1OV85IGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19JU084ODU5XzEzIGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19JU084ODU5XzE0IGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19JU084ODU5XzE1IGlzIG5vdCBzZXQKK0NPTkZJR19OTFNfSVNPODg1OV8xNT15CiAjIENPTkZJR19OTFNfS09JOF9SIGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19LT0k4X1UgaXMgbm90IHNldAogQ09ORklHX05MU19VVEY4PXkKLQotIwotIyBEaXN0cmlidXRlZCBMb2NrIE1hbmFnZXIKLSMKICMgQ09ORklHX0RMTSBpcyBub3Qgc2V0Ci0KLSMKLSMgUHJvZmlsaW5nIHN1cHBvcnQKLSMKLSMgQ09ORklHX1BST0ZJTElORyBpcyBub3Qgc2V0CisjIENPTkZJR19JTlNUUlVNRU5UQVRJT04gaXMgbm90IHNldAogCiAjCiAjIEtlcm5lbCBoYWNraW5nCiAjCiAjIENPTkZJR19QUklOVEtfVElNRSBpcyBub3Qgc2V0CisjIENPTkZJR19FTkFCTEVfV0FSTl9ERVBSRUNBVEVEIGlzIG5vdCBzZXQKIENPTkZJR19FTkFCTEVfTVVTVF9DSEVDSz15Ci1DT05GSUdfTUFHSUNfU1lTUlE9eQorIyBDT05GSUdfTUFHSUNfU1lTUlEgaXMgbm90IHNldAogIyBDT05GSUdfVU5VU0VEX1NZTUJPTFMgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfRlMgaXMgbm90IHNldAogIyBDT05GSUdfSEVBREVSU19DSEVDSyBpcyBub3Qgc2V0Ci1DT05GSUdfREVCVUdfS0VSTkVMPXkKLSMgQ09ORklHX0RFQlVHX1NISVJRIGlzIG5vdCBzZXQKLSMgQ09ORklHX0RFVEVDVF9TT0ZUTE9DS1VQIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDSEVEU1RBVFMgaXMgbm90IHNldAotIyBDT05GSUdfVElNRVJfU1RBVFMgaXMgbm90IHNldAotIyBDT05GSUdfREVCVUdfU0xBQiBpcyBub3Qgc2V0Ci0jIENPTkZJR19ERUJVR19SVF9NVVRFWEVTIGlzIG5vdCBzZXQKLSMgQ09ORklHX1JUX01VVEVYX1RFU1RFUiBpcyBub3Qgc2V0Ci0jIENPTkZJR19ERUJVR19TUElOTE9DSyBpcyBub3Qgc2V0Ci0jIENPTkZJR19ERUJVR19NVVRFWEVTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0RFQlVHX0xPQ0tfQUxMT0MgaXMgbm90IHNldAotIyBDT05GSUdfUFJPVkVfTE9DS0lORyBpcyBub3Qgc2V0Ci0jIENPTkZJR19ERUJVR19TUElOTE9DS19TTEVFUCBpcyBub3Qgc2V0Ci0jIENPTkZJR19ERUJVR19MT0NLSU5HX0FQSV9TRUxGVEVTVFMgaXMgbm90IHNldAotIyBDT05GSUdfREVCVUdfS09CSkVDVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19ERUJVR19CVUdWRVJCT1NFIGlzIG5vdCBzZXQKLUNPTkZJR19ERUJVR19JTkZPPXkKLSMgQ09ORklHX0RFQlVHX1ZNIGlzIG5vdCBzZXQKLSMgQ09ORklHX0RFQlVHX0xJU1QgaXMgbm90IHNldAorIyBDT05GSUdfREVCVUdfS0VSTkVMIGlzIG5vdCBzZXQKK0NPTkZJR19ERUJVR19CVUdWRVJCT1NFPXkKIENPTkZJR19GUkFNRV9QT0lOVEVSPXkKLUNPTkZJR19GT1JDRURfSU5MSU5JTkc9eQotIyBDT05GSUdfUkNVX1RPUlRVUkVfVEVTVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQVVMVF9JTkpFQ1RJT04gaXMgbm90IHNldAotQ09ORklHX0RFQlVHX1VTRVI9eQotQ09ORklHX0RFQlVHX0VSUk9SUz15Ci1DT05GSUdfREVCVUdfTEw9eQotIyBDT05GSUdfREVCVUdfSUNFRENDIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NBTVBMRVMgaXMgbm90IHNldAorIyBDT05GSUdfREVCVUdfVVNFUiBpcyBub3Qgc2V0CiAKICMKICMgU2VjdXJpdHkgb3B0aW9ucwogIwogIyBDT05GSUdfS0VZUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TRUNVUklUWSBpcyBub3Qgc2V0Ci0KLSMKLSMgQ3J5cHRvZ3JhcGhpYyBvcHRpb25zCi0jCi1DT05GSUdfQ1JZUFRPPXkKLUNPTkZJR19DUllQVE9fQUxHQVBJPW0KLUNPTkZJR19DUllQVE9fQkxLQ0lQSEVSPW0KLUNPTkZJR19DUllQVE9fTUFOQUdFUj1tCi0jIENPTkZJR19DUllQVE9fSE1BQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fWENCQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fTlVMTCBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fTUQ0IGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19NRDUgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX1NIQTEgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX1NIQTI1NiBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fU0hBNTEyIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19XUDUxMiBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fVEdSMTkyIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19HRjEyOE1VTCBpcyBub3Qgc2V0Ci1DT05GSUdfQ1JZUFRPX0VDQj1tCi1DT05GSUdfQ1JZUFRPX0NCQz1tCi1DT05GSUdfQ1JZUFRPX1BDQkM9bQotIyBDT05GSUdfQ1JZUFRPX0xSVyBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fQ1JZUFREIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19ERVMgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX0ZDUllQVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fQkxPV0ZJU0ggaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX1RXT0ZJU0ggaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX1NFUlBFTlQgaXMgbm90IHNldAotQ09ORklHX0NSWVBUT19BRVM9bQotIyBDT05GSUdfQ1JZUFRPX0NBU1Q1IGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19DQVNUNiBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fVEVBIGlzIG5vdCBzZXQKLUNPTkZJR19DUllQVE9fQVJDND1tCi0jIENPTkZJR19DUllQVE9fS0hBWkFEIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19BTlVCSVMgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX0RFRkxBVEUgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX01JQ0hBRUxfTUlDIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19DUkMzMkMgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX0NBTUVMTElBIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19URVNUIGlzIG5vdCBzZXQKLQotIwotIyBIYXJkd2FyZSBjcnlwdG8gZGV2aWNlcwotIworIyBDT05GSUdfU0VDVVJJVFlfRklMRV9DQVBBQklMSVRJRVMgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPIGlzIG5vdCBzZXQKIAogIwogIyBMaWJyYXJ5IHJvdXRpbmVzCkBAIC0xMjU2LDEwICsxMTU5LDEwIEBACiAjIENPTkZJR19DUkMxNiBpcyBub3Qgc2V0CiAjIENPTkZJR19DUkNfSVRVX1QgaXMgbm90IHNldAogQ09ORklHX0NSQzMyPXkKKyMgQ09ORklHX0NSQzcgaXMgbm90IHNldAogIyBDT05GSUdfTElCQ1JDMzJDIGlzIG5vdCBzZXQKIENPTkZJR19aTElCX0lORkxBVEU9eQogQ09ORklHX1pMSUJfREVGTEFURT15CiBDT05GSUdfUExJU1Q9eQogQ09ORklHX0hBU19JT01FTT15CiBDT05GSUdfSEFTX0lPUE9SVD15Ci1DT05GSUdfSEFTX0RNQT15CmRpZmYgLS1naXQgYS9hcmNoL2FybS9jb25maWdzL2F0OTFzYW05cmxla19kZWZjb25maWcgYi9hcmNoL2FybS9jb25maWdzL2F0OTFzYW05cmxla19kZWZjb25maWcKaW5kZXggOThlNjc0Ni4uZDhlYzVmOSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vY29uZmlncy9hdDkxc2FtOXJsZWtfZGVmY29uZmlnCisrKyBiL2FyY2gvYXJtL2NvbmZpZ3MvYXQ5MXNhbTlybGVrX2RlZmNvbmZpZwpAQCAtMjExLDcgKzIxMSw2IEBACiAjCiAjIENPTkZJR19USUNLX09ORVNIT1QgaXMgbm90IHNldAogIyBDT05GSUdfUFJFRU1QVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19OT19JRExFX0haIGlzIG5vdCBzZXQKIENPTkZJR19IWj0xMDAKICMgQ09ORklHX0FFQUJJIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfRElTQ09OVElHTUVNX0VOQUJMRSBpcyBub3Qgc2V0CmRpZmYgLS1naXQgYS9hcmNoL2FybS9jb25maWdzL2F0ZWI5MjAwX2RlZmNvbmZpZyBiL2FyY2gvYXJtL2NvbmZpZ3MvYXRlYjkyMDBfZGVmY29uZmlnCmluZGV4IGQ4NDZhNDkuLjg1YzgwZjcgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2NvbmZpZ3MvYXRlYjkyMDBfZGVmY29uZmlnCisrKyBiL2FyY2gvYXJtL2NvbmZpZ3MvYXRlYjkyMDBfZGVmY29uZmlnCkBAIC0xNzEsNyArMTcxLDYgQEAKICMgS2VybmVsIEZlYXR1cmVzCiAjCiBDT05GSUdfUFJFRU1QVD15Ci1DT05GSUdfTk9fSURMRV9IWj15CiBDT05GSUdfSFo9MTAwCiAjIENPTkZJR19BRUFCSSBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0RJU0NPTlRJR01FTV9FTkFCTEUgaXMgbm90IHNldApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vY29uZmlncy9jb2xsaWVfZGVmY29uZmlnIGIvYXJjaC9hcm0vY29uZmlncy9jb2xsaWVfZGVmY29uZmlnCmluZGV4IDQyNjRlMjcuLmY3NjIyZTYgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2NvbmZpZ3MvY29sbGllX2RlZmNvbmZpZworKysgYi9hcmNoL2FybS9jb25maWdzL2NvbGxpZV9kZWZjb25maWcKQEAgLTE2Niw3ICsxNjYsNiBAQAogIyBLZXJuZWwgRmVhdHVyZXMKICMKICMgQ09ORklHX1BSRUVNUFQgaXMgbm90IHNldAotIyBDT05GSUdfTk9fSURMRV9IWiBpcyBub3Qgc2V0CiBDT05GSUdfSFo9MTAwCiAjIENPTkZJR19BRUFCSSBpcyBub3Qgc2V0CiBDT05GSUdfQVJDSF9ESVNDT05USUdNRU1fRU5BQkxFPXkKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2NvbmZpZ3MvY29yZ2lfZGVmY29uZmlnIGIvYXJjaC9hcm0vY29uZmlncy9jb3JnaV9kZWZjb25maWcKaW5kZXggZTg5ODBhOS4uOWI4NzQ4YSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vY29uZmlncy9jb3JnaV9kZWZjb25maWcKKysrIGIvYXJjaC9hcm0vY29uZmlncy9jb3JnaV9kZWZjb25maWcKQEAgLTE2NSw3ICsxNjUsNiBAQAogIyBLZXJuZWwgRmVhdHVyZXMKICMKIENPTkZJR19QUkVFTVBUPXkKLSMgQ09ORklHX05PX0lETEVfSFogaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9ESVNDT05USUdNRU1fRU5BQkxFIGlzIG5vdCBzZXQKIENPTkZJR19TRUxFQ1RfTUVNT1JZX01PREVMPXkKIENPTkZJR19GTEFUTUVNX01BTlVBTD15CmRpZmYgLS1naXQgYS9hcmNoL2FybS9jb25maWdzL2VjYmF0OTFfZGVmY29uZmlnIGIvYXJjaC9hcm0vY29uZmlncy9lY2JhdDkxX2RlZmNvbmZpZwppbmRleCA5MGVkMjE0Li5jZmViODE3IDEwMDY0NAotLS0gYS9hcmNoL2FybS9jb25maWdzL2VjYmF0OTFfZGVmY29uZmlnCisrKyBiL2FyY2gvYXJtL2NvbmZpZ3MvZWNiYXQ5MV9kZWZjb25maWcKQEAgLTIzMCw3ICsyMzAsNiBAQAogIwogIyBDT05GSUdfVElDS19PTkVTSE9UIGlzIG5vdCBzZXQKIENPTkZJR19QUkVFTVBUPXkKLSMgQ09ORklHX05PX0lETEVfSFogaXMgbm90IHNldAogQ09ORklHX0haPTEwMAogIyBDT05GSUdfQUVBQkkgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9ESVNDT05USUdNRU1fRU5BQkxFIGlzIG5vdCBzZXQKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2NvbmZpZ3MvZXA5M3h4X2RlZmNvbmZpZyBiL2FyY2gvYXJtL2NvbmZpZ3MvZXA5M3h4X2RlZmNvbmZpZwppbmRleCAyNGE3MDFhLi4yMWFhMDEzIDEwMDY0NAotLS0gYS9hcmNoL2FybS9jb25maWdzL2VwOTN4eF9kZWZjb25maWcKKysrIGIvYXJjaC9hcm0vY29uZmlncy9lcDkzeHhfZGVmY29uZmlnCkBAIC0xODQsNyArMTg0LDYgQEAKICMgS2VybmVsIEZlYXR1cmVzCiAjCiAjIENPTkZJR19QUkVFTVBUIGlzIG5vdCBzZXQKLSMgQ09ORklHX05PX0lETEVfSFogaXMgbm90IHNldAogQ09ORklHX0haPTEwMAogIyBDT05GSUdfQUVBQkkgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9ESVNDT05USUdNRU1fRU5BQkxFIGlzIG5vdCBzZXQKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2NvbmZpZ3MvZXNlcmllc19weGFfZGVmY29uZmlnIGIvYXJjaC9hcm0vY29uZmlncy9lc2VyaWVzX3B4YV9kZWZjb25maWcKaW5kZXggZWQ0ODdiOS4uNDkzZWNlZSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vY29uZmlncy9lc2VyaWVzX3B4YV9kZWZjb25maWcKKysrIGIvYXJjaC9hcm0vY29uZmlncy9lc2VyaWVzX3B4YV9kZWZjb25maWcKQEAgLTI1MSw3ICsyNTEsNiBAQAogIyBLZXJuZWwgRmVhdHVyZXMKICMKICMgQ09ORklHX1BSRUVNUFQgaXMgbm90IHNldAotIyBDT05GSUdfTk9fSURMRV9IWiBpcyBub3Qgc2V0CiBDT05GSUdfSFo9MTAwCiBDT05GSUdfQUVBQkk9eQogQ09ORklHX09BQklfQ09NUEFUPXkKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2NvbmZpZ3MvaW14MjdhZHNfZGVmY29uZmlnIGIvYXJjaC9hcm0vY29uZmlncy9pbXgyN2Fkc19kZWZjb25maWcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmNkOTViOAotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL2NvbmZpZ3MvaW14MjdhZHNfZGVmY29uZmlnCkBAIC0wLDAgKzEsODI2IEBACisjCisjIEF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIG1ha2UgY29uZmlnOiBkb24ndCBlZGl0CisjIExpbnV4IGtlcm5lbCB2ZXJzaW9uOiAyLjYuMjYtcmM2CisjIEZyaSBKdW4gMjAgMTY6Mjk6MzQgMjAwOAorIworQ09ORklHX0FSTT15CitDT05GSUdfU1lTX1NVUFBPUlRTX0FQTV9FTVVMQVRJT049eQorQ09ORklHX0dFTkVSSUNfR1BJTz15CitDT05GSUdfR0VORVJJQ19USU1FPXkKK0NPTkZJR19HRU5FUklDX0NMT0NLRVZFTlRTPXkKK0NPTkZJR19NTVU9eQorIyBDT05GSUdfTk9fSU9QT1JUIGlzIG5vdCBzZXQKK0NPTkZJR19HRU5FUklDX0hBUkRJUlFTPXkKK0NPTkZJR19TVEFDS1RSQUNFX1NVUFBPUlQ9eQorQ09ORklHX0xPQ0tERVBfU1VQUE9SVD15CitDT05GSUdfVFJBQ0VfSVJRRkxBR1NfU1VQUE9SVD15CitDT05GSUdfSEFSRElSUVNfU1dfUkVTRU5EPXkKK0NPTkZJR19HRU5FUklDX0lSUV9QUk9CRT15CitDT05GSUdfUldTRU1fR0VORVJJQ19TUElOTE9DSz15CisjIENPTkZJR19BUkNIX0hBU19JTE9HMl9VMzIgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9IQVNfSUxPRzJfVTY0IGlzIG5vdCBzZXQKK0NPTkZJR19HRU5FUklDX0hXRUlHSFQ9eQorQ09ORklHX0dFTkVSSUNfQ0FMSUJSQVRFX0RFTEFZPXkKK0NPTkZJR19BUkNIX1NVUFBPUlRTX0FPVVQ9eQorQ09ORklHX1pPTkVfRE1BPXkKK0NPTkZJR19BUkNIX01URF9YSVA9eQorQ09ORklHX1ZFQ1RPUlNfQkFTRT0weGZmZmYwMDAwCitDT05GSUdfREVGQ09ORklHX0xJU1Q9Ii9saWIvbW9kdWxlcy8kVU5BTUVfUkVMRUFTRS8uY29uZmlnIgorCisjCisjIEdlbmVyYWwgc2V0dXAKKyMKK0NPTkZJR19FWFBFUklNRU5UQUw9eQorQ09ORklHX0JST0tFTl9PTl9TTVA9eQorQ09ORklHX0xPQ0tfS0VSTkVMPXkKK0NPTkZJR19JTklUX0VOVl9BUkdfTElNSVQ9MzIKK0NPTkZJR19MT0NBTFZFUlNJT049IiIKK0NPTkZJR19MT0NBTFZFUlNJT05fQVVUTz15CisjIENPTkZJR19TV0FQIGlzIG5vdCBzZXQKK0NPTkZJR19TWVNWSVBDPXkKK0NPTkZJR19TWVNWSVBDX1NZU0NUTD15CitDT05GSUdfUE9TSVhfTVFVRVVFPXkKKyMgQ09ORklHX0JTRF9QUk9DRVNTX0FDQ1QgaXMgbm90IHNldAorIyBDT05GSUdfVEFTS1NUQVRTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FVRElUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lLQ09ORklHIGlzIG5vdCBzZXQKK0NPTkZJR19MT0dfQlVGX1NISUZUPTE0CisjIENPTkZJR19DR1JPVVBTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0dST1VQX1NDSEVEIGlzIG5vdCBzZXQKK0NPTkZJR19TWVNGU19ERVBSRUNBVEVEPXkKK0NPTkZJR19TWVNGU19ERVBSRUNBVEVEX1YyPXkKKyMgQ09ORklHX1JFTEFZIGlzIG5vdCBzZXQKKyMgQ09ORklHX05BTUVTUEFDRVMgaXMgbm90IHNldAorIyBDT05GSUdfQkxLX0RFVl9JTklUUkQgaXMgbm90IHNldAorIyBDT05GSUdfQ0NfT1BUSU1JWkVfRk9SX1NJWkUgaXMgbm90IHNldAorQ09ORklHX1NZU0NUTD15CitDT05GSUdfRU1CRURERUQ9eQorQ09ORklHX1VJRDE2PXkKK0NPTkZJR19TWVNDVExfU1lTQ0FMTD15CitDT05GSUdfU1lTQ1RMX1NZU0NBTExfQ0hFQ0s9eQorQ09ORklHX0tBTExTWU1TPXkKK0NPTkZJR19LQUxMU1lNU19FWFRSQV9QQVNTPXkKK0NPTkZJR19IT1RQTFVHPXkKK0NPTkZJR19QUklOVEs9eQorQ09ORklHX0JVRz15CitDT05GSUdfRUxGX0NPUkU9eQorQ09ORklHX0NPTVBBVF9CUks9eQorQ09ORklHX0JBU0VfRlVMTD15CitDT05GSUdfRlVURVg9eQorQ09ORklHX0FOT05fSU5PREVTPXkKK0NPTkZJR19FUE9MTD15CitDT05GSUdfU0lHTkFMRkQ9eQorQ09ORklHX1RJTUVSRkQ9eQorQ09ORklHX0VWRU5URkQ9eQorQ09ORklHX1NITUVNPXkKK0NPTkZJR19WTV9FVkVOVF9DT1VOVEVSUz15CitDT05GSUdfU0xBQj15CisjIENPTkZJR19TTFVCIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NMT0IgaXMgbm90IHNldAorIyBDT05GSUdfUFJPRklMSU5HIGlzIG5vdCBzZXQKKyMgQ09ORklHX01BUktFUlMgaXMgbm90IHNldAorQ09ORklHX0hBVkVfT1BST0ZJTEU9eQorIyBDT05GSUdfS1BST0JFUyBpcyBub3Qgc2V0CitDT05GSUdfSEFWRV9LUFJPQkVTPXkKK0NPTkZJR19IQVZFX0tSRVRQUk9CRVM9eQorIyBDT05GSUdfSEFWRV9ETUFfQVRUUlMgaXMgbm90IHNldAorQ09ORklHX1BST0NfUEFHRV9NT05JVE9SPXkKK0NPTkZJR19TTEFCSU5GTz15CitDT05GSUdfUlRfTVVURVhFUz15CisjIENPTkZJR19USU5ZX1NITUVNIGlzIG5vdCBzZXQKK0NPTkZJR19CQVNFX1NNQUxMPTAKK0NPTkZJR19NT0RVTEVTPXkKKyMgQ09ORklHX01PRFVMRV9GT1JDRV9MT0FEIGlzIG5vdCBzZXQKK0NPTkZJR19NT0RVTEVfVU5MT0FEPXkKKyMgQ09ORklHX01PRFVMRV9GT1JDRV9VTkxPQUQgaXMgbm90IHNldAorIyBDT05GSUdfTU9EVkVSU0lPTlMgaXMgbm90IHNldAorIyBDT05GSUdfTU9EVUxFX1NSQ1ZFUlNJT05fQUxMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0tNT0QgaXMgbm90IHNldAorQ09ORklHX0JMT0NLPXkKKyMgQ09ORklHX0xCRCBpcyBub3Qgc2V0CisjIENPTkZJR19CTEtfREVWX0lPX1RSQUNFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0xTRiBpcyBub3Qgc2V0CisjIENPTkZJR19CTEtfREVWX0JTRyBpcyBub3Qgc2V0CisKKyMKKyMgSU8gU2NoZWR1bGVycworIworQ09ORklHX0lPU0NIRURfTk9PUD15CisjIENPTkZJR19JT1NDSEVEX0FTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lPU0NIRURfREVBRExJTkUgaXMgbm90IHNldAorIyBDT05GSUdfSU9TQ0hFRF9DRlEgaXMgbm90IHNldAorIyBDT05GSUdfREVGQVVMVF9BUyBpcyBub3Qgc2V0CisjIENPTkZJR19ERUZBVUxUX0RFQURMSU5FIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFRkFVTFRfQ0ZRIGlzIG5vdCBzZXQKK0NPTkZJR19ERUZBVUxUX05PT1A9eQorQ09ORklHX0RFRkFVTFRfSU9TQ0hFRD0ibm9vcCIKK0NPTkZJR19DTEFTU0lDX1JDVT15CisKKyMKKyMgU3lzdGVtIFR5cGUKKyMKKyMgQ09ORklHX0FSQ0hfQUFFQzIwMDAgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9JTlRFR1JBVE9SIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfUkVBTFZJRVcgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9WRVJTQVRJTEUgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9BVDkxIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfQ0xQUzc1MDAgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9DTFBTNzExWCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0NPMjg1IGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfRUJTQTExMCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0VQOTNYWCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0ZPT1RCUklER0UgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9ORVRYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfSDcyMFggaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9JTVggaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9JT1AxM1hYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfSU9QMzJYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfSU9QMzNYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfSVhQMjNYWCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0lYUDIwMDAgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9JWFA0WFggaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9MNzIwMCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0tTODY5NSBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX05TOVhYWCBpcyBub3Qgc2V0CitDT05GSUdfQVJDSF9NWEM9eQorIyBDT05GSUdfQVJDSF9PUklPTjVYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfUE5YNDAwOCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX1BYQSBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX1JQQyBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX1NBMTEwMCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX1MzQzI0MTAgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9TSEFSSyBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0xIN0E0MFggaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9EQVZJTkNJIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfT01BUCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX01TTTdYMDBBIGlzIG5vdCBzZXQKKworIworIyBCb290IG9wdGlvbnMKKyMKKworIworIyBQb3dlciBtYW5hZ2VtZW50CisjCisKKyMKKyMgRnJlZXNjYWxlIE1YQyBJbXBsZW1lbnRhdGlvbnMKKyMKK0NPTkZJR19BUkNIX01YMj15CisjIENPTkZJR19BUkNIX01YMyBpcyBub3Qgc2V0CisKKyMKKyMgTVgyIGZhbWlseSBDUFUgc3VwcG9ydAorIworQ09ORklHX01BQ0hfTVgyNz15CisKKyMKKyMgTVgyIFBsYXRmb3JtcworIworQ09ORklHX01BQ0hfTVgyN0FEUz15CisjIENPTkZJR19NQUNIX1BDTTAzOCBpcyBub3Qgc2V0CisKKyMKKyMgUHJvY2Vzc29yIFR5cGUKKyMKK0NPTkZJR19DUFVfMzI9eQorQ09ORklHX0NQVV9BUk05MjZUPXkKK0NPTkZJR19DUFVfMzJ2NT15CitDT05GSUdfQ1BVX0FCUlRfRVY1VEo9eQorQ09ORklHX0NQVV9QQUJSVF9OT0lGQVI9eQorQ09ORklHX0NQVV9DQUNIRV9WSVZUPXkKK0NPTkZJR19DUFVfQ09QWV9WNFdCPXkKK0NPTkZJR19DUFVfVExCX1Y0V0JJPXkKK0NPTkZJR19DUFVfQ1AxNT15CitDT05GSUdfQ1BVX0NQMTVfTU1VPXkKKworIworIyBQcm9jZXNzb3IgRmVhdHVyZXMKKyMKK0NPTkZJR19BUk1fVEhVTUI9eQorIyBDT05GSUdfQ1BVX0lDQUNIRV9ESVNBQkxFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NQVV9EQ0FDSEVfRElTQUJMRSBpcyBub3Qgc2V0CisjIENPTkZJR19DUFVfRENBQ0hFX1dSSVRFVEhST1VHSCBpcyBub3Qgc2V0CisjIENPTkZJR19DUFVfQ0FDSEVfUk9VTkRfUk9CSU4gaXMgbm90IHNldAorIyBDT05GSUdfT1VURVJfQ0FDSEUgaXMgbm90IHNldAorCisjCisjIEJ1cyBzdXBwb3J0CisjCisjIENPTkZJR19QQ0lfU1lTQ0FMTCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX1NVUFBPUlRTX01TSSBpcyBub3Qgc2V0CisjIENPTkZJR19QQ0NBUkQgaXMgbm90IHNldAorCisjCisjIEtlcm5lbCBGZWF0dXJlcworIworQ09ORklHX1RJQ0tfT05FU0hPVD15CitDT05GSUdfTk9fSFo9eQorQ09ORklHX0hJR0hfUkVTX1RJTUVSUz15CitDT05GSUdfR0VORVJJQ19DTE9DS0VWRU5UU19CVUlMRD15CitDT05GSUdfUFJFRU1QVD15CitDT05GSUdfSFo9MTAwCitDT05GSUdfQUVBQkk9eQorIyBDT05GSUdfT0FCSV9DT01QQVQgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9ESVNDT05USUdNRU1fRU5BQkxFIGlzIG5vdCBzZXQKK0NPTkZJR19TRUxFQ1RfTUVNT1JZX01PREVMPXkKK0NPTkZJR19GTEFUTUVNX01BTlVBTD15CisjIENPTkZJR19ESVNDT05USUdNRU1fTUFOVUFMIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NQQVJTRU1FTV9NQU5VQUwgaXMgbm90IHNldAorQ09ORklHX0ZMQVRNRU09eQorQ09ORklHX0ZMQVRfTk9ERV9NRU1fTUFQPXkKKyMgQ09ORklHX1NQQVJTRU1FTV9TVEFUSUMgaXMgbm90IHNldAorIyBDT05GSUdfU1BBUlNFTUVNX1ZNRU1NQVBfRU5BQkxFIGlzIG5vdCBzZXQKK0NPTkZJR19QQUdFRkxBR1NfRVhURU5ERUQ9eQorQ09ORklHX1NQTElUX1BUTE9DS19DUFVTPTQwOTYKKyMgQ09ORklHX1JFU09VUkNFU182NEJJVCBpcyBub3Qgc2V0CitDT05GSUdfWk9ORV9ETUFfRkxBRz0xCitDT05GSUdfQk9VTkNFPXkKK0NPTkZJR19WSVJUX1RPX0JVUz15CitDT05GSUdfQUxJR05NRU5UX1RSQVA9eQorCisjCisjIEJvb3Qgb3B0aW9ucworIworQ09ORklHX1pCT09UX1JPTV9URVhUPTB4MAorQ09ORklHX1pCT09UX1JPTV9CU1M9MHgwCitDT05GSUdfQ01ETElORT0iIgorIyBDT05GSUdfWElQX0tFUk5FTCBpcyBub3Qgc2V0CisjIENPTkZJR19LRVhFQyBpcyBub3Qgc2V0CisKKyMKKyMgRmxvYXRpbmcgcG9pbnQgZW11bGF0aW9uCisjCisKKyMKKyMgQXQgbGVhc3Qgb25lIGVtdWxhdGlvbiBtdXN0IGJlIHNlbGVjdGVkCisjCisjIENPTkZJR19WRlAgaXMgbm90IHNldAorCisjCisjIFVzZXJzcGFjZSBiaW5hcnkgZm9ybWF0cworIworQ09ORklHX0JJTkZNVF9FTEY9eQorIyBDT05GSUdfQklORk1UX0FPVVQgaXMgbm90IHNldAorIyBDT05GSUdfQklORk1UX01JU0MgaXMgbm90IHNldAorCisjCisjIFBvd2VyIG1hbmFnZW1lbnQgb3B0aW9ucworIworIyBDT05GSUdfUE0gaXMgbm90IHNldAorQ09ORklHX0FSQ0hfU1VTUEVORF9QT1NTSUJMRT15CisKKyMKKyMgTmV0d29ya2luZworIworQ09ORklHX05FVD15CisKKyMKKyMgTmV0d29ya2luZyBvcHRpb25zCisjCitDT05GSUdfUEFDS0VUPXkKK0NPTkZJR19QQUNLRVRfTU1BUD15CitDT05GSUdfVU5JWD15CisjIENPTkZJR19ORVRfS0VZIGlzIG5vdCBzZXQKK0NPTkZJR19JTkVUPXkKK0NPTkZJR19JUF9NVUxUSUNBU1Q9eQorIyBDT05GSUdfSVBfQURWQU5DRURfUk9VVEVSIGlzIG5vdCBzZXQKK0NPTkZJR19JUF9GSUJfSEFTSD15CitDT05GSUdfSVBfUE5QPXkKKyMgQ09ORklHX0lQX1BOUF9ESENQIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lQX1BOUF9CT09UUCBpcyBub3Qgc2V0CisjIENPTkZJR19JUF9QTlBfUkFSUCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfSVBJUCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfSVBHUkUgaXMgbm90IHNldAorIyBDT05GSUdfSVBfTVJPVVRFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSUEQgaXMgbm90IHNldAorIyBDT05GSUdfU1lOX0NPT0tJRVMgaXMgbm90IHNldAorIyBDT05GSUdfSU5FVF9BSCBpcyBub3Qgc2V0CisjIENPTkZJR19JTkVUX0VTUCBpcyBub3Qgc2V0CisjIENPTkZJR19JTkVUX0lQQ09NUCBpcyBub3Qgc2V0CisjIENPTkZJR19JTkVUX1hGUk1fVFVOTkVMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lORVRfVFVOTkVMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lORVRfWEZSTV9NT0RFX1RSQU5TUE9SVCBpcyBub3Qgc2V0CisjIENPTkZJR19JTkVUX1hGUk1fTU9ERV9UVU5ORUwgaXMgbm90IHNldAorIyBDT05GSUdfSU5FVF9YRlJNX01PREVfQkVFVCBpcyBub3Qgc2V0CisjIENPTkZJR19JTkVUX0xSTyBpcyBub3Qgc2V0CisjIENPTkZJR19JTkVUX0RJQUcgaXMgbm90IHNldAorIyBDT05GSUdfVENQX0NPTkdfQURWQU5DRUQgaXMgbm90IHNldAorQ09ORklHX1RDUF9DT05HX0NVQklDPXkKK0NPTkZJR19ERUZBVUxUX1RDUF9DT05HPSJjdWJpYyIKKyMgQ09ORklHX1RDUF9NRDVTSUcgaXMgbm90IHNldAorIyBDT05GSUdfSVBWNiBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRXT1JLX1NFQ01BUksgaXMgbm90IHNldAorIyBDT05GSUdfTkVURklMVEVSIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lQX0RDQ1AgaXMgbm90IHNldAorIyBDT05GSUdfSVBfU0NUUCBpcyBub3Qgc2V0CisjIENPTkZJR19USVBDIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FUTSBpcyBub3Qgc2V0CisjIENPTkZJR19CUklER0UgaXMgbm90IHNldAorIyBDT05GSUdfVkxBTl84MDIxUSBpcyBub3Qgc2V0CisjIENPTkZJR19ERUNORVQgaXMgbm90IHNldAorIyBDT05GSUdfTExDMiBpcyBub3Qgc2V0CisjIENPTkZJR19JUFggaXMgbm90IHNldAorIyBDT05GSUdfQVRBTEsgaXMgbm90IHNldAorIyBDT05GSUdfWDI1IGlzIG5vdCBzZXQKKyMgQ09ORklHX0xBUEIgaXMgbm90IHNldAorIyBDT05GSUdfRUNPTkVUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1dBTl9ST1VURVIgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX1NDSEVEIGlzIG5vdCBzZXQKKworIworIyBOZXR3b3JrIHRlc3RpbmcKKyMKKyMgQ09ORklHX05FVF9QS1RHRU4gaXMgbm90IHNldAorIyBDT05GSUdfSEFNUkFESU8gaXMgbm90IHNldAorIyBDT05GSUdfQ0FOIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lSREEgaXMgbm90IHNldAorIyBDT05GSUdfQlQgaXMgbm90IHNldAorIyBDT05GSUdfQUZfUlhSUEMgaXMgbm90IHNldAorCisjCisjIFdpcmVsZXNzCisjCisjIENPTkZJR19DRkc4MDIxMSBpcyBub3Qgc2V0CisjIENPTkZJR19XSVJFTEVTU19FWFQgaXMgbm90IHNldAorIyBDT05GSUdfTUFDODAyMTEgaXMgbm90IHNldAorIyBDT05GSUdfSUVFRTgwMjExIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JGS0lMTCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfOVAgaXMgbm90IHNldAorCisjCisjIERldmljZSBEcml2ZXJzCisjCisKKyMKKyMgR2VuZXJpYyBEcml2ZXIgT3B0aW9ucworIworQ09ORklHX1VFVkVOVF9IRUxQRVJfUEFUSD0iL3NiaW4vaG90cGx1ZyIKK0NPTkZJR19TVEFOREFMT05FPXkKK0NPTkZJR19QUkVWRU5UX0ZJUk1XQVJFX0JVSUxEPXkKKyMgQ09ORklHX0ZXX0xPQURFUiBpcyBub3Qgc2V0CisjIENPTkZJR19TWVNfSFlQRVJWSVNPUiBpcyBub3Qgc2V0CisjIENPTkZJR19DT05ORUNUT1IgaXMgbm90IHNldAorQ09ORklHX01URD15CisjIENPTkZJR19NVERfREVCVUcgaXMgbm90IHNldAorIyBDT05GSUdfTVREX0NPTkNBVCBpcyBub3Qgc2V0CitDT05GSUdfTVREX1BBUlRJVElPTlM9eQorIyBDT05GSUdfTVREX1JFREJPT1RfUEFSVFMgaXMgbm90IHNldAorQ09ORklHX01URF9DTURMSU5FX1BBUlRTPXkKKyMgQ09ORklHX01URF9BRlNfUEFSVFMgaXMgbm90IHNldAorIyBDT05GSUdfTVREX0FSN19QQVJUUyBpcyBub3Qgc2V0CisKKyMKKyMgVXNlciBNb2R1bGVzIEFuZCBUcmFuc2xhdGlvbiBMYXllcnMKKyMKK0NPTkZJR19NVERfQ0hBUj15CitDT05GSUdfTVREX0JMS0RFVlM9eQorQ09ORklHX01URF9CTE9DSz15CisjIENPTkZJR19GVEwgaXMgbm90IHNldAorIyBDT05GSUdfTkZUTCBpcyBub3Qgc2V0CisjIENPTkZJR19JTkZUTCBpcyBub3Qgc2V0CisjIENPTkZJR19SRkRfRlRMIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NTRkRDIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9PT1BTIGlzIG5vdCBzZXQKKworIworIyBSQU0vUk9NL0ZsYXNoIGNoaXAgZHJpdmVycworIworQ09ORklHX01URF9DRkk9eQorIyBDT05GSUdfTVREX0pFREVDUFJPQkUgaXMgbm90IHNldAorQ09ORklHX01URF9HRU5fUFJPQkU9eQorQ09ORklHX01URF9DRklfQURWX09QVElPTlM9eQorQ09ORklHX01URF9DRklfTk9TV0FQPXkKKyMgQ09ORklHX01URF9DRklfQkVfQllURV9TV0FQIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9DRklfTEVfQllURV9TV0FQIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfQ0ZJX0dFT01FVFJZPXkKKyMgQ09ORklHX01URF9NQVBfQkFOS19XSURUSF8xIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfTUFQX0JBTktfV0lEVEhfMj15CisjIENPTkZJR19NVERfTUFQX0JBTktfV0lEVEhfNCBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfTUFQX0JBTktfV0lEVEhfOCBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfTUFQX0JBTktfV0lEVEhfMTYgaXMgbm90IHNldAorIyBDT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzMyIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfQ0ZJX0kxPXkKKyMgQ09ORklHX01URF9DRklfSTIgaXMgbm90IHNldAorIyBDT05GSUdfTVREX0NGSV9JNCBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfQ0ZJX0k4IGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9PVFAgaXMgbm90IHNldAorQ09ORklHX01URF9DRklfSU5URUxFWFQ9eQorIyBDT05GSUdfTVREX0NGSV9BTURTVEQgaXMgbm90IHNldAorIyBDT05GSUdfTVREX0NGSV9TVEFBIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfQ0ZJX1VUSUw9eQorIyBDT05GSUdfTVREX1JBTSBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfUk9NIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9BQlNFTlQgaXMgbm90IHNldAorIyBDT05GSUdfTVREX1hJUCBpcyBub3Qgc2V0CisKKyMKKyMgTWFwcGluZyBkcml2ZXJzIGZvciBjaGlwIGFjY2VzcworIworIyBDT05GSUdfTVREX0NPTVBMRVhfTUFQUElOR1MgaXMgbm90IHNldAorQ09ORklHX01URF9QSFlTTUFQPXkKK0NPTkZJR19NVERfUEhZU01BUF9TVEFSVD0weDAwMDAwMDAwCitDT05GSUdfTVREX1BIWVNNQVBfTEVOPTB4MAorQ09ORklHX01URF9QSFlTTUFQX0JBTktXSURUSD0yCisjIENPTkZJR19NVERfQVJNX0lOVEVHUkFUT1IgaXMgbm90IHNldAorIyBDT05GSUdfTVREX1BMQVRSQU0gaXMgbm90IHNldAorCisjCisjIFNlbGYtY29udGFpbmVkIE1URCBkZXZpY2UgZHJpdmVycworIworIyBDT05GSUdfTVREX1NMUkFNIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9QSFJBTSBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfTVREUkFNIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9CTE9DSzJNVEQgaXMgbm90IHNldAorCisjCisjIERpc2stT24tQ2hpcCBEZXZpY2UgRHJpdmVycworIworIyBDT05GSUdfTVREX0RPQzIwMDAgaXMgbm90IHNldAorIyBDT05GSUdfTVREX0RPQzIwMDEgaXMgbm90IHNldAorIyBDT05GSUdfTVREX0RPQzIwMDFQTFVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9OQU5EIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9PTkVOQU5EIGlzIG5vdCBzZXQKKworIworIyBVQkkgLSBVbnNvcnRlZCBibG9jayBpbWFnZXMKKyMKKyMgQ09ORklHX01URF9VQkkgaXMgbm90IHNldAorIyBDT05GSUdfUEFSUE9SVCBpcyBub3Qgc2V0CitDT05GSUdfQkxLX0RFVj15CisjIENPTkZJR19CTEtfREVWX0NPV19DT01NT04gaXMgbm90IHNldAorIyBDT05GSUdfQkxLX0RFVl9MT09QIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JMS19ERVZfTkJEIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JMS19ERVZfUkFNIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NEUk9NX1BLVENEVkQgaXMgbm90IHNldAorIyBDT05GSUdfQVRBX09WRVJfRVRIIGlzIG5vdCBzZXQKKyMgQ09ORklHX01JU0NfREVWSUNFUyBpcyBub3Qgc2V0CitDT05GSUdfSEFWRV9JREU9eQorIyBDT05GSUdfSURFIGlzIG5vdCBzZXQKKworIworIyBTQ1NJIGRldmljZSBzdXBwb3J0CisjCisjIENPTkZJR19SQUlEX0FUVFJTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NDU0kgaXMgbm90IHNldAorIyBDT05GSUdfU0NTSV9ETUEgaXMgbm90IHNldAorIyBDT05GSUdfU0NTSV9ORVRMSU5LIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FUQSBpcyBub3Qgc2V0CisjIENPTkZJR19NRCBpcyBub3Qgc2V0CitDT05GSUdfTkVUREVWSUNFUz15CisjIENPTkZJR19ORVRERVZJQ0VTX01VTFRJUVVFVUUgaXMgbm90IHNldAorIyBDT05GSUdfRFVNTVkgaXMgbm90IHNldAorIyBDT05GSUdfQk9ORElORyBpcyBub3Qgc2V0CisjIENPTkZJR19NQUNWTEFOIGlzIG5vdCBzZXQKKyMgQ09ORklHX0VRVUFMSVpFUiBpcyBub3Qgc2V0CisjIENPTkZJR19UVU4gaXMgbm90IHNldAorIyBDT05GSUdfVkVUSCBpcyBub3Qgc2V0CisjIENPTkZJR19QSFlMSUIgaXMgbm90IHNldAorQ09ORklHX05FVF9FVEhFUk5FVD15CisjIENPTkZJR19NSUkgaXMgbm90IHNldAorIyBDT05GSUdfQVg4ODc5NiBpcyBub3Qgc2V0CisjIENPTkZJR19TTUM5MVggaXMgbm90IHNldAorIyBDT05GSUdfRE05MDAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTV9ORVdfRU1BQ19aTUlJIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTV9ORVdfRU1BQ19SR01JSSBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfVEFIIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTV9ORVdfRU1BQ19FTUFDNCBpcyBub3Qgc2V0CisjIENPTkZJR19CNDQgaXMgbm90IHNldAorIyBDT05GSUdfRkVDX09MRCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRERVZfMTAwMCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRERVZfMTAwMDAgaXMgbm90IHNldAorCisjCisjIFdpcmVsZXNzIExBTgorIworIyBDT05GSUdfV0xBTl9QUkU4MDIxMSBpcyBub3Qgc2V0CisjIENPTkZJR19XTEFOXzgwMjExIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lXTFdJRklfTEVEUyBpcyBub3Qgc2V0CisjIENPTkZJR19XQU4gaXMgbm90IHNldAorIyBDT05GSUdfUFBQIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NMSVAgaXMgbm90IHNldAorIyBDT05GSUdfTkVUQ09OU09MRSBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRQT0xMIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9QT0xMX0NPTlRST0xMRVIgaXMgbm90IHNldAorIyBDT05GSUdfSVNETiBpcyBub3Qgc2V0CisKKyMKKyMgSW5wdXQgZGV2aWNlIHN1cHBvcnQKKyMKK0NPTkZJR19JTlBVVD15CisjIENPTkZJR19JTlBVVF9GRl9NRU1MRVNTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOUFVUX1BPTExERVYgaXMgbm90IHNldAorCisjCisjIFVzZXJsYW5kIGludGVyZmFjZXMKKyMKKyMgQ09ORklHX0lOUFVUX01PVVNFREVWIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOUFVUX0pPWURFViBpcyBub3Qgc2V0CitDT05GSUdfSU5QVVRfRVZERVY9eQorIyBDT05GSUdfSU5QVVRfRVZCVUcgaXMgbm90IHNldAorCisjCisjIElucHV0IERldmljZSBEcml2ZXJzCisjCisjIENPTkZJR19JTlBVVF9LRVlCT0FSRCBpcyBub3Qgc2V0CisjIENPTkZJR19JTlBVVF9NT1VTRSBpcyBub3Qgc2V0CisjIENPTkZJR19JTlBVVF9KT1lTVElDSyBpcyBub3Qgc2V0CisjIENPTkZJR19JTlBVVF9UQUJMRVQgaXMgbm90IHNldAorQ09ORklHX0lOUFVUX1RPVUNIU0NSRUVOPXkKKyMgQ09ORklHX1RPVUNIU0NSRUVOX0ZVSklUU1UgaXMgbm90IHNldAorIyBDT05GSUdfVE9VQ0hTQ1JFRU5fR1VOWkUgaXMgbm90IHNldAorIyBDT05GSUdfVE9VQ0hTQ1JFRU5fRUxPIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RPVUNIU0NSRUVOX01UT1VDSCBpcyBub3Qgc2V0CisjIENPTkZJR19UT1VDSFNDUkVFTl9NSzcxMiBpcyBub3Qgc2V0CisjIENPTkZJR19UT1VDSFNDUkVFTl9QRU5NT1VOVCBpcyBub3Qgc2V0CisjIENPTkZJR19UT1VDSFNDUkVFTl9UT1VDSFJJR0hUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RPVUNIU0NSRUVOX1RPVUNIV0lOIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RPVUNIU0NSRUVOX1VDQjE0MDAgaXMgbm90IHNldAorIyBDT05GSUdfSU5QVVRfTUlTQyBpcyBub3Qgc2V0CisKKyMKKyMgSGFyZHdhcmUgSS9PIHBvcnRzCisjCisjIENPTkZJR19TRVJJTyBpcyBub3Qgc2V0CisjIENPTkZJR19HQU1FUE9SVCBpcyBub3Qgc2V0CisKKyMKKyMgQ2hhcmFjdGVyIGRldmljZXMKKyMKKyMgQ09ORklHX1ZUIGlzIG5vdCBzZXQKK0NPTkZJR19ERVZLTUVNPXkKKyMgQ09ORklHX1NFUklBTF9OT05TVEFOREFSRCBpcyBub3Qgc2V0CisKKyMKKyMgU2VyaWFsIGRyaXZlcnMKKyMKKyMgQ09ORklHX1NFUklBTF84MjUwIGlzIG5vdCBzZXQKKworIworIyBOb24tODI1MCBzZXJpYWwgcG9ydCBzdXBwb3J0CisjCisjIENPTkZJR19TRVJJQUxfSU1YIGlzIG5vdCBzZXQKK0NPTkZJR19VTklYOThfUFRZUz15CisjIENPTkZJR19MRUdBQ1lfUFRZUyBpcyBub3Qgc2V0CisjIENPTkZJR19JUE1JX0hBTkRMRVIgaXMgbm90IHNldAorIyBDT05GSUdfSFdfUkFORE9NIGlzIG5vdCBzZXQKKyMgQ09ORklHX05WUkFNIGlzIG5vdCBzZXQKKyMgQ09ORklHX1IzOTY0IGlzIG5vdCBzZXQKKyMgQ09ORklHX1JBV19EUklWRVIgaXMgbm90IHNldAorIyBDT05GSUdfVENHX1RQTSBpcyBub3Qgc2V0CisjIENPTkZJR19JMkMgaXMgbm90IHNldAorIyBDT05GSUdfU1BJIGlzIG5vdCBzZXQKK0NPTkZJR19IQVZFX0dQSU9fTElCPXkKKworIworIyBHUElPIFN1cHBvcnQKKyMKKworIworIyBJMkMgR1BJTyBleHBhbmRlcnM6CisjCisKKyMKKyMgU1BJIEdQSU8gZXhwYW5kZXJzOgorIworIyBDT05GSUdfVzEgaXMgbm90IHNldAorIyBDT05GSUdfUE9XRVJfU1VQUExZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hXTU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX1dBVENIRE9HIGlzIG5vdCBzZXQKKworIworIyBTb25pY3MgU2lsaWNvbiBCYWNrcGxhbmUKKyMKK0NPTkZJR19TU0JfUE9TU0lCTEU9eQorIyBDT05GSUdfU1NCIGlzIG5vdCBzZXQKKworIworIyBNdWx0aWZ1bmN0aW9uIGRldmljZSBkcml2ZXJzCisjCisjIENPTkZJR19NRkRfU001MDEgaXMgbm90IHNldAorIyBDT05GSUdfTUZEX0FTSUMzIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hUQ19FR1BJTyBpcyBub3Qgc2V0CisjIENPTkZJR19IVENfUEFTSUMzIGlzIG5vdCBzZXQKKworIworIyBNdWx0aW1lZGlhIGRldmljZXMKKyMKKworIworIyBNdWx0aW1lZGlhIGNvcmUgc3VwcG9ydAorIworIyBDT05GSUdfVklERU9fREVWIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RWQl9DT1JFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZJREVPX01FRElBIGlzIG5vdCBzZXQKKworIworIyBNdWx0aW1lZGlhIGRyaXZlcnMKKyMKKyMgQ09ORklHX0RBQiBpcyBub3Qgc2V0CisKKyMKKyMgR3JhcGhpY3Mgc3VwcG9ydAorIworIyBDT05GSUdfVkdBU1RBVEUgaXMgbm90IHNldAorIyBDT05GSUdfVklERU9fT1VUUFVUX0NPTlRST0wgaXMgbm90IHNldAorIyBDT05GSUdfRkIgaXMgbm90IHNldAorIyBDT05GSUdfQkFDS0xJR0hUX0xDRF9TVVBQT1JUIGlzIG5vdCBzZXQKKworIworIyBEaXNwbGF5IGRldmljZSBzdXBwb3J0CisjCisjIENPTkZJR19ESVNQTEFZX1NVUFBPUlQgaXMgbm90IHNldAorCisjCisjIFNvdW5kCisjCisjIENPTkZJR19TT1VORCBpcyBub3Qgc2V0CisjIENPTkZJR19ISURfU1VQUE9SVCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU1VQUE9SVCBpcyBub3Qgc2V0CisjIENPTkZJR19NTUMgaXMgbm90IHNldAorIyBDT05GSUdfTkVXX0xFRFMgaXMgbm90IHNldAorQ09ORklHX1JUQ19MSUI9eQorIyBDT05GSUdfUlRDX0NMQVNTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VJTyBpcyBub3Qgc2V0CisKKyMKKyMgRmlsZSBzeXN0ZW1zCisjCisjIENPTkZJR19FWFQyX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0VYVDNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfRVhUNERFVl9GUyBpcyBub3Qgc2V0CisjIENPTkZJR19SRUlTRVJGU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19KRlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfRlNfUE9TSVhfQUNMIGlzIG5vdCBzZXQKKyMgQ09ORklHX1hGU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19PQ0ZTMl9GUyBpcyBub3Qgc2V0CisjIENPTkZJR19ETk9USUZZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOT1RJRlkgaXMgbm90IHNldAorIyBDT05GSUdfUVVPVEEgaXMgbm90IHNldAorIyBDT05GSUdfQVVUT0ZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FVVE9GUzRfRlMgaXMgbm90IHNldAorIyBDT05GSUdfRlVTRV9GUyBpcyBub3Qgc2V0CisKKyMKKyMgQ0QtUk9NL0RWRCBGaWxlc3lzdGVtcworIworIyBDT05GSUdfSVNPOTY2MF9GUyBpcyBub3Qgc2V0CisjIENPTkZJR19VREZfRlMgaXMgbm90IHNldAorCisjCisjIERPUy9GQVQvTlQgRmlsZXN5c3RlbXMKKyMKKyMgQ09ORklHX01TRE9TX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZGQVRfRlMgaXMgbm90IHNldAorIyBDT05GSUdfTlRGU19GUyBpcyBub3Qgc2V0CisKKyMKKyMgUHNldWRvIGZpbGVzeXN0ZW1zCisjCitDT05GSUdfUFJPQ19GUz15CitDT05GSUdfUFJPQ19TWVNDVEw9eQorQ09ORklHX1NZU0ZTPXkKK0NPTkZJR19UTVBGUz15CisjIENPTkZJR19UTVBGU19QT1NJWF9BQ0wgaXMgbm90IHNldAorIyBDT05GSUdfSFVHRVRMQl9QQUdFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NPTkZJR0ZTX0ZTIGlzIG5vdCBzZXQKKworIworIyBNaXNjZWxsYW5lb3VzIGZpbGVzeXN0ZW1zCisjCisjIENPTkZJR19BREZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FGRlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfSEZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hGU1BMVVNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfQkVGU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19CRlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfRUZTX0ZTIGlzIG5vdCBzZXQKK0NPTkZJR19KRkZTMl9GUz15CitDT05GSUdfSkZGUzJfRlNfREVCVUc9MAorQ09ORklHX0pGRlMyX0ZTX1dSSVRFQlVGRkVSPXkKKyMgQ09ORklHX0pGRlMyX0ZTX1dCVUZfVkVSSUZZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pGRlMyX1NVTU1BUlkgaXMgbm90IHNldAorIyBDT05GSUdfSkZGUzJfRlNfWEFUVFIgaXMgbm90IHNldAorIyBDT05GSUdfSkZGUzJfQ09NUFJFU1NJT05fT1BUSU9OUyBpcyBub3Qgc2V0CitDT05GSUdfSkZGUzJfWkxJQj15CisjIENPTkZJR19KRkZTMl9MWk8gaXMgbm90IHNldAorQ09ORklHX0pGRlMyX1JUSU1FPXkKKyMgQ09ORklHX0pGRlMyX1JVQklOIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSQU1GUyBpcyBub3Qgc2V0CisjIENPTkZJR19WWEZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX01JTklYX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hQRlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfUU5YNEZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JPTUZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NZU1ZfRlMgaXMgbm90IHNldAorIyBDT05GSUdfVUZTX0ZTIGlzIG5vdCBzZXQKK0NPTkZJR19ORVRXT1JLX0ZJTEVTWVNURU1TPXkKK0NPTkZJR19ORlNfRlM9eQorQ09ORklHX05GU19WMz15CisjIENPTkZJR19ORlNfVjNfQUNMIGlzIG5vdCBzZXQKKyMgQ09ORklHX05GU19WNCBpcyBub3Qgc2V0CisjIENPTkZJR19ORlNEIGlzIG5vdCBzZXQKK0NPTkZJR19ST09UX05GUz15CitDT05GSUdfTE9DS0Q9eQorQ09ORklHX0xPQ0tEX1Y0PXkKK0NPTkZJR19ORlNfQ09NTU9OPXkKK0NPTkZJR19TVU5SUEM9eQorIyBDT05GSUdfU1VOUlBDX0JJTkQzNCBpcyBub3Qgc2V0CisjIENPTkZJR19SUENTRUNfR1NTX0tSQjUgaXMgbm90IHNldAorIyBDT05GSUdfUlBDU0VDX0dTU19TUEtNMyBpcyBub3Qgc2V0CisjIENPTkZJR19TTUJfRlMgaXMgbm90IHNldAorIyBDT05GSUdfQ0lGUyBpcyBub3Qgc2V0CisjIENPTkZJR19OQ1BfRlMgaXMgbm90IHNldAorIyBDT05GSUdfQ09EQV9GUyBpcyBub3Qgc2V0CisjIENPTkZJR19BRlNfRlMgaXMgbm90IHNldAorCisjCisjIFBhcnRpdGlvbiBUeXBlcworIworIyBDT05GSUdfUEFSVElUSU9OX0FEVkFOQ0VEIGlzIG5vdCBzZXQKK0NPTkZJR19NU0RPU19QQVJUSVRJT049eQorQ09ORklHX05MUz15CitDT05GSUdfTkxTX0RFRkFVTFQ9Imlzbzg4NTktMSIKK0NPTkZJR19OTFNfQ09ERVBBR0VfNDM3PW0KKyMgQ09ORklHX05MU19DT0RFUEFHRV83MzcgaXMgbm90IHNldAorIyBDT05GSUdfTkxTX0NPREVQQUdFXzc3NSBpcyBub3Qgc2V0CitDT05GSUdfTkxTX0NPREVQQUdFXzg1MD1tCisjIENPTkZJR19OTFNfQ09ERVBBR0VfODUyIGlzIG5vdCBzZXQKKyMgQ09ORklHX05MU19DT0RFUEFHRV84NTUgaXMgbm90IHNldAorIyBDT05GSUdfTkxTX0NPREVQQUdFXzg1NyBpcyBub3Qgc2V0CisjIENPTkZJR19OTFNfQ09ERVBBR0VfODYwIGlzIG5vdCBzZXQKKyMgQ09ORklHX05MU19DT0RFUEFHRV84NjEgaXMgbm90IHNldAorIyBDT05GSUdfTkxTX0NPREVQQUdFXzg2MiBpcyBub3Qgc2V0CisjIENPTkZJR19OTFNfQ09ERVBBR0VfODYzIGlzIG5vdCBzZXQKKyMgQ09ORklHX05MU19DT0RFUEFHRV84NjQgaXMgbm90IHNldAorIyBDT05GSUdfTkxTX0NPREVQQUdFXzg2NSBpcyBub3Qgc2V0CisjIENPTkZJR19OTFNfQ09ERVBBR0VfODY2IGlzIG5vdCBzZXQKKyMgQ09ORklHX05MU19DT0RFUEFHRV84NjkgaXMgbm90IHNldAorIyBDT05GSUdfTkxTX0NPREVQQUdFXzkzNiBpcyBub3Qgc2V0CisjIENPTkZJR19OTFNfQ09ERVBBR0VfOTUwIGlzIG5vdCBzZXQKKyMgQ09ORklHX05MU19DT0RFUEFHRV85MzIgaXMgbm90IHNldAorIyBDT05GSUdfTkxTX0NPREVQQUdFXzk0OSBpcyBub3Qgc2V0CisjIENPTkZJR19OTFNfQ09ERVBBR0VfODc0IGlzIG5vdCBzZXQKKyMgQ09ORklHX05MU19JU084ODU5XzggaXMgbm90IHNldAorIyBDT05GSUdfTkxTX0NPREVQQUdFXzEyNTAgaXMgbm90IHNldAorIyBDT05GSUdfTkxTX0NPREVQQUdFXzEyNTEgaXMgbm90IHNldAorIyBDT05GSUdfTkxTX0FTQ0lJIGlzIG5vdCBzZXQKK0NPTkZJR19OTFNfSVNPODg1OV8xPXkKKyMgQ09ORklHX05MU19JU084ODU5XzIgaXMgbm90IHNldAorIyBDT05GSUdfTkxTX0lTTzg4NTlfMyBpcyBub3Qgc2V0CisjIENPTkZJR19OTFNfSVNPODg1OV80IGlzIG5vdCBzZXQKKyMgQ09ORklHX05MU19JU084ODU5XzUgaXMgbm90IHNldAorIyBDT05GSUdfTkxTX0lTTzg4NTlfNiBpcyBub3Qgc2V0CisjIENPTkZJR19OTFNfSVNPODg1OV83IGlzIG5vdCBzZXQKKyMgQ09ORklHX05MU19JU084ODU5XzkgaXMgbm90IHNldAorIyBDT05GSUdfTkxTX0lTTzg4NTlfMTMgaXMgbm90IHNldAorIyBDT05GSUdfTkxTX0lTTzg4NTlfMTQgaXMgbm90IHNldAorQ09ORklHX05MU19JU084ODU5XzE1PW0KKyMgQ09ORklHX05MU19LT0k4X1IgaXMgbm90IHNldAorIyBDT05GSUdfTkxTX0tPSThfVSBpcyBub3Qgc2V0CisjIENPTkZJR19OTFNfVVRGOCBpcyBub3Qgc2V0CisjIENPTkZJR19ETE0gaXMgbm90IHNldAorCisjCisjIEtlcm5lbCBoYWNraW5nCisjCisjIENPTkZJR19QUklOVEtfVElNRSBpcyBub3Qgc2V0CitDT05GSUdfRU5BQkxFX1dBUk5fREVQUkVDQVRFRD15CitDT05GSUdfRU5BQkxFX01VU1RfQ0hFQ0s9eQorQ09ORklHX0ZSQU1FX1dBUk49MTAyNAorIyBDT05GSUdfTUFHSUNfU1lTUlEgaXMgbm90IHNldAorIyBDT05GSUdfVU5VU0VEX1NZTUJPTFMgaXMgbm90IHNldAorIyBDT05GSUdfREVCVUdfRlMgaXMgbm90IHNldAorIyBDT05GSUdfSEVBREVSU19DSEVDSyBpcyBub3Qgc2V0CisjIENPTkZJR19ERUJVR19LRVJORUwgaXMgbm90IHNldAorIyBDT05GSUdfREVCVUdfQlVHVkVSQk9TRSBpcyBub3Qgc2V0CitDT05GSUdfRlJBTUVfUE9JTlRFUj15CisjIENPTkZJR19TQU1QTEVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFQlVHX1VTRVIgaXMgbm90IHNldAorCisjCisjIFNlY3VyaXR5IG9wdGlvbnMKKyMKKyMgQ09ORklHX0tFWVMgaXMgbm90IHNldAorIyBDT05GSUdfU0VDVVJJVFkgaXMgbm90IHNldAorIyBDT05GSUdfU0VDVVJJVFlfRklMRV9DQVBBQklMSVRJRVMgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPIGlzIG5vdCBzZXQKKworIworIyBMaWJyYXJ5IHJvdXRpbmVzCisjCitDT05GSUdfQklUUkVWRVJTRT15CisjIENPTkZJR19HRU5FUklDX0ZJTkRfRklSU1RfQklUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0dFTkVSSUNfRklORF9ORVhUX0JJVCBpcyBub3Qgc2V0CisjIENPTkZJR19DUkNfQ0NJVFQgaXMgbm90IHNldAorIyBDT05GSUdfQ1JDMTYgaXMgbm90IHNldAorIyBDT05GSUdfQ1JDX0lUVV9UIGlzIG5vdCBzZXQKK0NPTkZJR19DUkMzMj15CisjIENPTkZJR19DUkM3IGlzIG5vdCBzZXQKKyMgQ09ORklHX0xJQkNSQzMyQyBpcyBub3Qgc2V0CitDT05GSUdfWkxJQl9JTkZMQVRFPXkKK0NPTkZJR19aTElCX0RFRkxBVEU9eQorQ09ORklHX1BMSVNUPXkKK0NPTkZJR19IQVNfSU9NRU09eQorQ09ORklHX0hBU19JT1BPUlQ9eQorQ09ORklHX0hBU19ETUE9eQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vY29uZmlncy9pb3AxM3h4X2RlZmNvbmZpZyBiL2FyY2gvYXJtL2NvbmZpZ3MvaW9wMTN4eF9kZWZjb25maWcKaW5kZXggOTg4YjRkMS4uNDgyZTU3MCAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vY29uZmlncy9pb3AxM3h4X2RlZmNvbmZpZworKysgYi9hcmNoL2FybS9jb25maWdzL2lvcDEzeHhfZGVmY29uZmlnCkBAIC0xOTcsNyArMTk3LDYgQEAKICMKICMgQ09ORklHX1RJQ0tfT05FU0hPVCBpcyBub3Qgc2V0CiAjIENPTkZJR19QUkVFTVBUIGlzIG5vdCBzZXQKLSMgQ09ORklHX05PX0lETEVfSFogaXMgbm90IHNldAogQ09ORklHX0haPTEwMAogIyBDT05GSUdfQUVBQkkgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9ESVNDT05USUdNRU1fRU5BQkxFIGlzIG5vdCBzZXQKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2NvbmZpZ3MvaW9wMzJ4X2RlZmNvbmZpZyBiL2FyY2gvYXJtL2NvbmZpZ3MvaW9wMzJ4X2RlZmNvbmZpZwppbmRleCA4M2Y0MGQ0Li44NjEyZjU4IDEwMDY0NAotLS0gYS9hcmNoL2FybS9jb25maWdzL2lvcDMyeF9kZWZjb25maWcKKysrIGIvYXJjaC9hcm0vY29uZmlncy9pb3AzMnhfZGVmY29uZmlnCkBAIC0yMDEsNyArMjAxLDYgQEAKICMKICMgQ09ORklHX1RJQ0tfT05FU0hPVCBpcyBub3Qgc2V0CiAjIENPTkZJR19QUkVFTVBUIGlzIG5vdCBzZXQKLSMgQ09ORklHX05PX0lETEVfSFogaXMgbm90IHNldAogQ09ORklHX0haPTEwMAogIyBDT05GSUdfQUVBQkkgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9ESVNDT05USUdNRU1fRU5BQkxFIGlzIG5vdCBzZXQKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2NvbmZpZ3MvaW9wMzN4X2RlZmNvbmZpZyBiL2FyY2gvYXJtL2NvbmZpZ3MvaW9wMzN4X2RlZmNvbmZpZwppbmRleCA5MTdhZmI1Li44YjAwOThkIDEwMDY0NAotLS0gYS9hcmNoL2FybS9jb25maWdzL2lvcDMzeF9kZWZjb25maWcKKysrIGIvYXJjaC9hcm0vY29uZmlncy9pb3AzM3hfZGVmY29uZmlnCkBAIC0xOTcsNyArMTk3LDYgQEAKICMKICMgQ09ORklHX1RJQ0tfT05FU0hPVCBpcyBub3Qgc2V0CiAjIENPTkZJR19QUkVFTVBUIGlzIG5vdCBzZXQKLSMgQ09ORklHX05PX0lETEVfSFogaXMgbm90IHNldAogQ09ORklHX0haPTEwMAogIyBDT05GSUdfQUVBQkkgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9ESVNDT05USUdNRU1fRU5BQkxFIGlzIG5vdCBzZXQKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2NvbmZpZ3MvaXhwMjAwMF9kZWZjb25maWcgYi9hcmNoL2FybS9jb25maWdzL2l4cDIwMDBfZGVmY29uZmlnCmluZGV4IGY4Zjk3OTMuLjg0NjgwZGIgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2NvbmZpZ3MvaXhwMjAwMF9kZWZjb25maWcKKysrIGIvYXJjaC9hcm0vY29uZmlncy9peHAyMDAwX2RlZmNvbmZpZwpAQCAtMTg0LDcgKzE4NCw2IEBACiAjIEtlcm5lbCBGZWF0dXJlcwogIwogIyBDT05GSUdfUFJFRU1QVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19OT19JRExFX0haIGlzIG5vdCBzZXQKIENPTkZJR19IWj0xMDAKICMgQ09ORklHX0FFQUJJIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfRElTQ09OVElHTUVNX0VOQUJMRSBpcyBub3Qgc2V0CmRpZmYgLS1naXQgYS9hcmNoL2FybS9jb25maWdzL2l4cDIzeHhfZGVmY29uZmlnIGIvYXJjaC9hcm0vY29uZmlncy9peHAyM3h4X2RlZmNvbmZpZwppbmRleCAyN2NmMDIyLi40YTJmN2IyIDEwMDY0NAotLS0gYS9hcmNoL2FybS9jb25maWdzL2l4cDIzeHhfZGVmY29uZmlnCisrKyBiL2FyY2gvYXJtL2NvbmZpZ3MvaXhwMjN4eF9kZWZjb25maWcKQEAgLTE4MCw3ICsxODAsNiBAQAogIyBLZXJuZWwgRmVhdHVyZXMKICMKICMgQ09ORklHX1BSRUVNUFQgaXMgbm90IHNldAotIyBDT05GSUdfTk9fSURMRV9IWiBpcyBub3Qgc2V0CiBDT05GSUdfSFo9MTAwCiAjIENPTkZJR19BRUFCSSBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0RJU0NPTlRJR01FTV9FTkFCTEUgaXMgbm90IHNldApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vY29uZmlncy9peHA0eHhfZGVmY29uZmlnIGIvYXJjaC9hcm0vY29uZmlncy9peHA0eHhfZGVmY29uZmlnCmluZGV4IGVmYTA0ODUuLmZjMTQ5MzIgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2NvbmZpZ3MvaXhwNHh4X2RlZmNvbmZpZworKysgYi9hcmNoL2FybS9jb25maWdzL2l4cDR4eF9kZWZjb25maWcKQEAgLTE2NSw2ICsxNjUsNyBAQAogQ09ORklHX01BQ0hfTkFTMTAwRD15CiBDT05GSUdfTUFDSF9EU01HNjAwPXkKIENPTkZJR19BUkNIX0lYRFA0WFg9eQorQ09ORklHX01BQ0hfRlNHPXkKIENPTkZJR19DUFVfSVhQNDZYPXkKIENPTkZJR19DUFVfSVhQNDNYPXkKIENPTkZJR19NQUNIX0dUV1g1NzE1PXkKQEAgLTc3MCw3ICs3NzEsNyBAQAogIyBDT05GSUdfU0FUQV9TSUwyNCBpcyBub3Qgc2V0CiAjIENPTkZJR19TQVRBX1NJUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQVRBX1VMSSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQVRBX1ZJQSBpcyBub3Qgc2V0CitDT05GSUdfU0FUQV9WSUE9eQogIyBDT05GSUdfU0FUQV9WSVRFU1NFIGlzIG5vdCBzZXQKICMgQ09ORklHX1NBVEFfSU5JQzE2MlggaXMgbm90IHNldAogIyBDT05GSUdfUEFUQV9BTEkgaXMgbm90IHNldApAQCAtMTE0Myw3ICsxMTQ0LDcgQEAKICMgQ09ORklHX1NFTlNPUlNfVklBNjg2QSBpcyBub3Qgc2V0CiAjIENPTkZJR19TRU5TT1JTX1ZUMTIxMSBpcyBub3Qgc2V0CiAjIENPTkZJR19TRU5TT1JTX1ZUODIzMSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TRU5TT1JTX1c4Mzc4MUQgaXMgbm90IHNldAorQ09ORklHX1NFTlNPUlNfVzgzNzgxRD15CiAjIENPTkZJR19TRU5TT1JTX1c4Mzc5MUQgaXMgbm90IHNldAogIyBDT05GSUdfU0VOU09SU19XODM3OTJEIGlzIG5vdCBzZXQKICMgQ09ORklHX1NFTlNPUlNfVzgzNzkzIGlzIG5vdCBzZXQKQEAgLTEzMzQsOCArMTMzNSw4IEBACiAjCiAjIExFRCBkcml2ZXJzCiAjCi0jIENPTkZJR19MRURTX0lYUDRYWCBpcyBub3Qgc2V0CiBDT05GSUdfTEVEU19HUElPPXkKK0NPTkZJR19MRURTX0ZTRz15CiAKICMKICMgTEVEIFRyaWdnZXJzCkBAIC0xMzY3LDcgKzEzNjgsNyBAQAogIyBDT05GSUdfUlRDX0RSVl9EUzE2NzIgaXMgbm90IHNldAogIyBDT05GSUdfUlRDX0RSVl9NQVg2OTAwIGlzIG5vdCBzZXQKICMgQ09ORklHX1JUQ19EUlZfUlM1QzM3MiBpcyBub3Qgc2V0Ci0jIENPTkZJR19SVENfRFJWX0lTTDEyMDggaXMgbm90IHNldAorQ09ORklHX1JUQ19EUlZfSVNMMTIwOD15CiBDT05GSUdfUlRDX0RSVl9YMTIwNT15CiBDT05GSUdfUlRDX0RSVl9QQ0Y4NTYzPXkKICMgQ09ORklHX1JUQ19EUlZfUENGODU4MyBpcyBub3Qgc2V0CmRpZmYgLS1naXQgYS9hcmNoL2FybS9jb25maWdzL2thZmFfZGVmY29uZmlnIGIvYXJjaC9hcm0vY29uZmlncy9rYWZhX2RlZmNvbmZpZwppbmRleCBhZTUxYTQwLi42ZGQ5NWEyIDEwMDY0NAotLS0gYS9hcmNoL2FybS9jb25maWdzL2thZmFfZGVmY29uZmlnCisrKyBiL2FyY2gvYXJtL2NvbmZpZ3Mva2FmYV9kZWZjb25maWcKQEAgLTE2Miw3ICsxNjIsNiBAQAogIyBLZXJuZWwgRmVhdHVyZXMKICMKIENPTkZJR19QUkVFTVBUPXkKLSMgQ09ORklHX05PX0lETEVfSFogaXMgbm90IHNldAogQ09ORklHX0haPTEwMAogIyBDT05GSUdfQUVBQkkgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9ESVNDT05USUdNRU1fRU5BQkxFIGlzIG5vdCBzZXQKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2NvbmZpZ3Mva2I5MjAyX2RlZmNvbmZpZyBiL2FyY2gvYXJtL2NvbmZpZ3Mva2I5MjAyX2RlZmNvbmZpZwppbmRleCBjMTY1MzdkLi44ZTc0YzY2IDEwMDY0NAotLS0gYS9hcmNoL2FybS9jb25maWdzL2tiOTIwMl9kZWZjb25maWcKKysrIGIvYXJjaC9hcm0vY29uZmlncy9rYjkyMDJfZGVmY29uZmlnCkBAIC0xMjYsNyArMTI2LDYgQEAKICMKICMgS2VybmVsIEZlYXR1cmVzCiAjCi0jIENPTkZJR19OT19JRExFX0haIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfRElTQ09OVElHTUVNX0VOQUJMRSBpcyBub3Qgc2V0CiBDT05GSUdfRkxBVE1FTT15CiBDT05GSUdfRkxBVF9OT0RFX01FTV9NQVA9eQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vY29uZmlncy9jbV94MjcwX2RlZmNvbmZpZyBiL2FyY2gvYXJtL2NvbmZpZ3Mva2lya3dvb2RfZGVmY29uZmlnCnNpbWlsYXJpdHkgaW5kZXggNjIlCmNvcHkgZnJvbSBhcmNoL2FybS9jb25maWdzL2NtX3gyNzBfZGVmY29uZmlnCmNvcHkgdG8gYXJjaC9hcm0vY29uZmlncy9raXJrd29vZF9kZWZjb25maWcKaW5kZXggNWNhYjA4My4uZTMzNTdiYSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vY29uZmlncy9jbV94MjcwX2RlZmNvbmZpZworKysgYi9hcmNoL2FybS9jb25maWdzL2tpcmt3b29kX2RlZmNvbmZpZwpAQCAtMSwxNyArMSwxOCBAQAogIwogIyBBdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBtYWtlIGNvbmZpZzogZG9uJ3QgZWRpdAotIyBMaW51eCBrZXJuZWwgdmVyc2lvbjogMi42LjIyCi0jIFdlZCBKdWwgMTggMTQ6MTE6NDggMjAwNworIyBMaW51eCBrZXJuZWwgdmVyc2lvbjogMi42LjI2LXJjNQorIyBTdW4gSnVuIDIyIDE1OjUxOjI1IDIwMDgKICMKIENPTkZJR19BUk09eQogQ09ORklHX1NZU19TVVBQT1JUU19BUE1fRU1VTEFUSU9OPXkKIENPTkZJR19HRU5FUklDX0dQSU89eQogQ09ORklHX0dFTkVSSUNfVElNRT15Ci0jIENPTkZJR19HRU5FUklDX0NMT0NLRVZFTlRTIGlzIG5vdCBzZXQKK0NPTkZJR19HRU5FUklDX0NMT0NLRVZFTlRTPXkKIENPTkZJR19NTVU9eQogIyBDT05GSUdfTk9fSU9QT1JUIGlzIG5vdCBzZXQKIENPTkZJR19HRU5FUklDX0hBUkRJUlFTPXkKIENPTkZJR19TVEFDS1RSQUNFX1NVUFBPUlQ9eQorQ09ORklHX0hBVkVfTEFURU5DWVRPUF9TVVBQT1JUPXkKIENPTkZJR19MT0NLREVQX1NVUFBPUlQ9eQogQ09ORklHX1RSQUNFX0lSUUZMQUdTX1NVUFBPUlQ9eQogQ09ORklHX0hBUkRJUlFTX1NXX1JFU0VORD15CkBAIC0yMSw0MyArMjIsNDEgQEAKICMgQ09ORklHX0FSQ0hfSEFTX0lMT0cyX1U2NCBpcyBub3Qgc2V0CiBDT05GSUdfR0VORVJJQ19IV0VJR0hUPXkKIENPTkZJR19HRU5FUklDX0NBTElCUkFURV9ERUxBWT15CitDT05GSUdfQVJDSF9TVVBQT1JUU19BT1VUPXkKIENPTkZJR19aT05FX0RNQT15Ci1DT05GSUdfQVJDSF9NVERfWElQPXkKIENPTkZJR19WRUNUT1JTX0JBU0U9MHhmZmZmMDAwMAogQ09ORklHX0RFRkNPTkZJR19MSVNUPSIvbGliL21vZHVsZXMvJFVOQU1FX1JFTEVBU0UvLmNvbmZpZyIKIAogIwotIyBDb2RlIG1hdHVyaXR5IGxldmVsIG9wdGlvbnMKKyMgR2VuZXJhbCBzZXR1cAogIwogQ09ORklHX0VYUEVSSU1FTlRBTD15CiBDT05GSUdfQlJPS0VOX09OX1NNUD15CitDT05GSUdfTE9DS19LRVJORUw9eQogQ09ORklHX0lOSVRfRU5WX0FSR19MSU1JVD0zMgotCi0jCi0jIEdlbmVyYWwgc2V0dXAKLSMKIENPTkZJR19MT0NBTFZFUlNJT049IiIKLSMgQ09ORklHX0xPQ0FMVkVSU0lPTl9BVVRPIGlzIG5vdCBzZXQKK0NPTkZJR19MT0NBTFZFUlNJT05fQVVUTz15CiBDT05GSUdfU1dBUD15CiBDT05GSUdfU1lTVklQQz15CiBDT05GSUdfU1lTVklQQ19TWVNDVEw9eQogIyBDT05GSUdfUE9TSVhfTVFVRVVFIGlzIG5vdCBzZXQKICMgQ09ORklHX0JTRF9QUk9DRVNTX0FDQ1QgaXMgbm90IHNldAogIyBDT05GSUdfVEFTS1NUQVRTIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTRVJfTlMgaXMgbm90IHNldAogIyBDT05GSUdfQVVESVQgaXMgbm90IHNldAotQ09ORklHX0lLQ09ORklHPXkKLUNPTkZJR19JS0NPTkZJR19QUk9DPXkKLUNPTkZJR19MT0dfQlVGX1NISUZUPTE3Ci1DT05GSUdfU1lTRlNfREVQUkVDQVRFRD15CisjIENPTkZJR19JS0NPTkZJRyBpcyBub3Qgc2V0CitDT05GSUdfTE9HX0JVRl9TSElGVD0xNAorIyBDT05GSUdfQ0dST1VQUyBpcyBub3Qgc2V0CisjIENPTkZJR19HUk9VUF9TQ0hFRCBpcyBub3Qgc2V0CisjIENPTkZJR19TWVNGU19ERVBSRUNBVEVEX1YyIGlzIG5vdCBzZXQKICMgQ09ORklHX1JFTEFZIGlzIG5vdCBzZXQKLUNPTkZJR19CTEtfREVWX0lOSVRSRD15Ci1DT05GSUdfSU5JVFJBTUZTX1NPVVJDRT0iIgorIyBDT05GSUdfTkFNRVNQQUNFUyBpcyBub3Qgc2V0CisjIENPTkZJR19CTEtfREVWX0lOSVRSRCBpcyBub3Qgc2V0CiBDT05GSUdfQ0NfT1BUSU1JWkVfRk9SX1NJWkU9eQogQ09ORklHX1NZU0NUTD15CiBDT05GSUdfRU1CRURERUQ9eQogQ09ORklHX1VJRDE2PXkKIENPTkZJR19TWVNDVExfU1lTQ0FMTD15CitDT05GSUdfU1lTQ1RMX1NZU0NBTExfQ0hFQ0s9eQogQ09ORklHX0tBTExTWU1TPXkKICMgQ09ORklHX0tBTExTWU1TX0FMTCBpcyBub3Qgc2V0CiAjIENPTkZJR19LQUxMU1lNU19FWFRSQV9QQVNTIGlzIG5vdCBzZXQKQEAgLTY1LDI3ICs2NCw0MCBAQAogQ09ORklHX1BSSU5USz15CiBDT05GSUdfQlVHPXkKIENPTkZJR19FTEZfQ09SRT15CitDT05GSUdfQ09NUEFUX0JSSz15CiBDT05GSUdfQkFTRV9GVUxMPXkKIENPTkZJR19GVVRFWD15CiBDT05GSUdfQU5PTl9JTk9ERVM9eQotIyBDT05GSUdfRVBPTEwgaXMgbm90IHNldAotIyBDT05GSUdfU0lHTkFMRkQgaXMgbm90IHNldAotIyBDT05GSUdfVElNRVJGRCBpcyBub3Qgc2V0Ci0jIENPTkZJR19FVkVOVEZEIGlzIG5vdCBzZXQKK0NPTkZJR19FUE9MTD15CitDT05GSUdfU0lHTkFMRkQ9eQorQ09ORklHX1RJTUVSRkQ9eQorQ09ORklHX0VWRU5URkQ9eQogQ09ORklHX1NITUVNPXkKIENPTkZJR19WTV9FVkVOVF9DT1VOVEVSUz15CiBDT05GSUdfU0xBQj15CiAjIENPTkZJR19TTFVCIGlzIG5vdCBzZXQKICMgQ09ORklHX1NMT0IgaXMgbm90IHNldAorQ09ORklHX1BST0ZJTElORz15CisjIENPTkZJR19NQVJLRVJTIGlzIG5vdCBzZXQKK0NPTkZJR19PUFJPRklMRT15CitDT05GSUdfSEFWRV9PUFJPRklMRT15CitDT05GSUdfS1BST0JFUz15CitDT05GSUdfS1JFVFBST0JFUz15CitDT05GSUdfSEFWRV9LUFJPQkVTPXkKK0NPTkZJR19IQVZFX0tSRVRQUk9CRVM9eQorIyBDT05GSUdfSEFWRV9ETUFfQVRUUlMgaXMgbm90IHNldAorQ09ORklHX1BST0NfUEFHRV9NT05JVE9SPXkKK0NPTkZJR19TTEFCSU5GTz15CiBDT05GSUdfUlRfTVVURVhFUz15CiAjIENPTkZJR19USU5ZX1NITUVNIGlzIG5vdCBzZXQKIENPTkZJR19CQVNFX1NNQUxMPTAKIENPTkZJR19NT0RVTEVTPXkKKyMgQ09ORklHX01PRFVMRV9GT1JDRV9MT0FEIGlzIG5vdCBzZXQKIENPTkZJR19NT0RVTEVfVU5MT0FEPXkKLUNPTkZJR19NT0RVTEVfRk9SQ0VfVU5MT0FEPXkKKyMgQ09ORklHX01PRFVMRV9GT1JDRV9VTkxPQUQgaXMgbm90IHNldAogIyBDT05GSUdfTU9EVkVSU0lPTlMgaXMgbm90IHNldAogIyBDT05GSUdfTU9EVUxFX1NSQ1ZFUlNJT05fQUxMIGlzIG5vdCBzZXQKLUNPTkZJR19LTU9EPXkKKyMgQ09ORklHX0tNT0QgaXMgbm90IHNldAogQ09ORklHX0JMT0NLPXkKICMgQ09ORklHX0xCRCBpcyBub3Qgc2V0CiAjIENPTkZJR19CTEtfREVWX0lPX1RSQUNFIGlzIG5vdCBzZXQKQEAgLTk5LDExICsxMTEsMTIgQEAKIENPTkZJR19JT1NDSEVEX0FTPXkKIENPTkZJR19JT1NDSEVEX0RFQURMSU5FPXkKIENPTkZJR19JT1NDSEVEX0NGUT15Ci1DT05GSUdfREVGQVVMVF9BUz15CisjIENPTkZJR19ERUZBVUxUX0FTIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFRkFVTFRfREVBRExJTkUgaXMgbm90IHNldAotIyBDT05GSUdfREVGQVVMVF9DRlEgaXMgbm90IHNldAorQ09ORklHX0RFRkFVTFRfQ0ZRPXkKICMgQ09ORklHX0RFRkFVTFRfTk9PUCBpcyBub3Qgc2V0Ci1DT05GSUdfREVGQVVMVF9JT1NDSEVEPSJhbnRpY2lwYXRvcnkiCitDT05GSUdfREVGQVVMVF9JT1NDSEVEPSJjZnEiCitDT05GSUdfQ0xBU1NJQ19SQ1U9eQogCiAjCiAjIFN5c3RlbSBUeXBlCkBAIC0xMjksMTAgKzE0MiwxNSBAQAogIyBDT05GSUdfQVJDSF9JWFAyMDAwIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfSVhQNFhYIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfTDcyMDAgaXMgbm90IHNldAorQ09ORklHX0FSQ0hfS0lSS1dPT0Q9eQogIyBDT05GSUdfQVJDSF9LUzg2OTUgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9OUzlYWFggaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9MT0tJIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfTVY3OFhYMCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX01YQyBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX09SSU9ONVggaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9QTlg0MDA4IGlzIG5vdCBzZXQKLUNPTkZJR19BUkNIX1BYQT15CisjIENPTkZJR19BUkNIX1BYQSBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX1JQQyBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX1NBMTEwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX1MzQzI0MTAgaXMgbm90IHNldApAQCAtMTQwLDI5ICsxNTgsMzYgQEAKICMgQ09ORklHX0FSQ0hfTEg3QTQwWCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0RBVklOQ0kgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9PTUFQIGlzIG5vdCBzZXQKLUNPTkZJR19ETUFCT1VOQ0U9eQorIyBDT05GSUdfQVJDSF9NU003WDAwQSBpcyBub3Qgc2V0CiAKICMKLSMgSW50ZWwgUFhBMnh4IEltcGxlbWVudGF0aW9ucworIyBNYXJ2ZWxsIEtpcmt3b29kIEltcGxlbWVudGF0aW9ucwogIwotIyBDT05GSUdfQVJDSF9MVUJCT0NLIGlzIG5vdCBzZXQKLSMgQ09ORklHX01BQ0hfTE9HSUNQRF9QWEEyNzAgaXMgbm90IHNldAotIyBDT05GSUdfTUFDSF9NQUlOU1RPTkUgaXMgbm90IHNldAotIyBDT05GSUdfQVJDSF9QWEFfSURQIGlzIG5vdCBzZXQKLSMgQ09ORklHX1BYQV9TSEFSUFNMIGlzIG5vdCBzZXQKLSMgQ09ORklHX01BQ0hfVFJJWkVQUzQgaXMgbm90IHNldAotQ09ORklHX01BQ0hfQVJNQ09SRT15Ci1DT05GSUdfUFhBMjd4PXkKK0NPTkZJR19NQUNIX0RCODhGNjI4MV9CUD15CitDT05GSUdfTUFDSF9SRDg4RjYxOTJfTkFTPXkKK0NPTkZJR19NQUNIX1JEODhGNjI4MT15CisKKyMKKyMgQm9vdCBvcHRpb25zCisjCisKKyMKKyMgUG93ZXIgbWFuYWdlbWVudAorIworQ09ORklHX1BMQVRfT1JJT049eQogCiAjCiAjIFByb2Nlc3NvciBUeXBlCiAjCiBDT05GSUdfQ1BVXzMyPXkKLUNPTkZJR19DUFVfWFNDQUxFPXkKK0NPTkZJR19DUFVfRkVST0NFT049eQorIyBDT05GSUdfQ1BVX0ZFUk9DRU9OX09MRF9JRCBpcyBub3Qgc2V0CiBDT05GSUdfQ1BVXzMydjU9eQogQ09ORklHX0NQVV9BQlJUX0VWNVQ9eQorQ09ORklHX0NQVV9QQUJSVF9OT0lGQVI9eQogQ09ORklHX0NQVV9DQUNIRV9WSVZUPXkKLUNPTkZJR19DUFVfVExCX1Y0V0JJPXkKK0NPTkZJR19DUFVfQ09QWV9GRVJPQ0VPTj15CitDT05GSUdfQ1BVX1RMQl9GRVJPQ0VPTj15CiBDT05GSUdfQ1BVX0NQMTU9eQogQ09ORklHX0NQVV9DUDE1X01NVT15CiAKQEAgLTE3MCwzMyArMTk1LDMyIEBACiAjIFByb2Nlc3NvciBGZWF0dXJlcwogIwogQ09ORklHX0FSTV9USFVNQj15CisjIENPTkZJR19DUFVfSUNBQ0hFX0RJU0FCTEUgaXMgbm90IHNldAogIyBDT05GSUdfQ1BVX0RDQUNIRV9ESVNBQkxFIGlzIG5vdCBzZXQKLSMgQ09ORklHX09VVEVSX0NBQ0hFIGlzIG5vdCBzZXQKLUNPTkZJR19JV01NWFQ9eQotQ09ORklHX1hTQ0FMRV9QTVU9eQorQ09ORklHX09VVEVSX0NBQ0hFPXkKK0NPTkZJR19DQUNIRV9GRVJPQ0VPTl9MMj15CiAKICMKICMgQnVzIHN1cHBvcnQKICMKIENPTkZJR19QQ0k9eQogQ09ORklHX1BDSV9TWVNDQUxMPXkKLUNPTkZJR19QQ0lfSE9TVF9JVEU4MTUyPXkKICMgQ09ORklHX0FSQ0hfU1VQUE9SVFNfTVNJIGlzIG5vdCBzZXQKK0NPTkZJR19QQ0lfTEVHQUNZPXkKICMgQ09ORklHX1BDSV9ERUJVRyBpcyBub3Qgc2V0Ci0KLSMKLSMgUENDQVJEIChQQ01DSUEvQ2FyZEJ1cykgc3VwcG9ydAotIwogIyBDT05GSUdfUENDQVJEIGlzIG5vdCBzZXQKIAogIwogIyBLZXJuZWwgRmVhdHVyZXMKICMKLSMgQ09ORklHX1RJQ0tfT05FU0hPVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19QUkVFTVBUIGlzIG5vdCBzZXQKLSMgQ09ORklHX05PX0lETEVfSFogaXMgbm90IHNldAorQ09ORklHX1RJQ0tfT05FU0hPVD15CitDT05GSUdfTk9fSFo9eQorQ09ORklHX0hJR0hfUkVTX1RJTUVSUz15CitDT05GSUdfR0VORVJJQ19DTE9DS0VWRU5UU19CVUlMRD15CitDT05GSUdfUFJFRU1QVD15CiBDT05GSUdfSFo9MTAwCi0jIENPTkZJR19BRUFCSSBpcyBub3Qgc2V0CitDT05GSUdfQUVBQkk9eQorIyBDT05GSUdfT0FCSV9DT01QQVQgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9ESVNDT05USUdNRU1fRU5BQkxFIGlzIG5vdCBzZXQKIENPTkZJR19TRUxFQ1RfTUVNT1JZX01PREVMPXkKIENPTkZJR19GTEFUTUVNX01BTlVBTD15CkBAIC0yMDUsNiArMjI5LDggQEAKIENPTkZJR19GTEFUTUVNPXkKIENPTkZJR19GTEFUX05PREVfTUVNX01BUD15CiAjIENPTkZJR19TUEFSU0VNRU1fU1RBVElDIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NQQVJTRU1FTV9WTUVNTUFQX0VOQUJMRSBpcyBub3Qgc2V0CitDT05GSUdfUEFHRUZMQUdTX0VYVEVOREVEPXkKIENPTkZJR19TUExJVF9QVExPQ0tfQ1BVUz00MDk2CiAjIENPTkZJR19SRVNPVVJDRVNfNjRCSVQgaXMgbm90IHNldAogQ09ORklHX1pPTkVfRE1BX0ZMQUc9MQpAQCAtMjI4LDkgKzI1NCw3IEBACiAjCiAjIEF0IGxlYXN0IG9uZSBlbXVsYXRpb24gbXVzdCBiZSBzZWxlY3RlZAogIwotQ09ORklHX0ZQRV9OV0ZQRT15Ci0jIENPTkZJR19GUEVfTldGUEVfWFAgaXMgbm90IHNldAotIyBDT05GSUdfRlBFX0ZBU1RGUEUgaXMgbm90IHNldAorIyBDT05GSUdfVkZQIGlzIG5vdCBzZXQKIAogIwogIyBVc2Vyc3BhY2UgYmluYXJ5IGZvcm1hdHMKQEAgLTIzOCwxNiArMjYyLDEyIEBACiBDT05GSUdfQklORk1UX0VMRj15CiAjIENPTkZJR19CSU5GTVRfQU9VVCBpcyBub3Qgc2V0CiAjIENPTkZJR19CSU5GTVRfTUlTQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19BUlRIVVIgaXMgbm90IHNldAogCiAjCiAjIFBvd2VyIG1hbmFnZW1lbnQgb3B0aW9ucwogIwotQ09ORklHX1BNPXkKLSMgQ09ORklHX1BNX0xFR0FDWSBpcyBub3Qgc2V0Ci0jIENPTkZJR19QTV9ERUJVRyBpcyBub3Qgc2V0Ci0jIENPTkZJR19QTV9TWVNGU19ERVBSRUNBVEVEIGlzIG5vdCBzZXQKLSMgQ09ORklHX0FQTV9FTVVMQVRJT04gaXMgbm90IHNldAorIyBDT05GSUdfUE0gaXMgbm90IHNldAorQ09ORklHX0FSQ0hfU1VTUEVORF9QT1NTSUJMRT15CiAKICMKICMgTmV0d29ya2luZwpAQCAtMjU4LDE1ICsyNzgsMTYgQEAKICMgTmV0d29ya2luZyBvcHRpb25zCiAjCiBDT05GSUdfUEFDS0VUPXkKLSMgQ09ORklHX1BBQ0tFVF9NTUFQIGlzIG5vdCBzZXQKK0NPTkZJR19QQUNLRVRfTU1BUD15CiBDT05GSUdfVU5JWD15CiBDT05GSUdfWEZSTT15CiAjIENPTkZJR19YRlJNX1VTRVIgaXMgbm90IHNldAogIyBDT05GSUdfWEZSTV9TVUJfUE9MSUNZIGlzIG5vdCBzZXQKICMgQ09ORklHX1hGUk1fTUlHUkFURSBpcyBub3Qgc2V0CisjIENPTkZJR19YRlJNX1NUQVRJU1RJQ1MgaXMgbm90IHNldAogIyBDT05GSUdfTkVUX0tFWSBpcyBub3Qgc2V0CiBDT05GSUdfSU5FVD15Ci0jIENPTkZJR19JUF9NVUxUSUNBU1QgaXMgbm90IHNldAorQ09ORklHX0lQX01VTFRJQ0FTVD15CiAjIENPTkZJR19JUF9BRFZBTkNFRF9ST1VURVIgaXMgbm90IHNldAogQ09ORklHX0lQX0ZJQl9IQVNIPXkKIENPTkZJR19JUF9QTlA9eQpAQCAtMjc1LDYgKzI5Niw3IEBACiAjIENPTkZJR19JUF9QTlBfUkFSUCBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRfSVBJUCBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRfSVBHUkUgaXMgbm90IHNldAorIyBDT05GSUdfSVBfTVJPVVRFIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSUEQgaXMgbm90IHNldAogIyBDT05GSUdfU1lOX0NPT0tJRVMgaXMgbm90IHNldAogIyBDT05GSUdfSU5FVF9BSCBpcyBub3Qgc2V0CkBAIC0yODUsNiArMzA3LDcgQEAKIENPTkZJR19JTkVUX1hGUk1fTU9ERV9UUkFOU1BPUlQ9eQogQ09ORklHX0lORVRfWEZSTV9NT0RFX1RVTk5FTD15CiBDT05GSUdfSU5FVF9YRlJNX01PREVfQkVFVD15CisjIENPTkZJR19JTkVUX0xSTyBpcyBub3Qgc2V0CiBDT05GSUdfSU5FVF9ESUFHPXkKIENPTkZJR19JTkVUX1RDUF9ESUFHPXkKICMgQ09ORklHX1RDUF9DT05HX0FEVkFOQ0VEIGlzIG5vdCBzZXQKQEAgLTI5Miw4ICszMTUsNiBAQAogQ09ORklHX0RFRkFVTFRfVENQX0NPTkc9ImN1YmljIgogIyBDT05GSUdfVENQX01ENVNJRyBpcyBub3Qgc2V0CiAjIENPTkZJR19JUFY2IGlzIG5vdCBzZXQKLSMgQ09ORklHX0lORVQ2X1hGUk1fVFVOTkVMIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lORVQ2X1RVTk5FTCBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRXT1JLX1NFQ01BUksgaXMgbm90IHNldAogIyBDT05GSUdfTkVURklMVEVSIGlzIG5vdCBzZXQKICMgQ09ORklHX0lQX0RDQ1AgaXMgbm90IHNldApAQCAtMzEwLDE3ICszMzEsMTUgQEAKICMgQ09ORklHX0xBUEIgaXMgbm90IHNldAogIyBDT05GSUdfRUNPTkVUIGlzIG5vdCBzZXQKICMgQ09ORklHX1dBTl9ST1VURVIgaXMgbm90IHNldAotCi0jCi0jIFFvUyBhbmQvb3IgZmFpciBxdWV1ZWluZwotIwogIyBDT05GSUdfTkVUX1NDSEVEIGlzIG5vdCBzZXQKIAogIwogIyBOZXR3b3JrIHRlc3RpbmcKICMKLSMgQ09ORklHX05FVF9QS1RHRU4gaXMgbm90IHNldAorQ09ORklHX05FVF9QS1RHRU49bQorIyBDT05GSUdfTkVUX1RDUFBST0JFIGlzIG5vdCBzZXQKICMgQ09ORklHX0hBTVJBRElPIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NBTiBpcyBub3Qgc2V0CiAjIENPTkZJR19JUkRBIGlzIG5vdCBzZXQKICMgQ09ORklHX0JUIGlzIG5vdCBzZXQKICMgQ09ORklHX0FGX1JYUlBDIGlzIG5vdCBzZXQKQEAgLTMzMSwxMiArMzUwLDcgQEAKICMgQ09ORklHX0NGRzgwMjExIGlzIG5vdCBzZXQKIENPTkZJR19XSVJFTEVTU19FWFQ9eQogIyBDT05GSUdfTUFDODAyMTEgaXMgbm90IHNldAotQ09ORklHX0lFRUU4MDIxMT1tCi0jIENPTkZJR19JRUVFODAyMTFfREVCVUcgaXMgbm90IHNldAotQ09ORklHX0lFRUU4MDIxMV9DUllQVF9XRVA9bQotQ09ORklHX0lFRUU4MDIxMV9DUllQVF9DQ01QPW0KLSMgQ09ORklHX0lFRUU4MDIxMV9DUllQVF9US0lQIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lFRUU4MDIxMV9TT0ZUTUFDIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lFRUU4MDIxMSBpcyBub3Qgc2V0CiAjIENPTkZJR19SRktJTEwgaXMgbm90IHNldAogIyBDT05GSUdfTkVUXzlQIGlzIG5vdCBzZXQKIApAQCAtMzQ3LDYgKzM2MSw3IEBACiAjCiAjIEdlbmVyaWMgRHJpdmVyIE9wdGlvbnMKICMKK0NPTkZJR19VRVZFTlRfSEVMUEVSX1BBVEg9Ii9zYmluL2hvdHBsdWciCiBDT05GSUdfU1RBTkRBTE9ORT15CiBDT05GSUdfUFJFVkVOVF9GSVJNV0FSRV9CVUlMRD15CiBDT05GSUdfRldfTE9BREVSPXkKQEAgLTM1NCwzNCArMzY5LDQyIEBACiAjIENPTkZJR19ERUJVR19ERVZSRVMgaXMgbm90IHNldAogIyBDT05GSUdfU1lTX0hZUEVSVklTT1IgaXMgbm90IHNldAogIyBDT05GSUdfQ09OTkVDVE9SIGlzIG5vdCBzZXQKLUNPTkZJR19NVEQ9bQorQ09ORklHX01URD15CiAjIENPTkZJR19NVERfREVCVUcgaXMgbm90IHNldAogIyBDT05GSUdfTVREX0NPTkNBVCBpcyBub3Qgc2V0CiBDT05GSUdfTVREX1BBUlRJVElPTlM9eQogIyBDT05GSUdfTVREX1JFREJPT1RfUEFSVFMgaXMgbm90IHNldAorQ09ORklHX01URF9DTURMSU5FX1BBUlRTPXkKICMgQ09ORklHX01URF9BRlNfUEFSVFMgaXMgbm90IHNldAorIyBDT05GSUdfTVREX0FSN19QQVJUUyBpcyBub3Qgc2V0CiAKICMKICMgVXNlciBNb2R1bGVzIEFuZCBUcmFuc2xhdGlvbiBMYXllcnMKICMKLUNPTkZJR19NVERfQ0hBUj1tCi1DT05GSUdfTVREX0JMS0RFVlM9bQotQ09ORklHX01URF9CTE9DSz1tCi0jIENPTkZJR19NVERfQkxPQ0tfUk8gaXMgbm90IHNldAorQ09ORklHX01URF9DSEFSPXkKK0NPTkZJR19NVERfQkxLREVWUz15CitDT05GSUdfTVREX0JMT0NLPXkKICMgQ09ORklHX0ZUTCBpcyBub3Qgc2V0CiAjIENPTkZJR19ORlRMIGlzIG5vdCBzZXQKICMgQ09ORklHX0lORlRMIGlzIG5vdCBzZXQKICMgQ09ORklHX1JGRF9GVEwgaXMgbm90IHNldAogIyBDT05GSUdfU1NGREMgaXMgbm90IHNldAorIyBDT05GSUdfTVREX09PUFMgaXMgbm90IHNldAogCiAjCiAjIFJBTS9ST00vRmxhc2ggY2hpcCBkcml2ZXJzCiAjCi0jIENPTkZJR19NVERfQ0ZJIGlzIG5vdCBzZXQKLSMgQ09ORklHX01URF9KRURFQ1BST0JFIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfQ0ZJPXkKK0NPTkZJR19NVERfSkVERUNQUk9CRT15CitDT05GSUdfTVREX0dFTl9QUk9CRT15CitDT05GSUdfTVREX0NGSV9BRFZfT1BUSU9OUz15CitDT05GSUdfTVREX0NGSV9OT1NXQVA9eQorIyBDT05GSUdfTVREX0NGSV9CRV9CWVRFX1NXQVAgaXMgbm90IHNldAorIyBDT05GSUdfTVREX0NGSV9MRV9CWVRFX1NXQVAgaXMgbm90IHNldAorQ09ORklHX01URF9DRklfR0VPTUVUUlk9eQogQ09ORklHX01URF9NQVBfQkFOS19XSURUSF8xPXkKIENPTkZJR19NVERfTUFQX0JBTktfV0lEVEhfMj15Ci1DT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzQ9eQorIyBDT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzQgaXMgbm90IHNldAogIyBDT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzggaXMgbm90IHNldAogIyBDT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzE2IGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9NQVBfQkFOS19XSURUSF8zMiBpcyBub3Qgc2V0CkBAIC0zODksNiArNDEyLDExIEBACiBDT05GSUdfTVREX0NGSV9JMj15CiAjIENPTkZJR19NVERfQ0ZJX0k0IGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9DRklfSTggaXMgbm90IHNldAorIyBDT05GSUdfTVREX09UUCBpcyBub3Qgc2V0CitDT05GSUdfTVREX0NGSV9JTlRFTEVYVD15CisjIENPTkZJR19NVERfQ0ZJX0FNRFNURCBpcyBub3Qgc2V0CitDT05GSUdfTVREX0NGSV9TVEFBPXkKK0NPTkZJR19NVERfQ0ZJX1VUSUw9eQogIyBDT05GSUdfTVREX1JBTSBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfUk9NIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9BQlNFTlQgaXMgbm90IHNldApAQCAtMzk3LDEzICs0MjUsMjIgQEAKICMgTWFwcGluZyBkcml2ZXJzIGZvciBjaGlwIGFjY2VzcwogIwogIyBDT05GSUdfTVREX0NPTVBMRVhfTUFQUElOR1MgaXMgbm90IHNldAotIyBDT05GSUdfTVREX1NIQVJQX1NMIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfUEhZU01BUD15CitDT05GSUdfTVREX1BIWVNNQVBfU1RBUlQ9MHgwCitDT05GSUdfTVREX1BIWVNNQVBfTEVOPTB4MAorQ09ORklHX01URF9QSFlTTUFQX0JBTktXSURUSD0wCisjIENPTkZJR19NVERfQVJNX0lOVEVHUkFUT1IgaXMgbm90IHNldAorIyBDT05GSUdfTVREX0lNUEE3IGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9JTlRFTF9WUl9OT1IgaXMgbm90IHNldAogIyBDT05GSUdfTVREX1BMQVRSQU0gaXMgbm90IHNldAogCiAjCiAjIFNlbGYtY29udGFpbmVkIE1URCBkZXZpY2UgZHJpdmVycwogIwogIyBDT05GSUdfTVREX1BNQzU1MSBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfREFUQUZMQVNIIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfTTI1UDgwPXkKK0NPTkZJR19NMjVQWFhfVVNFX0ZBU1RfUkVBRD15CiAjIENPTkZJR19NVERfU0xSQU0gaXMgbm90IHNldAogIyBDT05GSUdfTVREX1BIUkFNIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9NVERSQU0gaXMgbm90IHNldApAQCAtNDE1LDE4ICs0NTIsMTcgQEAKICMgQ09ORklHX01URF9ET0MyMDAwIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9ET0MyMDAxIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9ET0MyMDAxUExVUyBpcyBub3Qgc2V0Ci1DT05GSUdfTVREX05BTkQ9bQotIyBDT05GSUdfTVREX05BTkRfVkVSSUZZX1dSSVRFIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfTkFORD15CitDT05GSUdfTVREX05BTkRfVkVSSUZZX1dSSVRFPXkKICMgQ09ORklHX01URF9OQU5EX0VDQ19TTUMgaXMgbm90IHNldAogIyBDT05GSUdfTVREX05BTkRfTVVTRVVNX0lEUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19NVERfTkFORF9IMTkwMCBpcyBub3Qgc2V0Ci1DT05GSUdfTVREX05BTkRfSURTPW0KK0NPTkZJR19NVERfTkFORF9JRFM9eQogIyBDT05GSUdfTVREX05BTkRfRElTS09OQ0hJUCBpcyBub3Qgc2V0Ci0jIENPTkZJR19NVERfTkFORF9TSEFSUFNMIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9OQU5EX0NBRkUgaXMgbm90IHNldAotQ09ORklHX01URF9OQU5EX0NNX1gyNzA9bQogIyBDT05GSUdfTVREX05BTkRfTkFORFNJTSBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfTkFORF9QTEFURk9STSBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfQUxBVURBIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfTkFORF9PUklPTj15CiAjIENPTkZJR19NVERfT05FTkFORCBpcyBub3Qgc2V0CiAKICMKQEAgLTQ0NSwzOCArNDgxLDEyIEBACiAjIENPTkZJR19CTEtfREVWX05CRCBpcyBub3Qgc2V0CiAjIENPTkZJR19CTEtfREVWX1NYOCBpcyBub3Qgc2V0CiAjIENPTkZJR19CTEtfREVWX1VCIGlzIG5vdCBzZXQKLUNPTkZJR19CTEtfREVWX1JBTT15Ci1DT05GSUdfQkxLX0RFVl9SQU1fQ09VTlQ9MTYKLUNPTkZJR19CTEtfREVWX1JBTV9TSVpFPTEyMDAwCi1DT05GSUdfQkxLX0RFVl9SQU1fQkxPQ0tTSVpFPTEwMjQKKyMgQ09ORklHX0JMS19ERVZfUkFNIGlzIG5vdCBzZXQKICMgQ09ORklHX0NEUk9NX1BLVENEVkQgaXMgbm90IHNldAogIyBDT05GSUdfQVRBX09WRVJfRVRIIGlzIG5vdCBzZXQKLUNPTkZJR19JREU9bQotQ09ORklHX0lERV9NQVhfSFdJRlM9NAotQ09ORklHX0JMS19ERVZfSURFPW0KLQotIwotIyBQbGVhc2Ugc2VlIERvY3VtZW50YXRpb24vaWRlLnR4dCBmb3IgaGVscC9pbmZvIG9uIElERSBkcml2ZXMKLSMKLSMgQ09ORklHX0JMS19ERVZfSURFX1NBVEEgaXMgbm90IHNldAotQ09ORklHX0JMS19ERVZfSURFRElTSz1tCi0jIENPTkZJR19JREVESVNLX01VTFRJX01PREUgaXMgbm90IHNldAotQ09ORklHX0JMS19ERVZfSURFQ0Q9bQotIyBDT05GSUdfQkxLX0RFVl9JREVUQVBFIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfSURFRkxPUFBZIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfSURFU0NTSSBpcyBub3Qgc2V0Ci0jIENPTkZJR19JREVfVEFTS19JT0NUTCBpcyBub3Qgc2V0Ci1DT05GSUdfSURFX1BST0NfRlM9eQotCi0jCi0jIElERSBjaGlwc2V0IHN1cHBvcnQvYnVnZml4ZXMKLSMKLSMgQ09ORklHX0lERV9HRU5FUklDIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfSURFUENJIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lERVBDSV9QQ0lCVVNfT1JERVIgaXMgbm90IHNldAotIyBDT05GSUdfSURFX0FSTSBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX0lERURNQSBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX0hEIGlzIG5vdCBzZXQKKyMgQ09ORklHX01JU0NfREVWSUNFUyBpcyBub3Qgc2V0CitDT05GSUdfSEFWRV9JREU9eQorIyBDT05GSUdfSURFIGlzIG5vdCBzZXQKIAogIwogIyBTQ1NJIGRldmljZSBzdXBwb3J0CkBAIC00OTQsOCArNTA0LDkgQEAKIENPTkZJR19CTEtfREVWX1NEPXkKICMgQ09ORklHX0NIUl9ERVZfU1QgaXMgbm90IHNldAogIyBDT05GSUdfQ0hSX0RFVl9PU1NUIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfU1IgaXMgbm90IHNldAotIyBDT05GSUdfQ0hSX0RFVl9TRyBpcyBub3Qgc2V0CitDT05GSUdfQkxLX0RFVl9TUj1tCisjIENPTkZJR19CTEtfREVWX1NSX1ZFTkRPUiBpcyBub3Qgc2V0CitDT05GSUdfQ0hSX0RFVl9TRz1tCiAjIENPTkZJR19DSFJfREVWX1NDSCBpcyBub3Qgc2V0CiAKICMKQEAgLTUxMywxMiArNTI0LDkgQEAKICMgQ09ORklHX1NDU0lfU1BJX0FUVFJTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfRkNfQVRUUlMgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9JU0NTSV9BVFRSUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX1NBU19BVFRSUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX1NBU19MSUJTQVMgaXMgbm90IHNldAotCi0jCi0jIFNDU0kgbG93LWxldmVsIGRyaXZlcnMKLSMKKyMgQ09ORklHX1NDU0lfU1JQX0FUVFJTIGlzIG5vdCBzZXQKK0NPTkZJR19TQ1NJX0xPV0xFVkVMPXkKICMgQ09ORklHX0lTQ1NJX1RDUCBpcyBub3Qgc2V0CiAjIENPTkZJR19CTEtfREVWXzNXX1hYWFhfUkFJRCBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJXzNXXzlYWFggaXMgbm90IHNldApAQCAtNTI5LDYgKzUzNyw3IEBACiAjIENPTkZJR19TQ1NJX0FJQzc5WFggaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9BSUM5NFhYIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfRFBUX0kyTyBpcyBub3Qgc2V0CisjIENPTkZJR19TQ1NJX0FEVkFOU1lTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfQVJDTVNSIGlzIG5vdCBzZXQKICMgQ09ORklHX01FR0FSQUlEX05FV0dFTiBpcyBub3Qgc2V0CiAjIENPTkZJR19NRUdBUkFJRF9MRUdBQ1kgaXMgbm90IHNldApAQCAtNTM5LDggKzU0OCwxMCBAQAogIyBDT05GSUdfU0NTSV9JUFMgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9JTklUSU8gaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9JTklBMTAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NDU0lfTVZTQVMgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9TVEVYIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfU1lNNTNDOFhYXzIgaXMgbm90IHNldAorIyBDT05GSUdfU0NTSV9JUFIgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9RTE9HSUNfMTI4MCBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX1FMQV9GQyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX1FMQV9JU0NTSSBpcyBub3Qgc2V0CkBAIC01NTAsMTYgKzU2MSw2OCBAQAogIyBDT05GSUdfU0NTSV9OU1AzMiBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX0RFQlVHIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfU1JQIGlzIG5vdCBzZXQKLSMgQ09ORklHX0FUQSBpcyBub3Qgc2V0CitDT05GSUdfQVRBPXkKKyMgQ09ORklHX0FUQV9OT05TVEFOREFSRCBpcyBub3Qgc2V0CitDT05GSUdfU0FUQV9QTVA9eQorIyBDT05GSUdfU0FUQV9BSENJIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NBVEFfU0lMMjQgaXMgbm90IHNldAorQ09ORklHX0FUQV9TRkY9eQorIyBDT05GSUdfU0FUQV9TVlcgaXMgbm90IHNldAorIyBDT05GSUdfQVRBX1BJSVggaXMgbm90IHNldAorQ09ORklHX1NBVEFfTVY9eQorIyBDT05GSUdfU0FUQV9OViBpcyBub3Qgc2V0CisjIENPTkZJR19QRENfQURNQSBpcyBub3Qgc2V0CisjIENPTkZJR19TQVRBX1FTVE9SIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NBVEFfUFJPTUlTRSBpcyBub3Qgc2V0CisjIENPTkZJR19TQVRBX1NYNCBpcyBub3Qgc2V0CisjIENPTkZJR19TQVRBX1NJTCBpcyBub3Qgc2V0CisjIENPTkZJR19TQVRBX1NJUyBpcyBub3Qgc2V0CisjIENPTkZJR19TQVRBX1VMSSBpcyBub3Qgc2V0CisjIENPTkZJR19TQVRBX1ZJQSBpcyBub3Qgc2V0CisjIENPTkZJR19TQVRBX1ZJVEVTU0UgaXMgbm90IHNldAorIyBDT05GSUdfU0FUQV9JTklDMTYyWCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX0FMSSBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX0FNRCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX0FSVE9QIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfQVRJSVhQIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfQ01ENjQwX1BDSSBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX0NNRDY0WCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX0NTNTUyMCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX0NTNTUzMCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX0NZUFJFU1MgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9FRkFSIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FUQV9HRU5FUklDIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfSFBUMzY2IGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfSFBUMzdYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfSFBUM1gyTiBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX0hQVDNYMyBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX0lUODIxWCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX0lUODIxMyBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX0pNSUNST04gaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9UUklGTEVYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfTUFSVkVMTCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX01QSUlYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfT0xEUElJWCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX05FVENFTEwgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9OSU5KQTMyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfTlM4NzQxMCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX05TODc0MTUgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9PUFRJIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfT1BUSURNQSBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX1BEQ19PTEQgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9SQURJU1lTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfUloxMDAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfU0MxMjAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfU0VSVkVSV09SS1MgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9QREMyMDI3WCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX1NJTDY4MCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX1NJUyBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX1ZJQSBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX1dJTkJPTkQgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9QTEFURk9STSBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX1NDSCBpcyBub3Qgc2V0CiAjIENPTkZJR19NRCBpcyBub3Qgc2V0Ci0KLSMKLSMgRnVzaW9uIE1QVCBkZXZpY2Ugc3VwcG9ydAotIwogIyBDT05GSUdfRlVTSU9OIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZVU0lPTl9TUEkgaXMgbm90IHNldAotIyBDT05GSUdfRlVTSU9OX0ZDIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZVU0lPTl9TQVMgaXMgbm90IHNldAogCiAjCiAjIElFRUUgMTM5NCAoRmlyZVdpcmUpIHN1cHBvcnQKQEAgLTU3NCw2ICs2MzcsNyBAQAogIyBDT05GSUdfTUFDVkxBTiBpcyBub3Qgc2V0CiAjIENPTkZJR19FUVVBTElaRVIgaXMgbm90IHNldAogIyBDT05GSUdfVFVOIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZFVEggaXMgbm90IHNldAogIyBDT05GSUdfQVJDTkVUIGlzIG5vdCBzZXQKICMgQ09ORklHX1BIWUxJQiBpcyBub3Qgc2V0CiBDT05GSUdfTkVUX0VUSEVSTkVUPXkKQEAgLTU4NCwyOCArNjQ4LDI4IEBACiAjIENPTkZJR19DQVNTSU5JIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVF9WRU5ET1JfM0NPTSBpcyBub3Qgc2V0CiAjIENPTkZJR19TTUM5MVggaXMgbm90IHNldAotQ09ORklHX0RNOTAwMD15Ci0jIENPTkZJR19TTUM5MTFYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RNOTAwMCBpcyBub3Qgc2V0CisjIENPTkZJR19FTkMyOEo2MCBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRfVFVMSVAgaXMgbm90IHNldAogIyBDT05GSUdfSFAxMDAgaXMgbm90IHNldAorIyBDT05GSUdfSUJNX05FV19FTUFDX1pNSUkgaXMgbm90IHNldAorIyBDT05GSUdfSUJNX05FV19FTUFDX1JHTUlJIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTV9ORVdfRU1BQ19UQUggaXMgbm90IHNldAorIyBDT05GSUdfSUJNX05FV19FTUFDX0VNQUM0IGlzIG5vdCBzZXQKIENPTkZJR19ORVRfUENJPXkKICMgQ09ORklHX1BDTkVUMzIgaXMgbm90IHNldAogIyBDT05GSUdfQU1EODExMV9FVEggaXMgbm90IHNldAogIyBDT05GSUdfQURBUFRFQ19TVEFSRklSRSBpcyBub3Qgc2V0CiAjIENPTkZJR19CNDQgaXMgbm90IHNldAogIyBDT05GSUdfRk9SQ0VERVRIIGlzIG5vdCBzZXQKLSMgQ09ORklHX0RHUlMgaXMgbm90IHNldAogIyBDT05GSUdfRUVQUk8xMDAgaXMgbm90IHNldAogIyBDT05GSUdfRTEwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19GRUFMTlggaXMgbm90IHNldAogIyBDT05GSUdfTkFUU0VNSSBpcyBub3Qgc2V0CiAjIENPTkZJR19ORTJLX1BDSSBpcyBub3Qgc2V0CiAjIENPTkZJR184MTM5Q1AgaXMgbm90IHNldAotQ09ORklHXzgxMzlUT089bQotIyBDT05GSUdfODEzOVRPT19QSU8gaXMgbm90IHNldAotIyBDT05GSUdfODEzOVRPT19UVU5FX1RXSVNURVIgaXMgbm90IHNldAotIyBDT05GSUdfODEzOVRPT184MTI5IGlzIG5vdCBzZXQKLSMgQ09ORklHXzgxMzlfT0xEX1JYX1JFU0VUIGlzIG5vdCBzZXQKKyMgQ09ORklHXzgxMzlUT08gaXMgbm90IHNldAorIyBDT05GSUdfUjYwNDAgaXMgbm90IHNldAogIyBDT05GSUdfU0lTOTAwIGlzIG5vdCBzZXQKICMgQ09ORklHX0VQSUMxMDAgaXMgbm90IHNldAogIyBDT05GSUdfU1VOREFOQ0UgaXMgbm90IHNldApAQCAtNjE1LDcgKzY3OSwxMyBAQAogQ09ORklHX05FVERFVl8xMDAwPXkKICMgQ09ORklHX0FDRU5JQyBpcyBub3Qgc2V0CiAjIENPTkZJR19ETDJLIGlzIG5vdCBzZXQKLSMgQ09ORklHX0UxMDAwIGlzIG5vdCBzZXQKK0NPTkZJR19FMTAwMD15CitDT05GSUdfRTEwMDBfTkFQST15CisjIENPTkZJR19FMTAwMF9ESVNBQkxFX1BBQ0tFVF9TUExJVCBpcyBub3Qgc2V0CisjIENPTkZJR19FMTAwMEUgaXMgbm90IHNldAorIyBDT05GSUdfRTEwMDBFX0VOQUJMRUQgaXMgbm90IHNldAorIyBDT05GSUdfSVAxMDAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lHQiBpcyBub3Qgc2V0CiAjIENPTkZJR19OUzgzODIwIGlzIG5vdCBzZXQKICMgQ09ORklHX0hBTUFDSEkgaXMgbm90IHNldAogIyBDT05GSUdfWUVMTE9XRklOIGlzIG5vdCBzZXQKQEAgLTYyNiwxNiArNjk2LDEwIEBACiAjIENPTkZJR19WSUFfVkVMT0NJVFkgaXMgbm90IHNldAogIyBDT05GSUdfVElHT04zIGlzIG5vdCBzZXQKICMgQ09ORklHX0JOWDIgaXMgbm90IHNldAorQ09ORklHX01WNjQzWFhfRVRIPXkKICMgQ09ORklHX1FMQTNYWFggaXMgbm90IHNldAogIyBDT05GSUdfQVRMMSBpcyBub3Qgc2V0Ci1DT05GSUdfTkVUREVWXzEwMDAwPXkKLSMgQ09ORklHX0NIRUxTSU9fVDEgaXMgbm90IHNldAotIyBDT05GSUdfQ0hFTFNJT19UMyBpcyBub3Qgc2V0Ci0jIENPTkZJR19JWEdCIGlzIG5vdCBzZXQKLSMgQ09ORklHX1MySU8gaXMgbm90IHNldAotIyBDT05GSUdfTVlSSTEwR0UgaXMgbm90IHNldAotIyBDT05GSUdfTkVUWEVOX05JQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19NTFg0X0NPUkUgaXMgbm90IHNldAorIyBDT05GSUdfTkVUREVWXzEwMDAwIGlzIG5vdCBzZXQKICMgQ09ORklHX1RSIGlzIG5vdCBzZXQKIAogIwpAQCAtNjQzLDYgKzcwNyw3IEBACiAjCiAjIENPTkZJR19XTEFOX1BSRTgwMjExIGlzIG5vdCBzZXQKICMgQ09ORklHX1dMQU5fODAyMTEgaXMgbm90IHNldAorIyBDT05GSUdfSVdMV0lGSV9MRURTIGlzIG5vdCBzZXQKIAogIwogIyBVU0IgTmV0d29yayBBZGFwdGVycwpAQCAtNjUxLDcgKzcxNiw2IEBACiAjIENPTkZJR19VU0JfS0FXRVRIIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9QRUdBU1VTIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9SVEw4MTUwIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9VU0JORVRfTUlJIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9VU0JORVQgaXMgbm90IHNldAogIyBDT05GSUdfV0FOIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZEREkgaXMgbm90IHNldApAQCAtNjU5LDcgKzcyMyw2IEBACiAjIENPTkZJR19QUFAgaXMgbm90IHNldAogIyBDT05GSUdfU0xJUCBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRfRkMgaXMgbm90IHNldAotIyBDT05GSUdfU0hBUEVSIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVENPTlNPTEUgaXMgbm90IHNldAogIyBDT05GSUdfTkVUUE9MTCBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRfUE9MTF9DT05UUk9MTEVSIGlzIG5vdCBzZXQKQEAgLTY3NSwxMCArNzM4LDEyIEBACiAjCiAjIFVzZXJsYW5kIGludGVyZmFjZXMKICMKLSMgQ09ORklHX0lOUFVUX01PVVNFREVWIGlzIG5vdCBzZXQKK0NPTkZJR19JTlBVVF9NT1VTRURFVj15CitDT05GSUdfSU5QVVRfTU9VU0VERVZfUFNBVVg9eQorQ09ORklHX0lOUFVUX01PVVNFREVWX1NDUkVFTl9YPTEwMjQKK0NPTkZJR19JTlBVVF9NT1VTRURFVl9TQ1JFRU5fWT03NjgKICMgQ09ORklHX0lOUFVUX0pPWURFViBpcyBub3Qgc2V0Ci0jIENPTkZJR19JTlBVVF9UU0RFViBpcyBub3Qgc2V0Ci1DT05GSUdfSU5QVVRfRVZERVY9eQorIyBDT05GSUdfSU5QVVRfRVZERVYgaXMgbm90IHNldAogIyBDT05GSUdfSU5QVVRfRVZCVUcgaXMgbm90IHNldAogCiAjCkBAIC02ODgsMTYgKzc1Myw3IEBACiAjIENPTkZJR19JTlBVVF9NT1VTRSBpcyBub3Qgc2V0CiAjIENPTkZJR19JTlBVVF9KT1lTVElDSyBpcyBub3Qgc2V0CiAjIENPTkZJR19JTlBVVF9UQUJMRVQgaXMgbm90IHNldAotQ09ORklHX0lOUFVUX1RPVUNIU0NSRUVOPXkKLSMgQ09ORklHX1RPVUNIU0NSRUVOX0dVTlpFIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RPVUNIU0NSRUVOX0VMTyBpcyBub3Qgc2V0Ci0jIENPTkZJR19UT1VDSFNDUkVFTl9NVE9VQ0ggaXMgbm90IHNldAotIyBDT05GSUdfVE9VQ0hTQ1JFRU5fTUs3MTIgaXMgbm90IHNldAotIyBDT05GSUdfVE9VQ0hTQ1JFRU5fUEVOTU9VTlQgaXMgbm90IHNldAotIyBDT05GSUdfVE9VQ0hTQ1JFRU5fVE9VQ0hSSUdIVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19UT1VDSFNDUkVFTl9UT1VDSFdJTiBpcyBub3Qgc2V0Ci1DT05GSUdfVE9VQ0hTQ1JFRU5fVUNCMTQwMD1tCi0jIENPTkZJR19UT1VDSFNDUkVFTl9VU0JfQ09NUE9TSVRFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOUFVUX1RPVUNIU0NSRUVOIGlzIG5vdCBzZXQKICMgQ09ORklHX0lOUFVUX01JU0MgaXMgbm90IHNldAogCiAjCkBAIC03MDksMjc1ICs3NjUsMTU4IEBACiAjCiAjIENoYXJhY3RlciBkZXZpY2VzCiAjCi1DT05GSUdfVlQ9eQotQ09ORklHX1ZUX0NPTlNPTEU9eQotQ09ORklHX0hXX0NPTlNPTEU9eQotIyBDT05GSUdfVlRfSFdfQ09OU09MRV9CSU5ESU5HIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFVktNRU0gaXMgbm90IHNldAogIyBDT05GSUdfU0VSSUFMX05PTlNUQU5EQVJEIGlzIG5vdCBzZXQKKyMgQ09ORklHX05PWk9NSSBpcyBub3Qgc2V0CiAKICMKICMgU2VyaWFsIGRyaXZlcnMKICMKLSMgQ09ORklHX1NFUklBTF84MjUwIGlzIG5vdCBzZXQKK0NPTkZJR19TRVJJQUxfODI1MD15CitDT05GSUdfU0VSSUFMXzgyNTBfQ09OU09MRT15CisjIENPTkZJR19TRVJJQUxfODI1MF9QQ0kgaXMgbm90IHNldAorQ09ORklHX1NFUklBTF84MjUwX05SX1VBUlRTPTQKK0NPTkZJR19TRVJJQUxfODI1MF9SVU5USU1FX1VBUlRTPTIKKyMgQ09ORklHX1NFUklBTF84MjUwX0VYVEVOREVEIGlzIG5vdCBzZXQKIAogIwogIyBOb24tODI1MCBzZXJpYWwgcG9ydCBzdXBwb3J0CiAjCi1DT05GSUdfU0VSSUFMX1BYQT15Ci1DT05GSUdfU0VSSUFMX1BYQV9DT05TT0xFPXkKIENPTkZJR19TRVJJQUxfQ09SRT15CiBDT05GSUdfU0VSSUFMX0NPUkVfQ09OU09MRT15CiAjIENPTkZJR19TRVJJQUxfSlNNIGlzIG5vdCBzZXQKIENPTkZJR19VTklYOThfUFRZUz15CiBDT05GSUdfTEVHQUNZX1BUWVM9eQotQ09ORklHX0xFR0FDWV9QVFlfQ09VTlQ9MjU2CitDT05GSUdfTEVHQUNZX1BUWV9DT1VOVD0xNgogIyBDT05GSUdfSVBNSV9IQU5ETEVSIGlzIG5vdCBzZXQKLSMgQ09ORklHX1dBVENIRE9HIGlzIG5vdCBzZXQKLUNPTkZJR19IV19SQU5ET009bQorIyBDT05GSUdfSFdfUkFORE9NIGlzIG5vdCBzZXQKICMgQ09ORklHX05WUkFNIGlzIG5vdCBzZXQKICMgQ09ORklHX1IzOTY0IGlzIG5vdCBzZXQKICMgQ09ORklHX0FQUExJQ09NIGlzIG5vdCBzZXQKLSMgQ09ORklHX0RSTSBpcyBub3Qgc2V0CiAjIENPTkZJR19SQVdfRFJJVkVSIGlzIG5vdCBzZXQKICMgQ09ORklHX1RDR19UUE0gaXMgbm90IHNldAogQ09ORklHX0RFVlBPUlQ9eQotIyBDT05GSUdfSTJDIGlzIG5vdCBzZXQKK0NPTkZJR19JMkM9eQorQ09ORklHX0kyQ19CT0FSRElORk89eQorQ09ORklHX0kyQ19DSEFSREVWPXkKIAogIwotIyBTUEkgc3VwcG9ydAorIyBJMkMgSGFyZHdhcmUgQnVzIHN1cHBvcnQKICMKLSMgQ09ORklHX1NQSSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TUElfTUFTVEVSIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19BTEkxNTM1IGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19BTEkxNTYzIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19BTEkxNVgzIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19BTUQ3NTYgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0FNRDgxMTEgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0dQSU8gaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0k4MDEgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0k4MTAgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1BJSVg0IGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19ORk9SQ0UyIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19PQ09SRVMgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1BBUlBPUlRfTElHSFQgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1BST1NBVkFHRSBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfU0FWQUdFNCBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfU0lNVEVDIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19TSVM1NTk1IGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19TSVM2MzAgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1NJUzk2WCBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfVEFPU19FVk0gaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1NUVUIgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1RJTllfVVNCIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19WSUEgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1ZJQVBSTyBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfVk9PRE9PMyBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfUENBX1BMQVRGT1JNIGlzIG5vdCBzZXQKK0NPTkZJR19JMkNfTVY2NFhYWD15CisKKyMKKyMgTWlzY2VsbGFuZW91cyBJMkMgQ2hpcCBzdXBwb3J0CisjCisjIENPTkZJR19EUzE2ODIgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19FRVBST00gaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19QQ0Y4NTc0IGlzIG5vdCBzZXQKKyMgQ09ORklHX1BDRjg1NzUgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19QQ0Y4NTkxIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfTUFYNjg3NSBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX1RTTDI1NTAgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0RFQlVHX0NPUkUgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0RFQlVHX0FMR08gaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0RFQlVHX0JVUyBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfREVCVUdfQ0hJUCBpcyBub3Qgc2V0CitDT05GSUdfU1BJPXkKKyMgQ09ORklHX1NQSV9ERUJVRyBpcyBub3Qgc2V0CitDT05GSUdfU1BJX01BU1RFUj15CisKKyMKKyMgU1BJIE1hc3RlciBDb250cm9sbGVyIERyaXZlcnMKKyMKKyMgQ09ORklHX1NQSV9CSVRCQU5HIGlzIG5vdCBzZXQKK0NPTkZJR19TUElfT1JJT049eQorCisjCisjIFNQSSBQcm90b2NvbCBNYXN0ZXJzCisjCisjIENPTkZJR19TUElfQVQyNSBpcyBub3Qgc2V0CisjIENPTkZJR19TUElfU1BJREVWIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NQSV9UTEU2MlgwIGlzIG5vdCBzZXQKICMgQ09ORklHX1cxIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BPV0VSX1NVUFBMWSBpcyBub3Qgc2V0CiAjIENPTkZJR19IV01PTiBpcyBub3Qgc2V0Ci1DT05GSUdfTUlTQ19ERVZJQ0VTPXkKLSMgQ09ORklHX1BIQU5UT00gaXMgbm90IHNldAotIyBDT05GSUdfRUVQUk9NXzkzQ1g2IGlzIG5vdCBzZXQKLSMgQ09ORklHX1NHSV9JT0M0IGlzIG5vdCBzZXQKLSMgQ09ORklHX1RJRk1fQ09SRSBpcyBub3Qgc2V0CisjIENPTkZJR19XQVRDSERPRyBpcyBub3Qgc2V0CisKKyMKKyMgU29uaWNzIFNpbGljb24gQmFja3BsYW5lCisjCitDT05GSUdfU1NCX1BPU1NJQkxFPXkKKyMgQ09ORklHX1NTQiBpcyBub3Qgc2V0CiAKICMKICMgTXVsdGlmdW5jdGlvbiBkZXZpY2UgZHJpdmVycwogIwogIyBDT05GSUdfTUZEX1NNNTAxIGlzIG5vdCBzZXQKLQotIwotIyBMRUQgZGV2aWNlcwotIwotQ09ORklHX05FV19MRURTPXkKLUNPTkZJR19MRURTX0NMQVNTPXkKLQotIwotIyBMRUQgZHJpdmVycwotIwotQ09ORklHX0xFRFNfQ01fWDI3MD15Ci0KLSMKLSMgTEVEIFRyaWdnZXJzCi0jCi1DT05GSUdfTEVEU19UUklHR0VSUz15Ci0jIENPTkZJR19MRURTX1RSSUdHRVJfVElNRVIgaXMgbm90IHNldAotIyBDT05GSUdfTEVEU19UUklHR0VSX0lERV9ESVNLIGlzIG5vdCBzZXQKLUNPTkZJR19MRURTX1RSSUdHRVJfSEVBUlRCRUFUPXkKKyMgQ09ORklHX01GRF9BU0lDMyBpcyBub3Qgc2V0CisjIENPTkZJR19IVENfUEFTSUMzIGlzIG5vdCBzZXQKIAogIwogIyBNdWx0aW1lZGlhIGRldmljZXMKICMKKworIworIyBNdWx0aW1lZGlhIGNvcmUgc3VwcG9ydAorIwogIyBDT05GSUdfVklERU9fREVWIGlzIG5vdCBzZXQKICMgQ09ORklHX0RWQl9DT1JFIGlzIG5vdCBzZXQKLUNPTkZJR19EQUI9eQotIyBDT05GSUdfVVNCX0RBQlVTQiBpcyBub3Qgc2V0CisjIENPTkZJR19WSURFT19NRURJQSBpcyBub3Qgc2V0CisKKyMKKyMgTXVsdGltZWRpYSBkcml2ZXJzCisjCisjIENPTkZJR19EQUIgaXMgbm90IHNldAogCiAjCiAjIEdyYXBoaWNzIHN1cHBvcnQKICMKKyMgQ09ORklHX0RSTSBpcyBub3Qgc2V0CisjIENPTkZJR19WR0FTVEFURSBpcyBub3Qgc2V0CisjIENPTkZJR19WSURFT19PVVRQVVRfQ09OVFJPTCBpcyBub3Qgc2V0CisjIENPTkZJR19GQiBpcyBub3Qgc2V0CiAjIENPTkZJR19CQUNLTElHSFRfTENEX1NVUFBPUlQgaXMgbm90IHNldAogCiAjCiAjIERpc3BsYXkgZGV2aWNlIHN1cHBvcnQKICMKICMgQ09ORklHX0RJU1BMQVlfU1VQUE9SVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19WR0FTVEFURSBpcyBub3Qgc2V0Ci1DT05GSUdfRkI9eQotIyBDT05GSUdfRklSTVdBUkVfRURJRCBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9EREMgaXMgbm90IHNldAotQ09ORklHX0ZCX0NGQl9GSUxMUkVDVD15Ci1DT05GSUdfRkJfQ0ZCX0NPUFlBUkVBPXkKLUNPTkZJR19GQl9DRkJfSU1BR0VCTElUPXkKLSMgQ09ORklHX0ZCX1NZU19GSUxMUkVDVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9TWVNfQ09QWUFSRUEgaXMgbm90IHNldAotIyBDT05GSUdfRkJfU1lTX0lNQUdFQkxJVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9TWVNfRk9QUyBpcyBub3Qgc2V0Ci1DT05GSUdfRkJfREVGRVJSRURfSU89eQotIyBDT05GSUdfRkJfU1ZHQUxJQiBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9NQUNNT0RFUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9CQUNLTElHSFQgaXMgbm90IHNldAotIyBDT05GSUdfRkJfTU9ERV9IRUxQRVJTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX1RJTEVCTElUVElORyBpcyBub3Qgc2V0Ci0KLSMKLSMgRnJhbWUgYnVmZmVyIGhhcmR3YXJlIGRyaXZlcnMKLSMKLSMgQ09ORklHX0ZCX0NJUlJVUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9QTTIgaXMgbm90IHNldAotIyBDT05GSUdfRkJfQ1lCRVIyMDAwIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX0FTSUxJQU5UIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX0lNU1RUIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX1MxRDEzWFhYIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX05WSURJQSBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9SSVZBIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX01BVFJPWCBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9SQURFT04gaXMgbm90IHNldAotIyBDT05GSUdfRkJfQVRZMTI4IGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX0FUWSBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9TMyBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9TQVZBR0UgaXMgbm90IHNldAotIyBDT05GSUdfRkJfU0lTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX05FT01BR0lDIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX0tZUk8gaXMgbm90IHNldAotIyBDT05GSUdfRkJfM0RGWCBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9WT09ET08xIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX1ZUODYyMyBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9UUklERU5UIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX0FSSyBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9QTTMgaXMgbm90IHNldAotQ09ORklHX0ZCX1BYQT15Ci0jIENPTkZJR19GQl9QWEFfUEFSQU1FVEVSUyBpcyBub3Qgc2V0Ci1DT05GSUdfRkJfTUJYPW0KLSMgQ09ORklHX0ZCX1ZJUlRVQUwgaXMgbm90IHNldAotCi0jCi0jIENvbnNvbGUgZGlzcGxheSBkcml2ZXIgc3VwcG9ydAotIwotIyBDT05GSUdfVkdBX0NPTlNPTEUgaXMgbm90IHNldAotQ09ORklHX0RVTU1ZX0NPTlNPTEU9eQotQ09ORklHX0ZSQU1FQlVGRkVSX0NPTlNPTEU9eQotIyBDT05GSUdfRlJBTUVCVUZGRVJfQ09OU09MRV9ERVRFQ1RfUFJJTUFSWSBpcyBub3Qgc2V0Ci0jIENPTkZJR19GUkFNRUJVRkZFUl9DT05TT0xFX1JPVEFUSU9OIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZPTlRTIGlzIG5vdCBzZXQKLUNPTkZJR19GT05UXzh4OD15Ci1DT05GSUdfRk9OVF84eDE2PXkKLUNPTkZJR19MT0dPPXkKLUNPTkZJR19MT0dPX0xJTlVYX01PTk89eQotQ09ORklHX0xPR09fTElOVVhfVkdBMTY9eQotQ09ORklHX0xPR09fTElOVVhfQ0xVVDIyND15CiAKICMKICMgU291bmQKICMKLUNPTkZJR19TT1VORD1tCi0KLSMKLSMgQWR2YW5jZWQgTGludXggU291bmQgQXJjaGl0ZWN0dXJlCi0jCi1DT05GSUdfU05EPW0KLUNPTkZJR19TTkRfVElNRVI9bQotQ09ORklHX1NORF9QQ009bQotIyBDT05GSUdfU05EX1NFUVVFTkNFUiBpcyBub3Qgc2V0Ci1DT05GSUdfU05EX09TU0VNVUw9eQotQ09ORklHX1NORF9NSVhFUl9PU1M9bQotQ09ORklHX1NORF9QQ01fT1NTPW0KLUNPTkZJR19TTkRfUENNX09TU19QTFVHSU5TPXkKLSMgQ09ORklHX1NORF9EWU5BTUlDX01JTk9SUyBpcyBub3Qgc2V0Ci1DT05GSUdfU05EX1NVUFBPUlRfT0xEX0FQST15Ci1DT05GSUdfU05EX1ZFUkJPU0VfUFJPQ0ZTPXkKLSMgQ09ORklHX1NORF9WRVJCT1NFX1BSSU5USyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfREVCVUcgaXMgbm90IHNldAotCi0jCi0jIEdlbmVyaWMgZGV2aWNlcwotIwotQ09ORklHX1NORF9BQzk3X0NPREVDPW0KLSMgQ09ORklHX1NORF9EVU1NWSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfTVRQQVYgaXMgbm90IHNldAotIyBDT05GSUdfU05EX1NFUklBTF9VMTY1NTAgaXMgbm90IHNldAotIyBDT05GSUdfU05EX01QVTQwMSBpcyBub3Qgc2V0Ci0KLSMKLSMgUENJIGRldmljZXMKLSMKLSMgQ09ORklHX1NORF9BRDE4ODkgaXMgbm90IHNldAotIyBDT05GSUdfU05EX0FMUzMwMCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfQUxJNTQ1MSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfQVRJSVhQIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9BVElJWFBfTU9ERU0gaXMgbm90IHNldAotIyBDT05GSUdfU05EX0FVODgxMCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfQVU4ODIwIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9BVTg4MzAgaXMgbm90IHNldAotIyBDT05GSUdfU05EX0FaVDMzMjggaXMgbm90IHNldAotIyBDT05GSUdfU05EX0JUODdYIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9DQTAxMDYgaXMgbm90IHNldAotIyBDT05GSUdfU05EX0NNSVBDSSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfQ1M0MjgxIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9DUzQ2WFggaXMgbm90IHNldAotIyBDT05GSUdfU05EX0RBUkxBMjAgaXMgbm90IHNldAotIyBDT05GSUdfU05EX0dJTkEyMCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfTEFZTEEyMCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfREFSTEEyNCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfR0lOQTI0IGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9MQVlMQTI0IGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9NT05BIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9NSUEgaXMgbm90IHNldAotIyBDT05GSUdfU05EX0VDSE8zRyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfSU5ESUdPIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9JTkRJR09JTyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfSU5ESUdPREogaXMgbm90IHNldAotIyBDT05GSUdfU05EX0VNVTEwSzEgaXMgbm90IHNldAotIyBDT05GSUdfU05EX0VNVTEwSzFYIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9FTlMxMzcwIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9FTlMxMzcxIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9FUzE5MzggaXMgbm90IHNldAotIyBDT05GSUdfU05EX0VTMTk2OCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfRk04MDEgaXMgbm90IHNldAotIyBDT05GSUdfU05EX0hEQV9JTlRFTCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfSERTUCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfSERTUE0gaXMgbm90IHNldAotIyBDT05GSUdfU05EX0lDRTE3MTIgaXMgbm90IHNldAotIyBDT05GSUdfU05EX0lDRTE3MjQgaXMgbm90IHNldAotIyBDT05GSUdfU05EX0lOVEVMOFgwIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9JTlRFTDhYME0gaXMgbm90IHNldAotIyBDT05GSUdfU05EX0tPUkcxMjEyIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9NQUVTVFJPMyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfTUlYQVJUIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9OTTI1NiBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfUENYSFIgaXMgbm90IHNldAotIyBDT05GSUdfU05EX1JJUFRJREUgaXMgbm90IHNldAotIyBDT05GSUdfU05EX1JNRTMyIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9STUU5NiBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfUk1FOTY1MiBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfU09OSUNWSUJFUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfVFJJREVOVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfVklBODJYWCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfVklBODJYWF9NT0RFTSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfVlgyMjIgaXMgbm90IHNldAotIyBDT05GSUdfU05EX1lNRlBDSSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfQUM5N19QT1dFUl9TQVZFIGlzIG5vdCBzZXQKLQotIwotIyBBTFNBIEFSTSBkZXZpY2VzCi0jCi1DT05GSUdfU05EX1BYQTJYWF9QQ009bQotQ09ORklHX1NORF9QWEEyWFhfQUM5Nz1tCi0KLSMKLSMgVVNCIGRldmljZXMKLSMKLSMgQ09ORklHX1NORF9VU0JfQVVESU8gaXMgbm90IHNldAotIyBDT05GSUdfU05EX1VTQl9DQUlBUSBpcyBub3Qgc2V0Ci0KLSMKLSMgU3lzdGVtIG9uIENoaXAgYXVkaW8gc3VwcG9ydAotIwotIyBDT05GSUdfU05EX1NPQyBpcyBub3Qgc2V0Ci0KLSMKLSMgT3BlbiBTb3VuZCBTeXN0ZW0KLSMKLSMgQ09ORklHX1NPVU5EX1BSSU1FIGlzIG5vdCBzZXQKLUNPTkZJR19BQzk3X0JVUz1tCisjIENPTkZJR19TT1VORCBpcyBub3Qgc2V0CiBDT05GSUdfSElEX1NVUFBPUlQ9eQogQ09ORklHX0hJRD15CiAjIENPTkZJR19ISURfREVCVUcgaXMgbm90IHNldAorIyBDT05GSUdfSElEUkFXIGlzIG5vdCBzZXQKIAogIwogIyBVU0IgSW5wdXQgRGV2aWNlcwpAQCAtOTkyLDI2ICs5MzEsMjggQEAKIENPTkZJR19VU0JfQVJDSF9IQVNfRUhDST15CiBDT05GSUdfVVNCPXkKICMgQ09ORklHX1VTQl9ERUJVRyBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfQU5OT1VOQ0VfTkVXX0RFVklDRVMgaXMgbm90IHNldAogCiAjCiAjIE1pc2NlbGxhbmVvdXMgVVNCIG9wdGlvbnMKICMKIENPTkZJR19VU0JfREVWSUNFRlM9eQotIyBDT05GSUdfVVNCX0RFVklDRV9DTEFTUyBpcyBub3Qgc2V0CitDT05GSUdfVVNCX0RFVklDRV9DTEFTUz15CiAjIENPTkZJR19VU0JfRFlOQU1JQ19NSU5PUlMgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX1NVU1BFTkQgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX1BFUlNJU1QgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX09URyBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfT1RHX1dISVRFTElTVCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfT1RHX0JMQUNLTElTVF9IVUIgaXMgbm90IHNldAogCiAjCiAjIFVTQiBIb3N0IENvbnRyb2xsZXIgRHJpdmVycwogIwotIyBDT05GSUdfVVNCX0VIQ0lfSENEIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9DNjdYMDBfSENEIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfRUhDSV9IQ0Q9eQorQ09ORklHX1VTQl9FSENJX1JPT1RfSFVCX1RUPXkKK0NPTkZJR19VU0JfRUhDSV9UVF9ORVdTQ0hFRD15CiAjIENPTkZJR19VU0JfSVNQMTE2WF9IQ0QgaXMgbm90IHNldAotQ09ORklHX1VTQl9PSENJX0hDRD15Ci0jIENPTkZJR19VU0JfT0hDSV9CSUdfRU5ESUFOX0RFU0MgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX09IQ0lfQklHX0VORElBTl9NTUlPIGlzIG5vdCBzZXQKLUNPTkZJR19VU0JfT0hDSV9MSVRUTEVfRU5ESUFOPXkKKyMgQ09ORklHX1VTQl9JU1AxNzYwX0hDRCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfT0hDSV9IQ0QgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1VIQ0lfSENEIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9TTDgxMV9IQ0QgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1I4QTY2NTk3X0hDRCBpcyBub3Qgc2V0CkBAIC0xMDIwLDcgKzk2MSw4IEBACiAjIFVTQiBEZXZpY2UgQ2xhc3MgZHJpdmVycwogIwogIyBDT05GSUdfVVNCX0FDTSBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfUFJJTlRFUiBpcyBub3Qgc2V0CitDT05GSUdfVVNCX1BSSU5URVI9eQorIyBDT05GSUdfVVNCX1dETSBpcyBub3Qgc2V0CiAKICMKICMgTk9URTogVVNCX1NUT1JBR0UgZW5hYmxlcyBTQ1NJLCBhbmQgJ1NDU0kgZGlzayBzdXBwb3J0JwpAQCAtMTAzMSwxNSArOTczLDE4IEBACiAjCiBDT05GSUdfVVNCX1NUT1JBR0U9eQogIyBDT05GSUdfVVNCX1NUT1JBR0VfREVCVUcgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX1NUT1JBR0VfREFUQUZBQiBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfU1RPUkFHRV9GUkVFQ09NIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9TVE9SQUdFX0RQQ00gaXMgbm90IHNldAorQ09ORklHX1VTQl9TVE9SQUdFX0RBVEFGQUI9eQorQ09ORklHX1VTQl9TVE9SQUdFX0ZSRUVDT009eQorIyBDT05GSUdfVVNCX1NUT1JBR0VfSVNEMjAwIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfU1RPUkFHRV9EUENNPXkKICMgQ09ORklHX1VTQl9TVE9SQUdFX1VTQkFUIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9TVE9SQUdFX1NERFIwOSBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfU1RPUkFHRV9TRERSNTUgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX1NUT1JBR0VfSlVNUFNIT1QgaXMgbm90IHNldAorQ09ORklHX1VTQl9TVE9SQUdFX1NERFIwOT15CitDT05GSUdfVVNCX1NUT1JBR0VfU0REUjU1PXkKK0NPTkZJR19VU0JfU1RPUkFHRV9KVU1QU0hPVD15CiAjIENPTkZJR19VU0JfU1RPUkFHRV9BTEFVREEgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NUT1JBR0VfT05FVE9VQ0ggaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1NUT1JBR0VfS0FSTUEgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NUT1JBR0VfQ1lQUkVTU19BVEFDQiBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfTElCVVNVQUwgaXMgbm90IHNldAogCiAjCkBAIC0xMDQ3LDE1ICs5OTIsMTEgQEAKICMKICMgQ09ORklHX1VTQl9NREM4MDAgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX01JQ1JPVEVLIGlzIG5vdCBzZXQKLUNPTkZJR19VU0JfTU9OPXkKKyMgQ09ORklHX1VTQl9NT04gaXMgbm90IHNldAogCiAjCiAjIFVTQiBwb3J0IGRyaXZlcnMKICMKLQotIwotIyBVU0IgU2VyaWFsIENvbnZlcnRlciBzdXBwb3J0Ci0jCiAjIENPTkZJR19VU0JfU0VSSUFMIGlzIG5vdCBzZXQKIAogIwpAQCAtMTA3Niw0MyArMTAxNywyNyBAQAogIyBDT05GSUdfVVNCX0lETU9VU0UgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX0ZURElfRUxBTiBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfQVBQTEVESVNQTEFZIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TSVNVU0JWR0EgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX0xEIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9UUkFOQ0VWSUJSQVRPUiBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfSU9XQVJSSU9SIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9URVNUIGlzIG5vdCBzZXQKLQotIwotIyBVU0IgRFNMIG1vZGVtIHN1cHBvcnQKLSMKLQotIwotIyBVU0IgR2FkZ2V0IFN1cHBvcnQKLSMKKyMgQ09ORklHX1VTQl9JU0lHSFRGVyBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfR0FER0VUIGlzIG5vdCBzZXQKLUNPTkZJR19NTUM9bQotIyBDT05GSUdfTU1DX0RFQlVHIGlzIG5vdCBzZXQKLSMgQ09ORklHX01NQ19VTlNBRkVfUkVTVU1FIGlzIG5vdCBzZXQKKyMgQ09ORklHX01NQyBpcyBub3Qgc2V0CitDT05GSUdfTkVXX0xFRFM9eQorIyBDT05GSUdfTEVEU19DTEFTUyBpcyBub3Qgc2V0CiAKICMKLSMgTU1DL1NEIENhcmQgRHJpdmVycworIyBMRUQgZHJpdmVycwogIwotQ09ORklHX01NQ19CTE9DSz1tCi1DT05GSUdfTU1DX0JMT0NLX0JPVU5DRT15CiAKICMKLSMgTU1DL1NEIEhvc3QgQ29udHJvbGxlciBEcml2ZXJzCisjIExFRCBUcmlnZ2VycwogIwotQ09ORklHX01NQ19QWEE9bQotIyBDT05GSUdfTU1DX1NESENJIGlzIG5vdCBzZXQKLSMgQ09ORklHX01NQ19USUZNX1NEIGlzIG5vdCBzZXQKLQotIwotIyBSZWFsIFRpbWUgQ2xvY2sKLSMKKyMgQ09ORklHX0xFRFNfVFJJR0dFUlMgaXMgbm90IHNldAogQ09ORklHX1JUQ19MSUI9eQogQ09ORklHX1JUQ19DTEFTUz15Ci1DT05GSUdfUlRDX0hDVE9TWVM9eQotQ09ORklHX1JUQ19IQ1RPU1lTX0RFVklDRT0icnRjMCIKICMgQ09ORklHX1JUQ19ERUJVRyBpcyBub3Qgc2V0CiAKICMKQEAgLTExMjUsMzIgKzEwNTAsNTYgQEAKICMgQ09ORklHX1JUQ19EUlZfVEVTVCBpcyBub3Qgc2V0CiAKICMKKyMgSTJDIFJUQyBkcml2ZXJzCisjCisjIENPTkZJR19SVENfRFJWX0RTMTMwNyBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX0RTMTM3NCBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX0RTMTY3MiBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX01BWDY5MDAgaXMgbm90IHNldAorQ09ORklHX1JUQ19EUlZfTVY9eQorIyBDT05GSUdfUlRDX0RSVl9SUzVDMzcyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfSVNMMTIwOCBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1gxMjA1IGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfUENGODU2MyBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1BDRjg1ODMgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9NNDFUODAgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9TMzUzOTBBIGlzIG5vdCBzZXQKKworIworIyBTUEkgUlRDIGRyaXZlcnMKKyMKKyMgQ09ORklHX1JUQ19EUlZfTUFYNjkwMiBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1I5NzAxIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfUlM1QzM0OCBpcyBub3Qgc2V0CisKKyMKICMgUGxhdGZvcm0gUlRDIGRyaXZlcnMKICMKICMgQ09ORklHX1JUQ19EUlZfQ01PUyBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX0RTMTUxMSBpcyBub3Qgc2V0CiAjIENPTkZJR19SVENfRFJWX0RTMTU1MyBpcyBub3Qgc2V0CiAjIENPTkZJR19SVENfRFJWX0RTMTc0MiBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1NUSzE3VEE4IGlzIG5vdCBzZXQKICMgQ09ORklHX1JUQ19EUlZfTTQ4VDg2IGlzIG5vdCBzZXQKICMgQ09ORklHX1JUQ19EUlZfTTQ4VDU5IGlzIG5vdCBzZXQKLUNPTkZJR19SVENfRFJWX1YzMDIwPXkKKyMgQ09ORklHX1JUQ19EUlZfVjMwMjAgaXMgbm90IHNldAogCiAjCiAjIG9uLUNQVSBSVEMgZHJpdmVycwogIwotQ09ORklHX1JUQ19EUlZfU0ExMTAwPXkKLQotIwotIyBETUEgRW5naW5lIHN1cHBvcnQKLSMKLSMgQ09ORklHX0RNQV9FTkdJTkUgaXMgbm90IHNldAotCi0jCi0jIERNQSBDbGllbnRzCi0jCitDT05GSUdfRE1BREVWSUNFUz15CiAKICMKICMgRE1BIERldmljZXMKICMKK0NPTkZJR19NVl9YT1I9eQorQ09ORklHX0RNQV9FTkdJTkU9eQorCisjCisjIERNQSBDbGllbnRzCisjCisjIENPTkZJR19ORVRfRE1BIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VJTyBpcyBub3Qgc2V0CiAKICMKICMgRmlsZSBzeXN0ZW1zCkBAIC0xMTU5LDI1ICsxMTA4LDIyIEBACiAjIENPTkZJR19FWFQyX0ZTX1hBVFRSIGlzIG5vdCBzZXQKICMgQ09ORklHX0VYVDJfRlNfWElQIGlzIG5vdCBzZXQKIENPTkZJR19FWFQzX0ZTPXkKLUNPTkZJR19FWFQzX0ZTX1hBVFRSPXkKLSMgQ09ORklHX0VYVDNfRlNfUE9TSVhfQUNMIGlzIG5vdCBzZXQKLSMgQ09ORklHX0VYVDNfRlNfU0VDVVJJVFkgaXMgbm90IHNldAorIyBDT05GSUdfRVhUM19GU19YQVRUUiBpcyBub3Qgc2V0CiAjIENPTkZJR19FWFQ0REVWX0ZTIGlzIG5vdCBzZXQKIENPTkZJR19KQkQ9eQotIyBDT05GSUdfSkJEX0RFQlVHIGlzIG5vdCBzZXQKLUNPTkZJR19GU19NQkNBQ0hFPXkKICMgQ09ORklHX1JFSVNFUkZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0pGU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19GU19QT1NJWF9BQ0wgaXMgbm90IHNldAotIyBDT05GSUdfWEZTX0ZTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0dGUzJfRlMgaXMgbm90IHNldAorQ09ORklHX1hGU19GUz15CisjIENPTkZJR19YRlNfUVVPVEEgaXMgbm90IHNldAorIyBDT05GSUdfWEZTX1BPU0lYX0FDTCBpcyBub3Qgc2V0CisjIENPTkZJR19YRlNfUlQgaXMgbm90IHNldAorIyBDT05GSUdfWEZTX0RFQlVHIGlzIG5vdCBzZXQKICMgQ09ORklHX09DRlMyX0ZTIGlzIG5vdCBzZXQKLSMgQ09ORklHX01JTklYX0ZTIGlzIG5vdCBzZXQKLSMgQ09ORklHX1JPTUZTX0ZTIGlzIG5vdCBzZXQKK0NPTkZJR19ETk9USUZZPXkKIENPTkZJR19JTk9USUZZPXkKIENPTkZJR19JTk9USUZZX1VTRVI9eQogIyBDT05GSUdfUVVPVEEgaXMgbm90IHNldAotQ09ORklHX0ROT1RJRlk9eQogIyBDT05GSUdfQVVUT0ZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0FVVE9GUzRfRlMgaXMgbm90IHNldAogIyBDT05GSUdfRlVTRV9GUyBpcyBub3Qgc2V0CkBAIC0xMTg1LDggKzExMzEsMTEgQEAKICMKICMgQ0QtUk9NL0RWRCBGaWxlc3lzdGVtcwogIwotIyBDT05GSUdfSVNPOTY2MF9GUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19VREZfRlMgaXMgbm90IHNldAorQ09ORklHX0lTTzk2NjBfRlM9eQorQ09ORklHX0pPTElFVD15CisjIENPTkZJR19aSVNPRlMgaXMgbm90IHNldAorQ09ORklHX1VERl9GUz1tCitDT05GSUdfVURGX05MUz15CiAKICMKICMgRE9TL0ZBVC9OVCBGaWxlc3lzdGVtcwpAQCAtMTIwNyw3ICsxMTU2LDYgQEAKIENPTkZJR19UTVBGUz15CiAjIENPTkZJR19UTVBGU19QT1NJWF9BQ0wgaXMgbm90IHNldAogIyBDT05GSUdfSFVHRVRMQl9QQUdFIGlzIG5vdCBzZXQKLUNPTkZJR19SQU1GUz15CiAjIENPTkZJR19DT05GSUdGU19GUyBpcyBub3Qgc2V0CiAKICMKQEAgLTEyMjAsMjIgKzExNjgsMzAgQEAKICMgQ09ORklHX0JFRlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfQkZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0VGU19GUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19KRkZTMl9GUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUkFNRlMgaXMgbm90IHNldAorQ09ORklHX0pGRlMyX0ZTPXkKK0NPTkZJR19KRkZTMl9GU19ERUJVRz0wCitDT05GSUdfSkZGUzJfRlNfV1JJVEVCVUZGRVI9eQorIyBDT05GSUdfSkZGUzJfRlNfV0JVRl9WRVJJRlkgaXMgbm90IHNldAorIyBDT05GSUdfSkZGUzJfU1VNTUFSWSBpcyBub3Qgc2V0CisjIENPTkZJR19KRkZTMl9GU19YQVRUUiBpcyBub3Qgc2V0CisjIENPTkZJR19KRkZTMl9DT01QUkVTU0lPTl9PUFRJT05TIGlzIG5vdCBzZXQKK0NPTkZJR19KRkZTMl9aTElCPXkKKyMgQ09ORklHX0pGRlMyX0xaTyBpcyBub3Qgc2V0CitDT05GSUdfSkZGUzJfUlRJTUU9eQorIyBDT05GSUdfSkZGUzJfUlVCSU4gaXMgbm90IHNldAorQ09ORklHX0NSQU1GUz15CiAjIENPTkZJR19WWEZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX01JTklYX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0hQRlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfUU5YNEZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JPTUZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NZU1ZfRlMgaXMgbm90IHNldAogIyBDT05GSUdfVUZTX0ZTIGlzIG5vdCBzZXQKLQotIwotIyBOZXR3b3JrIEZpbGUgU3lzdGVtcwotIworQ09ORklHX05FVFdPUktfRklMRVNZU1RFTVM9eQogQ09ORklHX05GU19GUz15CiBDT05GSUdfTkZTX1YzPXkKICMgQ09ORklHX05GU19WM19BQ0wgaXMgbm90IHNldAogIyBDT05GSUdfTkZTX1Y0IGlzIG5vdCBzZXQKLSMgQ09ORklHX05GU19ESVJFQ1RJTyBpcyBub3Qgc2V0CiAjIENPTkZJR19ORlNEIGlzIG5vdCBzZXQKIENPTkZJR19ST09UX05GUz15CiBDT05GSUdfTE9DS0Q9eQpAQCAtMTI0NSw4ICsxMjAxLDcgQEAKICMgQ09ORklHX1NVTlJQQ19CSU5EMzQgaXMgbm90IHNldAogIyBDT05GSUdfUlBDU0VDX0dTU19LUkI1IGlzIG5vdCBzZXQKICMgQ09ORklHX1JQQ1NFQ19HU1NfU1BLTTMgaXMgbm90IHNldAotQ09ORklHX1NNQl9GUz15Ci0jIENPTkZJR19TTUJfTkxTX0RFRkFVTFQgaXMgbm90IHNldAorIyBDT05GSUdfU01CX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0NJRlMgaXMgbm90IHNldAogIyBDT05GSUdfTkNQX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0NPREFfRlMgaXMgbm90IHNldApAQCAtMTI1NSwxOCArMTIxMCwzMCBAQAogIwogIyBQYXJ0aXRpb24gVHlwZXMKICMKLSMgQ09ORklHX1BBUlRJVElPTl9BRFZBTkNFRCBpcyBub3Qgc2V0CitDT05GSUdfUEFSVElUSU9OX0FEVkFOQ0VEPXkKKyMgQ09ORklHX0FDT1JOX1BBUlRJVElPTiBpcyBub3Qgc2V0CisjIENPTkZJR19PU0ZfUEFSVElUSU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FNSUdBX1BBUlRJVElPTiBpcyBub3Qgc2V0CisjIENPTkZJR19BVEFSSV9QQVJUSVRJT04gaXMgbm90IHNldAorIyBDT05GSUdfTUFDX1BBUlRJVElPTiBpcyBub3Qgc2V0CiBDT05GSUdfTVNET1NfUEFSVElUSU9OPXkKLQotIwotIyBOYXRpdmUgTGFuZ3VhZ2UgU3VwcG9ydAotIworIyBDT05GSUdfQlNEX0RJU0tMQUJFTCBpcyBub3Qgc2V0CisjIENPTkZJR19NSU5JWF9TVUJQQVJUSVRJT04gaXMgbm90IHNldAorIyBDT05GSUdfU09MQVJJU19YODZfUEFSVElUSU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VOSVhXQVJFX0RJU0tMQUJFTCBpcyBub3Qgc2V0CisjIENPTkZJR19MRE1fUEFSVElUSU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NHSV9QQVJUSVRJT04gaXMgbm90IHNldAorIyBDT05GSUdfVUxUUklYX1BBUlRJVElPTiBpcyBub3Qgc2V0CisjIENPTkZJR19TVU5fUEFSVElUSU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX0tBUk1BX1BBUlRJVElPTiBpcyBub3Qgc2V0CisjIENPTkZJR19FRklfUEFSVElUSU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NZU1Y2OF9QQVJUSVRJT04gaXMgbm90IHNldAogQ09ORklHX05MUz15CiBDT05GSUdfTkxTX0RFRkFVTFQ9Imlzbzg4NTktMSIKIENPTkZJR19OTFNfQ09ERVBBR0VfNDM3PXkKICMgQ09ORklHX05MU19DT0RFUEFHRV83MzcgaXMgbm90IHNldAogIyBDT05GSUdfTkxTX0NPREVQQUdFXzc3NSBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfQ09ERVBBR0VfODUwIGlzIG5vdCBzZXQKK0NPTkZJR19OTFNfQ09ERVBBR0VfODUwPXkKICMgQ09ORklHX05MU19DT0RFUEFHRV84NTIgaXMgbm90IHNldAogIyBDT05GSUdfTkxTX0NPREVQQUdFXzg1NSBpcyBub3Qgc2V0CiAjIENPTkZJR19OTFNfQ09ERVBBR0VfODU3IGlzIG5vdCBzZXQKQEAgLTEyODgsNyArMTI1NSw3IEBACiAjIENPTkZJR19OTFNfQ09ERVBBR0VfMTI1MSBpcyBub3Qgc2V0CiAjIENPTkZJR19OTFNfQVNDSUkgaXMgbm90IHNldAogQ09ORklHX05MU19JU084ODU5XzE9eQotIyBDT05GSUdfTkxTX0lTTzg4NTlfMiBpcyBub3Qgc2V0CitDT05GSUdfTkxTX0lTTzg4NTlfMj15CiAjIENPTkZJR19OTFNfSVNPODg1OV8zIGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19JU084ODU5XzQgaXMgbm90IHNldAogIyBDT05GSUdfTkxTX0lTTzg4NTlfNSBpcyBub3Qgc2V0CkBAIC0xMzAwLDUzICsxMjY3LDU3IEBACiAjIENPTkZJR19OTFNfSVNPODg1OV8xNSBpcyBub3Qgc2V0CiAjIENPTkZJR19OTFNfS09JOF9SIGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19LT0k4X1UgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX1VURjggaXMgbm90IHNldAotCi0jCi0jIERpc3RyaWJ1dGVkIExvY2sgTWFuYWdlcgotIworQ09ORklHX05MU19VVEY4PXkKICMgQ09ORklHX0RMTSBpcyBub3Qgc2V0CiAKICMKLSMgUHJvZmlsaW5nIHN1cHBvcnQKLSMKLSMgQ09ORklHX1BST0ZJTElORyBpcyBub3Qgc2V0Ci0KLSMKICMgS2VybmVsIGhhY2tpbmcKICMKICMgQ09ORklHX1BSSU5US19USU1FIGlzIG5vdCBzZXQKK0NPTkZJR19FTkFCTEVfV0FSTl9ERVBSRUNBVEVEPXkKIENPTkZJR19FTkFCTEVfTVVTVF9DSEVDSz15CitDT05GSUdfRlJBTUVfV0FSTj0xMDI0CiBDT05GSUdfTUFHSUNfU1lTUlE9eQogIyBDT05GSUdfVU5VU0VEX1NZTUJPTFMgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfRlMgaXMgbm90IHNldAogIyBDT05GSUdfSEVBREVSU19DSEVDSyBpcyBub3Qgc2V0CiBDT05GSUdfREVCVUdfS0VSTkVMPXkKICMgQ09ORklHX0RFQlVHX1NISVJRIGlzIG5vdCBzZXQKLSMgQ09ORklHX0RFVEVDVF9TT0ZUTE9DS1VQIGlzIG5vdCBzZXQKLUNPTkZJR19TQ0hFRF9ERUJVRz15CitDT05GSUdfREVURUNUX1NPRlRMT0NLVVA9eQorIyBDT05GSUdfU0NIRURfREVCVUcgaXMgbm90IHNldAogIyBDT05GSUdfU0NIRURTVEFUUyBpcyBub3Qgc2V0CiAjIENPTkZJR19USU1FUl9TVEFUUyBpcyBub3Qgc2V0CisjIENPTkZJR19ERUJVR19PQkpFQ1RTIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX1NMQUIgaXMgbm90IHNldAorIyBDT05GSUdfREVCVUdfUFJFRU1QVCBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19SVF9NVVRFWEVTIGlzIG5vdCBzZXQKICMgQ09ORklHX1JUX01VVEVYX1RFU1RFUiBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19TUElOTE9DSyBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19NVVRFWEVTIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX0xPQ0tfQUxMT0MgaXMgbm90IHNldAogIyBDT05GSUdfUFJPVkVfTE9DS0lORyBpcyBub3Qgc2V0CisjIENPTkZJR19MT0NLX1NUQVQgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfU1BJTkxPQ0tfU0xFRVAgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfTE9DS0lOR19BUElfU0VMRlRFU1RTIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX0tPQkpFQ1QgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfQlVHVkVSQk9TRSBpcyBub3Qgc2V0CiBDT05GSUdfREVCVUdfSU5GTz15CiAjIENPTkZJR19ERUJVR19WTSBpcyBub3Qgc2V0CisjIENPTkZJR19ERUJVR19XUklURUNPVU5UIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX0xJU1QgaXMgbm90IHNldAorIyBDT05GSUdfREVCVUdfU0cgaXMgbm90IHNldAogQ09ORklHX0ZSQU1FX1BPSU5URVI9eQotQ09ORklHX0ZPUkNFRF9JTkxJTklORz15CisjIENPTkZJR19CT09UX1BSSU5US19ERUxBWSBpcyBub3Qgc2V0CiAjIENPTkZJR19SQ1VfVE9SVFVSRV9URVNUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0tQUk9CRVNfU0FOSVRZX1RFU1QgaXMgbm90IHNldAorIyBDT05GSUdfQkFDS1RSQUNFX1NFTEZfVEVTVCBpcyBub3Qgc2V0CisjIENPTkZJR19MS0RUTSBpcyBub3Qgc2V0CiAjIENPTkZJR19GQVVMVF9JTkpFQ1RJT04gaXMgbm90IHNldAorIyBDT05GSUdfTEFURU5DWVRPUCBpcyBub3Qgc2V0CisjIENPTkZJR19TQU1QTEVTIGlzIG5vdCBzZXQKIENPTkZJR19ERUJVR19VU0VSPXkKIENPTkZJR19ERUJVR19FUlJPUlM9eQorIyBDT05GSUdfREVCVUdfU1RBQ0tfVVNBR0UgaXMgbm90IHNldAogQ09ORklHX0RFQlVHX0xMPXkKICMgQ09ORklHX0RFQlVHX0lDRURDQyBpcyBub3Qgc2V0CiAKQEAgLTEzNTUsNTUgKzEzMjYsMTAwIEBACiAjCiAjIENPTkZJR19LRVlTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NFQ1VSSVRZIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFQ1VSSVRZX0ZJTEVfQ0FQQUJJTElUSUVTIGlzIG5vdCBzZXQKK0NPTkZJR19BU1lOQ19DT1JFPXkKIENPTkZJR19DUllQVE89eQorCisjCisjIENyeXB0byBjb3JlIG9yIGhlbHBlcgorIwogQ09ORklHX0NSWVBUT19BTEdBUEk9bQogQ09ORklHX0NSWVBUT19CTEtDSVBIRVI9bQogQ09ORklHX0NSWVBUT19NQU5BR0VSPW0KKyMgQ09ORklHX0NSWVBUT19HRjEyOE1VTCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fTlVMTCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQ1JZUFREIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19BVVRIRU5DIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19URVNUIGlzIG5vdCBzZXQKKworIworIyBBdXRoZW50aWNhdGVkIEVuY3J5cHRpb24gd2l0aCBBc3NvY2lhdGVkIERhdGEKKyMKKyMgQ09ORklHX0NSWVBUT19DQ00gaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0dDTSBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fU0VRSVYgaXMgbm90IHNldAorCisjCisjIEJsb2NrIG1vZGVzCisjCitDT05GSUdfQ1JZUFRPX0NCQz1tCisjIENPTkZJR19DUllQVE9fQ1RSIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19DVFMgaXMgbm90IHNldAorQ09ORklHX0NSWVBUT19FQ0I9bQorIyBDT05GSUdfQ1JZUFRPX0xSVyBpcyBub3Qgc2V0CitDT05GSUdfQ1JZUFRPX1BDQkM9bQorIyBDT05GSUdfQ1JZUFRPX1hUUyBpcyBub3Qgc2V0CisKKyMKKyMgSGFzaCBtb2RlcworIwogIyBDT05GSUdfQ1JZUFRPX0hNQUMgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX1hDQkMgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX05VTEwgaXMgbm90IHNldAorCisjCisjIERpZ2VzdAorIworIyBDT05GSUdfQ1JZUFRPX0NSQzMyQyBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fTUQ0IGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19NRDUgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX01JQ0hBRUxfTUlDIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19TSEExIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19TSEEyNTYgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX1NIQTUxMiBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fV1A1MTIgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX1RHUjE5MiBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fR0YxMjhNVUwgaXMgbm90IHNldAotQ09ORklHX0NSWVBUT19FQ0I9bQotQ09ORklHX0NSWVBUT19DQkM9bQotQ09ORklHX0NSWVBUT19QQ0JDPW0KLSMgQ09ORklHX0NSWVBUT19MUlcgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX0NSWVBURCBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fREVTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19GQ1JZUFQgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1dQNTEyIGlzIG5vdCBzZXQKKworIworIyBDaXBoZXJzCisjCisjIENPTkZJR19DUllQVE9fQUVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19BTlVCSVMgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0FSQzQgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX0JMT1dGSVNIIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19UV09GSVNIIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19TRVJQRU5UIGlzIG5vdCBzZXQKLUNPTkZJR19DUllQVE9fQUVTPW0KKyMgQ09ORklHX0NSWVBUT19DQU1FTExJQSBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fQ0FTVDUgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX0NBU1Q2IGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19URUEgaXMgbm90IHNldAotQ09ORklHX0NSWVBUT19BUkM0PW0KKyMgQ09ORklHX0NSWVBUT19ERVMgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0ZDUllQVCBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fS0hBWkFEIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19BTlVCSVMgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1NBTFNBMjAgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1NFRUQgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1NFUlBFTlQgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1RFQSBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fVFdPRklTSCBpcyBub3Qgc2V0CisKKyMKKyMgQ29tcHJlc3Npb24KKyMKICMgQ09ORklHX0NSWVBUT19ERUZMQVRFIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19NSUNIQUVMX01JQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fQ1JDMzJDIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19DQU1FTExJQSBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fVEVTVCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fTFpPIGlzIG5vdCBzZXQKIENPTkZJR19DUllQVE9fSFc9eQorIyBDT05GSUdfQ1JZUFRPX0RFVl9ISUZOXzc5NVggaXMgbm90IHNldAogCiAjCiAjIExpYnJhcnkgcm91dGluZXMKICMKIENPTkZJR19CSVRSRVZFUlNFPXkKLSMgQ09ORklHX0NSQ19DQ0lUVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUkMxNiBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUkNfSVRVX1QgaXMgbm90IHNldAorIyBDT05GSUdfR0VORVJJQ19GSU5EX0ZJUlNUX0JJVCBpcyBub3Qgc2V0CisjIENPTkZJR19HRU5FUklDX0ZJTkRfTkVYVF9CSVQgaXMgbm90IHNldAorQ09ORklHX0NSQ19DQ0lUVD15CitDT05GSUdfQ1JDMTY9eQorQ09ORklHX0NSQ19JVFVfVD1tCiBDT05GSUdfQ1JDMzI9eQogIyBDT05GSUdfQ1JDNyBpcyBub3Qgc2V0Ci0jIENPTkZJR19MSUJDUkMzMkMgaXMgbm90IHNldAorQ09ORklHX0xJQkNSQzMyQz15CitDT05GSUdfWkxJQl9JTkZMQVRFPXkKK0NPTkZJR19aTElCX0RFRkxBVEU9eQogQ09ORklHX1BMSVNUPXkKIENPTkZJR19IQVNfSU9NRU09eQogQ09ORklHX0hBU19JT1BPUlQ9eQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vY29uZmlncy9rczg2OTVfZGVmY29uZmlnIGIvYXJjaC9hcm0vY29uZmlncy9rczg2OTVfZGVmY29uZmlnCmluZGV4IDhhYjIxYTAuLjYwNzdmMmMgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2NvbmZpZ3Mva3M4Njk1X2RlZmNvbmZpZworKysgYi9hcmNoL2FybS9jb25maWdzL2tzODY5NV9kZWZjb25maWcKQEAgLTE3NCw3ICsxNzQsNiBAQAogIyBLZXJuZWwgRmVhdHVyZXMKICMKICMgQ09ORklHX1BSRUVNUFQgaXMgbm90IHNldAotIyBDT05GSUdfTk9fSURMRV9IWiBpcyBub3Qgc2V0CiBDT05GSUdfSFo9MTAwCiAjIENPTkZJR19BRUFCSSBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0RJU0NPTlRJR01FTV9FTkFCTEUgaXMgbm90IHNldApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vY29uZmlncy9lbV94MjcwX2RlZmNvbmZpZyBiL2FyY2gvYXJtL2NvbmZpZ3MvbG9raV9kZWZjb25maWcKc2ltaWxhcml0eSBpbmRleCA2NSUKY29weSBmcm9tIGFyY2gvYXJtL2NvbmZpZ3MvZW1feDI3MF9kZWZjb25maWcKY29weSB0byBhcmNoL2FybS9jb25maWdzL2xva2lfZGVmY29uZmlnCmluZGV4IDZiZWEwOTAuLjE3ZGE3YzMgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2NvbmZpZ3MvZW1feDI3MF9kZWZjb25maWcKKysrIGIvYXJjaC9hcm0vY29uZmlncy9sb2tpX2RlZmNvbmZpZwpAQCAtMSwxNyArMSwxOCBAQAogIwogIyBBdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBtYWtlIGNvbmZpZzogZG9uJ3QgZWRpdAotIyBMaW51eCBrZXJuZWwgdmVyc2lvbjogMi42LjIyCi0jIE1vbiBKdWwgIDkgMTU6MTg6MjAgMjAwNworIyBMaW51eCBrZXJuZWwgdmVyc2lvbjogMi42LjI2LXJjNQorIyBGcmkgSnVuIDEzIDAzOjA3OjQ5IDIwMDgKICMKIENPTkZJR19BUk09eQogQ09ORklHX1NZU19TVVBQT1JUU19BUE1fRU1VTEFUSU9OPXkKLUNPTkZJR19HRU5FUklDX0dQSU89eQorIyBDT05GSUdfR0VORVJJQ19HUElPIGlzIG5vdCBzZXQKIENPTkZJR19HRU5FUklDX1RJTUU9eQotIyBDT05GSUdfR0VORVJJQ19DTE9DS0VWRU5UUyBpcyBub3Qgc2V0CitDT05GSUdfR0VORVJJQ19DTE9DS0VWRU5UUz15CiBDT05GSUdfTU1VPXkKICMgQ09ORklHX05PX0lPUE9SVCBpcyBub3Qgc2V0CiBDT05GSUdfR0VORVJJQ19IQVJESVJRUz15CiBDT05GSUdfU1RBQ0tUUkFDRV9TVVBQT1JUPXkKK0NPTkZJR19IQVZFX0xBVEVOQ1lUT1BfU1VQUE9SVD15CiBDT05GSUdfTE9DS0RFUF9TVVBQT1JUPXkKIENPTkZJR19UUkFDRV9JUlFGTEFHU19TVVBQT1JUPXkKIENPTkZJR19IQVJESVJRU19TV19SRVNFTkQ9eQpAQCAtMjEsNTEgKzIyLDQ4IEBACiAjIENPTkZJR19BUkNIX0hBU19JTE9HMl9VNjQgaXMgbm90IHNldAogQ09ORklHX0dFTkVSSUNfSFdFSUdIVD15CiBDT05GSUdfR0VORVJJQ19DQUxJQlJBVEVfREVMQVk9eQorQ09ORklHX0FSQ0hfU1VQUE9SVFNfQU9VVD15CiBDT05GSUdfWk9ORV9ETUE9eQotQ09ORklHX0FSQ0hfTVREX1hJUD15CiBDT05GSUdfVkVDVE9SU19CQVNFPTB4ZmZmZjAwMDAKIENPTkZJR19ERUZDT05GSUdfTElTVD0iL2xpYi9tb2R1bGVzLyRVTkFNRV9SRUxFQVNFLy5jb25maWciCiAKICMKLSMgQ29kZSBtYXR1cml0eSBsZXZlbCBvcHRpb25zCisjIEdlbmVyYWwgc2V0dXAKICMKIENPTkZJR19FWFBFUklNRU5UQUw9eQogQ09ORklHX0JST0tFTl9PTl9TTVA9eQorQ09ORklHX0xPQ0tfS0VSTkVMPXkKIENPTkZJR19JTklUX0VOVl9BUkdfTElNSVQ9MzIKLQotIwotIyBHZW5lcmFsIHNldHVwCi0jCi1DT05GSUdfTE9DQUxWRVJTSU9OPSItZW0teDI3MCIKLSMgQ09ORklHX0xPQ0FMVkVSU0lPTl9BVVRPIGlzIG5vdCBzZXQKK0NPTkZJR19MT0NBTFZFUlNJT049IiIKK0NPTkZJR19MT0NBTFZFUlNJT05fQVVUTz15CiBDT05GSUdfU1dBUD15CiBDT05GSUdfU1lTVklQQz15Ci0jIENPTkZJR19JUENfTlMgaXMgbm90IHNldAogQ09ORklHX1NZU1ZJUENfU1lTQ1RMPXkKICMgQ09ORklHX1BPU0lYX01RVUVVRSBpcyBub3Qgc2V0CiAjIENPTkZJR19CU0RfUFJPQ0VTU19BQ0NUIGlzIG5vdCBzZXQKICMgQ09ORklHX1RBU0tTVEFUUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19VVFNfTlMgaXMgbm90IHNldAogIyBDT05GSUdfQVVESVQgaXMgbm90IHNldAotQ09ORklHX0lLQ09ORklHPXkKLUNPTkZJR19JS0NPTkZJR19QUk9DPXkKLUNPTkZJR19MT0dfQlVGX1NISUZUPTE3Ci1DT05GSUdfU1lTRlNfREVQUkVDQVRFRD15CisjIENPTkZJR19JS0NPTkZJRyBpcyBub3Qgc2V0CitDT05GSUdfTE9HX0JVRl9TSElGVD0xNAorIyBDT05GSUdfQ0dST1VQUyBpcyBub3Qgc2V0CisjIENPTkZJR19HUk9VUF9TQ0hFRCBpcyBub3Qgc2V0CisjIENPTkZJR19TWVNGU19ERVBSRUNBVEVEX1YyIGlzIG5vdCBzZXQKICMgQ09ORklHX1JFTEFZIGlzIG5vdCBzZXQKLUNPTkZJR19CTEtfREVWX0lOSVRSRD15Ci1DT05GSUdfSU5JVFJBTUZTX1NPVVJDRT0iIgorIyBDT05GSUdfTkFNRVNQQUNFUyBpcyBub3Qgc2V0CisjIENPTkZJR19CTEtfREVWX0lOSVRSRCBpcyBub3Qgc2V0CiBDT05GSUdfQ0NfT1BUSU1JWkVfRk9SX1NJWkU9eQogQ09ORklHX1NZU0NUTD15CiBDT05GSUdfRU1CRURERUQ9eQogQ09ORklHX1VJRDE2PXkKIENPTkZJR19TWVNDVExfU1lTQ0FMTD15CitDT05GSUdfU1lTQ1RMX1NZU0NBTExfQ0hFQ0s9eQogQ09ORklHX0tBTExTWU1TPXkKLSMgQ09ORklHX0tBTExTWU1TX0FMTCBpcyBub3Qgc2V0CiAjIENPTkZJR19LQUxMU1lNU19FWFRSQV9QQVNTIGlzIG5vdCBzZXQKIENPTkZJR19IT1RQTFVHPXkKIENPTkZJR19QUklOVEs9eQogQ09ORklHX0JVRz15CiBDT05GSUdfRUxGX0NPUkU9eQorQ09ORklHX0NPTVBBVF9CUks9eQogQ09ORklHX0JBU0VfRlVMTD15CiBDT05GSUdfRlVURVg9eQogQ09ORklHX0FOT05fSU5PREVTPXkKQEAgLTc4LDI3ICs3NiwzMCBAQAogQ09ORklHX1NMQUI9eQogIyBDT05GSUdfU0xVQiBpcyBub3Qgc2V0CiAjIENPTkZJR19TTE9CIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BST0ZJTElORyBpcyBub3Qgc2V0CisjIENPTkZJR19NQVJLRVJTIGlzIG5vdCBzZXQKK0NPTkZJR19IQVZFX09QUk9GSUxFPXkKKyMgQ09ORklHX0tQUk9CRVMgaXMgbm90IHNldAorQ09ORklHX0hBVkVfS1BST0JFUz15CitDT05GSUdfSEFWRV9LUkVUUFJPQkVTPXkKKyMgQ09ORklHX0hBVkVfRE1BX0FUVFJTIGlzIG5vdCBzZXQKK0NPTkZJR19QUk9DX1BBR0VfTU9OSVRPUj15CitDT05GSUdfU0xBQklORk89eQogQ09ORklHX1JUX01VVEVYRVM9eQogIyBDT05GSUdfVElOWV9TSE1FTSBpcyBub3Qgc2V0CiBDT05GSUdfQkFTRV9TTUFMTD0wCi0KLSMKLSMgTG9hZGFibGUgbW9kdWxlIHN1cHBvcnQKLSMKIENPTkZJR19NT0RVTEVTPXkKKyMgQ09ORklHX01PRFVMRV9GT1JDRV9MT0FEIGlzIG5vdCBzZXQKIENPTkZJR19NT0RVTEVfVU5MT0FEPXkKLUNPTkZJR19NT0RVTEVfRk9SQ0VfVU5MT0FEPXkKKyMgQ09ORklHX01PRFVMRV9GT1JDRV9VTkxPQUQgaXMgbm90IHNldAogIyBDT05GSUdfTU9EVkVSU0lPTlMgaXMgbm90IHNldAogIyBDT05GSUdfTU9EVUxFX1NSQ1ZFUlNJT05fQUxMIGlzIG5vdCBzZXQKLUNPTkZJR19LTU9EPXkKLQotIwotIyBCbG9jayBsYXllcgotIworIyBDT05GSUdfS01PRCBpcyBub3Qgc2V0CiBDT05GSUdfQkxPQ0s9eQogIyBDT05GSUdfTEJEIGlzIG5vdCBzZXQKICMgQ09ORklHX0JMS19ERVZfSU9fVFJBQ0UgaXMgbm90IHNldAogIyBDT05GSUdfTFNGIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JMS19ERVZfQlNHIGlzIG5vdCBzZXQKIAogIwogIyBJTyBTY2hlZHVsZXJzCkBAIC0xMDcsMTEgKzEwOCwxMiBAQAogQ09ORklHX0lPU0NIRURfQVM9eQogQ09ORklHX0lPU0NIRURfREVBRExJTkU9eQogQ09ORklHX0lPU0NIRURfQ0ZRPXkKLUNPTkZJR19ERUZBVUxUX0FTPXkKKyMgQ09ORklHX0RFRkFVTFRfQVMgaXMgbm90IHNldAogIyBDT05GSUdfREVGQVVMVF9ERUFETElORSBpcyBub3Qgc2V0Ci0jIENPTkZJR19ERUZBVUxUX0NGUSBpcyBub3Qgc2V0CitDT05GSUdfREVGQVVMVF9DRlE9eQogIyBDT05GSUdfREVGQVVMVF9OT09QIGlzIG5vdCBzZXQKLUNPTkZJR19ERUZBVUxUX0lPU0NIRUQ9ImFudGljaXBhdG9yeSIKK0NPTkZJR19ERUZBVUxUX0lPU0NIRUQ9ImNmcSIKK0NPTkZJR19DTEFTU0lDX1JDVT15CiAKICMKICMgU3lzdGVtIFR5cGUKQEAgLTEzNywxMCArMTM5LDE1IEBACiAjIENPTkZJR19BUkNIX0lYUDIwMDAgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9JWFA0WFggaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9MNzIwMCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0tJUktXT09EIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfS1M4Njk1IGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfTlM5WFhYIGlzIG5vdCBzZXQKK0NPTkZJR19BUkNIX0xPS0k9eQorIyBDT05GSUdfQVJDSF9NVjc4WFgwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfTVhDIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfT1JJT041WCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX1BOWDQwMDggaXMgbm90IHNldAotQ09ORklHX0FSQ0hfUFhBPXkKKyMgQ09ORklHX0FSQ0hfUFhBIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfUlBDIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfU0ExMTAwIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfUzNDMjQxMCBpcyBub3Qgc2V0CkBAIC0xNDgsMjggKzE1NSwzNCBAQAogIyBDT05GSUdfQVJDSF9MSDdBNDBYIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfREFWSU5DSSBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX09NQVAgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9NU003WDAwQSBpcyBub3Qgc2V0CiAKICMKLSMgSW50ZWwgUFhBMnh4IEltcGxlbWVudGF0aW9ucworIyBNYXJ2ZWxsIExva2kgKDg4UkM4NDgwKSBJbXBsZW1lbnRhdGlvbnMKICMKLSMgQ09ORklHX0FSQ0hfTFVCQk9DSyBpcyBub3Qgc2V0Ci0jIENPTkZJR19NQUNIX0xPR0lDUERfUFhBMjcwIGlzIG5vdCBzZXQKLSMgQ09ORklHX01BQ0hfTUFJTlNUT05FIGlzIG5vdCBzZXQKLSMgQ09ORklHX0FSQ0hfUFhBX0lEUCBpcyBub3Qgc2V0Ci0jIENPTkZJR19QWEFfU0hBUlBTTCBpcyBub3Qgc2V0Ci0jIENPTkZJR19NQUNIX1RSSVpFUFM0IGlzIG5vdCBzZXQKLUNPTkZJR19NQUNIX0VNX1gyNzA9eQotQ09ORklHX1BYQTI3eD15CitDT05GSUdfTUFDSF9MQjg4UkM4NDgwPXkKKworIworIyBCb290IG9wdGlvbnMKKyMKKworIworIyBQb3dlciBtYW5hZ2VtZW50CisjCitDT05GSUdfUExBVF9PUklPTj15CiAKICMKICMgUHJvY2Vzc29yIFR5cGUKICMKIENPTkZJR19DUFVfMzI9eQotQ09ORklHX0NQVV9YU0NBTEU9eQorQ09ORklHX0NQVV9GRVJPQ0VPTj15CisjIENPTkZJR19DUFVfRkVST0NFT05fT0xEX0lEIGlzIG5vdCBzZXQKIENPTkZJR19DUFVfMzJ2NT15CiBDT05GSUdfQ1BVX0FCUlRfRVY1VD15CitDT05GSUdfQ1BVX1BBQlJUX05PSUZBUj15CiBDT05GSUdfQ1BVX0NBQ0hFX1ZJVlQ9eQotQ09ORklHX0NQVV9UTEJfVjRXQkk9eQorQ09ORklHX0NQVV9DT1BZX0ZFUk9DRU9OPXkKK0NPTkZJR19DUFVfVExCX0ZFUk9DRU9OPXkKIENPTkZJR19DUFVfQ1AxNT15CiBDT05GSUdfQ1BVX0NQMTVfTU1VPXkKIApAQCAtMTc3LDI3ICsxOTAsMjUgQEAKICMgUHJvY2Vzc29yIEZlYXR1cmVzCiAjCiBDT05GSUdfQVJNX1RIVU1CPXkKKyMgQ09ORklHX0NQVV9JQ0FDSEVfRElTQUJMRSBpcyBub3Qgc2V0CiAjIENPTkZJR19DUFVfRENBQ0hFX0RJU0FCTEUgaXMgbm90IHNldAogIyBDT05GSUdfT1VURVJfQ0FDSEUgaXMgbm90IHNldAotQ09ORklHX0lXTU1YVD15Ci1DT05GSUdfWFNDQUxFX1BNVT15CiAKICMKICMgQnVzIHN1cHBvcnQKICMKKyMgQ09ORklHX1BDSV9TWVNDQUxMIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfU1VQUE9SVFNfTVNJIGlzIG5vdCBzZXQKLQotIwotIyBQQ0NBUkQgKFBDTUNJQS9DYXJkQnVzKSBzdXBwb3J0Ci0jCiAjIENPTkZJR19QQ0NBUkQgaXMgbm90IHNldAogCiAjCiAjIEtlcm5lbCBGZWF0dXJlcwogIwotIyBDT05GSUdfVElDS19PTkVTSE9UIGlzIG5vdCBzZXQKLSMgQ09ORklHX1BSRUVNUFQgaXMgbm90IHNldAotIyBDT05GSUdfTk9fSURMRV9IWiBpcyBub3Qgc2V0CitDT05GSUdfVElDS19PTkVTSE9UPXkKK0NPTkZJR19OT19IWj15CitDT05GSUdfSElHSF9SRVNfVElNRVJTPXkKK0NPTkZJR19HRU5FUklDX0NMT0NLRVZFTlRTX0JVSUxEPXkKK0NPTkZJR19QUkVFTVBUPXkKIENPTkZJR19IWj0xMDAKIENPTkZJR19BRUFCST15CiBDT05GSUdfT0FCSV9DT01QQVQ9eQpAQCAtMjA5LDkgKzIyMCwxMyBAQAogQ09ORklHX0ZMQVRNRU09eQogQ09ORklHX0ZMQVRfTk9ERV9NRU1fTUFQPXkKICMgQ09ORklHX1NQQVJTRU1FTV9TVEFUSUMgaXMgbm90IHNldAorIyBDT05GSUdfU1BBUlNFTUVNX1ZNRU1NQVBfRU5BQkxFIGlzIG5vdCBzZXQKK0NPTkZJR19QQUdFRkxBR1NfRVhURU5ERUQ9eQogQ09ORklHX1NQTElUX1BUTE9DS19DUFVTPTQwOTYKICMgQ09ORklHX1JFU09VUkNFU182NEJJVCBpcyBub3Qgc2V0CiBDT05GSUdfWk9ORV9ETUFfRkxBRz0xCitDT05GSUdfQk9VTkNFPXkKK0NPTkZJR19WSVJUX1RPX0JVUz15CiBDT05GSUdfQUxJR05NRU5UX1RSQVA9eQogCiAjCkBAIC0yMzAsOSArMjQ1LDkgQEAKICMKICMgQXQgbGVhc3Qgb25lIGVtdWxhdGlvbiBtdXN0IGJlIHNlbGVjdGVkCiAjCi1DT05GSUdfRlBFX05XRlBFPXkKLSMgQ09ORklHX0ZQRV9OV0ZQRV9YUCBpcyBub3Qgc2V0CisjIENPTkZJR19GUEVfTldGUEUgaXMgbm90IHNldAogIyBDT05GSUdfRlBFX0ZBU1RGUEUgaXMgbm90IHNldAorIyBDT05GSUdfVkZQIGlzIG5vdCBzZXQKIAogIwogIyBVc2Vyc3BhY2UgYmluYXJ5IGZvcm1hdHMKQEAgLTI0NCwxMSArMjU5LDggQEAKICMKICMgUG93ZXIgbWFuYWdlbWVudCBvcHRpb25zCiAjCi1DT05GSUdfUE09eQotQ09ORklHX1BNX0xFR0FDWT15Ci0jIENPTkZJR19QTV9ERUJVRyBpcyBub3Qgc2V0Ci0jIENPTkZJR19QTV9TWVNGU19ERVBSRUNBVEVEIGlzIG5vdCBzZXQKLUNPTkZJR19BUE1fRU1VTEFUSU9OPW0KKyMgQ09ORklHX1BNIGlzIG5vdCBzZXQKK0NPTkZJR19BUkNIX1NVU1BFTkRfUE9TU0lCTEU9eQogCiAjCiAjIE5ldHdvcmtpbmcKQEAgLTI1OSwxNSArMjcxLDE2IEBACiAjIE5ldHdvcmtpbmcgb3B0aW9ucwogIwogQ09ORklHX1BBQ0tFVD15Ci0jIENPTkZJR19QQUNLRVRfTU1BUCBpcyBub3Qgc2V0CitDT05GSUdfUEFDS0VUX01NQVA9eQogQ09ORklHX1VOSVg9eQogQ09ORklHX1hGUk09eQogIyBDT05GSUdfWEZSTV9VU0VSIGlzIG5vdCBzZXQKICMgQ09ORklHX1hGUk1fU1VCX1BPTElDWSBpcyBub3Qgc2V0CiAjIENPTkZJR19YRlJNX01JR1JBVEUgaXMgbm90IHNldAorIyBDT05GSUdfWEZSTV9TVEFUSVNUSUNTIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVF9LRVkgaXMgbm90IHNldAogQ09ORklHX0lORVQ9eQotIyBDT05GSUdfSVBfTVVMVElDQVNUIGlzIG5vdCBzZXQKK0NPTkZJR19JUF9NVUxUSUNBU1Q9eQogIyBDT05GSUdfSVBfQURWQU5DRURfUk9VVEVSIGlzIG5vdCBzZXQKIENPTkZJR19JUF9GSUJfSEFTSD15CiBDT05GSUdfSVBfUE5QPXkKQEAgLTI3Niw2ICsyODksNyBAQAogIyBDT05GSUdfSVBfUE5QX1JBUlAgaXMgbm90IHNldAogIyBDT05GSUdfTkVUX0lQSVAgaXMgbm90IHNldAogIyBDT05GSUdfTkVUX0lQR1JFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lQX01ST1VURSBpcyBub3Qgc2V0CiAjIENPTkZJR19BUlBEIGlzIG5vdCBzZXQKICMgQ09ORklHX1NZTl9DT09LSUVTIGlzIG5vdCBzZXQKICMgQ09ORklHX0lORVRfQUggaXMgbm90IHNldApAQCAtMjg2LDYgKzMwMCw3IEBACiBDT05GSUdfSU5FVF9YRlJNX01PREVfVFJBTlNQT1JUPXkKIENPTkZJR19JTkVUX1hGUk1fTU9ERV9UVU5ORUw9eQogQ09ORklHX0lORVRfWEZSTV9NT0RFX0JFRVQ9eQorIyBDT05GSUdfSU5FVF9MUk8gaXMgbm90IHNldAogQ09ORklHX0lORVRfRElBRz15CiBDT05GSUdfSU5FVF9UQ1BfRElBRz15CiAjIENPTkZJR19UQ1BfQ09OR19BRFZBTkNFRCBpcyBub3Qgc2V0CkBAIC0yOTMsOCArMzA4LDYgQEAKIENPTkZJR19ERUZBVUxUX1RDUF9DT05HPSJjdWJpYyIKICMgQ09ORklHX1RDUF9NRDVTSUcgaXMgbm90IHNldAogIyBDT05GSUdfSVBWNiBpcyBub3Qgc2V0Ci0jIENPTkZJR19JTkVUNl9YRlJNX1RVTk5FTCBpcyBub3Qgc2V0Ci0jIENPTkZJR19JTkVUNl9UVU5ORUwgaXMgbm90IHNldAogIyBDT05GSUdfTkVUV09SS19TRUNNQVJLIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVEZJTFRFUiBpcyBub3Qgc2V0CiAjIENPTkZJR19JUF9EQ0NQIGlzIG5vdCBzZXQKQEAgLTMxMSw1NSArMzI0LDI3IEBACiAjIENPTkZJR19MQVBCIGlzIG5vdCBzZXQKICMgQ09ORklHX0VDT05FVCBpcyBub3Qgc2V0CiAjIENPTkZJR19XQU5fUk9VVEVSIGlzIG5vdCBzZXQKLQotIwotIyBRb1MgYW5kL29yIGZhaXIgcXVldWVpbmcKLSMKICMgQ09ORklHX05FVF9TQ0hFRCBpcyBub3Qgc2V0CiAKICMKICMgTmV0d29yayB0ZXN0aW5nCiAjCi0jIENPTkZJR19ORVRfUEtUR0VOIGlzIG5vdCBzZXQKK0NPTkZJR19ORVRfUEtUR0VOPW0KICMgQ09ORklHX0hBTVJBRElPIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NBTiBpcyBub3Qgc2V0CiAjIENPTkZJR19JUkRBIGlzIG5vdCBzZXQKLUNPTkZJR19CVD1tCi1DT05GSUdfQlRfTDJDQVA9bQotQ09ORklHX0JUX1NDTz1tCi1DT05GSUdfQlRfUkZDT01NPW0KLSMgQ09ORklHX0JUX1JGQ09NTV9UVFkgaXMgbm90IHNldAotQ09ORklHX0JUX0JORVA9bQotIyBDT05GSUdfQlRfQk5FUF9NQ19GSUxURVIgaXMgbm90IHNldAotIyBDT05GSUdfQlRfQk5FUF9QUk9UT19GSUxURVIgaXMgbm90IHNldAotQ09ORklHX0JUX0hJRFA9bQotCi0jCi0jIEJsdWV0b290aCBkZXZpY2UgZHJpdmVycwotIwotQ09ORklHX0JUX0hDSVVTQj1tCi0jIENPTkZJR19CVF9IQ0lVU0JfU0NPIGlzIG5vdCBzZXQKLUNPTkZJR19CVF9IQ0lVQVJUPW0KLSMgQ09ORklHX0JUX0hDSVVBUlRfSDQgaXMgbm90IHNldAotIyBDT05GSUdfQlRfSENJVUFSVF9CQ1NQIGlzIG5vdCBzZXQKLUNPTkZJR19CVF9IQ0lCQ00yMDNYPW0KLUNPTkZJR19CVF9IQ0lCUEExMFg9bQotQ09ORklHX0JUX0hDSUJGVVNCPW0KLSMgQ09ORklHX0JUX0hDSVZIQ0kgaXMgbm90IHNldAorIyBDT05GSUdfQlQgaXMgbm90IHNldAogIyBDT05GSUdfQUZfUlhSUEMgaXMgbm90IHNldAogCiAjCiAjIFdpcmVsZXNzCiAjCiAjIENPTkZJR19DRkc4MDIxMSBpcyBub3Qgc2V0Ci0jIENPTkZJR19XSVJFTEVTU19FWFQgaXMgbm90IHNldAorQ09ORklHX1dJUkVMRVNTX0VYVD15CiAjIENPTkZJR19NQUM4MDIxMSBpcyBub3Qgc2V0Ci1DT05GSUdfSUVFRTgwMjExPW0KLSMgQ09ORklHX0lFRUU4MDIxMV9ERUJVRyBpcyBub3Qgc2V0Ci1DT05GSUdfSUVFRTgwMjExX0NSWVBUX1dFUD1tCi1DT05GSUdfSUVFRTgwMjExX0NSWVBUX0NDTVA9bQotIyBDT05GSUdfSUVFRTgwMjExX0NSWVBUX1RLSVAgaXMgbm90IHNldAotIyBDT05GSUdfSUVFRTgwMjExX1NPRlRNQUMgaXMgbm90IHNldAorIyBDT05GSUdfSUVFRTgwMjExIGlzIG5vdCBzZXQKICMgQ09ORklHX1JGS0lMTCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfOVAgaXMgbm90IHNldAogCiAjCiAjIERldmljZSBEcml2ZXJzCkBAIC0zNjgsMjQgKzM1MywyMCBAQAogIwogIyBHZW5lcmljIERyaXZlciBPcHRpb25zCiAjCitDT05GSUdfVUVWRU5UX0hFTFBFUl9QQVRIPSIvc2Jpbi9ob3RwbHVnIgogQ09ORklHX1NUQU5EQUxPTkU9eQogQ09ORklHX1BSRVZFTlRfRklSTVdBUkVfQlVJTEQ9eQogQ09ORklHX0ZXX0xPQURFUj15Ci0jIENPTkZJR19ERUJVR19EUklWRVIgaXMgbm90IHNldAotIyBDT05GSUdfREVCVUdfREVWUkVTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NZU19IWVBFUlZJU09SIGlzIG5vdCBzZXQKLQotIwotIyBDb25uZWN0b3IgLSB1bmlmaWVkIHVzZXJzcGFjZSA8LT4ga2VybmVsc3BhY2UgbGlua2VyCi0jCiAjIENPTkZJR19DT05ORUNUT1IgaXMgbm90IHNldAogQ09ORklHX01URD15CiAjIENPTkZJR19NVERfREVCVUcgaXMgbm90IHNldAotQ09ORklHX01URF9DT05DQVQ9eQorIyBDT05GSUdfTVREX0NPTkNBVCBpcyBub3Qgc2V0CiBDT05GSUdfTVREX1BBUlRJVElPTlM9eQogIyBDT05GSUdfTVREX1JFREJPT1RfUEFSVFMgaXMgbm90IHNldAotIyBDT05GSUdfTVREX0NNRExJTkVfUEFSVFMgaXMgbm90IHNldAorQ09ORklHX01URF9DTURMSU5FX1BBUlRTPXkKICMgQ09ORklHX01URF9BRlNfUEFSVFMgaXMgbm90IHNldAorIyBDT05GSUdfTVREX0FSN19QQVJUUyBpcyBub3Qgc2V0CiAKICMKICMgVXNlciBNb2R1bGVzIEFuZCBUcmFuc2xhdGlvbiBMYXllcnMKQEAgLTM5MywyMCArMzc0LDI1IEBACiBDT05GSUdfTVREX0NIQVI9eQogQ09ORklHX01URF9CTEtERVZTPXkKIENPTkZJR19NVERfQkxPQ0s9eQotIyBDT05GSUdfRlRMIGlzIG5vdCBzZXQKLSMgQ09ORklHX05GVEwgaXMgbm90IHNldAorQ09ORklHX0ZUTD15CitDT05GSUdfTkZUTD15CisjIENPTkZJR19ORlRMX1JXIGlzIG5vdCBzZXQKICMgQ09ORklHX0lORlRMIGlzIG5vdCBzZXQKICMgQ09ORklHX1JGRF9GVEwgaXMgbm90IHNldAogIyBDT05GSUdfU1NGREMgaXMgbm90IHNldAorIyBDT05GSUdfTVREX09PUFMgaXMgbm90IHNldAogCiAjCiAjIFJBTS9ST00vRmxhc2ggY2hpcCBkcml2ZXJzCiAjCi0jIENPTkZJR19NVERfQ0ZJIGlzIG5vdCBzZXQKLSMgQ09ORklHX01URF9KRURFQ1BST0JFIGlzIG5vdCBzZXQKLSMgQ09ORklHX01URF9DRklfTk9TV0FQIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfQ0ZJPXkKK0NPTkZJR19NVERfSkVERUNQUk9CRT15CitDT05GSUdfTVREX0dFTl9QUk9CRT15CitDT05GSUdfTVREX0NGSV9BRFZfT1BUSU9OUz15CitDT05GSUdfTVREX0NGSV9OT1NXQVA9eQogIyBDT05GSUdfTVREX0NGSV9CRV9CWVRFX1NXQVAgaXMgbm90IHNldAogIyBDT05GSUdfTVREX0NGSV9MRV9CWVRFX1NXQVAgaXMgbm90IHNldAorQ09ORklHX01URF9DRklfR0VPTUVUUlk9eQogQ09ORklHX01URF9NQVBfQkFOS19XSURUSF8xPXkKIENPTkZJR19NVERfTUFQX0JBTktfV0lEVEhfMj15CiBDT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzQ9eQpAQCAtNDE1LDggKzQwMSwxMyBAQAogIyBDT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzMyIGlzIG5vdCBzZXQKIENPTkZJR19NVERfQ0ZJX0kxPXkKIENPTkZJR19NVERfQ0ZJX0kyPXkKLSMgQ09ORklHX01URF9DRklfSTQgaXMgbm90IHNldAorQ09ORklHX01URF9DRklfSTQ9eQogIyBDT05GSUdfTVREX0NGSV9JOCBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfT1RQIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfQ0ZJX0lOVEVMRVhUPXkKK0NPTkZJR19NVERfQ0ZJX0FNRFNURD15CitDT05GSUdfTVREX0NGSV9TVEFBPXkKK0NPTkZJR19NVERfQ0ZJX1VUSUw9eQogIyBDT05GSUdfTVREX1JBTSBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfUk9NIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9BQlNFTlQgaXMgbm90IHNldApAQCAtNDI1LDEyICs0MTYsMjAgQEAKICMgTWFwcGluZyBkcml2ZXJzIGZvciBjaGlwIGFjY2VzcwogIwogIyBDT05GSUdfTVREX0NPTVBMRVhfTUFQUElOR1MgaXMgbm90IHNldAotIyBDT05GSUdfTVREX1NIQVJQX1NMIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfUEhZU01BUD15CitDT05GSUdfTVREX1BIWVNNQVBfU1RBUlQ9MHgwCitDT05GSUdfTVREX1BIWVNNQVBfTEVOPTB4MAorQ09ORklHX01URF9QSFlTTUFQX0JBTktXSURUSD0wCisjIENPTkZJR19NVERfQVJNX0lOVEVHUkFUT1IgaXMgbm90IHNldAorIyBDT05GSUdfTVREX0lNUEE3IGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9QTEFUUkFNIGlzIG5vdCBzZXQKIAogIwogIyBTZWxmLWNvbnRhaW5lZCBNVEQgZGV2aWNlIGRyaXZlcnMKICMKKyMgQ09ORklHX01URF9EQVRBRkxBU0ggaXMgbm90IHNldAorQ09ORklHX01URF9NMjVQODA9eQorQ09ORklHX00yNVBYWF9VU0VfRkFTVF9SRUFEPXkKICMgQ09ORklHX01URF9TTFJBTSBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfUEhSQU0gaXMgbm90IHNldAogIyBDT05GSUdfTVREX01URFJBTSBpcyBub3Qgc2V0CkBAIC00NDMsNDYgKzQ0MiwzMyBAQAogIyBDT05GSUdfTVREX0RPQzIwMDEgaXMgbm90IHNldAogIyBDT05GSUdfTVREX0RPQzIwMDFQTFVTIGlzIG5vdCBzZXQKIENPTkZJR19NVERfTkFORD15Ci0jIENPTkZJR19NVERfTkFORF9WRVJJRllfV1JJVEUgaXMgbm90IHNldAorQ09ORklHX01URF9OQU5EX1ZFUklGWV9XUklURT15CiAjIENPTkZJR19NVERfTkFORF9FQ0NfU01DIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9OQU5EX01VU0VVTV9JRFMgaXMgbm90IHNldAotIyBDT05GSUdfTVREX05BTkRfSDE5MDAgaXMgbm90IHNldAogQ09ORklHX01URF9OQU5EX0lEUz15CiAjIENPTkZJR19NVERfTkFORF9ESVNLT05DSElQIGlzIG5vdCBzZXQKLSMgQ09ORklHX01URF9OQU5EX1NIQVJQU0wgaXMgbm90IHNldAogIyBDT05GSUdfTVREX05BTkRfTkFORFNJTSBpcyBub3Qgc2V0Ci1DT05GSUdfTVREX05BTkRfUExBVEZPUk09eQorIyBDT05GSUdfTVREX05BTkRfUExBVEZPUk0gaXMgbm90IHNldAorIyBDT05GSUdfTVREX0FMQVVEQSBpcyBub3Qgc2V0CitDT05GSUdfTVREX05BTkRfT1JJT049eQogIyBDT05GSUdfTVREX09ORU5BTkQgaXMgbm90IHNldAogCiAjCiAjIFVCSSAtIFVuc29ydGVkIGJsb2NrIGltYWdlcwogIwogIyBDT05GSUdfTVREX1VCSSBpcyBub3Qgc2V0Ci0KLSMKLSMgUGFyYWxsZWwgcG9ydCBzdXBwb3J0Ci0jCiAjIENPTkZJR19QQVJQT1JUIGlzIG5vdCBzZXQKLQotIwotIyBQbHVnIGFuZCBQbGF5IHN1cHBvcnQKLSMKLSMgQ09ORklHX1BOUEFDUEkgaXMgbm90IHNldAotCi0jCi0jIEJsb2NrIGRldmljZXMKLSMKK0NPTkZJR19CTEtfREVWPXkKICMgQ09ORklHX0JMS19ERVZfQ09XX0NPTU1PTiBpcyBub3Qgc2V0CiBDT05GSUdfQkxLX0RFVl9MT09QPXkKICMgQ09ORklHX0JMS19ERVZfQ1JZUFRPTE9PUCBpcyBub3Qgc2V0CiAjIENPTkZJR19CTEtfREVWX05CRCBpcyBub3Qgc2V0CiAjIENPTkZJR19CTEtfREVWX1VCIGlzIG5vdCBzZXQKLUNPTkZJR19CTEtfREVWX1JBTT15Ci1DT05GSUdfQkxLX0RFVl9SQU1fQ09VTlQ9MTYKLUNPTkZJR19CTEtfREVWX1JBTV9TSVpFPTEyMDAwCi1DT05GSUdfQkxLX0RFVl9SQU1fQkxPQ0tTSVpFPTEwMjQKKyMgQ09ORklHX0JMS19ERVZfUkFNIGlzIG5vdCBzZXQKICMgQ09ORklHX0NEUk9NX1BLVENEVkQgaXMgbm90IHNldAogIyBDT05GSUdfQVRBX09WRVJfRVRIIGlzIG5vdCBzZXQKKyMgQ09ORklHX01JU0NfREVWSUNFUyBpcyBub3Qgc2V0CitDT05GSUdfSEFWRV9JREU9eQogIyBDT05GSUdfSURFIGlzIG5vdCBzZXQKIAogIwpAQCAtNDkwLDYgKzQ3Niw3IEBACiAjCiAjIENPTkZJR19SQUlEX0FUVFJTIGlzIG5vdCBzZXQKIENPTkZJR19TQ1NJPXkKK0NPTkZJR19TQ1NJX0RNQT15CiAjIENPTkZJR19TQ1NJX1RHVCBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX05FVExJTksgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9QUk9DX0ZTIGlzIG5vdCBzZXQKQEAgLTUwMCw4ICs0ODcsOSBAQAogQ09ORklHX0JMS19ERVZfU0Q9eQogIyBDT05GSUdfQ0hSX0RFVl9TVCBpcyBub3Qgc2V0CiAjIENPTkZJR19DSFJfREVWX09TU1QgaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9TUiBpcyBub3Qgc2V0Ci0jIENPTkZJR19DSFJfREVWX1NHIGlzIG5vdCBzZXQKK0NPTkZJR19CTEtfREVWX1NSPW0KKyMgQ09ORklHX0JMS19ERVZfU1JfVkVORE9SIGlzIG5vdCBzZXQKK0NPTkZJR19DSFJfREVWX1NHPW0KICMgQ09ORklHX0NIUl9ERVZfU0NIIGlzIG5vdCBzZXQKIAogIwpAQCAtNTE5LDQwICs1MDcsNDEgQEAKICMgQ09ORklHX1NDU0lfU1BJX0FUVFJTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfRkNfQVRUUlMgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9JU0NTSV9BVFRSUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX1NBU19BVFRSUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX1NBU19MSUJTQVMgaXMgbm90IHNldAotCi0jCi0jIFNDU0kgbG93LWxldmVsIGRyaXZlcnMKLSMKKyMgQ09ORklHX1NDU0lfU1JQX0FUVFJTIGlzIG5vdCBzZXQKK0NPTkZJR19TQ1NJX0xPV0xFVkVMPXkKICMgQ09ORklHX0lTQ1NJX1RDUCBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX0RFQlVHIGlzIG5vdCBzZXQKLSMgQ09ORklHX0FUQSBpcyBub3Qgc2V0Ci0KLSMKLSMgTXVsdGktZGV2aWNlIHN1cHBvcnQgKFJBSUQgYW5kIExWTSkKLSMKK0NPTkZJR19BVEE9eQorIyBDT05GSUdfQVRBX05PTlNUQU5EQVJEIGlzIG5vdCBzZXQKK0NPTkZJR19TQVRBX1BNUD15CitDT05GSUdfQVRBX1NGRj15CitDT05GSUdfU0FUQV9NVj15CisjIENPTkZJR19QQVRBX1BMQVRGT1JNIGlzIG5vdCBzZXQKICMgQ09ORklHX01EIGlzIG5vdCBzZXQKLQotIwotIyBOZXR3b3JrIGRldmljZSBzdXBwb3J0Ci0jCiBDT05GSUdfTkVUREVWSUNFUz15CisjIENPTkZJR19ORVRERVZJQ0VTX01VTFRJUVVFVUUgaXMgbm90IHNldAogIyBDT05GSUdfRFVNTVkgaXMgbm90IHNldAogIyBDT05GSUdfQk9ORElORyBpcyBub3Qgc2V0CisjIENPTkZJR19NQUNWTEFOIGlzIG5vdCBzZXQKICMgQ09ORklHX0VRVUFMSVpFUiBpcyBub3Qgc2V0CiAjIENPTkZJR19UVU4gaXMgbm90IHNldAorIyBDT05GSUdfVkVUSCBpcyBub3Qgc2V0CiAjIENPTkZJR19QSFlMSUIgaXMgbm90IHNldAotCi0jCi0jIEV0aGVybmV0ICgxMCBvciAxMDBNYml0KQotIwogQ09ORklHX05FVF9FVEhFUk5FVD15CiBDT05GSUdfTUlJPXkKKyMgQ09ORklHX0FYODg3OTYgaXMgbm90IHNldAogIyBDT05GSUdfU01DOTFYIGlzIG5vdCBzZXQKLUNPTkZJR19ETTkwMDA9eQotIyBDT05GSUdfU01DOTExWCBpcyBub3Qgc2V0Ci0jIENPTkZJR19ORVRERVZfMTAwMCBpcyBub3Qgc2V0CisjIENPTkZJR19ETTkwMDAgaXMgbm90IHNldAorIyBDT05GSUdfRU5DMjhKNjAgaXMgbm90IHNldAorIyBDT05GSUdfSUJNX05FV19FTUFDX1pNSUkgaXMgbm90IHNldAorIyBDT05GSUdfSUJNX05FV19FTUFDX1JHTUlJIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTV9ORVdfRU1BQ19UQUggaXMgbm90IHNldAorIyBDT05GSUdfSUJNX05FV19FTUFDX0VNQUM0IGlzIG5vdCBzZXQKKyMgQ09ORklHX0I0NCBpcyBub3Qgc2V0CitDT05GSUdfTkVUREVWXzEwMDA9eQorIyBDT05GSUdfRTEwMDBFX0VOQUJMRUQgaXMgbm90IHNldAorQ09ORklHX01WNjQzWFhfRVRIPXkKICMgQ09ORklHX05FVERFVl8xMDAwMCBpcyBub3Qgc2V0CiAKICMKQEAgLTU2MCw2ICs1NDksNyBAQAogIwogIyBDT05GSUdfV0xBTl9QUkU4MDIxMSBpcyBub3Qgc2V0CiAjIENPTkZJR19XTEFOXzgwMjExIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lXTFdJRklfTEVEUyBpcyBub3Qgc2V0CiAKICMKICMgVVNCIE5ldHdvcmsgQWRhcHRlcnMKQEAgLTU2OCwxOSArNTU4LDEzIEBACiAjIENPTkZJR19VU0JfS0FXRVRIIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9QRUdBU1VTIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9SVEw4MTUwIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9VU0JORVRfTUlJIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9VU0JORVQgaXMgbm90IHNldAogIyBDT05GSUdfV0FOIGlzIG5vdCBzZXQKICMgQ09ORklHX1BQUCBpcyBub3Qgc2V0CiAjIENPTkZJR19TTElQIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NIQVBFUiBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRDT05TT0xFIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVFBPTEwgaXMgbm90IHNldAogIyBDT05GSUdfTkVUX1BPTExfQ09OVFJPTExFUiBpcyBub3Qgc2V0Ci0KLSMKLSMgSVNETiBzdWJzeXN0ZW0KLSMKICMgQ09ORklHX0lTRE4gaXMgbm90IHNldAogCiAjCkBAIC01OTQsNDggKzU3OCwyNyBAQAogIyBVc2VybGFuZCBpbnRlcmZhY2VzCiAjCiBDT05GSUdfSU5QVVRfTU9VU0VERVY9eQotIyBDT05GSUdfSU5QVVRfTU9VU0VERVZfUFNBVVggaXMgbm90IHNldAorQ09ORklHX0lOUFVUX01PVVNFREVWX1BTQVVYPXkKIENPTkZJR19JTlBVVF9NT1VTRURFVl9TQ1JFRU5fWD0xMDI0CiBDT05GSUdfSU5QVVRfTU9VU0VERVZfU0NSRUVOX1k9NzY4CiAjIENPTkZJR19JTlBVVF9KT1lERVYgaXMgbm90IHNldAotIyBDT05GSUdfSU5QVVRfVFNERVYgaXMgbm90IHNldAotQ09ORklHX0lOUFVUX0VWREVWPXkKKyMgQ09ORklHX0lOUFVUX0VWREVWIGlzIG5vdCBzZXQKICMgQ09ORklHX0lOUFVUX0VWQlVHIGlzIG5vdCBzZXQKIAogIwogIyBJbnB1dCBEZXZpY2UgRHJpdmVycwogIwotQ09ORklHX0lOUFVUX0tFWUJPQVJEPXkKLSMgQ09ORklHX0tFWUJPQVJEX0FUS0JEIGlzIG5vdCBzZXQKLSMgQ09ORklHX0tFWUJPQVJEX1NVTktCRCBpcyBub3Qgc2V0Ci0jIENPTkZJR19LRVlCT0FSRF9MS0tCRCBpcyBub3Qgc2V0Ci0jIENPTkZJR19LRVlCT0FSRF9YVEtCRCBpcyBub3Qgc2V0Ci0jIENPTkZJR19LRVlCT0FSRF9ORVdUT04gaXMgbm90IHNldAotIyBDT05GSUdfS0VZQk9BUkRfU1RPV0FXQVkgaXMgbm90IHNldAotQ09ORklHX0tFWUJPQVJEX1BYQTI3eD1tCi0jIENPTkZJR19LRVlCT0FSRF9HUElPIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOUFVUX0tFWUJPQVJEIGlzIG5vdCBzZXQKICMgQ09ORklHX0lOUFVUX01PVVNFIGlzIG5vdCBzZXQKICMgQ09ORklHX0lOUFVUX0pPWVNUSUNLIGlzIG5vdCBzZXQKICMgQ09ORklHX0lOUFVUX1RBQkxFVCBpcyBub3Qgc2V0Ci1DT05GSUdfSU5QVVRfVE9VQ0hTQ1JFRU49eQotIyBDT05GSUdfVE9VQ0hTQ1JFRU5fR1VOWkUgaXMgbm90IHNldAotIyBDT05GSUdfVE9VQ0hTQ1JFRU5fRUxPIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RPVUNIU0NSRUVOX01UT1VDSCBpcyBub3Qgc2V0Ci0jIENPTkZJR19UT1VDSFNDUkVFTl9NSzcxMiBpcyBub3Qgc2V0Ci0jIENPTkZJR19UT1VDSFNDUkVFTl9QRU5NT1VOVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19UT1VDSFNDUkVFTl9UT1VDSFJJR0hUIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RPVUNIU0NSRUVOX1RPVUNIV0lOIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RPVUNIU0NSRUVOX1VDQjE0MDAgaXMgbm90IHNldAotIyBDT05GSUdfVE9VQ0hTQ1JFRU5fVVNCX0NPTVBPU0lURSBpcyBub3Qgc2V0CisjIENPTkZJR19JTlBVVF9UT1VDSFNDUkVFTiBpcyBub3Qgc2V0CiAjIENPTkZJR19JTlBVVF9NSVNDIGlzIG5vdCBzZXQKIAogIwogIyBIYXJkd2FyZSBJL08gcG9ydHMKICMKLUNPTkZJR19TRVJJTz15Ci0jIENPTkZJR19TRVJJT19TRVJQT1JUIGlzIG5vdCBzZXQKLUNPTkZJR19TRVJJT19MSUJQUzI9eQotIyBDT05GSUdfU0VSSU9fUkFXIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFUklPIGlzIG5vdCBzZXQKICMgQ09ORklHX0dBTUVQT1JUIGlzIG5vdCBzZXQKIAogIwpAQCAtNjQ1LDE5MSArNjA4LDEzNyBAQAogQ09ORklHX1ZUX0NPTlNPTEU9eQogQ09ORklHX0hXX0NPTlNPTEU9eQogIyBDT05GSUdfVlRfSFdfQ09OU09MRV9CSU5ESU5HIGlzIG5vdCBzZXQKK0NPTkZJR19ERVZLTUVNPXkKICMgQ09ORklHX1NFUklBTF9OT05TVEFOREFSRCBpcyBub3Qgc2V0CiAKICMKICMgU2VyaWFsIGRyaXZlcnMKICMKLSMgQ09ORklHX1NFUklBTF84MjUwIGlzIG5vdCBzZXQKK0NPTkZJR19TRVJJQUxfODI1MD15CitDT05GSUdfU0VSSUFMXzgyNTBfQ09OU09MRT15CitDT05GSUdfU0VSSUFMXzgyNTBfTlJfVUFSVFM9NAorQ09ORklHX1NFUklBTF84MjUwX1JVTlRJTUVfVUFSVFM9MgorIyBDT05GSUdfU0VSSUFMXzgyNTBfRVhURU5ERUQgaXMgbm90IHNldAogCiAjCiAjIE5vbi04MjUwIHNlcmlhbCBwb3J0IHN1cHBvcnQKICMKLUNPTkZJR19TRVJJQUxfUFhBPXkKLUNPTkZJR19TRVJJQUxfUFhBX0NPTlNPTEU9eQogQ09ORklHX1NFUklBTF9DT1JFPXkKIENPTkZJR19TRVJJQUxfQ09SRV9DT05TT0xFPXkKIENPTkZJR19VTklYOThfUFRZUz15CiBDT05GSUdfTEVHQUNZX1BUWVM9eQotQ09ORklHX0xFR0FDWV9QVFlfQ09VTlQ9MjU2Ci0KLSMKLSMgSVBNSQotIworQ09ORklHX0xFR0FDWV9QVFlfQ09VTlQ9MTYKICMgQ09ORklHX0lQTUlfSEFORExFUiBpcyBub3Qgc2V0Ci0jIENPTkZJR19XQVRDSERPRyBpcyBub3Qgc2V0CiBDT05GSUdfSFdfUkFORE9NPW0KICMgQ09ORklHX05WUkFNIGlzIG5vdCBzZXQKICMgQ09ORklHX1IzOTY0IGlzIG5vdCBzZXQKICMgQ09ORklHX1JBV19EUklWRVIgaXMgbm90IHNldAotCi0jCi0jIFRQTSBkZXZpY2VzCi0jCiAjIENPTkZJR19UQ0dfVFBNIGlzIG5vdCBzZXQKLSMgQ09ORklHX0kyQyBpcyBub3Qgc2V0CitDT05GSUdfSTJDPXkKK0NPTkZJR19JMkNfQk9BUkRJTkZPPXkKK0NPTkZJR19JMkNfQ0hBUkRFVj15CiAKICMKLSMgU1BJIHN1cHBvcnQKKyMgSTJDIEhhcmR3YXJlIEJ1cyBzdXBwb3J0CiAjCi0jIENPTkZJR19TUEkgaXMgbm90IHNldAotIyBDT05GSUdfU1BJX01BU1RFUiBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfT0NPUkVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19QQVJQT1JUX0xJR0hUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19TSU1URUMgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1RBT1NfRVZNIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19TVFVCIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19USU5ZX1VTQiBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfUENBX1BMQVRGT1JNIGlzIG5vdCBzZXQKK0NPTkZJR19JMkNfTVY2NFhYWD15CiAKICMKLSMgRGFsbGFzJ3MgMS13aXJlIGJ1cworIyBNaXNjZWxsYW5lb3VzIEkyQyBDaGlwIHN1cHBvcnQKICMKKyMgQ09ORklHX0RTMTY4MiBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0VFUFJPTSBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX1BDRjg1NzQgaXMgbm90IHNldAorIyBDT05GSUdfUENGODU3NSBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX1BDRjg1OTEgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19NQVg2ODc1IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfVFNMMjU1MCBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfREVCVUdfQ09SRSBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfREVCVUdfQUxHTyBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfREVCVUdfQlVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19ERUJVR19DSElQIGlzIG5vdCBzZXQKK0NPTkZJR19TUEk9eQorQ09ORklHX1NQSV9NQVNURVI9eQorCisjCisjIFNQSSBNYXN0ZXIgQ29udHJvbGxlciBEcml2ZXJzCisjCisjIENPTkZJR19TUElfQklUQkFORyBpcyBub3Qgc2V0CisKKyMKKyMgU1BJIFByb3RvY29sIE1hc3RlcnMKKyMKKyMgQ09ORklHX1NQSV9BVDI1IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NQSV9TUElERVYgaXMgbm90IHNldAorIyBDT05GSUdfU1BJX1RMRTYyWDAgaXMgbm90IHNldAogIyBDT05GSUdfVzEgaXMgbm90IHNldAorIyBDT05GSUdfUE9XRVJfU1VQUExZIGlzIG5vdCBzZXQKICMgQ09ORklHX0hXTU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX1dBVENIRE9HIGlzIG5vdCBzZXQKIAogIwotIyBNaXNjIGRldmljZXMKKyMgU29uaWNzIFNpbGljb24gQmFja3BsYW5lCiAjCitDT05GSUdfU1NCX1BPU1NJQkxFPXkKKyMgQ09ORklHX1NTQiBpcyBub3Qgc2V0CiAKICMKICMgTXVsdGlmdW5jdGlvbiBkZXZpY2UgZHJpdmVycwogIwogIyBDT05GSUdfTUZEX1NNNTAxIGlzIG5vdCBzZXQKLQotIwotIyBMRUQgZGV2aWNlcwotIwotIyBDT05GSUdfTkVXX0xFRFMgaXMgbm90IHNldAotCi0jCi0jIExFRCBkcml2ZXJzCi0jCi0KLSMKLSMgTEVEIFRyaWdnZXJzCi0jCisjIENPTkZJR19NRkRfQVNJQzMgaXMgbm90IHNldAorIyBDT05GSUdfSFRDX1BBU0lDMyBpcyBub3Qgc2V0CiAKICMKICMgTXVsdGltZWRpYSBkZXZpY2VzCiAjCisKKyMKKyMgTXVsdGltZWRpYSBjb3JlIHN1cHBvcnQKKyMKICMgQ09ORklHX1ZJREVPX0RFViBpcyBub3Qgc2V0CiAjIENPTkZJR19EVkJfQ09SRSBpcyBub3Qgc2V0CisjIENPTkZJR19WSURFT19NRURJQSBpcyBub3Qgc2V0CisKKyMKKyMgTXVsdGltZWRpYSBkcml2ZXJzCisjCiAjIENPTkZJR19EQUIgaXMgbm90IHNldAogCiAjCiAjIEdyYXBoaWNzIHN1cHBvcnQKICMKKyMgQ09ORklHX1ZHQVNUQVRFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZJREVPX09VVFBVVF9DT05UUk9MIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCIGlzIG5vdCBzZXQKICMgQ09ORklHX0JBQ0tMSUdIVF9MQ0RfU1VQUE9SVCBpcyBub3Qgc2V0CiAKICMKICMgRGlzcGxheSBkZXZpY2Ugc3VwcG9ydAogIwogIyBDT05GSUdfRElTUExBWV9TVVBQT1JUIGlzIG5vdCBzZXQKLSMgQ09ORklHX1ZHQVNUQVRFIGlzIG5vdCBzZXQKLUNPTkZJR19GQj15Ci0jIENPTkZJR19GSVJNV0FSRV9FRElEIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX0REQyBpcyBub3Qgc2V0Ci1DT05GSUdfRkJfQ0ZCX0ZJTExSRUNUPXkKLUNPTkZJR19GQl9DRkJfQ09QWUFSRUE9eQotQ09ORklHX0ZCX0NGQl9JTUFHRUJMSVQ9eQotIyBDT05GSUdfRkJfU1lTX0ZJTExSRUNUIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX1NZU19DT1BZQVJFQSBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9TWVNfSU1BR0VCTElUIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX1NZU19GT1BTIGlzIG5vdCBzZXQKLUNPTkZJR19GQl9ERUZFUlJFRF9JTz15Ci0jIENPTkZJR19GQl9TVkdBTElCIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX01BQ01PREVTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX0JBQ0tMSUdIVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9NT0RFX0hFTFBFUlMgaXMgbm90IHNldAotIyBDT05GSUdfRkJfVElMRUJMSVRUSU5HIGlzIG5vdCBzZXQKLQotIwotIyBGcmFtZSBidWZmZXIgaGFyZHdhcmUgZHJpdmVycwotIwotIyBDT05GSUdfRkJfUzFEMTNYWFggaXMgbm90IHNldAotQ09ORklHX0ZCX1BYQT15Ci0jIENPTkZJR19GQl9QWEFfUEFSQU1FVEVSUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9NQlggaXMgbm90IHNldAotIyBDT05GSUdfRkJfVklSVFVBTCBpcyBub3Qgc2V0CiAKICMKICMgQ29uc29sZSBkaXNwbGF5IGRyaXZlciBzdXBwb3J0CiAjCiAjIENPTkZJR19WR0FfQ09OU09MRSBpcyBub3Qgc2V0CiBDT05GSUdfRFVNTVlfQ09OU09MRT15Ci1DT05GSUdfRlJBTUVCVUZGRVJfQ09OU09MRT15Ci0jIENPTkZJR19GUkFNRUJVRkZFUl9DT05TT0xFX1JPVEFUSU9OIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZPTlRTIGlzIG5vdCBzZXQKLUNPTkZJR19GT05UXzh4OD15Ci1DT05GSUdfRk9OVF84eDE2PXkKLUNPTkZJR19MT0dPPXkKLUNPTkZJR19MT0dPX0xJTlVYX01PTk89eQotQ09ORklHX0xPR09fTElOVVhfVkdBMTY9eQotQ09ORklHX0xPR09fTElOVVhfQ0xVVDIyND15CiAKICMKICMgU291bmQKICMKLUNPTkZJR19TT1VORD1tCi0KLSMKLSMgQWR2YW5jZWQgTGludXggU291bmQgQXJjaGl0ZWN0dXJlCi0jCi1DT05GSUdfU05EPW0KLUNPTkZJR19TTkRfVElNRVI9bQotQ09ORklHX1NORF9QQ009bQotIyBDT05GSUdfU05EX1NFUVVFTkNFUiBpcyBub3Qgc2V0Ci1DT05GSUdfU05EX09TU0VNVUw9eQotQ09ORklHX1NORF9NSVhFUl9PU1M9bQotQ09ORklHX1NORF9QQ01fT1NTPW0KLUNPTkZJR19TTkRfUENNX09TU19QTFVHSU5TPXkKLSMgQ09ORklHX1NORF9EWU5BTUlDX01JTk9SUyBpcyBub3Qgc2V0Ci1DT05GSUdfU05EX1NVUFBPUlRfT0xEX0FQST15Ci1DT05GSUdfU05EX1ZFUkJPU0VfUFJPQ0ZTPXkKLSMgQ09ORklHX1NORF9WRVJCT1NFX1BSSU5USyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfREVCVUcgaXMgbm90IHNldAotCi0jCi0jIEdlbmVyaWMgZGV2aWNlcwotIwotQ09ORklHX1NORF9BQzk3X0NPREVDPW0KLSMgQ09ORklHX1NORF9EVU1NWSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfTVRQQVYgaXMgbm90IHNldAotIyBDT05GSUdfU05EX1NFUklBTF9VMTY1NTAgaXMgbm90IHNldAotIyBDT05GSUdfU05EX01QVTQwMSBpcyBub3Qgc2V0Ci0KLSMKLSMgQUxTQSBBUk0gZGV2aWNlcwotIwotQ09ORklHX1NORF9QWEEyWFhfUENNPW0KLUNPTkZJR19TTkRfUFhBMlhYX0FDOTc9bQotCi0jCi0jIFVTQiBkZXZpY2VzCi0jCi0jIENPTkZJR19TTkRfVVNCX0FVRElPIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9VU0JfQ0FJQVEgaXMgbm90IHNldAotCi0jCi0jIFN5c3RlbSBvbiBDaGlwIGF1ZGlvIHN1cHBvcnQKLSMKLSMgQ09ORklHX1NORF9TT0MgaXMgbm90IHNldAotCi0jCi0jIE9wZW4gU291bmQgU3lzdGVtCi0jCi0jIENPTkZJR19TT1VORF9QUklNRSBpcyBub3Qgc2V0Ci1DT05GSUdfQUM5N19CVVM9bQotCi0jCi0jIEhJRCBEZXZpY2VzCi0jCisjIENPTkZJR19TT1VORCBpcyBub3Qgc2V0CitDT05GSUdfSElEX1NVUFBPUlQ9eQogQ09ORklHX0hJRD15CiAjIENPTkZJR19ISURfREVCVUcgaXMgbm90IHNldAorIyBDT05GSUdfSElEUkFXIGlzIG5vdCBzZXQKIAogIwogIyBVU0IgSW5wdXQgRGV2aWNlcwpAQCAtODM4LDQwICs3NDcsMzkgQEAKICMgQ09ORklHX1VTQl9ISURJTlBVVF9QT1dFUkJPT0sgaXMgbm90IHNldAogIyBDT05GSUdfSElEX0ZGIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9ISURERVYgaXMgbm90IHNldAotCi0jCi0jIFVTQiBzdXBwb3J0Ci0jCitDT05GSUdfVVNCX1NVUFBPUlQ9eQogQ09ORklHX1VTQl9BUkNIX0hBU19IQ0Q9eQotQ09ORklHX1VTQl9BUkNIX0hBU19PSENJPXkKKyMgQ09ORklHX1VTQl9BUkNIX0hBU19PSENJIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9BUkNIX0hBU19FSENJIGlzIG5vdCBzZXQKIENPTkZJR19VU0I9eQogIyBDT05GSUdfVVNCX0RFQlVHIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9BTk5PVU5DRV9ORVdfREVWSUNFUyBpcyBub3Qgc2V0CiAKICMKICMgTWlzY2VsbGFuZW91cyBVU0Igb3B0aW9ucwogIwogQ09ORklHX1VTQl9ERVZJQ0VGUz15Ci0jIENPTkZJR19VU0JfREVWSUNFX0NMQVNTIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfREVWSUNFX0NMQVNTPXkKICMgQ09ORklHX1VTQl9EWU5BTUlDX01JTk9SUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfU1VTUEVORCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfT1RHIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9PVEdfV0hJVEVMSVNUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9PVEdfQkxBQ0tMSVNUX0hVQiBpcyBub3Qgc2V0CiAKICMKICMgVVNCIEhvc3QgQ29udHJvbGxlciBEcml2ZXJzCiAjCisjIENPTkZJR19VU0JfQzY3WDAwX0hDRCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfSVNQMTE2WF9IQ0QgaXMgbm90IHNldAotQ09ORklHX1VTQl9PSENJX0hDRD15Ci0jIENPTkZJR19VU0JfT0hDSV9CSUdfRU5ESUFOX0RFU0MgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX09IQ0lfQklHX0VORElBTl9NTUlPIGlzIG5vdCBzZXQKLUNPTkZJR19VU0JfT0hDSV9MSVRUTEVfRU5ESUFOPXkKKyMgQ09ORklHX1VTQl9JU1AxNzYwX0hDRCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfU0w4MTFfSENEIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9SOEE2NjU5N19IQ0QgaXMgbm90IHNldAogCiAjCiAjIFVTQiBEZXZpY2UgQ2xhc3MgZHJpdmVycwogIwogIyBDT05GSUdfVVNCX0FDTSBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfUFJJTlRFUiBpcyBub3Qgc2V0CitDT05GSUdfVVNCX1BSSU5URVI9eQorIyBDT05GSUdfVVNCX1dETSBpcyBub3Qgc2V0CiAKICMKICMgTk9URTogVVNCX1NUT1JBR0UgZW5hYmxlcyBTQ1NJLCBhbmQgJ1NDU0kgZGlzayBzdXBwb3J0JwpAQCAtODgyLDE1ICs3OTAsMTggQEAKICMKIENPTkZJR19VU0JfU1RPUkFHRT15CiAjIENPTkZJR19VU0JfU1RPUkFHRV9ERUJVRyBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfU1RPUkFHRV9EQVRBRkFCIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9TVE9SQUdFX0ZSRUVDT00gaXMgbm90IHNldAotIyBDT05GSUdfVVNCX1NUT1JBR0VfRFBDTSBpcyBub3Qgc2V0CitDT05GSUdfVVNCX1NUT1JBR0VfREFUQUZBQj15CitDT05GSUdfVVNCX1NUT1JBR0VfRlJFRUNPTT15CisjIENPTkZJR19VU0JfU1RPUkFHRV9JU0QyMDAgaXMgbm90IHNldAorQ09ORklHX1VTQl9TVE9SQUdFX0RQQ009eQogIyBDT05GSUdfVVNCX1NUT1JBR0VfVVNCQVQgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX1NUT1JBR0VfU0REUjA5IGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9TVE9SQUdFX1NERFI1NSBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfU1RPUkFHRV9KVU1QU0hPVCBpcyBub3Qgc2V0CitDT05GSUdfVVNCX1NUT1JBR0VfU0REUjA5PXkKK0NPTkZJR19VU0JfU1RPUkFHRV9TRERSNTU9eQorQ09ORklHX1VTQl9TVE9SQUdFX0pVTVBTSE9UPXkKICMgQ09ORklHX1VTQl9TVE9SQUdFX0FMQVVEQSBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU1RPUkFHRV9PTkVUT1VDSCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfU1RPUkFHRV9LQVJNQSBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU1RPUkFHRV9DWVBSRVNTX0FUQUNCIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9MSUJVU1VBTCBpcyBub3Qgc2V0CiAKICMKQEAgLTkwMywxMCArODE0LDYgQEAKICMKICMgVVNCIHBvcnQgZHJpdmVycwogIwotCi0jCi0jIFVTQiBTZXJpYWwgQ29udmVydGVyIHN1cHBvcnQKLSMKICMgQ09ORklHX1VTQl9TRVJJQUwgaXMgbm90IHNldAogCiAjCkBAIC05MzEsNjUgKzgzOCwyMyBAQAogIyBDT05GSUdfVVNCX1RSQU5DRVZJQlJBVE9SIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9JT1dBUlJJT1IgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1RFU1QgaXMgbm90IHNldAotCi0jCi0jIFVTQiBEU0wgbW9kZW0gc3VwcG9ydAotIwotCi0jCi0jIFVTQiBHYWRnZXQgU3VwcG9ydAotIworIyBDT05GSUdfVVNCX0lTSUdIVEZXIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9HQURHRVQgaXMgbm90IHNldAotQ09ORklHX01NQz1tCi0jIENPTkZJR19NTUNfREVCVUcgaXMgbm90IHNldAotIyBDT05GSUdfTU1DX1VOU0FGRV9SRVNVTUUgaXMgbm90IHNldAorIyBDT05GSUdfTU1DIGlzIG5vdCBzZXQKK0NPTkZJR19ORVdfTEVEUz15CisjIENPTkZJR19MRURTX0NMQVNTIGlzIG5vdCBzZXQKIAogIwotIyBNTUMvU0QgQ2FyZCBEcml2ZXJzCisjIExFRCBkcml2ZXJzCiAjCi1DT05GSUdfTU1DX0JMT0NLPW0KIAogIwotIyBNTUMvU0QgSG9zdCBDb250cm9sbGVyIERyaXZlcnMKKyMgTEVEIFRyaWdnZXJzCiAjCi1DT05GSUdfTU1DX1BYQT1tCi0KLSMKLSMgUmVhbCBUaW1lIENsb2NrCi0jCisjIENPTkZJR19MRURTX1RSSUdHRVJTIGlzIG5vdCBzZXQKIENPTkZJR19SVENfTElCPXkKLUNPTkZJR19SVENfQ0xBU1M9bQotCi0jCi0jIFJUQyBpbnRlcmZhY2VzCi0jCi1DT05GSUdfUlRDX0lOVEZfU1lTRlM9eQotQ09ORklHX1JUQ19JTlRGX1BST0M9eQotQ09ORklHX1JUQ19JTlRGX0RFVj15Ci0jIENPTkZJR19SVENfSU5URl9ERVZfVUlFX0VNVUwgaXMgbm90IHNldAotIyBDT05GSUdfUlRDX0RSVl9URVNUIGlzIG5vdCBzZXQKLQotIwotIyBJMkMgUlRDIGRyaXZlcnMKLSMKLQotIwotIyBTUEkgUlRDIGRyaXZlcnMKLSMKLQotIwotIyBQbGF0Zm9ybSBSVEMgZHJpdmVycwotIwotIyBDT05GSUdfUlRDX0RSVl9DTU9TIGlzIG5vdCBzZXQKLSMgQ09ORklHX1JUQ19EUlZfRFMxNTUzIGlzIG5vdCBzZXQKLSMgQ09ORklHX1JUQ19EUlZfRFMxNzQyIGlzIG5vdCBzZXQKLSMgQ09ORklHX1JUQ19EUlZfTTQ4VDg2IGlzIG5vdCBzZXQKLUNPTkZJR19SVENfRFJWX1YzMDIwPW0KLQotIwotIyBvbi1DUFUgUlRDIGRyaXZlcnMKLSMKLUNPTkZJR19SVENfRFJWX1NBMTEwMD1tCisjIENPTkZJR19SVENfQ0xBU1MgaXMgbm90IHNldAorIyBDT05GSUdfVUlPIGlzIG5vdCBzZXQKIAogIwogIyBGaWxlIHN5c3RlbXMKQEAgLTk5OCwyNSArODYzLDIyIEBACiAjIENPTkZJR19FWFQyX0ZTX1hBVFRSIGlzIG5vdCBzZXQKICMgQ09ORklHX0VYVDJfRlNfWElQIGlzIG5vdCBzZXQKIENPTkZJR19FWFQzX0ZTPXkKLUNPTkZJR19FWFQzX0ZTX1hBVFRSPXkKLSMgQ09ORklHX0VYVDNfRlNfUE9TSVhfQUNMIGlzIG5vdCBzZXQKLSMgQ09ORklHX0VYVDNfRlNfU0VDVVJJVFkgaXMgbm90IHNldAorIyBDT05GSUdfRVhUM19GU19YQVRUUiBpcyBub3Qgc2V0CiAjIENPTkZJR19FWFQ0REVWX0ZTIGlzIG5vdCBzZXQKIENPTkZJR19KQkQ9eQotIyBDT05GSUdfSkJEX0RFQlVHIGlzIG5vdCBzZXQKLUNPTkZJR19GU19NQkNBQ0hFPXkKICMgQ09ORklHX1JFSVNFUkZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0pGU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19GU19QT1NJWF9BQ0wgaXMgbm90IHNldAotIyBDT05GSUdfWEZTX0ZTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0dGUzJfRlMgaXMgbm90IHNldAorQ09ORklHX1hGU19GUz15CisjIENPTkZJR19YRlNfUVVPVEEgaXMgbm90IHNldAorIyBDT05GSUdfWEZTX1BPU0lYX0FDTCBpcyBub3Qgc2V0CisjIENPTkZJR19YRlNfUlQgaXMgbm90IHNldAorIyBDT05GSUdfWEZTX0RFQlVHIGlzIG5vdCBzZXQKICMgQ09ORklHX09DRlMyX0ZTIGlzIG5vdCBzZXQKLSMgQ09ORklHX01JTklYX0ZTIGlzIG5vdCBzZXQKLSMgQ09ORklHX1JPTUZTX0ZTIGlzIG5vdCBzZXQKK0NPTkZJR19ETk9USUZZPXkKIENPTkZJR19JTk9USUZZPXkKIENPTkZJR19JTk9USUZZX1VTRVI9eQogIyBDT05GSUdfUVVPVEEgaXMgbm90IHNldAotQ09ORklHX0ROT1RJRlk9eQogIyBDT05GSUdfQVVUT0ZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0FVVE9GUzRfRlMgaXMgbm90IHNldAogIyBDT05GSUdfRlVTRV9GUyBpcyBub3Qgc2V0CkBAIC0xMDI0LDggKzg4NiwxMSBAQAogIwogIyBDRC1ST00vRFZEIEZpbGVzeXN0ZW1zCiAjCi0jIENPTkZJR19JU085NjYwX0ZTIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VERl9GUyBpcyBub3Qgc2V0CitDT05GSUdfSVNPOTY2MF9GUz15CisjIENPTkZJR19KT0xJRVQgaXMgbm90IHNldAorIyBDT05GSUdfWklTT0ZTIGlzIG5vdCBzZXQKK0NPTkZJR19VREZfRlM9bQorQ09ORklHX1VERl9OTFM9eQogCiAjCiAjIERPUy9GQVQvTlQgRmlsZXN5c3RlbXMKQEAgLTEwNDYsNyArOTExLDYgQEAKIENPTkZJR19UTVBGUz15CiAjIENPTkZJR19UTVBGU19QT1NJWF9BQ0wgaXMgbm90IHNldAogIyBDT05GSUdfSFVHRVRMQl9QQUdFIGlzIG5vdCBzZXQKLUNPTkZJR19SQU1GUz15CiAjIENPTkZJR19DT05GSUdGU19GUyBpcyBub3Qgc2V0CiAKICMKQEAgLTEwNjIsMjcgKzkyNiwyNyBAQAogQ09ORklHX0pGRlMyX0ZTPXkKIENPTkZJR19KRkZTMl9GU19ERUJVRz0wCiBDT05GSUdfSkZGUzJfRlNfV1JJVEVCVUZGRVI9eQotQ09ORklHX0pGRlMyX1NVTU1BUlk9eQorIyBDT05GSUdfSkZGUzJfRlNfV0JVRl9WRVJJRlkgaXMgbm90IHNldAorIyBDT05GSUdfSkZGUzJfU1VNTUFSWSBpcyBub3Qgc2V0CiAjIENPTkZJR19KRkZTMl9GU19YQVRUUiBpcyBub3Qgc2V0CiAjIENPTkZJR19KRkZTMl9DT01QUkVTU0lPTl9PUFRJT05TIGlzIG5vdCBzZXQKIENPTkZJR19KRkZTMl9aTElCPXkKKyMgQ09ORklHX0pGRlMyX0xaTyBpcyBub3Qgc2V0CiBDT05GSUdfSkZGUzJfUlRJTUU9eQogIyBDT05GSUdfSkZGUzJfUlVCSU4gaXMgbm90IHNldAotIyBDT05GSUdfQ1JBTUZTIGlzIG5vdCBzZXQKK0NPTkZJR19DUkFNRlM9eQogIyBDT05GSUdfVlhGU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19NSU5JWF9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19IUEZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX1FOWDRGU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19ST01GU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TWVNWX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX1VGU19GUyBpcyBub3Qgc2V0Ci0KLSMKLSMgTmV0d29yayBGaWxlIFN5c3RlbXMKLSMKK0NPTkZJR19ORVRXT1JLX0ZJTEVTWVNURU1TPXkKIENPTkZJR19ORlNfRlM9eQogQ09ORklHX05GU19WMz15CiAjIENPTkZJR19ORlNfVjNfQUNMIGlzIG5vdCBzZXQKICMgQ09ORklHX05GU19WNCBpcyBub3Qgc2V0Ci0jIENPTkZJR19ORlNfRElSRUNUSU8gaXMgbm90IHNldAogIyBDT05GSUdfTkZTRCBpcyBub3Qgc2V0CiBDT05GSUdfUk9PVF9ORlM9eQogQ09ORklHX0xPQ0tEPXkKQEAgLTEwOTIsMjkgKzk1Niw0MCBAQAogIyBDT05GSUdfU1VOUlBDX0JJTkQzNCBpcyBub3Qgc2V0CiAjIENPTkZJR19SUENTRUNfR1NTX0tSQjUgaXMgbm90IHNldAogIyBDT05GSUdfUlBDU0VDX0dTU19TUEtNMyBpcyBub3Qgc2V0Ci1DT05GSUdfU01CX0ZTPXkKLSMgQ09ORklHX1NNQl9OTFNfREVGQVVMVCBpcyBub3Qgc2V0CisjIENPTkZJR19TTUJfRlMgaXMgbm90IHNldAogIyBDT05GSUdfQ0lGUyBpcyBub3Qgc2V0CiAjIENPTkZJR19OQ1BfRlMgaXMgbm90IHNldAogIyBDT05GSUdfQ09EQV9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19BRlNfRlMgaXMgbm90IHNldAotIyBDT05GSUdfOVBfRlMgaXMgbm90IHNldAogCiAjCiAjIFBhcnRpdGlvbiBUeXBlcwogIwotIyBDT05GSUdfUEFSVElUSU9OX0FEVkFOQ0VEIGlzIG5vdCBzZXQKK0NPTkZJR19QQVJUSVRJT05fQURWQU5DRUQ9eQorIyBDT05GSUdfQUNPUk5fUEFSVElUSU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX09TRl9QQVJUSVRJT04gaXMgbm90IHNldAorIyBDT05GSUdfQU1JR0FfUEFSVElUSU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FUQVJJX1BBUlRJVElPTiBpcyBub3Qgc2V0CisjIENPTkZJR19NQUNfUEFSVElUSU9OIGlzIG5vdCBzZXQKIENPTkZJR19NU0RPU19QQVJUSVRJT049eQotCi0jCi0jIE5hdGl2ZSBMYW5ndWFnZSBTdXBwb3J0Ci0jCitDT05GSUdfQlNEX0RJU0tMQUJFTD15CitDT05GSUdfTUlOSVhfU1VCUEFSVElUSU9OPXkKK0NPTkZJR19TT0xBUklTX1g4Nl9QQVJUSVRJT049eQorQ09ORklHX1VOSVhXQVJFX0RJU0tMQUJFTD15CitDT05GSUdfTERNX1BBUlRJVElPTj15CitDT05GSUdfTERNX0RFQlVHPXkKKyMgQ09ORklHX1NHSV9QQVJUSVRJT04gaXMgbm90IHNldAorIyBDT05GSUdfVUxUUklYX1BBUlRJVElPTiBpcyBub3Qgc2V0CitDT05GSUdfU1VOX1BBUlRJVElPTj15CisjIENPTkZJR19LQVJNQV9QQVJUSVRJT04gaXMgbm90IHNldAorIyBDT05GSUdfRUZJX1BBUlRJVElPTiBpcyBub3Qgc2V0CisjIENPTkZJR19TWVNWNjhfUEFSVElUSU9OIGlzIG5vdCBzZXQKIENPTkZJR19OTFM9eQogQ09ORklHX05MU19ERUZBVUxUPSJpc284ODU5LTEiCiBDT05GSUdfTkxTX0NPREVQQUdFXzQzNz15CiAjIENPTkZJR19OTFNfQ09ERVBBR0VfNzM3IGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19DT0RFUEFHRV83NzUgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0NPREVQQUdFXzg1MCBpcyBub3Qgc2V0CitDT05GSUdfTkxTX0NPREVQQUdFXzg1MD15CiAjIENPTkZJR19OTFNfQ09ERVBBR0VfODUyIGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19DT0RFUEFHRV84NTUgaXMgbm90IHNldAogIyBDT05GSUdfTkxTX0NPREVQQUdFXzg1NyBpcyBub3Qgc2V0CkBAIC0xMTM2LDcgKzEwMTEsNyBAQAogIyBDT05GSUdfTkxTX0NPREVQQUdFXzEyNTEgaXMgbm90IHNldAogIyBDT05GSUdfTkxTX0FTQ0lJIGlzIG5vdCBzZXQKIENPTkZJR19OTFNfSVNPODg1OV8xPXkKLSMgQ09ORklHX05MU19JU084ODU5XzIgaXMgbm90IHNldAorQ09ORklHX05MU19JU084ODU5XzI9eQogIyBDT05GSUdfTkxTX0lTTzg4NTlfMyBpcyBub3Qgc2V0CiAjIENPTkZJR19OTFNfSVNPODg1OV80IGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19JU084ODU5XzUgaXMgbm90IHNldApAQCAtMTE0OCwxMTUgKzEwMjMsMTIyIEBACiAjIENPTkZJR19OTFNfSVNPODg1OV8xNSBpcyBub3Qgc2V0CiAjIENPTkZJR19OTFNfS09JOF9SIGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19LT0k4X1UgaXMgbm90IHNldAotQ09ORklHX05MU19VVEY4PXkKLQotIwotIyBEaXN0cmlidXRlZCBMb2NrIE1hbmFnZXIKLSMKKyMgQ09ORklHX05MU19VVEY4IGlzIG5vdCBzZXQKICMgQ09ORklHX0RMTSBpcyBub3Qgc2V0CiAKICMKLSMgUHJvZmlsaW5nIHN1cHBvcnQKLSMKLSMgQ09ORklHX1BST0ZJTElORyBpcyBub3Qgc2V0Ci0KLSMKICMgS2VybmVsIGhhY2tpbmcKICMKICMgQ09ORklHX1BSSU5US19USU1FIGlzIG5vdCBzZXQKK0NPTkZJR19FTkFCTEVfV0FSTl9ERVBSRUNBVEVEPXkKIENPTkZJR19FTkFCTEVfTVVTVF9DSEVDSz15CitDT05GSUdfRlJBTUVfV0FSTj0xMDI0CiBDT05GSUdfTUFHSUNfU1lTUlE9eQogIyBDT05GSUdfVU5VU0VEX1NZTUJPTFMgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfRlMgaXMgbm90IHNldAogIyBDT05GSUdfSEVBREVSU19DSEVDSyBpcyBub3Qgc2V0Ci1DT05GSUdfREVCVUdfS0VSTkVMPXkKLSMgQ09ORklHX0RFQlVHX1NISVJRIGlzIG5vdCBzZXQKLSMgQ09ORklHX0RFVEVDVF9TT0ZUTE9DS1VQIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDSEVEU1RBVFMgaXMgbm90IHNldAotIyBDT05GSUdfVElNRVJfU1RBVFMgaXMgbm90IHNldAotIyBDT05GSUdfREVCVUdfU0xBQiBpcyBub3Qgc2V0Ci0jIENPTkZJR19ERUJVR19SVF9NVVRFWEVTIGlzIG5vdCBzZXQKLSMgQ09ORklHX1JUX01VVEVYX1RFU1RFUiBpcyBub3Qgc2V0Ci0jIENPTkZJR19ERUJVR19TUElOTE9DSyBpcyBub3Qgc2V0Ci0jIENPTkZJR19ERUJVR19NVVRFWEVTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0RFQlVHX0xPQ0tfQUxMT0MgaXMgbm90IHNldAotIyBDT05GSUdfUFJPVkVfTE9DS0lORyBpcyBub3Qgc2V0Ci0jIENPTkZJR19ERUJVR19TUElOTE9DS19TTEVFUCBpcyBub3Qgc2V0Ci0jIENPTkZJR19ERUJVR19MT0NLSU5HX0FQSV9TRUxGVEVTVFMgaXMgbm90IHNldAotIyBDT05GSUdfREVCVUdfS09CSkVDVCBpcyBub3Qgc2V0CisjIENPTkZJR19ERUJVR19LRVJORUwgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfQlVHVkVSQk9TRSBpcyBub3Qgc2V0Ci1DT05GSUdfREVCVUdfSU5GTz15Ci0jIENPTkZJR19ERUJVR19WTSBpcyBub3Qgc2V0Ci0jIENPTkZJR19ERUJVR19MSVNUIGlzIG5vdCBzZXQKIENPTkZJR19GUkFNRV9QT0lOVEVSPXkKLUNPTkZJR19GT1JDRURfSU5MSU5JTkc9eQotIyBDT05GSUdfUkNVX1RPUlRVUkVfVEVTVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQVVMVF9JTkpFQ1RJT04gaXMgbm90IHNldAorIyBDT05GSUdfTEFURU5DWVRPUCBpcyBub3Qgc2V0CisjIENPTkZJR19TQU1QTEVTIGlzIG5vdCBzZXQKIENPTkZJR19ERUJVR19VU0VSPXkKLUNPTkZJR19ERUJVR19FUlJPUlM9eQotQ09ORklHX0RFQlVHX0xMPXkKLSMgQ09ORklHX0RFQlVHX0lDRURDQyBpcyBub3Qgc2V0CiAKICMKICMgU2VjdXJpdHkgb3B0aW9ucwogIwogIyBDT05GSUdfS0VZUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TRUNVUklUWSBpcyBub3Qgc2V0CisjIENPTkZJR19TRUNVUklUWV9GSUxFX0NBUEFCSUxJVElFUyBpcyBub3Qgc2V0CitDT05GSUdfQ1JZUFRPPXkKIAogIwotIyBDcnlwdG9ncmFwaGljIG9wdGlvbnMKKyMgQ3J5cHRvIGNvcmUgb3IgaGVscGVyCiAjCi1DT05GSUdfQ1JZUFRPPXkKIENPTkZJR19DUllQVE9fQUxHQVBJPW0KIENPTkZJR19DUllQVE9fQkxLQ0lQSEVSPW0KIENPTkZJR19DUllQVE9fTUFOQUdFUj1tCi0jIENPTkZJR19DUllQVE9fSE1BQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fWENCQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fTlVMTCBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fTUQ0IGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19NRDUgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX1NIQTEgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX1NIQTI1NiBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fU0hBNTEyIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19XUDUxMiBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fVEdSMTkyIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19HRjEyOE1VTCBpcyBub3Qgc2V0Ci1DT05GSUdfQ1JZUFRPX0VDQj1tCi1DT05GSUdfQ1JZUFRPX0NCQz1tCi1DT05GSUdfQ1JZUFRPX1BDQkM9bQotIyBDT05GSUdfQ1JZUFRPX0xSVyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fTlVMTCBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fQ1JZUFREIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19ERVMgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX0ZDUllQVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fQkxPV0ZJU0ggaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX1RXT0ZJU0ggaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX1NFUlBFTlQgaXMgbm90IHNldAotQ09ORklHX0NSWVBUT19BRVM9bQotIyBDT05GSUdfQ1JZUFRPX0NBU1Q1IGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19DQVNUNiBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fVEVBIGlzIG5vdCBzZXQKLUNPTkZJR19DUllQVE9fQVJDND1tCi0jIENPTkZJR19DUllQVE9fS0hBWkFEIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19BTlVCSVMgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX0RFRkxBVEUgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX01JQ0hBRUxfTUlDIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19DUkMzMkMgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX0NBTUVMTElBIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19BVVRIRU5DIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19URVNUIGlzIG5vdCBzZXQKIAogIwotIyBIYXJkd2FyZSBjcnlwdG8gZGV2aWNlcworIyBBdXRoZW50aWNhdGVkIEVuY3J5cHRpb24gd2l0aCBBc3NvY2lhdGVkIERhdGEKICMKKyMgQ09ORklHX0NSWVBUT19DQ00gaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0dDTSBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fU0VRSVYgaXMgbm90IHNldAorCisjCisjIEJsb2NrIG1vZGVzCisjCitDT05GSUdfQ1JZUFRPX0NCQz1tCisjIENPTkZJR19DUllQVE9fQ1RSIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19DVFMgaXMgbm90IHNldAorQ09ORklHX0NSWVBUT19FQ0I9bQorIyBDT05GSUdfQ1JZUFRPX0xSVyBpcyBub3Qgc2V0CitDT05GSUdfQ1JZUFRPX1BDQkM9bQorIyBDT05GSUdfQ1JZUFRPX1hUUyBpcyBub3Qgc2V0CisKKyMKKyMgSGFzaCBtb2RlcworIworIyBDT05GSUdfQ1JZUFRPX0hNQUMgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1hDQkMgaXMgbm90IHNldAorCisjCisjIERpZ2VzdAorIworIyBDT05GSUdfQ1JZUFRPX0NSQzMyQyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fTUQ0IGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19NRDUgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX01JQ0hBRUxfTUlDIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19TSEExIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19TSEEyNTYgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1NIQTUxMiBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fVEdSMTkyIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19XUDUxMiBpcyBub3Qgc2V0CisKKyMKKyMgQ2lwaGVycworIworIyBDT05GSUdfQ1JZUFRPX0FFUyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQU5VQklTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19BUkM0IGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19CTE9XRklTSCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQ0FNRUxMSUEgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0NBU1Q1IGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19DQVNUNiBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fREVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19GQ1JZUFQgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0tIQVpBRCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fU0FMU0EyMCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fU0VFRCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fU0VSUEVOVCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fVEVBIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19UV09GSVNIIGlzIG5vdCBzZXQKKworIworIyBDb21wcmVzc2lvbgorIworIyBDT05GSUdfQ1JZUFRPX0RFRkxBVEUgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0xaTyBpcyBub3Qgc2V0CitDT05GSUdfQ1JZUFRPX0hXPXkKIAogIwogIyBMaWJyYXJ5IHJvdXRpbmVzCiAjCiBDT05GSUdfQklUUkVWRVJTRT15Ci0jIENPTkZJR19DUkNfQ0NJVFQgaXMgbm90IHNldAotIyBDT05GSUdfQ1JDMTYgaXMgbm90IHNldAotIyBDT05GSUdfQ1JDX0lUVV9UIGlzIG5vdCBzZXQKKyMgQ09ORklHX0dFTkVSSUNfRklORF9GSVJTVF9CSVQgaXMgbm90IHNldAorIyBDT05GSUdfR0VORVJJQ19GSU5EX05FWFRfQklUIGlzIG5vdCBzZXQKK0NPTkZJR19DUkNfQ0NJVFQ9eQorQ09ORklHX0NSQzE2PXkKK0NPTkZJR19DUkNfSVRVX1Q9bQogQ09ORklHX0NSQzMyPXkKLSMgQ09ORklHX0xJQkNSQzMyQyBpcyBub3Qgc2V0CisjIENPTkZJR19DUkM3IGlzIG5vdCBzZXQKK0NPTkZJR19MSUJDUkMzMkM9eQogQ09ORklHX1pMSUJfSU5GTEFURT15CiBDT05GSUdfWkxJQl9ERUZMQVRFPXkKIENPTkZJR19QTElTVD15CmRpZmYgLS1naXQgYS9hcmNoL2FybS9jb25maWdzL2xwZDI3MF9kZWZjb25maWcgYi9hcmNoL2FybS9jb25maWdzL2xwZDI3MF9kZWZjb25maWcKaW5kZXggYTNiZjU4My4uMWEzOGQ4ZSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vY29uZmlncy9scGQyNzBfZGVmY29uZmlnCisrKyBiL2FyY2gvYXJtL2NvbmZpZ3MvbHBkMjcwX2RlZmNvbmZpZwpAQCAtMTczLDcgKzE3Myw2IEBACiAjIEtlcm5lbCBGZWF0dXJlcwogIwogIyBDT05GSUdfUFJFRU1QVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19OT19JRExFX0haIGlzIG5vdCBzZXQKIENPTkZJR19IWj0xMDAKICMgQ09ORklHX0FFQUJJIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfRElTQ09OVElHTUVNX0VOQUJMRSBpcyBub3Qgc2V0CmRpZmYgLS1naXQgYS9hcmNoL2FybS9jb25maWdzL2xwZDdhNDA0X2RlZmNvbmZpZyBiL2FyY2gvYXJtL2NvbmZpZ3MvbHBkN2E0MDRfZGVmY29uZmlnCmluZGV4IDQ2YTBmN2YuLjdhMmU5MzIgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2NvbmZpZ3MvbHBkN2E0MDRfZGVmY29uZmlnCisrKyBiL2FyY2gvYXJtL2NvbmZpZ3MvbHBkN2E0MDRfZGVmY29uZmlnCkBAIC0xNDgsNyArMTQ4LDYgQEAKICMgS2VybmVsIEZlYXR1cmVzCiAjCiBDT05GSUdfUFJFRU1QVD15Ci0jIENPTkZJR19OT19JRExFX0haIGlzIG5vdCBzZXQKICMgQ09ORklHX0FFQUJJIGlzIG5vdCBzZXQKIENPTkZJR19BUkNIX0RJU0NPTlRJR01FTV9FTkFCTEU9eQogQ09ORklHX1NFTEVDVF9NRU1PUllfTU9ERUw9eQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vY29uZmlncy9jbV94MjcwX2RlZmNvbmZpZyBiL2FyY2gvYXJtL2NvbmZpZ3MvbXY3OHh4MF9kZWZjb25maWcKc2ltaWxhcml0eSBpbmRleCA2MSUKY29weSBmcm9tIGFyY2gvYXJtL2NvbmZpZ3MvY21feDI3MF9kZWZjb25maWcKY29weSB0byBhcmNoL2FybS9jb25maWdzL212Nzh4eDBfZGVmY29uZmlnCmluZGV4IDVjYWIwODMuLmQzOGViZjggMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2NvbmZpZ3MvY21feDI3MF9kZWZjb25maWcKKysrIGIvYXJjaC9hcm0vY29uZmlncy9tdjc4eHgwX2RlZmNvbmZpZwpAQCAtMSwxNyArMSwxOCBAQAogIwogIyBBdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBtYWtlIGNvbmZpZzogZG9uJ3QgZWRpdAotIyBMaW51eCBrZXJuZWwgdmVyc2lvbjogMi42LjIyCi0jIFdlZCBKdWwgMTggMTQ6MTE6NDggMjAwNworIyBMaW51eCBrZXJuZWwgdmVyc2lvbjogMi42LjI2LXJjNQorIyBGcmkgSnVuIDEzIDAyOjU3OjMyIDIwMDgKICMKIENPTkZJR19BUk09eQogQ09ORklHX1NZU19TVVBQT1JUU19BUE1fRU1VTEFUSU9OPXkKLUNPTkZJR19HRU5FUklDX0dQSU89eQorIyBDT05GSUdfR0VORVJJQ19HUElPIGlzIG5vdCBzZXQKIENPTkZJR19HRU5FUklDX1RJTUU9eQotIyBDT05GSUdfR0VORVJJQ19DTE9DS0VWRU5UUyBpcyBub3Qgc2V0CitDT05GSUdfR0VORVJJQ19DTE9DS0VWRU5UUz15CiBDT05GSUdfTU1VPXkKICMgQ09ORklHX05PX0lPUE9SVCBpcyBub3Qgc2V0CiBDT05GSUdfR0VORVJJQ19IQVJESVJRUz15CiBDT05GSUdfU1RBQ0tUUkFDRV9TVVBQT1JUPXkKK0NPTkZJR19IQVZFX0xBVEVOQ1lUT1BfU1VQUE9SVD15CiBDT05GSUdfTE9DS0RFUF9TVVBQT1JUPXkKIENPTkZJR19UUkFDRV9JUlFGTEFHU19TVVBQT1JUPXkKIENPTkZJR19IQVJESVJRU19TV19SRVNFTkQ9eQpAQCAtMjEsNzEgKzIyLDgzIEBACiAjIENPTkZJR19BUkNIX0hBU19JTE9HMl9VNjQgaXMgbm90IHNldAogQ09ORklHX0dFTkVSSUNfSFdFSUdIVD15CiBDT05GSUdfR0VORVJJQ19DQUxJQlJBVEVfREVMQVk9eQorQ09ORklHX0FSQ0hfU1VQUE9SVFNfQU9VVD15CiBDT05GSUdfWk9ORV9ETUE9eQotQ09ORklHX0FSQ0hfTVREX1hJUD15CiBDT05GSUdfVkVDVE9SU19CQVNFPTB4ZmZmZjAwMDAKIENPTkZJR19ERUZDT05GSUdfTElTVD0iL2xpYi9tb2R1bGVzLyRVTkFNRV9SRUxFQVNFLy5jb25maWciCiAKICMKLSMgQ29kZSBtYXR1cml0eSBsZXZlbCBvcHRpb25zCisjIEdlbmVyYWwgc2V0dXAKICMKIENPTkZJR19FWFBFUklNRU5UQUw9eQogQ09ORklHX0JST0tFTl9PTl9TTVA9eQorQ09ORklHX0xPQ0tfS0VSTkVMPXkKIENPTkZJR19JTklUX0VOVl9BUkdfTElNSVQ9MzIKLQotIwotIyBHZW5lcmFsIHNldHVwCi0jCiBDT05GSUdfTE9DQUxWRVJTSU9OPSIiCi0jIENPTkZJR19MT0NBTFZFUlNJT05fQVVUTyBpcyBub3Qgc2V0CitDT05GSUdfTE9DQUxWRVJTSU9OX0FVVE89eQogQ09ORklHX1NXQVA9eQogQ09ORklHX1NZU1ZJUEM9eQogQ09ORklHX1NZU1ZJUENfU1lTQ1RMPXkKICMgQ09ORklHX1BPU0lYX01RVUVVRSBpcyBub3Qgc2V0CiAjIENPTkZJR19CU0RfUFJPQ0VTU19BQ0NUIGlzIG5vdCBzZXQKICMgQ09ORklHX1RBU0tTVEFUUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0VSX05TIGlzIG5vdCBzZXQKICMgQ09ORklHX0FVRElUIGlzIG5vdCBzZXQKLUNPTkZJR19JS0NPTkZJRz15Ci1DT05GSUdfSUtDT05GSUdfUFJPQz15Ci1DT05GSUdfTE9HX0JVRl9TSElGVD0xNworIyBDT05GSUdfSUtDT05GSUcgaXMgbm90IHNldAorQ09ORklHX0xPR19CVUZfU0hJRlQ9MTQKKyMgQ09ORklHX0NHUk9VUFMgaXMgbm90IHNldAorIyBDT05GSUdfR1JPVVBfU0NIRUQgaXMgbm90IHNldAogQ09ORklHX1NZU0ZTX0RFUFJFQ0FURUQ9eQorQ09ORklHX1NZU0ZTX0RFUFJFQ0FURURfVjI9eQogIyBDT05GSUdfUkVMQVkgaXMgbm90IHNldAotQ09ORklHX0JMS19ERVZfSU5JVFJEPXkKLUNPTkZJR19JTklUUkFNRlNfU09VUkNFPSIiCisjIENPTkZJR19OQU1FU1BBQ0VTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JMS19ERVZfSU5JVFJEIGlzIG5vdCBzZXQKIENPTkZJR19DQ19PUFRJTUlaRV9GT1JfU0laRT15CiBDT05GSUdfU1lTQ1RMPXkKIENPTkZJR19FTUJFRERFRD15CiBDT05GSUdfVUlEMTY9eQogQ09ORklHX1NZU0NUTF9TWVNDQUxMPXkKK0NPTkZJR19TWVNDVExfU1lTQ0FMTF9DSEVDSz15CiBDT05GSUdfS0FMTFNZTVM9eQotIyBDT05GSUdfS0FMTFNZTVNfQUxMIGlzIG5vdCBzZXQKK0NPTkZJR19LQUxMU1lNU19BTEw9eQogIyBDT05GSUdfS0FMTFNZTVNfRVhUUkFfUEFTUyBpcyBub3Qgc2V0CiBDT05GSUdfSE9UUExVRz15CiBDT05GSUdfUFJJTlRLPXkKIENPTkZJR19CVUc9eQogQ09ORklHX0VMRl9DT1JFPXkKK0NPTkZJR19DT01QQVRfQlJLPXkKIENPTkZJR19CQVNFX0ZVTEw9eQogQ09ORklHX0ZVVEVYPXkKIENPTkZJR19BTk9OX0lOT0RFUz15Ci0jIENPTkZJR19FUE9MTCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TSUdOQUxGRCBpcyBub3Qgc2V0Ci0jIENPTkZJR19USU1FUkZEIGlzIG5vdCBzZXQKLSMgQ09ORklHX0VWRU5URkQgaXMgbm90IHNldAorQ09ORklHX0VQT0xMPXkKK0NPTkZJR19TSUdOQUxGRD15CitDT05GSUdfVElNRVJGRD15CitDT05GSUdfRVZFTlRGRD15CiBDT05GSUdfU0hNRU09eQogQ09ORklHX1ZNX0VWRU5UX0NPVU5URVJTPXkKLUNPTkZJR19TTEFCPXkKLSMgQ09ORklHX1NMVUIgaXMgbm90IHNldAorIyBDT05GSUdfU0xVQl9ERUJVRyBpcyBub3Qgc2V0CisjIENPTkZJR19TTEFCIGlzIG5vdCBzZXQKK0NPTkZJR19TTFVCPXkKICMgQ09ORklHX1NMT0IgaXMgbm90IHNldAorQ09ORklHX1BST0ZJTElORz15CisjIENPTkZJR19NQVJLRVJTIGlzIG5vdCBzZXQKK0NPTkZJR19PUFJPRklMRT15CitDT05GSUdfSEFWRV9PUFJPRklMRT15CitDT05GSUdfS1BST0JFUz15CitDT05GSUdfS1JFVFBST0JFUz15CitDT05GSUdfSEFWRV9LUFJPQkVTPXkKK0NPTkZJR19IQVZFX0tSRVRQUk9CRVM9eQorIyBDT05GSUdfSEFWRV9ETUFfQVRUUlMgaXMgbm90IHNldAorQ09ORklHX1BST0NfUEFHRV9NT05JVE9SPXkKIENPTkZJR19SVF9NVVRFWEVTPXkKICMgQ09ORklHX1RJTllfU0hNRU0gaXMgbm90IHNldAogQ09ORklHX0JBU0VfU01BTEw9MAogQ09ORklHX01PRFVMRVM9eQorIyBDT05GSUdfTU9EVUxFX0ZPUkNFX0xPQUQgaXMgbm90IHNldAogQ09ORklHX01PRFVMRV9VTkxPQUQ9eQotQ09ORklHX01PRFVMRV9GT1JDRV9VTkxPQUQ9eQorIyBDT05GSUdfTU9EVUxFX0ZPUkNFX1VOTE9BRCBpcyBub3Qgc2V0CiAjIENPTkZJR19NT0RWRVJTSU9OUyBpcyBub3Qgc2V0CiAjIENPTkZJR19NT0RVTEVfU1JDVkVSU0lPTl9BTEwgaXMgbm90IHNldAotQ09ORklHX0tNT0Q9eQorIyBDT05GSUdfS01PRCBpcyBub3Qgc2V0CiBDT05GSUdfQkxPQ0s9eQogIyBDT05GSUdfTEJEIGlzIG5vdCBzZXQKICMgQ09ORklHX0JMS19ERVZfSU9fVFJBQ0UgaXMgbm90IHNldApAQCAtOTksMTEgKzExMiwxMiBAQAogQ09ORklHX0lPU0NIRURfQVM9eQogQ09ORklHX0lPU0NIRURfREVBRExJTkU9eQogQ09ORklHX0lPU0NIRURfQ0ZRPXkKLUNPTkZJR19ERUZBVUxUX0FTPXkKKyMgQ09ORklHX0RFRkFVTFRfQVMgaXMgbm90IHNldAogIyBDT05GSUdfREVGQVVMVF9ERUFETElORSBpcyBub3Qgc2V0Ci0jIENPTkZJR19ERUZBVUxUX0NGUSBpcyBub3Qgc2V0CitDT05GSUdfREVGQVVMVF9DRlE9eQogIyBDT05GSUdfREVGQVVMVF9OT09QIGlzIG5vdCBzZXQKLUNPTkZJR19ERUZBVUxUX0lPU0NIRUQ9ImFudGljaXBhdG9yeSIKK0NPTkZJR19ERUZBVUxUX0lPU0NIRUQ9ImNmcSIKK0NPTkZJR19DTEFTU0lDX1JDVT15CiAKICMKICMgU3lzdGVtIFR5cGUKQEAgLTEyOSwxMCArMTQzLDE1IEBACiAjIENPTkZJR19BUkNIX0lYUDIwMDAgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9JWFA0WFggaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9MNzIwMCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0tJUktXT09EIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfS1M4Njk1IGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfTlM5WFhYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfTE9LSSBpcyBub3Qgc2V0CitDT05GSUdfQVJDSF9NVjc4WFgwPXkKKyMgQ09ORklHX0FSQ0hfTVhDIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfT1JJT041WCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX1BOWDQwMDggaXMgbm90IHNldAotQ09ORklHX0FSQ0hfUFhBPXkKKyMgQ09ORklHX0FSQ0hfUFhBIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfUlBDIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfU0ExMTAwIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfUzNDMjQxMCBpcyBub3Qgc2V0CkBAIC0xNDAsMjkgKzE1OSwzNCBAQAogIyBDT05GSUdfQVJDSF9MSDdBNDBYIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfREFWSU5DSSBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX09NQVAgaXMgbm90IHNldAotQ09ORklHX0RNQUJPVU5DRT15CisjIENPTkZJR19BUkNIX01TTTdYMDBBIGlzIG5vdCBzZXQKIAogIwotIyBJbnRlbCBQWEEyeHggSW1wbGVtZW50YXRpb25zCisjIE1hcnZlbGwgTVY3OHh4MCBJbXBsZW1lbnRhdGlvbnMKICMKLSMgQ09ORklHX0FSQ0hfTFVCQk9DSyBpcyBub3Qgc2V0Ci0jIENPTkZJR19NQUNIX0xPR0lDUERfUFhBMjcwIGlzIG5vdCBzZXQKLSMgQ09ORklHX01BQ0hfTUFJTlNUT05FIGlzIG5vdCBzZXQKLSMgQ09ORklHX0FSQ0hfUFhBX0lEUCBpcyBub3Qgc2V0Ci0jIENPTkZJR19QWEFfU0hBUlBTTCBpcyBub3Qgc2V0Ci0jIENPTkZJR19NQUNIX1RSSVpFUFM0IGlzIG5vdCBzZXQKLUNPTkZJR19NQUNIX0FSTUNPUkU9eQotQ09ORklHX1BYQTI3eD15CitDT05GSUdfTUFDSF9EQjc4WDAwX0JQPXkKKworIworIyBCb290IG9wdGlvbnMKKyMKKworIworIyBQb3dlciBtYW5hZ2VtZW50CisjCitDT05GSUdfUExBVF9PUklPTj15CiAKICMKICMgUHJvY2Vzc29yIFR5cGUKICMKIENPTkZJR19DUFVfMzI9eQotQ09ORklHX0NQVV9YU0NBTEU9eQorQ09ORklHX0NQVV9GRVJPQ0VPTj15CitDT05GSUdfQ1BVX0ZFUk9DRU9OX09MRF9JRD15CiBDT05GSUdfQ1BVXzMydjU9eQogQ09ORklHX0NQVV9BQlJUX0VWNVQ9eQorQ09ORklHX0NQVV9QQUJSVF9OT0lGQVI9eQogQ09ORklHX0NQVV9DQUNIRV9WSVZUPXkKLUNPTkZJR19DUFVfVExCX1Y0V0JJPXkKK0NPTkZJR19DUFVfQ09QWV9GRVJPQ0VPTj15CitDT05GSUdfQ1BVX1RMQl9GRVJPQ0VPTj15CiBDT05GSUdfQ1BVX0NQMTU9eQogQ09ORklHX0NQVV9DUDE1X01NVT15CiAKQEAgLTE3MCwzMyArMTk0LDMyIEBACiAjIFByb2Nlc3NvciBGZWF0dXJlcwogIwogQ09ORklHX0FSTV9USFVNQj15CisjIENPTkZJR19DUFVfSUNBQ0hFX0RJU0FCTEUgaXMgbm90IHNldAogIyBDT05GSUdfQ1BVX0RDQUNIRV9ESVNBQkxFIGlzIG5vdCBzZXQKLSMgQ09ORklHX09VVEVSX0NBQ0hFIGlzIG5vdCBzZXQKLUNPTkZJR19JV01NWFQ9eQotQ09ORklHX1hTQ0FMRV9QTVU9eQorQ09ORklHX09VVEVSX0NBQ0hFPXkKK0NPTkZJR19DQUNIRV9GRVJPQ0VPTl9MMj15CiAKICMKICMgQnVzIHN1cHBvcnQKICMKIENPTkZJR19QQ0k9eQogQ09ORklHX1BDSV9TWVNDQUxMPXkKLUNPTkZJR19QQ0lfSE9TVF9JVEU4MTUyPXkKICMgQ09ORklHX0FSQ0hfU1VQUE9SVFNfTVNJIGlzIG5vdCBzZXQKK0NPTkZJR19QQ0lfTEVHQUNZPXkKICMgQ09ORklHX1BDSV9ERUJVRyBpcyBub3Qgc2V0Ci0KLSMKLSMgUENDQVJEIChQQ01DSUEvQ2FyZEJ1cykgc3VwcG9ydAotIwogIyBDT05GSUdfUENDQVJEIGlzIG5vdCBzZXQKIAogIwogIyBLZXJuZWwgRmVhdHVyZXMKICMKLSMgQ09ORklHX1RJQ0tfT05FU0hPVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19QUkVFTVBUIGlzIG5vdCBzZXQKLSMgQ09ORklHX05PX0lETEVfSFogaXMgbm90IHNldAorQ09ORklHX1RJQ0tfT05FU0hPVD15CitDT05GSUdfTk9fSFo9eQorQ09ORklHX0hJR0hfUkVTX1RJTUVSUz15CitDT05GSUdfR0VORVJJQ19DTE9DS0VWRU5UU19CVUlMRD15CitDT05GSUdfUFJFRU1QVD15CiBDT05GSUdfSFo9MTAwCi0jIENPTkZJR19BRUFCSSBpcyBub3Qgc2V0CitDT05GSUdfQUVBQkk9eQorQ09ORklHX09BQklfQ09NUEFUPXkKICMgQ09ORklHX0FSQ0hfRElTQ09OVElHTUVNX0VOQUJMRSBpcyBub3Qgc2V0CiBDT05GSUdfU0VMRUNUX01FTU9SWV9NT0RFTD15CiBDT05GSUdfRkxBVE1FTV9NQU5VQUw9eQpAQCAtMjA1LDYgKzIyOCw4IEBACiBDT05GSUdfRkxBVE1FTT15CiBDT05GSUdfRkxBVF9OT0RFX01FTV9NQVA9eQogIyBDT05GSUdfU1BBUlNFTUVNX1NUQVRJQyBpcyBub3Qgc2V0CisjIENPTkZJR19TUEFSU0VNRU1fVk1FTU1BUF9FTkFCTEUgaXMgbm90IHNldAorQ09ORklHX1BBR0VGTEFHU19FWFRFTkRFRD15CiBDT05GSUdfU1BMSVRfUFRMT0NLX0NQVVM9NDA5NgogIyBDT05GSUdfUkVTT1VSQ0VTXzY0QklUIGlzIG5vdCBzZXQKIENPTkZJR19aT05FX0RNQV9GTEFHPTEKQEAgLTIzMSw2ICsyNTYsNyBAQAogQ09ORklHX0ZQRV9OV0ZQRT15CiAjIENPTkZJR19GUEVfTldGUEVfWFAgaXMgbm90IHNldAogIyBDT05GSUdfRlBFX0ZBU1RGUEUgaXMgbm90IHNldAorQ09ORklHX1ZGUD15CiAKICMKICMgVXNlcnNwYWNlIGJpbmFyeSBmb3JtYXRzCkBAIC0yMzgsMTYgKzI2NCwxMiBAQAogQ09ORklHX0JJTkZNVF9FTEY9eQogIyBDT05GSUdfQklORk1UX0FPVVQgaXMgbm90IHNldAogIyBDT05GSUdfQklORk1UX01JU0MgaXMgbm90IHNldAotIyBDT05GSUdfQVJUSFVSIGlzIG5vdCBzZXQKIAogIwogIyBQb3dlciBtYW5hZ2VtZW50IG9wdGlvbnMKICMKLUNPTkZJR19QTT15Ci0jIENPTkZJR19QTV9MRUdBQ1kgaXMgbm90IHNldAotIyBDT05GSUdfUE1fREVCVUcgaXMgbm90IHNldAotIyBDT05GSUdfUE1fU1lTRlNfREVQUkVDQVRFRCBpcyBub3Qgc2V0Ci0jIENPTkZJR19BUE1fRU1VTEFUSU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BNIGlzIG5vdCBzZXQKK0NPTkZJR19BUkNIX1NVU1BFTkRfUE9TU0lCTEU9eQogCiAjCiAjIE5ldHdvcmtpbmcKQEAgLTI1OCwxNSArMjgwLDE2IEBACiAjIE5ldHdvcmtpbmcgb3B0aW9ucwogIwogQ09ORklHX1BBQ0tFVD15Ci0jIENPTkZJR19QQUNLRVRfTU1BUCBpcyBub3Qgc2V0CitDT05GSUdfUEFDS0VUX01NQVA9eQogQ09ORklHX1VOSVg9eQogQ09ORklHX1hGUk09eQogIyBDT05GSUdfWEZSTV9VU0VSIGlzIG5vdCBzZXQKICMgQ09ORklHX1hGUk1fU1VCX1BPTElDWSBpcyBub3Qgc2V0CiAjIENPTkZJR19YRlJNX01JR1JBVEUgaXMgbm90IHNldAorIyBDT05GSUdfWEZSTV9TVEFUSVNUSUNTIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVF9LRVkgaXMgbm90IHNldAogQ09ORklHX0lORVQ9eQotIyBDT05GSUdfSVBfTVVMVElDQVNUIGlzIG5vdCBzZXQKK0NPTkZJR19JUF9NVUxUSUNBU1Q9eQogIyBDT05GSUdfSVBfQURWQU5DRURfUk9VVEVSIGlzIG5vdCBzZXQKIENPTkZJR19JUF9GSUJfSEFTSD15CiBDT05GSUdfSVBfUE5QPXkKQEAgLTI3NSw2ICsyOTgsNyBAQAogIyBDT05GSUdfSVBfUE5QX1JBUlAgaXMgbm90IHNldAogIyBDT05GSUdfTkVUX0lQSVAgaXMgbm90IHNldAogIyBDT05GSUdfTkVUX0lQR1JFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lQX01ST1VURSBpcyBub3Qgc2V0CiAjIENPTkZJR19BUlBEIGlzIG5vdCBzZXQKICMgQ09ORklHX1NZTl9DT09LSUVTIGlzIG5vdCBzZXQKICMgQ09ORklHX0lORVRfQUggaXMgbm90IHNldApAQCAtMjg1LDYgKzMwOSw3IEBACiBDT05GSUdfSU5FVF9YRlJNX01PREVfVFJBTlNQT1JUPXkKIENPTkZJR19JTkVUX1hGUk1fTU9ERV9UVU5ORUw9eQogQ09ORklHX0lORVRfWEZSTV9NT0RFX0JFRVQ9eQorIyBDT05GSUdfSU5FVF9MUk8gaXMgbm90IHNldAogQ09ORklHX0lORVRfRElBRz15CiBDT05GSUdfSU5FVF9UQ1BfRElBRz15CiAjIENPTkZJR19UQ1BfQ09OR19BRFZBTkNFRCBpcyBub3Qgc2V0CkBAIC0yOTIsOCArMzE3LDYgQEAKIENPTkZJR19ERUZBVUxUX1RDUF9DT05HPSJjdWJpYyIKICMgQ09ORklHX1RDUF9NRDVTSUcgaXMgbm90IHNldAogIyBDT05GSUdfSVBWNiBpcyBub3Qgc2V0Ci0jIENPTkZJR19JTkVUNl9YRlJNX1RVTk5FTCBpcyBub3Qgc2V0Ci0jIENPTkZJR19JTkVUNl9UVU5ORUwgaXMgbm90IHNldAogIyBDT05GSUdfTkVUV09SS19TRUNNQVJLIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVEZJTFRFUiBpcyBub3Qgc2V0CiAjIENPTkZJR19JUF9EQ0NQIGlzIG5vdCBzZXQKQEAgLTMxMCwxNyArMzMzLDE1IEBACiAjIENPTkZJR19MQVBCIGlzIG5vdCBzZXQKICMgQ09ORklHX0VDT05FVCBpcyBub3Qgc2V0CiAjIENPTkZJR19XQU5fUk9VVEVSIGlzIG5vdCBzZXQKLQotIwotIyBRb1MgYW5kL29yIGZhaXIgcXVldWVpbmcKLSMKICMgQ09ORklHX05FVF9TQ0hFRCBpcyBub3Qgc2V0CiAKICMKICMgTmV0d29yayB0ZXN0aW5nCiAjCi0jIENPTkZJR19ORVRfUEtUR0VOIGlzIG5vdCBzZXQKK0NPTkZJR19ORVRfUEtUR0VOPW0KKyMgQ09ORklHX05FVF9UQ1BQUk9CRSBpcyBub3Qgc2V0CiAjIENPTkZJR19IQU1SQURJTyBpcyBub3Qgc2V0CisjIENPTkZJR19DQU4gaXMgbm90IHNldAogIyBDT05GSUdfSVJEQSBpcyBub3Qgc2V0CiAjIENPTkZJR19CVCBpcyBub3Qgc2V0CiAjIENPTkZJR19BRl9SWFJQQyBpcyBub3Qgc2V0CkBAIC0zMzEsMTIgKzM1Miw3IEBACiAjIENPTkZJR19DRkc4MDIxMSBpcyBub3Qgc2V0CiBDT05GSUdfV0lSRUxFU1NfRVhUPXkKICMgQ09ORklHX01BQzgwMjExIGlzIG5vdCBzZXQKLUNPTkZJR19JRUVFODAyMTE9bQotIyBDT05GSUdfSUVFRTgwMjExX0RFQlVHIGlzIG5vdCBzZXQKLUNPTkZJR19JRUVFODAyMTFfQ1JZUFRfV0VQPW0KLUNPTkZJR19JRUVFODAyMTFfQ1JZUFRfQ0NNUD1tCi0jIENPTkZJR19JRUVFODAyMTFfQ1JZUFRfVEtJUCBpcyBub3Qgc2V0Ci0jIENPTkZJR19JRUVFODAyMTFfU09GVE1BQyBpcyBub3Qgc2V0CisjIENPTkZJR19JRUVFODAyMTEgaXMgbm90IHNldAogIyBDT05GSUdfUkZLSUxMIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVF85UCBpcyBub3Qgc2V0CiAKQEAgLTM0Nyw2ICszNjMsNyBAQAogIwogIyBHZW5lcmljIERyaXZlciBPcHRpb25zCiAjCitDT05GSUdfVUVWRU5UX0hFTFBFUl9QQVRIPSIvc2Jpbi9ob3RwbHVnIgogQ09ORklHX1NUQU5EQUxPTkU9eQogQ09ORklHX1BSRVZFTlRfRklSTVdBUkVfQlVJTEQ9eQogQ09ORklHX0ZXX0xPQURFUj15CkBAIC0zNTQsMzEgKzM3MSwzOSBAQAogIyBDT05GSUdfREVCVUdfREVWUkVTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NZU19IWVBFUlZJU09SIGlzIG5vdCBzZXQKICMgQ09ORklHX0NPTk5FQ1RPUiBpcyBub3Qgc2V0Ci1DT05GSUdfTVREPW0KK0NPTkZJR19NVEQ9eQogIyBDT05GSUdfTVREX0RFQlVHIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9DT05DQVQgaXMgbm90IHNldAogQ09ORklHX01URF9QQVJUSVRJT05TPXkKICMgQ09ORklHX01URF9SRURCT09UX1BBUlRTIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfQ01ETElORV9QQVJUUz15CiAjIENPTkZJR19NVERfQUZTX1BBUlRTIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9BUjdfUEFSVFMgaXMgbm90IHNldAogCiAjCiAjIFVzZXIgTW9kdWxlcyBBbmQgVHJhbnNsYXRpb24gTGF5ZXJzCiAjCi1DT05GSUdfTVREX0NIQVI9bQotQ09ORklHX01URF9CTEtERVZTPW0KLUNPTkZJR19NVERfQkxPQ0s9bQotIyBDT05GSUdfTVREX0JMT0NLX1JPIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfQ0hBUj15CitDT05GSUdfTVREX0JMS0RFVlM9eQorQ09ORklHX01URF9CTE9DSz15CiAjIENPTkZJR19GVEwgaXMgbm90IHNldAogIyBDT05GSUdfTkZUTCBpcyBub3Qgc2V0CiAjIENPTkZJR19JTkZUTCBpcyBub3Qgc2V0CiAjIENPTkZJR19SRkRfRlRMIGlzIG5vdCBzZXQKICMgQ09ORklHX1NTRkRDIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9PT1BTIGlzIG5vdCBzZXQKIAogIwogIyBSQU0vUk9NL0ZsYXNoIGNoaXAgZHJpdmVycwogIwotIyBDT05GSUdfTVREX0NGSSBpcyBub3Qgc2V0Ci0jIENPTkZJR19NVERfSkVERUNQUk9CRSBpcyBub3Qgc2V0CitDT05GSUdfTVREX0NGST15CitDT05GSUdfTVREX0pFREVDUFJPQkU9eQorQ09ORklHX01URF9HRU5fUFJPQkU9eQorQ09ORklHX01URF9DRklfQURWX09QVElPTlM9eQorQ09ORklHX01URF9DRklfTk9TV0FQPXkKKyMgQ09ORklHX01URF9DRklfQkVfQllURV9TV0FQIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9DRklfTEVfQllURV9TV0FQIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfQ0ZJX0dFT01FVFJZPXkKIENPTkZJR19NVERfTUFQX0JBTktfV0lEVEhfMT15CiBDT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzI9eQogQ09ORklHX01URF9NQVBfQkFOS19XSURUSF80PXkKQEAgLTM4OSw2ICs0MTQsMTEgQEAKIENPTkZJR19NVERfQ0ZJX0kyPXkKICMgQ09ORklHX01URF9DRklfSTQgaXMgbm90IHNldAogIyBDT05GSUdfTVREX0NGSV9JOCBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfT1RQIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfQ0ZJX0lOVEVMRVhUPXkKK0NPTkZJR19NVERfQ0ZJX0FNRFNURD15CisjIENPTkZJR19NVERfQ0ZJX1NUQUEgaXMgbm90IHNldAorQ09ORklHX01URF9DRklfVVRJTD15CiAjIENPTkZJR19NVERfUkFNIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9ST00gaXMgbm90IHNldAogIyBDT05GSUdfTVREX0FCU0VOVCBpcyBub3Qgc2V0CkBAIC0zOTcsNyArNDI3LDEzIEBACiAjIE1hcHBpbmcgZHJpdmVycyBmb3IgY2hpcCBhY2Nlc3MKICMKICMgQ09ORklHX01URF9DT01QTEVYX01BUFBJTkdTIGlzIG5vdCBzZXQKLSMgQ09ORklHX01URF9TSEFSUF9TTCBpcyBub3Qgc2V0CitDT05GSUdfTVREX1BIWVNNQVA9eQorQ09ORklHX01URF9QSFlTTUFQX1NUQVJUPTB4MAorQ09ORklHX01URF9QSFlTTUFQX0xFTj0weDAKK0NPTkZJR19NVERfUEhZU01BUF9CQU5LV0lEVEg9MAorIyBDT05GSUdfTVREX0FSTV9JTlRFR1JBVE9SIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9JTVBBNyBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfSU5URUxfVlJfTk9SIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9QTEFUUkFNIGlzIG5vdCBzZXQKIAogIwpAQCAtNDE1LDE4ICs0NTEsMTcgQEAKICMgQ09ORklHX01URF9ET0MyMDAwIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9ET0MyMDAxIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9ET0MyMDAxUExVUyBpcyBub3Qgc2V0Ci1DT05GSUdfTVREX05BTkQ9bQotIyBDT05GSUdfTVREX05BTkRfVkVSSUZZX1dSSVRFIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfTkFORD15CitDT05GSUdfTVREX05BTkRfVkVSSUZZX1dSSVRFPXkKICMgQ09ORklHX01URF9OQU5EX0VDQ19TTUMgaXMgbm90IHNldAogIyBDT05GSUdfTVREX05BTkRfTVVTRVVNX0lEUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19NVERfTkFORF9IMTkwMCBpcyBub3Qgc2V0Ci1DT05GSUdfTVREX05BTkRfSURTPW0KK0NPTkZJR19NVERfTkFORF9JRFM9eQogIyBDT05GSUdfTVREX05BTkRfRElTS09OQ0hJUCBpcyBub3Qgc2V0Ci0jIENPTkZJR19NVERfTkFORF9TSEFSUFNMIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9OQU5EX0NBRkUgaXMgbm90IHNldAotQ09ORklHX01URF9OQU5EX0NNX1gyNzA9bQogIyBDT05GSUdfTVREX05BTkRfTkFORFNJTSBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfTkFORF9QTEFURk9STSBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfQUxBVURBIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfTkFORF9PUklPTj15CiAjIENPTkZJR19NVERfT05FTkFORCBpcyBub3Qgc2V0CiAKICMKQEAgLTQ0NSwzOCArNDgwLDE3IEBACiAjIENPTkZJR19CTEtfREVWX05CRCBpcyBub3Qgc2V0CiAjIENPTkZJR19CTEtfREVWX1NYOCBpcyBub3Qgc2V0CiAjIENPTkZJR19CTEtfREVWX1VCIGlzIG5vdCBzZXQKLUNPTkZJR19CTEtfREVWX1JBTT15Ci1DT05GSUdfQkxLX0RFVl9SQU1fQ09VTlQ9MTYKLUNPTkZJR19CTEtfREVWX1JBTV9TSVpFPTEyMDAwCi1DT05GSUdfQkxLX0RFVl9SQU1fQkxPQ0tTSVpFPTEwMjQKKyMgQ09ORklHX0JMS19ERVZfUkFNIGlzIG5vdCBzZXQKICMgQ09ORklHX0NEUk9NX1BLVENEVkQgaXMgbm90IHNldAogIyBDT05GSUdfQVRBX09WRVJfRVRIIGlzIG5vdCBzZXQKLUNPTkZJR19JREU9bQotQ09ORklHX0lERV9NQVhfSFdJRlM9NAotQ09ORklHX0JMS19ERVZfSURFPW0KLQotIwotIyBQbGVhc2Ugc2VlIERvY3VtZW50YXRpb24vaWRlLnR4dCBmb3IgaGVscC9pbmZvIG9uIElERSBkcml2ZXMKLSMKLSMgQ09ORklHX0JMS19ERVZfSURFX1NBVEEgaXMgbm90IHNldAotQ09ORklHX0JMS19ERVZfSURFRElTSz1tCi0jIENPTkZJR19JREVESVNLX01VTFRJX01PREUgaXMgbm90IHNldAotQ09ORklHX0JMS19ERVZfSURFQ0Q9bQotIyBDT05GSUdfQkxLX0RFVl9JREVUQVBFIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfSURFRkxPUFBZIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfSURFU0NTSSBpcyBub3Qgc2V0Ci0jIENPTkZJR19JREVfVEFTS19JT0NUTCBpcyBub3Qgc2V0Ci1DT05GSUdfSURFX1BST0NfRlM9eQotCi0jCi0jIElERSBjaGlwc2V0IHN1cHBvcnQvYnVnZml4ZXMKLSMKLSMgQ09ORklHX0lERV9HRU5FUklDIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfSURFUENJIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lERVBDSV9QQ0lCVVNfT1JERVIgaXMgbm90IHNldAotIyBDT05GSUdfSURFX0FSTSBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX0lERURNQSBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX0hEIGlzIG5vdCBzZXQKK0NPTkZJR19NSVNDX0RFVklDRVM9eQorIyBDT05GSUdfUEhBTlRPTSBpcyBub3Qgc2V0CisjIENPTkZJR19FRVBST01fOTNDWDYgaXMgbm90IHNldAorIyBDT05GSUdfU0dJX0lPQzQgaXMgbm90IHNldAorIyBDT05GSUdfVElGTV9DT1JFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0VOQ0xPU1VSRV9TRVJWSUNFUyBpcyBub3Qgc2V0CitDT05GSUdfSEFWRV9JREU9eQorIyBDT05GSUdfSURFIGlzIG5vdCBzZXQKIAogIwogIyBTQ1NJIGRldmljZSBzdXBwb3J0CkBAIC00OTQsOCArNTA4LDkgQEAKIENPTkZJR19CTEtfREVWX1NEPXkKICMgQ09ORklHX0NIUl9ERVZfU1QgaXMgbm90IHNldAogIyBDT05GSUdfQ0hSX0RFVl9PU1NUIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfU1IgaXMgbm90IHNldAotIyBDT05GSUdfQ0hSX0RFVl9TRyBpcyBub3Qgc2V0CitDT05GSUdfQkxLX0RFVl9TUj1tCisjIENPTkZJR19CTEtfREVWX1NSX1ZFTkRPUiBpcyBub3Qgc2V0CitDT05GSUdfQ0hSX0RFVl9TRz1tCiAjIENPTkZJR19DSFJfREVWX1NDSCBpcyBub3Qgc2V0CiAKICMKQEAgLTUxMywxMiArNTI4LDkgQEAKICMgQ09ORklHX1NDU0lfU1BJX0FUVFJTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfRkNfQVRUUlMgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9JU0NTSV9BVFRSUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX1NBU19BVFRSUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX1NBU19MSUJTQVMgaXMgbm90IHNldAotCi0jCi0jIFNDU0kgbG93LWxldmVsIGRyaXZlcnMKLSMKKyMgQ09ORklHX1NDU0lfU1JQX0FUVFJTIGlzIG5vdCBzZXQKK0NPTkZJR19TQ1NJX0xPV0xFVkVMPXkKICMgQ09ORklHX0lTQ1NJX1RDUCBpcyBub3Qgc2V0CiAjIENPTkZJR19CTEtfREVWXzNXX1hYWFhfUkFJRCBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJXzNXXzlYWFggaXMgbm90IHNldApAQCAtNTI5LDYgKzU0MSw3IEBACiAjIENPTkZJR19TQ1NJX0FJQzc5WFggaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9BSUM5NFhYIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfRFBUX0kyTyBpcyBub3Qgc2V0CisjIENPTkZJR19TQ1NJX0FEVkFOU1lTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfQVJDTVNSIGlzIG5vdCBzZXQKICMgQ09ORklHX01FR0FSQUlEX05FV0dFTiBpcyBub3Qgc2V0CiAjIENPTkZJR19NRUdBUkFJRF9MRUdBQ1kgaXMgbm90IHNldApAQCAtNTM5LDggKzU1MiwxMCBAQAogIyBDT05GSUdfU0NTSV9JUFMgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9JTklUSU8gaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9JTklBMTAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NDU0lfTVZTQVMgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9TVEVYIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfU1lNNTNDOFhYXzIgaXMgbm90IHNldAorIyBDT05GSUdfU0NTSV9JUFIgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9RTE9HSUNfMTI4MCBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX1FMQV9GQyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX1FMQV9JU0NTSSBpcyBub3Qgc2V0CkBAIC01NTAsMTYgKzU2NSw2OCBAQAogIyBDT05GSUdfU0NTSV9OU1AzMiBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX0RFQlVHIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfU1JQIGlzIG5vdCBzZXQKLSMgQ09ORklHX0FUQSBpcyBub3Qgc2V0CitDT05GSUdfQVRBPXkKKyMgQ09ORklHX0FUQV9OT05TVEFOREFSRCBpcyBub3Qgc2V0CitDT05GSUdfU0FUQV9QTVA9eQorIyBDT05GSUdfU0FUQV9BSENJIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NBVEFfU0lMMjQgaXMgbm90IHNldAorQ09ORklHX0FUQV9TRkY9eQorIyBDT05GSUdfU0FUQV9TVlcgaXMgbm90IHNldAorIyBDT05GSUdfQVRBX1BJSVggaXMgbm90IHNldAorQ09ORklHX1NBVEFfTVY9eQorIyBDT05GSUdfU0FUQV9OViBpcyBub3Qgc2V0CisjIENPTkZJR19QRENfQURNQSBpcyBub3Qgc2V0CisjIENPTkZJR19TQVRBX1FTVE9SIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NBVEFfUFJPTUlTRSBpcyBub3Qgc2V0CisjIENPTkZJR19TQVRBX1NYNCBpcyBub3Qgc2V0CisjIENPTkZJR19TQVRBX1NJTCBpcyBub3Qgc2V0CisjIENPTkZJR19TQVRBX1NJUyBpcyBub3Qgc2V0CisjIENPTkZJR19TQVRBX1VMSSBpcyBub3Qgc2V0CisjIENPTkZJR19TQVRBX1ZJQSBpcyBub3Qgc2V0CisjIENPTkZJR19TQVRBX1ZJVEVTU0UgaXMgbm90IHNldAorIyBDT05GSUdfU0FUQV9JTklDMTYyWCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX0FMSSBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX0FNRCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX0FSVE9QIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfQVRJSVhQIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfQ01ENjQwX1BDSSBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX0NNRDY0WCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX0NTNTUyMCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX0NTNTUzMCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX0NZUFJFU1MgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9FRkFSIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FUQV9HRU5FUklDIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfSFBUMzY2IGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfSFBUMzdYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfSFBUM1gyTiBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX0hQVDNYMyBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX0lUODIxWCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX0lUODIxMyBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX0pNSUNST04gaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9UUklGTEVYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfTUFSVkVMTCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX01QSUlYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfT0xEUElJWCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX05FVENFTEwgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9OSU5KQTMyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfTlM4NzQxMCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX05TODc0MTUgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9PUFRJIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfT1BUSURNQSBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX1BEQ19PTEQgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9SQURJU1lTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfUloxMDAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfU0MxMjAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfU0VSVkVSV09SS1MgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9QREMyMDI3WCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX1NJTDY4MCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX1NJUyBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX1ZJQSBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX1dJTkJPTkQgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9QTEFURk9STSBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX1NDSCBpcyBub3Qgc2V0CiAjIENPTkZJR19NRCBpcyBub3Qgc2V0Ci0KLSMKLSMgRnVzaW9uIE1QVCBkZXZpY2Ugc3VwcG9ydAotIwogIyBDT05GSUdfRlVTSU9OIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZVU0lPTl9TUEkgaXMgbm90IHNldAotIyBDT05GSUdfRlVTSU9OX0ZDIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZVU0lPTl9TQVMgaXMgbm90IHNldAogCiAjCiAjIElFRUUgMTM5NCAoRmlyZVdpcmUpIHN1cHBvcnQKQEAgLTU3NCw2ICs2NDEsNyBAQAogIyBDT05GSUdfTUFDVkxBTiBpcyBub3Qgc2V0CiAjIENPTkZJR19FUVVBTElaRVIgaXMgbm90IHNldAogIyBDT05GSUdfVFVOIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZFVEggaXMgbm90IHNldAogIyBDT05GSUdfQVJDTkVUIGlzIG5vdCBzZXQKICMgQ09ORklHX1BIWUxJQiBpcyBub3Qgc2V0CiBDT05GSUdfTkVUX0VUSEVSTkVUPXkKQEAgLTU4NCwyOCArNjUyLDI3IEBACiAjIENPTkZJR19DQVNTSU5JIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVF9WRU5ET1JfM0NPTSBpcyBub3Qgc2V0CiAjIENPTkZJR19TTUM5MVggaXMgbm90IHNldAotQ09ORklHX0RNOTAwMD15Ci0jIENPTkZJR19TTUM5MTFYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RNOTAwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRfVFVMSVAgaXMgbm90IHNldAogIyBDT05GSUdfSFAxMDAgaXMgbm90IHNldAorIyBDT05GSUdfSUJNX05FV19FTUFDX1pNSUkgaXMgbm90IHNldAorIyBDT05GSUdfSUJNX05FV19FTUFDX1JHTUlJIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTV9ORVdfRU1BQ19UQUggaXMgbm90IHNldAorIyBDT05GSUdfSUJNX05FV19FTUFDX0VNQUM0IGlzIG5vdCBzZXQKIENPTkZJR19ORVRfUENJPXkKICMgQ09ORklHX1BDTkVUMzIgaXMgbm90IHNldAogIyBDT05GSUdfQU1EODExMV9FVEggaXMgbm90IHNldAogIyBDT05GSUdfQURBUFRFQ19TVEFSRklSRSBpcyBub3Qgc2V0CiAjIENPTkZJR19CNDQgaXMgbm90IHNldAogIyBDT05GSUdfRk9SQ0VERVRIIGlzIG5vdCBzZXQKLSMgQ09ORklHX0RHUlMgaXMgbm90IHNldAogIyBDT05GSUdfRUVQUk8xMDAgaXMgbm90IHNldAogIyBDT05GSUdfRTEwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19GRUFMTlggaXMgbm90IHNldAogIyBDT05GSUdfTkFUU0VNSSBpcyBub3Qgc2V0CiAjIENPTkZJR19ORTJLX1BDSSBpcyBub3Qgc2V0CiAjIENPTkZJR184MTM5Q1AgaXMgbm90IHNldAotQ09ORklHXzgxMzlUT089bQotIyBDT05GSUdfODEzOVRPT19QSU8gaXMgbm90IHNldAotIyBDT05GSUdfODEzOVRPT19UVU5FX1RXSVNURVIgaXMgbm90IHNldAotIyBDT05GSUdfODEzOVRPT184MTI5IGlzIG5vdCBzZXQKLSMgQ09ORklHXzgxMzlfT0xEX1JYX1JFU0VUIGlzIG5vdCBzZXQKKyMgQ09ORklHXzgxMzlUT08gaXMgbm90IHNldAorIyBDT05GSUdfUjYwNDAgaXMgbm90IHNldAogIyBDT05GSUdfU0lTOTAwIGlzIG5vdCBzZXQKICMgQ09ORklHX0VQSUMxMDAgaXMgbm90IHNldAogIyBDT05GSUdfU1VOREFOQ0UgaXMgbm90IHNldApAQCAtNjE2LDYgKzY4MywxMCBAQAogIyBDT05GSUdfQUNFTklDIGlzIG5vdCBzZXQKICMgQ09ORklHX0RMMksgaXMgbm90IHNldAogIyBDT05GSUdfRTEwMDAgaXMgbm90IHNldAorIyBDT05GSUdfRTEwMDBFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0UxMDAwRV9FTkFCTEVEIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lQMTAwMCBpcyBub3Qgc2V0CisjIENPTkZJR19JR0IgaXMgbm90IHNldAogIyBDT05GSUdfTlM4MzgyMCBpcyBub3Qgc2V0CiAjIENPTkZJR19IQU1BQ0hJIGlzIG5vdCBzZXQKICMgQ09ORklHX1lFTExPV0ZJTiBpcyBub3Qgc2V0CkBAIC02MjYsMTYgKzY5NywxMCBAQAogIyBDT05GSUdfVklBX1ZFTE9DSVRZIGlzIG5vdCBzZXQKICMgQ09ORklHX1RJR09OMyBpcyBub3Qgc2V0CiAjIENPTkZJR19CTlgyIGlzIG5vdCBzZXQKK0NPTkZJR19NVjY0M1hYX0VUSD15CiAjIENPTkZJR19RTEEzWFhYIGlzIG5vdCBzZXQKICMgQ09ORklHX0FUTDEgaXMgbm90IHNldAotQ09ORklHX05FVERFVl8xMDAwMD15Ci0jIENPTkZJR19DSEVMU0lPX1QxIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NIRUxTSU9fVDMgaXMgbm90IHNldAotIyBDT05GSUdfSVhHQiBpcyBub3Qgc2V0Ci0jIENPTkZJR19TMklPIGlzIG5vdCBzZXQKLSMgQ09ORklHX01ZUkkxMEdFIGlzIG5vdCBzZXQKLSMgQ09ORklHX05FVFhFTl9OSUMgaXMgbm90IHNldAotIyBDT05GSUdfTUxYNF9DT1JFIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVERFVl8xMDAwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19UUiBpcyBub3Qgc2V0CiAKICMKQEAgLTY0Myw2ICs3MDgsNyBAQAogIwogIyBDT05GSUdfV0xBTl9QUkU4MDIxMSBpcyBub3Qgc2V0CiAjIENPTkZJR19XTEFOXzgwMjExIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lXTFdJRklfTEVEUyBpcyBub3Qgc2V0CiAKICMKICMgVVNCIE5ldHdvcmsgQWRhcHRlcnMKQEAgLTY1MSw3ICs3MTcsNiBAQAogIyBDT05GSUdfVVNCX0tBV0VUSCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfUEVHQVNVUyBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfUlRMODE1MCBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfVVNCTkVUX01JSSBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfVVNCTkVUIGlzIG5vdCBzZXQKICMgQ09ORklHX1dBTiBpcyBub3Qgc2V0CiAjIENPTkZJR19GRERJIGlzIG5vdCBzZXQKQEAgLTY1OSw3ICs3MjQsNiBAQAogIyBDT05GSUdfUFBQIGlzIG5vdCBzZXQKICMgQ09ORklHX1NMSVAgaXMgbm90IHNldAogIyBDT05GSUdfTkVUX0ZDIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NIQVBFUiBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRDT05TT0xFIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVFBPTEwgaXMgbm90IHNldAogIyBDT05GSUdfTkVUX1BPTExfQ09OVFJPTExFUiBpcyBub3Qgc2V0CkBAIC02NzcsNyArNzQxLDYgQEAKICMKICMgQ09ORklHX0lOUFVUX01PVVNFREVWIGlzIG5vdCBzZXQKICMgQ09ORklHX0lOUFVUX0pPWURFViBpcyBub3Qgc2V0Ci0jIENPTkZJR19JTlBVVF9UU0RFViBpcyBub3Qgc2V0CiBDT05GSUdfSU5QVVRfRVZERVY9eQogIyBDT05GSUdfSU5QVVRfRVZCVUcgaXMgbm90IHNldAogCkBAIC02ODgsMTYgKzc1MSw3IEBACiAjIENPTkZJR19JTlBVVF9NT1VTRSBpcyBub3Qgc2V0CiAjIENPTkZJR19JTlBVVF9KT1lTVElDSyBpcyBub3Qgc2V0CiAjIENPTkZJR19JTlBVVF9UQUJMRVQgaXMgbm90IHNldAotQ09ORklHX0lOUFVUX1RPVUNIU0NSRUVOPXkKLSMgQ09ORklHX1RPVUNIU0NSRUVOX0dVTlpFIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RPVUNIU0NSRUVOX0VMTyBpcyBub3Qgc2V0Ci0jIENPTkZJR19UT1VDSFNDUkVFTl9NVE9VQ0ggaXMgbm90IHNldAotIyBDT05GSUdfVE9VQ0hTQ1JFRU5fTUs3MTIgaXMgbm90IHNldAotIyBDT05GSUdfVE9VQ0hTQ1JFRU5fUEVOTU9VTlQgaXMgbm90IHNldAotIyBDT05GSUdfVE9VQ0hTQ1JFRU5fVE9VQ0hSSUdIVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19UT1VDSFNDUkVFTl9UT1VDSFdJTiBpcyBub3Qgc2V0Ci1DT05GSUdfVE9VQ0hTQ1JFRU5fVUNCMTQwMD1tCi0jIENPTkZJR19UT1VDSFNDUkVFTl9VU0JfQ09NUE9TSVRFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOUFVUX1RPVUNIU0NSRUVOIGlzIG5vdCBzZXQKICMgQ09ORklHX0lOUFVUX01JU0MgaXMgbm90IHNldAogCiAjCkBAIC03MDksMjc1ICs3NjMsMTk1IEBACiAjCiAjIENoYXJhY3RlciBkZXZpY2VzCiAjCi1DT05GSUdfVlQ9eQotQ09ORklHX1ZUX0NPTlNPTEU9eQotQ09ORklHX0hXX0NPTlNPTEU9eQotIyBDT05GSUdfVlRfSFdfQ09OU09MRV9CSU5ESU5HIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZUIGlzIG5vdCBzZXQKK0NPTkZJR19ERVZLTUVNPXkKICMgQ09ORklHX1NFUklBTF9OT05TVEFOREFSRCBpcyBub3Qgc2V0CisjIENPTkZJR19OT1pPTUkgaXMgbm90IHNldAogCiAjCiAjIFNlcmlhbCBkcml2ZXJzCiAjCi0jIENPTkZJR19TRVJJQUxfODI1MCBpcyBub3Qgc2V0CitDT05GSUdfU0VSSUFMXzgyNTA9eQorQ09ORklHX1NFUklBTF84MjUwX0NPTlNPTEU9eQorIyBDT05GSUdfU0VSSUFMXzgyNTBfUENJIGlzIG5vdCBzZXQKK0NPTkZJR19TRVJJQUxfODI1MF9OUl9VQVJUUz00CitDT05GSUdfU0VSSUFMXzgyNTBfUlVOVElNRV9VQVJUUz0yCisjIENPTkZJR19TRVJJQUxfODI1MF9FWFRFTkRFRCBpcyBub3Qgc2V0CiAKICMKICMgTm9uLTgyNTAgc2VyaWFsIHBvcnQgc3VwcG9ydAogIwotQ09ORklHX1NFUklBTF9QWEE9eQotQ09ORklHX1NFUklBTF9QWEFfQ09OU09MRT15CiBDT05GSUdfU0VSSUFMX0NPUkU9eQogQ09ORklHX1NFUklBTF9DT1JFX0NPTlNPTEU9eQogIyBDT05GSUdfU0VSSUFMX0pTTSBpcyBub3Qgc2V0CiBDT05GSUdfVU5JWDk4X1BUWVM9eQogQ09ORklHX0xFR0FDWV9QVFlTPXkKLUNPTkZJR19MRUdBQ1lfUFRZX0NPVU5UPTI1NgorQ09ORklHX0xFR0FDWV9QVFlfQ09VTlQ9MTYKICMgQ09ORklHX0lQTUlfSEFORExFUiBpcyBub3Qgc2V0Ci0jIENPTkZJR19XQVRDSERPRyBpcyBub3Qgc2V0Ci1DT05GSUdfSFdfUkFORE9NPW0KKyMgQ09ORklHX0hXX1JBTkRPTSBpcyBub3Qgc2V0CiAjIENPTkZJR19OVlJBTSBpcyBub3Qgc2V0CiAjIENPTkZJR19SMzk2NCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUFBMSUNPTSBpcyBub3Qgc2V0Ci0jIENPTkZJR19EUk0gaXMgbm90IHNldAogIyBDT05GSUdfUkFXX0RSSVZFUiBpcyBub3Qgc2V0CiAjIENPTkZJR19UQ0dfVFBNIGlzIG5vdCBzZXQKIENPTkZJR19ERVZQT1JUPXkKLSMgQ09ORklHX0kyQyBpcyBub3Qgc2V0CitDT05GSUdfSTJDPXkKK0NPTkZJR19JMkNfQk9BUkRJTkZPPXkKK0NPTkZJR19JMkNfQ0hBUkRFVj15CiAKICMKLSMgU1BJIHN1cHBvcnQKKyMgSTJDIEhhcmR3YXJlIEJ1cyBzdXBwb3J0CiAjCisjIENPTkZJR19JMkNfQUxJMTUzNSBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfQUxJMTU2MyBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfQUxJMTVYMyBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfQU1ENzU2IGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19BTUQ4MTExIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19JODAxIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19JODEwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19QSUlYNCBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfTkZPUkNFMiBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfT0NPUkVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19QQVJQT1JUX0xJR0hUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19QUk9TQVZBR0UgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1NBVkFHRTQgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1NJTVRFQyBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfU0lTNTU5NSBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfU0lTNjMwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19TSVM5NlggaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1RBT1NfRVZNIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19TVFVCIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19USU5ZX1VTQiBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfVklBIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19WSUFQUk8gaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1ZPT0RPTzMgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1BDQV9QTEFURk9STSBpcyBub3Qgc2V0CitDT05GSUdfSTJDX01WNjRYWFg9eQorCisjCisjIE1pc2NlbGxhbmVvdXMgSTJDIENoaXAgc3VwcG9ydAorIworIyBDT05GSUdfRFMxNjgyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfRUVQUk9NIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfUENGODU3NCBpcyBub3Qgc2V0CisjIENPTkZJR19QQ0Y4NTc1IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfUENGODU5MSBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX01BWDY4NzUgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19UU0wyNTUwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19ERUJVR19DT1JFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19ERUJVR19BTEdPIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19ERUJVR19CVVMgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0RFQlVHX0NISVAgaXMgbm90IHNldAogIyBDT05GSUdfU1BJIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NQSV9NQVNURVIgaXMgbm90IHNldAogIyBDT05GSUdfVzEgaXMgbm90IHNldAotIyBDT05GSUdfSFdNT04gaXMgbm90IHNldAotQ09ORklHX01JU0NfREVWSUNFUz15Ci0jIENPTkZJR19QSEFOVE9NIGlzIG5vdCBzZXQKLSMgQ09ORklHX0VFUFJPTV85M0NYNiBpcyBub3Qgc2V0Ci0jIENPTkZJR19TR0lfSU9DNCBpcyBub3Qgc2V0Ci0jIENPTkZJR19USUZNX0NPUkUgaXMgbm90IHNldAorIyBDT05GSUdfUE9XRVJfU1VQUExZIGlzIG5vdCBzZXQKK0NPTkZJR19IV01PTj15CisjIENPTkZJR19IV01PTl9WSUQgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19BRDc0MTggaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19BRE0xMDIxIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfQURNMTAyNSBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0FETTEwMjYgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19BRE0xMDI5IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfQURNMTAzMSBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0FETTkyNDAgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19BRFQ3NDcwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfQURUNzQ3MyBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0FUWFAxIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfRFMxNjIxIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfSTVLX0FNQiBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0Y3MTgwNUYgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19GNzE4ODJGRyBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0Y3NTM3NVMgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19HTDUxOFNNIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfR0w1MjBTTSBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0lUODcgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19MTTYzIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfTE03NSBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0xNNzcgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19MTTc4IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfTE04MCBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0xNODMgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19MTTg1IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfTE04NyBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0xNOTAgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19MTTkyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfTE05MyBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX01BWDE2MTkgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19NQVg2NjUwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfUEM4NzM2MCBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX1BDODc0MjcgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19TSVM1NTk1IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfRE1FMTczNyBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX1NNU0M0N00xIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfU01TQzQ3TTE5MiBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX1NNU0M0N0IzOTcgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19BRFM3ODI4IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfVEhNQzUwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfVklBNjg2QSBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX1ZUMTIxMSBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX1ZUODIzMSBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX1c4Mzc4MUQgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19XODM3OTFEIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfVzgzNzkyRCBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX1c4Mzc5MyBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX1c4M0w3ODVUUyBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX1c4M0w3ODZORyBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX1c4MzYyN0hGIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfVzgzNjI3RUhGIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hXTU9OX0RFQlVHX0NISVAgaXMgbm90IHNldAorIyBDT05GSUdfV0FUQ0hET0cgaXMgbm90IHNldAorCisjCisjIFNvbmljcyBTaWxpY29uIEJhY2twbGFuZQorIworQ09ORklHX1NTQl9QT1NTSUJMRT15CisjIENPTkZJR19TU0IgaXMgbm90IHNldAogCiAjCiAjIE11bHRpZnVuY3Rpb24gZGV2aWNlIGRyaXZlcnMKICMKICMgQ09ORklHX01GRF9TTTUwMSBpcyBub3Qgc2V0Ci0KLSMKLSMgTEVEIGRldmljZXMKLSMKLUNPTkZJR19ORVdfTEVEUz15Ci1DT05GSUdfTEVEU19DTEFTUz15Ci0KLSMKLSMgTEVEIGRyaXZlcnMKLSMKLUNPTkZJR19MRURTX0NNX1gyNzA9eQotCi0jCi0jIExFRCBUcmlnZ2VycwotIwotQ09ORklHX0xFRFNfVFJJR0dFUlM9eQotIyBDT05GSUdfTEVEU19UUklHR0VSX1RJTUVSIGlzIG5vdCBzZXQKLSMgQ09ORklHX0xFRFNfVFJJR0dFUl9JREVfRElTSyBpcyBub3Qgc2V0Ci1DT05GSUdfTEVEU19UUklHR0VSX0hFQVJUQkVBVD15CisjIENPTkZJR19NRkRfQVNJQzMgaXMgbm90IHNldAorIyBDT05GSUdfSFRDX1BBU0lDMyBpcyBub3Qgc2V0CiAKICMKICMgTXVsdGltZWRpYSBkZXZpY2VzCiAjCisKKyMKKyMgTXVsdGltZWRpYSBjb3JlIHN1cHBvcnQKKyMKICMgQ09ORklHX1ZJREVPX0RFViBpcyBub3Qgc2V0CiAjIENPTkZJR19EVkJfQ09SRSBpcyBub3Qgc2V0Ci1DT05GSUdfREFCPXkKLSMgQ09ORklHX1VTQl9EQUJVU0IgaXMgbm90IHNldAorIyBDT05GSUdfVklERU9fTUVESUEgaXMgbm90IHNldAorCisjCisjIE11bHRpbWVkaWEgZHJpdmVycworIworIyBDT05GSUdfREFCIGlzIG5vdCBzZXQKIAogIwogIyBHcmFwaGljcyBzdXBwb3J0CiAjCisjIENPTkZJR19EUk0gaXMgbm90IHNldAorIyBDT05GSUdfVkdBU1RBVEUgaXMgbm90IHNldAorIyBDT05GSUdfVklERU9fT1VUUFVUX0NPTlRST0wgaXMgbm90IHNldAorIyBDT05GSUdfRkIgaXMgbm90IHNldAogIyBDT05GSUdfQkFDS0xJR0hUX0xDRF9TVVBQT1JUIGlzIG5vdCBzZXQKIAogIwogIyBEaXNwbGF5IGRldmljZSBzdXBwb3J0CiAjCiAjIENPTkZJR19ESVNQTEFZX1NVUFBPUlQgaXMgbm90IHNldAotIyBDT05GSUdfVkdBU1RBVEUgaXMgbm90IHNldAotQ09ORklHX0ZCPXkKLSMgQ09ORklHX0ZJUk1XQVJFX0VESUQgaXMgbm90IHNldAotIyBDT05GSUdfRkJfRERDIGlzIG5vdCBzZXQKLUNPTkZJR19GQl9DRkJfRklMTFJFQ1Q9eQotQ09ORklHX0ZCX0NGQl9DT1BZQVJFQT15Ci1DT05GSUdfRkJfQ0ZCX0lNQUdFQkxJVD15Ci0jIENPTkZJR19GQl9TWVNfRklMTFJFQ1QgaXMgbm90IHNldAotIyBDT05GSUdfRkJfU1lTX0NPUFlBUkVBIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX1NZU19JTUFHRUJMSVQgaXMgbm90IHNldAotIyBDT05GSUdfRkJfU1lTX0ZPUFMgaXMgbm90IHNldAotQ09ORklHX0ZCX0RFRkVSUkVEX0lPPXkKLSMgQ09ORklHX0ZCX1NWR0FMSUIgaXMgbm90IHNldAotIyBDT05GSUdfRkJfTUFDTU9ERVMgaXMgbm90IHNldAotIyBDT05GSUdfRkJfQkFDS0xJR0hUIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX01PREVfSEVMUEVSUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9USUxFQkxJVFRJTkcgaXMgbm90IHNldAotCi0jCi0jIEZyYW1lIGJ1ZmZlciBoYXJkd2FyZSBkcml2ZXJzCi0jCi0jIENPTkZJR19GQl9DSVJSVVMgaXMgbm90IHNldAotIyBDT05GSUdfRkJfUE0yIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX0NZQkVSMjAwMCBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9BU0lMSUFOVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9JTVNUVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9TMUQxM1hYWCBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9OVklESUEgaXMgbm90IHNldAotIyBDT05GSUdfRkJfUklWQSBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9NQVRST1ggaXMgbm90IHNldAotIyBDT05GSUdfRkJfUkFERU9OIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX0FUWTEyOCBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9BVFkgaXMgbm90IHNldAotIyBDT05GSUdfRkJfUzMgaXMgbm90IHNldAotIyBDT05GSUdfRkJfU0FWQUdFIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX1NJUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9ORU9NQUdJQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9LWVJPIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCXzNERlggaXMgbm90IHNldAotIyBDT05GSUdfRkJfVk9PRE9PMSBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9WVDg2MjMgaXMgbm90IHNldAotIyBDT05GSUdfRkJfVFJJREVOVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9BUksgaXMgbm90IHNldAotIyBDT05GSUdfRkJfUE0zIGlzIG5vdCBzZXQKLUNPTkZJR19GQl9QWEE9eQotIyBDT05GSUdfRkJfUFhBX1BBUkFNRVRFUlMgaXMgbm90IHNldAotQ09ORklHX0ZCX01CWD1tCi0jIENPTkZJR19GQl9WSVJUVUFMIGlzIG5vdCBzZXQKLQotIwotIyBDb25zb2xlIGRpc3BsYXkgZHJpdmVyIHN1cHBvcnQKLSMKLSMgQ09ORklHX1ZHQV9DT05TT0xFIGlzIG5vdCBzZXQKLUNPTkZJR19EVU1NWV9DT05TT0xFPXkKLUNPTkZJR19GUkFNRUJVRkZFUl9DT05TT0xFPXkKLSMgQ09ORklHX0ZSQU1FQlVGRkVSX0NPTlNPTEVfREVURUNUX1BSSU1BUlkgaXMgbm90IHNldAotIyBDT05GSUdfRlJBTUVCVUZGRVJfQ09OU09MRV9ST1RBVElPTiBpcyBub3Qgc2V0Ci0jIENPTkZJR19GT05UUyBpcyBub3Qgc2V0Ci1DT05GSUdfRk9OVF84eDg9eQotQ09ORklHX0ZPTlRfOHgxNj15Ci1DT05GSUdfTE9HTz15Ci1DT05GSUdfTE9HT19MSU5VWF9NT05PPXkKLUNPTkZJR19MT0dPX0xJTlVYX1ZHQTE2PXkKLUNPTkZJR19MT0dPX0xJTlVYX0NMVVQyMjQ9eQogCiAjCiAjIFNvdW5kCiAjCi1DT05GSUdfU09VTkQ9bQotCi0jCi0jIEFkdmFuY2VkIExpbnV4IFNvdW5kIEFyY2hpdGVjdHVyZQotIwotQ09ORklHX1NORD1tCi1DT05GSUdfU05EX1RJTUVSPW0KLUNPTkZJR19TTkRfUENNPW0KLSMgQ09ORklHX1NORF9TRVFVRU5DRVIgaXMgbm90IHNldAotQ09ORklHX1NORF9PU1NFTVVMPXkKLUNPTkZJR19TTkRfTUlYRVJfT1NTPW0KLUNPTkZJR19TTkRfUENNX09TUz1tCi1DT05GSUdfU05EX1BDTV9PU1NfUExVR0lOUz15Ci0jIENPTkZJR19TTkRfRFlOQU1JQ19NSU5PUlMgaXMgbm90IHNldAotQ09ORklHX1NORF9TVVBQT1JUX09MRF9BUEk9eQotQ09ORklHX1NORF9WRVJCT1NFX1BST0NGUz15Ci0jIENPTkZJR19TTkRfVkVSQk9TRV9QUklOVEsgaXMgbm90IHNldAotIyBDT05GSUdfU05EX0RFQlVHIGlzIG5vdCBzZXQKLQotIwotIyBHZW5lcmljIGRldmljZXMKLSMKLUNPTkZJR19TTkRfQUM5N19DT0RFQz1tCi0jIENPTkZJR19TTkRfRFVNTVkgaXMgbm90IHNldAotIyBDT05GSUdfU05EX01UUEFWIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9TRVJJQUxfVTE2NTUwIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9NUFU0MDEgaXMgbm90IHNldAotCi0jCi0jIFBDSSBkZXZpY2VzCi0jCi0jIENPTkZJR19TTkRfQUQxODg5IGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9BTFMzMDAgaXMgbm90IHNldAotIyBDT05GSUdfU05EX0FMSTU0NTEgaXMgbm90IHNldAotIyBDT05GSUdfU05EX0FUSUlYUCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfQVRJSVhQX01PREVNIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9BVTg4MTAgaXMgbm90IHNldAotIyBDT05GSUdfU05EX0FVODgyMCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfQVU4ODMwIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9BWlQzMzI4IGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9CVDg3WCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfQ0EwMTA2IGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9DTUlQQ0kgaXMgbm90IHNldAotIyBDT05GSUdfU05EX0NTNDI4MSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfQ1M0NlhYIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9EQVJMQTIwIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9HSU5BMjAgaXMgbm90IHNldAotIyBDT05GSUdfU05EX0xBWUxBMjAgaXMgbm90IHNldAotIyBDT05GSUdfU05EX0RBUkxBMjQgaXMgbm90IHNldAotIyBDT05GSUdfU05EX0dJTkEyNCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfTEFZTEEyNCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfTU9OQSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfTUlBIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9FQ0hPM0cgaXMgbm90IHNldAotIyBDT05GSUdfU05EX0lORElHTyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfSU5ESUdPSU8gaXMgbm90IHNldAotIyBDT05GSUdfU05EX0lORElHT0RKIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9FTVUxMEsxIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9FTVUxMEsxWCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfRU5TMTM3MCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfRU5TMTM3MSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfRVMxOTM4IGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9FUzE5NjggaXMgbm90IHNldAotIyBDT05GSUdfU05EX0ZNODAxIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9IREFfSU5URUwgaXMgbm90IHNldAotIyBDT05GSUdfU05EX0hEU1AgaXMgbm90IHNldAotIyBDT05GSUdfU05EX0hEU1BNIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9JQ0UxNzEyIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9JQ0UxNzI0IGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9JTlRFTDhYMCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfSU5URUw4WDBNIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9LT1JHMTIxMiBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfTUFFU1RSTzMgaXMgbm90IHNldAotIyBDT05GSUdfU05EX01JWEFSVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfTk0yNTYgaXMgbm90IHNldAotIyBDT05GSUdfU05EX1BDWEhSIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9SSVBUSURFIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9STUUzMiBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfUk1FOTYgaXMgbm90IHNldAotIyBDT05GSUdfU05EX1JNRTk2NTIgaXMgbm90IHNldAotIyBDT05GSUdfU05EX1NPTklDVklCRVMgaXMgbm90IHNldAotIyBDT05GSUdfU05EX1RSSURFTlQgaXMgbm90IHNldAotIyBDT05GSUdfU05EX1ZJQTgyWFggaXMgbm90IHNldAotIyBDT05GSUdfU05EX1ZJQTgyWFhfTU9ERU0gaXMgbm90IHNldAotIyBDT05GSUdfU05EX1ZYMjIyIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9ZTUZQQ0kgaXMgbm90IHNldAotIyBDT05GSUdfU05EX0FDOTdfUE9XRVJfU0FWRSBpcyBub3Qgc2V0Ci0KLSMKLSMgQUxTQSBBUk0gZGV2aWNlcwotIwotQ09ORklHX1NORF9QWEEyWFhfUENNPW0KLUNPTkZJR19TTkRfUFhBMlhYX0FDOTc9bQotCi0jCi0jIFVTQiBkZXZpY2VzCi0jCi0jIENPTkZJR19TTkRfVVNCX0FVRElPIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9VU0JfQ0FJQVEgaXMgbm90IHNldAotCi0jCi0jIFN5c3RlbSBvbiBDaGlwIGF1ZGlvIHN1cHBvcnQKLSMKLSMgQ09ORklHX1NORF9TT0MgaXMgbm90IHNldAotCi0jCi0jIE9wZW4gU291bmQgU3lzdGVtCi0jCi0jIENPTkZJR19TT1VORF9QUklNRSBpcyBub3Qgc2V0Ci1DT05GSUdfQUM5N19CVVM9bQorIyBDT05GSUdfU09VTkQgaXMgbm90IHNldAogQ09ORklHX0hJRF9TVVBQT1JUPXkKIENPTkZJR19ISUQ9eQogIyBDT05GSUdfSElEX0RFQlVHIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hJRFJBVyBpcyBub3Qgc2V0CiAKICMKICMgVVNCIElucHV0IERldmljZXMKQEAgLTk5MiwyNiArOTY2LDI4IEBACiBDT05GSUdfVVNCX0FSQ0hfSEFTX0VIQ0k9eQogQ09ORklHX1VTQj15CiAjIENPTkZJR19VU0JfREVCVUcgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0FOTk9VTkNFX05FV19ERVZJQ0VTIGlzIG5vdCBzZXQKIAogIwogIyBNaXNjZWxsYW5lb3VzIFVTQiBvcHRpb25zCiAjCiBDT05GSUdfVVNCX0RFVklDRUZTPXkKLSMgQ09ORklHX1VTQl9ERVZJQ0VfQ0xBU1MgaXMgbm90IHNldAorQ09ORklHX1VTQl9ERVZJQ0VfQ0xBU1M9eQogIyBDT05GSUdfVVNCX0RZTkFNSUNfTUlOT1JTIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9TVVNQRU5EIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9QRVJTSVNUIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9PVEcgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX09UR19XSElURUxJU1QgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX09UR19CTEFDS0xJU1RfSFVCIGlzIG5vdCBzZXQKIAogIwogIyBVU0IgSG9zdCBDb250cm9sbGVyIERyaXZlcnMKICMKLSMgQ09ORklHX1VTQl9FSENJX0hDRCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfQzY3WDAwX0hDRCBpcyBub3Qgc2V0CitDT05GSUdfVVNCX0VIQ0lfSENEPXkKK0NPTkZJR19VU0JfRUhDSV9ST09UX0hVQl9UVD15CitDT05GSUdfVVNCX0VIQ0lfVFRfTkVXU0NIRUQ9eQogIyBDT05GSUdfVVNCX0lTUDExNlhfSENEIGlzIG5vdCBzZXQKLUNPTkZJR19VU0JfT0hDSV9IQ0Q9eQotIyBDT05GSUdfVVNCX09IQ0lfQklHX0VORElBTl9ERVNDIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9PSENJX0JJR19FTkRJQU5fTU1JTyBpcyBub3Qgc2V0Ci1DT05GSUdfVVNCX09IQ0lfTElUVExFX0VORElBTj15CisjIENPTkZJR19VU0JfSVNQMTc2MF9IQ0QgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX09IQ0lfSENEIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9VSENJX0hDRCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfU0w4MTFfSENEIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9SOEE2NjU5N19IQ0QgaXMgbm90IHNldApAQCAtMTAyMCw3ICs5OTYsOCBAQAogIyBVU0IgRGV2aWNlIENsYXNzIGRyaXZlcnMKICMKICMgQ09ORklHX1VTQl9BQ00gaXMgbm90IHNldAotIyBDT05GSUdfVVNCX1BSSU5URVIgaXMgbm90IHNldAorQ09ORklHX1VTQl9QUklOVEVSPXkKKyMgQ09ORklHX1VTQl9XRE0gaXMgbm90IHNldAogCiAjCiAjIE5PVEU6IFVTQl9TVE9SQUdFIGVuYWJsZXMgU0NTSSwgYW5kICdTQ1NJIGRpc2sgc3VwcG9ydCcKQEAgLTEwMzEsMTUgKzEwMDgsMTggQEAKICMKIENPTkZJR19VU0JfU1RPUkFHRT15CiAjIENPTkZJR19VU0JfU1RPUkFHRV9ERUJVRyBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfU1RPUkFHRV9EQVRBRkFCIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9TVE9SQUdFX0ZSRUVDT00gaXMgbm90IHNldAotIyBDT05GSUdfVVNCX1NUT1JBR0VfRFBDTSBpcyBub3Qgc2V0CitDT05GSUdfVVNCX1NUT1JBR0VfREFUQUZBQj15CitDT05GSUdfVVNCX1NUT1JBR0VfRlJFRUNPTT15CisjIENPTkZJR19VU0JfU1RPUkFHRV9JU0QyMDAgaXMgbm90IHNldAorQ09ORklHX1VTQl9TVE9SQUdFX0RQQ009eQogIyBDT05GSUdfVVNCX1NUT1JBR0VfVVNCQVQgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX1NUT1JBR0VfU0REUjA5IGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9TVE9SQUdFX1NERFI1NSBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfU1RPUkFHRV9KVU1QU0hPVCBpcyBub3Qgc2V0CitDT05GSUdfVVNCX1NUT1JBR0VfU0REUjA5PXkKK0NPTkZJR19VU0JfU1RPUkFHRV9TRERSNTU9eQorQ09ORklHX1VTQl9TVE9SQUdFX0pVTVBTSE9UPXkKICMgQ09ORklHX1VTQl9TVE9SQUdFX0FMQVVEQSBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU1RPUkFHRV9PTkVUT1VDSCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfU1RPUkFHRV9LQVJNQSBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU1RPUkFHRV9DWVBSRVNTX0FUQUNCIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9MSUJVU1VBTCBpcyBub3Qgc2V0CiAKICMKQEAgLTEwNDcsMTUgKzEwMjcsMTEgQEAKICMKICMgQ09ORklHX1VTQl9NREM4MDAgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX01JQ1JPVEVLIGlzIG5vdCBzZXQKLUNPTkZJR19VU0JfTU9OPXkKKyMgQ09ORklHX1VTQl9NT04gaXMgbm90IHNldAogCiAjCiAjIFVTQiBwb3J0IGRyaXZlcnMKICMKLQotIwotIyBVU0IgU2VyaWFsIENvbnZlcnRlciBzdXBwb3J0Ci0jCiAjIENPTkZJR19VU0JfU0VSSUFMIGlzIG5vdCBzZXQKIAogIwpAQCAtMTA3NiwzOSArMTA1MiwyOCBAQAogIyBDT05GSUdfVVNCX0lETU9VU0UgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX0ZURElfRUxBTiBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfQVBQTEVESVNQTEFZIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TSVNVU0JWR0EgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX0xEIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9UUkFOQ0VWSUJSQVRPUiBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfSU9XQVJSSU9SIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9URVNUIGlzIG5vdCBzZXQKLQotIwotIyBVU0IgRFNMIG1vZGVtIHN1cHBvcnQKLSMKLQotIwotIyBVU0IgR2FkZ2V0IFN1cHBvcnQKLSMKKyMgQ09ORklHX1VTQl9JU0lHSFRGVyBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfR0FER0VUIGlzIG5vdCBzZXQKLUNPTkZJR19NTUM9bQotIyBDT05GSUdfTU1DX0RFQlVHIGlzIG5vdCBzZXQKLSMgQ09ORklHX01NQ19VTlNBRkVfUkVTVU1FIGlzIG5vdCBzZXQKKyMgQ09ORklHX01NQyBpcyBub3Qgc2V0CitDT05GSUdfTkVXX0xFRFM9eQorQ09ORklHX0xFRFNfQ0xBU1M9eQogCiAjCi0jIE1NQy9TRCBDYXJkIERyaXZlcnMKKyMgTEVEIGRyaXZlcnMKICMKLUNPTkZJR19NTUNfQkxPQ0s9bQotQ09ORklHX01NQ19CTE9DS19CT1VOQ0U9eQogCiAjCi0jIE1NQy9TRCBIb3N0IENvbnRyb2xsZXIgRHJpdmVycworIyBMRUQgVHJpZ2dlcnMKICMKLUNPTkZJR19NTUNfUFhBPW0KLSMgQ09ORklHX01NQ19TREhDSSBpcyBub3Qgc2V0Ci0jIENPTkZJR19NTUNfVElGTV9TRCBpcyBub3Qgc2V0Ci0KLSMKLSMgUmVhbCBUaW1lIENsb2NrCi0jCitDT05GSUdfTEVEU19UUklHR0VSUz15CitDT05GSUdfTEVEU19UUklHR0VSX1RJTUVSPXkKK0NPTkZJR19MRURTX1RSSUdHRVJfSEVBUlRCRUFUPXkKKyMgQ09ORklHX0xFRFNfVFJJR0dFUl9ERUZBVUxUX09OIGlzIG5vdCBzZXQKIENPTkZJR19SVENfTElCPXkKIENPTkZJR19SVENfQ0xBU1M9eQogQ09ORklHX1JUQ19IQ1RPU1lTPXkKQEAgLTExMjUsMzIgKzEwOTAsNDEgQEAKICMgQ09ORklHX1JUQ19EUlZfVEVTVCBpcyBub3Qgc2V0CiAKICMKKyMgSTJDIFJUQyBkcml2ZXJzCisjCitDT05GSUdfUlRDX0RSVl9EUzEzMDc9eQorIyBDT05GSUdfUlRDX0RSVl9EUzEzNzQgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9EUzE2NzIgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9NQVg2OTAwIGlzIG5vdCBzZXQKK0NPTkZJR19SVENfRFJWX1JTNUMzNzI9eQorIyBDT05GSUdfUlRDX0RSVl9JU0wxMjA4IGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfWDEyMDUgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9QQ0Y4NTYzIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfUENGODU4MyBpcyBub3Qgc2V0CitDT05GSUdfUlRDX0RSVl9NNDFUODA9eQorIyBDT05GSUdfUlRDX0RSVl9NNDFUODBfV0RUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfUzM1MzkwQSBpcyBub3Qgc2V0CisKKyMKKyMgU1BJIFJUQyBkcml2ZXJzCisjCisKKyMKICMgUGxhdGZvcm0gUlRDIGRyaXZlcnMKICMKICMgQ09ORklHX1JUQ19EUlZfQ01PUyBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX0RTMTUxMSBpcyBub3Qgc2V0CiAjIENPTkZJR19SVENfRFJWX0RTMTU1MyBpcyBub3Qgc2V0CiAjIENPTkZJR19SVENfRFJWX0RTMTc0MiBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1NUSzE3VEE4IGlzIG5vdCBzZXQKICMgQ09ORklHX1JUQ19EUlZfTTQ4VDg2IGlzIG5vdCBzZXQKICMgQ09ORklHX1JUQ19EUlZfTTQ4VDU5IGlzIG5vdCBzZXQKLUNPTkZJR19SVENfRFJWX1YzMDIwPXkKKyMgQ09ORklHX1JUQ19EUlZfVjMwMjAgaXMgbm90IHNldAogCiAjCiAjIG9uLUNQVSBSVEMgZHJpdmVycwogIwotQ09ORklHX1JUQ19EUlZfU0ExMTAwPXkKLQotIwotIyBETUEgRW5naW5lIHN1cHBvcnQKLSMKLSMgQ09ORklHX0RNQV9FTkdJTkUgaXMgbm90IHNldAotCi0jCi0jIERNQSBDbGllbnRzCi0jCi0KLSMKLSMgRE1BIERldmljZXMKLSMKKyMgQ09ORklHX1VJTyBpcyBub3Qgc2V0CiAKICMKICMgRmlsZSBzeXN0ZW1zCkBAIC0xMTU5LDI1ICsxMTMzLDE4IEBACiAjIENPTkZJR19FWFQyX0ZTX1hBVFRSIGlzIG5vdCBzZXQKICMgQ09ORklHX0VYVDJfRlNfWElQIGlzIG5vdCBzZXQKIENPTkZJR19FWFQzX0ZTPXkKLUNPTkZJR19FWFQzX0ZTX1hBVFRSPXkKLSMgQ09ORklHX0VYVDNfRlNfUE9TSVhfQUNMIGlzIG5vdCBzZXQKLSMgQ09ORklHX0VYVDNfRlNfU0VDVVJJVFkgaXMgbm90IHNldAorIyBDT05GSUdfRVhUM19GU19YQVRUUiBpcyBub3Qgc2V0CiAjIENPTkZJR19FWFQ0REVWX0ZTIGlzIG5vdCBzZXQKIENPTkZJR19KQkQ9eQotIyBDT05GSUdfSkJEX0RFQlVHIGlzIG5vdCBzZXQKLUNPTkZJR19GU19NQkNBQ0hFPXkKICMgQ09ORklHX1JFSVNFUkZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0pGU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19GU19QT1NJWF9BQ0wgaXMgbm90IHNldAogIyBDT05GSUdfWEZTX0ZTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0dGUzJfRlMgaXMgbm90IHNldAogIyBDT05GSUdfT0NGUzJfRlMgaXMgbm90IHNldAotIyBDT05GSUdfTUlOSVhfRlMgaXMgbm90IHNldAotIyBDT05GSUdfUk9NRlNfRlMgaXMgbm90IHNldAorQ09ORklHX0ROT1RJRlk9eQogQ09ORklHX0lOT1RJRlk9eQogQ09ORklHX0lOT1RJRllfVVNFUj15CiAjIENPTkZJR19RVU9UQSBpcyBub3Qgc2V0Ci1DT05GSUdfRE5PVElGWT15CiAjIENPTkZJR19BVVRPRlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfQVVUT0ZTNF9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19GVVNFX0ZTIGlzIG5vdCBzZXQKQEAgLTExODUsOCArMTE1MiwxMSBAQAogIwogIyBDRC1ST00vRFZEIEZpbGVzeXN0ZW1zCiAjCi0jIENPTkZJR19JU085NjYwX0ZTIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VERl9GUyBpcyBub3Qgc2V0CitDT05GSUdfSVNPOTY2MF9GUz1tCitDT05GSUdfSk9MSUVUPXkKKyMgQ09ORklHX1pJU09GUyBpcyBub3Qgc2V0CitDT05GSUdfVURGX0ZTPW0KK0NPTkZJR19VREZfTkxTPXkKIAogIwogIyBET1MvRkFUL05UIEZpbGVzeXN0ZW1zCkBAIC0xMjA3LDcgKzExNzcsNiBAQAogQ09ORklHX1RNUEZTPXkKICMgQ09ORklHX1RNUEZTX1BPU0lYX0FDTCBpcyBub3Qgc2V0CiAjIENPTkZJR19IVUdFVExCX1BBR0UgaXMgbm90IHNldAotQ09ORklHX1JBTUZTPXkKICMgQ09ORklHX0NPTkZJR0ZTX0ZTIGlzIG5vdCBzZXQKIAogIwpAQCAtMTIyMCwyMiArMTE4OSwzMCBAQAogIyBDT05GSUdfQkVGU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19CRlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfRUZTX0ZTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0pGRlMyX0ZTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSQU1GUyBpcyBub3Qgc2V0CitDT05GSUdfSkZGUzJfRlM9eQorQ09ORklHX0pGRlMyX0ZTX0RFQlVHPTAKK0NPTkZJR19KRkZTMl9GU19XUklURUJVRkZFUj15CisjIENPTkZJR19KRkZTMl9GU19XQlVGX1ZFUklGWSBpcyBub3Qgc2V0CisjIENPTkZJR19KRkZTMl9TVU1NQVJZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pGRlMyX0ZTX1hBVFRSIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pGRlMyX0NPTVBSRVNTSU9OX09QVElPTlMgaXMgbm90IHNldAorQ09ORklHX0pGRlMyX1pMSUI9eQorIyBDT05GSUdfSkZGUzJfTFpPIGlzIG5vdCBzZXQKK0NPTkZJR19KRkZTMl9SVElNRT15CisjIENPTkZJR19KRkZTMl9SVUJJTiBpcyBub3Qgc2V0CitDT05GSUdfQ1JBTUZTPXkKICMgQ09ORklHX1ZYRlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfTUlOSVhfRlMgaXMgbm90IHNldAogIyBDT05GSUdfSFBGU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19RTlg0RlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfUk9NRlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfU1lTVl9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19VRlNfRlMgaXMgbm90IHNldAotCi0jCi0jIE5ldHdvcmsgRmlsZSBTeXN0ZW1zCi0jCitDT05GSUdfTkVUV09SS19GSUxFU1lTVEVNUz15CiBDT05GSUdfTkZTX0ZTPXkKIENPTkZJR19ORlNfVjM9eQogIyBDT05GSUdfTkZTX1YzX0FDTCBpcyBub3Qgc2V0CiAjIENPTkZJR19ORlNfVjQgaXMgbm90IHNldAotIyBDT05GSUdfTkZTX0RJUkVDVElPIGlzIG5vdCBzZXQKICMgQ09ORklHX05GU0QgaXMgbm90IHNldAogQ09ORklHX1JPT1RfTkZTPXkKIENPTkZJR19MT0NLRD15CkBAIC0xMjQ1LDggKzEyMjIsNyBAQAogIyBDT05GSUdfU1VOUlBDX0JJTkQzNCBpcyBub3Qgc2V0CiAjIENPTkZJR19SUENTRUNfR1NTX0tSQjUgaXMgbm90IHNldAogIyBDT05GSUdfUlBDU0VDX0dTU19TUEtNMyBpcyBub3Qgc2V0Ci1DT05GSUdfU01CX0ZTPXkKLSMgQ09ORklHX1NNQl9OTFNfREVGQVVMVCBpcyBub3Qgc2V0CisjIENPTkZJR19TTUJfRlMgaXMgbm90IHNldAogIyBDT05GSUdfQ0lGUyBpcyBub3Qgc2V0CiAjIENPTkZJR19OQ1BfRlMgaXMgbm90IHNldAogIyBDT05GSUdfQ09EQV9GUyBpcyBub3Qgc2V0CkBAIC0xMjU1LDE4ICsxMjMxLDMwIEBACiAjCiAjIFBhcnRpdGlvbiBUeXBlcwogIwotIyBDT05GSUdfUEFSVElUSU9OX0FEVkFOQ0VEIGlzIG5vdCBzZXQKK0NPTkZJR19QQVJUSVRJT05fQURWQU5DRUQ9eQorIyBDT05GSUdfQUNPUk5fUEFSVElUSU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX09TRl9QQVJUSVRJT04gaXMgbm90IHNldAorIyBDT05GSUdfQU1JR0FfUEFSVElUSU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FUQVJJX1BBUlRJVElPTiBpcyBub3Qgc2V0CisjIENPTkZJR19NQUNfUEFSVElUSU9OIGlzIG5vdCBzZXQKIENPTkZJR19NU0RPU19QQVJUSVRJT049eQotCi0jCi0jIE5hdGl2ZSBMYW5ndWFnZSBTdXBwb3J0Ci0jCitDT05GSUdfQlNEX0RJU0tMQUJFTD15CisjIENPTkZJR19NSU5JWF9TVUJQQVJUSVRJT04gaXMgbm90IHNldAorIyBDT05GSUdfU09MQVJJU19YODZfUEFSVElUSU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VOSVhXQVJFX0RJU0tMQUJFTCBpcyBub3Qgc2V0CisjIENPTkZJR19MRE1fUEFSVElUSU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NHSV9QQVJUSVRJT04gaXMgbm90IHNldAorIyBDT05GSUdfVUxUUklYX1BBUlRJVElPTiBpcyBub3Qgc2V0CisjIENPTkZJR19TVU5fUEFSVElUSU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX0tBUk1BX1BBUlRJVElPTiBpcyBub3Qgc2V0CisjIENPTkZJR19FRklfUEFSVElUSU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NZU1Y2OF9QQVJUSVRJT04gaXMgbm90IHNldAogQ09ORklHX05MUz15CiBDT05GSUdfTkxTX0RFRkFVTFQ9Imlzbzg4NTktMSIKIENPTkZJR19OTFNfQ09ERVBBR0VfNDM3PXkKICMgQ09ORklHX05MU19DT0RFUEFHRV83MzcgaXMgbm90IHNldAogIyBDT05GSUdfTkxTX0NPREVQQUdFXzc3NSBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfQ09ERVBBR0VfODUwIGlzIG5vdCBzZXQKK0NPTkZJR19OTFNfQ09ERVBBR0VfODUwPXkKICMgQ09ORklHX05MU19DT0RFUEFHRV84NTIgaXMgbm90IHNldAogIyBDT05GSUdfTkxTX0NPREVQQUdFXzg1NSBpcyBub3Qgc2V0CiAjIENPTkZJR19OTFNfQ09ERVBBR0VfODU3IGlzIG5vdCBzZXQKQEAgLTEyODgsNyArMTI3Niw3IEBACiAjIENPTkZJR19OTFNfQ09ERVBBR0VfMTI1MSBpcyBub3Qgc2V0CiAjIENPTkZJR19OTFNfQVNDSUkgaXMgbm90IHNldAogQ09ORklHX05MU19JU084ODU5XzE9eQotIyBDT05GSUdfTkxTX0lTTzg4NTlfMiBpcyBub3Qgc2V0CitDT05GSUdfTkxTX0lTTzg4NTlfMj15CiAjIENPTkZJR19OTFNfSVNPODg1OV8zIGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19JU084ODU5XzQgaXMgbm90IHNldAogIyBDT05GSUdfTkxTX0lTTzg4NTlfNSBpcyBub3Qgc2V0CkBAIC0xMzAxLDUyICsxMjg5LDU1IEBACiAjIENPTkZJR19OTFNfS09JOF9SIGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19LT0k4X1UgaXMgbm90IHNldAogIyBDT05GSUdfTkxTX1VURjggaXMgbm90IHNldAotCi0jCi0jIERpc3RyaWJ1dGVkIExvY2sgTWFuYWdlcgotIwogIyBDT05GSUdfRExNIGlzIG5vdCBzZXQKIAogIwotIyBQcm9maWxpbmcgc3VwcG9ydAotIwotIyBDT05GSUdfUFJPRklMSU5HIGlzIG5vdCBzZXQKLQotIwogIyBLZXJuZWwgaGFja2luZwogIwogIyBDT05GSUdfUFJJTlRLX1RJTUUgaXMgbm90IHNldAorQ09ORklHX0VOQUJMRV9XQVJOX0RFUFJFQ0FURUQ9eQogQ09ORklHX0VOQUJMRV9NVVNUX0NIRUNLPXkKK0NPTkZJR19GUkFNRV9XQVJOPTEwMjQKIENPTkZJR19NQUdJQ19TWVNSUT15CiAjIENPTkZJR19VTlVTRURfU1lNQk9MUyBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19IRUFERVJTX0NIRUNLIGlzIG5vdCBzZXQKIENPTkZJR19ERUJVR19LRVJORUw9eQogIyBDT05GSUdfREVCVUdfU0hJUlEgaXMgbm90IHNldAotIyBDT05GSUdfREVURUNUX1NPRlRMT0NLVVAgaXMgbm90IHNldAorQ09ORklHX0RFVEVDVF9TT0ZUTE9DS1VQPXkKIENPTkZJR19TQ0hFRF9ERUJVRz15Ci0jIENPTkZJR19TQ0hFRFNUQVRTIGlzIG5vdCBzZXQKK0NPTkZJR19TQ0hFRFNUQVRTPXkKICMgQ09ORklHX1RJTUVSX1NUQVRTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0RFQlVHX1NMQUIgaXMgbm90IHNldAorIyBDT05GSUdfREVCVUdfT0JKRUNUUyBpcyBub3Qgc2V0CitDT05GSUdfREVCVUdfUFJFRU1QVD15CiAjIENPTkZJR19ERUJVR19SVF9NVVRFWEVTIGlzIG5vdCBzZXQKICMgQ09ORklHX1JUX01VVEVYX1RFU1RFUiBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19TUElOTE9DSyBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19NVVRFWEVTIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX0xPQ0tfQUxMT0MgaXMgbm90IHNldAogIyBDT05GSUdfUFJPVkVfTE9DS0lORyBpcyBub3Qgc2V0CisjIENPTkZJR19MT0NLX1NUQVQgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfU1BJTkxPQ0tfU0xFRVAgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfTE9DS0lOR19BUElfU0VMRlRFU1RTIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX0tPQkpFQ1QgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfQlVHVkVSQk9TRSBpcyBub3Qgc2V0CiBDT05GSUdfREVCVUdfSU5GTz15CiAjIENPTkZJR19ERUJVR19WTSBpcyBub3Qgc2V0CisjIENPTkZJR19ERUJVR19XUklURUNPVU5UIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX0xJU1QgaXMgbm90IHNldAorIyBDT05GSUdfREVCVUdfU0cgaXMgbm90IHNldAogQ09ORklHX0ZSQU1FX1BPSU5URVI9eQotQ09ORklHX0ZPUkNFRF9JTkxJTklORz15CisjIENPTkZJR19CT09UX1BSSU5US19ERUxBWSBpcyBub3Qgc2V0CiAjIENPTkZJR19SQ1VfVE9SVFVSRV9URVNUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0tQUk9CRVNfU0FOSVRZX1RFU1QgaXMgbm90IHNldAorIyBDT05GSUdfQkFDS1RSQUNFX1NFTEZfVEVTVCBpcyBub3Qgc2V0CisjIENPTkZJR19MS0RUTSBpcyBub3Qgc2V0CiAjIENPTkZJR19GQVVMVF9JTkpFQ1RJT04gaXMgbm90IHNldAorIyBDT05GSUdfTEFURU5DWVRPUCBpcyBub3Qgc2V0CisjIENPTkZJR19TQU1QTEVTIGlzIG5vdCBzZXQKIENPTkZJR19ERUJVR19VU0VSPXkKIENPTkZJR19ERUJVR19FUlJPUlM9eQorIyBDT05GSUdfREVCVUdfU1RBQ0tfVVNBR0UgaXMgbm90IHNldAogQ09ORklHX0RFQlVHX0xMPXkKICMgQ09ORklHX0RFQlVHX0lDRURDQyBpcyBub3Qgc2V0CiAKQEAgLTEzNTUsNTUgKzEzNDYsOTkgQEAKICMKICMgQ09ORklHX0tFWVMgaXMgbm90IHNldAogIyBDT05GSUdfU0VDVVJJVFkgaXMgbm90IHNldAorIyBDT05GSUdfU0VDVVJJVFlfRklMRV9DQVBBQklMSVRJRVMgaXMgbm90IHNldAogQ09ORklHX0NSWVBUTz15CisKKyMKKyMgQ3J5cHRvIGNvcmUgb3IgaGVscGVyCisjCiBDT05GSUdfQ1JZUFRPX0FMR0FQST1tCiBDT05GSUdfQ1JZUFRPX0JMS0NJUEhFUj1tCiBDT05GSUdfQ1JZUFRPX01BTkFHRVI9bQorIyBDT05GSUdfQ1JZUFRPX0dGMTI4TVVMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19OVUxMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19DUllQVEQgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0FVVEhFTkMgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1RFU1QgaXMgbm90IHNldAorCisjCisjIEF1dGhlbnRpY2F0ZWQgRW5jcnlwdGlvbiB3aXRoIEFzc29jaWF0ZWQgRGF0YQorIworIyBDT05GSUdfQ1JZUFRPX0NDTSBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fR0NNIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19TRVFJViBpcyBub3Qgc2V0CisKKyMKKyMgQmxvY2sgbW9kZXMKKyMKK0NPTkZJR19DUllQVE9fQ0JDPW0KKyMgQ09ORklHX0NSWVBUT19DVFIgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0NUUyBpcyBub3Qgc2V0CitDT05GSUdfQ1JZUFRPX0VDQj1tCisjIENPTkZJR19DUllQVE9fTFJXIGlzIG5vdCBzZXQKK0NPTkZJR19DUllQVE9fUENCQz1tCisjIENPTkZJR19DUllQVE9fWFRTIGlzIG5vdCBzZXQKKworIworIyBIYXNoIG1vZGVzCisjCiAjIENPTkZJR19DUllQVE9fSE1BQyBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fWENCQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fTlVMTCBpcyBub3Qgc2V0CisKKyMKKyMgRGlnZXN0CisjCisjIENPTkZJR19DUllQVE9fQ1JDMzJDIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19NRDQgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX01ENSBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fTUlDSEFFTF9NSUMgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX1NIQTEgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX1NIQTI1NiBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fU0hBNTEyIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19XUDUxMiBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fVEdSMTkyIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19HRjEyOE1VTCBpcyBub3Qgc2V0Ci1DT05GSUdfQ1JZUFRPX0VDQj1tCi1DT05GSUdfQ1JZUFRPX0NCQz1tCi1DT05GSUdfQ1JZUFRPX1BDQkM9bQotIyBDT05GSUdfQ1JZUFRPX0xSVyBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fQ1JZUFREIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19ERVMgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX0ZDUllQVCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fV1A1MTIgaXMgbm90IHNldAorCisjCisjIENpcGhlcnMKKyMKKyMgQ09ORklHX0NSWVBUT19BRVMgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0FOVUJJUyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQVJDNCBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fQkxPV0ZJU0ggaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX1RXT0ZJU0ggaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX1NFUlBFTlQgaXMgbm90IHNldAotQ09ORklHX0NSWVBUT19BRVM9bQorIyBDT05GSUdfQ1JZUFRPX0NBTUVMTElBIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19DQVNUNSBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fQ0FTVDYgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX1RFQSBpcyBub3Qgc2V0Ci1DT05GSUdfQ1JZUFRPX0FSQzQ9bQorIyBDT05GSUdfQ1JZUFRPX0RFUyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fRkNSWVBUIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19LSEFaQUQgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX0FOVUJJUyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fU0FMU0EyMCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fU0VFRCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fU0VSUEVOVCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fVEVBIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19UV09GSVNIIGlzIG5vdCBzZXQKKworIworIyBDb21wcmVzc2lvbgorIwogIyBDT05GSUdfQ1JZUFRPX0RFRkxBVEUgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX01JQ0hBRUxfTUlDIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19DUkMzMkMgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX0NBTUVMTElBIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19URVNUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19MWk8gaXMgbm90IHNldAogQ09ORklHX0NSWVBUT19IVz15CisjIENPTkZJR19DUllQVE9fREVWX0hJRk5fNzk1WCBpcyBub3Qgc2V0CiAKICMKICMgTGlicmFyeSByb3V0aW5lcwogIwogQ09ORklHX0JJVFJFVkVSU0U9eQorIyBDT05GSUdfR0VORVJJQ19GSU5EX0ZJUlNUX0JJVCBpcyBub3Qgc2V0CisjIENPTkZJR19HRU5FUklDX0ZJTkRfTkVYVF9CSVQgaXMgbm90IHNldAogIyBDT05GSUdfQ1JDX0NDSVRUIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSQzE2IGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSQ19JVFVfVCBpcyBub3Qgc2V0CitDT05GSUdfQ1JDX0lUVV9UPW0KIENPTkZJR19DUkMzMj15CiAjIENPTkZJR19DUkM3IGlzIG5vdCBzZXQKICMgQ09ORklHX0xJQkNSQzMyQyBpcyBub3Qgc2V0CitDT05GSUdfWkxJQl9JTkZMQVRFPXkKK0NPTkZJR19aTElCX0RFRkxBVEU9eQogQ09ORklHX1BMSVNUPXkKIENPTkZJR19IQVNfSU9NRU09eQogQ09ORklHX0hBU19JT1BPUlQ9eQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vY29uZmlncy9teDMxYWRzX2RlZmNvbmZpZyBiL2FyY2gvYXJtL2NvbmZpZ3MvbXgzMWFkc19kZWZjb25maWcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTA1MjcxNwotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL2NvbmZpZ3MvbXgzMWFkc19kZWZjb25maWcKQEAgLTAsMCArMSw4MzkgQEAKKyMKKyMgQXV0b21hdGljYWxseSBnZW5lcmF0ZWQgbWFrZSBjb25maWc6IGRvbid0IGVkaXQKKyMgTGludXgga2VybmVsIHZlcnNpb246IDIuNi4yNi1yYzYKKyMgRnJpIEp1biAyMCAxNjoyMToxMSAyMDA4CisjCitDT05GSUdfQVJNPXkKK0NPTkZJR19TWVNfU1VQUE9SVFNfQVBNX0VNVUxBVElPTj15CitDT05GSUdfR0VORVJJQ19HUElPPXkKK0NPTkZJR19HRU5FUklDX1RJTUU9eQorQ09ORklHX0dFTkVSSUNfQ0xPQ0tFVkVOVFM9eQorQ09ORklHX01NVT15CisjIENPTkZJR19OT19JT1BPUlQgaXMgbm90IHNldAorQ09ORklHX0dFTkVSSUNfSEFSRElSUVM9eQorQ09ORklHX1NUQUNLVFJBQ0VfU1VQUE9SVD15CitDT05GSUdfTE9DS0RFUF9TVVBQT1JUPXkKK0NPTkZJR19UUkFDRV9JUlFGTEFHU19TVVBQT1JUPXkKK0NPTkZJR19IQVJESVJRU19TV19SRVNFTkQ9eQorQ09ORklHX0dFTkVSSUNfSVJRX1BST0JFPXkKK0NPTkZJR19SV1NFTV9HRU5FUklDX1NQSU5MT0NLPXkKKyMgQ09ORklHX0FSQ0hfSEFTX0lMT0cyX1UzMiBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0hBU19JTE9HMl9VNjQgaXMgbm90IHNldAorQ09ORklHX0dFTkVSSUNfSFdFSUdIVD15CitDT05GSUdfR0VORVJJQ19DQUxJQlJBVEVfREVMQVk9eQorQ09ORklHX0FSQ0hfU1VQUE9SVFNfQU9VVD15CitDT05GSUdfWk9ORV9ETUE9eQorQ09ORklHX0FSQ0hfTVREX1hJUD15CitDT05GSUdfVkVDVE9SU19CQVNFPTB4ZmZmZjAwMDAKK0NPTkZJR19ERUZDT05GSUdfTElTVD0iL2xpYi9tb2R1bGVzLyRVTkFNRV9SRUxFQVNFLy5jb25maWciCisKKyMKKyMgR2VuZXJhbCBzZXR1cAorIworQ09ORklHX0VYUEVSSU1FTlRBTD15CitDT05GSUdfQlJPS0VOX09OX1NNUD15CitDT05GSUdfTE9DS19LRVJORUw9eQorQ09ORklHX0lOSVRfRU5WX0FSR19MSU1JVD0zMgorQ09ORklHX0xPQ0FMVkVSU0lPTj0iIgorQ09ORklHX0xPQ0FMVkVSU0lPTl9BVVRPPXkKK0NPTkZJR19TV0FQPXkKK0NPTkZJR19TWVNWSVBDPXkKK0NPTkZJR19TWVNWSVBDX1NZU0NUTD15CisjIENPTkZJR19QT1NJWF9NUVVFVUUgaXMgbm90IHNldAorIyBDT05GSUdfQlNEX1BST0NFU1NfQUNDVCBpcyBub3Qgc2V0CisjIENPTkZJR19UQVNLU1RBVFMgaXMgbm90IHNldAorIyBDT05GSUdfQVVESVQgaXMgbm90IHNldAorQ09ORklHX0lLQ09ORklHPXkKK0NPTkZJR19JS0NPTkZJR19QUk9DPXkKK0NPTkZJR19MT0dfQlVGX1NISUZUPTE0CisjIENPTkZJR19DR1JPVVBTIGlzIG5vdCBzZXQKK0NPTkZJR19HUk9VUF9TQ0hFRD15CitDT05GSUdfRkFJUl9HUk9VUF9TQ0hFRD15CisjIENPTkZJR19SVF9HUk9VUF9TQ0hFRCBpcyBub3Qgc2V0CitDT05GSUdfVVNFUl9TQ0hFRD15CisjIENPTkZJR19DR1JPVVBfU0NIRUQgaXMgbm90IHNldAorQ09ORklHX1NZU0ZTX0RFUFJFQ0FURUQ9eQorQ09ORklHX1NZU0ZTX0RFUFJFQ0FURURfVjI9eQorIyBDT05GSUdfUkVMQVkgaXMgbm90IHNldAorIyBDT05GSUdfTkFNRVNQQUNFUyBpcyBub3Qgc2V0CisjIENPTkZJR19CTEtfREVWX0lOSVRSRCBpcyBub3Qgc2V0CitDT05GSUdfQ0NfT1BUSU1JWkVfRk9SX1NJWkU9eQorQ09ORklHX1NZU0NUTD15CitDT05GSUdfRU1CRURERUQ9eQorQ09ORklHX1VJRDE2PXkKK0NPTkZJR19TWVNDVExfU1lTQ0FMTD15CitDT05GSUdfU1lTQ1RMX1NZU0NBTExfQ0hFQ0s9eQorQ09ORklHX0tBTExTWU1TPXkKKyMgQ09ORklHX0tBTExTWU1TX0VYVFJBX1BBU1MgaXMgbm90IHNldAorQ09ORklHX0hPVFBMVUc9eQorQ09ORklHX1BSSU5USz15CitDT05GSUdfQlVHPXkKK0NPTkZJR19FTEZfQ09SRT15CitDT05GSUdfQ09NUEFUX0JSSz15CitDT05GSUdfQkFTRV9GVUxMPXkKK0NPTkZJR19GVVRFWD15CitDT05GSUdfQU5PTl9JTk9ERVM9eQorQ09ORklHX0VQT0xMPXkKK0NPTkZJR19TSUdOQUxGRD15CitDT05GSUdfVElNRVJGRD15CitDT05GSUdfRVZFTlRGRD15CitDT05GSUdfU0hNRU09eQorQ09ORklHX1ZNX0VWRU5UX0NPVU5URVJTPXkKK0NPTkZJR19TTEFCPXkKKyMgQ09ORklHX1NMVUIgaXMgbm90IHNldAorIyBDT05GSUdfU0xPQiBpcyBub3Qgc2V0CisjIENPTkZJR19QUk9GSUxJTkcgaXMgbm90IHNldAorIyBDT05GSUdfTUFSS0VSUyBpcyBub3Qgc2V0CitDT05GSUdfSEFWRV9PUFJPRklMRT15CisjIENPTkZJR19LUFJPQkVTIGlzIG5vdCBzZXQKK0NPTkZJR19IQVZFX0tQUk9CRVM9eQorQ09ORklHX0hBVkVfS1JFVFBST0JFUz15CisjIENPTkZJR19IQVZFX0RNQV9BVFRSUyBpcyBub3Qgc2V0CitDT05GSUdfUFJPQ19QQUdFX01PTklUT1I9eQorQ09ORklHX1NMQUJJTkZPPXkKK0NPTkZJR19SVF9NVVRFWEVTPXkKKyMgQ09ORklHX1RJTllfU0hNRU0gaXMgbm90IHNldAorQ09ORklHX0JBU0VfU01BTEw9MAorQ09ORklHX01PRFVMRVM9eQorIyBDT05GSUdfTU9EVUxFX0ZPUkNFX0xPQUQgaXMgbm90IHNldAorQ09ORklHX01PRFVMRV9VTkxPQUQ9eQorQ09ORklHX01PRFVMRV9GT1JDRV9VTkxPQUQ9eQorQ09ORklHX01PRFZFUlNJT05TPXkKKyMgQ09ORklHX01PRFVMRV9TUkNWRVJTSU9OX0FMTCBpcyBub3Qgc2V0CitDT05GSUdfS01PRD15CitDT05GSUdfQkxPQ0s9eQorIyBDT05GSUdfTEJEIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JMS19ERVZfSU9fVFJBQ0UgaXMgbm90IHNldAorIyBDT05GSUdfTFNGIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JMS19ERVZfQlNHIGlzIG5vdCBzZXQKKworIworIyBJTyBTY2hlZHVsZXJzCisjCitDT05GSUdfSU9TQ0hFRF9OT09QPXkKK0NPTkZJR19JT1NDSEVEX0FTPXkKK0NPTkZJR19JT1NDSEVEX0RFQURMSU5FPXkKK0NPTkZJR19JT1NDSEVEX0NGUT15CisjIENPTkZJR19ERUZBVUxUX0FTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFRkFVTFRfREVBRExJTkUgaXMgbm90IHNldAorQ09ORklHX0RFRkFVTFRfQ0ZRPXkKKyMgQ09ORklHX0RFRkFVTFRfTk9PUCBpcyBub3Qgc2V0CitDT05GSUdfREVGQVVMVF9JT1NDSEVEPSJjZnEiCitDT05GSUdfQ0xBU1NJQ19SQ1U9eQorCisjCisjIFN5c3RlbSBUeXBlCisjCisjIENPTkZJR19BUkNIX0FBRUMyMDAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfSU5URUdSQVRPUiBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX1JFQUxWSUVXIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfVkVSU0FUSUxFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfQVQ5MSBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0NMUFM3NTAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfQ0xQUzcxMVggaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9DTzI4NSBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0VCU0ExMTAgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9FUDkzWFggaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9GT09UQlJJREdFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfTkVUWCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0g3MjBYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfSU1YIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfSU9QMTNYWCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0lPUDMyWCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0lPUDMzWCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0lYUDIzWFggaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9JWFAyMDAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfSVhQNFhYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfTDcyMDAgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9LUzg2OTUgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9OUzlYWFggaXMgbm90IHNldAorQ09ORklHX0FSQ0hfTVhDPXkKKyMgQ09ORklHX0FSQ0hfT1JJT041WCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX1BOWDQwMDggaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9QWEEgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9SUEMgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9TQTExMDAgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9TM0MyNDEwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfU0hBUksgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9MSDdBNDBYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfREFWSU5DSSBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX09NQVAgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9NU003WDAwQSBpcyBub3Qgc2V0CisKKyMKKyMgQm9vdCBvcHRpb25zCisjCisKKyMKKyMgUG93ZXIgbWFuYWdlbWVudAorIworCisjCisjIEZyZWVzY2FsZSBNWEMgSW1wbGVtZW50YXRpb25zCisjCisjIENPTkZJR19BUkNIX01YMiBpcyBub3Qgc2V0CitDT05GSUdfQVJDSF9NWDM9eQorCisjCisjIE1YMyBPcHRpb25zCisjCitDT05GSUdfTUFDSF9NWDMxQURTPXkKKyMgQ09ORklHX01BQ0hfUENNMDM3IGlzIG5vdCBzZXQKKworIworIyBQcm9jZXNzb3IgVHlwZQorIworQ09ORklHX0NQVV8zMj15CitDT05GSUdfQ1BVX1Y2PXkKKyMgQ09ORklHX0NQVV8zMnY2SyBpcyBub3Qgc2V0CitDT05GSUdfQ1BVXzMydjY9eQorQ09ORklHX0NQVV9BQlJUX0VWNj15CitDT05GSUdfQ1BVX1BBQlJUX05PSUZBUj15CitDT05GSUdfQ1BVX0NBQ0hFX1Y2PXkKK0NPTkZJR19DUFVfQ0FDSEVfVklQVD15CitDT05GSUdfQ1BVX0NPUFlfVjY9eQorQ09ORklHX0NQVV9UTEJfVjY9eQorQ09ORklHX0NQVV9IQVNfQVNJRD15CitDT05GSUdfQ1BVX0NQMTU9eQorQ09ORklHX0NQVV9DUDE1X01NVT15CisKKyMKKyMgUHJvY2Vzc29yIEZlYXR1cmVzCisjCitDT05GSUdfQVJNX1RIVU1CPXkKKyMgQ09ORklHX0NQVV9JQ0FDSEVfRElTQUJMRSBpcyBub3Qgc2V0CisjIENPTkZJR19DUFVfRENBQ0hFX0RJU0FCTEUgaXMgbm90IHNldAorIyBDT05GSUdfQ1BVX0JQUkVESUNUX0RJU0FCTEUgaXMgbm90IHNldAorIyBDT05GSUdfT1VURVJfQ0FDSEUgaXMgbm90IHNldAorCisjCisjIEJ1cyBzdXBwb3J0CisjCisjIENPTkZJR19QQ0lfU1lTQ0FMTCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX1NVUFBPUlRTX01TSSBpcyBub3Qgc2V0CisjIENPTkZJR19QQ0NBUkQgaXMgbm90IHNldAorCisjCisjIEtlcm5lbCBGZWF0dXJlcworIworQ09ORklHX1RJQ0tfT05FU0hPVD15CitDT05GSUdfTk9fSFo9eQorQ09ORklHX0hJR0hfUkVTX1RJTUVSUz15CitDT05GSUdfR0VORVJJQ19DTE9DS0VWRU5UU19CVUlMRD15CitDT05GSUdfUFJFRU1QVD15CitDT05GSUdfSFo9MTAwCitDT05GSUdfQUVBQkk9eQorIyBDT05GSUdfT0FCSV9DT01QQVQgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9ESVNDT05USUdNRU1fRU5BQkxFIGlzIG5vdCBzZXQKK0NPTkZJR19TRUxFQ1RfTUVNT1JZX01PREVMPXkKK0NPTkZJR19GTEFUTUVNX01BTlVBTD15CisjIENPTkZJR19ESVNDT05USUdNRU1fTUFOVUFMIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NQQVJTRU1FTV9NQU5VQUwgaXMgbm90IHNldAorQ09ORklHX0ZMQVRNRU09eQorQ09ORklHX0ZMQVRfTk9ERV9NRU1fTUFQPXkKKyMgQ09ORklHX1NQQVJTRU1FTV9TVEFUSUMgaXMgbm90IHNldAorIyBDT05GSUdfU1BBUlNFTUVNX1ZNRU1NQVBfRU5BQkxFIGlzIG5vdCBzZXQKK0NPTkZJR19QQUdFRkxBR1NfRVhURU5ERUQ9eQorQ09ORklHX1NQTElUX1BUTE9DS19DUFVTPTQKKyMgQ09ORklHX1JFU09VUkNFU182NEJJVCBpcyBub3Qgc2V0CitDT05GSUdfWk9ORV9ETUFfRkxBRz0xCitDT05GSUdfQk9VTkNFPXkKK0NPTkZJR19WSVJUX1RPX0JVUz15CitDT05GSUdfQUxJR05NRU5UX1RSQVA9eQorCisjCisjIEJvb3Qgb3B0aW9ucworIworQ09ORklHX1pCT09UX1JPTV9URVhUPTB4MAorQ09ORklHX1pCT09UX1JPTV9CU1M9MHgwCitDT05GSUdfQ01ETElORT0ibm9pbml0cmQgY29uc29sZT10dHlteGMwLDExNTIwMCByb290PS9kZXYvbXRkYmxvY2syIHJ3IGlwPW9mZiIKKyMgQ09ORklHX1hJUF9LRVJORUwgaXMgbm90IHNldAorIyBDT05GSUdfS0VYRUMgaXMgbm90IHNldAorCisjCisjIEZsb2F0aW5nIHBvaW50IGVtdWxhdGlvbgorIworCisjCisjIEF0IGxlYXN0IG9uZSBlbXVsYXRpb24gbXVzdCBiZSBzZWxlY3RlZAorIworQ09ORklHX1ZGUD15CisKKyMKKyMgVXNlcnNwYWNlIGJpbmFyeSBmb3JtYXRzCisjCitDT05GSUdfQklORk1UX0VMRj15CisjIENPTkZJR19CSU5GTVRfQU9VVCBpcyBub3Qgc2V0CisjIENPTkZJR19CSU5GTVRfTUlTQyBpcyBub3Qgc2V0CisKKyMKKyMgUG93ZXIgbWFuYWdlbWVudCBvcHRpb25zCisjCisjIENPTkZJR19QTSBpcyBub3Qgc2V0CitDT05GSUdfQVJDSF9TVVNQRU5EX1BPU1NJQkxFPXkKKworIworIyBOZXR3b3JraW5nCisjCitDT05GSUdfTkVUPXkKKworIworIyBOZXR3b3JraW5nIG9wdGlvbnMKKyMKK0NPTkZJR19QQUNLRVQ9eQorIyBDT05GSUdfUEFDS0VUX01NQVAgaXMgbm90IHNldAorQ09ORklHX1VOSVg9eQorQ09ORklHX1hGUk09eQorIyBDT05GSUdfWEZSTV9VU0VSIGlzIG5vdCBzZXQKKyMgQ09ORklHX1hGUk1fU1VCX1BPTElDWSBpcyBub3Qgc2V0CisjIENPTkZJR19YRlJNX01JR1JBVEUgaXMgbm90IHNldAorIyBDT05GSUdfWEZSTV9TVEFUSVNUSUNTIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9LRVkgaXMgbm90IHNldAorQ09ORklHX0lORVQ9eQorIyBDT05GSUdfSVBfTVVMVElDQVNUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lQX0FEVkFOQ0VEX1JPVVRFUiBpcyBub3Qgc2V0CitDT05GSUdfSVBfRklCX0hBU0g9eQorQ09ORklHX0lQX1BOUD15CitDT05GSUdfSVBfUE5QX0RIQ1A9eQorIyBDT05GSUdfSVBfUE5QX0JPT1RQIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lQX1BOUF9SQVJQIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9JUElQIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9JUEdSRSBpcyBub3Qgc2V0CisjIENPTkZJR19BUlBEIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NZTl9DT09LSUVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lORVRfQUggaXMgbm90IHNldAorIyBDT05GSUdfSU5FVF9FU1AgaXMgbm90IHNldAorIyBDT05GSUdfSU5FVF9JUENPTVAgaXMgbm90IHNldAorIyBDT05GSUdfSU5FVF9YRlJNX1RVTk5FTCBpcyBub3Qgc2V0CisjIENPTkZJR19JTkVUX1RVTk5FTCBpcyBub3Qgc2V0CitDT05GSUdfSU5FVF9YRlJNX01PREVfVFJBTlNQT1JUPXkKK0NPTkZJR19JTkVUX1hGUk1fTU9ERV9UVU5ORUw9eQorQ09ORklHX0lORVRfWEZSTV9NT0RFX0JFRVQ9eQorIyBDT05GSUdfSU5FVF9MUk8gaXMgbm90IHNldAorQ09ORklHX0lORVRfRElBRz15CitDT05GSUdfSU5FVF9UQ1BfRElBRz15CisjIENPTkZJR19UQ1BfQ09OR19BRFZBTkNFRCBpcyBub3Qgc2V0CitDT05GSUdfVENQX0NPTkdfQ1VCSUM9eQorQ09ORklHX0RFRkFVTFRfVENQX0NPTkc9ImN1YmljIgorIyBDT05GSUdfVENQX01ENVNJRyBpcyBub3Qgc2V0CisjIENPTkZJR19JUFY2IGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVFdPUktfU0VDTUFSSyBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRGSUxURVIgaXMgbm90IHNldAorIyBDT05GSUdfSVBfRENDUCBpcyBub3Qgc2V0CisjIENPTkZJR19JUF9TQ1RQIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RJUEMgaXMgbm90IHNldAorIyBDT05GSUdfQVRNIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JSSURHRSBpcyBub3Qgc2V0CisjIENPTkZJR19WTEFOXzgwMjFRIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFQ05FVCBpcyBub3Qgc2V0CisjIENPTkZJR19MTEMyIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lQWCBpcyBub3Qgc2V0CisjIENPTkZJR19BVEFMSyBpcyBub3Qgc2V0CisjIENPTkZJR19YMjUgaXMgbm90IHNldAorIyBDT05GSUdfTEFQQiBpcyBub3Qgc2V0CisjIENPTkZJR19FQ09ORVQgaXMgbm90IHNldAorIyBDT05GSUdfV0FOX1JPVVRFUiBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfU0NIRUQgaXMgbm90IHNldAorCisjCisjIE5ldHdvcmsgdGVzdGluZworIworIyBDT05GSUdfTkVUX1BLVEdFTiBpcyBub3Qgc2V0CisjIENPTkZJR19IQU1SQURJTyBpcyBub3Qgc2V0CisjIENPTkZJR19DQU4gaXMgbm90IHNldAorIyBDT05GSUdfSVJEQSBpcyBub3Qgc2V0CisjIENPTkZJR19CVCBpcyBub3Qgc2V0CisjIENPTkZJR19BRl9SWFJQQyBpcyBub3Qgc2V0CisKKyMKKyMgV2lyZWxlc3MKKyMKKyMgQ09ORklHX0NGRzgwMjExIGlzIG5vdCBzZXQKKyMgQ09ORklHX1dJUkVMRVNTX0VYVCBpcyBub3Qgc2V0CisjIENPTkZJR19NQUM4MDIxMSBpcyBub3Qgc2V0CisjIENPTkZJR19JRUVFODAyMTEgaXMgbm90IHNldAorIyBDT05GSUdfUkZLSUxMIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF85UCBpcyBub3Qgc2V0CisKKyMKKyMgRGV2aWNlIERyaXZlcnMKKyMKKworIworIyBHZW5lcmljIERyaXZlciBPcHRpb25zCisjCitDT05GSUdfVUVWRU5UX0hFTFBFUl9QQVRIPSIvc2Jpbi9ob3RwbHVnIgorQ09ORklHX1NUQU5EQUxPTkU9eQorQ09ORklHX1BSRVZFTlRfRklSTVdBUkVfQlVJTEQ9eQorQ09ORklHX0ZXX0xPQURFUj1tCisjIENPTkZJR19TWVNfSFlQRVJWSVNPUiBpcyBub3Qgc2V0CisjIENPTkZJR19DT05ORUNUT1IgaXMgbm90IHNldAorQ09ORklHX01URD15CisjIENPTkZJR19NVERfREVCVUcgaXMgbm90IHNldAorIyBDT05GSUdfTVREX0NPTkNBVCBpcyBub3Qgc2V0CitDT05GSUdfTVREX1BBUlRJVElPTlM9eQorQ09ORklHX01URF9SRURCT09UX1BBUlRTPXkKK0NPTkZJR19NVERfUkVEQk9PVF9ESVJFQ1RPUllfQkxPQ0s9LTEKKyMgQ09ORklHX01URF9SRURCT09UX1BBUlRTX1VOQUxMT0NBVEVEIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9SRURCT09UX1BBUlRTX1JFQURPTkxZIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfQ01ETElORV9QQVJUUz15CisjIENPTkZJR19NVERfQUZTX1BBUlRTIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9BUjdfUEFSVFMgaXMgbm90IHNldAorCisjCisjIFVzZXIgTW9kdWxlcyBBbmQgVHJhbnNsYXRpb24gTGF5ZXJzCisjCitDT05GSUdfTVREX0NIQVI9eQorQ09ORklHX01URF9CTEtERVZTPXkKK0NPTkZJR19NVERfQkxPQ0s9eQorIyBDT05GSUdfRlRMIGlzIG5vdCBzZXQKKyMgQ09ORklHX05GVEwgaXMgbm90IHNldAorIyBDT05GSUdfSU5GVEwgaXMgbm90IHNldAorIyBDT05GSUdfUkZEX0ZUTCBpcyBub3Qgc2V0CisjIENPTkZJR19TU0ZEQyBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfT09QUyBpcyBub3Qgc2V0CisKKyMKKyMgUkFNL1JPTS9GbGFzaCBjaGlwIGRyaXZlcnMKKyMKK0NPTkZJR19NVERfQ0ZJPXkKKyMgQ09ORklHX01URF9KRURFQ1BST0JFIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfR0VOX1BST0JFPXkKK0NPTkZJR19NVERfQ0ZJX0FEVl9PUFRJT05TPXkKK0NPTkZJR19NVERfQ0ZJX05PU1dBUD15CisjIENPTkZJR19NVERfQ0ZJX0JFX0JZVEVfU1dBUCBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfQ0ZJX0xFX0JZVEVfU1dBUCBpcyBub3Qgc2V0CitDT05GSUdfTVREX0NGSV9HRU9NRVRSWT15CisjIENPTkZJR19NVERfTUFQX0JBTktfV0lEVEhfMSBpcyBub3Qgc2V0CitDT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzI9eQorIyBDT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzQgaXMgbm90IHNldAorIyBDT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzggaXMgbm90IHNldAorIyBDT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzE2IGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9NQVBfQkFOS19XSURUSF8zMiBpcyBub3Qgc2V0CitDT05GSUdfTVREX0NGSV9JMT15CisjIENPTkZJR19NVERfQ0ZJX0kyIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9DRklfSTQgaXMgbm90IHNldAorIyBDT05GSUdfTVREX0NGSV9JOCBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfT1RQIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9DRklfSU5URUxFWFQgaXMgbm90IHNldAorQ09ORklHX01URF9DRklfQU1EU1REPXkKKyMgQ09ORklHX01URF9DRklfU1RBQSBpcyBub3Qgc2V0CitDT05GSUdfTVREX0NGSV9VVElMPXkKK0NPTkZJR19NVERfUkFNPXkKKyMgQ09ORklHX01URF9ST00gaXMgbm90IHNldAorIyBDT05GSUdfTVREX0FCU0VOVCBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfWElQIGlzIG5vdCBzZXQKKworIworIyBNYXBwaW5nIGRyaXZlcnMgZm9yIGNoaXAgYWNjZXNzCisjCisjIENPTkZJR19NVERfQ09NUExFWF9NQVBQSU5HUyBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfUEhZU01BUCBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfQVJNX0lOVEVHUkFUT1IgaXMgbm90IHNldAorIyBDT05GSUdfTVREX1BMQVRSQU0gaXMgbm90IHNldAorCisjCisjIFNlbGYtY29udGFpbmVkIE1URCBkZXZpY2UgZHJpdmVycworIworIyBDT05GSUdfTVREX1NMUkFNIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9QSFJBTSBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfTVREUkFNIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9CTE9DSzJNVEQgaXMgbm90IHNldAorCisjCisjIERpc2stT24tQ2hpcCBEZXZpY2UgRHJpdmVycworIworIyBDT05GSUdfTVREX0RPQzIwMDAgaXMgbm90IHNldAorIyBDT05GSUdfTVREX0RPQzIwMDEgaXMgbm90IHNldAorIyBDT05GSUdfTVREX0RPQzIwMDFQTFVTIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfTkFORD15CisjIENPTkZJR19NVERfTkFORF9WRVJJRllfV1JJVEUgaXMgbm90IHNldAorIyBDT05GSUdfTVREX05BTkRfRUNDX1NNQyBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfTkFORF9NVVNFVU1fSURTIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfTkFORF9JRFM9eQorIyBDT05GSUdfTVREX05BTkRfRElTS09OQ0hJUCBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfTkFORF9OQU5EU0lNIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9OQU5EX1BMQVRGT1JNIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9PTkVOQU5EIGlzIG5vdCBzZXQKKworIworIyBVQkkgLSBVbnNvcnRlZCBibG9jayBpbWFnZXMKKyMKKyMgQ09ORklHX01URF9VQkkgaXMgbm90IHNldAorIyBDT05GSUdfUEFSUE9SVCBpcyBub3Qgc2V0CisjIENPTkZJR19CTEtfREVWIGlzIG5vdCBzZXQKKyMgQ09ORklHX01JU0NfREVWSUNFUyBpcyBub3Qgc2V0CitDT05GSUdfSEFWRV9JREU9eQorIyBDT05GSUdfSURFIGlzIG5vdCBzZXQKKworIworIyBTQ1NJIGRldmljZSBzdXBwb3J0CisjCisjIENPTkZJR19SQUlEX0FUVFJTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NDU0kgaXMgbm90IHNldAorIyBDT05GSUdfU0NTSV9ETUEgaXMgbm90IHNldAorIyBDT05GSUdfU0NTSV9ORVRMSU5LIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FUQSBpcyBub3Qgc2V0CisjIENPTkZJR19NRCBpcyBub3Qgc2V0CitDT05GSUdfTkVUREVWSUNFUz15CisjIENPTkZJR19ORVRERVZJQ0VTX01VTFRJUVVFVUUgaXMgbm90IHNldAorIyBDT05GSUdfRFVNTVkgaXMgbm90IHNldAorIyBDT05GSUdfQk9ORElORyBpcyBub3Qgc2V0CisjIENPTkZJR19NQUNWTEFOIGlzIG5vdCBzZXQKKyMgQ09ORklHX0VRVUFMSVpFUiBpcyBub3Qgc2V0CisjIENPTkZJR19UVU4gaXMgbm90IHNldAorIyBDT05GSUdfVkVUSCBpcyBub3Qgc2V0CisjIENPTkZJR19QSFlMSUIgaXMgbm90IHNldAorQ09ORklHX05FVF9FVEhFUk5FVD15CitDT05GSUdfTUlJPXkKKyMgQ09ORklHX0FYODg3OTYgaXMgbm90IHNldAorIyBDT05GSUdfU01DOTFYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RNOTAwMCBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfWk1JSSBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfUkdNSUkgaXMgbm90IHNldAorIyBDT05GSUdfSUJNX05FV19FTUFDX1RBSCBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfRU1BQzQgaXMgbm90IHNldAorIyBDT05GSUdfQjQ0IGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVERFVl8xMDAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVERFVl8xMDAwMCBpcyBub3Qgc2V0CisKKyMKKyMgV2lyZWxlc3MgTEFOCisjCisjIENPTkZJR19XTEFOX1BSRTgwMjExIGlzIG5vdCBzZXQKKyMgQ09ORklHX1dMQU5fODAyMTEgaXMgbm90IHNldAorIyBDT05GSUdfSVdMV0lGSV9MRURTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1dBTiBpcyBub3Qgc2V0CisjIENPTkZJR19QUFAgaXMgbm90IHNldAorIyBDT05GSUdfU0xJUCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRDT05TT0xFIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVFBPTEwgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX1BPTExfQ09OVFJPTExFUiBpcyBub3Qgc2V0CisjIENPTkZJR19JU0ROIGlzIG5vdCBzZXQKKworIworIyBJbnB1dCBkZXZpY2Ugc3VwcG9ydAorIworIyBDT05GSUdfSU5QVVQgaXMgbm90IHNldAorCisjCisjIEhhcmR3YXJlIEkvTyBwb3J0cworIworIyBDT05GSUdfU0VSSU8gaXMgbm90IHNldAorIyBDT05GSUdfR0FNRVBPUlQgaXMgbm90IHNldAorCisjCisjIENoYXJhY3RlciBkZXZpY2VzCisjCisjIENPTkZJR19WVCBpcyBub3Qgc2V0CitDT05GSUdfREVWS01FTT15CisjIENPTkZJR19TRVJJQUxfTk9OU1RBTkRBUkQgaXMgbm90IHNldAorCisjCisjIFNlcmlhbCBkcml2ZXJzCisjCisjIENPTkZJR19TRVJJQUxfODI1MCBpcyBub3Qgc2V0CisKKyMKKyMgTm9uLTgyNTAgc2VyaWFsIHBvcnQgc3VwcG9ydAorIworQ09ORklHX1NFUklBTF9JTVg9eQorQ09ORklHX1NFUklBTF9JTVhfQ09OU09MRT15CitDT05GSUdfU0VSSUFMX0NPUkU9eQorQ09ORklHX1NFUklBTF9DT1JFX0NPTlNPTEU9eQorQ09ORklHX1VOSVg5OF9QVFlTPXkKKyMgQ09ORklHX0xFR0FDWV9QVFlTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lQTUlfSEFORExFUiBpcyBub3Qgc2V0CisjIENPTkZJR19IV19SQU5ET00gaXMgbm90IHNldAorIyBDT05GSUdfTlZSQU0gaXMgbm90IHNldAorIyBDT05GSUdfUjM5NjQgaXMgbm90IHNldAorIyBDT05GSUdfUkFXX0RSSVZFUiBpcyBub3Qgc2V0CisjIENPTkZJR19UQ0dfVFBNIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQyBpcyBub3Qgc2V0CisjIENPTkZJR19TUEkgaXMgbm90IHNldAorQ09ORklHX0hBVkVfR1BJT19MSUI9eQorCisjCisjIEdQSU8gU3VwcG9ydAorIworCisjCisjIEkyQyBHUElPIGV4cGFuZGVyczoKKyMKKworIworIyBTUEkgR1BJTyBleHBhbmRlcnM6CisjCisjIENPTkZJR19XMSBpcyBub3Qgc2V0CisjIENPTkZJR19QT1dFUl9TVVBQTFkgaXMgbm90IHNldAorIyBDT05GSUdfSFdNT04gaXMgbm90IHNldAorIyBDT05GSUdfV0FUQ0hET0cgaXMgbm90IHNldAorCisjCisjIFNvbmljcyBTaWxpY29uIEJhY2twbGFuZQorIworQ09ORklHX1NTQl9QT1NTSUJMRT15CisjIENPTkZJR19TU0IgaXMgbm90IHNldAorCisjCisjIE11bHRpZnVuY3Rpb24gZGV2aWNlIGRyaXZlcnMKKyMKKyMgQ09ORklHX01GRF9TTTUwMSBpcyBub3Qgc2V0CisjIENPTkZJR19NRkRfQVNJQzMgaXMgbm90IHNldAorIyBDT05GSUdfSFRDX0VHUElPIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hUQ19QQVNJQzMgaXMgbm90IHNldAorCisjCisjIE11bHRpbWVkaWEgZGV2aWNlcworIworCisjCisjIE11bHRpbWVkaWEgY29yZSBzdXBwb3J0CisjCisjIENPTkZJR19WSURFT19ERVYgaXMgbm90IHNldAorIyBDT05GSUdfRFZCX0NPUkUgaXMgbm90IHNldAorIyBDT05GSUdfVklERU9fTUVESUEgaXMgbm90IHNldAorCisjCisjIE11bHRpbWVkaWEgZHJpdmVycworIworIyBDT05GSUdfREFCIGlzIG5vdCBzZXQKKworIworIyBHcmFwaGljcyBzdXBwb3J0CisjCisjIENPTkZJR19WR0FTVEFURSBpcyBub3Qgc2V0CisjIENPTkZJR19WSURFT19PVVRQVVRfQ09OVFJPTCBpcyBub3Qgc2V0CisjIENPTkZJR19GQiBpcyBub3Qgc2V0CisjIENPTkZJR19CQUNLTElHSFRfTENEX1NVUFBPUlQgaXMgbm90IHNldAorCisjCisjIERpc3BsYXkgZGV2aWNlIHN1cHBvcnQKKyMKKyMgQ09ORklHX0RJU1BMQVlfU1VQUE9SVCBpcyBub3Qgc2V0CisKKyMKKyMgU291bmQKKyMKKyMgQ09ORklHX1NPVU5EIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TVVBQT1JUIGlzIG5vdCBzZXQKKyMgQ09ORklHX01NQyBpcyBub3Qgc2V0CisjIENPTkZJR19ORVdfTEVEUyBpcyBub3Qgc2V0CitDT05GSUdfUlRDX0xJQj15CisjIENPTkZJR19SVENfQ0xBU1MgaXMgbm90IHNldAorIyBDT05GSUdfVUlPIGlzIG5vdCBzZXQKKworIworIyBGaWxlIHN5c3RlbXMKKyMKKyMgQ09ORklHX0VYVDJfRlMgaXMgbm90IHNldAorIyBDT05GSUdfRVhUM19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19FWFQ0REVWX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JFSVNFUkZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pGU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19GU19QT1NJWF9BQ0wgaXMgbm90IHNldAorIyBDT05GSUdfWEZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX09DRlMyX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ROT1RJRlkgaXMgbm90IHNldAorQ09ORklHX0lOT1RJRlk9eQorQ09ORklHX0lOT1RJRllfVVNFUj15CisjIENPTkZJR19RVU9UQSBpcyBub3Qgc2V0CisjIENPTkZJR19BVVRPRlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfQVVUT0ZTNF9GUyBpcyBub3Qgc2V0CisjIENPTkZJR19GVVNFX0ZTIGlzIG5vdCBzZXQKKworIworIyBDRC1ST00vRFZEIEZpbGVzeXN0ZW1zCisjCisjIENPTkZJR19JU085NjYwX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VERl9GUyBpcyBub3Qgc2V0CisKKyMKKyMgRE9TL0ZBVC9OVCBGaWxlc3lzdGVtcworIworIyBDT05GSUdfTVNET1NfRlMgaXMgbm90IHNldAorIyBDT05GSUdfVkZBVF9GUyBpcyBub3Qgc2V0CisjIENPTkZJR19OVEZTX0ZTIGlzIG5vdCBzZXQKKworIworIyBQc2V1ZG8gZmlsZXN5c3RlbXMKKyMKK0NPTkZJR19QUk9DX0ZTPXkKK0NPTkZJR19QUk9DX1NZU0NUTD15CitDT05GSUdfU1lTRlM9eQorQ09ORklHX1RNUEZTPXkKKyMgQ09ORklHX1RNUEZTX1BPU0lYX0FDTCBpcyBub3Qgc2V0CisjIENPTkZJR19IVUdFVExCX1BBR0UgaXMgbm90IHNldAorIyBDT05GSUdfQ09ORklHRlNfRlMgaXMgbm90IHNldAorCisjCisjIE1pc2NlbGxhbmVvdXMgZmlsZXN5c3RlbXMKKyMKKyMgQ09ORklHX0FERlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfQUZGU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19IRlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfSEZTUExVU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19CRUZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JGU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19FRlNfRlMgaXMgbm90IHNldAorQ09ORklHX0pGRlMyX0ZTPXkKK0NPTkZJR19KRkZTMl9GU19ERUJVRz0wCitDT05GSUdfSkZGUzJfRlNfV1JJVEVCVUZGRVI9eQorIyBDT05GSUdfSkZGUzJfRlNfV0JVRl9WRVJJRlkgaXMgbm90IHNldAorIyBDT05GSUdfSkZGUzJfU1VNTUFSWSBpcyBub3Qgc2V0CisjIENPTkZJR19KRkZTMl9GU19YQVRUUiBpcyBub3Qgc2V0CisjIENPTkZJR19KRkZTMl9DT01QUkVTU0lPTl9PUFRJT05TIGlzIG5vdCBzZXQKK0NPTkZJR19KRkZTMl9aTElCPXkKKyMgQ09ORklHX0pGRlMyX0xaTyBpcyBub3Qgc2V0CitDT05GSUdfSkZGUzJfUlRJTUU9eQorIyBDT05GSUdfSkZGUzJfUlVCSU4gaXMgbm90IHNldAorQ09ORklHX0NSQU1GUz15CisjIENPTkZJR19WWEZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX01JTklYX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hQRlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfUU5YNEZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JPTUZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NZU1ZfRlMgaXMgbm90IHNldAorIyBDT05GSUdfVUZTX0ZTIGlzIG5vdCBzZXQKK0NPTkZJR19ORVRXT1JLX0ZJTEVTWVNURU1TPXkKK0NPTkZJR19ORlNfRlM9eQorIyBDT05GSUdfTkZTX1YzIGlzIG5vdCBzZXQKKyMgQ09ORklHX05GU19WNCBpcyBub3Qgc2V0CisjIENPTkZJR19ORlNEIGlzIG5vdCBzZXQKK0NPTkZJR19ST09UX05GUz15CitDT05GSUdfTE9DS0Q9eQorQ09ORklHX05GU19DT01NT049eQorQ09ORklHX1NVTlJQQz15CisjIENPTkZJR19TVU5SUENfQklORDM0IGlzIG5vdCBzZXQKKyMgQ09ORklHX1JQQ1NFQ19HU1NfS1JCNSBpcyBub3Qgc2V0CisjIENPTkZJR19SUENTRUNfR1NTX1NQS00zIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NNQl9GUyBpcyBub3Qgc2V0CisjIENPTkZJR19DSUZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX05DUF9GUyBpcyBub3Qgc2V0CisjIENPTkZJR19DT0RBX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FGU19GUyBpcyBub3Qgc2V0CisKKyMKKyMgUGFydGl0aW9uIFR5cGVzCisjCisjIENPTkZJR19QQVJUSVRJT05fQURWQU5DRUQgaXMgbm90IHNldAorQ09ORklHX01TRE9TX1BBUlRJVElPTj15CisjIENPTkZJR19OTFMgaXMgbm90IHNldAorIyBDT05GSUdfRExNIGlzIG5vdCBzZXQKKworIworIyBLZXJuZWwgaGFja2luZworIworQ09ORklHX1BSSU5US19USU1FPXkKK0NPTkZJR19FTkFCTEVfV0FSTl9ERVBSRUNBVEVEPXkKK0NPTkZJR19FTkFCTEVfTVVTVF9DSEVDSz15CitDT05GSUdfRlJBTUVfV0FSTj0xMDI0CisjIENPTkZJR19NQUdJQ19TWVNSUSBpcyBub3Qgc2V0CisjIENPTkZJR19VTlVTRURfU1lNQk9MUyBpcyBub3Qgc2V0CisjIENPTkZJR19ERUJVR19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19IRUFERVJTX0NIRUNLIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFQlVHX0tFUk5FTCBpcyBub3Qgc2V0CisjIENPTkZJR19ERUJVR19CVUdWRVJCT1NFIGlzIG5vdCBzZXQKK0NPTkZJR19GUkFNRV9QT0lOVEVSPXkKKyMgQ09ORklHX1NBTVBMRVMgaXMgbm90IHNldAorIyBDT05GSUdfREVCVUdfVVNFUiBpcyBub3Qgc2V0CisKKyMKKyMgU2VjdXJpdHkgb3B0aW9ucworIworIyBDT05GSUdfS0VZUyBpcyBub3Qgc2V0CisjIENPTkZJR19TRUNVUklUWSBpcyBub3Qgc2V0CisjIENPTkZJR19TRUNVUklUWV9GSUxFX0NBUEFCSUxJVElFUyBpcyBub3Qgc2V0CitDT05GSUdfQ1JZUFRPPXkKKworIworIyBDcnlwdG8gY29yZSBvciBoZWxwZXIKKyMKKyMgQ09ORklHX0NSWVBUT19NQU5BR0VSIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19HRjEyOE1VTCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fTlVMTCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQ1JZUFREIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19BVVRIRU5DIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19URVNUIGlzIG5vdCBzZXQKKworIworIyBBdXRoZW50aWNhdGVkIEVuY3J5cHRpb24gd2l0aCBBc3NvY2lhdGVkIERhdGEKKyMKKyMgQ09ORklHX0NSWVBUT19DQ00gaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0dDTSBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fU0VRSVYgaXMgbm90IHNldAorCisjCisjIEJsb2NrIG1vZGVzCisjCisjIENPTkZJR19DUllQVE9fQ0JDIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19DVFIgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0NUUyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fRUNCIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19MUlcgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1BDQkMgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1hUUyBpcyBub3Qgc2V0CisKKyMKKyMgSGFzaCBtb2RlcworIworIyBDT05GSUdfQ1JZUFRPX0hNQUMgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1hDQkMgaXMgbm90IHNldAorCisjCisjIERpZ2VzdAorIworIyBDT05GSUdfQ1JZUFRPX0NSQzMyQyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fTUQ0IGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19NRDUgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX01JQ0hBRUxfTUlDIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19TSEExIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19TSEEyNTYgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1NIQTUxMiBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fVEdSMTkyIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19XUDUxMiBpcyBub3Qgc2V0CisKKyMKKyMgQ2lwaGVycworIworIyBDT05GSUdfQ1JZUFRPX0FFUyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQU5VQklTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19BUkM0IGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19CTE9XRklTSCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQ0FNRUxMSUEgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0NBU1Q1IGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19DQVNUNiBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fREVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19GQ1JZUFQgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0tIQVpBRCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fU0FMU0EyMCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fU0VFRCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fU0VSUEVOVCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fVEVBIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19UV09GSVNIIGlzIG5vdCBzZXQKKworIworIyBDb21wcmVzc2lvbgorIworIyBDT05GSUdfQ1JZUFRPX0RFRkxBVEUgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0xaTyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fSFcgaXMgbm90IHNldAorCisjCisjIExpYnJhcnkgcm91dGluZXMKKyMKK0NPTkZJR19CSVRSRVZFUlNFPXkKKyMgQ09ORklHX0dFTkVSSUNfRklORF9GSVJTVF9CSVQgaXMgbm90IHNldAorIyBDT05GSUdfR0VORVJJQ19GSU5EX05FWFRfQklUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSQ19DQ0lUVCBpcyBub3Qgc2V0CisjIENPTkZJR19DUkMxNiBpcyBub3Qgc2V0CisjIENPTkZJR19DUkNfSVRVX1QgaXMgbm90IHNldAorQ09ORklHX0NSQzMyPXkKKyMgQ09ORklHX0NSQzcgaXMgbm90IHNldAorIyBDT05GSUdfTElCQ1JDMzJDIGlzIG5vdCBzZXQKK0NPTkZJR19aTElCX0lORkxBVEU9eQorQ09ORklHX1pMSUJfREVGTEFURT15CitDT05GSUdfUExJU1Q9eQorQ09ORklHX0hBU19JT01FTT15CitDT05GSUdfSEFTX0lPUE9SVD15CitDT05GSUdfSEFTX0RNQT15CmRpZmYgLS1naXQgYS9hcmNoL2FybS9jb25maWdzL2VtX3gyNzBfZGVmY29uZmlnIGIvYXJjaC9hcm0vY29uZmlncy9teDMxbGl0ZWtpdF9kZWZjb25maWcKc2ltaWxhcml0eSBpbmRleCA2NCUKY29weSBmcm9tIGFyY2gvYXJtL2NvbmZpZ3MvZW1feDI3MF9kZWZjb25maWcKY29weSB0byBhcmNoL2FybS9jb25maWdzL214MzFsaXRla2l0X2RlZmNvbmZpZwppbmRleCA2YmVhMDkwLi40ZjQxYzQxIDEwMDY0NAotLS0gYS9hcmNoL2FybS9jb25maWdzL2VtX3gyNzBfZGVmY29uZmlnCisrKyBiL2FyY2gvYXJtL2NvbmZpZ3MvbXgzMWxpdGVraXRfZGVmY29uZmlnCkBAIC0xLDEyICsxLDEyIEBACiAjCiAjIEF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIG1ha2UgY29uZmlnOiBkb24ndCBlZGl0Ci0jIExpbnV4IGtlcm5lbCB2ZXJzaW9uOiAyLjYuMjIKLSMgTW9uIEp1bCAgOSAxNToxODoyMCAyMDA3CisjIExpbnV4IGtlcm5lbCB2ZXJzaW9uOiAyLjYuMjYtcmM1CisjIEZyaSBKdW4gMTMgMTQ6MjM6MzkgMjAwOAogIwogQ09ORklHX0FSTT15CiBDT05GSUdfU1lTX1NVUFBPUlRTX0FQTV9FTVVMQVRJT049eQotQ09ORklHX0dFTkVSSUNfR1BJTz15Ci1DT05GSUdfR0VORVJJQ19USU1FPXkKKyMgQ09ORklHX0dFTkVSSUNfR1BJTyBpcyBub3Qgc2V0CisjIENPTkZJR19HRU5FUklDX1RJTUUgaXMgbm90IHNldAogIyBDT05GSUdfR0VORVJJQ19DTE9DS0VWRU5UUyBpcyBub3Qgc2V0CiBDT05GSUdfTU1VPXkKICMgQ09ORklHX05PX0lPUE9SVCBpcyBub3Qgc2V0CkBAIC0yMSw0NCArMjEsNDQgQEAKICMgQ09ORklHX0FSQ0hfSEFTX0lMT0cyX1U2NCBpcyBub3Qgc2V0CiBDT05GSUdfR0VORVJJQ19IV0VJR0hUPXkKIENPTkZJR19HRU5FUklDX0NBTElCUkFURV9ERUxBWT15CitDT05GSUdfQVJDSF9TVVBQT1JUU19BT1VUPXkKIENPTkZJR19aT05FX0RNQT15CiBDT05GSUdfQVJDSF9NVERfWElQPXkKIENPTkZJR19WRUNUT1JTX0JBU0U9MHhmZmZmMDAwMAogQ09ORklHX0RFRkNPTkZJR19MSVNUPSIvbGliL21vZHVsZXMvJFVOQU1FX1JFTEVBU0UvLmNvbmZpZyIKIAogIwotIyBDb2RlIG1hdHVyaXR5IGxldmVsIG9wdGlvbnMKKyMgR2VuZXJhbCBzZXR1cAogIwogQ09ORklHX0VYUEVSSU1FTlRBTD15CiBDT05GSUdfQlJPS0VOX09OX1NNUD15CitDT05GSUdfTE9DS19LRVJORUw9eQogQ09ORklHX0lOSVRfRU5WX0FSR19MSU1JVD0zMgotCi0jCi0jIEdlbmVyYWwgc2V0dXAKLSMKLUNPTkZJR19MT0NBTFZFUlNJT049Ii1lbS14MjcwIgotIyBDT05GSUdfTE9DQUxWRVJTSU9OX0FVVE8gaXMgbm90IHNldAorQ09ORklHX0xPQ0FMVkVSU0lPTj0iIgorQ09ORklHX0xPQ0FMVkVSU0lPTl9BVVRPPXkKIENPTkZJR19TV0FQPXkKIENPTkZJR19TWVNWSVBDPXkKLSMgQ09ORklHX0lQQ19OUyBpcyBub3Qgc2V0CiBDT05GSUdfU1lTVklQQ19TWVNDVEw9eQogIyBDT05GSUdfUE9TSVhfTVFVRVVFIGlzIG5vdCBzZXQKICMgQ09ORklHX0JTRF9QUk9DRVNTX0FDQ1QgaXMgbm90IHNldAogIyBDT05GSUdfVEFTS1NUQVRTIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VUU19OUyBpcyBub3Qgc2V0CiAjIENPTkZJR19BVURJVCBpcyBub3Qgc2V0CiBDT05GSUdfSUtDT05GSUc9eQogQ09ORklHX0lLQ09ORklHX1BST0M9eQotQ09ORklHX0xPR19CVUZfU0hJRlQ9MTcKK0NPTkZJR19MT0dfQlVGX1NISUZUPTE0CisjIENPTkZJR19DR1JPVVBTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0dST1VQX1NDSEVEIGlzIG5vdCBzZXQKIENPTkZJR19TWVNGU19ERVBSRUNBVEVEPXkKK0NPTkZJR19TWVNGU19ERVBSRUNBVEVEX1YyPXkKICMgQ09ORklHX1JFTEFZIGlzIG5vdCBzZXQKLUNPTkZJR19CTEtfREVWX0lOSVRSRD15Ci1DT05GSUdfSU5JVFJBTUZTX1NPVVJDRT0iIgorIyBDT05GSUdfTkFNRVNQQUNFUyBpcyBub3Qgc2V0CisjIENPTkZJR19CTEtfREVWX0lOSVRSRCBpcyBub3Qgc2V0CiBDT05GSUdfQ0NfT1BUSU1JWkVfRk9SX1NJWkU9eQogQ09ORklHX1NZU0NUTD15CiBDT05GSUdfRU1CRURERUQ9eQogQ09ORklHX1VJRDE2PXkKIENPTkZJR19TWVNDVExfU1lTQ0FMTD15CitDT05GSUdfU1lTQ1RMX1NZU0NBTExfQ0hFQ0s9eQogQ09ORklHX0tBTExTWU1TPXkKICMgQ09ORklHX0tBTExTWU1TX0FMTCBpcyBub3Qgc2V0CiAjIENPTkZJR19LQUxMU1lNU19FWFRSQV9QQVNTIGlzIG5vdCBzZXQKQEAgLTY2LDYgKzY2LDcgQEAKIENPTkZJR19QUklOVEs9eQogQ09ORklHX0JVRz15CiBDT05GSUdfRUxGX0NPUkU9eQorQ09ORklHX0NPTVBBVF9CUks9eQogQ09ORklHX0JBU0VfRlVMTD15CiBDT05GSUdfRlVURVg9eQogQ09ORklHX0FOT05fSU5PREVTPXkKQEAgLTc4LDI3ICs3OSwzMCBAQAogQ09ORklHX1NMQUI9eQogIyBDT05GSUdfU0xVQiBpcyBub3Qgc2V0CiAjIENPTkZJR19TTE9CIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BST0ZJTElORyBpcyBub3Qgc2V0CisjIENPTkZJR19NQVJLRVJTIGlzIG5vdCBzZXQKK0NPTkZJR19IQVZFX09QUk9GSUxFPXkKKyMgQ09ORklHX0tQUk9CRVMgaXMgbm90IHNldAorQ09ORklHX0hBVkVfS1BST0JFUz15CitDT05GSUdfSEFWRV9LUkVUUFJPQkVTPXkKKyMgQ09ORklHX0hBVkVfRE1BX0FUVFJTIGlzIG5vdCBzZXQKK0NPTkZJR19QUk9DX1BBR0VfTU9OSVRPUj15CitDT05GSUdfU0xBQklORk89eQogQ09ORklHX1JUX01VVEVYRVM9eQogIyBDT05GSUdfVElOWV9TSE1FTSBpcyBub3Qgc2V0CiBDT05GSUdfQkFTRV9TTUFMTD0wCi0KLSMKLSMgTG9hZGFibGUgbW9kdWxlIHN1cHBvcnQKLSMKIENPTkZJR19NT0RVTEVTPXkKKyMgQ09ORklHX01PRFVMRV9GT1JDRV9MT0FEIGlzIG5vdCBzZXQKIENPTkZJR19NT0RVTEVfVU5MT0FEPXkKIENPTkZJR19NT0RVTEVfRk9SQ0VfVU5MT0FEPXkKLSMgQ09ORklHX01PRFZFUlNJT05TIGlzIG5vdCBzZXQKK0NPTkZJR19NT0RWRVJTSU9OUz15CiAjIENPTkZJR19NT0RVTEVfU1JDVkVSU0lPTl9BTEwgaXMgbm90IHNldAogQ09ORklHX0tNT0Q9eQotCi0jCi0jIEJsb2NrIGxheWVyCi0jCiBDT05GSUdfQkxPQ0s9eQogIyBDT05GSUdfTEJEIGlzIG5vdCBzZXQKICMgQ09ORklHX0JMS19ERVZfSU9fVFJBQ0UgaXMgbm90IHNldAogIyBDT05GSUdfTFNGIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JMS19ERVZfQlNHIGlzIG5vdCBzZXQKIAogIwogIyBJTyBTY2hlZHVsZXJzCkBAIC0xMDcsMTEgKzExMSwxMiBAQAogQ09ORklHX0lPU0NIRURfQVM9eQogQ09ORklHX0lPU0NIRURfREVBRExJTkU9eQogQ09ORklHX0lPU0NIRURfQ0ZRPXkKLUNPTkZJR19ERUZBVUxUX0FTPXkKKyMgQ09ORklHX0RFRkFVTFRfQVMgaXMgbm90IHNldAogIyBDT05GSUdfREVGQVVMVF9ERUFETElORSBpcyBub3Qgc2V0Ci0jIENPTkZJR19ERUZBVUxUX0NGUSBpcyBub3Qgc2V0CitDT05GSUdfREVGQVVMVF9DRlE9eQogIyBDT05GSUdfREVGQVVMVF9OT09QIGlzIG5vdCBzZXQKLUNPTkZJR19ERUZBVUxUX0lPU0NIRUQ9ImFudGljaXBhdG9yeSIKK0NPTkZJR19ERUZBVUxUX0lPU0NIRUQ9ImNmcSIKK0NPTkZJR19DTEFTU0lDX1JDVT15CiAKICMKICMgU3lzdGVtIFR5cGUKQEAgLTEzOSw4ICsxNDQsMTAgQEAKICMgQ09ORklHX0FSQ0hfTDcyMDAgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9LUzg2OTUgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9OUzlYWFggaXMgbm90IHNldAorQ09ORklHX0FSQ0hfTVhDPXkKKyMgQ09ORklHX0FSQ0hfT1JJT041WCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX1BOWDQwMDggaXMgbm90IHNldAotQ09ORklHX0FSQ0hfUFhBPXkKKyMgQ09ORklHX0FSQ0hfUFhBIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfUlBDIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfU0ExMTAwIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfUzNDMjQxMCBpcyBub3Qgc2V0CkBAIC0xNDgsMjggKzE1NSw0MSBAQAogIyBDT05GSUdfQVJDSF9MSDdBNDBYIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfREFWSU5DSSBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX09NQVAgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9NU003WDAwQSBpcyBub3Qgc2V0CiAKICMKLSMgSW50ZWwgUFhBMnh4IEltcGxlbWVudGF0aW9ucworIyBCb290IG9wdGlvbnMKICMKLSMgQ09ORklHX0FSQ0hfTFVCQk9DSyBpcyBub3Qgc2V0Ci0jIENPTkZJR19NQUNIX0xPR0lDUERfUFhBMjcwIGlzIG5vdCBzZXQKLSMgQ09ORklHX01BQ0hfTUFJTlNUT05FIGlzIG5vdCBzZXQKLSMgQ09ORklHX0FSQ0hfUFhBX0lEUCBpcyBub3Qgc2V0Ci0jIENPTkZJR19QWEFfU0hBUlBTTCBpcyBub3Qgc2V0Ci0jIENPTkZJR19NQUNIX1RSSVpFUFM0IGlzIG5vdCBzZXQKLUNPTkZJR19NQUNIX0VNX1gyNzA9eQotQ09ORklHX1BYQTI3eD15CisKKyMKKyMgUG93ZXIgbWFuYWdlbWVudAorIworCisjCisjIEZyZWVzY2FsZSBNWEMgSW1wbGVtZW50YXRpb25zCisjCitDT05GSUdfQVJDSF9NWDM9eQorCisjCisjIE1YMyBPcHRpb25zCisjCisjIENPTkZJR19NQUNIX01YMzFBRFMgaXMgbm90IHNldAorQ09ORklHX01BQ0hfTVgzMUxJVEU9eQogCiAjCiAjIFByb2Nlc3NvciBUeXBlCiAjCiBDT05GSUdfQ1BVXzMyPXkKLUNPTkZJR19DUFVfWFNDQUxFPXkKLUNPTkZJR19DUFVfMzJ2NT15Ci1DT05GSUdfQ1BVX0FCUlRfRVY1VD15Ci1DT05GSUdfQ1BVX0NBQ0hFX1ZJVlQ9eQotQ09ORklHX0NQVV9UTEJfVjRXQkk9eQorQ09ORklHX0NQVV9WNj15CisjIENPTkZJR19DUFVfMzJ2NksgaXMgbm90IHNldAorQ09ORklHX0NQVV8zMnY2PXkKK0NPTkZJR19DUFVfQUJSVF9FVjY9eQorQ09ORklHX0NQVV9QQUJSVF9OT0lGQVI9eQorQ09ORklHX0NQVV9DQUNIRV9WNj15CitDT05GSUdfQ1BVX0NBQ0hFX1ZJUFQ9eQorQ09ORklHX0NQVV9DT1BZX1Y2PXkKK0NPTkZJR19DUFVfVExCX1Y2PXkKK0NPTkZJR19DUFVfSEFTX0FTSUQ9eQogQ09ORklHX0NQVV9DUDE1PXkKIENPTkZJR19DUFVfQ1AxNV9NTVU9eQogCkBAIC0xNzcsMzAgKzE5NywzMyBAQAogIyBQcm9jZXNzb3IgRmVhdHVyZXMKICMKIENPTkZJR19BUk1fVEhVTUI9eQorIyBDT05GSUdfQ1BVX0lDQUNIRV9ESVNBQkxFIGlzIG5vdCBzZXQKICMgQ09ORklHX0NQVV9EQ0FDSEVfRElTQUJMRSBpcyBub3Qgc2V0CisjIENPTkZJR19DUFVfQlBSRURJQ1RfRElTQUJMRSBpcyBub3Qgc2V0CiAjIENPTkZJR19PVVRFUl9DQUNIRSBpcyBub3Qgc2V0Ci1DT05GSUdfSVdNTVhUPXkKLUNPTkZJR19YU0NBTEVfUE1VPXkKIAogIwogIyBCdXMgc3VwcG9ydAogIworIyBDT05GSUdfUENJX1NZU0NBTEwgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9TVVBQT1JUU19NU0kgaXMgbm90IHNldAorQ09ORklHX1BDQ0FSRD1tCisjIENPTkZJR19QQ01DSUFfREVCVUcgaXMgbm90IHNldAorIyBDT05GSUdfUENNQ0lBIGlzIG5vdCBzZXQKIAogIwotIyBQQ0NBUkQgKFBDTUNJQS9DYXJkQnVzKSBzdXBwb3J0CisjIFBDLWNhcmQgYnJpZGdlcwogIwotIyBDT05GSUdfUENDQVJEIGlzIG5vdCBzZXQKIAogIwogIyBLZXJuZWwgRmVhdHVyZXMKICMKICMgQ09ORklHX1RJQ0tfT05FU0hPVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19QUkVFTVBUIGlzIG5vdCBzZXQKK0NPTkZJR19QUkVFTVBUPXkKICMgQ09ORklHX05PX0lETEVfSFogaXMgbm90IHNldAogQ09ORklHX0haPTEwMAogQ09ORklHX0FFQUJJPXkKLUNPTkZJR19PQUJJX0NPTVBBVD15CisjIENPTkZJR19PQUJJX0NPTVBBVCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0RJU0NPTlRJR01FTV9FTkFCTEUgaXMgbm90IHNldAogQ09ORklHX1NFTEVDVF9NRU1PUllfTU9ERUw9eQogQ09ORklHX0ZMQVRNRU1fTUFOVUFMPXkKQEAgLTIwOSw5ICsyMzIsMTMgQEAKIENPTkZJR19GTEFUTUVNPXkKIENPTkZJR19GTEFUX05PREVfTUVNX01BUD15CiAjIENPTkZJR19TUEFSU0VNRU1fU1RBVElDIGlzIG5vdCBzZXQKLUNPTkZJR19TUExJVF9QVExPQ0tfQ1BVUz00MDk2CisjIENPTkZJR19TUEFSU0VNRU1fVk1FTU1BUF9FTkFCTEUgaXMgbm90IHNldAorQ09ORklHX1BBR0VGTEFHU19FWFRFTkRFRD15CitDT05GSUdfU1BMSVRfUFRMT0NLX0NQVVM9NAogIyBDT05GSUdfUkVTT1VSQ0VTXzY0QklUIGlzIG5vdCBzZXQKIENPTkZJR19aT05FX0RNQV9GTEFHPTEKK0NPTkZJR19CT1VOQ0U9eQorQ09ORklHX1ZJUlRfVE9fQlVTPXkKIENPTkZJR19BTElHTk1FTlRfVFJBUD15CiAKICMKQEAgLTIxOSw3ICsyNDYsNyBAQAogIwogQ09ORklHX1pCT09UX1JPTV9URVhUPTB4MAogQ09ORklHX1pCT09UX1JPTV9CU1M9MHgwCi1DT05GSUdfQ01ETElORT0iIgorQ09ORklHX0NNRExJTkU9Im5vaW5pdHJkIGNvbnNvbGU9dHR5bXhjMCwxMTUyMDAgcm9vdD0vZGV2L210ZGJsb2NrMiBydyBpcD1vZmYiCiAjIENPTkZJR19YSVBfS0VSTkVMIGlzIG5vdCBzZXQKICMgQ09ORklHX0tFWEVDIGlzIG5vdCBzZXQKIApAQCAtMjMwLDI1ICsyNTcsMjMgQEAKICMKICMgQXQgbGVhc3Qgb25lIGVtdWxhdGlvbiBtdXN0IGJlIHNlbGVjdGVkCiAjCi1DT05GSUdfRlBFX05XRlBFPXkKLSMgQ09ORklHX0ZQRV9OV0ZQRV9YUCBpcyBub3Qgc2V0Ci0jIENPTkZJR19GUEVfRkFTVEZQRSBpcyBub3Qgc2V0CitDT05GSUdfVkZQPXkKIAogIwogIyBVc2Vyc3BhY2UgYmluYXJ5IGZvcm1hdHMKICMKIENPTkZJR19CSU5GTVRfRUxGPXkKLSMgQ09ORklHX0JJTkZNVF9BT1VUIGlzIG5vdCBzZXQKK0NPTkZJR19CSU5GTVRfQU9VVD15CiAjIENPTkZJR19CSU5GTVRfTUlTQyBpcyBub3Qgc2V0CiAKICMKICMgUG93ZXIgbWFuYWdlbWVudCBvcHRpb25zCiAjCiBDT05GSUdfUE09eQotQ09ORklHX1BNX0xFR0FDWT15CiAjIENPTkZJR19QTV9ERUJVRyBpcyBub3Qgc2V0Ci0jIENPTkZJR19QTV9TWVNGU19ERVBSRUNBVEVEIGlzIG5vdCBzZXQKLUNPTkZJR19BUE1fRU1VTEFUSU9OPW0KKyMgQ09ORklHX1NVU1BFTkQgaXMgbm90IHNldAorIyBDT05GSUdfQVBNX0VNVUxBVElPTiBpcyBub3Qgc2V0CitDT05GSUdfQVJDSF9TVVNQRU5EX1BPU1NJQkxFPXkKIAogIwogIyBOZXR3b3JraW5nCkBAIC0yNjUsNiArMjkwLDcgQEAKICMgQ09ORklHX1hGUk1fVVNFUiBpcyBub3Qgc2V0CiAjIENPTkZJR19YRlJNX1NVQl9QT0xJQ1kgaXMgbm90IHNldAogIyBDT05GSUdfWEZSTV9NSUdSQVRFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1hGUk1fU1RBVElTVElDUyBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRfS0VZIGlzIG5vdCBzZXQKIENPTkZJR19JTkVUPXkKICMgQ09ORklHX0lQX01VTFRJQ0FTVCBpcyBub3Qgc2V0CkBAIC0yNzIsNyArMjk4LDcgQEAKIENPTkZJR19JUF9GSUJfSEFTSD15CiBDT05GSUdfSVBfUE5QPXkKIENPTkZJR19JUF9QTlBfREhDUD15Ci1DT05GSUdfSVBfUE5QX0JPT1RQPXkKKyMgQ09ORklHX0lQX1BOUF9CT09UUCBpcyBub3Qgc2V0CiAjIENPTkZJR19JUF9QTlBfUkFSUCBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRfSVBJUCBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRfSVBHUkUgaXMgbm90IHNldApAQCAtMjg2LDYgKzMxMiw3IEBACiBDT05GSUdfSU5FVF9YRlJNX01PREVfVFJBTlNQT1JUPXkKIENPTkZJR19JTkVUX1hGUk1fTU9ERV9UVU5ORUw9eQogQ09ORklHX0lORVRfWEZSTV9NT0RFX0JFRVQ9eQorIyBDT05GSUdfSU5FVF9MUk8gaXMgbm90IHNldAogQ09ORklHX0lORVRfRElBRz15CiBDT05GSUdfSU5FVF9UQ1BfRElBRz15CiAjIENPTkZJR19UQ1BfQ09OR19BRFZBTkNFRCBpcyBub3Qgc2V0CkBAIC0yOTMsOCArMzIwLDYgQEAKIENPTkZJR19ERUZBVUxUX1RDUF9DT05HPSJjdWJpYyIKICMgQ09ORklHX1RDUF9NRDVTSUcgaXMgbm90IHNldAogIyBDT05GSUdfSVBWNiBpcyBub3Qgc2V0Ci0jIENPTkZJR19JTkVUNl9YRlJNX1RVTk5FTCBpcyBub3Qgc2V0Ci0jIENPTkZJR19JTkVUNl9UVU5ORUwgaXMgbm90IHNldAogIyBDT05GSUdfTkVUV09SS19TRUNNQVJLIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVEZJTFRFUiBpcyBub3Qgc2V0CiAjIENPTkZJR19JUF9EQ0NQIGlzIG5vdCBzZXQKQEAgLTMxMSwxMCArMzM2LDYgQEAKICMgQ09ORklHX0xBUEIgaXMgbm90IHNldAogIyBDT05GSUdfRUNPTkVUIGlzIG5vdCBzZXQKICMgQ09ORklHX1dBTl9ST1VURVIgaXMgbm90IHNldAotCi0jCi0jIFFvUyBhbmQvb3IgZmFpciBxdWV1ZWluZwotIwogIyBDT05GSUdfTkVUX1NDSEVEIGlzIG5vdCBzZXQKIAogIwpAQCAtMzIyLDI5ICszNDMsOSBAQAogIwogIyBDT05GSUdfTkVUX1BLVEdFTiBpcyBub3Qgc2V0CiAjIENPTkZJR19IQU1SQURJTyBpcyBub3Qgc2V0CisjIENPTkZJR19DQU4gaXMgbm90IHNldAogIyBDT05GSUdfSVJEQSBpcyBub3Qgc2V0Ci1DT05GSUdfQlQ9bQotQ09ORklHX0JUX0wyQ0FQPW0KLUNPTkZJR19CVF9TQ089bQotQ09ORklHX0JUX1JGQ09NTT1tCi0jIENPTkZJR19CVF9SRkNPTU1fVFRZIGlzIG5vdCBzZXQKLUNPTkZJR19CVF9CTkVQPW0KLSMgQ09ORklHX0JUX0JORVBfTUNfRklMVEVSIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JUX0JORVBfUFJPVE9fRklMVEVSIGlzIG5vdCBzZXQKLUNPTkZJR19CVF9ISURQPW0KLQotIwotIyBCbHVldG9vdGggZGV2aWNlIGRyaXZlcnMKLSMKLUNPTkZJR19CVF9IQ0lVU0I9bQotIyBDT05GSUdfQlRfSENJVVNCX1NDTyBpcyBub3Qgc2V0Ci1DT05GSUdfQlRfSENJVUFSVD1tCi0jIENPTkZJR19CVF9IQ0lVQVJUX0g0IGlzIG5vdCBzZXQKLSMgQ09ORklHX0JUX0hDSVVBUlRfQkNTUCBpcyBub3Qgc2V0Ci1DT05GSUdfQlRfSENJQkNNMjAzWD1tCi1DT05GSUdfQlRfSENJQlBBMTBYPW0KLUNPTkZJR19CVF9IQ0lCRlVTQj1tCi0jIENPTkZJR19CVF9IQ0lWSENJIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JUIGlzIG5vdCBzZXQKICMgQ09ORklHX0FGX1JYUlBDIGlzIG5vdCBzZXQKIAogIwpAQCAtMzUzLDEzICszNTQsOSBAQAogIyBDT05GSUdfQ0ZHODAyMTEgaXMgbm90IHNldAogIyBDT05GSUdfV0lSRUxFU1NfRVhUIGlzIG5vdCBzZXQKICMgQ09ORklHX01BQzgwMjExIGlzIG5vdCBzZXQKLUNPTkZJR19JRUVFODAyMTE9bQotIyBDT05GSUdfSUVFRTgwMjExX0RFQlVHIGlzIG5vdCBzZXQKLUNPTkZJR19JRUVFODAyMTFfQ1JZUFRfV0VQPW0KLUNPTkZJR19JRUVFODAyMTFfQ1JZUFRfQ0NNUD1tCi0jIENPTkZJR19JRUVFODAyMTFfQ1JZUFRfVEtJUCBpcyBub3Qgc2V0Ci0jIENPTkZJR19JRUVFODAyMTFfU09GVE1BQyBpcyBub3Qgc2V0CisjIENPTkZJR19JRUVFODAyMTEgaXMgbm90IHNldAogIyBDT05GSUdfUkZLSUxMIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF85UCBpcyBub3Qgc2V0CiAKICMKICMgRGV2aWNlIERyaXZlcnMKQEAgLTM2OCwyNCArMzY1LDI1IEBACiAjCiAjIEdlbmVyaWMgRHJpdmVyIE9wdGlvbnMKICMKK0NPTkZJR19VRVZFTlRfSEVMUEVSX1BBVEg9Ii9zYmluL2hvdHBsdWciCiBDT05GSUdfU1RBTkRBTE9ORT15CiBDT05GSUdfUFJFVkVOVF9GSVJNV0FSRV9CVUlMRD15Ci1DT05GSUdfRldfTE9BREVSPXkKK0NPTkZJR19GV19MT0FERVI9bQogIyBDT05GSUdfREVCVUdfRFJJVkVSIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX0RFVlJFUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TWVNfSFlQRVJWSVNPUiBpcyBub3Qgc2V0Ci0KLSMKLSMgQ29ubmVjdG9yIC0gdW5pZmllZCB1c2Vyc3BhY2UgPC0+IGtlcm5lbHNwYWNlIGxpbmtlcgotIwogIyBDT05GSUdfQ09OTkVDVE9SIGlzIG5vdCBzZXQKIENPTkZJR19NVEQ9eQogIyBDT05GSUdfTVREX0RFQlVHIGlzIG5vdCBzZXQKLUNPTkZJR19NVERfQ09OQ0FUPXkKKyMgQ09ORklHX01URF9DT05DQVQgaXMgbm90IHNldAogQ09ORklHX01URF9QQVJUSVRJT05TPXkKLSMgQ09ORklHX01URF9SRURCT09UX1BBUlRTIGlzIG5vdCBzZXQKLSMgQ09ORklHX01URF9DTURMSU5FX1BBUlRTIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfUkVEQk9PVF9QQVJUUz15CitDT05GSUdfTVREX1JFREJPT1RfRElSRUNUT1JZX0JMT0NLPS0xCisjIENPTkZJR19NVERfUkVEQk9PVF9QQVJUU19VTkFMTE9DQVRFRCBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfUkVEQk9PVF9QQVJUU19SRUFET05MWSBpcyBub3Qgc2V0CitDT05GSUdfTVREX0NNRExJTkVfUEFSVFM9eQogIyBDT05GSUdfTVREX0FGU19QQVJUUyBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfQVI3X1BBUlRTIGlzIG5vdCBzZXQKIAogIwogIyBVc2VyIE1vZHVsZXMgQW5kIFRyYW5zbGF0aW9uIExheWVycwpAQCAtMzk4LDM0ICszOTYsNDUgQEAKICMgQ09ORklHX0lORlRMIGlzIG5vdCBzZXQKICMgQ09ORklHX1JGRF9GVEwgaXMgbm90IHNldAogIyBDT05GSUdfU1NGREMgaXMgbm90IHNldAorIyBDT05GSUdfTVREX09PUFMgaXMgbm90IHNldAogCiAjCiAjIFJBTS9ST00vRmxhc2ggY2hpcCBkcml2ZXJzCiAjCi0jIENPTkZJR19NVERfQ0ZJIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfQ0ZJPXkKICMgQ09ORklHX01URF9KRURFQ1BST0JFIGlzIG5vdCBzZXQKLSMgQ09ORklHX01URF9DRklfTk9TV0FQIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfR0VOX1BST0JFPXkKK0NPTkZJR19NVERfQ0ZJX0FEVl9PUFRJT05TPXkKK0NPTkZJR19NVERfQ0ZJX05PU1dBUD15CiAjIENPTkZJR19NVERfQ0ZJX0JFX0JZVEVfU1dBUCBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfQ0ZJX0xFX0JZVEVfU1dBUCBpcyBub3Qgc2V0Ci1DT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzE9eQorQ09ORklHX01URF9DRklfR0VPTUVUUlk9eQorIyBDT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzEgaXMgbm90IHNldAogQ09ORklHX01URF9NQVBfQkFOS19XSURUSF8yPXkKLUNPTkZJR19NVERfTUFQX0JBTktfV0lEVEhfND15CisjIENPTkZJR19NVERfTUFQX0JBTktfV0lEVEhfNCBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfTUFQX0JBTktfV0lEVEhfOCBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfTUFQX0JBTktfV0lEVEhfMTYgaXMgbm90IHNldAogIyBDT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzMyIGlzIG5vdCBzZXQKIENPTkZJR19NVERfQ0ZJX0kxPXkKLUNPTkZJR19NVERfQ0ZJX0kyPXkKKyMgQ09ORklHX01URF9DRklfSTIgaXMgbm90IHNldAogIyBDT05GSUdfTVREX0NGSV9JNCBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfQ0ZJX0k4IGlzIG5vdCBzZXQKLSMgQ09ORklHX01URF9SQU0gaXMgbm90IHNldAorIyBDT05GSUdfTVREX09UUCBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfQ0ZJX0lOVEVMRVhUIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfQ0ZJX0FNRFNURD15CisjIENPTkZJR19NVERfQ0ZJX1NUQUEgaXMgbm90IHNldAorQ09ORklHX01URF9DRklfVVRJTD15CitDT05GSUdfTVREX1JBTT15CiAjIENPTkZJR19NVERfUk9NIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9BQlNFTlQgaXMgbm90IHNldAorIyBDT05GSUdfTVREX1hJUCBpcyBub3Qgc2V0CiAKICMKICMgTWFwcGluZyBkcml2ZXJzIGZvciBjaGlwIGFjY2VzcwogIwogIyBDT05GSUdfTVREX0NPTVBMRVhfTUFQUElOR1MgaXMgbm90IHNldAotIyBDT05GSUdfTVREX1NIQVJQX1NMIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9QSFlTTUFQIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9BUk1fSU5URUdSQVRPUiBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfUExBVFJBTSBpcyBub3Qgc2V0CiAKICMKQEAgLTQ0Niw0MyArNDU1LDIxIEBACiAjIENPTkZJR19NVERfTkFORF9WRVJJRllfV1JJVEUgaXMgbm90IHNldAogIyBDT05GSUdfTVREX05BTkRfRUNDX1NNQyBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfTkFORF9NVVNFVU1fSURTIGlzIG5vdCBzZXQKLSMgQ09ORklHX01URF9OQU5EX0gxOTAwIGlzIG5vdCBzZXQKIENPTkZJR19NVERfTkFORF9JRFM9eQogIyBDT05GSUdfTVREX05BTkRfRElTS09OQ0hJUCBpcyBub3Qgc2V0Ci0jIENPTkZJR19NVERfTkFORF9TSEFSUFNMIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9OQU5EX05BTkRTSU0gaXMgbm90IHNldAotQ09ORklHX01URF9OQU5EX1BMQVRGT1JNPXkKKyMgQ09ORklHX01URF9OQU5EX1BMQVRGT1JNIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9BTEFVREEgaXMgbm90IHNldAogIyBDT05GSUdfTVREX09ORU5BTkQgaXMgbm90IHNldAogCiAjCiAjIFVCSSAtIFVuc29ydGVkIGJsb2NrIGltYWdlcwogIwogIyBDT05GSUdfTVREX1VCSSBpcyBub3Qgc2V0Ci0KLSMKLSMgUGFyYWxsZWwgcG9ydCBzdXBwb3J0Ci0jCiAjIENPTkZJR19QQVJQT1JUIGlzIG5vdCBzZXQKLQotIwotIyBQbHVnIGFuZCBQbGF5IHN1cHBvcnQKLSMKLSMgQ09ORklHX1BOUEFDUEkgaXMgbm90IHNldAotCi0jCi0jIEJsb2NrIGRldmljZXMKLSMKLSMgQ09ORklHX0JMS19ERVZfQ09XX0NPTU1PTiBpcyBub3Qgc2V0Ci1DT05GSUdfQkxLX0RFVl9MT09QPXkKLSMgQ09ORklHX0JMS19ERVZfQ1JZUFRPTE9PUCBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX05CRCBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX1VCIGlzIG5vdCBzZXQKLUNPTkZJR19CTEtfREVWX1JBTT15Ci1DT05GSUdfQkxLX0RFVl9SQU1fQ09VTlQ9MTYKLUNPTkZJR19CTEtfREVWX1JBTV9TSVpFPTEyMDAwCi1DT05GSUdfQkxLX0RFVl9SQU1fQkxPQ0tTSVpFPTEwMjQKLSMgQ09ORklHX0NEUk9NX1BLVENEVkQgaXMgbm90IHNldAotIyBDT05GSUdfQVRBX09WRVJfRVRIIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JMS19ERVYgaXMgbm90IHNldAorIyBDT05GSUdfTUlTQ19ERVZJQ0VTIGlzIG5vdCBzZXQKK0NPTkZJR19IQVZFX0lERT15CiAjIENPTkZJR19JREUgaXMgbm90IHNldAogCiAjCkBAIC00OTAsOSArNDc3LDEwIEBACiAjCiAjIENPTkZJR19SQUlEX0FUVFJTIGlzIG5vdCBzZXQKIENPTkZJR19TQ1NJPXkKK0NPTkZJR19TQ1NJX0RNQT15CiAjIENPTkZJR19TQ1NJX1RHVCBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX05FVExJTksgaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9QUk9DX0ZTIGlzIG5vdCBzZXQKK0NPTkZJR19TQ1NJX1BST0NfRlM9eQogCiAjCiAjIFNDU0kgc3VwcG9ydCB0eXBlIChkaXNrLCB0YXBlLCBDRC1ST00pCkBAIC01MDcsNyArNDk1LDcgQEAKICMKICMgU29tZSBTQ1NJIGRldmljZXMgKGUuZy4gQ0QganVrZWJveCkgc3VwcG9ydCBtdWx0aXBsZSBMVU5zCiAjCi0jIENPTkZJR19TQ1NJX01VTFRJX0xVTiBpcyBub3Qgc2V0CitDT05GSUdfU0NTSV9NVUxUSV9MVU49eQogIyBDT05GSUdfU0NTSV9DT05TVEFOVFMgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9MT0dHSU5HIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfU0NBTl9BU1lOQyBpcyBub3Qgc2V0CkBAIC01MTksMzkgKzUwNywzMiBAQAogIyBDT05GSUdfU0NTSV9TUElfQVRUUlMgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9GQ19BVFRSUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX0lTQ1NJX0FUVFJTIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfU0FTX0FUVFJTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfU0FTX0xJQlNBUyBpcyBub3Qgc2V0Ci0KLSMKLSMgU0NTSSBsb3ctbGV2ZWwgZHJpdmVycwotIworIyBDT05GSUdfU0NTSV9TUlBfQVRUUlMgaXMgbm90IHNldAorQ09ORklHX1NDU0lfTE9XTEVWRUw9eQogIyBDT05GSUdfSVNDU0lfVENQIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfREVCVUcgaXMgbm90IHNldAogIyBDT05GSUdfQVRBIGlzIG5vdCBzZXQKLQotIwotIyBNdWx0aS1kZXZpY2Ugc3VwcG9ydCAoUkFJRCBhbmQgTFZNKQotIwogIyBDT05GSUdfTUQgaXMgbm90IHNldAotCi0jCi0jIE5ldHdvcmsgZGV2aWNlIHN1cHBvcnQKLSMKIENPTkZJR19ORVRERVZJQ0VTPXkKKyMgQ09ORklHX05FVERFVklDRVNfTVVMVElRVUVVRSBpcyBub3Qgc2V0CiAjIENPTkZJR19EVU1NWSBpcyBub3Qgc2V0CiAjIENPTkZJR19CT05ESU5HIGlzIG5vdCBzZXQKKyMgQ09ORklHX01BQ1ZMQU4gaXMgbm90IHNldAogIyBDT05GSUdfRVFVQUxJWkVSIGlzIG5vdCBzZXQKICMgQ09ORklHX1RVTiBpcyBub3Qgc2V0CisjIENPTkZJR19WRVRIIGlzIG5vdCBzZXQKICMgQ09ORklHX1BIWUxJQiBpcyBub3Qgc2V0Ci0KLSMKLSMgRXRoZXJuZXQgKDEwIG9yIDEwME1iaXQpCi0jCiBDT05GSUdfTkVUX0VUSEVSTkVUPXkKIENPTkZJR19NSUk9eQorIyBDT05GSUdfQVg4ODc5NiBpcyBub3Qgc2V0CiAjIENPTkZJR19TTUM5MVggaXMgbm90IHNldAotQ09ORklHX0RNOTAwMD15Ci0jIENPTkZJR19TTUM5MTFYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RNOTAwMCBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfWk1JSSBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfUkdNSUkgaXMgbm90IHNldAorIyBDT05GSUdfSUJNX05FV19FTUFDX1RBSCBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfRU1BQzQgaXMgbm90IHNldAorIyBDT05GSUdfQjQ0IGlzIG5vdCBzZXQKICMgQ09ORklHX05FVERFVl8xMDAwIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVERFVl8xMDAwMCBpcyBub3Qgc2V0CiAKQEAgLTU2MCw2ICs1NDEsNyBAQAogIwogIyBDT05GSUdfV0xBTl9QUkU4MDIxMSBpcyBub3Qgc2V0CiAjIENPTkZJR19XTEFOXzgwMjExIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lXTFdJRklfTEVEUyBpcyBub3Qgc2V0CiAKICMKICMgVVNCIE5ldHdvcmsgQWRhcHRlcnMKQEAgLTU2OCwxOSArNTUwLDEzIEBACiAjIENPTkZJR19VU0JfS0FXRVRIIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9QRUdBU1VTIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9SVEw4MTUwIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9VU0JORVRfTUlJIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9VU0JORVQgaXMgbm90IHNldAogIyBDT05GSUdfV0FOIGlzIG5vdCBzZXQKICMgQ09ORklHX1BQUCBpcyBub3Qgc2V0CiAjIENPTkZJR19TTElQIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NIQVBFUiBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRDT05TT0xFIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVFBPTEwgaXMgbm90IHNldAogIyBDT05GSUdfTkVUX1BPTExfQ09OVFJPTExFUiBpcyBub3Qgc2V0Ci0KLSMKLSMgSVNETiBzdWJzeXN0ZW0KLSMKICMgQ09ORklHX0lTRE4gaXMgbm90IHNldAogCiAjCkBAIC01OTMsMTIgKzU2OSw4IEBACiAjCiAjIFVzZXJsYW5kIGludGVyZmFjZXMKICMKLUNPTkZJR19JTlBVVF9NT1VTRURFVj15Ci0jIENPTkZJR19JTlBVVF9NT1VTRURFVl9QU0FVWCBpcyBub3Qgc2V0Ci1DT05GSUdfSU5QVVRfTU9VU0VERVZfU0NSRUVOX1g9MTAyNAotQ09ORklHX0lOUFVUX01PVVNFREVWX1NDUkVFTl9ZPTc2OAorIyBDT05GSUdfSU5QVVRfTU9VU0VERVYgaXMgbm90IHNldAogIyBDT05GSUdfSU5QVVRfSk9ZREVWIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lOUFVUX1RTREVWIGlzIG5vdCBzZXQKIENPTkZJR19JTlBVVF9FVkRFVj15CiAjIENPTkZJR19JTlBVVF9FVkJVRyBpcyBub3Qgc2V0CiAKQEAgLTYxMiwxMiArNTg0LDExIEBACiAjIENPTkZJR19LRVlCT0FSRF9YVEtCRCBpcyBub3Qgc2V0CiAjIENPTkZJR19LRVlCT0FSRF9ORVdUT04gaXMgbm90IHNldAogIyBDT05GSUdfS0VZQk9BUkRfU1RPV0FXQVkgaXMgbm90IHNldAotQ09ORklHX0tFWUJPQVJEX1BYQTI3eD1tCi0jIENPTkZJR19LRVlCT0FSRF9HUElPIGlzIG5vdCBzZXQKICMgQ09ORklHX0lOUFVUX01PVVNFIGlzIG5vdCBzZXQKICMgQ09ORklHX0lOUFVUX0pPWVNUSUNLIGlzIG5vdCBzZXQKICMgQ09ORklHX0lOUFVUX1RBQkxFVCBpcyBub3Qgc2V0CiBDT05GSUdfSU5QVVRfVE9VQ0hTQ1JFRU49eQorIyBDT05GSUdfVE9VQ0hTQ1JFRU5fRlVKSVRTVSBpcyBub3Qgc2V0CiAjIENPTkZJR19UT1VDSFNDUkVFTl9HVU5aRSBpcyBub3Qgc2V0CiAjIENPTkZJR19UT1VDSFNDUkVFTl9FTE8gaXMgbm90IHNldAogIyBDT05GSUdfVE9VQ0hTQ1JFRU5fTVRPVUNIIGlzIG5vdCBzZXQKQEAgLTYzMiwxMCArNjAzLDcgQEAKICMKICMgSGFyZHdhcmUgSS9PIHBvcnRzCiAjCi1DT05GSUdfU0VSSU89eQotIyBDT05GSUdfU0VSSU9fU0VSUE9SVCBpcyBub3Qgc2V0Ci1DT05GSUdfU0VSSU9fTElCUFMyPXkKLSMgQ09ORklHX1NFUklPX1JBVyBpcyBub3Qgc2V0CisjIENPTkZJR19TRVJJTyBpcyBub3Qgc2V0CiAjIENPTkZJR19HQU1FUE9SVCBpcyBub3Qgc2V0CiAKICMKQEAgLTY0NSw2ICs2MTMsNyBAQAogQ09ORklHX1ZUX0NPTlNPTEU9eQogQ09ORklHX0hXX0NPTlNPTEU9eQogIyBDT05GSUdfVlRfSFdfQ09OU09MRV9CSU5ESU5HIGlzIG5vdCBzZXQKK0NPTkZJR19ERVZLTUVNPXkKICMgQ09ORklHX1NFUklBTF9OT05TVEFOREFSRCBpcyBub3Qgc2V0CiAKICMKQEAgLTY1NSw5MiArNjI0LDExMCBAQAogIwogIyBOb24tODI1MCBzZXJpYWwgcG9ydCBzdXBwb3J0CiAjCi1DT05GSUdfU0VSSUFMX1BYQT15Ci1DT05GSUdfU0VSSUFMX1BYQV9DT05TT0xFPXkKLUNPTkZJR19TRVJJQUxfQ09SRT15Ci1DT05GSUdfU0VSSUFMX0NPUkVfQ09OU09MRT15CiBDT05GSUdfVU5JWDk4X1BUWVM9eQogQ09ORklHX0xFR0FDWV9QVFlTPXkKIENPTkZJR19MRUdBQ1lfUFRZX0NPVU5UPTI1NgotCi0jCi0jIElQTUkKLSMKICMgQ09ORklHX0lQTUlfSEFORExFUiBpcyBub3Qgc2V0Ci0jIENPTkZJR19XQVRDSERPRyBpcyBub3Qgc2V0Ci1DT05GSUdfSFdfUkFORE9NPW0KK0NPTkZJR19IV19SQU5ET009eQogIyBDT05GSUdfTlZSQU0gaXMgbm90IHNldAogIyBDT05GSUdfUjM5NjQgaXMgbm90IHNldAogIyBDT05GSUdfUkFXX0RSSVZFUiBpcyBub3Qgc2V0Ci0KLSMKLSMgVFBNIGRldmljZXMKLSMKICMgQ09ORklHX1RDR19UUE0gaXMgbm90IHNldAogIyBDT05GSUdfSTJDIGlzIG5vdCBzZXQKLQotIwotIyBTUEkgc3VwcG9ydAotIwogIyBDT05GSUdfU1BJIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NQSV9NQVNURVIgaXMgbm90IHNldAotCi0jCi0jIERhbGxhcydzIDEtd2lyZSBidXMKLSMKICMgQ09ORklHX1cxIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BPV0VSX1NVUFBMWSBpcyBub3Qgc2V0CiAjIENPTkZJR19IV01PTiBpcyBub3Qgc2V0CitDT05GSUdfV0FUQ0hET0c9eQorQ09ORklHX1dBVENIRE9HX05PV0FZT1VUPXkKIAogIwotIyBNaXNjIGRldmljZXMKKyMgV2F0Y2hkb2cgRGV2aWNlIERyaXZlcnMKICMKKyMgQ09ORklHX1NPRlRfV0FUQ0hET0cgaXMgbm90IHNldAorCisjCisjIFVTQi1iYXNlZCBXYXRjaGRvZyBDYXJkcworIworIyBDT05GSUdfVVNCUENXQVRDSERPRyBpcyBub3Qgc2V0CisKKyMKKyMgU29uaWNzIFNpbGljb24gQmFja3BsYW5lCisjCitDT05GSUdfU1NCX1BPU1NJQkxFPXkKKyMgQ09ORklHX1NTQiBpcyBub3Qgc2V0CiAKICMKICMgTXVsdGlmdW5jdGlvbiBkZXZpY2UgZHJpdmVycwogIwogIyBDT05GSUdfTUZEX1NNNTAxIGlzIG5vdCBzZXQKLQotIwotIyBMRUQgZGV2aWNlcwotIwotIyBDT05GSUdfTkVXX0xFRFMgaXMgbm90IHNldAotCi0jCi0jIExFRCBkcml2ZXJzCi0jCi0KLSMKLSMgTEVEIFRyaWdnZXJzCi0jCisjIENPTkZJR19NRkRfQVNJQzMgaXMgbm90IHNldAorIyBDT05GSUdfSFRDX1BBU0lDMyBpcyBub3Qgc2V0CiAKICMKICMgTXVsdGltZWRpYSBkZXZpY2VzCiAjCi0jIENPTkZJR19WSURFT19ERVYgaXMgbm90IHNldAorCisjCisjIE11bHRpbWVkaWEgY29yZSBzdXBwb3J0CisjCitDT05GSUdfVklERU9fREVWPXkKK0NPTkZJR19WSURFT19WNEwyX0NPTU1PTj15CitDT05GSUdfVklERU9fQUxMT1dfVjRMMT15CitDT05GSUdfVklERU9fVjRMMV9DT01QQVQ9eQogIyBDT05GSUdfRFZCX0NPUkUgaXMgbm90IHNldAotIyBDT05GSUdfREFCIGlzIG5vdCBzZXQKK0NPTkZJR19WSURFT19NRURJQT15CisKKyMKKyMgTXVsdGltZWRpYSBkcml2ZXJzCisjCisjIENPTkZJR19NRURJQV9BVFRBQ0ggaXMgbm90IHNldAorQ09ORklHX1ZJREVPX1Y0TDI9eQorQ09ORklHX1ZJREVPX1Y0TDE9eQorQ09ORklHX1ZJREVPX0NBUFRVUkVfRFJJVkVSUz15CisjIENPTkZJR19WSURFT19BRFZfREVCVUcgaXMgbm90IHNldAorQ09ORklHX1ZJREVPX0hFTFBFUl9DSElQU19BVVRPPXkKKyMgQ09ORklHX1ZJREVPX1ZJVkkgaXMgbm90IHNldAorIyBDT05GSUdfVklERU9fQ1BJQSBpcyBub3Qgc2V0CisjIENPTkZJR19WSURFT19DUElBMiBpcyBub3Qgc2V0CitDT05GSUdfVjRMX1VTQl9EUklWRVJTPXkKKyMgQ09ORklHX1VTQl9WSUNBTSBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfSUJNQ0FNIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9LT05JQ0FXQyBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfUVVJQ0tDQU1fTUVTU0VOR0VSIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9FVDYxWDI1MSBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfT1Y1MTEgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NFNDAxIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TTjlDMTAyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TVFY2ODAgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1pDMDMwMSBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfUFdDIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9aUjM2NFhYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TVEtXRUJDQU0gaXMgbm90IHNldAorIyBDT05GSUdfU09DX0NBTUVSQSBpcyBub3Qgc2V0CitDT05GSUdfUkFESU9fQURBUFRFUlM9eQorIyBDT05GSUdfVVNCX0RTQlIgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NJNDcwWCBpcyBub3Qgc2V0CitDT05GSUdfREFCPXkKKyMgQ09ORklHX1VTQl9EQUJVU0IgaXMgbm90IHNldAogCiAjCiAjIEdyYXBoaWNzIHN1cHBvcnQKICMKLSMgQ09ORklHX0JBQ0tMSUdIVF9MQ0RfU1VQUE9SVCBpcyBub3Qgc2V0Ci0KLSMKLSMgRGlzcGxheSBkZXZpY2Ugc3VwcG9ydAotIwotIyBDT05GSUdfRElTUExBWV9TVVBQT1JUIGlzIG5vdCBzZXQKICMgQ09ORklHX1ZHQVNUQVRFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZJREVPX09VVFBVVF9DT05UUk9MIGlzIG5vdCBzZXQKIENPTkZJR19GQj15CiAjIENPTkZJR19GSVJNV0FSRV9FRElEIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZCX0REQyBpcyBub3Qgc2V0Ci1DT05GSUdfRkJfQ0ZCX0ZJTExSRUNUPXkKLUNPTkZJR19GQl9DRkJfQ09QWUFSRUE9eQotQ09ORklHX0ZCX0NGQl9JTUFHRUJMSVQ9eQorIyBDT05GSUdfRkJfQ0ZCX0ZJTExSRUNUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX0NGQl9DT1BZQVJFQSBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9DRkJfSU1BR0VCTElUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX0NGQl9SRVZfUElYRUxTX0lOX0JZVEUgaXMgbm90IHNldAogIyBDT05GSUdfRkJfU1lTX0ZJTExSRUNUIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZCX1NZU19DT1BZQVJFQSBpcyBub3Qgc2V0CiAjIENPTkZJR19GQl9TWVNfSU1BR0VCTElUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX0ZPUkVJR05fRU5ESUFOIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZCX1NZU19GT1BTIGlzIG5vdCBzZXQKLUNPTkZJR19GQl9ERUZFUlJFRF9JTz15CiAjIENPTkZJR19GQl9TVkdBTElCIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZCX01BQ01PREVTIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZCX0JBQ0tMSUdIVCBpcyBub3Qgc2V0CkBAIC03NTEsMTAgKzczOCwxMyBAQAogIyBGcmFtZSBidWZmZXIgaGFyZHdhcmUgZHJpdmVycwogIwogIyBDT05GSUdfRkJfUzFEMTNYWFggaXMgbm90IHNldAotQ09ORklHX0ZCX1BYQT15Ci0jIENPTkZJR19GQl9QWEFfUEFSQU1FVEVSUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9NQlggaXMgbm90IHNldAogIyBDT05GSUdfRkJfVklSVFVBTCBpcyBub3Qgc2V0CisjIENPTkZJR19CQUNLTElHSFRfTENEX1NVUFBPUlQgaXMgbm90IHNldAorCisjCisjIERpc3BsYXkgZGV2aWNlIHN1cHBvcnQKKyMKKyMgQ09ORklHX0RJU1BMQVlfU1VQUE9SVCBpcyBub3Qgc2V0CiAKICMKICMgQ29uc29sZSBkaXNwbGF5IGRyaXZlciBzdXBwb3J0CkBAIC03NjIsMTE2ICs3NTIsNTUgQEAKICMgQ09ORklHX1ZHQV9DT05TT0xFIGlzIG5vdCBzZXQKIENPTkZJR19EVU1NWV9DT05TT0xFPXkKIENPTkZJR19GUkFNRUJVRkZFUl9DT05TT0xFPXkKKyMgQ09ORklHX0ZSQU1FQlVGRkVSX0NPTlNPTEVfREVURUNUX1BSSU1BUlkgaXMgbm90IHNldAogIyBDT05GSUdfRlJBTUVCVUZGRVJfQ09OU09MRV9ST1RBVElPTiBpcyBub3Qgc2V0CiAjIENPTkZJR19GT05UUyBpcyBub3Qgc2V0CiBDT05GSUdfRk9OVF84eDg9eQogQ09ORklHX0ZPTlRfOHgxNj15CiBDT05GSUdfTE9HTz15Ci1DT05GSUdfTE9HT19MSU5VWF9NT05PPXkKLUNPTkZJR19MT0dPX0xJTlVYX1ZHQTE2PXkKKyMgQ09ORklHX0xPR09fTElOVVhfTU9OTyBpcyBub3Qgc2V0CisjIENPTkZJR19MT0dPX0xJTlVYX1ZHQTE2IGlzIG5vdCBzZXQKIENPTkZJR19MT0dPX0xJTlVYX0NMVVQyMjQ9eQogCiAjCiAjIFNvdW5kCiAjCi1DT05GSUdfU09VTkQ9bQotCi0jCi0jIEFkdmFuY2VkIExpbnV4IFNvdW5kIEFyY2hpdGVjdHVyZQotIwotQ09ORklHX1NORD1tCi1DT05GSUdfU05EX1RJTUVSPW0KLUNPTkZJR19TTkRfUENNPW0KLSMgQ09ORklHX1NORF9TRVFVRU5DRVIgaXMgbm90IHNldAotQ09ORklHX1NORF9PU1NFTVVMPXkKLUNPTkZJR19TTkRfTUlYRVJfT1NTPW0KLUNPTkZJR19TTkRfUENNX09TUz1tCi1DT05GSUdfU05EX1BDTV9PU1NfUExVR0lOUz15Ci0jIENPTkZJR19TTkRfRFlOQU1JQ19NSU5PUlMgaXMgbm90IHNldAotQ09ORklHX1NORF9TVVBQT1JUX09MRF9BUEk9eQotQ09ORklHX1NORF9WRVJCT1NFX1BST0NGUz15Ci0jIENPTkZJR19TTkRfVkVSQk9TRV9QUklOVEsgaXMgbm90IHNldAotIyBDT05GSUdfU05EX0RFQlVHIGlzIG5vdCBzZXQKLQotIwotIyBHZW5lcmljIGRldmljZXMKLSMKLUNPTkZJR19TTkRfQUM5N19DT0RFQz1tCi0jIENPTkZJR19TTkRfRFVNTVkgaXMgbm90IHNldAotIyBDT05GSUdfU05EX01UUEFWIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9TRVJJQUxfVTE2NTUwIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9NUFU0MDEgaXMgbm90IHNldAotCi0jCi0jIEFMU0EgQVJNIGRldmljZXMKLSMKLUNPTkZJR19TTkRfUFhBMlhYX1BDTT1tCi1DT05GSUdfU05EX1BYQTJYWF9BQzk3PW0KLQotIwotIyBVU0IgZGV2aWNlcwotIwotIyBDT05GSUdfU05EX1VTQl9BVURJTyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfVVNCX0NBSUFRIGlzIG5vdCBzZXQKLQotIwotIyBTeXN0ZW0gb24gQ2hpcCBhdWRpbyBzdXBwb3J0Ci0jCi0jIENPTkZJR19TTkRfU09DIGlzIG5vdCBzZXQKLQotIwotIyBPcGVuIFNvdW5kIFN5c3RlbQotIwotIyBDT05GSUdfU09VTkRfUFJJTUUgaXMgbm90IHNldAotQ09ORklHX0FDOTdfQlVTPW0KLQotIwotIyBISUQgRGV2aWNlcwotIwotQ09ORklHX0hJRD15Ci0jIENPTkZJR19ISURfREVCVUcgaXMgbm90IHNldAotCi0jCi0jIFVTQiBJbnB1dCBEZXZpY2VzCi0jCi1DT05GSUdfVVNCX0hJRD15Ci0jIENPTkZJR19VU0JfSElESU5QVVRfUE9XRVJCT09LIGlzIG5vdCBzZXQKLSMgQ09ORklHX0hJRF9GRiBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfSElEREVWIGlzIG5vdCBzZXQKLQotIwotIyBVU0Igc3VwcG9ydAotIworIyBDT05GSUdfU09VTkQgaXMgbm90IHNldAorIyBDT05GSUdfSElEX1NVUFBPUlQgaXMgbm90IHNldAorQ09ORklHX1VTQl9TVVBQT1JUPXkKIENPTkZJR19VU0JfQVJDSF9IQVNfSENEPXkKLUNPTkZJR19VU0JfQVJDSF9IQVNfT0hDST15CisjIENPTkZJR19VU0JfQVJDSF9IQVNfT0hDSSBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfQVJDSF9IQVNfRUhDSSBpcyBub3Qgc2V0CiBDT05GSUdfVVNCPXkKICMgQ09ORklHX1VTQl9ERUJVRyBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfQU5OT1VOQ0VfTkVXX0RFVklDRVMgaXMgbm90IHNldAogCiAjCiAjIE1pc2NlbGxhbmVvdXMgVVNCIG9wdGlvbnMKICMKLUNPTkZJR19VU0JfREVWSUNFRlM9eQotIyBDT05GSUdfVVNCX0RFVklDRV9DTEFTUyBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfREVWSUNFRlMgaXMgbm90IHNldAorQ09ORklHX1VTQl9ERVZJQ0VfQ0xBU1M9eQogIyBDT05GSUdfVVNCX0RZTkFNSUNfTUlOT1JTIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9TVVNQRU5EIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9PVEcgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX09UR19XSElURUxJU1QgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX09UR19CTEFDS0xJU1RfSFVCIGlzIG5vdCBzZXQKIAogIwogIyBVU0IgSG9zdCBDb250cm9sbGVyIERyaXZlcnMKICMKKyMgQ09ORklHX1VTQl9DNjdYMDBfSENEIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9JU1AxMTZYX0hDRCBpcyBub3Qgc2V0Ci1DT05GSUdfVVNCX09IQ0lfSENEPXkKLSMgQ09ORklHX1VTQl9PSENJX0JJR19FTkRJQU5fREVTQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfT0hDSV9CSUdfRU5ESUFOX01NSU8gaXMgbm90IHNldAotQ09ORklHX1VTQl9PSENJX0xJVFRMRV9FTkRJQU49eQorIyBDT05GSUdfVVNCX0lTUDE3NjBfSENEIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9TTDgxMV9IQ0QgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1I4QTY2NTk3X0hDRCBpcyBub3Qgc2V0CiAKICMKICMgVVNCIERldmljZSBDbGFzcyBkcml2ZXJzCiAjCiAjIENPTkZJR19VU0JfQUNNIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9QUklOVEVSIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9XRE0gaXMgbm90IHNldAogCiAjCiAjIE5PVEU6IFVTQl9TVE9SQUdFIGVuYWJsZXMgU0NTSSwgYW5kICdTQ1NJIGRpc2sgc3VwcG9ydCcKQEAgLTg4MCwxNyArODA5LDcgQEAKICMKICMgbWF5IGFsc28gYmUgbmVlZGVkOyBzZWUgVVNCX1NUT1JBR0UgSGVscCBmb3IgbW9yZSBpbmZvcm1hdGlvbgogIwotQ09ORklHX1VTQl9TVE9SQUdFPXkKLSMgQ09ORklHX1VTQl9TVE9SQUdFX0RFQlVHIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9TVE9SQUdFX0RBVEFGQUIgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX1NUT1JBR0VfRlJFRUNPTSBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfU1RPUkFHRV9EUENNIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9TVE9SQUdFX1VTQkFUIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9TVE9SQUdFX1NERFIwOSBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfU1RPUkFHRV9TRERSNTUgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX1NUT1JBR0VfSlVNUFNIT1QgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX1NUT1JBR0VfQUxBVURBIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9TVE9SQUdFX0tBUk1BIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TVE9SQUdFIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9MSUJVU1VBTCBpcyBub3Qgc2V0CiAKICMKQEAgLTg5OCwxNSArODE3LDExIEBACiAjCiAjIENPTkZJR19VU0JfTURDODAwIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9NSUNST1RFSyBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfTU9OIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfTU9OPXkKIAogIwogIyBVU0IgcG9ydCBkcml2ZXJzCiAjCi0KLSMKLSMgVVNCIFNlcmlhbCBDb252ZXJ0ZXIgc3VwcG9ydAotIwogIyBDT05GSUdfVVNCX1NFUklBTCBpcyBub3Qgc2V0CiAKICMKQEAgLTkzMCw5MyArODQ1LDI5IEBACiAjIENPTkZJR19VU0JfTEQgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1RSQU5DRVZJQlJBVE9SIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9JT1dBUlJJT1IgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX1RFU1QgaXMgbm90IHNldAotCi0jCi0jIFVTQiBEU0wgbW9kZW0gc3VwcG9ydAotIwotCi0jCi0jIFVTQiBHYWRnZXQgU3VwcG9ydAotIworIyBDT05GSUdfVVNCX0lTSUdIVEZXIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9HQURHRVQgaXMgbm90IHNldAotQ09ORklHX01NQz1tCi0jIENPTkZJR19NTUNfREVCVUcgaXMgbm90IHNldAotIyBDT05GSUdfTU1DX1VOU0FGRV9SRVNVTUUgaXMgbm90IHNldAotCi0jCi0jIE1NQy9TRCBDYXJkIERyaXZlcnMKLSMKLUNPTkZJR19NTUNfQkxPQ0s9bQotCi0jCi0jIE1NQy9TRCBIb3N0IENvbnRyb2xsZXIgRHJpdmVycwotIwotQ09ORklHX01NQ19QWEE9bQotCi0jCi0jIFJlYWwgVGltZSBDbG9jawotIworIyBDT05GSUdfTU1DIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FV19MRURTIGlzIG5vdCBzZXQKIENPTkZJR19SVENfTElCPXkKLUNPTkZJR19SVENfQ0xBU1M9bQotCi0jCi0jIFJUQyBpbnRlcmZhY2VzCi0jCi1DT05GSUdfUlRDX0lOVEZfU1lTRlM9eQotQ09ORklHX1JUQ19JTlRGX1BST0M9eQotQ09ORklHX1JUQ19JTlRGX0RFVj15Ci0jIENPTkZJR19SVENfSU5URl9ERVZfVUlFX0VNVUwgaXMgbm90IHNldAotIyBDT05GSUdfUlRDX0RSVl9URVNUIGlzIG5vdCBzZXQKLQotIwotIyBJMkMgUlRDIGRyaXZlcnMKLSMKLQotIwotIyBTUEkgUlRDIGRyaXZlcnMKLSMKLQotIwotIyBQbGF0Zm9ybSBSVEMgZHJpdmVycwotIwotIyBDT05GSUdfUlRDX0RSVl9DTU9TIGlzIG5vdCBzZXQKLSMgQ09ORklHX1JUQ19EUlZfRFMxNTUzIGlzIG5vdCBzZXQKLSMgQ09ORklHX1JUQ19EUlZfRFMxNzQyIGlzIG5vdCBzZXQKLSMgQ09ORklHX1JUQ19EUlZfTTQ4VDg2IGlzIG5vdCBzZXQKLUNPTkZJR19SVENfRFJWX1YzMDIwPW0KLQotIwotIyBvbi1DUFUgUlRDIGRyaXZlcnMKLSMKLUNPTkZJR19SVENfRFJWX1NBMTEwMD1tCisjIENPTkZJR19SVENfQ0xBU1MgaXMgbm90IHNldAorIyBDT05GSUdfVUlPIGlzIG5vdCBzZXQKIAogIwogIyBGaWxlIHN5c3RlbXMKICMKLUNPTkZJR19FWFQyX0ZTPXkKLSMgQ09ORklHX0VYVDJfRlNfWEFUVFIgaXMgbm90IHNldAotIyBDT05GSUdfRVhUMl9GU19YSVAgaXMgbm90IHNldAotQ09ORklHX0VYVDNfRlM9eQotQ09ORklHX0VYVDNfRlNfWEFUVFI9eQotIyBDT05GSUdfRVhUM19GU19QT1NJWF9BQ0wgaXMgbm90IHNldAotIyBDT05GSUdfRVhUM19GU19TRUNVUklUWSBpcyBub3Qgc2V0CisjIENPTkZJR19FWFQyX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0VYVDNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfRVhUNERFVl9GUyBpcyBub3Qgc2V0Ci1DT05GSUdfSkJEPXkKLSMgQ09ORklHX0pCRF9ERUJVRyBpcyBub3Qgc2V0Ci1DT05GSUdfRlNfTUJDQUNIRT15CiAjIENPTkZJR19SRUlTRVJGU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19KRlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfRlNfUE9TSVhfQUNMIGlzIG5vdCBzZXQKICMgQ09ORklHX1hGU19GUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19HRlMyX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX09DRlMyX0ZTIGlzIG5vdCBzZXQKLSMgQ09ORklHX01JTklYX0ZTIGlzIG5vdCBzZXQKLSMgQ09ORklHX1JPTUZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ROT1RJRlkgaXMgbm90IHNldAogQ09ORklHX0lOT1RJRlk9eQogQ09ORklHX0lOT1RJRllfVVNFUj15CiAjIENPTkZJR19RVU9UQSBpcyBub3Qgc2V0Ci1DT05GSUdfRE5PVElGWT15CiAjIENPTkZJR19BVVRPRlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfQVVUT0ZTNF9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19GVVNFX0ZTIGlzIG5vdCBzZXQKQEAgLTEwMzAsMTEgKzg4MSw4IEBACiAjCiAjIERPUy9GQVQvTlQgRmlsZXN5c3RlbXMKICMKLUNPTkZJR19GQVRfRlM9eQotQ09ORklHX01TRE9TX0ZTPXkKLUNPTkZJR19WRkFUX0ZTPXkKLUNPTkZJR19GQVRfREVGQVVMVF9DT0RFUEFHRT00MzcKLUNPTkZJR19GQVRfREVGQVVMVF9JT0NIQVJTRVQ9Imlzbzg4NTktMSIKKyMgQ09ORklHX01TRE9TX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZGQVRfRlMgaXMgbm90IHNldAogIyBDT05GSUdfTlRGU19GUyBpcyBub3Qgc2V0CiAKICMKQEAgLTEwNDYsNyArODk0LDYgQEAKIENPTkZJR19UTVBGUz15CiAjIENPTkZJR19UTVBGU19QT1NJWF9BQ0wgaXMgbm90IHNldAogIyBDT05GSUdfSFVHRVRMQl9QQUdFIGlzIG5vdCBzZXQKLUNPTkZJR19SQU1GUz15CiAjIENPTkZJR19DT05GSUdGU19GUyBpcyBub3Qgc2V0CiAKICMKQEAgLTEwNjIsMTM4ICs5MDksOTMgQEAKIENPTkZJR19KRkZTMl9GUz15CiBDT05GSUdfSkZGUzJfRlNfREVCVUc9MAogQ09ORklHX0pGRlMyX0ZTX1dSSVRFQlVGRkVSPXkKLUNPTkZJR19KRkZTMl9TVU1NQVJZPXkKKyMgQ09ORklHX0pGRlMyX0ZTX1dCVUZfVkVSSUZZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pGRlMyX1NVTU1BUlkgaXMgbm90IHNldAogIyBDT05GSUdfSkZGUzJfRlNfWEFUVFIgaXMgbm90IHNldAogIyBDT05GSUdfSkZGUzJfQ09NUFJFU1NJT05fT1BUSU9OUyBpcyBub3Qgc2V0CiBDT05GSUdfSkZGUzJfWkxJQj15CisjIENPTkZJR19KRkZTMl9MWk8gaXMgbm90IHNldAogQ09ORklHX0pGRlMyX1JUSU1FPXkKICMgQ09ORklHX0pGRlMyX1JVQklOIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSQU1GUyBpcyBub3Qgc2V0CitDT05GSUdfQ1JBTUZTPXkKICMgQ09ORklHX1ZYRlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfTUlOSVhfRlMgaXMgbm90IHNldAogIyBDT05GSUdfSFBGU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19RTlg0RlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfUk9NRlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfU1lTVl9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19VRlNfRlMgaXMgbm90IHNldAotCi0jCi0jIE5ldHdvcmsgRmlsZSBTeXN0ZW1zCi0jCitDT05GSUdfTkVUV09SS19GSUxFU1lTVEVNUz15CiBDT05GSUdfTkZTX0ZTPXkKLUNPTkZJR19ORlNfVjM9eQotIyBDT05GSUdfTkZTX1YzX0FDTCBpcyBub3Qgc2V0CisjIENPTkZJR19ORlNfVjMgaXMgbm90IHNldAogIyBDT05GSUdfTkZTX1Y0IGlzIG5vdCBzZXQKLSMgQ09ORklHX05GU19ESVJFQ1RJTyBpcyBub3Qgc2V0CiAjIENPTkZJR19ORlNEIGlzIG5vdCBzZXQKIENPTkZJR19ST09UX05GUz15CiBDT05GSUdfTE9DS0Q9eQotQ09ORklHX0xPQ0tEX1Y0PXkKIENPTkZJR19ORlNfQ09NTU9OPXkKIENPTkZJR19TVU5SUEM9eQogIyBDT05GSUdfU1VOUlBDX0JJTkQzNCBpcyBub3Qgc2V0CiAjIENPTkZJR19SUENTRUNfR1NTX0tSQjUgaXMgbm90IHNldAogIyBDT05GSUdfUlBDU0VDX0dTU19TUEtNMyBpcyBub3Qgc2V0Ci1DT05GSUdfU01CX0ZTPXkKLSMgQ09ORklHX1NNQl9OTFNfREVGQVVMVCBpcyBub3Qgc2V0CisjIENPTkZJR19TTUJfRlMgaXMgbm90IHNldAogIyBDT05GSUdfQ0lGUyBpcyBub3Qgc2V0CiAjIENPTkZJR19OQ1BfRlMgaXMgbm90IHNldAogIyBDT05GSUdfQ09EQV9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19BRlNfRlMgaXMgbm90IHNldAotIyBDT05GSUdfOVBfRlMgaXMgbm90IHNldAogCiAjCiAjIFBhcnRpdGlvbiBUeXBlcwogIwogIyBDT05GSUdfUEFSVElUSU9OX0FEVkFOQ0VEIGlzIG5vdCBzZXQKIENPTkZJR19NU0RPU19QQVJUSVRJT049eQotCi0jCi0jIE5hdGl2ZSBMYW5ndWFnZSBTdXBwb3J0Ci0jCi1DT05GSUdfTkxTPXkKLUNPTkZJR19OTFNfREVGQVVMVD0iaXNvODg1OS0xIgotQ09ORklHX05MU19DT0RFUEFHRV80Mzc9eQotIyBDT05GSUdfTkxTX0NPREVQQUdFXzczNyBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfQ09ERVBBR0VfNzc1IGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19DT0RFUEFHRV84NTAgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0NPREVQQUdFXzg1MiBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfQ09ERVBBR0VfODU1IGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19DT0RFUEFHRV84NTcgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0NPREVQQUdFXzg2MCBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfQ09ERVBBR0VfODYxIGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19DT0RFUEFHRV84NjIgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0NPREVQQUdFXzg2MyBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfQ09ERVBBR0VfODY0IGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19DT0RFUEFHRV84NjUgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0NPREVQQUdFXzg2NiBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfQ09ERVBBR0VfODY5IGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19DT0RFUEFHRV85MzYgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0NPREVQQUdFXzk1MCBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfQ09ERVBBR0VfOTMyIGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19DT0RFUEFHRV85NDkgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0NPREVQQUdFXzg3NCBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfSVNPODg1OV84IGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19DT0RFUEFHRV8xMjUwIGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19DT0RFUEFHRV8xMjUxIGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19BU0NJSSBpcyBub3Qgc2V0Ci1DT05GSUdfTkxTX0lTTzg4NTlfMT15Ci0jIENPTkZJR19OTFNfSVNPODg1OV8yIGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19JU084ODU5XzMgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0lTTzg4NTlfNCBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfSVNPODg1OV81IGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19JU084ODU5XzYgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0lTTzg4NTlfNyBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfSVNPODg1OV85IGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19JU084ODU5XzEzIGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19JU084ODU5XzE0IGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19JU084ODU5XzE1IGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19LT0k4X1IgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0tPSThfVSBpcyBub3Qgc2V0Ci1DT05GSUdfTkxTX1VURjg9eQotCi0jCi0jIERpc3RyaWJ1dGVkIExvY2sgTWFuYWdlcgotIworIyBDT05GSUdfTkxTIGlzIG5vdCBzZXQKICMgQ09ORklHX0RMTSBpcyBub3Qgc2V0CiAKICMKLSMgUHJvZmlsaW5nIHN1cHBvcnQKLSMKLSMgQ09ORklHX1BST0ZJTElORyBpcyBub3Qgc2V0Ci0KLSMKICMgS2VybmVsIGhhY2tpbmcKICMKLSMgQ09ORklHX1BSSU5US19USU1FIGlzIG5vdCBzZXQKK0NPTkZJR19QUklOVEtfVElNRT15CitDT05GSUdfRU5BQkxFX1dBUk5fREVQUkVDQVRFRD15CiBDT05GSUdfRU5BQkxFX01VU1RfQ0hFQ0s9eQotQ09ORklHX01BR0lDX1NZU1JRPXkKK0NPTkZJR19GUkFNRV9XQVJOPTEwMjQKKyMgQ09ORklHX01BR0lDX1NZU1JRIGlzIG5vdCBzZXQKICMgQ09ORklHX1VOVVNFRF9TWU1CT0xTIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0hFQURFUlNfQ0hFQ0sgaXMgbm90IHNldAogQ09ORklHX0RFQlVHX0tFUk5FTD15CiAjIENPTkZJR19ERUJVR19TSElSUSBpcyBub3Qgc2V0Ci0jIENPTkZJR19ERVRFQ1RfU09GVExPQ0tVUCBpcyBub3Qgc2V0CitDT05GSUdfREVURUNUX1NPRlRMT0NLVVA9eQorQ09ORklHX1NDSEVEX0RFQlVHPXkKICMgQ09ORklHX1NDSEVEU1RBVFMgaXMgbm90IHNldAogIyBDT05GSUdfVElNRVJfU1RBVFMgaXMgbm90IHNldAorIyBDT05GSUdfREVCVUdfT0JKRUNUUyBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19TTEFCIGlzIG5vdCBzZXQKK0NPTkZJR19ERUJVR19QUkVFTVBUPXkKICMgQ09ORklHX0RFQlVHX1JUX01VVEVYRVMgaXMgbm90IHNldAogIyBDT05GSUdfUlRfTVVURVhfVEVTVEVSIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX1NQSU5MT0NLIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX01VVEVYRVMgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfTE9DS19BTExPQyBpcyBub3Qgc2V0CiAjIENPTkZJR19QUk9WRV9MT0NLSU5HIGlzIG5vdCBzZXQKKyMgQ09ORklHX0xPQ0tfU1RBVCBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19TUElOTE9DS19TTEVFUCBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19MT0NLSU5HX0FQSV9TRUxGVEVTVFMgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfS09CSkVDVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19ERUJVR19CVUdWRVJCT1NFIGlzIG5vdCBzZXQKLUNPTkZJR19ERUJVR19JTkZPPXkKK0NPTkZJR19ERUJVR19CVUdWRVJCT1NFPXkKKyMgQ09ORklHX0RFQlVHX0lORk8gaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfVk0gaXMgbm90IHNldAorIyBDT05GSUdfREVCVUdfV1JJVEVDT1VOVCBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19MSVNUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFQlVHX1NHIGlzIG5vdCBzZXQKIENPTkZJR19GUkFNRV9QT0lOVEVSPXkKLUNPTkZJR19GT1JDRURfSU5MSU5JTkc9eQorIyBDT05GSUdfQk9PVF9QUklOVEtfREVMQVkgaXMgbm90IHNldAogIyBDT05GSUdfUkNVX1RPUlRVUkVfVEVTVCBpcyBub3Qgc2V0CisjIENPTkZJR19CQUNLVFJBQ0VfU0VMRl9URVNUIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZBVUxUX0lOSkVDVElPTiBpcyBub3Qgc2V0Ci1DT05GSUdfREVCVUdfVVNFUj15CisjIENPTkZJR19TQU1QTEVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFQlVHX1VTRVIgaXMgbm90IHNldAogQ09ORklHX0RFQlVHX0VSUk9SUz15CisjIENPTkZJR19ERUJVR19TVEFDS19VU0FHRSBpcyBub3Qgc2V0CiBDT05GSUdfREVCVUdfTEw9eQogIyBDT05GSUdfREVCVUdfSUNFRENDIGlzIG5vdCBzZXQKIApAQCAtMTIwMiw2MCArMTAwNCw5MyBAQAogIwogIyBDT05GSUdfS0VZUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TRUNVUklUWSBpcyBub3Qgc2V0CisjIENPTkZJR19TRUNVUklUWV9GSUxFX0NBUEFCSUxJVElFUyBpcyBub3Qgc2V0CitDT05GSUdfQ1JZUFRPPXkKIAogIwotIyBDcnlwdG9ncmFwaGljIG9wdGlvbnMKKyMgQ3J5cHRvIGNvcmUgb3IgaGVscGVyCiAjCi1DT05GSUdfQ1JZUFRPPXkKLUNPTkZJR19DUllQVE9fQUxHQVBJPW0KLUNPTkZJR19DUllQVE9fQkxLQ0lQSEVSPW0KLUNPTkZJR19DUllQVE9fTUFOQUdFUj1tCi0jIENPTkZJR19DUllQVE9fSE1BQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fWENCQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fTlVMTCBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fTUQ0IGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19NRDUgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX1NIQTEgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX1NIQTI1NiBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fU0hBNTEyIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19XUDUxMiBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fVEdSMTkyIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19NQU5BR0VSIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19HRjEyOE1VTCBpcyBub3Qgc2V0Ci1DT05GSUdfQ1JZUFRPX0VDQj1tCi1DT05GSUdfQ1JZUFRPX0NCQz1tCi1DT05GSUdfQ1JZUFRPX1BDQkM9bQotIyBDT05GSUdfQ1JZUFRPX0xSVyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fTlVMTCBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fQ1JZUFREIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19ERVMgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX0ZDUllQVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fQkxPV0ZJU0ggaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX1RXT0ZJU0ggaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX1NFUlBFTlQgaXMgbm90IHNldAotQ09ORklHX0NSWVBUT19BRVM9bQotIyBDT05GSUdfQ1JZUFRPX0NBU1Q1IGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19DQVNUNiBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fVEVBIGlzIG5vdCBzZXQKLUNPTkZJR19DUllQVE9fQVJDND1tCi0jIENPTkZJR19DUllQVE9fS0hBWkFEIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19BTlVCSVMgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX0RFRkxBVEUgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX01JQ0hBRUxfTUlDIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19DUkMzMkMgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX0NBTUVMTElBIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19BVVRIRU5DIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19URVNUIGlzIG5vdCBzZXQKIAogIwotIyBIYXJkd2FyZSBjcnlwdG8gZGV2aWNlcworIyBBdXRoZW50aWNhdGVkIEVuY3J5cHRpb24gd2l0aCBBc3NvY2lhdGVkIERhdGEKICMKKyMgQ09ORklHX0NSWVBUT19DQ00gaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0dDTSBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fU0VRSVYgaXMgbm90IHNldAorCisjCisjIEJsb2NrIG1vZGVzCisjCisjIENPTkZJR19DUllQVE9fQ0JDIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19DVFIgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0NUUyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fRUNCIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19MUlcgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1BDQkMgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1hUUyBpcyBub3Qgc2V0CisKKyMKKyMgSGFzaCBtb2RlcworIworIyBDT05GSUdfQ1JZUFRPX0hNQUMgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1hDQkMgaXMgbm90IHNldAorCisjCisjIERpZ2VzdAorIworIyBDT05GSUdfQ1JZUFRPX0NSQzMyQyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fTUQ0IGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19NRDUgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX01JQ0hBRUxfTUlDIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19TSEExIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19TSEEyNTYgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1NIQTUxMiBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fVEdSMTkyIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19XUDUxMiBpcyBub3Qgc2V0CisKKyMKKyMgQ2lwaGVycworIworIyBDT05GSUdfQ1JZUFRPX0FFUyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQU5VQklTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19BUkM0IGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19CTE9XRklTSCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQ0FNRUxMSUEgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0NBU1Q1IGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19DQVNUNiBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fREVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19GQ1JZUFQgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0tIQVpBRCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fU0FMU0EyMCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fU0VFRCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fU0VSUEVOVCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fVEVBIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19UV09GSVNIIGlzIG5vdCBzZXQKKworIworIyBDb21wcmVzc2lvbgorIworIyBDT05GSUdfQ1JZUFRPX0RFRkxBVEUgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0xaTyBpcyBub3Qgc2V0CitDT05GSUdfQ1JZUFRPX0hXPXkKIAogIwogIyBMaWJyYXJ5IHJvdXRpbmVzCiAjCiBDT05GSUdfQklUUkVWRVJTRT15Ci0jIENPTkZJR19DUkNfQ0NJVFQgaXMgbm90IHNldAorIyBDT05GSUdfR0VORVJJQ19GSU5EX0ZJUlNUX0JJVCBpcyBub3Qgc2V0CisjIENPTkZJR19HRU5FUklDX0ZJTkRfTkVYVF9CSVQgaXMgbm90IHNldAorQ09ORklHX0NSQ19DQ0lUVD1tCiAjIENPTkZJR19DUkMxNiBpcyBub3Qgc2V0CiAjIENPTkZJR19DUkNfSVRVX1QgaXMgbm90IHNldAogQ09ORklHX0NSQzMyPXkKKyMgQ09ORklHX0NSQzcgaXMgbm90IHNldAogIyBDT05GSUdfTElCQ1JDMzJDIGlzIG5vdCBzZXQKIENPTkZJR19aTElCX0lORkxBVEU9eQogQ09ORklHX1pMSUJfREVGTEFURT15CmRpZmYgLS1naXQgYS9hcmNoL2FybS9jb25maWdzL25ldHhfZGVmY29uZmlnIGIvYXJjaC9hcm0vY29uZmlncy9uZXR4X2RlZmNvbmZpZwppbmRleCA1N2YzMmYzLi4wODg0ZjIzIDEwMDY0NAotLS0gYS9hcmNoL2FybS9jb25maWdzL25ldHhfZGVmY29uZmlnCisrKyBiL2FyY2gvYXJtL2NvbmZpZ3MvbmV0eF9kZWZjb25maWcKQEAgLTE1NCw3ICsxNTQsNiBAQAogIyBLZXJuZWwgRmVhdHVyZXMKICMKIENPTkZJR19QUkVFTVBUPXkKLSMgQ09ORklHX05PX0lETEVfSFogaXMgbm90IHNldAogQ09ORklHX0haPTEwMAogIyBDT05GSUdfQUVBQkkgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9ESVNDT05USUdNRU1fRU5BQkxFIGlzIG5vdCBzZXQKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2NvbmZpZ3Mvb25lYXJtX2RlZmNvbmZpZyBiL2FyY2gvYXJtL2NvbmZpZ3Mvb25lYXJtX2RlZmNvbmZpZwppbmRleCA2NTBhMjQ4Li40MThjYTJmIDEwMDY0NAotLS0gYS9hcmNoL2FybS9jb25maWdzL29uZWFybV9kZWZjb25maWcKKysrIGIvYXJjaC9hcm0vY29uZmlncy9vbmVhcm1fZGVmY29uZmlnCkBAIC0yMDIsNyArMjAyLDYgQEAKICMgS2VybmVsIEZlYXR1cmVzCiAjCiAjIENPTkZJR19QUkVFTVBUIGlzIG5vdCBzZXQKLSMgQ09ORklHX05PX0lETEVfSFogaXMgbm90IHNldAogQ09ORklHX0haPTEwMAogIyBDT05GSUdfQUVBQkkgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9ESVNDT05USUdNRU1fRU5BQkxFIGlzIG5vdCBzZXQKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2NvbmZpZ3Mvb3Jpb241eF9kZWZjb25maWcgYi9hcmNoL2FybS9jb25maWdzL29yaW9uNXhfZGVmY29uZmlnCmluZGV4IDUyY2Q5OWIuLjk1NzhiNWQgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2NvbmZpZ3Mvb3Jpb241eF9kZWZjb25maWcKKysrIGIvYXJjaC9hcm0vY29uZmlncy9vcmlvbjV4X2RlZmNvbmZpZwpAQCAtMSw3ICsxLDcgQEAKICMKICMgQXV0b21hdGljYWxseSBnZW5lcmF0ZWQgbWFrZSBjb25maWc6IGRvbid0IGVkaXQKLSMgTGludXgga2VybmVsIHZlcnNpb246IDIuNi4yNAotIyBUaHUgRmViICA3IDE0OjEwOjMwIDIwMDgKKyMgTGludXgga2VybmVsIHZlcnNpb246IDIuNi4yNi1yYzQKKyMgTW9uIEp1biAgMiAyMzo1NDo0OCAyMDA4CiAjCiBDT05GSUdfQVJNPXkKIENPTkZJR19TWVNfU1VQUE9SVFNfQVBNX0VNVUxBVElPTj15CkBAIC0yMSw2ICsyMSw3IEBACiAjIENPTkZJR19BUkNIX0hBU19JTE9HMl9VNjQgaXMgbm90IHNldAogQ09ORklHX0dFTkVSSUNfSFdFSUdIVD15CiBDT05GSUdfR0VORVJJQ19DQUxJQlJBVEVfREVMQVk9eQorQ09ORklHX0FSQ0hfU1VQUE9SVFNfQU9VVD15CiBDT05GSUdfWk9ORV9ETUE9eQogQ09ORklHX1ZFQ1RPUlNfQkFTRT0weGZmZmYwMDAwCiBDT05GSUdfREVGQ09ORklHX0xJU1Q9Ii9saWIvbW9kdWxlcy8kVU5BTUVfUkVMRUFTRS8uY29uZmlnIgpAQCAtNDAsMjQgKzQxLDI0IEBACiAjIENPTkZJR19QT1NJWF9NUVVFVUUgaXMgbm90IHNldAogIyBDT05GSUdfQlNEX1BST0NFU1NfQUNDVCBpcyBub3Qgc2V0CiAjIENPTkZJR19UQVNLU1RBVFMgaXMgbm90IHNldAotIyBDT05GSUdfVVNFUl9OUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19QSURfTlMgaXMgbm90IHNldAogIyBDT05GSUdfQVVESVQgaXMgbm90IHNldAogIyBDT05GSUdfSUtDT05GSUcgaXMgbm90IHNldAogQ09ORklHX0xPR19CVUZfU0hJRlQ9MTQKICMgQ09ORklHX0NHUk9VUFMgaXMgbm90IHNldAotQ09ORklHX0ZBSVJfR1JPVVBfU0NIRUQ9eQotQ09ORklHX0ZBSVJfVVNFUl9TQ0hFRD15Ci0jIENPTkZJR19GQUlSX0NHUk9VUF9TQ0hFRCBpcyBub3Qgc2V0CisjIENPTkZJR19HUk9VUF9TQ0hFRCBpcyBub3Qgc2V0CiBDT05GSUdfU1lTRlNfREVQUkVDQVRFRD15CitDT05GSUdfU1lTRlNfREVQUkVDQVRFRF9WMj15CiAjIENPTkZJR19SRUxBWSBpcyBub3Qgc2V0CisjIENPTkZJR19OQU1FU1BBQ0VTIGlzIG5vdCBzZXQKICMgQ09ORklHX0JMS19ERVZfSU5JVFJEIGlzIG5vdCBzZXQKIENPTkZJR19DQ19PUFRJTUlaRV9GT1JfU0laRT15CiBDT05GSUdfU1lTQ1RMPXkKIENPTkZJR19FTUJFRERFRD15CiBDT05GSUdfVUlEMTY9eQogQ09ORklHX1NZU0NUTF9TWVNDQUxMPXkKK0NPTkZJR19TWVNDVExfU1lTQ0FMTF9DSEVDSz15CiBDT05GSUdfS0FMTFNZTVM9eQorQ09ORklHX0tBTExTWU1TX0FMTD15CiAjIENPTkZJR19LQUxMU1lNU19FWFRSQV9QQVNTIGlzIG5vdCBzZXQKIENPTkZJR19IT1RQTFVHPXkKIENPTkZJR19QUklOVEs9eQpAQCAtNzMsMjAgKzc0LDI1IEBACiBDT05GSUdfRVZFTlRGRD15CiBDT05GSUdfU0hNRU09eQogQ09ORklHX1ZNX0VWRU5UX0NPVU5URVJTPXkKLUNPTkZJR19TTEFCPXkKLSMgQ09ORklHX1NMVUIgaXMgbm90IHNldAorIyBDT05GSUdfU0xVQl9ERUJVRyBpcyBub3Qgc2V0CisjIENPTkZJR19TTEFCIGlzIG5vdCBzZXQKK0NPTkZJR19TTFVCPXkKICMgQ09ORklHX1NMT0IgaXMgbm90IHNldAotIyBDT05GSUdfUFJPRklMSU5HIGlzIG5vdCBzZXQKK0NPTkZJR19QUk9GSUxJTkc9eQogIyBDT05GSUdfTUFSS0VSUyBpcyBub3Qgc2V0CitDT05GSUdfT1BST0ZJTEU9eQogQ09ORklHX0hBVkVfT1BST0ZJTEU9eQotIyBDT05GSUdfS1BST0JFUyBpcyBub3Qgc2V0CitDT05GSUdfS1BST0JFUz15CitDT05GSUdfS1JFVFBST0JFUz15CiBDT05GSUdfSEFWRV9LUFJPQkVTPXkKK0NPTkZJR19IQVZFX0tSRVRQUk9CRVM9eQorIyBDT05GSUdfSEFWRV9ETUFfQVRUUlMgaXMgbm90IHNldAogQ09ORklHX1BST0NfUEFHRV9NT05JVE9SPXkKLUNPTkZJR19TTEFCSU5GTz15CiBDT05GSUdfUlRfTVVURVhFUz15CiAjIENPTkZJR19USU5ZX1NITUVNIGlzIG5vdCBzZXQKIENPTkZJR19CQVNFX1NNQUxMPTAKIENPTkZJR19NT0RVTEVTPXkKKyMgQ09ORklHX01PRFVMRV9GT1JDRV9MT0FEIGlzIG5vdCBzZXQKIENPTkZJR19NT0RVTEVfVU5MT0FEPXkKICMgQ09ORklHX01PRFVMRV9GT1JDRV9VTkxPQUQgaXMgbm90IHNldAogIyBDT05GSUdfTU9EVkVSU0lPTlMgaXMgbm90IHNldApAQCAtMTExLDcgKzExNyw2IEBACiAjIENPTkZJR19ERUZBVUxUX05PT1AgaXMgbm90IHNldAogQ09ORklHX0RFRkFVTFRfSU9TQ0hFRD0iY2ZxIgogQ09ORklHX0NMQVNTSUNfUkNVPXkKLSMgQ09ORklHX1BSRUVNUFRfUkNVIGlzIG5vdCBzZXQKIAogIwogIyBTeXN0ZW0gVHlwZQpAQCAtMTYwLDYgKzE2NSwxNSBAQAogQ09ORklHX01BQ0hfS1VST0JPWF9QUk89eQogQ09ORklHX01BQ0hfRE5TMzIzPXkKIENPTkZJR19NQUNIX1RTMjA5PXkKK0NPTkZJR19NQUNIX0xJTktTVEFUSU9OX1BSTz15CitDT05GSUdfTUFDSF9UUzQwOT15CitDT05GSUdfTUFDSF9XUlQzNTBOX1YyPXkKK0NPTkZJR19NQUNIX1RTNzhYWD15CitDT05GSUdfTUFDSF9NVjIxMjA9eQorQ09ORklHX01BQ0hfTVNTMj15CitDT05GSUdfTUFDSF9XTlI4NTRUPXkKK0NPTkZJR19NQUNIX1JEODhGNTE4MUxfR0U9eQorQ09ORklHX01BQ0hfUkQ4OEY1MTgxTF9GWE89eQogCiAjCiAjIEJvb3Qgb3B0aW9ucwpAQCAtMTY4LDYgKzE4Miw3IEBACiAjCiAjIFBvd2VyIG1hbmFnZW1lbnQKICMKK0NPTkZJR19QTEFUX09SSU9OPXkKIAogIwogIyBQcm9jZXNzb3IgVHlwZQpAQCAtMTc3LDggKzE5Miw5IEBACiBDT05GSUdfQ1BVX0ZFUk9DRU9OX09MRF9JRD15CiBDT05GSUdfQ1BVXzMydjU9eQogQ09ORklHX0NQVV9BQlJUX0VWNVQ9eQorQ09ORklHX0NQVV9QQUJSVF9OT0lGQVI9eQogQ09ORklHX0NQVV9DQUNIRV9WSVZUPXkKLUNPTkZJR19DUFVfQ09QWV9WNFdCPXkKK0NPTkZJR19DUFVfQ09QWV9GRVJPQ0VPTj15CiBDT05GSUdfQ1BVX1RMQl9WNFdCST15CiBDT05GSUdfQ1BVX0NQMTU9eQogQ09ORklHX0NQVV9DUDE1X01NVT15CkBAIC0xODksNyArMjA1LDYgQEAKIENPTkZJR19BUk1fVEhVTUI9eQogIyBDT05GSUdfQ1BVX0lDQUNIRV9ESVNBQkxFIGlzIG5vdCBzZXQKICMgQ09ORklHX0NQVV9EQ0FDSEVfRElTQUJMRSBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUFVfRENBQ0hFX1dSSVRFVEhST1VHSCBpcyBub3Qgc2V0CiAjIENPTkZJR19PVVRFUl9DQUNIRSBpcyBub3Qgc2V0CiAKICMKQEAgLTE5OSw2ICsyMTQsNyBAQAogQ09ORklHX1BDSV9TWVNDQUxMPXkKICMgQ09ORklHX0FSQ0hfU1VQUE9SVFNfTVNJIGlzIG5vdCBzZXQKIENPTkZJR19QQ0lfTEVHQUNZPXkKKyMgQ09ORklHX1BDSV9ERUJVRyBpcyBub3Qgc2V0CiAjIENPTkZJR19QQ0NBUkQgaXMgbm90IHNldAogCiAjCkBAIC0yMjEsNiArMjM3LDcgQEAKIENPTkZJR19GTEFUX05PREVfTUVNX01BUD15CiAjIENPTkZJR19TUEFSU0VNRU1fU1RBVElDIGlzIG5vdCBzZXQKICMgQ09ORklHX1NQQVJTRU1FTV9WTUVNTUFQX0VOQUJMRSBpcyBub3Qgc2V0CitDT05GSUdfUEFHRUZMQUdTX0VYVEVOREVEPXkKIENPTkZJR19TUExJVF9QVExPQ0tfQ1BVUz00MDk2CiAjIENPTkZJR19SRVNPVVJDRVNfNjRCSVQgaXMgbm90IHNldAogQ09ORklHX1pPTkVfRE1BX0ZMQUc9MQpAQCAtMjM4LDcgKzI1NSw2IEBACiBDT05GSUdfQ01ETElORT0iIgogIyBDT05GSUdfWElQX0tFUk5FTCBpcyBub3Qgc2V0CiAjIENPTkZJR19LRVhFQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19BVEFHU19QUk9DIGlzIG5vdCBzZXQKIAogIwogIyBGbG9hdGluZyBwb2ludCBlbXVsYXRpb24KQEAgLTMxMSw4ICszMjcsNiBAQAogQ09ORklHX0RFRkFVTFRfVENQX0NPTkc9ImN1YmljIgogIyBDT05GSUdfVENQX01ENVNJRyBpcyBub3Qgc2V0CiAjIENPTkZJR19JUFY2IGlzIG5vdCBzZXQKLSMgQ09ORklHX0lORVQ2X1hGUk1fVFVOTkVMIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lORVQ2X1RVTk5FTCBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRXT1JLX1NFQ01BUksgaXMgbm90IHNldAogIyBDT05GSUdfTkVURklMVEVSIGlzIG5vdCBzZXQKICMgQ09ORklHX0lQX0RDQ1AgaXMgbm90IHNldApAQCAtMzM1LDYgKzM0OSw3IEBACiAjIE5ldHdvcmsgdGVzdGluZwogIwogQ09ORklHX05FVF9QS1RHRU49bQorIyBDT05GSUdfTkVUX1RDUFBST0JFIGlzIG5vdCBzZXQKICMgQ09ORklHX0hBTVJBRElPIGlzIG5vdCBzZXQKICMgQ09ORklHX0NBTiBpcyBub3Qgc2V0CiAjIENPTkZJR19JUkRBIGlzIG5vdCBzZXQKQEAgLTM2Miw2ICszNzcsOCBAQAogQ09ORklHX1NUQU5EQUxPTkU9eQogQ09ORklHX1BSRVZFTlRfRklSTVdBUkVfQlVJTEQ9eQogQ09ORklHX0ZXX0xPQURFUj15CisjIENPTkZJR19ERUJVR19EUklWRVIgaXMgbm90IHNldAorIyBDT05GSUdfREVCVUdfREVWUkVTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NZU19IWVBFUlZJU09SIGlzIG5vdCBzZXQKICMgQ09ORklHX0NPTk5FQ1RPUiBpcyBub3Qgc2V0CiBDT05GSUdfTVREPXkKQEAgLTM3MSw2ICszODgsNyBAQAogIyBDT05GSUdfTVREX1JFREJPT1RfUEFSVFMgaXMgbm90IHNldAogQ09ORklHX01URF9DTURMSU5FX1BBUlRTPXkKICMgQ09ORklHX01URF9BRlNfUEFSVFMgaXMgbm90IHNldAorIyBDT05GSUdfTVREX0FSN19QQVJUUyBpcyBub3Qgc2V0CiAKICMKICMgVXNlciBNb2R1bGVzIEFuZCBUcmFuc2xhdGlvbiBMYXllcnMKQEAgLTM3OCw5ICszOTYsOCBAQAogQ09ORklHX01URF9DSEFSPXkKIENPTkZJR19NVERfQkxLREVWUz15CiBDT05GSUdfTVREX0JMT0NLPXkKLUNPTkZJR19GVEw9eQotQ09ORklHX05GVEw9eQotIyBDT05GSUdfTkZUTF9SVyBpcyBub3Qgc2V0CisjIENPTkZJR19GVEwgaXMgbm90IHNldAorIyBDT05GSUdfTkZUTCBpcyBub3Qgc2V0CiAjIENPTkZJR19JTkZUTCBpcyBub3Qgc2V0CiAjIENPTkZJR19SRkRfRlRMIGlzIG5vdCBzZXQKICMgQ09ORklHX1NTRkRDIGlzIG5vdCBzZXQKQEAgLTQwNSwxMiArNDIyLDEyIEBACiAjIENPTkZJR19NVERfTUFQX0JBTktfV0lEVEhfMzIgaXMgbm90IHNldAogQ09ORklHX01URF9DRklfSTE9eQogQ09ORklHX01URF9DRklfSTI9eQotQ09ORklHX01URF9DRklfSTQ9eQorIyBDT05GSUdfTVREX0NGSV9JNCBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfQ0ZJX0k4IGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9PVFAgaXMgbm90IHNldAogQ09ORklHX01URF9DRklfSU5URUxFWFQ9eQogQ09ORklHX01URF9DRklfQU1EU1REPXkKLUNPTkZJR19NVERfQ0ZJX1NUQUE9eQorIyBDT05GSUdfTVREX0NGSV9TVEFBIGlzIG5vdCBzZXQKIENPTkZJR19NVERfQ0ZJX1VUSUw9eQogIyBDT05GSUdfTVREX1JBTSBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfUk9NIGlzIG5vdCBzZXQKQEAgLTQ4MSw2ICs0OTgsOSBAQAogIyBDT05GSUdfRUVQUk9NXzkzQ1g2IGlzIG5vdCBzZXQKICMgQ09ORklHX1NHSV9JT0M0IGlzIG5vdCBzZXQKICMgQ09ORklHX1RJRk1fQ09SRSBpcyBub3Qgc2V0CisjIENPTkZJR19FTkNMT1NVUkVfU0VSVklDRVMgaXMgbm90IHNldAorQ09ORklHX0hBVkVfSURFPXkKKyMgQ09ORklHX0lERSBpcyBub3Qgc2V0CiAKICMKICMgU0NTSSBkZXZpY2Ugc3VwcG9ydApAQCAtNTQyLDYgKzU2Miw3IEBACiAjIENPTkZJR19TQ1NJX0lQUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX0lOSVRJTyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX0lOSUExMDAgaXMgbm90IHNldAorIyBDT05GSUdfU0NTSV9NVlNBUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX1NURVggaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9TWU01M0M4WFhfMiBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX0lQUiBpcyBub3Qgc2V0CkBAIC01NTYsNyArNTc3LDEwIEBACiAjIENPTkZJR19TQ1NJX1NSUCBpcyBub3Qgc2V0CiBDT05GSUdfQVRBPXkKICMgQ09ORklHX0FUQV9OT05TVEFOREFSRCBpcyBub3Qgc2V0CitDT05GSUdfU0FUQV9QTVA9eQogIyBDT05GSUdfU0FUQV9BSENJIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NBVEFfU0lMMjQgaXMgbm90IHNldAorQ09ORklHX0FUQV9TRkY9eQogIyBDT05GSUdfU0FUQV9TVlcgaXMgbm90IHNldAogIyBDT05GSUdfQVRBX1BJSVggaXMgbm90IHNldAogQ09ORklHX1NBVEFfTVY9eQpAQCAtNTY2LDcgKzU5MCw2IEBACiAjIENPTkZJR19TQVRBX1BST01JU0UgaXMgbm90IHNldAogIyBDT05GSUdfU0FUQV9TWDQgaXMgbm90IHNldAogIyBDT05GSUdfU0FUQV9TSUwgaXMgbm90IHNldAotIyBDT05GSUdfU0FUQV9TSUwyNCBpcyBub3Qgc2V0CiAjIENPTkZJR19TQVRBX1NJUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQVRBX1VMSSBpcyBub3Qgc2V0CiAjIENPTkZJR19TQVRBX1ZJQSBpcyBub3Qgc2V0CkBAIC02MTEsNiArNjM0LDcgQEAKICMgQ09ORklHX1BBVEFfVklBIGlzIG5vdCBzZXQKICMgQ09ORklHX1BBVEFfV0lOQk9ORCBpcyBub3Qgc2V0CiAjIENPTkZJR19QQVRBX1BMQVRGT1JNIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfU0NIIGlzIG5vdCBzZXQKICMgQ09ORklHX01EIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZVU0lPTiBpcyBub3Qgc2V0CiAKQEAgLTY1Miw3ICs2NzYsNyBAQAogIyBDT05GSUdfQjQ0IGlzIG5vdCBzZXQKICMgQ09ORklHX0ZPUkNFREVUSCBpcyBub3Qgc2V0CiAjIENPTkZJR19FRVBSTzEwMCBpcyBub3Qgc2V0Ci1DT05GSUdfRTEwMD15CisjIENPTkZJR19FMTAwIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZFQUxOWCBpcyBub3Qgc2V0CiAjIENPTkZJR19OQVRTRU1JIGlzIG5vdCBzZXQKICMgQ09ORklHX05FMktfUENJIGlzIG5vdCBzZXQKQEAgLTY2OCw5ICs2OTIsNyBAQAogQ09ORklHX05FVERFVl8xMDAwPXkKICMgQ09ORklHX0FDRU5JQyBpcyBub3Qgc2V0CiAjIENPTkZJR19ETDJLIGlzIG5vdCBzZXQKLUNPTkZJR19FMTAwMD15Ci1DT05GSUdfRTEwMDBfTkFQST15Ci0jIENPTkZJR19FMTAwMF9ESVNBQkxFX1BBQ0tFVF9TUExJVCBpcyBub3Qgc2V0CisjIENPTkZJR19FMTAwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19FMTAwMEUgaXMgbm90IHNldAogIyBDT05GSUdfRTEwMDBFX0VOQUJMRUQgaXMgbm90IHNldAogIyBDT05GSUdfSVAxMDAwIGlzIG5vdCBzZXQKQEAgLTY4MCwyNyArNzAyLDE1IEBACiAjIENPTkZJR19ZRUxMT1dGSU4gaXMgbm90IHNldAogIyBDT05GSUdfUjgxNjkgaXMgbm90IHNldAogIyBDT05GSUdfU0lTMTkwIGlzIG5vdCBzZXQKLUNPTkZJR19TS0dFPXkKLUNPTkZJR19TS1kyPXkKLSMgQ09ORklHX1NLOThMSU4gaXMgbm90IHNldAorIyBDT05GSUdfU0tHRSBpcyBub3Qgc2V0CisjIENPTkZJR19TS1kyIGlzIG5vdCBzZXQKICMgQ09ORklHX1ZJQV9WRUxPQ0lUWSBpcyBub3Qgc2V0Ci1DT05GSUdfVElHT04zPXkKKyMgQ09ORklHX1RJR09OMyBpcyBub3Qgc2V0CiAjIENPTkZJR19CTlgyIGlzIG5vdCBzZXQKIENPTkZJR19NVjY0M1hYX0VUSD15CiAjIENPTkZJR19RTEEzWFhYIGlzIG5vdCBzZXQKICMgQ09ORklHX0FUTDEgaXMgbm90IHNldAotQ09ORklHX05FVERFVl8xMDAwMD15Ci0jIENPTkZJR19DSEVMU0lPX1QxIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NIRUxTSU9fVDMgaXMgbm90IHNldAotIyBDT05GSUdfSVhHQkUgaXMgbm90IHNldAotIyBDT05GSUdfSVhHQiBpcyBub3Qgc2V0Ci0jIENPTkZJR19TMklPIGlzIG5vdCBzZXQKLSMgQ09ORklHX01ZUkkxMEdFIGlzIG5vdCBzZXQKLSMgQ09ORklHX05FVFhFTl9OSUMgaXMgbm90IHNldAotIyBDT05GSUdfTklVIGlzIG5vdCBzZXQKLSMgQ09ORklHX01MWDRfQ09SRSBpcyBub3Qgc2V0Ci0jIENPTkZJR19URUhVVEkgaXMgbm90IHNldAotIyBDT05GSUdfQk5YMlggaXMgbm90IHNldAorIyBDT05GSUdfTkVUREVWXzEwMDAwIGlzIG5vdCBzZXQKICMgQ09ORklHX1RSIGlzIG5vdCBzZXQKIAogIwpAQCAtNzA4LDYgKzcxOCw3IEBACiAjCiAjIENPTkZJR19XTEFOX1BSRTgwMjExIGlzIG5vdCBzZXQKICMgQ09ORklHX1dMQU5fODAyMTEgaXMgbm90IHNldAorIyBDT05GSUdfSVdMV0lGSV9MRURTIGlzIG5vdCBzZXQKIAogIwogIyBVU0IgTmV0d29yayBBZGFwdGVycwpAQCAtNzM4LDEyICs3NDksOSBAQAogIwogIyBVc2VybGFuZCBpbnRlcmZhY2VzCiAjCi1DT05GSUdfSU5QVVRfTU9VU0VERVY9eQotQ09ORklHX0lOUFVUX01PVVNFREVWX1BTQVVYPXkKLUNPTkZJR19JTlBVVF9NT1VTRURFVl9TQ1JFRU5fWD0xMDI0Ci1DT05GSUdfSU5QVVRfTU9VU0VERVZfU0NSRUVOX1k9NzY4CisjIENPTkZJR19JTlBVVF9NT1VTRURFViBpcyBub3Qgc2V0CiAjIENPTkZJR19JTlBVVF9KT1lERVYgaXMgbm90IHNldAotIyBDT05GSUdfSU5QVVRfRVZERVYgaXMgbm90IHNldAorQ09ORklHX0lOUFVUX0VWREVWPXkKICMgQ09ORklHX0lOUFVUX0VWQlVHIGlzIG5vdCBzZXQKIAogIwpAQCAtNzY1LDEwICs3NzMsOCBAQAogIwogIyBDaGFyYWN0ZXIgZGV2aWNlcwogIwotQ09ORklHX1ZUPXkKLUNPTkZJR19WVF9DT05TT0xFPXkKLUNPTkZJR19IV19DT05TT0xFPXkKLSMgQ09ORklHX1ZUX0hXX0NPTlNPTEVfQklORElORyBpcyBub3Qgc2V0CisjIENPTkZJR19WVCBpcyBub3Qgc2V0CitDT05GSUdfREVWS01FTT15CiAjIENPTkZJR19TRVJJQUxfTk9OU1RBTkRBUkQgaXMgbm90IHNldAogIyBDT05GSUdfTk9aT01JIGlzIG5vdCBzZXQKIApAQCAtNzc3LDcgKzc4Myw3IEBACiAjCiBDT05GSUdfU0VSSUFMXzgyNTA9eQogQ09ORklHX1NFUklBTF84MjUwX0NPTlNPTEU9eQotQ09ORklHX1NFUklBTF84MjUwX1BDST15CisjIENPTkZJR19TRVJJQUxfODI1MF9QQ0kgaXMgbm90IHNldAogQ09ORklHX1NFUklBTF84MjUwX05SX1VBUlRTPTQKIENPTkZJR19TRVJJQUxfODI1MF9SVU5USU1FX1VBUlRTPTIKICMgQ09ORklHX1NFUklBTF84MjUwX0VYVEVOREVEIGlzIG5vdCBzZXQKQEAgLTc5Miw3ICs3OTgsNyBAQAogQ09ORklHX0xFR0FDWV9QVFlTPXkKIENPTkZJR19MRUdBQ1lfUFRZX0NPVU5UPTE2CiAjIENPTkZJR19JUE1JX0hBTkRMRVIgaXMgbm90IHNldAotQ09ORklHX0hXX1JBTkRPTT1tCisjIENPTkZJR19IV19SQU5ET00gaXMgbm90IHNldAogIyBDT05GSUdfTlZSQU0gaXMgbm90IHNldAogIyBDT05GSUdfUjM5NjQgaXMgbm90IHNldAogIyBDT05GSUdfQVBQTElDT00gaXMgbm90IHNldApAQCAtODA0LDEzICs4MTAsNiBAQAogQ09ORklHX0kyQ19DSEFSREVWPXkKIAogIwotIyBJMkMgQWxnb3JpdGhtcwotIwotIyBDT05GSUdfSTJDX0FMR09CSVQgaXMgbm90IHNldAotIyBDT05GSUdfSTJDX0FMR09QQ0YgaXMgbm90IHNldAotIyBDT05GSUdfSTJDX0FMR09QQ0EgaXMgbm90IHNldAotCi0jCiAjIEkyQyBIYXJkd2FyZSBCdXMgc3VwcG9ydAogIwogIyBDT05GSUdfSTJDX0FMSTE1MzUgaXMgbm90IHNldApAQCAtODM3LDYgKzgzNiw3IEBACiAjIENPTkZJR19JMkNfVklBIGlzIG5vdCBzZXQKICMgQ09ORklHX0kyQ19WSUFQUk8gaXMgbm90IHNldAogIyBDT05GSUdfSTJDX1ZPT0RPTzMgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1BDQV9QTEFURk9STSBpcyBub3Qgc2V0CiBDT05GSUdfSTJDX01WNjRYWFg9eQogCiAjCkBAIC04NDcsMTkgKzg0NywxMyBAQAogIyBDT05GSUdfU0VOU09SU19QQ0Y4NTc0IGlzIG5vdCBzZXQKICMgQ09ORklHX1BDRjg1NzUgaXMgbm90IHNldAogIyBDT05GSUdfU0VOU09SU19QQ0Y4NTkxIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RQUzY1MDEwIGlzIG5vdCBzZXQKICMgQ09ORklHX1NFTlNPUlNfTUFYNjg3NSBpcyBub3Qgc2V0CiAjIENPTkZJR19TRU5TT1JTX1RTTDI1NTAgaXMgbm90IHNldAogIyBDT05GSUdfSTJDX0RFQlVHX0NPUkUgaXMgbm90IHNldAogIyBDT05GSUdfSTJDX0RFQlVHX0FMR08gaXMgbm90IHNldAogIyBDT05GSUdfSTJDX0RFQlVHX0JVUyBpcyBub3Qgc2V0CiAjIENPTkZJR19JMkNfREVCVUdfQ0hJUCBpcyBub3Qgc2V0Ci0KLSMKLSMgU1BJIHN1cHBvcnQKLSMKICMgQ09ORklHX1NQSSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TUElfTUFTVEVSIGlzIG5vdCBzZXQKICMgQ09ORklHX1cxIGlzIG5vdCBzZXQKICMgQ09ORklHX1BPV0VSX1NVUFBMWSBpcyBub3Qgc2V0CiBDT05GSUdfSFdNT049eQpAQCAtODcyLDYgKzg2Niw3IEBACiAjIENPTkZJR19TRU5TT1JTX0FETTEwMzEgaXMgbm90IHNldAogIyBDT05GSUdfU0VOU09SU19BRE05MjQwIGlzIG5vdCBzZXQKICMgQ09ORklHX1NFTlNPUlNfQURUNzQ3MCBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0FEVDc0NzMgaXMgbm90IHNldAogIyBDT05GSUdfU0VOU09SU19BVFhQMSBpcyBub3Qgc2V0CiAjIENPTkZJR19TRU5TT1JTX0RTMTYyMSBpcyBub3Qgc2V0CiAjIENPTkZJR19TRU5TT1JTX0k1S19BTUIgaXMgbm90IHNldApAQCAtOTAxLDYgKzg5Niw3IEBACiAjIENPTkZJR19TRU5TT1JTX1NNU0M0N00xIGlzIG5vdCBzZXQKICMgQ09ORklHX1NFTlNPUlNfU01TQzQ3TTE5MiBpcyBub3Qgc2V0CiAjIENPTkZJR19TRU5TT1JTX1NNU0M0N0IzOTcgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19BRFM3ODI4IGlzIG5vdCBzZXQKICMgQ09ORklHX1NFTlNPUlNfVEhNQzUwIGlzIG5vdCBzZXQKICMgQ09ORklHX1NFTlNPUlNfVklBNjg2QSBpcyBub3Qgc2V0CiAjIENPTkZJR19TRU5TT1JTX1ZUMTIxMSBpcyBub3Qgc2V0CkBAIC05MTAsNiArOTA2LDcgQEAKICMgQ09ORklHX1NFTlNPUlNfVzgzNzkyRCBpcyBub3Qgc2V0CiAjIENPTkZJR19TRU5TT1JTX1c4Mzc5MyBpcyBub3Qgc2V0CiAjIENPTkZJR19TRU5TT1JTX1c4M0w3ODVUUyBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX1c4M0w3ODZORyBpcyBub3Qgc2V0CiAjIENPTkZJR19TRU5TT1JTX1c4MzYyN0hGIGlzIG5vdCBzZXQKICMgQ09ORklHX1NFTlNPUlNfVzgzNjI3RUhGIGlzIG5vdCBzZXQKICMgQ09ORklHX0hXTU9OX0RFQlVHX0NISVAgaXMgbm90IHNldApAQCAtOTI1LDE0ICs5MjIsMjQgQEAKICMgTXVsdGlmdW5jdGlvbiBkZXZpY2UgZHJpdmVycwogIwogIyBDT05GSUdfTUZEX1NNNTAxIGlzIG5vdCBzZXQKKyMgQ09ORklHX01GRF9BU0lDMyBpcyBub3Qgc2V0CisjIENPTkZJR19IVENfUEFTSUMzIGlzIG5vdCBzZXQKIAogIwogIyBNdWx0aW1lZGlhIGRldmljZXMKICMKKworIworIyBNdWx0aW1lZGlhIGNvcmUgc3VwcG9ydAorIwogIyBDT05GSUdfVklERU9fREVWIGlzIG5vdCBzZXQKICMgQ09ORklHX0RWQl9DT1JFIGlzIG5vdCBzZXQKLUNPTkZJR19EQUI9eQotIyBDT05GSUdfVVNCX0RBQlVTQiBpcyBub3Qgc2V0CisjIENPTkZJR19WSURFT19NRURJQSBpcyBub3Qgc2V0CisKKyMKKyMgTXVsdGltZWRpYSBkcml2ZXJzCisjCisjIENPTkZJR19EQUIgaXMgbm90IHNldAogCiAjCiAjIEdyYXBoaWNzIHN1cHBvcnQKQEAgLTk0OSwxMiArOTU2LDYgQEAKICMgQ09ORklHX0RJU1BMQVlfU1VQUE9SVCBpcyBub3Qgc2V0CiAKICMKLSMgQ29uc29sZSBkaXNwbGF5IGRyaXZlciBzdXBwb3J0Ci0jCi0jIENPTkZJR19WR0FfQ09OU09MRSBpcyBub3Qgc2V0Ci1DT05GSUdfRFVNTVlfQ09OU09MRT15Ci0KLSMKICMgU291bmQKICMKICMgQ09ORklHX1NPVU5EIGlzIG5vdCBzZXQKQEAgLTk4NSwxNCArOTg2LDE4IEBACiBDT05GSUdfVVNCX0RFVklDRV9DTEFTUz15CiAjIENPTkZJR19VU0JfRFlOQU1JQ19NSU5PUlMgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX09URyBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfT1RHX1dISVRFTElTVCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfT1RHX0JMQUNLTElTVF9IVUIgaXMgbm90IHNldAogCiAjCiAjIFVTQiBIb3N0IENvbnRyb2xsZXIgRHJpdmVycwogIworIyBDT05GSUdfVVNCX0M2N1gwMF9IQ0QgaXMgbm90IHNldAogQ09ORklHX1VTQl9FSENJX0hDRD15CiBDT05GSUdfVVNCX0VIQ0lfUk9PVF9IVUJfVFQ9eQogQ09ORklHX1VTQl9FSENJX1RUX05FV1NDSEVEPXkKICMgQ09ORklHX1VTQl9JU1AxMTZYX0hDRCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfSVNQMTc2MF9IQ0QgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX09IQ0lfSENEIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9VSENJX0hDRCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfU0w4MTFfSENEIGlzIG5vdCBzZXQKQEAgLTEwMDMsNiArMTAwOCw3IEBACiAjCiAjIENPTkZJR19VU0JfQUNNIGlzIG5vdCBzZXQKIENPTkZJR19VU0JfUFJJTlRFUj15CisjIENPTkZJR19VU0JfV0RNIGlzIG5vdCBzZXQKIAogIwogIyBOT1RFOiBVU0JfU1RPUkFHRSBlbmFibGVzIFNDU0ksIGFuZCAnU0NTSSBkaXNrIHN1cHBvcnQnCkBAIC0xMDIyLDcgKzEwMjgsOSBAQAogQ09ORklHX1VTQl9TVE9SQUdFX1NERFI1NT15CiBDT05GSUdfVVNCX1NUT1JBR0VfSlVNUFNIT1Q9eQogIyBDT05GSUdfVVNCX1NUT1JBR0VfQUxBVURBIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TVE9SQUdFX09ORVRPVUNIIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9TVE9SQUdFX0tBUk1BIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TVE9SQUdFX0NZUFJFU1NfQVRBQ0IgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX0xJQlVTVUFMIGlzIG5vdCBzZXQKIAogIwpAQCAtMTA2MCw2ICsxMDY4LDcgQEAKICMgQ09ORklHX1VTQl9UUkFOQ0VWSUJSQVRPUiBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfSU9XQVJSSU9SIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9URVNUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9JU0lHSFRGVyBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfR0FER0VUIGlzIG5vdCBzZXQKICMgQ09ORklHX01NQyBpcyBub3Qgc2V0CiBDT05GSUdfTkVXX0xFRFM9eQpAQCAtMTA2OCw3ICsxMDc3LDcgQEAKICMKICMgTEVEIGRyaXZlcnMKICMKLSMgQ09ORklHX0xFRFNfR1BJTyBpcyBub3Qgc2V0CitDT05GSUdfTEVEU19HUElPPXkKIAogIwogIyBMRUQgVHJpZ2dlcnMKQEAgLTEwNzYsNiArMTA4NSw3IEBACiBDT05GSUdfTEVEU19UUklHR0VSUz15CiBDT05GSUdfTEVEU19UUklHR0VSX1RJTUVSPXkKIENPTkZJR19MRURTX1RSSUdHRVJfSEVBUlRCRUFUPXkKK0NPTkZJR19MRURTX1RSSUdHRVJfREVGQVVMVF9PTj15CiBDT05GSUdfUlRDX0xJQj15CiBDT05GSUdfUlRDX0NMQVNTPXkKIENPTkZJR19SVENfSENUT1NZUz15CkBAIC0xMTA1LDYgKzExMTUsNyBAQAogIyBDT05GSUdfUlRDX0RSVl9QQ0Y4NTgzIGlzIG5vdCBzZXQKIENPTkZJR19SVENfRFJWX000MVQ4MD15CiAjIENPTkZJR19SVENfRFJWX000MVQ4MF9XRFQgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9TMzUzOTBBIGlzIG5vdCBzZXQKIAogIwogIyBTUEkgUlRDIGRyaXZlcnMKQEAgLTExMjUsNiArMTEzNiw3IEBACiAjCiAjIG9uLUNQVSBSVEMgZHJpdmVycwogIworIyBDT05GSUdfVUlPIGlzIG5vdCBzZXQKIAogIwogIyBGaWxlIHN5c3RlbXMKQEAgLTExNDAsMTQgKzExNTIsMTEgQEAKICMgQ09ORklHX0pGU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19GU19QT1NJWF9BQ0wgaXMgbm90IHNldAogIyBDT05GSUdfWEZTX0ZTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0dGUzJfRlMgaXMgbm90IHNldAogIyBDT05GSUdfT0NGUzJfRlMgaXMgbm90IHNldAotIyBDT05GSUdfTUlOSVhfRlMgaXMgbm90IHNldAotIyBDT05GSUdfUk9NRlNfRlMgaXMgbm90IHNldAorQ09ORklHX0ROT1RJRlk9eQogQ09ORklHX0lOT1RJRlk9eQogQ09ORklHX0lOT1RJRllfVVNFUj15CiAjIENPTkZJR19RVU9UQSBpcyBub3Qgc2V0Ci1DT05GSUdfRE5PVElGWT15CiAjIENPTkZJR19BVVRPRlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfQVVUT0ZTNF9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19GVVNFX0ZTIGlzIG5vdCBzZXQKQEAgLTExNTUsOCArMTE2NCw4IEBACiAjCiAjIENELVJPTS9EVkQgRmlsZXN5c3RlbXMKICMKLUNPTkZJR19JU085NjYwX0ZTPXkKLSMgQ09ORklHX0pPTElFVCBpcyBub3Qgc2V0CitDT05GSUdfSVNPOTY2MF9GUz1tCitDT05GSUdfSk9MSUVUPXkKICMgQ09ORklHX1pJU09GUyBpcyBub3Qgc2V0CiBDT05GSUdfVURGX0ZTPW0KIENPTkZJR19VREZfTkxTPXkKQEAgLTEyMDUsOCArMTIxNCwxMCBAQAogIyBDT05GSUdfSkZGUzJfUlVCSU4gaXMgbm90IHNldAogQ09ORklHX0NSQU1GUz15CiAjIENPTkZJR19WWEZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX01JTklYX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0hQRlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfUU5YNEZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JPTUZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NZU1ZfRlMgaXMgbm90IHNldAogIyBDT05GSUdfVUZTX0ZTIGlzIG5vdCBzZXQKIENPTkZJR19ORVRXT1JLX0ZJTEVTWVNURU1TPXkKQEAgLTEyMTQsNyArMTIyNSw2IEBACiBDT05GSUdfTkZTX1YzPXkKICMgQ09ORklHX05GU19WM19BQ0wgaXMgbm90IHNldAogIyBDT05GSUdfTkZTX1Y0IGlzIG5vdCBzZXQKLSMgQ09ORklHX05GU19ESVJFQ1RJTyBpcyBub3Qgc2V0CiAjIENPTkZJR19ORlNEIGlzIG5vdCBzZXQKIENPTkZJR19ST09UX05GUz15CiBDT05GSUdfTE9DS0Q9eQpAQCAtMTI0MSwxNCArMTI1MSwxMyBAQAogIyBDT05GSUdfTUFDX1BBUlRJVElPTiBpcyBub3Qgc2V0CiBDT05GSUdfTVNET1NfUEFSVElUSU9OPXkKIENPTkZJR19CU0RfRElTS0xBQkVMPXkKLUNPTkZJR19NSU5JWF9TVUJQQVJUSVRJT049eQotQ09ORklHX1NPTEFSSVNfWDg2X1BBUlRJVElPTj15Ci1DT05GSUdfVU5JWFdBUkVfRElTS0xBQkVMPXkKLUNPTkZJR19MRE1fUEFSVElUSU9OPXkKLUNPTkZJR19MRE1fREVCVUc9eQorIyBDT05GSUdfTUlOSVhfU1VCUEFSVElUSU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NPTEFSSVNfWDg2X1BBUlRJVElPTiBpcyBub3Qgc2V0CisjIENPTkZJR19VTklYV0FSRV9ESVNLTEFCRUwgaXMgbm90IHNldAorIyBDT05GSUdfTERNX1BBUlRJVElPTiBpcyBub3Qgc2V0CiAjIENPTkZJR19TR0lfUEFSVElUSU9OIGlzIG5vdCBzZXQKICMgQ09ORklHX1VMVFJJWF9QQVJUSVRJT04gaXMgbm90IHNldAotQ09ORklHX1NVTl9QQVJUSVRJT049eQorIyBDT05GSUdfU1VOX1BBUlRJVElPTiBpcyBub3Qgc2V0CiAjIENPTkZJR19LQVJNQV9QQVJUSVRJT04gaXMgbm90IHNldAogIyBDT05GSUdfRUZJX1BBUlRJVElPTiBpcyBub3Qgc2V0CiAjIENPTkZJR19TWVNWNjhfUEFSVElUSU9OIGlzIG5vdCBzZXQKQEAgLTEzMDAsMTUgKzEzMDksNDggQEAKICMgQ09ORklHX1BSSU5US19USU1FIGlzIG5vdCBzZXQKIENPTkZJR19FTkFCTEVfV0FSTl9ERVBSRUNBVEVEPXkKIENPTkZJR19FTkFCTEVfTVVTVF9DSEVDSz15Ci0jIENPTkZJR19NQUdJQ19TWVNSUSBpcyBub3Qgc2V0CitDT05GSUdfRlJBTUVfV0FSTj0xMDI0CitDT05GSUdfTUFHSUNfU1lTUlE9eQogIyBDT05GSUdfVU5VU0VEX1NZTUJPTFMgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfRlMgaXMgbm90IHNldAogIyBDT05GSUdfSEVBREVSU19DSEVDSyBpcyBub3Qgc2V0Ci0jIENPTkZJR19ERUJVR19LRVJORUwgaXMgbm90IHNldAorQ09ORklHX0RFQlVHX0tFUk5FTD15CisjIENPTkZJR19ERUJVR19TSElSUSBpcyBub3Qgc2V0CitDT05GSUdfREVURUNUX1NPRlRMT0NLVVA9eQorQ09ORklHX1NDSEVEX0RFQlVHPXkKK0NPTkZJR19TQ0hFRFNUQVRTPXkKKyMgQ09ORklHX1RJTUVSX1NUQVRTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFQlVHX09CSkVDVFMgaXMgbm90IHNldAorQ09ORklHX0RFQlVHX1BSRUVNUFQ9eQorIyBDT05GSUdfREVCVUdfUlRfTVVURVhFUyBpcyBub3Qgc2V0CisjIENPTkZJR19SVF9NVVRFWF9URVNURVIgaXMgbm90IHNldAorIyBDT05GSUdfREVCVUdfU1BJTkxPQ0sgaXMgbm90IHNldAorIyBDT05GSUdfREVCVUdfTVVURVhFUyBpcyBub3Qgc2V0CisjIENPTkZJR19ERUJVR19MT0NLX0FMTE9DIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BST1ZFX0xPQ0tJTkcgaXMgbm90IHNldAorIyBDT05GSUdfTE9DS19TVEFUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFQlVHX1NQSU5MT0NLX1NMRUVQIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFQlVHX0xPQ0tJTkdfQVBJX1NFTEZURVNUUyBpcyBub3Qgc2V0CisjIENPTkZJR19ERUJVR19LT0JKRUNUIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX0JVR1ZFUkJPU0UgaXMgbm90IHNldAorQ09ORklHX0RFQlVHX0lORk89eQorIyBDT05GSUdfREVCVUdfVk0gaXMgbm90IHNldAorIyBDT05GSUdfREVCVUdfV1JJVEVDT1VOVCBpcyBub3Qgc2V0CisjIENPTkZJR19ERUJVR19MSVNUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFQlVHX1NHIGlzIG5vdCBzZXQKIENPTkZJR19GUkFNRV9QT0lOVEVSPXkKKyMgQ09ORklHX0JPT1RfUFJJTlRLX0RFTEFZIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JDVV9UT1JUVVJFX1RFU1QgaXMgbm90IHNldAorIyBDT05GSUdfS1BST0JFU19TQU5JVFlfVEVTVCBpcyBub3Qgc2V0CisjIENPTkZJR19CQUNLVFJBQ0VfU0VMRl9URVNUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0xLRFRNIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZBVUxUX0lOSkVDVElPTiBpcyBub3Qgc2V0CiAjIENPTkZJR19TQU1QTEVTIGlzIG5vdCBzZXQKIENPTkZJR19ERUJVR19VU0VSPXkKK0NPTkZJR19ERUJVR19FUlJPUlM9eQorIyBDT05GSUdfREVCVUdfU1RBQ0tfVVNBR0UgaXMgbm90IHNldAorQ09ORklHX0RFQlVHX0xMPXkKKyMgQ09ORklHX0RFQlVHX0lDRURDQyBpcyBub3Qgc2V0CiAKICMKICMgU2VjdXJpdHkgb3B0aW9ucwpAQCAtMTMxNyw1MCArMTM1OSw3OSBAQAogIyBDT05GSUdfU0VDVVJJVFkgaXMgbm90IHNldAogIyBDT05GSUdfU0VDVVJJVFlfRklMRV9DQVBBQklMSVRJRVMgaXMgbm90IHNldAogQ09ORklHX0NSWVBUTz15CisKKyMKKyMgQ3J5cHRvIGNvcmUgb3IgaGVscGVyCisjCiBDT05GSUdfQ1JZUFRPX0FMR0FQST1tCiBDT05GSUdfQ1JZUFRPX0JMS0NJUEhFUj1tCi0jIENPTkZJR19DUllQVE9fU0VRSVYgaXMgbm90IHNldAogQ09ORklHX0NSWVBUT19NQU5BR0VSPW0KKyMgQ09ORklHX0NSWVBUT19HRjEyOE1VTCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fTlVMTCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQ1JZUFREIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19BVVRIRU5DIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19URVNUIGlzIG5vdCBzZXQKKworIworIyBBdXRoZW50aWNhdGVkIEVuY3J5cHRpb24gd2l0aCBBc3NvY2lhdGVkIERhdGEKKyMKKyMgQ09ORklHX0NSWVBUT19DQ00gaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0dDTSBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fU0VRSVYgaXMgbm90IHNldAorCisjCisjIEJsb2NrIG1vZGVzCisjCitDT05GSUdfQ1JZUFRPX0NCQz1tCisjIENPTkZJR19DUllQVE9fQ1RSIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19DVFMgaXMgbm90IHNldAorQ09ORklHX0NSWVBUT19FQ0I9bQorIyBDT05GSUdfQ1JZUFRPX0xSVyBpcyBub3Qgc2V0CitDT05GSUdfQ1JZUFRPX1BDQkM9bQorIyBDT05GSUdfQ1JZUFRPX1hUUyBpcyBub3Qgc2V0CisKKyMKKyMgSGFzaCBtb2RlcworIwogIyBDT05GSUdfQ1JZUFRPX0hNQUMgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX1hDQkMgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX05VTEwgaXMgbm90IHNldAorCisjCisjIERpZ2VzdAorIworIyBDT05GSUdfQ1JZUFRPX0NSQzMyQyBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fTUQ0IGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19NRDUgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX01JQ0hBRUxfTUlDIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19TSEExIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19TSEEyNTYgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX1NIQTUxMiBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fV1A1MTIgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX1RHUjE5MiBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fR0YxMjhNVUwgaXMgbm90IHNldAotQ09ORklHX0NSWVBUT19FQ0I9bQotQ09ORklHX0NSWVBUT19DQkM9bQotQ09ORklHX0NSWVBUT19QQ0JDPW0KLSMgQ09ORklHX0NSWVBUT19MUlcgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX1hUUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fQ1RSIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19HQ00gaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX0NDTSBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fQ1JZUFREIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19ERVMgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX0ZDUllQVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fQkxPV0ZJU0ggaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX1RXT0ZJU0ggaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX1NFUlBFTlQgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1dQNTEyIGlzIG5vdCBzZXQKKworIworIyBDaXBoZXJzCisjCiAjIENPTkZJR19DUllQVE9fQUVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19BTlVCSVMgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0FSQzQgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0JMT1dGSVNIIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19DQU1FTExJQSBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fQ0FTVDUgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX0NBU1Q2IGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19URUEgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX0FSQzQgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0RFUyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fRkNSWVBUIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19LSEFaQUQgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX0FOVUJJUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fU0VFRCBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fU0FMU0EyMCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fU0VFRCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fU0VSUEVOVCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fVEVBIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19UV09GSVNIIGlzIG5vdCBzZXQKKworIworIyBDb21wcmVzc2lvbgorIwogIyBDT05GSUdfQ1JZUFRPX0RFRkxBVEUgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX01JQ0hBRUxfTUlDIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19DUkMzMkMgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX0NBTUVMTElBIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19URVNUIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19BVVRIRU5DIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19MWk8gaXMgbm90IHNldAogQ09ORklHX0NSWVBUT19IVz15CiAjIENPTkZJR19DUllQVE9fREVWX0hJRk5fNzk1WCBpcyBub3Qgc2V0CkBAIC0xMzY5LDEyICsxNDQwLDE0IEBACiAjIExpYnJhcnkgcm91dGluZXMKICMKIENPTkZJR19CSVRSRVZFUlNFPXkKLUNPTkZJR19DUkNfQ0NJVFQ9eQotQ09ORklHX0NSQzE2PXkKLSMgQ09ORklHX0NSQ19JVFVfVCBpcyBub3Qgc2V0CisjIENPTkZJR19HRU5FUklDX0ZJTkRfRklSU1RfQklUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0dFTkVSSUNfRklORF9ORVhUX0JJVCBpcyBub3Qgc2V0CisjIENPTkZJR19DUkNfQ0NJVFQgaXMgbm90IHNldAorIyBDT05GSUdfQ1JDMTYgaXMgbm90IHNldAorQ09ORklHX0NSQ19JVFVfVD1tCiBDT05GSUdfQ1JDMzI9eQogIyBDT05GSUdfQ1JDNyBpcyBub3Qgc2V0Ci1DT05GSUdfTElCQ1JDMzJDPXkKKyMgQ09ORklHX0xJQkNSQzMyQyBpcyBub3Qgc2V0CiBDT05GSUdfWkxJQl9JTkZMQVRFPXkKIENPTkZJR19aTElCX0RFRkxBVEU9eQogQ09ORklHX1BMSVNUPXkKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2NvbmZpZ3MvcGNtMDM3X2RlZmNvbmZpZyBiL2FyY2gvYXJtL2NvbmZpZ3MvcGNtMDM3X2RlZmNvbmZpZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42Mjc0NzQ1Ci0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vY29uZmlncy9wY20wMzdfZGVmY29uZmlnCkBAIC0wLDAgKzEsNzQ4IEBACisjCisjIEF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIG1ha2UgY29uZmlnOiBkb24ndCBlZGl0CisjIExpbnV4IGtlcm5lbCB2ZXJzaW9uOiAyLjYuMjYtcmM2CisjIFdlZCBKdW4gMjUgMTE6NTI6NDIgMjAwOAorIworQ09ORklHX0FSTT15CitDT05GSUdfU1lTX1NVUFBPUlRTX0FQTV9FTVVMQVRJT049eQorQ09ORklHX0dFTkVSSUNfR1BJTz15CitDT05GSUdfR0VORVJJQ19USU1FPXkKK0NPTkZJR19HRU5FUklDX0NMT0NLRVZFTlRTPXkKK0NPTkZJR19NTVU9eQorIyBDT05GSUdfTk9fSU9QT1JUIGlzIG5vdCBzZXQKK0NPTkZJR19HRU5FUklDX0hBUkRJUlFTPXkKK0NPTkZJR19TVEFDS1RSQUNFX1NVUFBPUlQ9eQorQ09ORklHX0xPQ0tERVBfU1VQUE9SVD15CitDT05GSUdfVFJBQ0VfSVJRRkxBR1NfU1VQUE9SVD15CitDT05GSUdfSEFSRElSUVNfU1dfUkVTRU5EPXkKK0NPTkZJR19HRU5FUklDX0lSUV9QUk9CRT15CitDT05GSUdfUldTRU1fR0VORVJJQ19TUElOTE9DSz15CisjIENPTkZJR19BUkNIX0hBU19JTE9HMl9VMzIgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9IQVNfSUxPRzJfVTY0IGlzIG5vdCBzZXQKK0NPTkZJR19HRU5FUklDX0hXRUlHSFQ9eQorQ09ORklHX0dFTkVSSUNfQ0FMSUJSQVRFX0RFTEFZPXkKK0NPTkZJR19BUkNIX1NVUFBPUlRTX0FPVVQ9eQorQ09ORklHX1pPTkVfRE1BPXkKK0NPTkZJR19BUkNIX01URF9YSVA9eQorQ09ORklHX1ZFQ1RPUlNfQkFTRT0weGZmZmYwMDAwCitDT05GSUdfREVGQ09ORklHX0xJU1Q9Ii9saWIvbW9kdWxlcy8kVU5BTUVfUkVMRUFTRS8uY29uZmlnIgorCisjCisjIEdlbmVyYWwgc2V0dXAKKyMKK0NPTkZJR19FWFBFUklNRU5UQUw9eQorQ09ORklHX0JST0tFTl9PTl9TTVA9eQorQ09ORklHX0xPQ0tfS0VSTkVMPXkKK0NPTkZJR19JTklUX0VOVl9BUkdfTElNSVQ9MzIKK0NPTkZJR19MT0NBTFZFUlNJT049IiIKK0NPTkZJR19MT0NBTFZFUlNJT05fQVVUTz15CitDT05GSUdfU1dBUD15CitDT05GSUdfU1lTVklQQz15CitDT05GSUdfU1lTVklQQ19TWVNDVEw9eQorIyBDT05GSUdfUE9TSVhfTVFVRVVFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JTRF9QUk9DRVNTX0FDQ1QgaXMgbm90IHNldAorIyBDT05GSUdfVEFTS1NUQVRTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FVRElUIGlzIG5vdCBzZXQKK0NPTkZJR19JS0NPTkZJRz15CitDT05GSUdfSUtDT05GSUdfUFJPQz15CitDT05GSUdfTE9HX0JVRl9TSElGVD0xNAorIyBDT05GSUdfQ0dST1VQUyBpcyBub3Qgc2V0CitDT05GSUdfR1JPVVBfU0NIRUQ9eQorQ09ORklHX0ZBSVJfR1JPVVBfU0NIRUQ9eQorIyBDT05GSUdfUlRfR1JPVVBfU0NIRUQgaXMgbm90IHNldAorQ09ORklHX1VTRVJfU0NIRUQ9eQorIyBDT05GSUdfQ0dST1VQX1NDSEVEIGlzIG5vdCBzZXQKK0NPTkZJR19TWVNGU19ERVBSRUNBVEVEPXkKK0NPTkZJR19TWVNGU19ERVBSRUNBVEVEX1YyPXkKKyMgQ09ORklHX1JFTEFZIGlzIG5vdCBzZXQKKyMgQ09ORklHX05BTUVTUEFDRVMgaXMgbm90IHNldAorIyBDT05GSUdfQkxLX0RFVl9JTklUUkQgaXMgbm90IHNldAorQ09ORklHX0NDX09QVElNSVpFX0ZPUl9TSVpFPXkKK0NPTkZJR19TWVNDVEw9eQorQ09ORklHX0VNQkVEREVEPXkKK0NPTkZJR19VSUQxNj15CitDT05GSUdfU1lTQ1RMX1NZU0NBTEw9eQorQ09ORklHX1NZU0NUTF9TWVNDQUxMX0NIRUNLPXkKK0NPTkZJR19LQUxMU1lNUz15CisjIENPTkZJR19LQUxMU1lNU19FWFRSQV9QQVNTIGlzIG5vdCBzZXQKK0NPTkZJR19IT1RQTFVHPXkKK0NPTkZJR19QUklOVEs9eQorQ09ORklHX0JVRz15CitDT05GSUdfRUxGX0NPUkU9eQorQ09ORklHX0NPTVBBVF9CUks9eQorQ09ORklHX0JBU0VfRlVMTD15CitDT05GSUdfRlVURVg9eQorQ09ORklHX0FOT05fSU5PREVTPXkKK0NPTkZJR19FUE9MTD15CitDT05GSUdfU0lHTkFMRkQ9eQorQ09ORklHX1RJTUVSRkQ9eQorQ09ORklHX0VWRU5URkQ9eQorQ09ORklHX1NITUVNPXkKK0NPTkZJR19WTV9FVkVOVF9DT1VOVEVSUz15CitDT05GSUdfU0xBQj15CisjIENPTkZJR19TTFVCIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NMT0IgaXMgbm90IHNldAorIyBDT05GSUdfUFJPRklMSU5HIGlzIG5vdCBzZXQKKyMgQ09ORklHX01BUktFUlMgaXMgbm90IHNldAorQ09ORklHX0hBVkVfT1BST0ZJTEU9eQorIyBDT05GSUdfS1BST0JFUyBpcyBub3Qgc2V0CitDT05GSUdfSEFWRV9LUFJPQkVTPXkKK0NPTkZJR19IQVZFX0tSRVRQUk9CRVM9eQorIyBDT05GSUdfSEFWRV9ETUFfQVRUUlMgaXMgbm90IHNldAorQ09ORklHX1BST0NfUEFHRV9NT05JVE9SPXkKK0NPTkZJR19TTEFCSU5GTz15CitDT05GSUdfUlRfTVVURVhFUz15CisjIENPTkZJR19USU5ZX1NITUVNIGlzIG5vdCBzZXQKK0NPTkZJR19CQVNFX1NNQUxMPTAKK0NPTkZJR19NT0RVTEVTPXkKKyMgQ09ORklHX01PRFVMRV9GT1JDRV9MT0FEIGlzIG5vdCBzZXQKK0NPTkZJR19NT0RVTEVfVU5MT0FEPXkKK0NPTkZJR19NT0RVTEVfRk9SQ0VfVU5MT0FEPXkKK0NPTkZJR19NT0RWRVJTSU9OUz15CisjIENPTkZJR19NT0RVTEVfU1JDVkVSU0lPTl9BTEwgaXMgbm90IHNldAorQ09ORklHX0tNT0Q9eQorQ09ORklHX0JMT0NLPXkKKyMgQ09ORklHX0xCRCBpcyBub3Qgc2V0CisjIENPTkZJR19CTEtfREVWX0lPX1RSQUNFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0xTRiBpcyBub3Qgc2V0CisjIENPTkZJR19CTEtfREVWX0JTRyBpcyBub3Qgc2V0CisKKyMKKyMgSU8gU2NoZWR1bGVycworIworQ09ORklHX0lPU0NIRURfTk9PUD15CitDT05GSUdfSU9TQ0hFRF9BUz15CitDT05GSUdfSU9TQ0hFRF9ERUFETElORT15CitDT05GSUdfSU9TQ0hFRF9DRlE9eQorIyBDT05GSUdfREVGQVVMVF9BUyBpcyBub3Qgc2V0CisjIENPTkZJR19ERUZBVUxUX0RFQURMSU5FIGlzIG5vdCBzZXQKK0NPTkZJR19ERUZBVUxUX0NGUT15CisjIENPTkZJR19ERUZBVUxUX05PT1AgaXMgbm90IHNldAorQ09ORklHX0RFRkFVTFRfSU9TQ0hFRD0iY2ZxIgorQ09ORklHX0NMQVNTSUNfUkNVPXkKKworIworIyBTeXN0ZW0gVHlwZQorIworIyBDT05GSUdfQVJDSF9BQUVDMjAwMCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0lOVEVHUkFUT1IgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9SRUFMVklFVyBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX1ZFUlNBVElMRSBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0FUOTEgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9DTFBTNzUwMCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0NMUFM3MTFYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfQ08yODUgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9FQlNBMTEwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfRVA5M1hYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfRk9PVEJSSURHRSBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX05FVFggaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9INzIwWCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0lNWCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0lPUDEzWFggaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9JT1AzMlggaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9JT1AzM1ggaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9JWFAyM1hYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfSVhQMjAwMCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0lYUDRYWCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0w3MjAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfS1M4Njk1IGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfTlM5WFhYIGlzIG5vdCBzZXQKK0NPTkZJR19BUkNIX01YQz15CisjIENPTkZJR19BUkNIX09SSU9ONVggaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9QTlg0MDA4IGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfUFhBIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfUlBDIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfU0ExMTAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfUzNDMjQxMCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX1NIQVJLIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfTEg3QTQwWCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0RBVklOQ0kgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9PTUFQIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfTVNNN1gwMEEgaXMgbm90IHNldAorCisjCisjIEJvb3Qgb3B0aW9ucworIworCisjCisjIFBvd2VyIG1hbmFnZW1lbnQKKyMKKworIworIyBGcmVlc2NhbGUgTVhDIEltcGxlbWVudGF0aW9ucworIworQ09ORklHX0FSQ0hfTVgzPXkKKworIworIyBNWDMgT3B0aW9ucworIworIyBDT05GSUdfTUFDSF9NWDMxQURTIGlzIG5vdCBzZXQKK0NPTkZJR19NQUNIX1BDTTAzNz15CisKKyMKKyMgUHJvY2Vzc29yIFR5cGUKKyMKK0NPTkZJR19DUFVfMzI9eQorQ09ORklHX0NQVV9WNj15CisjIENPTkZJR19DUFVfMzJ2NksgaXMgbm90IHNldAorQ09ORklHX0NQVV8zMnY2PXkKK0NPTkZJR19DUFVfQUJSVF9FVjY9eQorQ09ORklHX0NQVV9QQUJSVF9OT0lGQVI9eQorQ09ORklHX0NQVV9DQUNIRV9WNj15CitDT05GSUdfQ1BVX0NBQ0hFX1ZJUFQ9eQorQ09ORklHX0NQVV9DT1BZX1Y2PXkKK0NPTkZJR19DUFVfVExCX1Y2PXkKK0NPTkZJR19DUFVfSEFTX0FTSUQ9eQorQ09ORklHX0NQVV9DUDE1PXkKK0NPTkZJR19DUFVfQ1AxNV9NTVU9eQorCisjCisjIFByb2Nlc3NvciBGZWF0dXJlcworIworQ09ORklHX0FSTV9USFVNQj15CisjIENPTkZJR19DUFVfSUNBQ0hFX0RJU0FCTEUgaXMgbm90IHNldAorIyBDT05GSUdfQ1BVX0RDQUNIRV9ESVNBQkxFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NQVV9CUFJFRElDVF9ESVNBQkxFIGlzIG5vdCBzZXQKKyMgQ09ORklHX09VVEVSX0NBQ0hFIGlzIG5vdCBzZXQKKworIworIyBCdXMgc3VwcG9ydAorIworIyBDT05GSUdfUENJX1NZU0NBTEwgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9TVVBQT1JUU19NU0kgaXMgbm90IHNldAorIyBDT05GSUdfUENDQVJEIGlzIG5vdCBzZXQKKworIworIyBLZXJuZWwgRmVhdHVyZXMKKyMKK0NPTkZJR19USUNLX09ORVNIT1Q9eQorQ09ORklHX05PX0haPXkKK0NPTkZJR19ISUdIX1JFU19USU1FUlM9eQorQ09ORklHX0dFTkVSSUNfQ0xPQ0tFVkVOVFNfQlVJTEQ9eQorQ09ORklHX1BSRUVNUFQ9eQorQ09ORklHX0haPTEwMAorQ09ORklHX0FFQUJJPXkKKyMgQ09ORklHX09BQklfQ09NUEFUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfRElTQ09OVElHTUVNX0VOQUJMRSBpcyBub3Qgc2V0CitDT05GSUdfU0VMRUNUX01FTU9SWV9NT0RFTD15CitDT05GSUdfRkxBVE1FTV9NQU5VQUw9eQorIyBDT05GSUdfRElTQ09OVElHTUVNX01BTlVBTCBpcyBub3Qgc2V0CisjIENPTkZJR19TUEFSU0VNRU1fTUFOVUFMIGlzIG5vdCBzZXQKK0NPTkZJR19GTEFUTUVNPXkKK0NPTkZJR19GTEFUX05PREVfTUVNX01BUD15CisjIENPTkZJR19TUEFSU0VNRU1fU1RBVElDIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NQQVJTRU1FTV9WTUVNTUFQX0VOQUJMRSBpcyBub3Qgc2V0CitDT05GSUdfUEFHRUZMQUdTX0VYVEVOREVEPXkKK0NPTkZJR19TUExJVF9QVExPQ0tfQ1BVUz00CisjIENPTkZJR19SRVNPVVJDRVNfNjRCSVQgaXMgbm90IHNldAorQ09ORklHX1pPTkVfRE1BX0ZMQUc9MQorQ09ORklHX0JPVU5DRT15CitDT05GSUdfVklSVF9UT19CVVM9eQorQ09ORklHX0FMSUdOTUVOVF9UUkFQPXkKKworIworIyBCb290IG9wdGlvbnMKKyMKK0NPTkZJR19aQk9PVF9ST01fVEVYVD0weDAKK0NPTkZJR19aQk9PVF9ST01fQlNTPTB4MAorQ09ORklHX0NNRExJTkU9Im5vaW5pdHJkIGNvbnNvbGU9dHR5bXhjMCwxMTUyMDAgcm9vdD0vZGV2L210ZGJsb2NrMiBydyBpcD1vZmYiCisjIENPTkZJR19YSVBfS0VSTkVMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0tFWEVDIGlzIG5vdCBzZXQKKworIworIyBGbG9hdGluZyBwb2ludCBlbXVsYXRpb24KKyMKKworIworIyBBdCBsZWFzdCBvbmUgZW11bGF0aW9uIG11c3QgYmUgc2VsZWN0ZWQKKyMKK0NPTkZJR19WRlA9eQorCisjCisjIFVzZXJzcGFjZSBiaW5hcnkgZm9ybWF0cworIworQ09ORklHX0JJTkZNVF9FTEY9eQorIyBDT05GSUdfQklORk1UX0FPVVQgaXMgbm90IHNldAorIyBDT05GSUdfQklORk1UX01JU0MgaXMgbm90IHNldAorCisjCisjIFBvd2VyIG1hbmFnZW1lbnQgb3B0aW9ucworIworIyBDT05GSUdfUE0gaXMgbm90IHNldAorQ09ORklHX0FSQ0hfU1VTUEVORF9QT1NTSUJMRT15CisKKyMKKyMgTmV0d29ya2luZworIworQ09ORklHX05FVD15CisKKyMKKyMgTmV0d29ya2luZyBvcHRpb25zCisjCitDT05GSUdfUEFDS0VUPXkKKyMgQ09ORklHX1BBQ0tFVF9NTUFQIGlzIG5vdCBzZXQKK0NPTkZJR19VTklYPXkKKyMgQ09ORklHX05FVF9LRVkgaXMgbm90IHNldAorQ09ORklHX0lORVQ9eQorIyBDT05GSUdfSVBfTVVMVElDQVNUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lQX0FEVkFOQ0VEX1JPVVRFUiBpcyBub3Qgc2V0CitDT05GSUdfSVBfRklCX0hBU0g9eQorQ09ORklHX0lQX1BOUD15CitDT05GSUdfSVBfUE5QX0RIQ1A9eQorIyBDT05GSUdfSVBfUE5QX0JPT1RQIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lQX1BOUF9SQVJQIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9JUElQIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9JUEdSRSBpcyBub3Qgc2V0CisjIENPTkZJR19BUlBEIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NZTl9DT09LSUVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lORVRfQUggaXMgbm90IHNldAorIyBDT05GSUdfSU5FVF9FU1AgaXMgbm90IHNldAorIyBDT05GSUdfSU5FVF9JUENPTVAgaXMgbm90IHNldAorIyBDT05GSUdfSU5FVF9YRlJNX1RVTk5FTCBpcyBub3Qgc2V0CisjIENPTkZJR19JTkVUX1RVTk5FTCBpcyBub3Qgc2V0CisjIENPTkZJR19JTkVUX1hGUk1fTU9ERV9UUkFOU1BPUlQgaXMgbm90IHNldAorIyBDT05GSUdfSU5FVF9YRlJNX01PREVfVFVOTkVMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lORVRfWEZSTV9NT0RFX0JFRVQgaXMgbm90IHNldAorIyBDT05GSUdfSU5FVF9MUk8gaXMgbm90IHNldAorIyBDT05GSUdfSU5FVF9ESUFHIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RDUF9DT05HX0FEVkFOQ0VEIGlzIG5vdCBzZXQKK0NPTkZJR19UQ1BfQ09OR19DVUJJQz15CitDT05GSUdfREVGQVVMVF9UQ1BfQ09ORz0iY3ViaWMiCisjIENPTkZJR19UQ1BfTUQ1U0lHIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lQVjYgaXMgbm90IHNldAorIyBDT05GSUdfTkVUV09SS19TRUNNQVJLIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVEZJTFRFUiBpcyBub3Qgc2V0CisjIENPTkZJR19JUF9EQ0NQIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lQX1NDVFAgaXMgbm90IHNldAorIyBDT05GSUdfVElQQyBpcyBub3Qgc2V0CisjIENPTkZJR19BVE0gaXMgbm90IHNldAorIyBDT05GSUdfQlJJREdFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZMQU5fODAyMVEgaXMgbm90IHNldAorIyBDT05GSUdfREVDTkVUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0xMQzIgaXMgbm90IHNldAorIyBDT05GSUdfSVBYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FUQUxLIGlzIG5vdCBzZXQKKyMgQ09ORklHX1gyNSBpcyBub3Qgc2V0CisjIENPTkZJR19MQVBCIGlzIG5vdCBzZXQKKyMgQ09ORklHX0VDT05FVCBpcyBub3Qgc2V0CisjIENPTkZJR19XQU5fUk9VVEVSIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9TQ0hFRCBpcyBub3Qgc2V0CisKKyMKKyMgTmV0d29yayB0ZXN0aW5nCisjCisjIENPTkZJR19ORVRfUEtUR0VOIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hBTVJBRElPIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NBTiBpcyBub3Qgc2V0CisjIENPTkZJR19JUkRBIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FGX1JYUlBDIGlzIG5vdCBzZXQKKworIworIyBXaXJlbGVzcworIworIyBDT05GSUdfQ0ZHODAyMTEgaXMgbm90IHNldAorIyBDT05GSUdfV0lSRUxFU1NfRVhUIGlzIG5vdCBzZXQKKyMgQ09ORklHX01BQzgwMjExIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lFRUU4MDIxMSBpcyBub3Qgc2V0CisjIENPTkZJR19SRktJTEwgaXMgbm90IHNldAorIyBDT05GSUdfTkVUXzlQIGlzIG5vdCBzZXQKKworIworIyBEZXZpY2UgRHJpdmVycworIworCisjCisjIEdlbmVyaWMgRHJpdmVyIE9wdGlvbnMKKyMKK0NPTkZJR19VRVZFTlRfSEVMUEVSX1BBVEg9Ii9zYmluL2hvdHBsdWciCitDT05GSUdfU1RBTkRBTE9ORT15CitDT05GSUdfUFJFVkVOVF9GSVJNV0FSRV9CVUlMRD15CitDT05GSUdfRldfTE9BREVSPW0KKyMgQ09ORklHX1NZU19IWVBFUlZJU09SIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NPTk5FQ1RPUiBpcyBub3Qgc2V0CitDT05GSUdfTVREPXkKKyMgQ09ORklHX01URF9ERUJVRyBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfQ09OQ0FUIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfUEFSVElUSU9OUz15CisjIENPTkZJR19NVERfUkVEQk9PVF9QQVJUUyBpcyBub3Qgc2V0CitDT05GSUdfTVREX0NNRExJTkVfUEFSVFM9eQorIyBDT05GSUdfTVREX0FGU19QQVJUUyBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfQVI3X1BBUlRTIGlzIG5vdCBzZXQKKworIworIyBVc2VyIE1vZHVsZXMgQW5kIFRyYW5zbGF0aW9uIExheWVycworIworQ09ORklHX01URF9DSEFSPXkKK0NPTkZJR19NVERfQkxLREVWUz15CitDT05GSUdfTVREX0JMT0NLPXkKKyMgQ09ORklHX0ZUTCBpcyBub3Qgc2V0CisjIENPTkZJR19ORlRMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lORlRMIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JGRF9GVEwgaXMgbm90IHNldAorIyBDT05GSUdfU1NGREMgaXMgbm90IHNldAorIyBDT05GSUdfTVREX09PUFMgaXMgbm90IHNldAorCisjCisjIFJBTS9ST00vRmxhc2ggY2hpcCBkcml2ZXJzCisjCitDT05GSUdfTVREX0NGST15CisjIENPTkZJR19NVERfSkVERUNQUk9CRSBpcyBub3Qgc2V0CitDT05GSUdfTVREX0dFTl9QUk9CRT15CisjIENPTkZJR19NVERfQ0ZJX0FEVl9PUFRJT05TIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9DRklfTk9TV0FQIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9DRklfQkVfQllURV9TV0FQIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9DRklfTEVfQllURV9TV0FQIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfTUFQX0JBTktfV0lEVEhfMT15CitDT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzI9eQorQ09ORklHX01URF9NQVBfQkFOS19XSURUSF80PXkKKyMgQ09ORklHX01URF9NQVBfQkFOS19XSURUSF84IGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9NQVBfQkFOS19XSURUSF8xNiBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfTUFQX0JBTktfV0lEVEhfMzIgaXMgbm90IHNldAorQ09ORklHX01URF9DRklfSTE9eQorQ09ORklHX01URF9DRklfSTI9eQorIyBDT05GSUdfTVREX0NGSV9JNCBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfQ0ZJX0k4IGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9DRklfSU5URUxFWFQgaXMgbm90IHNldAorIyBDT05GSUdfTVREX0NGSV9BTURTVEQgaXMgbm90IHNldAorIyBDT05GSUdfTVREX0NGSV9TVEFBIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9SQU0gaXMgbm90IHNldAorIyBDT05GSUdfTVREX1JPTSBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfQUJTRU5UIGlzIG5vdCBzZXQKKworIworIyBNYXBwaW5nIGRyaXZlcnMgZm9yIGNoaXAgYWNjZXNzCisjCisjIENPTkZJR19NVERfQ09NUExFWF9NQVBQSU5HUyBpcyBub3Qgc2V0CitDT05GSUdfTVREX1BIWVNNQVA9eQorQ09ORklHX01URF9QSFlTTUFQX1NUQVJUPTB4MAorQ09ORklHX01URF9QSFlTTUFQX0xFTj0wCitDT05GSUdfTVREX1BIWVNNQVBfQkFOS1dJRFRIPTIKKyMgQ09ORklHX01URF9BUk1fSU5URUdSQVRPUiBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfUExBVFJBTSBpcyBub3Qgc2V0CisKKyMKKyMgU2VsZi1jb250YWluZWQgTVREIGRldmljZSBkcml2ZXJzCisjCisjIENPTkZJR19NVERfU0xSQU0gaXMgbm90IHNldAorIyBDT05GSUdfTVREX1BIUkFNIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9NVERSQU0gaXMgbm90IHNldAorIyBDT05GSUdfTVREX0JMT0NLMk1URCBpcyBub3Qgc2V0CisKKyMKKyMgRGlzay1Pbi1DaGlwIERldmljZSBEcml2ZXJzCisjCisjIENPTkZJR19NVERfRE9DMjAwMCBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfRE9DMjAwMSBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfRE9DMjAwMVBMVVMgaXMgbm90IHNldAorIyBDT05GSUdfTVREX05BTkQgaXMgbm90IHNldAorIyBDT05GSUdfTVREX09ORU5BTkQgaXMgbm90IHNldAorCisjCisjIFVCSSAtIFVuc29ydGVkIGJsb2NrIGltYWdlcworIworIyBDT05GSUdfTVREX1VCSSBpcyBub3Qgc2V0CisjIENPTkZJR19QQVJQT1JUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JMS19ERVYgaXMgbm90IHNldAorIyBDT05GSUdfTUlTQ19ERVZJQ0VTIGlzIG5vdCBzZXQKK0NPTkZJR19IQVZFX0lERT15CisjIENPTkZJR19JREUgaXMgbm90IHNldAorCisjCisjIFNDU0kgZGV2aWNlIHN1cHBvcnQKKyMKKyMgQ09ORklHX1JBSURfQVRUUlMgaXMgbm90IHNldAorIyBDT05GSUdfU0NTSSBpcyBub3Qgc2V0CisjIENPTkZJR19TQ1NJX0RNQSBpcyBub3Qgc2V0CisjIENPTkZJR19TQ1NJX05FVExJTksgaXMgbm90IHNldAorIyBDT05GSUdfQVRBIGlzIG5vdCBzZXQKKyMgQ09ORklHX01EIGlzIG5vdCBzZXQKK0NPTkZJR19ORVRERVZJQ0VTPXkKKyMgQ09ORklHX05FVERFVklDRVNfTVVMVElRVUVVRSBpcyBub3Qgc2V0CisjIENPTkZJR19EVU1NWSBpcyBub3Qgc2V0CisjIENPTkZJR19CT05ESU5HIGlzIG5vdCBzZXQKKyMgQ09ORklHX01BQ1ZMQU4gaXMgbm90IHNldAorIyBDT05GSUdfRVFVQUxJWkVSIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RVTiBpcyBub3Qgc2V0CisjIENPTkZJR19WRVRIIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BIWUxJQiBpcyBub3Qgc2V0CitDT05GSUdfTkVUX0VUSEVSTkVUPXkKK0NPTkZJR19NSUk9eQorIyBDT05GSUdfQVg4ODc5NiBpcyBub3Qgc2V0CitDT05GSUdfU01DOTFYPXkKKyMgQ09ORklHX0RNOTAwMCBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfWk1JSSBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfUkdNSUkgaXMgbm90IHNldAorIyBDT05GSUdfSUJNX05FV19FTUFDX1RBSCBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfRU1BQzQgaXMgbm90IHNldAorIyBDT05GSUdfQjQ0IGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVERFVl8xMDAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVERFVl8xMDAwMCBpcyBub3Qgc2V0CisKKyMKKyMgV2lyZWxlc3MgTEFOCisjCisjIENPTkZJR19XTEFOX1BSRTgwMjExIGlzIG5vdCBzZXQKKyMgQ09ORklHX1dMQU5fODAyMTEgaXMgbm90IHNldAorIyBDT05GSUdfSVdMV0lGSV9MRURTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1dBTiBpcyBub3Qgc2V0CisjIENPTkZJR19QUFAgaXMgbm90IHNldAorIyBDT05GSUdfU0xJUCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRDT05TT0xFIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVFBPTEwgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX1BPTExfQ09OVFJPTExFUiBpcyBub3Qgc2V0CisjIENPTkZJR19JU0ROIGlzIG5vdCBzZXQKKworIworIyBJbnB1dCBkZXZpY2Ugc3VwcG9ydAorIworIyBDT05GSUdfSU5QVVQgaXMgbm90IHNldAorCisjCisjIEhhcmR3YXJlIEkvTyBwb3J0cworIworIyBDT05GSUdfU0VSSU8gaXMgbm90IHNldAorIyBDT05GSUdfR0FNRVBPUlQgaXMgbm90IHNldAorCisjCisjIENoYXJhY3RlciBkZXZpY2VzCisjCisjIENPTkZJR19WVCBpcyBub3Qgc2V0CitDT05GSUdfREVWS01FTT15CisjIENPTkZJR19TRVJJQUxfTk9OU1RBTkRBUkQgaXMgbm90IHNldAorCisjCisjIFNlcmlhbCBkcml2ZXJzCisjCisjIENPTkZJR19TRVJJQUxfODI1MCBpcyBub3Qgc2V0CisKKyMKKyMgTm9uLTgyNTAgc2VyaWFsIHBvcnQgc3VwcG9ydAorIworQ09ORklHX1NFUklBTF9JTVg9eQorQ09ORklHX1NFUklBTF9JTVhfQ09OU09MRT15CitDT05GSUdfU0VSSUFMX0NPUkU9eQorQ09ORklHX1NFUklBTF9DT1JFX0NPTlNPTEU9eQorQ09ORklHX1VOSVg5OF9QVFlTPXkKKyMgQ09ORklHX0xFR0FDWV9QVFlTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lQTUlfSEFORExFUiBpcyBub3Qgc2V0CisjIENPTkZJR19IV19SQU5ET00gaXMgbm90IHNldAorIyBDT05GSUdfTlZSQU0gaXMgbm90IHNldAorIyBDT05GSUdfUjM5NjQgaXMgbm90IHNldAorIyBDT05GSUdfUkFXX0RSSVZFUiBpcyBub3Qgc2V0CisjIENPTkZJR19UQ0dfVFBNIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQyBpcyBub3Qgc2V0CisjIENPTkZJR19TUEkgaXMgbm90IHNldAorQ09ORklHX0hBVkVfR1BJT19MSUI9eQorCisjCisjIEdQSU8gU3VwcG9ydAorIworCisjCisjIEkyQyBHUElPIGV4cGFuZGVyczoKKyMKKworIworIyBTUEkgR1BJTyBleHBhbmRlcnM6CisjCisjIENPTkZJR19XMSBpcyBub3Qgc2V0CisjIENPTkZJR19QT1dFUl9TVVBQTFkgaXMgbm90IHNldAorIyBDT05GSUdfSFdNT04gaXMgbm90IHNldAorIyBDT05GSUdfV0FUQ0hET0cgaXMgbm90IHNldAorCisjCisjIFNvbmljcyBTaWxpY29uIEJhY2twbGFuZQorIworQ09ORklHX1NTQl9QT1NTSUJMRT15CisjIENPTkZJR19TU0IgaXMgbm90IHNldAorCisjCisjIE11bHRpZnVuY3Rpb24gZGV2aWNlIGRyaXZlcnMKKyMKKyMgQ09ORklHX01GRF9TTTUwMSBpcyBub3Qgc2V0CisjIENPTkZJR19NRkRfQVNJQzMgaXMgbm90IHNldAorIyBDT05GSUdfSFRDX0VHUElPIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hUQ19QQVNJQzMgaXMgbm90IHNldAorCisjCisjIE11bHRpbWVkaWEgZGV2aWNlcworIworCisjCisjIE11bHRpbWVkaWEgY29yZSBzdXBwb3J0CisjCisjIENPTkZJR19WSURFT19ERVYgaXMgbm90IHNldAorIyBDT05GSUdfRFZCX0NPUkUgaXMgbm90IHNldAorIyBDT05GSUdfVklERU9fTUVESUEgaXMgbm90IHNldAorCisjCisjIE11bHRpbWVkaWEgZHJpdmVycworIworIyBDT05GSUdfREFCIGlzIG5vdCBzZXQKKworIworIyBHcmFwaGljcyBzdXBwb3J0CisjCisjIENPTkZJR19WR0FTVEFURSBpcyBub3Qgc2V0CisjIENPTkZJR19WSURFT19PVVRQVVRfQ09OVFJPTCBpcyBub3Qgc2V0CisjIENPTkZJR19GQiBpcyBub3Qgc2V0CisjIENPTkZJR19CQUNLTElHSFRfTENEX1NVUFBPUlQgaXMgbm90IHNldAorCisjCisjIERpc3BsYXkgZGV2aWNlIHN1cHBvcnQKKyMKKyMgQ09ORklHX0RJU1BMQVlfU1VQUE9SVCBpcyBub3Qgc2V0CisKKyMKKyMgU291bmQKKyMKKyMgQ09ORklHX1NPVU5EIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TVVBQT1JUIGlzIG5vdCBzZXQKKyMgQ09ORklHX01NQyBpcyBub3Qgc2V0CisjIENPTkZJR19ORVdfTEVEUyBpcyBub3Qgc2V0CitDT05GSUdfUlRDX0xJQj15CisjIENPTkZJR19SVENfQ0xBU1MgaXMgbm90IHNldAorIyBDT05GSUdfVUlPIGlzIG5vdCBzZXQKKworIworIyBGaWxlIHN5c3RlbXMKKyMKKyMgQ09ORklHX0VYVDJfRlMgaXMgbm90IHNldAorIyBDT05GSUdfRVhUM19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19FWFQ0REVWX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JFSVNFUkZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pGU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19GU19QT1NJWF9BQ0wgaXMgbm90IHNldAorIyBDT05GSUdfWEZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX09DRlMyX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ROT1RJRlkgaXMgbm90IHNldAorQ09ORklHX0lOT1RJRlk9eQorQ09ORklHX0lOT1RJRllfVVNFUj15CisjIENPTkZJR19RVU9UQSBpcyBub3Qgc2V0CisjIENPTkZJR19BVVRPRlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfQVVUT0ZTNF9GUyBpcyBub3Qgc2V0CisjIENPTkZJR19GVVNFX0ZTIGlzIG5vdCBzZXQKKworIworIyBDRC1ST00vRFZEIEZpbGVzeXN0ZW1zCisjCisjIENPTkZJR19JU085NjYwX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VERl9GUyBpcyBub3Qgc2V0CisKKyMKKyMgRE9TL0ZBVC9OVCBGaWxlc3lzdGVtcworIworIyBDT05GSUdfTVNET1NfRlMgaXMgbm90IHNldAorIyBDT05GSUdfVkZBVF9GUyBpcyBub3Qgc2V0CisjIENPTkZJR19OVEZTX0ZTIGlzIG5vdCBzZXQKKworIworIyBQc2V1ZG8gZmlsZXN5c3RlbXMKKyMKK0NPTkZJR19QUk9DX0ZTPXkKK0NPTkZJR19QUk9DX1NZU0NUTD15CitDT05GSUdfU1lTRlM9eQorQ09ORklHX1RNUEZTPXkKKyMgQ09ORklHX1RNUEZTX1BPU0lYX0FDTCBpcyBub3Qgc2V0CisjIENPTkZJR19IVUdFVExCX1BBR0UgaXMgbm90IHNldAorIyBDT05GSUdfQ09ORklHRlNfRlMgaXMgbm90IHNldAorCisjCisjIE1pc2NlbGxhbmVvdXMgZmlsZXN5c3RlbXMKKyMKKyMgQ09ORklHX0FERlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfQUZGU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19IRlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfSEZTUExVU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19CRUZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JGU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19FRlNfRlMgaXMgbm90IHNldAorQ09ORklHX0pGRlMyX0ZTPXkKK0NPTkZJR19KRkZTMl9GU19ERUJVRz0wCitDT05GSUdfSkZGUzJfRlNfV1JJVEVCVUZGRVI9eQorIyBDT05GSUdfSkZGUzJfRlNfV0JVRl9WRVJJRlkgaXMgbm90IHNldAorIyBDT05GSUdfSkZGUzJfU1VNTUFSWSBpcyBub3Qgc2V0CisjIENPTkZJR19KRkZTMl9GU19YQVRUUiBpcyBub3Qgc2V0CisjIENPTkZJR19KRkZTMl9DT01QUkVTU0lPTl9PUFRJT05TIGlzIG5vdCBzZXQKK0NPTkZJR19KRkZTMl9aTElCPXkKKyMgQ09ORklHX0pGRlMyX0xaTyBpcyBub3Qgc2V0CitDT05GSUdfSkZGUzJfUlRJTUU9eQorIyBDT05GSUdfSkZGUzJfUlVCSU4gaXMgbm90IHNldAorIyBDT05GSUdfQ1JBTUZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZYRlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfTUlOSVhfRlMgaXMgbm90IHNldAorIyBDT05GSUdfSFBGU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19RTlg0RlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfUk9NRlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfU1lTVl9GUyBpcyBub3Qgc2V0CisjIENPTkZJR19VRlNfRlMgaXMgbm90IHNldAorQ09ORklHX05FVFdPUktfRklMRVNZU1RFTVM9eQorQ09ORklHX05GU19GUz15CisjIENPTkZJR19ORlNfVjMgaXMgbm90IHNldAorIyBDT05GSUdfTkZTX1Y0IGlzIG5vdCBzZXQKKyMgQ09ORklHX05GU0QgaXMgbm90IHNldAorQ09ORklHX1JPT1RfTkZTPXkKK0NPTkZJR19MT0NLRD15CitDT05GSUdfTkZTX0NPTU1PTj15CitDT05GSUdfU1VOUlBDPXkKKyMgQ09ORklHX1NVTlJQQ19CSU5EMzQgaXMgbm90IHNldAorIyBDT05GSUdfUlBDU0VDX0dTU19LUkI1IGlzIG5vdCBzZXQKKyMgQ09ORklHX1JQQ1NFQ19HU1NfU1BLTTMgaXMgbm90IHNldAorIyBDT05GSUdfU01CX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NJRlMgaXMgbm90IHNldAorIyBDT05GSUdfTkNQX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NPREFfRlMgaXMgbm90IHNldAorIyBDT05GSUdfQUZTX0ZTIGlzIG5vdCBzZXQKKworIworIyBQYXJ0aXRpb24gVHlwZXMKKyMKKyMgQ09ORklHX1BBUlRJVElPTl9BRFZBTkNFRCBpcyBub3Qgc2V0CitDT05GSUdfTVNET1NfUEFSVElUSU9OPXkKKyMgQ09ORklHX05MUyBpcyBub3Qgc2V0CisjIENPTkZJR19ETE0gaXMgbm90IHNldAorCisjCisjIEtlcm5lbCBoYWNraW5nCisjCisjIENPTkZJR19QUklOVEtfVElNRSBpcyBub3Qgc2V0CisjIENPTkZJR19FTkFCTEVfV0FSTl9ERVBSRUNBVEVEIGlzIG5vdCBzZXQKKyMgQ09ORklHX0VOQUJMRV9NVVNUX0NIRUNLIGlzIG5vdCBzZXQKK0NPTkZJR19GUkFNRV9XQVJOPTEwMjQKKyMgQ09ORklHX01BR0lDX1NZU1JRIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VOVVNFRF9TWU1CT0xTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFQlVHX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hFQURFUlNfQ0hFQ0sgaXMgbm90IHNldAorIyBDT05GSUdfREVCVUdfS0VSTkVMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFQlVHX0JVR1ZFUkJPU0UgaXMgbm90IHNldAorQ09ORklHX0ZSQU1FX1BPSU5URVI9eQorIyBDT05GSUdfU0FNUExFUyBpcyBub3Qgc2V0CisjIENPTkZJR19ERUJVR19VU0VSIGlzIG5vdCBzZXQKKworIworIyBTZWN1cml0eSBvcHRpb25zCisjCisjIENPTkZJR19LRVlTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFQ1VSSVRZIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFQ1VSSVRZX0ZJTEVfQ0FQQUJJTElUSUVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUTyBpcyBub3Qgc2V0CisKKyMKKyMgTGlicmFyeSByb3V0aW5lcworIworQ09ORklHX0JJVFJFVkVSU0U9eQorIyBDT05GSUdfR0VORVJJQ19GSU5EX0ZJUlNUX0JJVCBpcyBub3Qgc2V0CisjIENPTkZJR19HRU5FUklDX0ZJTkRfTkVYVF9CSVQgaXMgbm90IHNldAorIyBDT05GSUdfQ1JDX0NDSVRUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSQzE2IGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSQ19JVFVfVCBpcyBub3Qgc2V0CitDT05GSUdfQ1JDMzI9eQorIyBDT05GSUdfQ1JDNyBpcyBub3Qgc2V0CisjIENPTkZJR19MSUJDUkMzMkMgaXMgbm90IHNldAorQ09ORklHX1pMSUJfSU5GTEFURT15CitDT05GSUdfWkxJQl9ERUZMQVRFPXkKK0NPTkZJR19QTElTVD15CitDT05GSUdfSEFTX0lPTUVNPXkKK0NPTkZJR19IQVNfSU9QT1JUPXkKK0NPTkZJR19IQVNfRE1BPXkKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2NvbmZpZ3MvcGNtMDM4X2RlZmNvbmZpZyBiL2FyY2gvYXJtL2NvbmZpZ3MvcGNtMDM4X2RlZmNvbmZpZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42Yjc5OGMyCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vY29uZmlncy9wY20wMzhfZGVmY29uZmlnCkBAIC0wLDAgKzEsMTAwOCBAQAorIworIyBBdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBtYWtlIGNvbmZpZzogZG9uJ3QgZWRpdAorIyBMaW51eCBrZXJuZWwgdmVyc2lvbjogMi42LjI2LXJjNgorIyBGcmkgSnVuIDIwIDE2OjM4OjM2IDIwMDgKKyMKK0NPTkZJR19BUk09eQorQ09ORklHX1NZU19TVVBQT1JUU19BUE1fRU1VTEFUSU9OPXkKK0NPTkZJR19HRU5FUklDX0dQSU89eQorQ09ORklHX0dFTkVSSUNfVElNRT15CitDT05GSUdfR0VORVJJQ19DTE9DS0VWRU5UUz15CitDT05GSUdfTU1VPXkKKyMgQ09ORklHX05PX0lPUE9SVCBpcyBub3Qgc2V0CitDT05GSUdfR0VORVJJQ19IQVJESVJRUz15CitDT05GSUdfU1RBQ0tUUkFDRV9TVVBQT1JUPXkKK0NPTkZJR19MT0NLREVQX1NVUFBPUlQ9eQorQ09ORklHX1RSQUNFX0lSUUZMQUdTX1NVUFBPUlQ9eQorQ09ORklHX0hBUkRJUlFTX1NXX1JFU0VORD15CitDT05GSUdfR0VORVJJQ19JUlFfUFJPQkU9eQorQ09ORklHX1JXU0VNX0dFTkVSSUNfU1BJTkxPQ0s9eQorIyBDT05GSUdfQVJDSF9IQVNfSUxPRzJfVTMyIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfSEFTX0lMT0cyX1U2NCBpcyBub3Qgc2V0CitDT05GSUdfR0VORVJJQ19IV0VJR0hUPXkKK0NPTkZJR19HRU5FUklDX0NBTElCUkFURV9ERUxBWT15CitDT05GSUdfQVJDSF9TVVBQT1JUU19BT1VUPXkKK0NPTkZJR19aT05FX0RNQT15CitDT05GSUdfQVJDSF9NVERfWElQPXkKK0NPTkZJR19WRUNUT1JTX0JBU0U9MHhmZmZmMDAwMAorQ09ORklHX0RFRkNPTkZJR19MSVNUPSIvbGliL21vZHVsZXMvJFVOQU1FX1JFTEVBU0UvLmNvbmZpZyIKKworIworIyBHZW5lcmFsIHNldHVwCisjCitDT05GSUdfRVhQRVJJTUVOVEFMPXkKK0NPTkZJR19CUk9LRU5fT05fU01QPXkKK0NPTkZJR19MT0NLX0tFUk5FTD15CitDT05GSUdfSU5JVF9FTlZfQVJHX0xJTUlUPTMyCitDT05GSUdfTE9DQUxWRVJTSU9OPSIiCitDT05GSUdfTE9DQUxWRVJTSU9OX0FVVE89eQorIyBDT05GSUdfU1dBUCBpcyBub3Qgc2V0CitDT05GSUdfU1lTVklQQz15CitDT05GSUdfU1lTVklQQ19TWVNDVEw9eQorQ09ORklHX1BPU0lYX01RVUVVRT15CisjIENPTkZJR19CU0RfUFJPQ0VTU19BQ0NUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RBU0tTVEFUUyBpcyBub3Qgc2V0CisjIENPTkZJR19BVURJVCBpcyBub3Qgc2V0CisjIENPTkZJR19JS0NPTkZJRyBpcyBub3Qgc2V0CitDT05GSUdfTE9HX0JVRl9TSElGVD0xNAorIyBDT05GSUdfQ0dST1VQUyBpcyBub3Qgc2V0CitDT05GSUdfR1JPVVBfU0NIRUQ9eQorQ09ORklHX0ZBSVJfR1JPVVBfU0NIRUQ9eQorQ09ORklHX1JUX0dST1VQX1NDSEVEPXkKK0NPTkZJR19VU0VSX1NDSEVEPXkKKyMgQ09ORklHX0NHUk9VUF9TQ0hFRCBpcyBub3Qgc2V0CisjIENPTkZJR19TWVNGU19ERVBSRUNBVEVEX1YyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JFTEFZIGlzIG5vdCBzZXQKKyMgQ09ORklHX05BTUVTUEFDRVMgaXMgbm90IHNldAorIyBDT05GSUdfQkxLX0RFVl9JTklUUkQgaXMgbm90IHNldAorIyBDT05GSUdfQ0NfT1BUSU1JWkVfRk9SX1NJWkUgaXMgbm90IHNldAorQ09ORklHX1NZU0NUTD15CitDT05GSUdfRU1CRURERUQ9eQorQ09ORklHX1VJRDE2PXkKK0NPTkZJR19TWVNDVExfU1lTQ0FMTD15CitDT05GSUdfU1lTQ1RMX1NZU0NBTExfQ0hFQ0s9eQorQ09ORklHX0tBTExTWU1TPXkKK0NPTkZJR19LQUxMU1lNU19FWFRSQV9QQVNTPXkKK0NPTkZJR19IT1RQTFVHPXkKK0NPTkZJR19QUklOVEs9eQorQ09ORklHX0JVRz15CitDT05GSUdfRUxGX0NPUkU9eQorIyBDT05GSUdfQ09NUEFUX0JSSyBpcyBub3Qgc2V0CitDT05GSUdfQkFTRV9GVUxMPXkKK0NPTkZJR19GVVRFWD15CitDT05GSUdfQU5PTl9JTk9ERVM9eQorQ09ORklHX0VQT0xMPXkKK0NPTkZJR19TSUdOQUxGRD15CitDT05GSUdfVElNRVJGRD15CitDT05GSUdfRVZFTlRGRD15CitDT05GSUdfU0hNRU09eQorQ09ORklHX1ZNX0VWRU5UX0NPVU5URVJTPXkKK0NPTkZJR19TTEFCPXkKKyMgQ09ORklHX1NMVUIgaXMgbm90IHNldAorIyBDT05GSUdfU0xPQiBpcyBub3Qgc2V0CitDT05GSUdfUFJPRklMSU5HPXkKK0NPTkZJR19NQVJLRVJTPXkKK0NPTkZJR19PUFJPRklMRT15CitDT05GSUdfSEFWRV9PUFJPRklMRT15CitDT05GSUdfS1BST0JFUz15CitDT05GSUdfS1JFVFBST0JFUz15CitDT05GSUdfSEFWRV9LUFJPQkVTPXkKK0NPTkZJR19IQVZFX0tSRVRQUk9CRVM9eQorIyBDT05GSUdfSEFWRV9ETUFfQVRUUlMgaXMgbm90IHNldAorIyBDT05GSUdfUFJPQ19QQUdFX01PTklUT1IgaXMgbm90IHNldAorQ09ORklHX1NMQUJJTkZPPXkKK0NPTkZJR19SVF9NVVRFWEVTPXkKKyMgQ09ORklHX1RJTllfU0hNRU0gaXMgbm90IHNldAorQ09ORklHX0JBU0VfU01BTEw9MAorQ09ORklHX01PRFVMRVM9eQorIyBDT05GSUdfTU9EVUxFX0ZPUkNFX0xPQUQgaXMgbm90IHNldAorQ09ORklHX01PRFVMRV9VTkxPQUQ9eQorIyBDT05GSUdfTU9EVUxFX0ZPUkNFX1VOTE9BRCBpcyBub3Qgc2V0CisjIENPTkZJR19NT0RWRVJTSU9OUyBpcyBub3Qgc2V0CisjIENPTkZJR19NT0RVTEVfU1JDVkVSU0lPTl9BTEwgaXMgbm90IHNldAorIyBDT05GSUdfS01PRCBpcyBub3Qgc2V0CitDT05GSUdfQkxPQ0s9eQorIyBDT05GSUdfTEJEIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JMS19ERVZfSU9fVFJBQ0UgaXMgbm90IHNldAorIyBDT05GSUdfTFNGIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JMS19ERVZfQlNHIGlzIG5vdCBzZXQKKworIworIyBJTyBTY2hlZHVsZXJzCisjCitDT05GSUdfSU9TQ0hFRF9OT09QPXkKKyMgQ09ORklHX0lPU0NIRURfQVMgaXMgbm90IHNldAorIyBDT05GSUdfSU9TQ0hFRF9ERUFETElORSBpcyBub3Qgc2V0CisjIENPTkZJR19JT1NDSEVEX0NGUSBpcyBub3Qgc2V0CisjIENPTkZJR19ERUZBVUxUX0FTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFRkFVTFRfREVBRExJTkUgaXMgbm90IHNldAorIyBDT05GSUdfREVGQVVMVF9DRlEgaXMgbm90IHNldAorQ09ORklHX0RFRkFVTFRfTk9PUD15CitDT05GSUdfREVGQVVMVF9JT1NDSEVEPSJub29wIgorQ09ORklHX0NMQVNTSUNfUkNVPXkKKworIworIyBTeXN0ZW0gVHlwZQorIworIyBDT05GSUdfQVJDSF9BQUVDMjAwMCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0lOVEVHUkFUT1IgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9SRUFMVklFVyBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX1ZFUlNBVElMRSBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0FUOTEgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9DTFBTNzUwMCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0NMUFM3MTFYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfQ08yODUgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9FQlNBMTEwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfRVA5M1hYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfRk9PVEJSSURHRSBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX05FVFggaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9INzIwWCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0lNWCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0lPUDEzWFggaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9JT1AzMlggaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9JT1AzM1ggaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9JWFAyM1hYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfSVhQMjAwMCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0lYUDRYWCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0w3MjAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfS1M4Njk1IGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfTlM5WFhYIGlzIG5vdCBzZXQKK0NPTkZJR19BUkNIX01YQz15CisjIENPTkZJR19BUkNIX09SSU9ONVggaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9QTlg0MDA4IGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfUFhBIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfUlBDIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfU0ExMTAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfUzNDMjQxMCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX1NIQVJLIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfTEg3QTQwWCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0RBVklOQ0kgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9PTUFQIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfTVNNN1gwMEEgaXMgbm90IHNldAorCisjCisjIEJvb3Qgb3B0aW9ucworIworCisjCisjIFBvd2VyIG1hbmFnZW1lbnQKKyMKKworIworIyBGcmVlc2NhbGUgTVhDIEltcGxlbWVudGF0aW9ucworIworQ09ORklHX0FSQ0hfTVgyPXkKKyMgQ09ORklHX0FSQ0hfTVgzIGlzIG5vdCBzZXQKKworIworIyBNWDIgZmFtaWx5IENQVSBzdXBwb3J0CisjCitDT05GSUdfTUFDSF9NWDI3PXkKKworIworIyBNWDIgUGxhdGZvcm1zCisjCisjIENPTkZJR19NQUNIX01YMjdBRFMgaXMgbm90IHNldAorQ09ORklHX01BQ0hfUENNMDM4PXkKK0NPTkZJR19NQUNIX1BDTTk3MF9CQVNFQk9BUkQ9eQorCisjCisjIFByb2Nlc3NvciBUeXBlCisjCitDT05GSUdfQ1BVXzMyPXkKK0NPTkZJR19DUFVfQVJNOTI2VD15CitDT05GSUdfQ1BVXzMydjU9eQorQ09ORklHX0NQVV9BQlJUX0VWNVRKPXkKK0NPTkZJR19DUFVfUEFCUlRfTk9JRkFSPXkKK0NPTkZJR19DUFVfQ0FDSEVfVklWVD15CitDT05GSUdfQ1BVX0NPUFlfVjRXQj15CitDT05GSUdfQ1BVX1RMQl9WNFdCST15CitDT05GSUdfQ1BVX0NQMTU9eQorQ09ORklHX0NQVV9DUDE1X01NVT15CisKKyMKKyMgUHJvY2Vzc29yIEZlYXR1cmVzCisjCitDT05GSUdfQVJNX1RIVU1CPXkKKyMgQ09ORklHX0NQVV9JQ0FDSEVfRElTQUJMRSBpcyBub3Qgc2V0CisjIENPTkZJR19DUFVfRENBQ0hFX0RJU0FCTEUgaXMgbm90IHNldAorIyBDT05GSUdfQ1BVX0RDQUNIRV9XUklURVRIUk9VR0ggaXMgbm90IHNldAorIyBDT05GSUdfQ1BVX0NBQ0hFX1JPVU5EX1JPQklOIGlzIG5vdCBzZXQKKyMgQ09ORklHX09VVEVSX0NBQ0hFIGlzIG5vdCBzZXQKKworIworIyBCdXMgc3VwcG9ydAorIworIyBDT05GSUdfUENJX1NZU0NBTEwgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9TVVBQT1JUU19NU0kgaXMgbm90IHNldAorIyBDT05GSUdfUENDQVJEIGlzIG5vdCBzZXQKKworIworIyBLZXJuZWwgRmVhdHVyZXMKKyMKK0NPTkZJR19USUNLX09ORVNIT1Q9eQorQ09ORklHX05PX0haPXkKK0NPTkZJR19ISUdIX1JFU19USU1FUlM9eQorQ09ORklHX0dFTkVSSUNfQ0xPQ0tFVkVOVFNfQlVJTEQ9eQorQ09ORklHX1BSRUVNUFQ9eQorQ09ORklHX0haPTEwMAorQ09ORklHX0FFQUJJPXkKKyMgQ09ORklHX09BQklfQ09NUEFUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfRElTQ09OVElHTUVNX0VOQUJMRSBpcyBub3Qgc2V0CitDT05GSUdfU0VMRUNUX01FTU9SWV9NT0RFTD15CitDT05GSUdfRkxBVE1FTV9NQU5VQUw9eQorIyBDT05GSUdfRElTQ09OVElHTUVNX01BTlVBTCBpcyBub3Qgc2V0CisjIENPTkZJR19TUEFSU0VNRU1fTUFOVUFMIGlzIG5vdCBzZXQKK0NPTkZJR19GTEFUTUVNPXkKK0NPTkZJR19GTEFUX05PREVfTUVNX01BUD15CisjIENPTkZJR19TUEFSU0VNRU1fU1RBVElDIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NQQVJTRU1FTV9WTUVNTUFQX0VOQUJMRSBpcyBub3Qgc2V0CitDT05GSUdfUEFHRUZMQUdTX0VYVEVOREVEPXkKK0NPTkZJR19TUExJVF9QVExPQ0tfQ1BVUz00MDk2CisjIENPTkZJR19SRVNPVVJDRVNfNjRCSVQgaXMgbm90IHNldAorQ09ORklHX1pPTkVfRE1BX0ZMQUc9MQorQ09ORklHX0JPVU5DRT15CitDT05GSUdfVklSVF9UT19CVVM9eQorQ09ORklHX0FMSUdOTUVOVF9UUkFQPXkKKworIworIyBCb290IG9wdGlvbnMKKyMKK0NPTkZJR19aQk9PVF9ST01fVEVYVD0weDAKK0NPTkZJR19aQk9PVF9ST01fQlNTPTB4MAorQ09ORklHX0NNRExJTkU9IiIKKyMgQ09ORklHX1hJUF9LRVJORUwgaXMgbm90IHNldAorIyBDT05GSUdfS0VYRUMgaXMgbm90IHNldAorCisjCisjIEZsb2F0aW5nIHBvaW50IGVtdWxhdGlvbgorIworCisjCisjIEF0IGxlYXN0IG9uZSBlbXVsYXRpb24gbXVzdCBiZSBzZWxlY3RlZAorIworIyBDT05GSUdfVkZQIGlzIG5vdCBzZXQKKworIworIyBVc2Vyc3BhY2UgYmluYXJ5IGZvcm1hdHMKKyMKK0NPTkZJR19CSU5GTVRfRUxGPXkKKyMgQ09ORklHX0JJTkZNVF9BT1VUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JJTkZNVF9NSVNDIGlzIG5vdCBzZXQKKworIworIyBQb3dlciBtYW5hZ2VtZW50IG9wdGlvbnMKKyMKKyMgQ09ORklHX1BNIGlzIG5vdCBzZXQKK0NPTkZJR19BUkNIX1NVU1BFTkRfUE9TU0lCTEU9eQorCisjCisjIE5ldHdvcmtpbmcKKyMKK0NPTkZJR19ORVQ9eQorCisjCisjIE5ldHdvcmtpbmcgb3B0aW9ucworIworQ09ORklHX1BBQ0tFVD15CitDT05GSUdfUEFDS0VUX01NQVA9eQorQ09ORklHX1VOSVg9eQorIyBDT05GSUdfTkVUX0tFWSBpcyBub3Qgc2V0CitDT05GSUdfSU5FVD15CitDT05GSUdfSVBfTVVMVElDQVNUPXkKKyMgQ09ORklHX0lQX0FEVkFOQ0VEX1JPVVRFUiBpcyBub3Qgc2V0CitDT05GSUdfSVBfRklCX0hBU0g9eQorQ09ORklHX0lQX1BOUD15CisjIENPTkZJR19JUF9QTlBfREhDUCBpcyBub3Qgc2V0CisjIENPTkZJR19JUF9QTlBfQk9PVFAgaXMgbm90IHNldAorIyBDT05GSUdfSVBfUE5QX1JBUlAgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX0lQSVAgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX0lQR1JFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lQX01ST1VURSBpcyBub3Qgc2V0CisjIENPTkZJR19BUlBEIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NZTl9DT09LSUVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lORVRfQUggaXMgbm90IHNldAorIyBDT05GSUdfSU5FVF9FU1AgaXMgbm90IHNldAorIyBDT05GSUdfSU5FVF9JUENPTVAgaXMgbm90IHNldAorIyBDT05GSUdfSU5FVF9YRlJNX1RVTk5FTCBpcyBub3Qgc2V0CisjIENPTkZJR19JTkVUX1RVTk5FTCBpcyBub3Qgc2V0CisjIENPTkZJR19JTkVUX1hGUk1fTU9ERV9UUkFOU1BPUlQgaXMgbm90IHNldAorIyBDT05GSUdfSU5FVF9YRlJNX01PREVfVFVOTkVMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lORVRfWEZSTV9NT0RFX0JFRVQgaXMgbm90IHNldAorIyBDT05GSUdfSU5FVF9MUk8gaXMgbm90IHNldAorIyBDT05GSUdfSU5FVF9ESUFHIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RDUF9DT05HX0FEVkFOQ0VEIGlzIG5vdCBzZXQKK0NPTkZJR19UQ1BfQ09OR19DVUJJQz15CitDT05GSUdfREVGQVVMVF9UQ1BfQ09ORz0iY3ViaWMiCisjIENPTkZJR19UQ1BfTUQ1U0lHIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lQVjYgaXMgbm90IHNldAorIyBDT05GSUdfTkVUV09SS19TRUNNQVJLIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVEZJTFRFUiBpcyBub3Qgc2V0CisjIENPTkZJR19JUF9EQ0NQIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lQX1NDVFAgaXMgbm90IHNldAorIyBDT05GSUdfVElQQyBpcyBub3Qgc2V0CisjIENPTkZJR19BVE0gaXMgbm90IHNldAorIyBDT05GSUdfQlJJREdFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZMQU5fODAyMVEgaXMgbm90IHNldAorIyBDT05GSUdfREVDTkVUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0xMQzIgaXMgbm90IHNldAorIyBDT05GSUdfSVBYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FUQUxLIGlzIG5vdCBzZXQKKyMgQ09ORklHX1gyNSBpcyBub3Qgc2V0CisjIENPTkZJR19MQVBCIGlzIG5vdCBzZXQKKyMgQ09ORklHX0VDT05FVCBpcyBub3Qgc2V0CisjIENPTkZJR19XQU5fUk9VVEVSIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9TQ0hFRCBpcyBub3Qgc2V0CisKKyMKKyMgTmV0d29yayB0ZXN0aW5nCisjCisjIENPTkZJR19ORVRfUEtUR0VOIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9UQ1BQUk9CRSBpcyBub3Qgc2V0CisjIENPTkZJR19IQU1SQURJTyBpcyBub3Qgc2V0CisjIENPTkZJR19DQU4gaXMgbm90IHNldAorIyBDT05GSUdfSVJEQSBpcyBub3Qgc2V0CisjIENPTkZJR19CVCBpcyBub3Qgc2V0CisjIENPTkZJR19BRl9SWFJQQyBpcyBub3Qgc2V0CisKKyMKKyMgV2lyZWxlc3MKKyMKKyMgQ09ORklHX0NGRzgwMjExIGlzIG5vdCBzZXQKKyMgQ09ORklHX1dJUkVMRVNTX0VYVCBpcyBub3Qgc2V0CisjIENPTkZJR19NQUM4MDIxMSBpcyBub3Qgc2V0CisjIENPTkZJR19JRUVFODAyMTEgaXMgbm90IHNldAorIyBDT05GSUdfUkZLSUxMIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF85UCBpcyBub3Qgc2V0CisKKyMKKyMgRGV2aWNlIERyaXZlcnMKKyMKKworIworIyBHZW5lcmljIERyaXZlciBPcHRpb25zCisjCitDT05GSUdfVUVWRU5UX0hFTFBFUl9QQVRIPSIvc2Jpbi9ob3RwbHVnIgorQ09ORklHX1NUQU5EQUxPTkU9eQorQ09ORklHX1BSRVZFTlRfRklSTVdBUkVfQlVJTEQ9eQorQ09ORklHX0ZXX0xPQURFUj15CisjIENPTkZJR19TWVNfSFlQRVJWSVNPUiBpcyBub3Qgc2V0CisjIENPTkZJR19DT05ORUNUT1IgaXMgbm90IHNldAorQ09ORklHX01URD15CisjIENPTkZJR19NVERfREVCVUcgaXMgbm90IHNldAorIyBDT05GSUdfTVREX0NPTkNBVCBpcyBub3Qgc2V0CitDT05GSUdfTVREX1BBUlRJVElPTlM9eQorIyBDT05GSUdfTVREX1JFREJPT1RfUEFSVFMgaXMgbm90IHNldAorQ09ORklHX01URF9DTURMSU5FX1BBUlRTPXkKKyMgQ09ORklHX01URF9BRlNfUEFSVFMgaXMgbm90IHNldAorIyBDT05GSUdfTVREX0FSN19QQVJUUyBpcyBub3Qgc2V0CisKKyMKKyMgVXNlciBNb2R1bGVzIEFuZCBUcmFuc2xhdGlvbiBMYXllcnMKKyMKK0NPTkZJR19NVERfQ0hBUj15CitDT05GSUdfTVREX0JMS0RFVlM9eQorQ09ORklHX01URF9CTE9DSz15CisjIENPTkZJR19GVEwgaXMgbm90IHNldAorIyBDT05GSUdfTkZUTCBpcyBub3Qgc2V0CisjIENPTkZJR19JTkZUTCBpcyBub3Qgc2V0CisjIENPTkZJR19SRkRfRlRMIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NTRkRDIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9PT1BTIGlzIG5vdCBzZXQKKworIworIyBSQU0vUk9NL0ZsYXNoIGNoaXAgZHJpdmVycworIworQ09ORklHX01URF9DRkk9eQorIyBDT05GSUdfTVREX0pFREVDUFJPQkUgaXMgbm90IHNldAorQ09ORklHX01URF9HRU5fUFJPQkU9eQorQ09ORklHX01URF9DRklfQURWX09QVElPTlM9eQorQ09ORklHX01URF9DRklfTk9TV0FQPXkKKyMgQ09ORklHX01URF9DRklfQkVfQllURV9TV0FQIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9DRklfTEVfQllURV9TV0FQIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfQ0ZJX0dFT01FVFJZPXkKKyMgQ09ORklHX01URF9NQVBfQkFOS19XSURUSF8xIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfTUFQX0JBTktfV0lEVEhfMj15CisjIENPTkZJR19NVERfTUFQX0JBTktfV0lEVEhfNCBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfTUFQX0JBTktfV0lEVEhfOCBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfTUFQX0JBTktfV0lEVEhfMTYgaXMgbm90IHNldAorIyBDT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzMyIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfQ0ZJX0kxPXkKKyMgQ09ORklHX01URF9DRklfSTIgaXMgbm90IHNldAorIyBDT05GSUdfTVREX0NGSV9JNCBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfQ0ZJX0k4IGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9PVFAgaXMgbm90IHNldAorQ09ORklHX01URF9DRklfSU5URUxFWFQ9eQorIyBDT05GSUdfTVREX0NGSV9BTURTVEQgaXMgbm90IHNldAorIyBDT05GSUdfTVREX0NGSV9TVEFBIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfQ0ZJX1VUSUw9eQorIyBDT05GSUdfTVREX1JBTSBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfUk9NIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9BQlNFTlQgaXMgbm90IHNldAorIyBDT05GSUdfTVREX1hJUCBpcyBub3Qgc2V0CisKKyMKKyMgTWFwcGluZyBkcml2ZXJzIGZvciBjaGlwIGFjY2VzcworIworIyBDT05GSUdfTVREX0NPTVBMRVhfTUFQUElOR1MgaXMgbm90IHNldAorQ09ORklHX01URF9QSFlTTUFQPXkKK0NPTkZJR19NVERfUEhZU01BUF9TVEFSVD0weDAwMDAwMDAwCitDT05GSUdfTVREX1BIWVNNQVBfTEVOPTB4MAorQ09ORklHX01URF9QSFlTTUFQX0JBTktXSURUSD0yCisjIENPTkZJR19NVERfQVJNX0lOVEVHUkFUT1IgaXMgbm90IHNldAorIyBDT05GSUdfTVREX1BMQVRSQU0gaXMgbm90IHNldAorCisjCisjIFNlbGYtY29udGFpbmVkIE1URCBkZXZpY2UgZHJpdmVycworIworIyBDT05GSUdfTVREX0RBVEFGTEFTSCBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfTTI1UDgwIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9TTFJBTSBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfUEhSQU0gaXMgbm90IHNldAorIyBDT05GSUdfTVREX01URFJBTSBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfQkxPQ0syTVREIGlzIG5vdCBzZXQKKworIworIyBEaXNrLU9uLUNoaXAgRGV2aWNlIERyaXZlcnMKKyMKKyMgQ09ORklHX01URF9ET0MyMDAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9ET0MyMDAxIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9ET0MyMDAxUExVUyBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfTkFORCBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfT05FTkFORCBpcyBub3Qgc2V0CisKKyMKKyMgVUJJIC0gVW5zb3J0ZWQgYmxvY2sgaW1hZ2VzCisjCisjIENPTkZJR19NVERfVUJJIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBUlBPUlQgaXMgbm90IHNldAorQ09ORklHX0JMS19ERVY9eQorIyBDT05GSUdfQkxLX0RFVl9DT1dfQ09NTU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JMS19ERVZfTE9PUCBpcyBub3Qgc2V0CisjIENPTkZJR19CTEtfREVWX05CRCBpcyBub3Qgc2V0CisjIENPTkZJR19CTEtfREVWX1JBTSBpcyBub3Qgc2V0CisjIENPTkZJR19DRFJPTV9QS1RDRFZEIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FUQV9PVkVSX0VUSCBpcyBub3Qgc2V0CisjIENPTkZJR19NSVNDX0RFVklDRVMgaXMgbm90IHNldAorQ09ORklHX0hBVkVfSURFPXkKKyMgQ09ORklHX0lERSBpcyBub3Qgc2V0CisKKyMKKyMgU0NTSSBkZXZpY2Ugc3VwcG9ydAorIworIyBDT05GSUdfUkFJRF9BVFRSUyBpcyBub3Qgc2V0CisjIENPTkZJR19TQ1NJIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NDU0lfRE1BIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NDU0lfTkVUTElOSyBpcyBub3Qgc2V0CisjIENPTkZJR19BVEEgaXMgbm90IHNldAorIyBDT05GSUdfTUQgaXMgbm90IHNldAorQ09ORklHX05FVERFVklDRVM9eQorIyBDT05GSUdfTkVUREVWSUNFU19NVUxUSVFVRVVFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RVTU1ZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JPTkRJTkcgaXMgbm90IHNldAorIyBDT05GSUdfTUFDVkxBTiBpcyBub3Qgc2V0CisjIENPTkZJR19FUVVBTElaRVIgaXMgbm90IHNldAorIyBDT05GSUdfVFVOIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZFVEggaXMgbm90IHNldAorIyBDT05GSUdfUEhZTElCIGlzIG5vdCBzZXQKK0NPTkZJR19ORVRfRVRIRVJORVQ9eQorIyBDT05GSUdfTUlJIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FYODg3OTYgaXMgbm90IHNldAorIyBDT05GSUdfU01DOTFYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RNOTAwMCBpcyBub3Qgc2V0CisjIENPTkZJR19FTkMyOEo2MCBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfWk1JSSBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfUkdNSUkgaXMgbm90IHNldAorIyBDT05GSUdfSUJNX05FV19FTUFDX1RBSCBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfRU1BQzQgaXMgbm90IHNldAorIyBDT05GSUdfQjQ0IGlzIG5vdCBzZXQKK0NPTkZJR19GRUNfT0xEPXkKKyMgQ09ORklHX05FVERFVl8xMDAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVERFVl8xMDAwMCBpcyBub3Qgc2V0CisKKyMKKyMgV2lyZWxlc3MgTEFOCisjCisjIENPTkZJR19XTEFOX1BSRTgwMjExIGlzIG5vdCBzZXQKKyMgQ09ORklHX1dMQU5fODAyMTEgaXMgbm90IHNldAorIyBDT05GSUdfSVdMV0lGSV9MRURTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1dBTiBpcyBub3Qgc2V0CisjIENPTkZJR19QUFAgaXMgbm90IHNldAorIyBDT05GSUdfU0xJUCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRDT05TT0xFIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVFBPTEwgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX1BPTExfQ09OVFJPTExFUiBpcyBub3Qgc2V0CisjIENPTkZJR19JU0ROIGlzIG5vdCBzZXQKKworIworIyBJbnB1dCBkZXZpY2Ugc3VwcG9ydAorIworQ09ORklHX0lOUFVUPXkKKyMgQ09ORklHX0lOUFVUX0ZGX01FTUxFU1MgaXMgbm90IHNldAorIyBDT05GSUdfSU5QVVRfUE9MTERFViBpcyBub3Qgc2V0CisKKyMKKyMgVXNlcmxhbmQgaW50ZXJmYWNlcworIworIyBDT05GSUdfSU5QVVRfTU9VU0VERVYgaXMgbm90IHNldAorIyBDT05GSUdfSU5QVVRfSk9ZREVWIGlzIG5vdCBzZXQKK0NPTkZJR19JTlBVVF9FVkRFVj15CisjIENPTkZJR19JTlBVVF9FVkJVRyBpcyBub3Qgc2V0CisKKyMKKyMgSW5wdXQgRGV2aWNlIERyaXZlcnMKKyMKKyMgQ09ORklHX0lOUFVUX0tFWUJPQVJEIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOUFVUX01PVVNFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOUFVUX0pPWVNUSUNLIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOUFVUX1RBQkxFVCBpcyBub3Qgc2V0CitDT05GSUdfSU5QVVRfVE9VQ0hTQ1JFRU49eQorIyBDT05GSUdfVE9VQ0hTQ1JFRU5fQURTNzg0NiBpcyBub3Qgc2V0CisjIENPTkZJR19UT1VDSFNDUkVFTl9GVUpJVFNVIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RPVUNIU0NSRUVOX0dVTlpFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RPVUNIU0NSRUVOX0VMTyBpcyBub3Qgc2V0CisjIENPTkZJR19UT1VDSFNDUkVFTl9NVE9VQ0ggaXMgbm90IHNldAorIyBDT05GSUdfVE9VQ0hTQ1JFRU5fTUs3MTIgaXMgbm90IHNldAorIyBDT05GSUdfVE9VQ0hTQ1JFRU5fUEVOTU9VTlQgaXMgbm90IHNldAorIyBDT05GSUdfVE9VQ0hTQ1JFRU5fVE9VQ0hSSUdIVCBpcyBub3Qgc2V0CisjIENPTkZJR19UT1VDSFNDUkVFTl9UT1VDSFdJTiBpcyBub3Qgc2V0CisjIENPTkZJR19UT1VDSFNDUkVFTl9VQ0IxNDAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOUFVUX01JU0MgaXMgbm90IHNldAorCisjCisjIEhhcmR3YXJlIEkvTyBwb3J0cworIworIyBDT05GSUdfU0VSSU8gaXMgbm90IHNldAorIyBDT05GSUdfR0FNRVBPUlQgaXMgbm90IHNldAorCisjCisjIENoYXJhY3RlciBkZXZpY2VzCisjCitDT05GSUdfVlQ9eQorQ09ORklHX1ZUX0NPTlNPTEU9eQorQ09ORklHX0hXX0NPTlNPTEU9eQorIyBDT05GSUdfVlRfSFdfQ09OU09MRV9CSU5ESU5HIGlzIG5vdCBzZXQKK0NPTkZJR19ERVZLTUVNPXkKKyMgQ09ORklHX1NFUklBTF9OT05TVEFOREFSRCBpcyBub3Qgc2V0CisKKyMKKyMgU2VyaWFsIGRyaXZlcnMKKyMKKyMgQ09ORklHX1NFUklBTF84MjUwIGlzIG5vdCBzZXQKKworIworIyBOb24tODI1MCBzZXJpYWwgcG9ydCBzdXBwb3J0CisjCitDT05GSUdfU0VSSUFMX0lNWD15CitDT05GSUdfU0VSSUFMX0lNWF9DT05TT0xFPXkKK0NPTkZJR19TRVJJQUxfQ09SRT15CitDT05GSUdfU0VSSUFMX0NPUkVfQ09OU09MRT15CitDT05GSUdfVU5JWDk4X1BUWVM9eQorIyBDT05GSUdfTEVHQUNZX1BUWVMgaXMgbm90IHNldAorIyBDT05GSUdfSVBNSV9IQU5ETEVSIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hXX1JBTkRPTSBpcyBub3Qgc2V0CisjIENPTkZJR19OVlJBTSBpcyBub3Qgc2V0CisjIENPTkZJR19SMzk2NCBpcyBub3Qgc2V0CisjIENPTkZJR19SQVdfRFJJVkVSIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RDR19UUE0gaXMgbm90IHNldAorQ09ORklHX0kyQz15CitDT05GSUdfSTJDX0JPQVJESU5GTz15CisjIENPTkZJR19JMkNfQ0hBUkRFViBpcyBub3Qgc2V0CisKKyMKKyMgSTJDIEhhcmR3YXJlIEJ1cyBzdXBwb3J0CisjCisjIENPTkZJR19JMkNfR1BJTyBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfT0NPUkVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19QQVJQT1JUX0xJR0hUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19TSU1URUMgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1RBT1NfRVZNIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19TVFVCIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19QQ0FfUExBVEZPUk0gaXMgbm90IHNldAorCisjCisjIE1pc2NlbGxhbmVvdXMgSTJDIENoaXAgc3VwcG9ydAorIworIyBDT05GSUdfRFMxNjgyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfRUVQUk9NIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfUENGODU3NCBpcyBub3Qgc2V0CisjIENPTkZJR19QQ0Y4NTc1IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfUENGODU5MSBpcyBub3Qgc2V0CisjIENPTkZJR19UUFM2NTAxMCBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX01BWDY4NzUgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19UU0wyNTUwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19ERUJVR19DT1JFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19ERUJVR19BTEdPIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19ERUJVR19CVVMgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0RFQlVHX0NISVAgaXMgbm90IHNldAorQ09ORklHX1NQST15CitDT05GSUdfU1BJX01BU1RFUj15CisKKyMKKyMgU1BJIE1hc3RlciBDb250cm9sbGVyIERyaXZlcnMKKyMKK0NPTkZJR19TUElfQklUQkFORz15CisKKyMKKyMgU1BJIFByb3RvY29sIE1hc3RlcnMKKyMKKyMgQ09ORklHX1NQSV9BVDI1IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NQSV9TUElERVYgaXMgbm90IHNldAorIyBDT05GSUdfU1BJX1RMRTYyWDAgaXMgbm90IHNldAorQ09ORklHX0hBVkVfR1BJT19MSUI9eQorCisjCisjIEdQSU8gU3VwcG9ydAorIworCisjCisjIEkyQyBHUElPIGV4cGFuZGVyczoKKyMKKyMgQ09ORklHX0dQSU9fUENBOTUzWCBpcyBub3Qgc2V0CisjIENPTkZJR19HUElPX1BDRjg1N1ggaXMgbm90IHNldAorCisjCisjIFNQSSBHUElPIGV4cGFuZGVyczoKKyMKKyMgQ09ORklHX0dQSU9fTUNQMjNTMDggaXMgbm90IHNldAorIyBDT05GSUdfVzEgaXMgbm90IHNldAorIyBDT05GSUdfUE9XRVJfU1VQUExZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hXTU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX1dBVENIRE9HIGlzIG5vdCBzZXQKKworIworIyBTb25pY3MgU2lsaWNvbiBCYWNrcGxhbmUKKyMKK0NPTkZJR19TU0JfUE9TU0lCTEU9eQorIyBDT05GSUdfU1NCIGlzIG5vdCBzZXQKKworIworIyBNdWx0aWZ1bmN0aW9uIGRldmljZSBkcml2ZXJzCisjCisjIENPTkZJR19NRkRfU001MDEgaXMgbm90IHNldAorIyBDT05GSUdfTUZEX0FTSUMzIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hUQ19FR1BJTyBpcyBub3Qgc2V0CisjIENPTkZJR19IVENfUEFTSUMzIGlzIG5vdCBzZXQKKworIworIyBNdWx0aW1lZGlhIGRldmljZXMKKyMKKworIworIyBNdWx0aW1lZGlhIGNvcmUgc3VwcG9ydAorIworQ09ORklHX1ZJREVPX0RFVj15CitDT05GSUdfVklERU9fVjRMMl9DT01NT049eQorQ09ORklHX1ZJREVPX0FMTE9XX1Y0TDE9eQorQ09ORklHX1ZJREVPX1Y0TDFfQ09NUEFUPXkKKyMgQ09ORklHX0RWQl9DT1JFIGlzIG5vdCBzZXQKK0NPTkZJR19WSURFT19NRURJQT15CisKKyMKKyMgTXVsdGltZWRpYSBkcml2ZXJzCisjCisjIENPTkZJR19NRURJQV9BVFRBQ0ggaXMgbm90IHNldAorQ09ORklHX01FRElBX1RVTkVSPXkKKyMgQ09ORklHX01FRElBX1RVTkVSX0NVU1RPTUlaRSBpcyBub3Qgc2V0CitDT05GSUdfTUVESUFfVFVORVJfU0lNUExFPXkKK0NPTkZJR19NRURJQV9UVU5FUl9UREE4MjkwPXkKK0NPTkZJR19NRURJQV9UVU5FUl9UREE5ODg3PXkKK0NPTkZJR19NRURJQV9UVU5FUl9URUE1NzYxPXkKK0NPTkZJR19NRURJQV9UVU5FUl9URUE1NzY3PXkKK0NPTkZJR19NRURJQV9UVU5FUl9NVDIwWFg9eQorQ09ORklHX01FRElBX1RVTkVSX1hDMjAyOD15CitDT05GSUdfTUVESUFfVFVORVJfWEM1MDAwPXkKK0NPTkZJR19WSURFT19WNEwyPXkKK0NPTkZJR19WSURFT19WNEwxPXkKK0NPTkZJR19WSURFT19DQVBUVVJFX0RSSVZFUlM9eQorIyBDT05GSUdfVklERU9fQURWX0RFQlVHIGlzIG5vdCBzZXQKK0NPTkZJR19WSURFT19IRUxQRVJfQ0hJUFNfQVVUTz15CisjIENPTkZJR19WSURFT19WSVZJIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZJREVPX0NQSUEgaXMgbm90IHNldAorIyBDT05GSUdfVklERU9fU0FBNTI0NkEgaXMgbm90IHNldAorIyBDT05GSUdfVklERU9fU0FBNTI0OSBpcyBub3Qgc2V0CisjIENPTkZJR19UVU5FUl8zMDM2IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NPQ19DQU1FUkEgaXMgbm90IHNldAorIyBDT05GSUdfUkFESU9fQURBUFRFUlMgaXMgbm90IHNldAorIyBDT05GSUdfREFCIGlzIG5vdCBzZXQKKworIworIyBHcmFwaGljcyBzdXBwb3J0CisjCisjIENPTkZJR19WR0FTVEFURSBpcyBub3Qgc2V0CisjIENPTkZJR19WSURFT19PVVRQVVRfQ09OVFJPTCBpcyBub3Qgc2V0CitDT05GSUdfRkI9eQorIyBDT05GSUdfRklSTVdBUkVfRURJRCBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9EREMgaXMgbm90IHNldAorIyBDT05GSUdfRkJfQ0ZCX0ZJTExSRUNUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX0NGQl9DT1BZQVJFQSBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9DRkJfSU1BR0VCTElUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX0NGQl9SRVZfUElYRUxTX0lOX0JZVEUgaXMgbm90IHNldAorIyBDT05GSUdfRkJfU1lTX0ZJTExSRUNUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX1NZU19DT1BZQVJFQSBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9TWVNfSU1BR0VCTElUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX0ZPUkVJR05fRU5ESUFOIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX1NZU19GT1BTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX1NWR0FMSUIgaXMgbm90IHNldAorIyBDT05GSUdfRkJfTUFDTU9ERVMgaXMgbm90IHNldAorIyBDT05GSUdfRkJfQkFDS0xJR0hUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX01PREVfSEVMUEVSUyBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9USUxFQkxJVFRJTkcgaXMgbm90IHNldAorCisjCisjIEZyYW1lIGJ1ZmZlciBoYXJkd2FyZSBkcml2ZXJzCisjCisjIENPTkZJR19GQl9TMUQxM1hYWCBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9WSVJUVUFMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JBQ0tMSUdIVF9MQ0RfU1VQUE9SVCBpcyBub3Qgc2V0CisKKyMKKyMgRGlzcGxheSBkZXZpY2Ugc3VwcG9ydAorIworIyBDT05GSUdfRElTUExBWV9TVVBQT1JUIGlzIG5vdCBzZXQKKworIworIyBDb25zb2xlIGRpc3BsYXkgZHJpdmVyIHN1cHBvcnQKKyMKKyMgQ09ORklHX1ZHQV9DT05TT0xFIGlzIG5vdCBzZXQKK0NPTkZJR19EVU1NWV9DT05TT0xFPXkKK0NPTkZJR19GUkFNRUJVRkZFUl9DT05TT0xFPXkKKyMgQ09ORklHX0ZSQU1FQlVGRkVSX0NPTlNPTEVfREVURUNUX1BSSU1BUlkgaXMgbm90IHNldAorIyBDT05GSUdfRlJBTUVCVUZGRVJfQ09OU09MRV9ST1RBVElPTiBpcyBub3Qgc2V0CitDT05GSUdfRk9OVFM9eQorQ09ORklHX0ZPTlRfOHg4PXkKKyMgQ09ORklHX0ZPTlRfOHgxNiBpcyBub3Qgc2V0CisjIENPTkZJR19GT05UXzZ4MTEgaXMgbm90IHNldAorIyBDT05GSUdfRk9OVF83eDE0IGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZPTlRfUEVBUkxfOHg4IGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZPTlRfQUNPUk5fOHg4IGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZPTlRfTUlOSV80eDYgaXMgbm90IHNldAorIyBDT05GSUdfRk9OVF9TVU44eDE2IGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZPTlRfU1VOMTJ4MjIgaXMgbm90IHNldAorIyBDT05GSUdfRk9OVF8xMHgxOCBpcyBub3Qgc2V0CisjIENPTkZJR19MT0dPIGlzIG5vdCBzZXQKKworIworIyBTb3VuZAorIworIyBDT05GSUdfU09VTkQgaXMgbm90IHNldAorIyBDT05GSUdfSElEX1NVUFBPUlQgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NVUFBPUlQgaXMgbm90IHNldAorIyBDT05GSUdfTU1DIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FV19MRURTIGlzIG5vdCBzZXQKK0NPTkZJR19SVENfTElCPXkKK0NPTkZJR19SVENfQ0xBU1M9eQorQ09ORklHX1JUQ19IQ1RPU1lTPXkKK0NPTkZJR19SVENfSENUT1NZU19ERVZJQ0U9InJ0YzAiCisjIENPTkZJR19SVENfREVCVUcgaXMgbm90IHNldAorCisjCisjIFJUQyBpbnRlcmZhY2VzCisjCitDT05GSUdfUlRDX0lOVEZfU1lTRlM9eQorQ09ORklHX1JUQ19JTlRGX1BST0M9eQorQ09ORklHX1JUQ19JTlRGX0RFVj15CisjIENPTkZJR19SVENfSU5URl9ERVZfVUlFX0VNVUwgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9URVNUIGlzIG5vdCBzZXQKKworIworIyBJMkMgUlRDIGRyaXZlcnMKKyMKKyMgQ09ORklHX1JUQ19EUlZfRFMxMzA3IGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfRFMxMzc0IGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfRFMxNjcyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfTUFYNjkwMCBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1JTNUMzNzIgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9JU0wxMjA4IGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfWDEyMDUgaXMgbm90IHNldAorQ09ORklHX1JUQ19EUlZfUENGODU2Mz15CisjIENPTkZJR19SVENfRFJWX1BDRjg1ODMgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9NNDFUODAgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9TMzUzOTBBIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfRk0zMTMwIGlzIG5vdCBzZXQKKworIworIyBTUEkgUlRDIGRyaXZlcnMKKyMKKyMgQ09ORklHX1JUQ19EUlZfTUFYNjkwMiBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1I5NzAxIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfUlM1QzM0OCBpcyBub3Qgc2V0CisKKyMKKyMgUGxhdGZvcm0gUlRDIGRyaXZlcnMKKyMKKyMgQ09ORklHX1JUQ19EUlZfQ01PUyBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX0RTMTUxMSBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX0RTMTU1MyBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX0RTMTc0MiBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1NUSzE3VEE4IGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfTTQ4VDg2IGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfTTQ4VDU5IGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfVjMwMjAgaXMgbm90IHNldAorCisjCisjIG9uLUNQVSBSVEMgZHJpdmVycworIworIyBDT05GSUdfVUlPIGlzIG5vdCBzZXQKKworIworIyBGaWxlIHN5c3RlbXMKKyMKKyMgQ09ORklHX0VYVDJfRlMgaXMgbm90IHNldAorIyBDT05GSUdfRVhUM19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19FWFQ0REVWX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JFSVNFUkZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pGU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19GU19QT1NJWF9BQ0wgaXMgbm90IHNldAorIyBDT05GSUdfWEZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX09DRlMyX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ROT1RJRlkgaXMgbm90IHNldAorIyBDT05GSUdfSU5PVElGWSBpcyBub3Qgc2V0CisjIENPTkZJR19RVU9UQSBpcyBub3Qgc2V0CisjIENPTkZJR19BVVRPRlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfQVVUT0ZTNF9GUyBpcyBub3Qgc2V0CisjIENPTkZJR19GVVNFX0ZTIGlzIG5vdCBzZXQKKworIworIyBDRC1ST00vRFZEIEZpbGVzeXN0ZW1zCisjCisjIENPTkZJR19JU085NjYwX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VERl9GUyBpcyBub3Qgc2V0CisKKyMKKyMgRE9TL0ZBVC9OVCBGaWxlc3lzdGVtcworIworIyBDT05GSUdfTVNET1NfRlMgaXMgbm90IHNldAorIyBDT05GSUdfVkZBVF9GUyBpcyBub3Qgc2V0CisjIENPTkZJR19OVEZTX0ZTIGlzIG5vdCBzZXQKKworIworIyBQc2V1ZG8gZmlsZXN5c3RlbXMKKyMKK0NPTkZJR19QUk9DX0ZTPXkKK0NPTkZJR19QUk9DX1NZU0NUTD15CitDT05GSUdfU1lTRlM9eQorQ09ORklHX1RNUEZTPXkKKyMgQ09ORklHX1RNUEZTX1BPU0lYX0FDTCBpcyBub3Qgc2V0CisjIENPTkZJR19IVUdFVExCX1BBR0UgaXMgbm90IHNldAorIyBDT05GSUdfQ09ORklHRlNfRlMgaXMgbm90IHNldAorCisjCisjIE1pc2NlbGxhbmVvdXMgZmlsZXN5c3RlbXMKKyMKKyMgQ09ORklHX0FERlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfQUZGU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19IRlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfSEZTUExVU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19CRUZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JGU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19FRlNfRlMgaXMgbm90IHNldAorQ09ORklHX0pGRlMyX0ZTPXkKK0NPTkZJR19KRkZTMl9GU19ERUJVRz0wCitDT05GSUdfSkZGUzJfRlNfV1JJVEVCVUZGRVI9eQorIyBDT05GSUdfSkZGUzJfRlNfV0JVRl9WRVJJRlkgaXMgbm90IHNldAorIyBDT05GSUdfSkZGUzJfU1VNTUFSWSBpcyBub3Qgc2V0CisjIENPTkZJR19KRkZTMl9GU19YQVRUUiBpcyBub3Qgc2V0CisjIENPTkZJR19KRkZTMl9DT01QUkVTU0lPTl9PUFRJT05TIGlzIG5vdCBzZXQKK0NPTkZJR19KRkZTMl9aTElCPXkKKyMgQ09ORklHX0pGRlMyX0xaTyBpcyBub3Qgc2V0CitDT05GSUdfSkZGUzJfUlRJTUU9eQorIyBDT05GSUdfSkZGUzJfUlVCSU4gaXMgbm90IHNldAorIyBDT05GSUdfQ1JBTUZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZYRlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfTUlOSVhfRlMgaXMgbm90IHNldAorIyBDT05GSUdfSFBGU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19RTlg0RlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfUk9NRlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfU1lTVl9GUyBpcyBub3Qgc2V0CisjIENPTkZJR19VRlNfRlMgaXMgbm90IHNldAorQ09ORklHX05FVFdPUktfRklMRVNZU1RFTVM9eQorQ09ORklHX05GU19GUz15CitDT05GSUdfTkZTX1YzPXkKKyMgQ09ORklHX05GU19WM19BQ0wgaXMgbm90IHNldAorIyBDT05GSUdfTkZTX1Y0IGlzIG5vdCBzZXQKKyMgQ09ORklHX05GU0QgaXMgbm90IHNldAorQ09ORklHX1JPT1RfTkZTPXkKK0NPTkZJR19MT0NLRD15CitDT05GSUdfTE9DS0RfVjQ9eQorQ09ORklHX05GU19DT01NT049eQorQ09ORklHX1NVTlJQQz15CisjIENPTkZJR19TVU5SUENfQklORDM0IGlzIG5vdCBzZXQKKyMgQ09ORklHX1JQQ1NFQ19HU1NfS1JCNSBpcyBub3Qgc2V0CisjIENPTkZJR19SUENTRUNfR1NTX1NQS00zIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NNQl9GUyBpcyBub3Qgc2V0CisjIENPTkZJR19DSUZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX05DUF9GUyBpcyBub3Qgc2V0CisjIENPTkZJR19DT0RBX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FGU19GUyBpcyBub3Qgc2V0CisKKyMKKyMgUGFydGl0aW9uIFR5cGVzCisjCisjIENPTkZJR19QQVJUSVRJT05fQURWQU5DRUQgaXMgbm90IHNldAorQ09ORklHX01TRE9TX1BBUlRJVElPTj15CitDT05GSUdfTkxTPXkKK0NPTkZJR19OTFNfREVGQVVMVD0iaXNvODg1OS0xIgorQ09ORklHX05MU19DT0RFUEFHRV80Mzc9bQorIyBDT05GSUdfTkxTX0NPREVQQUdFXzczNyBpcyBub3Qgc2V0CisjIENPTkZJR19OTFNfQ09ERVBBR0VfNzc1IGlzIG5vdCBzZXQKK0NPTkZJR19OTFNfQ09ERVBBR0VfODUwPW0KKyMgQ09ORklHX05MU19DT0RFUEFHRV84NTIgaXMgbm90IHNldAorIyBDT05GSUdfTkxTX0NPREVQQUdFXzg1NSBpcyBub3Qgc2V0CisjIENPTkZJR19OTFNfQ09ERVBBR0VfODU3IGlzIG5vdCBzZXQKKyMgQ09ORklHX05MU19DT0RFUEFHRV84NjAgaXMgbm90IHNldAorIyBDT05GSUdfTkxTX0NPREVQQUdFXzg2MSBpcyBub3Qgc2V0CisjIENPTkZJR19OTFNfQ09ERVBBR0VfODYyIGlzIG5vdCBzZXQKKyMgQ09ORklHX05MU19DT0RFUEFHRV84NjMgaXMgbm90IHNldAorIyBDT05GSUdfTkxTX0NPREVQQUdFXzg2NCBpcyBub3Qgc2V0CisjIENPTkZJR19OTFNfQ09ERVBBR0VfODY1IGlzIG5vdCBzZXQKKyMgQ09ORklHX05MU19DT0RFUEFHRV84NjYgaXMgbm90IHNldAorIyBDT05GSUdfTkxTX0NPREVQQUdFXzg2OSBpcyBub3Qgc2V0CisjIENPTkZJR19OTFNfQ09ERVBBR0VfOTM2IGlzIG5vdCBzZXQKKyMgQ09ORklHX05MU19DT0RFUEFHRV85NTAgaXMgbm90IHNldAorIyBDT05GSUdfTkxTX0NPREVQQUdFXzkzMiBpcyBub3Qgc2V0CisjIENPTkZJR19OTFNfQ09ERVBBR0VfOTQ5IGlzIG5vdCBzZXQKKyMgQ09ORklHX05MU19DT0RFUEFHRV84NzQgaXMgbm90IHNldAorIyBDT05GSUdfTkxTX0lTTzg4NTlfOCBpcyBub3Qgc2V0CisjIENPTkZJR19OTFNfQ09ERVBBR0VfMTI1MCBpcyBub3Qgc2V0CisjIENPTkZJR19OTFNfQ09ERVBBR0VfMTI1MSBpcyBub3Qgc2V0CisjIENPTkZJR19OTFNfQVNDSUkgaXMgbm90IHNldAorQ09ORklHX05MU19JU084ODU5XzE9eQorIyBDT05GSUdfTkxTX0lTTzg4NTlfMiBpcyBub3Qgc2V0CisjIENPTkZJR19OTFNfSVNPODg1OV8zIGlzIG5vdCBzZXQKKyMgQ09ORklHX05MU19JU084ODU5XzQgaXMgbm90IHNldAorIyBDT05GSUdfTkxTX0lTTzg4NTlfNSBpcyBub3Qgc2V0CisjIENPTkZJR19OTFNfSVNPODg1OV82IGlzIG5vdCBzZXQKKyMgQ09ORklHX05MU19JU084ODU5XzcgaXMgbm90IHNldAorIyBDT05GSUdfTkxTX0lTTzg4NTlfOSBpcyBub3Qgc2V0CisjIENPTkZJR19OTFNfSVNPODg1OV8xMyBpcyBub3Qgc2V0CisjIENPTkZJR19OTFNfSVNPODg1OV8xNCBpcyBub3Qgc2V0CitDT05GSUdfTkxTX0lTTzg4NTlfMTU9bQorIyBDT05GSUdfTkxTX0tPSThfUiBpcyBub3Qgc2V0CisjIENPTkZJR19OTFNfS09JOF9VIGlzIG5vdCBzZXQKKyMgQ09ORklHX05MU19VVEY4IGlzIG5vdCBzZXQKKyMgQ09ORklHX0RMTSBpcyBub3Qgc2V0CisKKyMKKyMgS2VybmVsIGhhY2tpbmcKKyMKKyMgQ09ORklHX1BSSU5US19USU1FIGlzIG5vdCBzZXQKK0NPTkZJR19FTkFCTEVfV0FSTl9ERVBSRUNBVEVEPXkKK0NPTkZJR19FTkFCTEVfTVVTVF9DSEVDSz15CitDT05GSUdfRlJBTUVfV0FSTj0xMDI0CisjIENPTkZJR19NQUdJQ19TWVNSUSBpcyBub3Qgc2V0CisjIENPTkZJR19VTlVTRURfU1lNQk9MUyBpcyBub3Qgc2V0CisjIENPTkZJR19ERUJVR19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19IRUFERVJTX0NIRUNLIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFQlVHX0tFUk5FTCBpcyBub3Qgc2V0CisjIENPTkZJR19ERUJVR19CVUdWRVJCT1NFIGlzIG5vdCBzZXQKK0NPTkZJR19GUkFNRV9QT0lOVEVSPXkKKyMgQ09ORklHX1NBTVBMRVMgaXMgbm90IHNldAorIyBDT05GSUdfREVCVUdfVVNFUiBpcyBub3Qgc2V0CisKKyMKKyMgU2VjdXJpdHkgb3B0aW9ucworIworIyBDT05GSUdfS0VZUyBpcyBub3Qgc2V0CisjIENPTkZJR19TRUNVUklUWSBpcyBub3Qgc2V0CisjIENPTkZJR19TRUNVUklUWV9GSUxFX0NBUEFCSUxJVElFUyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE8gaXMgbm90IHNldAorCisjCisjIExpYnJhcnkgcm91dGluZXMKKyMKK0NPTkZJR19CSVRSRVZFUlNFPXkKKyMgQ09ORklHX0dFTkVSSUNfRklORF9GSVJTVF9CSVQgaXMgbm90IHNldAorIyBDT05GSUdfR0VORVJJQ19GSU5EX05FWFRfQklUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSQ19DQ0lUVCBpcyBub3Qgc2V0CisjIENPTkZJR19DUkMxNiBpcyBub3Qgc2V0CisjIENPTkZJR19DUkNfSVRVX1QgaXMgbm90IHNldAorQ09ORklHX0NSQzMyPXkKKyMgQ09ORklHX0NSQzcgaXMgbm90IHNldAorIyBDT05GSUdfTElCQ1JDMzJDIGlzIG5vdCBzZXQKK0NPTkZJR19aTElCX0lORkxBVEU9eQorQ09ORklHX1pMSUJfREVGTEFURT15CitDT05GSUdfUExJU1Q9eQorQ09ORklHX0hBU19JT01FTT15CitDT05GSUdfSEFTX0lPUE9SVD15CitDT05GSUdfSEFTX0RNQT15CmRpZmYgLS1naXQgYS9hcmNoL2FybS9jb25maWdzL3BpY290dXgyMDBfZGVmY29uZmlnIGIvYXJjaC9hcm0vY29uZmlncy9waWNvdHV4MjAwX2RlZmNvbmZpZwppbmRleCA5NWEyMmY1Li4xNDgyNmYwIDEwMDY0NAotLS0gYS9hcmNoL2FybS9jb25maWdzL3BpY290dXgyMDBfZGVmY29uZmlnCisrKyBiL2FyY2gvYXJtL2NvbmZpZ3MvcGljb3R1eDIwMF9kZWZjb25maWcKQEAgLTIwMSw3ICsyMDEsNiBAQAogIyBLZXJuZWwgRmVhdHVyZXMKICMKICMgQ09ORklHX1BSRUVNUFQgaXMgbm90IHNldAotQ09ORklHX05PX0lETEVfSFo9eQogQ09ORklHX0haPTEwMAogQ09ORklHX0FFQUJJPXkKIENPTkZJR19PQUJJX0NPTVBBVD15CmRpZmYgLS1naXQgYS9hcmNoL2FybS9jb25maWdzL3BueDQwMDhfZGVmY29uZmlnIGIvYXJjaC9hcm0vY29uZmlncy9wbng0MDA4X2RlZmNvbmZpZwppbmRleCBiNWUxMWFhLi44MTFiOGY2IDEwMDY0NAotLS0gYS9hcmNoL2FybS9jb25maWdzL3BueDQwMDhfZGVmY29uZmlnCisrKyBiL2FyY2gvYXJtL2NvbmZpZ3MvcG54NDAwOF9kZWZjb25maWcKQEAgLTE1MSw3ICsxNTEsNiBAQAogIyBLZXJuZWwgRmVhdHVyZXMKICMKIENPTkZJR19QUkVFTVBUPXkKLSMgQ09ORklHX05PX0lETEVfSFogaXMgbm90IHNldAogQ09ORklHX0haPTEwMAogIyBDT05GSUdfQUVBQkkgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9ESVNDT05USUdNRU1fRU5BQkxFIGlzIG5vdCBzZXQKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2NvbmZpZ3MvZW1feDI3MF9kZWZjb25maWcgYi9hcmNoL2FybS9jb25maWdzL3FpbC1hOTI2MF9kZWZjb25maWcKc2ltaWxhcml0eSBpbmRleCA2NyUKY29weSBmcm9tIGFyY2gvYXJtL2NvbmZpZ3MvZW1feDI3MF9kZWZjb25maWcKY29weSB0byBhcmNoL2FybS9jb25maWdzL3FpbC1hOTI2MF9kZWZjb25maWcKaW5kZXggNmJlYTA5MC4uZWY5MDNiZSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vY29uZmlncy9lbV94MjcwX2RlZmNvbmZpZworKysgYi9hcmNoL2FybS9jb25maWdzL3FpbC1hOTI2MF9kZWZjb25maWcKQEAgLTEsMTMgKzEsMTMgQEAKICMKICMgQXV0b21hdGljYWxseSBnZW5lcmF0ZWQgbWFrZSBjb25maWc6IGRvbid0IGVkaXQKLSMgTGludXgga2VybmVsIHZlcnNpb246IDIuNi4yMgotIyBNb24gSnVsICA5IDE1OjE4OjIwIDIwMDcKKyMgTGludXgga2VybmVsIHZlcnNpb246IDIuNi4yNAorIyBUdWUgQXByIDE1IDEyOjI4OjM4IDIwMDgKICMKIENPTkZJR19BUk09eQogQ09ORklHX1NZU19TVVBQT1JUU19BUE1fRU1VTEFUSU9OPXkKIENPTkZJR19HRU5FUklDX0dQSU89eQogQ09ORklHX0dFTkVSSUNfVElNRT15Ci0jIENPTkZJR19HRU5FUklDX0NMT0NLRVZFTlRTIGlzIG5vdCBzZXQKK0NPTkZJR19HRU5FUklDX0NMT0NLRVZFTlRTPXkKIENPTkZJR19NTVU9eQogIyBDT05GSUdfTk9fSU9QT1JUIGlzIG5vdCBzZXQKIENPTkZJR19HRU5FUklDX0hBUkRJUlFTPXkKQEAgLTIyLDQxICsyMiwzOCBAQAogQ09ORklHX0dFTkVSSUNfSFdFSUdIVD15CiBDT05GSUdfR0VORVJJQ19DQUxJQlJBVEVfREVMQVk9eQogQ09ORklHX1pPTkVfRE1BPXkKLUNPTkZJR19BUkNIX01URF9YSVA9eQogQ09ORklHX1ZFQ1RPUlNfQkFTRT0weGZmZmYwMDAwCiBDT05GSUdfREVGQ09ORklHX0xJU1Q9Ii9saWIvbW9kdWxlcy8kVU5BTUVfUkVMRUFTRS8uY29uZmlnIgogCiAjCi0jIENvZGUgbWF0dXJpdHkgbGV2ZWwgb3B0aW9ucworIyBHZW5lcmFsIHNldHVwCiAjCiBDT05GSUdfRVhQRVJJTUVOVEFMPXkKIENPTkZJR19CUk9LRU5fT05fU01QPXkKIENPTkZJR19JTklUX0VOVl9BUkdfTElNSVQ9MzIKLQotIwotIyBHZW5lcmFsIHNldHVwCi0jCi1DT05GSUdfTE9DQUxWRVJTSU9OPSItZW0teDI3MCIKK0NPTkZJR19MT0NBTFZFUlNJT049IiIKICMgQ09ORklHX0xPQ0FMVkVSU0lPTl9BVVRPIGlzIG5vdCBzZXQKLUNPTkZJR19TV0FQPXkKKyMgQ09ORklHX1NXQVAgaXMgbm90IHNldAogQ09ORklHX1NZU1ZJUEM9eQotIyBDT05GSUdfSVBDX05TIGlzIG5vdCBzZXQKIENPTkZJR19TWVNWSVBDX1NZU0NUTD15CiAjIENPTkZJR19QT1NJWF9NUVVFVUUgaXMgbm90IHNldAogIyBDT05GSUdfQlNEX1BST0NFU1NfQUNDVCBpcyBub3Qgc2V0CiAjIENPTkZJR19UQVNLU1RBVFMgaXMgbm90IHNldAotIyBDT05GSUdfVVRTX05TIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTRVJfTlMgaXMgbm90IHNldAorIyBDT05GSUdfUElEX05TIGlzIG5vdCBzZXQKICMgQ09ORklHX0FVRElUIGlzIG5vdCBzZXQKLUNPTkZJR19JS0NPTkZJRz15Ci1DT05GSUdfSUtDT05GSUdfUFJPQz15Ci1DT05GSUdfTE9HX0JVRl9TSElGVD0xNwotQ09ORklHX1NZU0ZTX0RFUFJFQ0FURUQ9eQorIyBDT05GSUdfSUtDT05GSUcgaXMgbm90IHNldAorQ09ORklHX0xPR19CVUZfU0hJRlQ9MTQKKyMgQ09ORklHX0NHUk9VUFMgaXMgbm90IHNldAorQ09ORklHX0ZBSVJfR1JPVVBfU0NIRUQ9eQorQ09ORklHX0ZBSVJfVVNFUl9TQ0hFRD15CisjIENPTkZJR19GQUlSX0NHUk9VUF9TQ0hFRCBpcyBub3Qgc2V0CisjIENPTkZJR19TWVNGU19ERVBSRUNBVEVEIGlzIG5vdCBzZXQKICMgQ09ORklHX1JFTEFZIGlzIG5vdCBzZXQKLUNPTkZJR19CTEtfREVWX0lOSVRSRD15Ci1DT05GSUdfSU5JVFJBTUZTX1NPVVJDRT0iIgotQ09ORklHX0NDX09QVElNSVpFX0ZPUl9TSVpFPXkKKyMgQ09ORklHX0JMS19ERVZfSU5JVFJEIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NDX09QVElNSVpFX0ZPUl9TSVpFIGlzIG5vdCBzZXQKIENPTkZJR19TWVNDVEw9eQotQ09ORklHX0VNQkVEREVEPXkKKyMgQ09ORklHX0VNQkVEREVEIGlzIG5vdCBzZXQKIENPTkZJR19VSUQxNj15CiBDT05GSUdfU1lTQ1RMX1NZU0NBTEw9eQogQ09ORklHX0tBTExTWU1TPXkKQEAgLTcxLDQyICs2OCwzNSBAQAogQ09ORklHX0FOT05fSU5PREVTPXkKIENPTkZJR19FUE9MTD15CiBDT05GSUdfU0lHTkFMRkQ9eQotQ09ORklHX1RJTUVSRkQ9eQogQ09ORklHX0VWRU5URkQ9eQogQ09ORklHX1NITUVNPXkKIENPTkZJR19WTV9FVkVOVF9DT1VOVEVSUz15CiBDT05GSUdfU0xBQj15CiAjIENPTkZJR19TTFVCIGlzIG5vdCBzZXQKICMgQ09ORklHX1NMT0IgaXMgbm90IHNldAorQ09ORklHX1NMQUJJTkZPPXkKIENPTkZJR19SVF9NVVRFWEVTPXkKICMgQ09ORklHX1RJTllfU0hNRU0gaXMgbm90IHNldAogQ09ORklHX0JBU0VfU01BTEw9MAotCi0jCi0jIExvYWRhYmxlIG1vZHVsZSBzdXBwb3J0Ci0jCiBDT05GSUdfTU9EVUxFUz15CiBDT05GSUdfTU9EVUxFX1VOTE9BRD15Ci1DT05GSUdfTU9EVUxFX0ZPUkNFX1VOTE9BRD15CisjIENPTkZJR19NT0RVTEVfRk9SQ0VfVU5MT0FEIGlzIG5vdCBzZXQKICMgQ09ORklHX01PRFZFUlNJT05TIGlzIG5vdCBzZXQKICMgQ09ORklHX01PRFVMRV9TUkNWRVJTSU9OX0FMTCBpcyBub3Qgc2V0CiBDT05GSUdfS01PRD15Ci0KLSMKLSMgQmxvY2sgbGF5ZXIKLSMKIENPTkZJR19CTE9DSz15CiAjIENPTkZJR19MQkQgaXMgbm90IHNldAogIyBDT05GSUdfQkxLX0RFVl9JT19UUkFDRSBpcyBub3Qgc2V0CiAjIENPTkZJR19MU0YgaXMgbm90IHNldAorIyBDT05GSUdfQkxLX0RFVl9CU0cgaXMgbm90IHNldAogCiAjCiAjIElPIFNjaGVkdWxlcnMKICMKIENPTkZJR19JT1NDSEVEX05PT1A9eQogQ09ORklHX0lPU0NIRURfQVM9eQotQ09ORklHX0lPU0NIRURfREVBRExJTkU9eQotQ09ORklHX0lPU0NIRURfQ0ZRPXkKKyMgQ09ORklHX0lPU0NIRURfREVBRExJTkUgaXMgbm90IHNldAorIyBDT05GSUdfSU9TQ0hFRF9DRlEgaXMgbm90IHNldAogQ09ORklHX0RFRkFVTFRfQVM9eQogIyBDT05GSUdfREVGQVVMVF9ERUFETElORSBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUZBVUxUX0NGUSBpcyBub3Qgc2V0CkBAIC0xMjAsNyArMTEwLDcgQEAKICMgQ09ORklHX0FSQ0hfSU5URUdSQVRPUiBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX1JFQUxWSUVXIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfVkVSU0FUSUxFIGlzIG5vdCBzZXQKLSMgQ09ORklHX0FSQ0hfQVQ5MSBpcyBub3Qgc2V0CitDT05GSUdfQVJDSF9BVDkxPXkKICMgQ09ORklHX0FSQ0hfQ0xQUzc1MDAgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9DTFBTNzExWCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0NPMjg1IGlzIG5vdCBzZXQKQEAgLTEzOSw4ICsxMjksOSBAQAogIyBDT05GSUdfQVJDSF9MNzIwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0tTODY5NSBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX05TOVhYWCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX01YQyBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX1BOWDQwMDggaXMgbm90IHNldAotQ09ORklHX0FSQ0hfUFhBPXkKKyMgQ09ORklHX0FSQ0hfUFhBIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfUlBDIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfU0ExMTAwIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfUzNDMjQxMCBpcyBub3Qgc2V0CkBAIC0xNTAsMjUgKzE0MSw2NiBAQAogIyBDT05GSUdfQVJDSF9PTUFQIGlzIG5vdCBzZXQKIAogIwotIyBJbnRlbCBQWEEyeHggSW1wbGVtZW50YXRpb25zCisjIEJvb3Qgb3B0aW9ucwogIwotIyBDT05GSUdfQVJDSF9MVUJCT0NLIGlzIG5vdCBzZXQKLSMgQ09ORklHX01BQ0hfTE9HSUNQRF9QWEEyNzAgaXMgbm90IHNldAotIyBDT05GSUdfTUFDSF9NQUlOU1RPTkUgaXMgbm90IHNldAotIyBDT05GSUdfQVJDSF9QWEFfSURQIGlzIG5vdCBzZXQKLSMgQ09ORklHX1BYQV9TSEFSUFNMIGlzIG5vdCBzZXQKLSMgQ09ORklHX01BQ0hfVFJJWkVQUzQgaXMgbm90IHNldAotQ09ORklHX01BQ0hfRU1fWDI3MD15Ci1DT05GSUdfUFhBMjd4PXkKKworIworIyBQb3dlciBtYW5hZ2VtZW50CisjCisKKyMKKyMgQXRtZWwgQVQ5MSBTeXN0ZW0tb24tQ2hpcAorIworIyBDT05GSUdfQVJDSF9BVDkxUk05MjAwIGlzIG5vdCBzZXQKK0NPTkZJR19BUkNIX0FUOTFTQU05MjYwPXkKKyMgQ09ORklHX0FSQ0hfQVQ5MVNBTTkyNjEgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9BVDkxU0FNOTI2MyBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0FUOTFTQU05UkwgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9BVDkxQ0FQOSBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0FUOTFYNDAgaXMgbm90IHNldAorQ09ORklHX0FUOTFfUE1DX1VOSVQ9eQorCisjCisjIEFUOTFTQU05MjYwIFZhcmlhbnRzCisjCisjIENPTkZJR19BUkNIX0FUOTFTQU05MjYwX1NBTTlYRSBpcyBub3Qgc2V0CisKKyMKKyMgQVQ5MVNBTTkyNjAgLyBBVDkxU0FNOVhFIEJvYXJkIFR5cGUKKyMKKyMgQ09ORklHX01BQ0hfQVQ5MVNBTTkyNjBFSyBpcyBub3Qgc2V0CisjIENPTkZJR19NQUNIX0NBTTYwIGlzIG5vdCBzZXQKKyMgQ09ORklHX01BQ0hfU0FNOV9MOTI2MCBpcyBub3Qgc2V0CisjIENPTkZJR19NQUNIX1VTQl9BOTI2MCBpcyBub3Qgc2V0CitDT05GSUdfTUFDSF9RSUxfQTkyNjA9eQorCisjCisjIEFUOTEgQm9hcmQgT3B0aW9ucworIworCisjCisjIEFUOTEgRmVhdHVyZSBTZWxlY3Rpb25zCisjCisjIENPTkZJR19BVDkxX1BST0dSQU1NQUJMRV9DTE9DS1MgaXMgbm90IHNldAorQ09ORklHX0FUOTFfU0xPV19DTE9DSz15CitDT05GSUdfQVQ5MV9USU1FUl9IWj0xMDAKKyMgQ09ORklHX0FUOTFfRUFSTFlfREJHVSBpcyBub3Qgc2V0CitDT05GSUdfQVQ5MV9FQVJMWV9VU0FSVDA9eQorIyBDT05GSUdfQVQ5MV9FQVJMWV9VU0FSVDEgaXMgbm90IHNldAorIyBDT05GSUdfQVQ5MV9FQVJMWV9VU0FSVDIgaXMgbm90IHNldAorIyBDT05GSUdfQVQ5MV9FQVJMWV9VU0FSVDMgaXMgbm90IHNldAorIyBDT05GSUdfQVQ5MV9FQVJMWV9VU0FSVDQgaXMgbm90IHNldAorIyBDT05GSUdfQVQ5MV9FQVJMWV9VU0FSVDUgaXMgbm90IHNldAogCiAjCiAjIFByb2Nlc3NvciBUeXBlCiAjCiBDT05GSUdfQ1BVXzMyPXkKLUNPTkZJR19DUFVfWFNDQUxFPXkKK0NPTkZJR19DUFVfQVJNOTI2VD15CiBDT05GSUdfQ1BVXzMydjU9eQotQ09ORklHX0NQVV9BQlJUX0VWNVQ9eQorQ09ORklHX0NQVV9BQlJUX0VWNVRKPXkKIENPTkZJR19DUFVfQ0FDSEVfVklWVD15CitDT05GSUdfQ1BVX0NPUFlfVjRXQj15CiBDT05GSUdfQ1BVX1RMQl9WNFdCST15CiBDT05GSUdfQ1BVX0NQMTU9eQogQ09ORklHX0NQVV9DUDE1X01NVT15CkBAIC0xNzYsMjggKzIwOCwyOCBAQAogIwogIyBQcm9jZXNzb3IgRmVhdHVyZXMKICMKLUNPTkZJR19BUk1fVEhVTUI9eQorIyBDT05GSUdfQVJNX1RIVU1CIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NQVV9JQ0FDSEVfRElTQUJMRSBpcyBub3Qgc2V0CiAjIENPTkZJR19DUFVfRENBQ0hFX0RJU0FCTEUgaXMgbm90IHNldAorIyBDT05GSUdfQ1BVX0RDQUNIRV9XUklURVRIUk9VR0ggaXMgbm90IHNldAorIyBDT05GSUdfQ1BVX0NBQ0hFX1JPVU5EX1JPQklOIGlzIG5vdCBzZXQKICMgQ09ORklHX09VVEVSX0NBQ0hFIGlzIG5vdCBzZXQKLUNPTkZJR19JV01NWFQ9eQotQ09ORklHX1hTQ0FMRV9QTVU9eQogCiAjCiAjIEJ1cyBzdXBwb3J0CiAjCisjIENPTkZJR19QQ0lfU1lTQ0FMTCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX1NVUFBPUlRTX01TSSBpcyBub3Qgc2V0Ci0KLSMKLSMgUENDQVJEIChQQ01DSUEvQ2FyZEJ1cykgc3VwcG9ydAotIwogIyBDT05GSUdfUENDQVJEIGlzIG5vdCBzZXQKIAogIwogIyBLZXJuZWwgRmVhdHVyZXMKICMKICMgQ09ORklHX1RJQ0tfT05FU0hPVCBpcyBub3Qgc2V0CisjIENPTkZJR19OT19IWiBpcyBub3Qgc2V0CisjIENPTkZJR19ISUdIX1JFU19USU1FUlMgaXMgbm90IHNldAorQ09ORklHX0dFTkVSSUNfQ0xPQ0tFVkVOVFNfQlVJTEQ9eQogIyBDT05GSUdfUFJFRU1QVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19OT19JRExFX0haIGlzIG5vdCBzZXQKIENPTkZJR19IWj0xMDAKIENPTkZJR19BRUFCST15CiBDT05GSUdfT0FCSV9DT01QQVQ9eQpAQCAtMjA5LDkgKzI0MSwxMyBAQAogQ09ORklHX0ZMQVRNRU09eQogQ09ORklHX0ZMQVRfTk9ERV9NRU1fTUFQPXkKICMgQ09ORklHX1NQQVJTRU1FTV9TVEFUSUMgaXMgbm90IHNldAorIyBDT05GSUdfU1BBUlNFTUVNX1ZNRU1NQVBfRU5BQkxFIGlzIG5vdCBzZXQKIENPTkZJR19TUExJVF9QVExPQ0tfQ1BVUz00MDk2CiAjIENPTkZJR19SRVNPVVJDRVNfNjRCSVQgaXMgbm90IHNldAogQ09ORklHX1pPTkVfRE1BX0ZMQUc9MQorQ09ORklHX0JPVU5DRT15CitDT05GSUdfVklSVF9UT19CVVM9eQorIyBDT05GSUdfTEVEUyBpcyBub3Qgc2V0CiBDT05GSUdfQUxJR05NRU5UX1RSQVA9eQogCiAjCkBAIC0yMTksNyArMjU1LDcgQEAKICMKIENPTkZJR19aQk9PVF9ST01fVEVYVD0weDAKIENPTkZJR19aQk9PVF9ST01fQlNTPTB4MAotQ09ORklHX0NNRExJTkU9IiIKK0NPTkZJR19DTURMSU5FPSJtZW09NjRNIGNvbnNvbGU9dHR5UzEsMTE1MjAwIgogIyBDT05GSUdfWElQX0tFUk5FTCBpcyBub3Qgc2V0CiAjIENPTkZJR19LRVhFQyBpcyBub3Qgc2V0CiAKQEAgLTIzMyw2ICsyNjksNyBAQAogQ09ORklHX0ZQRV9OV0ZQRT15CiAjIENPTkZJR19GUEVfTldGUEVfWFAgaXMgbm90IHNldAogIyBDT05GSUdfRlBFX0ZBU1RGUEUgaXMgbm90IHNldAorIyBDT05GSUdfVkZQIGlzIG5vdCBzZXQKIAogIwogIyBVc2Vyc3BhY2UgYmluYXJ5IGZvcm1hdHMKQEAgLTI0NSwxMCArMjgyLDEyIEBACiAjIFBvd2VyIG1hbmFnZW1lbnQgb3B0aW9ucwogIwogQ09ORklHX1BNPXkKLUNPTkZJR19QTV9MRUdBQ1k9eQorIyBDT05GSUdfUE1fTEVHQUNZIGlzIG5vdCBzZXQKICMgQ09ORklHX1BNX0RFQlVHIGlzIG5vdCBzZXQKLSMgQ09ORklHX1BNX1NZU0ZTX0RFUFJFQ0FURUQgaXMgbm90IHNldAotQ09ORklHX0FQTV9FTVVMQVRJT049bQorQ09ORklHX1BNX1NMRUVQPXkKK0NPTkZJR19TVVNQRU5EX1VQX1BPU1NJQkxFPXkKK0NPTkZJR19TVVNQRU5EPXkKKyMgQ09ORklHX0FQTV9FTVVMQVRJT04gaXMgbm90IHNldAogCiAjCiAjIE5ldHdvcmtpbmcKQEAgLTI2MSwyMSArMzAwLDI1IEBACiBDT05GSUdfUEFDS0VUPXkKICMgQ09ORklHX1BBQ0tFVF9NTUFQIGlzIG5vdCBzZXQKIENPTkZJR19VTklYPXkKLUNPTkZJR19YRlJNPXkKLSMgQ09ORklHX1hGUk1fVVNFUiBpcyBub3Qgc2V0Ci0jIENPTkZJR19YRlJNX1NVQl9QT0xJQ1kgaXMgbm90IHNldAotIyBDT05GSUdfWEZSTV9NSUdSQVRFIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVF9LRVkgaXMgbm90IHNldAogQ09ORklHX0lORVQ9eQotIyBDT05GSUdfSVBfTVVMVElDQVNUIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lQX0FEVkFOQ0VEX1JPVVRFUiBpcyBub3Qgc2V0CitDT05GSUdfSVBfTVVMVElDQVNUPXkKK0NPTkZJR19JUF9BRFZBTkNFRF9ST1VURVI9eQorQ09ORklHX0FTS19JUF9GSUJfSEFTSD15CisjIENPTkZJR19JUF9GSUJfVFJJRSBpcyBub3Qgc2V0CiBDT05GSUdfSVBfRklCX0hBU0g9eQorIyBDT05GSUdfSVBfTVVMVElQTEVfVEFCTEVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lQX1JPVVRFX01VTFRJUEFUSCBpcyBub3Qgc2V0CitDT05GSUdfSVBfUk9VVEVfVkVSQk9TRT15CiBDT05GSUdfSVBfUE5QPXkKLUNPTkZJR19JUF9QTlBfREhDUD15CisjIENPTkZJR19JUF9QTlBfREhDUCBpcyBub3Qgc2V0CiBDT05GSUdfSVBfUE5QX0JPT1RQPXkKLSMgQ09ORklHX0lQX1BOUF9SQVJQIGlzIG5vdCBzZXQKK0NPTkZJR19JUF9QTlBfUkFSUD15CiAjIENPTkZJR19ORVRfSVBJUCBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRfSVBHUkUgaXMgbm90IHNldAorQ09ORklHX0lQX01ST1VURT15CitDT05GSUdfSVBfUElNU01fVjE9eQorQ09ORklHX0lQX1BJTVNNX1YyPXkKICMgQ09ORklHX0FSUEQgaXMgbm90IHNldAogIyBDT05GSUdfU1lOX0NPT0tJRVMgaXMgbm90IHNldAogIyBDT05GSUdfSU5FVF9BSCBpcyBub3Qgc2V0CkBAIC0yODMsMTEgKzMyNiwxMSBAQAogIyBDT05GSUdfSU5FVF9JUENPTVAgaXMgbm90IHNldAogIyBDT05GSUdfSU5FVF9YRlJNX1RVTk5FTCBpcyBub3Qgc2V0CiAjIENPTkZJR19JTkVUX1RVTk5FTCBpcyBub3Qgc2V0Ci1DT05GSUdfSU5FVF9YRlJNX01PREVfVFJBTlNQT1JUPXkKLUNPTkZJR19JTkVUX1hGUk1fTU9ERV9UVU5ORUw9eQotQ09ORklHX0lORVRfWEZSTV9NT0RFX0JFRVQ9eQotQ09ORklHX0lORVRfRElBRz15Ci1DT05GSUdfSU5FVF9UQ1BfRElBRz15CisjIENPTkZJR19JTkVUX1hGUk1fTU9ERV9UUkFOU1BPUlQgaXMgbm90IHNldAorIyBDT05GSUdfSU5FVF9YRlJNX01PREVfVFVOTkVMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lORVRfWEZSTV9NT0RFX0JFRVQgaXMgbm90IHNldAorIyBDT05GSUdfSU5FVF9MUk8gaXMgbm90IHNldAorIyBDT05GSUdfSU5FVF9ESUFHIGlzIG5vdCBzZXQKICMgQ09ORklHX1RDUF9DT05HX0FEVkFOQ0VEIGlzIG5vdCBzZXQKIENPTkZJR19UQ1BfQ09OR19DVUJJQz15CiBDT05GSUdfREVGQVVMVF9UQ1BfQ09ORz0iY3ViaWMiCkBAIC0zMTEsMTAgKzM1NCw2IEBACiAjIENPTkZJR19MQVBCIGlzIG5vdCBzZXQKICMgQ09ORklHX0VDT05FVCBpcyBub3Qgc2V0CiAjIENPTkZJR19XQU5fUk9VVEVSIGlzIG5vdCBzZXQKLQotIwotIyBRb1MgYW5kL29yIGZhaXIgcXVldWVpbmcKLSMKICMgQ09ORklHX05FVF9TQ0hFRCBpcyBub3Qgc2V0CiAKICMKQEAgLTMyMywyOCArMzYyLDcgQEAKICMgQ09ORklHX05FVF9QS1RHRU4gaXMgbm90IHNldAogIyBDT05GSUdfSEFNUkFESU8gaXMgbm90IHNldAogIyBDT05GSUdfSVJEQSBpcyBub3Qgc2V0Ci1DT05GSUdfQlQ9bQotQ09ORklHX0JUX0wyQ0FQPW0KLUNPTkZJR19CVF9TQ089bQotQ09ORklHX0JUX1JGQ09NTT1tCi0jIENPTkZJR19CVF9SRkNPTU1fVFRZIGlzIG5vdCBzZXQKLUNPTkZJR19CVF9CTkVQPW0KLSMgQ09ORklHX0JUX0JORVBfTUNfRklMVEVSIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JUX0JORVBfUFJPVE9fRklMVEVSIGlzIG5vdCBzZXQKLUNPTkZJR19CVF9ISURQPW0KLQotIwotIyBCbHVldG9vdGggZGV2aWNlIGRyaXZlcnMKLSMKLUNPTkZJR19CVF9IQ0lVU0I9bQotIyBDT05GSUdfQlRfSENJVVNCX1NDTyBpcyBub3Qgc2V0Ci1DT05GSUdfQlRfSENJVUFSVD1tCi0jIENPTkZJR19CVF9IQ0lVQVJUX0g0IGlzIG5vdCBzZXQKLSMgQ09ORklHX0JUX0hDSVVBUlRfQkNTUCBpcyBub3Qgc2V0Ci1DT05GSUdfQlRfSENJQkNNMjAzWD1tCi1DT05GSUdfQlRfSENJQlBBMTBYPW0KLUNPTkZJR19CVF9IQ0lCRlVTQj1tCi0jIENPTkZJR19CVF9IQ0lWSENJIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JUIGlzIG5vdCBzZXQKICMgQ09ORklHX0FGX1JYUlBDIGlzIG5vdCBzZXQKIAogIwpAQCAtMzUzLDEzICszNzEsOSBAQAogIyBDT05GSUdfQ0ZHODAyMTEgaXMgbm90IHNldAogIyBDT05GSUdfV0lSRUxFU1NfRVhUIGlzIG5vdCBzZXQKICMgQ09ORklHX01BQzgwMjExIGlzIG5vdCBzZXQKLUNPTkZJR19JRUVFODAyMTE9bQotIyBDT05GSUdfSUVFRTgwMjExX0RFQlVHIGlzIG5vdCBzZXQKLUNPTkZJR19JRUVFODAyMTFfQ1JZUFRfV0VQPW0KLUNPTkZJR19JRUVFODAyMTFfQ1JZUFRfQ0NNUD1tCi0jIENPTkZJR19JRUVFODAyMTFfQ1JZUFRfVEtJUCBpcyBub3Qgc2V0Ci0jIENPTkZJR19JRUVFODAyMTFfU09GVE1BQyBpcyBub3Qgc2V0CisjIENPTkZJR19JRUVFODAyMTEgaXMgbm90IHNldAogIyBDT05GSUdfUkZLSUxMIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF85UCBpcyBub3Qgc2V0CiAKICMKICMgRGV2aWNlIERyaXZlcnMKQEAgLTM2OCwyMyArMzgyLDIwIEBACiAjCiAjIEdlbmVyaWMgRHJpdmVyIE9wdGlvbnMKICMKK0NPTkZJR19VRVZFTlRfSEVMUEVSX1BBVEg9Ii9zYmluL2hvdHBsdWciCiBDT05GSUdfU1RBTkRBTE9ORT15CiBDT05GSUdfUFJFVkVOVF9GSVJNV0FSRV9CVUlMRD15Ci1DT05GSUdfRldfTE9BREVSPXkKKyMgQ09ORklHX0ZXX0xPQURFUiBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19EUklWRVIgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfREVWUkVTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NZU19IWVBFUlZJU09SIGlzIG5vdCBzZXQKLQotIwotIyBDb25uZWN0b3IgLSB1bmlmaWVkIHVzZXJzcGFjZSA8LT4ga2VybmVsc3BhY2UgbGlua2VyCi0jCiAjIENPTkZJR19DT05ORUNUT1IgaXMgbm90IHNldAogQ09ORklHX01URD15CiAjIENPTkZJR19NVERfREVCVUcgaXMgbm90IHNldAotQ09ORklHX01URF9DT05DQVQ9eQorIyBDT05GSUdfTVREX0NPTkNBVCBpcyBub3Qgc2V0CiBDT05GSUdfTVREX1BBUlRJVElPTlM9eQogIyBDT05GSUdfTVREX1JFREJPT1RfUEFSVFMgaXMgbm90IHNldAotIyBDT05GSUdfTVREX0NNRExJTkVfUEFSVFMgaXMgbm90IHNldAorQ09ORklHX01URF9DTURMSU5FX1BBUlRTPXkKICMgQ09ORklHX01URF9BRlNfUEFSVFMgaXMgbm90IHNldAogCiAjCkBAIC0zOTgsMTUgKzQwOSwxMyBAQAogIyBDT05GSUdfSU5GVEwgaXMgbm90IHNldAogIyBDT05GSUdfUkZEX0ZUTCBpcyBub3Qgc2V0CiAjIENPTkZJR19TU0ZEQyBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfT09QUyBpcyBub3Qgc2V0CiAKICMKICMgUkFNL1JPTS9GbGFzaCBjaGlwIGRyaXZlcnMKICMKICMgQ09ORklHX01URF9DRkkgaXMgbm90IHNldAogIyBDT05GSUdfTVREX0pFREVDUFJPQkUgaXMgbm90IHNldAotIyBDT05GSUdfTVREX0NGSV9OT1NXQVAgaXMgbm90IHNldAotIyBDT05GSUdfTVREX0NGSV9CRV9CWVRFX1NXQVAgaXMgbm90IHNldAotIyBDT05GSUdfTVREX0NGSV9MRV9CWVRFX1NXQVAgaXMgbm90IHNldAogQ09ORklHX01URF9NQVBfQkFOS19XSURUSF8xPXkKIENPTkZJR19NVERfTUFQX0JBTktfV0lEVEhfMj15CiBDT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzQ9eQpAQCAtNDI1LDEyICs0MzQsMTMgQEAKICMgTWFwcGluZyBkcml2ZXJzIGZvciBjaGlwIGFjY2VzcwogIwogIyBDT05GSUdfTVREX0NPTVBMRVhfTUFQUElOR1MgaXMgbm90IHNldAotIyBDT05GSUdfTVREX1NIQVJQX1NMIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9QTEFUUkFNIGlzIG5vdCBzZXQKIAogIwogIyBTZWxmLWNvbnRhaW5lZCBNVEQgZGV2aWNlIGRyaXZlcnMKICMKK0NPTkZJR19NVERfREFUQUZMQVNIPXkKKyMgQ09ORklHX01URF9NMjVQODAgaXMgbm90IHNldAogIyBDT05GSUdfTVREX1NMUkFNIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9QSFJBTSBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfTVREUkFNIGlzIG5vdCBzZXQKQEAgLTQ0Niw1MyArNDU2LDQyIEBACiAjIENPTkZJR19NVERfTkFORF9WRVJJRllfV1JJVEUgaXMgbm90IHNldAogIyBDT05GSUdfTVREX05BTkRfRUNDX1NNQyBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfTkFORF9NVVNFVU1fSURTIGlzIG5vdCBzZXQKLSMgQ09ORklHX01URF9OQU5EX0gxOTAwIGlzIG5vdCBzZXQKIENPTkZJR19NVERfTkFORF9JRFM9eQogIyBDT05GSUdfTVREX05BTkRfRElTS09OQ0hJUCBpcyBub3Qgc2V0Ci0jIENPTkZJR19NVERfTkFORF9TSEFSUFNMIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfTkFORF9BVDkxPXkKK0NPTkZJR19NVERfTkFORF9BVDkxX0VDQ19TT0ZUPXkKKyMgQ09ORklHX01URF9OQU5EX0FUOTFfRUNDX0hXIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9OQU5EX0FUOTFfRUNDX05PTkUgaXMgbm90IHNldAogIyBDT05GSUdfTVREX05BTkRfTkFORFNJTSBpcyBub3Qgc2V0Ci1DT05GSUdfTVREX05BTkRfUExBVEZPUk09eQorIyBDT05GSUdfTVREX05BTkRfUExBVEZPUk0gaXMgbm90IHNldAorIyBDT05GSUdfTVREX0FMQVVEQSBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfT05FTkFORCBpcyBub3Qgc2V0CiAKICMKICMgVUJJIC0gVW5zb3J0ZWQgYmxvY2sgaW1hZ2VzCiAjCiAjIENPTkZJR19NVERfVUJJIGlzIG5vdCBzZXQKLQotIwotIyBQYXJhbGxlbCBwb3J0IHN1cHBvcnQKLSMKICMgQ09ORklHX1BBUlBPUlQgaXMgbm90IHNldAotCi0jCi0jIFBsdWcgYW5kIFBsYXkgc3VwcG9ydAotIwotIyBDT05GSUdfUE5QQUNQSSBpcyBub3Qgc2V0Ci0KLSMKLSMgQmxvY2sgZGV2aWNlcwotIworQ09ORklHX0JMS19ERVY9eQogIyBDT05GSUdfQkxLX0RFVl9DT1dfQ09NTU9OIGlzIG5vdCBzZXQKIENPTkZJR19CTEtfREVWX0xPT1A9eQogIyBDT05GSUdfQkxLX0RFVl9DUllQVE9MT09QIGlzIG5vdCBzZXQKICMgQ09ORklHX0JMS19ERVZfTkJEIGlzIG5vdCBzZXQKICMgQ09ORklHX0JMS19ERVZfVUIgaXMgbm90IHNldAotQ09ORklHX0JMS19ERVZfUkFNPXkKLUNPTkZJR19CTEtfREVWX1JBTV9DT1VOVD0xNgotQ09ORklHX0JMS19ERVZfUkFNX1NJWkU9MTIwMDAKLUNPTkZJR19CTEtfREVWX1JBTV9CTE9DS1NJWkU9MTAyNAorIyBDT05GSUdfQkxLX0RFVl9SQU0gaXMgbm90IHNldAogIyBDT05GSUdfQ0RST01fUEtUQ0RWRCBpcyBub3Qgc2V0CiAjIENPTkZJR19BVEFfT1ZFUl9FVEggaXMgbm90IHNldAotIyBDT05GSUdfSURFIGlzIG5vdCBzZXQKKyMgQ09ORklHX01JU0NfREVWSUNFUyBpcyBub3Qgc2V0CiAKICMKICMgU0NTSSBkZXZpY2Ugc3VwcG9ydAogIwogIyBDT05GSUdfUkFJRF9BVFRSUyBpcyBub3Qgc2V0CiBDT05GSUdfU0NTST15CitDT05GSUdfU0NTSV9ETUE9eQogIyBDT05GSUdfU0NTSV9UR1QgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9ORVRMSU5LIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfUFJPQ19GUyBpcyBub3Qgc2V0CitDT05GSUdfU0NTSV9QUk9DX0ZTPXkKIAogIwogIyBTQ1NJIHN1cHBvcnQgdHlwZSAoZGlzaywgdGFwZSwgQ0QtUk9NKQpAQCAtNTA3LDcgKzUwNiw3IEBACiAjCiAjIFNvbWUgU0NTSSBkZXZpY2VzIChlLmcuIENEIGp1a2Vib3gpIHN1cHBvcnQgbXVsdGlwbGUgTFVOcwogIwotIyBDT05GSUdfU0NTSV9NVUxUSV9MVU4gaXMgbm90IHNldAorQ09ORklHX1NDU0lfTVVMVElfTFVOPXkKICMgQ09ORklHX1NDU0lfQ09OU1RBTlRTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfTE9HR0lORyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX1NDQU5fQVNZTkMgaXMgbm90IHNldApAQCAtNTE5LDQxICs1MTgsNTAgQEAKICMgQ09ORklHX1NDU0lfU1BJX0FUVFJTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfRkNfQVRUUlMgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9JU0NTSV9BVFRSUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX1NBU19BVFRSUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX1NBU19MSUJTQVMgaXMgbm90IHNldAotCi0jCi0jIFNDU0kgbG93LWxldmVsIGRyaXZlcnMKLSMKKyMgQ09ORklHX1NDU0lfU1JQX0FUVFJTIGlzIG5vdCBzZXQKK0NPTkZJR19TQ1NJX0xPV0xFVkVMPXkKICMgQ09ORklHX0lTQ1NJX1RDUCBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX0RFQlVHIGlzIG5vdCBzZXQKICMgQ09ORklHX0FUQSBpcyBub3Qgc2V0Ci0KLSMKLSMgTXVsdGktZGV2aWNlIHN1cHBvcnQgKFJBSUQgYW5kIExWTSkKLSMKICMgQ09ORklHX01EIGlzIG5vdCBzZXQKLQotIwotIyBOZXR3b3JrIGRldmljZSBzdXBwb3J0Ci0jCiBDT05GSUdfTkVUREVWSUNFUz15CisjIENPTkZJR19ORVRERVZJQ0VTX01VTFRJUVVFVUUgaXMgbm90IHNldAogIyBDT05GSUdfRFVNTVkgaXMgbm90IHNldAogIyBDT05GSUdfQk9ORElORyBpcyBub3Qgc2V0CisjIENPTkZJR19NQUNWTEFOIGlzIG5vdCBzZXQKICMgQ09ORklHX0VRVUFMSVpFUiBpcyBub3Qgc2V0CiAjIENPTkZJR19UVU4gaXMgbm90IHNldAotIyBDT05GSUdfUEhZTElCIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZFVEggaXMgbm90IHNldAorQ09ORklHX1BIWUxJQj15CiAKICMKLSMgRXRoZXJuZXQgKDEwIG9yIDEwME1iaXQpCisjIE1JSSBQSFkgZGV2aWNlIGRyaXZlcnMKICMKKyMgQ09ORklHX01BUlZFTExfUEhZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RBVklDT01fUEhZIGlzIG5vdCBzZXQKKyMgQ09ORklHX1FTRU1JX1BIWSBpcyBub3Qgc2V0CisjIENPTkZJR19MWFRfUEhZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NJQ0FEQV9QSFkgaXMgbm90IHNldAorIyBDT05GSUdfVklURVNTRV9QSFkgaXMgbm90IHNldAorIyBDT05GSUdfU01TQ19QSFkgaXMgbm90IHNldAorIyBDT05GSUdfQlJPQURDT01fUEhZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lDUExVU19QSFkgaXMgbm90IHNldAorIyBDT05GSUdfRklYRURfUEhZIGlzIG5vdCBzZXQKKyMgQ09ORklHX01ESU9fQklUQkFORyBpcyBub3Qgc2V0CiBDT05GSUdfTkVUX0VUSEVSTkVUPXkKIENPTkZJR19NSUk9eQorQ09ORklHX01BQ0I9eQorIyBDT05GSUdfQVg4ODc5NiBpcyBub3Qgc2V0CiAjIENPTkZJR19TTUM5MVggaXMgbm90IHNldAotQ09ORklHX0RNOTAwMD15Ci0jIENPTkZJR19TTUM5MTFYIGlzIG5vdCBzZXQKLSMgQ09ORklHX05FVERFVl8xMDAwIGlzIG5vdCBzZXQKLSMgQ09ORklHX05FVERFVl8xMDAwMCBpcyBub3Qgc2V0CisjIENPTkZJR19ETTkwMDAgaXMgbm90IHNldAorIyBDT05GSUdfSUJNX05FV19FTUFDX1pNSUkgaXMgbm90IHNldAorIyBDT05GSUdfSUJNX05FV19FTUFDX1JHTUlJIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTV9ORVdfRU1BQ19UQUggaXMgbm90IHNldAorIyBDT05GSUdfSUJNX05FV19FTUFDX0VNQUM0IGlzIG5vdCBzZXQKKyMgQ09ORklHX0I0NCBpcyBub3Qgc2V0CitDT05GSUdfTkVUREVWXzEwMDA9eQorQ09ORklHX05FVERFVl8xMDAwMD15CiAKICMKICMgV2lyZWxlc3MgTEFOCkBAIC01NjgsNyArNTc2LDYgQEAKICMgQ09ORklHX1VTQl9LQVdFVEggaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1BFR0FTVVMgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1JUTDgxNTAgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX1VTQk5FVF9NSUkgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1VTQk5FVCBpcyBub3Qgc2V0CiAjIENPTkZJR19XQU4gaXMgbm90IHNldAogIyBDT05GSUdfUFBQIGlzIG5vdCBzZXQKQEAgLTU3NywxMCArNTg0LDYgQEAKICMgQ09ORklHX05FVENPTlNPTEUgaXMgbm90IHNldAogIyBDT05GSUdfTkVUUE9MTCBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRfUE9MTF9DT05UUk9MTEVSIGlzIG5vdCBzZXQKLQotIwotIyBJU0ROIHN1YnN5c3RlbQotIwogIyBDT05GSUdfSVNETiBpcyBub3Qgc2V0CiAKICMKQEAgLTU5OCw5ICs2MDEsOCBAQAogQ09ORklHX0lOUFVUX01PVVNFREVWX1NDUkVFTl9YPTEwMjQKIENPTkZJR19JTlBVVF9NT1VTRURFVl9TQ1JFRU5fWT03NjgKICMgQ09ORklHX0lOUFVUX0pPWURFViBpcyBub3Qgc2V0Ci0jIENPTkZJR19JTlBVVF9UU0RFViBpcyBub3Qgc2V0CiBDT05GSUdfSU5QVVRfRVZERVY9eQotIyBDT05GSUdfSU5QVVRfRVZCVUcgaXMgbm90IHNldAorQ09ORklHX0lOUFVUX0VWQlVHPXkKIAogIwogIyBJbnB1dCBEZXZpY2UgRHJpdmVycwpAQCAtNjEyLDMwICs2MTQsMTcgQEAKICMgQ09ORklHX0tFWUJPQVJEX1hUS0JEIGlzIG5vdCBzZXQKICMgQ09ORklHX0tFWUJPQVJEX05FV1RPTiBpcyBub3Qgc2V0CiAjIENPTkZJR19LRVlCT0FSRF9TVE9XQVdBWSBpcyBub3Qgc2V0Ci1DT05GSUdfS0VZQk9BUkRfUFhBMjd4PW0KLSMgQ09ORklHX0tFWUJPQVJEX0dQSU8gaXMgbm90IHNldAorQ09ORklHX0tFWUJPQVJEX0dQSU89eQogIyBDT05GSUdfSU5QVVRfTU9VU0UgaXMgbm90IHNldAogIyBDT05GSUdfSU5QVVRfSk9ZU1RJQ0sgaXMgbm90IHNldAogIyBDT05GSUdfSU5QVVRfVEFCTEVUIGlzIG5vdCBzZXQKLUNPTkZJR19JTlBVVF9UT1VDSFNDUkVFTj15Ci0jIENPTkZJR19UT1VDSFNDUkVFTl9HVU5aRSBpcyBub3Qgc2V0Ci0jIENPTkZJR19UT1VDSFNDUkVFTl9FTE8gaXMgbm90IHNldAotIyBDT05GSUdfVE9VQ0hTQ1JFRU5fTVRPVUNIIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RPVUNIU0NSRUVOX01LNzEyIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RPVUNIU0NSRUVOX1BFTk1PVU5UIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RPVUNIU0NSRUVOX1RPVUNIUklHSFQgaXMgbm90IHNldAotIyBDT05GSUdfVE9VQ0hTQ1JFRU5fVE9VQ0hXSU4gaXMgbm90IHNldAotIyBDT05GSUdfVE9VQ0hTQ1JFRU5fVUNCMTQwMCBpcyBub3Qgc2V0Ci0jIENPTkZJR19UT1VDSFNDUkVFTl9VU0JfQ09NUE9TSVRFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOUFVUX1RPVUNIU0NSRUVOIGlzIG5vdCBzZXQKICMgQ09ORklHX0lOUFVUX01JU0MgaXMgbm90IHNldAogCiAjCiAjIEhhcmR3YXJlIEkvTyBwb3J0cwogIwotQ09ORklHX1NFUklPPXkKLSMgQ09ORklHX1NFUklPX1NFUlBPUlQgaXMgbm90IHNldAotQ09ORklHX1NFUklPX0xJQlBTMj15Ci0jIENPTkZJR19TRVJJT19SQVcgaXMgbm90IHNldAorIyBDT05GSUdfU0VSSU8gaXMgbm90IHNldAogIyBDT05GSUdfR0FNRVBPUlQgaXMgbm90IHNldAogCiAjCkBAIC02NTUsNDUgKzY0NCwxMDEgQEAKICMKICMgTm9uLTgyNTAgc2VyaWFsIHBvcnQgc3VwcG9ydAogIwotQ09ORklHX1NFUklBTF9QWEE9eQotQ09ORklHX1NFUklBTF9QWEFfQ09OU09MRT15CitDT05GSUdfU0VSSUFMX0FUTUVMPXkKK0NPTkZJR19TRVJJQUxfQVRNRUxfQ09OU09MRT15CisjIENPTkZJR19TRVJJQUxfQVRNRUxfVFRZQVQgaXMgbm90IHNldAogQ09ORklHX1NFUklBTF9DT1JFPXkKIENPTkZJR19TRVJJQUxfQ09SRV9DT05TT0xFPXkKIENPTkZJR19VTklYOThfUFRZUz15CiBDT05GSUdfTEVHQUNZX1BUWVM9eQogQ09ORklHX0xFR0FDWV9QVFlfQ09VTlQ9MjU2Ci0KLSMKLSMgSVBNSQotIwogIyBDT05GSUdfSVBNSV9IQU5ETEVSIGlzIG5vdCBzZXQKLSMgQ09ORklHX1dBVENIRE9HIGlzIG5vdCBzZXQKLUNPTkZJR19IV19SQU5ET009bQorQ09ORklHX0hXX1JBTkRPTT15CiAjIENPTkZJR19OVlJBTSBpcyBub3Qgc2V0CiAjIENPTkZJR19SMzk2NCBpcyBub3Qgc2V0CiAjIENPTkZJR19SQVdfRFJJVkVSIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RDR19UUE0gaXMgbm90IHNldAorQ09ORklHX0kyQz15CitDT05GSUdfSTJDX0JPQVJESU5GTz15CitDT05GSUdfSTJDX0NIQVJERVY9eQogCiAjCi0jIFRQTSBkZXZpY2VzCisjIEkyQyBBbGdvcml0aG1zCiAjCi0jIENPTkZJR19UQ0dfVFBNIGlzIG5vdCBzZXQKLSMgQ09ORklHX0kyQyBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfQUxHT0JJVCBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfQUxHT1BDRiBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfQUxHT1BDQSBpcyBub3Qgc2V0CisKKyMKKyMgSTJDIEhhcmR3YXJlIEJ1cyBzdXBwb3J0CisjCisjIENPTkZJR19JMkNfR1BJTyBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfT0NPUkVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19QQVJQT1JUX0xJR0hUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19TSU1URUMgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1RBT1NfRVZNIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19TVFVCIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19USU5ZX1VTQiBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfUENBIGlzIG5vdCBzZXQKKworIworIyBNaXNjZWxsYW5lb3VzIEkyQyBDaGlwIHN1cHBvcnQKKyMKKyMgQ09ORklHX1NFTlNPUlNfRFMxMzM3IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfRFMxMzc0IGlzIG5vdCBzZXQKKyMgQ09ORklHX0RTMTY4MiBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0VFUFJPTSBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX1BDRjg1NzQgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19QQ0E5NTM5IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfUENGODU5MSBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX01BWDY4NzUgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19UU0wyNTUwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19ERUJVR19DT1JFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19ERUJVR19BTEdPIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19ERUJVR19CVVMgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0RFQlVHX0NISVAgaXMgbm90IHNldAogCiAjCiAjIFNQSSBzdXBwb3J0CiAjCi0jIENPTkZJR19TUEkgaXMgbm90IHNldAotIyBDT05GSUdfU1BJX01BU1RFUiBpcyBub3Qgc2V0CitDT05GSUdfU1BJPXkKKyMgQ09ORklHX1NQSV9ERUJVRyBpcyBub3Qgc2V0CitDT05GSUdfU1BJX01BU1RFUj15CiAKICMKLSMgRGFsbGFzJ3MgMS13aXJlIGJ1cworIyBTUEkgTWFzdGVyIENvbnRyb2xsZXIgRHJpdmVycwogIworQ09ORklHX1NQSV9BVE1FTD15CisjIENPTkZJR19TUElfQklUQkFORyBpcyBub3Qgc2V0CisKKyMKKyMgU1BJIFByb3RvY29sIE1hc3RlcnMKKyMKKyMgQ09ORklHX1NQSV9BVDI1IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NQSV9TUElERVYgaXMgbm90IHNldAorIyBDT05GSUdfU1BJX1RMRTYyWDAgaXMgbm90IHNldAogIyBDT05GSUdfVzEgaXMgbm90IHNldAorIyBDT05GSUdfUE9XRVJfU1VQUExZIGlzIG5vdCBzZXQKICMgQ09ORklHX0hXTU9OIGlzIG5vdCBzZXQKK0NPTkZJR19XQVRDSERPRz15CitDT05GSUdfV0FUQ0hET0dfTk9XQVlPVVQ9eQogCiAjCi0jIE1pc2MgZGV2aWNlcworIyBXYXRjaGRvZyBEZXZpY2UgRHJpdmVycwogIworIyBDT05GSUdfU09GVF9XQVRDSERPRyBpcyBub3Qgc2V0CisjIENPTkZJR19BVDkxU0FNOV9XQVRDSERPRyBpcyBub3Qgc2V0CisKKyMKKyMgVVNCLWJhc2VkIFdhdGNoZG9nIENhcmRzCisjCisjIENPTkZJR19VU0JQQ1dBVENIRE9HIGlzIG5vdCBzZXQKKworIworIyBTb25pY3MgU2lsaWNvbiBCYWNrcGxhbmUKKyMKK0NPTkZJR19TU0JfUE9TU0lCTEU9eQorIyBDT05GSUdfU1NCIGlzIG5vdCBzZXQKIAogIwogIyBNdWx0aWZ1bmN0aW9uIGRldmljZSBkcml2ZXJzCkBAIC03MDEsMTkgKzc0Niw2IEBACiAjIENPTkZJR19NRkRfU001MDEgaXMgbm90IHNldAogCiAjCi0jIExFRCBkZXZpY2VzCi0jCi0jIENPTkZJR19ORVdfTEVEUyBpcyBub3Qgc2V0Ci0KLSMKLSMgTEVEIGRyaXZlcnMKLSMKLQotIwotIyBMRUQgVHJpZ2dlcnMKLSMKLQotIwogIyBNdWx0aW1lZGlhIGRldmljZXMKICMKICMgQ09ORklHX1ZJREVPX0RFViBpcyBub3Qgc2V0CkBAIC03MjMsMTI1ICs3NTUsNDIgQEAKICMKICMgR3JhcGhpY3Mgc3VwcG9ydAogIworIyBDT05GSUdfVkdBU1RBVEUgaXMgbm90IHNldAorIyBDT05GSUdfVklERU9fT1VUUFVUX0NPTlRST0wgaXMgbm90IHNldAorIyBDT05GSUdfRkIgaXMgbm90IHNldAogIyBDT05GSUdfQkFDS0xJR0hUX0xDRF9TVVBQT1JUIGlzIG5vdCBzZXQKIAogIwogIyBEaXNwbGF5IGRldmljZSBzdXBwb3J0CiAjCiAjIENPTkZJR19ESVNQTEFZX1NVUFBPUlQgaXMgbm90IHNldAotIyBDT05GSUdfVkdBU1RBVEUgaXMgbm90IHNldAotQ09ORklHX0ZCPXkKLSMgQ09ORklHX0ZJUk1XQVJFX0VESUQgaXMgbm90IHNldAotIyBDT05GSUdfRkJfRERDIGlzIG5vdCBzZXQKLUNPTkZJR19GQl9DRkJfRklMTFJFQ1Q9eQotQ09ORklHX0ZCX0NGQl9DT1BZQVJFQT15Ci1DT05GSUdfRkJfQ0ZCX0lNQUdFQkxJVD15Ci0jIENPTkZJR19GQl9TWVNfRklMTFJFQ1QgaXMgbm90IHNldAotIyBDT05GSUdfRkJfU1lTX0NPUFlBUkVBIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX1NZU19JTUFHRUJMSVQgaXMgbm90IHNldAotIyBDT05GSUdfRkJfU1lTX0ZPUFMgaXMgbm90IHNldAotQ09ORklHX0ZCX0RFRkVSUkVEX0lPPXkKLSMgQ09ORklHX0ZCX1NWR0FMSUIgaXMgbm90IHNldAotIyBDT05GSUdfRkJfTUFDTU9ERVMgaXMgbm90IHNldAotIyBDT05GSUdfRkJfQkFDS0xJR0hUIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX01PREVfSEVMUEVSUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9USUxFQkxJVFRJTkcgaXMgbm90IHNldAotCi0jCi0jIEZyYW1lIGJ1ZmZlciBoYXJkd2FyZSBkcml2ZXJzCi0jCi0jIENPTkZJR19GQl9TMUQxM1hYWCBpcyBub3Qgc2V0Ci1DT05GSUdfRkJfUFhBPXkKLSMgQ09ORklHX0ZCX1BYQV9QQVJBTUVURVJTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX01CWCBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9WSVJUVUFMIGlzIG5vdCBzZXQKIAogIwogIyBDb25zb2xlIGRpc3BsYXkgZHJpdmVyIHN1cHBvcnQKICMKICMgQ09ORklHX1ZHQV9DT05TT0xFIGlzIG5vdCBzZXQKIENPTkZJR19EVU1NWV9DT05TT0xFPXkKLUNPTkZJR19GUkFNRUJVRkZFUl9DT05TT0xFPXkKLSMgQ09ORklHX0ZSQU1FQlVGRkVSX0NPTlNPTEVfUk9UQVRJT04gaXMgbm90IHNldAotIyBDT05GSUdfRk9OVFMgaXMgbm90IHNldAotQ09ORklHX0ZPTlRfOHg4PXkKLUNPTkZJR19GT05UXzh4MTY9eQotQ09ORklHX0xPR089eQotQ09ORklHX0xPR09fTElOVVhfTU9OTz15Ci1DT05GSUdfTE9HT19MSU5VWF9WR0ExNj15Ci1DT05GSUdfTE9HT19MSU5VWF9DTFVUMjI0PXkKIAogIwogIyBTb3VuZAogIwotQ09ORklHX1NPVU5EPW0KLQotIwotIyBBZHZhbmNlZCBMaW51eCBTb3VuZCBBcmNoaXRlY3R1cmUKLSMKLUNPTkZJR19TTkQ9bQotQ09ORklHX1NORF9USU1FUj1tCi1DT05GSUdfU05EX1BDTT1tCi0jIENPTkZJR19TTkRfU0VRVUVOQ0VSIGlzIG5vdCBzZXQKLUNPTkZJR19TTkRfT1NTRU1VTD15Ci1DT05GSUdfU05EX01JWEVSX09TUz1tCi1DT05GSUdfU05EX1BDTV9PU1M9bQotQ09ORklHX1NORF9QQ01fT1NTX1BMVUdJTlM9eQotIyBDT05GSUdfU05EX0RZTkFNSUNfTUlOT1JTIGlzIG5vdCBzZXQKLUNPTkZJR19TTkRfU1VQUE9SVF9PTERfQVBJPXkKLUNPTkZJR19TTkRfVkVSQk9TRV9QUk9DRlM9eQotIyBDT05GSUdfU05EX1ZFUkJPU0VfUFJJTlRLIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9ERUJVRyBpcyBub3Qgc2V0Ci0KLSMKLSMgR2VuZXJpYyBkZXZpY2VzCi0jCi1DT05GSUdfU05EX0FDOTdfQ09ERUM9bQotIyBDT05GSUdfU05EX0RVTU1ZIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9NVFBBViBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfU0VSSUFMX1UxNjU1MCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfTVBVNDAxIGlzIG5vdCBzZXQKLQotIwotIyBBTFNBIEFSTSBkZXZpY2VzCi0jCi1DT05GSUdfU05EX1BYQTJYWF9QQ009bQotQ09ORklHX1NORF9QWEEyWFhfQUM5Nz1tCi0KLSMKLSMgVVNCIGRldmljZXMKLSMKLSMgQ09ORklHX1NORF9VU0JfQVVESU8gaXMgbm90IHNldAotIyBDT05GSUdfU05EX1VTQl9DQUlBUSBpcyBub3Qgc2V0Ci0KLSMKLSMgU3lzdGVtIG9uIENoaXAgYXVkaW8gc3VwcG9ydAotIwotIyBDT05GSUdfU05EX1NPQyBpcyBub3Qgc2V0Ci0KLSMKLSMgT3BlbiBTb3VuZCBTeXN0ZW0KLSMKLSMgQ09ORklHX1NPVU5EX1BSSU1FIGlzIG5vdCBzZXQKLUNPTkZJR19BQzk3X0JVUz1tCi0KLSMKLSMgSElEIERldmljZXMKLSMKKyMgQ09ORklHX1NPVU5EIGlzIG5vdCBzZXQKK0NPTkZJR19ISURfU1VQUE9SVD15CiBDT05GSUdfSElEPXkKICMgQ09ORklHX0hJRF9ERUJVRyBpcyBub3Qgc2V0CisjIENPTkZJR19ISURSQVcgaXMgbm90IHNldAogCiAjCiAjIFVTQiBJbnB1dCBEZXZpY2VzCiAjCi1DT05GSUdfVVNCX0hJRD15Ci0jIENPTkZJR19VU0JfSElESU5QVVRfUE9XRVJCT09LIGlzIG5vdCBzZXQKLSMgQ09ORklHX0hJRF9GRiBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfSElEREVWIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9ISUQgaXMgbm90IHNldAogCiAjCi0jIFVTQiBzdXBwb3J0CisjIFVTQiBISUQgQm9vdCBQcm90b2NvbCBkcml2ZXJzCiAjCisjIENPTkZJR19VU0JfS0JEIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9NT1VTRSBpcyBub3Qgc2V0CitDT05GSUdfVVNCX1NVUFBPUlQ9eQogQ09ORklHX1VTQl9BUkNIX0hBU19IQ0Q9eQogQ09ORklHX1VTQl9BUkNIX0hBU19PSENJPXkKICMgQ09ORklHX1VTQl9BUkNIX0hBU19FSENJIGlzIG5vdCBzZXQKQEAgLTg1Miw5ICs4MDEsMTAgQEAKICMgTWlzY2VsbGFuZW91cyBVU0Igb3B0aW9ucwogIwogQ09ORklHX1VTQl9ERVZJQ0VGUz15Ci0jIENPTkZJR19VU0JfREVWSUNFX0NMQVNTIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfREVWSUNFX0NMQVNTPXkKICMgQ09ORklHX1VTQl9EWU5BTUlDX01JTk9SUyBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfU1VTUEVORCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfUEVSU0lTVCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfT1RHIGlzIG5vdCBzZXQKIAogIwpAQCAtODY2LDYgKzgxNiw3IEBACiAjIENPTkZJR19VU0JfT0hDSV9CSUdfRU5ESUFOX01NSU8gaXMgbm90IHNldAogQ09ORklHX1VTQl9PSENJX0xJVFRMRV9FTkRJQU49eQogIyBDT05GSUdfVVNCX1NMODExX0hDRCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfUjhBNjY1OTdfSENEIGlzIG5vdCBzZXQKIAogIwogIyBVU0IgRGV2aWNlIENsYXNzIGRyaXZlcnMKQEAgLTg4NCw2ICs4MzUsNyBAQAogIyBDT05GSUdfVVNCX1NUT1JBR0VfREVCVUcgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1NUT1JBR0VfREFUQUZBQiBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfU1RPUkFHRV9GUkVFQ09NIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TVE9SQUdFX0lTRDIwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfU1RPUkFHRV9EUENNIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9TVE9SQUdFX1VTQkFUIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9TVE9SQUdFX1NERFIwOSBpcyBub3Qgc2V0CkBAIC04OTgsNyArODUwLDcgQEAKICMKICMgQ09ORklHX1VTQl9NREM4MDAgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX01JQ1JPVEVLIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9NT04gaXMgbm90IHNldAorQ09ORklHX1VTQl9NT049eQogCiAjCiAjIFVTQiBwb3J0IGRyaXZlcnMKQEAgLTkzOSwyNiArODkxLDY2IEBACiAjCiAjIFVTQiBHYWRnZXQgU3VwcG9ydAogIwotIyBDT05GSUdfVVNCX0dBREdFVCBpcyBub3Qgc2V0Ci1DT05GSUdfTU1DPW0KK0NPTkZJR19VU0JfR0FER0VUPXkKKyMgQ09ORklHX1VTQl9HQURHRVRfREVCVUcgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0dBREdFVF9ERUJVR19GSUxFUyBpcyBub3Qgc2V0CitDT05GSUdfVVNCX0dBREdFVF9TRUxFQ1RFRD15CisjIENPTkZJR19VU0JfR0FER0VUX0FNRDU1MzZVREMgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0dBREdFVF9BVE1FTF9VU0JBIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9HQURHRVRfRlNMX1VTQjIgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0dBREdFVF9ORVQyMjgwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9HQURHRVRfUFhBMlhYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9HQURHRVRfTTY2NTkyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9HQURHRVRfR09LVSBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfR0FER0VUX0xIN0E0MFggaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0dBREdFVF9PTUFQIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9HQURHRVRfUzNDMjQxMCBpcyBub3Qgc2V0CitDT05GSUdfVVNCX0dBREdFVF9BVDkxPXkKK0NPTkZJR19VU0JfQVQ5MT15CisjIENPTkZJR19VU0JfR0FER0VUX0RVTU1ZX0hDRCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfR0FER0VUX0RVQUxTUEVFRCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfWkVSTyBpcyBub3Qgc2V0CitDT05GSUdfVVNCX0VUSD15CitDT05GSUdfVVNCX0VUSF9STkRJUz15CisjIENPTkZJR19VU0JfR0FER0VURlMgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0ZJTEVfU1RPUkFHRSBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfR19TRVJJQUwgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX01JRElfR0FER0VUIGlzIG5vdCBzZXQKK0NPTkZJR19NTUM9eQogIyBDT05GSUdfTU1DX0RFQlVHIGlzIG5vdCBzZXQKICMgQ09ORklHX01NQ19VTlNBRkVfUkVTVU1FIGlzIG5vdCBzZXQKIAogIwogIyBNTUMvU0QgQ2FyZCBEcml2ZXJzCiAjCi1DT05GSUdfTU1DX0JMT0NLPW0KK0NPTkZJR19NTUNfQkxPQ0s9eQorQ09ORklHX01NQ19CTE9DS19CT1VOQ0U9eQorIyBDT05GSUdfU0RJT19VQVJUIGlzIG5vdCBzZXQKIAogIwogIyBNTUMvU0QgSG9zdCBDb250cm9sbGVyIERyaXZlcnMKICMKLUNPTkZJR19NTUNfUFhBPW0KK0NPTkZJR19NTUNfQVQ5MT15CisjIENPTkZJR19NTUNfU1BJIGlzIG5vdCBzZXQKK0NPTkZJR19ORVdfTEVEUz15CitDT05GSUdfTEVEU19DTEFTUz15CiAKICMKLSMgUmVhbCBUaW1lIENsb2NrCisjIExFRCBkcml2ZXJzCiAjCitDT05GSUdfTEVEU19HUElPPXkKKworIworIyBMRUQgVHJpZ2dlcnMKKyMKK0NPTkZJR19MRURTX1RSSUdHRVJTPXkKKyMgQ09ORklHX0xFRFNfVFJJR0dFUl9USU1FUiBpcyBub3Qgc2V0CitDT05GSUdfTEVEU19UUklHR0VSX0hFQVJUQkVBVD15CiBDT05GSUdfUlRDX0xJQj15Ci1DT05GSUdfUlRDX0NMQVNTPW0KK0NPTkZJR19SVENfQ0xBU1M9eQorQ09ORklHX1JUQ19IQ1RPU1lTPXkKK0NPTkZJR19SVENfSENUT1NZU19ERVZJQ0U9InJ0YzAiCisjIENPTkZJR19SVENfREVCVUcgaXMgbm90IHNldAogCiAjCiAjIFJUQyBpbnRlcmZhY2VzCkBAIC05NzIsMjQgKzk2NCwzOSBAQAogIwogIyBJMkMgUlRDIGRyaXZlcnMKICMKKyMgQ09ORklHX1JUQ19EUlZfRFMxMzA3IGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfRFMxMzc0IGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfRFMxNjcyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfTUFYNjkwMCBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1JTNUMzNzIgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9JU0wxMjA4IGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfWDEyMDUgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9QQ0Y4NTYzIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfUENGODU4MyBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX000MVQ4MCBpcyBub3Qgc2V0CiAKICMKICMgU1BJIFJUQyBkcml2ZXJzCiAjCisjIENPTkZJR19SVENfRFJWX1JTNUMzNDggaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9NQVg2OTAyIGlzIG5vdCBzZXQKK0NPTkZJR19SVENfRFJWX000MVQ5ND15CiAKICMKICMgUGxhdGZvcm0gUlRDIGRyaXZlcnMKICMKICMgQ09ORklHX1JUQ19EUlZfQ01PUyBpcyBub3Qgc2V0CiAjIENPTkZJR19SVENfRFJWX0RTMTU1MyBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1NUSzE3VEE4IGlzIG5vdCBzZXQKICMgQ09ORklHX1JUQ19EUlZfRFMxNzQyIGlzIG5vdCBzZXQKICMgQ09ORklHX1JUQ19EUlZfTTQ4VDg2IGlzIG5vdCBzZXQKLUNPTkZJR19SVENfRFJWX1YzMDIwPW0KKyMgQ09ORklHX1JUQ19EUlZfTTQ4VDU5IGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfVjMwMjAgaXMgbm90IHNldAogCiAjCiAjIG9uLUNQVSBSVEMgZHJpdmVycwogIwotQ09ORklHX1JUQ19EUlZfU0ExMTAwPW0KKyMgQ09ORklHX1JUQ19EUlZfQVQ5MVNBTTkgaXMgbm90IHNldAogCiAjCiAjIEZpbGUgc3lzdGVtcwpAQCAtOTk3LDE3ICsxMDA0LDExIEBACiBDT05GSUdfRVhUMl9GUz15CiAjIENPTkZJR19FWFQyX0ZTX1hBVFRSIGlzIG5vdCBzZXQKICMgQ09ORklHX0VYVDJfRlNfWElQIGlzIG5vdCBzZXQKLUNPTkZJR19FWFQzX0ZTPXkKLUNPTkZJR19FWFQzX0ZTX1hBVFRSPXkKLSMgQ09ORklHX0VYVDNfRlNfUE9TSVhfQUNMIGlzIG5vdCBzZXQKLSMgQ09ORklHX0VYVDNfRlNfU0VDVVJJVFkgaXMgbm90IHNldAorIyBDT05GSUdfRVhUM19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19FWFQ0REVWX0ZTIGlzIG5vdCBzZXQKLUNPTkZJR19KQkQ9eQotIyBDT05GSUdfSkJEX0RFQlVHIGlzIG5vdCBzZXQKLUNPTkZJR19GU19NQkNBQ0hFPXkKICMgQ09ORklHX1JFSVNFUkZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0pGU19GUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19GU19QT1NJWF9BQ0wgaXMgbm90IHNldAorQ09ORklHX0ZTX1BPU0lYX0FDTD15CiAjIENPTkZJR19YRlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfR0ZTMl9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19PQ0ZTMl9GUyBpcyBub3Qgc2V0CkBAIC0xMDE5LDcgKzEwMjAsNyBAQAogQ09ORklHX0ROT1RJRlk9eQogIyBDT05GSUdfQVVUT0ZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0FVVE9GUzRfRlMgaXMgbm90IHNldAotIyBDT05GSUdfRlVTRV9GUyBpcyBub3Qgc2V0CitDT05GSUdfRlVTRV9GUz1tCiAKICMKICMgQ0QtUk9NL0RWRCBGaWxlc3lzdGVtcwpAQCAtMTAzMSw3ICsxMDMyLDcgQEAKICMgRE9TL0ZBVC9OVCBGaWxlc3lzdGVtcwogIwogQ09ORklHX0ZBVF9GUz15Ci1DT05GSUdfTVNET1NfRlM9eQorIyBDT05GSUdfTVNET1NfRlMgaXMgbm90IHNldAogQ09ORklHX1ZGQVRfRlM9eQogQ09ORklHX0ZBVF9ERUZBVUxUX0NPREVQQUdFPTQzNwogQ09ORklHX0ZBVF9ERUZBVUxUX0lPQ0hBUlNFVD0iaXNvODg1OS0xIgpAQCAtMTA0Niw3ICsxMDQ3LDYgQEAKIENPTkZJR19UTVBGUz15CiAjIENPTkZJR19UTVBGU19QT1NJWF9BQ0wgaXMgbm90IHNldAogIyBDT05GSUdfSFVHRVRMQl9QQUdFIGlzIG5vdCBzZXQKLUNPTkZJR19SQU1GUz15CiAjIENPTkZJR19DT05GSUdGU19GUyBpcyBub3Qgc2V0CiAKICMKQEAgLTEwNjIsMTAgKzEwNjIsMTIgQEAKIENPTkZJR19KRkZTMl9GUz15CiBDT05GSUdfSkZGUzJfRlNfREVCVUc9MAogQ09ORklHX0pGRlMyX0ZTX1dSSVRFQlVGRkVSPXkKLUNPTkZJR19KRkZTMl9TVU1NQVJZPXkKKyMgQ09ORklHX0pGRlMyX0ZTX1dCVUZfVkVSSUZZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pGRlMyX1NVTU1BUlkgaXMgbm90IHNldAogIyBDT05GSUdfSkZGUzJfRlNfWEFUVFIgaXMgbm90IHNldAogIyBDT05GSUdfSkZGUzJfQ09NUFJFU1NJT05fT1BUSU9OUyBpcyBub3Qgc2V0CiBDT05GSUdfSkZGUzJfWkxJQj15CisjIENPTkZJR19KRkZTMl9MWk8gaXMgbm90IHNldAogQ09ORklHX0pGRlMyX1JUSU1FPXkKICMgQ09ORklHX0pGRlMyX1JVQklOIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSQU1GUyBpcyBub3Qgc2V0CkBAIC0xMDc0LDQ3ICsxMDc2LDQwIEBACiAjIENPTkZJR19RTlg0RlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfU1lTVl9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19VRlNfRlMgaXMgbm90IHNldAotCi0jCi0jIE5ldHdvcmsgRmlsZSBTeXN0ZW1zCi0jCitDT05GSUdfTkVUV09SS19GSUxFU1lTVEVNUz15CiBDT05GSUdfTkZTX0ZTPXkKIENPTkZJR19ORlNfVjM9eQotIyBDT05GSUdfTkZTX1YzX0FDTCBpcyBub3Qgc2V0Ci0jIENPTkZJR19ORlNfVjQgaXMgbm90IHNldAorQ09ORklHX05GU19WM19BQ0w9eQorQ09ORklHX05GU19WND15CiAjIENPTkZJR19ORlNfRElSRUNUSU8gaXMgbm90IHNldAogIyBDT05GSUdfTkZTRCBpcyBub3Qgc2V0CiBDT05GSUdfUk9PVF9ORlM9eQogQ09ORklHX0xPQ0tEPXkKIENPTkZJR19MT0NLRF9WND15CitDT05GSUdfTkZTX0FDTF9TVVBQT1JUPXkKIENPTkZJR19ORlNfQ09NTU9OPXkKIENPTkZJR19TVU5SUEM9eQorQ09ORklHX1NVTlJQQ19HU1M9eQogIyBDT05GSUdfU1VOUlBDX0JJTkQzNCBpcyBub3Qgc2V0Ci0jIENPTkZJR19SUENTRUNfR1NTX0tSQjUgaXMgbm90IHNldAorQ09ORklHX1JQQ1NFQ19HU1NfS1JCNT15CiAjIENPTkZJR19SUENTRUNfR1NTX1NQS00zIGlzIG5vdCBzZXQKLUNPTkZJR19TTUJfRlM9eQotIyBDT05GSUdfU01CX05MU19ERUZBVUxUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NNQl9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19DSUZTIGlzIG5vdCBzZXQKICMgQ09ORklHX05DUF9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19DT0RBX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0FGU19GUyBpcyBub3Qgc2V0Ci0jIENPTkZJR185UF9GUyBpcyBub3Qgc2V0CiAKICMKICMgUGFydGl0aW9uIFR5cGVzCiAjCiAjIENPTkZJR19QQVJUSVRJT05fQURWQU5DRUQgaXMgbm90IHNldAogQ09ORklHX01TRE9TX1BBUlRJVElPTj15Ci0KLSMKLSMgTmF0aXZlIExhbmd1YWdlIFN1cHBvcnQKLSMKIENPTkZJR19OTFM9eQogQ09ORklHX05MU19ERUZBVUxUPSJpc284ODU5LTEiCiBDT05GSUdfTkxTX0NPREVQQUdFXzQzNz15CiAjIENPTkZJR19OTFNfQ09ERVBBR0VfNzM3IGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19DT0RFUEFHRV83NzUgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0NPREVQQUdFXzg1MCBpcyBub3Qgc2V0CitDT05GSUdfTkxTX0NPREVQQUdFXzg1MD15CiAjIENPTkZJR19OTFNfQ09ERVBBR0VfODUyIGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19DT0RFUEFHRV84NTUgaXMgbm90IHNldAogIyBDT05GSUdfTkxTX0NPREVQQUdFXzg1NyBpcyBub3Qgc2V0CkBAIC0xMTQ4LDMwICsxMTQzLDI0IEBACiAjIENPTkZJR19OTFNfSVNPODg1OV8xNSBpcyBub3Qgc2V0CiAjIENPTkZJR19OTFNfS09JOF9SIGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19LT0k4X1UgaXMgbm90IHNldAotQ09ORklHX05MU19VVEY4PXkKLQotIwotIyBEaXN0cmlidXRlZCBMb2NrIE1hbmFnZXIKLSMKKyMgQ09ORklHX05MU19VVEY4IGlzIG5vdCBzZXQKICMgQ09ORklHX0RMTSBpcyBub3Qgc2V0Ci0KLSMKLSMgUHJvZmlsaW5nIHN1cHBvcnQKLSMKLSMgQ09ORklHX1BST0ZJTElORyBpcyBub3Qgc2V0CisjIENPTkZJR19JTlNUUlVNRU5UQVRJT04gaXMgbm90IHNldAogCiAjCiAjIEtlcm5lbCBoYWNraW5nCiAjCiAjIENPTkZJR19QUklOVEtfVElNRSBpcyBub3Qgc2V0CitDT05GSUdfRU5BQkxFX1dBUk5fREVQUkVDQVRFRD15CiBDT05GSUdfRU5BQkxFX01VU1RfQ0hFQ0s9eQotQ09ORklHX01BR0lDX1NZU1JRPXkKKyMgQ09ORklHX01BR0lDX1NZU1JRIGlzIG5vdCBzZXQKICMgQ09ORklHX1VOVVNFRF9TWU1CT0xTIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0hFQURFUlNfQ0hFQ0sgaXMgbm90IHNldAogQ09ORklHX0RFQlVHX0tFUk5FTD15CiAjIENPTkZJR19ERUJVR19TSElSUSBpcyBub3Qgc2V0Ci0jIENPTkZJR19ERVRFQ1RfU09GVExPQ0tVUCBpcyBub3Qgc2V0CitDT05GSUdfREVURUNUX1NPRlRMT0NLVVA9eQorQ09ORklHX1NDSEVEX0RFQlVHPXkKICMgQ09ORklHX1NDSEVEU1RBVFMgaXMgbm90IHNldAogIyBDT05GSUdfVElNRVJfU1RBVFMgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfU0xBQiBpcyBub3Qgc2V0CkBAIC0xMTgxLDE5ICsxMTcwLDIzIEBACiAjIENPTkZJR19ERUJVR19NVVRFWEVTIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX0xPQ0tfQUxMT0MgaXMgbm90IHNldAogIyBDT05GSUdfUFJPVkVfTE9DS0lORyBpcyBub3Qgc2V0CisjIENPTkZJR19MT0NLX1NUQVQgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfU1BJTkxPQ0tfU0xFRVAgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfTE9DS0lOR19BUElfU0VMRlRFU1RTIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX0tPQkpFQ1QgaXMgbm90IHNldAotIyBDT05GSUdfREVCVUdfQlVHVkVSQk9TRSBpcyBub3Qgc2V0Ci1DT05GSUdfREVCVUdfSU5GTz15CitDT05GSUdfREVCVUdfQlVHVkVSQk9TRT15CisjIENPTkZJR19ERUJVR19JTkZPIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX1ZNIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX0xJU1QgaXMgbm90IHNldAorIyBDT05GSUdfREVCVUdfU0cgaXMgbm90IHNldAogQ09ORklHX0ZSQU1FX1BPSU5URVI9eQogQ09ORklHX0ZPUkNFRF9JTkxJTklORz15CisjIENPTkZJR19CT09UX1BSSU5US19ERUxBWSBpcyBub3Qgc2V0CiAjIENPTkZJR19SQ1VfVE9SVFVSRV9URVNUIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZBVUxUX0lOSkVDVElPTiBpcyBub3Qgc2V0CisjIENPTkZJR19TQU1QTEVTIGlzIG5vdCBzZXQKIENPTkZJR19ERUJVR19VU0VSPXkKLUNPTkZJR19ERUJVR19FUlJPUlM9eQorIyBDT05GSUdfREVCVUdfRVJST1JTIGlzIG5vdCBzZXQKIENPTkZJR19ERUJVR19MTD15CiAjIENPTkZJR19ERUJVR19JQ0VEQ0MgaXMgbm90IHNldAogCkBAIC0xMjAyLDUxICsxMTk1LDQ4IEBACiAjCiAjIENPTkZJR19LRVlTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NFQ1VSSVRZIGlzIG5vdCBzZXQKLQotIwotIyBDcnlwdG9ncmFwaGljIG9wdGlvbnMKLSMKKyMgQ09ORklHX1NFQ1VSSVRZX0ZJTEVfQ0FQQUJJTElUSUVTIGlzIG5vdCBzZXQKIENPTkZJR19DUllQVE89eQotQ09ORklHX0NSWVBUT19BTEdBUEk9bQotQ09ORklHX0NSWVBUT19CTEtDSVBIRVI9bQotQ09ORklHX0NSWVBUT19NQU5BR0VSPW0KK0NPTkZJR19DUllQVE9fQUxHQVBJPXkKK0NPTkZJR19DUllQVE9fQkxLQ0lQSEVSPXkKK0NPTkZJR19DUllQVE9fTUFOQUdFUj15CiAjIENPTkZJR19DUllQVE9fSE1BQyBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fWENCQyBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fTlVMTCBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fTUQ0IGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19NRDUgaXMgbm90IHNldAorQ09ORklHX0NSWVBUT19NRDU9eQogIyBDT05GSUdfQ1JZUFRPX1NIQTEgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX1NIQTI1NiBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fU0hBNTEyIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19XUDUxMiBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fVEdSMTkyIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19HRjEyOE1VTCBpcyBub3Qgc2V0Ci1DT05GSUdfQ1JZUFRPX0VDQj1tCi1DT05GSUdfQ1JZUFRPX0NCQz1tCi1DT05GSUdfQ1JZUFRPX1BDQkM9bQorIyBDT05GSUdfQ1JZUFRPX0VDQiBpcyBub3Qgc2V0CitDT05GSUdfQ1JZUFRPX0NCQz15CisjIENPTkZJR19DUllQVE9fUENCQyBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fTFJXIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19YVFMgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX0NSWVBURCBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fREVTIGlzIG5vdCBzZXQKK0NPTkZJR19DUllQVE9fREVTPXkKICMgQ09ORklHX0NSWVBUT19GQ1JZUFQgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX0JMT1dGSVNIIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19UV09GSVNIIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19TRVJQRU5UIGlzIG5vdCBzZXQKLUNPTkZJR19DUllQVE9fQUVTPW0KKyMgQ09ORklHX0NSWVBUT19BRVMgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX0NBU1Q1IGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19DQVNUNiBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fVEVBIGlzIG5vdCBzZXQKLUNPTkZJR19DUllQVE9fQVJDND1tCisjIENPTkZJR19DUllQVE9fQVJDNCBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fS0hBWkFEIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19BTlVCSVMgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1NFRUQgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX0RFRkxBVEUgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX01JQ0hBRUxfTUlDIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19DUkMzMkMgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX0NBTUVMTElBIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19URVNUIGlzIG5vdCBzZXQKLQotIwotIyBIYXJkd2FyZSBjcnlwdG8gZGV2aWNlcwotIworIyBDT05GSUdfQ1JZUFRPX0FVVEhFTkMgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0hXIGlzIG5vdCBzZXQKIAogIwogIyBMaWJyYXJ5IHJvdXRpbmVzCkBAIC0xMjU2LDYgKzEyNDYsNyBAQAogIyBDT05GSUdfQ1JDMTYgaXMgbm90IHNldAogIyBDT05GSUdfQ1JDX0lUVV9UIGlzIG5vdCBzZXQKIENPTkZJR19DUkMzMj15CisjIENPTkZJR19DUkM3IGlzIG5vdCBzZXQKICMgQ09ORklHX0xJQkNSQzMyQyBpcyBub3Qgc2V0CiBDT05GSUdfWkxJQl9JTkZMQVRFPXkKIENPTkZJR19aTElCX0RFRkxBVEU9eQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vY29uZmlncy9yZWFsdmlldy1zbXBfZGVmY29uZmlnIGIvYXJjaC9hcm0vY29uZmlncy9yZWFsdmlldy1zbXBfZGVmY29uZmlnCmluZGV4IGZjMzliYTEuLjBjMDliMjMgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2NvbmZpZ3MvcmVhbHZpZXctc21wX2RlZmNvbmZpZworKysgYi9hcmNoL2FybS9jb25maWdzL3JlYWx2aWV3LXNtcF9kZWZjb25maWcKQEAgLTE3Nyw3ICsxNzcsNiBAQAogQ09ORklHX0hPVFBMVUdfQ1BVPXkKIENPTkZJR19MT0NBTF9USU1FUlM9eQogIyBDT05GSUdfUFJFRU1QVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19OT19JRExFX0haIGlzIG5vdCBzZXQKIENPTkZJR19IWj0xMDAKICMgQ09ORklHX0FFQUJJIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfRElTQ09OVElHTUVNX0VOQUJMRSBpcyBub3Qgc2V0CmRpZmYgLS1naXQgYS9hcmNoL2FybS9jb25maWdzL3JlYWx2aWV3X2RlZmNvbmZpZyBiL2FyY2gvYXJtL2NvbmZpZ3MvcmVhbHZpZXdfZGVmY29uZmlnCmluZGV4IGFjY2JmNTIuLjkwN2U1NDMgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2NvbmZpZ3MvcmVhbHZpZXdfZGVmY29uZmlnCisrKyBiL2FyY2gvYXJtL2NvbmZpZ3MvcmVhbHZpZXdfZGVmY29uZmlnCkBAIC0xMjYsNyArMTI2LDYgQEAKICMKICMgS2VybmVsIEZlYXR1cmVzCiAjCi0jIENPTkZJR19OT19JRExFX0haIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfRElTQ09OVElHTUVNX0VOQUJMRSBpcyBub3Qgc2V0CiBDT05GSUdfRkxBVE1FTT15CiBDT05GSUdfRkxBVF9OT0RFX01FTV9NQVA9eQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vY29uZmlncy9ycGNfZGVmY29uZmlnIGIvYXJjaC9hcm0vY29uZmlncy9ycGNfZGVmY29uZmlnCmluZGV4IDVkZGVjYjkuLmY2MmQxODEgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2NvbmZpZ3MvcnBjX2RlZmNvbmZpZworKysgYi9hcmNoL2FybS9jb25maWdzL3JwY19kZWZjb25maWcKQEAgLTE5MCw3ICsxOTAsNiBAQAogIwogIyBDT05GSUdfVElDS19PTkVTSE9UIGlzIG5vdCBzZXQKICMgQ09ORklHX1BSRUVNUFQgaXMgbm90IHNldAotIyBDT05GSUdfTk9fSURMRV9IWiBpcyBub3Qgc2V0CiBDT05GSUdfSFo9MTAwCiAjIENPTkZJR19BRUFCSSBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0RJU0NPTlRJR01FTV9FTkFCTEUgaXMgbm90IHNldApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vY29uZmlncy9zM2MyNDEwX2RlZmNvbmZpZyBiL2FyY2gvYXJtL2NvbmZpZ3MvczNjMjQxMF9kZWZjb25maWcKaW5kZXggZjhhMTY0NS4uMzVmYWFlYSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vY29uZmlncy9zM2MyNDEwX2RlZmNvbmZpZworKysgYi9hcmNoL2FybS9jb25maWdzL3MzYzI0MTBfZGVmY29uZmlnCkBAIC0xLDE1ICsxLDE4IEBACiAjCiAjIEF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIG1ha2UgY29uZmlnOiBkb24ndCBlZGl0Ci0jIExpbnV4IGtlcm5lbCB2ZXJzaW9uOiAyLjYuMjEtcmM2Ci0jIE1vbiBBcHIgIDkgMTA6MTI6NTggMjAwNworIyBMaW51eCBrZXJuZWwgdmVyc2lvbjogMi42LjI2LXJjOAorIyBNb24gSnVsICA3IDE2OjU5OjIzIDIwMDgKICMKIENPTkZJR19BUk09eQogQ09ORklHX1NZU19TVVBQT1JUU19BUE1fRU1VTEFUSU9OPXkKIENPTkZJR19HRU5FUklDX0dQSU89eQogIyBDT05GSUdfR0VORVJJQ19USU1FIGlzIG5vdCBzZXQKKyMgQ09ORklHX0dFTkVSSUNfQ0xPQ0tFVkVOVFMgaXMgbm90IHNldAogQ09ORklHX01NVT15CiBDT05GSUdfTk9fSU9QT1JUPXkKIENPTkZJR19HRU5FUklDX0hBUkRJUlFTPXkKK0NPTkZJR19TVEFDS1RSQUNFX1NVUFBPUlQ9eQorQ09ORklHX0xPQ0tERVBfU1VQUE9SVD15CiBDT05GSUdfVFJBQ0VfSVJRRkxBR1NfU1VQUE9SVD15CiBDT05GSUdfSEFSRElSUVNfU1dfUkVTRU5EPXkKIENPTkZJR19HRU5FUklDX0lSUV9QUk9CRT15CkBAIC0xOCwzNCArMjEsMzkgQEAKICMgQ09ORklHX0FSQ0hfSEFTX0lMT0cyX1U2NCBpcyBub3Qgc2V0CiBDT05GSUdfR0VORVJJQ19IV0VJR0hUPXkKIENPTkZJR19HRU5FUklDX0NBTElCUkFURV9ERUxBWT15CitDT05GSUdfQVJDSF9TVVBQT1JUU19BT1VUPXkKIENPTkZJR19aT05FX0RNQT15CiBDT05GSUdfVkVDVE9SU19CQVNFPTB4ZmZmZjAwMDAKIENPTkZJR19ERUZDT05GSUdfTElTVD0iL2xpYi9tb2R1bGVzLyRVTkFNRV9SRUxFQVNFLy5jb25maWciCiAKICMKLSMgQ29kZSBtYXR1cml0eSBsZXZlbCBvcHRpb25zCisjIEdlbmVyYWwgc2V0dXAKICMKIENPTkZJR19FWFBFUklNRU5UQUw9eQogQ09ORklHX0JST0tFTl9PTl9TTVA9eQogQ09ORklHX0lOSVRfRU5WX0FSR19MSU1JVD0zMgotCi0jCi0jIEdlbmVyYWwgc2V0dXAKLSMKIENPTkZJR19MT0NBTFZFUlNJT049IiIKIENPTkZJR19MT0NBTFZFUlNJT05fQVVUTz15CiBDT05GSUdfU1dBUD15CiBDT05GSUdfU1lTVklQQz15Ci0jIENPTkZJR19JUENfTlMgaXMgbm90IHNldAogQ09ORklHX1NZU1ZJUENfU1lTQ1RMPXkKICMgQ09ORklHX1BPU0lYX01RVUVVRSBpcyBub3Qgc2V0CiAjIENPTkZJR19CU0RfUFJPQ0VTU19BQ0NUIGlzIG5vdCBzZXQKICMgQ09ORklHX1RBU0tTVEFUUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19VVFNfTlMgaXMgbm90IHNldAogIyBDT05GSUdfQVVESVQgaXMgbm90IHNldAotIyBDT05GSUdfSUtDT05GSUcgaXMgbm90IHNldAorQ09ORklHX0lLQ09ORklHPW0KK0NPTkZJR19JS0NPTkZJR19QUk9DPXkKK0NPTkZJR19MT0dfQlVGX1NISUZUPTE2CisjIENPTkZJR19DR1JPVVBTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0dST1VQX1NDSEVEIGlzIG5vdCBzZXQKIENPTkZJR19TWVNGU19ERVBSRUNBVEVEPXkKK0NPTkZJR19TWVNGU19ERVBSRUNBVEVEX1YyPXkKICMgQ09ORklHX1JFTEFZIGlzIG5vdCBzZXQKK0NPTkZJR19OQU1FU1BBQ0VTPXkKKyMgQ09ORklHX1VUU19OUyBpcyBub3Qgc2V0CisjIENPTkZJR19JUENfTlMgaXMgbm90IHNldAorIyBDT05GSUdfVVNFUl9OUyBpcyBub3Qgc2V0CisjIENPTkZJR19QSURfTlMgaXMgbm90IHNldAogQ09ORklHX0JMS19ERVZfSU5JVFJEPXkKIENPTkZJR19JTklUUkFNRlNfU09VUkNFPSIiCiBDT05GSUdfQ0NfT1BUSU1JWkVfRk9SX1NJWkU9eQpAQCAtNTMsNiArNjEsNyBAQAogIyBDT05GSUdfRU1CRURERUQgaXMgbm90IHNldAogQ09ORklHX1VJRDE2PXkKIENPTkZJR19TWVNDVExfU1lTQ0FMTD15CitDT05GSUdfU1lTQ1RMX1NZU0NBTExfQ0hFQ0s9eQogQ09ORklHX0tBTExTWU1TPXkKICMgQ09ORklHX0tBTExTWU1TX0FMTCBpcyBub3Qgc2V0CiAjIENPTkZJR19LQUxMU1lNU19FWFRSQV9QQVNTIGlzIG5vdCBzZXQKQEAgLTYwLDM0ICs2OSw0MyBAQAogQ09ORklHX1BSSU5USz15CiBDT05GSUdfQlVHPXkKIENPTkZJR19FTEZfQ09SRT15CitDT05GSUdfQ09NUEFUX0JSSz15CiBDT05GSUdfQkFTRV9GVUxMPXkKIENPTkZJR19GVVRFWD15CitDT05GSUdfQU5PTl9JTk9ERVM9eQogQ09ORklHX0VQT0xMPXkKK0NPTkZJR19TSUdOQUxGRD15CitDT05GSUdfVElNRVJGRD15CitDT05GSUdfRVZFTlRGRD15CiBDT05GSUdfU0hNRU09eQotQ09ORklHX1NMQUI9eQogQ09ORklHX1ZNX0VWRU5UX0NPVU5URVJTPXkKK0NPTkZJR19TTEFCPXkKKyMgQ09ORklHX1NMVUIgaXMgbm90IHNldAorIyBDT05GSUdfU0xPQiBpcyBub3Qgc2V0CisjIENPTkZJR19QUk9GSUxJTkcgaXMgbm90IHNldAorIyBDT05GSUdfTUFSS0VSUyBpcyBub3Qgc2V0CitDT05GSUdfSEFWRV9PUFJPRklMRT15CisjIENPTkZJR19LUFJPQkVTIGlzIG5vdCBzZXQKK0NPTkZJR19IQVZFX0tQUk9CRVM9eQorQ09ORklHX0hBVkVfS1JFVFBST0JFUz15CisjIENPTkZJR19IQVZFX0RNQV9BVFRSUyBpcyBub3Qgc2V0CitDT05GSUdfUFJPQ19QQUdFX01PTklUT1I9eQorQ09ORklHX1NMQUJJTkZPPXkKIENPTkZJR19SVF9NVVRFWEVTPXkKICMgQ09ORklHX1RJTllfU0hNRU0gaXMgbm90IHNldAogQ09ORklHX0JBU0VfU01BTEw9MAotIyBDT05GSUdfU0xPQiBpcyBub3Qgc2V0Ci0KLSMKLSMgTG9hZGFibGUgbW9kdWxlIHN1cHBvcnQKLSMKIENPTkZJR19NT0RVTEVTPXkKKyMgQ09ORklHX01PRFVMRV9GT1JDRV9MT0FEIGlzIG5vdCBzZXQKIENPTkZJR19NT0RVTEVfVU5MT0FEPXkKICMgQ09ORklHX01PRFVMRV9GT1JDRV9VTkxPQUQgaXMgbm90IHNldAogIyBDT05GSUdfTU9EVkVSU0lPTlMgaXMgbm90IHNldAogIyBDT05GSUdfTU9EVUxFX1NSQ1ZFUlNJT05fQUxMIGlzIG5vdCBzZXQKIENPTkZJR19LTU9EPXkKLQotIwotIyBCbG9jayBsYXllcgotIwogQ09ORklHX0JMT0NLPXkKICMgQ09ORklHX0xCRCBpcyBub3Qgc2V0CiAjIENPTkZJR19CTEtfREVWX0lPX1RSQUNFIGlzIG5vdCBzZXQKICMgQ09ORklHX0xTRiBpcyBub3Qgc2V0CisjIENPTkZJR19CTEtfREVWX0JTRyBpcyBub3Qgc2V0CiAKICMKICMgSU8gU2NoZWR1bGVycwpAQCAtMTAxLDYgKzExOSw3IEBACiAjIENPTkZJR19ERUZBVUxUX0NGUSBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUZBVUxUX05PT1AgaXMgbm90IHNldAogQ09ORklHX0RFRkFVTFRfSU9TQ0hFRD0iYW50aWNpcGF0b3J5IgorQ09ORklHX0NMQVNTSUNfUkNVPXkKIAogIwogIyBTeXN0ZW0gVHlwZQpAQCAtMTE5LDE0ICsxMzgsMTcgQEAKICMgQ09ORklHX0FSQ0hfTkVUWCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0g3MjBYIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfSU1YIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfSU9QMTNYWCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0lPUDMyWCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0lPUDMzWCBpcyBub3Qgc2V0Ci0jIENPTkZJR19BUkNIX0lPUDEzWFggaXMgbm90IHNldAotIyBDT05GSUdfQVJDSF9JWFA0WFggaXMgbm90IHNldAotIyBDT05GSUdfQVJDSF9JWFAyMDAwIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfSVhQMjNYWCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0lYUDIwMDAgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9JWFA0WFggaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9MNzIwMCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0tTODY5NSBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX05TOVhYWCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX01YQyBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX09SSU9ONVggaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9QTlg0MDA4IGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfUFhBIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfUlBDIGlzIG5vdCBzZXQKQEAgLTEzNCwxOCArMTU2LDMyIEBACiBDT05GSUdfQVJDSF9TM0MyNDEwPXkKICMgQ09ORklHX0FSQ0hfU0hBUksgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9MSDdBNDBYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfREFWSU5DSSBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX09NQVAgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9NU003WDAwQSBpcyBub3Qgc2V0CiBDT05GSUdfUExBVF9TM0MyNFhYPXkKIENPTkZJR19DUFVfUzNDMjQ0WD15CisjIENPTkZJR19TM0MyNFhYX1BXTSBpcyBub3Qgc2V0CiBDT05GSUdfUE1fU0lNVEVDPXkKLSMgQ09ORklHX1MzQ19CT09UX1dBVENIRE9HIGlzIG5vdCBzZXQKLSMgQ09ORklHX1MzQ19CT09UX0VSUk9SX1JFU0VUIGlzIG5vdCBzZXQKLSMgQ09ORklHX1MzQzI0MTBfUE1fREVCVUcgaXMgbm90IHNldAotIyBDT05GSUdfUzNDMjQxMF9QTV9DSEVDSyBpcyBub3Qgc2V0Ci1DT05GSUdfUzNDX0xPV0xFVkVMX1VBUlRfUE9SVD0wCiBDT05GSUdfUzNDMjQxMF9ETUE9eQogIyBDT05GSUdfUzNDMjQxMF9ETUFfREVCVUcgaXMgbm90IHNldAogQ09ORklHX01BQ0hfU01ESz15CitDT05GSUdfUExBVF9TM0M9eQorQ09ORklHX0NQVV9MTFNFUklBTF9TM0MyNDEwPXkKK0NPTkZJR19DUFVfTExTRVJJQUxfUzNDMjQ0MD15CisKKyMKKyMgQm9vdCBvcHRpb25zCisjCisjIENPTkZJR19TM0NfQk9PVF9XQVRDSERPRyBpcyBub3Qgc2V0CisjIENPTkZJR19TM0NfQk9PVF9FUlJPUl9SRVNFVCBpcyBub3Qgc2V0CisKKyMKKyMgUG93ZXIgbWFuYWdlbWVudAorIworIyBDT05GSUdfUzNDMjQxMF9QTV9ERUJVRyBpcyBub3Qgc2V0CisjIENPTkZJR19TM0MyNDEwX1BNX0NIRUNLIGlzIG5vdCBzZXQKK0NPTkZJR19TM0NfTE9XTEVWRUxfVUFSVF9QT1JUPTAKIAogIwogIyBTM0MyNDAwIE1hY2hpbmVzCkBAIC0xNTUsNiArMTkxLDggQEAKIENPTkZJR19TM0MyNDEwX1BNPXkKIENPTkZJR19TM0MyNDEwX0dQSU89eQogQ09ORklHX1MzQzI0MTBfQ0xPQ0s9eQorQ09ORklHX1NJTVRFQ19OT1I9eQorQ09ORklHX01BQ0hfQkFTVF9JREU9eQogCiAjCiAjIFMzQzI0MTAgTWFjaGluZXMKQEAgLTE2Nyw2ICsyMDUsNyBAQAogQ09ORklHX01BQ0hfT1RPTT15CiBDT05GSUdfTUFDSF9BTUxfTTU5MDA9eQogQ09ORklHX0JBU1RfUEMxMDRfSVJRPXkKKyMgQ09ORklHX01BQ0hfVENUX0hBTU1FUiBpcyBub3Qgc2V0CiBDT05GSUdfTUFDSF9WUjEwMDA9eQogQ09ORklHX01BQ0hfUVQyNDEwPXkKIENPTkZJR19DUFVfUzNDMjQxMj15CkBAIC0xNzYsOCArMjE1LDEwIEBACiAjCiAjIFMzQzI0MTIgTWFjaGluZXMKICMKKyMgQ09ORklHX01BQ0hfSklWRSBpcyBub3Qgc2V0CiBDT05GSUdfTUFDSF9TTURLMjQxMz15CiBDT05GSUdfTUFDSF9TM0MyNDEzPXkKKyMgQ09ORklHX01BQ0hfU01ESzI0MTIgaXMgbm90IHNldAogQ09ORklHX01BQ0hfVlNUTVM9eQogQ09ORklHX0NQVV9TM0MyNDQwPXkKIENPTkZJR19TM0MyNDQwX0RNQT15CkBAIC0xOTEsNiArMjMyLDcgQEAKIENPTkZJR19BUkNIX1MzQzI0NDA9eQogQ09ORklHX01BQ0hfTkVYQ09ERVJfMjQ0MD15CiBDT05GSUdfU01ESzI0NDBfQ1BVMjQ0MD15CisjIENPTkZJR19NQUNIX0FUMjQ0MEVWQiBpcyBub3Qgc2V0CiBDT05GSUdfQ1BVX1MzQzI0NDI9eQogCiAjCkBAIC0yMTUsNiArMjU3LDcgQEAKIENPTkZJR19DUFVfMzJ2NT15CiBDT05GSUdfQ1BVX0FCUlRfRVY0VD15CiBDT05GSUdfQ1BVX0FCUlRfRVY1VEo9eQorQ09ORklHX0NQVV9QQUJSVF9OT0lGQVI9eQogQ09ORklHX0NQVV9DQUNIRV9WNFdUPXkKIENPTkZJR19DUFVfQ0FDSEVfVklWVD15CiBDT05GSUdfQ1BVX0NPUFlfVjRXQj15CkBAIC0yMzYsMTcgKzI3OSwxNSBAQAogIyBCdXMgc3VwcG9ydAogIwogQ09ORklHX0lTQT15Ci0KLSMKLSMgUENDQVJEIChQQ01DSUEvQ2FyZEJ1cykgc3VwcG9ydAotIworIyBDT05GSUdfUENJX1NZU0NBTEwgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9TVVBQT1JUU19NU0kgaXMgbm90IHNldAogIyBDT05GSUdfUENDQVJEIGlzIG5vdCBzZXQKIAogIwogIyBLZXJuZWwgRmVhdHVyZXMKICMKKyMgQ09ORklHX1RJQ0tfT05FU0hPVCBpcyBub3Qgc2V0CiAjIENPTkZJR19QUkVFTVBUIGlzIG5vdCBzZXQKLSMgQ09ORklHX05PX0lETEVfSFogaXMgbm90IHNldAogQ09ORklHX0haPTIwMAogIyBDT05GSUdfQUVBQkkgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9ESVNDT05USUdNRU1fRU5BQkxFIGlzIG5vdCBzZXQKQEAgLTI1Nyw5ICsyOTgsMTMgQEAKIENPTkZJR19GTEFUTUVNPXkKIENPTkZJR19GTEFUX05PREVfTUVNX01BUD15CiAjIENPTkZJR19TUEFSU0VNRU1fU1RBVElDIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NQQVJTRU1FTV9WTUVNTUFQX0VOQUJMRSBpcyBub3Qgc2V0CitDT05GSUdfUEFHRUZMQUdTX0VYVEVOREVEPXkKIENPTkZJR19TUExJVF9QVExPQ0tfQ1BVUz00MDk2CiAjIENPTkZJR19SRVNPVVJDRVNfNjRCSVQgaXMgbm90IHNldAogQ09ORklHX1pPTkVfRE1BX0ZMQUc9MQorQ09ORklHX0JPVU5DRT15CitDT05GSUdfVklSVF9UT19CVVM9eQogQ09ORklHX0FMSUdOTUVOVF9UUkFQPXkKIAogIwpAQCAtMjc5LDcgKzMyNCw3IEBACiAjIEF0IGxlYXN0IG9uZSBlbXVsYXRpb24gbXVzdCBiZSBzZWxlY3RlZAogIwogQ09ORklHX0ZQRV9OV0ZQRT15Ci0jIENPTkZJR19GUEVfTldGUEVfWFAgaXMgbm90IHNldAorQ09ORklHX0ZQRV9OV0ZQRV9YUD15CiAjIENPTkZJR19GUEVfRkFTVEZQRSBpcyBub3Qgc2V0CiAjIENPTkZJR19WRlAgaXMgbm90IHNldAogCkBAIC0yOTUsMTAgKzM0MCwxMiBAQAogIyBQb3dlciBtYW5hZ2VtZW50IG9wdGlvbnMKICMKIENPTkZJR19QTT15Ci0jIENPTkZJR19QTV9MRUdBQ1kgaXMgbm90IHNldAogIyBDT05GSUdfUE1fREVCVUcgaXMgbm90IHNldAotIyBDT05GSUdfUE1fU1lTRlNfREVQUkVDQVRFRCBpcyBub3Qgc2V0Ci0jIENPTkZJR19BUE1fRU1VTEFUSU9OIGlzIG5vdCBzZXQKK0NPTkZJR19QTV9TTEVFUD15CitDT05GSUdfU1VTUEVORD15CitDT05GSUdfU1VTUEVORF9GUkVFWkVSPXkKK0NPTkZJR19BUE1fRU1VTEFUSU9OPW0KK0NPTkZJR19BUkNIX1NVU1BFTkRfUE9TU0lCTEU9eQogCiAjCiAjIE5ldHdvcmtpbmcKQEAgLTMwOCw1OSArMzU1LDY3IEBACiAjCiAjIE5ldHdvcmtpbmcgb3B0aW9ucwogIwotIyBDT05GSUdfTkVUREVCVUcgaXMgbm90IHNldAotIyBDT05GSUdfUEFDS0VUIGlzIG5vdCBzZXQKK0NPTkZJR19QQUNLRVQ9eQorIyBDT05GSUdfUEFDS0VUX01NQVAgaXMgbm90IHNldAogQ09ORklHX1VOSVg9eQogQ09ORklHX1hGUk09eQogIyBDT05GSUdfWEZSTV9VU0VSIGlzIG5vdCBzZXQKICMgQ09ORklHX1hGUk1fU1VCX1BPTElDWSBpcyBub3Qgc2V0CiAjIENPTkZJR19YRlJNX01JR1JBVEUgaXMgbm90IHNldAorIyBDT05GSUdfWEZSTV9TVEFUSVNUSUNTIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVF9LRVkgaXMgbm90IHNldAogQ09ORklHX0lORVQ9eQotIyBDT05GSUdfSVBfTVVMVElDQVNUIGlzIG5vdCBzZXQKK0NPTkZJR19JUF9NVUxUSUNBU1Q9eQogIyBDT05GSUdfSVBfQURWQU5DRURfUk9VVEVSIGlzIG5vdCBzZXQKIENPTkZJR19JUF9GSUJfSEFTSD15CiBDT05GSUdfSVBfUE5QPXkKLSMgQ09ORklHX0lQX1BOUF9ESENQIGlzIG5vdCBzZXQKK0NPTkZJR19JUF9QTlBfREhDUD15CiBDT05GSUdfSVBfUE5QX0JPT1RQPXkKICMgQ09ORklHX0lQX1BOUF9SQVJQIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVF9JUElQIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVF9JUEdSRSBpcyBub3Qgc2V0CisjIENPTkZJR19JUF9NUk9VVEUgaXMgbm90IHNldAogIyBDT05GSUdfQVJQRCBpcyBub3Qgc2V0CiAjIENPTkZJR19TWU5fQ09PS0lFUyBpcyBub3Qgc2V0CiAjIENPTkZJR19JTkVUX0FIIGlzIG5vdCBzZXQKICMgQ09ORklHX0lORVRfRVNQIGlzIG5vdCBzZXQKICMgQ09ORklHX0lORVRfSVBDT01QIGlzIG5vdCBzZXQKICMgQ09ORklHX0lORVRfWEZSTV9UVU5ORUwgaXMgbm90IHNldAotIyBDT05GSUdfSU5FVF9UVU5ORUwgaXMgbm90IHNldAorQ09ORklHX0lORVRfVFVOTkVMPW0KIENPTkZJR19JTkVUX1hGUk1fTU9ERV9UUkFOU1BPUlQ9eQogQ09ORklHX0lORVRfWEZSTV9NT0RFX1RVTk5FTD15CiBDT05GSUdfSU5FVF9YRlJNX01PREVfQkVFVD15CisjIENPTkZJR19JTkVUX0xSTyBpcyBub3Qgc2V0CiBDT05GSUdfSU5FVF9ESUFHPXkKIENPTkZJR19JTkVUX1RDUF9ESUFHPXkKICMgQ09ORklHX1RDUF9DT05HX0FEVkFOQ0VEIGlzIG5vdCBzZXQKIENPTkZJR19UQ1BfQ09OR19DVUJJQz15CiBDT05GSUdfREVGQVVMVF9UQ1BfQ09ORz0iY3ViaWMiCiAjIENPTkZJR19UQ1BfTUQ1U0lHIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lQVjYgaXMgbm90IHNldAotIyBDT05GSUdfSU5FVDZfWEZSTV9UVU5ORUwgaXMgbm90IHNldAotIyBDT05GSUdfSU5FVDZfVFVOTkVMIGlzIG5vdCBzZXQKK0NPTkZJR19JUFY2PW0KK0NPTkZJR19JUFY2X1BSSVZBQ1k9eQorQ09ORklHX0lQVjZfUk9VVEVSX1BSRUY9eQorIyBDT05GSUdfSVBWNl9ST1VURV9JTkZPIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lQVjZfT1BUSU1JU1RJQ19EQUQgaXMgbm90IHNldAorQ09ORklHX0lORVQ2X0FIPW0KK0NPTkZJR19JTkVUNl9FU1A9bQorQ09ORklHX0lORVQ2X0lQQ09NUD1tCitDT05GSUdfSVBWNl9NSVA2PW0KK0NPTkZJR19JTkVUNl9YRlJNX1RVTk5FTD1tCitDT05GSUdfSU5FVDZfVFVOTkVMPW0KK0NPTkZJR19JTkVUNl9YRlJNX01PREVfVFJBTlNQT1JUPW0KK0NPTkZJR19JTkVUNl9YRlJNX01PREVfVFVOTkVMPW0KK0NPTkZJR19JTkVUNl9YRlJNX01PREVfQkVFVD1tCitDT05GSUdfSU5FVDZfWEZSTV9NT0RFX1JPVVRFT1BUSU1JWkFUSU9OPW0KK0NPTkZJR19JUFY2X1NJVD1tCitDT05GSUdfSVBWNl9ORElTQ19OT0RFVFlQRT15CitDT05GSUdfSVBWNl9UVU5ORUw9bQorIyBDT05GSUdfSVBWNl9NVUxUSVBMRV9UQUJMRVMgaXMgbm90IHNldAorIyBDT05GSUdfSVBWNl9NUk9VVEUgaXMgbm90IHNldAogIyBDT05GSUdfTkVUV09SS19TRUNNQVJLIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVEZJTFRFUiBpcyBub3Qgc2V0Ci0KLSMKLSMgRENDUCBDb25maWd1cmF0aW9uIChFWFBFUklNRU5UQUwpCi0jCiAjIENPTkZJR19JUF9EQ0NQIGlzIG5vdCBzZXQKLQotIwotIyBTQ1RQIENvbmZpZ3VyYXRpb24gKEVYUEVSSU1FTlRBTCkKLSMKICMgQ09ORklHX0lQX1NDVFAgaXMgbm90IHNldAotCi0jCi0jIFRJUEMgQ29uZmlndXJhdGlvbiAoRVhQRVJJTUVOVEFMKQotIwogIyBDT05GSUdfVElQQyBpcyBub3Qgc2V0CiAjIENPTkZJR19BVE0gaXMgbm90IHNldAogIyBDT05GSUdfQlJJREdFIGlzIG5vdCBzZXQKQEAgLTM3MywyMCArNDI4LDcxIEBACiAjIENPTkZJR19MQVBCIGlzIG5vdCBzZXQKICMgQ09ORklHX0VDT05FVCBpcyBub3Qgc2V0CiAjIENPTkZJR19XQU5fUk9VVEVSIGlzIG5vdCBzZXQKLQotIwotIyBRb1MgYW5kL29yIGZhaXIgcXVldWVpbmcKLSMKICMgQ09ORklHX05FVF9TQ0hFRCBpcyBub3Qgc2V0CitDT05GSUdfTkVUX1NDSF9GSUZPPXkKIAogIwogIyBOZXR3b3JrIHRlc3RpbmcKICMKICMgQ09ORklHX05FVF9QS1RHRU4gaXMgbm90IHNldAogIyBDT05GSUdfSEFNUkFESU8gaXMgbm90IHNldAorIyBDT05GSUdfQ0FOIGlzIG5vdCBzZXQKICMgQ09ORklHX0lSREEgaXMgbm90IHNldAotIyBDT05GSUdfQlQgaXMgbm90IHNldAorQ09ORklHX0JUPW0KK0NPTkZJR19CVF9MMkNBUD1tCitDT05GSUdfQlRfU0NPPW0KK0NPTkZJR19CVF9SRkNPTU09bQorQ09ORklHX0JUX1JGQ09NTV9UVFk9eQorQ09ORklHX0JUX0JORVA9bQorQ09ORklHX0JUX0JORVBfTUNfRklMVEVSPXkKK0NPTkZJR19CVF9CTkVQX1BST1RPX0ZJTFRFUj15CitDT05GSUdfQlRfSElEUD1tCisKKyMKKyMgQmx1ZXRvb3RoIGRldmljZSBkcml2ZXJzCisjCitDT05GSUdfQlRfSENJVVNCPW0KK0NPTkZJR19CVF9IQ0lVU0JfU0NPPXkKK0NPTkZJR19CVF9IQ0lVQVJUPW0KK0NPTkZJR19CVF9IQ0lVQVJUX0g0PXkKK0NPTkZJR19CVF9IQ0lVQVJUX0JDU1A9eQorQ09ORklHX0JUX0hDSVVBUlRfTEw9eQorQ09ORklHX0JUX0hDSUJDTTIwM1g9bQorQ09ORklHX0JUX0hDSUJQQTEwWD1tCitDT05GSUdfQlRfSENJQkZVU0I9bQorQ09ORklHX0JUX0hDSVZIQ0k9bQorIyBDT05GSUdfQUZfUlhSUEMgaXMgbm90IHNldAorCisjCisjIFdpcmVsZXNzCisjCitDT05GSUdfQ0ZHODAyMTE9bQorQ09ORklHX05MODAyMTE9eQorQ09ORklHX1dJUkVMRVNTX0VYVD15CitDT05GSUdfTUFDODAyMTE9bQorCisjCisjIFJhdGUgY29udHJvbCBhbGdvcml0aG0gc2VsZWN0aW9uCisjCitDT05GSUdfTUFDODAyMTFfUkNfREVGQVVMVF9QSUQ9eQorIyBDT05GSUdfTUFDODAyMTFfUkNfREVGQVVMVF9OT05FIGlzIG5vdCBzZXQKKworIworIyBTZWxlY3RpbmcgJ3knIGZvciBhbiBhbGdvcml0aG0gd2lsbAorIworCisjCisjIGJ1aWxkIHRoZSBhbGdvcml0aG0gaW50byBtYWM4MDIxMS4KKyMKK0NPTkZJR19NQUM4MDIxMV9SQ19ERUZBVUxUPSJwaWQiCitDT05GSUdfTUFDODAyMTFfUkNfUElEPXkKK0NPTkZJR19NQUM4MDIxMV9NRVNIPXkKK0NPTkZJR19NQUM4MDIxMV9MRURTPXkKKyMgQ09ORklHX01BQzgwMjExX0RFQlVHX1BBQ0tFVF9BTElHTk1FTlQgaXMgbm90IHNldAorIyBDT05GSUdfTUFDODAyMTFfREVCVUcgaXMgbm90IHNldAogIyBDT05GSUdfSUVFRTgwMjExIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JGS0lMTCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfOVAgaXMgbm90IHNldAogCiAjCiAjIERldmljZSBEcml2ZXJzCkBAIC0zOTUsMjEgKzUwMSwxNCBAQAogIwogIyBHZW5lcmljIERyaXZlciBPcHRpb25zCiAjCitDT05GSUdfVUVWRU5UX0hFTFBFUl9QQVRIPSIvc2Jpbi9ob3RwbHVnIgogQ09ORklHX1NUQU5EQUxPTkU9eQogQ09ORklHX1BSRVZFTlRfRklSTVdBUkVfQlVJTEQ9eQotIyBDT05GSUdfRldfTE9BREVSIGlzIG5vdCBzZXQKK0NPTkZJR19GV19MT0FERVI9bQogIyBDT05GSUdfREVCVUdfRFJJVkVSIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX0RFVlJFUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TWVNfSFlQRVJWSVNPUiBpcyBub3Qgc2V0Ci0KLSMKLSMgQ29ubmVjdG9yIC0gdW5pZmllZCB1c2Vyc3BhY2UgPC0+IGtlcm5lbHNwYWNlIGxpbmtlcgotIwogIyBDT05GSUdfQ09OTkVDVE9SIGlzIG5vdCBzZXQKLQotIwotIyBNZW1vcnkgVGVjaG5vbG9neSBEZXZpY2VzIChNVEQpCi0jCiBDT05GSUdfTVREPXkKICMgQ09ORklHX01URF9ERUJVRyBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfQ09OQ0FUIGlzIG5vdCBzZXQKQEAgLTQyMCw2ICs1MTksNyBAQAogIyBDT05GSUdfTVREX1JFREJPT1RfUEFSVFNfUkVBRE9OTFkgaXMgbm90IHNldAogQ09ORklHX01URF9DTURMSU5FX1BBUlRTPXkKICMgQ09ORklHX01URF9BRlNfUEFSVFMgaXMgbm90IHNldAorIyBDT05GSUdfTVREX0FSN19QQVJUUyBpcyBub3Qgc2V0CiAKICMKICMgVXNlciBNb2R1bGVzIEFuZCBUcmFuc2xhdGlvbiBMYXllcnMKQEAgLTQzMiw2ICs1MzIsNyBAQAogIyBDT05GSUdfSU5GVEwgaXMgbm90IHNldAogIyBDT05GSUdfUkZEX0ZUTCBpcyBub3Qgc2V0CiAjIENPTkZJR19TU0ZEQyBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfT09QUyBpcyBub3Qgc2V0CiAKICMKICMgUkFNL1JPTS9GbGFzaCBjaGlwIGRyaXZlcnMKQEAgLTQ1Nyw3ICs1NTgsNiBAQAogIyBDT05GSUdfTVREX1JBTSBpcyBub3Qgc2V0CiBDT05GSUdfTVREX1JPTT15CiAjIENPTkZJR19NVERfQUJTRU5UIGlzIG5vdCBzZXQKLSMgQ09ORklHX01URF9PQlNPTEVURV9DSElQUyBpcyBub3Qgc2V0CiAKICMKICMgTWFwcGluZyBkcml2ZXJzIGZvciBjaGlwIGFjY2VzcwpAQCAtNDg2LDEzICs1ODYsMTAgQEAKICMgQ09ORklHX01URF9ET0MyMDAwIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9ET0MyMDAxIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9ET0MyMDAxUExVUyBpcyBub3Qgc2V0Ci0KLSMKLSMgTkFORCBGbGFzaCBEZXZpY2UgRHJpdmVycwotIwogQ09ORklHX01URF9OQU5EPXkKICMgQ09ORklHX01URF9OQU5EX1ZFUklGWV9XUklURSBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfTkFORF9FQ0NfU01DIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9OQU5EX01VU0VVTV9JRFMgaXMgbm90IHNldAogQ09ORklHX01URF9OQU5EX0lEUz15CiBDT05GSUdfTVREX05BTkRfUzNDMjQxMD15CiAjIENPTkZJR19NVERfTkFORF9TM0MyNDEwX0RFQlVHIGlzIG5vdCBzZXQKQEAgLTUwMCwzMCArNTk3LDI1IEBACiAjIENPTkZJR19NVERfTkFORF9TM0MyNDEwX0NMS1NUT1AgaXMgbm90IHNldAogIyBDT05GSUdfTVREX05BTkRfRElTS09OQ0hJUCBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfTkFORF9OQU5EU0lNIGlzIG5vdCBzZXQKLQotIwotIyBPbmVOQU5EIEZsYXNoIERldmljZSBEcml2ZXJzCi0jCisjIENPTkZJR19NVERfTkFORF9QTEFURk9STSBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfQUxBVURBIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9PTkVOQU5EIGlzIG5vdCBzZXQKIAogIwotIyBQYXJhbGxlbCBwb3J0IHN1cHBvcnQKKyMgVUJJIC0gVW5zb3J0ZWQgYmxvY2sgaW1hZ2VzCiAjCisjIENPTkZJR19NVERfVUJJIGlzIG5vdCBzZXQKIENPTkZJR19QQVJQT1JUPXkKLSMgQ09ORklHX1BBUlBPUlRfUEMgaXMgbm90IHNldAorQ09ORklHX1BBUlBPUlRfUEM9bQorIyBDT05GSUdfUEFSUE9SVF9QQ19GSUZPIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBUlBPUlRfUENfU1VQRVJJTyBpcyBub3Qgc2V0CiAjIENPTkZJR19QQVJQT1JUX0dTQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19QQVJQT1JUX0FYODg3OTYgaXMgbm90IHNldAorQ09ORklHX1BBUlBPUlRfQVg4ODc5Nj1tCiBDT05GSUdfUEFSUE9SVF8xMjg0PXkKLQotIwotIyBQbHVnIGFuZCBQbGF5IHN1cHBvcnQKLSMKK0NPTkZJR19QQVJQT1JUX05PVF9QQz15CiAjIENPTkZJR19QTlAgaXMgbm90IHNldAotIyBDT05GSUdfUE5QQUNQSSBpcyBub3Qgc2V0Ci0KLSMKLSMgQmxvY2sgZGV2aWNlcwotIworQ09ORklHX0JMS19ERVY9eQorIyBDT05GSUdfUEFSSURFIGlzIG5vdCBzZXQKICMgQ09ORklHX0JMS19ERVZfQ09XX0NPTU1PTiBpcyBub3Qgc2V0CiBDT05GSUdfQkxLX0RFVl9MT09QPXkKICMgQ09ORklHX0JMS19ERVZfQ1JZUFRPTE9PUCBpcyBub3Qgc2V0CkBAIC01MzIsMzQgKzYyNCwzNCBAQAogQ09ORklHX0JMS19ERVZfUkFNPXkKIENPTkZJR19CTEtfREVWX1JBTV9DT1VOVD0xNgogQ09ORklHX0JMS19ERVZfUkFNX1NJWkU9NDA5NgotQ09ORklHX0JMS19ERVZfUkFNX0JMT0NLU0laRT0xMDI0CisjIENPTkZJR19CTEtfREVWX1hJUCBpcyBub3Qgc2V0CiAjIENPTkZJR19DRFJPTV9QS1RDRFZEIGlzIG5vdCBzZXQKIENPTkZJR19BVEFfT1ZFUl9FVEg9bQotCi0jCi0jIEFUQS9BVEFQSS9NRk0vUkxMIHN1cHBvcnQKLSMKK0NPTkZJR19NSVNDX0RFVklDRVM9eQorIyBDT05GSUdfRUVQUk9NXzkzQ1g2IGlzIG5vdCBzZXQKKyMgQ09ORklHX0VOQ0xPU1VSRV9TRVJWSUNFUyBpcyBub3Qgc2V0CitDT05GSUdfSEFWRV9JREU9eQogQ09ORklHX0lERT15CiBDT05GSUdfQkxLX0RFVl9JREU9eQogCiAjCi0jIFBsZWFzZSBzZWUgRG9jdW1lbnRhdGlvbi9pZGUudHh0IGZvciBoZWxwL2luZm8gb24gSURFIGRyaXZlcworIyBQbGVhc2Ugc2VlIERvY3VtZW50YXRpb24vaWRlL2lkZS50eHQgZm9yIGhlbHAvaW5mbyBvbiBJREUgZHJpdmVzCiAjCiAjIENPTkZJR19CTEtfREVWX0lERV9TQVRBIGlzIG5vdCBzZXQKIENPTkZJR19CTEtfREVWX0lERURJU0s9eQogIyBDT05GSUdfSURFRElTS19NVUxUSV9NT0RFIGlzIG5vdCBzZXQKIENPTkZJR19CTEtfREVWX0lERUNEPXkKK0NPTkZJR19CTEtfREVWX0lERUNEX1ZFUkJPU0VfRVJST1JTPXkKIENPTkZJR19CTEtfREVWX0lERVRBUEU9bQogQ09ORklHX0JMS19ERVZfSURFRkxPUFBZPW0KKyMgQ09ORklHX0JMS19ERVZfSURFU0NTSSBpcyBub3Qgc2V0CiAjIENPTkZJR19JREVfVEFTS19JT0NUTCBpcyBub3Qgc2V0CitDT05GSUdfSURFX1BST0NfRlM9eQogCiAjCiAjIElERSBjaGlwc2V0IHN1cHBvcnQvYnVnZml4ZXMKICMKLUNPTkZJR19JREVfR0VORVJJQz15Ci0jIENPTkZJR19JREVfQVJNIGlzIG5vdCBzZXQKLUNPTkZJR19CTEtfREVWX0lERV9CQVNUPXkKLSMgQ09ORklHX0lERV9DSElQU0VUUyBpcyBub3Qgc2V0CisjIENPTkZJR19CTEtfREVWX1BMQVRGT1JNIGlzIG5vdCBzZXQKICMgQ09ORklHX0JMS19ERVZfSURFRE1BIGlzIG5vdCBzZXQKICMgQ09ORklHX0JMS19ERVZfSEQgaXMgbm90IHNldAogCkBAIC01NjcsMTAxICs2NTksMTE5IEBACiAjIFNDU0kgZGV2aWNlIHN1cHBvcnQKICMKICMgQ09ORklHX1JBSURfQVRUUlMgaXMgbm90IHNldAotIyBDT05GSUdfU0NTSSBpcyBub3Qgc2V0CitDT05GSUdfU0NTST15CitDT05GSUdfU0NTSV9ETUE9eQorQ09ORklHX1NDU0lfVEdUPW0KICMgQ09ORklHX1NDU0lfTkVUTElOSyBpcyBub3Qgc2V0CitDT05GSUdfU0NTSV9QUk9DX0ZTPXkKIAogIwotIyBTZXJpYWwgQVRBIChwcm9kKSBhbmQgUGFyYWxsZWwgQVRBIChleHBlcmltZW50YWwpIGRyaXZlcnMKKyMgU0NTSSBzdXBwb3J0IHR5cGUgKGRpc2ssIHRhcGUsIENELVJPTSkKICMKK0NPTkZJR19CTEtfREVWX1NEPXkKK0NPTkZJR19DSFJfREVWX1NUPW0KKyMgQ09ORklHX0NIUl9ERVZfT1NTVCBpcyBub3Qgc2V0CitDT05GSUdfQkxLX0RFVl9TUj1tCitDT05GSUdfQkxLX0RFVl9TUl9WRU5ET1I9eQorQ09ORklHX0NIUl9ERVZfU0c9eQorQ09ORklHX0NIUl9ERVZfU0NIPW0KKworIworIyBTb21lIFNDU0kgZGV2aWNlcyAoZS5nLiBDRCBqdWtlYm94KSBzdXBwb3J0IG11bHRpcGxlIExVTnMKKyMKK0NPTkZJR19TQ1NJX01VTFRJX0xVTj15CitDT05GSUdfU0NTSV9DT05TVEFOVFM9eQorIyBDT05GSUdfU0NTSV9MT0dHSU5HIGlzIG5vdCBzZXQKK0NPTkZJR19TQ1NJX1NDQU5fQVNZTkM9eQorQ09ORklHX1NDU0lfV0FJVF9TQ0FOPW0KKworIworIyBTQ1NJIFRyYW5zcG9ydHMKKyMKKyMgQ09ORklHX1NDU0lfU1BJX0FUVFJTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NDU0lfRkNfQVRUUlMgaXMgbm90IHNldAorIyBDT05GSUdfU0NTSV9JU0NTSV9BVFRSUyBpcyBub3Qgc2V0CisjIENPTkZJR19TQ1NJX1NBU19MSUJTQVMgaXMgbm90IHNldAorIyBDT05GSUdfU0NTSV9TUlBfQVRUUlMgaXMgbm90IHNldAorQ09ORklHX1NDU0lfTE9XTEVWRUw9eQorIyBDT05GSUdfSVNDU0lfVENQIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NDU0lfQUhBMTUyWCBpcyBub3Qgc2V0CisjIENPTkZJR19TQ1NJX0FJQzdYWFhfT0xEIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NDU0lfQURWQU5TWVMgaXMgbm90IHNldAorIyBDT05GSUdfU0NTSV9JTjIwMDAgaXMgbm90IHNldAorIyBDT05GSUdfU0NTSV9EVEMzMjgwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NDU0lfRlVUVVJFX0RPTUFJTiBpcyBub3Qgc2V0CisjIENPTkZJR19TQ1NJX0dFTkVSSUNfTkNSNTM4MCBpcyBub3Qgc2V0CisjIENPTkZJR19TQ1NJX0dFTkVSSUNfTkNSNTM4MF9NTUlPIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NDU0lfUFBBIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NDU0lfSU1NIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NDU0lfTkNSNTNDNDA2QSBpcyBub3Qgc2V0CisjIENPTkZJR19TQ1NJX1BBUzE2IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NDU0lfUUxPR0lDX0ZBUyBpcyBub3Qgc2V0CisjIENPTkZJR19TQ1NJX1NZTTUzQzQxNiBpcyBub3Qgc2V0CisjIENPTkZJR19TQ1NJX1QxMjggaXMgbm90IHNldAorIyBDT05GSUdfU0NTSV9ERUJVRyBpcyBub3Qgc2V0CiAjIENPTkZJR19BVEEgaXMgbm90IHNldAotCi0jCi0jIE11bHRpLWRldmljZSBzdXBwb3J0IChSQUlEIGFuZCBMVk0pCi0jCitDT05GSUdfSEFWRV9QQVRBX1BMQVRGT1JNPXkKICMgQ09ORklHX01EIGlzIG5vdCBzZXQKLQotIwotIyBGdXNpb24gTVBUIGRldmljZSBzdXBwb3J0Ci0jCi0jIENPTkZJR19GVVNJT04gaXMgbm90IHNldAotCi0jCi0jIElFRUUgMTM5NCAoRmlyZVdpcmUpIHN1cHBvcnQKLSMKLQotIwotIyBJMk8gZGV2aWNlIHN1cHBvcnQKLSMKLQotIwotIyBOZXR3b3JrIGRldmljZSBzdXBwb3J0Ci0jCiBDT05GSUdfTkVUREVWSUNFUz15CisjIENPTkZJR19ORVRERVZJQ0VTX01VTFRJUVVFVUUgaXMgbm90IHNldAogIyBDT05GSUdfRFVNTVkgaXMgbm90IHNldAogIyBDT05GSUdfQk9ORElORyBpcyBub3Qgc2V0CisjIENPTkZJR19NQUNWTEFOIGlzIG5vdCBzZXQKICMgQ09ORklHX0VRVUFMSVpFUiBpcyBub3Qgc2V0CiAjIENPTkZJR19UVU4gaXMgbm90IHNldAotCi0jCi0jIEFSQ25ldCBkZXZpY2VzCi0jCisjIENPTkZJR19WRVRIIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ05FVCBpcyBub3Qgc2V0Ci0KLSMKLSMgUEhZIGRldmljZSBzdXBwb3J0Ci0jCiAjIENPTkZJR19QSFlMSUIgaXMgbm90IHNldAotCi0jCi0jIEV0aGVybmV0ICgxMCBvciAxMDBNYml0KQotIwogQ09ORklHX05FVF9FVEhFUk5FVD15CiBDT05GSUdfTUlJPXkKKyMgQ09ORklHX0FYODg3OTYgaXMgbm90IHNldAogIyBDT05GSUdfTkVUX1ZFTkRPUl8zQ09NIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVF9WRU5ET1JfU01DIGlzIG5vdCBzZXQKICMgQ09ORklHX1NNQzkxWCBpcyBub3Qgc2V0CiBDT05GSUdfRE05MDAwPXkKKyMgQ09ORklHX0VOQzI4SjYwIGlzIG5vdCBzZXQKK0NPTkZJR19ETTkwMDBfREVCVUdMRVZFTD00CiAjIENPTkZJR19ORVRfVkVORE9SX1JBQ0FMIGlzIG5vdCBzZXQKICMgQ09ORklHX0FUMTcwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19ERVBDQSBpcyBub3Qgc2V0CiAjIENPTkZJR19IUDEwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRfSVNBIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTV9ORVdfRU1BQ19aTUlJIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTV9ORVdfRU1BQ19SR01JSSBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfVEFIIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTV9ORVdfRU1BQ19FTUFDNCBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRfUENJIGlzIG5vdCBzZXQKKyMgQ09ORklHX0I0NCBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRfUE9DS0VUIGlzIG5vdCBzZXQKLQotIwotIyBFdGhlcm5ldCAoMTAwMCBNYml0KQotIwotCi0jCi0jIEV0aGVybmV0ICgxMDAwMCBNYml0KQotIwotCi0jCi0jIFRva2VuIFJpbmcgZGV2aWNlcwotIworQ09ORklHX05FVERFVl8xMDAwPXkKKyMgQ09ORklHX0UxMDAwRV9FTkFCTEVEIGlzIG5vdCBzZXQKK0NPTkZJR19ORVRERVZfMTAwMDA9eQogIyBDT05GSUdfVFIgaXMgbm90IHNldAogCiAjCi0jIFdpcmVsZXNzIExBTiAobm9uLWhhbXJhZGlvKQorIyBXaXJlbGVzcyBMQU4KICMKLSMgQ09ORklHX05FVF9SQURJTyBpcyBub3Qgc2V0CisjIENPTkZJR19XTEFOX1BSRTgwMjExIGlzIG5vdCBzZXQKKyMgQ09ORklHX1dMQU5fODAyMTEgaXMgbm90IHNldAorIyBDT05GSUdfSVdMV0lGSV9MRURTIGlzIG5vdCBzZXQKIAogIwotIyBXYW4gaW50ZXJmYWNlcworIyBVU0IgTmV0d29yayBBZGFwdGVycwogIworIyBDT05GSUdfVVNCX0NBVEMgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0tBV0VUSCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfUEVHQVNVUyBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfUlRMODE1MCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfVVNCTkVUIGlzIG5vdCBzZXQKICMgQ09ORklHX1dBTiBpcyBub3Qgc2V0CiAjIENPTkZJR19QTElQIGlzIG5vdCBzZXQKICMgQ09ORklHX1BQUCBpcyBub3Qgc2V0CiAjIENPTkZJR19TTElQIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NIQVBFUiBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRDT05TT0xFIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVFBPTEwgaXMgbm90IHNldAogIyBDT05GSUdfTkVUX1BPTExfQ09OVFJPTExFUiBpcyBub3Qgc2V0Ci0KLSMKLSMgSVNETiBzdWJzeXN0ZW0KLSMKICMgQ09ORklHX0lTRE4gaXMgbm90IHNldAogCiAjCkBAIC02NjksNiArNzc5LDcgQEAKICMKIENPTkZJR19JTlBVVD15CiAjIENPTkZJR19JTlBVVF9GRl9NRU1MRVNTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOUFVUX1BPTExERVYgaXMgbm90IHNldAogCiAjCiAjIFVzZXJsYW5kIGludGVyZmFjZXMKQEAgLTY3OCw3ICs3ODksNiBAQAogQ09ORklHX0lOUFVUX01PVVNFREVWX1NDUkVFTl9YPTEwMjQKIENPTkZJR19JTlBVVF9NT1VTRURFVl9TQ1JFRU5fWT03NjgKICMgQ09ORklHX0lOUFVUX0pPWURFViBpcyBub3Qgc2V0Ci0jIENPTkZJR19JTlBVVF9UU0RFViBpcyBub3Qgc2V0CiAjIENPTkZJR19JTlBVVF9FVkRFViBpcyBub3Qgc2V0CiAjIENPTkZJR19JTlBVVF9FVkJVRyBpcyBub3Qgc2V0CiAKQEAgLTY5NSwxMiArODA1LDIxIEBACiAjIENPTkZJR19LRVlCT0FSRF9HUElPIGlzIG5vdCBzZXQKIENPTkZJR19JTlBVVF9NT1VTRT15CiBDT05GSUdfTU9VU0VfUFMyPXkKK0NPTkZJR19NT1VTRV9QUzJfQUxQUz15CitDT05GSUdfTU9VU0VfUFMyX0xPR0lQUzJQUD15CitDT05GSUdfTU9VU0VfUFMyX1NZTkFQVElDUz15CitDT05GSUdfTU9VU0VfUFMyX0xJRkVCT09LPXkKK0NPTkZJR19NT1VTRV9QUzJfVFJBQ0tQT0lOVD15CisjIENPTkZJR19NT1VTRV9QUzJfVE9VQ0hLSVQgaXMgbm90IHNldAogIyBDT05GSUdfTU9VU0VfU0VSSUFMIGlzIG5vdCBzZXQKKyMgQ09ORklHX01PVVNFX0FQUExFVE9VQ0ggaXMgbm90IHNldAogIyBDT05GSUdfTU9VU0VfSU5QT1JUIGlzIG5vdCBzZXQKICMgQ09ORklHX01PVVNFX0xPR0lCTSBpcyBub3Qgc2V0CiAjIENPTkZJR19NT1VTRV9QQzExMFBBRCBpcyBub3Qgc2V0CiAjIENPTkZJR19NT1VTRV9WU1hYWEFBIGlzIG5vdCBzZXQKKyMgQ09ORklHX01PVVNFX0dQSU8gaXMgbm90IHNldAogIyBDT05GSUdfSU5QVVRfSk9ZU1RJQ0sgaXMgbm90IHNldAorIyBDT05GSUdfSU5QVVRfVEFCTEVUIGlzIG5vdCBzZXQKICMgQ09ORklHX0lOUFVUX1RPVUNIU0NSRUVOIGlzIG5vdCBzZXQKICMgQ09ORklHX0lOUFVUX01JU0MgaXMgbm90IHNldAogCkBAIC03MjEsNiArODQwLDcgQEAKIENPTkZJR19WVF9DT05TT0xFPXkKIENPTkZJR19IV19DT05TT0xFPXkKICMgQ09ORklHX1ZUX0hXX0NPTlNPTEVfQklORElORyBpcyBub3Qgc2V0CitDT05GSUdfREVWS01FTT15CiBDT05GSUdfU0VSSUFMX05PTlNUQU5EQVJEPXkKICMgQ09ORklHX0NPTVBVVE9ORSBpcyBub3Qgc2V0CiAjIENPTkZJR19ST0NLRVRQT1JUIGlzIG5vdCBzZXQKQEAgLTcyOCw4ICs4NDgsNiBAQAogIyBDT05GSUdfRElHSUVQQ0EgaXMgbm90IHNldAogIyBDT05GSUdfTU9YQV9JTlRFTExJTyBpcyBub3Qgc2V0CiAjIENPTkZJR19NT1hBX1NNQVJUSU8gaXMgbm90IHNldAotIyBDT05GSUdfTU9YQV9TTUFSVElPX05FVyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TWU5DTElOS01QIGlzIG5vdCBzZXQKICMgQ09ORklHX05fSERMQyBpcyBub3Qgc2V0CiAjIENPTkZJR19SSVNDT004IGlzIG5vdCBzZXQKICMgQ09ORklHX1NQRUNJQUxJWCBpcyBub3Qgc2V0CkBAIC03NTgsOCArODc2LDEyIEBACiAjCiAjIE5vbi04MjUwIHNlcmlhbCBwb3J0IHN1cHBvcnQKICMKK0NPTkZJR19TRVJJQUxfU0FNU1VORz15CisjIENPTkZJR19TRVJJQUxfU0FNU1VOR19ERUJVRyBpcyBub3Qgc2V0CitDT05GSUdfU0VSSUFMX1NBTVNVTkdfQ09OU09MRT15CiBDT05GSUdfU0VSSUFMX1MzQzI0MTA9eQotQ09ORklHX1NFUklBTF9TM0MyNDEwX0NPTlNPTEU9eQorQ09ORklHX1NFUklBTF9TM0MyNDEyPXkKK0NPTkZJR19TRVJJQUxfUzNDMjQ0MD15CiBDT05GSUdfU0VSSUFMX0NPUkU9eQogQ09ORklHX1NFUklBTF9DT1JFX0NPTlNPTEU9eQogQ09ORklHX1VOSVg5OF9QVFlTPXkKQEAgLTc2OCwxNiArODkwLDEzOSBAQAogQ09ORklHX1BSSU5URVI9eQogIyBDT05GSUdfTFBfQ09OU09MRSBpcyBub3Qgc2V0CiBDT05GSUdfUFBERVY9eQotIyBDT05GSUdfVElQQVIgaXMgbm90IHNldAotCi0jCi0jIElQTUkKLSMKICMgQ09ORklHX0lQTUlfSEFORExFUiBpcyBub3Qgc2V0CitDT05GSUdfSFdfUkFORE9NPXkKKyMgQ09ORklHX05WUkFNIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RUTEsgaXMgbm90IHNldAorIyBDT05GSUdfUjM5NjQgaXMgbm90IHNldAorIyBDT05GSUdfUkFXX0RSSVZFUiBpcyBub3Qgc2V0CisjIENPTkZJR19UQ0dfVFBNIGlzIG5vdCBzZXQKK0NPTkZJR19ERVZQT1JUPXkKK0NPTkZJR19JMkM9eQorQ09ORklHX0kyQ19CT0FSRElORk89eQorQ09ORklHX0kyQ19DSEFSREVWPW0KK0NPTkZJR19JMkNfQUxHT0JJVD15CiAKICMKLSMgV2F0Y2hkb2cgQ2FyZHMKKyMgSTJDIEhhcmR3YXJlIEJ1cyBzdXBwb3J0CiAjCisjIENPTkZJR19JMkNfRUxFS1RPUiBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfR1BJTyBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfT0NPUkVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19QQVJQT1JUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19QQVJQT1JUX0xJR0hUIGlzIG5vdCBzZXQKK0NPTkZJR19JMkNfUzNDMjQxMD15CitDT05GSUdfSTJDX1NJTVRFQz15CisjIENPTkZJR19JMkNfVEFPU19FVk0gaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1NUVUIgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1RJTllfVVNCIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19QQ0FfSVNBIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19QQ0FfUExBVEZPUk0gaXMgbm90IHNldAorCisjCisjIE1pc2NlbGxhbmVvdXMgSTJDIENoaXAgc3VwcG9ydAorIworIyBDT05GSUdfRFMxNjgyIGlzIG5vdCBzZXQKK0NPTkZJR19TRU5TT1JTX0VFUFJPTT1tCisjIENPTkZJR19TRU5TT1JTX1BDRjg1NzQgaXMgbm90IHNldAorIyBDT05GSUdfUENGODU3NSBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX1BDRjg1OTEgaXMgbm90IHNldAorIyBDT05GSUdfVFBTNjUwMTAgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19NQVg2ODc1IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfVFNMMjU1MCBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfREVCVUdfQ09SRSBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfREVCVUdfQUxHTyBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfREVCVUdfQlVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19ERUJVR19DSElQIGlzIG5vdCBzZXQKK0NPTkZJR19TUEk9eQorIyBDT05GSUdfU1BJX0RFQlVHIGlzIG5vdCBzZXQKK0NPTkZJR19TUElfTUFTVEVSPXkKKworIworIyBTUEkgTWFzdGVyIENvbnRyb2xsZXIgRHJpdmVycworIworQ09ORklHX1NQSV9CSVRCQU5HPW0KKyMgQ09ORklHX1NQSV9CVVRURVJGTFkgaXMgbm90IHNldAorIyBDT05GSUdfU1BJX0xNNzBfTExQIGlzIG5vdCBzZXQKK0NPTkZJR19TUElfUzNDMjRYWD1tCitDT05GSUdfU1BJX1MzQzI0WFhfR1BJTz1tCisKKyMKKyMgU1BJIFByb3RvY29sIE1hc3RlcnMKKyMKKyMgQ09ORklHX1NQSV9BVDI1IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NQSV9TUElERVYgaXMgbm90IHNldAorIyBDT05GSUdfU1BJX1RMRTYyWDAgaXMgbm90IHNldAorQ09ORklHX0hBVkVfR1BJT19MSUI9eQorCisjCisjIEdQSU8gU3VwcG9ydAorIworIyBDT05GSUdfREVCVUdfR1BJTyBpcyBub3Qgc2V0CisKKyMKKyMgSTJDIEdQSU8gZXhwYW5kZXJzOgorIworIyBDT05GSUdfR1BJT19QQ0E5NTNYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0dQSU9fUENGODU3WCBpcyBub3Qgc2V0CisKKyMKKyMgU1BJIEdQSU8gZXhwYW5kZXJzOgorIworIyBDT05GSUdfR1BJT19NQ1AyM1MwOCBpcyBub3Qgc2V0CisjIENPTkZJR19XMSBpcyBub3Qgc2V0CisjIENPTkZJR19QT1dFUl9TVVBQTFkgaXMgbm90IHNldAorQ09ORklHX0hXTU9OPXkKK0NPTkZJR19IV01PTl9WSUQ9bQorIyBDT05GSUdfU0VOU09SU19BRDc0MTggaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19BRE0xMDIxIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfQURNMTAyNSBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0FETTEwMjYgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19BRE0xMDI5IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfQURNMTAzMSBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0FETTkyNDAgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19BRFQ3NDcwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfQURUNzQ3MyBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0FUWFAxIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfRFMxNjIxIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfRjcxODA1RiBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0Y3MTg4MkZHIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfRjc1Mzc1UyBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0dMNTE4U00gaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19HTDUyMFNNIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfSVQ4NyBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0xNNjMgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19MTTcwIGlzIG5vdCBzZXQKK0NPTkZJR19TRU5TT1JTX0xNNzU9bQorIyBDT05GSUdfU0VOU09SU19MTTc3IGlzIG5vdCBzZXQKK0NPTkZJR19TRU5TT1JTX0xNNzg9bQorIyBDT05GSUdfU0VOU09SU19MTTgwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfTE04MyBpcyBub3Qgc2V0CitDT05GSUdfU0VOU09SU19MTTg1PW0KKyMgQ09ORklHX1NFTlNPUlNfTE04NyBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0xNOTAgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19MTTkyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfTE05MyBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX01BWDE2MTkgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19NQVg2NjUwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfUEM4NzM2MCBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX1BDODc0MjcgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19ETUUxNzM3IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfU01TQzQ3TTEgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19TTVNDNDdNMTkyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfU01TQzQ3QjM5NyBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0FEUzc4MjggaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19USE1DNTAgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19WVDEyMTEgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19XODM3ODFEIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfVzgzNzkxRCBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX1c4Mzc5MkQgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19XODM3OTMgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19XODNMNzg1VFMgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19XODNMNzg2TkcgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19XODM2MjdIRiBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX1c4MzYyN0VIRiBpcyBub3Qgc2V0CisjIENPTkZJR19IV01PTl9ERUJVR19DSElQIGlzIG5vdCBzZXQKIENPTkZJR19XQVRDSERPRz15CiAjIENPTkZJR19XQVRDSERPR19OT1dBWU9VVCBpcyBub3Qgc2V0CiAKQEAgLTc5OCwxNzkgKzEwNDMsNTQgQEAKICMgVVNCLWJhc2VkIFdhdGNoZG9nIENhcmRzCiAjCiAjIENPTkZJR19VU0JQQ1dBVENIRE9HIGlzIG5vdCBzZXQKLUNPTkZJR19IV19SQU5ET009eQotIyBDT05GSUdfTlZSQU0gaXMgbm90IHNldAotIyBDT05GSUdfRFRMSyBpcyBub3Qgc2V0Ci0jIENPTkZJR19SMzk2NCBpcyBub3Qgc2V0Ci0jIENPTkZJR19SQVdfRFJJVkVSIGlzIG5vdCBzZXQKIAogIwotIyBUUE0gZGV2aWNlcworIyBTb25pY3MgU2lsaWNvbiBCYWNrcGxhbmUKICMKLSMgQ09ORklHX1RDR19UUE0gaXMgbm90IHNldAotCi0jCi0jIEkyQyBzdXBwb3J0Ci0jCi1DT05GSUdfSTJDPXkKLUNPTkZJR19JMkNfQ0hBUkRFVj1tCi0KLSMKLSMgSTJDIEFsZ29yaXRobXMKLSMKLUNPTkZJR19JMkNfQUxHT0JJVD1tCi0jIENPTkZJR19JMkNfQUxHT1BDRiBpcyBub3Qgc2V0Ci0jIENPTkZJR19JMkNfQUxHT1BDQSBpcyBub3Qgc2V0Ci0KLSMKLSMgSTJDIEhhcmR3YXJlIEJ1cyBzdXBwb3J0Ci0jCi0jIENPTkZJR19JMkNfRUxFS1RPUiBpcyBub3Qgc2V0Ci0jIENPTkZJR19JMkNfT0NPUkVTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0kyQ19QQVJQT1JUIGlzIG5vdCBzZXQKLSMgQ09ORklHX0kyQ19QQVJQT1JUX0xJR0hUIGlzIG5vdCBzZXQKLUNPTkZJR19JMkNfUzNDMjQxMD15Ci0jIENPTkZJR19JMkNfU1RVQiBpcyBub3Qgc2V0Ci0jIENPTkZJR19JMkNfUENBX0lTQSBpcyBub3Qgc2V0Ci0KLSMKLSMgTWlzY2VsbGFuZW91cyBJMkMgQ2hpcCBzdXBwb3J0Ci0jCi0jIENPTkZJR19TRU5TT1JTX0RTMTMzNyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TRU5TT1JTX0RTMTM3NCBpcyBub3Qgc2V0Ci1DT05GSUdfU0VOU09SU19FRVBST009bQotIyBDT05GSUdfU0VOU09SU19QQ0Y4NTc0IGlzIG5vdCBzZXQKLSMgQ09ORklHX1NFTlNPUlNfUENBOTUzOSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TRU5TT1JTX1BDRjg1OTEgaXMgbm90IHNldAotIyBDT05GSUdfU0VOU09SU19NQVg2ODc1IGlzIG5vdCBzZXQKLSMgQ09ORklHX0kyQ19ERUJVR19DT1JFIGlzIG5vdCBzZXQKLSMgQ09ORklHX0kyQ19ERUJVR19BTEdPIGlzIG5vdCBzZXQKLSMgQ09ORklHX0kyQ19ERUJVR19CVVMgaXMgbm90IHNldAotIyBDT05GSUdfSTJDX0RFQlVHX0NISVAgaXMgbm90IHNldAotCi0jCi0jIFNQSSBzdXBwb3J0Ci0jCi1DT05GSUdfU1BJPXkKLSMgQ09ORklHX1NQSV9ERUJVRyBpcyBub3Qgc2V0Ci1DT05GSUdfU1BJX01BU1RFUj15Ci0KLSMKLSMgU1BJIE1hc3RlciBDb250cm9sbGVyIERyaXZlcnMKLSMKLUNPTkZJR19TUElfQklUQkFORz1tCi0jIENPTkZJR19TUElfQlVUVEVSRkxZIGlzIG5vdCBzZXQKLUNPTkZJR19TUElfUzNDMjRYWD1tCi1DT05GSUdfU1BJX1MzQzI0WFhfR1BJTz1tCi0KLSMKLSMgU1BJIFByb3RvY29sIE1hc3RlcnMKLSMKLSMgQ09ORklHX1NQSV9BVDI1IGlzIG5vdCBzZXQKLQotIwotIyBEYWxsYXMncyAxLXdpcmUgYnVzCi0jCi0jIENPTkZJR19XMSBpcyBub3Qgc2V0Ci0KLSMKLSMgSGFyZHdhcmUgTW9uaXRvcmluZyBzdXBwb3J0Ci0jCi1DT05GSUdfSFdNT049eQotQ09ORklHX0hXTU9OX1ZJRD1tCi0jIENPTkZJR19TRU5TT1JTX0FCSVRVR1VSVSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TRU5TT1JTX0FETTEwMjEgaXMgbm90IHNldAotIyBDT05GSUdfU0VOU09SU19BRE0xMDI1IGlzIG5vdCBzZXQKLSMgQ09ORklHX1NFTlNPUlNfQURNMTAyNiBpcyBub3Qgc2V0Ci0jIENPTkZJR19TRU5TT1JTX0FETTEwMjkgaXMgbm90IHNldAotIyBDT05GSUdfU0VOU09SU19BRE0xMDMxIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NFTlNPUlNfQURNOTI0MCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TRU5TT1JTX0FTQjEwMCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TRU5TT1JTX0FUWFAxIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NFTlNPUlNfRFMxNjIxIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NFTlNPUlNfRjcxODA1RiBpcyBub3Qgc2V0Ci0jIENPTkZJR19TRU5TT1JTX0ZTQ0hFUiBpcyBub3Qgc2V0Ci0jIENPTkZJR19TRU5TT1JTX0ZTQ1BPUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TRU5TT1JTX0dMNTE4U00gaXMgbm90IHNldAotIyBDT05GSUdfU0VOU09SU19HTDUyMFNNIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NFTlNPUlNfSVQ4NyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TRU5TT1JTX0xNNjMgaXMgbm90IHNldAotIyBDT05GSUdfU0VOU09SU19MTTcwIGlzIG5vdCBzZXQKLUNPTkZJR19TRU5TT1JTX0xNNzU9bQotIyBDT05GSUdfU0VOU09SU19MTTc3IGlzIG5vdCBzZXQKLUNPTkZJR19TRU5TT1JTX0xNNzg9bQotIyBDT05GSUdfU0VOU09SU19MTTgwIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NFTlNPUlNfTE04MyBpcyBub3Qgc2V0Ci1DT05GSUdfU0VOU09SU19MTTg1PW0KLSMgQ09ORklHX1NFTlNPUlNfTE04NyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TRU5TT1JTX0xNOTAgaXMgbm90IHNldAotIyBDT05GSUdfU0VOU09SU19MTTkyIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NFTlNPUlNfTUFYMTYxOSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TRU5TT1JTX1BDODczNjAgaXMgbm90IHNldAotIyBDT05GSUdfU0VOU09SU19QQzg3NDI3IGlzIG5vdCBzZXQKLSMgQ09ORklHX1NFTlNPUlNfU01TQzQ3TTEgaXMgbm90IHNldAotIyBDT05GSUdfU0VOU09SU19TTVNDNDdNMTkyIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NFTlNPUlNfU01TQzQ3QjM5NyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TRU5TT1JTX1ZUMTIxMSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TRU5TT1JTX1c4Mzc4MUQgaXMgbm90IHNldAotIyBDT05GSUdfU0VOU09SU19XODM3OTFEIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NFTlNPUlNfVzgzNzkyRCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TRU5TT1JTX1c4Mzc5MyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TRU5TT1JTX1c4M0w3ODVUUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TRU5TT1JTX1c4MzYyN0hGIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NFTlNPUlNfVzgzNjI3RUhGIGlzIG5vdCBzZXQKLSMgQ09ORklHX0hXTU9OX0RFQlVHX0NISVAgaXMgbm90IHNldAotCi0jCi0jIE1pc2MgZGV2aWNlcwotIworQ09ORklHX1NTQl9QT1NTSUJMRT15CisjIENPTkZJR19TU0IgaXMgbm90IHNldAogCiAjCiAjIE11bHRpZnVuY3Rpb24gZGV2aWNlIGRyaXZlcnMKICMKLSMgQ09ORklHX01GRF9TTTUwMSBpcyBub3Qgc2V0Ci0KLSMKLSMgTEVEIGRldmljZXMKLSMKLUNPTkZJR19ORVdfTEVEUz15Ci1DT05GSUdfTEVEU19DTEFTUz1tCi0KLSMKLSMgTEVEIGRyaXZlcnMKLSMKLUNPTkZJR19MRURTX1MzQzI0WFg9bQotQ09ORklHX0xFRFNfSDE5NDA9bQotCi0jCi0jIExFRCBUcmlnZ2VycwotIwotQ09ORklHX0xFRFNfVFJJR0dFUlM9eQotQ09ORklHX0xFRFNfVFJJR0dFUl9USU1FUj1tCi0jIENPTkZJR19MRURTX1RSSUdHRVJfSURFX0RJU0sgaXMgbm90IHNldAotQ09ORklHX0xFRFNfVFJJR0dFUl9IRUFSVEJFQVQ9bQorQ09ORklHX01GRF9TTTUwMT15CisjIENPTkZJR19NRkRfQVNJQzMgaXMgbm90IHNldAorIyBDT05GSUdfSFRDX0VHUElPIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hUQ19QQVNJQzMgaXMgbm90IHNldAogCiAjCiAjIE11bHRpbWVkaWEgZGV2aWNlcwogIwotIyBDT05GSUdfVklERU9fREVWIGlzIG5vdCBzZXQKIAogIwotIyBEaWdpdGFsIFZpZGVvIEJyb2FkY2FzdGluZyBEZXZpY2VzCisjIE11bHRpbWVkaWEgY29yZSBzdXBwb3J0CiAjCi0jIENPTkZJR19EVkIgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX0RBQlVTQiBpcyBub3Qgc2V0CisjIENPTkZJR19WSURFT19ERVYgaXMgbm90IHNldAorIyBDT05GSUdfRFZCX0NPUkUgaXMgbm90IHNldAorIyBDT05GSUdfVklERU9fTUVESUEgaXMgbm90IHNldAorCisjCisjIE11bHRpbWVkaWEgZHJpdmVycworIworIyBDT05GSUdfREFCIGlzIG5vdCBzZXQKIAogIwogIyBHcmFwaGljcyBzdXBwb3J0CiAjCi0jIENPTkZJR19CQUNLTElHSFRfTENEX1NVUFBPUlQgaXMgbm90IHNldAorIyBDT05GSUdfVkdBU1RBVEUgaXMgbm90IHNldAorIyBDT05GSUdfVklERU9fT1VUUFVUX0NPTlRST0wgaXMgbm90IHNldAogQ09ORklHX0ZCPXkKIENPTkZJR19GSVJNV0FSRV9FRElEPXkKICMgQ09ORklHX0ZCX0REQyBpcyBub3Qgc2V0CiBDT05GSUdfRkJfQ0ZCX0ZJTExSRUNUPXkKIENPTkZJR19GQl9DRkJfQ09QWUFSRUE9eQogQ09ORklHX0ZCX0NGQl9JTUFHRUJMSVQ9eQorIyBDT05GSUdfRkJfQ0ZCX1JFVl9QSVhFTFNfSU5fQllURSBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9TWVNfRklMTFJFQ1QgaXMgbm90IHNldAorIyBDT05GSUdfRkJfU1lTX0NPUFlBUkVBIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX1NZU19JTUFHRUJMSVQgaXMgbm90IHNldAorIyBDT05GSUdfRkJfRk9SRUlHTl9FTkRJQU4gaXMgbm90IHNldAorIyBDT05GSUdfRkJfU1lTX0ZPUFMgaXMgbm90IHNldAogIyBDT05GSUdfRkJfU1ZHQUxJQiBpcyBub3Qgc2V0CiAjIENPTkZJR19GQl9NQUNNT0RFUyBpcyBub3Qgc2V0CiAjIENPTkZJR19GQl9CQUNLTElHSFQgaXMgbm90IHNldApAQCAtOTc4LDEyICsxMDk4LDE5IEBACiAjIENPTkZJR19GQl9USUxFQkxJVFRJTkcgaXMgbm90IHNldAogCiAjCi0jIEZyYW1idWZmZXIgaGFyZHdhcmUgZHJpdmVycworIyBGcmFtZSBidWZmZXIgaGFyZHdhcmUgZHJpdmVycwogIwogIyBDT05GSUdfRkJfUzFEMTNYWFggaXMgbm90IHNldAogQ09ORklHX0ZCX1MzQzI0MTA9eQogIyBDT05GSUdfRkJfUzNDMjQxMF9ERUJVRyBpcyBub3Qgc2V0CitDT05GSUdfRkJfU001MDE9eQogIyBDT05GSUdfRkJfVklSVFVBTCBpcyBub3Qgc2V0CisjIENPTkZJR19CQUNLTElHSFRfTENEX1NVUFBPUlQgaXMgbm90IHNldAorCisjCisjIERpc3BsYXkgZGV2aWNlIHN1cHBvcnQKKyMKKyMgQ09ORklHX0RJU1BMQVlfU1VQUE9SVCBpcyBub3Qgc2V0CiAKICMKICMgQ29uc29sZSBkaXNwbGF5IGRyaXZlciBzdXBwb3J0CkBAIC05OTIsNjggKzExMTksMjEgQEAKICMgQ09ORklHX01EQV9DT05TT0xFIGlzIG5vdCBzZXQKIENPTkZJR19EVU1NWV9DT05TT0xFPXkKIENPTkZJR19GUkFNRUJVRkZFUl9DT05TT0xFPXkKKyMgQ09ORklHX0ZSQU1FQlVGRkVSX0NPTlNPTEVfREVURUNUX1BSSU1BUlkgaXMgbm90IHNldAogIyBDT05GSUdfRlJBTUVCVUZGRVJfQ09OU09MRV9ST1RBVElPTiBpcyBub3Qgc2V0CiAjIENPTkZJR19GT05UUyBpcyBub3Qgc2V0CiBDT05GSUdfRk9OVF84eDg9eQogQ09ORklHX0ZPTlRfOHgxNj15Ci0KLSMKLSMgTG9nbyBjb25maWd1cmF0aW9uCi0jCiAjIENPTkZJR19MT0dPIGlzIG5vdCBzZXQKIAogIwogIyBTb3VuZAogIwogIyBDT05GSUdfU09VTkQgaXMgbm90IHNldAotCi0jCi0jIEhJRCBEZXZpY2VzCi0jCitDT05GSUdfSElEX1NVUFBPUlQ9eQogQ09ORklHX0hJRD15CiAjIENPTkZJR19ISURfREVCVUcgaXMgbm90IHNldAotCi0jCi0jIFVTQiBzdXBwb3J0Ci0jCi1DT05GSUdfVVNCX0FSQ0hfSEFTX0hDRD15Ci1DT05GSUdfVVNCX0FSQ0hfSEFTX09IQ0k9eQotIyBDT05GSUdfVVNCX0FSQ0hfSEFTX0VIQ0kgaXMgbm90IHNldAotQ09ORklHX1VTQj15Ci0jIENPTkZJR19VU0JfREVCVUcgaXMgbm90IHNldAotCi0jCi0jIE1pc2NlbGxhbmVvdXMgVVNCIG9wdGlvbnMKLSMKLUNPTkZJR19VU0JfREVWSUNFRlM9eQotIyBDT05GSUdfVVNCX0RZTkFNSUNfTUlOT1JTIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9TVVNQRU5EIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9PVEcgaXMgbm90IHNldAotCi0jCi0jIFVTQiBIb3N0IENvbnRyb2xsZXIgRHJpdmVycwotIwotIyBDT05GSUdfVVNCX0lTUDExNlhfSENEIGlzIG5vdCBzZXQKLUNPTkZJR19VU0JfT0hDSV9IQ0Q9eQotIyBDT05GSUdfVVNCX09IQ0lfQklHX0VORElBTl9ERVNDIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9PSENJX0JJR19FTkRJQU5fTU1JTyBpcyBub3Qgc2V0Ci1DT05GSUdfVVNCX09IQ0lfTElUVExFX0VORElBTj15Ci0jIENPTkZJR19VU0JfU0w4MTFfSENEIGlzIG5vdCBzZXQKLQotIwotIyBVU0IgRGV2aWNlIENsYXNzIGRyaXZlcnMKLSMKLSMgQ09ORklHX1VTQl9BQ00gaXMgbm90IHNldAotIyBDT05GSUdfVVNCX1BSSU5URVIgaXMgbm90IHNldAotCi0jCi0jIE5PVEU6IFVTQl9TVE9SQUdFIGVuYWJsZXMgU0NTSSwgYW5kICdTQ1NJIGRpc2sgc3VwcG9ydCcKLSMKLQotIwotIyBtYXkgYWxzbyBiZSBuZWVkZWQ7IHNlZSBVU0JfU1RPUkFHRSBIZWxwIGZvciBtb3JlIGluZm9ybWF0aW9uCi0jCi0jIENPTkZJR19VU0JfTElCVVNVQUwgaXMgbm90IHNldAorIyBDT05GSUdfSElEUkFXIGlzIG5vdCBzZXQKIAogIwogIyBVU0IgSW5wdXQgRGV2aWNlcwpAQCAtMTA2NSw0NSArMTE0NSwxMjIgQEAKICMKICMgQ09ORklHX1VTQl9LQkQgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX01PVVNFIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9BSVBURUsgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX1dBQ09NIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9BQ0VDQUQgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX0tCVEFCIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9QT1dFUk1BVEUgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX1RPVUNIU0NSRUVOIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9ZRUFMSU5LIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9YUEFEIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9BVElfUkVNT1RFIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9BVElfUkVNT1RFMiBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfS0VZU1BBTl9SRU1PVEUgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX0FQUExFVE9VQ0ggaXMgbm90IHNldAotIyBDT05GSUdfVVNCX0dUQ08gaXMgbm90IHNldAorQ09ORklHX1VTQl9TVVBQT1JUPXkKK0NPTkZJR19VU0JfQVJDSF9IQVNfSENEPXkKK0NPTkZJR19VU0JfQVJDSF9IQVNfT0hDST15CisjIENPTkZJR19VU0JfQVJDSF9IQVNfRUhDSSBpcyBub3Qgc2V0CitDT05GSUdfVVNCPXkKKyMgQ09ORklHX1VTQl9ERUJVRyBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfQU5OT1VOQ0VfTkVXX0RFVklDRVMgaXMgbm90IHNldAorCisjCisjIE1pc2NlbGxhbmVvdXMgVVNCIG9wdGlvbnMKKyMKK0NPTkZJR19VU0JfREVWSUNFRlM9eQorQ09ORklHX1VTQl9ERVZJQ0VfQ0xBU1M9eQorIyBDT05GSUdfVVNCX0RZTkFNSUNfTUlOT1JTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TVVNQRU5EIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9PVEcgaXMgbm90IHNldAorCisjCisjIFVTQiBIb3N0IENvbnRyb2xsZXIgRHJpdmVycworIworIyBDT05GSUdfVVNCX0M2N1gwMF9IQ0QgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0lTUDExNlhfSENEIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9JU1AxNzYwX0hDRCBpcyBub3Qgc2V0CitDT05GSUdfVVNCX09IQ0lfSENEPXkKKyMgQ09ORklHX1VTQl9PSENJX0JJR19FTkRJQU5fREVTQyBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfT0hDSV9CSUdfRU5ESUFOX01NSU8gaXMgbm90IHNldAorQ09ORklHX1VTQl9PSENJX0xJVFRMRV9FTkRJQU49eQorIyBDT05GSUdfVVNCX1NMODExX0hDRCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfUjhBNjY1OTdfSENEIGlzIG5vdCBzZXQKKworIworIyBVU0IgRGV2aWNlIENsYXNzIGRyaXZlcnMKKyMKK0NPTkZJR19VU0JfQUNNPW0KK0NPTkZJR19VU0JfUFJJTlRFUj1tCitDT05GSUdfVVNCX1dETT1tCisKKyMKKyMgTk9URTogVVNCX1NUT1JBR0UgZW5hYmxlcyBTQ1NJLCBhbmQgJ1NDU0kgZGlzayBzdXBwb3J0JworIworCisjCisjIG1heSBhbHNvIGJlIG5lZWRlZDsgc2VlIFVTQl9TVE9SQUdFIEhlbHAgZm9yIG1vcmUgaW5mb3JtYXRpb24KKyMKK0NPTkZJR19VU0JfU1RPUkFHRT1tCisjIENPTkZJR19VU0JfU1RPUkFHRV9ERUJVRyBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU1RPUkFHRV9EQVRBRkFCIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TVE9SQUdFX0ZSRUVDT00gaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NUT1JBR0VfSVNEMjAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TVE9SQUdFX0RQQ00gaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NUT1JBR0VfVVNCQVQgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NUT1JBR0VfU0REUjA5IGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TVE9SQUdFX1NERFI1NSBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU1RPUkFHRV9KVU1QU0hPVCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU1RPUkFHRV9BTEFVREEgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NUT1JBR0VfT05FVE9VQ0ggaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NUT1JBR0VfS0FSTUEgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NUT1JBR0VfQ1lQUkVTU19BVEFDQiBpcyBub3Qgc2V0CitDT05GSUdfVVNCX0xJQlVTVUFMPXkKIAogIwogIyBVU0IgSW1hZ2luZyBkZXZpY2VzCiAjCiAjIENPTkZJR19VU0JfTURDODAwIGlzIG5vdCBzZXQKLQotIwotIyBVU0IgTmV0d29yayBBZGFwdGVycwotIwotIyBDT05GSUdfVVNCX0NBVEMgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX0tBV0VUSCBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfUEVHQVNVUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfUlRMODE1MCBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfVVNCTkVUX01JSSBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfVVNCTkVUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9NSUNST1RFSyBpcyBub3Qgc2V0CiBDT05GSUdfVVNCX01PTj15CiAKICMKICMgVVNCIHBvcnQgZHJpdmVycwogIwogIyBDT05GSUdfVVNCX1VTUzcyMCBpcyBub3Qgc2V0Ci0KLSMKLSMgVVNCIFNlcmlhbCBDb252ZXJ0ZXIgc3VwcG9ydAotIwotIyBDT05GSUdfVVNCX1NFUklBTCBpcyBub3Qgc2V0CitDT05GSUdfVVNCX1NFUklBTD15CisjIENPTkZJR19VU0JfU0VSSUFMX0NPTlNPTEUgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0VaVVNCIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfU0VSSUFMX0dFTkVSSUM9eQorIyBDT05GSUdfVVNCX1NFUklBTF9BSVJDQUJMRSBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU0VSSUFMX0FJUlBSSU1FIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TRVJJQUxfQVJLMzExNiBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU0VSSUFMX0JFTEtJTiBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU0VSSUFMX0NIMzQxIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TRVJJQUxfV0hJVEVIRUFUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TRVJJQUxfRElHSV9BQ0NFTEVQT1JUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TRVJJQUxfQ1AyMTAxIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TRVJJQUxfQ1lQUkVTU19NOCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU0VSSUFMX0VNUEVHIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfU0VSSUFMX0ZURElfU0lPPXkKKyMgQ09ORklHX1VTQl9TRVJJQUxfRlVOU09GVCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU0VSSUFMX1ZJU09SIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TRVJJQUxfSVBBUSBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU0VSSUFMX0lSIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TRVJJQUxfRURHRVBPUlQgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NFUklBTF9FREdFUE9SVF9USSBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU0VSSUFMX0dBUk1JTiBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU0VSSUFMX0lQVyBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU0VSSUFMX0lVVSBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU0VSSUFMX0tFWVNQQU5fUERBIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TRVJJQUxfS0VZU1BBTiBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU0VSSUFMX0tMU0kgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NFUklBTF9LT0JJTF9TQ1QgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NFUklBTF9NQ1RfVTIzMiBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU0VSSUFMX01PUzc3MjAgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NFUklBTF9NT1M3ODQwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TRVJJQUxfTU9UT1JPTEEgaXMgbm90IHNldAorQ09ORklHX1VTQl9TRVJJQUxfTkFWTUFOPW0KK0NPTkZJR19VU0JfU0VSSUFMX1BMMjMwMz15CisjIENPTkZJR19VU0JfU0VSSUFMX09USTY4NTggaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NFUklBTF9TUENQOFg1IGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TRVJJQUxfSFA0WCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU0VSSUFMX1NBRkUgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NFUklBTF9TSUVSUkFXSVJFTEVTUyBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU0VSSUFMX1RJIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TRVJJQUxfQ1lCRVJKQUNLIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TRVJJQUxfWElSQ09NIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfU0VSSUFMX09QVElPTj1tCisjIENPTkZJR19VU0JfU0VSSUFMX09NTklORVQgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NFUklBTF9ERUJVRyBpcyBub3Qgc2V0CiAKICMKICMgVVNCIE1pc2NlbGxhbmVvdXMgZHJpdmVycwpAQCAtMTExNiwzNSArMTI3MywzOCBAQAogIyBDT05GSUdfVVNCX0xFR09UT1dFUiBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfTENEIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9CRVJSWV9DSEFSR0UgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX0xFRCBpcyBub3Qgc2V0CitDT05GSUdfVVNCX0xFRD1tCiAjIENPTkZJR19VU0JfQ1lQUkVTU19DWTdDNjMgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX0NZVEhFUk0gaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1BISURHRVQgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX0lETU9VU0UgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX0ZURElfRUxBTiBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfQVBQTEVESVNQTEFZIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9MRCBpcyBub3Qgc2V0CitDT05GSUdfVVNCX0xEPW0KICMgQ09ORklHX1VTQl9UUkFOQ0VWSUJSQVRPUiBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfSU9XQVJSSU9SIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9URVNUIGlzIG5vdCBzZXQKLQotIwotIyBVU0IgRFNMIG1vZGVtIHN1cHBvcnQKLSMKLQotIwotIyBVU0IgR2FkZ2V0IFN1cHBvcnQKLSMKKyMgQ09ORklHX1VTQl9JU0lHSFRGVyBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfR0FER0VUIGlzIG5vdCBzZXQKLQotIwotIyBNTUMvU0QgQ2FyZCBzdXBwb3J0Ci0jCiAjIENPTkZJR19NTUMgaXMgbm90IHNldAorQ09ORklHX05FV19MRURTPXkKK0NPTkZJR19MRURTX0NMQVNTPW0KIAogIwotIyBSZWFsIFRpbWUgQ2xvY2sKKyMgTEVEIGRyaXZlcnMKICMKK0NPTkZJR19MRURTX1MzQzI0WFg9bQorQ09ORklHX0xFRFNfSDE5NDA9bQorIyBDT05GSUdfTEVEU19HUElPIGlzIG5vdCBzZXQKKworIworIyBMRUQgVHJpZ2dlcnMKKyMKK0NPTkZJR19MRURTX1RSSUdHRVJTPXkKK0NPTkZJR19MRURTX1RSSUdHRVJfVElNRVI9bQorIyBDT05GSUdfTEVEU19UUklHR0VSX0lERV9ESVNLIGlzIG5vdCBzZXQKK0NPTkZJR19MRURTX1RSSUdHRVJfSEVBUlRCRUFUPW0KKyMgQ09ORklHX0xFRFNfVFJJR0dFUl9ERUZBVUxUX09OIGlzIG5vdCBzZXQKIENPTkZJR19SVENfTElCPXkKIENPTkZJR19SVENfQ0xBU1M9eQogQ09ORklHX1JUQ19IQ1RPU1lTPXkKQEAgLTExNTgsNjEgKzEzMTgsODYgQEAKIENPTkZJR19SVENfSU5URl9QUk9DPXkKIENPTkZJR19SVENfSU5URl9ERVY9eQogIyBDT05GSUdfUlRDX0lOVEZfREVWX1VJRV9FTVVMIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfVEVTVCBpcyBub3Qgc2V0CiAKICMKLSMgUlRDIGRyaXZlcnMKKyMgSTJDIFJUQyBkcml2ZXJzCisjCisjIENPTkZJR19SVENfRFJWX0RTMTMwNyBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX0RTMTM3NCBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX0RTMTY3MiBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX01BWDY5MDAgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9SUzVDMzcyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfSVNMMTIwOCBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1gxMjA1IGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfUENGODU2MyBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1BDRjg1ODMgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9NNDFUODAgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9TMzUzOTBBIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfRk0zMTMwIGlzIG5vdCBzZXQKKworIworIyBTUEkgUlRDIGRyaXZlcnMKKyMKKyMgQ09ORklHX1JUQ19EUlZfTUFYNjkwMiBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1I5NzAxIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfUlM1QzM0OCBpcyBub3Qgc2V0CisKKyMKKyMgUGxhdGZvcm0gUlRDIGRyaXZlcnMKICMKICMgQ09ORklHX1JUQ19EUlZfQ01PUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19SVENfRFJWX1gxMjA1IGlzIG5vdCBzZXQKLSMgQ09ORklHX1JUQ19EUlZfRFMxMzA3IGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfRFMxNTExIGlzIG5vdCBzZXQKICMgQ09ORklHX1JUQ19EUlZfRFMxNTUzIGlzIG5vdCBzZXQKLSMgQ09ORklHX1JUQ19EUlZfSVNMMTIwOCBpcyBub3Qgc2V0Ci0jIENPTkZJR19SVENfRFJWX0RTMTY3MiBpcyBub3Qgc2V0CiAjIENPTkZJR19SVENfRFJWX0RTMTc0MiBpcyBub3Qgc2V0Ci0jIENPTkZJR19SVENfRFJWX1BDRjg1NjMgaXMgbm90IHNldAotIyBDT05GSUdfUlRDX0RSVl9SUzVDMzQ4IGlzIG5vdCBzZXQKLSMgQ09ORklHX1JUQ19EUlZfUlM1QzM3MiBpcyBub3Qgc2V0Ci1DT05GSUdfUlRDX0RSVl9TM0M9eQorIyBDT05GSUdfUlRDX0RSVl9TVEsxN1RBOCBpcyBub3Qgc2V0CiAjIENPTkZJR19SVENfRFJWX000OFQ4NiBpcyBub3Qgc2V0Ci0jIENPTkZJR19SVENfRFJWX1RFU1QgaXMgbm90IHNldAotIyBDT05GSUdfUlRDX0RSVl9NQVg2OTAyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfTTQ4VDU5IGlzIG5vdCBzZXQKICMgQ09ORklHX1JUQ19EUlZfVjMwMjAgaXMgbm90IHNldAogCiAjCisjIG9uLUNQVSBSVEMgZHJpdmVycworIworQ09ORklHX1JUQ19EUlZfUzNDPXkKKyMgQ09ORklHX1VJTyBpcyBub3Qgc2V0CisKKyMKICMgRmlsZSBzeXN0ZW1zCiAjCiBDT05GSUdfRVhUMl9GUz15Ci0jIENPTkZJR19FWFQyX0ZTX1hBVFRSIGlzIG5vdCBzZXQKK0NPTkZJR19FWFQyX0ZTX1hBVFRSPXkKK0NPTkZJR19FWFQyX0ZTX1BPU0lYX0FDTD15CitDT05GSUdfRVhUMl9GU19TRUNVUklUWT15CiAjIENPTkZJR19FWFQyX0ZTX1hJUCBpcyBub3Qgc2V0CiBDT05GSUdfRVhUM19GUz15CiBDT05GSUdfRVhUM19GU19YQVRUUj15Ci0jIENPTkZJR19FWFQzX0ZTX1BPU0lYX0FDTCBpcyBub3Qgc2V0CitDT05GSUdfRVhUM19GU19QT1NJWF9BQ0w9eQogIyBDT05GSUdfRVhUM19GU19TRUNVUklUWSBpcyBub3Qgc2V0CiAjIENPTkZJR19FWFQ0REVWX0ZTIGlzIG5vdCBzZXQKIENPTkZJR19KQkQ9eQotIyBDT05GSUdfSkJEX0RFQlVHIGlzIG5vdCBzZXQKIENPTkZJR19GU19NQkNBQ0hFPXkKICMgQ09ORklHX1JFSVNFUkZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0pGU19GUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19GU19QT1NJWF9BQ0wgaXMgbm90IHNldAorQ09ORklHX0ZTX1BPU0lYX0FDTD15CiAjIENPTkZJR19YRlNfRlMgaXMgbm90IHNldAotIyBDT05GSUdfR0ZTMl9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19PQ0ZTMl9GUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19NSU5JWF9GUyBpcyBub3Qgc2V0Ci1DT05GSUdfUk9NRlNfRlM9eQorQ09ORklHX0ROT1RJRlk9eQogQ09ORklHX0lOT1RJRlk9eQogQ09ORklHX0lOT1RJRllfVVNFUj15CiAjIENPTkZJR19RVU9UQSBpcyBub3Qgc2V0Ci1DT05GSUdfRE5PVElGWT15CiAjIENPTkZJR19BVVRPRlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfQVVUT0ZTNF9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19GVVNFX0ZTIGlzIG5vdCBzZXQKK0NPTkZJR19HRU5FUklDX0FDTD15CiAKICMKICMgQ0QtUk9NL0RWRCBGaWxlc3lzdGVtcwogIwotIyBDT05GSUdfSVNPOTY2MF9GUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19VREZfRlMgaXMgbm90IHNldAorQ09ORklHX0lTTzk2NjBfRlM9eQorQ09ORklHX0pPTElFVD15CisjIENPTkZJR19aSVNPRlMgaXMgbm90IHNldAorQ09ORklHX1VERl9GUz1tCitDT05GSUdfVURGX05MUz15CiAKICMKICMgRE9TL0ZBVC9OVCBGaWxlc3lzdGVtcwpAQCAtMTIyMiw3ICsxNDA3LDkgQEAKIENPTkZJR19WRkFUX0ZTPXkKIENPTkZJR19GQVRfREVGQVVMVF9DT0RFUEFHRT00MzcKIENPTkZJR19GQVRfREVGQVVMVF9JT0NIQVJTRVQ9Imlzbzg4NTktMSIKLSMgQ09ORklHX05URlNfRlMgaXMgbm90IHNldAorQ09ORklHX05URlNfRlM9bQorIyBDT05GSUdfTlRGU19ERUJVRyBpcyBub3Qgc2V0CisjIENPTkZJR19OVEZTX1JXIGlzIG5vdCBzZXQKIAogIwogIyBQc2V1ZG8gZmlsZXN5c3RlbXMKQEAgLTEyMzAsMTAgKzE0MTcsMTAgQEAKIENPTkZJR19QUk9DX0ZTPXkKIENPTkZJR19QUk9DX1NZU0NUTD15CiBDT05GSUdfU1lTRlM9eQotIyBDT05GSUdfVE1QRlMgaXMgbm90IHNldAorQ09ORklHX1RNUEZTPXkKK0NPTkZJR19UTVBGU19QT1NJWF9BQ0w9eQogIyBDT05GSUdfSFVHRVRMQl9QQUdFIGlzIG5vdCBzZXQKLUNPTkZJR19SQU1GUz15Ci0jIENPTkZJR19DT05GSUdGU19GUyBpcyBub3Qgc2V0CitDT05GSUdfQ09ORklHRlNfRlM9bQogCiAjCiAjIE1pc2NlbGxhbmVvdXMgZmlsZXN5c3RlbXMKQEAgLTEyNDgsMzEgKzE0MzUsMzIgQEAKIENPTkZJR19KRkZTMl9GUz15CiBDT05GSUdfSkZGUzJfRlNfREVCVUc9MAogQ09ORklHX0pGRlMyX0ZTX1dSSVRFQlVGRkVSPXkKLSMgQ09ORklHX0pGRlMyX1NVTU1BUlkgaXMgbm90IHNldAorIyBDT05GSUdfSkZGUzJfRlNfV0JVRl9WRVJJRlkgaXMgbm90IHNldAorQ09ORklHX0pGRlMyX1NVTU1BUlk9eQogIyBDT05GSUdfSkZGUzJfRlNfWEFUVFIgaXMgbm90IHNldAogIyBDT05GSUdfSkZGUzJfQ09NUFJFU1NJT05fT1BUSU9OUyBpcyBub3Qgc2V0CiBDT05GSUdfSkZGUzJfWkxJQj15CisjIENPTkZJR19KRkZTMl9MWk8gaXMgbm90IHNldAogQ09ORklHX0pGRlMyX1JUSU1FPXkKICMgQ09ORklHX0pGRlMyX1JVQklOIGlzIG5vdCBzZXQKIENPTkZJR19DUkFNRlM9eQogIyBDT05GSUdfVlhGU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19NSU5JWF9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19IUEZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX1FOWDRGU19GUyBpcyBub3Qgc2V0CitDT05GSUdfUk9NRlNfRlM9eQogIyBDT05GSUdfU1lTVl9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19VRlNfRlMgaXMgbm90IHNldAotCi0jCi0jIE5ldHdvcmsgRmlsZSBTeXN0ZW1zCi0jCitDT05GSUdfTkVUV09SS19GSUxFU1lTVEVNUz15CiBDT05GSUdfTkZTX0ZTPXkKICMgQ09ORklHX05GU19WMyBpcyBub3Qgc2V0CiAjIENPTkZJR19ORlNfVjQgaXMgbm90IHNldAotIyBDT05GSUdfTkZTX0RJUkVDVElPIGlzIG5vdCBzZXQKICMgQ09ORklHX05GU0QgaXMgbm90IHNldAogQ09ORklHX1JPT1RfTkZTPXkKIENPTkZJR19MT0NLRD15CiBDT05GSUdfTkZTX0NPTU1PTj15CiBDT05GSUdfU1VOUlBDPXkKKyMgQ09ORklHX1NVTlJQQ19CSU5EMzQgaXMgbm90IHNldAogIyBDT05GSUdfUlBDU0VDX0dTU19LUkI1IGlzIG5vdCBzZXQKICMgQ09ORklHX1JQQ1NFQ19HU1NfU1BLTTMgaXMgbm90IHNldAogIyBDT05GSUdfU01CX0ZTIGlzIG5vdCBzZXQKQEAgLTEyODAsNyArMTQ2OCw2IEBACiAjIENPTkZJR19OQ1BfRlMgaXMgbm90IHNldAogIyBDT05GSUdfQ09EQV9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19BRlNfRlMgaXMgbm90IHNldAotIyBDT05GSUdfOVBfRlMgaXMgbm90IHNldAogCiAjCiAjIFBhcnRpdGlvbiBUeXBlcwpAQCAtMTMwMiw5NCArMTQ4OSw5MyBAQAogIyBDT05GSUdfU1VOX1BBUlRJVElPTiBpcyBub3Qgc2V0CiAjIENPTkZJR19LQVJNQV9QQVJUSVRJT04gaXMgbm90IHNldAogIyBDT05GSUdfRUZJX1BBUlRJVElPTiBpcyBub3Qgc2V0Ci0KLSMKLSMgTmF0aXZlIExhbmd1YWdlIFN1cHBvcnQKLSMKKyMgQ09ORklHX1NZU1Y2OF9QQVJUSVRJT04gaXMgbm90IHNldAogQ09ORklHX05MUz15CiBDT05GSUdfTkxTX0RFRkFVTFQ9Imlzbzg4NTktMSIKLSMgQ09ORklHX05MU19DT0RFUEFHRV80MzcgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0NPREVQQUdFXzczNyBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfQ09ERVBBR0VfNzc1IGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19DT0RFUEFHRV84NTAgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0NPREVQQUdFXzg1MiBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfQ09ERVBBR0VfODU1IGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19DT0RFUEFHRV84NTcgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0NPREVQQUdFXzg2MCBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfQ09ERVBBR0VfODYxIGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19DT0RFUEFHRV84NjIgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0NPREVQQUdFXzg2MyBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfQ09ERVBBR0VfODY0IGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19DT0RFUEFHRV84NjUgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0NPREVQQUdFXzg2NiBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfQ09ERVBBR0VfODY5IGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19DT0RFUEFHRV85MzYgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0NPREVQQUdFXzk1MCBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfQ09ERVBBR0VfOTMyIGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19DT0RFUEFHRV85NDkgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0NPREVQQUdFXzg3NCBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfSVNPODg1OV84IGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19DT0RFUEFHRV8xMjUwIGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19DT0RFUEFHRV8xMjUxIGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19BU0NJSSBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfSVNPODg1OV8xIGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19JU084ODU5XzIgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0lTTzg4NTlfMyBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfSVNPODg1OV80IGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19JU084ODU5XzUgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0lTTzg4NTlfNiBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfSVNPODg1OV83IGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19JU084ODU5XzkgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0lTTzg4NTlfMTMgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0lTTzg4NTlfMTQgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0lTTzg4NTlfMTUgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0tPSThfUiBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfS09JOF9VIGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19VVEY4IGlzIG5vdCBzZXQKLQotIwotIyBEaXN0cmlidXRlZCBMb2NrIE1hbmFnZXIKLSMKK0NPTkZJR19OTFNfQ09ERVBBR0VfNDM3PXkKK0NPTkZJR19OTFNfQ09ERVBBR0VfNzM3PW0KK0NPTkZJR19OTFNfQ09ERVBBR0VfNzc1PW0KK0NPTkZJR19OTFNfQ09ERVBBR0VfODUwPXkKK0NPTkZJR19OTFNfQ09ERVBBR0VfODUyPW0KK0NPTkZJR19OTFNfQ09ERVBBR0VfODU1PW0KK0NPTkZJR19OTFNfQ09ERVBBR0VfODU3PW0KK0NPTkZJR19OTFNfQ09ERVBBR0VfODYwPW0KK0NPTkZJR19OTFNfQ09ERVBBR0VfODYxPW0KK0NPTkZJR19OTFNfQ09ERVBBR0VfODYyPW0KK0NPTkZJR19OTFNfQ09ERVBBR0VfODYzPW0KK0NPTkZJR19OTFNfQ09ERVBBR0VfODY0PW0KK0NPTkZJR19OTFNfQ09ERVBBR0VfODY1PW0KK0NPTkZJR19OTFNfQ09ERVBBR0VfODY2PW0KK0NPTkZJR19OTFNfQ09ERVBBR0VfODY5PW0KK0NPTkZJR19OTFNfQ09ERVBBR0VfOTM2PW0KK0NPTkZJR19OTFNfQ09ERVBBR0VfOTUwPW0KK0NPTkZJR19OTFNfQ09ERVBBR0VfOTMyPW0KK0NPTkZJR19OTFNfQ09ERVBBR0VfOTQ5PW0KK0NPTkZJR19OTFNfQ09ERVBBR0VfODc0PW0KK0NPTkZJR19OTFNfSVNPODg1OV84PW0KK0NPTkZJR19OTFNfQ09ERVBBR0VfMTI1MD1tCitDT05GSUdfTkxTX0NPREVQQUdFXzEyNTE9bQorQ09ORklHX05MU19BU0NJST15CitDT05GSUdfTkxTX0lTTzg4NTlfMT15CitDT05GSUdfTkxTX0lTTzg4NTlfMj1tCitDT05GSUdfTkxTX0lTTzg4NTlfMz1tCitDT05GSUdfTkxTX0lTTzg4NTlfND1tCitDT05GSUdfTkxTX0lTTzg4NTlfNT1tCitDT05GSUdfTkxTX0lTTzg4NTlfNj1tCitDT05GSUdfTkxTX0lTTzg4NTlfNz1tCitDT05GSUdfTkxTX0lTTzg4NTlfOT1tCitDT05GSUdfTkxTX0lTTzg4NTlfMTM9bQorQ09ORklHX05MU19JU084ODU5XzE0PW0KK0NPTkZJR19OTFNfSVNPODg1OV8xNT1tCitDT05GSUdfTkxTX0tPSThfUj1tCitDT05GSUdfTkxTX0tPSThfVT1tCitDT05GSUdfTkxTX1VURjg9bQogIyBDT05GSUdfRExNIGlzIG5vdCBzZXQKIAogIwotIyBQcm9maWxpbmcgc3VwcG9ydAotIwotIyBDT05GSUdfUFJPRklMSU5HIGlzIG5vdCBzZXQKLQotIwogIyBLZXJuZWwgaGFja2luZwogIwogIyBDT05GSUdfUFJJTlRLX1RJTUUgaXMgbm90IHNldAorQ09ORklHX0VOQUJMRV9XQVJOX0RFUFJFQ0FURUQ9eQogQ09ORklHX0VOQUJMRV9NVVNUX0NIRUNLPXkKK0NPTkZJR19GUkFNRV9XQVJOPTEwMjQKIENPTkZJR19NQUdJQ19TWVNSUT15CiAjIENPTkZJR19VTlVTRURfU1lNQk9MUyBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19IRUFERVJTX0NIRUNLIGlzIG5vdCBzZXQKIENPTkZJR19ERUJVR19LRVJORUw9eQogIyBDT05GSUdfREVCVUdfU0hJUlEgaXMgbm90IHNldAotQ09ORklHX0xPR19CVUZfU0hJRlQ9MTYKIENPTkZJR19ERVRFQ1RfU09GVExPQ0tVUD15CitDT05GSUdfU0NIRURfREVCVUc9eQogIyBDT05GSUdfU0NIRURTVEFUUyBpcyBub3Qgc2V0CiAjIENPTkZJR19USU1FUl9TVEFUUyBpcyBub3Qgc2V0CisjIENPTkZJR19ERUJVR19PQkpFQ1RTIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX1NMQUIgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfUlRfTVVURVhFUyBpcyBub3Qgc2V0CiAjIENPTkZJR19SVF9NVVRFWF9URVNURVIgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfU1BJTkxPQ0sgaXMgbm90IHNldAogQ09ORklHX0RFQlVHX01VVEVYRVM9eQorIyBDT05GSUdfREVCVUdfTE9DS19BTExPQyBpcyBub3Qgc2V0CisjIENPTkZJR19QUk9WRV9MT0NLSU5HIGlzIG5vdCBzZXQKKyMgQ09ORklHX0xPQ0tfU1RBVCBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19TUElOTE9DS19TTEVFUCBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19MT0NLSU5HX0FQSV9TRUxGVEVTVFMgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfS09CSkVDVCBpcyBub3Qgc2V0CiBDT05GSUdfREVCVUdfQlVHVkVSQk9TRT15CiBDT05GSUdfREVCVUdfSU5GTz15CiAjIENPTkZJR19ERUJVR19WTSBpcyBub3Qgc2V0CisjIENPTkZJR19ERUJVR19XUklURUNPVU5UIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX0xJU1QgaXMgbm90IHNldAorIyBDT05GSUdfREVCVUdfU0cgaXMgbm90IHNldAogQ09ORklHX0ZSQU1FX1BPSU5URVI9eQotQ09ORklHX0ZPUkNFRF9JTkxJTklORz15CisjIENPTkZJR19CT09UX1BSSU5US19ERUxBWSBpcyBub3Qgc2V0CiAjIENPTkZJR19SQ1VfVE9SVFVSRV9URVNUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JBQ0tUUkFDRV9TRUxGX1RFU1QgaXMgbm90IHNldAogIyBDT05GSUdfRkFVTFRfSU5KRUNUSU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NBTVBMRVMgaXMgbm90IHNldAogQ09ORklHX0RFQlVHX1VTRVI9eQotIyBDT05GSUdfREVCVUdfRVJST1JTIGlzIG5vdCBzZXQKK0NPTkZJR19ERUJVR19FUlJPUlM9eQorIyBDT05GSUdfREVCVUdfU1RBQ0tfVVNBR0UgaXMgbm90IHNldAogQ09ORklHX0RFQlVHX0xMPXkKICMgQ09ORklHX0RFQlVHX0lDRURDQyBpcyBub3Qgc2V0CiBDT05GSUdfREVCVUdfUzNDX1BPUlQ9eQpAQCAtMTQwMCwyMSArMTU4NiwxMDAgQEAKICMKICMgQ09ORklHX0tFWVMgaXMgbm90IHNldAogIyBDT05GSUdfU0VDVVJJVFkgaXMgbm90IHNldAorIyBDT05GSUdfU0VDVVJJVFlfRklMRV9DQVBBQklMSVRJRVMgaXMgbm90IHNldAorQ09ORklHX0NSWVBUTz15CiAKICMKLSMgQ3J5cHRvZ3JhcGhpYyBvcHRpb25zCisjIENyeXB0byBjb3JlIG9yIGhlbHBlcgogIwotIyBDT05GSUdfQ1JZUFRPIGlzIG5vdCBzZXQKK0NPTkZJR19DUllQVE9fQUxHQVBJPW0KK0NPTkZJR19DUllQVE9fQUVBRD1tCitDT05GSUdfQ1JZUFRPX0JMS0NJUEhFUj1tCitDT05GSUdfQ1JZUFRPX0hBU0g9bQorQ09ORklHX0NSWVBUT19NQU5BR0VSPW0KKyMgQ09ORklHX0NSWVBUT19HRjEyOE1VTCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fTlVMTCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQ1JZUFREIGlzIG5vdCBzZXQKK0NPTkZJR19DUllQVE9fQVVUSEVOQz1tCisjIENPTkZJR19DUllQVE9fVEVTVCBpcyBub3Qgc2V0CisKKyMKKyMgQXV0aGVudGljYXRlZCBFbmNyeXB0aW9uIHdpdGggQXNzb2NpYXRlZCBEYXRhCisjCisjIENPTkZJR19DUllQVE9fQ0NNIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19HQ00gaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1NFUUlWIGlzIG5vdCBzZXQKKworIworIyBCbG9jayBtb2RlcworIworQ09ORklHX0NSWVBUT19DQkM9bQorIyBDT05GSUdfQ1JZUFRPX0NUUiBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQ1RTIGlzIG5vdCBzZXQKK0NPTkZJR19DUllQVE9fRUNCPW0KKyMgQ09ORklHX0NSWVBUT19MUlcgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1BDQkMgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1hUUyBpcyBub3Qgc2V0CisKKyMKKyMgSGFzaCBtb2RlcworIworQ09ORklHX0NSWVBUT19ITUFDPW0KKyMgQ09ORklHX0NSWVBUT19YQ0JDIGlzIG5vdCBzZXQKKworIworIyBEaWdlc3QKKyMKKyMgQ09ORklHX0NSWVBUT19DUkMzMkMgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX01ENCBpcyBub3Qgc2V0CitDT05GSUdfQ1JZUFRPX01ENT1tCisjIENPTkZJR19DUllQVE9fTUlDSEFFTF9NSUMgaXMgbm90IHNldAorQ09ORklHX0NSWVBUT19TSEExPW0KKyMgQ09ORklHX0NSWVBUT19TSEEyNTYgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1NIQTUxMiBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fVEdSMTkyIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19XUDUxMiBpcyBub3Qgc2V0CisKKyMKKyMgQ2lwaGVycworIworQ09ORklHX0NSWVBUT19BRVM9bQorIyBDT05GSUdfQ1JZUFRPX0FOVUJJUyBpcyBub3Qgc2V0CitDT05GSUdfQ1JZUFRPX0FSQzQ9bQorIyBDT05GSUdfQ1JZUFRPX0JMT1dGSVNIIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19DQU1FTExJQSBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQ0FTVDUgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0NBU1Q2IGlzIG5vdCBzZXQKK0NPTkZJR19DUllQVE9fREVTPW0KKyMgQ09ORklHX0NSWVBUT19GQ1JZUFQgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0tIQVpBRCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fU0FMU0EyMCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fU0VFRCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fU0VSUEVOVCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fVEVBIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19UV09GSVNIIGlzIG5vdCBzZXQKKworIworIyBDb21wcmVzc2lvbgorIworQ09ORklHX0NSWVBUT19ERUZMQVRFPW0KKyMgQ09ORklHX0NSWVBUT19MWk8gaXMgbm90IHNldAorQ09ORklHX0NSWVBUT19IVz15CiAKICMKICMgTGlicmFyeSByb3V0aW5lcwogIwogQ09ORklHX0JJVFJFVkVSU0U9eQorIyBDT05GSUdfR0VORVJJQ19GSU5EX0ZJUlNUX0JJVCBpcyBub3Qgc2V0CisjIENPTkZJR19HRU5FUklDX0ZJTkRfTkVYVF9CSVQgaXMgbm90IHNldAogIyBDT05GSUdfQ1JDX0NDSVRUIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSQzE2IGlzIG5vdCBzZXQKK0NPTkZJR19DUkNfSVRVX1Q9bQogQ09ORklHX0NSQzMyPXkKKyMgQ09ORklHX0NSQzcgaXMgbm90IHNldAogIyBDT05GSUdfTElCQ1JDMzJDIGlzIG5vdCBzZXQKIENPTkZJR19aTElCX0lORkxBVEU9eQogQ09ORklHX1pMSUJfREVGTEFURT15CiBDT05GSUdfUExJU1Q9eQogQ09ORklHX0hBU19JT01FTT15CitDT05GSUdfSEFTX0RNQT15CmRpZmYgLS1naXQgYS9hcmNoL2FybS9jb25maWdzL3NhbTlfbDkyNjBfZGVmY29uZmlnIGIvYXJjaC9hcm0vY29uZmlncy9zYW05X2w5MjYwX2RlZmNvbmZpZwppbmRleCA0ODRkYzk3Li44Njg4MzYyIDEwMDY0NAotLS0gYS9hcmNoL2FybS9jb25maWdzL3NhbTlfbDkyNjBfZGVmY29uZmlnCisrKyBiL2FyY2gvYXJtL2NvbmZpZ3Mvc2FtOV9sOTI2MF9kZWZjb25maWcKQEAgLTIxMSw3ICsyMTEsNiBAQAogIwogIyBDT05GSUdfVElDS19PTkVTSE9UIGlzIG5vdCBzZXQKIENPTkZJR19QUkVFTVBUPXkKLSMgQ09ORklHX05PX0lETEVfSFogaXMgbm90IHNldAogQ09ORklHX0haPTEwMAogIyBDT05GSUdfQUVBQkkgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9ESVNDT05USUdNRU1fRU5BQkxFIGlzIG5vdCBzZXQKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2NvbmZpZ3Mvc3BpdHpfZGVmY29uZmlnIGIvYXJjaC9hcm0vY29uZmlncy9zcGl0el9kZWZjb25maWcKaW5kZXggYWE3YTAxMS4uN2Q1OWZiMSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vY29uZmlncy9zcGl0el9kZWZjb25maWcKKysrIGIvYXJjaC9hcm0vY29uZmlncy9zcGl0el9kZWZjb25maWcKQEAgLTE2NCw3ICsxNjQsNiBAQAogIyBLZXJuZWwgRmVhdHVyZXMKICMKIENPTkZJR19QUkVFTVBUPXkKLSMgQ09ORklHX05PX0lETEVfSFogaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9ESVNDT05USUdNRU1fRU5BQkxFIGlzIG5vdCBzZXQKIENPTkZJR19TRUxFQ1RfTUVNT1JZX01PREVMPXkKIENPTkZJR19GTEFUTUVNX01BTlVBTD15CmRpZmYgLS1naXQgYS9hcmNoL2FybS9jb25maWdzL3RjdF9oYW1tZXJfZGVmY29uZmlnIGIvYXJjaC9hcm0vY29uZmlncy90Y3RfaGFtbWVyX2RlZmNvbmZpZwppbmRleCA1NzZiODMzLi4wN2RmYjk4IDEwMDY0NAotLS0gYS9hcmNoL2FybS9jb25maWdzL3RjdF9oYW1tZXJfZGVmY29uZmlnCisrKyBiL2FyY2gvYXJtL2NvbmZpZ3MvdGN0X2hhbW1lcl9kZWZjb25maWcKQEAgLTI0Nyw3ICsyNDcsNiBAQAogIwogIyBDT05GSUdfVElDS19PTkVTSE9UIGlzIG5vdCBzZXQKICMgQ09ORklHX1BSRUVNUFQgaXMgbm90IHNldAotIyBDT05GSUdfTk9fSURMRV9IWiBpcyBub3Qgc2V0CiBDT05GSUdfSFo9MjAwCiAjIENPTkZJR19BRUFCSSBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0RJU0NPTlRJR01FTV9FTkFCTEUgaXMgbm90IHNldApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vY29uZmlncy90cml6ZXBzNF9kZWZjb25maWcgYi9hcmNoL2FybS9jb25maWdzL3RyaXplcHM0X2RlZmNvbmZpZwppbmRleCA2ZGI2MzkyLi44YjdhNDMxIDEwMDY0NAotLS0gYS9hcmNoL2FybS9jb25maWdzL3RyaXplcHM0X2RlZmNvbmZpZworKysgYi9hcmNoL2FybS9jb25maWdzL3RyaXplcHM0X2RlZmNvbmZpZwpAQCAtMTk1LDcgKzE5NSw2IEBACiAjIEtlcm5lbCBGZWF0dXJlcwogIwogQ09ORklHX1BSRUVNUFQ9eQotIyBDT05GSUdfTk9fSURMRV9IWiBpcyBub3Qgc2V0CiBDT05GSUdfSFo9MTAwCiBDT05GSUdfQUVBQkk9eQogQ09ORklHX09BQklfQ09NUEFUPXkKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2NvbmZpZ3MvZW1feDI3MF9kZWZjb25maWcgYi9hcmNoL2FybS9jb25maWdzL3VzYi1hOTI2MF9kZWZjb25maWcKc2ltaWxhcml0eSBpbmRleCA3MCUKY29weSBmcm9tIGFyY2gvYXJtL2NvbmZpZ3MvZW1feDI3MF9kZWZjb25maWcKY29weSB0byBhcmNoL2FybS9jb25maWdzL3VzYi1hOTI2MF9kZWZjb25maWcKaW5kZXggNmJlYTA5MC4uMzY4MGJkMiAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vY29uZmlncy9lbV94MjcwX2RlZmNvbmZpZworKysgYi9hcmNoL2FybS9jb25maWdzL3VzYi1hOTI2MF9kZWZjb25maWcKQEAgLTEsMTMgKzEsMTMgQEAKICMKICMgQXV0b21hdGljYWxseSBnZW5lcmF0ZWQgbWFrZSBjb25maWc6IGRvbid0IGVkaXQKLSMgTGludXgga2VybmVsIHZlcnNpb246IDIuNi4yMgotIyBNb24gSnVsICA5IDE1OjE4OjIwIDIwMDcKKyMgTGludXgga2VybmVsIHZlcnNpb246IDIuNi4yNAorIyBUdWUgQXByIDE1IDExOjM5OjM1IDIwMDgKICMKIENPTkZJR19BUk09eQogQ09ORklHX1NZU19TVVBQT1JUU19BUE1fRU1VTEFUSU9OPXkKIENPTkZJR19HRU5FUklDX0dQSU89eQogQ09ORklHX0dFTkVSSUNfVElNRT15Ci0jIENPTkZJR19HRU5FUklDX0NMT0NLRVZFTlRTIGlzIG5vdCBzZXQKK0NPTkZJR19HRU5FUklDX0NMT0NLRVZFTlRTPXkKIENPTkZJR19NTVU9eQogIyBDT05GSUdfTk9fSU9QT1JUIGlzIG5vdCBzZXQKIENPTkZJR19HRU5FUklDX0hBUkRJUlFTPXkKQEAgLTIyLDQxICsyMiwzOCBAQAogQ09ORklHX0dFTkVSSUNfSFdFSUdIVD15CiBDT05GSUdfR0VORVJJQ19DQUxJQlJBVEVfREVMQVk9eQogQ09ORklHX1pPTkVfRE1BPXkKLUNPTkZJR19BUkNIX01URF9YSVA9eQogQ09ORklHX1ZFQ1RPUlNfQkFTRT0weGZmZmYwMDAwCiBDT05GSUdfREVGQ09ORklHX0xJU1Q9Ii9saWIvbW9kdWxlcy8kVU5BTUVfUkVMRUFTRS8uY29uZmlnIgogCiAjCi0jIENvZGUgbWF0dXJpdHkgbGV2ZWwgb3B0aW9ucworIyBHZW5lcmFsIHNldHVwCiAjCiBDT05GSUdfRVhQRVJJTUVOVEFMPXkKIENPTkZJR19CUk9LRU5fT05fU01QPXkKIENPTkZJR19JTklUX0VOVl9BUkdfTElNSVQ9MzIKLQotIwotIyBHZW5lcmFsIHNldHVwCi0jCi1DT05GSUdfTE9DQUxWRVJTSU9OPSItZW0teDI3MCIKK0NPTkZJR19MT0NBTFZFUlNJT049IiIKICMgQ09ORklHX0xPQ0FMVkVSU0lPTl9BVVRPIGlzIG5vdCBzZXQKLUNPTkZJR19TV0FQPXkKKyMgQ09ORklHX1NXQVAgaXMgbm90IHNldAogQ09ORklHX1NZU1ZJUEM9eQotIyBDT05GSUdfSVBDX05TIGlzIG5vdCBzZXQKIENPTkZJR19TWVNWSVBDX1NZU0NUTD15CiAjIENPTkZJR19QT1NJWF9NUVVFVUUgaXMgbm90IHNldAogIyBDT05GSUdfQlNEX1BST0NFU1NfQUNDVCBpcyBub3Qgc2V0CiAjIENPTkZJR19UQVNLU1RBVFMgaXMgbm90IHNldAotIyBDT05GSUdfVVRTX05TIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTRVJfTlMgaXMgbm90IHNldAorIyBDT05GSUdfUElEX05TIGlzIG5vdCBzZXQKICMgQ09ORklHX0FVRElUIGlzIG5vdCBzZXQKLUNPTkZJR19JS0NPTkZJRz15Ci1DT05GSUdfSUtDT05GSUdfUFJPQz15Ci1DT05GSUdfTE9HX0JVRl9TSElGVD0xNwotQ09ORklHX1NZU0ZTX0RFUFJFQ0FURUQ9eQorIyBDT05GSUdfSUtDT05GSUcgaXMgbm90IHNldAorQ09ORklHX0xPR19CVUZfU0hJRlQ9MTQKKyMgQ09ORklHX0NHUk9VUFMgaXMgbm90IHNldAorQ09ORklHX0ZBSVJfR1JPVVBfU0NIRUQ9eQorQ09ORklHX0ZBSVJfVVNFUl9TQ0hFRD15CisjIENPTkZJR19GQUlSX0NHUk9VUF9TQ0hFRCBpcyBub3Qgc2V0CisjIENPTkZJR19TWVNGU19ERVBSRUNBVEVEIGlzIG5vdCBzZXQKICMgQ09ORklHX1JFTEFZIGlzIG5vdCBzZXQKLUNPTkZJR19CTEtfREVWX0lOSVRSRD15Ci1DT05GSUdfSU5JVFJBTUZTX1NPVVJDRT0iIgotQ09ORklHX0NDX09QVElNSVpFX0ZPUl9TSVpFPXkKKyMgQ09ORklHX0JMS19ERVZfSU5JVFJEIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NDX09QVElNSVpFX0ZPUl9TSVpFIGlzIG5vdCBzZXQKIENPTkZJR19TWVNDVEw9eQotQ09ORklHX0VNQkVEREVEPXkKKyMgQ09ORklHX0VNQkVEREVEIGlzIG5vdCBzZXQKIENPTkZJR19VSUQxNj15CiBDT05GSUdfU1lTQ1RMX1NZU0NBTEw9eQogQ09ORklHX0tBTExTWU1TPXkKQEAgLTcxLDQyICs2OCwzNSBAQAogQ09ORklHX0FOT05fSU5PREVTPXkKIENPTkZJR19FUE9MTD15CiBDT05GSUdfU0lHTkFMRkQ9eQotQ09ORklHX1RJTUVSRkQ9eQogQ09ORklHX0VWRU5URkQ9eQogQ09ORklHX1NITUVNPXkKIENPTkZJR19WTV9FVkVOVF9DT1VOVEVSUz15CiBDT05GSUdfU0xBQj15CiAjIENPTkZJR19TTFVCIGlzIG5vdCBzZXQKICMgQ09ORklHX1NMT0IgaXMgbm90IHNldAorQ09ORklHX1NMQUJJTkZPPXkKIENPTkZJR19SVF9NVVRFWEVTPXkKICMgQ09ORklHX1RJTllfU0hNRU0gaXMgbm90IHNldAogQ09ORklHX0JBU0VfU01BTEw9MAotCi0jCi0jIExvYWRhYmxlIG1vZHVsZSBzdXBwb3J0Ci0jCiBDT05GSUdfTU9EVUxFUz15CiBDT05GSUdfTU9EVUxFX1VOTE9BRD15Ci1DT05GSUdfTU9EVUxFX0ZPUkNFX1VOTE9BRD15CisjIENPTkZJR19NT0RVTEVfRk9SQ0VfVU5MT0FEIGlzIG5vdCBzZXQKICMgQ09ORklHX01PRFZFUlNJT05TIGlzIG5vdCBzZXQKICMgQ09ORklHX01PRFVMRV9TUkNWRVJTSU9OX0FMTCBpcyBub3Qgc2V0CiBDT05GSUdfS01PRD15Ci0KLSMKLSMgQmxvY2sgbGF5ZXIKLSMKIENPTkZJR19CTE9DSz15CiAjIENPTkZJR19MQkQgaXMgbm90IHNldAogIyBDT05GSUdfQkxLX0RFVl9JT19UUkFDRSBpcyBub3Qgc2V0CiAjIENPTkZJR19MU0YgaXMgbm90IHNldAorIyBDT05GSUdfQkxLX0RFVl9CU0cgaXMgbm90IHNldAogCiAjCiAjIElPIFNjaGVkdWxlcnMKICMKIENPTkZJR19JT1NDSEVEX05PT1A9eQogQ09ORklHX0lPU0NIRURfQVM9eQotQ09ORklHX0lPU0NIRURfREVBRExJTkU9eQotQ09ORklHX0lPU0NIRURfQ0ZRPXkKKyMgQ09ORklHX0lPU0NIRURfREVBRExJTkUgaXMgbm90IHNldAorIyBDT05GSUdfSU9TQ0hFRF9DRlEgaXMgbm90IHNldAogQ09ORklHX0RFRkFVTFRfQVM9eQogIyBDT05GSUdfREVGQVVMVF9ERUFETElORSBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUZBVUxUX0NGUSBpcyBub3Qgc2V0CkBAIC0xMjAsNyArMTEwLDcgQEAKICMgQ09ORklHX0FSQ0hfSU5URUdSQVRPUiBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX1JFQUxWSUVXIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfVkVSU0FUSUxFIGlzIG5vdCBzZXQKLSMgQ09ORklHX0FSQ0hfQVQ5MSBpcyBub3Qgc2V0CitDT05GSUdfQVJDSF9BVDkxPXkKICMgQ09ORklHX0FSQ0hfQ0xQUzc1MDAgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9DTFBTNzExWCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0NPMjg1IGlzIG5vdCBzZXQKQEAgLTEzOSw4ICsxMjksOSBAQAogIyBDT05GSUdfQVJDSF9MNzIwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0tTODY5NSBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX05TOVhYWCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX01YQyBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX1BOWDQwMDggaXMgbm90IHNldAotQ09ORklHX0FSQ0hfUFhBPXkKKyMgQ09ORklHX0FSQ0hfUFhBIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfUlBDIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfU0ExMTAwIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfUzNDMjQxMCBpcyBub3Qgc2V0CkBAIC0xNTAsMjUgKzE0MSw2NiBAQAogIyBDT05GSUdfQVJDSF9PTUFQIGlzIG5vdCBzZXQKIAogIwotIyBJbnRlbCBQWEEyeHggSW1wbGVtZW50YXRpb25zCisjIEJvb3Qgb3B0aW9ucwogIwotIyBDT05GSUdfQVJDSF9MVUJCT0NLIGlzIG5vdCBzZXQKLSMgQ09ORklHX01BQ0hfTE9HSUNQRF9QWEEyNzAgaXMgbm90IHNldAotIyBDT05GSUdfTUFDSF9NQUlOU1RPTkUgaXMgbm90IHNldAotIyBDT05GSUdfQVJDSF9QWEFfSURQIGlzIG5vdCBzZXQKLSMgQ09ORklHX1BYQV9TSEFSUFNMIGlzIG5vdCBzZXQKLSMgQ09ORklHX01BQ0hfVFJJWkVQUzQgaXMgbm90IHNldAotQ09ORklHX01BQ0hfRU1fWDI3MD15Ci1DT05GSUdfUFhBMjd4PXkKKworIworIyBQb3dlciBtYW5hZ2VtZW50CisjCisKKyMKKyMgQXRtZWwgQVQ5MSBTeXN0ZW0tb24tQ2hpcAorIworIyBDT05GSUdfQVJDSF9BVDkxUk05MjAwIGlzIG5vdCBzZXQKK0NPTkZJR19BUkNIX0FUOTFTQU05MjYwPXkKKyMgQ09ORklHX0FSQ0hfQVQ5MVNBTTkyNjEgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9BVDkxU0FNOTI2MyBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0FUOTFTQU05UkwgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9BVDkxQ0FQOSBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0FUOTFYNDAgaXMgbm90IHNldAorQ09ORklHX0FUOTFfUE1DX1VOSVQ9eQorCisjCisjIEFUOTFTQU05MjYwIFZhcmlhbnRzCisjCisjIENPTkZJR19BUkNIX0FUOTFTQU05MjYwX1NBTTlYRSBpcyBub3Qgc2V0CisKKyMKKyMgQVQ5MVNBTTkyNjAgLyBBVDkxU0FNOVhFIEJvYXJkIFR5cGUKKyMKKyMgQ09ORklHX01BQ0hfQVQ5MVNBTTkyNjBFSyBpcyBub3Qgc2V0CisjIENPTkZJR19NQUNIX0NBTTYwIGlzIG5vdCBzZXQKKyMgQ09ORklHX01BQ0hfU0FNOV9MOTI2MCBpcyBub3Qgc2V0CitDT05GSUdfTUFDSF9VU0JfQTkyNjA9eQorIyBDT05GSUdfTUFDSF9RSUxfQTkyNjAgaXMgbm90IHNldAorCisjCisjIEFUOTEgQm9hcmQgT3B0aW9ucworIworCisjCisjIEFUOTEgRmVhdHVyZSBTZWxlY3Rpb25zCisjCisjIENPTkZJR19BVDkxX1BST0dSQU1NQUJMRV9DTE9DS1MgaXMgbm90IHNldAorQ09ORklHX0FUOTFfU0xPV19DTE9DSz15CitDT05GSUdfQVQ5MV9USU1FUl9IWj0xMDAKK0NPTkZJR19BVDkxX0VBUkxZX0RCR1U9eQorIyBDT05GSUdfQVQ5MV9FQVJMWV9VU0FSVDAgaXMgbm90IHNldAorIyBDT05GSUdfQVQ5MV9FQVJMWV9VU0FSVDEgaXMgbm90IHNldAorIyBDT05GSUdfQVQ5MV9FQVJMWV9VU0FSVDIgaXMgbm90IHNldAorIyBDT05GSUdfQVQ5MV9FQVJMWV9VU0FSVDMgaXMgbm90IHNldAorIyBDT05GSUdfQVQ5MV9FQVJMWV9VU0FSVDQgaXMgbm90IHNldAorIyBDT05GSUdfQVQ5MV9FQVJMWV9VU0FSVDUgaXMgbm90IHNldAogCiAjCiAjIFByb2Nlc3NvciBUeXBlCiAjCiBDT05GSUdfQ1BVXzMyPXkKLUNPTkZJR19DUFVfWFNDQUxFPXkKK0NPTkZJR19DUFVfQVJNOTI2VD15CiBDT05GSUdfQ1BVXzMydjU9eQotQ09ORklHX0NQVV9BQlJUX0VWNVQ9eQorQ09ORklHX0NQVV9BQlJUX0VWNVRKPXkKIENPTkZJR19DUFVfQ0FDSEVfVklWVD15CitDT05GSUdfQ1BVX0NPUFlfVjRXQj15CiBDT05GSUdfQ1BVX1RMQl9WNFdCST15CiBDT05GSUdfQ1BVX0NQMTU9eQogQ09ORklHX0NQVV9DUDE1X01NVT15CkBAIC0xNzYsMjggKzIwOCwyOCBAQAogIwogIyBQcm9jZXNzb3IgRmVhdHVyZXMKICMKLUNPTkZJR19BUk1fVEhVTUI9eQorIyBDT05GSUdfQVJNX1RIVU1CIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NQVV9JQ0FDSEVfRElTQUJMRSBpcyBub3Qgc2V0CiAjIENPTkZJR19DUFVfRENBQ0hFX0RJU0FCTEUgaXMgbm90IHNldAorIyBDT05GSUdfQ1BVX0RDQUNIRV9XUklURVRIUk9VR0ggaXMgbm90IHNldAorIyBDT05GSUdfQ1BVX0NBQ0hFX1JPVU5EX1JPQklOIGlzIG5vdCBzZXQKICMgQ09ORklHX09VVEVSX0NBQ0hFIGlzIG5vdCBzZXQKLUNPTkZJR19JV01NWFQ9eQotQ09ORklHX1hTQ0FMRV9QTVU9eQogCiAjCiAjIEJ1cyBzdXBwb3J0CiAjCisjIENPTkZJR19QQ0lfU1lTQ0FMTCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX1NVUFBPUlRTX01TSSBpcyBub3Qgc2V0Ci0KLSMKLSMgUENDQVJEIChQQ01DSUEvQ2FyZEJ1cykgc3VwcG9ydAotIwogIyBDT05GSUdfUENDQVJEIGlzIG5vdCBzZXQKIAogIwogIyBLZXJuZWwgRmVhdHVyZXMKICMKICMgQ09ORklHX1RJQ0tfT05FU0hPVCBpcyBub3Qgc2V0CisjIENPTkZJR19OT19IWiBpcyBub3Qgc2V0CisjIENPTkZJR19ISUdIX1JFU19USU1FUlMgaXMgbm90IHNldAorQ09ORklHX0dFTkVSSUNfQ0xPQ0tFVkVOVFNfQlVJTEQ9eQogIyBDT05GSUdfUFJFRU1QVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19OT19JRExFX0haIGlzIG5vdCBzZXQKIENPTkZJR19IWj0xMDAKIENPTkZJR19BRUFCST15CiBDT05GSUdfT0FCSV9DT01QQVQ9eQpAQCAtMjA5LDkgKzI0MSwxMyBAQAogQ09ORklHX0ZMQVRNRU09eQogQ09ORklHX0ZMQVRfTk9ERV9NRU1fTUFQPXkKICMgQ09ORklHX1NQQVJTRU1FTV9TVEFUSUMgaXMgbm90IHNldAorIyBDT05GSUdfU1BBUlNFTUVNX1ZNRU1NQVBfRU5BQkxFIGlzIG5vdCBzZXQKIENPTkZJR19TUExJVF9QVExPQ0tfQ1BVUz00MDk2CiAjIENPTkZJR19SRVNPVVJDRVNfNjRCSVQgaXMgbm90IHNldAogQ09ORklHX1pPTkVfRE1BX0ZMQUc9MQorQ09ORklHX0JPVU5DRT15CitDT05GSUdfVklSVF9UT19CVVM9eQorIyBDT05GSUdfTEVEUyBpcyBub3Qgc2V0CiBDT05GSUdfQUxJR05NRU5UX1RSQVA9eQogCiAjCkBAIC0yMTksNyArMjU1LDcgQEAKICMKIENPTkZJR19aQk9PVF9ST01fVEVYVD0weDAKIENPTkZJR19aQk9PVF9ST01fQlNTPTB4MAotQ09ORklHX0NNRExJTkU9IiIKK0NPTkZJR19DTURMSU5FPSJtZW09NjRNIGNvbnNvbGU9dHR5UzAsMTE1MjAwIgogIyBDT05GSUdfWElQX0tFUk5FTCBpcyBub3Qgc2V0CiAjIENPTkZJR19LRVhFQyBpcyBub3Qgc2V0CiAKQEAgLTIzMyw2ICsyNjksNyBAQAogQ09ORklHX0ZQRV9OV0ZQRT15CiAjIENPTkZJR19GUEVfTldGUEVfWFAgaXMgbm90IHNldAogIyBDT05GSUdfRlBFX0ZBU1RGUEUgaXMgbm90IHNldAorIyBDT05GSUdfVkZQIGlzIG5vdCBzZXQKIAogIwogIyBVc2Vyc3BhY2UgYmluYXJ5IGZvcm1hdHMKQEAgLTI0NSwxMCArMjgyLDEyIEBACiAjIFBvd2VyIG1hbmFnZW1lbnQgb3B0aW9ucwogIwogQ09ORklHX1BNPXkKLUNPTkZJR19QTV9MRUdBQ1k9eQorIyBDT05GSUdfUE1fTEVHQUNZIGlzIG5vdCBzZXQKICMgQ09ORklHX1BNX0RFQlVHIGlzIG5vdCBzZXQKLSMgQ09ORklHX1BNX1NZU0ZTX0RFUFJFQ0FURUQgaXMgbm90IHNldAotQ09ORklHX0FQTV9FTVVMQVRJT049bQorQ09ORklHX1BNX1NMRUVQPXkKK0NPTkZJR19TVVNQRU5EX1VQX1BPU1NJQkxFPXkKK0NPTkZJR19TVVNQRU5EPXkKKyMgQ09ORklHX0FQTV9FTVVMQVRJT04gaXMgbm90IHNldAogCiAjCiAjIE5ldHdvcmtpbmcKQEAgLTI2MSwyMSArMzAwLDI1IEBACiBDT05GSUdfUEFDS0VUPXkKICMgQ09ORklHX1BBQ0tFVF9NTUFQIGlzIG5vdCBzZXQKIENPTkZJR19VTklYPXkKLUNPTkZJR19YRlJNPXkKLSMgQ09ORklHX1hGUk1fVVNFUiBpcyBub3Qgc2V0Ci0jIENPTkZJR19YRlJNX1NVQl9QT0xJQ1kgaXMgbm90IHNldAotIyBDT05GSUdfWEZSTV9NSUdSQVRFIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVF9LRVkgaXMgbm90IHNldAogQ09ORklHX0lORVQ9eQotIyBDT05GSUdfSVBfTVVMVElDQVNUIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lQX0FEVkFOQ0VEX1JPVVRFUiBpcyBub3Qgc2V0CitDT05GSUdfSVBfTVVMVElDQVNUPXkKK0NPTkZJR19JUF9BRFZBTkNFRF9ST1VURVI9eQorQ09ORklHX0FTS19JUF9GSUJfSEFTSD15CisjIENPTkZJR19JUF9GSUJfVFJJRSBpcyBub3Qgc2V0CiBDT05GSUdfSVBfRklCX0hBU0g9eQorIyBDT05GSUdfSVBfTVVMVElQTEVfVEFCTEVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lQX1JPVVRFX01VTFRJUEFUSCBpcyBub3Qgc2V0CitDT05GSUdfSVBfUk9VVEVfVkVSQk9TRT15CiBDT05GSUdfSVBfUE5QPXkKLUNPTkZJR19JUF9QTlBfREhDUD15CisjIENPTkZJR19JUF9QTlBfREhDUCBpcyBub3Qgc2V0CiBDT05GSUdfSVBfUE5QX0JPT1RQPXkKLSMgQ09ORklHX0lQX1BOUF9SQVJQIGlzIG5vdCBzZXQKK0NPTkZJR19JUF9QTlBfUkFSUD15CiAjIENPTkZJR19ORVRfSVBJUCBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRfSVBHUkUgaXMgbm90IHNldAorQ09ORklHX0lQX01ST1VURT15CitDT05GSUdfSVBfUElNU01fVjE9eQorQ09ORklHX0lQX1BJTVNNX1YyPXkKICMgQ09ORklHX0FSUEQgaXMgbm90IHNldAogIyBDT05GSUdfU1lOX0NPT0tJRVMgaXMgbm90IHNldAogIyBDT05GSUdfSU5FVF9BSCBpcyBub3Qgc2V0CkBAIC0yODMsMTEgKzMyNiwxMSBAQAogIyBDT05GSUdfSU5FVF9JUENPTVAgaXMgbm90IHNldAogIyBDT05GSUdfSU5FVF9YRlJNX1RVTk5FTCBpcyBub3Qgc2V0CiAjIENPTkZJR19JTkVUX1RVTk5FTCBpcyBub3Qgc2V0Ci1DT05GSUdfSU5FVF9YRlJNX01PREVfVFJBTlNQT1JUPXkKLUNPTkZJR19JTkVUX1hGUk1fTU9ERV9UVU5ORUw9eQotQ09ORklHX0lORVRfWEZSTV9NT0RFX0JFRVQ9eQotQ09ORklHX0lORVRfRElBRz15Ci1DT05GSUdfSU5FVF9UQ1BfRElBRz15CisjIENPTkZJR19JTkVUX1hGUk1fTU9ERV9UUkFOU1BPUlQgaXMgbm90IHNldAorIyBDT05GSUdfSU5FVF9YRlJNX01PREVfVFVOTkVMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lORVRfWEZSTV9NT0RFX0JFRVQgaXMgbm90IHNldAorIyBDT05GSUdfSU5FVF9MUk8gaXMgbm90IHNldAorIyBDT05GSUdfSU5FVF9ESUFHIGlzIG5vdCBzZXQKICMgQ09ORklHX1RDUF9DT05HX0FEVkFOQ0VEIGlzIG5vdCBzZXQKIENPTkZJR19UQ1BfQ09OR19DVUJJQz15CiBDT05GSUdfREVGQVVMVF9UQ1BfQ09ORz0iY3ViaWMiCkBAIC0zMTEsMTAgKzM1NCw2IEBACiAjIENPTkZJR19MQVBCIGlzIG5vdCBzZXQKICMgQ09ORklHX0VDT05FVCBpcyBub3Qgc2V0CiAjIENPTkZJR19XQU5fUk9VVEVSIGlzIG5vdCBzZXQKLQotIwotIyBRb1MgYW5kL29yIGZhaXIgcXVldWVpbmcKLSMKICMgQ09ORklHX05FVF9TQ0hFRCBpcyBub3Qgc2V0CiAKICMKQEAgLTMyMywyOCArMzYyLDcgQEAKICMgQ09ORklHX05FVF9QS1RHRU4gaXMgbm90IHNldAogIyBDT05GSUdfSEFNUkFESU8gaXMgbm90IHNldAogIyBDT05GSUdfSVJEQSBpcyBub3Qgc2V0Ci1DT05GSUdfQlQ9bQotQ09ORklHX0JUX0wyQ0FQPW0KLUNPTkZJR19CVF9TQ089bQotQ09ORklHX0JUX1JGQ09NTT1tCi0jIENPTkZJR19CVF9SRkNPTU1fVFRZIGlzIG5vdCBzZXQKLUNPTkZJR19CVF9CTkVQPW0KLSMgQ09ORklHX0JUX0JORVBfTUNfRklMVEVSIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JUX0JORVBfUFJPVE9fRklMVEVSIGlzIG5vdCBzZXQKLUNPTkZJR19CVF9ISURQPW0KLQotIwotIyBCbHVldG9vdGggZGV2aWNlIGRyaXZlcnMKLSMKLUNPTkZJR19CVF9IQ0lVU0I9bQotIyBDT05GSUdfQlRfSENJVVNCX1NDTyBpcyBub3Qgc2V0Ci1DT05GSUdfQlRfSENJVUFSVD1tCi0jIENPTkZJR19CVF9IQ0lVQVJUX0g0IGlzIG5vdCBzZXQKLSMgQ09ORklHX0JUX0hDSVVBUlRfQkNTUCBpcyBub3Qgc2V0Ci1DT05GSUdfQlRfSENJQkNNMjAzWD1tCi1DT05GSUdfQlRfSENJQlBBMTBYPW0KLUNPTkZJR19CVF9IQ0lCRlVTQj1tCi0jIENPTkZJR19CVF9IQ0lWSENJIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JUIGlzIG5vdCBzZXQKICMgQ09ORklHX0FGX1JYUlBDIGlzIG5vdCBzZXQKIAogIwpAQCAtMzUzLDEzICszNzEsOSBAQAogIyBDT05GSUdfQ0ZHODAyMTEgaXMgbm90IHNldAogIyBDT05GSUdfV0lSRUxFU1NfRVhUIGlzIG5vdCBzZXQKICMgQ09ORklHX01BQzgwMjExIGlzIG5vdCBzZXQKLUNPTkZJR19JRUVFODAyMTE9bQotIyBDT05GSUdfSUVFRTgwMjExX0RFQlVHIGlzIG5vdCBzZXQKLUNPTkZJR19JRUVFODAyMTFfQ1JZUFRfV0VQPW0KLUNPTkZJR19JRUVFODAyMTFfQ1JZUFRfQ0NNUD1tCi0jIENPTkZJR19JRUVFODAyMTFfQ1JZUFRfVEtJUCBpcyBub3Qgc2V0Ci0jIENPTkZJR19JRUVFODAyMTFfU09GVE1BQyBpcyBub3Qgc2V0CisjIENPTkZJR19JRUVFODAyMTEgaXMgbm90IHNldAogIyBDT05GSUdfUkZLSUxMIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF85UCBpcyBub3Qgc2V0CiAKICMKICMgRGV2aWNlIERyaXZlcnMKQEAgLTM2OCwyMyArMzgyLDIwIEBACiAjCiAjIEdlbmVyaWMgRHJpdmVyIE9wdGlvbnMKICMKK0NPTkZJR19VRVZFTlRfSEVMUEVSX1BBVEg9Ii9zYmluL2hvdHBsdWciCiBDT05GSUdfU1RBTkRBTE9ORT15CiBDT05GSUdfUFJFVkVOVF9GSVJNV0FSRV9CVUlMRD15Ci1DT05GSUdfRldfTE9BREVSPXkKKyMgQ09ORklHX0ZXX0xPQURFUiBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19EUklWRVIgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfREVWUkVTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NZU19IWVBFUlZJU09SIGlzIG5vdCBzZXQKLQotIwotIyBDb25uZWN0b3IgLSB1bmlmaWVkIHVzZXJzcGFjZSA8LT4ga2VybmVsc3BhY2UgbGlua2VyCi0jCiAjIENPTkZJR19DT05ORUNUT1IgaXMgbm90IHNldAogQ09ORklHX01URD15CiAjIENPTkZJR19NVERfREVCVUcgaXMgbm90IHNldAotQ09ORklHX01URF9DT05DQVQ9eQorIyBDT05GSUdfTVREX0NPTkNBVCBpcyBub3Qgc2V0CiBDT05GSUdfTVREX1BBUlRJVElPTlM9eQogIyBDT05GSUdfTVREX1JFREJPT1RfUEFSVFMgaXMgbm90IHNldAotIyBDT05GSUdfTVREX0NNRExJTkVfUEFSVFMgaXMgbm90IHNldAorQ09ORklHX01URF9DTURMSU5FX1BBUlRTPXkKICMgQ09ORklHX01URF9BRlNfUEFSVFMgaXMgbm90IHNldAogCiAjCkBAIC0zOTgsMTUgKzQwOSwxMyBAQAogIyBDT05GSUdfSU5GVEwgaXMgbm90IHNldAogIyBDT05GSUdfUkZEX0ZUTCBpcyBub3Qgc2V0CiAjIENPTkZJR19TU0ZEQyBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfT09QUyBpcyBub3Qgc2V0CiAKICMKICMgUkFNL1JPTS9GbGFzaCBjaGlwIGRyaXZlcnMKICMKICMgQ09ORklHX01URF9DRkkgaXMgbm90IHNldAogIyBDT05GSUdfTVREX0pFREVDUFJPQkUgaXMgbm90IHNldAotIyBDT05GSUdfTVREX0NGSV9OT1NXQVAgaXMgbm90IHNldAotIyBDT05GSUdfTVREX0NGSV9CRV9CWVRFX1NXQVAgaXMgbm90IHNldAotIyBDT05GSUdfTVREX0NGSV9MRV9CWVRFX1NXQVAgaXMgbm90IHNldAogQ09ORklHX01URF9NQVBfQkFOS19XSURUSF8xPXkKIENPTkZJR19NVERfTUFQX0JBTktfV0lEVEhfMj15CiBDT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzQ9eQpAQCAtNDI1LDEyICs0MzQsMTMgQEAKICMgTWFwcGluZyBkcml2ZXJzIGZvciBjaGlwIGFjY2VzcwogIwogIyBDT05GSUdfTVREX0NPTVBMRVhfTUFQUElOR1MgaXMgbm90IHNldAotIyBDT05GSUdfTVREX1NIQVJQX1NMIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9QTEFUUkFNIGlzIG5vdCBzZXQKIAogIwogIyBTZWxmLWNvbnRhaW5lZCBNVEQgZGV2aWNlIGRyaXZlcnMKICMKK0NPTkZJR19NVERfREFUQUZMQVNIPXkKKyMgQ09ORklHX01URF9NMjVQODAgaXMgbm90IHNldAogIyBDT05GSUdfTVREX1NMUkFNIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9QSFJBTSBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfTVREUkFNIGlzIG5vdCBzZXQKQEAgLTQ0Niw1MyArNDU2LDQyIEBACiAjIENPTkZJR19NVERfTkFORF9WRVJJRllfV1JJVEUgaXMgbm90IHNldAogIyBDT05GSUdfTVREX05BTkRfRUNDX1NNQyBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfTkFORF9NVVNFVU1fSURTIGlzIG5vdCBzZXQKLSMgQ09ORklHX01URF9OQU5EX0gxOTAwIGlzIG5vdCBzZXQKIENPTkZJR19NVERfTkFORF9JRFM9eQogIyBDT05GSUdfTVREX05BTkRfRElTS09OQ0hJUCBpcyBub3Qgc2V0Ci0jIENPTkZJR19NVERfTkFORF9TSEFSUFNMIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfTkFORF9BVDkxPXkKK0NPTkZJR19NVERfTkFORF9BVDkxX0VDQ19TT0ZUPXkKKyMgQ09ORklHX01URF9OQU5EX0FUOTFfRUNDX0hXIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9OQU5EX0FUOTFfRUNDX05PTkUgaXMgbm90IHNldAogIyBDT05GSUdfTVREX05BTkRfTkFORFNJTSBpcyBub3Qgc2V0Ci1DT05GSUdfTVREX05BTkRfUExBVEZPUk09eQorIyBDT05GSUdfTVREX05BTkRfUExBVEZPUk0gaXMgbm90IHNldAorIyBDT05GSUdfTVREX0FMQVVEQSBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfT05FTkFORCBpcyBub3Qgc2V0CiAKICMKICMgVUJJIC0gVW5zb3J0ZWQgYmxvY2sgaW1hZ2VzCiAjCiAjIENPTkZJR19NVERfVUJJIGlzIG5vdCBzZXQKLQotIwotIyBQYXJhbGxlbCBwb3J0IHN1cHBvcnQKLSMKICMgQ09ORklHX1BBUlBPUlQgaXMgbm90IHNldAotCi0jCi0jIFBsdWcgYW5kIFBsYXkgc3VwcG9ydAotIwotIyBDT05GSUdfUE5QQUNQSSBpcyBub3Qgc2V0Ci0KLSMKLSMgQmxvY2sgZGV2aWNlcwotIworQ09ORklHX0JMS19ERVY9eQogIyBDT05GSUdfQkxLX0RFVl9DT1dfQ09NTU9OIGlzIG5vdCBzZXQKIENPTkZJR19CTEtfREVWX0xPT1A9eQogIyBDT05GSUdfQkxLX0RFVl9DUllQVE9MT09QIGlzIG5vdCBzZXQKICMgQ09ORklHX0JMS19ERVZfTkJEIGlzIG5vdCBzZXQKICMgQ09ORklHX0JMS19ERVZfVUIgaXMgbm90IHNldAotQ09ORklHX0JMS19ERVZfUkFNPXkKLUNPTkZJR19CTEtfREVWX1JBTV9DT1VOVD0xNgotQ09ORklHX0JMS19ERVZfUkFNX1NJWkU9MTIwMDAKLUNPTkZJR19CTEtfREVWX1JBTV9CTE9DS1NJWkU9MTAyNAorIyBDT05GSUdfQkxLX0RFVl9SQU0gaXMgbm90IHNldAogIyBDT05GSUdfQ0RST01fUEtUQ0RWRCBpcyBub3Qgc2V0CiAjIENPTkZJR19BVEFfT1ZFUl9FVEggaXMgbm90IHNldAotIyBDT05GSUdfSURFIGlzIG5vdCBzZXQKKyMgQ09ORklHX01JU0NfREVWSUNFUyBpcyBub3Qgc2V0CiAKICMKICMgU0NTSSBkZXZpY2Ugc3VwcG9ydAogIwogIyBDT05GSUdfUkFJRF9BVFRSUyBpcyBub3Qgc2V0CiBDT05GSUdfU0NTST15CitDT05GSUdfU0NTSV9ETUE9eQogIyBDT05GSUdfU0NTSV9UR1QgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9ORVRMSU5LIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfUFJPQ19GUyBpcyBub3Qgc2V0CitDT05GSUdfU0NTSV9QUk9DX0ZTPXkKIAogIwogIyBTQ1NJIHN1cHBvcnQgdHlwZSAoZGlzaywgdGFwZSwgQ0QtUk9NKQpAQCAtNTA3LDcgKzUwNiw3IEBACiAjCiAjIFNvbWUgU0NTSSBkZXZpY2VzIChlLmcuIENEIGp1a2Vib3gpIHN1cHBvcnQgbXVsdGlwbGUgTFVOcwogIwotIyBDT05GSUdfU0NTSV9NVUxUSV9MVU4gaXMgbm90IHNldAorQ09ORklHX1NDU0lfTVVMVElfTFVOPXkKICMgQ09ORklHX1NDU0lfQ09OU1RBTlRTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfTE9HR0lORyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX1NDQU5fQVNZTkMgaXMgbm90IHNldApAQCAtNTE5LDQxICs1MTgsNTAgQEAKICMgQ09ORklHX1NDU0lfU1BJX0FUVFJTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfRkNfQVRUUlMgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9JU0NTSV9BVFRSUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX1NBU19BVFRSUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX1NBU19MSUJTQVMgaXMgbm90IHNldAotCi0jCi0jIFNDU0kgbG93LWxldmVsIGRyaXZlcnMKLSMKKyMgQ09ORklHX1NDU0lfU1JQX0FUVFJTIGlzIG5vdCBzZXQKK0NPTkZJR19TQ1NJX0xPV0xFVkVMPXkKICMgQ09ORklHX0lTQ1NJX1RDUCBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX0RFQlVHIGlzIG5vdCBzZXQKICMgQ09ORklHX0FUQSBpcyBub3Qgc2V0Ci0KLSMKLSMgTXVsdGktZGV2aWNlIHN1cHBvcnQgKFJBSUQgYW5kIExWTSkKLSMKICMgQ09ORklHX01EIGlzIG5vdCBzZXQKLQotIwotIyBOZXR3b3JrIGRldmljZSBzdXBwb3J0Ci0jCiBDT05GSUdfTkVUREVWSUNFUz15CisjIENPTkZJR19ORVRERVZJQ0VTX01VTFRJUVVFVUUgaXMgbm90IHNldAogIyBDT05GSUdfRFVNTVkgaXMgbm90IHNldAogIyBDT05GSUdfQk9ORElORyBpcyBub3Qgc2V0CisjIENPTkZJR19NQUNWTEFOIGlzIG5vdCBzZXQKICMgQ09ORklHX0VRVUFMSVpFUiBpcyBub3Qgc2V0CiAjIENPTkZJR19UVU4gaXMgbm90IHNldAotIyBDT05GSUdfUEhZTElCIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZFVEggaXMgbm90IHNldAorQ09ORklHX1BIWUxJQj15CiAKICMKLSMgRXRoZXJuZXQgKDEwIG9yIDEwME1iaXQpCisjIE1JSSBQSFkgZGV2aWNlIGRyaXZlcnMKICMKKyMgQ09ORklHX01BUlZFTExfUEhZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RBVklDT01fUEhZIGlzIG5vdCBzZXQKKyMgQ09ORklHX1FTRU1JX1BIWSBpcyBub3Qgc2V0CisjIENPTkZJR19MWFRfUEhZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NJQ0FEQV9QSFkgaXMgbm90IHNldAorIyBDT05GSUdfVklURVNTRV9QSFkgaXMgbm90IHNldAorIyBDT05GSUdfU01TQ19QSFkgaXMgbm90IHNldAorIyBDT05GSUdfQlJPQURDT01fUEhZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lDUExVU19QSFkgaXMgbm90IHNldAorIyBDT05GSUdfRklYRURfUEhZIGlzIG5vdCBzZXQKKyMgQ09ORklHX01ESU9fQklUQkFORyBpcyBub3Qgc2V0CiBDT05GSUdfTkVUX0VUSEVSTkVUPXkKIENPTkZJR19NSUk9eQorQ09ORklHX01BQ0I9eQorIyBDT05GSUdfQVg4ODc5NiBpcyBub3Qgc2V0CiAjIENPTkZJR19TTUM5MVggaXMgbm90IHNldAotQ09ORklHX0RNOTAwMD15Ci0jIENPTkZJR19TTUM5MTFYIGlzIG5vdCBzZXQKLSMgQ09ORklHX05FVERFVl8xMDAwIGlzIG5vdCBzZXQKLSMgQ09ORklHX05FVERFVl8xMDAwMCBpcyBub3Qgc2V0CisjIENPTkZJR19ETTkwMDAgaXMgbm90IHNldAorIyBDT05GSUdfSUJNX05FV19FTUFDX1pNSUkgaXMgbm90IHNldAorIyBDT05GSUdfSUJNX05FV19FTUFDX1JHTUlJIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTV9ORVdfRU1BQ19UQUggaXMgbm90IHNldAorIyBDT05GSUdfSUJNX05FV19FTUFDX0VNQUM0IGlzIG5vdCBzZXQKKyMgQ09ORklHX0I0NCBpcyBub3Qgc2V0CitDT05GSUdfTkVUREVWXzEwMDA9eQorQ09ORklHX05FVERFVl8xMDAwMD15CiAKICMKICMgV2lyZWxlc3MgTEFOCkBAIC01NjgsNyArNTc2LDYgQEAKICMgQ09ORklHX1VTQl9LQVdFVEggaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1BFR0FTVVMgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1JUTDgxNTAgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX1VTQk5FVF9NSUkgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1VTQk5FVCBpcyBub3Qgc2V0CiAjIENPTkZJR19XQU4gaXMgbm90IHNldAogIyBDT05GSUdfUFBQIGlzIG5vdCBzZXQKQEAgLTU3NywxMCArNTg0LDYgQEAKICMgQ09ORklHX05FVENPTlNPTEUgaXMgbm90IHNldAogIyBDT05GSUdfTkVUUE9MTCBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRfUE9MTF9DT05UUk9MTEVSIGlzIG5vdCBzZXQKLQotIwotIyBJU0ROIHN1YnN5c3RlbQotIwogIyBDT05GSUdfSVNETiBpcyBub3Qgc2V0CiAKICMKQEAgLTU5OCw5ICs2MDEsOCBAQAogQ09ORklHX0lOUFVUX01PVVNFREVWX1NDUkVFTl9YPTEwMjQKIENPTkZJR19JTlBVVF9NT1VTRURFVl9TQ1JFRU5fWT03NjgKICMgQ09ORklHX0lOUFVUX0pPWURFViBpcyBub3Qgc2V0Ci0jIENPTkZJR19JTlBVVF9UU0RFViBpcyBub3Qgc2V0CiBDT05GSUdfSU5QVVRfRVZERVY9eQotIyBDT05GSUdfSU5QVVRfRVZCVUcgaXMgbm90IHNldAorQ09ORklHX0lOUFVUX0VWQlVHPXkKIAogIwogIyBJbnB1dCBEZXZpY2UgRHJpdmVycwpAQCAtNjEyLDMwICs2MTQsMTcgQEAKICMgQ09ORklHX0tFWUJPQVJEX1hUS0JEIGlzIG5vdCBzZXQKICMgQ09ORklHX0tFWUJPQVJEX05FV1RPTiBpcyBub3Qgc2V0CiAjIENPTkZJR19LRVlCT0FSRF9TVE9XQVdBWSBpcyBub3Qgc2V0Ci1DT05GSUdfS0VZQk9BUkRfUFhBMjd4PW0KLSMgQ09ORklHX0tFWUJPQVJEX0dQSU8gaXMgbm90IHNldAorQ09ORklHX0tFWUJPQVJEX0dQSU89eQogIyBDT05GSUdfSU5QVVRfTU9VU0UgaXMgbm90IHNldAogIyBDT05GSUdfSU5QVVRfSk9ZU1RJQ0sgaXMgbm90IHNldAogIyBDT05GSUdfSU5QVVRfVEFCTEVUIGlzIG5vdCBzZXQKLUNPTkZJR19JTlBVVF9UT1VDSFNDUkVFTj15Ci0jIENPTkZJR19UT1VDSFNDUkVFTl9HVU5aRSBpcyBub3Qgc2V0Ci0jIENPTkZJR19UT1VDSFNDUkVFTl9FTE8gaXMgbm90IHNldAotIyBDT05GSUdfVE9VQ0hTQ1JFRU5fTVRPVUNIIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RPVUNIU0NSRUVOX01LNzEyIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RPVUNIU0NSRUVOX1BFTk1PVU5UIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RPVUNIU0NSRUVOX1RPVUNIUklHSFQgaXMgbm90IHNldAotIyBDT05GSUdfVE9VQ0hTQ1JFRU5fVE9VQ0hXSU4gaXMgbm90IHNldAotIyBDT05GSUdfVE9VQ0hTQ1JFRU5fVUNCMTQwMCBpcyBub3Qgc2V0Ci0jIENPTkZJR19UT1VDSFNDUkVFTl9VU0JfQ09NUE9TSVRFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOUFVUX1RPVUNIU0NSRUVOIGlzIG5vdCBzZXQKICMgQ09ORklHX0lOUFVUX01JU0MgaXMgbm90IHNldAogCiAjCiAjIEhhcmR3YXJlIEkvTyBwb3J0cwogIwotQ09ORklHX1NFUklPPXkKLSMgQ09ORklHX1NFUklPX1NFUlBPUlQgaXMgbm90IHNldAotQ09ORklHX1NFUklPX0xJQlBTMj15Ci0jIENPTkZJR19TRVJJT19SQVcgaXMgbm90IHNldAorIyBDT05GSUdfU0VSSU8gaXMgbm90IHNldAogIyBDT05GSUdfR0FNRVBPUlQgaXMgbm90IHNldAogCiAjCkBAIC02NTUsNDUgKzY0NCw1MSBAQAogIwogIyBOb24tODI1MCBzZXJpYWwgcG9ydCBzdXBwb3J0CiAjCi1DT05GSUdfU0VSSUFMX1BYQT15Ci1DT05GSUdfU0VSSUFMX1BYQV9DT05TT0xFPXkKK0NPTkZJR19TRVJJQUxfQVRNRUw9eQorQ09ORklHX1NFUklBTF9BVE1FTF9DT05TT0xFPXkKKyMgQ09ORklHX1NFUklBTF9BVE1FTF9UVFlBVCBpcyBub3Qgc2V0CiBDT05GSUdfU0VSSUFMX0NPUkU9eQogQ09ORklHX1NFUklBTF9DT1JFX0NPTlNPTEU9eQogQ09ORklHX1VOSVg5OF9QVFlTPXkKIENPTkZJR19MRUdBQ1lfUFRZUz15CiBDT05GSUdfTEVHQUNZX1BUWV9DT1VOVD0yNTYKLQotIwotIyBJUE1JCi0jCiAjIENPTkZJR19JUE1JX0hBTkRMRVIgaXMgbm90IHNldAotIyBDT05GSUdfV0FUQ0hET0cgaXMgbm90IHNldAotQ09ORklHX0hXX1JBTkRPTT1tCitDT05GSUdfSFdfUkFORE9NPXkKICMgQ09ORklHX05WUkFNIGlzIG5vdCBzZXQKICMgQ09ORklHX1IzOTY0IGlzIG5vdCBzZXQKICMgQ09ORklHX1JBV19EUklWRVIgaXMgbm90IHNldAotCi0jCi0jIFRQTSBkZXZpY2VzCi0jCiAjIENPTkZJR19UQ0dfVFBNIGlzIG5vdCBzZXQKICMgQ09ORklHX0kyQyBpcyBub3Qgc2V0CiAKICMKICMgU1BJIHN1cHBvcnQKICMKLSMgQ09ORklHX1NQSSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TUElfTUFTVEVSIGlzIG5vdCBzZXQKK0NPTkZJR19TUEk9eQorIyBDT05GSUdfU1BJX0RFQlVHIGlzIG5vdCBzZXQKK0NPTkZJR19TUElfTUFTVEVSPXkKIAogIwotIyBEYWxsYXMncyAxLXdpcmUgYnVzCisjIFNQSSBNYXN0ZXIgQ29udHJvbGxlciBEcml2ZXJzCiAjCitDT05GSUdfU1BJX0FUTUVMPXkKKyMgQ09ORklHX1NQSV9CSVRCQU5HIGlzIG5vdCBzZXQKKworIworIyBTUEkgUHJvdG9jb2wgTWFzdGVycworIworIyBDT05GSUdfU1BJX0FUMjUgaXMgbm90IHNldAorIyBDT05GSUdfU1BJX1NQSURFViBpcyBub3Qgc2V0CisjIENPTkZJR19TUElfVExFNjJYMCBpcyBub3Qgc2V0CiAjIENPTkZJR19XMSBpcyBub3Qgc2V0CisjIENPTkZJR19QT1dFUl9TVVBQTFkgaXMgbm90IHNldAogIyBDT05GSUdfSFdNT04gaXMgbm90IHNldAorIyBDT05GSUdfV0FUQ0hET0cgaXMgbm90IHNldAogCiAjCi0jIE1pc2MgZGV2aWNlcworIyBTb25pY3MgU2lsaWNvbiBCYWNrcGxhbmUKICMKK0NPTkZJR19TU0JfUE9TU0lCTEU9eQorIyBDT05GSUdfU1NCIGlzIG5vdCBzZXQKIAogIwogIyBNdWx0aWZ1bmN0aW9uIGRldmljZSBkcml2ZXJzCkBAIC03MDEsMTkgKzY5Niw2IEBACiAjIENPTkZJR19NRkRfU001MDEgaXMgbm90IHNldAogCiAjCi0jIExFRCBkZXZpY2VzCi0jCi0jIENPTkZJR19ORVdfTEVEUyBpcyBub3Qgc2V0Ci0KLSMKLSMgTEVEIGRyaXZlcnMKLSMKLQotIwotIyBMRUQgVHJpZ2dlcnMKLSMKLQotIwogIyBNdWx0aW1lZGlhIGRldmljZXMKICMKICMgQ09ORklHX1ZJREVPX0RFViBpcyBub3Qgc2V0CkBAIC03MjMsMTI1ICs3MDUsNDIgQEAKICMKICMgR3JhcGhpY3Mgc3VwcG9ydAogIworIyBDT05GSUdfVkdBU1RBVEUgaXMgbm90IHNldAorIyBDT05GSUdfVklERU9fT1VUUFVUX0NPTlRST0wgaXMgbm90IHNldAorIyBDT05GSUdfRkIgaXMgbm90IHNldAogIyBDT05GSUdfQkFDS0xJR0hUX0xDRF9TVVBQT1JUIGlzIG5vdCBzZXQKIAogIwogIyBEaXNwbGF5IGRldmljZSBzdXBwb3J0CiAjCiAjIENPTkZJR19ESVNQTEFZX1NVUFBPUlQgaXMgbm90IHNldAotIyBDT05GSUdfVkdBU1RBVEUgaXMgbm90IHNldAotQ09ORklHX0ZCPXkKLSMgQ09ORklHX0ZJUk1XQVJFX0VESUQgaXMgbm90IHNldAotIyBDT05GSUdfRkJfRERDIGlzIG5vdCBzZXQKLUNPTkZJR19GQl9DRkJfRklMTFJFQ1Q9eQotQ09ORklHX0ZCX0NGQl9DT1BZQVJFQT15Ci1DT05GSUdfRkJfQ0ZCX0lNQUdFQkxJVD15Ci0jIENPTkZJR19GQl9TWVNfRklMTFJFQ1QgaXMgbm90IHNldAotIyBDT05GSUdfRkJfU1lTX0NPUFlBUkVBIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX1NZU19JTUFHRUJMSVQgaXMgbm90IHNldAotIyBDT05GSUdfRkJfU1lTX0ZPUFMgaXMgbm90IHNldAotQ09ORklHX0ZCX0RFRkVSUkVEX0lPPXkKLSMgQ09ORklHX0ZCX1NWR0FMSUIgaXMgbm90IHNldAotIyBDT05GSUdfRkJfTUFDTU9ERVMgaXMgbm90IHNldAotIyBDT05GSUdfRkJfQkFDS0xJR0hUIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX01PREVfSEVMUEVSUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9USUxFQkxJVFRJTkcgaXMgbm90IHNldAotCi0jCi0jIEZyYW1lIGJ1ZmZlciBoYXJkd2FyZSBkcml2ZXJzCi0jCi0jIENPTkZJR19GQl9TMUQxM1hYWCBpcyBub3Qgc2V0Ci1DT05GSUdfRkJfUFhBPXkKLSMgQ09ORklHX0ZCX1BYQV9QQVJBTUVURVJTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX01CWCBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9WSVJUVUFMIGlzIG5vdCBzZXQKIAogIwogIyBDb25zb2xlIGRpc3BsYXkgZHJpdmVyIHN1cHBvcnQKICMKICMgQ09ORklHX1ZHQV9DT05TT0xFIGlzIG5vdCBzZXQKIENPTkZJR19EVU1NWV9DT05TT0xFPXkKLUNPTkZJR19GUkFNRUJVRkZFUl9DT05TT0xFPXkKLSMgQ09ORklHX0ZSQU1FQlVGRkVSX0NPTlNPTEVfUk9UQVRJT04gaXMgbm90IHNldAotIyBDT05GSUdfRk9OVFMgaXMgbm90IHNldAotQ09ORklHX0ZPTlRfOHg4PXkKLUNPTkZJR19GT05UXzh4MTY9eQotQ09ORklHX0xPR089eQotQ09ORklHX0xPR09fTElOVVhfTU9OTz15Ci1DT05GSUdfTE9HT19MSU5VWF9WR0ExNj15Ci1DT05GSUdfTE9HT19MSU5VWF9DTFVUMjI0PXkKIAogIwogIyBTb3VuZAogIwotQ09ORklHX1NPVU5EPW0KLQotIwotIyBBZHZhbmNlZCBMaW51eCBTb3VuZCBBcmNoaXRlY3R1cmUKLSMKLUNPTkZJR19TTkQ9bQotQ09ORklHX1NORF9USU1FUj1tCi1DT05GSUdfU05EX1BDTT1tCi0jIENPTkZJR19TTkRfU0VRVUVOQ0VSIGlzIG5vdCBzZXQKLUNPTkZJR19TTkRfT1NTRU1VTD15Ci1DT05GSUdfU05EX01JWEVSX09TUz1tCi1DT05GSUdfU05EX1BDTV9PU1M9bQotQ09ORklHX1NORF9QQ01fT1NTX1BMVUdJTlM9eQotIyBDT05GSUdfU05EX0RZTkFNSUNfTUlOT1JTIGlzIG5vdCBzZXQKLUNPTkZJR19TTkRfU1VQUE9SVF9PTERfQVBJPXkKLUNPTkZJR19TTkRfVkVSQk9TRV9QUk9DRlM9eQotIyBDT05GSUdfU05EX1ZFUkJPU0VfUFJJTlRLIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9ERUJVRyBpcyBub3Qgc2V0Ci0KLSMKLSMgR2VuZXJpYyBkZXZpY2VzCi0jCi1DT05GSUdfU05EX0FDOTdfQ09ERUM9bQotIyBDT05GSUdfU05EX0RVTU1ZIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9NVFBBViBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfU0VSSUFMX1UxNjU1MCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfTVBVNDAxIGlzIG5vdCBzZXQKLQotIwotIyBBTFNBIEFSTSBkZXZpY2VzCi0jCi1DT05GSUdfU05EX1BYQTJYWF9QQ009bQotQ09ORklHX1NORF9QWEEyWFhfQUM5Nz1tCi0KLSMKLSMgVVNCIGRldmljZXMKLSMKLSMgQ09ORklHX1NORF9VU0JfQVVESU8gaXMgbm90IHNldAotIyBDT05GSUdfU05EX1VTQl9DQUlBUSBpcyBub3Qgc2V0Ci0KLSMKLSMgU3lzdGVtIG9uIENoaXAgYXVkaW8gc3VwcG9ydAotIwotIyBDT05GSUdfU05EX1NPQyBpcyBub3Qgc2V0Ci0KLSMKLSMgT3BlbiBTb3VuZCBTeXN0ZW0KLSMKLSMgQ09ORklHX1NPVU5EX1BSSU1FIGlzIG5vdCBzZXQKLUNPTkZJR19BQzk3X0JVUz1tCi0KLSMKLSMgSElEIERldmljZXMKLSMKKyMgQ09ORklHX1NPVU5EIGlzIG5vdCBzZXQKK0NPTkZJR19ISURfU1VQUE9SVD15CiBDT05GSUdfSElEPXkKICMgQ09ORklHX0hJRF9ERUJVRyBpcyBub3Qgc2V0CisjIENPTkZJR19ISURSQVcgaXMgbm90IHNldAogCiAjCiAjIFVTQiBJbnB1dCBEZXZpY2VzCiAjCi1DT05GSUdfVVNCX0hJRD15Ci0jIENPTkZJR19VU0JfSElESU5QVVRfUE9XRVJCT09LIGlzIG5vdCBzZXQKLSMgQ09ORklHX0hJRF9GRiBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfSElEREVWIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9ISUQgaXMgbm90IHNldAogCiAjCi0jIFVTQiBzdXBwb3J0CisjIFVTQiBISUQgQm9vdCBQcm90b2NvbCBkcml2ZXJzCiAjCisjIENPTkZJR19VU0JfS0JEIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9NT1VTRSBpcyBub3Qgc2V0CitDT05GSUdfVVNCX1NVUFBPUlQ9eQogQ09ORklHX1VTQl9BUkNIX0hBU19IQ0Q9eQogQ09ORklHX1VTQl9BUkNIX0hBU19PSENJPXkKICMgQ09ORklHX1VTQl9BUkNIX0hBU19FSENJIGlzIG5vdCBzZXQKQEAgLTg1Miw5ICs3NTEsMTAgQEAKICMgTWlzY2VsbGFuZW91cyBVU0Igb3B0aW9ucwogIwogQ09ORklHX1VTQl9ERVZJQ0VGUz15Ci0jIENPTkZJR19VU0JfREVWSUNFX0NMQVNTIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfREVWSUNFX0NMQVNTPXkKICMgQ09ORklHX1VTQl9EWU5BTUlDX01JTk9SUyBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfU1VTUEVORCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfUEVSU0lTVCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfT1RHIGlzIG5vdCBzZXQKIAogIwpAQCAtODY2LDYgKzc2Niw3IEBACiAjIENPTkZJR19VU0JfT0hDSV9CSUdfRU5ESUFOX01NSU8gaXMgbm90IHNldAogQ09ORklHX1VTQl9PSENJX0xJVFRMRV9FTkRJQU49eQogIyBDT05GSUdfVVNCX1NMODExX0hDRCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfUjhBNjY1OTdfSENEIGlzIG5vdCBzZXQKIAogIwogIyBVU0IgRGV2aWNlIENsYXNzIGRyaXZlcnMKQEAgLTg4NCw2ICs3ODUsNyBAQAogIyBDT05GSUdfVVNCX1NUT1JBR0VfREVCVUcgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1NUT1JBR0VfREFUQUZBQiBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfU1RPUkFHRV9GUkVFQ09NIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TVE9SQUdFX0lTRDIwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfU1RPUkFHRV9EUENNIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9TVE9SQUdFX1VTQkFUIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9TVE9SQUdFX1NERFIwOSBpcyBub3Qgc2V0CkBAIC04OTgsNyArODAwLDcgQEAKICMKICMgQ09ORklHX1VTQl9NREM4MDAgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX01JQ1JPVEVLIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9NT04gaXMgbm90IHNldAorQ09ORklHX1VTQl9NT049eQogCiAjCiAjIFVTQiBwb3J0IGRyaXZlcnMKQEAgLTkzOSw1NyArODQxLDQ4IEBACiAjCiAjIFVTQiBHYWRnZXQgU3VwcG9ydAogIwotIyBDT05GSUdfVVNCX0dBREdFVCBpcyBub3Qgc2V0Ci1DT05GSUdfTU1DPW0KLSMgQ09ORklHX01NQ19ERUJVRyBpcyBub3Qgc2V0Ci0jIENPTkZJR19NTUNfVU5TQUZFX1JFU1VNRSBpcyBub3Qgc2V0CitDT05GSUdfVVNCX0dBREdFVD15CisjIENPTkZJR19VU0JfR0FER0VUX0RFQlVHIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9HQURHRVRfREVCVUdfRklMRVMgaXMgbm90IHNldAorQ09ORklHX1VTQl9HQURHRVRfU0VMRUNURUQ9eQorIyBDT05GSUdfVVNCX0dBREdFVF9BTUQ1NTM2VURDIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9HQURHRVRfQVRNRUxfVVNCQSBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfR0FER0VUX0ZTTF9VU0IyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9HQURHRVRfTkVUMjI4MCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfR0FER0VUX1BYQTJYWCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfR0FER0VUX002NjU5MiBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfR0FER0VUX0dPS1UgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0dBREdFVF9MSDdBNDBYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9HQURHRVRfT01BUCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfR0FER0VUX1MzQzI0MTAgaXMgbm90IHNldAorQ09ORklHX1VTQl9HQURHRVRfQVQ5MT15CitDT05GSUdfVVNCX0FUOTE9eQorIyBDT05GSUdfVVNCX0dBREdFVF9EVU1NWV9IQ0QgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0dBREdFVF9EVUFMU1BFRUQgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1pFUk8gaXMgbm90IHNldAorQ09ORklHX1VTQl9FVEg9eQorQ09ORklHX1VTQl9FVEhfUk5ESVM9eQorIyBDT05GSUdfVVNCX0dBREdFVEZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9GSUxFX1NUT1JBR0UgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0dfU0VSSUFMIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9NSURJX0dBREdFVCBpcyBub3Qgc2V0CisjIENPTkZJR19NTUMgaXMgbm90IHNldAorQ09ORklHX05FV19MRURTPXkKK0NPTkZJR19MRURTX0NMQVNTPXkKIAogIwotIyBNTUMvU0QgQ2FyZCBEcml2ZXJzCisjIExFRCBkcml2ZXJzCiAjCi1DT05GSUdfTU1DX0JMT0NLPW0KK0NPTkZJR19MRURTX0dQSU89eQogCiAjCi0jIE1NQy9TRCBIb3N0IENvbnRyb2xsZXIgRHJpdmVycworIyBMRUQgVHJpZ2dlcnMKICMKLUNPTkZJR19NTUNfUFhBPW0KLQotIwotIyBSZWFsIFRpbWUgQ2xvY2sKLSMKK0NPTkZJR19MRURTX1RSSUdHRVJTPXkKKyMgQ09ORklHX0xFRFNfVFJJR0dFUl9USU1FUiBpcyBub3Qgc2V0CitDT05GSUdfTEVEU19UUklHR0VSX0hFQVJUQkVBVD15CiBDT05GSUdfUlRDX0xJQj15Ci1DT05GSUdfUlRDX0NMQVNTPW0KLQotIwotIyBSVEMgaW50ZXJmYWNlcwotIwotQ09ORklHX1JUQ19JTlRGX1NZU0ZTPXkKLUNPTkZJR19SVENfSU5URl9QUk9DPXkKLUNPTkZJR19SVENfSU5URl9ERVY9eQotIyBDT05GSUdfUlRDX0lOVEZfREVWX1VJRV9FTVVMIGlzIG5vdCBzZXQKLSMgQ09ORklHX1JUQ19EUlZfVEVTVCBpcyBub3Qgc2V0Ci0KLSMKLSMgSTJDIFJUQyBkcml2ZXJzCi0jCi0KLSMKLSMgU1BJIFJUQyBkcml2ZXJzCi0jCi0KLSMKLSMgUGxhdGZvcm0gUlRDIGRyaXZlcnMKLSMKLSMgQ09ORklHX1JUQ19EUlZfQ01PUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19SVENfRFJWX0RTMTU1MyBpcyBub3Qgc2V0Ci0jIENPTkZJR19SVENfRFJWX0RTMTc0MiBpcyBub3Qgc2V0Ci0jIENPTkZJR19SVENfRFJWX000OFQ4NiBpcyBub3Qgc2V0Ci1DT05GSUdfUlRDX0RSVl9WMzAyMD1tCi0KLSMKLSMgb24tQ1BVIFJUQyBkcml2ZXJzCi0jCi1DT05GSUdfUlRDX0RSVl9TQTExMDA9bQorIyBDT05GSUdfUlRDX0NMQVNTIGlzIG5vdCBzZXQKIAogIwogIyBGaWxlIHN5c3RlbXMKQEAgLTk5NywxNyArODkwLDExIEBACiBDT05GSUdfRVhUMl9GUz15CiAjIENPTkZJR19FWFQyX0ZTX1hBVFRSIGlzIG5vdCBzZXQKICMgQ09ORklHX0VYVDJfRlNfWElQIGlzIG5vdCBzZXQKLUNPTkZJR19FWFQzX0ZTPXkKLUNPTkZJR19FWFQzX0ZTX1hBVFRSPXkKLSMgQ09ORklHX0VYVDNfRlNfUE9TSVhfQUNMIGlzIG5vdCBzZXQKLSMgQ09ORklHX0VYVDNfRlNfU0VDVVJJVFkgaXMgbm90IHNldAorIyBDT05GSUdfRVhUM19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19FWFQ0REVWX0ZTIGlzIG5vdCBzZXQKLUNPTkZJR19KQkQ9eQotIyBDT05GSUdfSkJEX0RFQlVHIGlzIG5vdCBzZXQKLUNPTkZJR19GU19NQkNBQ0hFPXkKICMgQ09ORklHX1JFSVNFUkZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0pGU19GUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19GU19QT1NJWF9BQ0wgaXMgbm90IHNldAorQ09ORklHX0ZTX1BPU0lYX0FDTD15CiAjIENPTkZJR19YRlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfR0ZTMl9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19PQ0ZTMl9GUyBpcyBub3Qgc2V0CkBAIC0xMDE5LDcgKzkwNiw3IEBACiBDT05GSUdfRE5PVElGWT15CiAjIENPTkZJR19BVVRPRlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfQVVUT0ZTNF9GUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19GVVNFX0ZTIGlzIG5vdCBzZXQKK0NPTkZJR19GVVNFX0ZTPW0KIAogIwogIyBDRC1ST00vRFZEIEZpbGVzeXN0ZW1zCkBAIC0xMDMxLDcgKzkxOCw3IEBACiAjIERPUy9GQVQvTlQgRmlsZXN5c3RlbXMKICMKIENPTkZJR19GQVRfRlM9eQotQ09ORklHX01TRE9TX0ZTPXkKKyMgQ09ORklHX01TRE9TX0ZTIGlzIG5vdCBzZXQKIENPTkZJR19WRkFUX0ZTPXkKIENPTkZJR19GQVRfREVGQVVMVF9DT0RFUEFHRT00MzcKIENPTkZJR19GQVRfREVGQVVMVF9JT0NIQVJTRVQ9Imlzbzg4NTktMSIKQEAgLTEwNDYsNyArOTMzLDYgQEAKIENPTkZJR19UTVBGUz15CiAjIENPTkZJR19UTVBGU19QT1NJWF9BQ0wgaXMgbm90IHNldAogIyBDT05GSUdfSFVHRVRMQl9QQUdFIGlzIG5vdCBzZXQKLUNPTkZJR19SQU1GUz15CiAjIENPTkZJR19DT05GSUdGU19GUyBpcyBub3Qgc2V0CiAKICMKQEAgLTEwNjIsMTAgKzk0OCwxMiBAQAogQ09ORklHX0pGRlMyX0ZTPXkKIENPTkZJR19KRkZTMl9GU19ERUJVRz0wCiBDT05GSUdfSkZGUzJfRlNfV1JJVEVCVUZGRVI9eQotQ09ORklHX0pGRlMyX1NVTU1BUlk9eQorIyBDT05GSUdfSkZGUzJfRlNfV0JVRl9WRVJJRlkgaXMgbm90IHNldAorIyBDT05GSUdfSkZGUzJfU1VNTUFSWSBpcyBub3Qgc2V0CiAjIENPTkZJR19KRkZTMl9GU19YQVRUUiBpcyBub3Qgc2V0CiAjIENPTkZJR19KRkZTMl9DT01QUkVTU0lPTl9PUFRJT05TIGlzIG5vdCBzZXQKIENPTkZJR19KRkZTMl9aTElCPXkKKyMgQ09ORklHX0pGRlMyX0xaTyBpcyBub3Qgc2V0CiBDT05GSUdfSkZGUzJfUlRJTUU9eQogIyBDT05GSUdfSkZGUzJfUlVCSU4gaXMgbm90IHNldAogIyBDT05GSUdfQ1JBTUZTIGlzIG5vdCBzZXQKQEAgLTEwNzQsNDcgKzk2Miw0MCBAQAogIyBDT05GSUdfUU5YNEZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NZU1ZfRlMgaXMgbm90IHNldAogIyBDT05GSUdfVUZTX0ZTIGlzIG5vdCBzZXQKLQotIwotIyBOZXR3b3JrIEZpbGUgU3lzdGVtcwotIworQ09ORklHX05FVFdPUktfRklMRVNZU1RFTVM9eQogQ09ORklHX05GU19GUz15CiBDT05GSUdfTkZTX1YzPXkKLSMgQ09ORklHX05GU19WM19BQ0wgaXMgbm90IHNldAotIyBDT05GSUdfTkZTX1Y0IGlzIG5vdCBzZXQKK0NPTkZJR19ORlNfVjNfQUNMPXkKK0NPTkZJR19ORlNfVjQ9eQogIyBDT05GSUdfTkZTX0RJUkVDVElPIGlzIG5vdCBzZXQKICMgQ09ORklHX05GU0QgaXMgbm90IHNldAogQ09ORklHX1JPT1RfTkZTPXkKIENPTkZJR19MT0NLRD15CiBDT05GSUdfTE9DS0RfVjQ9eQorQ09ORklHX05GU19BQ0xfU1VQUE9SVD15CiBDT05GSUdfTkZTX0NPTU1PTj15CiBDT05GSUdfU1VOUlBDPXkKK0NPTkZJR19TVU5SUENfR1NTPXkKICMgQ09ORklHX1NVTlJQQ19CSU5EMzQgaXMgbm90IHNldAotIyBDT05GSUdfUlBDU0VDX0dTU19LUkI1IGlzIG5vdCBzZXQKK0NPTkZJR19SUENTRUNfR1NTX0tSQjU9eQogIyBDT05GSUdfUlBDU0VDX0dTU19TUEtNMyBpcyBub3Qgc2V0Ci1DT05GSUdfU01CX0ZTPXkKLSMgQ09ORklHX1NNQl9OTFNfREVGQVVMVCBpcyBub3Qgc2V0CisjIENPTkZJR19TTUJfRlMgaXMgbm90IHNldAogIyBDT05GSUdfQ0lGUyBpcyBub3Qgc2V0CiAjIENPTkZJR19OQ1BfRlMgaXMgbm90IHNldAogIyBDT05GSUdfQ09EQV9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19BRlNfRlMgaXMgbm90IHNldAotIyBDT05GSUdfOVBfRlMgaXMgbm90IHNldAogCiAjCiAjIFBhcnRpdGlvbiBUeXBlcwogIwogIyBDT05GSUdfUEFSVElUSU9OX0FEVkFOQ0VEIGlzIG5vdCBzZXQKIENPTkZJR19NU0RPU19QQVJUSVRJT049eQotCi0jCi0jIE5hdGl2ZSBMYW5ndWFnZSBTdXBwb3J0Ci0jCiBDT05GSUdfTkxTPXkKIENPTkZJR19OTFNfREVGQVVMVD0iaXNvODg1OS0xIgogQ09ORklHX05MU19DT0RFUEFHRV80Mzc9eQogIyBDT05GSUdfTkxTX0NPREVQQUdFXzczNyBpcyBub3Qgc2V0CiAjIENPTkZJR19OTFNfQ09ERVBBR0VfNzc1IGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19DT0RFUEFHRV84NTAgaXMgbm90IHNldAorQ09ORklHX05MU19DT0RFUEFHRV84NTA9eQogIyBDT05GSUdfTkxTX0NPREVQQUdFXzg1MiBpcyBub3Qgc2V0CiAjIENPTkZJR19OTFNfQ09ERVBBR0VfODU1IGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19DT0RFUEFHRV84NTcgaXMgbm90IHNldApAQCAtMTE0OCwzMCArMTAyOSwyNCBAQAogIyBDT05GSUdfTkxTX0lTTzg4NTlfMTUgaXMgbm90IHNldAogIyBDT05GSUdfTkxTX0tPSThfUiBpcyBub3Qgc2V0CiAjIENPTkZJR19OTFNfS09JOF9VIGlzIG5vdCBzZXQKLUNPTkZJR19OTFNfVVRGOD15Ci0KLSMKLSMgRGlzdHJpYnV0ZWQgTG9jayBNYW5hZ2VyCi0jCisjIENPTkZJR19OTFNfVVRGOCBpcyBub3Qgc2V0CiAjIENPTkZJR19ETE0gaXMgbm90IHNldAotCi0jCi0jIFByb2ZpbGluZyBzdXBwb3J0Ci0jCi0jIENPTkZJR19QUk9GSUxJTkcgaXMgbm90IHNldAorIyBDT05GSUdfSU5TVFJVTUVOVEFUSU9OIGlzIG5vdCBzZXQKIAogIwogIyBLZXJuZWwgaGFja2luZwogIwogIyBDT05GSUdfUFJJTlRLX1RJTUUgaXMgbm90IHNldAorQ09ORklHX0VOQUJMRV9XQVJOX0RFUFJFQ0FURUQ9eQogQ09ORklHX0VOQUJMRV9NVVNUX0NIRUNLPXkKLUNPTkZJR19NQUdJQ19TWVNSUT15CisjIENPTkZJR19NQUdJQ19TWVNSUSBpcyBub3Qgc2V0CiAjIENPTkZJR19VTlVTRURfU1lNQk9MUyBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19IRUFERVJTX0NIRUNLIGlzIG5vdCBzZXQKIENPTkZJR19ERUJVR19LRVJORUw9eQogIyBDT05GSUdfREVCVUdfU0hJUlEgaXMgbm90IHNldAotIyBDT05GSUdfREVURUNUX1NPRlRMT0NLVVAgaXMgbm90IHNldAorQ09ORklHX0RFVEVDVF9TT0ZUTE9DS1VQPXkKK0NPTkZJR19TQ0hFRF9ERUJVRz15CiAjIENPTkZJR19TQ0hFRFNUQVRTIGlzIG5vdCBzZXQKICMgQ09ORklHX1RJTUVSX1NUQVRTIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX1NMQUIgaXMgbm90IHNldApAQCAtMTE4MSwxOSArMTA1NiwyMyBAQAogIyBDT05GSUdfREVCVUdfTVVURVhFUyBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19MT0NLX0FMTE9DIGlzIG5vdCBzZXQKICMgQ09ORklHX1BST1ZFX0xPQ0tJTkcgaXMgbm90IHNldAorIyBDT05GSUdfTE9DS19TVEFUIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX1NQSU5MT0NLX1NMRUVQIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX0xPQ0tJTkdfQVBJX1NFTEZURVNUUyBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19LT0JKRUNUIGlzIG5vdCBzZXQKLSMgQ09ORklHX0RFQlVHX0JVR1ZFUkJPU0UgaXMgbm90IHNldAotQ09ORklHX0RFQlVHX0lORk89eQorQ09ORklHX0RFQlVHX0JVR1ZFUkJPU0U9eQorIyBDT05GSUdfREVCVUdfSU5GTyBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19WTSBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19MSVNUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFQlVHX1NHIGlzIG5vdCBzZXQKIENPTkZJR19GUkFNRV9QT0lOVEVSPXkKIENPTkZJR19GT1JDRURfSU5MSU5JTkc9eQorIyBDT05GSUdfQk9PVF9QUklOVEtfREVMQVkgaXMgbm90IHNldAogIyBDT05GSUdfUkNVX1RPUlRVUkVfVEVTVCBpcyBub3Qgc2V0CiAjIENPTkZJR19GQVVMVF9JTkpFQ1RJT04gaXMgbm90IHNldAorIyBDT05GSUdfU0FNUExFUyBpcyBub3Qgc2V0CiBDT05GSUdfREVCVUdfVVNFUj15Ci1DT05GSUdfREVCVUdfRVJST1JTPXkKKyMgQ09ORklHX0RFQlVHX0VSUk9SUyBpcyBub3Qgc2V0CiBDT05GSUdfREVCVUdfTEw9eQogIyBDT05GSUdfREVCVUdfSUNFRENDIGlzIG5vdCBzZXQKIApAQCAtMTIwMiw1MSArMTA4MSw0OCBAQAogIwogIyBDT05GSUdfS0VZUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TRUNVUklUWSBpcyBub3Qgc2V0Ci0KLSMKLSMgQ3J5cHRvZ3JhcGhpYyBvcHRpb25zCi0jCisjIENPTkZJR19TRUNVUklUWV9GSUxFX0NBUEFCSUxJVElFUyBpcyBub3Qgc2V0CiBDT05GSUdfQ1JZUFRPPXkKLUNPTkZJR19DUllQVE9fQUxHQVBJPW0KLUNPTkZJR19DUllQVE9fQkxLQ0lQSEVSPW0KLUNPTkZJR19DUllQVE9fTUFOQUdFUj1tCitDT05GSUdfQ1JZUFRPX0FMR0FQST15CitDT05GSUdfQ1JZUFRPX0JMS0NJUEhFUj15CitDT05GSUdfQ1JZUFRPX01BTkFHRVI9eQogIyBDT05GSUdfQ1JZUFRPX0hNQUMgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX1hDQkMgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX05VTEwgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX01ENCBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fTUQ1IGlzIG5vdCBzZXQKK0NPTkZJR19DUllQVE9fTUQ1PXkKICMgQ09ORklHX0NSWVBUT19TSEExIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19TSEEyNTYgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX1NIQTUxMiBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fV1A1MTIgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX1RHUjE5MiBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fR0YxMjhNVUwgaXMgbm90IHNldAotQ09ORklHX0NSWVBUT19FQ0I9bQotQ09ORklHX0NSWVBUT19DQkM9bQotQ09ORklHX0NSWVBUT19QQ0JDPW0KKyMgQ09ORklHX0NSWVBUT19FQ0IgaXMgbm90IHNldAorQ09ORklHX0NSWVBUT19DQkM9eQorIyBDT05GSUdfQ1JZUFRPX1BDQkMgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX0xSVyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fWFRTIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19DUllQVEQgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX0RFUyBpcyBub3Qgc2V0CitDT05GSUdfQ1JZUFRPX0RFUz15CiAjIENPTkZJR19DUllQVE9fRkNSWVBUIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19CTE9XRklTSCBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fVFdPRklTSCBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fU0VSUEVOVCBpcyBub3Qgc2V0Ci1DT05GSUdfQ1JZUFRPX0FFUz1tCisjIENPTkZJR19DUllQVE9fQUVTIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19DQVNUNSBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fQ0FTVDYgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX1RFQSBpcyBub3Qgc2V0Ci1DT05GSUdfQ1JZUFRPX0FSQzQ9bQorIyBDT05GSUdfQ1JZUFRPX0FSQzQgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX0tIQVpBRCBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fQU5VQklTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19TRUVEIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19ERUZMQVRFIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19NSUNIQUVMX01JQyBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fQ1JDMzJDIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19DQU1FTExJQSBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fVEVTVCBpcyBub3Qgc2V0Ci0KLSMKLSMgSGFyZHdhcmUgY3J5cHRvIGRldmljZXMKLSMKKyMgQ09ORklHX0NSWVBUT19BVVRIRU5DIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19IVyBpcyBub3Qgc2V0CiAKICMKICMgTGlicmFyeSByb3V0aW5lcwpAQCAtMTI1Niw2ICsxMTMyLDcgQEAKICMgQ09ORklHX0NSQzE2IGlzIG5vdCBzZXQKICMgQ09ORklHX0NSQ19JVFVfVCBpcyBub3Qgc2V0CiBDT05GSUdfQ1JDMzI9eQorIyBDT05GSUdfQ1JDNyBpcyBub3Qgc2V0CiAjIENPTkZJR19MSUJDUkMzMkMgaXMgbm90IHNldAogQ09ORklHX1pMSUJfSU5GTEFURT15CiBDT05GSUdfWkxJQl9ERUZMQVRFPXkKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2NvbmZpZ3MvZW1feDI3MF9kZWZjb25maWcgYi9hcmNoL2FybS9jb25maWdzL3VzYi1hOTI2M19kZWZjb25maWcKc2ltaWxhcml0eSBpbmRleCA3MCUKcmVuYW1lIGZyb20gYXJjaC9hcm0vY29uZmlncy9lbV94MjcwX2RlZmNvbmZpZwpyZW5hbWUgdG8gYXJjaC9hcm0vY29uZmlncy91c2ItYTkyNjNfZGVmY29uZmlnCmluZGV4IDZiZWEwOTAuLjQ4ZDQ1NWIgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2NvbmZpZ3MvZW1feDI3MF9kZWZjb25maWcKKysrIGIvYXJjaC9hcm0vY29uZmlncy91c2ItYTkyNjNfZGVmY29uZmlnCkBAIC0xLDEzICsxLDEzIEBACiAjCiAjIEF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIG1ha2UgY29uZmlnOiBkb24ndCBlZGl0Ci0jIExpbnV4IGtlcm5lbCB2ZXJzaW9uOiAyLjYuMjIKLSMgTW9uIEp1bCAgOSAxNToxODoyMCAyMDA3CisjIExpbnV4IGtlcm5lbCB2ZXJzaW9uOiAyLjYuMjQKKyMgVHVlIEFwciAxNSAxMToxNToxOSAyMDA4CiAjCiBDT05GSUdfQVJNPXkKIENPTkZJR19TWVNfU1VQUE9SVFNfQVBNX0VNVUxBVElPTj15CiBDT05GSUdfR0VORVJJQ19HUElPPXkKIENPTkZJR19HRU5FUklDX1RJTUU9eQotIyBDT05GSUdfR0VORVJJQ19DTE9DS0VWRU5UUyBpcyBub3Qgc2V0CitDT05GSUdfR0VORVJJQ19DTE9DS0VWRU5UUz15CiBDT05GSUdfTU1VPXkKICMgQ09ORklHX05PX0lPUE9SVCBpcyBub3Qgc2V0CiBDT05GSUdfR0VORVJJQ19IQVJESVJRUz15CkBAIC0yMiw0MSArMjIsMzggQEAKIENPTkZJR19HRU5FUklDX0hXRUlHSFQ9eQogQ09ORklHX0dFTkVSSUNfQ0FMSUJSQVRFX0RFTEFZPXkKIENPTkZJR19aT05FX0RNQT15Ci1DT05GSUdfQVJDSF9NVERfWElQPXkKIENPTkZJR19WRUNUT1JTX0JBU0U9MHhmZmZmMDAwMAogQ09ORklHX0RFRkNPTkZJR19MSVNUPSIvbGliL21vZHVsZXMvJFVOQU1FX1JFTEVBU0UvLmNvbmZpZyIKIAogIwotIyBDb2RlIG1hdHVyaXR5IGxldmVsIG9wdGlvbnMKKyMgR2VuZXJhbCBzZXR1cAogIwogQ09ORklHX0VYUEVSSU1FTlRBTD15CiBDT05GSUdfQlJPS0VOX09OX1NNUD15CiBDT05GSUdfSU5JVF9FTlZfQVJHX0xJTUlUPTMyCi0KLSMKLSMgR2VuZXJhbCBzZXR1cAotIwotQ09ORklHX0xPQ0FMVkVSU0lPTj0iLWVtLXgyNzAiCitDT05GSUdfTE9DQUxWRVJTSU9OPSIiCiAjIENPTkZJR19MT0NBTFZFUlNJT05fQVVUTyBpcyBub3Qgc2V0Ci1DT05GSUdfU1dBUD15CisjIENPTkZJR19TV0FQIGlzIG5vdCBzZXQKIENPTkZJR19TWVNWSVBDPXkKLSMgQ09ORklHX0lQQ19OUyBpcyBub3Qgc2V0CiBDT05GSUdfU1lTVklQQ19TWVNDVEw9eQogIyBDT05GSUdfUE9TSVhfTVFVRVVFIGlzIG5vdCBzZXQKICMgQ09ORklHX0JTRF9QUk9DRVNTX0FDQ1QgaXMgbm90IHNldAogIyBDT05GSUdfVEFTS1NUQVRTIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VUU19OUyBpcyBub3Qgc2V0CisjIENPTkZJR19VU0VSX05TIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BJRF9OUyBpcyBub3Qgc2V0CiAjIENPTkZJR19BVURJVCBpcyBub3Qgc2V0Ci1DT05GSUdfSUtDT05GSUc9eQotQ09ORklHX0lLQ09ORklHX1BST0M9eQotQ09ORklHX0xPR19CVUZfU0hJRlQ9MTcKLUNPTkZJR19TWVNGU19ERVBSRUNBVEVEPXkKKyMgQ09ORklHX0lLQ09ORklHIGlzIG5vdCBzZXQKK0NPTkZJR19MT0dfQlVGX1NISUZUPTE0CisjIENPTkZJR19DR1JPVVBTIGlzIG5vdCBzZXQKK0NPTkZJR19GQUlSX0dST1VQX1NDSEVEPXkKK0NPTkZJR19GQUlSX1VTRVJfU0NIRUQ9eQorIyBDT05GSUdfRkFJUl9DR1JPVVBfU0NIRUQgaXMgbm90IHNldAorIyBDT05GSUdfU1lTRlNfREVQUkVDQVRFRCBpcyBub3Qgc2V0CiAjIENPTkZJR19SRUxBWSBpcyBub3Qgc2V0Ci1DT05GSUdfQkxLX0RFVl9JTklUUkQ9eQotQ09ORklHX0lOSVRSQU1GU19TT1VSQ0U9IiIKLUNPTkZJR19DQ19PUFRJTUlaRV9GT1JfU0laRT15CisjIENPTkZJR19CTEtfREVWX0lOSVRSRCBpcyBub3Qgc2V0CisjIENPTkZJR19DQ19PUFRJTUlaRV9GT1JfU0laRSBpcyBub3Qgc2V0CiBDT05GSUdfU1lTQ1RMPXkKLUNPTkZJR19FTUJFRERFRD15CisjIENPTkZJR19FTUJFRERFRCBpcyBub3Qgc2V0CiBDT05GSUdfVUlEMTY9eQogQ09ORklHX1NZU0NUTF9TWVNDQUxMPXkKIENPTkZJR19LQUxMU1lNUz15CkBAIC03MSw0MiArNjgsMzUgQEAKIENPTkZJR19BTk9OX0lOT0RFUz15CiBDT05GSUdfRVBPTEw9eQogQ09ORklHX1NJR05BTEZEPXkKLUNPTkZJR19USU1FUkZEPXkKIENPTkZJR19FVkVOVEZEPXkKIENPTkZJR19TSE1FTT15CiBDT05GSUdfVk1fRVZFTlRfQ09VTlRFUlM9eQogQ09ORklHX1NMQUI9eQogIyBDT05GSUdfU0xVQiBpcyBub3Qgc2V0CiAjIENPTkZJR19TTE9CIGlzIG5vdCBzZXQKK0NPTkZJR19TTEFCSU5GTz15CiBDT05GSUdfUlRfTVVURVhFUz15CiAjIENPTkZJR19USU5ZX1NITUVNIGlzIG5vdCBzZXQKIENPTkZJR19CQVNFX1NNQUxMPTAKLQotIwotIyBMb2FkYWJsZSBtb2R1bGUgc3VwcG9ydAotIwogQ09ORklHX01PRFVMRVM9eQogQ09ORklHX01PRFVMRV9VTkxPQUQ9eQotQ09ORklHX01PRFVMRV9GT1JDRV9VTkxPQUQ9eQorIyBDT05GSUdfTU9EVUxFX0ZPUkNFX1VOTE9BRCBpcyBub3Qgc2V0CiAjIENPTkZJR19NT0RWRVJTSU9OUyBpcyBub3Qgc2V0CiAjIENPTkZJR19NT0RVTEVfU1JDVkVSU0lPTl9BTEwgaXMgbm90IHNldAogQ09ORklHX0tNT0Q9eQotCi0jCi0jIEJsb2NrIGxheWVyCi0jCiBDT05GSUdfQkxPQ0s9eQogIyBDT05GSUdfTEJEIGlzIG5vdCBzZXQKICMgQ09ORklHX0JMS19ERVZfSU9fVFJBQ0UgaXMgbm90IHNldAogIyBDT05GSUdfTFNGIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JMS19ERVZfQlNHIGlzIG5vdCBzZXQKIAogIwogIyBJTyBTY2hlZHVsZXJzCiAjCiBDT05GSUdfSU9TQ0hFRF9OT09QPXkKIENPTkZJR19JT1NDSEVEX0FTPXkKLUNPTkZJR19JT1NDSEVEX0RFQURMSU5FPXkKLUNPTkZJR19JT1NDSEVEX0NGUT15CisjIENPTkZJR19JT1NDSEVEX0RFQURMSU5FIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lPU0NIRURfQ0ZRIGlzIG5vdCBzZXQKIENPTkZJR19ERUZBVUxUX0FTPXkKICMgQ09ORklHX0RFRkFVTFRfREVBRExJTkUgaXMgbm90IHNldAogIyBDT05GSUdfREVGQVVMVF9DRlEgaXMgbm90IHNldApAQCAtMTIwLDcgKzExMCw3IEBACiAjIENPTkZJR19BUkNIX0lOVEVHUkFUT1IgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9SRUFMVklFVyBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX1ZFUlNBVElMRSBpcyBub3Qgc2V0Ci0jIENPTkZJR19BUkNIX0FUOTEgaXMgbm90IHNldAorQ09ORklHX0FSQ0hfQVQ5MT15CiAjIENPTkZJR19BUkNIX0NMUFM3NTAwIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfQ0xQUzcxMVggaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9DTzI4NSBpcyBub3Qgc2V0CkBAIC0xMzksOCArMTI5LDkgQEAKICMgQ09ORklHX0FSQ0hfTDcyMDAgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9LUzg2OTUgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9OUzlYWFggaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9NWEMgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9QTlg0MDA4IGlzIG5vdCBzZXQKLUNPTkZJR19BUkNIX1BYQT15CisjIENPTkZJR19BUkNIX1BYQSBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX1JQQyBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX1NBMTEwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX1MzQzI0MTAgaXMgbm90IHNldApAQCAtMTUwLDI1ICsxNDEsNTggQEAKICMgQ09ORklHX0FSQ0hfT01BUCBpcyBub3Qgc2V0CiAKICMKLSMgSW50ZWwgUFhBMnh4IEltcGxlbWVudGF0aW9ucworIyBCb290IG9wdGlvbnMKICMKLSMgQ09ORklHX0FSQ0hfTFVCQk9DSyBpcyBub3Qgc2V0Ci0jIENPTkZJR19NQUNIX0xPR0lDUERfUFhBMjcwIGlzIG5vdCBzZXQKLSMgQ09ORklHX01BQ0hfTUFJTlNUT05FIGlzIG5vdCBzZXQKLSMgQ09ORklHX0FSQ0hfUFhBX0lEUCBpcyBub3Qgc2V0Ci0jIENPTkZJR19QWEFfU0hBUlBTTCBpcyBub3Qgc2V0Ci0jIENPTkZJR19NQUNIX1RSSVpFUFM0IGlzIG5vdCBzZXQKLUNPTkZJR19NQUNIX0VNX1gyNzA9eQotQ09ORklHX1BYQTI3eD15CisKKyMKKyMgUG93ZXIgbWFuYWdlbWVudAorIworCisjCisjIEF0bWVsIEFUOTEgU3lzdGVtLW9uLUNoaXAKKyMKKyMgQ09ORklHX0FSQ0hfQVQ5MVJNOTIwMCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0FUOTFTQU05MjYwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfQVQ5MVNBTTkyNjEgaXMgbm90IHNldAorQ09ORklHX0FSQ0hfQVQ5MVNBTTkyNjM9eQorIyBDT05GSUdfQVJDSF9BVDkxU0FNOVJMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfQVQ5MUNBUDkgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9BVDkxWDQwIGlzIG5vdCBzZXQKK0NPTkZJR19BVDkxX1BNQ19VTklUPXkKKworIworIyBBVDkxU0FNOTI2MyBCb2FyZCBUeXBlCisjCisjIENPTkZJR19NQUNIX0FUOTFTQU05MjYzRUsgaXMgbm90IHNldAorQ09ORklHX01BQ0hfVVNCX0E5MjYzPXkKKworIworIyBBVDkxIEJvYXJkIE9wdGlvbnMKKyMKKworIworIyBBVDkxIEZlYXR1cmUgU2VsZWN0aW9ucworIworIyBDT05GSUdfQVQ5MV9QUk9HUkFNTUFCTEVfQ0xPQ0tTIGlzIG5vdCBzZXQKK0NPTkZJR19BVDkxX1NMT1dfQ0xPQ0s9eQorQ09ORklHX0FUOTFfVElNRVJfSFo9MTAwCitDT05GSUdfQVQ5MV9FQVJMWV9EQkdVPXkKKyMgQ09ORklHX0FUOTFfRUFSTFlfVVNBUlQwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FUOTFfRUFSTFlfVVNBUlQxIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FUOTFfRUFSTFlfVVNBUlQyIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FUOTFfRUFSTFlfVVNBUlQzIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FUOTFfRUFSTFlfVVNBUlQ0IGlzIG5vdCBzZXQKKyMgQ09ORklHX0FUOTFfRUFSTFlfVVNBUlQ1IGlzIG5vdCBzZXQKIAogIwogIyBQcm9jZXNzb3IgVHlwZQogIwogQ09ORklHX0NQVV8zMj15Ci1DT05GSUdfQ1BVX1hTQ0FMRT15CitDT05GSUdfQ1BVX0FSTTkyNlQ9eQogQ09ORklHX0NQVV8zMnY1PXkKLUNPTkZJR19DUFVfQUJSVF9FVjVUPXkKK0NPTkZJR19DUFVfQUJSVF9FVjVUSj15CiBDT05GSUdfQ1BVX0NBQ0hFX1ZJVlQ9eQorQ09ORklHX0NQVV9DT1BZX1Y0V0I9eQogQ09ORklHX0NQVV9UTEJfVjRXQkk9eQogQ09ORklHX0NQVV9DUDE1PXkKIENPTkZJR19DUFVfQ1AxNV9NTVU9eQpAQCAtMTc2LDI4ICsyMDAsMjggQEAKICMKICMgUHJvY2Vzc29yIEZlYXR1cmVzCiAjCi1DT05GSUdfQVJNX1RIVU1CPXkKKyMgQ09ORklHX0FSTV9USFVNQiBpcyBub3Qgc2V0CisjIENPTkZJR19DUFVfSUNBQ0hFX0RJU0FCTEUgaXMgbm90IHNldAogIyBDT05GSUdfQ1BVX0RDQUNIRV9ESVNBQkxFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NQVV9EQ0FDSEVfV1JJVEVUSFJPVUdIIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NQVV9DQUNIRV9ST1VORF9ST0JJTiBpcyBub3Qgc2V0CiAjIENPTkZJR19PVVRFUl9DQUNIRSBpcyBub3Qgc2V0Ci1DT05GSUdfSVdNTVhUPXkKLUNPTkZJR19YU0NBTEVfUE1VPXkKIAogIwogIyBCdXMgc3VwcG9ydAogIworIyBDT05GSUdfUENJX1NZU0NBTEwgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9TVVBQT1JUU19NU0kgaXMgbm90IHNldAotCi0jCi0jIFBDQ0FSRCAoUENNQ0lBL0NhcmRCdXMpIHN1cHBvcnQKLSMKICMgQ09ORklHX1BDQ0FSRCBpcyBub3Qgc2V0CiAKICMKICMgS2VybmVsIEZlYXR1cmVzCiAjCiAjIENPTkZJR19USUNLX09ORVNIT1QgaXMgbm90IHNldAorIyBDT05GSUdfTk9fSFogaXMgbm90IHNldAorIyBDT05GSUdfSElHSF9SRVNfVElNRVJTIGlzIG5vdCBzZXQKK0NPTkZJR19HRU5FUklDX0NMT0NLRVZFTlRTX0JVSUxEPXkKICMgQ09ORklHX1BSRUVNUFQgaXMgbm90IHNldAotIyBDT05GSUdfTk9fSURMRV9IWiBpcyBub3Qgc2V0CiBDT05GSUdfSFo9MTAwCiBDT05GSUdfQUVBQkk9eQogQ09ORklHX09BQklfQ09NUEFUPXkKQEAgLTIwOSw5ICsyMzMsMTMgQEAKIENPTkZJR19GTEFUTUVNPXkKIENPTkZJR19GTEFUX05PREVfTUVNX01BUD15CiAjIENPTkZJR19TUEFSU0VNRU1fU1RBVElDIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NQQVJTRU1FTV9WTUVNTUFQX0VOQUJMRSBpcyBub3Qgc2V0CiBDT05GSUdfU1BMSVRfUFRMT0NLX0NQVVM9NDA5NgogIyBDT05GSUdfUkVTT1VSQ0VTXzY0QklUIGlzIG5vdCBzZXQKIENPTkZJR19aT05FX0RNQV9GTEFHPTEKK0NPTkZJR19CT1VOQ0U9eQorQ09ORklHX1ZJUlRfVE9fQlVTPXkKKyMgQ09ORklHX0xFRFMgaXMgbm90IHNldAogQ09ORklHX0FMSUdOTUVOVF9UUkFQPXkKIAogIwpAQCAtMjE5LDcgKzI0Nyw3IEBACiAjCiBDT05GSUdfWkJPT1RfUk9NX1RFWFQ9MHgwCiBDT05GSUdfWkJPT1RfUk9NX0JTUz0weDAKLUNPTkZJR19DTURMSU5FPSIiCitDT05GSUdfQ01ETElORT0ibWVtPTY0TSBjb25zb2xlPXR0eVMwLDExNTIwMCIKICMgQ09ORklHX1hJUF9LRVJORUwgaXMgbm90IHNldAogIyBDT05GSUdfS0VYRUMgaXMgbm90IHNldAogCkBAIC0yMzMsNiArMjYxLDcgQEAKIENPTkZJR19GUEVfTldGUEU9eQogIyBDT05GSUdfRlBFX05XRlBFX1hQIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZQRV9GQVNURlBFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZGUCBpcyBub3Qgc2V0CiAKICMKICMgVXNlcnNwYWNlIGJpbmFyeSBmb3JtYXRzCkBAIC0yNDUsMTAgKzI3NCwxMiBAQAogIyBQb3dlciBtYW5hZ2VtZW50IG9wdGlvbnMKICMKIENPTkZJR19QTT15Ci1DT05GSUdfUE1fTEVHQUNZPXkKKyMgQ09ORklHX1BNX0xFR0FDWSBpcyBub3Qgc2V0CiAjIENPTkZJR19QTV9ERUJVRyBpcyBub3Qgc2V0Ci0jIENPTkZJR19QTV9TWVNGU19ERVBSRUNBVEVEIGlzIG5vdCBzZXQKLUNPTkZJR19BUE1fRU1VTEFUSU9OPW0KK0NPTkZJR19QTV9TTEVFUD15CitDT05GSUdfU1VTUEVORF9VUF9QT1NTSUJMRT15CitDT05GSUdfU1VTUEVORD15CisjIENPTkZJR19BUE1fRU1VTEFUSU9OIGlzIG5vdCBzZXQKIAogIwogIyBOZXR3b3JraW5nCkBAIC0yNjEsMjEgKzI5MiwyNSBAQAogQ09ORklHX1BBQ0tFVD15CiAjIENPTkZJR19QQUNLRVRfTU1BUCBpcyBub3Qgc2V0CiBDT05GSUdfVU5JWD15Ci1DT05GSUdfWEZSTT15Ci0jIENPTkZJR19YRlJNX1VTRVIgaXMgbm90IHNldAotIyBDT05GSUdfWEZSTV9TVUJfUE9MSUNZIGlzIG5vdCBzZXQKLSMgQ09ORklHX1hGUk1fTUlHUkFURSBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRfS0VZIGlzIG5vdCBzZXQKIENPTkZJR19JTkVUPXkKLSMgQ09ORklHX0lQX01VTFRJQ0FTVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19JUF9BRFZBTkNFRF9ST1VURVIgaXMgbm90IHNldAorQ09ORklHX0lQX01VTFRJQ0FTVD15CitDT05GSUdfSVBfQURWQU5DRURfUk9VVEVSPXkKK0NPTkZJR19BU0tfSVBfRklCX0hBU0g9eQorIyBDT05GSUdfSVBfRklCX1RSSUUgaXMgbm90IHNldAogQ09ORklHX0lQX0ZJQl9IQVNIPXkKKyMgQ09ORklHX0lQX01VTFRJUExFX1RBQkxFUyBpcyBub3Qgc2V0CisjIENPTkZJR19JUF9ST1VURV9NVUxUSVBBVEggaXMgbm90IHNldAorQ09ORklHX0lQX1JPVVRFX1ZFUkJPU0U9eQogQ09ORklHX0lQX1BOUD15Ci1DT05GSUdfSVBfUE5QX0RIQ1A9eQorIyBDT05GSUdfSVBfUE5QX0RIQ1AgaXMgbm90IHNldAogQ09ORklHX0lQX1BOUF9CT09UUD15Ci0jIENPTkZJR19JUF9QTlBfUkFSUCBpcyBub3Qgc2V0CitDT05GSUdfSVBfUE5QX1JBUlA9eQogIyBDT05GSUdfTkVUX0lQSVAgaXMgbm90IHNldAogIyBDT05GSUdfTkVUX0lQR1JFIGlzIG5vdCBzZXQKK0NPTkZJR19JUF9NUk9VVEU9eQorQ09ORklHX0lQX1BJTVNNX1YxPXkKK0NPTkZJR19JUF9QSU1TTV9WMj15CiAjIENPTkZJR19BUlBEIGlzIG5vdCBzZXQKICMgQ09ORklHX1NZTl9DT09LSUVTIGlzIG5vdCBzZXQKICMgQ09ORklHX0lORVRfQUggaXMgbm90IHNldApAQCAtMjgzLDExICszMTgsMTEgQEAKICMgQ09ORklHX0lORVRfSVBDT01QIGlzIG5vdCBzZXQKICMgQ09ORklHX0lORVRfWEZSTV9UVU5ORUwgaXMgbm90IHNldAogIyBDT05GSUdfSU5FVF9UVU5ORUwgaXMgbm90IHNldAotQ09ORklHX0lORVRfWEZSTV9NT0RFX1RSQU5TUE9SVD15Ci1DT05GSUdfSU5FVF9YRlJNX01PREVfVFVOTkVMPXkKLUNPTkZJR19JTkVUX1hGUk1fTU9ERV9CRUVUPXkKLUNPTkZJR19JTkVUX0RJQUc9eQotQ09ORklHX0lORVRfVENQX0RJQUc9eQorIyBDT05GSUdfSU5FVF9YRlJNX01PREVfVFJBTlNQT1JUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lORVRfWEZSTV9NT0RFX1RVTk5FTCBpcyBub3Qgc2V0CisjIENPTkZJR19JTkVUX1hGUk1fTU9ERV9CRUVUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lORVRfTFJPIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lORVRfRElBRyBpcyBub3Qgc2V0CiAjIENPTkZJR19UQ1BfQ09OR19BRFZBTkNFRCBpcyBub3Qgc2V0CiBDT05GSUdfVENQX0NPTkdfQ1VCSUM9eQogQ09ORklHX0RFRkFVTFRfVENQX0NPTkc9ImN1YmljIgpAQCAtMzExLDEwICszNDYsNiBAQAogIyBDT05GSUdfTEFQQiBpcyBub3Qgc2V0CiAjIENPTkZJR19FQ09ORVQgaXMgbm90IHNldAogIyBDT05GSUdfV0FOX1JPVVRFUiBpcyBub3Qgc2V0Ci0KLSMKLSMgUW9TIGFuZC9vciBmYWlyIHF1ZXVlaW5nCi0jCiAjIENPTkZJR19ORVRfU0NIRUQgaXMgbm90IHNldAogCiAjCkBAIC0zMjMsMjggKzM1NCw3IEBACiAjIENPTkZJR19ORVRfUEtUR0VOIGlzIG5vdCBzZXQKICMgQ09ORklHX0hBTVJBRElPIGlzIG5vdCBzZXQKICMgQ09ORklHX0lSREEgaXMgbm90IHNldAotQ09ORklHX0JUPW0KLUNPTkZJR19CVF9MMkNBUD1tCi1DT05GSUdfQlRfU0NPPW0KLUNPTkZJR19CVF9SRkNPTU09bQotIyBDT05GSUdfQlRfUkZDT01NX1RUWSBpcyBub3Qgc2V0Ci1DT05GSUdfQlRfQk5FUD1tCi0jIENPTkZJR19CVF9CTkVQX01DX0ZJTFRFUiBpcyBub3Qgc2V0Ci0jIENPTkZJR19CVF9CTkVQX1BST1RPX0ZJTFRFUiBpcyBub3Qgc2V0Ci1DT05GSUdfQlRfSElEUD1tCi0KLSMKLSMgQmx1ZXRvb3RoIGRldmljZSBkcml2ZXJzCi0jCi1DT05GSUdfQlRfSENJVVNCPW0KLSMgQ09ORklHX0JUX0hDSVVTQl9TQ08gaXMgbm90IHNldAotQ09ORklHX0JUX0hDSVVBUlQ9bQotIyBDT05GSUdfQlRfSENJVUFSVF9INCBpcyBub3Qgc2V0Ci0jIENPTkZJR19CVF9IQ0lVQVJUX0JDU1AgaXMgbm90IHNldAotQ09ORklHX0JUX0hDSUJDTTIwM1g9bQotQ09ORklHX0JUX0hDSUJQQTEwWD1tCi1DT05GSUdfQlRfSENJQkZVU0I9bQotIyBDT05GSUdfQlRfSENJVkhDSSBpcyBub3Qgc2V0CisjIENPTkZJR19CVCBpcyBub3Qgc2V0CiAjIENPTkZJR19BRl9SWFJQQyBpcyBub3Qgc2V0CiAKICMKQEAgLTM1MywxMyArMzYzLDkgQEAKICMgQ09ORklHX0NGRzgwMjExIGlzIG5vdCBzZXQKICMgQ09ORklHX1dJUkVMRVNTX0VYVCBpcyBub3Qgc2V0CiAjIENPTkZJR19NQUM4MDIxMSBpcyBub3Qgc2V0Ci1DT05GSUdfSUVFRTgwMjExPW0KLSMgQ09ORklHX0lFRUU4MDIxMV9ERUJVRyBpcyBub3Qgc2V0Ci1DT05GSUdfSUVFRTgwMjExX0NSWVBUX1dFUD1tCi1DT05GSUdfSUVFRTgwMjExX0NSWVBUX0NDTVA9bQotIyBDT05GSUdfSUVFRTgwMjExX0NSWVBUX1RLSVAgaXMgbm90IHNldAotIyBDT05GSUdfSUVFRTgwMjExX1NPRlRNQUMgaXMgbm90IHNldAorIyBDT05GSUdfSUVFRTgwMjExIGlzIG5vdCBzZXQKICMgQ09ORklHX1JGS0lMTCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfOVAgaXMgbm90IHNldAogCiAjCiAjIERldmljZSBEcml2ZXJzCkBAIC0zNjgsMjMgKzM3NCwyMCBAQAogIwogIyBHZW5lcmljIERyaXZlciBPcHRpb25zCiAjCitDT05GSUdfVUVWRU5UX0hFTFBFUl9QQVRIPSIvc2Jpbi9ob3RwbHVnIgogQ09ORklHX1NUQU5EQUxPTkU9eQogQ09ORklHX1BSRVZFTlRfRklSTVdBUkVfQlVJTEQ9eQotQ09ORklHX0ZXX0xPQURFUj15CisjIENPTkZJR19GV19MT0FERVIgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfRFJJVkVSIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX0RFVlJFUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TWVNfSFlQRVJWSVNPUiBpcyBub3Qgc2V0Ci0KLSMKLSMgQ29ubmVjdG9yIC0gdW5pZmllZCB1c2Vyc3BhY2UgPC0+IGtlcm5lbHNwYWNlIGxpbmtlcgotIwogIyBDT05GSUdfQ09OTkVDVE9SIGlzIG5vdCBzZXQKIENPTkZJR19NVEQ9eQogIyBDT05GSUdfTVREX0RFQlVHIGlzIG5vdCBzZXQKLUNPTkZJR19NVERfQ09OQ0FUPXkKKyMgQ09ORklHX01URF9DT05DQVQgaXMgbm90IHNldAogQ09ORklHX01URF9QQVJUSVRJT05TPXkKICMgQ09ORklHX01URF9SRURCT09UX1BBUlRTIGlzIG5vdCBzZXQKLSMgQ09ORklHX01URF9DTURMSU5FX1BBUlRTIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfQ01ETElORV9QQVJUUz15CiAjIENPTkZJR19NVERfQUZTX1BBUlRTIGlzIG5vdCBzZXQKIAogIwpAQCAtMzk4LDE1ICs0MDEsMTMgQEAKICMgQ09ORklHX0lORlRMIGlzIG5vdCBzZXQKICMgQ09ORklHX1JGRF9GVEwgaXMgbm90IHNldAogIyBDT05GSUdfU1NGREMgaXMgbm90IHNldAorIyBDT05GSUdfTVREX09PUFMgaXMgbm90IHNldAogCiAjCiAjIFJBTS9ST00vRmxhc2ggY2hpcCBkcml2ZXJzCiAjCiAjIENPTkZJR19NVERfQ0ZJIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9KRURFQ1BST0JFIGlzIG5vdCBzZXQKLSMgQ09ORklHX01URF9DRklfTk9TV0FQIGlzIG5vdCBzZXQKLSMgQ09ORklHX01URF9DRklfQkVfQllURV9TV0FQIGlzIG5vdCBzZXQKLSMgQ09ORklHX01URF9DRklfTEVfQllURV9TV0FQIGlzIG5vdCBzZXQKIENPTkZJR19NVERfTUFQX0JBTktfV0lEVEhfMT15CiBDT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzI9eQogQ09ORklHX01URF9NQVBfQkFOS19XSURUSF80PXkKQEAgLTQyNSwxMiArNDI2LDEzIEBACiAjIE1hcHBpbmcgZHJpdmVycyBmb3IgY2hpcCBhY2Nlc3MKICMKICMgQ09ORklHX01URF9DT01QTEVYX01BUFBJTkdTIGlzIG5vdCBzZXQKLSMgQ09ORklHX01URF9TSEFSUF9TTCBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfUExBVFJBTSBpcyBub3Qgc2V0CiAKICMKICMgU2VsZi1jb250YWluZWQgTVREIGRldmljZSBkcml2ZXJzCiAjCitDT05GSUdfTVREX0RBVEFGTEFTSD15CisjIENPTkZJR19NVERfTTI1UDgwIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9TTFJBTSBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfUEhSQU0gaXMgbm90IHNldAogIyBDT05GSUdfTVREX01URFJBTSBpcyBub3Qgc2V0CkBAIC00NDYsNTMgKzQ0OCw0MiBAQAogIyBDT05GSUdfTVREX05BTkRfVkVSSUZZX1dSSVRFIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9OQU5EX0VDQ19TTUMgaXMgbm90IHNldAogIyBDT05GSUdfTVREX05BTkRfTVVTRVVNX0lEUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19NVERfTkFORF9IMTkwMCBpcyBub3Qgc2V0CiBDT05GSUdfTVREX05BTkRfSURTPXkKICMgQ09ORklHX01URF9OQU5EX0RJU0tPTkNISVAgaXMgbm90IHNldAotIyBDT05GSUdfTVREX05BTkRfU0hBUlBTTCBpcyBub3Qgc2V0CitDT05GSUdfTVREX05BTkRfQVQ5MT15CitDT05GSUdfTVREX05BTkRfQVQ5MV9FQ0NfU09GVD15CisjIENPTkZJR19NVERfTkFORF9BVDkxX0VDQ19IVyBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfTkFORF9BVDkxX0VDQ19OT05FIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9OQU5EX05BTkRTSU0gaXMgbm90IHNldAotQ09ORklHX01URF9OQU5EX1BMQVRGT1JNPXkKKyMgQ09ORklHX01URF9OQU5EX1BMQVRGT1JNIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9BTEFVREEgaXMgbm90IHNldAogIyBDT05GSUdfTVREX09ORU5BTkQgaXMgbm90IHNldAogCiAjCiAjIFVCSSAtIFVuc29ydGVkIGJsb2NrIGltYWdlcwogIwogIyBDT05GSUdfTVREX1VCSSBpcyBub3Qgc2V0Ci0KLSMKLSMgUGFyYWxsZWwgcG9ydCBzdXBwb3J0Ci0jCiAjIENPTkZJR19QQVJQT1JUIGlzIG5vdCBzZXQKLQotIwotIyBQbHVnIGFuZCBQbGF5IHN1cHBvcnQKLSMKLSMgQ09ORklHX1BOUEFDUEkgaXMgbm90IHNldAotCi0jCi0jIEJsb2NrIGRldmljZXMKLSMKK0NPTkZJR19CTEtfREVWPXkKICMgQ09ORklHX0JMS19ERVZfQ09XX0NPTU1PTiBpcyBub3Qgc2V0CiBDT05GSUdfQkxLX0RFVl9MT09QPXkKICMgQ09ORklHX0JMS19ERVZfQ1JZUFRPTE9PUCBpcyBub3Qgc2V0CiAjIENPTkZJR19CTEtfREVWX05CRCBpcyBub3Qgc2V0CiAjIENPTkZJR19CTEtfREVWX1VCIGlzIG5vdCBzZXQKLUNPTkZJR19CTEtfREVWX1JBTT15Ci1DT05GSUdfQkxLX0RFVl9SQU1fQ09VTlQ9MTYKLUNPTkZJR19CTEtfREVWX1JBTV9TSVpFPTEyMDAwCi1DT05GSUdfQkxLX0RFVl9SQU1fQkxPQ0tTSVpFPTEwMjQKKyMgQ09ORklHX0JMS19ERVZfUkFNIGlzIG5vdCBzZXQKICMgQ09ORklHX0NEUk9NX1BLVENEVkQgaXMgbm90IHNldAogIyBDT05GSUdfQVRBX09WRVJfRVRIIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lERSBpcyBub3Qgc2V0CisjIENPTkZJR19NSVNDX0RFVklDRVMgaXMgbm90IHNldAogCiAjCiAjIFNDU0kgZGV2aWNlIHN1cHBvcnQKICMKICMgQ09ORklHX1JBSURfQVRUUlMgaXMgbm90IHNldAogQ09ORklHX1NDU0k9eQorQ09ORklHX1NDU0lfRE1BPXkKICMgQ09ORklHX1NDU0lfVEdUIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfTkVUTElOSyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX1BST0NfRlMgaXMgbm90IHNldAorQ09ORklHX1NDU0lfUFJPQ19GUz15CiAKICMKICMgU0NTSSBzdXBwb3J0IHR5cGUgKGRpc2ssIHRhcGUsIENELVJPTSkKQEAgLTUwNyw3ICs0OTgsNyBAQAogIwogIyBTb21lIFNDU0kgZGV2aWNlcyAoZS5nLiBDRCBqdWtlYm94KSBzdXBwb3J0IG11bHRpcGxlIExVTnMKICMKLSMgQ09ORklHX1NDU0lfTVVMVElfTFVOIGlzIG5vdCBzZXQKK0NPTkZJR19TQ1NJX01VTFRJX0xVTj15CiAjIENPTkZJR19TQ1NJX0NPTlNUQU5UUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX0xPR0dJTkcgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9TQ0FOX0FTWU5DIGlzIG5vdCBzZXQKQEAgLTUxOSw0MSArNTEwLDUwIEBACiAjIENPTkZJR19TQ1NJX1NQSV9BVFRSUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX0ZDX0FUVFJTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfSVNDU0lfQVRUUlMgaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9TQVNfQVRUUlMgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9TQVNfTElCU0FTIGlzIG5vdCBzZXQKLQotIwotIyBTQ1NJIGxvdy1sZXZlbCBkcml2ZXJzCi0jCisjIENPTkZJR19TQ1NJX1NSUF9BVFRSUyBpcyBub3Qgc2V0CitDT05GSUdfU0NTSV9MT1dMRVZFTD15CiAjIENPTkZJR19JU0NTSV9UQ1AgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9ERUJVRyBpcyBub3Qgc2V0CiAjIENPTkZJR19BVEEgaXMgbm90IHNldAotCi0jCi0jIE11bHRpLWRldmljZSBzdXBwb3J0IChSQUlEIGFuZCBMVk0pCi0jCiAjIENPTkZJR19NRCBpcyBub3Qgc2V0Ci0KLSMKLSMgTmV0d29yayBkZXZpY2Ugc3VwcG9ydAotIwogQ09ORklHX05FVERFVklDRVM9eQorIyBDT05GSUdfTkVUREVWSUNFU19NVUxUSVFVRVVFIGlzIG5vdCBzZXQKICMgQ09ORklHX0RVTU1ZIGlzIG5vdCBzZXQKICMgQ09ORklHX0JPTkRJTkcgaXMgbm90IHNldAorIyBDT05GSUdfTUFDVkxBTiBpcyBub3Qgc2V0CiAjIENPTkZJR19FUVVBTElaRVIgaXMgbm90IHNldAogIyBDT05GSUdfVFVOIGlzIG5vdCBzZXQKLSMgQ09ORklHX1BIWUxJQiBpcyBub3Qgc2V0CisjIENPTkZJR19WRVRIIGlzIG5vdCBzZXQKK0NPTkZJR19QSFlMSUI9eQogCiAjCi0jIEV0aGVybmV0ICgxMCBvciAxMDBNYml0KQorIyBNSUkgUEhZIGRldmljZSBkcml2ZXJzCiAjCisjIENPTkZJR19NQVJWRUxMX1BIWSBpcyBub3Qgc2V0CisjIENPTkZJR19EQVZJQ09NX1BIWSBpcyBub3Qgc2V0CisjIENPTkZJR19RU0VNSV9QSFkgaXMgbm90IHNldAorIyBDT05GSUdfTFhUX1BIWSBpcyBub3Qgc2V0CisjIENPTkZJR19DSUNBREFfUEhZIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZJVEVTU0VfUEhZIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NNU0NfUEhZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JST0FEQ09NX1BIWSBpcyBub3Qgc2V0CisjIENPTkZJR19JQ1BMVVNfUEhZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZJWEVEX1BIWSBpcyBub3Qgc2V0CisjIENPTkZJR19NRElPX0JJVEJBTkcgaXMgbm90IHNldAogQ09ORklHX05FVF9FVEhFUk5FVD15CiBDT05GSUdfTUlJPXkKK0NPTkZJR19NQUNCPXkKKyMgQ09ORklHX0FYODg3OTYgaXMgbm90IHNldAogIyBDT05GSUdfU01DOTFYIGlzIG5vdCBzZXQKLUNPTkZJR19ETTkwMDA9eQotIyBDT05GSUdfU01DOTExWCBpcyBub3Qgc2V0Ci0jIENPTkZJR19ORVRERVZfMTAwMCBpcyBub3Qgc2V0Ci0jIENPTkZJR19ORVRERVZfMTAwMDAgaXMgbm90IHNldAorIyBDT05GSUdfRE05MDAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTV9ORVdfRU1BQ19aTUlJIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTV9ORVdfRU1BQ19SR01JSSBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfVEFIIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTV9ORVdfRU1BQ19FTUFDNCBpcyBub3Qgc2V0CisjIENPTkZJR19CNDQgaXMgbm90IHNldAorQ09ORklHX05FVERFVl8xMDAwPXkKK0NPTkZJR19ORVRERVZfMTAwMDA9eQogCiAjCiAjIFdpcmVsZXNzIExBTgpAQCAtNTY4LDcgKzU2OCw2IEBACiAjIENPTkZJR19VU0JfS0FXRVRIIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9QRUdBU1VTIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9SVEw4MTUwIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9VU0JORVRfTUlJIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9VU0JORVQgaXMgbm90IHNldAogIyBDT05GSUdfV0FOIGlzIG5vdCBzZXQKICMgQ09ORklHX1BQUCBpcyBub3Qgc2V0CkBAIC01NzcsMTAgKzU3Niw2IEBACiAjIENPTkZJR19ORVRDT05TT0xFIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVFBPTEwgaXMgbm90IHNldAogIyBDT05GSUdfTkVUX1BPTExfQ09OVFJPTExFUiBpcyBub3Qgc2V0Ci0KLSMKLSMgSVNETiBzdWJzeXN0ZW0KLSMKICMgQ09ORklHX0lTRE4gaXMgbm90IHNldAogCiAjCkBAIC01OTgsOSArNTkzLDggQEAKIENPTkZJR19JTlBVVF9NT1VTRURFVl9TQ1JFRU5fWD0xMDI0CiBDT05GSUdfSU5QVVRfTU9VU0VERVZfU0NSRUVOX1k9NzY4CiAjIENPTkZJR19JTlBVVF9KT1lERVYgaXMgbm90IHNldAotIyBDT05GSUdfSU5QVVRfVFNERVYgaXMgbm90IHNldAogQ09ORklHX0lOUFVUX0VWREVWPXkKLSMgQ09ORklHX0lOUFVUX0VWQlVHIGlzIG5vdCBzZXQKK0NPTkZJR19JTlBVVF9FVkJVRz15CiAKICMKICMgSW5wdXQgRGV2aWNlIERyaXZlcnMKQEAgLTYxMiwzMCArNjA2LDE3IEBACiAjIENPTkZJR19LRVlCT0FSRF9YVEtCRCBpcyBub3Qgc2V0CiAjIENPTkZJR19LRVlCT0FSRF9ORVdUT04gaXMgbm90IHNldAogIyBDT05GSUdfS0VZQk9BUkRfU1RPV0FXQVkgaXMgbm90IHNldAotQ09ORklHX0tFWUJPQVJEX1BYQTI3eD1tCi0jIENPTkZJR19LRVlCT0FSRF9HUElPIGlzIG5vdCBzZXQKK0NPTkZJR19LRVlCT0FSRF9HUElPPXkKICMgQ09ORklHX0lOUFVUX01PVVNFIGlzIG5vdCBzZXQKICMgQ09ORklHX0lOUFVUX0pPWVNUSUNLIGlzIG5vdCBzZXQKICMgQ09ORklHX0lOUFVUX1RBQkxFVCBpcyBub3Qgc2V0Ci1DT05GSUdfSU5QVVRfVE9VQ0hTQ1JFRU49eQotIyBDT05GSUdfVE9VQ0hTQ1JFRU5fR1VOWkUgaXMgbm90IHNldAotIyBDT05GSUdfVE9VQ0hTQ1JFRU5fRUxPIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RPVUNIU0NSRUVOX01UT1VDSCBpcyBub3Qgc2V0Ci0jIENPTkZJR19UT1VDSFNDUkVFTl9NSzcxMiBpcyBub3Qgc2V0Ci0jIENPTkZJR19UT1VDSFNDUkVFTl9QRU5NT1VOVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19UT1VDSFNDUkVFTl9UT1VDSFJJR0hUIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RPVUNIU0NSRUVOX1RPVUNIV0lOIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RPVUNIU0NSRUVOX1VDQjE0MDAgaXMgbm90IHNldAotIyBDT05GSUdfVE9VQ0hTQ1JFRU5fVVNCX0NPTVBPU0lURSBpcyBub3Qgc2V0CisjIENPTkZJR19JTlBVVF9UT1VDSFNDUkVFTiBpcyBub3Qgc2V0CiAjIENPTkZJR19JTlBVVF9NSVNDIGlzIG5vdCBzZXQKIAogIwogIyBIYXJkd2FyZSBJL08gcG9ydHMKICMKLUNPTkZJR19TRVJJTz15Ci0jIENPTkZJR19TRVJJT19TRVJQT1JUIGlzIG5vdCBzZXQKLUNPTkZJR19TRVJJT19MSUJQUzI9eQotIyBDT05GSUdfU0VSSU9fUkFXIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFUklPIGlzIG5vdCBzZXQKICMgQ09ORklHX0dBTUVQT1JUIGlzIG5vdCBzZXQKIAogIwpAQCAtNjU1LDQ1ICs2MzYsNTEgQEAKICMKICMgTm9uLTgyNTAgc2VyaWFsIHBvcnQgc3VwcG9ydAogIwotQ09ORklHX1NFUklBTF9QWEE9eQotQ09ORklHX1NFUklBTF9QWEFfQ09OU09MRT15CitDT05GSUdfU0VSSUFMX0FUTUVMPXkKK0NPTkZJR19TRVJJQUxfQVRNRUxfQ09OU09MRT15CisjIENPTkZJR19TRVJJQUxfQVRNRUxfVFRZQVQgaXMgbm90IHNldAogQ09ORklHX1NFUklBTF9DT1JFPXkKIENPTkZJR19TRVJJQUxfQ09SRV9DT05TT0xFPXkKIENPTkZJR19VTklYOThfUFRZUz15CiBDT05GSUdfTEVHQUNZX1BUWVM9eQogQ09ORklHX0xFR0FDWV9QVFlfQ09VTlQ9MjU2Ci0KLSMKLSMgSVBNSQotIwogIyBDT05GSUdfSVBNSV9IQU5ETEVSIGlzIG5vdCBzZXQKLSMgQ09ORklHX1dBVENIRE9HIGlzIG5vdCBzZXQKLUNPTkZJR19IV19SQU5ET009bQorQ09ORklHX0hXX1JBTkRPTT15CiAjIENPTkZJR19OVlJBTSBpcyBub3Qgc2V0CiAjIENPTkZJR19SMzk2NCBpcyBub3Qgc2V0CiAjIENPTkZJR19SQVdfRFJJVkVSIGlzIG5vdCBzZXQKLQotIwotIyBUUE0gZGV2aWNlcwotIwogIyBDT05GSUdfVENHX1RQTSBpcyBub3Qgc2V0CiAjIENPTkZJR19JMkMgaXMgbm90IHNldAogCiAjCiAjIFNQSSBzdXBwb3J0CiAjCi0jIENPTkZJR19TUEkgaXMgbm90IHNldAotIyBDT05GSUdfU1BJX01BU1RFUiBpcyBub3Qgc2V0CitDT05GSUdfU1BJPXkKKyMgQ09ORklHX1NQSV9ERUJVRyBpcyBub3Qgc2V0CitDT05GSUdfU1BJX01BU1RFUj15CiAKICMKLSMgRGFsbGFzJ3MgMS13aXJlIGJ1cworIyBTUEkgTWFzdGVyIENvbnRyb2xsZXIgRHJpdmVycwogIworQ09ORklHX1NQSV9BVE1FTD15CisjIENPTkZJR19TUElfQklUQkFORyBpcyBub3Qgc2V0CisKKyMKKyMgU1BJIFByb3RvY29sIE1hc3RlcnMKKyMKKyMgQ09ORklHX1NQSV9BVDI1IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NQSV9TUElERVYgaXMgbm90IHNldAorIyBDT05GSUdfU1BJX1RMRTYyWDAgaXMgbm90IHNldAogIyBDT05GSUdfVzEgaXMgbm90IHNldAorIyBDT05GSUdfUE9XRVJfU1VQUExZIGlzIG5vdCBzZXQKICMgQ09ORklHX0hXTU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX1dBVENIRE9HIGlzIG5vdCBzZXQKIAogIwotIyBNaXNjIGRldmljZXMKKyMgU29uaWNzIFNpbGljb24gQmFja3BsYW5lCiAjCitDT05GSUdfU1NCX1BPU1NJQkxFPXkKKyMgQ09ORklHX1NTQiBpcyBub3Qgc2V0CiAKICMKICMgTXVsdGlmdW5jdGlvbiBkZXZpY2UgZHJpdmVycwpAQCAtNzAxLDE5ICs2ODgsNiBAQAogIyBDT05GSUdfTUZEX1NNNTAxIGlzIG5vdCBzZXQKIAogIwotIyBMRUQgZGV2aWNlcwotIwotIyBDT05GSUdfTkVXX0xFRFMgaXMgbm90IHNldAotCi0jCi0jIExFRCBkcml2ZXJzCi0jCi0KLSMKLSMgTEVEIFRyaWdnZXJzCi0jCi0KLSMKICMgTXVsdGltZWRpYSBkZXZpY2VzCiAjCiAjIENPTkZJR19WSURFT19ERVYgaXMgbm90IHNldApAQCAtNzIzLDEyNSArNjk3LDQyIEBACiAjCiAjIEdyYXBoaWNzIHN1cHBvcnQKICMKKyMgQ09ORklHX1ZHQVNUQVRFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZJREVPX09VVFBVVF9DT05UUk9MIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCIGlzIG5vdCBzZXQKICMgQ09ORklHX0JBQ0tMSUdIVF9MQ0RfU1VQUE9SVCBpcyBub3Qgc2V0CiAKICMKICMgRGlzcGxheSBkZXZpY2Ugc3VwcG9ydAogIwogIyBDT05GSUdfRElTUExBWV9TVVBQT1JUIGlzIG5vdCBzZXQKLSMgQ09ORklHX1ZHQVNUQVRFIGlzIG5vdCBzZXQKLUNPTkZJR19GQj15Ci0jIENPTkZJR19GSVJNV0FSRV9FRElEIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX0REQyBpcyBub3Qgc2V0Ci1DT05GSUdfRkJfQ0ZCX0ZJTExSRUNUPXkKLUNPTkZJR19GQl9DRkJfQ09QWUFSRUE9eQotQ09ORklHX0ZCX0NGQl9JTUFHRUJMSVQ9eQotIyBDT05GSUdfRkJfU1lTX0ZJTExSRUNUIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX1NZU19DT1BZQVJFQSBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9TWVNfSU1BR0VCTElUIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX1NZU19GT1BTIGlzIG5vdCBzZXQKLUNPTkZJR19GQl9ERUZFUlJFRF9JTz15Ci0jIENPTkZJR19GQl9TVkdBTElCIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX01BQ01PREVTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX0JBQ0tMSUdIVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9NT0RFX0hFTFBFUlMgaXMgbm90IHNldAotIyBDT05GSUdfRkJfVElMRUJMSVRUSU5HIGlzIG5vdCBzZXQKLQotIwotIyBGcmFtZSBidWZmZXIgaGFyZHdhcmUgZHJpdmVycwotIwotIyBDT05GSUdfRkJfUzFEMTNYWFggaXMgbm90IHNldAotQ09ORklHX0ZCX1BYQT15Ci0jIENPTkZJR19GQl9QWEFfUEFSQU1FVEVSUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9NQlggaXMgbm90IHNldAotIyBDT05GSUdfRkJfVklSVFVBTCBpcyBub3Qgc2V0CiAKICMKICMgQ29uc29sZSBkaXNwbGF5IGRyaXZlciBzdXBwb3J0CiAjCiAjIENPTkZJR19WR0FfQ09OU09MRSBpcyBub3Qgc2V0CiBDT05GSUdfRFVNTVlfQ09OU09MRT15Ci1DT05GSUdfRlJBTUVCVUZGRVJfQ09OU09MRT15Ci0jIENPTkZJR19GUkFNRUJVRkZFUl9DT05TT0xFX1JPVEFUSU9OIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZPTlRTIGlzIG5vdCBzZXQKLUNPTkZJR19GT05UXzh4OD15Ci1DT05GSUdfRk9OVF84eDE2PXkKLUNPTkZJR19MT0dPPXkKLUNPTkZJR19MT0dPX0xJTlVYX01PTk89eQotQ09ORklHX0xPR09fTElOVVhfVkdBMTY9eQotQ09ORklHX0xPR09fTElOVVhfQ0xVVDIyND15CiAKICMKICMgU291bmQKICMKLUNPTkZJR19TT1VORD1tCi0KLSMKLSMgQWR2YW5jZWQgTGludXggU291bmQgQXJjaGl0ZWN0dXJlCi0jCi1DT05GSUdfU05EPW0KLUNPTkZJR19TTkRfVElNRVI9bQotQ09ORklHX1NORF9QQ009bQotIyBDT05GSUdfU05EX1NFUVVFTkNFUiBpcyBub3Qgc2V0Ci1DT05GSUdfU05EX09TU0VNVUw9eQotQ09ORklHX1NORF9NSVhFUl9PU1M9bQotQ09ORklHX1NORF9QQ01fT1NTPW0KLUNPTkZJR19TTkRfUENNX09TU19QTFVHSU5TPXkKLSMgQ09ORklHX1NORF9EWU5BTUlDX01JTk9SUyBpcyBub3Qgc2V0Ci1DT05GSUdfU05EX1NVUFBPUlRfT0xEX0FQST15Ci1DT05GSUdfU05EX1ZFUkJPU0VfUFJPQ0ZTPXkKLSMgQ09ORklHX1NORF9WRVJCT1NFX1BSSU5USyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfREVCVUcgaXMgbm90IHNldAotCi0jCi0jIEdlbmVyaWMgZGV2aWNlcwotIwotQ09ORklHX1NORF9BQzk3X0NPREVDPW0KLSMgQ09ORklHX1NORF9EVU1NWSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfTVRQQVYgaXMgbm90IHNldAotIyBDT05GSUdfU05EX1NFUklBTF9VMTY1NTAgaXMgbm90IHNldAotIyBDT05GSUdfU05EX01QVTQwMSBpcyBub3Qgc2V0Ci0KLSMKLSMgQUxTQSBBUk0gZGV2aWNlcwotIwotQ09ORklHX1NORF9QWEEyWFhfUENNPW0KLUNPTkZJR19TTkRfUFhBMlhYX0FDOTc9bQotCi0jCi0jIFVTQiBkZXZpY2VzCi0jCi0jIENPTkZJR19TTkRfVVNCX0FVRElPIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9VU0JfQ0FJQVEgaXMgbm90IHNldAotCi0jCi0jIFN5c3RlbSBvbiBDaGlwIGF1ZGlvIHN1cHBvcnQKLSMKLSMgQ09ORklHX1NORF9TT0MgaXMgbm90IHNldAotCi0jCi0jIE9wZW4gU291bmQgU3lzdGVtCi0jCi0jIENPTkZJR19TT1VORF9QUklNRSBpcyBub3Qgc2V0Ci1DT05GSUdfQUM5N19CVVM9bQotCi0jCi0jIEhJRCBEZXZpY2VzCi0jCisjIENPTkZJR19TT1VORCBpcyBub3Qgc2V0CitDT05GSUdfSElEX1NVUFBPUlQ9eQogQ09ORklHX0hJRD15CiAjIENPTkZJR19ISURfREVCVUcgaXMgbm90IHNldAorIyBDT05GSUdfSElEUkFXIGlzIG5vdCBzZXQKIAogIwogIyBVU0IgSW5wdXQgRGV2aWNlcwogIwotQ09ORklHX1VTQl9ISUQ9eQotIyBDT05GSUdfVVNCX0hJRElOUFVUX1BPV0VSQk9PSyBpcyBub3Qgc2V0Ci0jIENPTkZJR19ISURfRkYgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX0hJRERFViBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfSElEIGlzIG5vdCBzZXQKIAogIwotIyBVU0Igc3VwcG9ydAorIyBVU0IgSElEIEJvb3QgUHJvdG9jb2wgZHJpdmVycwogIworIyBDT05GSUdfVVNCX0tCRCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfTU9VU0UgaXMgbm90IHNldAorQ09ORklHX1VTQl9TVVBQT1JUPXkKIENPTkZJR19VU0JfQVJDSF9IQVNfSENEPXkKIENPTkZJR19VU0JfQVJDSF9IQVNfT0hDST15CiAjIENPTkZJR19VU0JfQVJDSF9IQVNfRUhDSSBpcyBub3Qgc2V0CkBAIC04NTIsOSArNzQzLDEwIEBACiAjIE1pc2NlbGxhbmVvdXMgVVNCIG9wdGlvbnMKICMKIENPTkZJR19VU0JfREVWSUNFRlM9eQotIyBDT05GSUdfVVNCX0RFVklDRV9DTEFTUyBpcyBub3Qgc2V0CitDT05GSUdfVVNCX0RFVklDRV9DTEFTUz15CiAjIENPTkZJR19VU0JfRFlOQU1JQ19NSU5PUlMgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1NVU1BFTkQgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1BFUlNJU1QgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX09URyBpcyBub3Qgc2V0CiAKICMKQEAgLTg2Niw2ICs3NTgsNyBAQAogIyBDT05GSUdfVVNCX09IQ0lfQklHX0VORElBTl9NTUlPIGlzIG5vdCBzZXQKIENPTkZJR19VU0JfT0hDSV9MSVRUTEVfRU5ESUFOPXkKICMgQ09ORklHX1VTQl9TTDgxMV9IQ0QgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1I4QTY2NTk3X0hDRCBpcyBub3Qgc2V0CiAKICMKICMgVVNCIERldmljZSBDbGFzcyBkcml2ZXJzCkBAIC04ODQsNiArNzc3LDcgQEAKICMgQ09ORklHX1VTQl9TVE9SQUdFX0RFQlVHIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9TVE9SQUdFX0RBVEFGQUIgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1NUT1JBR0VfRlJFRUNPTSBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU1RPUkFHRV9JU0QyMDAgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1NUT1JBR0VfRFBDTSBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfU1RPUkFHRV9VU0JBVCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfU1RPUkFHRV9TRERSMDkgaXMgbm90IHNldApAQCAtODk4LDcgKzc5Miw3IEBACiAjCiAjIENPTkZJR19VU0JfTURDODAwIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9NSUNST1RFSyBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfTU9OIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfTU9OPXkKIAogIwogIyBVU0IgcG9ydCBkcml2ZXJzCkBAIC05MzksNTcgKzgzMyw0OCBAQAogIwogIyBVU0IgR2FkZ2V0IFN1cHBvcnQKICMKLSMgQ09ORklHX1VTQl9HQURHRVQgaXMgbm90IHNldAotQ09ORklHX01NQz1tCi0jIENPTkZJR19NTUNfREVCVUcgaXMgbm90IHNldAotIyBDT05GSUdfTU1DX1VOU0FGRV9SRVNVTUUgaXMgbm90IHNldAorQ09ORklHX1VTQl9HQURHRVQ9eQorIyBDT05GSUdfVVNCX0dBREdFVF9ERUJVRyBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfR0FER0VUX0RFQlVHX0ZJTEVTIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfR0FER0VUX1NFTEVDVEVEPXkKKyMgQ09ORklHX1VTQl9HQURHRVRfQU1ENTUzNlVEQyBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfR0FER0VUX0FUTUVMX1VTQkEgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0dBREdFVF9GU0xfVVNCMiBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfR0FER0VUX05FVDIyODAgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0dBREdFVF9QWEEyWFggaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0dBREdFVF9NNjY1OTIgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0dBREdFVF9HT0tVIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9HQURHRVRfTEg3QTQwWCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfR0FER0VUX09NQVAgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0dBREdFVF9TM0MyNDEwIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfR0FER0VUX0FUOTE9eQorQ09ORklHX1VTQl9BVDkxPXkKKyMgQ09ORklHX1VTQl9HQURHRVRfRFVNTVlfSENEIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9HQURHRVRfRFVBTFNQRUVEIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9aRVJPIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfRVRIPXkKK0NPTkZJR19VU0JfRVRIX1JORElTPXkKKyMgQ09ORklHX1VTQl9HQURHRVRGUyBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfRklMRV9TVE9SQUdFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9HX1NFUklBTCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfTUlESV9HQURHRVQgaXMgbm90IHNldAorIyBDT05GSUdfTU1DIGlzIG5vdCBzZXQKK0NPTkZJR19ORVdfTEVEUz15CitDT05GSUdfTEVEU19DTEFTUz15CiAKICMKLSMgTU1DL1NEIENhcmQgRHJpdmVycworIyBMRUQgZHJpdmVycwogIwotQ09ORklHX01NQ19CTE9DSz1tCitDT05GSUdfTEVEU19HUElPPXkKIAogIwotIyBNTUMvU0QgSG9zdCBDb250cm9sbGVyIERyaXZlcnMKKyMgTEVEIFRyaWdnZXJzCiAjCi1DT05GSUdfTU1DX1BYQT1tCi0KLSMKLSMgUmVhbCBUaW1lIENsb2NrCi0jCitDT05GSUdfTEVEU19UUklHR0VSUz15CisjIENPTkZJR19MRURTX1RSSUdHRVJfVElNRVIgaXMgbm90IHNldAorQ09ORklHX0xFRFNfVFJJR0dFUl9IRUFSVEJFQVQ9eQogQ09ORklHX1JUQ19MSUI9eQotQ09ORklHX1JUQ19DTEFTUz1tCi0KLSMKLSMgUlRDIGludGVyZmFjZXMKLSMKLUNPTkZJR19SVENfSU5URl9TWVNGUz15Ci1DT05GSUdfUlRDX0lOVEZfUFJPQz15Ci1DT05GSUdfUlRDX0lOVEZfREVWPXkKLSMgQ09ORklHX1JUQ19JTlRGX0RFVl9VSUVfRU1VTCBpcyBub3Qgc2V0Ci0jIENPTkZJR19SVENfRFJWX1RFU1QgaXMgbm90IHNldAotCi0jCi0jIEkyQyBSVEMgZHJpdmVycwotIwotCi0jCi0jIFNQSSBSVEMgZHJpdmVycwotIwotCi0jCi0jIFBsYXRmb3JtIFJUQyBkcml2ZXJzCi0jCi0jIENPTkZJR19SVENfRFJWX0NNT1MgaXMgbm90IHNldAotIyBDT05GSUdfUlRDX0RSVl9EUzE1NTMgaXMgbm90IHNldAotIyBDT05GSUdfUlRDX0RSVl9EUzE3NDIgaXMgbm90IHNldAotIyBDT05GSUdfUlRDX0RSVl9NNDhUODYgaXMgbm90IHNldAotQ09ORklHX1JUQ19EUlZfVjMwMjA9bQotCi0jCi0jIG9uLUNQVSBSVEMgZHJpdmVycwotIwotQ09ORklHX1JUQ19EUlZfU0ExMTAwPW0KKyMgQ09ORklHX1JUQ19DTEFTUyBpcyBub3Qgc2V0CiAKICMKICMgRmlsZSBzeXN0ZW1zCkBAIC05OTcsMTcgKzg4MiwxMSBAQAogQ09ORklHX0VYVDJfRlM9eQogIyBDT05GSUdfRVhUMl9GU19YQVRUUiBpcyBub3Qgc2V0CiAjIENPTkZJR19FWFQyX0ZTX1hJUCBpcyBub3Qgc2V0Ci1DT05GSUdfRVhUM19GUz15Ci1DT05GSUdfRVhUM19GU19YQVRUUj15Ci0jIENPTkZJR19FWFQzX0ZTX1BPU0lYX0FDTCBpcyBub3Qgc2V0Ci0jIENPTkZJR19FWFQzX0ZTX1NFQ1VSSVRZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0VYVDNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfRVhUNERFVl9GUyBpcyBub3Qgc2V0Ci1DT05GSUdfSkJEPXkKLSMgQ09ORklHX0pCRF9ERUJVRyBpcyBub3Qgc2V0Ci1DT05GSUdfRlNfTUJDQUNIRT15CiAjIENPTkZJR19SRUlTRVJGU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19KRlNfRlMgaXMgbm90IHNldAotIyBDT05GSUdfRlNfUE9TSVhfQUNMIGlzIG5vdCBzZXQKK0NPTkZJR19GU19QT1NJWF9BQ0w9eQogIyBDT05GSUdfWEZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0dGUzJfRlMgaXMgbm90IHNldAogIyBDT05GSUdfT0NGUzJfRlMgaXMgbm90IHNldApAQCAtMTAxOSw3ICs4OTgsNyBAQAogQ09ORklHX0ROT1RJRlk9eQogIyBDT05GSUdfQVVUT0ZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0FVVE9GUzRfRlMgaXMgbm90IHNldAotIyBDT05GSUdfRlVTRV9GUyBpcyBub3Qgc2V0CitDT05GSUdfRlVTRV9GUz1tCiAKICMKICMgQ0QtUk9NL0RWRCBGaWxlc3lzdGVtcwpAQCAtMTAzMSw3ICs5MTAsNyBAQAogIyBET1MvRkFUL05UIEZpbGVzeXN0ZW1zCiAjCiBDT05GSUdfRkFUX0ZTPXkKLUNPTkZJR19NU0RPU19GUz15CisjIENPTkZJR19NU0RPU19GUyBpcyBub3Qgc2V0CiBDT05GSUdfVkZBVF9GUz15CiBDT05GSUdfRkFUX0RFRkFVTFRfQ09ERVBBR0U9NDM3CiBDT05GSUdfRkFUX0RFRkFVTFRfSU9DSEFSU0VUPSJpc284ODU5LTEiCkBAIC0xMDQ2LDcgKzkyNSw2IEBACiBDT05GSUdfVE1QRlM9eQogIyBDT05GSUdfVE1QRlNfUE9TSVhfQUNMIGlzIG5vdCBzZXQKICMgQ09ORklHX0hVR0VUTEJfUEFHRSBpcyBub3Qgc2V0Ci1DT05GSUdfUkFNRlM9eQogIyBDT05GSUdfQ09ORklHRlNfRlMgaXMgbm90IHNldAogCiAjCkBAIC0xMDYyLDEwICs5NDAsMTIgQEAKIENPTkZJR19KRkZTMl9GUz15CiBDT05GSUdfSkZGUzJfRlNfREVCVUc9MAogQ09ORklHX0pGRlMyX0ZTX1dSSVRFQlVGRkVSPXkKLUNPTkZJR19KRkZTMl9TVU1NQVJZPXkKKyMgQ09ORklHX0pGRlMyX0ZTX1dCVUZfVkVSSUZZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pGRlMyX1NVTU1BUlkgaXMgbm90IHNldAogIyBDT05GSUdfSkZGUzJfRlNfWEFUVFIgaXMgbm90IHNldAogIyBDT05GSUdfSkZGUzJfQ09NUFJFU1NJT05fT1BUSU9OUyBpcyBub3Qgc2V0CiBDT05GSUdfSkZGUzJfWkxJQj15CisjIENPTkZJR19KRkZTMl9MWk8gaXMgbm90IHNldAogQ09ORklHX0pGRlMyX1JUSU1FPXkKICMgQ09ORklHX0pGRlMyX1JVQklOIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSQU1GUyBpcyBub3Qgc2V0CkBAIC0xMDc0LDQ3ICs5NTQsNDAgQEAKICMgQ09ORklHX1FOWDRGU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TWVNWX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX1VGU19GUyBpcyBub3Qgc2V0Ci0KLSMKLSMgTmV0d29yayBGaWxlIFN5c3RlbXMKLSMKK0NPTkZJR19ORVRXT1JLX0ZJTEVTWVNURU1TPXkKIENPTkZJR19ORlNfRlM9eQogQ09ORklHX05GU19WMz15Ci0jIENPTkZJR19ORlNfVjNfQUNMIGlzIG5vdCBzZXQKLSMgQ09ORklHX05GU19WNCBpcyBub3Qgc2V0CitDT05GSUdfTkZTX1YzX0FDTD15CitDT05GSUdfTkZTX1Y0PXkKICMgQ09ORklHX05GU19ESVJFQ1RJTyBpcyBub3Qgc2V0CiAjIENPTkZJR19ORlNEIGlzIG5vdCBzZXQKIENPTkZJR19ST09UX05GUz15CiBDT05GSUdfTE9DS0Q9eQogQ09ORklHX0xPQ0tEX1Y0PXkKK0NPTkZJR19ORlNfQUNMX1NVUFBPUlQ9eQogQ09ORklHX05GU19DT01NT049eQogQ09ORklHX1NVTlJQQz15CitDT05GSUdfU1VOUlBDX0dTUz15CiAjIENPTkZJR19TVU5SUENfQklORDM0IGlzIG5vdCBzZXQKLSMgQ09ORklHX1JQQ1NFQ19HU1NfS1JCNSBpcyBub3Qgc2V0CitDT05GSUdfUlBDU0VDX0dTU19LUkI1PXkKICMgQ09ORklHX1JQQ1NFQ19HU1NfU1BLTTMgaXMgbm90IHNldAotQ09ORklHX1NNQl9GUz15Ci0jIENPTkZJR19TTUJfTkxTX0RFRkFVTFQgaXMgbm90IHNldAorIyBDT05GSUdfU01CX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0NJRlMgaXMgbm90IHNldAogIyBDT05GSUdfTkNQX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0NPREFfRlMgaXMgbm90IHNldAogIyBDT05GSUdfQUZTX0ZTIGlzIG5vdCBzZXQKLSMgQ09ORklHXzlQX0ZTIGlzIG5vdCBzZXQKIAogIwogIyBQYXJ0aXRpb24gVHlwZXMKICMKICMgQ09ORklHX1BBUlRJVElPTl9BRFZBTkNFRCBpcyBub3Qgc2V0CiBDT05GSUdfTVNET1NfUEFSVElUSU9OPXkKLQotIwotIyBOYXRpdmUgTGFuZ3VhZ2UgU3VwcG9ydAotIwogQ09ORklHX05MUz15CiBDT05GSUdfTkxTX0RFRkFVTFQ9Imlzbzg4NTktMSIKIENPTkZJR19OTFNfQ09ERVBBR0VfNDM3PXkKICMgQ09ORklHX05MU19DT0RFUEFHRV83MzcgaXMgbm90IHNldAogIyBDT05GSUdfTkxTX0NPREVQQUdFXzc3NSBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfQ09ERVBBR0VfODUwIGlzIG5vdCBzZXQKK0NPTkZJR19OTFNfQ09ERVBBR0VfODUwPXkKICMgQ09ORklHX05MU19DT0RFUEFHRV84NTIgaXMgbm90IHNldAogIyBDT05GSUdfTkxTX0NPREVQQUdFXzg1NSBpcyBub3Qgc2V0CiAjIENPTkZJR19OTFNfQ09ERVBBR0VfODU3IGlzIG5vdCBzZXQKQEAgLTExNDgsMzAgKzEwMjEsMjQgQEAKICMgQ09ORklHX05MU19JU084ODU5XzE1IGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19LT0k4X1IgaXMgbm90IHNldAogIyBDT05GSUdfTkxTX0tPSThfVSBpcyBub3Qgc2V0Ci1DT05GSUdfTkxTX1VURjg9eQotCi0jCi0jIERpc3RyaWJ1dGVkIExvY2sgTWFuYWdlcgotIworIyBDT05GSUdfTkxTX1VURjggaXMgbm90IHNldAogIyBDT05GSUdfRExNIGlzIG5vdCBzZXQKLQotIwotIyBQcm9maWxpbmcgc3VwcG9ydAotIwotIyBDT05GSUdfUFJPRklMSU5HIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOU1RSVU1FTlRBVElPTiBpcyBub3Qgc2V0CiAKICMKICMgS2VybmVsIGhhY2tpbmcKICMKICMgQ09ORklHX1BSSU5US19USU1FIGlzIG5vdCBzZXQKK0NPTkZJR19FTkFCTEVfV0FSTl9ERVBSRUNBVEVEPXkKIENPTkZJR19FTkFCTEVfTVVTVF9DSEVDSz15Ci1DT05GSUdfTUFHSUNfU1lTUlE9eQorIyBDT05GSUdfTUFHSUNfU1lTUlEgaXMgbm90IHNldAogIyBDT05GSUdfVU5VU0VEX1NZTUJPTFMgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfRlMgaXMgbm90IHNldAogIyBDT05GSUdfSEVBREVSU19DSEVDSyBpcyBub3Qgc2V0CiBDT05GSUdfREVCVUdfS0VSTkVMPXkKICMgQ09ORklHX0RFQlVHX1NISVJRIGlzIG5vdCBzZXQKLSMgQ09ORklHX0RFVEVDVF9TT0ZUTE9DS1VQIGlzIG5vdCBzZXQKK0NPTkZJR19ERVRFQ1RfU09GVExPQ0tVUD15CitDT05GSUdfU0NIRURfREVCVUc9eQogIyBDT05GSUdfU0NIRURTVEFUUyBpcyBub3Qgc2V0CiAjIENPTkZJR19USU1FUl9TVEFUUyBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19TTEFCIGlzIG5vdCBzZXQKQEAgLTExODEsMTkgKzEwNDgsMjMgQEAKICMgQ09ORklHX0RFQlVHX01VVEVYRVMgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfTE9DS19BTExPQyBpcyBub3Qgc2V0CiAjIENPTkZJR19QUk9WRV9MT0NLSU5HIGlzIG5vdCBzZXQKKyMgQ09ORklHX0xPQ0tfU1RBVCBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19TUElOTE9DS19TTEVFUCBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19MT0NLSU5HX0FQSV9TRUxGVEVTVFMgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfS09CSkVDVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19ERUJVR19CVUdWRVJCT1NFIGlzIG5vdCBzZXQKLUNPTkZJR19ERUJVR19JTkZPPXkKK0NPTkZJR19ERUJVR19CVUdWRVJCT1NFPXkKKyMgQ09ORklHX0RFQlVHX0lORk8gaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfVk0gaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfTElTVCBpcyBub3Qgc2V0CisjIENPTkZJR19ERUJVR19TRyBpcyBub3Qgc2V0CiBDT05GSUdfRlJBTUVfUE9JTlRFUj15CiBDT05GSUdfRk9SQ0VEX0lOTElOSU5HPXkKKyMgQ09ORklHX0JPT1RfUFJJTlRLX0RFTEFZIGlzIG5vdCBzZXQKICMgQ09ORklHX1JDVV9UT1JUVVJFX1RFU1QgaXMgbm90IHNldAogIyBDT05GSUdfRkFVTFRfSU5KRUNUSU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NBTVBMRVMgaXMgbm90IHNldAogQ09ORklHX0RFQlVHX1VTRVI9eQotQ09ORklHX0RFQlVHX0VSUk9SUz15CisjIENPTkZJR19ERUJVR19FUlJPUlMgaXMgbm90IHNldAogQ09ORklHX0RFQlVHX0xMPXkKICMgQ09ORklHX0RFQlVHX0lDRURDQyBpcyBub3Qgc2V0CiAKQEAgLTEyMDIsNTEgKzEwNzMsNDggQEAKICMKICMgQ09ORklHX0tFWVMgaXMgbm90IHNldAogIyBDT05GSUdfU0VDVVJJVFkgaXMgbm90IHNldAotCi0jCi0jIENyeXB0b2dyYXBoaWMgb3B0aW9ucwotIworIyBDT05GSUdfU0VDVVJJVFlfRklMRV9DQVBBQklMSVRJRVMgaXMgbm90IHNldAogQ09ORklHX0NSWVBUTz15Ci1DT05GSUdfQ1JZUFRPX0FMR0FQST1tCi1DT05GSUdfQ1JZUFRPX0JMS0NJUEhFUj1tCi1DT05GSUdfQ1JZUFRPX01BTkFHRVI9bQorQ09ORklHX0NSWVBUT19BTEdBUEk9eQorQ09ORklHX0NSWVBUT19CTEtDSVBIRVI9eQorQ09ORklHX0NSWVBUT19NQU5BR0VSPXkKICMgQ09ORklHX0NSWVBUT19ITUFDIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19YQ0JDIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19OVUxMIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19NRDQgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX01ENSBpcyBub3Qgc2V0CitDT05GSUdfQ1JZUFRPX01ENT15CiAjIENPTkZJR19DUllQVE9fU0hBMSBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fU0hBMjU2IGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19TSEE1MTIgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX1dQNTEyIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19UR1IxOTIgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX0dGMTI4TVVMIGlzIG5vdCBzZXQKLUNPTkZJR19DUllQVE9fRUNCPW0KLUNPTkZJR19DUllQVE9fQ0JDPW0KLUNPTkZJR19DUllQVE9fUENCQz1tCisjIENPTkZJR19DUllQVE9fRUNCIGlzIG5vdCBzZXQKK0NPTkZJR19DUllQVE9fQ0JDPXkKKyMgQ09ORklHX0NSWVBUT19QQ0JDIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19MUlcgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1hUUyBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fQ1JZUFREIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19ERVMgaXMgbm90IHNldAorQ09ORklHX0NSWVBUT19ERVM9eQogIyBDT05GSUdfQ1JZUFRPX0ZDUllQVCBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fQkxPV0ZJU0ggaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX1RXT0ZJU0ggaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX1NFUlBFTlQgaXMgbm90IHNldAotQ09ORklHX0NSWVBUT19BRVM9bQorIyBDT05GSUdfQ1JZUFRPX0FFUyBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fQ0FTVDUgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX0NBU1Q2IGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19URUEgaXMgbm90IHNldAotQ09ORklHX0NSWVBUT19BUkM0PW0KKyMgQ09ORklHX0NSWVBUT19BUkM0IGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19LSEFaQUQgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX0FOVUJJUyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fU0VFRCBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fREVGTEFURSBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fTUlDSEFFTF9NSUMgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX0NSQzMyQyBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fQ0FNRUxMSUEgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX1RFU1QgaXMgbm90IHNldAotCi0jCi0jIEhhcmR3YXJlIGNyeXB0byBkZXZpY2VzCi0jCisjIENPTkZJR19DUllQVE9fQVVUSEVOQyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fSFcgaXMgbm90IHNldAogCiAjCiAjIExpYnJhcnkgcm91dGluZXMKQEAgLTEyNTYsNiArMTEyNCw3IEBACiAjIENPTkZJR19DUkMxNiBpcyBub3Qgc2V0CiAjIENPTkZJR19DUkNfSVRVX1QgaXMgbm90IHNldAogQ09ORklHX0NSQzMyPXkKKyMgQ09ORklHX0NSQzcgaXMgbm90IHNldAogIyBDT05GSUdfTElCQ1JDMzJDIGlzIG5vdCBzZXQKIENPTkZJR19aTElCX0lORkxBVEU9eQogQ09ORklHX1pMSUJfREVGTEFURT15CmRpZmYgLS1naXQgYS9hcmNoL2FybS9jb25maWdzL3ZlcnNhdGlsZV9kZWZjb25maWcgYi9hcmNoL2FybS9jb25maWdzL3ZlcnNhdGlsZV9kZWZjb25maWcKaW5kZXggNDhkY2E2OS4uODM1NWY4OCAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vY29uZmlncy92ZXJzYXRpbGVfZGVmY29uZmlnCisrKyBiL2FyY2gvYXJtL2NvbmZpZ3MvdmVyc2F0aWxlX2RlZmNvbmZpZwpAQCAtMTUxLDcgKzE1MSw2IEBACiAjIEtlcm5lbCBGZWF0dXJlcwogIwogIyBDT05GSUdfUFJFRU1QVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19OT19JRExFX0haIGlzIG5vdCBzZXQKIENPTkZJR19IWj0xMDAKICMgQ09ORklHX0FFQUJJIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfRElTQ09OVElHTUVNX0VOQUJMRSBpcyBub3Qgc2V0CmRpZmYgLS1naXQgYS9hcmNoL2FybS9jb25maWdzL2NtX3gyNzBfZGVmY29uZmlnIGIvYXJjaC9hcm0vY29uZmlncy94bV94MjcwX2RlZmNvbmZpZwpzaW1pbGFyaXR5IGluZGV4IDY2JQpyZW5hbWUgZnJvbSBhcmNoL2FybS9jb25maWdzL2NtX3gyNzBfZGVmY29uZmlnCnJlbmFtZSB0byBhcmNoL2FybS9jb25maWdzL3htX3gyNzBfZGVmY29uZmlnCmluZGV4IDVjYWIwODMuLmFhNDBkOTEgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2NvbmZpZ3MvY21feDI3MF9kZWZjb25maWcKKysrIGIvYXJjaC9hcm0vY29uZmlncy94bV94MjcwX2RlZmNvbmZpZwpAQCAtMSwxMyArMSwxMyBAQAogIwogIyBBdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBtYWtlIGNvbmZpZzogZG9uJ3QgZWRpdAotIyBMaW51eCBrZXJuZWwgdmVyc2lvbjogMi42LjIyCi0jIFdlZCBKdWwgMTggMTQ6MTE6NDggMjAwNworIyBMaW51eCBrZXJuZWwgdmVyc2lvbjogMi42LjI1CisjIFN1biBNYXkgMTEgMTU6MTI6NTIgMjAwOAogIwogQ09ORklHX0FSTT15CiBDT05GSUdfU1lTX1NVUFBPUlRTX0FQTV9FTVVMQVRJT049eQogQ09ORklHX0dFTkVSSUNfR1BJTz15CiBDT05GSUdfR0VORVJJQ19USU1FPXkKLSMgQ09ORklHX0dFTkVSSUNfQ0xPQ0tFVkVOVFMgaXMgbm90IHNldAorQ09ORklHX0dFTkVSSUNfQ0xPQ0tFVkVOVFM9eQogQ09ORklHX01NVT15CiAjIENPTkZJR19OT19JT1BPUlQgaXMgbm90IHNldAogQ09ORklHX0dFTkVSSUNfSEFSRElSUVM9eQpAQCAtMjEsMjEgKzIxLDE4IEBACiAjIENPTkZJR19BUkNIX0hBU19JTE9HMl9VNjQgaXMgbm90IHNldAogQ09ORklHX0dFTkVSSUNfSFdFSUdIVD15CiBDT05GSUdfR0VORVJJQ19DQUxJQlJBVEVfREVMQVk9eQorQ09ORklHX0FSQ0hfU1VQUE9SVFNfQU9VVD15CiBDT05GSUdfWk9ORV9ETUE9eQogQ09ORklHX0FSQ0hfTVREX1hJUD15CiBDT05GSUdfVkVDVE9SU19CQVNFPTB4ZmZmZjAwMDAKIENPTkZJR19ERUZDT05GSUdfTElTVD0iL2xpYi9tb2R1bGVzLyRVTkFNRV9SRUxFQVNFLy5jb25maWciCiAKICMKLSMgQ29kZSBtYXR1cml0eSBsZXZlbCBvcHRpb25zCisjIEdlbmVyYWwgc2V0dXAKICMKIENPTkZJR19FWFBFUklNRU5UQUw9eQogQ09ORklHX0JST0tFTl9PTl9TTVA9eQogQ09ORklHX0lOSVRfRU5WX0FSR19MSU1JVD0zMgotCi0jCi0jIEdlbmVyYWwgc2V0dXAKLSMKIENPTkZJR19MT0NBTFZFUlNJT049IiIKICMgQ09ORklHX0xPQ0FMVkVSU0lPTl9BVVRPIGlzIG5vdCBzZXQKIENPTkZJR19TV0FQPXkKQEAgLTQ0LDEzICs0MSwyMCBAQAogIyBDT05GSUdfUE9TSVhfTVFVRVVFIGlzIG5vdCBzZXQKICMgQ09ORklHX0JTRF9QUk9DRVNTX0FDQ1QgaXMgbm90IHNldAogIyBDT05GSUdfVEFTS1NUQVRTIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTRVJfTlMgaXMgbm90IHNldAogIyBDT05GSUdfQVVESVQgaXMgbm90IHNldAogQ09ORklHX0lLQ09ORklHPXkKIENPTkZJR19JS0NPTkZJR19QUk9DPXkKLUNPTkZJR19MT0dfQlVGX1NISUZUPTE3CitDT05GSUdfTE9HX0JVRl9TSElGVD0xNAorIyBDT05GSUdfQ0dST1VQUyBpcyBub3Qgc2V0CitDT05GSUdfR1JPVVBfU0NIRUQ9eQorQ09ORklHX0ZBSVJfR1JPVVBfU0NIRUQ9eQorIyBDT05GSUdfUlRfR1JPVVBfU0NIRUQgaXMgbm90IHNldAorQ09ORklHX1VTRVJfU0NIRUQ9eQorIyBDT05GSUdfQ0dST1VQX1NDSEVEIGlzIG5vdCBzZXQKIENPTkZJR19TWVNGU19ERVBSRUNBVEVEPXkKK0NPTkZJR19TWVNGU19ERVBSRUNBVEVEX1YyPXkKICMgQ09ORklHX1JFTEFZIGlzIG5vdCBzZXQKKyMgQ09ORklHX05BTUVTUEFDRVMgaXMgbm90IHNldAogQ09ORklHX0JMS19ERVZfSU5JVFJEPXkKIENPTkZJR19JTklUUkFNRlNfU09VUkNFPSIiCiBDT05GSUdfQ0NfT1BUSU1JWkVfRk9SX1NJWkU9eQpAQCAtNTgsNiArNjIsNyBAQAogQ09ORklHX0VNQkVEREVEPXkKIENPTkZJR19VSUQxNj15CiBDT05GSUdfU1lTQ1RMX1NZU0NBTEw9eQorQ09ORklHX1NZU0NUTF9TWVNDQUxMX0NIRUNLPXkKIENPTkZJR19LQUxMU1lNUz15CiAjIENPTkZJR19LQUxMU1lNU19BTEwgaXMgbm90IHNldAogIyBDT05GSUdfS0FMTFNZTVNfRVhUUkFfUEFTUyBpcyBub3Qgc2V0CkBAIC02NSwyNCArNzAsMzQgQEAKIENPTkZJR19QUklOVEs9eQogQ09ORklHX0JVRz15CiBDT05GSUdfRUxGX0NPUkU9eQorIyBDT05GSUdfQ09NUEFUX0JSSyBpcyBub3Qgc2V0CiBDT05GSUdfQkFTRV9GVUxMPXkKIENPTkZJR19GVVRFWD15CiBDT05GSUdfQU5PTl9JTk9ERVM9eQotIyBDT05GSUdfRVBPTEwgaXMgbm90IHNldAotIyBDT05GSUdfU0lHTkFMRkQgaXMgbm90IHNldAotIyBDT05GSUdfVElNRVJGRCBpcyBub3Qgc2V0Ci0jIENPTkZJR19FVkVOVEZEIGlzIG5vdCBzZXQKK0NPTkZJR19FUE9MTD15CitDT05GSUdfU0lHTkFMRkQ9eQorQ09ORklHX1RJTUVSRkQ9eQorQ09ORklHX0VWRU5URkQ9eQogQ09ORklHX1NITUVNPXkKLUNPTkZJR19WTV9FVkVOVF9DT1VOVEVSUz15Ci1DT05GSUdfU0xBQj15Ci0jIENPTkZJR19TTFVCIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZNX0VWRU5UX0NPVU5URVJTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NMVUJfREVCVUcgaXMgbm90IHNldAorIyBDT05GSUdfU0xBQiBpcyBub3Qgc2V0CitDT05GSUdfU0xVQj15CiAjIENPTkZJR19TTE9CIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BST0ZJTElORyBpcyBub3Qgc2V0CisjIENPTkZJR19NQVJLRVJTIGlzIG5vdCBzZXQKK0NPTkZJR19IQVZFX09QUk9GSUxFPXkKKyMgQ09ORklHX0tQUk9CRVMgaXMgbm90IHNldAorQ09ORklHX0hBVkVfS1BST0JFUz15CitDT05GSUdfSEFWRV9LUkVUUFJPQkVTPXkKKyMgQ09ORklHX0hBVkVfRE1BX0FUVFJTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BST0NfUEFHRV9NT05JVE9SIGlzIG5vdCBzZXQKIENPTkZJR19SVF9NVVRFWEVTPXkKICMgQ09ORklHX1RJTllfU0hNRU0gaXMgbm90IHNldAogQ09ORklHX0JBU0VfU01BTEw9MAogQ09ORklHX01PRFVMRVM9eQogQ09ORklHX01PRFVMRV9VTkxPQUQ9eQotQ09ORklHX01PRFVMRV9GT1JDRV9VTkxPQUQ9eQorIyBDT05GSUdfTU9EVUxFX0ZPUkNFX1VOTE9BRCBpcyBub3Qgc2V0CiAjIENPTkZJR19NT0RWRVJTSU9OUyBpcyBub3Qgc2V0CiAjIENPTkZJR19NT0RVTEVfU1JDVkVSU0lPTl9BTEwgaXMgbm90IHNldAogQ09ORklHX0tNT0Q9eQpAQCAtOTksMTEgKzExNCwxMiBAQAogQ09ORklHX0lPU0NIRURfQVM9eQogQ09ORklHX0lPU0NIRURfREVBRExJTkU9eQogQ09ORklHX0lPU0NIRURfQ0ZRPXkKLUNPTkZJR19ERUZBVUxUX0FTPXkKKyMgQ09ORklHX0RFRkFVTFRfQVMgaXMgbm90IHNldAogIyBDT05GSUdfREVGQVVMVF9ERUFETElORSBpcyBub3Qgc2V0Ci0jIENPTkZJR19ERUZBVUxUX0NGUSBpcyBub3Qgc2V0CitDT05GSUdfREVGQVVMVF9DRlE9eQogIyBDT05GSUdfREVGQVVMVF9OT09QIGlzIG5vdCBzZXQKLUNPTkZJR19ERUZBVUxUX0lPU0NIRUQ9ImFudGljaXBhdG9yeSIKK0NPTkZJR19ERUZBVUxUX0lPU0NIRUQ9ImNmcSIKK0NPTkZJR19DTEFTU0lDX1JDVT15CiAKICMKICMgU3lzdGVtIFR5cGUKQEAgLTEzMSw2ICsxNDcsOCBAQAogIyBDT05GSUdfQVJDSF9MNzIwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0tTODY5NSBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX05TOVhYWCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX01YQyBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX09SSU9ONVggaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9QTlg0MDA4IGlzIG5vdCBzZXQKIENPTkZJR19BUkNIX1BYQT15CiAjIENPTkZJR19BUkNIX1JQQyBpcyBub3Qgc2V0CkBAIC0xNDAsMTkgKzE1OCw0MSBAQAogIyBDT05GSUdfQVJDSF9MSDdBNDBYIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfREFWSU5DSSBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX09NQVAgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9NU003WDAwQSBpcyBub3Qgc2V0CiBDT05GSUdfRE1BQk9VTkNFPXkKIAogIwotIyBJbnRlbCBQWEEyeHggSW1wbGVtZW50YXRpb25zCisjIEludGVsIFBYQTJ4eC9QWEEzeHggSW1wbGVtZW50YXRpb25zCiAjCisKKyMKKyMgU2VsZWN0IHRhcmdldCBib2FyZHMKKyMKKyMgQ09ORklHX0FSQ0hfR1VNU1RJWCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0xVQkJPQ0sgaXMgbm90IHNldAogIyBDT05GSUdfTUFDSF9MT0dJQ1BEX1BYQTI3MCBpcyBub3Qgc2V0CiAjIENPTkZJR19NQUNIX01BSU5TVE9ORSBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX1BYQV9JRFAgaXMgbm90IHNldAogIyBDT05GSUdfUFhBX1NIQVJQU0wgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9QWEFfRVNFUklFUyBpcyBub3Qgc2V0CiAjIENPTkZJR19NQUNIX1RSSVpFUFM0IGlzIG5vdCBzZXQKK0NPTkZJR19NQUNIX0VNX1gyNzA9eQorIyBDT05GSUdfTUFDSF9DT0xJQlJJIGlzIG5vdCBzZXQKKyMgQ09ORklHX01BQ0hfWllMT05JVEUgaXMgbm90IHNldAorIyBDT05GSUdfTUFDSF9MSVRUTEVUT04gaXMgbm90IHNldAogQ09ORklHX01BQ0hfQVJNQ09SRT15CisjIENPTkZJR19NQUNIX01BR0lDSUFOIGlzIG5vdCBzZXQKKyMgQ09ORklHX01BQ0hfUENNMDI3IGlzIG5vdCBzZXQKIENPTkZJR19QWEEyN3g9eQorIyBDT05GSUdfUFhBX1BXTSBpcyBub3Qgc2V0CisKKyMKKyMgQm9vdCBvcHRpb25zCisjCisKKyMKKyMgUG93ZXIgbWFuYWdlbWVudAorIwogCiAjCiAjIFByb2Nlc3NvciBUeXBlCkBAIC0xNjEsNiArMjAxLDcgQEAKIENPTkZJR19DUFVfWFNDQUxFPXkKIENPTkZJR19DUFVfMzJ2NT15CiBDT05GSUdfQ1BVX0FCUlRfRVY1VD15CitDT05GSUdfQ1BVX1BBQlJUX05PSUZBUj15CiBDT05GSUdfQ1BVX0NBQ0hFX1ZJVlQ9eQogQ09ORklHX0NQVV9UTEJfVjRXQkk9eQogQ09ORklHX0NQVV9DUDE1PXkKQEAgLTE4MiwyMSArMjIzLDQwIEBACiBDT05GSUdfUENJX1NZU0NBTEw9eQogQ09ORklHX1BDSV9IT1NUX0lURTgxNTI9eQogIyBDT05GSUdfQVJDSF9TVVBQT1JUU19NU0kgaXMgbm90IHNldAorQ09ORklHX1BDSV9MRUdBQ1k9eQogIyBDT05GSUdfUENJX0RFQlVHIGlzIG5vdCBzZXQKK0NPTkZJR19QQ0NBUkQ9bQorIyBDT05GSUdfUENNQ0lBX0RFQlVHIGlzIG5vdCBzZXQKK0NPTkZJR19QQ01DSUE9bQorQ09ORklHX1BDTUNJQV9MT0FEX0NJUz15CitDT05GSUdfUENNQ0lBX0lPQ1RMPXkKK0NPTkZJR19DQVJEQlVTPXkKIAogIwotIyBQQ0NBUkQgKFBDTUNJQS9DYXJkQnVzKSBzdXBwb3J0CisjIFBDLWNhcmQgYnJpZGdlcwogIwotIyBDT05GSUdfUENDQVJEIGlzIG5vdCBzZXQKK0NPTkZJR19ZRU5UQT1tCisjIENPTkZJR19ZRU5UQV9PMiBpcyBub3Qgc2V0CisjIENPTkZJR19ZRU5UQV9SSUNPSCBpcyBub3Qgc2V0CitDT05GSUdfWUVOVEFfVEk9eQorIyBDT05GSUdfWUVOVEFfRU5FX1RVTkUgaXMgbm90IHNldAorIyBDT05GSUdfWUVOVEFfVE9TSElCQSBpcyBub3Qgc2V0CisjIENPTkZJR19QRDY3MjkgaXMgbm90IHNldAorIyBDT05GSUdfSTgyMDkyIGlzIG5vdCBzZXQKK0NPTkZJR19QQ01DSUFfUFhBMlhYPW0KK0NPTkZJR19QQ0NBUkRfTk9OU1RBVElDPW0KIAogIwogIyBLZXJuZWwgRmVhdHVyZXMKICMKLSMgQ09ORklHX1RJQ0tfT05FU0hPVCBpcyBub3Qgc2V0CitDT05GSUdfVElDS19PTkVTSE9UPXkKK0NPTkZJR19OT19IWj15CisjIENPTkZJR19ISUdIX1JFU19USU1FUlMgaXMgbm90IHNldAorQ09ORklHX0dFTkVSSUNfQ0xPQ0tFVkVOVFNfQlVJTEQ9eQogIyBDT05GSUdfUFJFRU1QVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19OT19JRExFX0haIGlzIG5vdCBzZXQKIENPTkZJR19IWj0xMDAKLSMgQ09ORklHX0FFQUJJIGlzIG5vdCBzZXQKK0NPTkZJR19BRUFCST15CitDT05GSUdfT0FCSV9DT01QQVQ9eQogIyBDT05GSUdfQVJDSF9ESVNDT05USUdNRU1fRU5BQkxFIGlzIG5vdCBzZXQKIENPTkZJR19TRUxFQ1RfTUVNT1JZX01PREVMPXkKIENPTkZJR19GTEFUTUVNX01BTlVBTD15CkBAIC0yMDUsNiArMjY1LDggQEAKIENPTkZJR19GTEFUTUVNPXkKIENPTkZJR19GTEFUX05PREVfTUVNX01BUD15CiAjIENPTkZJR19TUEFSU0VNRU1fU1RBVElDIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NQQVJTRU1FTV9WTUVNTUFQX0VOQUJMRSBpcyBub3Qgc2V0CitDT05GSUdfUEFHRUZMQUdTX0VYVEVOREVEPXkKIENPTkZJR19TUExJVF9QVExPQ0tfQ1BVUz00MDk2CiAjIENPTkZJR19SRVNPVVJDRVNfNjRCSVQgaXMgbm90IHNldAogQ09ORklHX1pPTkVfRE1BX0ZMQUc9MQpAQCAtMjE3LDExICsyNzksMTYgQEAKICMKIENPTkZJR19aQk9PVF9ST01fVEVYVD0weDAKIENPTkZJR19aQk9PVF9ST01fQlNTPTB4MAotQ09ORklHX0NNRExJTkU9IiIKK0NPTkZJR19DTURMSU5FPSJyb290PTFmMDMgbWVtPTMyTSIKICMgQ09ORklHX1hJUF9LRVJORUwgaXMgbm90IHNldAogIyBDT05GSUdfS0VYRUMgaXMgbm90IHNldAogCiAjCisjIENQVSBGcmVxdWVuY3kgc2NhbGluZworIworIyBDT05GSUdfQ1BVX0ZSRVEgaXMgbm90IHNldAorCisjCiAjIEZsb2F0aW5nIHBvaW50IGVtdWxhdGlvbgogIwogCkBAIC0yMzgsMTYgKzMwNSwxNyBAQAogQ09ORklHX0JJTkZNVF9FTEY9eQogIyBDT05GSUdfQklORk1UX0FPVVQgaXMgbm90IHNldAogIyBDT05GSUdfQklORk1UX01JU0MgaXMgbm90IHNldAotIyBDT05GSUdfQVJUSFVSIGlzIG5vdCBzZXQKIAogIwogIyBQb3dlciBtYW5hZ2VtZW50IG9wdGlvbnMKICMKIENPTkZJR19QTT15Ci0jIENPTkZJR19QTV9MRUdBQ1kgaXMgbm90IHNldAogIyBDT05GSUdfUE1fREVCVUcgaXMgbm90IHNldAotIyBDT05GSUdfUE1fU1lTRlNfREVQUkVDQVRFRCBpcyBub3Qgc2V0Ci0jIENPTkZJR19BUE1fRU1VTEFUSU9OIGlzIG5vdCBzZXQKK0NPTkZJR19QTV9TTEVFUD15CitDT05GSUdfU1VTUEVORD15CitDT05GSUdfU1VTUEVORF9GUkVFWkVSPXkKK0NPTkZJR19BUE1fRU1VTEFUSU9OPW0KK0NPTkZJR19BUkNIX1NVU1BFTkRfUE9TU0lCTEU9eQogCiAjCiAjIE5ldHdvcmtpbmcKQEAgLTI1OCwxNSArMzI2LDE2IEBACiAjIE5ldHdvcmtpbmcgb3B0aW9ucwogIwogQ09ORklHX1BBQ0tFVD15Ci0jIENPTkZJR19QQUNLRVRfTU1BUCBpcyBub3Qgc2V0CitDT05GSUdfUEFDS0VUX01NQVA9eQogQ09ORklHX1VOSVg9eQogQ09ORklHX1hGUk09eQogIyBDT05GSUdfWEZSTV9VU0VSIGlzIG5vdCBzZXQKICMgQ09ORklHX1hGUk1fU1VCX1BPTElDWSBpcyBub3Qgc2V0CiAjIENPTkZJR19YRlJNX01JR1JBVEUgaXMgbm90IHNldAorIyBDT05GSUdfWEZSTV9TVEFUSVNUSUNTIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVF9LRVkgaXMgbm90IHNldAogQ09ORklHX0lORVQ9eQotIyBDT05GSUdfSVBfTVVMVElDQVNUIGlzIG5vdCBzZXQKK0NPTkZJR19JUF9NVUxUSUNBU1Q9eQogIyBDT05GSUdfSVBfQURWQU5DRURfUk9VVEVSIGlzIG5vdCBzZXQKIENPTkZJR19JUF9GSUJfSEFTSD15CiBDT05GSUdfSVBfUE5QPXkKQEAgLTI3NSw2ICszNDQsNyBAQAogIyBDT05GSUdfSVBfUE5QX1JBUlAgaXMgbm90IHNldAogIyBDT05GSUdfTkVUX0lQSVAgaXMgbm90IHNldAogIyBDT05GSUdfTkVUX0lQR1JFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lQX01ST1VURSBpcyBub3Qgc2V0CiAjIENPTkZJR19BUlBEIGlzIG5vdCBzZXQKICMgQ09ORklHX1NZTl9DT09LSUVTIGlzIG5vdCBzZXQKICMgQ09ORklHX0lORVRfQUggaXMgbm90IHNldApAQCAtMjg1LDE1ICszNTUsMTMgQEAKIENPTkZJR19JTkVUX1hGUk1fTU9ERV9UUkFOU1BPUlQ9eQogQ09ORklHX0lORVRfWEZSTV9NT0RFX1RVTk5FTD15CiBDT05GSUdfSU5FVF9YRlJNX01PREVfQkVFVD15Ci1DT05GSUdfSU5FVF9ESUFHPXkKLUNPTkZJR19JTkVUX1RDUF9ESUFHPXkKKyMgQ09ORklHX0lORVRfTFJPIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lORVRfRElBRyBpcyBub3Qgc2V0CiAjIENPTkZJR19UQ1BfQ09OR19BRFZBTkNFRCBpcyBub3Qgc2V0CiBDT05GSUdfVENQX0NPTkdfQ1VCSUM9eQogQ09ORklHX0RFRkFVTFRfVENQX0NPTkc9ImN1YmljIgogIyBDT05GSUdfVENQX01ENVNJRyBpcyBub3Qgc2V0CiAjIENPTkZJR19JUFY2IGlzIG5vdCBzZXQKLSMgQ09ORklHX0lORVQ2X1hGUk1fVFVOTkVMIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lORVQ2X1RVTk5FTCBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRXT1JLX1NFQ01BUksgaXMgbm90IHNldAogIyBDT05GSUdfTkVURklMVEVSIGlzIG5vdCBzZXQKICMgQ09ORklHX0lQX0RDQ1AgaXMgbm90IHNldApAQCAtMzEwLDEwICszNzgsNiBAQAogIyBDT05GSUdfTEFQQiBpcyBub3Qgc2V0CiAjIENPTkZJR19FQ09ORVQgaXMgbm90IHNldAogIyBDT05GSUdfV0FOX1JPVVRFUiBpcyBub3Qgc2V0Ci0KLSMKLSMgUW9TIGFuZC9vciBmYWlyIHF1ZXVlaW5nCi0jCiAjIENPTkZJR19ORVRfU0NIRUQgaXMgbm90IHNldAogCiAjCkBAIC0zMjEsOCArMzg1LDMzIEBACiAjCiAjIENPTkZJR19ORVRfUEtUR0VOIGlzIG5vdCBzZXQKICMgQ09ORklHX0hBTVJBRElPIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NBTiBpcyBub3Qgc2V0CiAjIENPTkZJR19JUkRBIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JUIGlzIG5vdCBzZXQKK0NPTkZJR19CVD1tCitDT05GSUdfQlRfTDJDQVA9bQorQ09ORklHX0JUX1NDTz1tCitDT05GSUdfQlRfUkZDT01NPW0KKyMgQ09ORklHX0JUX1JGQ09NTV9UVFkgaXMgbm90IHNldAorQ09ORklHX0JUX0JORVA9bQorIyBDT05GSUdfQlRfQk5FUF9NQ19GSUxURVIgaXMgbm90IHNldAorIyBDT05GSUdfQlRfQk5FUF9QUk9UT19GSUxURVIgaXMgbm90IHNldAorQ09ORklHX0JUX0hJRFA9bQorCisjCisjIEJsdWV0b290aCBkZXZpY2UgZHJpdmVycworIworQ09ORklHX0JUX0hDSVVTQj1tCitDT05GSUdfQlRfSENJVVNCX1NDTz15CisjIENPTkZJR19CVF9IQ0lCVFNESU8gaXMgbm90IHNldAorIyBDT05GSUdfQlRfSENJVUFSVCBpcyBub3Qgc2V0CisjIENPTkZJR19CVF9IQ0lCQ00yMDNYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JUX0hDSUJQQTEwWCBpcyBub3Qgc2V0CisjIENPTkZJR19CVF9IQ0lCRlVTQiBpcyBub3Qgc2V0CisjIENPTkZJR19CVF9IQ0lEVEwxIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JUX0hDSUJUM0MgaXMgbm90IHNldAorIyBDT05GSUdfQlRfSENJQkxVRUNBUkQgaXMgbm90IHNldAorIyBDT05GSUdfQlRfSENJQlRVQVJUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JUX0hDSVZIQ0kgaXMgbm90IHNldAogIyBDT05GSUdfQUZfUlhSUEMgaXMgbm90IHNldAogCiAjCkBAIC0zMzEsMTIgKzQyMCw3IEBACiAjIENPTkZJR19DRkc4MDIxMSBpcyBub3Qgc2V0CiBDT05GSUdfV0lSRUxFU1NfRVhUPXkKICMgQ09ORklHX01BQzgwMjExIGlzIG5vdCBzZXQKLUNPTkZJR19JRUVFODAyMTE9bQotIyBDT05GSUdfSUVFRTgwMjExX0RFQlVHIGlzIG5vdCBzZXQKLUNPTkZJR19JRUVFODAyMTFfQ1JZUFRfV0VQPW0KLUNPTkZJR19JRUVFODAyMTFfQ1JZUFRfQ0NNUD1tCi0jIENPTkZJR19JRUVFODAyMTFfQ1JZUFRfVEtJUCBpcyBub3Qgc2V0Ci0jIENPTkZJR19JRUVFODAyMTFfU09GVE1BQyBpcyBub3Qgc2V0CisjIENPTkZJR19JRUVFODAyMTEgaXMgbm90IHNldAogIyBDT05GSUdfUkZLSUxMIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVF85UCBpcyBub3Qgc2V0CiAKQEAgLTM0NywzOCArNDMxLDQ3IEBACiAjCiAjIEdlbmVyaWMgRHJpdmVyIE9wdGlvbnMKICMKK0NPTkZJR19VRVZFTlRfSEVMUEVSX1BBVEg9Ii9zYmluL2hvdHBsdWciCiBDT05GSUdfU1RBTkRBTE9ORT15CiBDT05GSUdfUFJFVkVOVF9GSVJNV0FSRV9CVUlMRD15Ci1DT05GSUdfRldfTE9BREVSPXkKK0NPTkZJR19GV19MT0FERVI9bQogIyBDT05GSUdfREVCVUdfRFJJVkVSIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX0RFVlJFUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TWVNfSFlQRVJWSVNPUiBpcyBub3Qgc2V0CiAjIENPTkZJR19DT05ORUNUT1IgaXMgbm90IHNldAotQ09ORklHX01URD1tCitDT05GSUdfTVREPXkKICMgQ09ORklHX01URF9ERUJVRyBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfQ09OQ0FUIGlzIG5vdCBzZXQKIENPTkZJR19NVERfUEFSVElUSU9OUz15CiAjIENPTkZJR19NVERfUkVEQk9PVF9QQVJUUyBpcyBub3Qgc2V0CitDT05GSUdfTVREX0NNRExJTkVfUEFSVFM9eQogIyBDT05GSUdfTVREX0FGU19QQVJUUyBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfQVI3X1BBUlRTIGlzIG5vdCBzZXQKIAogIwogIyBVc2VyIE1vZHVsZXMgQW5kIFRyYW5zbGF0aW9uIExheWVycwogIwotQ09ORklHX01URF9DSEFSPW0KLUNPTkZJR19NVERfQkxLREVWUz1tCi1DT05GSUdfTVREX0JMT0NLPW0KLSMgQ09ORklHX01URF9CTE9DS19STyBpcyBub3Qgc2V0CitDT05GSUdfTVREX0NIQVI9eQorQ09ORklHX01URF9CTEtERVZTPXkKK0NPTkZJR19NVERfQkxPQ0s9eQogIyBDT05GSUdfRlRMIGlzIG5vdCBzZXQKICMgQ09ORklHX05GVEwgaXMgbm90IHNldAogIyBDT05GSUdfSU5GVEwgaXMgbm90IHNldAogIyBDT05GSUdfUkZEX0ZUTCBpcyBub3Qgc2V0CiAjIENPTkZJR19TU0ZEQyBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfT09QUyBpcyBub3Qgc2V0CiAKICMKICMgUkFNL1JPTS9GbGFzaCBjaGlwIGRyaXZlcnMKICMKLSMgQ09ORklHX01URF9DRkkgaXMgbm90IHNldAotIyBDT05GSUdfTVREX0pFREVDUFJPQkUgaXMgbm90IHNldAorQ09ORklHX01URF9DRkk9eQorQ09ORklHX01URF9KRURFQ1BST0JFPXkKK0NPTkZJR19NVERfR0VOX1BST0JFPXkKK0NPTkZJR19NVERfQ0ZJX0FEVl9PUFRJT05TPXkKK0NPTkZJR19NVERfQ0ZJX05PU1dBUD15CisjIENPTkZJR19NVERfQ0ZJX0JFX0JZVEVfU1dBUCBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfQ0ZJX0xFX0JZVEVfU1dBUCBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfQ0ZJX0dFT01FVFJZIGlzIG5vdCBzZXQKIENPTkZJR19NVERfTUFQX0JBTktfV0lEVEhfMT15CiBDT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzI9eQogQ09ORklHX01URF9NQVBfQkFOS19XSURUSF80PXkKQEAgLTM4OSwxNSArNDgyLDI5IEBACiBDT05GSUdfTVREX0NGSV9JMj15CiAjIENPTkZJR19NVERfQ0ZJX0k0IGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9DRklfSTggaXMgbm90IHNldAorIyBDT05GSUdfTVREX09UUCBpcyBub3Qgc2V0CitDT05GSUdfTVREX0NGSV9JTlRFTEVYVD15CitDT05GSUdfTVREX0NGSV9BTURTVEQ9eQorQ09ORklHX01URF9DRklfU1RBQT15CitDT05GSUdfTVREX0NGSV9VVElMPXkKICMgQ09ORklHX01URF9SQU0gaXMgbm90IHNldAogIyBDT05GSUdfTVREX1JPTSBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfQUJTRU5UIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9YSVAgaXMgbm90IHNldAogCiAjCiAjIE1hcHBpbmcgZHJpdmVycyBmb3IgY2hpcCBhY2Nlc3MKICMKICMgQ09ORklHX01URF9DT01QTEVYX01BUFBJTkdTIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfUEhZU01BUD15CitDT05GSUdfTVREX1BIWVNNQVBfU1RBUlQ9MHgwCitDT05GSUdfTVREX1BIWVNNQVBfTEVOPTB4NDAwMDAwCitDT05GSUdfTVREX1BIWVNNQVBfQkFOS1dJRFRIPTIKK0NPTkZJR19NVERfUFhBMlhYPXkKKyMgQ09ORklHX01URF9BUk1fSU5URUdSQVRPUiBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfSU1QQTcgaXMgbm90IHNldAogIyBDT05GSUdfTVREX1NIQVJQX1NMIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9JTlRFTF9WUl9OT1IgaXMgbm90IHNldAogIyBDT05GSUdfTVREX1BMQVRSQU0gaXMgbm90IHNldAogCiAjCkBAIC00MTUsMTggKzUyMiwxOSBAQAogIyBDT05GSUdfTVREX0RPQzIwMDAgaXMgbm90IHNldAogIyBDT05GSUdfTVREX0RPQzIwMDEgaXMgbm90IHNldAogIyBDT05GSUdfTVREX0RPQzIwMDFQTFVTIGlzIG5vdCBzZXQKLUNPTkZJR19NVERfTkFORD1tCitDT05GSUdfTVREX05BTkQ9eQogIyBDT05GSUdfTVREX05BTkRfVkVSSUZZX1dSSVRFIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9OQU5EX0VDQ19TTUMgaXMgbm90IHNldAogIyBDT05GSUdfTVREX05BTkRfTVVTRVVNX0lEUyBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfTkFORF9IMTkwMCBpcyBub3Qgc2V0Ci1DT05GSUdfTVREX05BTkRfSURTPW0KK0NPTkZJR19NVERfTkFORF9JRFM9eQogIyBDT05GSUdfTVREX05BTkRfRElTS09OQ0hJUCBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfTkFORF9TSEFSUFNMIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9OQU5EX0NBRkUgaXMgbm90IHNldAotQ09ORklHX01URF9OQU5EX0NNX1gyNzA9bQorQ09ORklHX01URF9OQU5EX0NNX1gyNzA9eQogIyBDT05GSUdfTVREX05BTkRfTkFORFNJTSBpcyBub3Qgc2V0Ci0jIENPTkZJR19NVERfTkFORF9QTEFURk9STSBpcyBub3Qgc2V0CitDT05GSUdfTVREX05BTkRfUExBVEZPUk09eQorIyBDT05GSUdfTVREX0FMQVVEQSBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfT05FTkFORCBpcyBub3Qgc2V0CiAKICMKQEAgLTQ0NywzNiArNTU1LDEzIEBACiAjIENPTkZJR19CTEtfREVWX1VCIGlzIG5vdCBzZXQKIENPTkZJR19CTEtfREVWX1JBTT15CiBDT05GSUdfQkxLX0RFVl9SQU1fQ09VTlQ9MTYKLUNPTkZJR19CTEtfREVWX1JBTV9TSVpFPTEyMDAwCi1DT05GSUdfQkxLX0RFVl9SQU1fQkxPQ0tTSVpFPTEwMjQKK0NPTkZJR19CTEtfREVWX1JBTV9TSVpFPTQwOTYKKyMgQ09ORklHX0JMS19ERVZfWElQIGlzIG5vdCBzZXQKICMgQ09ORklHX0NEUk9NX1BLVENEVkQgaXMgbm90IHNldAogIyBDT05GSUdfQVRBX09WRVJfRVRIIGlzIG5vdCBzZXQKLUNPTkZJR19JREU9bQotQ09ORklHX0lERV9NQVhfSFdJRlM9NAotQ09ORklHX0JMS19ERVZfSURFPW0KLQotIwotIyBQbGVhc2Ugc2VlIERvY3VtZW50YXRpb24vaWRlLnR4dCBmb3IgaGVscC9pbmZvIG9uIElERSBkcml2ZXMKLSMKLSMgQ09ORklHX0JMS19ERVZfSURFX1NBVEEgaXMgbm90IHNldAotQ09ORklHX0JMS19ERVZfSURFRElTSz1tCi0jIENPTkZJR19JREVESVNLX01VTFRJX01PREUgaXMgbm90IHNldAotQ09ORklHX0JMS19ERVZfSURFQ0Q9bQotIyBDT05GSUdfQkxLX0RFVl9JREVUQVBFIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfSURFRkxPUFBZIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfSURFU0NTSSBpcyBub3Qgc2V0Ci0jIENPTkZJR19JREVfVEFTS19JT0NUTCBpcyBub3Qgc2V0Ci1DT05GSUdfSURFX1BST0NfRlM9eQotCi0jCi0jIElERSBjaGlwc2V0IHN1cHBvcnQvYnVnZml4ZXMKLSMKLSMgQ09ORklHX0lERV9HRU5FUklDIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfSURFUENJIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lERVBDSV9QQ0lCVVNfT1JERVIgaXMgbm90IHNldAotIyBDT05GSUdfSURFX0FSTSBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX0lERURNQSBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX0hEIGlzIG5vdCBzZXQKKyMgQ09ORklHX01JU0NfREVWSUNFUyBpcyBub3Qgc2V0CitDT05GSUdfSEFWRV9JREU9eQorIyBDT05GSUdfSURFIGlzIG5vdCBzZXQKIAogIwogIyBTQ1NJIGRldmljZSBzdXBwb3J0CkBAIC00ODYsNyArNTcxLDcgQEAKIENPTkZJR19TQ1NJX0RNQT15CiAjIENPTkZJR19TQ1NJX1RHVCBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX05FVExJTksgaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9QUk9DX0ZTIGlzIG5vdCBzZXQKK0NPTkZJR19TQ1NJX1BST0NfRlM9eQogCiAjCiAjIFNDU0kgc3VwcG9ydCB0eXBlIChkaXNrLCB0YXBlLCBDRC1ST00pCkBAIC01MTMsMTIgKzU5OCw5IEBACiAjIENPTkZJR19TQ1NJX1NQSV9BVFRSUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX0ZDX0FUVFJTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfSVNDU0lfQVRUUlMgaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9TQVNfQVRUUlMgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9TQVNfTElCU0FTIGlzIG5vdCBzZXQKLQotIwotIyBTQ1NJIGxvdy1sZXZlbCBkcml2ZXJzCi0jCisjIENPTkZJR19TQ1NJX1NSUF9BVFRSUyBpcyBub3Qgc2V0CitDT05GSUdfU0NTSV9MT1dMRVZFTD15CiAjIENPTkZJR19JU0NTSV9UQ1AgaXMgbm90IHNldAogIyBDT05GSUdfQkxLX0RFVl8zV19YWFhYX1JBSUQgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV8zV185WFhYIGlzIG5vdCBzZXQKQEAgLTUyOSw2ICs2MTEsNyBAQAogIyBDT05GSUdfU0NTSV9BSUM3OVhYIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfQUlDOTRYWCBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX0RQVF9JMk8gaXMgbm90IHNldAorIyBDT05GSUdfU0NTSV9BRFZBTlNZUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX0FSQ01TUiBpcyBub3Qgc2V0CiAjIENPTkZJR19NRUdBUkFJRF9ORVdHRU4gaXMgbm90IHNldAogIyBDT05GSUdfTUVHQVJBSURfTEVHQUNZIGlzIG5vdCBzZXQKQEAgLTUzOSw4ICs2MjIsMTAgQEAKICMgQ09ORklHX1NDU0lfSVBTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfSU5JVElPIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfSU5JQTEwMCBpcyBub3Qgc2V0CisjIENPTkZJR19TQ1NJX01WU0FTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfU1RFWCBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX1NZTTUzQzhYWF8yIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NDU0lfSVBSIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfUUxPR0lDXzEyODAgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9RTEFfRkMgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9RTEFfSVNDU0kgaXMgbm90IHNldApAQCAtNTUwLDE2ICs2MzUsNjkgQEAKICMgQ09ORklHX1NDU0lfTlNQMzIgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9ERUJVRyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX1NSUCBpcyBub3Qgc2V0Ci0jIENPTkZJR19BVEEgaXMgbm90IHNldAorIyBDT05GSUdfU0NTSV9MT1dMRVZFTF9QQ01DSUEgaXMgbm90IHNldAorQ09ORklHX0FUQT1tCisjIENPTkZJR19BVEFfTk9OU1RBTkRBUkQgaXMgbm90IHNldAorIyBDT05GSUdfU0FUQV9QTVAgaXMgbm90IHNldAorIyBDT05GSUdfU0FUQV9BSENJIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NBVEFfU0lMMjQgaXMgbm90IHNldAorQ09ORklHX0FUQV9TRkY9eQorIyBDT05GSUdfU0FUQV9TVlcgaXMgbm90IHNldAorIyBDT05GSUdfQVRBX1BJSVggaXMgbm90IHNldAorIyBDT05GSUdfU0FUQV9NViBpcyBub3Qgc2V0CisjIENPTkZJR19TQVRBX05WIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BEQ19BRE1BIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NBVEFfUVNUT1IgaXMgbm90IHNldAorIyBDT05GSUdfU0FUQV9QUk9NSVNFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NBVEFfU1g0IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NBVEFfU0lMIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NBVEFfU0lTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NBVEFfVUxJIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NBVEFfVklBIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NBVEFfVklURVNTRSBpcyBub3Qgc2V0CisjIENPTkZJR19TQVRBX0lOSUMxNjJYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfQUxJIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfQU1EIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfQVJUT1AgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9BVElJWFAgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9DTUQ2NDBfUENJIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfQ01ENjRYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfQ1M1NTIwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfQ1M1NTMwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfQ1lQUkVTUyBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX0VGQVIgaXMgbm90IHNldAorIyBDT05GSUdfQVRBX0dFTkVSSUMgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9IUFQzNjYgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9IUFQzN1ggaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9IUFQzWDJOIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfSFBUM1gzIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfSVQ4MjFYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfSVQ4MjEzIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfSk1JQ1JPTiBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX1RSSUZMRVggaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9NQVJWRUxMIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfTVBJSVggaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9PTERQSUlYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfTkVUQ0VMTCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX05JTkpBMzIgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9OUzg3NDEwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfTlM4NzQxNSBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX09QVEkgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9PUFRJRE1BIGlzIG5vdCBzZXQKK0NPTkZJR19QQVRBX1BDTUNJQT1tCisjIENPTkZJR19QQVRBX1BEQ19PTEQgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9SQURJU1lTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfUloxMDAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfU0MxMjAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfU0VSVkVSV09SS1MgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9QREMyMDI3WCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX1NJTDY4MCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX1NJUyBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX1ZJQSBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX1dJTkJPTkQgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9QTEFURk9STSBpcyBub3Qgc2V0CiAjIENPTkZJR19NRCBpcyBub3Qgc2V0Ci0KLSMKLSMgRnVzaW9uIE1QVCBkZXZpY2Ugc3VwcG9ydAotIwogIyBDT05GSUdfRlVTSU9OIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZVU0lPTl9TUEkgaXMgbm90IHNldAotIyBDT05GSUdfRlVTSU9OX0ZDIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZVU0lPTl9TQVMgaXMgbm90IHNldAogCiAjCiAjIElFRUUgMTM5NCAoRmlyZVdpcmUpIHN1cHBvcnQKQEAgLTU3NCw2ICs3MTIsNyBAQAogIyBDT05GSUdfTUFDVkxBTiBpcyBub3Qgc2V0CiAjIENPTkZJR19FUVVBTElaRVIgaXMgbm90IHNldAogIyBDT05GSUdfVFVOIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZFVEggaXMgbm90IHNldAogIyBDT05GSUdfQVJDTkVUIGlzIG5vdCBzZXQKICMgQ09ORklHX1BIWUxJQiBpcyBub3Qgc2V0CiBDT05GSUdfTkVUX0VUSEVSTkVUPXkKQEAgLTU4NSw2NCArNzI0LDY1IEBACiAjIENPTkZJR19ORVRfVkVORE9SXzNDT00gaXMgbm90IHNldAogIyBDT05GSUdfU01DOTFYIGlzIG5vdCBzZXQKIENPTkZJR19ETTkwMDA9eQorQ09ORklHX0RNOTAwMF9ERUJVR0xFVkVMPTEKICMgQ09ORklHX1NNQzkxMVggaXMgbm90IHNldAogIyBDT05GSUdfTkVUX1RVTElQIGlzIG5vdCBzZXQKICMgQ09ORklHX0hQMTAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTV9ORVdfRU1BQ19aTUlJIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTV9ORVdfRU1BQ19SR01JSSBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfVEFIIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTV9ORVdfRU1BQ19FTUFDNCBpcyBub3Qgc2V0CiBDT05GSUdfTkVUX1BDST15CiAjIENPTkZJR19QQ05FVDMyIGlzIG5vdCBzZXQKICMgQ09ORklHX0FNRDgxMTFfRVRIIGlzIG5vdCBzZXQKICMgQ09ORklHX0FEQVBURUNfU1RBUkZJUkUgaXMgbm90IHNldAogIyBDT05GSUdfQjQ0IGlzIG5vdCBzZXQKICMgQ09ORklHX0ZPUkNFREVUSCBpcyBub3Qgc2V0Ci0jIENPTkZJR19ER1JTIGlzIG5vdCBzZXQKICMgQ09ORklHX0VFUFJPMTAwIGlzIG5vdCBzZXQKICMgQ09ORklHX0UxMDAgaXMgbm90IHNldAogIyBDT05GSUdfRkVBTE5YIGlzIG5vdCBzZXQKICMgQ09ORklHX05BVFNFTUkgaXMgbm90IHNldAogIyBDT05GSUdfTkUyS19QQ0kgaXMgbm90IHNldAogIyBDT05GSUdfODEzOUNQIGlzIG5vdCBzZXQKLUNPTkZJR184MTM5VE9PPW0KK0NPTkZJR184MTM5VE9PPXkKICMgQ09ORklHXzgxMzlUT09fUElPIGlzIG5vdCBzZXQKICMgQ09ORklHXzgxMzlUT09fVFVORV9UV0lTVEVSIGlzIG5vdCBzZXQKICMgQ09ORklHXzgxMzlUT09fODEyOSBpcyBub3Qgc2V0CiAjIENPTkZJR184MTM5X09MRF9SWF9SRVNFVCBpcyBub3Qgc2V0CisjIENPTkZJR19SNjA0MCBpcyBub3Qgc2V0CiAjIENPTkZJR19TSVM5MDAgaXMgbm90IHNldAogIyBDT05GSUdfRVBJQzEwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19TVU5EQU5DRSBpcyBub3Qgc2V0CiAjIENPTkZJR19UTEFOIGlzIG5vdCBzZXQKICMgQ09ORklHX1ZJQV9SSElORSBpcyBub3Qgc2V0CiAjIENPTkZJR19TQzkyMDMxIGlzIG5vdCBzZXQKLUNPTkZJR19ORVRERVZfMTAwMD15Ci0jIENPTkZJR19BQ0VOSUMgaXMgbm90IHNldAotIyBDT05GSUdfREwySyBpcyBub3Qgc2V0Ci0jIENPTkZJR19FMTAwMCBpcyBub3Qgc2V0Ci0jIENPTkZJR19OUzgzODIwIGlzIG5vdCBzZXQKLSMgQ09ORklHX0hBTUFDSEkgaXMgbm90IHNldAotIyBDT05GSUdfWUVMTE9XRklOIGlzIG5vdCBzZXQKLSMgQ09ORklHX1I4MTY5IGlzIG5vdCBzZXQKLSMgQ09ORklHX1NJUzE5MCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TS0dFIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NLWTIgaXMgbm90IHNldAotIyBDT05GSUdfVklBX1ZFTE9DSVRZIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RJR09OMyBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTlgyIGlzIG5vdCBzZXQKLSMgQ09ORklHX1FMQTNYWFggaXMgbm90IHNldAotIyBDT05GSUdfQVRMMSBpcyBub3Qgc2V0Ci1DT05GSUdfTkVUREVWXzEwMDAwPXkKLSMgQ09ORklHX0NIRUxTSU9fVDEgaXMgbm90IHNldAotIyBDT05GSUdfQ0hFTFNJT19UMyBpcyBub3Qgc2V0Ci0jIENPTkZJR19JWEdCIGlzIG5vdCBzZXQKLSMgQ09ORklHX1MySU8gaXMgbm90IHNldAotIyBDT05GSUdfTVlSSTEwR0UgaXMgbm90IHNldAotIyBDT05GSUdfTkVUWEVOX05JQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19NTFg0X0NPUkUgaXMgbm90IHNldAorIyBDT05GSUdfTkVUREVWXzEwMDAgaXMgbm90IHNldAorIyBDT05GSUdfTkVUREVWXzEwMDAwIGlzIG5vdCBzZXQKICMgQ09ORklHX1RSIGlzIG5vdCBzZXQKIAogIwogIyBXaXJlbGVzcyBMQU4KICMKICMgQ09ORklHX1dMQU5fUFJFODAyMTEgaXMgbm90IHNldAotIyBDT05GSUdfV0xBTl84MDIxMSBpcyBub3Qgc2V0CitDT05GSUdfV0xBTl84MDIxMT15CisjIENPTkZJR19QQ01DSUFfUkFZQ1MgaXMgbm90IHNldAorIyBDT05GSUdfSVBXMjEwMCBpcyBub3Qgc2V0CisjIENPTkZJR19JUFcyMjAwIGlzIG5vdCBzZXQKK0NPTkZJR19MSUJFUlRBUz1tCisjIENPTkZJR19MSUJFUlRBU19VU0IgaXMgbm90IHNldAorIyBDT05GSUdfTElCRVJUQVNfQ1MgaXMgbm90IHNldAorQ09ORklHX0xJQkVSVEFTX1NESU89bQorIyBDT05GSUdfTElCRVJUQVNfREVCVUcgaXMgbm90IHNldAorIyBDT05GSUdfSEVSTUVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FUTUVMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FJUk9fQ1MgaXMgbm90IHNldAorIyBDT05GSUdfUENNQ0lBX1dMMzUwMSBpcyBub3Qgc2V0CisjIENPTkZJR19QUklTTTU0IGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9aRDEyMDEgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX05FVF9STkRJU19XTEFOIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lXTFdJRkkgaXMgbm90IHNldAorIyBDT05GSUdfSVdMV0lGSV9MRURTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hPU1RBUCBpcyBub3Qgc2V0CiAKICMKICMgVVNCIE5ldHdvcmsgQWRhcHRlcnMKQEAgLTY1MSwxNSArNzkxLDI0IEBACiAjIENPTkZJR19VU0JfS0FXRVRIIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9QRUdBU1VTIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9SVEw4MTUwIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9VU0JORVRfTUlJIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9VU0JORVQgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX1BDTUNJQSBpcyBub3Qgc2V0CiAjIENPTkZJR19XQU4gaXMgbm90IHNldAogIyBDT05GSUdfRkRESSBpcyBub3Qgc2V0CiAjIENPTkZJR19ISVBQSSBpcyBub3Qgc2V0Ci0jIENPTkZJR19QUFAgaXMgbm90IHNldAorQ09ORklHX1BQUD1tCitDT05GSUdfUFBQX01VTFRJTElOSz15CitDT05GSUdfUFBQX0ZJTFRFUj15CitDT05GSUdfUFBQX0FTWU5DPW0KKyMgQ09ORklHX1BQUF9TWU5DX1RUWSBpcyBub3Qgc2V0CitDT05GSUdfUFBQX0RFRkxBVEU9bQorQ09ORklHX1BQUF9CU0RDT01QPW0KKyMgQ09ORklHX1BQUF9NUFBFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BQUE9FIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BQUE9MMlRQIGlzIG5vdCBzZXQKICMgQ09ORklHX1NMSVAgaXMgbm90IHNldAorQ09ORklHX1NMSEM9bQogIyBDT05GSUdfTkVUX0ZDIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NIQVBFUiBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRDT05TT0xFIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVFBPTEwgaXMgbm90IHNldAogIyBDT05GSUdfTkVUX1BPTExfQ09OVFJPTExFUiBpcyBub3Qgc2V0CkBAIC02NzUsMjAgKzgyNCwzMiBAQAogIwogIyBVc2VybGFuZCBpbnRlcmZhY2VzCiAjCi0jIENPTkZJR19JTlBVVF9NT1VTRURFViBpcyBub3Qgc2V0CitDT05GSUdfSU5QVVRfTU9VU0VERVY9eQorQ09ORklHX0lOUFVUX01PVVNFREVWX1BTQVVYPXkKK0NPTkZJR19JTlBVVF9NT1VTRURFVl9TQ1JFRU5fWD0xMDI0CitDT05GSUdfSU5QVVRfTU9VU0VERVZfU0NSRUVOX1k9NzY4CiAjIENPTkZJR19JTlBVVF9KT1lERVYgaXMgbm90IHNldAotIyBDT05GSUdfSU5QVVRfVFNERVYgaXMgbm90IHNldAogQ09ORklHX0lOUFVUX0VWREVWPXkKICMgQ09ORklHX0lOUFVUX0VWQlVHIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOUFVUX0FQTVBPV0VSIGlzIG5vdCBzZXQKIAogIwogIyBJbnB1dCBEZXZpY2UgRHJpdmVycwogIwotIyBDT05GSUdfSU5QVVRfS0VZQk9BUkQgaXMgbm90IHNldAorQ09ORklHX0lOUFVUX0tFWUJPQVJEPXkKK0NPTkZJR19LRVlCT0FSRF9BVEtCRD15CisjIENPTkZJR19LRVlCT0FSRF9TVU5LQkQgaXMgbm90IHNldAorIyBDT05GSUdfS0VZQk9BUkRfTEtLQkQgaXMgbm90IHNldAorIyBDT05GSUdfS0VZQk9BUkRfWFRLQkQgaXMgbm90IHNldAorIyBDT05GSUdfS0VZQk9BUkRfTkVXVE9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX0tFWUJPQVJEX1NUT1dBV0FZIGlzIG5vdCBzZXQKK0NPTkZJR19LRVlCT0FSRF9QWEEyN3g9bQorIyBDT05GSUdfS0VZQk9BUkRfR1BJTyBpcyBub3Qgc2V0CiAjIENPTkZJR19JTlBVVF9NT1VTRSBpcyBub3Qgc2V0CiAjIENPTkZJR19JTlBVVF9KT1lTVElDSyBpcyBub3Qgc2V0CiAjIENPTkZJR19JTlBVVF9UQUJMRVQgaXMgbm90IHNldAogQ09ORklHX0lOUFVUX1RPVUNIU0NSRUVOPXkKKyMgQ09ORklHX1RPVUNIU0NSRUVOX0ZVSklUU1UgaXMgbm90IHNldAogIyBDT05GSUdfVE9VQ0hTQ1JFRU5fR1VOWkUgaXMgbm90IHNldAogIyBDT05GSUdfVE9VQ0hTQ1JFRU5fRUxPIGlzIG5vdCBzZXQKICMgQ09ORklHX1RPVUNIU0NSRUVOX01UT1VDSCBpcyBub3Qgc2V0CkBAIC02OTcsMTMgKzg1OCwyMiBAQAogIyBDT05GSUdfVE9VQ0hTQ1JFRU5fVE9VQ0hSSUdIVCBpcyBub3Qgc2V0CiAjIENPTkZJR19UT1VDSFNDUkVFTl9UT1VDSFdJTiBpcyBub3Qgc2V0CiBDT05GSUdfVE9VQ0hTQ1JFRU5fVUNCMTQwMD1tCitDT05GSUdfVE9VQ0hTQ1JFRU5fV005N1hYPW0KKyMgQ09ORklHX1RPVUNIU0NSRUVOX1dNOTcwNSBpcyBub3Qgc2V0CitDT05GSUdfVE9VQ0hTQ1JFRU5fV005NzEyPXkKKyMgQ09ORklHX1RPVUNIU0NSRUVOX1dNOTcxMyBpcyBub3Qgc2V0CisjIENPTkZJR19UT1VDSFNDUkVFTl9XTTk3WFhfTUFJTlNUT05FIGlzIG5vdCBzZXQKICMgQ09ORklHX1RPVUNIU0NSRUVOX1VTQl9DT01QT1NJVEUgaXMgbm90IHNldAogIyBDT05GSUdfSU5QVVRfTUlTQyBpcyBub3Qgc2V0CiAKICMKICMgSGFyZHdhcmUgSS9PIHBvcnRzCiAjCi0jIENPTkZJR19TRVJJTyBpcyBub3Qgc2V0CitDT05GSUdfU0VSSU89eQorIyBDT05GSUdfU0VSSU9fU0VSUE9SVCBpcyBub3Qgc2V0CisjIENPTkZJR19TRVJJT19QQ0lQUzIgaXMgbm90IHNldAorQ09ORklHX1NFUklPX0xJQlBTMj15CisjIENPTkZJR19TRVJJT19SQVcgaXMgbm90IHNldAogIyBDT05GSUdfR0FNRVBPUlQgaXMgbm90IHNldAogCiAjCkBAIC03MTMsNyArODgzLDkgQEAKIENPTkZJR19WVF9DT05TT0xFPXkKIENPTkZJR19IV19DT05TT0xFPXkKICMgQ09ORklHX1ZUX0hXX0NPTlNPTEVfQklORElORyBpcyBub3Qgc2V0CitDT05GSUdfREVWS01FTT15CiAjIENPTkZJR19TRVJJQUxfTk9OU1RBTkRBUkQgaXMgbm90IHNldAorIyBDT05GSUdfTk9aT01JIGlzIG5vdCBzZXQKIAogIwogIyBTZXJpYWwgZHJpdmVycwpAQCAtNzMwLDgzICs5MDIsMTQxIEBACiAjIENPTkZJR19TRVJJQUxfSlNNIGlzIG5vdCBzZXQKIENPTkZJR19VTklYOThfUFRZUz15CiBDT05GSUdfTEVHQUNZX1BUWVM9eQotQ09ORklHX0xFR0FDWV9QVFlfQ09VTlQ9MjU2CitDT05GSUdfTEVHQUNZX1BUWV9DT1VOVD0xNgogIyBDT05GSUdfSVBNSV9IQU5ETEVSIGlzIG5vdCBzZXQKLSMgQ09ORklHX1dBVENIRE9HIGlzIG5vdCBzZXQKLUNPTkZJR19IV19SQU5ET009bQorIyBDT05GSUdfSFdfUkFORE9NIGlzIG5vdCBzZXQKICMgQ09ORklHX05WUkFNIGlzIG5vdCBzZXQKICMgQ09ORklHX1IzOTY0IGlzIG5vdCBzZXQKICMgQ09ORklHX0FQUExJQ09NIGlzIG5vdCBzZXQKLSMgQ09ORklHX0RSTSBpcyBub3Qgc2V0CisKKyMKKyMgUENNQ0lBIGNoYXJhY3RlciBkZXZpY2VzCisjCisjIENPTkZJR19TWU5DTElOS19DUyBpcyBub3Qgc2V0CisjIENPTkZJR19DQVJETUFOXzQwMDAgaXMgbm90IHNldAorIyBDT05GSUdfQ0FSRE1BTl80MDQwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lQV0lSRUxFU1MgaXMgbm90IHNldAogIyBDT05GSUdfUkFXX0RSSVZFUiBpcyBub3Qgc2V0CiAjIENPTkZJR19UQ0dfVFBNIGlzIG5vdCBzZXQKIENPTkZJR19ERVZQT1JUPXkKLSMgQ09ORklHX0kyQyBpcyBub3Qgc2V0CitDT05GSUdfSTJDPXkKK0NPTkZJR19JMkNfQk9BUkRJTkZPPXkKK0NPTkZJR19JMkNfQ0hBUkRFVj1tCiAKICMKLSMgU1BJIHN1cHBvcnQKKyMgSTJDIEhhcmR3YXJlIEJ1cyBzdXBwb3J0CiAjCisjIENPTkZJR19JMkNfQUxJMTUzNSBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfQUxJMTU2MyBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfQUxJMTVYMyBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfQU1ENzU2IGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19BTUQ4MTExIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19HUElPIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19JODAxIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19JODEwIGlzIG5vdCBzZXQKK0NPTkZJR19JMkNfUFhBPXkKKyMgQ09ORklHX0kyQ19QWEFfU0xBVkUgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1BJSVg0IGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19ORk9SQ0UyIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19PQ09SRVMgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1BBUlBPUlRfTElHSFQgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1BST1NBVkFHRSBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfU0FWQUdFNCBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfU0lNVEVDIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19TSVM1NTk1IGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19TSVM2MzAgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1NJUzk2WCBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfVEFPU19FVk0gaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1NUVUIgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1RJTllfVVNCIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19WSUEgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1ZJQVBSTyBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfVk9PRE9PMyBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfUENBX1BMQVRGT1JNIGlzIG5vdCBzZXQKKworIworIyBNaXNjZWxsYW5lb3VzIEkyQyBDaGlwIHN1cHBvcnQKKyMKKyMgQ09ORklHX0RTMTY4MiBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0VFUFJPTSBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX1BDRjg1NzQgaXMgbm90IHNldAorIyBDT05GSUdfUENGODU3NSBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX1BDRjg1OTEgaXMgbm90IHNldAorIyBDT05GSUdfVFBTNjUwMTAgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19NQVg2ODc1IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfVFNMMjU1MCBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfREVCVUdfQ09SRSBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfREVCVUdfQUxHTyBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfREVCVUdfQlVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19ERUJVR19DSElQIGlzIG5vdCBzZXQKICMgQ09ORklHX1NQSSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TUElfTUFTVEVSIGlzIG5vdCBzZXQKK0NPTkZJR19IQVZFX0dQSU9fTElCPXkKKworIworIyBHUElPIFN1cHBvcnQKKyMKKyMgQ09ORklHX0RFQlVHX0dQSU8gaXMgbm90IHNldAorCisjCisjIEkyQyBHUElPIGV4cGFuZGVyczoKKyMKKyMgQ09ORklHX0dQSU9fUENBOTUzWCBpcyBub3Qgc2V0CisjIENPTkZJR19HUElPX1BDRjg1N1ggaXMgbm90IHNldAorCisjCisjIFNQSSBHUElPIGV4cGFuZGVyczoKKyMKICMgQ09ORklHX1cxIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BPV0VSX1NVUFBMWSBpcyBub3Qgc2V0CiAjIENPTkZJR19IV01PTiBpcyBub3Qgc2V0Ci1DT05GSUdfTUlTQ19ERVZJQ0VTPXkKLSMgQ09ORklHX1BIQU5UT00gaXMgbm90IHNldAotIyBDT05GSUdfRUVQUk9NXzkzQ1g2IGlzIG5vdCBzZXQKLSMgQ09ORklHX1NHSV9JT0M0IGlzIG5vdCBzZXQKLSMgQ09ORklHX1RJRk1fQ09SRSBpcyBub3Qgc2V0CisjIENPTkZJR19XQVRDSERPRyBpcyBub3Qgc2V0CisKKyMKKyMgU29uaWNzIFNpbGljb24gQmFja3BsYW5lCisjCitDT05GSUdfU1NCX1BPU1NJQkxFPXkKKyMgQ09ORklHX1NTQiBpcyBub3Qgc2V0CiAKICMKICMgTXVsdGlmdW5jdGlvbiBkZXZpY2UgZHJpdmVycwogIwogIyBDT05GSUdfTUZEX1NNNTAxIGlzIG5vdCBzZXQKLQotIwotIyBMRUQgZGV2aWNlcwotIwotQ09ORklHX05FV19MRURTPXkKLUNPTkZJR19MRURTX0NMQVNTPXkKLQotIwotIyBMRUQgZHJpdmVycwotIwotQ09ORklHX0xFRFNfQ01fWDI3MD15Ci0KLSMKLSMgTEVEIFRyaWdnZXJzCi0jCi1DT05GSUdfTEVEU19UUklHR0VSUz15Ci0jIENPTkZJR19MRURTX1RSSUdHRVJfVElNRVIgaXMgbm90IHNldAotIyBDT05GSUdfTEVEU19UUklHR0VSX0lERV9ESVNLIGlzIG5vdCBzZXQKLUNPTkZJR19MRURTX1RSSUdHRVJfSEVBUlRCRUFUPXkKKyMgQ09ORklHX01GRF9BU0lDMyBpcyBub3Qgc2V0CisjIENPTkZJR19IVENfRUdQSU8gaXMgbm90IHNldAorIyBDT05GSUdfSFRDX1BBU0lDMyBpcyBub3Qgc2V0CiAKICMKICMgTXVsdGltZWRpYSBkZXZpY2VzCiAjCisKKyMKKyMgTXVsdGltZWRpYSBjb3JlIHN1cHBvcnQKKyMKICMgQ09ORklHX1ZJREVPX0RFViBpcyBub3Qgc2V0CiAjIENPTkZJR19EVkJfQ09SRSBpcyBub3Qgc2V0Ci1DT05GSUdfREFCPXkKLSMgQ09ORklHX1VTQl9EQUJVU0IgaXMgbm90IHNldAorCisjCisjIE11bHRpbWVkaWEgZHJpdmVycworIworIyBDT05GSUdfREFCIGlzIG5vdCBzZXQKIAogIwogIyBHcmFwaGljcyBzdXBwb3J0CiAjCi0jIENPTkZJR19CQUNLTElHSFRfTENEX1NVUFBPUlQgaXMgbm90IHNldAotCi0jCi0jIERpc3BsYXkgZGV2aWNlIHN1cHBvcnQKLSMKLSMgQ09ORklHX0RJU1BMQVlfU1VQUE9SVCBpcyBub3Qgc2V0CisjIENPTkZJR19EUk0gaXMgbm90IHNldAogIyBDT05GSUdfVkdBU1RBVEUgaXMgbm90IHNldAorIyBDT05GSUdfVklERU9fT1VUUFVUX0NPTlRST0wgaXMgbm90IHNldAogQ09ORklHX0ZCPXkKICMgQ09ORklHX0ZJUk1XQVJFX0VESUQgaXMgbm90IHNldAogIyBDT05GSUdfRkJfRERDIGlzIG5vdCBzZXQKIENPTkZJR19GQl9DRkJfRklMTFJFQ1Q9eQogQ09ORklHX0ZCX0NGQl9DT1BZQVJFQT15CiBDT05GSUdfRkJfQ0ZCX0lNQUdFQkxJVD15CisjIENPTkZJR19GQl9DRkJfUkVWX1BJWEVMU19JTl9CWVRFIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZCX1NZU19GSUxMUkVDVCBpcyBub3Qgc2V0CiAjIENPTkZJR19GQl9TWVNfQ09QWUFSRUEgaXMgbm90IHNldAogIyBDT05GSUdfRkJfU1lTX0lNQUdFQkxJVCBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9GT1JFSUdOX0VORElBTiBpcyBub3Qgc2V0CiAjIENPTkZJR19GQl9TWVNfRk9QUyBpcyBub3Qgc2V0CiBDT05GSUdfRkJfREVGRVJSRURfSU89eQogIyBDT05GSUdfRkJfU1ZHQUxJQiBpcyBub3Qgc2V0CkBAIC04NDIsOSArMTA3MiwxNyBAQAogIyBDT05GSUdfRkJfQVJLIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZCX1BNMyBpcyBub3Qgc2V0CiBDT05GSUdfRkJfUFhBPXkKLSMgQ09ORklHX0ZCX1BYQV9QQVJBTUVURVJTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX1BYQV9TTUFSVFBBTkVMIGlzIG5vdCBzZXQKK0NPTkZJR19GQl9QWEFfUEFSQU1FVEVSUz15CiBDT05GSUdfRkJfTUJYPW0KKyMgQ09ORklHX0ZCX0FNMjAwRVBEIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZCX1ZJUlRVQUwgaXMgbm90IHNldAorIyBDT05GSUdfQkFDS0xJR0hUX0xDRF9TVVBQT1JUIGlzIG5vdCBzZXQKKworIworIyBEaXNwbGF5IGRldmljZSBzdXBwb3J0CisjCisjIENPTkZJR19ESVNQTEFZX1NVUFBPUlQgaXMgbm90IHNldAogCiAjCiAjIENvbnNvbGUgZGlzcGxheSBkcml2ZXIgc3VwcG9ydApAQCAtOTA0LDEwICsxMTQyLDEyIEBACiAjIENPTkZJR19TTkRfQVU4ODEwIGlzIG5vdCBzZXQKICMgQ09ORklHX1NORF9BVTg4MjAgaXMgbm90IHNldAogIyBDT05GSUdfU05EX0FVODgzMCBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfQVcyIGlzIG5vdCBzZXQKICMgQ09ORklHX1NORF9BWlQzMzI4IGlzIG5vdCBzZXQKICMgQ09ORklHX1NORF9CVDg3WCBpcyBub3Qgc2V0CiAjIENPTkZJR19TTkRfQ0EwMTA2IGlzIG5vdCBzZXQKICMgQ09ORklHX1NORF9DTUlQQ0kgaXMgbm90IHNldAorIyBDT05GSUdfU05EX09YWUdFTiBpcyBub3Qgc2V0CiAjIENPTkZJR19TTkRfQ1M0MjgxIGlzIG5vdCBzZXQKICMgQ09ORklHX1NORF9DUzQ2WFggaXMgbm90IHNldAogIyBDT05GSUdfU05EX0RBUkxBMjAgaXMgbm90IHNldApAQCAtOTMyLDYgKzExNzIsNyBAQAogIyBDT05GSUdfU05EX0hEQV9JTlRFTCBpcyBub3Qgc2V0CiAjIENPTkZJR19TTkRfSERTUCBpcyBub3Qgc2V0CiAjIENPTkZJR19TTkRfSERTUE0gaXMgbm90IHNldAorIyBDT05GSUdfU05EX0hJRklFUiBpcyBub3Qgc2V0CiAjIENPTkZJR19TTkRfSUNFMTcxMiBpcyBub3Qgc2V0CiAjIENPTkZJR19TTkRfSUNFMTcyNCBpcyBub3Qgc2V0CiAjIENPTkZJR19TTkRfSU5URUw4WDAgaXMgbm90IHNldApAQCAtOTQ5LDYgKzExOTAsNyBAQAogIyBDT05GSUdfU05EX1RSSURFTlQgaXMgbm90IHNldAogIyBDT05GSUdfU05EX1ZJQTgyWFggaXMgbm90IHNldAogIyBDT05GSUdfU05EX1ZJQTgyWFhfTU9ERU0gaXMgbm90IHNldAorIyBDT05GSUdfU05EX1ZJUlRVT1NPIGlzIG5vdCBzZXQKICMgQ09ORklHX1NORF9WWDIyMiBpcyBub3Qgc2V0CiAjIENPTkZJR19TTkRfWU1GUENJIGlzIG5vdCBzZXQKICMgQ09ORklHX1NORF9BQzk3X1BPV0VSX1NBVkUgaXMgbm90IHNldApAQCAtOTY2LDE4ICsxMjA4LDMzIEBACiAjIENPTkZJR19TTkRfVVNCX0NBSUFRIGlzIG5vdCBzZXQKIAogIworIyBQQ01DSUEgZGV2aWNlcworIworIyBDT05GSUdfU05EX1ZYUE9DS0VUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9QREFVRElPQ0YgaXMgbm90IHNldAorCisjCiAjIFN5c3RlbSBvbiBDaGlwIGF1ZGlvIHN1cHBvcnQKICMKICMgQ09ORklHX1NORF9TT0MgaXMgbm90IHNldAogCiAjCisjIEFMU0EgU29DIGF1ZGlvIGZvciBGcmVlc2NhbGUgU09DcworIworCisjCisjIFNvQyBBdWRpbyBmb3IgdGhlIFRleGFzIEluc3RydW1lbnRzIE9NQVAKKyMKKworIwogIyBPcGVuIFNvdW5kIFN5c3RlbQogIwogIyBDT05GSUdfU09VTkRfUFJJTUUgaXMgbm90IHNldAogQ09ORklHX0FDOTdfQlVTPW0KIENPTkZJR19ISURfU1VQUE9SVD15CiBDT05GSUdfSElEPXkKLSMgQ09ORklHX0hJRF9ERUJVRyBpcyBub3Qgc2V0CitDT05GSUdfSElEX0RFQlVHPXkKKyMgQ09ORklHX0hJRFJBVyBpcyBub3Qgc2V0CiAKICMKICMgVVNCIElucHV0IERldmljZXMKQEAgLTk5Miw2ICsxMjQ5LDcgQEAKIENPTkZJR19VU0JfQVJDSF9IQVNfRUhDST15CiBDT05GSUdfVVNCPXkKICMgQ09ORklHX1VTQl9ERUJVRyBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfQU5OT1VOQ0VfTkVXX0RFVklDRVMgaXMgbm90IHNldAogCiAjCiAjIE1pc2NlbGxhbmVvdXMgVVNCIG9wdGlvbnMKQEAgLTEwMDAsOCArMTI1OCw5IEBACiAjIENPTkZJR19VU0JfREVWSUNFX0NMQVNTIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9EWU5BTUlDX01JTk9SUyBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfU1VTUEVORCBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfUEVSU0lTVCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfT1RHIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9PVEdfV0hJVEVMSVNUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9PVEdfQkxBQ0tMSVNUX0hVQiBpcyBub3Qgc2V0CiAKICMKICMgVVNCIEhvc3QgQ29udHJvbGxlciBEcml2ZXJzCkBAIC0xMDMzLDEzICsxMjkyLDE2IEBACiAjIENPTkZJR19VU0JfU1RPUkFHRV9ERUJVRyBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfU1RPUkFHRV9EQVRBRkFCIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9TVE9SQUdFX0ZSRUVDT00gaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NUT1JBR0VfSVNEMjAwIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9TVE9SQUdFX0RQQ00gaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1NUT1JBR0VfVVNCQVQgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1NUT1JBR0VfU0REUjA5IGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9TVE9SQUdFX1NERFI1NSBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfU1RPUkFHRV9KVU1QU0hPVCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfU1RPUkFHRV9BTEFVREEgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NUT1JBR0VfT05FVE9VQ0ggaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1NUT1JBR0VfS0FSTUEgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NUT1JBR0VfQ1lQUkVTU19BVEFDQiBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfTElCVVNVQUwgaXMgbm90IHNldAogCiAjCkBAIC0xMDUyLDEwICsxMzE0LDYgQEAKICMKICMgVVNCIHBvcnQgZHJpdmVycwogIwotCi0jCi0jIFVTQiBTZXJpYWwgQ29udmVydGVyIHN1cHBvcnQKLSMKICMgQ09ORklHX1VTQl9TRVJJQUwgaXMgbm90IHNldAogCiAjCkBAIC0xMDgwLDE0ICsxMzM4LDYgQEAKICMgQ09ORklHX1VTQl9UUkFOQ0VWSUJSQVRPUiBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfSU9XQVJSSU9SIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9URVNUIGlzIG5vdCBzZXQKLQotIwotIyBVU0IgRFNMIG1vZGVtIHN1cHBvcnQKLSMKLQotIwotIyBVU0IgR2FkZ2V0IFN1cHBvcnQKLSMKICMgQ09ORklHX1VTQl9HQURHRVQgaXMgbm90IHNldAogQ09ORklHX01NQz1tCiAjIENPTkZJR19NTUNfREVCVUcgaXMgbm90IHNldApAQCAtMTA5OCw2ICsxMzQ4LDcgQEAKICMKIENPTkZJR19NTUNfQkxPQ0s9bQogQ09ORklHX01NQ19CTE9DS19CT1VOQ0U9eQorIyBDT05GSUdfU0RJT19VQVJUIGlzIG5vdCBzZXQKIAogIwogIyBNTUMvU0QgSG9zdCBDb250cm9sbGVyIERyaXZlcnMKQEAgLTExMDUsMTAgKzEzNTYsMjIgQEAKIENPTkZJR19NTUNfUFhBPW0KICMgQ09ORklHX01NQ19TREhDSSBpcyBub3Qgc2V0CiAjIENPTkZJR19NTUNfVElGTV9TRCBpcyBub3Qgc2V0CitDT05GSUdfTkVXX0xFRFM9eQorQ09ORklHX0xFRFNfQ0xBU1M9eQogCiAjCi0jIFJlYWwgVGltZSBDbG9jaworIyBMRUQgZHJpdmVycwogIworIyBDT05GSUdfTEVEU19HUElPIGlzIG5vdCBzZXQKK0NPTkZJR19MRURTX0NNX1gyNzA9eQorCisjCisjIExFRCBUcmlnZ2VycworIworQ09ORklHX0xFRFNfVFJJR0dFUlM9eQorIyBDT05GSUdfTEVEU19UUklHR0VSX1RJTUVSIGlzIG5vdCBzZXQKK0NPTkZJR19MRURTX1RSSUdHRVJfSEVBUlRCRUFUPXkKKyMgQ09ORklHX0xFRFNfVFJJR0dFUl9ERUZBVUxUX09OIGlzIG5vdCBzZXQKIENPTkZJR19SVENfTElCPXkKIENPTkZJR19SVENfQ0xBU1M9eQogQ09ORklHX1JUQ19IQ1RPU1lTPXkKQEAgLTExMjUsMTEgKzEzODgsMzIgQEAKICMgQ09ORklHX1JUQ19EUlZfVEVTVCBpcyBub3Qgc2V0CiAKICMKKyMgSTJDIFJUQyBkcml2ZXJzCisjCisjIENPTkZJR19SVENfRFJWX0RTMTMwNyBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX0RTMTM3NCBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX0RTMTY3MiBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX01BWDY5MDAgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9SUzVDMzcyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfSVNMMTIwOCBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1gxMjA1IGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfUENGODU2MyBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1BDRjg1ODMgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9NNDFUODAgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9TMzUzOTBBIGlzIG5vdCBzZXQKKworIworIyBTUEkgUlRDIGRyaXZlcnMKKyMKKworIwogIyBQbGF0Zm9ybSBSVEMgZHJpdmVycwogIwogIyBDT05GSUdfUlRDX0RSVl9DTU9TIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfRFMxNTExIGlzIG5vdCBzZXQKICMgQ09ORklHX1JUQ19EUlZfRFMxNTUzIGlzIG5vdCBzZXQKICMgQ09ORklHX1JUQ19EUlZfRFMxNzQyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfU1RLMTdUQTggaXMgbm90IHNldAogIyBDT05GSUdfUlRDX0RSVl9NNDhUODYgaXMgbm90IHNldAogIyBDT05GSUdfUlRDX0RSVl9NNDhUNTkgaXMgbm90IHNldAogQ09ORklHX1JUQ19EUlZfVjMwMjA9eQpAQCAtMTEzOCwxOSArMTQyMiw3IEBACiAjIG9uLUNQVSBSVEMgZHJpdmVycwogIwogQ09ORklHX1JUQ19EUlZfU0ExMTAwPXkKLQotIwotIyBETUEgRW5naW5lIHN1cHBvcnQKLSMKLSMgQ09ORklHX0RNQV9FTkdJTkUgaXMgbm90IHNldAotCi0jCi0jIERNQSBDbGllbnRzCi0jCi0KLSMKLSMgRE1BIERldmljZXMKLSMKKyMgQ09ORklHX1VJTyBpcyBub3Qgc2V0CiAKICMKICMgRmlsZSBzeXN0ZW1zCkBAIC0xMTY0LDIwICsxNDM2LDE2IEBACiAjIENPTkZJR19FWFQzX0ZTX1NFQ1VSSVRZIGlzIG5vdCBzZXQKICMgQ09ORklHX0VYVDRERVZfRlMgaXMgbm90IHNldAogQ09ORklHX0pCRD15Ci0jIENPTkZJR19KQkRfREVCVUcgaXMgbm90IHNldAogQ09ORklHX0ZTX01CQ0FDSEU9eQogIyBDT05GSUdfUkVJU0VSRlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfSkZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZTX1BPU0lYX0FDTCBpcyBub3Qgc2V0CiAjIENPTkZJR19YRlNfRlMgaXMgbm90IHNldAotIyBDT05GSUdfR0ZTMl9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19PQ0ZTMl9GUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19NSU5JWF9GUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19ST01GU19GUyBpcyBub3Qgc2V0CitDT05GSUdfRE5PVElGWT15CiBDT05GSUdfSU5PVElGWT15CiBDT05GSUdfSU5PVElGWV9VU0VSPXkKICMgQ09ORklHX1FVT1RBIGlzIG5vdCBzZXQKLUNPTkZJR19ETk9USUZZPXkKICMgQ09ORklHX0FVVE9GU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19BVVRPRlM0X0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZVU0VfRlMgaXMgbm90IHNldApAQCAtMTE5MSw5ICsxNDU5LDkgQEAKICMKICMgRE9TL0ZBVC9OVCBGaWxlc3lzdGVtcwogIwotQ09ORklHX0ZBVF9GUz15Ci1DT05GSUdfTVNET1NfRlM9eQotQ09ORklHX1ZGQVRfRlM9eQorQ09ORklHX0ZBVF9GUz1tCisjIENPTkZJR19NU0RPU19GUyBpcyBub3Qgc2V0CitDT05GSUdfVkZBVF9GUz1tCiBDT05GSUdfRkFUX0RFRkFVTFRfQ09ERVBBR0U9NDM3CiBDT05GSUdfRkFUX0RFRkFVTFRfSU9DSEFSU0VUPSJpc284ODU5LTEiCiAjIENPTkZJR19OVEZTX0ZTIGlzIG5vdCBzZXQKQEAgLTEyMDcsNyArMTQ3NSw2IEBACiBDT05GSUdfVE1QRlM9eQogIyBDT05GSUdfVE1QRlNfUE9TSVhfQUNMIGlzIG5vdCBzZXQKICMgQ09ORklHX0hVR0VUTEJfUEFHRSBpcyBub3Qgc2V0Ci1DT05GSUdfUkFNRlM9eQogIyBDT05GSUdfQ09ORklHRlNfRlMgaXMgbm90IHNldAogCiAjCkBAIC0xMjIwLDIyICsxNDg3LDMwIEBACiAjIENPTkZJR19CRUZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0JGU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19FRlNfRlMgaXMgbm90IHNldAotIyBDT05GSUdfSkZGUzJfRlMgaXMgbm90IHNldAorQ09ORklHX0pGRlMyX0ZTPXkKK0NPTkZJR19KRkZTMl9GU19ERUJVRz0wCitDT05GSUdfSkZGUzJfRlNfV1JJVEVCVUZGRVI9eQorIyBDT05GSUdfSkZGUzJfRlNfV0JVRl9WRVJJRlkgaXMgbm90IHNldAorQ09ORklHX0pGRlMyX1NVTU1BUlk9eQorIyBDT05GSUdfSkZGUzJfRlNfWEFUVFIgaXMgbm90IHNldAorIyBDT05GSUdfSkZGUzJfQ09NUFJFU1NJT05fT1BUSU9OUyBpcyBub3Qgc2V0CitDT05GSUdfSkZGUzJfWkxJQj15CisjIENPTkZJR19KRkZTMl9MWk8gaXMgbm90IHNldAorQ09ORklHX0pGRlMyX1JUSU1FPXkKKyMgQ09ORklHX0pGRlMyX1JVQklOIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSQU1GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19WWEZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX01JTklYX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0hQRlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfUU5YNEZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JPTUZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NZU1ZfRlMgaXMgbm90IHNldAogIyBDT05GSUdfVUZTX0ZTIGlzIG5vdCBzZXQKLQotIwotIyBOZXR3b3JrIEZpbGUgU3lzdGVtcwotIworQ09ORklHX05FVFdPUktfRklMRVNZU1RFTVM9eQogQ09ORklHX05GU19GUz15CiBDT05GSUdfTkZTX1YzPXkKICMgQ09ORklHX05GU19WM19BQ0wgaXMgbm90IHNldAogIyBDT05GSUdfTkZTX1Y0IGlzIG5vdCBzZXQKLSMgQ09ORklHX05GU19ESVJFQ1RJTyBpcyBub3Qgc2V0CiAjIENPTkZJR19ORlNEIGlzIG5vdCBzZXQKIENPTkZJR19ST09UX05GUz15CiBDT05GSUdfTE9DS0Q9eQpAQCAtMTI0NSw5ICsxNTIwLDEzIEBACiAjIENPTkZJR19TVU5SUENfQklORDM0IGlzIG5vdCBzZXQKICMgQ09ORklHX1JQQ1NFQ19HU1NfS1JCNSBpcyBub3Qgc2V0CiAjIENPTkZJR19SUENTRUNfR1NTX1NQS00zIGlzIG5vdCBzZXQKLUNPTkZJR19TTUJfRlM9eQotIyBDT05GSUdfU01CX05MU19ERUZBVUxUIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NJRlMgaXMgbm90IHNldAorIyBDT05GSUdfU01CX0ZTIGlzIG5vdCBzZXQKK0NPTkZJR19DSUZTPW0KKyMgQ09ORklHX0NJRlNfU1RBVFMgaXMgbm90IHNldAorIyBDT05GSUdfQ0lGU19XRUFLX1BXX0hBU0ggaXMgbm90IHNldAorIyBDT05GSUdfQ0lGU19YQVRUUiBpcyBub3Qgc2V0CisjIENPTkZJR19DSUZTX0RFQlVHMiBpcyBub3Qgc2V0CisjIENPTkZJR19DSUZTX0VYUEVSSU1FTlRBTCBpcyBub3Qgc2V0CiAjIENPTkZJR19OQ1BfRlMgaXMgbm90IHNldAogIyBDT05GSUdfQ09EQV9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19BRlNfRlMgaXMgbm90IHNldApAQCAtMTI1NSwxNSArMTUzNCwyNyBAQAogIwogIyBQYXJ0aXRpb24gVHlwZXMKICMKLSMgQ09ORklHX1BBUlRJVElPTl9BRFZBTkNFRCBpcyBub3Qgc2V0CitDT05GSUdfUEFSVElUSU9OX0FEVkFOQ0VEPXkKKyMgQ09ORklHX0FDT1JOX1BBUlRJVElPTiBpcyBub3Qgc2V0CisjIENPTkZJR19PU0ZfUEFSVElUSU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FNSUdBX1BBUlRJVElPTiBpcyBub3Qgc2V0CisjIENPTkZJR19BVEFSSV9QQVJUSVRJT04gaXMgbm90IHNldAorIyBDT05GSUdfTUFDX1BBUlRJVElPTiBpcyBub3Qgc2V0CiBDT05GSUdfTVNET1NfUEFSVElUSU9OPXkKLQotIwotIyBOYXRpdmUgTGFuZ3VhZ2UgU3VwcG9ydAotIwotQ09ORklHX05MUz15CisjIENPTkZJR19CU0RfRElTS0xBQkVMIGlzIG5vdCBzZXQKKyMgQ09ORklHX01JTklYX1NVQlBBUlRJVElPTiBpcyBub3Qgc2V0CisjIENPTkZJR19TT0xBUklTX1g4Nl9QQVJUSVRJT04gaXMgbm90IHNldAorIyBDT05GSUdfVU5JWFdBUkVfRElTS0xBQkVMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0xETV9QQVJUSVRJT04gaXMgbm90IHNldAorIyBDT05GSUdfU0dJX1BBUlRJVElPTiBpcyBub3Qgc2V0CisjIENPTkZJR19VTFRSSVhfUEFSVElUSU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NVTl9QQVJUSVRJT04gaXMgbm90IHNldAorIyBDT05GSUdfS0FSTUFfUEFSVElUSU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX0VGSV9QQVJUSVRJT04gaXMgbm90IHNldAorIyBDT05GSUdfU1lTVjY4X1BBUlRJVElPTiBpcyBub3Qgc2V0CitDT05GSUdfTkxTPW0KIENPTkZJR19OTFNfREVGQVVMVD0iaXNvODg1OS0xIgotQ09ORklHX05MU19DT0RFUEFHRV80Mzc9eQorQ09ORklHX05MU19DT0RFUEFHRV80Mzc9bQogIyBDT05GSUdfTkxTX0NPREVQQUdFXzczNyBpcyBub3Qgc2V0CiAjIENPTkZJR19OTFNfQ09ERVBBR0VfNzc1IGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19DT0RFUEFHRV84NTAgaXMgbm90IHNldApAQCAtMTI4Nyw3ICsxNTc4LDcgQEAKICMgQ09ORklHX05MU19DT0RFUEFHRV8xMjUwIGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19DT0RFUEFHRV8xMjUxIGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19BU0NJSSBpcyBub3Qgc2V0Ci1DT05GSUdfTkxTX0lTTzg4NTlfMT15CitDT05GSUdfTkxTX0lTTzg4NTlfMT1tCiAjIENPTkZJR19OTFNfSVNPODg1OV8yIGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19JU084ODU5XzMgaXMgbm90IHNldAogIyBDT05GSUdfTkxTX0lTTzg4NTlfNCBpcyBub3Qgc2V0CkBAIC0xMzAwLDUzICsxNTkxLDUyIEBACiAjIENPTkZJR19OTFNfSVNPODg1OV8xNSBpcyBub3Qgc2V0CiAjIENPTkZJR19OTFNfS09JOF9SIGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19LT0k4X1UgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX1VURjggaXMgbm90IHNldAotCi0jCi0jIERpc3RyaWJ1dGVkIExvY2sgTWFuYWdlcgotIworQ09ORklHX05MU19VVEY4PW0KICMgQ09ORklHX0RMTSBpcyBub3Qgc2V0CiAKICMKLSMgUHJvZmlsaW5nIHN1cHBvcnQKLSMKLSMgQ09ORklHX1BST0ZJTElORyBpcyBub3Qgc2V0Ci0KLSMKICMgS2VybmVsIGhhY2tpbmcKICMKICMgQ09ORklHX1BSSU5US19USU1FIGlzIG5vdCBzZXQKK0NPTkZJR19FTkFCTEVfV0FSTl9ERVBSRUNBVEVEPXkKIENPTkZJR19FTkFCTEVfTVVTVF9DSEVDSz15Ci1DT05GSUdfTUFHSUNfU1lTUlE9eQorQ09ORklHX0ZSQU1FX1dBUk49MAorIyBDT05GSUdfTUFHSUNfU1lTUlEgaXMgbm90IHNldAogIyBDT05GSUdfVU5VU0VEX1NZTUJPTFMgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfRlMgaXMgbm90IHNldAogIyBDT05GSUdfSEVBREVSU19DSEVDSyBpcyBub3Qgc2V0CiBDT05GSUdfREVCVUdfS0VSTkVMPXkKICMgQ09ORklHX0RFQlVHX1NISVJRIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFVEVDVF9TT0ZUTE9DS1VQIGlzIG5vdCBzZXQKLUNPTkZJR19TQ0hFRF9ERUJVRz15CisjIENPTkZJR19TQ0hFRF9ERUJVRyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ0hFRFNUQVRTIGlzIG5vdCBzZXQKICMgQ09ORklHX1RJTUVSX1NUQVRTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0RFQlVHX1NMQUIgaXMgbm90IHNldAorIyBDT05GSUdfREVCVUdfT0JKRUNUUyBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19SVF9NVVRFWEVTIGlzIG5vdCBzZXQKICMgQ09ORklHX1JUX01VVEVYX1RFU1RFUiBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19TUElOTE9DSyBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19NVVRFWEVTIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX0xPQ0tfQUxMT0MgaXMgbm90IHNldAogIyBDT05GSUdfUFJPVkVfTE9DS0lORyBpcyBub3Qgc2V0CisjIENPTkZJR19MT0NLX1NUQVQgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfU1BJTkxPQ0tfU0xFRVAgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfTE9DS0lOR19BUElfU0VMRlRFU1RTIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX0tPQkpFQ1QgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfQlVHVkVSQk9TRSBpcyBub3Qgc2V0Ci1DT05GSUdfREVCVUdfSU5GTz15CisjIENPTkZJR19ERUJVR19JTkZPIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX1ZNIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFQlVHX1dSSVRFQ09VTlQgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfTElTVCBpcyBub3Qgc2V0CisjIENPTkZJR19ERUJVR19TRyBpcyBub3Qgc2V0CiBDT05GSUdfRlJBTUVfUE9JTlRFUj15Ci1DT05GSUdfRk9SQ0VEX0lOTElOSU5HPXkKKyMgQ09ORklHX0JPT1RfUFJJTlRLX0RFTEFZIGlzIG5vdCBzZXQKICMgQ09ORklHX1JDVV9UT1JUVVJFX1RFU1QgaXMgbm90IHNldAorIyBDT05GSUdfQkFDS1RSQUNFX1NFTEZfVEVTVCBpcyBub3Qgc2V0CiAjIENPTkZJR19GQVVMVF9JTkpFQ1RJT04gaXMgbm90IHNldAorIyBDT05GSUdfU0FNUExFUyBpcyBub3Qgc2V0CiBDT05GSUdfREVCVUdfVVNFUj15CiBDT05GSUdfREVCVUdfRVJST1JTPXkKKyMgQ09ORklHX0RFQlVHX1NUQUNLX1VTQUdFIGlzIG5vdCBzZXQKIENPTkZJR19ERUJVR19MTD15CiAjIENPTkZJR19ERUJVR19JQ0VEQ0MgaXMgbm90IHNldAogCkBAIC0xMzU1LDU1ICsxNjQ1LDk2IEBACiAjCiAjIENPTkZJR19LRVlTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NFQ1VSSVRZIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFQ1VSSVRZX0ZJTEVfQ0FQQUJJTElUSUVTIGlzIG5vdCBzZXQKIENPTkZJR19DUllQVE89eQotQ09ORklHX0NSWVBUT19BTEdBUEk9bQotQ09ORklHX0NSWVBUT19CTEtDSVBIRVI9bQotQ09ORklHX0NSWVBUT19NQU5BR0VSPW0KKworIworIyBDcnlwdG8gY29yZSBvciBoZWxwZXIKKyMKKyMgQ09ORklHX0NSWVBUT19NQU5BR0VSIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19HRjEyOE1VTCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fTlVMTCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQ1JZUFREIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19BVVRIRU5DIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19URVNUIGlzIG5vdCBzZXQKKworIworIyBBdXRoZW50aWNhdGVkIEVuY3J5cHRpb24gd2l0aCBBc3NvY2lhdGVkIERhdGEKKyMKKyMgQ09ORklHX0NSWVBUT19DQ00gaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0dDTSBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fU0VRSVYgaXMgbm90IHNldAorCisjCisjIEJsb2NrIG1vZGVzCisjCisjIENPTkZJR19DUllQVE9fQ0JDIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19DVFIgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0NUUyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fRUNCIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19MUlcgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1BDQkMgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1hUUyBpcyBub3Qgc2V0CisKKyMKKyMgSGFzaCBtb2RlcworIwogIyBDT05GSUdfQ1JZUFRPX0hNQUMgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX1hDQkMgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX05VTEwgaXMgbm90IHNldAorCisjCisjIERpZ2VzdAorIworIyBDT05GSUdfQ1JZUFRPX0NSQzMyQyBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fTUQ0IGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19NRDUgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX01JQ0hBRUxfTUlDIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19TSEExIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19TSEEyNTYgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX1NIQTUxMiBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fV1A1MTIgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX1RHUjE5MiBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fR0YxMjhNVUwgaXMgbm90IHNldAotQ09ORklHX0NSWVBUT19FQ0I9bQotQ09ORklHX0NSWVBUT19DQkM9bQotQ09ORklHX0NSWVBUT19QQ0JDPW0KLSMgQ09ORklHX0NSWVBUT19MUlcgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX0NSWVBURCBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fREVTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19GQ1JZUFQgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1dQNTEyIGlzIG5vdCBzZXQKKworIworIyBDaXBoZXJzCisjCisjIENPTkZJR19DUllQVE9fQUVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19BTlVCSVMgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0FSQzQgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX0JMT1dGSVNIIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19UV09GSVNIIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19TRVJQRU5UIGlzIG5vdCBzZXQKLUNPTkZJR19DUllQVE9fQUVTPW0KKyMgQ09ORklHX0NSWVBUT19DQU1FTExJQSBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fQ0FTVDUgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX0NBU1Q2IGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19URUEgaXMgbm90IHNldAotQ09ORklHX0NSWVBUT19BUkM0PW0KKyMgQ09ORklHX0NSWVBUT19ERVMgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0ZDUllQVCBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fS0hBWkFEIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19BTlVCSVMgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1NBTFNBMjAgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1NFRUQgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1NFUlBFTlQgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1RFQSBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fVFdPRklTSCBpcyBub3Qgc2V0CisKKyMKKyMgQ29tcHJlc3Npb24KKyMKICMgQ09ORklHX0NSWVBUT19ERUZMQVRFIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19NSUNIQUVMX01JQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fQ1JDMzJDIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19DQU1FTExJQSBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fVEVTVCBpcyBub3Qgc2V0Ci1DT05GSUdfQ1JZUFRPX0hXPXkKKyMgQ09ORklHX0NSWVBUT19MWk8gaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0hXIGlzIG5vdCBzZXQKIAogIwogIyBMaWJyYXJ5IHJvdXRpbmVzCiAjCiBDT05GSUdfQklUUkVWRVJTRT15Ci0jIENPTkZJR19DUkNfQ0NJVFQgaXMgbm90IHNldAorIyBDT05GSUdfR0VORVJJQ19GSU5EX0ZJUlNUX0JJVCBpcyBub3Qgc2V0CisjIENPTkZJR19HRU5FUklDX0ZJTkRfTkVYVF9CSVQgaXMgbm90IHNldAorQ09ORklHX0NSQ19DQ0lUVD1tCiAjIENPTkZJR19DUkMxNiBpcyBub3Qgc2V0CiAjIENPTkZJR19DUkNfSVRVX1QgaXMgbm90IHNldAogQ09ORklHX0NSQzMyPXkKICMgQ09ORklHX0NSQzcgaXMgbm90IHNldAogIyBDT05GSUdfTElCQ1JDMzJDIGlzIG5vdCBzZXQKK0NPTkZJR19aTElCX0lORkxBVEU9eQorQ09ORklHX1pMSUJfREVGTEFURT15CiBDT05GSUdfUExJU1Q9eQogQ09ORklHX0hBU19JT01FTT15CiBDT05GSUdfSEFTX0lPUE9SVD15CmRpZmYgLS1naXQgYS9hcmNoL2FybS9rZXJuZWwvTWFrZWZpbGUgYi9hcmNoL2FybS9rZXJuZWwvTWFrZWZpbGUKaW5kZXggYWQ0NTVmZi4uZWI5MDkyYyAxMDA2NDQKLS0tIGEvYXJjaC9hcm0va2VybmVsL01ha2VmaWxlCisrKyBiL2FyY2gvYXJtL2tlcm5lbC9NYWtlZmlsZQpAQCAtNCw2ICs0LDEwIEBACiAKIEFGTEFHU19oZWFkLm8gOj0gLURURVhUX09GRlNFVD0kKFRFWFRfT0ZGU0VUKQogCitpZmRlZiBDT05GSUdfRFlOQU1JQ19GVFJBQ0UKK0NGTEFHU19SRU1PVkVfZnRyYWNlLm8gPSAtcGcKK2VuZGlmCisKICMgT2JqZWN0IGZpbGUgbGlzdHMuCiAKIG9iai15CQk6PSBjb21wYXQubyBlbnRyeS1hcm12Lm8gZW50cnktY29tbW9uLm8gaXJxLm8gXApAQCAtMTgsNiArMjIsNyBAQAogb2JqLSQoQ09ORklHX0lTQV9ETUEpCQkrPSBkbWEtaXNhLm8KIG9iai0kKENPTkZJR19QQ0kpCQkrPSBiaW9zMzIubyBpc2Eubwogb2JqLSQoQ09ORklHX1NNUCkJCSs9IHNtcC5vCitvYmotJChDT05GSUdfRFlOQU1JQ19GVFJBQ0UpCSs9IGZ0cmFjZS5vCiBvYmotJChDT05GSUdfS0VYRUMpCQkrPSBtYWNoaW5lX2tleGVjLm8gcmVsb2NhdGVfa2VybmVsLm8KIG9iai0kKENPTkZJR19LUFJPQkVTKQkJKz0ga3Byb2Jlcy5vIGtwcm9iZXMtZGVjb2RlLm8KIG9iai0kKENPTkZJR19BVEFHU19QUk9DKQkrPSBhdGFncy5vCmRpZmYgLS1naXQgYS9hcmNoL2FybS9rZXJuZWwvYXJta3N5bXMuYyBiL2FyY2gvYXJtL2tlcm5lbC9hcm1rc3ltcy5jCmluZGV4IDY4OGI3YjEuLmNjN2IyNDYgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2tlcm5lbC9hcm1rc3ltcy5jCisrKyBiL2FyY2gvYXJtL2tlcm5lbC9hcm1rc3ltcy5jCkBAIC0xOCw2ICsxOCw3IEBACiAjaW5jbHVkZSA8YXNtL2lvLmg+CiAjaW5jbHVkZSA8YXNtL3N5c3RlbS5oPgogI2luY2x1ZGUgPGFzbS91YWNjZXNzLmg+CisjaW5jbHVkZSA8YXNtL2Z0cmFjZS5oPgogCiAvKgogICogbGliZ2NjIGZ1bmN0aW9ucyAtIGZ1bmN0aW9ucyB0aGF0IGFyZSB1c2VkIGludGVybmFsbHkgYnkgdGhlCkBAIC0xODEsMyArMTgyLDcgQEAKICNlbmRpZgogCiBFWFBPUlRfU1lNQk9MKGNvcHlfcGFnZSk7CisKKyNpZmRlZiBDT05GSUdfRlRSQUNFCitFWFBPUlRfU1lNQk9MKG1jb3VudCk7CisjZW5kaWYKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2tlcm5lbC9hdGFncy5jIGIvYXJjaC9hcm0va2VybmVsL2F0YWdzLmMKaW5kZXggNjRjNDIwOC4uNDJhMWExNCAxMDA2NDQKLS0tIGEvYXJjaC9hcm0va2VybmVsL2F0YWdzLmMKKysrIGIvYXJjaC9hcm0va2VybmVsL2F0YWdzLmMKQEAgLTEsNSArMSw0IEBACiAjaW5jbHVkZSA8bGludXgvc2xhYi5oPgotI2luY2x1ZGUgPGxpbnV4L2tleGVjLmg+CiAjaW5jbHVkZSA8bGludXgvcHJvY19mcy5oPgogI2luY2x1ZGUgPGFzbS9zZXR1cC5oPgogI2luY2x1ZGUgPGFzbS90eXBlcy5oPgpAQCAtNyw5ICs2LDggQEAKIAogc3RydWN0IGJ1ZmZlciB7CiAJc2l6ZV90IHNpemU7Ci0JY2hhciAqZGF0YTsKKwljaGFyIGRhdGFbXTsKIH07Ci1zdGF0aWMgc3RydWN0IGJ1ZmZlciB0YWdzX2J1ZmZlcjsKIAogc3RhdGljIGludAogcmVhZF9idWZmZXIoY2hhciogcGFnZSwgY2hhcioqIHN0YXJ0LCBvZmZfdCBvZmYsIGludCBjb3VudCwKQEAgLTI5LDU4ICsyNyw1NyBAQAogCXJldHVybiBjb3VudDsKIH0KIAotCi1zdGF0aWMgaW50Ci1jcmVhdGVfcHJvY19lbnRyaWVzKHZvaWQpCi17Ci0Jc3RydWN0IHByb2NfZGlyX2VudHJ5KiB0YWdzX2VudHJ5OwotCi0JdGFnc19lbnRyeSA9IGNyZWF0ZV9wcm9jX3JlYWRfZW50cnkoImF0YWdzIiwgMDQwMCwgTlVMTCwgcmVhZF9idWZmZXIsICZ0YWdzX2J1ZmZlcik7Ci0JaWYgKCF0YWdzX2VudHJ5KQotCQlyZXR1cm4gLUVOT01FTTsKLQotCXJldHVybiAwOwotfQotCi0KLXN0YXRpYyBjaGFyIF9faW5pdGRhdGEgYXRhZ3NfY29weV9idWZbS0VYRUNfQk9PVF9QQVJBTVNfU0laRV07Ci1zdGF0aWMgY2hhciBfX2luaXRkYXRhICphdGFnc19jb3B5OworI2RlZmluZSBCT09UX1BBUkFNU19TSVpFIDE1MzYKK3N0YXRpYyBjaGFyIF9faW5pdGRhdGEgYXRhZ3NfY29weVtCT09UX1BBUkFNU19TSVpFXTsKIAogdm9pZCBfX2luaXQgc2F2ZV9hdGFncyhjb25zdCBzdHJ1Y3QgdGFnICp0YWdzKQogewotCWF0YWdzX2NvcHkgPSBhdGFnc19jb3B5X2J1ZjsKLQltZW1jcHkoYXRhZ3NfY29weSwgdGFncywgS0VYRUNfQk9PVF9QQVJBTVNfU0laRSk7CisJbWVtY3B5KGF0YWdzX2NvcHksIHRhZ3MsIHNpemVvZihhdGFnc19jb3B5KSk7CiB9CiAKLQogc3RhdGljIGludCBfX2luaXQgaW5pdF9hdGFnc19wcm9jZnModm9pZCkKIHsKLQlzdHJ1Y3QgdGFnICp0YWc7Ci0JaW50IGVycm9yOworCS8qCisJICogVGhpcyBjYW5ub3QgZ28gaW50byBzYXZlX2F0YWdzKCkgYmVjYXVzZSBrbWFsbG9jIGFuZCBwcm9jIGRvbid0IHdvcmsKKwkgKiB5ZXQgd2hlbiBpdCBpcyBjYWxsZWQuCisJICovCisJc3RydWN0IHByb2NfZGlyX2VudHJ5ICp0YWdzX2VudHJ5OworCXN0cnVjdCB0YWcgKnRhZyA9IChzdHJ1Y3QgdGFnICopYXRhZ3NfY29weTsKKwlzdHJ1Y3QgYnVmZmVyICpiOworCXNpemVfdCBzaXplOwogCi0JaWYgKCFhdGFnc19jb3B5KSB7Ci0JCXByaW50ayhLRVJOX1dBUk5JTkcgIkV4cG9ydGluZyBBVEFHczogTm8gc2F2ZWQgdGFncyBmb3VuZFxuIik7Ci0JCXJldHVybiAtRUlPOworCWlmICh0YWctPmhkci50YWcgIT0gQVRBR19DT1JFKSB7CisJCXByaW50ayhLRVJOX0lORk8gIk5vIEFUQUdzPyIpOworCQlyZXR1cm4gLUVJTlZBTDsKIAl9CiAKLQlmb3IgKHRhZyA9IChzdHJ1Y3QgdGFnICopIGF0YWdzX2NvcHk7IHRhZy0+aGRyLnNpemU7IHRhZyA9IHRhZ19uZXh0KHRhZykpCisJZm9yICg7IHRhZy0+aGRyLnNpemU7IHRhZyA9IHRhZ19uZXh0KHRhZykpCiAJCTsKIAotCXRhZ3NfYnVmZmVyLnNpemUgPSAoKGNoYXIgKikgdGFnIC0gYXRhZ3NfY29weSkgKyBzaXplb2YodGFnLT5oZHIpOwotCXRhZ3NfYnVmZmVyLmRhdGEgPSBrbWFsbG9jKHRhZ3NfYnVmZmVyLnNpemUsIEdGUF9LRVJORUwpOwotCWlmICh0YWdzX2J1ZmZlci5kYXRhID09IE5VTEwpCi0JCXJldHVybiAtRU5PTUVNOwotCW1lbWNweSh0YWdzX2J1ZmZlci5kYXRhLCBhdGFnc19jb3B5LCB0YWdzX2J1ZmZlci5zaXplKTsKKwkvKiBpbmNsdWRlIHRoZSB0ZXJtaW5hdGluZyBBVEFHX05PTkUgKi8KKwlzaXplID0gKGNoYXIgKil0YWcgLSBhdGFnc19jb3B5ICsgc2l6ZW9mKHN0cnVjdCB0YWdfaGVhZGVyKTsKIAotCWVycm9yID0gY3JlYXRlX3Byb2NfZW50cmllcygpOwotCWlmIChlcnJvcikgewotCQlwcmludGsoS0VSTl9FUlIgIkV4cG9ydGluZyBBVEFHczogbm90IGVub3VnaCBtZW1vcnlcbiIpOwotCQlrZnJlZSh0YWdzX2J1ZmZlci5kYXRhKTsKLQkJdGFnc19idWZmZXIuc2l6ZSA9IDA7Ci0JCXRhZ3NfYnVmZmVyLmRhdGEgPSBOVUxMOwotCX0KKwlXQVJOX09OKHRhZy0+aGRyLnRhZyAhPSBBVEFHX05PTkUpOwogCi0JcmV0dXJuIGVycm9yOworCWIgPSBrbWFsbG9jKHNpemVvZigqYikgKyBzaXplLCBHRlBfS0VSTkVMKTsKKwlpZiAoIWIpCisJCWdvdG8gbm9tZW07CisKKwliLT5zaXplID0gc2l6ZTsKKwltZW1jcHkoYi0+ZGF0YSwgYXRhZ3NfY29weSwgc2l6ZSk7CisKKwl0YWdzX2VudHJ5ID0gY3JlYXRlX3Byb2NfcmVhZF9lbnRyeSgiYXRhZ3MiLCAwNDAwLAorCQkJTlVMTCwgcmVhZF9idWZmZXIsIGIpOworCisJaWYgKCF0YWdzX2VudHJ5KQorCQlnb3RvIG5vbWVtOworCisJcmV0dXJuIDA7CisKK25vbWVtOgorCWtmcmVlKGIpOworCXByaW50ayhLRVJOX0VSUiAiRXhwb3J0aW5nIEFUQUdzOiBub3QgZW5vdWdoIG1lbW9yeVxuIik7CisKKwlyZXR1cm4gLUVOT01FTTsKIH0KLQogYXJjaF9pbml0Y2FsbChpbml0X2F0YWdzX3Byb2Nmcyk7CmRpZmYgLS1naXQgYS9hcmNoL2FybS9rZXJuZWwvZWNhcmQuYyBiL2FyY2gvYXJtL2tlcm5lbC9lY2FyZC5jCmluZGV4IGE1M2MwYWIuLjhiZmQyOTkgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2tlcm5lbC9lY2FyZC5jCisrKyBiL2FyY2gvYXJtL2tlcm5lbC9lY2FyZC5jCkBAIC02ODAsNyArNjgwLDcgQEAKICNkZWZpbmUgSU9fRUNfTUVNQzhfQkFTRSAwCiAjZW5kaWYKIAotdW5zaWduZWQgaW50IF9fZWNhcmRfYWRkcmVzcyhlY2FyZF90ICplYywgY2FyZF90eXBlX3QgdHlwZSwgY2FyZF9zcGVlZF90IHNwZWVkKQorc3RhdGljIHVuc2lnbmVkIGludCBfX2VjYXJkX2FkZHJlc3MoZWNhcmRfdCAqZWMsIGNhcmRfdHlwZV90IHR5cGUsIGNhcmRfc3BlZWRfdCBzcGVlZCkKIHsKIAl1bnNpZ25lZCBsb25nIGFkZHJlc3MgPSAwOwogCWludCBzbG90ID0gZWMtPnNsb3Rfbm87CkBAIC0xMDAyLDcgKzEwMDIsNyBAQAogCX0KIAogCXJjID0gLUVOT0RFVjsKLQlpZiAoKGVjLT5wb2RhZGRyID0gZWNhcmRfYWRkcmVzcyhlYywgdHlwZSwgRUNBUkRfU1lOQykpID09IDApCisJaWYgKChlYy0+cG9kYWRkciA9IF9fZWNhcmRfYWRkcmVzcyhlYywgdHlwZSwgRUNBUkRfU1lOQykpID09IDApCiAJCWdvdG8gbm9kZXY7CiAKIAljaWQucl96ZXJvID0gMTsKQEAgLTExNDEsMTAgKzExNDEsMTAgQEAKIAogCWlkID0gZWNhcmRfbWF0Y2hfZGV2aWNlKGRydi0+aWRfdGFibGUsIGVjKTsKIAotCWVjYXJkX2NsYWltKGVjKTsKKwllYy0+Y2xhaW1lZCA9IDE7CiAJcmV0ID0gZHJ2LT5wcm9iZShlYywgaWQpOwogCWlmIChyZXQpCi0JCWVjYXJkX3JlbGVhc2UoZWMpOworCQllYy0+Y2xhaW1lZCA9IDA7CiAJcmV0dXJuIHJldDsKIH0KIApAQCAtMTE1NCw3ICsxMTU0LDcgQEAKIAlzdHJ1Y3QgZWNhcmRfZHJpdmVyICpkcnYgPSBFQ0FSRF9EUlYoZGV2LT5kcml2ZXIpOwogCiAJZHJ2LT5yZW1vdmUoZWMpOwotCWVjYXJkX3JlbGVhc2UoZWMpOworCWVjLT5jbGFpbWVkID0gMDsKIAogCS8qCiAJICogUmVzdG9yZSB0aGUgZGVmYXVsdCBvcGVyYXRpb25zLiAgV2UgZW5zdXJlIHRoYXQgdGhlCkBAIC0xMTgyLDcgKzExODIsNyBAQAogCWlmIChkZXYtPmRyaXZlcikgewogCQlpZiAoZHJ2LT5zaHV0ZG93bikKIAkJCWRydi0+c2h1dGRvd24oZWMpOwotCQllY2FyZF9yZWxlYXNlKGVjKTsKKwkJZWMtPmNsYWltZWQgPSAwOwogCX0KIAogCS8qCkBAIC0xMjM5LDcgKzEyMzksNiBAQAogcG9zdGNvcmVfaW5pdGNhbGwoZWNhcmRfYnVzX2luaXQpOwogCiBFWFBPUlRfU1lNQk9MKGVjYXJkX3JlYWRjaHVuayk7Ci1FWFBPUlRfU1lNQk9MKF9fZWNhcmRfYWRkcmVzcyk7CiBFWFBPUlRfU1lNQk9MKGVjYXJkX3JlZ2lzdGVyX2RyaXZlcik7CiBFWFBPUlRfU1lNQk9MKGVjYXJkX3JlbW92ZV9kcml2ZXIpOwogRVhQT1JUX1NZTUJPTChlY2FyZF9idXNfdHlwZSk7CmRpZmYgLS1naXQgYS9hcmNoL2FybS9rZXJuZWwvZWNhcmQuaCBiL2FyY2gvYXJtL2tlcm5lbC9lY2FyZC5oCmluZGV4IGQ3YzJkYWMuLjQ2NDJkNDMgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2tlcm5lbC9lY2FyZC5oCisrKyBiL2FyY2gvYXJtL2tlcm5lbC9lY2FyZC5oCkBAIC01NCwzICs1NCwxNiBAQAogI2RlZmluZSBjX2xlbih4KQkoKHgpLT5yX2xlblswXXwoKHgpLT5yX2xlblsxXTw8OCl8KCh4KS0+cl9sZW5bMl08PDE2KSkKICNkZWZpbmUgY19zdGFydCh4KQkoKHgpLT5yX3N0YXJ0KQogfTsKKwordHlwZWRlZiBlbnVtIGVjYXJkX3R5cGUgewkJLyogQ2FyZHMgYWRkcmVzcyBzcGFjZQkJKi8KKwlFQ0FSRF9JT0MsCisJRUNBUkRfTUVNQywKKwlFQ0FSRF9FQVNJCit9IGNhcmRfdHlwZV90OworCit0eXBlZGVmIGVudW0gewkJCQkvKiBTcGVlZCBmb3IgRUNBUkRfSU9DIHNwYWNlCSovCisJRUNBUkRfU0xPVwkgPSAwLAorCUVDQVJEX01FRElVTQkgPSAxLAorCUVDQVJEX0ZBU1QJID0gMiwKKwlFQ0FSRF9TWU5DCSA9IDMKK30gY2FyZF9zcGVlZF90OwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0va2VybmVsL2VudHJ5LWNvbW1vbi5TIGIvYXJjaC9hcm0va2VybmVsL2VudHJ5LWNvbW1vbi5TCmluZGV4IDU5N2VkMDAuLjg0Njk0ZTggMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2tlcm5lbC9lbnRyeS1jb21tb24uUworKysgYi9hcmNoL2FybS9rZXJuZWwvZW50cnktY29tbW9uLlMKQEAgLTksNiArOSw3IEBACiAgKi8KIAogI2luY2x1ZGUgPGFzbS91bmlzdGQuaD4KKyNpbmNsdWRlIDxhc20vZnRyYWNlLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvZW50cnktbWFjcm8uUz4KIAogI2luY2x1ZGUgImVudHJ5LWhlYWRlci5TIgpAQCAtOTksNiArMTAwLDU2IEBACiAjdW5kZWYgQ0FMTAogI2RlZmluZSBDQUxMKHgpIC5sb25nIHgKIAorI2lmZGVmIENPTkZJR19GVFJBQ0UKKyNpZmRlZiBDT05GSUdfRFlOQU1JQ19GVFJBQ0UKK0VOVFJZKG1jb3VudCkKKwlzdG1kYiBzcCEsIHtyMC1yMywgbHJ9CisJbW92IHIwLCBscgorCXN1YiByMCwgcjAsICNNQ09VTlRfSU5TTl9TSVpFCisKKwkuZ2xvYmwgbWNvdW50X2NhbGwKK21jb3VudF9jYWxsOgorCWJsIGZ0cmFjZV9zdHViCisJbGRtaWEgc3AhLCB7cjAtcjMsIHBjfQorCitFTlRSWShmdHJhY2VfY2FsbGVyKQorCXN0bWRiIHNwISwge3IwLXIzLCBscn0KKwlsZHIgcjEsIFtmcCwgIy00XQorCW1vdiByMCwgbHIKKwlzdWIgcjAsIHIwLCAjTUNPVU5UX0lOU05fU0laRQorCisJLmdsb2JsIGZ0cmFjZV9jYWxsCitmdHJhY2VfY2FsbDoKKwlibCBmdHJhY2Vfc3R1YgorCWxkbWlhIHNwISwge3IwLXIzLCBwY30KKworI2Vsc2UKKworRU5UUlkobWNvdW50KQorCXN0bWRiIHNwISwge3IwLXIzLCBscn0KKwlsZHIgcjAsID1mdHJhY2VfdHJhY2VfZnVuY3Rpb24KKwlsZHIgcjIsIFtyMF0KKwlhZHIgcjAsIGZ0cmFjZV9zdHViCisJY21wIHIwLCByMgorCWJuZSB0cmFjZQorCWxkbWlhIHNwISwge3IwLXIzLCBwY30KKwordHJhY2U6CisJbGRyIHIxLCBbZnAsICMtNF0KKwltb3YgcjAsIGxyCisJc3ViIHIwLCByMCwgI01DT1VOVF9JTlNOX1NJWkUKKwltb3YgbHIsIHBjCisJbW92IHBjLCByMgorCWxkbWlhIHNwISwge3IwLXIzLCBwY30KKworI2VuZGlmIC8qIENPTkZJR19EWU5BTUlDX0ZUUkFDRSAqLworCisJLmdsb2JsIGZ0cmFjZV9zdHViCitmdHJhY2Vfc3R1YjoKKwltb3YgcGMsIGxyCisKKyNlbmRpZiAvKiBDT05GSUdfRlRSQUNFICovCisKIC8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAqIFNXSSBoYW5kbGVyCiAgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCmRpZmYgLS1naXQgYS9hcmNoL2FybS9rZXJuZWwvZnRyYWNlLmMgYi9hcmNoL2FybS9rZXJuZWwvZnRyYWNlLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzZkNTBlNgotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL2tlcm5lbC9mdHJhY2UuYwpAQCAtMCwwICsxLDExNiBAQAorLyoKKyAqIER5bmFtaWMgZnVuY3Rpb24gdHJhY2luZyBzdXBwb3J0LgorICoKKyAqIENvcHlyaWdodCAoQykgMjAwOCBBYmhpc2hlayBTYWdhciA8c2FnYXIuYWJoaXNoZWtAZ21haWwuY29tPgorICoKKyAqIEZvciBsaWNlbmNpbmcgZGV0YWlscywgc2VlIENPUFlJTkcuCisgKgorICogRGVmaW5lcyBsb3ctbGV2ZWwgaGFuZGxpbmcgb2YgbWNvdW50IGNhbGxzIHdoZW4gdGhlIGtlcm5lbAorICogaXMgY29tcGlsZWQgd2l0aCB0aGUgLXBnIGZsYWcuIFdoZW4gdXNpbmcgZHluYW1pYyBmdHJhY2UsIHRoZQorICogbWNvdW50IGNhbGwtc2l0ZXMgZ2V0IHBhdGNoZWQgbGF6aWx5IHdpdGggTk9QIHRpbGwgdGhleSBhcmUKKyAqIGVuYWJsZWQuIEFsbCBjb2RlIG11dGF0aW9uIHJvdXRpbmVzIGhlcmUgdGFrZSBlZmZlY3QgYXRvbWljYWxseS4KKyAqLworCisjaW5jbHVkZSA8bGludXgvZnRyYWNlLmg+CisKKyNpbmNsdWRlIDxhc20vY2FjaGVmbHVzaC5oPgorI2luY2x1ZGUgPGFzbS9mdHJhY2UuaD4KKworI2RlZmluZSBQQ19PRkZTRVQgICAgICA4CisjZGVmaW5lIEJMX09QQ09ERSAgICAgIDB4ZWIwMDAwMDAKKyNkZWZpbmUgQkxfT0ZGU0VUX01BU0sgMHgwMGZmZmZmZgorCitzdGF0aWMgdW5zaWduZWQgbG9uZyBibF9pbnNuOworc3RhdGljIGNvbnN0IHVuc2lnbmVkIGxvbmcgTk9QID0gMHhlMWEwMDAwMDsgLyogbW92IHIwLCByMCAqLworCit1bnNpZ25lZCBjaGFyICpmdHJhY2Vfbm9wX3JlcGxhY2Uodm9pZCkKK3sKKwlyZXR1cm4gKGNoYXIgKikmTk9QOworfQorCisvKiBjb25zdHJ1Y3QgYSBicmFuY2ggKEJMKSBpbnN0cnVjdGlvbiB0byBhZGRyICovCit1bnNpZ25lZCBjaGFyICpmdHJhY2VfY2FsbF9yZXBsYWNlKHVuc2lnbmVkIGxvbmcgcGMsIHVuc2lnbmVkIGxvbmcgYWRkcikKK3sKKwlsb25nIG9mZnNldDsKKworCW9mZnNldCA9IChsb25nKWFkZHIgLSAobG9uZykocGMgKyBQQ19PRkZTRVQpOworCWlmICh1bmxpa2VseShvZmZzZXQgPCAtMzM1NTQ0MzIgfHwgb2Zmc2V0ID4gMzM1NTQ0MjgpKSB7CisJCS8qIENhbid0IGdlbmVyYXRlIGJyYW5jaGVzIHRoYXQgZmFyIChmcm9tIEFSTSBBUk0pLiBGdHJhY2UKKwkJICogZG9lc24ndCBnZW5lcmF0ZSBicmFuY2hlcyBvdXRzaWRlIG9mIGtlcm5lbCB0ZXh0LgorCQkgKi8KKwkJV0FSTl9PTl9PTkNFKDEpOworCQlyZXR1cm4gTlVMTDsKKwl9CisJb2Zmc2V0ID0gKG9mZnNldCA+PiAyKSAmIEJMX09GRlNFVF9NQVNLOworCWJsX2luc24gPSBCTF9PUENPREUgfCBvZmZzZXQ7CisJcmV0dXJuICh1bnNpZ25lZCBjaGFyICopJmJsX2luc247Cit9CisKK2ludCBmdHJhY2VfbW9kaWZ5X2NvZGUodW5zaWduZWQgbG9uZyBwYywgdW5zaWduZWQgY2hhciAqb2xkX2NvZGUsCisJCSAgICAgICB1bnNpZ25lZCBjaGFyICpuZXdfY29kZSkKK3sKKwl1bnNpZ25lZCBsb25nIGVyciA9IDAsIHJlcGxhY2VkID0gMCwgb2xkLCBuZXc7CisKKwlvbGQgPSAqKHVuc2lnbmVkIGxvbmcgKilvbGRfY29kZTsKKwluZXcgPSAqKHVuc2lnbmVkIGxvbmcgKiluZXdfY29kZTsKKworCV9fYXNtX18gX192b2xhdGlsZV9fICgKKwkJIjE6ICBsZHIgICAgJTEsIFslMl0gIFxuIgorCQkiICAgIGNtcCAgICAlMSwgJTQgICAgXG4iCisJCSIyOiAgc3RyZXEgICUzLCBbJTJdICBcbiIKKwkJIiAgICBjbXBuZSAgJTEsICUzICAgIFxuIgorCQkiICAgIG1vdm5lICAlMCwgIzIgICAgXG4iCisJCSIzOlxuIgorCisJCSIuc2VjdGlvbiAuZml4dXAsIFwiYXhcIlxuIgorCQkiNDogIG1vdiAgJTAsICMxICBcbiIKKwkJIiAgICBiICAgIDNiICAgICAgXG4iCisJCSIucHJldmlvdXNcbiIKKworCQkiLnNlY3Rpb24gX19leF90YWJsZSwgXCJhXCJcbiIKKwkJIiAgICAubG9uZyAxYiwgNGIgXG4iCisJCSIgICAgLmxvbmcgMmIsIDRiIFxuIgorCQkiLnByZXZpb3VzXG4iCisKKwkJOiAiPXIiKGVyciksICI9ciIocmVwbGFjZWQpCisJCTogInIiKHBjKSwgInIiKG5ldyksICJyIihvbGQpLCAiMCIoZXJyKSwgIjEiKHJlcGxhY2VkKQorCQk6ICJtZW1vcnkiKTsKKworCWlmICghZXJyICYmIChyZXBsYWNlZCA9PSBvbGQpKQorCQlmbHVzaF9pY2FjaGVfcmFuZ2UocGMsIHBjICsgTUNPVU5UX0lOU05fU0laRSk7CisKKwlyZXR1cm4gZXJyOworfQorCitpbnQgZnRyYWNlX3VwZGF0ZV9mdHJhY2VfZnVuYyhmdHJhY2VfZnVuY190IGZ1bmMpCit7CisJaW50IHJldDsKKwl1bnNpZ25lZCBsb25nIHBjLCBvbGQ7CisJdW5zaWduZWQgY2hhciAqbmV3OworCisJcGMgPSAodW5zaWduZWQgbG9uZykmZnRyYWNlX2NhbGw7CisJbWVtY3B5KCZvbGQsICZmdHJhY2VfY2FsbCwgTUNPVU5UX0lOU05fU0laRSk7CisJbmV3ID0gZnRyYWNlX2NhbGxfcmVwbGFjZShwYywgKHVuc2lnbmVkIGxvbmcpZnVuYyk7CisJcmV0ID0gZnRyYWNlX21vZGlmeV9jb2RlKHBjLCAodW5zaWduZWQgY2hhciAqKSZvbGQsIG5ldyk7CisJcmV0dXJuIHJldDsKK30KKworaW50IGZ0cmFjZV9tY291bnRfc2V0KHVuc2lnbmVkIGxvbmcgKmRhdGEpCit7CisJdW5zaWduZWQgbG9uZyBwYywgb2xkOworCXVuc2lnbmVkIGxvbmcgKmFkZHIgPSBkYXRhOworCXVuc2lnbmVkIGNoYXIgKm5ldzsKKworCXBjID0gKHVuc2lnbmVkIGxvbmcpJm1jb3VudF9jYWxsOworCW1lbWNweSgmb2xkLCAmbWNvdW50X2NhbGwsIE1DT1VOVF9JTlNOX1NJWkUpOworCW5ldyA9IGZ0cmFjZV9jYWxsX3JlcGxhY2UocGMsICphZGRyKTsKKwkqYWRkciA9IGZ0cmFjZV9tb2RpZnlfY29kZShwYywgKHVuc2lnbmVkIGNoYXIgKikmb2xkLCBuZXcpOworCXJldHVybiAwOworfQorCisvKiBydW4gZnJvbSBrc3RvcF9tYWNoaW5lICovCitpbnQgX19pbml0IGZ0cmFjZV9keW5fYXJjaF9pbml0KHZvaWQgKmRhdGEpCit7CisJZnRyYWNlX21jb3VudF9zZXQoZGF0YSk7CisJcmV0dXJuIDA7Cit9CmRpZmYgLS1naXQgYS9hcmNoL2FybS9rZXJuZWwva3Byb2Jlcy5jIGIvYXJjaC9hcm0va2VybmVsL2twcm9iZXMuYwppbmRleCA1NTkzZGQyLi41ZWUzOWUxIDEwMDY0NAotLS0gYS9hcmNoL2FybS9rZXJuZWwva3Byb2Jlcy5jCisrKyBiL2FyY2gvYXJtL2tlcm5lbC9rcHJvYmVzLmMKQEAgLTI3NCw3ICsyNzQsNyBAQAogICogZm9yIGtyZXRwcm9iZSBoYW5kbGVycyB3aGljaCBzaG91bGQgbm9ybWFsbHkgYmUgaW50ZXJlc3RlZCBpbiByMCBvbmx5CiAgKiBhbnl3YXkuCiAgKi8KLXN0YXRpYyB2b2lkIF9fYXR0cmlidXRlX18oKG5ha2VkKSkgX19rcHJvYmVzIGtyZXRwcm9iZV90cmFtcG9saW5lKHZvaWQpCit2b2lkIF9fbmFrZWQgX19rcHJvYmVzIGtyZXRwcm9iZV90cmFtcG9saW5lKHZvaWQpCiB7CiAJX19hc21fXyBfX3ZvbGF0aWxlX18gKAogCQkic3RtZGIJc3AhLCB7cjAgLSByMTF9CQlcblx0IgpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0va2VybmVsL3Byb2Nlc3MuYyBiL2FyY2gvYXJtL2tlcm5lbC9wcm9jZXNzLmMKaW5kZXggNDZiZjJlZGUuLjE5OWIzNjggMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2tlcm5lbC9wcm9jZXNzLmMKKysrIGIvYXJjaC9hcm0va2VybmVsL3Byb2Nlc3MuYwpAQCAtMTMzLDEwICsxMzMsOCBAQAogCQljcHVfcmVsYXgoKTsKIAllbHNlIHsKIAkJbG9jYWxfaXJxX2Rpc2FibGUoKTsKLQkJaWYgKCFuZWVkX3Jlc2NoZWQoKSkgewotCQkJdGltZXJfZHluX3JlcHJvZ3JhbSgpOworCQlpZiAoIW5lZWRfcmVzY2hlZCgpKQogCQkJYXJjaF9pZGxlKCk7Ci0JCX0KIAkJbG9jYWxfaXJxX2VuYWJsZSgpOwogCX0KIH0KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2tlcm5lbC9zdGFja3RyYWNlLmMgYi9hcmNoL2FybS9rZXJuZWwvc3RhY2t0cmFjZS5jCmluZGV4IGFlMzFkZWIuLmZjNjUwZjYgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2tlcm5lbC9zdGFja3RyYWNlLmMKKysrIGIvYXJjaC9hcm0va2VybmVsL3N0YWNrdHJhY2UuYwpAQCAtMzYsNiArMzYsNyBAQAogI2lmZGVmIENPTkZJR19TVEFDS1RSQUNFCiBzdHJ1Y3Qgc3RhY2tfdHJhY2VfZGF0YSB7CiAJc3RydWN0IHN0YWNrX3RyYWNlICp0cmFjZTsKKwl1bnNpZ25lZCBpbnQgbm9fc2NoZWRfZnVuY3Rpb25zOwogCXVuc2lnbmVkIGludCBza2lwOwogfTsKIApAQCAtNDMsMjcgKzQ0LDUzIEBACiB7CiAJc3RydWN0IHN0YWNrX3RyYWNlX2RhdGEgKmRhdGEgPSBkOwogCXN0cnVjdCBzdGFja190cmFjZSAqdHJhY2UgPSBkYXRhLT50cmFjZTsKKwl1bnNpZ25lZCBsb25nIGFkZHIgPSBmcmFtZS0+bHI7CiAKKwlpZiAoZGF0YS0+bm9fc2NoZWRfZnVuY3Rpb25zICYmIGluX3NjaGVkX2Z1bmN0aW9ucyhhZGRyKSkKKwkJcmV0dXJuIDA7CiAJaWYgKGRhdGEtPnNraXApIHsKIAkJZGF0YS0+c2tpcC0tOwogCQlyZXR1cm4gMDsKIAl9CiAKLQl0cmFjZS0+ZW50cmllc1t0cmFjZS0+bnJfZW50cmllcysrXSA9IGZyYW1lLT5scjsKKwl0cmFjZS0+ZW50cmllc1t0cmFjZS0+bnJfZW50cmllcysrXSA9IGFkZHI7CiAKIAlyZXR1cm4gdHJhY2UtPm5yX2VudHJpZXMgPj0gdHJhY2UtPm1heF9lbnRyaWVzOwogfQogCi12b2lkIHNhdmVfc3RhY2tfdHJhY2Uoc3RydWN0IHN0YWNrX3RyYWNlICp0cmFjZSkKK3ZvaWQgc2F2ZV9zdGFja190cmFjZV90c2soc3RydWN0IHRhc2tfc3RydWN0ICp0c2ssIHN0cnVjdCBzdGFja190cmFjZSAqdHJhY2UpCiB7CiAJc3RydWN0IHN0YWNrX3RyYWNlX2RhdGEgZGF0YTsKIAl1bnNpZ25lZCBsb25nIGZwLCBiYXNlOwogCiAJZGF0YS50cmFjZSA9IHRyYWNlOwogCWRhdGEuc2tpcCA9IHRyYWNlLT5za2lwOwotCWJhc2UgPSAodW5zaWduZWQgbG9uZyl0YXNrX3N0YWNrX3BhZ2UoY3VycmVudCk7Ci0JYXNtKCJtb3YgJTAsIGZwIiA6ICI9ciIgKGZwKSk7CisJYmFzZSA9ICh1bnNpZ25lZCBsb25nKXRhc2tfc3RhY2tfcGFnZSh0c2spOworCisJaWYgKHRzayAhPSBjdXJyZW50KSB7CisjaWZkZWYgQ09ORklHX1NNUAorCQkvKgorCQkgKiBXaGF0IGd1YXJhbnRlZXMgZG8gd2UgaGF2ZSBoZXJlIHRoYXQgJ3RzaycKKwkJICogaXMgbm90IHJ1bm5pbmcgb24gYW5vdGhlciBDUFU/CisJCSAqLworCQlCVUcoKTsKKyNlbHNlCisJCWRhdGEubm9fc2NoZWRfZnVuY3Rpb25zID0gMTsKKwkJZnAgPSB0aHJlYWRfc2F2ZWRfZnAodHNrKTsKKyNlbmRpZgorCX0gZWxzZSB7CisJCWRhdGEubm9fc2NoZWRfZnVuY3Rpb25zID0gMDsKKwkJYXNtKCJtb3YgJTAsIGZwIiA6ICI9ciIgKGZwKSk7CisJfQogCiAJd2Fsa19zdGFja2ZyYW1lKGZwLCBiYXNlLCBiYXNlICsgVEhSRUFEX1NJWkUsIHNhdmVfdHJhY2UsICZkYXRhKTsKKwlpZiAodHJhY2UtPm5yX2VudHJpZXMgPCB0cmFjZS0+bWF4X2VudHJpZXMpCisJCXRyYWNlLT5lbnRyaWVzW3RyYWNlLT5ucl9lbnRyaWVzKytdID0gVUxPTkdfTUFYOwogfQorCit2b2lkIHNhdmVfc3RhY2tfdHJhY2Uoc3RydWN0IHN0YWNrX3RyYWNlICp0cmFjZSkKK3sKKwlzYXZlX3N0YWNrX3RyYWNlX3RzayhjdXJyZW50LCB0cmFjZSk7Cit9CitFWFBPUlRfU1lNQk9MX0dQTChzYXZlX3N0YWNrX3RyYWNlKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0va2VybmVsL3RpbWUuYyBiL2FyY2gvYXJtL2tlcm5lbC90aW1lLmMKaW5kZXggYjU4NjdlYy4uY2M1MTQ1YiAxMDA2NDQKLS0tIGEvYXJjaC9hcm0va2VybmVsL3RpbWUuYworKysgYi9hcmNoL2FybS9rZXJuZWwvdGltZS5jCkBAIC0zNjUsMTA4ICszNjUsNiBAQAogCS5yZXN1bWUJCT0gdGltZXJfcmVzdW1lLAogfTsKIAotI2lmZGVmIENPTkZJR19OT19JRExFX0haCi1zdGF0aWMgaW50IHRpbWVyX2R5bl90aWNrX2VuYWJsZSh2b2lkKQotewotCXN0cnVjdCBkeW5fdGlja190aW1lciAqZHluX3RpY2sgPSBzeXN0ZW1fdGltZXItPmR5bl90aWNrOwotCXVuc2lnbmVkIGxvbmcgZmxhZ3M7Ci0JaW50IHJldCA9IC1FTk9ERVY7Ci0KLQlpZiAoZHluX3RpY2spIHsKLQkJc3Bpbl9sb2NrX2lycXNhdmUoJmR5bl90aWNrLT5sb2NrLCBmbGFncyk7Ci0JCXJldCA9IDA7Ci0JCWlmICghKGR5bl90aWNrLT5zdGF0ZSAmIERZTl9USUNLX0VOQUJMRUQpKSB7Ci0JCQlyZXQgPSBkeW5fdGljay0+ZW5hYmxlKCk7Ci0KLQkJCWlmIChyZXQgPT0gMCkKLQkJCQlkeW5fdGljay0+c3RhdGUgfD0gRFlOX1RJQ0tfRU5BQkxFRDsKLQkJfQotCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZkeW5fdGljay0+bG9jaywgZmxhZ3MpOwotCX0KLQotCXJldHVybiByZXQ7Ci19Ci0KLXN0YXRpYyBpbnQgdGltZXJfZHluX3RpY2tfZGlzYWJsZSh2b2lkKQotewotCXN0cnVjdCBkeW5fdGlja190aW1lciAqZHluX3RpY2sgPSBzeXN0ZW1fdGltZXItPmR5bl90aWNrOwotCXVuc2lnbmVkIGxvbmcgZmxhZ3M7Ci0JaW50IHJldCA9IC1FTk9ERVY7Ci0KLQlpZiAoZHluX3RpY2spIHsKLQkJc3Bpbl9sb2NrX2lycXNhdmUoJmR5bl90aWNrLT5sb2NrLCBmbGFncyk7Ci0JCXJldCA9IDA7Ci0JCWlmIChkeW5fdGljay0+c3RhdGUgJiBEWU5fVElDS19FTkFCTEVEKSB7Ci0JCQlyZXQgPSBkeW5fdGljay0+ZGlzYWJsZSgpOwotCi0JCQlpZiAocmV0ID09IDApCi0JCQkJZHluX3RpY2stPnN0YXRlICY9IH5EWU5fVElDS19FTkFCTEVEOwotCQl9Ci0JCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmR5bl90aWNrLT5sb2NrLCBmbGFncyk7Ci0JfQotCi0JcmV0dXJuIHJldDsKLX0KLQotLyoKLSAqIFJlcHJvZ3JhbSB0aGUgc3lzdGVtIHRpbWVyIGZvciBhdCBsZWFzdCB0aGUgY2FsY3VsYXRlZCB0aW1lIGludGVydmFsLgotICogVGhpcyBmdW5jdGlvbiBzaG91bGQgYmUgY2FsbGVkIGZyb20gdGhlIGlkbGUgdGhyZWFkIHdpdGggSVJRcyBkaXNhYmxlZCwKLSAqIGltbWVkaWF0ZWx5IGJlZm9yZSBzbGVlcGluZy4KLSAqLwotdm9pZCB0aW1lcl9keW5fcmVwcm9ncmFtKHZvaWQpCi17Ci0Jc3RydWN0IGR5bl90aWNrX3RpbWVyICpkeW5fdGljayA9IHN5c3RlbV90aW1lci0+ZHluX3RpY2s7Ci0JdW5zaWduZWQgbG9uZyBuZXh0LCBzZXEsIGZsYWdzOwotCi0JaWYgKCFkeW5fdGljaykKLQkJcmV0dXJuOwotCi0Jc3Bpbl9sb2NrX2lycXNhdmUoJmR5bl90aWNrLT5sb2NrLCBmbGFncyk7Ci0JaWYgKGR5bl90aWNrLT5zdGF0ZSAmIERZTl9USUNLX0VOQUJMRUQpIHsKLQkJbmV4dCA9IG5leHRfdGltZXJfaW50ZXJydXB0KCk7Ci0JCWRvIHsKLQkJCXNlcSA9IHJlYWRfc2VxYmVnaW4oJnh0aW1lX2xvY2spOwotCQkJZHluX3RpY2stPnJlcHJvZ3JhbShuZXh0IC0gamlmZmllcyk7Ci0JCX0gd2hpbGUgKHJlYWRfc2VxcmV0cnkoJnh0aW1lX2xvY2ssIHNlcSkpOwotCX0KLQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZkeW5fdGljay0+bG9jaywgZmxhZ3MpOwotfQotCi1zdGF0aWMgc3NpemVfdCB0aW1lcl9zaG93X2R5bl90aWNrKHN0cnVjdCBzeXNfZGV2aWNlICpkZXYsIGNoYXIgKmJ1ZikKLXsKLQlyZXR1cm4gc3ByaW50ZihidWYsICIlaVxuIiwKLQkJICAgICAgIChzeXN0ZW1fdGltZXItPmR5bl90aWNrLT5zdGF0ZSAmIERZTl9USUNLX0VOQUJMRUQpID4+IDEpOwotfQotCi1zdGF0aWMgc3NpemVfdCB0aW1lcl9zZXRfZHluX3RpY2soc3RydWN0IHN5c19kZXZpY2UgKmRldiwgY29uc3QgY2hhciAqYnVmLAotCQkJCSAgc2l6ZV90IGNvdW50KQotewotCXVuc2lnbmVkIGludCBlbmFibGUgPSBzaW1wbGVfc3RydG91bChidWYsIE5VTEwsIDIpOwotCi0JaWYgKGVuYWJsZSkKLQkJdGltZXJfZHluX3RpY2tfZW5hYmxlKCk7Ci0JZWxzZQotCQl0aW1lcl9keW5fdGlja19kaXNhYmxlKCk7Ci0KLQlyZXR1cm4gY291bnQ7Ci19Ci1zdGF0aWMgU1lTREVWX0FUVFIoZHluX3RpY2ssIDA2NDQsIHRpbWVyX3Nob3dfZHluX3RpY2ssIHRpbWVyX3NldF9keW5fdGljayk7Ci0KLS8qCi0gKiBkeW50aWNrPWVuYWJsZXxkaXNhYmxlCi0gKi8KLXN0YXRpYyBjaGFyIGR5bnRpY2tfc3RyWzRdIF9faW5pdGRhdGEgPSAiIjsKLQotc3RhdGljIGludCBfX2luaXQgZHludGlja19zZXR1cChjaGFyICpzdHIpCi17Ci0JaWYgKHN0cikKLQkJc3RybGNweShkeW50aWNrX3N0ciwgc3RyLCBzaXplb2YoZHludGlja19zdHIpKTsKLQlyZXR1cm4gMTsKLX0KLQotX19zZXR1cCgiZHludGljaz0iLCBkeW50aWNrX3NldHVwKTsKLSNlbmRpZgotCiBzdGF0aWMgaW50IF9faW5pdCB0aW1lcl9pbml0X3N5c2ZzKHZvaWQpCiB7CiAJaW50IHJldCA9IHN5c2Rldl9jbGFzc19yZWdpc3RlcigmdGltZXJfc3lzY2xhc3MpOwpAQCAtNDc1LDE5ICszNzMsNiBAQAogCQlyZXQgPSBzeXNkZXZfcmVnaXN0ZXIoJnN5c3RlbV90aW1lci0+ZGV2KTsKIAl9CiAKLSNpZmRlZiBDT05GSUdfTk9fSURMRV9IWgotCWlmIChyZXQgPT0gMCAmJiBzeXN0ZW1fdGltZXItPmR5bl90aWNrKSB7Ci0JCXJldCA9IHN5c2Rldl9jcmVhdGVfZmlsZSgmc3lzdGVtX3RpbWVyLT5kZXYsICZhdHRyX2R5bl90aWNrKTsKLQotCQkvKgotCQkgKiBUdXJuIG9uIGR5bmFtaWMgdGljayBhZnRlciBjYWxpYnJhdGUgZGVsYXkKLQkJICogZm9yIGNvcnJlY3QgYm9nb21pcHMKLQkJICovCi0JCWlmIChyZXQgPT0gMCAmJiBkeW50aWNrX3N0clswXSA9PSAnZScpCi0JCQlyZXQgPSB0aW1lcl9keW5fdGlja19lbmFibGUoKTsKLQl9Ci0jZW5kaWYKLQogCXJldHVybiByZXQ7CiB9CiAKQEAgLTUwMCwxMCArMzg1LDUgQEAKIAkJc3lzdGVtX3RpbWVyLT5vZmZzZXQgPSBkdW1teV9nZXR0aW1lb2Zmc2V0OwogI2VuZGlmCiAJc3lzdGVtX3RpbWVyLT5pbml0KCk7Ci0KLSNpZmRlZiBDT05GSUdfTk9fSURMRV9IWgotCWlmIChzeXN0ZW1fdGltZXItPmR5bl90aWNrKQotCQlzcGluX2xvY2tfaW5pdCgmc3lzdGVtX3RpbWVyLT5keW5fdGljay0+bG9jayk7Ci0jZW5kaWYKIH0KIApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbGliL2NvcHlfdGVtcGxhdGUuUyBiL2FyY2gvYXJtL2xpYi9jb3B5X3RlbXBsYXRlLlMKaW5kZXggY2FiMzU1Yy4uMTM5Y2NlNiAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbGliL2NvcHlfdGVtcGxhdGUuUworKysgYi9hcmNoL2FybS9saWIvY29weV90ZW1wbGF0ZS5TCkBAIC0xMywxNCArMTMsNiBAQAogICovCiAKIC8qCi0gKiBUaGlzIGNhbiBiZSB1c2VkIHRvIGVuYWJsZSBjb2RlIHRvIGNhY2hlbGluZSBhbGlnbiB0aGUgc291cmNlIHBvaW50ZXIuCi0gKiBFeHBlcmltZW50cyBvbiB0ZXN0ZWQgYXJjaGl0ZWN0dXJlcyAoU3Ryb25nQVJNIGFuZCBYU2NhbGUpIGRpZG4ndCBzaG93Ci0gKiB0aGlzIGEgd29ydGh3aGlsZSB0aGluZyB0byBkby4gIFRoYXQgbWlnaHQgYmUgZGlmZmVyZW50IGluIHRoZSBmdXR1cmUuCi0gKi8KLS8vI2RlZmluZSBDQUxHTihjb2RlLi4uKQljb2RlCi0jZGVmaW5lIENBTEdOKGNvZGUuLi4pCi0KLS8qCiAgKiBUaGVvcnkgb2Ygb3BlcmF0aW9uCiAgKiAtLS0tLS0tLS0tLS0tLS0tLS0tCiAgKgpAQCAtODIsNyArNzQsNyBAQAogCQlzdG1mZAlzcCEsIHtyNSAtIHI4fQogCQlibHQJNWYKIAotCUNBTEdOKAlhbmRzCWlwLCByMSwgIzMxCQkpCisJQ0FMR04oCWFuZHMJaXAsIHIwLCAjMzEJCSkKIAlDQUxHTigJcnNiCXIzLCBpcCwgIzMyCQkpCiAJQ0FMR04oCXNiY25lcwlyNCwgcjMsIHIyCQkpICBAIEMgaXMgYWx3YXlzIHNldCBoZXJlCiAJQ0FMR04oCWJjcwkyZgkJCSkKQEAgLTE2OCw3ICsxNjAsNyBAQAogCQlzdWJzCXIyLCByMiwgIzI4CiAJCWJsdAkxNGYKIAotCUNBTEdOKAlhbmRzCWlwLCByMSwgIzMxCQkpCisJQ0FMR04oCWFuZHMJaXAsIHIwLCAjMzEJCSkKIAlDQUxHTigJcnNiCWlwLCBpcCwgIzMyCQkpCiAJQ0FMR04oCXNiY25lcwlyNCwgaXAsIHIyCQkpICBAIEMgaXMgYWx3YXlzIHNldCBoZXJlCiAJQ0FMR04oCXN1YmNjCXIyLCByMiwgaXAJCSkKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2xpYi9tZW1tb3ZlLlMgYi9hcmNoL2FybS9saWIvbWVtbW92ZS5TCmluZGV4IGVmN2ZkZGMuLjJlMzAxYjcgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2xpYi9tZW1tb3ZlLlMKKysrIGIvYXJjaC9hcm0vbGliL21lbW1vdmUuUwpAQCAtMTMsMTQgKzEzLDYgQEAKICNpbmNsdWRlIDxsaW51eC9saW5rYWdlLmg+CiAjaW5jbHVkZSA8YXNtL2Fzc2VtYmxlci5oPgogCi0vKgotICogVGhpcyBjYW4gYmUgdXNlZCB0byBlbmFibGUgY29kZSB0byBjYWNoZWxpbmUgYWxpZ24gdGhlIHNvdXJjZSBwb2ludGVyLgotICogRXhwZXJpbWVudHMgb24gdGVzdGVkIGFyY2hpdGVjdHVyZXMgKFN0cm9uZ0FSTSBhbmQgWFNjYWxlKSBkaWRuJ3Qgc2hvdwotICogdGhpcyBhIHdvcnRod2hpbGUgdGhpbmcgdG8gZG8uICBUaGF0IG1pZ2h0IGJlIGRpZmZlcmVudCBpbiB0aGUgZnV0dXJlLgotICovCi0vLyNkZWZpbmUgQ0FMR04oY29kZS4uLikgICAgICAgIGNvZGUKLSNkZWZpbmUgQ0FMR04oY29kZS4uLikKLQogCQkudGV4dAogCiAvKgpAQCAtNTUsMTEgKzQ3LDEyIEBACiAJCXN0bWZkCXNwISwge3I1IC0gcjh9CiAJCWJsdAk1ZgogCi0JQ0FMR04oCWFuZHMJaXAsIHIxLCAjMzEJCSkKKwlDQUxHTigJYW5kcwlpcCwgcjAsICMzMQkJKQogCUNBTEdOKAlzYmNuZXMJcjQsIGlwLCByMgkJKSAgQCBDIGlzIGFsd2F5cyBzZXQgaGVyZQogCUNBTEdOKAliY3MJMmYJCQkpCiAJQ0FMR04oCWFkcglyNCwgNmYJCQkpCiAJQ0FMR04oCXN1YnMJcjIsIHIyLCBpcAkJKSAgQCBDIGlzIHNldCBoZXJlCisJQ0FMR04oCXJzYglpcCwgaXAsICMzMgkJKQogCUNBTEdOKAlhZGQJcGMsIHI0LCBpcAkJKQogCiAJUExEKAlwbGQJW3IxLCAjLTRdCQkpCkBAIC0xMzgsOCArMTMxLDcgQEAKIAkJc3VicwlyMiwgcjIsICMyOAogCQlibHQJMTRmCiAKLQlDQUxHTigJYW5kcwlpcCwgcjEsICMzMQkJKQotCUNBTEdOKAlyc2IJaXAsIGlwLCAjMzIJCSkKKwlDQUxHTigJYW5kcwlpcCwgcjAsICMzMQkJKQogCUNBTEdOKAlzYmNuZXMJcjQsIGlwLCByMgkJKSAgQCBDIGlzIGFsd2F5cyBzZXQgaGVyZQogCUNBTEdOKAlzdWJjYwlyMiwgcjIsIGlwCQkpCiAJQ0FMR04oCWJjYwkxNWYJCQkpCmRpZmYgLS1naXQgYS9hcmNoL2FybS9saWIvbWVtc2V0LlMgYi9hcmNoL2FybS9saWIvbWVtc2V0LlMKaW5kZXggOTViMTEwYi4uYjQ3N2Q0YSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbGliL21lbXNldC5TCisrKyBiL2FyY2gvYXJtL2xpYi9tZW1zZXQuUwpAQCAtMzksNiArMzksOSBAQAogCW1vdglyMywgcjEKIAljbXAJcjIsICMxNgogCWJsdAk0ZgorCisjaWYgISBDQUxHTigxKSswCisKIC8qCiAgKiBXZSBuZWVkIGFuIGV4dHJhIHJlZ2lzdGVyIGZvciB0aGlzIGxvb3AgLSBzYXZlIHRoZSByZXR1cm4gYWRkcmVzcyBhbmQKICAqIHVzZSB0aGUgTFIKQEAgLTY0LDYgKzY3LDQ5IEBACiAJc3RtbmVpYQlyMCEsIHtyMSwgcjMsIGlwLCBscn0KIAlsZHIJbHIsIFtzcF0sICM0CiAKKyNlbHNlCisKKy8qCisgKiBUaGlzIHZlcnNpb24gYWxpZ25zIHRoZSBkZXN0aW5hdGlvbiBwb2ludGVyIGluIG9yZGVyIHRvIHdyaXRlCisgKiB3aG9sZSBjYWNoZSBsaW5lcyBhdCBvbmNlLgorICovCisKKwlzdG1mZAlzcCEsIHtyNC1yNywgbHJ9CisJbW92CXI0LCByMQorCW1vdglyNSwgcjEKKwltb3YJcjYsIHIxCisJbW92CXI3LCByMQorCW1vdglpcCwgcjEKKwltb3YJbHIsIHIxCisKKwljbXAJcjIsICM5NgorCXRzdGd0CXIwLCAjMzEKKwlibGUJM2YKKworCWFuZAlpcCwgcjAsICMzMQorCXJzYglpcCwgaXAsICMzMgorCXN1YglyMiwgcjIsIGlwCisJbW92cwlpcCwgaXAsIGxzbCAjKDMyIC0gNCkKKwlzdG1jc2lhCXIwISwge3I0LCByNSwgcjYsIHI3fQorCXN0bW1paWEJcjAhLCB7cjQsIHI1fQorCXRzdAlpcCwgIygxIDw8IDMwKQorCW1vdglpcCwgcjEKKwlzdHJuZQlyMSwgW3IwXSwgIzQKKworMzoJc3VicwlyMiwgcjIsICM2NAorCXN0bWdlaWEJcjAhLCB7cjEsIHIzLXI3LCBpcCwgbHJ9CisJc3RtZ2VpYQlyMCEsIHtyMSwgcjMtcjcsIGlwLCBscn0KKwliZ3QJM2IKKwlsZG1lcWZkCXNwISwge3I0LXI3LCBwY30KKworCXRzdAlyMiwgIzMyCisJc3RtbmVpYQlyMCEsIHtyMSwgcjMtcjcsIGlwLCBscn0KKwl0c3QJcjIsICMxNgorCXN0bW5laWEJcjAhLCB7cjQtcjd9CisJbGRtZmQJc3AhLCB7cjQtcjcsIGxyfQorCisjZW5kaWYKKwogNDoJdHN0CXIyLCAjOAogCXN0bW5laWEJcjAhLCB7cjEsIHIzfQogCXRzdAlyMiwgIzQKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2xpYi9tZW16ZXJvLlMgYi9hcmNoL2FybS9saWIvbWVtemVyby5TCmluZGV4IGFiZjI1MDguLmI4Zjc5ZDggMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2xpYi9tZW16ZXJvLlMKKysrIGIvYXJjaC9hcm0vbGliL21lbXplcm8uUwpAQCAtMzksNiArMzksOSBAQAogICovCiAJY21wCXIxLCAjMTYJCQlAIDEgd2UgY2FuIHNraXAgdGhpcyBjaHVuayBpZiB3ZQogCWJsdAk0ZgkJCUAgMSBoYXZlIDwgMTYgYnl0ZXMKKworI2lmICEgQ0FMR04oMSkrMAorCiAvKgogICogV2UgbmVlZCBhbiBleHRyYSByZWdpc3RlciBmb3IgdGhpcyBsb29wIC0gc2F2ZSB0aGUgcmV0dXJuIGFkZHJlc3MgYW5kCiAgKiB1c2UgdGhlIExSCkBAIC02NCw2ICs2Nyw0NyBAQAogCXN0bW5laWEJcjAhLCB7cjIsIHIzLCBpcCwgbHJ9CUAgNAogCWxkcglsciwgW3NwXSwgIzQJCUAgMQogCisjZWxzZQorCisvKgorICogVGhpcyB2ZXJzaW9uIGFsaWducyB0aGUgZGVzdGluYXRpb24gcG9pbnRlciBpbiBvcmRlciB0byB3cml0ZQorICogd2hvbGUgY2FjaGUgbGluZXMgYXQgb25jZS4KKyAqLworCisJc3RtZmQJc3AhLCB7cjQtcjcsIGxyfQorCW1vdglyNCwgcjIKKwltb3YJcjUsIHIyCisJbW92CXI2LCByMgorCW1vdglyNywgcjIKKwltb3YJaXAsIHIyCisJbW92CWxyLCByMgorCisJY21wCXIxLCAjOTYKKwlhbmRndHMJaXAsIHIwLCAjMzEKKwlibGUJM2YKKworCXJzYglpcCwgaXAsICMzMgorCXN1YglyMSwgcjEsIGlwCisJbW92cwlpcCwgaXAsIGxzbCAjKDMyIC0gNCkKKwlzdG1jc2lhCXIwISwge3I0LCByNSwgcjYsIHI3fQorCXN0bW1paWEJcjAhLCB7cjQsIHI1fQorCW1vdnMJaXAsIGlwLCBsc2wgIzIKKwlzdHJjcwlyMiwgW3IwXSwgIzQKKworMzoJc3VicwlyMSwgcjEsICM2NAorCXN0bWdlaWEJcjAhLCB7cjItcjcsIGlwLCBscn0KKwlzdG1nZWlhCXIwISwge3IyLXI3LCBpcCwgbHJ9CisJYmd0CTNiCisJbGRtZXFmZAlzcCEsIHtyNC1yNywgcGN9CisKKwl0c3QJcjEsICMzMgorCXN0bW5laWEJcjAhLCB7cjItcjcsIGlwLCBscn0KKwl0c3QJcjEsICMxNgorCXN0bW5laWEJcjAhLCB7cjQtcjd9CisJbGRtZmQJc3AhLCB7cjQtcjcsIGxyfQorCisjZW5kaWYKKwogNDoJdHN0CXIxLCAjOAkJCUAgMSA4IGJ5dGVzIG9yIG1vcmU/CiAJc3RtbmVpYQlyMCEsIHtyMiwgcjN9CQlAIDIKIAl0c3QJcjEsICM0CQkJQCAxIDQgYnl0ZXMgb3IgbW9yZT8KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtYXQ5MS9LY29uZmlnIGIvYXJjaC9hcm0vbWFjaC1hdDkxL0tjb25maWcKaW5kZXggMGZjMDdiNi4uNWJhZDZiOSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1hdDkxL0tjb25maWcKKysrIGIvYXJjaC9hcm0vbWFjaC1hdDkxL0tjb25maWcKQEAgLTMwLDYgKzMwLDExIEBACiAJc2VsZWN0IEdFTkVSSUNfVElNRQogCXNlbGVjdCBHRU5FUklDX0NMT0NLRVZFTlRTCiAKK2NvbmZpZyBBUkNIX0FUOTFTQU05RzIwCisJYm9vbCAiQVQ5MVNBTTlHMjAiCisJc2VsZWN0IEdFTkVSSUNfVElNRQorCXNlbGVjdCBHRU5FUklDX0NMT0NLRVZFTlRTCisKIGNvbmZpZyBBUkNIX0FUOTFDQVA5CiAJYm9vbCAiQVQ5MUNBUDkiCiAJc2VsZWN0IEdFTkVSSUNfVElNRQpAQCAtMTI2LDYgKzEzMSwxMiBAQAogCSAgU2VsZWN0IHRoaXMgaWYgeW91IGFyZSB1c2luZyBlbVFiaXQncyBFQ0JfQVQ5MSBib2FyZC4KIAkgIDxodHRwOi8vd2lraS5lbXFiaXQuY29tL2ZyZWUtZWNiLWF0OTE+CiAKK2NvbmZpZyBNQUNIX1lMOTIwMAorCWJvb2wgInVjRHJhZ29uIFlMLTkyMDAiCisJZGVwZW5kcyBvbiBBUkNIX0FUOTFSTTkyMDAKKwloZWxwCisJICBTZWxlY3QgdGhpcyBpZiB5b3UgYXJlIHVzaW5nIHRoZSB1Y0RyYWdvbiBZTC05MjAwIGJvYXJkLgorCiBlbmRpZgogCiAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KQEAgLTE2NCw2ICsxNzUsMjAgQEAKIAkgIFNlbGVjdCB0aGlzIGlmIHlvdSBhcmUgdXNpbmcgT2xpbWV4J3MgU0FNOS1MOTI2MCBib2FyZCBiYXNlZCBvbiB0aGUgQXRtZWwgQVQ5MVNBTTkyNjAuCiAJICA8aHR0cDovL3d3dy5vbGltZXguY29tL2Rldi9zYW05LUw5MjYwLmh0bWw+CiAKK2NvbmZpZyBNQUNIX1VTQl9BOTI2MAorCWJvb2wgIkNBTEFPIFVTQi1BOTI2MCIKKwlkZXBlbmRzIG9uIEFSQ0hfQVQ5MVNBTTkyNjAKKwloZWxwCisJICBTZWxlY3QgdGhpcyBpZiB5b3UgYXJlIHVzaW5nIGEgQ2FsYW8gU3lzdGVtcyBVU0ItQTkyNjAuCisJICA8aHR0cDovL3d3dy5jYWxhby1zeXN0ZW1zLmNvbT4KKworY29uZmlnIE1BQ0hfUUlMX0E5MjYwCisJYm9vbCAiQ0FMQU8gUUlMLUE5MjYwIGJvYXJkIgorCWRlcGVuZHMgb24gQVJDSF9BVDkxU0FNOTI2MAorCWhlbHAKKwkgIFNlbGVjdCB0aGlzIGlmIHlvdSBhcmUgdXNpbmcgYSBDYWxhbyBTeXN0ZW1zIFFJTC1BOTI2MCBCb2FyZC4KKwkgIDxodHRwOi8vd3d3LmNhbGFvLXN5c3RlbXMuY29tPgorCiBlbmRpZgogCiAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KQEAgLTE5NCw2ICsyMTksMTMgQEAKIAkgIFNlbGVjdCB0aGlzIGlmIHlvdSBhcmUgdXNpbmcgQXRtZWwncyBBVDkxU0FNOTI2My1FSyBFdmFsdWF0aW9uIEtpdC4KIAkgIDxodHRwOi8vd3d3LmF0bWVsLmNvbS9keW4vcHJvZHVjdHMvdG9vbHNfY2FyZC5hc3A/dG9vbF9pZD00MDU3PgogCitjb25maWcgTUFDSF9VU0JfQTkyNjMKKwlib29sICJDQUxBTyBVU0ItQTkyNjMiCisJZGVwZW5kcyBvbiBBUkNIX0FUOTFTQU05MjYzCisJaGVscAorCSAgU2VsZWN0IHRoaXMgaWYgeW91IGFyZSB1c2luZyBhIENhbGFvIFN5c3RlbXMgVVNCLUE5MjYzLgorCSAgPGh0dHA6Ly93d3cuY2FsYW8tc3lzdGVtcy5jb20+CisKIGVuZGlmCiAKICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpAQCAtMjEyLDYgKzI0NCwyMCBAQAogCiAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAoraWYgQVJDSF9BVDkxU0FNOUcyMAorCitjb21tZW50ICJBVDkxU0FNOUcyMCBCb2FyZCBUeXBlIgorCitjb25maWcgTUFDSF9BVDkxU0FNOUcyMEVLCisJYm9vbCAiQXRtZWwgQVQ5MVNBTTlHMjAtRUsgRXZhbHVhdGlvbiBLaXQiCisJZGVwZW5kcyBvbiBBUkNIX0FUOTFTQU05RzIwCisJaGVscAorCSAgU2VsZWN0IHRoaXMgaWYgeW91IGFyZSB1c2luZyBBdG1lbCdzIEFUOTFTQU05RzIwLUVLIEV2YWx1YXRpb24gS2l0LgorCitlbmRpZgorCisjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKwogaWYgQVJDSF9BVDkxQ0FQOQogCiBjb21tZW50ICJBVDkxQ0FQOSBCb2FyZCBUeXBlIgpAQCAtMjQ3LDEzICsyOTMsMTMgQEAKIAogY29uZmlnIE1URF9BVDkxX0RBVEFGTEFTSF9DQVJECiAJYm9vbCAiRW5hYmxlIERhdGFGbGFzaCBDYXJkIHN1cHBvcnQiCi0JZGVwZW5kcyBvbiAoQVJDSF9BVDkxUk05MjAwREsgfHwgTUFDSF9BVDkxUk05MjAwRUsgfHwgTUFDSF9BVDkxU0FNOTI2MEVLIHx8IE1BQ0hfQVQ5MVNBTTkyNjFFSyB8fCBNQUNIX0FUOTFTQU05MjYzRUsgfHwgTUFDSF9BVDkxQ0FQOUFESyB8fCBNQUNIX1NBTTlfTDkyNjAgfHwgTUFDSF9FQ0JBVDkxKQorCWRlcGVuZHMgb24gKEFSQ0hfQVQ5MVJNOTIwMERLIHx8IE1BQ0hfQVQ5MVJNOTIwMEVLIHx8IE1BQ0hfQVQ5MVNBTTkyNjBFSyB8fCBNQUNIX0FUOTFTQU05MjYxRUsgfHwgTUFDSF9BVDkxU0FNOTI2M0VLIHx8IE1BQ0hfQVQ5MVNBTTlHMjBFSyB8fCBNQUNIX0VDQkFUOTEgfHwgTUFDSF9TQU05X0w5MjYwIHx8IE1BQ0hfQVQ5MUNBUDlBREspCiAJaGVscAogCSAgRW5hYmxlIHN1cHBvcnQgZm9yIHRoZSBEYXRhRmxhc2ggY2FyZC4KIAogY29uZmlnIE1URF9OQU5EX0FUOTFfQlVTV0lEVEhfMTYKIAlib29sICJFbmFibGUgMTYtYml0IGRhdGEgYnVzIGludGVyZmFjZSB0byBOQU5EIGZsYXNoIgotCWRlcGVuZHMgb24gKE1BQ0hfQVQ5MVNBTTkyNjBFSyB8fCBNQUNIX0FUOTFTQU05MjYxRUsgfHwgTUFDSF9BVDkxU0FNOTI2M0VLIHx8IE1BQ0hfQVQ5MUNBUDlBREspCisJZGVwZW5kcyBvbiAoTUFDSF9BVDkxU0FNOTI2MEVLIHx8IE1BQ0hfQVQ5MVNBTTkyNjFFSyB8fCBNQUNIX0FUOTFTQU05MjYzRUsgfHwgTUFDSF9BVDkxU0FNOUcyMEVLIHx8IE1BQ0hfQVQ5MUNBUDlBREspCiAJaGVscAogCSAgT24gQVQ5MVNBTTkyNnggYm9hcmRzIGJvdGggdHlwZXMgb2YgTkFORCBmbGFzaCBjYW4gYmUgcHJlc2VudAogCSAgKDggYW5kIDE2IGJpdCBkYXRhIGJ1cyB3aWR0aCkuCkBAIC0zMDIsMTUgKzM0OCwxNSBAQAogCiBjb25maWcgQVQ5MV9FQVJMWV9VU0FSVDMKIAlib29sICJVU0FSVDMiCi0JZGVwZW5kcyBvbiAoQVJDSF9BVDkxUk05MjAwIHx8IEFSQ0hfQVQ5MVNBTTlSTCB8fCBBUkNIX0FUOTFTQU05MjYwKQorCWRlcGVuZHMgb24gKEFSQ0hfQVQ5MVJNOTIwMCB8fCBBUkNIX0FUOTFTQU05UkwgfHwgQVJDSF9BVDkxU0FNOTI2MCB8fCBBUkNIX0FUOTFTQU05RzIwKQogCiBjb25maWcgQVQ5MV9FQVJMWV9VU0FSVDQKIAlib29sICJVU0FSVDQiCi0JZGVwZW5kcyBvbiBBUkNIX0FUOTFTQU05MjYwCisJZGVwZW5kcyBvbiBBUkNIX0FUOTFTQU05MjYwIHx8IEFSQ0hfQVQ5MVNBTTlHMjAKIAogY29uZmlnIEFUOTFfRUFSTFlfVVNBUlQ1CiAJYm9vbCAiVVNBUlQ1IgotCWRlcGVuZHMgb24gQVJDSF9BVDkxU0FNOTI2MAorCWRlcGVuZHMgb24gQVJDSF9BVDkxU0FNOTI2MCB8fCBBUkNIX0FUOTFTQU05RzIwCiAKIGVuZGNob2ljZQogCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLWF0OTEvTWFrZWZpbGUgYi9hcmNoL2FybS9tYWNoLWF0OTEvTWFrZWZpbGUKaW5kZXggOGQ5YmMwMS4uN2Q2NDFmOSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1hdDkxL01ha2VmaWxlCisrKyBiL2FyY2gvYXJtL21hY2gtYXQ5MS9NYWtlZmlsZQpAQCAtMTUsNiArMTUsNyBAQAogb2JqLSQoQ09ORklHX0FSQ0hfQVQ5MVNBTTkyNjEpCSs9IGF0OTFzYW05MjYxLm8gYXQ5MXNhbTkyNnhfdGltZS5vIGF0OTFzYW05MjYxX2RldmljZXMubwogb2JqLSQoQ09ORklHX0FSQ0hfQVQ5MVNBTTkyNjMpCSs9IGF0OTFzYW05MjYzLm8gYXQ5MXNhbTkyNnhfdGltZS5vIGF0OTFzYW05MjYzX2RldmljZXMubwogb2JqLSQoQ09ORklHX0FSQ0hfQVQ5MVNBTTlSTCkJKz0gYXQ5MXNhbTlybC5vIGF0OTFzYW05MjZ4X3RpbWUubyBhdDkxc2FtOXJsX2RldmljZXMubworb2JqLSQoQ09ORklHX0FSQ0hfQVQ5MVNBTTlHMjApCSs9IGF0OTFzYW05MjYwLm8gYXQ5MXNhbTkyNnhfdGltZS5vIGF0OTFzYW05MjYwX2RldmljZXMubwogb2JqLSQoQ09ORklHX0FSQ0hfQVQ5MUNBUDkpCSs9IGF0OTFjYXA5Lm8gYXQ5MXNhbTkyNnhfdGltZS5vIGF0OTFjYXA5X2RldmljZXMubwogb2JqLSQoQ09ORklHX0FSQ0hfQVQ5MVg0MCkJKz0gYXQ5MXg0MC5vIGF0OTF4NDBfdGltZS5vCiAKQEAgLTMwLDIxICszMSwyOCBAQAogb2JqLSQoQ09ORklHX01BQ0hfS0FGQSkJCSs9IGJvYXJkLWthZmEubwogb2JqLSQoQ09ORklHX01BQ0hfUElDT1RVWDJYWCkJKz0gYm9hcmQtcGljb3R1eDIwMC5vCiBvYmotJChDT05GSUdfTUFDSF9FQ0JBVDkxKQkrPSBib2FyZC1lY2JhdDkxLm8KK29iai0kKENPTkZJR19NQUNIX1lMOTIwMCkJKz0gYm9hcmQteWwtOTIwMC5vCiAKICMgQVQ5MVNBTTkyNjAgYm9hcmQtc3BlY2lmaWMgc3VwcG9ydAogb2JqLSQoQ09ORklHX01BQ0hfQVQ5MVNBTTkyNjBFSykgKz0gYm9hcmQtc2FtOTI2MGVrLm8KIG9iai0kKENPTkZJR19NQUNIX0NBTTYwKQkrPSBib2FyZC1jYW02MC5vCiBvYmotJChDT05GSUdfTUFDSF9TQU05X0w5MjYwKQkrPSBib2FyZC1zYW05LWw5MjYwLm8KK29iai0kKENPTkZJR19NQUNIX1VTQl9BOTI2MCkJKz0gYm9hcmQtdXNiLWE5MjYwLm8KK29iai0kKENPTkZJR19NQUNIX1FJTF9BOTI2MCkJKz0gYm9hcmQtcWlsLWE5MjYwLm8KIAogIyBBVDkxU0FNOTI2MSBib2FyZC1zcGVjaWZpYyBzdXBwb3J0CiBvYmotJChDT05GSUdfTUFDSF9BVDkxU0FNOTI2MUVLKSArPSBib2FyZC1zYW05MjYxZWsubwogCiAjIEFUOTFTQU05MjYzIGJvYXJkLXNwZWNpZmljIHN1cHBvcnQKIG9iai0kKENPTkZJR19NQUNIX0FUOTFTQU05MjYzRUspICs9IGJvYXJkLXNhbTkyNjNlay5vCitvYmotJChDT05GSUdfTUFDSF9VU0JfQTkyNjMpCSs9IGJvYXJkLXVzYi1hOTI2My5vCiAKICMgQVQ5MVNBTTlSTCBib2FyZC1zcGVjaWZpYyBzdXBwb3J0CiBvYmotJChDT05GSUdfTUFDSF9BVDkxU0FNOVJMRUspCSs9IGJvYXJkLXNhbTlybGVrLm8KIAorIyBBVDkxU0FNOUcyMCBib2FyZC1zcGVjaWZpYyBzdXBwb3J0CitvYmotJChDT05GSUdfTUFDSF9BVDkxU0FNOUcyMEVLKSArPSBib2FyZC1zYW05ZzIwZWsubworCiAjIEFUOTFDQVA5IGJvYXJkLXNwZWNpZmljIHN1cHBvcnQKIG9iai0kKENPTkZJR19NQUNIX0FUOTFDQVA5QURLKQkrPSBib2FyZC1jYXA5YWRrLm8KIApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1hdDkxL2F0OTFjYXA5X2RldmljZXMuYyBiL2FyY2gvYXJtL21hY2gtYXQ5MS9hdDkxY2FwOV9kZXZpY2VzLmMKaW5kZXggYmU1MjY3NC4uNzQ3YjlkZSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1hdDkxL2F0OTFjYXA5X2RldmljZXMuYworKysgYi9hcmNoL2FybS9tYWNoLWF0OTEvYXQ5MWNhcDlfZGV2aWNlcy5jCkBAIC04NCw2ICs4NCwxMDUgQEAKIAogCiAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICogIFVTQiBIUyBEZXZpY2UgKEdhZGdldCkKKyAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCisKKyNpZiBkZWZpbmVkKENPTkZJR19VU0JfR0FER0VUX0FUTUVMX1VTQkEpIHx8IGRlZmluZWQoQ09ORklHX1VTQl9HQURHRVRfQVRNRUxfVVNCQV9NT0RVTEUpCisKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgdXNiYV91ZGNfcmVzb3VyY2VzW10gPSB7CisJWzBdID0geworCQkuc3RhcnQJPSBBVDkxQ0FQOV9VRFBIU19GSUZPLAorCQkuZW5kCT0gQVQ5MUNBUDlfVURQSFNfRklGTyArIFNaXzUxMksgLSAxLAorCQkuZmxhZ3MJPSBJT1JFU09VUkNFX01FTSwKKwl9LAorCVsxXSA9IHsKKwkJLnN0YXJ0CT0gQVQ5MUNBUDlfQkFTRV9VRFBIUywKKwkJLmVuZAk9IEFUOTFDQVA5X0JBU0VfVURQSFMgKyBTWl8xSyAtIDEsCisJCS5mbGFncwk9IElPUkVTT1VSQ0VfTUVNLAorCX0sCisJWzJdID0geworCQkuc3RhcnQJPSBBVDkxQ0FQOV9JRF9VRFBIUywKKwkJLmVuZAk9IEFUOTFDQVA5X0lEX1VEUEhTLAorCQkuZmxhZ3MJPSBJT1JFU09VUkNFX0lSUSwKKwl9LAorfTsKKworI2RlZmluZSBFUChuYW0sIGlkeCwgbWF4cGt0LCBtYXhiaywgZG1hLCBpc29jKQkJCVwKKwlbaWR4XSA9IHsJCQkJCQlcCisJCS5uYW1lCQk9IG5hbSwJCQkJXAorCQkuaW5kZXgJCT0gaWR4LAkJCQlcCisJCS5maWZvX3NpemUJPSBtYXhwa3QsCQkJXAorCQkubnJfYmFua3MJPSBtYXhiaywJCQlcCisJCS5jYW5fZG1hCT0gZG1hLAkJCQlcCisJCS5jYW5faXNvYwk9IGlzb2MsCQkJCVwKKwl9CisKK3N0YXRpYyBzdHJ1Y3QgdXNiYV9lcF9kYXRhIHVzYmFfdWRjX2VwW10gPSB7CisJRVAoImVwMCIsIDAsICAgNjQsIDEsIDAsIDApLAorCUVQKCJlcDEiLCAxLCAxMDI0LCAzLCAxLCAxKSwKKwlFUCgiZXAyIiwgMiwgMTAyNCwgMywgMSwgMSksCisJRVAoImVwMyIsIDMsIDEwMjQsIDIsIDEsIDEpLAorCUVQKCJlcDQiLCA0LCAxMDI0LCAyLCAxLCAxKSwKKwlFUCgiZXA1IiwgNSwgMTAyNCwgMiwgMSwgMCksCisJRVAoImVwNiIsIDYsIDEwMjQsIDIsIDEsIDApLAorCUVQKCJlcDciLCA3LCAxMDI0LCAyLCAwLCAwKSwKK307CisKKyN1bmRlZiBFUAorCisvKgorICogcGRhdGEgZG9lc24ndCBoYXZlIHJvb20gZm9yIGFueSBlbmRwb2ludHMsIHNvIHdlIG5lZWQgdG8KKyAqIGFwcGVuZCByb29tIGZvciB0aGUgb25lcyB3ZSBuZWVkIHJpZ2h0IGFmdGVyIGl0LgorICovCitzdGF0aWMgc3RydWN0IHsKKwlzdHJ1Y3QgdXNiYV9wbGF0Zm9ybV9kYXRhIHBkYXRhOworCXN0cnVjdCB1c2JhX2VwX2RhdGEgZXBbOF07Cit9IHVzYmFfdWRjX2RhdGE7CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIGF0OTFfdXNiYV91ZGNfZGV2aWNlID0geworCS5uYW1lCQk9ICJhdG1lbF91c2JhX3VkYyIsCisJLmlkCQk9IC0xLAorCS5kZXYJCT0geworCQkJCS5wbGF0Zm9ybV9kYXRhCT0gJnVzYmFfdWRjX2RhdGEucGRhdGEsCisJfSwKKwkucmVzb3VyY2UJPSB1c2JhX3VkY19yZXNvdXJjZXMsCisJLm51bV9yZXNvdXJjZXMJPSBBUlJBWV9TSVpFKHVzYmFfdWRjX3Jlc291cmNlcyksCit9OworCit2b2lkIF9faW5pdCBhdDkxX2FkZF9kZXZpY2VfdXNiYShzdHJ1Y3QgdXNiYV9wbGF0Zm9ybV9kYXRhICpkYXRhKQoreworCWF0OTFfc3lzX3dyaXRlKEFUOTFfTUFUUklYX1VEUEhTLCBBVDkxX01BVFJJWF9TRUxFQ1RfVURQSFMgfAorCQkJCQkgIEFUOTFfTUFUUklYX1VEUEhTX0JZUEFTU19MT0NLKTsKKworCS8qCisJICogSW52YWxpZCBwaW5zIGFyZSAwIG9uIEFUOTEsIGJ1dCB0aGUgdXNiYSBkcml2ZXIgaXMgc2hhcmVkCisJICogd2l0aCBBVlIzMiwgd2hpY2ggdXNlIG5lZ2F0aXZlIHZhbHVlcyBpbnN0ZWFkLiBPbmNlL2lmCisJICogZ3Bpb19pc192YWxpZCgpIGlzIHBvcnRlZCB0byBBVDkxLCByZXZpc2l0IHRoaXMgY29kZS4KKwkgKi8KKwl1c2JhX3VkY19kYXRhLnBkYXRhLnZidXNfcGluID0gLUVJTlZBTDsKKwl1c2JhX3VkY19kYXRhLnBkYXRhLm51bV9lcCA9IEFSUkFZX1NJWkUodXNiYV91ZGNfZXApOworCW1lbWNweSh1c2JhX3VkY19kYXRhLmVwLCB1c2JhX3VkY19lcCwgc2l6ZW9mKHVzYmFfdWRjX2VwKSk7OworCisJaWYgKGRhdGEgJiYgZGF0YS0+dmJ1c19waW4gPiAwKSB7CisJCWF0OTFfc2V0X2dwaW9faW5wdXQoZGF0YS0+dmJ1c19waW4sIDApOworCQlhdDkxX3NldF9kZWdsaXRjaChkYXRhLT52YnVzX3BpbiwgMSk7CisJCXVzYmFfdWRjX2RhdGEucGRhdGEudmJ1c19waW4gPSBkYXRhLT52YnVzX3BpbjsKKwl9CisKKwkvKiBQdWxsdXAgcGluIGlzIGhhbmRsZWQgaW50ZXJuYWxseSBieSBVU0IgZGV2aWNlIHBlcmlwaGVyYWwgKi8KKworCS8qIENsb2NrcyAqLworCWF0OTFfY2xvY2tfYXNzb2NpYXRlKCJ1dG1pX2NsayIsICZhdDkxX3VzYmFfdWRjX2RldmljZS5kZXYsICJoY2xrIik7CisJYXQ5MV9jbG9ja19hc3NvY2lhdGUoInVkcGhzX2NsayIsICZhdDkxX3VzYmFfdWRjX2RldmljZS5kZXYsICJwY2xrIik7CisKKwlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJmF0OTFfdXNiYV91ZGNfZGV2aWNlKTsKK30KKyNlbHNlCit2b2lkIF9faW5pdCBhdDkxX2FkZF9kZXZpY2VfdXNiYShzdHJ1Y3QgdXNiYV9wbGF0Zm9ybV9kYXRhICpkYXRhKSB7fQorI2VuZGlmCisKKworLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAqICBFdGhlcm5ldAogICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KIApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1hdDkxL2F0OTFzYW05MjYwLmMgYi9hcmNoL2FybS9tYWNoLWF0OTEvYXQ5MXNhbTkyNjAuYwppbmRleCBlZTI2NTUwLi4zODBmMTJhIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLWF0OTEvYXQ5MXNhbTkyNjAuYworKysgYi9hcmNoL2FybS9tYWNoLWF0OTEvYXQ5MXNhbTkyNjAuYwpAQCAtNDcsNiArNDcsMjAgQEAKIAl9CiB9OwogCitzdGF0aWMgc3RydWN0IG1hcF9kZXNjIGF0OTFzYW05ZzIwX3NyYW1fZGVzY1tdIF9faW5pdGRhdGEgPSB7CisJeworCQkudmlydHVhbAk9IEFUOTFfSU9fVklSVF9CQVNFIC0gQVQ5MVNBTTlHMjBfU1JBTTBfU0laRSwKKwkJLnBmbgkJPSBfX3BoeXNfdG9fcGZuKEFUOTFTQU05RzIwX1NSQU0wX0JBU0UpLAorCQkubGVuZ3RoCQk9IEFUOTFTQU05RzIwX1NSQU0wX1NJWkUsCisJCS50eXBlCQk9IE1UX0RFVklDRSwKKwl9LCB7CisJCS52aXJ0dWFsCT0gQVQ5MV9JT19WSVJUX0JBU0UgLSBBVDkxU0FNOUcyMF9TUkFNMF9TSVpFIC0gQVQ5MVNBTTlHMjBfU1JBTTFfU0laRSwKKwkJLnBmbgkJPSBfX3BoeXNfdG9fcGZuKEFUOTFTQU05RzIwX1NSQU0xX0JBU0UpLAorCQkubGVuZ3RoCQk9IEFUOTFTQU05RzIwX1NSQU0xX1NJWkUsCisJCS50eXBlCQk9IE1UX0RFVklDRSwKKwl9Cit9OworCiBzdGF0aWMgc3RydWN0IG1hcF9kZXNjIGF0OTFzYW05eGVfc3JhbV9kZXNjW10gX19pbml0ZGF0YSA9IHsKIAl7CiAJCS5wZm4JCT0gX19waHlzX3RvX3BmbihBVDkxU0FNOVhFX1NSQU1fQkFTRSksCkBAIC0zMDcsNiArMzIxLDggQEAKIAogCWlmIChjcHVfaXNfYXQ5MXNhbTl4ZSgpKQogCQlhdDkxc2FtOXhlX2luaXRpYWxpemUoKTsKKwllbHNlIGlmIChjcHVfaXNfYXQ5MXNhbTlnMjAoKSkKKwkJaW90YWJsZV9pbml0KGF0OTFzYW05ZzIwX3NyYW1fZGVzYywgQVJSQVlfU0laRShhdDkxc2FtOWcyMF9zcmFtX2Rlc2MpKTsKIAllbHNlCiAJCWlvdGFibGVfaW5pdChhdDkxc2FtOTI2MF9zcmFtX2Rlc2MsIEFSUkFZX1NJWkUoYXQ5MXNhbTkyNjBfc3JhbV9kZXNjKSk7CiAKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtYXQ5MS9hdDkxc2FtOTI2MF9kZXZpY2VzLmMgYi9hcmNoL2FybS9tYWNoLWF0OTEvYXQ5MXNhbTkyNjBfZGV2aWNlcy5jCmluZGV4IDM5M2EzMmEuLjg2Y2JhNGEgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtYXQ5MS9hdDkxc2FtOTI2MF9kZXZpY2VzLmMKKysrIGIvYXJjaC9hcm0vbWFjaC1hdDkxL2F0OTFzYW05MjYwX2RldmljZXMuYwpAQCAtMTgsNiArMTgsNyBAQAogCiAjaW5jbHVkZSA8YXNtL2FyY2gvYm9hcmQuaD4KICNpbmNsdWRlIDxhc20vYXJjaC9ncGlvLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvY3B1Lmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvYXQ5MXNhbTkyNjAuaD4KICNpbmNsdWRlIDxhc20vYXJjaC9hdDkxc2FtOTI2MF9tYXRyaXguaD4KICNpbmNsdWRlIDxhc20vYXJjaC9hdDkxc2FtOV9zbWMuaD4KQEAgLTMyMCwyMCArMzIxLDQxIEBACiAJY3NhID0gYXQ5MV9zeXNfcmVhZChBVDkxX01BVFJJWF9FQklDU0EpOwogCWF0OTFfc3lzX3dyaXRlKEFUOTFfTUFUUklYX0VCSUNTQSwgY3NhIHwgQVQ5MV9NQVRSSVhfQ1MzQV9TTUNfU01BUlRNRURJQSk7CiAKLQkvKiBzZXQgdGhlIGJ1cyBpbnRlcmZhY2UgY2hhcmFjdGVyaXN0aWNzICovCi0JYXQ5MV9zeXNfd3JpdGUoQVQ5MV9TTUNfU0VUVVAoMyksIEFUOTFfU01DX05XRVNFVFVQXygwKSB8IEFUOTFfU01DX05DU19XUlNFVFVQXygwKQotCQkJfCBBVDkxX1NNQ19OUkRTRVRVUF8oMCkgfCBBVDkxX1NNQ19OQ1NfUkRTRVRVUF8oMCkpOworCWlmIChjcHVfaXNfYXQ5MXNhbTkyNjAoKSkgeworCQkvKiBUaW1pbmcgZm9yIHNhbTkyNjAgKi8KKwkJLyogc2V0IHRoZSBidXMgaW50ZXJmYWNlIGNoYXJhY3RlcmlzdGljcyAqLworCQlhdDkxX3N5c193cml0ZShBVDkxX1NNQ19TRVRVUCgzKSwgQVQ5MV9TTUNfTldFU0VUVVBfKDEpIHwgQVQ5MV9TTUNfTkNTX1dSU0VUVVBfKDApCisJCQkJfCBBVDkxX1NNQ19OUkRTRVRVUF8oMSkgfCBBVDkxX1NNQ19OQ1NfUkRTRVRVUF8oMCkpOwogCi0JYXQ5MV9zeXNfd3JpdGUoQVQ5MV9TTUNfUFVMU0UoMyksIEFUOTFfU01DX05XRVBVTFNFXygzKSB8IEFUOTFfU01DX05DU19XUlBVTFNFXygzKQotCQkJfCBBVDkxX1NNQ19OUkRQVUxTRV8oMykgfCBBVDkxX1NNQ19OQ1NfUkRQVUxTRV8oMykpOworCQlhdDkxX3N5c193cml0ZShBVDkxX1NNQ19QVUxTRSgzKSwgQVQ5MV9TTUNfTldFUFVMU0VfKDMpIHwgQVQ5MV9TTUNfTkNTX1dSUFVMU0VfKDMpCisJCQkJfCBBVDkxX1NNQ19OUkRQVUxTRV8oMykgfCBBVDkxX1NNQ19OQ1NfUkRQVUxTRV8oMykpOwogCi0JYXQ5MV9zeXNfd3JpdGUoQVQ5MV9TTUNfQ1lDTEUoMyksIEFUOTFfU01DX05XRUNZQ0xFXyg1KSB8IEFUOTFfU01DX05SRENZQ0xFXyg1KSk7CisJCWF0OTFfc3lzX3dyaXRlKEFUOTFfU01DX0NZQ0xFKDMpLCBBVDkxX1NNQ19OV0VDWUNMRV8oNSkgfCBBVDkxX1NNQ19OUkRDWUNMRV8oNSkpOwogCi0JaWYgKGRhdGEtPmJ1c193aWR0aF8xNikKLQkJbW9kZSA9IEFUOTFfU01DX0RCV18xNjsKLQllbHNlCi0JCW1vZGUgPSBBVDkxX1NNQ19EQldfODsKLQlhdDkxX3N5c193cml0ZShBVDkxX1NNQ19NT0RFKDMpLCBtb2RlIHwgQVQ5MV9TTUNfUkVBRE1PREUgfCBBVDkxX1NNQ19XUklURU1PREUgfCBBVDkxX1NNQ19FWE5XTU9ERV9ESVNBQkxFIHwgQVQ5MV9TTUNfVERGXygyKSk7CisJCWlmIChkYXRhLT5idXNfd2lkdGhfMTYpCisJCQltb2RlID0gQVQ5MV9TTUNfREJXXzE2OworCQllbHNlCisJCQltb2RlID0gQVQ5MV9TTUNfREJXXzg7CisJCWF0OTFfc3lzX3dyaXRlKEFUOTFfU01DX01PREUoMyksIG1vZGUgfCBBVDkxX1NNQ19SRUFETU9ERSB8IEFUOTFfU01DX1dSSVRFTU9ERSB8IEFUOTFfU01DX0VYTldNT0RFX0RJU0FCTEUgfCBBVDkxX1NNQ19UREZfKDIpKTsKKwl9CisKKwlpZiAoY3B1X2lzX2F0OTFzYW05ZzIwKCkpIHsKKwkJLyogVGltaW5nIGZvciBzYW05ZzIwICovCisJCS8qIHNldCB0aGUgYnVzIGludGVyZmFjZSBjaGFyYWN0ZXJpc3RpY3MgKi8KKwkJYXQ5MV9zeXNfd3JpdGUoQVQ5MV9TTUNfU0VUVVAoMyksIEFUOTFfU01DX05XRVNFVFVQXygyKSB8IEFUOTFfU01DX05DU19XUlNFVFVQXygwKQorCQkJCXwgQVQ5MV9TTUNfTlJEU0VUVVBfKDIpIHwgQVQ5MV9TTUNfTkNTX1JEU0VUVVBfKDApKTsKKworCQlhdDkxX3N5c193cml0ZShBVDkxX1NNQ19QVUxTRSgzKSwgQVQ5MV9TTUNfTldFUFVMU0VfKDQpIHwgQVQ5MV9TTUNfTkNTX1dSUFVMU0VfKDQpCisJCQkJfCBBVDkxX1NNQ19OUkRQVUxTRV8oNCkgfCBBVDkxX1NNQ19OQ1NfUkRQVUxTRV8oNCkpOworCisJCWF0OTFfc3lzX3dyaXRlKEFUOTFfU01DX0NZQ0xFKDMpLCBBVDkxX1NNQ19OV0VDWUNMRV8oNykgfCBBVDkxX1NNQ19OUkRDWUNMRV8oNykpOworCisJCWlmIChkYXRhLT5idXNfd2lkdGhfMTYpCisJCQltb2RlID0gQVQ5MV9TTUNfREJXXzE2OworCQllbHNlCisJCQltb2RlID0gQVQ5MV9TTUNfREJXXzg7CisJCWF0OTFfc3lzX3dyaXRlKEFUOTFfU01DX01PREUoMyksIG1vZGUgfCBBVDkxX1NNQ19SRUFETU9ERSB8IEFUOTFfU01DX1dSSVRFTU9ERSB8IEFUOTFfU01DX0VYTldNT0RFX0RJU0FCTEUgfCBBVDkxX1NNQ19UREZfKDMpKTsKKwl9CiAKIAkvKiBlbmFibGUgcGluICovCiAJaWYgKGRhdGEtPmVuYWJsZV9waW4pCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLWF0OTEvYXQ5MXNhbTkyNjFfZGV2aWNlcy5jIGIvYXJjaC9hcm0vbWFjaC1hdDkxL2F0OTFzYW05MjYxX2RldmljZXMuYwppbmRleCAwYmFiYjY0Li5lYzE4OTEzIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLWF0OTEvYXQ5MXNhbTkyNjFfZGV2aWNlcy5jCisrKyBiL2FyY2gvYXJtL21hY2gtYXQ5MS9hdDkxc2FtOTI2MV9kZXZpY2VzLmMKQEAgLTIzMiwxOSArMjMyLDE5IEBACiAJYXQ5MV9zeXNfd3JpdGUoQVQ5MV9NQVRSSVhfRUJJQ1NBLCBjc2EgfCBBVDkxX01BVFJJWF9DUzNBX1NNQ19TTUFSVE1FRElBKTsKIAogCS8qIHNldCB0aGUgYnVzIGludGVyZmFjZSBjaGFyYWN0ZXJpc3RpY3MgKi8KLQlhdDkxX3N5c193cml0ZShBVDkxX1NNQ19TRVRVUCgzKSwgQVQ5MV9TTUNfTldFU0VUVVBfKDApIHwgQVQ5MV9TTUNfTkNTX1dSU0VUVVBfKDApCi0JCQl8IEFUOTFfU01DX05SRFNFVFVQXygwKSB8IEFUOTFfU01DX05DU19SRFNFVFVQXygwKSk7CisJYXQ5MV9zeXNfd3JpdGUoQVQ5MV9TTUNfU0VUVVAoMyksIEFUOTFfU01DX05XRVNFVFVQXygxKSB8IEFUOTFfU01DX05DU19XUlNFVFVQXygwKQorCQkJfCBBVDkxX1NNQ19OUkRTRVRVUF8oMSkgfCBBVDkxX1NNQ19OQ1NfUkRTRVRVUF8oMCkpOwogCi0JYXQ5MV9zeXNfd3JpdGUoQVQ5MV9TTUNfUFVMU0UoMyksIEFUOTFfU01DX05XRVBVTFNFXygyKSB8IEFUOTFfU01DX05DU19XUlBVTFNFXyg1KQotCQkJfCBBVDkxX1NNQ19OUkRQVUxTRV8oMikgfCBBVDkxX1NNQ19OQ1NfUkRQVUxTRV8oNSkpOworCWF0OTFfc3lzX3dyaXRlKEFUOTFfU01DX1BVTFNFKDMpLCBBVDkxX1NNQ19OV0VQVUxTRV8oMykgfCBBVDkxX1NNQ19OQ1NfV1JQVUxTRV8oMykKKwkJCXwgQVQ5MV9TTUNfTlJEUFVMU0VfKDMpIHwgQVQ5MV9TTUNfTkNTX1JEUFVMU0VfKDMpKTsKIAotCWF0OTFfc3lzX3dyaXRlKEFUOTFfU01DX0NZQ0xFKDMpLCBBVDkxX1NNQ19OV0VDWUNMRV8oNykgfCBBVDkxX1NNQ19OUkRDWUNMRV8oNykpOworCWF0OTFfc3lzX3dyaXRlKEFUOTFfU01DX0NZQ0xFKDMpLCBBVDkxX1NNQ19OV0VDWUNMRV8oNSkgfCBBVDkxX1NNQ19OUkRDWUNMRV8oNSkpOwogCiAJaWYgKGRhdGEtPmJ1c193aWR0aF8xNikKIAkJbW9kZSA9IEFUOTFfU01DX0RCV18xNjsKIAllbHNlCiAJCW1vZGUgPSBBVDkxX1NNQ19EQldfODsKLQlhdDkxX3N5c193cml0ZShBVDkxX1NNQ19NT0RFKDMpLCBtb2RlIHwgQVQ5MV9TTUNfUkVBRE1PREUgfCBBVDkxX1NNQ19XUklURU1PREUgfCBBVDkxX1NNQ19FWE5XTU9ERV9ESVNBQkxFIHwgQVQ5MV9TTUNfVERGXygxKSk7CisJYXQ5MV9zeXNfd3JpdGUoQVQ5MV9TTUNfTU9ERSgzKSwgbW9kZSB8IEFUOTFfU01DX1JFQURNT0RFIHwgQVQ5MV9TTUNfV1JJVEVNT0RFIHwgQVQ5MV9TTUNfRVhOV01PREVfRElTQUJMRSB8IEFUOTFfU01DX1RERl8oMikpOwogCiAJLyogZW5hYmxlIHBpbiAqLwogCWlmIChkYXRhLT5lbmFibGVfcGluKQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1hdDkxL2F0OTFzYW05MjYzX2RldmljZXMuYyBiL2FyY2gvYXJtL21hY2gtYXQ5MS9hdDkxc2FtOTI2M19kZXZpY2VzLmMKaW5kZXggNzE5NjY3ZS4uOGE4MWY3NiAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1hdDkxL2F0OTFzYW05MjYzX2RldmljZXMuYworKysgYi9hcmNoL2FybS9tYWNoLWF0OTEvYXQ5MXNhbTkyNjNfZGV2aWNlcy5jCkBAIC0zOTEsOCArMzkxLDggQEAKIAlhdDkxX3N5c193cml0ZShBVDkxX01BVFJJWF9FQkkwQ1NBLCBjc2EgfCBBVDkxX01BVFJJWF9FQkkwX0NTM0FfU01DX1NNQVJUTUVESUEpOwogCiAJLyogc2V0IHRoZSBidXMgaW50ZXJmYWNlIGNoYXJhY3RlcmlzdGljcyAqLwotCWF0OTFfc3lzX3dyaXRlKEFUOTFfU01DX1NFVFVQKDMpLCBBVDkxX1NNQ19OV0VTRVRVUF8oMCkgfCBBVDkxX1NNQ19OQ1NfV1JTRVRVUF8oMCkKLQkJCXwgQVQ5MV9TTUNfTlJEU0VUVVBfKDApIHwgQVQ5MV9TTUNfTkNTX1JEU0VUVVBfKDApKTsKKwlhdDkxX3N5c193cml0ZShBVDkxX1NNQ19TRVRVUCgzKSwgQVQ5MV9TTUNfTldFU0VUVVBfKDEpIHwgQVQ5MV9TTUNfTkNTX1dSU0VUVVBfKDApCisJCQl8IEFUOTFfU01DX05SRFNFVFVQXygxKSB8IEFUOTFfU01DX05DU19SRFNFVFVQXygwKSk7CiAKIAlhdDkxX3N5c193cml0ZShBVDkxX1NNQ19QVUxTRSgzKSwgQVQ5MV9TTUNfTldFUFVMU0VfKDMpIHwgQVQ5MV9TTUNfTkNTX1dSUFVMU0VfKDMpCiAJCQl8IEFUOTFfU01DX05SRFBVTFNFXygzKSB8IEFUOTFfU01DX05DU19SRFBVTFNFXygzKSk7CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLWF0OTEvYXQ5MXNhbTlybF9kZXZpY2VzLmMgYi9hcmNoL2FybS9tYWNoLWF0OTEvYXQ5MXNhbTlybF9kZXZpY2VzLmMKaW5kZXggNDUwZGIzMC4uYWUyODEwMSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1hdDkxL2F0OTFzYW05cmxfZGV2aWNlcy5jCisrKyBiL2FyY2gvYXJtL21hY2gtYXQ5MS9hdDkxc2FtOXJsX2RldmljZXMuYwpAQCAtMjYsNiArMjYsMTAxIEBACiAKIAogLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqICBVU0IgSFMgRGV2aWNlIChHYWRnZXQpCisgKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLworCisjaWYgZGVmaW5lZChDT05GSUdfVVNCX0dBREdFVF9BVE1FTF9VU0JBKSB8fCBkZWZpbmVkKENPTkZJR19VU0JfR0FER0VUX0FUTUVMX1VTQkFfTU9EVUxFKQorCitzdGF0aWMgc3RydWN0IHJlc291cmNlIHVzYmFfdWRjX3Jlc291cmNlc1tdID0geworCVswXSA9IHsKKwkJLnN0YXJ0CT0gQVQ5MVNBTTlSTF9VRFBIU19GSUZPLAorCQkuZW5kCT0gQVQ5MVNBTTlSTF9VRFBIU19GSUZPICsgU1pfNTEySyAtIDEsCisJCS5mbGFncwk9IElPUkVTT1VSQ0VfTUVNLAorCX0sCisJWzFdID0geworCQkuc3RhcnQJPSBBVDkxU0FNOVJMX0JBU0VfVURQSFMsCisJCS5lbmQJPSBBVDkxU0FNOVJMX0JBU0VfVURQSFMgKyBTWl8xSyAtIDEsCisJCS5mbGFncwk9IElPUkVTT1VSQ0VfTUVNLAorCX0sCisJWzJdID0geworCQkuc3RhcnQJPSBBVDkxU0FNOVJMX0lEX1VEUEhTLAorCQkuZW5kCT0gQVQ5MVNBTTlSTF9JRF9VRFBIUywKKwkJLmZsYWdzCT0gSU9SRVNPVVJDRV9JUlEsCisJfSwKK307CisKKyNkZWZpbmUgRVAobmFtLCBpZHgsIG1heHBrdCwgbWF4YmssIGRtYSwgaXNvYykJCQlcCisJW2lkeF0gPSB7CQkJCQkJXAorCQkubmFtZQkJPSBuYW0sCQkJCVwKKwkJLmluZGV4CQk9IGlkeCwJCQkJXAorCQkuZmlmb19zaXplCT0gbWF4cGt0LAkJCVwKKwkJLm5yX2JhbmtzCT0gbWF4YmssCQkJXAorCQkuY2FuX2RtYQk9IGRtYSwJCQkJXAorCQkuY2FuX2lzb2MJPSBpc29jLAkJCQlcCisJfQorCitzdGF0aWMgc3RydWN0IHVzYmFfZXBfZGF0YSB1c2JhX3VkY19lcFtdIF9faW5pdGRhdGEgPSB7CisJRVAoImVwMCIsIDAsIDY0LCAxLCAwLCAwKSwKKwlFUCgiZXAxIiwgMSwgMTAyNCwgMiwgMSwgMSksCisJRVAoImVwMiIsIDIsIDEwMjQsIDIsIDEsIDEpLAorCUVQKCJlcDMiLCAzLCAxMDI0LCAzLCAxLCAwKSwKKwlFUCgiZXA0IiwgNCwgMTAyNCwgMywgMSwgMCksCisJRVAoImVwNSIsIDUsIDEwMjQsIDMsIDEsIDEpLAorCUVQKCJlcDYiLCA2LCAxMDI0LCAzLCAxLCAxKSwKK307CisKKyN1bmRlZiBFUAorCisvKgorICogcGRhdGEgZG9lc24ndCBoYXZlIHJvb20gZm9yIGFueSBlbmRwb2ludHMsIHNvIHdlIG5lZWQgdG8KKyAqIGFwcGVuZCByb29tIGZvciB0aGUgb25lcyB3ZSBuZWVkIHJpZ2h0IGFmdGVyIGl0LgorICovCitzdGF0aWMgc3RydWN0IHsKKwlzdHJ1Y3QgdXNiYV9wbGF0Zm9ybV9kYXRhIHBkYXRhOworCXN0cnVjdCB1c2JhX2VwX2RhdGEgZXBbN107Cit9IHVzYmFfdWRjX2RhdGE7CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIGF0OTFfdXNiYV91ZGNfZGV2aWNlID0geworCS5uYW1lCQk9ICJhdG1lbF91c2JhX3VkYyIsCisJLmlkCQk9IC0xLAorCS5kZXYJCT0geworCQkJCS5wbGF0Zm9ybV9kYXRhCT0gJnVzYmFfdWRjX2RhdGEucGRhdGEsCisJfSwKKwkucmVzb3VyY2UJPSB1c2JhX3VkY19yZXNvdXJjZXMsCisJLm51bV9yZXNvdXJjZXMJPSBBUlJBWV9TSVpFKHVzYmFfdWRjX3Jlc291cmNlcyksCit9OworCit2b2lkIF9faW5pdCBhdDkxX2FkZF9kZXZpY2VfdXNiYShzdHJ1Y3QgdXNiYV9wbGF0Zm9ybV9kYXRhICpkYXRhKQoreworCS8qCisJICogSW52YWxpZCBwaW5zIGFyZSAwIG9uIEFUOTEsIGJ1dCB0aGUgdXNiYSBkcml2ZXIgaXMgc2hhcmVkCisJICogd2l0aCBBVlIzMiwgd2hpY2ggdXNlIG5lZ2F0aXZlIHZhbHVlcyBpbnN0ZWFkLiBPbmNlL2lmCisJICogZ3Bpb19pc192YWxpZCgpIGlzIHBvcnRlZCB0byBBVDkxLCByZXZpc2l0IHRoaXMgY29kZS4KKwkgKi8KKwl1c2JhX3VkY19kYXRhLnBkYXRhLnZidXNfcGluID0gLUVJTlZBTDsKKwl1c2JhX3VkY19kYXRhLnBkYXRhLm51bV9lcCA9IEFSUkFZX1NJWkUodXNiYV91ZGNfZXApOworCW1lbWNweSh1c2JhX3VkY19kYXRhLmVwLCB1c2JhX3VkY19lcCwgc2l6ZW9mKHVzYmFfdWRjX2VwKSk7OworCisJaWYgKGRhdGEgJiYgZGF0YS0+dmJ1c19waW4gPiAwKSB7CisJCWF0OTFfc2V0X2dwaW9faW5wdXQoZGF0YS0+dmJ1c19waW4sIDApOworCQlhdDkxX3NldF9kZWdsaXRjaChkYXRhLT52YnVzX3BpbiwgMSk7CisJCXVzYmFfdWRjX2RhdGEucGRhdGEudmJ1c19waW4gPSBkYXRhLT52YnVzX3BpbjsKKwl9CisKKwkvKiBQdWxsdXAgcGluIGlzIGhhbmRsZWQgaW50ZXJuYWxseSBieSBVU0IgZGV2aWNlIHBlcmlwaGVyYWwgKi8KKworCS8qIENsb2NrcyAqLworCWF0OTFfY2xvY2tfYXNzb2NpYXRlKCJ1dG1pX2NsayIsICZhdDkxX3VzYmFfdWRjX2RldmljZS5kZXYsICJoY2xrIik7CisJYXQ5MV9jbG9ja19hc3NvY2lhdGUoInVkcGhzX2NsayIsICZhdDkxX3VzYmFfdWRjX2RldmljZS5kZXYsICJwY2xrIik7CisKKwlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJmF0OTFfdXNiYV91ZGNfZGV2aWNlKTsKK30KKyNlbHNlCit2b2lkIF9faW5pdCBhdDkxX2FkZF9kZXZpY2VfdXNiYShzdHJ1Y3QgdXNiYV9wbGF0Zm9ybV9kYXRhICpkYXRhKSB7fQorI2VuZGlmCisKKworLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAqICBNTUMgLyBTRAogICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KIApAQCAtMTM4LDE1ICsyMzMsMTUgQEAKIAlhdDkxX3N5c193cml0ZShBVDkxX01BVFJJWF9FQklDU0EsIGNzYSB8IEFUOTFfTUFUUklYX0NTM0FfU01DX1NNQVJUTUVESUEpOwogCiAJLyogc2V0IHRoZSBidXMgaW50ZXJmYWNlIGNoYXJhY3RlcmlzdGljcyAqLwotCWF0OTFfc3lzX3dyaXRlKEFUOTFfU01DX1NFVFVQKDMpLCBBVDkxX1NNQ19OV0VTRVRVUF8oMCkgfCBBVDkxX1NNQ19OQ1NfV1JTRVRVUF8oMCkKLQkJCXwgQVQ5MV9TTUNfTlJEU0VUVVBfKDApIHwgQVQ5MV9TTUNfTkNTX1JEU0VUVVBfKDApKTsKKwlhdDkxX3N5c193cml0ZShBVDkxX1NNQ19TRVRVUCgzKSwgQVQ5MV9TTUNfTldFU0VUVVBfKDEpIHwgQVQ5MV9TTUNfTkNTX1dSU0VUVVBfKDApCisJCQl8IEFUOTFfU01DX05SRFNFVFVQXygxKSB8IEFUOTFfU01DX05DU19SRFNFVFVQXygwKSk7CiAKLQlhdDkxX3N5c193cml0ZShBVDkxX1NNQ19QVUxTRSgzKSwgQVQ5MV9TTUNfTldFUFVMU0VfKDIpIHwgQVQ5MV9TTUNfTkNTX1dSUFVMU0VfKDUpCi0JCQl8IEFUOTFfU01DX05SRFBVTFNFXygyKSB8IEFUOTFfU01DX05DU19SRFBVTFNFXyg1KSk7CisJYXQ5MV9zeXNfd3JpdGUoQVQ5MV9TTUNfUFVMU0UoMyksIEFUOTFfU01DX05XRVBVTFNFXygzKSB8IEFUOTFfU01DX05DU19XUlBVTFNFXygzKQorCQkJfCBBVDkxX1NNQ19OUkRQVUxTRV8oMykgfCBBVDkxX1NNQ19OQ1NfUkRQVUxTRV8oMykpOwogCi0JYXQ5MV9zeXNfd3JpdGUoQVQ5MV9TTUNfQ1lDTEUoMyksIEFUOTFfU01DX05XRUNZQ0xFXyg3KSB8IEFUOTFfU01DX05SRENZQ0xFXyg3KSk7CisJYXQ5MV9zeXNfd3JpdGUoQVQ5MV9TTUNfQ1lDTEUoMyksIEFUOTFfU01DX05XRUNZQ0xFXyg1KSB8IEFUOTFfU01DX05SRENZQ0xFXyg1KSk7CiAKLQlhdDkxX3N5c193cml0ZShBVDkxX1NNQ19NT0RFKDMpLCBBVDkxX1NNQ19EQldfOCB8IEFUOTFfU01DX1JFQURNT0RFIHwgQVQ5MV9TTUNfV1JJVEVNT0RFIHwgQVQ5MV9TTUNfRVhOV01PREVfRElTQUJMRSB8IEFUOTFfU01DX1RERl8oMSkpOworCWF0OTFfc3lzX3dyaXRlKEFUOTFfU01DX01PREUoMyksIEFUOTFfU01DX0RCV184IHwgQVQ5MV9TTUNfUkVBRE1PREUgfCBBVDkxX1NNQ19XUklURU1PREUgfCBBVDkxX1NNQ19FWE5XTU9ERV9ESVNBQkxFIHwgQVQ5MV9TTUNfVERGXygyKSk7CiAKIAkvKiBlbmFibGUgcGluICovCiAJaWYgKGRhdGEtPmVuYWJsZV9waW4pCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLWF0OTEvYm9hcmQtY2FwOWFkay5jIGIvYXJjaC9hcm0vbWFjaC1hdDkxL2JvYXJkLWNhcDlhZGsuYwppbmRleCBlNTUxMmQxLi44YTJhOTU4IDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLWF0OTEvYm9hcmQtY2FwOWFkay5jCisrKyBiL2FyY2gvYXJtL21hY2gtYXQ5MS9ib2FyZC1jYXA5YWRrLmMKQEAgLTc4LDYgKzc4LDEyIEBACiAJLnBvcnRzCQk9IDIsCiB9OwogCisvKgorICogVVNCIEhTIERldmljZSBwb3J0CisgKi8KK3N0YXRpYyBzdHJ1Y3QgdXNiYV9wbGF0Zm9ybV9kYXRhIF9faW5pdGRhdGEgY2FwOWFka191c2JhX3VkY19kYXRhID0geworCS52YnVzX3Bpbgk9IEFUOTFfUElOX1BCMzEsCit9OwogCiAvKgogICogQURTNzg0NiBUb3VjaHNjcmVlbgpAQCAtMzI2LDYgKzMzMiw5IEBACiAJLyogVVNCIEhvc3QgKi8KIAlzZXRfaXJxX3R5cGUoQVQ5MUNBUDlfSURfVUhQLCBJUlFUX0hJR0gpOwogCWF0OTFfYWRkX2RldmljZV91c2JoKCZjYXA5YWRrX3VzYmhfZGF0YSk7CisJLyogVVNCIEhTICovCisJc2V0X2lycV90eXBlKEFUOTFDQVA5X0lEX1VEUEhTLCBJUlFUX0hJR0gpOworCWF0OTFfYWRkX2RldmljZV91c2JhKCZjYXA5YWRrX3VzYmFfdWRjX2RhdGEpOwogCS8qIFNQSSAqLwogCWF0OTFfYWRkX2RldmljZV9zcGkoY2FwOWFka19zcGlfZGV2aWNlcywgQVJSQVlfU0laRShjYXA5YWRrX3NwaV9kZXZpY2VzKSk7CiAJLyogVG91Y2hzY3JlZW4gKi8KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtYXQ5MS9ib2FyZC1jYXJtZXZhLmMgYi9hcmNoL2FybS9tYWNoLWF0OTEvYm9hcmQtY2FybWV2YS5jCmluZGV4IDBmMDg3ODI5Li45ODU0ZmMzIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLWF0OTEvYm9hcmQtY2FybWV2YS5jCisrKyBiL2FyY2gvYXJtL21hY2gtYXQ5MS9ib2FyZC1jYXJtZXZhLmMKQEAgLTQwLDI0ICs0MCwyMSBAQAogI2luY2x1ZGUgImdlbmVyaWMuaCIKIAogCi0vKgotICogU2VyaWFsIHBvcnQgY29uZmlndXJhdGlvbi4KLSAqICAgIDAgLi4gMyA9IFVTQVJUMCAuLiBVU0FSVDMKLSAqICAgIDQgICAgICA9IERCR1UKLSAqLwotc3RhdGljIHN0cnVjdCBhdDkxX3VhcnRfY29uZmlnIF9faW5pdGRhdGEgY2FybWV2YV91YXJ0X2NvbmZpZyA9IHsKLQkuY29uc29sZV90dHkJPSAwLAkJCQkvKiB0dHlTMCAqLwotCS5ucl90dHkJCT0gMiwKLQkudHR5X21hcAk9IHsgNCwgMSwgLTEsIC0xLCAtMSB9CQkvKiB0dHlTMCwgLi4uLCB0dHlTNCAqLwotfTsKLQogc3RhdGljIHZvaWQgX19pbml0IGNhcm1ldmFfbWFwX2lvKHZvaWQpCiB7CiAJLyogSW5pdGlhbGl6ZSBwcm9jZXNzb3I6IDIwLjAwMCBNSHogY3J5c3RhbCAqLwogCWF0OTFybTkyMDBfaW5pdGlhbGl6ZSgyMDAwMDAwMCwgQVQ5MVJNOTIwMF9CR0EpOwogCi0JLyogU2V0dXAgdGhlIHNlcmlhbCBwb3J0cyBhbmQgY29uc29sZSAqLwotCWF0OTFfaW5pdF9zZXJpYWwoJmNhcm1ldmFfdWFydF9jb25maWcpOworCS8qIERCR1Ugb24gdHR5UzAuIChSeCAmIFR4IG9ubHkpICovCisJYXQ5MV9yZWdpc3Rlcl91YXJ0KDAsIDAsIDApOworCisJLyogVVNBUlQxIG9uIHR0eVMxLiAoUngsIFR4LCBDVFMsIFJUUywgRFRSLCBEU1IsIERDRCwgUkkpICovCisJYXQ5MV9yZWdpc3Rlcl91YXJ0KEFUOTFSTTkyMDBfSURfVVMxLCAxLCBBVE1FTF9VQVJUX0NUUyB8IEFUTUVMX1VBUlRfUlRTCisJCQkgICB8IEFUTUVMX1VBUlRfRFRSIHwgQVRNRUxfVUFSVF9EU1IgfCBBVE1FTF9VQVJUX0RDRAorCQkJICAgfCBBVE1FTF9VQVJUX1JJKTsKKworCS8qIHNldCBzZXJpYWwgY29uc29sZSB0byB0dHlTMCAoaWUsIERCR1UpICovCisJYXQ5MV9zZXRfc2VyaWFsX2NvbnNvbGUoMCk7CiB9CiAKIHN0YXRpYyB2b2lkIF9faW5pdCBjYXJtZXZhX2luaXRfaXJxKHZvaWQpCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLWF0OTEvYm9hcmQtY3NiNjM3LmMgYi9hcmNoL2FybS9tYWNoLWF0OTEvYm9hcmQtY3NiNjM3LmMKaW5kZXggNDE5ZmQxOS4uYmIxYTU0NyAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1hdDkxL2JvYXJkLWNzYjYzNy5jCisrKyBiL2FyY2gvYXJtL21hY2gtYXQ5MS9ib2FyZC1jc2I2MzcuYwpAQCAtNDUsMTAgKzQ1LDEwIEBACiAJLyogSW5pdGlhbGl6ZSBwcm9jZXNzb3I6IDMuNjg2NCBNSHogY3J5c3RhbCAqLwogCWF0OTFybTkyMDBfaW5pdGlhbGl6ZSgzNjg2NDAwLCBBVDkxUk05MjAwX0JHQSk7CiAKLQkvKiBEQkdVIG9uIHR0eVMwICovCisJLyogREJHVSBvbiB0dHlTMC4gKFJ4ICYgVHggb25seSkgKi8KIAlhdDkxX3JlZ2lzdGVyX3VhcnQoMCwgMCwgMCk7CiAKLQkvKiBtYWtlIGNvbnNvbGU9dHR5UzAgdGhlIGRlZmF1bHQgKi8KKwkvKiBtYWtlIGNvbnNvbGU9dHR5UzAgKGllLCBEQkdVKSB0aGUgZGVmYXVsdCAqLwogCWF0OTFfc2V0X3NlcmlhbF9jb25zb2xlKDApOwogfQogCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLWF0OTEvYm9hcmQtZGsuYyBiL2FyY2gvYXJtL21hY2gtYXQ5MS9ib2FyZC1kay5jCmluZGV4IGMxYTgxM2MuLmRhYjk1OGQgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtYXQ5MS9ib2FyZC1kay5jCisrKyBiL2FyY2gvYXJtL21hY2gtYXQ5MS9ib2FyZC1kay5jCkBAIC00NSwxNyArNDUsNiBAQAogI2luY2x1ZGUgImdlbmVyaWMuaCIKIAogCi0vKgotICogU2VyaWFsIHBvcnQgY29uZmlndXJhdGlvbi4KLSAqICAgIDAgLi4gMyA9IFVTQVJUMCAuLiBVU0FSVDMKLSAqICAgIDQgICAgICA9IERCR1UKLSAqLwotc3RhdGljIHN0cnVjdCBhdDkxX3VhcnRfY29uZmlnIF9faW5pdGRhdGEgZGtfdWFydF9jb25maWcgPSB7Ci0JLmNvbnNvbGVfdHR5CT0gMCwJCQkJLyogdHR5UzAgKi8KLQkubnJfdHR5CQk9IDIsCi0JLnR0eV9tYXAJPSB7IDQsIDEsIC0xLCAtMSwgLTEgfQkJLyogdHR5UzAsIC4uLiwgdHR5UzQgKi8KLX07Ci0KIHN0YXRpYyB2b2lkIF9faW5pdCBka19tYXBfaW8odm9pZCkKIHsKIAkvKiBJbml0aWFsaXplIHByb2Nlc3NvcjogMTguNDMyIE1IeiBjcnlzdGFsICovCkBAIC02NCw4ICs1MywxNiBAQAogCS8qIFNldHVwIHRoZSBMRURzICovCiAJYXQ5MV9pbml0X2xlZHMoQVQ5MV9QSU5fUEIyLCBBVDkxX1BJTl9QQjIpOwogCi0JLyogU2V0dXAgdGhlIHNlcmlhbCBwb3J0cyBhbmQgY29uc29sZSAqLwotCWF0OTFfaW5pdF9zZXJpYWwoJmRrX3VhcnRfY29uZmlnKTsKKwkvKiBEQkdVIG9uIHR0eVMwLiAoUnggJiBUeCBvbmx5KSAqLworCWF0OTFfcmVnaXN0ZXJfdWFydCgwLCAwLCAwKTsKKworCS8qIFVTQVJUMSBvbiB0dHlTMS4gKFJ4LCBUeCwgQ1RTLCBSVFMsIERUUiwgRFNSLCBEQ0QsIFJJKSAqLworCWF0OTFfcmVnaXN0ZXJfdWFydChBVDkxUk05MjAwX0lEX1VTMSwgMSwgQVRNRUxfVUFSVF9DVFMgfCBBVE1FTF9VQVJUX1JUUworCQkJICAgfCBBVE1FTF9VQVJUX0RUUiB8IEFUTUVMX1VBUlRfRFNSIHwgQVRNRUxfVUFSVF9EQ0QKKwkJCSAgIHwgQVRNRUxfVUFSVF9SSSk7CisKKwkvKiBzZXQgc2VyaWFsIGNvbnNvbGUgdG8gdHR5UzAgKGllLCBEQkdVKSAqLworCWF0OTFfc2V0X3NlcmlhbF9jb25zb2xlKDApOwogfQogCiBzdGF0aWMgdm9pZCBfX2luaXQgZGtfaW5pdF9pcnEodm9pZCkKQEAgLTE2Myw3ICsxNjAsNyBAQAogI2RlZmluZSBES19GTEFTSF9TSVpFCTB4MjAwMDAwCiAKIHN0YXRpYyBzdHJ1Y3QgcGh5c21hcF9mbGFzaF9kYXRhIGRrX2ZsYXNoX2RhdGEgPSB7Ci0JLndpZHRoCT0gMiwKKwkud2lkdGgJCT0gMiwKIH07CiAKIHN0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgZGtfZmxhc2hfcmVzb3VyY2UgPSB7CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLWF0OTEvYm9hcmQtZWI5MjAwLmMgYi9hcmNoL2FybS9tYWNoLWF0OTEvYm9hcmQtZWI5MjAwLmMKaW5kZXggYWYxYTFkOC4uM2ZlMDU0ZSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1hdDkxL2JvYXJkLWViOTIwMC5jCisrKyBiL2FyY2gvYXJtL21hY2gtYXQ5MS9ib2FyZC1lYjkyMDAuYwpAQCAtNDAsMjQgKzQwLDI0IEBACiAjaW5jbHVkZSAiZ2VuZXJpYy5oIgogCiAKLS8qCi0gKiBTZXJpYWwgcG9ydCBjb25maWd1cmF0aW9uLgotICogICAgMCAuLiAzID0gVVNBUlQwIC4uIFVTQVJUMwotICogICAgNCAgICAgID0gREJHVQotICovCi1zdGF0aWMgc3RydWN0IGF0OTFfdWFydF9jb25maWcgX19pbml0ZGF0YSBlYjkyMDBfdWFydF9jb25maWcgPSB7Ci0JLmNvbnNvbGVfdHR5CT0gMCwJCQkJLyogdHR5UzAgKi8KLQkubnJfdHR5CQk9IDIsCi0JLnR0eV9tYXAJPSB7IDQsIDEsIC0xLCAtMSwgLTEgfQkJLyogdHR5UzAsIC4uLiwgdHR5UzQgKi8KLX07Ci0KIHN0YXRpYyB2b2lkIF9faW5pdCBlYjkyMDBfbWFwX2lvKHZvaWQpCiB7CiAJLyogSW5pdGlhbGl6ZSBwcm9jZXNzb3I6IDE4LjQzMiBNSHogY3J5c3RhbCAqLwogCWF0OTFybTkyMDBfaW5pdGlhbGl6ZSgxODQzMjAwMCwgQVQ5MVJNOTIwMF9CR0EpOwogCi0JLyogU2V0dXAgdGhlIHNlcmlhbCBwb3J0cyBhbmQgY29uc29sZSAqLwotCWF0OTFfaW5pdF9zZXJpYWwoJmViOTIwMF91YXJ0X2NvbmZpZyk7CisJLyogREJHVSBvbiB0dHlTMC4gKFJ4ICYgVHggb25seSkgKi8KKwlhdDkxX3JlZ2lzdGVyX3VhcnQoMCwgMCwgMCk7CisKKwkvKiBVU0FSVDEgb24gdHR5UzEuIChSeCwgVHgsIENUUywgUlRTLCBEVFIsIERTUiwgRENELCBSSSkgKi8KKwlhdDkxX3JlZ2lzdGVyX3VhcnQoQVQ5MVJNOTIwMF9JRF9VUzEsIDEsIEFUTUVMX1VBUlRfQ1RTIHwgQVRNRUxfVUFSVF9SVFMKKwkJCXwgQVRNRUxfVUFSVF9EVFIgfCBBVE1FTF9VQVJUX0RTUiB8IEFUTUVMX1VBUlRfRENECisJCQl8IEFUTUVMX1VBUlRfUkkpOworCisJLyogVVNBUlQyIG9uIHR0eVMyLiAoUngsIFR4KSAtIElSREEgKi8KKwlhdDkxX3JlZ2lzdGVyX3VhcnQoQVQ5MVJNOTIwMF9JRF9VUzIsIDIsIDApOworCisJLyogc2V0IHNlcmlhbCBjb25zb2xlIHRvIHR0eVMwIChpZSwgREJHVSkgKi8KKwlhdDkxX3NldF9zZXJpYWxfY29uc29sZSgwKTsKIH0KIAogc3RhdGljIHZvaWQgX19pbml0IGViOTIwMF9pbml0X2lycSh2b2lkKQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1hdDkxL2JvYXJkLWVrLmMgYi9hcmNoL2FybS9tYWNoLWF0OTEvYm9hcmQtZWsuYwppbmRleCAwNTc0ZTUwLi43NGFhNDMyIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLWF0OTEvYm9hcmQtZWsuYworKysgYi9hcmNoL2FybS9tYWNoLWF0OTEvYm9hcmQtZWsuYwpAQCAtNDUsMTcgKzQ1LDYgQEAKICNpbmNsdWRlICJnZW5lcmljLmgiCiAKIAotLyoKLSAqIFNlcmlhbCBwb3J0IGNvbmZpZ3VyYXRpb24uCi0gKiAgICAwIC4uIDMgPSBVU0FSVDAgLi4gVVNBUlQzCi0gKiAgICA0ICAgICAgPSBEQkdVCi0gKi8KLXN0YXRpYyBzdHJ1Y3QgYXQ5MV91YXJ0X2NvbmZpZyBfX2luaXRkYXRhIGVrX3VhcnRfY29uZmlnID0gewotCS5jb25zb2xlX3R0eQk9IDAsCQkJCS8qIHR0eVMwICovCi0JLm5yX3R0eQkJPSAyLAotCS50dHlfbWFwCT0geyA0LCAxLCAtMSwgLTEsIC0xIH0JCS8qIHR0eVMwLCAuLi4sIHR0eVM0ICovCi19OwotCiBzdGF0aWMgdm9pZCBfX2luaXQgZWtfbWFwX2lvKHZvaWQpCiB7CiAJLyogSW5pdGlhbGl6ZSBwcm9jZXNzb3I6IDE4LjQzMiBNSHogY3J5c3RhbCAqLwpAQCAtNjQsOCArNTMsMTYgQEAKIAkvKiBTZXR1cCB0aGUgTEVEcyAqLwogCWF0OTFfaW5pdF9sZWRzKEFUOTFfUElOX1BCMSwgQVQ5MV9QSU5fUEIyKTsKIAotCS8qIFNldHVwIHRoZSBzZXJpYWwgcG9ydHMgYW5kIGNvbnNvbGUgKi8KLQlhdDkxX2luaXRfc2VyaWFsKCZla191YXJ0X2NvbmZpZyk7CisJLyogREJHVSBvbiB0dHlTMC4gKFJ4ICYgVHggb25seSkgKi8KKwlhdDkxX3JlZ2lzdGVyX3VhcnQoMCwgMCwgMCk7CisKKwkvKiBVU0FSVDEgb24gdHR5UzEuIChSeCwgVHgsIENUUywgUlRTLCBEVFIsIERTUiwgRENELCBSSSkgKi8KKwlhdDkxX3JlZ2lzdGVyX3VhcnQoQVQ5MVJNOTIwMF9JRF9VUzEsIDEsIEFUTUVMX1VBUlRfQ1RTIHwgQVRNRUxfVUFSVF9SVFMKKwkJCSAgIHwgQVRNRUxfVUFSVF9EVFIgfCBBVE1FTF9VQVJUX0RTUiB8IEFUTUVMX1VBUlRfRENECisJCQkgICB8IEFUTUVMX1VBUlRfUkkpOworCisJLyogc2V0IHNlcmlhbCBjb25zb2xlIHRvIHR0eVMwIChpZSwgREJHVSkgKi8KKwlhdDkxX3NldF9zZXJpYWxfY29uc29sZSgwKTsKIH0KIAogc3RhdGljIHZvaWQgX19pbml0IGVrX2luaXRfaXJxKHZvaWQpCkBAIC0xMjIsNyArMTE5LDcgQEAKICNkZWZpbmUgRUtfRkxBU0hfU0laRQkweDIwMDAwMAogCiBzdGF0aWMgc3RydWN0IHBoeXNtYXBfZmxhc2hfZGF0YSBla19mbGFzaF9kYXRhID0gewotCS53aWR0aAk9IDIsCisJLndpZHRoCQk9IDIsCiB9OwogCiBzdGF0aWMgc3RydWN0IHJlc291cmNlIGVrX2ZsYXNoX3Jlc291cmNlID0gewpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1hdDkxL2JvYXJkLWtiOTIwMi5jIGIvYXJjaC9hcm0vbWFjaC1hdDkxL2JvYXJkLWtiOTIwMi5jCmluZGV4IDRiMzliOWMuLmNiMDY1ZmUgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtYXQ5MS9ib2FyZC1rYjkyMDIuYworKysgYi9hcmNoL2FybS9tYWNoLWF0OTEvYm9hcmQta2I5MjAyLmMKQEAgLTM3LDIwICszNywxMSBAQAogI2luY2x1ZGUgPGFzbS9hcmNoL2JvYXJkLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvZ3Bpby5oPgogCisjaW5jbHVkZSA8YXNtL2FyY2gvYXQ5MXJtOTIwMF9tYy5oPgorCiAjaW5jbHVkZSAiZ2VuZXJpYy5oIgogCiAKLS8qCi0gKiBTZXJpYWwgcG9ydCBjb25maWd1cmF0aW9uLgotICogICAgMCAuLiAzID0gVVNBUlQwIC4uIFVTQVJUMwotICogICAgNCAgICAgID0gREJHVQotICovCi1zdGF0aWMgc3RydWN0IGF0OTFfdWFydF9jb25maWcgX19pbml0ZGF0YSBrYjkyMDJfdWFydF9jb25maWcgPSB7Ci0JLmNvbnNvbGVfdHR5CT0gMCwJCQkJCS8qIHR0eVMwICovCi0JLm5yX3R0eQkJPSAzLAotCS50dHlfbWFwCT0geyA0LCAwLCAxLCAtMSwgLTEgfQkJCS8qIHR0eVMwLCAuLi4sIHR0eVM0ICovCi19OwotCiBzdGF0aWMgdm9pZCBfX2luaXQga2I5MjAyX21hcF9pbyh2b2lkKQogewogCS8qIEluaXRpYWxpemUgcHJvY2Vzc29yOiAxMCBNSHogY3J5c3RhbCAqLwpAQCAtNTksOCArNTAsMjAgQEAKIAkvKiBTZXQgdXAgdGhlIExFRHMgKi8KIAlhdDkxX2luaXRfbGVkcyhBVDkxX1BJTl9QQzE5LCBBVDkxX1BJTl9QQzE4KTsKIAotCS8qIFNldHVwIHRoZSBzZXJpYWwgcG9ydHMgYW5kIGNvbnNvbGUgKi8KLQlhdDkxX2luaXRfc2VyaWFsKCZrYjkyMDJfdWFydF9jb25maWcpOworCS8qIERCR1Ugb24gdHR5UzAuIChSeCAmIFR4IG9ubHkpICovCisJYXQ5MV9yZWdpc3Rlcl91YXJ0KDAsIDAsIDApOworCisJLyogVVNBUlQwIG9uIHR0eVMxIChSeCAmIFR4IG9ubHkpICovCisJYXQ5MV9yZWdpc3Rlcl91YXJ0KEFUOTFSTTkyMDBfSURfVVMwLCAxLCAwKTsKKworCS8qIFVTQVJUMSBvbiB0dHlTMiAoUnggJiBUeCBvbmx5KSAtIElSREEgKG9wdGlvbmFsKSAqLworCWF0OTFfcmVnaXN0ZXJfdWFydChBVDkxUk05MjAwX0lEX1VTMSwgMiwgMCk7CisKKwkvKiBVU0FSVDMgb24gdHR5UzMgKFJ4LCBUeCwgQ1RTLCBSVFMpIC0gUlM0ODUgKG9wdGlvbmFsKSAqLworCWF0OTFfcmVnaXN0ZXJfdWFydChBVDkxUk05MjAwX0lEX1VTMywgMywgQVRNRUxfVUFSVF9DVFMgfCBBVE1FTF9VQVJUX1JUUyk7CisKKwkvKiBzZXQgc2VyaWFsIGNvbnNvbGUgdG8gdHR5UzAgKGllLCBEQkdVKSAqLworCWF0OTFfc2V0X3NlcmlhbF9jb25zb2xlKDApOwogfQogCiBzdGF0aWMgdm9pZCBfX2luaXQga2I5MjAyX2luaXRfaXJxKHZvaWQpCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLWF0OTEvYm9hcmQtcWlsLWE5MjYwLmMgYi9hcmNoL2FybS9tYWNoLWF0OTEvYm9hcmQtcWlsLWE5MjYwLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTliNGVjMwotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gtYXQ5MS9ib2FyZC1xaWwtYTkyNjAuYwpAQCAtMCwwICsxLDI1NSBAQAorLyoKKyAqIGxpbnV4L2FyY2gvYXJtL21hY2gtYXQ5MS9ib2FyZC1xaWwtYTkyNjAuYworICoKKyAqICBDb3B5cmlnaHQgKEMpIDIwMDUgU0FOIFBlb3BsZQorICogIENvcHlyaWdodCAoQykgMjAwNiBBdG1lbAorICogIENvcHlyaWdodCAoQykgMjAwNyBDYWxhby1zeXN0ZW1zCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQorICovCisKKyNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9tbS5oPgorI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L3NwaS9zcGkuaD4KKyNpbmNsdWRlIDxsaW51eC9ncGlvX2tleXMuaD4KKyNpbmNsdWRlIDxsaW51eC9pbnB1dC5oPgorI2luY2x1ZGUgPGxpbnV4L2Nsay5oPgorCisjaW5jbHVkZSA8YXNtL2hhcmR3YXJlLmg+CisjaW5jbHVkZSA8YXNtL3NldHVwLmg+CisjaW5jbHVkZSA8YXNtL21hY2gtdHlwZXMuaD4KKyNpbmNsdWRlIDxhc20vaXJxLmg+CisKKyNpbmNsdWRlIDxhc20vbWFjaC9hcmNoLmg+CisjaW5jbHVkZSA8YXNtL21hY2gvbWFwLmg+CisjaW5jbHVkZSA8YXNtL21hY2gvaXJxLmg+CisKKyNpbmNsdWRlIDxhc20vYXJjaC9ib2FyZC5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2dwaW8uaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9hdDkxX3NoZHdjLmg+CisKKyNpbmNsdWRlICJnZW5lcmljLmgiCisKKworc3RhdGljIHZvaWQgX19pbml0IGVrX21hcF9pbyh2b2lkKQoreworCS8qIEluaXRpYWxpemUgcHJvY2Vzc29yOiAxMi4wMDAgTUh6IGNyeXN0YWwgKi8KKwlhdDkxc2FtOTI2MF9pbml0aWFsaXplKDEyMDAwMDAwKTsKKworCS8qIERHQlUgb24gdHR5UzAuIChSeCAmIFR4IG9ubHkpICovCisJYXQ5MV9yZWdpc3Rlcl91YXJ0KDAsIDAsIDApOworCisJLyogVVNBUlQwIG9uIHR0eVMxLiAoUngsIFR4LCBDVFMsIFJUUywgRFRSLCBEU1IsIERDRCwgUkkpICovCisJYXQ5MV9yZWdpc3Rlcl91YXJ0KEFUOTFTQU05MjYwX0lEX1VTMCwgMSwgQVRNRUxfVUFSVF9DVFMgfCBBVE1FTF9VQVJUX1JUUworCQkJICAgfCBBVE1FTF9VQVJUX0RUUiB8IEFUTUVMX1VBUlRfRFNSIHwgQVRNRUxfVUFSVF9EQ0QKKwkJCSAgIHwgQVRNRUxfVUFSVF9SSSk7CisKKwkvKiBVU0FSVDEgb24gdHR5UzIuIChSeCwgVHgsIENUUywgUlRTKSAqLworCWF0OTFfcmVnaXN0ZXJfdWFydChBVDkxU0FNOTI2MF9JRF9VUzEsIDIsIEFUTUVMX1VBUlRfQ1RTIHwgQVRNRUxfVUFSVF9SVFMpOworCisJLyogVVNBUlQyIG9uIHR0eVMzLiAoUngsIFR4LCBDVFMsIFJUUykgKi8KKwlhdDkxX3JlZ2lzdGVyX3VhcnQoQVQ5MVNBTTkyNjBfSURfVVMyLCAzLCBBVE1FTF9VQVJUX0NUUyB8IEFUTUVMX1VBUlRfUlRTKTsKKworCS8qIHNldCBzZXJpYWwgY29uc29sZSB0byB0dHlTMSAoaWUsIFVTQVJUMCkgKi8KKwlhdDkxX3NldF9zZXJpYWxfY29uc29sZSgxKTsKKworfQorCitzdGF0aWMgdm9pZCBfX2luaXQgZWtfaW5pdF9pcnEodm9pZCkKK3sKKwlhdDkxc2FtOTI2MF9pbml0X2ludGVycnVwdHMoTlVMTCk7Cit9CisKKworLyoKKyAqIFVTQiBIb3N0IHBvcnQKKyAqLworc3RhdGljIHN0cnVjdCBhdDkxX3VzYmhfZGF0YSBfX2luaXRkYXRhIGVrX3VzYmhfZGF0YSA9IHsKKwkucG9ydHMJCT0gMiwKK307CisKKy8qCisgKiBVU0IgRGV2aWNlIHBvcnQKKyAqLworc3RhdGljIHN0cnVjdCBhdDkxX3VkY19kYXRhIF9faW5pdGRhdGEgZWtfdWRjX2RhdGEgPSB7CisJLnZidXNfcGluCT0gQVQ5MV9QSU5fUEM1LAorCS5wdWxsdXBfcGluCT0gMCwJCS8qIHB1bGwtdXAgZHJpdmVuIGJ5IFVEQyAqLworfTsKKworLyoKKyAqIFNQSSBkZXZpY2VzLgorICovCitzdGF0aWMgc3RydWN0IHNwaV9ib2FyZF9pbmZvIGVrX3NwaV9kZXZpY2VzW10gPSB7CisjaWYgZGVmaW5lZChDT05GSUdfUlRDX0RSVl9NNDFUOTQpCisJewkvKiBNNDFUOTQgUlRDICovCisJCS5tb2RhbGlhcwk9ICJtNDF0OTQiLAorCQkuY2hpcF9zZWxlY3QJPSAwLAorCQkubWF4X3NwZWVkX2h6CT0gMSAqIDEwMDAgKiAxMDAwLAorCQkuYnVzX251bQk9IDAsCisJfQorI2VuZGlmCit9OworCisvKgorICogTUFDQiBFdGhlcm5ldCBkZXZpY2UKKyAqLworc3RhdGljIHN0cnVjdCBhdDkxX2V0aF9kYXRhIF9faW5pdGRhdGEgZWtfbWFjYl9kYXRhID0geworCS5waHlfaXJxX3Bpbgk9IEFUOTFfUElOX1BBMzEsCisJLmlzX3JtaWkJPSAxLAorfTsKKworLyoKKyAqIE5BTkQgZmxhc2gKKyAqLworc3RhdGljIHN0cnVjdCBtdGRfcGFydGl0aW9uIF9faW5pdGRhdGEgZWtfbmFuZF9wYXJ0aXRpb25bXSA9IHsKKwl7CisJCS5uYW1lCT0gIlVib290ICYgS2VybmVsIiwKKwkJLm9mZnNldAk9IDB4MDAwMDAwMDAsCisJCS5zaXplCT0gMTYgKiAxMDI0ICogMTAyNCwKKwl9LAorCXsKKwkJLm5hbWUJPSAiUm9vdCBGUyIsCisJCS5vZmZzZXQJPSAweDAxMDAwMDAwLAorCQkuc2l6ZQk9IDEyMCAqIDEwMjQgKiAxMDI0LAorCX0sCisJeworCQkubmFtZQk9ICJGUyIsCisJCS5vZmZzZXQJPSAweDA4ODAwMDAwLAorCQkuc2l6ZQk9IDEyMCAqIDEwMjQgKiAxMDI0LAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IG10ZF9wYXJ0aXRpb24gKiBfX2luaXQgbmFuZF9wYXJ0aXRpb25zKGludCBzaXplLCBpbnQgKm51bV9wYXJ0aXRpb25zKQoreworCSpudW1fcGFydGl0aW9ucyA9IEFSUkFZX1NJWkUoZWtfbmFuZF9wYXJ0aXRpb24pOworCXJldHVybiBla19uYW5kX3BhcnRpdGlvbjsKK30KKworc3RhdGljIHN0cnVjdCBhdDkxX25hbmRfZGF0YSBfX2luaXRkYXRhIGVrX25hbmRfZGF0YSA9IHsKKwkuYWxlCQk9IDIxLAorCS5jbGUJCT0gMjIsCisvLwkuZGV0X3Bpbgk9IC4uLiBub3QgY29ubmVjdGVkCisJLnJkeV9waW4JPSBBVDkxX1BJTl9QQzEzLAorCS5lbmFibGVfcGluCT0gQVQ5MV9QSU5fUEMxNCwKKwkucGFydGl0aW9uX2luZm8JPSBuYW5kX3BhcnRpdGlvbnMsCisjaWYgZGVmaW5lZChDT05GSUdfTVREX05BTkRfQVQ5MV9CVVNXSURUSF8xNikKKwkuYnVzX3dpZHRoXzE2CT0gMSwKKyNlbHNlCisJLmJ1c193aWR0aF8xNgk9IDAsCisjZW5kaWYKK307CisKKy8qCisgKiBNQ0kgKFNEL01NQykKKyAqLworc3RhdGljIHN0cnVjdCBhdDkxX21tY19kYXRhIF9faW5pdGRhdGEgZWtfbW1jX2RhdGEgPSB7CisJLnNsb3RfYgkJPSAwLAorCS53aXJlNAkJPSAxLAorLy8JLmRldF9waW4JPSAuLi4gbm90IGNvbm5lY3RlZAorLy8JLndwX3BpbgkJPSAuLi4gbm90IGNvbm5lY3RlZAorLy8JLnZjY19waW4JPSAuLi4gbm90IGNvbm5lY3RlZAorfTsKKworLyoKKyAqIEdQSU8gQnV0dG9ucworICovCisjaWYgZGVmaW5lZChDT05GSUdfS0VZQk9BUkRfR1BJTykgfHwgZGVmaW5lZChDT05GSUdfS0VZQk9BUkRfR1BJT19NT0RVTEUpCitzdGF0aWMgc3RydWN0IGdwaW9fa2V5c19idXR0b24gZWtfYnV0dG9uc1tdID0geworCXsJLyogVVNFUiBQVVNIIEJVVFRPTiAqLworCQkuY29kZQkJPSBLRVlfRU5URVIsCisJCS5ncGlvCQk9IEFUOTFfUElOX1BCMTAsCisJCS5hY3RpdmVfbG93CT0gMSwKKwkJLmRlc2MJCT0gInVzZXJfcGIiLAorCQkud2FrZXVwCQk9IDEsCisJfQorfTsKKworc3RhdGljIHN0cnVjdCBncGlvX2tleXNfcGxhdGZvcm1fZGF0YSBla19idXR0b25fZGF0YSA9IHsKKwkuYnV0dG9ucwk9IGVrX2J1dHRvbnMsCisJLm5idXR0b25zCT0gQVJSQVlfU0laRShla19idXR0b25zKSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIGVrX2J1dHRvbl9kZXZpY2UgPSB7CisJLm5hbWUJCT0gImdwaW8ta2V5cyIsCisJLmlkCQk9IC0xLAorCS5udW1fcmVzb3VyY2VzCT0gMCwKKwkuZGV2CQk9IHsKKwkJLnBsYXRmb3JtX2RhdGEJPSAmZWtfYnV0dG9uX2RhdGEsCisJfQorfTsKKworc3RhdGljIHZvaWQgX19pbml0IGVrX2FkZF9kZXZpY2VfYnV0dG9ucyh2b2lkKQoreworCWF0OTFfc2V0X0dQSU9fcGVyaXBoKEFUOTFfUElOX1BCMTAsIDEpOwkvKiB1c2VyIHB1c2ggYnV0dG9uLCBwdWxsIHVwIGVuYWJsZWQgKi8KKwlhdDkxX3NldF9kZWdsaXRjaChBVDkxX1BJTl9QQjEwLCAxKTsKKworCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmZWtfYnV0dG9uX2RldmljZSk7Cit9CisjZWxzZQorc3RhdGljIHZvaWQgX19pbml0IGVrX2FkZF9kZXZpY2VfYnV0dG9ucyh2b2lkKSB7fQorI2VuZGlmCisKKy8qCisgKiBMRURzCisgKi8KK3N0YXRpYyBzdHJ1Y3QgZ3Bpb19sZWQgZWtfbGVkc1tdID0geworCXsJLyogdXNlcl9sZWQgKGdyZWVuKSAqLworCQkubmFtZQkJCT0gInVzZXJfbGVkIiwKKwkJLmdwaW8JCQk9IEFUOTFfUElOX1BCMjEsCisJCS5hY3RpdmVfbG93CQk9IDAsCisJCS5kZWZhdWx0X3RyaWdnZXIJPSAiaGVhcnRiZWF0IiwKKwl9Cit9OworCitzdGF0aWMgdm9pZCBfX2luaXQgZWtfYm9hcmRfaW5pdCh2b2lkKQoreworCS8qIFNlcmlhbCAqLworCWF0OTFfYWRkX2RldmljZV9zZXJpYWwoKTsKKwkvKiBVU0IgSG9zdCAqLworCWF0OTFfYWRkX2RldmljZV91c2JoKCZla191c2JoX2RhdGEpOworCS8qIFVTQiBEZXZpY2UgKi8KKwlhdDkxX2FkZF9kZXZpY2VfdWRjKCZla191ZGNfZGF0YSk7CisJLyogU1BJICovCisJYXQ5MV9hZGRfZGV2aWNlX3NwaShla19zcGlfZGV2aWNlcywgQVJSQVlfU0laRShla19zcGlfZGV2aWNlcykpOworCS8qIE5BTkQgKi8KKwlhdDkxX2FkZF9kZXZpY2VfbmFuZCgmZWtfbmFuZF9kYXRhKTsKKwkvKiBJMkMgKi8KKwlhdDkxX2FkZF9kZXZpY2VfaTJjKE5VTEwsIDApOworCS8qIEV0aGVybmV0ICovCisJYXQ5MV9hZGRfZGV2aWNlX2V0aCgmZWtfbWFjYl9kYXRhKTsKKwkvKiBNTUMgKi8KKwlhdDkxX2FkZF9kZXZpY2VfbW1jKDAsICZla19tbWNfZGF0YSk7CisJLyogUHVzaCBCdXR0b25zICovCisJZWtfYWRkX2RldmljZV9idXR0b25zKCk7CisJLyogTEVEcyAqLworCWF0OTFfZ3Bpb19sZWRzKGVrX2xlZHMsIEFSUkFZX1NJWkUoZWtfbGVkcykpOworCS8qIHNodXRkb3duIGNvbnRyb2xsZXIsIHdha2V1cCBidXR0b24gKDUgbXNlYyBsb3cpICovCisJYXQ5MV9zeXNfd3JpdGUoQVQ5MV9TSERXX01SLCBBVDkxX1NIRFdfQ1BUV0swXygxMCkgfCBBVDkxX1NIRFdfV0tNT0RFMF9MT1cKKwkJCQl8IEFUOTFfU0hEV19SVFRXS0VOKTsKK30KKworTUFDSElORV9TVEFSVChRSUxfQTkyNjAsICJDQUxBTyBRSUxfQTkyNjAiKQorCS8qIE1haW50YWluZXI6IGNhbGFvLXN5c3RlbXMgKi8KKwkucGh5c19pbwk9IEFUOTFfQkFTRV9TWVMsCisJLmlvX3BnX29mZnN0CT0gKEFUOTFfVkFfQkFTRV9TWVMgPj4gMTgpICYgMHhmZmZjLAorCS5ib290X3BhcmFtcwk9IEFUOTFfU0RSQU1fQkFTRSArIDB4MTAwLAorCS50aW1lcgkJPSAmYXQ5MXNhbTkyNnhfdGltZXIsCisJLm1hcF9pbwkJPSBla19tYXBfaW8sCisJLmluaXRfaXJxCT0gZWtfaW5pdF9pcnEsCisJLmluaXRfbWFjaGluZQk9IGVrX2JvYXJkX2luaXQsCitNQUNISU5FX0VORApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1hdDkxL2JvYXJkLXNhbTlnMjBlay5jIGIvYXJjaC9hcm0vbWFjaC1hdDkxL2JvYXJkLXNhbTlnMjBlay5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ1NjE3YzIKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLWF0OTEvYm9hcmQtc2FtOWcyMGVrLmMKQEAgLTAsMCArMSwyMTggQEAKKy8qCisgKiAgQ29weXJpZ2h0IChDKSAyMDA1IFNBTiBQZW9wbGUKKyAqICBDb3B5cmlnaHQgKEMpIDIwMDggQXRtZWwKKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisgKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAgMDIxMTEtMTMwNyAgVVNBCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L21tLmg+CisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CisjaW5jbHVkZSA8bGludXgvc3BpL3NwaS5oPgorI2luY2x1ZGUgPGxpbnV4L3NwaS9hdDczYzIxMy5oPgorI2luY2x1ZGUgPGxpbnV4L2Nsay5oPgorCisjaW5jbHVkZSA8YXNtL2hhcmR3YXJlLmg+CisjaW5jbHVkZSA8YXNtL3NldHVwLmg+CisjaW5jbHVkZSA8YXNtL21hY2gtdHlwZXMuaD4KKyNpbmNsdWRlIDxhc20vaXJxLmg+CisKKyNpbmNsdWRlIDxhc20vbWFjaC9hcmNoLmg+CisjaW5jbHVkZSA8YXNtL21hY2gvbWFwLmg+CisjaW5jbHVkZSA8YXNtL21hY2gvaXJxLmg+CisKKyNpbmNsdWRlIDxhc20vYXJjaC9ib2FyZC5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2dwaW8uaD4KKworI2luY2x1ZGUgImdlbmVyaWMuaCIKKworCitzdGF0aWMgdm9pZCBfX2luaXQgZWtfbWFwX2lvKHZvaWQpCit7CisJLyogSW5pdGlhbGl6ZSBwcm9jZXNzb3I6IDE4LjQzMiBNSHogY3J5c3RhbCAqLworCWF0OTFzYW05MjYwX2luaXRpYWxpemUoMTg0MzIwMDApOworCisJLyogREdCVSBvbiB0dHlTMC4gKFJ4ICYgVHggb25seSkgKi8KKwlhdDkxX3JlZ2lzdGVyX3VhcnQoMCwgMCwgMCk7CisKKwkvKiBVU0FSVDAgb24gdHR5UzEuIChSeCwgVHgsIENUUywgUlRTLCBEVFIsIERTUiwgRENELCBSSSkgKi8KKwlhdDkxX3JlZ2lzdGVyX3VhcnQoQVQ5MVNBTTkyNjBfSURfVVMwLCAxLCBBVE1FTF9VQVJUX0NUUyB8IEFUTUVMX1VBUlRfUlRTCisJCQkgICB8IEFUTUVMX1VBUlRfRFRSIHwgQVRNRUxfVUFSVF9EU1IgfCBBVE1FTF9VQVJUX0RDRAorCQkJICAgfCBBVE1FTF9VQVJUX1JJKTsKKworCS8qIFVTQVJUMSBvbiB0dHlTMi4gKFJ4LCBUeCwgUlRTLCBDVFMpICovCisJYXQ5MV9yZWdpc3Rlcl91YXJ0KEFUOTFTQU05MjYwX0lEX1VTMSwgMiwgQVRNRUxfVUFSVF9DVFMgfCBBVE1FTF9VQVJUX1JUUyk7CisKKwkvKiBzZXQgc2VyaWFsIGNvbnNvbGUgdG8gdHR5UzAgKGllLCBEQkdVKSAqLworCWF0OTFfc2V0X3NlcmlhbF9jb25zb2xlKDApOworfQorCitzdGF0aWMgdm9pZCBfX2luaXQgZWtfaW5pdF9pcnEodm9pZCkKK3sKKwlhdDkxc2FtOTI2MF9pbml0X2ludGVycnVwdHMoTlVMTCk7Cit9CisKKworLyoKKyAqIFVTQiBIb3N0IHBvcnQKKyAqLworc3RhdGljIHN0cnVjdCBhdDkxX3VzYmhfZGF0YSBfX2luaXRkYXRhIGVrX3VzYmhfZGF0YSA9IHsKKwkucG9ydHMJCT0gMiwKK307CisKKy8qCisgKiBVU0IgRGV2aWNlIHBvcnQKKyAqLworc3RhdGljIHN0cnVjdCBhdDkxX3VkY19kYXRhIF9faW5pdGRhdGEgZWtfdWRjX2RhdGEgPSB7CisJLnZidXNfcGluCT0gQVQ5MV9QSU5fUEM1LAorCS5wdWxsdXBfcGluCT0gMCwJCS8qIHB1bGwtdXAgZHJpdmVuIGJ5IFVEQyAqLworfTsKKworCisvKgorICogU1BJIGRldmljZXMuCisgKi8KK3N0YXRpYyBzdHJ1Y3Qgc3BpX2JvYXJkX2luZm8gZWtfc3BpX2RldmljZXNbXSA9IHsKKyNpZiAhZGVmaW5lZChDT05GSUdfTU1DX0FUOTEpCisJewkvKiBEYXRhRmxhc2ggY2hpcCAqLworCQkubW9kYWxpYXMJPSAibXRkX2RhdGFmbGFzaCIsCisJCS5jaGlwX3NlbGVjdAk9IDEsCisJCS5tYXhfc3BlZWRfaHoJPSAxNSAqIDEwMDAgKiAxMDAwLAorCQkuYnVzX251bQk9IDAsCisJfSwKKyNpZiBkZWZpbmVkKENPTkZJR19NVERfQVQ5MV9EQVRBRkxBU0hfQ0FSRCkKKwl7CS8qIERhdGFGbGFzaCBjYXJkICovCisJCS5tb2RhbGlhcwk9ICJtdGRfZGF0YWZsYXNoIiwKKwkJLmNoaXBfc2VsZWN0CT0gMCwKKwkJLm1heF9zcGVlZF9oegk9IDE1ICogMTAwMCAqIDEwMDAsCisJCS5idXNfbnVtCT0gMCwKKwl9LAorI2VuZGlmCisjZW5kaWYKK307CisKKworLyoKKyAqIE1BQ0IgRXRoZXJuZXQgZGV2aWNlCisgKi8KK3N0YXRpYyBzdHJ1Y3QgYXQ5MV9ldGhfZGF0YSBfX2luaXRkYXRhIGVrX21hY2JfZGF0YSA9IHsKKwkucGh5X2lycV9waW4JPSBBVDkxX1BJTl9QQTcsCisJLmlzX3JtaWkJPSAxLAorfTsKKworCisvKgorICogTkFORCBmbGFzaAorICovCitzdGF0aWMgc3RydWN0IG10ZF9wYXJ0aXRpb24gX19pbml0ZGF0YSBla19uYW5kX3BhcnRpdGlvbltdID0geworCXsKKwkJLm5hbWUgICA9ICJCb290c3RyYXAiLAorCQkub2Zmc2V0ID0gMCwKKwkJLnNpemUgICA9IDQgKiAxMDI0ICogMTAyNCwKKwl9LAorCXsKKwkJLm5hbWUJPSAiUGFydGl0aW9uIDEiLAorCQkub2Zmc2V0CT0gNCAqIDEwMjQgKiAxMDI0LAorCQkuc2l6ZQk9IDYwICogMTAyNCAqIDEwMjQsCisJfSwKKwl7CisJCS5uYW1lCT0gIlBhcnRpdGlvbiAyIiwKKwkJLm9mZnNldAk9IDY0ICogMTAyNCAqIDEwMjQsCisJCS5zaXplCT0gTVREUEFSVF9TSVpfRlVMTCwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBtdGRfcGFydGl0aW9uICogX19pbml0IG5hbmRfcGFydGl0aW9ucyhpbnQgc2l6ZSwgaW50ICpudW1fcGFydGl0aW9ucykKK3sKKwkqbnVtX3BhcnRpdGlvbnMgPSBBUlJBWV9TSVpFKGVrX25hbmRfcGFydGl0aW9uKTsKKwlyZXR1cm4gZWtfbmFuZF9wYXJ0aXRpb247Cit9CisKKy8qIGRldF9waW4gaXMgbm90IGNvbm5lY3RlZCAqLworc3RhdGljIHN0cnVjdCBhdDkxX25hbmRfZGF0YSBfX2luaXRkYXRhIGVrX25hbmRfZGF0YSA9IHsKKwkuYWxlCQk9IDIxLAorCS5jbGUJCT0gMjIsCisJLnJkeV9waW4JPSBBVDkxX1BJTl9QQzEzLAorCS5lbmFibGVfcGluCT0gQVQ5MV9QSU5fUEMxNCwKKwkucGFydGl0aW9uX2luZm8JPSBuYW5kX3BhcnRpdGlvbnMsCisjaWYgZGVmaW5lZChDT05GSUdfTVREX05BTkRfQVQ5MV9CVVNXSURUSF8xNikKKwkuYnVzX3dpZHRoXzE2CT0gMSwKKyNlbHNlCisJLmJ1c193aWR0aF8xNgk9IDAsCisjZW5kaWYKK307CisKKworLyoKKyAqIE1DSSAoU0QvTU1DKQorICogZGV0X3Bpbiwgd3BfcGluIGFuZCB2Y2NfcGluIGFyZSBub3QgY29ubmVjdGVkCisgKi8KK3N0YXRpYyBzdHJ1Y3QgYXQ5MV9tbWNfZGF0YSBfX2luaXRkYXRhIGVrX21tY19kYXRhID0geworCS5zbG90X2IJCT0gMSwKKwkud2lyZTQJCT0gMSwKK307CisKKworLyoKKyAqIExFRHMKKyAqLworc3RhdGljIHN0cnVjdCBncGlvX2xlZCBla19sZWRzW10gPSB7CisJewkvKiAiYm90dG9tIiBsZWQsIGdyZWVuLCB1c2VybGVkMSB0byBiZSBkZWZpbmVkICovCisJCS5uYW1lCQkJPSAiZHM1IiwKKwkJLmdwaW8JCQk9IEFUOTFfUElOX1BBNiwKKwkJLmFjdGl2ZV9sb3cJCT0gMSwKKwkJLmRlZmF1bHRfdHJpZ2dlcgk9ICJub25lIiwKKwl9LAorCXsJLyogInBvd2VyIiBsZWQsIHllbGxvdyAqLworCQkubmFtZQkJCT0gImRzMSIsCisJCS5ncGlvCQkJPSBBVDkxX1BJTl9QQTksCisJCS5kZWZhdWx0X3RyaWdnZXIJPSAiaGVhcnRiZWF0IiwKKwl9Cit9OworCitzdGF0aWMgdm9pZCBfX2luaXQgZWtfYm9hcmRfaW5pdCh2b2lkKQoreworCS8qIFNlcmlhbCAqLworCWF0OTFfYWRkX2RldmljZV9zZXJpYWwoKTsKKwkvKiBVU0IgSG9zdCAqLworCWF0OTFfYWRkX2RldmljZV91c2JoKCZla191c2JoX2RhdGEpOworCS8qIFVTQiBEZXZpY2UgKi8KKwlhdDkxX2FkZF9kZXZpY2VfdWRjKCZla191ZGNfZGF0YSk7CisJLyogU1BJICovCisJYXQ5MV9hZGRfZGV2aWNlX3NwaShla19zcGlfZGV2aWNlcywgQVJSQVlfU0laRShla19zcGlfZGV2aWNlcykpOworCS8qIE5BTkQgKi8KKwlhdDkxX2FkZF9kZXZpY2VfbmFuZCgmZWtfbmFuZF9kYXRhKTsKKwkvKiBFdGhlcm5ldCAqLworCWF0OTFfYWRkX2RldmljZV9ldGgoJmVrX21hY2JfZGF0YSk7CisJLyogTU1DICovCisJYXQ5MV9hZGRfZGV2aWNlX21tYygwLCAmZWtfbW1jX2RhdGEpOworCS8qIEkyQyAqLworCWF0OTFfYWRkX2RldmljZV9pMmMoTlVMTCwgMCk7CisJLyogTEVEcyAqLworCWF0OTFfZ3Bpb19sZWRzKGVrX2xlZHMsIEFSUkFZX1NJWkUoZWtfbGVkcykpOworfQorCitNQUNISU5FX1NUQVJUKEFUOTFTQU05RzIwRUssICJBdG1lbCBBVDkxU0FNOUcyMC1FSyIpCisJLyogTWFpbnRhaW5lcjogQXRtZWwgKi8KKwkucGh5c19pbwk9IEFUOTFfQkFTRV9TWVMsCisJLmlvX3BnX29mZnN0CT0gKEFUOTFfVkFfQkFTRV9TWVMgPj4gMTgpICYgMHhmZmZjLAorCS5ib290X3BhcmFtcwk9IEFUOTFfU0RSQU1fQkFTRSArIDB4MTAwLAorCS50aW1lcgkJPSAmYXQ5MXNhbTkyNnhfdGltZXIsCisJLm1hcF9pbwkJPSBla19tYXBfaW8sCisJLmluaXRfaXJxCT0gZWtfaW5pdF9pcnEsCisJLmluaXRfbWFjaGluZQk9IGVrX2JvYXJkX2luaXQsCitNQUNISU5FX0VORApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1hdDkxL2JvYXJkLXNhbTlybGVrLmMgYi9hcmNoL2FybS9tYWNoLWF0OTEvYm9hcmQtc2FtOXJsZWsuYwppbmRleCBmZmMwNTk3Li5iNmE3MGZjIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLWF0OTEvYm9hcmQtc2FtOXJsZWsuYworKysgYi9hcmNoL2FybS9tYWNoLWF0OTEvYm9hcmQtc2FtOXJsZWsuYwpAQCAtNTYsNiArNTYsMTQgQEAKIAogCiAvKgorICogVVNCIEhTIERldmljZSBwb3J0CisgKi8KK3N0YXRpYyBzdHJ1Y3QgdXNiYV9wbGF0Zm9ybV9kYXRhIF9faW5pdGRhdGEgZWtfdXNiYV91ZGNfZGF0YSA9IHsKKwkudmJ1c19waW4JPSBBVDkxX1BJTl9QQTgsCit9OworCisKKy8qCiAgKiBNQ0kgKFNEL01NQykKICAqLwogc3RhdGljIHN0cnVjdCBhdDkxX21tY19kYXRhIF9faW5pdGRhdGEgZWtfbW1jX2RhdGEgPSB7CkBAIC0xNzUsNiArMTgzLDggQEAKIHsKIAkvKiBTZXJpYWwgKi8KIAlhdDkxX2FkZF9kZXZpY2Vfc2VyaWFsKCk7CisJLyogVVNCIEhTICovCisJYXQ5MV9hZGRfZGV2aWNlX3VzYmEoJmVrX3VzYmFfdWRjX2RhdGEpOwogCS8qIEkyQyAqLwogCWF0OTFfYWRkX2RldmljZV9pMmMoTlVMTCwgMCk7CiAJLyogTkFORCAqLwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1hdDkxL2JvYXJkLXVzYi1hOTI2MC5jIGIvYXJjaC9hcm0vbWFjaC1hdDkxL2JvYXJkLXVzYi1hOTI2MC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgzN2FlZGYKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLWF0OTEvYm9hcmQtdXNiLWE5MjYwLmMKQEAgLTAsMCArMSwyMTUgQEAKKy8qCisgKiBsaW51eC9hcmNoL2FybS9tYWNoLWF0OTEvYm9hcmQtdXNiLWE5MjYwLmMKKyAqCisgKiAgQ29weXJpZ2h0IChDKSAyMDA1IFNBTiBQZW9wbGUKKyAqICBDb3B5cmlnaHQgKEMpIDIwMDYgQXRtZWwKKyAqICBDb3B5cmlnaHQgKEMpIDIwMDcgQ2FsYW8tc3lzdGVtcworICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3ICBVU0EKKyAqLworCisjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvbW0uaD4KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9zcGkvc3BpLmg+CisjaW5jbHVkZSA8bGludXgvZ3Bpb19rZXlzLmg+CisjaW5jbHVkZSA8bGludXgvaW5wdXQuaD4KKyNpbmNsdWRlIDxsaW51eC9jbGsuaD4KKworI2luY2x1ZGUgPGFzbS9oYXJkd2FyZS5oPgorI2luY2x1ZGUgPGFzbS9zZXR1cC5oPgorI2luY2x1ZGUgPGFzbS9tYWNoLXR5cGVzLmg+CisjaW5jbHVkZSA8YXNtL2lycS5oPgorCisjaW5jbHVkZSA8YXNtL21hY2gvYXJjaC5oPgorI2luY2x1ZGUgPGFzbS9tYWNoL21hcC5oPgorI2luY2x1ZGUgPGFzbS9tYWNoL2lycS5oPgorCisjaW5jbHVkZSA8YXNtL2FyY2gvYm9hcmQuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9ncGlvLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvYXQ5MV9zaGR3Yy5oPgorCisjaW5jbHVkZSAiZ2VuZXJpYy5oIgorCisKK3N0YXRpYyB2b2lkIF9faW5pdCBla19tYXBfaW8odm9pZCkKK3sKKwkvKiBJbml0aWFsaXplIHByb2Nlc3NvcjogMTIuMDAwIE1IeiBjcnlzdGFsICovCisJYXQ5MXNhbTkyNjBfaW5pdGlhbGl6ZSgxMjAwMDAwMCk7CisKKwkvKiBER0JVIG9uIHR0eVMwLiAoUnggJiBUeCBvbmx5KSAqLworCWF0OTFfcmVnaXN0ZXJfdWFydCgwLCAwLCAwKTsKKworCS8qIHNldCBzZXJpYWwgY29uc29sZSB0byB0dHlTMCAoaWUsIERCR1UpICovCisJYXQ5MV9zZXRfc2VyaWFsX2NvbnNvbGUoMCk7Cit9CisKK3N0YXRpYyB2b2lkIF9faW5pdCBla19pbml0X2lycSh2b2lkKQoreworCWF0OTFzYW05MjYwX2luaXRfaW50ZXJydXB0cyhOVUxMKTsKK30KKworCisvKgorICogVVNCIEhvc3QgcG9ydAorICovCitzdGF0aWMgc3RydWN0IGF0OTFfdXNiaF9kYXRhIF9faW5pdGRhdGEgZWtfdXNiaF9kYXRhID0geworCS5wb3J0cwkJPSAyLAorfTsKKworLyoKKyAqIFVTQiBEZXZpY2UgcG9ydAorICovCitzdGF0aWMgc3RydWN0IGF0OTFfdWRjX2RhdGEgX19pbml0ZGF0YSBla191ZGNfZGF0YSA9IHsKKwkudmJ1c19waW4JPSBBVDkxX1BJTl9QQzUsCisJLnB1bGx1cF9waW4JPSAwLAkJLyogcHVsbC11cCBkcml2ZW4gYnkgVURDICovCit9OworCisvKgorICogTUFDQiBFdGhlcm5ldCBkZXZpY2UKKyAqLworc3RhdGljIHN0cnVjdCBhdDkxX2V0aF9kYXRhIF9faW5pdGRhdGEgZWtfbWFjYl9kYXRhID0geworCS5waHlfaXJxX3Bpbgk9IEFUOTFfUElOX1BBMzEsCisJLmlzX3JtaWkJPSAxLAorfTsKKworLyoKKyAqIE5BTkQgZmxhc2gKKyAqLworc3RhdGljIHN0cnVjdCBtdGRfcGFydGl0aW9uIF9faW5pdGRhdGEgZWtfbmFuZF9wYXJ0aXRpb25bXSA9IHsKKwl7CisJCS5uYW1lCT0gIlVib290ICYgS2VybmVsIiwKKwkJLm9mZnNldAk9IDB4MDAwMDAwMDAsCisJCS5zaXplCT0gMTYgKiAxMDI0ICogMTAyNCwKKwl9LAorCXsKKwkJLm5hbWUJPSAiUm9vdCBGUyIsCisJCS5vZmZzZXQJPSAweDAxMDAwMDAwLAorCQkuc2l6ZQk9IDEyMCAqIDEwMjQgKiAxMDI0LAorCX0sCisJeworCQkubmFtZQk9ICJGUyIsCisJCS5vZmZzZXQJPSAweDA4ODAwMDAwLAorCQkuc2l6ZQk9IDEyMCAqIDEwMjQgKiAxMDI0LAorCX0KK307CisKK3N0YXRpYyBzdHJ1Y3QgbXRkX3BhcnRpdGlvbiAqIF9faW5pdCBuYW5kX3BhcnRpdGlvbnMoaW50IHNpemUsIGludCAqbnVtX3BhcnRpdGlvbnMpCit7CisJKm51bV9wYXJ0aXRpb25zID0gQVJSQVlfU0laRShla19uYW5kX3BhcnRpdGlvbik7CisJcmV0dXJuIGVrX25hbmRfcGFydGl0aW9uOworfQorCitzdGF0aWMgc3RydWN0IGF0OTFfbmFuZF9kYXRhIF9faW5pdGRhdGEgZWtfbmFuZF9kYXRhID0geworCS5hbGUJCT0gMjEsCisJLmNsZQkJPSAyMiwKKy8vCS5kZXRfcGluCT0gLi4uIG5vdCBjb25uZWN0ZWQKKwkucmR5X3Bpbgk9IEFUOTFfUElOX1BDMTMsCisJLmVuYWJsZV9waW4JPSBBVDkxX1BJTl9QQzE0LAorCS5wYXJ0aXRpb25faW5mbwk9IG5hbmRfcGFydGl0aW9ucywKKyNpZiBkZWZpbmVkKENPTkZJR19NVERfTkFORF9BVDkxX0JVU1dJRFRIXzE2KQorCS5idXNfd2lkdGhfMTYJPSAxLAorI2Vsc2UKKwkuYnVzX3dpZHRoXzE2CT0gMCwKKyNlbmRpZgorfTsKKworLyoKKyAqIEdQSU8gQnV0dG9ucworICovCisKKyNpZiBkZWZpbmVkKENPTkZJR19LRVlCT0FSRF9HUElPKSB8fCBkZWZpbmVkKENPTkZJR19LRVlCT0FSRF9HUElPX01PRFVMRSkKK3N0YXRpYyBzdHJ1Y3QgZ3Bpb19rZXlzX2J1dHRvbiBla19idXR0b25zW10gPSB7CisJewkvKiBVU0VSIFBVU0ggQlVUVE9OICovCisJCS5jb2RlCQk9IEtFWV9FTlRFUiwKKwkJLmdwaW8JCT0gQVQ5MV9QSU5fUEIxMCwKKwkJLmFjdGl2ZV9sb3cJPSAxLAorCQkuZGVzYwkJPSAidXNlcl9wYiIsCisJCS53YWtldXAJCT0gMSwKKwl9Cit9OworCitzdGF0aWMgc3RydWN0IGdwaW9fa2V5c19wbGF0Zm9ybV9kYXRhIGVrX2J1dHRvbl9kYXRhID0geworCS5idXR0b25zCT0gZWtfYnV0dG9ucywKKwkubmJ1dHRvbnMJPSBBUlJBWV9TSVpFKGVrX2J1dHRvbnMpLAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgZWtfYnV0dG9uX2RldmljZSA9IHsKKwkubmFtZQkJPSAiZ3Bpby1rZXlzIiwKKwkuaWQJCT0gLTEsCisJLm51bV9yZXNvdXJjZXMJPSAwLAorCS5kZXYJCT0geworCQkucGxhdGZvcm1fZGF0YQk9ICZla19idXR0b25fZGF0YSwKKwl9Cit9OworCitzdGF0aWMgdm9pZCBfX2luaXQgZWtfYWRkX2RldmljZV9idXR0b25zKHZvaWQpCit7CisJYXQ5MV9zZXRfR1BJT19wZXJpcGgoQVQ5MV9QSU5fUEIxMCwgMSk7CS8qIHVzZXIgcHVzaCBidXR0b24sIHB1bGwgdXAgZW5hYmxlZCAqLworCWF0OTFfc2V0X2RlZ2xpdGNoKEFUOTFfUElOX1BCMTAsIDEpOworCisJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZla19idXR0b25fZGV2aWNlKTsKK30KKyNlbHNlCitzdGF0aWMgdm9pZCBfX2luaXQgZWtfYWRkX2RldmljZV9idXR0b25zKHZvaWQpIHt9CisjZW5kaWYKKworLyoKKyAqIExFRHMKKyAqLworc3RhdGljIHN0cnVjdCBncGlvX2xlZCBla19sZWRzW10gPSB7CisJewkvKiB1c2VyX2xlZCAoZ3JlZW4pICovCisJCS5uYW1lCQkJPSAidXNlcl9sZWQiLAorCQkuZ3BpbwkJCT0gQVQ5MV9QSU5fUEIyMSwKKwkJLmFjdGl2ZV9sb3cJCT0gMCwKKwkJLmRlZmF1bHRfdHJpZ2dlcgk9ICJoZWFydGJlYXQiLAorCX0KK307CisKK3N0YXRpYyB2b2lkIF9faW5pdCBla19ib2FyZF9pbml0KHZvaWQpCit7CisJLyogU2VyaWFsICovCisJYXQ5MV9hZGRfZGV2aWNlX3NlcmlhbCgpOworCS8qIFVTQiBIb3N0ICovCisJYXQ5MV9hZGRfZGV2aWNlX3VzYmgoJmVrX3VzYmhfZGF0YSk7CisJLyogVVNCIERldmljZSAqLworCWF0OTFfYWRkX2RldmljZV91ZGMoJmVrX3VkY19kYXRhKTsKKwkvKiBOQU5EICovCisJYXQ5MV9hZGRfZGV2aWNlX25hbmQoJmVrX25hbmRfZGF0YSk7CisJLyogSTJDICovCisJYXQ5MV9hZGRfZGV2aWNlX2kyYyhOVUxMLCAwKTsKKwkvKiBFdGhlcm5ldCAqLworCWF0OTFfYWRkX2RldmljZV9ldGgoJmVrX21hY2JfZGF0YSk7CisJLyogUHVzaCBCdXR0b25zICovCisJZWtfYWRkX2RldmljZV9idXR0b25zKCk7CisJLyogTEVEcyAqLworCWF0OTFfZ3Bpb19sZWRzKGVrX2xlZHMsIEFSUkFZX1NJWkUoZWtfbGVkcykpOworCS8qIHNodXRkb3duIGNvbnRyb2xsZXIsIHdha2V1cCBidXR0b24gKDUgbXNlYyBsb3cpICovCisJYXQ5MV9zeXNfd3JpdGUoQVQ5MV9TSERXX01SLCBBVDkxX1NIRFdfQ1BUV0swXygxMCkgfCBBVDkxX1NIRFdfV0tNT0RFMF9MT1cKKwkJCQl8IEFUOTFfU0hEV19SVFRXS0VOKTsKK30KKworTUFDSElORV9TVEFSVChVU0JfQTkyNjAsICJDQUxBTyBVU0JfQTkyNjAiKQorCS8qIE1haW50YWluZXI6IGNhbGFvLXN5c3RlbXMgKi8KKwkucGh5c19pbwk9IEFUOTFfQkFTRV9TWVMsCisJLmlvX3BnX29mZnN0CT0gKEFUOTFfVkFfQkFTRV9TWVMgPj4gMTgpICYgMHhmZmZjLAorCS5ib290X3BhcmFtcwk9IEFUOTFfU0RSQU1fQkFTRSArIDB4MTAwLAorCS50aW1lcgkJPSAmYXQ5MXNhbTkyNnhfdGltZXIsCisJLm1hcF9pbwkJPSBla19tYXBfaW8sCisJLmluaXRfaXJxCT0gZWtfaW5pdF9pcnEsCisJLmluaXRfbWFjaGluZQk9IGVrX2JvYXJkX2luaXQsCitNQUNISU5FX0VORApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1hdDkxL2JvYXJkLXVzYi1hOTI2My5jIGIvYXJjaC9hcm0vbWFjaC1hdDkxL2JvYXJkLXVzYi1hOTI2My5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk1ODAwZDMKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLWF0OTEvYm9hcmQtdXNiLWE5MjYzLmMKQEAgLTAsMCArMSwyMzAgQEAKKy8qCisgKiBsaW51eC9hcmNoL2FybS9tYWNoLWF0OTEvYm9hcmQtdXNiLWE5MjYzLmMKKyAqCisgKiAgQ29weXJpZ2h0IChDKSAyMDA1IFNBTiBQZW9wbGUKKyAqICBDb3B5cmlnaHQgKEMpIDIwMDcgQXRtZWwgQ29ycG9yYXRpb24uCisgKiAgQ29weXJpZ2h0IChDKSAyMDA3IENhbGFvLXN5c3RlbXMKKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisgKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAgMDIxMTEtMTMwNyAgVVNBCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L21tLmg+CisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CisjaW5jbHVkZSA8bGludXgvc3BpL3NwaS5oPgorI2luY2x1ZGUgPGxpbnV4L2dwaW9fa2V5cy5oPgorI2luY2x1ZGUgPGxpbnV4L2lucHV0Lmg+CisKKyNpbmNsdWRlIDxhc20vaGFyZHdhcmUuaD4KKyNpbmNsdWRlIDxhc20vc2V0dXAuaD4KKyNpbmNsdWRlIDxhc20vbWFjaC10eXBlcy5oPgorI2luY2x1ZGUgPGFzbS9pcnEuaD4KKworI2luY2x1ZGUgPGFzbS9tYWNoL2FyY2guaD4KKyNpbmNsdWRlIDxhc20vbWFjaC9tYXAuaD4KKyNpbmNsdWRlIDxhc20vbWFjaC9pcnEuaD4KKworI2luY2x1ZGUgPGFzbS9hcmNoL2JvYXJkLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvZ3Bpby5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2F0OTFfc2hkd2MuaD4KKworI2luY2x1ZGUgImdlbmVyaWMuaCIKKworCitzdGF0aWMgdm9pZCBfX2luaXQgZWtfbWFwX2lvKHZvaWQpCit7CisJLyogSW5pdGlhbGl6ZSBwcm9jZXNzb3I6IDEyLjAwIE1IeiBjcnlzdGFsICovCisJYXQ5MXNhbTkyNjNfaW5pdGlhbGl6ZSgxMjAwMDAwMCk7CisKKwkvKiBER0JVIG9uIHR0eVMwLiAoUnggJiBUeCBvbmx5KSAqLworCWF0OTFfcmVnaXN0ZXJfdWFydCgwLCAwLCAwKTsKKworCS8qIHNldCBzZXJpYWwgY29uc29sZSB0byB0dHlTMCAoaWUsIERCR1UpICovCisJYXQ5MV9zZXRfc2VyaWFsX2NvbnNvbGUoMCk7Cit9CisKK3N0YXRpYyB2b2lkIF9faW5pdCBla19pbml0X2lycSh2b2lkKQoreworCWF0OTFzYW05MjYzX2luaXRfaW50ZXJydXB0cyhOVUxMKTsKK30KKworCisvKgorICogVVNCIEhvc3QgcG9ydAorICovCitzdGF0aWMgc3RydWN0IGF0OTFfdXNiaF9kYXRhIF9faW5pdGRhdGEgZWtfdXNiaF9kYXRhID0geworCS5wb3J0cwkJPSAyLAorfTsKKworLyoKKyAqIFVTQiBEZXZpY2UgcG9ydAorICovCitzdGF0aWMgc3RydWN0IGF0OTFfdWRjX2RhdGEgX19pbml0ZGF0YSBla191ZGNfZGF0YSA9IHsKKwkudmJ1c19waW4JPSBBVDkxX1BJTl9QQjExLAorCS5wdWxsdXBfcGluCT0gMCwJCS8qIHB1bGwtdXAgZHJpdmVuIGJ5IFVEQyAqLworfTsKKworLyoKKyAqIFNQSSBkZXZpY2VzLgorICovCitzdGF0aWMgc3RydWN0IHNwaV9ib2FyZF9pbmZvIGVrX3NwaV9kZXZpY2VzW10gPSB7CisjaWYgIWRlZmluZWQoQ09ORklHX01NQ19BVDkxKQorCXsJLyogRGF0YUZsYXNoIGNoaXAgKi8KKwkJLm1vZGFsaWFzCT0gIm10ZF9kYXRhZmxhc2giLAorCQkuY2hpcF9zZWxlY3QJPSAwLAorCQkubWF4X3NwZWVkX2h6CT0gMTUgKiAxMDAwICogMTAwMCwKKwkJLmJ1c19udW0JPSAwLAorCX0KKyNlbmRpZgorfTsKKworLyoKKyAqIE1BQ0IgRXRoZXJuZXQgZGV2aWNlCisgKi8KK3N0YXRpYyBzdHJ1Y3QgYXQ5MV9ldGhfZGF0YSBfX2luaXRkYXRhIGVrX21hY2JfZGF0YSA9IHsKKwkucGh5X2lycV9waW4JPSBBVDkxX1BJTl9QRTMxLAorCS5pc19ybWlpCT0gMSwKK307CisKKy8qCisgKiBOQU5EIGZsYXNoCisgKi8KK3N0YXRpYyBzdHJ1Y3QgbXRkX3BhcnRpdGlvbiBfX2luaXRkYXRhIGVrX25hbmRfcGFydGl0aW9uW10gPSB7CisJeworCQkubmFtZQk9ICJMaW51eCBLZXJuZWwiLAorCQkub2Zmc2V0CT0gMHgwMDAwMDAwMCwKKwkJLnNpemUJPSAxNiAqIDEwMjQgKiAxMDI0LAorCX0sCisJeworCQkubmFtZQk9ICJSb290IEZTIiwKKwkJLm9mZnNldAk9IDB4MDEwMDAwMDAsCisJCS5zaXplCT0gMTIwICogMTAyNCAqIDEwMjQsCisJfSwKKwl7CisJCS5uYW1lCT0gIkZTIiwKKwkJLm9mZnNldAk9IDB4MDg4MDAwMDAsCisJCS5zaXplCT0gMTIwICogMTAyNCAqIDEwMjQsCisJfQorfTsKKworc3RhdGljIHN0cnVjdCBtdGRfcGFydGl0aW9uICogX19pbml0IG5hbmRfcGFydGl0aW9ucyhpbnQgc2l6ZSwgaW50ICpudW1fcGFydGl0aW9ucykKK3sKKwkqbnVtX3BhcnRpdGlvbnMgPSBBUlJBWV9TSVpFKGVrX25hbmRfcGFydGl0aW9uKTsKKwlyZXR1cm4gZWtfbmFuZF9wYXJ0aXRpb247Cit9CisKK3N0YXRpYyBzdHJ1Y3QgYXQ5MV9uYW5kX2RhdGEgX19pbml0ZGF0YSBla19uYW5kX2RhdGEgPSB7CisJLmFsZQkJPSAyMSwKKwkuY2xlCQk9IDIyLAorLy8JLmRldF9waW4JPSAuLi4gbm90IGNvbm5lY3RlZAorCS5yZHlfcGluCT0gQVQ5MV9QSU5fUEEyMiwKKwkuZW5hYmxlX3Bpbgk9IEFUOTFfUElOX1BEMTUsCisJLnBhcnRpdGlvbl9pbmZvCT0gbmFuZF9wYXJ0aXRpb25zLAorI2lmIGRlZmluZWQoQ09ORklHX01URF9OQU5EX0FUOTFfQlVTV0lEVEhfMTYpCisJLmJ1c193aWR0aF8xNgk9IDEsCisjZWxzZQorCS5idXNfd2lkdGhfMTYJPSAwLAorI2VuZGlmCit9OworCisvKgorICogR1BJTyBCdXR0b25zCisgKi8KKyNpZiBkZWZpbmVkKENPTkZJR19LRVlCT0FSRF9HUElPKSB8fCBkZWZpbmVkKENPTkZJR19LRVlCT0FSRF9HUElPX01PRFVMRSkKK3N0YXRpYyBzdHJ1Y3QgZ3Bpb19rZXlzX2J1dHRvbiBla19idXR0b25zW10gPSB7CisJewkvKiBVU0VSIFBVU0ggQlVUVE9OICovCisJCS5jb2RlCQk9IEtFWV9FTlRFUiwKKwkJLmdwaW8JCT0gQVQ5MV9QSU5fUEIxMCwKKwkJLmFjdGl2ZV9sb3cJPSAxLAorCQkuZGVzYwkJPSAidXNlcl9wYiIsCisJCS53YWtldXAJCT0gMSwKKwl9Cit9OworCitzdGF0aWMgc3RydWN0IGdwaW9fa2V5c19wbGF0Zm9ybV9kYXRhIGVrX2J1dHRvbl9kYXRhID0geworCS5idXR0b25zCT0gZWtfYnV0dG9ucywKKwkubmJ1dHRvbnMJPSBBUlJBWV9TSVpFKGVrX2J1dHRvbnMpLAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgZWtfYnV0dG9uX2RldmljZSA9IHsKKwkubmFtZQkJPSAiZ3Bpby1rZXlzIiwKKwkuaWQJCT0gLTEsCisJLm51bV9yZXNvdXJjZXMJPSAwLAorCS5kZXYJCT0geworCQkucGxhdGZvcm1fZGF0YQk9ICZla19idXR0b25fZGF0YSwKKwl9Cit9OworCitzdGF0aWMgdm9pZCBfX2luaXQgZWtfYWRkX2RldmljZV9idXR0b25zKHZvaWQpCit7CisJYXQ5MV9zZXRfR1BJT19wZXJpcGgoQVQ5MV9QSU5fUEIxMCwgMSk7CS8qIHVzZXIgcHVzaCBidXR0b24sIHB1bGwgdXAgZW5hYmxlZCAqLworCWF0OTFfc2V0X2RlZ2xpdGNoKEFUOTFfUElOX1BCMTAsIDEpOworCisJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZla19idXR0b25fZGV2aWNlKTsKK30KKyNlbHNlCitzdGF0aWMgdm9pZCBfX2luaXQgZWtfYWRkX2RldmljZV9idXR0b25zKHZvaWQpIHt9CisjZW5kaWYKKworLyoKKyAqIExFRHMKKyAqLworc3RhdGljIHN0cnVjdCBncGlvX2xlZCBla19sZWRzW10gPSB7CisJewkvKiB1c2VyX2xlZCAoZ3JlZW4pICovCisJCS5uYW1lCQkJPSAidXNlcl9sZWQiLAorCQkuZ3BpbwkJCT0gQVQ5MV9QSU5fUEIyMSwKKwkJLmFjdGl2ZV9sb3cJCT0gMSwKKwkJLmRlZmF1bHRfdHJpZ2dlcgk9ICJoZWFydGJlYXQiLAorCX0KK307CisKKworc3RhdGljIHZvaWQgX19pbml0IGVrX2JvYXJkX2luaXQodm9pZCkKK3sKKwkvKiBTZXJpYWwgKi8KKwlhdDkxX2FkZF9kZXZpY2Vfc2VyaWFsKCk7CisJLyogVVNCIEhvc3QgKi8KKwlhdDkxX2FkZF9kZXZpY2VfdXNiaCgmZWtfdXNiaF9kYXRhKTsKKwkvKiBVU0IgRGV2aWNlICovCisJYXQ5MV9hZGRfZGV2aWNlX3VkYygmZWtfdWRjX2RhdGEpOworCS8qIFNQSSAqLworCWF0OTFfYWRkX2RldmljZV9zcGkoZWtfc3BpX2RldmljZXMsIEFSUkFZX1NJWkUoZWtfc3BpX2RldmljZXMpKTsKKwkvKiBFdGhlcm5ldCAqLworCWF0OTFfYWRkX2RldmljZV9ldGgoJmVrX21hY2JfZGF0YSk7CisJLyogTkFORCAqLworCWF0OTFfYWRkX2RldmljZV9uYW5kKCZla19uYW5kX2RhdGEpOworCS8qIEkyQyAqLworCWF0OTFfYWRkX2RldmljZV9pMmMoTlVMTCwgMCk7CisJLyogUHVzaCBCdXR0b25zICovCisJZWtfYWRkX2RldmljZV9idXR0b25zKCk7CisJLyogTEVEcyAqLworCWF0OTFfZ3Bpb19sZWRzKGVrX2xlZHMsIEFSUkFZX1NJWkUoZWtfbGVkcykpOworCS8qIHNodXRkb3duIGNvbnRyb2xsZXIsIHdha2V1cCBidXR0b24gKDUgbXNlYyBsb3cpICovCisJYXQ5MV9zeXNfd3JpdGUoQVQ5MV9TSERXX01SLCBBVDkxX1NIRFdfQ1BUV0swXygxMCkgfCBBVDkxX1NIRFdfV0tNT0RFMF9MT1cKKwkJCQl8IEFUOTFfU0hEV19SVFRXS0VOKTsKK30KKworTUFDSElORV9TVEFSVChVU0JfQTkyNjMsICJDQUxBTyBVU0JfQTkyNjMiKQorCS8qIE1haW50YWluZXI6IGNhbGFvLXN5c3RlbXMgKi8KKwkucGh5c19pbwk9IEFUOTFfQkFTRV9TWVMsCisJLmlvX3BnX29mZnN0CT0gKEFUOTFfVkFfQkFTRV9TWVMgPj4gMTgpICYgMHhmZmZjLAorCS5ib290X3BhcmFtcwk9IEFUOTFfU0RSQU1fQkFTRSArIDB4MTAwLAorCS50aW1lcgkJPSAmYXQ5MXNhbTkyNnhfdGltZXIsCisJLm1hcF9pbwkJPSBla19tYXBfaW8sCisJLmluaXRfaXJxCT0gZWtfaW5pdF9pcnEsCisJLmluaXRfbWFjaGluZQk9IGVrX2JvYXJkX2luaXQsCitNQUNISU5FX0VORApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1hdDkxL2JvYXJkLXlsLTkyMDAuYyBiL2FyY2gvYXJtL21hY2gtYXQ5MS9ib2FyZC15bC05MjAwLmMKaW5kZXggYjU3MTcxMC4uNzA3OTA1MCAxMDA3NTUKLS0tIGEvYXJjaC9hcm0vbWFjaC1hdDkxL2JvYXJkLXlsLTkyMDAuYworKysgYi9hcmNoL2FybS9tYWNoLWF0OTEvYm9hcmQteWwtOTIwMC5jCkBAIC0xLDExICsxLDEwIEBACiAvKgogICogbGludXgvYXJjaC9hcm0vbWFjaC1hdDkxL2JvYXJkLXlsLTkyMDAuYwogICoKLSAqIEFkYXB0ZWQgZnJvbToKLSAqdmFyaW91cyBib2FyZCBmaWxlcyBpbgotICogL2FyY2gvYXJtL21hY2gtYXQ5MQotICogbW9kaWZpY2F0aW9ucyAgdG8gY29udmVydCB0byAgWUwtOTIwMCBwbGF0Zm9ybQotICogIENvcHlyaWdodCAoQykgMjAwNyBTLkJpcnRsZXMKKyAqIEFkYXB0ZWQgZnJvbSB2YXJpb3VzIGJvYXJkIGZpbGVzIGluIGFyY2gvYXJtL21hY2gtYXQ5MQorICoKKyAqIE1vZGlmaWNhdGlvbnMgZm9yIFlMLTkyMDAgcGxhdGZvcm06CisgKiAgQ29weXJpZ2h0IChDKSAyMDA3IFMuIEJpcnRsZXMKICAqCiAgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQogICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKQEAgLTI2LDEzICsyNSwxNCBAQAogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KICNpbmNsdWRlIDxsaW51eC9tbS5oPgogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L2RtYS1tYXBwaW5nLmg+CiAjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CiAjaW5jbHVkZSA8bGludXgvc3BpL3NwaS5oPgotLyojaW5jbHVkZSA8bGludXgvY2FuX2J1cy9jYW5kYXRhLmg+Ki8KICNpbmNsdWRlIDxsaW51eC9zcGkvYWRzNzg0Ni5oPgogI2luY2x1ZGUgPGxpbnV4L210ZC9waHlzbWFwLmg+CisjaW5jbHVkZSA8bGludXgvZ3Bpb19rZXlzLmg+CisjaW5jbHVkZSA8bGludXgvaW5wdXQuaD4KIAotLyojaW5jbHVkZSA8c291bmQvZ3Bpb19zb3VuZGVyLmg+Ki8KICNpbmNsdWRlIDxhc20vaGFyZHdhcmUuaD4KICNpbmNsdWRlIDxhc20vc2V0dXAuaD4KICNpbmNsdWRlIDxhc20vbWFjaC10eXBlcy5oPgpAQCAtNDUsMTc5ICs0NSwxMDggQEAKICNpbmNsdWRlIDxhc20vYXJjaC9ib2FyZC5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL2dwaW8uaD4KICNpbmNsdWRlIDxhc20vYXJjaC9hdDkxcm05MjAwX21jLmg+Ci0jaW5jbHVkZSA8bGludXgvZ3Bpb19rZXlzLmg+Ci0jaW5jbHVkZSA8bGludXgvaW5wdXQuaD4KIAogI2luY2x1ZGUgImdlbmVyaWMuaCIKLSNpbmNsdWRlIDxhc20vYXJjaC9hdDkxX3Bpby5oPgogCi0jZGVmaW5lIFlMXzkyMDBfRkxBU0hfQkFTRQlBVDkxX0NISVBTRUxFQ1RfMAotI2RlZmluZSBZTF85MjAwX0ZMQVNIX1NJWkUJMHg4MDAwMDAKIAotLyoKLSAqIFNlcmlhbCBwb3J0IGNvbmZpZ3VyYXRpb24uCi0gKiAgICAwIC4uIDMgPSBVU0FSVDAgLi4gVVNBUlQzCi0gKiAgICA0ICAgICAgPSBEQkdVCi0gKmF0bWVsX3VzYXJ0LjA6IHR0eVMwIGF0IE1NSU8gMHhmZWZmZjIwMCAoaXJxID0gMSkgaXMgYSBBVE1FTF9TRVJJQUwKLSAqYXRtZWxfdXNhcnQuMTogdHR5UzEgYXQgTU1JTyAweGZmZmMwMDAwIChpcnEgPSA2KSBpcyBhIEFUTUVMX1NFUklBTAotICphdG1lbF91c2FydC4yOiB0dHlTMiBhdCBNTUlPIDB4ZmZmYzQwMDAgKGlycSA9IDcpIGlzIGEgQVRNRUxfU0VSSUFMCi0gKmF0bWVsX3VzYXJ0LjM6IHR0eVMzIGF0IE1NSU8gMHhmZmZjODAwMCAoaXJxID0gOCkgaXMgYSBBVE1FTF9TRVJJQUwKLSAqYXRtZWxfdXNhcnQuNDogdHR5UzQgYXQgTU1JTyAweGZmZmNjMDAwIChpcnEgPSA5KSBpcyBhIEFUTUVMX1NFUklBTAotICogb24gdGhlIFlMLTkyMDAgd2UgYXJlIHNpdHRpbmcgYXQgdGhlIGZvbGxvd2luZwotICp0dHlTMCBhdCBNTUlPIDB4ZmVmZmYyMDAgKGlycSA9IDEpIGlzIGEgQVQ5MV9TRVJJQUwKLSAqdHR5UzEgYXQgTU1JTyAweGZlZmM0MDAwIChpcnEgPSA3KSBpcyBhIEFUOTFfU0VSSUFMCi0gKi8KLQotLyogZXh0ZXJuIHZvaWQgX19pbml0IHlsXzkyMDBfYWRkX2RldmljZV9zb3VuZGVyKHN0cnVjdCBncGlvX3NvdW5kZXIgKnNvdW5kZXJzLCBpbnQgbnIpOyovCi0KLXN0YXRpYyBzdHJ1Y3QgYXQ5MV91YXJ0X2NvbmZpZyBfX2luaXRkYXRhIHlsXzkyMDBfdWFydF9jb25maWcgPSB7Ci0JLmNvbnNvbGVfdHR5CT0gMCwJCQkJLyogdHR5UzAgKi8KLQkubnJfdHR5CQk9IDMsCi0JLnR0eV9tYXAJPSB7IDQsIDEsIDAsIC0xLCAtMSB9CQkvKiB0dHlTMCwgLi4uLCB0dHlTNCAqLwotfTsKLQotc3RhdGljIHZvaWQgX19pbml0IHlsXzkyMDBfbWFwX2lvKHZvaWQpCitzdGF0aWMgdm9pZCBfX2luaXQgeWw5MjAwX21hcF9pbyh2b2lkKQogewogCS8qIEluaXRpYWxpemUgcHJvY2Vzc29yOiAxOC40MzIgTUh6IGNyeXN0YWwgKi8KLQkvKkFsc28gaW5pdGlhbGlzZXMgcmVnaXN0ZXIgY2xvY2tzICYgZ3BpbyovCi0JYXQ5MXJtOTIwMF9pbml0aWFsaXplKDE4NDMyMDAwLCBBVDkxUk05MjAwX1BRRlApOyAvKndlIGhhdmUgYSAzIGJhbmsgc3lzdGVtKi8KKwlhdDkxcm05MjAwX2luaXRpYWxpemUoMTg0MzIwMDAsIEFUOTFSTTkyMDBfUFFGUCk7CiAKLQkvKiBTZXR1cCB0aGUgc2VyaWFsIHBvcnRzIGFuZCBjb25zb2xlICovCi0JYXQ5MV9pbml0X3NlcmlhbCgmeWxfOTIwMF91YXJ0X2NvbmZpZyk7CisJLyogU2V0dXAgdGhlIExFRHMgRDI9UEIxNyAodGltZXIpLCBEMz1QQjE2IChjcHUpICovCisJYXQ5MV9pbml0X2xlZHMoQVQ5MV9QSU5fUEIxNiwgQVQ5MV9QSU5fUEIxNyk7CiAKLQkvKiBTZXR1cCB0aGUgTEVEcyBEMj1QQjE3LEQzPVBCMTYgKi8KLQlhdDkxX2luaXRfbGVkcyhBVDkxX1BJTl9QQjE2LEFUOTFfUElOX1BCMTcpOyAvKmNwdS1sZWQsdGltZXItbGVkKi8KKwkvKiBEQkdVIG9uIHR0eVMwLiAoUnggJiBUeCBvbmx5KSAqLworCWF0OTFfcmVnaXN0ZXJfdWFydCgwLCAwLCAwKTsKKworCS8qIFVTQVJUMSBvbiB0dHlTMS4gKFJ4LCBUeCwgQ1RTLCBSVFMsIERUUiwgRFNSLCBEQ0QsIFJJKSAqLworCWF0OTFfcmVnaXN0ZXJfdWFydChBVDkxUk05MjAwX0lEX1VTMSwgMSwgQVRNRUxfVUFSVF9DVFMgfCBBVE1FTF9VQVJUX1JUUworCQkJfCBBVE1FTF9VQVJUX0RUUiB8IEFUTUVMX1VBUlRfRFNSIHwgQVRNRUxfVUFSVF9EQ0QKKwkJCXwgQVRNRUxfVUFSVF9SSSk7CisKKwkvKiBVU0FSVDAgb24gdHR5UzIuIChSeCAmIFR4IG9ubHkgdG8gSlAzKSAqLworCWF0OTFfcmVnaXN0ZXJfdWFydChBVDkxUk05MjAwX0lEX1VTMCwgMiwgMCk7CisKKwkvKiBVU0FSVDMgb24gdHR5UzMuIChSeCwgVHgsIFJUUyAtIFJTNDg1IGludGVyZmFjZSkgKi8KKwlhdDkxX3JlZ2lzdGVyX3VhcnQoQVQ5MVJNOTIwMF9JRF9VUzMsIDMsIEFUTUVMX1VBUlRfUlRTKTsKKworCS8qIHNldCBzZXJpYWwgY29uc29sZSB0byB0dHlTMCAoaWUsIERCR1UpICovCisJYXQ5MV9zZXRfc2VyaWFsX2NvbnNvbGUoMCk7CiB9CiAKLXN0YXRpYyB2b2lkIF9faW5pdCB5bF85MjAwX2luaXRfaXJxKHZvaWQpCitzdGF0aWMgdm9pZCBfX2luaXQgeWw5MjAwX2luaXRfaXJxKHZvaWQpCiB7CiAJYXQ5MXJtOTIwMF9pbml0X2ludGVycnVwdHMoTlVMTCk7CiB9CiAKLXN0YXRpYyBzdHJ1Y3QgYXQ5MV9ldGhfZGF0YSBfX2luaXRkYXRhIHlsXzkyMDBfZXRoX2RhdGEgPSB7Ci0JLnBoeV9pcnFfcGluCT0gQVQ5MV9QSU5fUEIyOCwKLQkuaXNfcm1paQk9IDEsCi19OwogCi1zdGF0aWMgc3RydWN0IGF0OTFfdXNiaF9kYXRhIF9faW5pdGRhdGEgeWxfOTIwMF91c2JoX2RhdGEgPSB7Ci0JLnBvcnRzCQk9IDEsICAvKiB0aGlzIHNob3VsZCBiZSAxIG5vdCAyIGZvciB0aGUgWWw5MjAwKi8KLX07Ci0KLXN0YXRpYyBzdHJ1Y3QgYXQ5MV91ZGNfZGF0YSBfX2luaXRkYXRhIHlsXzkyMDBfdWRjX2RhdGEgPSB7Ci0vKm9uIHNoZWV0IDcgU2NoZW1pdGljIHJldiAxLjAqLwotCS5wdWxsdXBfcGluCT0gQVQ5MV9QSU5fUEM0LAotCS52YnVzX3Bpbj0gIEFUOTFfUElOX1BDNSwKLQkucHVsbHVwX2FjdGl2ZV9sb3cgPSAxLCAvKkFDVElWRSBMT1chISBkdWUgdG8gUE5QIHRyYW5zaXN0b3Igb24gcGFnZSA3Ki8KLQotfTsKIC8qCi1zdGF0aWMgc3RydWN0IGF0OTFfY2ZfZGF0YSBfX2luaXRkYXRhIHlsXzkyMDBfY2ZfZGF0YSA9IHsKLVRPRE8gUy5CSVJUTEVTCi0JLmRldF9waW4JPSBBVDkxX1BJTl94eHgsCi0JLnJzdF9waW4JPSBBVDkxX1BJTl94eHgsCi0JLmlycV9waW4JPSAuLi4gbm90IGNvbm5lY3RlZAotCS52Y2NfcGluCT0gLi4uIGFsd2F5cyBwb3dlcmVkCisgKiBMRURzCisgKi8KK3N0YXRpYyBzdHJ1Y3QgZ3Bpb19sZWQgeWw5MjAwX2xlZHNbXSA9IHsKKwl7CS8qIEQyICovCisJCS5uYW1lCQkJPSAibGVkMiIsCisJCS5ncGlvCQkJPSBBVDkxX1BJTl9QQjE3LAorCQkuYWN0aXZlX2xvdwkJPSAxLAorCQkuZGVmYXVsdF90cmlnZ2VyCT0gInRpbWVyIiwKKwl9LAorCXsJLyogRDMgKi8KKwkJLm5hbWUJCQk9ICJsZWQzIiwKKwkJLmdwaW8JCQk9IEFUOTFfUElOX1BCMTYsCisJCS5hY3RpdmVfbG93CQk9IDEsCisJCS5kZWZhdWx0X3RyaWdnZXIJPSAiaGVhcnRiZWF0IiwKKwl9LAorCXsJLyogRDQgKi8KKwkJLm5hbWUJCQk9ICJsZWQ0IiwKKwkJLmdwaW8JCQk9IEFUOTFfUElOX1BCMTUsCisJCS5hY3RpdmVfbG93CQk9IDEsCisJfSwKKwl7CS8qIEQ1ICovCisJCS5uYW1lCQkJPSAibGVkNSIsCisJCS5ncGlvCQkJPSBBVDkxX1BJTl9QQjgsCisJCS5hY3RpdmVfbG93CQk9IDEsCisJfQorfTsKKworLyoKKyAqIEV0aGVybmV0CisgKi8KK3N0YXRpYyBzdHJ1Y3QgYXQ5MV9ldGhfZGF0YSBfX2luaXRkYXRhIHlsOTIwMF9ldGhfZGF0YSA9IHsKKwkucGh5X2lycV9waW4JCT0gQVQ5MV9QSU5fUEIyOCwKKwkuaXNfcm1paQkJPSAxLAorfTsKKworLyoKKyAqIFVTQiBIb3N0CisgKi8KK3N0YXRpYyBzdHJ1Y3QgYXQ5MV91c2JoX2RhdGEgX19pbml0ZGF0YSB5bDkyMDBfdXNiaF9kYXRhID0geworCS5wb3J0cwkJCT0gMSwJLyogUFFGUCB2ZXJzaW9uIG9mIEFUOTFSTTkyMDAgKi8KK307CisKKy8qCisgKiBVU0IgRGV2aWNlCisgKi8KK3N0YXRpYyBzdHJ1Y3QgYXQ5MV91ZGNfZGF0YSBfX2luaXRkYXRhIHlsOTIwMF91ZGNfZGF0YSA9IHsKKwkucHVsbHVwX3BpbgkJPSBBVDkxX1BJTl9QQzQsCisJLnZidXNfcGluCQk9IEFUOTFfUElOX1BDNSwKKwkucHVsbHVwX2FjdGl2ZV9sb3cJPSAxLAkvKiBBY3RpdmUgTG93IGR1ZSB0byBQTlAgdHJhbnNpc3RvciAocGcgNykgKi8KIAogfTsKLSovCi1zdGF0aWMgc3RydWN0IGF0OTFfbW1jX2RhdGEgX19pbml0ZGF0YSB5bF85MjAwX21tY19kYXRhID0gewotCS5kZXRfcGluCT0gQVQ5MV9QSU5fUEI5LCAvKlRISVMgTE9PS1MgQ09SUkVDVCBTSEVFVDcqLwotLyoJLndwX3BpbgkJPSAuLi4gbm90IGNvbm5lY3RlZCAgU0hFRVQ3Ki8KLQkuc2xvdF9iCQk9IDAsCisKKy8qCisgKiBNTUMKKyAqLworc3RhdGljIHN0cnVjdCBhdDkxX21tY19kYXRhIF9faW5pdGRhdGEgeWw5MjAwX21tY19kYXRhID0geworCS5kZXRfcGluCT0gQVQ5MV9QSU5fUEI5LAorCS8vIC53cF9waW4JPSAuLi4gbm90IGNvbm5lY3RlZAogCS53aXJlNAkJPSAxLAotCiB9OwogCi0vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotICogIFRvdWNoIHNjcmVlbgotICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KLSNpZiBkZWZpbmVkKENPTkZJR19UT1VDSFNDUkVFTl9BRFM3ODQ2KSB8fCBkZWZpbmVkKENPTkZJR19UT1VDSFNDUkVFTl9BRFM3ODQ2X01PRFVMRSkKLXN0YXRpYyBpbnQgYWRzNzg0M19wZW5kb3duX3N0YXRlKHZvaWQpCi17Ci0JcmV0dXJuICFhdDkxX2dldF9ncGlvX3ZhbHVlKEFUOTFfUElOX1BCMTEpOwkvKiBUb3VjaHNjcmVlbiBQRU5JUlEgKi8KLX0KLQotc3RhdGljIHZvaWQgX19pbml0IGF0OTFfaW5pdF9kZXZpY2VfdHModm9pZCkKLXsKLS8qSU1QT1JUQU5UIE5PVEUgVEhFIFNQSSBJTlRFUkZBQ0UgSVMgQUxSRUFEWSBDT05GSUdVUkVEIEJZIFhYWF9ERVZJQ0VTLkMKLVRIQVQgSVMgVE8gU0FZIFRIQVQgIE1JU08sTU9TSSxTUENLIEFORCBDUyAgYXJlIGFscmVhZHkgY29uZmlndXJlZAotd2Ugb25seSBuZWVkIHRvIGVuYWJsZSB0aGUgb3RoZXIgZGF0YXBpbnMgd2hpY2ggYXJlOgotUEIxMC9SSzEgQlVTWQotKi8KLS8qIFRvdWNoc2NyZWVuIEJVU1kgc2lnbmFsICwgIHBpbix1c2UgcHVsbHVwICggVE9ETyBub3QgY3VycmVudGx5IHVzZWQgaW4gdGhlIEFEUzc4NDMvNi5jIGRyaXZlcikqLwotYXQ5MV9zZXRfZ3Bpb19pbnB1dChBVDkxX1BJTl9QQjEwLCAxKTsKLX0KLQotI2Vsc2UKLXN0YXRpYyB2b2lkIF9faW5pdCBhdDkxX2luaXRfZGV2aWNlX3RzKHZvaWQpIHt9Ci0jZW5kaWYKLQotc3RhdGljIHN0cnVjdCBhZHM3ODQ2X3BsYXRmb3JtX2RhdGEgYWRzX2luZm8gPSB7Ci0JLm1vZGVsCQkJPSA3ODQzLAotCS54X21pbgkJCT0gMTUwLAotCS54X21heAkJCT0gMzgzMCwKLQkueV9taW4JCQk9IDE5MCwKLQkueV9tYXgJCQk9IDM4MzAsCi0JLnZyZWZfZGVsYXlfdXNlY3MJPSAxMDAsCi0vKiBmb3IgYSA4IiB0b3VjaCBzY3JlZW4qLwotCS8vLnhfcGxhdGVfb2htcwkJPSA2MDMsIC8vPSA0NTAsIFMuQmlydGxlcyBUT0RPCi0JLy8ueV9wbGF0ZV9vaG1zCQk9IDMzMiwgLy89IDI1MCwgUy5CaXJ0bGVzIFRPRE8KLS8qZm9yIGEgMTAuNCIgdG91Y2ggc2NyZWVuKi8KLQkvLy54X3BsYXRlX29obXMJCT02MTEsCi0JLy8ueV9wbGF0ZV9vaG1zCQk9MzI1LAotCi0JLnhfcGxhdGVfb2htcwk9IDU3NiwKLQkueV9wbGF0ZV9vaG1zCT0gMzY2LAotCQkvLwotCS5wcmVzc3VyZV9tYXgJCT0gMTUwMDAsIC8qZ2VuZXJhbGx5IG5vbnNlbnNlIG9uIHRoZSA3ODQzKi8KLQkgLypudW1iZXIgb2YgdGltZXMgdG8gc2VuZCBxdWVyeSB0byBjaGlwIGluIGEgZ2l2ZW4gcnVuIDAgZXF1YWxzIG9uZSB0aW1lIChkbyBub3Qgc2V0IHRvIDAhISAsdGhlcmUgaXMgYSBidWcgaW4gQURTIDc4NDYgY29kZSkqLwotCS5kZWJvdW5jZV9tYXgJCT0gMSwKLQkuZGVib3VuY2VfcmVwCQk9IDAsCi0JLmRlYm91bmNlX3RvbAkJPSAofjApLAotCS5nZXRfcGVuZG93bl9zdGF0ZQk9IGFkczc4NDNfcGVuZG93bl9zdGF0ZSwKLX07Ci0KLS8qc3RhdGljIHN0cnVjdCBjYW5idXNfcGxhdGZvcm1fZGF0YSBjYW5faW5mbyA9IHsKLQkubW9kZWwJCQk9IDI1MTAsCi19OwotKi8KLQotc3RhdGljIHN0cnVjdCBzcGlfYm9hcmRfaW5mbyB5bF85MjAwX3NwaV9kZXZpY2VzW10gPSB7Ci0vKnRoaXMgc3RpY2tzIGl0IGF0OgotIC9zeXMvZGV2aWNlcy9wbGF0Zm9ybS9hdG1lbF9zcGkuMC9zcGkwLjAKLSAvc3lzL2J1cy9wbGF0Zm9ybS9kZXZpY2VzLwotRG9jdW1lbnRhdGlvbi9zcGkgSUlSQyovCi0KLSNpZiBkZWZpbmVkKENPTkZJR19UT1VDSFNDUkVFTl9BRFM3ODQ2KSB8fCBkZWZpbmVkKENPTkZJR19UT1VDSFNDUkVFTl9BRFM3ODQ2X01PRFVMRSkKLSAvKih0aGlzIElTIGNvcnJlY3QgMDQtTk9WLTIwMDcpKi8KLQl7Ci0JCS5tb2RhbGlhcwkJPSAiYWRzNzg0NiIsIC8qIGJlY2F1c2UgdGhlIGRyaXZlciBpcyBjYWxsZWQgYWRzNzg0NiovCi0JCS5jaGlwX3NlbGVjdAk9IDAsIC8qVEhJUyBNVVNUIEJFIEFOIElOREVYIElOVE8gQU4gQVJSQVkgT0YgIHBpbnMgKi8KLS8qdGhpcyBpcyBPTkxZIFRPIEJFIFVTRUQgaWYgY2hpcHNlbGVjdCBhYm92ZSBpcyBub3QgdXNlZCwgaXQgcGFzc2VzIGEgcGluIGRpcmVjdGx5IGZvciB0aGUgY2hpcCBzZWxlY3QqLwotCQkvKi5jb250cm9sbGVyX2RhdGEgPUFUOTFfUElOX1BBMyAsKi8KLQkJLm1heF9zcGVlZF9oegk9IDUwMDAqMjYsIC8qKDQ3MDAgKiAyNiktMTI1MDAwICogMjYsIChtYXggc2FtcGxlIHJhdGUgQCAzVikgKiAoY21kICsgZGF0YSArIG92ZXJoZWFkKSAqLwotCQkuYnVzX251bQkJPSAwLAotCQkucGxhdGZvcm1fZGF0YQk9ICZhZHNfaW5mbywKLQkJLmlycQkJCT0gQVQ5MV9QSU5fUEIxMSwKLQl9LAotI2VuZGlmCi0vKndlIG5lZWQgdG8gcHV0IG91ciBDQU4gZHJpdmVyIGRhdGEgaGVyZSEhKi8KLS8qVEhJUyBJUyBBTEwgRFVNTVkgREFUQSovCi0vKgl7Ci0JCS5tb2RhbGlhcwkJPSAibWNwMjUxMCIsIC8vRFVNTVkgZm9yIE1DUDI1MTAgY2hpcAotCQkuY2hpcF9zZWxlY3QJPSAxLCovIC8qVEhJUyBNVVNUIEJFIEFOIElOREVYIElOVE8gQU4gQVJSQVkgT0YgIHBpbnMgKi8KLQkvKnRoaXMgaXMgT05MWSBUTyBCRSBVU0VEIGlmIGNoaXBzZWxlY3QgYWJvdmUgaXMgbm90IHVzZWQsIGl0IHBhc3NlcyBhIHBpbiBkaXJlY3RseSBmb3IgdGhlIGNoaXAgc2VsZWN0ICovCi0JLyogIC5jb250cm9sbGVyX2RhdGEgPUFUOTFfUElOX1BBNCAsCi0JCS5tYXhfc3BlZWRfaHoJPSAyNTAwMCAqIDI2LAotCQkuYnVzX251bQkJPSAwLAotCQkucGxhdGZvcm1fZGF0YQk9ICZjYW5faW5mbywKLQkJLmlycQkJCT0gQVQ5MV9QSU5fUEMwLAotCX0sCi0JKi8KLQkvL21heCBTUEkgY2hpcCBuZWVkcyB0byBnbyBoZXJlCi19OwotCi1zdGF0aWMgc3RydWN0IG10ZF9wYXJ0aXRpb24gX19pbml0ZGF0YSB5bF85MjAwX25hbmRfcGFydGl0aW9uW10gPSB7CisvKgorICogTkFORCBGbGFzaAorICovCitzdGF0aWMgc3RydWN0IG10ZF9wYXJ0aXRpb24gX19pbml0ZGF0YSB5bDkyMDBfbmFuZF9wYXJ0aXRpb25bXSA9IHsKIAl7CiAJCS5uYW1lCT0gIkFUOTEgTkFORCBwYXJ0aXRpb24gMSwgYm9vdCIsCiAJCS5vZmZzZXQJPSAwLApAQCAtMjQyLDQ0MiArMTcxLDQzNCBAQAogCQkubmFtZQk9ICJBVDkxIE5BTkQgcGFydGl0aW9uIDUsIGV4dC1mcyIsCiAJCS5vZmZzZXQJPSAzMiAqIFNaXzFNLAogCQkuc2l6ZQk9IDMyICogU1pfMU0KLQl9LAorCX0KIH07CiAKIHN0YXRpYyBzdHJ1Y3QgbXRkX3BhcnRpdGlvbiAqIF9faW5pdCBuYW5kX3BhcnRpdGlvbnMoaW50IHNpemUsIGludCAqbnVtX3BhcnRpdGlvbnMpCiB7Ci0JKm51bV9wYXJ0aXRpb25zID0gQVJSQVlfU0laRSh5bF85MjAwX25hbmRfcGFydGl0aW9uKTsKLQlyZXR1cm4geWxfOTIwMF9uYW5kX3BhcnRpdGlvbjsKKwkqbnVtX3BhcnRpdGlvbnMgPSBBUlJBWV9TSVpFKHlsOTIwMF9uYW5kX3BhcnRpdGlvbik7CisJcmV0dXJuIHlsOTIwMF9uYW5kX3BhcnRpdGlvbjsKIH0KIAotc3RhdGljIHN0cnVjdCBhdDkxX25hbmRfZGF0YSBfX2luaXRkYXRhIHlsXzkyMDBfbmFuZF9kYXRhID0gewotCS5hbGU9IDYsCi0JLmNsZT0gNywKLQkvKi5kZXRfcGluCT0gQVQ5MV9QSU5fUEN4eCwqLyAgIC8qd2UgZG9uJ3QgaGF2ZSBhIGRldCBwaW4gYmVjYXVzZSBOYW5kRmxhc2ggaXMgZml4ZWQgdG8gYm9hcmQqLwotCS5yZHlfcGluCT0gQVQ5MV9QSU5fUEMxNCwgIC8qUi8hQiBTaGVldDEwKi8KLQkuZW5hYmxlX3Bpbgk9IEFUOTFfUElOX1BDMTUsICAvKiFDRSAgU2hlZXQxMCAqLworc3RhdGljIHN0cnVjdCBhdDkxX25hbmRfZGF0YSBfX2luaXRkYXRhIHlsOTIwMF9uYW5kX2RhdGEgPSB7CisJLmFsZQkJPSA2LAorCS5jbGUJCT0gNywKKwkvLyAuZGV0X3Bpbgk9IC4uLiBub3QgY29ubmVjdGVkCisJLnJkeV9waW4JPSBBVDkxX1BJTl9QQzE0LAkvKiBSLyFCIChTaGVldDEwKSAqLworCS5lbmFibGVfcGluCT0gQVQ5MV9QSU5fUEMxNSwJLyogIUNFICAoU2hlZXQxMCkgKi8KIAkucGFydGl0aW9uX2luZm8JPSBuYW5kX3BhcnRpdGlvbnMsCiB9OwogCi0KLQogLyoKLVRPRE8gUy5CaXJ0bGVzCi1wb3RlbnRpYWxseSBhIHByb2JsZW0gd2l0aCB0aGUgc2l6ZSBhYm92ZQotcGh5c21hcCBwbGF0Zm9ybSBmbGFzaCBkZXZpY2U6IDAwODAwMDAwIGF0IDEwMDAwMDAwCi1waHlzbWFwLWZsYXNoLjA6IEZvdW5kIDEgeDE2IGRldmljZXMgYXQgMHgwIGluIDE2LWJpdCBiYW5rCi1OT1IgY2hpcCB0b28gbGFyZ2UgdG8gZml0IGluIG1hcHBpbmcuIEF0dGVtcHRpbmcgdG8gY29wZS4uLgotIEludGVsL1NoYXJwIEV4dGVuZGVkIFF1ZXJ5IFRhYmxlIGF0IDB4MDAzMQotVXNpbmcgYnVmZmVyIHdyaXRlIG1ldGhvZAotY2ZpX2NtZHNldF8wMDAxOiBFcmFzZSBzdXNwZW5kIG9uIHdyaXRlIGVuYWJsZWQKLVJlZHVjaW5nIHZpc2liaWxpdHkgb2YgMTYzODRLaUIgY2hpcCB0byA4MTkyS2lCCi0qLworICogTk9SIEZsYXNoCisgKi8KKyNkZWZpbmUgWUw5MjAwX0ZMQVNIX0JBU0UJQVQ5MV9DSElQU0VMRUNUXzAKKyNkZWZpbmUgWUw5MjAwX0ZMQVNIX1NJWkUJMHgxMDAwMDAwCiAKLXN0YXRpYyBzdHJ1Y3QgbXRkX3BhcnRpdGlvbiB5bF85MjAwX2ZsYXNoX3BhcnRpdGlvbnNbXSA9IHsKK3N0YXRpYyBzdHJ1Y3QgbXRkX3BhcnRpdGlvbiB5bDkyMDBfZmxhc2hfcGFydGl0aW9uc1tdID0gewogCXsKLQkJLm5hbWUgPQkJIkJvb3Rsb2FkZXIiLAotCQkuc2l6ZSA9CQkweDAwMDQwMDAwLAotCQkub2Zmc2V0ID0JMCwKLQkJLm1hc2tfZmxhZ3MgPQlNVERfV1JJVEVBQkxFICAvKiBmb3JjZSByZWFkLW9ubHkgKi8KLQl9LHsKLQkJLm5hbWUgPQkJIktlcm5lbCIsCi0JCS5zaXplID0JCTB4MDAxQzAwMDAsCi0JCS5vZmZzZXQgPQkweDAwMDQwMDAwLAotCX0sewotCQkubmFtZSA9CQkiRmlsZXN5c3RlbSIsCi0JCS5zaXplID0JCU1URFBBUlRfU0laX0ZVTEwsCi0JCS5vZmZzZXQgPQkweDAwMjAwMDAwCi0JfQotCi19OwotCi1zdGF0aWMgc3RydWN0IHBoeXNtYXBfZmxhc2hfZGF0YSB5bF85MjAwX2ZsYXNoX2RhdGEgPSB7Ci0JLndpZHRoCT0gMiwKLQkucGFydHMgICAgICAgICAgPSB5bF85MjAwX2ZsYXNoX3BhcnRpdGlvbnMsCi0JLm5yX3BhcnRzICAgICAgID0gQVJSQVlfU0laRSh5bF85MjAwX2ZsYXNoX3BhcnRpdGlvbnMpLAotfTsKLQotc3RhdGljIHN0cnVjdCByZXNvdXJjZSB5bF85MjAwX2ZsYXNoX3Jlc291cmNlc1tdID0gewotewotCS5zdGFydAkJPSBZTF85MjAwX0ZMQVNIX0JBU0UsCi0JLmVuZAkJPSBZTF85MjAwX0ZMQVNIX0JBU0UgKyBZTF85MjAwX0ZMQVNIX1NJWkUgLSAxLAotCS5mbGFncwkJPSBJT1JFU09VUkNFX01FTSwKKwkJLm5hbWUJCT0gIkJvb3Rsb2FkZXIiLAorCQkuc2l6ZQkJPSAweDAwMDQwMDAwLAorCQkub2Zmc2V0CQk9IDAsCisJCS5tYXNrX2ZsYWdzCT0gTVREX1dSSVRFQUJMRSwJLyogZm9yY2UgcmVhZC1vbmx5ICovCisJfSwKKwl7CisJCS5uYW1lCQk9ICJLZXJuZWwiLAorCQkuc2l6ZQkJPSAweDAwMUMwMDAwLAorCQkub2Zmc2V0CQk9IDB4MDAwNDAwMDAsCisJfSwKKwl7CisJCS5uYW1lCQk9ICJGaWxlc3lzdGVtIiwKKwkJLnNpemUJCT0gTVREUEFSVF9TSVpfRlVMTCwKKwkJLm9mZnNldAkJPSAweDAwMjAwMDAwCiAJfQogfTsKIAotc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgeWxfOTIwMF9mbGFzaCA9IHsKK3N0YXRpYyBzdHJ1Y3QgcGh5c21hcF9mbGFzaF9kYXRhIHlsOTIwMF9mbGFzaF9kYXRhID0geworCS53aWR0aAkJPSAyLAorCS5wYXJ0cwkJPSB5bDkyMDBfZmxhc2hfcGFydGl0aW9ucywKKwkubnJfcGFydHMJPSBBUlJBWV9TSVpFKHlsOTIwMF9mbGFzaF9wYXJ0aXRpb25zKSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgeWw5MjAwX2ZsYXNoX3Jlc291cmNlc1tdID0geworCXsKKwkJLnN0YXJ0CT0gWUw5MjAwX0ZMQVNIX0JBU0UsCisJCS5lbmQJPSBZTDkyMDBfRkxBU0hfQkFTRSArIFlMOTIwMF9GTEFTSF9TSVpFIC0gMSwKKwkJLmZsYWdzCT0gSU9SRVNPVVJDRV9NRU0sCisJfQorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgeWw5MjAwX2ZsYXNoID0gewogCS5uYW1lCQk9ICJwaHlzbWFwLWZsYXNoIiwKIAkuaWQJCT0gMCwKIAkuZGV2CQk9IHsKLQkJCQkucGxhdGZvcm1fZGF0YQk9ICZ5bF85MjAwX2ZsYXNoX2RhdGEsCisJCQkJLnBsYXRmb3JtX2RhdGEJPSAmeWw5MjAwX2ZsYXNoX2RhdGEsCiAJCQl9LAotCS5yZXNvdXJjZQk9IHlsXzkyMDBfZmxhc2hfcmVzb3VyY2VzLAotCS5udW1fcmVzb3VyY2VzICA9IEFSUkFZX1NJWkUoeWxfOTIwMF9mbGFzaF9yZXNvdXJjZXMpLAorCS5yZXNvdXJjZQk9IHlsOTIwMF9mbGFzaF9yZXNvdXJjZXMsCisJLm51bV9yZXNvdXJjZXMJPSBBUlJBWV9TSVpFKHlsOTIwMF9mbGFzaF9yZXNvdXJjZXMpLAogfTsKIAotCi1zdGF0aWMgc3RydWN0IGdwaW9fbGVkIHlsXzkyMDBfbGVkc1tdID0gewotLypEMiAmRDMgYXJlIHBhc3NlZCBkaXJlY3RseSBpbiB2aWEgYXQ5MV9pbml0X2xlZHMqLwotCXsKLQkJLm5hbWUJCQk9ICJsZWQ0IiwgIC8qRDQqLwotCQkuZ3BpbwkJCT0gQVQ5MV9QSU5fUEIxNSwKLQkJLmFjdGl2ZV9sb3cJCT0gMSwKLQkJLmRlZmF1bHRfdHJpZ2dlcgk9ICJoZWFydGJlYXQiLAotCQkvKi5kZWZhdWx0X3RyaWdnZXIJPSAidGltZXIiLCovCi0JfSwKLQl7Ci0JCS5uYW1lCQkJPSAibGVkNSIsICAvKkQ1Ki8KLQkJLmdwaW8JCQk9IEFUOTFfUElOX1BCOCwKLQkJLmFjdGl2ZV9sb3cJCT0gMSwKLQkJLmRlZmF1bHRfdHJpZ2dlcgk9ICJoZWFydGJlYXQiLAotCX0KLX07Ci0KLS8vc3RhdGljIHN0cnVjdCBncGlvX3NvdW5kZXIgeWxfOTIwMF9zb3VuZGVyW10gPSB7Ki8KLS8qVGhpcyBpcyBhIHNpbXBsZSBzcGVha2VyIGF0dGFjaGVkIHRvIGEgZ3BvIGxpbmUqLwotCi0vLwl7Ci0vLwkJLm5hbWUJCQk9ICJTcGVha2VyIiwgIC8qTFMxKi8KLS8vCQkuZ3BpbwkJCT0gQVQ5MV9QSU5fUEEyMiwKLS8vCQkuYWN0aXZlX2xvdwkJPSAwLAotLy8JCS5kZWZhdWx0X3RyaWdnZXIJPSAiaGVhcnRiZWF0IiwKLQkJLyouZGVmYXVsdF90cmlnZ2VyCT0gInRpbWVyIiwqLwotLy8JfSwKLS8vfTsKLQotCi0KLXN0YXRpYyBzdHJ1Y3QgaTJjX2JvYXJkX2luZm8gX19pbml0ZGF0YSB5bF85MjAwX2kyY19kZXZpY2VzW10gPSB7Ci0JewotCS8qVE9ETyovCi0JCUkyQ19CT0FSRF9JTkZPKCJDUzQzMzQiLCAweDAwKSwKLQl9Ci19OwotCi0KLSAvKgotICogR1BJTyBCdXR0b25zCisvKgorICogSTJDIChUV0kpCiAgKi8KK3N0YXRpYyBzdHJ1Y3QgaTJjX2JvYXJkX2luZm8gX19pbml0ZGF0YSB5bDkyMDBfaTJjX2RldmljZXNbXSA9IHsKKwl7CS8qIEVFUFJPTSAqLworCQlJMkNfQk9BUkRfSU5GTygiMjRjMTI4IiwgMHg1MCksCisJfQorfTsKKworLyoKKyAqIEdQSU8gQnV0dG9ucworKi8KICNpZiBkZWZpbmVkKENPTkZJR19LRVlCT0FSRF9HUElPKSB8fCBkZWZpbmVkKENPTkZJR19LRVlCT0FSRF9HUElPX01PRFVMRSkKLXN0YXRpYyBzdHJ1Y3QgZ3Bpb19rZXlzX2J1dHRvbiB5bF85MjAwX2J1dHRvbnNbXSA9IHsKK3N0YXRpYyBzdHJ1Y3QgZ3Bpb19rZXlzX2J1dHRvbiB5bDkyMDBfYnV0dG9uc1tdID0gewogCXsKIAkJLmdwaW8JCT0gQVQ5MV9QSU5fUEEyNCwKLQkJLmNvZGUJPSBCVE5fMiwKKwkJLmNvZGUJCT0gQlROXzIsCiAJCS5kZXNjCQk9ICJTVzIiLAogCQkuYWN0aXZlX2xvdwk9IDEsCiAJCS53YWtldXAJCT0gMSwKIAl9LAogCXsKIAkJLmdwaW8JCT0gQVQ5MV9QSU5fUEIxLAotCQkuY29kZQk9IEJUTl8zLAorCQkuY29kZQkJPSBCVE5fMywKIAkJLmRlc2MJCT0gIlNXMyIsCiAJCS5hY3RpdmVfbG93CT0gMSwKIAkJLndha2V1cAkJPSAxLAogCX0sCiAJewogCQkuZ3BpbwkJPSBBVDkxX1BJTl9QQjIsCi0JCS5jb2RlCT0gQlROXzQsCisJCS5jb2RlCQk9IEJUTl80LAogCQkuZGVzYwkJPSAiU1c0IiwKIAkJLmFjdGl2ZV9sb3cJPSAxLAogCQkud2FrZXVwCQk9IDEsCiAJfSwKIAl7CiAJCS5ncGlvCQk9IEFUOTFfUElOX1BCNiwKLQkJLmNvZGUJPSBCVE5fNSwKKwkJLmNvZGUJCT0gQlROXzUsCiAJCS5kZXNjCQk9ICJTVzUiLAogCQkuYWN0aXZlX2xvdwk9IDEsCiAJCS53YWtldXAJCT0gMSwKLQl9LAotCisJfQogfTsKIAotc3RhdGljIHN0cnVjdCBncGlvX2tleXNfcGxhdGZvcm1fZGF0YSB5bF85MjAwX2J1dHRvbl9kYXRhID0gewotCS5idXR0b25zCT0geWxfOTIwMF9idXR0b25zLAotCS5uYnV0dG9ucwk9IEFSUkFZX1NJWkUoeWxfOTIwMF9idXR0b25zKSwKK3N0YXRpYyBzdHJ1Y3QgZ3Bpb19rZXlzX3BsYXRmb3JtX2RhdGEgeWw5MjAwX2J1dHRvbl9kYXRhID0geworCS5idXR0b25zCT0geWw5MjAwX2J1dHRvbnMsCisJLm5idXR0b25zCT0gQVJSQVlfU0laRSh5bDkyMDBfYnV0dG9ucyksCiB9OwogCi1zdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSB5bF85MjAwX2J1dHRvbl9kZXZpY2UgPSB7CitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSB5bDkyMDBfYnV0dG9uX2RldmljZSA9IHsKIAkubmFtZQkJPSAiZ3Bpby1rZXlzIiwKIAkuaWQJCT0gLTEsCiAJLm51bV9yZXNvdXJjZXMJPSAwLAogCS5kZXYJCT0gewotCS5wbGF0Zm9ybV9kYXRhCT0gJnlsXzkyMDBfYnV0dG9uX2RhdGEsCisJCS5wbGF0Zm9ybV9kYXRhCT0gJnlsOTIwMF9idXR0b25fZGF0YSwKIAl9CiB9OwogCi1zdGF0aWMgdm9pZCBfX2luaXQgeWxfOTIwMF9hZGRfZGV2aWNlX2J1dHRvbnModm9pZCkKK3N0YXRpYyB2b2lkIF9faW5pdCB5bDkyMDBfYWRkX2RldmljZV9idXR0b25zKHZvaWQpCiB7Ci0JLy9TVzIKLQlhdDkxX3NldF9ncGlvX2lucHV0KEFUOTFfUElOX1BBMjQsIDApOworCWF0OTFfc2V0X2dwaW9faW5wdXQoQVQ5MV9QSU5fUEEyNCwgMSk7CS8qIFNXMiAqLwogCWF0OTFfc2V0X2RlZ2xpdGNoKEFUOTFfUElOX1BBMjQsIDEpOwotCi0JLy9TVzMKLQlhdDkxX3NldF9ncGlvX2lucHV0KEFUOTFfUElOX1BCMSwgMCk7CisJYXQ5MV9zZXRfZ3Bpb19pbnB1dChBVDkxX1BJTl9QQjEsIDEpOwkvKiBTVzMgKi8KIAlhdDkxX3NldF9kZWdsaXRjaChBVDkxX1BJTl9QQjEsIDEpOwotCS8vU1c0Ci0JYXQ5MV9zZXRfZ3Bpb19pbnB1dChBVDkxX1BJTl9QQjIsIDApOworCWF0OTFfc2V0X2dwaW9faW5wdXQoQVQ5MV9QSU5fUEIyLCAxKTsJLyogU1c0ICovCiAJYXQ5MV9zZXRfZGVnbGl0Y2goQVQ5MV9QSU5fUEIyLCAxKTsKLQotCS8vU1c1Ci0JYXQ5MV9zZXRfZ3Bpb19pbnB1dChBVDkxX1BJTl9QQjYsIDApOworCWF0OTFfc2V0X2dwaW9faW5wdXQoQVQ5MV9QSU5fUEI2LCAxKTsJLyogU1c1ICovCiAJYXQ5MV9zZXRfZGVnbGl0Y2goQVQ5MV9QSU5fUEI2LCAxKTsKIAorCS8qIEVuYWJsZSBidXR0b25zIChTaGVldCA1KSAqLworCWF0OTFfc2V0X2dwaW9fb3V0cHV0KEFUOTFfUElOX1BCNywgMSk7CiAKLQlhdDkxX3NldF9ncGlvX291dHB1dChBVDkxX1BJTl9QQjcsIDEpOwkvKiAjVFVSTiBCVVRUT05TIE9OLCBTSEVFVCA1ICBvZiBzY2hlbWF0aWNzICovCi0JcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZ5bF85MjAwX2J1dHRvbl9kZXZpY2UpOworCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmeWw5MjAwX2J1dHRvbl9kZXZpY2UpOwogfQogI2Vsc2UKLXN0YXRpYyB2b2lkIF9faW5pdCB5bF85MjAwX2FkZF9kZXZpY2VfYnV0dG9ucyh2b2lkKSB7fQorc3RhdGljIHZvaWQgX19pbml0IHlsOTIwMF9hZGRfZGV2aWNlX2J1dHRvbnModm9pZCkge30KICNlbmRpZgogCisvKgorICogVG91Y2hzY3JlZW4KKyAqLworI2lmIGRlZmluZWQoQ09ORklHX1RPVUNIU0NSRUVOX0FEUzc4NDYpIHx8IGRlZmluZWQoQ09ORklHX1RPVUNIU0NSRUVOX0FEUzc4NDZfTU9EVUxFKQorc3RhdGljIGludCBhZHM3ODQzX3BlbmRvd25fc3RhdGUodm9pZCkKK3sKKwlyZXR1cm4gIWF0OTFfZ2V0X2dwaW9fdmFsdWUoQVQ5MV9QSU5fUEIxMSk7CS8qIFRvdWNoc2NyZWVuIFBFTklSUSAqLworfQorCitzdGF0aWMgc3RydWN0IGFkczc4NDZfcGxhdGZvcm1fZGF0YSBhZHNfaW5mbyA9IHsKKwkubW9kZWwJCQk9IDc4NDMsCisJLnhfbWluCQkJPSAxNTAsCisJLnhfbWF4CQkJPSAzODMwLAorCS55X21pbgkJCT0gMTkwLAorCS55X21heAkJCT0gMzgzMCwKKwkudnJlZl9kZWxheV91c2Vjcwk9IDEwMCwKKworCS8qIEZvciBhIDgiIHRvdWNoLXNjcmVlbiAqLworCS8vIC54X3BsYXRlX29obXMJCT0gNjAzLAorCS8vIC55X3BsYXRlX29obXMJCT0gMzMyLAorCisJLyogRm9yIGEgMTAuNCIgdG91Y2gtc2NyZWVuICovCisJLy8gLnhfcGxhdGVfb2htcwkJPSA2MTEsCisJLy8gLnlfcGxhdGVfb2htcwkJPSAzMjUsCisKKwkueF9wbGF0ZV9vaG1zCQk9IDU3NiwKKwkueV9wbGF0ZV9vaG1zCQk9IDM2NiwKKworCS5wcmVzc3VyZV9tYXgJCT0gMTUwMDAsIC8qIGdlbmVyYWxseSBub25zZW5zZSBvbiB0aGUgNzg0MyAqLworCS5kZWJvdW5jZV9tYXgJCT0gMSwKKwkuZGVib3VuY2VfcmVwCQk9IDAsCisJLmRlYm91bmNlX3RvbAkJPSAofjApLAorCS5nZXRfcGVuZG93bl9zdGF0ZQk9IGFkczc4NDNfcGVuZG93bl9zdGF0ZSwKK307CisKK3N0YXRpYyB2b2lkIF9faW5pdCB5bDkyMDBfYWRkX2RldmljZV90cyh2b2lkKQoreworCWF0OTFfc2V0X2dwaW9faW5wdXQoQVQ5MV9QSU5fUEIxMSwgMSk7CS8qIFRvdWNoc2NyZWVuIGludGVycnVwdCBwaW4gKi8KKwlhdDkxX3NldF9ncGlvX2lucHV0KEFUOTFfUElOX1BCMTAsIDEpOwkvKiBUb3VjaHNjcmVlbiBCVVNZIHNpZ25hbCAtIG5vdCB1c2VkISAqLworfQorI2Vsc2UKK3N0YXRpYyB2b2lkIF9faW5pdCB5bDkyMDBfYWRkX2RldmljZV90cyh2b2lkKSB7fQorI2VuZGlmCisKKy8qCisgKiBTUEkgZGV2aWNlcworICovCitzdGF0aWMgc3RydWN0IHNwaV9ib2FyZF9pbmZvIHlsOTIwMF9zcGlfZGV2aWNlc1tdID0geworI2lmIGRlZmluZWQoQ09ORklHX1RPVUNIU0NSRUVOX0FEUzc4NDYpIHx8IGRlZmluZWQoQ09ORklHX1RPVUNIU0NSRUVOX0FEUzc4NDZfTU9EVUxFKQorCXsJLyogVG91Y2hzY3JlZW4gKi8KKwkJLm1vZGFsaWFzCT0gImFkczc4NDYiLAorCQkuY2hpcF9zZWxlY3QJPSAwLAorCQkubWF4X3NwZWVkX2h6CT0gNTAwMCAqIDI2LAorCQkucGxhdGZvcm1fZGF0YQk9ICZhZHNfaW5mbywKKwkJLmlycQkJPSBBVDkxX1BJTl9QQjExLAorCX0sCisjZW5kaWYKKwl7CS8qIENBTiAqLworCQkubW9kYWxpYXMJPSAibWNwMjUxMCIsCisJCS5jaGlwX3NlbGVjdAk9IDEsCisJCS5tYXhfc3BlZWRfaHoJPSAyNTAwMCAqIDI2LAorCQkuaXJxCQk9IEFUOTFfUElOX1BDMCwKKwl9Cit9OworCisvKgorICogTENEIC8gVkdBCisgKgorICogRVBTT04gUzFEMTM4MDYgRkIgKGRpc2NvbnRpbnVlZCBjaGlwKQorICogRVBTT04gUzFEMTM1MDYgRkIKKyAqLwogI2lmIGRlZmluZWQoQ09ORklHX0ZCX1MxRDEzNVhYKSB8fCBkZWZpbmVkKENPTkZJR19GQl9TMUQxM1hYWF9NT0RVTEUpCiAjaW5jbHVkZSA8dmlkZW8vczFkMTN4eHhmYi5oPgogCi0vKiBFUFNPTiBTMUQxMzgwNiBGQiAoZGlzY29udGludWVkIGNoaXApKi8KLS8qIEVQU09OIFMxRDEzNTA2IEZCICovCi0KICNkZWZpbmUgQVQ5MV9GQl9SRUdfQkFTRQkweDgwMDAwMDAwTAogI2RlZmluZSBBVDkxX0ZCX1JFR19TSVpFCTB4MjAwCiAjZGVmaW5lIEFUOTFfRkJfVk1FTV9CQVNFCTB4ODAyMDAwMDBMCiAjZGVmaW5lIEFUOTFfRkJfVk1FTV9TSVpFCTB4MjAwMDAwTAogCi0vKiNkZWZpbmUgUzFEX0RJU1BMQVlfV0lEVEggICAgICAgICAgIDY0MCovCi0vKiNkZWZpbmUgUzFEX0RJU1BMQVlfSEVJR0hUICAgICAgICAgIDQ4MCovCi0KLQotc3RhdGljIHZvaWQgX19pbml0IHlsXzkyMDBfaW5pdF92aWRlbyh2b2lkKQorc3RhdGljIHZvaWQgX19pbml0IHlsOTIwMF9pbml0X3ZpZGVvKHZvaWQpCiB7Ci0JYXQ5MV9zeXNfd3JpdGUoQVQ5MV9QSU9DICsgUElPX0FTUixBVDkxX1BJTl9QQzYpOwotCWF0OTFfc3lzX3dyaXRlKEFUOTFfUElPQyArIFBJT19CU1IsMCk7Ci0JYXQ5MV9zeXNfd3JpdGUoQVQ5MV9QSU9DICsgUElPX0FTUixBVDkxX1BJTl9QQzYpOworCS8qIE5XQUlUIFNpZ25hbCAqLworCWF0OTFfc2V0X0FfcGVyaXBoKEFUOTFfUElOX1BDNiwgMCk7CiAKLQlhdDkxX3N5c193cml0ZSggQVQ5MV9TTUNfQ1NSKDIpLAotCUFUOTFfU01DX05XU18oMHg0KSB8Ci0JQVQ5MV9TTUNfV1NFTiB8Ci0JQVQ5MV9TTUNfVERGXygweDEwMCkgfAotCUFUOTFfU01DX0RCVworCS8qIEluaXRpYWxpemF0aW9uIG9mIHRoZSBTdGF0aWMgTWVtb3J5IENvbnRyb2xsZXIgZm9yIENoaXAgU2VsZWN0IDIgKi8KKwlhdDkxX3N5c193cml0ZShBVDkxX1NNQ19DU1IoMiksIEFUOTFfU01DX0RCV18xNgkJLyogMTYgYml0ICovCisJCQl8IEFUOTFfU01DX1dTRU4gfCBBVDkxX1NNQ19OV1NfKDB4NCkJLyogd2FpdCBzdGF0ZXMgKi8KKwkJCXwgQVQ5MV9TTUNfVERGXygweDEwMCkJCQkvKiBmbG9hdCB0aW1lICovCiAJKTsKLQotCi0KIH0KIAotCi1zdGF0aWMgc3RydWN0IHMxZDEzeHh4ZmJfcmVndmFsIHlsXzkyMDBfczFkZmJfaW5pdHJlZ3NbXSA9CitzdGF0aWMgc3RydWN0IHMxZDEzeHh4ZmJfcmVndmFsIHlsOTIwMF9zMWRmYl9pbml0cmVnc1tdID0KIHsKLQl7UzFEUkVHX01JU0MsCQkJCTB4MDB9LCAgIC8qIE1pc2NlbGxhbmVvdXMgUmVnaXN0ZXIqLwotCXtTMURSRUdfQ09NX0RJU1BfTU9ERSwJCTB4MDF9LCAgIC8qIERpc3BsYXkgTW9kZSBSZWdpc3RlciwgTENEIG9ubHkqLwotCXtTMURSRUdfR1BJT19DTkYwLAkJCTB4MDB9LCAgIC8qIEdlbmVyYWwgSU8gUGlucyBDb25maWd1cmF0aW9uIFJlZ2lzdGVyKi8KLQl7UzFEUkVHX0dQSU9fQ1RMMCwJCQkweDAwfSwgICAvKiBHZW5lcmFsIElPIFBpbnMgQ29udHJvbCBSZWdpc3RlciovCi0Je1MxRFJFR19DTEtfQ05GLAkJCTB4MTF9LCAgIC8qIE1lbW9yeSBDbG9jayBDb25maWd1cmF0aW9uIFJlZ2lzdGVyKi8KLQl7UzFEUkVHX0xDRF9DTEtfQ05GLAkJMHgxMH0sICAgLyogTENEIFBpeGVsIENsb2NrIENvbmZpZ3VyYXRpb24gUmVnaXN0ZXIqLwotCXtTMURSRUdfQ1JUX0NMS19DTkYsCQkweDEyfSwgICAvKiBDUlQvVFYgUGl4ZWwgQ2xvY2sgQ29uZmlndXJhdGlvbiBSZWdpc3RlciovCi0Je1MxRFJFR19NUExVR19DTEtfQ05GLAkJMHgwMX0sICAgLyogTWVkaWFQbHVnIENsb2NrIENvbmZpZ3VyYXRpb24gUmVnaXN0ZXIqLwotCXtTMURSRUdfQ1BVMk1FTV9XU1RfU0VMLAkweDAyfSwgICAvKiBDUFUgVG8gTWVtb3J5IFdhaXQgU3RhdGUgU2VsZWN0IFJlZ2lzdGVyKi8KLQl7UzFEUkVHX01FTV9DTkYsCQkJMHgwMH0sICAgLyogTWVtb3J5IENvbmZpZ3VyYXRpb24gUmVnaXN0ZXIqLwotCXtTMURSRUdfU0RSQU1fUkVGX1JBVEUsCQkweDA0fSwgICAvKiBEUkFNIFJlZnJlc2ggUmF0ZSBSZWdpc3RlciwgTUNMSyBzb3VyY2UqLwotCXtTMURSRUdfU0RSQU1fVEMwLAkJCTB4MTJ9LCAgIC8qIERSQU0gVGltaW5ncyBDb250cm9sIFJlZ2lzdGVyIDAqLwotCXtTMURSRUdfU0RSQU1fVEMxLAkJCTB4MDJ9LCAgIC8qIERSQU0gVGltaW5ncyBDb250cm9sIFJlZ2lzdGVyIDEqLwotCXtTMURSRUdfUEFORUxfVFlQRSwJCQkweDI1fSwgICAvKiBQYW5lbCBUeXBlIFJlZ2lzdGVyKi8KLQl7UzFEUkVHX01PRF9SQVRFLAkJCTB4MDB9LCAgIC8qIE1PRCBSYXRlIFJlZ2lzdGVyKi8KLQl7UzFEUkVHX0xDRF9ESVNQX0hXSURUSCwJMHg0Rn0sICAgLyogTENEIEhvcml6b250YWwgRGlzcGxheSBXaWR0aCBSZWdpc3RlciovCi0Je1MxRFJFR19MQ0RfTkRJU1BfSFBFUiwJCTB4MTN9LCAgIC8qIExDRCBIb3Jpem9udGFsIE5vbi1EaXNwbGF5IFBlcmlvZCBSZWdpc3RlciovCi0Je1MxRFJFR19URlRfRlBMSU5FX1NUQVJULAkweDAxfSwgICAvKiBURlQgRlBMSU5FIFN0YXJ0IFBvc2l0aW9uIFJlZ2lzdGVyKi8KLQl7UzFEUkVHX1RGVF9GUExJTkVfUFdJRFRILAkweDBjfSwgICAvKiBURlQgRlBMSU5FIFB1bHNlIFdpZHRoIFJlZ2lzdGVyKi8KLQl7UzFEUkVHX0xDRF9ESVNQX1ZIRUlHSFQwLAkweERGfSwgICAvKiBMQ0QgVmVydGljYWwgRGlzcGxheSBIZWlnaHQgUmVnaXN0ZXIgMCovCi0Je1MxRFJFR19MQ0RfRElTUF9WSEVJR0hUMSwJMHgwMX0sICAgLyogTENEIFZlcnRpY2FsIERpc3BsYXkgSGVpZ2h0IFJlZ2lzdGVyIDEqLwotCXtTMURSRUdfTENEX05ESVNQX1ZQRVIsCQkweDJjfSwgICAvKiBMQ0QgVmVydGljYWwgTm9uLURpc3BsYXkgUGVyaW9kIFJlZ2lzdGVyKi8KLQl7UzFEUkVHX1RGVF9GUEZSQU1FX1NUQVJULAkweDBhfSwgICAvKiBURlQgRlBGUkFNRSBTdGFydCBQb3NpdGlvbiBSZWdpc3RlciovCi0Je1MxRFJFR19URlRfRlBGUkFNRV9QV0lEVEgsCTB4MDJ9LCAgIC8qIFRGVCBGUEZSQU1FIFB1bHNlIFdpZHRoIFJlZ2lzdGVyKi8KLQl7UzFEUkVHX0xDRF9ESVNQX01PREUsCQkweDA1fSwgICAvKiBMQ0QgRGlzcGxheSBNb2RlIFJlZ2lzdGVyKi8KLQl7UzFEUkVHX0xDRF9NSVNDLAkJCTB4MDF9LCAgIC8qIExDRCBNaXNjZWxsYW5lb3VzIFJlZ2lzdGVyKi8KLQl7UzFEUkVHX0xDRF9ESVNQX1NUQVJUMCwJMHgwMH0sICAgLyogTENEIERpc3BsYXkgU3RhcnQgQWRkcmVzcyBSZWdpc3RlciAwKi8KLQl7UzFEUkVHX0xDRF9ESVNQX1NUQVJUMSwJMHgwMH0sICAgLyogTENEIERpc3BsYXkgU3RhcnQgQWRkcmVzcyBSZWdpc3RlciAxKi8KLQl7UzFEUkVHX0xDRF9ESVNQX1NUQVJUMiwJMHgwMH0sICAgLyogTENEIERpc3BsYXkgU3RhcnQgQWRkcmVzcyBSZWdpc3RlciAyKi8KLQl7UzFEUkVHX0xDRF9NRU1fT0ZGMCwJCTB4ODB9LCAgIC8qIExDRCBNZW1vcnkgQWRkcmVzcyBPZmZzZXQgUmVnaXN0ZXIgMCovCi0Je1MxRFJFR19MQ0RfTUVNX09GRjEsCQkweDAyfSwgICAvKiBMQ0QgTWVtb3J5IEFkZHJlc3MgT2Zmc2V0IFJlZ2lzdGVyIDEqLwotCXtTMURSRUdfTENEX1BJWF9QQU4sCQkweDAzfSwgICAvKiBMQ0QgUGl4ZWwgUGFubmluZyBSZWdpc3RlciovCi0Je1MxRFJFR19MQ0RfRElTUF9GSUZPX0hUQywJMHgwMH0sICAgLyogTENEIERpc3BsYXkgRklGTyBIaWdoIFRocmVzaG9sZCBDb250cm9sIFJlZ2lzdGVyKi8KLQl7UzFEUkVHX0xDRF9ESVNQX0ZJRk9fTFRDLAkweDAwfSwgICAvKiBMQ0QgRGlzcGxheSBGSUZPIExvdyBUaHJlc2hvbGQgQ29udHJvbCBSZWdpc3RlciovCi0Je1MxRFJFR19DUlRfRElTUF9IV0lEVEgsCTB4NEZ9LCAgIC8qIENSVC9UViBIb3Jpem9udGFsIERpc3BsYXkgV2lkdGggUmVnaXN0ZXIqLwotCXtTMURSRUdfQ1JUX05ESVNQX0hQRVIsCQkweDEzfSwgICAvKiBDUlQvVFYgSG9yaXpvbnRhbCBOb24tRGlzcGxheSBQZXJpb2QgUmVnaXN0ZXIqLwotCXtTMURSRUdfQ1JUX0hSVENfU1RBUlQsCQkweDAxfSwgICAvKiBDUlQvVFYgSFJUQyBTdGFydCBQb3NpdGlvbiBSZWdpc3RlciovCi0Je1MxRFJFR19DUlRfSFJUQ19QV0lEVEgsCTB4MEJ9LCAgIC8qIENSVC9UViBIUlRDIFB1bHNlIFdpZHRoIFJlZ2lzdGVyKi8KLQl7UzFEUkVHX0NSVF9ESVNQX1ZIRUlHSFQwLAkweERGfSwgICAvKiBDUlQvVFYgVmVydGljYWwgRGlzcGxheSBIZWlnaHQgUmVnaXN0ZXIgMCovCi0Je1MxRFJFR19DUlRfRElTUF9WSEVJR0hUMSwJMHgwMX0sICAgLyogQ1JUL1RWIFZlcnRpY2FsIERpc3BsYXkgSGVpZ2h0IFJlZ2lzdGVyIDEqLwotCXtTMURSRUdfQ1JUX05ESVNQX1ZQRVIsCQkweDJCfSwgICAvKiBDUlQvVFYgVmVydGljYWwgTm9uLURpc3BsYXkgUGVyaW9kIFJlZ2lzdGVyKi8KLQl7UzFEUkVHX0NSVF9WUlRDX1NUQVJULAkJMHgwOX0sICAgLyogQ1JUL1RWIFZSVEMgU3RhcnQgUG9zaXRpb24gUmVnaXN0ZXIqLwotCXtTMURSRUdfQ1JUX1ZSVENfUFdJRFRILAkweDAxfSwgICAvKiBDUlQvVFYgVlJUQyBQdWxzZSBXaWR0aCBSZWdpc3RlciovCi0Je1MxRFJFR19UVl9PVVRfQ1RMLAkJCTB4MTh9LCAgIC8qIFRWIE91dHB1dCBDb250cm9sIFJlZ2lzdGVyICovCi0Je1MxRFJFR19DUlRfRElTUF9NT0RFLAkJMHgwNX0sICAgLyogQ1JUL1RWIERpc3BsYXkgTW9kZSBSZWdpc3RlciwgMTZCUFAqLwotCXtTMURSRUdfQ1JUX0RJU1BfU1RBUlQwLAkweDAwfSwgICAvKiBDUlQvVFYgRGlzcGxheSBTdGFydCBBZGRyZXNzIFJlZ2lzdGVyIDAqLwotCXtTMURSRUdfQ1JUX0RJU1BfU1RBUlQxLAkweDAwfSwgICAvKiBDUlQvVFYgRGlzcGxheSBTdGFydCBBZGRyZXNzIFJlZ2lzdGVyIDEqLwotCXtTMURSRUdfQ1JUX0RJU1BfU1RBUlQyLAkweDAwfSwgICAvKiBDUlQvVFYgRGlzcGxheSBTdGFydCBBZGRyZXNzIFJlZ2lzdGVyIDIqLwotCXtTMURSRUdfQ1JUX01FTV9PRkYwLAkJMHg4MH0sICAgLyogQ1JUL1RWIE1lbW9yeSBBZGRyZXNzIE9mZnNldCBSZWdpc3RlciAwKi8KLQl7UzFEUkVHX0NSVF9NRU1fT0ZGMSwJCTB4MDJ9LCAgIC8qIENSVC9UViBNZW1vcnkgQWRkcmVzcyBPZmZzZXQgUmVnaXN0ZXIgMSovCi0Je1MxRFJFR19DUlRfUElYX1BBTiwJCTB4MDB9LCAgIC8qIENSVC9UViBQaXhlbCBQYW5uaW5nIFJlZ2lzdGVyKi8KLQl7UzFEUkVHX0NSVF9ESVNQX0ZJRk9fSFRDLAkweDAwfSwgICAvKiBDUlQvVFYgRGlzcGxheSBGSUZPIEhpZ2ggVGhyZXNob2xkIENvbnRyb2wgUmVnaXN0ZXIqLwotCXtTMURSRUdfQ1JUX0RJU1BfRklGT19MVEMsCTB4MDB9LCAgIC8qIENSVC9UViBEaXNwbGF5IEZJRk8gTG93IFRocmVzaG9sZCBDb250cm9sIFJlZ2lzdGVyKi8KLQl7UzFEUkVHX0xDRF9DVVJfQ1RMLAkJMHgwMH0sICAgLyogTENEIEluay9DdXJzb3IgQ29udHJvbCBSZWdpc3RlciovCi0Je1MxRFJFR19MQ0RfQ1VSX1NUQVJULAkJMHgwMX0sICAgLyogTENEIEluay9DdXJzb3IgU3RhcnQgQWRkcmVzcyBSZWdpc3RlciovCi0Je1MxRFJFR19MQ0RfQ1VSX1hQT1MwLAkJMHgwMH0sICAgLyogTENEIEN1cnNvciBYIFBvc2l0aW9uIFJlZ2lzdGVyIDAqLwotCXtTMURSRUdfTENEX0NVUl9YUE9TMSwJCTB4MDB9LCAgIC8qIExDRCBDdXJzb3IgWCBQb3NpdGlvbiBSZWdpc3RlciAxKi8KLQl7UzFEUkVHX0xDRF9DVVJfWVBPUzAsCQkweDAwfSwgICAvKiBMQ0QgQ3Vyc29yIFkgUG9zaXRpb24gUmVnaXN0ZXIgMCovCi0Je1MxRFJFR19MQ0RfQ1VSX1lQT1MxLAkJMHgwMH0sICAgLyogTENEIEN1cnNvciBZIFBvc2l0aW9uIFJlZ2lzdGVyIDEqLwotCXtTMURSRUdfTENEX0NVUl9CQ1RMMCwJCTB4MDB9LCAgIC8qIExDRCBJbmsvQ3Vyc29yIEJsdWUgQ29sb3IgMCBSZWdpc3RlciovCi0Je1MxRFJFR19MQ0RfQ1VSX0dDVEwwLAkJMHgwMH0sICAgLyogTENEIEluay9DdXJzb3IgR3JlZW4gQ29sb3IgMCBSZWdpc3RlciovCi0Je1MxRFJFR19MQ0RfQ1VSX1JDVEwwLAkJMHgwMH0sICAgLyogTENEIEluay9DdXJzb3IgUmVkIENvbG9yIDAgUmVnaXN0ZXIqLwotCXtTMURSRUdfTENEX0NVUl9CQ1RMMSwJCTB4MUZ9LCAgIC8qIExDRCBJbmsvQ3Vyc29yIEJsdWUgQ29sb3IgMSBSZWdpc3RlciovCi0Je1MxRFJFR19MQ0RfQ1VSX0dDVEwxLAkJMHgzRn0sICAgLyogTENEIEluay9DdXJzb3IgR3JlZW4gQ29sb3IgMSBSZWdpc3RlciovCi0Je1MxRFJFR19MQ0RfQ1VSX1JDVEwxLAkJMHgxRn0sICAgLyogTENEIEluay9DdXJzb3IgUmVkIENvbG9yIDEgUmVnaXN0ZXIqLwotCXtTMURSRUdfTENEX0NVUl9GSUZPX0hUQywJMHgwMH0sICAgLyogTENEIEluay9DdXJzb3IgRklGTyBUaHJlc2hvbGQgUmVnaXN0ZXIqLwotCXtTMURSRUdfQ1JUX0NVUl9DVEwsCQkweDAwfSwgICAvKiBDUlQvVFYgSW5rL0N1cnNvciBDb250cm9sIFJlZ2lzdGVyKi8KLQl7UzFEUkVHX0NSVF9DVVJfU1RBUlQsCQkweDAxfSwgICAvKiBDUlQvVFYgSW5rL0N1cnNvciBTdGFydCBBZGRyZXNzIFJlZ2lzdGVyKi8KLQl7UzFEUkVHX0NSVF9DVVJfWFBPUzAsCQkweDAwfSwgICAvKiBDUlQvVFYgQ3Vyc29yIFggUG9zaXRpb24gUmVnaXN0ZXIgMCovCi0Je1MxRFJFR19DUlRfQ1VSX1hQT1MxLAkJMHgwMH0sICAgLyogQ1JUL1RWIEN1cnNvciBYIFBvc2l0aW9uIFJlZ2lzdGVyIDEqLwotCXtTMURSRUdfQ1JUX0NVUl9ZUE9TMCwJCTB4MDB9LCAgIC8qIENSVC9UViBDdXJzb3IgWSBQb3NpdGlvbiBSZWdpc3RlciAwKi8KLQl7UzFEUkVHX0NSVF9DVVJfWVBPUzEsCQkweDAwfSwgICAvKiBDUlQvVFYgQ3Vyc29yIFkgUG9zaXRpb24gUmVnaXN0ZXIgMSovCi0Je1MxRFJFR19DUlRfQ1VSX0JDVEwwLAkJMHgwMH0sICAgLyogQ1JUL1RWIEluay9DdXJzb3IgQmx1ZSBDb2xvciAwIFJlZ2lzdGVyKi8KLQl7UzFEUkVHX0NSVF9DVVJfR0NUTDAsCQkweDAwfSwgICAvKiBDUlQvVFYgSW5rL0N1cnNvciBHcmVlbiBDb2xvciAwIFJlZ2lzdGVyKi8KLQl7UzFEUkVHX0NSVF9DVVJfUkNUTDAsCQkweDAwfSwgICAvKiBDUlQvVFYgSW5rL0N1cnNvciBSZWQgQ29sb3IgMCBSZWdpc3RlciovCi0Je1MxRFJFR19DUlRfQ1VSX0JDVEwxLAkJMHgxRn0sICAgLyogQ1JUL1RWIEluay9DdXJzb3IgQmx1ZSBDb2xvciAxIFJlZ2lzdGVyKi8KLQl7UzFEUkVHX0NSVF9DVVJfR0NUTDEsCQkweDNGfSwgICAvKiBDUlQvVFYgSW5rL0N1cnNvciBHcmVlbiBDb2xvciAxIFJlZ2lzdGVyKi8KLQl7UzFEUkVHX0NSVF9DVVJfUkNUTDEsCQkweDFGfSwgICAvKiBDUlQvVFYgSW5rL0N1cnNvciBSZWQgQ29sb3IgMSBSZWdpc3RlciovCi0Je1MxRFJFR19DUlRfQ1VSX0ZJRk9fSFRDLAkweDAwfSwgICAvKiBDUlQvVFYgSW5rL0N1cnNvciBGSUZPIFRocmVzaG9sZCBSZWdpc3RlciovCi0Je1MxRFJFR19CQkxUX0NUTDAsCQkJMHgwMH0sICAgLyogQml0Qmx0IENvbnRyb2wgUmVnaXN0ZXIgMCovCi0Je1MxRFJFR19CQkxUX0NUTDEsCQkJMHgwMX0sICAgLyogQml0Qmx0IENvbnRyb2wgUmVnaXN0ZXIgMSovCi0Je1MxRFJFR19CQkxUX0NDX0VYUCwJCTB4MDB9LCAgIC8qIEJpdEJsdCBST1AgQ29kZS9Db2xvciBFeHBhbnNpb24gUmVnaXN0ZXIqLwotCXtTMURSRUdfQkJMVF9PUCwJCQkweDAwfSwgICAvKiBCaXRCbHQgT3BlcmF0aW9uIFJlZ2lzdGVyKi8KLQl7UzFEUkVHX0JCTFRfU1JDX1NUQVJUMCwJMHgwMH0sICAgLyogQml0Qmx0IFNvdXJjZSBTdGFydCBBZGRyZXNzIFJlZ2lzdGVyIDAqLwotCXtTMURSRUdfQkJMVF9TUkNfU1RBUlQxLAkweDAwfSwgICAvKiBCaXRCbHQgU291cmNlIFN0YXJ0IEFkZHJlc3MgUmVnaXN0ZXIgMSovCi0Je1MxRFJFR19CQkxUX1NSQ19TVEFSVDIsCTB4MDB9LCAgIC8qIEJpdEJsdCBTb3VyY2UgU3RhcnQgQWRkcmVzcyBSZWdpc3RlciAyKi8KLQl7UzFEUkVHX0JCTFRfRFNUX1NUQVJUMCwJMHgwMH0sICAgLyogQml0Qmx0IERlc3RpbmF0aW9uIFN0YXJ0IEFkZHJlc3MgUmVnaXN0ZXIgMCovCi0Je1MxRFJFR19CQkxUX0RTVF9TVEFSVDEsCTB4MDB9LCAgIC8qIEJpdEJsdCBEZXN0aW5hdGlvbiBTdGFydCBBZGRyZXNzIFJlZ2lzdGVyIDEqLwotCXtTMURSRUdfQkJMVF9EU1RfU1RBUlQyLAkweDAwfSwgICAvKiBCaXRCbHQgRGVzdGluYXRpb24gU3RhcnQgQWRkcmVzcyBSZWdpc3RlciAyKi8KLQl7UzFEUkVHX0JCTFRfTUVNX09GRjAsCQkweDAwfSwgICAvKiBCaXRCbHQgTWVtb3J5IEFkZHJlc3MgT2Zmc2V0IFJlZ2lzdGVyIDAqLwotCXtTMURSRUdfQkJMVF9NRU1fT0ZGMSwJCTB4MDB9LCAgIC8qIEJpdEJsdCBNZW1vcnkgQWRkcmVzcyBPZmZzZXQgUmVnaXN0ZXIgMSovCi0Je1MxRFJFR19CQkxUX1dJRFRIMCwJCTB4MDB9LCAgIC8qIEJpdEJsdCBXaWR0aCBSZWdpc3RlciAwKi8KLQl7UzFEUkVHX0JCTFRfV0lEVEgxLAkJMHgwMH0sICAgLyogQml0Qmx0IFdpZHRoIFJlZ2lzdGVyIDEqLwotCXtTMURSRUdfQkJMVF9IRUlHSFQwLAkJMHgwMH0sICAgLyogQml0Qmx0IEhlaWdodCBSZWdpc3RlciAwKi8KLQl7UzFEUkVHX0JCTFRfSEVJR0hUMSwJCTB4MDB9LCAgIC8qIEJpdEJsdCBIZWlnaHQgUmVnaXN0ZXIgMSovCi0Je1MxRFJFR19CQkxUX0JHQzAsCQkJMHgwMH0sICAgLyogQml0Qmx0IEJhY2tncm91bmQgQ29sb3IgUmVnaXN0ZXIgMCovCi0Je1MxRFJFR19CQkxUX0JHQzEsCQkJMHgwMH0sICAgLyogQml0Qmx0IEJhY2tncm91bmQgQ29sb3IgUmVnaXN0ZXIgMSovCi0Je1MxRFJFR19CQkxUX0ZHQzAsCQkJMHgwMH0sICAgLyogQml0Qmx0IEZvcmVncm91bmQgQ29sb3IgUmVnaXN0ZXIgMCovCi0Je1MxRFJFR19CQkxUX0ZHQzEsCQkJMHgwMH0sICAgLyogQml0Qmx0IEZvcmVncm91bmQgQ29sb3IgUmVnaXN0ZXIgMSovCi0Je1MxRFJFR19MS1VQX01PREUsCQkJMHgwMH0sICAgLyogTG9vay1VcCBUYWJsZSBNb2RlIFJlZ2lzdGVyKi8KLQl7UzFEUkVHX0xLVVBfQUREUiwJCQkweDAwfSwgICAvKiBMb29rLVVwIFRhYmxlIEFkZHJlc3MgUmVnaXN0ZXIqLwotCXtTMURSRUdfUFNfQ05GLAkJCQkweDAwfSwgICAvKiBQb3dlciBTYXZlIENvbmZpZ3VyYXRpb24gUmVnaXN0ZXIqLwotCXtTMURSRUdfUFNfU1RBVFVTLAkJCTB4MDB9LCAgIC8qIFBvd2VyIFNhdmUgU3RhdHVzIFJlZ2lzdGVyKi8KLQl7UzFEUkVHX0NQVTJNRU1fV0RPR1QsCQkweDAwfSwgICAvKiBDUFUtdG8tTWVtb3J5IEFjY2VzcyBXYXRjaGRvZyBUaW1lciBSZWdpc3RlciovCi0Je1MxRFJFR19DT01fRElTUF9NT0RFLAkJMHgwMX0sICAgLyogRGlzcGxheSBNb2RlIFJlZ2lzdGVyLCBMQ0Qgb25seSovCisJe1MxRFJFR19NSVNDLAkJCTB4MDB9LAkvKiBNaXNjZWxsYW5lb3VzIFJlZ2lzdGVyKi8KKwl7UzFEUkVHX0NPTV9ESVNQX01PREUsCQkweDAxfSwJLyogRGlzcGxheSBNb2RlIFJlZ2lzdGVyLCBMQ0Qgb25seSovCisJe1MxRFJFR19HUElPX0NORjAsCQkweDAwfSwJLyogR2VuZXJhbCBJTyBQaW5zIENvbmZpZ3VyYXRpb24gUmVnaXN0ZXIqLworCXtTMURSRUdfR1BJT19DVEwwLAkJMHgwMH0sCS8qIEdlbmVyYWwgSU8gUGlucyBDb250cm9sIFJlZ2lzdGVyKi8KKwl7UzFEUkVHX0NMS19DTkYsCQkweDExfSwJLyogTWVtb3J5IENsb2NrIENvbmZpZ3VyYXRpb24gUmVnaXN0ZXIqLworCXtTMURSRUdfTENEX0NMS19DTkYsCQkweDEwfSwJLyogTENEIFBpeGVsIENsb2NrIENvbmZpZ3VyYXRpb24gUmVnaXN0ZXIqLworCXtTMURSRUdfQ1JUX0NMS19DTkYsCQkweDEyfSwJLyogQ1JUL1RWIFBpeGVsIENsb2NrIENvbmZpZ3VyYXRpb24gUmVnaXN0ZXIqLworCXtTMURSRUdfTVBMVUdfQ0xLX0NORiwJCTB4MDF9LAkvKiBNZWRpYVBsdWcgQ2xvY2sgQ29uZmlndXJhdGlvbiBSZWdpc3RlciovCisJe1MxRFJFR19DUFUyTUVNX1dTVF9TRUwsCTB4MDJ9LAkvKiBDUFUgVG8gTWVtb3J5IFdhaXQgU3RhdGUgU2VsZWN0IFJlZ2lzdGVyKi8KKwl7UzFEUkVHX01FTV9DTkYsCQkweDAwfSwJLyogTWVtb3J5IENvbmZpZ3VyYXRpb24gUmVnaXN0ZXIqLworCXtTMURSRUdfU0RSQU1fUkVGX1JBVEUsCQkweDA0fSwJLyogRFJBTSBSZWZyZXNoIFJhdGUgUmVnaXN0ZXIsIE1DTEsgc291cmNlKi8KKwl7UzFEUkVHX1NEUkFNX1RDMCwJCTB4MTJ9LAkvKiBEUkFNIFRpbWluZ3MgQ29udHJvbCBSZWdpc3RlciAwKi8KKwl7UzFEUkVHX1NEUkFNX1RDMSwJCTB4MDJ9LAkvKiBEUkFNIFRpbWluZ3MgQ29udHJvbCBSZWdpc3RlciAxKi8KKwl7UzFEUkVHX1BBTkVMX1RZUEUsCQkweDI1fSwJLyogUGFuZWwgVHlwZSBSZWdpc3RlciovCisJe1MxRFJFR19NT0RfUkFURSwJCTB4MDB9LAkvKiBNT0QgUmF0ZSBSZWdpc3RlciovCisJe1MxRFJFR19MQ0RfRElTUF9IV0lEVEgsCTB4NEZ9LAkvKiBMQ0QgSG9yaXpvbnRhbCBEaXNwbGF5IFdpZHRoIFJlZ2lzdGVyKi8KKwl7UzFEUkVHX0xDRF9ORElTUF9IUEVSLAkJMHgxM30sCS8qIExDRCBIb3Jpem9udGFsIE5vbi1EaXNwbGF5IFBlcmlvZCBSZWdpc3RlciovCisJe1MxRFJFR19URlRfRlBMSU5FX1NUQVJULAkweDAxfSwJLyogVEZUIEZQTElORSBTdGFydCBQb3NpdGlvbiBSZWdpc3RlciovCisJe1MxRFJFR19URlRfRlBMSU5FX1BXSURUSCwJMHgwY30sCS8qIFRGVCBGUExJTkUgUHVsc2UgV2lkdGggUmVnaXN0ZXIqLworCXtTMURSRUdfTENEX0RJU1BfVkhFSUdIVDAsCTB4REZ9LAkvKiBMQ0QgVmVydGljYWwgRGlzcGxheSBIZWlnaHQgUmVnaXN0ZXIgMCovCisJe1MxRFJFR19MQ0RfRElTUF9WSEVJR0hUMSwJMHgwMX0sCS8qIExDRCBWZXJ0aWNhbCBEaXNwbGF5IEhlaWdodCBSZWdpc3RlciAxKi8KKwl7UzFEUkVHX0xDRF9ORElTUF9WUEVSLAkJMHgyY30sCS8qIExDRCBWZXJ0aWNhbCBOb24tRGlzcGxheSBQZXJpb2QgUmVnaXN0ZXIqLworCXtTMURSRUdfVEZUX0ZQRlJBTUVfU1RBUlQsCTB4MGF9LAkvKiBURlQgRlBGUkFNRSBTdGFydCBQb3NpdGlvbiBSZWdpc3RlciovCisJe1MxRFJFR19URlRfRlBGUkFNRV9QV0lEVEgsCTB4MDJ9LAkvKiBURlQgRlBGUkFNRSBQdWxzZSBXaWR0aCBSZWdpc3RlciovCisJe1MxRFJFR19MQ0RfRElTUF9NT0RFLAkJMHgwNX0sCS8qIExDRCBEaXNwbGF5IE1vZGUgUmVnaXN0ZXIqLworCXtTMURSRUdfTENEX01JU0MsCQkweDAxfSwJLyogTENEIE1pc2NlbGxhbmVvdXMgUmVnaXN0ZXIqLworCXtTMURSRUdfTENEX0RJU1BfU1RBUlQwLAkweDAwfSwJLyogTENEIERpc3BsYXkgU3RhcnQgQWRkcmVzcyBSZWdpc3RlciAwKi8KKwl7UzFEUkVHX0xDRF9ESVNQX1NUQVJUMSwJMHgwMH0sCS8qIExDRCBEaXNwbGF5IFN0YXJ0IEFkZHJlc3MgUmVnaXN0ZXIgMSovCisJe1MxRFJFR19MQ0RfRElTUF9TVEFSVDIsCTB4MDB9LAkvKiBMQ0QgRGlzcGxheSBTdGFydCBBZGRyZXNzIFJlZ2lzdGVyIDIqLworCXtTMURSRUdfTENEX01FTV9PRkYwLAkJMHg4MH0sCS8qIExDRCBNZW1vcnkgQWRkcmVzcyBPZmZzZXQgUmVnaXN0ZXIgMCovCisJe1MxRFJFR19MQ0RfTUVNX09GRjEsCQkweDAyfSwJLyogTENEIE1lbW9yeSBBZGRyZXNzIE9mZnNldCBSZWdpc3RlciAxKi8KKwl7UzFEUkVHX0xDRF9QSVhfUEFOLAkJMHgwM30sCS8qIExDRCBQaXhlbCBQYW5uaW5nIFJlZ2lzdGVyKi8KKwl7UzFEUkVHX0xDRF9ESVNQX0ZJRk9fSFRDLAkweDAwfSwJLyogTENEIERpc3BsYXkgRklGTyBIaWdoIFRocmVzaG9sZCBDb250cm9sIFJlZ2lzdGVyKi8KKwl7UzFEUkVHX0xDRF9ESVNQX0ZJRk9fTFRDLAkweDAwfSwJLyogTENEIERpc3BsYXkgRklGTyBMb3cgVGhyZXNob2xkIENvbnRyb2wgUmVnaXN0ZXIqLworCXtTMURSRUdfQ1JUX0RJU1BfSFdJRFRILAkweDRGfSwJLyogQ1JUL1RWIEhvcml6b250YWwgRGlzcGxheSBXaWR0aCBSZWdpc3RlciovCisJe1MxRFJFR19DUlRfTkRJU1BfSFBFUiwJCTB4MTN9LAkvKiBDUlQvVFYgSG9yaXpvbnRhbCBOb24tRGlzcGxheSBQZXJpb2QgUmVnaXN0ZXIqLworCXtTMURSRUdfQ1JUX0hSVENfU1RBUlQsCQkweDAxfSwJLyogQ1JUL1RWIEhSVEMgU3RhcnQgUG9zaXRpb24gUmVnaXN0ZXIqLworCXtTMURSRUdfQ1JUX0hSVENfUFdJRFRILAkweDBCfSwJLyogQ1JUL1RWIEhSVEMgUHVsc2UgV2lkdGggUmVnaXN0ZXIqLworCXtTMURSRUdfQ1JUX0RJU1BfVkhFSUdIVDAsCTB4REZ9LAkvKiBDUlQvVFYgVmVydGljYWwgRGlzcGxheSBIZWlnaHQgUmVnaXN0ZXIgMCovCisJe1MxRFJFR19DUlRfRElTUF9WSEVJR0hUMSwJMHgwMX0sCS8qIENSVC9UViBWZXJ0aWNhbCBEaXNwbGF5IEhlaWdodCBSZWdpc3RlciAxKi8KKwl7UzFEUkVHX0NSVF9ORElTUF9WUEVSLAkJMHgyQn0sCS8qIENSVC9UViBWZXJ0aWNhbCBOb24tRGlzcGxheSBQZXJpb2QgUmVnaXN0ZXIqLworCXtTMURSRUdfQ1JUX1ZSVENfU1RBUlQsCQkweDA5fSwJLyogQ1JUL1RWIFZSVEMgU3RhcnQgUG9zaXRpb24gUmVnaXN0ZXIqLworCXtTMURSRUdfQ1JUX1ZSVENfUFdJRFRILAkweDAxfSwJLyogQ1JUL1RWIFZSVEMgUHVsc2UgV2lkdGggUmVnaXN0ZXIqLworCXtTMURSRUdfVFZfT1VUX0NUTCwJCTB4MTh9LAkvKiBUViBPdXRwdXQgQ29udHJvbCBSZWdpc3RlciAqLworCXtTMURSRUdfQ1JUX0RJU1BfTU9ERSwJCTB4MDV9LAkvKiBDUlQvVFYgRGlzcGxheSBNb2RlIFJlZ2lzdGVyLCAxNkJQUCovCisJe1MxRFJFR19DUlRfRElTUF9TVEFSVDAsCTB4MDB9LAkvKiBDUlQvVFYgRGlzcGxheSBTdGFydCBBZGRyZXNzIFJlZ2lzdGVyIDAqLworCXtTMURSRUdfQ1JUX0RJU1BfU1RBUlQxLAkweDAwfSwJLyogQ1JUL1RWIERpc3BsYXkgU3RhcnQgQWRkcmVzcyBSZWdpc3RlciAxKi8KKwl7UzFEUkVHX0NSVF9ESVNQX1NUQVJUMiwJMHgwMH0sCS8qIENSVC9UViBEaXNwbGF5IFN0YXJ0IEFkZHJlc3MgUmVnaXN0ZXIgMiovCisJe1MxRFJFR19DUlRfTUVNX09GRjAsCQkweDgwfSwJLyogQ1JUL1RWIE1lbW9yeSBBZGRyZXNzIE9mZnNldCBSZWdpc3RlciAwKi8KKwl7UzFEUkVHX0NSVF9NRU1fT0ZGMSwJCTB4MDJ9LAkvKiBDUlQvVFYgTWVtb3J5IEFkZHJlc3MgT2Zmc2V0IFJlZ2lzdGVyIDEqLworCXtTMURSRUdfQ1JUX1BJWF9QQU4sCQkweDAwfSwJLyogQ1JUL1RWIFBpeGVsIFBhbm5pbmcgUmVnaXN0ZXIqLworCXtTMURSRUdfQ1JUX0RJU1BfRklGT19IVEMsCTB4MDB9LAkvKiBDUlQvVFYgRGlzcGxheSBGSUZPIEhpZ2ggVGhyZXNob2xkIENvbnRyb2wgUmVnaXN0ZXIqLworCXtTMURSRUdfQ1JUX0RJU1BfRklGT19MVEMsCTB4MDB9LAkvKiBDUlQvVFYgRGlzcGxheSBGSUZPIExvdyBUaHJlc2hvbGQgQ29udHJvbCBSZWdpc3RlciovCisJe1MxRFJFR19MQ0RfQ1VSX0NUTCwJCTB4MDB9LAkvKiBMQ0QgSW5rL0N1cnNvciBDb250cm9sIFJlZ2lzdGVyKi8KKwl7UzFEUkVHX0xDRF9DVVJfU1RBUlQsCQkweDAxfSwJLyogTENEIEluay9DdXJzb3IgU3RhcnQgQWRkcmVzcyBSZWdpc3RlciovCisJe1MxRFJFR19MQ0RfQ1VSX1hQT1MwLAkJMHgwMH0sCS8qIExDRCBDdXJzb3IgWCBQb3NpdGlvbiBSZWdpc3RlciAwKi8KKwl7UzFEUkVHX0xDRF9DVVJfWFBPUzEsCQkweDAwfSwJLyogTENEIEN1cnNvciBYIFBvc2l0aW9uIFJlZ2lzdGVyIDEqLworCXtTMURSRUdfTENEX0NVUl9ZUE9TMCwJCTB4MDB9LAkvKiBMQ0QgQ3Vyc29yIFkgUG9zaXRpb24gUmVnaXN0ZXIgMCovCisJe1MxRFJFR19MQ0RfQ1VSX1lQT1MxLAkJMHgwMH0sCS8qIExDRCBDdXJzb3IgWSBQb3NpdGlvbiBSZWdpc3RlciAxKi8KKwl7UzFEUkVHX0xDRF9DVVJfQkNUTDAsCQkweDAwfSwJLyogTENEIEluay9DdXJzb3IgQmx1ZSBDb2xvciAwIFJlZ2lzdGVyKi8KKwl7UzFEUkVHX0xDRF9DVVJfR0NUTDAsCQkweDAwfSwJLyogTENEIEluay9DdXJzb3IgR3JlZW4gQ29sb3IgMCBSZWdpc3RlciovCisJe1MxRFJFR19MQ0RfQ1VSX1JDVEwwLAkJMHgwMH0sCS8qIExDRCBJbmsvQ3Vyc29yIFJlZCBDb2xvciAwIFJlZ2lzdGVyKi8KKwl7UzFEUkVHX0xDRF9DVVJfQkNUTDEsCQkweDFGfSwJLyogTENEIEluay9DdXJzb3IgQmx1ZSBDb2xvciAxIFJlZ2lzdGVyKi8KKwl7UzFEUkVHX0xDRF9DVVJfR0NUTDEsCQkweDNGfSwJLyogTENEIEluay9DdXJzb3IgR3JlZW4gQ29sb3IgMSBSZWdpc3RlciovCisJe1MxRFJFR19MQ0RfQ1VSX1JDVEwxLAkJMHgxRn0sCS8qIExDRCBJbmsvQ3Vyc29yIFJlZCBDb2xvciAxIFJlZ2lzdGVyKi8KKwl7UzFEUkVHX0xDRF9DVVJfRklGT19IVEMsCTB4MDB9LAkvKiBMQ0QgSW5rL0N1cnNvciBGSUZPIFRocmVzaG9sZCBSZWdpc3RlciovCisJe1MxRFJFR19DUlRfQ1VSX0NUTCwJCTB4MDB9LAkvKiBDUlQvVFYgSW5rL0N1cnNvciBDb250cm9sIFJlZ2lzdGVyKi8KKwl7UzFEUkVHX0NSVF9DVVJfU1RBUlQsCQkweDAxfSwJLyogQ1JUL1RWIEluay9DdXJzb3IgU3RhcnQgQWRkcmVzcyBSZWdpc3RlciovCisJe1MxRFJFR19DUlRfQ1VSX1hQT1MwLAkJMHgwMH0sCS8qIENSVC9UViBDdXJzb3IgWCBQb3NpdGlvbiBSZWdpc3RlciAwKi8KKwl7UzFEUkVHX0NSVF9DVVJfWFBPUzEsCQkweDAwfSwJLyogQ1JUL1RWIEN1cnNvciBYIFBvc2l0aW9uIFJlZ2lzdGVyIDEqLworCXtTMURSRUdfQ1JUX0NVUl9ZUE9TMCwJCTB4MDB9LAkvKiBDUlQvVFYgQ3Vyc29yIFkgUG9zaXRpb24gUmVnaXN0ZXIgMCovCisJe1MxRFJFR19DUlRfQ1VSX1lQT1MxLAkJMHgwMH0sCS8qIENSVC9UViBDdXJzb3IgWSBQb3NpdGlvbiBSZWdpc3RlciAxKi8KKwl7UzFEUkVHX0NSVF9DVVJfQkNUTDAsCQkweDAwfSwJLyogQ1JUL1RWIEluay9DdXJzb3IgQmx1ZSBDb2xvciAwIFJlZ2lzdGVyKi8KKwl7UzFEUkVHX0NSVF9DVVJfR0NUTDAsCQkweDAwfSwJLyogQ1JUL1RWIEluay9DdXJzb3IgR3JlZW4gQ29sb3IgMCBSZWdpc3RlciovCisJe1MxRFJFR19DUlRfQ1VSX1JDVEwwLAkJMHgwMH0sCS8qIENSVC9UViBJbmsvQ3Vyc29yIFJlZCBDb2xvciAwIFJlZ2lzdGVyKi8KKwl7UzFEUkVHX0NSVF9DVVJfQkNUTDEsCQkweDFGfSwJLyogQ1JUL1RWIEluay9DdXJzb3IgQmx1ZSBDb2xvciAxIFJlZ2lzdGVyKi8KKwl7UzFEUkVHX0NSVF9DVVJfR0NUTDEsCQkweDNGfSwJLyogQ1JUL1RWIEluay9DdXJzb3IgR3JlZW4gQ29sb3IgMSBSZWdpc3RlciovCisJe1MxRFJFR19DUlRfQ1VSX1JDVEwxLAkJMHgxRn0sCS8qIENSVC9UViBJbmsvQ3Vyc29yIFJlZCBDb2xvciAxIFJlZ2lzdGVyKi8KKwl7UzFEUkVHX0NSVF9DVVJfRklGT19IVEMsCTB4MDB9LAkvKiBDUlQvVFYgSW5rL0N1cnNvciBGSUZPIFRocmVzaG9sZCBSZWdpc3RlciovCisJe1MxRFJFR19CQkxUX0NUTDAsCQkweDAwfSwJLyogQml0Qmx0IENvbnRyb2wgUmVnaXN0ZXIgMCovCisJe1MxRFJFR19CQkxUX0NUTDEsCQkweDAxfSwJLyogQml0Qmx0IENvbnRyb2wgUmVnaXN0ZXIgMSovCisJe1MxRFJFR19CQkxUX0NDX0VYUCwJCTB4MDB9LAkvKiBCaXRCbHQgUk9QIENvZGUvQ29sb3IgRXhwYW5zaW9uIFJlZ2lzdGVyKi8KKwl7UzFEUkVHX0JCTFRfT1AsCQkweDAwfSwJLyogQml0Qmx0IE9wZXJhdGlvbiBSZWdpc3RlciovCisJe1MxRFJFR19CQkxUX1NSQ19TVEFSVDAsCTB4MDB9LAkvKiBCaXRCbHQgU291cmNlIFN0YXJ0IEFkZHJlc3MgUmVnaXN0ZXIgMCovCisJe1MxRFJFR19CQkxUX1NSQ19TVEFSVDEsCTB4MDB9LAkvKiBCaXRCbHQgU291cmNlIFN0YXJ0IEFkZHJlc3MgUmVnaXN0ZXIgMSovCisJe1MxRFJFR19CQkxUX1NSQ19TVEFSVDIsCTB4MDB9LAkvKiBCaXRCbHQgU291cmNlIFN0YXJ0IEFkZHJlc3MgUmVnaXN0ZXIgMiovCisJe1MxRFJFR19CQkxUX0RTVF9TVEFSVDAsCTB4MDB9LAkvKiBCaXRCbHQgRGVzdGluYXRpb24gU3RhcnQgQWRkcmVzcyBSZWdpc3RlciAwKi8KKwl7UzFEUkVHX0JCTFRfRFNUX1NUQVJUMSwJMHgwMH0sCS8qIEJpdEJsdCBEZXN0aW5hdGlvbiBTdGFydCBBZGRyZXNzIFJlZ2lzdGVyIDEqLworCXtTMURSRUdfQkJMVF9EU1RfU1RBUlQyLAkweDAwfSwJLyogQml0Qmx0IERlc3RpbmF0aW9uIFN0YXJ0IEFkZHJlc3MgUmVnaXN0ZXIgMiovCisJe1MxRFJFR19CQkxUX01FTV9PRkYwLAkJMHgwMH0sCS8qIEJpdEJsdCBNZW1vcnkgQWRkcmVzcyBPZmZzZXQgUmVnaXN0ZXIgMCovCisJe1MxRFJFR19CQkxUX01FTV9PRkYxLAkJMHgwMH0sCS8qIEJpdEJsdCBNZW1vcnkgQWRkcmVzcyBPZmZzZXQgUmVnaXN0ZXIgMSovCisJe1MxRFJFR19CQkxUX1dJRFRIMCwJCTB4MDB9LAkvKiBCaXRCbHQgV2lkdGggUmVnaXN0ZXIgMCovCisJe1MxRFJFR19CQkxUX1dJRFRIMSwJCTB4MDB9LAkvKiBCaXRCbHQgV2lkdGggUmVnaXN0ZXIgMSovCisJe1MxRFJFR19CQkxUX0hFSUdIVDAsCQkweDAwfSwJLyogQml0Qmx0IEhlaWdodCBSZWdpc3RlciAwKi8KKwl7UzFEUkVHX0JCTFRfSEVJR0hUMSwJCTB4MDB9LAkvKiBCaXRCbHQgSGVpZ2h0IFJlZ2lzdGVyIDEqLworCXtTMURSRUdfQkJMVF9CR0MwLAkJMHgwMH0sCS8qIEJpdEJsdCBCYWNrZ3JvdW5kIENvbG9yIFJlZ2lzdGVyIDAqLworCXtTMURSRUdfQkJMVF9CR0MxLAkJMHgwMH0sCS8qIEJpdEJsdCBCYWNrZ3JvdW5kIENvbG9yIFJlZ2lzdGVyIDEqLworCXtTMURSRUdfQkJMVF9GR0MwLAkJMHgwMH0sCS8qIEJpdEJsdCBGb3JlZ3JvdW5kIENvbG9yIFJlZ2lzdGVyIDAqLworCXtTMURSRUdfQkJMVF9GR0MxLAkJMHgwMH0sCS8qIEJpdEJsdCBGb3JlZ3JvdW5kIENvbG9yIFJlZ2lzdGVyIDEqLworCXtTMURSRUdfTEtVUF9NT0RFLAkJMHgwMH0sCS8qIExvb2stVXAgVGFibGUgTW9kZSBSZWdpc3RlciovCisJe1MxRFJFR19MS1VQX0FERFIsCQkweDAwfSwJLyogTG9vay1VcCBUYWJsZSBBZGRyZXNzIFJlZ2lzdGVyKi8KKwl7UzFEUkVHX1BTX0NORiwJCQkweDAwfSwJLyogUG93ZXIgU2F2ZSBDb25maWd1cmF0aW9uIFJlZ2lzdGVyKi8KKwl7UzFEUkVHX1BTX1NUQVRVUywJCTB4MDB9LAkvKiBQb3dlciBTYXZlIFN0YXR1cyBSZWdpc3RlciovCisJe1MxRFJFR19DUFUyTUVNX1dET0dULAkJMHgwMH0sCS8qIENQVS10by1NZW1vcnkgQWNjZXNzIFdhdGNoZG9nIFRpbWVyIFJlZ2lzdGVyKi8KKwl7UzFEUkVHX0NPTV9ESVNQX01PREUsCQkweDAxfSwJLyogRGlzcGxheSBNb2RlIFJlZ2lzdGVyLCBMQ0Qgb25seSovCiB9OwogCi1zdGF0aWMgdTY0IHMxZGZiX2RtYW1hc2sgPSAweGZmZmZmZmZmVUw7CitzdGF0aWMgdTY0IHMxZGZiX2RtYW1hc2sgPSBETUFfQklUX01BU0soMzIpOwogCi1zdGF0aWMgc3RydWN0IHMxZDEzeHh4ZmJfcGRhdGEgeWxfOTIwMF9zMWRmYl9wZGF0YSA9IHsKLQkJLmluaXRyZWdzCQkJCT0geWxfOTIwMF9zMWRmYl9pbml0cmVncywKLQkJLmluaXRyZWdzc2l6ZQkJCT0gQVJSQVlfU0laRSh5bF85MjAwX3MxZGZiX2luaXRyZWdzKSwKLQkJLnBsYXRmb3JtX2luaXRfdmlkZW8JPSB5bF85MjAwX2luaXRfdmlkZW8sCitzdGF0aWMgc3RydWN0IHMxZDEzeHh4ZmJfcGRhdGEgeWw5MjAwX3MxZGZiX3BkYXRhID0geworCS5pbml0cmVncwkJPSB5bDkyMDBfczFkZmJfaW5pdHJlZ3MsCisJLmluaXRyZWdzc2l6ZQkJPSBBUlJBWV9TSVpFKHlsOTIwMF9zMWRmYl9pbml0cmVncyksCisJLnBsYXRmb3JtX2luaXRfdmlkZW8JPSB5bDkyMDBfaW5pdF92aWRlbywKIH07CiAKLXN0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgeWxfOTIwMF9zMWRmYl9yZXNvdXJjZVtdID0geworc3RhdGljIHN0cnVjdCByZXNvdXJjZSB5bDkyMDBfczFkZmJfcmVzb3VyY2VbXSA9IHsKIAlbMF0gPSB7CS8qIHZpZGVvIG1lbSAqLwotCQkubmFtZSAgID0gInMxZDEzeHh4ZmIgbWVtb3J5IiwKLQkvKgkubmFtZSAgID0gInMxZDEzODA2IG1lbW9yeSIsKi8KLQkJLnN0YXJ0ICA9IEFUOTFfRkJfVk1FTV9CQVNFLAotCQkuZW5kICAgID0gQVQ5MV9GQl9WTUVNX0JBU0UgKyBBVDkxX0ZCX1ZNRU1fU0laRSAtMSwKLQkJLmZsYWdzICA9IElPUkVTT1VSQ0VfTUVNLAorCQkubmFtZQk9ICJzMWQxM3h4eGZiIG1lbW9yeSIsCisJCS5zdGFydAk9IEFUOTFfRkJfVk1FTV9CQVNFLAorCQkuZW5kCT0gQVQ5MV9GQl9WTUVNX0JBU0UgKyBBVDkxX0ZCX1ZNRU1fU0laRSAtMSwKKwkJLmZsYWdzCT0gSU9SRVNPVVJDRV9NRU0sCiAJfSwKIAlbMV0gPSB7CS8qIHZpZGVvIHJlZ2lzdGVycyAqLwotCQkubmFtZSAgID0gInMxZDEzeHh4ZmIgcmVnaXN0ZXJzIiwKLQkvKgkubmFtZSAgID0gInMxZDEzODA2IHJlZ2lzdGVycyIsKi8KLQkJLnN0YXJ0ICA9IEFUOTFfRkJfUkVHX0JBU0UsCi0JCS5lbmQgICAgPSBBVDkxX0ZCX1JFR19CQVNFICsgQVQ5MV9GQl9SRUdfU0laRSAtMSwKLQkJLmZsYWdzICA9IElPUkVTT1VSQ0VfTUVNLAorCQkubmFtZQk9ICJzMWQxM3h4eGZiIHJlZ2lzdGVycyIsCisJCS5zdGFydAk9IEFUOTFfRkJfUkVHX0JBU0UsCisJCS5lbmQJPSBBVDkxX0ZCX1JFR19CQVNFICsgQVQ5MV9GQl9SRUdfU0laRSAtMSwKKwkJLmZsYWdzCT0gSU9SRVNPVVJDRV9NRU0sCiAJfSwKIH07CiAKLXN0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIHlsXzkyMDBfczFkZmJfZGV2aWNlID0gewotCS8qVE9ETyBTLkJpcnRsZXMgLCByZWFsbHkgd2UgbmVlZCB0aGUgY2hpcCByZXZpc2lvbiBpbiBoZXJlIGFzIHdlbGwqLwotCQkubmFtZQkJPSAiczFkMTM4MDZmYiIsCi0JLyogIC5uYW1lCQk9ICJzMWQxMzUwNmZiIiwqLwotCQkuaWQJCQk9IC0xLAotCQkuZGV2CQk9IHsKLQkvKlRPRE8gdGhlcmVzIGEgd2FyaW5nIGhlcmUhISovCi0JLypXQVJOSU5HOiB2bWxpbnV4Lm8oLmRhdGErMHgyZGJjKTogU2VjdGlvbiBtaXNtYXRjaDogcmVmZXJlbmNlIHRvIC5pbml0LnRleHQ6IChiZXR3ZWVuICd5bF85MjAwX3MxZGZiX3BkYXRhJyBhbmQgJ3MxZGZiX2RtYW1hc2snKSovCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSB5bDkyMDBfczFkZmJfZGV2aWNlID0geworCS5uYW1lCQk9ICJzMWQxMzgwNmZiIiwKKwkuaWQJCT0gLTEsCisJLmRldgk9IHsKIAkJLmRtYV9tYXNrCQk9ICZzMWRmYl9kbWFtYXNrLAotCQkuY29oZXJlbnRfZG1hX21hc2sJPSAweGZmZmZmZmZmLAotCQkucGxhdGZvcm1fZGF0YQkJPSAmeWxfOTIwMF9zMWRmYl9wZGF0YSwKKwkJLmNvaGVyZW50X2RtYV9tYXNrCT0gRE1BX0JJVF9NQVNLKDMyKSwKKwkJLnBsYXRmb3JtX2RhdGEJCT0gJnlsOTIwMF9zMWRmYl9wZGF0YSwKIAl9LAotCS5yZXNvdXJjZQk9IHlsXzkyMDBfczFkZmJfcmVzb3VyY2UsCi0JLm51bV9yZXNvdXJjZXMJPSBBUlJBWV9TSVpFKHlsXzkyMDBfczFkZmJfcmVzb3VyY2UpLAorCS5yZXNvdXJjZQk9IHlsOTIwMF9zMWRmYl9yZXNvdXJjZSwKKwkubnVtX3Jlc291cmNlcwk9IEFSUkFZX1NJWkUoeWw5MjAwX3MxZGZiX3Jlc291cmNlKSwKIH07CiAKLXZvaWQgX19pbml0IHlsXzkyMDBfYWRkX2RldmljZV92aWRlbyh2b2lkKQordm9pZCBfX2luaXQgeWw5MjAwX2FkZF9kZXZpY2VfdmlkZW8odm9pZCkKIHsKLQlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJnlsXzkyMDBfczFkZmJfZGV2aWNlKTsKKwlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJnlsOTIwMF9zMWRmYl9kZXZpY2UpOwogfQogI2Vsc2UKLQl2b2lkIF9faW5pdCB5bF85MjAwX2FkZF9kZXZpY2VfdmlkZW8odm9pZCkge30KK3ZvaWQgX19pbml0IHlsOTIwMF9hZGRfZGV2aWNlX3ZpZGVvKHZvaWQpIHt9CiAjZW5kaWYKIAotLyp0aGlzIGlzIG5vdCBjYWxsZWQgZmlyc3QgLCB5bF85MjAwX21hcF9pbyBpcyBjYWxsZWQgZmlyc3QqLwotc3RhdGljIHZvaWQgX19pbml0IHlsXzkyMDBfYm9hcmRfaW5pdCh2b2lkKQorCitzdGF0aWMgdm9pZCBfX2luaXQgeWw5MjAwX2JvYXJkX2luaXQodm9pZCkKIHsKIAkvKiBTZXJpYWwgKi8KIAlhdDkxX2FkZF9kZXZpY2Vfc2VyaWFsKCk7CiAJLyogRXRoZXJuZXQgKi8KLQlhdDkxX2FkZF9kZXZpY2VfZXRoKCZ5bF85MjAwX2V0aF9kYXRhKTsKKwlhdDkxX2FkZF9kZXZpY2VfZXRoKCZ5bDkyMDBfZXRoX2RhdGEpOwogCS8qIFVTQiBIb3N0ICovCi0JYXQ5MV9hZGRfZGV2aWNlX3VzYmgoJnlsXzkyMDBfdXNiaF9kYXRhKTsKKwlhdDkxX2FkZF9kZXZpY2VfdXNiaCgmeWw5MjAwX3VzYmhfZGF0YSk7CiAJLyogVVNCIERldmljZSAqLwotCWF0OTFfYWRkX2RldmljZV91ZGMoJnlsXzkyMDBfdWRjX2RhdGEpOwotCS8qIHB1bGx1cF9waW4gaXQgaXMgIGFjdHVhbGx5IGFjdGl2ZSBsb3csIGJ1dCB0aGlzIGlzIG5vdCBuZWVkZWQsIGRyaXZlciBzZXRzIGl0IHVwICovCi0JLyphdDkxX3NldF9tdWx0aV9kcml2ZSh5bF85MjAwX3VkY19kYXRhLnB1bGx1cF9waW4sIDApOyovCi0KLQkvKiBDb21wYWN0IEZsYXNoICovCi0JLyphdDkxX2FkZF9kZXZpY2VfY2YoJnlsXzkyMDBfY2ZfZGF0YSk7Ki8KLQorCWF0OTFfYWRkX2RldmljZV91ZGMoJnlsOTIwMF91ZGNfZGF0YSk7CiAJLyogSTJDICovCi0JYXQ5MV9hZGRfZGV2aWNlX2kyYyh5bF85MjAwX2kyY19kZXZpY2VzLCBBUlJBWV9TSVpFKHlsXzkyMDBfaTJjX2RldmljZXMpKTsKLQkvKiBTUEkgKi8KLQkvKlRPRE8gWUw5MjAwIHdlIGhhdmUgMiBzcGkgaW50ZXJmYWNlcyB0b3VjaCBzY3JlZW4gJiBDQU4qLwotCS8qIEFUOTFfUElOX1BBNSwgQVQ5MV9QSU5fUEE2ICwgYXJlIHVzZWQgb24gdGhlICBtYXggNDg1IE5PVCBTUEkqLwotCi0JLyp0b3VjaCBzY3JlZW4gYW5kIENBTiovCi0JYXQ5MV9hZGRfZGV2aWNlX3NwaSh5bF85MjAwX3NwaV9kZXZpY2VzLCBBUlJBWV9TSVpFKHlsXzkyMDBfc3BpX2RldmljZXMpKTsKLQotCS8qQmFzaWNhbGx5IHRoZSAgVFMgdXNlcyAgUEIxMSAmIFBCMTAgLCBQQjExIGlzIGNvbmZpZ3VyZWQgYnkgdGhlIFNQSSBzeXN0ZW0gQlAxMCBJUyBOT1QgVVNFRCEhKi8KLQkvKiB3ZSBuZWVkIHRoaXMgaW5jYXNlIHRoZSBib2FyZCBpcyBydW5uaW5nIHdpdGhvdXQgYSB0b3VjaCBzY3JlZW4qLwotCSNpZiBkZWZpbmVkKENPTkZJR19UT1VDSFNDUkVFTl9BRFM3ODQ2KSB8fCBkZWZpbmVkKENPTkZJR19UT1VDSFNDUkVFTl9BRFM3ODQ2X01PRFVMRSkKLQlhdDkxX2luaXRfZGV2aWNlX3RzKCk7IC8qaW5pdCB0aGUgdG91Y2ggc2NyZWVuIGRldmljZSovCi0JI2VuZGlmCi0JLyogRGF0YUZsYXNoIGNhcmQgKi8KLQlhdDkxX2FkZF9kZXZpY2VfbW1jKDAsICZ5bF85MjAwX21tY19kYXRhKTsKKwlhdDkxX2FkZF9kZXZpY2VfaTJjKHlsOTIwMF9pMmNfZGV2aWNlcywgQVJSQVlfU0laRSh5bDkyMDBfaTJjX2RldmljZXMpKTsKKwkvKiBNTUMgKi8KKwlhdDkxX2FkZF9kZXZpY2VfbW1jKDAsICZ5bDkyMDBfbW1jX2RhdGEpOwogCS8qIE5BTkQgKi8KLQlhdDkxX2FkZF9kZXZpY2VfbmFuZCgmeWxfOTIwMF9uYW5kX2RhdGEpOworCWF0OTFfYWRkX2RldmljZV9uYW5kKCZ5bDkyMDBfbmFuZF9kYXRhKTsKIAkvKiBOT1IgRmxhc2ggKi8KLQlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJnlsXzkyMDBfZmxhc2gpOwotCS8qIExFRHMuIE5vdGUhISB0aGlzIGRvZXMgbm90IGluY2x1ZGUgdGhlIGxlZCdzIHdlIHBhc3NlZCBmb3IgdGhlIHByb2Nlc3NvciBzdGF0dXMgKi8KLQlhdDkxX2dwaW9fbGVkcyh5bF85MjAwX2xlZHMsIEFSUkFZX1NJWkUoeWxfOTIwMF9sZWRzKSk7Ci0JLyogVkdBICAqLwotCS8qdGhpcyBpcyBzZWxmIHJlZ2lzdGVyZWQgYnkgaW5jbHVkaW5nIHRoZSBzMWQxM3h4eCBjaGlwIGluIHRoZSBrZXJuZWwgYnVpbGQqLwotCXlsXzkyMDBfYWRkX2RldmljZV92aWRlbygpOworCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmeWw5MjAwX2ZsYXNoKTsKKyNpZiBkZWZpbmVkKENPTkZJR19TUElfQVRNRUwpIHx8IGRlZmluZWQoQ09ORklHX1NQSV9BVE1FTF9NT0RVTEUpCisJLyogU1BJICovCisJYXQ5MV9hZGRfZGV2aWNlX3NwaSh5bDkyMDBfc3BpX2RldmljZXMsIEFSUkFZX1NJWkUoeWw5MjAwX3NwaV9kZXZpY2VzKSk7CisJLyogVG91Y2hzY3JlZW4gKi8KKwl5bDkyMDBfYWRkX2RldmljZV90cygpOworI2VuZGlmCisJLyogTEVEcy4gKi8KKwlhdDkxX2dwaW9fbGVkcyh5bDkyMDBfbGVkcywgQVJSQVlfU0laRSh5bDkyMDBfbGVkcykpOwogCS8qIFB1c2ggQnV0dG9ucyAqLwotCXlsXzkyMDBfYWRkX2RldmljZV9idXR0b25zKCk7Ci0JLypUT0RPIGZpeHVwIHRoZSBTb3VuZGVyICovCi0vLwl5bF85MjAwX2FkZF9kZXZpY2Vfc291bmRlcih5bF85MjAwX3NvdW5kZXIsQVJSQVlfU0laRSh5bF85MjAwX3NvdW5kZXIpKTsKLQorCXlsOTIwMF9hZGRfZGV2aWNlX2J1dHRvbnMoKTsKKwkvKiBWR0EgKi8KKwl5bDkyMDBfYWRkX2RldmljZV92aWRlbygpOwogfQogCiBNQUNISU5FX1NUQVJUKFlMOTIwMCwgInVDZHJhZ29uIFlMLTkyMDAiKQotCS8qIE1haW50YWluZXI6IFMuQmlydGxlcyovCi0JLnBoeXNfaW8JCT0gQVQ5MV9CQVNFX1NZUywKKwkvKiBNYWludGFpbmVyOiBTLkJpcnRsZXMgKi8KKwkucGh5c19pbwk9IEFUOTFfQkFTRV9TWVMsCiAJLmlvX3BnX29mZnN0CT0gKEFUOTFfVkFfQkFTRV9TWVMgPj4gMTgpICYgMHhmZmZjLAogCS5ib290X3BhcmFtcwk9IEFUOTFfU0RSQU1fQkFTRSArIDB4MTAwLAotCS50aW1lcgkJCT0gJmF0OTFybTkyMDBfdGltZXIsCi0JLm1hcF9pbwkJCT0geWxfOTIwMF9tYXBfaW8sCi0JLmluaXRfaXJxCQk9IHlsXzkyMDBfaW5pdF9pcnEsCi0JLmluaXRfbWFjaGluZQk9IHlsXzkyMDBfYm9hcmRfaW5pdCwKKwkudGltZXIJCT0gJmF0OTFybTkyMDBfdGltZXIsCisJLm1hcF9pbwkJPSB5bDkyMDBfbWFwX2lvLAorCS5pbml0X2lycQk9IHlsOTIwMF9pbml0X2lycSwKKwkuaW5pdF9tYWNoaW5lCT0geWw5MjAwX2JvYXJkX2luaXQsCiBNQUNISU5FX0VORApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1hdDkxL2Nsb2NrLmMgYi9hcmNoL2FybS9tYWNoLWF0OTEvY2xvY2suYwppbmRleCBhMzNkZmU0Li40NjRiZGJiIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLWF0OTEvY2xvY2suYworKysgYi9hcmNoL2FybS9tYWNoLWF0OTEvY2xvY2suYwpAQCAtMTEyLDEyICsxMTIsMzQgQEAKIAkJYXQ5MV9zeXNfd3JpdGUoQVQ5MV9QTUNfU0NEUiwgY2xrLT5wbWNfbWFzayk7CiB9CiAKK3N0YXRpYyB2b2lkIHBtY191Y2tyX21vZGUoc3RydWN0IGNsayAqY2xrLCBpbnQgaXNfb24pCit7CisJdW5zaWduZWQgaW50IHVja3IgPSBhdDkxX3N5c19yZWFkKEFUOTFfQ0tHUl9VQ0tSKTsKKworCWlmIChpc19vbikgeworCQlpc19vbiA9IEFUOTFfUE1DX0xPQ0tVOworCQlhdDkxX3N5c193cml0ZShBVDkxX0NLR1JfVUNLUiwgdWNrciB8IGNsay0+cG1jX21hc2spOworCX0gZWxzZQorCQlhdDkxX3N5c193cml0ZShBVDkxX0NLR1JfVUNLUiwgdWNrciAmIH4oY2xrLT5wbWNfbWFzaykpOworCisJZG8geworCQljcHVfcmVsYXgoKTsKKwl9IHdoaWxlICgoYXQ5MV9zeXNfcmVhZChBVDkxX1BNQ19TUikgJiBBVDkxX1BNQ19MT0NLVSkgIT0gaXNfb24pOworfQorCiAvKiBVU0IgZnVuY3Rpb24gY2xvY2tzIChQTExCIG11c3QgYmUgNDggTUh6KSAqLwogc3RhdGljIHN0cnVjdCBjbGsgdWRwY2sgPSB7CiAJLm5hbWUJCT0gInVkcGNrIiwKIAkucGFyZW50CQk9ICZwbGxiLAogCS5tb2RlCQk9IHBtY19zeXNfbW9kZSwKIH07CitzdGF0aWMgc3RydWN0IGNsayB1dG1pX2NsayA9IHsKKwkubmFtZQkJPSAidXRtaV9jbGsiLAorCS5wYXJlbnQJCT0gJm1haW5fY2xrLAorCS5wbWNfbWFzawk9IEFUOTFfUE1DX1VQTExFTiwJLyogaW4gQ0tHUl9VQ0tSICovCisJLm1vZGUJCT0gcG1jX3Vja3JfbW9kZSwKKwkudHlwZQkJPSBDTEtfVFlQRV9QTEwsCit9Owogc3RhdGljIHN0cnVjdCBjbGsgdWhwY2sgPSB7CiAJLm5hbWUJCT0gInVocGNrIiwKIAkucGFyZW50CQk9ICZwbGxiLApAQCAtMzYxLDcgKzM4Myw3IEBACiAKIHN0YXRpYyBpbnQgYXQ5MV9jbGtfc2hvdyhzdHJ1Y3Qgc2VxX2ZpbGUgKnMsIHZvaWQgKnVudXNlZCkKIHsKLQl1MzIJCXNjc3IsIHBjc3IsIHNyOworCXUzMgkJc2NzciwgcGNzciwgdWNrciA9IDAsIHNyOwogCXN0cnVjdCBjbGsJKmNsazsKIAogCXNlcV9wcmludGYocywgIlNDU1IgPSAlOHhcbiIsIHNjc3IgPSBhdDkxX3N5c19yZWFkKEFUOTFfUE1DX1NDU1IpKTsKQEAgLTM2OSw3ICszOTEsMTAgQEAKIAlzZXFfcHJpbnRmKHMsICJNT1IgID0gJTh4XG4iLCBhdDkxX3N5c19yZWFkKEFUOTFfQ0tHUl9NT1IpKTsKIAlzZXFfcHJpbnRmKHMsICJNQ0ZSID0gJTh4XG4iLCBhdDkxX3N5c19yZWFkKEFUOTFfQ0tHUl9NQ0ZSKSk7CiAJc2VxX3ByaW50ZihzLCAiUExMQSA9ICU4eFxuIiwgYXQ5MV9zeXNfcmVhZChBVDkxX0NLR1JfUExMQVIpKTsKLQlzZXFfcHJpbnRmKHMsICJQTExCID0gJTh4XG4iLCBhdDkxX3N5c19yZWFkKEFUOTFfQ0tHUl9QTExCUikpOworCWlmICghY3B1X2lzX2F0OTFzYW05cmwoKSkKKwkJc2VxX3ByaW50ZihzLCAiUExMQiA9ICU4eFxuIiwgYXQ5MV9zeXNfcmVhZChBVDkxX0NLR1JfUExMQlIpKTsKKwlpZiAoY3B1X2lzX2F0OTFjYXA5KCkgfHwgY3B1X2lzX2F0OTFzYW05cmwoKSkKKwkJc2VxX3ByaW50ZihzLCAiVUNLUiA9ICU4eFxuIiwgdWNrciA9IGF0OTFfc3lzX3JlYWQoQVQ5MV9DS0dSX1VDS1IpKTsKIAlzZXFfcHJpbnRmKHMsICJNQ0tSID0gJTh4XG4iLCBhdDkxX3N5c19yZWFkKEFUOTFfUE1DX01DS1IpKTsKIAlzZXFfcHJpbnRmKHMsICJTUiAgID0gJTh4XG4iLCBzciA9IGF0OTFfc3lzX3JlYWQoQVQ5MV9QTUNfU1IpKTsKIApAQCAtMzgyLDYgKzQwNyw4IEBACiAJCQlzdGF0ZSA9IChzY3NyICYgY2xrLT5wbWNfbWFzaykgPyAib24iIDogIm9mZiI7CiAJCWVsc2UgaWYgKGNsay0+bW9kZSA9PSBwbWNfcGVyaXBoX21vZGUpCiAJCQlzdGF0ZSA9IChwY3NyICYgY2xrLT5wbWNfbWFzaykgPyAib24iIDogIm9mZiI7CisJCWVsc2UgaWYgKGNsay0+bW9kZSA9PSBwbWNfdWNrcl9tb2RlKQorCQkJc3RhdGUgPSAodWNrciAmIGNsay0+cG1jX21hc2spID8gIm9uIiA6ICJvZmYiOwogCQllbHNlIGlmIChjbGstPnBtY19tYXNrKQogCQkJc3RhdGUgPSAoc3IgJiBjbGstPnBtY19tYXNrKSA/ICJvbiIgOiAib2ZmIjsKIAkJZWxzZSBpZiAoY2xrID09ICZjbGszMmsgfHwgY2xrID09ICZtYWluX2NsaykKQEAgLTQ4OCwxNCArNTE1LDE5IEBACiAJCS8qCiAJCSAqIFBMTCBpbnB1dCBiZXR3ZWVuIDFNSHogYW5kIDMyTUh6IHBlciBzcGVjLCBidXQgbG93ZXIKIAkJICogZnJlcXVlbmNlcyBzZWVtIG5lY2Vzc2FyeSBpbiBzb21lIGNhc2VzIHNvIGFsbG93IDEwMEsuCisJCSAqIFdhcm5pbmc6IHNvbWUgbmV3ZXIgcHJvZHVjdHMgbmVlZCAyTUh6IG1pbi4KIAkJICovCiAJCWlucHV0ID0gbWFpbl9mcmVxIC8gaTsKKwkJaWYgKGNwdV9pc19hdDkxc2FtOWcyMCgpICYmIGlucHV0IDwgMjAwMDAwMCkKKwkJCWNvbnRpbnVlOwogCQlpZiAoaW5wdXQgPCAxMDAwMDApCiAJCQljb250aW51ZTsKIAkJaWYgKGlucHV0ID4gMzIwMDAwMDApCiAJCQljb250aW51ZTsKIAogCQltdWwxID0gb3V0X2ZyZXEgLyBpbnB1dDsKKwkJaWYgKGNwdV9pc19hdDkxc2FtOWcyMCgpICYmIG11bCA+IDYzKQorCQkJY29udGludWU7CiAJCWlmIChtdWwxID4gMjA0OCkKIAkJCWNvbnRpbnVlOwogCQlpZiAobXVsMSA8IDIpCkBAIC01NTUsNyArNTg3LDggQEAKIAogCS8qIHJlcG9ydCBpZiBQTExBIGlzIG1vcmUgdGhhbiBtaWxkbHkgb3ZlcmNsb2NrZWQgKi8KIAlwbGxhLnJhdGVfaHogPSBhdDkxX3BsbF9yYXRlKCZwbGxhLCBtYWluX2Nsb2NrLCBhdDkxX3N5c19yZWFkKEFUOTFfQ0tHUl9QTExBUikpOwotCWlmIChwbGxhLnJhdGVfaHogPiAyMDkwMDAwMDApCisJaWYgKCghY3B1X2lzX2F0OTFzYW05ZzIwKCkgJiYgcGxsYS5yYXRlX2h6ID4gMjA5MDAwMDAwKQorCSAgIHx8IChjcHVfaXNfYXQ5MXNhbTlnMjAoKSAmJiBwbGxhLnJhdGVfaHogPiA4MDAwMDAwMDApKQogCQlwcl9pbmZvKCJDbG9ja3M6IFBMTEEgb3ZlcmNsb2NrZWQsICVsZCBNSHpcbiIsIHBsbGEucmF0ZV9oeiAvIDEwMDAwMDApOwogCiAJLyoKQEAgLTU3MCw3ICs2MDMsNyBAQAogCQl1aHBjay5wbWNfbWFzayA9IEFUOTFSTTkyMDBfUE1DX1VIUDsKIAkJdWRwY2sucG1jX21hc2sgPSBBVDkxUk05MjAwX1BNQ19VRFA7CiAJCWF0OTFfc3lzX3dyaXRlKEFUOTFfUE1DX1NDRVIsIEFUOTFSTTkyMDBfUE1DX01DS1VEUCk7Ci0JfSBlbHNlIGlmIChjcHVfaXNfYXQ5MXNhbTkyNjAoKSB8fCBjcHVfaXNfYXQ5MXNhbTkyNjEoKSB8fCBjcHVfaXNfYXQ5MXNhbTkyNjMoKSkgeworCX0gZWxzZSBpZiAoY3B1X2lzX2F0OTFzYW05MjYwKCkgfHwgY3B1X2lzX2F0OTFzYW05MjYxKCkgfHwgY3B1X2lzX2F0OTFzYW05MjYzKCkgfHwgY3B1X2lzX2F0OTFzYW05ZzIwKCkpIHsKIAkJdWhwY2sucG1jX21hc2sgPSBBVDkxU0FNOTI2eF9QTUNfVUhQOwogCQl1ZHBjay5wbWNfbWFzayA9IEFUOTFTQU05MjZ4X1BNQ19VRFA7CiAJfSBlbHNlIGlmIChjcHVfaXNfYXQ5MWNhcDkoKSkgewpAQCAtNTgyLDYgKzYxNSwxNyBAQAogCXVocGNrLnJhdGVfaHogPSBhdDkxX3VzYl9yYXRlKCZwbGxiLCBwbGxiLnJhdGVfaHosIGF0OTFfcGxsYl91c2JfaW5pdCk7CiAKIAkvKgorCSAqIFVTQiBIUyBjbG9jayBpbml0CisJICovCisJaWYgKGNwdV9pc19hdDkxY2FwOSgpIHx8IGNwdV9pc19hdDkxc2FtOXJsKCkpIHsKKwkJLyoKKwkJICogbXVsdGlwbGllciBpcyBoYXJkLXdpcmVkIHRvIDQwCisJCSAqIChvYnRhaW4gdGhlIFVTQiBIaWdoIFNwZWVkIDQ4MCBNSHogd2hlbiBpbnB1dCBpcyAxMiBNSHopCisJCSAqLworCQl1dG1pX2Nsay5yYXRlX2h6ID0gNDAgKiB1dG1pX2Nsay5wYXJlbnQtPnJhdGVfaHo7CisJfQorCisJLyoKIAkgKiBNQ0sgYW5kIENQVSBkZXJpdmUgZnJvbSBvbmUgb2YgdGhvc2UgcHJpbWFyeSBjbG9ja3MuCiAJICogRm9yIG5vdywgYXNzdW1lIHRoaXMgcGFyZW50YWdlIHdvbid0IGNoYW5nZS4KIAkgKi8KQEAgLTU5MSwxMyArNjM1LDIxIEBACiAJZnJlcSAvPSAoMSA8PCAoKG1ja3IgJiBBVDkxX1BNQ19QUkVTKSA+PiAyKSk7CQkJCS8qIHByZXNjYWxlICovCiAJaWYgKGNwdV9pc19hdDkxcm05MjAwKCkpCiAJCW1jay5yYXRlX2h6ID0gZnJlcSAvICgxICsgKChtY2tyICYgQVQ5MV9QTUNfTURJVikgPj4gOCkpOwkvKiBtZGl2ICovCi0JZWxzZQotCQltY2sucmF0ZV9oeiA9IGZyZXEgLyAoMSA8PCAoKG1ja3IgJiBBVDkxX1BNQ19NRElWKSA+PiA4KSk7CS8qIG1kaXYgKi8KKwllbHNlIGlmIChjcHVfaXNfYXQ5MXNhbTlnMjAoKSkgeworCQltY2sucmF0ZV9oeiA9IChtY2tyICYgQVQ5MV9QTUNfTURJVikgPworCQkJZnJlcSAvICgobWNrciAmIEFUOTFfUE1DX01ESVYpID4+IDcpIDogZnJlcTsJLyogbWRpdiA7ICh4ID4+IDcpID0gKCh4ID4+IDgpICogMikgKi8KKwkJaWYgKG1ja3IgJiBBVDkxX1BNQ19QRElWKQorCQkJZnJlcSAvPSAyOwkJLyogcHJvY2Vzc29yIGNsb2NrIGRpdmlzaW9uICovCisJfSBlbHNlCisJCW1jay5yYXRlX2h6ID0gZnJlcSAvICgxIDw8ICgobWNrciAmIEFUOTFfUE1DX01ESVYpID4+IDgpKTsgICAgICAvKiBtZGl2ICovCiAKIAkvKiBSZWdpc3RlciB0aGUgUE1DJ3Mgc3RhbmRhcmQgY2xvY2tzICovCiAJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoc3RhbmRhcmRfcG1jX2Nsb2Nrcyk7IGkrKykKIAkJbGlzdF9hZGRfdGFpbCgmc3RhbmRhcmRfcG1jX2Nsb2Nrc1tpXS0+bm9kZSwgJmNsb2Nrcyk7CiAKKwlpZiAoY3B1X2lzX2F0OTFjYXA5KCkgfHwgY3B1X2lzX2F0OTFzYW05cmwoKSkKKwkJbGlzdF9hZGRfdGFpbCgmdXRtaV9jbGsubm9kZSwgJmNsb2Nrcyk7CisKIAkvKiBNQ0sgYW5kIENQVSBjbG9jayBhcmUgImFsd2F5cyBvbiIgKi8KIAljbGtfZW5hYmxlKCZtY2spOwogCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLWF0OTEvcG0uYyBiL2FyY2gvYXJtL21hY2gtYXQ5MS9wbS5jCmluZGV4IGFhODYzYzEuLjhhYjRmZWIgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtYXQ5MS9wbS5jCisrKyBiL2FyY2gvYXJtL21hY2gtYXQ5MS9wbS5jCkBAIC0yMDIsNyArMjAyLDcgQEAKIAkJCXByX2RlYnVnKCJBVDkxOiBQTSAtIFN1c3BlbmQtdG8tUkFNIHdpdGggVVNCIHN0aWxsIGFjdGl2ZVxuIik7CiAJCQlyZXR1cm4gMDsKIAkJfQotCX0gZWxzZSBpZiAoY3B1X2lzX2F0OTFzYW05MjYwKCkgfHwgY3B1X2lzX2F0OTFzYW05MjYxKCkgfHwgY3B1X2lzX2F0OTFzYW05MjYzKCkpIHsKKwl9IGVsc2UgaWYgKGNwdV9pc19hdDkxc2FtOTI2MCgpIHx8IGNwdV9pc19hdDkxc2FtOTI2MSgpIHx8IGNwdV9pc19hdDkxc2FtOTI2MygpIHx8IGNwdV9pc19hdDkxc2FtOWcyMCgpKSB7CiAJCWlmICgoc2NzciAmIChBVDkxU0FNOTI2eF9QTUNfVUhQIHwgQVQ5MVNBTTkyNnhfUE1DX1VEUCkpICE9IDApIHsKIAkJCXByX2RlYnVnKCJBVDkxOiBQTSAtIFN1c3BlbmQtdG8tUkFNIHdpdGggVVNCIHN0aWxsIGFjdGl2ZVxuIik7CiAJCQlyZXR1cm4gMDsKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtZXA5M3h4L2Nsb2NrLmMgYi9hcmNoL2FybS9tYWNoLWVwOTN4eC9jbG9jay5jCmluZGV4IDlkNzUxNWMuLmY2MmMzNTUgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtZXA5M3h4L2Nsb2NrLmMKKysrIGIvYXJjaC9hcm0vbWFjaC1lcDkzeHgvY2xvY2suYwpAQCAtNzQsNiArNzQsNyBAQAogCiAJcmV0dXJuIEVSUl9QVFIoLUVOT0VOVCk7CiB9CitFWFBPUlRfU1lNQk9MKGNsa19nZXQpOwogCiBpbnQgY2xrX2VuYWJsZShzdHJ1Y3QgY2xrICpjbGspCiB7CkBAIC04Niw2ICs4Nyw3IEBACiAKIAlyZXR1cm4gMDsKIH0KK0VYUE9SVF9TWU1CT0woY2xrX2VuYWJsZSk7CiAKIHZvaWQgY2xrX2Rpc2FibGUoc3RydWN0IGNsayAqY2xrKQogewpAQCAtOTYsMTUgKzk4LDE4IEBACiAJCV9fcmF3X3dyaXRlbCh2YWx1ZSAmIH5jbGstPmVuYWJsZV9tYXNrLCBjbGstPmVuYWJsZV9yZWcpOwogCX0KIH0KK0VYUE9SVF9TWU1CT0woY2xrX2Rpc2FibGUpOwogCiB1bnNpZ25lZCBsb25nIGNsa19nZXRfcmF0ZShzdHJ1Y3QgY2xrICpjbGspCiB7CiAJcmV0dXJuIGNsay0+cmF0ZTsKIH0KK0VYUE9SVF9TWU1CT0woY2xrX2dldF9yYXRlKTsKIAogdm9pZCBjbGtfcHV0KHN0cnVjdCBjbGsgKmNsaykKIHsKIH0KK0VYUE9SVF9TWU1CT0woY2xrX3B1dCk7CiAKIAogCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLWZvb3RicmlkZ2UvTWFrZWZpbGUgYi9hcmNoL2FybS9tYWNoLWZvb3RicmlkZ2UvTWFrZWZpbGUKaW5kZXggMDY5NGFkNi4uMzJmODYwOSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1mb290YnJpZGdlL01ha2VmaWxlCisrKyBiL2FyY2gvYXJtL21hY2gtZm9vdGJyaWRnZS9NYWtlZmlsZQpAQCAtMTQsMTIgKzE0LDEwIEBACiBwY2ktJChDT05GSUdfQVJDSF9ORVRXSU5ERVIpICs9IG5ldHdpbmRlci1wY2kubwogcGNpLSQoQ09ORklHX0FSQ0hfUEVSU09OQUxfU0VSVkVSKSArPSBwZXJzb25hbC1wY2kubwogCi1sZWRzLSQoQ09ORklHX0FSQ0hfQ08yODUpICs9IGVic2EyODUtbGVkcy5vCiBsZWRzLSQoQ09ORklHX0FSQ0hfRUJTQTI4NSkgKz0gZWJzYTI4NS1sZWRzLm8KIGxlZHMtJChDT05GSUdfQVJDSF9ORVRXSU5ERVIpICs9IG5ldHdpbmRlci1sZWRzLm8KIAogb2JqLSQoQ09ORklHX0FSQ0hfQ0FUUykgKz0gY2F0cy1ody5vIGlzYS10aW1lci5vCi1vYmotJChDT05GSUdfQVJDSF9DTzI4NSkgKz0gY28yODUubyBkYzIxMjg1LXRpbWVyLm8KIG9iai0kKENPTkZJR19BUkNIX0VCU0EyODUpICs9IGVic2EyODUubyBkYzIxMjg1LXRpbWVyLm8KIG9iai0kKENPTkZJR19BUkNIX05FVFdJTkRFUikgKz0gbmV0d2luZGVyLWh3Lm8gaXNhLXRpbWVyLm8KIG9iai0kKENPTkZJR19BUkNIX1BFUlNPTkFMX1NFUlZFUikgKz0gcGVyc29uYWwubyBkYzIxMjg1LXRpbWVyLm8KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtZm9vdGJyaWRnZS9jbzI4NS5jIGIvYXJjaC9hcm0vbWFjaC1mb290YnJpZGdlL2NvMjg1LmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ1NDU1NzYuLjAwMDAwMDAKLS0tIGEvYXJjaC9hcm0vbWFjaC1mb290YnJpZGdlL2NvMjg1LmMKKysrIC9kZXYvbnVsbApAQCAtMSwzOSArMCwwIEBACi0vKgotICogbGludXgvYXJjaC9hcm0vbWFjaC1mb290YnJpZGdlL2NvMjg1LmMKLSAqCi0gKiBDTzI4NSBtYWNoaW5lIGZpeHVwCi0gKi8KLSNpbmNsdWRlIDxsaW51eC9pbml0Lmg+Ci0KLSNpbmNsdWRlIDxhc20vaGFyZHdhcmUvZGVjMjEyODUuaD4KLSNpbmNsdWRlIDxhc20vbWFjaC10eXBlcy5oPgotCi0jaW5jbHVkZSA8YXNtL21hY2gvYXJjaC5oPgotCi0jaW5jbHVkZSAiY29tbW9uLmgiCi0KLXN0YXRpYyB2b2lkIF9faW5pdAotZml4dXBfY29lYnNhMjg1KHN0cnVjdCBtYWNoaW5lX2Rlc2MgKmRlc2MsIHN0cnVjdCB0YWcgKnRhZ3MsCi0JCWNoYXIgKipjbWRsaW5lLCBzdHJ1Y3QgbWVtaW5mbyAqbWkpCi17Ci0JZXh0ZXJuIHVuc2lnbmVkIGxvbmcgYm9vdF9tZW1vcnlfZW5kOwotCWV4dGVybiBjaGFyIGJvb3RfY29tbWFuZF9saW5lW107Ci0KLQltaS0+bnJfYmFua3MgICAgICA9IDE7Ci0JbWktPmJhbmtbMF0uc3RhcnQgPSBQSFlTX09GRlNFVDsKLQltaS0+YmFua1swXS5zaXplICA9IGJvb3RfbWVtb3J5X2VuZDsKLQltaS0+YmFua1swXS5ub2RlICA9IDA7Ci0KLQkqY21kbGluZSA9IGJvb3RfY29tbWFuZF9saW5lOwotfQotCi1NQUNISU5FX1NUQVJUKENPMjg1LCAiY28tRUJTQTI4NSIpCi0JLyogTWFpbnRhaW5lcjogTWFyayB2YW4gRG9lc2J1cmcgKi8KLQkucGh5c19pbwk9IERDMjEyODVfQVJNQ1NSX0JBU0UsCi0JLmlvX3BnX29mZnN0CT0gKCgweDdjZjAwMDAwKSA+PiAxOCkgJiAweGZmZmMsCi0JLmZpeHVwCQk9IGZpeHVwX2NvZWJzYTI4NSwKLQkubWFwX2lvCQk9IGZvb3RicmlkZ2VfbWFwX2lvLAotCS5pbml0X2lycQk9IGZvb3RicmlkZ2VfaW5pdF9pcnEsCi0JLnRpbWVyCQk9ICZmb290YnJpZGdlX3RpbWVyLAotTUFDSElORV9FTkQKLQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1mb290YnJpZGdlL2NvbW1vbi5jIGIvYXJjaC9hcm0vbWFjaC1mb290YnJpZGdlL2NvbW1vbi5jCmluZGV4IGVmMjlmYzMuLmIwOGFiNTAgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtZm9vdGJyaWRnZS9jb21tb24uYworKysgYi9hcmNoL2FybS9tYWNoLWZvb3RicmlkZ2UvY29tbW9uLmMKQEAgLTE3NywyNSArMTc3LDYgQEAKICNlbmRpZgogfTsKIAotLyoKLSAqIFRoZSBDTy1lYnNhMjg1IG1hcHBpbmcuCi0gKi8KLXN0YXRpYyBzdHJ1Y3QgbWFwX2Rlc2MgY28yODVfaW9fZGVzY1tdIF9faW5pdGRhdGEgPSB7Ci0jaWZkZWYgQ09ORklHX0FSQ0hfQ08yODUKLQl7Ci0JCS52aXJ0dWFsCT0gUENJT19CQVNFLAotCQkucGZuCQk9IF9fcGh5c190b19wZm4oREMyMTI4NV9QQ0lfSU8pLAotCQkubGVuZ3RoCQk9IFBDSU9fU0laRSwKLQkJLnR5cGUJCT0gTVRfREVWSUNFLAotCX0sIHsKLQkJLnZpcnR1YWwJPSBQQ0lNRU1fQkFTRSwKLQkJLnBmbgkJPSBfX3BoeXNfdG9fcGZuKERDMjEyODVfUENJX01FTSksCi0JCS5sZW5ndGgJCT0gUENJTUVNX1NJWkUsCi0JCS50eXBlCQk9IE1UX0RFVklDRSwKLQl9LAotI2VuZGlmCi19OwotCiB2b2lkIF9faW5pdCBmb290YnJpZGdlX21hcF9pbyh2b2lkKQogewogCS8qCkBAIC0yMDgsOCArMTg5LDYgQEAKIAkgKiBOb3csIHdvcmsgb3V0IHdoYXQgd2UndmUgZ290IHRvIG1hcCBpbiBhZGRpdGlvbiBvbiB0aGlzCiAJICogcGxhdGZvcm0uCiAJICovCi0JaWYgKG1hY2hpbmVfaXNfY28yODUoKSkKLQkJaW90YWJsZV9pbml0KGNvMjg1X2lvX2Rlc2MsIEFSUkFZX1NJWkUoY28yODVfaW9fZGVzYykpOwogCWlmIChmb290YnJpZGdlX2Nmbl9tb2RlKCkpCiAJCWlvdGFibGVfaW5pdChlYnNhMjg1X2hvc3RfaW9fZGVzYywgQVJSQVlfU0laRShlYnNhMjg1X2hvc3RfaW9fZGVzYykpOwogfQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1mb290YnJpZGdlL2Vic2EyODUtbGVkcy5jIGIvYXJjaC9hcm0vbWFjaC1mb290YnJpZGdlL2Vic2EyODUtbGVkcy5jCmluZGV4IGE2NGUyMjIuLjA5YzFmYmMgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtZm9vdGJyaWRnZS9lYnNhMjg1LWxlZHMuYworKysgYi9hcmNoL2FybS9tYWNoLWZvb3RicmlkZ2UvZWJzYTI4NS1sZWRzLmMKQEAgLTEyOCw3ICsxMjgsNyBAQAogCiBzdGF0aWMgaW50IF9faW5pdCBsZWRzX2luaXQodm9pZCkKIHsKLQlpZiAobWFjaGluZV9pc19lYnNhMjg1KCkgfHwgbWFjaGluZV9pc19jbzI4NSgpKQorCWlmIChtYWNoaW5lX2lzX2Vic2EyODUoKSkKIAkJbGVkc19ldmVudCA9IGVic2EyODVfbGVkc19ldmVudDsKIAogCWxlZHNfZXZlbnQobGVkX3N0YXJ0KTsKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtZm9vdGJyaWRnZS90aW1lLmMgYi9hcmNoL2FybS9tYWNoLWZvb3RicmlkZ2UvdGltZS5jCmluZGV4IDVkMDJlOTUuLmQ1Y2ZjZGEgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtZm9vdGJyaWRnZS90aW1lLmMKKysrIGIvYXJjaC9hcm0vbWFjaC1mb290YnJpZGdlL3RpbWUuYwpAQCAtMTE1LDggKzExNSw3IEBACiAKIHZvaWQgX19pbml0IGlzYV9ydGNfaW5pdCh2b2lkKQogewotCWlmIChtYWNoaW5lX2lzX2NvMjg1KCkgfHwKLQkgICAgbWFjaGluZV9pc19wZXJzb25hbF9zZXJ2ZXIoKSkKKwlpZiAobWFjaGluZV9pc19wZXJzb25hbF9zZXJ2ZXIoKSkKIAkJLyoKIAkJICogQWRkLWluIDIxMjg1cyBzaG91bGRuJ3QgYWNjZXNzIHRoZSBSVEMKIAkJICovCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLWlteC9NYWtlZmlsZSBiL2FyY2gvYXJtL21hY2gtaW14L01ha2VmaWxlCmluZGV4IDg4ZDVlNjEuLmIwNDdjN2UgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtaW14L01ha2VmaWxlCisrKyBiL2FyY2gvYXJtL21hY2gtaW14L01ha2VmaWxlCkBAIC00LDcgKzQsNyBAQAogCiAjIE9iamVjdCBmaWxlIGxpc3RzLgogCi1vYmoteQkJCSs9IGlycS5vIHRpbWUubyBkbWEubyBnZW5lcmljLm8KK29iai15CQkJKz0gaXJxLm8gdGltZS5vIGRtYS5vIGdlbmVyaWMubyBjbG9jay5vCiAKIG9iai0kKENPTkZJR19DUFVfRlJFUV9JTVgpCSs9IGNwdWZyZXEubwogCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLWlteC9jbG9jay5jIGIvYXJjaC9hcm0vbWFjaC1pbXgvY2xvY2suYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YTkwZmU1Ci0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vbWFjaC1pbXgvY2xvY2suYwpAQCAtMCwwICsxLDIwNSBAQAorLyoKKyAqICBDb3B5cmlnaHQgKEMpIDIwMDggU2FzY2hhIEhhdWVyIDxzLmhhdWVyQHBlbmd1dHJvbml4LmRlPiwgUGVuZ3V0cm9uaXgKKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisgKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAgMDIxMTEtMTMwNyAgVVNBCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L2xpc3QuaD4KKyNpbmNsdWRlIDxsaW51eC9tYXRoNjQuaD4KKyNpbmNsdWRlIDxsaW51eC9lcnIuaD4KKworI2luY2x1ZGUgPGFzbS9pby5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2lteC1yZWdzLmg+CisKKy8qCisgKiBWZXJ5IHNpbXBsZSBhcHByb2FjaDogV2UgY2FuJ3QgZGlzYWJsZSBjbG9ja3MsIHNvIHdlIGRvCisgKiBub3QgbmVlZCByZWZjb3VudGluZworICovCisKK3N0cnVjdCBjbGsgeworCXN0cnVjdCBsaXN0X2hlYWQgbm9kZTsKKwljb25zdCBjaGFyICpuYW1lOworCXVuc2lnbmVkIGxvbmcgKCpnZXRfcmF0ZSkodm9pZCk7Cit9OworCisvKgorICogIGdldCB0aGUgc3lzdGVtIHBsbCBjbG9jayBpbiBIegorICoKKyAqICAgICAgICAgICAgICAgICAgbWZpICsgbWZuIC8gKG1mZCArMSkKKyAqICBmID0gMiAqIGZfcmVmICogLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqICAgICAgICAgICAgICAgICAgICAgICAgcGQgKyAxCisgKi8KK3N0YXRpYyB1bnNpZ25lZCBsb25nIGlteF9kZWNvZGVfcGxsKHVuc2lnbmVkIGludCBwbGwsIHUzMiBmX3JlZikKK3sKKwl1bnNpZ25lZCBsb25nIGxvbmcgbGw7CisJdW5zaWduZWQgbG9uZyBxdW90OworCisJdTMyIG1maSA9IChwbGwgPj4gMTApICYgMHhmOworCXUzMiBtZm4gPSBwbGwgJiAweDNmZjsKKwl1MzIgbWZkID0gKHBsbCA+PiAxNikgJiAweDNmZjsKKwl1MzIgcGQgPSAgKHBsbCA+PiAyNikgJiAweGY7CisKKwltZmkgPSBtZmkgPD0gNSA/IDUgOiBtZmk7CisKKwlsbCA9IDIgKiAodW5zaWduZWQgbG9uZyBsb25nKWZfcmVmICoKKwkJKChtZmkgPDwgMTYpICsgKG1mbiA8PCAxNikgLyAobWZkICsgMSkpOworCXF1b3QgPSAocGQgKyAxKSAqICgxIDw8IDE2KTsKKwlsbCArPSBxdW90IC8gMjsKKwlkb19kaXYobGwsIHF1b3QpOworCXJldHVybiAodW5zaWduZWQgbG9uZylsbDsKK30KKworc3RhdGljIHVuc2lnbmVkIGxvbmcgaW14X2dldF9zeXN0ZW1fY2xrKHZvaWQpCit7CisJdTMyIGZfcmVmID0gKENTQ1IgJiBDU0NSX1NZU1RFTV9TRUwpID8gMTYwMDAwMDAgOiAoQ0xLMzIgKiA1MTIpOworCisJcmV0dXJuIGlteF9kZWNvZGVfcGxsKFNQQ1RMMCwgZl9yZWYpOworfQorCitzdGF0aWMgdW5zaWduZWQgbG9uZyBpbXhfZ2V0X21jdV9jbGsodm9pZCkKK3sKKwlyZXR1cm4gaW14X2RlY29kZV9wbGwoTVBDVEwwLCBDTEszMiAqIDUxMik7Cit9CisKKy8qCisgKiAgZ2V0IHBlcmlwaGVyYWwgY2xvY2sgMSAoIFVBUlRbMTJdLCBUaW1lclsxMl0sIFBXTSApCisgKi8KK3N0YXRpYyB1bnNpZ25lZCBsb25nIGlteF9nZXRfcGVyY2xrMSh2b2lkKQoreworCXJldHVybiBpbXhfZ2V0X3N5c3RlbV9jbGsoKSAvICgoKFBDRFIpICYgMHhmKSsxKTsKK30KKworLyoKKyAqICBnZXQgcGVyaXBoZXJhbCBjbG9jayAyICggTENELCBTRCwgU1BJWzEyXSApCisgKi8KK3N0YXRpYyB1bnNpZ25lZCBsb25nIGlteF9nZXRfcGVyY2xrMih2b2lkKQoreworCXJldHVybiBpbXhfZ2V0X3N5c3RlbV9jbGsoKSAvICgoKFBDRFI+PjQpICYgMHhmKSsxKTsKK30KKworLyoKKyAqICBnZXQgcGVyaXBoZXJhbCBjbG9jayAzICggU1NJICkKKyAqLworc3RhdGljIHVuc2lnbmVkIGxvbmcgaW14X2dldF9wZXJjbGszKHZvaWQpCit7CisJcmV0dXJuIGlteF9nZXRfc3lzdGVtX2NsaygpIC8gKCgoUENEUj4+MTYpICYgMHg3ZikrMSk7Cit9CisKKy8qCisgKiAgZ2V0IGhjbGsgKCBTRFJBTSwgQ1NJLCBNZW1vcnkgU3RpY2ssIEkyQywgRE1BICkKKyAqLworc3RhdGljIHVuc2lnbmVkIGxvbmcgaW14X2dldF9oY2xrKHZvaWQpCit7CisJcmV0dXJuIGlteF9nZXRfc3lzdGVtX2NsaygpIC8gKCgoQ1NDUj4+MTApICYgMHhmKSsxKTsKK30KKworc3RhdGljIHN0cnVjdCBjbGsgY2xrX3N5c3RlbV9jbGsgPSB7CisJLm5hbWUgPSAic3lzdGVtX2NsayIsCisJLmdldF9yYXRlID0gaW14X2dldF9zeXN0ZW1fY2xrLAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgY2xrX2hjbGsgPSB7CisJLm5hbWUgPSAiaGNsayIsCisJLmdldF9yYXRlID0gaW14X2dldF9oY2xrLAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgY2xrX21jdV9jbGsgPSB7CisJLm5hbWUgPSAibWN1X2NsayIsCisJLmdldF9yYXRlID0gaW14X2dldF9tY3VfY2xrLAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgY2xrX3BlcmNsazEgPSB7CisJLm5hbWUgPSAicGVyY2xrMSIsCisJLmdldF9yYXRlID0gaW14X2dldF9wZXJjbGsxLAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgY2xrX3VhcnRfY2xrID0geworCS5uYW1lID0gInVhcnRfY2xrIiwKKwkuZ2V0X3JhdGUgPSBpbXhfZ2V0X3BlcmNsazEsCit9OworCitzdGF0aWMgc3RydWN0IGNsayBjbGtfcGVyY2xrMiA9IHsKKwkubmFtZSA9ICJwZXJjbGsyIiwKKwkuZ2V0X3JhdGUgPSBpbXhfZ2V0X3BlcmNsazIsCit9OworCitzdGF0aWMgc3RydWN0IGNsayBjbGtfcGVyY2xrMyA9IHsKKwkubmFtZSA9ICJwZXJjbGszIiwKKwkuZ2V0X3JhdGUgPSBpbXhfZ2V0X3BlcmNsazMsCit9OworCitzdGF0aWMgc3RydWN0IGNsayAqY2xrc1tdID0geworCSZjbGtfcGVyY2xrMSwKKwkmY2xrX3BlcmNsazIsCisJJmNsa19wZXJjbGszLAorCSZjbGtfc3lzdGVtX2NsaywKKwkmY2xrX2hjbGssCisJJmNsa19tY3VfY2xrLAorCSZjbGtfdWFydF9jbGssCit9OworCitzdGF0aWMgTElTVF9IRUFEKGNsb2Nrcyk7CitzdGF0aWMgREVGSU5FX01VVEVYKGNsb2Nrc19tdXRleCk7CisKK3N0cnVjdCBjbGsgKmNsa19nZXQoc3RydWN0IGRldmljZSAqZGV2LCBjb25zdCBjaGFyICppZCkKK3sKKwlzdHJ1Y3QgY2xrICpwLCAqY2xrID0gRVJSX1BUUigtRU5PRU5UKTsKKworCW11dGV4X2xvY2soJmNsb2Nrc19tdXRleCk7CisJbGlzdF9mb3JfZWFjaF9lbnRyeShwLCAmY2xvY2tzLCBub2RlKSB7CisJCWlmICghc3RyY21wKHAtPm5hbWUsIGlkKSkgeworCQkJY2xrID0gcDsKKwkJCWdvdG8gZm91bmQ7CisJCX0KKwl9CisKK2ZvdW5kOgorCW11dGV4X3VubG9jaygmY2xvY2tzX211dGV4KTsKKworCXJldHVybiBjbGs7Cit9CisKK3ZvaWQgY2xrX3B1dChzdHJ1Y3QgY2xrICpjbGspCit7Cit9CisKK2ludCBjbGtfZW5hYmxlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwlyZXR1cm4gMDsKK30KKwordm9pZCBjbGtfZGlzYWJsZShzdHJ1Y3QgY2xrICpjbGspCit7Cit9CisKK3Vuc2lnbmVkIGxvbmcgY2xrX2dldF9yYXRlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwlyZXR1cm4gY2xrLT5nZXRfcmF0ZSgpOworfQorCitpbnQgaW14X2Nsb2Nrc19pbml0KHZvaWQpCit7CisJaW50IGk7CisKKwltdXRleF9sb2NrKCZjbG9ja3NfbXV0ZXgpOworCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKGNsa3MpOyBpKyspCisJCWxpc3RfYWRkKCZjbGtzW2ldLT5ub2RlLCAmY2xvY2tzKTsKKwltdXRleF91bmxvY2soJmNsb2Nrc19tdXRleCk7CisKKwlyZXR1cm4gMDsKK30KKwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1pbXgvY3B1ZnJlcS5jIGIvYXJjaC9hcm0vbWFjaC1pbXgvY3B1ZnJlcS5jCmluZGV4IGU1NDhiYTcuLmJlMDgwOWIgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtaW14L2NwdWZyZXEuYworKysgYi9hcmNoL2FybS9tYWNoLWlteC9jcHVmcmVxLmMKQEAgLTMyLDYgKzMyLDggQEAKICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KICNpbmNsdWRlIDxsaW51eC9jcHVmcmVxLmg+CisjaW5jbHVkZSA8bGludXgvY2xrLmg+CisjaW5jbHVkZSA8bGludXgvZXJyLmg+CiAjaW5jbHVkZSA8YXNtL3N5c3RlbS5oPgogCiAjaW5jbHVkZSA8YXNtL2hhcmR3YXJlLmg+CkBAIC01Miw2ICs1NCw4IEBACiBzdGF0aWMgdTMyIG1wY3RsMF9hdF9ib290Owogc3RhdGljIHUzMiBiY2xrX2Rpdl9hdF9ib290OwogCitzdGF0aWMgc3RydWN0IGNsayAqc3lzdGVtX2NsaywgKm1jdV9jbGs7CisKIHN0YXRpYyB2b2lkIGlteF9zZXRfYXN5bmNfbW9kZSh2b2lkKQogewogCWFkanVzdF9jcihDUl85MjBUX0NMT0NLX01PREUsIENSXzkyMFRfQVNZTkNfTU9ERSk7CkBAIC0xNjAsMTAgKzE2NCwxMCBAQAogCWNyID0gZ2V0X2NyKCk7CiAKIAlpZigoY3IgJiBDUl85MjBUX0NMT0NLX01PREUpID09IENSXzkyMFRfRkFTVEJVU19NT0RFKSB7Ci0JCWZyZXEgPSBpbXhfZ2V0X3N5c3RlbV9jbGsoKTsKKwkJZnJlcSA9IGNsa19nZXRfcmF0ZShzeXN0ZW1fY2xrKTsKIAkJZnJlcSA9IChmcmVxICsgYmNsa19kaXYvMikgLyBiY2xrX2RpdjsKIAl9IGVsc2UgewotCQlmcmVxID0gaW14X2dldF9tY3VfY2xrKCk7CisJCWZyZXEgPSBjbGtfZ2V0X3JhdGUobWN1X2Nsayk7CiAJCWlmIChjc2NyICYgQ1NDUl9NUFVfUFJFU0MpCiAJCQlmcmVxIC89IDI7CiAJfQpAQCAtMjAxLDcgKzIwNSw3IEBACiAJcHJfZGVidWcoS0VSTl9ERUJVRyAiaW14OiByZXF1ZXN0ZWQgZnJlcXVlbmN5ICVsZCBIeiwgbXBjdGwwIGF0IGJvb3QgMHglMDh4XG4iLAogCQkJZnJlcSwgbXBjdGwwX2F0X2Jvb3QpOwogCi0Jc3lzY2xrID0gaW14X2dldF9zeXN0ZW1fY2xrKCk7CisJc3lzY2xrID0gY2xrX2dldF9yYXRlKHN5c3RlbV9jbGspOwogCiAJaWYgKGZyZXEgPiBzeXNjbGsgLyBiY2xrX2Rpdl9hdF9ib290ICsgMTAwMDAwMCkgewogCQlmcmVxID0gaW14X2NvbXB1dGVfbXBjdGwoJm1wY3RsMCwgbXBjdGwwX2F0X2Jvb3QsIENMSzMyICogNTEyLCBmcmVxLCByZWxhdGlvbik7CkBAIC0yOTAsNiArMjk0LDE2IEBACiAJYmNsa19kaXZfYXRfYm9vdCA9IF9fbWZsZDJ2YWwoQ1NDUl9CQ0xLX0RJViwgQ1NDUikgKyAxOwogCW1wY3RsMF9hdF9ib290ID0gMDsKIAorCXN5c3RlbV9jbGsgPSBjbGtfZ2V0KE5VTEwsICJzeXN0ZW1fY2xrIik7CisJaWYgKElTX0VSUihzeXN0ZW1fY2xrKSkKKwkJcmV0dXJuIFBUUl9FUlIoc3lzdGVtX2Nsayk7CisKKwltY3VfY2xrID0gY2xrX2dldChOVUxMLCAibWN1X2NsayIpOworCWlmIChJU19FUlIobWN1X2NsaykpIHsKKwkJY2xrX3B1dChzeXN0ZW1fY2xrKTsKKwkJcmV0dXJuIFBUUl9FUlIobWN1X2Nsayk7CisJfQorCiAJaWYoKENTQ1IgJiBDU0NSX01QRU4pICYmCiAJICAgKChnZXRfY3IoKSAmIENSXzkyMFRfQ0xPQ0tfTU9ERSkgIT0gQ1JfOTIwVF9GQVNUQlVTX01PREUpKQogCQltcGN0bDBfYXRfYm9vdCA9IE1QQ1RMMDsKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtaW14L2RtYS5jIGIvYXJjaC9hcm0vbWFjaC1pbXgvZG1hLmMKaW5kZXggYTU5ZmYyOS4uZWUxYzZmMCAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1pbXgvZG1hLmMKKysrIGIvYXJjaC9hcm0vbWFjaC1pbXgvZG1hLmMKQEAgLTQxMCw3ICs0MTAsNiBAQAogCiAvKioKICAqIGlteF9kbWFfcmVxdWVzdF9ieV9wcmlvIC0gZmluZCBhbmQgcmVxdWVzdCBzb21lIG9mIGZyZWUgY2hhbm5lbHMgYmVzdCBzdWl0aW5nIHJlcXVlc3RlZCBwcmlvcml0eQotICogQGRtYV9jaDogaS5NWCBETUEgY2hhbm5lbCBudW1iZXIKICAqIEBuYW1lOiB0aGUgZHJpdmVyL2NhbGxlciBvd24gbm9uLSVOVUxMIGlkZW50aWZpY2F0aW9uCiAgKiBAcHJpbzogb25lIG9mIHRoZSBoYXJkd2FyZSBkaXN0aW5ndWlzaGVkIHByaW9yaXR5IGxldmVsOgogICogICAgICAgICVETUFfUFJJT19ISUdILCAlRE1BX1BSSU9fTUVESVVNLCAlRE1BX1BSSU9fTE9XCkBAIC00MjAsMTEgKzQxOSw5IEBACiAgKiBpbiB0aGUgaGlnaGVyIGFuZCB0aGVuIGV2ZW4gbG93ZXIgcHJpb3JpdHkgZ3JvdXBzLgogICoKICAqIFJldHVybiB2YWx1ZTogSWYgdGhlcmUgaXMgbm8gZnJlZSBjaGFubmVsIHRvIGFsbG9jYXRlLCAtJUVOT0RFViBpcyByZXR1cm5lZC4KLSAqICAgICAgICAgICAgICAgWmVybyB2YWx1ZSBpbmRpY2F0ZXMgc3VjY2Vzc2Z1bCBjaGFubmVsIGFsbG9jYXRpb24uCisgKiAgICAgICAgICAgICAgIE9uIHN1Y2Nlc3NmdWwgYWxsb2NhdGlvbiBjaGFubmVsIGlzIHJldHVybmVkLgogICovCi1pbnQKLWlteF9kbWFfcmVxdWVzdF9ieV9wcmlvKGlteF9kbWFjaF90ICogcGRtYV9jaCwgY29uc3QgY2hhciAqbmFtZSwKLQkJCWlteF9kbWFfcHJpbyBwcmlvKQoraW14X2RtYWNoX3QgaW14X2RtYV9yZXF1ZXN0X2J5X3ByaW8oY29uc3QgY2hhciAqbmFtZSwgaW14X2RtYV9wcmlvIHByaW8pCiB7CiAJaW50IGk7CiAJaW50IGJlc3Q7CkBAIC00NDQsMTUgKzQ0MSwxMyBAQAogCiAJZm9yIChpID0gYmVzdDsgaSA8IElNWF9ETUFfQ0hBTk5FTFM7IGkrKykgewogCQlpZiAoIWlteF9kbWFfcmVxdWVzdChpLCBuYW1lKSkgewotCQkJKnBkbWFfY2ggPSBpOwotCQkJcmV0dXJuIDA7CisJCQlyZXR1cm4gaTsKIAkJfQogCX0KIAogCWZvciAoaSA9IGJlc3QgLSAxOyBpID49IDA7IGktLSkgewogCQlpZiAoIWlteF9kbWFfcmVxdWVzdChpLCBuYW1lKSkgewotCQkJKnBkbWFfY2ggPSBpOwotCQkJcmV0dXJuIDA7CisJCQlyZXR1cm4gaTsKIAkJfQogCX0KIApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1pbXgvZ2VuZXJpYy5jIGIvYXJjaC9hcm0vbWFjaC1pbXgvZ2VuZXJpYy5jCmluZGV4IDRjZmM5ZDMuLjk4ZGRkOGEgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtaW14L2dlbmVyaWMuYworKysgYi9hcmNoL2FybS9tYWNoLWlteC9nZW5lcmljLmMKQEAgLTIxNCw4MiArMjE0LDYgQEAKIAogRVhQT1JUX1NZTUJPTChpbXhfaXJxX3RvX2dwaW8pOwogCi0vKgotICogIGdldCB0aGUgc3lzdGVtIHBsbCBjbG9jayBpbiBIegotICoKLSAqICAgICAgICAgICAgICAgICAgbWZpICsgbWZuIC8gKG1mZCArMSkKLSAqICBmID0gMiAqIGZfcmVmICogLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSAqICAgICAgICAgICAgICAgICAgICAgICAgcGQgKyAxCi0gKi8KLXN0YXRpYyB1bnNpZ25lZCBpbnQgaW14X2RlY29kZV9wbGwodW5zaWduZWQgaW50IHBsbCwgdTMyIGZfcmVmKQotewotCXVuc2lnbmVkIGxvbmcgbG9uZyBsbDsKLQl1bnNpZ25lZCBsb25nIHF1b3Q7Ci0KLQl1MzIgbWZpID0gKHBsbCA+PiAxMCkgJiAweGY7Ci0JdTMyIG1mbiA9IHBsbCAmIDB4M2ZmOwotCXUzMiBtZmQgPSAocGxsID4+IDE2KSAmIDB4M2ZmOwotCXUzMiBwZCA9ICAocGxsID4+IDI2KSAmIDB4ZjsKLQotCW1maSA9IG1maSA8PSA1ID8gNSA6IG1maTsKLQotCWxsID0gMiAqICh1bnNpZ25lZCBsb25nIGxvbmcpZl9yZWYgKiAoIChtZmk8PDE2KSArIChtZm48PDE2KSAvIChtZmQrMSkgKTsKLQlxdW90ID0gKHBkKzEpICogKDE8PDE2KTsKLQlsbCArPSBxdW90IC8gMjsKLQlkb19kaXYobGwsIHF1b3QpOwotCXJldHVybiAodW5zaWduZWQgaW50KSBsbDsKLX0KLQotdW5zaWduZWQgaW50IGlteF9nZXRfc3lzdGVtX2Nsayh2b2lkKQotewotCXUzMiBmX3JlZiA9IChDU0NSICYgQ1NDUl9TWVNURU1fU0VMKSA/IDE2MDAwMDAwIDogKENMSzMyICogNTEyKTsKLQotCXJldHVybiBpbXhfZGVjb2RlX3BsbChTUENUTDAsIGZfcmVmKTsKLX0KLUVYUE9SVF9TWU1CT0woaW14X2dldF9zeXN0ZW1fY2xrKTsKLQotdW5zaWduZWQgaW50IGlteF9nZXRfbWN1X2Nsayh2b2lkKQotewotCXJldHVybiBpbXhfZGVjb2RlX3BsbChNUENUTDAsIENMSzMyICogNTEyKTsKLX0KLUVYUE9SVF9TWU1CT0woaW14X2dldF9tY3VfY2xrKTsKLQotLyoKLSAqICBnZXQgcGVyaXBoZXJhbCBjbG9jayAxICggVUFSVFsxMl0sIFRpbWVyWzEyXSwgUFdNICkKLSAqLwotdW5zaWduZWQgaW50IGlteF9nZXRfcGVyY2xrMSh2b2lkKQotewotCXJldHVybiBpbXhfZ2V0X3N5c3RlbV9jbGsoKSAvICgoKFBDRFIpICYgMHhmKSsxKTsKLX0KLUVYUE9SVF9TWU1CT0woaW14X2dldF9wZXJjbGsxKTsKLQotLyoKLSAqICBnZXQgcGVyaXBoZXJhbCBjbG9jayAyICggTENELCBTRCwgU1BJWzEyXSApCi0gKi8KLXVuc2lnbmVkIGludCBpbXhfZ2V0X3BlcmNsazIodm9pZCkKLXsKLQlyZXR1cm4gaW14X2dldF9zeXN0ZW1fY2xrKCkgLyAoKChQQ0RSPj40KSAmIDB4ZikrMSk7Ci19Ci1FWFBPUlRfU1lNQk9MKGlteF9nZXRfcGVyY2xrMik7Ci0KLS8qCi0gKiAgZ2V0IHBlcmlwaGVyYWwgY2xvY2sgMyAoIFNTSSApCi0gKi8KLXVuc2lnbmVkIGludCBpbXhfZ2V0X3BlcmNsazModm9pZCkKLXsKLQlyZXR1cm4gaW14X2dldF9zeXN0ZW1fY2xrKCkgLyAoKChQQ0RSPj4xNikgJiAweDdmKSsxKTsKLX0KLUVYUE9SVF9TWU1CT0woaW14X2dldF9wZXJjbGszKTsKLQotLyoKLSAqICBnZXQgaGNsayAoIFNEUkFNLCBDU0ksIE1lbW9yeSBTdGljaywgSTJDLCBETUEgKQotICovCi11bnNpZ25lZCBpbnQgaW14X2dldF9oY2xrKHZvaWQpCi17Ci0JcmV0dXJuIGlteF9nZXRfc3lzdGVtX2NsaygpIC8gKCgoQ1NDUj4+MTApICYgMHhmKSsxKTsKLX0KLUVYUE9SVF9TWU1CT0woaW14X2dldF9oY2xrKTsKLQogc3RhdGljIHN0cnVjdCByZXNvdXJjZSBpbXhfbW1jX3Jlc291cmNlc1tdID0gewogCVswXSA9IHsKIAkJLnN0YXJ0CT0gMHgwMDIxNDAwMCwKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtaW14L214MWFkcy5jIGIvYXJjaC9hcm0vbWFjaC1pbXgvbXgxYWRzLmMKaW5kZXggYTk3NzhjMS4uOTYzNWQ1OCAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1pbXgvbXgxYWRzLmMKKysrIGIvYXJjaC9hcm0vbWFjaC1pbXgvbXgxYWRzLmMKQEAgLTY5LDYgKzY5LDExIEBACiAJCS5lbmQJPSAoVUFSVDFfTUlOVF9UWCksCiAJCS5mbGFncwk9IElPUkVTT1VSQ0VfSVJRLAogCX0sCisJWzNdID0geworCQkuc3RhcnQJPSBVQVJUMV9NSU5UX1JUUywKKwkJLmVuZAk9IFVBUlQxX01JTlRfUlRTLAorCQkuZmxhZ3MJPSBJT1JFU09VUkNFX0lSUSwKKwl9LAogfTsKIAogc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgaW14X3VhcnQxX2RldmljZSA9IHsKQEAgLTk3LDYgKzEwMiwxMSBAQAogCQkuZW5kCT0gKFVBUlQyX01JTlRfVFgpLAogCQkuZmxhZ3MJPSBJT1JFU09VUkNFX0lSUSwKIAl9LAorCVszXSA9IHsKKwkJLnN0YXJ0CT0gVUFSVDJfTUlOVF9SVFMsCisJCS5lbmQJPSBVQVJUMl9NSU5UX1JUUywKKwkJLmZsYWdzCT0gSU9SRVNPVVJDRV9JUlEsCisJfSwKIH07CiAKIHN0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIGlteF91YXJ0Ml9kZXZpY2UgPSB7CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLWlteC90aW1lLmMgYi9hcmNoL2FybS9tYWNoLWlteC90aW1lLmMKaW5kZXggZDg2ZDEyNC4uNWE0MWU5NiAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1pbXgvdGltZS5jCisrKyBiL2FyY2gvYXJtL21hY2gtaW14L3RpbWUuYwpAQCAtMTcsNiArMTcsNyBAQAogI2luY2x1ZGUgPGxpbnV4L3RpbWUuaD4KICNpbmNsdWRlIDxsaW51eC9jbG9ja3NvdXJjZS5oPgogI2luY2x1ZGUgPGxpbnV4L2Nsb2NrY2hpcHMuaD4KKyNpbmNsdWRlIDxsaW51eC9jbGsuaD4KIAogI2luY2x1ZGUgPGFzbS9oYXJkd2FyZS5oPgogI2luY2x1ZGUgPGFzbS9pby5oPgpAQCAtODYsMTAgKzg3LDEwIEBACiAJLmZsYWdzCQk9IENMT0NLX1NPVVJDRV9JU19DT05USU5VT1VTLAogfTsKIAotc3RhdGljIGludCBfX2luaXQgaW14X2Nsb2Nrc291cmNlX2luaXQodm9pZCkKK3N0YXRpYyBpbnQgX19pbml0IGlteF9jbG9ja3NvdXJjZV9pbml0KHVuc2lnbmVkIGxvbmcgcmF0ZSkKIHsKIAljbG9ja3NvdXJjZV9pbXgubXVsdCA9Ci0JCWNsb2Nrc291cmNlX2h6Mm11bHQoaW14X2dldF9wZXJjbGsxKCksIGNsb2Nrc291cmNlX2lteC5zaGlmdCk7CisJCWNsb2Nrc291cmNlX2h6Mm11bHQocmF0ZSwgY2xvY2tzb3VyY2VfaW14LnNoaWZ0KTsKIAljbG9ja3NvdXJjZV9yZWdpc3RlcigmY2xvY2tzb3VyY2VfaW14KTsKIAogCXJldHVybiAwOwpAQCAtMTc0LDkgKzE3NSw5IEBACiAJLnJhdGluZwkJPSAyMDAsCiB9OwogCi1zdGF0aWMgaW50IF9faW5pdCBpbXhfY2xvY2tldmVudF9pbml0KHZvaWQpCitzdGF0aWMgaW50IF9faW5pdCBpbXhfY2xvY2tldmVudF9pbml0KHVuc2lnbmVkIGxvbmcgcmF0ZSkKIHsKLQljbG9ja2V2ZW50X2lteC5tdWx0ID0gZGl2X3NjKGlteF9nZXRfcGVyY2xrMSgpLCBOU0VDX1BFUl9TRUMsCisJY2xvY2tldmVudF9pbXgubXVsdCA9IGRpdl9zYyhyYXRlLCBOU0VDX1BFUl9TRUMsCiAJCQkJCWNsb2NrZXZlbnRfaW14LnNoaWZ0KTsKIAljbG9ja2V2ZW50X2lteC5tYXhfZGVsdGFfbnMgPQogCQljbG9ja2V2ZW50X2RlbHRhMm5zKDB4ZmZmZmZmZmUsICZjbG9ja2V2ZW50X2lteCk7CkBAIC0xOTAsMTMgKzE5MSwyMyBAQAogCXJldHVybiAwOwogfQogCitleHRlcm4gaW50IGlteF9jbG9ja3NfaW5pdCh2b2lkKTsKIAogc3RhdGljIHZvaWQgX19pbml0IGlteF90aW1lcl9pbml0KHZvaWQpCiB7Ci0JaW14X3RpbWVyX2hhcmR3YXJlX2luaXQoKTsKLQlpbXhfY2xvY2tzb3VyY2VfaW5pdCgpOworCXN0cnVjdCBjbGsgKmNsazsKKwl1bnNpZ25lZCBsb25nIHJhdGU7CiAKLQlpbXhfY2xvY2tldmVudF9pbml0KCk7CisJaW14X2Nsb2Nrc19pbml0KCk7CisKKwljbGsgPSBjbGtfZ2V0KE5VTEwsICJwZXJjbGsxIik7CisJY2xrX2VuYWJsZShjbGspOworCXJhdGUgPSBjbGtfZ2V0X3JhdGUoY2xrKTsKKworCWlteF90aW1lcl9oYXJkd2FyZV9pbml0KCk7CisJaW14X2Nsb2Nrc291cmNlX2luaXQocmF0ZSk7CisKKwlpbXhfY2xvY2tldmVudF9pbml0KHJhdGUpOwogCiAJLyoKIAkgKiBNYWtlIGlycXMgaGFwcGVuIGZvciB0aGUgc3lzdGVtIHRpbWVyCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLWludGVncmF0b3IvTWFrZWZpbGUgYi9hcmNoL2FybS9tYWNoLWludGVncmF0b3IvTWFrZWZpbGUKaW5kZXggMTU4ZGFhZi4uNmE1ZWY4ZCAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1pbnRlZ3JhdG9yL01ha2VmaWxlCisrKyBiL2FyY2gvYXJtL21hY2gtaW50ZWdyYXRvci9NYWtlZmlsZQpAQCAtNCw3ICs0LDcgQEAKIAogIyBPYmplY3QgZmlsZSBsaXN0cy4KIAotb2JqLXkJCQkJCTo9IGNsb2NrLm8gY29yZS5vIGxtLm8gdGltZS5vCitvYmoteQkJCQkJOj0gY2xvY2subyBjb3JlLm8gbG0ubwogb2JqLSQoQ09ORklHX0FSQ0hfSU5URUdSQVRPUl9BUCkJKz0gaW50ZWdyYXRvcl9hcC5vCiBvYmotJChDT05GSUdfQVJDSF9JTlRFR1JBVE9SX0NQKQkrPSBpbnRlZ3JhdG9yX2NwLm8KIApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1pbnRlZ3JhdG9yL3RpbWUuYyBiL2FyY2gvYXJtL21hY2gtaW50ZWdyYXRvci90aW1lLmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg1MDhhMGQuLjAwMDAwMDAKLS0tIGEvYXJjaC9hcm0vbWFjaC1pbnRlZ3JhdG9yL3RpbWUuYworKysgL2Rldi9udWxsCkBAIC0xLDIyMyArMCwwIEBACi0vKgotICogIGxpbnV4L2FyY2gvYXJtL21hY2gtaW50ZWdyYXRvci90aW1lLmMKLSAqCi0gKiAgQ29weXJpZ2h0IChDKSAyMDAwLTIwMDEgRGVlcCBCbHVlIFNvbHV0aW9ucyBMdGQuCi0gKgotICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKLSAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCi0gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KLSAqLwotI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgotI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgotI2luY2x1ZGUgPGxpbnV4L3RpbWUuaD4KLSNpbmNsdWRlIDxsaW51eC9tYzE0NjgxOHJ0Yy5oPgotI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgotI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KLSNpbmNsdWRlIDxsaW51eC9kZXZpY2UuaD4KLSNpbmNsdWRlIDxsaW51eC9hbWJhL2J1cy5oPgotCi0jaW5jbHVkZSA8YXNtL2hhcmR3YXJlLmg+Ci0jaW5jbHVkZSA8YXNtL2lvLmg+Ci0jaW5jbHVkZSA8YXNtL3VhY2Nlc3MuaD4KLSNpbmNsdWRlIDxhc20vcnRjLmg+Ci0KLSNpbmNsdWRlIDxhc20vbWFjaC90aW1lLmg+Ci0KLSNkZWZpbmUgUlRDX0RSCQkoMCkKLSNkZWZpbmUgUlRDX01SCQkoNCkKLSNkZWZpbmUgUlRDX1NUQVQJKDgpCi0jZGVmaW5lIFJUQ19FT0kJCSg4KQotI2RlZmluZSBSVENfTFIJCSgxMikKLSNkZWZpbmUgUlRDX0NSCQkoMTYpCi0jZGVmaW5lIFJUQ19DUl9NSUUJKDEgPDwgMCkKLQotZXh0ZXJuIGludCAoKnNldF9ydGMpKHZvaWQpOwotc3RhdGljIHZvaWQgX19pb21lbSAqcnRjX2Jhc2U7Ci0KLXN0YXRpYyBpbnQgaW50ZWdyYXRvcl9zZXRfcnRjKHZvaWQpCi17Ci0JX19yYXdfd3JpdGVsKHh0aW1lLnR2X3NlYywgcnRjX2Jhc2UgKyBSVENfTFIpOwotCXJldHVybiAxOwotfQotCi1zdGF0aWMgaW50IGludGVncmF0b3JfcnRjX3JlYWRfYWxhcm0oc3RydWN0IHJ0Y193a2Fscm0gKmFscm0pCi17Ci0JcnRjX3RpbWVfdG9fdG0ocmVhZGwocnRjX2Jhc2UgKyBSVENfTVIpLCAmYWxybS0+dGltZSk7Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgaW50IGludGVncmF0b3JfcnRjX3NldF9hbGFybShzdHJ1Y3QgcnRjX3drYWxybSAqYWxybSkKLXsKLQl1bnNpZ25lZCBsb25nIHRpbWU7Ci0JaW50IHJldDsKLQotCS8qCi0JICogQXQgdGhlIG1vbWVudCwgd2UgY2FuIG9ubHkgZGVhbCB3aXRoIG5vbi13aWxkY2FyZGVkIGFsYXJtIHRpbWVzLgotCSAqLwotCXJldCA9IHJ0Y192YWxpZF90bSgmYWxybS0+dGltZSk7Ci0JaWYgKHJldCA9PSAwKQotCQlyZXQgPSBydGNfdG1fdG9fdGltZSgmYWxybS0+dGltZSwgJnRpbWUpOwotCWlmIChyZXQgPT0gMCkKLQkJd3JpdGVsKHRpbWUsIHJ0Y19iYXNlICsgUlRDX01SKTsKLQlyZXR1cm4gcmV0OwotfQotCi1zdGF0aWMgaW50IGludGVncmF0b3JfcnRjX3JlYWRfdGltZShzdHJ1Y3QgcnRjX3RpbWUgKnRtKQotewotCXJ0Y190aW1lX3RvX3RtKHJlYWRsKHJ0Y19iYXNlICsgUlRDX0RSKSwgdG0pOwotCXJldHVybiAwOwotfQotCi0vKgotICogU2V0IHRoZSBSVEMgdGltZS4gIFVuZm9ydHVuYXRlbHksIHdlIGNhbid0IGFjY3VyYXRlbHkgc2V0Ci0gKiB0aGUgcG9pbnQgYXQgd2hpY2ggdGhlIGNvdW50ZXIgdXBkYXRlcy4KLSAqCi0gKiBBbHNvLCBzaW5jZSBSVENfTFIgaXMgdHJhbnNmZXJyZWQgdG8gUlRDX0NSIG9uIG5leHQgcmlzaW5nCi0gKiBlZGdlIG9mIHRoZSAxSHogY2xvY2ssIHdlIG11c3Qgd3JpdGUgdGhlIHRpbWUgb25lIHNlY29uZAotICogaW4gYWR2YW5jZS4KLSAqLwotc3RhdGljIGlubGluZSBpbnQgaW50ZWdyYXRvcl9ydGNfc2V0X3RpbWUoc3RydWN0IHJ0Y190aW1lICp0bSkKLXsKLQl1bnNpZ25lZCBsb25nIHRpbWU7Ci0JaW50IHJldDsKLQotCXJldCA9IHJ0Y190bV90b190aW1lKHRtLCAmdGltZSk7Ci0JaWYgKHJldCA9PSAwKQotCQl3cml0ZWwodGltZSArIDEsIHJ0Y19iYXNlICsgUlRDX0xSKTsKLQotCXJldHVybiByZXQ7Ci19Ci0KLXN0YXRpYyBzdHJ1Y3QgcnRjX29wcyBydGNfb3BzID0gewotCS5vd25lcgkJPSBUSElTX01PRFVMRSwKLQkucmVhZF90aW1lCT0gaW50ZWdyYXRvcl9ydGNfcmVhZF90aW1lLAotCS5zZXRfdGltZQk9IGludGVncmF0b3JfcnRjX3NldF90aW1lLAotCS5yZWFkX2FsYXJtCT0gaW50ZWdyYXRvcl9ydGNfcmVhZF9hbGFybSwKLQkuc2V0X2FsYXJtCT0gaW50ZWdyYXRvcl9ydGNfc2V0X2FsYXJtLAotfTsKLQotc3RhdGljIGlycXJldHVybl90IGFybV9ydGNfaW50ZXJydXB0KGludCBpcnEsIHZvaWQgKmRldl9pZCkKLXsKLQl3cml0ZWwoMCwgcnRjX2Jhc2UgKyBSVENfRU9JKTsKLQlyZXR1cm4gSVJRX0hBTkRMRUQ7Ci19Ci0KLXN0YXRpYyBpbnQgcnRjX3Byb2JlKHN0cnVjdCBhbWJhX2RldmljZSAqZGV2LCB2b2lkICppZCkKLXsKLQlpbnQgcmV0OwotCi0JaWYgKHJ0Y19iYXNlKQotCQlyZXR1cm4gLUVCVVNZOwotCi0JcmV0ID0gYW1iYV9yZXF1ZXN0X3JlZ2lvbnMoZGV2LCBOVUxMKTsKLQlpZiAocmV0KQotCQlnb3RvIG91dDsKLQotCXJ0Y19iYXNlID0gaW9yZW1hcChkZXYtPnJlcy5zdGFydCwgU1pfNEspOwotCWlmICghcnRjX2Jhc2UpIHsKLQkJcmV0ID0gLUVOT01FTTsKLQkJZ290byByZXNfb3V0OwotCX0KLQotCV9fcmF3X3dyaXRlbCgwLCBydGNfYmFzZSArIFJUQ19DUik7Ci0JX19yYXdfd3JpdGVsKDAsIHJ0Y19iYXNlICsgUlRDX0VPSSk7Ci0KLQl4dGltZS50dl9zZWMgPSBfX3Jhd19yZWFkbChydGNfYmFzZSArIFJUQ19EUik7Ci0KLQkvKiBub3RlIHRoYXQgJ2RldicgaXMgbWVyZWx5IHVzZWQgZm9yIGlycSBkaXNhbWJpZ3VhdGlvbjsKLQkgKiBpdCBpcyBub3QgYWN0dWFsbHkgcmVmZXJlbmNlZCBpbiB0aGUgaXJxIGhhbmRsZXIKLQkgKi8KLQlyZXQgPSByZXF1ZXN0X2lycShkZXYtPmlycVswXSwgYXJtX3J0Y19pbnRlcnJ1cHQsIElSUUZfRElTQUJMRUQsCi0JCQkgICJydGMtcGwwMzAiLCBkZXYpOwotCWlmIChyZXQpCi0JCWdvdG8gbWFwX291dDsKLQotCXJldCA9IHJlZ2lzdGVyX3J0YygmcnRjX29wcyk7Ci0JaWYgKHJldCkKLQkJZ290byBpcnFfb3V0OwotCi0Jc2V0X3J0YyA9IGludGVncmF0b3Jfc2V0X3J0YzsKLQlyZXR1cm4gMDsKLQotIGlycV9vdXQ6Ci0JZnJlZV9pcnEoZGV2LT5pcnFbMF0sIGRldik7Ci0gbWFwX291dDoKLQlpb3VubWFwKHJ0Y19iYXNlKTsKLQlydGNfYmFzZSA9IE5VTEw7Ci0gcmVzX291dDoKLQlhbWJhX3JlbGVhc2VfcmVnaW9ucyhkZXYpOwotIG91dDoKLQlyZXR1cm4gcmV0OwotfQotCi1zdGF0aWMgaW50IHJ0Y19yZW1vdmUoc3RydWN0IGFtYmFfZGV2aWNlICpkZXYpCi17Ci0Jc2V0X3J0YyA9IE5VTEw7Ci0KLQl3cml0ZWwoMCwgcnRjX2Jhc2UgKyBSVENfQ1IpOwotCi0JZnJlZV9pcnEoZGV2LT5pcnFbMF0sIGRldik7Ci0JdW5yZWdpc3Rlcl9ydGMoJnJ0Y19vcHMpOwotCi0JaW91bm1hcChydGNfYmFzZSk7Ci0JcnRjX2Jhc2UgPSBOVUxMOwotCWFtYmFfcmVsZWFzZV9yZWdpb25zKGRldik7Ci0KLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIHN0cnVjdCB0aW1lc3BlYyBydGNfZGVsdGE7Ci0KLXN0YXRpYyBpbnQgcnRjX3N1c3BlbmQoc3RydWN0IGFtYmFfZGV2aWNlICpkZXYsIHBtX21lc3NhZ2VfdCBzdGF0ZSkKLXsKLQlzdHJ1Y3QgdGltZXNwZWMgcnRjOwotCi0JcnRjLnR2X3NlYyA9IHJlYWRsKHJ0Y19iYXNlICsgUlRDX0RSKTsKLQlydGMudHZfbnNlYyA9IDA7Ci0Jc2F2ZV90aW1lX2RlbHRhKCZydGNfZGVsdGEsICZydGMpOwotCi0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgcnRjX3Jlc3VtZShzdHJ1Y3QgYW1iYV9kZXZpY2UgKmRldikKLXsKLQlzdHJ1Y3QgdGltZXNwZWMgcnRjOwotCi0JcnRjLnR2X3NlYyA9IHJlYWRsKHJ0Y19iYXNlICsgUlRDX0RSKTsKLQlydGMudHZfbnNlYyA9IDA7Ci0JcmVzdG9yZV90aW1lX2RlbHRhKCZydGNfZGVsdGEsICZydGMpOwotCi0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBzdHJ1Y3QgYW1iYV9pZCBydGNfaWRzW10gPSB7Ci0JewotCQkuaWQJPSAweDAwMDQxMDMwLAotCQkubWFzawk9IDB4MDAwZmZmZmYsCi0JfSwKLQl7IDAsIDAgfSwKLX07Ci0KLXN0YXRpYyBzdHJ1Y3QgYW1iYV9kcml2ZXIgcnRjX2RyaXZlciA9IHsKLQkuZHJ2CQk9IHsKLQkJLm5hbWUJPSAicnRjLXBsMDMwIiwKLQl9LAotCS5wcm9iZQkJPSBydGNfcHJvYmUsCi0JLnJlbW92ZQkJPSBydGNfcmVtb3ZlLAotCS5zdXNwZW5kCT0gcnRjX3N1c3BlbmQsCi0JLnJlc3VtZQkJPSBydGNfcmVzdW1lLAotCS5pZF90YWJsZQk9IHJ0Y19pZHMsCi19OwotCi1zdGF0aWMgaW50IF9faW5pdCBpbnRlZ3JhdG9yX3J0Y19pbml0KHZvaWQpCi17Ci0JcmV0dXJuIGFtYmFfZHJpdmVyX3JlZ2lzdGVyKCZydGNfZHJpdmVyKTsKLX0KLQotc3RhdGljIHZvaWQgX19leGl0IGludGVncmF0b3JfcnRjX2V4aXQodm9pZCkKLXsKLQlhbWJhX2RyaXZlcl91bnJlZ2lzdGVyKCZydGNfZHJpdmVyKTsKLX0KLQotbW9kdWxlX2luaXQoaW50ZWdyYXRvcl9ydGNfaW5pdCk7Ci1tb2R1bGVfZXhpdChpbnRlZ3JhdG9yX3J0Y19leGl0KTsKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtaXhwNHh4L0tjb25maWcgYi9hcmNoL2FybS9tYWNoLWl4cDR4eC9LY29uZmlnCmluZGV4IGU3NzQ0NDcuLmRiOGI1ZmUgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtaXhwNHh4L0tjb25maWcKKysrIGIvYXJjaC9hcm0vbWFjaC1peHA0eHgvS2NvbmZpZwpAQCAtMTI1LDYgKzEyNSwxNSBAQAogCWRlcGVuZHMgb24gQVJDSF9JWERQNDI1IHx8IE1BQ0hfSVhEUDQ2NSB8fCBNQUNIX0tJWFJQNDM1CiAJZGVmYXVsdCB5CiAKK2NvbmZpZyBNQUNIX0ZTRworCWJvb2wKKwlwcm9tcHQgIkZyZWVjb20gRlNHLTMiCisJc2VsZWN0IFBDSQorCWhlbHAKKwkgIFNheSAnWScgaGVyZSBpZiB5b3Ugd2FudCB5b3VyIGtlcm5lbCB0byBzdXBwb3J0IEZyZWVjb20ncworCSAgRlNHLTMgZGV2aWNlLiBGb3IgbW9yZSBpbmZvcm1hdGlvbiBvbiB0aGlzIHBsYXRmb3JtLAorCSAgc2VlIGh0dHA6Ly93d3cubnNsdTItbGludXgub3JnL3dpa2kvRlNHMy9Ib21lUGFnZQorCiAjCiAjIENlcnRhaW4gcmVnaXN0ZXJzIGFuZCBJUlFzIGFyZSBvbmx5IGVuYWJsZWQgaWYgc3VwcG9ydGluZyBJWFA0NjUgQ1BVcwogIwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1peHA0eHgvTWFrZWZpbGUgYi9hcmNoL2FybS9tYWNoLWl4cDR4eC9NYWtlZmlsZQppbmRleCBjMTk1Njg4Li4yZTZiYmY5IDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLWl4cDR4eC9NYWtlZmlsZQorKysgYi9hcmNoL2FybS9tYWNoLWl4cDR4eC9NYWtlZmlsZQpAQCAtMTUsNiArMTUsNyBAQAogb2JqLXBjaS0kKENPTkZJR19NQUNIX0RTTUc2MDApCQkrPSBkc21nNjAwLXBjaS5vCiBvYmotcGNpLSQoQ09ORklHX01BQ0hfR0FURVdBWTcwMDEpCSs9IGdhdGV3YXk3MDAxLXBjaS5vCiBvYmotcGNpLSQoQ09ORklHX01BQ0hfV0czMDJWMikJCSs9IHdnMzAydjItcGNpLm8KK29iai1wY2ktJChDT05GSUdfTUFDSF9GU0cpCQkrPSBmc2ctcGNpLm8KIAogb2JqLXkJKz0gY29tbW9uLm8KIApAQCAtMjgsNiArMjksNyBAQAogb2JqLSQoQ09ORklHX01BQ0hfRFNNRzYwMCkgICAgICArPSBkc21nNjAwLXNldHVwLm8KIG9iai0kKENPTkZJR19NQUNIX0dBVEVXQVk3MDAxKQkrPSBnYXRld2F5NzAwMS1zZXR1cC5vCiBvYmotJChDT05GSUdfTUFDSF9XRzMwMlYyKQkrPSB3ZzMwMnYyLXNldHVwLm8KK29iai0kKENPTkZJR19NQUNIX0ZTRykJCSs9IGZzZy1zZXR1cC5vCiAKIG9iai0kKENPTkZJR19QQ0kpCQkrPSAkKG9iai1wY2ktJChDT05GSUdfUENJKSkgY29tbW9uLXBjaS5vCiBvYmotJChDT05GSUdfSVhQNFhYX1FNR1IpCSs9IGl4cDR4eF9xbWdyLm8KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtaXhwNHh4L2NvbW1vbi5jIGIvYXJjaC9hcm0vbWFjaC1peHA0eHgvY29tbW9uLmMKaW5kZXggZjZkNjZkYy4uMzc4MWIzZCAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1peHA0eHgvY29tbW9uLmMKKysrIGIvYXJjaC9hcm0vbWFjaC1peHA0eHgvY29tbW9uLmMKQEAgLTMyNiwxMSArMzI2LDExIEBACiB9OwogCiAvKgotICogVVNCIGRldmljZSBjb250cm9sbGVyLiBUaGUgSVhQNHh4IHVzZXMgdGhlIHNhbWUgY29udHJvbGxlciBhcyBQWEEyWFgsCisgKiBVU0IgZGV2aWNlIGNvbnRyb2xsZXIuIFRoZSBJWFA0eHggdXNlcyB0aGUgc2FtZSBjb250cm9sbGVyIGFzIFBYQTI1WCwKICAqIHNvIHdlIGp1c3QgdXNlIHRoZSBzYW1lIGRldmljZS4KICAqLwogc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgaXhwNHh4X3VkY19kZXZpY2UgPSB7Ci0JLm5hbWUgICAgICAgICAgID0gInB4YTJ4eC11ZGMiLAorCS5uYW1lICAgICAgICAgICA9ICJweGEyNXgtdWRjIiwKIAkuaWQgICAgICAgICAgICAgPSAtMSwKIAkubnVtX3Jlc291cmNlcyAgPSAyLAogCS5yZXNvdXJjZSAgICAgICA9IGl4cDR4eF91ZGNfcmVzb3VyY2VzLApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1peHA0eHgvZnNnLXBjaS5jIGIvYXJjaC9hcm0vbWFjaC1peHA0eHgvZnNnLXBjaS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYxOWYzZjYKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLWl4cDR4eC9mc2ctcGNpLmMKQEAgLTAsMCArMSw3MSBAQAorLyoKKyAqIGFyY2gvYXJjaC9tYWNoLWl4cDR4eC9mc2ctcGNpLmMKKyAqCisgKiBGU0cgYm9hcmQtbGV2ZWwgUENJIGluaXRpYWxpemF0aW9uCisgKgorICogQXV0aG9yOiBSb2QgV2hpdGJ5IDxyb2RAd2hpdGJ5LmlkLmF1PgorICogTWFpbnRhaW5lcjogaHR0cDovL3d3dy5uc2x1Mi1saW51eC5vcmcvCisgKgorICogYmFzZWQgb24gaXhkcDQyNS1wY2kuYzoKKyAqCUNvcHlyaWdodCAoQykgMjAwMiBJbnRlbCBDb3Jwb3JhdGlvbi4KKyAqCUNvcHlyaWdodCAoQykgMjAwMy0yMDA0IE1vbnRhVmlzdGEgU29mdHdhcmUsIEluYy4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMKKyAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorICoKKyAqLworCisjaW5jbHVkZSA8bGludXgvcGNpLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L2lycS5oPgorCisjaW5jbHVkZSA8YXNtL21hY2gvcGNpLmg+CisjaW5jbHVkZSA8YXNtL21hY2gtdHlwZXMuaD4KKwordm9pZCBfX2luaXQgZnNnX3BjaV9wcmVpbml0KHZvaWQpCit7CisJc2V0X2lycV90eXBlKElSUV9GU0dfUENJX0lOVEEsIElSUVRfTE9XKTsKKwlzZXRfaXJxX3R5cGUoSVJRX0ZTR19QQ0lfSU5UQiwgSVJRVF9MT1cpOworCXNldF9pcnFfdHlwZShJUlFfRlNHX1BDSV9JTlRDLCBJUlFUX0xPVyk7CisKKwlpeHA0eHhfcGNpX3ByZWluaXQoKTsKK30KKworc3RhdGljIGludCBfX2luaXQgZnNnX21hcF9pcnEoc3RydWN0IHBjaV9kZXYgKmRldiwgdTggc2xvdCwgdTggcGluKQoreworCXN0YXRpYyBpbnQgcGNpX2lycV90YWJsZVtGU0dfUENJX0lSUV9MSU5FU10gPSB7CisJCUlSUV9GU0dfUENJX0lOVEMsCisJCUlSUV9GU0dfUENJX0lOVEIsCisJCUlSUV9GU0dfUENJX0lOVEEsCisJfTsKKworCWludCBpcnEgPSAtMTsKKwlzbG90ID0gc2xvdCAtIDExOworCisJaWYgKHNsb3QgPj0gMSAmJiBzbG90IDw9IEZTR19QQ0lfTUFYX0RFViAmJgorCSAgICBwaW4gPj0gMSAmJiBwaW4gPD0gRlNHX1BDSV9JUlFfTElORVMpCisJCWlycSA9IHBjaV9pcnFfdGFibGVbKHNsb3QgLSAxKV07CisJcHJpbnRrKEtFUk5fSU5GTyAiJXM6IE1hcHBlZCBzbG90ICVkIHBpbiAlZCB0byBJUlEgJWRcbiIsCisJICAgICAgIF9fZnVuY19fLCBzbG90LCBwaW4sIGlycSk7CisKKwlyZXR1cm4gaXJxOworfQorCitzdHJ1Y3QgaHdfcGNpIGZzZ19wY2kgX19pbml0ZGF0YSA9IHsKKwkubnJfY29udHJvbGxlcnMgPSAxLAorCS5wcmVpbml0ID0JICBmc2dfcGNpX3ByZWluaXQsCisJLnN3aXp6bGUgPQkgIHBjaV9zdGRfc3dpenpsZSwKKwkuc2V0dXAgPQkgIGl4cDR4eF9zZXR1cCwKKwkuc2NhbiA9CQkgIGl4cDR4eF9zY2FuX2J1cywKKwkubWFwX2lycSA9CSAgZnNnX21hcF9pcnEsCit9OworCitpbnQgX19pbml0IGZzZ19wY2lfaW5pdCh2b2lkKQoreworCWlmIChtYWNoaW5lX2lzX2ZzZygpKQorCQlwY2lfY29tbW9uX2luaXQoJmZzZ19wY2kpOworCXJldHVybiAwOworfQorCitzdWJzeXNfaW5pdGNhbGwoZnNnX3BjaV9pbml0KTsKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtaXhwNHh4L2ZzZy1zZXR1cC5jIGIvYXJjaC9hcm0vbWFjaC1peHA0eHgvZnNnLXNldHVwLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGRiM2E5MAotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gtaXhwNHh4L2ZzZy1zZXR1cC5jCkBAIC0wLDAgKzEsMjc2IEBACisvKgorICogYXJjaC9hcm0vbWFjaC1peHA0eHgvZnNnLXNldHVwLmMKKyAqCisgKiBGU0cgYm9hcmQtc2V0dXAKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggUm9kIFdoaXRieSA8cm9kQHdoaXRieS5pZC5hdT4KKyAqCisgKiBiYXNlZCBvbiBpeGRwNDI1LXNldHVwLmM6CisgKglDb3B5cmlnaHQgKEMpIDIwMDMtMjAwNCBNb250YVZpc3RhIFNvZnR3YXJlLCBJbmMuCisgKiBiYXNlZCBvbiBuc2x1Mi1wb3dlci5jCisgKglDb3B5cmlnaHQgKEMpIDIwMDUgVG93ZXIgVGVjaG5vbG9naWVzCisgKgorICogQXV0aG9yOiBSb2QgV2hpdGJ5IDxyb2RAd2hpdGJ5LmlkLmF1PgorICogTWFpbnRhaW5lcnM6IGh0dHA6Ly93d3cubnNsdTItbGludXgub3JnLworICoKKyAqLworCisjaW5jbHVkZSA8bGludXgvaWZfZXRoZXIuaD4KKyNpbmNsdWRlIDxsaW51eC9pcnEuaD4KKyNpbmNsdWRlIDxsaW51eC9zZXJpYWwuaD4KKyNpbmNsdWRlIDxsaW51eC9zZXJpYWxfODI1MC5oPgorI2luY2x1ZGUgPGxpbnV4L2xlZHMuaD4KKyNpbmNsdWRlIDxsaW51eC9yZWJvb3QuaD4KKyNpbmNsdWRlIDxsaW51eC9pMmMuaD4KKyNpbmNsdWRlIDxsaW51eC9pMmMtZ3Bpby5oPgorCisjaW5jbHVkZSA8YXNtL21hY2gtdHlwZXMuaD4KKyNpbmNsdWRlIDxhc20vbWFjaC9hcmNoLmg+CisjaW5jbHVkZSA8YXNtL21hY2gvZmxhc2guaD4KKyNpbmNsdWRlIDxhc20vaW8uaD4KKyNpbmNsdWRlIDxhc20vZ3Bpby5oPgorCitzdGF0aWMgc3RydWN0IGZsYXNoX3BsYXRmb3JtX2RhdGEgZnNnX2ZsYXNoX2RhdGEgPSB7CisJLm1hcF9uYW1lCQk9ICJjZmlfcHJvYmUiLAorCS53aWR0aAkJCT0gMiwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgZnNnX2ZsYXNoX3Jlc291cmNlID0geworCS5mbGFncwkJCT0gSU9SRVNPVVJDRV9NRU0sCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBmc2dfZmxhc2ggPSB7CisJLm5hbWUJCQk9ICJJWFA0WFgtRmxhc2giLAorCS5pZAkJCT0gMCwKKwkuZGV2ID0geworCQkucGxhdGZvcm1fZGF0YQk9ICZmc2dfZmxhc2hfZGF0YSwKKwl9LAorCS5udW1fcmVzb3VyY2VzCQk9IDEsCisJLnJlc291cmNlCQk9ICZmc2dfZmxhc2hfcmVzb3VyY2UsCit9OworCitzdGF0aWMgc3RydWN0IGkyY19ncGlvX3BsYXRmb3JtX2RhdGEgZnNnX2kyY19ncGlvX2RhdGEgPSB7CisJLnNkYV9waW4JCT0gRlNHX1NEQV9QSU4sCisJLnNjbF9waW4JCT0gRlNHX1NDTF9QSU4sCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBmc2dfaTJjX2dwaW8gPSB7CisJLm5hbWUJCQk9ICJpMmMtZ3BpbyIsCisJLmlkCQkJPSAwLAorCS5kZXYgPSB7CisJCS5wbGF0Zm9ybV9kYXRhCT0gJmZzZ19pMmNfZ3Bpb19kYXRhLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IGkyY19ib2FyZF9pbmZvIF9faW5pdGRhdGEgZnNnX2kyY19ib2FyZF9pbmZvIFtdID0geworCXsKKwkJSTJDX0JPQVJEX0lORk8oInJ0Yy1pc2wxMjA4IiwgMHg2ZiksCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgZnNnX3VhcnRfcmVzb3VyY2VzW10gPSB7CisJeworCQkuc3RhcnQJCT0gSVhQNFhYX1VBUlQxX0JBU0VfUEhZUywKKwkJLmVuZAkJPSBJWFA0WFhfVUFSVDFfQkFTRV9QSFlTICsgMHgwZmZmLAorCQkuZmxhZ3MJCT0gSU9SRVNPVVJDRV9NRU0sCisJfSwKKwl7CisJCS5zdGFydAkJPSBJWFA0WFhfVUFSVDJfQkFTRV9QSFlTLAorCQkuZW5kCQk9IElYUDRYWF9VQVJUMl9CQVNFX1BIWVMgKyAweDBmZmYsCisJCS5mbGFncwkJPSBJT1JFU09VUkNFX01FTSwKKwl9Cit9OworCitzdGF0aWMgc3RydWN0IHBsYXRfc2VyaWFsODI1MF9wb3J0IGZzZ191YXJ0X2RhdGFbXSA9IHsKKwl7CisJCS5tYXBiYXNlCT0gSVhQNFhYX1VBUlQxX0JBU0VfUEhZUywKKwkJLm1lbWJhc2UJPSAoY2hhciAqKUlYUDRYWF9VQVJUMV9CQVNFX1ZJUlQgKyBSRUdfT0ZGU0VULAorCQkuaXJxCQk9IElSUV9JWFA0WFhfVUFSVDEsCisJCS5mbGFncwkJPSBVUEZfQk9PVF9BVVRPQ09ORiB8IFVQRl9TS0lQX1RFU1QsCisJCS5pb3R5cGUJCT0gVVBJT19NRU0sCisJCS5yZWdzaGlmdAk9IDIsCisJCS51YXJ0Y2xrCT0gSVhQNFhYX1VBUlRfWFRBTCwKKwl9LAorCXsKKwkJLm1hcGJhc2UJPSBJWFA0WFhfVUFSVDJfQkFTRV9QSFlTLAorCQkubWVtYmFzZQk9IChjaGFyICopSVhQNFhYX1VBUlQyX0JBU0VfVklSVCArIFJFR19PRkZTRVQsCisJCS5pcnEJCT0gSVJRX0lYUDRYWF9VQVJUMiwKKwkJLmZsYWdzCQk9IFVQRl9CT09UX0FVVE9DT05GIHwgVVBGX1NLSVBfVEVTVCwKKwkJLmlvdHlwZQkJPSBVUElPX01FTSwKKwkJLnJlZ3NoaWZ0CT0gMiwKKwkJLnVhcnRjbGsJPSBJWFA0WFhfVUFSVF9YVEFMLAorCX0sCisJeyB9Cit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBmc2dfdWFydCA9IHsKKwkubmFtZQkJCT0gInNlcmlhbDgyNTAiLAorCS5pZAkJCT0gUExBVDgyNTBfREVWX1BMQVRGT1JNLAorCS5kZXYgPSB7CisJCS5wbGF0Zm9ybV9kYXRhCT0gZnNnX3VhcnRfZGF0YSwKKwl9LAorCS5udW1fcmVzb3VyY2VzCQk9IEFSUkFZX1NJWkUoZnNnX3VhcnRfcmVzb3VyY2VzKSwKKwkucmVzb3VyY2UJCT0gZnNnX3VhcnRfcmVzb3VyY2VzLAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgZnNnX2xlZHMgPSB7CisJLm5hbWUJCT0gImZzZy1sZWQiLAorCS5pZAkJPSAtMSwKK307CisKKy8qIEJ1aWx0LWluIDEwLzEwMCBFdGhlcm5ldCBNQUMgaW50ZXJmYWNlcyAqLworc3RhdGljIHN0cnVjdCBldGhfcGxhdF9pbmZvIGZzZ19wbGF0X2V0aFtdID0geworCXsKKwkJLnBoeQkJPSA1LAorCQkucnhxCQk9IDMsCisJCS50eHJlYWR5cQk9IDIwLAorCX0sIHsKKwkJLnBoeQkJPSA0LAorCQkucnhxCQk9IDQsCisJCS50eHJlYWR5cQk9IDIxLAorCX0KK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIGZzZ19ldGhbXSA9IHsKKwl7CisJCS5uYW1lCQkJPSAiaXhwNHh4X2V0aCIsCisJCS5pZAkJCT0gSVhQNFhYX0VUSF9OUEVCLAorCQkuZGV2ID0geworCQkJLnBsYXRmb3JtX2RhdGEJPSBmc2dfcGxhdF9ldGgsCisJCX0sCisJfSwgeworCQkubmFtZQkJCT0gIml4cDR4eF9ldGgiLAorCQkuaWQJCQk9IElYUDRYWF9FVEhfTlBFQywKKwkJLmRldiA9IHsKKwkJCS5wbGF0Zm9ybV9kYXRhCT0gZnNnX3BsYXRfZXRoICsgMSwKKwkJfSwKKwl9Cit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSAqZnNnX2RldmljZXNbXSBfX2luaXRkYXRhID0geworCSZmc2dfaTJjX2dwaW8sCisJJmZzZ19mbGFzaCwKKwkmZnNnX2xlZHMsCisJJmZzZ19ldGhbMF0sCisJJmZzZ19ldGhbMV0sCit9OworCitzdGF0aWMgaXJxcmV0dXJuX3QgZnNnX3Bvd2VyX2hhbmRsZXIoaW50IGlycSwgdm9pZCAqZGV2X2lkKQoreworCS8qIFNpZ25hbCBpbml0IHRvIGRvIHRoZSBjdHJsYWx0ZGVsIGFjdGlvbiwgdGhpcyB3aWxsIGJ5cGFzcyBpbml0IGlmCisJICogaXQgaGFzbid0IHN0YXJ0ZWQgYW5kIGRvIGEga2VybmVsX3Jlc3RhcnQuCisJICovCisJY3RybF9hbHRfZGVsKCk7CisKKwlyZXR1cm4gSVJRX0hBTkRMRUQ7Cit9CisKK3N0YXRpYyBpcnFyZXR1cm5fdCBmc2dfcmVzZXRfaGFuZGxlcihpbnQgaXJxLCB2b2lkICpkZXZfaWQpCit7CisJLyogVGhpcyBpcyB0aGUgcGFwZXItY2xpcCByZXNldCB3aGljaCBkb2VzIGFuIGVtZXJnZW5jeSByZWJvb3QuICovCisJcHJpbnRrKEtFUk5fSU5GTyAiUmVzdGFydGluZyBzeXN0ZW0uXG4iKTsKKwltYWNoaW5lX3Jlc3RhcnQoTlVMTCk7CisKKwkvKiBUaGlzIHNob3VsZCBuZXZlciBiZSByZWFjaGVkLiAqLworCXJldHVybiBJUlFfSEFORExFRDsKK30KKworc3RhdGljIHZvaWQgX19pbml0IGZzZ19pbml0KHZvaWQpCit7CisJREVDTEFSRV9NQUNfQlVGKG1hY19idWYpOworCXVpbnQ4X3QgX19pb21lbSAqZjsKKwlpbnQgaTsKKworCWl4cDR4eF9zeXNfaW5pdCgpOworCisJZnNnX2ZsYXNoX3Jlc291cmNlLnN0YXJ0ID0gSVhQNFhYX0VYUF9CVVNfQkFTRSgwKTsKKwlmc2dfZmxhc2hfcmVzb3VyY2UuZW5kID0KKwkJSVhQNFhYX0VYUF9CVVNfQkFTRSgwKSArIGl4cDR4eF9leHBfYnVzX3NpemUgLSAxOworCisJKklYUDRYWF9FWFBfQ1MwIHw9IElYUDRYWF9GTEFTSF9XUklUQUJMRTsKKwkqSVhQNFhYX0VYUF9DUzEgPSAqSVhQNFhYX0VYUF9DUzA7CisKKwkvKiBDb25maWd1cmUgQ1MyIGZvciBvcGVyYXRpb24sIDhiaXQgYW5kIHdyaXRhYmxlICovCisJKklYUDRYWF9FWFBfQ1MyID0gMHhiZmZmMDAwMjsKKworCWkyY19yZWdpc3Rlcl9ib2FyZF9pbmZvKDAsIGZzZ19pMmNfYm9hcmRfaW5mbywKKwkJCQlBUlJBWV9TSVpFKGZzZ19pMmNfYm9hcmRfaW5mbykpOworCisJLyogVGhpcyBpcyBvbmx5IHVzZWZ1bCBvbiBhIG1vZGlmaWVkIG1hY2hpbmUsIGJ1dCBpdCBpcyB2YWx1YWJsZQorCSAqIHRvIGhhdmUgaXQgZmlyc3QgaW4gb3JkZXIgdG8gc2VlIGRlYnVnIG1lc3NhZ2VzLCBhbmQgc28gdGhhdAorCSAqIGl0IGRvZXMgKm5vdCogZ2V0IHJlbW92ZWQgaWYgcGxhdGZvcm1fYWRkX2RldmljZXMgZmFpbHMhCisJICovCisJKHZvaWQpcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZmc2dfdWFydCk7CisKKwlwbGF0Zm9ybV9hZGRfZGV2aWNlcyhmc2dfZGV2aWNlcywgQVJSQVlfU0laRShmc2dfZGV2aWNlcykpOworCisJaWYgKHJlcXVlc3RfaXJxKGdwaW9fdG9faXJxKEZTR19SQl9HUElPKSwgJmZzZ19yZXNldF9oYW5kbGVyLAorCQkJSVJRRl9ESVNBQkxFRCB8IElSUUZfVFJJR0dFUl9MT1csCisJCQkiRlNHIHJlc2V0IGJ1dHRvbiIsIE5VTEwpIDwgMCkgeworCisJCXByaW50ayhLRVJOX0RFQlVHICJSZXNldCBCdXR0b24gSVJRICVkIG5vdCBhdmFpbGFibGVcbiIsCisJCQlncGlvX3RvX2lycShGU0dfUkJfR1BJTykpOworCX0KKworCWlmIChyZXF1ZXN0X2lycShncGlvX3RvX2lycShGU0dfU0JfR1BJTyksICZmc2dfcG93ZXJfaGFuZGxlciwKKwkJCUlSUUZfRElTQUJMRUQgfCBJUlFGX1RSSUdHRVJfTE9XLAorCQkJIkZTRyBwb3dlciBidXR0b24iLCBOVUxMKSA8IDApIHsKKworCQlwcmludGsoS0VSTl9ERUJVRyAiUG93ZXIgQnV0dG9uIElSUSAlZCBub3QgYXZhaWxhYmxlXG4iLAorCQkJZ3Bpb190b19pcnEoRlNHX1NCX0dQSU8pKTsKKwl9CisKKwkvKgorCSAqIE1hcCBpbiBhIHBvcnRpb24gb2YgdGhlIGZsYXNoIGFuZCByZWFkIHRoZSBNQUMgYWRkcmVzc2VzLgorCSAqIFNpbmNlIGl0IGlzIHN0b3JlZCBpbiBCRSBpbiB0aGUgZmxhc2ggaXRzZWxmLCB3ZSBuZWVkIHRvCisJICogYnl0ZXN3YXAgaXQgaWYgd2UncmUgaW4gTEUgbW9kZS4KKwkgKi8KKwlmID0gaW9yZW1hcChJWFA0WFhfRVhQX0JVU19CQVNFKDApLCAweDQwMDAwMCk7CisJaWYgKGYpIHsKKyNpZmRlZiBfX0FSTUVCX18KKwkJZm9yIChpID0gMDsgaSA8IDY7IGkrKykgeworCQkJZnNnX3BsYXRfZXRoWzBdLmh3YWRkcltpXSA9IHJlYWRiKGYgKyAweDNDMDQyMiArIGkpOworCQkJZnNnX3BsYXRfZXRoWzFdLmh3YWRkcltpXSA9IHJlYWRiKGYgKyAweDNDMDQzQiArIGkpOworCQl9CisjZWxzZQorCisJCS8qCisJCSAgRW5kaWFuLXN3YXBwZWQgcmVhZHMgZnJvbSB1bmFsaWduZWQgYWRkcmVzc2VzIGFyZQorCQkgIHJlcXVpcmVkIHRvIGV4dHJhY3QgdGhlIHR3byBNQUNzIGZyb20gdGhlIGJpZy1lbmRpYW4KKwkJICBSZWRib290IGNvbmZpZyBhcmVhIGluIGZsYXNoLgorCQkqLworCisJCWZzZ19wbGF0X2V0aFswXS5od2FkZHJbMF0gPSByZWFkYihmICsgMHgzQzA0MjEpOworCQlmc2dfcGxhdF9ldGhbMF0uaHdhZGRyWzFdID0gcmVhZGIoZiArIDB4M0MwNDIwKTsKKwkJZnNnX3BsYXRfZXRoWzBdLmh3YWRkclsyXSA9IHJlYWRiKGYgKyAweDNDMDQyNyk7CisJCWZzZ19wbGF0X2V0aFswXS5od2FkZHJbM10gPSByZWFkYihmICsgMHgzQzA0MjYpOworCQlmc2dfcGxhdF9ldGhbMF0uaHdhZGRyWzRdID0gcmVhZGIoZiArIDB4M0MwNDI1KTsKKwkJZnNnX3BsYXRfZXRoWzBdLmh3YWRkcls1XSA9IHJlYWRiKGYgKyAweDNDMDQyNCk7CisKKwkJZnNnX3BsYXRfZXRoWzFdLmh3YWRkclswXSA9IHJlYWRiKGYgKyAweDNDMDQzOSk7CisJCWZzZ19wbGF0X2V0aFsxXS5od2FkZHJbMV0gPSByZWFkYihmICsgMHgzQzA0M0YpOworCQlmc2dfcGxhdF9ldGhbMV0uaHdhZGRyWzJdID0gcmVhZGIoZiArIDB4M0MwNDNFKTsKKwkJZnNnX3BsYXRfZXRoWzFdLmh3YWRkclszXSA9IHJlYWRiKGYgKyAweDNDMDQzRCk7CisJCWZzZ19wbGF0X2V0aFsxXS5od2FkZHJbNF0gPSByZWFkYihmICsgMHgzQzA0M0MpOworCQlmc2dfcGxhdF9ldGhbMV0uaHdhZGRyWzVdID0gcmVhZGIoZiArIDB4M0MwNDQzKTsKKyNlbmRpZgorCQlpb3VubWFwKGYpOworCX0KKwlwcmludGsoS0VSTl9JTkZPICJGU0c6IFVzaW5nIE1BQyBhZGRyZXNzICVzIGZvciBwb3J0IDBcbiIsCisJICAgICAgIHByaW50X21hYyhtYWNfYnVmLCBmc2dfcGxhdF9ldGhbMF0uaHdhZGRyKSk7CisJcHJpbnRrKEtFUk5fSU5GTyAiRlNHOiBVc2luZyBNQUMgYWRkcmVzcyAlcyBmb3IgcG9ydCAxXG4iLAorCSAgICAgICBwcmludF9tYWMobWFjX2J1ZiwgZnNnX3BsYXRfZXRoWzFdLmh3YWRkcikpOworCit9CisKK01BQ0hJTkVfU1RBUlQoRlNHLCAiRnJlZWNvbSBGU0ctMyIpCisJLyogTWFpbnRhaW5lcjogd3d3Lm5zbHUyLWxpbnV4Lm9yZyAqLworCS5waHlzX2lvCT0gSVhQNFhYX1BFUklQSEVSQUxfQkFTRV9QSFlTLAorCS5pb19wZ19vZmZzdAk9ICgoSVhQNFhYX1BFUklQSEVSQUxfQkFTRV9WSVJUKSA+PiAxOCkgJiAweGZmZmMsCisJLm1hcF9pbwkJPSBpeHA0eHhfbWFwX2lvLAorCS5pbml0X2lycQk9IGl4cDR4eF9pbml0X2lycSwKKwkudGltZXIJCT0gJml4cDR4eF90aW1lciwKKwkuYm9vdF9wYXJhbXMJPSAweDAxMDAsCisJLmluaXRfbWFjaGluZQk9IGZzZ19pbml0LAorTUFDSElORV9FTkQKKwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1raXJrd29vZC9LY29uZmlnIGIvYXJjaC9hcm0vbWFjaC1raXJrd29vZC9LY29uZmlnCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM2MDBjZDkKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLWtpcmt3b29kL0tjb25maWcKQEAgLTAsMCArMSwyNSBAQAoraWYgQVJDSF9LSVJLV09PRAorCittZW51ICJNYXJ2ZWxsIEtpcmt3b29kIEltcGxlbWVudGF0aW9ucyIKKworY29uZmlnIE1BQ0hfREI4OEY2MjgxX0JQCisJYm9vbCAiTWFydmVsbCBEQi04OEY2MjgxLUJQIERldmVsb3BtZW50IEJvYXJkIgorCWhlbHAKKwkgIFNheSAnWScgaGVyZSBpZiB5b3Ugd2FudCB5b3VyIGtlcm5lbCB0byBzdXBwb3J0IHRoZQorCSAgTWFydmVsbCBEQi04OEY2MjgxLUJQIERldmVsb3BtZW50IEJvYXJkLgorCitjb25maWcgTUFDSF9SRDg4RjYxOTJfTkFTCisJYm9vbCAiTWFydmVsbCBSRC04OEY2MTkyLU5BUyBSZWZlcmVuY2UgQm9hcmQiCisJaGVscAorCSAgU2F5ICdZJyBoZXJlIGlmIHlvdSB3YW50IHlvdXIga2VybmVsIHRvIHN1cHBvcnQgdGhlCisJICBNYXJ2ZWxsIFJELTg4RjYxOTItTkFTIFJlZmVyZW5jZSBCb2FyZC4KKworY29uZmlnIE1BQ0hfUkQ4OEY2MjgxCisJYm9vbCAiTWFydmVsbCBSRC04OEY2MjgxIFJlZmVyZW5jZSBCb2FyZCIKKwloZWxwCisJICBTYXkgJ1knIGhlcmUgaWYgeW91IHdhbnQgeW91ciBrZXJuZWwgdG8gc3VwcG9ydCB0aGUKKwkgIE1hcnZlbGwgUkQtODhGNjI4MSBSZWZlcmVuY2UgQm9hcmQuCisKK2VuZG1lbnUKKworZW5kaWYKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gta2lya3dvb2QvTWFrZWZpbGUgYi9hcmNoL2FybS9tYWNoLWtpcmt3b29kL01ha2VmaWxlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUxNGJmNDAKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLWtpcmt3b29kL01ha2VmaWxlCkBAIC0wLDAgKzEsNSBAQAorb2JqLXkJCQkJKz0gY29tbW9uLm8gYWRkci1tYXAubyBpcnEubyBwY2llLm8KKworb2JqLSQoQ09ORklHX01BQ0hfREI4OEY2MjgxX0JQKQkJKz0gZGI4OGY2MjgxLWJwLXNldHVwLm8KK29iai0kKENPTkZJR19NQUNIX1JEODhGNjE5Ml9OQVMpCSs9IHJkODhmNjE5Mi1uYXMtc2V0dXAubworb2JqLSQoQ09ORklHX01BQ0hfUkQ4OEY2MTkyX05BUykJKz0gcmQ4OGY2MjgxLXNldHVwLm8KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gta2lya3dvb2QvTWFrZWZpbGUuYm9vdCBiL2FyY2gvYXJtL21hY2gta2lya3dvb2QvTWFrZWZpbGUuYm9vdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NzAzOWMzCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vbWFjaC1raXJrd29vZC9NYWtlZmlsZS5ib290CkBAIC0wLDAgKzEsMyBAQAorICAgenJlbGFkZHIteQk6PSAweDAwMDA4MDAwCitwYXJhbXNfcGh5cy15CTo9IDB4MDAwMDAxMDAKK2luaXRyZF9waHlzLXkJOj0gMHgwMDgwMDAwMApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1raXJrd29vZC9hZGRyLW1hcC5jIGIvYXJjaC9hcm0vbWFjaC1raXJrd29vZC9hZGRyLW1hcC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEzOWYwZjMKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLWtpcmt3b29kL2FkZHItbWFwLmMKQEAgLTAsMCArMSwxMzkgQEAKKy8qCisgKiBhcmNoL2FybS9tYWNoLWtpcmt3b29kL2FkZHItbWFwLmMKKyAqCisgKiBBZGRyZXNzIG1hcCBmdW5jdGlvbnMgZm9yIE1hcnZlbGwgS2lya3dvb2QgU29DcworICoKKyAqIFRoaXMgZmlsZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSB2ZXJzaW9uIDIuICBUaGlzIHByb2dyYW0gaXMgbGljZW5zZWQgImFzIGlzIiB3aXRob3V0IGFueQorICogd2FycmFudHkgb2YgYW55IGtpbmQsIHdoZXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICovCisKKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvbWJ1cy5oPgorI2luY2x1ZGUgPGxpbnV4L2lvLmg+CisjaW5jbHVkZSA8YXNtL2hhcmR3YXJlLmg+CisjaW5jbHVkZSAiY29tbW9uLmgiCisKKy8qCisgKiBHZW5lcmljIEFkZHJlc3MgRGVjb2RlIFdpbmRvd3MgYml0IHNldHRpbmdzCisgKi8KKyNkZWZpbmUgVEFSR0VUX0REUgkJMAorI2RlZmluZSBUQVJHRVRfREVWX0JVUwkJMQorI2RlZmluZSBUQVJHRVRfUENJRQkJNAorI2RlZmluZSBBVFRSX0RFVl9TUElfUk9NCTB4MWUKKyNkZWZpbmUgQVRUUl9ERVZfQk9PVAkJMHgxZAorI2RlZmluZSBBVFRSX0RFVl9OQU5ECQkweDJmCisjZGVmaW5lIEFUVFJfREVWX0NTMwkJMHgzNworI2RlZmluZSBBVFRSX0RFVl9DUzIJCTB4M2IKKyNkZWZpbmUgQVRUUl9ERVZfQ1MxCQkweDNkCisjZGVmaW5lIEFUVFJfREVWX0NTMAkJMHgzZQorI2RlZmluZSBBVFRSX1BDSUVfSU8JCTB4ZTAKKyNkZWZpbmUgQVRUUl9QQ0lFX01FTQkJMHhlOAorCisvKgorICogSGVscGVycyB0byBnZXQgRERSIGJhbmsgaW5mbworICovCisjZGVmaW5lIEREUl9CQVNFX0NTX09GRihuKQkoMHgwMDAwICsgKChuKSA8PCAzKSkKKyNkZWZpbmUgRERSX1NJWkVfQ1NfT0ZGKG4pCSgweDAwMDQgKyAoKG4pIDw8IDMpKQorCisvKgorICogQ1BVIEFkZHJlc3MgRGVjb2RlIFdpbmRvd3MgcmVnaXN0ZXJzCisgKi8KKyNkZWZpbmUgV0lOX09GRihuKQkJKEJSSURHRV9WSVJUX0JBU0UgKyAweDAwMDAgKyAoKG4pIDw8IDQpKQorI2RlZmluZSBXSU5fQ1RSTF9PRkYJCTB4MDAwMAorI2RlZmluZSBXSU5fQkFTRV9PRkYJCTB4MDAwNAorI2RlZmluZSBXSU5fUkVNQVBfTE9fT0ZGCTB4MDAwOAorI2RlZmluZSBXSU5fUkVNQVBfSElfT0ZGCTB4MDAwYworCisKK3N0cnVjdCBtYnVzX2RyYW1fdGFyZ2V0X2luZm8ga2lya3dvb2RfbWJ1c19kcmFtX2luZm87CisKK3N0YXRpYyBpbnQgX19pbml0IGNwdV93aW5fY2FuX3JlbWFwKGludCB3aW4pCit7CisJaWYgKHdpbiA8IDQpCisJCXJldHVybiAxOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIF9faW5pdCBzZXR1cF9jcHVfd2luKGludCB3aW4sIHUzMiBiYXNlLCB1MzIgc2l6ZSwKKwkJCQkgdTggdGFyZ2V0LCB1OCBhdHRyLCBpbnQgcmVtYXApCit7CisJdm9pZCBfX2lvbWVtICphZGRyID0gKHZvaWQgX19pb21lbSAqKVdJTl9PRkYod2luKTsKKwl1MzIgY3RybDsKKworCWJhc2UgJj0gMHhmZmZmMDAwMDsKKwljdHJsID0gKChzaXplIC0gMSkgJiAweGZmZmYwMDAwKSB8IChhdHRyIDw8IDgpIHwgKHRhcmdldCA8PCA0KSB8IDE7CisKKwl3cml0ZWwoYmFzZSwgYWRkciArIFdJTl9CQVNFX09GRik7CisJd3JpdGVsKGN0cmwsIGFkZHIgKyBXSU5fQ1RSTF9PRkYpOworCWlmIChjcHVfd2luX2Nhbl9yZW1hcCh3aW4pKSB7CisJCWlmIChyZW1hcCA8IDApCisJCQlyZW1hcCA9IGJhc2U7CisKKwkJd3JpdGVsKHJlbWFwICYgMHhmZmZmMDAwMCwgYWRkciArIFdJTl9SRU1BUF9MT19PRkYpOworCQl3cml0ZWwoMCwgYWRkciArIFdJTl9SRU1BUF9ISV9PRkYpOworCX0KK30KKwordm9pZCBfX2luaXQga2lya3dvb2Rfc2V0dXBfY3B1X21idXModm9pZCkKK3sKKwl2b2lkIF9faW9tZW0gKmFkZHI7CisJaW50IGk7CisJaW50IGNzOworCisJLyoKKwkgKiBGaXJzdCwgZGlzYWJsZSBhbmQgY2xlYXIgd2luZG93cy4KKwkgKi8KKwlmb3IgKGkgPSAwOyBpIDwgODsgaSsrKSB7CisJCWFkZHIgPSAodm9pZCBfX2lvbWVtICopV0lOX09GRihpKTsKKworCQl3cml0ZWwoMCwgYWRkciArIFdJTl9CQVNFX09GRik7CisJCXdyaXRlbCgwLCBhZGRyICsgV0lOX0NUUkxfT0ZGKTsKKwkJaWYgKGNwdV93aW5fY2FuX3JlbWFwKGkpKSB7CisJCQl3cml0ZWwoMCwgYWRkciArIFdJTl9SRU1BUF9MT19PRkYpOworCQkJd3JpdGVsKDAsIGFkZHIgKyBXSU5fUkVNQVBfSElfT0ZGKTsKKwkJfQorCX0KKworCS8qCisJICogU2V0dXAgd2luZG93cyBmb3IgUENJZSBJTytNRU0gc3BhY2UuCisJICovCisJc2V0dXBfY3B1X3dpbigwLCBLSVJLV09PRF9QQ0lFX0lPX1BIWVNfQkFTRSwgS0lSS1dPT0RfUENJRV9JT19TSVpFLAorCQkgICAgICBUQVJHRVRfUENJRSwgQVRUUl9QQ0lFX0lPLCBLSVJLV09PRF9QQ0lFX0lPX0JVU19CQVNFKTsKKwlzZXR1cF9jcHVfd2luKDEsIEtJUktXT09EX1BDSUVfTUVNX1BIWVNfQkFTRSwgS0lSS1dPT0RfUENJRV9NRU1fU0laRSwKKwkJICAgICAgVEFSR0VUX1BDSUUsIEFUVFJfUENJRV9NRU0sIC0xKTsKKworCS8qCisJICogU2V0dXAgd2luZG93IGZvciBOQU5EIGNvbnRyb2xsZXIuCisJICovCisJc2V0dXBfY3B1X3dpbigyLCBLSVJLV09PRF9OQU5EX01FTV9QSFlTX0JBU0UsIEtJUktXT09EX05BTkRfTUVNX1NJWkUsCisJCSAgICAgIFRBUkdFVF9ERVZfQlVTLCBBVFRSX0RFVl9OQU5ELCAtMSk7CisKKwkvKgorCSAqIFNldHVwIE1CVVMgZHJhbSB0YXJnZXQgaW5mby4KKwkgKi8KKwlraXJrd29vZF9tYnVzX2RyYW1faW5mby5tYnVzX2RyYW1fdGFyZ2V0X2lkID0gVEFSR0VUX0REUjsKKworCWFkZHIgPSAodm9pZCBfX2lvbWVtICopRERSX1dJTkRPV19DUFVfQkFTRTsKKworCWZvciAoaSA9IDAsIGNzID0gMDsgaSA8IDQ7IGkrKykgeworCQl1MzIgYmFzZSA9IHJlYWRsKGFkZHIgKyBERFJfQkFTRV9DU19PRkYoaSkpOworCQl1MzIgc2l6ZSA9IHJlYWRsKGFkZHIgKyBERFJfU0laRV9DU19PRkYoaSkpOworCisJCS8qCisJCSAqIENoaXAgc2VsZWN0IGVuYWJsZWQ/CisJCSAqLworCQlpZiAoc2l6ZSAmIDEpIHsKKwkJCXN0cnVjdCBtYnVzX2RyYW1fd2luZG93ICp3OworCisJCQl3ID0gJmtpcmt3b29kX21idXNfZHJhbV9pbmZvLmNzW2NzKytdOworCQkJdy0+Y3NfaW5kZXggPSBpOworCQkJdy0+bWJ1c19hdHRyID0gMHhmICYgfigxIDw8IGkpOworCQkJdy0+YmFzZSA9IGJhc2UgJiAweGZmZmYwMDAwOworCQkJdy0+c2l6ZSA9IChzaXplIHwgMHgwMDAwZmZmZikgKyAxOworCQl9CisJfQorCWtpcmt3b29kX21idXNfZHJhbV9pbmZvLm51bV9jcyA9IGNzOworfQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1raXJrd29vZC9jb21tb24uYyBiL2FyY2gvYXJtL21hY2gta2lya3dvb2QvY29tbW9uLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTkzOGEzYgotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gta2lya3dvb2QvY29tbW9uLmMKQEAgLTAsMCArMSwzMzEgQEAKKy8qCisgKiBhcmNoL2FybS9tYWNoLWtpcmt3b29kL2NvbW1vbi5jCisgKgorICogQ29yZSBmdW5jdGlvbnMgZm9yIE1hcnZlbGwgS2lya3dvb2QgU29DcworICoKKyAqIFRoaXMgZmlsZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSB2ZXJzaW9uIDIuICBUaGlzIHByb2dyYW0gaXMgbGljZW5zZWQgImFzIGlzIiB3aXRob3V0IGFueQorICogd2FycmFudHkgb2YgYW55IGtpbmQsIHdoZXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICovCisKKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CisjaW5jbHVkZSA8bGludXgvc2VyaWFsXzgyNTAuaD4KKyNpbmNsdWRlIDxsaW51eC9tYnVzLmg+CisjaW5jbHVkZSA8bGludXgvbXY2NDN4eF9ldGguaD4KKyNpbmNsdWRlIDxsaW51eC9hdGFfcGxhdGZvcm0uaD4KKyNpbmNsdWRlIDxhc20vcGFnZS5oPgorI2luY2x1ZGUgPGFzbS90aW1leC5oPgorI2luY2x1ZGUgPGFzbS9tYWNoL21hcC5oPgorI2luY2x1ZGUgPGFzbS9tYWNoL3RpbWUuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9raXJrd29vZC5oPgorI2luY2x1ZGUgPGFzbS9wbGF0LW9yaW9uL2NhY2hlLWZlcm9jZW9uLWwyLmg+CisjaW5jbHVkZSA8YXNtL3BsYXQtb3Jpb24vZWhjaS1vcmlvbi5oPgorI2luY2x1ZGUgPGFzbS9wbGF0LW9yaW9uL29yaW9uX25hbmQuaD4KKyNpbmNsdWRlIDxhc20vcGxhdC1vcmlvbi90aW1lLmg+CisjaW5jbHVkZSAiY29tbW9uLmgiCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogSS9PIEFkZHJlc3MgTWFwcGluZworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitzdGF0aWMgc3RydWN0IG1hcF9kZXNjIGtpcmt3b29kX2lvX2Rlc2NbXSBfX2luaXRkYXRhID0geworCXsKKwkJLnZpcnR1YWwJPSBLSVJLV09PRF9QQ0lFX0lPX1ZJUlRfQkFTRSwKKwkJLnBmbgkJPSBfX3BoeXNfdG9fcGZuKEtJUktXT09EX1BDSUVfSU9fUEhZU19CQVNFKSwKKwkJLmxlbmd0aAkJPSBLSVJLV09PRF9QQ0lFX0lPX1NJWkUsCisJCS50eXBlCQk9IE1UX0RFVklDRSwKKwl9LCB7CisJCS52aXJ0dWFsCT0gS0lSS1dPT0RfUkVHU19WSVJUX0JBU0UsCisJCS5wZm4JCT0gX19waHlzX3RvX3BmbihLSVJLV09PRF9SRUdTX1BIWVNfQkFTRSksCisJCS5sZW5ndGgJCT0gS0lSS1dPT0RfUkVHU19TSVpFLAorCQkudHlwZQkJPSBNVF9ERVZJQ0UsCisJfSwKK307CisKK3ZvaWQgX19pbml0IGtpcmt3b29kX21hcF9pbyh2b2lkKQoreworCWlvdGFibGVfaW5pdChraXJrd29vZF9pb19kZXNjLCBBUlJBWV9TSVpFKGtpcmt3b29kX2lvX2Rlc2MpKTsKK30KKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEVIQ0kKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworc3RhdGljIHN0cnVjdCBvcmlvbl9laGNpX2RhdGEga2lya3dvb2RfZWhjaV9kYXRhID0geworCS5kcmFtCQk9ICZraXJrd29vZF9tYnVzX2RyYW1faW5mbywKK307CisKK3N0YXRpYyB1NjQgZWhjaV9kbWFtYXNrID0gMHhmZmZmZmZmZlVMOworCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRUhDSTAKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworc3RhdGljIHN0cnVjdCByZXNvdXJjZSBraXJrd29vZF9laGNpX3Jlc291cmNlc1tdID0geworCXsKKwkJLnN0YXJ0CT0gVVNCX1BIWVNfQkFTRSwKKwkJLmVuZAk9IFVTQl9QSFlTX0JBU0UgKyAweDBmZmYsCisJCS5mbGFncwk9IElPUkVTT1VSQ0VfTUVNLAorCX0sIHsKKwkJLnN0YXJ0CT0gSVJRX0tJUktXT09EX1VTQiwKKwkJLmVuZAk9IElSUV9LSVJLV09PRF9VU0IsCisJCS5mbGFncwk9IElPUkVTT1VSQ0VfSVJRLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBraXJrd29vZF9laGNpID0geworCS5uYW1lCQk9ICJvcmlvbi1laGNpIiwKKwkuaWQJCT0gMCwKKwkuZGV2CQk9IHsKKwkJLmRtYV9tYXNrCQk9ICZlaGNpX2RtYW1hc2ssCisJCS5jb2hlcmVudF9kbWFfbWFzawk9IDB4ZmZmZmZmZmYsCisJCS5wbGF0Zm9ybV9kYXRhCQk9ICZraXJrd29vZF9laGNpX2RhdGEsCisJfSwKKwkucmVzb3VyY2UJPSBraXJrd29vZF9laGNpX3Jlc291cmNlcywKKwkubnVtX3Jlc291cmNlcwk9IEFSUkFZX1NJWkUoa2lya3dvb2RfZWhjaV9yZXNvdXJjZXMpLAorfTsKKwordm9pZCBfX2luaXQga2lya3dvb2RfZWhjaV9pbml0KHZvaWQpCit7CisJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZraXJrd29vZF9laGNpKTsKK30KKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEdFMDAKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworc3RydWN0IG12NjQzeHhfZXRoX3NoYXJlZF9wbGF0Zm9ybV9kYXRhIGtpcmt3b29kX2dlMDBfc2hhcmVkX2RhdGEgPSB7CisJLnRfY2xrCQk9IEtJUktXT09EX1RDTEssCisJLmRyYW0JCT0gJmtpcmt3b29kX21idXNfZHJhbV9pbmZvLAorfTsKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSBraXJrd29vZF9nZTAwX3NoYXJlZF9yZXNvdXJjZXNbXSA9IHsKKwl7CisJCS5uYW1lCT0gImdlMDAgYmFzZSIsCisJCS5zdGFydAk9IEdFMDBfUEhZU19CQVNFICsgMHgyMDAwLAorCQkuZW5kCT0gR0UwMF9QSFlTX0JBU0UgKyAweDNmZmYsCisJCS5mbGFncwk9IElPUkVTT1VSQ0VfTUVNLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBraXJrd29vZF9nZTAwX3NoYXJlZCA9IHsKKwkubmFtZQkJPSBNVjY0M1hYX0VUSF9TSEFSRURfTkFNRSwKKwkuaWQJCT0gMCwKKwkuZGV2CQk9IHsKKwkJLnBsYXRmb3JtX2RhdGEJPSAma2lya3dvb2RfZ2UwMF9zaGFyZWRfZGF0YSwKKwl9LAorCS5udW1fcmVzb3VyY2VzCT0gMSwKKwkucmVzb3VyY2UJPSBraXJrd29vZF9nZTAwX3NoYXJlZF9yZXNvdXJjZXMsCit9OworCitzdGF0aWMgc3RydWN0IHJlc291cmNlIGtpcmt3b29kX2dlMDBfcmVzb3VyY2VzW10gPSB7CisJeworCQkubmFtZQk9ICJnZTAwIGlycSIsCisJCS5zdGFydAk9IElSUV9LSVJLV09PRF9HRTAwX1NVTSwKKwkJLmVuZAk9IElSUV9LSVJLV09PRF9HRTAwX1NVTSwKKwkJLmZsYWdzCT0gSU9SRVNPVVJDRV9JUlEsCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIGtpcmt3b29kX2dlMDAgPSB7CisJLm5hbWUJCT0gTVY2NDNYWF9FVEhfTkFNRSwKKwkuaWQJCT0gMCwKKwkubnVtX3Jlc291cmNlcwk9IDEsCisJLnJlc291cmNlCT0ga2lya3dvb2RfZ2UwMF9yZXNvdXJjZXMsCit9OworCit2b2lkIF9faW5pdCBraXJrd29vZF9nZTAwX2luaXQoc3RydWN0IG12NjQzeHhfZXRoX3BsYXRmb3JtX2RhdGEgKmV0aF9kYXRhKQoreworCWV0aF9kYXRhLT5zaGFyZWQgPSAma2lya3dvb2RfZ2UwMF9zaGFyZWQ7CisJa2lya3dvb2RfZ2UwMC5kZXYucGxhdGZvcm1fZGF0YSA9IGV0aF9kYXRhOworCisJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZraXJrd29vZF9nZTAwX3NoYXJlZCk7CisJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZraXJrd29vZF9nZTAwKTsKK30KKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFNvQyBSVEMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworc3RhdGljIHN0cnVjdCByZXNvdXJjZSBraXJrd29vZF9ydGNfcmVzb3VyY2UgPSB7CisJLnN0YXJ0CT0gUlRDX1BIWVNfQkFTRSwKKwkuZW5kCT0gUlRDX1BIWVNfQkFTRSArIFNaXzE2IC0gMSwKKwkuZmxhZ3MJPSBJT1JFU09VUkNFX01FTSwKK307CisKK3ZvaWQgX19pbml0IGtpcmt3b29kX3J0Y19pbml0KHZvaWQpCit7CisJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyX3NpbXBsZSgicnRjLW12IiwgLTEsICZraXJrd29vZF9ydGNfcmVzb3VyY2UsIDEpOworfQorCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogU0FUQQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitzdGF0aWMgc3RydWN0IHJlc291cmNlIGtpcmt3b29kX3NhdGFfcmVzb3VyY2VzW10gPSB7CisJeworCQkubmFtZQk9ICJzYXRhIGJhc2UiLAorCQkuc3RhcnQJPSBTQVRBX1BIWVNfQkFTRSwKKwkJLmVuZAk9IFNBVEFfUEhZU19CQVNFICsgMHg1MDAwIC0gMSwKKwkJLmZsYWdzCT0gSU9SRVNPVVJDRV9NRU0sCisJfSwgeworCQkubmFtZQk9ICJzYXRhIGlycSIsCisJCS5zdGFydAk9IElSUV9LSVJLV09PRF9TQVRBLAorCQkuZW5kCT0gSVJRX0tJUktXT09EX1NBVEEsCisJCS5mbGFncwk9IElPUkVTT1VSQ0VfSVJRLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBraXJrd29vZF9zYXRhID0geworCS5uYW1lCQk9ICJzYXRhX212IiwKKwkuaWQJCT0gMCwKKwkuZGV2CQk9IHsKKwkJLmNvaGVyZW50X2RtYV9tYXNrCT0gMHhmZmZmZmZmZiwKKwl9LAorCS5udW1fcmVzb3VyY2VzCT0gQVJSQVlfU0laRShraXJrd29vZF9zYXRhX3Jlc291cmNlcyksCisJLnJlc291cmNlCT0ga2lya3dvb2Rfc2F0YV9yZXNvdXJjZXMsCit9OworCit2b2lkIF9faW5pdCBraXJrd29vZF9zYXRhX2luaXQoc3RydWN0IG12X3NhdGFfcGxhdGZvcm1fZGF0YSAqc2F0YV9kYXRhKQoreworCXNhdGFfZGF0YS0+ZHJhbSA9ICZraXJrd29vZF9tYnVzX2RyYW1faW5mbzsKKwlraXJrd29vZF9zYXRhLmRldi5wbGF0Zm9ybV9kYXRhID0gc2F0YV9kYXRhOworCXBsYXRmb3JtX2RldmljZV9yZWdpc3Rlcigma2lya3dvb2Rfc2F0YSk7Cit9CisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBVQVJUMAorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitzdGF0aWMgc3RydWN0IHBsYXRfc2VyaWFsODI1MF9wb3J0IGtpcmt3b29kX3VhcnQwX2RhdGFbXSA9IHsKKwl7CisJCS5tYXBiYXNlCT0gVUFSVDBfUEhZU19CQVNFLAorCQkubWVtYmFzZQk9IChjaGFyICopVUFSVDBfVklSVF9CQVNFLAorCQkuaXJxCQk9IElSUV9LSVJLV09PRF9VQVJUXzAsCisJCS5mbGFncwkJPSBVUEZfU0tJUF9URVNUIHwgVVBGX0JPT1RfQVVUT0NPTkYsCisJCS5pb3R5cGUJCT0gVVBJT19NRU0sCisJCS5yZWdzaGlmdAk9IDIsCisJCS51YXJ0Y2xrCT0gS0lSS1dPT0RfVENMSywKKwl9LCB7CisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2Uga2lya3dvb2RfdWFydDBfcmVzb3VyY2VzW10gPSB7CisJeworCQkuc3RhcnQJCT0gVUFSVDBfUEhZU19CQVNFLAorCQkuZW5kCQk9IFVBUlQwX1BIWVNfQkFTRSArIDB4ZmYsCisJCS5mbGFncwkJPSBJT1JFU09VUkNFX01FTSwKKwl9LCB7CisJCS5zdGFydAkJPSBJUlFfS0lSS1dPT0RfVUFSVF8wLAorCQkuZW5kCQk9IElSUV9LSVJLV09PRF9VQVJUXzAsCisJCS5mbGFncwkJPSBJT1JFU09VUkNFX0lSUSwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2Uga2lya3dvb2RfdWFydDAgPSB7CisJLm5hbWUJCQk9ICJzZXJpYWw4MjUwIiwKKwkuaWQJCQk9IDAsCisJLmRldgkJCT0geworCQkucGxhdGZvcm1fZGF0YQk9IGtpcmt3b29kX3VhcnQwX2RhdGEsCisJfSwKKwkucmVzb3VyY2UJCT0ga2lya3dvb2RfdWFydDBfcmVzb3VyY2VzLAorCS5udW1fcmVzb3VyY2VzCQk9IEFSUkFZX1NJWkUoa2lya3dvb2RfdWFydDBfcmVzb3VyY2VzKSwKK307CisKK3ZvaWQgX19pbml0IGtpcmt3b29kX3VhcnQwX2luaXQodm9pZCkKK3sKKwlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJmtpcmt3b29kX3VhcnQwKTsKK30KKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFVBUlQxCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3N0YXRpYyBzdHJ1Y3QgcGxhdF9zZXJpYWw4MjUwX3BvcnQga2lya3dvb2RfdWFydDFfZGF0YVtdID0geworCXsKKwkJLm1hcGJhc2UJPSBVQVJUMV9QSFlTX0JBU0UsCisJCS5tZW1iYXNlCT0gKGNoYXIgKilVQVJUMV9WSVJUX0JBU0UsCisJCS5pcnEJCT0gSVJRX0tJUktXT09EX1VBUlRfMSwKKwkJLmZsYWdzCQk9IFVQRl9TS0lQX1RFU1QgfCBVUEZfQk9PVF9BVVRPQ09ORiwKKwkJLmlvdHlwZQkJPSBVUElPX01FTSwKKwkJLnJlZ3NoaWZ0CT0gMiwKKwkJLnVhcnRjbGsJPSBLSVJLV09PRF9UQ0xLLAorCX0sIHsKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSBraXJrd29vZF91YXJ0MV9yZXNvdXJjZXNbXSA9IHsKKwl7CisJCS5zdGFydAkJPSBVQVJUMV9QSFlTX0JBU0UsCisJCS5lbmQJCT0gVUFSVDFfUEhZU19CQVNFICsgMHhmZiwKKwkJLmZsYWdzCQk9IElPUkVTT1VSQ0VfTUVNLAorCX0sIHsKKwkJLnN0YXJ0CQk9IElSUV9LSVJLV09PRF9VQVJUXzEsCisJCS5lbmQJCT0gSVJRX0tJUktXT09EX1VBUlRfMSwKKwkJLmZsYWdzCQk9IElPUkVTT1VSQ0VfSVJRLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBraXJrd29vZF91YXJ0MSA9IHsKKwkubmFtZQkJCT0gInNlcmlhbDgyNTAiLAorCS5pZAkJCT0gMSwKKwkuZGV2CQkJPSB7CisJCS5wbGF0Zm9ybV9kYXRhCT0ga2lya3dvb2RfdWFydDFfZGF0YSwKKwl9LAorCS5yZXNvdXJjZQkJPSBraXJrd29vZF91YXJ0MV9yZXNvdXJjZXMsCisJLm51bV9yZXNvdXJjZXMJCT0gQVJSQVlfU0laRShraXJrd29vZF91YXJ0MV9yZXNvdXJjZXMpLAorfTsKKwordm9pZCBfX2luaXQga2lya3dvb2RfdWFydDFfaW5pdCh2b2lkKQoreworCXBsYXRmb3JtX2RldmljZV9yZWdpc3Rlcigma2lya3dvb2RfdWFydDEpOworfQorCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogVGltZSBoYW5kbGluZworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitzdGF0aWMgdm9pZCBraXJrd29vZF90aW1lcl9pbml0KHZvaWQpCit7CisJb3Jpb25fdGltZV9pbml0KElSUV9LSVJLV09PRF9CUklER0UsIEtJUktXT09EX1RDTEspOworfQorCitzdHJ1Y3Qgc3lzX3RpbWVyIGtpcmt3b29kX3RpbWVyID0geworCS5pbml0ID0ga2lya3dvb2RfdGltZXJfaW5pdCwKK307CisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBHZW5lcmFsCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3N0YXRpYyBjaGFyICogX19pbml0IGtpcmt3b29kX2lkKHZvaWQpCit7CisJc3dpdGNoIChyZWFkbChERVZJQ0VfSUQpICYgMHgzKSB7CisJY2FzZSAwOgorCQlyZXR1cm4gIjg4RjYxODAiOworCWNhc2UgMToKKwkJcmV0dXJuICI4OEY2MTkyIjsKKwljYXNlIDI6CisJCXJldHVybiAiODhGNjI4MSI7CisJfQorCisJcmV0dXJuICJ1bmtub3duIDg4RjYwMDAgdmFyaWFudCI7Cit9CisKK3N0YXRpYyBpbnQgX19pbml0IGlzX2wyX3dyaXRldGhyb3VnaCh2b2lkKQoreworCXJldHVybiAhIShyZWFkbChMMl9DT05GSUdfUkVHKSAmIEwyX1dSSVRFVEhST1VHSCk7Cit9CisKK3ZvaWQgX19pbml0IGtpcmt3b29kX2luaXQodm9pZCkKK3sKKwlwcmludGsoS0VSTl9JTkZPICJLaXJrd29vZDogJXMsIFRDTEs9JWQuXG4iLAorCQlraXJrd29vZF9pZCgpLCBLSVJLV09PRF9UQ0xLKTsKKworCWtpcmt3b29kX3NldHVwX2NwdV9tYnVzKCk7CisKKyNpZmRlZiBDT05GSUdfQ0FDSEVfRkVST0NFT05fTDIKKwlmZXJvY2Vvbl9sMl9pbml0KGlzX2wyX3dyaXRldGhyb3VnaCgpKTsKKyNlbmRpZgorfQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1raXJrd29vZC9jb21tb24uaCBiL2FyY2gvYXJtL21hY2gta2lya3dvb2QvY29tbW9uLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWRlZTJmNgotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gta2lya3dvb2QvY29tbW9uLmgKQEAgLTAsMCArMSw0MiBAQAorLyoKKyAqIGFyY2gvYXJtL21hY2gta2lya3dvb2QvY29tbW9uLmgKKyAqCisgKiBDb3JlIGZ1bmN0aW9ucyBmb3IgTWFydmVsbCBLaXJrd29vZCBTb0NzCisgKgorICogVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIHZlcnNpb24gMi4gIFRoaXMgcHJvZ3JhbSBpcyBsaWNlbnNlZCAiYXMgaXMiIHdpdGhvdXQgYW55CisgKiB3YXJyYW50eSBvZiBhbnkga2luZCwgd2hldGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKi8KKworI2lmbmRlZiBfX0FSQ0hfS0lSS1dPT0RfQ09NTU9OX0gKKyNkZWZpbmUgX19BUkNIX0tJUktXT09EX0NPTU1PTl9ICisKK3N0cnVjdCBtdjY0M3h4X2V0aF9wbGF0Zm9ybV9kYXRhOworc3RydWN0IG12X3NhdGFfcGxhdGZvcm1fZGF0YTsKKworLyoKKyAqIEJhc2ljIEtpcmt3b29kIGluaXQgZnVuY3Rpb25zIHVzZWQgZWFybHkgYnkgbWFjaGluZS1zZXR1cC4KKyAqLwordm9pZCBraXJrd29vZF9tYXBfaW8odm9pZCk7Cit2b2lkIGtpcmt3b29kX2luaXQodm9pZCk7Cit2b2lkIGtpcmt3b29kX2luaXRfaXJxKHZvaWQpOworCitleHRlcm4gc3RydWN0IG1idXNfZHJhbV90YXJnZXRfaW5mbyBraXJrd29vZF9tYnVzX2RyYW1faW5mbzsKK3ZvaWQga2lya3dvb2Rfc2V0dXBfY3B1X21idXModm9pZCk7Cit2b2lkIGtpcmt3b29kX3NldHVwX3BjaWVfaW9fd2luKGludCB3aW5kb3csIHUzMiBiYXNlLCB1MzIgc2l6ZSwKKwkJCQlpbnQgbWFqLCBpbnQgbWluKTsKK3ZvaWQga2lya3dvb2Rfc2V0dXBfcGNpZV9tZW1fd2luKGludCB3aW5kb3csIHUzMiBiYXNlLCB1MzIgc2l6ZSwKKwkJCQkgaW50IG1haiwgaW50IG1pbik7CisKK3ZvaWQga2lya3dvb2RfZWhjaV9pbml0KHZvaWQpOwordm9pZCBraXJrd29vZF9nZTAwX2luaXQoc3RydWN0IG12NjQzeHhfZXRoX3BsYXRmb3JtX2RhdGEgKmV0aF9kYXRhKTsKK3ZvaWQga2lya3dvb2RfcGNpZV9pbml0KHZvaWQpOwordm9pZCBraXJrd29vZF9ydGNfaW5pdCh2b2lkKTsKK3ZvaWQga2lya3dvb2Rfc2F0YV9pbml0KHN0cnVjdCBtdl9zYXRhX3BsYXRmb3JtX2RhdGEgKnNhdGFfZGF0YSk7Cit2b2lkIGtpcmt3b29kX3VhcnQwX2luaXQodm9pZCk7Cit2b2lkIGtpcmt3b29kX3VhcnQxX2luaXQodm9pZCk7CisKK2V4dGVybiBzdHJ1Y3Qgc3lzX3RpbWVyIGtpcmt3b29kX3RpbWVyOworCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1raXJrd29vZC9kYjg4ZjYyODEtYnAtc2V0dXAuYyBiL2FyY2gvYXJtL21hY2gta2lya3dvb2QvZGI4OGY2MjgxLWJwLXNldHVwLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDVjNDgyYwotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gta2lya3dvb2QvZGI4OGY2MjgxLWJwLXNldHVwLmMKQEAgLTAsMCArMSw2OCBAQAorLyoKKyAqIGFyY2gvYXJtL21hY2gta2lya3dvb2QvZGI4OGY2MjgxLWJwLXNldHVwLmMKKyAqCisgKiBNYXJ2ZWxsIERCLTg4RjYyODEtQlAgRGV2ZWxvcG1lbnQgQm9hcmQgU2V0dXAKKyAqCisgKiBUaGlzIGZpbGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgdmVyc2lvbiAyLiAgVGhpcyBwcm9ncmFtIGlzIGxpY2Vuc2VkICJhcyBpcyIgd2l0aG91dCBhbnkKKyAqIHdhcnJhbnR5IG9mIGFueSBraW5kLCB3aGV0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqLworCisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L3BjaS5oPgorI2luY2x1ZGUgPGxpbnV4L2lycS5oPgorI2luY2x1ZGUgPGxpbnV4L210ZC9waHlzbWFwLmg+CisjaW5jbHVkZSA8bGludXgvbXRkL25hbmQuaD4KKyNpbmNsdWRlIDxsaW51eC90aW1lci5oPgorI2luY2x1ZGUgPGxpbnV4L2F0YV9wbGF0Zm9ybS5oPgorI2luY2x1ZGUgPGxpbnV4L212NjQzeHhfZXRoLmg+CisjaW5jbHVkZSA8YXNtL21hY2gtdHlwZXMuaD4KKyNpbmNsdWRlIDxhc20vbWFjaC9hcmNoLmg+CisjaW5jbHVkZSA8YXNtL21hY2gvcGNpLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gva2lya3dvb2QuaD4KKyNpbmNsdWRlICJjb21tb24uaCIKKworc3RhdGljIHN0cnVjdCBtdjY0M3h4X2V0aF9wbGF0Zm9ybV9kYXRhIGRiODhmNjI4MV9nZTAwX2RhdGEgPSB7CisJLnBoeV9hZGRyCT0gOCwKK307CisKK3N0YXRpYyBzdHJ1Y3QgbXZfc2F0YV9wbGF0Zm9ybV9kYXRhIGRiODhmNjI4MV9zYXRhX2RhdGEgPSB7CisJLm5fcG9ydHMJPSAyLAorfTsKKworc3RhdGljIHZvaWQgX19pbml0IGRiODhmNjI4MV9pbml0KHZvaWQpCit7CisJLyoKKwkgKiBCYXNpYyBzZXR1cC4gTmVlZHMgdG8gYmUgY2FsbGVkIGVhcmx5LgorCSAqLworCWtpcmt3b29kX2luaXQoKTsKKworCWtpcmt3b29kX2VoY2lfaW5pdCgpOworCWtpcmt3b29kX2dlMDBfaW5pdCgmZGI4OGY2MjgxX2dlMDBfZGF0YSk7CisJa2lya3dvb2RfcnRjX2luaXQoKTsKKwlraXJrd29vZF9zYXRhX2luaXQoJmRiODhmNjI4MV9zYXRhX2RhdGEpOworCWtpcmt3b29kX3VhcnQwX2luaXQoKTsKKwlraXJrd29vZF91YXJ0MV9pbml0KCk7Cit9CisKK3N0YXRpYyBpbnQgX19pbml0IGRiODhmNjI4MV9wY2lfaW5pdCh2b2lkKQoreworCWlmIChtYWNoaW5lX2lzX2RiODhmNjI4MV9icCgpKQorCQlraXJrd29vZF9wY2llX2luaXQoKTsKKworCXJldHVybiAwOworfQorc3Vic3lzX2luaXRjYWxsKGRiODhmNjI4MV9wY2lfaW5pdCk7CisKK01BQ0hJTkVfU1RBUlQoREI4OEY2MjgxX0JQLCAiTWFydmVsbCBEQi04OEY2MjgxLUJQIERldmVsb3BtZW50IEJvYXJkIikKKwkvKiBNYWludGFpbmVyOiBTYWVlZCBCaXNoYXJhIDxzYWVlZEBtYXJ2ZWxsLmNvbT4gKi8KKwkucGh5c19pbwk9IEtJUktXT09EX1JFR1NfUEhZU19CQVNFLAorCS5pb19wZ19vZmZzdAk9ICgoS0lSS1dPT0RfUkVHU19WSVJUX0JBU0UpID4+IDE4KSAmIDB4ZmZmYywKKwkuYm9vdF9wYXJhbXMJPSAweDAwMDAwMTAwLAorCS5pbml0X21hY2hpbmUJPSBkYjg4ZjYyODFfaW5pdCwKKwkubWFwX2lvCQk9IGtpcmt3b29kX21hcF9pbywKKwkuaW5pdF9pcnEJPSBraXJrd29vZF9pbml0X2lycSwKKwkudGltZXIJCT0gJmtpcmt3b29kX3RpbWVyLAorTUFDSElORV9FTkQKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gta2lya3dvb2QvaXJxLmMgYi9hcmNoL2FybS9tYWNoLWtpcmt3b29kL2lycS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMwMmJiMmMKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLWtpcmt3b29kL2lycS5jCkBAIC0wLDAgKzEsMjIgQEAKKy8qCisgKiBhcmNoL2FybS9tYWNoLWtpcmt3b29kL2lycS5jCisgKgorICogS2lya3dvb2QgSVJRIGhhbmRsaW5nLgorICoKKyAqIFRoaXMgZmlsZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSB2ZXJzaW9uIDIuICBUaGlzIHByb2dyYW0gaXMgbGljZW5zZWQgImFzIGlzIiB3aXRob3V0IGFueQorICogd2FycmFudHkgb2YgYW55IGtpbmQsIHdoZXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICovCisKKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvaXJxLmg+CisjaW5jbHVkZSA8bGludXgvaW8uaD4KKyNpbmNsdWRlIDxhc20vcGxhdC1vcmlvbi9pcnEuaD4KKyNpbmNsdWRlICJjb21tb24uaCIKKwordm9pZCBfX2luaXQga2lya3dvb2RfaW5pdF9pcnEodm9pZCkKK3sKKwlvcmlvbl9pcnFfaW5pdCgwLCAodm9pZCBfX2lvbWVtICopKElSUV9WSVJUX0JBU0UgKyBJUlFfTUFTS19MT1dfT0ZGKSk7CisJb3Jpb25faXJxX2luaXQoMzIsICh2b2lkIF9faW9tZW0gKikoSVJRX1ZJUlRfQkFTRSArIElSUV9NQVNLX0hJR0hfT0ZGKSk7Cit9CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLWtpcmt3b29kL3BjaWUuYyBiL2FyY2gvYXJtL21hY2gta2lya3dvb2QvcGNpZS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgyODJkMGYKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLWtpcmt3b29kL3BjaWUuYwpAQCAtMCwwICsxLDE4MCBAQAorLyoKKyAqIGFyY2gvYXJtL21hY2gta2lya3dvb2QvcGNpZS5jCisgKgorICogUENJZSBmdW5jdGlvbnMgZm9yIE1hcnZlbGwgS2lya3dvb2QgU29DcworICoKKyAqIFRoaXMgZmlsZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSB2ZXJzaW9uIDIuICBUaGlzIHByb2dyYW0gaXMgbGljZW5zZWQgImFzIGlzIiB3aXRob3V0IGFueQorICogd2FycmFudHkgb2YgYW55IGtpbmQsIHdoZXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICovCisKKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9wY2kuaD4KKyNpbmNsdWRlIDxsaW51eC9tYnVzLmg+CisjaW5jbHVkZSA8YXNtL21hY2gvcGNpLmg+CisjaW5jbHVkZSA8YXNtL3BsYXQtb3Jpb24vcGNpZS5oPgorI2luY2x1ZGUgImNvbW1vbi5oIgorCisKKyNkZWZpbmUgUENJRV9CQVNFCSgodm9pZCBfX2lvbWVtICopUENJRV9WSVJUX0JBU0UpCisKK3N0YXRpYyBpbnQgcGNpZV92YWxpZF9jb25maWcoaW50IGJ1cywgaW50IGRldikKK3sKKwkvKgorCSAqIERvbid0IGdvIG91dCB3aGVuIHRyeWluZyB0byBhY2Nlc3MgLS0KKwkgKiAxLiBub25leGlzdGluZyBkZXZpY2Ugb24gbG9jYWwgYnVzCisJICogMi4gd2hlcmUgdGhlcmUncyBubyBkZXZpY2UgY29ubmVjdGVkIChubyBsaW5rKQorCSAqLworCWlmIChidXMgPT0gMCAmJiBkZXYgPT0gMCkKKwkJcmV0dXJuIDE7CisKKwlpZiAoIW9yaW9uX3BjaWVfbGlua191cChQQ0lFX0JBU0UpKQorCQlyZXR1cm4gMDsKKworCWlmIChidXMgPT0gMCAmJiBkZXYgIT0gMSkKKwkJcmV0dXJuIDA7CisKKwlyZXR1cm4gMTsKK30KKworCisvKgorICogUENJZSBjb25maWcgY3ljbGVzIGFyZSBkb25lIGJ5IHByb2dyYW1taW5nIHRoZSBQQ0lFX0NPTkZfQUREUiByZWdpc3RlcgorICogYW5kIHRoZW4gcmVhZGluZyB0aGUgUENJRV9DT05GX0RBVEEgcmVnaXN0ZXIuIE5lZWQgdG8gbWFrZSBzdXJlIHRoZXNlCisgKiB0cmFuc2FjdGlvbnMgYXJlIGF0b21pYy4KKyAqLworc3RhdGljIERFRklORV9TUElOTE9DSyhraXJrd29vZF9wY2llX2xvY2spOworCitzdGF0aWMgaW50IHBjaWVfcmRfY29uZihzdHJ1Y3QgcGNpX2J1cyAqYnVzLCB1MzIgZGV2Zm4sIGludCB3aGVyZSwKKwkJCWludCBzaXplLCB1MzIgKnZhbCkKK3sKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCWludCByZXQ7CisKKwlpZiAocGNpZV92YWxpZF9jb25maWcoYnVzLT5udW1iZXIsIFBDSV9TTE9UKGRldmZuKSkgPT0gMCkgeworCQkqdmFsID0gMHhmZmZmZmZmZjsKKwkJcmV0dXJuIFBDSUJJT1NfREVWSUNFX05PVF9GT1VORDsKKwl9CisKKwlzcGluX2xvY2tfaXJxc2F2ZSgma2lya3dvb2RfcGNpZV9sb2NrLCBmbGFncyk7CisJcmV0ID0gb3Jpb25fcGNpZV9yZF9jb25mKFBDSUVfQkFTRSwgYnVzLCBkZXZmbiwgd2hlcmUsIHNpemUsIHZhbCk7CisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgma2lya3dvb2RfcGNpZV9sb2NrLCBmbGFncyk7CisKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgaW50IHBjaWVfd3JfY29uZihzdHJ1Y3QgcGNpX2J1cyAqYnVzLCB1MzIgZGV2Zm4sCisJCQlpbnQgd2hlcmUsIGludCBzaXplLCB1MzIgdmFsKQoreworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisJaW50IHJldDsKKworCWlmIChwY2llX3ZhbGlkX2NvbmZpZyhidXMtPm51bWJlciwgUENJX1NMT1QoZGV2Zm4pKSA9PSAwKQorCQlyZXR1cm4gUENJQklPU19ERVZJQ0VfTk9UX0ZPVU5EOworCisJc3Bpbl9sb2NrX2lycXNhdmUoJmtpcmt3b29kX3BjaWVfbG9jaywgZmxhZ3MpOworCXJldCA9IG9yaW9uX3BjaWVfd3JfY29uZihQQ0lFX0JBU0UsIGJ1cywgZGV2Zm4sIHdoZXJlLCBzaXplLCB2YWwpOworCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmtpcmt3b29kX3BjaWVfbG9jaywgZmxhZ3MpOworCisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIHN0cnVjdCBwY2lfb3BzIHBjaWVfb3BzID0geworCS5yZWFkID0gcGNpZV9yZF9jb25mLAorCS53cml0ZSA9IHBjaWVfd3JfY29uZiwKK307CisKKworc3RhdGljIGludCBraXJrd29vZF9wY2llX3NldHVwKGludCBuciwgc3RydWN0IHBjaV9zeXNfZGF0YSAqc3lzKQoreworCXN0cnVjdCByZXNvdXJjZSAqcmVzOworCisJLyoKKwkgKiBHZW5lcmljIFBDSWUgdW5pdCBzZXR1cC4KKwkgKi8KKwlvcmlvbl9wY2llX3NldHVwKFBDSUVfQkFTRSwgJmtpcmt3b29kX21idXNfZHJhbV9pbmZvKTsKKworCS8qCisJICogUmVxdWVzdCByZXNvdXJjZXMuCisJICovCisJcmVzID0ga3phbGxvYyhzaXplb2Yoc3RydWN0IHJlc291cmNlKSAqIDIsIEdGUF9LRVJORUwpOworCWlmICghcmVzKQorCQlwYW5pYygicGNpZV9zZXR1cCB1bmFibGUgdG8gYWxsb2MgcmVzb3VyY2VzIik7CisKKwkvKgorCSAqIElPUkVTT1VSQ0VfSU8KKwkgKi8KKwlyZXNbMF0ubmFtZSA9ICJQQ0llIEkvTyBTcGFjZSI7CisJcmVzWzBdLmZsYWdzID0gSU9SRVNPVVJDRV9JTzsKKwlyZXNbMF0uc3RhcnQgPSBLSVJLV09PRF9QQ0lFX0lPX1BIWVNfQkFTRTsKKwlyZXNbMF0uZW5kID0gcmVzWzBdLnN0YXJ0ICsgS0lSS1dPT0RfUENJRV9JT19TSVpFIC0gMTsKKwlpZiAocmVxdWVzdF9yZXNvdXJjZSgmaW9wb3J0X3Jlc291cmNlLCAmcmVzWzBdKSkKKwkJcGFuaWMoIlJlcXVlc3QgUENJZSBJTyByZXNvdXJjZSBmYWlsZWRcbiIpOworCXN5cy0+cmVzb3VyY2VbMF0gPSAmcmVzWzBdOworCisJLyoKKwkgKiBJT1JFU09VUkNFX01FTQorCSAqLworCXJlc1sxXS5uYW1lID0gIlBDSWUgTWVtb3J5IFNwYWNlIjsKKwlyZXNbMV0uZmxhZ3MgPSBJT1JFU09VUkNFX01FTTsKKwlyZXNbMV0uc3RhcnQgPSBLSVJLV09PRF9QQ0lFX01FTV9QSFlTX0JBU0U7CisJcmVzWzFdLmVuZCA9IHJlc1sxXS5zdGFydCArIEtJUktXT09EX1BDSUVfTUVNX1NJWkUgLSAxOworCWlmIChyZXF1ZXN0X3Jlc291cmNlKCZpb21lbV9yZXNvdXJjZSwgJnJlc1sxXSkpCisJCXBhbmljKCJSZXF1ZXN0IFBDSWUgTWVtb3J5IHJlc291cmNlIGZhaWxlZFxuIik7CisJc3lzLT5yZXNvdXJjZVsxXSA9ICZyZXNbMV07CisKKwlzeXMtPnJlc291cmNlWzJdID0gTlVMTDsKKwlzeXMtPmlvX29mZnNldCA9IDA7CisKKwlyZXR1cm4gMTsKK30KKworc3RhdGljIHZvaWQgX19kZXZpbml0IHJjX3BjaV9maXh1cChzdHJ1Y3QgcGNpX2RldiAqZGV2KQoreworCS8qCisJICogUHJldmVudCBlbnVtZXJhdGlvbiBvZiByb290IGNvbXBsZXguCisJICovCisJaWYgKGRldi0+YnVzLT5wYXJlbnQgPT0gTlVMTCAmJiBkZXYtPmRldmZuID09IDApIHsKKwkJaW50IGk7CisKKwkJZm9yIChpID0gMDsgaSA8IERFVklDRV9DT1VOVF9SRVNPVVJDRTsgaSsrKSB7CisJCQlkZXYtPnJlc291cmNlW2ldLnN0YXJ0ID0gMDsKKwkJCWRldi0+cmVzb3VyY2VbaV0uZW5kICAgPSAwOworCQkJZGV2LT5yZXNvdXJjZVtpXS5mbGFncyA9IDA7CisJCX0KKwl9Cit9CitERUNMQVJFX1BDSV9GSVhVUF9IRUFERVIoUENJX1ZFTkRPUl9JRF9NQVJWRUxMLCBQQ0lfQU5ZX0lELCByY19wY2lfZml4dXApOworCitzdGF0aWMgc3RydWN0IHBjaV9idXMgX19pbml0ICoKK2tpcmt3b29kX3BjaWVfc2Nhbl9idXMoaW50IG5yLCBzdHJ1Y3QgcGNpX3N5c19kYXRhICpzeXMpCit7CisJc3RydWN0IHBjaV9idXMgKmJ1czsKKworCWlmIChuciA9PSAwKSB7CisJCWJ1cyA9IHBjaV9zY2FuX2J1cyhzeXMtPmJ1c25yLCAmcGNpZV9vcHMsIHN5cyk7CisJfSBlbHNlIHsKKwkJYnVzID0gTlVMTDsKKwkJQlVHKCk7CisJfQorCisJcmV0dXJuIGJ1czsKK30KKworc3RhdGljIGludCBfX2luaXQga2lya3dvb2RfcGNpZV9tYXBfaXJxKHN0cnVjdCBwY2lfZGV2ICpkZXYsIHU4IHNsb3QsIHU4IHBpbikKK3sKKwlyZXR1cm4gSVJRX0tJUktXT09EX1BDSUU7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgaHdfcGNpIGtpcmt3b29kX3BjaSBfX2luaXRkYXRhID0geworCS5ucl9jb250cm9sbGVycwk9IDEsCisJLnN3aXp6bGUJPSBwY2lfc3RkX3N3aXp6bGUsCisJLnNldHVwCQk9IGtpcmt3b29kX3BjaWVfc2V0dXAsCisJLnNjYW4JCT0ga2lya3dvb2RfcGNpZV9zY2FuX2J1cywKKwkubWFwX2lycQk9IGtpcmt3b29kX3BjaWVfbWFwX2lycSwKK307CisKK3ZvaWQgX19pbml0IGtpcmt3b29kX3BjaWVfaW5pdCh2b2lkKQoreworCXBjaV9jb21tb25faW5pdCgma2lya3dvb2RfcGNpKTsKK30KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gta2lya3dvb2QvcmQ4OGY2MTkyLW5hcy1zZXR1cC5jIGIvYXJjaC9hcm0vbWFjaC1raXJrd29vZC9yZDg4ZjYxOTItbmFzLXNldHVwLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmNmNjQyYwotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gta2lya3dvb2QvcmQ4OGY2MTkyLW5hcy1zZXR1cC5jCkBAIC0wLDAgKzEsNjkgQEAKKy8qCisgKiBhcmNoL2FybS9tYWNoLWtpcmt3b29kL3JkODhmNjE5Mi1uYXMtc2V0dXAuYworICoKKyAqIE1hcnZlbGwgUkQtODhGNjE5Mi1OQVMgUmVmZXJlbmNlIEJvYXJkIFNldHVwCisgKgorICogVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIHZlcnNpb24gMi4gIFRoaXMgcHJvZ3JhbSBpcyBsaWNlbnNlZCAiYXMgaXMiIHdpdGhvdXQgYW55CisgKiB3YXJyYW50eSBvZiBhbnkga2luZCwgd2hldGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9wY2kuaD4KKyNpbmNsdWRlIDxsaW51eC9pcnEuaD4KKyNpbmNsdWRlIDxsaW51eC9tdGQvcGh5c21hcC5oPgorI2luY2x1ZGUgPGxpbnV4L210ZC9uYW5kLmg+CisjaW5jbHVkZSA8bGludXgvdGltZXIuaD4KKyNpbmNsdWRlIDxsaW51eC9hdGFfcGxhdGZvcm0uaD4KKyNpbmNsdWRlIDxsaW51eC9tdjY0M3h4X2V0aC5oPgorI2luY2x1ZGUgPGFzbS9tYWNoLXR5cGVzLmg+CisjaW5jbHVkZSA8YXNtL21hY2gvYXJjaC5oPgorI2luY2x1ZGUgPGFzbS9tYWNoL3BjaS5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2tpcmt3b29kLmg+CisjaW5jbHVkZSAiY29tbW9uLmgiCisKKyNkZWZpbmUgUkQ4OEY2MTkyX0dQSU9fVVNCX1ZCVVMJCTEwCisKK3N0YXRpYyBzdHJ1Y3QgbXY2NDN4eF9ldGhfcGxhdGZvcm1fZGF0YSByZDg4ZjYxOTJfZ2UwMF9kYXRhID0geworCS5waHlfYWRkcgk9IDgsCit9OworCitzdGF0aWMgc3RydWN0IG12X3NhdGFfcGxhdGZvcm1fZGF0YSByZDg4ZjYxOTJfc2F0YV9kYXRhID0geworCS5uX3BvcnRzCT0gMiwKK307CisKK3N0YXRpYyB2b2lkIF9faW5pdCByZDg4ZjYxOTJfaW5pdCh2b2lkKQoreworCS8qCisJICogQmFzaWMgc2V0dXAuIE5lZWRzIHRvIGJlIGNhbGxlZCBlYXJseS4KKwkgKi8KKwlraXJrd29vZF9pbml0KCk7CisKKwlraXJrd29vZF9laGNpX2luaXQoKTsKKwlraXJrd29vZF9nZTAwX2luaXQoJnJkODhmNjE5Ml9nZTAwX2RhdGEpOworCWtpcmt3b29kX3J0Y19pbml0KCk7CisJa2lya3dvb2Rfc2F0YV9pbml0KCZyZDg4ZjYxOTJfc2F0YV9kYXRhKTsKKwlraXJrd29vZF91YXJ0MF9pbml0KCk7Cit9CisKK3N0YXRpYyBpbnQgX19pbml0IHJkODhmNjE5Ml9wY2lfaW5pdCh2b2lkKQoreworCWlmIChtYWNoaW5lX2lzX3JkODhmNjE5Ml9uYXMoKSkKKwkJa2lya3dvb2RfcGNpZV9pbml0KCk7CisKKwlyZXR1cm4gMDsKK30KK3N1YnN5c19pbml0Y2FsbChyZDg4ZjYxOTJfcGNpX2luaXQpOworCitNQUNISU5FX1NUQVJUKFJEODhGNjE5Ml9OQVMsICJNYXJ2ZWxsIFJELTg4RjYxOTItTkFTIERldmVsb3BtZW50IEJvYXJkIikKKwkvKiBNYWludGFpbmVyOiBTYWVlZCBCaXNoYXJhIDxzYWVlZEBtYXJ2ZWxsLmNvbT4gKi8KKwkucGh5c19pbwk9IEtJUktXT09EX1JFR1NfUEhZU19CQVNFLAorCS5pb19wZ19vZmZzdAk9ICgoS0lSS1dPT0RfUkVHU19WSVJUX0JBU0UpID4+IDE4KSAmIDB4ZmZmYywKKwkuYm9vdF9wYXJhbXMJPSAweDAwMDAwMTAwLAorCS5pbml0X21hY2hpbmUJPSByZDg4ZjYxOTJfaW5pdCwKKwkubWFwX2lvCQk9IGtpcmt3b29kX21hcF9pbywKKwkuaW5pdF9pcnEJPSBraXJrd29vZF9pbml0X2lycSwKKwkudGltZXIJCT0gJmtpcmt3b29kX3RpbWVyLAorTUFDSElORV9FTkQKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gta2lya3dvb2QvcmQ4OGY2MjgxLXNldHVwLmMgYi9hcmNoL2FybS9tYWNoLWtpcmt3b29kL3JkODhmNjI4MS1zZXR1cC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUxZjhkZTIKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLWtpcmt3b29kL3JkODhmNjI4MS1zZXR1cC5jCkBAIC0wLDAgKzEsMTEzIEBACisvKgorICogYXJjaC9hcm0vbWFjaC1raXJrd29vZC9yZDg4ZjYyODEtc2V0dXAuYworICoKKyAqIE1hcnZlbGwgUkQtODhGNjI4MSBSZWZlcmVuY2UgQm9hcmQgU2V0dXAKKyAqCisgKiBUaGlzIGZpbGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgdmVyc2lvbiAyLiAgVGhpcyBwcm9ncmFtIGlzIGxpY2Vuc2VkICJhcyBpcyIgd2l0aG91dCBhbnkKKyAqIHdhcnJhbnR5IG9mIGFueSBraW5kLCB3aGV0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqLworCisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L3BjaS5oPgorI2luY2x1ZGUgPGxpbnV4L2lycS5oPgorI2luY2x1ZGUgPGxpbnV4L210ZC9waHlzbWFwLmg+CisjaW5jbHVkZSA8bGludXgvbXRkL25hbmQuaD4KKyNpbmNsdWRlIDxsaW51eC90aW1lci5oPgorI2luY2x1ZGUgPGxpbnV4L2F0YV9wbGF0Zm9ybS5oPgorI2luY2x1ZGUgPGxpbnV4L212NjQzeHhfZXRoLmg+CisjaW5jbHVkZSA8YXNtL21hY2gtdHlwZXMuaD4KKyNpbmNsdWRlIDxhc20vbWFjaC9hcmNoLmg+CisjaW5jbHVkZSA8YXNtL21hY2gvcGNpLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gva2lya3dvb2QuaD4KKyNpbmNsdWRlIDxhc20vcGxhdC1vcmlvbi9vcmlvbl9uYW5kLmg+CisjaW5jbHVkZSAiY29tbW9uLmgiCisKK3N0YXRpYyBzdHJ1Y3QgbXRkX3BhcnRpdGlvbiByZDg4ZjYyODFfbmFuZF9wYXJ0c1tdID0geworCXsKKwkJLm5hbWUgPSAidS1ib290IiwKKwkJLm9mZnNldCA9IDAsCisJCS5zaXplID0gU1pfMU0KKwl9LCB7CisJCS5uYW1lID0gInVJbWFnZSIsCisJCS5vZmZzZXQgPSBNVERQQVJUX09GU19OWFRCTEssCisJCS5zaXplID0gU1pfMk0KKwl9LCB7CisJCS5uYW1lID0gInJvb3QiLAorCQkub2Zmc2V0ID0gTVREUEFSVF9PRlNfTlhUQkxLLAorCQkuc2l6ZSA9IE1URFBBUlRfU0laX0ZVTEwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSByZDg4ZjYyODFfbmFuZF9yZXNvdXJjZSA9IHsKKwkuZmxhZ3MJCT0gSU9SRVNPVVJDRV9NRU0sCisJLnN0YXJ0CQk9IEtJUktXT09EX05BTkRfTUVNX1BIWVNfQkFTRSwKKwkuZW5kCQk9IEtJUktXT09EX05BTkRfTUVNX1BIWVNfQkFTRSArCisJCQkgIEtJUktXT09EX05BTkRfTUVNX1NJWkUgLSAxLAorfTsKKworc3RhdGljIHN0cnVjdCBvcmlvbl9uYW5kX2RhdGEgcmQ4OGY2MjgxX25hbmRfZGF0YSA9IHsKKwkucGFydHMJCT0gcmQ4OGY2MjgxX25hbmRfcGFydHMsCisJLm5yX3BhcnRzCT0gQVJSQVlfU0laRShyZDg4ZjYyODFfbmFuZF9wYXJ0cyksCisJLmNsZQkJPSAwLAorCS5hbGUJCT0gMSwKKwkud2lkdGgJCT0gOCwKKwkuY2hpcF9kZWxheQk9IDI1LAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgcmQ4OGY2MjgxX25hbmRfZmxhc2ggPSB7CisJLm5hbWUJCT0gIm9yaW9uX25hbmQiLAorCS5pZAkJPSAtMSwKKwkuZGV2CQk9IHsKKwkJLnBsYXRmb3JtX2RhdGEJPSAmcmQ4OGY2MjgxX25hbmRfZGF0YSwKKwl9LAorCS5yZXNvdXJjZQk9ICZyZDg4ZjYyODFfbmFuZF9yZXNvdXJjZSwKKwkubnVtX3Jlc291cmNlcwk9IDEsCit9OworCitzdGF0aWMgc3RydWN0IG12NjQzeHhfZXRoX3BsYXRmb3JtX2RhdGEgcmQ4OGY2MjgxX2dlMDBfZGF0YSA9IHsKKwkucGh5X2FkZHIJPSAtMSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgbXZfc2F0YV9wbGF0Zm9ybV9kYXRhIHJkODhmNjI4MV9zYXRhX2RhdGEgPSB7CisJLm5fcG9ydHMJPSAyLAorfTsKKworc3RhdGljIHZvaWQgX19pbml0IHJkODhmNjI4MV9pbml0KHZvaWQpCit7CisJLyoKKwkgKiBCYXNpYyBzZXR1cC4gTmVlZHMgdG8gYmUgY2FsbGVkIGVhcmx5LgorCSAqLworCWtpcmt3b29kX2luaXQoKTsKKworCWtpcmt3b29kX2VoY2lfaW5pdCgpOworCWtpcmt3b29kX2dlMDBfaW5pdCgmcmQ4OGY2MjgxX2dlMDBfZGF0YSk7CisJa2lya3dvb2RfcnRjX2luaXQoKTsKKwlraXJrd29vZF9zYXRhX2luaXQoJnJkODhmNjI4MV9zYXRhX2RhdGEpOworCWtpcmt3b29kX3VhcnQwX2luaXQoKTsKKwlraXJrd29vZF91YXJ0MV9pbml0KCk7CisKKwlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJnJkODhmNjI4MV9uYW5kX2ZsYXNoKTsKK30KKworc3RhdGljIGludCBfX2luaXQgcmQ4OGY2MjgxX3BjaV9pbml0KHZvaWQpCit7CisJaWYgKG1hY2hpbmVfaXNfcmQ4OGY2MjgxKCkpCisJCWtpcmt3b29kX3BjaWVfaW5pdCgpOworCisJcmV0dXJuIDA7Cit9CitzdWJzeXNfaW5pdGNhbGwocmQ4OGY2MjgxX3BjaV9pbml0KTsKKworTUFDSElORV9TVEFSVChSRDg4RjYyODEsICJNYXJ2ZWxsIFJELTg4RjYyODEgUmVmZXJlbmNlIEJvYXJkIikKKwkvKiBNYWludGFpbmVyOiBTYWVlZCBCaXNoYXJhIDxzYWVlZEBtYXJ2ZWxsLmNvbT4gKi8KKwkucGh5c19pbwk9IEtJUktXT09EX1JFR1NfUEhZU19CQVNFLAorCS5pb19wZ19vZmZzdAk9ICgoS0lSS1dPT0RfUkVHU19WSVJUX0JBU0UpID4+IDE4KSAmIDB4ZmZmYywKKwkuYm9vdF9wYXJhbXMJPSAweDAwMDAwMTAwLAorCS5pbml0X21hY2hpbmUJPSByZDg4ZjYyODFfaW5pdCwKKwkubWFwX2lvCQk9IGtpcmt3b29kX21hcF9pbywKKwkuaW5pdF9pcnEJPSBraXJrd29vZF9pbml0X2lycSwKKwkudGltZXIJCT0gJmtpcmt3b29kX3RpbWVyLAorTUFDSElORV9FTkQKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtbG9raS9LY29uZmlnIGIvYXJjaC9hcm0vbWFjaC1sb2tpL0tjb25maWcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDA0NWJkZAotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gtbG9raS9LY29uZmlnCkBAIC0wLDAgKzEsMTMgQEAKK2lmIEFSQ0hfTE9LSQorCittZW51ICJNYXJ2ZWxsIExva2kgKDg4UkM4NDgwKSBJbXBsZW1lbnRhdGlvbnMiCisKK2NvbmZpZyBNQUNIX0xCODhSQzg0ODAKKwlib29sICJNYXJ2ZWxsIExCODhSQzg0ODAgRGV2ZWxvcG1lbnQgQm9hcmQiCisJaGVscAorCSAgU2F5ICdZJyBoZXJlIGlmIHlvdSB3YW50IHlvdXIga2VybmVsIHRvIHN1cHBvcnQgdGhlCisJICBNYXJ2ZWxsIExCODhSQzg0ODAgRGV2ZWxvcG1lbnQgQm9hcmQuCisKK2VuZG1lbnUKKworZW5kaWYKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtbG9raS9NYWtlZmlsZSBiL2FyY2gvYXJtL21hY2gtbG9raS9NYWtlZmlsZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNDMyMzNlCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vbWFjaC1sb2tpL01ha2VmaWxlCkBAIC0wLDAgKzEsMyBAQAorb2JqLXkJCQkJKz0gY29tbW9uLm8gYWRkci1tYXAubyBpcnEubworCitvYmotJChDT05GSUdfTUFDSF9MQjg4UkM4NDgwKQkrPSBsYjg4cmM4NDgwLXNldHVwLm8KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtbG9raS9NYWtlZmlsZS5ib290IGIvYXJjaC9hcm0vbWFjaC1sb2tpL01ha2VmaWxlLmJvb3QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjcwMzljMwotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gtbG9raS9NYWtlZmlsZS5ib290CkBAIC0wLDAgKzEsMyBAQAorICAgenJlbGFkZHIteQk6PSAweDAwMDA4MDAwCitwYXJhbXNfcGh5cy15CTo9IDB4MDAwMDAxMDAKK2luaXRyZF9waHlzLXkJOj0gMHgwMDgwMDAwMApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1sb2tpL2FkZHItbWFwLmMgYi9hcmNoL2FybS9tYWNoLWxva2kvYWRkci1tYXAuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYTI1ZTU2Ci0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vbWFjaC1sb2tpL2FkZHItbWFwLmMKQEAgLTAsMCArMSwxMjEgQEAKKy8qCisgKiBhcmNoL2FybS9tYWNoLWxva2kvYWRkci1tYXAuYworICoKKyAqIEFkZHJlc3MgbWFwIGZ1bmN0aW9ucyBmb3IgTWFydmVsbCBMb2tpICg4OFJDODQ4MCkgU29DcworICoKKyAqIFRoaXMgZmlsZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSB2ZXJzaW9uIDIuICBUaGlzIHByb2dyYW0gaXMgbGljZW5zZWQgImFzIGlzIiB3aXRob3V0IGFueQorICogd2FycmFudHkgb2YgYW55IGtpbmQsIHdoZXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICovCisKKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvbWJ1cy5oPgorI2luY2x1ZGUgPGFzbS9oYXJkd2FyZS5oPgorI2luY2x1ZGUgPGFzbS9pby5oPgorI2luY2x1ZGUgImNvbW1vbi5oIgorCisvKgorICogR2VuZXJpYyBBZGRyZXNzIERlY29kZSBXaW5kb3dzIGJpdCBzZXR0aW5ncworICovCisjZGVmaW5lIFRBUkdFVF9ERFIJCTAKKyNkZWZpbmUgVEFSR0VUX0RFVl9CVVMJCTEKKyNkZWZpbmUgVEFSR0VUX1BDSUUwCQkzCisjZGVmaW5lIFRBUkdFVF9QQ0lFMQkJNAorI2RlZmluZSBBVFRSX0RFVl9CT09UCQkweDBmCisjZGVmaW5lIEFUVFJfREVWX0NTMgkJMHgxYgorI2RlZmluZSBBVFRSX0RFVl9DUzEJCTB4MWQKKyNkZWZpbmUgQVRUUl9ERVZfQ1MwCQkweDFlCisjZGVmaW5lIEFUVFJfUENJRV9JTwkJMHg1MQorI2RlZmluZSBBVFRSX1BDSUVfTUVNCQkweDU5CisKKy8qCisgKiBIZWxwZXJzIHRvIGdldCBERFIgYmFuayBpbmZvCisgKi8KKyNkZWZpbmUgRERSX1NJWkVfQ1MobikJCUREUl9SRUcoMHgxNTAwICsgKChuKSA8PCAzKSkKKyNkZWZpbmUgRERSX0JBU0VfQ1MobikJCUREUl9SRUcoMHgxNTA0ICsgKChuKSA8PCAzKSkKKworLyoKKyAqIENQVSBBZGRyZXNzIERlY29kZSBXaW5kb3dzIHJlZ2lzdGVycworICovCisjZGVmaW5lIENQVV9XSU5fQ1RSTChuKQkJQlJJREdFX1JFRygweDAwMCB8ICgobikgPDwgNCkpCisjZGVmaW5lIENQVV9XSU5fQkFTRShuKQkJQlJJREdFX1JFRygweDAwNCB8ICgobikgPDwgNCkpCisjZGVmaW5lIENQVV9XSU5fUkVNQVBfTE8obikJQlJJREdFX1JFRygweDAwOCB8ICgobikgPDwgNCkpCisjZGVmaW5lIENQVV9XSU5fUkVNQVBfSEkobikJQlJJREdFX1JFRygweDAwYyB8ICgobikgPDwgNCkpCisKKworc3RydWN0IG1idXNfZHJhbV90YXJnZXRfaW5mbyBsb2tpX21idXNfZHJhbV9pbmZvOworCitzdGF0aWMgdm9pZCBfX2luaXQgc2V0dXBfY3B1X3dpbihpbnQgd2luLCB1MzIgYmFzZSwgdTMyIHNpemUsCisJCQkJIHU4IHRhcmdldCwgdTggYXR0ciwgaW50IHJlbWFwKQoreworCXUzMiBjdHJsOworCisJYmFzZSAmPSAweGZmZmYwMDAwOworCWN0cmwgPSAoKHNpemUgLSAxKSAmIDB4ZmZmZjAwMDApIHwgKGF0dHIgPDwgOCkgfCAoMSA8PCA1KSB8IHRhcmdldDsKKworCXdyaXRlbChiYXNlLCBDUFVfV0lOX0JBU0Uod2luKSk7CisJd3JpdGVsKGN0cmwsIENQVV9XSU5fQ1RSTCh3aW4pKTsKKwlpZiAod2luIDwgMikgeworCQlpZiAocmVtYXAgPCAwKQorCQkJcmVtYXAgPSBiYXNlOworCisJCXdyaXRlbChyZW1hcCAmIDB4ZmZmZjAwMDAsIENQVV9XSU5fUkVNQVBfTE8od2luKSk7CisJCXdyaXRlbCgwLCBDUFVfV0lOX1JFTUFQX0hJKHdpbikpOworCX0KK30KKwordm9pZCBfX2luaXQgbG9raV9zZXR1cF9jcHVfbWJ1cyh2b2lkKQoreworCWludCBpOworCWludCBjczsKKworCS8qCisJICogRmlyc3QsIGRpc2FibGUgYW5kIGNsZWFyIHdpbmRvd3MuCisJICovCisJZm9yIChpID0gMDsgaSA8IDg7IGkrKykgeworCQl3cml0ZWwoMCwgQ1BVX1dJTl9CQVNFKGkpKTsKKwkJd3JpdGVsKDAsIENQVV9XSU5fQ1RSTChpKSk7CisJCWlmIChpIDwgMikgeworCQkJd3JpdGVsKDAsIENQVV9XSU5fUkVNQVBfTE8oaSkpOworCQkJd3JpdGVsKDAsIENQVV9XSU5fUkVNQVBfSEkoaSkpOworCQl9CisJfQorCisJLyoKKwkgKiBTZXR1cCB3aW5kb3dzIGZvciBQQ0llIElPK01FTSBzcGFjZS4KKwkgKi8KKwlzZXR1cF9jcHVfd2luKDIsIExPS0lfUENJRTBfTUVNX1BIWVNfQkFTRSwgTE9LSV9QQ0lFMF9NRU1fU0laRSwKKwkJICAgICAgVEFSR0VUX1BDSUUwLCBBVFRSX1BDSUVfTUVNLCAtMSk7CisJc2V0dXBfY3B1X3dpbigzLCBMT0tJX1BDSUUxX01FTV9QSFlTX0JBU0UsIExPS0lfUENJRTFfTUVNX1NJWkUsCisJCSAgICAgIFRBUkdFVF9QQ0lFMSwgQVRUUl9QQ0lFX01FTSwgLTEpOworCisJLyoKKwkgKiBTZXR1cCBNQlVTIGRyYW0gdGFyZ2V0IGluZm8uCisJICovCisJbG9raV9tYnVzX2RyYW1faW5mby5tYnVzX2RyYW1fdGFyZ2V0X2lkID0gVEFSR0VUX0REUjsKKworCWZvciAoaSA9IDAsIGNzID0gMDsgaSA8IDQ7IGkrKykgeworCQl1MzIgYmFzZSA9IHJlYWRsKEREUl9CQVNFX0NTKGkpKTsKKwkJdTMyIHNpemUgPSByZWFkbChERFJfU0laRV9DUyhpKSk7CisKKwkJLyoKKwkJICogQ2hpcCBzZWxlY3QgZW5hYmxlZD8KKwkJICovCisJCWlmIChzaXplICYgMSkgeworCQkJc3RydWN0IG1idXNfZHJhbV93aW5kb3cgKnc7CisKKwkJCXcgPSAmbG9raV9tYnVzX2RyYW1faW5mby5jc1tjcysrXTsKKwkJCXctPmNzX2luZGV4ID0gaTsKKwkJCXctPm1idXNfYXR0ciA9IDB4ZiAmIH4oMSA8PCBpKTsKKwkJCXctPmJhc2UgPSBiYXNlICYgMHhmZmZmMDAwMDsKKwkJCXctPnNpemUgPSAoc2l6ZSB8IDB4MDAwMGZmZmYpICsgMTsKKwkJfQorCX0KKwlsb2tpX21idXNfZHJhbV9pbmZvLm51bV9jcyA9IGNzOworfQorCit2b2lkIF9faW5pdCBsb2tpX3NldHVwX2Rldl9ib290X3dpbih1MzIgYmFzZSwgdTMyIHNpemUpCit7CisJc2V0dXBfY3B1X3dpbig0LCBiYXNlLCBzaXplLCBUQVJHRVRfREVWX0JVUywgQVRUUl9ERVZfQk9PVCwgLTEpOworfQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1sb2tpL2NvbW1vbi5jIGIvYXJjaC9hcm0vbWFjaC1sb2tpL2NvbW1vbi5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQxMGY1MDMKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLWxva2kvY29tbW9uLmMKQEAgLTAsMCArMSwzMDUgQEAKKy8qCisgKiBhcmNoL2FybS9tYWNoLWxva2kvY29tbW9uLmMKKyAqCisgKiBDb3JlIGZ1bmN0aW9ucyBmb3IgTWFydmVsbCBMb2tpICg4OFJDODQ4MCkgU29DcworICoKKyAqIFRoaXMgZmlsZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSB2ZXJzaW9uIDIuICBUaGlzIHByb2dyYW0gaXMgbGljZW5zZWQgImFzIGlzIiB3aXRob3V0IGFueQorICogd2FycmFudHkgb2YgYW55IGtpbmQsIHdoZXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICovCisKKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CisjaW5jbHVkZSA8bGludXgvc2VyaWFsXzgyNTAuaD4KKyNpbmNsdWRlIDxsaW51eC9tYnVzLmg+CisjaW5jbHVkZSA8bGludXgvbXY2NDN4eF9ldGguaD4KKyNpbmNsdWRlIDxhc20vcGFnZS5oPgorI2luY2x1ZGUgPGFzbS90aW1leC5oPgorI2luY2x1ZGUgPGFzbS9tYWNoL21hcC5oPgorI2luY2x1ZGUgPGFzbS9tYWNoL3RpbWUuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9sb2tpLmg+CisjaW5jbHVkZSA8YXNtL3BsYXQtb3Jpb24vb3Jpb25fbmFuZC5oPgorI2luY2x1ZGUgPGFzbS9wbGF0LW9yaW9uL3RpbWUuaD4KKyNpbmNsdWRlICJjb21tb24uaCIKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBJL08gQWRkcmVzcyBNYXBwaW5nCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3N0YXRpYyBzdHJ1Y3QgbWFwX2Rlc2MgbG9raV9pb19kZXNjW10gX19pbml0ZGF0YSA9IHsKKwl7CisJCS52aXJ0dWFsCT0gTE9LSV9SRUdTX1ZJUlRfQkFTRSwKKwkJLnBmbgkJPSBfX3BoeXNfdG9fcGZuKExPS0lfUkVHU19QSFlTX0JBU0UpLAorCQkubGVuZ3RoCQk9IExPS0lfUkVHU19TSVpFLAorCQkudHlwZQkJPSBNVF9ERVZJQ0UsCisJfSwKK307CisKK3ZvaWQgX19pbml0IGxva2lfbWFwX2lvKHZvaWQpCit7CisJaW90YWJsZV9pbml0KGxva2lfaW9fZGVzYywgQVJSQVlfU0laRShsb2tpX2lvX2Rlc2MpKTsKK30KKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEdFMAorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitzdHJ1Y3QgbXY2NDN4eF9ldGhfc2hhcmVkX3BsYXRmb3JtX2RhdGEgbG9raV9nZTBfc2hhcmVkX2RhdGEgPSB7CisJLnRfY2xrCQk9IExPS0lfVENMSywKKwkuZHJhbQkJPSAmbG9raV9tYnVzX2RyYW1faW5mbywKK307CisKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgbG9raV9nZTBfc2hhcmVkX3Jlc291cmNlc1tdID0geworCXsKKwkJLm5hbWUJPSAiZ2UwIGJhc2UiLAorCQkuc3RhcnQJPSBHRTBfUEhZU19CQVNFICsgMHgyMDAwLAorCQkuZW5kCT0gR0UwX1BIWVNfQkFTRSArIDB4M2ZmZiwKKwkJLmZsYWdzCT0gSU9SRVNPVVJDRV9NRU0sCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIGxva2lfZ2UwX3NoYXJlZCA9IHsKKwkubmFtZQkJPSBNVjY0M1hYX0VUSF9TSEFSRURfTkFNRSwKKwkuaWQJCT0gMCwKKwkuZGV2CQk9IHsKKwkJLnBsYXRmb3JtX2RhdGEJPSAmbG9raV9nZTBfc2hhcmVkX2RhdGEsCisJfSwKKwkubnVtX3Jlc291cmNlcwk9IDEsCisJLnJlc291cmNlCT0gbG9raV9nZTBfc2hhcmVkX3Jlc291cmNlcywKK307CisKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgbG9raV9nZTBfcmVzb3VyY2VzW10gPSB7CisJeworCQkubmFtZQk9ICJnZTAgaXJxIiwKKwkJLnN0YXJ0CT0gSVJRX0xPS0lfR0JFX0FfSU5ULAorCQkuZW5kCT0gSVJRX0xPS0lfR0JFX0FfSU5ULAorCQkuZmxhZ3MJPSBJT1JFU09VUkNFX0lSUSwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgbG9raV9nZTAgPSB7CisJLm5hbWUJCT0gTVY2NDNYWF9FVEhfTkFNRSwKKwkuaWQJCT0gMCwKKwkubnVtX3Jlc291cmNlcwk9IDEsCisJLnJlc291cmNlCT0gbG9raV9nZTBfcmVzb3VyY2VzLAorfTsKKwordm9pZCBfX2luaXQgbG9raV9nZTBfaW5pdChzdHJ1Y3QgbXY2NDN4eF9ldGhfcGxhdGZvcm1fZGF0YSAqZXRoX2RhdGEpCit7CisJZXRoX2RhdGEtPnNoYXJlZCA9ICZsb2tpX2dlMF9zaGFyZWQ7CisJbG9raV9nZTAuZGV2LnBsYXRmb3JtX2RhdGEgPSBldGhfZGF0YTsKKworCXdyaXRlbCgweDAwMDc5MjIwLCBHRTBfVklSVF9CQVNFICsgMHgyMGIwKTsKKwlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJmxva2lfZ2UwX3NoYXJlZCk7CisJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZsb2tpX2dlMCk7Cit9CisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBHRTEKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworc3RydWN0IG12NjQzeHhfZXRoX3NoYXJlZF9wbGF0Zm9ybV9kYXRhIGxva2lfZ2UxX3NoYXJlZF9kYXRhID0geworCS50X2NsawkJPSBMT0tJX1RDTEssCisJLmRyYW0JCT0gJmxva2lfbWJ1c19kcmFtX2luZm8sCit9OworCitzdGF0aWMgc3RydWN0IHJlc291cmNlIGxva2lfZ2UxX3NoYXJlZF9yZXNvdXJjZXNbXSA9IHsKKwl7CisJCS5uYW1lCT0gImdlMSBiYXNlIiwKKwkJLnN0YXJ0CT0gR0UxX1BIWVNfQkFTRSArIDB4MjAwMCwKKwkJLmVuZAk9IEdFMV9QSFlTX0JBU0UgKyAweDNmZmYsCisJCS5mbGFncwk9IElPUkVTT1VSQ0VfTUVNLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBsb2tpX2dlMV9zaGFyZWQgPSB7CisJLm5hbWUJCT0gTVY2NDNYWF9FVEhfU0hBUkVEX05BTUUsCisJLmlkCQk9IDEsCisJLmRldgkJPSB7CisJCS5wbGF0Zm9ybV9kYXRhCT0gJmxva2lfZ2UxX3NoYXJlZF9kYXRhLAorCX0sCisJLm51bV9yZXNvdXJjZXMJPSAxLAorCS5yZXNvdXJjZQk9IGxva2lfZ2UxX3NoYXJlZF9yZXNvdXJjZXMsCit9OworCitzdGF0aWMgc3RydWN0IHJlc291cmNlIGxva2lfZ2UxX3Jlc291cmNlc1tdID0geworCXsKKwkJLm5hbWUJPSAiZ2UxIGlycSIsCisJCS5zdGFydAk9IElSUV9MT0tJX0dCRV9CX0lOVCwKKwkJLmVuZAk9IElSUV9MT0tJX0dCRV9CX0lOVCwKKwkJLmZsYWdzCT0gSU9SRVNPVVJDRV9JUlEsCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIGxva2lfZ2UxID0geworCS5uYW1lCQk9IE1WNjQzWFhfRVRIX05BTUUsCisJLmlkCQk9IDEsCisJLm51bV9yZXNvdXJjZXMJPSAxLAorCS5yZXNvdXJjZQk9IGxva2lfZ2UxX3Jlc291cmNlcywKK307CisKK3ZvaWQgX19pbml0IGxva2lfZ2UxX2luaXQoc3RydWN0IG12NjQzeHhfZXRoX3BsYXRmb3JtX2RhdGEgKmV0aF9kYXRhKQoreworCWV0aF9kYXRhLT5zaGFyZWQgPSAmbG9raV9nZTFfc2hhcmVkOworCWxva2lfZ2UxLmRldi5wbGF0Zm9ybV9kYXRhID0gZXRoX2RhdGE7CisKKwl3cml0ZWwoMHgwMDA3OTIyMCwgR0UxX1ZJUlRfQkFTRSArIDB4MjBiMCk7CisJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZsb2tpX2dlMV9zaGFyZWQpOworCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmbG9raV9nZTEpOworfQorCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogU0FTL1NBVEEKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworc3RhdGljIHN0cnVjdCByZXNvdXJjZSBsb2tpX3Nhc19yZXNvdXJjZXNbXSA9IHsKKwl7CisJCS5uYW1lCT0gIm12c2FzMCBtZW0iLAorCQkuc3RhcnQJPSBTQVMwX1BIWVNfQkFTRSwKKwkJLmVuZAk9IFNBUzBfUEhZU19CQVNFICsgMHgwMWZmLAorCQkuZmxhZ3MJPSBJT1JFU09VUkNFX01FTSwKKwl9LCB7CisJCS5uYW1lCT0gIm12c2FzMCBpcnEiLAorCQkuc3RhcnQJPSBJUlFfTE9LSV9TQVNfQSwKKwkJLmVuZAk9IElSUV9MT0tJX1NBU19BLAorCQkuZmxhZ3MJPSBJT1JFU09VUkNFX0lSUSwKKwl9LCB7CisJCS5uYW1lCT0gIm12c2FzMSBtZW0iLAorCQkuc3RhcnQJPSBTQVMxX1BIWVNfQkFTRSwKKwkJLmVuZAk9IFNBUzFfUEhZU19CQVNFICsgMHgwMWZmLAorCQkuZmxhZ3MJPSBJT1JFU09VUkNFX01FTSwKKwl9LCB7CisJCS5uYW1lCT0gIm12c2FzMSBpcnEiLAorCQkuc3RhcnQJPSBJUlFfTE9LSV9TQVNfQiwKKwkJLmVuZAk9IElSUV9MT0tJX1NBU19CLAorCQkuZmxhZ3MJPSBJT1JFU09VUkNFX0lSUSwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgbG9raV9zYXMgPSB7CisJLm5hbWUJCT0gIm12c2FzIiwKKwkuaWQJCT0gMCwKKwkuZGV2CQk9IHsKKwkJLmNvaGVyZW50X2RtYV9tYXNrCT0gMHhmZmZmZmZmZiwKKwl9LAorCS5udW1fcmVzb3VyY2VzCT0gQVJSQVlfU0laRShsb2tpX3Nhc19yZXNvdXJjZXMpLAorCS5yZXNvdXJjZQk9IGxva2lfc2FzX3Jlc291cmNlcywKK307CisKK3ZvaWQgX19pbml0IGxva2lfc2FzX2luaXQodm9pZCkKK3sKKwl3cml0ZWwoMHg4MzAwZjcwNywgRERSX1JFRygweDE0MjQpKTsKKwlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJmxva2lfc2FzKTsKK30KKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFVBUlQwCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3N0YXRpYyBzdHJ1Y3QgcGxhdF9zZXJpYWw4MjUwX3BvcnQgbG9raV91YXJ0MF9kYXRhW10gPSB7CisJeworCQkubWFwYmFzZQk9IFVBUlQwX1BIWVNfQkFTRSwKKwkJLm1lbWJhc2UJPSAoY2hhciAqKVVBUlQwX1ZJUlRfQkFTRSwKKwkJLmlycQkJPSBJUlFfTE9LSV9VQVJUMCwKKwkJLmZsYWdzCQk9IFVQRl9TS0lQX1RFU1QgfCBVUEZfQk9PVF9BVVRPQ09ORiwKKwkJLmlvdHlwZQkJPSBVUElPX01FTSwKKwkJLnJlZ3NoaWZ0CT0gMiwKKwkJLnVhcnRjbGsJPSBMT0tJX1RDTEssCisJfSwgeworCX0sCit9OworCitzdGF0aWMgc3RydWN0IHJlc291cmNlIGxva2lfdWFydDBfcmVzb3VyY2VzW10gPSB7CisJeworCQkuc3RhcnQJCT0gVUFSVDBfUEhZU19CQVNFLAorCQkuZW5kCQk9IFVBUlQwX1BIWVNfQkFTRSArIDB4ZmYsCisJCS5mbGFncwkJPSBJT1JFU09VUkNFX01FTSwKKwl9LCB7CisJCS5zdGFydAkJPSBJUlFfTE9LSV9VQVJUMCwKKwkJLmVuZAkJPSBJUlFfTE9LSV9VQVJUMCwKKwkJLmZsYWdzCQk9IElPUkVTT1VSQ0VfSVJRLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBsb2tpX3VhcnQwID0geworCS5uYW1lCQkJPSAic2VyaWFsODI1MCIsCisJLmlkCQkJPSAwLAorCS5kZXYJCQk9IHsKKwkJLnBsYXRmb3JtX2RhdGEJPSBsb2tpX3VhcnQwX2RhdGEsCisJfSwKKwkucmVzb3VyY2UJCT0gbG9raV91YXJ0MF9yZXNvdXJjZXMsCisJLm51bV9yZXNvdXJjZXMJCT0gQVJSQVlfU0laRShsb2tpX3VhcnQwX3Jlc291cmNlcyksCit9OworCit2b2lkIF9faW5pdCBsb2tpX3VhcnQwX2luaXQodm9pZCkKK3sKKwlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJmxva2lfdWFydDApOworfQorCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogVUFSVDEKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworc3RhdGljIHN0cnVjdCBwbGF0X3NlcmlhbDgyNTBfcG9ydCBsb2tpX3VhcnQxX2RhdGFbXSA9IHsKKwl7CisJCS5tYXBiYXNlCT0gVUFSVDFfUEhZU19CQVNFLAorCQkubWVtYmFzZQk9IChjaGFyICopVUFSVDFfVklSVF9CQVNFLAorCQkuaXJxCQk9IElSUV9MT0tJX1VBUlQxLAorCQkuZmxhZ3MJCT0gVVBGX1NLSVBfVEVTVCB8IFVQRl9CT09UX0FVVE9DT05GLAorCQkuaW90eXBlCQk9IFVQSU9fTUVNLAorCQkucmVnc2hpZnQJPSAyLAorCQkudWFydGNsawk9IExPS0lfVENMSywKKwl9LCB7CisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgbG9raV91YXJ0MV9yZXNvdXJjZXNbXSA9IHsKKwl7CisJCS5zdGFydAkJPSBVQVJUMV9QSFlTX0JBU0UsCisJCS5lbmQJCT0gVUFSVDFfUEhZU19CQVNFICsgMHhmZiwKKwkJLmZsYWdzCQk9IElPUkVTT1VSQ0VfTUVNLAorCX0sIHsKKwkJLnN0YXJ0CQk9IElSUV9MT0tJX1VBUlQxLAorCQkuZW5kCQk9IElSUV9MT0tJX1VBUlQxLAorCQkuZmxhZ3MJCT0gSU9SRVNPVVJDRV9JUlEsCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIGxva2lfdWFydDEgPSB7CisJLm5hbWUJCQk9ICJzZXJpYWw4MjUwIiwKKwkuaWQJCQk9IDEsCisJLmRldgkJCT0geworCQkucGxhdGZvcm1fZGF0YQk9IGxva2lfdWFydDFfZGF0YSwKKwl9LAorCS5yZXNvdXJjZQkJPSBsb2tpX3VhcnQxX3Jlc291cmNlcywKKwkubnVtX3Jlc291cmNlcwkJPSBBUlJBWV9TSVpFKGxva2lfdWFydDFfcmVzb3VyY2VzKSwKK307CisKK3ZvaWQgX19pbml0IGxva2lfdWFydDFfaW5pdCh2b2lkKQoreworCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmbG9raV91YXJ0MSk7Cit9CisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBUaW1lIGhhbmRsaW5nCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3N0YXRpYyB2b2lkIGxva2lfdGltZXJfaW5pdCh2b2lkKQoreworCW9yaW9uX3RpbWVfaW5pdChJUlFfTE9LSV9CUklER0UsIExPS0lfVENMSyk7Cit9CisKK3N0cnVjdCBzeXNfdGltZXIgbG9raV90aW1lciA9IHsKKwkuaW5pdCA9IGxva2lfdGltZXJfaW5pdCwKK307CisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBHZW5lcmFsCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3ZvaWQgX19pbml0IGxva2lfaW5pdCh2b2lkKQoreworCXByaW50ayhLRVJOX0lORk8gIkxva2kgSUQ6IDg4UkM4NDgwLiBUQ0xLPSVkLlxuIiwgTE9LSV9UQ0xLKTsKKworCWxva2lfc2V0dXBfY3B1X21idXMoKTsKK30KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtbG9raS9jb21tb24uaCBiL2FyY2gvYXJtL21hY2gtbG9raS9jb21tb24uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNjA1NGZkCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vbWFjaC1sb2tpL2NvbW1vbi5oCkBAIC0wLDAgKzEsMzYgQEAKKy8qCisgKiBhcmNoL2FybS9tYWNoLWxva2kvY29tbW9uLmgKKyAqCisgKiBDb3JlIGZ1bmN0aW9ucyBmb3IgTWFydmVsbCBMb2tpICg4OFJDODQ4MCkgU29DcworICoKKyAqIFRoaXMgZmlsZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSB2ZXJzaW9uIDIuICBUaGlzIHByb2dyYW0gaXMgbGljZW5zZWQgImFzIGlzIiB3aXRob3V0IGFueQorICogd2FycmFudHkgb2YgYW55IGtpbmQsIHdoZXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICovCisKKyNpZm5kZWYgX19BUkNIX0xPS0lfQ09NTU9OX0gKKyNkZWZpbmUgX19BUkNIX0xPS0lfQ09NTU9OX0gKKworc3RydWN0IG12NjQzeHhfZXRoX3BsYXRmb3JtX2RhdGE7CisKKy8qCisgKiBCYXNpYyBMb2tpIGluaXQgZnVuY3Rpb25zIHVzZWQgZWFybHkgYnkgbWFjaGluZS1zZXR1cC4KKyAqLwordm9pZCBsb2tpX21hcF9pbyh2b2lkKTsKK3ZvaWQgbG9raV9pbml0KHZvaWQpOwordm9pZCBsb2tpX2luaXRfaXJxKHZvaWQpOworCitleHRlcm4gc3RydWN0IG1idXNfZHJhbV90YXJnZXRfaW5mbyBsb2tpX21idXNfZHJhbV9pbmZvOwordm9pZCBsb2tpX3NldHVwX2NwdV9tYnVzKHZvaWQpOwordm9pZCBsb2tpX3NldHVwX2Rldl9ib290X3dpbih1MzIgYmFzZSwgdTMyIHNpemUpOworCit2b2lkIGxva2lfZ2UwX2luaXQoc3RydWN0IG12NjQzeHhfZXRoX3BsYXRmb3JtX2RhdGEgKmV0aF9kYXRhKTsKK3ZvaWQgbG9raV9nZTFfaW5pdChzdHJ1Y3QgbXY2NDN4eF9ldGhfcGxhdGZvcm1fZGF0YSAqZXRoX2RhdGEpOwordm9pZCBsb2tpX3Nhc19pbml0KHZvaWQpOwordm9pZCBsb2tpX3VhcnQwX2luaXQodm9pZCk7Cit2b2lkIGxva2lfdWFydDFfaW5pdCh2b2lkKTsKKworZXh0ZXJuIHN0cnVjdCBzeXNfdGltZXIgbG9raV90aW1lcjsKKworCisjZW5kaWYKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtbG9raS9pcnEuYyBiL2FyY2gvYXJtL21hY2gtbG9raS9pcnEuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kODM5YWY5Ci0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vbWFjaC1sb2tpL2lycS5jCkBAIC0wLDAgKzEsMjEgQEAKKy8qCisgKiBhcmNoL2FybS9tYWNoLWxva2kvaXJxLmMKKyAqCisgKiBNYXJ2ZWxsIExva2kgKDg4UkM4NDgwKSBJUlEgaGFuZGxpbmcuCisgKgorICogVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIHZlcnNpb24gMi4gIFRoaXMgcHJvZ3JhbSBpcyBsaWNlbnNlZCAiYXMgaXMiIHdpdGhvdXQgYW55CisgKiB3YXJyYW50eSBvZiBhbnkga2luZCwgd2hldGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9pcnEuaD4KKyNpbmNsdWRlIDxhc20vaW8uaD4KKyNpbmNsdWRlIDxhc20vcGxhdC1vcmlvbi9pcnEuaD4KKyNpbmNsdWRlICJjb21tb24uaCIKKwordm9pZCBfX2luaXQgbG9raV9pbml0X2lycSh2b2lkKQoreworCW9yaW9uX2lycV9pbml0KDAsICh2b2lkIF9faW9tZW0gKikoSVJRX1ZJUlRfQkFTRSArIElSUV9NQVNLX09GRikpOworfQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1sb2tpL2xiODhyYzg0ODAtc2V0dXAuYyBiL2FyY2gvYXJtL21hY2gtbG9raS9sYjg4cmM4NDgwLXNldHVwLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDFiOWU2ZQotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gtbG9raS9sYjg4cmM4NDgwLXNldHVwLmMKQEAgLTAsMCArMSwxMDAgQEAKKy8qCisgKiBhcmNoL2FybS9tYWNoLWxva2kvbGI4OHJjODQ4MC1zZXR1cC5jCisgKgorICogTWFydmVsbCBMQjg4UkM4NDgwIERldmVsb3BtZW50IEJvYXJkIFNldHVwCisgKgorICogVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIHZlcnNpb24gMi4gIFRoaXMgcHJvZ3JhbSBpcyBsaWNlbnNlZCAiYXMgaXMiIHdpdGhvdXQgYW55CisgKiB3YXJyYW50eSBvZiBhbnkga2luZCwgd2hldGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9pcnEuaD4KKyNpbmNsdWRlIDxsaW51eC9tdGQvcGh5c21hcC5oPgorI2luY2x1ZGUgPGxpbnV4L210ZC9uYW5kLmg+CisjaW5jbHVkZSA8bGludXgvdGltZXIuaD4KKyNpbmNsdWRlIDxsaW51eC9hdGFfcGxhdGZvcm0uaD4KKyNpbmNsdWRlIDxsaW51eC9tdjY0M3h4X2V0aC5oPgorI2luY2x1ZGUgPGFzbS9tYWNoLXR5cGVzLmg+CisjaW5jbHVkZSA8YXNtL21hY2gvYXJjaC5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2xva2kuaD4KKyNpbmNsdWRlICJjb21tb24uaCIKKworI2RlZmluZSBMQjg4UkM4NDgwX0ZMQVNIX0JPT1RfQ1NfQkFTRQkweGY4MDAwMDAwCisjZGVmaW5lIExCODhSQzg0ODBfRkxBU0hfQk9PVF9DU19TSVpFCVNaXzEyOE0KKworI2RlZmluZSBMQjg4UkM4NDgwX05PUl9CT09UX0JBU0UJMHhmZjAwMDAwMAorI2RlZmluZSBMQjg4UkM4NDgwX05PUl9CT09UX1NJWkUJU1pfMTZNCisKK3N0YXRpYyBzdHJ1Y3QgbXRkX3BhcnRpdGlvbiBsYjg4cmM4NDgwX2Jvb3RfZmxhc2hfcGFydHNbXSA9IHsKKwl7CisJCS5uYW1lCT0gImtlcm5lbCIsCisJCS5vZmZzZXQJPSAwLAorCQkuc2l6ZQk9IFNaXzJNLAorCX0sIHsKKwkJLm5hbWUJPSAicm9vdC1mcyIsCisJCS5vZmZzZXQJPSBTWl8yTSwKKwkJLnNpemUJPSAoU1pfOE0gKyBTWl80TSArIFNaXzFNKSwKKwl9LCB7CisJCS5uYW1lCT0gInUtYm9vdCIsCisJCS5vZmZzZXQJPSAoU1pfOE0gKyBTWl80TSArIFNaXzJNICsgU1pfMU0pLAorCQkuc2l6ZQk9IFNaXzFNLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IHBoeXNtYXBfZmxhc2hfZGF0YSBsYjg4cmM4NDgwX2Jvb3RfZmxhc2hfZGF0YSA9IHsKKwkucGFydHMJCT0gbGI4OHJjODQ4MF9ib290X2ZsYXNoX3BhcnRzLAorCS5ucl9wYXJ0cwk9IEFSUkFZX1NJWkUobGI4OHJjODQ4MF9ib290X2ZsYXNoX3BhcnRzKSwKKwkud2lkdGgJCT0gMSwJLyogOCBiaXQgYnVzIHdpZHRoICovCit9OworCitzdGF0aWMgc3RydWN0IHJlc291cmNlIGxiODhyYzg0ODBfYm9vdF9mbGFzaF9yZXNvdXJjZSA9IHsKKwkuZmxhZ3MJPSBJT1JFU09VUkNFX01FTSwKKwkuc3RhcnQJPSBMQjg4UkM4NDgwX05PUl9CT09UX0JBU0UsCisJLmVuZAk9IExCODhSQzg0ODBfTk9SX0JPT1RfQkFTRSArIExCODhSQzg0ODBfTk9SX0JPT1RfU0laRSAtIDEsCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBsYjg4cmM4NDgwX2Jvb3RfZmxhc2ggPSB7CisJLm5hbWUJPSAicGh5c21hcC1mbGFzaCIsCisJLmlkCT0gMCwKKwkuZGV2CT0geworCQkucGxhdGZvcm1fZGF0YQk9ICZsYjg4cmM4NDgwX2Jvb3RfZmxhc2hfZGF0YSwKKwl9LAorCS5udW1fcmVzb3VyY2VzCT0gMSwKKwkucmVzb3VyY2UJPSAmbGI4OHJjODQ4MF9ib290X2ZsYXNoX3Jlc291cmNlLAorfTsKKworc3RhdGljIHN0cnVjdCBtdjY0M3h4X2V0aF9wbGF0Zm9ybV9kYXRhIGxiODhyYzg0ODBfZ2UwX2RhdGEgPSB7CisJLnBoeV9hZGRyCT0gMSwKKwkubWFjX2FkZHIJPSB7IDB4MDAsIDB4NTAsIDB4NDMsIDB4MTEsIDB4MjIsIDB4MzMgfSwKK307CisKK3N0YXRpYyB2b2lkIF9faW5pdCBsYjg4cmM4NDgwX2luaXQodm9pZCkKK3sKKwkvKgorCSAqIEJhc2ljIHNldHVwLiBOZWVkcyB0byBiZSBjYWxsZWQgZWFybHkuCisJICovCisJbG9raV9pbml0KCk7CisKKwlsb2tpX2dlMF9pbml0KCZsYjg4cmM4NDgwX2dlMF9kYXRhKTsKKwlsb2tpX3Nhc19pbml0KCk7CisJbG9raV91YXJ0MF9pbml0KCk7CisJbG9raV91YXJ0MV9pbml0KCk7CisKKwlsb2tpX3NldHVwX2Rldl9ib290X3dpbihMQjg4UkM4NDgwX0ZMQVNIX0JPT1RfQ1NfQkFTRSwKKwkJCQlMQjg4UkM4NDgwX0ZMQVNIX0JPT1RfQ1NfU0laRSk7CisJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZsYjg4cmM4NDgwX2Jvb3RfZmxhc2gpOworfQorCitNQUNISU5FX1NUQVJUKExCODhSQzg0ODAsICJNYXJ2ZWxsIExCODhSQzg0ODAgRGV2ZWxvcG1lbnQgQm9hcmQiKQorCS8qIE1haW50YWluZXI6IEtlIFdlaSA8a2V3ZWlAbWFydmVsbC5jb20+ICovCisJLnBoeXNfaW8JPSBMT0tJX1JFR1NfUEhZU19CQVNFLAorCS5pb19wZ19vZmZzdAk9ICgoTE9LSV9SRUdTX1ZJUlRfQkFTRSkgPj4gMTgpICYgMHhmZmZjLAorCS5ib290X3BhcmFtcwk9IDB4MDAwMDAxMDAsCisJLmluaXRfbWFjaGluZQk9IGxiODhyYzg0ODBfaW5pdCwKKwkubWFwX2lvCQk9IGxva2lfbWFwX2lvLAorCS5pbml0X2lycQk9IGxva2lfaW5pdF9pcnEsCisJLnRpbWVyCQk9ICZsb2tpX3RpbWVyLAorTUFDSElORV9FTkQKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtbXY3OHh4MC9LY29uZmlnIGIvYXJjaC9hcm0vbWFjaC1tdjc4eHgwL0tjb25maWcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDgzY2I4NgotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gtbXY3OHh4MC9LY29uZmlnCkBAIC0wLDAgKzEsMTMgQEAKK2lmIEFSQ0hfTVY3OFhYMAorCittZW51ICJNYXJ2ZWxsIE1WNzh4eDAgSW1wbGVtZW50YXRpb25zIgorCitjb25maWcgTUFDSF9EQjc4WDAwX0JQCisJYm9vbCAiTWFydmVsbCBEQi03OHgwMC1CUCBEZXZlbG9wbWVudCBCb2FyZCIKKwloZWxwCisJICBTYXkgJ1knIGhlcmUgaWYgeW91IHdhbnQgeW91ciBrZXJuZWwgdG8gc3VwcG9ydCB0aGUKKwkgIE1hcnZlbGwgREItNzh4MDAtQlAgRGV2ZWxvcG1lbnQgQm9hcmQuCisKK2VuZG1lbnUKKworZW5kaWYKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtbXY3OHh4MC9NYWtlZmlsZSBiL2FyY2gvYXJtL21hY2gtbXY3OHh4MC9NYWtlZmlsZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lYzE2YzA1Ci0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vbWFjaC1tdjc4eHgwL01ha2VmaWxlCkBAIC0wLDAgKzEsMiBAQAorb2JqLXkJCQkJKz0gY29tbW9uLm8gYWRkci1tYXAubyBpcnEubyBwY2llLm8KK29iai0kKENPTkZJR19NQUNIX0RCNzhYMDBfQlApCSs9IGRiNzh4MDAtYnAtc2V0dXAubwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1tdjc4eHgwL01ha2VmaWxlLmJvb3QgYi9hcmNoL2FybS9tYWNoLW12Nzh4eDAvTWFrZWZpbGUuYm9vdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NzAzOWMzCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vbWFjaC1tdjc4eHgwL01ha2VmaWxlLmJvb3QKQEAgLTAsMCArMSwzIEBACisgICB6cmVsYWRkci15CTo9IDB4MDAwMDgwMDAKK3BhcmFtc19waHlzLXkJOj0gMHgwMDAwMDEwMAoraW5pdHJkX3BoeXMteQk6PSAweDAwODAwMDAwCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW12Nzh4eDAvYWRkci1tYXAuYyBiL2FyY2gvYXJtL21hY2gtbXY3OHh4MC9hZGRyLW1hcC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQwMDRiNjcKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLW12Nzh4eDAvYWRkci1tYXAuYwpAQCAtMCwwICsxLDE1NiBAQAorLyoKKyAqIGFyY2gvYXJtL21hY2gtbXY3OHh4MC9hZGRyLW1hcC5jCisgKgorICogQWRkcmVzcyBtYXAgZnVuY3Rpb25zIGZvciBNYXJ2ZWxsIE1WNzh4eDAgU29DcworICoKKyAqIFRoaXMgZmlsZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSB2ZXJzaW9uIDIuICBUaGlzIHByb2dyYW0gaXMgbGljZW5zZWQgImFzIGlzIiB3aXRob3V0IGFueQorICogd2FycmFudHkgb2YgYW55IGtpbmQsIHdoZXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICovCisKKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvbWJ1cy5oPgorI2luY2x1ZGUgPGFzbS9pby5oPgorI2luY2x1ZGUgImNvbW1vbi5oIgorCisvKgorICogR2VuZXJpYyBBZGRyZXNzIERlY29kZSBXaW5kb3dzIGJpdCBzZXR0aW5ncworICovCisjZGVmaW5lIFRBUkdFVF9ERFIJCTAKKyNkZWZpbmUgVEFSR0VUX0RFVl9CVVMJCTEKKyNkZWZpbmUgVEFSR0VUX1BDSUUwCQk0CisjZGVmaW5lIFRBUkdFVF9QQ0lFMQkJOAorI2RlZmluZSBUQVJHRVRfUENJRShpKQkJKChpKSA/IFRBUkdFVF9QQ0lFMSA6IFRBUkdFVF9QQ0lFMCkKKyNkZWZpbmUgQVRUUl9ERVZfU1BJX1JPTQkweDFmCisjZGVmaW5lIEFUVFJfREVWX0JPT1QJCTB4MmYKKyNkZWZpbmUgQVRUUl9ERVZfQ1MzCQkweDM3CisjZGVmaW5lIEFUVFJfREVWX0NTMgkJMHgzYgorI2RlZmluZSBBVFRSX0RFVl9DUzEJCTB4M2QKKyNkZWZpbmUgQVRUUl9ERVZfQ1MwCQkweDNlCisjZGVmaW5lIEFUVFJfUENJRV9JTyhsKQkJKDB4ZjAgJiB+KDB4MTAgPDwgKGwpKSkKKyNkZWZpbmUgQVRUUl9QQ0lFX01FTShsKQkoMHhmOCAmIH4oMHgxMCA8PCAobCkpKQorCisvKgorICogSGVscGVycyB0byBnZXQgRERSIGJhbmsgaW5mbworICovCisjZGVmaW5lIEREUl9CQVNFX0NTX09GRihuKQkoMHgwMDAwICsgKChuKSA8PCAzKSkKKyNkZWZpbmUgRERSX1NJWkVfQ1NfT0ZGKG4pCSgweDAwMDQgKyAoKG4pIDw8IDMpKQorCisvKgorICogQ1BVIEFkZHJlc3MgRGVjb2RlIFdpbmRvd3MgcmVnaXN0ZXJzCisgKi8KKyNkZWZpbmUgV0lOMF9PRkYobikJCShCUklER0VfVklSVF9CQVNFICsgMHgwMDAwICsgKChuKSA8PCA0KSkKKyNkZWZpbmUgV0lOOF9PRkYobikJCShCUklER0VfVklSVF9CQVNFICsgMHgwOTAwICsgKCgobikgLSA4KSA8PCA0KSkKKyNkZWZpbmUgV0lOX0NUUkxfT0ZGCQkweDAwMDAKKyNkZWZpbmUgV0lOX0JBU0VfT0ZGCQkweDAwMDQKKyNkZWZpbmUgV0lOX1JFTUFQX0xPX09GRgkweDAwMDgKKyNkZWZpbmUgV0lOX1JFTUFQX0hJX09GRgkweDAwMGMKKworCitzdHJ1Y3QgbWJ1c19kcmFtX3RhcmdldF9pbmZvIG12Nzh4eDBfbWJ1c19kcmFtX2luZm87CisKK3N0YXRpYyB2b2lkIF9faW5pdCBfX2lvbWVtICp3aW5fY2ZnX2Jhc2UoaW50IHdpbikKK3sKKwkvKgorCSAqIEZpbmQgdGhlIGNvbnRyb2wgcmVnaXN0ZXIgYmFzZSBhZGRyZXNzIGZvciB0aGlzIHdpbmRvdy4KKwkgKgorCSAqIEJSSURHRV9WSVJUX0JBU0UgcG9pbnRzIHRvIHRoZSByaWdodCAoQ1BVMCdzIG9yIENQVTEncykKKwkgKiBNQlVTIGJyaWRnZSBkZXBlbmRpbmcgb24gd2hpY2ggQ1BVIGNvcmUgd2UncmUgcnVubmluZyBvbiwKKwkgKiBzbyB3ZSBkb24ndCBuZWVkIHRvIHRha2UgdGhhdCBpbnRvIGFjY291bnQgaGVyZS4KKwkgKi8KKworCXJldHVybiAodm9pZCBfX2lvbWVtICopKCh3aW4gPCA4KSA/IFdJTjBfT0ZGKHdpbikgOiBXSU44X09GRih3aW4pKTsKK30KKworc3RhdGljIGludCBfX2luaXQgY3B1X3dpbl9jYW5fcmVtYXAoaW50IHdpbikKK3sKKwlpZiAod2luIDwgOCkKKwkJcmV0dXJuIDE7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgX19pbml0IHNldHVwX2NwdV93aW4oaW50IHdpbiwgdTMyIGJhc2UsIHUzMiBzaXplLAorCQkJCSB1OCB0YXJnZXQsIHU4IGF0dHIsIGludCByZW1hcCkKK3sKKwl2b2lkIF9faW9tZW0gKmFkZHIgPSB3aW5fY2ZnX2Jhc2Uod2luKTsKKwl1MzIgY3RybDsKKworCWJhc2UgJj0gMHhmZmZmMDAwMDsKKwljdHJsID0gKChzaXplIC0gMSkgJiAweGZmZmYwMDAwKSB8IChhdHRyIDw8IDgpIHwgKHRhcmdldCA8PCA0KSB8IDE7CisKKwl3cml0ZWwoYmFzZSwgYWRkciArIFdJTl9CQVNFX09GRik7CisJd3JpdGVsKGN0cmwsIGFkZHIgKyBXSU5fQ1RSTF9PRkYpOworCWlmIChjcHVfd2luX2Nhbl9yZW1hcCh3aW4pKSB7CisJCWlmIChyZW1hcCA8IDApCisJCQlyZW1hcCA9IGJhc2U7CisKKwkJd3JpdGVsKHJlbWFwICYgMHhmZmZmMDAwMCwgYWRkciArIFdJTl9SRU1BUF9MT19PRkYpOworCQl3cml0ZWwoMCwgYWRkciArIFdJTl9SRU1BUF9ISV9PRkYpOworCX0KK30KKwordm9pZCBfX2luaXQgbXY3OHh4MF9zZXR1cF9jcHVfbWJ1cyh2b2lkKQoreworCXZvaWQgX19pb21lbSAqYWRkcjsKKwlpbnQgaTsKKwlpbnQgY3M7CisKKwkvKgorCSAqIEZpcnN0LCBkaXNhYmxlIGFuZCBjbGVhciB3aW5kb3dzLgorCSAqLworCWZvciAoaSA9IDA7IGkgPCAxNDsgaSsrKSB7CisJCWFkZHIgPSB3aW5fY2ZnX2Jhc2UoaSk7CisKKwkJd3JpdGVsKDAsIGFkZHIgKyBXSU5fQkFTRV9PRkYpOworCQl3cml0ZWwoMCwgYWRkciArIFdJTl9DVFJMX09GRik7CisJCWlmIChjcHVfd2luX2Nhbl9yZW1hcChpKSkgeworCQkJd3JpdGVsKDAsIGFkZHIgKyBXSU5fUkVNQVBfTE9fT0ZGKTsKKwkJCXdyaXRlbCgwLCBhZGRyICsgV0lOX1JFTUFQX0hJX09GRik7CisJCX0KKwl9CisKKwkvKgorCSAqIFNldHVwIE1CVVMgZHJhbSB0YXJnZXQgaW5mby4KKwkgKi8KKwltdjc4eHgwX21idXNfZHJhbV9pbmZvLm1idXNfZHJhbV90YXJnZXRfaWQgPSBUQVJHRVRfRERSOworCisJaWYgKG12Nzh4eDBfY29yZV9pbmRleCgpID09IDApCisJCWFkZHIgPSAodm9pZCBfX2lvbWVtICopRERSX1dJTkRPV19DUFUwX0JBU0U7CisJZWxzZQorCQlhZGRyID0gKHZvaWQgX19pb21lbSAqKUREUl9XSU5ET1dfQ1BVMV9CQVNFOworCisJZm9yIChpID0gMCwgY3MgPSAwOyBpIDwgNDsgaSsrKSB7CisJCXUzMiBiYXNlID0gcmVhZGwoYWRkciArIEREUl9CQVNFX0NTX09GRihpKSk7CisJCXUzMiBzaXplID0gcmVhZGwoYWRkciArIEREUl9TSVpFX0NTX09GRihpKSk7CisKKwkJLyoKKwkJICogQ2hpcCBzZWxlY3QgZW5hYmxlZD8KKwkJICovCisJCWlmIChzaXplICYgMSkgeworCQkJc3RydWN0IG1idXNfZHJhbV93aW5kb3cgKnc7CisKKwkJCXcgPSAmbXY3OHh4MF9tYnVzX2RyYW1faW5mby5jc1tjcysrXTsKKwkJCXctPmNzX2luZGV4ID0gaTsKKwkJCXctPm1idXNfYXR0ciA9IDB4ZiAmIH4oMSA8PCBpKTsKKwkJCXctPmJhc2UgPSBiYXNlICYgMHhmZmZmMDAwMDsKKwkJCXctPnNpemUgPSAoc2l6ZSB8IDB4MDAwMGZmZmYpICsgMTsKKwkJfQorCX0KKwltdjc4eHgwX21idXNfZHJhbV9pbmZvLm51bV9jcyA9IGNzOworfQorCit2b2lkIF9faW5pdCBtdjc4eHgwX3NldHVwX3BjaWVfaW9fd2luKGludCB3aW5kb3csIHUzMiBiYXNlLCB1MzIgc2l6ZSwKKwkJCQkgICAgICBpbnQgbWFqLCBpbnQgbWluKQoreworCXNldHVwX2NwdV93aW4od2luZG93LCBiYXNlLCBzaXplLCBUQVJHRVRfUENJRShtYWopLAorCQkgICAgICBBVFRSX1BDSUVfSU8obWluKSwgLTEpOworfQorCit2b2lkIF9faW5pdCBtdjc4eHgwX3NldHVwX3BjaWVfbWVtX3dpbihpbnQgd2luZG93LCB1MzIgYmFzZSwgdTMyIHNpemUsCisJCQkJICAgICAgIGludCBtYWosIGludCBtaW4pCit7CisJc2V0dXBfY3B1X3dpbih3aW5kb3csIGJhc2UsIHNpemUsIFRBUkdFVF9QQ0lFKG1haiksCisJCSAgICAgIEFUVFJfUENJRV9NRU0obWluKSwgLTEpOworfQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1tdjc4eHgwL2NvbW1vbi5jIGIvYXJjaC9hcm0vbWFjaC1tdjc4eHgwL2NvbW1vbi5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQyN2I4M2IKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLW12Nzh4eDAvY29tbW9uLmMKQEAgLTAsMCArMSw3NTQgQEAKKy8qCisgKiBhcmNoL2FybS9tYWNoLW12Nzh4eDAvY29tbW9uLmMKKyAqCisgKiBDb3JlIGZ1bmN0aW9ucyBmb3IgTWFydmVsbCBNVjc4eHgwIFNvQ3MKKyAqCisgKiBUaGlzIGZpbGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgdmVyc2lvbiAyLiAgVGhpcyBwcm9ncmFtIGlzIGxpY2Vuc2VkICJhcyBpcyIgd2l0aG91dCBhbnkKKyAqIHdhcnJhbnR5IG9mIGFueSBraW5kLCB3aGV0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqLworCisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L3NlcmlhbF84MjUwLmg+CisjaW5jbHVkZSA8bGludXgvbWJ1cy5oPgorI2luY2x1ZGUgPGxpbnV4L212NjQzeHhfZXRoLmg+CisjaW5jbHVkZSA8bGludXgvYXRhX3BsYXRmb3JtLmg+CisjaW5jbHVkZSA8YXNtL21hY2gvbWFwLmg+CisjaW5jbHVkZSA8YXNtL21hY2gvdGltZS5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL212Nzh4eDAuaD4KKyNpbmNsdWRlIDxhc20vcGxhdC1vcmlvbi9jYWNoZS1mZXJvY2Vvbi1sMi5oPgorI2luY2x1ZGUgPGFzbS9wbGF0LW9yaW9uL2VoY2ktb3Jpb24uaD4KKyNpbmNsdWRlIDxhc20vcGxhdC1vcmlvbi9vcmlvbl9uYW5kLmg+CisjaW5jbHVkZSA8YXNtL3BsYXQtb3Jpb24vdGltZS5oPgorI2luY2x1ZGUgImNvbW1vbi5oIgorCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29tbW9uIGJpdHMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworaW50IG12Nzh4eDBfY29yZV9pbmRleCh2b2lkKQoreworCXUzMiBleHRyYTsKKworCS8qCisJICogUmVhZCBFeHRyYSBGZWF0dXJlcyByZWdpc3Rlci4KKwkgKi8KKwlfX2FzbV9fKCJtcmMgcDE1LCAxLCAlMCwgYzE1LCBjMSwgMCIgOiAiPXIiIChleHRyYSkpOworCisJcmV0dXJuICEhKGV4dHJhICYgMHgwMDAwNDAwMCk7Cit9CisKK3N0YXRpYyBpbnQgZ2V0X2hjbGsodm9pZCkKK3sKKwlpbnQgaGNsazsKKworCS8qCisJICogSENMSyB0aWNrIHJhdGUgaXMgY29uZmlndXJlZCBieSBERVZfRFs3OjVdIHBpbnMuCisJICovCisJc3dpdGNoICgocmVhZGwoU0FNUExFX0FUX1JFU0VUX0xPVykgPj4gNSkgJiA3KSB7CisJY2FzZSAwOgorCQloY2xrID0gMTY2NjY2NjY3OworCQlicmVhazsKKwljYXNlIDE6CisJCWhjbGsgPSAyMDAwMDAwMDA7CisJCWJyZWFrOworCWNhc2UgMjoKKwkJaGNsayA9IDI2NjY2NjY2NzsKKwkJYnJlYWs7CisJY2FzZSAzOgorCQloY2xrID0gMzMzMzMzMzMzOworCQlicmVhazsKKwljYXNlIDQ6CisJCWhjbGsgPSA0MDAwMDAwMDA7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCXBhbmljKCJ1bmtub3duIEhDTEsgUExMIHNldHRpbmc6ICUuOHhcbiIsCisJCQlyZWFkbChTQU1QTEVfQVRfUkVTRVRfTE9XKSk7CisJfQorCisJcmV0dXJuIGhjbGs7Cit9CisKK3N0YXRpYyB2b2lkIGdldF9wY2xrX2wyY2xrKGludCBoY2xrLCBpbnQgY29yZV9pbmRleCwgaW50ICpwY2xrLCBpbnQgKmwyY2xrKQoreworCXUzMiBjZmc7CisKKwkvKgorCSAqIENvcmUgIzAgUENMSy9MMkNMSyBpcyBjb25maWd1cmVkIGJ5IGJpdHMgWzEzOjhdLCBjb3JlICMxCisJICogUENMSy9MMkNMSyBieSBiaXRzIFsxOToxNF0uCisJICovCisJaWYgKGNvcmVfaW5kZXggPT0gMCkgeworCQljZmcgPSAocmVhZGwoU0FNUExFX0FUX1JFU0VUX0xPVykgPj4gOCkgJiAweDNmOworCX0gZWxzZSB7CisJCWNmZyA9IChyZWFkbChTQU1QTEVfQVRfUkVTRVRfTE9XKSA+PiAxNCkgJiAweDNmOworCX0KKworCS8qCisJICogQml0cyBbMTE6OF0gKFsxNzoxNF0gZm9yIGNvcmUgIzEpIGNvbmZpZ3VyZSB0aGUgUENMSzpIQ0xLCisJICogcmF0aW8gKDEsIDEuNSwgMiwgMi41LCAzLCAzLjUsIDQsIDQuNSwgNSwgNS41LCA2KS4KKwkgKi8KKwkqcGNsayA9ICgodTY0KWhjbGsgKiAoMiArIChjZmcgJiAweGYpKSkgPj4gMTsKKworCS8qCisJICogQml0cyBbMTM6MTJdIChbMTk6MThdIGZvciBjb3JlICMxKSBjb25maWd1cmUgdGhlIFBDTEs6TDJDTEsKKwkgKiByYXRpbyAoMSwgMiwgMykuCisJICovCisJKmwyY2xrID0gKnBjbGsgLyAoKChjZmcgPj4gNCkgJiAzKSArIDEpOworfQorCitzdGF0aWMgaW50IGdldF90Y2xrKHZvaWQpCit7CisJaW50IHRjbGs7CisKKwkvKgorCSAqIFRDTEsgdGljayByYXRlIGlzIGNvbmZpZ3VyZWQgYnkgREVWX0FbMjowXSBzdHJhcCBwaW5zLgorCSAqLworCXN3aXRjaCAoKHJlYWRsKFNBTVBMRV9BVF9SRVNFVF9ISUdIKSA+PiA2KSAmIDcpIHsKKwljYXNlIDE6CisJCXRjbGsgPSAxNjY2NjY2Njc7CisJCWJyZWFrOworCWNhc2UgMzoKKwkJdGNsayA9IDIwMDAwMDAwMDsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJcGFuaWMoInVua25vd24gVENMSyBQTEwgc2V0dGluZzogJS44eFxuIiwKKwkJCXJlYWRsKFNBTVBMRV9BVF9SRVNFVF9ISUdIKSk7CisJfQorCisJcmV0dXJuIHRjbGs7Cit9CisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBJL08gQWRkcmVzcyBNYXBwaW5nCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3N0YXRpYyBzdHJ1Y3QgbWFwX2Rlc2MgbXY3OHh4MF9pb19kZXNjW10gX19pbml0ZGF0YSA9IHsKKwl7CisJCS52aXJ0dWFsCT0gTVY3OFhYMF9DT1JFX1JFR1NfVklSVF9CQVNFLAorCQkucGZuCQk9IDAsCisJCS5sZW5ndGgJCT0gTVY3OFhYMF9DT1JFX1JFR1NfU0laRSwKKwkJLnR5cGUJCT0gTVRfREVWSUNFLAorCX0sIHsKKwkJLnZpcnR1YWwJPSBNVjc4WFgwX1BDSUVfSU9fVklSVF9CQVNFKDApLAorCQkucGZuCQk9IF9fcGh5c190b19wZm4oTVY3OFhYMF9QQ0lFX0lPX1BIWVNfQkFTRSgwKSksCisJCS5sZW5ndGgJCT0gTVY3OFhYMF9QQ0lFX0lPX1NJWkUgKiA4LAorCQkudHlwZQkJPSBNVF9ERVZJQ0UsCisJfSwgeworCQkudmlydHVhbAk9IE1WNzhYWDBfUkVHU19WSVJUX0JBU0UsCisJCS5wZm4JCT0gX19waHlzX3RvX3BmbihNVjc4WFgwX1JFR1NfUEhZU19CQVNFKSwKKwkJLmxlbmd0aAkJPSBNVjc4WFgwX1JFR1NfU0laRSwKKwkJLnR5cGUJCT0gTVRfREVWSUNFLAorCX0sCit9OworCit2b2lkIF9faW5pdCBtdjc4eHgwX21hcF9pbyh2b2lkKQoreworCXVuc2lnbmVkIGxvbmcgcGh5czsKKworCS8qCisJICogTWFwIHRoZSByaWdodCBzZXQgb2YgcGVyLWNvcmUgcmVnaXN0ZXJzIGRlcGVuZGluZyBvbgorCSAqIHdoaWNoIGNvcmUgd2UgYXJlIHJ1bm5pbmcgb24uCisJICovCisJaWYgKG12Nzh4eDBfY29yZV9pbmRleCgpID09IDApIHsKKwkJcGh5cyA9IE1WNzhYWDBfQ09SRTBfUkVHU19QSFlTX0JBU0U7CisJfSBlbHNlIHsKKwkJcGh5cyA9IE1WNzhYWDBfQ09SRTFfUkVHU19QSFlTX0JBU0U7CisJfQorCW12Nzh4eDBfaW9fZGVzY1swXS5wZm4gPSBfX3BoeXNfdG9fcGZuKHBoeXMpOworCisJaW90YWJsZV9pbml0KG12Nzh4eDBfaW9fZGVzYywgQVJSQVlfU0laRShtdjc4eHgwX2lvX2Rlc2MpKTsKK30KKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEVIQ0kKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworc3RhdGljIHN0cnVjdCBvcmlvbl9laGNpX2RhdGEgbXY3OHh4MF9laGNpX2RhdGEgPSB7CisJLmRyYW0JCT0gJm12Nzh4eDBfbWJ1c19kcmFtX2luZm8sCit9OworCitzdGF0aWMgdTY0IGVoY2lfZG1hbWFzayA9IDB4ZmZmZmZmZmZVTDsKKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEVIQ0kwCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgbXY3OHh4MF9laGNpMF9yZXNvdXJjZXNbXSA9IHsKKwl7CisJCS5zdGFydAk9IFVTQjBfUEhZU19CQVNFLAorCQkuZW5kCT0gVVNCMF9QSFlTX0JBU0UgKyAweDBmZmYsCisJCS5mbGFncwk9IElPUkVTT1VSQ0VfTUVNLAorCX0sIHsKKwkJLnN0YXJ0CT0gSVJRX01WNzhYWDBfVVNCXzAsCisJCS5lbmQJPSBJUlFfTVY3OFhYMF9VU0JfMCwKKwkJLmZsYWdzCT0gSU9SRVNPVVJDRV9JUlEsCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIG12Nzh4eDBfZWhjaTAgPSB7CisJLm5hbWUJCT0gIm9yaW9uLWVoY2kiLAorCS5pZAkJPSAwLAorCS5kZXYJCT0geworCQkuZG1hX21hc2sJCT0gJmVoY2lfZG1hbWFzaywKKwkJLmNvaGVyZW50X2RtYV9tYXNrCT0gMHhmZmZmZmZmZiwKKwkJLnBsYXRmb3JtX2RhdGEJCT0gJm12Nzh4eDBfZWhjaV9kYXRhLAorCX0sCisJLnJlc291cmNlCT0gbXY3OHh4MF9laGNpMF9yZXNvdXJjZXMsCisJLm51bV9yZXNvdXJjZXMJPSBBUlJBWV9TSVpFKG12Nzh4eDBfZWhjaTBfcmVzb3VyY2VzKSwKK307CisKK3ZvaWQgX19pbml0IG12Nzh4eDBfZWhjaTBfaW5pdCh2b2lkKQoreworCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmbXY3OHh4MF9laGNpMCk7Cit9CisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBFSENJMQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitzdGF0aWMgc3RydWN0IHJlc291cmNlIG12Nzh4eDBfZWhjaTFfcmVzb3VyY2VzW10gPSB7CisJeworCQkuc3RhcnQJPSBVU0IxX1BIWVNfQkFTRSwKKwkJLmVuZAk9IFVTQjFfUEhZU19CQVNFICsgMHgwZmZmLAorCQkuZmxhZ3MJPSBJT1JFU09VUkNFX01FTSwKKwl9LCB7CisJCS5zdGFydAk9IElSUV9NVjc4WFgwX1VTQl8xLAorCQkuZW5kCT0gSVJRX01WNzhYWDBfVVNCXzEsCisJCS5mbGFncwk9IElPUkVTT1VSQ0VfSVJRLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBtdjc4eHgwX2VoY2kxID0geworCS5uYW1lCQk9ICJvcmlvbi1laGNpIiwKKwkuaWQJCT0gMSwKKwkuZGV2CQk9IHsKKwkJLmRtYV9tYXNrCQk9ICZlaGNpX2RtYW1hc2ssCisJCS5jb2hlcmVudF9kbWFfbWFzawk9IDB4ZmZmZmZmZmYsCisJCS5wbGF0Zm9ybV9kYXRhCQk9ICZtdjc4eHgwX2VoY2lfZGF0YSwKKwl9LAorCS5yZXNvdXJjZQk9IG12Nzh4eDBfZWhjaTFfcmVzb3VyY2VzLAorCS5udW1fcmVzb3VyY2VzCT0gQVJSQVlfU0laRShtdjc4eHgwX2VoY2kxX3Jlc291cmNlcyksCit9OworCit2b2lkIF9faW5pdCBtdjc4eHgwX2VoY2kxX2luaXQodm9pZCkKK3sKKwlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJm12Nzh4eDBfZWhjaTEpOworfQorCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRUhDSTIKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworc3RhdGljIHN0cnVjdCByZXNvdXJjZSBtdjc4eHgwX2VoY2kyX3Jlc291cmNlc1tdID0geworCXsKKwkJLnN0YXJ0CT0gVVNCMl9QSFlTX0JBU0UsCisJCS5lbmQJPSBVU0IyX1BIWVNfQkFTRSArIDB4MGZmZiwKKwkJLmZsYWdzCT0gSU9SRVNPVVJDRV9NRU0sCisJfSwgeworCQkuc3RhcnQJPSBJUlFfTVY3OFhYMF9VU0JfMiwKKwkJLmVuZAk9IElSUV9NVjc4WFgwX1VTQl8yLAorCQkuZmxhZ3MJPSBJT1JFU09VUkNFX0lSUSwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgbXY3OHh4MF9laGNpMiA9IHsKKwkubmFtZQkJPSAib3Jpb24tZWhjaSIsCisJLmlkCQk9IDIsCisJLmRldgkJPSB7CisJCS5kbWFfbWFzawkJPSAmZWhjaV9kbWFtYXNrLAorCQkuY29oZXJlbnRfZG1hX21hc2sJPSAweGZmZmZmZmZmLAorCQkucGxhdGZvcm1fZGF0YQkJPSAmbXY3OHh4MF9laGNpX2RhdGEsCisJfSwKKwkucmVzb3VyY2UJPSBtdjc4eHgwX2VoY2kyX3Jlc291cmNlcywKKwkubnVtX3Jlc291cmNlcwk9IEFSUkFZX1NJWkUobXY3OHh4MF9laGNpMl9yZXNvdXJjZXMpLAorfTsKKwordm9pZCBfX2luaXQgbXY3OHh4MF9laGNpMl9pbml0KHZvaWQpCit7CisJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZtdjc4eHgwX2VoY2kyKTsKK30KKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEdFMDAKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworc3RydWN0IG12NjQzeHhfZXRoX3NoYXJlZF9wbGF0Zm9ybV9kYXRhIG12Nzh4eDBfZ2UwMF9zaGFyZWRfZGF0YSA9IHsKKwkudF9jbGsJCT0gMCwKKwkuZHJhbQkJPSAmbXY3OHh4MF9tYnVzX2RyYW1faW5mbywKK307CisKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgbXY3OHh4MF9nZTAwX3NoYXJlZF9yZXNvdXJjZXNbXSA9IHsKKwl7CisJCS5uYW1lCT0gImdlMDAgYmFzZSIsCisJCS5zdGFydAk9IEdFMDBfUEhZU19CQVNFICsgMHgyMDAwLAorCQkuZW5kCT0gR0UwMF9QSFlTX0JBU0UgKyAweDNmZmYsCisJCS5mbGFncwk9IElPUkVTT1VSQ0VfTUVNLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBtdjc4eHgwX2dlMDBfc2hhcmVkID0geworCS5uYW1lCQk9IE1WNjQzWFhfRVRIX1NIQVJFRF9OQU1FLAorCS5pZAkJPSAwLAorCS5kZXYJCT0geworCQkucGxhdGZvcm1fZGF0YQk9ICZtdjc4eHgwX2dlMDBfc2hhcmVkX2RhdGEsCisJfSwKKwkubnVtX3Jlc291cmNlcwk9IDEsCisJLnJlc291cmNlCT0gbXY3OHh4MF9nZTAwX3NoYXJlZF9yZXNvdXJjZXMsCit9OworCitzdGF0aWMgc3RydWN0IHJlc291cmNlIG12Nzh4eDBfZ2UwMF9yZXNvdXJjZXNbXSA9IHsKKwl7CisJCS5uYW1lCT0gImdlMDAgaXJxIiwKKwkJLnN0YXJ0CT0gSVJRX01WNzhYWDBfR0UwMF9TVU0sCisJCS5lbmQJPSBJUlFfTVY3OFhYMF9HRTAwX1NVTSwKKwkJLmZsYWdzCT0gSU9SRVNPVVJDRV9JUlEsCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIG12Nzh4eDBfZ2UwMCA9IHsKKwkubmFtZQkJPSBNVjY0M1hYX0VUSF9OQU1FLAorCS5pZAkJPSAwLAorCS5udW1fcmVzb3VyY2VzCT0gMSwKKwkucmVzb3VyY2UJPSBtdjc4eHgwX2dlMDBfcmVzb3VyY2VzLAorfTsKKwordm9pZCBfX2luaXQgbXY3OHh4MF9nZTAwX2luaXQoc3RydWN0IG12NjQzeHhfZXRoX3BsYXRmb3JtX2RhdGEgKmV0aF9kYXRhKQoreworCWV0aF9kYXRhLT5zaGFyZWQgPSAmbXY3OHh4MF9nZTAwX3NoYXJlZDsKKwltdjc4eHgwX2dlMDAuZGV2LnBsYXRmb3JtX2RhdGEgPSBldGhfZGF0YTsKKworCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmbXY3OHh4MF9nZTAwX3NoYXJlZCk7CisJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZtdjc4eHgwX2dlMDApOworfQorCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogR0UwMQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitzdHJ1Y3QgbXY2NDN4eF9ldGhfc2hhcmVkX3BsYXRmb3JtX2RhdGEgbXY3OHh4MF9nZTAxX3NoYXJlZF9kYXRhID0geworCS50X2NsawkJPSAwLAorCS5kcmFtCQk9ICZtdjc4eHgwX21idXNfZHJhbV9pbmZvLAorfTsKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSBtdjc4eHgwX2dlMDFfc2hhcmVkX3Jlc291cmNlc1tdID0geworCXsKKwkJLm5hbWUJPSAiZ2UwMSBiYXNlIiwKKwkJLnN0YXJ0CT0gR0UwMV9QSFlTX0JBU0UgKyAweDIwMDAsCisJCS5lbmQJPSBHRTAxX1BIWVNfQkFTRSArIDB4M2ZmZiwKKwkJLmZsYWdzCT0gSU9SRVNPVVJDRV9NRU0sCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIG12Nzh4eDBfZ2UwMV9zaGFyZWQgPSB7CisJLm5hbWUJCT0gTVY2NDNYWF9FVEhfU0hBUkVEX05BTUUsCisJLmlkCQk9IDEsCisJLmRldgkJPSB7CisJCS5wbGF0Zm9ybV9kYXRhCT0gJm12Nzh4eDBfZ2UwMV9zaGFyZWRfZGF0YSwKKwl9LAorCS5udW1fcmVzb3VyY2VzCT0gMSwKKwkucmVzb3VyY2UJPSBtdjc4eHgwX2dlMDFfc2hhcmVkX3Jlc291cmNlcywKK307CisKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgbXY3OHh4MF9nZTAxX3Jlc291cmNlc1tdID0geworCXsKKwkJLm5hbWUJPSAiZ2UwMSBpcnEiLAorCQkuc3RhcnQJPSBJUlFfTVY3OFhYMF9HRTAxX1NVTSwKKwkJLmVuZAk9IElSUV9NVjc4WFgwX0dFMDFfU1VNLAorCQkuZmxhZ3MJPSBJT1JFU09VUkNFX0lSUSwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgbXY3OHh4MF9nZTAxID0geworCS5uYW1lCQk9IE1WNjQzWFhfRVRIX05BTUUsCisJLmlkCQk9IDEsCisJLm51bV9yZXNvdXJjZXMJPSAxLAorCS5yZXNvdXJjZQk9IG12Nzh4eDBfZ2UwMV9yZXNvdXJjZXMsCit9OworCit2b2lkIF9faW5pdCBtdjc4eHgwX2dlMDFfaW5pdChzdHJ1Y3QgbXY2NDN4eF9ldGhfcGxhdGZvcm1fZGF0YSAqZXRoX2RhdGEpCit7CisJZXRoX2RhdGEtPnNoYXJlZCA9ICZtdjc4eHgwX2dlMDFfc2hhcmVkOworCWV0aF9kYXRhLT5zaGFyZWRfc21pID0gJm12Nzh4eDBfZ2UwMF9zaGFyZWQ7CisJbXY3OHh4MF9nZTAxLmRldi5wbGF0Zm9ybV9kYXRhID0gZXRoX2RhdGE7CisKKwlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJm12Nzh4eDBfZ2UwMV9zaGFyZWQpOworCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmbXY3OHh4MF9nZTAxKTsKK30KKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEdFMTAKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworc3RydWN0IG12NjQzeHhfZXRoX3NoYXJlZF9wbGF0Zm9ybV9kYXRhIG12Nzh4eDBfZ2UxMF9zaGFyZWRfZGF0YSA9IHsKKwkudF9jbGsJCT0gMCwKKwkuZHJhbQkJPSAmbXY3OHh4MF9tYnVzX2RyYW1faW5mbywKK307CisKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgbXY3OHh4MF9nZTEwX3NoYXJlZF9yZXNvdXJjZXNbXSA9IHsKKwl7CisJCS5uYW1lCT0gImdlMTAgYmFzZSIsCisJCS5zdGFydAk9IEdFMTBfUEhZU19CQVNFICsgMHgyMDAwLAorCQkuZW5kCT0gR0UxMF9QSFlTX0JBU0UgKyAweDNmZmYsCisJCS5mbGFncwk9IElPUkVTT1VSQ0VfTUVNLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBtdjc4eHgwX2dlMTBfc2hhcmVkID0geworCS5uYW1lCQk9IE1WNjQzWFhfRVRIX1NIQVJFRF9OQU1FLAorCS5pZAkJPSAyLAorCS5kZXYJCT0geworCQkucGxhdGZvcm1fZGF0YQk9ICZtdjc4eHgwX2dlMTBfc2hhcmVkX2RhdGEsCisJfSwKKwkubnVtX3Jlc291cmNlcwk9IDEsCisJLnJlc291cmNlCT0gbXY3OHh4MF9nZTEwX3NoYXJlZF9yZXNvdXJjZXMsCit9OworCitzdGF0aWMgc3RydWN0IHJlc291cmNlIG12Nzh4eDBfZ2UxMF9yZXNvdXJjZXNbXSA9IHsKKwl7CisJCS5uYW1lCT0gImdlMTAgaXJxIiwKKwkJLnN0YXJ0CT0gSVJRX01WNzhYWDBfR0UxMF9TVU0sCisJCS5lbmQJPSBJUlFfTVY3OFhYMF9HRTEwX1NVTSwKKwkJLmZsYWdzCT0gSU9SRVNPVVJDRV9JUlEsCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIG12Nzh4eDBfZ2UxMCA9IHsKKwkubmFtZQkJPSBNVjY0M1hYX0VUSF9OQU1FLAorCS5pZAkJPSAyLAorCS5udW1fcmVzb3VyY2VzCT0gMSwKKwkucmVzb3VyY2UJPSBtdjc4eHgwX2dlMTBfcmVzb3VyY2VzLAorfTsKKwordm9pZCBfX2luaXQgbXY3OHh4MF9nZTEwX2luaXQoc3RydWN0IG12NjQzeHhfZXRoX3BsYXRmb3JtX2RhdGEgKmV0aF9kYXRhKQoreworCWV0aF9kYXRhLT5zaGFyZWQgPSAmbXY3OHh4MF9nZTEwX3NoYXJlZDsKKwlldGhfZGF0YS0+c2hhcmVkX3NtaSA9ICZtdjc4eHgwX2dlMDBfc2hhcmVkOworCW12Nzh4eDBfZ2UxMC5kZXYucGxhdGZvcm1fZGF0YSA9IGV0aF9kYXRhOworCisJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZtdjc4eHgwX2dlMTBfc2hhcmVkKTsKKwlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJm12Nzh4eDBfZ2UxMCk7Cit9CisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBHRTExCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3N0cnVjdCBtdjY0M3h4X2V0aF9zaGFyZWRfcGxhdGZvcm1fZGF0YSBtdjc4eHgwX2dlMTFfc2hhcmVkX2RhdGEgPSB7CisJLnRfY2xrCQk9IDAsCisJLmRyYW0JCT0gJm12Nzh4eDBfbWJ1c19kcmFtX2luZm8sCit9OworCitzdGF0aWMgc3RydWN0IHJlc291cmNlIG12Nzh4eDBfZ2UxMV9zaGFyZWRfcmVzb3VyY2VzW10gPSB7CisJeworCQkubmFtZQk9ICJnZTExIGJhc2UiLAorCQkuc3RhcnQJPSBHRTExX1BIWVNfQkFTRSArIDB4MjAwMCwKKwkJLmVuZAk9IEdFMTFfUEhZU19CQVNFICsgMHgzZmZmLAorCQkuZmxhZ3MJPSBJT1JFU09VUkNFX01FTSwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgbXY3OHh4MF9nZTExX3NoYXJlZCA9IHsKKwkubmFtZQkJPSBNVjY0M1hYX0VUSF9TSEFSRURfTkFNRSwKKwkuaWQJCT0gMywKKwkuZGV2CQk9IHsKKwkJLnBsYXRmb3JtX2RhdGEJPSAmbXY3OHh4MF9nZTExX3NoYXJlZF9kYXRhLAorCX0sCisJLm51bV9yZXNvdXJjZXMJPSAxLAorCS5yZXNvdXJjZQk9IG12Nzh4eDBfZ2UxMV9zaGFyZWRfcmVzb3VyY2VzLAorfTsKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSBtdjc4eHgwX2dlMTFfcmVzb3VyY2VzW10gPSB7CisJeworCQkubmFtZQk9ICJnZTExIGlycSIsCisJCS5zdGFydAk9IElSUV9NVjc4WFgwX0dFMTFfU1VNLAorCQkuZW5kCT0gSVJRX01WNzhYWDBfR0UxMV9TVU0sCisJCS5mbGFncwk9IElPUkVTT1VSQ0VfSVJRLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBtdjc4eHgwX2dlMTEgPSB7CisJLm5hbWUJCT0gTVY2NDNYWF9FVEhfTkFNRSwKKwkuaWQJCT0gMywKKwkubnVtX3Jlc291cmNlcwk9IDEsCisJLnJlc291cmNlCT0gbXY3OHh4MF9nZTExX3Jlc291cmNlcywKK307CisKK3ZvaWQgX19pbml0IG12Nzh4eDBfZ2UxMV9pbml0KHN0cnVjdCBtdjY0M3h4X2V0aF9wbGF0Zm9ybV9kYXRhICpldGhfZGF0YSkKK3sKKwlldGhfZGF0YS0+c2hhcmVkID0gJm12Nzh4eDBfZ2UxMV9zaGFyZWQ7CisJZXRoX2RhdGEtPnNoYXJlZF9zbWkgPSAmbXY3OHh4MF9nZTAwX3NoYXJlZDsKKwltdjc4eHgwX2dlMTEuZGV2LnBsYXRmb3JtX2RhdGEgPSBldGhfZGF0YTsKKworCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmbXY3OHh4MF9nZTExX3NoYXJlZCk7CisJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZtdjc4eHgwX2dlMTEpOworfQorCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogU0FUQQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitzdGF0aWMgc3RydWN0IHJlc291cmNlIG12Nzh4eDBfc2F0YV9yZXNvdXJjZXNbXSA9IHsKKwl7CisJCS5uYW1lCT0gInNhdGEgYmFzZSIsCisJCS5zdGFydAk9IFNBVEFfUEhZU19CQVNFLAorCQkuZW5kCT0gU0FUQV9QSFlTX0JBU0UgKyAweDUwMDAgLSAxLAorCQkuZmxhZ3MJPSBJT1JFU09VUkNFX01FTSwKKwl9LCB7CisJCS5uYW1lCT0gInNhdGEgaXJxIiwKKwkJLnN0YXJ0CT0gSVJRX01WNzhYWDBfU0FUQSwKKwkJLmVuZAk9IElSUV9NVjc4WFgwX1NBVEEsCisJCS5mbGFncwk9IElPUkVTT1VSQ0VfSVJRLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBtdjc4eHgwX3NhdGEgPSB7CisJLm5hbWUJCT0gInNhdGFfbXYiLAorCS5pZAkJPSAwLAorCS5kZXYJCT0geworCQkuY29oZXJlbnRfZG1hX21hc2sJPSAweGZmZmZmZmZmLAorCX0sCisJLm51bV9yZXNvdXJjZXMJPSBBUlJBWV9TSVpFKG12Nzh4eDBfc2F0YV9yZXNvdXJjZXMpLAorCS5yZXNvdXJjZQk9IG12Nzh4eDBfc2F0YV9yZXNvdXJjZXMsCit9OworCit2b2lkIF9faW5pdCBtdjc4eHgwX3NhdGFfaW5pdChzdHJ1Y3QgbXZfc2F0YV9wbGF0Zm9ybV9kYXRhICpzYXRhX2RhdGEpCit7CisJc2F0YV9kYXRhLT5kcmFtID0gJm12Nzh4eDBfbWJ1c19kcmFtX2luZm87CisJbXY3OHh4MF9zYXRhLmRldi5wbGF0Zm9ybV9kYXRhID0gc2F0YV9kYXRhOworCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmbXY3OHh4MF9zYXRhKTsKK30KKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFVBUlQwCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3N0YXRpYyBzdHJ1Y3QgcGxhdF9zZXJpYWw4MjUwX3BvcnQgbXY3OHh4MF91YXJ0MF9kYXRhW10gPSB7CisJeworCQkubWFwYmFzZQk9IFVBUlQwX1BIWVNfQkFTRSwKKwkJLm1lbWJhc2UJPSAoY2hhciAqKVVBUlQwX1ZJUlRfQkFTRSwKKwkJLmlycQkJPSBJUlFfTVY3OFhYMF9VQVJUXzAsCisJCS5mbGFncwkJPSBVUEZfU0tJUF9URVNUIHwgVVBGX0JPT1RfQVVUT0NPTkYsCisJCS5pb3R5cGUJCT0gVVBJT19NRU0sCisJCS5yZWdzaGlmdAk9IDIsCisJCS51YXJ0Y2xrCT0gMCwKKwl9LCB7CisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgbXY3OHh4MF91YXJ0MF9yZXNvdXJjZXNbXSA9IHsKKwl7CisJCS5zdGFydAkJPSBVQVJUMF9QSFlTX0JBU0UsCisJCS5lbmQJCT0gVUFSVDBfUEhZU19CQVNFICsgMHhmZiwKKwkJLmZsYWdzCQk9IElPUkVTT1VSQ0VfTUVNLAorCX0sIHsKKwkJLnN0YXJ0CQk9IElSUV9NVjc4WFgwX1VBUlRfMCwKKwkJLmVuZAkJPSBJUlFfTVY3OFhYMF9VQVJUXzAsCisJCS5mbGFncwkJPSBJT1JFU09VUkNFX0lSUSwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgbXY3OHh4MF91YXJ0MCA9IHsKKwkubmFtZQkJCT0gInNlcmlhbDgyNTAiLAorCS5pZAkJCT0gMCwKKwkuZGV2CQkJPSB7CisJCS5wbGF0Zm9ybV9kYXRhCT0gbXY3OHh4MF91YXJ0MF9kYXRhLAorCX0sCisJLnJlc291cmNlCQk9IG12Nzh4eDBfdWFydDBfcmVzb3VyY2VzLAorCS5udW1fcmVzb3VyY2VzCQk9IEFSUkFZX1NJWkUobXY3OHh4MF91YXJ0MF9yZXNvdXJjZXMpLAorfTsKKwordm9pZCBfX2luaXQgbXY3OHh4MF91YXJ0MF9pbml0KHZvaWQpCit7CisJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZtdjc4eHgwX3VhcnQwKTsKK30KKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFVBUlQxCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3N0YXRpYyBzdHJ1Y3QgcGxhdF9zZXJpYWw4MjUwX3BvcnQgbXY3OHh4MF91YXJ0MV9kYXRhW10gPSB7CisJeworCQkubWFwYmFzZQk9IFVBUlQxX1BIWVNfQkFTRSwKKwkJLm1lbWJhc2UJPSAoY2hhciAqKVVBUlQxX1ZJUlRfQkFTRSwKKwkJLmlycQkJPSBJUlFfTVY3OFhYMF9VQVJUXzEsCisJCS5mbGFncwkJPSBVUEZfU0tJUF9URVNUIHwgVVBGX0JPT1RfQVVUT0NPTkYsCisJCS5pb3R5cGUJCT0gVVBJT19NRU0sCisJCS5yZWdzaGlmdAk9IDIsCisJCS51YXJ0Y2xrCT0gMCwKKwl9LCB7CisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgbXY3OHh4MF91YXJ0MV9yZXNvdXJjZXNbXSA9IHsKKwl7CisJCS5zdGFydAkJPSBVQVJUMV9QSFlTX0JBU0UsCisJCS5lbmQJCT0gVUFSVDFfUEhZU19CQVNFICsgMHhmZiwKKwkJLmZsYWdzCQk9IElPUkVTT1VSQ0VfTUVNLAorCX0sIHsKKwkJLnN0YXJ0CQk9IElSUV9NVjc4WFgwX1VBUlRfMSwKKwkJLmVuZAkJPSBJUlFfTVY3OFhYMF9VQVJUXzEsCisJCS5mbGFncwkJPSBJT1JFU09VUkNFX0lSUSwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgbXY3OHh4MF91YXJ0MSA9IHsKKwkubmFtZQkJCT0gInNlcmlhbDgyNTAiLAorCS5pZAkJCT0gMSwKKwkuZGV2CQkJPSB7CisJCS5wbGF0Zm9ybV9kYXRhCT0gbXY3OHh4MF91YXJ0MV9kYXRhLAorCX0sCisJLnJlc291cmNlCQk9IG12Nzh4eDBfdWFydDFfcmVzb3VyY2VzLAorCS5udW1fcmVzb3VyY2VzCQk9IEFSUkFZX1NJWkUobXY3OHh4MF91YXJ0MV9yZXNvdXJjZXMpLAorfTsKKwordm9pZCBfX2luaXQgbXY3OHh4MF91YXJ0MV9pbml0KHZvaWQpCit7CisJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZtdjc4eHgwX3VhcnQxKTsKK30KKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFVBUlQyCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3N0YXRpYyBzdHJ1Y3QgcGxhdF9zZXJpYWw4MjUwX3BvcnQgbXY3OHh4MF91YXJ0Ml9kYXRhW10gPSB7CisJeworCQkubWFwYmFzZQk9IFVBUlQyX1BIWVNfQkFTRSwKKwkJLm1lbWJhc2UJPSAoY2hhciAqKVVBUlQyX1ZJUlRfQkFTRSwKKwkJLmlycQkJPSBJUlFfTVY3OFhYMF9VQVJUXzIsCisJCS5mbGFncwkJPSBVUEZfU0tJUF9URVNUIHwgVVBGX0JPT1RfQVVUT0NPTkYsCisJCS5pb3R5cGUJCT0gVVBJT19NRU0sCisJCS5yZWdzaGlmdAk9IDIsCisJCS51YXJ0Y2xrCT0gMCwKKwl9LCB7CisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgbXY3OHh4MF91YXJ0Ml9yZXNvdXJjZXNbXSA9IHsKKwl7CisJCS5zdGFydAkJPSBVQVJUMl9QSFlTX0JBU0UsCisJCS5lbmQJCT0gVUFSVDJfUEhZU19CQVNFICsgMHhmZiwKKwkJLmZsYWdzCQk9IElPUkVTT1VSQ0VfTUVNLAorCX0sIHsKKwkJLnN0YXJ0CQk9IElSUV9NVjc4WFgwX1VBUlRfMiwKKwkJLmVuZAkJPSBJUlFfTVY3OFhYMF9VQVJUXzIsCisJCS5mbGFncwkJPSBJT1JFU09VUkNFX0lSUSwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgbXY3OHh4MF91YXJ0MiA9IHsKKwkubmFtZQkJCT0gInNlcmlhbDgyNTAiLAorCS5pZAkJCT0gMiwKKwkuZGV2CQkJPSB7CisJCS5wbGF0Zm9ybV9kYXRhCT0gbXY3OHh4MF91YXJ0Ml9kYXRhLAorCX0sCisJLnJlc291cmNlCQk9IG12Nzh4eDBfdWFydDJfcmVzb3VyY2VzLAorCS5udW1fcmVzb3VyY2VzCQk9IEFSUkFZX1NJWkUobXY3OHh4MF91YXJ0Ml9yZXNvdXJjZXMpLAorfTsKKwordm9pZCBfX2luaXQgbXY3OHh4MF91YXJ0Ml9pbml0KHZvaWQpCit7CisJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZtdjc4eHgwX3VhcnQyKTsKK30KKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFVBUlQzCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3N0YXRpYyBzdHJ1Y3QgcGxhdF9zZXJpYWw4MjUwX3BvcnQgbXY3OHh4MF91YXJ0M19kYXRhW10gPSB7CisJeworCQkubWFwYmFzZQk9IFVBUlQzX1BIWVNfQkFTRSwKKwkJLm1lbWJhc2UJPSAoY2hhciAqKVVBUlQzX1ZJUlRfQkFTRSwKKwkJLmlycQkJPSBJUlFfTVY3OFhYMF9VQVJUXzMsCisJCS5mbGFncwkJPSBVUEZfU0tJUF9URVNUIHwgVVBGX0JPT1RfQVVUT0NPTkYsCisJCS5pb3R5cGUJCT0gVVBJT19NRU0sCisJCS5yZWdzaGlmdAk9IDIsCisJCS51YXJ0Y2xrCT0gMCwKKwl9LCB7CisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgbXY3OHh4MF91YXJ0M19yZXNvdXJjZXNbXSA9IHsKKwl7CisJCS5zdGFydAkJPSBVQVJUM19QSFlTX0JBU0UsCisJCS5lbmQJCT0gVUFSVDNfUEhZU19CQVNFICsgMHhmZiwKKwkJLmZsYWdzCQk9IElPUkVTT1VSQ0VfTUVNLAorCX0sIHsKKwkJLnN0YXJ0CQk9IElSUV9NVjc4WFgwX1VBUlRfMywKKwkJLmVuZAkJPSBJUlFfTVY3OFhYMF9VQVJUXzMsCisJCS5mbGFncwkJPSBJT1JFU09VUkNFX0lSUSwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgbXY3OHh4MF91YXJ0MyA9IHsKKwkubmFtZQkJCT0gInNlcmlhbDgyNTAiLAorCS5pZAkJCT0gMywKKwkuZGV2CQkJPSB7CisJCS5wbGF0Zm9ybV9kYXRhCT0gbXY3OHh4MF91YXJ0M19kYXRhLAorCX0sCisJLnJlc291cmNlCQk9IG12Nzh4eDBfdWFydDNfcmVzb3VyY2VzLAorCS5udW1fcmVzb3VyY2VzCQk9IEFSUkFZX1NJWkUobXY3OHh4MF91YXJ0M19yZXNvdXJjZXMpLAorfTsKKwordm9pZCBfX2luaXQgbXY3OHh4MF91YXJ0M19pbml0KHZvaWQpCit7CisJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZtdjc4eHgwX3VhcnQzKTsKK30KKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFRpbWUgaGFuZGxpbmcKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworc3RhdGljIHZvaWQgbXY3OHh4MF90aW1lcl9pbml0KHZvaWQpCit7CisJb3Jpb25fdGltZV9pbml0KElSUV9NVjc4WFgwX1RJTUVSXzEsIGdldF90Y2xrKCkpOworfQorCitzdHJ1Y3Qgc3lzX3RpbWVyIG12Nzh4eDBfdGltZXIgPSB7CisJLmluaXQgPSBtdjc4eHgwX3RpbWVyX2luaXQsCit9OworCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogR2VuZXJhbAorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitzdGF0aWMgaW50IF9faW5pdCBpc19sMl93cml0ZXRocm91Z2godm9pZCkKK3sKKwlyZXR1cm4gISEocmVhZGwoQ1BVX0NPTlRST0wpICYgTDJfV1JJVEVUSFJPVUdIKTsKK30KKwordm9pZCBfX2luaXQgbXY3OHh4MF9pbml0KHZvaWQpCit7CisJaW50IGNvcmVfaW5kZXg7CisJaW50IGhjbGs7CisJaW50IHBjbGs7CisJaW50IGwyY2xrOworCWludCB0Y2xrOworCisJY29yZV9pbmRleCA9IG12Nzh4eDBfY29yZV9pbmRleCgpOworCWhjbGsgPSBnZXRfaGNsaygpOworCWdldF9wY2xrX2wyY2xrKGhjbGssIGNvcmVfaW5kZXgsICZwY2xrLCAmbDJjbGspOworCXRjbGsgPSBnZXRfdGNsaygpOworCisJcHJpbnRrKEtFUk5fSU5GTyAiTVY3OHh4MCBjb3JlICMlZCwgIiwgY29yZV9pbmRleCk7CisJcHJpbnRrKCJQQ0xLID0gJWRNSHosICIsIChwY2xrICsgNDk5OTk5KSAvIDEwMDAwMDApOworCXByaW50aygiTDIgPSAlZE1IeiwgIiwgKGwyY2xrICsgNDk5OTk5KSAvIDEwMDAwMDApOworCXByaW50aygiSENMSyA9ICVkTUh6LCAiLCAoaGNsayArIDQ5OTk5OSkgLyAxMDAwMDAwKTsKKwlwcmludGsoIlRDTEsgPSAlZE1IelxuIiwgKHRjbGsgKyA0OTk5OTkpIC8gMTAwMDAwMCk7CisKKwltdjc4eHgwX3NldHVwX2NwdV9tYnVzKCk7CisKKyNpZmRlZiBDT05GSUdfQ0FDSEVfRkVST0NFT05fTDIKKwlmZXJvY2Vvbl9sMl9pbml0KGlzX2wyX3dyaXRldGhyb3VnaCgpKTsKKyNlbmRpZgorCisJbXY3OHh4MF9nZTAwX3NoYXJlZF9kYXRhLnRfY2xrID0gdGNsazsKKwltdjc4eHgwX2dlMDFfc2hhcmVkX2RhdGEudF9jbGsgPSB0Y2xrOworCW12Nzh4eDBfZ2UxMF9zaGFyZWRfZGF0YS50X2NsayA9IHRjbGs7CisJbXY3OHh4MF9nZTExX3NoYXJlZF9kYXRhLnRfY2xrID0gdGNsazsKKwltdjc4eHgwX3VhcnQwX2RhdGFbMF0udWFydGNsayA9IHRjbGs7CisJbXY3OHh4MF91YXJ0MV9kYXRhWzBdLnVhcnRjbGsgPSB0Y2xrOworCW12Nzh4eDBfdWFydDJfZGF0YVswXS51YXJ0Y2xrID0gdGNsazsKKwltdjc4eHgwX3VhcnQzX2RhdGFbMF0udWFydGNsayA9IHRjbGs7Cit9CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW12Nzh4eDAvY29tbW9uLmggYi9hcmNoL2FybS9tYWNoLW12Nzh4eDAvY29tbW9uLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzhhZjVkZQotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gtbXY3OHh4MC9jb21tb24uaApAQCAtMCwwICsxLDQ5IEBACisvKgorICogYXJjaC9hcm0vbWFjaC1tdjc4eHgwL2NvbW1vbi5oCisgKgorICogQ29yZSBmdW5jdGlvbnMgZm9yIE1hcnZlbGwgTVY3OHh4MCBTb0NzCisgKgorICogVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIHZlcnNpb24gMi4gIFRoaXMgcHJvZ3JhbSBpcyBsaWNlbnNlZCAiYXMgaXMiIHdpdGhvdXQgYW55CisgKiB3YXJyYW50eSBvZiBhbnkga2luZCwgd2hldGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKi8KKworI2lmbmRlZiBfX0FSQ0hfTVY3OFhYMF9DT01NT05fSAorI2RlZmluZSBfX0FSQ0hfTVY3OFhYMF9DT01NT05fSAorCitzdHJ1Y3QgbXY2NDN4eF9ldGhfcGxhdGZvcm1fZGF0YTsKK3N0cnVjdCBtdl9zYXRhX3BsYXRmb3JtX2RhdGE7CisKKy8qCisgKiBCYXNpYyBNVjc4eHgwIGluaXQgZnVuY3Rpb25zIHVzZWQgZWFybHkgYnkgbWFjaGluZS1zZXR1cC4KKyAqLworaW50IG12Nzh4eDBfY29yZV9pbmRleCh2b2lkKTsKK3ZvaWQgbXY3OHh4MF9tYXBfaW8odm9pZCk7Cit2b2lkIG12Nzh4eDBfaW5pdCh2b2lkKTsKK3ZvaWQgbXY3OHh4MF9pbml0X2lycSh2b2lkKTsKKworZXh0ZXJuIHN0cnVjdCBtYnVzX2RyYW1fdGFyZ2V0X2luZm8gbXY3OHh4MF9tYnVzX2RyYW1faW5mbzsKK3ZvaWQgbXY3OHh4MF9zZXR1cF9jcHVfbWJ1cyh2b2lkKTsKK3ZvaWQgbXY3OHh4MF9zZXR1cF9wY2llX2lvX3dpbihpbnQgd2luZG93LCB1MzIgYmFzZSwgdTMyIHNpemUsCisJCQkgICAgICAgaW50IG1haiwgaW50IG1pbik7Cit2b2lkIG12Nzh4eDBfc2V0dXBfcGNpZV9tZW1fd2luKGludCB3aW5kb3csIHUzMiBiYXNlLCB1MzIgc2l6ZSwKKwkJCQlpbnQgbWFqLCBpbnQgbWluKTsKKwordm9pZCBtdjc4eHgwX2VoY2kwX2luaXQodm9pZCk7Cit2b2lkIG12Nzh4eDBfZWhjaTFfaW5pdCh2b2lkKTsKK3ZvaWQgbXY3OHh4MF9laGNpMl9pbml0KHZvaWQpOwordm9pZCBtdjc4eHgwX2dlMDBfaW5pdChzdHJ1Y3QgbXY2NDN4eF9ldGhfcGxhdGZvcm1fZGF0YSAqZXRoX2RhdGEpOwordm9pZCBtdjc4eHgwX2dlMDFfaW5pdChzdHJ1Y3QgbXY2NDN4eF9ldGhfcGxhdGZvcm1fZGF0YSAqZXRoX2RhdGEpOwordm9pZCBtdjc4eHgwX2dlMTBfaW5pdChzdHJ1Y3QgbXY2NDN4eF9ldGhfcGxhdGZvcm1fZGF0YSAqZXRoX2RhdGEpOwordm9pZCBtdjc4eHgwX2dlMTFfaW5pdChzdHJ1Y3QgbXY2NDN4eF9ldGhfcGxhdGZvcm1fZGF0YSAqZXRoX2RhdGEpOwordm9pZCBtdjc4eHgwX3BjaWVfaW5pdChpbnQgaW5pdF9wb3J0MCwgaW50IGluaXRfcG9ydDEpOwordm9pZCBtdjc4eHgwX3NhdGFfaW5pdChzdHJ1Y3QgbXZfc2F0YV9wbGF0Zm9ybV9kYXRhICpzYXRhX2RhdGEpOwordm9pZCBtdjc4eHgwX3VhcnQwX2luaXQodm9pZCk7Cit2b2lkIG12Nzh4eDBfdWFydDFfaW5pdCh2b2lkKTsKK3ZvaWQgbXY3OHh4MF91YXJ0Ml9pbml0KHZvaWQpOwordm9pZCBtdjc4eHgwX3VhcnQzX2luaXQodm9pZCk7CisKK2V4dGVybiBzdHJ1Y3Qgc3lzX3RpbWVyIG12Nzh4eDBfdGltZXI7CisKKworI2VuZGlmCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW12Nzh4eDAvZGI3OHgwMC1icC1zZXR1cC5jIGIvYXJjaC9hcm0vbWFjaC1tdjc4eHgwL2RiNzh4MDAtYnAtc2V0dXAuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYzkzZDE5Ci0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vbWFjaC1tdjc4eHgwL2RiNzh4MDAtYnAtc2V0dXAuYwpAQCAtMCwwICsxLDk0IEBACisvKgorICogYXJjaC9hcm0vbWFjaC1tdjc4eHgwL2RiNzh4MDAtYnAtc2V0dXAuYworICoKKyAqIE1hcnZlbGwgREItNzh4MDAtQlAgRGV2ZWxvcG1lbnQgQm9hcmQgU2V0dXAKKyAqCisgKiBUaGlzIGZpbGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgdmVyc2lvbiAyLiAgVGhpcyBwcm9ncmFtIGlzIGxpY2Vuc2VkICJhcyBpcyIgd2l0aG91dCBhbnkKKyAqIHdhcnJhbnR5IG9mIGFueSBraW5kLCB3aGV0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqLworCisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L2F0YV9wbGF0Zm9ybS5oPgorI2luY2x1ZGUgPGxpbnV4L212NjQzeHhfZXRoLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvbXY3OHh4MC5oPgorI2luY2x1ZGUgPGFzbS9tYWNoLXR5cGVzLmg+CisjaW5jbHVkZSA8YXNtL21hY2gvYXJjaC5oPgorI2luY2x1ZGUgImNvbW1vbi5oIgorCitzdGF0aWMgc3RydWN0IG12NjQzeHhfZXRoX3BsYXRmb3JtX2RhdGEgZGI3OHgwMF9nZTAwX2RhdGEgPSB7CisJLnBoeV9hZGRyCT0gOCwKK307CisKK3N0YXRpYyBzdHJ1Y3QgbXY2NDN4eF9ldGhfcGxhdGZvcm1fZGF0YSBkYjc4eDAwX2dlMDFfZGF0YSA9IHsKKwkucGh5X2FkZHIJPSA5LAorfTsKKworc3RhdGljIHN0cnVjdCBtdjY0M3h4X2V0aF9wbGF0Zm9ybV9kYXRhIGRiNzh4MDBfZ2UxMF9kYXRhID0geworCS5waHlfYWRkcgk9IC0xLAorfTsKKworc3RhdGljIHN0cnVjdCBtdjY0M3h4X2V0aF9wbGF0Zm9ybV9kYXRhIGRiNzh4MDBfZ2UxMV9kYXRhID0geworCS5waHlfYWRkcgk9IC0xLAorfTsKKworc3RhdGljIHN0cnVjdCBtdl9zYXRhX3BsYXRmb3JtX2RhdGEgZGI3OHgwMF9zYXRhX2RhdGEgPSB7CisJLm5fcG9ydHMJPSAyLAorfTsKKworc3RhdGljIHZvaWQgX19pbml0IGRiNzh4MDBfaW5pdCh2b2lkKQoreworCS8qCisJICogQmFzaWMgTVY3OHh4MCBzZXR1cC4gTmVlZHMgdG8gYmUgY2FsbGVkIGVhcmx5LgorCSAqLworCW12Nzh4eDBfaW5pdCgpOworCisJLyoKKwkgKiBQYXJ0aXRpb24gb24tY2hpcCBwZXJpcGhlcmFscyBiZXR3ZWVuIHRoZSB0d28gQ1BVIGNvcmVzLgorCSAqLworCWlmIChtdjc4eHgwX2NvcmVfaW5kZXgoKSA9PSAwKSB7CisJCW12Nzh4eDBfZWhjaTBfaW5pdCgpOworCQltdjc4eHgwX2VoY2kxX2luaXQoKTsKKwkJbXY3OHh4MF9laGNpMl9pbml0KCk7CisJCW12Nzh4eDBfZ2UwMF9pbml0KCZkYjc4eDAwX2dlMDBfZGF0YSk7CisJCW12Nzh4eDBfZ2UwMV9pbml0KCZkYjc4eDAwX2dlMDFfZGF0YSk7CisJCW12Nzh4eDBfZ2UxMF9pbml0KCZkYjc4eDAwX2dlMTBfZGF0YSk7CisJCW12Nzh4eDBfZ2UxMV9pbml0KCZkYjc4eDAwX2dlMTFfZGF0YSk7CisJCW12Nzh4eDBfc2F0YV9pbml0KCZkYjc4eDAwX3NhdGFfZGF0YSk7CisJCW12Nzh4eDBfdWFydDBfaW5pdCgpOworCQltdjc4eHgwX3VhcnQyX2luaXQoKTsKKwl9IGVsc2UgeworCQltdjc4eHgwX3VhcnQxX2luaXQoKTsKKwkJbXY3OHh4MF91YXJ0M19pbml0KCk7CisJfQorfQorCitzdGF0aWMgaW50IF9faW5pdCBkYjc4eDAwX3BjaV9pbml0KHZvaWQpCit7CisJaWYgKG1hY2hpbmVfaXNfZGI3OHgwMF9icCgpKSB7CisJCS8qCisJCSAqIEFzc2lnbiB0aGUgeDE2IFBDSWUgc2xvdCBvbiB0aGUgYm9hcmQgdG8gQ1BVIGNvcmUKKwkJICogIzAsIGFuZCBsZXQgQ1BVIGNvcmUgIzEgaGF2ZSB0aGUgZm91ciB4MSBzbG90cy4KKwkJICovCisJCWlmIChtdjc4eHgwX2NvcmVfaW5kZXgoKSA9PSAwKQorCQkJbXY3OHh4MF9wY2llX2luaXQoMCwgMSk7CisJCWVsc2UKKwkJCW12Nzh4eDBfcGNpZV9pbml0KDEsIDApOworCX0KKworCXJldHVybiAwOworfQorc3Vic3lzX2luaXRjYWxsKGRiNzh4MDBfcGNpX2luaXQpOworCitNQUNISU5FX1NUQVJUKERCNzhYMDBfQlAsICJNYXJ2ZWxsIERCLTc4eDAwLUJQIERldmVsb3BtZW50IEJvYXJkIikKKwkvKiBNYWludGFpbmVyOiBMZW5uZXJ0IEJ1eXRlbmhlayA8YnV5dGVuaEBtYXJ2ZWxsLmNvbT4gKi8KKwkucGh5c19pbwk9IE1WNzhYWDBfUkVHU19QSFlTX0JBU0UsCisJLmlvX3BnX29mZnN0CT0gKChNVjc4WFgwX1JFR1NfVklSVF9CQVNFKSA+PiAxOCkgJiAweGZmZmMsCisJLmJvb3RfcGFyYW1zCT0gMHgwMDAwMDEwMCwKKwkuaW5pdF9tYWNoaW5lCT0gZGI3OHgwMF9pbml0LAorCS5tYXBfaW8JCT0gbXY3OHh4MF9tYXBfaW8sCisJLmluaXRfaXJxCT0gbXY3OHh4MF9pbml0X2lycSwKKwkudGltZXIJCT0gJm12Nzh4eDBfdGltZXIsCitNQUNISU5FX0VORApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1tdjc4eHgwL2lycS5jIGIvYXJjaC9hcm0vbWFjaC1tdjc4eHgwL2lycS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYwZjRlZTQKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLW12Nzh4eDAvaXJxLmMKQEAgLTAsMCArMSwyMiBAQAorLyoKKyAqIGFyY2gvYXJtL21hY2gtbXY3OHh4MC9pcnEuYworICoKKyAqIE1WNzh4eDAgSVJRIGhhbmRsaW5nLgorICoKKyAqIFRoaXMgZmlsZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSB2ZXJzaW9uIDIuICBUaGlzIHByb2dyYW0gaXMgbGljZW5zZWQgImFzIGlzIiB3aXRob3V0IGFueQorICogd2FycmFudHkgb2YgYW55IGtpbmQsIHdoZXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICovCisKKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvcGNpLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvbXY3OHh4MC5oPgorI2luY2x1ZGUgPGFzbS9wbGF0LW9yaW9uL2lycS5oPgorI2luY2x1ZGUgImNvbW1vbi5oIgorCit2b2lkIF9faW5pdCBtdjc4eHgwX2luaXRfaXJxKHZvaWQpCit7CisJb3Jpb25faXJxX2luaXQoMCwgKHZvaWQgX19pb21lbSAqKShJUlFfVklSVF9CQVNFICsgSVJRX01BU0tfTE9XX09GRikpOworCW9yaW9uX2lycV9pbml0KDMyLCAodm9pZCBfX2lvbWVtICopKElSUV9WSVJUX0JBU0UgKyBJUlFfTUFTS19ISUdIX09GRikpOworfQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1tdjc4eHgwL3BjaWUuYyBiL2FyY2gvYXJtL21hY2gtbXY3OHh4MC9wY2llLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjc4ZTE0NAotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gtbXY3OHh4MC9wY2llLmMKQEAgLTAsMCArMSwzMTIgQEAKKy8qCisgKiBhcmNoL2FybS9tYWNoLW12Nzh4eDAvcGNpZS5jCisgKgorICogUENJZSBmdW5jdGlvbnMgZm9yIE1hcnZlbGwgTVY3OHh4MCBTb0NzCisgKgorICogVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIHZlcnNpb24gMi4gIFRoaXMgcHJvZ3JhbSBpcyBsaWNlbnNlZCAiYXMgaXMiIHdpdGhvdXQgYW55CisgKiB3YXJyYW50eSBvZiBhbnkga2luZCwgd2hldGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L3BjaS5oPgorI2luY2x1ZGUgPGxpbnV4L21idXMuaD4KKyNpbmNsdWRlIDxhc20vbWFjaC9wY2kuaD4KKyNpbmNsdWRlIDxhc20vcGxhdC1vcmlvbi9wY2llLmg+CisjaW5jbHVkZSAiY29tbW9uLmgiCisKK3N0cnVjdCBwY2llX3BvcnQgeworCXU4CQkJbWFqOworCXU4CQkJbWluOworCXU4CQkJcm9vdF9idXNfbnI7CisJdm9pZCBfX2lvbWVtCQkqYmFzZTsKKwlzcGlubG9ja190CQljb25mX2xvY2s7CisJY2hhcgkJCWlvX3NwYWNlX25hbWVbMTZdOworCWNoYXIJCQltZW1fc3BhY2VfbmFtZVsxNl07CisJc3RydWN0IHJlc291cmNlCQlyZXNbMl07Cit9OworCitzdGF0aWMgc3RydWN0IHBjaWVfcG9ydCBwY2llX3BvcnRbOF07CitzdGF0aWMgaW50IG51bV9wY2llX3BvcnRzOworc3RhdGljIHN0cnVjdCByZXNvdXJjZSBwY2llX2lvX3NwYWNlOworc3RhdGljIHN0cnVjdCByZXNvdXJjZSBwY2llX21lbV9zcGFjZTsKKworCitzdGF0aWMgdm9pZCBfX2luaXQgbXY3OHh4MF9wY2llX3ByZWluaXQodm9pZCkKK3sKKwlpbnQgaTsKKwl1MzIgc2l6ZV9lYWNoOworCXUzMiBzdGFydDsKKwlpbnQgd2luOworCisJcGNpZV9pb19zcGFjZS5uYW1lID0gIlBDSWUgSS9PIFNwYWNlIjsKKwlwY2llX2lvX3NwYWNlLnN0YXJ0ID0gTVY3OFhYMF9QQ0lFX0lPX1BIWVNfQkFTRSgwKTsKKwlwY2llX2lvX3NwYWNlLmVuZCA9CisJCU1WNzhYWDBfUENJRV9JT19QSFlTX0JBU0UoMCkgKyBNVjc4WFgwX1BDSUVfSU9fU0laRSAqIDggLSAxOworCXBjaWVfaW9fc3BhY2UuZmxhZ3MgPSBJT1JFU09VUkNFX0lPOworCWlmIChyZXF1ZXN0X3Jlc291cmNlKCZpb21lbV9yZXNvdXJjZSwgJnBjaWVfaW9fc3BhY2UpKQorCQlwYW5pYygiY2FuJ3QgYWxsb2NhdGUgUENJZSBJL08gc3BhY2UiKTsKKworCXBjaWVfbWVtX3NwYWNlLm5hbWUgPSAiUENJZSBNRU0gU3BhY2UiOworCXBjaWVfbWVtX3NwYWNlLnN0YXJ0ID0gTVY3OFhYMF9QQ0lFX01FTV9QSFlTX0JBU0U7CisJcGNpZV9tZW1fc3BhY2UuZW5kID0KKwkJTVY3OFhYMF9QQ0lFX01FTV9QSFlTX0JBU0UgKyBNVjc4WFgwX1BDSUVfTUVNX1NJWkUgLSAxOworCXBjaWVfbWVtX3NwYWNlLmZsYWdzID0gSU9SRVNPVVJDRV9NRU07CisJaWYgKHJlcXVlc3RfcmVzb3VyY2UoJmlvbWVtX3Jlc291cmNlLCAmcGNpZV9tZW1fc3BhY2UpKQorCQlwYW5pYygiY2FuJ3QgYWxsb2NhdGUgUENJZSBNRU0gc3BhY2UiKTsKKworCWZvciAoaSA9IDA7IGkgPCBudW1fcGNpZV9wb3J0czsgaSsrKSB7CisJCXN0cnVjdCBwY2llX3BvcnQgKnBwID0gcGNpZV9wb3J0ICsgaTsKKworCQlzbnByaW50ZihwcC0+aW9fc3BhY2VfbmFtZSwgc2l6ZW9mKHBwLT5pb19zcGFjZV9uYW1lKSwKKwkJCSJQQ0llICVkLiVkIEkvTyIsIHBwLT5tYWosIHBwLT5taW4pOworCQlwcC0+aW9fc3BhY2VfbmFtZVtzaXplb2YocHAtPmlvX3NwYWNlX25hbWUpIC0gMV0gPSAwOworCQlwcC0+cmVzWzBdLm5hbWUgPSBwcC0+aW9fc3BhY2VfbmFtZTsKKwkJcHAtPnJlc1swXS5zdGFydCA9IE1WNzhYWDBfUENJRV9JT19QSFlTX0JBU0UoaSk7CisJCXBwLT5yZXNbMF0uZW5kID0gcHAtPnJlc1swXS5zdGFydCArIE1WNzhYWDBfUENJRV9JT19TSVpFIC0gMTsKKwkJcHAtPnJlc1swXS5mbGFncyA9IElPUkVTT1VSQ0VfSU87CisKKwkJc25wcmludGYocHAtPm1lbV9zcGFjZV9uYW1lLCBzaXplb2YocHAtPm1lbV9zcGFjZV9uYW1lKSwKKwkJCSJQQ0llICVkLiVkIE1FTSIsIHBwLT5tYWosIHBwLT5taW4pOworCQlwcC0+bWVtX3NwYWNlX25hbWVbc2l6ZW9mKHBwLT5tZW1fc3BhY2VfbmFtZSkgLSAxXSA9IDA7CisJCXBwLT5yZXNbMV0ubmFtZSA9IHBwLT5tZW1fc3BhY2VfbmFtZTsKKwkJcHAtPnJlc1sxXS5mbGFncyA9IElPUkVTT1VSQ0VfTUVNOworCX0KKworCXN3aXRjaCAobnVtX3BjaWVfcG9ydHMpIHsKKwljYXNlIDA6CisJCXNpemVfZWFjaCA9IDA7CisJCWJyZWFrOworCisJY2FzZSAxOgorCQlzaXplX2VhY2ggPSAweDMwMDAwMDAwOworCQlicmVhazsKKworCWNhc2UgMiAuLi4gMzoKKwkJc2l6ZV9lYWNoID0gMHgxMDAwMDAwMDsKKwkJYnJlYWs7CisKKwljYXNlIDQgLi4uIDY6CisJCXNpemVfZWFjaCA9IDB4MDgwMDAwMDA7CisJCWJyZWFrOworCisJY2FzZSA3OgorCQlzaXplX2VhY2ggPSAweDA0MDAwMDAwOworCQlicmVhazsKKworCWRlZmF1bHQ6CisJCXBhbmljKCJpbnZhbGlkIG51bWJlciBvZiBQQ0llIHBvcnRzIik7CisJfQorCisJc3RhcnQgPSBNVjc4WFgwX1BDSUVfTUVNX1BIWVNfQkFTRTsKKwlmb3IgKGkgPSAwOyBpIDwgbnVtX3BjaWVfcG9ydHM7IGkrKykgeworCQlzdHJ1Y3QgcGNpZV9wb3J0ICpwcCA9IHBjaWVfcG9ydCArIGk7CisKKwkJcHAtPnJlc1sxXS5zdGFydCA9IHN0YXJ0OworCQlwcC0+cmVzWzFdLmVuZCA9IHN0YXJ0ICsgc2l6ZV9lYWNoIC0gMTsKKwkJc3RhcnQgKz0gc2l6ZV9lYWNoOworCX0KKworCWZvciAoaSA9IDA7IGkgPCBudW1fcGNpZV9wb3J0czsgaSsrKSB7CisJCXN0cnVjdCBwY2llX3BvcnQgKnBwID0gcGNpZV9wb3J0ICsgaTsKKworCQlpZiAocmVxdWVzdF9yZXNvdXJjZSgmcGNpZV9pb19zcGFjZSwgJnBwLT5yZXNbMF0pKQorCQkJcGFuaWMoImNhbid0IGFsbG9jYXRlIFBDSWUgSS9PIHN1Yi1zcGFjZSIpOworCisJCWlmIChyZXF1ZXN0X3Jlc291cmNlKCZwY2llX21lbV9zcGFjZSwgJnBwLT5yZXNbMV0pKQorCQkJcGFuaWMoImNhbid0IGFsbG9jYXRlIFBDSWUgTUVNIHN1Yi1zcGFjZSIpOworCX0KKworCXdpbiA9IDA7CisJZm9yIChpID0gMDsgaSA8IG51bV9wY2llX3BvcnRzOyBpKyspIHsKKwkJc3RydWN0IHBjaWVfcG9ydCAqcHAgPSBwY2llX3BvcnQgKyBpOworCisJCW12Nzh4eDBfc2V0dXBfcGNpZV9pb193aW4od2luKyssIHBwLT5yZXNbMF0uc3RhcnQsCisJCQlwcC0+cmVzWzBdLmVuZCAtIHBwLT5yZXNbMF0uc3RhcnQgKyAxLAorCQkJcHAtPm1haiwgcHAtPm1pbik7CisKKwkJbXY3OHh4MF9zZXR1cF9wY2llX21lbV93aW4od2luKyssIHBwLT5yZXNbMV0uc3RhcnQsCisJCQlwcC0+cmVzWzFdLmVuZCAtIHBwLT5yZXNbMV0uc3RhcnQgKyAxLAorCQkJcHAtPm1haiwgcHAtPm1pbik7CisJfQorfQorCitzdGF0aWMgaW50IF9faW5pdCBtdjc4eHgwX3BjaWVfc2V0dXAoaW50IG5yLCBzdHJ1Y3QgcGNpX3N5c19kYXRhICpzeXMpCit7CisJc3RydWN0IHBjaWVfcG9ydCAqcHA7CisKKwlpZiAobnIgPj0gbnVtX3BjaWVfcG9ydHMpCisJCXJldHVybiAwOworCisJcHAgPSAmcGNpZV9wb3J0W25yXTsKKwlwcC0+cm9vdF9idXNfbnIgPSBzeXMtPmJ1c25yOworCisJLyoKKwkgKiBHZW5lcmljIFBDSWUgdW5pdCBzZXR1cC4KKwkgKi8KKwlvcmlvbl9wY2llX3NldF9sb2NhbF9idXNfbnIocHAtPmJhc2UsIHN5cy0+YnVzbnIpOworCW9yaW9uX3BjaWVfc2V0dXAocHAtPmJhc2UsICZtdjc4eHgwX21idXNfZHJhbV9pbmZvKTsKKworCXN5cy0+cmVzb3VyY2VbMF0gPSAmcHAtPnJlc1swXTsKKwlzeXMtPnJlc291cmNlWzFdID0gJnBwLT5yZXNbMV07CisJc3lzLT5yZXNvdXJjZVsyXSA9IE5VTEw7CisKKwlyZXR1cm4gMTsKK30KKworc3RhdGljIHN0cnVjdCBwY2llX3BvcnQgKmJ1c190b19wb3J0KGludCBidXMpCit7CisJaW50IGk7CisKKwlmb3IgKGkgPSBudW1fcGNpZV9wb3J0cyAtIDE7IGkgPj0gMDsgaS0tKSB7CisJCWludCByYnVzID0gcGNpZV9wb3J0W2ldLnJvb3RfYnVzX25yOworCQlpZiAocmJ1cyAhPSAtMSAmJiByYnVzIDw9IGJ1cykKKwkJCWJyZWFrOworCX0KKworCXJldHVybiBpID49IDAgPyBwY2llX3BvcnQgKyBpIDogTlVMTDsKK30KKworc3RhdGljIGludCBwY2llX3ZhbGlkX2NvbmZpZyhzdHJ1Y3QgcGNpZV9wb3J0ICpwcCwgaW50IGJ1cywgaW50IGRldikKK3sKKwkvKgorCSAqIERvbid0IGdvIG91dCB3aGVuIHRyeWluZyB0byBhY2Nlc3Mgbm9uZXhpc3RpbmcgZGV2aWNlcworCSAqIG9uIHRoZSBsb2NhbCBidXMuCisJICovCisJaWYgKGJ1cyA9PSBwcC0+cm9vdF9idXNfbnIgJiYgZGV2ID4gMSkKKwkJcmV0dXJuIDA7CisKKwlyZXR1cm4gMTsKK30KKworc3RhdGljIGludCBwY2llX3JkX2NvbmYoc3RydWN0IHBjaV9idXMgKmJ1cywgdTMyIGRldmZuLCBpbnQgd2hlcmUsCisJCQlpbnQgc2l6ZSwgdTMyICp2YWwpCit7CisJc3RydWN0IHBjaWVfcG9ydCAqcHAgPSBidXNfdG9fcG9ydChidXMtPm51bWJlcik7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKwlpbnQgcmV0OworCisJaWYgKHBjaWVfdmFsaWRfY29uZmlnKHBwLCBidXMtPm51bWJlciwgUENJX1NMT1QoZGV2Zm4pKSA9PSAwKSB7CisJCSp2YWwgPSAweGZmZmZmZmZmOworCQlyZXR1cm4gUENJQklPU19ERVZJQ0VfTk9UX0ZPVU5EOworCX0KKworCXNwaW5fbG9ja19pcnFzYXZlKCZwcC0+Y29uZl9sb2NrLCBmbGFncyk7CisJcmV0ID0gb3Jpb25fcGNpZV9yZF9jb25mKHBwLT5iYXNlLCBidXMsIGRldmZuLCB3aGVyZSwgc2l6ZSwgdmFsKTsKKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZwcC0+Y29uZl9sb2NrLCBmbGFncyk7CisKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgaW50IHBjaWVfd3JfY29uZihzdHJ1Y3QgcGNpX2J1cyAqYnVzLCB1MzIgZGV2Zm4sCisJCQlpbnQgd2hlcmUsIGludCBzaXplLCB1MzIgdmFsKQoreworCXN0cnVjdCBwY2llX3BvcnQgKnBwID0gYnVzX3RvX3BvcnQoYnVzLT5udW1iZXIpOworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisJaW50IHJldDsKKworCWlmIChwY2llX3ZhbGlkX2NvbmZpZyhwcCwgYnVzLT5udW1iZXIsIFBDSV9TTE9UKGRldmZuKSkgPT0gMCkKKwkJcmV0dXJuIFBDSUJJT1NfREVWSUNFX05PVF9GT1VORDsKKworCXNwaW5fbG9ja19pcnFzYXZlKCZwcC0+Y29uZl9sb2NrLCBmbGFncyk7CisJcmV0ID0gb3Jpb25fcGNpZV93cl9jb25mKHBwLT5iYXNlLCBidXMsIGRldmZuLCB3aGVyZSwgc2l6ZSwgdmFsKTsKKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZwcC0+Y29uZl9sb2NrLCBmbGFncyk7CisKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgc3RydWN0IHBjaV9vcHMgcGNpZV9vcHMgPSB7CisJLnJlYWQgPSBwY2llX3JkX2NvbmYsCisJLndyaXRlID0gcGNpZV93cl9jb25mLAorfTsKKworc3RhdGljIHZvaWQgX19kZXZpbml0IHJjX3BjaV9maXh1cChzdHJ1Y3QgcGNpX2RldiAqZGV2KQoreworCS8qCisJICogUHJldmVudCBlbnVtZXJhdGlvbiBvZiByb290IGNvbXBsZXguCisJICovCisJaWYgKGRldi0+YnVzLT5wYXJlbnQgPT0gTlVMTCAmJiBkZXYtPmRldmZuID09IDApIHsKKwkJaW50IGk7CisKKwkJZm9yIChpID0gMDsgaSA8IERFVklDRV9DT1VOVF9SRVNPVVJDRTsgaSsrKSB7CisJCQlkZXYtPnJlc291cmNlW2ldLnN0YXJ0ID0gMDsKKwkJCWRldi0+cmVzb3VyY2VbaV0uZW5kICAgPSAwOworCQkJZGV2LT5yZXNvdXJjZVtpXS5mbGFncyA9IDA7CisJCX0KKwl9Cit9CitERUNMQVJFX1BDSV9GSVhVUF9IRUFERVIoUENJX1ZFTkRPUl9JRF9NQVJWRUxMLCBQQ0lfQU5ZX0lELCByY19wY2lfZml4dXApOworCitzdGF0aWMgc3RydWN0IHBjaV9idXMgX19pbml0ICoKK212Nzh4eDBfcGNpZV9zY2FuX2J1cyhpbnQgbnIsIHN0cnVjdCBwY2lfc3lzX2RhdGEgKnN5cykKK3sKKwlzdHJ1Y3QgcGNpX2J1cyAqYnVzOworCisJaWYgKG5yIDwgbnVtX3BjaWVfcG9ydHMpIHsKKwkJYnVzID0gcGNpX3NjYW5fYnVzKHN5cy0+YnVzbnIsICZwY2llX29wcywgc3lzKTsKKwl9IGVsc2UgeworCQlidXMgPSBOVUxMOworCQlCVUcoKTsKKwl9CisKKwlyZXR1cm4gYnVzOworfQorCitzdGF0aWMgaW50IF9faW5pdCBtdjc4eHgwX3BjaWVfbWFwX2lycShzdHJ1Y3QgcGNpX2RldiAqZGV2LCB1OCBzbG90LCB1OCBwaW4pCit7CisJc3RydWN0IHBjaWVfcG9ydCAqcHAgPSBidXNfdG9fcG9ydChkZXYtPmJ1cy0+bnVtYmVyKTsKKworCXJldHVybiBJUlFfTVY3OFhYMF9QQ0lFXzAwICsgKHBwLT5tYWogPDwgMikgKyBwcC0+bWluOworfQorCitzdGF0aWMgc3RydWN0IGh3X3BjaSBtdjc4eHgwX3BjaSBfX2luaXRkYXRhID0geworCS5ucl9jb250cm9sbGVycwk9IDgsCisJLnByZWluaXQJPSBtdjc4eHgwX3BjaWVfcHJlaW5pdCwKKwkuc3dpenpsZQk9IHBjaV9zdGRfc3dpenpsZSwKKwkuc2V0dXAJCT0gbXY3OHh4MF9wY2llX3NldHVwLAorCS5zY2FuCQk9IG12Nzh4eDBfcGNpZV9zY2FuX2J1cywKKwkubWFwX2lycQk9IG12Nzh4eDBfcGNpZV9tYXBfaXJxLAorfTsKKworc3RhdGljIHZvaWQgX19pbml0IGFkZF9wY2llX3BvcnQoaW50IG1haiwgaW50IG1pbiwgdW5zaWduZWQgbG9uZyBiYXNlKQoreworCXByaW50ayhLRVJOX0lORk8gIk1WNzh4eDAgUENJZSBwb3J0ICVkLiVkOiAiLCBtYWosIG1pbik7CisKKwlpZiAob3Jpb25fcGNpZV9saW5rX3VwKCh2b2lkIF9faW9tZW0gKiliYXNlKSkgeworCQlzdHJ1Y3QgcGNpZV9wb3J0ICpwcCA9ICZwY2llX3BvcnRbbnVtX3BjaWVfcG9ydHMrK107CisKKwkJcHJpbnRrKCJsaW5rIHVwXG4iKTsKKworCQlwcC0+bWFqID0gbWFqOworCQlwcC0+bWluID0gbWluOworCQlwcC0+cm9vdF9idXNfbnIgPSAtMTsKKwkJcHAtPmJhc2UgPSAodm9pZCBfX2lvbWVtICopYmFzZTsKKwkJc3Bpbl9sb2NrX2luaXQoJnBwLT5jb25mX2xvY2spOworCQltZW1zZXQocHAtPnJlcywgMCwgc2l6ZW9mKHBwLT5yZXMpKTsKKwl9IGVsc2UgeworCQlwcmludGsoImxpbmsgZG93biwgaWdub3JpbmdcbiIpOworCX0KK30KKwordm9pZCBfX2luaXQgbXY3OHh4MF9wY2llX2luaXQoaW50IGluaXRfcG9ydDAsIGludCBpbml0X3BvcnQxKQoreworCWlmIChpbml0X3BvcnQwKSB7CisJCWFkZF9wY2llX3BvcnQoMCwgMCwgUENJRTAwX1ZJUlRfQkFTRSk7CisJCWlmICghb3Jpb25fcGNpZV94NF9tb2RlKCh2b2lkIF9faW9tZW0gKilQQ0lFMDBfVklSVF9CQVNFKSkgeworCQkJYWRkX3BjaWVfcG9ydCgwLCAxLCBQQ0lFMDFfVklSVF9CQVNFKTsKKwkJCWFkZF9wY2llX3BvcnQoMCwgMiwgUENJRTAyX1ZJUlRfQkFTRSk7CisJCQlhZGRfcGNpZV9wb3J0KDAsIDMsIFBDSUUwM19WSVJUX0JBU0UpOworCQl9CisJfQorCisJaWYgKGluaXRfcG9ydDEpIHsKKwkJYWRkX3BjaWVfcG9ydCgxLCAwLCBQQ0lFMTBfVklSVF9CQVNFKTsKKwkJaWYgKCFvcmlvbl9wY2llX3g0X21vZGUoKHZvaWQgX19pb21lbSAqKVBDSUUxMF9WSVJUX0JBU0UpKSB7CisJCQlhZGRfcGNpZV9wb3J0KDEsIDEsIFBDSUUxMV9WSVJUX0JBU0UpOworCQkJYWRkX3BjaWVfcG9ydCgxLCAyLCBQQ0lFMTJfVklSVF9CQVNFKTsKKwkJCWFkZF9wY2llX3BvcnQoMSwgMywgUENJRTEzX1ZJUlRfQkFTRSk7CisJCX0KKwl9CisKKwlwY2lfY29tbW9uX2luaXQoJm12Nzh4eDBfcGNpKTsKK30KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtbXgyL0tjb25maWcgYi9hcmNoL2FybS9tYWNoLW14Mi9LY29uZmlnCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFlYWE5N2MKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLW14Mi9LY29uZmlnCkBAIC0wLDAgKzEsMzkgQEAKK2NvbW1lbnQgIk1YMiBmYW1pbHkgQ1BVIHN1cHBvcnQiCisJZGVwZW5kcyBvbiBBUkNIX01YMgorCitjb25maWcgTUFDSF9NWDI3CisJYm9vbCAiaS5NWDI3IHN1cHBvcnQiCisJZGVwZW5kcyBvbiBBUkNIX01YMgorCWhlbHAKKwkgIFRoaXMgZW5hYmxlcyBzdXBwb3J0IGZvciBGcmVlc2NhbGUncyBNWDIgYmFzZWQgaS5NWDI3IHByb2Nlc3Nvci4KKworY29tbWVudCAiTVgyIFBsYXRmb3JtcyIKKwlkZXBlbmRzIG9uIEFSQ0hfTVgyCisKK2NvbmZpZyBNQUNIX01YMjdBRFMKKwlib29sICJNWDI3QURTIHBsYXRmb3JtIgorCWRlcGVuZHMgb24gTUFDSF9NWDI3CisJaGVscAorCSAgSW5jbHVkZSBzdXBwb3J0IGZvciBNWDI3QURTIHBsYXRmb3JtLiBUaGlzIGluY2x1ZGVzIHNwZWNpZmljCisJICBjb25maWd1cmF0aW9ucyBmb3IgdGhlIGJvYXJkIGFuZCBpdHMgcGVyaXBoZXJhbHMuCisKK2NvbmZpZyBNQUNIX1BDTTAzOAorCWJvb2wgIlBoeXRlYyBwaHlDT1JFLWkuTVgyNyBDUFUgbW9kdWxlIChwY20wMzgpIgorCWRlcGVuZHMgb24gTUFDSF9NWDI3CisJaGVscAorCSAgSW5jbHVkZSBzdXBwb3J0IGZvciBwaHlDT1JFLWkuTVgyNyAoYWthIHBjbTAzOCkgcGxhdGZvcm0uIFRoaXMKKwkgIGluY2x1ZGVzIHNwZWNpZmljIGNvbmZpZ3VyYXRpb25zIGZvciB0aGUgbW9kdWxlIGFuZCBpdHMgcGVyaXBoZXJhbHMuCisKK2Nob2ljZQorCXByb21wdCAiQmFzZWJvYXJkIgorCWRlcGVuZHMgb24gTUFDSF9QQ00wMzgKKwlkZWZhdWx0IE1BQ0hfUENNOTcwX0JBU0VCT0FSRAorCitjb25maWcgTUFDSF9QQ005NzBfQkFTRUJPQVJECisJcHJvbXB0ICJQSFlURUMgUENNOTcwIGRldmVsb3BtZW50IGJvYXJkIgorCWJvb2wKKwloZWxwCisJICBUaGlzIGFkZHMgYm9hcmQgc3BlY2lmaWMgZGV2aWNlcyB0aGF0IGNhbiBiZSBmb3VuZCBvbiBQaHl0ZWMncworCSAgUENNOTcwIGV2YWx1YXRpb24gYm9hcmQuCisKK2VuZGNob2ljZQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1teDIvTWFrZWZpbGUgYi9hcmNoL2FybS9tYWNoLW14Mi9NYWtlZmlsZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zODJkODYwCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vbWFjaC1teDIvTWFrZWZpbGUKQEAgLTAsMCArMSwxNCBAQAorIworIyBNYWtlZmlsZSBmb3IgdGhlIGxpbnV4IGtlcm5lbC4KKyMKKworIyBPYmplY3QgZmlsZSBsaXN0cy4KKworb2JqLXkJOj0gIHN5c3RlbS5vIGdlbmVyaWMubyBkZXZpY2VzLm8gc2VyaWFsLm8KKworb2JqLSQoQ09ORklHX01BQ0hfTVgyNykgKz0gY3B1X2lteDI3Lm8KK29iai0kKENPTkZJR19NQUNIX01YMjcpICs9IGNsb2NrX2lteDI3Lm8KKworb2JqLSQoQ09ORklHX01BQ0hfTVgyN0FEUykgKz0gbXgyN2Fkcy5vCitvYmotJChDT05GSUdfTUFDSF9QQ00wMzgpICs9IHBjbTAzOC5vCitvYmotJChDT05GSUdfTUFDSF9QQ005NzBfQkFTRUJPQVJEKSArPSBwY205NzAtYmFzZWJvYXJkLm8KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtbXgyL01ha2VmaWxlLmJvb3QgYi9hcmNoL2FybS9tYWNoLW14Mi9NYWtlZmlsZS5ib290Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY5NjgzMWRjZAotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gtbXgyL01ha2VmaWxlLmJvb3QKQEAgLTAsMCArMSwzIEBACisgICB6cmVsYWRkci15CTo9IDB4QTAwMDgwMDAKK3BhcmFtc19waHlzLXkJOj0gMHhBMDAwMDEwMAoraW5pdHJkX3BoeXMteQk6PSAweEEwODAwMDAwCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW14Mi9jbG9ja19pbXgyNy5jIGIvYXJjaC9hcm0vbWFjaC1teDIvY2xvY2tfaW14MjcuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYTI5ZWYyCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vbWFjaC1teDIvY2xvY2tfaW14MjcuYwpAQCAtMCwwICsxLDE2MjYgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAwNC0yMDA3IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgMjAwOCBKdWVyZ2VuIEJlaXNlcnQsIGtlcm5lbEBwZW5ndXRyb25peC5kZQorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMgorICogb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLAorICogTUEgMDIxMTAtMTMwMSwgVVNBLgorICovCisKKyNpbmNsdWRlIDxsaW51eC9jbGsuaD4KKyNpbmNsdWRlIDxsaW51eC9pby5oPgorI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L3NwaW5sb2NrLmg+CisKKyNpbmNsdWRlIDxhc20vYXJjaC9jbG9jay5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2NvbW1vbi5oPgorI2luY2x1ZGUgPGFzbS9kaXY2NC5oPgorI2luY2x1ZGUgPGFzbS9tYWNoLXR5cGVzLmg+CisKKyNpbmNsdWRlICJjcm1fcmVncy5oIgorCitzdGF0aWMgc3RydWN0IGNsayBja2lsX2NsazsKK3N0YXRpYyBzdHJ1Y3QgY2xrIG1wbGxfY2xrOworc3RhdGljIHN0cnVjdCBjbGsgbXBsbF9tYWluX2Nsa1tdOworc3RhdGljIHN0cnVjdCBjbGsgc3BsbF9jbGs7CisKK3N0YXRpYyBpbnQgX2Nsa19lbmFibGUoc3RydWN0IGNsayAqY2xrKQoreworCXVuc2lnbmVkIGxvbmcgcmVnOworCisJcmVnID0gX19yYXdfcmVhZGwoY2xrLT5lbmFibGVfcmVnKTsKKwlyZWcgfD0gMSA8PCBjbGstPmVuYWJsZV9zaGlmdDsKKwlfX3Jhd193cml0ZWwocmVnLCBjbGstPmVuYWJsZV9yZWcpOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIF9jbGtfZGlzYWJsZShzdHJ1Y3QgY2xrICpjbGspCit7CisJdW5zaWduZWQgbG9uZyByZWc7CisKKwlyZWcgPSBfX3Jhd19yZWFkbChjbGstPmVuYWJsZV9yZWcpOworCXJlZyAmPSB+KDEgPDwgY2xrLT5lbmFibGVfc2hpZnQpOworCV9fcmF3X3dyaXRlbChyZWcsIGNsay0+ZW5hYmxlX3JlZyk7Cit9CisKK3N0YXRpYyBpbnQgX2Nsa19zcGxsX2VuYWJsZShzdHJ1Y3QgY2xrICpjbGspCit7CisJdW5zaWduZWQgbG9uZyByZWc7CisKKwlyZWcgPSBfX3Jhd19yZWFkbChDQ01fQ1NDUik7CisJcmVnIHw9IENDTV9DU0NSX1NQRU47CisJX19yYXdfd3JpdGVsKHJlZywgQ0NNX0NTQ1IpOworCisJd2hpbGUgKChfX3Jhd19yZWFkbChDQ01fU1BDVEwxKSAmIENDTV9TUENUTDFfTEYpID09IDApCisJCTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBfY2xrX3NwbGxfZGlzYWJsZShzdHJ1Y3QgY2xrICpjbGspCit7CisJdW5zaWduZWQgbG9uZyByZWc7CisKKwlyZWcgPSBfX3Jhd19yZWFkbChDQ01fQ1NDUik7CisJcmVnICY9IH5DQ01fQ1NDUl9TUEVOOworCV9fcmF3X3dyaXRlbChyZWcsIENDTV9DU0NSKTsKK30KKworc3RhdGljIHZvaWQgX2Nsa19wY2NyMDFfZW5hYmxlKHVuc2lnbmVkIGxvbmcgbWFzazAsIHVuc2lnbmVkIGxvbmcgbWFzazEpCit7CisJdW5zaWduZWQgbG9uZyByZWc7CisKKwlyZWcgPSBfX3Jhd19yZWFkbChDQ01fUENDUjApOworCXJlZyB8PSBtYXNrMDsKKwlfX3Jhd193cml0ZWwocmVnLCBDQ01fUENDUjApOworCisJcmVnID0gX19yYXdfcmVhZGwoQ0NNX1BDQ1IxKTsKKwlyZWcgfD0gbWFzazE7CisJX19yYXdfd3JpdGVsKHJlZywgQ0NNX1BDQ1IxKTsKKworfQorCitzdGF0aWMgdm9pZCBfY2xrX3BjY3IwMV9kaXNhYmxlKHVuc2lnbmVkIGxvbmcgbWFzazAsIHVuc2lnbmVkIGxvbmcgbWFzazEpCit7CisJdW5zaWduZWQgbG9uZyByZWc7CisKKwlyZWcgPSBfX3Jhd19yZWFkbChDQ01fUENDUjApOworCXJlZyAmPSB+bWFzazA7CisJX19yYXdfd3JpdGVsKHJlZywgQ0NNX1BDQ1IwKTsKKworCXJlZyA9IF9fcmF3X3JlYWRsKENDTV9QQ0NSMSk7CisJcmVnICY9IH5tYXNrMTsKKwlfX3Jhd193cml0ZWwocmVnLCBDQ01fUENDUjEpOworfQorCitzdGF0aWMgdm9pZCBfY2xrX3BjY3IxMF9lbmFibGUodW5zaWduZWQgbG9uZyBtYXNrMSwgdW5zaWduZWQgbG9uZyBtYXNrMCkKK3sKKwl1bnNpZ25lZCBsb25nIHJlZzsKKworCXJlZyA9IF9fcmF3X3JlYWRsKENDTV9QQ0NSMSk7CisJcmVnIHw9IG1hc2sxOworCV9fcmF3X3dyaXRlbChyZWcsIENDTV9QQ0NSMSk7CisKKwlyZWcgPSBfX3Jhd19yZWFkbChDQ01fUENDUjApOworCXJlZyB8PSBtYXNrMDsKKwlfX3Jhd193cml0ZWwocmVnLCBDQ01fUENDUjApOworfQorCitzdGF0aWMgdm9pZCBfY2xrX3BjY3IxMF9kaXNhYmxlKHVuc2lnbmVkIGxvbmcgbWFzazEsIHVuc2lnbmVkIGxvbmcgbWFzazApCit7CisJdW5zaWduZWQgbG9uZyByZWc7CisKKwlyZWcgPSBfX3Jhd19yZWFkbChDQ01fUENDUjEpOworCXJlZyAmPSB+bWFzazE7CisJX19yYXdfd3JpdGVsKHJlZywgQ0NNX1BDQ1IxKTsKKworCXJlZyA9IF9fcmF3X3JlYWRsKENDTV9QQ0NSMCk7CisJcmVnICY9IH5tYXNrMDsKKwlfX3Jhd193cml0ZWwocmVnLCBDQ01fUENDUjApOworfQorCitzdGF0aWMgaW50IF9jbGtfZG1hX2VuYWJsZShzdHJ1Y3QgY2xrICpjbGspCit7CisJX2Nsa19wY2NyMDFfZW5hYmxlKENDTV9QQ0NSMF9ETUFfTUFTSywgQ0NNX1BDQ1IxX0hDTEtfRE1BX01BU0spOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIF9jbGtfZG1hX2Rpc2FibGUoc3RydWN0IGNsayAqY2xrKQoreworCV9jbGtfcGNjcjAxX2Rpc2FibGUoQ0NNX1BDQ1IwX0RNQV9NQVNLLCBDQ01fUENDUjFfSENMS19ETUFfTUFTSyk7Cit9CisKK3N0YXRpYyBpbnQgX2Nsa19ydGljX2VuYWJsZShzdHJ1Y3QgY2xrICpjbGspCit7CisJX2Nsa19wY2NyMDFfZW5hYmxlKENDTV9QQ0NSMF9SVElDX01BU0ssIENDTV9QQ0NSMV9IQ0xLX1JUSUNfTUFTSyk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgX2Nsa19ydGljX2Rpc2FibGUoc3RydWN0IGNsayAqY2xrKQoreworCV9jbGtfcGNjcjAxX2Rpc2FibGUoQ0NNX1BDQ1IwX1JUSUNfTUFTSywgQ0NNX1BDQ1IxX0hDTEtfUlRJQ19NQVNLKTsKK30KKworc3RhdGljIGludCBfY2xrX2VtbWFfZW5hYmxlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwlfY2xrX3BjY3IwMV9lbmFibGUoQ0NNX1BDQ1IwX0VNTUFfTUFTSywgQ0NNX1BDQ1IxX0hDTEtfRU1NQV9NQVNLKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBfY2xrX2VtbWFfZGlzYWJsZShzdHJ1Y3QgY2xrICpjbGspCit7CisJX2Nsa19wY2NyMDFfZGlzYWJsZShDQ01fUENDUjBfRU1NQV9NQVNLLCBDQ01fUENDUjFfSENMS19FTU1BX01BU0spOworfQorCitzdGF0aWMgaW50IF9jbGtfc2xjZGNfZW5hYmxlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwlfY2xrX3BjY3IwMV9lbmFibGUoQ0NNX1BDQ1IwX1NMQ0RDX01BU0ssIENDTV9QQ0NSMV9IQ0xLX1NMQ0RDX01BU0spOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIF9jbGtfc2xjZGNfZGlzYWJsZShzdHJ1Y3QgY2xrICpjbGspCit7CisJX2Nsa19wY2NyMDFfZGlzYWJsZShDQ01fUENDUjBfU0xDRENfTUFTSywgQ0NNX1BDQ1IxX0hDTEtfU0xDRENfTUFTSyk7Cit9CisKK3N0YXRpYyBpbnQgX2Nsa19mZWNfZW5hYmxlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwlfY2xrX3BjY3IwMV9lbmFibGUoQ0NNX1BDQ1IwX0ZFQ19NQVNLLCBDQ01fUENDUjFfSENMS19GRUNfTUFTSyk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgX2Nsa19mZWNfZGlzYWJsZShzdHJ1Y3QgY2xrICpjbGspCit7CisJX2Nsa19wY2NyMDFfZGlzYWJsZShDQ01fUENDUjBfRkVDX01BU0ssIENDTV9QQ0NSMV9IQ0xLX0ZFQ19NQVNLKTsKK30KKworc3RhdGljIGludCBfY2xrX3ZwdV9lbmFibGUoc3RydWN0IGNsayAqY2xrKQoreworCXVuc2lnbmVkIGxvbmcgcmVnOworCisJcmVnID0gX19yYXdfcmVhZGwoQ0NNX1BDQ1IxKTsKKwlyZWcgfD0gQ0NNX1BDQ1IxX1ZQVV9CQVVEX01BU0sgfCBDQ01fUENDUjFfSENMS19WUFVfTUFTSzsKKwlfX3Jhd193cml0ZWwocmVnLCBDQ01fUENDUjEpOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIF9jbGtfdnB1X2Rpc2FibGUoc3RydWN0IGNsayAqY2xrKQoreworCXVuc2lnbmVkIGxvbmcgcmVnOworCisJcmVnID0gX19yYXdfcmVhZGwoQ0NNX1BDQ1IxKTsKKwlyZWcgJj0gfihDQ01fUENDUjFfVlBVX0JBVURfTUFTSyB8IENDTV9QQ0NSMV9IQ0xLX1ZQVV9NQVNLKTsKKwlfX3Jhd193cml0ZWwocmVnLCBDQ01fUENDUjEpOworfQorCitzdGF0aWMgaW50IF9jbGtfc2FoYXJhMl9lbmFibGUoc3RydWN0IGNsayAqY2xrKQoreworCV9jbGtfcGNjcjAxX2VuYWJsZShDQ01fUENDUjBfU0FIQVJBX01BU0ssIENDTV9QQ0NSMV9IQ0xLX1NBSEFSQV9NQVNLKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBfY2xrX3NhaGFyYTJfZGlzYWJsZShzdHJ1Y3QgY2xrICpjbGspCit7CisJX2Nsa19wY2NyMDFfZGlzYWJsZShDQ01fUENDUjBfU0FIQVJBX01BU0ssIENDTV9QQ0NSMV9IQ0xLX1NBSEFSQV9NQVNLKTsKK30KKworc3RhdGljIGludCBfY2xrX21zdGljazFfZW5hYmxlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwlfY2xrX3BjY3IxMF9lbmFibGUoQ0NNX1BDQ1IxX01TSENfQkFVRF9NQVNLLCBDQ01fUENDUjBfTVNIQ19NQVNLKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBfY2xrX21zdGljazFfZGlzYWJsZShzdHJ1Y3QgY2xrICpjbGspCit7CisJX2Nsa19wY2NyMTBfZGlzYWJsZShDQ01fUENDUjFfTVNIQ19CQVVEX01BU0ssIENDTV9QQ0NSMF9NU0hDX01BU0spOworfQorCisjZGVmaW5lIENTQ1IoKSAoX19yYXdfcmVhZGwoQ0NNX0NTQ1IpKQorI2RlZmluZSBQQ0RSMCgpIChfX3Jhd19yZWFkbChDQ01fUENEUjApKQorI2RlZmluZSBQQ0RSMSgpIChfX3Jhd19yZWFkbChDQ01fUENEUjEpKQorCitzdGF0aWMgaW50IF9jbGtfY3B1X3NldF9wYXJlbnQoc3RydWN0IGNsayAqY2xrLCBzdHJ1Y3QgY2xrICpwYXJlbnQpCit7CisJaW50IGNzY3IgPSBDU0NSKCk7CisKKwlpZiAoY2xrLT5wYXJlbnQgPT0gcGFyZW50KQorCQlyZXR1cm4gMDsKKworCWlmIChteDI3X3JldmlzaW9uKCkgPj0gQ0hJUF9SRVZfMl8wKSB7CisJCWlmIChwYXJlbnQgPT0gJm1wbGxfbWFpbl9jbGtbMF0pIHsKKwkJCWNzY3IgfD0gQ0NNX0NTQ1JfQVJNX1NSQzsKKwkJfSBlbHNlIHsKKwkJCWlmIChwYXJlbnQgPT0gJm1wbGxfbWFpbl9jbGtbMV0pCisJCQkJY3NjciAmPSB+Q0NNX0NTQ1JfQVJNX1NSQzsKKwkJCWVsc2UKKwkJCQlyZXR1cm4gLUVJTlZBTDsKKwkJfQorCQlfX3Jhd193cml0ZWwoY3NjciwgQ0NNX0NTQ1IpOworCX0gZWxzZQorCQlyZXR1cm4gLUVOT0RFVjsKKworCWNsay0+cGFyZW50ID0gcGFyZW50OworCXJldHVybiAwOworfQorCitzdGF0aWMgdW5zaWduZWQgbG9uZyBfY2xrX2NwdV9yb3VuZF9yYXRlKHN0cnVjdCBjbGsgKmNsaywgdW5zaWduZWQgbG9uZyByYXRlKQoreworCWludCBkaXY7CisJdW5zaWduZWQgbG9uZyBwYXJlbnRfcmF0ZTsKKworCXBhcmVudF9yYXRlID0gY2xrX2dldF9yYXRlKGNsay0+cGFyZW50KTsKKworCWRpdiA9IHBhcmVudF9yYXRlIC8gcmF0ZTsKKwlpZiAocGFyZW50X3JhdGUgJSByYXRlKQorCQlkaXYrKzsKKworCWlmIChkaXYgPiA0KQorCQlkaXYgPSA0OworCisJcmV0dXJuIHBhcmVudF9yYXRlIC8gZGl2OworfQorCitzdGF0aWMgaW50IF9jbGtfY3B1X3NldF9yYXRlKHN0cnVjdCBjbGsgKmNsaywgdW5zaWduZWQgbG9uZyByYXRlKQoreworCXVuc2lnbmVkIGludCBkaXY7CisJdWludDMyX3QgcmVnOworCXVuc2lnbmVkIGxvbmcgcGFyZW50X3JhdGU7CisKKwlwYXJlbnRfcmF0ZSA9IGNsa19nZXRfcmF0ZShjbGstPnBhcmVudCk7CisKKwlkaXYgPSBwYXJlbnRfcmF0ZSAvIHJhdGU7CisKKwlpZiAoZGl2ID4gNCB8fCBkaXYgPCAxIHx8ICgocGFyZW50X3JhdGUgLyBkaXYpICE9IHJhdGUpKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWRpdi0tOworCisJcmVnID0gX19yYXdfcmVhZGwoQ0NNX0NTQ1IpOworCWlmIChteDI3X3JldmlzaW9uKCkgPj0gQ0hJUF9SRVZfMl8wKSB7CisJCXJlZyAmPSB+Q0NNX0NTQ1JfQVJNX01BU0s7CisJCXJlZyB8PSBkaXYgPDwgQ0NNX0NTQ1JfQVJNX09GRlNFVDsKKwkJcmVnICY9IH4weDA2OworCQlfX3Jhd193cml0ZWwocmVnIHwgMHg4MDAwMDAwMCwgQ0NNX0NTQ1IpOworCX0gZWxzZSB7CisJCXByaW50ayhLRVJOX0VSUiAiQ2FudCBzZXQgQ1BVIGZyZXF1ZW5jeSFcbiIpOworCX0KKworCXJldHVybiAwOworfQorCitzdGF0aWMgdW5zaWduZWQgbG9uZyBfY2xrX3BlcmNsa3hfcm91bmRfcmF0ZShzdHJ1Y3QgY2xrICpjbGssCisJCQkJCSAgICAgdW5zaWduZWQgbG9uZyByYXRlKQoreworCXUzMiBkaXY7CisJdW5zaWduZWQgbG9uZyBwYXJlbnRfcmF0ZTsKKworCXBhcmVudF9yYXRlID0gY2xrX2dldF9yYXRlKGNsay0+cGFyZW50KTsKKworCWRpdiA9IHBhcmVudF9yYXRlIC8gcmF0ZTsKKwlpZiAocGFyZW50X3JhdGUgJSByYXRlKQorCQlkaXYrKzsKKworCWlmIChkaXYgPiA2NCkKKwkJZGl2ID0gNjQ7CisKKwlyZXR1cm4gcGFyZW50X3JhdGUgLyBkaXY7Cit9CisKK3N0YXRpYyBpbnQgX2Nsa19wZXJjbGt4X3NldF9yYXRlKHN0cnVjdCBjbGsgKmNsaywgdW5zaWduZWQgbG9uZyByYXRlKQoreworCXUzMiByZWc7CisJdTMyIGRpdjsKKwl1bnNpZ25lZCBsb25nIHBhcmVudF9yYXRlOworCisJcGFyZW50X3JhdGUgPSBjbGtfZ2V0X3JhdGUoY2xrLT5wYXJlbnQpOworCisJaWYgKGNsay0+aWQgPCAwIHx8IGNsay0+aWQgPiAzKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWRpdiA9IHBhcmVudF9yYXRlIC8gcmF0ZTsKKwlpZiAoZGl2ID4gNjQgfHwgZGl2IDwgMSB8fCAoKHBhcmVudF9yYXRlIC8gZGl2KSAhPSByYXRlKSkKKwkJcmV0dXJuIC1FSU5WQUw7CisJZGl2LS07CisKKwlyZWcgPQorCSAgICBfX3Jhd19yZWFkbChDQ01fUENEUjEpICYgfihDQ01fUENEUjFfUEVSRElWMV9NQVNLIDw8CisJCQkJICAgICAgIChjbGstPmlkIDw8IDMpKTsKKwlyZWcgfD0gZGl2IDw8IChjbGstPmlkIDw8IDMpOworCV9fcmF3X3dyaXRlbChyZWcsIENDTV9QQ0RSMSk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHVuc2lnbmVkIGxvbmcgX2Nsa191c2JfcmVjYWxjKHN0cnVjdCBjbGsgKmNsaykKK3sKKwl1bnNpZ25lZCBsb25nIHVzYl9wZGY7CisJdW5zaWduZWQgbG9uZyBwYXJlbnRfcmF0ZTsKKworCXBhcmVudF9yYXRlID0gY2xrX2dldF9yYXRlKGNsay0+cGFyZW50KTsKKworCXVzYl9wZGYgPSAoQ1NDUigpICYgQ0NNX0NTQ1JfVVNCX01BU0spID4+IENDTV9DU0NSX1VTQl9PRkZTRVQ7CisKKwlyZXR1cm4gcGFyZW50X3JhdGUgLyAodXNiX3BkZiArIDFVKTsKK30KKworc3RhdGljIHVuc2lnbmVkIGxvbmcgX2Nsa19zc2kxX3JlY2FsYyhzdHJ1Y3QgY2xrICpjbGspCit7CisJdW5zaWduZWQgbG9uZyBzc2kxX3BkZjsKKwl1bnNpZ25lZCBsb25nIHBhcmVudF9yYXRlOworCisJcGFyZW50X3JhdGUgPSBjbGtfZ2V0X3JhdGUoY2xrLT5wYXJlbnQpOworCisJc3NpMV9wZGYgPSAoUENEUjAoKSAmIENDTV9QQ0RSMF9TU0kxQkFVRERJVl9NQVNLKSA+PgorCQkJCQlDQ01fUENEUjBfU1NJMUJBVURESVZfT0ZGU0VUOworCisJaWYgKG14MjdfcmV2aXNpb24oKSA+PSBDSElQX1JFVl8yXzApCisJCXNzaTFfcGRmICs9IDQ7CisJZWxzZQorCQlzc2kxX3BkZiA9IChzc2kxX3BkZiA8IDIpID8gMTI0VUwgOiBzc2kxX3BkZjsKKworCXJldHVybiAyVUwgKiBwYXJlbnRfcmF0ZSAvIHNzaTFfcGRmOworfQorCitzdGF0aWMgdW5zaWduZWQgbG9uZyBfY2xrX3NzaTJfcmVjYWxjKHN0cnVjdCBjbGsgKmNsaykKK3sKKwl1bnNpZ25lZCBsb25nIHNzaTJfcGRmOworCXVuc2lnbmVkIGxvbmcgcGFyZW50X3JhdGU7CisKKwlwYXJlbnRfcmF0ZSA9IGNsa19nZXRfcmF0ZShjbGstPnBhcmVudCk7CisKKwlzc2kyX3BkZiA9IChQQ0RSMCgpICYgQ0NNX1BDRFIwX1NTSTJCQVVERElWX01BU0spID4+CisJICAgIENDTV9QQ0RSMF9TU0kyQkFVRERJVl9PRkZTRVQ7CisKKwlpZiAobXgyN19yZXZpc2lvbigpID49IENISVBfUkVWXzJfMCkKKwkJc3NpMl9wZGYgKz0gNDsKKwllbHNlCisJCXNzaTJfcGRmID0gKHNzaTJfcGRmIDwgMikgPyAxMjRVTCA6IHNzaTJfcGRmOworCisJcmV0dXJuIDJVTCAqIHBhcmVudF9yYXRlIC8gc3NpMl9wZGY7Cit9CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIF9jbGtfbmZjX3JlY2FsYyhzdHJ1Y3QgY2xrICpjbGspCit7CisJdW5zaWduZWQgbG9uZyBuZmNfcGRmOworCXVuc2lnbmVkIGxvbmcgcGFyZW50X3JhdGU7CisKKwlwYXJlbnRfcmF0ZSA9IGNsa19nZXRfcmF0ZShjbGstPnBhcmVudCk7CisKKwlpZiAobXgyN19yZXZpc2lvbigpID49IENISVBfUkVWXzJfMCkgeworCQluZmNfcGRmID0KKwkJICAgIChQQ0RSMCgpICYgQ0NNX1BDRFIwX05GQ0RJVjJfTUFTSykgPj4KKwkJICAgIENDTV9QQ0RSMF9ORkNESVYyX09GRlNFVDsKKwl9IGVsc2UgeworCQluZmNfcGRmID0KKwkJICAgIChQQ0RSMCgpICYgQ0NNX1BDRFIwX05GQ0RJVl9NQVNLKSA+PgorCQkgICAgQ0NNX1BDRFIwX05GQ0RJVl9PRkZTRVQ7CisJfQorCisJcmV0dXJuIHBhcmVudF9yYXRlIC8gKG5mY19wZGYgKyAxKTsKK30KKworc3RhdGljIHVuc2lnbmVkIGxvbmcgX2Nsa192cHVfcmVjYWxjKHN0cnVjdCBjbGsgKmNsaykKK3sKKwl1bnNpZ25lZCBsb25nIHZwdV9wZGY7CisJdW5zaWduZWQgbG9uZyBwYXJlbnRfcmF0ZTsKKworCXBhcmVudF9yYXRlID0gY2xrX2dldF9yYXRlKGNsay0+cGFyZW50KTsKKworCWlmIChteDI3X3JldmlzaW9uKCkgPj0gQ0hJUF9SRVZfMl8wKSB7CisJCXZwdV9wZGYgPQorCQkgICAgKFBDRFIwKCkgJiBDQ01fUENEUjBfVlBVRElWMl9NQVNLKSA+PgorCQkgICAgQ0NNX1BDRFIwX1ZQVURJVjJfT0ZGU0VUOworCQl2cHVfcGRmICs9IDQ7CisJfSBlbHNlIHsKKwkJdnB1X3BkZiA9CisJCSAgICAoUENEUjAoKSAmIENDTV9QQ0RSMF9WUFVESVZfTUFTSykgPj4KKwkJICAgIENDTV9QQ0RSMF9WUFVESVZfT0ZGU0VUOworCQl2cHVfcGRmID0gKHZwdV9wZGYgPCAyKSA/IDEyNCA6IHZwdV9wZGY7CisJfQorCXJldHVybiAyVUwgKiBwYXJlbnRfcmF0ZSAvIHZwdV9wZGY7Cit9CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIF9jbGtfcGFyZW50X3JvdW5kX3JhdGUoc3RydWN0IGNsayAqY2xrLCB1bnNpZ25lZCBsb25nIHJhdGUpCit7CisJcmV0dXJuIGNsay0+cGFyZW50LT5yb3VuZF9yYXRlKGNsay0+cGFyZW50LCByYXRlKTsKK30KKworc3RhdGljIGludCBfY2xrX3BhcmVudF9zZXRfcmF0ZShzdHJ1Y3QgY2xrICpjbGssIHVuc2lnbmVkIGxvbmcgcmF0ZSkKK3sKKwlyZXR1cm4gY2xrLT5wYXJlbnQtPnNldF9yYXRlKGNsay0+cGFyZW50LCByYXRlKTsKK30KKworLyogaW4gSHogKi8KK3N0YXRpYyB1bnNpZ25lZCBsb25nIGV4dGVybmFsX2hpZ2hfcmVmZXJlbmNlID0gMjYwMDAwMDA7CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIGdldF9oaWdoX3JlZmVyZW5jZV9jbG9ja19yYXRlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwlyZXR1cm4gZXh0ZXJuYWxfaGlnaF9yZWZlcmVuY2U7Cit9CisKKy8qCisgKiB0aGUgaGlnaCBmcmVxdWVuY3kgZXh0ZXJuYWwgY2xvY2sgcmVmZXJlbmNlCisgKiBEZWZhdWx0IGNhc2UgaXMgMjZNSHouIENvdWxkIGJlIGNoYW5nZWQgYXQgcnVudGltZQorICogd2l0aCBhIGNhbGwgdG8gY2hhbmdlX2V4dGVybmFsX2hpZ2hfcmVmZXJlbmNlKCkKKyAqLworc3RhdGljIHN0cnVjdCBjbGsgY2tpaF9jbGsgPSB7CisJLm5hbWUgPSAiY2tpaCIsCisJLmdldF9yYXRlID0gZ2V0X2hpZ2hfcmVmZXJlbmNlX2Nsb2NrX3JhdGUsCit9OworCisvKiBpbiBIeiAqLworc3RhdGljIHVuc2lnbmVkIGxvbmcgZXh0ZXJuYWxfbG93X3JlZmVyZW5jZSA9IDMyNzY4OworCitzdGF0aWMgdW5zaWduZWQgbG9uZyBnZXRfbG93X3JlZmVyZW5jZV9jbG9ja19yYXRlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwlyZXR1cm4gZXh0ZXJuYWxfbG93X3JlZmVyZW5jZTsKK30KKworLyoKKyAqIHRoZSBsb3cgZnJlcXVlbmN5IGV4dGVybmFsIGNsb2NrIHJlZmVyZW5jZQorICogRGVmYXVsdCBjYXNlIGlzIDMyLjc2OGtIeiBDb3VsZCBiZSBjaGFuZ2VkIGF0IHJ1bnRpbWUKKyAqIHdpdGggYSBjYWxsIHRvIGNoYW5nZV9leHRlcm5hbF9sb3dfcmVmZXJlbmNlKCkKKyAqLworc3RhdGljIHN0cnVjdCBjbGsgY2tpbF9jbGsgPSB7CisJLm5hbWUgPSAiY2tpbCIsCisJLmdldF9yYXRlID0gZ2V0X2xvd19yZWZlcmVuY2VfY2xvY2tfcmF0ZSwKK307CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIGdldF9tcGxsX2NsayhzdHJ1Y3QgY2xrICpjbGspCit7CisJdWludDMyX3QgcmVnOworCXVuc2lnbmVkIGxvbmcgcmVmX2NsazsKKwl1bnNpZ25lZCBsb25nIG1maSA9IDAsIG1mbiA9IDAsIG1mZCA9IDAsIHBkZiA9IDA7CisJdW5zaWduZWQgbG9uZyBsb25nIHRlbXA7CisKKwlyZWZfY2xrID0gY2xrX2dldF9yYXRlKGNsay0+cGFyZW50KTsKKworCXJlZyA9IF9fcmF3X3JlYWRsKENDTV9NUENUTDApOworCXBkZiA9IChyZWcgJiBDQ01fTVBDVEwwX1BEX01BU0spID4+IENDTV9NUENUTDBfUERfT0ZGU0VUOworCW1mZCA9IChyZWcgJiBDQ01fTVBDVEwwX01GRF9NQVNLKSA+PiBDQ01fTVBDVEwwX01GRF9PRkZTRVQ7CisJbWZpID0gKHJlZyAmIENDTV9NUENUTDBfTUZJX01BU0spID4+IENDTV9NUENUTDBfTUZJX09GRlNFVDsKKwltZm4gPSAocmVnICYgQ0NNX01QQ1RMMF9NRk5fTUFTSykgPj4gQ0NNX01QQ1RMMF9NRk5fT0ZGU0VUOworCisJbWZpID0gKG1maSA8PSA1KSA/IDUgOiBtZmk7CisJdGVtcCA9IDJMTCAqIHJlZl9jbGsgKiBtZm47CisJZG9fZGl2KHRlbXAsIG1mZCArIDEpOworCXRlbXAgPSAyTEwgKiByZWZfY2xrICogbWZpICsgdGVtcDsKKwlkb19kaXYodGVtcCwgcGRmICsgMSk7CisKKwlyZXR1cm4gKHVuc2lnbmVkIGxvbmcpdGVtcDsKK30KKworc3RhdGljIHN0cnVjdCBjbGsgbXBsbF9jbGsgPSB7CisJLm5hbWUgPSAibXBsbCIsCisJLnBhcmVudCA9ICZja2loX2NsaywKKwkuZ2V0X3JhdGUgPSBnZXRfbXBsbF9jbGssCit9OworCitzdGF0aWMgdW5zaWduZWQgbG9uZyBfY2xrX21wbGxfbWFpbl9nZXRfcmF0ZShzdHJ1Y3QgY2xrICpjbGspCit7CisJdW5zaWduZWQgbG9uZyBwYXJlbnRfcmF0ZTsKKworCXBhcmVudF9yYXRlID0gY2xrX2dldF9yYXRlKGNsay0+cGFyZW50KTsKKworCS8qIGkuTVgyNyBUTzI6CisJICogY2xrLT5pZCA9PSAwOiBhcm0gY2xvY2sgc291cmNlIHBhdGggMSB3aGljaCBpcyBmcm9tIDIqTVBMTC9ESVZfMgorCSAqIGNsay0+aWQgPT0gMTogYXJtIGNsb2NrIHNvdXJjZSBwYXRoIDIgd2hpY2ggaXMgZnJvbSAyKk1QTEwvRElWXzMKKwkgKi8KKworCWlmIChteDI3X3JldmlzaW9uKCkgPj0gQ0hJUF9SRVZfMl8wICYmIGNsay0+aWQgPT0gMSkKKwkJcmV0dXJuIDJVTCAqIHBhcmVudF9yYXRlIC8gM1VMOworCisJcmV0dXJuIHBhcmVudF9yYXRlOworfQorCitzdGF0aWMgc3RydWN0IGNsayBtcGxsX21haW5fY2xrW10gPSB7CisJeworCQkvKiBGb3IgaS5NWDI3IFRPMiwgaXQgaXMgdGhlIE1QTEwgcGF0aCAxIG9mIEFSTSBjb3JlCisJCSAqIEl0IHByb3ZpZGUgdGhlIGNsb2NrIHNvdXJjZSB3aG9zZSByYXRlIGlzIHNhbWUgYXMgTVBMTAorCQkgKi8KKwkJLm5hbWUgPSAibXBsbF9tYWluIiwKKwkJLmlkID0gMCwKKwkJLnBhcmVudCA9ICZtcGxsX2NsaywKKwkJLmdldF9yYXRlID0gX2Nsa19tcGxsX21haW5fZ2V0X3JhdGUKKwl9LCB7CisJCS8qIEZvciBpLk1YMjcgVE8yLCBpdCBpcyB0aGUgTVBMTCBwYXRoIDIgb2YgQVJNIGNvcmUKKwkJICogSXQgcHJvdmlkZSB0aGUgY2xvY2sgc291cmNlIHdob3NlIHJhdGUgaXMgc2FtZSBNUExMICogMi8zCisJCSAqLworCQkubmFtZSA9ICJtcGxsX21haW4iLAorCQkuaWQgPSAxLAorCQkucGFyZW50ID0gJm1wbGxfY2xrLAorCQkuZ2V0X3JhdGUgPSBfY2xrX21wbGxfbWFpbl9nZXRfcmF0ZQorCX0KK307CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIGdldF9zcGxsX2NsayhzdHJ1Y3QgY2xrICpjbGspCit7CisJdWludDMyX3QgcmVnOworCXVuc2lnbmVkIGxvbmcgcmVmX2NsazsKKwl1bnNpZ25lZCBsb25nIG1maSA9IDAsIG1mbiA9IDAsIG1mZCA9IDAsIHBkZiA9IDA7CisJdW5zaWduZWQgbG9uZyBsb25nIHRlbXA7CisKKwlyZWZfY2xrID0gY2xrX2dldF9yYXRlKGNsay0+cGFyZW50KTsKKworCXJlZyA9IF9fcmF3X3JlYWRsKENDTV9TUENUTDApOworCS8qVE9ETzogVGhpcyBpcyBUTzIgQnVnICovCisJaWYgKG14MjdfcmV2aXNpb24oKSA+PSBDSElQX1JFVl8yXzApCisJCV9fcmF3X3dyaXRlbChyZWcsIENDTV9TUENUTDApOworCisJcGRmID0gKHJlZyAmIENDTV9TUENUTDBfUERfTUFTSykgPj4gQ0NNX1NQQ1RMMF9QRF9PRkZTRVQ7CisJbWZkID0gKHJlZyAmIENDTV9TUENUTDBfTUZEX01BU0spID4+IENDTV9TUENUTDBfTUZEX09GRlNFVDsKKwltZmkgPSAocmVnICYgQ0NNX1NQQ1RMMF9NRklfTUFTSykgPj4gQ0NNX1NQQ1RMMF9NRklfT0ZGU0VUOworCW1mbiA9IChyZWcgJiBDQ01fU1BDVEwwX01GTl9NQVNLKSA+PiBDQ01fU1BDVEwwX01GTl9PRkZTRVQ7CisKKwltZmkgPSAobWZpIDw9IDUpID8gNSA6IG1maTsKKwl0ZW1wID0gMkxMICogcmVmX2NsayAqIG1mbjsKKwlkb19kaXYodGVtcCwgbWZkICsgMSk7CisJdGVtcCA9IDJMTCAqIHJlZl9jbGsgKiBtZmkgKyB0ZW1wOworCWRvX2Rpdih0ZW1wLCBwZGYgKyAxKTsKKworCXJldHVybiAodW5zaWduZWQgbG9uZyl0ZW1wOworfQorCitzdGF0aWMgc3RydWN0IGNsayBzcGxsX2NsayA9IHsKKwkubmFtZSA9ICJzcGxsIiwKKwkucGFyZW50ID0gJmNraWhfY2xrLAorCS5nZXRfcmF0ZSA9IGdldF9zcGxsX2NsaywKKwkuZW5hYmxlID0gX2Nsa19zcGxsX2VuYWJsZSwKKwkuZGlzYWJsZSA9IF9jbGtfc3BsbF9kaXNhYmxlLAorfTsKKworc3RhdGljIHVuc2lnbmVkIGxvbmcgZ2V0X2NwdV9jbGsoc3RydWN0IGNsayAqY2xrKQoreworCXUzMiBkaXY7CisJdW5zaWduZWQgbG9uZyByYXRlOworCisJaWYgKG14MjdfcmV2aXNpb24oKSA+PSBDSElQX1JFVl8yXzApCisJCWRpdiA9IChDU0NSKCkgJiBDQ01fQ1NDUl9BUk1fTUFTSykgPj4gQ0NNX0NTQ1JfQVJNX09GRlNFVDsKKwllbHNlCisJCWRpdiA9IChDU0NSKCkgJiBDQ01fQ1NDUl9QUkVTQ19NQVNLKSA+PiBDQ01fQ1NDUl9QUkVTQ19PRkZTRVQ7CisKKwlyYXRlID0gY2xrX2dldF9yYXRlKGNsay0+cGFyZW50KTsKKwlyZXR1cm4gcmF0ZSAvIChkaXYgKyAxKTsKK30KKworc3RhdGljIHN0cnVjdCBjbGsgY3B1X2NsayA9IHsKKwkubmFtZSA9ICJjcHVfY2xrIiwKKwkucGFyZW50ID0gJm1wbGxfbWFpbl9jbGtbMV0sCisJLnNldF9wYXJlbnQgPSBfY2xrX2NwdV9zZXRfcGFyZW50LAorCS5yb3VuZF9yYXRlID0gX2Nsa19jcHVfcm91bmRfcmF0ZSwKKwkuZ2V0X3JhdGUgPSBnZXRfY3B1X2NsaywKKwkuc2V0X3JhdGUgPSBfY2xrX2NwdV9zZXRfcmF0ZSwKK307CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIGdldF9haGJfY2xrKHN0cnVjdCBjbGsgKmNsaykKK3sKKwl1bnNpZ25lZCBsb25nIHJhdGU7CisJdW5zaWduZWQgbG9uZyBiY2xrX3BkZjsKKworCWlmIChteDI3X3JldmlzaW9uKCkgPj0gQ0hJUF9SRVZfMl8wKQorCQliY2xrX3BkZiA9IChDU0NSKCkgJiBDQ01fQ1NDUl9BSEJfTUFTSykKKwkJCQkJPj4gQ0NNX0NTQ1JfQUhCX09GRlNFVDsKKwllbHNlCisJCWJjbGtfcGRmID0gKENTQ1IoKSAmIENDTV9DU0NSX0JDTEtfTUFTSykKKwkJCQkJPj4gQ0NNX0NTQ1JfQkNMS19PRkZTRVQ7CisKKwlyYXRlID0gY2xrX2dldF9yYXRlKGNsay0+cGFyZW50KTsKKwlyZXR1cm4gcmF0ZSAvIChiY2xrX3BkZiArIDEpOworfQorCitzdGF0aWMgc3RydWN0IGNsayBhaGJfY2xrID0geworCS5uYW1lID0gImFoYl9jbGsiLAorCS5wYXJlbnQgPSAmbXBsbF9tYWluX2Nsa1sxXSwKKwkuZ2V0X3JhdGUgPSBnZXRfYWhiX2NsaywKK307CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIGdldF9pcGdfY2xrKHN0cnVjdCBjbGsgKmNsaykKK3sKKwl1bnNpZ25lZCBsb25nIHJhdGU7CisJdW5zaWduZWQgbG9uZyBpcGdfcGRmOworCisJaWYgKG14MjdfcmV2aXNpb24oKSA+PSBDSElQX1JFVl8yXzApCisJCXJldHVybiBjbGtfZ2V0X3JhdGUoY2xrLT5wYXJlbnQpOworCWVsc2UKKwkJaXBnX3BkZiA9IChDU0NSKCkgJiBDQ01fQ1NDUl9JUERJVikgPj4gQ0NNX0NTQ1JfSVBESVZfT0ZGU0VUOworCisJcmF0ZSA9IGNsa19nZXRfcmF0ZShjbGstPnBhcmVudCk7CisJcmV0dXJuIHJhdGUgLyAoaXBnX3BkZiArIDEpOworfQorCitzdGF0aWMgc3RydWN0IGNsayBpcGdfY2xrID0geworCS5uYW1lID0gImlwZ19jbGsiLAorCS5wYXJlbnQgPSAmYWhiX2NsaywKKwkuZ2V0X3JhdGUgPSBnZXRfaXBnX2NsaywKK307CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIF9jbGtfcGVyY2xreF9yZWNhbGMoc3RydWN0IGNsayAqY2xrKQoreworCXVuc2lnbmVkIGxvbmcgcGVyY2xrX3BkZjsKKwl1bnNpZ25lZCBsb25nIHBhcmVudF9yYXRlOworCisJcGFyZW50X3JhdGUgPSBjbGtfZ2V0X3JhdGUoY2xrLT5wYXJlbnQpOworCisJaWYgKGNsay0+aWQgPCAwIHx8IGNsay0+aWQgPiAzKQorCQlyZXR1cm4gMDsKKworCXBlcmNsa19wZGYgPSAoUENEUjEoKSA+PiAoY2xrLT5pZCA8PCAzKSkgJiBDQ01fUENEUjFfUEVSRElWMV9NQVNLOworCisJcmV0dXJuIHBhcmVudF9yYXRlIC8gKHBlcmNsa19wZGYgKyAxKTsKK30KKworc3RhdGljIHN0cnVjdCBjbGsgcGVyX2Nsa1tdID0geworCXsKKwkJLm5hbWUgPSAicGVyX2NsayIsCisJCS5pZCA9IDAsCisJCS5wYXJlbnQgPSAmbXBsbF9tYWluX2Nsa1sxXSwKKwkJLmdldF9yYXRlID0gX2Nsa19wZXJjbGt4X3JlY2FsYywKKwkJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCQkuZW5hYmxlX3JlZyA9IENDTV9QQ0NSMSwKKwkJLmVuYWJsZV9zaGlmdCA9IENDTV9QQ0NSMV9QRVJDTEsxX09GRlNFVCwKKwkJLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsCisJfSwgeworCQkubmFtZSA9ICJwZXJfY2xrIiwKKwkJLmlkID0gMSwKKwkJLnBhcmVudCA9ICZtcGxsX21haW5fY2xrWzFdLAorCQkuZ2V0X3JhdGUgPSBfY2xrX3BlcmNsa3hfcmVjYWxjLAorCQkuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJCS5lbmFibGVfcmVnID0gQ0NNX1BDQ1IxLAorCQkuZW5hYmxlX3NoaWZ0ID0gQ0NNX1BDQ1IxX1BFUkNMSzJfT0ZGU0VULAorCQkuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSwKKwl9LCB7CisJCS5uYW1lID0gInBlcl9jbGsiLAorCQkuaWQgPSAyLAorCQkucGFyZW50ID0gJm1wbGxfbWFpbl9jbGtbMV0sCisJCS5yb3VuZF9yYXRlID0gX2Nsa19wZXJjbGt4X3JvdW5kX3JhdGUsCisJCS5zZXRfcmF0ZSA9IF9jbGtfcGVyY2xreF9zZXRfcmF0ZSwKKwkJLmdldF9yYXRlID0gX2Nsa19wZXJjbGt4X3JlY2FsYywKKwkJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCQkuZW5hYmxlX3JlZyA9IENDTV9QQ0NSMSwKKwkJLmVuYWJsZV9zaGlmdCA9IENDTV9QQ0NSMV9QRVJDTEszX09GRlNFVCwKKwkJLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsCisJfSwgeworCQkubmFtZSA9ICJwZXJfY2xrIiwKKwkJLmlkID0gMywKKwkJLnBhcmVudCA9ICZtcGxsX21haW5fY2xrWzFdLAorCQkucm91bmRfcmF0ZSA9IF9jbGtfcGVyY2xreF9yb3VuZF9yYXRlLAorCQkuc2V0X3JhdGUgPSBfY2xrX3BlcmNsa3hfc2V0X3JhdGUsCisJCS5nZXRfcmF0ZSA9IF9jbGtfcGVyY2xreF9yZWNhbGMsCisJCS5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkJLmVuYWJsZV9yZWcgPSBDQ01fUENDUjEsCisJCS5lbmFibGVfc2hpZnQgPSBDQ01fUENDUjFfUEVSQ0xLNF9PRkZTRVQsCisJCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorCX0sCit9OworCitzdHJ1Y3QgY2xrIHVhcnQxX2Nsa1tdID0geworCXsKKwkJLm5hbWUgPSAidWFydF9jbGsiLAorCQkuaWQgPSAwLAorCQkucGFyZW50ID0gJnBlcl9jbGtbMF0sCisJCS5zZWNvbmRhcnkgPSAmdWFydDFfY2xrWzFdLAorCX0sIHsKKwkJLm5hbWUgPSAidWFydF9pcGdfY2xrIiwKKwkJLmlkID0gMCwKKwkJLnBhcmVudCA9ICZpcGdfY2xrLAorCQkuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJCS5lbmFibGVfcmVnID0gQ0NNX1BDQ1IxLAorCQkuZW5hYmxlX3NoaWZ0ID0gQ0NNX1BDQ1IxX1VBUlQxX09GRlNFVCwKKwkJLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsCisJfSwKK307CisKK3N0cnVjdCBjbGsgdWFydDJfY2xrW10gPSB7CisJeworCQkubmFtZSA9ICJ1YXJ0X2NsayIsCisJCS5pZCA9IDEsCisJCS5wYXJlbnQgPSAmcGVyX2Nsa1swXSwKKwkJLnNlY29uZGFyeSA9ICZ1YXJ0Ml9jbGtbMV0sCisJfSwgeworCQkubmFtZSA9ICJ1YXJ0X2lwZ19jbGsiLAorCQkuaWQgPSAxLAorCQkucGFyZW50ID0gJmlwZ19jbGssCisJCS5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkJLmVuYWJsZV9yZWcgPSBDQ01fUENDUjEsCisJCS5lbmFibGVfc2hpZnQgPSBDQ01fUENDUjFfVUFSVDJfT0ZGU0VULAorCQkuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSwKKwl9LAorfTsKKworc3RydWN0IGNsayB1YXJ0M19jbGtbXSA9IHsKKwl7CisJCS5uYW1lID0gInVhcnRfY2xrIiwKKwkJLmlkID0gMiwKKwkJLnBhcmVudCA9ICZwZXJfY2xrWzBdLAorCQkuc2Vjb25kYXJ5ID0gJnVhcnQzX2Nsa1sxXSwKKwl9LCB7CisJCS5uYW1lID0gInVhcnRfaXBnX2NsayIsCisJCS5pZCA9IDIsCisJCS5wYXJlbnQgPSAmaXBnX2NsaywKKwkJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCQkuZW5hYmxlX3JlZyA9IENDTV9QQ0NSMSwKKwkJLmVuYWJsZV9zaGlmdCA9IENDTV9QQ0NSMV9VQVJUM19PRkZTRVQsCisJCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorCX0sCit9OworCitzdHJ1Y3QgY2xrIHVhcnQ0X2Nsa1tdID0geworCXsKKwkJLm5hbWUgPSAidWFydF9jbGsiLAorCQkuaWQgPSAzLAorCQkucGFyZW50ID0gJnBlcl9jbGtbMF0sCisJCS5zZWNvbmRhcnkgPSAmdWFydDRfY2xrWzFdLAorCX0sIHsKKwkJLm5hbWUgPSAidWFydF9pcGdfY2xrIiwKKwkJLmlkID0gMywKKwkJLnBhcmVudCA9ICZpcGdfY2xrLAorCQkuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJCS5lbmFibGVfcmVnID0gQ0NNX1BDQ1IxLAorCQkuZW5hYmxlX3NoaWZ0ID0gQ0NNX1BDQ1IxX1VBUlQ0X09GRlNFVCwKKwkJLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsCisJfSwKK307CisKK3N0cnVjdCBjbGsgdWFydDVfY2xrW10gPSB7CisJeworCQkubmFtZSA9ICJ1YXJ0X2NsayIsCisJCS5pZCA9IDQsCisJCS5wYXJlbnQgPSAmcGVyX2Nsa1swXSwKKwkJLnNlY29uZGFyeSA9ICZ1YXJ0NV9jbGtbMV0sCisJfSwgeworCQkubmFtZSA9ICJ1YXJ0X2lwZ19jbGsiLAorCQkuaWQgPSA0LAorCQkucGFyZW50ID0gJmlwZ19jbGssCisJCS5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkJLmVuYWJsZV9yZWcgPSBDQ01fUENDUjEsCisJCS5lbmFibGVfc2hpZnQgPSBDQ01fUENDUjFfVUFSVDVfT0ZGU0VULAorCQkuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSwKKwl9LAorfTsKKworc3RydWN0IGNsayB1YXJ0Nl9jbGtbXSA9IHsKKwl7CisJCS5uYW1lID0gInVhcnRfY2xrIiwKKwkJLmlkID0gNSwKKwkJLnBhcmVudCA9ICZwZXJfY2xrWzBdLAorCQkuc2Vjb25kYXJ5ID0gJnVhcnQ2X2Nsa1sxXSwKKwl9LCB7CisJCS5uYW1lID0gInVhcnRfaXBnX2NsayIsCisJCS5pZCA9IDUsCisJCS5wYXJlbnQgPSAmaXBnX2NsaywKKwkJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCQkuZW5hYmxlX3JlZyA9IENDTV9QQ0NSMSwKKwkJLmVuYWJsZV9zaGlmdCA9IENDTV9QQ0NSMV9VQVJUNl9PRkZTRVQsCisJCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IGNsayBncHQxX2Nsa1tdID0geworCXsKKwkJLm5hbWUgPSAiZ3B0X2NsayIsCisJCS5pZCA9IDAsCisJCS5wYXJlbnQgPSAmcGVyX2Nsa1swXSwKKwkJLnNlY29uZGFyeSA9ICZncHQxX2Nsa1sxXSwKKwl9LCB7CisJCS5uYW1lID0gImdwdF9pcGdfY2xrIiwKKwkJLmlkID0gMCwKKwkJLnBhcmVudCA9ICZpcGdfY2xrLAorCQkuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJCS5lbmFibGVfcmVnID0gQ0NNX1BDQ1IwLAorCQkuZW5hYmxlX3NoaWZ0ID0gQ0NNX1BDQ1IwX0dQVDFfT0ZGU0VULAorCQkuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgZ3B0Ml9jbGtbXSA9IHsKKwl7CisJCS5uYW1lID0gImdwdF9jbGsiLAorCQkuaWQgPSAxLAorCQkucGFyZW50ID0gJnBlcl9jbGtbMF0sCisJCS5zZWNvbmRhcnkgPSAmZ3B0Ml9jbGtbMV0sCisJfSwgeworCQkubmFtZSA9ICJncHRfaXBnX2NsayIsCisJCS5pZCA9IDEsCisJCS5wYXJlbnQgPSAmaXBnX2NsaywKKwkJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCQkuZW5hYmxlX3JlZyA9IENDTV9QQ0NSMCwKKwkJLmVuYWJsZV9zaGlmdCA9IENDTV9QQ0NSMF9HUFQyX09GRlNFVCwKKwkJLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIGdwdDNfY2xrW10gPSB7CisJeworCQkubmFtZSA9ICJncHRfY2xrIiwKKwkJLmlkID0gMiwKKwkJLnBhcmVudCA9ICZwZXJfY2xrWzBdLAorCQkuc2Vjb25kYXJ5ID0gJmdwdDNfY2xrWzFdLAorCX0sIHsKKwkJLm5hbWUgPSAiZ3B0X2lwZ19jbGsiLAorCQkuaWQgPSAyLAorCQkucGFyZW50ID0gJmlwZ19jbGssCisJCS5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkJLmVuYWJsZV9yZWcgPSBDQ01fUENDUjAsCisJCS5lbmFibGVfc2hpZnQgPSBDQ01fUENDUjBfR1BUM19PRkZTRVQsCisJCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IGNsayBncHQ0X2Nsa1tdID0geworCXsKKwkJLm5hbWUgPSAiZ3B0X2NsayIsCisJCS5pZCA9IDMsCisJCS5wYXJlbnQgPSAmcGVyX2Nsa1swXSwKKwkJLnNlY29uZGFyeSA9ICZncHQ0X2Nsa1sxXSwKKwl9LCB7CisJCS5uYW1lID0gImdwdF9pcGdfY2xrIiwKKwkJLmlkID0gMywKKwkJLnBhcmVudCA9ICZpcGdfY2xrLAorCQkuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJCS5lbmFibGVfcmVnID0gQ0NNX1BDQ1IwLAorCQkuZW5hYmxlX3NoaWZ0ID0gQ0NNX1BDQ1IwX0dQVDRfT0ZGU0VULAorCQkuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgZ3B0NV9jbGtbXSA9IHsKKwl7CisJCS5uYW1lID0gImdwdF9jbGsiLAorCQkuaWQgPSA0LAorCQkucGFyZW50ID0gJnBlcl9jbGtbMF0sCisJCS5zZWNvbmRhcnkgPSAmZ3B0NV9jbGtbMV0sCisJfSwgeworCQkubmFtZSA9ICJncHRfaXBnX2NsayIsCisJCS5pZCA9IDQsCisJCS5wYXJlbnQgPSAmaXBnX2NsaywKKwkJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCQkuZW5hYmxlX3JlZyA9IENDTV9QQ0NSMCwKKwkJLmVuYWJsZV9zaGlmdCA9IENDTV9QQ0NSMF9HUFQ1X09GRlNFVCwKKwkJLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIGdwdDZfY2xrW10gPSB7CisJeworCQkubmFtZSA9ICJncHRfY2xrIiwKKwkJLmlkID0gNSwKKwkJLnBhcmVudCA9ICZwZXJfY2xrWzBdLAorCQkuc2Vjb25kYXJ5ID0gJmdwdDZfY2xrWzFdLAorCX0sIHsKKwkJLm5hbWUgPSAiZ3B0X2lwZ19jbGsiLAorCQkuaWQgPSA1LAorCQkucGFyZW50ID0gJmlwZ19jbGssCisJCS5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkJLmVuYWJsZV9yZWcgPSBDQ01fUENDUjAsCisJCS5lbmFibGVfc2hpZnQgPSBDQ01fUENDUjBfR1BUNl9PRkZTRVQsCisJCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IGNsayBwd21fY2xrW10gPSB7CisJeworCQkubmFtZSA9ICJwd21fY2xrIiwKKwkJLnBhcmVudCA9ICZwZXJfY2xrWzBdLAorCQkuc2Vjb25kYXJ5ID0gJnB3bV9jbGtbMV0sCisJfSwgeworCQkubmFtZSA9ICJwd21fY2xrIiwKKwkJLnBhcmVudCA9ICZpcGdfY2xrLAorCQkuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJCS5lbmFibGVfcmVnID0gQ0NNX1BDQ1IwLAorCQkuZW5hYmxlX3NoaWZ0ID0gQ0NNX1BDQ1IwX1BXTV9PRkZTRVQsCisJCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IGNsayBzZGhjMV9jbGtbXSA9IHsKKwl7CisJCS5uYW1lID0gInNkaGNfY2xrIiwKKwkJLmlkID0gMCwKKwkJLnBhcmVudCA9ICZwZXJfY2xrWzFdLAorCQkuc2Vjb25kYXJ5ID0gJnNkaGMxX2Nsa1sxXSwKKwl9LCB7CisJCS5uYW1lID0gInNkaGNfaXBnX2NsayIsCisJCS5pZCA9IDAsCisJCS5wYXJlbnQgPSAmaXBnX2NsaywKKwkJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCQkuZW5hYmxlX3JlZyA9IENDTV9QQ0NSMCwKKwkJLmVuYWJsZV9zaGlmdCA9IENDTV9QQ0NSMF9TREhDMV9PRkZTRVQsCisJCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IGNsayBzZGhjMl9jbGtbXSA9IHsKKwl7CisJCS5uYW1lID0gInNkaGNfY2xrIiwKKwkJLmlkID0gMSwKKwkJLnBhcmVudCA9ICZwZXJfY2xrWzFdLAorCQkuc2Vjb25kYXJ5ID0gJnNkaGMyX2Nsa1sxXSwKKwl9LCB7CisJCS5uYW1lID0gInNkaGNfaXBnX2NsayIsCisJCS5pZCA9IDEsCisJCS5wYXJlbnQgPSAmaXBnX2NsaywKKwkJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCQkuZW5hYmxlX3JlZyA9IENDTV9QQ0NSMCwKKwkJLmVuYWJsZV9zaGlmdCA9IENDTV9QQ0NSMF9TREhDMl9PRkZTRVQsCisJCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IGNsayBzZGhjM19jbGtbXSA9IHsKKwl7CisJCS5uYW1lID0gInNkaGNfY2xrIiwKKwkJLmlkID0gMiwKKwkJLnBhcmVudCA9ICZwZXJfY2xrWzFdLAorCQkuc2Vjb25kYXJ5ID0gJnNkaGMzX2Nsa1sxXSwKKwl9LCB7CisJCS5uYW1lID0gInNkaGNfaXBnX2NsayIsCisJCS5pZCA9IDIsCisJCS5wYXJlbnQgPSAmaXBnX2NsaywKKwkJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCQkuZW5hYmxlX3JlZyA9IENDTV9QQ0NSMCwKKwkJLmVuYWJsZV9zaGlmdCA9IENDTV9QQ0NSMF9TREhDM19PRkZTRVQsCisJCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IGNsayBjc3BpMV9jbGtbXSA9IHsKKwl7CisJCS5uYW1lID0gImNzcGlfY2xrIiwKKwkJLmlkID0gMCwKKwkJLnBhcmVudCA9ICZwZXJfY2xrWzFdLAorCQkuc2Vjb25kYXJ5ID0gJmNzcGkxX2Nsa1sxXSwKKwl9LCB7CisJCS5uYW1lID0gImNzcGlfaXBnX2NsayIsCisJCS5pZCA9IDAsCisJCS5wYXJlbnQgPSAmaXBnX2NsaywKKwkJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCQkuZW5hYmxlX3JlZyA9IENDTV9QQ0NSMCwKKwkJLmVuYWJsZV9zaGlmdCA9IENDTV9QQ0NSMF9DU1BJMV9PRkZTRVQsCisJCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IGNsayBjc3BpMl9jbGtbXSA9IHsKKwl7CisJCS5uYW1lID0gImNzcGlfY2xrIiwKKwkJLmlkID0gMSwKKwkJLnBhcmVudCA9ICZwZXJfY2xrWzFdLAorCQkuc2Vjb25kYXJ5ID0gJmNzcGkyX2Nsa1sxXSwKKwl9LCB7CisJCS5uYW1lID0gImNzcGlfaXBnX2NsayIsCisJCS5pZCA9IDEsCisJCS5wYXJlbnQgPSAmaXBnX2NsaywKKwkJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCQkuZW5hYmxlX3JlZyA9IENDTV9QQ0NSMCwKKwkJLmVuYWJsZV9zaGlmdCA9IENDTV9QQ0NSMF9DU1BJMl9PRkZTRVQsCisJCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IGNsayBjc3BpM19jbGtbXSA9IHsKKwl7CisJCS5uYW1lID0gImNzcGlfY2xrIiwKKwkJLmlkID0gMiwKKwkJLnBhcmVudCA9ICZwZXJfY2xrWzFdLAorCQkuc2Vjb25kYXJ5ID0gJmNzcGkzX2Nsa1sxXSwKKwl9LCB7CisJCS5uYW1lID0gImNzcGlfaXBnX2NsayIsCisJCS5pZCA9IDIsCisJCS5wYXJlbnQgPSAmaXBnX2NsaywKKwkJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCQkuZW5hYmxlX3JlZyA9IENDTV9QQ0NSMCwKKwkJLmVuYWJsZV9zaGlmdCA9IENDTV9QQ0NSMF9DU1BJM19PRkZTRVQsCisJCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IGNsayBsY2RjX2Nsa1tdID0geworCXsKKwkJLm5hbWUgPSAibGNkY19jbGsiLAorCQkucGFyZW50ID0gJnBlcl9jbGtbMl0sCisJCS5zZWNvbmRhcnkgPSAmbGNkY19jbGtbMV0sCisJCS5yb3VuZF9yYXRlID0gX2Nsa19wYXJlbnRfcm91bmRfcmF0ZSwKKwkJLnNldF9yYXRlID0gX2Nsa19wYXJlbnRfc2V0X3JhdGUsCisJfSwgeworCQkubmFtZSA9ICJsY2RjX2lwZ19jbGsiLAorCQkucGFyZW50ID0gJmlwZ19jbGssCisJCS5zZWNvbmRhcnkgPSAmbGNkY19jbGtbMl0sCisJCS5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkJLmVuYWJsZV9yZWcgPSBDQ01fUENDUjAsCisJCS5lbmFibGVfc2hpZnQgPSBDQ01fUENDUjBfTENEQ19PRkZTRVQsCisJCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorCX0sIHsKKwkJLm5hbWUgPSAibGNkY19haGJfY2xrIiwKKwkJLnBhcmVudCA9ICZhaGJfY2xrLAorCQkuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJCS5lbmFibGVfcmVnID0gQ0NNX1BDQ1IxLAorCQkuZW5hYmxlX3NoaWZ0ID0gQ0NNX1BDQ1IxX0hDTEtfTENEQ19PRkZTRVQsCisJCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IGNsayBjc2lfY2xrW10gPSB7CisJeworCQkubmFtZSA9ICJjc2lfcGVyY2xrIiwKKwkJLnBhcmVudCA9ICZwZXJfY2xrWzNdLAorCQkuc2Vjb25kYXJ5ID0gJmNzaV9jbGtbMV0sCisJCS5yb3VuZF9yYXRlID0gX2Nsa19wYXJlbnRfcm91bmRfcmF0ZSwKKwkJLnNldF9yYXRlID0gX2Nsa19wYXJlbnRfc2V0X3JhdGUsCisJfSwgeworCQkubmFtZSA9ICJjc2lfYWhiX2NsayIsCisJCS5wYXJlbnQgPSAmYWhiX2NsaywKKwkJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCQkuZW5hYmxlX3JlZyA9IENDTV9QQ0NSMSwKKwkJLmVuYWJsZV9zaGlmdCA9IENDTV9QQ0NSMV9IQ0xLX0NTSV9PRkZTRVQsCisJCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IGNsayB1c2JfY2xrW10gPSB7CisJeworCQkubmFtZSA9ICJ1c2JfY2xrIiwKKwkJLnBhcmVudCA9ICZzcGxsX2NsaywKKwkJLmdldF9yYXRlID0gX2Nsa191c2JfcmVjYWxjLAorCQkuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJCS5lbmFibGVfcmVnID0gQ0NNX1BDQ1IxLAorCQkuZW5hYmxlX3NoaWZ0ID0gQ0NNX1BDQ1IxX1VTQk9UR19PRkZTRVQsCisJCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorCX0sIHsKKwkJLm5hbWUgPSAidXNiX2FoYl9jbGsiLAorCQkucGFyZW50ID0gJmFoYl9jbGssCisJCS5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkJLmVuYWJsZV9yZWcgPSBDQ01fUENDUjEsCisJCS5lbmFibGVfc2hpZnQgPSBDQ01fUENDUjFfSENMS19VU0JPVEdfT0ZGU0VULAorCQkuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSwKKwl9Cit9OworCitzdGF0aWMgc3RydWN0IGNsayBzc2kxX2Nsa1tdID0geworCXsKKwkJLm5hbWUgPSAic3NpX2NsayIsCisJCS5pZCA9IDAsCisJCS5wYXJlbnQgPSAmbXBsbF9tYWluX2Nsa1sxXSwKKwkJLnNlY29uZGFyeSA9ICZzc2kxX2Nsa1sxXSwKKwkJLmdldF9yYXRlID0gX2Nsa19zc2kxX3JlY2FsYywKKwkJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCQkuZW5hYmxlX3JlZyA9IENDTV9QQ0NSMSwKKwkJLmVuYWJsZV9zaGlmdCA9IENDTV9QQ0NSMV9TU0kxX0JBVURfT0ZGU0VULAorCQkuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSwKKwl9LCB7CisJCS5uYW1lID0gInNzaV9pcGdfY2xrIiwKKwkJLmlkID0gMCwKKwkJLnBhcmVudCA9ICZpcGdfY2xrLAorCQkuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJCS5lbmFibGVfcmVnID0gQ0NNX1BDQ1IwLAorCQkuZW5hYmxlX3NoaWZ0ID0gQ0NNX1BDQ1IwX1NTSTFfSVBHX09GRlNFVCwKKwkJLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIHNzaTJfY2xrW10gPSB7CisJeworCQkubmFtZSA9ICJzc2lfY2xrIiwKKwkJLmlkID0gMSwKKwkJLnBhcmVudCA9ICZtcGxsX21haW5fY2xrWzFdLAorCQkuc2Vjb25kYXJ5ID0gJnNzaTJfY2xrWzFdLAorCQkuZ2V0X3JhdGUgPSBfY2xrX3NzaTJfcmVjYWxjLAorCQkuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJCS5lbmFibGVfcmVnID0gQ0NNX1BDQ1IxLAorCQkuZW5hYmxlX3NoaWZ0ID0gQ0NNX1BDQ1IxX1NTSTJfQkFVRF9PRkZTRVQsCisJCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorCX0sIHsKKwkJLm5hbWUgPSAic3NpX2lwZ19jbGsiLAorCQkuaWQgPSAxLAorCQkucGFyZW50ID0gJmlwZ19jbGssCisJCS5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkJLmVuYWJsZV9yZWcgPSBDQ01fUENDUjAsCisJCS5lbmFibGVfc2hpZnQgPSBDQ01fUENDUjBfU1NJMl9JUEdfT0ZGU0VULAorCQkuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgbmZjX2NsayA9IHsKKwkubmFtZSA9ICJuZmNfY2xrIiwKKwkucGFyZW50ID0gJmNwdV9jbGssCisJLmdldF9yYXRlID0gX2Nsa19uZmNfcmVjYWxjLAorCS5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkuZW5hYmxlX3JlZyA9IENDTV9QQ0NSMSwKKwkuZW5hYmxlX3NoaWZ0ID0gQ0NNX1BDQ1IxX05GQ19CQVVEX09GRlNFVCwKKwkuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIHZwdV9jbGsgPSB7CisJLm5hbWUgPSAidnB1X2NsayIsCisJLnBhcmVudCA9ICZtcGxsX21haW5fY2xrWzFdLAorCS5nZXRfcmF0ZSA9IF9jbGtfdnB1X3JlY2FsYywKKwkuZW5hYmxlID0gX2Nsa192cHVfZW5hYmxlLAorCS5kaXNhYmxlID0gX2Nsa192cHVfZGlzYWJsZSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIGRtYV9jbGsgPSB7CisJLm5hbWUgPSAiZG1hX2NsayIsCisJLnBhcmVudCA9ICZhaGJfY2xrLAorCS5lbmFibGUgPSBfY2xrX2RtYV9lbmFibGUsCisJLmRpc2FibGUgPSBfY2xrX2RtYV9kaXNhYmxlLAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgcnRpY19jbGsgPSB7CisJLm5hbWUgPSAicnRpY19jbGsiLAorCS5wYXJlbnQgPSAmYWhiX2NsaywKKwkuZW5hYmxlID0gX2Nsa19ydGljX2VuYWJsZSwKKwkuZGlzYWJsZSA9IF9jbGtfcnRpY19kaXNhYmxlLAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgYnJvbV9jbGsgPSB7CisJLm5hbWUgPSAiYnJvbV9jbGsiLAorCS5wYXJlbnQgPSAmYWhiX2NsaywKKwkuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJLmVuYWJsZV9yZWcgPSBDQ01fUENDUjEsCisJLmVuYWJsZV9zaGlmdCA9IENDTV9QQ0NSMV9IQ0xLX0JST01fT0ZGU0VULAorCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgZW1tYV9jbGsgPSB7CisJLm5hbWUgPSAiZW1tYV9jbGsiLAorCS5wYXJlbnQgPSAmYWhiX2NsaywKKwkuZW5hYmxlID0gX2Nsa19lbW1hX2VuYWJsZSwKKwkuZGlzYWJsZSA9IF9jbGtfZW1tYV9kaXNhYmxlLAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgc2xjZGNfY2xrID0geworCS5uYW1lID0gInNsY2RjX2NsayIsCisJLnBhcmVudCA9ICZhaGJfY2xrLAorCS5lbmFibGUgPSBfY2xrX3NsY2RjX2VuYWJsZSwKKwkuZGlzYWJsZSA9IF9jbGtfc2xjZGNfZGlzYWJsZSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIGZlY19jbGsgPSB7CisJLm5hbWUgPSAiZmVjX2NsayIsCisJLnBhcmVudCA9ICZhaGJfY2xrLAorCS5lbmFibGUgPSBfY2xrX2ZlY19lbmFibGUsCisJLmRpc2FibGUgPSBfY2xrX2ZlY19kaXNhYmxlLAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgZW1pX2NsayA9IHsKKwkubmFtZSA9ICJlbWlfY2xrIiwKKwkucGFyZW50ID0gJmFoYl9jbGssCisJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCS5lbmFibGVfcmVnID0gQ0NNX1BDQ1IxLAorCS5lbmFibGVfc2hpZnQgPSBDQ01fUENDUjFfSENMS19FTUlfT0ZGU0VULAorCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgc2FoYXJhMl9jbGsgPSB7CisJLm5hbWUgPSAic2FoYXJhX2NsayIsCisJLnBhcmVudCA9ICZhaGJfY2xrLAorCS5lbmFibGUgPSBfY2xrX3NhaGFyYTJfZW5hYmxlLAorCS5kaXNhYmxlID0gX2Nsa19zYWhhcmEyX2Rpc2FibGUsCit9OworCitzdGF0aWMgc3RydWN0IGNsayBhdGFfY2xrID0geworCS5uYW1lID0gImF0YV9jbGsiLAorCS5wYXJlbnQgPSAmYWhiX2NsaywKKwkuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJLmVuYWJsZV9yZWcgPSBDQ01fUENDUjEsCisJLmVuYWJsZV9zaGlmdCA9IENDTV9QQ0NSMV9IQ0xLX0FUQV9PRkZTRVQsCisJLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsCit9OworCitzdGF0aWMgc3RydWN0IGNsayBtc3RpY2sxX2NsayA9IHsKKwkubmFtZSA9ICJtc3RpY2sxX2NsayIsCisJLnBhcmVudCA9ICZpcGdfY2xrLAorCS5lbmFibGUgPSBfY2xrX21zdGljazFfZW5hYmxlLAorCS5kaXNhYmxlID0gX2Nsa19tc3RpY2sxX2Rpc2FibGUsCit9OworCitzdGF0aWMgc3RydWN0IGNsayB3ZG9nX2NsayA9IHsKKwkubmFtZSA9ICJ3ZG9nX2NsayIsCisJLnBhcmVudCA9ICZpcGdfY2xrLAorCS5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkuZW5hYmxlX3JlZyA9IENDTV9QQ0NSMSwKKwkuZW5hYmxlX3NoaWZ0ID0gQ0NNX1BDQ1IxX1dEVF9PRkZTRVQsCisJLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsCit9OworCitzdGF0aWMgc3RydWN0IGNsayBncGlvX2NsayA9IHsKKwkubmFtZSA9ICJncGlvX2NsayIsCisJLnBhcmVudCA9ICZpcGdfY2xrLAorCS5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkuZW5hYmxlX3JlZyA9IENDTV9QQ0NSMSwKKwkuZW5hYmxlX3NoaWZ0ID0gQ0NNX1BDQ1IwX0dQSU9fT0ZGU0VULAorCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgaTJjX2Nsa1tdID0geworCXsKKwkJLm5hbWUgPSAiaTJjX2NsayIsCisJCS5pZCA9IDAsCisJCS5wYXJlbnQgPSAmaXBnX2NsaywKKwkJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCQkuZW5hYmxlX3JlZyA9IENDTV9QQ0NSMCwKKwkJLmVuYWJsZV9zaGlmdCA9IENDTV9QQ0NSMF9JMkMxX09GRlNFVCwKKwkJLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsCisJfSwgeworCQkubmFtZSA9ICJpMmNfY2xrIiwKKwkJLmlkID0gMSwKKwkJLnBhcmVudCA9ICZpcGdfY2xrLAorCQkuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJCS5lbmFibGVfcmVnID0gQ0NNX1BDQ1IwLAorCQkuZW5hYmxlX3NoaWZ0ID0gQ0NNX1BDQ1IwX0kyQzJfT0ZGU0VULAorCQkuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgaWltX2NsayA9IHsKKwkubmFtZSA9ICJpaW1fY2xrIiwKKwkucGFyZW50ID0gJmlwZ19jbGssCisJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCS5lbmFibGVfcmVnID0gQ0NNX1BDQ1IwLAorCS5lbmFibGVfc2hpZnQgPSBDQ01fUENDUjBfSUlNX09GRlNFVCwKKwkuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIGtwcF9jbGsgPSB7CisJLm5hbWUgPSAia3BwX2NsayIsCisJLnBhcmVudCA9ICZpcGdfY2xrLAorCS5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkuZW5hYmxlX3JlZyA9IENDTV9QQ0NSMCwKKwkuZW5hYmxlX3NoaWZ0ID0gQ0NNX1BDQ1IwX0tQUF9PRkZTRVQsCisJLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsCit9OworCitzdGF0aWMgc3RydWN0IGNsayBvd2lyZV9jbGsgPSB7CisJLm5hbWUgPSAib3dpcmVfY2xrIiwKKwkucGFyZW50ID0gJmlwZ19jbGssCisJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCS5lbmFibGVfcmVnID0gQ0NNX1BDQ1IwLAorCS5lbmFibGVfc2hpZnQgPSBDQ01fUENDUjBfT1dJUkVfT0ZGU0VULAorCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgcnRjX2NsayA9IHsKKwkubmFtZSA9ICJydGNfY2xrIiwKKwkucGFyZW50ID0gJmlwZ19jbGssCisJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCS5lbmFibGVfcmVnID0gQ0NNX1BDQ1IwLAorCS5lbmFibGVfc2hpZnQgPSBDQ01fUENDUjBfUlRDX09GRlNFVCwKKwkuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIHNjY19jbGsgPSB7CisJLm5hbWUgPSAic2NjX2NsayIsCisJLnBhcmVudCA9ICZpcGdfY2xrLAorCS5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkuZW5hYmxlX3JlZyA9IENDTV9QQ0NSMCwKKwkuZW5hYmxlX3NoaWZ0ID0gQ0NNX1BDQ1IwX1NDQ19PRkZTRVQsCisJLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsCit9OworCitzdGF0aWMgdW5zaWduZWQgbG9uZyBfY2xrX2Nsa29fcm91bmRfcmF0ZShzdHJ1Y3QgY2xrICpjbGssIHVuc2lnbmVkIGxvbmcgcmF0ZSkKK3sKKwl1MzIgZGl2OworCXVuc2lnbmVkIGxvbmcgcGFyZW50X3JhdGU7CisKKwlwYXJlbnRfcmF0ZSA9IGNsa19nZXRfcmF0ZShjbGstPnBhcmVudCk7CisJZGl2ID0gcGFyZW50X3JhdGUgLyByYXRlOworCWlmIChwYXJlbnRfcmF0ZSAlIHJhdGUpCisJCWRpdisrOworCisJaWYgKGRpdiA+IDgpCisJCWRpdiA9IDg7CisKKwlyZXR1cm4gcGFyZW50X3JhdGUgLyBkaXY7Cit9CisKK3N0YXRpYyBpbnQgX2Nsa19jbGtvX3NldF9yYXRlKHN0cnVjdCBjbGsgKmNsaywgdW5zaWduZWQgbG9uZyByYXRlKQoreworCXUzMiByZWc7CisJdTMyIGRpdjsKKwl1bnNpZ25lZCBsb25nIHBhcmVudF9yYXRlOworCisJcGFyZW50X3JhdGUgPSBjbGtfZ2V0X3JhdGUoY2xrLT5wYXJlbnQpOworCisJZGl2ID0gcGFyZW50X3JhdGUgLyByYXRlOworCisJaWYgKGRpdiA+IDggfHwgZGl2IDwgMSB8fCAoKHBhcmVudF9yYXRlIC8gZGl2KSAhPSByYXRlKSkKKwkJcmV0dXJuIC1FSU5WQUw7CisJZGl2LS07CisKKwlyZWcgPSBfX3Jhd19yZWFkbChDQ01fUENEUjApICYgfkNDTV9QQ0RSMF9DTEtPRElWX01BU0s7CisJcmVnIHw9IGRpdiA8PCBDQ01fUENEUjBfQ0xLT0RJVl9PRkZTRVQ7CisJX19yYXdfd3JpdGVsKHJlZywgQ0NNX1BDRFIwKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgdW5zaWduZWQgbG9uZyBfY2xrX2Nsa29fcmVjYWxjKHN0cnVjdCBjbGsgKmNsaykKK3sKKwl1MzIgZGl2OworCXVuc2lnbmVkIGxvbmcgcGFyZW50X3JhdGU7CisKKwlwYXJlbnRfcmF0ZSA9IGNsa19nZXRfcmF0ZShjbGstPnBhcmVudCk7CisKKwlkaXYgPSBfX3Jhd19yZWFkbChDQ01fUENEUjApICYgQ0NNX1BDRFIwX0NMS09ESVZfTUFTSyA+PgorCQlDQ01fUENEUjBfQ0xLT0RJVl9PRkZTRVQ7CisJZGl2Kys7CisKKwlyZXR1cm4gcGFyZW50X3JhdGUgLyBkaXY7Cit9CisKK3N0YXRpYyBpbnQgX2Nsa19jbGtvX3NldF9wYXJlbnQoc3RydWN0IGNsayAqY2xrLCBzdHJ1Y3QgY2xrICpwYXJlbnQpCit7CisJdTMyIHJlZzsKKworCXJlZyA9IF9fcmF3X3JlYWRsKENDTV9DQ1NSKSAmIH5DQ01fQ0NTUl9DTEtPU0VMX01BU0s7CisKKwlpZiAocGFyZW50ID09ICZja2lsX2NsaykKKwkJcmVnIHw9IDAgPDwgQ0NNX0NDU1JfQ0xLT1NFTF9PRkZTRVQ7CisJZWxzZSBpZiAocGFyZW50ID09ICZja2loX2NsaykKKwkJcmVnIHw9IDIgPDwgQ0NNX0NDU1JfQ0xLT1NFTF9PRkZTRVQ7CisJZWxzZSBpZiAocGFyZW50ID09IG1wbGxfY2xrLnBhcmVudCkKKwkJcmVnIHw9IDMgPDwgQ0NNX0NDU1JfQ0xLT1NFTF9PRkZTRVQ7CisJZWxzZSBpZiAocGFyZW50ID09IHNwbGxfY2xrLnBhcmVudCkKKwkJcmVnIHw9IDQgPDwgQ0NNX0NDU1JfQ0xLT1NFTF9PRkZTRVQ7CisJZWxzZSBpZiAocGFyZW50ID09ICZtcGxsX2NsaykKKwkJcmVnIHw9IDUgPDwgQ0NNX0NDU1JfQ0xLT1NFTF9PRkZTRVQ7CisJZWxzZSBpZiAocGFyZW50ID09ICZzcGxsX2NsaykKKwkJcmVnIHw9IDYgPDwgQ0NNX0NDU1JfQ0xLT1NFTF9PRkZTRVQ7CisJZWxzZSBpZiAocGFyZW50ID09ICZjcHVfY2xrKQorCQlyZWcgfD0gNyA8PCBDQ01fQ0NTUl9DTEtPU0VMX09GRlNFVDsKKwllbHNlIGlmIChwYXJlbnQgPT0gJmFoYl9jbGspCisJCXJlZyB8PSA4IDw8IENDTV9DQ1NSX0NMS09TRUxfT0ZGU0VUOworCWVsc2UgaWYgKHBhcmVudCA9PSAmaXBnX2NsaykKKwkJcmVnIHw9IDkgPDwgQ0NNX0NDU1JfQ0xLT1NFTF9PRkZTRVQ7CisJZWxzZSBpZiAocGFyZW50ID09ICZwZXJfY2xrWzBdKQorCQlyZWcgfD0gMHhBIDw8IENDTV9DQ1NSX0NMS09TRUxfT0ZGU0VUOworCWVsc2UgaWYgKHBhcmVudCA9PSAmcGVyX2Nsa1sxXSkKKwkJcmVnIHw9IDB4QiA8PCBDQ01fQ0NTUl9DTEtPU0VMX09GRlNFVDsKKwllbHNlIGlmIChwYXJlbnQgPT0gJnBlcl9jbGtbMl0pCisJCXJlZyB8PSAweEMgPDwgQ0NNX0NDU1JfQ0xLT1NFTF9PRkZTRVQ7CisJZWxzZSBpZiAocGFyZW50ID09ICZwZXJfY2xrWzNdKQorCQlyZWcgfD0gMHhEIDw8IENDTV9DQ1NSX0NMS09TRUxfT0ZGU0VUOworCWVsc2UgaWYgKHBhcmVudCA9PSAmc3NpMV9jbGtbMF0pCisJCXJlZyB8PSAweEUgPDwgQ0NNX0NDU1JfQ0xLT1NFTF9PRkZTRVQ7CisJZWxzZSBpZiAocGFyZW50ID09ICZzc2kyX2Nsa1swXSkKKwkJcmVnIHw9IDB4RiA8PCBDQ01fQ0NTUl9DTEtPU0VMX09GRlNFVDsKKwllbHNlIGlmIChwYXJlbnQgPT0gJm5mY19jbGspCisJCXJlZyB8PSAweDEwIDw8IENDTV9DQ1NSX0NMS09TRUxfT0ZGU0VUOworCWVsc2UgaWYgKHBhcmVudCA9PSAmbXN0aWNrMV9jbGspCisJCXJlZyB8PSAweDExIDw8IENDTV9DQ1NSX0NMS09TRUxfT0ZGU0VUOworCWVsc2UgaWYgKHBhcmVudCA9PSAmdnB1X2NsaykKKwkJcmVnIHw9IDB4MTIgPDwgQ0NNX0NDU1JfQ0xLT1NFTF9PRkZTRVQ7CisJZWxzZSBpZiAocGFyZW50ID09ICZ1c2JfY2xrWzBdKQorCQlyZWcgfD0gMHgxNSA8PCBDQ01fQ0NTUl9DTEtPU0VMX09GRlNFVDsKKwllbHNlCisJCXJldHVybiAtRUlOVkFMOworCisJX19yYXdfd3JpdGVsKHJlZywgQ0NNX0NDU1IpOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgX2Nsa19jbGtvX2VuYWJsZShzdHJ1Y3QgY2xrICpjbGspCit7CisJdTMyIHJlZzsKKworCXJlZyA9IF9fcmF3X3JlYWRsKENDTV9QQ0RSMCkgfCBDQ01fUENEUjBfQ0xLT19FTjsKKwlfX3Jhd193cml0ZWwocmVnLCBDQ01fUENEUjApOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIF9jbGtfY2xrb19kaXNhYmxlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwl1MzIgcmVnOworCisJcmVnID0gX19yYXdfcmVhZGwoQ0NNX1BDRFIwKSAmIH5DQ01fUENEUjBfQ0xLT19FTjsKKwlfX3Jhd193cml0ZWwocmVnLCBDQ01fUENEUjApOworfQorCitzdGF0aWMgc3RydWN0IGNsayBjbGtvX2NsayA9IHsKKwkubmFtZSA9ICJjbGtvX2NsayIsCisJLmdldF9yYXRlID0gX2Nsa19jbGtvX3JlY2FsYywKKwkuc2V0X3JhdGUgPSBfY2xrX2Nsa29fc2V0X3JhdGUsCisJLnJvdW5kX3JhdGUgPSBfY2xrX2Nsa29fcm91bmRfcmF0ZSwKKwkuc2V0X3BhcmVudCA9IF9jbGtfY2xrb19zZXRfcGFyZW50LAorCS5lbmFibGUgPSBfY2xrX2Nsa29fZW5hYmxlLAorCS5kaXNhYmxlID0gX2Nsa19jbGtvX2Rpc2FibGUsCit9OworCitzdGF0aWMgc3RydWN0IGNsayAqbXhjX2Nsa3NbXSA9IHsKKwkmY2tpaF9jbGssCisJJmNraWxfY2xrLAorCSZtcGxsX2NsaywKKwkmbXBsbF9tYWluX2Nsa1swXSwKKwkmbXBsbF9tYWluX2Nsa1sxXSwKKwkmc3BsbF9jbGssCisJJmNwdV9jbGssCisJJmFoYl9jbGssCisJJmlwZ19jbGssCisJJnBlcl9jbGtbMF0sCisJJnBlcl9jbGtbMV0sCisJJnBlcl9jbGtbMl0sCisJJnBlcl9jbGtbM10sCisJJmNsa29fY2xrLAorCSZ1YXJ0MV9jbGtbMF0sCisJJnVhcnQxX2Nsa1sxXSwKKwkmdWFydDJfY2xrWzBdLAorCSZ1YXJ0Ml9jbGtbMV0sCisJJnVhcnQzX2Nsa1swXSwKKwkmdWFydDNfY2xrWzFdLAorCSZ1YXJ0NF9jbGtbMF0sCisJJnVhcnQ0X2Nsa1sxXSwKKwkmdWFydDVfY2xrWzBdLAorCSZ1YXJ0NV9jbGtbMV0sCisJJnVhcnQ2X2Nsa1swXSwKKwkmdWFydDZfY2xrWzFdLAorCSZncHQxX2Nsa1swXSwKKwkmZ3B0MV9jbGtbMV0sCisJJmdwdDJfY2xrWzBdLAorCSZncHQyX2Nsa1sxXSwKKwkmZ3B0M19jbGtbMF0sCisJJmdwdDNfY2xrWzFdLAorCSZncHQ0X2Nsa1swXSwKKwkmZ3B0NF9jbGtbMV0sCisJJmdwdDVfY2xrWzBdLAorCSZncHQ1X2Nsa1sxXSwKKwkmZ3B0Nl9jbGtbMF0sCisJJmdwdDZfY2xrWzFdLAorCSZwd21fY2xrWzBdLAorCSZwd21fY2xrWzFdLAorCSZzZGhjMV9jbGtbMF0sCisJJnNkaGMxX2Nsa1sxXSwKKwkmc2RoYzJfY2xrWzBdLAorCSZzZGhjMl9jbGtbMV0sCisJJnNkaGMzX2Nsa1swXSwKKwkmc2RoYzNfY2xrWzFdLAorCSZjc3BpMV9jbGtbMF0sCisJJmNzcGkxX2Nsa1sxXSwKKwkmY3NwaTJfY2xrWzBdLAorCSZjc3BpMl9jbGtbMV0sCisJJmNzcGkzX2Nsa1swXSwKKwkmY3NwaTNfY2xrWzFdLAorCSZsY2RjX2Nsa1swXSwKKwkmbGNkY19jbGtbMV0sCisJJmxjZGNfY2xrWzJdLAorCSZjc2lfY2xrWzBdLAorCSZjc2lfY2xrWzFdLAorCSZ1c2JfY2xrWzBdLAorCSZ1c2JfY2xrWzFdLAorCSZzc2kxX2Nsa1swXSwKKwkmc3NpMV9jbGtbMV0sCisJJnNzaTJfY2xrWzBdLAorCSZzc2kyX2Nsa1sxXSwKKwkmbmZjX2NsaywKKwkmdnB1X2NsaywKKwkmZG1hX2NsaywKKwkmcnRpY19jbGssCisJJmJyb21fY2xrLAorCSZlbW1hX2NsaywKKwkmc2xjZGNfY2xrLAorCSZmZWNfY2xrLAorCSZlbWlfY2xrLAorCSZzYWhhcmEyX2NsaywKKwkmYXRhX2NsaywKKwkmbXN0aWNrMV9jbGssCisJJndkb2dfY2xrLAorCSZncGlvX2NsaywKKwkmaTJjX2Nsa1swXSwKKwkmaTJjX2Nsa1sxXSwKKwkmaWltX2NsaywKKwkma3BwX2NsaywKKwkmb3dpcmVfY2xrLAorCSZydGNfY2xrLAorCSZzY2NfY2xrLAorfTsKKwordm9pZCBfX2luaXQgY2hhbmdlX2V4dGVybmFsX2xvd19yZWZlcmVuY2UodW5zaWduZWQgbG9uZyBuZXdfcmVmKQoreworCWV4dGVybmFsX2xvd19yZWZlcmVuY2UgPSBuZXdfcmVmOworfQorCit1bnNpZ25lZCBsb25nIF9faW5pdCBjbGtfZWFybHlfZ2V0X3RpbWVyX3JhdGUodm9pZCkKK3sKKwlyZXR1cm4gY2xrX2dldF9yYXRlKCZwZXJfY2xrWzBdKTsKK30KKworc3RhdGljIHZvaWQgX19pbml0IHByb2JlX214Y19jbG9ja3Modm9pZCkKK3sKKwlpbnQgaTsKKworCWlmIChteDI3X3JldmlzaW9uKCkgPj0gQ0hJUF9SRVZfMl8wKSB7CisJCWlmIChDU0NSKCkgJiAweDgwMDApCisJCQljcHVfY2xrLnBhcmVudCA9ICZtcGxsX21haW5fY2xrWzBdOworCisJCWlmICghKENTQ1IoKSAmIDB4MDA4MDAwMDApKQorCQkJc3NpMl9jbGtbMF0ucGFyZW50ID0gJnNwbGxfY2xrOworCisJCWlmICghKENTQ1IoKSAmIDB4MDA0MDAwMDApKQorCQkJc3NpMV9jbGtbMF0ucGFyZW50ID0gJnNwbGxfY2xrOworCisJCWlmICghKENTQ1IoKSAmIDB4MDAyMDAwMDApKQorCQkJdnB1X2Nsay5wYXJlbnQgPSAmc3BsbF9jbGs7CisJfSBlbHNlIHsKKwkJY3B1X2Nsay5wYXJlbnQgPSAmbXBsbF9jbGs7CisJCWNwdV9jbGsuc2V0X3BhcmVudCA9IE5VTEw7CisJCWNwdV9jbGsucm91bmRfcmF0ZSA9IE5VTEw7CisJCWNwdV9jbGsuc2V0X3JhdGUgPSBOVUxMOworCQlhaGJfY2xrLnBhcmVudCA9ICZtcGxsX2NsazsKKworCQlmb3IgKGkgPSAwOyBpIDwgc2l6ZW9mKHBlcl9jbGspIC8gc2l6ZW9mKHBlcl9jbGtbMF0pOyBpKyspCisJCQlwZXJfY2xrW2ldLnBhcmVudCA9ICZtcGxsX2NsazsKKworCQlzc2kxX2Nsa1swXS5wYXJlbnQgPSAmbXBsbF9jbGs7CisJCXNzaTJfY2xrWzBdLnBhcmVudCA9ICZtcGxsX2NsazsKKworCQl2cHVfY2xrLnBhcmVudCA9ICZtcGxsX2NsazsKKwl9Cit9CisKKy8qCisgKiBtdXN0IGJlIGNhbGxlZCB2ZXJ5IGVhcmx5IHRvIGdldCBpbmZvcm1hdGlvbiBhYm91dCB0aGUKKyAqIGF2YWlsYWJsZSBjbG9jayByYXRlIHdoZW4gdGhlIHRpbWVyIGZyYW1ld29yayBzdGFydHMKKyAqLworaW50IF9faW5pdCBteGNfY2xvY2tzX2luaXQodW5zaWduZWQgbG9uZyBmcmVmKQoreworCXUzMiBjc2NyOworCXN0cnVjdCBjbGsgKipjbGtwOworCisJZXh0ZXJuYWxfaGlnaF9yZWZlcmVuY2UgPSBmcmVmOworCisJLyogZGV0ZWN0IGNsb2NrIHJlZmVyZW5jZSBmb3IgYm90aCBzeXN0ZW0gUExMICovCisJY3NjciA9IENTQ1IoKTsKKwlpZiAoY3NjciAmIENDTV9DU0NSX01DVSkKKwkJbXBsbF9jbGsucGFyZW50ID0gJmNraWhfY2xrOworCWVsc2UKKwkJbXBsbF9jbGsucGFyZW50ID0gJmNraWxfY2xrOworCisJaWYgKGNzY3IgJiBDQ01fQ1NDUl9TUCkKKwkJc3BsbF9jbGsucGFyZW50ID0gJmNraWhfY2xrOworCWVsc2UKKwkJc3BsbF9jbGsucGFyZW50ID0gJmNraWxfY2xrOworCisJcHJvYmVfbXhjX2Nsb2NrcygpOworCisJcGVyX2Nsa1swXS5lbmFibGUoJnBlcl9jbGtbMF0pOworCWdwdDFfY2xrWzFdLmVuYWJsZSgmZ3B0MV9jbGtbMV0pOworCisJZm9yIChjbGtwID0gbXhjX2Nsa3M7IGNsa3AgPCBteGNfY2xrcyArIEFSUkFZX1NJWkUobXhjX2Nsa3MpOyBjbGtwKyspCisJCWNsa19yZWdpc3RlcigqY2xrcCk7CisKKwkvKiBUdXJuIG9mZiBhbGwgcG9zc2libGUgY2xvY2tzICovCisJX19yYXdfd3JpdGVsKENDTV9QQ0NSMF9HUFQxX01BU0ssIENDTV9QQ0NSMCk7CisJX19yYXdfd3JpdGVsKENDTV9QQ0NSMV9QRVJDTEsxX01BU0sgfCBDQ01fUENDUjFfSENMS19FTUlfTUFTSywKKwkJICAgICBDQ01fUENDUjEpOworCXNwbGxfY2xrLmRpc2FibGUoJnNwbGxfY2xrKTsKKworCS8qIFRoaXMgd2lsbCBwcm9wYWdhdGUgdG8gYWxsIGNoaWxkcmVuIGFuZCBpbml0IGFsbCB0aGUgY2xvY2sgcmF0ZXMgKi8KKworCWNsa19lbmFibGUoJmVtaV9jbGspOworCWNsa19lbmFibGUoJmdwaW9fY2xrKTsKKwljbGtfZW5hYmxlKCZpaW1fY2xrKTsKKwljbGtfZW5hYmxlKCZncHQxX2Nsa1swXSk7CisjaWZkZWYgQ09ORklHX0RFQlVHX0xMX0NPTlNPTEUKKwljbGtfZW5hYmxlKCZ1YXJ0MV9jbGtbMF0pOworI2VuZGlmCisJcmV0dXJuIDA7Cit9CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW14Mi9jcHVfaW14MjcuYyBiL2FyY2gvYXJtL21hY2gtbXgyL2NwdV9pbXgyNy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ2YjVjMmUKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLW14Mi9jcHVfaW14MjcuYwpAQCAtMCwwICsxLDYzIEBACisvKgorICogQ29weXJpZ2h0IDIwMDcgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqIENvcHlyaWdodCAyMDA4IEp1ZXJnZW4gQmVpc2VydCwga2VybmVsQHBlbmd1dHJvbml4LmRlCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyCisgKiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sCisgKiBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworLyoKKyAqIGkuTVgyNyBzcGVjaWZpYyBDUFUgZGV0ZWN0aW9uIGNvZGUKKyAqLworCisjaW5jbHVkZSA8bGludXgvaW8uaD4KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKworI2luY2x1ZGUgPGFzbS9oYXJkd2FyZS5oPgorCisjaW5jbHVkZSAiY3JtX3JlZ3MuaCIKKworc3RhdGljIGludCBjcHVfc2lsaWNvbl9yZXYgPSAtMTsKK3N0YXRpYyBpbnQgY3B1X3BhcnRudW1iZXI7CisKK3N0YXRpYyB2b2lkIHF1ZXJ5X3NpbGljb25fcGFyYW1ldGVyKHZvaWQpCit7CisJdTMyIHZhbDsKKwkvKgorCSAqIG5vdyB3ZSBoYXZlIGFjY2VzcyB0byB0aGUgSU8gcmVnaXN0ZXJzLiBBcyB3ZSBuZWVkCisJICogdGhlIHNpbGljb24gcmV2aXNpb24gdmVyeSBlYXJseSB3ZSByZWFkIGl0IGhlcmUgdG8KKwkgKiBhdm9pZCBhbnkgZnVydGhlciBob29rcworCSovCisJdmFsID0gX19yYXdfcmVhZGwoSU9fQUREUkVTUyhTWVNDVFJMX0JBU0VfQUREUikgKyBTWVNfQ0hJUF9JRCk7CisKKwljcHVfc2lsaWNvbl9yZXYgPSAoaW50KSh2YWwgPj4gMjgpOworCWNwdV9wYXJ0bnVtYmVyID0gKGludCkoKHZhbCA+PiAxMikgJiAweEZGRkYpOworfQorCisvKgorICogUmV0dXJuczoKKyAqCXRoZSBzaWxpY29uIHJldmlzaW9uIG9mIHRoZSBjcHUKKyAqCS1FSU5WQUwgLSBub3QgYSBteDI3CisgKi8KK2ludCBteDI3X3JldmlzaW9uKHZvaWQpCit7CisJaWYgKGNwdV9zaWxpY29uX3JldiA9PSAtMSkKKwkJcXVlcnlfc2lsaWNvbl9wYXJhbWV0ZXIoKTsKKworCWlmIChjcHVfcGFydG51bWJlciAhPSAweDg4MjEpCisJCXJldHVybiAtRUlOVkFMOworCisJcmV0dXJuIGNwdV9zaWxpY29uX3JldjsKK30KK0VYUE9SVF9TWU1CT0wobXgyN19yZXZpc2lvbik7CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW14Mi9jcm1fcmVncy5oIGIvYXJjaC9hcm0vbWFjaC1teDIvY3JtX3JlZ3MuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNDBhOWI5Ci0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vbWFjaC1teDIvY3JtX3JlZ3MuaApAQCAtMCwwICsxLDI3MyBAQAorLyoKKyAqIENvcHlyaWdodCAyMDA0LTIwMDcgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqIENvcHlyaWdodCAyMDA4IEp1ZXJnZW4gQmVpc2VydCwga2VybmVsQHBlbmd1dHJvbml4LmRlCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyCisgKiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sCisgKiBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI2lmbmRlZiBfX0FSQ0hfQVJNX01BQ0hfTVgyX0NSTV9SRUdTX0hfXworI2RlZmluZSBfX0FSQ0hfQVJNX01BQ0hfTVgyX0NSTV9SRUdTX0hfXworCisjaW5jbHVkZSA8YXNtL2FyY2gvaGFyZHdhcmUuaD4KKworLyogUmVnaXN0ZXIgb2Zmc2V0cyAqLworI2RlZmluZSBDQ01fQ1NDUiAgICAgICAgICAgICAgICAoSU9fQUREUkVTUyhDQ01fQkFTRV9BRERSKSArIDB4MCkKKyNkZWZpbmUgQ0NNX01QQ1RMMCAgICAgICAgICAgICAgKElPX0FERFJFU1MoQ0NNX0JBU0VfQUREUikgKyAweDQpCisjZGVmaW5lIENDTV9NUENUTDEgICAgICAgICAgICAgIChJT19BRERSRVNTKENDTV9CQVNFX0FERFIpICsgMHg4KQorI2RlZmluZSBDQ01fU1BDVEwwICAgICAgICAgICAgICAoSU9fQUREUkVTUyhDQ01fQkFTRV9BRERSKSArIDB4QykKKyNkZWZpbmUgQ0NNX1NQQ1RMMSAgICAgICAgICAgICAgKElPX0FERFJFU1MoQ0NNX0JBU0VfQUREUikgKyAweDEwKQorI2RlZmluZSBDQ01fT1NDMjZNQ1RMICAgICAgICAgICAoSU9fQUREUkVTUyhDQ01fQkFTRV9BRERSKSArIDB4MTQpCisjZGVmaW5lIENDTV9QQ0RSMCAgICAgICAgICAgICAgIChJT19BRERSRVNTKENDTV9CQVNFX0FERFIpICsgMHgxOCkKKyNkZWZpbmUgQ0NNX1BDRFIxICAgICAgICAgICAgICAgKElPX0FERFJFU1MoQ0NNX0JBU0VfQUREUikgKyAweDFjKQorI2RlZmluZSBDQ01fUENDUjAgICAgICAgICAgICAgICAoSU9fQUREUkVTUyhDQ01fQkFTRV9BRERSKSArIDB4MjApCisjZGVmaW5lIENDTV9QQ0NSMSAgICAgICAgICAgICAgIChJT19BRERSRVNTKENDTV9CQVNFX0FERFIpICsgMHgyNCkKKyNkZWZpbmUgQ0NNX0NDU1IgICAgICAgICAgICAgICAgKElPX0FERFJFU1MoQ0NNX0JBU0VfQUREUikgKyAweDI4KQorI2RlZmluZSBDQ01fUE1DVEwgICAgICAgICAgICAgICAoSU9fQUREUkVTUyhDQ01fQkFTRV9BRERSKSArIDB4MmMpCisjZGVmaW5lIENDTV9QTUNPVU5UICAgICAgICAgICAgIChJT19BRERSRVNTKENDTV9CQVNFX0FERFIpICsgMHgzMCkKKyNkZWZpbmUgQ0NNX1dLR0RDVEwgICAgICAgICAgICAgKElPX0FERFJFU1MoQ0NNX0JBU0VfQUREUikgKyAweDM0KQorCisjZGVmaW5lIENDTV9DU0NSX1VTQl9PRkZTRVQgICAgIDI4CisjZGVmaW5lIENDTV9DU0NSX1VTQl9NQVNLICAgICAgICgweDcgPDwgMjgpCisjZGVmaW5lIENDTV9DU0NSX1NEX09GRlNFVCAgICAgIDI0CisjZGVmaW5lIENDTV9DU0NSX1NEX01BU0sgICAgICAgICgweDMgPDwgMjQpCisjZGVmaW5lIENDTV9DU0NSX1NTSTIgICAgICAgICAgICgxIDw8IDIzKQorI2RlZmluZSBDQ01fQ1NDUl9TU0kyX09GRlNFVCAgICAyMworI2RlZmluZSBDQ01fQ1NDUl9TU0kxICAgICAgICAgICAoMSA8PCAyMikKKyNkZWZpbmUgQ0NNX0NTQ1JfU1NJMV9PRkZTRVQgICAgMjIKKyNkZWZpbmUgQ0NNX0NTQ1JfVlBVICAgICAgICAgICAoMSA8PCAyMSkKKyNkZWZpbmUgQ0NNX0NTQ1JfVlBVX09GRlNFVCAgICAyMQorI2RlZmluZSBDQ01fQ1NDUl9NU0hDICAgICAgICAgICAoMSA8PCAyMCkKKyNkZWZpbmUgQ0NNX0NTQ1JfU1BMTFJFUyAgICAgICAgKDEgPDwgMTkpCisjZGVmaW5lIENDTV9DU0NSX01QTExSRVMgICAgICAgICgxIDw8IDE4KQorI2RlZmluZSBDQ01fQ1NDUl9TUCAgICAgICAgICAgICAoMSA8PCAxNykKKyNkZWZpbmUgQ0NNX0NTQ1JfTUNVICAgICAgICAgICAgKDEgPDwgMTYpCisvKiBDQ01fQ1NDUl9BUk1feHh4IGp1c3QgYmUgYXZhbGlhYmxlIG9uIGkuTVgyNyBUTzIqLworI2RlZmluZSBDQ01fQ1NDUl9BUk1fU1JDICAgICAgICAoMSA8PCAxNSkKKyNkZWZpbmUgQ0NNX0NTQ1JfQVJNX09GRlNFVCAgICAgMTIKKyNkZWZpbmUgQ0NNX0NTQ1JfQVJNX01BU0sgICAgICAgKDB4MyA8PCAxMikKKy8qIENDTV9DU0NSX0FSTV94eHgganVzdCBiZSBhdmFsaWFibGUgb24gaS5NWDI3IFRPMiovCisjZGVmaW5lIENDTV9DU0NSX1BSRVNDX09GRlNFVCAgIDEzCisjZGVmaW5lIENDTV9DU0NSX1BSRVNDX01BU0sgICAgICgweDcgPDwgMTMpCisjZGVmaW5lIENDTV9DU0NSX0JDTEtfT0ZGU0VUICAgIDkKKyNkZWZpbmUgQ0NNX0NTQ1JfQkNMS19NQVNLICAgICAgKDB4ZiA8PCA5KQorI2RlZmluZSBDQ01fQ1NDUl9JUERJVl9PRkZTRVQgICA4CisjZGVmaW5lIENDTV9DU0NSX0lQRElWICAgICAgICAgICgxIDw8IDgpCisvKiBDQ01fQ1NDUl9BSEJfeHh4IGp1c3QgYmUgYXZhbGlhYmxlIG9uIGkuTVgyNyBUTzIqLworI2RlZmluZSBDQ01fQ1NDUl9BSEJfT0ZGU0VUICAgICA4CisjZGVmaW5lIENDTV9DU0NSX0FIQl9NQVNLICAgICAgICgweDMgPDwgOCkKKy8qIENDTV9DU0NSX0FIQl94eHgganVzdCBiZSBhdmFsaWFibGUgb24gaS5NWDI3IFRPMiovCisjZGVmaW5lIENDTV9DU0NSX09TQzI2TURJViAgICAgICgxIDw8IDQpCisjZGVmaW5lIENDTV9DU0NSX09TQzI2TSAgICAgICAgICgxIDw8IDMpCisjZGVmaW5lIENDTV9DU0NSX0ZQTSAgICAgICAgICAgICgxIDw8IDIpCisjZGVmaW5lIENDTV9DU0NSX1NQRU4gICAgICAgICAgICgxIDw8IDEpCisjZGVmaW5lIENDTV9DU0NSX01QRU4gICAgICAgICAgIDEKKworI2RlZmluZSBDQ01fTVBDVEwwX0NQTE0gICAgICAgICAoMSA8PCAzMSkKKyNkZWZpbmUgQ0NNX01QQ1RMMF9QRF9PRkZTRVQgICAgMjYKKyNkZWZpbmUgQ0NNX01QQ1RMMF9QRF9NQVNLICAgICAgKDB4ZiA8PCAyNikKKyNkZWZpbmUgQ0NNX01QQ1RMMF9NRkRfT0ZGU0VUICAgMTYKKyNkZWZpbmUgQ0NNX01QQ1RMMF9NRkRfTUFTSyAgICAgKDB4M2ZmIDw8IDE2KQorI2RlZmluZSBDQ01fTVBDVEwwX01GSV9PRkZTRVQgICAxMAorI2RlZmluZSBDQ01fTVBDVEwwX01GSV9NQVNLICAgICAoMHhmIDw8IDEwKQorI2RlZmluZSBDQ01fTVBDVEwwX01GTl9PRkZTRVQgICAwCisjZGVmaW5lIENDTV9NUENUTDBfTUZOX01BU0sgICAgIDB4M2ZmCisKKyNkZWZpbmUgQ0NNX01QQ1RMMV9MRiAgICAgICAgICAgKDEgPDwgMTUpCisjZGVmaW5lIENDTV9NUENUTDFfQlJNTyAgICAgICAgICgxIDw8IDYpCisKKyNkZWZpbmUgQ0NNX1NQQ1RMMF9DUExNICAgICAgICAgKDEgPDwgMzEpCisjZGVmaW5lIENDTV9TUENUTDBfUERfT0ZGU0VUICAgIDI2CisjZGVmaW5lIENDTV9TUENUTDBfUERfTUFTSyAgICAgICgweGYgPDwgMjYpCisjZGVmaW5lIENDTV9TUENUTDBfTUZEX09GRlNFVCAgIDE2CisjZGVmaW5lIENDTV9TUENUTDBfTUZEX01BU0sgICAgICgweDNmZiA8PCAxNikKKyNkZWZpbmUgQ0NNX1NQQ1RMMF9NRklfT0ZGU0VUICAgMTAKKyNkZWZpbmUgQ0NNX1NQQ1RMMF9NRklfTUFTSyAgICAgKDB4ZiA8PCAxMCkKKyNkZWZpbmUgQ0NNX1NQQ1RMMF9NRk5fT0ZGU0VUICAgMAorI2RlZmluZSBDQ01fU1BDVEwwX01GTl9NQVNLICAgICAweDNmZgorCisjZGVmaW5lIENDTV9TUENUTDFfTEYgICAgICAgICAgICgxIDw8IDE1KQorI2RlZmluZSBDQ01fU1BDVEwxX0JSTU8gICAgICAgICAoMSA8PCA2KQorCisjZGVmaW5lIENDTV9PU0MyNk1DVExfUEVBS19PRkZTRVQgICAgICAgMTYKKyNkZWZpbmUgQ0NNX09TQzI2TUNUTF9QRUFLX01BU0sgICAgICAgICAoMHgzIDw8IDE2KQorI2RlZmluZSBDQ01fT1NDMjZNQ1RMX0FHQ19PRkZTRVQgICAgICAgIDgKKyNkZWZpbmUgQ0NNX09TQzI2TUNUTF9BR0NfTUFTSyAgICAgICAgICAoMHgzZiA8PCA4KQorI2RlZmluZSBDQ01fT1NDMjZNQ1RMX0FOQVRFU1RfT0ZGU0VUICAgIDAKKyNkZWZpbmUgQ0NNX09TQzI2TUNUTF9BTkFURVNUX01BU0sgICAgICAweDNmCisKKyNkZWZpbmUgQ0NNX1BDRFIwX1NTSTJCQVVERElWX09GRlNFVCAgICAyNgorI2RlZmluZSBDQ01fUENEUjBfU1NJMkJBVURESVZfTUFTSyAgICAgICgweDNmIDw8IDI2KQorI2RlZmluZSBDQ01fUENEUjBfQ0xLT19FTiAgICAgICAgICAgICAgIDI1CisjZGVmaW5lIENDTV9QQ0RSMF9DTEtPRElWX09GRlNFVCAgICAgICAgMjIKKyNkZWZpbmUgQ0NNX1BDRFIwX0NMS09ESVZfTUFTSyAgICAgICAgICAoMHg3IDw8IDIyKQorI2RlZmluZSBDQ01fUENEUjBfU1NJMUJBVURESVZfT0ZGU0VUICAgIDE2CisjZGVmaW5lIENDTV9QQ0RSMF9TU0kxQkFVRERJVl9NQVNLICAgICAgKDB4M2YgPDwgMTYpCisvKlRoZSBkaWZpbml0aW9uIGZvciBpLk1YMjcgVE8yKi8KKyNkZWZpbmUgQ0NNX1BDRFIwX1ZQVURJVjJfT0ZGU0VUICAgICAgICAxMAorI2RlZmluZSBDQ01fUENEUjBfVlBVRElWMl9NQVNLICAgICAgICAgICgweDNmIDw8IDEwKQorI2RlZmluZSBDQ01fUENEUjBfTkZDRElWMl9PRkZTRVQgICAgICAgICA2CisjZGVmaW5lIENDTV9QQ0RSMF9ORkNESVYyX01BU0sgICAgICAgICAgICgweGYgPDwgNikKKyNkZWZpbmUgQ0NNX1BDRFIwX01TSENESVYyX01BU0sgICAgICAgICAgMHgzZgorLypUaGUgZGlmaW5pdGlvbiBmb3IgaS5NWDI3IFRPMiovCisjZGVmaW5lIENDTV9QQ0RSMF9ORkNESVZfT0ZGU0VUICAgICAgICAgMTIKKyNkZWZpbmUgQ0NNX1BDRFIwX05GQ0RJVl9NQVNLICAgICAgICAgICAoMHhmIDw8IDEyKQorI2RlZmluZSBDQ01fUENEUjBfVlBVRElWX09GRlNFVCAgICAgICAgOAorI2RlZmluZSBDQ01fUENEUjBfVlBVRElWX01BU0sgICAgICAgICAgKDB4ZiA8PCA4KQorI2RlZmluZSBDQ01fUENEUjBfTVNIQ0RJVl9PRkZTRVQgICAgICAgIDAKKyNkZWZpbmUgQ0NNX1BDRFIwX01TSENESVZfTUFTSyAgICAgICAgICAweDFmCisKKyNkZWZpbmUgQ0NNX1BDRFIxX1BFUkRJVjRfT0ZGU0VUICAgICAgICAyNAorI2RlZmluZSBDQ01fUENEUjFfUEVSRElWNF9NQVNLICAgICAgICAgICgweDNmIDw8IDI0KQorI2RlZmluZSBDQ01fUENEUjFfUEVSRElWM19PRkZTRVQgICAgICAgIDE2CisjZGVmaW5lIENDTV9QQ0RSMV9QRVJESVYzX01BU0sgICAgICAgICAgKDB4M2YgPDwgMTYpCisjZGVmaW5lIENDTV9QQ0RSMV9QRVJESVYyX09GRlNFVCAgICAgICAgOAorI2RlZmluZSBDQ01fUENEUjFfUEVSRElWMl9NQVNLICAgICAgICAgICgweDNmIDw8IDgpCisjZGVmaW5lIENDTV9QQ0RSMV9QRVJESVYxX09GRlNFVCAgICAgICAgMAorI2RlZmluZSBDQ01fUENEUjFfUEVSRElWMV9NQVNLICAgICAgICAgIDB4M2YKKworI2RlZmluZSBDQ01fUENDUjBfQ1NQSTFfT0ZGU0VUICAgICAgICAgIDMxCisjZGVmaW5lIENDTV9QQ0NSMF9DU1BJMV9NQVNLICAgICAgICAgICAgKDEgPDwgMzEpCisjZGVmaW5lIENDTV9QQ0NSMF9DU1BJMl9PRkZTRVQgICAgICAgICAgMzAKKyNkZWZpbmUgQ0NNX1BDQ1IwX0NTUEkyX01BU0sgICAgICAgICAgICAoMSA8PCAzMCkKKyNkZWZpbmUgQ0NNX1BDQ1IwX0NTUEkzX09GRlNFVCAgICAgICAgICAyOQorI2RlZmluZSBDQ01fUENDUjBfQ1NQSTNfTUFTSyAgICAgICAgICAgICgxIDw8IDI5KQorI2RlZmluZSBDQ01fUENDUjBfRE1BX09GRlNFVCAgICAgICAgICAgIDI4CisjZGVmaW5lIENDTV9QQ0NSMF9ETUFfTUFTSyAgICAgICAgICAgICAgKDEgPDwgMjgpCisjZGVmaW5lIENDTV9QQ0NSMF9FTU1BX09GRlNFVCAgICAgICAgICAgMjcKKyNkZWZpbmUgQ0NNX1BDQ1IwX0VNTUFfTUFTSyAgICAgICAgICAgICAoMSA8PCAyNykKKyNkZWZpbmUgQ0NNX1BDQ1IwX0ZFQ19PRkZTRVQgICAgICAgICAgICAyNgorI2RlZmluZSBDQ01fUENDUjBfRkVDX01BU0sgICAgICAgICAgICAgICgxIDw8IDI2KQorI2RlZmluZSBDQ01fUENDUjBfR1BJT19PRkZTRVQgICAgICAgICAgIDI1CisjZGVmaW5lIENDTV9QQ0NSMF9HUElPX01BU0sgICAgICAgICAgICAgKDEgPDwgMjUpCisjZGVmaW5lIENDTV9QQ0NSMF9HUFQxX09GRlNFVCAgICAgICAgICAgMjQKKyNkZWZpbmUgQ0NNX1BDQ1IwX0dQVDFfTUFTSyAgICAgICAgICAgICAoMSA8PCAyNCkKKyNkZWZpbmUgQ0NNX1BDQ1IwX0dQVDJfT0ZGU0VUICAgICAgICAgICAyMworI2RlZmluZSBDQ01fUENDUjBfR1BUMl9NQVNLICAgICAgICAgICAgICgxIDw8IDIzKQorI2RlZmluZSBDQ01fUENDUjBfR1BUM19PRkZTRVQgICAgICAgICAgIDIyCisjZGVmaW5lIENDTV9QQ0NSMF9HUFQzX01BU0sgICAgICAgICAgICAgKDEgPDwgMjIpCisjZGVmaW5lIENDTV9QQ0NSMF9HUFQ0X09GRlNFVCAgICAgICAgICAgMjEKKyNkZWZpbmUgQ0NNX1BDQ1IwX0dQVDRfTUFTSyAgICAgICAgICAgICAoMSA8PCAyMSkKKyNkZWZpbmUgQ0NNX1BDQ1IwX0dQVDVfT0ZGU0VUICAgICAgICAgICAyMAorI2RlZmluZSBDQ01fUENDUjBfR1BUNV9NQVNLICAgICAgICAgICAgICgxIDw8IDIwKQorI2RlZmluZSBDQ01fUENDUjBfR1BUNl9PRkZTRVQgICAgICAgICAgIDE5CisjZGVmaW5lIENDTV9QQ0NSMF9HUFQ2X01BU0sgICAgICAgICAgICAgKDEgPDwgMTkpCisjZGVmaW5lIENDTV9QQ0NSMF9JMkMxX09GRlNFVCAgICAgICAgICAgMTgKKyNkZWZpbmUgQ0NNX1BDQ1IwX0kyQzFfTUFTSyAgICAgICAgICAgICAoMSA8PCAxOCkKKyNkZWZpbmUgQ0NNX1BDQ1IwX0kyQzJfT0ZGU0VUICAgICAgICAgICAxNworI2RlZmluZSBDQ01fUENDUjBfSTJDMl9NQVNLICAgICAgICAgICAgICgxIDw8IDE3KQorI2RlZmluZSBDQ01fUENDUjBfSUlNX09GRlNFVCAgICAgICAgICAgIDE2CisjZGVmaW5lIENDTV9QQ0NSMF9JSU1fTUFTSyAgICAgICAgICAgICAgKDEgPDwgMTYpCisjZGVmaW5lIENDTV9QQ0NSMF9LUFBfT0ZGU0VUICAgICAgICAgICAgMTUKKyNkZWZpbmUgQ0NNX1BDQ1IwX0tQUF9NQVNLICAgICAgICAgICAgICAoMSA8PCAxNSkKKyNkZWZpbmUgQ0NNX1BDQ1IwX0xDRENfT0ZGU0VUICAgICAgICAgICAxNAorI2RlZmluZSBDQ01fUENDUjBfTENEQ19NQVNLICAgICAgICAgICAgICgxIDw8IDE0KQorI2RlZmluZSBDQ01fUENDUjBfTVNIQ19PRkZTRVQgICAgICAgICAgIDEzCisjZGVmaW5lIENDTV9QQ0NSMF9NU0hDX01BU0sgICAgICAgICAgICAgKDEgPDwgMTMpCisjZGVmaW5lIENDTV9QQ0NSMF9PV0lSRV9PRkZTRVQgICAgICAgICAgMTIKKyNkZWZpbmUgQ0NNX1BDQ1IwX09XSVJFX01BU0sgICAgICAgICAgICAoMSA8PCAxMikKKyNkZWZpbmUgQ0NNX1BDQ1IwX1BXTV9PRkZTRVQgICAgICAgICAgICAxMQorI2RlZmluZSBDQ01fUENDUjBfUFdNX01BU0sgICAgICAgICAgICAgICgxIDw8IDExKQorI2RlZmluZSBDQ01fUENDUjBfUlRDX09GRlNFVCAgICAgICAgICAgIDkKKyNkZWZpbmUgQ0NNX1BDQ1IwX1JUQ19NQVNLICAgICAgICAgICAgICAoMSA8PCA5KQorI2RlZmluZSBDQ01fUENDUjBfUlRJQ19PRkZTRVQgICAgICAgICAgIDgKKyNkZWZpbmUgQ0NNX1BDQ1IwX1JUSUNfTUFTSyAgICAgICAgICAgICAoMSA8PCA4KQorI2RlZmluZSBDQ01fUENDUjBfU0FIQVJBX09GRlNFVCAgICAgICAgIDcKKyNkZWZpbmUgQ0NNX1BDQ1IwX1NBSEFSQV9NQVNLICAgICAgICAgICAoMSA8PCA3KQorI2RlZmluZSBDQ01fUENDUjBfU0NDX09GRlNFVCAgICAgICAgICAgIDYKKyNkZWZpbmUgQ0NNX1BDQ1IwX1NDQ19NQVNLICAgICAgICAgICAgICAoMSA8PCA2KQorI2RlZmluZSBDQ01fUENDUjBfU0RIQzFfT0ZGU0VUICAgICAgICAgIDUKKyNkZWZpbmUgQ0NNX1BDQ1IwX1NESEMxX01BU0sgICAgICAgICAgICAoMSA8PCA1KQorI2RlZmluZSBDQ01fUENDUjBfU0RIQzJfT0ZGU0VUICAgICAgICAgIDQKKyNkZWZpbmUgQ0NNX1BDQ1IwX1NESEMyX01BU0sgICAgICAgICAgICAoMSA8PCA0KQorI2RlZmluZSBDQ01fUENDUjBfU0RIQzNfT0ZGU0VUICAgICAgICAgIDMKKyNkZWZpbmUgQ0NNX1BDQ1IwX1NESEMzX01BU0sgICAgICAgICAgICAoMSA8PCAzKQorI2RlZmluZSBDQ01fUENDUjBfU0xDRENfT0ZGU0VUICAgICAgICAgIDIKKyNkZWZpbmUgQ0NNX1BDQ1IwX1NMQ0RDX01BU0sgICAgICAgICAgICAoMSA8PCAyKQorI2RlZmluZSBDQ01fUENDUjBfU1NJMV9JUEdfT0ZGU0VUICAgICAgIDEKKyNkZWZpbmUgQ0NNX1BDQ1IwX1NTSTFfSVBHX01BU0sgICAgICAgICAoMSA8PCAxKQorI2RlZmluZSBDQ01fUENDUjBfU1NJMl9JUEdfT0ZGU0VUICAgICAgIDAKKyNkZWZpbmUgQ0NNX1BDQ1IwX1NTSTJfSVBHX01BU0sgICAgICAgICAoMSA8PCAwKQorCisjZGVmaW5lIENDTV9QQ0NSMV9VQVJUMV9PRkZTRVQgICAgICAgICAgMzEKKyNkZWZpbmUgQ0NNX1BDQ1IxX1VBUlQxX01BU0sgICAgICAgICAgICAoMSA8PCAzMSkKKyNkZWZpbmUgQ0NNX1BDQ1IxX1VBUlQyX09GRlNFVCAgICAgICAgICAzMAorI2RlZmluZSBDQ01fUENDUjFfVUFSVDJfTUFTSyAgICAgICAgICAgICgxIDw8IDMwKQorI2RlZmluZSBDQ01fUENDUjFfVUFSVDNfT0ZGU0VUICAgICAgICAgIDI5CisjZGVmaW5lIENDTV9QQ0NSMV9VQVJUM19NQVNLICAgICAgICAgICAgKDEgPDwgMjkpCisjZGVmaW5lIENDTV9QQ0NSMV9VQVJUNF9PRkZTRVQgICAgICAgICAgMjgKKyNkZWZpbmUgQ0NNX1BDQ1IxX1VBUlQ0X01BU0sgICAgICAgICAgICAoMSA8PCAyOCkKKyNkZWZpbmUgQ0NNX1BDQ1IxX1VBUlQ1X09GRlNFVCAgICAgICAgICAyNworI2RlZmluZSBDQ01fUENDUjFfVUFSVDVfTUFTSyAgICAgICAgICAgICgxIDw8IDI3KQorI2RlZmluZSBDQ01fUENDUjFfVUFSVDZfT0ZGU0VUICAgICAgICAgIDI2CisjZGVmaW5lIENDTV9QQ0NSMV9VQVJUNl9NQVNLICAgICAgICAgICAgKDEgPDwgMjYpCisjZGVmaW5lIENDTV9QQ0NSMV9VU0JPVEdfT0ZGU0VUICAgICAgICAgMjUKKyNkZWZpbmUgQ0NNX1BDQ1IxX1VTQk9UR19NQVNLICAgICAgICAgICAoMSA8PCAyNSkKKyNkZWZpbmUgQ0NNX1BDQ1IxX1dEVF9PRkZTRVQgICAgICAgICAgICAyNAorI2RlZmluZSBDQ01fUENDUjFfV0RUX01BU0sgICAgICAgICAgICAgICgxIDw8IDI0KQorI2RlZmluZSBDQ01fUENDUjFfSENMS19BVEFfT0ZGU0VUICAgICAgIDIzCisjZGVmaW5lIENDTV9QQ0NSMV9IQ0xLX0FUQV9NQVNLICAgICAgICAgKDEgPDwgMjMpCisjZGVmaW5lIENDTV9QQ0NSMV9IQ0xLX0JST01fT0ZGU0VUICAgICAgMjIKKyNkZWZpbmUgQ0NNX1BDQ1IxX0hDTEtfQlJPTV9NQVNLICAgICAgICAoMSA8PCAyMikKKyNkZWZpbmUgQ0NNX1BDQ1IxX0hDTEtfQ1NJX09GRlNFVCAgICAgICAyMQorI2RlZmluZSBDQ01fUENDUjFfSENMS19DU0lfTUFTSyAgICAgICAgICgxIDw8IDIxKQorI2RlZmluZSBDQ01fUENDUjFfSENMS19ETUFfT0ZGU0VUICAgICAgIDIwCisjZGVmaW5lIENDTV9QQ0NSMV9IQ0xLX0RNQV9NQVNLICAgICAgICAgKDEgPDwgMjApCisjZGVmaW5lIENDTV9QQ0NSMV9IQ0xLX0VNSV9PRkZTRVQgICAgICAgMTkKKyNkZWZpbmUgQ0NNX1BDQ1IxX0hDTEtfRU1JX01BU0sgICAgICAgICAoMSA8PCAxOSkKKyNkZWZpbmUgQ0NNX1BDQ1IxX0hDTEtfRU1NQV9PRkZTRVQgICAgICAxOAorI2RlZmluZSBDQ01fUENDUjFfSENMS19FTU1BX01BU0sgICAgICAgICgxIDw8IDE4KQorI2RlZmluZSBDQ01fUENDUjFfSENMS19GRUNfT0ZGU0VUICAgICAgIDE3CisjZGVmaW5lIENDTV9QQ0NSMV9IQ0xLX0ZFQ19NQVNLICAgICAgICAgKDEgPDwgMTcpCisjZGVmaW5lIENDTV9QQ0NSMV9IQ0xLX1ZQVV9PRkZTRVQgICAgICAgMTYKKyNkZWZpbmUgQ0NNX1BDQ1IxX0hDTEtfVlBVX01BU0sgICAgICAgICAoMSA8PCAxNikKKyNkZWZpbmUgQ0NNX1BDQ1IxX0hDTEtfTENEQ19PRkZTRVQgICAgICAxNQorI2RlZmluZSBDQ01fUENDUjFfSENMS19MQ0RDX01BU0sgICAgICAgICgxIDw8IDE1KQorI2RlZmluZSBDQ01fUENDUjFfSENMS19SVElDX09GRlNFVCAgICAgIDE0CisjZGVmaW5lIENDTV9QQ0NSMV9IQ0xLX1JUSUNfTUFTSyAgICAgICAgKDEgPDwgMTQpCisjZGVmaW5lIENDTV9QQ0NSMV9IQ0xLX1NBSEFSQV9PRkZTRVQgICAgMTMKKyNkZWZpbmUgQ0NNX1BDQ1IxX0hDTEtfU0FIQVJBX01BU0sgICAgICAoMSA8PCAxMykKKyNkZWZpbmUgQ0NNX1BDQ1IxX0hDTEtfU0xDRENfT0ZGU0VUICAgICAxMgorI2RlZmluZSBDQ01fUENDUjFfSENMS19TTENEQ19NQVNLICAgICAgICgxIDw8IDEyKQorI2RlZmluZSBDQ01fUENDUjFfSENMS19VU0JPVEdfT0ZGU0VUICAgIDExCisjZGVmaW5lIENDTV9QQ0NSMV9IQ0xLX1VTQk9UR19NQVNLICAgICAgKDEgPDwgMTEpCisjZGVmaW5lIENDTV9QQ0NSMV9QRVJDTEsxX09GRlNFVCAgICAgICAgMTAKKyNkZWZpbmUgQ0NNX1BDQ1IxX1BFUkNMSzFfTUFTSyAgICAgICAgICAoMSA8PCAxMCkKKyNkZWZpbmUgQ0NNX1BDQ1IxX1BFUkNMSzJfT0ZGU0VUICAgICAgICA5CisjZGVmaW5lIENDTV9QQ0NSMV9QRVJDTEsyX01BU0sgICAgICAgICAgKDEgPDwgOSkKKyNkZWZpbmUgQ0NNX1BDQ1IxX1BFUkNMSzNfT0ZGU0VUICAgICAgICA4CisjZGVmaW5lIENDTV9QQ0NSMV9QRVJDTEszX01BU0sgICAgICAgICAgKDEgPDwgOCkKKyNkZWZpbmUgQ0NNX1BDQ1IxX1BFUkNMSzRfT0ZGU0VUICAgICAgICA3CisjZGVmaW5lIENDTV9QQ0NSMV9QRVJDTEs0X01BU0sgICAgICAgICAgKDEgPDwgNykKKyNkZWZpbmUgQ0NNX1BDQ1IxX1ZQVV9CQVVEX09GRlNFVCAgICAgICA2CisjZGVmaW5lIENDTV9QQ0NSMV9WUFVfQkFVRF9NQVNLICAgICAgICAgKDEgPDwgNikKKyNkZWZpbmUgQ0NNX1BDQ1IxX1NTSTFfQkFVRF9PRkZTRVQgICAgICA1CisjZGVmaW5lIENDTV9QQ0NSMV9TU0kxX0JBVURfTUFTSyAgICAgICAgKDEgPDwgNSkKKyNkZWZpbmUgQ0NNX1BDQ1IxX1NTSTJfQkFVRF9PRkZTRVQgICAgICA0CisjZGVmaW5lIENDTV9QQ0NSMV9TU0kyX0JBVURfTUFTSyAgICAgICAgKDEgPDwgNCkKKyNkZWZpbmUgQ0NNX1BDQ1IxX05GQ19CQVVEX09GRlNFVCAgICAgICAzCisjZGVmaW5lIENDTV9QQ0NSMV9ORkNfQkFVRF9NQVNLICAgICAgICAgKDEgPDwgMykKKyNkZWZpbmUgQ0NNX1BDQ1IxX01TSENfQkFVRF9PRkZTRVQgICAgICAyCisjZGVmaW5lIENDTV9QQ0NSMV9NU0hDX0JBVURfTUFTSyAgICAgICAgKDEgPDwgMikKKworI2RlZmluZSBDQ01fQ0NTUl8zMktTUiAgICAgICAgICAoMSA8PCAxNSkKKyNkZWZpbmUgQ0NNX0NDU1JfQ0xLTU9ERTEgICAgICAgKDEgPDwgOSkKKyNkZWZpbmUgQ0NNX0NDU1JfQ0xLTU9ERTAgICAgICAgKDEgPDwgOCkKKyNkZWZpbmUgQ0NNX0NDU1JfQ0xLT1NFTF9PRkZTRVQgMAorI2RlZmluZSBDQ01fQ0NTUl9DTEtPU0VMX01BU0sgICAweDFmCisKKyNkZWZpbmUgU1lTX0ZNQ1IgICAgICAgICAgICAgICAgMHgxNAkvKiAgRnVuY3Rpb25hbCBNdXhpbmcgQ29udHJvbCBSZWcgKi8KKyNkZWZpbmUgU1lTX0NISVBfSUQgICAgICAgICAgICAgMHgwMAkvKiBUaGUgb2Zmc2V0IG9mIENISVAgSUQgcmVnaXN0ZXIgKi8KKworI2VuZGlmIC8qIF9fQVJDSF9BUk1fTUFDSF9NWDJfQ1JNX1JFR1NfSF9fICovCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW14Mi9kZXZpY2VzLmMgYi9hcmNoL2FybS9tYWNoLW14Mi9kZXZpY2VzLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTFmNDRjMwotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gtbXgyL2RldmljZXMuYwpAQCAtMCwwICsxLDIzMSBAQAorLyoKKyAqIEF1dGhvcjogTW9udGFWaXN0YSBTb2Z0d2FyZSwgSW5jLgorICogICAgICAgPHNvdXJjZUBtdmlzdGEuY29tPgorICoKKyAqIEJhc2VkIG9uIHRoZSBPTUFQIGRldmljZXMuYworICoKKyAqIDIwMDUgKGMpIE1vbnRhVmlzdGEgU29mdHdhcmUsIEluYy4gVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMi4gVGhpcyBwcm9ncmFtIGlzCisgKiBsaWNlbnNlZCAiYXMgaXMiIHdpdGhvdXQgYW55IHdhcnJhbnR5IG9mIGFueSBraW5kLCB3aGV0aGVyIGV4cHJlc3MKKyAqIG9yIGltcGxpZWQuCisgKgorICogQ29weXJpZ2h0IDIwMDYtMjAwNyBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgorICogQ29weXJpZ2h0IDIwMDggSnVlcmdlbiBCZWlzZXJ0LCBrZXJuZWxAcGVuZ3V0cm9uaXguZGUKKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIKKyAqIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwKKyAqIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqLworI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9ncGlvLmg+CisKKyNpbmNsdWRlIDxhc20vaGFyZHdhcmUuaD4KKworLyoKKyAqIFJlc291cmNlIGRlZmluaXRpb24gZm9yIHRoZSBNWEMgSXJEQQorICovCitzdGF0aWMgc3RydWN0IHJlc291cmNlIG14Y19pcmRhX3Jlc291cmNlc1tdID0geworCVswXSA9IHsKKwkJLnN0YXJ0ICAgPSBVQVJUM19CQVNFX0FERFIsCisJCS5lbmQgICAgID0gVUFSVDNfQkFTRV9BRERSICsgU1pfNEsgLSAxLAorCQkuZmxhZ3MgICA9IElPUkVTT1VSQ0VfTUVNLAorCX0sCisJWzFdID0geworCQkuc3RhcnQgICA9IE1YQ19JTlRfVUFSVDMsCisJCS5lbmQgICAgID0gTVhDX0lOVF9VQVJUMywKKwkJLmZsYWdzICAgPSBJT1JFU09VUkNFX0lSUSwKKwl9LAorfTsKKworLyogUGxhdGZvcm0gRGF0YSBmb3IgTVhDIElyREEgKi8KK3N0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgbXhjX2lyZGFfZGV2aWNlID0geworCS5uYW1lID0gIm14Y19pcmRhIiwKKwkuaWQgPSAwLAorCS5udW1fcmVzb3VyY2VzID0gQVJSQVlfU0laRShteGNfaXJkYV9yZXNvdXJjZXMpLAorCS5yZXNvdXJjZSA9IG14Y19pcmRhX3Jlc291cmNlcywKK307CisKKy8qCisgKiBHZW5lcmFsIFB1cnBvc2UgVGltZXIKKyAqIC0gaS5NWDE6IDIgdGltZXIgKHNsaWdobHkgZGlmZmVyZW50IHJlZ2lzdGVyIGhhbmRsaW5nKQorICogLSBpLk1YMjE6IDMgdGltZXIKKyAqIC0gaS5NWDI3OiA2IHRpbWVyCisgKi8KKworLyogV2UgdXNlIGdwdDAgYXMgc3lzdGVtIHRpbWVyLCBzbyBkbyBub3QgYWRkIGEgZGV2aWNlIGZvciB0aGlzIG9uZSAqLworCitzdGF0aWMgc3RydWN0IHJlc291cmNlIHRpbWVyMV9yZXNvdXJjZXNbXSA9IHsKKwlbMF0gPSB7CisJCS5zdGFydAk9IEdQVDJfQkFTRV9BRERSLAorCQkuZW5kCT0gR1BUMl9CQVNFX0FERFIgKyAweDE3LAorCQkuZmxhZ3MJPSBJT1JFU09VUkNFX01FTQorCX0sCisJWzFdID0geworCQkuc3RhcnQgICA9IE1YQ19JTlRfR1BUMiwKKwkJLmVuZCAgICAgPSBNWENfSU5UX0dQVDIsCisJCS5mbGFncyAgID0gSU9SRVNPVVJDRV9JUlEsCisJfQorfTsKKworc3RydWN0IHBsYXRmb3JtX2RldmljZSBteGNfZ3B0MSA9IHsKKwkubmFtZSA9ICJpbXhfZ3B0IiwKKwkuaWQgPSAxLAorCS5udW1fcmVzb3VyY2VzID0gQVJSQVlfU0laRSh0aW1lcjFfcmVzb3VyY2VzKSwKKwkucmVzb3VyY2UgPSB0aW1lcjFfcmVzb3VyY2VzCit9OworCitzdGF0aWMgc3RydWN0IHJlc291cmNlIHRpbWVyMl9yZXNvdXJjZXNbXSA9IHsKKwlbMF0gPSB7CisJCS5zdGFydAk9IEdQVDNfQkFTRV9BRERSLAorCQkuZW5kCT0gR1BUM19CQVNFX0FERFIgKyAweDE3LAorCQkuZmxhZ3MJPSBJT1JFU09VUkNFX01FTQorCX0sCisJWzFdID0geworCQkuc3RhcnQgICA9IE1YQ19JTlRfR1BUMywKKwkJLmVuZCAgICAgPSBNWENfSU5UX0dQVDMsCisJCS5mbGFncyAgID0gSU9SRVNPVVJDRV9JUlEsCisJfQorfTsKKworc3RydWN0IHBsYXRmb3JtX2RldmljZSBteGNfZ3B0MiA9IHsKKwkubmFtZSA9ICJpbXhfZ3B0IiwKKwkuaWQgPSAyLAorCS5udW1fcmVzb3VyY2VzID0gQVJSQVlfU0laRSh0aW1lcjJfcmVzb3VyY2VzKSwKKwkucmVzb3VyY2UgPSB0aW1lcjJfcmVzb3VyY2VzCit9OworCisjaWZkZWYgQ09ORklHX01BQ0hfTVgyNworc3RhdGljIHN0cnVjdCByZXNvdXJjZSB0aW1lcjNfcmVzb3VyY2VzW10gPSB7CisJWzBdID0geworCQkuc3RhcnQJPSBHUFQ0X0JBU0VfQUREUiwKKwkJLmVuZAk9IEdQVDRfQkFTRV9BRERSICsgMHgxNywKKwkJLmZsYWdzCT0gSU9SRVNPVVJDRV9NRU0KKwl9LAorCVsxXSA9IHsKKwkJLnN0YXJ0ICAgPSBNWENfSU5UX0dQVDQsCisJCS5lbmQgICAgID0gTVhDX0lOVF9HUFQ0LAorCQkuZmxhZ3MgICA9IElPUkVTT1VSQ0VfSVJRLAorCX0KK307CisKK3N0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgbXhjX2dwdDMgPSB7CisJLm5hbWUgPSAiaW14X2dwdCIsCisJLmlkID0gMywKKwkubnVtX3Jlc291cmNlcyA9IEFSUkFZX1NJWkUodGltZXIzX3Jlc291cmNlcyksCisJLnJlc291cmNlID0gdGltZXIzX3Jlc291cmNlcworfTsKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSB0aW1lcjRfcmVzb3VyY2VzW10gPSB7CisJWzBdID0geworCQkuc3RhcnQJPSBHUFQ1X0JBU0VfQUREUiwKKwkJLmVuZAk9IEdQVDVfQkFTRV9BRERSICsgMHgxNywKKwkJLmZsYWdzCT0gSU9SRVNPVVJDRV9NRU0KKwl9LAorCVsxXSA9IHsKKwkJLnN0YXJ0ICAgPSBNWENfSU5UX0dQVDUsCisJCS5lbmQgICAgID0gTVhDX0lOVF9HUFQ1LAorCQkuZmxhZ3MgICA9IElPUkVTT1VSQ0VfSVJRLAorCX0KK307CisKK3N0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgbXhjX2dwdDQgPSB7CisJLm5hbWUgPSAiaW14X2dwdCIsCisJLmlkID0gNCwKKwkubnVtX3Jlc291cmNlcyA9IEFSUkFZX1NJWkUodGltZXI0X3Jlc291cmNlcyksCisJLnJlc291cmNlID0gdGltZXI0X3Jlc291cmNlcworfTsKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSB0aW1lcjVfcmVzb3VyY2VzW10gPSB7CisJWzBdID0geworCQkuc3RhcnQJPSBHUFQ2X0JBU0VfQUREUiwKKwkJLmVuZAk9IEdQVDZfQkFTRV9BRERSICsgMHgxNywKKwkJLmZsYWdzCT0gSU9SRVNPVVJDRV9NRU0KKwl9LAorCVsxXSA9IHsKKwkJLnN0YXJ0ICAgPSBNWENfSU5UX0dQVDYsCisJCS5lbmQgICAgID0gTVhDX0lOVF9HUFQ2LAorCQkuZmxhZ3MgICA9IElPUkVTT1VSQ0VfSVJRLAorCX0KK307CisKK3N0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgbXhjX2dwdDUgPSB7CisJLm5hbWUgPSAiaW14X2dwdCIsCisJLmlkID0gNSwKKwkubnVtX3Jlc291cmNlcyA9IEFSUkFZX1NJWkUodGltZXI1X3Jlc291cmNlcyksCisJLnJlc291cmNlID0gdGltZXI1X3Jlc291cmNlcworfTsKKyNlbmRpZgorCisvKgorICogV2F0Y2hkb2c6CisgKiAtIGkuTVgxCisgKiAtIGkuTVgyMQorICogLSBpLk1YMjcKKyAqLworc3RhdGljIHN0cnVjdCByZXNvdXJjZSBteGNfd2R0X3Jlc291cmNlc1tdID0geworCXsKKwkJLnN0YXJ0CT0gV0RPR19CQVNFX0FERFIsCisJCS5lbmQJPSBXRE9HX0JBU0VfQUREUiArIDB4MzAsCisJCS5mbGFncwk9IElPUkVTT1VSQ0VfTUVNLAorCX0sCit9OworCitzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIG14Y193ZHQgPSB7CisJLm5hbWUgPSAibXhjX3dkdCIsCisJLmlkID0gMCwKKwkubnVtX3Jlc291cmNlcyA9IEFSUkFZX1NJWkUobXhjX3dkdF9yZXNvdXJjZXMpLAorCS5yZXNvdXJjZSA9IG14Y193ZHRfcmVzb3VyY2VzLAorfTsKKworLyogR1BJTyBwb3J0IGRlc2NyaXB0aW9uICovCitzdGF0aWMgc3RydWN0IG14Y19ncGlvX3BvcnQgaW14X2dwaW9fcG9ydHNbXSA9IHsKKwlbMF0gPSB7CisJCS5jaGlwLmxhYmVsID0gImdwaW8tMCIsCisJCS5pcnEgPSBNWENfSU5UX0dQSU8sCisJCS5iYXNlID0gKHZvaWQqKShBSVBJX0JBU0VfQUREUl9WSVJUICsgMHgxNTAwMCArIDB4MTAwICogMCksCisJCS52aXJ0dWFsX2lycV9zdGFydCA9IE1YQ19NQVhfSU5UX0xJTkVTLAorCX0sCisJWzFdID0geworCQkuY2hpcC5sYWJlbCA9ICJncGlvLTEiLAorCQkuYmFzZSA9ICh2b2lkKikoQUlQSV9CQVNFX0FERFJfVklSVCArIDB4MTUwMDAgKyAweDEwMCAqIDEpLAorCQkudmlydHVhbF9pcnFfc3RhcnQgPSBNWENfTUFYX0lOVF9MSU5FUyArIDMyLAorCX0sCisJWzJdID0geworCQkuY2hpcC5sYWJlbCA9ICJncGlvLTIiLAorCQkuYmFzZSA9ICh2b2lkKikoQUlQSV9CQVNFX0FERFJfVklSVCArIDB4MTUwMDAgKyAweDEwMCAqIDIpLAorCQkudmlydHVhbF9pcnFfc3RhcnQgPSBNWENfTUFYX0lOVF9MSU5FUyArIDY0LAorCX0sCisJWzNdID0geworCQkuY2hpcC5sYWJlbCA9ICJncGlvLTMiLAorCQkuYmFzZSA9ICh2b2lkKikoQUlQSV9CQVNFX0FERFJfVklSVCArIDB4MTUwMDAgKyAweDEwMCAqIDMpLAorCQkudmlydHVhbF9pcnFfc3RhcnQgPSBNWENfTUFYX0lOVF9MSU5FUyArIDk2LAorCX0sCisJWzRdID0geworCQkuY2hpcC5sYWJlbCA9ICJncGlvLTQiLAorCQkuYmFzZSA9ICh2b2lkKikoQUlQSV9CQVNFX0FERFJfVklSVCArIDB4MTUwMDAgKyAweDEwMCAqIDQpLAorCQkudmlydHVhbF9pcnFfc3RhcnQgPSBNWENfTUFYX0lOVF9MSU5FUyArIDEyOCwKKwl9LAorCVs1XSA9IHsKKwkJLmNoaXAubGFiZWwgPSAiZ3Bpby01IiwKKwkJLmJhc2UgPSAodm9pZCopKEFJUElfQkFTRV9BRERSX1ZJUlQgKyAweDE1MDAwICsgMHgxMDAgKiA1KSwKKwkJLnZpcnR1YWxfaXJxX3N0YXJ0ID0gTVhDX01BWF9JTlRfTElORVMgKyAxNjAsCisJfQorfTsKKworaW50IF9faW5pdCBteGNfcmVnaXN0ZXJfZ3Bpb3Modm9pZCkKK3sKKwlyZXR1cm4gbXhjX2dwaW9faW5pdChpbXhfZ3Bpb19wb3J0cywgQVJSQVlfU0laRShpbXhfZ3Bpb19wb3J0cykpOworfQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1teDIvZ2VuZXJpYy5jIGIvYXJjaC9hcm0vbWFjaC1teDIvZ2VuZXJpYy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA3ODc1Y2YKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLW14Mi9nZW5lcmljLmMKQEAgLTAsMCArMSw3NCBAQAorLyoKKyAqIGdlbmVyaWMuYworICoKKyAqIENvcHlyaWdodCAoQykgMjAwOCBKdWVyZ2VuIEJlaXNlcnQgKGtlcm5lbEBwZW5ndXRyb25peC5kZSkKKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIKKyAqIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwKKyAqIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqLworCisjaW5jbHVkZSA8bGludXgvbW0uaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8YXNtL2hhcmR3YXJlLmg+CisjaW5jbHVkZSA8YXNtL3BndGFibGUuaD4KKyNpbmNsdWRlIDxhc20vbWFjaC9tYXAuaD4KKworLyogTVgyNyBtZW1vcnkgbWFwIGRlZmluaXRpb24gKi8KK3N0YXRpYyBzdHJ1Y3QgbWFwX2Rlc2MgbXhjX2lvX2Rlc2NbXSBfX2luaXRkYXRhID0geworCS8qCisJICogdGhpcyBmaXhlZCBtYXBwaW5nIGNvdmVyczoKKwkgKiAtIEFJUEkxCisJICogLSBBSVBJMgorCSAqIC0gQUlUQworCSAqIC0gUk9NIFBhdGNoCisJICogLSBhbmQgc29tZSByZXNlcnZlZCBzcGFjZQorCSAqLworCXsKKwkJLnZpcnR1YWwgPSBBSVBJX0JBU0VfQUREUl9WSVJULAorCQkucGZuID0gX19waHlzX3RvX3BmbihBSVBJX0JBU0VfQUREUiksCisJCS5sZW5ndGggPSBBSVBJX1NJWkUsCisJCS50eXBlID0gTVRfREVWSUNFCisJfSwKKwkvKgorCSAqIHRoaXMgZml4ZWQgbWFwcGluZyBjb3ZlcnM6CisJICogLSBDU0kKKwkgKiAtIEFUQQorCSAqLworCXsKKwkJLnZpcnR1YWwgPSBTQUhCMV9CQVNFX0FERFJfVklSVCwKKwkJLnBmbiA9IF9fcGh5c190b19wZm4oU0FIQjFfQkFTRV9BRERSKSwKKwkJLmxlbmd0aCA9IFNBSEIxX1NJWkUsCisJCS50eXBlID0gTVRfREVWSUNFCisJfSwKKwkvKgorCSAqIHRoaXMgZml4ZWQgbWFwcGluZyBjb3ZlcnM6CisJICogLSBFTUkKKwkgKi8KKwl7CisJCS52aXJ0dWFsID0gWF9NRU1DX0JBU0VfQUREUl9WSVJULAorCQkucGZuID0gX19waHlzX3RvX3BmbihYX01FTUNfQkFTRV9BRERSKSwKKwkJLmxlbmd0aCA9IFhfTUVNQ19TSVpFLAorCQkudHlwZSA9IE1UX0RFVklDRQorCX0KK307CisKKy8qCisgKiBJbml0aWFsaXplIHRoZSBtZW1vcnkgbWFwLiBJdCBpcyBjYWxsZWQgZHVyaW5nIHRoZQorICogc3lzdGVtIHN0YXJ0dXAgdG8gY3JlYXRlIHN0YXRpYyBwaHlzaWNhbCB0byB2aXJ0dWFsCisgKiBtZW1vcnkgbWFwIGZvciB0aGUgSU8gbW9kdWxlcy4KKyAqLwordm9pZCBfX2luaXQgbXhjX21hcF9pbyh2b2lkKQoreworCWlvdGFibGVfaW5pdChteGNfaW9fZGVzYywgQVJSQVlfU0laRShteGNfaW9fZGVzYykpOworfQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1teDIvbXgyN2Fkcy5jIGIvYXJjaC9hcm0vbWFjaC1teDIvbXgyN2Fkcy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE5ZmYwMWYKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLW14Mi9teDI3YWRzLmMKQEAgLTAsMCArMSwzMDQgQEAKKy8qCisgKiAgQ29weXJpZ2h0IChDKSAyMDAwIERlZXAgQmx1ZSBTb2x1dGlvbnMgTHRkCisgKiAgQ29weXJpZ2h0IChDKSAyMDAyIFNoYW5lIE5heSAoc2hhbmVAbWluaXJsLmNvbSkKKyAqICBDb3B5cmlnaHQgMjAwNi0yMDA3IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQorICovCisKKyNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9tdGQvbXRkLmg+CisjaW5jbHVkZSA8bGludXgvbXRkL21hcC5oPgorI2luY2x1ZGUgPGxpbnV4L210ZC9wYXJ0aXRpb25zLmg+CisjaW5jbHVkZSA8bGludXgvbXRkL3BoeXNtYXAuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9jb21tb24uaD4KKyNpbmNsdWRlIDxhc20vaGFyZHdhcmUuaD4KKyNpbmNsdWRlIDxhc20vbWFjaC10eXBlcy5oPgorI2luY2x1ZGUgPGFzbS9tYWNoL2FyY2guaD4KKyNpbmNsdWRlIDxhc20vbWFjaC90aW1lLmg+CisjaW5jbHVkZSA8YXNtL21hY2gvbWFwLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvZ3Bpby5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2lteC11YXJ0Lmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvaW9tdXgtbXgxLW14Mi5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2JvYXJkLW14MjdhZHMuaD4KKworLyogQURTJ3MgTk9SIGZsYXNoICovCitzdGF0aWMgc3RydWN0IHBoeXNtYXBfZmxhc2hfZGF0YSBteDI3YWRzX2ZsYXNoX2RhdGEgPSB7CisJLndpZHRoID0gMiwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgbXgyN2Fkc19mbGFzaF9yZXNvdXJjZSA9IHsKKwkuc3RhcnQgPSAweGMwMDAwMDAwLAorCS5lbmQgPSAweGMwMDAwMDAwICsgMHgwMjAwMDAwMCAtIDEsCisJLmZsYWdzID0gSU9SRVNPVVJDRV9NRU0sCisKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIG14MjdhZHNfbm9yX210ZF9kZXZpY2UgPSB7CisJLm5hbWUgPSAicGh5c21hcC1mbGFzaCIsCisJLmlkID0gMCwKKwkuZGV2ID0geworCQkucGxhdGZvcm1fZGF0YSA9ICZteDI3YWRzX2ZsYXNoX2RhdGEsCisJfSwKKwkubnVtX3Jlc291cmNlcyA9IDEsCisJLnJlc291cmNlID0gJm14MjdhZHNfZmxhc2hfcmVzb3VyY2UsCit9OworCitzdGF0aWMgaW50IG14Y191YXJ0MF9waW5zW10gPSB7CisJUEUxMl9QRl9VQVJUMV9UWEQsCisJUEUxM19QRl9VQVJUMV9SWEQsCisJUEUxNF9QRl9VQVJUMV9DVFMsCisJUEUxNV9QRl9VQVJUMV9SVFMKK307CisKK3N0YXRpYyBpbnQgdWFydF9teGNfcG9ydDBfaW5pdChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQoreworCXJldHVybiBteGNfZ3Bpb19zZXR1cF9tdWx0aXBsZV9waW5zKG14Y191YXJ0MF9waW5zLAorCQkJQVJSQVlfU0laRShteGNfdWFydDBfcGlucyksCisJCQlNWENfR1BJT19BTExPQ19NT0RFX05PUk1BTCwgIlVBUlQwIik7Cit9CisKK3N0YXRpYyBpbnQgdWFydF9teGNfcG9ydDBfZXhpdChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQoreworCXJldHVybiBteGNfZ3Bpb19zZXR1cF9tdWx0aXBsZV9waW5zKG14Y191YXJ0MF9waW5zLAorCQkJQVJSQVlfU0laRShteGNfdWFydDBfcGlucyksCisJCQlNWENfR1BJT19BTExPQ19NT0RFX1JFTEVBU0UsICJVQVJUMCIpOworfQorCitzdGF0aWMgaW50IG14Y191YXJ0MV9waW5zW10gPSB7CisJUEUzX1BGX1VBUlQyX0NUUywKKwlQRTRfUEZfVUFSVDJfUlRTLAorCVBFNl9QRl9VQVJUMl9UWEQsCisJUEU3X1BGX1VBUlQyX1JYRAorfTsKKworc3RhdGljIGludCB1YXJ0X214Y19wb3J0MV9pbml0KHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCit7CisJcmV0dXJuIG14Y19ncGlvX3NldHVwX211bHRpcGxlX3BpbnMobXhjX3VhcnQxX3BpbnMsCisJCQlBUlJBWV9TSVpFKG14Y191YXJ0MV9waW5zKSwKKwkJCU1YQ19HUElPX0FMTE9DX01PREVfTk9STUFMLCAiVUFSVDEiKTsKK30KKworc3RhdGljIGludCB1YXJ0X214Y19wb3J0MV9leGl0KHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCit7CisJcmV0dXJuIG14Y19ncGlvX3NldHVwX211bHRpcGxlX3BpbnMobXhjX3VhcnQxX3BpbnMsCisJCQlBUlJBWV9TSVpFKG14Y191YXJ0MV9waW5zKSwKKwkJCU1YQ19HUElPX0FMTE9DX01PREVfUkVMRUFTRSwgIlVBUlQxIik7Cit9CisKK3N0YXRpYyBpbnQgbXhjX3VhcnQyX3BpbnNbXSA9IHsKKwlQRThfUEZfVUFSVDNfVFhELAorCVBFOV9QRl9VQVJUM19SWEQsCisJUEUxMF9QRl9VQVJUM19DVFMsCisJUEUxMV9QRl9VQVJUM19SVFMKK307CisKK3N0YXRpYyBpbnQgdWFydF9teGNfcG9ydDJfaW5pdChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQoreworCXJldHVybiBteGNfZ3Bpb19zZXR1cF9tdWx0aXBsZV9waW5zKG14Y191YXJ0Ml9waW5zLAorCQkJQVJSQVlfU0laRShteGNfdWFydDJfcGlucyksCisJCQlNWENfR1BJT19BTExPQ19NT0RFX05PUk1BTCwgIlVBUlQyIik7Cit9CisKK3N0YXRpYyBpbnQgdWFydF9teGNfcG9ydDJfZXhpdChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQoreworCXJldHVybiBteGNfZ3Bpb19zZXR1cF9tdWx0aXBsZV9waW5zKG14Y191YXJ0Ml9waW5zLAorCQkJQVJSQVlfU0laRShteGNfdWFydDJfcGlucyksCisJCQlNWENfR1BJT19BTExPQ19NT0RFX1JFTEVBU0UsICJVQVJUMiIpOworfQorCitzdGF0aWMgaW50IG14Y191YXJ0M19waW5zW10gPSB7CisJUEIyNl9BRl9VQVJUNF9SVFMsCisJUEIyOF9BRl9VQVJUNF9UWEQsCisJUEIyOV9BRl9VQVJUNF9DVFMsCisJUEIzMV9BRl9VQVJUNF9SWEQKK307CisKK3N0YXRpYyBpbnQgdWFydF9teGNfcG9ydDNfaW5pdChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQoreworCXJldHVybiBteGNfZ3Bpb19zZXR1cF9tdWx0aXBsZV9waW5zKG14Y191YXJ0M19waW5zLAorCQkJQVJSQVlfU0laRShteGNfdWFydDNfcGlucyksCisJCQlNWENfR1BJT19BTExPQ19NT0RFX05PUk1BTCwgIlVBUlQzIik7Cit9CisKK3N0YXRpYyBpbnQgdWFydF9teGNfcG9ydDNfZXhpdChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQoreworCXJldHVybiBteGNfZ3Bpb19zZXR1cF9tdWx0aXBsZV9waW5zKG14Y191YXJ0M19waW5zLAorCQkJQVJSQVlfU0laRShteGNfdWFydDNfcGlucyksCisJCQlNWENfR1BJT19BTExPQ19NT0RFX1JFTEVBU0UsICJVQVJUMyIpOworfQorCitzdGF0aWMgaW50IG14Y191YXJ0NF9waW5zW10gPSB7CisJUEIxOF9BRl9VQVJUNV9UWEQsCisJUEIxOV9BRl9VQVJUNV9SWEQsCisJUEIyMF9BRl9VQVJUNV9DVFMsCisJUEIyMV9BRl9VQVJUNV9SVFMKK307CisKK3N0YXRpYyBpbnQgdWFydF9teGNfcG9ydDRfaW5pdChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQoreworCXJldHVybiBteGNfZ3Bpb19zZXR1cF9tdWx0aXBsZV9waW5zKG14Y191YXJ0NF9waW5zLAorCQkJQVJSQVlfU0laRShteGNfdWFydDRfcGlucyksCisJCQlNWENfR1BJT19BTExPQ19NT0RFX05PUk1BTCwgIlVBUlQ0Iik7Cit9CisKK3N0YXRpYyBpbnQgdWFydF9teGNfcG9ydDRfZXhpdChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQoreworCXJldHVybiBteGNfZ3Bpb19zZXR1cF9tdWx0aXBsZV9waW5zKG14Y191YXJ0NF9waW5zLAorCQkJQVJSQVlfU0laRShteGNfdWFydDRfcGlucyksCisJCQlNWENfR1BJT19BTExPQ19NT0RFX1JFTEVBU0UsICJVQVJUNCIpOworfQorCitzdGF0aWMgaW50IG14Y191YXJ0NV9waW5zW10gPSB7CisJUEIxMF9BRl9VQVJUNl9UWEQsCisJUEIxMl9BRl9VQVJUNl9DVFMsCisJUEIxMV9BRl9VQVJUNl9SWEQsCisJUEIxM19BRl9VQVJUNl9SVFMKK307CisKK3N0YXRpYyBpbnQgdWFydF9teGNfcG9ydDVfaW5pdChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQoreworCXJldHVybiBteGNfZ3Bpb19zZXR1cF9tdWx0aXBsZV9waW5zKG14Y191YXJ0NV9waW5zLAorCQkJQVJSQVlfU0laRShteGNfdWFydDVfcGlucyksCisJCQlNWENfR1BJT19BTExPQ19NT0RFX05PUk1BTCwgIlVBUlQ1Iik7Cit9CisKK3N0YXRpYyBpbnQgdWFydF9teGNfcG9ydDVfZXhpdChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQoreworCXJldHVybiBteGNfZ3Bpb19zZXR1cF9tdWx0aXBsZV9waW5zKG14Y191YXJ0NV9waW5zLAorCQkJQVJSQVlfU0laRShteGNfdWFydDVfcGlucyksCisJCQlNWENfR1BJT19BTExPQ19NT0RFX1JFTEVBU0UsICJVQVJUNSIpOworfQorCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGxhdGZvcm1fZGV2aWNlc1tdIF9faW5pdGRhdGEgPSB7CisJJm14MjdhZHNfbm9yX210ZF9kZXZpY2UsCit9OworCitzdGF0aWMgaW50IG14Y19mZWNfcGluc1tdID0geworCVBEMF9BSU5fRkVDX1RYRDAsCisJUEQxX0FJTl9GRUNfVFhEMSwKKwlQRDJfQUlOX0ZFQ19UWEQyLAorCVBEM19BSU5fRkVDX1RYRDMsCisJUEQ0X0FPVVRfRkVDX1JYX0VSLAorCVBENV9BT1VUX0ZFQ19SWEQxLAorCVBENl9BT1VUX0ZFQ19SWEQyLAorCVBEN19BT1VUX0ZFQ19SWEQzLAorCVBEOF9BRl9GRUNfTURJTywKKwlQRDlfQUlOX0ZFQ19NREMsCisJUEQxMF9BT1VUX0ZFQ19DUlMsCisJUEQxMV9BT1VUX0ZFQ19UWF9DTEssCisJUEQxMl9BT1VUX0ZFQ19SWEQwLAorCVBEMTNfQU9VVF9GRUNfUlhfRFYsCisJUEQxNF9BT1VUX0ZFQ19DTFIsCisJUEQxNV9BT1VUX0ZFQ19DT0wsCisJUEQxNl9BSU5fRkVDX1RYX0VSLAorCVBGMjNfQUlOX0ZFQ19UWF9FTgorfTsKKworc3RhdGljIHZvaWQgZ3Bpb19mZWNfYWN0aXZlKHZvaWQpCit7CisJbXhjX2dwaW9fc2V0dXBfbXVsdGlwbGVfcGlucyhteGNfZmVjX3BpbnMsCisJCQlBUlJBWV9TSVpFKG14Y19mZWNfcGlucyksCisJCQlNWENfR1BJT19BTExPQ19NT0RFX05PUk1BTCwgIkZFQyIpOworfQorCitzdGF0aWMgdm9pZCBncGlvX2ZlY19pbmFjdGl2ZSh2b2lkKQoreworCW14Y19ncGlvX3NldHVwX211bHRpcGxlX3BpbnMobXhjX2ZlY19waW5zLAorCQkJQVJSQVlfU0laRShteGNfZmVjX3BpbnMpLAorCQkJTVhDX0dQSU9fQUxMT0NfTU9ERV9SRUxFQVNFLCAiRkVDIik7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgaW14dWFydF9wbGF0Zm9ybV9kYXRhIHVhcnRfcGRhdGFbXSA9IHsKKwl7CisJCS5pbml0ID0gdWFydF9teGNfcG9ydDBfaW5pdCwKKwkJLmV4aXQgPSB1YXJ0X214Y19wb3J0MF9leGl0LAorCQkuZmxhZ3MgPSBJTVhVQVJUX0hBVkVfUlRTQ1RTLAorCX0sIHsKKwkJLmluaXQgPSB1YXJ0X214Y19wb3J0MV9pbml0LAorCQkuZXhpdCA9IHVhcnRfbXhjX3BvcnQxX2V4aXQsCisJCS5mbGFncyA9IElNWFVBUlRfSEFWRV9SVFNDVFMsCisJfSwgeworCQkuaW5pdCA9IHVhcnRfbXhjX3BvcnQyX2luaXQsCisJCS5leGl0ID0gdWFydF9teGNfcG9ydDJfZXhpdCwKKwkJLmZsYWdzID0gSU1YVUFSVF9IQVZFX1JUU0NUUywKKwl9LCB7CisJCS5pbml0ID0gdWFydF9teGNfcG9ydDNfaW5pdCwKKwkJLmV4aXQgPSB1YXJ0X214Y19wb3J0M19leGl0LAorCQkuZmxhZ3MgPSBJTVhVQVJUX0hBVkVfUlRTQ1RTLAorCX0sIHsKKwkJLmluaXQgPSB1YXJ0X214Y19wb3J0NF9pbml0LAorCQkuZXhpdCA9IHVhcnRfbXhjX3BvcnQ0X2V4aXQsCisJCS5mbGFncyA9IElNWFVBUlRfSEFWRV9SVFNDVFMsCisJfSwgeworCQkuaW5pdCA9IHVhcnRfbXhjX3BvcnQ1X2luaXQsCisJCS5leGl0ID0gdWFydF9teGNfcG9ydDVfZXhpdCwKKwkJLmZsYWdzID0gSU1YVUFSVF9IQVZFX1JUU0NUUywKKwl9LAorfTsKKworc3RhdGljIHZvaWQgX19pbml0IG14MjdhZHNfYm9hcmRfaW5pdCh2b2lkKQoreworCWludCBpOworCisJZ3Bpb19mZWNfYWN0aXZlKCk7CisKKwlmb3IgKGkgPSAwOyBpIDwgNjsgaSsrKQorCQlpbXhfaW5pdF91YXJ0KGksICZ1YXJ0X3BkYXRhW2ldKTsKKworCXBsYXRmb3JtX2FkZF9kZXZpY2VzKHBsYXRmb3JtX2RldmljZXMsIEFSUkFZX1NJWkUocGxhdGZvcm1fZGV2aWNlcykpOworfQorCitzdGF0aWMgdm9pZCBfX2luaXQgbXgyN2Fkc190aW1lcl9pbml0KHZvaWQpCit7CisJdW5zaWduZWQgbG9uZyBmcmVmID0gMjYwMDAwMDA7CisKKwlpZiAoKF9fcmF3X3JlYWR3KFBCQ19WRVJTSU9OX1JFRykgJiBDS0lIXzI3TUhaX0JJVF9TRVQpID09IDApCisJCWZyZWYgPSAyNzAwMDAwMDsKKworCW14Y19jbG9ja3NfaW5pdChmcmVmKTsKKwlteGNfdGltZXJfaW5pdCgiZ3B0X2Nsay4wIik7Cit9CisKK3N0cnVjdCBzeXNfdGltZXIgbXgyN2Fkc190aW1lciA9IHsKKwkuaW5pdAk9IG14MjdhZHNfdGltZXJfaW5pdCwKK307CisKK3N0YXRpYyBzdHJ1Y3QgbWFwX2Rlc2MgbXgyN2Fkc19pb19kZXNjW10gX19pbml0ZGF0YSA9IHsKKwl7CisJCS52aXJ0dWFsID0gUEJDX0JBU0VfQUREUkVTUywKKwkJLnBmbiA9IF9fcGh5c190b19wZm4oQ1M0X0JBU0VfQUREUiksCisJCS5sZW5ndGggPSBTWl8xTSwKKwkJLnR5cGUgPSBNVF9ERVZJQ0UsCisJfSwKK307CisKK3ZvaWQgX19pbml0IG14MjdhZHNfbWFwX2lvKHZvaWQpCit7CisJbXhjX21hcF9pbygpOworCWlvdGFibGVfaW5pdChteDI3YWRzX2lvX2Rlc2MsIEFSUkFZX1NJWkUobXgyN2Fkc19pb19kZXNjKSk7Cit9CisKK01BQ0hJTkVfU1RBUlQoTVgyN0FEUywgIkZyZWVzY2FsZSBpLk1YMjdBRFMiKQorCS8qIG1haW50YWluZXI6IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuICovCisJLnBoeXNfaW8gICAgICAgID0gQUlQSV9CQVNFX0FERFIsCisJLmlvX3BnX29mZnN0ICAgID0gKChBSVBJX0JBU0VfQUREUl9WSVJUKSA+PiAxOCkgJiAweGZmZmMsCisJLmJvb3RfcGFyYW1zICAgID0gUEhZU19PRkZTRVQgKyAweDEwMCwKKwkubWFwX2lvICAgICAgICAgPSBteDI3YWRzX21hcF9pbywKKwkuaW5pdF9pcnEgICAgICAgPSBteGNfaW5pdF9pcnEsCisJLmluaXRfbWFjaGluZSAgID0gbXgyN2Fkc19ib2FyZF9pbml0LAorCS50aW1lciAgICAgICAgICA9ICZteDI3YWRzX3RpbWVyLAorTUFDSElORV9FTkQKKwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1teDIvcGNtMDM4LmMgYi9hcmNoL2FybS9tYWNoLW14Mi9wY20wMzguYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hOWEyOGY1Ci0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vbWFjaC1teDIvcGNtMDM4LmMKQEAgLTAsMCArMSwyMDQgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAwNyBSb2JlcnQgU2Nod2ViZWwgPHIuc2Nod2ViZWxAcGVuZ3V0cm9uaXguZGU+LCBQZW5ndXRyb25peAorICogQ29weXJpZ2h0IChDKSAyMDA4IEp1ZXJnZW4gQmVpc2VydCAoa2VybmVsQHBlbmd1dHJvbml4LmRlKQorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMgorICogb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLAorICogTUEgMDIxMTAtMTMwMSwgVVNBLgorICovCisKKyNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9tdGQvcGh5c21hcC5oPgorI2luY2x1ZGUgPGFzbS9tYWNoL2FyY2guaD4KKyNpbmNsdWRlIDxhc20vbWFjaC10eXBlcy5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2NvbW1vbi5oPgorI2luY2x1ZGUgPGFzbS9oYXJkd2FyZS5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2lvbXV4LW14MS1teDIuaD4KKyNpbmNsdWRlIDxhc20vbWFjaC90aW1lLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvaW14LXVhcnQuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9ib2FyZC1wY20wMzguaD4KKworLyoKKyAqIFBoeXRlYydzIHBoeUNPUkUtaS5NWDI3IGNvbWVzIHdpdGggMzJNaUIgZmxhc2gsCisgKiAxNiBiaXQgd2lkdGgKKyAqLworc3RhdGljIHN0cnVjdCBwaHlzbWFwX2ZsYXNoX2RhdGEgcGNtMDM4X2ZsYXNoX2RhdGEgPSB7CisJLndpZHRoID0gMiwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgcGNtMDM4X2ZsYXNoX3Jlc291cmNlID0geworCS5zdGFydCA9IDB4YzAwMDAwMDAsCisJLmVuZCAgID0gMHhjMWZmZmZmZiwKKwkuZmxhZ3MgPSBJT1JFU09VUkNFX01FTSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIHBjbTAzOF9ub3JfbXRkX2RldmljZSA9IHsKKwkubmFtZSA9ICJwaHlzbWFwLWZsYXNoIiwKKwkuaWQgPSAwLAorCS5kZXYgPSB7CisJCS5wbGF0Zm9ybV9kYXRhID0gJnBjbTAzOF9mbGFzaF9kYXRhLAorCX0sCisJLm51bV9yZXNvdXJjZXMgPSAxLAorCS5yZXNvdXJjZSA9ICZwY20wMzhfZmxhc2hfcmVzb3VyY2UsCit9OworCitzdGF0aWMgaW50IG14Y191YXJ0MF9waW5zW10gPSB7CisJUEUxMl9QRl9VQVJUMV9UWEQsCisJUEUxM19QRl9VQVJUMV9SWEQsCisJUEUxNF9QRl9VQVJUMV9DVFMsCisJUEUxNV9QRl9VQVJUMV9SVFMKK307CisKK3N0YXRpYyBpbnQgdWFydF9teGNfcG9ydDBfaW5pdChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQoreworCXJldHVybiBteGNfZ3Bpb19zZXR1cF9tdWx0aXBsZV9waW5zKG14Y191YXJ0MF9waW5zLAorCQkJQVJSQVlfU0laRShteGNfdWFydDBfcGlucyksCisJCQlNWENfR1BJT19BTExPQ19NT0RFX05PUk1BTCwgIlVBUlQwIik7Cit9CisKK3N0YXRpYyBpbnQgdWFydF9teGNfcG9ydDBfZXhpdChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQoreworCXJldHVybiBteGNfZ3Bpb19zZXR1cF9tdWx0aXBsZV9waW5zKG14Y191YXJ0MF9waW5zLAorCQkJQVJSQVlfU0laRShteGNfdWFydDBfcGlucyksCisJCQlNWENfR1BJT19BTExPQ19NT0RFX1JFTEVBU0UsICJVQVJUMCIpOworfQorCitzdGF0aWMgaW50IG14Y191YXJ0MV9waW5zW10gPSB7CisJUEUzX1BGX1VBUlQyX0NUUywKKwlQRTRfUEZfVUFSVDJfUlRTLAorCVBFNl9QRl9VQVJUMl9UWEQsCisJUEU3X1BGX1VBUlQyX1JYRAorfTsKKworc3RhdGljIGludCB1YXJ0X214Y19wb3J0MV9pbml0KHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCit7CisJcmV0dXJuIG14Y19ncGlvX3NldHVwX211bHRpcGxlX3BpbnMobXhjX3VhcnQxX3BpbnMsCisJCQlBUlJBWV9TSVpFKG14Y191YXJ0MV9waW5zKSwKKwkJCU1YQ19HUElPX0FMTE9DX01PREVfTk9STUFMLCAiVUFSVDEiKTsKK30KKworc3RhdGljIGludCB1YXJ0X214Y19wb3J0MV9leGl0KHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCit7CisJcmV0dXJuIG14Y19ncGlvX3NldHVwX211bHRpcGxlX3BpbnMobXhjX3VhcnQxX3BpbnMsCisJCQlBUlJBWV9TSVpFKG14Y191YXJ0MV9waW5zKSwKKwkJCU1YQ19HUElPX0FMTE9DX01PREVfUkVMRUFTRSwgIlVBUlQxIik7Cit9CisKK3N0YXRpYyBpbnQgbXhjX3VhcnQyX3BpbnNbXSA9IHsgUEUxMF9QRl9VQVJUM19DVFMsCisJCQkJUEU5X1BGX1VBUlQzX1JYRCwKKwkJCQlQRTEwX1BGX1VBUlQzX0NUUywKKwkJCQlQRTlfUEZfVUFSVDNfUlhEIH07CisKK3N0YXRpYyBpbnQgdWFydF9teGNfcG9ydDJfaW5pdChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQoreworCXJldHVybiBteGNfZ3Bpb19zZXR1cF9tdWx0aXBsZV9waW5zKG14Y191YXJ0Ml9waW5zLAorCQkJQVJSQVlfU0laRShteGNfdWFydDJfcGlucyksCisJCQlNWENfR1BJT19BTExPQ19NT0RFX05PUk1BTCwgIlVBUlQyIik7Cit9CisKK3N0YXRpYyBpbnQgdWFydF9teGNfcG9ydDJfZXhpdChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQoreworCXJldHVybiBteGNfZ3Bpb19zZXR1cF9tdWx0aXBsZV9waW5zKG14Y191YXJ0Ml9waW5zLAorCQkJQVJSQVlfU0laRShteGNfdWFydDJfcGlucyksCisJCQlNWENfR1BJT19BTExPQ19NT0RFX1JFTEVBU0UsICJVQVJUMiIpOworfQorCitzdGF0aWMgc3RydWN0IGlteHVhcnRfcGxhdGZvcm1fZGF0YSB1YXJ0X3BkYXRhW10gPSB7CisJeworCQkuaW5pdCA9IHVhcnRfbXhjX3BvcnQwX2luaXQsCisJCS5leGl0ID0gdWFydF9teGNfcG9ydDBfZXhpdCwKKwkJLmZsYWdzID0gSU1YVUFSVF9IQVZFX1JUU0NUUywKKwl9LCB7CisJCS5pbml0ID0gdWFydF9teGNfcG9ydDFfaW5pdCwKKwkJLmV4aXQgPSB1YXJ0X214Y19wb3J0MV9leGl0LAorCQkuZmxhZ3MgPSBJTVhVQVJUX0hBVkVfUlRTQ1RTLAorCX0sIHsKKwkJLmluaXQgPSB1YXJ0X214Y19wb3J0Ml9pbml0LAorCQkuZXhpdCA9IHVhcnRfbXhjX3BvcnQyX2V4aXQsCisJCS5mbGFncyA9IElNWFVBUlRfSEFWRV9SVFNDVFMsCisJfSwKK307CisKK3N0YXRpYyBpbnQgbXhjX2ZlY19waW5zW10gPSB7CisJUEQwX0FJTl9GRUNfVFhEMCwKKwlQRDFfQUlOX0ZFQ19UWEQxLAorCVBEMl9BSU5fRkVDX1RYRDIsCisJUEQzX0FJTl9GRUNfVFhEMywKKwlQRDRfQU9VVF9GRUNfUlhfRVIsCisJUEQ1X0FPVVRfRkVDX1JYRDEsCisJUEQ2X0FPVVRfRkVDX1JYRDIsCisJUEQ3X0FPVVRfRkVDX1JYRDMsCisJUEQ4X0FGX0ZFQ19NRElPLAorCVBEOV9BSU5fRkVDX01EQywKKwlQRDEwX0FPVVRfRkVDX0NSUywKKwlQRDExX0FPVVRfRkVDX1RYX0NMSywKKwlQRDEyX0FPVVRfRkVDX1JYRDAsCisJUEQxM19BT1VUX0ZFQ19SWF9EViwKKwlQRDE0X0FPVVRfRkVDX0NMUiwKKwlQRDE1X0FPVVRfRkVDX0NPTCwKKwlQRDE2X0FJTl9GRUNfVFhfRVIsCisJUEYyM19BSU5fRkVDX1RYX0VOCit9OworCitzdGF0aWMgdm9pZCBncGlvX2ZlY19hY3RpdmUodm9pZCkKK3sKKwlteGNfZ3Bpb19zZXR1cF9tdWx0aXBsZV9waW5zKG14Y19mZWNfcGlucywKKwkJCUFSUkFZX1NJWkUobXhjX2ZlY19waW5zKSwKKwkJCU1YQ19HUElPX0FMTE9DX01PREVfTk9STUFMLCAiRkVDIik7Cit9CisKK3N0YXRpYyB2b2lkIGdwaW9fZmVjX2luYWN0aXZlKHZvaWQpCit7CisJbXhjX2dwaW9fc2V0dXBfbXVsdGlwbGVfcGlucyhteGNfZmVjX3BpbnMsCisJCQlBUlJBWV9TSVpFKG14Y19mZWNfcGlucyksCisJCQlNWENfR1BJT19BTExPQ19NT0RFX1JFTEVBU0UsICJGRUMiKTsKK30KKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBsYXRmb3JtX2RldmljZXNbXSBfX2luaXRkYXRhID0geworCSZwY20wMzhfbm9yX210ZF9kZXZpY2UsCit9OworCitzdGF0aWMgdm9pZCBfX2luaXQgcGNtMDM4X2luaXQodm9pZCkKK3sKKwlpbnQgaTsKKwlncGlvX2ZlY19hY3RpdmUoKTsKKworCWZvciAoaSA9IDA7IGkgPCAzOyBpKyspCisJCWlteF9pbml0X3VhcnQoaSwgJnVhcnRfcGRhdGFbaV0pOworCisJcGxhdGZvcm1fYWRkX2RldmljZXMocGxhdGZvcm1fZGV2aWNlcywgQVJSQVlfU0laRShwbGF0Zm9ybV9kZXZpY2VzKSk7CisKKyNpZmRlZiBDT05GSUdfTUFDSF9QQ005NzBfQkFTRUJPQVJECisJcGNtOTcwX2Jhc2Vib2FyZF9pbml0KCk7CisjZW5kaWYKK30KKworc3RhdGljIHZvaWQgX19pbml0IHBjbTAzOF90aW1lcl9pbml0KHZvaWQpCit7CisJbXhjX2Nsb2Nrc19pbml0KDI2MDAwMDAwKTsKKwlteGNfdGltZXJfaW5pdCgiZ3B0X2Nsay4wIik7Cit9CisKK3N0cnVjdCBzeXNfdGltZXIgcGNtMDM4X3RpbWVyID0geworCS5pbml0ID0gcGNtMDM4X3RpbWVyX2luaXQsCit9OworCitNQUNISU5FX1NUQVJUKFBDTTAzOCwgInBoeUNPUkUtaS5NWDI3IikKKwkucGh5c19pbyAgICAgICAgPSBBSVBJX0JBU0VfQUREUiwKKwkuaW9fcGdfb2Zmc3QgICAgPSAoKEFJUElfQkFTRV9BRERSX1ZJUlQpID4+IDE4KSAmIDB4ZmZmYywKKwkuYm9vdF9wYXJhbXMgICAgPSBQSFlTX09GRlNFVCArIDB4MTAwLAorCS5tYXBfaW8gICAgICAgICA9IG14Y19tYXBfaW8sCisJLmluaXRfaXJxICAgICAgID0gbXhjX2luaXRfaXJxLAorCS5pbml0X21hY2hpbmUgICA9IHBjbTAzOF9pbml0LAorCS50aW1lciAgICAgICAgICA9ICZwY20wMzhfdGltZXIsCitNQUNISU5FX0VORApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1teDIvcGNtOTcwLWJhc2Vib2FyZC5jIGIvYXJjaC9hcm0vbWFjaC1teDIvcGNtOTcwLWJhc2Vib2FyZC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAyOGFjNGQKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLW14Mi9wY205NzAtYmFzZWJvYXJkLmMKQEAgLTAsMCArMSwzMiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwOCBKdWVyZ2VuIEJlaXNlcnQgKGtlcm5lbEBwZW5ndXRyb25peC5kZSkKKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIKKyAqIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwKKyAqIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqLworCisjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CisjaW5jbHVkZSA8YXNtL2hhcmR3YXJlLmg+CisjaW5jbHVkZSA8YXNtL21hY2gtdHlwZXMuaD4KKyNpbmNsdWRlIDxhc20vbWFjaC9hcmNoLmg+CisKKy8qCisgKiBzeXN0ZW0gaW5pdCBmb3IgYmFzZWJvYXJkIHVzYWdlLiBXaWxsIGJlIGNhbGxlZCBieSBwY20wMzggaW5pdC4KKyAqCisgKiBBZGQgcGxhdGZvcm0gZGV2aWNlcyBwcmVzZW50IG9uIHRoaXMgYmFzZWJvYXJkIGFuZCBpbml0CisgKiB0aGVtIGZyb20gQ1BVIHNpZGUgYXMgZmFyIGFzIHJlcXVpcmVkIHRvIHVzZSB0aGVtIGxhdGVyIG9uCisgKi8KK3ZvaWQgX19pbml0IHBjbTk3MF9iYXNlYm9hcmRfaW5pdCh2b2lkKQoreworfQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1teDIvc2VyaWFsLmMgYi9hcmNoL2FybS9tYWNoLW14Mi9zZXJpYWwuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NzBjMDJiCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vbWFjaC1teDIvc2VyaWFsLmMKQEAgLTAsMCArMSwxNzcgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAwNi0yMDA3IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgMjAwOCBKdWVyZ2VuIEJlaXNlcnQsIGtlcm5lbEBwZW5ndXRyb25peC5kZQorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMgorICogb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLAorICogTUEgMDIxMTAtMTMwMSwgVVNBLgorICovCisKKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9zZXJpYWwuaD4KKyNpbmNsdWRlIDxhc20vaGFyZHdhcmUuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9pbXgtdWFydC5oPgorCitzdGF0aWMgc3RydWN0IHJlc291cmNlIHVhcnQwW10gPSB7CisJeworCQkuc3RhcnQgPSBVQVJUMV9CQVNFX0FERFIsCisJCS5lbmQgPSBVQVJUMV9CQVNFX0FERFIgKyAweDBCNSwKKwkJLmZsYWdzID0gSU9SRVNPVVJDRV9NRU0sCisJfSwgeworCQkuc3RhcnQgPSBNWENfSU5UX1VBUlQxLAorCQkuZW5kID0gTVhDX0lOVF9VQVJUMSwKKwkJLmZsYWdzID0gSU9SRVNPVVJDRV9JUlEsCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIG14Y191YXJ0X2RldmljZTAgPSB7CisJLm5hbWUgPSAiaW14LXVhcnQiLAorCS5pZCA9IDAsCisJLnJlc291cmNlID0gdWFydDAsCisJLm51bV9yZXNvdXJjZXMgPSBBUlJBWV9TSVpFKHVhcnQwKSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgdWFydDFbXSA9IHsKKwl7CisJCS5zdGFydCA9IFVBUlQyX0JBU0VfQUREUiwKKwkJLmVuZCA9IFVBUlQyX0JBU0VfQUREUiArIDB4MEI1LAorCQkuZmxhZ3MgPSBJT1JFU09VUkNFX01FTSwKKwl9LCB7CisJCS5zdGFydCA9IE1YQ19JTlRfVUFSVDIsCisJCS5lbmQgPSBNWENfSU5UX1VBUlQyLAorCQkuZmxhZ3MgPSBJT1JFU09VUkNFX0lSUSwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgbXhjX3VhcnRfZGV2aWNlMSA9IHsKKwkubmFtZSA9ICJpbXgtdWFydCIsCisJLmlkID0gMSwKKwkucmVzb3VyY2UgPSB1YXJ0MSwKKwkubnVtX3Jlc291cmNlcyA9IEFSUkFZX1NJWkUodWFydDEpLAorfTsKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSB1YXJ0MltdID0geworCXsKKwkJLnN0YXJ0ID0gVUFSVDNfQkFTRV9BRERSLAorCQkuZW5kID0gVUFSVDNfQkFTRV9BRERSICsgMHgwQjUsCisJCS5mbGFncyA9IElPUkVTT1VSQ0VfTUVNLAorCX0sIHsKKwkJLnN0YXJ0ID0gTVhDX0lOVF9VQVJUMywKKwkJLmVuZCA9IE1YQ19JTlRfVUFSVDMsCisJCS5mbGFncyA9IElPUkVTT1VSQ0VfSVJRLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBteGNfdWFydF9kZXZpY2UyID0geworCS5uYW1lID0gImlteC11YXJ0IiwKKwkuaWQgPSAyLAorCS5yZXNvdXJjZSA9IHVhcnQyLAorCS5udW1fcmVzb3VyY2VzID0gQVJSQVlfU0laRSh1YXJ0MiksCit9OworCitzdGF0aWMgc3RydWN0IHJlc291cmNlIHVhcnQzW10gPSB7CisJeworCQkuc3RhcnQgPSBVQVJUNF9CQVNFX0FERFIsCisJCS5lbmQgPSBVQVJUNF9CQVNFX0FERFIgKyAweDBCNSwKKwkJLmZsYWdzID0gSU9SRVNPVVJDRV9NRU0sCisJfSwgeworCQkuc3RhcnQgPSBNWENfSU5UX1VBUlQ0LAorCQkuZW5kID0gTVhDX0lOVF9VQVJUNCwKKwkJLmZsYWdzID0gSU9SRVNPVVJDRV9JUlEsCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIG14Y191YXJ0X2RldmljZTMgPSB7CisJLm5hbWUgPSAiaW14LXVhcnQiLAorCS5pZCA9IDMsCisJLnJlc291cmNlID0gdWFydDMsCisJLm51bV9yZXNvdXJjZXMgPSBBUlJBWV9TSVpFKHVhcnQzKSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgdWFydDRbXSA9IHsKKwl7CisJCS5zdGFydCA9IFVBUlQ1X0JBU0VfQUREUiwKKwkJLmVuZCA9IFVBUlQ1X0JBU0VfQUREUiArIDB4MEI1LAorCQkuZmxhZ3MgPSBJT1JFU09VUkNFX01FTSwKKwl9LCB7CisJCS5zdGFydCA9IE1YQ19JTlRfVUFSVDUsCisJCS5lbmQgPSBNWENfSU5UX1VBUlQ1LAorCQkuZmxhZ3MgPSBJT1JFU09VUkNFX0lSUSwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgbXhjX3VhcnRfZGV2aWNlNCA9IHsKKwkubmFtZSA9ICJpbXgtdWFydCIsCisJLmlkID0gNCwKKwkucmVzb3VyY2UgPSB1YXJ0NCwKKwkubnVtX3Jlc291cmNlcyA9IEFSUkFZX1NJWkUodWFydDQpLAorfTsKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSB1YXJ0NVtdID0geworCXsKKwkJLnN0YXJ0ID0gVUFSVDZfQkFTRV9BRERSLAorCQkuZW5kID0gVUFSVDZfQkFTRV9BRERSICsgMHgwQjUsCisJCS5mbGFncyA9IElPUkVTT1VSQ0VfTUVNLAorCX0sIHsKKwkJLnN0YXJ0ID0gTVhDX0lOVF9VQVJUNiwKKwkJLmVuZCA9IE1YQ19JTlRfVUFSVDYsCisJCS5mbGFncyA9IElPUkVTT1VSQ0VfSVJRLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBteGNfdWFydF9kZXZpY2U1ID0geworCS5uYW1lID0gImlteC11YXJ0IiwKKwkuaWQgPSA1LAorCS5yZXNvdXJjZSA9IHVhcnQ1LAorCS5udW1fcmVzb3VyY2VzID0gQVJSQVlfU0laRSh1YXJ0NSksCit9OworCisvKgorICogUmVnaXN0ZXIgb25seSB0aG9zZSBVQVJUcyB0aGF0IHBoeXNpY2FsbHkgZXhpc3RzCisgKi8KK2ludCBfX2luaXQgaW14X2luaXRfdWFydChpbnQgdWFydF9ubywgc3RydWN0IGlteHVhcnRfcGxhdGZvcm1fZGF0YSAqcGRhdGEpCit7CisJc3dpdGNoICh1YXJ0X25vKSB7CisJY2FzZSAwOgorCQlteGNfdWFydF9kZXZpY2UwLmRldi5wbGF0Zm9ybV9kYXRhID0gcGRhdGE7CisJCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmbXhjX3VhcnRfZGV2aWNlMCk7CisJCWJyZWFrOworCWNhc2UgMToKKwkJbXhjX3VhcnRfZGV2aWNlMS5kZXYucGxhdGZvcm1fZGF0YSA9IHBkYXRhOworCQlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJm14Y191YXJ0X2RldmljZTEpOworCQlicmVhazsKKyNpZm5kZWYgQ09ORklHX01YQ19JUkRBCisJY2FzZSAyOgorCQlteGNfdWFydF9kZXZpY2UyLmRldi5wbGF0Zm9ybV9kYXRhID0gcGRhdGE7CisJCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmbXhjX3VhcnRfZGV2aWNlMik7CisJCWJyZWFrOworI2VuZGlmCisJY2FzZSAzOgorCQlteGNfdWFydF9kZXZpY2UzLmRldi5wbGF0Zm9ybV9kYXRhID0gcGRhdGE7CisJCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmbXhjX3VhcnRfZGV2aWNlMyk7CisJCWJyZWFrOworCWNhc2UgNDoKKwkJbXhjX3VhcnRfZGV2aWNlNC5kZXYucGxhdGZvcm1fZGF0YSA9IHBkYXRhOworCQlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJm14Y191YXJ0X2RldmljZTQpOworCQlicmVhazsKKwljYXNlIDU6CisJCW14Y191YXJ0X2RldmljZTUuZGV2LnBsYXRmb3JtX2RhdGEgPSBwZGF0YTsKKwkJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZteGNfdWFydF9kZXZpY2U1KTsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJcmV0dXJuIC1FTk9ERVY7CisJfQorCisJcmV0dXJuIDA7Cit9CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW14Mi9zeXN0ZW0uYyBiL2FyY2gvYXJtL21hY2gtbXgyL3N5c3RlbS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk5MzA0NjQKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLW14Mi9zeXN0ZW0uYwpAQCAtMCwwICsxLDYzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAxOTk5IEFSTSBMaW1pdGVkCisgKiBDb3B5cmlnaHQgKEMpIDIwMDAgRGVlcCBCbHVlIFNvbHV0aW9ucyBMdGQKKyAqIENvcHlyaWdodCAyMDA2LTIwMDcgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqIENvcHlyaWdodCAyMDA4IEp1ZXJnZW4gQmVpc2VydCwga2VybmVsQHBlbmd1dHJvbml4LmRlCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQorICovCisKKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9jbGsuaD4KKyNpbmNsdWRlIDxsaW51eC9pby5oPgorCisjaW5jbHVkZSA8YXNtL2FyY2gvaGFyZHdhcmUuaD4KKyNpbmNsdWRlIDxhc20vcHJvYy1mbnMuaD4KKyNpbmNsdWRlIDxhc20vc3lzdGVtLmg+CisKKy8qCisgKiBQdXQgdGhlIENQVSBpbnRvIGlkbGUgbW9kZS4gSXQgaXMgY2FsbGVkIGJ5IGRlZmF1bHRfaWRsZSgpCisgKiBpbiBwcm9jZXNzLmMgZmlsZS4KKyAqLwordm9pZCBhcmNoX2lkbGUodm9pZCkKK3sKKwkvKgorCSAqIFRoaXMgc2hvdWxkIGRvIGFsbCB0aGUgY2xvY2sgc3dpdGNoaW5nCisJICogYW5kIHdhaXQgZm9yIGludGVycnVwdCB0cmlja3MuCisJICovCisJY3B1X2RvX2lkbGUoKTsKK30KKworI2RlZmluZSBXRE9HX1dDUl9SRUcgICAgICAgICAgICAgICAgICAgIElPX0FERFJFU1MoV0RPR19CQVNFX0FERFIpCisjZGVmaW5lIFdET0dfV0NSX1NSUyAgICAgICAgICAgICAgICAgICAgKDEgPDwgNCkKKworLyoKKyAqIFJlc2V0IHRoZSBzeXN0ZW0uIEl0IGlzIGNhbGxlZCBieSBtYWNoaW5lX3Jlc3RhcnQoKS4KKyAqLwordm9pZCBhcmNoX3Jlc2V0KGNoYXIgbW9kZSkKK3sKKwlzdHJ1Y3QgY2xrICpjbGs7CisKKwljbGsgPSBjbGtfZ2V0KE5VTEwsICJ3ZG9nX2NsayIpOworCWlmICghY2xrKSB7CisJCXByaW50ayhLRVJOX0VSUiJDYW5ub3QgYWN0aXZhdGUgdGhlIHdhdGNoZG9nLiBHaXZpbmcgdXBcbiIpOworCQlyZXR1cm47CisJfQorCisJY2xrX2VuYWJsZShjbGspOworCisJLyogQXNzZXJ0IFNSUyBzaWduYWwgKi8KKwlfX3Jhd193cml0ZXcoX19yYXdfcmVhZHcoV0RPR19XQ1JfUkVHKSAmIH5XRE9HX1dDUl9TUlMsIFdET0dfV0NSX1JFRyk7Cit9CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW14My9LY29uZmlnIGIvYXJjaC9hcm0vbWFjaC1teDMvS2NvbmZpZwppbmRleCA1ZmU4NjA2Li5kYjk0MzFkIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLW14My9LY29uZmlnCisrKyBiL2FyY2gvYXJtL21hY2gtbXgzL0tjb25maWcKQEAgLTgsNSArOCwxOCBAQAogCSAgSW5jbHVkZSBzdXBwb3J0IGZvciBNWDMxQURTIHBsYXRmb3JtLiBUaGlzIGluY2x1ZGVzIHNwZWNpZmljCiAJICBjb25maWd1cmF0aW9ucyBmb3IgdGhlIGJvYXJkIGFuZCBpdHMgcGVyaXBoZXJhbHMuCiAKK2NvbmZpZyBNQUNIX1BDTTAzNworCWJvb2wgIlN1cHBvcnQgUGh5dGVjIHBjbTAzNyBwbGF0Zm9ybXMiCisJaGVscAorCSAgSW5jbHVkZSBzdXBwb3J0IGZvciBQaHl0ZWMgcGNtMDM3IHBsYXRmb3JtLiBUaGlzIGluY2x1ZGVzCisJICBzcGVjaWZpYyBjb25maWd1cmF0aW9ucyBmb3IgdGhlIGJvYXJkIGFuZCBpdHMgcGVyaXBoZXJhbHMuCisKK2NvbmZpZyBNQUNIX01YMzFMSVRFCisJYm9vbCAiU3VwcG9ydCBNWDMxIExJVEVLSVQgKExvZ2ljUEQpIgorCWRlZmF1bHQgbgorCWhlbHAKKwkgIEluY2x1ZGUgc3VwcG9ydCBmb3IgTVgzMSBMSVRFS0lUIHBsYXRmb3JtLiBUaGlzIGluY2x1ZGVzIHNwZWNpZmljCisJICBjb25maWd1cmF0aW9ucyBmb3IgdGhlIGJvYXJkIGFuZCBpdHMgcGVyaXBoZXJhbHMuCisKIGVuZG1lbnUKIApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1teDMvTWFrZWZpbGUgYi9hcmNoL2FybS9tYWNoLW14My9NYWtlZmlsZQppbmRleCBjYmVjOTk3Li44YjIxYWJiIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLW14My9NYWtlZmlsZQorKysgYi9hcmNoL2FybS9tYWNoLW14My9NYWtlZmlsZQpAQCAtNCw1ICs0LDcgQEAKIAogIyBPYmplY3QgZmlsZSBsaXN0cy4KIAotb2JqLXkJCQk6PSBtbS5vIHRpbWUubworb2JqLXkJCQk6PSBtbS5vIGNsb2NrLm8gZGV2aWNlcy5vIGlvbXV4Lm8KIG9iai0kKENPTkZJR19NQUNIX01YMzFBRFMpCSs9IG14MzFhZHMubworb2JqLSQoQ09ORklHX01BQ0hfTVgzMUxJVEUpCSs9IG14MzFsaXRlLm8KK29iai0kKENPTkZJR19NQUNIX1BDTTAzNykJKz0gcGNtMDM3Lm8KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtbXgzL2Nsb2NrLmMgYi9hcmNoL2FybS9tYWNoLW14My9jbG9jay5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJmMzYzNTkKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLW14My9jbG9jay5jCkBAIC0wLDAgKzEsMTE0NyBAQAorLyoKKyAqIENvcHlyaWdodCAyMDA1LTIwMDcgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwOCBieSBTYXNjaGEgSGF1ZXIgPGtlcm5lbEBwZW5ndXRyb25peC5kZT4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIKKyAqIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwKKyAqIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqLworCisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvc3BpbmxvY2suaD4KKyNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgorI2luY2x1ZGUgPGxpbnV4L2Nsay5oPgorI2luY2x1ZGUgPGxpbnV4L2Vyci5oPgorI2luY2x1ZGUgPGxpbnV4L2lvLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvY2xvY2suaD4KKyNpbmNsdWRlIDxhc20vZGl2NjQuaD4KKworI2luY2x1ZGUgImNybV9yZWdzLmgiCisKKyNkZWZpbmUgUFJFX0RJVl9NSU5fRlJFUSAgICAxMDAwMDAwMCAvKiBNaW5pbXVtIEZyZXF1ZW5jeSBhZnRlciBQcmVkaXZpZGVyICovCisKK3N0YXRpYyB2b2lkIF9fY2FsY19wcmVfcG9zdF9kaXZpZGVycyh1MzIgZGl2LCB1MzIgKnByZSwgdTMyICpwb3N0KQoreworCXUzMiBtaW5fcHJlLCB0ZW1wX3ByZSwgb2xkX2VyciwgZXJyOworCisJaWYgKGRpdiA+PSA1MTIpIHsKKwkJKnByZSA9IDg7CisJCSpwb3N0ID0gNjQ7CisJfSBlbHNlIGlmIChkaXYgPj0gNjQpIHsKKwkJbWluX3ByZSA9IChkaXYgLSAxKSAvIDY0ICsgMTsKKwkJb2xkX2VyciA9IDg7CisJCWZvciAodGVtcF9wcmUgPSA4OyB0ZW1wX3ByZSA+PSBtaW5fcHJlOyB0ZW1wX3ByZS0tKSB7CisJCQllcnIgPSBkaXYgJSB0ZW1wX3ByZTsKKwkJCWlmIChlcnIgPT0gMCkgeworCQkJCSpwcmUgPSB0ZW1wX3ByZTsKKwkJCQlicmVhazsKKwkJCX0KKwkJCWVyciA9IHRlbXBfcHJlIC0gZXJyOworCQkJaWYgKGVyciA8IG9sZF9lcnIpIHsKKwkJCQlvbGRfZXJyID0gZXJyOworCQkJCSpwcmUgPSB0ZW1wX3ByZTsKKwkJCX0KKwkJfQorCQkqcG9zdCA9IChkaXYgKyAqcHJlIC0gMSkgLyAqcHJlOworCX0gZWxzZSBpZiAoZGl2IDw9IDgpIHsKKwkJKnByZSA9IGRpdjsKKwkJKnBvc3QgPSAxOworCX0gZWxzZSB7CisJCSpwcmUgPSAxOworCQkqcG9zdCA9IGRpdjsKKwl9Cit9CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIG1jdV9wbGxfY2xrOworc3RhdGljIHN0cnVjdCBjbGsgbWN1X21haW5fY2xrOworc3RhdGljIHN0cnVjdCBjbGsgdXNiX3BsbF9jbGs7CitzdGF0aWMgc3RydWN0IGNsayBzZXJpYWxfcGxsX2NsazsKK3N0YXRpYyBzdHJ1Y3QgY2xrIGlwZ19jbGs7CitzdGF0aWMgc3RydWN0IGNsayBja2loX2NsazsKK3N0YXRpYyBzdHJ1Y3QgY2xrIGFoYl9jbGs7CisKK3N0YXRpYyBpbnQgX2Nsa19lbmFibGUoc3RydWN0IGNsayAqY2xrKQoreworCXUzMiByZWc7CisKKwlyZWcgPSBfX3Jhd19yZWFkbChjbGstPmVuYWJsZV9yZWcpOworCXJlZyB8PSAzIDw8IGNsay0+ZW5hYmxlX3NoaWZ0OworCV9fcmF3X3dyaXRlbChyZWcsIGNsay0+ZW5hYmxlX3JlZyk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgX2Nsa19kaXNhYmxlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwl1MzIgcmVnOworCisJcmVnID0gX19yYXdfcmVhZGwoY2xrLT5lbmFibGVfcmVnKTsKKwlyZWcgJj0gfigzIDw8IGNsay0+ZW5hYmxlX3NoaWZ0KTsKKwlfX3Jhd193cml0ZWwocmVnLCBjbGstPmVuYWJsZV9yZWcpOworfQorCitzdGF0aWMgdm9pZCBfY2xrX2VtaV9kaXNhYmxlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwl1MzIgcmVnOworCisJcmVnID0gX19yYXdfcmVhZGwoY2xrLT5lbmFibGVfcmVnKTsKKwlyZWcgJj0gfigzIDw8IGNsay0+ZW5hYmxlX3NoaWZ0KTsKKwlyZWcgfD0gKDEgPDwgY2xrLT5lbmFibGVfc2hpZnQpOworCV9fcmF3X3dyaXRlbChyZWcsIGNsay0+ZW5hYmxlX3JlZyk7Cit9CisKK3N0YXRpYyBpbnQgX2Nsa19wbGxfc2V0X3JhdGUoc3RydWN0IGNsayAqY2xrLCB1bnNpZ25lZCBsb25nIHJhdGUpCit7CisJdTMyIHJlZzsKKwlzaWduZWQgbG9uZyBwZCA9IDE7CS8qIFByZS1kaXZpZGVyICovCisJc2lnbmVkIGxvbmcgbWZpOwkvKiBNdWx0aXBsaWNhdGlvbiBGYWN0b3IgKEludGVnZXIgcGFydCkgKi8KKwlzaWduZWQgbG9uZyBtZm47CS8qIE11bHRpcGxpY2F0aW9uIEZhY3RvciAoSW50ZWdlciBwYXJ0KSAqLworCXNpZ25lZCBsb25nIG1mZDsJLyogTXVsdGlwbGljYXRpb24gRmFjdG9yIChEZW5vbWluYXRvciBQYXJ0KSAqLworCXNpZ25lZCBsb25nIHRtcDsKKwl1MzIgcmVmX2ZyZXEgPSBjbGtfZ2V0X3JhdGUoY2xrLT5wYXJlbnQpOworCisJd2hpbGUgKCgocmVmX2ZyZXEgLyBwZCkgKiAxMCkgPiByYXRlKQorCQlwZCsrOworCisJaWYgKChyZWZfZnJlcSAvIHBkKSA8IFBSRV9ESVZfTUlOX0ZSRVEpCisJCXJldHVybiAtRUlOVkFMOworCisJLyogdGhlIHJlZl9mcmVxLzIgaW4gdGhlIGZvbGxvd2luZyBpcyB0byByb3VuZCB1cCAqLworCW1maSA9ICgoKHJhdGUgLyAyKSAqIHBkKSArIChyZWZfZnJlcSAvIDIpKSAvIHJlZl9mcmVxOworCWlmIChtZmkgPCA1IHx8IG1maSA+IDE1KQorCQlyZXR1cm4gLUVJTlZBTDsKKworCS8qIHBpY2sgYSBtZmQgdmFsdWUgdGhhdCB3aWxsIHdvcmsKKwkgKiB0aGVuIHNvbHZlIGZvciBtZm4gKi8KKwltZmQgPSByZWZfZnJlcSAvIDUwMDAwOworCisJLyoKKwkgKiAgICAgICAgICBwbGxfZnJlcSAqIHBkICogbWZkCisJICogICBtZm4gPSAtLS0tLS0tLS0tLS0tLS0tLS0tLSAgLSAgKG1maSAqIG1mZCkKKwkgKiAgICAgICAgICAgMiAqIHJlZl9mcmVxCisJICovCisJLyogdGhlIHRtcC8yIGlzIGZvciByb3VuZGluZyAqLworCXRtcCA9IHJlZl9mcmVxIC8gMTAwMDA7CisJbWZuID0KKwkgICAgKCgoKCgocmF0ZSAvIDIpICsgKHRtcCAvIDIpKSAvIHRtcCkgKiBwZCkgKiBtZmQpIC8gMTAwMDApIC0KKwkgICAgKG1maSAqIG1mZCk7CisKKwltZm4gPSBtZm4gJiAweDNmZjsKKwlwZC0tOworCW1mZC0tOworCisJLyogQ2hhbmdlIHRoZSBQbGwgdmFsdWUgKi8KKwlyZWcgPSAobWZpIDw8IE1YQ19DQ01fUENUTF9NRklfT0ZGU0VUKSB8CisJICAgIChtZm4gPDwgTVhDX0NDTV9QQ1RMX01GTl9PRkZTRVQpIHwKKwkgICAgKG1mZCA8PCBNWENfQ0NNX1BDVExfTUZEX09GRlNFVCkgfCAocGQgPDwgTVhDX0NDTV9QQ1RMX1BEX09GRlNFVCk7CisKKwlpZiAoY2xrID09ICZtY3VfcGxsX2NsaykKKwkJX19yYXdfd3JpdGVsKHJlZywgTVhDX0NDTV9NUENUTCk7CisJZWxzZSBpZiAoY2xrID09ICZ1c2JfcGxsX2NsaykKKwkJX19yYXdfd3JpdGVsKHJlZywgTVhDX0NDTV9VUENUTCk7CisJZWxzZSBpZiAoY2xrID09ICZzZXJpYWxfcGxsX2NsaykKKwkJX19yYXdfd3JpdGVsKHJlZywgTVhDX0NDTV9TUlBDVEwpOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIF9jbGtfcGxsX2dldF9yYXRlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwlsb25nIG1maSwgbWZuLCBtZmQsIHBkZiwgcmVmX2NsaywgbWZuX2FiczsKKwl1bnNpZ25lZCBsb25nIHJlZywgY2NtcjsKKwlzNjQgdGVtcDsKKwl1bnNpZ25lZCBpbnQgcHJjczsKKworCWNjbXIgPSBfX3Jhd19yZWFkbChNWENfQ0NNX0NDTVIpOworCXByY3MgPSAoY2NtciAmIE1YQ19DQ01fQ0NNUl9QUkNTX01BU0spID4+IE1YQ19DQ01fQ0NNUl9QUkNTX09GRlNFVDsKKwlpZiAocHJjcyA9PSAweDEpCisJCXJlZl9jbGsgPSBDS0lMX0NMS19GUkVRICogMTAyNDsKKwllbHNlCisJCXJlZl9jbGsgPSBjbGtfZ2V0X3JhdGUoJmNraWhfY2xrKTsKKworCWlmIChjbGsgPT0gJm1jdV9wbGxfY2xrKSB7CisJCWlmICgoY2NtciAmIE1YQ19DQ01fQ0NNUl9NUEUpID09IDApCisJCQlyZXR1cm4gcmVmX2NsazsKKwkJaWYgKChjY21yICYgTVhDX0NDTV9DQ01SX01EUykgIT0gMCkKKwkJCXJldHVybiByZWZfY2xrOworCQlyZWcgPSBfX3Jhd19yZWFkbChNWENfQ0NNX01QQ1RMKTsKKwl9IGVsc2UgaWYgKGNsayA9PSAmdXNiX3BsbF9jbGspCisJCXJlZyA9IF9fcmF3X3JlYWRsKE1YQ19DQ01fVVBDVEwpOworCWVsc2UgaWYgKGNsayA9PSAmc2VyaWFsX3BsbF9jbGspCisJCXJlZyA9IF9fcmF3X3JlYWRsKE1YQ19DQ01fU1JQQ1RMKTsKKwllbHNlIHsKKwkJQlVHKCk7CisJCXJldHVybiAwOworCX0KKworCXBkZiA9IChyZWcgJiBNWENfQ0NNX1BDVExfUERfTUFTSykgPj4gTVhDX0NDTV9QQ1RMX1BEX09GRlNFVDsKKwltZmQgPSAocmVnICYgTVhDX0NDTV9QQ1RMX01GRF9NQVNLKSA+PiBNWENfQ0NNX1BDVExfTUZEX09GRlNFVDsKKwltZmkgPSAocmVnICYgTVhDX0NDTV9QQ1RMX01GSV9NQVNLKSA+PiBNWENfQ0NNX1BDVExfTUZJX09GRlNFVDsKKwltZmkgPSAobWZpIDw9IDUpID8gNSA6IG1maTsKKwltZm4gPSBtZm5fYWJzID0gcmVnICYgTVhDX0NDTV9QQ1RMX01GTl9NQVNLOworCisJaWYgKG1mbiA+PSAweDIwMCkgeworCQltZm4gfD0gMHhGRkZGRkUwMDsKKwkJbWZuX2FicyA9IC1tZm47CisJfQorCisJcmVmX2NsayAqPSAyOworCXJlZl9jbGsgLz0gcGRmICsgMTsKKworCXRlbXAgPSAodTY0KSByZWZfY2xrICogbWZuX2FiczsKKwlkb19kaXYodGVtcCwgbWZkICsgMSk7CisJaWYgKG1mbiA8IDApCisJCXRlbXAgPSAtdGVtcDsKKwl0ZW1wID0gKHJlZl9jbGsgKiBtZmkpICsgdGVtcDsKKworCXJldHVybiB0ZW1wOworfQorCitzdGF0aWMgaW50IF9jbGtfdXNiX3BsbF9lbmFibGUoc3RydWN0IGNsayAqY2xrKQoreworCXUzMiByZWc7CisKKwlyZWcgPSBfX3Jhd19yZWFkbChNWENfQ0NNX0NDTVIpOworCXJlZyB8PSBNWENfQ0NNX0NDTVJfVVBFOworCV9fcmF3X3dyaXRlbChyZWcsIE1YQ19DQ01fQ0NNUik7CisKKwkvKiBObyBsb2NrIGJpdCBvbiBNWDMxLCBzbyB1c2luZyBtYXggdGltZSBmcm9tIHNwZWMgKi8KKwl1ZGVsYXkoODApOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIF9jbGtfdXNiX3BsbF9kaXNhYmxlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwl1MzIgcmVnOworCisJcmVnID0gX19yYXdfcmVhZGwoTVhDX0NDTV9DQ01SKTsKKwlyZWcgJj0gfk1YQ19DQ01fQ0NNUl9VUEU7CisJX19yYXdfd3JpdGVsKHJlZywgTVhDX0NDTV9DQ01SKTsKK30KKworc3RhdGljIGludCBfY2xrX3NlcmlhbF9wbGxfZW5hYmxlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwl1MzIgcmVnOworCisJcmVnID0gX19yYXdfcmVhZGwoTVhDX0NDTV9DQ01SKTsKKwlyZWcgfD0gTVhDX0NDTV9DQ01SX1NQRTsKKwlfX3Jhd193cml0ZWwocmVnLCBNWENfQ0NNX0NDTVIpOworCisJLyogTm8gbG9jayBiaXQgb24gTVgzMSwgc28gdXNpbmcgbWF4IHRpbWUgZnJvbSBzcGVjICovCisJdWRlbGF5KDgwKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBfY2xrX3NlcmlhbF9wbGxfZGlzYWJsZShzdHJ1Y3QgY2xrICpjbGspCit7CisJdTMyIHJlZzsKKworCXJlZyA9IF9fcmF3X3JlYWRsKE1YQ19DQ01fQ0NNUik7CisJcmVnICY9IH5NWENfQ0NNX0NDTVJfU1BFOworCV9fcmF3X3dyaXRlbChyZWcsIE1YQ19DQ01fQ0NNUik7Cit9CisKKyNkZWZpbmUgUERSMChtYXNrLCBvZmYpICgoX19yYXdfcmVhZGwoTVhDX0NDTV9QRFIwKSAmIG1hc2spID4+IG9mZikKKyNkZWZpbmUgUERSMShtYXNrLCBvZmYpICgoX19yYXdfcmVhZGwoTVhDX0NDTV9QRFIxKSAmIG1hc2spID4+IG9mZikKKyNkZWZpbmUgUERSMihtYXNrLCBvZmYpICgoX19yYXdfcmVhZGwoTVhDX0NDTV9QRFIyKSAmIG1hc2spID4+IG9mZikKKworc3RhdGljIHVuc2lnbmVkIGxvbmcgX2Nsa19tY3VfbWFpbl9nZXRfcmF0ZShzdHJ1Y3QgY2xrICpjbGspCit7CisJdTMyIHBtY3IwID0gX19yYXdfcmVhZGwoTVhDX0NDTV9QTUNSMCk7CisKKwlpZiAoKHBtY3IwICYgTVhDX0NDTV9QTUNSMF9ERlNVUDEpID09IE1YQ19DQ01fUE1DUjBfREZTVVAxX1NQTEwpCisJCXJldHVybiBjbGtfZ2V0X3JhdGUoJnNlcmlhbF9wbGxfY2xrKTsKKwllbHNlCisJCXJldHVybiBjbGtfZ2V0X3JhdGUoJm1jdV9wbGxfY2xrKTsKK30KKworc3RhdGljIHVuc2lnbmVkIGxvbmcgX2Nsa19oY2xrX2dldF9yYXRlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwl1bnNpZ25lZCBsb25nIG1heF9wZGY7CisKKwltYXhfcGRmID0gUERSMChNWENfQ0NNX1BEUjBfTUFYX1BPREZfTUFTSywKKwkJICAgICAgIE1YQ19DQ01fUERSMF9NQVhfUE9ERl9PRkZTRVQpOworCXJldHVybiBjbGtfZ2V0X3JhdGUoY2xrLT5wYXJlbnQpIC8gKG1heF9wZGYgKyAxKTsKK30KKworc3RhdGljIHVuc2lnbmVkIGxvbmcgX2Nsa19pcGdfZ2V0X3JhdGUoc3RydWN0IGNsayAqY2xrKQoreworCXVuc2lnbmVkIGxvbmcgaXBnX3BkZjsKKworCWlwZ19wZGYgPSBQRFIwKE1YQ19DQ01fUERSMF9JUEdfUE9ERl9NQVNLLAorCQkgICAgICAgTVhDX0NDTV9QRFIwX0lQR19QT0RGX09GRlNFVCk7CisJcmV0dXJuIGNsa19nZXRfcmF0ZShjbGstPnBhcmVudCkgLyAoaXBnX3BkZiArIDEpOworfQorCitzdGF0aWMgdW5zaWduZWQgbG9uZyBfY2xrX25mY19nZXRfcmF0ZShzdHJ1Y3QgY2xrICpjbGspCit7CisJdW5zaWduZWQgbG9uZyBuZmNfcGRmOworCisJbmZjX3BkZiA9IFBEUjAoTVhDX0NDTV9QRFIwX05GQ19QT0RGX01BU0ssCisJCSAgICAgICBNWENfQ0NNX1BEUjBfTkZDX1BPREZfT0ZGU0VUKTsKKwlyZXR1cm4gY2xrX2dldF9yYXRlKGNsay0+cGFyZW50KSAvIChuZmNfcGRmICsgMSk7Cit9CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIF9jbGtfaHNwX2dldF9yYXRlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwl1bnNpZ25lZCBsb25nIGhzcF9wZGY7CisKKwloc3BfcGRmID0gUERSMChNWENfQ0NNX1BEUjBfSFNQX1BPREZfTUFTSywKKwkJICAgICAgIE1YQ19DQ01fUERSMF9IU1BfUE9ERl9PRkZTRVQpOworCXJldHVybiBjbGtfZ2V0X3JhdGUoY2xrLT5wYXJlbnQpIC8gKGhzcF9wZGYgKyAxKTsKK30KKworc3RhdGljIHVuc2lnbmVkIGxvbmcgX2Nsa191c2JfZ2V0X3JhdGUoc3RydWN0IGNsayAqY2xrKQoreworCXVuc2lnbmVkIGxvbmcgdXNiX3BkZiwgdXNiX3ByZXBkZjsKKworCXVzYl9wZGYgPSBQRFIxKE1YQ19DQ01fUERSMV9VU0JfUE9ERl9NQVNLLAorCQkgICAgICAgTVhDX0NDTV9QRFIxX1VTQl9QT0RGX09GRlNFVCk7CisJdXNiX3ByZXBkZiA9IFBEUjEoTVhDX0NDTV9QRFIxX1VTQl9QUkRGX01BU0ssCisJCQkgIE1YQ19DQ01fUERSMV9VU0JfUFJERl9PRkZTRVQpOworCXJldHVybiBjbGtfZ2V0X3JhdGUoY2xrLT5wYXJlbnQpIC8gKHVzYl9wcmVwZGYgKyAxKSAvICh1c2JfcGRmICsgMSk7Cit9CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIF9jbGtfY3NpX2dldF9yYXRlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwl1MzIgcmVnLCBwcmUsIHBvc3Q7CisKKwlyZWcgPSBfX3Jhd19yZWFkbChNWENfQ0NNX1BEUjApOworCXByZSA9IChyZWcgJiBNWENfQ0NNX1BEUjBfQ1NJX1BSREZfTUFTSykgPj4KKwkgICAgTVhDX0NDTV9QRFIwX0NTSV9QUkRGX09GRlNFVDsKKwlwcmUrKzsKKwlwb3N0ID0gKHJlZyAmIE1YQ19DQ01fUERSMF9DU0lfUE9ERl9NQVNLKSA+PgorCSAgICBNWENfQ0NNX1BEUjBfQ1NJX1BPREZfT0ZGU0VUOworCXBvc3QrKzsKKwlyZXR1cm4gY2xrX2dldF9yYXRlKGNsay0+cGFyZW50KSAvIChwcmUgKiBwb3N0KTsKK30KKworc3RhdGljIHVuc2lnbmVkIGxvbmcgX2Nsa19jc2lfcm91bmRfcmF0ZShzdHJ1Y3QgY2xrICpjbGssIHVuc2lnbmVkIGxvbmcgcmF0ZSkKK3sKKwl1MzIgcHJlLCBwb3N0LCBwYXJlbnQgPSBjbGtfZ2V0X3JhdGUoY2xrLT5wYXJlbnQpOworCXUzMiBkaXYgPSBwYXJlbnQgLyByYXRlOworCisJaWYgKHBhcmVudCAlIHJhdGUpCisJCWRpdisrOworCisJX19jYWxjX3ByZV9wb3N0X2RpdmlkZXJzKGRpdiwgJnByZSwgJnBvc3QpOworCisJcmV0dXJuIHBhcmVudCAvIChwcmUgKiBwb3N0KTsKK30KKworc3RhdGljIGludCBfY2xrX2NzaV9zZXRfcmF0ZShzdHJ1Y3QgY2xrICpjbGssIHVuc2lnbmVkIGxvbmcgcmF0ZSkKK3sKKwl1MzIgcmVnLCBkaXYsIHByZSwgcG9zdCwgcGFyZW50ID0gY2xrX2dldF9yYXRlKGNsay0+cGFyZW50KTsKKworCWRpdiA9IHBhcmVudCAvIHJhdGU7CisKKwlpZiAoKHBhcmVudCAvIGRpdikgIT0gcmF0ZSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlfX2NhbGNfcHJlX3Bvc3RfZGl2aWRlcnMoZGl2LCAmcHJlLCAmcG9zdCk7CisKKwkvKiBTZXQgQ1NJIGNsb2NrIGRpdmlkZXIgKi8KKwlyZWcgPSBfX3Jhd19yZWFkbChNWENfQ0NNX1BEUjApICYKKwkgICAgfihNWENfQ0NNX1BEUjBfQ1NJX1BPREZfTUFTSyB8IE1YQ19DQ01fUERSMF9DU0lfUFJERl9NQVNLKTsKKwlyZWcgfD0gKHBvc3QgLSAxKSA8PCBNWENfQ0NNX1BEUjBfQ1NJX1BPREZfT0ZGU0VUOworCXJlZyB8PSAocHJlIC0gMSkgPDwgTVhDX0NDTV9QRFIwX0NTSV9QUkRGX09GRlNFVDsKKwlfX3Jhd193cml0ZWwocmVnLCBNWENfQ0NNX1BEUjApOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIF9jbGtfcGVyX2dldF9yYXRlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwl1bnNpZ25lZCBsb25nIHBlcl9wZGY7CisKKwlwZXJfcGRmID0gUERSMChNWENfQ0NNX1BEUjBfUEVSX1BPREZfTUFTSywKKwkJICAgICAgIE1YQ19DQ01fUERSMF9QRVJfUE9ERl9PRkZTRVQpOworCXJldHVybiBjbGtfZ2V0X3JhdGUoY2xrLT5wYXJlbnQpIC8gKHBlcl9wZGYgKyAxKTsKK30KKworc3RhdGljIHVuc2lnbmVkIGxvbmcgX2Nsa19zc2kxX2dldF9yYXRlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwl1bnNpZ25lZCBsb25nIHNzaTFfcGRmLCBzc2kxX3ByZXBkZjsKKworCXNzaTFfcGRmID0gUERSMShNWENfQ0NNX1BEUjFfU1NJMV9QT0RGX01BU0ssCisJCQlNWENfQ0NNX1BEUjFfU1NJMV9QT0RGX09GRlNFVCk7CisJc3NpMV9wcmVwZGYgPSBQRFIxKE1YQ19DQ01fUERSMV9TU0kxX1BSRV9QT0RGX01BU0ssCisJCQkgICBNWENfQ0NNX1BEUjFfU1NJMV9QUkVfUE9ERl9PRkZTRVQpOworCXJldHVybiBjbGtfZ2V0X3JhdGUoY2xrLT5wYXJlbnQpIC8gKHNzaTFfcHJlcGRmICsgMSkgLyAoc3NpMV9wZGYgKyAxKTsKK30KKworc3RhdGljIHVuc2lnbmVkIGxvbmcgX2Nsa19zc2kyX2dldF9yYXRlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwl1bnNpZ25lZCBsb25nIHNzaTJfcGRmLCBzc2kyX3ByZXBkZjsKKworCXNzaTJfcGRmID0gUERSMShNWENfQ0NNX1BEUjFfU1NJMl9QT0RGX01BU0ssCisJCQlNWENfQ0NNX1BEUjFfU1NJMl9QT0RGX09GRlNFVCk7CisJc3NpMl9wcmVwZGYgPSBQRFIxKE1YQ19DQ01fUERSMV9TU0kyX1BSRV9QT0RGX01BU0ssCisJCQkgICBNWENfQ0NNX1BEUjFfU1NJMl9QUkVfUE9ERl9PRkZTRVQpOworCXJldHVybiBjbGtfZ2V0X3JhdGUoY2xrLT5wYXJlbnQpIC8gKHNzaTJfcHJlcGRmICsgMSkgLyAoc3NpMl9wZGYgKyAxKTsKK30KKworc3RhdGljIHVuc2lnbmVkIGxvbmcgX2Nsa19maXJpX2dldF9yYXRlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwl1bnNpZ25lZCBsb25nIGZpcmlfcGRmLCBmaXJpX3ByZXBkZjsKKworCWZpcmlfcGRmID0gUERSMShNWENfQ0NNX1BEUjFfRklSSV9QT0RGX01BU0ssCisJCQlNWENfQ0NNX1BEUjFfRklSSV9QT0RGX09GRlNFVCk7CisJZmlyaV9wcmVwZGYgPSBQRFIxKE1YQ19DQ01fUERSMV9GSVJJX1BSRV9QT0RGX01BU0ssCisJCQkgICBNWENfQ0NNX1BEUjFfRklSSV9QUkVfUE9ERl9PRkZTRVQpOworCXJldHVybiBjbGtfZ2V0X3JhdGUoY2xrLT5wYXJlbnQpIC8gKGZpcmlfcHJlcGRmICsgMSkgLyAoZmlyaV9wZGYgKyAxKTsKK30KKworc3RhdGljIHVuc2lnbmVkIGxvbmcgX2Nsa19maXJpX3JvdW5kX3JhdGUoc3RydWN0IGNsayAqY2xrLCB1bnNpZ25lZCBsb25nIHJhdGUpCit7CisJdTMyIHByZSwgcG9zdDsKKwl1MzIgcGFyZW50ID0gY2xrX2dldF9yYXRlKGNsay0+cGFyZW50KTsKKwl1MzIgZGl2ID0gcGFyZW50IC8gcmF0ZTsKKworCWlmIChwYXJlbnQgJSByYXRlKQorCQlkaXYrKzsKKworCV9fY2FsY19wcmVfcG9zdF9kaXZpZGVycyhkaXYsICZwcmUsICZwb3N0KTsKKworCXJldHVybiBwYXJlbnQgLyAocHJlICogcG9zdCk7CisKK30KKworc3RhdGljIGludCBfY2xrX2Zpcmlfc2V0X3JhdGUoc3RydWN0IGNsayAqY2xrLCB1bnNpZ25lZCBsb25nIHJhdGUpCit7CisJdTMyIHJlZywgZGl2LCBwcmUsIHBvc3QsIHBhcmVudCA9IGNsa19nZXRfcmF0ZShjbGstPnBhcmVudCk7CisKKwlkaXYgPSBwYXJlbnQgLyByYXRlOworCisJaWYgKChwYXJlbnQgLyBkaXYpICE9IHJhdGUpCisJCXJldHVybiAtRUlOVkFMOworCisJX19jYWxjX3ByZV9wb3N0X2RpdmlkZXJzKGRpdiwgJnByZSwgJnBvc3QpOworCisJLyogU2V0IEZJUkkgY2xvY2sgZGl2aWRlciAqLworCXJlZyA9IF9fcmF3X3JlYWRsKE1YQ19DQ01fUERSMSkgJgorCSAgICB+KE1YQ19DQ01fUERSMV9GSVJJX1BPREZfTUFTSyB8IE1YQ19DQ01fUERSMV9GSVJJX1BSRV9QT0RGX01BU0spOworCXJlZyB8PSAocHJlIC0gMSkgPDwgTVhDX0NDTV9QRFIxX0ZJUklfUFJFX1BPREZfT0ZGU0VUOworCXJlZyB8PSAocG9zdCAtIDEpIDw8IE1YQ19DQ01fUERSMV9GSVJJX1BPREZfT0ZGU0VUOworCV9fcmF3X3dyaXRlbChyZWcsIE1YQ19DQ01fUERSMSk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHVuc2lnbmVkIGxvbmcgX2Nsa19tYnhfZ2V0X3JhdGUoc3RydWN0IGNsayAqY2xrKQoreworCXJldHVybiBjbGtfZ2V0X3JhdGUoY2xrLT5wYXJlbnQpIC8gMjsKK30KKworc3RhdGljIHVuc2lnbmVkIGxvbmcgX2Nsa19tc3RpY2sxX2dldF9yYXRlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwl1bnNpZ25lZCBsb25nIG1zdGlfcGRmOworCisJbXN0aV9wZGYgPSBQRFIyKE1YQ19DQ01fUERSMl9NU1QxX1BERl9NQVNLLAorCQkJTVhDX0NDTV9QRFIyX01TVDFfUERGX09GRlNFVCk7CisJcmV0dXJuIGNsa19nZXRfcmF0ZShjbGstPnBhcmVudCkgLyAobXN0aV9wZGYgKyAxKTsKK30KKworc3RhdGljIHVuc2lnbmVkIGxvbmcgX2Nsa19tc3RpY2syX2dldF9yYXRlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwl1bnNpZ25lZCBsb25nIG1zdGlfcGRmOworCisJbXN0aV9wZGYgPSBQRFIyKE1YQ19DQ01fUERSMl9NU1QyX1BERl9NQVNLLAorCQkJTVhDX0NDTV9QRFIyX01TVDJfUERGX09GRlNFVCk7CisJcmV0dXJuIGNsa19nZXRfcmF0ZShjbGstPnBhcmVudCkgLyAobXN0aV9wZGYgKyAxKTsKK30KKworc3RhdGljIHVuc2lnbmVkIGxvbmcgY2tpaF9yYXRlOworCitzdGF0aWMgdW5zaWduZWQgbG9uZyBjbGtfY2tpaF9nZXRfcmF0ZShzdHJ1Y3QgY2xrICpjbGspCit7CisJcmV0dXJuIGNraWhfcmF0ZTsKK30KKworc3RhdGljIHN0cnVjdCBjbGsgY2tpaF9jbGsgPSB7CisJLm5hbWUgPSAiY2tpaCIsCisJLmdldF9yYXRlID0gY2xrX2NraWhfZ2V0X3JhdGUsCit9OworCitzdGF0aWMgdW5zaWduZWQgbG9uZyBjbGtfY2tpbF9nZXRfcmF0ZShzdHJ1Y3QgY2xrICpjbGspCit7CisJcmV0dXJuIENLSUxfQ0xLX0ZSRVE7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIGNraWxfY2xrID0geworCS5uYW1lID0gImNraWwiLAorCS5nZXRfcmF0ZSA9IGNsa19ja2lsX2dldF9yYXRlLAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgbWN1X3BsbF9jbGsgPSB7CisJLm5hbWUgPSAibWN1X3BsbCIsCisJLnBhcmVudCA9ICZja2loX2NsaywKKwkuc2V0X3JhdGUgPSBfY2xrX3BsbF9zZXRfcmF0ZSwKKwkuZ2V0X3JhdGUgPSBfY2xrX3BsbF9nZXRfcmF0ZSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIG1jdV9tYWluX2NsayA9IHsKKwkubmFtZSA9ICJtY3VfbWFpbl9jbGsiLAorCS5wYXJlbnQgPSAmbWN1X3BsbF9jbGssCisJLmdldF9yYXRlID0gX2Nsa19tY3VfbWFpbl9nZXRfcmF0ZSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIHNlcmlhbF9wbGxfY2xrID0geworCS5uYW1lID0gInNlcmlhbF9wbGwiLAorCS5wYXJlbnQgPSAmY2tpaF9jbGssCisJLnNldF9yYXRlID0gX2Nsa19wbGxfc2V0X3JhdGUsCisJLmdldF9yYXRlID0gX2Nsa19wbGxfZ2V0X3JhdGUsCisJLmVuYWJsZSA9IF9jbGtfc2VyaWFsX3BsbF9lbmFibGUsCisJLmRpc2FibGUgPSBfY2xrX3NlcmlhbF9wbGxfZGlzYWJsZSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIHVzYl9wbGxfY2xrID0geworCS5uYW1lID0gInVzYl9wbGwiLAorCS5wYXJlbnQgPSAmY2tpaF9jbGssCisJLnNldF9yYXRlID0gX2Nsa19wbGxfc2V0X3JhdGUsCisJLmdldF9yYXRlID0gX2Nsa19wbGxfZ2V0X3JhdGUsCisJLmVuYWJsZSA9IF9jbGtfdXNiX3BsbF9lbmFibGUsCisJLmRpc2FibGUgPSBfY2xrX3VzYl9wbGxfZGlzYWJsZSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIGFoYl9jbGsgPSB7CisJLm5hbWUgPSAiYWhiX2NsayIsCisJLnBhcmVudCA9ICZtY3VfbWFpbl9jbGssCisJLmdldF9yYXRlID0gX2Nsa19oY2xrX2dldF9yYXRlLAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgcGVyX2NsayA9IHsKKwkubmFtZSA9ICJwZXJfY2xrIiwKKwkucGFyZW50ID0gJnVzYl9wbGxfY2xrLAorCS5nZXRfcmF0ZSA9IF9jbGtfcGVyX2dldF9yYXRlLAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgcGVyY2xrX2NsayA9IHsKKwkubmFtZSA9ICJwZXJjbGtfY2xrIiwKKwkucGFyZW50ID0gJmlwZ19jbGssCit9OworCitzdGF0aWMgc3RydWN0IGNsayBjc3BpX2Nsa1tdID0geworCXsKKwkgLm5hbWUgPSAiY3NwaV9jbGsiLAorCSAuaWQgPSAwLAorCSAucGFyZW50ID0gJmlwZ19jbGssCisJIC5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkgLmVuYWJsZV9yZWcgPSBNWENfQ0NNX0NHUjIsCisJIC5lbmFibGVfc2hpZnQgPSBNWENfQ0NNX0NHUjJfQ1NQSTFfT0ZGU0VULAorCSAuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSx9LAorCXsKKwkgLm5hbWUgPSAiY3NwaV9jbGsiLAorCSAuaWQgPSAxLAorCSAucGFyZW50ID0gJmlwZ19jbGssCisJIC5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkgLmVuYWJsZV9yZWcgPSBNWENfQ0NNX0NHUjIsCisJIC5lbmFibGVfc2hpZnQgPSBNWENfQ0NNX0NHUjJfQ1NQSTJfT0ZGU0VULAorCSAuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSx9LAorCXsKKwkgLm5hbWUgPSAiY3NwaV9jbGsiLAorCSAuaWQgPSAyLAorCSAucGFyZW50ID0gJmlwZ19jbGssCisJIC5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkgLmVuYWJsZV9yZWcgPSBNWENfQ0NNX0NHUjAsCisJIC5lbmFibGVfc2hpZnQgPSBNWENfQ0NNX0NHUjBfQ1NQSTNfT0ZGU0VULAorCSAuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSx9LAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgaXBnX2NsayA9IHsKKwkubmFtZSA9ICJpcGdfY2xrIiwKKwkucGFyZW50ID0gJmFoYl9jbGssCisJLmdldF9yYXRlID0gX2Nsa19pcGdfZ2V0X3JhdGUsCit9OworCitzdGF0aWMgc3RydWN0IGNsayBlbWlfY2xrID0geworCS5uYW1lID0gImVtaV9jbGsiLAorCS5wYXJlbnQgPSAmYWhiX2NsaywKKwkuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJLmVuYWJsZV9yZWcgPSBNWENfQ0NNX0NHUjIsCisJLmVuYWJsZV9zaGlmdCA9IE1YQ19DQ01fQ0dSMl9FTUlfT0ZGU0VULAorCS5kaXNhYmxlID0gX2Nsa19lbWlfZGlzYWJsZSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIGdwdF9jbGsgPSB7CisJLm5hbWUgPSAiZ3B0X2NsayIsCisJLnBhcmVudCA9ICZwZXJjbGtfY2xrLAorCS5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkuZW5hYmxlX3JlZyA9IE1YQ19DQ01fQ0dSMCwKKwkuZW5hYmxlX3NoaWZ0ID0gTVhDX0NDTV9DR1IwX0dQVF9PRkZTRVQsCisJLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsCit9OworCitzdGF0aWMgc3RydWN0IGNsayBwd21fY2xrID0geworCS5uYW1lID0gInB3bV9jbGsiLAorCS5wYXJlbnQgPSAmcGVyY2xrX2NsaywKKwkuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJLmVuYWJsZV9yZWcgPSBNWENfQ0NNX0NHUjAsCisJLmVuYWJsZV9zaGlmdCA9IE1YQ19DQ01fQ0dSMV9QV01fT0ZGU0VULAorCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgZXBpdF9jbGtbXSA9IHsKKwl7CisJIC5uYW1lID0gImVwaXRfY2xrIiwKKwkgLmlkID0gMCwKKwkgLnBhcmVudCA9ICZwZXJjbGtfY2xrLAorCSAuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJIC5lbmFibGVfcmVnID0gTVhDX0NDTV9DR1IwLAorCSAuZW5hYmxlX3NoaWZ0ID0gTVhDX0NDTV9DR1IwX0VQSVQxX09GRlNFVCwKKwkgLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsfSwKKwl7CisJIC5uYW1lID0gImVwaXRfY2xrIiwKKwkgLmlkID0gMSwKKwkgLnBhcmVudCA9ICZwZXJjbGtfY2xrLAorCSAuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJIC5lbmFibGVfcmVnID0gTVhDX0NDTV9DR1IwLAorCSAuZW5hYmxlX3NoaWZ0ID0gTVhDX0NDTV9DR1IwX0VQSVQyX09GRlNFVCwKKwkgLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIG5mY19jbGsgPSB7CisJLm5hbWUgPSAibmZjX2NsayIsCisJLnBhcmVudCA9ICZhaGJfY2xrLAorCS5nZXRfcmF0ZSA9IF9jbGtfbmZjX2dldF9yYXRlLAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgc2NjX2NsayA9IHsKKwkubmFtZSA9ICJzY2NfY2xrIiwKKwkucGFyZW50ID0gJmlwZ19jbGssCit9OworCitzdGF0aWMgc3RydWN0IGNsayBpcHVfY2xrID0geworCS5uYW1lID0gImlwdV9jbGsiLAorCS5wYXJlbnQgPSAmbWN1X21haW5fY2xrLAorCS5nZXRfcmF0ZSA9IF9jbGtfaHNwX2dldF9yYXRlLAorCS5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkuZW5hYmxlX3JlZyA9IE1YQ19DQ01fQ0dSMSwKKwkuZW5hYmxlX3NoaWZ0ID0gTVhDX0NDTV9DR1IxX0lQVV9PRkZTRVQsCisJLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsCit9OworCitzdGF0aWMgc3RydWN0IGNsayBrcHBfY2xrID0geworCS5uYW1lID0gImtwcF9jbGsiLAorCS5wYXJlbnQgPSAmaXBnX2NsaywKKwkuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJLmVuYWJsZV9yZWcgPSBNWENfQ0NNX0NHUjEsCisJLmVuYWJsZV9zaGlmdCA9IE1YQ19DQ01fQ0dSMV9LUFBfT0ZGU0VULAorCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgd2RvZ19jbGsgPSB7CisJLm5hbWUgPSAid2RvZ19jbGsiLAorCS5wYXJlbnQgPSAmaXBnX2NsaywKKwkuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJLmVuYWJsZV9yZWcgPSBNWENfQ0NNX0NHUjEsCisJLmVuYWJsZV9zaGlmdCA9IE1YQ19DQ01fQ0dSMV9XRE9HX09GRlNFVCwKKwkuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSwKK307CitzdGF0aWMgc3RydWN0IGNsayBydGNfY2xrID0geworCS5uYW1lID0gInJ0Y19jbGsiLAorCS5wYXJlbnQgPSAmaXBnX2NsaywKKwkuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJLmVuYWJsZV9yZWcgPSBNWENfQ0NNX0NHUjEsCisJLmVuYWJsZV9zaGlmdCA9IE1YQ19DQ01fQ0dSMV9SVENfT0ZGU0VULAorCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgdXNiX2Nsa1tdID0geworCXsKKwkgLm5hbWUgPSAidXNiX2NsayIsCisJIC5wYXJlbnQgPSAmdXNiX3BsbF9jbGssCisJIC5nZXRfcmF0ZSA9IF9jbGtfdXNiX2dldF9yYXRlLH0sCisJeworCSAubmFtZSA9ICJ1c2JfYWhiX2NsayIsCisJIC5wYXJlbnQgPSAmYWhiX2NsaywKKwkgLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCSAuZW5hYmxlX3JlZyA9IE1YQ19DQ01fQ0dSMSwKKwkgLmVuYWJsZV9zaGlmdCA9IE1YQ19DQ01fQ0dSMV9VU0JPVEdfT0ZGU0VULAorCSAuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSx9LAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgY3NpX2NsayA9IHsKKwkubmFtZSA9ICJjc2lfY2xrIiwKKwkucGFyZW50ID0gJnNlcmlhbF9wbGxfY2xrLAorCS5nZXRfcmF0ZSA9IF9jbGtfY3NpX2dldF9yYXRlLAorCS5yb3VuZF9yYXRlID0gX2Nsa19jc2lfcm91bmRfcmF0ZSwKKwkuc2V0X3JhdGUgPSBfY2xrX2NzaV9zZXRfcmF0ZSwKKwkuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJLmVuYWJsZV9yZWcgPSBNWENfQ0NNX0NHUjEsCisJLmVuYWJsZV9zaGlmdCA9IE1YQ19DQ01fQ0dSMV9DU0lfT0ZGU0VULAorCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgdWFydF9jbGtbXSA9IHsKKwl7CisJIC5uYW1lID0gInVhcnRfY2xrIiwKKwkgLmlkID0gMCwKKwkgLnBhcmVudCA9ICZwZXJjbGtfY2xrLAorCSAuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJIC5lbmFibGVfcmVnID0gTVhDX0NDTV9DR1IwLAorCSAuZW5hYmxlX3NoaWZ0ID0gTVhDX0NDTV9DR1IwX1VBUlQxX09GRlNFVCwKKwkgLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsfSwKKwl7CisJIC5uYW1lID0gInVhcnRfY2xrIiwKKwkgLmlkID0gMSwKKwkgLnBhcmVudCA9ICZwZXJjbGtfY2xrLAorCSAuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJIC5lbmFibGVfcmVnID0gTVhDX0NDTV9DR1IwLAorCSAuZW5hYmxlX3NoaWZ0ID0gTVhDX0NDTV9DR1IwX1VBUlQyX09GRlNFVCwKKwkgLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsfSwKKwl7CisJIC5uYW1lID0gInVhcnRfY2xrIiwKKwkgLmlkID0gMiwKKwkgLnBhcmVudCA9ICZwZXJjbGtfY2xrLAorCSAuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJIC5lbmFibGVfcmVnID0gTVhDX0NDTV9DR1IxLAorCSAuZW5hYmxlX3NoaWZ0ID0gTVhDX0NDTV9DR1IxX1VBUlQzX09GRlNFVCwKKwkgLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsfSwKKwl7CisJIC5uYW1lID0gInVhcnRfY2xrIiwKKwkgLmlkID0gMywKKwkgLnBhcmVudCA9ICZwZXJjbGtfY2xrLAorCSAuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJIC5lbmFibGVfcmVnID0gTVhDX0NDTV9DR1IxLAorCSAuZW5hYmxlX3NoaWZ0ID0gTVhDX0NDTV9DR1IxX1VBUlQ0X09GRlNFVCwKKwkgLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsfSwKKwl7CisJIC5uYW1lID0gInVhcnRfY2xrIiwKKwkgLmlkID0gNCwKKwkgLnBhcmVudCA9ICZwZXJjbGtfY2xrLAorCSAuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJIC5lbmFibGVfcmVnID0gTVhDX0NDTV9DR1IxLAorCSAuZW5hYmxlX3NoaWZ0ID0gTVhDX0NDTV9DR1IxX1VBUlQ1X09GRlNFVCwKKwkgLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIGkyY19jbGtbXSA9IHsKKwl7CisJIC5uYW1lID0gImkyY19jbGsiLAorCSAuaWQgPSAwLAorCSAucGFyZW50ID0gJnBlcmNsa19jbGssCisJIC5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkgLmVuYWJsZV9yZWcgPSBNWENfQ0NNX0NHUjAsCisJIC5lbmFibGVfc2hpZnQgPSBNWENfQ0NNX0NHUjBfSTJDMV9PRkZTRVQsCisJIC5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLH0sCisJeworCSAubmFtZSA9ICJpMmNfY2xrIiwKKwkgLmlkID0gMSwKKwkgLnBhcmVudCA9ICZwZXJjbGtfY2xrLAorCSAuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJIC5lbmFibGVfcmVnID0gTVhDX0NDTV9DR1IwLAorCSAuZW5hYmxlX3NoaWZ0ID0gTVhDX0NDTV9DR1IwX0kyQzJfT0ZGU0VULAorCSAuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSx9LAorCXsKKwkgLm5hbWUgPSAiaTJjX2NsayIsCisJIC5pZCA9IDIsCisJIC5wYXJlbnQgPSAmcGVyY2xrX2NsaywKKwkgLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCSAuZW5hYmxlX3JlZyA9IE1YQ19DQ01fQ0dSMCwKKwkgLmVuYWJsZV9zaGlmdCA9IE1YQ19DQ01fQ0dSMF9JMkMzX09GRlNFVCwKKwkgLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIG93aXJlX2NsayA9IHsKKwkubmFtZSA9ICJvd2lyZV9jbGsiLAorCS5wYXJlbnQgPSAmcGVyY2xrX2NsaywKKwkuZW5hYmxlX3JlZyA9IE1YQ19DQ01fQ0dSMSwKKwkuZW5hYmxlX3NoaWZ0ID0gTVhDX0NDTV9DR1IxX09XSVJFX09GRlNFVCwKKwkuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsCit9OworCitzdGF0aWMgc3RydWN0IGNsayBzZGhjX2Nsa1tdID0geworCXsKKwkgLm5hbWUgPSAic2RoY19jbGsiLAorCSAuaWQgPSAwLAorCSAucGFyZW50ID0gJnBlcmNsa19jbGssCisJIC5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkgLmVuYWJsZV9yZWcgPSBNWENfQ0NNX0NHUjAsCisJIC5lbmFibGVfc2hpZnQgPSBNWENfQ0NNX0NHUjBfU0RfTU1DMV9PRkZTRVQsCisJIC5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLH0sCisJeworCSAubmFtZSA9ICJzZGhjX2NsayIsCisJIC5pZCA9IDEsCisJIC5wYXJlbnQgPSAmcGVyY2xrX2NsaywKKwkgLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCSAuZW5hYmxlX3JlZyA9IE1YQ19DQ01fQ0dSMCwKKwkgLmVuYWJsZV9zaGlmdCA9IE1YQ19DQ01fQ0dSMF9TRF9NTUMyX09GRlNFVCwKKwkgLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIHNzaV9jbGtbXSA9IHsKKwl7CisJIC5uYW1lID0gInNzaV9jbGsiLAorCSAucGFyZW50ID0gJnNlcmlhbF9wbGxfY2xrLAorCSAuZ2V0X3JhdGUgPSBfY2xrX3NzaTFfZ2V0X3JhdGUsCisJIC5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkgLmVuYWJsZV9yZWcgPSBNWENfQ0NNX0NHUjAsCisJIC5lbmFibGVfc2hpZnQgPSBNWENfQ0NNX0NHUjBfU1NJMV9PRkZTRVQsCisJIC5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLH0sCisJeworCSAubmFtZSA9ICJzc2lfY2xrIiwKKwkgLmlkID0gMSwKKwkgLnBhcmVudCA9ICZzZXJpYWxfcGxsX2NsaywKKwkgLmdldF9yYXRlID0gX2Nsa19zc2kyX2dldF9yYXRlLAorCSAuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJIC5lbmFibGVfcmVnID0gTVhDX0NDTV9DR1IyLAorCSAuZW5hYmxlX3NoaWZ0ID0gTVhDX0NDTV9DR1IyX1NTSTJfT0ZGU0VULAorCSAuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSx9LAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgZmlyaV9jbGsgPSB7CisJLm5hbWUgPSAiZmlyaV9jbGsiLAorCS5wYXJlbnQgPSAmdXNiX3BsbF9jbGssCisJLnJvdW5kX3JhdGUgPSBfY2xrX2Zpcmlfcm91bmRfcmF0ZSwKKwkuc2V0X3JhdGUgPSBfY2xrX2Zpcmlfc2V0X3JhdGUsCisJLmdldF9yYXRlID0gX2Nsa19maXJpX2dldF9yYXRlLAorCS5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkuZW5hYmxlX3JlZyA9IE1YQ19DQ01fQ0dSMiwKKwkuZW5hYmxlX3NoaWZ0ID0gTVhDX0NDTV9DR1IyX0ZJUklfT0ZGU0VULAorCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgYXRhX2NsayA9IHsKKwkubmFtZSA9ICJhdGFfY2xrIiwKKwkucGFyZW50ID0gJmlwZ19jbGssCisJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCS5lbmFibGVfcmVnID0gTVhDX0NDTV9DR1IwLAorCS5lbmFibGVfc2hpZnQgPSBNWENfQ0NNX0NHUjBfQVRBX09GRlNFVCwKKwkuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIG1ieF9jbGsgPSB7CisJLm5hbWUgPSAibWJ4X2NsayIsCisJLnBhcmVudCA9ICZhaGJfY2xrLAorCS5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkuZW5hYmxlX3JlZyA9IE1YQ19DQ01fQ0dSMiwKKwkuZW5hYmxlX3NoaWZ0ID0gTVhDX0NDTV9DR1IyX0dBQ0NfT0ZGU0VULAorCS5nZXRfcmF0ZSA9IF9jbGtfbWJ4X2dldF9yYXRlLAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgdnB1X2NsayA9IHsKKwkubmFtZSA9ICJ2cHVfY2xrIiwKKwkucGFyZW50ID0gJmFoYl9jbGssCisJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCS5lbmFibGVfcmVnID0gTVhDX0NDTV9DR1IyLAorCS5lbmFibGVfc2hpZnQgPSBNWENfQ0NNX0NHUjJfR0FDQ19PRkZTRVQsCisJLmdldF9yYXRlID0gX2Nsa19tYnhfZ2V0X3JhdGUsCit9OworCitzdGF0aWMgc3RydWN0IGNsayBydGljX2NsayA9IHsKKwkubmFtZSA9ICJydGljX2NsayIsCisJLnBhcmVudCA9ICZhaGJfY2xrLAorCS5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkuZW5hYmxlX3JlZyA9IE1YQ19DQ01fQ0dSMiwKKwkuZW5hYmxlX3NoaWZ0ID0gTVhDX0NDTV9DR1IyX1JUSUNfT0ZGU0VULAorCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgcm5nX2NsayA9IHsKKwkubmFtZSA9ICJybmdfY2xrIiwKKwkucGFyZW50ID0gJmlwZ19jbGssCisJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCS5lbmFibGVfcmVnID0gTVhDX0NDTV9DR1IwLAorCS5lbmFibGVfc2hpZnQgPSBNWENfQ0NNX0NHUjBfUk5HX09GRlNFVCwKKwkuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIHNkbWFfY2xrW10gPSB7CisJeworCSAubmFtZSA9ICJzZG1hX2FoYl9jbGsiLAorCSAucGFyZW50ID0gJmFoYl9jbGssCisJIC5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkgLmVuYWJsZV9yZWcgPSBNWENfQ0NNX0NHUjAsCisJIC5lbmFibGVfc2hpZnQgPSBNWENfQ0NNX0NHUjBfU0RNQV9PRkZTRVQsCisJIC5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLH0sCisJeworCSAubmFtZSA9ICJzZG1hX2lwZ19jbGsiLAorCSAucGFyZW50ID0gJmlwZ19jbGssfQorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgbXBlZzRfY2xrID0geworCS5uYW1lID0gIm1wZWc0X2NsayIsCisJLnBhcmVudCA9ICZhaGJfY2xrLAorCS5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkuZW5hYmxlX3JlZyA9IE1YQ19DQ01fQ0dSMSwKKwkuZW5hYmxlX3NoaWZ0ID0gTVhDX0NDTV9DR1IxX0hBTlRST19PRkZTRVQsCisJLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsCit9OworCitzdGF0aWMgc3RydWN0IGNsayB2bDJjY19jbGsgPSB7CisJLm5hbWUgPSAidmwyY2NfY2xrIiwKKwkucGFyZW50ID0gJmFoYl9jbGssCisJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCS5lbmFibGVfcmVnID0gTVhDX0NDTV9DR1IxLAorCS5lbmFibGVfc2hpZnQgPSBNWENfQ0NNX0NHUjFfSEFOVFJPX09GRlNFVCwKKwkuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIG1zdGlja19jbGtbXSA9IHsKKwl7CisJIC5uYW1lID0gIm1zdGlja19jbGsiLAorCSAuaWQgPSAwLAorCSAucGFyZW50ID0gJnVzYl9wbGxfY2xrLAorCSAuZ2V0X3JhdGUgPSBfY2xrX21zdGljazFfZ2V0X3JhdGUsCisJIC5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkgLmVuYWJsZV9yZWcgPSBNWENfQ0NNX0NHUjEsCisJIC5lbmFibGVfc2hpZnQgPSBNWENfQ0NNX0NHUjFfTUVNU1RJQ0sxX09GRlNFVCwKKwkgLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsfSwKKwl7CisJIC5uYW1lID0gIm1zdGlja19jbGsiLAorCSAuaWQgPSAxLAorCSAucGFyZW50ID0gJnVzYl9wbGxfY2xrLAorCSAuZ2V0X3JhdGUgPSBfY2xrX21zdGljazJfZ2V0X3JhdGUsCisJIC5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkgLmVuYWJsZV9yZWcgPSBNWENfQ0NNX0NHUjEsCisJIC5lbmFibGVfc2hpZnQgPSBNWENfQ0NNX0NHUjFfTUVNU1RJQ0syX09GRlNFVCwKKwkgLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIGlpbV9jbGsgPSB7CisJLm5hbWUgPSAiaWltX2NsayIsCisJLnBhcmVudCA9ICZpcGdfY2xrLAorCS5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkuZW5hYmxlX3JlZyA9IE1YQ19DQ01fQ0dSMCwKKwkuZW5hYmxlX3NoaWZ0ID0gTVhDX0NDTV9DR1IwX0lJTV9PRkZTRVQsCisJLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsCit9OworCitzdGF0aWMgdW5zaWduZWQgbG9uZyBfY2xrX2NrbzFfcm91bmRfcmF0ZShzdHJ1Y3QgY2xrICpjbGssIHVuc2lnbmVkIGxvbmcgcmF0ZSkKK3sKKwl1MzIgZGl2LCBwYXJlbnQgPSBjbGtfZ2V0X3JhdGUoY2xrLT5wYXJlbnQpOworCisJZGl2ID0gcGFyZW50IC8gcmF0ZTsKKwlpZiAocGFyZW50ICUgcmF0ZSkKKwkJZGl2Kys7CisKKwlpZiAoZGl2ID4gOCkKKwkJZGl2ID0gMTY7CisJZWxzZSBpZiAoZGl2ID4gNCkKKwkJZGl2ID0gODsKKwllbHNlIGlmIChkaXYgPiAyKQorCQlkaXYgPSA0OworCisJcmV0dXJuIHBhcmVudCAvIGRpdjsKK30KKworc3RhdGljIGludCBfY2xrX2NrbzFfc2V0X3JhdGUoc3RydWN0IGNsayAqY2xrLCB1bnNpZ25lZCBsb25nIHJhdGUpCit7CisJdTMyIHJlZywgZGl2LCBwYXJlbnQgPSBjbGtfZ2V0X3JhdGUoY2xrLT5wYXJlbnQpOworCisJZGl2ID0gcGFyZW50IC8gcmF0ZTsKKworCWlmIChkaXYgPT0gMTYpCisJCWRpdiA9IDQ7CisJZWxzZSBpZiAoZGl2ID09IDgpCisJCWRpdiA9IDM7CisJZWxzZSBpZiAoZGl2ID09IDQpCisJCWRpdiA9IDI7CisJZWxzZSBpZiAoZGl2ID09IDIpCisJCWRpdiA9IDE7CisJZWxzZSBpZiAoZGl2ID09IDEpCisJCWRpdiA9IDA7CisJZWxzZQorCQlyZXR1cm4gLUVJTlZBTDsKKworCXJlZyA9IF9fcmF3X3JlYWRsKE1YQ19DQ01fQ09TUikgJiB+TVhDX0NDTV9DT1NSX0NMS09VVERJVl9NQVNLOworCXJlZyB8PSBkaXYgPDwgTVhDX0NDTV9DT1NSX0NMS09VVERJVl9PRkZTRVQ7CisJX19yYXdfd3JpdGVsKHJlZywgTVhDX0NDTV9DT1NSKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgdW5zaWduZWQgbG9uZyBfY2xrX2NrbzFfZ2V0X3JhdGUoc3RydWN0IGNsayAqY2xrKQoreworCXUzMiBkaXY7CisKKwlkaXYgPSBfX3Jhd19yZWFkbChNWENfQ0NNX0NPU1IpICYgTVhDX0NDTV9DT1NSX0NMS09VVERJVl9NQVNLID4+CisJICAgIE1YQ19DQ01fQ09TUl9DTEtPVVRESVZfT0ZGU0VUOworCisJcmV0dXJuIGNsa19nZXRfcmF0ZShjbGstPnBhcmVudCkgLyAoMSA8PCBkaXYpOworfQorCitzdGF0aWMgaW50IF9jbGtfY2tvMV9zZXRfcGFyZW50KHN0cnVjdCBjbGsgKmNsaywgc3RydWN0IGNsayAqcGFyZW50KQoreworCXUzMiByZWc7CisKKwlyZWcgPSBfX3Jhd19yZWFkbChNWENfQ0NNX0NPU1IpICYgfk1YQ19DQ01fQ09TUl9DTEtPU0VMX01BU0s7CisKKwlpZiAocGFyZW50ID09ICZtY3VfbWFpbl9jbGspCisJCXJlZyB8PSAwIDw8IE1YQ19DQ01fQ09TUl9DTEtPU0VMX09GRlNFVDsKKwllbHNlIGlmIChwYXJlbnQgPT0gJmlwZ19jbGspCisJCXJlZyB8PSAxIDw8IE1YQ19DQ01fQ09TUl9DTEtPU0VMX09GRlNFVDsKKwllbHNlIGlmIChwYXJlbnQgPT0gJnVzYl9wbGxfY2xrKQorCQlyZWcgfD0gMiA8PCBNWENfQ0NNX0NPU1JfQ0xLT1NFTF9PRkZTRVQ7CisJZWxzZSBpZiAocGFyZW50ID09IG1jdV9tYWluX2Nsay5wYXJlbnQpCisJCXJlZyB8PSAzIDw8IE1YQ19DQ01fQ09TUl9DTEtPU0VMX09GRlNFVDsKKwllbHNlIGlmIChwYXJlbnQgPT0gJmFoYl9jbGspCisJCXJlZyB8PSA1IDw8IE1YQ19DQ01fQ09TUl9DTEtPU0VMX09GRlNFVDsKKwllbHNlIGlmIChwYXJlbnQgPT0gJnNlcmlhbF9wbGxfY2xrKQorCQlyZWcgfD0gNyA8PCBNWENfQ0NNX0NPU1JfQ0xLT1NFTF9PRkZTRVQ7CisJZWxzZSBpZiAocGFyZW50ID09ICZja2loX2NsaykKKwkJcmVnIHw9IDggPDwgTVhDX0NDTV9DT1NSX0NMS09TRUxfT0ZGU0VUOworCWVsc2UgaWYgKHBhcmVudCA9PSAmZW1pX2NsaykKKwkJcmVnIHw9IDkgPDwgTVhDX0NDTV9DT1NSX0NMS09TRUxfT0ZGU0VUOworCWVsc2UgaWYgKHBhcmVudCA9PSAmaXB1X2NsaykKKwkJcmVnIHw9IDB4QSA8PCBNWENfQ0NNX0NPU1JfQ0xLT1NFTF9PRkZTRVQ7CisJZWxzZSBpZiAocGFyZW50ID09ICZuZmNfY2xrKQorCQlyZWcgfD0gMHhCIDw8IE1YQ19DQ01fQ09TUl9DTEtPU0VMX09GRlNFVDsKKwllbHNlIGlmIChwYXJlbnQgPT0gJnVhcnRfY2xrWzBdKQorCQlyZWcgfD0gMHhDIDw8IE1YQ19DQ01fQ09TUl9DTEtPU0VMX09GRlNFVDsKKwllbHNlCisJCXJldHVybiAtRUlOVkFMOworCisJX19yYXdfd3JpdGVsKHJlZywgTVhDX0NDTV9DT1NSKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IF9jbGtfY2tvMV9lbmFibGUoc3RydWN0IGNsayAqY2xrKQoreworCXUzMiByZWc7CisKKwlyZWcgPSBfX3Jhd19yZWFkbChNWENfQ0NNX0NPU1IpIHwgTVhDX0NDTV9DT1NSX0NMS09FTjsKKwlfX3Jhd193cml0ZWwocmVnLCBNWENfQ0NNX0NPU1IpOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIF9jbGtfY2tvMV9kaXNhYmxlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwl1MzIgcmVnOworCisJcmVnID0gX19yYXdfcmVhZGwoTVhDX0NDTV9DT1NSKSAmIH5NWENfQ0NNX0NPU1JfQ0xLT0VOOworCV9fcmF3X3dyaXRlbChyZWcsIE1YQ19DQ01fQ09TUik7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIGNrbzFfY2xrID0geworCS5uYW1lID0gImNrbzFfY2xrIiwKKwkuZ2V0X3JhdGUgPSBfY2xrX2NrbzFfZ2V0X3JhdGUsCisJLnNldF9yYXRlID0gX2Nsa19ja28xX3NldF9yYXRlLAorCS5yb3VuZF9yYXRlID0gX2Nsa19ja28xX3JvdW5kX3JhdGUsCisJLnNldF9wYXJlbnQgPSBfY2xrX2NrbzFfc2V0X3BhcmVudCwKKwkuZW5hYmxlID0gX2Nsa19ja28xX2VuYWJsZSwKKwkuZGlzYWJsZSA9IF9jbGtfY2tvMV9kaXNhYmxlLAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgKm14Y19jbGtzW10gPSB7CisJJmNraWhfY2xrLAorCSZja2lsX2NsaywKKwkmbWN1X3BsbF9jbGssCisJJnVzYl9wbGxfY2xrLAorCSZzZXJpYWxfcGxsX2NsaywKKwkmbWN1X21haW5fY2xrLAorCSZhaGJfY2xrLAorCSZwZXJfY2xrLAorCSZwZXJjbGtfY2xrLAorCSZja28xX2NsaywKKwkmZW1pX2NsaywKKwkmY3NwaV9jbGtbMF0sCisJJmNzcGlfY2xrWzFdLAorCSZjc3BpX2Nsa1syXSwKKwkmaXBnX2NsaywKKwkmZ3B0X2NsaywKKwkmcHdtX2NsaywKKwkmd2RvZ19jbGssCisJJnJ0Y19jbGssCisJJmVwaXRfY2xrWzBdLAorCSZlcGl0X2Nsa1sxXSwKKwkmbmZjX2NsaywKKwkmaXB1X2NsaywKKwkma3BwX2NsaywKKwkmdXNiX2Nsa1swXSwKKwkmdXNiX2Nsa1sxXSwKKwkmY3NpX2NsaywKKwkmdWFydF9jbGtbMF0sCisJJnVhcnRfY2xrWzFdLAorCSZ1YXJ0X2Nsa1syXSwKKwkmdWFydF9jbGtbM10sCisJJnVhcnRfY2xrWzRdLAorCSZpMmNfY2xrWzBdLAorCSZpMmNfY2xrWzFdLAorCSZpMmNfY2xrWzJdLAorCSZvd2lyZV9jbGssCisJJnNkaGNfY2xrWzBdLAorCSZzZGhjX2Nsa1sxXSwKKwkmc3NpX2Nsa1swXSwKKwkmc3NpX2Nsa1sxXSwKKwkmZmlyaV9jbGssCisJJmF0YV9jbGssCisJJnJ0aWNfY2xrLAorCSZybmdfY2xrLAorCSZzZG1hX2Nsa1swXSwKKwkmc2RtYV9jbGtbMV0sCisJJm1zdGlja19jbGtbMF0sCisJJm1zdGlja19jbGtbMV0sCisJJnNjY19jbGssCisJJmlpbV9jbGssCit9OworCitpbnQgX19pbml0IG14Y19jbG9ja3NfaW5pdCh1bnNpZ25lZCBsb25nIGZyZWYpCit7CisJdTMyIHJlZzsKKwlzdHJ1Y3QgY2xrICoqY2xrcDsKKworCWNraWhfcmF0ZSA9IGZyZWY7CisKKwlmb3IgKGNsa3AgPSBteGNfY2xrczsgY2xrcCA8IG14Y19jbGtzICsgQVJSQVlfU0laRShteGNfY2xrcyk7IGNsa3ArKykKKwkJY2xrX3JlZ2lzdGVyKCpjbGtwKTsKKworCWlmIChjcHVfaXNfbXgzMSgpKSB7CisJCWNsa19yZWdpc3RlcigmbXBlZzRfY2xrKTsKKwkJY2xrX3JlZ2lzdGVyKCZtYnhfY2xrKTsKKwl9IGVsc2UgeworCQljbGtfcmVnaXN0ZXIoJnZwdV9jbGspOworCQljbGtfcmVnaXN0ZXIoJnZsMmNjX2Nsayk7CisJfQorCisJLyogVHVybiBvZmYgYWxsIHBvc3NpYmxlIGNsb2NrcyAqLworCV9fcmF3X3dyaXRlbChNWENfQ0NNX0NHUjBfR1BUX01BU0ssIE1YQ19DQ01fQ0dSMCk7CisJX19yYXdfd3JpdGVsKDAsIE1YQ19DQ01fQ0dSMSk7CisKKwlfX3Jhd193cml0ZWwoTVhDX0NDTV9DR1IyX0VNSV9NQVNLIHwKKwkJICAgICBNWENfQ0NNX0NHUjJfSVBNVVgxX01BU0sgfAorCQkgICAgIE1YQ19DQ01fQ0dSMl9JUE1VWDJfTUFTSyB8CisJCSAgICAgTVhDX0NDTV9DR1IyX01YQ0NMS0VOU0VMX01BU0sgfAkvKiBmb3IgTVgzMiAqLworCQkgICAgIE1YQ19DQ01fQ0dSMl9DSElLQ0FNUEVOX01BU0sgfAkvKiBmb3IgTVgzMiAqLworCQkgICAgIE1YQ19DQ01fQ0dSMl9PVlJWUFVCVVNZX01BU0sgfAkvKiBmb3IgTVgzMiAqLworCQkgICAgIDEgPDwgMjcgfCAxIDw8IDI4LCAvKiBCaXQgMjcgYW5kIDI4IGFyZSBub3QgZGVmaW5lZCBmb3IKKwkJCQkJICAgTVgzMiwgYnV0IHN0aWxsIHJlcXVpcmVkIHRvIGJlIHNldCAqLworCQkgICAgIE1YQ19DQ01fQ0dSMik7CisKKwljbGtfZGlzYWJsZSgmY2tvMV9jbGspOworCWNsa19kaXNhYmxlKCZ1c2JfcGxsX2Nsayk7CisKKwlwcl9pbmZvKCJDbG9jayBpbnB1dCBzb3VyY2UgaXMgJWxkXG4iLCBjbGtfZ2V0X3JhdGUoJmNraWhfY2xrKSk7CisKKwljbGtfZW5hYmxlKCZncHRfY2xrKTsKKwljbGtfZW5hYmxlKCZlbWlfY2xrKTsKKwljbGtfZW5hYmxlKCZpaW1fY2xrKTsKKworCWNsa19lbmFibGUoJnNlcmlhbF9wbGxfY2xrKTsKKworCWlmIChteDMxX3JldmlzaW9uKCkgPj0gQ0hJUF9SRVZfMl8wKSB7CisJCXJlZyA9IF9fcmF3X3JlYWRsKE1YQ19DQ01fUE1DUjEpOworCQkvKiBObyBQTEwgcmVzdGFydCBvbiBEVkZTIHN3aXRjaDsgZW5hYmxlIGF1dG8gRU1JIGhhbmRzaGFrZSAqLworCQlyZWcgfD0gTVhDX0NDTV9QTUNSMV9QTExSRElTIHwgTVhDX0NDTV9QTUNSMV9FTUlSUV9FTjsKKwkJX19yYXdfd3JpdGVsKHJlZywgTVhDX0NDTV9QTUNSMSk7CisJfQorCisJcmV0dXJuIDA7Cit9CisKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtbXgzL2NybV9yZWdzLmggYi9hcmNoL2FybS9tYWNoLW14My9jcm1fcmVncy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRhMGUwZWQKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLW14My9jcm1fcmVncy5oCkBAIC0wLDAgKzEsNDAxIEBACisvKgorICogQ29weXJpZ2h0IDIwMDQtMjAwNyBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA4IGJ5IFNhc2NoYSBIYXVlciA8a2VybmVsQHBlbmd1dHJvbml4LmRlPgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMgorICogb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLAorICogTUEgMDIxMTAtMTMwMSwgVVNBLgorICovCisKKyNpZm5kZWYgX19BUkNIX0FSTV9NQUNIX01YM19DUk1fUkVHU19IX18KKyNkZWZpbmUgX19BUkNIX0FSTV9NQUNIX01YM19DUk1fUkVHU19IX18KKworI2RlZmluZSBDS0lIX0NMS19GUkVRICAgICAgICAgICAyNjAwMDAwMAorI2RlZmluZSBDS0lIX0NMS19GUkVRXzI3TUhaICAgICAyNzAwMDAwMAorI2RlZmluZSBDS0lMX0NMS19GUkVRICAgICAgICAgICAzMjc2OAorCisjZGVmaW5lIE1YQ19DQ01fQkFTRQkJSU9fQUREUkVTUyhDQ01fQkFTRV9BRERSKQorCisvKiBSZWdpc3RlciBhZGRyZXNzZXMgKi8KKyNkZWZpbmUgTVhDX0NDTV9DQ01SCQkoTVhDX0NDTV9CQVNFICsgMHgwMCkKKyNkZWZpbmUgTVhDX0NDTV9QRFIwCQkoTVhDX0NDTV9CQVNFICsgMHgwNCkKKyNkZWZpbmUgTVhDX0NDTV9QRFIxCQkoTVhDX0NDTV9CQVNFICsgMHgwOCkKKyNkZWZpbmUgTVhDX0NDTV9SQ1NSCQkoTVhDX0NDTV9CQVNFICsgMHgwQykKKyNkZWZpbmUgTVhDX0NDTV9NUENUTAkJKE1YQ19DQ01fQkFTRSArIDB4MTApCisjZGVmaW5lIE1YQ19DQ01fVVBDVEwJCShNWENfQ0NNX0JBU0UgKyAweDE0KQorI2RlZmluZSBNWENfQ0NNX1NSUENUTAkJKE1YQ19DQ01fQkFTRSArIDB4MTgpCisjZGVmaW5lIE1YQ19DQ01fQ09TUgkJKE1YQ19DQ01fQkFTRSArIDB4MUMpCisjZGVmaW5lIE1YQ19DQ01fQ0dSMAkJKE1YQ19DQ01fQkFTRSArIDB4MjApCisjZGVmaW5lIE1YQ19DQ01fQ0dSMQkJKE1YQ19DQ01fQkFTRSArIDB4MjQpCisjZGVmaW5lIE1YQ19DQ01fQ0dSMgkJKE1YQ19DQ01fQkFTRSArIDB4MjgpCisjZGVmaW5lIE1YQ19DQ01fV0lNUgkJKE1YQ19DQ01fQkFTRSArIDB4MkMpCisjZGVmaW5lIE1YQ19DQ01fTERDCQkoTVhDX0NDTV9CQVNFICsgMHgzMCkKKyNkZWZpbmUgTVhDX0NDTV9EQ1ZSMAkJKE1YQ19DQ01fQkFTRSArIDB4MzQpCisjZGVmaW5lIE1YQ19DQ01fRENWUjEJCShNWENfQ0NNX0JBU0UgKyAweDM4KQorI2RlZmluZSBNWENfQ0NNX0RDVlIyCQkoTVhDX0NDTV9CQVNFICsgMHgzQykKKyNkZWZpbmUgTVhDX0NDTV9EQ1ZSMwkJKE1YQ19DQ01fQkFTRSArIDB4NDApCisjZGVmaW5lIE1YQ19DQ01fTFRSMAkJKE1YQ19DQ01fQkFTRSArIDB4NDQpCisjZGVmaW5lIE1YQ19DQ01fTFRSMQkJKE1YQ19DQ01fQkFTRSArIDB4NDgpCisjZGVmaW5lIE1YQ19DQ01fTFRSMgkJKE1YQ19DQ01fQkFTRSArIDB4NEMpCisjZGVmaW5lIE1YQ19DQ01fTFRSMwkJKE1YQ19DQ01fQkFTRSArIDB4NTApCisjZGVmaW5lIE1YQ19DQ01fTFRCUjAJCShNWENfQ0NNX0JBU0UgKyAweDU0KQorI2RlZmluZSBNWENfQ0NNX0xUQlIxCQkoTVhDX0NDTV9CQVNFICsgMHg1OCkKKyNkZWZpbmUgTVhDX0NDTV9QTUNSMAkJKE1YQ19DQ01fQkFTRSArIDB4NUMpCisjZGVmaW5lIE1YQ19DQ01fUE1DUjEJCShNWENfQ0NNX0JBU0UgKyAweDYwKQorI2RlZmluZSBNWENfQ0NNX1BEUjIJCShNWENfQ0NNX0JBU0UgKyAweDY0KQorCisvKiBSZWdpc3RlciBiaXQgZGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgTVhDX0NDTV9DQ01SX1dCRU4gICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDI3KQorI2RlZmluZSBNWENfQ0NNX0NDTVJfQ1NDUyAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMjUpCisjZGVmaW5lIE1YQ19DQ01fQ0NNUl9QRVJDUyAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAyNCkKKyNkZWZpbmUgTVhDX0NDTV9DQ01SX1NTSTFTX09GRlNFVCAgICAgICAgICAgICAgIDE4CisjZGVmaW5lIE1YQ19DQ01fQ0NNUl9TU0kxU19NQVNLICAgICAgICAgICAgICAgICAoMHgzIDw8IDE4KQorI2RlZmluZSBNWENfQ0NNX0NDTVJfU1NJMlNfT0ZGU0VUICAgICAgICAgICAgICAgMjEKKyNkZWZpbmUgTVhDX0NDTV9DQ01SX1NTSTJTX01BU0sgICAgICAgICAgICAgICAgICgweDMgPDwgMjEpCisjZGVmaW5lIE1YQ19DQ01fQ0NNUl9MUE1fT0ZGU0VUICAgICAgICAgICAgICAgICAxNAorI2RlZmluZSBNWENfQ0NNX0NDTVJfTFBNX01BU0sgICAgICAgICAgICAgICAgICAgKDB4MyA8PCAxNCkKKyNkZWZpbmUgTVhDX0NDTV9DQ01SX0ZJUlNfT0ZGU0VUICAgICAgICAgICAgICAgIDExCisjZGVmaW5lIE1YQ19DQ01fQ0NNUl9GSVJTX01BU0sgICAgICAgICAgICAgICAgICAoMHgzIDw8IDExKQorI2RlZmluZSBNWENfQ0NNX0NDTVJfVVBFICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgOSkKKyNkZWZpbmUgTVhDX0NDTV9DQ01SX1NQRSAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDgpCisjZGVmaW5lIE1YQ19DQ01fQ0NNUl9NRFMgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCA3KQorI2RlZmluZSBNWENfQ0NNX0NDTVJfU0JZQ1MgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgNCkKKyNkZWZpbmUgTVhDX0NDTV9DQ01SX01QRSAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDMpCisjZGVmaW5lIE1YQ19DQ01fQ0NNUl9QUkNTX09GRlNFVCAgICAgICAgICAgICAgICAxCisjZGVmaW5lIE1YQ19DQ01fQ0NNUl9QUkNTX01BU0sgICAgICAgICAgICAgICAgICAoMHgzIDw8IDEpCisKKyNkZWZpbmUgTVhDX0NDTV9QRFIwX0NTSV9QT0RGX09GRlNFVCAgICAgICAgICAgIDI2CisjZGVmaW5lIE1YQ19DQ01fUERSMF9DU0lfUE9ERl9NQVNLICAgICAgICAgICAgICAoMHgzRiA8PCAyNikKKyNkZWZpbmUgTVhDX0NDTV9QRFIwX0NTSV9QUkRGX09GRlNFVCAgICAgICAgICAgIDIzCisjZGVmaW5lIE1YQ19DQ01fUERSMF9DU0lfUFJERl9NQVNLICAgICAgICAgICAgICAoMHg3IDw8IDIzKQorI2RlZmluZSBNWENfQ0NNX1BEUjBfUEVSX1BPREZfT0ZGU0VUICAgICAgICAgICAgMTYKKyNkZWZpbmUgTVhDX0NDTV9QRFIwX1BFUl9QT0RGX01BU0sgICAgICAgICAgICAgICgweDFGIDw8IDE2KQorI2RlZmluZSBNWENfQ0NNX1BEUjBfSFNQX1BPREZfT0ZGU0VUICAgICAgICAgICAgMTEKKyNkZWZpbmUgTVhDX0NDTV9QRFIwX0hTUF9QT0RGX01BU0sgICAgICAgICAgICAgICgweDcgPDwgMTEpCisjZGVmaW5lIE1YQ19DQ01fUERSMF9ORkNfUE9ERl9PRkZTRVQgICAgICAgICAgICA4CisjZGVmaW5lIE1YQ19DQ01fUERSMF9ORkNfUE9ERl9NQVNLICAgICAgICAgICAgICAoMHg3IDw8IDgpCisjZGVmaW5lIE1YQ19DQ01fUERSMF9JUEdfUE9ERl9PRkZTRVQgICAgICAgICAgICA2CisjZGVmaW5lIE1YQ19DQ01fUERSMF9JUEdfUE9ERl9NQVNLICAgICAgICAgICAgICAoMHgzIDw8IDYpCisjZGVmaW5lIE1YQ19DQ01fUERSMF9NQVhfUE9ERl9PRkZTRVQgICAgICAgICAgICAzCisjZGVmaW5lIE1YQ19DQ01fUERSMF9NQVhfUE9ERl9NQVNLICAgICAgICAgICAgICAoMHg3IDw8IDMpCisjZGVmaW5lIE1YQ19DQ01fUERSMF9NQ1VfUE9ERl9PRkZTRVQgICAgICAgICAgICAwCisjZGVmaW5lIE1YQ19DQ01fUERSMF9NQ1VfUE9ERl9NQVNLICAgICAgICAgICAgICAweDcKKworI2RlZmluZSBNWENfQ0NNX1BEUjBfSFNQX0RJVl8xICAgICAgICAgICAgICAgICAgKDB4MCA8PCAxMSkKKyNkZWZpbmUgTVhDX0NDTV9QRFIwX0hTUF9ESVZfMiAgICAgICAgICAgICAgICAgICgweDEgPDwgMTEpCisjZGVmaW5lIE1YQ19DQ01fUERSMF9IU1BfRElWXzMgICAgICAgICAgICAgICAgICAoMHgyIDw8IDExKQorI2RlZmluZSBNWENfQ0NNX1BEUjBfSFNQX0RJVl80ICAgICAgICAgICAgICAgICAgKDB4MyA8PCAxMSkKKyNkZWZpbmUgTVhDX0NDTV9QRFIwX0hTUF9ESVZfNSAgICAgICAgICAgICAgICAgICgweDQgPDwgMTEpCisjZGVmaW5lIE1YQ19DQ01fUERSMF9IU1BfRElWXzYgICAgICAgICAgICAgICAgICAoMHg1IDw8IDExKQorI2RlZmluZSBNWENfQ0NNX1BEUjBfSFNQX0RJVl83ICAgICAgICAgICAgICAgICAgKDB4NiA8PCAxMSkKKyNkZWZpbmUgTVhDX0NDTV9QRFIwX0hTUF9ESVZfOCAgICAgICAgICAgICAgICAgICgweDcgPDwgMTEpCisKKyNkZWZpbmUgTVhDX0NDTV9QRFIwX0lQR19ESVZfMSAgICAgICAgICAgICAgICAgICgweDAgPDwgNikKKyNkZWZpbmUgTVhDX0NDTV9QRFIwX0lQR19ESVZfMiAgICAgICAgICAgICAgICAgICgweDEgPDwgNikKKyNkZWZpbmUgTVhDX0NDTV9QRFIwX0lQR19ESVZfMyAgICAgICAgICAgICAgICAgICgweDIgPDwgNikKKyNkZWZpbmUgTVhDX0NDTV9QRFIwX0lQR19ESVZfNCAgICAgICAgICAgICAgICAgICgweDMgPDwgNikKKworI2RlZmluZSBNWENfQ0NNX1BEUjBfTUFYX0RJVl8xICAgICAgICAgICAgICAgICAgKDB4MCA8PCAzKQorI2RlZmluZSBNWENfQ0NNX1BEUjBfTUFYX0RJVl8yICAgICAgICAgICAgICAgICAgKDB4MSA8PCAzKQorI2RlZmluZSBNWENfQ0NNX1BEUjBfTUFYX0RJVl8zICAgICAgICAgICAgICAgICAgKDB4MiA8PCAzKQorI2RlZmluZSBNWENfQ0NNX1BEUjBfTUFYX0RJVl80ICAgICAgICAgICAgICAgICAgKDB4MyA8PCAzKQorI2RlZmluZSBNWENfQ0NNX1BEUjBfTUFYX0RJVl81ICAgICAgICAgICAgICAgICAgKDB4NCA8PCAzKQorI2RlZmluZSBNWENfQ0NNX1BEUjBfTUFYX0RJVl82ICAgICAgICAgICAgICAgICAgKDB4NSA8PCAzKQorI2RlZmluZSBNWENfQ0NNX1BEUjBfTUFYX0RJVl83ICAgICAgICAgICAgICAgICAgKDB4NiA8PCAzKQorI2RlZmluZSBNWENfQ0NNX1BEUjBfTUFYX0RJVl84ICAgICAgICAgICAgICAgICAgKDB4NyA8PCAzKQorCisjZGVmaW5lIE1YQ19DQ01fUERSMF9ORkNfRElWXzEgICAgICAgICAgICAgICAgICAoMHgwIDw8IDgpCisjZGVmaW5lIE1YQ19DQ01fUERSMF9ORkNfRElWXzIgICAgICAgICAgICAgICAgICAoMHgxIDw8IDgpCisjZGVmaW5lIE1YQ19DQ01fUERSMF9ORkNfRElWXzMgICAgICAgICAgICAgICAgICAoMHgyIDw8IDgpCisjZGVmaW5lIE1YQ19DQ01fUERSMF9ORkNfRElWXzQgICAgICAgICAgICAgICAgICAoMHgzIDw8IDgpCisjZGVmaW5lIE1YQ19DQ01fUERSMF9ORkNfRElWXzUgICAgICAgICAgICAgICAgICAoMHg0IDw8IDgpCisjZGVmaW5lIE1YQ19DQ01fUERSMF9ORkNfRElWXzYgICAgICAgICAgICAgICAgICAoMHg1IDw8IDgpCisjZGVmaW5lIE1YQ19DQ01fUERSMF9ORkNfRElWXzcgICAgICAgICAgICAgICAgICAoMHg2IDw8IDgpCisjZGVmaW5lIE1YQ19DQ01fUERSMF9ORkNfRElWXzggICAgICAgICAgICAgICAgICAoMHg3IDw8IDgpCisKKyNkZWZpbmUgTVhDX0NDTV9QRFIwX01DVV9ESVZfMSAgICAgICAgICAgICAgICAgIDB4MAorI2RlZmluZSBNWENfQ0NNX1BEUjBfTUNVX0RJVl8yICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1YQ19DQ01fUERSMF9NQ1VfRElWXzMgICAgICAgICAgICAgICAgICAweDIKKyNkZWZpbmUgTVhDX0NDTV9QRFIwX01DVV9ESVZfNCAgICAgICAgICAgICAgICAgIDB4MworI2RlZmluZSBNWENfQ0NNX1BEUjBfTUNVX0RJVl81ICAgICAgICAgICAgICAgICAgMHg0CisjZGVmaW5lIE1YQ19DQ01fUERSMF9NQ1VfRElWXzYgICAgICAgICAgICAgICAgICAweDUKKyNkZWZpbmUgTVhDX0NDTV9QRFIwX01DVV9ESVZfNyAgICAgICAgICAgICAgICAgIDB4NgorI2RlZmluZSBNWENfQ0NNX1BEUjBfTUNVX0RJVl84ICAgICAgICAgICAgICAgICAgMHg3CisKKyNkZWZpbmUgTVhDX0NDTV9QRFIxX1VTQl9QUkRGX09GRlNFVCAgICAgICAgICAgIDMwCisjZGVmaW5lIE1YQ19DQ01fUERSMV9VU0JfUFJERl9NQVNLICAgICAgICAgICAgICAoMHgzIDw8IDMwKQorI2RlZmluZSBNWENfQ0NNX1BEUjFfVVNCX1BPREZfT0ZGU0VUICAgICAgICAgICAgMjcKKyNkZWZpbmUgTVhDX0NDTV9QRFIxX1VTQl9QT0RGX01BU0sgICAgICAgICAgICAgICgweDcgPDwgMjcpCisjZGVmaW5lIE1YQ19DQ01fUERSMV9GSVJJX1BSRV9QT0RGX09GRlNFVCAgICAgICAyNAorI2RlZmluZSBNWENfQ0NNX1BEUjFfRklSSV9QUkVfUE9ERl9NQVNLICAgICAgICAgKDB4NyA8PCAyNCkKKyNkZWZpbmUgTVhDX0NDTV9QRFIxX0ZJUklfUE9ERl9PRkZTRVQgICAgICAgICAgIDE4CisjZGVmaW5lIE1YQ19DQ01fUERSMV9GSVJJX1BPREZfTUFTSyAgICAgICAgICAgICAoMHgzRiA8PCAxOCkKKyNkZWZpbmUgTVhDX0NDTV9QRFIxX1NTSTJfUFJFX1BPREZfT0ZGU0VUICAgICAgIDE1CisjZGVmaW5lIE1YQ19DQ01fUERSMV9TU0kyX1BSRV9QT0RGX01BU0sgICAgICAgICAoMHg3IDw8IDE1KQorI2RlZmluZSBNWENfQ0NNX1BEUjFfU1NJMl9QT0RGX09GRlNFVCAgICAgICAgICAgOQorI2RlZmluZSBNWENfQ0NNX1BEUjFfU1NJMl9QT0RGX01BU0sgICAgICAgICAgICAgKDB4M0YgPDwgOSkKKyNkZWZpbmUgTVhDX0NDTV9QRFIxX1NTSTFfUFJFX1BPREZfT0ZGU0VUICAgICAgIDYKKyNkZWZpbmUgTVhDX0NDTV9QRFIxX1NTSTFfUFJFX1BPREZfTUFTSyAgICAgICAgICgweDcgPDwgNikKKyNkZWZpbmUgTVhDX0NDTV9QRFIxX1NTSTFfUE9ERl9PRkZTRVQgICAgICAgICAgIDAKKyNkZWZpbmUgTVhDX0NDTV9QRFIxX1NTSTFfUE9ERl9NQVNLICAgICAgICAgICAgIDB4M0YKKworLyogQml0IGRlZmluaXRpb25zIGZvciBSQ1NSICovCisjZGVmaW5lIE1YQ19DQ01fUkNTUl9ORjE2QgkJCTB4ODAwMDAwMDAKKworLyogQml0IGRlZmluaXRpb25zIGZvciBib3RoIE1DVSwgVVNCIGFuZCBTUiBQTEwgY29udHJvbCByZWdpc3RlcnMgKi8KKyNkZWZpbmUgTVhDX0NDTV9QQ1RMX0JSTSAgICAgICAgICAgICAgICAgICAgICAgIDB4ODAwMDAwMDAKKyNkZWZpbmUgTVhDX0NDTV9QQ1RMX1BEX09GRlNFVCAgICAgICAgICAgICAgICAgIDI2CisjZGVmaW5lIE1YQ19DQ01fUENUTF9QRF9NQVNLICAgICAgICAgICAgICAgICAgICAoMHhGIDw8IDI2KQorI2RlZmluZSBNWENfQ0NNX1BDVExfTUZEX09GRlNFVCAgICAgICAgICAgICAgICAgMTYKKyNkZWZpbmUgTVhDX0NDTV9QQ1RMX01GRF9NQVNLICAgICAgICAgICAgICAgICAgICgweDNGRiA8PCAxNikKKyNkZWZpbmUgTVhDX0NDTV9QQ1RMX01GSV9PRkZTRVQgICAgICAgICAgICAgICAgIDEwCisjZGVmaW5lIE1YQ19DQ01fUENUTF9NRklfTUFTSyAgICAgICAgICAgICAgICAgICAoMHhGIDw8IDEwKQorI2RlZmluZSBNWENfQ0NNX1BDVExfTUZOX09GRlNFVCAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNWENfQ0NNX1BDVExfTUZOX01BU0sgICAgICAgICAgICAgICAgICAgMHgzRkYKKworI2RlZmluZSBNWENfQ0NNX0NHUjBfU0RfTU1DMV9PRkZTRVQgICAgICAgICAgICAgMAorI2RlZmluZSBNWENfQ0NNX0NHUjBfU0RfTU1DMV9NQVNLICAgICAgICAgICAgICAgKDB4MyA8PCAwKQorI2RlZmluZSBNWENfQ0NNX0NHUjBfU0RfTU1DMl9PRkZTRVQgICAgICAgICAgICAgMgorI2RlZmluZSBNWENfQ0NNX0NHUjBfU0RfTU1DMl9NQVNLICAgICAgICAgICAgICAgKDB4MyA8PCAyKQorI2RlZmluZSBNWENfQ0NNX0NHUjBfR1BUX09GRlNFVCAgICAgICAgICAgICAgICAgNAorI2RlZmluZSBNWENfQ0NNX0NHUjBfR1BUX01BU0sgICAgICAgICAgICAgICAgICAgKDB4MyA8PCA0KQorI2RlZmluZSBNWENfQ0NNX0NHUjBfRVBJVDFfT0ZGU0VUICAgICAgICAgICAgICAgNgorI2RlZmluZSBNWENfQ0NNX0NHUjBfRVBJVDFfTUFTSyAgICAgICAgICAgICAgICAgKDB4MyA8PCA2KQorI2RlZmluZSBNWENfQ0NNX0NHUjBfRVBJVDJfT0ZGU0VUICAgICAgICAgICAgICAgOAorI2RlZmluZSBNWENfQ0NNX0NHUjBfRVBJVDJfTUFTSyAgICAgICAgICAgICAgICAgKDB4MyA8PCA4KQorI2RlZmluZSBNWENfQ0NNX0NHUjBfSUlNX09GRlNFVCAgICAgICAgICAgICAgICAgMTAKKyNkZWZpbmUgTVhDX0NDTV9DR1IwX0lJTV9NQVNLICAgICAgICAgICAgICAgICAgICgweDMgPDwgMTApCisjZGVmaW5lIE1YQ19DQ01fQ0dSMF9BVEFfT0ZGU0VUICAgICAgICAgICAgICAgICAxMgorI2RlZmluZSBNWENfQ0NNX0NHUjBfQVRBX01BU0sgICAgICAgICAgICAgICAgICAgKDB4MyA8PCAxMikKKyNkZWZpbmUgTVhDX0NDTV9DR1IwX1NETUFfT0ZGU0VUICAgICAgICAgICAgICAgIDE0CisjZGVmaW5lIE1YQ19DQ01fQ0dSMF9TRE1BX01BU0sgICAgICAgICAgICAgICAgICAoMHgzIDw8IDE0KQorI2RlZmluZSBNWENfQ0NNX0NHUjBfQ1NQSTNfT0ZGU0VUICAgICAgICAgICAgICAgMTYKKyNkZWZpbmUgTVhDX0NDTV9DR1IwX0NTUEkzX01BU0sgICAgICAgICAgICAgICAgICgweDMgPDwgMTYpCisjZGVmaW5lIE1YQ19DQ01fQ0dSMF9STkdfT0ZGU0VUICAgICAgICAgICAgICAgICAxOAorI2RlZmluZSBNWENfQ0NNX0NHUjBfUk5HX01BU0sgICAgICAgICAgICAgICAgICAgKDB4MyA8PCAxOCkKKyNkZWZpbmUgTVhDX0NDTV9DR1IwX1VBUlQxX09GRlNFVCAgICAgICAgICAgICAgIDIwCisjZGVmaW5lIE1YQ19DQ01fQ0dSMF9VQVJUMV9NQVNLICAgICAgICAgICAgICAgICAoMHgzIDw8IDIwKQorI2RlZmluZSBNWENfQ0NNX0NHUjBfVUFSVDJfT0ZGU0VUICAgICAgICAgICAgICAgMjIKKyNkZWZpbmUgTVhDX0NDTV9DR1IwX1VBUlQyX01BU0sgICAgICAgICAgICAgICAgICgweDMgPDwgMjIpCisjZGVmaW5lIE1YQ19DQ01fQ0dSMF9TU0kxX09GRlNFVCAgICAgICAgICAgICAgICAyNAorI2RlZmluZSBNWENfQ0NNX0NHUjBfU1NJMV9NQVNLICAgICAgICAgICAgICAgICAgKDB4MyA8PCAyNCkKKyNkZWZpbmUgTVhDX0NDTV9DR1IwX0kyQzFfT0ZGU0VUICAgICAgICAgICAgICAgIDI2CisjZGVmaW5lIE1YQ19DQ01fQ0dSMF9JMkMxX01BU0sgICAgICAgICAgICAgICAgICAoMHgzIDw8IDI2KQorI2RlZmluZSBNWENfQ0NNX0NHUjBfSTJDMl9PRkZTRVQgICAgICAgICAgICAgICAgMjgKKyNkZWZpbmUgTVhDX0NDTV9DR1IwX0kyQzJfTUFTSyAgICAgICAgICAgICAgICAgICgweDMgPDwgMjgpCisjZGVmaW5lIE1YQ19DQ01fQ0dSMF9JMkMzX09GRlNFVCAgICAgICAgICAgICAgICAzMAorI2RlZmluZSBNWENfQ0NNX0NHUjBfSTJDM19NQVNLICAgICAgICAgICAgICAgICAgKDB4MyA8PCAzMCkKKworI2RlZmluZSBNWENfQ0NNX0NHUjFfSEFOVFJPX09GRlNFVCAgICAgICAgICAgICAgMAorI2RlZmluZSBNWENfQ0NNX0NHUjFfSEFOVFJPX01BU0sgICAgICAgICAgICAgICAgKDB4MyA8PCAwKQorI2RlZmluZSBNWENfQ0NNX0NHUjFfTUVNU1RJQ0sxX09GRlNFVCAgICAgICAgICAgMgorI2RlZmluZSBNWENfQ0NNX0NHUjFfTUVNU1RJQ0sxX01BU0sgICAgICAgICAgICAgKDB4MyA8PCAyKQorI2RlZmluZSBNWENfQ0NNX0NHUjFfTUVNU1RJQ0syX09GRlNFVCAgICAgICAgICAgNAorI2RlZmluZSBNWENfQ0NNX0NHUjFfTUVNU1RJQ0syX01BU0sgICAgICAgICAgICAgKDB4MyA8PCA0KQorI2RlZmluZSBNWENfQ0NNX0NHUjFfQ1NJX09GRlNFVCAgICAgICAgICAgICAgICAgNgorI2RlZmluZSBNWENfQ0NNX0NHUjFfQ1NJX01BU0sgICAgICAgICAgICAgICAgICAgKDB4MyA8PCA2KQorI2RlZmluZSBNWENfQ0NNX0NHUjFfUlRDX09GRlNFVCAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNWENfQ0NNX0NHUjFfUlRDX01BU0sgICAgICAgICAgICAgICAgICAgKDB4MyA8PCA4KQorI2RlZmluZSBNWENfQ0NNX0NHUjFfV0RPR19PRkZTRVQgICAgICAgICAgICAgICAgMTAKKyNkZWZpbmUgTVhDX0NDTV9DR1IxX1dET0dfTUFTSyAgICAgICAgICAgICAgICAgICgweDMgPDwgMTApCisjZGVmaW5lIE1YQ19DQ01fQ0dSMV9QV01fT0ZGU0VUICAgICAgICAgICAgICAgICAxMgorI2RlZmluZSBNWENfQ0NNX0NHUjFfUFdNX01BU0sgICAgICAgICAgICAgICAgICAgKDB4MyA8PCAxMikKKyNkZWZpbmUgTVhDX0NDTV9DR1IxX1NJTV9PRkZTRVQgICAgICAgICAgICAgICAgIDE0CisjZGVmaW5lIE1YQ19DQ01fQ0dSMV9TSU1fTUFTSyAgICAgICAgICAgICAgICAgICAoMHgzIDw8IDE0KQorI2RlZmluZSBNWENfQ0NNX0NHUjFfRUNUX09GRlNFVCAgICAgICAgICAgICAgICAgMTYKKyNkZWZpbmUgTVhDX0NDTV9DR1IxX0VDVF9NQVNLICAgICAgICAgICAgICAgICAgICgweDMgPDwgMTYpCisjZGVmaW5lIE1YQ19DQ01fQ0dSMV9VU0JPVEdfT0ZGU0VUICAgICAgICAgICAgICAxOAorI2RlZmluZSBNWENfQ0NNX0NHUjFfVVNCT1RHX01BU0sgICAgICAgICAgICAgICAgKDB4MyA8PCAxOCkKKyNkZWZpbmUgTVhDX0NDTV9DR1IxX0tQUF9PRkZTRVQgICAgICAgICAgICAgICAgIDIwCisjZGVmaW5lIE1YQ19DQ01fQ0dSMV9LUFBfTUFTSyAgICAgICAgICAgICAgICAgICAoMHgzIDw8IDIwKQorI2RlZmluZSBNWENfQ0NNX0NHUjFfSVBVX09GRlNFVCAgICAgICAgICAgICAgICAgMjIKKyNkZWZpbmUgTVhDX0NDTV9DR1IxX0lQVV9NQVNLICAgICAgICAgICAgICAgICAgICgweDMgPDwgMjIpCisjZGVmaW5lIE1YQ19DQ01fQ0dSMV9VQVJUM19PRkZTRVQgICAgICAgICAgICAgICAyNAorI2RlZmluZSBNWENfQ0NNX0NHUjFfVUFSVDNfTUFTSyAgICAgICAgICAgICAgICAgKDB4MyA8PCAyNCkKKyNkZWZpbmUgTVhDX0NDTV9DR1IxX1VBUlQ0X09GRlNFVCAgICAgICAgICAgICAgIDI2CisjZGVmaW5lIE1YQ19DQ01fQ0dSMV9VQVJUNF9NQVNLICAgICAgICAgICAgICAgICAoMHgzIDw8IDI2KQorI2RlZmluZSBNWENfQ0NNX0NHUjFfVUFSVDVfT0ZGU0VUICAgICAgICAgICAgICAgMjgKKyNkZWZpbmUgTVhDX0NDTV9DR1IxX1VBUlQ1X01BU0sgICAgICAgICAgICAgICAgICgweDMgPDwgMjgpCisjZGVmaW5lIE1YQ19DQ01fQ0dSMV9PV0lSRV9PRkZTRVQgICAgICAgICAgICAgICAzMAorI2RlZmluZSBNWENfQ0NNX0NHUjFfT1dJUkVfTUFTSyAgICAgICAgICAgICAgICAgKDB4MyA8PCAzMCkKKworI2RlZmluZSBNWENfQ0NNX0NHUjJfU1NJMl9PRkZTRVQgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNWENfQ0NNX0NHUjJfU1NJMl9NQVNLICAgICAgICAgICAgICAgICAgKDB4MyA8PCAwKQorI2RlZmluZSBNWENfQ0NNX0NHUjJfQ1NQSTFfT0ZGU0VUICAgICAgICAgICAgICAgMgorI2RlZmluZSBNWENfQ0NNX0NHUjJfQ1NQSTFfTUFTSyAgICAgICAgICAgICAgICAgKDB4MyA8PCAyKQorI2RlZmluZSBNWENfQ0NNX0NHUjJfQ1NQSTJfT0ZGU0VUICAgICAgICAgICAgICAgNAorI2RlZmluZSBNWENfQ0NNX0NHUjJfQ1NQSTJfTUFTSyAgICAgICAgICAgICAgICAgKDB4MyA8PCA0KQorI2RlZmluZSBNWENfQ0NNX0NHUjJfR0FDQ19PRkZTRVQgICAgICAgICAgICAgICAgNgorI2RlZmluZSBNWENfQ0NNX0NHUjJfR0FDQ19NQVNLICAgICAgICAgICAgICAgICAgKDB4MyA8PCA2KQorI2RlZmluZSBNWENfQ0NNX0NHUjJfRU1JX09GRlNFVCAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNWENfQ0NNX0NHUjJfRU1JX01BU0sgICAgICAgICAgICAgICAgICAgKDB4MyA8PCA4KQorI2RlZmluZSBNWENfQ0NNX0NHUjJfUlRJQ19PRkZTRVQgICAgICAgICAgICAgICAgMTAKKyNkZWZpbmUgTVhDX0NDTV9DR1IyX1JUSUNfTUFTSyAgICAgICAgICAgICAgICAgICgweDMgPDwgMTApCisjZGVmaW5lIE1YQ19DQ01fQ0dSMl9GSVJJX09GRlNFVCAgICAgICAgICAgICAgICAxMgorI2RlZmluZSBNWENfQ0NNX0NHUjJfRklSSV9NQVNLICAgICAgICAgICAgICAgICAgKDB4MyA8PCAxMikKKyNkZWZpbmUgTVhDX0NDTV9DR1IyX0lQTVVYMV9PRkZTRVQgICAgICAgICAgICAgIDE0CisjZGVmaW5lIE1YQ19DQ01fQ0dSMl9JUE1VWDFfTUFTSyAgICAgICAgICAgICAgICAoMHgzIDw8IDE0KQorI2RlZmluZSBNWENfQ0NNX0NHUjJfSVBNVVgyX09GRlNFVCAgICAgICAgICAgICAgMTYKKyNkZWZpbmUgTVhDX0NDTV9DR1IyX0lQTVVYMl9NQVNLICAgICAgICAgICAgICAgICgweDMgPDwgMTYpCisKKy8qIFRoZXNlIG5ldyBDR1IyIGJpdHMgYXJlIGFkZGVkIGluIE1YMzIgKi8KKyNkZWZpbmUgTVhDX0NDTV9DR1IyX0FQTVNZU0NMS1NFTF9PRkZTRVQJMTgKKyNkZWZpbmUgTVhDX0NDTV9DR1IyX0FQTVNZU0NMS1NFTF9NQVNLCQkoMHgzIDw8IDE4KQorI2RlZmluZSBNWENfQ0NNX0NHUjJfQVBNU1NJQ0xLU0VMX09GRlNFVAkyMAorI2RlZmluZSBNWENfQ0NNX0NHUjJfQVBNU1NJQ0xLU0VMX01BU0sJCSgweDMgPDwgMjApCisjZGVmaW5lIE1YQ19DQ01fQ0dSMl9BUE1QRVJDTEtTRUxfT0ZGU0VUCTIyCisjZGVmaW5lIE1YQ19DQ01fQ0dSMl9BUE1QRVJDTEtTRUxfTUFTSwkJKDB4MyA8PCAyMikKKyNkZWZpbmUgTVhDX0NDTV9DR1IyX01YQ0NMS0VOU0VMX09GRlNFVAkJMjQKKyNkZWZpbmUgTVhDX0NDTV9DR1IyX01YQ0NMS0VOU0VMX01BU0sJCSgweDEgPDwgMjQpCisjZGVmaW5lIE1YQ19DQ01fQ0dSMl9DSElLQ0FNUEVOX09GRlNFVAkJMjUKKyNkZWZpbmUgTVhDX0NDTV9DR1IyX0NISUtDQU1QRU5fTUFTSwkJKDB4MSA8PCAyNSkKKyNkZWZpbmUgTVhDX0NDTV9DR1IyX09WUlZQVUJVU1lfT0ZGU0VUCQkyNgorI2RlZmluZSBNWENfQ0NNX0NHUjJfT1ZSVlBVQlVTWV9NQVNLCQkoMHgxIDw8IDI2KQorI2RlZmluZSBNWENfQ0NNX0NHUjJfQVBNRU5BX09GRlNFVAkJMzAKKyNkZWZpbmUgTVhDX0NDTV9DR1IyX0FPTUVOQV9NQVNLCQkoMHgxIDw8IDMwKQorCisvKgorICogTFRSMCByZWdpc3RlciBvZmZzZXRzCisgKi8KKyNkZWZpbmUgTVhDX0NDTV9MVFIwX0RJVjNDS19PRkZTRVQgICAgICAgICAgICAgIDEKKyNkZWZpbmUgTVhDX0NDTV9MVFIwX0RJVjNDS19NQVNLICAgICAgICAgICAgICAgICgweDMgPDwgMSkKKyNkZWZpbmUgTVhDX0NDTV9MVFIwX0ROVEhSX09GRlNFVCAgICAgICAgICAgICAgIDE2CisjZGVmaW5lIE1YQ19DQ01fTFRSMF9ETlRIUl9NQVNLICAgICAgICAgICAgICAgICAoMHgzRiA8PCAxNikKKyNkZWZpbmUgTVhDX0NDTV9MVFIwX1VQVEhSX09GRlNFVCAgICAgICAgICAgICAgIDIyCisjZGVmaW5lIE1YQ19DQ01fTFRSMF9VUFRIUl9NQVNLICAgICAgICAgICAgICAgICAoMHgzRiA8PCAyMikKKworLyoKKyAqIExUUjEgcmVnaXN0ZXIgb2Zmc2V0cworICovCisjZGVmaW5lIE1YQ19DQ01fTFRSMV9QTkNUSFJfT0ZGU0VUICAgICAgICAgICAgICAwCisjZGVmaW5lIE1YQ19DQ01fTFRSMV9QTkNUSFJfTUFTSyAgICAgICAgICAgICAgICAweDNGCisjZGVmaW5lIE1YQ19DQ01fTFRSMV9VUENOVF9PRkZTRVQgICAgICAgICAgICAgICA2CisjZGVmaW5lIE1YQ19DQ01fTFRSMV9VUENOVF9NQVNLICAgICAgICAgICAgICAgICAoMHhGRiA8PCA2KQorI2RlZmluZSBNWENfQ0NNX0xUUjFfRE5DTlRfT0ZGU0VUICAgICAgICAgICAgICAgMTQKKyNkZWZpbmUgTVhDX0NDTV9MVFIxX0ROQ05UX01BU0sgICAgICAgICAgICAgICAgICgweEZGIDw8IDE0KQorI2RlZmluZSBNWENfQ0NNX0xUUjFfTFRCUlNSX01BU0sgICAgICAgICAgICAgICAgMHg0MDAwMDAKKyNkZWZpbmUgTVhDX0NDTV9MVFIxX0xUQlJTUl9PRkZTRVQgICAgICAgICAgICAgIDIyCisjZGVmaW5lIE1YQ19DQ01fTFRSMV9MVEJSU1IgICAgICAgICAgICAgICAgICAgICAweDQwMDAwMAorI2RlZmluZSBNWENfQ0NNX0xUUjFfTFRCUlNIICAgICAgICAgICAgICAgICAgICAgMHg4MDAwMDAKKworLyoKKyAqIExUUjIgYml0IGRlZmluaXRpb25zLiB4IHJhbmdlcyBmcm9tIDAgZm9yIFdTVzkgdG8gNiBmb3IgV1NXMTUKKyAqLworI2RlZmluZSBNWENfQ0NNX0xUUjJfV1NXX09GRlNFVCh4KSAgICAgICAgICAgICAgKDExICsgKHgpICogMykKKyNkZWZpbmUgTVhDX0NDTV9MVFIyX1dTV19NQVNLKHgpICAgICAgICAgICAgICAgICgweDcgPDwgXAorCQkJCQlNWENfQ0NNX0xUUjJfV1NXX09GRlNFVCgoeCkpKQorI2RlZmluZSBNWENfQ0NNX0xUUjJfRU1BQ19PRkZTRVQgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNWENfQ0NNX0xUUjJfRU1BQ19NQVNLICAgICAgICAgICAgICAgICAgMHgxRkYKKworLyoKKyAqIExUUjMgYml0IGRlZmluaXRpb25zLiB4IHJhbmdlcyBmcm9tIDAgZm9yIFdTVzAgdG8gOCBmb3IgV1NXOAorICovCisjZGVmaW5lIE1YQ19DQ01fTFRSM19XU1dfT0ZGU0VUKHgpICAgICAgICAgICAgICAoNSArICh4KSAqIDMpCisjZGVmaW5lIE1YQ19DQ01fTFRSM19XU1dfTUFTSyh4KSAgICAgICAgICAgICAgICAoMHg3IDw8IFwKKwkJCQkJTVhDX0NDTV9MVFIzX1dTV19PRkZTRVQoKHgpKSkKKworI2RlZmluZSBNWENfQ0NNX1BNQ1IwX0RGU1VQMSAgICAgICAgICAgICAgICAgICAgMHg4MDAwMDAwMAorI2RlZmluZSBNWENfQ0NNX1BNQ1IwX0RGU1VQMV9TUExMICAgICAgICAgICAgICAgKDAgPDwgMzEpCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfREZTVVAxX01QTEwgICAgICAgICAgICAgICAoMSA8PCAzMSkKKyNkZWZpbmUgTVhDX0NDTV9QTUNSMF9ERlNVUDAgICAgICAgICAgICAgICAgICAgIDB4NDAwMDAwMDAKKyNkZWZpbmUgTVhDX0NDTV9QTUNSMF9ERlNVUDBfUExMICAgICAgICAgICAgICAgICgwIDw8IDMwKQorI2RlZmluZSBNWENfQ0NNX1BNQ1IwX0RGU1VQMF9QRFIgICAgICAgICAgICAgICAgKDEgPDwgMzApCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfREZTVVBfTUFTSyAgICAgICAgICAgICAgICAoMHgzIDw8IDMwKQorCisjZGVmaW5lIERWU1VQX1RVUkJPCQkJCTAKKyNkZWZpbmUgRFZTVVBfSElHSAkJCQkxCisjZGVmaW5lIERWU1VQX01FRElVTQkJCQkyCisjZGVmaW5lIERWU1VQX0xPVwkJCQkzCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfRFZTVVBfVFVSQk8gICAgICAgICAgICAgICAoRFZTVVBfVFVSQk8gPDwgMjgpCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfRFZTVVBfSElHSCAgICAgICAgICAgICAgICAoRFZTVVBfSElHSCA8PCAyOCkKKyNkZWZpbmUgTVhDX0NDTV9QTUNSMF9EVlNVUF9NRURJVU0gICAgICAgICAgICAgIChEVlNVUF9NRURJVU0gPDwgMjgpCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfRFZTVVBfTE9XICAgICAgICAgICAgICAgICAoRFZTVVBfTE9XIDw8IDI4KQorI2RlZmluZSBNWENfQ0NNX1BNQ1IwX0RWU1VQX09GRlNFVCAgICAgICAgICAgICAgMjgKKyNkZWZpbmUgTVhDX0NDTV9QTUNSMF9EVlNVUF9NQVNLICAgICAgICAgICAgICAgICgweDMgPDwgMjgpCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfVURTQyAgICAgICAgICAgICAgICAgICAgICAweDA4MDAwMDAwCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfVURTQ19NQVNLICAgICAgICAgICAgICAgICAoMSA8PCAyNykKKyNkZWZpbmUgTVhDX0NDTV9QTUNSMF9VRFNDX1VQICAgICAgICAgICAgICAgICAgICgxIDw8IDI3KQorI2RlZmluZSBNWENfQ0NNX1BNQ1IwX1VEU0NfRE9XTiAgICAgICAgICAgICAgICAgKDAgPDwgMjcpCisKKyNkZWZpbmUgTVhDX0NDTV9QTUNSMF9WU0NOVF8xICAgICAgICAgICAgICAgICAgICgweDAgPDwgMjQpCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfVlNDTlRfMiAgICAgICAgICAgICAgICAgICAoMHgxIDw8IDI0KQorI2RlZmluZSBNWENfQ0NNX1BNQ1IwX1ZTQ05UXzMgICAgICAgICAgICAgICAgICAgKDB4MiA8PCAyNCkKKyNkZWZpbmUgTVhDX0NDTV9QTUNSMF9WU0NOVF80ICAgICAgICAgICAgICAgICAgICgweDMgPDwgMjQpCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfVlNDTlRfNSAgICAgICAgICAgICAgICAgICAoMHg0IDw8IDI0KQorI2RlZmluZSBNWENfQ0NNX1BNQ1IwX1ZTQ05UXzYgICAgICAgICAgICAgICAgICAgKDB4NSA8PCAyNCkKKyNkZWZpbmUgTVhDX0NDTV9QTUNSMF9WU0NOVF83ICAgICAgICAgICAgICAgICAgICgweDYgPDwgMjQpCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfVlNDTlRfOCAgICAgICAgICAgICAgICAgICAoMHg3IDw8IDI0KQorI2RlZmluZSBNWENfQ0NNX1BNQ1IwX1ZTQ05UX09GRlNFVCAgICAgICAgICAgICAgMjQKKyNkZWZpbmUgTVhDX0NDTV9QTUNSMF9WU0NOVF9NQVNLICAgICAgICAgICAgICAgICgweDcgPDwgMjQpCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfRFZGRVYgICAgICAgICAgICAgICAgICAgICAweDAwODAwMDAwCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfRFZGSVMgICAgICAgICAgICAgICAgICAgICAweDAwNDAwMDAwCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfTEJNSSAgICAgICAgICAgICAgICAgICAgICAweDAwMjAwMDAwCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfTEJGTCAgICAgICAgICAgICAgICAgICAgICAweDAwMTAwMDAwCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfTEJDRl80ICAgICAgICAgICAgICAgICAgICAoMHgwIDw8IDE4KQorI2RlZmluZSBNWENfQ0NNX1BNQ1IwX0xCQ0ZfOCAgICAgICAgICAgICAgICAgICAgKDB4MSA8PCAxOCkKKyNkZWZpbmUgTVhDX0NDTV9QTUNSMF9MQkNGXzEyICAgICAgICAgICAgICAgICAgICgweDIgPDwgMTgpCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfTEJDRl8xNiAgICAgICAgICAgICAgICAgICAoMHgzIDw8IDE4KQorI2RlZmluZSBNWENfQ0NNX1BNQ1IwX0xCQ0ZfT0ZGU0VUICAgICAgICAgICAgICAgMTgKKyNkZWZpbmUgTVhDX0NDTV9QTUNSMF9MQkNGX01BU0sgICAgICAgICAgICAgICAgICgweDMgPDwgMTgpCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfUFRWSVMgICAgICAgICAgICAgICAgICAgICAweDAwMDIwMDAwCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfVVBEVEVOICAgICAgICAgICAgICAgICAgICAweDAwMDEwMDAwCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfVVBEVEVOX01BU0sgICAgICAgICAgICAgICAoMHgxIDw8IDE2KQorI2RlZmluZSBNWENfQ0NNX1BNQ1IwX0ZTVkFJTSAgICAgICAgICAgICAgICAgICAgMHgwMDAwODAwMAorI2RlZmluZSBNWENfQ0NNX1BNQ1IwX0ZTVkFJX09GRlNFVCAgICAgICAgICAgICAgMTMKKyNkZWZpbmUgTVhDX0NDTV9QTUNSMF9GU1ZBSV9NQVNLICAgICAgICAgICAgICAgICgweDMgPDwgMTMpCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfRFBWQ1IgICAgICAgICAgICAgICAgICAgICAweDAwMDAxMDAwCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfRFBWViAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwODAwCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfV0ZJTSAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwNDAwCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfRFJDRTMgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMjAwCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfRFJDRTIgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMTAwCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfRFJDRTEgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDgwCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfRFJDRTAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDQwCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfRENSICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDIwCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfRFZGRU4gICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDEwCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfUFRWQUlNICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDA4CisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfUFRWQUlfT0ZGU0VUICAgICAgICAgICAgICAxCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfUFRWQUlfTUFTSyAgICAgICAgICAgICAgICAoMHgzIDw8IDEpCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfRFBURU4gICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAxCisKKyNkZWZpbmUgTVhDX0NDTV9QTUNSMV9EVkdQX09GRlNFVCAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVhDX0NDTV9QTUNSMV9EVkdQX01BU0sgICAgICAgICAgICAgICAgICgweEYpCisKKyNkZWZpbmUgTVhDX0NDTV9QTUNSMV9QTExSRElTICAgICAgICAgICAgICAgICAgICAgICgweDEgPDwgNykKKyNkZWZpbmUgTVhDX0NDTV9QTUNSMV9FTUlSUV9FTiAgICAgICAgICAgICAgICAgICAgICAoMHgxIDw8IDgpCisKKyNkZWZpbmUgTVhDX0NDTV9EQ1ZSX1VMVl9NQVNLICAgICAgICAgICAgICAgICAgICgweDNGRiA8PCAyMikKKyNkZWZpbmUgTVhDX0NDTV9EQ1ZSX1VMVl9PRkZTRVQgICAgICAgICAgICAgICAgIDIyCisjZGVmaW5lIE1YQ19DQ01fRENWUl9MTFZfTUFTSyAgICAgICAgICAgICAgICAgICAoMHgzRkYgPDwgMTIpCisjZGVmaW5lIE1YQ19DQ01fRENWUl9MTFZfT0ZGU0VUICAgICAgICAgICAgICAgICAxMgorI2RlZmluZSBNWENfQ0NNX0RDVlJfRUxWX01BU0sgICAgICAgICAgICAgICAgICAgKDB4M0ZGIDw8IDIpCisjZGVmaW5lIE1YQ19DQ01fRENWUl9FTFZfT0ZGU0VUICAgICAgICAgICAgICAgICAyCisKKyNkZWZpbmUgTVhDX0NDTV9QRFIyX01TVDJfUERGX01BU0sgICAgICAgICAgICAgICgweDNGIDw8IDcpCisjZGVmaW5lIE1YQ19DQ01fUERSMl9NU1QyX1BERl9PRkZTRVQgICAgICAgICAgICA3CisjZGVmaW5lIE1YQ19DQ01fUERSMl9NU1QxX1BERl9NQVNLICAgICAgICAgICAgICAweDNGCisjZGVmaW5lIE1YQ19DQ01fUERSMl9NU1QxX1BERl9PRkZTRVQgICAgICAgICAgICAwCisKKyNkZWZpbmUgTVhDX0NDTV9DT1NSX0NMS09TRUxfTUFTSyAgICAgICAgICAgICAgIDB4MEYKKyNkZWZpbmUgTVhDX0NDTV9DT1NSX0NMS09TRUxfT0ZGU0VUICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVhDX0NDTV9DT1NSX0NMS09VVERJVl9NQVNLICAgICAgICAgICAgICgweDA3IDw8IDYpCisjZGVmaW5lIE1YQ19DQ01fQ09TUl9DTEtPVVRESVZfT0ZGU0VUICAgICAgICAgICA2CisjZGVmaW5lIE1YQ19DQ01fQ09TUl9DTEtPRU4gICAgICAgICAgICAgICAgICAgICAoMSA8PCA5KQorCisvKgorICogUE1DUjAgcmVnaXN0ZXIgb2Zmc2V0cworICovCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfTEJGTF9PRkZTRVQgICAyMAorI2RlZmluZSBNWENfQ0NNX1BNQ1IwX0RGU1VQMF9PRkZTRVQgMzAKKyNkZWZpbmUgTVhDX0NDTV9QTUNSMF9ERlNVUDFfT0ZGU0VUIDMxCisKKyNlbmRpZgkJCQkvKiBfX0FSQ0hfQVJNX01BQ0hfTVgzX0NSTV9SRUdTX0hfXyAqLwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1teDMvZGV2aWNlcy5jIGIvYXJjaC9hcm0vbWFjaC1teDMvZGV2aWNlcy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVjMDMyMGYKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLW14My9kZXZpY2VzLmMKQEAgLTAsMCArMSwxODAgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAwNi0yMDA3IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgMjAwOCBTYXNjaGEgSGF1ZXIsIGtlcm5lbEBwZW5ndXRyb25peC5kZQorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMgorICogb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEsIFVTQS4KKyAqLworCisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CisjaW5jbHVkZSA8bGludXgvc2VyaWFsLmg+CisjaW5jbHVkZSA8bGludXgvZ3Bpby5oPgorI2luY2x1ZGUgPGFzbS9oYXJkd2FyZS5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2lteC11YXJ0Lmg+CisKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgdWFydDBbXSA9IHsKKwl7CisJCS5zdGFydCA9IFVBUlQxX0JBU0VfQUREUiwKKwkJLmVuZCA9IFVBUlQxX0JBU0VfQUREUiArIDB4MEI1LAorCQkuZmxhZ3MgPSBJT1JFU09VUkNFX01FTSwKKwl9LCB7CisJCS5zdGFydCA9IE1YQ19JTlRfVUFSVDEsCisJCS5lbmQgPSBNWENfSU5UX1VBUlQxLAorCQkuZmxhZ3MgPSBJT1JFU09VUkNFX0lSUSwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgbXhjX3VhcnRfZGV2aWNlMCA9IHsKKwkubmFtZSA9ICJpbXgtdWFydCIsCisJLmlkID0gMCwKKwkucmVzb3VyY2UgPSB1YXJ0MCwKKwkubnVtX3Jlc291cmNlcyA9IEFSUkFZX1NJWkUodWFydDApLAorfTsKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSB1YXJ0MVtdID0geworCXsKKwkJLnN0YXJ0ID0gVUFSVDJfQkFTRV9BRERSLAorCQkuZW5kID0gVUFSVDJfQkFTRV9BRERSICsgMHgwQjUsCisJCS5mbGFncyA9IElPUkVTT1VSQ0VfTUVNLAorCX0sIHsKKwkJLnN0YXJ0ID0gTVhDX0lOVF9VQVJUMiwKKwkJLmVuZCA9IE1YQ19JTlRfVUFSVDIsCisJCS5mbGFncyA9IElPUkVTT1VSQ0VfSVJRLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBteGNfdWFydF9kZXZpY2UxID0geworCS5uYW1lID0gImlteC11YXJ0IiwKKwkuaWQgPSAxLAorCS5yZXNvdXJjZSA9IHVhcnQxLAorCS5udW1fcmVzb3VyY2VzID0gQVJSQVlfU0laRSh1YXJ0MSksCit9OworCitzdGF0aWMgc3RydWN0IHJlc291cmNlIHVhcnQyW10gPSB7CisJeworCQkuc3RhcnQgPSBVQVJUM19CQVNFX0FERFIsCisJCS5lbmQgPSBVQVJUM19CQVNFX0FERFIgKyAweDBCNSwKKwkJLmZsYWdzID0gSU9SRVNPVVJDRV9NRU0sCisJfSwgeworCQkuc3RhcnQgPSBNWENfSU5UX1VBUlQzLAorCQkuZW5kID0gTVhDX0lOVF9VQVJUMywKKwkJLmZsYWdzID0gSU9SRVNPVVJDRV9JUlEsCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIG14Y191YXJ0X2RldmljZTIgPSB7CisJLm5hbWUgPSAiaW14LXVhcnQiLAorCS5pZCA9IDIsCisJLnJlc291cmNlID0gdWFydDIsCisJLm51bV9yZXNvdXJjZXMgPSBBUlJBWV9TSVpFKHVhcnQyKSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgdWFydDNbXSA9IHsKKwl7CisJCS5zdGFydCA9IFVBUlQ0X0JBU0VfQUREUiwKKwkJLmVuZCA9IFVBUlQ0X0JBU0VfQUREUiArIDB4MEI1LAorCQkuZmxhZ3MgPSBJT1JFU09VUkNFX01FTSwKKwl9LCB7CisJCS5zdGFydCA9IE1YQ19JTlRfVUFSVDQsCisJCS5lbmQgPSBNWENfSU5UX1VBUlQ0LAorCQkuZmxhZ3MgPSBJT1JFU09VUkNFX0lSUSwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgbXhjX3VhcnRfZGV2aWNlMyA9IHsKKwkubmFtZSA9ICJpbXgtdWFydCIsCisJLmlkID0gMywKKwkucmVzb3VyY2UgPSB1YXJ0MywKKwkubnVtX3Jlc291cmNlcyA9IEFSUkFZX1NJWkUodWFydDMpLAorfTsKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSB1YXJ0NFtdID0geworCXsKKwkJLnN0YXJ0ID0gVUFSVDVfQkFTRV9BRERSLAorCQkuZW5kID0gVUFSVDVfQkFTRV9BRERSICsgMHgwQjUsCisJCS5mbGFncyA9IElPUkVTT1VSQ0VfTUVNLAorCX0sIHsKKwkJLnN0YXJ0ID0gTVhDX0lOVF9VQVJUNSwKKwkJLmVuZCA9IE1YQ19JTlRfVUFSVDUsCisJCS5mbGFncyA9IElPUkVTT1VSQ0VfSVJRLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBteGNfdWFydF9kZXZpY2U0ID0geworCS5uYW1lID0gImlteC11YXJ0IiwKKwkuaWQgPSA0LAorCS5yZXNvdXJjZSA9IHVhcnQ0LAorCS5udW1fcmVzb3VyY2VzID0gQVJSQVlfU0laRSh1YXJ0NCksCit9OworCisvKgorICogUmVnaXN0ZXIgb25seSB0aG9zZSBVQVJUcyB0aGF0IHBoeXNpY2FsbHkgZXhpc3QKKyAqLworaW50IF9faW5pdCBpbXhfaW5pdF91YXJ0KGludCB1YXJ0X25vLCBzdHJ1Y3QgaW14dWFydF9wbGF0Zm9ybV9kYXRhICpwZGF0YSkKK3sKKwlzd2l0Y2ggKHVhcnRfbm8pIHsKKwljYXNlIDA6CisJCW14Y191YXJ0X2RldmljZTAuZGV2LnBsYXRmb3JtX2RhdGEgPSBwZGF0YTsKKwkJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZteGNfdWFydF9kZXZpY2UwKTsKKwkJYnJlYWs7CisJY2FzZSAxOgorCQlteGNfdWFydF9kZXZpY2UxLmRldi5wbGF0Zm9ybV9kYXRhID0gcGRhdGE7CisJCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmbXhjX3VhcnRfZGV2aWNlMSk7CisJCWJyZWFrOworCWNhc2UgMjoKKwkJbXhjX3VhcnRfZGV2aWNlMi5kZXYucGxhdGZvcm1fZGF0YSA9IHBkYXRhOworCQlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJm14Y191YXJ0X2RldmljZTIpOworCQlicmVhazsKKwljYXNlIDM6CisJCW14Y191YXJ0X2RldmljZTMuZGV2LnBsYXRmb3JtX2RhdGEgPSBwZGF0YTsKKwkJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZteGNfdWFydF9kZXZpY2UzKTsKKwkJYnJlYWs7CisJY2FzZSA0OgorCQlteGNfdWFydF9kZXZpY2U0LmRldi5wbGF0Zm9ybV9kYXRhID0gcGRhdGE7CisJCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmbXhjX3VhcnRfZGV2aWNlNCk7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCXJldHVybiAtRU5PREVWOworCX0KKworCXJldHVybiAwOworfQorCisvKiBHUElPIHBvcnQgZGVzY3JpcHRpb24gKi8KK3N0YXRpYyBzdHJ1Y3QgbXhjX2dwaW9fcG9ydCBpbXhfZ3Bpb19wb3J0c1tdID0geworCVswXSA9IHsKKwkJLmNoaXAubGFiZWwgPSAiZ3Bpby0wIiwKKwkJLmJhc2UgPSBJT19BRERSRVNTKEdQSU8xX0JBU0VfQUREUiksCisJCS5pcnEgPSBNWENfSU5UX0dQSU8xLAorCQkudmlydHVhbF9pcnFfc3RhcnQgPSBNWENfR1BJT19JTlRfQkFTRQorCX0sCisJWzFdID0geworCQkuY2hpcC5sYWJlbCA9ICJncGlvLTEiLAorCQkuYmFzZSA9IElPX0FERFJFU1MoR1BJTzJfQkFTRV9BRERSKSwKKwkJLmlycSA9IE1YQ19JTlRfR1BJTzIsCisJCS52aXJ0dWFsX2lycV9zdGFydCA9IE1YQ19HUElPX0lOVF9CQVNFICsgR1BJT19OVU1fUElOCisJfSwKKwlbMl0gPSB7CisJCS5jaGlwLmxhYmVsID0gImdwaW8tMiIsCisJCS5iYXNlID0gSU9fQUREUkVTUyhHUElPM19CQVNFX0FERFIpLAorCQkuaXJxID0gTVhDX0lOVF9HUElPMywKKwkJLnZpcnR1YWxfaXJxX3N0YXJ0ID0gTVhDX0dQSU9fSU5UX0JBU0UgKyBHUElPX05VTV9QSU4gKiAyCisJfQorfTsKKworaW50IF9faW5pdCBteGNfcmVnaXN0ZXJfZ3Bpb3Modm9pZCkKK3sKKwlyZXR1cm4gbXhjX2dwaW9faW5pdChpbXhfZ3Bpb19wb3J0cywgQVJSQVlfU0laRShpbXhfZ3Bpb19wb3J0cykpOworfQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1teDMvaW9tdXguYyBiL2FyY2gvYXJtL21hY2gtbXgzL2lvbXV4LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWRjNTFmZQotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gtbXgzL2lvbXV4LmMKQEAgLTAsMCArMSwxMTEgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAwNC0yMDA2IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggYnkgU2FzY2hhIEhhdWVyIDxrZXJuZWxAcGVuZ3V0cm9uaXguZGU+CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyCisgKiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sCisgKiBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L3NwaW5sb2NrLmg+CisjaW5jbHVkZSA8bGludXgvaW8uaD4KKyNpbmNsdWRlIDxsaW51eC9ncGlvLmg+CisjaW5jbHVkZSA8YXNtL2hhcmR3YXJlLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvZ3Bpby5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2lvbXV4LW14My5oPgorCisvKgorICogSU9NVVggcmVnaXN0ZXIgKGJhc2UpIGFkZHJlc3NlcworICovCisjZGVmaW5lIElPTVVYX0JBU0UJSU9fQUREUkVTUyhJT01VWENfQkFTRV9BRERSKQorI2RlZmluZSBJT01VWElOVF9PQlMxCShJT01VWF9CQVNFICsgMHgwMDApCisjZGVmaW5lIElPTVVYSU5UX09CUzIJKElPTVVYX0JBU0UgKyAweDAwNCkKKyNkZWZpbmUgSU9NVVhHUFIJKElPTVVYX0JBU0UgKyAweDAwOCkKKyNkZWZpbmUgSU9NVVhTV19NVVhfQ1RMCShJT01VWF9CQVNFICsgMHgwMEMpCisjZGVmaW5lIElPTVVYU1dfUEFEX0NUTAkoSU9NVVhfQkFTRSArIDB4MTU0KQorCitzdGF0aWMgREVGSU5FX1NQSU5MT0NLKGdwaW9fbXV4X2xvY2spOworCisjZGVmaW5lIElPTVVYX1JFR19NQVNLIChJT01VWF9QQUROVU1fTUFTSyAmIH4weDMpCisvKgorICogc2V0IHRoZSBtb2RlIGZvciBhIElPTVVYIHBpbi4KKyAqLworaW50IG14Y19pb211eF9tb2RlKHVuc2lnbmVkIGludCBwaW5fbW9kZSkKK3sKKwl1MzIgcmVnLCBmaWVsZCwgbCwgbW9kZSwgcmV0ID0gMDsKKworCXJlZyA9IElPTVVYU1dfTVVYX0NUTCArIChwaW5fbW9kZSAmIElPTVVYX1JFR19NQVNLKTsKKwlmaWVsZCA9IHBpbl9tb2RlICYgMHgzOworCW1vZGUgPSAocGluX21vZGUgJiBJT01VWF9NT0RFX01BU0spID4+IElPTVVYX01PREVfU0hJRlQ7CisKKwlwcl9kZWJ1ZygiJXM6IHJlZyBvZmZzZXQgPSAweCV4IGZpZWxkID0gJWQgbW9kZSA9IDB4JTAyeFxuIiwKKwkJCV9fZnVuY19fLCAocGluX21vZGUgJiBJT01VWF9SRUdfTUFTSyksIGZpZWxkLCBtb2RlKTsKKworCXNwaW5fbG9jaygmZ3Bpb19tdXhfbG9jayk7CisKKwlsID0gX19yYXdfcmVhZGwocmVnKTsKKwlsICY9IH4oMHhmZiA8PCAoZmllbGQgKiA4KSk7CisJbCB8PSBtb2RlIDw8IChmaWVsZCAqIDgpOworCV9fcmF3X3dyaXRlbChsLCByZWcpOworCisJc3Bpbl91bmxvY2soJmdwaW9fbXV4X2xvY2spOworCisJcmV0dXJuIHJldDsKK30KK0VYUE9SVF9TWU1CT0wobXhjX2lvbXV4X21vZGUpOworCisvKgorICogVGhpcyBmdW5jdGlvbiBjb25maWd1cmVzIHRoZSBwYWQgdmFsdWUgZm9yIGEgSU9NVVggcGluLgorICovCit2b2lkIG14Y19pb211eF9zZXRfcGFkKGVudW0gaW9tdXhfcGlucyBwaW4sIHUzMiBjb25maWcpCit7CisJdTMyIHJlZywgZmllbGQsIGw7CisKKwlyZWcgPSBJT01VWFNXX1BBRF9DVEwgKyAocGluICsgMikgLyAzOworCWZpZWxkID0gKHBpbiArIDIpICUgMzsKKworCXByX2RlYnVnKCIlczogcmVnIG9mZnNldCA9IDB4JXggZmllbGQgPSAlZFxuIiwKKwkJCV9fZnVuY19fLCAocGluICsgMikgLyAzLCBmaWVsZCk7CisKKwlzcGluX2xvY2soJmdwaW9fbXV4X2xvY2spOworCisJbCA9IF9fcmF3X3JlYWRsKHJlZyk7CisJbCAmPSB+KDB4MWZmIDw8IChmaWVsZCAqIDkpKTsKKwlsIHw9IGNvbmZpZyA8PCAoZmllbGQgKiA5KTsKKwlfX3Jhd193cml0ZWwobCwgcmVnKTsKKworCXNwaW5fdW5sb2NrKCZncGlvX211eF9sb2NrKTsKK30KK0VYUE9SVF9TWU1CT0wobXhjX2lvbXV4X3NldF9wYWQpOworCisvKgorICogVGhpcyBmdW5jdGlvbiBlbmFibGVzL2Rpc2FibGVzIHRoZSBnZW5lcmFsIHB1cnBvc2UgZnVuY3Rpb24gZm9yIGEgcGFydGljdWxhcgorICogc2lnbmFsLgorICovCit2b2lkIG14Y19pb211eF9zZXRfZ3ByKGVudW0gaW9tdXhfZ3BfZnVuYyBncCwgYm9vbCBlbikKK3sKKwl1MzIgbDsKKworCXNwaW5fbG9jaygmZ3Bpb19tdXhfbG9jayk7CisJbCA9IF9fcmF3X3JlYWRsKElPTVVYR1BSKTsKKwlpZiAoZW4pCisJCWwgfD0gZ3A7CisJZWxzZQorCQlsICY9IH5ncDsKKworCV9fcmF3X3dyaXRlbChsLCBJT01VWEdQUik7CisJc3Bpbl91bmxvY2soJmdwaW9fbXV4X2xvY2spOworfQorRVhQT1JUX1NZTUJPTChteGNfaW9tdXhfc2V0X2dwcik7CisKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtbXgzL214MzFhZHMuYyBiL2FyY2gvYXJtL21hY2gtbXgzL214MzFhZHMuYwppbmRleCA3ZTg5YmRjLi5lYmEzZTBjIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLW14My9teDMxYWRzLmMKKysrIGIvYXJjaC9hcm0vbWFjaC1teDMvbXgzMWFkcy5jCkBAIC0yNiw5ICsyNiwxMSBAQAogI2luY2x1ZGUgPGFzbS9oYXJkd2FyZS5oPgogI2luY2x1ZGUgPGFzbS9tYWNoLXR5cGVzLmg+CiAjaW5jbHVkZSA8YXNtL21hY2gvYXJjaC5oPgorI2luY2x1ZGUgPGFzbS9tYWNoL3RpbWUuaD4KICNpbmNsdWRlIDxhc20vbWVtb3J5Lmg+CiAjaW5jbHVkZSA8YXNtL21hY2gvbWFwLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvY29tbW9uLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvYm9hcmQtbXgzMWFkcy5oPgogCiAvKiEKICAqIEBmaWxlIG14MzFhZHMuYwpAQCAtMTI2LDYgKzEyOCwxNiBAQAogCW14Y19pbml0X2V4dHVhcnQoKTsKIH0KIAorc3RhdGljIHZvaWQgX19pbml0IG14MzFhZHNfdGltZXJfaW5pdCh2b2lkKQoreworCW14Y19jbG9ja3NfaW5pdCgyNjAwMDAwMCk7CisJbXhjX3RpbWVyX2luaXQoImlwZ19jbGsuMCIpOworfQorCitzdHJ1Y3Qgc3lzX3RpbWVyIG14MzFhZHNfdGltZXIgPSB7CisJLmluaXQJPSBteDMxYWRzX3RpbWVyX2luaXQsCit9OworCiAvKgogICogVGhlIGZvbGxvd2luZyB1c2VzIHN0YW5kYXJkIGtlcm5lbCBtYWNyb3MgZGVmaW5lZCBpbiBhcmNoLmggaW4gb3JkZXIgdG8KICAqIGluaXRpYWxpemUgX19tYWNoX2Rlc2NfTVgzMUFEUyBkYXRhIHN0cnVjdHVyZS4KQEAgLTEzOCw1ICsxNTAsNSBAQAogCS5tYXBfaW8gICAgICAgICA9IG14MzFhZHNfbWFwX2lvLAogCS5pbml0X2lycSAgICAgICA9IG14Y19pbml0X2lycSwKIAkuaW5pdF9tYWNoaW5lICAgPSBteGNfYm9hcmRfaW5pdCwKLQkudGltZXIgICAgICAgICAgPSAmbXhjX3RpbWVyLAorCS50aW1lciAgICAgICAgICA9ICZteDMxYWRzX3RpbWVyLAogTUFDSElORV9FTkQKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtbXgzL214MzFsaXRlLmMgYi9hcmNoL2FybS9tYWNoLW14My9teDMxbGl0ZS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEzNzJjMWEKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLW14My9teDMxbGl0ZS5jCkBAIC0wLDAgKzEsMTA3IEBACisvKgorICogIENvcHlyaWdodCAoQykgMjAwMCBEZWVwIEJsdWUgU29sdXRpb25zIEx0ZAorICogIENvcHlyaWdodCAoQykgMjAwMiBTaGFuZSBOYXkgKHNoYW5lQG1pbmlybC5jb20pCisgKiAgQ29weXJpZ2h0IDIwMDUtMjAwNyBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3ICBVU0EKKyAqLworCisjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvbWVtb3J5Lmg+CisKKyNpbmNsdWRlIDxhc20vaGFyZHdhcmUuaD4KKyNpbmNsdWRlIDxhc20vbWFjaC10eXBlcy5oPgorI2luY2x1ZGUgPGFzbS9tYWNoL2FyY2guaD4KKyNpbmNsdWRlIDxhc20vbWFjaC90aW1lLmg+CisjaW5jbHVkZSA8YXNtL21hY2gvbWFwLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvY29tbW9uLmg+CisjaW5jbHVkZSA8YXNtL3BhZ2UuaD4KKyNpbmNsdWRlIDxhc20vc2V0dXAuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9ib2FyZC1teDMxbGl0ZS5oPgorCisvKgorICogVGhpcyBmaWxlIGNvbnRhaW5zIHRoZSBib2FyZC1zcGVjaWZpYyBpbml0aWFsaXphdGlvbiByb3V0aW5lcy4KKyAqLworCisvKgorICogVGhpcyBzdHJ1Y3R1cmUgZGVmaW5lcyB0aGUgTVgzMSBtZW1vcnkgbWFwLgorICovCitzdGF0aWMgc3RydWN0IG1hcF9kZXNjIG14MzFsaXRlX2lvX2Rlc2NbXSBfX2luaXRkYXRhID0geworCXsKKwkJLnZpcnR1YWwgPSBBSVBTMV9CQVNFX0FERFJfVklSVCwKKwkJLnBmbiA9IF9fcGh5c190b19wZm4oQUlQUzFfQkFTRV9BRERSKSwKKwkJLmxlbmd0aCA9IEFJUFMxX1NJWkUsCisJCS50eXBlID0gTVRfTk9OU0hBUkVEX0RFVklDRQorCX0sIHsKKwkJLnZpcnR1YWwgPSBTUEJBMF9CQVNFX0FERFJfVklSVCwKKwkJLnBmbiA9IF9fcGh5c190b19wZm4oU1BCQTBfQkFTRV9BRERSKSwKKwkJLmxlbmd0aCA9IFNQQkEwX1NJWkUsCisJCS50eXBlID0gTVRfTk9OU0hBUkVEX0RFVklDRQorCX0sIHsKKwkJLnZpcnR1YWwgPSBBSVBTMl9CQVNFX0FERFJfVklSVCwKKwkJLnBmbiA9IF9fcGh5c190b19wZm4oQUlQUzJfQkFTRV9BRERSKSwKKwkJLmxlbmd0aCA9IEFJUFMyX1NJWkUsCisJCS50eXBlID0gTVRfTk9OU0hBUkVEX0RFVklDRQorCX0sIHsKKwkJLnZpcnR1YWwgPSBDUzRfQkFTRV9BRERSX1ZJUlQsCisJCS5wZm4gPSBfX3BoeXNfdG9fcGZuKENTNF9CQVNFX0FERFIpLAorCQkubGVuZ3RoID0gQ1M0X1NJWkUsCisJCS50eXBlID0gTVRfREVWSUNFCisJfQorfTsKKworLyoKKyAqIFNldCB1cCBzdGF0aWMgdmlydHVhbCBtYXBwaW5ncy4KKyAqLwordm9pZCBfX2luaXQgbXgzMWxpdGVfbWFwX2lvKHZvaWQpCit7CisJbXhjX21hcF9pbygpOworCWlvdGFibGVfaW5pdChteDMxbGl0ZV9pb19kZXNjLCBBUlJBWV9TSVpFKG14MzFsaXRlX2lvX2Rlc2MpKTsKK30KKworLyoKKyAqIEJvYXJkIHNwZWNpZmljIGluaXRpYWxpemF0aW9uLgorICovCitzdGF0aWMgdm9pZCBfX2luaXQgbXhjX2JvYXJkX2luaXQodm9pZCkKK3sKK30KKworc3RhdGljIHZvaWQgX19pbml0IG14MzFsaXRlX3RpbWVyX2luaXQodm9pZCkKK3sKKwlteGNfY2xvY2tzX2luaXQoMjYwMDAwMDApOworCW14Y190aW1lcl9pbml0KCJpcGdfY2xrLjAiKTsKK30KKworc3RydWN0IHN5c190aW1lciBteDMxbGl0ZV90aW1lciA9IHsKKwkuaW5pdAk9IG14MzFsaXRlX3RpbWVyX2luaXQsCit9OworCisvKgorICogVGhlIGZvbGxvd2luZyB1c2VzIHN0YW5kYXJkIGtlcm5lbCBtYWNyb3MgZGVmaW5lZCBpbiBhcmNoLmggaW4gb3JkZXIgdG8KKyAqIGluaXRpYWxpemUgX19tYWNoX2Rlc2NfTVgzMUxJVEUgZGF0YSBzdHJ1Y3R1cmUuCisgKi8KKworTUFDSElORV9TVEFSVChNWDMxTElURSwgIkxvZ2ljUEQgTVgzMSBMSVRFS0lUIikKKwkvKiBNYWludGFpbmVyOiBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLiAqLworCS5waHlzX2lvICAgICAgICA9IEFJUFMxX0JBU0VfQUREUiwKKwkuaW9fcGdfb2Zmc3QgICAgPSAoKEFJUFMxX0JBU0VfQUREUl9WSVJUKSA+PiAxOCkgJiAweGZmZmMsCisJLmJvb3RfcGFyYW1zICAgID0gUEhZU19PRkZTRVQgKyAweDEwMCwKKwkubWFwX2lvICAgICAgICAgPSBteDMxbGl0ZV9tYXBfaW8sCisJLmluaXRfaXJxICAgICAgID0gbXhjX2luaXRfaXJxLAorCS5pbml0X21hY2hpbmUgICA9IG14Y19ib2FyZF9pbml0LAorCS50aW1lciAgICAgICAgICA9ICZteDMxbGl0ZV90aW1lciwKK01BQ0hJTkVfRU5ECmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW14My9wY20wMzcuYyBiL2FyY2gvYXJtL21hY2gtbXgzL3BjbTAzNy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEzNGFlNmQKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLW14My9wY20wMzcuYwpAQCAtMCwwICsxLDEzMCBAQAorLyoKKyAqICBDb3B5cmlnaHQgKEMpIDIwMDggU2FzY2hhIEhhdWVyLCBQZW5ndXRyb25peAorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3ICBVU0EKKyAqLworCisjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisKKyNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9tdGQvcGh5c21hcC5oPgorI2luY2x1ZGUgPGxpbnV4L21lbW9yeS5oPgorCisjaW5jbHVkZSA8YXNtL2hhcmR3YXJlLmg+CisjaW5jbHVkZSA8YXNtL21hY2gtdHlwZXMuaD4KKyNpbmNsdWRlIDxhc20vbWFjaC9hcmNoLmg+CisjaW5jbHVkZSA8YXNtL21hY2gvdGltZS5oPgorI2luY2x1ZGUgPGFzbS9tYWNoL21hcC5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2NvbW1vbi5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2lteC11YXJ0Lmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvaW9tdXgtbXgzLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvYm9hcmQtcGNtMDM3Lmg+CisKK3N0YXRpYyBzdHJ1Y3QgcGh5c21hcF9mbGFzaF9kYXRhIHBjbTAzN19mbGFzaF9kYXRhID0geworCS53aWR0aCAgPSAyLAorfTsKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSBwY20wMzdfZmxhc2hfcmVzb3VyY2UgPSB7CisJLnN0YXJ0CT0gMHhhMDAwMDAwMCwKKwkuZW5kCT0gMHhhMWZmZmZmZiwKKwkuZmxhZ3MJPSBJT1JFU09VUkNFX01FTSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIHBjbTAzN19mbGFzaCA9IHsKKwkubmFtZQk9ICJwaHlzbWFwLWZsYXNoIiwKKwkuaWQJPSAwLAorCS5kZXYJPSB7CisJCS5wbGF0Zm9ybV9kYXRhICA9ICZwY20wMzdfZmxhc2hfZGF0YSwKKwl9LAorCS5yZXNvdXJjZSA9ICZwY20wMzdfZmxhc2hfcmVzb3VyY2UsCisJLm51bV9yZXNvdXJjZXMgPSAxLAorfTsKKworc3RhdGljIHN0cnVjdCBpbXh1YXJ0X3BsYXRmb3JtX2RhdGEgdWFydF9wZGF0YSA9IHsKKwkuZmxhZ3MgPSAwLAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKmRldmljZXNbXSBfX2luaXRkYXRhID0geworCSZwY20wMzdfZmxhc2gsCit9OworCisvKgorICogQm9hcmQgc3BlY2lmaWMgaW5pdGlhbGl6YXRpb24uCisgKi8KK3N0YXRpYyB2b2lkIF9faW5pdCBteGNfYm9hcmRfaW5pdCh2b2lkKQoreworCXBsYXRmb3JtX2FkZF9kZXZpY2VzKGRldmljZXMsIEFSUkFZX1NJWkUoZGV2aWNlcykpOworCisJbXhjX2lvbXV4X21vZGUoTVgzMV9QSU5fQ1RTMV9fQ1RTMSk7CisJbXhjX2lvbXV4X21vZGUoTVgzMV9QSU5fUlRTMV9fUlRTMSk7CisJbXhjX2lvbXV4X21vZGUoTVgzMV9QSU5fVFhEMV9fVFhEMSk7CisJbXhjX2lvbXV4X21vZGUoTVgzMV9QSU5fUlhEMV9fUlhEMSk7CisKKwlpbXhfaW5pdF91YXJ0KDAsICZ1YXJ0X3BkYXRhKTsKKworCW14Y19pb211eF9tb2RlKE1YMzFfUElOX0NTUEkzX01PU0lfX1JYRDMpOworCW14Y19pb211eF9tb2RlKE1YMzFfUElOX0NTUEkzX01JU09fX1RYRDMpOworCisJaW14X2luaXRfdWFydCgyLCAmdWFydF9wZGF0YSk7Cit9CisKKy8qCisgKiBUaGlzIHN0cnVjdHVyZSBkZWZpbmVzIHN0YXRpYyBtYXBwaW5ncyBmb3IgdGhlIHBjbTAzNyBib2FyZC4KKyAqLworc3RhdGljIHN0cnVjdCBtYXBfZGVzYyBwY20wMzdfaW9fZGVzY1tdIF9faW5pdGRhdGEgPSB7CisJeworCQkudmlydHVhbAk9IEFJUFMxX0JBU0VfQUREUl9WSVJULAorCQkucGZuCQk9IF9fcGh5c190b19wZm4oQUlQUzFfQkFTRV9BRERSKSwKKwkJLmxlbmd0aAkJPSBBSVBTMV9TSVpFLAorCQkudHlwZQkJPSBNVF9ERVZJQ0UKKwl9LCB7CisJCS52aXJ0dWFsCT0gQUlQUzJfQkFTRV9BRERSX1ZJUlQsCisJCS5wZm4JCT0gX19waHlzX3RvX3BmbihBSVBTMl9CQVNFX0FERFIpLAorCQkubGVuZ3RoCQk9IEFJUFMyX1NJWkUsCisJCS50eXBlCQk9IE1UX0RFVklDRQorCX0sCit9OworCisvKgorICogU2V0IHVwIHN0YXRpYyB2aXJ0dWFsIG1hcHBpbmdzLgorICovCit2b2lkIF9faW5pdCBwY20wMzdfbWFwX2lvKHZvaWQpCit7CisJbXhjX21hcF9pbygpOworCWlvdGFibGVfaW5pdChwY20wMzdfaW9fZGVzYywgQVJSQVlfU0laRShwY20wMzdfaW9fZGVzYykpOworfQorCitzdGF0aWMgdm9pZCBfX2luaXQgcGNtMDM3X3RpbWVyX2luaXQodm9pZCkKK3sKKwlteGNfY2xvY2tzX2luaXQoMjYwMDAwMDApOworCW14Y190aW1lcl9pbml0KCJpcGdfY2xrLjAiKTsKK30KKworc3RydWN0IHN5c190aW1lciBwY20wMzdfdGltZXIgPSB7CisJLmluaXQJPSBwY20wMzdfdGltZXJfaW5pdCwKK307CisKK01BQ0hJTkVfU1RBUlQoUENNMDM3LCAiUGh5dGVjIFBoeWNvcmUgcGNtMDM3IikKKwkvKiBNYWludGFpbmVyOiBQZW5ndXRyb25peCAqLworCS5waHlzX2lvCT0gQUlQUzFfQkFTRV9BRERSLAorCS5pb19wZ19vZmZzdAk9ICgoQUlQUzFfQkFTRV9BRERSX1ZJUlQpID4+IDE4KSAmIDB4ZmZmYywKKwkuYm9vdF9wYXJhbXMgICAgPSBQSFlTX09GRlNFVCArIDB4MTAwLAorCS5tYXBfaW8gICAgICAgICA9IHBjbTAzN19tYXBfaW8sCisJLmluaXRfaXJxICAgICAgID0gbXhjX2luaXRfaXJxLAorCS5pbml0X21hY2hpbmUgICA9IG14Y19ib2FyZF9pbml0LAorCS50aW1lciAgICAgICAgICA9ICZwY20wMzdfdGltZXIsCitNQUNISU5FX0VORAorCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW14My90aW1lLmMgYi9hcmNoL2FybS9tYWNoLW14My90aW1lLmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZiNTY1YzkuLjAwMDAwMDAKLS0tIGEvYXJjaC9hcm0vbWFjaC1teDMvdGltZS5jCisrKyAvZGV2L251bGwKQEAgLTEsMTQ4ICswLDAgQEAKLS8qCi0gKiBTeXN0ZW0gVGltZXIgSW50ZXJydXB0IHJlY29uZmlndXJlZCB0byBydW4gaW4gZnJlZS1ydW4gbW9kZS4KLSAqIEF1dGhvcjogVml0YWx5IFdvb2wKLSAqIENvcHlyaWdodCAyMDA0IE1vbnRhVmlzdGEgU29mdHdhcmUgSW5jLgotICogQ29weXJpZ2h0IDIwMDQtMjAwNyBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgotICovCi0KLS8qCi0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQotICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMKLSAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgotICovCi0KLS8qIQotICogQGZpbGUgdGltZS5jCi0gKiBAYnJpZWYgVGhpcyBmaWxlIGNvbnRhaW5zIE9TIHRpY2sgYW5kIHdkb2cgdGltZXIgaW1wbGVtZW50YXRpb25zLgotICoKLSAqIFRoaXMgZmlsZSBjb250YWlucyBPUyB0aWNrIGFuZCB3ZG9nIHRpbWVyIGltcGxlbWVudGF0aW9ucy4KLSAqCi0gKiBAaW5ncm91cCBUaW1lcnMKLSAqLwotCi0jaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+Ci0jaW5jbHVkZSA8bGludXgvaW5pdC5oPgotI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgotI2luY2x1ZGUgPGxpbnV4L2lycS5oPgotI2luY2x1ZGUgPGFzbS9oYXJkd2FyZS5oPgotI2luY2x1ZGUgPGFzbS9tYWNoL3RpbWUuaD4KLSNpbmNsdWRlIDxhc20vaW8uaD4KLSNpbmNsdWRlIDxhc20vYXJjaC9jb21tb24uaD4KLQotLyohCi0gKiBUaGlzIGlzIHRoZSB0aW1lciBpbnRlcnJ1cHQgc2VydmljZSByb3V0aW5lIHRvIGRvIHJlcXVpcmVkIHRhc2tzLgotICogSXQgYWxzbyBzZXJ2aWNlcyB0aGUgV0RPRyB0aW1lciBhdCB0aGUgZnJlcXVlbmN5IG9mIHR3aWNlIHBlciBXRE9HCi0gKiB0aW1lb3V0IHZhbHVlLiBGb3IgZXhhbXBsZSwgaWYgdGhlIFdET0cncyB0aW1lb3V0IHZhbHVlIGlzIDQgKDIKLSAqIHNlY29uZHMgc2luY2UgdGhlIFdET0cgcnVucyBhdCAwLjVIeiksIGl0IHdpbGwgYmUgc2VydmljZWQgb25jZQotICogZXZlcnkgMi8yPTEgc2Vjb25kLgotICoKLSAqIEBwYXJhbSAgaXJxICAgICAgICAgIEdQVCBpbnRlcnJ1cHQgc291cmNlIG51bWJlciAobm90IHVzZWQpCi0gKiBAcGFyYW0gIGRldl9pZCAgICAgICB0aGlzIHBhcmFtZXRlciBpcyBub3QgdXNlZAotICogQHJldHVybiBhbHdheXMgcmV0dXJucyBcYiBJUlFfSEFORExFRCBhcyBkZWZpbmVkIGluCi0gKiAgICAgICAgIGluY2x1ZGUvbGludXgvaW50ZXJydXB0LmguCi0gKi8KLXN0YXRpYyBpcnFyZXR1cm5fdCBteGNfdGltZXJfaW50ZXJydXB0KGludCBpcnEsIHZvaWQgKmRldl9pZCkKLXsKLQl1bnNpZ25lZCBpbnQgbmV4dF9tYXRjaDsKLQotCWlmIChfX3Jhd19yZWFkbChNWENfR1BUX0dQVFNSKSAmIEdQVFNSX09GMSkgewotCQlkbyB7Ci0JCQl0aW1lcl90aWNrKCk7Ci0JCQluZXh0X21hdGNoID0gX19yYXdfcmVhZGwoTVhDX0dQVF9HUFRPQ1IxKSArIExBVENIOwotCQkJX19yYXdfd3JpdGVsKEdQVFNSX09GMSwgTVhDX0dQVF9HUFRTUik7Ci0JCQlfX3Jhd193cml0ZWwobmV4dF9tYXRjaCwgTVhDX0dQVF9HUFRPQ1IxKTsKLQkJfSB3aGlsZSAoKHNpZ25lZCBsb25nKShuZXh0X21hdGNoIC0KLQkJCQkgICAgICAgX19yYXdfcmVhZGwoTVhDX0dQVF9HUFRDTlQpKSA8PSAwKTsKLQl9Ci0KLQlyZXR1cm4gSVJRX0hBTkRMRUQ7Ci19Ci0KLS8qIQotICogVGhpcyBmdW5jdGlvbiBpcyB1c2VkIHRvIG9idGFpbiB0aGUgbnVtYmVyIG9mIG1pY3Jvc2Vjb25kcyBzaW5jZSB0aGUgbGFzdAotICogdGltZXIgaW50ZXJydXB0LiBOb3RlIHRoYXQgaW50ZXJydXB0cyBpcyBkaXNhYmxlZCBieSBkb19nZXR0aW1lb2ZkYXkoKS4KLSAqCi0gKiBAcmV0dXJuIHRoZSBudW1iZXIgb2YgbWljcm9zZWNvbmRzIHNpbmNlIHRoZSBsYXN0IHRpbWVyIGludGVycnVwdC4KLSAqLwotc3RhdGljIHVuc2lnbmVkIGxvbmcgbXhjX2dldHRpbWVvZmZzZXQodm9pZCkKLXsKLQl1bnNpZ25lZCBsb25nIHRpY2tzX3RvX21hdGNoLCBlbGFwc2VkLCB1c2VjLCB0aWNrX3VzZWMsIGk7Ci0KLQkvKiBHZXQgdGlja3MgYmVmb3JlIG5leHQgdGltZXIgbWF0Y2ggKi8KLQl0aWNrc190b19tYXRjaCA9Ci0JICAgIF9fcmF3X3JlYWRsKE1YQ19HUFRfR1BUT0NSMSkgLSBfX3Jhd19yZWFkbChNWENfR1BUX0dQVENOVCk7Ci0KLQkvKiBXZSBuZWVkIGVsYXBzZWQgdGlja3Mgc2luY2UgbGFzdCBtYXRjaCAqLwotCWVsYXBzZWQgPSBMQVRDSCAtIHRpY2tzX3RvX21hdGNoOwotCi0JLyogTm93IGNvbnZlcnQgdGhlbSB0byB1c2VjICovCi0JLyogSW5zdXJlIG5vIG92ZXJmbG93IHdoZW4gY2FsY3VsYXRpbmcgdGhlIHVzZWMgYmVsb3cgKi8KLQlmb3IgKGkgPSAxLCB0aWNrX3VzZWMgPSB0aWNrX25zZWMgLyAxMDAwOzsgaSAqPSAyKSB7Ci0JCXRpY2tfdXNlYyAvPSBpOwotCQlpZiAoKDB4RkZGRkZGRkYgLyB0aWNrX3VzZWMpID4gZWxhcHNlZCkKLQkJCWJyZWFrOwotCX0KLQl1c2VjID0gKHVuc2lnbmVkIGxvbmcpKGVsYXBzZWQgKiB0aWNrX3VzZWMpIC8gKExBVENIIC8gaSk7Ci0KLQlyZXR1cm4gdXNlYzsKLX0KLQotLyohCi0gKiBUaGUgT1MgdGljayB0aW1lciBpbnRlcnJ1cHQgc3RydWN0dXJlLgotICovCi1zdGF0aWMgc3RydWN0IGlycWFjdGlvbiB0aW1lcl9pcnEgPSB7Ci0JLm5hbWUgPSAiTVhDIFRpbWVyIFRpY2siLAotCS5mbGFncyA9IElSUUZfRElTQUJMRUQgfCBJUlFGX1RJTUVSLAotCS5oYW5kbGVyID0gbXhjX3RpbWVyX2ludGVycnVwdAotfTsKLQotLyohCi0gKiBUaGlzIGZ1bmN0aW9uIGlzIHVzZWQgdG8gaW5pdGlhbGl6ZSB0aGUgR1BUIHRvIHByb2R1Y2UgYW4gaW50ZXJydXB0Ci0gKiBiYXNlZCBvbiBIWi4gIEl0IGlzIGNhbGxlZCBieSBzdGFydF9rZXJuZWwoKSBkdXJpbmcgc3lzdGVtIHN0YXJ0dXAuCi0gKi8KLXZvaWQgX19pbml0IG14Y19pbml0X3RpbWUodm9pZCkKLXsKLQl1MzIgcmVnLCB2OwotCXJlZyA9IF9fcmF3X3JlYWRsKE1YQ19HUFRfR1BUQ1IpOwotCXJlZyAmPSB+R1BUQ1JfRU5BQkxFOwotCV9fcmF3X3dyaXRlbChyZWcsIE1YQ19HUFRfR1BUQ1IpOwotCXJlZyB8PSBHUFRDUl9TV1I7Ci0JX19yYXdfd3JpdGVsKHJlZywgTVhDX0dQVF9HUFRDUik7Ci0KLQl3aGlsZSAoKF9fcmF3X3JlYWRsKE1YQ19HUFRfR1BUQ1IpICYgR1BUQ1JfU1dSKSAhPSAwKQotCQljcHVfcmVsYXgoKTsKLQotCXJlZyA9IEdQVENSX0ZSUiB8IEdQVENSX0NMS1NSQ19ISUdIRlJFUTsKLQlfX3Jhd193cml0ZWwocmVnLCBNWENfR1BUX0dQVENSKTsKLQotCS8qIFRPRE86IGdldCB0aW1lciByYXRlIGZyb20gY2xrIGRyaXZlciAqLwotCXYgPSA2NjUwMDAwMDsKLQotCV9fcmF3X3dyaXRlbCgodiAvIENMT0NLX1RJQ0tfUkFURSkgLSAxLCBNWENfR1BUX0dQVFBSKTsKLQotCWlmICgodiAlIENMT0NLX1RJQ0tfUkFURSkgIT0gMCkgewotCQlwcl9pbmZvKCJcbldBUk5JTkc6IENhbid0IGdlbmVyYXRlIENMT0NLX1RJQ0tfUkFURSBhdCAlZCBIelxuIiwKLQkJCUNMT0NLX1RJQ0tfUkFURSk7Ci0JfQotCXByX2luZm8oIkFjdHVhbCBDTE9DS19USUNLX1JBVEUgaXMgJWQgSHpcbiIsCi0JCXYgLyAoKF9fcmF3X3JlYWRsKE1YQ19HUFRfR1BUUFIpICYgMHhGRkYpICsgMSkpOwotCi0JcmVnID0gX19yYXdfcmVhZGwoTVhDX0dQVF9HUFRDTlQpOwotCXJlZyArPSBMQVRDSDsKLQlfX3Jhd193cml0ZWwocmVnLCBNWENfR1BUX0dQVE9DUjEpOwotCi0Jc2V0dXBfaXJxKE1YQ19JTlRfR1BULCAmdGltZXJfaXJxKTsKLQotCXJlZyA9IF9fcmF3X3JlYWRsKE1YQ19HUFRfR1BUQ1IpOwotCXJlZyA9Ci0JICAgIEdQVENSX0ZSUiB8IEdQVENSX0NMS1NSQ19ISUdIRlJFUSB8IEdQVENSX1NUT1BFTiB8IEdQVENSX0RPWkVOIHwKLQkgICAgR1BUQ1JfV0FJVEVOIHwgR1BUQ1JfRU5NT0QgfCBHUFRDUl9FTkFCTEU7Ci0JX19yYXdfd3JpdGVsKHJlZywgTVhDX0dQVF9HUFRDUik7Ci0KLQlfX3Jhd193cml0ZWwoR1BUSVJfT0YxSUUsIE1YQ19HUFRfR1BUSVIpOwotfQotCi1zdHJ1Y3Qgc3lzX3RpbWVyIG14Y190aW1lciA9IHsKLQkuaW5pdCA9IG14Y19pbml0X3RpbWUsCi0JLm9mZnNldCA9IG14Y19nZXR0aW1lb2Zmc2V0LAotfTsKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtb21hcDEvTWFrZWZpbGUgYi9hcmNoL2FybS9tYWNoLW9tYXAxL01ha2VmaWxlCmluZGV4IGMwNmY1MjUuLjFiZGE4ZjUgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtb21hcDEvTWFrZWZpbGUKKysrIGIvYXJjaC9hcm0vbWFjaC1vbWFwMS9NYWtlZmlsZQpAQCAtMyw3ICszLDkgQEAKICMKIAogIyBDb21tb24gc3VwcG9ydAotb2JqLXkgOj0gaW8ubyBpZC5vIGNsb2NrLm8gaXJxLm8gbXV4Lm8gc2VyaWFsLm8gZGV2aWNlcy5vCitvYmoteSA6PSBpby5vIGlkLm8gc3JhbS5vIGNsb2NrLm8gaXJxLm8gbXV4Lm8gc2VyaWFsLm8gZGV2aWNlcy5vCisKK29iai0kKENPTkZJR19PTUFQX01DQlNQKSArPSBtY2JzcC5vCiAKIG9iai0kKENPTkZJR19PTUFQX01QVV9USU1FUikJKz0gdGltZS5vCiBvYmotJChDT05GSUdfT01BUF8zMktfVElNRVIpCSs9IHRpbWVyMzJrLm8KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtb21hcDEvYm9hcmQtbm9raWE3NzAuYyBiL2FyY2gvYXJtL21hY2gtb21hcDEvYm9hcmQtbm9raWE3NzAuYwppbmRleCBiY2I5ODRmLi4zZjM5ZTBlIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLW9tYXAxL2JvYXJkLW5va2lhNzcwLmMKKysrIGIvYXJjaC9hcm0vbWFjaC1vbWFwMS9ib2FyZC1ub2tpYTc3MC5jCkBAIC0xMCw2ICsxMCw3IEBACiAKICNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvbXV0ZXguaD4KICNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KICNpbmNsdWRlIDxsaW51eC9pbnB1dC5oPgogI2luY2x1ZGUgPGxpbnV4L2Nsay5oPgpAQCAtMjAyLDcgKzIwMyw3IEBACiAjZGVmaW5lCUFNUExJRklFUl9DVFJMX0dQSU8JNTgKIAogc3RhdGljIHN0cnVjdCBjbGsgKmRzcHhvcl9jazsKLXN0YXRpYyBERUNMQVJFX01VVEVYKGF1ZGlvX3B3cl9zZW0pOworc3RhdGljIERFRklORV9NVVRFWChhdWRpb19wd3JfbG9jayk7CiAvKgogICogYXVkaW9fcHdyX3N0YXRlCiAgKiArLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCkBAIC0yMTgsNyArMjE5LDcgQEAKIHN0YXRpYyBpbnQgYXVkaW9fcHdyX3N0YXRlID0gLTE7CiAKIC8qCi0gKiBhdWRpb19wd3JfdXAgLyBkb3duIHNob3VsZCBiZSBjYWxsZWQgdW5kZXIgYXVkaW9fcHdyX3NlbQorICogYXVkaW9fcHdyX3VwIC8gZG93biBzaG91bGQgYmUgY2FsbGVkIHVuZGVyIGF1ZGlvX3B3cl9sb2NrCiAgKi8KIHN0YXRpYyB2b2lkIG5va2lhNzcwX2F1ZGlvX3B3cl91cCh2b2lkKQogewpAQCAtMjM3LDExICsyMzgsMTEgQEAKIAogc3RhdGljIHZvaWQgY29kZWNfZGVsYXllZF9wb3dlcl9kb3duKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykKIHsKLQlkb3duKCZhdWRpb19wd3Jfc2VtKTsKKwltdXRleF9sb2NrKCZhdWRpb19wd3JfbG9jayk7CiAJaWYgKGF1ZGlvX3B3cl9zdGF0ZSA9PSAtMSkKIAkJYWljMjNfcG93ZXJfZG93bigpOwogCWNsa19kaXNhYmxlKGRzcHhvcl9jayk7Ci0JdXAoJmF1ZGlvX3B3cl9zZW0pOworCW11dGV4X3VubG9jaygmYXVkaW9fcHdyX2xvY2spOwogfQogCiBzdGF0aWMgREVDTEFSRV9ERUxBWUVEX1dPUksoY29kZWNfcG93ZXJfZG93bl93b3JrLCBjb2RlY19kZWxheWVkX3Bvd2VyX2Rvd24pOwpAQCAtMjU4LDE5ICsyNTksMTkgQEAKIHN0YXRpYyBpbnQKIG5va2lhNzcwX2F1ZGlvX3B3cl91cF9yZXF1ZXN0KHN0cnVjdCBkc3Bfa2Z1bmNfZGV2aWNlICprZGV2LCBpbnQgc3RhZ2UpCiB7Ci0JZG93bigmYXVkaW9fcHdyX3NlbSk7CisJbXV0ZXhfbG9jaygmYXVkaW9fcHdyX2xvY2spOwogCWlmIChhdWRpb19wd3Jfc3RhdGUgPT0gLTEpCiAJCW5va2lhNzcwX2F1ZGlvX3B3cl91cCgpOwogCS8qIGZvcmNlIGF1ZGlvX3B3cl9zdGF0ZSA9IDAsIGV2ZW4gaWYgaXQgd2FzIDEuICovCiAJYXVkaW9fcHdyX3N0YXRlID0gMDsKLQl1cCgmYXVkaW9fcHdyX3NlbSk7CisJbXV0ZXhfdW5sb2NrKCZhdWRpb19wd3JfbG9jayk7CiAJcmV0dXJuIDA7CiB9CiAKIHN0YXRpYyBpbnQKIG5va2lhNzcwX2F1ZGlvX3B3cl9kb3duX3JlcXVlc3Qoc3RydWN0IGRzcF9rZnVuY19kZXZpY2UgKmtkZXYsIGludCBzdGFnZSkKIHsKLQlkb3duKCZhdWRpb19wd3Jfc2VtKTsKKwltdXRleF9sb2NrKCZhdWRpb19wd3JfbG9jayk7CiAJc3dpdGNoIChzdGFnZSkgewogCWNhc2UgMToKIAkJaWYgKGF1ZGlvX3B3cl9zdGF0ZSA9PSAwKQpAQCAtMjgzLDcgKzI4NCw3IEBACiAJCX0KIAkJYnJlYWs7CiAJfQotCXVwKCZhdWRpb19wd3Jfc2VtKTsKKwltdXRleF91bmxvY2soJmF1ZGlvX3B3cl9sb2NrKTsKIAlyZXR1cm4gMDsKIH0KIApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1vbWFwMS9ib2FyZC1vc2suYyBiL2FyY2gvYXJtL21hY2gtb21hcDEvYm9hcmQtb3NrLmMKaW5kZXggYTY2NTA1Zi4uODQ1YzY2MyAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1vbWFwMS9ib2FyZC1vc2suYworKysgYi9hcmNoL2FybS9tYWNoLW9tYXAxL2JvYXJkLW9zay5jCkBAIC0yNjcsMTMgKzI2NywxNyBAQAogCiBzdGF0aWMgdm9pZCBfX2luaXQgb3NrX2luaXRfc21jOTF4KHZvaWQpCiB7CisJdTMyIGw7CisKIAlpZiAoKGdwaW9fcmVxdWVzdCgwLCAic21jX2lycSIpKSA8IDApIHsKIAkJcHJpbnRrKCJFcnJvciByZXF1ZXN0aW5nIGdwaW8gMCBmb3Igc21jOTF4IGlycVxuIik7CiAJCXJldHVybjsKIAl9CiAKIAkvKiBDaGVjayBFTUlGUyB3YWl0IHN0YXRlcyB0byBmaXggZXJyb3JzIHdpdGggU01DX0dFVF9QS1RfSERSICovCi0JRU1JRlNfQ0NTKDEpIHw9IDB4MzsKKwlsID0gb21hcF9yZWFkbChFTUlGU19DQ1MoMSkpOworCWwgfD0gMHgzOworCW9tYXBfd3JpdGVsKGwsIEVNSUZTX0NDUygxKSk7CiB9CiAKIHN0YXRpYyB2b2lkIF9faW5pdCBvc2tfaW5pdF9jZih2b2lkKQpAQCAtNTI2LDIwICs1MzAsMjYgQEAKIAogc3RhdGljIHZvaWQgX19pbml0IG9za19pbml0KHZvaWQpCiB7CisJdTMyIGw7CisKIAkvKiBXb3JrYXJvdW5kIGZvciB3cm9uZyBDUzMgKE5PUiBmbGFzaCkgdGltaW5nCiAJICogVGhlcmUgYXJlIHNvbWUgVS1Cb290IHZlcnNpb25zIG91dCB0aGVyZSB3aGljaCBjb25maWd1cmUKIAkgKiB3cm9uZyBDUzMgbWVtb3J5IHRpbWluZ3MuIFRoaXMgbWFpbmx5IGxlYWRzIHRvIENSQwogCSAqIG9yIHNpbWlsYXIgZXJyb3JzIGlmIHlvdSB1c2UgTk9SIGZsYXNoIChlLmcuIHdpdGggSkZGUzIpCiAJICovCi0JaWYgKEVNSUZTX0NDUygzKSAhPSBFTUlGU19DUzNfVkFMKQotCQlFTUlGU19DQ1MoMykgPSBFTUlGU19DUzNfVkFMOworCWwgPSBvbWFwX3JlYWRsKEVNSUZTX0NDUygzKSk7CisJaWYgKGwgIT0gRU1JRlNfQ1MzX1ZBTCkKKwkJb21hcF93cml0ZWwoRU1JRlNfQ1MzX1ZBTCwgRU1JRlNfQ0NTKDMpKTsKIAogCW9za19mbGFzaF9yZXNvdXJjZS5lbmQgPSBvc2tfZmxhc2hfcmVzb3VyY2Uuc3RhcnQgPSBvbWFwX2NzM19waHlzKCk7CiAJb3NrX2ZsYXNoX3Jlc291cmNlLmVuZCArPSBTWl8zMk0gLSAxOwogCXBsYXRmb3JtX2FkZF9kZXZpY2VzKG9zazU5MTJfZGV2aWNlcywgQVJSQVlfU0laRShvc2s1OTEyX2RldmljZXMpKTsKIAlvbWFwX2JvYXJkX2NvbmZpZyA9IG9za19jb25maWc7CiAJb21hcF9ib2FyZF9jb25maWdfc2l6ZSA9IEFSUkFZX1NJWkUob3NrX2NvbmZpZyk7Ci0JVVNCX1RSQU5TQ0VJVkVSX0NUUkxfUkVHIHw9ICgzIDw8IDEpOworCisJbCA9IG9tYXBfcmVhZGwoVVNCX1RSQU5TQ0VJVkVSX0NUUkwpOworCWwgfD0gKDMgPDwgMSk7CisJb21hcF93cml0ZWwobCwgVVNCX1RSQU5TQ0VJVkVSX0NUUkwpOwogCiAJLyogaXJxIGZvciB0cHM2NTAxMCBjaGlwICovCiAJLyogYm9vdGxvYWRlciBlZmZlY3RpdmVseSBkb2VzOiAgb21hcF9jZmdfcmVnKFUxOV8xNjEwX01QVUlPMSk7ICovCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW9tYXAxL2ZwZ2EuYyBiL2FyY2gvYXJtL21hY2gtb21hcDEvZnBnYS5jCmluZGV4IDMwZTE4ODEuLjBjZjYyZWYgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtb21hcDEvZnBnYS5jCisrKyBiL2FyY2gvYXJtL21hY2gtb21hcDEvZnBnYS5jCkBAIC0zMiw3ICszMiw3IEBACiAKIHN0YXRpYyB2b2lkIGZwZ2FfbWFza19pcnEodW5zaWduZWQgaW50IGlycSkKIHsKLQlpcnEgLT0gT01BUDE1MTBfSUhfRlBHQV9CQVNFOworCWlycSAtPSBPTUFQX0ZQR0FfSVJRX0JBU0U7CiAKIAlpZiAoaXJxIDwgOCkKIAkJX19yYXdfd3JpdGViKChfX3Jhd19yZWFkYihPTUFQMTUxMF9GUEdBX0lNUl9MTykKQEAgLTY1LDcgKzY1LDcgQEAKIAogc3RhdGljIHZvaWQgZnBnYV91bm1hc2tfaXJxKHVuc2lnbmVkIGludCBpcnEpCiB7Ci0JaXJxIC09IE9NQVAxNTEwX0lIX0ZQR0FfQkFTRTsKKwlpcnEgLT0gT01BUF9GUEdBX0lSUV9CQVNFOwogCiAJaWYgKGlycSA8IDgpCiAJCV9fcmF3X3dyaXRlYigoX19yYXdfcmVhZGIoT01BUDE1MTBfRlBHQV9JTVJfTE8pIHwgKDEgPDwgaXJxKSksCkBAIC05NSw4ICs5NSw4IEBACiAJaWYgKCFzdGF0KQogCQlyZXR1cm47CiAKLQlmb3IgKGZwZ2FfaXJxID0gT01BUDE1MTBfSUhfRlBHQV9CQVNFOwotCSAgICAgKGZwZ2FfaXJxIDwgKE9NQVAxNTEwX0lIX0ZQR0FfQkFTRSArIE5SX0ZQR0FfSVJRUykpICYmIHN0YXQ7CisJZm9yIChmcGdhX2lycSA9IE9NQVBfRlBHQV9JUlFfQkFTRTsKKwkgICAgIChmcGdhX2lycSA8IE9NQVBfRlBHQV9JUlFfRU5EKSAmJiBzdGF0OwogCSAgICAgZnBnYV9pcnErKywgc3RhdCA+Pj0gMSkgewogCQlpZiAoc3RhdCAmIDEpIHsKIAkJCWQgPSBpcnFfZGVzYyArIGZwZ2FfaXJxOwpAQCAtMTUxLDcgKzE1MSw3IEBACiAJX19yYXdfd3JpdGViKDAsIE9NQVAxNTEwX0ZQR0FfSU1SX0hJKTsKIAlfX3Jhd193cml0ZWIoMCwgSU5OT1ZBVE9SX0ZQR0FfSU1SMik7CiAKLQlmb3IgKGkgPSBPTUFQMTUxMF9JSF9GUEdBX0JBU0U7IGkgPCAoT01BUDE1MTBfSUhfRlBHQV9CQVNFICsgTlJfRlBHQV9JUlFTKTsgaSsrKSB7CisJZm9yIChpID0gT01BUF9GUEdBX0lSUV9CQVNFOyBpIDwgT01BUF9GUEdBX0lSUV9FTkQ7IGkrKykgewogCiAJCWlmIChpID09IE9NQVAxNTEwX0lOVF9GUEdBX1RTKSB7CiAJCQkvKgpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1vbWFwMS9tY2JzcC5jIGIvYXJjaC9hcm0vbWFjaC1vbWFwMS9tY2JzcC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJkMmMyNTIKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLW9tYXAxL21jYnNwLmMKQEAgLTAsMCArMSwyODAgQEAKKy8qCisgKiBsaW51eC9hcmNoL2FybS9tYWNoLW9tYXAxL21jYnNwLmMKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggSW5zdGl0dXRvIE5va2lhIGRlIFRlY25vbG9naWEKKyAqIENvbnRhY3Q6IEVkdWFyZG8gVmFsZW50aW4gPGVkdWFyZG8udmFsZW50aW5AaW5kdC5vcmcuYnI+CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCisgKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyAqCisgKiBNdWx0aWNoYW5uZWwgbW9kZSBub3Qgc3VwcG9ydGVkLgorICovCisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L2Nsay5oPgorI2luY2x1ZGUgPGxpbnV4L2Vyci5oPgorI2luY2x1ZGUgPGxpbnV4L2lvLmg+CisjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CisKKyNpbmNsdWRlIDxhc20vYXJjaC9kbWEuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9tdXguaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9jcHUuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9tY2JzcC5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2RzcF9jb21tb24uaD4KKworI2RlZmluZSBEUFNfUlNUQ1QyX1BFUl9FTgkoMSA8PCAwKQorI2RlZmluZSBEU1BfUlNUQ1QyX1dEX1BFUl9FTgkoMSA8PCAxKQorCitzdHJ1Y3QgbWNic3BfaW50ZXJuYWxfY2xrIHsKKwlzdHJ1Y3QgY2xrIGNsazsKKwlzdHJ1Y3QgY2xrICoqY2hpbGRzOworCWludCBuX2NoaWxkczsKK307CisKKyNpZiBkZWZpbmVkKENPTkZJR19BUkNIX09NQVAxNVhYKSB8fCBkZWZpbmVkKENPTkZJR19BUkNIX09NQVAxNlhYKQorc3RhdGljIHZvaWQgb21hcF9tY2JzcF9jbGtfaW5pdChzdHJ1Y3QgbWNic3BfaW50ZXJuYWxfY2xrICptY2xrKQoreworCWNvbnN0IGNoYXIgKmNsa19uYW1lc1tdID0geyAiZHNwX2NrIiwgImFwaV9jayIsICJkc3B4b3JfY2siIH07CisJaW50IGk7CisKKwltY2xrLT5uX2NoaWxkcyA9IEFSUkFZX1NJWkUoY2xrX25hbWVzKTsKKwltY2xrLT5jaGlsZHMgPSBremFsbG9jKG1jbGstPm5fY2hpbGRzICogc2l6ZW9mKHN0cnVjdCBjbGsgKiksCisJCQkJR0ZQX0tFUk5FTCk7CisKKwlmb3IgKGkgPSAwOyBpIDwgbWNsay0+bl9jaGlsZHM7IGkrKykgeworCQkvKiBXZSBmYWtlIGEgcGxhdGZvcm0gZGV2aWNlIHRvIGdldCBjb3JyZWN0IGRldmljZSBpZCAqLworCQlzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIHBkZXY7CisKKwkJcGRldi5kZXYuYnVzID0gJnBsYXRmb3JtX2J1c190eXBlOworCQlwZGV2LmlkID0gbWNsay0+Y2xrLmlkOworCQltY2xrLT5jaGlsZHNbaV0gPSBjbGtfZ2V0KCZwZGV2LmRldiwgY2xrX25hbWVzW2ldKTsKKwkJaWYgKElTX0VSUihtY2xrLT5jaGlsZHNbaV0pKQorCQkJcHJpbnRrKEtFUk5fRVJSICJDb3VsZCBub3QgZ2V0IGNsb2NrICVzICglZCkuXG4iLAorCQkJCWNsa19uYW1lc1tpXSwgbWNsay0+Y2xrLmlkKTsKKwl9Cit9CisKK3N0YXRpYyBpbnQgb21hcF9tY2JzcF9jbGtfZW5hYmxlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwlzdHJ1Y3QgbWNic3BfaW50ZXJuYWxfY2xrICptY2xrID0gY29udGFpbmVyX29mKGNsaywKKwkJCQkJc3RydWN0IG1jYnNwX2ludGVybmFsX2NsaywgY2xrKTsKKwlpbnQgaTsKKworCWZvciAoaSA9IDA7IGkgPCBtY2xrLT5uX2NoaWxkczsgaSsrKQorCQljbGtfZW5hYmxlKG1jbGstPmNoaWxkc1tpXSk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIG9tYXBfbWNic3BfY2xrX2Rpc2FibGUoc3RydWN0IGNsayAqY2xrKQoreworCXN0cnVjdCBtY2JzcF9pbnRlcm5hbF9jbGsgKm1jbGsgPSBjb250YWluZXJfb2YoY2xrLAorCQkJCQlzdHJ1Y3QgbWNic3BfaW50ZXJuYWxfY2xrLCBjbGspOworCWludCBpOworCisJZm9yIChpID0gMDsgaSA8IG1jbGstPm5fY2hpbGRzOyBpKyspCisJCWNsa19kaXNhYmxlKG1jbGstPmNoaWxkc1tpXSk7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgbWNic3BfaW50ZXJuYWxfY2xrIG9tYXBfbWNic3BfY2xrc1tdID0geworCXsKKwkJLmNsayA9IHsKKwkJCS5uYW1lIAkJPSAibWNic3BfY2xrIiwKKwkJCS5pZAkJPSAxLAorCQkJLmVuYWJsZQkJPSBvbWFwX21jYnNwX2Nsa19lbmFibGUsCisJCQkuZGlzYWJsZQk9IG9tYXBfbWNic3BfY2xrX2Rpc2FibGUsCisJCX0sCisJfSwKKwl7CisJCS5jbGsgPSB7CisJCQkubmFtZSAJCT0gIm1jYnNwX2NsayIsCisJCQkuaWQJCT0gMywKKwkJCS5lbmFibGUJCT0gb21hcF9tY2JzcF9jbGtfZW5hYmxlLAorCQkJLmRpc2FibGUJPSBvbWFwX21jYnNwX2Nsa19kaXNhYmxlLAorCQl9LAorCX0sCit9OworCisjZGVmaW5lIG9tYXBfbWNic3BfY2xrc19zaXplCUFSUkFZX1NJWkUob21hcF9tY2JzcF9jbGtzKQorI2Vsc2UKKyNkZWZpbmUgb21hcF9tY2JzcF9jbGtzX3NpemUJMAorc3RhdGljIHN0cnVjdCBtY2JzcF9pbnRlcm5hbF9jbGsgX19pbml0ZGF0YSAqb21hcF9tY2JzcF9jbGtzOworc3RhdGljIGlubGluZSB2b2lkIG9tYXBfbWNic3BfY2xrX2luaXQoc3RydWN0IG1jYnNwX2ludGVybmFsX2NsayAqbWNsaykKK3sgfQorI2VuZGlmCisKK3N0YXRpYyBpbnQgb21hcDFfbWNic3BfY2hlY2sodW5zaWduZWQgaW50IGlkKQoreworCS8qIFJFVklTSVQ6IENoZWNrIGNvcnJlY3RseSBmb3IgbnVtYmVyIG9mIHJlZ2lzdGVyZWQgTWNCU1BzICovCisJaWYgKGNwdV9pc19vbWFwNzMwKCkpIHsKKwkJaWYgKGlkID4gT01BUF9NQVhfTUNCU1BfQ09VTlQgLSAyKSB7CisJCSAgICAgICBwcmludGsoS0VSTl9FUlIgIk9NQVAtTWNCU1A6IE1jQlNQJWQgZG9lc24ndCBleGlzdFxuIiwKKwkJCQlpZCArIDEpOworCQkgICAgICAgcmV0dXJuIC1FTk9ERVY7CisJCX0KKwkJcmV0dXJuIDA7CisJfQorCisJaWYgKGNwdV9pc19vbWFwMTV4eCgpIHx8IGNwdV9pc19vbWFwMTZ4eCgpKSB7CisJCWlmIChpZCA+IE9NQVBfTUFYX01DQlNQX0NPVU5UIC0gMSkgeworCQkJcHJpbnRrKEtFUk5fRVJSICJPTUFQLU1jQlNQOiBNY0JTUCVkIGRvZXNuJ3QgZXhpc3RcbiIsCisJCQkJaWQgKyAxKTsKKwkJCXJldHVybiAtRU5PREVWOworCQl9CisJCXJldHVybiAwOworCX0KKworCXJldHVybiAtRU5PREVWOworfQorCitzdGF0aWMgdm9pZCBvbWFwMV9tY2JzcF9yZXF1ZXN0KHVuc2lnbmVkIGludCBpZCkKK3sKKwkvKgorCSAqIE9uIDE1MTAsIDE2MTAgYW5kIDE3MTAsIE1jQlNQMSBhbmQgTWNCU1AzCisJICogYXJlIERTUCBwdWJsaWMgcGVyaXBoZXJhbHMuCisJICovCisJaWYgKGlkID09IE9NQVBfTUNCU1AxIHx8IGlkID09IE9NQVBfTUNCU1AzKSB7CisJCW9tYXBfZHNwX3JlcXVlc3RfbWVtKCk7CisJCS8qCisJCSAqIERTUCBleHRlcm5hbCBwZXJpcGhlcmFsIHJlc2V0CisJCSAqIEZJWE1FOiBUaGlzIHNob3VsZCBiZSBtb3ZlZCB0byBkc3AgY29kZQorCQkgKi8KKwkJX19yYXdfd3JpdGV3KF9fcmF3X3JlYWR3KERTUF9SU1RDVDIpIHwgRFBTX1JTVENUMl9QRVJfRU4gfAorCQkJCURTUF9SU1RDVDJfV0RfUEVSX0VOLCBEU1BfUlNUQ1QyKTsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIG9tYXAxX21jYnNwX2ZyZWUodW5zaWduZWQgaW50IGlkKQoreworCWlmIChpZCA9PSBPTUFQX01DQlNQMSB8fCBpZCA9PSBPTUFQX01DQlNQMykKKwkJb21hcF9kc3BfcmVsZWFzZV9tZW0oKTsKK30KKworc3RhdGljIHN0cnVjdCBvbWFwX21jYnNwX29wcyBvbWFwMV9tY2JzcF9vcHMgPSB7CisJLmNoZWNrCQk9IG9tYXAxX21jYnNwX2NoZWNrLAorCS5yZXF1ZXN0CT0gb21hcDFfbWNic3BfcmVxdWVzdCwKKwkuZnJlZQkJPSBvbWFwMV9tY2JzcF9mcmVlLAorfTsKKworI2lmZGVmIENPTkZJR19BUkNIX09NQVA3MzAKK3N0YXRpYyBzdHJ1Y3Qgb21hcF9tY2JzcF9wbGF0Zm9ybV9kYXRhIG9tYXA3MzBfbWNic3BfcGRhdGFbXSA9IHsKKwl7CisJCS52aXJ0X2Jhc2UJPSBpb19wMnYoT01BUDczMF9NQ0JTUDFfQkFTRSksCisJCS5kbWFfcnhfc3luYwk9IE9NQVBfRE1BX01DQlNQMV9SWCwKKwkJLmRtYV90eF9zeW5jCT0gT01BUF9ETUFfTUNCU1AxX1RYLAorCQkucnhfaXJxCQk9IElOVF83MzBfTWNCU1AxUlgsCisJCS50eF9pcnEJCT0gSU5UXzczMF9NY0JTUDFUWCwKKwkJLm9wcwkJPSAmb21hcDFfbWNic3Bfb3BzLAorCX0sCisJeworCQkudmlydF9iYXNlCT0gaW9fcDJ2KE9NQVA3MzBfTUNCU1AyX0JBU0UpLAorCQkuZG1hX3J4X3N5bmMJPSBPTUFQX0RNQV9NQ0JTUDNfUlgsCisJCS5kbWFfdHhfc3luYwk9IE9NQVBfRE1BX01DQlNQM19UWCwKKwkJLnJ4X2lycQkJPSBJTlRfNzMwX01jQlNQMlJYLAorCQkudHhfaXJxCQk9IElOVF83MzBfTWNCU1AyVFgsCisJCS5vcHMJCT0gJm9tYXAxX21jYnNwX29wcywKKwl9LAorfTsKKyNkZWZpbmUgT01BUDczMF9NQ0JTUF9QREFUQV9TWgkJQVJSQVlfU0laRShvbWFwNzMwX21jYnNwX3BkYXRhKQorI2Vsc2UKKyNkZWZpbmUgb21hcDczMF9tY2JzcF9wZGF0YQkJTlVMTAorI2RlZmluZSBPTUFQNzMwX01DQlNQX1BEQVRBX1NaCQkwCisjZW5kaWYKKworI2lmZGVmIENPTkZJR19BUkNIX09NQVAxNVhYCitzdGF0aWMgc3RydWN0IG9tYXBfbWNic3BfcGxhdGZvcm1fZGF0YSBvbWFwMTV4eF9tY2JzcF9wZGF0YVtdID0geworCXsKKwkJLnZpcnRfYmFzZQk9IE9NQVAxNTEwX01DQlNQMV9CQVNFLAorCQkuZG1hX3J4X3N5bmMJPSBPTUFQX0RNQV9NQ0JTUDFfUlgsCisJCS5kbWFfdHhfc3luYwk9IE9NQVBfRE1BX01DQlNQMV9UWCwKKwkJLnJ4X2lycQkJPSBJTlRfTWNCU1AxUlgsCisJCS50eF9pcnEJCT0gSU5UX01jQlNQMVRYLAorCQkub3BzCQk9ICZvbWFwMV9tY2JzcF9vcHMsCisJCS5jbGtfbmFtZQk9ICJtY2JzcF9jbGsiLAorCQl9LAorCXsKKwkJLnZpcnRfYmFzZQk9IGlvX3AydihPTUFQMTUxMF9NQ0JTUDJfQkFTRSksCisJCS5kbWFfcnhfc3luYwk9IE9NQVBfRE1BX01DQlNQMl9SWCwKKwkJLmRtYV90eF9zeW5jCT0gT01BUF9ETUFfTUNCU1AyX1RYLAorCQkucnhfaXJxCQk9IElOVF8xNTEwX1NQSV9SWCwKKwkJLnR4X2lycQkJPSBJTlRfMTUxMF9TUElfVFgsCisJCS5vcHMJCT0gJm9tYXAxX21jYnNwX29wcywKKwl9LAorCXsKKwkJLnZpcnRfYmFzZQk9IE9NQVAxNTEwX01DQlNQM19CQVNFLAorCQkuZG1hX3J4X3N5bmMJPSBPTUFQX0RNQV9NQ0JTUDNfUlgsCisJCS5kbWFfdHhfc3luYwk9IE9NQVBfRE1BX01DQlNQM19UWCwKKwkJLnJ4X2lycQkJPSBJTlRfTWNCU1AzUlgsCisJCS50eF9pcnEJCT0gSU5UX01jQlNQM1RYLAorCQkub3BzCQk9ICZvbWFwMV9tY2JzcF9vcHMsCisJCS5jbGtfbmFtZQk9ICJtY2JzcF9jbGsiLAorCX0sCit9OworI2RlZmluZSBPTUFQMTVYWF9NQ0JTUF9QREFUQV9TWgkJQVJSQVlfU0laRShvbWFwMTV4eF9tY2JzcF9wZGF0YSkKKyNlbHNlCisjZGVmaW5lIG9tYXAxNXh4X21jYnNwX3BkYXRhCQlOVUxMCisjZGVmaW5lIE9NQVAxNVhYX01DQlNQX1BEQVRBX1NaCQkwCisjZW5kaWYKKworI2lmZGVmIENPTkZJR19BUkNIX09NQVAxNlhYCitzdGF0aWMgc3RydWN0IG9tYXBfbWNic3BfcGxhdGZvcm1fZGF0YSBvbWFwMTZ4eF9tY2JzcF9wZGF0YVtdID0geworCXsKKwkJLnZpcnRfYmFzZQk9IE9NQVAxNjEwX01DQlNQMV9CQVNFLAorCQkuZG1hX3J4X3N5bmMJPSBPTUFQX0RNQV9NQ0JTUDFfUlgsCisJCS5kbWFfdHhfc3luYwk9IE9NQVBfRE1BX01DQlNQMV9UWCwKKwkJLnJ4X2lycQkJPSBJTlRfTWNCU1AxUlgsCisJCS50eF9pcnEJCT0gSU5UX01jQlNQMVRYLAorCQkub3BzCQk9ICZvbWFwMV9tY2JzcF9vcHMsCisJCS5jbGtfbmFtZQk9ICJtY2JzcF9jbGsiLAorCX0sCisJeworCQkudmlydF9iYXNlCT0gaW9fcDJ2KE9NQVAxNjEwX01DQlNQMl9CQVNFKSwKKwkJLmRtYV9yeF9zeW5jCT0gT01BUF9ETUFfTUNCU1AyX1JYLAorCQkuZG1hX3R4X3N5bmMJPSBPTUFQX0RNQV9NQ0JTUDJfVFgsCisJCS5yeF9pcnEJCT0gSU5UXzE2MTBfTWNCU1AyX1JYLAorCQkudHhfaXJxCQk9IElOVF8xNjEwX01jQlNQMl9UWCwKKwkJLm9wcwkJPSAmb21hcDFfbWNic3Bfb3BzLAorCX0sCisJeworCQkudmlydF9iYXNlCT0gT01BUDE2MTBfTUNCU1AzX0JBU0UsCisJCS5kbWFfcnhfc3luYwk9IE9NQVBfRE1BX01DQlNQM19SWCwKKwkJLmRtYV90eF9zeW5jCT0gT01BUF9ETUFfTUNCU1AzX1RYLAorCQkucnhfaXJxCQk9IElOVF9NY0JTUDNSWCwKKwkJLnR4X2lycQkJPSBJTlRfTWNCU1AzVFgsCisJCS5vcHMJCT0gJm9tYXAxX21jYnNwX29wcywKKwkJLmNsa19uYW1lCT0gIm1jYnNwX2NsayIsCisJfSwKK307CisjZGVmaW5lIE9NQVAxNlhYX01DQlNQX1BEQVRBX1NaCQlBUlJBWV9TSVpFKG9tYXAxNnh4X21jYnNwX3BkYXRhKQorI2Vsc2UKKyNkZWZpbmUgb21hcDE2eHhfbWNic3BfcGRhdGEJCU5VTEwKKyNkZWZpbmUgT01BUDE2WFhfTUNCU1BfUERBVEFfU1oJCTAKKyNlbmRpZgorCitpbnQgX19pbml0IG9tYXAxX21jYnNwX2luaXQodm9pZCkKK3sKKwlpbnQgaTsKKworCWZvciAoaSA9IDA7IGkgPCBvbWFwX21jYnNwX2Nsa3Nfc2l6ZTsgaSsrKSB7CisJCWlmIChjcHVfaXNfb21hcDE1eHgoKSB8fCBjcHVfaXNfb21hcDE2eHgoKSkgeworCQkJb21hcF9tY2JzcF9jbGtfaW5pdCgmb21hcF9tY2JzcF9jbGtzW2ldKTsKKwkJCWNsa19yZWdpc3Rlcigmb21hcF9tY2JzcF9jbGtzW2ldLmNsayk7CisJCX0KKwl9CisKKwlpZiAoY3B1X2lzX29tYXA3MzAoKSkKKwkJb21hcF9tY2JzcF9yZWdpc3Rlcl9ib2FyZF9jZmcob21hcDczMF9tY2JzcF9wZGF0YSwKKwkJCQkJCU9NQVA3MzBfTUNCU1BfUERBVEFfU1opOworCisJaWYgKGNwdV9pc19vbWFwMTV4eCgpKQorCQlvbWFwX21jYnNwX3JlZ2lzdGVyX2JvYXJkX2NmZyhvbWFwMTV4eF9tY2JzcF9wZGF0YSwKKwkJCQkJCU9NQVAxNVhYX01DQlNQX1BEQVRBX1NaKTsKKworCWlmIChjcHVfaXNfb21hcDE2eHgoKSkKKwkJb21hcF9tY2JzcF9yZWdpc3Rlcl9ib2FyZF9jZmcob21hcDE2eHhfbWNic3BfcGRhdGEsCisJCQkJCQlPTUFQMTZYWF9NQ0JTUF9QREFUQV9TWik7CisKKwlyZXR1cm4gb21hcF9tY2JzcF9pbml0KCk7Cit9CisKK2FyY2hfaW5pdGNhbGwob21hcDFfbWNic3BfaW5pdCk7CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW9tYXAxL3BtLmMgYi9hcmNoL2FybS9tYWNoLW9tYXAxL3BtLmMKaW5kZXggZTZjNjRlMS4uNzQyZjc5ZSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1vbWFwMS9wbS5jCisrKyBiL2FyY2gvYXJtL21hY2gtb21hcDEvcG0uYwpAQCAtMTE2LDEzICsxMTYsNiBAQAogCQlyZXR1cm47CiAJfQogCi0JLyoKLQkgKiBTaW5jZSBhbiBpbnRlcnJ1cHQgbWF5IHNldCB1cCBhIHRpbWVyLCB3ZSBkb24ndCB3YW50IHRvCi0JICogcmVwcm9ncmFtIHRoZSBoYXJkd2FyZSB0aW1lciB3aXRoIGludGVycnVwdHMgZW5hYmxlZC4KLQkgKiBSZS1lbmFibGUgaW50ZXJydXB0cyBvbmx5IGFmdGVyIHJldHVybmluZyBmcm9tIGlkbGUuCi0JICovCi0JdGltZXJfZHluX3JlcHJvZ3JhbSgpOwotCiAjaWZkZWYgQ09ORklHX09NQVBfTVBVX1RJTUVSCiAjd2FybmluZyBFbmFibGUgMzJrSHogT1MgdGltZXIgaW4gb3JkZXIgdG8gYWxsb3cgc2xlZXAgc3RhdGVzIGluIGlkbGUKIAl1c2VfaWRsZWN0MSA9IHVzZV9pZGxlY3QxICYgfigxIDw8IDkpOwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vcGxhdC1vbWFwL3NyYW0tZm4uUyBiL2FyY2gvYXJtL21hY2gtb21hcDEvc3JhbS5TCnNpbWlsYXJpdHkgaW5kZXggOTIlCnJlbmFtZSBmcm9tIGFyY2gvYXJtL3BsYXQtb21hcC9zcmFtLWZuLlMKcmVuYW1lIHRvIGFyY2gvYXJtL21hY2gtb21hcDEvc3JhbS5TCmluZGV4IDllMTgxM2MuLjEyNmQyNTIgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL3BsYXQtb21hcC9zcmFtLWZuLlMKKysrIGIvYXJjaC9hcm0vbWFjaC1vbWFwMS9zcmFtLlMKQEAgLTE4LDcgKzE4LDcgQEAKIC8qCiAgKiBSZXByb2dyYW1zIFVMUEQgYW5kIENLQ1RMLgogICovCi1FTlRSWShzcmFtX3JlcHJvZ3JhbV9jbG9jaykKK0VOVFJZKG9tYXAxX3NyYW1fcmVwcm9ncmFtX2Nsb2NrKQogCXN0bWZkCXNwISwge3IwIC0gcjEyLCBscn0JCUAgc2F2ZSByZWdpc3RlcnMgb24gc3RhY2sKIAogCW1vdglyMiwgI0lPX0FERFJFU1MoRFBMTF9DVEwpICYgMHhmZjAwMDAwMApAQCAtNTMsNSArNTMsNSBAQAogCiBvdXQ6CiAJbGRtZmQJc3AhLCB7cjAgLSByMTIsIHBjfQkJQCByZXN0b3JlIHJlZ3MgYW5kIHJldHVybgotRU5UUlkoc3JhbV9yZXByb2dyYW1fY2xvY2tfc3opCi0JLndvcmQJLiAtIHNyYW1fcmVwcm9ncmFtX2Nsb2NrCitFTlRSWShvbWFwMV9zcmFtX3JlcHJvZ3JhbV9jbG9ja19zeikKKwkud29yZAkuIC0gb21hcDFfc3JhbV9yZXByb2dyYW1fY2xvY2sKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtb21hcDIvTWFrZWZpbGUgYi9hcmNoL2FybS9tYWNoLW9tYXAyL01ha2VmaWxlCmluZGV4IDJmZWI2ODcuLjkzZWU5OTAgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtb21hcDIvTWFrZWZpbGUKKysrIGIvYXJjaC9hcm0vbWFjaC1vbWFwMi9NYWtlZmlsZQpAQCAtMyw5ICszLDE1IEBACiAjCiAKICMgQ29tbW9uIHN1cHBvcnQKLW9iai15IDo9IGlycS5vIGlkLm8gaW8ubyBzcmFtLWZuLm8gbWVtb3J5Lm8gY29udHJvbC5vIHByY20ubyBjbG9jay5vIG11eC5vIFwKK29iai15IDo9IGlycS5vIGlkLm8gaW8ubyBtZW1vcnkubyBjb250cm9sLm8gcHJjbS5vIGNsb2NrLm8gbXV4Lm8gXAogCQlkZXZpY2VzLm8gc2VyaWFsLm8gZ3BtYy5vIHRpbWVyLWdwLm8KIAorb2JqLSQoQ09ORklHX09NQVBfTUNCU1ApICs9IG1jYnNwLm8KKworIyBGdW5jdGlvbnMgbG9hZGVkIHRvIFNSQU0KK29iai0kKENPTkZJR19BUkNIX09NQVAyNDIwKQkJKz0gc3JhbTI0Mngubworb2JqLSQoQ09ORklHX0FSQ0hfT01BUDI0MzApCQkrPSBzcmFtMjQzeC5vCisKICMgUG93ZXIgTWFuYWdlbWVudAogb2JqLSQoQ09ORklHX1BNKSArPSBwbS5vIHNsZWVwLm8KIApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1vbWFwMi9jbG9jay5jIGIvYXJjaC9hcm0vbWFjaC1vbWFwMi9jbG9jay5jCmluZGV4IGFiOWZjNTcuLjE1Njc1YmMgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtb21hcDIvY2xvY2suYworKysgYi9hcmNoL2FybS9tYWNoLW9tYXAyL2Nsb2NrLmMKQEAgLTQxLDYgKzQxLDI0IEBACiAKICNkZWZpbmUgTUFYX0NMT0NLX0VOQUJMRV9XQUlUCQkxMDAwMDAKIAorLyogRFBMTCByYXRlIHJvdW5kaW5nOiBtaW5pbXVtIERQTEwgbXVsdGlwbGllciwgZGl2aWRlciB2YWx1ZXMgKi8KKyNkZWZpbmUgRFBMTF9NSU5fTVVMVElQTElFUgkJMQorI2RlZmluZSBEUExMX01JTl9ESVZJREVSCQkxCisKKy8qIFBvc3NpYmxlIGVycm9yIHJlc3VsdHMgZnJvbSBfZHBsbF90ZXN0X211bHQgKi8KKyNkZWZpbmUgRFBMTF9NVUxUX1VOREVSRkxPVwkJKDEgPDwgMCkKKworLyoKKyAqIFNjYWxlIGZhY3RvciB0byBtaXRpZ2F0ZSByb3VuZG9mZiBlcnJvcnMgaW4gRFBMTCByYXRlIHJvdW5kaW5nLgorICogVGhlIGhpZ2hlciB0aGUgc2NhbGUgZmFjdG9yLCB0aGUgZ3JlYXRlciB0aGUgcmlzayBvZiBhcml0aG1ldGljIG92ZXJmbG93LAorICogYnV0IHRoZSBjbG9zZXIgdGhlIHJvdW5kZWQgcmF0ZSB0byB0aGUgdGFyZ2V0IHJhdGUuICBEUExMX1NDQUxFX0ZBQ1RPUgorICogbXVzdCBiZSBhIHBvd2VyIG9mIERQTExfU0NBTEVfQkFTRS4KKyAqLworI2RlZmluZSBEUExMX1NDQUxFX0ZBQ1RPUgkJNjQKKyNkZWZpbmUgRFBMTF9TQ0FMRV9CQVNFCQkJMgorI2RlZmluZSBEUExMX1JPVU5ESU5HX1ZBTAkJKChEUExMX1NDQUxFX0JBU0UgLyAyKSAqIFwKKwkJCQkJIChEUExMX1NDQUxFX0ZBQ1RPUiAvIERQTExfU0NBTEVfQkFTRSkpCisKIHU4IGNwdV9tYXNrOwogCiAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KQEAgLTk1LDcgKzExMyw3IEBACiB7CiAJbG9uZyBsb25nIGRwbGxfY2xrOwogCXUzMiBkcGxsX211bHQsIGRwbGxfZGl2LCBkcGxsOwotCWNvbnN0IHN0cnVjdCBkcGxsX2RhdGEgKmRkOworCXN0cnVjdCBkcGxsX2RhdGEgKmRkOwogCiAJZGQgPSBjbGstPmRwbGxfZGF0YTsKIAkvKiBSRVZJU0lUOiBXaGF0IGRvIHdlIHJldHVybiBvbiBlcnJvcj8gKi8KQEAgLTYwMyw3ICs2MjEsOCBAQAogCWNsay0+cmF0ZSA9IGNsay0+cGFyZW50LT5yYXRlIC8gbmV3X2RpdjsKIAogCWlmIChjbGstPmZsYWdzICYgREVMQVlFRF9BUFAgJiYgY3B1X2lzX29tYXAyNHh4KCkpIHsKLQkJX19yYXdfd3JpdGVsKE9NQVAyNFhYX1ZBTElEX0NPTkZJRywgT01BUDI0WFhfUFJDTV9DTEtDRkdfQ1RSTCk7CisJCXBybV93cml0ZV9tb2RfcmVnKE9NQVAyNFhYX1ZBTElEX0NPTkZJRywKKwkJCU9NQVAyNFhYX0dSX01PRCwgT01BUDI0WFhfUFJDTV9DTEtDRkdfQ1RSTF9PRkZTRVQpOwogCQl3bWIoKTsKIAl9CiAKQEAgLTcyMyw2ICs3NDIsMTg0IEBACiAJcmV0dXJuIDA7CiB9CiAKKy8qIERQTEwgcmF0ZSByb3VuZGluZyBjb2RlICovCisKKy8qKgorICogb21hcDJfZHBsbF9zZXRfcmF0ZV90b2xlcmFuY2U6IHNldCB0aGUgZXJyb3IgdG9sZXJhbmNlIGR1cmluZyByYXRlIHJvdW5kaW5nCisgKiBAY2xrOiBzdHJ1Y3QgY2xrICogb2YgdGhlIERQTEwKKyAqIEB0b2xlcmFuY2U6IG1heGltdW0gcmF0ZSBlcnJvciB0b2xlcmFuY2UKKyAqCisgKiBTZXQgdGhlIG1heGltdW0gRFBMTCByYXRlIGVycm9yIHRvbGVyYW5jZSBmb3IgdGhlIHJhdGUgcm91bmRpbmcKKyAqIGFsZ29yaXRobS4gIFRoZSByYXRlIHRvbGVyYW5jZSBpcyBhbiBhdHRlbXB0IHRvIGJhbGFuY2UgRFBMTCBwb3dlcgorICogc2F2aW5nICh0aGUgbGVhc3QgZGl2aWRlciB2YWx1ZSAibiIpIHZzLiByYXRlIGZpZGVsaXR5ICh0aGUgbGVhc3QKKyAqIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGUgZGVzaXJlZCBEUExMIHRhcmdldCByYXRlIGFuZCB0aGUgcm91bmRlZAorICogcmF0ZSBvdXQgb2YgdGhlIGFsZ29yaXRobSkuICBTbywgaW5jcmVhc2luZyB0aGUgdG9sZXJhbmNlIGlzIGxpa2VseQorICogdG8gZGVjcmVhc2UgRFBMTCBwb3dlciBjb25zdW1wdGlvbiBhbmQgaW5jcmVhc2UgRFBMTCByYXRlIGVycm9yLgorICogUmV0dXJucyAtRUlOVkFMIGlmIHByb3ZpZGVkIGEgbnVsbCBjbG9jayBwdHIgb3IgYSBjbGsgdGhhdCBpcyBub3QgYQorICogRFBMTDsgb3IgMCB1cG9uIHN1Y2Nlc3MuCisgKi8KK2ludCBvbWFwMl9kcGxsX3NldF9yYXRlX3RvbGVyYW5jZShzdHJ1Y3QgY2xrICpjbGssIHVuc2lnbmVkIGludCB0b2xlcmFuY2UpCit7CisJaWYgKCFjbGsgfHwgIWNsay0+ZHBsbF9kYXRhKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWNsay0+ZHBsbF9kYXRhLT5yYXRlX3RvbGVyYW5jZSA9IHRvbGVyYW5jZTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgdW5zaWduZWQgbG9uZyBfZHBsbF9jb21wdXRlX25ld19yYXRlKHVuc2lnbmVkIGxvbmcgcGFyZW50X3JhdGUsIHVuc2lnbmVkIGludCBtLCB1bnNpZ25lZCBpbnQgbikKK3sKKwl1bnNpZ25lZCBsb25nIGxvbmcgbnVtOworCisJbnVtID0gKHVuc2lnbmVkIGxvbmcgbG9uZylwYXJlbnRfcmF0ZSAqIG07CisJZG9fZGl2KG51bSwgbik7CisJcmV0dXJuIG51bTsKK30KKworLyoKKyAqIF9kcGxsX3Rlc3RfbXVsdCAtIHRlc3QgYSBEUExMIG11bHRpcGxpZXIgdmFsdWUKKyAqIEBtOiBwb2ludGVyIHRvIHRoZSBEUExMIG0gKG11bHRpcGxpZXIpIHZhbHVlIHVuZGVyIHRlc3QKKyAqIEBuOiBjdXJyZW50IERQTEwgbiAoZGl2aWRlcikgdmFsdWUgdW5kZXIgdGVzdAorICogQG5ld19yYXRlOiBwb2ludGVyIHRvIHN0b3JhZ2UgZm9yIHRoZSByZXN1bHRpbmcgcm91bmRlZCByYXRlCisgKiBAdGFyZ2V0X3JhdGU6IHRoZSBkZXNpcmVkIERQTEwgcmF0ZQorICogQHBhcmVudF9yYXRlOiB0aGUgRFBMTCdzIHBhcmVudCBjbG9jayByYXRlCisgKgorICogVGhpcyBjb2RlIHRlc3RzIGEgRFBMTCBtdWx0aXBsaWVyIHZhbHVlLCBlbnN1cmluZyB0aGF0IHRoZQorICogcmVzdWx0aW5nIHJhdGUgd2lsbCBub3QgYmUgaGlnaGVyIHRoYW4gdGhlIHRhcmdldF9yYXRlLCBhbmQgdGhhdAorICogdGhlIG11bHRpcGxpZXIgdmFsdWUgaXRzZWxmIGlzIHZhbGlkIGZvciB0aGUgRFBMTC4gIEluaXRpYWxseSwgdGhlCisgKiBpbnRlZ2VyIHBvaW50ZWQgdG8gYnkgdGhlIG0gYXJndW1lbnQgc2hvdWxkIGJlIHByZXNjYWxlZCBieQorICogbXVsdGlwbHlpbmcgYnkgRFBMTF9TQ0FMRV9GQUNUT1IuICBUaGUgY29kZSB3aWxsIHJlcGxhY2UgdGhpcyB3aXRoCisgKiBhIG5vbi1zY2FsZWQgbSB1cG9uIHJldHVybi4gIFRoaXMgbm9uLXNjYWxlZCBtIHdpbGwgcmVzdWx0IGluIGEKKyAqIG5ld19yYXRlIGFzIGNsb3NlIGFzIHBvc3NpYmxlIHRvIHRhcmdldF9yYXRlIChidXQgbm90IGdyZWF0ZXIgdGhhbgorICogdGFyZ2V0X3JhdGUpIGdpdmVuIHRoZSBjdXJyZW50IChwYXJlbnRfcmF0ZSwgbiwgcHJlc2NhbGVkIG0pCisgKiB0cmlwbGUuIFJldHVybnMgRFBMTF9NVUxUX1VOREVSRkxPVyBpbiB0aGUgZXZlbnQgdGhhdCB0aGUKKyAqIG5vbi1zY2FsZWQgbSBhdHRlbXB0ZWQgdG8gdW5kZXJmbG93LCB3aGljaCBjYW4gYWxsb3cgdGhlIGNhbGxpbmcKKyAqIGZ1bmN0aW9uIHRvIGJhaWwgb3V0IGVhcmx5OyBvciAwIHVwb24gc3VjY2Vzcy4KKyAqLworc3RhdGljIGludCBfZHBsbF90ZXN0X211bHQoaW50ICptLCBpbnQgbiwgdW5zaWduZWQgbG9uZyAqbmV3X3JhdGUsCisJCQkgICB1bnNpZ25lZCBsb25nIHRhcmdldF9yYXRlLAorCQkJICAgdW5zaWduZWQgbG9uZyBwYXJlbnRfcmF0ZSkKK3sKKwlpbnQgZmxhZ3MgPSAwLCBjYXJyeSA9IDA7CisKKwkvKiBVbnNjYWxlIG0gYW5kIHJvdW5kIGlmIG5lY2Vzc2FyeSAqLworCWlmICgqbSAlIERQTExfU0NBTEVfRkFDVE9SID49IERQTExfUk9VTkRJTkdfVkFMKQorCQljYXJyeSA9IDE7CisJKm0gPSAoKm0gLyBEUExMX1NDQUxFX0ZBQ1RPUikgKyBjYXJyeTsKKworCS8qCisJICogVGhlIG5ldyByYXRlIG11c3QgYmUgPD0gdGhlIHRhcmdldCByYXRlIHRvIGF2b2lkIHByb2dyYW1taW5nCisJICogYSByYXRlIHRoYXQgaXMgaW1wb3NzaWJsZSBmb3IgdGhlIGhhcmR3YXJlIHRvIGhhbmRsZQorCSAqLworCSpuZXdfcmF0ZSA9IF9kcGxsX2NvbXB1dGVfbmV3X3JhdGUocGFyZW50X3JhdGUsICptLCBuKTsKKwlpZiAoKm5ld19yYXRlID4gdGFyZ2V0X3JhdGUpIHsKKwkJKCptKS0tOworCQkqbmV3X3JhdGUgPSAwOworCX0KKworCS8qIEd1YXJkIGFnYWluc3QgbSB1bmRlcmZsb3cgKi8KKwlpZiAoKm0gPCBEUExMX01JTl9NVUxUSVBMSUVSKSB7CisJCSptID0gRFBMTF9NSU5fTVVMVElQTElFUjsKKwkJKm5ld19yYXRlID0gMDsKKwkJZmxhZ3MgPSBEUExMX01VTFRfVU5ERVJGTE9XOworCX0KKworCWlmICgqbmV3X3JhdGUgPT0gMCkKKwkJKm5ld19yYXRlID0gX2RwbGxfY29tcHV0ZV9uZXdfcmF0ZShwYXJlbnRfcmF0ZSwgKm0sIG4pOworCisJcmV0dXJuIGZsYWdzOworfQorCisvKioKKyAqIG9tYXAyX2RwbGxfcm91bmRfcmF0ZSAtIHJvdW5kIGEgdGFyZ2V0IHJhdGUgZm9yIGFuIE9NQVAgRFBMTAorICogQGNsazogc3RydWN0IGNsayAqIGZvciBhIERQTEwKKyAqIEB0YXJnZXRfcmF0ZTogZGVzaXJlZCBEUExMIGNsb2NrIHJhdGUKKyAqCisgKiBHaXZlbiBhIERQTEwsIGEgZGVzaXJlZCB0YXJnZXQgcmF0ZSwgYW5kIGEgcmF0ZSB0b2xlcmFuY2UsIHJvdW5kCisgKiB0aGUgdGFyZ2V0IHJhdGUgdG8gYSBwb3NzaWJsZSwgcHJvZ3JhbW1hYmxlIHJhdGUgZm9yIHRoaXMgRFBMTC4KKyAqIFJhdGUgdG9sZXJhbmNlIGlzIGFzc3VtZWQgdG8gYmUgc2V0IGJ5IHRoZSBjYWxsZXIgYmVmb3JlIHRoaXMKKyAqIGZ1bmN0aW9uIGlzIGNhbGxlZC4gIEF0dGVtcHRzIHRvIHNlbGVjdCB0aGUgbWluaW11bSBwb3NzaWJsZSBuCisgKiB3aXRoaW4gdGhlIHRvbGVyYW5jZSB0byByZWR1Y2UgcG93ZXIgY29uc3VtcHRpb24uICBTdG9yZXMgdGhlCisgKiBjb21wdXRlZCAobSwgbikgaW4gdGhlIERQTEwncyBkcGxsX2RhdGEgc3RydWN0dXJlIHNvIHNldF9yYXRlKCkKKyAqIHdpbGwgbm90IG5lZWQgdG8gY2FsbCB0aGlzIChleHBlbnNpdmUpIGZ1bmN0aW9uIGFnYWluLiAgUmV0dXJucyB+MAorICogaWYgdGhlIHRhcmdldCByYXRlIGNhbm5vdCBiZSByb3VuZGVkLCBlaXRoZXIgYmVjYXVzZSB0aGUgcmF0ZSBpcworICogdG9vIGxvdyBvciBiZWNhdXNlIHRoZSByYXRlIHRvbGVyYW5jZSBpcyBzZXQgdG9vIHRpZ2h0bHk7IG9yIHRoZQorICogcm91bmRlZCByYXRlIHVwb24gc3VjY2Vzcy4KKyAqLworbG9uZyBvbWFwMl9kcGxsX3JvdW5kX3JhdGUoc3RydWN0IGNsayAqY2xrLCB1bnNpZ25lZCBsb25nIHRhcmdldF9yYXRlKQoreworCWludCBtLCBuLCByLCBlLCBzY2FsZWRfbWF4X207CisJdW5zaWduZWQgbG9uZyBzY2FsZWRfcnRfcnAsIG5ld19yYXRlOworCWludCBtaW5fZSA9IC0xLCBtaW5fZV9tID0gLTEsIG1pbl9lX24gPSAtMTsKKworCWlmICghY2xrIHx8ICFjbGstPmRwbGxfZGF0YSkKKwkJcmV0dXJuIH4wOworCisJcHJfZGVidWcoImNsb2NrOiBzdGFydGluZyBEUExMIHJvdW5kX3JhdGUgZm9yIGNsb2NrICVzLCB0YXJnZXQgcmF0ZSAiCisJCSAiJWxkXG4iLCBjbGstPm5hbWUsIHRhcmdldF9yYXRlKTsKKworCXNjYWxlZF9ydF9ycCA9IHRhcmdldF9yYXRlIC8gKGNsay0+cGFyZW50LT5yYXRlIC8gRFBMTF9TQ0FMRV9GQUNUT1IpOworCXNjYWxlZF9tYXhfbSA9IGNsay0+ZHBsbF9kYXRhLT5tYXhfbXVsdGlwbGllciAqIERQTExfU0NBTEVfRkFDVE9SOworCisJY2xrLT5kcGxsX2RhdGEtPmxhc3Rfcm91bmRlZF9yYXRlID0gMDsKKworCWZvciAobiA9IGNsay0+ZHBsbF9kYXRhLT5tYXhfZGl2aWRlcjsgbiA+PSBEUExMX01JTl9ESVZJREVSOyBuLS0pIHsKKworCQkvKiBDb21wdXRlIHRoZSBzY2FsZWQgRFBMTCBtdWx0aXBsaWVyLCBiYXNlZCBvbiB0aGUgZGl2aWRlciAqLworCQltID0gc2NhbGVkX3J0X3JwICogbjsKKworCQkvKgorCQkgKiBTaW5jZSB3ZSdyZSBjb3VudGluZyBuIGRvd24sIGEgbSBvdmVyZmxvdyBtZWFucyB3ZSBjYW4KKwkJICogY2FuIGltbWVkaWF0ZWx5IHNraXAgdG8gdGhlIG5leHQgbgorCQkgKi8KKwkJaWYgKG0gPiBzY2FsZWRfbWF4X20pCisJCQljb250aW51ZTsKKworCQlyID0gX2RwbGxfdGVzdF9tdWx0KCZtLCBuLCAmbmV3X3JhdGUsIHRhcmdldF9yYXRlLAorCQkJCSAgICBjbGstPnBhcmVudC0+cmF0ZSk7CisKKwkJZSA9IHRhcmdldF9yYXRlIC0gbmV3X3JhdGU7CisJCXByX2RlYnVnKCJjbG9jazogbiA9ICVkOiBtID0gJWQ6IHJhdGUgZXJyb3IgaXMgJWQgIgorCQkJICIobmV3X3JhdGUgPSAlbGQpXG4iLCBuLCBtLCBlLCBuZXdfcmF0ZSk7CisKKwkJaWYgKG1pbl9lID09IC0xIHx8CisJCSAgICBtaW5fZSA+PSAoaW50KShhYnMoZSkgLSBjbGstPmRwbGxfZGF0YS0+cmF0ZV90b2xlcmFuY2UpKSB7CisJCQltaW5fZSA9IGU7CisJCQltaW5fZV9tID0gbTsKKwkJCW1pbl9lX24gPSBuOworCisJCQlwcl9kZWJ1ZygiY2xvY2s6IGZvdW5kIG5ldyBsZWFzdCBlcnJvciAlZFxuIiwgbWluX2UpOworCQl9CisKKwkJLyoKKwkJICogU2luY2Ugd2UncmUgY291bnRpbmcgbiBkb3duLCBhIG0gdW5kZXJmbG93IG1lYW5zIHdlCisJCSAqIGNhbiBiYWlsIG91dCBjb21wbGV0ZWx5IChzaW5jZSBhcyBuIGRlY3JlYXNlcyBpbgorCQkgKiB0aGUgbmV4dCBpdGVyYXRpb24sIHRoZXJlJ3Mgbm8gd2F5IHRoYXQgbSBjYW4KKwkJICogaW5jcmVhc2UgYmV5b25kIHRoZSBjdXJyZW50IG0pCisJCSAqLworCQlpZiAociAmIERQTExfTVVMVF9VTkRFUkZMT1cpCisJCQlicmVhazsKKwl9CisKKwlpZiAobWluX2UgPCAwKSB7CisJCXByX2RlYnVnKCJjbG9jazogZXJyb3I6IHRhcmdldCByYXRlIG9yIHRvbGVyYW5jZSB0b28gbG93XG4iKTsKKwkJcmV0dXJuIH4wOworCX0KKworCWNsay0+ZHBsbF9kYXRhLT5sYXN0X3JvdW5kZWRfbSA9IG1pbl9lX207CisJY2xrLT5kcGxsX2RhdGEtPmxhc3Rfcm91bmRlZF9uID0gbWluX2VfbjsKKwljbGstPmRwbGxfZGF0YS0+bGFzdF9yb3VuZGVkX3JhdGUgPQorCQlfZHBsbF9jb21wdXRlX25ld19yYXRlKGNsay0+cGFyZW50LT5yYXRlLCBtaW5fZV9tLCAgbWluX2Vfbik7CisKKwlwcl9kZWJ1ZygiY2xvY2s6IGZpbmFsIGxlYXN0IGVycm9yOiBlID0gJWQsIG0gPSAlZCwgbiA9ICVkXG4iLAorCQkgbWluX2UsIG1pbl9lX20sIG1pbl9lX24pOworCXByX2RlYnVnKCJjbG9jazogZmluYWwgcmF0ZTogJWxkICAodGFyZ2V0IHJhdGU6ICVsZClcbiIsCisJCSBjbGstPmRwbGxfZGF0YS0+bGFzdF9yb3VuZGVkX3JhdGUsIHRhcmdldF9yYXRlKTsKKworCXJldHVybiBjbGstPmRwbGxfZGF0YS0+bGFzdF9yb3VuZGVkX3JhdGU7Cit9CisKIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICogT21hcDIgY2xvY2sgcmVzZXQgYW5kIGluaXQgZnVuY3Rpb25zCiAgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1vbWFwMi9jbG9jay5oIGIvYXJjaC9hcm0vbWFjaC1vbWFwMi9jbG9jay5oCmluZGV4IGQ1OTgwYTkuLjNjZDM3Y2IgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtb21hcDIvY2xvY2suaAorKysgYi9hcmNoL2FybS9tYWNoLW9tYXAyL2Nsb2NrLmgKQEAgLTE4LDExICsxOCwxNiBAQAogCiAjaW5jbHVkZSA8YXNtL2FyY2gvY2xvY2suaD4KIAorLyogVGhlIG1heGltdW0gZXJyb3IgYmV0d2VlbiBhIHRhcmdldCBEUExMIHJhdGUgYW5kIHRoZSByb3VuZGVkIHJhdGUgaW4gSHogKi8KKyNkZWZpbmUgREVGQVVMVF9EUExMX1JBVEVfVE9MRVJBTkNFCTUwMDAwCisKIGludCBvbWFwMl9jbGtfZW5hYmxlKHN0cnVjdCBjbGsgKmNsayk7CiB2b2lkIG9tYXAyX2Nsa19kaXNhYmxlKHN0cnVjdCBjbGsgKmNsayk7CiBsb25nIG9tYXAyX2Nsa19yb3VuZF9yYXRlKHN0cnVjdCBjbGsgKmNsaywgdW5zaWduZWQgbG9uZyByYXRlKTsKIGludCBvbWFwMl9jbGtfc2V0X3JhdGUoc3RydWN0IGNsayAqY2xrLCB1bnNpZ25lZCBsb25nIHJhdGUpOwogaW50IG9tYXAyX2Nsa19zZXRfcGFyZW50KHN0cnVjdCBjbGsgKmNsaywgc3RydWN0IGNsayAqbmV3X3BhcmVudCk7CitpbnQgb21hcDJfZHBsbF9yYXRlX3RvbGVyYW5jZV9zZXQoc3RydWN0IGNsayAqY2xrLCB1bnNpZ25lZCBpbnQgdG9sZXJhbmNlKTsKK2xvbmcgb21hcDJfZHBsbF9yb3VuZF9yYXRlKHN0cnVjdCBjbGsgKmNsaywgdW5zaWduZWQgbG9uZyB0YXJnZXRfcmF0ZSk7CiAKICNpZmRlZiBDT05GSUdfT01BUF9SRVNFVF9DTE9DS1MKIHZvaWQgb21hcDJfY2xrX2Rpc2FibGVfdW51c2VkKHN0cnVjdCBjbGsgKmNsayk7CkBAIC00Miw2ICs0Nyw3IEBACiBpbnQgb21hcDJfY2xrc2VsX3NldF9yYXRlKHN0cnVjdCBjbGsgKmNsaywgdW5zaWduZWQgbG9uZyByYXRlKTsKIHUzMiBvbWFwMl9nZXRfZHBsbF9yYXRlKHN0cnVjdCBjbGsgKmNsayk7CiBpbnQgb21hcDJfd2FpdF9jbG9ja19yZWFkeSh2b2lkIF9faW9tZW0gKnJlZywgdTMyIGN2YWwsIGNvbnN0IGNoYXIgKm5hbWUpOwordm9pZCBvbWFwMl9jbGtfcHJlcGFyZV9mb3JfcmVib290KHZvaWQpOwogCiBleHRlcm4gdTggY3B1X21hc2s7CiAKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtb21hcDIvY2xvY2syNHh4LmMgYi9hcmNoL2FybS9tYWNoLW9tYXAyL2Nsb2NrMjR4eC5jCmluZGV4IGVjZTMyZDguLmFhNTY3ODcgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtb21hcDIvY2xvY2syNHh4LmMKKysrIGIvYXJjaC9hcm0vbWFjaC1vbWFwMi9jbG9jazI0eHguYwpAQCAtMTU0LDcgKzE1NCw3IEBACiAgKiBVc2VzIHRoZSBjdXJyZW50IHByY20gc2V0IHRvIHRlbGwgaWYgYSByYXRlIGlzIHZhbGlkLgogICogWW91IGNhbiBnbyBzbG93ZXIsIGJ1dCBub3QgZmFzdGVyIHdpdGhpbiBhIGdpdmVuIHJhdGUgc2V0LgogICovCi1zdGF0aWMgdTMyIG9tYXAyX2RwbGxfcm91bmRfcmF0ZSh1bnNpZ25lZCBsb25nIHRhcmdldF9yYXRlKQorbG9uZyBvbWFwMl9kcGxsY29yZV9yb3VuZF9yYXRlKHVuc2lnbmVkIGxvbmcgdGFyZ2V0X3JhdGUpCiB7CiAJdTMyIGhpZ2gsIGxvdywgY29yZV9jbGtfc3JjOwogCkBAIC0xODMsMTQgKzE4MywxNCBAQAogCiB9CiAKLXN0YXRpYyB2b2lkIG9tYXAyX2RwbGxfcmVjYWxjKHN0cnVjdCBjbGsgKmNsaykKK3N0YXRpYyB2b2lkIG9tYXAyX2RwbGxjb3JlX3JlY2FsYyhzdHJ1Y3QgY2xrICpjbGspCiB7CiAJY2xrLT5yYXRlID0gb21hcDJfZ2V0X2RwbGxfcmF0ZV8yNHh4KGNsayk7CiAKIAlwcm9wYWdhdGVfcmF0ZShjbGspOwogfQogCi1zdGF0aWMgaW50IG9tYXAyX3JlcHJvZ3JhbV9kcGxsKHN0cnVjdCBjbGsgKmNsaywgdW5zaWduZWQgbG9uZyByYXRlKQorc3RhdGljIGludCBvbWFwMl9yZXByb2dyYW1fZHBsbGNvcmUoc3RydWN0IGNsayAqY2xrLCB1bnNpZ25lZCBsb25nIHJhdGUpCiB7CiAJdTMyIGN1cl9yYXRlLCBsb3csIG11bHQsIGRpdiwgdmFsaWRfcmF0ZSwgZG9uZV9yYXRlOwogCXUzMiBieXBhc3MgPSAwOwpAQCAtMjA5LDcgKzIwOSw3IEBACiAJfSBlbHNlIGlmICgocmF0ZSA9PSAoY3VyX3JhdGUgKiAyKSkgJiYgKG11bHQgPT0gMSkpIHsKIAkJb21hcDJfcmVwcm9ncmFtX3NkcmMoQ09SRV9DTEtfU1JDX0RQTExfWDIsIDEpOwogCX0gZWxzZSBpZiAocmF0ZSAhPSBjdXJfcmF0ZSkgewotCQl2YWxpZF9yYXRlID0gb21hcDJfZHBsbF9yb3VuZF9yYXRlKHJhdGUpOworCQl2YWxpZF9yYXRlID0gb21hcDJfZHBsbGNvcmVfcm91bmRfcmF0ZShyYXRlKTsKIAkJaWYgKHZhbGlkX3JhdGUgIT0gcmF0ZSkKIAkJCWdvdG8gZHBsbF9leGl0OwogCkBAIC0yNTYsNyArMjU2LDcgQEAKIAkJb21hcDJfaW5pdF9tZW1vcnlfcGFyYW1zKG9tYXAyX2RsbF9mb3JjZV9uZWVkZWQoKSk7CiAJCW9tYXAyX3JlcHJvZ3JhbV9zZHJjKGRvbmVfcmF0ZSwgMCk7CiAJfQotCW9tYXAyX2RwbGxfcmVjYWxjKCZkcGxsX2NrKTsKKwlvbWFwMl9kcGxsY29yZV9yZWNhbGMoJmRwbGxfY2spOwogCXJldCA9IDA7CiAKIGRwbGxfZXhpdDoKQEAgLTM4Myw3ICszODMsNyBAQAogCiAJCWxvY2FsX2lycV9yZXN0b3JlKGZsYWdzKTsKIAl9Ci0Jb21hcDJfZHBsbF9yZWNhbGMoJmRwbGxfY2spOworCW9tYXAyX2RwbGxjb3JlX3JlY2FsYygmZHBsbF9jayk7CiAKIAlyZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtb21hcDIvY2xvY2syNHh4LmggYi9hcmNoL2FybS9tYWNoLW9tYXAyL2Nsb2NrMjR4eC5oCmluZGV4IDg4MDgxZWQuLmJlNGUyNTUgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtb21hcDIvY2xvY2syNHh4LmgKKysrIGIvYXJjaC9hcm0vbWFjaC1vbWFwMi9jbG9jazI0eHguaApAQCAtMzAsMTIgKzMwLDEyIEBACiBzdGF0aWMgdm9pZCBvbWFwMl9zeXNfY2xrX3JlY2FsYyhzdHJ1Y3QgY2xrICpjbGspOwogc3RhdGljIHZvaWQgb21hcDJfb3NjX2Nsa19yZWNhbGMoc3RydWN0IGNsayAqY2xrKTsKIHN0YXRpYyB2b2lkIG9tYXAyX3N5c19jbGtfcmVjYWxjKHN0cnVjdCBjbGsgKmNsayk7Ci1zdGF0aWMgdm9pZCBvbWFwMl9kcGxsX3JlY2FsYyhzdHJ1Y3QgY2xrICpjbGspOworc3RhdGljIHZvaWQgb21hcDJfZHBsbGNvcmVfcmVjYWxjKHN0cnVjdCBjbGsgKmNsayk7CiBzdGF0aWMgaW50IG9tYXAyX2Nsa19maXhlZF9lbmFibGUoc3RydWN0IGNsayAqY2xrKTsKIHN0YXRpYyB2b2lkIG9tYXAyX2Nsa19maXhlZF9kaXNhYmxlKHN0cnVjdCBjbGsgKmNsayk7CiBzdGF0aWMgaW50IG9tYXAyX2VuYWJsZV9vc2NfY2soc3RydWN0IGNsayAqY2xrKTsKIHN0YXRpYyB2b2lkIG9tYXAyX2Rpc2FibGVfb3NjX2NrKHN0cnVjdCBjbGsgKmNsayk7Ci1zdGF0aWMgaW50IG9tYXAyX3JlcHJvZ3JhbV9kcGxsKHN0cnVjdCBjbGsgKmNsaywgdW5zaWduZWQgbG9uZyByYXRlKTsKK3N0YXRpYyBpbnQgb21hcDJfcmVwcm9ncmFtX2RwbGxjb3JlKHN0cnVjdCBjbGsgKmNsaywgdW5zaWduZWQgbG9uZyByYXRlKTsKIAogLyogS2V5IGRpdmlkZXJzIHdoaWNoIG1ha2UgdXAgYSBQUkNNIHNldC4gUmF0aW8ncyBmb3IgYSBQUkNNIGFyZSBtYW5kYXRlZC4KICAqIHh0YWxfc3BlZWQsIGRwbGxfc3BlZWQsIG1wdV9zcGVlZCwgQ01fQ0xLU0VMX01QVSxDTV9DTEtTRUxfRFNQCkBAIC02NjUsMjAgKzY2NSwyNyBAQAogICogZGVhbCB3aXRoIHRoaXMKICAqLwogCi1zdGF0aWMgY29uc3Qgc3RydWN0IGRwbGxfZGF0YSBkcGxsX2RkID0geworc3RhdGljIHN0cnVjdCBkcGxsX2RhdGEgZHBsbF9kZCA9IHsKIAkubXVsdF9kaXYxX3JlZwkJPSBPTUFQX0NNX1JFR0FERFIoUExMX01PRCwgQ01fQ0xLU0VMMSksCiAJLm11bHRfbWFzawkJPSBPTUFQMjRYWF9EUExMX01VTFRfTUFTSywKIAkuZGl2MV9tYXNrCQk9IE9NQVAyNFhYX0RQTExfRElWX01BU0ssCisJLm1heF9tdWx0aXBsaWVyCQk9IDEwMjQsCisJLm1heF9kaXZpZGVyCQk9IDE2LAorCS5yYXRlX3RvbGVyYW5jZQkJPSBERUZBVUxUX0RQTExfUkFURV9UT0xFUkFOQ0UKIH07CiAKKy8qCisgKiBYWFggQ2Fubm90IGFkZCByb3VuZF9yYXRlIGhlcmUgeWV0LCBhcyB0aGlzIGlzIHN0aWxsIGEgY29tcG9zaXRlIGNsb2NrLAorICogbm90IGp1c3QgYSBEUExMCisgKi8KIHN0YXRpYyBzdHJ1Y3QgY2xrIGRwbGxfY2sgPSB7CiAJLm5hbWUJCT0gImRwbGxfY2siLAogCS5wYXJlbnQJCT0gJnN5c19jaywJCS8qIENhbiBiZSBmdW5jXzMyayBhbHNvICovCiAJLmRwbGxfZGF0YQk9ICZkcGxsX2RkLAogCS5mbGFncwkJPSBDTE9DS19JTl9PTUFQMjQyWCB8IENMT0NLX0lOX09NQVAyNDNYIHwKIAkJCQlSQVRFX1BST1BBR0FURVMgfCBBTFdBWVNfRU5BQkxFRCwKLQkucmVjYWxjCQk9ICZvbWFwMl9kcGxsX3JlY2FsYywKLQkuc2V0X3JhdGUJPSAmb21hcDJfcmVwcm9ncmFtX2RwbGwsCisJLnJlY2FsYwkJPSAmb21hcDJfZHBsbGNvcmVfcmVjYWxjLAorCS5zZXRfcmF0ZQk9ICZvbWFwMl9yZXByb2dyYW1fZHBsbGNvcmUsCiB9OwogCiBzdGF0aWMgc3RydWN0IGNsayBhcGxsOTZfY2sgPSB7CkBAIC0xNzQ3LDcgKzE3NTQsOCBAQAogfTsKIAogc3RhdGljIHN0cnVjdCBjbGsgbWNic3AxX2ljayA9IHsKLQkubmFtZQkJPSAibWNic3AxX2ljayIsCisJLm5hbWUJCT0gIm1jYnNwX2ljayIsCisJLmlkCQk9IDEsCiAJLnBhcmVudAkJPSAmbDRfY2ssCiAJLmZsYWdzCQk9IENMT0NLX0lOX09NQVAyNDJYIHwgQ0xPQ0tfSU5fT01BUDI0M1gsCiAJLmVuYWJsZV9yZWcJPSBPTUFQX0NNX1JFR0FERFIoQ09SRV9NT0QsIENNX0lDTEtFTjEpLApAQCAtMTc1Niw3ICsxNzY0LDggQEAKIH07CiAKIHN0YXRpYyBzdHJ1Y3QgY2xrIG1jYnNwMV9mY2sgPSB7Ci0JLm5hbWUJCT0gIm1jYnNwMV9mY2siLAorCS5uYW1lCQk9ICJtY2JzcF9mY2siLAorCS5pZAkJPSAxLAogCS5wYXJlbnQJCT0gJmZ1bmNfOTZtX2NrLAogCS5mbGFncwkJPSBDTE9DS19JTl9PTUFQMjQyWCB8IENMT0NLX0lOX09NQVAyNDNYLAogCS5lbmFibGVfcmVnCT0gT01BUF9DTV9SRUdBRERSKENPUkVfTU9ELCBDTV9GQ0xLRU4xKSwKQEAgLTE3NjUsNyArMTc3NCw4IEBACiB9OwogCiBzdGF0aWMgc3RydWN0IGNsayBtY2JzcDJfaWNrID0gewotCS5uYW1lCQk9ICJtY2JzcDJfaWNrIiwKKwkubmFtZQkJPSAibWNic3BfaWNrIiwKKwkuaWQJCT0gMiwKIAkucGFyZW50CQk9ICZsNF9jaywKIAkuZmxhZ3MJCT0gQ0xPQ0tfSU5fT01BUDI0MlggfCBDTE9DS19JTl9PTUFQMjQzWCwKIAkuZW5hYmxlX3JlZwk9IE9NQVBfQ01fUkVHQUREUihDT1JFX01PRCwgQ01fSUNMS0VOMSksCkBAIC0xNzc0LDcgKzE3ODQsOCBAQAogfTsKIAogc3RhdGljIHN0cnVjdCBjbGsgbWNic3AyX2ZjayA9IHsKLQkubmFtZQkJPSAibWNic3AyX2ZjayIsCisJLm5hbWUJCT0gIm1jYnNwX2ZjayIsCisJLmlkCQk9IDIsCiAJLnBhcmVudAkJPSAmZnVuY185Nm1fY2ssCiAJLmZsYWdzCQk9IENMT0NLX0lOX09NQVAyNDJYIHwgQ0xPQ0tfSU5fT01BUDI0M1gsCiAJLmVuYWJsZV9yZWcJPSBPTUFQX0NNX1JFR0FERFIoQ09SRV9NT0QsIENNX0ZDTEtFTjEpLApAQCAtMTc4Myw3ICsxNzk0LDggQEAKIH07CiAKIHN0YXRpYyBzdHJ1Y3QgY2xrIG1jYnNwM19pY2sgPSB7Ci0JLm5hbWUJCT0gIm1jYnNwM19pY2siLAorCS5uYW1lCQk9ICJtY2JzcF9pY2siLAorCS5pZAkJPSAzLAogCS5wYXJlbnQJCT0gJmw0X2NrLAogCS5mbGFncwkJPSBDTE9DS19JTl9PTUFQMjQzWCwKIAkuZW5hYmxlX3JlZwk9IE9NQVBfQ01fUkVHQUREUihDT1JFX01PRCwgQ01fSUNMS0VOMiksCkBAIC0xNzkyLDcgKzE4MDQsOCBAQAogfTsKIAogc3RhdGljIHN0cnVjdCBjbGsgbWNic3AzX2ZjayA9IHsKLQkubmFtZQkJPSAibWNic3AzX2ZjayIsCisJLm5hbWUJCT0gIm1jYnNwX2ZjayIsCisJLmlkCQk9IDMsCiAJLnBhcmVudAkJPSAmZnVuY185Nm1fY2ssCiAJLmZsYWdzCQk9IENMT0NLX0lOX09NQVAyNDNYLAogCS5lbmFibGVfcmVnCT0gT01BUF9DTV9SRUdBRERSKENPUkVfTU9ELCBPTUFQMjRYWF9DTV9GQ0xLRU4yKSwKQEAgLTE4MDEsNyArMTgxNCw4IEBACiB9OwogCiBzdGF0aWMgc3RydWN0IGNsayBtY2JzcDRfaWNrID0gewotCS5uYW1lCQk9ICJtY2JzcDRfaWNrIiwKKwkubmFtZQkJPSAibWNic3BfaWNrIiwKKwkuaWQJCT0gNCwKIAkucGFyZW50CQk9ICZsNF9jaywKIAkuZmxhZ3MJCT0gQ0xPQ0tfSU5fT01BUDI0M1gsCiAJLmVuYWJsZV9yZWcJPSBPTUFQX0NNX1JFR0FERFIoQ09SRV9NT0QsIENNX0lDTEtFTjIpLApAQCAtMTgxMCw3ICsxODI0LDggQEAKIH07CiAKIHN0YXRpYyBzdHJ1Y3QgY2xrIG1jYnNwNF9mY2sgPSB7Ci0JLm5hbWUJCT0gIm1jYnNwNF9mY2siLAorCS5uYW1lCQk9ICJtY2JzcF9mY2siLAorCS5pZAkJPSA0LAogCS5wYXJlbnQJCT0gJmZ1bmNfOTZtX2NrLAogCS5mbGFncwkJPSBDTE9DS19JTl9PTUFQMjQzWCwKIAkuZW5hYmxlX3JlZwk9IE9NQVBfQ01fUkVHQUREUihDT1JFX01PRCwgT01BUDI0WFhfQ01fRkNMS0VOMiksCkBAIC0xODE5LDcgKzE4MzQsOCBAQAogfTsKIAogc3RhdGljIHN0cnVjdCBjbGsgbWNic3A1X2ljayA9IHsKLQkubmFtZQkJPSAibWNic3A1X2ljayIsCisJLm5hbWUJCT0gIm1jYnNwX2ljayIsCisJLmlkCQk9IDUsCiAJLnBhcmVudAkJPSAmbDRfY2ssCiAJLmZsYWdzCQk9IENMT0NLX0lOX09NQVAyNDNYLAogCS5lbmFibGVfcmVnCT0gT01BUF9DTV9SRUdBRERSKENPUkVfTU9ELCBDTV9JQ0xLRU4yKSwKQEAgLTE4MjgsNyArMTg0NCw4IEBACiB9OwogCiBzdGF0aWMgc3RydWN0IGNsayBtY2JzcDVfZmNrID0gewotCS5uYW1lCQk9ICJtY2JzcDVfZmNrIiwKKwkubmFtZQkJPSAibWNic3BfZmNrIiwKKwkuaWQJCT0gNSwKIAkucGFyZW50CQk9ICZmdW5jXzk2bV9jaywKIAkuZmxhZ3MJCT0gQ0xPQ0tfSU5fT01BUDI0M1gsCiAJLmVuYWJsZV9yZWcJPSBPTUFQX0NNX1JFR0FERFIoQ09SRV9NT0QsIE9NQVAyNFhYX0NNX0ZDTEtFTjIpLApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1vbWFwMi9jbG9jazM0eHguYyBiL2FyY2gvYXJtL21hY2gtb21hcDIvY2xvY2szNHh4LmMKaW5kZXggYjQyYmRkNi4uNDI2MzA5OSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1vbWFwMi9jbG9jazM0eHguYworKysgYi9hcmNoL2FybS9tYWNoLW9tYXAyL2Nsb2NrMzR4eC5jCkBAIC0xLDEwICsxLDExIEBACiAvKgogICogT01BUDMtc3BlY2lmaWMgY2xvY2sgZnJhbWV3b3JrIGZ1bmN0aW9ucwogICoKLSAqIENvcHlyaWdodCAoQykgMjAwNyBUZXhhcyBJbnN0cnVtZW50cywgSW5jLgotICogQ29weXJpZ2h0IChDKSAyMDA3IE5va2lhIENvcnBvcmF0aW9uCisgKiBDb3B5cmlnaHQgKEMpIDIwMDctMjAwOCBUZXhhcyBJbnN0cnVtZW50cywgSW5jLgorICogQ29weXJpZ2h0IChDKSAyMDA3LTIwMDggTm9raWEgQ29ycG9yYXRpb24KICAqCiAgKiBXcml0dGVuIGJ5IFBhdWwgV2FsbXNsZXkKKyAqIFRlc3RpbmcgYW5kIGludGVncmF0aW9uIGZpeGVzIGJ5IEpvdW5pIEjDtmdhbmRlcgogICoKICAqIFBhcnRzIG9mIHRoaXMgY29kZSBhcmUgYmFzZWQgb24gY29kZSB3cml0dGVuIGJ5CiAgKiBSaWNoYXJkIFdvb2RydWZmLCBUb255IExpbmRncmVuLCBUdXVra2EgVGlra2FuZW4sIEthcnRoaWsgRGFzdQpAQCAtMjMsNiArMjQsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+CiAjaW5jbHVkZSA8bGludXgvY2xrLmg+CiAjaW5jbHVkZSA8bGludXgvaW8uaD4KKyNpbmNsdWRlIDxsaW51eC9saW1pdHMuaD4KIAogI2luY2x1ZGUgPGFzbS9hcmNoL2Nsb2NrLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvc3JhbS5oPgpAQCAtMzcsOCArMzksMTEgQEAKICNpbmNsdWRlICJjbS5oIgogI2luY2x1ZGUgImNtLXJlZ2JpdHMtMzR4eC5oIgogCi0vKiBDTV9DTEtFTl9QTEwqLkVOKiBiaXQgdmFsdWVzICovCi0jZGVmaW5lIERQTExfTE9DS0VECQkweDcKKy8qIENNX0FVVE9JRExFX1BMTCouQVVUT18qIGJpdCB2YWx1ZXMgKi8KKyNkZWZpbmUgRFBMTF9BVVRPSURMRV9ESVNBQkxFCQkJMHgwCisjZGVmaW5lIERQTExfQVVUT0lETEVfTE9XX1BPV0VSX1NUT1AJCTB4MQorCisjZGVmaW5lIE1BWF9EUExMX1dBSVRfVFJJRVMJCTEwMDAwMDAKIAogLyoqCiAgKiBvbWFwM19kcGxsX3JlY2FsYyAtIHJlY2FsY3VsYXRlIERQTEwgcmF0ZQpAQCAtNTMsNiArNTgsMjkwIEBACiAJcHJvcGFnYXRlX3JhdGUoY2xrKTsKIH0KIAorLyogX29tYXAzX2RwbGxfd3JpdGVfY2xrZW4gLSB3cml0ZSBjbGtlbl9iaXRzIGFyZyB0byBhIERQTEwncyBlbmFibGUgYml0cyAqLworc3RhdGljIHZvaWQgX29tYXAzX2RwbGxfd3JpdGVfY2xrZW4oc3RydWN0IGNsayAqY2xrLCB1OCBjbGtlbl9iaXRzKQoreworCWNvbnN0IHN0cnVjdCBkcGxsX2RhdGEgKmRkOworCisJZGQgPSBjbGstPmRwbGxfZGF0YTsKKworCWNtX3Jtd19yZWdfYml0cyhkZC0+ZW5hYmxlX21hc2ssIGNsa2VuX2JpdHMgPDwgX19mZnMoZGQtPmVuYWJsZV9tYXNrKSwKKwkJCWRkLT5jb250cm9sX3JlZyk7Cit9CisKKy8qIF9vbWFwM193YWl0X2RwbGxfc3RhdHVzOiB3YWl0IGZvciBhIERQTEwgdG8gZW50ZXIgYSBzcGVjaWZpYyBzdGF0ZSAqLworc3RhdGljIGludCBfb21hcDNfd2FpdF9kcGxsX3N0YXR1cyhzdHJ1Y3QgY2xrICpjbGssIHU4IHN0YXRlKQoreworCWNvbnN0IHN0cnVjdCBkcGxsX2RhdGEgKmRkOworCWludCBpID0gMDsKKwlpbnQgcmV0ID0gLUVJTlZBTDsKKwl1MzIgaWRsZXN0X21hc2s7CisKKwlkZCA9IGNsay0+ZHBsbF9kYXRhOworCisJc3RhdGUgPDw9IGRkLT5pZGxlc3RfYml0OworCWlkbGVzdF9tYXNrID0gMSA8PCBkZC0+aWRsZXN0X2JpdDsKKworCXdoaWxlICgoKGNtX3JlYWRfcmVnKGRkLT5pZGxlc3RfcmVnKSAmIGlkbGVzdF9tYXNrKSAhPSBzdGF0ZSkgJiYKKwkgICAgICAgaSA8IE1BWF9EUExMX1dBSVRfVFJJRVMpIHsKKwkJaSsrOworCQl1ZGVsYXkoMSk7CisJfQorCisJaWYgKGkgPT0gTUFYX0RQTExfV0FJVF9UUklFUykgeworCQlwcmludGsoS0VSTl9FUlIgImNsb2NrOiAlcyBmYWlsZWQgdHJhbnNpdGlvbiB0byAnJXMnXG4iLAorCQkgICAgICAgY2xrLT5uYW1lLCAoc3RhdGUpID8gImxvY2tlZCIgOiAiYnlwYXNzZWQiKTsKKwl9IGVsc2UgeworCQlwcl9kZWJ1ZygiY2xvY2s6ICVzIHRyYW5zaXRpb24gdG8gJyVzJyBpbiAlZCBsb29wc1xuIiwKKwkJCSBjbGstPm5hbWUsIChzdGF0ZSkgPyAibG9ja2VkIiA6ICJieXBhc3NlZCIsIGkpOworCisJCXJldCA9IDA7CisJfQorCisJcmV0dXJuIHJldDsKK30KKworLyogTm9uLUNPUkUgRFBMTCAoZS5nLiwgRFBMTHMgdGhhdCBkbyBub3QgY29udHJvbCBTRFJDKSBjbG9jayBmdW5jdGlvbnMgKi8KKworLyoKKyAqIF9vbWFwM19ub25jb3JlX2RwbGxfbG9jayAtIGluc3RydWN0IGEgRFBMTCB0byBsb2NrIGFuZCB3YWl0IGZvciByZWFkaW5lc3MKKyAqIEBjbGs6IHBvaW50ZXIgdG8gYSBEUExMIHN0cnVjdCBjbGsKKyAqCisgKiBJbnN0cnVjdHMgYSBub24tQ09SRSBEUExMIHRvIGxvY2suICBXYWl0cyBmb3IgdGhlIERQTEwgdG8gcmVwb3J0CisgKiByZWFkaW5lc3MgYmVmb3JlIHJldHVybmluZy4gIFdpbGwgc2F2ZSBhbmQgcmVzdG9yZSB0aGUgRFBMTCdzCisgKiBhdXRvaWRsZSBzdGF0ZSBhY3Jvc3MgdGhlIGVuYWJsZSwgcGVyIHRoZSBDRFAgY29kZS4gIElmIHRoZSBEUExMCisgKiBsb2NrZWQgc3VjY2Vzc2Z1bGx5LCByZXR1cm4gMDsgaWYgdGhlIERQTEwgZGlkIG5vdCBsb2NrIGluIHRoZSB0aW1lCisgKiBhbGxvdHRlZCwgb3IgRFBMTDMgd2FzIHBhc3NlZCBpbiwgcmV0dXJuIC1FSU5WQUwuCisgKi8KK3N0YXRpYyBpbnQgX29tYXAzX25vbmNvcmVfZHBsbF9sb2NrKHN0cnVjdCBjbGsgKmNsaykKK3sKKwl1OCBhaTsKKwlpbnQgcjsKKworCWlmIChjbGsgPT0gJmRwbGwzX2NrKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCXByX2RlYnVnKCJjbG9jazogbG9ja2luZyBEUExMICVzXG4iLCBjbGstPm5hbWUpOworCisJYWkgPSBvbWFwM19kcGxsX2F1dG9pZGxlX3JlYWQoY2xrKTsKKworCV9vbWFwM19kcGxsX3dyaXRlX2Nsa2VuKGNsaywgRFBMTF9MT0NLRUQpOworCisJaWYgKGFpKSB7CisJCS8qCisJCSAqIElmIG5vIGRvd25zdHJlYW0gY2xvY2tzIGFyZSBlbmFibGVkLCBDTV9JRExFU1QgYml0CisJCSAqIG1heSBuZXZlciBiZWNvbWUgYWN0aXZlLCBzbyBkb24ndCB3YWl0IGZvciBEUExMIHRvIGxvY2suCisJCSAqLworCQlyID0gMDsKKwkJb21hcDNfZHBsbF9hbGxvd19pZGxlKGNsayk7CisJfSBlbHNlIHsKKwkJciA9IF9vbWFwM193YWl0X2RwbGxfc3RhdHVzKGNsaywgMSk7CisJCW9tYXAzX2RwbGxfZGVueV9pZGxlKGNsayk7CisJfTsKKworCXJldHVybiByOworfQorCisvKgorICogb21hcDNfbm9uY29yZV9kcGxsX2J5cGFzcyAtIGluc3RydWN0IGEgRFBMTCB0byBieXBhc3MgYW5kIHdhaXQgZm9yIHJlYWRpbmVzcworICogQGNsazogcG9pbnRlciB0byBhIERQTEwgc3RydWN0IGNsaworICoKKyAqIEluc3RydWN0cyBhIG5vbi1DT1JFIERQTEwgdG8gZW50ZXIgbG93LXBvd2VyIGJ5cGFzcyBtb2RlLiAgSW4KKyAqIGJ5cGFzcyBtb2RlLCB0aGUgRFBMTCdzIHJhdGUgaXMgc2V0IGVxdWFsIHRvIGl0cyBwYXJlbnQgY2xvY2sncworICogcmF0ZS4gIFdhaXRzIGZvciB0aGUgRFBMTCB0byByZXBvcnQgcmVhZGluZXNzIGJlZm9yZSByZXR1cm5pbmcuCisgKiBXaWxsIHNhdmUgYW5kIHJlc3RvcmUgdGhlIERQTEwncyBhdXRvaWRsZSBzdGF0ZSBhY3Jvc3MgdGhlIGVuYWJsZSwKKyAqIHBlciB0aGUgQ0RQIGNvZGUuICBJZiB0aGUgRFBMTCBlbnRlcmVkIGJ5cGFzcyBtb2RlIHN1Y2Nlc3NmdWxseSwKKyAqIHJldHVybiAwOyBpZiB0aGUgRFBMTCBkaWQgbm90IGVudGVyIGJ5cGFzcyBpbiB0aGUgdGltZSBhbGxvdHRlZCwgb3IKKyAqIERQTEwzIHdhcyBwYXNzZWQgaW4sIG9yIHRoZSBEUExMIGRvZXMgbm90IHN1cHBvcnQgbG93LXBvd2VyIGJ5cGFzcywKKyAqIHJldHVybiAtRUlOVkFMLgorICovCitzdGF0aWMgaW50IF9vbWFwM19ub25jb3JlX2RwbGxfYnlwYXNzKHN0cnVjdCBjbGsgKmNsaykKK3sKKwlpbnQgcjsKKwl1OCBhaTsKKworCWlmIChjbGsgPT0gJmRwbGwzX2NrKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWlmICghKGNsay0+ZHBsbF9kYXRhLT5tb2RlcyAmICgxIDw8IERQTExfTE9XX1BPV0VSX0JZUEFTUykpKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCXByX2RlYnVnKCJjbG9jazogY29uZmlndXJpbmcgRFBMTCAlcyBmb3IgbG93LXBvd2VyIGJ5cGFzc1xuIiwKKwkJIGNsay0+bmFtZSk7CisKKwlhaSA9IG9tYXAzX2RwbGxfYXV0b2lkbGVfcmVhZChjbGspOworCisJX29tYXAzX2RwbGxfd3JpdGVfY2xrZW4oY2xrLCBEUExMX0xPV19QT1dFUl9CWVBBU1MpOworCisJciA9IF9vbWFwM193YWl0X2RwbGxfc3RhdHVzKGNsaywgMCk7CisKKwlpZiAoYWkpCisJCW9tYXAzX2RwbGxfYWxsb3dfaWRsZShjbGspOworCWVsc2UKKwkJb21hcDNfZHBsbF9kZW55X2lkbGUoY2xrKTsKKworCXJldHVybiByOworfQorCisvKgorICogX29tYXAzX25vbmNvcmVfZHBsbF9zdG9wIC0gaW5zdHJ1Y3QgYSBEUExMIHRvIHN0b3AKKyAqIEBjbGs6IHBvaW50ZXIgdG8gYSBEUExMIHN0cnVjdCBjbGsKKyAqCisgKiBJbnN0cnVjdHMgYSBub24tQ09SRSBEUExMIHRvIGVudGVyIGxvdy1wb3dlciBzdG9wLiBXaWxsIHNhdmUgYW5kCisgKiByZXN0b3JlIHRoZSBEUExMJ3MgYXV0b2lkbGUgc3RhdGUgYWNyb3NzIHRoZSBzdG9wLCBwZXIgdGhlIENEUAorICogY29kZS4gIElmIERQTEwzIHdhcyBwYXNzZWQgaW4sIG9yIHRoZSBEUExMIGRvZXMgbm90IHN1cHBvcnQKKyAqIGxvdy1wb3dlciBzdG9wLCByZXR1cm4gLUVJTlZBTDsgb3RoZXJ3aXNlLCByZXR1cm4gMC4KKyAqLworc3RhdGljIGludCBfb21hcDNfbm9uY29yZV9kcGxsX3N0b3Aoc3RydWN0IGNsayAqY2xrKQoreworCXU4IGFpOworCisJaWYgKGNsayA9PSAmZHBsbDNfY2spCisJCXJldHVybiAtRUlOVkFMOworCisJaWYgKCEoY2xrLT5kcGxsX2RhdGEtPm1vZGVzICYgKDEgPDwgRFBMTF9MT1dfUE9XRVJfU1RPUCkpKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCXByX2RlYnVnKCJjbG9jazogc3RvcHBpbmcgRFBMTCAlc1xuIiwgY2xrLT5uYW1lKTsKKworCWFpID0gb21hcDNfZHBsbF9hdXRvaWRsZV9yZWFkKGNsayk7CisKKwlfb21hcDNfZHBsbF93cml0ZV9jbGtlbihjbGssIERQTExfTE9XX1BPV0VSX1NUT1ApOworCisJaWYgKGFpKQorCQlvbWFwM19kcGxsX2FsbG93X2lkbGUoY2xrKTsKKwllbHNlCisJCW9tYXAzX2RwbGxfZGVueV9pZGxlKGNsayk7CisKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBvbWFwM19ub25jb3JlX2RwbGxfZW5hYmxlIC0gaW5zdHJ1Y3QgYSBEUExMIHRvIGVudGVyIGJ5cGFzcyBvciBsb2NrIG1vZGUKKyAqIEBjbGs6IHBvaW50ZXIgdG8gYSBEUExMIHN0cnVjdCBjbGsKKyAqCisgKiBJbnN0cnVjdHMgYSBub24tQ09SRSBEUExMIHRvIGVuYWJsZSwgZS5nLiwgdG8gZW50ZXIgYnlwYXNzIG9yIGxvY2suCisgKiBUaGUgY2hvaWNlIG9mIG1vZGVzIGRlcGVuZHMgb24gdGhlIERQTEwncyBwcm9ncmFtbWVkIHJhdGU6IGlmIGl0IGlzCisgKiB0aGUgc2FtZSBhcyB0aGUgRFBMTCdzIHBhcmVudCBjbG9jaywgaXQgd2lsbCBlbnRlciBieXBhc3M7CisgKiBvdGhlcndpc2UsIGl0IHdpbGwgZW50ZXIgbG9jay4gIFRoaXMgY29kZSB3aWxsIHdhaXQgZm9yIHRoZSBEUExMIHRvCisgKiBpbmRpY2F0ZSByZWFkaW5lc3MgYmVmb3JlIHJldHVybmluZywgdW5sZXNzIHRoZSBEUExMIHRha2VzIHRvbyBsb25nCisgKiB0byBlbnRlciB0aGUgdGFyZ2V0IHN0YXRlLiAgSW50ZW5kZWQgdG8gYmUgdXNlZCBhcyB0aGUgc3RydWN0IGNsaydzCisgKiBlbmFibGUgZnVuY3Rpb24uICBJZiBEUExMMyB3YXMgcGFzc2VkIGluLCBvciB0aGUgRFBMTCBkb2VzIG5vdAorICogc3VwcG9ydCBsb3ctcG93ZXIgc3RvcCwgb3IgaWYgdGhlIERQTEwgdG9vayB0b28gbG9uZyB0byBlbnRlcgorICogYnlwYXNzIG9yIGxvY2ssIHJldHVybiAtRUlOVkFMOyBvdGhlcndpc2UsIHJldHVybiAwLgorICovCitzdGF0aWMgaW50IG9tYXAzX25vbmNvcmVfZHBsbF9lbmFibGUoc3RydWN0IGNsayAqY2xrKQoreworCWludCByOworCisJaWYgKGNsayA9PSAmZHBsbDNfY2spCisJCXJldHVybiAtRUlOVkFMOworCisJaWYgKGNsay0+cGFyZW50LT5yYXRlID09IGNsa19nZXRfcmF0ZShjbGspKQorCQlyID0gX29tYXAzX25vbmNvcmVfZHBsbF9ieXBhc3MoY2xrKTsKKwllbHNlCisJCXIgPSBfb21hcDNfbm9uY29yZV9kcGxsX2xvY2soY2xrKTsKKworCXJldHVybiByOworfQorCisvKioKKyAqIG9tYXAzX25vbmNvcmVfZHBsbF9lbmFibGUgLSBpbnN0cnVjdCBhIERQTEwgdG8gZW50ZXIgYnlwYXNzIG9yIGxvY2sgbW9kZQorICogQGNsazogcG9pbnRlciB0byBhIERQTEwgc3RydWN0IGNsaworICoKKyAqIEluc3RydWN0cyBhIG5vbi1DT1JFIERQTEwgdG8gZW5hYmxlLCBlLmcuLCB0byBlbnRlciBieXBhc3Mgb3IgbG9jay4KKyAqIFRoZSBjaG9pY2Ugb2YgbW9kZXMgZGVwZW5kcyBvbiB0aGUgRFBMTCdzIHByb2dyYW1tZWQgcmF0ZTogaWYgaXQgaXMKKyAqIHRoZSBzYW1lIGFzIHRoZSBEUExMJ3MgcGFyZW50IGNsb2NrLCBpdCB3aWxsIGVudGVyIGJ5cGFzczsKKyAqIG90aGVyd2lzZSwgaXQgd2lsbCBlbnRlciBsb2NrLiAgVGhpcyBjb2RlIHdpbGwgd2FpdCBmb3IgdGhlIERQTEwgdG8KKyAqIGluZGljYXRlIHJlYWRpbmVzcyBiZWZvcmUgcmV0dXJuaW5nLCB1bmxlc3MgdGhlIERQTEwgdGFrZXMgdG9vIGxvbmcKKyAqIHRvIGVudGVyIHRoZSB0YXJnZXQgc3RhdGUuICBJbnRlbmRlZCB0byBiZSB1c2VkIGFzIHRoZSBzdHJ1Y3QgY2xrJ3MKKyAqIGVuYWJsZSBmdW5jdGlvbi4gIElmIERQTEwzIHdhcyBwYXNzZWQgaW4sIG9yIHRoZSBEUExMIGRvZXMgbm90CisgKiBzdXBwb3J0IGxvdy1wb3dlciBzdG9wLCBvciBpZiB0aGUgRFBMTCB0b29rIHRvbyBsb25nIHRvIGVudGVyCisgKiBieXBhc3Mgb3IgbG9jaywgcmV0dXJuIC1FSU5WQUw7IG90aGVyd2lzZSwgcmV0dXJuIDAuCisgKi8KK3N0YXRpYyB2b2lkIG9tYXAzX25vbmNvcmVfZHBsbF9kaXNhYmxlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwlpZiAoY2xrID09ICZkcGxsM19jaykKKwkJcmV0dXJuOworCisJX29tYXAzX25vbmNvcmVfZHBsbF9zdG9wKGNsayk7Cit9CisKKy8qKgorICogb21hcDNfZHBsbF9hdXRvaWRsZV9yZWFkIC0gcmVhZCBhIERQTEwncyBhdXRvaWRsZSBiaXRzCisgKiBAY2xrOiBzdHJ1Y3QgY2xrICogb2YgdGhlIERQTEwgdG8gcmVhZAorICoKKyAqIFJldHVybiB0aGUgRFBMTCdzIGF1dG9pZGxlIGJpdHMsIHNoaWZ0ZWQgZG93biB0byBiaXQgMC4gIFJldHVybnMKKyAqIC1FSU5WQUwgaWYgcGFzc2VkIGEgbnVsbCBwb2ludGVyIG9yIGlmIHRoZSBzdHJ1Y3QgY2xrIGRvZXMgbm90CisgKiBhcHBlYXIgdG8gcmVmZXIgdG8gYSBEUExMLgorICovCitzdGF0aWMgdTMyIG9tYXAzX2RwbGxfYXV0b2lkbGVfcmVhZChzdHJ1Y3QgY2xrICpjbGspCit7CisJY29uc3Qgc3RydWN0IGRwbGxfZGF0YSAqZGQ7CisJdTMyIHY7CisKKwlpZiAoIWNsayB8fCAhY2xrLT5kcGxsX2RhdGEpCisJCXJldHVybiAtRUlOVkFMOworCisJZGQgPSBjbGstPmRwbGxfZGF0YTsKKworCXYgPSBjbV9yZWFkX3JlZyhkZC0+YXV0b2lkbGVfcmVnKTsKKwl2ICY9IGRkLT5hdXRvaWRsZV9tYXNrOworCXYgPj49IF9fZmZzKGRkLT5hdXRvaWRsZV9tYXNrKTsKKworCXJldHVybiB2OworfQorCisvKioKKyAqIG9tYXAzX2RwbGxfYWxsb3dfaWRsZSAtIGVuYWJsZSBEUExMIGF1dG9pZGxlIGJpdHMKKyAqIEBjbGs6IHN0cnVjdCBjbGsgKiBvZiB0aGUgRFBMTCB0byBvcGVyYXRlIG9uCisgKgorICogRW5hYmxlIERQTEwgYXV0b21hdGljIGlkbGUgY29udHJvbC4gIFRoaXMgYXV0b21hdGljIGlkbGUgbW9kZQorICogc3dpdGNoaW5nIHRha2VzIGVmZmVjdCBvbmx5IHdoZW4gdGhlIERQTEwgaXMgbG9ja2VkLCBhdCBsZWFzdCBvbgorICogT01BUDM0MzAuICBUaGUgRFBMTCB3aWxsIGVudGVyIGxvdy1wb3dlciBzdG9wIHdoZW4gaXRzIGRvd25zdHJlYW0KKyAqIGNsb2NrcyBhcmUgZ2F0ZWQuICBObyByZXR1cm4gdmFsdWUuCisgKi8KK3N0YXRpYyB2b2lkIG9tYXAzX2RwbGxfYWxsb3dfaWRsZShzdHJ1Y3QgY2xrICpjbGspCit7CisJY29uc3Qgc3RydWN0IGRwbGxfZGF0YSAqZGQ7CisKKwlpZiAoIWNsayB8fCAhY2xrLT5kcGxsX2RhdGEpCisJCXJldHVybjsKKworCWRkID0gY2xrLT5kcGxsX2RhdGE7CisKKwkvKgorCSAqIFJFVklTSVQ6IENPUkUgRFBMTCBjYW4gb3B0aW9uYWxseSBlbnRlciBsb3ctcG93ZXIgYnlwYXNzCisJICogYnkgd3JpdGluZyAweDUgaW5zdGVhZCBvZiAweDEuICBBZGQgc29tZSBtZWNoYW5pc20gdG8KKwkgKiBvcHRpb25hbGx5IGVudGVyIHRoaXMgbW9kZS4KKwkgKi8KKwljbV9ybXdfcmVnX2JpdHMoZGQtPmF1dG9pZGxlX21hc2ssCisJCQlEUExMX0FVVE9JRExFX0xPV19QT1dFUl9TVE9QIDw8IF9fZmZzKGRkLT5hdXRvaWRsZV9tYXNrKSwKKwkJCWRkLT5hdXRvaWRsZV9yZWcpOworfQorCisvKioKKyAqIG9tYXAzX2RwbGxfZGVueV9pZGxlIC0gcHJldmVudCBEUExMIGZyb20gYXV0b21hdGljYWxseSBpZGxpbmcKKyAqIEBjbGs6IHN0cnVjdCBjbGsgKiBvZiB0aGUgRFBMTCB0byBvcGVyYXRlIG9uCisgKgorICogRGlzYWJsZSBEUExMIGF1dG9tYXRpYyBpZGxlIGNvbnRyb2wuICBObyByZXR1cm4gdmFsdWUuCisgKi8KK3N0YXRpYyB2b2lkIG9tYXAzX2RwbGxfZGVueV9pZGxlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwljb25zdCBzdHJ1Y3QgZHBsbF9kYXRhICpkZDsKKworCWlmICghY2xrIHx8ICFjbGstPmRwbGxfZGF0YSkKKwkJcmV0dXJuOworCisJZGQgPSBjbGstPmRwbGxfZGF0YTsKKworCWNtX3Jtd19yZWdfYml0cyhkZC0+YXV0b2lkbGVfbWFzaywKKwkJCURQTExfQVVUT0lETEVfRElTQUJMRSA8PCBfX2ZmcyhkZC0+YXV0b2lkbGVfbWFzayksCisJCQlkZC0+YXV0b2lkbGVfcmVnKTsKK30KKworLyogQ2xvY2sgY29udHJvbCBmb3IgRFBMTCBvdXRwdXRzICovCisKIC8qKgogICogb21hcDNfY2xrb3V0eDJfcmVjYWxjIC0gcmVjYWxjdWxhdGUgRFBMTCBYMiBvdXRwdXQgdmlydHVhbCBjbG9jayByYXRlCiAgKiBAY2xrOiBEUExMIG91dHB1dCBzdHJ1Y3QgY2xrCkBAIC04OSw2ICszNzgsOCBAQAogCQlwcm9wYWdhdGVfcmF0ZShjbGspOwogfQogCisvKiBDb21tb24gY2xvY2sgY29kZSAqLworCiAvKgogICogQXMgaXQgaXMgc3RydWN0dXJlZCBub3csIHRoaXMgd2lsbCBwcmV2ZW50IGFuIE9NQVAyLzMgbXVsdGlib290CiAgKiBrZXJuZWwgZnJvbSBjb21waWxpbmcuICBUaGlzIHdpbGwgbmVlZCBmdXJ0aGVyIGF0dGVudGlvbi4KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtb21hcDIvY2xvY2szNHh4LmggYi9hcmNoL2FybS9tYWNoLW9tYXAyL2Nsb2NrMzR4eC5oCmluZGV4IGM5YzU5NzIuLjA1NzU3ZWIgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtb21hcDIvY2xvY2szNHh4LmgKKysrIGIvYXJjaC9hcm0vbWFjaC1vbWFwMi9jbG9jazM0eHguaApAQCAtMSwxNCArMSwxOSBAQAogLyoKICAqIE9NQVAzIGNsb2NrIGZyYW1ld29yawogICoKLSAqIFZpcnR1YWwgY2xvY2tzIGFyZSBpbnRyb2R1Y2VkIGFzIGEgY29udmVuaWVudCB0b29scy4KLSAqIFRoZXkgYXJlIHNvdXJjZXMgZm9yIG90aGVyIGNsb2NrcyBhbmQgbm90IHN1cHBvc2VkCi0gKiB0byBiZSByZXF1ZXN0ZWQgZnJvbSBkcml2ZXJzIGRpcmVjdGx5LgotICoKICAqIENvcHlyaWdodCAoQykgMjAwNy0yMDA4IFRleGFzIEluc3RydW1lbnRzLCBJbmMuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDctMjAwOCBOb2tpYSBDb3Jwb3JhdGlvbgogICoKICAqIFdyaXR0ZW4gYnkgUGF1bCBXYWxtc2xleQorICogV2l0aCBtYW55IGRldmljZSBjbG9jayBmaXhlcyBieSBLZXZpbiBIaWxtYW4gYW5kIEpvdW5pIEjDtmdhbmRlcgorICogRFBMTCBieXBhc3MgY2xvY2sgc3VwcG9ydCBhZGRlZCBieSBSb21hbiBUZXJlc2hvbmtvdgorICoKKyAqLworCisvKgorICogVmlydHVhbCBjbG9ja3MgYXJlIGludHJvZHVjZWQgYXMgY29udmVuaWVudCB0b29scy4KKyAqIFRoZXkgYXJlIHNvdXJjZXMgZm9yIG90aGVyIGNsb2NrcyBhbmQgbm90IHN1cHBvc2VkCisgKiB0byBiZSByZXF1ZXN0ZWQgZnJvbSBkcml2ZXJzIGRpcmVjdGx5LgogICovCiAKICNpZm5kZWYgX19BUkNIX0FSTV9NQUNIX09NQVAyX0NMT0NLMzRYWF9ICkBAIC0yNCw2ICsyOSwxNSBAQAogCiBzdGF0aWMgdm9pZCBvbWFwM19kcGxsX3JlY2FsYyhzdHJ1Y3QgY2xrICpjbGspOwogc3RhdGljIHZvaWQgb21hcDNfY2xrb3V0eDJfcmVjYWxjKHN0cnVjdCBjbGsgKmNsayk7CitzdGF0aWMgdm9pZCBvbWFwM19kcGxsX2FsbG93X2lkbGUoc3RydWN0IGNsayAqY2xrKTsKK3N0YXRpYyB2b2lkIG9tYXAzX2RwbGxfZGVueV9pZGxlKHN0cnVjdCBjbGsgKmNsayk7CitzdGF0aWMgdTMyIG9tYXAzX2RwbGxfYXV0b2lkbGVfcmVhZChzdHJ1Y3QgY2xrICpjbGspOworc3RhdGljIGludCBvbWFwM19ub25jb3JlX2RwbGxfZW5hYmxlKHN0cnVjdCBjbGsgKmNsayk7CitzdGF0aWMgdm9pZCBvbWFwM19ub25jb3JlX2RwbGxfZGlzYWJsZShzdHJ1Y3QgY2xrICpjbGspOworCisvKiBNYXhpbXVtIERQTEwgbXVsdGlwbGllciwgZGl2aWRlciB2YWx1ZXMgZm9yIE9NQVAzICovCisjZGVmaW5lIE9NQVAzX01BWF9EUExMX01VTFQJCTIwNDgKKyNkZWZpbmUgT01BUDNfTUFYX0RQTExfRElWCQkxMjgKIAogLyoKICAqIERQTEwxIHN1cHBsaWVzIGNsb2NrIHRvIHRoZSBNUFUuCkBAIC0zMyw2ICs0NywxMSBAQAogICogRFBMTDUgc3VwcGxpZXMgb3RoZXIgcGVyaXBoZXJhbCBjbG9ja3MgKFVTQkhPU1QsIFVTSU0pLgogICovCiAKKy8qIENNX0NMS0VOX1BMTCouRU4qIGJpdCB2YWx1ZXMgLSBub3QgYWxsIGFyZSBhdmFpbGFibGUgZm9yIGV2ZXJ5IERQTEwgKi8KKyNkZWZpbmUgRFBMTF9MT1dfUE9XRVJfU1RPUAkJMHgxCisjZGVmaW5lIERQTExfTE9XX1BPV0VSX0JZUEFTUwkJMHg1CisjZGVmaW5lIERQTExfTE9DS0VECQkJMHg3CisKIC8qIFBSTSBDTE9DS1MgKi8KIAogLyogQWNjb3JkaW5nIHRvIHRpbWVyMzJrLmMsIHRoaXMgaXMgYSAzMjc2OEh6IGNsb2NrLCBub3QgYSAzMjAwMEh6IGNsb2NrLiAqLwpAQCAtMjQwLDE1ICsyNTksMjMgQEAKIC8qIERQTEwxICovCiAvKiBNUFUgY2xvY2sgc291cmNlICovCiAvKiBUeXBlOiBEUExMICovCi1zdGF0aWMgY29uc3Qgc3RydWN0IGRwbGxfZGF0YSBkcGxsMV9kZCA9IHsKK3N0YXRpYyBzdHJ1Y3QgZHBsbF9kYXRhIGRwbGwxX2RkID0gewogCS5tdWx0X2RpdjFfcmVnCT0gT01BUF9DTV9SRUdBRERSKE1QVV9NT0QsIE9NQVAzNDMwX0NNX0NMS1NFTDFfUExMKSwKIAkubXVsdF9tYXNrCT0gT01BUDM0MzBfTVBVX0RQTExfTVVMVF9NQVNLLAogCS5kaXYxX21hc2sJPSBPTUFQMzQzMF9NUFVfRFBMTF9ESVZfTUFTSywKIAkuY29udHJvbF9yZWcJPSBPTUFQX0NNX1JFR0FERFIoTVBVX01PRCwgT01BUDM0MzBfQ01fQ0xLRU5fUExMKSwKIAkuZW5hYmxlX21hc2sJPSBPTUFQMzQzMF9FTl9NUFVfRFBMTF9NQVNLLAorCS5tb2RlcwkJPSAoMSA8PCBEUExMX0xPV19QT1dFUl9CWVBBU1MpIHwgKDEgPDwgRFBMTF9MT0NLRUQpLAogCS5hdXRvX3JlY2FsX2JpdAk9IE9NQVAzNDMwX0VOX01QVV9EUExMX0RSSUZUR1VBUkRfU0hJRlQsCiAJLnJlY2FsX2VuX2JpdAk9IE9NQVAzNDMwX01QVV9EUExMX1JFQ0FMX0VOX1NISUZULAogCS5yZWNhbF9zdF9iaXQJPSBPTUFQMzQzMF9NUFVfRFBMTF9TVF9TSElGVCwKKwkuYXV0b2lkbGVfcmVnCT0gT01BUF9DTV9SRUdBRERSKE1QVV9NT0QsIE9NQVAzNDMwX0NNX0FVVE9JRExFX1BMTCksCisJLmF1dG9pZGxlX21hc2sJPSBPTUFQMzQzMF9BVVRPX01QVV9EUExMX01BU0ssCisJLmlkbGVzdF9yZWcJPSBPTUFQX0NNX1JFR0FERFIoTVBVX01PRCwgT01BUDM0MzBfQ01fSURMRVNUX1BMTCksCisJLmlkbGVzdF9iaXQJPSBPTUFQMzQzMF9TVF9NUFVfQ0xLX1NISUZULAorCS5tYXhfbXVsdGlwbGllciA9IE9NQVAzX01BWF9EUExMX01VTFQsCisJLm1heF9kaXZpZGVyCT0gT01BUDNfTUFYX0RQTExfRElWLAorCS5yYXRlX3RvbGVyYW5jZSA9IERFRkFVTFRfRFBMTF9SQVRFX1RPTEVSQU5DRQogfTsKIAogc3RhdGljIHN0cnVjdCBjbGsgZHBsbDFfY2sgPSB7CkBAIC0yNTYsNiArMjgzLDcgQEAKIAkucGFyZW50CQk9ICZzeXNfY2ssCiAJLmRwbGxfZGF0YQk9ICZkcGxsMV9kZCwKIAkuZmxhZ3MJCT0gQ0xPQ0tfSU5fT01BUDM0M1ggfCBSQVRFX1BST1BBR0FURVMgfCBBTFdBWVNfRU5BQkxFRCwKKwkucm91bmRfcmF0ZQk9ICZvbWFwMl9kcGxsX3JvdW5kX3JhdGUsCiAJLnJlY2FsYwkJPSAmb21hcDNfZHBsbF9yZWNhbGMsCiB9OwogCkBAIC0yOTcsMjIgKzMyNSwzNCBAQAogLyogSVZBMiBjbG9jayBzb3VyY2UgKi8KIC8qIFR5cGU6IERQTEwgKi8KIAotc3RhdGljIGNvbnN0IHN0cnVjdCBkcGxsX2RhdGEgZHBsbDJfZGQgPSB7CitzdGF0aWMgc3RydWN0IGRwbGxfZGF0YSBkcGxsMl9kZCA9IHsKIAkubXVsdF9kaXYxX3JlZwk9IE9NQVBfQ01fUkVHQUREUihPTUFQMzQzMF9JVkEyX01PRCwgT01BUDM0MzBfQ01fQ0xLU0VMMV9QTEwpLAogCS5tdWx0X21hc2sJPSBPTUFQMzQzMF9JVkEyX0RQTExfTVVMVF9NQVNLLAogCS5kaXYxX21hc2sJPSBPTUFQMzQzMF9JVkEyX0RQTExfRElWX01BU0ssCiAJLmNvbnRyb2xfcmVnCT0gT01BUF9DTV9SRUdBRERSKE9NQVAzNDMwX0lWQTJfTU9ELCBPTUFQMzQzMF9DTV9DTEtFTl9QTEwpLAogCS5lbmFibGVfbWFzawk9IE9NQVAzNDMwX0VOX0lWQTJfRFBMTF9NQVNLLAorCS5tb2RlcwkJPSAoMSA8PCBEUExMX0xPV19QT1dFUl9TVE9QKSB8ICgxIDw8IERQTExfTE9DS0VEKSB8CisJCQkJKDEgPDwgRFBMTF9MT1dfUE9XRVJfQllQQVNTKSwKIAkuYXV0b19yZWNhbF9iaXQJPSBPTUFQMzQzMF9FTl9JVkEyX0RQTExfRFJJRlRHVUFSRF9TSElGVCwKIAkucmVjYWxfZW5fYml0CT0gT01BUDM0MzBfUFJNX0lSUUVOQUJMRV9NUFVfSVZBMl9EUExMX1JFQ0FMX0VOX1NISUZULAogCS5yZWNhbF9zdF9iaXQJPSBPTUFQMzQzMF9QUk1fSVJRU1RBVFVTX01QVV9JVkEyX0RQTExfU1RfU0hJRlQsCisJLmF1dG9pZGxlX3JlZwk9IE9NQVBfQ01fUkVHQUREUihPTUFQMzQzMF9JVkEyX01PRCwgT01BUDM0MzBfQ01fQVVUT0lETEVfUExMKSwKKwkuYXV0b2lkbGVfbWFzawk9IE9NQVAzNDMwX0FVVE9fSVZBMl9EUExMX01BU0ssCisJLmlkbGVzdF9yZWcJPSBPTUFQX0NNX1JFR0FERFIoT01BUDM0MzBfSVZBMl9NT0QsIE9NQVAzNDMwX0NNX0lETEVTVF9QTEwpLAorCS5pZGxlc3RfYml0CT0gT01BUDM0MzBfU1RfSVZBMl9DTEtfU0hJRlQsCisJLm1heF9tdWx0aXBsaWVyID0gT01BUDNfTUFYX0RQTExfTVVMVCwKKwkubWF4X2RpdmlkZXIJPSBPTUFQM19NQVhfRFBMTF9ESVYsCisJLnJhdGVfdG9sZXJhbmNlID0gREVGQVVMVF9EUExMX1JBVEVfVE9MRVJBTkNFCiB9OwogCiBzdGF0aWMgc3RydWN0IGNsayBkcGxsMl9jayA9IHsKIAkubmFtZQkJPSAiZHBsbDJfY2siLAogCS5wYXJlbnQJCT0gJnN5c19jaywKIAkuZHBsbF9kYXRhCT0gJmRwbGwyX2RkLAotCS5mbGFncwkJPSBDTE9DS19JTl9PTUFQMzQzWCB8IFJBVEVfUFJPUEFHQVRFUyB8IEFMV0FZU19FTkFCTEVELAorCS5mbGFncwkJPSBDTE9DS19JTl9PTUFQMzQzWCB8IFJBVEVfUFJPUEFHQVRFUywKKwkuZW5hYmxlCQk9ICZvbWFwM19ub25jb3JlX2RwbGxfZW5hYmxlLAorCS5kaXNhYmxlCT0gJm9tYXAzX25vbmNvcmVfZHBsbF9kaXNhYmxlLAorCS5yb3VuZF9yYXRlCT0gJm9tYXAyX2RwbGxfcm91bmRfcmF0ZSwKIAkucmVjYWxjCQk9ICZvbWFwM19kcGxsX3JlY2FsYywKIH07CiAKQEAgLTMzOCwxMCArMzc4LDEyIEBACiAJLnJlY2FsYwkJPSAmb21hcDJfY2xrc2VsX3JlY2FsYywKIH07CiAKLS8qIERQTEwzICovCi0vKiBTb3VyY2UgY2xvY2sgZm9yIGFsbCBpbnRlcmZhY2VzIGFuZCBmb3Igc29tZSBkZXZpY2UgZmNsa3MgKi8KLS8qIFR5cGU6IERQTEwgKi8KLXN0YXRpYyBjb25zdCBzdHJ1Y3QgZHBsbF9kYXRhIGRwbGwzX2RkID0geworLyoKKyAqIERQTEwzCisgKiBTb3VyY2UgY2xvY2sgZm9yIGFsbCBpbnRlcmZhY2VzIGFuZCBmb3Igc29tZSBkZXZpY2UgZmNsa3MKKyAqIFJFVklTSVQ6IEFsc28gc3VwcG9ydHMgZmFzdCByZWxvY2sgYnlwYXNzIC0gbm90IGluY2x1ZGVkIGJlbG93CisgKi8KK3N0YXRpYyBzdHJ1Y3QgZHBsbF9kYXRhIGRwbGwzX2RkID0gewogCS5tdWx0X2RpdjFfcmVnCT0gT01BUF9DTV9SRUdBRERSKFBMTF9NT0QsIENNX0NMS1NFTDEpLAogCS5tdWx0X21hc2sJPSBPTUFQMzQzMF9DT1JFX0RQTExfTVVMVF9NQVNLLAogCS5kaXYxX21hc2sJPSBPTUFQMzQzMF9DT1JFX0RQTExfRElWX01BU0ssCkBAIC0zNTAsNiArMzkyLDExIEBACiAJLmF1dG9fcmVjYWxfYml0CT0gT01BUDM0MzBfRU5fQ09SRV9EUExMX0RSSUZUR1VBUkRfU0hJRlQsCiAJLnJlY2FsX2VuX2JpdAk9IE9NQVAzNDMwX0NPUkVfRFBMTF9SRUNBTF9FTl9TSElGVCwKIAkucmVjYWxfc3RfYml0CT0gT01BUDM0MzBfQ09SRV9EUExMX1NUX1NISUZULAorCS5hdXRvaWRsZV9yZWcJPSBPTUFQX0NNX1JFR0FERFIoUExMX01PRCwgQ01fQVVUT0lETEUpLAorCS5hdXRvaWRsZV9tYXNrCT0gT01BUDM0MzBfQVVUT19DT1JFX0RQTExfTUFTSywKKwkubWF4X211bHRpcGxpZXIgPSBPTUFQM19NQVhfRFBMTF9NVUxULAorCS5tYXhfZGl2aWRlcgk9IE9NQVAzX01BWF9EUExMX0RJViwKKwkucmF0ZV90b2xlcmFuY2UgPSBERUZBVUxUX0RQTExfUkFURV9UT0xFUkFOQ0UKIH07CiAKIHN0YXRpYyBzdHJ1Y3QgY2xrIGRwbGwzX2NrID0gewpAQCAtMzU3LDYgKzQwNCw3IEBACiAJLnBhcmVudAkJPSAmc3lzX2NrLAogCS5kcGxsX2RhdGEJPSAmZHBsbDNfZGQsCiAJLmZsYWdzCQk9IENMT0NLX0lOX09NQVAzNDNYIHwgUkFURV9QUk9QQUdBVEVTIHwgQUxXQVlTX0VOQUJMRUQsCisJLnJvdW5kX3JhdGUJPSAmb21hcDJfZHBsbF9yb3VuZF9yYXRlLAogCS5yZWNhbGMJCT0gJm9tYXAzX2RwbGxfcmVjYWxjLAogfTsKIApAQCAtNDM5LDcgKzQ4Nyw3IEBACiAJLm5hbWUJCT0gImNvcmVfY2siLAogCS5pbml0CQk9ICZvbWFwMl9pbml0X2Nsa3NlbF9wYXJlbnQsCiAJLmNsa3NlbF9yZWcJPSBPTUFQX0NNX1JFR0FERFIoUExMX01PRCwgQ01fSURMRVNUKSwKLQkuY2xrc2VsX21hc2sJPSBPTUFQMzQzMF9TVF9DT1JFX0NMSywKKwkuY2xrc2VsX21hc2sJPSBPTUFQMzQzMF9TVF9DT1JFX0NMS19NQVNLLAogCS5jbGtzZWwJCT0gY29yZV9ja19jbGtzZWwsCiAJLmZsYWdzCQk9IENMT0NLX0lOX09NQVAzNDNYIHwgUkFURV9QUk9QQUdBVEVTIHwKIAkJCQlQQVJFTlRfQ09OVFJPTFNfQ0xPQ0ssCkBAIC00NTYsNyArNTA0LDcgQEAKIAkubmFtZQkJPSAiZHBsbDNfbTJ4Ml9jayIsCiAJLmluaXQJCT0gJm9tYXAyX2luaXRfY2xrc2VsX3BhcmVudCwKIAkuY2xrc2VsX3JlZwk9IE9NQVBfQ01fUkVHQUREUihQTExfTU9ELCBDTV9JRExFU1QpLAotCS5jbGtzZWxfbWFzawk9IE9NQVAzNDMwX1NUX0NPUkVfQ0xLLAorCS5jbGtzZWxfbWFzawk9IE9NQVAzNDMwX1NUX0NPUkVfQ0xLX01BU0ssCiAJLmNsa3NlbAkJPSBkcGxsM19tMngyX2NrX2Nsa3NlbCwKIAkuZmxhZ3MJCT0gQ0xPQ0tfSU5fT01BUDM0M1ggfCBSQVRFX1BST1BBR0FURVMgfAogCQkJCVBBUkVOVF9DT05UUk9MU19DTE9DSywKQEAgLTUwMyw3ICs1NTEsNyBAQAogCS5wYXJlbnQJCT0gJmRwbGwzX20zeDJfY2ssCiAJLmluaXQJCT0gJm9tYXAyX2luaXRfY2xrc2VsX3BhcmVudCwKIAkuY2xrc2VsX3JlZwk9IE9NQVBfQ01fUkVHQUREUihQTExfTU9ELCBDTV9JRExFU1QpLAotCS5jbGtzZWxfbWFzawk9IE9NQVAzNDMwX1NUX0NPUkVfQ0xLLAorCS5jbGtzZWxfbWFzawk9IE9NQVAzNDMwX1NUX0NPUkVfQ0xLX01BU0ssCiAJLmNsa3NlbAkJPSBlbXVfY29yZV9hbHdvbl9ja19jbGtzZWwsCiAJLmZsYWdzCQk9IENMT0NLX0lOX09NQVAzNDNYIHwgUkFURV9QUk9QQUdBVEVTIHwKIAkJCQlQQVJFTlRfQ09OVFJPTFNfQ0xPQ0ssCkBAIC01MTMsMjIgKzU2MSwzMyBAQAogLyogRFBMTDQgKi8KIC8qIFN1cHBsaWVzIDk2TUh6LCA1NE1oeiBUViBEQUMsIERTUyBmY2xrLCBDQU0gc2Vuc29yIGNsb2NrLCBlbXVsIHRyYWNlIGNsayAqLwogLyogVHlwZTogRFBMTCAqLwotc3RhdGljIGNvbnN0IHN0cnVjdCBkcGxsX2RhdGEgZHBsbDRfZGQgPSB7CitzdGF0aWMgc3RydWN0IGRwbGxfZGF0YSBkcGxsNF9kZCA9IHsKIAkubXVsdF9kaXYxX3JlZwk9IE9NQVBfQ01fUkVHQUREUihQTExfTU9ELCBDTV9DTEtTRUwyKSwKIAkubXVsdF9tYXNrCT0gT01BUDM0MzBfUEVSSVBIX0RQTExfTVVMVF9NQVNLLAogCS5kaXYxX21hc2sJPSBPTUFQMzQzMF9QRVJJUEhfRFBMTF9ESVZfTUFTSywKIAkuY29udHJvbF9yZWcJPSBPTUFQX0NNX1JFR0FERFIoUExMX01PRCwgQ01fQ0xLRU4pLAogCS5lbmFibGVfbWFzawk9IE9NQVAzNDMwX0VOX1BFUklQSF9EUExMX01BU0ssCisJLm1vZGVzCQk9ICgxIDw8IERQTExfTE9XX1BPV0VSX1NUT1ApIHwgKDEgPDwgRFBMTF9MT0NLRUQpLAogCS5hdXRvX3JlY2FsX2JpdAk9IE9NQVAzNDMwX0VOX1BFUklQSF9EUExMX0RSSUZUR1VBUkRfU0hJRlQsCiAJLnJlY2FsX2VuX2JpdAk9IE9NQVAzNDMwX1BFUklQSF9EUExMX1JFQ0FMX0VOX1NISUZULAogCS5yZWNhbF9zdF9iaXQJPSBPTUFQMzQzMF9QRVJJUEhfRFBMTF9TVF9TSElGVCwKKwkuYXV0b2lkbGVfcmVnCT0gT01BUF9DTV9SRUdBRERSKFBMTF9NT0QsIENNX0FVVE9JRExFKSwKKwkuYXV0b2lkbGVfbWFzawk9IE9NQVAzNDMwX0FVVE9fUEVSSVBIX0RQTExfTUFTSywKKwkuaWRsZXN0X3JlZwk9IE9NQVBfQ01fUkVHQUREUihQTExfTU9ELCBDTV9JRExFU1QpLAorCS5pZGxlc3RfYml0CT0gT01BUDM0MzBfU1RfUEVSSVBIX0NMS19TSElGVCwKKwkubWF4X211bHRpcGxpZXIgPSBPTUFQM19NQVhfRFBMTF9NVUxULAorCS5tYXhfZGl2aWRlcgk9IE9NQVAzX01BWF9EUExMX0RJViwKKwkucmF0ZV90b2xlcmFuY2UgPSBERUZBVUxUX0RQTExfUkFURV9UT0xFUkFOQ0UKIH07CiAKIHN0YXRpYyBzdHJ1Y3QgY2xrIGRwbGw0X2NrID0gewogCS5uYW1lCQk9ICJkcGxsNF9jayIsCiAJLnBhcmVudAkJPSAmc3lzX2NrLAogCS5kcGxsX2RhdGEJPSAmZHBsbDRfZGQsCi0JLmZsYWdzCQk9IENMT0NLX0lOX09NQVAzNDNYIHwgUkFURV9QUk9QQUdBVEVTIHwgQUxXQVlTX0VOQUJMRUQsCisJLmZsYWdzCQk9IENMT0NLX0lOX09NQVAzNDNYIHwgUkFURV9QUk9QQUdBVEVTLAorCS5lbmFibGUJCT0gJm9tYXAzX25vbmNvcmVfZHBsbF9lbmFibGUsCisJLmRpc2FibGUJPSAmb21hcDNfbm9uY29yZV9kcGxsX2Rpc2FibGUsCisJLnJvdW5kX3JhdGUJPSAmb21hcDJfZHBsbF9yb3VuZF9yYXRlLAogCS5yZWNhbGMJCT0gJm9tYXAzX2RwbGxfcmVjYWxjLAogfTsKIApAQCAtNTg0LDcgKzY0Myw3IEBACiAJLnBhcmVudAkJPSAmZHBsbDRfbTJ4Ml9jaywKIAkuaW5pdAkJPSAmb21hcDJfaW5pdF9jbGtzZWxfcGFyZW50LAogCS5jbGtzZWxfcmVnCT0gT01BUF9DTV9SRUdBRERSKFBMTF9NT0QsIENNX0lETEVTVCksCi0JLmNsa3NlbF9tYXNrCT0gT01BUDM0MzBfU1RfUEVSSVBIX0NMSywKKwkuY2xrc2VsX21hc2sJPSBPTUFQMzQzMF9TVF9QRVJJUEhfQ0xLX01BU0ssCiAJLmNsa3NlbAkJPSBvbWFwXzk2bV9hbHdvbl9mY2tfY2xrc2VsLAogCS5mbGFncwkJPSBDTE9DS19JTl9PTUFQMzQzWCB8IFJBVEVfUFJPUEFHQVRFUyB8CiAJCQkJIFBBUkVOVF9DT05UUk9MU19DTE9DSywKQEAgLTYxMCw3ICs2NjksNyBAQAogCS5wYXJlbnQJCT0gJmRwbGw0X20yeDJfY2ssCiAJLmluaXQJCT0gJm9tYXAyX2luaXRfY2xrc2VsX3BhcmVudCwKIAkuY2xrc2VsX3JlZwk9IE9NQVBfQ01fUkVHQUREUihQTExfTU9ELCBDTV9JRExFU1QpLAotCS5jbGtzZWxfbWFzawk9IE9NQVAzNDMwX1NUX1BFUklQSF9DTEssCisJLmNsa3NlbF9tYXNrCT0gT01BUDM0MzBfU1RfUEVSSVBIX0NMS19NQVNLLAogCS5jbGtzZWwJCT0gY21fOTZtX2Zja19jbGtzZWwsCiAJLmZsYWdzCQk9IENMT0NLX0lOX09NQVAzNDNYIHwgUkFURV9QUk9QQUdBVEVTIHwKIAkJCQlQQVJFTlRfQ09OVFJPTFNfQ0xPQ0ssCkBAIC02NTIsNyArNzExLDcgQEAKIAkucGFyZW50CQk9ICZkcGxsNF9tM3gyX2NrLAogCS5pbml0CQk9ICZvbWFwMl9pbml0X2Nsa3NlbF9wYXJlbnQsCiAJLmNsa3NlbF9yZWcJPSBPTUFQX0NNX1JFR0FERFIoUExMX01PRCwgQ01fSURMRVNUKSwKLQkuY2xrc2VsX21hc2sJPSBPTUFQMzQzMF9TVF9QRVJJUEhfQ0xLLAorCS5jbGtzZWxfbWFzawk9IE9NQVAzNDMwX1NUX1BFUklQSF9DTEtfTUFTSywKIAkuY2xrc2VsCQk9IHZpcnRfb21hcF81NG1fZmNrX2Nsa3NlbCwKIAkuZmxhZ3MJCT0gQ0xPQ0tfSU5fT01BUDM0M1ggfCBSQVRFX1BST1BBR0FURVMgfAogCQkJCVBBUkVOVF9DT05UUk9MU19DTE9DSywKQEAgLTgwNCwyMyArODYzLDMzIEBACiAvKiBTdXBwbGllcyAxMjBNSHogY2xvY2ssIFVTSU0gc291cmNlIGNsb2NrICovCiAvKiBUeXBlOiBEUExMICovCiAvKiAzNDMwRVMyIG9ubHkgKi8KLXN0YXRpYyBjb25zdCBzdHJ1Y3QgZHBsbF9kYXRhIGRwbGw1X2RkID0geworc3RhdGljIHN0cnVjdCBkcGxsX2RhdGEgZHBsbDVfZGQgPSB7CiAJLm11bHRfZGl2MV9yZWcJPSBPTUFQX0NNX1JFR0FERFIoUExMX01PRCwgT01BUDM0MzBFUzJfQ01fQ0xLU0VMNCksCiAJLm11bHRfbWFzawk9IE9NQVAzNDMwRVMyX1BFUklQSDJfRFBMTF9NVUxUX01BU0ssCiAJLmRpdjFfbWFzawk9IE9NQVAzNDMwRVMyX1BFUklQSDJfRFBMTF9ESVZfTUFTSywKIAkuY29udHJvbF9yZWcJPSBPTUFQX0NNX1JFR0FERFIoUExMX01PRCwgT01BUDM0MzBFUzJfQ01fQ0xLRU4yKSwKIAkuZW5hYmxlX21hc2sJPSBPTUFQMzQzMEVTMl9FTl9QRVJJUEgyX0RQTExfTUFTSywKKwkubW9kZXMJCT0gKDEgPDwgRFBMTF9MT1dfUE9XRVJfU1RPUCkgfCAoMSA8PCBEUExMX0xPQ0tFRCksCiAJLmF1dG9fcmVjYWxfYml0CT0gT01BUDM0MzBFUzJfRU5fUEVSSVBIMl9EUExMX0RSSUZUR1VBUkRfU0hJRlQsCiAJLnJlY2FsX2VuX2JpdAk9IE9NQVAzNDMwRVMyX1NORF9QRVJJUEhfRFBMTF9SRUNBTF9FTl9TSElGVCwKIAkucmVjYWxfc3RfYml0CT0gT01BUDM0MzBFUzJfU05EX1BFUklQSF9EUExMX1NUX1NISUZULAorCS5hdXRvaWRsZV9yZWcJPSBPTUFQX0NNX1JFR0FERFIoUExMX01PRCwgT01BUDM0MzBFUzJfQ01fQVVUT0lETEUyX1BMTCksCisJLmF1dG9pZGxlX21hc2sJPSBPTUFQMzQzMEVTMl9BVVRPX1BFUklQSDJfRFBMTF9NQVNLLAorCS5pZGxlc3RfcmVnCT0gT01BUF9DTV9SRUdBRERSKFBMTF9NT0QsIENNX0lETEVTVDIpLAorCS5pZGxlc3RfYml0CT0gT01BUDM0MzBFUzJfU1RfUEVSSVBIMl9DTEtfU0hJRlQsCisJLm1heF9tdWx0aXBsaWVyID0gT01BUDNfTUFYX0RQTExfTVVMVCwKKwkubWF4X2RpdmlkZXIJPSBPTUFQM19NQVhfRFBMTF9ESVYsCisJLnJhdGVfdG9sZXJhbmNlID0gREVGQVVMVF9EUExMX1JBVEVfVE9MRVJBTkNFCiB9OwogCiBzdGF0aWMgc3RydWN0IGNsayBkcGxsNV9jayA9IHsKIAkubmFtZQkJPSAiZHBsbDVfY2siLAogCS5wYXJlbnQJCT0gJnN5c19jaywKIAkuZHBsbF9kYXRhCT0gJmRwbGw1X2RkLAotCS5mbGFncwkJPSBDTE9DS19JTl9PTUFQMzQzMEVTMiB8IFJBVEVfUFJPUEFHQVRFUyB8Ci0JCQkJQUxXQVlTX0VOQUJMRUQsCisJLmZsYWdzCQk9IENMT0NLX0lOX09NQVAzNDMwRVMyIHwgUkFURV9QUk9QQUdBVEVTLAorCS5lbmFibGUJCT0gJm9tYXAzX25vbmNvcmVfZHBsbF9lbmFibGUsCisJLmRpc2FibGUJPSAmb21hcDNfbm9uY29yZV9kcGxsX2Rpc2FibGUsCisJLnJvdW5kX3JhdGUJPSAmb21hcDJfZHBsbF9yb3VuZF9yYXRlLAogCS5yZWNhbGMJCT0gJm9tYXAzX2RwbGxfcmVjYWxjLAogfTsKIApAQCAtMTM2NSw3ICsxNDM0LDggQEAKIH07CiAKIHN0YXRpYyBzdHJ1Y3QgY2xrIG1jYnNwNV9mY2sgPSB7Ci0JLm5hbWUJCT0gIm1jYnNwNV9mY2siLAorCS5uYW1lCQk9ICJtY2JzcF9mY2siLAorCS5pZAkJPSA1LAogCS5pbml0CQk9ICZvbWFwMl9pbml0X2Nsa3NlbF9wYXJlbnQsCiAJLmVuYWJsZV9yZWcJPSBPTUFQX0NNX1JFR0FERFIoQ09SRV9NT0QsIENNX0ZDTEtFTjEpLAogCS5lbmFibGVfYml0CT0gT01BUDM0MzBfRU5fTUNCU1A1X1NISUZULApAQCAtMTM3Nyw3ICsxNDQ3LDggQEAKIH07CiAKIHN0YXRpYyBzdHJ1Y3QgY2xrIG1jYnNwMV9mY2sgPSB7Ci0JLm5hbWUJCT0gIm1jYnNwMV9mY2siLAorCS5uYW1lCQk9ICJtY2JzcF9mY2siLAorCS5pZAkJPSAxLAogCS5pbml0CQk9ICZvbWFwMl9pbml0X2Nsa3NlbF9wYXJlbnQsCiAJLmVuYWJsZV9yZWcJPSBPTUFQX0NNX1JFR0FERFIoQ09SRV9NT0QsIENNX0ZDTEtFTjEpLAogCS5lbmFibGVfYml0CT0gT01BUDM0MzBfRU5fTUNCU1AxX1NISUZULApAQCAtMTc4OSw3ICsxODYwLDggQEAKIH07CiAKIHN0YXRpYyBzdHJ1Y3QgY2xrIG1jYnNwNV9pY2sgPSB7Ci0JLm5hbWUJCT0gIm1jYnNwNV9pY2siLAorCS5uYW1lCQk9ICJtY2JzcF9pY2siLAorCS5pZAkJPSA1LAogCS5wYXJlbnQJCT0gJmNvcmVfbDRfaWNrLAogCS5lbmFibGVfcmVnCT0gT01BUF9DTV9SRUdBRERSKENPUkVfTU9ELCBDTV9JQ0xLRU4xKSwKIAkuZW5hYmxlX2JpdAk9IE9NQVAzNDMwX0VOX01DQlNQNV9TSElGVCwKQEAgLTE3OTgsNyArMTg3MCw4IEBACiB9OwogCiBzdGF0aWMgc3RydWN0IGNsayBtY2JzcDFfaWNrID0gewotCS5uYW1lCQk9ICJtY2JzcDFfaWNrIiwKKwkubmFtZQkJPSAibWNic3BfaWNrIiwKKwkuaWQJCT0gMSwKIAkucGFyZW50CQk9ICZjb3JlX2w0X2ljaywKIAkuZW5hYmxlX3JlZwk9IE9NQVBfQ01fUkVHQUREUihDT1JFX01PRCwgQ01fSUNMS0VOMSksCiAJLmVuYWJsZV9iaXQJPSBPTUFQMzQzMF9FTl9NQ0JTUDFfU0hJRlQsCkBAIC0xOTM1LDcgKzIwMDgsNyBAQAogCS5lbmFibGVfcmVnCT0gT01BUF9DTV9SRUdBRERSKE9NQVAzNDMwX0RTU19NT0QsIENNX0ZDTEtFTiksCiAJLmVuYWJsZV9iaXQJPSBPTUFQMzQzMF9FTl9EU1MxX1NISUZULAogCS5jbGtzZWxfcmVnCT0gT01BUF9DTV9SRUdBRERSKFBMTF9NT0QsIENNX0lETEVTVCksCi0JLmNsa3NlbF9tYXNrCT0gT01BUDM0MzBfU1RfUEVSSVBIX0NMSywKKwkuY2xrc2VsX21hc2sJPSBPTUFQMzQzMF9TVF9QRVJJUEhfQ0xLX01BU0ssCiAJLmNsa3NlbAkJPSBkc3MxX2Fsd29uX2Zja19jbGtzZWwsCiAJLmZsYWdzCQk9IENMT0NLX0lOX09NQVAzNDNYLAogCS5yZWNhbGMJCT0gJm9tYXAyX2Nsa3NlbF9yZWNhbGMsCkBAIC0xOTkxLDcgKzIwNjQsNyBAQAogCS5wYXJlbnQJCT0gJmRwbGw0X201eDJfY2ssCiAJLmluaXQJCT0gJm9tYXAyX2luaXRfY2xrc2VsX3BhcmVudCwKIAkuY2xrc2VsX3JlZwk9IE9NQVBfQ01fUkVHQUREUihQTExfTU9ELCBDTV9JRExFU1QpLAotCS5jbGtzZWxfbWFzawk9IE9NQVAzNDMwX1NUX1BFUklQSF9DTEssCisJLmNsa3NlbF9tYXNrCT0gT01BUDM0MzBfU1RfUEVSSVBIX0NMS19NQVNLLAogCS5jbGtzZWwJCT0gY2FtX21jbGtfY2xrc2VsLAogCS5lbmFibGVfcmVnCT0gT01BUF9DTV9SRUdBRERSKE9NQVAzNDMwX0NBTV9NT0QsIENNX0ZDTEtFTiksCiAJLmVuYWJsZV9iaXQJPSBPTUFQMzQzMF9FTl9DQU1fU0hJRlQsCkBAIC0yNTQxLDcgKzI2MTQsOCBAQAogfTsKIAogc3RhdGljIHN0cnVjdCBjbGsgbWNic3AyX2ljayA9IHsKLQkubmFtZQkJPSAibWNic3AyX2ljayIsCisJLm5hbWUJCT0gIm1jYnNwX2ljayIsCisJLmlkCQk9IDIsCiAJLnBhcmVudAkJPSAmcGVyX2w0X2ljaywKIAkuZW5hYmxlX3JlZwk9IE9NQVBfQ01fUkVHQUREUihPTUFQMzQzMF9QRVJfTU9ELCBDTV9JQ0xLRU4pLAogCS5lbmFibGVfYml0CT0gT01BUDM0MzBfRU5fTUNCU1AyX1NISUZULApAQCAtMjU1MCw3ICsyNjI0LDggQEAKIH07CiAKIHN0YXRpYyBzdHJ1Y3QgY2xrIG1jYnNwM19pY2sgPSB7Ci0JLm5hbWUJCT0gIm1jYnNwM19pY2siLAorCS5uYW1lCQk9ICJtY2JzcF9pY2siLAorCS5pZAkJPSAzLAogCS5wYXJlbnQJCT0gJnBlcl9sNF9pY2ssCiAJLmVuYWJsZV9yZWcJPSBPTUFQX0NNX1JFR0FERFIoT01BUDM0MzBfUEVSX01PRCwgQ01fSUNMS0VOKSwKIAkuZW5hYmxlX2JpdAk9IE9NQVAzNDMwX0VOX01DQlNQM19TSElGVCwKQEAgLTI1NTksNyArMjYzNCw4IEBACiB9OwogCiBzdGF0aWMgc3RydWN0IGNsayBtY2JzcDRfaWNrID0gewotCS5uYW1lCQk9ICJtY2JzcDRfaWNrIiwKKwkubmFtZQkJPSAibWNic3BfaWNrIiwKKwkuaWQJCT0gNCwKIAkucGFyZW50CQk9ICZwZXJfbDRfaWNrLAogCS5lbmFibGVfcmVnCT0gT01BUF9DTV9SRUdBRERSKE9NQVAzNDMwX1BFUl9NT0QsIENNX0lDTEtFTiksCiAJLmVuYWJsZV9iaXQJPSBPTUFQMzQzMF9FTl9NQ0JTUDRfU0hJRlQsCkBAIC0yNTc0LDcgKzI2NTAsOCBAQAogfTsKIAogc3RhdGljIHN0cnVjdCBjbGsgbWNic3AyX2ZjayA9IHsKLQkubmFtZQkJPSAibWNic3AyX2ZjayIsCisJLm5hbWUJCT0gIm1jYnNwX2ZjayIsCisJLmlkCQk9IDIsCiAJLmluaXQJCT0gJm9tYXAyX2luaXRfY2xrc2VsX3BhcmVudCwKIAkuZW5hYmxlX3JlZwk9IE9NQVBfQ01fUkVHQUREUihPTUFQMzQzMF9QRVJfTU9ELCBDTV9GQ0xLRU4pLAogCS5lbmFibGVfYml0CT0gT01BUDM0MzBfRU5fTUNCU1AyX1NISUZULApAQCAtMjU4Niw3ICsyNjYzLDggQEAKIH07CiAKIHN0YXRpYyBzdHJ1Y3QgY2xrIG1jYnNwM19mY2sgPSB7Ci0JLm5hbWUJCT0gIm1jYnNwM19mY2siLAorCS5uYW1lCQk9ICJtY2JzcF9mY2siLAorCS5pZAkJPSAzLAogCS5pbml0CQk9ICZvbWFwMl9pbml0X2Nsa3NlbF9wYXJlbnQsCiAJLmVuYWJsZV9yZWcJPSBPTUFQX0NNX1JFR0FERFIoT01BUDM0MzBfUEVSX01PRCwgQ01fRkNMS0VOKSwKIAkuZW5hYmxlX2JpdAk9IE9NQVAzNDMwX0VOX01DQlNQM19TSElGVCwKQEAgLTI1OTgsNyArMjY3Niw4IEBACiB9OwogCiBzdGF0aWMgc3RydWN0IGNsayBtY2JzcDRfZmNrID0gewotCS5uYW1lCQk9ICJtY2JzcDRfZmNrIiwKKwkubmFtZQkJPSAibWNic3BfZmNrIiwKKwkuaWQJCT0gNCwKIAkuaW5pdAkJPSAmb21hcDJfaW5pdF9jbGtzZWxfcGFyZW50LAogCS5lbmFibGVfcmVnCT0gT01BUF9DTV9SRUdBRERSKE9NQVAzNDMwX1BFUl9NT0QsIENNX0ZDTEtFTiksCiAJLmVuYWJsZV9iaXQJPSBPTUFQMzQzMF9FTl9NQ0JTUDRfU0hJRlQsCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW9tYXAyL2NtLXJlZ2JpdHMtMzR4eC5oIGIvYXJjaC9hcm0vbWFjaC1vbWFwMi9jbS1yZWdiaXRzLTM0eHguaAppbmRleCAzYzM4Mzk1Li5lZTRjMGNhIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLW9tYXAyL2NtLXJlZ2JpdHMtMzR4eC5oCisrKyBiL2FyY2gvYXJtL21hY2gtb21hcDIvY20tcmVnYml0cy0zNHh4LmgKQEAgLTcyLDcgKzcyLDggQEAKICNkZWZpbmUgT01BUDM0MzBfU1RfSVZBMgkJCQkoMSA8PCAwKQogCiAvKiBDTV9JRExFU1RfUExMX0lWQTIgKi8KLSNkZWZpbmUgT01BUDM0MzBfU1RfSVZBMl9DTEsJCQkJKDEgPDwgMCkKKyNkZWZpbmUgT01BUDM0MzBfU1RfSVZBMl9DTEtfU0hJRlQJCQkwCisjZGVmaW5lIE9NQVAzNDMwX1NUX0lWQTJfQ0xLX01BU0sJCQkoMSA8PCAwKQogCiAvKiBDTV9BVVRPSURMRV9QTExfSVZBMiAqLwogI2RlZmluZSBPTUFQMzQzMF9BVVRPX0lWQTJfRFBMTF9TSElGVAkJCTAKQEAgLTExNSwxMCArMTE2LDcgQEAKICNkZWZpbmUgT01BUDM0MzBfU1RfTVBVCQkJCQkoMSA8PCAwKQogCiAvKiBDTV9JRExFU1RfUExMX01QVSAqLwotI2RlZmluZSBPTUFQMzQzMF9TVF9NUFVfQ0xLCQkJCSgxIDw8IDApCi0jZGVmaW5lIE9NQVAzNDMwX1NUX0lWQTJfQ0xLX01BU0sJCQkoMSA8PCAwKQotCi0vKiBDTV9JRExFU1RfUExMX01QVSAqLworI2RlZmluZSBPTUFQMzQzMF9TVF9NUFVfQ0xLX1NISUZUCQkJMAogI2RlZmluZSBPTUFQMzQzMF9TVF9NUFVfQ0xLX01BU0sJCQkoMSA8PCAwKQogCiAvKiBDTV9BVVRPSURMRV9QTExfTVBVICovCkBAIC00MDgsOCArNDA2LDEwIEBACiAjZGVmaW5lIE9NQVAzNDMwX1NUXzEyTV9DTEsJCQkJKDEgPDwgNCkKICNkZWZpbmUgT01BUDM0MzBfU1RfNDhNX0NMSwkJCQkoMSA8PCAzKQogI2RlZmluZSBPTUFQMzQzMF9TVF85Nk1fQ0xLCQkJCSgxIDw8IDIpCi0jZGVmaW5lIE9NQVAzNDMwX1NUX1BFUklQSF9DTEsJCQkJKDEgPDwgMSkKLSNkZWZpbmUgT01BUDM0MzBfU1RfQ09SRV9DTEsJCQkJKDEgPDwgMCkKKyNkZWZpbmUgT01BUDM0MzBfU1RfUEVSSVBIX0NMS19TSElGVAkJCTEKKyNkZWZpbmUgT01BUDM0MzBfU1RfUEVSSVBIX0NMS19NQVNLCQkJKDEgPDwgMSkKKyNkZWZpbmUgT01BUDM0MzBfU1RfQ09SRV9DTEtfU0hJRlQJCQkwCisjZGVmaW5lIE9NQVAzNDMwX1NUX0NPUkVfQ0xLX01BU0sJCQkoMSA8PCAwKQogCiAvKiBDTV9JRExFU1QyX0NLR0VOICovCiAjZGVmaW5lIE9NQVAzNDMwRVMyX1NUXzEyME1fQ0xLX1NISUZUCQkJMQpAQCAtNDIzLDYgKzQyMywxMCBAQAogI2RlZmluZSBPTUFQMzQzMF9BVVRPX0NPUkVfRFBMTF9TSElGVAkJCTAKICNkZWZpbmUgT01BUDM0MzBfQVVUT19DT1JFX0RQTExfTUFTSwkJCSgweDcgPDwgMCkKIAorLyogQ01fQVVUT0lETEUyX1BMTCAqLworI2RlZmluZSBPTUFQMzQzMEVTMl9BVVRPX1BFUklQSDJfRFBMTF9TSElGVAkJMAorI2RlZmluZSBPTUFQMzQzMEVTMl9BVVRPX1BFUklQSDJfRFBMTF9NQVNLCQkoMHg3IDw8IDApCisKIC8qIENNX0NMS1NFTDFfUExMICovCiAvKiBOb3RlIHRoYXQgT01BUDM0MzBfQ09SRV9EUExMX0NMS09VVF9ESVZfTUFTSyB3YXMgKDB4MyA8PCAyNykgb24gMzQzMEVTMSAqLwogI2RlZmluZSBPTUFQMzQzMF9DT1JFX0RQTExfQ0xLT1VUX0RJVl9TSElGVAkJMjcKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtb21hcDIvY20uaCBiL2FyY2gvYXJtL21hY2gtb21hcDIvY20uaAppbmRleCA4NDg5ZjMwLi44N2E0NGM3IDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLW9tYXAyL2NtLmgKKysrIGIvYXJjaC9hcm0vbWFjaC1vbWFwMi9jbS5oCkBAIC04MSw2ICs4MSw3IEBACiAjZGVmaW5lIE9NQVAzNDMwRVMyX0NNX0ZDTEtFTjMJCQkJMHgwMDA4CiAjZGVmaW5lIE9NQVAzNDMwX0NNX0lETEVTVF9QTEwJCQkJQ01fSURMRVNUMgogI2RlZmluZSBPTUFQMzQzMF9DTV9BVVRPSURMRV9QTEwJCQlDTV9BVVRPSURMRTIKKyNkZWZpbmUgT01BUDM0MzBFUzJfQ01fQVVUT0lETEUyX1BMTAkJCUNNX0FVVE9JRExFMgogI2RlZmluZSBPTUFQMzQzMF9DTV9DTEtTRUwxCQkJCUNNX0NMS1NFTAogI2RlZmluZSBPTUFQMzQzMF9DTV9DTEtTRUwxX1BMTAkJCQlDTV9DTEtTRUwKICNkZWZpbmUgT01BUDM0MzBfQ01fQ0xLU0VMMl9QTEwJCQkJQ01fQ0xLU0VMMgpAQCAtOTYsMTUgKzk3LDIxIEBACiAvKiBDbG9jayBtYW5hZ2VtZW50IGRvbWFpbiByZWdpc3RlciBnZXQvc2V0ICovCiAKICNpZm5kZWYgX19BU1NFTUJMRVJfXwotc3RhdGljIGlubGluZSB2b2lkIGNtX3dyaXRlX21vZF9yZWcodTMyIHZhbCwgczE2IG1vZHVsZSwgczE2IGlkeCkKKworZXh0ZXJuIHUzMiBjbV9yZWFkX21vZF9yZWcoczE2IG1vZHVsZSwgdTE2IGlkeCk7CitleHRlcm4gdm9pZCBjbV93cml0ZV9tb2RfcmVnKHUzMiB2YWwsIHMxNiBtb2R1bGUsIHUxNiBpZHgpOworZXh0ZXJuIHUzMiBjbV9ybXdfbW9kX3JlZ19iaXRzKHUzMiBtYXNrLCB1MzIgYml0cywgczE2IG1vZHVsZSwgczE2IGlkeCk7CisKK3N0YXRpYyBpbmxpbmUgdTMyIGNtX3NldF9tb2RfcmVnX2JpdHModTMyIGJpdHMsIHMxNiBtb2R1bGUsIHMxNiBpZHgpCiB7Ci0JX19yYXdfd3JpdGVsKHZhbCwgT01BUF9DTV9SRUdBRERSKG1vZHVsZSwgaWR4KSk7CisJcmV0dXJuIGNtX3Jtd19tb2RfcmVnX2JpdHMoYml0cywgYml0cywgbW9kdWxlLCBpZHgpOwogfQogCi1zdGF0aWMgaW5saW5lIHUzMiBjbV9yZWFkX21vZF9yZWcoczE2IG1vZHVsZSwgczE2IGlkeCkKK3N0YXRpYyBpbmxpbmUgdTMyIGNtX2NsZWFyX21vZF9yZWdfYml0cyh1MzIgYml0cywgczE2IG1vZHVsZSwgczE2IGlkeCkKIHsKLQlyZXR1cm4gX19yYXdfcmVhZGwoT01BUF9DTV9SRUdBRERSKG1vZHVsZSwgaWR4KSk7CisJcmV0dXJuIGNtX3Jtd19tb2RfcmVnX2JpdHMoYml0cywgMHgwLCBtb2R1bGUsIGlkeCk7CiB9CisKICNlbmRpZgogCiAvKiBDTSByZWdpc3RlciBiaXRzIHNoYXJlZCBiZXR3ZWVuIDI0WFggYW5kIDM0MzAgKi8KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtb21hcDIvY29udHJvbC5jIGIvYXJjaC9hcm0vbWFjaC1vbWFwMi9jb250cm9sLmMKaW5kZXggYTVkODZhNC4uNTFmNzAzMCAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1vbWFwMi9jb250cm9sLmMKKysrIGIvYXJjaC9hcm0vbWFjaC1vbWFwMi9jb250cm9sLmMKQEAgLTEzLDIyICsxMywyMSBAQAogI3VuZGVmIERFQlVHCiAKICNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9pby5oPgogCi0jaW5jbHVkZSA8YXNtL2lvLmg+Ci0KKyNpbmNsdWRlIDxhc20vYXJjaC9jb21tb24uaD4KICNpbmNsdWRlIDxhc20vYXJjaC9jb250cm9sLmg+CiAKLXN0YXRpYyB1MzIgb21hcDJfY3RybF9iYXNlOworc3RhdGljIHZvaWQgX19pb21lbSAqb21hcDJfY3RybF9iYXNlOwogCi0jZGVmaW5lIE9NQVBfQ1RSTF9SRUdBRERSKHJlZykJKHZvaWQgX19pb21lbSAqKUlPX0FERFJFU1Mob21hcDJfY3RybF9iYXNlIFwKLQkJCQkJCQkJKyAocmVnKSkKKyNkZWZpbmUgT01BUF9DVFJMX1JFR0FERFIocmVnKQkJKG9tYXAyX2N0cmxfYmFzZSArIChyZWcpKQogCi12b2lkIG9tYXBfY3RybF9iYXNlX3NldCh1MzIgYmFzZSkKK3ZvaWQgX19pbml0IG9tYXAyX3NldF9nbG9iYWxzX2NvbnRyb2woc3RydWN0IG9tYXBfZ2xvYmFscyAqb21hcDJfZ2xvYmFscykKIHsKLQlvbWFwMl9jdHJsX2Jhc2UgPSBiYXNlOworCW9tYXAyX2N0cmxfYmFzZSA9IG9tYXAyX2dsb2JhbHMtPmN0cmw7CiB9CiAKLXUzMiBvbWFwX2N0cmxfYmFzZV9nZXQodm9pZCkKK3ZvaWQgX19pb21lbSAqb21hcF9jdHJsX2Jhc2VfZ2V0KHZvaWQpCiB7CiAJcmV0dXJuIG9tYXAyX2N0cmxfYmFzZTsKIH0KQEAgLTUwLDI1ICs0OSwxNiBAQAogCiB2b2lkIG9tYXBfY3RybF93cml0ZWIodTggdmFsLCB1MTYgb2Zmc2V0KQogewotCXByX2RlYnVnKCJvbWFwX2N0cmxfd3JpdGViOiB3cml0aW5nIDB4JTB4IHRvIDB4JTB4XG4iLCB2YWwsCi0JCSAodTMyKU9NQVBfQ1RSTF9SRUdBRERSKG9mZnNldCkpOwotCiAJX19yYXdfd3JpdGViKHZhbCwgT01BUF9DVFJMX1JFR0FERFIob2Zmc2V0KSk7CiB9CiAKIHZvaWQgb21hcF9jdHJsX3dyaXRldyh1MTYgdmFsLCB1MTYgb2Zmc2V0KQogewotCXByX2RlYnVnKCJvbWFwX2N0cmxfd3JpdGV3OiB3cml0aW5nIDB4JTB4IHRvIDB4JTB4XG4iLCB2YWwsCi0JCSAodTMyKU9NQVBfQ1RSTF9SRUdBRERSKG9mZnNldCkpOwotCiAJX19yYXdfd3JpdGV3KHZhbCwgT01BUF9DVFJMX1JFR0FERFIob2Zmc2V0KSk7CiB9CiAKIHZvaWQgb21hcF9jdHJsX3dyaXRlbCh1MzIgdmFsLCB1MTYgb2Zmc2V0KQogewotCXByX2RlYnVnKCJvbWFwX2N0cmxfd3JpdGVsOiB3cml0aW5nIDB4JTB4IHRvIDB4JTB4XG4iLCB2YWwsCi0JCSAodTMyKU9NQVBfQ1RSTF9SRUdBRERSKG9mZnNldCkpOwotCiAJX19yYXdfd3JpdGVsKHZhbCwgT01BUF9DVFJMX1JFR0FERFIob2Zmc2V0KSk7CiB9CiAKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtb21hcDIvaWQuYyBiL2FyY2gvYXJtL21hY2gtb21hcDIvaWQuYwppbmRleCA0ZGZkODc4Li5kZmY0YjE2IDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLW9tYXAyL2lkLmMKKysrIGIvYXJjaC9hcm0vbWFjaC1vbWFwMi9pZC5jCkBAIC0xNywxNiArMTcsMjMgQEAKIAogI2luY2x1ZGUgPGFzbS9pby5oPgogCi0jaWYgZGVmaW5lZChDT05GSUdfQVJDSF9PTUFQMjQyMCkKLSNkZWZpbmUgT01BUDI0WFhfVEFQX0JBU0UJaW9fcDJ2KDB4NDgwMTQwMDApCi0jZW5kaWYKKyNpbmNsdWRlIDxhc20vYXJjaC9jb250cm9sLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvY3B1Lmg+CiAKLSNpZiBkZWZpbmVkKENPTkZJR19BUkNIX09NQVAyNDMwKQotI2RlZmluZSBPTUFQMjRYWF9UQVBfQkFTRQlpb19wMnYoMHg0OTAwQTAwMCkKKyNpZiBkZWZpbmVkKENPTkZJR19BUkNIX09NQVAyNDIwKQorI2RlZmluZSBUQVBfQkFTRQlpb19wMnYoMHg0ODAxNDAwMCkKKyNlbGlmIGRlZmluZWQoQ09ORklHX0FSQ0hfT01BUDI0MzApCisjZGVmaW5lIFRBUF9CQVNFCWlvX3AydigweDQ5MDBBMDAwKQorI2VsaWYgZGVmaW5lZChDT05GSUdfQVJDSF9PTUFQMzRYWCkKKyNkZWZpbmUgVEFQX0JBU0UJaW9fcDJ2KDB4NDgzMEEwMDApCiAjZW5kaWYKIAogI2RlZmluZSBPTUFQX1RBUF9JRENPREUJCTB4MDIwNAorI2lmIGRlZmluZWQoQ09ORklHX0FSQ0hfT01BUDM0WFgpCisjZGVmaW5lIE9NQVBfVEFQX1BST0RfSUQJMHgwMjEwCisjZWxzZQogI2RlZmluZSBPTUFQX1RBUF9QUk9EX0lECTB4MDIwOAorI2VuZGlmCiAKICNkZWZpbmUgT01BUF9UQVBfRElFX0lEXzAJMHgwMjE4CiAjZGVmaW5lIE9NQVBfVEFQX0RJRV9JRF8xCTB4MDIxQwpAQCAtNTYsOSArNjMsMTM0IEBACiAJeyAuaGF3a2V5ZSA9IDB4YjY4YSwgLmRldiA9IDB4MCwgLnR5cGUgPSAweDI0MzAwMDAwIH0sCiB9OwogCitzdGF0aWMgc3RydWN0IG9tYXBfY2hpcF9pZCBvbWFwX2NoaXA7CisKKy8qKgorICogb21hcF9jaGlwX2lzIC0gdGVzdCB3aGV0aGVyIGN1cnJlbnRseSBydW5uaW5nIE9NQVAgbWF0Y2hlcyBhIGNoaXAgdHlwZQorICogQG9jOiBvbWFwX2NoaXBfdCB0byB0ZXN0IGFnYWluc3QKKyAqCisgKiBUZXN0IHdoZXRoZXIgdGhlIGN1cnJlbnRseS1ydW5uaW5nIE9NQVAgY2hpcCBtYXRjaGVzIHRoZSBzdXBwbGllZAorICogY2hpcCB0eXBlICdvYycuICBSZXR1cm5zIDEgdXBvbiBhIG1hdGNoOyAwIHVwb24gZmFpbHVyZS4KKyAqLworaW50IG9tYXBfY2hpcF9pcyhzdHJ1Y3Qgb21hcF9jaGlwX2lkIG9jaSkKK3sKKwlyZXR1cm4gKG9jaS5vYyAmIG9tYXBfY2hpcC5vYykgPyAxIDogMDsKK30KK0VYUE9SVF9TWU1CT0wob21hcF9jaGlwX2lzKTsKKwogc3RhdGljIHUzMiBfX2luaXQgcmVhZF90YXBfcmVnKGludCByZWcpCiB7Ci0JcmV0dXJuIF9fcmF3X3JlYWRsKE9NQVAyNFhYX1RBUF9CQVNFICsgcmVnKTsKKwl1bnNpZ25lZCBpbnQgcmVndmFsID0gMDsKKwl1MzIgY3B1aWQ7CisKKwkvKiBSZWFkaW5nIHRoZSBJRENPREUgcmVnaXN0ZXIgb24gMzQzMCBFUzEgcmVzdWx0cyBpbiBhCisJICogZGF0YSBhYm9ydCBhcyB0aGUgcmVnaXN0ZXIgaXMgbm90IGV4cG9zZWQgb24gdGhlIE9DUAorCSAqIEhlbmNlIHJlYWRpbmcgdGhlIENvcnRleCBSZXYKKwkgKi8KKwljcHVpZCA9IHJlYWRfY3B1aWQoQ1BVSURfSUQpOworCisJLyogSWYgdGhlIHByb2Nlc3NvciB0eXBlIGlzIENvcnRleC1BOCBhbmQgdGhlIHJldmlzaW9uIGlzIDB4MAorCSAqIGl0IG1lYW5zIGl0cyBDb3J0ZXggcjBwMCB3aGljaCBpcyAzNDMwIEVTMQorCSAqLworCWlmICgoKChjcHVpZCA+PiA0KSAmIDB4RkZGKSA9PSAweEMwOCkgJiYgKChjcHVpZCAmIDB4RikgPT0gMHgwKSkgeworCQlzd2l0Y2ggKHJlZykgeworCQljYXNlIE9NQVBfVEFQX0lEQ09ERSAgOiByZWd2YWwgPSAweDBCN0FFMDJGOyBicmVhazsKKwkJLyogTWFraW5nIERldlR5cGUgYXMgMHhGIGluIEVTMSB0byBkaWZmZXIgZnJvbSBFUzIgKi8KKwkJY2FzZSBPTUFQX1RBUF9QUk9EX0lEIDogcmVndmFsID0gMHgwMDBGMDBGMDsgYnJlYWs7CisJCWNhc2UgT01BUF9UQVBfRElFX0lEXzA6IHJlZ3ZhbCA9IDB4MDEwMDAwMDA7IGJyZWFrOworCQljYXNlIE9NQVBfVEFQX0RJRV9JRF8xOiByZWd2YWwgPSAweDEwMTJkNjg3OyBicmVhazsKKwkJY2FzZSBPTUFQX1RBUF9ESUVfSURfMjoJcmVndmFsID0gMHgwMDAwMDAwMDsgYnJlYWs7CisJCWNhc2UgT01BUF9UQVBfRElFX0lEXzM6CXJlZ3ZhbCA9IDB4MmQyYzAwMDA7IGJyZWFrOworCQl9CisJfSBlbHNlCisJCXJlZ3ZhbCA9IF9fcmF3X3JlYWRsKFRBUF9CQVNFICsgcmVnKTsKKworCXJldHVybiByZWd2YWw7CisKK30KKworLyoKKyAqIF9zZXRfc3lzdGVtX3JldiAtIHNldCB0aGUgc3lzdGVtX3JldiBnbG9iYWwgYmFzZWQgb24gY3VycmVudCBPTUFQIGNoaXAgdHlwZQorICoKKyAqIFNldCB0aGUgc3lzdGVtX3JldiBnbG9iYWwuICBUaGlzIGlzIHByaW1hcmlseSB1c2VkIGJ5IHRoZSBjcHVfaXNfb21hcHh4eHgoKQorICogbWFjcm9zLgorICovCitzdGF0aWMgdm9pZCBfX2luaXQgX3NldF9zeXN0ZW1fcmV2KHUzMiB0eXBlLCB1OCByZXYpCit7CisJdTMyIGksIGN0cmxfc3RhdHVzOworCisJLyoKKwkgKiBzeXN0ZW1fcmV2IGVuY29kaW5nIGlzIGFzIGZvbGxvd3MKKwkgKiBzeXN0ZW1fcmV2ICYgMHhmZjAwMDAwMCAtPiBPbWFwIENsYXNzICgyNHh4LzM0eHgpCisJICogc3lzdGVtX3JldiAmIDB4ZmZmMDAwMDAgLT4gT21hcCBTdWIgQ2xhc3MgKDI0MngvMzQzeCkKKwkgKiBzeXN0ZW1fcmV2ICYgMHhmZmZmMDAwMCAtPiBPbWFwIHR5cGUgKDI0MjAvMjQyMi8yNDIzLzI0MzAvMzQzMCkKKwkgKiBzeXN0ZW1fcmV2ICYgMHgwMDAwZjAwMCAtPiBTaWxpY29uIHJldmlzaW9uIChFUzEsIEVTMiApCisJICogc3lzdGVtX3JldiAmIDB4MDAwMDA3MDAgLT4gRGV2aWNlIFR5cGUgKCBFTVUvSFMvR1AvQkFEICkKKwkgKiBzeXN0ZW1fcmV2ICYgMHgwMDAwMDBjMCAtPiBJRENPREUgcmV2aXNpb25bNjo3XQorCSAqIHN5c3RlbV9yZXYgJiAweDAwMDAwMDNmIC0+IHN5c19ib290WzA6NV0KKwkgKi8KKwkvKiBFbWJlZGRpbmcgdGhlIEVTIHJldmlzaW9uIGluZm8gaW4gdHlwZSBmaWVsZCAqLworCXN5c3RlbV9yZXYgPSB0eXBlOworCS8qIEFsc28gYWRkIElEQ09ERSByZXZpc2lvbiBpbmZvIG9ubHkgdHdvIGxvd2VyIGJpdHMgKi8KKwlzeXN0ZW1fcmV2IHw9ICgocmV2ICYgMHgzKSA8PCA2KTsKKworCS8qIEFkZCBpbiB0aGUgZGV2aWNlIHR5cGUgYW5kIHN5c19ib290IGZpZWxkcyAoc2VlIGFib3ZlKSAqLworCWlmIChjcHVfaXNfb21hcDI0eHgoKSkgeworCQlpID0gT01BUDI0WFhfQ09OVFJPTF9TVEFUVVM7CisJfSBlbHNlIGlmIChjcHVfaXNfb21hcDM0M3goKSkgeworCQlpID0gT01BUDM0M1hfQ09OVFJPTF9TVEFUVVM7CisJfSBlbHNlIHsKKwkJcHJpbnRrKEtFUk5fRVJSICJpZDogdW5rbm93biBDUFUgdHlwZVxuIik7CisJCUJVRygpOworCX0KKwljdHJsX3N0YXR1cyA9IG9tYXBfY3RybF9yZWFkbChpKTsKKwlzeXN0ZW1fcmV2IHw9IChjdHJsX3N0YXR1cyAmIChPTUFQMl9TWVNCT09UXzVfTUFTSyB8CisJCQkJICAgICAgT01BUDJfU1lTQk9PVF80X01BU0sgfAorCQkJCSAgICAgIE9NQVAyX1NZU0JPT1RfM19NQVNLIHwKKwkJCQkgICAgICBPTUFQMl9TWVNCT09UXzJfTUFTSyB8CisJCQkJICAgICAgT01BUDJfU1lTQk9PVF8xX01BU0sgfAorCQkJCSAgICAgIE9NQVAyX1NZU0JPT1RfMF9NQVNLKSk7CisJc3lzdGVtX3JldiB8PSAoY3RybF9zdGF0dXMgJiBPTUFQMl9ERVZJQ0VUWVBFX01BU0spOworfQorCisKKy8qCisgKiBfc2V0X29tYXBfY2hpcCAtIHNldCB0aGUgb21hcF9jaGlwIGdsb2JhbCBiYXNlZCBvbiBPTUFQIGNoaXAgdHlwZQorICoKKyAqIEJ1aWxkIHRoZSBvbWFwX2NoaXAgYml0cy4gIFRoaXMgdmFyaWFibGUgaXMgdXNlZCBieSBwb3dlcmRvbWFpbiBhbmQKKyAqIGNsb2NrZG9tYWluIGNvZGUgdG8gaW5kaWNhdGUgd2hldGhlciBzdHJ1Y3R1cmVzIGFyZSBhcHBsaWNhYmxlIGZvcgorICogdGhlIGN1cnJlbnQgT01BUCBjaGlwIHR5cGUgYnkgQU5EaW5nIGl0IGFnYWluc3QgYSAncGxhdGZvcm0nIGJpdGZpZWxkCisgKiBpbiB0aGUgc3RydWN0dXJlLgorICovCitzdGF0aWMgdm9pZCBfX2luaXQgX3NldF9vbWFwX2NoaXAodm9pZCkKK3sKKwlpZiAoY3B1X2lzX29tYXAzNDN4KCkpIHsKKworCQlvbWFwX2NoaXAub2MgPSBDSElQX0lTX09NQVAzNDMwOworCQlpZiAoaXNfc2lsX3Jldl9lcXVhbF90byhPTUFQMzQzMF9SRVZfRVMxXzApKQorCQkJb21hcF9jaGlwLm9jIHw9IENISVBfSVNfT01BUDM0MzBFUzE7CisJCWVsc2UgaWYgKGlzX3NpbF9yZXZfZ3JlYXRlcl90aGFuKE9NQVAzNDMwX1JFVl9FUzFfMCkpCisJCQlvbWFwX2NoaXAub2MgfD0gQ0hJUF9JU19PTUFQMzQzMEVTMjsKKworCX0gZWxzZSBpZiAoY3B1X2lzX29tYXAyNDN4KCkpIHsKKworCQkvKiBDdXJyZW50bHkgb25seSBzdXBwb3J0cyAyNDMwRVMyLjEgYW5kIDI0MzAtYWxsICovCisJCW9tYXBfY2hpcC5vYyB8PSBDSElQX0lTX09NQVAyNDMwOworCisJfSBlbHNlIGlmIChjcHVfaXNfb21hcDI0MngoKSkgeworCisJCS8qIEN1cnJlbnRseSBvbmx5IHN1cHBvcnRzIDI0MjBFUzIuMS4xIGFuZCAyNDIwLWFsbCAqLworCQlvbWFwX2NoaXAub2MgfD0gQ0hJUF9JU19PTUFQMjQyMDsKKworCX0gZWxzZSB7CisKKwkJLyogQ3VycmVudCBDUFUgbm90IHN1cHBvcnRlZCBieSB0aGlzIGNvZGUuICovCisJCXByaW50ayhLRVJOX1dBUk5JTkcgIk9NQVAgY2hpcCB0eXBlIGNvZGUgZG9lcyBub3QgeWV0IHN1cHBvcnQgIgorCQkgICAgICAgInRoaXMgQ1BVIHR5cGUuXG4iKTsKKwkJV0FSTl9PTigxKTsKKworCX0KKwogfQogCiB2b2lkIF9faW5pdCBvbWFwMl9jaGVja19yZXZpc2lvbih2b2lkKQpAQCAtNzYsMjEgKzIwOCwzMSBAQAogCXJldiA9IChpZGNvZGUgPj4gMjgpICYgMHgwZjsKIAlkZXZfdHlwZSA9IChwcm9kX2lkID4+IDE2KSAmIDB4MGY7CiAKLSNpZmRlZiBERUJVRwotCXByaW50ayhLRVJOX0RFQlVHICJPTUFQX1RBUF9JRENPREUgMHglMDh4IFJFViAlaSBIQVdLRVlFIDB4JTA0eCBNQU5GICUwM3hcbiIsCi0JCWlkY29kZSwgcmV2LCBoYXdrZXllLCAoaWRjb2RlID4+IDEpICYgMHg3ZmYpOwotCXByaW50ayhLRVJOX0RFQlVHICJPTUFQX1RBUF9ESUVfSURfMDogMHglMDh4XG4iLAotCQlyZWFkX3RhcF9yZWcoT01BUF9UQVBfRElFX0lEXzApKTsKLQlwcmludGsoS0VSTl9ERUJVRyAiT01BUF9UQVBfRElFX0lEXzE6IDB4JTA4eCBERVZfUkVWOiAlaVxuIiwKLQkJcmVhZF90YXBfcmVnKE9NQVBfVEFQX0RJRV9JRF8xKSwKLQkgICAgICAgKHJlYWRfdGFwX3JlZyhPTUFQX1RBUF9ESUVfSURfMSkgPj4gMjgpICYgMHhmKTsKLQlwcmludGsoS0VSTl9ERUJVRyAiT01BUF9UQVBfRElFX0lEXzI6IDB4JTA4eFxuIiwKLQkJcmVhZF90YXBfcmVnKE9NQVBfVEFQX0RJRV9JRF8yKSk7Ci0JcHJpbnRrKEtFUk5fREVCVUcgIk9NQVBfVEFQX0RJRV9JRF8zOiAweCUwOHhcbiIsCi0JCXJlYWRfdGFwX3JlZyhPTUFQX1RBUF9ESUVfSURfMykpOwotCXByaW50ayhLRVJOX0RFQlVHICJPTUFQX1RBUF9QUk9EX0lEXzA6IDB4JTA4eCBERVZfVFlQRTogJWlcbiIsCi0JCXByb2RfaWQsIGRldl90eXBlKTsKLSNlbmRpZgorCXByX2RlYnVnKCJPTUFQX1RBUF9JRENPREUgMHglMDh4IFJFViAlaSBIQVdLRVlFIDB4JTA0eCBNQU5GICUwM3hcbiIsCisJCSBpZGNvZGUsIHJldiwgaGF3a2V5ZSwgKGlkY29kZSA+PiAxKSAmIDB4N2ZmKTsKKwlwcl9kZWJ1ZygiT01BUF9UQVBfRElFX0lEXzA6IDB4JTA4eFxuIiwKKwkJIHJlYWRfdGFwX3JlZyhPTUFQX1RBUF9ESUVfSURfMCkpOworCXByX2RlYnVnKCJPTUFQX1RBUF9ESUVfSURfMTogMHglMDh4IERFVl9SRVY6ICVpXG4iLAorCQkgcmVhZF90YXBfcmVnKE9NQVBfVEFQX0RJRV9JRF8xKSwKKwkJIChyZWFkX3RhcF9yZWcoT01BUF9UQVBfRElFX0lEXzEpID4+IDI4KSAmIDB4Zik7CisJcHJfZGVidWcoIk9NQVBfVEFQX0RJRV9JRF8yOiAweCUwOHhcbiIsCisJCSByZWFkX3RhcF9yZWcoT01BUF9UQVBfRElFX0lEXzIpKTsKKwlwcl9kZWJ1ZygiT01BUF9UQVBfRElFX0lEXzM6IDB4JTA4eFxuIiwKKwkJIHJlYWRfdGFwX3JlZyhPTUFQX1RBUF9ESUVfSURfMykpOworCXByX2RlYnVnKCJPTUFQX1RBUF9QUk9EX0lEXzA6IDB4JTA4eCBERVZfVFlQRTogJWlcbiIsCisJCSBwcm9kX2lkLCBkZXZfdHlwZSk7CisKKwkvKgorCSAqIERldGVjdGlvbiBmb3IgMzR4eCBFUzIuMCBhbmQgYWJvdmUgY2FuIGJlIGRvbmUgd2l0aCBqdXN0CisJICogaGF3a2V5ZSBhbmQgcmV2LiBTZWUgVFJNIDEuNS4yIERldmljZSBJZGVudGlmaWNhdGlvbi4KKwkgKiBOb3RlIHRoYXQgcmV2IGNhbm5vdCBiZSB1c2VkIGRpcmVjdGx5IGFzIEVTMS4wIHVzZXMgdmFsdWUgMC4KKwkgKi8KKwlpZiAoaGF3a2V5ZSA9PSAweGI3YWUpIHsKKwkJc3lzdGVtX3JldiA9IDB4MzQzMDAwMDAgfCAoKDEgKyByZXYpIDw8IDEyKTsKKwkJcHJfaW5mbygiT01BUCUwNHggRVMyLiVpXG4iLCBzeXN0ZW1fcmV2ID4+IDE2LCByZXYpOworCQlfc2V0X29tYXBfY2hpcCgpOworCQlyZXR1cm47CisJfQogCiAJLyogQ2hlY2sgaGF3a2V5ZSBpZHMgKi8KIAlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShvbWFwX2lkcyk7IGkrKykgewpAQCAtMTE0LDE2ICsyNTYsMTUgQEAKIAkJCQlvbWFwX2lkc1tpXS50eXBlID4+IDE2KTsKIAkJaiA9IGk7CiAJfQotCXN5c3RlbV9yZXYgPSBvbWFwX2lkc1tqXS50eXBlOwogCi0Jc3lzdGVtX3JldiB8PSByZXYgPDwgODsKKwlfc2V0X3N5c3RlbV9yZXYob21hcF9pZHNbal0udHlwZSwgcmV2KTsKIAotCS8qIEFkZCB0aGUgY3B1IGNsYXNzIGluZm8gKDI0eHgpICovCi0Jc3lzdGVtX3JldiB8PSAweDI0OworCV9zZXRfb21hcF9jaGlwKCk7CiAKIAlwcl9pbmZvKCJPTUFQJTA0eCIsIHN5c3RlbV9yZXYgPj4gMTYpOwogCWlmICgoc3lzdGVtX3JldiA+PiA4KSAmIDB4MGYpCi0JCXByaW50aygiJXgiLCAoc3lzdGVtX3JldiA+PiA4KSAmIDB4MGYpOwotCXByaW50aygiXG4iKTsKKwkJcHJfaW5mbygiRVMleCIsIChzeXN0ZW1fcmV2ID4+IDEyKSAmIDB4Zik7CisJcHJfaW5mbygiXG4iKTsKKwogfQogCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW9tYXAyL21jYnNwLmMgYi9hcmNoL2FybS9tYWNoLW9tYXAyL21jYnNwLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTdjZjE5OQotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gtb21hcDIvbWNic3AuYwpAQCAtMCwwICsxLDIwOCBAQAorLyoKKyAqIGxpbnV4L2FyY2gvYXJtL21hY2gtb21hcDIvbWNic3AuYworICoKKyAqIENvcHlyaWdodCAoQykgMjAwOCBJbnN0aXR1dG8gTm9raWEgZGUgVGVjbm9sb2dpYQorICogQ29udGFjdDogRWR1YXJkbyBWYWxlbnRpbiA8ZWR1YXJkby52YWxlbnRpbkBpbmR0Lm9yZy5icj4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMKKyAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorICoKKyAqIE11bHRpY2hhbm5lbCBtb2RlIG5vdCBzdXBwb3J0ZWQuCisgKi8KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvY2xrLmg+CisjaW5jbHVkZSA8bGludXgvZXJyLmg+CisjaW5jbHVkZSA8bGludXgvaW8uaD4KKyNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KKworI2luY2x1ZGUgPGFzbS9hcmNoL2RtYS5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL211eC5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2NwdS5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL21jYnNwLmg+CisKK3N0cnVjdCBtY2JzcF9pbnRlcm5hbF9jbGsgeworCXN0cnVjdCBjbGsgY2xrOworCXN0cnVjdCBjbGsgKipjaGlsZHM7CisJaW50IG5fY2hpbGRzOworfTsKKworI2lmIGRlZmluZWQoQ09ORklHX0FSQ0hfT01BUDI0WFgpIHx8IGRlZmluZWQoQ09ORklHX0FSQ0hfT01BUDM0WFgpCitzdGF0aWMgdm9pZCBvbWFwX21jYnNwX2Nsa19pbml0KHN0cnVjdCBtY2JzcF9pbnRlcm5hbF9jbGsgKm1jbGspCit7CisJY29uc3QgY2hhciAqY2xrX25hbWVzW10gPSB7ICJtY2JzcF9pY2siLCAibWNic3BfZmNrIiB9OworCWludCBpOworCisJbWNsay0+bl9jaGlsZHMgPSBBUlJBWV9TSVpFKGNsa19uYW1lcyk7CisJbWNsay0+Y2hpbGRzID0ga3phbGxvYyhtY2xrLT5uX2NoaWxkcyAqIHNpemVvZihzdHJ1Y3QgY2xrICopLAorCQkJCUdGUF9LRVJORUwpOworCisJZm9yIChpID0gMDsgaSA8IG1jbGstPm5fY2hpbGRzOyBpKyspIHsKKwkJLyogV2UgZmFrZSBhIHBsYXRmb3JtIGRldmljZSB0byBnZXQgY29ycmVjdCBkZXZpY2UgaWQgKi8KKwkJc3RydWN0IHBsYXRmb3JtX2RldmljZSBwZGV2OworCisJCXBkZXYuZGV2LmJ1cyA9ICZwbGF0Zm9ybV9idXNfdHlwZTsKKwkJcGRldi5pZCA9IG1jbGstPmNsay5pZDsKKwkJbWNsay0+Y2hpbGRzW2ldID0gY2xrX2dldCgmcGRldi5kZXYsIGNsa19uYW1lc1tpXSk7CisJCWlmIChJU19FUlIobWNsay0+Y2hpbGRzW2ldKSkKKwkJCXByaW50ayhLRVJOX0VSUiAiQ291bGQgbm90IGdldCBjbG9jayAlcyAoJWQpLlxuIiwKKwkJCQljbGtfbmFtZXNbaV0sIG1jbGstPmNsay5pZCk7CisJfQorfQorCitzdGF0aWMgaW50IG9tYXBfbWNic3BfY2xrX2VuYWJsZShzdHJ1Y3QgY2xrICpjbGspCit7CisJc3RydWN0IG1jYnNwX2ludGVybmFsX2NsayAqbWNsayA9IGNvbnRhaW5lcl9vZihjbGssCisJCQkJCXN0cnVjdCBtY2JzcF9pbnRlcm5hbF9jbGssIGNsayk7CisJaW50IGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgbWNsay0+bl9jaGlsZHM7IGkrKykKKwkJY2xrX2VuYWJsZShtY2xrLT5jaGlsZHNbaV0pOworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBvbWFwX21jYnNwX2Nsa19kaXNhYmxlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwlzdHJ1Y3QgbWNic3BfaW50ZXJuYWxfY2xrICptY2xrID0gY29udGFpbmVyX29mKGNsaywKKwkJCQkJc3RydWN0IG1jYnNwX2ludGVybmFsX2NsaywgY2xrKTsKKwlpbnQgaTsKKworCWZvciAoaSA9IDA7IGkgPCBtY2xrLT5uX2NoaWxkczsgaSsrKQorCQljbGtfZGlzYWJsZShtY2xrLT5jaGlsZHNbaV0pOworfQorCitzdGF0aWMgc3RydWN0IG1jYnNwX2ludGVybmFsX2NsayBvbWFwX21jYnNwX2Nsa3NbXSA9IHsKKwl7CisJCS5jbGsgPSB7CisJCQkubmFtZSAJCT0gIm1jYnNwX2NsayIsCisJCQkuaWQJCT0gMSwKKwkJCS5lbmFibGUJCT0gb21hcF9tY2JzcF9jbGtfZW5hYmxlLAorCQkJLmRpc2FibGUJPSBvbWFwX21jYnNwX2Nsa19kaXNhYmxlLAorCQl9LAorCX0sCisJeworCQkuY2xrID0geworCQkJLm5hbWUgCQk9ICJtY2JzcF9jbGsiLAorCQkJLmlkCQk9IDIsCisJCQkuZW5hYmxlCQk9IG9tYXBfbWNic3BfY2xrX2VuYWJsZSwKKwkJCS5kaXNhYmxlCT0gb21hcF9tY2JzcF9jbGtfZGlzYWJsZSwKKwkJfSwKKwl9LAorfTsKKworI2RlZmluZSBvbWFwX21jYnNwX2Nsa3Nfc2l6ZQlBUlJBWV9TSVpFKG9tYXBfbWNic3BfY2xrcykKKyNlbHNlCisjZGVmaW5lIG9tYXBfbWNic3BfY2xrc19zaXplCTAKK3N0YXRpYyBzdHJ1Y3QgbWNic3BfaW50ZXJuYWxfY2xrIF9faW5pdGRhdGEgKm9tYXBfbWNic3BfY2xrczsKK3N0YXRpYyBpbmxpbmUgdm9pZCBvbWFwX21jYnNwX2Nsa19pbml0KHN0cnVjdCBjbGsgKmNsaykKK3sgfQorI2VuZGlmCisKK3N0YXRpYyB2b2lkIG9tYXAyX21jYnNwMl9tdXhfc2V0dXAodm9pZCkKK3sKKwlvbWFwX2NmZ19yZWcoWTE1XzI0WFhfTUNCU1AyX0NMS1gpOworCW9tYXBfY2ZnX3JlZyhSMTRfMjRYWF9NQ0JTUDJfRlNYKTsKKwlvbWFwX2NmZ19yZWcoVzE1XzI0WFhfTUNCU1AyX0RSKTsKKwlvbWFwX2NmZ19yZWcoVjE1XzI0WFhfTUNCU1AyX0RYKTsKKwlvbWFwX2NmZ19yZWcoVjE0XzI0WFhfR1BJTzExNyk7CisJLyoKKwkgKiBUT0RPOiBOZWVkIHRvIGFkZCBNVVggc2V0dGluZ3MgZm9yIE9NQVAgMjQzMCBTRFAKKwkgKi8KK30KKworc3RhdGljIHZvaWQgb21hcDJfbWNic3BfcmVxdWVzdCh1bnNpZ25lZCBpbnQgaWQpCit7CisJaWYgKGNwdV9pc19vbWFwMjQyMCgpICYmIChpZCA9PSBPTUFQX01DQlNQMikpCisJCW9tYXAyX21jYnNwMl9tdXhfc2V0dXAoKTsKK30KKworc3RhdGljIGludCBvbWFwMl9tY2JzcF9jaGVjayh1bnNpZ25lZCBpbnQgaWQpCit7CisJaWYgKGlkID4gT01BUF9NQVhfTUNCU1BfQ09VTlQgLSAxKSB7CisJCXByaW50ayhLRVJOX0VSUiAiT01BUC1NY0JTUDogTWNCU1AlZCBkb2Vzbid0IGV4aXN0XG4iLCBpZCArIDEpOworCQlyZXR1cm4gLUVOT0RFVjsKKwl9CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBzdHJ1Y3Qgb21hcF9tY2JzcF9vcHMgb21hcDJfbWNic3Bfb3BzID0geworCS5yZXF1ZXN0CT0gb21hcDJfbWNic3BfcmVxdWVzdCwKKwkuY2hlY2sJCT0gb21hcDJfbWNic3BfY2hlY2ssCit9OworCisjaWZkZWYgQ09ORklHX0FSQ0hfT01BUDI0WFgKK3N0YXRpYyBzdHJ1Y3Qgb21hcF9tY2JzcF9wbGF0Zm9ybV9kYXRhIG9tYXAyNHh4X21jYnNwX3BkYXRhW10gPSB7CisJeworCQkudmlydF9iYXNlCT0gSU9fQUREUkVTUyhPTUFQMjRYWF9NQ0JTUDFfQkFTRSksCisJCS5kbWFfcnhfc3luYwk9IE9NQVAyNFhYX0RNQV9NQ0JTUDFfUlgsCisJCS5kbWFfdHhfc3luYwk9IE9NQVAyNFhYX0RNQV9NQ0JTUDFfVFgsCisJCS5yeF9pcnEJCT0gSU5UXzI0WFhfTUNCU1AxX0lSUV9SWCwKKwkJLnR4X2lycQkJPSBJTlRfMjRYWF9NQ0JTUDFfSVJRX1RYLAorCQkub3BzCQk9ICZvbWFwMl9tY2JzcF9vcHMsCisJCS5jbGtfbmFtZQk9ICJtY2JzcF9jbGsiLAorCX0sCisJeworCQkudmlydF9iYXNlCT0gSU9fQUREUkVTUyhPTUFQMjRYWF9NQ0JTUDJfQkFTRSksCisJCS5kbWFfcnhfc3luYwk9IE9NQVAyNFhYX0RNQV9NQ0JTUDJfUlgsCisJCS5kbWFfdHhfc3luYwk9IE9NQVAyNFhYX0RNQV9NQ0JTUDJfVFgsCisJCS5yeF9pcnEJCT0gSU5UXzI0WFhfTUNCU1AyX0lSUV9SWCwKKwkJLnR4X2lycQkJPSBJTlRfMjRYWF9NQ0JTUDJfSVJRX1RYLAorCQkub3BzCQk9ICZvbWFwMl9tY2JzcF9vcHMsCisJCS5jbGtfbmFtZQk9ICJtY2JzcF9jbGsiLAorCX0sCit9OworI2RlZmluZSBPTUFQMjRYWF9NQ0JTUF9QREFUQV9TWgkJQVJSQVlfU0laRShvbWFwMjR4eF9tY2JzcF9wZGF0YSkKKyNlbHNlCisjZGVmaW5lIG9tYXAyNHh4X21jYnNwX3BkYXRhCQlOVUxMCisjZGVmaW5lIE9NQVAyNFhYX01DQlNQX1BEQVRBX1NaCQkwCisjZW5kaWYKKworI2lmZGVmIENPTkZJR19BUkNIX09NQVAzNFhYCitzdGF0aWMgc3RydWN0IG9tYXBfbWNic3BfcGxhdGZvcm1fZGF0YSBvbWFwMzR4eF9tY2JzcF9wZGF0YVtdID0geworCXsKKwkJLnZpcnRfYmFzZQk9IElPX0FERFJFU1MoT01BUDM0WFhfTUNCU1AxX0JBU0UpLAorCQkuZG1hX3J4X3N5bmMJPSBPTUFQMjRYWF9ETUFfTUNCU1AxX1JYLAorCQkuZG1hX3R4X3N5bmMJPSBPTUFQMjRYWF9ETUFfTUNCU1AxX1RYLAorCQkucnhfaXJxCQk9IElOVF8yNFhYX01DQlNQMV9JUlFfUlgsCisJCS50eF9pcnEJCT0gSU5UXzI0WFhfTUNCU1AxX0lSUV9UWCwKKwkJLm9wcwkJPSAmb21hcDJfbWNic3Bfb3BzLAorCQkuY2xrX25hbWUJPSAibWNic3BfY2xrIiwKKwl9LAorCXsKKwkJLnZpcnRfYmFzZQk9IElPX0FERFJFU1MoT01BUDM0WFhfTUNCU1AyX0JBU0UpLAorCQkuZG1hX3J4X3N5bmMJPSBPTUFQMjRYWF9ETUFfTUNCU1AyX1JYLAorCQkuZG1hX3R4X3N5bmMJPSBPTUFQMjRYWF9ETUFfTUNCU1AyX1RYLAorCQkucnhfaXJxCQk9IElOVF8yNFhYX01DQlNQMl9JUlFfUlgsCisJCS50eF9pcnEJCT0gSU5UXzI0WFhfTUNCU1AyX0lSUV9UWCwKKwkJLm9wcwkJPSAmb21hcDJfbWNic3Bfb3BzLAorCQkuY2xrX25hbWUJPSAibWNic3BfY2xrIiwKKwl9LAorfTsKKyNkZWZpbmUgT01BUDM0WFhfTUNCU1BfUERBVEFfU1oJCUFSUkFZX1NJWkUob21hcDM0eHhfbWNic3BfcGRhdGEpCisjZWxzZQorI2RlZmluZSBvbWFwMzR4eF9tY2JzcF9wZGF0YQkJTlVMTAorI2RlZmluZSBPTUFQMzRYWF9NQ0JTUF9QREFUQV9TWgkJMAorI2VuZGlmCisKK2ludCBfX2luaXQgb21hcDJfbWNic3BfaW5pdCh2b2lkKQoreworCWludCBpOworCisJZm9yIChpID0gMDsgaSA8IG9tYXBfbWNic3BfY2xrc19zaXplOyBpKyspIHsKKwkJLyogT25jZSB3ZSBjYWxsIGNsa19nZXQgaW5zaWRlIGluaXQsIHdlIGRvIG5vdCByZWdpc3RlciBpdCAqLworCQlvbWFwX21jYnNwX2Nsa19pbml0KCZvbWFwX21jYnNwX2Nsa3NbaV0pOworCQljbGtfcmVnaXN0ZXIoJm9tYXBfbWNic3BfY2xrc1tpXS5jbGspOworCX0KKworCWlmIChjcHVfaXNfb21hcDI0eHgoKSkKKwkJb21hcF9tY2JzcF9yZWdpc3Rlcl9ib2FyZF9jZmcob21hcDI0eHhfbWNic3BfcGRhdGEsCisJCQkJCQlPTUFQMjRYWF9NQ0JTUF9QREFUQV9TWik7CisKKwlpZiAoY3B1X2lzX29tYXAzNHh4KCkpCisJCW9tYXBfbWNic3BfcmVnaXN0ZXJfYm9hcmRfY2ZnKG9tYXAzNHh4X21jYnNwX3BkYXRhLAorCQkJCQkJT01BUDM0WFhfTUNCU1BfUERBVEFfU1opOworCisJcmV0dXJuIG9tYXBfbWNic3BfaW5pdCgpOworfQorYXJjaF9pbml0Y2FsbChvbWFwMl9tY2JzcF9pbml0KTsKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtb21hcDIvbWVtb3J5LmMgYi9hcmNoL2FybS9tYWNoLW9tYXAyL21lbW9yeS5jCmluZGV4IDEyNDc5MDguLjczY2FkYjIgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtb21hcDIvbWVtb3J5LmMKKysrIGIvYXJjaC9hcm0vbWFjaC1vbWFwMi9tZW1vcnkuYwpAQCAtMjQsNiArMjQsNyBAQAogCiAjaW5jbHVkZSA8YXNtL2lvLmg+CiAKKyNpbmNsdWRlIDxhc20vYXJjaC9jb21tb24uaD4KICNpbmNsdWRlIDxhc20vYXJjaC9jbG9jay5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL3NyYW0uaD4KIApAQCAtMzIsOCArMzMsOCBAQAogI2luY2x1ZGUgIm1lbW9yeS5oIgogI2luY2x1ZGUgInNkcmMuaCIKIAotdW5zaWduZWQgbG9uZyBvbWFwMl9zZHJjX2Jhc2U7Ci11bnNpZ25lZCBsb25nIG9tYXAyX3Ntc19iYXNlOwordm9pZCBfX2lvbWVtICpvbWFwMl9zZHJjX2Jhc2U7Cit2b2lkIF9faW9tZW0gKm9tYXAyX3Ntc19iYXNlOwogCiBzdGF0aWMgc3RydWN0IG1lbW9yeV90aW1pbmdzIG1lbV90aW1pbmdzOwogc3RhdGljIHUzMiBjdXJyX3BlcmZfbGV2ZWwgPSBDT1JFX0NMS19TUkNfRFBMTF9YMjsKQEAgLTE1NCw2ICsxNTUsMTIgQEAKIAltZW1fdGltaW5ncy5zbG93X2RsbF9jdHJsIHw9ICgoMSA8PCAxKSB8ICgzIDw8IDgpKTsKIH0KIAordm9pZCBfX2luaXQgb21hcDJfc2V0X2dsb2JhbHNfbWVtb3J5KHN0cnVjdCBvbWFwX2dsb2JhbHMgKm9tYXAyX2dsb2JhbHMpCit7CisJb21hcDJfc2RyY19iYXNlID0gb21hcDJfZ2xvYmFscy0+c2RyYzsKKwlvbWFwMl9zbXNfYmFzZSA9IG9tYXAyX2dsb2JhbHMtPnNtczsKK30KKwogLyogdHVybiBvbiBzbWFydCBpZGxlIG1vZGVzIGZvciBTRFJBTSBzY2hlZHVsZXIgYW5kIGNvbnRyb2xsZXIgKi8KIHZvaWQgX19pbml0IG9tYXAyX2luaXRfbWVtb3J5KHZvaWQpCiB7CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW9tYXAyL211eC5jIGIvYXJjaC9hcm0vbWFjaC1vbWFwMi9tdXguYwppbmRleCA5MzA3NzAwLi44Zjk4YjIwIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLW9tYXAyL211eC5jCisrKyBiL2FyY2gvYXJtL21hY2gtb21hcDIvbXV4LmMKQEAgLTIzNiw3ICsyMzYsNyBAQAogCXdhcm4gPSAob3JpZyAhPSByZWcpOwogCWlmIChkZWJ1ZyB8fCB3YXJuKQogCQlwcmludGsoS0VSTl9XQVJOSU5HCi0JCQkiTVVYOiBzZXR1cCAlcyAoMHglMDh4KTogMHglMDJ4IC0+IDB4JTAyeFxuIiwKKwkJCSJNVVg6IHNldHVwICVzICgweCVwKTogMHglMDR4IC0+IDB4JTA0eFxuIiwKIAkJCWNmZy0+bmFtZSwgb21hcF9jdHJsX2Jhc2VfZ2V0KCkgKyBjZmctPm11eF9yZWcsCiAJCQlvcmlnLCByZWcpOwogfQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1vbWFwMi9wbS5jIGIvYXJjaC9hcm0vbWFjaC1vbWFwMi9wbS5jCmluZGV4IGFhZDc4MWQuLmQ2YzlkZTggMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtb21hcDIvcG0uYworKysgYi9hcmNoL2FybS9tYWNoLW9tYXAyL3BtLmMKQEAgLTU3LDEzICs1Nyw2IEBACiAJCXJldHVybjsKIAl9CiAKLQkvKgotCSAqIFNpbmNlIGFuIGludGVycnVwdCBtYXkgc2V0IHVwIGEgdGltZXIsIHdlIGRvbid0IHdhbnQgdG8KLQkgKiByZXByb2dyYW0gdGhlIGhhcmR3YXJlIHRpbWVyIHdpdGggaW50ZXJydXB0cyBlbmFibGVkLgotCSAqIFJlLWVuYWJsZSBpbnRlcnJ1cHRzIG9ubHkgYWZ0ZXIgcmV0dXJuaW5nIGZyb20gaWRsZS4KLQkgKi8KLQl0aW1lcl9keW5fcmVwcm9ncmFtKCk7Ci0KIAlvbWFwMl9zcmFtX2lkbGUoKTsKIAlsb2NhbF9maXFfZW5hYmxlKCk7CiAJbG9jYWxfaXJxX2VuYWJsZSgpOwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1vbWFwMi9wcmNtLWNvbW1vbi5oIGIvYXJjaC9hcm0vbWFjaC1vbWFwMi9wcmNtLWNvbW1vbi5oCmluZGV4IGNhY2IzNDAuLjU0YzMyZjQgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtb21hcDIvcHJjbS1jb21tb24uaAorKysgYi9hcmNoL2FybS9tYWNoLW9tYXAyL3ByY20tY29tbW9uLmgKQEAgLTMyLDYgKzMyLDcgQEAKIAogCiAvKiBDaGlwLXNwZWNpZmljIG1vZHVsZSBvZmZzZXRzICovCisjZGVmaW5lIE9NQVAyNFhYX0dSX01PRAkJCQkJT0NQX01PRAogI2RlZmluZSBPTUFQMjRYWF9EU1BfTU9ECQkJCTB4ODAwCiAKICNkZWZpbmUgT01BUDI0MzBfTURNX01PRAkJCQkweGMwMApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1vbWFwMi9wcmNtLmMgYi9hcmNoL2FybS9tYWNoLW9tYXAyL3ByY20uYwppbmRleCBiMTJmNDIzLi5mZDkyYTgwIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLW9tYXAyL3ByY20uYworKysgYi9hcmNoL2FybS9tYWNoLW9tYXAyL3ByY20uYwpAQCAtMTYsMTYgKzE2LDIxIEBACiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgogI2luY2x1ZGUgPGxpbnV4L2Nsay5oPgorI2luY2x1ZGUgPGxpbnV4L2lvLmg+CiAKLSNpbmNsdWRlIDxhc20vaW8uaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9jb21tb24uaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9wcmNtLmg+CiAKKyNpbmNsdWRlICJjbG9jay5oIgogI2luY2x1ZGUgInBybS5oIgogI2luY2x1ZGUgInBybS1yZWdiaXRzLTI0eHguaCIKIAotZXh0ZXJuIHZvaWQgb21hcDJfY2xrX3ByZXBhcmVfZm9yX3JlYm9vdCh2b2lkKTsKK3N0YXRpYyB2b2lkIF9faW9tZW0gKnBybV9iYXNlOworc3RhdGljIHZvaWQgX19pb21lbSAqY21fYmFzZTsKIAogdTMyIG9tYXBfcHJjbV9nZXRfcmVzZXRfc291cmNlcyh2b2lkKQogeworCS8qIFhYWCBUaGlzIHByZXN1bWFibHkgbmVlZHMgbW9kaWZpY2F0aW9uIGZvciAzNFhYICovCiAJcmV0dXJuIHBybV9yZWFkX21vZF9yZWcoV0tVUF9NT0QsIFJNX1JTVFNUKSAmIDB4N2Y7CiB9CiBFWFBPUlRfU1lNQk9MKG9tYXBfcHJjbV9nZXRfcmVzZXRfc291cmNlcyk7CkBAIC0zMywxMSArMzgsOTAgQEAKIC8qIFJlc2V0cyBjbG9jayByYXRlcyBhbmQgcmVib290cyB0aGUgc3lzdGVtLiBPbmx5IGNhbGxlZCBmcm9tIHN5c3RlbS5oICovCiB2b2lkIG9tYXBfcHJjbV9hcmNoX3Jlc2V0KGNoYXIgbW9kZSkKIHsKLQl1MzIgd2t1cDsKKwlzMTYgcHJjbV9vZmZzOwogCW9tYXAyX2Nsa19wcmVwYXJlX2Zvcl9yZWJvb3QoKTsKIAotCWlmIChjcHVfaXNfb21hcDI0eHgoKSkgewotCQl3a3VwID0gcHJtX3JlYWRfbW9kX3JlZyhXS1VQX01PRCwgUk1fUlNUQ1RSTCkgfCBPTUFQX1JTVF9EUExMMzsKLQkJcHJtX3dyaXRlX21vZF9yZWcod2t1cCwgV0tVUF9NT0QsIFJNX1JTVENUUkwpOwotCX0KKwlpZiAoY3B1X2lzX29tYXAyNHh4KCkpCisJCXByY21fb2ZmcyA9IFdLVVBfTU9EOworCWVsc2UgaWYgKGNwdV9pc19vbWFwMzR4eCgpKQorCQlwcmNtX29mZnMgPSBPTUFQMzQzMF9HUl9NT0Q7CisJZWxzZQorCQlXQVJOX09OKDEpOworCisJcHJtX3NldF9tb2RfcmVnX2JpdHMoT01BUF9SU1RfRFBMTDMsIHByY21fb2ZmcywgUk1fUlNUQ1RSTCk7Cit9CisKK3N0YXRpYyBpbmxpbmUgdTMyIF9fb21hcF9wcmNtX3JlYWQodm9pZCBfX2lvbWVtICpiYXNlLCBzMTYgbW9kdWxlLCB1MTYgcmVnKQoreworCUJVR19PTighYmFzZSk7CisJcmV0dXJuIF9fcmF3X3JlYWRsKGJhc2UgKyBtb2R1bGUgKyByZWcpOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgX19vbWFwX3ByY21fd3JpdGUodTMyIHZhbHVlLCB2b2lkIF9faW9tZW0gKmJhc2UsCisJCQkJCQlzMTYgbW9kdWxlLCB1MTYgcmVnKQoreworCUJVR19PTighYmFzZSk7CisJX19yYXdfd3JpdGVsKHZhbHVlLCBiYXNlICsgbW9kdWxlICsgcmVnKTsKK30KKworLyogUmVhZCBhIHJlZ2lzdGVyIGluIGEgUFJNIG1vZHVsZSAqLwordTMyIHBybV9yZWFkX21vZF9yZWcoczE2IG1vZHVsZSwgdTE2IGlkeCkKK3sKKwlyZXR1cm4gX19vbWFwX3ByY21fcmVhZChwcm1fYmFzZSwgbW9kdWxlLCBpZHgpOworfQorRVhQT1JUX1NZTUJPTChwcm1fcmVhZF9tb2RfcmVnKTsKKworLyogV3JpdGUgaW50byBhIHJlZ2lzdGVyIGluIGEgUFJNIG1vZHVsZSAqLwordm9pZCBwcm1fd3JpdGVfbW9kX3JlZyh1MzIgdmFsLCBzMTYgbW9kdWxlLCB1MTYgaWR4KQoreworCV9fb21hcF9wcmNtX3dyaXRlKHZhbCwgcHJtX2Jhc2UsIG1vZHVsZSwgaWR4KTsKK30KK0VYUE9SVF9TWU1CT0wocHJtX3dyaXRlX21vZF9yZWcpOworCisvKiBSZWFkLW1vZGlmeS13cml0ZSBhIHJlZ2lzdGVyIGluIGEgUFJNIG1vZHVsZS4gQ2FsbGVyIG11c3QgbG9jayAqLwordTMyIHBybV9ybXdfbW9kX3JlZ19iaXRzKHUzMiBtYXNrLCB1MzIgYml0cywgczE2IG1vZHVsZSwgczE2IGlkeCkKK3sKKwl1MzIgdjsKKworCXYgPSBwcm1fcmVhZF9tb2RfcmVnKG1vZHVsZSwgaWR4KTsKKwl2ICY9IH5tYXNrOworCXYgfD0gYml0czsKKwlwcm1fd3JpdGVfbW9kX3JlZyh2LCBtb2R1bGUsIGlkeCk7CisKKwlyZXR1cm4gdjsKK30KK0VYUE9SVF9TWU1CT0wocHJtX3Jtd19tb2RfcmVnX2JpdHMpOworCisvKiBSZWFkIGEgcmVnaXN0ZXIgaW4gYSBDTSBtb2R1bGUgKi8KK3UzMiBjbV9yZWFkX21vZF9yZWcoczE2IG1vZHVsZSwgdTE2IGlkeCkKK3sKKwlyZXR1cm4gX19vbWFwX3ByY21fcmVhZChjbV9iYXNlLCBtb2R1bGUsIGlkeCk7Cit9CitFWFBPUlRfU1lNQk9MKGNtX3JlYWRfbW9kX3JlZyk7CisKKy8qIFdyaXRlIGludG8gYSByZWdpc3RlciBpbiBhIENNIG1vZHVsZSAqLwordm9pZCBjbV93cml0ZV9tb2RfcmVnKHUzMiB2YWwsIHMxNiBtb2R1bGUsIHUxNiBpZHgpCit7CisJX19vbWFwX3ByY21fd3JpdGUodmFsLCBjbV9iYXNlLCBtb2R1bGUsIGlkeCk7Cit9CitFWFBPUlRfU1lNQk9MKGNtX3dyaXRlX21vZF9yZWcpOworCisvKiBSZWFkLW1vZGlmeS13cml0ZSBhIHJlZ2lzdGVyIGluIGEgQ00gbW9kdWxlLiBDYWxsZXIgbXVzdCBsb2NrICovCit1MzIgY21fcm13X21vZF9yZWdfYml0cyh1MzIgbWFzaywgdTMyIGJpdHMsIHMxNiBtb2R1bGUsIHMxNiBpZHgpCit7CisJdTMyIHY7CisKKwl2ID0gY21fcmVhZF9tb2RfcmVnKG1vZHVsZSwgaWR4KTsKKwl2ICY9IH5tYXNrOworCXYgfD0gYml0czsKKwljbV93cml0ZV9tb2RfcmVnKHYsIG1vZHVsZSwgaWR4KTsKKworCXJldHVybiB2OworfQorRVhQT1JUX1NZTUJPTChjbV9ybXdfbW9kX3JlZ19iaXRzKTsKKwordm9pZCBfX2luaXQgb21hcDJfc2V0X2dsb2JhbHNfcHJjbShzdHJ1Y3Qgb21hcF9nbG9iYWxzICpvbWFwMl9nbG9iYWxzKQoreworCXBybV9iYXNlID0gb21hcDJfZ2xvYmFscy0+cHJtOworCWNtX2Jhc2UgPSBvbWFwMl9nbG9iYWxzLT5jbTsKIH0KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtb21hcDIvcHJtLmggYi9hcmNoL2FybS9tYWNoLW9tYXAyL3BybS5oCmluZGV4IDYxOGY4MTEuLmJiZjQxZmMgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtb21hcDIvcHJtLmgKKysrIGIvYXJjaC9hcm0vbWFjaC1vbWFwMi9wcm0uaApAQCAtMzgsMTMgKzM4LDI5IEBACiAgKgogICovCiAKKy8qIEdsb2JhbCAyNHh4IHJlZ2lzdGVycyBpbiBHUl9NT0QgKFNhbWUgYXMgT0NQX01PRCBmb3IgMjR4eCkgKi8KKyNkZWZpbmUgT01BUDI0WFhfUFJDTV9WT0xUQ1RSTF9PRkZTRVQJCTB4MDA1MAorI2RlZmluZSBPTUFQMjRYWF9QUkNNX0NMS0NGR19DVFJMX09GRlNFVAkweDAwODAKKworLyogMjQyeCBHUl9NT0QgcmVnaXN0ZXJzLCB1c2UgdGhlc2Ugb25seSBmb3IgYXNzZW1ibHkgY29kZSAqLworI2RlZmluZSBPTUFQMjQyWF9QUkNNX1ZPTFRDVFJMCQlPTUFQMjQyMF9QUk1fUkVHQUREUihPTUFQMjRYWF9HUl9NT0QsCVwKKwkJCQkJCU9NQVAyNFhYX1BSQ01fVk9MVENUUkxfT0ZGU0VUKQorI2RlZmluZSBPTUFQMjQyWF9QUkNNX0NMS0NGR19DVFJMCU9NQVAyNDIwX1BSTV9SRUdBRERSKE9NQVAyNFhYX0dSX01PRCwJXAorCQkJCQkJT01BUDI0WFhfUFJDTV9DTEtDRkdfQ1RSTF9PRkZTRVQpCisKKy8qIDI0M3ggR1JfTU9EIHJlZ2lzdGVycywgdXNlIHRoZXNlIG9ubHkgZm9yIGFzc2VtYmx5IGNvZGUgKi8KKyNkZWZpbmUgT01BUDI0M1hfUFJDTV9WT0xUQ1RSTAkJT01BUDI0MzBfUFJNX1JFR0FERFIoT01BUDI0WFhfR1JfTU9ELAlcCisJCQkJCQlPTUFQMjRYWF9QUkNNX1ZPTFRDVFJMX09GRlNFVCkKKyNkZWZpbmUgT01BUDI0M1hfUFJDTV9DTEtDRkdfQ1RSTAlPTUFQMjQzMF9QUk1fUkVHQUREUihPTUFQMjRYWF9HUl9NT0QsCVwKKwkJCQkJCU9NQVAyNFhYX1BSQ01fQ0xLQ0ZHX0NUUkxfT0ZGU0VUKQorCisvKiBUaGVzZSB3aWxsIGRpc2FwcGVhciAqLwogI2RlZmluZSBPTUFQMjRYWF9QUkNNX1JFVklTSU9OCQlPTUFQX1BSTV9SRUdBRERSKE9DUF9NT0QsIDB4MDAwMCkKICNkZWZpbmUgT01BUDI0WFhfUFJDTV9TWVNDT05GSUcJCU9NQVBfUFJNX1JFR0FERFIoT0NQX01PRCwgMHgwMDEwKQogCiAjZGVmaW5lIE9NQVAyNFhYX1BSQ01fSVJRU1RBVFVTX01QVQlPTUFQX1BSTV9SRUdBRERSKE9DUF9NT0QsIDB4MDAxOCkKICNkZWZpbmUgT01BUDI0WFhfUFJDTV9JUlFFTkFCTEVfTVBVCU9NQVBfUFJNX1JFR0FERFIoT0NQX01PRCwgMHgwMDFjKQogCi0jZGVmaW5lIE9NQVAyNFhYX1BSQ01fVk9MVENUUkwJCU9NQVBfUFJNX1JFR0FERFIoT0NQX01PRCwgMHgwMDUwKQogI2RlZmluZSBPTUFQMjRYWF9QUkNNX1ZPTFRTVAkJT01BUF9QUk1fUkVHQUREUihPQ1BfTU9ELCAweDAwNTQpCiAjZGVmaW5lIE9NQVAyNFhYX1BSQ01fQ0xLU1JDX0NUUkwJT01BUF9QUk1fUkVHQUREUihPQ1BfTU9ELCAweDAwNjApCiAjZGVmaW5lIE9NQVAyNFhYX1BSQ01fQ0xLT1VUX0NUUkwJT01BUF9QUk1fUkVHQUREUihPQ1BfTU9ELCAweDAwNzApCkBAIC0xNTAsMTUgKzE2NiwxOSBAQAogI2lmbmRlZiBfX0FTU0VNQkxFUl9fCiAKIC8qIFBvd2VyL3Jlc2V0IG1hbmFnZW1lbnQgZG9tYWluIHJlZ2lzdGVyIGdldC9zZXQgKi8KK2V4dGVybiB1MzIgcHJtX3JlYWRfbW9kX3JlZyhzMTYgbW9kdWxlLCB1MTYgaWR4KTsKK2V4dGVybiB2b2lkIHBybV93cml0ZV9tb2RfcmVnKHUzMiB2YWwsIHMxNiBtb2R1bGUsIHUxNiBpZHgpOworZXh0ZXJuIHUzMiBwcm1fcm13X21vZF9yZWdfYml0cyh1MzIgbWFzaywgdTMyIGJpdHMsIHMxNiBtb2R1bGUsIHMxNiBpZHgpOwogCi1zdGF0aWMgaW5saW5lIHZvaWQgcHJtX3dyaXRlX21vZF9yZWcodTMyIHZhbCwgczE2IG1vZHVsZSwgczE2IGlkeCkKKy8qIFJlYWQtbW9kaWZ5LXdyaXRlIGJpdHMgaW4gYSBQUk0gcmVnaXN0ZXIgKGJ5IGRvbWFpbikgKi8KK3N0YXRpYyBpbmxpbmUgdTMyIHBybV9zZXRfbW9kX3JlZ19iaXRzKHUzMiBiaXRzLCBzMTYgbW9kdWxlLCBzMTYgaWR4KQogewotCV9fcmF3X3dyaXRlbCh2YWwsIE9NQVBfUFJNX1JFR0FERFIobW9kdWxlLCBpZHgpKTsKKwlyZXR1cm4gcHJtX3Jtd19tb2RfcmVnX2JpdHMoYml0cywgYml0cywgbW9kdWxlLCBpZHgpOwogfQogCi1zdGF0aWMgaW5saW5lIHUzMiBwcm1fcmVhZF9tb2RfcmVnKHMxNiBtb2R1bGUsIHMxNiBpZHgpCitzdGF0aWMgaW5saW5lIHUzMiBwcm1fY2xlYXJfbW9kX3JlZ19iaXRzKHUzMiBiaXRzLCBzMTYgbW9kdWxlLCBzMTYgaWR4KQogewotCXJldHVybiBfX3Jhd19yZWFkbChPTUFQX1BSTV9SRUdBRERSKG1vZHVsZSwgaWR4KSk7CisJcmV0dXJuIHBybV9ybXdfbW9kX3JlZ19iaXRzKGJpdHMsIDB4MCwgbW9kdWxlLCBpZHgpOwogfQogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtb21hcDIvc2RyYy5oIGIvYXJjaC9hcm0vbWFjaC1vbWFwMi9zZHJjLmgKaW5kZXggZDdmMjNiYy4uMWIxZmU0ZiAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1vbWFwMi9zZHJjLmgKKysrIGIvYXJjaC9hcm0vbWFjaC1vbWFwMi9zZHJjLmgKQEAgLTE4LDEzICsxOCwxMSBAQAogI2luY2x1ZGUgPGFzbS9hcmNoL3NkcmMuaD4KIAogI2lmbmRlZiBfX0FTU0VNQkxFUl9fCi1leHRlcm4gdW5zaWduZWQgbG9uZyBvbWFwMl9zZHJjX2Jhc2U7Ci1leHRlcm4gdW5zaWduZWQgbG9uZyBvbWFwMl9zbXNfYmFzZTsKK2V4dGVybiB2b2lkIF9faW9tZW0gKm9tYXAyX3NkcmNfYmFzZTsKK2V4dGVybiB2b2lkIF9faW9tZW0gKm9tYXAyX3Ntc19iYXNlOwogCi0jZGVmaW5lIE9NQVBfU0RSQ19SRUdBRERSKHJlZykJCQkJCQlcCi0JCSh2b2lkIF9faW9tZW0gKilJT19BRERSRVNTKG9tYXAyX3NkcmNfYmFzZSArIChyZWcpKQotI2RlZmluZSBPTUFQX1NNU19SRUdBRERSKHJlZykJCQkJCQlcCi0JCSh2b2lkIF9faW9tZW0gKilJT19BRERSRVNTKG9tYXAyX3Ntc19iYXNlICsgKHJlZykpCisjZGVmaW5lIE9NQVBfU0RSQ19SRUdBRERSKHJlZykJCQkob21hcDJfc2RyY19iYXNlICsgKHJlZykpCisjZGVmaW5lIE9NQVBfU01TX1JFR0FERFIocmVnKQkJCShvbWFwMl9zbXNfYmFzZSArIChyZWcpKQogCiAvKiBTRFJDIGdsb2JhbCByZWdpc3RlciBnZXQvc2V0ICovCiAKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtb21hcDIvc3JhbS1mbi5TIGIvYXJjaC9hcm0vbWFjaC1vbWFwMi9zcmFtMjQyeC5TCnNpbWlsYXJpdHkgaW5kZXggODAlCnJlbmFtZSBmcm9tIGFyY2gvYXJtL21hY2gtb21hcDIvc3JhbS1mbi5TCnJlbmFtZSB0byBhcmNoL2FybS9tYWNoLW9tYXAyL3NyYW0yNDJ4LlMKaW5kZXggNGE5ZTQ5MS4uNGMyNzQ1MSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1vbWFwMi9zcmFtLWZuLlMKKysrIGIvYXJjaC9hcm0vbWFjaC1vbWFwMi9zcmFtMjQyeC5TCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIGxpbnV4L2FyY2gvYXJtL21hY2gtb21hcDIvc3JhbS1mbi5TCisgKiBsaW51eC9hcmNoL2FybS9tYWNoLW9tYXAyL3NyYW0yNDJ4LlMKICAqCiAgKiBPbWFwMiBzcGVjaWZpYyBmdW5jdGlvbnMgdGhhdCBuZWVkIHRvIGJlIHJ1biBpbiBpbnRlcm5hbCBTUkFNCiAgKgpAQCAtMjcsMjIgKzI3LDIwIEBACiAjaW5jbHVkZSA8YXNtL2FyY2gvaW8uaD4KICNpbmNsdWRlIDxhc20vaGFyZHdhcmUuaD4KIAotI2luY2x1ZGUgInNkcmMuaCIKICNpbmNsdWRlICJwcm0uaCIKICNpbmNsdWRlICJjbS5oIgotCi0jZGVmaW5lIFRJTUVSXzMyS1NZTkNUX0NSX1YJSU9fQUREUkVTUyhPTUFQMjQyMF8zMktTWU5DVF9CQVNFICsgMHgwMTApCisjaW5jbHVkZSAic2RyYy5oIgogCiAJLnRleHQKIAotRU5UUlkoc3JhbV9kZHJfaW5pdCkKK0VOVFJZKG9tYXAyNDJ4X3NyYW1fZGRyX2luaXQpCiAJc3RtZmQJc3AhLCB7cjAgLSByMTIsIGxyfQlAIHNhdmUgcmVnaXN0ZXJzIG9uIHN0YWNrCiAKIAltb3YJcjEyLCByMgkJCUAgY2FwdHVyZSBDUzEgdnMgQ1MwCiAJbW92CXI4LCByMwkJCUAgY2FwdHVyZSBmb3JjZSBwYXJhbWV0ZXIKIAogCS8qIGZyZXF1ZW5jeSBzaGlmdCBkb3duICovCi0JbGRyCXIyLCBjbV9jbGtzZWwyX3BsbAlAIGdldCBhZGRyZXNzIG9mIGRwbGxvdXQgcmVnCisJbGRyCXIyLCBvbWFwMjQyeF9zZGlfY21fY2xrc2VsMl9wbGwJQCBnZXQgYWRkcmVzcyBvZiBkcGxsb3V0IHJlZwogCW1vdglyMywgIzB4MQkJQCB2YWx1ZSBmb3IgMXggb3BlcmF0aW9uCiAJc3RyCXIzLCBbcjJdCQlAIGdvIHRvIEwxLWZyZXEgb3BlcmF0aW9uCiAKQEAgLTUxLDcgKzQ5LDcgQEAKIAlibCB2b2x0YWdlX3NoaWZ0CQlAIGdvIGRyb3Agdm9sdGFnZQogCiAJLyogZGxsIGxvY2sgbW9kZSAqLwotCWxkcglyMTEsIHNkcmNfZGxsYV9jdHJsCUAgYWRkciBvZiBkbGxhIGN0cmwKKwlsZHIJcjExLCBvbWFwMjQyeF9zZGlfc2RyY19kbGxhX2N0cmwJQCBhZGRyIG9mIGRsbGEgY3RybAogCWxkcglyMTAsIFtyMTFdCQlAIGdldCBjdXJyZW50IHZhbAogCWNtcAlyMTIsICMweDEJCUAgY3MxIGJhc2UgKDI0MjIgZXMyLjA1LzEpCiAJYWRkZXEJcjExLCByMTEsICMweDgJCUAgaWYgY3MxIGJhc2UsIG1vdmUgdG8gRExMQgpAQCAtMTAyLDcgKzEwMCw3IEBACiAJICogd2FpdCBmb3IgaXQgdG8gZmluaXNoLCB1c2UgMzJrIHN5bmMgY291bnRlciwgMXRpY2s9MzF1Uy4KIAkgKi8KIHZvbHRhZ2Vfc2hpZnQ6Ci0JbGRyCXI0LCBwcmNtX3ZvbHRjdHJsCUAgZ2V0IGFkZHIgb2Ygdm9sdCBjdHJsLgorCWxkcglyNCwgb21hcDI0Mnhfc2RpX3ByY21fdm9sdGN0cmwJQCBnZXQgYWRkciBvZiB2b2x0IGN0cmwuCiAJbGRyCXI1LCBbcjRdCQlAIGdldCB2YWx1ZS4KIAlsZHIJcjYsIHByY21fbWFza192YWwJQCBnZXQgdmFsdWUgb2YgbWFzawogCWFuZAlyNSwgcjUsIHI2CQlAIGFwcGx5IG1hc2sgdG8gY2xlYXIgYml0cwpAQCAtMTEyLDcgKzExMCw3IEBACiAJb3JyCXI1LCByNSwgcjMJCUAgYnVpbGQgdmFsdWUgZm9yIGZvcmNlCiAJc3RyCXI1LCBbcjRdCQlAIEZvcmNlIHRyYW5zaXRpb24gdG8gTDEKIAotCWxkcglyMywgdGltZXJfMzJrc3luY3RfY3IJQCBnZXQgYWRkciBvZiBjb3VudGVyCisJbGRyCXIzLCBvbWFwMjQyeF9zZGlfdGltZXJfMzJrc3luY3RfY3IJQCBnZXQgYWRkciBvZiBjb3VudGVyCiAJbGRyCXI1LCBbcjNdCQlAIGdldCB2YWx1ZQogCWFkZAlyNSwgcjUsICMweDMJCUAgZ2l2ZSBpdCBhdCBtb3N0IDkzdVMKIHZvbHRfZGVsYXk6CkBAIC0xMjEsMzIgKzExOSwzMSBAQAogCWJoaQl2b2x0X2RlbGF5CQlAIG5vdCB5ZXQtPmJyYW5jaAogCW1vdglwYywgbHIJCQlAIGJhY2sgdG8gY2FsbGVyLgogCi0vKiByZWxhdGl2ZSBsb2FkIGNvbnN0YW50cyAqLwotY21fY2xrc2VsMl9wbGw6CitvbWFwMjQyeF9zZGlfY21fY2xrc2VsMl9wbGw6CiAJLndvcmQgT01BUDI0MjBfQ01fUkVHQUREUihQTExfTU9ELCBDTV9DTEtTRUwyKQotc2RyY19kbGxhX2N0cmw6CitvbWFwMjQyeF9zZGlfc2RyY19kbGxhX2N0cmw6CiAJLndvcmQgT01BUDI0MlhfU0RSQ19SRUdBRERSKFNEUkNfRExMQV9DVFJMKQotcHJjbV92b2x0Y3RybDoKLQkud29yZCBPTUFQMjQyMF9QUk1fUkVHQUREUihPQ1BfTU9ELCAweDUwKQorb21hcDI0Mnhfc2RpX3ByY21fdm9sdGN0cmw6CisJLndvcmQgT01BUDI0MlhfUFJDTV9WT0xUQ1RSTAogcHJjbV9tYXNrX3ZhbDoKIAkud29yZCAweEZGRkYzRkZDCi10aW1lcl8zMmtzeW5jdF9jcjoKLQkud29yZCBUSU1FUl8zMktTWU5DVF9DUl9WCi1FTlRSWShzcmFtX2Rkcl9pbml0X3N6KQotCS53b3JkCS4gLSBzcmFtX2Rkcl9pbml0CitvbWFwMjQyeF9zZGlfdGltZXJfMzJrc3luY3RfY3I6CisJLndvcmQgSU9fQUREUkVTUyhPTUFQMl8zMktTWU5DVF9CQVNFICsgMHgwMTApCitFTlRSWShvbWFwMjQyeF9zcmFtX2Rkcl9pbml0X3N6KQorCS53b3JkCS4gLSBvbWFwMjQyeF9zcmFtX2Rkcl9pbml0CiAKIC8qCiAgKiBSZXByb2dyYW1zIG1lbW9yeSB0aW1pbmdzLgogICogcjAgPSBbUFJDTV9GVUxMIHwgUFJDTV9IQUxGXSByMSA9IFNEUkNfRExMQV9DVFJMIHZhbHVlIHIyID0gW0REUiB8IFNEUl0KICAqIFBSQ01fRlVMTCA9IDIsIFBSQ01fSEFMRiA9IDEsIEREUiA9IDEsIFNEUiA9IDAKICAqLwotRU5UUlkoc3JhbV9yZXByb2dyYW1fc2RyYykKK0VOVFJZKG9tYXAyNDJ4X3NyYW1fcmVwcm9ncmFtX3NkcmMpCiAJc3RtZmQJc3AhLCB7cjAgLSByMTAsIGxyfQlAIHNhdmUgcmVnaXN0ZXJzIG9uIHN0YWNrCiAJbW92CXIzLCAjMHgwCQlAIGNsZWFyIGZvciBtcmMgY2FsbAogCW1jcglwMTUsIDAsIHIzLCBjNywgYzEwLCA0CUAgbWVtb3J5IGJhcnJpZXIsIGZpbmlzaCBBUk0gU0RSL0REUgogCW5vcAogCW5vcAotCWxkcglyNiwgZGRyX3NkcmNfcmZyX2N0cmwJQCBnZXQgYWRkciBvZiByZWZyZXNoIHJlZworCWxkcglyNiwgb21hcDI0Mnhfc3JzX3NkcmNfcmZyX2N0cmwJQCBnZXQgYWRkciBvZiByZWZyZXNoIHJlZwogCWxkcglyNSwgW3I2XQkJQCBnZXQgdmFsdWUKIAltb3YJcjUsIHI1LCBsc3IgIzgJCUAgaXNvbGF0ZSByZnIgZmllbGQgYW5kIGRyb3AgYnVyc3QKIApAQCAtMTYwLDcgKzE1Nyw3IEBACiAJbW92bmUJcjUsIHI1LCBsc2wgIzEJCUAgbXVsdCBieSAyIGlmIHRvIGZ1bGwKIAltb3YJcjUsIHI1LCBsc2wgIzgJCUAgcHV0IHJmciBmaWVsZCBiYWNrIGludG8gcGxhY2UKIAlhZGQJcjUsIHI1LCAjMHgxCQlAIHR1cm4gb24gYnVyc3Qgb2YgMQotCWxkcglyNCwgZGRyX2NtX2Nsa3NlbDJfcGxsCUAgZ2V0IGFkZHJlc3Mgb2Ygb3V0IHJlZworCWxkcglyNCwgb21hcDI0Mnhfc3JzX2NtX2Nsa3NlbDJfcGxsCUAgZ2V0IGFkZHJlc3Mgb2Ygb3V0IHJlZwogCWxkcglyMywgW3I0XQkJQCBnZXQgY3VyciB2YWx1ZQogCW9ycglyMywgcjMsICMweDMKIAliaWMJcjMsIHIzLCAjMHgzCQlAIGNsZWFyIGxvd2VyIGJpdHMKQEAgLTE4MSw3ICsxNzgsNyBAQAogCWJuZQlmcmVxX291dAkJQCBsZWF2ZSBpZiBTRFIsIG5vIERMTCBmdW5jdGlvbgogCiAJLyogV2l0aCBERFIsIHdlIG5lZWQgdG8gdGFrZSBjYXJlIG9mIHRoZSBETEwgZm9yIHRoZSBmcmVxdWVuY3kgY2hhbmdlICovCi0JbGRyCXIyLCBkZHJfc2RyY19kbGxhX2N0cmwJQCBhZGRyIG9mIGRsbGEgY3RybAorCWxkcglyMiwgb21hcDI0Mnhfc3JzX3NkcmNfZGxsYV9jdHJsCUAgYWRkciBvZiBkbGxhIGN0cmwKIAlzdHIJcjEsIFtyMl0JCUAgd3JpdGUgb3V0IG5ldyBTRFJDX0RMTEFfQ1RSTAogCWFkZAlyMiwgcjIsICMweDgJCUAgYWRkciB0byBTRFJDX0RMTEJfQ1RSTAogCXN0cglyMSwgW3IyXQkJQCBjb21taXQgdG8gU0RSQ19ETExCX0NUUkwKQEAgLTE5Nyw3ICsxOTQsNyBAQAogICAgICAqCXdhaXQgZm9yIGl0IHRvIGZpbmlzaCwgdXNlIDMyayBzeW5jIGNvdW50ZXIsIDF0aWNrPTMxdVMuCiAgICAgICovCiB2b2x0YWdlX3NoaWZ0X2M6Ci0JbGRyCXIxMCwgZGRyX3ByY21fdm9sdGN0cmwJQCBnZXQgYWRkciBvZiB2b2x0IGN0cmwKKwlsZHIJcjEwLCBvbWFwMjQyeF9zcnNfcHJjbV92b2x0Y3RybAlAIGdldCBhZGRyIG9mIHZvbHQgY3RybAogCWxkcglyOCwgW3IxMF0JCUAgZ2V0IHZhbHVlCiAJbGRyCXI3LCBkZHJfcHJjbV9tYXNrX3ZhbAlAIGdldCB2YWx1ZSBvZiBtYXNrCiAJYW5kCXI4LCByOCwgcjcJCUAgYXBwbHkgbWFzayB0byBjbGVhciBiaXRzCkBAIC0yMDcsNyArMjA0LDcgQEAKIAlvcnIJcjgsIHI4LCByNwkJQCBidWlsZCB2YWx1ZSBmb3IgZm9yY2UKIAlzdHIJcjgsIFtyMTBdCQlAIEZvcmNlIHRyYW5zaXRpb24gdG8gTDEKIAotCWxkcglyMTAsIGRkcl90aW1lcl8zMmtzeW5jdAlAIGdldCBhZGRyIG9mIGNvdW50ZXIKKwlsZHIJcjEwLCBvbWFwMjQyeF9zcnNfdGltZXJfMzJrc3luY3QJQCBnZXQgYWRkciBvZiBjb3VudGVyCiAJbGRyCXI4LCBbcjEwXQkJQCBnZXQgdmFsdWUKIAlhZGQJcjgsIHI4LCAjMHgyCQlAIGdpdmUgaXQgYXQgbW9zdCA2MnVTIChtaW4gMzErKQogdm9sdF9kZWxheV9jOgpAQCAtMjE2LDM5ICsyMTMsMzkgQEAKIAliaGkJdm9sdF9kZWxheV9jCQlAIG5vdCB5ZXQtPmJyYW5jaAogCW1vdglwYywgbHIJCQlAIGJhY2sgdG8gY2FsbGVyCiAKLWRkcl9jbV9jbGtzZWwyX3BsbDoKK29tYXAyNDJ4X3Nyc19jbV9jbGtzZWwyX3BsbDoKIAkud29yZCBPTUFQMjQyMF9DTV9SRUdBRERSKFBMTF9NT0QsIENNX0NMS1NFTDIpCi1kZHJfc2RyY19kbGxhX2N0cmw6CitvbWFwMjQyeF9zcnNfc2RyY19kbGxhX2N0cmw6CiAJLndvcmQgT01BUDI0MlhfU0RSQ19SRUdBRERSKFNEUkNfRExMQV9DVFJMKQotZGRyX3NkcmNfcmZyX2N0cmw6CitvbWFwMjQyeF9zcnNfc2RyY19yZnJfY3RybDoKIAkud29yZCBPTUFQMjQyWF9TRFJDX1JFR0FERFIoU0RSQ19SRlJfQ1RSTF8wKQotZGRyX3ByY21fdm9sdGN0cmw6Ci0JLndvcmQgT01BUDI0MjBfUFJNX1JFR0FERFIoT0NQX01PRCwgMHg1MCkKK29tYXAyNDJ4X3Nyc19wcmNtX3ZvbHRjdHJsOgorCS53b3JkIE9NQVAyNDJYX1BSQ01fVk9MVENUUkwKIGRkcl9wcmNtX21hc2tfdmFsOgogCS53b3JkIDB4RkZGRjNGRkMKLWRkcl90aW1lcl8zMmtzeW5jdDoKLQkud29yZCBUSU1FUl8zMktTWU5DVF9DUl9WCitvbWFwMjQyeF9zcnNfdGltZXJfMzJrc3luY3Q6CisJLndvcmQgSU9fQUREUkVTUyhPTUFQMl8zMktTWU5DVF9CQVNFICsgMHgwMTApCiAKLUVOVFJZKHNyYW1fcmVwcm9ncmFtX3NkcmNfc3opCi0JLndvcmQJLiAtIHNyYW1fcmVwcm9ncmFtX3NkcmMKK0VOVFJZKG9tYXAyNDJ4X3NyYW1fcmVwcm9ncmFtX3NkcmNfc3opCisJLndvcmQJLiAtIG9tYXAyNDJ4X3NyYW1fcmVwcm9ncmFtX3NkcmMKIAogLyoKICAqIFNldCBkaXZpZGVycyBhbmQgcGxsLiBBbHNvIHJlY2FsY3VsYXRlIERMTCB2YWx1ZSBmb3IgRERSIGFuZCB1bmxvY2sgbW9kZS4KICAqLwotRU5UUlkoc3JhbV9zZXRfcHJjbSkKK0VOVFJZKG9tYXAyNDJ4X3NyYW1fc2V0X3ByY20pCiAJc3RtZmQJc3AhLCB7cjAtcjEyLCBscn0JQCByZWdzIHRvIHN0YWNrCiAJYWRyCXI0LCBwYmVnaW4JCUAgYWRkciBvZiBwcmVsb2FkIHN0YXJ0CiAJYWRyCXI4LCBwZW5kCQlAIGFkZHIgb2YgcHJlbG9hZCBlbmQKIAltY3JyCXAxNSwgMSwgcjgsIHI0LCBjMTIJQCBwcmVsb2FkIGludG8gaWNhY2hlCiBwYmVnaW46CiAJLyogbW92ZSBpbnRvIGZhc3QgcmVsb2NrIGJ5cGFzcyAqLwotCWxkcglyOCwgcGxsX2N0bAkJQCBnZXQgYWRkcgorCWxkcglyOCwgb21hcDI0Mnhfc3NwX3BsbF9jdGwJQCBnZXQgYWRkcgogCWxkcglyNSwgW3I4XQkJQCBnZXQgdmFsCiAJbXZuCXI2LCAjMHgzCQlAIGNsZWFyIG1hc2sKIAlhbmQJcjUsIHI1LCByNgkJQCBjbGVhciBmaWVsZAogCW9ycglyNywgcjUsICMweDIJCUAgZmFzdCByZWxvY2sgdmFsCiAJc3RyCXI3LCBbcjhdCQlAIGdvIHRvIGZhc3QgcmVsb2NrCi0JbGRyCXI0LCBwbGxfc3RhdAkJQCBhZGRyIG9mIHN0YXQKKwlsZHIJcjQsIG9tYXAyNDJ4X3NzcF9wbGxfc3RhdAlAIGFkZHIgb2Ygc3RhdAogYmxvY2s6CiAJLyogd2FpdCBmb3IgYnlwYXNzICovCiAJbGRyCXI4LCBbcjRdCQlAIHN0YXQgdmFsdWUKQEAgLTI1NywxMCArMjU0LDEwIEBACiAJYm5lCWJsb2NrCQkJQCBsb29wIGlmIG5vdAogCiAJLyogc2V0IG5ldyBkcGxsIGRpdmlkZXJzIF9hZnRlcl8gaW4gYnlwYXNzICovCi0JbGRyCXI0LCBwbGxfZGl2CQlAIGdldCBhZGRyCisJbGRyCXI0LCBvbWFwMjQyeF9zc3BfcGxsX2RpdglAIGdldCBhZGRyCiAJc3RyCXIwLCBbcjRdCQlAIHNldCBkcGxsIGN0cmwgdmFsCiAKLQlsZHIJcjQsIHNldF9jb25maWcJCUAgZ2V0IGFkZHIKKwlsZHIJcjQsIG9tYXAyNDJ4X3NzcF9zZXRfY29uZmlnCUAgZ2V0IGFkZHIKIAltb3YJcjgsICMxCQkJQCB2YWxpZCBjZmcgbXNrCiAJc3RyCXI4LCBbcjRdCQlAIG1ha2UgZGl2aWRlcnMgdGFrZQogCkBAIC0yNzQsOCArMjcxLDggQEAKIAliZXEJcGVuZAkJCUAganVtcCBvdmVyIGRwbGwgcmVsb2NrCiAKIAkvKiByZWxvY2sgRFBMTCB3aXRoIG5ldyB2YWxzICovCi0JbGRyCXI1LCBwbGxfc3RhdAkJQCBnZXQgYWRkcgotCWxkcglyNCwgcGxsX2N0bAkJQCBnZXQgYWRkcgorCWxkcglyNSwgb21hcDI0Mnhfc3NwX3BsbF9zdGF0CUAgZ2V0IGFkZHIKKwlsZHIJcjQsIG9tYXAyNDJ4X3NzcF9wbGxfY3RsCUAgZ2V0IGFkZHIKIAlvcnIJcjgsIHI3LCAjMHgzCQlAIHZhbCBmb3IgbG9jayBkcGxsCiAJc3RyCXI4LCBbcjRdCQlAIHNldCB2YWwKIAltb3YJcjAsICMxMDAwCQlAIGRlYWQgc3BpbiBhIGJpdApAQCAtMjg5LDkgKzI4Niw5IEBACiAJYm5lCXdhaXRfbG9jawkJQCB3YWl0IGlmIG5vdAogcGVuZDoKIAkvKiB1cGRhdGUgbWVtb3J5IHRpbWluZ3MgJiBicmllZmx5IGxvY2sgZGxsICovCi0JbGRyCXI0LCBzZHJjX3JmcgkJQCBnZXQgYWRkcgorCWxkcglyNCwgb21hcDI0Mnhfc3NwX3NkcmNfcmZyCUAgZ2V0IGFkZHIKIAlzdHIJcjEsIFtyNF0JCUAgdXBkYXRlIHJlZnJlc2ggdGltaW5nCi0JbGRyCXIxMSwgZGxsYV9jdHJsCQlAIGdldCBhZGRyIG9mIERMTEEgY3RybAorCWxkcglyMTEsIG9tYXAyNDJ4X3NzcF9kbGxhX2N0cmwJQCBnZXQgYWRkciBvZiBETExBIGN0cmwKIAlsZHIJcjEwLCBbcjExXQkJQCBnZXQgY3VycmVudCB2YWwKIAltdm4JcjksICMweDQJCUAgbWFzayB0byBnZXQgY2xlYXIgYml0MgogCWFuZAlyMTAsIHIxMCwgcjkJCUAgY2xlYXIgYml0MiBmb3IgbG9jayBtb2RlCkBAIC0zMDcsMTggKzMwNCwxOCBAQAogCW5vcAogCWxkbWZkCXNwISwge3IwLXIxMiwgcGN9CUAgcmVzdG9yZSByZWdzIGFuZCByZXR1cm4KIAotc2V0X2NvbmZpZzoKLQkud29yZCBPTUFQMjQyMF9QUk1fUkVHQUREUihPQ1BfTU9ELCAweDgwKQotcGxsX2N0bDoKLQkud29yZCBPTUFQMjQyMF9DTV9SRUdBRERSKFBMTF9NT0QsIENNX0ZDTEtFTjEpCi1wbGxfc3RhdDoKLQkud29yZCBPTUFQMjQyMF9DTV9SRUdBRERSKFBMTF9NT0QsIENNX0lETEVTVDEpCi1wbGxfZGl2OgotCS53b3JkIE9NQVAyNDIwX0NNX1JFR0FERFIoUExMX01PRCwgQ01fQ0xLU0VMKQotc2RyY19yZnI6CitvbWFwMjQyeF9zc3Bfc2V0X2NvbmZpZzoKKwkud29yZCBPTUFQMjQyWF9QUkNNX0NMS0NGR19DVFJMCitvbWFwMjQyeF9zc3BfcGxsX2N0bDoKKwkud29yZCBPTUFQMjQyMF9DTV9SRUdBRERSKFBMTF9NT0QsIENNX0NMS0VOKQorb21hcDI0Mnhfc3NwX3BsbF9zdGF0OgorCS53b3JkIE9NQVAyNDIwX0NNX1JFR0FERFIoUExMX01PRCwgQ01fSURMRVNUKQorb21hcDI0Mnhfc3NwX3BsbF9kaXY6CisJLndvcmQgT01BUDI0MjBfQ01fUkVHQUREUihQTExfTU9ELCBDTV9DTEtTRUwxKQorb21hcDI0Mnhfc3NwX3NkcmNfcmZyOgogCS53b3JkIE9NQVAyNDJYX1NEUkNfUkVHQUREUihTRFJDX1JGUl9DVFJMXzApCi1kbGxhX2N0cmw6CitvbWFwMjQyeF9zc3BfZGxsYV9jdHJsOgogCS53b3JkIE9NQVAyNDJYX1NEUkNfUkVHQUREUihTRFJDX0RMTEFfQ1RSTCkKIAotRU5UUlkoc3JhbV9zZXRfcHJjbV9zeikKLQkud29yZAkuIC0gc3JhbV9zZXRfcHJjbQorRU5UUlkob21hcDI0Mnhfc3JhbV9zZXRfcHJjbV9zeikKKwkud29yZAkuIC0gb21hcDI0Mnhfc3JhbV9zZXRfcHJjbQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1vbWFwMi9zcmFtLWZuLlMgYi9hcmNoL2FybS9tYWNoLW9tYXAyL3NyYW0yNDN4LlMKc2ltaWxhcml0eSBpbmRleCA3NyUKY29weSBmcm9tIGFyY2gvYXJtL21hY2gtb21hcDIvc3JhbS1mbi5TCmNvcHkgdG8gYXJjaC9hcm0vbWFjaC1vbWFwMi9zcmFtMjQzeC5TCmluZGV4IDRhOWU0OTEuLmEzZmE0OGRjIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLW9tYXAyL3NyYW0tZm4uUworKysgYi9hcmNoL2FybS9tYWNoLW9tYXAyL3NyYW0yNDN4LlMKQEAgLTEsNSArMSw1IEBACiAvKgotICogbGludXgvYXJjaC9hcm0vbWFjaC1vbWFwMi9zcmFtLWZuLlMKKyAqIGxpbnV4L2FyY2gvYXJtL21hY2gtb21hcDIvc3JhbTI0M3guUwogICoKICAqIE9tYXAyIHNwZWNpZmljIGZ1bmN0aW9ucyB0aGF0IG5lZWQgdG8gYmUgcnVuIGluIGludGVybmFsIFNSQU0KICAqCkBAIC0yNywyMiArMjcsMjAgQEAKICNpbmNsdWRlIDxhc20vYXJjaC9pby5oPgogI2luY2x1ZGUgPGFzbS9oYXJkd2FyZS5oPgogCi0jaW5jbHVkZSAic2RyYy5oIgogI2luY2x1ZGUgInBybS5oIgogI2luY2x1ZGUgImNtLmgiCi0KLSNkZWZpbmUgVElNRVJfMzJLU1lOQ1RfQ1JfVglJT19BRERSRVNTKE9NQVAyNDIwXzMyS1NZTkNUX0JBU0UgKyAweDAxMCkKKyNpbmNsdWRlICJzZHJjLmgiCiAKIAkudGV4dAogCi1FTlRSWShzcmFtX2Rkcl9pbml0KQorRU5UUlkob21hcDI0M3hfc3JhbV9kZHJfaW5pdCkKIAlzdG1mZAlzcCEsIHtyMCAtIHIxMiwgbHJ9CUAgc2F2ZSByZWdpc3RlcnMgb24gc3RhY2sKIAogCW1vdglyMTIsIHIyCQkJQCBjYXB0dXJlIENTMSB2cyBDUzAKIAltb3YJcjgsIHIzCQkJQCBjYXB0dXJlIGZvcmNlIHBhcmFtZXRlcgogCiAJLyogZnJlcXVlbmN5IHNoaWZ0IGRvd24gKi8KLQlsZHIJcjIsIGNtX2Nsa3NlbDJfcGxsCUAgZ2V0IGFkZHJlc3Mgb2YgZHBsbG91dCByZWcKKwlsZHIJcjIsIG9tYXAyNDN4X3NkaV9jbV9jbGtzZWwyX3BsbAlAIGdldCBhZGRyZXNzIG9mIGRwbGxvdXQgcmVnCiAJbW92CXIzLCAjMHgxCQlAIHZhbHVlIGZvciAxeCBvcGVyYXRpb24KIAlzdHIJcjMsIFtyMl0JCUAgZ28gdG8gTDEtZnJlcSBvcGVyYXRpb24KIApAQCAtNTEsNyArNDksNyBAQAogCWJsIHZvbHRhZ2Vfc2hpZnQJCUAgZ28gZHJvcCB2b2x0YWdlCiAKIAkvKiBkbGwgbG9jayBtb2RlICovCi0JbGRyCXIxMSwgc2RyY19kbGxhX2N0cmwJQCBhZGRyIG9mIGRsbGEgY3RybAorCWxkcglyMTEsIG9tYXAyNDN4X3NkaV9zZHJjX2RsbGFfY3RybAlAIGFkZHIgb2YgZGxsYSBjdHJsCiAJbGRyCXIxMCwgW3IxMV0JCUAgZ2V0IGN1cnJlbnQgdmFsCiAJY21wCXIxMiwgIzB4MQkJQCBjczEgYmFzZSAoMjQyMiBlczIuMDUvMSkKIAlhZGRlcQlyMTEsIHIxMSwgIzB4OAkJQCBpZiBjczEgYmFzZSwgbW92ZSB0byBETExCCkBAIC0xMDIsNyArMTAwLDcgQEAKIAkgKiB3YWl0IGZvciBpdCB0byBmaW5pc2gsIHVzZSAzMmsgc3luYyBjb3VudGVyLCAxdGljaz0zMXVTLgogCSAqLwogdm9sdGFnZV9zaGlmdDoKLQlsZHIJcjQsIHByY21fdm9sdGN0cmwJQCBnZXQgYWRkciBvZiB2b2x0IGN0cmwuCisJbGRyCXI0LCBvbWFwMjQzeF9zZGlfcHJjbV92b2x0Y3RybAlAIGdldCBhZGRyIG9mIHZvbHQgY3RybC4KIAlsZHIJcjUsIFtyNF0JCUAgZ2V0IHZhbHVlLgogCWxkcglyNiwgcHJjbV9tYXNrX3ZhbAlAIGdldCB2YWx1ZSBvZiBtYXNrCiAJYW5kCXI1LCByNSwgcjYJCUAgYXBwbHkgbWFzayB0byBjbGVhciBiaXRzCkBAIC0xMTIsNyArMTEwLDcgQEAKIAlvcnIJcjUsIHI1LCByMwkJQCBidWlsZCB2YWx1ZSBmb3IgZm9yY2UKIAlzdHIJcjUsIFtyNF0JCUAgRm9yY2UgdHJhbnNpdGlvbiB0byBMMQogCi0JbGRyCXIzLCB0aW1lcl8zMmtzeW5jdF9jcglAIGdldCBhZGRyIG9mIGNvdW50ZXIKKwlsZHIJcjMsIG9tYXAyNDN4X3NkaV90aW1lcl8zMmtzeW5jdF9jcglAIGdldCBhZGRyIG9mIGNvdW50ZXIKIAlsZHIJcjUsIFtyM10JCUAgZ2V0IHZhbHVlCiAJYWRkCXI1LCByNSwgIzB4MwkJQCBnaXZlIGl0IGF0IG1vc3QgOTN1Uwogdm9sdF9kZWxheToKQEAgLTEyMSwzMiArMTE5LDMxIEBACiAJYmhpCXZvbHRfZGVsYXkJCUAgbm90IHlldC0+YnJhbmNoCiAJbW92CXBjLCBscgkJCUAgYmFjayB0byBjYWxsZXIuCiAKLS8qIHJlbGF0aXZlIGxvYWQgY29uc3RhbnRzICovCi1jbV9jbGtzZWwyX3BsbDoKLQkud29yZCBPTUFQMjQyMF9DTV9SRUdBRERSKFBMTF9NT0QsIENNX0NMS1NFTDIpCi1zZHJjX2RsbGFfY3RybDoKLQkud29yZCBPTUFQMjQyWF9TRFJDX1JFR0FERFIoU0RSQ19ETExBX0NUUkwpCi1wcmNtX3ZvbHRjdHJsOgotCS53b3JkIE9NQVAyNDIwX1BSTV9SRUdBRERSKE9DUF9NT0QsIDB4NTApCitvbWFwMjQzeF9zZGlfY21fY2xrc2VsMl9wbGw6CisJLndvcmQgT01BUDI0MzBfQ01fUkVHQUREUihQTExfTU9ELCBDTV9DTEtTRUwyKQorb21hcDI0M3hfc2RpX3NkcmNfZGxsYV9jdHJsOgorCS53b3JkIE9NQVAyNDNYX1NEUkNfUkVHQUREUihTRFJDX0RMTEFfQ1RSTCkKK29tYXAyNDN4X3NkaV9wcmNtX3ZvbHRjdHJsOgorCS53b3JkIE9NQVAyNDNYX1BSQ01fVk9MVENUUkwKIHByY21fbWFza192YWw6CiAJLndvcmQgMHhGRkZGM0ZGQwotdGltZXJfMzJrc3luY3RfY3I6Ci0JLndvcmQgVElNRVJfMzJLU1lOQ1RfQ1JfVgotRU5UUlkoc3JhbV9kZHJfaW5pdF9zeikKLQkud29yZAkuIC0gc3JhbV9kZHJfaW5pdAorb21hcDI0M3hfc2RpX3RpbWVyXzMya3N5bmN0X2NyOgorCS53b3JkIElPX0FERFJFU1MoT01BUDJfMzJLU1lOQ1RfQkFTRSArIDB4MDEwKQorRU5UUlkob21hcDI0M3hfc3JhbV9kZHJfaW5pdF9zeikKKwkud29yZAkuIC0gb21hcDI0M3hfc3JhbV9kZHJfaW5pdAogCiAvKgogICogUmVwcm9ncmFtcyBtZW1vcnkgdGltaW5ncy4KICAqIHIwID0gW1BSQ01fRlVMTCB8IFBSQ01fSEFMRl0gcjEgPSBTRFJDX0RMTEFfQ1RSTCB2YWx1ZSByMiA9IFtERFIgfCBTRFJdCiAgKiBQUkNNX0ZVTEwgPSAyLCBQUkNNX0hBTEYgPSAxLCBERFIgPSAxLCBTRFIgPSAwCiAgKi8KLUVOVFJZKHNyYW1fcmVwcm9ncmFtX3NkcmMpCitFTlRSWShvbWFwMjQzeF9zcmFtX3JlcHJvZ3JhbV9zZHJjKQogCXN0bWZkCXNwISwge3IwIC0gcjEwLCBscn0JQCBzYXZlIHJlZ2lzdGVycyBvbiBzdGFjawogCW1vdglyMywgIzB4MAkJQCBjbGVhciBmb3IgbXJjIGNhbGwKIAltY3IJcDE1LCAwLCByMywgYzcsIGMxMCwgNAlAIG1lbW9yeSBiYXJyaWVyLCBmaW5pc2ggQVJNIFNEUi9ERFIKIAlub3AKIAlub3AKLQlsZHIJcjYsIGRkcl9zZHJjX3Jmcl9jdHJsCUAgZ2V0IGFkZHIgb2YgcmVmcmVzaCByZWcKKwlsZHIJcjYsIG9tYXAyNDN4X3Nyc19zZHJjX3Jmcl9jdHJsCUAgZ2V0IGFkZHIgb2YgcmVmcmVzaCByZWcKIAlsZHIJcjUsIFtyNl0JCUAgZ2V0IHZhbHVlCiAJbW92CXI1LCByNSwgbHNyICM4CQlAIGlzb2xhdGUgcmZyIGZpZWxkIGFuZCBkcm9wIGJ1cnN0CiAKQEAgLTE2MCw3ICsxNTcsNyBAQAogCW1vdm5lCXI1LCByNSwgbHNsICMxCQlAIG11bHQgYnkgMiBpZiB0byBmdWxsCiAJbW92CXI1LCByNSwgbHNsICM4CQlAIHB1dCByZnIgZmllbGQgYmFjayBpbnRvIHBsYWNlCiAJYWRkCXI1LCByNSwgIzB4MQkJQCB0dXJuIG9uIGJ1cnN0IG9mIDEKLQlsZHIJcjQsIGRkcl9jbV9jbGtzZWwyX3BsbAlAIGdldCBhZGRyZXNzIG9mIG91dCByZWcKKwlsZHIJcjQsIG9tYXAyNDN4X3Nyc19jbV9jbGtzZWwyX3BsbAlAIGdldCBhZGRyZXNzIG9mIG91dCByZWcKIAlsZHIJcjMsIFtyNF0JCUAgZ2V0IGN1cnIgdmFsdWUKIAlvcnIJcjMsIHIzLCAjMHgzCiAJYmljCXIzLCByMywgIzB4MwkJQCBjbGVhciBsb3dlciBiaXRzCkBAIC0xODEsNyArMTc4LDcgQEAKIAlibmUJZnJlcV9vdXQJCUAgbGVhdmUgaWYgU0RSLCBubyBETEwgZnVuY3Rpb24KIAogCS8qIFdpdGggRERSLCB3ZSBuZWVkIHRvIHRha2UgY2FyZSBvZiB0aGUgRExMIGZvciB0aGUgZnJlcXVlbmN5IGNoYW5nZSAqLwotCWxkcglyMiwgZGRyX3NkcmNfZGxsYV9jdHJsCUAgYWRkciBvZiBkbGxhIGN0cmwKKwlsZHIJcjIsIG9tYXAyNDN4X3Nyc19zZHJjX2RsbGFfY3RybAlAIGFkZHIgb2YgZGxsYSBjdHJsCiAJc3RyCXIxLCBbcjJdCQlAIHdyaXRlIG91dCBuZXcgU0RSQ19ETExBX0NUUkwKIAlhZGQJcjIsIHIyLCAjMHg4CQlAIGFkZHIgdG8gU0RSQ19ETExCX0NUUkwKIAlzdHIJcjEsIFtyMl0JCUAgY29tbWl0IHRvIFNEUkNfRExMQl9DVFJMCkBAIC0xOTcsNyArMTk0LDcgQEAKICAgICAgKgl3YWl0IGZvciBpdCB0byBmaW5pc2gsIHVzZSAzMmsgc3luYyBjb3VudGVyLCAxdGljaz0zMXVTLgogICAgICAqLwogdm9sdGFnZV9zaGlmdF9jOgotCWxkcglyMTAsIGRkcl9wcmNtX3ZvbHRjdHJsCUAgZ2V0IGFkZHIgb2Ygdm9sdCBjdHJsCisJbGRyCXIxMCwgb21hcDI0M3hfc3JzX3ByY21fdm9sdGN0cmwJQCBnZXQgYWRkciBvZiB2b2x0IGN0cmwKIAlsZHIJcjgsIFtyMTBdCQlAIGdldCB2YWx1ZQogCWxkcglyNywgZGRyX3ByY21fbWFza192YWwJQCBnZXQgdmFsdWUgb2YgbWFzawogCWFuZAlyOCwgcjgsIHI3CQlAIGFwcGx5IG1hc2sgdG8gY2xlYXIgYml0cwpAQCAtMjA3LDcgKzIwNCw3IEBACiAJb3JyCXI4LCByOCwgcjcJCUAgYnVpbGQgdmFsdWUgZm9yIGZvcmNlCiAJc3RyCXI4LCBbcjEwXQkJQCBGb3JjZSB0cmFuc2l0aW9uIHRvIEwxCiAKLQlsZHIJcjEwLCBkZHJfdGltZXJfMzJrc3luY3QJQCBnZXQgYWRkciBvZiBjb3VudGVyCisJbGRyCXIxMCwgb21hcDI0M3hfc3JzX3RpbWVyXzMya3N5bmN0CUAgZ2V0IGFkZHIgb2YgY291bnRlcgogCWxkcglyOCwgW3IxMF0JCUAgZ2V0IHZhbHVlCiAJYWRkCXI4LCByOCwgIzB4MgkJQCBnaXZlIGl0IGF0IG1vc3QgNjJ1UyAobWluIDMxKykKIHZvbHRfZGVsYXlfYzoKQEAgLTIxNiwzOSArMjEzLDM5IEBACiAJYmhpCXZvbHRfZGVsYXlfYwkJQCBub3QgeWV0LT5icmFuY2gKIAltb3YJcGMsIGxyCQkJQCBiYWNrIHRvIGNhbGxlcgogCi1kZHJfY21fY2xrc2VsMl9wbGw6Ci0JLndvcmQgT01BUDI0MjBfQ01fUkVHQUREUihQTExfTU9ELCBDTV9DTEtTRUwyKQotZGRyX3NkcmNfZGxsYV9jdHJsOgotCS53b3JkIE9NQVAyNDJYX1NEUkNfUkVHQUREUihTRFJDX0RMTEFfQ1RSTCkKLWRkcl9zZHJjX3Jmcl9jdHJsOgotCS53b3JkIE9NQVAyNDJYX1NEUkNfUkVHQUREUihTRFJDX1JGUl9DVFJMXzApCi1kZHJfcHJjbV92b2x0Y3RybDoKLQkud29yZCBPTUFQMjQyMF9QUk1fUkVHQUREUihPQ1BfTU9ELCAweDUwKQorb21hcDI0M3hfc3JzX2NtX2Nsa3NlbDJfcGxsOgorCS53b3JkIE9NQVAyNDMwX0NNX1JFR0FERFIoUExMX01PRCwgQ01fQ0xLU0VMMikKK29tYXAyNDN4X3Nyc19zZHJjX2RsbGFfY3RybDoKKwkud29yZCBPTUFQMjQzWF9TRFJDX1JFR0FERFIoU0RSQ19ETExBX0NUUkwpCitvbWFwMjQzeF9zcnNfc2RyY19yZnJfY3RybDoKKwkud29yZCBPTUFQMjQzWF9TRFJDX1JFR0FERFIoU0RSQ19SRlJfQ1RSTF8wKQorb21hcDI0M3hfc3JzX3ByY21fdm9sdGN0cmw6CisJLndvcmQgT01BUDI0M1hfUFJDTV9WT0xUQ1RSTAogZGRyX3ByY21fbWFza192YWw6CiAJLndvcmQgMHhGRkZGM0ZGQwotZGRyX3RpbWVyXzMya3N5bmN0OgotCS53b3JkIFRJTUVSXzMyS1NZTkNUX0NSX1YKK29tYXAyNDN4X3Nyc190aW1lcl8zMmtzeW5jdDoKKwkud29yZCBJT19BRERSRVNTKE9NQVAyXzMyS1NZTkNUX0JBU0UgKyAweDAxMCkKIAotRU5UUlkoc3JhbV9yZXByb2dyYW1fc2RyY19zeikKLQkud29yZAkuIC0gc3JhbV9yZXByb2dyYW1fc2RyYworRU5UUlkob21hcDI0M3hfc3JhbV9yZXByb2dyYW1fc2RyY19zeikKKwkud29yZAkuIC0gb21hcDI0M3hfc3JhbV9yZXByb2dyYW1fc2RyYwogCiAvKgogICogU2V0IGRpdmlkZXJzIGFuZCBwbGwuIEFsc28gcmVjYWxjdWxhdGUgRExMIHZhbHVlIGZvciBERFIgYW5kIHVubG9jayBtb2RlLgogICovCi1FTlRSWShzcmFtX3NldF9wcmNtKQorRU5UUlkob21hcDI0M3hfc3JhbV9zZXRfcHJjbSkKIAlzdG1mZAlzcCEsIHtyMC1yMTIsIGxyfQlAIHJlZ3MgdG8gc3RhY2sKIAlhZHIJcjQsIHBiZWdpbgkJQCBhZGRyIG9mIHByZWxvYWQgc3RhcnQKIAlhZHIJcjgsIHBlbmQJCUAgYWRkciBvZiBwcmVsb2FkIGVuZAogCW1jcnIJcDE1LCAxLCByOCwgcjQsIGMxMglAIHByZWxvYWQgaW50byBpY2FjaGUKIHBiZWdpbjoKIAkvKiBtb3ZlIGludG8gZmFzdCByZWxvY2sgYnlwYXNzICovCi0JbGRyCXI4LCBwbGxfY3RsCQlAIGdldCBhZGRyCisJbGRyCXI4LCBvbWFwMjQzeF9zc3BfcGxsX2N0bAlAIGdldCBhZGRyCiAJbGRyCXI1LCBbcjhdCQlAIGdldCB2YWwKIAltdm4JcjYsICMweDMJCUAgY2xlYXIgbWFzawogCWFuZAlyNSwgcjUsIHI2CQlAIGNsZWFyIGZpZWxkCiAJb3JyCXI3LCByNSwgIzB4MgkJQCBmYXN0IHJlbG9jayB2YWwKIAlzdHIJcjcsIFtyOF0JCUAgZ28gdG8gZmFzdCByZWxvY2sKLQlsZHIJcjQsIHBsbF9zdGF0CQlAIGFkZHIgb2Ygc3RhdAorCWxkcglyNCwgb21hcDI0M3hfc3NwX3BsbF9zdGF0CUAgYWRkciBvZiBzdGF0CiBibG9jazoKIAkvKiB3YWl0IGZvciBieXBhc3MgKi8KIAlsZHIJcjgsIFtyNF0JCUAgc3RhdCB2YWx1ZQpAQCAtMjU3LDEwICsyNTQsMTAgQEAKIAlibmUJYmxvY2sJCQlAIGxvb3AgaWYgbm90CiAKIAkvKiBzZXQgbmV3IGRwbGwgZGl2aWRlcnMgX2FmdGVyXyBpbiBieXBhc3MgKi8KLQlsZHIJcjQsIHBsbF9kaXYJCUAgZ2V0IGFkZHIKKwlsZHIJcjQsIG9tYXAyNDN4X3NzcF9wbGxfZGl2CUAgZ2V0IGFkZHIKIAlzdHIJcjAsIFtyNF0JCUAgc2V0IGRwbGwgY3RybCB2YWwKIAotCWxkcglyNCwgc2V0X2NvbmZpZwkJQCBnZXQgYWRkcgorCWxkcglyNCwgb21hcDI0M3hfc3NwX3NldF9jb25maWcJQCBnZXQgYWRkcgogCW1vdglyOCwgIzEJCQlAIHZhbGlkIGNmZyBtc2sKIAlzdHIJcjgsIFtyNF0JCUAgbWFrZSBkaXZpZGVycyB0YWtlCiAKQEAgLTI3NCw4ICsyNzEsOCBAQAogCWJlcQlwZW5kCQkJQCBqdW1wIG92ZXIgZHBsbCByZWxvY2sKIAogCS8qIHJlbG9jayBEUExMIHdpdGggbmV3IHZhbHMgKi8KLQlsZHIJcjUsIHBsbF9zdGF0CQlAIGdldCBhZGRyCi0JbGRyCXI0LCBwbGxfY3RsCQlAIGdldCBhZGRyCisJbGRyCXI1LCBvbWFwMjQzeF9zc3BfcGxsX3N0YXQJQCBnZXQgYWRkcgorCWxkcglyNCwgb21hcDI0M3hfc3NwX3BsbF9jdGwJQCBnZXQgYWRkcgogCW9ycglyOCwgcjcsICMweDMJCUAgdmFsIGZvciBsb2NrIGRwbGwKIAlzdHIJcjgsIFtyNF0JCUAgc2V0IHZhbAogCW1vdglyMCwgIzEwMDAJCUAgZGVhZCBzcGluIGEgYml0CkBAIC0yODksOSArMjg2LDkgQEAKIAlibmUJd2FpdF9sb2NrCQlAIHdhaXQgaWYgbm90CiBwZW5kOgogCS8qIHVwZGF0ZSBtZW1vcnkgdGltaW5ncyAmIGJyaWVmbHkgbG9jayBkbGwgKi8KLQlsZHIJcjQsIHNkcmNfcmZyCQlAIGdldCBhZGRyCisJbGRyCXI0LCBvbWFwMjQzeF9zc3Bfc2RyY19yZnIJQCBnZXQgYWRkcgogCXN0cglyMSwgW3I0XQkJQCB1cGRhdGUgcmVmcmVzaCB0aW1pbmcKLQlsZHIJcjExLCBkbGxhX2N0cmwJCUAgZ2V0IGFkZHIgb2YgRExMQSBjdHJsCisJbGRyCXIxMSwgb21hcDI0M3hfc3NwX2RsbGFfY3RybAlAIGdldCBhZGRyIG9mIERMTEEgY3RybAogCWxkcglyMTAsIFtyMTFdCQlAIGdldCBjdXJyZW50IHZhbAogCW12bglyOSwgIzB4NAkJQCBtYXNrIHRvIGdldCBjbGVhciBiaXQyCiAJYW5kCXIxMCwgcjEwLCByOQkJQCBjbGVhciBiaXQyIGZvciBsb2NrIG1vZGUKQEAgLTMwNywxOCArMzA0LDE4IEBACiAJbm9wCiAJbGRtZmQJc3AhLCB7cjAtcjEyLCBwY30JQCByZXN0b3JlIHJlZ3MgYW5kIHJldHVybgogCi1zZXRfY29uZmlnOgotCS53b3JkIE9NQVAyNDIwX1BSTV9SRUdBRERSKE9DUF9NT0QsIDB4ODApCi1wbGxfY3RsOgotCS53b3JkIE9NQVAyNDIwX0NNX1JFR0FERFIoUExMX01PRCwgQ01fRkNMS0VOMSkKLXBsbF9zdGF0OgotCS53b3JkIE9NQVAyNDIwX0NNX1JFR0FERFIoUExMX01PRCwgQ01fSURMRVNUMSkKLXBsbF9kaXY6Ci0JLndvcmQgT01BUDI0MjBfQ01fUkVHQUREUihQTExfTU9ELCBDTV9DTEtTRUwpCi1zZHJjX3JmcjoKLQkud29yZCBPTUFQMjQyWF9TRFJDX1JFR0FERFIoU0RSQ19SRlJfQ1RSTF8wKQotZGxsYV9jdHJsOgotCS53b3JkIE9NQVAyNDJYX1NEUkNfUkVHQUREUihTRFJDX0RMTEFfQ1RSTCkKK29tYXAyNDN4X3NzcF9zZXRfY29uZmlnOgorCS53b3JkIE9NQVAyNDNYX1BSQ01fQ0xLQ0ZHX0NUUkwKK29tYXAyNDN4X3NzcF9wbGxfY3RsOgorCS53b3JkIE9NQVAyNDMwX0NNX1JFR0FERFIoUExMX01PRCwgQ01fQ0xLRU4pCitvbWFwMjQzeF9zc3BfcGxsX3N0YXQ6CisJLndvcmQgT01BUDI0MzBfQ01fUkVHQUREUihQTExfTU9ELCBDTV9JRExFU1QpCitvbWFwMjQzeF9zc3BfcGxsX2RpdjoKKwkud29yZCBPTUFQMjQzMF9DTV9SRUdBRERSKFBMTF9NT0QsIENNX0NMS1NFTDEpCitvbWFwMjQzeF9zc3Bfc2RyY19yZnI6CisJLndvcmQgT01BUDI0M1hfU0RSQ19SRUdBRERSKFNEUkNfUkZSX0NUUkxfMCkKK29tYXAyNDN4X3NzcF9kbGxhX2N0cmw6CisJLndvcmQgT01BUDI0M1hfU0RSQ19SRUdBRERSKFNEUkNfRExMQV9DVFJMKQogCi1FTlRSWShzcmFtX3NldF9wcmNtX3N6KQotCS53b3JkCS4gLSBzcmFtX3NldF9wcmNtCitFTlRSWShvbWFwMjQzeF9zcmFtX3NldF9wcmNtX3N6KQorCS53b3JkCS4gLSBvbWFwMjQzeF9zcmFtX3NldF9wcmNtCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW9tYXAyL3RpbWVyLWdwLmMgYi9hcmNoL2FybS9tYWNoLW9tYXAyL3RpbWVyLWdwLmMKaW5kZXggNzhkMDVmMi4uNTU3NjAzZiAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1vbWFwMi90aW1lci1ncC5jCisrKyBiL2FyY2gvYXJtL21hY2gtb21hcDIvdGltZXItZ3AuYwpAQCAtNTksOCArNTksNyBAQAogc3RhdGljIGludCBvbWFwMl9ncF90aW1lcl9zZXRfbmV4dF9ldmVudCh1bnNpZ25lZCBsb25nIGN5Y2xlcywKIAkJCQkJIHN0cnVjdCBjbG9ja19ldmVudF9kZXZpY2UgKmV2dCkKIHsKLQlvbWFwX2RtX3RpbWVyX3NldF9sb2FkKGdwdGltZXIsIDAsIDB4ZmZmZmZmZmYgLSBjeWNsZXMpOwotCW9tYXBfZG1fdGltZXJfc3RhcnQoZ3B0aW1lcik7CisJb21hcF9kbV90aW1lcl9zZXRfbG9hZF9zdGFydChncHRpbWVyLCAwLCAweGZmZmZmZmZmIC0gY3ljbGVzKTsKIAogCXJldHVybiAwOwogfQpAQCAtNzcsOCArNzYsNyBAQAogCQlwZXJpb2QgPSBjbGtfZ2V0X3JhdGUob21hcF9kbV90aW1lcl9nZXRfZmNsayhncHRpbWVyKSkgLyBIWjsKIAkJcGVyaW9kIC09IDE7CiAKLQkJb21hcF9kbV90aW1lcl9zZXRfbG9hZChncHRpbWVyLCAxLCAweGZmZmZmZmZmIC0gcGVyaW9kKTsKLQkJb21hcF9kbV90aW1lcl9zdGFydChncHRpbWVyKTsKKwkJb21hcF9kbV90aW1lcl9zZXRfbG9hZF9zdGFydChncHRpbWVyLCAxLCAweGZmZmZmZmZmIC0gcGVyaW9kKTsKIAkJYnJlYWs7CiAJY2FzZSBDTE9DS19FVlRfTU9ERV9PTkVTSE9UOgogCQlicmVhazsKQEAgLTE3Miw4ICsxNzAsNyBAQAogCXRpY2tfcmF0ZSA9IGNsa19nZXRfcmF0ZShvbWFwX2RtX3RpbWVyX2dldF9mY2xrKGdwdCkpOwogCXRpY2tfcGVyaW9kID0gKHRpY2tfcmF0ZSAvIEhaKSAtIDE7CiAKLQlvbWFwX2RtX3RpbWVyX3NldF9sb2FkKGdwdCwgMSwgMCk7Ci0Jb21hcF9kbV90aW1lcl9zdGFydChncHQpOworCW9tYXBfZG1fdGltZXJfc2V0X2xvYWRfc3RhcnQoZ3B0LCAxLCAwKTsKIAogCWNsb2Nrc291cmNlX2dwdC5tdWx0ID0KIAkJY2xvY2tzb3VyY2Vfa2h6Mm11bHQodGlja19yYXRlLzEwMDAsIGNsb2Nrc291cmNlX2dwdC5zaGlmdCk7CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW9yaW9uNXgvS2NvbmZpZyBiL2FyY2gvYXJtL21hY2gtb3Jpb241eC9LY29uZmlnCmluZGV4IDkzZGViZjMuLmRkY2Q0MWIgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtb3Jpb241eC9LY29uZmlnCisrKyBiL2FyY2gvYXJtL21hY2gtb3Jpb241eC9LY29uZmlnCkBAIC00NCw2ICs0NCw1NCBAQAogCSAgQnVmZmFsbyBMaW5rc3RhdGlvbiBQcm8vTGl2ZSBwbGF0Zm9ybS4gQm90aCB2MSBhbmQKIAkgIHYyIGRldmljZXMgYXJlIHN1cHBvcnRlZC4KIAorY29uZmlnIE1BQ0hfVFM0MDkKKwlib29sICJRTkFQIFRTLTQwOSIKKwloZWxwCisJICBTYXkgJ1knIGhlcmUgaWYgeW91IHdhbnQgeW91ciBrZXJuZWwgdG8gc3VwcG9ydCB0aGUKKwkgIFFOQVAgVFMtNDA5IHBsYXRmb3JtLgorCitjb25maWcgTUFDSF9XUlQzNTBOX1YyCisJYm9vbCAiTGlua3N5cyBXUlQzNTBOIHYyIgorCWhlbHAKKwkgIFNheSAnWScgaGVyZSBpZiB5b3Ugd2FudCB5b3VyIGtlcm5lbCB0byBzdXBwb3J0IHRoZQorCSAgTGlua3N5cyBXUlQzNTBOIHYyIHBsYXRmb3JtLgorCitjb25maWcgTUFDSF9UUzc4WFgKKwlib29sICJUZWNobm9sb2dpYyBTeXN0ZW1zIFRTLTc4eHgiCisJaGVscAorCSAgU2F5ICdZJyBoZXJlIGlmIHlvdSB3YW50IHlvdXIga2VybmVsIHRvIHN1cHBvcnQgdGhlCisJICBUZWNobm9sb2dpYyBTeXN0ZW1zIFRTLTc4eHggcGxhdGZvcm0uCisKK2NvbmZpZyBNQUNIX01WMjEyMAorCWJvb2wgIkhQIE1lZGlhIFZhdWx0IG12MjEyMCIKKwloZWxwCisJICBTYXkgJ1knIGhlcmUgaWYgeW91IHdhbnQgeW91ciBrZXJuZWwgdG8gc3VwcG9ydCB0aGUKKwkgIEhQIE1lZGlhIFZhdWx0IG12MjEyMCBvciBtdjUxMDAuCisKK2NvbmZpZyBNQUNIX01TUzIKKwlib29sICJNYXh0b3IgU2hhcmVkIFN0b3JhZ2UgSUkiCisJaGVscAorCSAgU2F5ICdZJyBoZXJlIGlmIHlvdSB3YW50IHlvdXIga2VybmVsIHRvIHN1cHBvcnQgdGhlCisJICBNYXh0b3IgU2hhcmVkIFN0b3JhZ2UgSUkgcGxhdGZvcm0uCisKK2NvbmZpZyBNQUNIX1dOUjg1NFQKKwlib29sICJOZXRnZWFyIFdOUjg1NFQiCisJaGVscAorCSAgU2F5ICdZJyBoZXJlIGlmIHlvdSB3YW50IHlvdXIga2VybmVsIHRvIHN1cHBvcnQgdGhlCisJICBOZXRnZWFyIFdOUjg1NFQgcGxhdGZvcm0uCisKK2NvbmZpZyBNQUNIX1JEODhGNTE4MUxfR0UKKwlib29sICJNYXJ2ZWxsIE9yaW9uLVZvSVAgR0UgUmVmZXJlbmNlIERlc2lnbiIKKwloZWxwCisJICBTYXkgJ1knIGhlcmUgaWYgeW91IHdhbnQgeW91ciBrZXJuZWwgdG8gc3VwcG9ydCB0aGUKKwkgIE1hcnZlbGwgT3Jpb24tVm9JUCBHRSAoODhGNTE4MUwpIFJELgorCitjb25maWcgTUFDSF9SRDg4RjUxODFMX0ZYTworCWJvb2wgIk1hcnZlbGwgT3Jpb24tVm9JUCBGWE8gUmVmZXJlbmNlIERlc2lnbiIKKwloZWxwCisJICBTYXkgJ1knIGhlcmUgaWYgeW91IHdhbnQgeW91ciBrZXJuZWwgdG8gc3VwcG9ydCB0aGUKKwkgIE1hcnZlbGwgT3Jpb24tVm9JUCBGWE8gKDg4RjUxODFMKSBSRC4KKwogZW5kbWVudQogCiBlbmRpZgpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L01ha2VmaWxlIGIvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L01ha2VmaWxlCmluZGV4IDkzMDFiZjUuLmZjYzQ4YTggMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtb3Jpb241eC9NYWtlZmlsZQorKysgYi9hcmNoL2FybS9tYWNoLW9yaW9uNXgvTWFrZWZpbGUKQEAgLTEsNyArMSwxNSBAQAotb2JqLXkJCQkJKz0gY29tbW9uLm8gYWRkci1tYXAubyBwY2kubyBncGlvLm8gaXJxLm8KK29iai15CQkJCSs9IGNvbW1vbi5vIGFkZHItbWFwLm8gcGNpLm8gZ3Bpby5vIGlycS5vIG1wcC5vCiBvYmotJChDT05GSUdfTUFDSF9EQjg4RjUyODEpCSs9IGRiODhmNTI4MS1zZXR1cC5vCiBvYmotJChDT05GSUdfTUFDSF9SRDg4RjUxODIpCSs9IHJkODhmNTE4Mi1zZXR1cC5vCiBvYmotJChDT05GSUdfTUFDSF9LVVJPQk9YX1BSTykJKz0ga3Vyb2JveF9wcm8tc2V0dXAubwogb2JqLSQoQ09ORklHX01BQ0hfTElOS1NUQVRJT05fUFJPKSArPSBrdXJvYm94X3Byby1zZXR1cC5vCiBvYmotJChDT05GSUdfTUFDSF9ETlMzMjMpCSs9IGRuczMyMy1zZXR1cC5vCi1vYmotJChDT05GSUdfTUFDSF9UUzIwOSkJKz0gdHMyMDktc2V0dXAubworb2JqLSQoQ09ORklHX01BQ0hfVFMyMDkpCSs9IHRzMjA5LXNldHVwLm8gdHN4MDktY29tbW9uLm8KK29iai0kKENPTkZJR19NQUNIX1RTNDA5KQkrPSB0czQwOS1zZXR1cC5vIHRzeDA5LWNvbW1vbi5vCitvYmotJChDT05GSUdfTUFDSF9XUlQzNTBOX1YyKQkrPSB3cnQzNTBuLXYyLXNldHVwLm8KK29iai0kKENPTkZJR19NQUNIX1RTNzhYWCkJKz0gdHM3OHh4LXNldHVwLm8KK29iai0kKENPTkZJR19NQUNIX01WMjEyMCkJKz0gbXYyMTIwLXNldHVwLm8KK29iai0kKENPTkZJR19NQUNIX01TUzIpCQkrPSBtc3MyLXNldHVwLm8KK29iai0kKENPTkZJR19NQUNIX1dOUjg1NFQpCSs9IHducjg1NHQtc2V0dXAubworb2JqLSQoQ09ORklHX01BQ0hfUkQ4OEY1MTgxTF9HRSkJKz0gcmQ4OGY1MTgxbC1nZS1zZXR1cC5vCitvYmotJChDT05GSUdfTUFDSF9SRDg4RjUxODFMX0ZYTykJKz0gcmQ4OGY1MTgxbC1meG8tc2V0dXAubwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L2FkZHItbWFwLmMgYi9hcmNoL2FybS9tYWNoLW9yaW9uNXgvYWRkci1tYXAuYwppbmRleCBlNjNmYjA1Li42ZjBkYmRhIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLW9yaW9uNXgvYWRkci1tYXAuYworKysgYi9hcmNoL2FybS9tYWNoLW9yaW9uNXgvYWRkci1tYXAuYwpAQCAtNzAsNiArNzAsNyBAQAogCiAKIHN0cnVjdCBtYnVzX2RyYW1fdGFyZ2V0X2luZm8gb3Jpb241eF9tYnVzX2RyYW1faW5mbzsKK3N0YXRpYyBpbnQgX19pbml0ZGF0YSB3aW5fYWxsb2NfY291bnQ7CiAKIHN0YXRpYyBpbnQgX19pbml0IG9yaW9uNXhfY3B1X3dpbl9jYW5fcmVtYXAoaW50IHdpbikKIHsKQEAgLTg3LDE2ICs4OCwyMiBAQAogc3RhdGljIHZvaWQgX19pbml0IHNldHVwX2NwdV93aW4oaW50IHdpbiwgdTMyIGJhc2UsIHUzMiBzaXplLAogCQkJCSB1OCB0YXJnZXQsIHU4IGF0dHIsIGludCByZW1hcCkKIHsKLQlvcmlvbjV4X3dyaXRlKENQVV9XSU5fQkFTRSh3aW4pLCBiYXNlICYgMHhmZmZmMDAwMCk7Ci0Jb3Jpb241eF93cml0ZShDUFVfV0lOX0NUUkwod2luKSwKLQkJKChzaXplIC0gMSkgJiAweGZmZmYwMDAwKSB8IChhdHRyIDw8IDgpIHwgKHRhcmdldCA8PCA0KSB8IDEpOworCWlmICh3aW4gPj0gOCkgeworCQlwcmludGsoS0VSTl9FUlIgInNldHVwX2NwdV93aW46IHRyeWluZyB0byBhbGxvY2F0ZSAiCisJCQkJIndpbmRvdyAlZFxuIiwgd2luKTsKKwkJcmV0dXJuOworCX0KKworCXdyaXRlbChiYXNlICYgMHhmZmZmMDAwMCwgQ1BVX1dJTl9CQVNFKHdpbikpOworCXdyaXRlbCgoKHNpemUgLSAxKSAmIDB4ZmZmZjAwMDApIHwgKGF0dHIgPDwgOCkgfCAodGFyZ2V0IDw8IDQpIHwgMSwKKwkJQ1BVX1dJTl9DVFJMKHdpbikpOwogCiAJaWYgKG9yaW9uNXhfY3B1X3dpbl9jYW5fcmVtYXAod2luKSkgewogCQlpZiAocmVtYXAgPCAwKQogCQkJcmVtYXAgPSBiYXNlOwogCi0JCW9yaW9uNXhfd3JpdGUoQ1BVX1dJTl9SRU1BUF9MTyh3aW4pLCByZW1hcCAmIDB4ZmZmZjAwMDApOwotCQlvcmlvbjV4X3dyaXRlKENQVV9XSU5fUkVNQVBfSEkod2luKSwgMCk7CisJCXdyaXRlbChyZW1hcCAmIDB4ZmZmZjAwMDAsIENQVV9XSU5fUkVNQVBfTE8od2luKSk7CisJCXdyaXRlbCgwLCBDUFVfV0lOX1JFTUFQX0hJKHdpbikpOwogCX0KIH0KIApAQCAtMTA5LDExICsxMTYsMTEgQEAKIAkgKiBGaXJzdCwgZGlzYWJsZSBhbmQgY2xlYXIgd2luZG93cy4KIAkgKi8KIAlmb3IgKGkgPSAwOyBpIDwgODsgaSsrKSB7Ci0JCW9yaW9uNXhfd3JpdGUoQ1BVX1dJTl9CQVNFKGkpLCAwKTsKLQkJb3Jpb241eF93cml0ZShDUFVfV0lOX0NUUkwoaSksIDApOworCQl3cml0ZWwoMCwgQ1BVX1dJTl9CQVNFKGkpKTsKKwkJd3JpdGVsKDAsIENQVV9XSU5fQ1RSTChpKSk7CiAJCWlmIChvcmlvbjV4X2NwdV93aW5fY2FuX3JlbWFwKGkpKSB7Ci0JCQlvcmlvbjV4X3dyaXRlKENQVV9XSU5fUkVNQVBfTE8oaSksIDApOwotCQkJb3Jpb241eF93cml0ZShDUFVfV0lOX1JFTUFQX0hJKGkpLCAwKTsKKwkJCXdyaXRlbCgwLCBDUFVfV0lOX1JFTUFQX0xPKGkpKTsKKwkJCXdyaXRlbCgwLCBDUFVfV0lOX1JFTUFQX0hJKGkpKTsKIAkJfQogCX0KIApAQCAtMTI4LDYgKzEzNSw3IEBACiAJCVRBUkdFVF9QQ0lFLCBBVFRSX1BDSUVfTUVNLCAtMSk7CiAJc2V0dXBfY3B1X3dpbigzLCBPUklPTjVYX1BDSV9NRU1fUEhZU19CQVNFLCBPUklPTjVYX1BDSV9NRU1fU0laRSwKIAkJVEFSR0VUX1BDSSwgQVRUUl9QQ0lfTUVNLCAtMSk7CisJd2luX2FsbG9jX2NvdW50ID0gNDsKIAogCS8qCiAJICogU2V0dXAgTUJVUyBkcmFtIHRhcmdldCBpbmZvLgpAQCAtMTQ3LDggKzE1NSw4IEBACiAJCQl3ID0gJm9yaW9uNXhfbWJ1c19kcmFtX2luZm8uY3NbY3MrK107CiAJCQl3LT5jc19pbmRleCA9IGk7CiAJCQl3LT5tYnVzX2F0dHIgPSAweGYgJiB+KDEgPDwgaSk7Ci0JCQl3LT5iYXNlID0gYmFzZSAmIDB4ZmYwMDAwMDA7Ci0JCQl3LT5zaXplID0gKHNpemUgfCAweDAwZmZmZmZmKSArIDE7CisJCQl3LT5iYXNlID0gYmFzZSAmIDB4ZmZmZjAwMDA7CisJCQl3LT5zaXplID0gKHNpemUgfCAweDAwMDBmZmZmKSArIDE7CiAJCX0KIAl9CiAJb3Jpb241eF9tYnVzX2RyYW1faW5mby5udW1fY3MgPSBjczsKQEAgLTE1NiwyNSArMTY0LDMwIEBACiAKIHZvaWQgX19pbml0IG9yaW9uNXhfc2V0dXBfZGV2X2Jvb3Rfd2luKHUzMiBiYXNlLCB1MzIgc2l6ZSkKIHsKLQlzZXR1cF9jcHVfd2luKDQsIGJhc2UsIHNpemUsIFRBUkdFVF9ERVZfQlVTLCBBVFRSX0RFVl9CT09ULCAtMSk7CisJc2V0dXBfY3B1X3dpbih3aW5fYWxsb2NfY291bnQrKywgYmFzZSwgc2l6ZSwKKwkJICAgICAgVEFSR0VUX0RFVl9CVVMsIEFUVFJfREVWX0JPT1QsIC0xKTsKIH0KIAogdm9pZCBfX2luaXQgb3Jpb241eF9zZXR1cF9kZXYwX3dpbih1MzIgYmFzZSwgdTMyIHNpemUpCiB7Ci0Jc2V0dXBfY3B1X3dpbig1LCBiYXNlLCBzaXplLCBUQVJHRVRfREVWX0JVUywgQVRUUl9ERVZfQ1MwLCAtMSk7CisJc2V0dXBfY3B1X3dpbih3aW5fYWxsb2NfY291bnQrKywgYmFzZSwgc2l6ZSwKKwkJICAgICAgVEFSR0VUX0RFVl9CVVMsIEFUVFJfREVWX0NTMCwgLTEpOwogfQogCiB2b2lkIF9faW5pdCBvcmlvbjV4X3NldHVwX2RldjFfd2luKHUzMiBiYXNlLCB1MzIgc2l6ZSkKIHsKLQlzZXR1cF9jcHVfd2luKDYsIGJhc2UsIHNpemUsIFRBUkdFVF9ERVZfQlVTLCBBVFRSX0RFVl9DUzEsIC0xKTsKKwlzZXR1cF9jcHVfd2luKHdpbl9hbGxvY19jb3VudCsrLCBiYXNlLCBzaXplLAorCQkgICAgICBUQVJHRVRfREVWX0JVUywgQVRUUl9ERVZfQ1MxLCAtMSk7CiB9CiAKIHZvaWQgX19pbml0IG9yaW9uNXhfc2V0dXBfZGV2Ml93aW4odTMyIGJhc2UsIHUzMiBzaXplKQogewotCXNldHVwX2NwdV93aW4oNywgYmFzZSwgc2l6ZSwgVEFSR0VUX0RFVl9CVVMsIEFUVFJfREVWX0NTMiwgLTEpOworCXNldHVwX2NwdV93aW4od2luX2FsbG9jX2NvdW50KyssIGJhc2UsIHNpemUsCisJCSAgICAgIFRBUkdFVF9ERVZfQlVTLCBBVFRSX0RFVl9DUzIsIC0xKTsKIH0KIAogdm9pZCBfX2luaXQgb3Jpb241eF9zZXR1cF9wY2llX3dhX3dpbih1MzIgYmFzZSwgdTMyIHNpemUpCiB7Ci0Jc2V0dXBfY3B1X3dpbig3LCBiYXNlLCBzaXplLCBUQVJHRVRfUENJRSwgQVRUUl9QQ0lFX1dBLCAtMSk7CisJc2V0dXBfY3B1X3dpbih3aW5fYWxsb2NfY291bnQrKywgYmFzZSwgc2l6ZSwKKwkJICAgICAgVEFSR0VUX1BDSUUsIEFUVFJfUENJRV9XQSwgLTEpOwogfQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L2NvbW1vbi5jIGIvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L2NvbW1vbi5jCmluZGV4IDRmMTNmZDAuLmZhZjRlMzIgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtb3Jpb241eC9jb21tb24uYworKysgYi9hcmNoL2FybS9tYWNoLW9yaW9uNXgvY29tbW9uLmMKQEAgLTM5LDI1ICszOSwyMiBAQAogCQkudmlydHVhbAk9IE9SSU9ONVhfUkVHU19WSVJUX0JBU0UsCiAJCS5wZm4JCT0gX19waHlzX3RvX3BmbihPUklPTjVYX1JFR1NfUEhZU19CQVNFKSwKIAkJLmxlbmd0aAkJPSBPUklPTjVYX1JFR1NfU0laRSwKLQkJLnR5cGUJCT0gTVRfREVWSUNFCi0JfSwKLQl7CisJCS50eXBlCQk9IE1UX0RFVklDRSwKKwl9LCB7CiAJCS52aXJ0dWFsCT0gT1JJT041WF9QQ0lFX0lPX1ZJUlRfQkFTRSwKIAkJLnBmbgkJPSBfX3BoeXNfdG9fcGZuKE9SSU9ONVhfUENJRV9JT19QSFlTX0JBU0UpLAogCQkubGVuZ3RoCQk9IE9SSU9ONVhfUENJRV9JT19TSVpFLAotCQkudHlwZQkJPSBNVF9ERVZJQ0UKLQl9LAotCXsKKwkJLnR5cGUJCT0gTVRfREVWSUNFLAorCX0sIHsKIAkJLnZpcnR1YWwJPSBPUklPTjVYX1BDSV9JT19WSVJUX0JBU0UsCiAJCS5wZm4JCT0gX19waHlzX3RvX3BmbihPUklPTjVYX1BDSV9JT19QSFlTX0JBU0UpLAogCQkubGVuZ3RoCQk9IE9SSU9ONVhfUENJX0lPX1NJWkUsCi0JCS50eXBlCQk9IE1UX0RFVklDRQotCX0sCi0JeworCQkudHlwZQkJPSBNVF9ERVZJQ0UsCisJfSwgewogCQkudmlydHVhbAk9IE9SSU9ONVhfUENJRV9XQV9WSVJUX0JBU0UsCiAJCS5wZm4JCT0gX19waHlzX3RvX3BmbihPUklPTjVYX1BDSUVfV0FfUEhZU19CQVNFKSwKIAkJLmxlbmd0aAkJPSBPUklPTjVYX1BDSUVfV0FfU0laRSwKLQkJLnR5cGUJCT0gTVRfREVWSUNFCisJCS50eXBlCQk9IE1UX0RFVklDRSwKIAl9LAogfTsKIApAQCAtNjYsMTAxICs2MywzMiBAQAogCWlvdGFibGVfaW5pdChvcmlvbjV4X2lvX2Rlc2MsIEFSUkFZX1NJWkUob3Jpb241eF9pb19kZXNjKSk7CiB9CiAKKwogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBVQVJUCisgKiBFSENJCiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLQotc3RhdGljIHN0cnVjdCByZXNvdXJjZSBvcmlvbjV4X3VhcnRfcmVzb3VyY2VzW10gPSB7Ci0JewotCQkuc3RhcnQJCT0gVUFSVDBfUEhZU19CQVNFLAotCQkuZW5kCQk9IFVBUlQwX1BIWVNfQkFTRSArIDB4ZmYsCi0JCS5mbGFncwkJPSBJT1JFU09VUkNFX01FTSwKLQl9LAotCXsKLQkJLnN0YXJ0CQk9IElSUV9PUklPTjVYX1VBUlQwLAotCQkuZW5kCQk9IElSUV9PUklPTjVYX1VBUlQwLAotCQkuZmxhZ3MJCT0gSU9SRVNPVVJDRV9JUlEsCi0JfSwKLQl7Ci0JCS5zdGFydAkJPSBVQVJUMV9QSFlTX0JBU0UsCi0JCS5lbmQJCT0gVUFSVDFfUEhZU19CQVNFICsgMHhmZiwKLQkJLmZsYWdzCQk9IElPUkVTT1VSQ0VfTUVNLAotCX0sCi0JewotCQkuc3RhcnQJCT0gSVJRX09SSU9ONVhfVUFSVDEsCi0JCS5lbmQJCT0gSVJRX09SSU9ONVhfVUFSVDEsCi0JCS5mbGFncwkJPSBJT1JFU09VUkNFX0lSUSwKLQl9LAotfTsKLQotc3RhdGljIHN0cnVjdCBwbGF0X3NlcmlhbDgyNTBfcG9ydCBvcmlvbjV4X3VhcnRfZGF0YVtdID0gewotCXsKLQkJLm1hcGJhc2UJPSBVQVJUMF9QSFlTX0JBU0UsCi0JCS5tZW1iYXNlCT0gKGNoYXIgKilVQVJUMF9WSVJUX0JBU0UsCi0JCS5pcnEJCT0gSVJRX09SSU9ONVhfVUFSVDAsCi0JCS5mbGFncwkJPSBVUEZfU0tJUF9URVNUIHwgVVBGX0JPT1RfQVVUT0NPTkYsCi0JCS5pb3R5cGUJCT0gVVBJT19NRU0sCi0JCS5yZWdzaGlmdAk9IDIsCi0JCS51YXJ0Y2xrCT0gT1JJT041WF9UQ0xLLAotCX0sCi0JewotCQkubWFwYmFzZQk9IFVBUlQxX1BIWVNfQkFTRSwKLQkJLm1lbWJhc2UJPSAoY2hhciAqKVVBUlQxX1ZJUlRfQkFTRSwKLQkJLmlycQkJPSBJUlFfT1JJT041WF9VQVJUMSwKLQkJLmZsYWdzCQk9IFVQRl9TS0lQX1RFU1QgfCBVUEZfQk9PVF9BVVRPQ09ORiwKLQkJLmlvdHlwZQkJPSBVUElPX01FTSwKLQkJLnJlZ3NoaWZ0CT0gMiwKLQkJLnVhcnRjbGsJPSBPUklPTjVYX1RDTEssCi0JfSwKLQl7IH0sCi19OwotCi1zdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBvcmlvbjV4X3VhcnQgPSB7Ci0JLm5hbWUJCQk9ICJzZXJpYWw4MjUwIiwKLQkuaWQJCQk9IFBMQVQ4MjUwX0RFVl9QTEFURk9STSwKLQkuZGV2CQkJPSB7Ci0JCS5wbGF0Zm9ybV9kYXRhCT0gb3Jpb241eF91YXJ0X2RhdGEsCi0JfSwKLQkucmVzb3VyY2UJCT0gb3Jpb241eF91YXJ0X3Jlc291cmNlcywKLQkubnVtX3Jlc291cmNlcwkJPSBBUlJBWV9TSVpFKG9yaW9uNXhfdWFydF9yZXNvdXJjZXMpLAotfTsKLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIFVTQiBDb250cm9sbGVyIC0gMiBpbnRlcmZhY2VzCi0gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwotCi1zdGF0aWMgc3RydWN0IHJlc291cmNlIG9yaW9uNXhfZWhjaTBfcmVzb3VyY2VzW10gPSB7Ci0JewotCQkuc3RhcnQJPSBPUklPTjVYX1VTQjBfUEhZU19CQVNFLAotCQkuZW5kCT0gT1JJT041WF9VU0IwX1BIWVNfQkFTRSArIFNaXzRLIC0gMSwKLQkJLmZsYWdzCT0gSU9SRVNPVVJDRV9NRU0sCi0JfSwKLQl7Ci0JCS5zdGFydAk9IElSUV9PUklPTjVYX1VTQjBfQ1RSTCwKLQkJLmVuZAk9IElSUV9PUklPTjVYX1VTQjBfQ1RSTCwKLQkJLmZsYWdzCT0gSU9SRVNPVVJDRV9JUlEsCi0JfSwKLX07Ci0KLXN0YXRpYyBzdHJ1Y3QgcmVzb3VyY2Ugb3Jpb241eF9laGNpMV9yZXNvdXJjZXNbXSA9IHsKLQl7Ci0JCS5zdGFydAk9IE9SSU9ONVhfVVNCMV9QSFlTX0JBU0UsCi0JCS5lbmQJPSBPUklPTjVYX1VTQjFfUEhZU19CQVNFICsgU1pfNEsgLSAxLAotCQkuZmxhZ3MJPSBJT1JFU09VUkNFX01FTSwKLQl9LAotCXsKLQkJLnN0YXJ0CT0gSVJRX09SSU9ONVhfVVNCMV9DVFJMLAotCQkuZW5kCT0gSVJRX09SSU9ONVhfVVNCMV9DVFJMLAotCQkuZmxhZ3MJPSBJT1JFU09VUkNFX0lSUSwKLQl9LAotfTsKLQogc3RhdGljIHN0cnVjdCBvcmlvbl9laGNpX2RhdGEgb3Jpb241eF9laGNpX2RhdGEgPSB7CiAJLmRyYW0JCT0gJm9yaW9uNXhfbWJ1c19kcmFtX2luZm8sCiB9OwogCiBzdGF0aWMgdTY0IGVoY2lfZG1hbWFzayA9IDB4ZmZmZmZmZmZVTDsKIAorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEVIQ0kwCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2Ugb3Jpb241eF9laGNpMF9yZXNvdXJjZXNbXSA9IHsKKwl7CisJCS5zdGFydAk9IE9SSU9ONVhfVVNCMF9QSFlTX0JBU0UsCisJCS5lbmQJPSBPUklPTjVYX1VTQjBfUEhZU19CQVNFICsgU1pfNEsgLSAxLAorCQkuZmxhZ3MJPSBJT1JFU09VUkNFX01FTSwKKwl9LCB7CisJCS5zdGFydAk9IElSUV9PUklPTjVYX1VTQjBfQ1RSTCwKKwkJLmVuZAk9IElSUV9PUklPTjVYX1VTQjBfQ1RSTCwKKwkJLmZsYWdzCT0gSU9SRVNPVVJDRV9JUlEsCisJfSwKK307CisKIHN0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIG9yaW9uNXhfZWhjaTAgPSB7CiAJLm5hbWUJCT0gIm9yaW9uLWVoY2kiLAogCS5pZAkJPSAwLApAQCAtMTczLDYgKzEwMSwyNyBAQAogCS5udW1fcmVzb3VyY2VzCT0gQVJSQVlfU0laRShvcmlvbjV4X2VoY2kwX3Jlc291cmNlcyksCiB9OwogCit2b2lkIF9faW5pdCBvcmlvbjV4X2VoY2kwX2luaXQodm9pZCkKK3sKKwlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJm9yaW9uNXhfZWhjaTApOworfQorCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRUhDSTEKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworc3RhdGljIHN0cnVjdCByZXNvdXJjZSBvcmlvbjV4X2VoY2kxX3Jlc291cmNlc1tdID0geworCXsKKwkJLnN0YXJ0CT0gT1JJT041WF9VU0IxX1BIWVNfQkFTRSwKKwkJLmVuZAk9IE9SSU9ONVhfVVNCMV9QSFlTX0JBU0UgKyBTWl80SyAtIDEsCisJCS5mbGFncwk9IElPUkVTT1VSQ0VfTUVNLAorCX0sIHsKKwkJLnN0YXJ0CT0gSVJRX09SSU9ONVhfVVNCMV9DVFJMLAorCQkuZW5kCT0gSVJRX09SSU9ONVhfVVNCMV9DVFJMLAorCQkuZmxhZ3MJPSBJT1JFU09VUkNFX0lSUSwKKwl9LAorfTsKKwogc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2Ugb3Jpb241eF9laGNpMSA9IHsKIAkubmFtZQkJPSAib3Jpb24tZWhjaSIsCiAJLmlkCQk9IDEsCkBAIC0xODUsMTEgKzEzNCwxNSBAQAogCS5udW1fcmVzb3VyY2VzCT0gQVJSQVlfU0laRShvcmlvbjV4X2VoY2kxX3Jlc291cmNlcyksCiB9OwogCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIEdpZ2FiaXQgRXRoZXJuZXQgcG9ydAotICogKFRoZSBPcmlvbiBhbmQgRGlzY292ZXJ5IChNVjY0M3h4KSBmYW1pbGllcyB1c2UgdGhlIHNhbWUgRXRoZXJuZXQgZHJpdmVyKQotICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCit2b2lkIF9faW5pdCBvcmlvbjV4X2VoY2kxX2luaXQodm9pZCkKK3sKKwlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJm9yaW9uNXhfZWhjaTEpOworfQogCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogR2lnRQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiBzdHJ1Y3QgbXY2NDN4eF9ldGhfc2hhcmVkX3BsYXRmb3JtX2RhdGEgb3Jpb241eF9ldGhfc2hhcmVkX2RhdGEgPSB7CiAJLmRyYW0JCT0gJm9yaW9uNXhfbWJ1c19kcmFtX2luZm8sCiAJLnRfY2xrCQk9IE9SSU9ONVhfVENMSywKQEAgLTIxOSw3ICsxNzIsNyBAQAogCQkuc3RhcnQJPSBJUlFfT1JJT041WF9FVEhfU1VNLAogCQkuZW5kCT0gSVJRX09SSU9ONVhfRVRIX1NVTSwKIAkJLmZsYWdzCT0gSU9SRVNPVVJDRV9JUlEsCi0JfQorCX0sCiB9OwogCiBzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBvcmlvbjV4X2V0aCA9IHsKQEAgLTIzOCwxMSArMTkxLDEwIEBACiAJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZvcmlvbjV4X2V0aCk7CiB9CiAKLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogSTJDIGNvbnRyb2xsZXIKLSAqIChUaGUgT3Jpb24gYW5kIERpc2NvdmVyeSAoTVY2NDN4eCkgZmFtaWxpZXMgc2hhcmUgdGhlIHNhbWUgSTJDIGNvbnRyb2xsZXIpCi0gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KIAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBJMkMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogc3RhdGljIHN0cnVjdCBtdjY0eHh4X2kyY19wZGF0YSBvcmlvbjV4X2kyY19wZGF0YSA9IHsKIAkuZnJlcV9tCQk9IDgsIC8qIGFzc3VtZXMgMTY2IE1IeiBUQ0xLICovCiAJLmZyZXFfbgkJPSAzLApAQCAtMjUxLDE2ICsyMDMsMTUgQEAKIAogc3RhdGljIHN0cnVjdCByZXNvdXJjZSBvcmlvbjV4X2kyY19yZXNvdXJjZXNbXSA9IHsKIAl7Ci0JCS5uYW1lICAgPSAiaTJjIGJhc2UiLAotCQkuc3RhcnQgID0gSTJDX1BIWVNfQkFTRSwKLQkJLmVuZCAgICA9IEkyQ19QSFlTX0JBU0UgKyAweDIwIC0xLAotCQkuZmxhZ3MgID0gSU9SRVNPVVJDRV9NRU0sCi0JfSwKLQl7Ci0JCS5uYW1lICAgPSAiaTJjIGlycSIsCi0JCS5zdGFydCAgPSBJUlFfT1JJT041WF9JMkMsCi0JCS5lbmQgICAgPSBJUlFfT1JJT041WF9JMkMsCi0JCS5mbGFncyAgPSBJT1JFU09VUkNFX0lSUSwKKwkJLm5hbWUJPSAiaTJjIGJhc2UiLAorCQkuc3RhcnQJPSBJMkNfUEhZU19CQVNFLAorCQkuZW5kCT0gSTJDX1BIWVNfQkFTRSArIDB4MWYsCisJCS5mbGFncwk9IElPUkVTT1VSQ0VfTUVNLAorCX0sIHsKKwkJLm5hbWUJPSAiaTJjIGlycSIsCisJCS5zdGFydAk9IElSUV9PUklPTjVYX0kyQywKKwkJLmVuZAk9IElSUV9PUklPTjVYX0kyQywKKwkJLmZsYWdzCT0gSU9SRVNPVVJDRV9JUlEsCiAJfSwKIH07CiAKQEAgLTI3MCwzNiArMjIxLDQxIEBACiAJLm51bV9yZXNvdXJjZXMJPSBBUlJBWV9TSVpFKG9yaW9uNXhfaTJjX3Jlc291cmNlcyksCiAJLnJlc291cmNlCT0gb3Jpb241eF9pMmNfcmVzb3VyY2VzLAogCS5kZXYJCT0gewotCQkucGxhdGZvcm1fZGF0YSA9ICZvcmlvbjV4X2kyY19wZGF0YSwKKwkJLnBsYXRmb3JtX2RhdGEJPSAmb3Jpb241eF9pMmNfcGRhdGEsCiAJfSwKIH07CiAKK3ZvaWQgX19pbml0IG9yaW9uNXhfaTJjX2luaXQodm9pZCkKK3sKKwlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJm9yaW9uNXhfaTJjKTsKK30KKworCiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIFNhdGEgcG9ydAorICogU0FUQQogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiBzdGF0aWMgc3RydWN0IHJlc291cmNlIG9yaW9uNXhfc2F0YV9yZXNvdXJjZXNbXSA9IHsKLSAgICAgICAgewotICAgICAgICAgICAgICAgIC5uYW1lICAgPSAic2F0YSBiYXNlIiwKLSAgICAgICAgICAgICAgICAuc3RhcnQgID0gT1JJT041WF9TQVRBX1BIWVNfQkFTRSwKLSAgICAgICAgICAgICAgICAuZW5kICAgID0gT1JJT041WF9TQVRBX1BIWVNfQkFTRSArIDB4NTAwMCAtIDEsCi0gICAgICAgICAgICAgICAgLmZsYWdzICA9IElPUkVTT1VSQ0VfTUVNLAotICAgICAgICB9LAogCXsKLSAgICAgICAgICAgICAgICAubmFtZSAgID0gInNhdGEgaXJxIiwKLSAgICAgICAgICAgICAgICAuc3RhcnQgID0gSVJRX09SSU9ONVhfU0FUQSwKLSAgICAgICAgICAgICAgICAuZW5kICAgID0gSVJRX09SSU9ONVhfU0FUQSwKLSAgICAgICAgICAgICAgICAuZmxhZ3MgID0gSU9SRVNPVVJDRV9JUlEsCi0gICAgICAgIH0sCisJCS5uYW1lCT0gInNhdGEgYmFzZSIsCisJCS5zdGFydAk9IE9SSU9ONVhfU0FUQV9QSFlTX0JBU0UsCisJCS5lbmQJPSBPUklPTjVYX1NBVEFfUEhZU19CQVNFICsgMHg1MDAwIC0gMSwKKwkJLmZsYWdzCT0gSU9SRVNPVVJDRV9NRU0sCisJfSwgeworCQkubmFtZQk9ICJzYXRhIGlycSIsCisJCS5zdGFydAk9IElSUV9PUklPTjVYX1NBVEEsCisJCS5lbmQJPSBJUlFfT1JJT041WF9TQVRBLAorCQkuZmxhZ3MJPSBJT1JFU09VUkNFX0lSUSwKKwl9LAogfTsKIAogc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2Ugb3Jpb241eF9zYXRhID0gewotCS5uYW1lICAgICAgICAgICA9ICJzYXRhX212IiwKLQkuaWQgICAgICAgICAgICAgPSAwLAorCS5uYW1lCQk9ICJzYXRhX212IiwKKwkuaWQJCT0gMCwKIAkuZGV2CQk9IHsKIAkJLmNvaGVyZW50X2RtYV9tYXNrCT0gMHhmZmZmZmZmZiwKIAl9LAotCS5udW1fcmVzb3VyY2VzICA9IEFSUkFZX1NJWkUob3Jpb241eF9zYXRhX3Jlc291cmNlcyksCi0JLnJlc291cmNlICAgICAgID0gb3Jpb241eF9zYXRhX3Jlc291cmNlcywKKwkubnVtX3Jlc291cmNlcwk9IEFSUkFZX1NJWkUob3Jpb241eF9zYXRhX3Jlc291cmNlcyksCisJLnJlc291cmNlCT0gb3Jpb241eF9zYXRhX3Jlc291cmNlcywKIH07CiAKIHZvaWQgX19pbml0IG9yaW9uNXhfc2F0YV9pbml0KHN0cnVjdCBtdl9zYXRhX3BsYXRmb3JtX2RhdGEgKnNhdGFfZGF0YSkKQEAgLTMwOSwyMyArMjY1LDExMSBAQAogCXBsYXRmb3JtX2RldmljZV9yZWdpc3Rlcigmb3Jpb241eF9zYXRhKTsKIH0KIAorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFVBUlQwCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3N0YXRpYyBzdHJ1Y3QgcGxhdF9zZXJpYWw4MjUwX3BvcnQgb3Jpb241eF91YXJ0MF9kYXRhW10gPSB7CisJeworCQkubWFwYmFzZQk9IFVBUlQwX1BIWVNfQkFTRSwKKwkJLm1lbWJhc2UJPSAoY2hhciAqKVVBUlQwX1ZJUlRfQkFTRSwKKwkJLmlycQkJPSBJUlFfT1JJT041WF9VQVJUMCwKKwkJLmZsYWdzCQk9IFVQRl9TS0lQX1RFU1QgfCBVUEZfQk9PVF9BVVRPQ09ORiwKKwkJLmlvdHlwZQkJPSBVUElPX01FTSwKKwkJLnJlZ3NoaWZ0CT0gMiwKKwkJLnVhcnRjbGsJPSBPUklPTjVYX1RDTEssCisJfSwgeworCX0sCit9OworCitzdGF0aWMgc3RydWN0IHJlc291cmNlIG9yaW9uNXhfdWFydDBfcmVzb3VyY2VzW10gPSB7CisJeworCQkuc3RhcnQJCT0gVUFSVDBfUEhZU19CQVNFLAorCQkuZW5kCQk9IFVBUlQwX1BIWVNfQkFTRSArIDB4ZmYsCisJCS5mbGFncwkJPSBJT1JFU09VUkNFX01FTSwKKwl9LCB7CisJCS5zdGFydAkJPSBJUlFfT1JJT041WF9VQVJUMCwKKwkJLmVuZAkJPSBJUlFfT1JJT041WF9VQVJUMCwKKwkJLmZsYWdzCQk9IElPUkVTT1VSQ0VfSVJRLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBvcmlvbjV4X3VhcnQwID0geworCS5uYW1lCQkJPSAic2VyaWFsODI1MCIsCisJLmlkCQkJPSBQTEFUODI1MF9ERVZfUExBVEZPUk0sCisJLmRldgkJCT0geworCQkucGxhdGZvcm1fZGF0YQk9IG9yaW9uNXhfdWFydDBfZGF0YSwKKwl9LAorCS5yZXNvdXJjZQkJPSBvcmlvbjV4X3VhcnQwX3Jlc291cmNlcywKKwkubnVtX3Jlc291cmNlcwkJPSBBUlJBWV9TSVpFKG9yaW9uNXhfdWFydDBfcmVzb3VyY2VzKSwKK307CisKK3ZvaWQgX19pbml0IG9yaW9uNXhfdWFydDBfaW5pdCh2b2lkKQoreworCXBsYXRmb3JtX2RldmljZV9yZWdpc3Rlcigmb3Jpb241eF91YXJ0MCk7Cit9CisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBVQVJUMQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitzdGF0aWMgc3RydWN0IHBsYXRfc2VyaWFsODI1MF9wb3J0IG9yaW9uNXhfdWFydDFfZGF0YVtdID0geworCXsKKwkJLm1hcGJhc2UJPSBVQVJUMV9QSFlTX0JBU0UsCisJCS5tZW1iYXNlCT0gKGNoYXIgKilVQVJUMV9WSVJUX0JBU0UsCisJCS5pcnEJCT0gSVJRX09SSU9ONVhfVUFSVDEsCisJCS5mbGFncwkJPSBVUEZfU0tJUF9URVNUIHwgVVBGX0JPT1RfQVVUT0NPTkYsCisJCS5pb3R5cGUJCT0gVVBJT19NRU0sCisJCS5yZWdzaGlmdAk9IDIsCisJCS51YXJ0Y2xrCT0gT1JJT041WF9UQ0xLLAorCX0sIHsKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSBvcmlvbjV4X3VhcnQxX3Jlc291cmNlc1tdID0geworCXsKKwkJLnN0YXJ0CQk9IFVBUlQxX1BIWVNfQkFTRSwKKwkJLmVuZAkJPSBVQVJUMV9QSFlTX0JBU0UgKyAweGZmLAorCQkuZmxhZ3MJCT0gSU9SRVNPVVJDRV9NRU0sCisJfSwgeworCQkuc3RhcnQJCT0gSVJRX09SSU9ONVhfVUFSVDEsCisJCS5lbmQJCT0gSVJRX09SSU9ONVhfVUFSVDEsCisJCS5mbGFncwkJPSBJT1JFU09VUkNFX0lSUSwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2Ugb3Jpb241eF91YXJ0MSA9IHsKKwkubmFtZQkJCT0gInNlcmlhbDgyNTAiLAorCS5pZAkJCT0gUExBVDgyNTBfREVWX1BMQVRGT1JNMSwKKwkuZGV2CQkJPSB7CisJCS5wbGF0Zm9ybV9kYXRhCT0gb3Jpb241eF91YXJ0MV9kYXRhLAorCX0sCisJLnJlc291cmNlCQk9IG9yaW9uNXhfdWFydDFfcmVzb3VyY2VzLAorCS5udW1fcmVzb3VyY2VzCQk9IEFSUkFZX1NJWkUob3Jpb241eF91YXJ0MV9yZXNvdXJjZXMpLAorfTsKKwordm9pZCBfX2luaXQgb3Jpb241eF91YXJ0MV9pbml0KHZvaWQpCit7CisJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZvcmlvbjV4X3VhcnQxKTsKK30KKworCiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIFRpbWUgaGFuZGxpbmcKICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwotCiBzdGF0aWMgdm9pZCBvcmlvbjV4X3RpbWVyX2luaXQodm9pZCkKIHsKIAlvcmlvbl90aW1lX2luaXQoSVJRX09SSU9ONVhfQlJJREdFLCBPUklPTjVYX1RDTEspOwogfQogCiBzdHJ1Y3Qgc3lzX3RpbWVyIG9yaW9uNXhfdGltZXIgPSB7Ci0gICAgICAgIC5pbml0ID0gb3Jpb241eF90aW1lcl9pbml0LAorCS5pbml0ID0gb3Jpb241eF90aW1lcl9pbml0LAogfTsKIAorCiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIEdlbmVyYWwKICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwotCiAvKgogICogSWRlbnRpZnkgZGV2aWNlIElEIGFuZCByZXYgZnJvbSBQQ0llIGNvbmZpZ3VyYXRpb24gaGVhZGVyIHNwYWNlICcwJy4KICAqLwpAQCAtMzUwLDggKzM5NCwxMCBAQAogCX0gZWxzZSBpZiAoKmRldiA9PSBNVjg4RjUxODFfREVWX0lEKSB7CiAJCWlmICgqcmV2ID09IE1WODhGNTE4MV9SRVZfQjEpIHsKIAkJCSpkZXZfbmFtZSA9ICJNVjg4RjUxODEtUmV2LUIxIjsKKwkJfSBlbHNlIGlmICgqcmV2ID09IE1WODhGNTE4MUxfUkVWX0ExKSB7CisJCQkqZGV2X25hbWUgPSAiTVY4OEY1MTgxTC1SZXYtQTEiOwogCQl9IGVsc2UgewotCQkJKmRldl9uYW1lID0gIk1WODhGNTE4MS1SZXYtVW5zdXBwb3J0ZWQiOworCQkJKmRldl9uYW1lID0gIk1WODhGNTE4MShMKS1SZXYtVW5zdXBwb3J0ZWQiOwogCQl9CiAJfSBlbHNlIHsKIAkJKmRldl9uYW1lID0gIkRldmljZS1Vbmtub3duIjsKQEAgLTM3MCwxNSArNDE2LDYgQEAKIAkgKiBTZXR1cCBPcmlvbiBhZGRyZXNzIG1hcAogCSAqLwogCW9yaW9uNXhfc2V0dXBfY3B1X21idXNfYnJpZGdlKCk7Ci0KLQkvKgotCSAqIFJlZ2lzdGVyIGRldmljZXMuCi0JICovCi0JcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZvcmlvbjV4X3VhcnQpOwotCXBsYXRmb3JtX2RldmljZV9yZWdpc3Rlcigmb3Jpb241eF9laGNpMCk7Ci0JaWYgKGRldiA9PSBNVjg4RjUxODJfREVWX0lEKQotCQlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJm9yaW9uNXhfZWhjaTEpOwotCXBsYXRmb3JtX2RldmljZV9yZWdpc3Rlcigmb3Jpb241eF9pMmMpOwogfQogCiAvKgpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L2NvbW1vbi5oIGIvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L2NvbW1vbi5oCmluZGV4IGJkMGYwNWQuLmY3MmNmMGUgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtb3Jpb241eC9jb21tb24uaAorKysgYi9hcmNoL2FybS9tYWNoLW9yaW9uNXgvY29tbW9uLmgKQEAgLTEsMTAgKzEsMTIgQEAKICNpZm5kZWYgX19BUkNIX09SSU9ONVhfQ09NTU9OX0gKICNkZWZpbmUgX19BUkNIX09SSU9ONVhfQ09NTU9OX0gKIAorc3RydWN0IG12NjQzeHhfZXRoX3BsYXRmb3JtX2RhdGE7CitzdHJ1Y3QgbXZfc2F0YV9wbGF0Zm9ybV9kYXRhOworCiAvKgogICogQmFzaWMgT3Jpb24gaW5pdCBmdW5jdGlvbnMgdXNlZCBlYXJseSBieSBtYWNoaW5lLXNldHVwLgogICovCi0KIHZvaWQgb3Jpb241eF9tYXBfaW8odm9pZCk7CiB2b2lkIG9yaW9uNXhfaW5pdF9pcnEodm9pZCk7CiB2b2lkIG9yaW9uNXhfaW5pdCh2b2lkKTsKQEAgLTIzLDE1ICsyNSwyMiBAQAogdm9pZCBvcmlvbjV4X3NldHVwX2RldjJfd2luKHUzMiBiYXNlLCB1MzIgc2l6ZSk7CiB2b2lkIG9yaW9uNXhfc2V0dXBfcGNpZV93YV93aW4odTMyIGJhc2UsIHUzMiBzaXplKTsKIAotLyoKLSAqIFNoYXJlZCBjb2RlIHVzZWQgaW50ZXJuYWxseSBieSBvdGhlciBPcmlvbiBjb3JlIGZ1bmN0aW9ucy4KLSAqICgvbWFjaC1vcmlvbi9wY2kuYykKLSAqLwordm9pZCBvcmlvbjV4X2VoY2kwX2luaXQodm9pZCk7Cit2b2lkIG9yaW9uNXhfZWhjaTFfaW5pdCh2b2lkKTsKK3ZvaWQgb3Jpb241eF9ldGhfaW5pdChzdHJ1Y3QgbXY2NDN4eF9ldGhfcGxhdGZvcm1fZGF0YSAqZXRoX2RhdGEpOwordm9pZCBvcmlvbjV4X2kyY19pbml0KHZvaWQpOwordm9pZCBvcmlvbjV4X3NhdGFfaW5pdChzdHJ1Y3QgbXZfc2F0YV9wbGF0Zm9ybV9kYXRhICpzYXRhX2RhdGEpOwordm9pZCBvcmlvbjV4X3VhcnQwX2luaXQodm9pZCk7Cit2b2lkIG9yaW9uNXhfdWFydDFfaW5pdCh2b2lkKTsKIAotc3RydWN0IHBjaV9zeXNfZGF0YTsKKy8qCisgKiBQQ0llL1BDSSBmdW5jdGlvbnMuCisgKi8KIHN0cnVjdCBwY2lfYnVzOworc3RydWN0IHBjaV9zeXNfZGF0YTsKIAogdm9pZCBvcmlvbjV4X3BjaWVfaWQodTMyICpkZXYsIHUzMiAqcmV2KTsKK3ZvaWQgb3Jpb241eF9wY2lfc2V0X2NhcmRidXNfbW9kZSh2b2lkKTsKIGludCBvcmlvbjV4X3BjaV9zeXNfc2V0dXAoaW50IG5yLCBzdHJ1Y3QgcGNpX3N5c19kYXRhICpzeXMpOwogc3RydWN0IHBjaV9idXMgKm9yaW9uNXhfcGNpX3N5c19zY2FuX2J1cyhpbnQgbnIsIHN0cnVjdCBwY2lfc3lzX2RhdGEgKnN5cyk7CiBpbnQgb3Jpb241eF9wY2lfbWFwX2lycShzdHJ1Y3QgcGNpX2RldiAqZGV2LCB1OCBzbG90LCB1OCBwaW4pOwpAQCAtNDAsMjYgKzQ5LDkgQEAKICAqIFZhbGlkIEdQSU8gcGlucyBhY2NvcmRpbmcgdG8gTVBQIHNldHVwLCB1c2VkIGJ5IG1hY2hpbmUtc2V0dXAuCiAgKiAoL21hY2gtb3Jpb24vZ3Bpby5jKS4KICAqLwotCi12b2lkIG9yaW9uNXhfZ3Bpb19zZXRfdmFsaWRfcGlucyh1MzIgcGlucyk7Cit2b2lkIG9yaW9uNXhfZ3Bpb19zZXRfdmFsaWQodW5zaWduZWQgcGluLCBpbnQgdmFsaWQpOwogdm9pZCBncGlvX2Rpc3BsYXkodm9pZCk7CS8qIGRlYnVnICovCiAKLS8qCi0gKiBQdWxsIGluIE9yaW9uIEV0aGVybmV0IHBsYXRmb3JtX2RhdGEsIHVzZWQgYnkgbWFjaGluZS1zZXR1cAotICovCi0KLXN0cnVjdCBtdjY0M3h4X2V0aF9wbGF0Zm9ybV9kYXRhOwotCi12b2lkIG9yaW9uNXhfZXRoX2luaXQoc3RydWN0IG12NjQzeHhfZXRoX3BsYXRmb3JtX2RhdGEgKmV0aF9kYXRhKTsKLQotLyoKLSAqIE9yaW9uIFNhdGEgcGxhdGZvcm1fZGF0YSwgdXNlZCBieSBtYWNoaW5lLXNldHVwCi0gKi8KLQotc3RydWN0IG12X3NhdGFfcGxhdGZvcm1fZGF0YTsKLQotdm9pZCBvcmlvbjV4X3NhdGFfaW5pdChzdHJ1Y3QgbXZfc2F0YV9wbGF0Zm9ybV9kYXRhICpzYXRhX2RhdGEpOwotCiBzdHJ1Y3QgbWFjaGluZV9kZXNjOwogc3RydWN0IG1lbWluZm87CiBzdHJ1Y3QgdGFnOwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L2RiODhmNTI4MS1zZXR1cC5jIGIvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L2RiODhmNTI4MS1zZXR1cC5jCmluZGV4IDQ0YzY0MzQuLjg4NDA1ZTcgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtb3Jpb241eC9kYjg4ZjUyODEtc2V0dXAuYworKysgYi9hcmNoL2FybS9tYWNoLW9yaW9uNXgvZGI4OGY1MjgxLXNldHVwLmMKQEAgLTI3LDYgKzI3LDcgQEAKICNpbmNsdWRlIDxhc20vYXJjaC9vcmlvbjV4Lmg+CiAjaW5jbHVkZSA8YXNtL3BsYXQtb3Jpb24vb3Jpb25fbmFuZC5oPgogI2luY2x1ZGUgImNvbW1vbi5oIgorI2luY2x1ZGUgIm1wcC5oIgogCiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIERCLTg4RjUyODEgb24gYm9hcmQgZGV2aWNlcwpAQCAtODYsNyArODcsNyBAQAogCS5uYW1lCQk9ICJwaHlzbWFwLWZsYXNoIiwKIAkuaWQJCT0gMCwKIAkuZGV2CQk9IHsKLQkJLnBsYXRmb3JtX2RhdGEgPSAmZGI4OGY1MjgxX2Jvb3RfZmxhc2hfZGF0YSwKKwkJLnBsYXRmb3JtX2RhdGEJPSAmZGI4OGY1MjgxX2Jvb3RfZmxhc2hfZGF0YSwKIAl9LAogCS5udW1fcmVzb3VyY2VzCT0gMSwKIAkucmVzb3VyY2UJPSAmZGI4OGY1MjgxX2Jvb3RfZmxhc2hfcmVzb3VyY2UsCkBAIC0xMTAsNyArMTExLDcgQEAKIAkubmFtZQkJPSAicGh5c21hcC1mbGFzaCIsCiAJLmlkCQk9IDEsCiAJLmRldgkJPSB7Ci0JCS5wbGF0Zm9ybV9kYXRhID0gJmRiODhmNTI4MV9ub3JfZmxhc2hfZGF0YSwKKwkJLnBsYXRmb3JtX2RhdGEJPSAmZGI4OGY1MjgxX25vcl9mbGFzaF9kYXRhLAogCX0sCiAJLm51bV9yZXNvdXJjZXMJPSAxLAogCS5yZXNvdXJjZQk9ICZkYjg4ZjUyODFfbm9yX2ZsYXNoX3Jlc291cmNlLApAQCAtMTI1LDE4ICsxMjYsMTUgQEAKIAkJLm5hbWUgPSAia2VybmVsIiwKIAkJLm9mZnNldCA9IDAsCiAJCS5zaXplID0gU1pfMk0sCi0JfSwKLQl7CisJfSwgewogCQkubmFtZSA9ICJyb290IiwKIAkJLm9mZnNldCA9IFNaXzJNLAogCQkuc2l6ZSA9IChTWl8xNk0gLSBTWl8yTSksCi0JfSwKLQl7CisJfSwgewogCQkubmFtZSA9ICJ1c2VyIiwKIAkJLm9mZnNldCA9IFNaXzE2TSwKIAkJLnNpemUgPSBTWl84TSwKLQl9LAotCXsKKwl9LCB7CiAJCS5uYW1lID0gInJlY292ZXJ5IiwKIAkJLm9mZnNldCA9IChTWl8xNk0gKyBTWl84TSksCiAJCS5zaXplID0gU1pfOE0sCkBAIC0yODgsNyArMjg2LDYgQEAKICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogc3RhdGljIHN0cnVjdCBtdjY0M3h4X2V0aF9wbGF0Zm9ybV9kYXRhIGRiODhmNTI4MV9ldGhfZGF0YSA9IHsKIAkucGh5X2FkZHIJPSA4LAotCS5mb3JjZV9waHlfYWRkciA9IDEsCiB9OwogCiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKQEAgLTMwMSwxMSArMjk4LDI4IEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIEdlbmVyYWwgU2V0dXAKICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwotCi1zdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSAqZGI4OGY1MjgxX2RldnNbXSBfX2luaXRkYXRhID0gewotCSZkYjg4ZjUyODFfYm9vdF9mbGFzaCwKLQkmZGI4OGY1MjgxX25vcl9mbGFzaCwKLQkmZGI4OGY1MjgxX25hbmRfZmxhc2gsCitzdGF0aWMgc3RydWN0IG9yaW9uNXhfbXBwX21vZGUgZGI4OGY1MjgxX21wcF9tb2Rlc1tdIF9faW5pdGRhdGEgPSB7CisJeyAgMCwgTVBQX0dQSU8gfSwJCS8qIFVTQiBPdmVyIEN1cnJlbnQgKi8KKwl7ICAxLCBNUFBfR1BJTyB9LAkJLyogVVNCIFZiYXQgaW5wdXQgKi8KKwl7ICAyLCBNUFBfUENJX0FSQiB9LAkJLyogUENJX1JFUW5bMl0gKi8KKwl7ICAzLCBNUFBfUENJX0FSQiB9LAkJLyogUENJX0dOVG5bMl0gKi8KKwl7ICA0LCBNUFBfUENJX0FSQiB9LAkJLyogUENJX1JFUW5bM10gKi8KKwl7ICA1LCBNUFBfUENJX0FSQiB9LAkJLyogUENJX0dOVG5bM10gKi8KKwl7ICA2LCBNUFBfR1BJTyB9LAkJLyogSlAwLCBDT04xNy4yICovCisJeyAgNywgTVBQX0dQSU8gfSwJCS8qIEpQMSwgQ09OMTcuMSAqLworCXsgIDgsIE1QUF9HUElPIH0sCQkvKiBKUDIsIENPTjExLjIgKi8KKwl7ICA5LCBNUFBfR1BJTyB9LAkJLyogSlAzLCBDT04xMS4zICovCisJeyAxMCwgTVBQX0dQSU8gfSwJCS8qIFJUQyBpbnQgKi8KKwl7IDExLCBNUFBfR1BJTyB9LAkJLyogQmF1ZCBSYXRlIEdlbmVyYXRvciAqLworCXsgMTIsIE1QUF9HUElPIH0sCQkvKiBQQ0kgaW50IDEgKi8KKwl7IDEzLCBNUFBfR1BJTyB9LAkJLyogUENJIGludCAyICovCisJeyAxNCwgTVBQX05BTkQgfSwJCS8qIE5BTkRfUkVuWzJdICovCisJeyAxNSwgTVBQX05BTkQgfSwJCS8qIE5BTkRfV0VuWzJdICovCisJeyAxNiwgTVBQX1VBUlQgfSwJCS8qIFVBUlQxX1JYICovCisJeyAxNywgTVBQX1VBUlQgfSwJCS8qIFVBUlQxX1RYICovCisJeyAxOCwgTVBQX1VBUlQgfSwJCS8qIFVBUlQxX0NUU24gKi8KKwl7IDE5LCBNUFBfVUFSVCB9LAkJLyogVUFSVDFfUlRTbiAqLworCXsgLTEgfSwKIH07CiAKIHN0YXRpYyB2b2lkIF9faW5pdCBkYjg4ZjUyODFfaW5pdCh2b2lkKQpAQCAtMzE1LDM5ICszMjksMzEgQEAKIAkgKi8KIAlvcmlvbjV4X2luaXQoKTsKIAorCW9yaW9uNXhfbXBwX2NvbmYoZGI4OGY1MjgxX21wcF9tb2Rlcyk7CisJd3JpdGVsKDAsIE1QUF9ERVZfQ1RSTCk7CQkvKiBERVZfRFszMToxNl0gKi8KKwogCS8qCi0JICogU2V0dXAgdGhlIENQVSBhZGRyZXNzIGRlY29kZSB3aW5kb3dzIGZvciBvdXIgb24tYm9hcmQgZGV2aWNlcworCSAqIENvbmZpZ3VyZSBwZXJpcGhlcmFscy4KIAkgKi8KKwlvcmlvbjV4X2VoY2kwX2luaXQoKTsKKwlvcmlvbjV4X2V0aF9pbml0KCZkYjg4ZjUyODFfZXRoX2RhdGEpOworCW9yaW9uNXhfaTJjX2luaXQoKTsKKwlvcmlvbjV4X3VhcnQwX2luaXQoKTsKKwlvcmlvbjV4X3VhcnQxX2luaXQoKTsKKwogCW9yaW9uNXhfc2V0dXBfZGV2X2Jvb3Rfd2luKERCODhGNTI4MV9OT1JfQk9PVF9CQVNFLAogCQkJCURCODhGNTI4MV9OT1JfQk9PVF9TSVpFKTsKKwlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJmRiODhmNTI4MV9ib290X2ZsYXNoKTsKKwogCW9yaW9uNXhfc2V0dXBfZGV2MF93aW4oREI4OEY1MjgxXzdTRUdfQkFTRSwgREI4OEY1MjgxXzdTRUdfU0laRSk7CisKIAlvcmlvbjV4X3NldHVwX2RldjFfd2luKERCODhGNTI4MV9OT1JfQkFTRSwgREI4OEY1MjgxX05PUl9TSVpFKTsKKwlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJmRiODhmNTI4MV9ub3JfZmxhc2gpOworCiAJb3Jpb241eF9zZXR1cF9kZXYyX3dpbihEQjg4RjUyODFfTkFORF9CQVNFLCBEQjg4RjUyODFfTkFORF9TSVpFKTsKKwlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJmRiODhmNTI4MV9uYW5kX2ZsYXNoKTsKIAotCS8qCi0JICogU2V0dXAgTXVsdGlwbGV4aW5nIFBpbnM6Ci0JICogTVBQMDogR1BJTyAoVVNCIE92ZXIgQ3VycmVudCkJTVBQMTogR1BJTyAoVVNCIFZiYXQgaW5wdXQpCi0JICogTVBQMjogUENJX1JFUW5bMl0JCQlNUFAzOiBQQ0lfR05UblsyXQotCSAqIE1QUDQ6IFBDSV9SRVFuWzNdCQkJTVBQNTogUENJX0dOVG5bM10KLQkgKiBNUFA2OiBHUElPIChKUDAsIENPTjE3LjIpCQlNUFA3OiBHUElPIChKUDEsIENPTjE3LjEpCi0JICogTVBQODogR1BJTyAoSlAyLCBDT04xMS4yKQkJTVBQOTogR1BJTyAoSlAzLCBDT04xMS4zKQotCSAqIE1QUDEwOiBHUElPIChSVEMgaW50KQkJTVBQMTE6IEdQSU8gKEJhdWQgUmF0ZSBHZW5lcmF0b3IpCi0JICogTVBQMTI6IEdQSU8gKFBDSSBpbnQgMSkJCU1QUDEzOiBHUElPIChQQ0kgaW50IDIpCi0JICogTVBQMTQ6IE5BTkRfUkVuWzJdCQkJTVBQMTU6IE5BTkRfV0VuWzJdCi0JICogTVBQMTY6IFVBUlQxX1JYCQkJTVBQMTc6IFVBUlQxX1RYCi0JICogTVBQMTg6IFVBUlQxX0NUUwkJCU1QUDE5OiBVQVJUMV9SVFMKLQkgKiBNUFAtREVWOiBERVZfRFsxNjozMV0KLQkgKi8KLQlvcmlvbjV4X3dyaXRlKE1QUF8wXzdfQ1RSTCwgMHgwMDIyMjIwMyk7Ci0Jb3Jpb241eF93cml0ZShNUFBfOF8xNV9DVFJMLCAweDQ0MDAwMDAwKTsKLQlvcmlvbjV4X3dyaXRlKE1QUF8xNl8xOV9DVFJMLCAwKTsKLQlvcmlvbjV4X3dyaXRlKE1QUF9ERVZfQ1RSTCwgMCk7Ci0KLQlvcmlvbjV4X2dwaW9fc2V0X3ZhbGlkX3BpbnMoMHgwMDAwM2ZjMyk7Ci0KLQlwbGF0Zm9ybV9hZGRfZGV2aWNlcyhkYjg4ZjUyODFfZGV2cywgQVJSQVlfU0laRShkYjg4ZjUyODFfZGV2cykpOwogCWkyY19yZWdpc3Rlcl9ib2FyZF9pbmZvKDAsICZkYjg4ZjUyODFfaTJjX3J0YywgMSk7Ci0Jb3Jpb241eF9ldGhfaW5pdCgmZGI4OGY1MjgxX2V0aF9kYXRhKTsKIH0KIAogTUFDSElORV9TVEFSVChEQjg4RjUyODEsICJNYXJ2ZWxsIE9yaW9uLTIgRGV2ZWxvcG1lbnQgQm9hcmQiKQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L2RuczMyMy1zZXR1cC5jIGIvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L2RuczMyMy1zZXR1cC5jCmluZGV4IDI3Y2U5NjcuLjM3OTFjYTYgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtb3Jpb241eC9kbnMzMjMtc2V0dXAuYworKysgYi9hcmNoL2FybS9tYWNoLW9yaW9uNXgvZG5zMzIzLXNldHVwLmMKQEAgLTI3LDYgKzI3LDcgQEAKICNpbmNsdWRlIDxhc20vbWFjaC9wY2kuaD4KICNpbmNsdWRlIDxhc20vYXJjaC9vcmlvbjV4Lmg+CiAjaW5jbHVkZSAiY29tbW9uLmgiCisjaW5jbHVkZSAibXBwLmgiCiAKICNkZWZpbmUgRE5TMzIzX0dQSU9fTEVEX1JJR0hUX0FNQkVSCTEKICNkZWZpbmUgRE5TMzIzX0dQSU9fTEVEX0xFRlRfQU1CRVIJMgpAQCAtNTIsOCArNTMsNiBAQAogCWlmIChpcnEgIT0gLTEpCiAJCXJldHVybiBpcnE7CiAKLQlwcl9lcnIoIiVzOiByZXF1ZXN0ZWQgbWFwcGluZyBmb3IgdW5rbm93biBkZXZpY2VcbiIsIF9fZnVuY19fKTsKLQogCXJldHVybiAtMTsKIH0KIApAQCAtODEsNyArODAsNiBAQAogCiBzdGF0aWMgc3RydWN0IG12NjQzeHhfZXRoX3BsYXRmb3JtX2RhdGEgZG5zMzIzX2V0aF9kYXRhID0gewogCS5waHlfYWRkciA9IDgsCi0JLmZvcmNlX3BoeV9hZGRyID0gMSwKIH07CiAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCkBAIC0xMTksNyArMTE3LDcgQEAKIAkJLm5hbWUJPSAidS1ib290IiwKIAkJLnNpemUJPSAweDAwMDMwMDAwLAogCQkub2Zmc2V0CT0gMHgwMDdkMDAwMCwKLQl9CisJfSwKIH07CiAKIHN0YXRpYyBzdHJ1Y3QgcGh5c21hcF9mbGFzaF9kYXRhIGRuczMyM19ub3JfZmxhc2hfZGF0YSA9IHsKQEAgLTEzNyw3ICsxMzUsOSBAQAogc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgZG5zMzIzX25vcl9mbGFzaCA9IHsKIAkubmFtZQkJPSAicGh5c21hcC1mbGFzaCIsCiAJLmlkCQk9IDAsCi0JLmRldgkJPSB7IC5wbGF0Zm9ybV9kYXRhID0gJmRuczMyM19ub3JfZmxhc2hfZGF0YSwgfSwKKwkuZGV2CQk9IHsKKwkJLnBsYXRmb3JtX2RhdGEJPSAmZG5zMzIzX25vcl9mbGFzaF9kYXRhLAorCX0sCiAJLnJlc291cmNlCT0gJmRuczMyM19ub3JfZmxhc2hfcmVzb3VyY2UsCiAJLm51bV9yZXNvdXJjZXMJPSAxLAogfTsKQEAgLTE3MCw3ICsxNzAsOSBAQAogc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgZG5zMzIzX2dwaW9fbGVkcyA9IHsKIAkubmFtZQkJPSAibGVkcy1ncGlvIiwKIAkuaWQJCT0gLTEsCi0JLmRldgkJPSB7IC5wbGF0Zm9ybV9kYXRhID0gJmRuczMyM19sZWRfZGF0YSwgfSwKKwkuZGV2CQk9IHsKKwkJLnBsYXRmb3JtX2RhdGEJPSAmZG5zMzIzX2xlZF9kYXRhLAorCX0sCiB9OwogCiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgpAQCAtMTgzLDM1ICsxODUsNTMgQEAKIAkJLmdwaW8JCT0gRE5TMzIzX0dQSU9fS0VZX1JFU0VULAogCQkuZGVzYwkJPSAiUmVzZXQgQnV0dG9uIiwKIAkJLmFjdGl2ZV9sb3cJPSAxLAotCX0sCi0JeworCX0sIHsKIAkJLmNvZGUJCT0gS0VZX1BPV0VSLAogCQkuZ3BpbwkJPSBETlMzMjNfR1BJT19LRVlfUE9XRVIsCiAJCS5kZXNjCQk9ICJQb3dlciBCdXR0b24iLAogCQkuYWN0aXZlX2xvdwk9IDEsCi0JfQorCX0sCiB9OwogCiBzdGF0aWMgc3RydWN0IGdwaW9fa2V5c19wbGF0Zm9ybV9kYXRhIGRuczMyM19idXR0b25fZGF0YSA9IHsKIAkuYnV0dG9ucwk9IGRuczMyM19idXR0b25zLAotCS5uYnV0dG9ucyAgICAgICA9IEFSUkFZX1NJWkUoZG5zMzIzX2J1dHRvbnMpLAorCS5uYnV0dG9ucwk9IEFSUkFZX1NJWkUoZG5zMzIzX2J1dHRvbnMpLAogfTsKIAogc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgZG5zMzIzX2J1dHRvbl9kZXZpY2UgPSB7CiAJLm5hbWUJCT0gImdwaW8ta2V5cyIsCiAJLmlkCQk9IC0xLAogCS5udW1fcmVzb3VyY2VzCT0gMCwKLQkuZGV2CQk9IHsgLnBsYXRmb3JtX2RhdGEgID0gJmRuczMyM19idXR0b25fZGF0YSwgfSwKKwkuZGV2CQk9IHsKKwkJLnBsYXRmb3JtX2RhdGEJPSAmZG5zMzIzX2J1dHRvbl9kYXRhLAorCX0sCiB9OwogCiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogR2VuZXJhbCBTZXR1cAogICovCi0KLXN0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpkbnMzMjNfcGxhdF9kZXZpY2VzW10gX19pbml0ZGF0YSA9IHsKLQkmZG5zMzIzX25vcl9mbGFzaCwKLQkmZG5zMzIzX2dwaW9fbGVkcywKLQkmZG5zMzIzX2J1dHRvbl9kZXZpY2UsCitzdGF0aWMgc3RydWN0IG9yaW9uNXhfbXBwX21vZGUgZG5zMzIzX21wcF9tb2Rlc1tdIF9faW5pdGRhdGEgPSB7CisJeyAgMCwgTVBQX1BDSUVfUlNUX09VVG4gfSwKKwl7ICAxLCBNUFBfR1BJTyB9LAkJLyogcmlnaHQgYW1iZXIgTEVEIChzYXRhIGNoMCkgKi8KKwl7ICAyLCBNUFBfR1BJTyB9LAkJLyogbGVmdCBhbWJlciBMRUQgKHNhdGEgY2gxKSAqLworCXsgIDMsIE1QUF9VTlVTRUQgfSwKKwl7ICA0LCBNUFBfR1BJTyB9LAkJLyogcG93ZXIgYnV0dG9uIExFRCAqLworCXsgIDUsIE1QUF9HUElPIH0sCQkvKiBwb3dlciBidXR0b24gTEVEICovCisJeyAgNiwgTVBQX0dQSU8gfSwJCS8qIEdNVCBHNzUxLTJmIG92ZXJ0ZW1wICovCisJeyAgNywgTVBQX0dQSU8gfSwJCS8qIE00MVQ4MCBuSVJRL09VVC9TUVcgKi8KKwl7ICA4LCBNUFBfR1BJTyB9LAkJLyogdHJpZ2dlcnMgcG93ZXIgb2ZmICovCisJeyAgOSwgTVBQX0dQSU8gfSwJCS8qIHBvd2VyIGJ1dHRvbiBzd2l0Y2ggKi8KKwl7IDEwLCBNUFBfR1BJTyB9LAkJLyogcmVzZXQgYnV0dG9uIHN3aXRjaCAqLworCXsgMTEsIE1QUF9VTlVTRUQgfSwKKwl7IDEyLCBNUFBfVU5VU0VEIH0sCisJeyAxMywgTVBQX1VOVVNFRCB9LAorCXsgMTQsIE1QUF9VTlVTRUQgfSwKKwl7IDE1LCBNUFBfVU5VU0VEIH0sCisJeyAxNiwgTVBQX1VOVVNFRCB9LAorCXsgMTcsIE1QUF9VTlVTRUQgfSwKKwl7IDE4LCBNUFBfVU5VU0VEIH0sCisJeyAxOSwgTVBQX1VOVVNFRCB9LAorCXsgLTEgfSwKIH07CiAKIC8qCkBAIC0yMjUsMTcgKzI0NSwxNSBAQAogc3RhdGljIHN0cnVjdCBpMmNfYm9hcmRfaW5mbyBfX2luaXRkYXRhIGRuczMyM19pMmNfZGV2aWNlc1tdID0gewogCXsKIAkJSTJDX0JPQVJEX0lORk8oImc3NjBhIiwgMHgzZSksCi0JfSwKICNpZiAwCiAJLyogdGhpcyBlbnRyeSByZXF1aXJlcyB0aGUgbmV3LXN0eWxlIGRyaXZlciBtb2RlbCBsbTc1IGRyaXZlciwKIAkgKiBmb3IgdGhlIG1lYW50aW1lICJpbnNtb2QgbG03NS5rbyBmb3JjZV9sbTc1PTAsMHg0OCIgaXMgbmVlZGVkICovCi0JeworCX0sIHsKIAkJSTJDX0JPQVJEX0lORk8oImc3NTEiLCAweDQ4KSwKLQl9LAogI2VuZGlmCi0JeworCX0sIHsKIAkJSTJDX0JPQVJEX0lORk8oIm00MXQ4MCIsIDB4NjgpLAotCX0KKwl9LAogfTsKIAogLyogRE5TLTMyMyBzcGVjaWZpYyBwb3dlciBvZmYgbWV0aG9kICovCkBAIC0yNTAsNjIgKzI2OCwzNSBAQAogCS8qIFNldHVwIGJhc2ljIE9yaW9uIGZ1bmN0aW9ucy4gTmVlZCB0byBiZSBjYWxsZWQgZWFybHkuICovCiAJb3Jpb241eF9pbml0KCk7CiAKKwlvcmlvbjV4X21wcF9jb25mKGRuczMyM19tcHBfbW9kZXMpOworCXdyaXRlbCgwLCBNUFBfREVWX0NUUkwpOwkJLyogREVWX0RbMzE6MTZdICovCisKKwkvKgorCSAqIENvbmZpZ3VyZSBwZXJpcGhlcmFscy4KKwkgKi8KKwlvcmlvbjV4X2VoY2kwX2luaXQoKTsKKwlvcmlvbjV4X2V0aF9pbml0KCZkbnMzMjNfZXRoX2RhdGEpOworCW9yaW9uNXhfaTJjX2luaXQoKTsKKwlvcmlvbjV4X3VhcnQwX2luaXQoKTsKKwogCS8qIHNldHVwIGZsYXNoIG1hcHBpbmcKIAkgKiBDUzMgaG9sZHMgYSA4IE1CIFNwYW5zaW9uIFMyOUdMMDY0TTkwVEZJUjQKIAkgKi8KIAlvcmlvbjV4X3NldHVwX2Rldl9ib290X3dpbihETlMzMjNfTk9SX0JPT1RfQkFTRSwgRE5TMzIzX05PUl9CT09UX1NJWkUpOworCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmZG5zMzIzX25vcl9mbGFzaCk7CiAKLQkvKiBETlMtMzIzIGhhcyBhIE1hcnZlbGwgODhYNzA0MiBTQVRBIGNvbnRyb2xsZXIgYXR0YWNoZWQgdmlhIFBDSWUKLQkgKgotCSAqIE9wZW4gYSBzcGVjaWFsIGFkZHJlc3MgZGVjb2RlIHdpbmRvd3MgZm9yIHRoZSBQQ0llIFdBLgotCSAqLwotCW9yaW9uNXhfc2V0dXBfcGNpZV93YV93aW4oT1JJT041WF9QQ0lFX1dBX1BIWVNfQkFTRSwKLQkJCQlPUklPTjVYX1BDSUVfV0FfU0laRSk7CisJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZkbnMzMjNfZ3Bpb19sZWRzKTsKIAotCS8qIHNldCBNUFAgdG8gMCBhcyBELUxpbmsncyAyLjYuMTIuNiBrZXJuZWwgZGlkICovCi0Jb3Jpb241eF93cml0ZShNUFBfMF83X0NUUkwsIDApOwotCW9yaW9uNXhfd3JpdGUoTVBQXzhfMTVfQ1RSTCwgMCk7Ci0Jb3Jpb241eF93cml0ZShNUFBfMTZfMTlfQ1RSTCwgMCk7Ci0Jb3Jpb241eF93cml0ZShNUFBfREVWX0NUUkwsIDApOwotCi0JLyogRGVmaW5lIHVzZWQgR1BJTyBwaW5zCi0KLQkgIEdQSU8gTWFwOgotCi0JICB8ICAwIHwgICAgIHwgUEVYX1JTVF9PVVQgKG5vdCBjb250cm9sbGVkIGJ5IEdQSU8pCi0JICB8ICAxIHwgT3V0IHwgcmlnaHQgYW1iZXIgTEVEICg9IHNhdGEgY2gwIExFRCkgIChsb3ctYWN0aXZlKQotCSAgfCAgMiB8IE91dCB8IGxlZnQgIGFtYmVyIExFRCAoPSBzYXRhIGNoMSBMRUQpICAobG93LWFjdGl2ZSkKLQkgIHwgIDMgfCBPdXQgfCAvL3Vua25vd24vLwotCSAgfCAgNCB8IE91dCB8IHBvd2VyIGJ1dHRvbiBMRUQgKGxvdy1hY3RpdmUsIHRvZ2V0aGVyIHdpdGggcGluICM1KQotCSAgfCAgNSB8IE91dCB8IHBvd2VyIGJ1dHRvbiBMRUQgKGxvdy1hY3RpdmUsIHRvZ2V0aGVyIHdpdGggcGluICM0KQotCSAgfCAgNiB8IEluICB8IEdNVCBHNzUxLTJmIG92ZXJ0ZW1wLiBzaHV0ZG93biBzaWduYWwgKGxvdy1hY3RpdmUpCi0JICB8ICA3IHwgSW4gIHwgTTQxVDgwIG5JUlEvT1VUL1NRVyBzaWduYWwKLQkgIHwgIDggfCBPdXQgfCB0cmlnZ2VycyBwb3dlciBvZmYgKGhpZ2gtYWN0aXZlKQotCSAgfCAgOSB8IEluICB8IHBvd2VyIGJ1dHRvbiBzd2l0Y2ggKGxvdy1hY3RpdmUpCi0JICB8IDEwIHwgSW4gIHwgcmVzZXQgYnV0dG9uIHN3aXRjaCAobG93LWFjdGl2ZSkKLQkgIHwgMTEgfCBPdXQgfCAvL3Vua25vd24vLwotCSAgfCAxMiB8IE91dCB8IC8vdW5rbm93bi8vCi0JICB8IDEzIHwgT3V0IHwgLy91bmtub3duLy8KLQkgIHwgMTQgfCBPdXQgfCAvL3Vua25vd24vLwotCSAgfCAxNSB8IE91dCB8IC8vdW5rbm93bi8vCi0JKi8KLQlvcmlvbjV4X2dwaW9fc2V0X3ZhbGlkX3BpbnMoMHgwN2Y2KTsKLQotCS8qIHJlZ2lzdGVyIGRuczMyMyBzcGVjaWZpYyBwb3dlci1vZmYgbWV0aG9kICovCi0JaWYgKChncGlvX3JlcXVlc3QoRE5TMzIzX0dQSU9fUE9XRVJfT0ZGLCAiUE9XRVJPRkYiKSAhPSAwKQotCSAgICB8fCAoZ3Bpb19kaXJlY3Rpb25fb3V0cHV0KEROUzMyM19HUElPX1BPV0VSX09GRiwgMCkgIT0gMCkpCi0JCXByX2VycigiRE5TMzIzOiBmYWlsZWQgdG8gc2V0dXAgcG93ZXItb2ZmIEdQSU9cbiIpOwotCi0JcG1fcG93ZXJfb2ZmID0gZG5zMzIzX3Bvd2VyX29mZjsKLQotCS8qIHJlZ2lzdGVyIGZsYXNoIGFuZCBvdGhlciBwbGF0Zm9ybSBkZXZpY2VzICovCi0JcGxhdGZvcm1fYWRkX2RldmljZXMoZG5zMzIzX3BsYXRfZGV2aWNlcywKLQkJCSAgICAgQVJSQVlfU0laRShkbnMzMjNfcGxhdF9kZXZpY2VzKSk7CisJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZkbnMzMjNfYnV0dG9uX2RldmljZSk7CiAKIAlpMmNfcmVnaXN0ZXJfYm9hcmRfaW5mbygwLCBkbnMzMjNfaTJjX2RldmljZXMsCiAJCQkJQVJSQVlfU0laRShkbnMzMjNfaTJjX2RldmljZXMpKTsKIAotCW9yaW9uNXhfZXRoX2luaXQoJmRuczMyM19ldGhfZGF0YSk7CisJLyogcmVnaXN0ZXIgZG5zMzIzIHNwZWNpZmljIHBvd2VyLW9mZiBtZXRob2QgKi8KKwlpZiAoZ3Bpb19yZXF1ZXN0KEROUzMyM19HUElPX1BPV0VSX09GRiwgIlBPV0VST0ZGIikgIT0gMCB8fAorCSAgICBncGlvX2RpcmVjdGlvbl9vdXRwdXQoRE5TMzIzX0dQSU9fUE9XRVJfT0ZGLCAwKSAhPSAwKQorCQlwcl9lcnIoIkROUzMyMzogZmFpbGVkIHRvIHNldHVwIHBvd2VyLW9mZiBHUElPXG4iKTsKKwlwbV9wb3dlcl9vZmYgPSBkbnMzMjNfcG93ZXJfb2ZmOwogfQogCiAvKiBXYXJuaW5nOiBELUxpbmsgdXNlcyBhIHdyb25nIG1hY2gtdHlwZSAoPTUyNikgaW4gdGhlaXIgYm9vdGxvYWRlciAqLwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L2dwaW8uYyBiL2FyY2gvYXJtL21hY2gtb3Jpb241eC9ncGlvLmMKaW5kZXggODEwOGMzMS4uZDA5Nzk3OSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L2dwaW8uYworKysgYi9hcmNoL2FybS9tYWNoLW9yaW9uNXgvZ3Bpby5jCkBAIC0yNCw5ICsyNCwxMiBAQAogc3RhdGljIHVuc2lnbmVkIGxvbmcgZ3Bpb192YWxpZFtCSVRTX1RPX0xPTkdTKEdQSU9fTUFYKV07CiBzdGF0aWMgY29uc3QgY2hhciAqZ3Bpb19sYWJlbFtHUElPX01BWF07ICAvKiBub24gbnVsbCBmb3IgYWxsb2NhdGVkIEdQSU9zICovCiAKLXZvaWQgX19pbml0IG9yaW9uNXhfZ3Bpb19zZXRfdmFsaWRfcGlucyh1MzIgcGlucykKK3ZvaWQgX19pbml0IG9yaW9uNXhfZ3Bpb19zZXRfdmFsaWQodW5zaWduZWQgcGluLCBpbnQgdmFsaWQpCiB7Ci0JZ3Bpb192YWxpZFswXSA9IHBpbnM7CisJaWYgKHZhbGlkKQorCQlfX3NldF9iaXQocGluLCBncGlvX3ZhbGlkKTsKKwllbHNlCisJCV9fY2xlYXJfYml0KHBpbiwgZ3Bpb192YWxpZCk7CiB9CiAKIC8qCkBAIC05MywxMCArOTYsMTAgQEAKIHsKIAlpbnQgdmFsLCBtYXNrID0gMSA8PCBwaW47CiAKLQlpZiAob3Jpb241eF9yZWFkKEdQSU9fSU9fQ09ORikgJiBtYXNrKQotCQl2YWwgPSBvcmlvbjV4X3JlYWQoR1BJT19EQVRBX0lOKSBeIG9yaW9uNXhfcmVhZChHUElPX0lOX1BPTCk7CisJaWYgKHJlYWRsKEdQSU9fSU9fQ09ORikgJiBtYXNrKQorCQl2YWwgPSByZWFkbChHUElPX0RBVEFfSU4pIF4gcmVhZGwoR1BJT19JTl9QT0wpOwogCWVsc2UKLQkJdmFsID0gb3Jpb241eF9yZWFkKEdQSU9fT1VUKTsKKwkJdmFsID0gcmVhZGwoR1BJT19PVVQpOwogCiAJcmV0dXJuIHZhbCAmIG1hc2s7CiB9CkBAIC0xODgsMzkgKzE5MSwzOSBAQAogCQkJcHJpbnRrKCJHUElPLCBmcmVlXG4iKTsKIAkJfSBlbHNlIHsKIAkJCXByaW50aygiR1BJTywgdXNlZCBieSAlcywgIiwgZ3Bpb19sYWJlbFtpXSk7Ci0JCQlpZiAob3Jpb241eF9yZWFkKEdQSU9fSU9fQ09ORikgJiAoMSA8PCBpKSkgeworCQkJaWYgKHJlYWRsKEdQSU9fSU9fQ09ORikgJiAoMSA8PCBpKSkgewogCQkJCXByaW50aygiaW5wdXQsIGFjdGl2ZSAlcywgbGV2ZWwgJXMsIGVkZ2UgJXNcbiIsCi0JCQkJKChvcmlvbjV4X3JlYWQoR1BJT19JTl9QT0wpID4+IGkpICYgMSkgPyAibG93IiA6ICJoaWdoIiwKLQkJCQkoKG9yaW9uNXhfcmVhZChHUElPX0xFVkVMX01BU0spID4+IGkpICYgMSkgPyAiZW5hYmxlZCIgOiAibWFza2VkIiwKLQkJCQkoKG9yaW9uNXhfcmVhZChHUElPX0VER0VfTUFTSykgPj4gaSkgJiAxKSA/ICJlbmFibGVkIiA6ICJtYXNrZWQiKTsKKwkJCQkoKHJlYWRsKEdQSU9fSU5fUE9MKSA+PiBpKSAmIDEpID8gImxvdyIgOiAiaGlnaCIsCisJCQkJKChyZWFkbChHUElPX0xFVkVMX01BU0spID4+IGkpICYgMSkgPyAiZW5hYmxlZCIgOiAibWFza2VkIiwKKwkJCQkoKHJlYWRsKEdQSU9fRURHRV9NQVNLKSA+PiBpKSAmIDEpID8gImVuYWJsZWQiIDogIm1hc2tlZCIpOwogCQkJfSBlbHNlIHsKLQkJCQlwcmludGsoIm91dHB1dCwgdmFsPSVkXG4iLCAob3Jpb241eF9yZWFkKEdQSU9fT1VUKSA+PiBpKSAmIDEpOworCQkJCXByaW50aygib3V0cHV0LCB2YWw9JWRcbiIsIChyZWFkbChHUElPX09VVCkgPj4gaSkgJiAxKTsKIAkJCX0KIAkJfQogCX0KIAogCXByaW50ayhLRVJOX0RFQlVHICJNUFBfMF83X0NUUkwgKDB4JTA4eCkgPSAweCUwOHhcbiIsCi0JCQkJTVBQXzBfN19DVFJMLCBvcmlvbjV4X3JlYWQoTVBQXzBfN19DVFJMKSk7CisJCQkJTVBQXzBfN19DVFJMLCByZWFkbChNUFBfMF83X0NUUkwpKTsKIAlwcmludGsoS0VSTl9ERUJVRyAiTVBQXzhfMTVfQ1RSTCAoMHglMDh4KSA9IDB4JTA4eFxuIiwKLQkJCQlNUFBfOF8xNV9DVFJMLCBvcmlvbjV4X3JlYWQoTVBQXzhfMTVfQ1RSTCkpOworCQkJCU1QUF84XzE1X0NUUkwsIHJlYWRsKE1QUF84XzE1X0NUUkwpKTsKIAlwcmludGsoS0VSTl9ERUJVRyAiTVBQXzE2XzE5X0NUUkwgKDB4JTA4eCkgPSAweCUwOHhcbiIsCi0JCQkJTVBQXzE2XzE5X0NUUkwsIG9yaW9uNXhfcmVhZChNUFBfMTZfMTlfQ1RSTCkpOworCQkJCU1QUF8xNl8xOV9DVFJMLCByZWFkbChNUFBfMTZfMTlfQ1RSTCkpOwogCXByaW50ayhLRVJOX0RFQlVHICJNUFBfREVWX0NUUkwgKDB4JTA4eCkgPSAweCUwOHhcbiIsCi0JCQkJTVBQX0RFVl9DVFJMLCBvcmlvbjV4X3JlYWQoTVBQX0RFVl9DVFJMKSk7CisJCQkJTVBQX0RFVl9DVFJMLCByZWFkbChNUFBfREVWX0NUUkwpKTsKIAlwcmludGsoS0VSTl9ERUJVRyAiR1BJT19PVVQgKDB4JTA4eCkgPSAweCUwOHhcbiIsCi0JCQkJR1BJT19PVVQsIG9yaW9uNXhfcmVhZChHUElPX09VVCkpOworCQkJCUdQSU9fT1VULCByZWFkbChHUElPX09VVCkpOwogCXByaW50ayhLRVJOX0RFQlVHICJHUElPX0lPX0NPTkYgKDB4JTA4eCkgPSAweCUwOHhcbiIsCi0JCQkJR1BJT19JT19DT05GLCBvcmlvbjV4X3JlYWQoR1BJT19JT19DT05GKSk7CisJCQkJR1BJT19JT19DT05GLCByZWFkbChHUElPX0lPX0NPTkYpKTsKIAlwcmludGsoS0VSTl9ERUJVRyAiR1BJT19CTElOS19FTiAoMHglMDh4KSA9IDB4JTA4eFxuIiwKLQkJCQlHUElPX0JMSU5LX0VOLCBvcmlvbjV4X3JlYWQoR1BJT19CTElOS19FTikpOworCQkJCUdQSU9fQkxJTktfRU4sIHJlYWRsKEdQSU9fQkxJTktfRU4pKTsKIAlwcmludGsoS0VSTl9ERUJVRyAiR1BJT19JTl9QT0wgKDB4JTA4eCkgPSAweCUwOHhcbiIsCi0JCQkJR1BJT19JTl9QT0wsIG9yaW9uNXhfcmVhZChHUElPX0lOX1BPTCkpOworCQkJCUdQSU9fSU5fUE9MLCByZWFkbChHUElPX0lOX1BPTCkpOwogCXByaW50ayhLRVJOX0RFQlVHICJHUElPX0RBVEFfSU4gKDB4JTA4eCkgPSAweCUwOHhcbiIsCi0JCQkJR1BJT19EQVRBX0lOLCBvcmlvbjV4X3JlYWQoR1BJT19EQVRBX0lOKSk7CisJCQkJR1BJT19EQVRBX0lOLCByZWFkbChHUElPX0RBVEFfSU4pKTsKIAlwcmludGsoS0VSTl9ERUJVRyAiR1BJT19MRVZFTF9NQVNLICgweCUwOHgpID0gMHglMDh4XG4iLAotCQkJCUdQSU9fTEVWRUxfTUFTSywgb3Jpb241eF9yZWFkKEdQSU9fTEVWRUxfTUFTSykpOworCQkJCUdQSU9fTEVWRUxfTUFTSywgcmVhZGwoR1BJT19MRVZFTF9NQVNLKSk7CiAJcHJpbnRrKEtFUk5fREVCVUcgIkdQSU9fRURHRV9DQVVTRSAoMHglMDh4KSA9IDB4JTA4eFxuIiwKLQkJCQlHUElPX0VER0VfQ0FVU0UsIG9yaW9uNXhfcmVhZChHUElPX0VER0VfQ0FVU0UpKTsKKwkJCQlHUElPX0VER0VfQ0FVU0UsIHJlYWRsKEdQSU9fRURHRV9DQVVTRSkpOwogCXByaW50ayhLRVJOX0RFQlVHICJHUElPX0VER0VfTUFTSyAoMHglMDh4KSA9IDB4JTA4eFxuIiwKLQkJCQlHUElPX0VER0VfTUFTSywgb3Jpb241eF9yZWFkKEdQSU9fRURHRV9NQVNLKSk7CisJCQkJR1BJT19FREdFX01BU0ssIHJlYWRsKEdQSU9fRURHRV9NQVNLKSk7CiB9CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW9yaW9uNXgvaXJxLmMgYi9hcmNoL2FybS9tYWNoLW9yaW9uNXgvaXJxLmMKaW5kZXggZGQyMWYzOC4uZTJhMDA4NCAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L2lycS5jCisrKyBiL2FyY2gvYXJtL21hY2gtb3Jpb241eC9pcnEuYwpAQCAtODIsNyArODIsNyBAQAogCWludCBwaW4gPSBpcnFfdG9fZ3BpbyhpcnEpOwogCXN0cnVjdCBpcnFfZGVzYyAqZGVzYzsKIAotCWlmICgob3Jpb241eF9yZWFkKEdQSU9fSU9fQ09ORikgJiAoMSA8PCBwaW4pKSA9PSAwKSB7CisJaWYgKChyZWFkbChHUElPX0lPX0NPTkYpICYgKDEgPDwgcGluKSkgPT0gMCkgewogCQlwcmludGsoS0VSTl9FUlIgIm9yaW9uNXhfZ3Bpb19zZXRfaXJxX3R5cGUgZmFpbGVkICIKIAkJCQkiKGlycSAlZCwgcGluICVkKS5cbiIsIGlycSwgcGluKTsKIAkJcmV0dXJuIC1FSU5WQUw7CkBAIC0xMTcsNyArMTE3LDcgQEAKIAkJLyoKIAkJICogc2V0IGluaXRpYWwgcG9sYXJpdHkgYmFzZWQgb24gY3VycmVudCBpbnB1dCBsZXZlbAogCQkgKi8KLQkJaWYgKChvcmlvbjV4X3JlYWQoR1BJT19JTl9QT0wpIF4gb3Jpb241eF9yZWFkKEdQSU9fREFUQV9JTikpCisJCWlmICgocmVhZGwoR1BJT19JTl9QT0wpIF4gcmVhZGwoR1BJT19EQVRBX0lOKSkKIAkJICAgICYgKDEgPDwgcGluKSkKIAkJCW9yaW9uNXhfc2V0Yml0cyhHUElPX0lOX1BPTCwgKDEgPDwgcGluKSk7IC8qIGZhbGxpbmcgKi8KIAkJZWxzZQpAQCAtMTQ5LDggKzE0OSw4IEBACiAKIAlCVUdfT04oaXJxIDwgSVJRX09SSU9ONVhfR1BJT18wXzcgfHwgaXJxID4gSVJRX09SSU9ONVhfR1BJT18yNF8zMSk7CiAJb2ZmcyA9IChpcnEgLSBJUlFfT1JJT041WF9HUElPXzBfNykgKiA4OwotCWNhdXNlID0gKG9yaW9uNXhfcmVhZChHUElPX0RBVEFfSU4pICYgb3Jpb241eF9yZWFkKEdQSU9fTEVWRUxfTUFTSykpIHwKLQkJKG9yaW9uNXhfcmVhZChHUElPX0VER0VfQ0FVU0UpICYgb3Jpb241eF9yZWFkKEdQSU9fRURHRV9NQVNLKSk7CisJY2F1c2UgPSAocmVhZGwoR1BJT19EQVRBX0lOKSAmIHJlYWRsKEdQSU9fTEVWRUxfTUFTSykpIHwKKwkJKHJlYWRsKEdQSU9fRURHRV9DQVVTRSkgJiByZWFkbChHUElPX0VER0VfTUFTSykpOwogCiAJZm9yIChwaW4gPSBvZmZzOyBwaW4gPCBvZmZzICsgODsgcGluKyspIHsKIAkJaWYgKGNhdXNlICYgKDEgPDwgcGluKSkgewpAQCAtMTU4LDkgKzE1OCw5IEBACiAJCQlkZXNjID0gaXJxX2Rlc2MgKyBpcnE7CiAJCQlpZiAoKGRlc2MtPnN0YXR1cyAmIElSUV9UWVBFX1NFTlNFX01BU0spID09IElSUVRfQk9USEVER0UpIHsKIAkJCQkvKiBTd2FwIHBvbGFyaXR5IChyYWNlIHdpdGggR1BJTyBsaW5lKSAqLwotCQkJCXUzMiBwb2xhcml0eSA9IG9yaW9uNXhfcmVhZChHUElPX0lOX1BPTCk7CisJCQkJdTMyIHBvbGFyaXR5ID0gcmVhZGwoR1BJT19JTl9QT0wpOwogCQkJCXBvbGFyaXR5IF49IDEgPDwgcGluOwotCQkJCW9yaW9uNXhfd3JpdGUoR1BJT19JTl9QT0wsIHBvbGFyaXR5KTsKKwkJCQl3cml0ZWwocG9sYXJpdHksIEdQSU9fSU5fUE9MKTsKIAkJCX0KIAkJCWRlc2NfaGFuZGxlX2lycShpcnEsIGRlc2MpOwogCQl9CkBAIC0xNzUsOSArMTc1LDkgQEAKIAkvKgogCSAqIE1hc2sgYW5kIGNsZWFyIEdQSU8gSVJRIGludGVycnVwdHMKIAkgKi8KLQlvcmlvbjV4X3dyaXRlKEdQSU9fTEVWRUxfTUFTSywgMHgwKTsKLQlvcmlvbjV4X3dyaXRlKEdQSU9fRURHRV9NQVNLLCAweDApOwotCW9yaW9uNXhfd3JpdGUoR1BJT19FREdFX0NBVVNFLCAweDApOworCXdyaXRlbCgweDAsIEdQSU9fTEVWRUxfTUFTSyk7CisJd3JpdGVsKDB4MCwgR1BJT19FREdFX01BU0spOworCXdyaXRlbCgweDAsIEdQSU9fRURHRV9DQVVTRSk7CiAKIAkvKgogCSAqIFJlZ2lzdGVyIGNoYWluZWQgbGV2ZWwgaGFuZGxlcnMgZm9yIEdQSU8gSVJRcyBieSBkZWZhdWx0LgpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L2t1cm9ib3hfcHJvLXNldHVwLmMgYi9hcmNoL2FybS9tYWNoLW9yaW9uNXgva3Vyb2JveF9wcm8tc2V0dXAuYwppbmRleCBmNTA3NGI4Li44NGZlYWM0IDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLW9yaW9uNXgva3Vyb2JveF9wcm8tc2V0dXAuYworKysgYi9hcmNoL2FybS9tYWNoLW9yaW9uNXgva3Vyb2JveF9wcm8tc2V0dXAuYwpAQCAtMTMsMTAgKzEzLDEyIEBACiAjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CiAjaW5jbHVkZSA8bGludXgvcGNpLmg+CiAjaW5jbHVkZSA8bGludXgvaXJxLmg+CisjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KICNpbmNsdWRlIDxsaW51eC9tdGQvcGh5c21hcC5oPgogI2luY2x1ZGUgPGxpbnV4L210ZC9uYW5kLmg+CiAjaW5jbHVkZSA8bGludXgvbXY2NDN4eF9ldGguaD4KICNpbmNsdWRlIDxsaW51eC9pMmMuaD4KKyNpbmNsdWRlIDxsaW51eC9zZXJpYWxfcmVnLmg+CiAjaW5jbHVkZSA8bGludXgvYXRhX3BsYXRmb3JtLmg+CiAjaW5jbHVkZSA8YXNtL21hY2gtdHlwZXMuaD4KICNpbmNsdWRlIDxhc20vZ3Bpby5oPgpAQCAtMjUsNiArMjcsNyBAQAogI2luY2x1ZGUgPGFzbS9hcmNoL29yaW9uNXguaD4KICNpbmNsdWRlIDxhc20vcGxhdC1vcmlvbi9vcmlvbl9uYW5kLmg+CiAjaW5jbHVkZSAiY29tbW9uLmgiCisjaW5jbHVkZSAibXBwLmgiCiAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogS1VST0JPWC1QUk8gSW5mbwpAQCAtNTMsMTMgKzU2LDExIEBACiAJCS5uYW1lCT0gInVJbWFnZSIsCiAJCS5vZmZzZXQJPSAwLAogCQkuc2l6ZQk9IFNaXzRNLAotCX0sCi0JeworCX0sIHsKIAkJLm5hbWUJPSAicm9vdGZzIiwKIAkJLm9mZnNldAk9IFNaXzRNLAogCQkuc2l6ZQk9IFNaXzY0TSwKLQl9LAotCXsKKwl9LCB7CiAJCS5uYW1lCT0gImV4dHJhIiwKIAkJLm9mZnNldAk9IFNaXzRNICsgU1pfNjRNLAogCQkuc2l6ZQk9IFNaXzI1Nk0gLSAoU1pfNE0gKyBTWl82NE0pLApAQCAtMTMyLDggKzEzMyw2IEBACiAJLyoKIAkgKiBQQ0kgaXNuJ3QgdXNlZCBvbiB0aGUgS3VybwogCSAqLwotCXByaW50ayhLRVJOX0VSUiAia3Vyb2JveF9wcm9fcGNpX21hcF9pcnEgZmFpbGVkLCB1bmtub3duIGJ1c1xuIik7Ci0KIAlyZXR1cm4gLTE7CiB9CiAKQEAgLTE2MSw3ICsxNjAsNiBAQAogCiBzdGF0aWMgc3RydWN0IG12NjQzeHhfZXRoX3BsYXRmb3JtX2RhdGEga3Vyb2JveF9wcm9fZXRoX2RhdGEgPSB7CiAJLnBoeV9hZGRyCT0gOCwKLQkuZm9yY2VfcGh5X2FkZHIgPSAxLAogfTsKIAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCkBAIC0xNzUsMTIgKzE3MywxNjkgQEAKICAqIFNBVEEKICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogc3RhdGljIHN0cnVjdCBtdl9zYXRhX3BsYXRmb3JtX2RhdGEga3Vyb2JveF9wcm9fc2F0YV9kYXRhID0gewotCS5uX3BvcnRzICAgICAgICA9IDIsCisJLm5fcG9ydHMJPSAyLAogfTsKIAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBLdXJvYm94IFBybyBzcGVjaWZpYyBwb3dlciBvZmYgbWV0aG9kIHZpYSBVQVJUMS1hdHRhY2hlZCBtaWNyb2NvbnRyb2xsZXIKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjZGVmaW5lIFVBUlQxX1JFRyh4KQkoVUFSVDFfVklSVF9CQVNFICsgKChVQVJUXyMjeCkgPDwgMikpCisKK3N0YXRpYyBpbnQga3Vyb2JveF9wcm9fbWljb25yZWFkKHVuc2lnbmVkIGNoYXIgKmJ1ZiwgaW50IGNvdW50KQoreworCWludCBpOworCWludCB0aW1lb3V0OworCisJZm9yIChpID0gMDsgaSA8IGNvdW50OyBpKyspIHsKKwkJdGltZW91dCA9IDEwOworCisJCXdoaWxlICghKHJlYWRsKFVBUlQxX1JFRyhMU1IpKSAmIFVBUlRfTFNSX0RSKSkgeworCQkJaWYgKC0tdGltZW91dCA9PSAwKQorCQkJCWJyZWFrOworCQkJdWRlbGF5KDEwMDApOworCQl9CisKKwkJaWYgKHRpbWVvdXQgPT0gMCkKKwkJCWJyZWFrOworCQlidWZbaV0gPSByZWFkbChVQVJUMV9SRUcoUlgpKTsKKwl9CisKKwkvKiByZXR1cm4gcmVhZCBieXRlcyAqLworCXJldHVybiBpOworfQorCitzdGF0aWMgaW50IGt1cm9ib3hfcHJvX21pY29ud3JpdGUoY29uc3QgdW5zaWduZWQgY2hhciAqYnVmLCBpbnQgY291bnQpCit7CisJaW50IGkgPSAwOworCisJd2hpbGUgKGNvdW50LS0pIHsKKwkJd2hpbGUgKCEocmVhZGwoVUFSVDFfUkVHKExTUikpICYgVUFSVF9MU1JfVEhSRSkpCisJCQliYXJyaWVyKCk7CisJCXdyaXRlbChidWZbaSsrXSwgVUFSVDFfUkVHKFRYKSk7CisJfQorCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQga3Vyb2JveF9wcm9fbWljb25zZW5kKGNvbnN0IHVuc2lnbmVkIGNoYXIgKmRhdGEsIGludCBjb3VudCkKK3sKKwlpbnQgaTsKKwl1bnNpZ25lZCBjaGFyIGNoZWNrc3VtID0gMDsKKwl1bnNpZ25lZCBjaGFyIHJlY3ZfYnVmWzQwXTsKKwl1bnNpZ25lZCBjaGFyIHNlbmRfYnVmWzQwXTsKKwl1bnNpZ25lZCBjaGFyIGNvcnJlY3RfYWNrWzNdOworCWludCByZXRyeSA9IDI7CisKKwkvKiBHZW5lcmF0ZSBjaGVja3N1bSAqLworCWZvciAoaSA9IDA7IGkgPCBjb3VudDsgaSsrKQorCQljaGVja3N1bSAtPSAgZGF0YVtpXTsKKworCWRvIHsKKwkJLyogU2VuZCBkYXRhICovCisJCWt1cm9ib3hfcHJvX21pY29ud3JpdGUoZGF0YSwgY291bnQpOworCisJCS8qIHNlbmQgY2hlY2tzdW0gKi8KKwkJa3Vyb2JveF9wcm9fbWljb253cml0ZSgmY2hlY2tzdW0sIDEpOworCisJCWlmIChrdXJvYm94X3Byb19taWNvbnJlYWQocmVjdl9idWYsIHNpemVvZihyZWN2X2J1ZikpIDw9IDMpIHsKKwkJCXByaW50ayhLRVJOX0VSUiAiPiVzOiByZWNlaXZlIGZhaWxlZC5cbiIsIF9fZnVuY19fKTsKKworCQkJLyogc2VuZCBwcmVhbWJsZSB0byBjbGVhciB0aGUgcmVjZWl2ZSBidWZmZXIgKi8KKwkJCW1lbXNldCgmc2VuZF9idWYsIDB4ZmYsIHNpemVvZihzZW5kX2J1ZikpOworCQkJa3Vyb2JveF9wcm9fbWljb253cml0ZShzZW5kX2J1Ziwgc2l6ZW9mKHNlbmRfYnVmKSk7CisKKwkJCS8qIG1ha2UgZHVtbXkgcmVhZHMgKi8KKwkJCW1kZWxheSgxMDApOworCQkJa3Vyb2JveF9wcm9fbWljb25yZWFkKHJlY3ZfYnVmLCBzaXplb2YocmVjdl9idWYpKTsKKwkJfSBlbHNlIHsKKwkJCS8qIEdlbmVyYXRlIGV4cGVjdGVkIGFjayAqLworCQkJY29ycmVjdF9hY2tbMF0gPSAweDAxOworCQkJY29ycmVjdF9hY2tbMV0gPSBkYXRhWzFdOworCQkJY29ycmVjdF9hY2tbMl0gPSAweDAwOworCisJCQkvKiBjaGVja3N1bSBDaGVjayAqLworCQkJaWYgKChyZWN2X2J1ZlswXSArIHJlY3ZfYnVmWzFdICsgcmVjdl9idWZbMl0gKworCQkJICAgICByZWN2X2J1ZlszXSkgJiAweEZGKSB7CisJCQkJcHJpbnRrKEtFUk5fRVJSICI+JXM6IENoZWNrc3VtIEVycm9yIDogIgorCQkJCQkiUmVjZWl2ZWQgZGF0YVslMDJ4LCAlMDJ4LCAlMDJ4LCAlMDJ4XSIKKwkJCQkJIlxuIiwgX19mdW5jX18sIHJlY3ZfYnVmWzBdLAorCQkJCQlyZWN2X2J1ZlsxXSwgcmVjdl9idWZbMl0sIHJlY3ZfYnVmWzNdKTsKKwkJCX0gZWxzZSB7CisJCQkJLyogQ2hlY2sgUmVjZWl2ZWQgRGF0YSAqLworCQkJCWlmIChjb3JyZWN0X2Fja1swXSA9PSByZWN2X2J1ZlswXSAmJgorCQkJCSAgICBjb3JyZWN0X2Fja1sxXSA9PSByZWN2X2J1ZlsxXSAmJgorCQkJCSAgICBjb3JyZWN0X2Fja1syXSA9PSByZWN2X2J1ZlsyXSkgeworCQkJCQkvKiBJbnRlcnZhbCBmb3IgbmV4dCBjb21tYW5kICovCisJCQkJCW1kZWxheSgxMCk7CisKKwkJCQkJLyogUmVjZWl2ZSBBQ0sgKi8KKwkJCQkJcmV0dXJuIDA7CisJCQkJfQorCQkJfQorCQkJLyogUmVjZWl2ZWQgTkFLIG9yIGlsbGVnYWwgRGF0YSAqLworCQkJcHJpbnRrKEtFUk5fRVJSICI+JXM6IEVycm9yIDogTkFLIG9yIElsbGVnYWwgRGF0YSAiCisJCQkJCSJSZWNlaXZlZFxuIiwgX19mdW5jX18pOworCQl9CisJfSB3aGlsZSAocmV0cnktLSk7CisKKwkvKiBJbnRlcnZhbCBmb3IgbmV4dCBjb21tYW5kICovCisJbWRlbGF5KDEwKTsKKworCXJldHVybiAtMTsKK30KKworc3RhdGljIHZvaWQga3Vyb2JveF9wcm9fcG93ZXJfb2ZmKHZvaWQpCit7CisJY29uc3QgdW5zaWduZWQgY2hhciB3YXRjaGRvZ2tpbGxbXQk9IHsweDAxLCAweDM1LCAweDAwfTsKKwljb25zdCB1bnNpZ25lZCBjaGFyIHNodXRkb3dud2FpdFtdCT0gezB4MDAsIDB4MGN9OworCWNvbnN0IHVuc2lnbmVkIGNoYXIgcG93ZXJvZmZbXQkJPSB7MHgwMCwgMHgwNn07CisJLyogMzg0MDAgYmF1ZCBkaXZpc29yICovCisJY29uc3QgdW5zaWduZWQgZGl2aXNvciA9ICgoT1JJT041WF9UQ0xLICsgKDggKiAzODQwMCkpIC8gKDE2ICogMzg0MDApKTsKKworCXByX2luZm8oIiVzOiB0cmlnZ2VyaW5nIHBvd2VyLW9mZi4uLlxuIiwgX19mdW5jX18pOworCisJLyogaGlqYWNrIHVhcnQxIGFuZCByZXNldCBpbnRvIHNhbmUgc3RhdGUgKDM4NDAwLDhuMSxldmVuIHBhcml0eSkgKi8KKwl3cml0ZWwoMHg4MywgVUFSVDFfUkVHKExDUikpOworCXdyaXRlbChkaXZpc29yICYgMHhmZiwgVUFSVDFfUkVHKERMTCkpOworCXdyaXRlbCgoZGl2aXNvciA+PiA4KSAmIDB4ZmYsIFVBUlQxX1JFRyhETE0pKTsKKwl3cml0ZWwoMHgxYiwgVUFSVDFfUkVHKExDUikpOworCXdyaXRlbCgweDAwLCBVQVJUMV9SRUcoSUVSKSk7CisJd3JpdGVsKDB4MDcsIFVBUlQxX1JFRyhGQ1IpKTsKKwl3cml0ZWwoMHgwMCwgVUFSVDFfUkVHKE1DUikpOworCisJLyogU2VuZCB0aGUgY29tbWFuZHMgdG8gc2h1dGRvd24gdGhlIEt1cm9ib3ggUHJvICovCisJa3Vyb2JveF9wcm9fbWljb25zZW5kKHdhdGNoZG9na2lsbCwgc2l6ZW9mKHdhdGNoZG9na2lsbCkpIDsKKwlrdXJvYm94X3Byb19taWNvbnNlbmQoc2h1dGRvd253YWl0LCBzaXplb2Yoc2h1dGRvd253YWl0KSkgOworCWt1cm9ib3hfcHJvX21pY29uc2VuZChwb3dlcm9mZiwgc2l6ZW9mKHBvd2Vyb2ZmKSk7Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogR2VuZXJhbCBTZXR1cAogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitzdGF0aWMgc3RydWN0IG9yaW9uNXhfbXBwX21vZGUga3Vyb2JveF9wcm9fbXBwX21vZGVzW10gX19pbml0ZGF0YSA9IHsKKwl7ICAwLCBNUFBfVU5VU0VEIH0sCisJeyAgMSwgTVBQX1VOVVNFRCB9LAorCXsgIDIsIE1QUF9HUElPIH0sCQkvKiBHUElPIE1pY29uICovCisJeyAgMywgTVBQX0dQSU8gfSwJCS8qIEdQSU8gUnRjICovCisJeyAgNCwgTVBQX1VOVVNFRCB9LAorCXsgIDUsIE1QUF9VTlVTRUQgfSwKKwl7ICA2LCBNUFBfTkFORCB9LAkJLyogTkFORCBGbGFzaCBSRW4gKi8KKwl7ICA3LCBNUFBfTkFORCB9LAkJLyogTkFORCBGbGFzaCBXRW4gKi8KKwl7ICA4LCBNUFBfVU5VU0VEIH0sCisJeyAgOSwgTVBQX1VOVVNFRCB9LAorCXsgMTAsIE1QUF9VTlVTRUQgfSwKKwl7IDExLCBNUFBfVU5VU0VEIH0sCisJeyAxMiwgTVBQX1NBVEFfTEVEIH0sCQkvKiBTQVRBIDAgcHJlc2VuY2UgKi8KKwl7IDEzLCBNUFBfU0FUQV9MRUQgfSwJCS8qIFNBVEEgMSBwcmVzZW5jZSAqLworCXsgMTQsIE1QUF9TQVRBX0xFRCB9LAkJLyogU0FUQSAwIGFjdGl2ZSAqLworCXsgMTUsIE1QUF9TQVRBX0xFRCB9LAkJLyogU0FUQSAxIGFjdGl2ZSAqLworCXsgMTYsIE1QUF9VQVJUIH0sCQkvKiBVQVJUMSBSWEQgKi8KKwl7IDE3LCBNUFBfVUFSVCB9LAkJLyogVUFSVDEgVFhEICovCisJeyAxOCwgTVBQX1VBUlQgfSwJCS8qIFVBUlQxIENUU24gKi8KKwl7IDE5LCBNUFBfVUFSVCB9LAkJLyogVUFSVDEgUlRTbiAqLworCXsgLTEgfSwKK307CiAKIHN0YXRpYyB2b2lkIF9faW5pdCBrdXJvYm94X3Byb19pbml0KHZvaWQpCiB7CkBAIC0xODksNDYgKzM0NCwzMyBAQAogCSAqLwogCW9yaW9uNXhfaW5pdCgpOwogCi0JLyoKLQkgKiBTZXR1cCB0aGUgQ1BVIGFkZHJlc3MgZGVjb2RlIHdpbmRvd3MgZm9yIG91ciBkZXZpY2VzCi0JICovCi0Jb3Jpb241eF9zZXR1cF9kZXZfYm9vdF93aW4oS1VST0JPWF9QUk9fTk9SX0JPT1RfQkFTRSwKLQkJCQlLVVJPQk9YX1BST19OT1JfQk9PVF9TSVpFKTsKLQlvcmlvbjV4X3NldHVwX2RldjBfd2luKEtVUk9CT1hfUFJPX05BTkRfQkFTRSwgS1VST0JPWF9QUk9fTkFORF9TSVpFKTsKKwlvcmlvbjV4X21wcF9jb25mKGt1cm9ib3hfcHJvX21wcF9tb2Rlcyk7CiAKIAkvKgotCSAqIE9wZW4gYSBzcGVjaWFsIGFkZHJlc3MgZGVjb2RlIHdpbmRvd3MgZm9yIHRoZSBQQ0llIFdBLgorCSAqIENvbmZpZ3VyZSBwZXJpcGhlcmFscy4KIAkgKi8KLQlvcmlvbjV4X3NldHVwX3BjaWVfd2Ffd2luKE9SSU9ONVhfUENJRV9XQV9QSFlTX0JBU0UsCi0JCQkJT1JJT041WF9QQ0lFX1dBX1NJWkUpOwotCi0JLyoKLQkgKiBTZXR1cCBNdWx0aXBsZXhpbmcgUGlucyAtLQotCSAqIE1QUFswLTFdIE5vdCB1c2VkCi0JICogTVBQWzJdIEdQSU8gTWljb24KLQkgKiBNUFBbM10gR1BJTyBSVEMKLQkgKiBNUFBbNC01XSBOb3QgdXNlZAotCSAqIE1QUFs2XSBOYW5kIEZsYXNoIFJFbgotCSAqIE1QUFs3XSBOYW5kIEZsYXNoIFdFbgotCSAqIE1QUFs4LTExXSBOb3QgdXNlZAotCSAqIE1QUFsxMl0gU0FUQSAwIHByZXNlbmNlIEluZGljYXRpb24KLQkgKiBNUFBbMTNdIFNBVEEgMSBwcmVzZW5jZSBJbmRpY2F0aW9uCi0JICogTVBQWzE0XSBTQVRBIDAgYWN0aXZlIEluZGljYXRpb24KLQkgKiBNUFBbMTVdIFNBVEEgMSBhY3RpdmUgaW5kaWNhdGlvbgotCSAqIE1QUFsxNi0xOV0gTm90IHVzZWQKLQkgKi8KLQlvcmlvbjV4X3dyaXRlKE1QUF8wXzdfQ1RSTCwgMHg0NDIyMDAwMyk7Ci0Jb3Jpb241eF93cml0ZShNUFBfOF8xNV9DVFJMLCAweDU1NTUwMDAwKTsKLQlvcmlvbjV4X3dyaXRlKE1QUF8xNl8xOV9DVFJMLCAweDApOwotCi0Jb3Jpb241eF9ncGlvX3NldF92YWxpZF9waW5zKDB4MDAwMDAwMGMpOwotCi0JcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZrdXJvYm94X3Byb19ub3JfZmxhc2gpOwotCWlmIChtYWNoaW5lX2lzX2t1cm9ib3hfcHJvKCkpCi0JCXBsYXRmb3JtX2RldmljZV9yZWdpc3Rlcigma3Vyb2JveF9wcm9fbmFuZF9mbGFzaCk7Ci0JaTJjX3JlZ2lzdGVyX2JvYXJkX2luZm8oMCwgJmt1cm9ib3hfcHJvX2kyY19ydGMsIDEpOworCW9yaW9uNXhfZWhjaTBfaW5pdCgpOworCW9yaW9uNXhfZWhjaTFfaW5pdCgpOwogCW9yaW9uNXhfZXRoX2luaXQoJmt1cm9ib3hfcHJvX2V0aF9kYXRhKTsKKwlvcmlvbjV4X2kyY19pbml0KCk7CiAJb3Jpb241eF9zYXRhX2luaXQoJmt1cm9ib3hfcHJvX3NhdGFfZGF0YSk7CisJb3Jpb241eF91YXJ0MF9pbml0KCk7CisJb3Jpb241eF91YXJ0MV9pbml0KCk7CisKKwlvcmlvbjV4X3NldHVwX2Rldl9ib290X3dpbihLVVJPQk9YX1BST19OT1JfQk9PVF9CQVNFLAorCQkJCSAgIEtVUk9CT1hfUFJPX05PUl9CT09UX1NJWkUpOworCXBsYXRmb3JtX2RldmljZV9yZWdpc3Rlcigma3Vyb2JveF9wcm9fbm9yX2ZsYXNoKTsKKworCWlmIChtYWNoaW5lX2lzX2t1cm9ib3hfcHJvKCkpIHsKKwkJb3Jpb241eF9zZXR1cF9kZXYwX3dpbihLVVJPQk9YX1BST19OQU5EX0JBU0UsCisJCQkJICAgICAgIEtVUk9CT1hfUFJPX05BTkRfU0laRSk7CisJCXBsYXRmb3JtX2RldmljZV9yZWdpc3Rlcigma3Vyb2JveF9wcm9fbmFuZF9mbGFzaCk7CisJfQorCisJaTJjX3JlZ2lzdGVyX2JvYXJkX2luZm8oMCwgJmt1cm9ib3hfcHJvX2kyY19ydGMsIDEpOworCisJLyogcmVnaXN0ZXIgS3Vyb2JveCBQcm8gc3BlY2lmaWMgcG93ZXItb2ZmIG1ldGhvZCAqLworCXBtX3Bvd2VyX29mZiA9IGt1cm9ib3hfcHJvX3Bvd2VyX29mZjsKIH0KIAogI2lmZGVmIENPTkZJR19NQUNIX0tVUk9CT1hfUFJPCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW9yaW9uNXgvbXBwLmMgYi9hcmNoL2FybS9tYWNoLW9yaW9uNXgvbXBwLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTQ4Y2FkYgotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gtb3Jpb241eC9tcHAuYwpAQCAtMCwwICsxLDE2MyBAQAorLyoKKyAqIGFyY2gvYXJtL21hY2gtb3Jpb241eC9tcHAuYworICoKKyAqIE1QUCBmdW5jdGlvbnMgZm9yIE1hcnZlbGwgT3Jpb24gNXggU29DcworICoKKyAqIFRoaXMgZmlsZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSB2ZXJzaW9uIDIuICBUaGlzIHByb2dyYW0gaXMgbGljZW5zZWQgImFzIGlzIiB3aXRob3V0IGFueQorICogd2FycmFudHkgb2YgYW55IGtpbmQsIHdoZXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICovCisKKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvbWJ1cy5oPgorI2luY2x1ZGUgPGFzbS9oYXJkd2FyZS5oPgorI2luY2x1ZGUgPGFzbS9pby5oPgorI2luY2x1ZGUgImNvbW1vbi5oIgorI2luY2x1ZGUgIm1wcC5oIgorCitzdGF0aWMgaW50IGlzXzUxODFsKHZvaWQpCit7CisJdTMyIGRldjsKKwl1MzIgcmV2OworCisJb3Jpb241eF9wY2llX2lkKCZkZXYsICZyZXYpOworCisJcmV0dXJuICEhKGRldiA9PSBNVjg4RjUxODFfREVWX0lEICYmIHJldiA+PSBNVjg4RjUxODFMX1JFVl9BMCk7Cit9CisKK3N0YXRpYyBpbnQgaXNfNTE4Mih2b2lkKQoreworCXUzMiBkZXY7CisJdTMyIHJldjsKKworCW9yaW9uNXhfcGNpZV9pZCgmZGV2LCAmcmV2KTsKKworCXJldHVybiAhIShkZXYgPT0gTVY4OEY1MTgyX0RFVl9JRCk7Cit9CisKK3N0YXRpYyBpbnQgaXNfNTI4MSh2b2lkKQoreworCXUzMiBkZXY7CisJdTMyIHJldjsKKworCW9yaW9uNXhfcGNpZV9pZCgmZGV2LCAmcmV2KTsKKworCXJldHVybiAhIShkZXYgPT0gTVY4OEY1MjgxX0RFVl9JRCk7Cit9CisKK3N0YXRpYyBpbnQgX19pbml0IGRldGVybWluZV90eXBlX2VuY29kaW5nKGludCBtcHAsIGVudW0gb3Jpb241eF9tcHBfdHlwZSB0eXBlKQoreworCXN3aXRjaCAodHlwZSkgeworCWNhc2UgTVBQX1VOVVNFRDoKKwljYXNlIE1QUF9HUElPOgorCQlpZiAobXBwID09IDApCisJCQlyZXR1cm4gMzsKKwkJaWYgKG1wcCA+PSAxICYmIG1wcCA8PSAxNSkKKwkJCXJldHVybiAwOworCQlpZiAobXBwID49IDE2ICYmIG1wcCA8PSAxOSkgeworCQkJaWYgKGlzXzUxODIoKSkKKwkJCQlyZXR1cm4gNTsKKwkJCWlmICh0eXBlID09IE1QUF9VTlVTRUQpCisJCQkJcmV0dXJuIDA7CisJCX0KKwkJcmV0dXJuIC0xOworCisJY2FzZSBNUFBfUENJRV9SU1RfT1VUbjoKKwkJaWYgKG1wcCA9PSAwKQorCQkJcmV0dXJuIDA7CisJCXJldHVybiAtMTsKKworCWNhc2UgTVBQX1BDSV9BUkI6CisJCWlmIChtcHAgPj0gMCAmJiBtcHAgPD0gNykKKwkJCXJldHVybiAyOworCQlyZXR1cm4gLTE7CisKKwljYXNlIE1QUF9QQ0lfUE1FbjoKKwkJaWYgKG1wcCA9PSAyKQorCQkJcmV0dXJuIDM7CisJCXJldHVybiAtMTsKKworCWNhc2UgTVBQX0dJR0U6CisJCWlmIChtcHAgPj0gOCAmJiBtcHAgPD0gMTkpCisJCQlyZXR1cm4gMTsKKwkJcmV0dXJuIC0xOworCisJY2FzZSBNUFBfTkFORDoKKwkJaWYgKGlzXzUxODIoKSB8fCBpc181MjgxKCkpIHsKKwkJCWlmIChtcHAgPj0gNCAmJiBtcHAgPD0gNykKKwkJCQlyZXR1cm4gNDsKKwkJCWlmIChtcHAgPj0gMTIgJiYgbXBwIDw9IDE3KQorCQkJCXJldHVybiA0OworCQl9CisJCXJldHVybiAtMTsKKworCWNhc2UgTVBQX1BDSV9DTEs6CisJCWlmIChpc181MTgxbCgpICYmIG1wcCA+PSA2ICYmIG1wcCA8PSA3KQorCQkJcmV0dXJuIDU7CisJCXJldHVybiAtMTsKKworCWNhc2UgTVBQX1NBVEFfTEVEOgorCQlpZiAoaXNfNTE4MigpKSB7CisJCQlpZiAobXBwID49IDQgJiYgbXBwIDw9IDcpCisJCQkJcmV0dXJuIDU7CisJCQlpZiAobXBwID49IDEyICYmIG1wcCA8PSAxNSkKKwkJCQlyZXR1cm4gNTsKKwkJfQorCQlyZXR1cm4gLTE7CisKKwljYXNlIE1QUF9VQVJUOgorCQlpZiAobXBwID49IDE2ICYmIG1wcCA8PSAxOSkKKwkJCXJldHVybiAwOworCQlyZXR1cm4gLTE7CisJfQorCisJcHJpbnRrKEtFUk5fSU5GTyAidW5rbm93biBNUFAgdHlwZSAlZFxuIiwgdHlwZSk7CisKKwlyZXR1cm4gLTE7Cit9CisKK3ZvaWQgX19pbml0IG9yaW9uNXhfbXBwX2NvbmYoc3RydWN0IG9yaW9uNXhfbXBwX21vZGUgKm1vZGUpCit7CisJdTMyIG1wcF8wXzdfY3RybCA9IHJlYWRsKE1QUF8wXzdfQ1RSTCk7CisJdTMyIG1wcF84XzE1X2N0cmwgPSByZWFkbChNUFBfOF8xNV9DVFJMKTsKKwl1MzIgbXBwXzE2XzE5X2N0cmwgPSByZWFkbChNUFBfMTZfMTlfQ1RSTCk7CisKKwl3aGlsZSAobW9kZS0+bXBwID49IDApIHsKKwkJdTMyICpyZWc7CisJCWludCBudW1fdHlwZTsKKwkJaW50IHNoaWZ0OworCisJCWlmIChtb2RlLT5tcHAgPj0gMCAmJiBtb2RlLT5tcHAgPD0gNykKKwkJCXJlZyA9ICZtcHBfMF83X2N0cmw7CisJCWVsc2UgaWYgKG1vZGUtPm1wcCA+PSA4ICYmIG1vZGUtPm1wcCA8PSAxNSkKKwkJCXJlZyA9ICZtcHBfOF8xNV9jdHJsOworCQllbHNlIGlmIChtb2RlLT5tcHAgPj0gMTYgJiYgbW9kZS0+bXBwIDw9IDE5KQorCQkJcmVnID0gJm1wcF8xNl8xOV9jdHJsOworCQllbHNlIHsKKwkJCXByaW50ayhLRVJOX0VSUiAib3Jpb241eF9tcHBfY29uZjogaW52YWxpZCBNUFAgIgorCQkJCQkiKCVkKVxuIiwgbW9kZS0+bXBwKTsKKwkJCWNvbnRpbnVlOworCQl9CisKKwkJbnVtX3R5cGUgPSBkZXRlcm1pbmVfdHlwZV9lbmNvZGluZyhtb2RlLT5tcHAsIG1vZGUtPnR5cGUpOworCQlpZiAobnVtX3R5cGUgPCAwKSB7CisJCQlwcmludGsoS0VSTl9FUlIgIm9yaW9uNXhfbXBwX2NvbmY6IGludmFsaWQgTVBQICIKKwkJCQkJImNvbWJpbmF0aW9uICglZCwgJWQpXG4iLCBtb2RlLT5tcHAsCisJCQkJCW1vZGUtPnR5cGUpOworCQkJY29udGludWU7CisJCX0KKworCQlzaGlmdCA9IChtb2RlLT5tcHAgJiA3KSA8PCAyOworCQkqcmVnICY9IH4oMHhmIDw8IHNoaWZ0KTsKKwkJKnJlZyB8PSAobnVtX3R5cGUgJiAweGYpIDw8IHNoaWZ0OworCisJCW9yaW9uNXhfZ3Bpb19zZXRfdmFsaWQobW9kZS0+bXBwLCAhIShtb2RlLT50eXBlID09IE1QUF9HUElPKSk7CisKKwkJbW9kZSsrOworCX0KKworCXdyaXRlbChtcHBfMF83X2N0cmwsIE1QUF8wXzdfQ1RSTCk7CisJd3JpdGVsKG1wcF84XzE1X2N0cmwsIE1QUF84XzE1X0NUUkwpOworCXdyaXRlbChtcHBfMTZfMTlfY3RybCwgTVBQXzE2XzE5X0NUUkwpOworfQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L21wcC5oIGIvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L21wcC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI5MGU2MTAKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLW9yaW9uNXgvbXBwLmgKQEAgLTAsMCArMSw3NCBAQAorI2lmbmRlZiBfX0FSQ0hfT1JJT041WF9NUFBfSAorI2RlZmluZSBfX0FSQ0hfT1JJT041WF9NUFBfSAorCitlbnVtIG9yaW9uNXhfbXBwX3R5cGUgeworCS8qCisJICogVGhpcyBNUFAgaXMgdW51c2VkLgorCSAqLworCU1QUF9VTlVTRUQsCisKKwkvKgorCSAqIFRoaXMgTVBQIHBpbiBpcyB1c2VkIGFzIGEgZ2VuZXJpYyBHUElPIHBpbi4gIFZhbGlkIGZvcgorCSAqIE1QUHMgMC0xNSBhbmQgZGV2aWNlIGJ1cyBkYXRhIHBpbnMgMTYtMzEuICBPbiA1MTgyLCBhbHNvCisJICogdmFsaWQgZm9yIE1QUHMgMTYtMTkuCisJICovCisJTVBQX0dQSU8sCisKKwkvKgorCSAqIFRoaXMgTVBQIGlzIHVzZWQgYXMgUENJZV9SU1RfT1VUbiBwaW4uICBWYWxpZCBmb3IKKwkgKiBNUFAgMCBvbmx5LgorCSAqLworCU1QUF9QQ0lFX1JTVF9PVVRuLAorCisJLyoKKwkgKiBUaGlzIE1QUCBpcyB1c2VkIGFzIFBDSSBhcmJpdGVyIHBpbiAoUkVRbi9HTlRuKS4KKwkgKiBWYWxpZCBmb3IgTVBQcyAwLTcgb25seS4KKwkgKi8KKwlNUFBfUENJX0FSQiwKKworCS8qCisJICogVGhpcyBNUFAgaXMgdXNlZCBhcyBQQ0lfUE1FbiBwaW4uICBWYWxpZCBmb3IgTVBQIDIgb25seS4KKwkgKi8KKwlNUFBfUENJX1BNRW4sCisKKwkvKgorCSAqIFRoaXMgTVBQIGlzIHVzZWQgYXMgR2lnRSBoYWxmLWR1cGxleCAoQ09MLCBDUlMpIG9yIEdNSUkKKwkgKiAoUlhFUlIsIENSUywgVFhFUlIsIFRYRFs3OjRdLCBSWERbNzo0XSkgcGluLiAgVmFsaWQgZm9yCisJICogTVBQcyA4LTE5IG9ubHkuCisJICovCisJTVBQX0dJR0UsCisKKwkvKgorCSAqIFRoaXMgTVBQIGlzIHVzZWQgYXMgTkFORCBSRW4vV0VuIHBpbi4gIFZhbGlkIGZvciBNUFBzCisJICogNC03IGFuZCAxMi0xNyBvbmx5LCBhbmQgb25seSBvbiB0aGUgNTE4MWwvNTE4Mi81MjgxLgorCSAqLworCU1QUF9OQU5ELAorCisJLyoKKwkgKiBUaGlzIE1QUCBpcyB1c2VkIGFzIGEgUENJIGNsb2NrIG91dHB1dCBwaW4uICBWYWxpZCBmb3IKKwkgKiBNUFBzIDYtNyBvbmx5LCBhbmQgb25seSBvbiB0aGUgNTE4MWwuCisJICovCisJTVBQX1BDSV9DTEssCisKKwkvKgorCSAqIFRoaXMgTVBQIGlzIHVzZWQgYXMgYSBTQVRBIHByZXNlbmNlL2FjdGl2aXR5IExFRC4KKwkgKiBWYWxpZCBmb3IgTVBQcyA0LTcgYW5kIDEyLTE1IG9ubHksIGFuZCBvbmx5IG9uIHRoZSA1MTgyLgorCSAqLworCU1QUF9TQVRBX0xFRCwKKworCS8qCisJICogVGhpcyBNUFAgaXMgdXNlZCBhcyBVQVJUMSBSWEQvVFhEL0NUU24vUlRTbiBwaW4uCisJICogVmFsaWQgZm9yIE1QUHMgMTYtMTkgb25seS4KKwkgKi8KKwlNUFBfVUFSVCwKK307CisKK3N0cnVjdCBvcmlvbjV4X21wcF9tb2RlIHsKKwlpbnQJCQltcHA7CisJZW51bSBvcmlvbjV4X21wcF90eXBlCXR5cGU7Cit9OworCit2b2lkIG9yaW9uNXhfbXBwX2NvbmYoc3RydWN0IG9yaW9uNXhfbXBwX21vZGUgKm1vZGUpOworCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L21zczItc2V0dXAuYyBiL2FyY2gvYXJtL21hY2gtb3Jpb241eC9tc3MyLXNldHVwLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2NlOWU0MAotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gtb3Jpb241eC9tc3MyLXNldHVwLmMKQEAgLTAsMCArMSwyNzAgQEAKKy8qCisgKiBNYXh0b3IgU2hhcmVkIFN0b3JhZ2UgSUkgQm9hcmQgU2V0dXAKKyAqCisgKiBNYWludGFpbmVyOiBTeWx2ZXIgQnJ1bmVhdSA8c3lsdmVyLmJydW5lYXVAZ29vZ2xlbWFpbC5jb20+CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbgorICogMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqLworCisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L3BjaS5oPgorI2luY2x1ZGUgPGxpbnV4L2lycS5oPgorI2luY2x1ZGUgPGxpbnV4L210ZC9waHlzbWFwLmg+CisjaW5jbHVkZSA8bGludXgvbXY2NDN4eF9ldGguaD4KKyNpbmNsdWRlIDxsaW51eC9sZWRzLmg+CisjaW5jbHVkZSA8bGludXgvZ3Bpb19rZXlzLmg+CisjaW5jbHVkZSA8bGludXgvaW5wdXQuaD4KKyNpbmNsdWRlIDxsaW51eC9pMmMuaD4KKyNpbmNsdWRlIDxsaW51eC9hdGFfcGxhdGZvcm0uaD4KKyNpbmNsdWRlIDxsaW51eC9ncGlvLmg+CisjaW5jbHVkZSA8YXNtL21hY2gtdHlwZXMuaD4KKyNpbmNsdWRlIDxhc20vbWFjaC9hcmNoLmg+CisjaW5jbHVkZSA8YXNtL21hY2gvcGNpLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvb3Jpb241eC5oPgorI2luY2x1ZGUgImNvbW1vbi5oIgorI2luY2x1ZGUgIm1wcC5oIgorCisjZGVmaW5lIE1TUzJfTk9SX0JPT1RfQkFTRQkweGZmODAwMDAwCisjZGVmaW5lIE1TUzJfTk9SX0JPT1RfU0laRQlTWl8yNTZLCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogTWF4dG9yIFNoYXJlZCBTdG9yYWdlIElJIEluZm8KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKgorICogTWF4dG9yIFNoYXJlZCBTdG9yYWdlIElJIGhhcmR3YXJlIDoKKyAqIC0gTWFydmVsbCA4OEY1MTgyLUEyIEM1MDAKKyAqIC0gTWFydmVsbCA4OEUxMTExIEdpZ2FiaXQgRXRoZXJuZXQgUEhZCisgKiAtIFJUQyBNNDFUODEgKEAweDY4KSBvbiBJMkMgYnVzCisgKiAtIDI1NktCIE5PUiBmbGFzaAorICogLSA2NE1CIG9mIFJBTQorICovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogMjU2S0IgTk9SIEZsYXNoIG9uIEJPT1QgRGV2aWNlCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworc3RhdGljIHN0cnVjdCBwaHlzbWFwX2ZsYXNoX2RhdGEgbXNzMl9ub3JfZmxhc2hfZGF0YSA9IHsKKwkud2lkdGgJCT0gMSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgbXNzMl9ub3JfZmxhc2hfcmVzb3VyY2UgPSB7CisJLmZsYWdzCQk9IElPUkVTT1VSQ0VfTUVNLAorCS5zdGFydAkJPSBNU1MyX05PUl9CT09UX0JBU0UsCisJLmVuZAkJPSBNU1MyX05PUl9CT09UX0JBU0UgKyBNU1MyX05PUl9CT09UX1NJWkUgLSAxLAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgbXNzMl9ub3JfZmxhc2ggPSB7CisJLm5hbWUJCT0gInBoeXNtYXAtZmxhc2giLAorCS5pZAkJPSAwLAorCS5kZXYJCT0geworCQkucGxhdGZvcm1fZGF0YQk9ICZtc3MyX25vcl9mbGFzaF9kYXRhLAorCX0sCisJLnJlc291cmNlCT0gJm1zczJfbm9yX2ZsYXNoX3Jlc291cmNlLAorCS5udW1fcmVzb3VyY2VzCT0gMSwKK307CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBQQ0kgc2V0dXAKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworc3RhdGljIGludCBfX2luaXQgbXNzMl9wY2lfbWFwX2lycShzdHJ1Y3QgcGNpX2RldiAqZGV2LCB1OCBzbG90LCB1OCBwaW4pCit7CisJaW50IGlycTsKKworCS8qCisJICogQ2hlY2sgZm9yIGRldmljZXMgd2l0aCBoYXJkLXdpcmVkIElSUXMuCisJICovCisJaXJxID0gb3Jpb241eF9wY2lfbWFwX2lycShkZXYsIHNsb3QsIHBpbik7CisJaWYgKGlycSAhPSAtMSkKKwkJcmV0dXJuIGlycTsKKworCXJldHVybiAtMTsKK30KKworc3RhdGljIHN0cnVjdCBod19wY2kgbXNzMl9wY2kgX19pbml0ZGF0YSA9IHsKKwkubnJfY29udHJvbGxlcnMgPSAyLAorCS5zd2l6emxlCT0gcGNpX3N0ZF9zd2l6emxlLAorCS5zZXR1cAkJPSBvcmlvbjV4X3BjaV9zeXNfc2V0dXAsCisJLnNjYW4JCT0gb3Jpb241eF9wY2lfc3lzX3NjYW5fYnVzLAorCS5tYXBfaXJxCT0gbXNzMl9wY2lfbWFwX2lycSwKK307CisKK3N0YXRpYyBpbnQgX19pbml0IG1zczJfcGNpX2luaXQodm9pZCkKK3sKKwlpZiAobWFjaGluZV9pc19tc3MyKCkpCisJCXBjaV9jb21tb25faW5pdCgmbXNzMl9wY2kpOworCisJcmV0dXJuIDA7Cit9CitzdWJzeXNfaW5pdGNhbGwobXNzMl9wY2lfaW5pdCk7CisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBFdGhlcm5ldAorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKK3N0YXRpYyBzdHJ1Y3QgbXY2NDN4eF9ldGhfcGxhdGZvcm1fZGF0YSBtc3MyX2V0aF9kYXRhID0geworCS5waHlfYWRkcgk9IDgsCit9OworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFNBVEEKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCitzdGF0aWMgc3RydWN0IG12X3NhdGFfcGxhdGZvcm1fZGF0YSBtc3MyX3NhdGFfZGF0YSA9IHsKKwkubl9wb3J0cwk9IDIsCit9OworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEdQSU8gYnV0dG9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNkZWZpbmUgTVNTMl9HUElPX0tFWV9SRVNFVAkxMgorI2RlZmluZSBNU1MyX0dQSU9fS0VZX1BPV0VSCTExCisKK3N0YXRpYyBzdHJ1Y3QgZ3Bpb19rZXlzX2J1dHRvbiBtc3MyX2J1dHRvbnNbXSA9IHsKKwl7CisJCS5jb2RlCQk9IEtFWV9QT1dFUiwKKwkJLmdwaW8JCT0gTVNTMl9HUElPX0tFWV9QT1dFUiwKKwkJLmRlc2MJCT0gIlBvd2VyIiwKKwkJLmFjdGl2ZV9sb3cJPSAxLAorCX0sIHsKKwkJLmNvZGUJCT0gS0VZX1JFU1RBUlQsCisJCS5ncGlvCQk9IE1TUzJfR1BJT19LRVlfUkVTRVQsCisJCS5kZXNjCQk9ICJSZXNldCIsCisJCS5hY3RpdmVfbG93CT0gMSwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBncGlvX2tleXNfcGxhdGZvcm1fZGF0YSBtc3MyX2J1dHRvbl9kYXRhID0geworCS5idXR0b25zCT0gbXNzMl9idXR0b25zLAorCS5uYnV0dG9ucwk9IEFSUkFZX1NJWkUobXNzMl9idXR0b25zKSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIG1zczJfYnV0dG9uX2RldmljZSA9IHsKKwkubmFtZQkJPSAiZ3Bpby1rZXlzIiwKKwkuaWQJCT0gLTEsCisJLmRldgkJPSB7CisJCS5wbGF0Zm9ybV9kYXRhCT0gJm1zczJfYnV0dG9uX2RhdGEsCisJfSwKK307CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogUlRDIG00MXQ4MSBvbiBJMkMgYnVzCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2RlZmluZSBNU1MyX0dQSU9fUlRDX0lSUQkzCisKK3N0YXRpYyBzdHJ1Y3QgaTJjX2JvYXJkX2luZm8gX19pbml0ZGF0YSBtc3MyX2kyY19ydGMgPSB7CisJSTJDX0JPQVJEX0lORk8oIm00MXQ4MSIsIDB4NjgpLAorfTsKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBNU1MyIHBvd2VyIG9mZiBtZXRob2QKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyoKKyAqIE9uIHRoZSBNYXh0b3IgU2hhcmVkIFN0b3JhZ2UgSUksIHRoZSBzaHV0ZG93biBwcm9jZXNzIGlzIHRoZSBmb2xsb3dpbmcgOgorICogLSBVc2VybGFuZCBtb2RpZmllcyBVLWJvb3QgZW52IHRvIHRlbGwgVS1ib290IHRvIGdvIGlkbGUgYXQgbmV4dCBib290CisgKiAtIFRoZSBib2FyZCByZWJvb3RzCisgKiAtIFUtYm9vdCBzdGFydHMgYW5kIGdvIGludG8gYW4gaWRsZSBtb2RlIHVudGlsIHRoZSB1c2VyIHByZXNzICJwb3dlciIKKyAqLworc3RhdGljIHZvaWQgbXNzMl9wb3dlcl9vZmYodm9pZCkKK3sKKwl1MzIgcmVnOworCisJLyoKKwkgKiBFbmFibGUgYW5kIGlzc3VlIHNvZnQgcmVzZXQKKwkgKi8KKwlyZWcgPSByZWFkbChDUFVfUkVTRVRfTUFTSyk7CisJcmVnIHw9IDEgPDwgMjsKKwl3cml0ZWwocmVnLCBDUFVfUkVTRVRfTUFTSyk7CisKKwlyZWcgPSByZWFkbChDUFVfU09GVF9SRVNFVCk7CisJcmVnIHw9IDE7CisJd3JpdGVsKHJlZywgQ1BVX1NPRlRfUkVTRVQpOworfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogR2VuZXJhbCBTZXR1cAorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitzdGF0aWMgc3RydWN0IG9yaW9uNXhfbXBwX21vZGUgbXNzMl9tcHBfbW9kZXNbXSBfX2luaXRkYXRhID0geworCXsgIDAsIE1QUF9HUElPIH0sCQkvKiBQb3dlciBMRUQgKi8KKwl7ICAxLCBNUFBfR1BJTyB9LAkJLyogRXJyb3IgTEVEICovCisJeyAgMiwgTVBQX1VOVVNFRCB9LAorCXsgIDMsIE1QUF9HUElPIH0sCQkvKiBSVEMgaW50ZXJydXB0ICovCisJeyAgNCwgTVBQX0dQSU8gfSwJCS8qIEhERCBpbmQuIChTaW5nbGUvRHVhbCkqLworCXsgIDUsIE1QUF9HUElPIH0sCQkvKiBIRDAgNVYgY29udHJvbCAqLworCXsgIDYsIE1QUF9HUElPIH0sCQkvKiBIRDAgMTJWIGNvbnRyb2wgKi8KKwl7ICA3LCBNUFBfR1BJTyB9LAkJLyogSEQxIDVWIGNvbnRyb2wgKi8KKwl7ICA4LCBNUFBfR1BJTyB9LAkJLyogSEQxIDEyViBjb250cm9sICovCisJeyAgOSwgTVBQX1VOVVNFRCB9LAorCXsgMTAsIE1QUF9HUElPIH0sCQkvKiBGYW4gY29udHJvbCAqLworCXsgMTEsIE1QUF9HUElPIH0sCQkvKiBQb3dlciBidXR0b24gKi8KKwl7IDEyLCBNUFBfR1BJTyB9LAkJLyogUmVzZXQgYnV0dG9uICovCisJeyAxMywgTVBQX1VOVVNFRCB9LAorCXsgMTQsIE1QUF9TQVRBX0xFRCB9LAkJLyogU0FUQSAwIGFjdGl2ZSAqLworCXsgMTUsIE1QUF9TQVRBX0xFRCB9LAkJLyogU0FUQSAxIGFjdGl2ZSAqLworCXsgMTYsIE1QUF9VTlVTRUQgfSwKKwl7IDE3LCBNUFBfVU5VU0VEIH0sCisJeyAxOCwgTVBQX1VOVVNFRCB9LAorCXsgMTksIE1QUF9VTlVTRUQgfSwKKwl7IC0xIH0sCit9OworCitzdGF0aWMgdm9pZCBfX2luaXQgbXNzMl9pbml0KHZvaWQpCit7CisJLyogU2V0dXAgYmFzaWMgT3Jpb24gZnVuY3Rpb25zLiBOZWVkIHRvIGJlIGNhbGxlZCBlYXJseS4gKi8KKwlvcmlvbjV4X2luaXQoKTsKKworCW9yaW9uNXhfbXBwX2NvbmYobXNzMl9tcHBfbW9kZXMpOworCisJLyoKKwkgKiBNUFBbMjBdIFVudXNlZAorCSAqIE1QUFsyMV0gUENJIGNsb2NrCisJICogTVBQWzIyXSBVU0IgMCBvdmVyIGN1cnJlbnQKKwkgKiBNUFBbMjNdIFVTQiAxIG92ZXIgY3VycmVudAorCSAqLworCisJLyoKKwkgKiBDb25maWd1cmUgcGVyaXBoZXJhbHMuCisJICovCisJb3Jpb241eF9laGNpMF9pbml0KCk7CisJb3Jpb241eF9laGNpMV9pbml0KCk7CisJb3Jpb241eF9ldGhfaW5pdCgmbXNzMl9ldGhfZGF0YSk7CisJb3Jpb241eF9pMmNfaW5pdCgpOworCW9yaW9uNXhfc2F0YV9pbml0KCZtc3MyX3NhdGFfZGF0YSk7CisJb3Jpb241eF91YXJ0MF9pbml0KCk7CisKKwlvcmlvbjV4X3NldHVwX2Rldl9ib290X3dpbihNU1MyX05PUl9CT09UX0JBU0UsIE1TUzJfTk9SX0JPT1RfU0laRSk7CisJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZtc3MyX25vcl9mbGFzaCk7CisKKwlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJm1zczJfYnV0dG9uX2RldmljZSk7CisKKwlpZiAoZ3Bpb19yZXF1ZXN0KE1TUzJfR1BJT19SVENfSVJRLCAicnRjIikgPT0gMCkgeworCQlpZiAoZ3Bpb19kaXJlY3Rpb25faW5wdXQoTVNTMl9HUElPX1JUQ19JUlEpID09IDApCisJCQltc3MyX2kyY19ydGMuaXJxID0gZ3Bpb190b19pcnEoTVNTMl9HUElPX1JUQ19JUlEpOworCQllbHNlCisJCQlncGlvX2ZyZWUoTVNTMl9HUElPX1JUQ19JUlEpOworCX0KKwlpMmNfcmVnaXN0ZXJfYm9hcmRfaW5mbygwLCAmbXNzMl9pMmNfcnRjLCAxKTsKKworCS8qIHJlZ2lzdGVyIG1zczIgc3BlY2lmaWMgcG93ZXItb2ZmIG1ldGhvZCAqLworCXBtX3Bvd2VyX29mZiA9IG1zczJfcG93ZXJfb2ZmOworfQorCitNQUNISU5FX1NUQVJUKE1TUzIsICJNYXh0b3IgU2hhcmVkIFN0b3JhZ2UgSUkiKQorCS8qIE1haW50YWluZXI6IFN5bHZlciBCcnVuZWF1IDxzeWx2ZXIuYnJ1bmVhdUBnb29nbGVtYWlsLmNvbT4gKi8KKwkucGh5c19pbwk9IE9SSU9ONVhfUkVHU19QSFlTX0JBU0UsCisJLmlvX3BnX29mZnN0CT0gKChPUklPTjVYX1JFR1NfVklSVF9CQVNFKSA+PiAxOCkgJiAweEZGRkMsCisJLmJvb3RfcGFyYW1zCT0gMHgwMDAwMDEwMCwKKwkuaW5pdF9tYWNoaW5lCT0gbXNzMl9pbml0LAorCS5tYXBfaW8JCT0gb3Jpb241eF9tYXBfaW8sCisJLmluaXRfaXJxCT0gb3Jpb241eF9pbml0X2lycSwKKwkudGltZXIJCT0gJm9yaW9uNXhfdGltZXIsCisJLmZpeHVwCQk9IHRhZ19maXh1cF9tZW0zMgorTUFDSElORV9FTkQKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtb3Jpb241eC9tdjIxMjAtc2V0dXAuYyBiL2FyY2gvYXJtL21hY2gtb3Jpb241eC9tdjIxMjAtc2V0dXAuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NWYzYjBmCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L212MjEyMC1zZXR1cC5jCkBAIC0wLDAgKzEsMjM5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA3IEhlcmJlcnQgVmFsZXJpbyBSaWVkZWwgPGh2ckBnbnUub3JnPgorICogQ29weXJpZ2h0IChDKSAyMDA4IE1hcnRpbiBNaWNobG1heXIgPHRibUBjeXJpdXMuY29tPgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcworICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlCisgKiBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICovCisKKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CisjaW5jbHVkZSA8bGludXgvaXJxLmg+CisjaW5jbHVkZSA8bGludXgvbXRkL3BoeXNtYXAuaD4KKyNpbmNsdWRlIDxsaW51eC9tdjY0M3h4X2V0aC5oPgorI2luY2x1ZGUgPGxpbnV4L2xlZHMuaD4KKyNpbmNsdWRlIDxsaW51eC9ncGlvX2tleXMuaD4KKyNpbmNsdWRlIDxsaW51eC9pbnB1dC5oPgorI2luY2x1ZGUgPGxpbnV4L2kyYy5oPgorI2luY2x1ZGUgPGxpbnV4L2F0YV9wbGF0Zm9ybS5oPgorI2luY2x1ZGUgPGFzbS9tYWNoLXR5cGVzLmg+CisjaW5jbHVkZSA8YXNtL2dwaW8uaD4KKyNpbmNsdWRlIDxhc20vbWFjaC9hcmNoLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvb3Jpb241eC5oPgorI2luY2x1ZGUgImNvbW1vbi5oIgorI2luY2x1ZGUgIm1wcC5oIgorCisjZGVmaW5lIE1WMjEyMF9OT1JfQk9PVF9CQVNFCTB4ZjQwMDAwMDAKKyNkZWZpbmUgTVYyMTIwX05PUl9CT09UX1NJWkUJU1pfNTEySworCisjZGVmaW5lIE1WMjEyMF9HUElPX1JUQ19JUlEJMworI2RlZmluZSBNVjIxMjBfR1BJT19LRVlfUkVTRVQJMTcKKyNkZWZpbmUgTVYyMTIwX0dQSU9fS0VZX1BPV0VSCTE4CisjZGVmaW5lIE1WMjEyMF9HUElPX1BPV0VSX09GRgkxOQorCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRXRoZXJuZXQKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworc3RhdGljIHN0cnVjdCBtdjY0M3h4X2V0aF9wbGF0Zm9ybV9kYXRhIG12MjEyMF9ldGhfZGF0YSA9IHsKKwkucGh5X2FkZHIJPSA4LAorfTsKKworc3RhdGljIHN0cnVjdCBtdl9zYXRhX3BsYXRmb3JtX2RhdGEgbXYyMTIwX3NhdGFfZGF0YSA9IHsKKwkubl9wb3J0cwk9IDIsCit9OworCitzdGF0aWMgc3RydWN0IG10ZF9wYXJ0aXRpb24gbXYyMTIwX3BhcnRpdGlvbnNbXSA9IHsKKwl7CisJCS5uYW1lCT0gImZpcm13YXJlIiwKKwkJLnNpemUJPSAweDAwMDgwMDAwLAorCQkub2Zmc2V0CT0gMCwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBwaHlzbWFwX2ZsYXNoX2RhdGEgbXYyMTIwX25vcl9mbGFzaF9kYXRhID0geworCS53aWR0aAkJPSAxLAorCS5wYXJ0cwkJPSBtdjIxMjBfcGFydGl0aW9ucywKKwkubnJfcGFydHMJPSBBUlJBWV9TSVpFKG12MjEyMF9wYXJ0aXRpb25zKQorfTsKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSBtdjIxMjBfbm9yX2ZsYXNoX3Jlc291cmNlID0geworCS5mbGFncwkJPSBJT1JFU09VUkNFX01FTSwKKwkuc3RhcnQJCT0gTVYyMTIwX05PUl9CT09UX0JBU0UsCisJLmVuZAkJPSBNVjIxMjBfTk9SX0JPT1RfQkFTRSArIE1WMjEyMF9OT1JfQk9PVF9TSVpFIC0gMSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIG12MjEyMF9ub3JfZmxhc2ggPSB7CisJLm5hbWUJCT0gInBoeXNtYXAtZmxhc2giLAorCS5pZAkJPSAwLAorCS5kZXYJCT0geworCQkucGxhdGZvcm1fZGF0YQk9ICZtdjIxMjBfbm9yX2ZsYXNoX2RhdGEsCisJfSwKKwkucmVzb3VyY2UJPSAmbXYyMTIwX25vcl9mbGFzaF9yZXNvdXJjZSwKKwkubnVtX3Jlc291cmNlcwk9IDEsCit9OworCitzdGF0aWMgc3RydWN0IGdwaW9fa2V5c19idXR0b24gbXYyMTIwX2J1dHRvbnNbXSA9IHsKKwl7CisJCS5jb2RlCQk9IEtFWV9SRVNUQVJULAorCQkuZ3BpbwkJPSBNVjIxMjBfR1BJT19LRVlfUkVTRVQsCisJCS5kZXNjCQk9ICJyZXNldCIsCisJCS5hY3RpdmVfbG93CT0gMSwKKwl9LCB7CisJCS5jb2RlCQk9IEtFWV9QT1dFUiwKKwkJLmdwaW8JCT0gTVYyMTIwX0dQSU9fS0VZX1BPV0VSLAorCQkuZGVzYwkJPSAicG93ZXIiLAorCQkuYWN0aXZlX2xvdwk9IDEsCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgZ3Bpb19rZXlzX3BsYXRmb3JtX2RhdGEgbXYyMTIwX2J1dHRvbl9kYXRhID0geworCS5idXR0b25zCT0gbXYyMTIwX2J1dHRvbnMsCisJLm5idXR0b25zCT0gQVJSQVlfU0laRShtdjIxMjBfYnV0dG9ucyksCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBtdjIxMjBfYnV0dG9uX2RldmljZSA9IHsKKwkubmFtZQkJPSAiZ3Bpby1rZXlzIiwKKwkuaWQJCT0gLTEsCisJLm51bV9yZXNvdXJjZXMJPSAwLAorCS5kZXYJCT0geworCQkucGxhdGZvcm1fZGF0YQk9ICZtdjIxMjBfYnV0dG9uX2RhdGEsCisJfSwKK307CisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEdlbmVyYWwgU2V0dXAKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworc3RhdGljIHN0cnVjdCBvcmlvbjV4X21wcF9tb2RlIG12MjEyMF9tcHBfbW9kZXNbXSBfX2luaXRkYXRhID0geworCXsgIDAsIE1QUF9HUElPIH0sCQkvKiBTeXMgc3RhdHVzIExFRCAqLworCXsgIDEsIE1QUF9HUElPIH0sCQkvKiBTeXMgZXJyb3IgTEVEICovCisJeyAgMiwgTVBQX0dQSU8gfSwJCS8qIE92ZXJUZW1wIGludGVycnVwdCAqLworCXsgIDMsIE1QUF9HUElPIH0sCQkvKiBSVEMgaW50ZXJydXB0ICovCisJeyAgNCwgTVBQX0dQSU8gfSwJCS8qIFZfTEVEIDVWICovCisJeyAgNSwgTVBQX0dQSU8gfSwJCS8qIFZfTEVEIDMuM1YgKi8KKwl7ICA2LCBNUFBfVU5VU0VEIH0sCisJeyAgNywgTVBQX1VOVVNFRCB9LAorCXsgIDgsIE1QUF9HUElPIH0sCQkvKiBTQVRBIDAgZmFpbCBMRUQgKi8KKwl7ICA5LCBNUFBfR1BJTyB9LAkJLyogU0FUQSAxIGZhaWwgTEVEICovCisJeyAxMCwgTVBQX1VOVVNFRCB9LAorCXsgMTEsIE1QUF9VTlVTRUQgfSwKKwl7IDEyLCBNUFBfU0FUQV9MRUQgfSwJCS8qIFNBVEEgMCBwcmVzZW5jZSAqLworCXsgMTMsIE1QUF9TQVRBX0xFRCB9LAkJLyogU0FUQSAxIHByZXNlbmNlICovCisJeyAxNCwgTVBQX1NBVEFfTEVEIH0sCQkvKiBTQVRBIDAgYWN0aXZlICovCisJeyAxNSwgTVBQX1NBVEFfTEVEIH0sCQkvKiBTQVRBIDEgYWN0aXZlICovCisJeyAxNiwgTVBQX1VOVVNFRCB9LAorCXsgMTcsIE1QUF9HUElPIH0sCQkvKiBSZXNldCBidXR0b24gKi8KKwl7IDE4LCBNUFBfR1BJTyB9LAkJLyogUG93ZXIgYnV0dG9uICovCisJeyAxOSwgTVBQX0dQSU8gfSwJCS8qIFBvd2VyIG9mZiAqLworCXsgLTEgfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgaTJjX2JvYXJkX2luZm8gX19pbml0ZGF0YSBtdjIxMjBfaTJjX3J0YyA9IHsKKwlJMkNfQk9BUkRfSU5GTygicGNmODU2MyIsIDB4NTEpLAorCS5pcnEJPSAwLAorfTsKKworc3RhdGljIHN0cnVjdCBncGlvX2xlZCBtdjIxMjBfbGVkX3BpbnNbXSA9IHsKKwl7CisJCS5uYW1lCQkJPSAibXYyMTIwOmJsdWU6aGVhbHRoIiwKKwkJLmdwaW8JCQk9IDAsCisJfSwKKwl7CisJCS5uYW1lCQkJPSAibXYyMTIwOnJlZDpoZWFsdGgiLAorCQkuZ3BpbwkJCT0gMSwKKwl9LAorCXsKKwkJLm5hbWUJCQk9ICJtdjIxMjA6bGVkOmJyaWdodCIsCisJCS5ncGlvCQkJPSA0LAorCQkuZGVmYXVsdF90cmlnZ2VyCT0gImRlZmF1bHQtb24iLAorCX0sCisJeworCQkubmFtZQkJCT0gIm12MjEyMDpsZWQ6ZGltbWVkIiwKKwkJLmdwaW8JCQk9IDUsCisJfSwKKwl7CisJCS5uYW1lCQkJPSAibXYyMTIwOnJlZDpzYXRhMCIsCisJCS5ncGlvCQkJPSA4LAorCQkuYWN0aXZlX2xvdwkJPSAxLAorCX0sCisJeworCQkubmFtZQkJCT0gIm12MjEyMDpyZWQ6c2F0YTEiLAorCQkuZ3BpbwkJCT0gOSwKKwkJLmFjdGl2ZV9sb3cJCT0gMSwKKwl9LAorCit9OworCitzdGF0aWMgc3RydWN0IGdwaW9fbGVkX3BsYXRmb3JtX2RhdGEgbXYyMTIwX2xlZF9kYXRhID0geworCS5sZWRzCQk9IG12MjEyMF9sZWRfcGlucywKKwkubnVtX2xlZHMJPSBBUlJBWV9TSVpFKG12MjEyMF9sZWRfcGlucyksCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBtdjIxMjBfbGVkcyA9IHsKKwkubmFtZQk9ICJsZWRzLWdwaW8iLAorCS5pZAk9IC0xLAorCS5kZXYJPSB7CisJCS5wbGF0Zm9ybV9kYXRhCT0gJm12MjEyMF9sZWRfZGF0YSwKKwl9Cit9OworCitzdGF0aWMgdm9pZCBtdjIxMjBfcG93ZXJfb2ZmKHZvaWQpCit7CisJcHJfaW5mbygiJXM6IHRyaWdnZXJpbmcgcG93ZXItb2ZmLi4uXG4iLCBfX2Z1bmNfXyk7CisJZ3Bpb19zZXRfdmFsdWUoTVYyMTIwX0dQSU9fUE9XRVJfT0ZGLCAwKTsKK30KKworc3RhdGljIHZvaWQgX19pbml0IG12MjEyMF9pbml0KHZvaWQpCit7CisJLyogU2V0dXAgYmFzaWMgT3Jpb24gZnVuY3Rpb25zLiBOZWVkIHRvIGJlIGNhbGxlZCBlYXJseS4gKi8KKwlvcmlvbjV4X2luaXQoKTsKKworCW9yaW9uNXhfbXBwX2NvbmYobXYyMTIwX21wcF9tb2Rlcyk7CisKKwkvKgorCSAqIENvbmZpZ3VyZSBwZXJpcGhlcmFscy4KKwkgKi8KKwlvcmlvbjV4X2VoY2kwX2luaXQoKTsKKwlvcmlvbjV4X2VoY2kxX2luaXQoKTsKKwlvcmlvbjV4X2V0aF9pbml0KCZtdjIxMjBfZXRoX2RhdGEpOworCW9yaW9uNXhfaTJjX2luaXQoKTsKKwlvcmlvbjV4X3NhdGFfaW5pdCgmbXYyMTIwX3NhdGFfZGF0YSk7CisJb3Jpb241eF91YXJ0MF9pbml0KCk7CisKKwlvcmlvbjV4X3NldHVwX2Rldl9ib290X3dpbihNVjIxMjBfTk9SX0JPT1RfQkFTRSwgTVYyMTIwX05PUl9CT09UX1NJWkUpOworCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmbXYyMTIwX25vcl9mbGFzaCk7CisKKwlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJm12MjEyMF9idXR0b25fZGV2aWNlKTsKKworCWlmIChncGlvX3JlcXVlc3QoTVYyMTIwX0dQSU9fUlRDX0lSUSwgInJ0YyIpID09IDApIHsKKwkJaWYgKGdwaW9fZGlyZWN0aW9uX2lucHV0KE1WMjEyMF9HUElPX1JUQ19JUlEpID09IDApCisJCQltdjIxMjBfaTJjX3J0Yy5pcnEgPSBncGlvX3RvX2lycShNVjIxMjBfR1BJT19SVENfSVJRKTsKKwkJZWxzZQorCQkJZ3Bpb19mcmVlKE1WMjEyMF9HUElPX1JUQ19JUlEpOworCX0KKwlpMmNfcmVnaXN0ZXJfYm9hcmRfaW5mbygwLCAmbXYyMTIwX2kyY19ydGMsIDEpOworCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmbXYyMTIwX2xlZHMpOworCisJLyogcmVnaXN0ZXIgbXYyMTIwIHNwZWNpZmljIHBvd2VyLW9mZiBtZXRob2QgKi8KKwlpZiAoZ3Bpb19yZXF1ZXN0KE1WMjEyMF9HUElPX1BPV0VSX09GRiwgIlBPV0VST0ZGIikgIT0gMCB8fAorCSAgICBncGlvX2RpcmVjdGlvbl9vdXRwdXQoTVYyMTIwX0dQSU9fUE9XRVJfT0ZGLCAxKSAhPSAwKQorCQlwcl9lcnIoIm12MjEyMDogZmFpbGVkIHRvIHNldHVwIHBvd2VyLW9mZiBHUElPXG4iKTsKKwlwbV9wb3dlcl9vZmYgPSBtdjIxMjBfcG93ZXJfb2ZmOworfQorCisvKiBXYXJuaW5nOiBIUCB1c2VzIGEgd3JvbmcgbWFjaC10eXBlICg9NTI2KSBpbiB0aGVpciBib290bG9hZGVyICovCitNQUNISU5FX1NUQVJUKE1WMjEyMCwgIkhQIE1lZGlhIFZhdWx0IG12MjEyMCIpCisJLyogTWFpbnRhaW5lcjogTWFydGluIE1pY2hsbWF5ciA8dGJtQGN5cml1cy5jb20+ICovCisJLnBoeXNfaW8JPSBPUklPTjVYX1JFR1NfUEhZU19CQVNFLAorCS5pb19wZ19vZmZzdAk9ICgoT1JJT041WF9SRUdTX1ZJUlRfQkFTRSkgPj4gMTgpICYgMHhGRkZDLAorCS5ib290X3BhcmFtcwk9IDB4MDAwMDAxMDAsCisJLmluaXRfbWFjaGluZQk9IG12MjEyMF9pbml0LAorCS5tYXBfaW8JCT0gb3Jpb241eF9tYXBfaW8sCisJLmluaXRfaXJxCT0gb3Jpb241eF9pbml0X2lycSwKKwkudGltZXIJCT0gJm9yaW9uNXhfdGltZXIsCisJLmZpeHVwCQk9IHRhZ19maXh1cF9tZW0zMgorTUFDSElORV9FTkQKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtb3Jpb241eC9wY2kuYyBiL2FyY2gvYXJtL21hY2gtb3Jpb241eC9wY2kuYwppbmRleCA5ZDVkMzlmLi4yNTZhNGY2OCAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L3BjaS5jCisrKyBiL2FyY2gvYXJtL21hY2gtb3Jpb241eC9wY2kuYwpAQCAtMTUyLDYgKzE1Miw4IEBACiAJaWYgKGRldiA9PSBNVjg4RjUxODFfREVWX0lEIHx8IGRldiA9PSBNVjg4RjUxODJfREVWX0lEKSB7CiAJCXByaW50ayhLRVJOX05PVElDRSAiQXBwbHlpbmcgT3Jpb24tMS9Pcmlvbi1OQVMgUENJZSBjb25maWcgIgogCQkJCSAgICJyZWFkIHRyYW5zYWN0aW9uIHdvcmthcm91bmRcbiIpOworCQlvcmlvbjV4X3NldHVwX3BjaWVfd2Ffd2luKE9SSU9ONVhfUENJRV9XQV9QSFlTX0JBU0UsCisJCQkJCSAgT1JJT041WF9QQ0lFX1dBX1NJWkUpOwogCQlwY2llX29wcy5yZWFkID0gcGNpZV9yZF9jb25mX3dhOwogCX0KIApAQCAtMjQwLDEzICsyNDIsMTMgQEAKICAqIFBDSSBBZGRyZXNzIERlY29kZSBXaW5kb3dzIHJlZ2lzdGVycwogICovCiAjZGVmaW5lIFBDSV9CQVJfU0laRV9ERFJfQ1MobikJKCgobikgPT0gMCkgPyBPUklPTjVYX1BDSV9SRUcoMHhjMDgpIDogXAotCQkJCSgobikgPT0gMSkgPyBPUklPTjVYX1BDSV9SRUcoMHhkMDgpIDogIFwKLQkJCQkoKG4pID09IDIpID8gT1JJT041WF9QQ0lfUkVHKDB4YzBjKSA6ICBcCi0JCQkJKChuKSA9PSAzKSA/IE9SSU9ONVhfUENJX1JFRygweGQwYykgOiAwKQotI2RlZmluZSBQQ0lfQkFSX1JFTUFQX0REUl9DUyhuKQkoKChuKSA9PTApID8gT1JJT041WF9QQ0lfUkVHKDB4YzQ4KSA6ICBcCi0JCQkJKChuKSA9PSAxKSA/IE9SSU9ONVhfUENJX1JFRygweGQ0OCkgOiAgXAotCQkJCSgobikgPT0gMikgPyBPUklPTjVYX1BDSV9SRUcoMHhjNGMpIDogIFwKLQkJCQkoKG4pID09IDMpID8gT1JJT041WF9QQ0lfUkVHKDB4ZDRjKSA6IDApCisJCQkJICgobikgPT0gMSkgPyBPUklPTjVYX1BDSV9SRUcoMHhkMDgpIDogXAorCQkJCSAoKG4pID09IDIpID8gT1JJT041WF9QQ0lfUkVHKDB4YzBjKSA6IFwKKwkJCQkgKChuKSA9PSAzKSA/IE9SSU9ONVhfUENJX1JFRygweGQwYykgOiAwKQorI2RlZmluZSBQQ0lfQkFSX1JFTUFQX0REUl9DUyhuKQkoKChuKSA9PSAwKSA/IE9SSU9ONVhfUENJX1JFRygweGM0OCkgOiBcCisJCQkJICgobikgPT0gMSkgPyBPUklPTjVYX1BDSV9SRUcoMHhkNDgpIDogXAorCQkJCSAoKG4pID09IDIpID8gT1JJT041WF9QQ0lfUkVHKDB4YzRjKSA6IFwKKwkJCQkgKChuKSA9PSAzKSA/IE9SSU9ONVhfUENJX1JFRygweGQ0YykgOiAwKQogI2RlZmluZSBQQ0lfQkFSX0VOQUJMRQkJT1JJT041WF9QQ0lfUkVHKDB4YzNjKQogI2RlZmluZSBQQ0lfQUREUl9ERUNPREVfQ1RSTAlPUklPTjVYX1BDSV9SRUcoMHhkM2MpCiAKQEAgLTI2NCw5ICsyNjYsMTEgQEAKICAqLwogc3RhdGljIERFRklORV9TUElOTE9DSyhvcmlvbjV4X3BjaV9sb2NrKTsKIAorc3RhdGljIGludCBvcmlvbjV4X3BjaV9jYXJkYnVzX21vZGU7CisKIHN0YXRpYyBpbnQgb3Jpb241eF9wY2lfbG9jYWxfYnVzX25yKHZvaWQpCiB7Ci0JdTMyIGNvbmYgPSBvcmlvbjV4X3JlYWQoUENJX1AyUF9DT05GKTsKKwl1MzIgY29uZiA9IHJlYWRsKFBDSV9QMlBfQ09ORik7CiAJcmV0dXJuKChjb25mICYgUENJX1AyUF9CVVNfTUFTSykgPj4gUENJX1AyUF9CVVNfT0ZGUyk7CiB9CiAKQEAgLTI3NiwxMSArMjgwLDExIEBACiAJdW5zaWduZWQgbG9uZyBmbGFnczsKIAlzcGluX2xvY2tfaXJxc2F2ZSgmb3Jpb241eF9wY2lfbG9jaywgZmxhZ3MpOwogCi0Jb3Jpb241eF93cml0ZShQQ0lfQ09ORl9BRERSLCBQQ0lfQ09ORl9CVVMoYnVzKSB8Ci0JCQlQQ0lfQ09ORl9ERVYoZGV2KSB8IFBDSV9DT05GX1JFRyh3aGVyZSkgfAotCQkJUENJX0NPTkZfRlVOQyhmdW5jKSB8IFBDSV9DT05GX0FERFJfRU4pOworCXdyaXRlbChQQ0lfQ09ORl9CVVMoYnVzKSB8CisJCVBDSV9DT05GX0RFVihkZXYpIHwgUENJX0NPTkZfUkVHKHdoZXJlKSB8CisJCVBDSV9DT05GX0ZVTkMoZnVuYykgfCBQQ0lfQ09ORl9BRERSX0VOLCBQQ0lfQ09ORl9BRERSKTsKIAotCSp2YWwgPSBvcmlvbjV4X3JlYWQoUENJX0NPTkZfREFUQSk7CisJKnZhbCA9IHJlYWRsKFBDSV9DT05GX0RBVEEpOwogCiAJaWYgKHNpemUgPT0gMSkKIAkJKnZhbCA9ICgqdmFsID4+ICg4Kih3aGVyZSAmIDB4MykpKSAmIDB4ZmY7CkBAIC0zMDAsOSArMzA0LDkgQEAKIAogCXNwaW5fbG9ja19pcnFzYXZlKCZvcmlvbjV4X3BjaV9sb2NrLCBmbGFncyk7CiAKLQlvcmlvbjV4X3dyaXRlKFBDSV9DT05GX0FERFIsIFBDSV9DT05GX0JVUyhidXMpIHwKLQkJCVBDSV9DT05GX0RFVihkZXYpIHwgUENJX0NPTkZfUkVHKHdoZXJlKSB8Ci0JCQlQQ0lfQ09ORl9GVU5DKGZ1bmMpIHwgUENJX0NPTkZfQUREUl9FTik7CisJd3JpdGVsKFBDSV9DT05GX0JVUyhidXMpIHwKKwkJUENJX0NPTkZfREVWKGRldikgfCBQQ0lfQ09ORl9SRUcod2hlcmUpIHwKKwkJUENJX0NPTkZfRlVOQyhmdW5jKSB8IFBDSV9DT05GX0FERFJfRU4sIFBDSV9DT05GX0FERFIpOwogCiAJaWYgKHNpemUgPT0gNCkgewogCQlfX3Jhd193cml0ZWwodmFsLCBQQ0lfQ09ORl9EQVRBKTsKQEAgLTMxOSwxNCArMzIzLDMwIEBACiAJcmV0dXJuIHJldDsKIH0KIAorc3RhdGljIGludCBvcmlvbjV4X3BjaV92YWxpZF9jb25maWcoaW50IGJ1cywgdTMyIGRldmZuKQoreworCWlmIChidXMgPT0gb3Jpb241eF9wY2lfbG9jYWxfYnVzX25yKCkpIHsKKwkJLyoKKwkJICogRG9uJ3QgZ28gb3V0IGZvciBsb2NhbCBkZXZpY2UKKwkJICovCisJCWlmIChQQ0lfU0xPVChkZXZmbikgPT0gMCAmJiBQQ0lfRlVOQyhkZXZmbikgIT0gMCkKKwkJCXJldHVybiAwOworCisJCS8qCisJCSAqIFdoZW4gdGhlIFBDSSBzaWduYWxzIGFyZSBkaXJlY3RseSBjb25uZWN0ZWQgdG8gYQorCQkgKiBDYXJkYnVzIHNsb3QsIGlnbm9yZSBhbGwgYnV0IGRldmljZSBJRHMgMCBhbmQgMS4KKwkJICovCisJCWlmIChvcmlvbjV4X3BjaV9jYXJkYnVzX21vZGUgJiYgUENJX1NMT1QoZGV2Zm4pID4gMSkKKwkJCXJldHVybiAwOworCX0KKworCXJldHVybiAxOworfQorCiBzdGF0aWMgaW50IG9yaW9uNXhfcGNpX3JkX2NvbmYoc3RydWN0IHBjaV9idXMgKmJ1cywgdTMyIGRldmZuLAogCQkJCWludCB3aGVyZSwgaW50IHNpemUsIHUzMiAqdmFsKQogewotCS8qCi0JICogRG9uJ3QgZ28gb3V0IGZvciBsb2NhbCBkZXZpY2UKLQkgKi8KLQlpZiAoYnVzLT5udW1iZXIgPT0gb3Jpb241eF9wY2lfbG9jYWxfYnVzX25yKCkgJiYKLQkgICAgUENJX1NMT1QoZGV2Zm4pID09IDAgJiYgUENJX0ZVTkMoZGV2Zm4pICE9IDApIHsKKwlpZiAoIW9yaW9uNXhfcGNpX3ZhbGlkX2NvbmZpZyhidXMtPm51bWJlciwgZGV2Zm4pKSB7CiAJCSp2YWwgPSAweGZmZmZmZmZmOwogCQlyZXR1cm4gUENJQklPU19ERVZJQ0VfTk9UX0ZPVU5EOwogCX0KQEAgLTMzOCw4ICszNTgsNyBAQAogc3RhdGljIGludCBvcmlvbjV4X3BjaV93cl9jb25mKHN0cnVjdCBwY2lfYnVzICpidXMsIHUzMiBkZXZmbiwKIAkJCQlpbnQgd2hlcmUsIGludCBzaXplLCB1MzIgdmFsKQogewotCWlmIChidXMtPm51bWJlciA9PSBvcmlvbjV4X3BjaV9sb2NhbF9idXNfbnIoKSAmJgotCSAgICBQQ0lfU0xPVChkZXZmbikgPT0gMCAmJiBQQ0lfRlVOQyhkZXZmbikgIT0gMCkKKwlpZiAoIW9yaW9uNXhfcGNpX3ZhbGlkX2NvbmZpZyhidXMtPm51bWJlciwgZGV2Zm4pKQogCQlyZXR1cm4gUENJQklPU19ERVZJQ0VfTk9UX0ZPVU5EOwogCiAJcmV0dXJuIG9yaW9uNXhfcGNpX2h3X3dyX2NvbmYoYnVzLT5udW1iZXIsIFBDSV9TTE9UKGRldmZuKSwKQEAgLTM1Myw5ICszNzIsOSBAQAogCiBzdGF0aWMgdm9pZCBfX2luaXQgb3Jpb241eF9wY2lfc2V0X2J1c19ucihpbnQgbnIpCiB7Ci0JdTMyIHAycCA9IG9yaW9uNXhfcmVhZChQQ0lfUDJQX0NPTkYpOworCXUzMiBwMnAgPSByZWFkbChQQ0lfUDJQX0NPTkYpOwogCi0JaWYgKG9yaW9uNXhfcmVhZChQQ0lfTU9ERSkgJiBQQ0lfTU9ERV9QQ0lYKSB7CisJaWYgKHJlYWRsKFBDSV9NT0RFKSAmIFBDSV9NT0RFX1BDSVgpIHsKIAkJLyoKIAkJICogUENJLVggbW9kZQogCQkgKi8KQEAgLTM3Miw3ICszOTEsNyBAQAogCQkgKi8KIAkJcDJwICY9IH5QQ0lfUDJQX0JVU19NQVNLOwogCQlwMnAgfD0gKG5yIDw8IFBDSV9QMlBfQlVTX09GRlMpOwotCQlvcmlvbjV4X3dyaXRlKFBDSV9QMlBfQ09ORiwgcDJwKTsKKwkJd3JpdGVsKHAycCwgUENJX1AyUF9DT05GKTsKIAl9CiB9CiAKQEAgLTM5OSw3ICs0MTgsNyBAQAogCSAqIEZpcnN0LCBkaXNhYmxlIHdpbmRvd3MuCiAJICovCiAJd2luX2VuYWJsZSA9IDB4ZmZmZmZmZmY7Ci0Jb3Jpb241eF93cml0ZShQQ0lfQkFSX0VOQUJMRSwgd2luX2VuYWJsZSk7CisJd3JpdGVsKHdpbl9lbmFibGUsIFBDSV9CQVJfRU5BQkxFKTsKIAogCS8qCiAJICogU2V0dXAgd2luZG93cyBmb3IgRERSIGJhbmtzLgpAQCAtNDI1LDEwICs0NDQsMTAgQEAKIAkJICovCiAJCXJlZyA9IFBDSV9DT05GX1JFR19CQVJfSElfQ1MoY3MtPmNzX2luZGV4KTsKIAkJb3Jpb241eF9wY2lfaHdfd3JfY29uZihidXMsIDAsIGZ1bmMsIHJlZywgNCwgMCk7Ci0JCW9yaW9uNXhfd3JpdGUoUENJX0JBUl9TSVpFX0REUl9DUyhjcy0+Y3NfaW5kZXgpLAotCQkJCShjcy0+c2l6ZSAtIDEpICYgMHhmZmZmZjAwMCk7Ci0JCW9yaW9uNXhfd3JpdGUoUENJX0JBUl9SRU1BUF9ERFJfQ1MoY3MtPmNzX2luZGV4KSwKLQkJCQljcy0+YmFzZSAmIDB4ZmZmZmYwMDApOworCQl3cml0ZWwoKGNzLT5zaXplIC0gMSkgJiAweGZmZmZmMDAwLAorCQkJUENJX0JBUl9TSVpFX0REUl9DUyhjcy0+Y3NfaW5kZXgpKTsKKwkJd3JpdGVsKGNzLT5iYXNlICYgMHhmZmZmZjAwMCwKKwkJCVBDSV9CQVJfUkVNQVBfRERSX0NTKGNzLT5jc19pbmRleCkpOwogCiAJCS8qCiAJCSAqIEVuYWJsZSBkZWNvZGUgd2luZG93IGZvciB0aGlzIGNoaXAgc2VsZWN0LgpAQCAtNDM5LDcgKzQ1OCw3IEBACiAJLyoKIAkgKiBSZS1lbmFibGUgZGVjb2RlIHdpbmRvd3MuCiAJICovCi0Jb3Jpb241eF93cml0ZShQQ0lfQkFSX0VOQUJMRSwgd2luX2VuYWJsZSk7CisJd3JpdGVsKHdpbl9lbmFibGUsIFBDSV9CQVJfRU5BQkxFKTsKIAogCS8qCiAJICogRGlzYWJsZSBhdXRvbWF0aWMgdXBkYXRlIG9mIGFkZHJlc3MgcmVtYXBpbmcgd2hlbiB3cml0aW5nIHRvIEJBUnMuCkBAIC01MjIsNiArNTQxLDExIEBACiB9CiBERUNMQVJFX1BDSV9GSVhVUF9IRUFERVIoUENJX1ZFTkRPUl9JRF9NQVJWRUxMLCBQQ0lfQU5ZX0lELCByY19wY2lfZml4dXApOwogCit2b2lkIF9faW5pdCBvcmlvbjV4X3BjaV9zZXRfY2FyZGJ1c19tb2RlKHZvaWQpCit7CisJb3Jpb241eF9wY2lfY2FyZGJ1c19tb2RlID0gMTsKK30KKwogaW50IF9faW5pdCBvcmlvbjV4X3BjaV9zeXNfc2V0dXAoaW50IG5yLCBzdHJ1Y3QgcGNpX3N5c19kYXRhICpzeXMpCiB7CiAJaW50IHJldCA9IDA7CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW9yaW9uNXgvcmQ4OGY1MTgxbC1meG8tc2V0dXAuYyBiL2FyY2gvYXJtL21hY2gtb3Jpb241eC9yZDg4ZjUxODFsLWZ4by1zZXR1cC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ1MGUzNjUKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLW9yaW9uNXgvcmQ4OGY1MTgxbC1meG8tc2V0dXAuYwpAQCAtMCwwICsxLDE2MSBAQAorLyoKKyAqIGFyY2gvYXJtL21hY2gtb3Jpb241eC9yZDg4ZjUxODFsLWZ4by1zZXR1cC5jCisgKgorICogTWFydmVsbCBPcmlvbi1Wb0lQIEZYTyBSZWZlcmVuY2UgRGVzaWduIFNldHVwCisgKgorICogVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIHZlcnNpb24gMi4gIFRoaXMgcHJvZ3JhbSBpcyBsaWNlbnNlZCAiYXMgaXMiIHdpdGhvdXQgYW55CisgKiB3YXJyYW50eSBvZiBhbnkga2luZCwgd2hldGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9wY2kuaD4KKyNpbmNsdWRlIDxsaW51eC9pcnEuaD4KKyNpbmNsdWRlIDxsaW51eC9tdGQvcGh5c21hcC5oPgorI2luY2x1ZGUgPGxpbnV4L212NjQzeHhfZXRoLmg+CisjaW5jbHVkZSA8YXNtL21hY2gtdHlwZXMuaD4KKyNpbmNsdWRlIDxhc20vZ3Bpby5oPgorI2luY2x1ZGUgPGFzbS9sZWRzLmg+CisjaW5jbHVkZSA8YXNtL21hY2gvYXJjaC5oPgorI2luY2x1ZGUgPGFzbS9tYWNoL3BjaS5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL29yaW9uNXguaD4KKyNpbmNsdWRlICJjb21tb24uaCIKKyNpbmNsdWRlICJtcHAuaCIKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBSRC04OEY1MTgxTCBGWE8gSW5mbworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKgorICogOE0gTk9SIGZsYXNoIERldmljZSBidXMgYm9vdCBjaGlwIHNlbGVjdAorICovCisjZGVmaW5lIFJEODhGNTE4MUxfRlhPX05PUl9CT09UX0JBU0UJCTB4ZmY4MDAwMDAKKyNkZWZpbmUgUkQ4OEY1MTgxTF9GWE9fTk9SX0JPT1RfU0laRQkJU1pfOE0KKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIDhNIE5PUiBGbGFzaCBvbiBEZXZpY2UgYnVzIEJvb3QgY2hpcCBzZWxlY3QKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworc3RhdGljIHN0cnVjdCBwaHlzbWFwX2ZsYXNoX2RhdGEgcmQ4OGY1MTgxbF9meG9fbm9yX2Jvb3RfZmxhc2hfZGF0YSA9IHsKKwkud2lkdGgJCT0gMSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgcmQ4OGY1MTgxbF9meG9fbm9yX2Jvb3RfZmxhc2hfcmVzb3VyY2UgPSB7CisJLmZsYWdzCQk9IElPUkVTT1VSQ0VfTUVNLAorCS5zdGFydAkJPSBSRDg4RjUxODFMX0ZYT19OT1JfQk9PVF9CQVNFLAorCS5lbmQJCT0gUkQ4OEY1MTgxTF9GWE9fTk9SX0JPT1RfQkFTRSArCisJCQkgIFJEODhGNTE4MUxfRlhPX05PUl9CT09UX1NJWkUgLSAxLAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgcmQ4OGY1MTgxbF9meG9fbm9yX2Jvb3RfZmxhc2ggPSB7CisJLm5hbWUJCQk9ICJwaHlzbWFwLWZsYXNoIiwKKwkuaWQJCQk9IDAsCisJLmRldgkJPSB7CisJCS5wbGF0Zm9ybV9kYXRhCT0gJnJkODhmNTE4MWxfZnhvX25vcl9ib290X2ZsYXNoX2RhdGEsCisJfSwKKwkubnVtX3Jlc291cmNlcwkJPSAxLAorCS5yZXNvdXJjZQkJPSAmcmQ4OGY1MTgxbF9meG9fbm9yX2Jvb3RfZmxhc2hfcmVzb3VyY2UsCit9OworCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogR2VuZXJhbCBTZXR1cAorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitzdGF0aWMgc3RydWN0IG9yaW9uNXhfbXBwX21vZGUgcmQ4OGY1MTgxbF9meG9fbXBwX21vZGVzW10gX19pbml0ZGF0YSA9IHsKKwl7ICAwLCBNUFBfR1BJTyB9LAkJLyogTEVEMSBDYXJkQnVzIExFRCAoZnJvbnQgcGFuZWwpICovCisJeyAgMSwgTVBQX0dQSU8gfSwJCS8qIFBDSV9pbnRBICovCisJeyAgMiwgTVBQX0dQSU8gfSwJCS8qIEhhcmQgUmVzZXQgLyBGYWN0b3J5IEluaXQqLworCXsgIDMsIE1QUF9HUElPIH0sCQkvKiBGWFMgb3IgREFBIHNlbGVjdCAqLworCXsgIDQsIE1QUF9HUElPIH0sCQkvKiBMRUQ2IC0gcGhvbmUgTEVEIChmcm9udCBwYW5lbCkgKi8KKwl7ICA1LCBNUFBfR1BJTyB9LAkJLyogTEVENSAtIHBob25lIExFRCAoZnJvbnQgcGFuZWwpICovCisJeyAgNiwgTVBQX1BDSV9DTEsgfSwJCS8qIENQVSBQQ0kgcmVmY2xrICovCisJeyAgNywgTVBQX1BDSV9DTEsgfSwJCS8qIFBDSS9QQ0llIHJlZmNsayAqLworCXsgIDgsIE1QUF9HUElPIH0sCQkvKiBDYXJkQnVzIHJlc2V0ICovCisJeyAgOSwgTVBQX0dQSU8gfSwJCS8qIEdFX1JYRVJSICovCisJeyAxMCwgTVBQX0dQSU8gfSwJCS8qIExFRDIgTWluaVBDSSBMRUQgKGZyb250IHBhbmVsKSAqLworCXsgMTEsIE1QUF9HUElPIH0sCQkvKiBMaWZlbGluZSBjb250cm9sICovCisJeyAxMiwgTVBQX0dJR0UgfSwJCS8qIEdFX1RYRFs0XSAqLworCXsgMTMsIE1QUF9HSUdFIH0sCQkvKiBHRV9UWERbNV0gKi8KKwl7IDE0LCBNUFBfR0lHRSB9LAkJLyogR0VfVFhEWzZdICovCisJeyAxNSwgTVBQX0dJR0UgfSwJCS8qIEdFX1RYRFs3XSAqLworCXsgMTYsIE1QUF9HSUdFIH0sCQkvKiBHRV9SWERbNF0gKi8KKwl7IDE3LCBNUFBfR0lHRSB9LAkJLyogR0VfUlhEWzVdICovCisJeyAxOCwgTVBQX0dJR0UgfSwJCS8qIEdFX1JYRFs2XSAqLworCXsgMTksIE1QUF9HSUdFIH0sCQkvKiBHRV9SWERbN10gKi8KKwl7IC0xIH0sCit9OworCitzdGF0aWMgc3RydWN0IG12NjQzeHhfZXRoX3BsYXRmb3JtX2RhdGEgcmQ4OGY1MTgxbF9meG9fZXRoX2RhdGEgPSB7CisJLnBoeV9hZGRyCT0gLTEsCit9OworCitzdGF0aWMgdm9pZCBfX2luaXQgcmQ4OGY1MTgxbF9meG9faW5pdCh2b2lkKQoreworCS8qCisJICogU2V0dXAgYmFzaWMgT3Jpb24gZnVuY3Rpb25zLiBOZWVkIHRvIGJlIGNhbGxlZCBlYXJseS4KKwkgKi8KKwlvcmlvbjV4X2luaXQoKTsKKworCW9yaW9uNXhfbXBwX2NvbmYocmQ4OGY1MTgxbF9meG9fbXBwX21vZGVzKTsKKworCS8qCisJICogQ29uZmlndXJlIHBlcmlwaGVyYWxzLgorCSAqLworCW9yaW9uNXhfZWhjaTBfaW5pdCgpOworCW9yaW9uNXhfZXRoX2luaXQoJnJkODhmNTE4MWxfZnhvX2V0aF9kYXRhKTsKKwlvcmlvbjV4X3VhcnQwX2luaXQoKTsKKworCW9yaW9uNXhfc2V0dXBfZGV2X2Jvb3Rfd2luKFJEODhGNTE4MUxfRlhPX05PUl9CT09UX0JBU0UsCisJCQkJICAgUkQ4OEY1MTgxTF9GWE9fTk9SX0JPT1RfU0laRSk7CisJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZyZDg4ZjUxODFsX2Z4b19ub3JfYm9vdF9mbGFzaCk7Cit9CisKK3N0YXRpYyBpbnQgX19pbml0CityZDg4ZjUxODFsX2Z4b19wY2lfbWFwX2lycShzdHJ1Y3QgcGNpX2RldiAqZGV2LCB1OCBzbG90LCB1OCBwaW4pCit7CisJaW50IGlycTsKKworCS8qCisJICogQ2hlY2sgZm9yIGRldmljZXMgd2l0aCBoYXJkLXdpcmVkIElSUXMuCisJICovCisJaXJxID0gb3Jpb241eF9wY2lfbWFwX2lycShkZXYsIHNsb3QsIHBpbik7CisJaWYgKGlycSAhPSAtMSkKKwkJcmV0dXJuIGlycTsKKworCS8qCisJICogTWluaS1QQ0kgLyBDYXJkYnVzIHNsb3QuCisJICovCisJcmV0dXJuIGdwaW9fdG9faXJxKDEpOworfQorCitzdGF0aWMgc3RydWN0IGh3X3BjaSByZDg4ZjUxODFsX2Z4b19wY2kgX19pbml0ZGF0YSA9IHsKKwkubnJfY29udHJvbGxlcnMJPSAyLAorCS5zd2l6emxlCT0gcGNpX3N0ZF9zd2l6emxlLAorCS5zZXR1cAkJPSBvcmlvbjV4X3BjaV9zeXNfc2V0dXAsCisJLnNjYW4JCT0gb3Jpb241eF9wY2lfc3lzX3NjYW5fYnVzLAorCS5tYXBfaXJxCT0gcmQ4OGY1MTgxbF9meG9fcGNpX21hcF9pcnEsCit9OworCitzdGF0aWMgaW50IF9faW5pdCByZDg4ZjUxODFsX2Z4b19wY2lfaW5pdCh2b2lkKQoreworCWlmIChtYWNoaW5lX2lzX3JkODhmNTE4MWxfZnhvKCkpIHsKKwkJb3Jpb241eF9wY2lfc2V0X2NhcmRidXNfbW9kZSgpOworCQlwY2lfY29tbW9uX2luaXQoJnJkODhmNTE4MWxfZnhvX3BjaSk7CisJfQorCisJcmV0dXJuIDA7Cit9CitzdWJzeXNfaW5pdGNhbGwocmQ4OGY1MTgxbF9meG9fcGNpX2luaXQpOworCitNQUNISU5FX1NUQVJUKFJEODhGNTE4MUxfRlhPLCAiTWFydmVsbCBPcmlvbi1Wb0lQIEZYTyBSZWZlcmVuY2UgRGVzaWduIikKKwkvKiBNYWludGFpbmVyOiBOaWNvbGFzIFBpdHJlIDxuaWNvQG1hcnZlbGwuY29tPiAqLworCS5waHlzX2lvCT0gT1JJT041WF9SRUdTX1BIWVNfQkFTRSwKKwkuaW9fcGdfb2Zmc3QJPSAoKE9SSU9ONVhfUkVHU19WSVJUX0JBU0UpID4+IDE4KSAmIDB4RkZGQywKKwkuYm9vdF9wYXJhbXMJPSAweDAwMDAwMTAwLAorCS5pbml0X21hY2hpbmUJPSByZDg4ZjUxODFsX2Z4b19pbml0LAorCS5tYXBfaW8JCT0gb3Jpb241eF9tYXBfaW8sCisJLmluaXRfaXJxCT0gb3Jpb241eF9pbml0X2lycSwKKwkudGltZXIJCT0gJm9yaW9uNXhfdGltZXIsCisJLmZpeHVwCQk9IHRhZ19maXh1cF9tZW0zMiwKK01BQ0hJTkVfRU5ECmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW9yaW9uNXgvcmQ4OGY1MTgxbC1nZS1zZXR1cC5jIGIvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L3JkODhmNTE4MWwtZ2Utc2V0dXAuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNTY0NDdkCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L3JkODhmNTE4MWwtZ2Utc2V0dXAuYwpAQCAtMCwwICsxLDE3MiBAQAorLyoKKyAqIGFyY2gvYXJtL21hY2gtb3Jpb241eC9yZDg4ZjUxODFsLWdlLXNldHVwLmMKKyAqCisgKiBNYXJ2ZWxsIE9yaW9uLVZvSVAgR0UgUmVmZXJlbmNlIERlc2lnbiBTZXR1cAorICoKKyAqIFRoaXMgZmlsZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSB2ZXJzaW9uIDIuICBUaGlzIHByb2dyYW0gaXMgbGljZW5zZWQgImFzIGlzIiB3aXRob3V0IGFueQorICogd2FycmFudHkgb2YgYW55IGtpbmQsIHdoZXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICovCisKKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CisjaW5jbHVkZSA8bGludXgvcGNpLmg+CisjaW5jbHVkZSA8bGludXgvaXJxLmg+CisjaW5jbHVkZSA8bGludXgvbXRkL3BoeXNtYXAuaD4KKyNpbmNsdWRlIDxsaW51eC9tdjY0M3h4X2V0aC5oPgorI2luY2x1ZGUgPGxpbnV4L2kyYy5oPgorI2luY2x1ZGUgPGFzbS9tYWNoLXR5cGVzLmg+CisjaW5jbHVkZSA8YXNtL2dwaW8uaD4KKyNpbmNsdWRlIDxhc20vbGVkcy5oPgorI2luY2x1ZGUgPGFzbS9tYWNoL2FyY2guaD4KKyNpbmNsdWRlIDxhc20vbWFjaC9wY2kuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9vcmlvbjV4Lmg+CisjaW5jbHVkZSAiY29tbW9uLmgiCisjaW5jbHVkZSAibXBwLmgiCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogUkQtODhGNTE4MUwgR0UgSW5mbworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKgorICogMTZNIE5PUiBmbGFzaCBEZXZpY2UgYnVzIGJvb3QgY2hpcCBzZWxlY3QKKyAqLworI2RlZmluZSBSRDg4RjUxODFMX0dFX05PUl9CT09UX0JBU0UJCTB4ZmYwMDAwMDAKKyNkZWZpbmUgUkQ4OEY1MTgxTF9HRV9OT1JfQk9PVF9TSVpFCQlTWl8xNk0KKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIDE2TSBOT1IgRmxhc2ggb24gRGV2aWNlIGJ1cyBCb290IGNoaXAgc2VsZWN0CisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3N0YXRpYyBzdHJ1Y3QgcGh5c21hcF9mbGFzaF9kYXRhIHJkODhmNTE4MWxfZ2Vfbm9yX2Jvb3RfZmxhc2hfZGF0YSA9IHsKKwkud2lkdGgJCT0gMSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgcmQ4OGY1MTgxbF9nZV9ub3JfYm9vdF9mbGFzaF9yZXNvdXJjZSA9IHsKKwkuZmxhZ3MJCT0gSU9SRVNPVVJDRV9NRU0sCisJLnN0YXJ0CQk9IFJEODhGNTE4MUxfR0VfTk9SX0JPT1RfQkFTRSwKKwkuZW5kCQk9IFJEODhGNTE4MUxfR0VfTk9SX0JPT1RfQkFTRSArCisJCQkgIFJEODhGNTE4MUxfR0VfTk9SX0JPT1RfU0laRSAtIDEsCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSByZDg4ZjUxODFsX2dlX25vcl9ib290X2ZsYXNoID0geworCS5uYW1lCQkJPSAicGh5c21hcC1mbGFzaCIsCisJLmlkCQkJPSAwLAorCS5kZXYJCT0geworCQkucGxhdGZvcm1fZGF0YQk9ICZyZDg4ZjUxODFsX2dlX25vcl9ib290X2ZsYXNoX2RhdGEsCisJfSwKKwkubnVtX3Jlc291cmNlcwkJPSAxLAorCS5yZXNvdXJjZQkJPSAmcmQ4OGY1MTgxbF9nZV9ub3JfYm9vdF9mbGFzaF9yZXNvdXJjZSwKK307CisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBHZW5lcmFsIFNldHVwCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3N0YXRpYyBzdHJ1Y3Qgb3Jpb241eF9tcHBfbW9kZSByZDg4ZjUxODFsX2dlX21wcF9tb2Rlc1tdIF9faW5pdGRhdGEgPSB7CisJeyAgMCwgTVBQX0dQSU8gfSwJCS8qIExFRDEgKi8KKwl7ICAxLCBNUFBfR1BJTyB9LAkJLyogTEVENSAqLworCXsgIDIsIE1QUF9HUElPIH0sCQkvKiBMRUQ0ICovCisJeyAgMywgTVBQX0dQSU8gfSwJCS8qIExFRDMgKi8KKwl7ICA0LCBNUFBfR1BJTyB9LAkJLyogUENJX2ludEEgKi8KKwl7ICA1LCBNUFBfR1BJTyB9LAkJLyogUlRDIGludGVycnVwdCAqLworCXsgIDYsIE1QUF9QQ0lfQ0xLIH0sCQkvKiBDUFUgUENJIHJlZmNsayAqLworCXsgIDcsIE1QUF9QQ0lfQ0xLIH0sCQkvKiBQQ0kvUENJZSByZWZjbGsgKi8KKwl7ICA4LCBNUFBfR1BJTyB9LAkJLyogODhlNjEzMSBpbnRlcnJ1cHQgKi8KKwl7ICA5LCBNUFBfR1BJTyB9LAkJLyogR0VfUlhFUlIgKi8KKwl7IDEwLCBNUFBfR1BJTyB9LAkJLyogUENJX2ludEIgKi8KKwl7IDExLCBNUFBfR1BJTyB9LAkJLyogTEVEMiAqLworCXsgMTIsIE1QUF9HSUdFIH0sCQkvKiBHRV9UWERbNF0gKi8KKwl7IDEzLCBNUFBfR0lHRSB9LAkJLyogR0VfVFhEWzVdICovCisJeyAxNCwgTVBQX0dJR0UgfSwJCS8qIEdFX1RYRFs2XSAqLworCXsgMTUsIE1QUF9HSUdFIH0sCQkvKiBHRV9UWERbN10gKi8KKwl7IDE2LCBNUFBfR0lHRSB9LAkJLyogR0VfUlhEWzRdICovCisJeyAxNywgTVBQX0dJR0UgfSwJCS8qIEdFX1JYRFs1XSAqLworCXsgMTgsIE1QUF9HSUdFIH0sCQkvKiBHRV9SWERbNl0gKi8KKwl7IDE5LCBNUFBfR0lHRSB9LAkJLyogR0VfUlhEWzddICovCisJeyAtMSB9LAorfTsKKworc3RhdGljIHN0cnVjdCBtdjY0M3h4X2V0aF9wbGF0Zm9ybV9kYXRhIHJkODhmNTE4MWxfZ2VfZXRoX2RhdGEgPSB7CisJLnBoeV9hZGRyCT0gLTEsCit9OworCitzdGF0aWMgc3RydWN0IGkyY19ib2FyZF9pbmZvIF9faW5pdGRhdGEgcmQ4OGY1MTgxbF9nZV9pMmNfcnRjID0geworCUkyQ19CT0FSRF9JTkZPKCJkczEzMzgiLCAweDY4KSwKK307CisKK3N0YXRpYyB2b2lkIF9faW5pdCByZDg4ZjUxODFsX2dlX2luaXQodm9pZCkKK3sKKwkvKgorCSAqIFNldHVwIGJhc2ljIE9yaW9uIGZ1bmN0aW9ucy4gTmVlZCB0byBiZSBjYWxsZWQgZWFybHkuCisJICovCisJb3Jpb241eF9pbml0KCk7CisKKwlvcmlvbjV4X21wcF9jb25mKHJkODhmNTE4MWxfZ2VfbXBwX21vZGVzKTsKKworCS8qCisJICogQ29uZmlndXJlIHBlcmlwaGVyYWxzLgorCSAqLworCW9yaW9uNXhfZWhjaTBfaW5pdCgpOworCW9yaW9uNXhfZXRoX2luaXQoJnJkODhmNTE4MWxfZ2VfZXRoX2RhdGEpOworCW9yaW9uNXhfaTJjX2luaXQoKTsKKwlvcmlvbjV4X3VhcnQwX2luaXQoKTsKKworCW9yaW9uNXhfc2V0dXBfZGV2X2Jvb3Rfd2luKFJEODhGNTE4MUxfR0VfTk9SX0JPT1RfQkFTRSwKKwkJCQkgICBSRDg4RjUxODFMX0dFX05PUl9CT09UX1NJWkUpOworCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmcmQ4OGY1MTgxbF9nZV9ub3JfYm9vdF9mbGFzaCk7CisKKwlpMmNfcmVnaXN0ZXJfYm9hcmRfaW5mbygwLCAmcmQ4OGY1MTgxbF9nZV9pMmNfcnRjLCAxKTsKK30KKworc3RhdGljIGludCBfX2luaXQKK3JkODhmNTE4MWxfZ2VfcGNpX21hcF9pcnEoc3RydWN0IHBjaV9kZXYgKmRldiwgdTggc2xvdCwgdTggcGluKQoreworCWludCBpcnE7CisKKwkvKgorCSAqIENoZWNrIGZvciBkZXZpY2VzIHdpdGggaGFyZC13aXJlZCBJUlFzLgorCSAqLworCWlycSA9IG9yaW9uNXhfcGNpX21hcF9pcnEoZGV2LCBzbG90LCBwaW4pOworCWlmIChpcnEgIT0gLTEpCisJCXJldHVybiBpcnE7CisKKwkvKgorCSAqIENhcmRidXMgc2xvdC4KKwkgKi8KKwlpZiAocGluID09IDEpCisJCXJldHVybiBncGlvX3RvX2lycSg0KTsKKwllbHNlCisJCXJldHVybiBncGlvX3RvX2lycSgxMCk7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgaHdfcGNpIHJkODhmNTE4MWxfZ2VfcGNpIF9faW5pdGRhdGEgPSB7CisJLm5yX2NvbnRyb2xsZXJzCT0gMiwKKwkuc3dpenpsZQk9IHBjaV9zdGRfc3dpenpsZSwKKwkuc2V0dXAJCT0gb3Jpb241eF9wY2lfc3lzX3NldHVwLAorCS5zY2FuCQk9IG9yaW9uNXhfcGNpX3N5c19zY2FuX2J1cywKKwkubWFwX2lycQk9IHJkODhmNTE4MWxfZ2VfcGNpX21hcF9pcnEsCit9OworCitzdGF0aWMgaW50IF9faW5pdCByZDg4ZjUxODFsX2dlX3BjaV9pbml0KHZvaWQpCit7CisJaWYgKG1hY2hpbmVfaXNfcmQ4OGY1MTgxbF9nZSgpKSB7CisJCW9yaW9uNXhfcGNpX3NldF9jYXJkYnVzX21vZGUoKTsKKwkJcGNpX2NvbW1vbl9pbml0KCZyZDg4ZjUxODFsX2dlX3BjaSk7CisJfQorCisJcmV0dXJuIDA7Cit9CitzdWJzeXNfaW5pdGNhbGwocmQ4OGY1MTgxbF9nZV9wY2lfaW5pdCk7CisKK01BQ0hJTkVfU1RBUlQoUkQ4OEY1MTgxTF9HRSwgIk1hcnZlbGwgT3Jpb24tVm9JUCBHRSBSZWZlcmVuY2UgRGVzaWduIikKKwkvKiBNYWludGFpbmVyOiBMZW5uZXJ0IEJ1eXRlbmhlayA8YnV5dGVuaEBtYXJ2ZWxsLmNvbT4gKi8KKwkucGh5c19pbwk9IE9SSU9ONVhfUkVHU19QSFlTX0JBU0UsCisJLmlvX3BnX29mZnN0CT0gKChPUklPTjVYX1JFR1NfVklSVF9CQVNFKSA+PiAxOCkgJiAweEZGRkMsCisJLmJvb3RfcGFyYW1zCT0gMHgwMDAwMDEwMCwKKwkuaW5pdF9tYWNoaW5lCT0gcmQ4OGY1MTgxbF9nZV9pbml0LAorCS5tYXBfaW8JCT0gb3Jpb241eF9tYXBfaW8sCisJLmluaXRfaXJxCT0gb3Jpb241eF9pbml0X2lycSwKKwkudGltZXIJCT0gJm9yaW9uNXhfdGltZXIsCisJLmZpeHVwCQk9IHRhZ19maXh1cF9tZW0zMiwKK01BQ0hJTkVfRU5ECmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW9yaW9uNXgvcmQ4OGY1MTgyLXNldHVwLmMgYi9hcmNoL2FybS9tYWNoLW9yaW9uNXgvcmQ4OGY1MTgyLXNldHVwLmMKaW5kZXggODFhYmMxMC4uMTBhZTYyOCAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L3JkODhmNTE4Mi1zZXR1cC5jCisrKyBiL2FyY2gvYXJtL21hY2gtb3Jpb241eC9yZDg4ZjUxODItc2V0dXAuYwpAQCAtMjYsNiArMjYsNyBAQAogI2luY2x1ZGUgPGFzbS9tYWNoL3BjaS5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL29yaW9uNXguaD4KICNpbmNsdWRlICJjb21tb24uaCIKKyNpbmNsdWRlICJtcHAuaCIKIAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBSRC04OEY1MTgyIEluZm8KQEAgLTEyNSw2ICsxMjYsNyBAQAogCiAJCWxlZHNfZXZlbnQgPSByZDg4ZjUxODJfZGJnbGVkX2V2ZW50OwogCX0KKwogCXJldHVybiAwOwogfQogCkBAIC0yMjAsNyArMjIyLDYgQEAKIAogc3RhdGljIHN0cnVjdCBtdjY0M3h4X2V0aF9wbGF0Zm9ybV9kYXRhIHJkODhmNTE4Ml9ldGhfZGF0YSA9IHsKIAkucGh5X2FkZHIJPSA4LAotCS5mb3JjZV9waHlfYWRkciA9IDEsCiB9OwogCiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKQEAgLTIzNCwxNSArMjM1LDM0IEBACiAgKiBTYXRhCiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KIHN0YXRpYyBzdHJ1Y3QgbXZfc2F0YV9wbGF0Zm9ybV9kYXRhIHJkODhmNTE4Ml9zYXRhX2RhdGEgPSB7Ci0JLm5fcG9ydHMgICAgICAgID0gMiwKKwkubl9wb3J0cwk9IDIsCiB9OwogCiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIEdlbmVyYWwgU2V0dXAKICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwotCi1zdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcmQ4OGY1MTgyX2RldmljZXNbXSBfX2luaXRkYXRhID0gewotCSZyZDg4ZjUxODJfbm9yX2ZsYXNoLAorc3RhdGljIHN0cnVjdCBvcmlvbjV4X21wcF9tb2RlIHJkODhmNTE4Ml9tcHBfbW9kZXNbXSBfX2luaXRkYXRhID0geworCXsgIDAsIE1QUF9HUElPIH0sCQkvKiBEZWJ1ZyBMZWQgKi8KKwl7ICAxLCBNUFBfR1BJTyB9LAkJLyogUmVzZXQgU3dpdGNoICovCisJeyAgMiwgTVBQX1VOVVNFRCB9LAorCXsgIDMsIE1QUF9HUElPIH0sCQkvKiBSVEMgSW50ICovCisJeyAgNCwgTVBQX0dQSU8gfSwKKwl7ICA1LCBNUFBfR1BJTyB9LAorCXsgIDYsIE1QUF9HUElPIH0sCQkvKiBQQ0lfaW50QSAqLworCXsgIDcsIE1QUF9HUElPIH0sCQkvKiBQQ0lfaW50QiAqLworCXsgIDgsIE1QUF9VTlVTRUQgfSwKKwl7ICA5LCBNUFBfVU5VU0VEIH0sCisJeyAxMCwgTVBQX1VOVVNFRCB9LAorCXsgMTEsIE1QUF9VTlVTRUQgfSwKKwl7IDEyLCBNUFBfU0FUQV9MRUQgfSwJCS8qIFNBVEEgMCBwcmVzZW5jZSAqLworCXsgMTMsIE1QUF9TQVRBX0xFRCB9LAkJLyogU0FUQSAxIHByZXNlbmNlICovCisJeyAxNCwgTVBQX1NBVEFfTEVEIH0sCQkvKiBTQVRBIDAgYWN0aXZlICovCisJeyAxNSwgTVBQX1NBVEFfTEVEIH0sCQkvKiBTQVRBIDEgYWN0aXZlICovCisJeyAxNiwgTVBQX1VOVVNFRCB9LAorCXsgMTcsIE1QUF9VTlVTRUQgfSwKKwl7IDE4LCBNUFBfVU5VU0VEIH0sCisJeyAxOSwgTVBQX1VOVVNFRCB9LAorCXsgLTEgfSwKIH07CiAKIHN0YXRpYyB2b2lkIF9faW5pdCByZDg4ZjUxODJfaW5pdCh2b2lkKQpAQCAtMjUyLDM1ICsyNzIsOSBAQAogCSAqLwogCW9yaW9uNXhfaW5pdCgpOwogCi0JLyoKLQkgKiBTZXR1cCB0aGUgQ1BVIGFkZHJlc3MgZGVjb2RlIHdpbmRvd3MgZm9yIG91ciBkZXZpY2VzCi0JICovCi0Jb3Jpb241eF9zZXR1cF9kZXZfYm9vdF93aW4oUkQ4OEY1MTgyX05PUl9CT09UX0JBU0UsCi0JCQkJUkQ4OEY1MTgyX05PUl9CT09UX1NJWkUpOwotCW9yaW9uNXhfc2V0dXBfZGV2MV93aW4oUkQ4OEY1MTgyX05PUl9CQVNFLCBSRDg4RjUxODJfTk9SX1NJWkUpOworCW9yaW9uNXhfbXBwX2NvbmYocmQ4OGY1MTgyX21wcF9tb2Rlcyk7CiAKIAkvKgotCSAqIE9wZW4gYSBzcGVjaWFsIGFkZHJlc3MgZGVjb2RlIHdpbmRvd3MgZm9yIHRoZSBQQ0llIFdBLgotCSAqLwotCW9yaW9uNXhfc2V0dXBfcGNpZV93YV93aW4oT1JJT041WF9QQ0lFX1dBX1BIWVNfQkFTRSwKLQkJCQlPUklPTjVYX1BDSUVfV0FfU0laRSk7Ci0KLQkvKgotCSAqIFNldHVwIE11bHRpcGxleGluZyBQaW5zIC0tCi0JICogTVBQWzBdIERlYnVnIExlZCAoR1BJTyAtIE91dCkKLQkgKiBNUFBbMV0gRGVidWcgTGVkIChHUElPIC0gT3V0KQotCSAqIE1QUFsyXSBOL0EKLQkgKiBNUFBbM10gUlRDX0ludCAoR1BJTyAtIEluKQotCSAqIE1QUFs0XSBHUElPCi0JICogTVBQWzVdIEdQSU8KLQkgKiBNUFBbNl0gUENJX2ludEEgKEdQSU8gLSBJbikKLQkgKiBNUFBbN10gUENJX2ludEIgKEdQSU8gLSBJbikKLQkgKiBNUFBbOC0xMV0gTi9BCi0JICogTVBQWzEyXSBTQVRBIDAgcHJlc2VuY2UgSW5kaWNhdGlvbgotCSAqIE1QUFsxM10gU0FUQSAxIHByZXNlbmNlIEluZGljYXRpb24KLQkgKiBNUFBbMTRdIFNBVEEgMCBhY3RpdmUgSW5kaWNhdGlvbgotCSAqIE1QUFsxNV0gU0FUQSAxIGFjdGl2ZSBpbmRpY2F0aW9uCi0JICogTVBQWzE2LTE5XSBOb3QgdXNlZAogCSAqIE1QUFsyMF0gUENJIENsb2NrIHRvIE1WODhGNTE4MgogCSAqIE1QUFsyMV0gUENJIENsb2NrIHRvIG1pbmkgUENJIENPTjExCiAJICogTVBQWzIyXSBVU0IgMCBvdmVyIGN1cnJlbnQgaW5kaWNhdGlvbgpAQCAtMjg5LDE2ICsyODMsMjMgQEAKIAkgKiBNUFBbMjVdIFVTQiAwIG92ZXIgY3VycmVudCBlbmFibGUKIAkgKi8KIAotCW9yaW9uNXhfd3JpdGUoTVBQXzBfN19DVFJMLCAweDAwMDAwMDAzKTsKLQlvcmlvbjV4X3dyaXRlKE1QUF84XzE1X0NUUkwsIDB4NTU1NTAwMDApOwotCW9yaW9uNXhfd3JpdGUoTVBQXzE2XzE5X0NUUkwsIDB4NTU1NSk7Ci0KLQlvcmlvbjV4X2dwaW9fc2V0X3ZhbGlkX3BpbnMoMHgwMDAwMDBmYik7Ci0KLQlwbGF0Zm9ybV9hZGRfZGV2aWNlcyhyZDg4ZjUxODJfZGV2aWNlcywgQVJSQVlfU0laRShyZDg4ZjUxODJfZGV2aWNlcykpOwotCWkyY19yZWdpc3Rlcl9ib2FyZF9pbmZvKDAsICZyZDg4ZjUxODJfaTJjX3J0YywgMSk7CisJLyoKKwkgKiBDb25maWd1cmUgcGVyaXBoZXJhbHMuCisJICovCisJb3Jpb241eF9laGNpMF9pbml0KCk7CisJb3Jpb241eF9laGNpMV9pbml0KCk7CiAJb3Jpb241eF9ldGhfaW5pdCgmcmQ4OGY1MTgyX2V0aF9kYXRhKTsKKwlvcmlvbjV4X2kyY19pbml0KCk7CiAJb3Jpb241eF9zYXRhX2luaXQoJnJkODhmNTE4Ml9zYXRhX2RhdGEpOworCW9yaW9uNXhfdWFydDBfaW5pdCgpOworCisJb3Jpb241eF9zZXR1cF9kZXZfYm9vdF93aW4oUkQ4OEY1MTgyX05PUl9CT09UX0JBU0UsCisJCQkJICAgUkQ4OEY1MTgyX05PUl9CT09UX1NJWkUpOworCisJb3Jpb241eF9zZXR1cF9kZXYxX3dpbihSRDg4RjUxODJfTk9SX0JBU0UsIFJEODhGNTE4Ml9OT1JfU0laRSk7CisJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZyZDg4ZjUxODJfbm9yX2ZsYXNoKTsKKworCWkyY19yZWdpc3Rlcl9ib2FyZF9pbmZvKDAsICZyZDg4ZjUxODJfaTJjX3J0YywgMSk7CiB9CiAKIE1BQ0hJTkVfU1RBUlQoUkQ4OEY1MTgyLCAiTWFydmVsbCBPcmlvbi1OQVMgUmVmZXJlbmNlIERlc2lnbiIpCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW9yaW9uNXgvdHMyMDktc2V0dXAuYyBiL2FyY2gvYXJtL21hY2gtb3Jpb241eC90czIwOS1zZXR1cC5jCmluZGV4IDlhZmI0MWUuLmE5Y2VmOTcgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtb3Jpb241eC90czIwOS1zZXR1cC5jCisrKyBiL2FyY2gvYXJtL21hY2gtb3Jpb241eC90czIwOS1zZXR1cC5jCkBAIC0yOCw2ICsyOCw4IEBACiAjaW5jbHVkZSA8YXNtL21hY2gvcGNpLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvb3Jpb241eC5oPgogI2luY2x1ZGUgImNvbW1vbi5oIgorI2luY2x1ZGUgIm1wcC5oIgorI2luY2x1ZGUgInRzeDA5LWNvbW1vbi5oIgogCiAjZGVmaW5lIFFOQVBfVFMyMDlfTk9SX0JPT1RfQkFTRSAweGY0MDAwMDAwCiAjZGVmaW5lIFFOQVBfVFMyMDlfTk9SX0JPT1RfU0laRSBTWl84TQpAQCAtNDcsNTIgKzQ5LDU0IEBACiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogc3RhdGljIHN0cnVjdCBtdGRfcGFydGl0aW9uIHFuYXBfdHMyMDlfcGFydGl0aW9uc1tdID0gewogCXsKLQkJLm5hbWUgICAgICAgPSAiVS1Cb290IiwKLQkJLnNpemUgICAgICAgPSAweDAwMDgwMDAwLAotCQkub2Zmc2V0ICAgICA9IDB4MDA3ODAwMDAsCi0JCS5tYXNrX2ZsYWdzID0gTVREX1dSSVRFQUJMRSwKKwkJLm5hbWUJCT0gIlUtQm9vdCIsCisJCS5zaXplCQk9IDB4MDAwODAwMDAsCisJCS5vZmZzZXQJCT0gMHgwMDc4MDAwMCwKKwkJLm1hc2tfZmxhZ3MJPSBNVERfV1JJVEVBQkxFLAogCX0sIHsKLQkJLm5hbWUgICA9ICJLZXJuZWwiLAotCQkuc2l6ZSAgID0gMHgwMDIwMDAwMCwKLQkJLm9mZnNldCA9IDAsCisJCS5uYW1lCQk9ICJLZXJuZWwiLAorCQkuc2l6ZQkJPSAweDAwMjAwMDAwLAorCQkub2Zmc2V0CQk9IDAsCiAJfSwgewotCQkubmFtZSAgID0gIlJvb3RGUzEiLAotCQkuc2l6ZSAgID0gMHgwMDQwMDAwMCwKLQkJLm9mZnNldCA9IDB4MDAyMDAwMDAsCisJCS5uYW1lCQk9ICJSb290RlMxIiwKKwkJLnNpemUJCT0gMHgwMDQwMDAwMCwKKwkJLm9mZnNldAkJPSAweDAwMjAwMDAwLAogCX0sIHsKLQkJLm5hbWUgICA9ICJSb290RlMyIiwKLQkJLnNpemUgICA9IDB4MDAxMDAwMDAsCi0JCS5vZmZzZXQgPSAweDAwNjAwMDAwLAorCQkubmFtZQkJPSAiUm9vdEZTMiIsCisJCS5zaXplCQk9IDB4MDAxMDAwMDAsCisJCS5vZmZzZXQJCT0gMHgwMDYwMDAwMCwKIAl9LCB7Ci0JCS5uYW1lICAgPSAiVS1Cb290IENvbmZpZyIsCi0JCS5zaXplICAgPSAweDAwMDIwMDAwLAotCQkub2Zmc2V0ID0gMHgwMDc2MDAwMCwKKwkJLm5hbWUJCT0gIlUtQm9vdCBDb25maWciLAorCQkuc2l6ZQkJPSAweDAwMDIwMDAwLAorCQkub2Zmc2V0CQk9IDB4MDA3NjAwMDAsCiAJfSwgewotCQkubmFtZSAgICAgICA9ICJOQVMgQ29uZmlnIiwKLQkJLnNpemUgICAgICAgPSAweDAwMDYwMDAwLAotCQkub2Zmc2V0ICAgICA9IDB4MDA3MDAwMDAsCi0JCS5tYXNrX2ZsYWdzID0gTVREX1dSSVRFQUJMRSwKLQl9CisJCS5uYW1lCQk9ICJOQVMgQ29uZmlnIiwKKwkJLnNpemUJCT0gMHgwMDA2MDAwMCwKKwkJLm9mZnNldAkJPSAweDAwNzAwMDAwLAorCQkubWFza19mbGFncwk9IE1URF9XUklURUFCTEUsCisJfSwKIH07CiAKIHN0YXRpYyBzdHJ1Y3QgcGh5c21hcF9mbGFzaF9kYXRhIHFuYXBfdHMyMDlfbm9yX2ZsYXNoX2RhdGEgPSB7Ci0JLndpZHRoICAgID0gMSwKLQkucGFydHMgICAgPSBxbmFwX3RzMjA5X3BhcnRpdGlvbnMsCi0JLm5yX3BhcnRzID0gQVJSQVlfU0laRShxbmFwX3RzMjA5X3BhcnRpdGlvbnMpCisJLndpZHRoCQk9IDEsCisJLnBhcnRzCQk9IHFuYXBfdHMyMDlfcGFydGl0aW9ucywKKwkubnJfcGFydHMJPSBBUlJBWV9TSVpFKHFuYXBfdHMyMDlfcGFydGl0aW9ucykKIH07CiAKIHN0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgcW5hcF90czIwOV9ub3JfZmxhc2hfcmVzb3VyY2UgPSB7Ci0JLmZsYWdzID0gSU9SRVNPVVJDRV9NRU0sCi0JLnN0YXJ0ID0gUU5BUF9UUzIwOV9OT1JfQk9PVF9CQVNFLAotCS5lbmQgICA9IFFOQVBfVFMyMDlfTk9SX0JPT1RfQkFTRSArIFFOQVBfVFMyMDlfTk9SX0JPT1RfU0laRSAtIDEsCisJLmZsYWdzCT0gSU9SRVNPVVJDRV9NRU0sCisJLnN0YXJ0CT0gUU5BUF9UUzIwOV9OT1JfQk9PVF9CQVNFLAorCS5lbmQJPSBRTkFQX1RTMjA5X05PUl9CT09UX0JBU0UgKyBRTkFQX1RTMjA5X05PUl9CT09UX1NJWkUgLSAxLAogfTsKIAogc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgcW5hcF90czIwOV9ub3JfZmxhc2ggPSB7Ci0JLm5hbWUgICAgICAgICAgPSAicGh5c21hcC1mbGFzaCIsCi0JLmlkICAgICAgICAgICAgPSAwLAotCS5kZXYgICAgICAgICAgID0geyAucGxhdGZvcm1fZGF0YSA9ICZxbmFwX3RzMjA5X25vcl9mbGFzaF9kYXRhLCB9LAotCS5yZXNvdXJjZSAgICAgID0gJnFuYXBfdHMyMDlfbm9yX2ZsYXNoX3Jlc291cmNlLAotCS5udW1fcmVzb3VyY2VzID0gMSwKKwkubmFtZQkJPSAicGh5c21hcC1mbGFzaCIsCisJLmlkCQk9IDAsCisJLmRldgkJPSB7CisJCS5wbGF0Zm9ybV9kYXRhCT0gJnFuYXBfdHMyMDlfbm9yX2ZsYXNoX2RhdGEsCisJfSwKKwkucmVzb3VyY2UJPSAmcW5hcF90czIwOV9ub3JfZmxhc2hfcmVzb3VyY2UsCisJLm51bV9yZXNvdXJjZXMJPSAxLAogfTsKIAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCkBAIC0xNjQsMTIgKzE2OCwxMiBAQAogfQogCiBzdGF0aWMgc3RydWN0IGh3X3BjaSBxbmFwX3RzMjA5X3BjaSBfX2luaXRkYXRhID0gewotCS5ucl9jb250cm9sbGVycyA9IDIsCi0JLnByZWluaXQgICAgICAgID0gcW5hcF90czIwOV9wY2lfcHJlaW5pdCwKLQkuc3dpenpsZSAgICAgICAgPSBwY2lfc3RkX3N3aXp6bGUsCi0JLnNldHVwICAgICAgICAgID0gb3Jpb241eF9wY2lfc3lzX3NldHVwLAotCS5zY2FuICAgICAgICAgICA9IG9yaW9uNXhfcGNpX3N5c19zY2FuX2J1cywKLQkubWFwX2lycSAgICAgICAgPSBxbmFwX3RzMjA5X3BjaV9tYXBfaXJxLAorCS5ucl9jb250cm9sbGVycwk9IDIsCisJLnByZWluaXQJPSBxbmFwX3RzMjA5X3BjaV9wcmVpbml0LAorCS5zd2l6emxlCT0gcGNpX3N0ZF9zd2l6emxlLAorCS5zZXR1cAkJPSBvcmlvbjV4X3BjaV9zeXNfc2V0dXAsCisJLnNjYW4JCT0gb3Jpb241eF9wY2lfc3lzX3NjYW5fYnVzLAorCS5tYXBfaXJxCT0gcW5hcF90czIwOV9wY2lfbWFwX2lycSwKIH07CiAKIHN0YXRpYyBpbnQgX19pbml0IHFuYXBfdHMyMDlfcGNpX2luaXQodm9pZCkKQEAgLTE4Myw5NiArMTg3LDYgQEAKIHN1YnN5c19pbml0Y2FsbChxbmFwX3RzMjA5X3BjaV9pbml0KTsKIAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBFdGhlcm5ldAotICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi0KLXN0YXRpYyBzdHJ1Y3QgbXY2NDN4eF9ldGhfcGxhdGZvcm1fZGF0YSBxbmFwX3RzMjA5X2V0aF9kYXRhID0gewotCS5waHlfYWRkciAgICAgICA9IDgsCi0JLmZvcmNlX3BoeV9hZGRyID0gMSwKLX07Ci0KLXN0YXRpYyBpbnQgX19pbml0IHBhcnNlX2hleF9uaWJibGUoY2hhciBuKQotewotCWlmIChuID49ICcwJyAmJiBuIDw9ICc5JykKLQkJcmV0dXJuIG4gLSAnMCc7Ci0KLQlpZiAobiA+PSAnQScgJiYgbiA8PSAnRicpCi0JCXJldHVybiBuIC0gJ0EnICsgMTA7Ci0KLQlpZiAobiA+PSAnYScgJiYgbiA8PSAnZicpCi0JCXJldHVybiBuIC0gJ2EnICsgMTA7Ci0KLQlyZXR1cm4gLTE7Ci19Ci0KLXN0YXRpYyBpbnQgX19pbml0IHBhcnNlX2hleF9ieXRlKGNvbnN0IGNoYXIgKmIpCi17Ci0JaW50IGhpOwotCWludCBsbzsKLQotCWhpID0gcGFyc2VfaGV4X25pYmJsZShiWzBdKTsKLQlsbyA9IHBhcnNlX2hleF9uaWJibGUoYlsxXSk7Ci0KLQlpZiAoaGkgPCAwIHx8IGxvIDwgMCkKLQkJcmV0dXJuIC0xOwotCi0JcmV0dXJuIChoaSA8PCA0KSB8IGxvOwotfQotCi1zdGF0aWMgaW50IF9faW5pdCBjaGVja19tYWNfYWRkcihjb25zdCBjaGFyICphZGRyX3N0cikKLXsKLQl1X2ludDhfdCBhZGRyWzZdOwotCWludCBpOwotCi0JZm9yIChpID0gMDsgaSA8IDY7IGkrKykgewotCQlpbnQgYnl0ZTsKLQotCQkvKgotCQkgKiBFbmZvcmNlICJ4eDp4eDp4eDp4eDp4eDp4eFxuIiBmb3JtYXQuCi0JCSAqLwotCQlpZiAoYWRkcl9zdHJbKGkgKiAzKSArIDJdICE9ICgoaSA8IDUpID8gJzonIDogJ1xuJykpCi0JCQlyZXR1cm4gLTE7Ci0KLQkJYnl0ZSA9IHBhcnNlX2hleF9ieXRlKGFkZHJfc3RyICsgKGkgKiAzKSk7Ci0JCWlmIChieXRlIDwgMCkKLQkJCXJldHVybiAtMTsKLQkJYWRkcltpXSA9IGJ5dGU7Ci0JfQotCi0JcHJpbnRrKEtFUk5fSU5GTyAidHMyMDk6IGZvdW5kIGV0aGVybmV0IG1hYyBhZGRyZXNzICIpOwotCWZvciAoaSA9IDA7IGkgPCA2OyBpKyspCi0JCXByaW50aygiJS4yeCVzIiwgYWRkcltpXSwgKGkgPCA1KSA/ICI6IiA6ICIuXG4iKTsKLQotCW1lbWNweShxbmFwX3RzMjA5X2V0aF9kYXRhLm1hY19hZGRyLCBhZGRyLCA2KTsKLQotCXJldHVybiAwOwotfQotCi0vKgotICogVGhlICdOQVMgQ29uZmlnJyBmbGFzaCBwYXJ0aXRpb24gaGFzIGFuIGV4dDIgZmlsZXN5c3RlbSB3aGljaAotICogY29udGFpbnMgYSBmaWxlIHRoYXQgaGFzIHRoZSBldGhlcm5ldCBNQUMgYWRkcmVzcyBpbiBwbGFpbiB0ZXh0Ci0gKiAoZm9ybWF0ICJ4eDp4eDp4eDp4eDp4eDp4eFxuIi4pCi0gKi8KLXN0YXRpYyB2b2lkIF9faW5pdCB0czIwOV9maW5kX21hY19hZGRyKHZvaWQpCi17Ci0JdW5zaWduZWQgbG9uZyBhZGRyOwotCi0JZm9yIChhZGRyID0gMHgwMDcwMDAwMDsgYWRkciA8IDB4MDA3NjAwMDA7IGFkZHIgKz0gMTAyNCkgewotCQljaGFyICpub3JfcGFnZTsKLQkJaW50IHJldCA9IDA7Ci0KLQkJbm9yX3BhZ2UgPSBpb3JlbWFwKFFOQVBfVFMyMDlfTk9SX0JPT1RfQkFTRSArIGFkZHIsIDEwMjQpOwotCQlpZiAobm9yX3BhZ2UgIT0gTlVMTCkgewotCQkJcmV0ID0gY2hlY2tfbWFjX2FkZHIobm9yX3BhZ2UpOwotCQkJaW91bm1hcChub3JfcGFnZSk7Ci0JCX0KLQotCQlpZiAocmV0ID09IDApCi0JCQlicmVhazsKLQl9Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogUlRDIFMzNTM5MEEgb24gSTJDIGJ1cwogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAKQEAgLTI4MCw3ICsxOTQsNyBAQAogCiBzdGF0aWMgc3RydWN0IGkyY19ib2FyZF9pbmZvIF9faW5pdGRhdGEgcW5hcF90czIwOV9pMmNfcnRjID0gewogCUkyQ19CT0FSRF9JTkZPKCJzMzUzOTBhIiwgMHgzMCksCi0gICAgICAgLmlycSAgICAgICAgID0gMCwKKwkuaXJxCT0gMCwKIH07CiAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCkBAIC0yOTcsNzAgKzIxMSw2MyBAQAogCQkuZ3BpbwkJPSBRTkFQX1RTMjA5X0dQSU9fS0VZX01FRElBLAogCQkuZGVzYwkJPSAiVVNCIENvcHkgQnV0dG9uIiwKIAkJLmFjdGl2ZV9sb3cJPSAxLAotCX0sCi0JeworCX0sIHsKIAkJLmNvZGUJCT0gS0VZX1BPV0VSLAogCQkuZ3BpbwkJPSBRTkFQX1RTMjA5X0dQSU9fS0VZX1JFU0VULAogCQkuZGVzYwkJPSAiUmVzZXQgQnV0dG9uIiwKIAkJLmFjdGl2ZV9sb3cJPSAxLAotCX0KKwl9LAogfTsKIAogc3RhdGljIHN0cnVjdCBncGlvX2tleXNfcGxhdGZvcm1fZGF0YSBxbmFwX3RzMjA5X2J1dHRvbl9kYXRhID0gewogCS5idXR0b25zCT0gcW5hcF90czIwOV9idXR0b25zLAotCS5uYnV0dG9ucyAgICAgICA9IEFSUkFZX1NJWkUocW5hcF90czIwOV9idXR0b25zKSwKKwkubmJ1dHRvbnMJPSBBUlJBWV9TSVpFKHFuYXBfdHMyMDlfYnV0dG9ucyksCiB9OwogCiBzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBxbmFwX3RzMjA5X2J1dHRvbl9kZXZpY2UgPSB7CiAJLm5hbWUJCT0gImdwaW8ta2V5cyIsCiAJLmlkCQk9IC0xLAogCS5udW1fcmVzb3VyY2VzCT0gMCwKLQkuZGV2CQk9IHsgLnBsYXRmb3JtX2RhdGEgID0gJnFuYXBfdHMyMDlfYnV0dG9uX2RhdGEsIH0sCisJLmRldgkJPSB7CisJCS5wbGF0Zm9ybV9kYXRhCT0gJnFuYXBfdHMyMDlfYnV0dG9uX2RhdGEsCisJfSwKIH07CiAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogU0FUQQogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiBzdGF0aWMgc3RydWN0IG12X3NhdGFfcGxhdGZvcm1fZGF0YSBxbmFwX3RzMjA5X3NhdGFfZGF0YSA9IHsKLQkubl9wb3J0cyAgICAgICAgPSAyLAorCS5uX3BvcnRzCT0gMiwKIH07CiAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogCiAgKiBHZW5lcmFsIFNldHVwCiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLQotc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnFuYXBfdHMyMDlfZGV2aWNlc1tdIF9faW5pdGRhdGEgPSB7Ci0JJnFuYXBfdHMyMDlfbm9yX2ZsYXNoLAotCSZxbmFwX3RzMjA5X2J1dHRvbl9kZXZpY2UsCitzdGF0aWMgc3RydWN0IG9yaW9uNXhfbXBwX21vZGUgdHMyMDlfbXBwX21vZGVzW10gX19pbml0ZGF0YSA9IHsKKwl7ICAwLCBNUFBfVU5VU0VEIH0sCisJeyAgMSwgTVBQX0dQSU8gfSwJCS8qIFVTQiBjb3B5IGJ1dHRvbiAqLworCXsgIDIsIE1QUF9HUElPIH0sCQkvKiBMb2FkIGRlZmF1bHRzIGJ1dHRvbiAqLworCXsgIDMsIE1QUF9HUElPIH0sCQkvKiBHUElPIFJUQyAqLworCXsgIDQsIE1QUF9VTlVTRUQgfSwKKwl7ICA1LCBNUFBfVU5VU0VEIH0sCisJeyAgNiwgTVBQX0dQSU8gfSwJCS8qIFBDSSBJbnQgQSAqLworCXsgIDcsIE1QUF9HUElPIH0sCQkvKiBQQ0kgSW50IEIgKi8KKwl7ICA4LCBNUFBfVU5VU0VEIH0sCisJeyAgOSwgTVBQX1VOVVNFRCB9LAorCXsgMTAsIE1QUF9VTlVTRUQgfSwKKwl7IDExLCBNUFBfVU5VU0VEIH0sCisJeyAxMiwgTVBQX1NBVEFfTEVEIH0sCQkvKiBTQVRBIDAgcHJlc2VuY2UgKi8KKwl7IDEzLCBNUFBfU0FUQV9MRUQgfSwJCS8qIFNBVEEgMSBwcmVzZW5jZSAqLworCXsgMTQsIE1QUF9TQVRBX0xFRCB9LAkJLyogU0FUQSAwIGFjdGl2ZSAqLworCXsgMTUsIE1QUF9TQVRBX0xFRCB9LAkJLyogU0FUQSAxIGFjdGl2ZSAqLworCXsgMTYsIE1QUF9VQVJUIH0sCQkvKiBVQVJUMSBSWEQgKi8KKwl7IDE3LCBNUFBfVUFSVCB9LAkJLyogVUFSVDEgVFhEICovCisJeyAxOCwgTVBQX0dQSU8gfSwJCS8qIFNXX1JTVCAqLworCXsgMTksIE1QUF9VTlVTRUQgfSwKKwl7IC0xIH0sCiB9OwogCi0vKgotICogUU5BUCBUUy1bMTJdMDkgc3BlY2lmaWMgcG93ZXIgb2ZmIG1ldGhvZCB2aWEgVUFSVDEtYXR0YWNoZWQgUElDCi0gKi8KLQotI2RlZmluZSBVQVJUMV9SRUcoeCkgIChVQVJUMV9WSVJUX0JBU0UgKyAoKFVBUlRfIyN4KSA8PCAyKSkKLQotc3RhdGljIHZvaWQgcW5hcF90czIwOV9wb3dlcl9vZmYodm9pZCkKLXsKLQkvKiAxOTIwMCBiYXVkIGRpdmlzb3IgKi8KLQljb25zdCB1bnNpZ25lZCBkaXZpc29yID0gKChPUklPTjVYX1RDTEsgKyAoOCAqIDE5MjAwKSkgLyAoMTYgKiAxOTIwMCkpOwotCi0JcHJfaW5mbygiJXM6IHRyaWdnZXJpbmcgcG93ZXItb2ZmLi4uXG4iLCBfX2Z1bmNfXyk7Ci0KLQkvKiBoaWphY2sgdWFydDEgYW5kIHJlc2V0IGludG8gc2FuZSBzdGF0ZSAoMTkyMDAsOG4xKSAqLwotCW9yaW9uNXhfd3JpdGUoVUFSVDFfUkVHKExDUiksIDB4ODMpOwotCW9yaW9uNXhfd3JpdGUoVUFSVDFfUkVHKERMTCksIGRpdmlzb3IgJiAweGZmKTsKLQlvcmlvbjV4X3dyaXRlKFVBUlQxX1JFRyhETE0pLCAoZGl2aXNvciA+PiA4KSAmIDB4ZmYpOwotCW9yaW9uNXhfd3JpdGUoVUFSVDFfUkVHKExDUiksIDB4MDMpOwotCW9yaW9uNXhfd3JpdGUoVUFSVDFfUkVHKElFUiksIDB4MDApOwotCW9yaW9uNXhfd3JpdGUoVUFSVDFfUkVHKEZDUiksIDB4MDApOwotCW9yaW9uNXhfd3JpdGUoVUFSVDFfUkVHKE1DUiksIDB4MDApOwotCi0JLyogc2VuZCB0aGUgcG93ZXItb2ZmIGNvbW1hbmQgJ0EnIHRvIFBJQyAqLwotCW9yaW9uNXhfd3JpdGUoVUFSVDFfUkVHKFRYKSwgJ0EnKTsKLX0KLQogc3RhdGljIHZvaWQgX19pbml0IHFuYXBfdHMyMDlfaW5pdCh2b2lkKQogewogCS8qCkBAIC0zNjgsNTEgKzI3NSwzMyBAQAogCSAqLwogCW9yaW9uNXhfaW5pdCgpOwogCi0JLyoKLQkgKiBTZXR1cCBmbGFzaCBtYXBwaW5nCi0JICovCi0Jb3Jpb241eF9zZXR1cF9kZXZfYm9vdF93aW4oUU5BUF9UUzIwOV9OT1JfQk9PVF9CQVNFLAotCQkJICAgIFFOQVBfVFMyMDlfTk9SX0JPT1RfU0laRSk7CisJb3Jpb241eF9tcHBfY29uZih0czIwOV9tcHBfbW9kZXMpOwogCiAJLyoKLQkgKiBPcGVuIGEgc3BlY2lhbCBhZGRyZXNzIGRlY29kZSB3aW5kb3dzIGZvciB0aGUgUENJZSBXQS4KLQkgKi8KLQlvcmlvbjV4X3NldHVwX3BjaWVfd2Ffd2luKE9SSU9ONVhfUENJRV9XQV9QSFlTX0JBU0UsCi0JCQkJT1JJT041WF9QQ0lFX1dBX1NJWkUpOwotCi0JLyoKLQkgKiBTZXR1cCBNdWx0aXBsZXhpbmcgUGlucyAtLQotCSAqIE1QUFswXSBSZXNlcnZlZAotCSAqIE1QUFsxXSBVU0IgY29weSBidXR0b24gKDAgYWN0aXZlKQotCSAqIE1QUFsyXSBMb2FkIGRlZmF1bHRzIGJ1dHRvbiAoMCBhY3RpdmUpCi0JICogTVBQWzNdIEdQSU8gUlRDCi0JICogTVBQWzQtNV0gUmVzZXJ2ZWQKLQkgKiBNUFBbNl0gUENJIEludCBBCi0JICogTVBQWzddIFBDSSBJbnQgQgotCSAqIE1QUFs4LTExXSBSZXNlcnZlZAotCSAqIE1QUFsxMl0gU0FUQSAwIHByZXNlbmNlCi0JICogTVBQWzEzXSBTQVRBIDEgcHJlc2VuY2UKLQkgKiBNUFBbMTRdIFNBVEEgMCBhY3RpdmUKLQkgKiBNUFBbMTVdIFNBVEEgMSBhY3RpdmUKLQkgKiBNUFBbMTZdIFVBUlQxIFJYRAotCSAqIE1QUFsxN10gVUFSVDEgVFhECi0JICogTVBQWzE4XSBTV19SU1QgKDAgYWN0aXZlKQotCSAqIE1QUFsxOV0gUmVzZXJ2ZWQKIAkgKiBNUFBbMjBdIFBDSSBjbG9jayAwCiAJICogTVBQWzIxXSBQQ0kgY2xvY2sgMQogCSAqIE1QUFsyMl0gVVNCIDAgb3ZlciBjdXJyZW50CiAJICogTVBQWzIzLTI1XSBSZXNlcnZlZAogCSAqLwotCW9yaW9uNXhfd3JpdGUoTVBQXzBfN19DVFJMLCAweDMpOwotCW9yaW9uNXhfd3JpdGUoTVBQXzhfMTVfQ1RSTCwgMHg1NTU1MDAwMCk7Ci0Jb3Jpb241eF93cml0ZShNUFBfMTZfMTlfQ1RSTCwgMHg1NTAwKTsKLQlvcmlvbjV4X2dwaW9fc2V0X3ZhbGlkX3BpbnMoMHgzY2MwZmZmKTsKIAotCS8qIHJlZ2lzdGVyIHRzMjA5IHNwZWNpZmljIHBvd2VyLW9mZiBtZXRob2QgKi8KLQlwbV9wb3dlcl9vZmYgPSBxbmFwX3RzMjA5X3Bvd2VyX29mZjsKKwkvKgorCSAqIENvbmZpZ3VyZSBwZXJpcGhlcmFscy4KKwkgKi8KKwlvcmlvbjV4X2VoY2kwX2luaXQoKTsKKwlvcmlvbjV4X2VoY2kxX2luaXQoKTsKKwlxbmFwX3RzeDA5X2ZpbmRfbWFjX2FkZHIoUU5BUF9UUzIwOV9OT1JfQk9PVF9CQVNFICsKKwkJCQkgcW5hcF90czIwOV9wYXJ0aXRpb25zWzVdLm9mZnNldCwKKwkJCQkgcW5hcF90czIwOV9wYXJ0aXRpb25zWzVdLnNpemUpOworCW9yaW9uNXhfZXRoX2luaXQoJnFuYXBfdHN4MDlfZXRoX2RhdGEpOworCW9yaW9uNXhfaTJjX2luaXQoKTsKKwlvcmlvbjV4X3NhdGFfaW5pdCgmcW5hcF90czIwOV9zYXRhX2RhdGEpOworCW9yaW9uNXhfdWFydDBfaW5pdCgpOwogCi0JcGxhdGZvcm1fYWRkX2RldmljZXMocW5hcF90czIwOV9kZXZpY2VzLAotCQkJCUFSUkFZX1NJWkUocW5hcF90czIwOV9kZXZpY2VzKSk7CisJb3Jpb241eF9zZXR1cF9kZXZfYm9vdF93aW4oUU5BUF9UUzIwOV9OT1JfQk9PVF9CQVNFLAorCQkJCSAgIFFOQVBfVFMyMDlfTk9SX0JPT1RfU0laRSk7CisJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZxbmFwX3RzMjA5X25vcl9mbGFzaCk7CisKKwlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJnFuYXBfdHMyMDlfYnV0dG9uX2RldmljZSk7CiAKIAkvKiBHZXQgUlRDIElSUSBhbmQgcmVnaXN0ZXIgdGhlIGNoaXAgKi8KIAlpZiAoZ3Bpb19yZXF1ZXN0KFRTMjA5X1JUQ19HUElPLCAicnRjIikgPT0gMCkgewpAQCAtNDI1LDE0ICszMTQsMTIgQEAKIAkJcHJfd2FybmluZygicW5hcF90czIwOV9pbml0OiBmYWlsZWQgdG8gZ2V0IFJUQyBJUlFcbiIpOwogCWkyY19yZWdpc3Rlcl9ib2FyZF9pbmZvKDAsICZxbmFwX3RzMjA5X2kyY19ydGMsIDEpOwogCi0JdHMyMDlfZmluZF9tYWNfYWRkcigpOwotCW9yaW9uNXhfZXRoX2luaXQoJnFuYXBfdHMyMDlfZXRoX2RhdGEpOwotCi0Jb3Jpb241eF9zYXRhX2luaXQoJnFuYXBfdHMyMDlfc2F0YV9kYXRhKTsKKwkvKiByZWdpc3RlciB0c3gwOSBzcGVjaWZpYyBwb3dlci1vZmYgbWV0aG9kICovCisJcG1fcG93ZXJfb2ZmID0gcW5hcF90c3gwOV9wb3dlcl9vZmY7CiB9CiAKIE1BQ0hJTkVfU1RBUlQoVFMyMDksICJRTkFQIFRTLTEwOS9UUy0yMDkiKQotCS8qIE1haW50YWluZXI6ICBCeXJvbiBCcmFkbGV5IDxieXJvbi5iYnJhZGxleUBnbWFpbC5jb20+ICovCisJLyogTWFpbnRhaW5lcjogQnlyb24gQnJhZGxleSA8Ynlyb24uYmJyYWRsZXlAZ21haWwuY29tPiAqLwogCS5waHlzX2lvCT0gT1JJT041WF9SRUdTX1BIWVNfQkFTRSwKIAkuaW9fcGdfb2Zmc3QJPSAoKE9SSU9ONVhfUkVHU19WSVJUX0JBU0UpID4+IDE4KSAmIDB4RkZGQywKIAkuYm9vdF9wYXJhbXMJPSAweDAwMDAwMTAwLApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L3RzNDA5LXNldHVwLmMgYi9hcmNoL2FybS9tYWNoLW9yaW9uNXgvdHM0MDktc2V0dXAuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMmYwZmYwCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L3RzNDA5LXNldHVwLmMKQEAgLTAsMCArMSwyNzMgQEAKKy8qCisgKiBRTkFQIFRTLTQwOSBCb2FyZCBTZXR1cAorICoKKyAqIE1haW50YWluZXI6IFN5bHZlciBCcnVuZWF1IDxzeWx2ZXIuYnJ1bmVhdUBnbWFpbC5jb20+CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbgorICogMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqLworCisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L3BjaS5oPgorI2luY2x1ZGUgPGxpbnV4L2lycS5oPgorI2luY2x1ZGUgPGxpbnV4L210ZC9waHlzbWFwLmg+CisjaW5jbHVkZSA8bGludXgvbXY2NDN4eF9ldGguaD4KKyNpbmNsdWRlIDxsaW51eC9ncGlvX2tleXMuaD4KKyNpbmNsdWRlIDxsaW51eC9pbnB1dC5oPgorI2luY2x1ZGUgPGxpbnV4L2kyYy5oPgorI2luY2x1ZGUgPGxpbnV4L3NlcmlhbF9yZWcuaD4KKyNpbmNsdWRlIDxhc20vbWFjaC10eXBlcy5oPgorI2luY2x1ZGUgPGFzbS9ncGlvLmg+CisjaW5jbHVkZSA8YXNtL21hY2gvYXJjaC5oPgorI2luY2x1ZGUgPGFzbS9tYWNoL3BjaS5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL29yaW9uNXguaD4KKyNpbmNsdWRlICJjb21tb24uaCIKKyNpbmNsdWRlICJtcHAuaCIKKyNpbmNsdWRlICJ0c3gwOS1jb21tb24uaCIKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBRTkFQIFRTLTQwOSBJbmZvCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoKKyAqIFFOQVAgVFMtNDA5IGhhcmR3YXJlIDoKKyAqIC0gTWFydmVsbCA4OEY1MjgxLUQwCisgKiAtIE1hcnZlbGwgODhTWDcwNDIgU0FUQSBjb250cm9sbGVyIChQQ0llKQorICogLSBNYXJ2ZWxsIDg4RTExMTggR2lnYWJpdCBFdGhlcm5ldCBQSFkKKyAqIC0gUlRDIFMzNTM5MEEgKEAweDMwKSBvbiBJMkMgYnVzCisgKiAtIDhNQiBOT1IgZmxhc2gKKyAqIC0gMjU2TUIgb2YgRERSLTIgUkFNCisgKi8KKworLyoKKyAqIDhNQiBOT1IgZmxhc2ggRGV2aWNlIGJ1cyBib290IGNoaXAgc2VsZWN0CisgKi8KKworI2RlZmluZSBRTkFQX1RTNDA5X05PUl9CT09UX0JBU0UgMHhmZjgwMDAwMAorI2RlZmluZSBRTkFQX1RTNDA5X05PUl9CT09UX1NJWkUgU1pfOE0KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIDhNaUIgTk9SIGZsYXNoLiBUaGUgc3RydWN0IG10ZF9wYXJ0aXRpb24gaXMgbm90IGluIHRoZSBzYW1lIG9yZGVyIGFzIHRoZQorICogICAgIHBhcnRpdGlvbnMgb24gdGhlIGRldmljZSBiZWNhdXNlIHdlIHdhbnQgdG8ga2VlcCBjb21wYXRhYmlsaXR5IHdpdGgKKyAqICAgICBleGlzdGluZyBRTkFQIGZpcm13YXJlLgorICoKKyAqIExheW91dCBhcyB1c2VkIGJ5IFFOQVA6CisgKiAgWzJdIDB4MDAwMDAwMDAtMHgwMDIwMDAwMCA6ICJLZXJuZWwiCisgKiAgWzNdIDB4MDAyMDAwMDAtMHgwMDYwMDAwMCA6ICJSb290RlMxIgorICogIFs0XSAweDAwNjAwMDAwLTB4MDA3MDAwMDAgOiAiUm9vdEZTMiIKKyAqICBbNl0gMHgwMDcwMDAwMC0weDAwNzYwMDAwIDogIk5BUyBDb25maWciIChyZWFkLW9ubHkpCisgKiAgWzVdIDB4MDA3NjAwMDAtMHgwMDc4MDAwMCA6ICJVLUJvb3QgQ29uZmlnIgorICogIFsxXSAweDAwNzgwMDAwLTB4MDA4MDAwMDAgOiAiVS1Cb290IiAocmVhZC1vbmx5KQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3N0YXRpYyBzdHJ1Y3QgbXRkX3BhcnRpdGlvbiBxbmFwX3RzNDA5X3BhcnRpdGlvbnNbXSA9IHsKKwl7CisJCS5uYW1lCQk9ICJVLUJvb3QiLAorCQkuc2l6ZQkJPSAweDAwMDgwMDAwLAorCQkub2Zmc2V0CQk9IDB4MDA3ODAwMDAsCisJCS5tYXNrX2ZsYWdzCT0gTVREX1dSSVRFQUJMRSwKKwl9LCB7CisJCS5uYW1lCQk9ICJLZXJuZWwiLAorCQkuc2l6ZQkJPSAweDAwMjAwMDAwLAorCQkub2Zmc2V0CQk9IDAsCisJfSwgeworCQkubmFtZQkJPSAiUm9vdEZTMSIsCisJCS5zaXplCQk9IDB4MDA0MDAwMDAsCisJCS5vZmZzZXQJCT0gMHgwMDIwMDAwMCwKKwl9LCB7CisJCS5uYW1lCQk9ICJSb290RlMyIiwKKwkJLnNpemUJCT0gMHgwMDEwMDAwMCwKKwkJLm9mZnNldAkJPSAweDAwNjAwMDAwLAorCX0sIHsKKwkJLm5hbWUJCT0gIlUtQm9vdCBDb25maWciLAorCQkuc2l6ZQkJPSAweDAwMDIwMDAwLAorCQkub2Zmc2V0CQk9IDB4MDA3NjAwMDAsCisJfSwgeworCQkubmFtZQkJPSAiTkFTIENvbmZpZyIsCisJCS5zaXplCQk9IDB4MDAwNjAwMDAsCisJCS5vZmZzZXQJCT0gMHgwMDcwMDAwMCwKKwkJLm1hc2tfZmxhZ3MJPSBNVERfV1JJVEVBQkxFLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IHBoeXNtYXBfZmxhc2hfZGF0YSBxbmFwX3RzNDA5X25vcl9mbGFzaF9kYXRhID0geworCS53aWR0aAkJPSAxLAorCS5wYXJ0cwkJPSBxbmFwX3RzNDA5X3BhcnRpdGlvbnMsCisJLm5yX3BhcnRzCT0gQVJSQVlfU0laRShxbmFwX3RzNDA5X3BhcnRpdGlvbnMpCit9OworCitzdGF0aWMgc3RydWN0IHJlc291cmNlIHFuYXBfdHM0MDlfbm9yX2ZsYXNoX3Jlc291cmNlID0geworCS5mbGFncwk9IElPUkVTT1VSQ0VfTUVNLAorCS5zdGFydAk9IFFOQVBfVFM0MDlfTk9SX0JPT1RfQkFTRSwKKwkuZW5kCT0gUU5BUF9UUzQwOV9OT1JfQk9PVF9CQVNFICsgUU5BUF9UUzQwOV9OT1JfQk9PVF9TSVpFIC0gMSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIHFuYXBfdHM0MDlfbm9yX2ZsYXNoID0geworCS5uYW1lCQk9ICJwaHlzbWFwLWZsYXNoIiwKKwkuaWQJCT0gMCwKKwkuZGV2CQk9IHsgLnBsYXRmb3JtX2RhdGEgPSAmcW5hcF90czQwOV9ub3JfZmxhc2hfZGF0YSwgfSwKKwkubnVtX3Jlc291cmNlcwk9IDEsCisJLnJlc291cmNlCT0gJnFuYXBfdHM0MDlfbm9yX2ZsYXNoX3Jlc291cmNlLAorfTsKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBQQ0kKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCitzdGF0aWMgaW50IF9faW5pdCBxbmFwX3RzNDA5X3BjaV9tYXBfaXJxKHN0cnVjdCBwY2lfZGV2ICpkZXYsIHU4IHNsb3QsIHU4IHBpbikKK3sKKwlpbnQgaXJxOworCisJLyoKKwkgKiBDaGVjayBmb3IgZGV2aWNlcyB3aXRoIGhhcmQtd2lyZWQgSVJRcy4KKwkgKi8KKwlpcnEgPSBvcmlvbjV4X3BjaV9tYXBfaXJxKGRldiwgc2xvdCwgcGluKTsKKwlpZiAoaXJxICE9IC0xKQorCQlyZXR1cm4gaXJxOworCisJLyoKKwkgKiBQQ0kgaXNuJ3QgdXNlZCBvbiB0aGUgVFMtNDA5CisJICovCisJcmV0dXJuIC0xOworfQorCitzdGF0aWMgc3RydWN0IGh3X3BjaSBxbmFwX3RzNDA5X3BjaSBfX2luaXRkYXRhID0geworCS5ucl9jb250cm9sbGVycwk9IDIsCisJLnN3aXp6bGUJPSBwY2lfc3RkX3N3aXp6bGUsCisJLnNldHVwCQk9IG9yaW9uNXhfcGNpX3N5c19zZXR1cCwKKwkuc2NhbgkJPSBvcmlvbjV4X3BjaV9zeXNfc2Nhbl9idXMsCisJLm1hcF9pcnEJPSBxbmFwX3RzNDA5X3BjaV9tYXBfaXJxLAorfTsKKworc3RhdGljIGludCBfX2luaXQgcW5hcF90czQwOV9wY2lfaW5pdCh2b2lkKQoreworCWlmIChtYWNoaW5lX2lzX3RzNDA5KCkpCisJCXBjaV9jb21tb25faW5pdCgmcW5hcF90czQwOV9wY2kpOworCisJcmV0dXJuIDA7Cit9CisKK3N1YnN5c19pbml0Y2FsbChxbmFwX3RzNDA5X3BjaV9pbml0KTsKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBSVEMgUzM1MzkwQSBvbiBJMkMgYnVzCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2RlZmluZSBUUzQwOV9SVENfR1BJTwkxMAorCitzdGF0aWMgc3RydWN0IGkyY19ib2FyZF9pbmZvIF9faW5pdGRhdGEgcW5hcF90czQwOV9pMmNfcnRjID0geworCUkyQ19CT0FSRF9JTkZPKCJzMzUzOTBhIiwgMHgzMCksCit9OworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogR1BJTyBBdHRhY2hlZCBLZXlzCisgKiAgICAgUG93ZXIgYnV0dG9uIGlzIGF0dGFjaGVkIHRvIHRoZSBQSUMgbWljcm9jb250cm9sbGVyCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2RlZmluZSBRTkFQX1RTNDA5X0dQSU9fS0VZX01FRElBCTE1CisKK3N0YXRpYyBzdHJ1Y3QgZ3Bpb19rZXlzX2J1dHRvbiBxbmFwX3RzNDA5X2J1dHRvbnNbXSA9IHsKKwl7CisJCS5jb2RlCQk9IEtFWV9SRVNUQVJULAorCQkuZ3BpbwkJPSBRTkFQX1RTNDA5X0dQSU9fS0VZX01FRElBLAorCQkuZGVzYwkJPSAiVVNCIENvcHkgQnV0dG9uIiwKKwkJLmFjdGl2ZV9sb3cJPSAxLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IGdwaW9fa2V5c19wbGF0Zm9ybV9kYXRhIHFuYXBfdHM0MDlfYnV0dG9uX2RhdGEgPSB7CisJLmJ1dHRvbnMJPSBxbmFwX3RzNDA5X2J1dHRvbnMsCisJLm5idXR0b25zCT0gQVJSQVlfU0laRShxbmFwX3RzNDA5X2J1dHRvbnMpLAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgcW5hcF90czQwOV9idXR0b25fZGV2aWNlID0geworCS5uYW1lCQk9ICJncGlvLWtleXMiLAorCS5pZAkJPSAtMSwKKwkubnVtX3Jlc291cmNlcwk9IDAsCisJLmRldgkJPSB7CisJCS5wbGF0Zm9ybV9kYXRhCT0gJnFuYXBfdHM0MDlfYnV0dG9uX2RhdGEsCisJfSwKK307CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogR2VuZXJhbCBTZXR1cAorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitzdGF0aWMgc3RydWN0IG9yaW9uNXhfbXBwX21vZGUgdHM0MDlfbXBwX21vZGVzW10gX19pbml0ZGF0YSA9IHsKKwl7ICAwLCBNUFBfVU5VU0VEIH0sCisJeyAgMSwgTVBQX1VOVVNFRCB9LAorCXsgIDIsIE1QUF9VTlVTRUQgfSwKKwl7ICAzLCBNUFBfVU5VU0VEIH0sCisJeyAgNCwgTVBQX0dQSU8gfSwJCS8qIEhERCAxIHN0YXR1cyAqLworCXsgIDUsIE1QUF9HUElPIH0sCQkvKiBIREQgMiBzdGF0dXMgKi8KKwl7ICA2LCBNUFBfR1BJTyB9LAkJLyogSEREIDMgc3RhdHVzICovCisJeyAgNywgTVBQX0dQSU8gfSwJCS8qIEhERCA0IHN0YXR1cyAqLworCXsgIDgsIE1QUF9VTlVTRUQgfSwKKwl7ICA5LCBNUFBfVU5VU0VEIH0sCisJeyAxMCwgTVBQX0dQSU8gfSwJCS8qIFJUQyBpbnQgKi8KKwl7IDExLCBNUFBfVU5VU0VEIH0sCisJeyAxMiwgTVBQX1VOVVNFRCB9LAorCXsgMTMsIE1QUF9VTlVTRUQgfSwKKwl7IDE0LCBNUFBfR1BJTyB9LAkJLyogU1dfUlNUICovCisJeyAxNSwgTVBQX0dQSU8gfSwJCS8qIFVTQiBjb3B5IGJ1dHRvbiAqLworCXsgMTYsIE1QUF9VQVJUIH0sCQkvKiBVQVJUMSBSWEQgKi8KKwl7IDE3LCBNUFBfVUFSVCB9LAkJLyogVUFSVDEgVFhEICovCisJeyAxOCwgTVBQX1VOVVNFRCB9LAorCXsgMTksIE1QUF9VTlVTRUQgfSwKKwl7IC0xIH0sCit9OworCitzdGF0aWMgdm9pZCBfX2luaXQgcW5hcF90czQwOV9pbml0KHZvaWQpCit7CisJLyoKKwkgKiBTZXR1cCBiYXNpYyBPcmlvbiBmdW5jdGlvbnMuIE5lZWQgdG8gYmUgY2FsbGVkIGVhcmx5LgorCSAqLworCW9yaW9uNXhfaW5pdCgpOworCisJb3Jpb241eF9tcHBfY29uZih0czQwOV9tcHBfbW9kZXMpOworCisJLyoKKwkgKiBDb25maWd1cmUgcGVyaXBoZXJhbHMuCisJICovCisJb3Jpb241eF9laGNpMF9pbml0KCk7CisJcW5hcF90c3gwOV9maW5kX21hY19hZGRyKFFOQVBfVFM0MDlfTk9SX0JPT1RfQkFTRSArCisJCQkJIHFuYXBfdHM0MDlfcGFydGl0aW9uc1s1XS5vZmZzZXQsCisJCQkJIHFuYXBfdHM0MDlfcGFydGl0aW9uc1s1XS5zaXplKTsKKwlvcmlvbjV4X2V0aF9pbml0KCZxbmFwX3RzeDA5X2V0aF9kYXRhKTsKKwlvcmlvbjV4X2kyY19pbml0KCk7CisJb3Jpb241eF91YXJ0MF9pbml0KCk7CisKKwlvcmlvbjV4X3NldHVwX2Rldl9ib290X3dpbihRTkFQX1RTNDA5X05PUl9CT09UX0JBU0UsCisJCQkJICAgUU5BUF9UUzQwOV9OT1JfQk9PVF9TSVpFKTsKKwlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJnFuYXBfdHM0MDlfbm9yX2ZsYXNoKTsKKworCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmcW5hcF90czQwOV9idXR0b25fZGV2aWNlKTsKKworCS8qIEdldCBSVEMgSVJRIGFuZCByZWdpc3RlciB0aGUgY2hpcCAqLworCWlmIChncGlvX3JlcXVlc3QoVFM0MDlfUlRDX0dQSU8sICJydGMiKSA9PSAwKSB7CisJCWlmIChncGlvX2RpcmVjdGlvbl9pbnB1dChUUzQwOV9SVENfR1BJTykgPT0gMCkKKwkJCXFuYXBfdHM0MDlfaTJjX3J0Yy5pcnEgPSBncGlvX3RvX2lycShUUzQwOV9SVENfR1BJTyk7CisJCWVsc2UKKwkJCWdwaW9fZnJlZShUUzQwOV9SVENfR1BJTyk7CisJfQorCWlmIChxbmFwX3RzNDA5X2kyY19ydGMuaXJxID09IDApCisJCXByX3dhcm5pbmcoInFuYXBfdHM0MDlfaW5pdDogZmFpbGVkIHRvIGdldCBSVEMgSVJRXG4iKTsKKwlpMmNfcmVnaXN0ZXJfYm9hcmRfaW5mbygwLCAmcW5hcF90czQwOV9pMmNfcnRjLCAxKTsKKworCS8qIHJlZ2lzdGVyIHRzeDA5IHNwZWNpZmljIHBvd2VyLW9mZiBtZXRob2QgKi8KKwlwbV9wb3dlcl9vZmYgPSBxbmFwX3RzeDA5X3Bvd2VyX29mZjsKK30KKworTUFDSElORV9TVEFSVChUUzQwOSwgIlFOQVAgVFMtNDA5IikKKwkvKiBNYWludGFpbmVyOiAgU3lsdmVyIEJydW5lYXUgPHN5bHZlci5icnVuZWF1QGdtYWlsLmNvbT4gKi8KKwkucGh5c19pbwk9IE9SSU9ONVhfUkVHU19QSFlTX0JBU0UsCisJLmlvX3BnX29mZnN0CT0gKChPUklPTjVYX1JFR1NfVklSVF9CQVNFKSA+PiAxOCkgJiAweEZGRkMsCisJLmJvb3RfcGFyYW1zCT0gMHgwMDAwMDEwMCwKKwkuaW5pdF9tYWNoaW5lCT0gcW5hcF90czQwOV9pbml0LAorCS5tYXBfaW8JCT0gb3Jpb241eF9tYXBfaW8sCisJLmluaXRfaXJxCT0gb3Jpb241eF9pbml0X2lycSwKKwkudGltZXIJCT0gJm9yaW9uNXhfdGltZXIsCisJLmZpeHVwCQk9IHRhZ19maXh1cF9tZW0zMiwKK01BQ0hJTkVfRU5ECmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW9yaW9uNXgvdHM3OHh4LXNldHVwLmMgYi9hcmNoL2FybS9tYWNoLW9yaW9uNXgvdHM3OHh4LXNldHVwLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzdlOWYzNQotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gtb3Jpb241eC90czc4eHgtc2V0dXAuYwpAQCAtMCwwICsxLDI3NyBAQAorLyoKKyAqIGFyY2gvYXJtL21hY2gtb3Jpb241eC90czc4eHgtc2V0dXAuYworICoKKyAqIE1haW50YWluZXI6IEFsZXhhbmRlciBDbG91dGVyIDxhbGV4QGRpZ3Jpei5vcmcudWs+CisgKgorICogVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIHZlcnNpb24gMi4gIFRoaXMgcHJvZ3JhbSBpcyBsaWNlbnNlZCAiYXMgaXMiIHdpdGhvdXQgYW55CisgKiB3YXJyYW50eSBvZiBhbnkga2luZCwgd2hldGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9tdGQvcGh5c21hcC5oPgorI2luY2x1ZGUgPGxpbnV4L212NjQzeHhfZXRoLmg+CisjaW5jbHVkZSA8bGludXgvYXRhX3BsYXRmb3JtLmg+CisjaW5jbHVkZSA8bGludXgvbTQ4dDg2Lmg+CisjaW5jbHVkZSA8YXNtL21hY2gtdHlwZXMuaD4KKyNpbmNsdWRlIDxhc20vbWFjaC9hcmNoLmg+CisjaW5jbHVkZSA8YXNtL21hY2gvbWFwLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvb3Jpb241eC5oPgorI2luY2x1ZGUgImNvbW1vbi5oIgorI2luY2x1ZGUgIm1wcC5oIgorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFRTLTc4eHggSW5mbworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qCisgKiBGUEdBIC0gbGl2ZXMgd2hlcmUgdGhlIFBDSSBidXMgd291bGQgYmUgYXQgT1JJT041WF9QQ0lfTUVNX1BIWVNfQkFTRQorICovCisjZGVmaW5lIFRTNzhYWF9GUEdBX1JFR1NfUEhZU19CQVNFCTB4ZTgwMDAwMDAKKyNkZWZpbmUgVFM3OFhYX0ZQR0FfUkVHU19WSVJUX0JBU0UJMHhmZjkwMDAwMAorI2RlZmluZSBUUzc4WFhfRlBHQV9SRUdTX1NJWkUJCVNaXzFNCisKKyNkZWZpbmUgVFM3OFhYX0ZQR0FfUkVHU19TWVNDT05fSUQJKFRTNzhYWF9GUEdBX1JFR1NfVklSVF9CQVNFIHwgMHgwMDApCisjZGVmaW5lIFRTNzhYWF9GUEdBX1JFR1NfU1lTQ09OX0xDREkJKFRTNzhYWF9GUEdBX1JFR1NfVklSVF9CQVNFIHwgMHgwMDQpCisjZGVmaW5lIFRTNzhYWF9GUEdBX1JFR1NfU1lTQ09OX0xDRE8JKFRTNzhYWF9GUEdBX1JFR1NfVklSVF9CQVNFIHwgMHgwMDgpCisKKyNkZWZpbmUgVFM3OFhYX0ZQR0FfUkVHU19SVENfQ1RSTAkoVFM3OFhYX0ZQR0FfUkVHU19WSVJUX0JBU0UgfCAweDgwOCkKKyNkZWZpbmUgVFM3OFhYX0ZQR0FfUkVHU19SVENfREFUQQkoVFM3OFhYX0ZQR0FfUkVHU19WSVJUX0JBU0UgfCAweDgwYykKKworLyoKKyAqIDUxMmtCIE5PUiBmbGFzaCBEZXZpY2UKKyAqLworI2RlZmluZSBUUzc4WFhfTk9SX0JPT1RfQkFTRQkJMHhmZjgwMDAwMAorI2RlZmluZSBUUzc4WFhfTk9SX0JPT1RfU0laRQkJU1pfNTEySworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEkvTyBBZGRyZXNzIE1hcHBpbmcKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworc3RhdGljIHN0cnVjdCBtYXBfZGVzYyB0czc4eHhfaW9fZGVzY1tdIF9faW5pdGRhdGEgPSB7CisJeworCQkudmlydHVhbAk9IFRTNzhYWF9GUEdBX1JFR1NfVklSVF9CQVNFLAorCQkucGZuCQk9IF9fcGh5c190b19wZm4oVFM3OFhYX0ZQR0FfUkVHU19QSFlTX0JBU0UpLAorCQkubGVuZ3RoCQk9IFRTNzhYWF9GUEdBX1JFR1NfU0laRSwKKwkJLnR5cGUJCT0gTVRfREVWSUNFLAorCX0sCit9OworCit2b2lkIF9faW5pdCB0czc4eHhfbWFwX2lvKHZvaWQpCit7CisJb3Jpb241eF9tYXBfaW8oKTsKKwlpb3RhYmxlX2luaXQodHM3OHh4X2lvX2Rlc2MsIEFSUkFZX1NJWkUodHM3OHh4X2lvX2Rlc2MpKTsKK30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiA1MTJrQiBOT1IgQm9vdCBGbGFzaCAtIHRoZSBjaGlwIGlzIGEgTTI1UDQwCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3N0YXRpYyBzdHJ1Y3QgbXRkX3BhcnRpdGlvbiB0czc4eHhfbm9yX2Jvb3RfZmxhc2hfcmVzb3VyY2VzW10gPSB7CisJeworCQkubmFtZQkJPSAidHMtYm9vdHJvbSIsCisJCS5vZmZzZXQJCT0gMCwKKwkJLyogb25seSB0aGUgZmlyc3QgMjU2a0IgaXMgdXNlZCAqLworCQkuc2l6ZQkJPSBTWl8yNTZLLAorCQkubWFza19mbGFncwk9IE1URF9XUklURUFCTEUsCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGh5c21hcF9mbGFzaF9kYXRhIHRzNzh4eF9ub3JfYm9vdF9mbGFzaF9kYXRhID0geworCS53aWR0aAkJPSAxLAorCS5wYXJ0cwkJPSB0czc4eHhfbm9yX2Jvb3RfZmxhc2hfcmVzb3VyY2VzLAorCS5ucl9wYXJ0cwk9IEFSUkFZX1NJWkUodHM3OHh4X25vcl9ib290X2ZsYXNoX3Jlc291cmNlcyksCit9OworCitzdGF0aWMgc3RydWN0IHJlc291cmNlIHRzNzh4eF9ub3JfYm9vdF9mbGFzaF9yZXNvdXJjZSA9IHsKKwkuZmxhZ3MJCT0gSU9SRVNPVVJDRV9NRU0sCisJLnN0YXJ0CQk9IFRTNzhYWF9OT1JfQk9PVF9CQVNFLAorCS5lbmQJCT0gVFM3OFhYX05PUl9CT09UX0JBU0UgKyBUUzc4WFhfTk9SX0JPT1RfU0laRSAtIDEsCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSB0czc4eHhfbm9yX2Jvb3RfZmxhc2ggPSB7CisJLm5hbWUJCT0gInBoeXNtYXAtZmxhc2giLAorCS5pZAkJPSAtMSwKKwkuZGV2CQk9IHsKKwkJLnBsYXRmb3JtX2RhdGEJPSAmdHM3OHh4X25vcl9ib290X2ZsYXNoX2RhdGEsCisJfSwKKwkubnVtX3Jlc291cmNlcwk9IDEsCisJLnJlc291cmNlCT0gJnRzNzh4eF9ub3JfYm9vdF9mbGFzaF9yZXNvdXJjZSwKK307CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRXRoZXJuZXQKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworc3RhdGljIHN0cnVjdCBtdjY0M3h4X2V0aF9wbGF0Zm9ybV9kYXRhIHRzNzh4eF9ldGhfZGF0YSA9IHsKKwkucGh5X2FkZHIJPSAwLAorCS5mb3JjZV9waHlfYWRkciA9IDEsCit9OworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFJUQyBNNDhUODYgLSBuaWNrZWReV2JvcnJvd2VkIGZyb20gYXJjaC9hcm0vbWFjaC1lcDkzeHgvdHM3Mnh4LmMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2lmZGVmIENPTkZJR19SVENfRFJWX000OFQ4Ngorc3RhdGljIHVuc2lnbmVkIGNoYXIgdHM3OHh4X3J0Y19yZWFkYnl0ZSh1bnNpZ25lZCBsb25nIGFkZHIpCit7CisJd3JpdGViKGFkZHIsIFRTNzhYWF9GUEdBX1JFR1NfUlRDX0NUUkwpOworCXJldHVybiByZWFkYihUUzc4WFhfRlBHQV9SRUdTX1JUQ19EQVRBKTsKK30KKworc3RhdGljIHZvaWQgdHM3OHh4X3J0Y193cml0ZWJ5dGUodW5zaWduZWQgY2hhciB2YWx1ZSwgdW5zaWduZWQgbG9uZyBhZGRyKQoreworCXdyaXRlYihhZGRyLCBUUzc4WFhfRlBHQV9SRUdTX1JUQ19DVFJMKTsKKwl3cml0ZWIodmFsdWUsIFRTNzhYWF9GUEdBX1JFR1NfUlRDX0RBVEEpOworfQorCitzdGF0aWMgc3RydWN0IG00OHQ4Nl9vcHMgdHM3OHh4X3J0Y19vcHMgPSB7CisJLnJlYWRieXRlCT0gdHM3OHh4X3J0Y19yZWFkYnl0ZSwKKwkud3JpdGVieXRlCT0gdHM3OHh4X3J0Y193cml0ZWJ5dGUsCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSB0czc4eHhfcnRjX2RldmljZSA9IHsKKwkubmFtZQkJPSAicnRjLW00OHQ4NiIsCisJLmlkCQk9IC0xLAorCS5kZXYJCT0geworCQkucGxhdGZvcm1fZGF0YQk9ICZ0czc4eHhfcnRjX29wcywKKwl9LAorCS5udW1fcmVzb3VyY2VzCT0gMCwKK307CisKKy8qCisgKiBUUyB1c2VzIHNvbWUgb2YgdGhlIHVzZXIgc3RvcmFnZSBzcGFjZSBvbiB0aGUgUlRDIGNoaXAgc28gc2VlIGlmIGl0IGlzCisgKiBwcmVzZW50OyBhcyBpdCdzIGFuIG9wdGlvbmFsIGZlYXR1cmUgYXQgcHVyY2hhc2UgdGltZSBhbmQgbm90IGFsbCBib2FyZHMKKyAqIHdpbGwgaGF2ZSBpdCBwcmVzZW50CisgKgorICogSSd2ZSB1c2VkIHRoZSBtZXRob2QgVFMgdXNlIGluIHRoZWlyIHJ0Yzc4MDAuYyBleGFtcGxlIGZvciB0aGUgZGV0ZWN0aW9uCisgKgorICogVE9ETzogdHJhY2sgZG93biBhIGd1aW5lYSBwaWcgd2l0aG91dCBhbiBSVEMgdG8gc2VlIGlmIHdlIGNhbiB3b3JrIG91dCBhCisgKiAJCWJldHRlciBSVEMgZGV0ZWN0aW9uIHJvdXRpbmUKKyAqLworc3RhdGljIGludCBfX2luaXQgdHM3OHh4X3J0Y19pbml0KHZvaWQpCit7CisJdW5zaWduZWQgY2hhciB0bXBfcnRjMCwgdG1wX3J0YzE7CisKKwl0bXBfcnRjMCA9IHRzNzh4eF9ydGNfcmVhZGJ5dGUoMTI2KTsKKwl0bXBfcnRjMSA9IHRzNzh4eF9ydGNfcmVhZGJ5dGUoMTI3KTsKKworCXRzNzh4eF9ydGNfd3JpdGVieXRlKDB4MDAsIDEyNik7CisJdHM3OHh4X3J0Y193cml0ZWJ5dGUoMHg1NSwgMTI3KTsKKwlpZiAodHM3OHh4X3J0Y19yZWFkYnl0ZSgxMjcpID09IDB4NTUpIHsKKwkJdHM3OHh4X3J0Y193cml0ZWJ5dGUoMHhhYSwgMTI3KTsKKwkJaWYgKHRzNzh4eF9ydGNfcmVhZGJ5dGUoMTI3KSA9PSAweGFhCisJCQkJJiYgdHM3OHh4X3J0Y19yZWFkYnl0ZSgxMjYpID09IDB4MDApIHsKKwkJCXRzNzh4eF9ydGNfd3JpdGVieXRlKHRtcF9ydGMwLCAxMjYpOworCQkJdHM3OHh4X3J0Y193cml0ZWJ5dGUodG1wX3J0YzEsIDEyNyk7CisJCQlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJnRzNzh4eF9ydGNfZGV2aWNlKTsKKwkJCXJldHVybiAxOworCQl9CisJfQorCisJcmV0dXJuIDA7Cit9OworI2Vsc2UKK3N0YXRpYyBpbnQgX19pbml0IHRzNzh4eF9ydGNfaW5pdCh2b2lkKQoreworCXJldHVybiAwOworfQorI2VuZGlmCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogU0FUQQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitzdGF0aWMgc3RydWN0IG12X3NhdGFfcGxhdGZvcm1fZGF0YSB0czc4eHhfc2F0YV9kYXRhID0geworCS5uX3BvcnRzCT0gMiwKK307CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogcHJpbnQgc29tZSBpbmZvcm1hdGlvbiByZWdhcmRpbmcgdGhlIGJvYXJkCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3N0YXRpYyB2b2lkIF9faW5pdCB0czc4eHhfcHJpbnRfYm9hcmRfaWQodm9pZCkKK3sKKwl1bnNpZ25lZCBpbnQgYm9hcmRfaW5mbzsKKworCWJvYXJkX2luZm8gPSByZWFkbChUUzc4WFhfRlBHQV9SRUdTX1NZU0NPTl9JRCk7CisJcHJpbnRrKEtFUk5fSU5GTyAiVFMtNzh4eCBJbmZvOiBGUEdBIHJldj0lLjJ4LCBCb2FyZCBNYWdpYz0lLjZ4LCAiLAorCQkJCWJvYXJkX2luZm8gJiAweGZmLAorCQkJCShib2FyZF9pbmZvID4+IDgpICYgMHhmZmZmZmYpOworCWJvYXJkX2luZm8gPSByZWFkbChUUzc4WFhfRlBHQV9SRUdTX1NZU0NPTl9MQ0RJKTsKKwlwcmludGsoIkpQMT0lZCwgSlAyPSVkXG4iLAorCQkJCShib2FyZF9pbmZvID4+IDMwKSAmIDB4MSwKKwkJCQkoYm9hcmRfaW5mbyA+PiAzMSkgJiAweDEpOworfTsKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBHZW5lcmFsIFNldHVwCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3N0YXRpYyBzdHJ1Y3Qgb3Jpb241eF9tcHBfbW9kZSB0czc4eHhfbXBwX21vZGVzW10gX19pbml0ZGF0YSA9IHsKKwl7ICAwLCBNUFBfVU5VU0VEIH0sCisJeyAgMSwgTVBQX0dQSU8gfSwJCS8qIEpUQUcgQ2xvY2sgKi8KKwl7ICAyLCBNUFBfR1BJTyB9LAkJLyogSlRBRyBEYXRhIEluICovCisJeyAgMywgTVBQX0dQSU8gfSwJCS8qIExhdCBFQ1AyIDI1NiBGUEdBIC0gUEIyQiAqLworCXsgIDQsIE1QUF9HUElPIH0sCQkvKiBKVEFHIERhdGEgT3V0ICovCisJeyAgNSwgTVBQX0dQSU8gfSwJCS8qIEpUQUcgVE1TICovCisJeyAgNiwgTVBQX0dQSU8gfSwJCS8qIExhdCBFQ1AyIDI1NiBGUEdBIC0gUEIzMUFfQ0xLNCsgKi8KKwl7ICA3LCBNUFBfR1BJTyB9LAkJLyogTGF0IEVDUDIgMjU2IEZQR0EgLSBQQjIyQiAqLworCXsgIDgsIE1QUF9VTlVTRUQgfSwKKwl7ICA5LCBNUFBfVU5VU0VEIH0sCisJeyAxMCwgTVBQX1VOVVNFRCB9LAorCXsgMTEsIE1QUF9VTlVTRUQgfSwKKwl7IDEyLCBNUFBfVU5VU0VEIH0sCisJeyAxMywgTVBQX1VOVVNFRCB9LAorCXsgMTQsIE1QUF9VTlVTRUQgfSwKKwl7IDE1LCBNUFBfVU5VU0VEIH0sCisJeyAxNiwgTVBQX1VBUlQgfSwKKwl7IDE3LCBNUFBfVUFSVCB9LAorCXsgMTgsIE1QUF9VQVJUIH0sCisJeyAxOSwgTVBQX1VBUlQgfSwKKwl7IC0xIH0sCit9OworCitzdGF0aWMgdm9pZCBfX2luaXQgdHM3OHh4X2luaXQodm9pZCkKK3sKKwkvKgorCSAqIFNldHVwIGJhc2ljIE9yaW9uIGZ1bmN0aW9ucy4gTmVlZCB0byBiZSBjYWxsZWQgZWFybHkuCisJICovCisJb3Jpb241eF9pbml0KCk7CisKKwl0czc4eHhfcHJpbnRfYm9hcmRfaWQoKTsKKworCW9yaW9uNXhfbXBwX2NvbmYodHM3OHh4X21wcF9tb2Rlcyk7CisKKwkvKgorCSAqIE1QUFsyMF0gUENJIENsb2NrIE91dCAxCisJICogTVBQWzIxXSBQQ0kgQ2xvY2sgT3V0IDAKKwkgKiBNUFBbMjJdIFVudXNlZAorCSAqIE1QUFsyM10gVW51c2VkCisJICogTVBQWzI0XSBVbnVzZWQKKwkgKiBNUFBbMjVdIFVudXNlZAorCSAqLworCisJLyoKKwkgKiBDb25maWd1cmUgcGVyaXBoZXJhbHMuCisJICovCisJb3Jpb241eF9laGNpMF9pbml0KCk7CisJb3Jpb241eF9laGNpMV9pbml0KCk7CisJb3Jpb241eF9ldGhfaW5pdCgmdHM3OHh4X2V0aF9kYXRhKTsKKwlvcmlvbjV4X3NhdGFfaW5pdCgmdHM3OHh4X3NhdGFfZGF0YSk7CisJb3Jpb241eF91YXJ0MF9pbml0KCk7CisJb3Jpb241eF91YXJ0MV9pbml0KCk7CisKKwlvcmlvbjV4X3NldHVwX2Rldl9ib290X3dpbihUUzc4WFhfTk9SX0JPT1RfQkFTRSwKKwkJCQkgICBUUzc4WFhfTk9SX0JPT1RfU0laRSk7CisJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZ0czc4eHhfbm9yX2Jvb3RfZmxhc2gpOworCisJaWYgKCF0czc4eHhfcnRjX2luaXQoKSkKKwkJcHJpbnRrKEtFUk5fSU5GTyAiVFMtNzh4eCBSVEMgbm90IGRldGVjdGVkIG9yIGVuYWJsZWRcbiIpOworfQorCitNQUNISU5FX1NUQVJUKFRTNzhYWCwgIlRlY2hub2xvZ2ljIFN5c3RlbXMgVFMtNzh4eCBTQkMiKQorCS8qIE1haW50YWluZXI6IEFsZXhhbmRlciBDbG91dGVyIDxhbGV4QGRpZ3Jpei5vcmcudWs+ICovCisJLnBoeXNfaW8JPSBPUklPTjVYX1JFR1NfUEhZU19CQVNFLAorCS5pb19wZ19vZmZzdAk9ICgoT1JJT041WF9SRUdTX1ZJUlRfQkFTRSkgPj4gMTgpICYgMHhGRkZDLAorCS5ib290X3BhcmFtcwk9IDB4MDAwMDAxMDAsCisJLmluaXRfbWFjaGluZQk9IHRzNzh4eF9pbml0LAorCS5tYXBfaW8JCT0gdHM3OHh4X21hcF9pbywKKwkuaW5pdF9pcnEJPSBvcmlvbjV4X2luaXRfaXJxLAorCS50aW1lcgkJPSAmb3Jpb241eF90aW1lciwKK01BQ0hJTkVfRU5ECmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW9yaW9uNXgvdHN4MDktY29tbW9uLmMgYi9hcmNoL2FybS9tYWNoLW9yaW9uNXgvdHN4MDktY29tbW9uLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODNmZWFjMwotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gtb3Jpb241eC90c3gwOS1jb21tb24uYwpAQCAtMCwwICsxLDEzMyBAQAorLyoKKyAqIFFOQVAgVFMteDA5IEJvYXJkcyBjb21tb24gZnVuY3Rpb25zCisgKgorICogTWFpbnRhaW5lcnM6IExlbm5lcnQgQnV5dGVuaGVrIDxidXl0ZW5oQG1hcnZlbGwuY29tPgorICoJCUJ5cm9uIEJyYWRsZXkgPGJ5cm9uLmJicmFkbGV5QGdtYWlsLmNvbT4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uCisgKiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICovCisKKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9wY2kuaD4KKyNpbmNsdWRlIDxsaW51eC9tdjY0M3h4X2V0aC5oPgorI2luY2x1ZGUgPGxpbnV4L3RpbWV4Lmg+CisjaW5jbHVkZSA8bGludXgvc2VyaWFsX3JlZy5oPgorI2luY2x1ZGUgInRzeDA5LWNvbW1vbi5oIgorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFFOQVAgVFMteDA5IHNwZWNpZmljIHBvd2VyIG9mZiBtZXRob2QgdmlhIFVBUlQxLWF0dGFjaGVkIFBJQworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNkZWZpbmUgVUFSVDFfUkVHKHgpCShVQVJUMV9WSVJUX0JBU0UgKyAoKFVBUlRfIyN4KSA8PCAyKSkKKwordm9pZCBxbmFwX3RzeDA5X3Bvd2VyX29mZih2b2lkKQoreworCS8qIDE5MjAwIGJhdWQgZGl2aXNvciAqLworCWNvbnN0IHVuc2lnbmVkIGRpdmlzb3IgPSAoKE9SSU9ONVhfVENMSyArICg4ICogMTkyMDApKSAvICgxNiAqIDE5MjAwKSk7CisKKwlwcl9pbmZvKCIlczogdHJpZ2dlcmluZyBwb3dlci1vZmYuLi5cbiIsIF9fZnVuY19fKTsKKworCS8qIGhpamFjayB1YXJ0MSBhbmQgcmVzZXQgaW50byBzYW5lIHN0YXRlICgxOTIwMCw4bjEpICovCisJd3JpdGVsKDB4ODMsIFVBUlQxX1JFRyhMQ1IpKTsKKwl3cml0ZWwoZGl2aXNvciAmIDB4ZmYsIFVBUlQxX1JFRyhETEwpKTsKKwl3cml0ZWwoKGRpdmlzb3IgPj4gOCkgJiAweGZmLCBVQVJUMV9SRUcoRExNKSk7CisJd3JpdGVsKDB4MDMsIFVBUlQxX1JFRyhMQ1IpKTsKKwl3cml0ZWwoMHgwMCwgVUFSVDFfUkVHKElFUikpOworCXdyaXRlbCgweDAwLCBVQVJUMV9SRUcoRkNSKSk7CisJd3JpdGVsKDB4MDAsIFVBUlQxX1JFRyhNQ1IpKTsKKworCS8qIHNlbmQgdGhlIHBvd2VyLW9mZiBjb21tYW5kICdBJyB0byBQSUMgKi8KKwl3cml0ZWwoJ0EnLCBVQVJUMV9SRUcoVFgpKTsKK30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBFdGhlcm5ldAorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKK3N0cnVjdCBtdjY0M3h4X2V0aF9wbGF0Zm9ybV9kYXRhIHFuYXBfdHN4MDlfZXRoX2RhdGEgPSB7CisJLnBoeV9hZGRyCT0gOCwKK307CisKK3N0YXRpYyBpbnQgX19pbml0IHFuYXBfdHN4MDlfcGFyc2VfaGV4X25pYmJsZShjaGFyIG4pCit7CisJaWYgKG4gPj0gJzAnICYmIG4gPD0gJzknKQorCQlyZXR1cm4gbiAtICcwJzsKKworCWlmIChuID49ICdBJyAmJiBuIDw9ICdGJykKKwkJcmV0dXJuIG4gLSAnQScgKyAxMDsKKworCWlmIChuID49ICdhJyAmJiBuIDw9ICdmJykKKwkJcmV0dXJuIG4gLSAnYScgKyAxMDsKKworCXJldHVybiAtMTsKK30KKworc3RhdGljIGludCBfX2luaXQgcW5hcF90c3gwOV9wYXJzZV9oZXhfYnl0ZShjb25zdCBjaGFyICpiKQoreworCWludCBoaTsKKwlpbnQgbG87CisKKwloaSA9IHFuYXBfdHN4MDlfcGFyc2VfaGV4X25pYmJsZShiWzBdKTsKKwlsbyA9IHFuYXBfdHN4MDlfcGFyc2VfaGV4X25pYmJsZShiWzFdKTsKKworCWlmIChoaSA8IDAgfHwgbG8gPCAwKQorCQlyZXR1cm4gLTE7CisKKwlyZXR1cm4gKGhpIDw8IDQpIHwgbG87Cit9CisKK3N0YXRpYyBpbnQgX19pbml0IHFuYXBfdHN4MDlfY2hlY2tfbWFjX2FkZHIoY29uc3QgY2hhciAqYWRkcl9zdHIpCit7CisJdV9pbnQ4X3QgYWRkcls2XTsKKwlpbnQgaTsKKworCWZvciAoaSA9IDA7IGkgPCA2OyBpKyspIHsKKwkJaW50IGJ5dGU7CisKKwkJLyoKKwkJICogRW5mb3JjZSAieHg6eHg6eHg6eHg6eHg6eHhcbiIgZm9ybWF0LgorCQkgKi8KKwkJaWYgKGFkZHJfc3RyWyhpICogMykgKyAyXSAhPSAoKGkgPCA1KSA/ICc6JyA6ICdcbicpKQorCQkJcmV0dXJuIC0xOworCisJCWJ5dGUgPSBxbmFwX3RzeDA5X3BhcnNlX2hleF9ieXRlKGFkZHJfc3RyICsgKGkgKiAzKSk7CisJCWlmIChieXRlIDwgMCkKKwkJCXJldHVybiAtMTsKKwkJYWRkcltpXSA9IGJ5dGU7CisJfQorCisJcHJpbnRrKEtFUk5fSU5GTyAidHN4MDk6IGZvdW5kIGV0aGVybmV0IG1hYyBhZGRyZXNzICIpOworCWZvciAoaSA9IDA7IGkgPCA2OyBpKyspCisJCXByaW50aygiJS4yeCVzIiwgYWRkcltpXSwgKGkgPCA1KSA/ICI6IiA6ICIuXG4iKTsKKworCW1lbWNweShxbmFwX3RzeDA5X2V0aF9kYXRhLm1hY19hZGRyLCBhZGRyLCA2KTsKKworCXJldHVybiAwOworfQorCisvKgorICogVGhlICdOQVMgQ29uZmlnJyBmbGFzaCBwYXJ0aXRpb24gaGFzIGFuIGV4dDIgZmlsZXN5c3RlbSB3aGljaAorICogY29udGFpbnMgYSBmaWxlIHRoYXQgaGFzIHRoZSBldGhlcm5ldCBNQUMgYWRkcmVzcyBpbiBwbGFpbiB0ZXh0CisgKiAoZm9ybWF0ICJ4eDp4eDp4eDp4eDp4eDp4eFxuIikuCisgKi8KK3ZvaWQgX19pbml0IHFuYXBfdHN4MDlfZmluZF9tYWNfYWRkcih1MzIgbWVtX2Jhc2UsIHUzMiBzaXplKQoreworCXVuc2lnbmVkIGxvbmcgYWRkcjsKKworCWZvciAoYWRkciA9IG1lbV9iYXNlOyBhZGRyIDwgKG1lbV9iYXNlICsgc2l6ZSk7IGFkZHIgKz0gMTAyNCkgeworCQljaGFyICpub3JfcGFnZTsKKwkJaW50IHJldCA9IDA7CisKKwkJbm9yX3BhZ2UgPSBpb3JlbWFwKGFkZHIsIDEwMjQpOworCQlpZiAobm9yX3BhZ2UgIT0gTlVMTCkgeworCQkJcmV0ID0gcW5hcF90c3gwOV9jaGVja19tYWNfYWRkcihub3JfcGFnZSk7CisJCQlpb3VubWFwKG5vcl9wYWdlKTsKKwkJfQorCisJCWlmIChyZXQgPT0gMCkKKwkJCWJyZWFrOworCX0KK30KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtb3Jpb241eC90c3gwOS1jb21tb24uaCBiL2FyY2gvYXJtL21hY2gtb3Jpb241eC90c3gwOS1jb21tb24uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wOTg0MjY0Ci0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L3RzeDA5LWNvbW1vbi5oCkBAIC0wLDAgKzEsMjAgQEAKKyNpZm5kZWYgX19BUkNIX09SSU9ONVhfVFNYMDlfQ09NTU9OX0gKKyNkZWZpbmUgX19BUkNIX09SSU9ONVhfVFNYMDlfQ09NTU9OX0gKKworLyoKKyAqIFFOQVAgVFMteDA5IEJvYXJkcyBwb3dlci1vZmYgZnVuY3Rpb24KKyAqLworZXh0ZXJuIHZvaWQgcW5hcF90c3gwOV9wb3dlcl9vZmYodm9pZCk7CisKKy8qCisgKiBRTkFQIFRTLXgwOSBCb2FyZHMgZnVuY3Rpb24gdG8gZmluZCBFdGhlcm5ldCBNQUMgYWRkcmVzcyBpbiBmbGFzaCBtZW1vcnkKKyAqLworZXh0ZXJuIHZvaWQgX19pbml0IHFuYXBfdHN4MDlfZmluZF9tYWNfYWRkcih1MzIgbWVtX2Jhc2UsIHUzMiBzaXplKTsKKworLyoKKyAqIFFOQVAgVFMteDA5IEJvYXJkcyBldGhlcm5ldCBkZWNsYXJhdGlvbgorICovCitleHRlcm4gc3RydWN0IG12NjQzeHhfZXRoX3BsYXRmb3JtX2RhdGEgcW5hcF90c3gwOV9ldGhfZGF0YTsKKworCisjZW5kaWYKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtb3Jpb241eC93bnI4NTR0LXNldHVwLmMgYi9hcmNoL2FybS9tYWNoLW9yaW9uNXgvd25yODU0dC1zZXR1cC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFhZjA5M2YKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLW9yaW9uNXgvd25yODU0dC1zZXR1cC5jCkBAIC0wLDAgKzEsMTY0IEBACisvKgorICogYXJjaC9hcm0vbWFjaC1vcmlvbjV4L3ducjg1NHQtc2V0dXAuYworICoKKyAqIFRoaXMgZmlsZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSB2ZXJzaW9uIDIuICBUaGlzIHByb2dyYW0gaXMgbGljZW5zZWQgImFzIGlzIiB3aXRob3V0IGFueQorICogd2FycmFudHkgb2YgYW55IGtpbmQsIHdoZXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICovCisKKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CisjaW5jbHVkZSA8bGludXgvcGNpLmg+CisjaW5jbHVkZSA8bGludXgvaXJxLmg+CisjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KKyNpbmNsdWRlIDxsaW51eC9tdGQvcGh5c21hcC5oPgorI2luY2x1ZGUgPGxpbnV4L212NjQzeHhfZXRoLmg+CisjaW5jbHVkZSA8YXNtL21hY2gtdHlwZXMuaD4KKyNpbmNsdWRlIDxhc20vZ3Bpby5oPgorI2luY2x1ZGUgPGFzbS9tYWNoL2FyY2guaD4KKyNpbmNsdWRlIDxhc20vbWFjaC9wY2kuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9vcmlvbjV4Lmg+CisjaW5jbHVkZSAiY29tbW9uLmgiCisjaW5jbHVkZSAibXBwLmgiCisKK3N0YXRpYyBzdHJ1Y3Qgb3Jpb241eF9tcHBfbW9kZSB3bnI4NTR0X21wcF9tb2Rlc1tdIF9faW5pdGRhdGEgPSB7CisJeyAgMCwgTVBQX0dQSU8gfSwJCS8qIFBvd2VyIExFRCBncmVlbiAoMD1vbikgKi8KKwl7ICAxLCBNUFBfR1BJTyB9LAkJLyogUmVzZXQgQnV0dG9uICgwPW9mZikgKi8KKwl7ICAyLCBNUFBfR1BJTyB9LAkJLyogUG93ZXIgTEVEIGJsaW5rICgwPW9mZikgKi8KKwl7ICAzLCBNUFBfR1BJTyB9LAkJLyogV0FOIFN0YXR1cyBMRUQgYW1iZXIgKDA9b2ZmKSAqLworCXsgIDQsIE1QUF9HUElPIH0sCQkvKiBQQ0kgaW50ICovCisJeyAgNSwgTVBQX0dQSU8gfSwJCS8qID8/PyAqLworCXsgIDYsIE1QUF9HUElPIH0sCQkvKiA/Pz8gKi8KKwl7ICA3LCBNUFBfR1BJTyB9LAkJLyogPz8/ICovCisJeyAgOCwgTVBQX1VOVVNFRCB9LAkJLyogPz8/ICovCisJeyAgOSwgTVBQX0dJR0UgfSwJCS8qIEdFX1JYRVJSICovCisJeyAxMCwgTVBQX1VOVVNFRCB9LAkJLyogPz8/ICovCisJeyAxMSwgTVBQX1VOVVNFRCB9LAkJLyogPz8/ICovCisJeyAxMiwgTVBQX0dJR0UgfSwJCS8qIEdFX1RYRFs0XSAqLworCXsgMTMsIE1QUF9HSUdFIH0sCQkvKiBHRV9UWERbNV0gKi8KKwl7IDE0LCBNUFBfR0lHRSB9LAkJLyogR0VfVFhEWzZdICovCisJeyAxNSwgTVBQX0dJR0UgfSwJCS8qIEdFX1RYRFs3XSAqLworCXsgMTYsIE1QUF9HSUdFIH0sCQkvKiBHRV9SWERbNF0gKi8KKwl7IDE3LCBNUFBfR0lHRSB9LAkJLyogR0VfUlhEWzVdICovCisJeyAxOCwgTVBQX0dJR0UgfSwJCS8qIEdFX1JYRFs2XSAqLworCXsgMTksIE1QUF9HSUdFIH0sCQkvKiBHRV9SWERbN10gKi8KKwl7IC0xIH0sCit9OworCisvKgorICogOE0gTk9SIGZsYXNoIERldmljZSBidXMgYm9vdCBjaGlwIHNlbGVjdAorICovCisjZGVmaW5lIFdOUjg1NFRfTk9SX0JPT1RfQkFTRQkweGY0MDAwMDAwCisjZGVmaW5lIFdOUjg1NFRfTk9SX0JPT1RfU0laRQlTWl84TQorCitzdGF0aWMgc3RydWN0IG10ZF9wYXJ0aXRpb24gd25yODU0dF9ub3JfZmxhc2hfcGFydGl0aW9uc1tdID0geworCXsKKwkJLm5hbWUJCT0gImtlcm5lbCIsCisJCS5vZmZzZXQJCT0gMHgwMDAwMDAwMCwKKwkJLnNpemUJCT0gMHgwMDEwMDAwMCwKKwl9LCB7CisJCS5uYW1lCQk9ICJyb290ZnMiLAorCQkub2Zmc2V0CQk9IDB4MDAxMDAwMDAsCisJCS5zaXplCQk9IDB4MDA2NjAwMDAsCisJfSwgeworCQkubmFtZQkJPSAidWJvb3QiLAorCQkub2Zmc2V0CQk9IDB4MDA3NjAwMDAsCisJCS5zaXplCQk9IDB4MDAwNDAwMDAsCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGh5c21hcF9mbGFzaF9kYXRhIHducjg1NHRfbm9yX2ZsYXNoX2RhdGEgPSB7CisJLndpZHRoCQk9IDIsCisJLnBhcnRzCQk9IHducjg1NHRfbm9yX2ZsYXNoX3BhcnRpdGlvbnMsCisJLm5yX3BhcnRzCT0gQVJSQVlfU0laRSh3bnI4NTR0X25vcl9mbGFzaF9wYXJ0aXRpb25zKSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2Ugd25yODU0dF9ub3JfZmxhc2hfcmVzb3VyY2UgPSB7CisJLmZsYWdzCQk9IElPUkVTT1VSQ0VfTUVNLAorCS5zdGFydAkJPSBXTlI4NTRUX05PUl9CT09UX0JBU0UsCisJLmVuZAkJPSBXTlI4NTRUX05PUl9CT09UX0JBU0UgKyBXTlI4NTRUX05PUl9CT09UX1NJWkUgLSAxLAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2Ugd25yODU0dF9ub3JfZmxhc2ggPSB7CisJLm5hbWUJCQk9ICJwaHlzbWFwLWZsYXNoIiwKKwkuaWQJCQk9IDAsCisJLmRldgkJPSB7CisJCS5wbGF0Zm9ybV9kYXRhCT0gJnducjg1NHRfbm9yX2ZsYXNoX2RhdGEsCisJfSwKKwkubnVtX3Jlc291cmNlcwkJPSAxLAorCS5yZXNvdXJjZQkJPSAmd25yODU0dF9ub3JfZmxhc2hfcmVzb3VyY2UsCit9OworCitzdGF0aWMgc3RydWN0IG12NjQzeHhfZXRoX3BsYXRmb3JtX2RhdGEgd25yODU0dF9ldGhfZGF0YSA9IHsKKwkucGh5X2FkZHIJPSAtMSwKK307CisKK3N0YXRpYyB2b2lkIF9faW5pdCB3bnI4NTR0X2luaXQodm9pZCkKK3sKKwkvKgorCSAqIFNldHVwIGJhc2ljIE9yaW9uIGZ1bmN0aW9ucy4gTmVlZCB0byBiZSBjYWxsZWQgZWFybHkuCisJICovCisJb3Jpb241eF9pbml0KCk7CisKKwlvcmlvbjV4X21wcF9jb25mKHducjg1NHRfbXBwX21vZGVzKTsKKworCS8qCisJICogQ29uZmlndXJlIHBlcmlwaGVyYWxzLgorCSAqLworCW9yaW9uNXhfZXRoX2luaXQoJnducjg1NHRfZXRoX2RhdGEpOworCW9yaW9uNXhfdWFydDBfaW5pdCgpOworCisJb3Jpb241eF9zZXR1cF9kZXZfYm9vdF93aW4oV05SODU0VF9OT1JfQk9PVF9CQVNFLAorCQkJCSAgIFdOUjg1NFRfTk9SX0JPT1RfU0laRSk7CisJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZ3bnI4NTR0X25vcl9mbGFzaCk7Cit9CisKK3N0YXRpYyBpbnQgX19pbml0IHducjg1NHRfcGNpX21hcF9pcnEoc3RydWN0IHBjaV9kZXYgKmRldiwgdTggc2xvdCwgdTggcGluKQoreworCWludCBpcnE7CisKKwkvKgorCSAqIENoZWNrIGZvciBkZXZpY2VzIHdpdGggaGFyZC13aXJlZCBJUlFzLgorCSAqLworCWlycSA9IG9yaW9uNXhfcGNpX21hcF9pcnEoZGV2LCBzbG90LCBwaW4pOworCWlmIChpcnEgIT0gLTEpCisJCXJldHVybiBpcnE7CisKKwkvKgorCSAqIE1pbmktUENJIHNsb3QuCisJICovCisJaWYgKHNsb3QgPT0gNykKKwkJcmV0dXJuIGdwaW9fdG9faXJxKDQpOworCisJcmV0dXJuIC0xOworfQorCitzdGF0aWMgc3RydWN0IGh3X3BjaSB3bnI4NTR0X3BjaSBfX2luaXRkYXRhID0geworCS5ucl9jb250cm9sbGVycwk9IDIsCisJLnN3aXp6bGUJPSBwY2lfc3RkX3N3aXp6bGUsCisJLnNldHVwCQk9IG9yaW9uNXhfcGNpX3N5c19zZXR1cCwKKwkuc2NhbgkJPSBvcmlvbjV4X3BjaV9zeXNfc2Nhbl9idXMsCisJLm1hcF9pcnEJPSB3bnI4NTR0X3BjaV9tYXBfaXJxLAorfTsKKworc3RhdGljIGludCBfX2luaXQgd25yODU0dF9wY2lfaW5pdCh2b2lkKQoreworCWlmIChtYWNoaW5lX2lzX3ducjg1NHQoKSkKKwkJcGNpX2NvbW1vbl9pbml0KCZ3bnI4NTR0X3BjaSk7CisKKwlyZXR1cm4gMDsKK30KK3N1YnN5c19pbml0Y2FsbCh3bnI4NTR0X3BjaV9pbml0KTsKKworTUFDSElORV9TVEFSVChXTlI4NTRULCAiTmV0Z2VhciBXTlI4NTRUIikKKwkvKiBNYWludGFpbmVyOiBJbXJlIEthbG96IDxrYWxvekBvcGVud3J0Lm9yZz4gKi8KKwkucGh5c19pbwk9IE9SSU9ONVhfUkVHU19QSFlTX0JBU0UsCisJLmlvX3BnX29mZnN0CT0gKChPUklPTjVYX1JFR1NfVklSVF9CQVNFKSA+PiAxOCkgJiAweEZGRkMsCisJLmJvb3RfcGFyYW1zCT0gMHgwMDAwMDEwMCwKKwkuaW5pdF9tYWNoaW5lCT0gd25yODU0dF9pbml0LAorCS5tYXBfaW8JCT0gb3Jpb241eF9tYXBfaW8sCisJLmluaXRfaXJxCT0gb3Jpb241eF9pbml0X2lycSwKKwkudGltZXIJCT0gJm9yaW9uNXhfdGltZXIsCisJLmZpeHVwCQk9IHRhZ19maXh1cF9tZW0zMiwKK01BQ0hJTkVfRU5ECmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW9yaW9uNXgvd3J0MzUwbi12Mi1zZXR1cC5jIGIvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L3dydDM1MG4tdjItc2V0dXAuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hZWFiNTVjCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L3dydDM1MG4tdjItc2V0dXAuYwpAQCAtMCwwICsxLDE3MyBAQAorLyoKKyAqIGFyY2gvYXJtL21hY2gtb3Jpb241eC93cnQzNTBuLXYyLXNldHVwLmMKKyAqCisgKiBUaGlzIGZpbGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgdmVyc2lvbiAyLiAgVGhpcyBwcm9ncmFtIGlzIGxpY2Vuc2VkICJhcyBpcyIgd2l0aG91dCBhbnkKKyAqIHdhcnJhbnR5IG9mIGFueSBraW5kLCB3aGV0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqLworCisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L3BjaS5oPgorI2luY2x1ZGUgPGxpbnV4L2lycS5oPgorI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+CisjaW5jbHVkZSA8bGludXgvbXRkL3BoeXNtYXAuaD4KKyNpbmNsdWRlIDxsaW51eC9tdjY0M3h4X2V0aC5oPgorI2luY2x1ZGUgPGFzbS9tYWNoLXR5cGVzLmg+CisjaW5jbHVkZSA8YXNtL2dwaW8uaD4KKyNpbmNsdWRlIDxhc20vbWFjaC9hcmNoLmg+CisjaW5jbHVkZSA8YXNtL21hY2gvcGNpLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvb3Jpb241eC5oPgorI2luY2x1ZGUgImNvbW1vbi5oIgorI2luY2x1ZGUgIm1wcC5oIgorCitzdGF0aWMgc3RydWN0IG9yaW9uNXhfbXBwX21vZGUgd3J0MzUwbl92Ml9tcHBfbW9kZXNbXSBfX2luaXRkYXRhID0geworCXsgIDAsIE1QUF9HUElPIH0sCQkvKiBQb3dlciBMRUQgZ3JlZW4gKDA9b24pICovCisJeyAgMSwgTVBQX0dQSU8gfSwJCS8qIFNlY3VyaXR5IExFRCAoMD1vbikgKi8KKwl7ICAyLCBNUFBfR1BJTyB9LAkJLyogSW50ZXJuYWwgQnV0dG9uICgwPW9uKSAqLworCXsgIDMsIE1QUF9HUElPIH0sCQkvKiBSZXNldCBCdXR0b24gKDA9b24pICovCisJeyAgNCwgTVBQX0dQSU8gfSwJCS8qIFBDSSBpbnQgKi8KKwl7ICA1LCBNUFBfR1BJTyB9LAkJLyogUG93ZXIgTEVEIG9yYW5nZSAoMD1vbikgKi8KKwl7ICA2LCBNUFBfR1BJTyB9LAkJLyogVVNCIExFRCAoMD1vbikgKi8KKwl7ICA3LCBNUFBfR1BJTyB9LAkJLyogV2lyZWxlc3MgTEVEICgwPW9uKSAqLworCXsgIDgsIE1QUF9VTlVTRUQgfSwJCS8qID8/PyAqLworCXsgIDksIE1QUF9HSUdFIH0sCQkvKiBHRV9SWEVSUiAqLworCXsgMTAsIE1QUF9VTlVTRUQgfSwJCS8qID8/PyAqLworCXsgMTEsIE1QUF9VTlVTRUQgfSwJCS8qID8/PyAqLworCXsgMTIsIE1QUF9HSUdFIH0sCQkvKiBHRV9UWERbNF0gKi8KKwl7IDEzLCBNUFBfR0lHRSB9LAkJLyogR0VfVFhEWzVdICovCisJeyAxNCwgTVBQX0dJR0UgfSwJCS8qIEdFX1RYRFs2XSAqLworCXsgMTUsIE1QUF9HSUdFIH0sCQkvKiBHRV9UWERbN10gKi8KKwl7IDE2LCBNUFBfR0lHRSB9LAkJLyogR0VfUlhEWzRdICovCisJeyAxNywgTVBQX0dJR0UgfSwJCS8qIEdFX1JYRFs1XSAqLworCXsgMTgsIE1QUF9HSUdFIH0sCQkvKiBHRV9SWERbNl0gKi8KKwl7IDE5LCBNUFBfR0lHRSB9LAkJLyogR0VfUlhEWzddICovCisJeyAtMSB9LAorfTsKKworLyoKKyAqIDhNIE5PUiBmbGFzaCBEZXZpY2UgYnVzIGJvb3QgY2hpcCBzZWxlY3QKKyAqLworI2RlZmluZSBXUlQzNTBOX1YyX05PUl9CT09UX0JBU0UJMHhmNDAwMDAwMAorI2RlZmluZSBXUlQzNTBOX1YyX05PUl9CT09UX1NJWkUJU1pfOE0KKworc3RhdGljIHN0cnVjdCBtdGRfcGFydGl0aW9uIHdydDM1MG5fdjJfbm9yX2ZsYXNoX3BhcnRpdGlvbnNbXSA9IHsKKwl7CisJCS5uYW1lCQk9ICJrZXJuZWwiLAorCQkub2Zmc2V0CQk9IDB4MDAwMDAwMDAsCisJCS5zaXplCQk9IDB4MDA3NjAwMDAsCisJfSwgeworCQkubmFtZQkJPSAicm9vdGZzIiwKKwkJLm9mZnNldAkJPSAweDAwMWEwMDAwLAorCQkuc2l6ZQkJPSAweDAwNWMwMDAwLAorCX0sIHsKKwkJLm5hbWUJCT0gImxhbmciLAorCQkub2Zmc2V0CQk9IDB4MDA3NjAwMDAsCisJCS5zaXplCQk9IDB4MDAwNDAwMDAsCisJfSwgeworCQkubmFtZQkJPSAibnZyYW0iLAorCQkub2Zmc2V0CQk9IDB4MDA3YTAwMDAsCisJCS5zaXplCQk9IDB4MDAwMjAwMDAsCisJfSwgeworCQkubmFtZQkJPSAidS1ib290IiwKKwkJLm9mZnNldAkJPSAweDAwN2MwMDAwLAorCQkuc2l6ZQkJPSAweDAwMDQwMDAwLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IHBoeXNtYXBfZmxhc2hfZGF0YSB3cnQzNTBuX3YyX25vcl9mbGFzaF9kYXRhID0geworCS53aWR0aAkJPSAxLAorCS5wYXJ0cwkJPSB3cnQzNTBuX3YyX25vcl9mbGFzaF9wYXJ0aXRpb25zLAorCS5ucl9wYXJ0cwk9IEFSUkFZX1NJWkUod3J0MzUwbl92Ml9ub3JfZmxhc2hfcGFydGl0aW9ucyksCit9OworCitzdGF0aWMgc3RydWN0IHJlc291cmNlIHdydDM1MG5fdjJfbm9yX2ZsYXNoX3Jlc291cmNlID0geworCS5mbGFncwkJPSBJT1JFU09VUkNFX01FTSwKKwkuc3RhcnQJCT0gV1JUMzUwTl9WMl9OT1JfQk9PVF9CQVNFLAorCS5lbmQJCT0gV1JUMzUwTl9WMl9OT1JfQk9PVF9CQVNFICsgV1JUMzUwTl9WMl9OT1JfQk9PVF9TSVpFIC0gMSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIHdydDM1MG5fdjJfbm9yX2ZsYXNoID0geworCS5uYW1lCQkJPSAicGh5c21hcC1mbGFzaCIsCisJLmlkCQkJPSAwLAorCS5kZXYJCT0geworCQkucGxhdGZvcm1fZGF0YQk9ICZ3cnQzNTBuX3YyX25vcl9mbGFzaF9kYXRhLAorCX0sCisJLm51bV9yZXNvdXJjZXMJCT0gMSwKKwkucmVzb3VyY2UJCT0gJndydDM1MG5fdjJfbm9yX2ZsYXNoX3Jlc291cmNlLAorfTsKKworc3RhdGljIHN0cnVjdCBtdjY0M3h4X2V0aF9wbGF0Zm9ybV9kYXRhIHdydDM1MG5fdjJfZXRoX2RhdGEgPSB7CisJLnBoeV9hZGRyCT0gLTEsCit9OworCitzdGF0aWMgdm9pZCBfX2luaXQgd3J0MzUwbl92Ml9pbml0KHZvaWQpCit7CisJLyoKKwkgKiBTZXR1cCBiYXNpYyBPcmlvbiBmdW5jdGlvbnMuIE5lZWQgdG8gYmUgY2FsbGVkIGVhcmx5LgorCSAqLworCW9yaW9uNXhfaW5pdCgpOworCisJb3Jpb241eF9tcHBfY29uZih3cnQzNTBuX3YyX21wcF9tb2Rlcyk7CisKKwkvKgorCSAqIENvbmZpZ3VyZSBwZXJpcGhlcmFscy4KKwkgKi8KKwlvcmlvbjV4X2VoY2kwX2luaXQoKTsKKwlvcmlvbjV4X2V0aF9pbml0KCZ3cnQzNTBuX3YyX2V0aF9kYXRhKTsKKwlvcmlvbjV4X3VhcnQwX2luaXQoKTsKKworCW9yaW9uNXhfc2V0dXBfZGV2X2Jvb3Rfd2luKFdSVDM1ME5fVjJfTk9SX0JPT1RfQkFTRSwKKwkJCQkgICBXUlQzNTBOX1YyX05PUl9CT09UX1NJWkUpOworCXBsYXRmb3JtX2RldmljZV9yZWdpc3Rlcigmd3J0MzUwbl92Ml9ub3JfZmxhc2gpOworfQorCitzdGF0aWMgaW50IF9faW5pdCB3cnQzNTBuX3YyX3BjaV9tYXBfaXJxKHN0cnVjdCBwY2lfZGV2ICpkZXYsIHU4IHNsb3QsIHU4IHBpbikKK3sKKwlpbnQgaXJxOworCisJLyoKKwkgKiBDaGVjayBmb3IgZGV2aWNlcyB3aXRoIGhhcmQtd2lyZWQgSVJRcy4KKwkgKi8KKwlpcnEgPSBvcmlvbjV4X3BjaV9tYXBfaXJxKGRldiwgc2xvdCwgcGluKTsKKwlpZiAoaXJxICE9IC0xKQorCQlyZXR1cm4gaXJxOworCisJLyoKKwkgKiBNaW5pLVBDSSBzbG90LgorCSAqLworCWlmIChzbG90ID09IDcpCisJCXJldHVybiBncGlvX3RvX2lycSg0KTsKKworCXJldHVybiAtMTsKK30KKworc3RhdGljIHN0cnVjdCBod19wY2kgd3J0MzUwbl92Ml9wY2kgX19pbml0ZGF0YSA9IHsKKwkubnJfY29udHJvbGxlcnMJPSAyLAorCS5zd2l6emxlCT0gcGNpX3N0ZF9zd2l6emxlLAorCS5zZXR1cAkJPSBvcmlvbjV4X3BjaV9zeXNfc2V0dXAsCisJLnNjYW4JCT0gb3Jpb241eF9wY2lfc3lzX3NjYW5fYnVzLAorCS5tYXBfaXJxCT0gd3J0MzUwbl92Ml9wY2lfbWFwX2lycSwKK307CisKK3N0YXRpYyBpbnQgX19pbml0IHdydDM1MG5fdjJfcGNpX2luaXQodm9pZCkKK3sKKwlpZiAobWFjaGluZV9pc193cnQzNTBuX3YyKCkpCisJCXBjaV9jb21tb25faW5pdCgmd3J0MzUwbl92Ml9wY2kpOworCisJcmV0dXJuIDA7Cit9CitzdWJzeXNfaW5pdGNhbGwod3J0MzUwbl92Ml9wY2lfaW5pdCk7CisKK01BQ0hJTkVfU1RBUlQoV1JUMzUwTl9WMiwgIkxpbmtzeXMgV1JUMzUwTiB2MiIpCisJLyogTWFpbnRhaW5lcjogTGVubmVydCBCdXl0ZW5oZWsgPGJ1eXRlbmhAbWFydmVsbC5jb20+ICovCisJLnBoeXNfaW8JPSBPUklPTjVYX1JFR1NfUEhZU19CQVNFLAorCS5pb19wZ19vZmZzdAk9ICgoT1JJT041WF9SRUdTX1ZJUlRfQkFTRSkgPj4gMTgpICYgMHhGRkZDLAorCS5ib290X3BhcmFtcwk9IDB4MDAwMDAxMDAsCisJLmluaXRfbWFjaGluZQk9IHdydDM1MG5fdjJfaW5pdCwKKwkubWFwX2lvCQk9IG9yaW9uNXhfbWFwX2lvLAorCS5pbml0X2lycQk9IG9yaW9uNXhfaW5pdF9pcnEsCisJLnRpbWVyCQk9ICZvcmlvbjV4X3RpbWVyLAorCS5maXh1cAkJPSB0YWdfZml4dXBfbWVtMzIsCitNQUNISU5FX0VORApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1weGEvS2NvbmZpZyBiL2FyY2gvYXJtL21hY2gtcHhhL0tjb25maWcKaW5kZXggNWRhN2E2OC4uOTE0YmIzMyAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1weGEvS2NvbmZpZworKysgYi9hcmNoL2FybS9tYWNoLXB4YS9LY29uZmlnCkBAIC0yMCw4ICsyMCw3IEBACiAKIGVuZGlmCiAKLWNob2ljZQotCXByb21wdCAiU2VsZWN0IHRhcmdldCBib2FyZCIKK21lbnUgIlNlbGVjdCB0YXJnZXQgYm9hcmRzIgogCiBjb25maWcgQVJDSF9HVU1TVElYCiAJYm9vbCAiR3Vtc3RpeCBYU2NhbGUgYm9hcmRzIgpAQCAtMzcsMTAgKzM2LDEyIEBACiBjb25maWcgTUFDSF9MT0dJQ1BEX1BYQTI3MAogCWJvb2wgIkxvZ2ljUEQgUFhBMjcwIENhcmQgRW5naW5lIERldmVsb3BtZW50IFBsYXRmb3JtIgogCXNlbGVjdCBQWEEyN3gKKwlzZWxlY3QgSEFWRV9QV00KIAogY29uZmlnIE1BQ0hfTUFJTlNUT05FCiAJYm9vbCAiSW50ZWwgSENEREJCVkEwIERldmVsb3BtZW50IFBsYXRmb3JtIgogCXNlbGVjdCBQWEEyN3gKKwlzZWxlY3QgSEFWRV9QV00KIAogY29uZmlnIEFSQ0hfUFhBX0lEUAogCWJvb2wgIkFjY2VsZW50IFhzY2FsZSBJRFAiCkBAIC0xMTYsNiArMTE3LDcgQEAKIGNvbmZpZyBNQUNIX1pZTE9OSVRFCiAJYm9vbCAiUFhBM3h4IERldmVsb3BtZW50IFBsYXRmb3JtIgogCXNlbGVjdCBQWEEzeHgKKwlzZWxlY3QgSEFWRV9QV00KIAogY29uZmlnIE1BQ0hfTElUVExFVE9OCiAJYm9vbCAiUFhBM3h4IEZvcm0gRmFjdG9yIFBsYXRmb3JtIChha2EgTGl0dGxldG9uKSIKQEAgLTEzOCw3ICsxNDAsNyBAQAogCXNlbGVjdCBQWEEyN3gKIAlzZWxlY3QgSVdNTVhUCiAKLWVuZGNob2ljZQorZW5kbWVudQogCiBjaG9pY2UKIAlwcm9tcHQgIlVzZWQgYmFzZWJvYXJkIgpAQCAtMTQ2LDI2ICsxNDgsMjUgQEAKIAogY29uZmlnIE1BQ0hfUENNOTkwX0JBU0VCT0FSRAogCWJvb2wgIlBIWVRFQyBQQ00tOTkwIGRldmVsb3BtZW50IGJvYXJkIgorCXNlbGVjdCBIQVZFX1BXTQogCiBlbmRjaG9pY2UKIAotaWYgUFhBX1NIQVJQU0wKLQogY2hvaWNlCi0JcHJvbXB0ICJTZWxlY3QgdGFyZ2V0IFNoYXJwIFphdXJ1cyBkZXZpY2UgcmFuZ2UiCisJcHJvbXB0ICJkaXNwbGF5IG9uIHBjbTk5MCIKKwlkZXBlbmRzIG9uIE1BQ0hfUENNOTkwX0JBU0VCT0FSRAogCi1jb25maWcgUFhBX1NIQVJQU0xfMjV4Ci0JYm9vbCAiU2hhcnAgUFhBMjV4IG1vZGVscyAoU0wtNTYwMCwgU0wtQzd4eCBhbmQgU0wtQzYwMDB4KSIKLQlzZWxlY3QgUFhBMjV4Citjb25maWcgUENNOTkwX0RJU1BMQVlfU0hBUlAKKwlib29sICJzaGFycCBscTA4NHYxZGcyMSBzdG4gZGlzcGxheSIKIAotY29uZmlnIFBYQV9TSEFSUFNMXzI3eAotCWJvb2wgIlNoYXJwIFBYQTI3MCBtb2RlbHMgKFNMLUN4eDAwKSIKLQlzZWxlY3QgUFhBMjd4Citjb25maWcgUENNOTkwX0RJU1BMQVlfTkVDCisJYm9vbCAibmVjIG5sNjQ0OGJjMjBfMThkIHRmdCBkaXNwbGF5IgorCitjb25maWcgUENNOTkwX0RJU1BMQVlfTk9ORQorCWJvb2wgIm5vIGRpc3BsYXkiCiAKIGVuZGNob2ljZQogCi1lbmRpZgotCiBpZiBBUkNIX0dVTVNUSVgKIAogY2hvaWNlCkBAIC0xOTksMjggKzIwMCwzMyBAQAogCiBjb25maWcgTUFDSF9QT09ETEUKIAlib29sICJFbmFibGUgU2hhcnAgU0wtNTYwMCAoUG9vZGxlKSBTdXBwb3J0IgotCWRlcGVuZHMgb24gUFhBX1NIQVJQU0xfMjV4CisJZGVwZW5kcyBvbiBQWEFfU0hBUlBTTAorCXNlbGVjdCBQWEEyNXgKIAlzZWxlY3QgU0hBUlBfTE9DT01PCiAJc2VsZWN0IFBYQV9TU1AKIAogY29uZmlnIE1BQ0hfQ09SR0kKIAlib29sICJFbmFibGUgU2hhcnAgU0wtQzcwMCAoQ29yZ2kpIFN1cHBvcnQiCi0JZGVwZW5kcyBvbiBQWEFfU0hBUlBTTF8yNXgKKwlkZXBlbmRzIG9uIFBYQV9TSEFSUFNMCisJc2VsZWN0IFBYQTI1eAogCXNlbGVjdCBQWEFfU0hBUlBfQzd4eAogCiBjb25maWcgTUFDSF9TSEVQSEVSRAogCWJvb2wgIkVuYWJsZSBTaGFycCBTTC1DNzUwIChTaGVwaGVyZCkgU3VwcG9ydCIKLQlkZXBlbmRzIG9uIFBYQV9TSEFSUFNMXzI1eAorCWRlcGVuZHMgb24gUFhBX1NIQVJQU0wKKwlzZWxlY3QgUFhBMjV4CiAJc2VsZWN0IFBYQV9TSEFSUF9DN3h4CiAKIGNvbmZpZyBNQUNIX0hVU0tZCiAJYm9vbCAiRW5hYmxlIFNoYXJwIFNMLUM3NjAgKEh1c2t5KSBTdXBwb3J0IgotCWRlcGVuZHMgb24gUFhBX1NIQVJQU0xfMjV4CisJZGVwZW5kcyBvbiBQWEFfU0hBUlBTTAorCXNlbGVjdCBQWEEyNXgKIAlzZWxlY3QgUFhBX1NIQVJQX0M3eHgKIAogY29uZmlnIE1BQ0hfQUtJVEEKIAlib29sICJFbmFibGUgU2hhcnAgU0wtMTAwMCAoQWtpdGEpIFN1cHBvcnQiCi0JZGVwZW5kcyBvbiBQWEFfU0hBUlBTTF8yN3gKKwlkZXBlbmRzIG9uIFBYQV9TSEFSUFNMCisJc2VsZWN0IFBYQTI3eAogCXNlbGVjdCBQWEFfU0hBUlBfQ3h4MDAKIAlzZWxlY3QgTUFDSF9TUElUWgogCXNlbGVjdCBJMkMKQEAgLTIyOCwxNyArMjM0LDIwIEBACiAKIGNvbmZpZyBNQUNIX1NQSVRaCiAJYm9vbCAiRW5hYmxlIFNoYXJwIFphdXJ1cyBTTC0zMDAwIChTcGl0eikgU3VwcG9ydCIKLQlkZXBlbmRzIG9uIFBYQV9TSEFSUFNMXzI3eAorCWRlcGVuZHMgb24gUFhBX1NIQVJQU0wKKwlzZWxlY3QgUFhBMjd4CiAJc2VsZWN0IFBYQV9TSEFSUF9DeHgwMAogCiBjb25maWcgTUFDSF9CT1JaT0kKIAlib29sICJFbmFibGUgU2hhcnAgWmF1cnVzIFNMLTMxMDAgKEJvcnpvaSkgU3VwcG9ydCIKLQlkZXBlbmRzIG9uIFBYQV9TSEFSUFNMXzI3eAorCWRlcGVuZHMgb24gUFhBX1NIQVJQU0wKKwlzZWxlY3QgUFhBMjd4CiAJc2VsZWN0IFBYQV9TSEFSUF9DeHgwMAogCiBjb25maWcgTUFDSF9UT1NBCiAJYm9vbCAiRW5hYmxlIFNoYXJwIFNMLTYwMDB4IChUb3NhKSBTdXBwb3J0IgotCWRlcGVuZHMgb24gUFhBX1NIQVJQU0xfMjV4CisJZGVwZW5kcyBvbiBQWEFfU0hBUlBTTAorCXNlbGVjdCBQWEEyNXgKIAogY29uZmlnIFBYQTI1eAogCWJvb2wKQEAgLTI3Myw0ICsyODIsMTAgQEAKIAl0cmlzdGF0ZQogCWhlbHAKIAkgIEVuYWJsZSBzdXBwb3J0IGZvciBQWEEyeHggU1NQIHBvcnRzCisKK2NvbmZpZyBQWEFfUFdNCisJdHJpc3RhdGUKKwlkZWZhdWx0IEJBQ0tMSUdIVF9QV00KKwloZWxwCisJICBFbmFibGUgc3VwcG9ydCBmb3IgUFhBMnh4L1BYQTN4eCBQV00gY29udHJvbGxlcnMKIGVuZGlmCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLXB4YS9NYWtlZmlsZSBiL2FyY2gvYXJtL21hY2gtcHhhL01ha2VmaWxlCmluZGV4IDBlNmQwNWIuLmM0ZGZiZTggMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtcHhhL01ha2VmaWxlCisrKyBiL2FyY2gvYXJtL21hY2gtcHhhL01ha2VmaWxlCkBAIC0xMCwxMCArMTAsMTEgQEAKIAogIyBHZW5lcmljIGRyaXZlcnMgdGhhdCBvdGhlciBkcml2ZXJzIG1heSBkZXBlbmQgdXBvbgogb2JqLSQoQ09ORklHX1BYQV9TU1ApCQkrPSBzc3Aubworb2JqLSQoQ09ORklHX1BYQV9QV00pCQkrPSBwd20ubwogCiAjIFNvQy1zcGVjaWZpYyBjb2RlCi1vYmotJChDT05GSUdfUFhBMjV4KQkJKz0gbWZwLXB4YTJ4eC5vIHB4YTI1eC5vCi1vYmotJChDT05GSUdfUFhBMjd4KQkJKz0gbWZwLXB4YTJ4eC5vIHB4YTI3eC5vCitvYmotJChDT05GSUdfUFhBMjV4KQkJKz0gbWZwLXB4YTJ4eC5vIHB4YTJ4eC5vIHB4YTI1eC5vCitvYmotJChDT05GSUdfUFhBMjd4KQkJKz0gbWZwLXB4YTJ4eC5vIHB4YTJ4eC5vIHB4YTI3eC5vCiBvYmotJChDT05GSUdfUFhBM3h4KQkJKz0gbWZwLXB4YTN4eC5vIHB4YTN4eC5vIHNtZW1jLm8KIG9iai0kKENPTkZJR19DUFVfUFhBMzAwKQkrPSBweGEzMDAubwogb2JqLSQoQ09ORklHX0NQVV9QWEEzMjApCSs9IHB4YTMyMC5vCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLXB4YS9jbG9jay5jIGIvYXJjaC9hcm0vbWFjaC1weGEvY2xvY2suYwppbmRleCBlOTdkYzU5Li5iNGQwNDk1IDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLXB4YS9jbG9jay5jCisrKyBiL2FyY2gvYXJtL21hY2gtcHhhL2Nsb2NrLmMKQEAgLTEyLDcgKzEyLDcgQEAKICNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KICNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgogCi0jaW5jbHVkZSA8YXNtL2FyY2gvcHhhLXJlZ3MuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9weGEyeHgtcmVncy5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL3B4YTJ4eC1ncGlvLmg+CiAjaW5jbHVkZSA8YXNtL2hhcmR3YXJlLmg+CiAKQEAgLTQ3LDYgKzQ3LDkgQEAKIAkJY2xrID0gcDsKIAltdXRleF91bmxvY2soJmNsb2Nrc19tdXRleCk7CiAKKwlpZiAoIUlTX0VSUihjbGspICYmIGNsay0+b3BzID09IE5VTEwpCisJCWNsayA9IGNsay0+b3RoZXI7CisKIAlyZXR1cm4gY2xrOwogfQogRVhQT1JUX1NZTUJPTChjbGtfZ2V0KTsKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtcHhhL2Nsb2NrLmggYi9hcmNoL2FybS9tYWNoLXB4YS9jbG9jay5oCmluZGV4IGJjNmI3N2UuLjgzY2JmYWIgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtcHhhL2Nsb2NrLmgKKysrIGIvYXJjaC9hcm0vbWFjaC1weGEvY2xvY2suaApAQCAtMTUsNiArMTUsNyBAQAogCXVuc2lnbmVkIGludAkJY2tlbjsKIAl1bnNpZ25lZCBpbnQJCWRlbGF5OwogCXVuc2lnbmVkIGludAkJZW5hYmxlZDsKKwlzdHJ1Y3QgY2xrCQkqb3RoZXI7CiB9OwogCiAjZGVmaW5lIElOSVRfQ0tFTihfbmFtZSwgX2NrZW4sIF9yYXRlLCBfZGVsYXksIF9kZXYpCVwKQEAgLTM1LDYgKzM2LDE3IEBACiAJCS5ja2VuCT0gQ0tFTl8jI19ja2VuLAkJCVwKIAl9CiAKKy8qCisgKiBUaGlzIGlzIGEgcGxhY2Vob2xkZXIgdG8gYWxpYXMgb25lIGNsb2NrIGRldmljZStuYW1lIHBhaXIKKyAqIHRvIGFub3RoZXIgc3RydWN0IGNsay4KKyAqLworI2RlZmluZSBJTklUX0NLT1RIRVIoX25hbWUsIF9vdGhlciwgX2RldikJCVwKKwl7CQkJCQkJXAorCQkubmFtZQk9IF9uYW1lLAkJCVwKKwkJLmRldgk9IF9kZXYsCQkJCVwKKwkJLm90aGVyCT0gX290aGVyLAkJCVwKKwl9CisKIGV4dGVybiBjb25zdCBzdHJ1Y3QgY2xrb3BzIGNsa19ja2VuX29wczsKIAogdm9pZCBjbGtfY2tlbl9lbmFibGUoc3RydWN0IGNsayAqY2xrKTsKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtcHhhL2NtLXgyNzAtcGNpLmMgYi9hcmNoL2FybS9tYWNoLXB4YS9jbS14MjcwLXBjaS5jCmluZGV4IGFjN2YwNWYuLjMxOWM5ZmYgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtcHhhL2NtLXgyNzAtcGNpLmMKKysrIGIvYXJjaC9hcm0vbWFjaC1weGEvY20teDI3MC1wY2kuYwpAQCAtNDEsMTggKzQxLDIwIEBACiB7CiAJdW5zaWduZWQgaW50IHN6ID0gU1pfNjRNID4+IFBBR0VfU0hJRlQ7CiAKLQlwcl9pbmZvKCJBZGp1c3Rpbmcgem9uZXMgZm9yIENNLXgyNzBcbiIpOworCWlmIChtYWNoaW5lX2lzX2FybWNvcmUoKSkgeworCQlwcl9pbmZvKCJBZGp1c3Rpbmcgem9uZXMgZm9yIENNLXgyNzBcbiIpOwogCi0JLyoKLQkgKiBPbmx5IGFkanVzdCBpZiA+IDY0TSBvbiBjdXJyZW50IHN5c3RlbQotCSAqLwotCWlmIChub2RlIHx8ICh6b25lX3NpemVbMF0gPD0gc3opKQotCQlyZXR1cm47CisJCS8qCisJCSAqIE9ubHkgYWRqdXN0IGlmID4gNjRNIG9uIGN1cnJlbnQgc3lzdGVtCisJCSAqLworCQlpZiAobm9kZSB8fCAoem9uZV9zaXplWzBdIDw9IHN6KSkKKwkJCXJldHVybjsKIAotCXpvbmVfc2l6ZVsxXSA9IHpvbmVfc2l6ZVswXSAtIHN6OwotCXpvbmVfc2l6ZVswXSA9IHN6OwotCXpob2xlX3NpemVbMV0gPSB6aG9sZV9zaXplWzBdOwotCXpob2xlX3NpemVbMF0gPSAwOworCQl6b25lX3NpemVbMV0gPSB6b25lX3NpemVbMF0gLSBzejsKKwkJem9uZV9zaXplWzBdID0gc3o7CisJCXpob2xlX3NpemVbMV0gPSB6aG9sZV9zaXplWzBdOworCQl6aG9sZV9zaXplWzBdID0gMDsKKwl9CiB9CiAKIHN0YXRpYyB2b2lkIGNteDI3MF9pdDgxNTJfaXJxX2RlbXV4KHVuc2lnbmVkIGludCBpcnEsIHN0cnVjdCBpcnFfZGVzYyAqZGVzYykKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtcHhhL2NtLXgyNzAuYyBiL2FyY2gvYXJtL21hY2gtcHhhL2NtLXgyNzAuYwppbmRleCBmNTg1MWQxLi4wMWI5OTY0IDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLXB4YS9jbS14MjcwLmMKKysrIGIvYXJjaC9hcm0vbWFjaC1weGEvY20teDI3MC5jCkBAIC0zMSw2ICszMSw3IEBACiAjaW5jbHVkZSA8YXNtL2FyY2gvcHhhLXJlZ3MuaD4KICNpbmNsdWRlIDxhc20vYXJjaC9weGEyeHgtcmVncy5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL3B4YTJ4eC1ncGlvLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvYXVkaW8uaD4KICNpbmNsdWRlIDxhc20vYXJjaC9weGFmYi5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL29oY2kuaD4KICNpbmNsdWRlIDxhc20vYXJjaC9tbWMuaD4KQEAgLTgxLDEyICs4Miw2IEBACiAJfQogfTsKIAotLyogYXVkaW8gZGV2aWNlICovCi1zdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBjbXgyNzBfYXVkaW9fZGV2aWNlID0gewotCS5uYW1lCQk9ICJweGEyeHgtYWM5NyIsCi0JLmlkCQk9IC0xLAotfTsKLQogLyogdG91Y2hzY3JlZW4gY29udHJvbGxlciAqLwogc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgY214MjcwX3RzX2RldmljZSA9IHsKIAkubmFtZQkJPSAidWNiMTQwMF90cyIsCkBAIC0yMTksNyArMjE0LDYgQEAKIC8qIHBsYXRmb3JtIGRldmljZXMgKi8KIHN0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwbGF0Zm9ybV9kZXZpY2VzW10gX19pbml0ZGF0YSA9IHsKIAkmY214MjcwX2RldmljZV9kbTlrLAotCSZjbXgyNzBfYXVkaW9fZGV2aWNlLAogCSZjbXgyNzBfcnRjX2RldmljZSwKIAkmY214MjcwXzI3MDBHLAogCSZjbXgyNzBfbGVkX2RldmljZSwKQEAgLTU5NCw2ICs1ODgsNyBAQAogCiAJLyogcmVnaXN0ZXIgQ00tWDI3MCBwbGF0Zm9ybSBkZXZpY2VzICovCiAJcGxhdGZvcm1fYWRkX2RldmljZXMocGxhdGZvcm1fZGV2aWNlcywgQVJSQVlfU0laRShwbGF0Zm9ybV9kZXZpY2VzKSk7CisJcHhhX3NldF9hYzk3X2luZm8oTlVMTCk7CiAKIAkvKiBzZXQgTUNJIGFuZCBPSENJIHBsYXRmb3JtIHBhcmFtZXRlcnMgKi8KIAlweGFfc2V0X21jaV9pbmZvKCZjbXgyNzBfbWNpX3BsYXRmb3JtX2RhdGEpOwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1weGEvY29yZ2kuYyBiL2FyY2gvYXJtL21hY2gtcHhhL2NvcmdpLmMKaW5kZXggYjc1N2RkNy4uYjM3NjcxYiAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1weGEvY29yZ2kuYworKysgYi9hcmNoL2FybS9tYWNoLXB4YS9jb3JnaS5jCkBAIC0zNiw2ICszNiw3IEBACiAjaW5jbHVkZSA8YXNtL21hY2gvaXJxLmg+CiAKICNpbmNsdWRlIDxhc20vYXJjaC9weGEtcmVncy5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL3B4YTJ4eC1yZWdzLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvcHhhMnh4LWdwaW8uaD4KICNpbmNsdWRlIDxhc20vYXJjaC9pcmRhLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvbW1jLmg+CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLXB4YS9jb3JnaV9wbS5jIGIvYXJjaC9hcm0vbWFjaC1weGEvY29yZ2lfcG0uYwppbmRleCAwYTg1ZjcwLi5lOTFjMGYyIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLXB4YS9jb3JnaV9wbS5jCisrKyBiL2FyY2gvYXJtL21hY2gtcHhhL2NvcmdpX3BtLmMKQEAgLTI2LDYgKzI2LDcgQEAKICNpbmNsdWRlIDxhc20vYXJjaC9zaGFycHNsLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvY29yZ2kuaD4KICNpbmNsdWRlIDxhc20vYXJjaC9weGEtcmVncy5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL3B4YTJ4eC1yZWdzLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvcHhhMnh4LWdwaW8uaD4KICNpbmNsdWRlICJzaGFycHNsLmgiCiAKQEAgLTIwNCw3ICsyMDUsOSBAQAogCS5yZWFkX2RldmRhdGEgICAgPSBjb3JnaXBtX3JlYWRfZGV2ZGF0YSwKIAkuY2hhcmdlcl93YWtldXAgID0gY29yZ2lfY2hhcmdlcl93YWtldXAsCiAJLnNob3VsZF93YWtldXAgICA9IGNvcmdpX3Nob3VsZF93YWtldXAsCisjaWZkZWYgQ09ORklHX0JBQ0tMSUdIVF9DT1JHSQogCS5iYWNrbGlnaHRfbGltaXQgPSBjb3JnaWJsX2xpbWl0X2ludGVuc2l0eSwKKyNlbmRpZgogCS5jaGFyZ2Vfb25fdm9sdAkgID0gU0hBUlBTTF9DSEFSR0VfT05fVk9MVCwKIAkuY2hhcmdlX29uX3RlbXAJICA9IFNIQVJQU0xfQ0hBUkdFX09OX1RFTVAsCiAJLmNoYXJnZV9hY2luX2hpZ2ggPSBTSEFSUFNMX0NIQVJHRV9PTl9BQ0lOX0hJR0gsCkBAIC0yMjYsNiArMjI5LDEwIEBACiB7CiAJaW50IHJldDsKIAorCWlmICghbWFjaGluZV9pc19jb3JnaSgpICYmICFtYWNoaW5lX2lzX3NoZXBoZXJkKCkKKwkJCSYmICFtYWNoaW5lX2lzX2h1c2t5KCkpCisJCXJldHVybiAtRU5PREVWOworCiAJY29yZ2lwbV9kZXZpY2UgPSBwbGF0Zm9ybV9kZXZpY2VfYWxsb2MoInNoYXJwc2wtcG0iLCAtMSk7CiAJaWYgKCFjb3JnaXBtX2RldmljZSkKIAkJcmV0dXJuIC1FTk9NRU07CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLXB4YS9kZXZpY2VzLmMgYi9hcmNoL2FybS9tYWNoLXB4YS9kZXZpY2VzLmMKaW5kZXggZDZjMDViNi4uYTZmMjM5MCAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1weGEvZGV2aWNlcy5jCisrKyBiL2FyY2gvYXJtL21hY2gtcHhhL2RldmljZXMuYwpAQCAtMTAsMTEgKzEwLDE0IEBACiAjaW5jbHVkZSA8YXNtL2FyY2gvbW1jLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvaXJkYS5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL2kyYy5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL21mcC1weGEyN3guaD4KICNpbmNsdWRlIDxhc20vYXJjaC9vaGNpLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvcHhhMjd4X2tleXBhZC5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL2NhbWVyYS5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2F1ZGlvLmg+CiAKICNpbmNsdWRlICJkZXZpY2VzLmgiCisjaW5jbHVkZSAiZ2VuZXJpYy5oIgogCiB2b2lkIF9faW5pdCBweGFfcmVnaXN0ZXJfZGV2aWNlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSkKIHsKQEAgLTkxLDggKzk0LDE5IEBACiAKIHN0YXRpYyB1NjQgdWRjX2RtYV9tYXNrID0gfih1MzIpMDsKIAotc3RydWN0IHBsYXRmb3JtX2RldmljZSBweGFfZGV2aWNlX3VkYyA9IHsKLQkubmFtZQkJPSAicHhhMnh4LXVkYyIsCitzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIHB4YTI1eF9kZXZpY2VfdWRjID0geworCS5uYW1lCQk9ICJweGEyNXgtdWRjIiwKKwkuaWQJCT0gLTEsCisJLnJlc291cmNlCT0gcHhhMnh4X3VkY19yZXNvdXJjZXMsCisJLm51bV9yZXNvdXJjZXMJPSBBUlJBWV9TSVpFKHB4YTJ4eF91ZGNfcmVzb3VyY2VzKSwKKwkuZGV2CQk9ICB7CisJCS5wbGF0Zm9ybV9kYXRhCT0gJnB4YV91ZGNfaW5mbywKKwkJLmRtYV9tYXNrCT0gJnVkY19kbWFfbWFzaywKKwl9Cit9OworCitzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIHB4YTI3eF9kZXZpY2VfdWRjID0geworCS5uYW1lCQk9ICJweGEyN3gtdWRjIiwKIAkuaWQJCT0gLTEsCiAJLnJlc291cmNlCT0gcHhhMnh4X3VkY19yZXNvdXJjZXMsCiAJLm51bV9yZXNvdXJjZXMJPSBBUlJBWV9TSVpFKHB4YTJ4eF91ZGNfcmVzb3VyY2VzKSwKQEAgLTIzMyw4ICsyNDcsMTUgQEAKIAkubnVtX3Jlc291cmNlcwk9IEFSUkFZX1NJWkUocHhhaTJjX3Jlc291cmNlcyksCiB9OwogCitzdGF0aWMgdW5zaWduZWQgbG9uZyBweGEyN3hfaTJjX21mcF9jZmdbXSA9IHsKKwlHUElPMTE3X0kyQ19TQ0wsCisJR1BJTzExOF9JMkNfU0RBLAorfTsKKwogdm9pZCBfX2luaXQgcHhhX3NldF9pMmNfaW5mbyhzdHJ1Y3QgaTJjX3B4YV9wbGF0Zm9ybV9kYXRhICppbmZvKQogeworCWlmIChjcHVfaXNfcHhhMjd4KCkpCisJCXB4YTJ4eF9tZnBfY29uZmlnKEFSUkFZX0FORF9TSVpFKHB4YTI3eF9pMmNfbWZwX2NmZykpOwogCXB4YV9yZWdpc3Rlcl9kZXZpY2UoJnB4YV9kZXZpY2VfaTJjLCBpbmZvKTsKIH0KIApAQCAtMjc4LDggKzI5OSw2OSBAQAogCS5pZAkJPSAtMSwKIH07CiAKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgcHhhX2FjOTdfcmVzb3VyY2VzW10gPSB7CisJWzBdID0geworCQkuc3RhcnQgID0gMHg0MDUwMDAwMCwKKwkJLmVuZAk9IDB4NDA1MDAwMDAgKyAweGZmZiwKKwkJLmZsYWdzICA9IElPUkVTT1VSQ0VfTUVNLAorCX0sCisJWzFdID0geworCQkuc3RhcnQgID0gSVJRX0FDOTcsCisJCS5lbmQgICAgPSBJUlFfQUM5NywKKwkJLmZsYWdzICA9IElPUkVTT1VSQ0VfSVJRLAorCX0sCit9OworCitzdGF0aWMgdTY0IHB4YV9hYzk3X2RtYW1hc2sgPSAweGZmZmZmZmZmVUw7CisKK3N0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgcHhhX2RldmljZV9hYzk3ID0geworCS5uYW1lICAgICAgICAgICA9ICJweGEyeHgtYWM5NyIsCisJLmlkICAgICAgICAgICAgID0gLTEsCisJLmRldiAgICAgICAgICAgID0geworCQkuZG1hX21hc2sgPSAmcHhhX2FjOTdfZG1hbWFzaywKKwkJLmNvaGVyZW50X2RtYV9tYXNrID0gMHhmZmZmZmZmZiwKKwl9LAorCS5udW1fcmVzb3VyY2VzICA9IEFSUkFZX1NJWkUocHhhX2FjOTdfcmVzb3VyY2VzKSwKKwkucmVzb3VyY2UgICAgICAgPSBweGFfYWM5N19yZXNvdXJjZXMsCit9OworCit2b2lkIF9faW5pdCBweGFfc2V0X2FjOTdfaW5mbyhweGEyeHhfYXVkaW9fb3BzX3QgKm9wcykKK3sKKwlweGFfcmVnaXN0ZXJfZGV2aWNlKCZweGFfZGV2aWNlX2FjOTcsIG9wcyk7Cit9CisKICNpZmRlZiBDT05GSUdfUFhBMjV4CiAKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgcHhhMjV4X3Jlc291cmNlX3B3bTBbXSA9IHsKKwlbMF0gPSB7CisJCS5zdGFydAk9IDB4NDBiMDAwMDAsCisJCS5lbmQJPSAweDQwYjAwMDBmLAorCQkuZmxhZ3MJPSBJT1JFU09VUkNFX01FTSwKKwl9LAorfTsKKworc3RydWN0IHBsYXRmb3JtX2RldmljZSBweGEyNXhfZGV2aWNlX3B3bTAgPSB7CisJLm5hbWUJCT0gInB4YTI1eC1wd20iLAorCS5pZAkJPSAwLAorCS5yZXNvdXJjZQk9IHB4YTI1eF9yZXNvdXJjZV9wd20wLAorCS5udW1fcmVzb3VyY2VzCT0gQVJSQVlfU0laRShweGEyNXhfcmVzb3VyY2VfcHdtMCksCit9OworCitzdGF0aWMgc3RydWN0IHJlc291cmNlIHB4YTI1eF9yZXNvdXJjZV9wd20xW10gPSB7CisJWzBdID0geworCQkuc3RhcnQJPSAweDQwYzAwMDAwLAorCQkuZW5kCT0gMHg0MGMwMDAwZiwKKwkJLmZsYWdzCT0gSU9SRVNPVVJDRV9NRU0sCisJfSwKK307CisKK3N0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgcHhhMjV4X2RldmljZV9wd20xID0geworCS5uYW1lCQk9ICJweGEyNXgtcHdtIiwKKwkuaWQJCT0gMSwKKwkucmVzb3VyY2UJPSBweGEyNXhfcmVzb3VyY2VfcHdtMSwKKwkubnVtX3Jlc291cmNlcwk9IEFSUkFZX1NJWkUocHhhMjV4X3Jlc291cmNlX3B3bTEpLAorfTsKKwogc3RhdGljIHU2NCBweGEyNXhfc3NwX2RtYV9tYXNrID0gRE1BX0JJVF9NQVNLKDMyKTsKIAogc3RhdGljIHN0cnVjdCByZXNvdXJjZSBweGEyNXhfcmVzb3VyY2Vfc3NwW10gPSB7CkBAIC01NjgsNiArNjUwLDM2IEBACiAJLm51bV9yZXNvdXJjZXMJPSBBUlJBWV9TSVpFKHB4YTI3eF9yZXNvdXJjZV9zc3AzKSwKIH07CiAKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgcHhhMjd4X3Jlc291cmNlX3B3bTBbXSA9IHsKKwlbMF0gPSB7CisJCS5zdGFydAk9IDB4NDBiMDAwMDAsCisJCS5lbmQJPSAweDQwYjAwMDFmLAorCQkuZmxhZ3MJPSBJT1JFU09VUkNFX01FTSwKKwl9LAorfTsKKworc3RydWN0IHBsYXRmb3JtX2RldmljZSBweGEyN3hfZGV2aWNlX3B3bTAgPSB7CisJLm5hbWUJCT0gInB4YTI3eC1wd20iLAorCS5pZAkJPSAwLAorCS5yZXNvdXJjZQk9IHB4YTI3eF9yZXNvdXJjZV9wd20wLAorCS5udW1fcmVzb3VyY2VzCT0gQVJSQVlfU0laRShweGEyN3hfcmVzb3VyY2VfcHdtMCksCit9OworCitzdGF0aWMgc3RydWN0IHJlc291cmNlIHB4YTI3eF9yZXNvdXJjZV9wd20xW10gPSB7CisJWzBdID0geworCQkuc3RhcnQJPSAweDQwYzAwMDAwLAorCQkuZW5kCT0gMHg0MGMwMDAxZiwKKwkJLmZsYWdzCT0gSU9SRVNPVVJDRV9NRU0sCisJfSwKK307CisKK3N0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgcHhhMjd4X2RldmljZV9wd20xID0geworCS5uYW1lCQk9ICJweGEyN3gtcHdtIiwKKwkuaWQJCT0gMSwKKwkucmVzb3VyY2UJPSBweGEyN3hfcmVzb3VyY2VfcHdtMSwKKwkubnVtX3Jlc291cmNlcwk9IEFSUkFZX1NJWkUocHhhMjd4X3Jlc291cmNlX3B3bTEpLAorfTsKKwogc3RhdGljIHN0cnVjdCByZXNvdXJjZSBweGEyN3hfcmVzb3VyY2VfY2FtZXJhW10gPSB7CiAJWzBdID0gewogCQkuc3RhcnQJPSAweDUwMDAwMDAwLApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1weGEvZGV2aWNlcy5oIGIvYXJjaC9hcm0vbWFjaC1weGEvZGV2aWNlcy5oCmluZGV4IGZjYWIwMTcuLmI4NTJlYjEgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtcHhhL2RldmljZXMuaAorKysgYi9hcmNoL2FybS9tYWNoLXB4YS9kZXZpY2VzLmgKQEAgLTEsNyArMSw4IEBACiBleHRlcm4gc3RydWN0IHBsYXRmb3JtX2RldmljZSBweGFfZGV2aWNlX21jaTsKIGV4dGVybiBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIHB4YTN4eF9kZXZpY2VfbWNpMjsKIGV4dGVybiBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIHB4YTN4eF9kZXZpY2VfbWNpMzsKLWV4dGVybiBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIHB4YV9kZXZpY2VfdWRjOworZXh0ZXJuIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgcHhhMjV4X2RldmljZV91ZGM7CitleHRlcm4gc3RydWN0IHBsYXRmb3JtX2RldmljZSBweGEyN3hfZGV2aWNlX3VkYzsKIGV4dGVybiBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIHB4YV9kZXZpY2VfZmI7CiBleHRlcm4gc3RydWN0IHBsYXRmb3JtX2RldmljZSBweGFfZGV2aWNlX2ZmdWFydDsKIGV4dGVybiBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIHB4YV9kZXZpY2VfYnR1YXJ0OwpAQCAtMTEsNiArMTIsNyBAQAogZXh0ZXJuIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgcHhhX2RldmljZV9pMnM7CiBleHRlcm4gc3RydWN0IHBsYXRmb3JtX2RldmljZSBweGFfZGV2aWNlX2ZpY3A7CiBleHRlcm4gc3RydWN0IHBsYXRmb3JtX2RldmljZSBweGFfZGV2aWNlX3J0YzsKK2V4dGVybiBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIHB4YV9kZXZpY2VfYWM5NzsKIAogZXh0ZXJuIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgcHhhMjd4X2RldmljZV9pMmNfcG93ZXI7CiBleHRlcm4gc3RydWN0IHBsYXRmb3JtX2RldmljZSBweGEyN3hfZGV2aWNlX29oY2k7CkBAIC0yNCw0ICsyNiw5IEBACiBleHRlcm4gc3RydWN0IHBsYXRmb3JtX2RldmljZSBweGEyN3hfZGV2aWNlX3NzcDM7CiBleHRlcm4gc3RydWN0IHBsYXRmb3JtX2RldmljZSBweGEzeHhfZGV2aWNlX3NzcDQ7CiAKK2V4dGVybiBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIHB4YTI1eF9kZXZpY2VfcHdtMDsKK2V4dGVybiBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIHB4YTI1eF9kZXZpY2VfcHdtMTsKK2V4dGVybiBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIHB4YTI3eF9kZXZpY2VfcHdtMDsKK2V4dGVybiBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIHB4YTI3eF9kZXZpY2VfcHdtMTsKKwogdm9pZCBfX2luaXQgcHhhX3JlZ2lzdGVyX2RldmljZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEpOwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1weGEvZW0teDI3MC5jIGIvYXJjaC9hcm0vbWFjaC1weGEvZW0teDI3MC5jCmluZGV4IDljNTc3MDAuLjFiZjY4MDcgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtcHhhL2VtLXgyNzAuYworKysgYi9hcmNoL2FybS9tYWNoLXB4YS9lbS14MjcwLmMKQEAgLTI0LDYgKzI0LDggQEAKIAogI2luY2x1ZGUgPGFzbS9hcmNoL3B4YS1yZWdzLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvcHhhMnh4LWdwaW8uaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9weGEyN3gtdWRjLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvYXVkaW8uaD4KICNpbmNsdWRlIDxhc20vYXJjaC9weGFmYi5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL29oY2kuaD4KICNpbmNsdWRlIDxhc20vYXJjaC9tbWMuaD4KQEAgLTcyLDEyICs3NCw2IEBACiAJfQogfTsKIAotLyogYXVkaW8gZGV2aWNlICovCi1zdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBlbV94MjcwX2F1ZGlvID0gewotCS5uYW1lCQk9ICJweGEyeHgtYWM5NyIsCi0JLmlkCQk9IC0xLAotfTsKLQogLyogV005NzEyIHRvdWNoc2NyZWVuIGNvbnRyb2xsZXIuIEhvcGVmdWxseSB0aGUgZHJpdmVyIHdpbGwgbWFrZSBpdCB0bwogICogdGhlIG1haW5zdHJlYW0gc29tZXRpbWUgKi8KIHN0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIGVtX3gyNzBfdHMgPSB7CkBAIC0yMTcsNyArMjEzLDYgQEAKIC8qIHBsYXRmb3JtIGRldmljZXMgKi8KIHN0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwbGF0Zm9ybV9kZXZpY2VzW10gX19pbml0ZGF0YSA9IHsKIAkmZW1feDI3MF9kbTlrLAotCSZlbV94MjcwX2F1ZGlvLAogCSZlbV94MjcwX3RzLAogCSZlbV94MjcwX3J0YywKIAkmZW1feDI3MF9uYW5kLApAQCAtMzI1LDYgKzMyMCw3IEBACiAKIAkvKiByZWdpc3RlciBFTS1YMjcwIHBsYXRmb3JtIGRldmljZXMgKi8KIAlwbGF0Zm9ybV9hZGRfZGV2aWNlcyhwbGF0Zm9ybV9kZXZpY2VzLCBBUlJBWV9TSVpFKHBsYXRmb3JtX2RldmljZXMpKTsKKwlweGFfc2V0X2FjOTdfaW5mbyhOVUxMKTsKIAogCS8qIHNldCBNQ0kgYW5kIE9IQ0kgcGxhdGZvcm0gcGFyYW1ldGVycyAqLwogCXB4YV9zZXRfbWNpX2luZm8oJmVtX3gyNzBfbWNpX3BsYXRmb3JtX2RhdGEpOwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1weGEvZ2VuZXJpYy5jIGIvYXJjaC9hcm0vbWFjaC1weGEvZ2VuZXJpYy5jCmluZGV4IDQ0NjE3OTMuLmNhMDUzMjIgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtcHhhL2dlbmVyaWMuYworKysgYi9hcmNoL2FybS9tYWNoLXB4YS9nZW5lcmljLmMKQEAgLTYwLDIzICs2MCw2IEBACiBFWFBPUlRfU1lNQk9MKGdldF9tZW1jbGtfZnJlcXVlbmN5XzEwa2h6KTsKIAogLyoKLSAqIFJvdXRpbmUgdG8gc2FmZWx5IGVuYWJsZSBvciBkaXNhYmxlIGEgY2xvY2sgaW4gdGhlIENLRU4KLSAqLwotdm9pZCBfX3B4YV9zZXRfY2tlbihpbnQgY2xvY2ssIGludCBlbmFibGUpCi17Ci0JdW5zaWduZWQgbG9uZyBmbGFnczsKLQlsb2NhbF9pcnFfc2F2ZShmbGFncyk7Ci0KLQlpZiAoZW5hYmxlKQotCQlDS0VOIHw9ICgxIDw8IGNsb2NrKTsKLQllbHNlCi0JCUNLRU4gJj0gfigxIDw8IGNsb2NrKTsKLQotCWxvY2FsX2lycV9yZXN0b3JlKGZsYWdzKTsKLX0KLUVYUE9SVF9TWU1CT0woX19weGFfc2V0X2NrZW4pOwotCi0vKgogICogSW50ZWwgUFhBMnh4IGludGVybmFsIHJlZ2lzdGVyIG1hcHBpbmcuCiAgKgogICogTm90ZSAxOiBub3QgYWxsIFBYQTJ4eCB2YXJpYW50cyBpbXBsZW1lbnQgYWxsIHRob3NlIGFkZHJlc3Nlcy4KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtcHhhL2lycS5jIGIvYXJjaC9hcm0vbWFjaC1weGEvaXJxLmMKaW5kZXggYTlhMGMzZi4uZmJmZjU1NyAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1weGEvaXJxLmMKKysrIGIvYXJjaC9hcm0vbWFjaC1weGEvaXJxLmMKQEAgLTIxLDcgKzIxLDYgQEAKICNpbmNsdWRlIDxhc20vaXJxLmg+CiAjaW5jbHVkZSA8YXNtL21hY2gvaXJxLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvcHhhLXJlZ3MuaD4KLSNpbmNsdWRlIDxhc20vYXJjaC9weGEyeHgtZ3Bpby5oPgogCiAjaW5jbHVkZSAiZ2VuZXJpYy5oIgogCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLXB4YS9scGQyNzAuYyBiL2FyY2gvYXJtL21hY2gtcHhhL2xwZDI3MC5jCmluZGV4IGEyMGU0YjEuLmNjMWM0ZmEgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtcHhhL2xwZDI3MC5jCisrKyBiL2FyY2gvYXJtL21hY2gtcHhhL2xwZDI3MC5jCkBAIC0yMyw2ICsyMyw3IEBACiAjaW5jbHVkZSA8bGludXgvaW9wb3J0Lmg+CiAjaW5jbHVkZSA8bGludXgvbXRkL210ZC5oPgogI2luY2x1ZGUgPGxpbnV4L210ZC9wYXJ0aXRpb25zLmg+CisjaW5jbHVkZSA8bGludXgvcHdtX2JhY2tsaWdodC5oPgogCiAjaW5jbHVkZSA8YXNtL3R5cGVzLmg+CiAjaW5jbHVkZSA8YXNtL3NldHVwLmg+CkBAIC0xMzQsOSArMTM1LDEyIEBACiAKIHN0YXRpYyBpbnQgX19pbml0IGxwZDI3MF9pcnFfZGV2aWNlX2luaXQodm9pZCkKIHsKLQlpbnQgcmV0ID0gc3lzZGV2X2NsYXNzX3JlZ2lzdGVyKCZscGQyNzBfaXJxX3N5c2NsYXNzKTsKLQlpZiAocmV0ID09IDApCi0JCXJldCA9IHN5c2Rldl9yZWdpc3RlcigmbHBkMjcwX2lycV9kZXZpY2UpOworCWludCByZXQgPSAtRU5PREVWOworCWlmIChtYWNoaW5lX2lzX2xvZ2ljcGRfcHhhMjcwKCkpIHsKKwkJcmV0ID0gc3lzZGV2X2NsYXNzX3JlZ2lzdGVyKCZscGQyNzBfaXJxX3N5c2NsYXNzKTsKKwkJaWYgKHJldCA9PSAwKQorCQkJcmV0ID0gc3lzZGV2X3JlZ2lzdGVyKCZscGQyNzBfaXJxX2RldmljZSk7CisJfQogCXJldHVybiByZXQ7CiB9CiAKQEAgLTE2NCwxMSArMTY4LDYgQEAKIAkucmVzb3VyY2UJPSBzbWM5MXhfcmVzb3VyY2VzLAogfTsKIAotc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgbHBkMjcwX2F1ZGlvX2RldmljZSA9IHsKLQkubmFtZQkJPSAicHhhMnh4LWFjOTciLAotCS5pZAkJPSAtMSwKLX07Ci0KIHN0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgbHBkMjcwX2ZsYXNoX3Jlc291cmNlc1tdID0gewogCVswXSA9IHsKIAkJLnN0YXJ0CT0gUFhBX0NTMF9QSFlTLApAQCAtMjMzLDIxICsyMzIsMjAgQEAKIAl9LAogfTsKIAotc3RhdGljIHZvaWQgbHBkMjcwX2JhY2tsaWdodF9wb3dlcihpbnQgb24pCi17Ci0JaWYgKG9uKSB7Ci0JCXB4YV9ncGlvX21vZGUoR1BJTzE2X1BXTTBfTUQpOwotCQlweGFfc2V0X2NrZW4oQ0tFTl9QV00wLCAxKTsKLQkJUFdNX0NUUkwwID0gMDsKLQkJUFdNX1BXRFVUWTAgPSAweDNmZjsKLQkJUFdNX1BFUlZBTDAgPSAweDNmZjsKLQl9IGVsc2UgewotCQlQV01fQ1RSTDAgPSAwOwotCQlQV01fUFdEVVRZMCA9IDB4MDsKLQkJUFdNX1BFUlZBTDAgPSAweDNGRjsKLQkJcHhhX3NldF9ja2VuKENLRU5fUFdNMCwgMCk7Ci0JfQotfQorc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9wd21fYmFja2xpZ2h0X2RhdGEgbHBkMjcwX2JhY2tsaWdodF9kYXRhID0geworCS5wd21faWQJCT0gMCwKKwkubWF4X2JyaWdodG5lc3MJPSAxLAorCS5kZnRfYnJpZ2h0bmVzcwk9IDEsCisJLnB3bV9wZXJpb2RfbnMJPSA3ODc3MCwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIGxwZDI3MF9iYWNrbGlnaHRfZGV2aWNlID0geworCS5uYW1lCQk9ICJwd20tYmFja2xpZ2h0IiwKKwkuZGV2CQk9IHsKKwkJLnBhcmVudAk9ICZweGEyN3hfZGV2aWNlX3B3bTAuZGV2LAorCQkucGxhdGZvcm1fZGF0YSA9ICZscGQyNzBfYmFja2xpZ2h0X2RhdGEsCisJfSwKK307CiAKIC8qIDUuNyIgVEZUIFFWR0EgKExvTG8gZGlzcGxheSBudW1iZXIgMSkgKi8KIHN0YXRpYyBzdHJ1Y3QgcHhhZmJfbW9kZV9pbmZvIHNoYXJwX2xxMDU3cTNkYzAyX21vZGUgPSB7CkBAIC0yNjksNyArMjY3LDYgQEAKIAkubnVtX21vZGVzCQk9IDEsCiAJLmxjY3IwCQkJPSAweDA3ODAwMDgwLAogCS5sY2NyMwkJCT0gMHgwMDQwMDAwMCwKLQkucHhhZmJfYmFja2xpZ2h0X3Bvd2VyCT0gbHBkMjcwX2JhY2tsaWdodF9wb3dlciwKIH07CiAKIC8qIDEyLjEiIFRGVCBTVkdBIChMb0xvIGRpc3BsYXkgbnVtYmVyIDIpICovCkBAIC0yOTIsNyArMjg5LDYgQEAKIAkubnVtX21vZGVzCQk9IDEsCiAJLmxjY3IwCQkJPSAweDA3ODAwMDgwLAogCS5sY2NyMwkJCT0gMHgwMDQwMDAwMCwKLQkucHhhZmJfYmFja2xpZ2h0X3Bvd2VyCT0gbHBkMjcwX2JhY2tsaWdodF9wb3dlciwKIH07CiAKIC8qIDMuNiIgVEZUIFFWR0EgKExvTG8gZGlzcGxheSBudW1iZXIgMykgKi8KQEAgLTMxNSw3ICszMTEsNiBAQAogCS5udW1fbW9kZXMJCT0gMSwKIAkubGNjcjAJCQk9IDB4MDc4MDAwODAsCiAJLmxjY3IzCQkJPSAweDAwNDAwMDAwLAotCS5weGFmYl9iYWNrbGlnaHRfcG93ZXIJPSBscGQyNzBfYmFja2xpZ2h0X3Bvd2VyLAogfTsKIAogLyogNi40IiBURlQgVkdBIChMb0xvIGRpc3BsYXkgbnVtYmVyIDUpICovCkBAIC0zMzgsNyArMzMzLDYgQEAKIAkubnVtX21vZGVzCQk9IDEsCiAJLmxjY3IwCQkJPSAweDA3ODAwMDgwLAogCS5sY2NyMwkJCT0gMHgwMDQwMDAwMCwKLQkucHhhZmJfYmFja2xpZ2h0X3Bvd2VyCT0gbHBkMjcwX2JhY2tsaWdodF9wb3dlciwKIH07CiAKIC8qIDEwLjQiIFRGVCBWR0EgKExvTG8gZGlzcGxheSBudW1iZXIgNykgKi8KQEAgLTM2MSw3ICszNTUsNiBAQAogCS5udW1fbW9kZXMJCT0gMSwKIAkubGNjcjAJCQk9IDB4MDc4MDAwODAsCiAJLmxjY3IzCQkJPSAweDAwNDAwMDAwLAotCS5weGFmYl9iYWNrbGlnaHRfcG93ZXIJPSBscGQyNzBfYmFja2xpZ2h0X3Bvd2VyLAogfTsKIAogLyogMy41IiBURlQgUVZHQSAoTG9MbyBkaXNwbGF5IG51bWJlciA4KSAqLwpAQCAtMzg0LDcgKzM3Nyw2IEBACiAJLm51bV9tb2RlcwkJPSAxLAogCS5sY2NyMAkJCT0gMHgwNzgwMDA4MCwKIAkubGNjcjMJCQk9IDB4MDA0MDAwMDAsCi0JLnB4YWZiX2JhY2tsaWdodF9wb3dlcgk9IGxwZDI3MF9iYWNrbGlnaHRfcG93ZXIsCiB9OwogCiBzdGF0aWMgc3RydWN0IHB4YWZiX21hY2hfaW5mbyAqbHBkMjcwX2xjZF90b191c2U7CkBAIC00MTQsNyArNDA2LDcgQEAKIAogc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBsYXRmb3JtX2RldmljZXNbXSBfX2luaXRkYXRhID0gewogCSZzbWM5MXhfZGV2aWNlLAotCSZscGQyNzBfYXVkaW9fZGV2aWNlLAorCSZscGQyNzBfYmFja2xpZ2h0X2RldmljZSwKIAkmbHBkMjcwX2ZsYXNoX2RldmljZVswXSwKIAkmbHBkMjcwX2ZsYXNoX2RldmljZVsxXSwKIH07CkBAIC00NTQsOSArNDQ2LDEyIEBACiAJICogT24gTG9naWNQRCBQWEEyNzAsIHdlIHJvdXRlIEFDOTdfU1lTQ0xLIHZpYSBHUElPNDUuCiAJICovCiAJcHhhX2dwaW9fbW9kZShHUElPNDVfU1lTQ0xLX0FDOTdfTUQpOworCXB4YV9ncGlvX21vZGUoR1BJTzE2X1BXTTBfTUQpOwogCiAJcGxhdGZvcm1fYWRkX2RldmljZXMocGxhdGZvcm1fZGV2aWNlcywgQVJSQVlfU0laRShwbGF0Zm9ybV9kZXZpY2VzKSk7CiAKKwlweGFfc2V0X2FjOTdfaW5mbyhOVUxMKTsKKwogCWlmIChscGQyNzBfbGNkX3RvX3VzZSAhPSBOVUxMKQogCQlzZXRfcHhhX2ZiX2luZm8obHBkMjcwX2xjZF90b191c2UpOwogCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLXB4YS9sdWJib2NrLmMgYi9hcmNoL2FybS9tYWNoLXB4YS9sdWJib2NrLmMKaW5kZXggN2I5YmRkMC4uYTNmYWU0MSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1weGEvbHViYm9jay5jCisrKyBiL2FyY2gvYXJtL21hY2gtcHhhL2x1YmJvY2suYwpAQCAtNDMsNiArNDMsNyBAQAogI2luY2x1ZGUgPGFzbS9hcmNoL3B4YS1yZWdzLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvcHhhMnh4LXJlZ3MuaD4KICNpbmNsdWRlIDxhc20vYXJjaC9tZnAtcHhhMjV4Lmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvYXVkaW8uaD4KICNpbmNsdWRlIDxhc20vYXJjaC9sdWJib2NrLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvdWRjLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvaXJkYS5oPgpAQCAtMTk2LDExICsxOTcsNiBAQAogCS8vIG5vIEQrIHB1bGx1cDsgbHViYm9jayBjYW4ndCBjb25uZWN0L2Rpc2Nvbm5lY3QgaW4gc29mdHdhcmUKIH07CiAKLXN0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIGx1Yl9hdWRpb19kZXZpY2UgPSB7Ci0JLm5hbWUJCT0gInB4YTJ4eC1hYzk3IiwKLQkuaWQJCT0gLTEsCi19OwotCiBzdGF0aWMgc3RydWN0IHJlc291cmNlIHNhMTExMV9yZXNvdXJjZXNbXSA9IHsKIAlbMF0gPSB7CiAJCS5zdGFydAk9IDB4MTAwMDAwMDAsCkBAIC0zNjgsNyArMzY0LDYgQEAKIAogc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKmRldmljZXNbXSBfX2luaXRkYXRhID0gewogCSZzYTExMTFfZGV2aWNlLAotCSZsdWJfYXVkaW9fZGV2aWNlLAogCSZzbWM5MXhfZGV2aWNlLAogCSZsdWJib2NrX2ZsYXNoX2RldmljZVswXSwKIAkmbHViYm9ja19mbGFzaF9kZXZpY2VbMV0sCkBAIC00OTQsNiArNDg5LDcgQEAKIAlzZXRfcHhhX2ZiX2luZm8oJnNoYXJwX2xtOHYzMSk7CiAJcHhhX3NldF9tY2lfaW5mbygmbHViYm9ja19tY2lfcGxhdGZvcm1fZGF0YSk7CiAJcHhhX3NldF9maWNwX2luZm8oJmx1YmJvY2tfZmljcF9wbGF0Zm9ybV9kYXRhKTsKKwlweGFfc2V0X2FjOTdfaW5mbyhOVUxMKTsKIAogCWx1YmJvY2tfZmxhc2hfZGF0YVswXS53aWR0aCA9IGx1YmJvY2tfZmxhc2hfZGF0YVsxXS53aWR0aCA9CiAJCShCT09UX0RFRiAmIDEpID8gMiA6IDQ7CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLXB4YS9tYWdpY2lhbi5jIGIvYXJjaC9hcm0vbWFjaC1weGEvbWFnaWNpYW4uYwppbmRleCBiYWRiYTA2Li4wMWIyZmE3IDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLXB4YS9tYWdpY2lhbi5jCisrKyBiL2FyY2gvYXJtL21hY2gtcHhhL21hZ2ljaWFuLmMKQEAgLTI1LDYgKzI1LDcgQEAKICNpbmNsdWRlIDxsaW51eC9tdGQvbWFwLmg+CiAjaW5jbHVkZSA8bGludXgvbXRkL3BoeXNtYXAuaD4KICNpbmNsdWRlIDxsaW51eC9wZGFfcG93ZXIuaD4KKyNpbmNsdWRlIDxsaW51eC9wd21fYmFja2xpZ2h0Lmg+CiAKICNpbmNsdWRlIDxhc20vZ3Bpby5oPgogI2luY2x1ZGUgPGFzbS9oYXJkd2FyZS5oPgpAQCAtMzMsMTIgKzM0LDE0IEBACiAjaW5jbHVkZSA8YXNtL2FyY2gvbWFnaWNpYW4uaD4KICNpbmNsdWRlIDxhc20vYXJjaC9tZnAtcHhhMjd4Lmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvcHhhLXJlZ3MuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9weGEyeHgtcmVncy5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL3B4YWZiLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvaTJjLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvbW1jLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvaXJkYS5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL29oY2kuaD4KIAorI2luY2x1ZGUgImRldmljZXMuaCIKICNpbmNsdWRlICJnZW5lcmljLmgiCiAKIHN0YXRpYyB1bnNpZ25lZCBsb25nIG1hZ2ljaWFuX3Bpbl9jb25maWdbXSA9IHsKQEAgLTM0OCw0MCArMzUxLDU4IEBACiAgKiBCYWNrbGlnaHQKICAqLwogCi1zdGF0aWMgdm9pZCBtYWdpY2lhbl9zZXRfYmxfaW50ZW5zaXR5KGludCBpbnRlbnNpdHkpCitzdGF0aWMgaW50IG1hZ2ljaWFuX2JhY2tsaWdodF9pbml0KHN0cnVjdCBkZXZpY2UgKmRldikKIHsKLQlpZiAoaW50ZW5zaXR5KSB7Ci0JCVBXTV9DVFJMMCA9IDE7Ci0JCVBXTV9QRVJWQUwwID0gMHhjODsKLQkJaWYgKGludGVuc2l0eSA+IDB4YzcpIHsKLQkJCVBXTV9QV0RVVFkwID0gaW50ZW5zaXR5IC0gMHg0ODsKLQkJCWdwaW9fc2V0X3ZhbHVlKEVHUElPX01BR0lDSUFOX0JMX1BPV0VSMiwgMSk7Ci0JCX0gZWxzZSB7Ci0JCQlQV01fUFdEVVRZMCA9IGludGVuc2l0eTsKLQkJCWdwaW9fc2V0X3ZhbHVlKEVHUElPX01BR0lDSUFOX0JMX1BPV0VSMiwgMCk7Ci0JCX0KLQkJZ3Bpb19zZXRfdmFsdWUoRUdQSU9fTUFHSUNJQU5fQkxfUE9XRVIsIDEpOwotCQlweGFfc2V0X2NrZW4oQ0tFTl9QV00wLCAxKTsKKwlpbnQgcmV0OworCisJcmV0ID0gZ3Bpb19yZXF1ZXN0KEVHUElPX01BR0lDSUFOX0JMX1BPV0VSLCAiQkxfUE9XRVIiKTsKKwlpZiAocmV0KQorCQlnb3RvIGVycjsKKwlyZXQgPSBncGlvX3JlcXVlc3QoRUdQSU9fTUFHSUNJQU5fQkxfUE9XRVIyLCAiQkxfUE9XRVIyIik7CisJaWYgKHJldCkKKwkJZ290byBlcnIyOworCXJldHVybiAwOworCitlcnIyOgorCWdwaW9fZnJlZShFR1BJT19NQUdJQ0lBTl9CTF9QT1dFUik7CitlcnI6CisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIGludCBtYWdpY2lhbl9iYWNrbGlnaHRfbm90aWZ5KGludCBicmlnaHRuZXNzKQoreworCWdwaW9fc2V0X3ZhbHVlKEVHUElPX01BR0lDSUFOX0JMX1BPV0VSLCBicmlnaHRuZXNzKTsKKwlpZiAoYnJpZ2h0bmVzcyA+PSAyMDApIHsKKwkJZ3Bpb19zZXRfdmFsdWUoRUdQSU9fTUFHSUNJQU5fQkxfUE9XRVIyLCAxKTsKKwkJcmV0dXJuIGJyaWdodG5lc3MgLSA3MjsKIAl9IGVsc2UgewotCQkvKiBQV01fUFdEVVRZMCA9IGludGVuc2l0eTsgKi8KLQkJZ3Bpb19zZXRfdmFsdWUoRUdQSU9fTUFHSUNJQU5fQkxfUE9XRVIsIDApOwotCQlweGFfc2V0X2NrZW4oQ0tFTl9QV00wLCAwKTsKKwkJZ3Bpb19zZXRfdmFsdWUoRUdQSU9fTUFHSUNJQU5fQkxfUE9XRVIyLCAwKTsKKwkJcmV0dXJuIGJyaWdodG5lc3M7CiAJfQogfQogCi1zdGF0aWMgc3RydWN0IGdlbmVyaWNfYmxfaW5mbyBiYWNrbGlnaHRfaW5mbyA9IHsKLQkuZGVmYXVsdF9pbnRlbnNpdHkgPSAweDY0LAotCS5saW1pdF9tYXNrICAgICAgICA9IDB4MGIsCi0JLm1heF9pbnRlbnNpdHkgICAgID0gMHhjNysweDQ4LAotCS5zZXRfYmxfaW50ZW5zaXR5ICA9IG1hZ2ljaWFuX3NldF9ibF9pbnRlbnNpdHksCitzdGF0aWMgdm9pZCBtYWdpY2lhbl9iYWNrbGlnaHRfZXhpdChzdHJ1Y3QgZGV2aWNlICpkZXYpCit7CisJZ3Bpb19mcmVlKEVHUElPX01BR0lDSUFOX0JMX1BPV0VSKTsKKwlncGlvX2ZyZWUoRUdQSU9fTUFHSUNJQU5fQkxfUE9XRVIyKTsKK30KKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9wd21fYmFja2xpZ2h0X2RhdGEgYmFja2xpZ2h0X2RhdGEgPSB7CisJLnB3bV9pZCAgICAgICAgID0gMCwKKwkubWF4X2JyaWdodG5lc3MgPSAyNzIsCisJLmRmdF9icmlnaHRuZXNzID0gMTAwLAorCS5wd21fcGVyaW9kX25zICA9IDMwOTIzLAorCS5pbml0ICAgICAgICAgICA9IG1hZ2ljaWFuX2JhY2tsaWdodF9pbml0LAorCS5ub3RpZnkgICAgICAgICA9IG1hZ2ljaWFuX2JhY2tsaWdodF9ub3RpZnksCisJLmV4aXQgICAgICAgICAgID0gbWFnaWNpYW5fYmFja2xpZ2h0X2V4aXQsCiB9OwogCiBzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBiYWNrbGlnaHQgPSB7Ci0JLm5hbWUgPSAiZ2VuZXJpYy1ibCIsCisJLm5hbWUgPSAicHdtLWJhY2tsaWdodCIsCiAJLmRldiAgPSB7Ci0JCS5wbGF0Zm9ybV9kYXRhID0gJmJhY2tsaWdodF9pbmZvLAorCQkucGFyZW50ICAgICAgICA9ICZweGEyN3hfZGV2aWNlX3B3bTAuZGV2LAorCQkucGxhdGZvcm1fZGF0YSA9ICZiYWNrbGlnaHRfZGF0YSwKIAl9LAotCS5pZCAgID0gLTEsCiB9OwogCiAvKgpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1weGEvbWFpbnN0b25lLmMgYi9hcmNoL2FybS9tYWNoLXB4YS9tYWluc3RvbmUuYwppbmRleCA3Mzk5ZmIzLi5mMmU5ZTdjIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLXB4YS9tYWluc3RvbmUuYworKysgYi9hcmNoL2FybS9tYWNoLXB4YS9tYWluc3RvbmUuYwpAQCAtMjMsOSArMjMsOSBAQAogI2luY2x1ZGUgPGxpbnV4L2lvcG9ydC5oPgogI2luY2x1ZGUgPGxpbnV4L210ZC9tdGQuaD4KICNpbmNsdWRlIDxsaW51eC9tdGQvcGFydGl0aW9ucy5oPgotI2luY2x1ZGUgPGxpbnV4L2JhY2tsaWdodC5oPgogI2luY2x1ZGUgPGxpbnV4L2lucHV0Lmg+CiAjaW5jbHVkZSA8bGludXgvZ3Bpb19rZXlzLmg+CisjaW5jbHVkZSA8bGludXgvcHdtX2JhY2tsaWdodC5oPgogCiAjaW5jbHVkZSA8YXNtL3R5cGVzLmg+CiAjaW5jbHVkZSA8YXNtL3NldHVwLmg+CkBAIC0yODAsMTIgKzI4MCw2IEBACiAJLnJlc3VtZQkJPSBtc3RfYXVkaW9fcmVzdW1lLAogfTsKIAotc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgbXN0X2F1ZGlvX2RldmljZSA9IHsKLQkubmFtZQkJPSAicHhhMnh4LWFjOTciLAotCS5pZAkJPSAtMSwKLQkuZGV2CQk9IHsgLnBsYXRmb3JtX2RhdGEgPSAmbXN0X2F1ZGlvX29wcyB9LAotfTsKLQogc3RhdGljIHN0cnVjdCByZXNvdXJjZSBmbGFzaF9yZXNvdXJjZXNbXSA9IHsKIAlbMF0gPSB7CiAJCS5zdGFydAk9IFBYQV9DUzBfUEhZUywKQEAgLTM0OSw1NiArMzQzLDI3IEBACiAJfSwKIH07CiAKLSNpZmRlZiBDT05GSUdfQkFDS0xJR0hUX0NMQVNTX0RFVklDRQotc3RhdGljIGludCBtYWluc3RvbmVfYmFja2xpZ2h0X3VwZGF0ZV9zdGF0dXMoc3RydWN0IGJhY2tsaWdodF9kZXZpY2UgKmJsKQotewotCWludCBicmlnaHRuZXNzID0gYmwtPnByb3BzLmJyaWdodG5lc3M7CisjaWYgZGVmaW5lZChDT05GSUdfRkJfUFhBKSB8fCBkZWZpbmVkKENPTkZJR19GQl9QWEFfTU9EVUxFKQorc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9wd21fYmFja2xpZ2h0X2RhdGEgbWFpbnN0b25lX2JhY2tsaWdodF9kYXRhID0geworCS5wd21faWQJCT0gMCwKKwkubWF4X2JyaWdodG5lc3MJPSAxMDIzLAorCS5kZnRfYnJpZ2h0bmVzcwk9IDEwMjMsCisJLnB3bV9wZXJpb2RfbnMJPSA3ODc3MCwKK307CiAKLQlpZiAoYmwtPnByb3BzLnBvd2VyICE9IEZCX0JMQU5LX1VOQkxBTksgfHwKLQkgICAgYmwtPnByb3BzLmZiX2JsYW5rICE9IEZCX0JMQU5LX1VOQkxBTkspCi0JCWJyaWdodG5lc3MgPSAwOwotCi0JaWYgKGJyaWdodG5lc3MgIT0gMCkKLQkJcHhhX3NldF9ja2VuKENLRU5fUFdNMCwgMSk7Ci0KLQlQV01fQ1RSTDAgPSAwOwotCVBXTV9QV0RVVFkwID0gYnJpZ2h0bmVzczsKLQlQV01fUEVSVkFMMCA9IGJsLT5wcm9wcy5tYXhfYnJpZ2h0bmVzczsKLQotCWlmIChicmlnaHRuZXNzID09IDApCi0JCXB4YV9zZXRfY2tlbihDS0VOX1BXTTAsIDApOwotCXJldHVybiAwOyAvKiBwb2ludGxlc3MgcmV0dXJuIHZhbHVlICovCi19Ci0KLXN0YXRpYyBpbnQgbWFpbnN0b25lX2JhY2tsaWdodF9nZXRfYnJpZ2h0bmVzcyhzdHJ1Y3QgYmFja2xpZ2h0X2RldmljZSAqYmwpCi17Ci0JcmV0dXJuIFBXTV9QV0RVVFkwOwotfQotCi1zdGF0aWMgLypjb25zdCovIHN0cnVjdCBiYWNrbGlnaHRfb3BzIG1haW5zdG9uZV9iYWNrbGlnaHRfb3BzID0gewotCS51cGRhdGVfc3RhdHVzCT0gbWFpbnN0b25lX2JhY2tsaWdodF91cGRhdGVfc3RhdHVzLAotCS5nZXRfYnJpZ2h0bmVzcwk9IG1haW5zdG9uZV9iYWNrbGlnaHRfZ2V0X2JyaWdodG5lc3MsCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBtYWluc3RvbmVfYmFja2xpZ2h0X2RldmljZSA9IHsKKwkubmFtZQkJPSAicHdtLWJhY2tsaWdodCIsCisJLmRldgkJPSB7CisJCS5wYXJlbnQgPSAmcHhhMjd4X2RldmljZV9wd20wLmRldiwKKwkJLnBsYXRmb3JtX2RhdGEgPSAmbWFpbnN0b25lX2JhY2tsaWdodF9kYXRhLAorCX0sCiB9OwogCiBzdGF0aWMgdm9pZCBfX2luaXQgbWFpbnN0b25lX2JhY2tsaWdodF9yZWdpc3Rlcih2b2lkKQogewotCXN0cnVjdCBiYWNrbGlnaHRfZGV2aWNlICpibDsKLQotCWJsID0gYmFja2xpZ2h0X2RldmljZV9yZWdpc3RlcigibWFpbnN0b25lLWJsIiwgJnB4YV9kZXZpY2VfZmIuZGV2LAotCQkJCSAgICAgICBOVUxMLCAmbWFpbnN0b25lX2JhY2tsaWdodF9vcHMpOwotCWlmIChJU19FUlIoYmwpKSB7Ci0JCXByaW50ayhLRVJOX0VSUiAibWFpbnN0b25lOiB1bmFibGUgdG8gcmVnaXN0ZXIgYmFja2xpZ2h0OiAlbGRcbiIsCi0JCSAgICAgICBQVFJfRVJSKGJsKSk7Ci0JCXJldHVybjsKLQl9Ci0KLQkvKgotCSAqIGJyb2tlbiBkZXNpZ24gLSByZWdpc3Rlci10aGVuLXNldHVwIGludGVyZmFjZXMgYXJlCi0JICogdXR0ZXJseSBicm9rZW4gYnkgZGVmaW5pdGlvbi4KLQkgKi8KLQlibC0+cHJvcHMubWF4X2JyaWdodG5lc3MgPSAxMDIzOwotCWJsLT5wcm9wcy5icmlnaHRuZXNzID0gMTAyMzsKLQliYWNrbGlnaHRfdXBkYXRlX3N0YXR1cyhibCk7CisJaW50IHJldCA9IHBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmbWFpbnN0b25lX2JhY2tsaWdodF9kZXZpY2UpOworCWlmIChyZXQpCisJCXByaW50ayhLRVJOX0VSUiAibWFpbnN0b25lOiBmYWlsZWQgdG8gcmVnaXN0ZXIgYmFja2xpZ2h0IGRldmljZTogJWRcbiIsIHJldCk7CiB9CiAjZWxzZQogI2RlZmluZSBtYWluc3RvbmVfYmFja2xpZ2h0X3JlZ2lzdGVyKCkJZG8geyB9IHdoaWxlICgwKQpAQCAtNTI4LDcgKzQ5Myw2IEBACiAKIHN0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwbGF0Zm9ybV9kZXZpY2VzW10gX19pbml0ZGF0YSA9IHsKIAkmc21jOTF4X2RldmljZSwKLQkmbXN0X2F1ZGlvX2RldmljZSwKIAkmbXN0X2ZsYXNoX2RldmljZVswXSwKIAkmbXN0X2ZsYXNoX2RldmljZVsxXSwKIAkmbXN0X2dwaW9fa2V5c19kZXZpY2UsCkBAIC02MzgsNiArNjAyLDcgQEAKIAlweGFfc2V0X2ZpY3BfaW5mbygmbWFpbnN0b25lX2ZpY3BfcGxhdGZvcm1fZGF0YSk7CiAJcHhhX3NldF9vaGNpX2luZm8oJm1haW5zdG9uZV9vaGNpX3BsYXRmb3JtX2RhdGEpOwogCXB4YV9zZXRfaTJjX2luZm8oTlVMTCk7CisJcHhhX3NldF9hYzk3X2luZm8oJm1zdF9hdWRpb19vcHMpOwogCiAJbWFpbnN0b25lX2luaXRfa2V5cGFkKCk7CiB9CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLXB4YS9tZnAtcHhhMnh4LmMgYi9hcmNoL2FybS9tYWNoLXB4YS9tZnAtcHhhMnh4LmMKaW5kZXggMjIwOTdhMS4uZDFjZGI0ZSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1weGEvbWZwLXB4YTJ4eC5jCisrKyBiL2FyY2gvYXJtL21hY2gtcHhhL21mcC1weGEyeHguYwpAQCAtMjAsNiArMjAsNyBAQAogCiAjaW5jbHVkZSA8YXNtL2FyY2gvaGFyZHdhcmUuaD4KICNpbmNsdWRlIDxhc20vYXJjaC9weGEtcmVncy5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL3B4YTJ4eC1yZWdzLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvbWZwLXB4YTJ4eC5oPgogCiAjaW5jbHVkZSAiZ2VuZXJpYy5oIgpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1weGEvcGNtOTkwLWJhc2Vib2FyZC5jIGIvYXJjaC9hcm0vbWFjaC1weGEvcGNtOTkwLWJhc2Vib2FyZC5jCmluZGV4IDQ5ZDk1MWQuLjVkODdjN2MgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtcHhhL3BjbTk5MC1iYXNlYm9hcmQuYworKysgYi9hcmNoL2FybS9tYWNoLXB4YS9wY205OTAtYmFzZWJvYXJkLmMKQEAgLTI0LDYgKzI0LDcgQEAKICNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KICNpbmNsdWRlIDxsaW51eC9pZGUuaD4KICNpbmNsdWRlIDxsaW51eC9pMmMuaD4KKyNpbmNsdWRlIDxsaW51eC9wd21fYmFja2xpZ2h0Lmg+CiAKICNpbmNsdWRlIDxtZWRpYS9zb2NfY2FtZXJhLmg+CiAKQEAgLTMzLDEyICszNCwxMDMgQEAKICNpbmNsdWRlIDxhc20vbWFjaC9tYXAuaD4KICNpbmNsdWRlIDxhc20vYXJjaC9weGEtcmVncy5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL3B4YTJ4eC1ncGlvLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvYXVkaW8uaD4KICNpbmNsdWRlIDxhc20vYXJjaC9tbWMuaD4KICNpbmNsdWRlIDxhc20vYXJjaC9vaGNpLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvcGNtOTkwX2Jhc2Vib2FyZC5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL3B4YWZiLmg+CisKKyNpbmNsdWRlICJkZXZpY2VzLmgiCiAKIC8qCi0gKiBUaGUgUENNLTk5MCBkZXZlbG9wbWVudCBiYXNlYm9hcmQgdXNlcyBQQ00tMDI3J3MgaGFyZGV3YXJlIGluIHRoZQorICogcGNtOTkwX2xjZF9wb3dlciAtIGNvbnRyb2wgcG93ZXIgc3VwcGx5IHRvIHRoZSBMQ0QKKyAqIEBvbjogMCA9IHN3aXRjaCBvZmYsIDEgPSBzd2l0Y2ggb24KKyAqCisgKiBDYWxsZWQgYnkgdGhlIHB4YWZiIGRyaXZlcgorICovCisjaWZuZGVmIENPTkZJR19QQ005OTBfRElTUExBWV9OT05FCitzdGF0aWMgdm9pZCBwY205OTBfbGNkX3Bvd2VyKGludCBvbiwgc3RydWN0IGZiX3Zhcl9zY3JlZW5pbmZvICp2YXIpCit7CisJaWYgKG9uKSB7CisJCS8qIGVuYWJsZSBMQ0QtTGF0Y2hlcworCQkgKiBwb3dlciBvbiBMQ0QKKwkJICovCisJCV9fUENNOTkwX0NUUkxfUkVHKFBDTTk5MF9DVFJMX1BIWVMgKyBQQ005OTBfQ1RSTF9SRUczKSA9CisJCQlQQ005OTBfQ1RSTF9MQ0RQV1IgKyBQQ005OTBfQ1RSTF9MQ0RPTjsKKwl9IGVsc2UgeworCQkvKiBkaXNhYmxlIExDRC1MYXRjaGVzCisJCSAqIHBvd2VyIG9mZiBMQ0QKKwkJICovCisJCV9fUENNOTkwX0NUUkxfUkVHKFBDTTk5MF9DVFJMX1BIWVMgKyBQQ005OTBfQ1RSTF9SRUczKSA9IDB4MDA7CisJfQorfQorI2VuZGlmCisKKyNpZiBkZWZpbmVkKENPTkZJR19QQ005OTBfRElTUExBWV9TSEFSUCkKK3N0YXRpYyBzdHJ1Y3QgcHhhZmJfbW9kZV9pbmZvIGZiX2luZm9fc2hhcnBfbHEwODR2MWRnMjEgPSB7CisJLnBpeGNsb2NrCQk9IDI4MDAwLAorCS54cmVzCQkJPSA2NDAsCisJLnlyZXMJCQk9IDQ4MCwKKwkuYnBwCQkJPSAxNiwKKwkuaHN5bmNfbGVuCQk9IDIwLAorCS5sZWZ0X21hcmdpbgkJPSAxMDMsCisJLnJpZ2h0X21hcmdpbgkJPSA0NywKKwkudnN5bmNfbGVuCQk9IDYsCisJLnVwcGVyX21hcmdpbgkJPSAyOCwKKwkubG93ZXJfbWFyZ2luCQk9IDUsCisJLnN5bmMJCQk9IDAsCisJLmNtYXBfZ3JleXNjYWxlCQk9IDAsCit9OworCitzdGF0aWMgc3RydWN0IHB4YWZiX21hY2hfaW5mbyBwY205OTBfZmJpbmZvIF9faW5pdGRhdGEgPSB7CisJLm1vZGVzCQkJPSAmZmJfaW5mb19zaGFycF9scTA4NHYxZGcyMSwKKwkubnVtX21vZGVzCQk9IDEsCisJLmxjY3IwCQkJPSBMQ0NSMF9QQVMsCisJLmxjY3IzCQkJPSBMQ0NSM19QQ1AsCisJLnB4YWZiX2xjZF9wb3dlcgk9IHBjbTk5MF9sY2RfcG93ZXIsCit9OworI2VsaWYgZGVmaW5lZChDT05GSUdfUENNOTkwX0RJU1BMQVlfTkVDKQorc3RydWN0IHB4YWZiX21vZGVfaW5mbyBmYl9pbmZvX25lY19ubDY0NDhiYzIwXzE4ZCA9IHsKKwkucGl4Y2xvY2sJCT0gMzk3MjAsCisJLnhyZXMJCQk9IDY0MCwKKwkueXJlcwkJCT0gNDgwLAorCS5icHAJCQk9IDE2LAorCS5oc3luY19sZW4JCT0gMzIsCisJLmxlZnRfbWFyZ2luCQk9IDE2LAorCS5yaWdodF9tYXJnaW4JCT0gNDgsCisJLnZzeW5jX2xlbgkJPSAyLAorCS51cHBlcl9tYXJnaW4JCT0gMTIsCisJLmxvd2VyX21hcmdpbgkJPSAxNywKKwkuc3luYwkJCT0gMCwKKwkuY21hcF9ncmV5c2NhbGUJCT0gMCwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcHhhZmJfbWFjaF9pbmZvIHBjbTk5MF9mYmluZm8gX19pbml0ZGF0YSA9IHsKKwkubW9kZXMJCQk9ICZmYl9pbmZvX25lY19ubDY0NDhiYzIwXzE4ZCwKKwkubnVtX21vZGVzCQk9IDEsCisJLmxjY3IwCQkJPSBMQ0NSMF9BY3QsCisJLmxjY3IzCQkJPSBMQ0NSM19QaXhGbEVkZywKKwkucHhhZmJfbGNkX3Bvd2VyCT0gcGNtOTkwX2xjZF9wb3dlciwKK307CisjZW5kaWYKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9wd21fYmFja2xpZ2h0X2RhdGEgcGNtOTkwX2JhY2tsaWdodF9kYXRhID0geworCS5wd21faWQJCT0gMCwKKwkubWF4X2JyaWdodG5lc3MJPSAxMDIzLAorCS5kZnRfYnJpZ2h0bmVzcwk9IDEwMjMsCisJLnB3bV9wZXJpb2RfbnMJPSA3ODc3MCwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIHBjbTk5MF9iYWNrbGlnaHRfZGV2aWNlID0geworCS5uYW1lCQk9ICJwd20tYmFja2xpZ2h0IiwKKwkuZGV2CQk9IHsKKwkJLnBhcmVudCA9ICZweGEyN3hfZGV2aWNlX3B3bTAuZGV2LAorCQkucGxhdGZvcm1fZGF0YSA9ICZwY205OTBfYmFja2xpZ2h0X2RhdGEsCisJfSwKK307CisKKy8qCisgKiBUaGUgUENNLTk5MCBkZXZlbG9wbWVudCBiYXNlYm9hcmQgdXNlcyBQQ00tMDI3J3MgaGFyZHdhcmUgaW4gdGhlCiAgKiBmb2xsb3dpbmcgd2F5OgogICoKICAqIC0gTENEIHN1cHBvcnQgaXMgaW4gdXNlCkBAIC0zMzMsMzYgKzQyNSw2IEBACiAjZW5kaWYgLyogQ09ORklHX1ZJREVPX1BYQTI3eCB8fENPTkZJR19WSURFT19QWEEyN3hfTU9EVUxFICovCiAKIC8qCi0gKiBBQzk3IHN1cHBvcnQKLSAqIE5vdGU6IFRoZSBjb25uZWN0ZWQgQUM5NyBtaXhlciBhbHNvIHJlcG9ydHMgaW50ZXJydXB0cyBhdCBQQ005OTBfQUM5N19JUlEKLSAqLwotc3RhdGljIHN0cnVjdCByZXNvdXJjZSBweGEyN3hfYWM5N19yZXNvdXJjZXNbXSA9IHsKLQlbMF0gPSB7Ci0JCS5zdGFydCAgPSAweDQwNTAwMDAwLAotCQkuZW5kCT0gMHg0MDUwMDAwMCArIDB4ZmZmLAotCQkuZmxhZ3MgID0gSU9SRVNPVVJDRV9NRU0sCi0JfSwKLQlbMV0gPSB7Ci0JCS5zdGFydCAgPSBJUlFfQUM5NywKLQkJLmVuZCAgICA9IElSUV9BQzk3LAotCQkuZmxhZ3MgID0gSU9SRVNPVVJDRV9JUlEsCi0JfSwKLX07Ci0KLXN0YXRpYyB1NjQgcHhhX2FjOTdfZG1hbWFzayA9IDB4ZmZmZmZmZmZVTDsKLQotc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgcHhhMjd4X2RldmljZV9hYzk3ID0gewotCS5uYW1lICAgICAgICAgICA9ICJweGEyeHgtYWM5NyIsCi0JLmlkICAgICAgICAgICAgID0gLTEsCi0JLmRldiAgICAgICAgICAgID0gewotCQkuZG1hX21hc2sgPSAmcHhhX2FjOTdfZG1hbWFzaywKLQkJLmNvaGVyZW50X2RtYV9tYXNrID0gMHhmZmZmZmZmZiwKLQl9LAotCS5udW1fcmVzb3VyY2VzICA9IEFSUkFZX1NJWkUocHhhMjd4X2FjOTdfcmVzb3VyY2VzKSwKLQkucmVzb3VyY2UgICAgICAgPSBweGEyN3hfYWM5N19yZXNvdXJjZXMsCi19OwotCi0vKgogICogZW5hYmxlIGdlbmVyaWMgYWNjZXNzIHRvIHRoZSBiYXNlIGJvYXJkIGNvbnRyb2wgQ1BMRHMgVTYgYW5kIFU3CiAgKi8KIHN0YXRpYyBzdHJ1Y3QgbWFwX2Rlc2MgcGNtOTkwX2lvX2Rlc2NbXSBfX2luaXRkYXRhID0gewpAQCAtMzkzLDcgKzQ1NSwxMSBAQAogCS8qIHJlZ2lzdGVyIENQTEQncyBJUlEgY29udHJvbGxlciAqLwogCXBjbTk5MF9pbml0X2lycSgpOwogCi0JcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZweGEyN3hfZGV2aWNlX2FjOTcpOworI2lmbmRlZiBDT05GSUdfUENNOTkwX0RJU1BMQVlfTk9ORQorCXNldF9weGFfZmJfaW5mbygmcGNtOTkwX2ZiaW5mbyk7CisjZW5kaWYKKwlweGFfZ3Bpb19tb2RlKEdQSU8xNl9QV00wX01EKTsKKwlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJnBjbTk5MF9iYWNrbGlnaHRfZGV2aWNlKTsKIAogCS8qIE1NQyAqLwogCXB4YV9zZXRfbWNpX2luZm8oJnBjbTk5MF9tY2lfcGxhdGZvcm1fZGF0YSk7CkBAIC00MDIsNiArNDY4LDcgQEAKIAlweGFfc2V0X29oY2lfaW5mbygmcGNtOTkwX29oY2lfcGxhdGZvcm1fZGF0YSk7CiAKIAlweGFfc2V0X2kyY19pbmZvKE5VTEwpOworCXB4YV9zZXRfYWM5N19pbmZvKE5VTEwpOwogCiAjaWYgZGVmaW5lZChDT05GSUdfVklERU9fUFhBMjd4KSB8fCBkZWZpbmVkKENPTkZJR19WSURFT19QWEEyN3hfTU9EVUxFKQogCXB4YV9zZXRfY2FtZXJhX2luZm8oJnBjbTk5MF9weGFjYW1lcmFfcGxhdGZvcm1fZGF0YSk7CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLXB4YS9wb29kbGUuYyBiL2FyY2gvYXJtL21hY2gtcHhhL3Bvb2RsZS5jCmluZGV4IDBiMzBmMjUuLmY4MWMxMGMgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtcHhhL3Bvb2RsZS5jCisrKyBiL2FyY2gvYXJtL21hY2gtcHhhL3Bvb2RsZS5jCkBAIC0zMiw2ICszMiw3IEBACiAjaW5jbHVkZSA8YXNtL21hY2gvaXJxLmg+CiAKICNpbmNsdWRlIDxhc20vYXJjaC9weGEtcmVncy5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL3B4YTJ4eC1yZWdzLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvcHhhMnh4LWdwaW8uaD4KICNpbmNsdWRlIDxhc20vYXJjaC9tbWMuaD4KICNpbmNsdWRlIDxhc20vYXJjaC91ZGMuaD4KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtcHhhL3B3bS5jIGIvYXJjaC9hcm0vbWFjaC1weGEvcHdtLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2UyOGNkOQotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gtcHhhL3B3bS5jCkBAIC0wLDAgKzEsMzE5IEBACisvKgorICogbGludXgvYXJjaC9hcm0vbWFjaC1weGEvcHdtLmMKKyAqCisgKiBzaW1wbGUgZHJpdmVyIGZvciBQV00gKFB1bHNlIFdpZHRoIE1vZHVsYXRvcikgY29udHJvbGxlcgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcworICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisgKgorICogMjAwOC0wMi0xMwlpbml0aWFsIHZlcnNpb24KKyAqIAkJZXJpYyBtaWFvIDxlcmljLm1pYW9AbWFydmVsbC5jb20+CisgKi8KKworI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L2Vyci5oPgorI2luY2x1ZGUgPGxpbnV4L2Nsay5oPgorI2luY2x1ZGUgPGxpbnV4L2lvLmg+CisjaW5jbHVkZSA8bGludXgvcHdtLmg+CisKKyNpbmNsdWRlIDxhc20vZGl2NjQuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9weGEtcmVncy5oPgorCisvKiBQV00gcmVnaXN0ZXJzIGFuZCBiaXRzIGRlZmluaXRpb25zICovCisjZGVmaW5lIFBXTUNSCQkoMHgwMCkKKyNkZWZpbmUgUFdNRENSCQkoMHgwNCkKKyNkZWZpbmUgUFdNUENSCQkoMHgwOCkKKworI2RlZmluZSBQV01DUl9TRAkoMSA8PCA2KQorI2RlZmluZSBQV01EQ1JfRkQJKDEgPDwgMTApCisKK3N0cnVjdCBwd21fZGV2aWNlIHsKKwlzdHJ1Y3QgbGlzdF9oZWFkCW5vZGU7CisJc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldjsKKworCWNvbnN0IGNoYXIJKmxhYmVsOworCXN0cnVjdCBjbGsJKmNsazsKKwlpbnQJCWNsa19lbmFibGVkOworCXZvaWQgX19pb21lbQkqbW1pb19iYXNlOworCisJdW5zaWduZWQgaW50CXVzZV9jb3VudDsKKwl1bnNpZ25lZCBpbnQJcHdtX2lkOworfTsKKworLyoKKyAqIHBlcmlvZF9ucyA9IDEwXjkgKiAoUFJFU0NBTEUgKyAxKSAqIChQViArIDEpIC8gUFdNX0NMS19SQVRFCisgKiBkdXR5X25zICAgPSAxMF45ICogKFBSRVNDQUxFICsgMSkgKiBEQyAvIFBXTV9DTEtfUkFURQorICovCitpbnQgcHdtX2NvbmZpZyhzdHJ1Y3QgcHdtX2RldmljZSAqcHdtLCBpbnQgZHV0eV9ucywgaW50IHBlcmlvZF9ucykKK3sKKwl1bnNpZ25lZCBsb25nIGxvbmcgYzsKKwl1bnNpZ25lZCBsb25nIHBlcmlvZF9jeWNsZXMsIHByZXNjYWxlLCBwdiwgZGM7CisKKwlpZiAocHdtID09IE5VTEwgfHwgcGVyaW9kX25zID09IDAgfHwgZHV0eV9ucyA+IHBlcmlvZF9ucykKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwljID0gY2xrX2dldF9yYXRlKHB3bS0+Y2xrKTsKKwljID0gYyAqIHBlcmlvZF9uczsKKwlkb19kaXYoYywgMTAwMDAwMDAwMCk7CisJcGVyaW9kX2N5Y2xlcyA9IGM7CisKKwlpZiAocGVyaW9kX2N5Y2xlcyA8IDApCisJCXBlcmlvZF9jeWNsZXMgPSAxOworCXByZXNjYWxlID0gKHBlcmlvZF9jeWNsZXMgLSAxKSAvIDEwMjQ7CisJcHYgPSBwZXJpb2RfY3ljbGVzIC8gKHByZXNjYWxlICsgMSkgLSAxOworCisJaWYgKHByZXNjYWxlID4gNjMpCisJCXJldHVybiAtRUlOVkFMOworCisJaWYgKGR1dHlfbnMgPT0gcGVyaW9kX25zKQorCQlkYyA9IFBXTURDUl9GRDsKKwllbHNlCisJCWRjID0gKHB2ICsgMSkgKiBkdXR5X25zIC8gcGVyaW9kX25zOworCisJLyogTk9URTogdGhlIGNsb2NrIHRvIFBXTSBoYXMgdG8gYmUgZW5hYmxlZCBmaXJzdAorCSAqIGJlZm9yZSB3cml0aW5nIHRvIHRoZSByZWdpc3RlcnMKKwkgKi8KKwljbGtfZW5hYmxlKHB3bS0+Y2xrKTsKKwlfX3Jhd193cml0ZWwocHJlc2NhbGUsIHB3bS0+bW1pb19iYXNlICsgUFdNQ1IpOworCV9fcmF3X3dyaXRlbChkYywgcHdtLT5tbWlvX2Jhc2UgKyBQV01EQ1IpOworCV9fcmF3X3dyaXRlbChwdiwgcHdtLT5tbWlvX2Jhc2UgKyBQV01QQ1IpOworCWNsa19kaXNhYmxlKHB3bS0+Y2xrKTsKKworCXJldHVybiAwOworfQorRVhQT1JUX1NZTUJPTChwd21fY29uZmlnKTsKKworaW50IHB3bV9lbmFibGUoc3RydWN0IHB3bV9kZXZpY2UgKnB3bSkKK3sKKwlpbnQgcmMgPSAwOworCisJaWYgKCFwd20tPmNsa19lbmFibGVkKSB7CisJCXJjID0gY2xrX2VuYWJsZShwd20tPmNsayk7CisJCWlmICghcmMpCisJCQlwd20tPmNsa19lbmFibGVkID0gMTsKKwl9CisJcmV0dXJuIHJjOworfQorRVhQT1JUX1NZTUJPTChwd21fZW5hYmxlKTsKKwordm9pZCBwd21fZGlzYWJsZShzdHJ1Y3QgcHdtX2RldmljZSAqcHdtKQoreworCWlmIChwd20tPmNsa19lbmFibGVkKSB7CisJCWNsa19kaXNhYmxlKHB3bS0+Y2xrKTsKKwkJcHdtLT5jbGtfZW5hYmxlZCA9IDA7CisJfQorfQorRVhQT1JUX1NZTUJPTChwd21fZGlzYWJsZSk7CisKK3N0YXRpYyBERUZJTkVfTVVURVgocHdtX2xvY2spOworc3RhdGljIExJU1RfSEVBRChwd21fbGlzdCk7CisKK3N0cnVjdCBwd21fZGV2aWNlICpwd21fcmVxdWVzdChpbnQgcHdtX2lkLCBjb25zdCBjaGFyICpsYWJlbCkKK3sKKwlzdHJ1Y3QgcHdtX2RldmljZSAqcHdtOworCWludCBmb3VuZCA9IDA7CisKKwltdXRleF9sb2NrKCZwd21fbG9jayk7CisKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5KHB3bSwgJnB3bV9saXN0LCBub2RlKSB7CisJCWlmIChwd20tPnB3bV9pZCA9PSBwd21faWQpIHsKKwkJCWZvdW5kID0gMTsKKwkJCWJyZWFrOworCQl9CisJfQorCisJaWYgKGZvdW5kKSB7CisJCWlmIChwd20tPnVzZV9jb3VudCA9PSAwKSB7CisJCQlwd20tPnVzZV9jb3VudCsrOworCQkJcHdtLT5sYWJlbCA9IGxhYmVsOworCQl9IGVsc2UKKwkJCXB3bSA9IEVSUl9QVFIoLUVCVVNZKTsKKwl9IGVsc2UKKwkJcHdtID0gRVJSX1BUUigtRU5PRU5UKTsKKworCW11dGV4X3VubG9jaygmcHdtX2xvY2spOworCXJldHVybiBwd207Cit9CitFWFBPUlRfU1lNQk9MKHB3bV9yZXF1ZXN0KTsKKwordm9pZCBwd21fZnJlZShzdHJ1Y3QgcHdtX2RldmljZSAqcHdtKQoreworCW11dGV4X2xvY2soJnB3bV9sb2NrKTsKKworCWlmIChwd20tPnVzZV9jb3VudCkgeworCQlwd20tPnVzZV9jb3VudC0tOworCQlwd20tPmxhYmVsID0gTlVMTDsKKwl9IGVsc2UKKwkJcHJfd2FybmluZygiUFdNIGRldmljZSBhbHJlYWR5IGZyZWVkXG4iKTsKKworCW11dGV4X3VubG9jaygmcHdtX2xvY2spOworfQorRVhQT1JUX1NZTUJPTChwd21fZnJlZSk7CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBfX2FkZF9wd20oc3RydWN0IHB3bV9kZXZpY2UgKnB3bSkKK3sKKwltdXRleF9sb2NrKCZwd21fbG9jayk7CisJbGlzdF9hZGRfdGFpbCgmcHdtLT5ub2RlLCAmcHdtX2xpc3QpOworCW11dGV4X3VubG9jaygmcHdtX2xvY2spOworfQorCitzdGF0aWMgc3RydWN0IHB3bV9kZXZpY2UgKnB3bV9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LAorCQl1bnNpZ25lZCBpbnQgcHdtX2lkLCBzdHJ1Y3QgcHdtX2RldmljZSAqcGFyZW50X3B3bSkKK3sKKwlzdHJ1Y3QgcHdtX2RldmljZSAqcHdtOworCXN0cnVjdCByZXNvdXJjZSAqcjsKKwlpbnQgcmV0ID0gMDsKKworCXB3bSA9IGt6YWxsb2Moc2l6ZW9mKHN0cnVjdCBwd21fZGV2aWNlKSwgR0ZQX0tFUk5FTCk7CisJaWYgKHB3bSA9PSBOVUxMKSB7CisJCWRldl9lcnIoJnBkZXYtPmRldiwgImZhaWxlZCB0byBhbGxvY2F0ZSBtZW1vcnlcbiIpOworCQlyZXR1cm4gRVJSX1BUUigtRU5PTUVNKTsKKwl9CisKKwlwd20tPmNsayA9IGNsa19nZXQoJnBkZXYtPmRldiwgIlBXTUNMSyIpOworCWlmIChJU19FUlIocHdtLT5jbGspKSB7CisJCXJldCA9IFBUUl9FUlIocHdtLT5jbGspOworCQlnb3RvIGVycl9mcmVlOworCX0KKwlwd20tPmNsa19lbmFibGVkID0gMDsKKworCXB3bS0+dXNlX2NvdW50ID0gMDsKKwlwd20tPnB3bV9pZCA9IHB3bV9pZDsKKwlwd20tPnBkZXYgPSBwZGV2OworCisJaWYgKHBhcmVudF9wd20gIT0gTlVMTCkgeworCQkvKiByZWdpc3RlcnMgZm9yIHRoZSBzZWNvbmQgUFdNIGhhcyBvZmZzZXQgb2YgMHgxMCAqLworCQlwd20tPm1taW9fYmFzZSA9IHBhcmVudF9wd20tPm1taW9fYmFzZSArIDB4MTA7CisJCV9fYWRkX3B3bShwd20pOworCQlyZXR1cm4gcHdtOworCX0KKworCXIgPSBwbGF0Zm9ybV9nZXRfcmVzb3VyY2UocGRldiwgSU9SRVNPVVJDRV9NRU0sIDApOworCWlmIChyID09IE5VTEwpIHsKKwkJZGV2X2VycigmcGRldi0+ZGV2LCAibm8gbWVtb3J5IHJlc291cmNlIGRlZmluZWRcbiIpOworCQlyZXQgPSAtRU5PREVWOworCQlnb3RvIGVycl9mcmVlX2NsazsKKwl9CisKKwlyID0gcmVxdWVzdF9tZW1fcmVnaW9uKHItPnN0YXJ0LCByLT5lbmQgLSByLT5zdGFydCArIDEsIHBkZXYtPm5hbWUpOworCWlmIChyID09IE5VTEwpIHsKKwkJZGV2X2VycigmcGRldi0+ZGV2LCAiZmFpbGVkIHRvIHJlcXVlc3QgbWVtb3J5IHJlc291cmNlXG4iKTsKKwkJcmV0ID0gLUVCVVNZOworCQlnb3RvIGVycl9mcmVlX2NsazsKKwl9CisKKwlwd20tPm1taW9fYmFzZSA9IGlvcmVtYXAoci0+c3RhcnQsIHItPmVuZCAtIHItPnN0YXJ0ICsgMSk7CisJaWYgKHB3bS0+bW1pb19iYXNlID09IE5VTEwpIHsKKwkJZGV2X2VycigmcGRldi0+ZGV2LCAiZmFpbGVkIHRvIGlvcmVtYXAoKSByZWdpc3RlcnNcbiIpOworCQlyZXQgPSAtRU5PREVWOworCQlnb3RvIGVycl9mcmVlX21lbTsKKwl9CisKKwlfX2FkZF9wd20ocHdtKTsKKwlwbGF0Zm9ybV9zZXRfZHJ2ZGF0YShwZGV2LCBwd20pOworCXJldHVybiBwd207CisKK2Vycl9mcmVlX21lbToKKwlyZWxlYXNlX21lbV9yZWdpb24oci0+c3RhcnQsIHItPmVuZCAtIHItPnN0YXJ0ICsgMSk7CitlcnJfZnJlZV9jbGs6CisJY2xrX3B1dChwd20tPmNsayk7CitlcnJfZnJlZToKKwlrZnJlZShwd20pOworCXJldHVybiBFUlJfUFRSKHJldCk7Cit9CisKK3N0YXRpYyBpbnQgX19kZXZpbml0IHB4YTI1eF9wd21fcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKK3sKKwlzdHJ1Y3QgcHdtX2RldmljZSAqcHdtID0gcHdtX3Byb2JlKHBkZXYsIHBkZXYtPmlkLCBOVUxMKTsKKworCWlmIChJU19FUlIocHdtKSkKKwkJcmV0dXJuIFBUUl9FUlIocHdtKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IF9fZGV2aW5pdCBweGEyN3hfcHdtX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCit7CisJc3RydWN0IHB3bV9kZXZpY2UgKnB3bTsKKworCXB3bSA9IHB3bV9wcm9iZShwZGV2LCBwZGV2LT5pZCwgTlVMTCk7CisJaWYgKElTX0VSUihwd20pKQorCQlyZXR1cm4gUFRSX0VSUihwd20pOworCisJcHdtID0gcHdtX3Byb2JlKHBkZXYsIHBkZXYtPmlkICsgMiwgcHdtKTsKKwlpZiAoSVNfRVJSKHB3bSkpCisJCXJldHVybiBQVFJfRVJSKHB3bSk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBfX2RldmV4aXQgcHdtX3JlbW92ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQoreworCXN0cnVjdCBwd21fZGV2aWNlICpwd207CisJc3RydWN0IHJlc291cmNlICpyOworCisJcHdtID0gcGxhdGZvcm1fZ2V0X2RydmRhdGEocGRldik7CisJaWYgKHB3bSA9PSBOVUxMKQorCQlyZXR1cm4gLUVOT0RFVjsKKworCW11dGV4X2xvY2soJnB3bV9sb2NrKTsKKwlsaXN0X2RlbCgmcHdtLT5ub2RlKTsKKwltdXRleF91bmxvY2soJnB3bV9sb2NrKTsKKworCWlvdW5tYXAocHdtLT5tbWlvX2Jhc2UpOworCisJciA9IHBsYXRmb3JtX2dldF9yZXNvdXJjZShwZGV2LCBJT1JFU09VUkNFX01FTSwgMCk7CisJcmVsZWFzZV9tZW1fcmVnaW9uKHItPnN0YXJ0LCByLT5lbmQgLSByLT5zdGFydCArIDEpOworCisJY2xrX3B1dChwd20tPmNsayk7CisJa2ZyZWUocHdtKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kcml2ZXIgcHhhMjV4X3B3bV9kcml2ZXIgPSB7CisJLmRyaXZlcgkJPSB7CisJCS5uYW1lCT0gInB4YTI1eC1wd20iLAorCX0sCisJLnByb2JlCQk9IHB4YTI1eF9wd21fcHJvYmUsCisJLnJlbW92ZQkJPSBfX2RldmV4aXRfcChwd21fcmVtb3ZlKSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVyIHB4YTI3eF9wd21fZHJpdmVyID0geworCS5kcml2ZXIJCT0geworCQkubmFtZQk9ICJweGEyN3gtcHdtIiwKKwl9LAorCS5wcm9iZQkJPSBweGEyN3hfcHdtX3Byb2JlLAorCS5yZW1vdmUJCT0gX19kZXZleGl0X3AocHdtX3JlbW92ZSksCit9OworCitzdGF0aWMgaW50IF9faW5pdCBwd21faW5pdCh2b2lkKQoreworCWludCByZXQgPSAwOworCisJcmV0ID0gcGxhdGZvcm1fZHJpdmVyX3JlZ2lzdGVyKCZweGEyNXhfcHdtX2RyaXZlcik7CisJaWYgKHJldCkgeworCQlwcmludGsoS0VSTl9FUlIgImZhaWxlZCB0byByZWdpc3RlciBweGEyNXhfcHdtX2RyaXZlclxuIik7CisJCXJldHVybiByZXQ7CisJfQorCisJcmV0ID0gcGxhdGZvcm1fZHJpdmVyX3JlZ2lzdGVyKCZweGEyN3hfcHdtX2RyaXZlcik7CisJaWYgKHJldCkgeworCQlwcmludGsoS0VSTl9FUlIgImZhaWxlZCB0byByZWdpc3RlciBweGEyN3hfcHdtX2RyaXZlclxuIik7CisJCXJldHVybiByZXQ7CisJfQorCisJcmV0dXJuIHJldDsKK30KK2FyY2hfaW5pdGNhbGwocHdtX2luaXQpOworCitzdGF0aWMgdm9pZCBfX2V4aXQgcHdtX2V4aXQodm9pZCkKK3sKKwlwbGF0Zm9ybV9kcml2ZXJfdW5yZWdpc3RlcigmcHhhMjV4X3B3bV9kcml2ZXIpOworCXBsYXRmb3JtX2RyaXZlcl91bnJlZ2lzdGVyKCZweGEyN3hfcHdtX2RyaXZlcik7Cit9Cittb2R1bGVfZXhpdChwd21fZXhpdCk7CisKK01PRFVMRV9MSUNFTlNFKCJHUEwgdjIiKTsKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtcHhhL3B4YTI1eC5jIGIvYXJjaC9hcm0vbWFjaC1weGEvcHhhMjV4LmMKaW5kZXggZTViNDE3ZC4uNGNkNTBlMyAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1weGEvcHhhMjV4LmMKKysrIGIvYXJjaC9hcm0vbWFjaC1weGEvcHhhMjV4LmMKQEAgLTI2LDYgKzI2LDcgQEAKICNpbmNsdWRlIDxhc20vaGFyZHdhcmUuaD4KICNpbmNsdWRlIDxhc20vYXJjaC9pcnFzLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvcHhhLXJlZ3MuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9weGEyeHgtcmVncy5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL21mcC1weGEyNXguaD4KICNpbmNsdWRlIDxhc20vYXJjaC9wbS5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL2RtYS5oPgpAQCAtMTE3LDI5ICsxMTgsMzUgQEAKIAlJTklUX0NLRU4oIlVBUlRDTEsiLCBIV1VBUlQsIDE0NzQ1NjAwLCAxLCAmcHhhX2RldmljZV9od3VhcnQuZGV2KQogOwogCisvKgorICogUFhBIDJ4eCBjbG9jayBkZWNsYXJhdGlvbnMuIE9yZGVyIGlzIGltcG9ydGFudCAoc2VlIGFsaWFzZXMgYmVsb3cpCisgKiBQbGVhc2UgYmUgY2FyZWZ1bCBub3QgdG8gZGlzcnVwdCB0aGUgb3JkZXJpbmcuCisgKi8KIHN0YXRpYyBzdHJ1Y3QgY2xrIHB4YTI1eF9jbGtzW10gPSB7CiAJSU5JVF9DSygiTENEQ0xLIiwgTENELCAmY2xrX3B4YTI1eF9sY2Rfb3BzLCAmcHhhX2RldmljZV9mYi5kZXYpLAogCUlOSVRfQ0tFTigiVUFSVENMSyIsIEZGVUFSVCwgMTQ3NDU2MDAsIDEsICZweGFfZGV2aWNlX2ZmdWFydC5kZXYpLAogCUlOSVRfQ0tFTigiVUFSVENMSyIsIEJUVUFSVCwgMTQ3NDU2MDAsIDEsICZweGFfZGV2aWNlX2J0dWFydC5kZXYpLAogCUlOSVRfQ0tFTigiVUFSVENMSyIsIFNUVUFSVCwgMTQ3NDU2MDAsIDEsIE5VTEwpLAotCUlOSVRfQ0tFTigiVURDQ0xLIiwgVVNCLCA0NzkyMzAwMCwgNSwgJnB4YV9kZXZpY2VfdWRjLmRldiksCisJSU5JVF9DS0VOKCJVRENDTEsiLCBVU0IsIDQ3OTIzMDAwLCA1LCAmcHhhMjV4X2RldmljZV91ZGMuZGV2KSwKIAlJTklUX0NLRU4oIk1NQ0NMSyIsIE1NQywgMTkxNjkwMDAsIDAsICZweGFfZGV2aWNlX21jaS5kZXYpLAogCUlOSVRfQ0tFTigiSTJDQ0xLIiwgSTJDLCAzMTk0OTAwMCwgMCwgJnB4YV9kZXZpY2VfaTJjLmRldiksCiAKIAlJTklUX0NLRU4oIlNTUENMSyIsICBTU1AsIDM2ODY0MDAsIDAsICZweGEyNXhfZGV2aWNlX3NzcC5kZXYpLAogCUlOSVRfQ0tFTigiU1NQQ0xLIiwgTlNTUCwgMzY4NjQwMCwgMCwgJnB4YTI1eF9kZXZpY2VfbnNzcC5kZXYpLAogCUlOSVRfQ0tFTigiU1NQQ0xLIiwgQVNTUCwgMzY4NjQwMCwgMCwgJnB4YTI1eF9kZXZpY2VfYXNzcC5kZXYpLAorCUlOSVRfQ0tFTigiUFdNQ0xLIiwgUFdNMCwgMzY4NjQwMCwgMCwgJnB4YTI1eF9kZXZpY2VfcHdtMC5kZXYpLAorCUlOSVRfQ0tFTigiUFdNQ0xLIiwgUFdNMSwgMzY4NjQwMCwgMCwgJnB4YTI1eF9kZXZpY2VfcHdtMS5kZXYpLAogCiAJSU5JVF9DS0VOKCJBQzk3Q0xLIiwgICAgIEFDOTcsICAgICAyNDU3NjAwMCwgMCwgTlVMTCksCiAKIAkvKgotCUlOSVRfQ0tFTigiUFdNQ0xLIiwgIFBXTTAsIDM2ODY0MDAsICAwLCBOVUxMKSwKLQlJTklUX0NLRU4oIlBXTUNMSyIsICBQV00wLCAzNjg2NDAwLCAgMCwgTlVMTCksCiAJSU5JVF9DS0VOKCJJMlNDTEsiLCAgSTJTLCAgMTQ3NDU2MDAsIDAsIE5VTEwpLAogCSovCiAJSU5JVF9DS0VOKCJGSUNQQ0xLIiwgRklDUCwgNDc5MjMwMDAsIDAsIE5VTEwpLAogfTsKIAorc3RhdGljIHN0cnVjdCBjbGsgZ3BpbzdfY2xrID0gSU5JVF9DS09USEVSKCJHUElPN19DSyIsICZweGEyNXhfY2xrc1s0XSwgTlVMTCk7CisKICNpZmRlZiBDT05GSUdfUE0KIAogI2RlZmluZSBTQVZFKHgpCQlzbGVlcF9zYXZlW1NMRUVQX1NBVkVfIyN4XSA9IHgKQEAgLTI2MCw3ICsyNjcsNyBAQAogfQogCiBzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcHhhMjV4X2RldmljZXNbXSBfX2luaXRkYXRhID0gewotCSZweGFfZGV2aWNlX3VkYywKKwkmcHhhMjV4X2RldmljZV91ZGMsCiAJJnB4YV9kZXZpY2VfZmZ1YXJ0LAogCSZweGFfZGV2aWNlX2J0dWFydCwKIAkmcHhhX2RldmljZV9zdHVhcnQsCkBAIC0yNjksNiArMjc2LDggQEAKIAkmcHhhMjV4X2RldmljZV9zc3AsCiAJJnB4YTI1eF9kZXZpY2VfbnNzcCwKIAkmcHhhMjV4X2RldmljZV9hc3NwLAorCSZweGEyNXhfZGV2aWNlX3B3bTAsCisJJnB4YTI1eF9kZXZpY2VfcHdtMSwKIH07CiAKIHN0YXRpYyBzdHJ1Y3Qgc3lzX2RldmljZSBweGEyNXhfc3lzZGV2W10gPSB7CkBAIC0zMTEsNiArMzIwLDggQEAKIAlpZiAoY3B1X2lzX3B4YTI1eCgpKQogCQlyZXQgPSBwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJnB4YV9kZXZpY2VfaHd1YXJ0KTsKIAorCWNsa3NfcmVnaXN0ZXIoJmdwaW83X2NsaywgMSk7CisKIAlyZXR1cm4gcmV0OwogfQogCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLXB4YS9weGEyN3guYyBiL2FyY2gvYXJtL21hY2gtcHhhL3B4YTI3eC5jCmluZGV4IDdlOTQ1ODMuLmQ1ZDE0ZWEgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtcHhhL3B4YTI3eC5jCisrKyBiL2FyY2gvYXJtL21hY2gtcHhhL3B4YTI3eC5jCkBAIC0xNDYsNyArMTQ2LDcgQEAKIAogCUlOSVRfQ0tFTigiSTJTQ0xLIiwgIEkyUywgIDE0NjgyMDAwLCAwLCAmcHhhX2RldmljZV9pMnMuZGV2KSwKIAlJTklUX0NLRU4oIkkyQ0NMSyIsICBJMkMsICAzMjg0MjAwMCwgMCwgJnB4YV9kZXZpY2VfaTJjLmRldiksCi0JSU5JVF9DS0VOKCJVRENDTEsiLCAgVVNCLCAgNDgwMDAwMDAsIDUsICZweGFfZGV2aWNlX3VkYy5kZXYpLAorCUlOSVRfQ0tFTigiVURDQ0xLIiwgIFVTQiwgIDQ4MDAwMDAwLCA1LCAmcHhhMjd4X2RldmljZV91ZGMuZGV2KSwKIAlJTklUX0NLRU4oIk1NQ0NMSyIsICBNTUMsICAxOTUwMDAwMCwgMCwgJnB4YV9kZXZpY2VfbWNpLmRldiksCiAJSU5JVF9DS0VOKCJGSUNQQ0xLIiwgRklDUCwgNDgwMDAwMDAsIDAsICZweGFfZGV2aWNlX2ZpY3AuZGV2KSwKIApAQCAtMTU3LDEyICsxNTcsMTMgQEAKIAlJTklUX0NLRU4oIlNTUENMSyIsIFNTUDEsIDEzMDAwMDAwLCAwLCAmcHhhMjd4X2RldmljZV9zc3AxLmRldiksCiAJSU5JVF9DS0VOKCJTU1BDTEsiLCBTU1AyLCAxMzAwMDAwMCwgMCwgJnB4YTI3eF9kZXZpY2Vfc3NwMi5kZXYpLAogCUlOSVRfQ0tFTigiU1NQQ0xLIiwgU1NQMywgMTMwMDAwMDAsIDAsICZweGEyN3hfZGV2aWNlX3NzcDMuZGV2KSwKKwlJTklUX0NLRU4oIlBXTUNMSyIsIFBXTTAsIDEzMDAwMDAwLCAwLCAmcHhhMjd4X2RldmljZV9wd20wLmRldiksCisJSU5JVF9DS0VOKCJQV01DTEsiLCBQV00xLCAxMzAwMDAwMCwgMCwgJnB4YTI3eF9kZXZpY2VfcHdtMS5kZXYpLAogCiAJSU5JVF9DS0VOKCJBQzk3Q0xLIiwgICAgIEFDOTcsICAgICAyNDU3NjAwMCwgMCwgTlVMTCksCiAJSU5JVF9DS0VOKCJBQzk3Q09ORkNMSyIsIEFDOTdDT05GLCAyNDU3NjAwMCwgMCwgTlVMTCksCiAKIAkvKgotCUlOSVRfQ0tFTigiUFdNQ0xLIiwgIFBXTTAsIDEzMDAwMDAwLCAwLCBOVUxMKSwKIAlJTklUX0NLRU4oIk1TTENMSyIsICBNU0wsICA0ODAwMDAwMCwgMCwgTlVMTCksCiAJSU5JVF9DS0VOKCJVU0lNQ0xLIiwgVVNJTSwgNDgwMDAwMDAsIDAsIE5VTEwpLAogCUlOSVRfQ0tFTigiTVNUS0NMSyIsIE1FTVNUSywgMTk1MDAwMDAsIDAsIE5VTEwpLApAQCAtMzQ5LDExICszNTAsMTQgQEAKIAogdm9pZCBfX2luaXQgcHhhX3NldF9pMmNfcG93ZXJfaW5mbyhzdHJ1Y3QgaTJjX3B4YV9wbGF0Zm9ybV9kYXRhICppbmZvKQogeworCWxvY2FsX2lycV9kaXNhYmxlKCk7CisJUENGUiB8PSBQQ0ZSX1BJMkNFTjsKKwlsb2NhbF9pcnFfZW5hYmxlKCk7CiAJcHhhMjd4X2RldmljZV9pMmNfcG93ZXIuZGV2LnBsYXRmb3JtX2RhdGEgPSBpbmZvOwogfQogCiBzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSAqZGV2aWNlc1tdIF9faW5pdGRhdGEgPSB7Ci0JJnB4YV9kZXZpY2VfdWRjLAorCSZweGEyN3hfZGV2aWNlX3VkYywKIAkmcHhhX2RldmljZV9mZnVhcnQsCiAJJnB4YV9kZXZpY2VfYnR1YXJ0LAogCSZweGFfZGV2aWNlX3N0dWFydCwKQEAgLTM2Myw2ICszNjcsOCBAQAogCSZweGEyN3hfZGV2aWNlX3NzcDEsCiAJJnB4YTI3eF9kZXZpY2Vfc3NwMiwKIAkmcHhhMjd4X2RldmljZV9zc3AzLAorCSZweGEyN3hfZGV2aWNlX3B3bTAsCisJJnB4YTI3eF9kZXZpY2VfcHdtMSwKIH07CiAKIHN0YXRpYyBzdHJ1Y3Qgc3lzX2RldmljZSBweGEyN3hfc3lzZGV2W10gPSB7CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLXB4YS9weGEyeHguYyBiL2FyY2gvYXJtL21hY2gtcHhhL3B4YTJ4eC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ0ZjY0MTUKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLXB4YS9weGEyeHguYwpAQCAtMCwwICsxLDQ2IEBACisvKgorICogbGludXgvYXJjaC9hcm0vbWFjaC1weGEvcHhhMnh4LmMKKyAqCisgKiBjb2RlIHNwZWNpZmljIHRvIHB4YTJ4eAorICoKKyAqIENvcHlyaWdodCAoQykgMjAwOCBEbWl0cnkgQmFyeXNoa292CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCisgKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyAqLworCisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvZGV2aWNlLmg+CisKKyNpbmNsdWRlIDxhc20vYXJjaC9tZnAtcHhhMnh4Lmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvbWZwLXB4YTI1eC5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2lyZGEuaD4KKworc3RhdGljIHVuc2lnbmVkIGxvbmcgcHhhMnh4X21mcF9maXJbXSA9IHsKKwlHUElPNDZfRklDUF9SWEQsCisJR1BJTzQ3X0ZJQ1BfVFhELAorfTsKKworc3RhdGljIHVuc2lnbmVkIGxvbmcgcHhhMnh4X21mcF9zaXJbXSA9IHsKKwlHUElPNDZfU1RVQVJUX1JYRCwKKwlHUElPNDdfU1RVQVJUX1RYRCwKK307CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIHB4YTJ4eF9tZnBfb2ZmW10gPSB7CisJR1BJTzQ2X0dQSU8gfCBNRlBfTFBNX0RSSVZFX0xPVywKKwlHUElPNDdfR1BJTyB8IE1GUF9MUE1fRFJJVkVfTE9XLAorfTsKKwordm9pZCBweGEyeHhfdHJhbnNjZWl2ZXJfbW9kZShzdHJ1Y3QgZGV2aWNlICpkZXYsIGludCBtb2RlKQoreworCWlmIChtb2RlICYgSVJfT0ZGKSB7CisJCXB4YTJ4eF9tZnBfY29uZmlnKHB4YTJ4eF9tZnBfb2ZmLCBBUlJBWV9TSVpFKHB4YTJ4eF9tZnBfb2ZmKSk7CisJfSBlbHNlIGlmIChtb2RlICYgSVJfU0lSTU9ERSkgeworCQlweGEyeHhfbWZwX2NvbmZpZyhweGEyeHhfbWZwX3NpciwgQVJSQVlfU0laRShweGEyeHhfbWZwX3NpcikpOworCX0gZWxzZSBpZiAobW9kZSAmIElSX0ZJUk1PREUpIHsKKwkJcHhhMnh4X21mcF9jb25maWcocHhhMnh4X21mcF9maXIsIEFSUkFZX1NJWkUocHhhMnh4X21mcF9maXIpKTsKKwl9IGVsc2UKKwkJQlVHKCk7Cit9CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLXB4YS9weGEzeHguYyBiL2FyY2gvYXJtL21hY2gtcHhhL3B4YTN4eC5jCmluZGV4IDY0NDU1MGIuLjE1Njg1ZDIgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtcHhhL3B4YTN4eC5jCisrKyBiL2FyY2gvYXJtL21hY2gtcHhhL3B4YTN4eC5jCkBAIC0yMzEsNyArMjMxLDcgQEAKIAlQWEEzeHhfQ0tFTigiVUFSVENMSyIsIFNUVUFSVCwgMTQ4NTcwMDAsIDEsIE5VTEwpLAogCiAJUFhBM3h4X0NLRU4oIkkyQ0NMSyIsIEkyQywgIDMyODQyMDAwLCAwLCAmcHhhX2RldmljZV9pMmMuZGV2KSwKLQlQWEEzeHhfQ0tFTigiVURDQ0xLIiwgVURDLCAgNDgwMDAwMDAsIDUsICZweGFfZGV2aWNlX3VkYy5kZXYpLAorCVBYQTN4eF9DS0VOKCJVRENDTEsiLCBVREMsICA0ODAwMDAwMCwgNSwgJnB4YTI3eF9kZXZpY2VfdWRjLmRldiksCiAJUFhBM3h4X0NLRU4oIlVTQkNMSyIsIFVTQkgsIDQ4MDAwMDAwLCAwLCAmcHhhMjd4X2RldmljZV9vaGNpLmRldiksCiAJUFhBM3h4X0NLRU4oIktCRENMSyIsIEtFWVBBRCwgIDMyNzY4LCAwLCAmcHhhMjd4X2RldmljZV9rZXlwYWQuZGV2KSwKIApAQCAtMjM5LDYgKzIzOSw4IEBACiAJUFhBM3h4X0NLRU4oIlNTUENMSyIsIFNTUDIsIDEzMDAwMDAwLCAwLCAmcHhhMjd4X2RldmljZV9zc3AyLmRldiksCiAJUFhBM3h4X0NLRU4oIlNTUENMSyIsIFNTUDMsIDEzMDAwMDAwLCAwLCAmcHhhMjd4X2RldmljZV9zc3AzLmRldiksCiAJUFhBM3h4X0NLRU4oIlNTUENMSyIsIFNTUDQsIDEzMDAwMDAwLCAwLCAmcHhhM3h4X2RldmljZV9zc3A0LmRldiksCisJUFhBM3h4X0NLRU4oIlBXTUNMSyIsIFBXTTAsIDEzMDAwMDAwLCAwLCAmcHhhMjd4X2RldmljZV9wd20wLmRldiksCisJUFhBM3h4X0NLRU4oIlBXTUNMSyIsIFBXTTEsIDEzMDAwMDAwLCAwLCAmcHhhMjd4X2RldmljZV9wd20xLmRldiksCiAKIAlQWEEzeHhfQ0tFTigiTU1DQ0xLIiwgTU1DMSwgMTk1MDAwMDAsIDAsICZweGFfZGV2aWNlX21jaS5kZXYpLAogCVBYQTN4eF9DS0VOKCJNTUNDTEsiLCBNTUMyLCAxOTUwMDAwMCwgMCwgJnB4YTN4eF9kZXZpY2VfbWNpMi5kZXYpLApAQCAtNTIwLDcgKzUyMiw3IEBACiAgKi8KIAogc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKmRldmljZXNbXSBfX2luaXRkYXRhID0gewotCSZweGFfZGV2aWNlX3VkYywKKy8qCSZweGFfZGV2aWNlX3VkYywJVGhlIFVEQyBkcml2ZXIgaXMgUFhBMjV4IG9ubHkgKi8KIAkmcHhhX2RldmljZV9mZnVhcnQsCiAJJnB4YV9kZXZpY2VfYnR1YXJ0LAogCSZweGFfZGV2aWNlX3N0dWFydCwKQEAgLTUzMCw2ICs1MzIsOCBAQAogCSZweGEyN3hfZGV2aWNlX3NzcDIsCiAJJnB4YTI3eF9kZXZpY2Vfc3NwMywKIAkmcHhhM3h4X2RldmljZV9zc3A0LAorCSZweGEyN3hfZGV2aWNlX3B3bTAsCisJJnB4YTI3eF9kZXZpY2VfcHdtMSwKIH07CiAKIHN0YXRpYyBzdHJ1Y3Qgc3lzX2RldmljZSBweGEzeHhfc3lzZGV2W10gPSB7CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLXB4YS9zcGl0el9wbS5jIGIvYXJjaC9hcm0vbWFjaC1weGEvc3BpdHpfcG0uYwppbmRleCAyM2YwNTBmLi4zNjAzNTQwIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLXB4YS9zcGl0el9wbS5jCisrKyBiL2FyY2gvYXJtL21hY2gtcHhhL3NwaXR6X3BtLmMKQEAgLTI2LDYgKzI2LDcgQEAKICNpbmNsdWRlIDxhc20vYXJjaC9zaGFycHNsLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvc3BpdHouaD4KICNpbmNsdWRlIDxhc20vYXJjaC9weGEtcmVncy5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL3B4YTJ4eC1yZWdzLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvcHhhMnh4LWdwaW8uaD4KICNpbmNsdWRlICJzaGFycHNsLmgiCiAKQEAgLTIwNyw3ICsyMDgsOSBAQAogCS5yZWFkX2RldmRhdGEgICAgID0gc3BpdHpwbV9yZWFkX2RldmRhdGEsCiAJLmNoYXJnZXJfd2FrZXVwICAgPSBzcGl0el9jaGFyZ2VyX3dha2V1cCwKIAkuc2hvdWxkX3dha2V1cCAgICA9IHNwaXR6X3Nob3VsZF93YWtldXAsCisjaWZkZWYgQ09ORklHX0JBQ0tMSUdIVF9DT1JHSQogICAgICAgICAuYmFja2xpZ2h0X2xpbWl0ICA9IGNvcmdpYmxfbGltaXRfaW50ZW5zaXR5LAorI2VuZGlmCiAJLmNoYXJnZV9vbl92b2x0CSAgPSBTSEFSUFNMX0NIQVJHRV9PTl9WT0xULAogCS5jaGFyZ2Vfb25fdGVtcAkgID0gU0hBUlBTTF9DSEFSR0VfT05fVEVNUCwKIAkuY2hhcmdlX2FjaW5faGlnaCA9IFNIQVJQU0xfQ0hBUkdFX09OX0FDSU5fSElHSCwKQEAgLTIyOSw2ICsyMzIsMTAgQEAKIHsKIAlpbnQgcmV0OwogCisJaWYgKCFtYWNoaW5lX2lzX3NwaXR6KCkgJiYgIW1hY2hpbmVfaXNfYWtpdGEoKQorCQkJJiYgIW1hY2hpbmVfaXNfYm9yem9pKCkpCisJCXJldHVybiAtRU5PREVWOworCiAJc3BpdHpwbV9kZXZpY2UgPSBwbGF0Zm9ybV9kZXZpY2VfYWxsb2MoInNoYXJwc2wtcG0iLCAtMSk7CiAJaWYgKCFzcGl0enBtX2RldmljZSkKIAkJcmV0dXJuIC1FTk9NRU07CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLXB4YS9zdGFuZGJ5LlMgYi9hcmNoL2FybS9tYWNoLXB4YS9zdGFuZGJ5LlMKaW5kZXggMTY3NDEyZS4uNDBiYjcwZSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1weGEvc3RhbmRieS5TCisrKyBiL2FyY2gvYXJtL21hY2gtcHhhL3N0YW5kYnkuUwpAQCAtMTQsNiArMTQsNyBAQAogI2luY2x1ZGUgPGFzbS9oYXJkd2FyZS5oPgogCiAjaW5jbHVkZSA8YXNtL2FyY2gvcHhhLXJlZ3MuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9weGEyeHgtcmVncy5oPgogCiAJCS50ZXh0CiAKQEAgLTM1LDIwICszNiwyMCBAQAogCiAjaWZkZWYgQ09ORklHX1BYQTN4eAogCi0jZGVmaW5lIE1EQ05GRwkJMHgwMDAwCi0jZGVmaW5lIE1EQ05GR19ETUNFTgkoMSA8PCAzMCkKLSNkZWZpbmUgRERSX0hDQUwJMHgwMDYwCi0jZGVmaW5lIEREUl9IQ0FMX0hDUk5HCTB4MWYKLSNkZWZpbmUgRERSX0hDQUxfSENQUk9HCSgxIDw8IDI4KQotI2RlZmluZSBERFJfSENBTF9IQ0VOCSgxIDw8IDMxKQotI2RlZmluZSBETUNJRVIJCTB4MDA3MAotI2RlZmluZSBETUNJRVJfRURMUAkoMSA8PCAyOSkKLSNkZWZpbmUgRE1DSVNSCQkweDAwNzgKLSNkZWZpbmUgUkNPTVAJCTB4MDEwMAotI2RlZmluZSBSQ09NUF9TV0VWQUwJKDEgPDwgMzEpCisjZGVmaW5lIFBYQTNfTURDTkZHCQkweDAwMDAKKyNkZWZpbmUgUFhBM19NRENORkdfRE1DRU4JKDEgPDwgMzApCisjZGVmaW5lIFBYQTNfRERSX0hDQUwJCTB4MDA2MAorI2RlZmluZSBQWEEzX0REUl9IQ0FMX0hDUk5HCTB4MWYKKyNkZWZpbmUgUFhBM19ERFJfSENBTF9IQ1BST0cJKDEgPDwgMjgpCisjZGVmaW5lIFBYQTNfRERSX0hDQUxfSENFTgkoMSA8PCAzMSkKKyNkZWZpbmUgUFhBM19ETUNJRVIJCTB4MDA3MAorI2RlZmluZSBQWEEzX0RNQ0lFUl9FRExQCSgxIDw8IDI5KQorI2RlZmluZSBQWEEzX0RNQ0lTUgkJMHgwMDc4CisjZGVmaW5lIFBYQTNfUkNPTVAJCTB4MDEwMAorI2RlZmluZSBQWEEzX1JDT01QX1NXRVZBTAkoMSA8PCAzMSkKIAogRU5UUlkocG1fZW50ZXJfc3RhbmRieV9zdGFydCkKLQltb3YJcjEsICMweGY2MDAwMDAwCQlAIERNRU1DX1JFR19CQVNFIChNRENORkcpCisJbW92CXIxLCAjMHhmNjAwMDAwMAkJCUAgRE1FTUNfUkVHX0JBU0UgKFBYQTNfTURDTkZHKQogCWFkZAlyMSwgcjEsICMweDAwMTAwMDAwCiAKIAkvKgpAQCAtNTksNTQgKzYwLDU0IEBACiAJICogVGhpcyBhbHNvIG1lYW5zIHRoYXQgb25seSB0aGUgZHluYW1pYyBtZW1vcnkgY29udHJvbGxlcgogCSAqIGNhbiBiZSByZWxpYWJseSBhY2Nlc3NlZCBpbiB0aGUgY29kZSBmb2xsb3dpbmcgc3RhbmRieS4KIAkgKi8KLQlsZHIJcjIsIFtyMV0JCUAgRHVtbXkgcmVhZCBNRENORkcKKwlsZHIJcjIsIFtyMV0JCQlAIER1bW15IHJlYWQgUFhBM19NRENORkcKIAogCW1jcglwMTQsIDAsIHIwLCBjNywgYzAsIDAKIAkucmVwdAk4CiAJbm9wCiAJLmVuZHIKIAotCWxkcglyMCwgW3IxLCAjRERSX0hDQUxdCUAgQ2xlYXIgKGFuZCB3YWl0IGZvcikgSENFTgotCWJpYwlyMCwgcjAsICNERFJfSENBTF9IQ0VOCi0Jc3RyCXIwLCBbcjEsICNERFJfSENBTF0KLTE6CWxkcglyMCwgW3IxLCAjRERSX0hDQUxdCi0JdHN0CXIwLCAjRERSX0hDQUxfSENFTgorCWxkcglyMCwgW3IxLCAjUFhBM19ERFJfSENBTF0JQCBDbGVhciAoYW5kIHdhaXQgZm9yKSBIQ0VOCisJYmljCXIwLCByMCwgI1BYQTNfRERSX0hDQUxfSENFTgorCXN0cglyMCwgW3IxLCAjUFhBM19ERFJfSENBTF0KKzE6CWxkcglyMCwgW3IxLCAjUFhBM19ERFJfSENBTF0KKwl0c3QJcjAsICNQWEEzX0REUl9IQ0FMX0hDRU4KIAlibmUJMWIKIAotCWxkcglyMCwgW3IxLCAjUkNPTVBdCUAgSW5pdGlhdGUgUkNPTVAKLQlvcnIJcjAsIHIwLCAjUkNPTVBfU1dFVkFMCi0Jc3RyCXIwLCBbcjEsICNSQ09NUF0KKwlsZHIJcjAsIFtyMSwgI1BYQTNfUkNPTVBdCQlAIEluaXRpYXRlIFJDT01QCisJb3JyCXIwLCByMCwgI1BYQTNfUkNPTVBfU1dFVkFMCisJc3RyCXIwLCBbcjEsICNQWEEzX1JDT01QXQogCi0JbW92CXIwLCAjfjAJCQlAIENsZWFyIGludGVycnVwdHMKLQlzdHIJcjAsIFtyMSwgI0RNQ0lTUl0KKwltb3YJcjAsICN+MAkJCQlAIENsZWFyIGludGVycnVwdHMKKwlzdHIJcjAsIFtyMSwgI1BYQTNfRE1DSVNSXQogCi0JbGRyCXIwLCBbcjEsICNETUNJRVJdCUAgc2V0IERNSUVSW0VETFBdCi0Jb3JyCXIwLCByMCwgI0RNQ0lFUl9FRExQCi0Jc3RyCXIwLCBbcjEsICNETUNJRVJdCisJbGRyCXIwLCBbcjEsICNQWEEzX0RNQ0lFUl0JCUAgc2V0IERNSUVSW0VETFBdCisJb3JyCXIwLCByMCwgI1BYQTNfRE1DSUVSX0VETFAKKwlzdHIJcjAsIFtyMSwgI1BYQTNfRE1DSUVSXQogCi0JbGRyCXIwLCBbcjEsICNERFJfSENBTF0JQCBjbGVhciBIQ1JORywgc2V0IEhDUFJPRywgSENFTgotCWJpYwlyMCwgcjAsICNERFJfSENBTF9IQ1JORwotCW9ycglyMCwgcjAsICNERFJfSENBTF9IQ0VOIHwgRERSX0hDQUxfSENQUk9HCi0Jc3RyCXIwLCBbcjEsICNERFJfSENBTF0KKwlsZHIJcjAsIFtyMSwgI1BYQTNfRERSX0hDQUxdCUAgY2xlYXIgSENSTkcsIHNldCBIQ1BST0csIEhDRU4KKwliaWMJcjAsIHIwLCAjUFhBM19ERFJfSENBTF9IQ1JORworCW9ycglyMCwgcjAsICNQWEEzX0REUl9IQ0FMX0hDRU4gfCBQWEEzX0REUl9IQ0FMX0hDUFJPRworCXN0cglyMCwgW3IxLCAjUFhBM19ERFJfSENBTF0KIAotMToJbGRyCXIwLCBbcjEsICNETUNJU1JdCi0JdHN0CXIwLCAjRE1DSUVSX0VETFAKKzE6CWxkcglyMCwgW3IxLCAjUFhBM19ETUNJU1JdCisJdHN0CXIwLCAjUFhBM19ETUNJRVJfRURMUAogCWJlcQkxYgogCi0JbGRyCXIwLCBbcjEsICNNRENORkddCUAgc2V0IE1EQ05GR1tETUNFTl0KLQlvcnIJcjAsIHIwLCAjTURDTkZHX0RNQ0VOCi0Jc3RyCXIwLCBbcjEsICNNRENORkddCi0xOglsZHIJcjAsIFtyMSwgI01EQ05GR10KLQl0c3QJcjAsICNNRENORkdfRE1DRU4KKwlsZHIJcjAsIFtyMSwgI1BYQTNfTURDTkZHXQkJQCBzZXQgUFhBM19NRENORkdbRE1DRU5dCisJb3JyCXIwLCByMCwgI1BYQTNfTURDTkZHX0RNQ0VOCisJc3RyCXIwLCBbcjEsICNQWEEzX01EQ05GR10KKzE6CWxkcglyMCwgW3IxLCAjUFhBM19NRENORkddCisJdHN0CXIwLCAjUFhBM19NRENORkdfRE1DRU4KIAliZXEJMWIKIAotCWxkcglyMCwgW3IxLCAjRERSX0hDQUxdCUAgc2V0IEREUl9IQ0FMW0hDUk5HXQorCWxkcglyMCwgW3IxLCAjUFhBM19ERFJfSENBTF0JQCBzZXQgUFhBM19ERFJfSENBTFtIQ1JOR10KIAlvcnIJcjAsIHIwLCAjMiBAIEhDUk5HCi0Jc3RyCXIwLCBbcjEsICNERFJfSENBTF0KKwlzdHIJcjAsIFtyMSwgI1BYQTNfRERSX0hDQUxdCiAKLQlsZHIJcjAsIFtyMSwgI0RNQ0lFUl0JQCBDbGVhciB0aGUgaW50ZXJydXB0CisJbGRyCXIwLCBbcjEsICNQWEEzX0RNQ0lFUl0JCUAgQ2xlYXIgdGhlIGludGVycnVwdAogCWJpYwlyMCwgcjAsICMweDIwMDAwMDAwCi0Jc3RyCXIwLCBbcjEsICNETUNJRVJdCisJc3RyCXIwLCBbcjEsICNQWEEzX0RNQ0lFUl0KIAogCW1vdglwYywgbHIKIEVOVFJZKHBtX2VudGVyX3N0YW5kYnlfZW5kKQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1weGEvdHJpemVwczQuYyBiL2FyY2gvYXJtL21hY2gtcHhhL3RyaXplcHM0LmMKaW5kZXggOTMxODg1ZC4uNjFlMjQ0MCAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1weGEvdHJpemVwczQuYworKysgYi9hcmNoL2FybS9tYWNoLXB4YS90cml6ZXBzNC5jCkBAIC00MSw2ICs0MSw3IEBACiAjaW5jbHVkZSA8YXNtL21hY2gvZmxhc2guaD4KIAogI2luY2x1ZGUgPGFzbS9hcmNoL3B4YS1yZWdzLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvcHhhMnh4LXJlZ3MuaD4KICNpbmNsdWRlIDxhc20vYXJjaC9weGEyeHgtZ3Bpby5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL3RyaXplcHM0Lmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvYXVkaW8uaD4KQEAgLTE3NSwxOSArMTc2LDEwIEBACiAJLnJlc291cmNlCT0gTlVMTCwKIH07CiAKLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogUFhBMjcwIGFjOTcgc291bmQgY29kZWMKLSAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLXN0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIGFjOTdfYXVkaW9fZGV2aWNlID0gewotCS5uYW1lCQk9ICJweGEyeHgtYWM5NyIsCi0JLmlkCQk9IC0xLAotfTsKLQogc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKiB0cml6ZXBzNF9kZXZpY2VzW10gX19pbml0ZGF0YSA9IHsKIAkmZmxhc2hfZGV2aWNlLAogCSZ1YXJ0X2RldmljZXMsCiAJJmRtOTAwMF9kZXZpY2UsCi0JJmFjOTdfYXVkaW9fZGV2aWNlLAogfTsKIAogI2lmZGVmIENPTkZJR19NQUNIX1RSSVpFUFM0X0NPTlhTCkBAIC00MzgsNiArNDMwLDcgQEAKIAlweGFfc2V0X21jaV9pbmZvKCZ0cml6ZXBzNF9tY2lfcGxhdGZvcm1fZGF0YSk7CiAJcHhhX3NldF9maWNwX2luZm8oJnRyaXplcHM0X2ZpY3BfcGxhdGZvcm1fZGF0YSk7CiAJcHhhX3NldF9vaGNpX2luZm8oJnRyaXplcHM0X29oY2lfcGxhdGZvcm1fZGF0YSk7CisJcHhhX3NldF9hYzk3X2luZm8oTlVMTCk7CiB9CiAKIHN0YXRpYyB2b2lkIF9faW5pdCB0cml6ZXBzNF9tYXBfaW8odm9pZCkKQEAgLTQ4Nyw2ICs0ODAsNyBAQAogCUNvblhTX0JDUiA9IHRyaXplcHNfY29ueHNfYmNyOwogI2VuZGlmCiAKKyN3YXJuaW5nIEZJWE1FIC0gYWNjZXNzaW5nIFBNIHJlZ2lzdGVycyBkaXJlY3RseSBpcyBkZXByZWNhdGVkCiAJUFdFUiAgPSAweDAwMDAwMDAyOwogCVBGRVIgID0gMHgwMDAwMDAwMDsKIAlQUkVSICA9IDB4MDAwMDAwMDI7CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLXB4YS96eWxvbml0ZS5jIGIvYXJjaC9hcm0vbWFjaC1weGEvenlsb25pdGUuYwppbmRleCA0YTAwMjgwLi42NmI0NDZjIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLXB4YS96eWxvbml0ZS5jCisrKyBiL2FyY2gvYXJtL21hY2gtcHhhL3p5bG9uaXRlLmMKQEAgLTE4LDIyICsxOCwyNCBAQAogI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KICNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9wd21fYmFja2xpZ2h0Lmg+CiAKICNpbmNsdWRlIDxhc20vbWFjaC10eXBlcy5oPgogI2luY2x1ZGUgPGFzbS9tYWNoL2FyY2guaD4KICNpbmNsdWRlIDxhc20vaGFyZHdhcmUuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9hdWRpby5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL2dwaW8uaD4KICNpbmNsdWRlIDxhc20vYXJjaC9weGFmYi5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL3p5bG9uaXRlLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvbW1jLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvcHhhMjd4X2tleXBhZC5oPgogCisjaW5jbHVkZSAiZGV2aWNlcy5oIgogI2luY2x1ZGUgImdlbmVyaWMuaCIKIAogI2RlZmluZSBNQVhfU0xPVFMJMwogc3RydWN0IHBsYXRmb3JtX21tY19zbG90IHp5bG9uaXRlX21tY19zbG90W01BWF9TTE9UU107CiAKLWludCBncGlvX2JhY2tsaWdodDsKIGludCBncGlvX2V0aF9pcnE7CiAKIGludCB3bTk3MTNfaXJxOwpAQCAtNjIsMTAgKzY0LDIwIEBACiB9OwogCiAjaWYgZGVmaW5lZChDT05GSUdfRkJfUFhBKSB8fCBkZWZpbmVkKENPTkZJR19GQl9QWEFfTU9EVUxFKQotc3RhdGljIHZvaWQgenlsb25pdGVfYmFja2xpZ2h0X3Bvd2VyKGludCBvbikKLXsKLQlncGlvX3NldF92YWx1ZShncGlvX2JhY2tsaWdodCwgb24pOwotfQorc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9wd21fYmFja2xpZ2h0X2RhdGEgenlsb25pdGVfYmFja2xpZ2h0X2RhdGEgPSB7CisJLnB3bV9pZAkJPSAzLAorCS5tYXhfYnJpZ2h0bmVzcwk9IDEwMCwKKwkuZGZ0X2JyaWdodG5lc3MJPSAxMDAsCisJLnB3bV9wZXJpb2RfbnMJPSAxMDAwMCwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIHp5bG9uaXRlX2JhY2tsaWdodF9kZXZpY2UgPSB7CisJLm5hbWUJCT0gInB3bS1iYWNrbGlnaHQiLAorCS5kZXYJCT0geworCQkucGFyZW50ID0gJnB4YTI3eF9kZXZpY2VfcHdtMS5kZXYsCisJCS5wbGF0Zm9ybV9kYXRhCT0gJnp5bG9uaXRlX2JhY2tsaWdodF9kYXRhLAorCX0sCit9OwogCiBzdGF0aWMgc3RydWN0IHB4YWZiX21vZGVfaW5mbyB0b3NoaWJhX2x0bTAzNWE3NzZjX21vZGUgPSB7CiAJLnBpeGNsb2NrCQk9IDExMDAwMCwKQEAgLTk4LDcgKzExMCw2IEBACiBzdGF0aWMgc3RydWN0IHB4YWZiX21hY2hfaW5mbyB6eWxvbml0ZV90b3NoaWJhX2xjZF9pbmZvID0gewogCS5udW1fbW9kZXMgICAgICAJPSAxLAogCS5sY2RfY29ubgkJPSBMQ0RfQ09MT1JfVEZUXzE2QlBQIHwgTENEX1BDTEtfRURHRV9GQUxMLAotCS5weGFmYl9iYWNrbGlnaHRfcG93ZXIJPSB6eWxvbml0ZV9iYWNrbGlnaHRfcG93ZXIsCiB9OwogCiBzdGF0aWMgc3RydWN0IHB4YWZiX21vZGVfaW5mbyBzaGFycF9sczAzN19tb2Rlc1tdID0gewpAQCAtMTM0LDEzICsxNDUsMTEgQEAKIAkubW9kZXMJCQk9IHNoYXJwX2xzMDM3X21vZGVzLAogCS5udW1fbW9kZXMJCT0gMiwKIAkubGNkX2Nvbm4JCT0gTENEX0NPTE9SX1RGVF8xNkJQUCB8IExDRF9QQ0xLX0VER0VfRkFMTCwKLQkucHhhZmJfYmFja2xpZ2h0X3Bvd2VyCT0genlsb25pdGVfYmFja2xpZ2h0X3Bvd2VyLAogfTsKIAogc3RhdGljIHZvaWQgX19pbml0IHp5bG9uaXRlX2luaXRfbGNkKHZvaWQpCiB7Ci0JLyogYmFja2xpZ2h0IEdQSU86IG91dHB1dCwgZGVmYXVsdCBvbiAqLwotCWdwaW9fZGlyZWN0aW9uX291dHB1dChncGlvX2JhY2tsaWdodCwgMSk7CisJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZ6eWxvbml0ZV9iYWNrbGlnaHRfZGV2aWNlKTsKIAogCWlmIChsY2RfaWQgJiAweDIwKSB7CiAJCXNldF9weGFfZmJfaW5mbygmenlsb25pdGVfc2hhcnBfbGNkX2luZm8pOwpAQCAtMzI5LDYgKzMzOCw3IEBACiAJc21jOTF4X3Jlc291cmNlc1sxXS5lbmQgICA9IGdwaW9fdG9faXJxKGdwaW9fZXRoX2lycSk7CiAJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZzbWM5MXhfZGV2aWNlKTsKIAorCXB4YV9zZXRfYWM5N19pbmZvKE5VTEwpOwogCXp5bG9uaXRlX2luaXRfbGNkKCk7CiAJenlsb25pdGVfaW5pdF9tbWMoKTsKIAl6eWxvbml0ZV9pbml0X2tleXBhZCgpOwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1weGEvenlsb25pdGVfcHhhMzAwLmMgYi9hcmNoL2FybS9tYWNoLXB4YS96eWxvbml0ZV9weGEzMDAuYwppbmRleCAzMjRmYjlkLi42ZjdhZTk3IDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLXB4YS96eWxvbml0ZV9weGEzMDAuYworKysgYi9hcmNoL2FybS9tYWNoLXB4YS96eWxvbml0ZV9weGEzMDAuYwpAQCAtNTAsNiArNTAsNyBAQAogCUdQSU83NV9MQ0RfQklBUywKIAlHUElPNzZfTENEX1ZTWU5DLAogCUdQSU8xMjdfTENEX0NTX04sCisJR1BJTzIwX1BXTTNfT1VULAkvKiBiYWNrbGlnaHQgKi8KIAogCS8qIEJUVUFSVCAqLwogCUdQSU8xMTFfVUFSVDJfUlRTLApAQCAtMjAwLDkgKzIwMSw2IEBACiAJCS8qIGRldGVjdCBMQ0QgcGFuZWwgKi8KIAkJenlsb25pdGVfZGV0ZWN0X2xjZF9wYW5lbCgpOwogCi0JCS8qIEdQSU8gcGluIGFzc2lnbm1lbnQgKi8KLQkJZ3Bpb19iYWNrbGlnaHQgPSBtZnBfdG9fZ3BpbyhNRlBfUElOX0dQSU8yMCk7Ci0KIAkJLyogTU1DIGNhcmQgZGV0ZWN0ICYgd3JpdGUgcHJvdGVjdCBmb3IgY29udHJvbGxlciAwICovCiAJCXp5bG9uaXRlX21tY19zbG90WzBdLmdwaW9fY2QgID0gRVhUX0dQSU8oMCk7CiAJCXp5bG9uaXRlX21tY19zbG90WzBdLmdwaW9fd3AgID0gRVhUX0dQSU8oMik7CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLXB4YS96eWxvbml0ZV9weGEzMjAuYyBiL2FyY2gvYXJtL21hY2gtcHhhL3p5bG9uaXRlX3B4YTMyMC5jCmluZGV4IDE5M2QwNzkuLjJiNGZjMzQgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtcHhhL3p5bG9uaXRlX3B4YTMyMC5jCisrKyBiL2FyY2gvYXJtL21hY2gtcHhhL3p5bG9uaXRlX3B4YTMyMC5jCkBAIC00OSw2ICs0OSw3IEBACiAJR1BJTzE1XzJfTENEX0xDTEssCiAJR1BJTzE2XzJfTENEX1BDTEssCiAJR1BJTzE3XzJfTENEX0JJQVMsCisJR1BJTzE0X1BXTTNfT1VULAkvKiBiYWNrbGlnaHQgKi8KIAogCS8qIEZGVUFSVCAqLwogCUdQSU80MV9VQVJUMV9SWEQgfCBNRlBfTFBNX0VER0VfRkFMTCwKQEAgLTE4Nyw3ICsxODgsNiBAQAogCQl6eWxvbml0ZV9kZXRlY3RfbGNkX3BhbmVsKCk7CiAKIAkJLyogR1BJTyBwaW4gYXNzaWdubWVudCAqLwotCQlncGlvX2JhY2tsaWdodAk9IG1mcF90b19ncGlvKE1GUF9QSU5fR1BJTzE0KTsKIAkJZ3Bpb19ldGhfaXJxCT0gbWZwX3RvX2dwaW8oTUZQX1BJTl9HUElPOSk7CiAKIAkJLyogTU1DIGNhcmQgZGV0ZWN0ICYgd3JpdGUgcHJvdGVjdCBmb3IgY29udHJvbGxlciAwICovCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLXMzYzI0MTAvS2NvbmZpZyBiL2FyY2gvYXJtL21hY2gtczNjMjQxMC9LY29uZmlnCmluZGV4IGNkM2RjMDguLjk5ZmRjNzMgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtczNjMjQxMC9LY29uZmlnCisrKyBiL2FyY2gvYXJtL21hY2gtczNjMjQxMC9LY29uZmlnCkBAIC0zNyw2ICszNywxNyBAQAogCWhlbHAKIAkgIENsb2NrIGNvZGUgZm9yIHRoZSBTM0MyNDEwLCBhbmQgc2ltaWxhciBwcm9jZXNzb3JzCiAKK2NvbmZpZyBTSU1URUNfTk9SCisJYm9vbAorCWhlbHAKKwkgIEludGVybmFsIG5vZGUgdG8gc3BlY2lmeSBtYWNoaW5lIGhhcyBzaW10ZWMgTk9SIG1hcHBpbmcKKworY29uZmlnIE1BQ0hfQkFTVF9JREUKKwlib29sCisJc2VsZWN0IEhBVkVfUEFUQV9QTEFURk9STQorCWhlbHAKKwkgIEludGVybmFsIG5vZGUgZm9yIG1hY2hpbmVzIHdpdGggYW4gQkFTVCBzdHlsZSBJREUKKwkgIGludGVyZmFjZQogCiBtZW51ICJTM0MyNDEwIE1hY2hpbmVzIgogCkBAIC02MSwxNSArNzIsMTggQEAKIAkgIEludGVybmFsIG5vZGUgZm9yIEgxOTQwIGFuZCByZWxhdGVkIFBNCiAKIGNvbmZpZyBNQUNIX04zMAotCWJvb2wgIkFjZXIgTjMwIgorCWJvb2wgIkFjZXIgTjMwIGZhbWlseSIKIAlzZWxlY3QgQ1BVX1MzQzI0MTAKIAloZWxwCi0JICBTYXkgWSBoZXJlIGlmIHlvdSBhcmUgdXNpbmcgdGhlIEFjZXIgTjMwCisJICBTYXkgWSBoZXJlIGlmIHlvdSB3YW50IHN1cHB0IGZvciB0aGUgQWNlciBOMzAsIEFjZXIgTjM1LAorCSAgTmF2bWFuIFBpTjU3MCwgWWFrdW1vIEFscGhhWCBvciBBaXJpcyBOQzA1IFBEQXMuCiAKIGNvbmZpZyBBUkNIX0JBU1QKIAlib29sICJTaW10ZWMgRWxlY3Ryb25pY3MgQkFTVCAoRUIyNDEwSVRYKSIKIAlzZWxlY3QgQ1BVX1MzQzI0MTAKIAlzZWxlY3QgUE1fU0lNVEVDIGlmIFBNCisJc2VsZWN0IFNJTVRFQ19OT1IKKwlzZWxlY3QgTUFDSF9CQVNUX0lERQogCXNlbGVjdCBJU0EKIAloZWxwCiAJICBTYXkgWSBoZXJlIGlmIHlvdSBhcmUgdXNpbmcgdGhlIFNpbXRlYyBFbGVjdHJvbmljcyBFQjI0MTBJVFgKQEAgLTEwNyw2ICsxMjEsOCBAQAogY29uZmlnIE1BQ0hfVlIxMDAwCiAJYm9vbCAiVGhvcmNvbSBWUjEwMDAiCiAJc2VsZWN0IFBNX1NJTVRFQyBpZiBQTQorCXNlbGVjdCBTSU1URUNfTk9SCisJc2VsZWN0IE1BQ0hfQkFTVF9JREUKIAlzZWxlY3QgQ1BVX1MzQzI0MTAKIAloZWxwCiAJICBTYXkgWSBoZXJlIGlmIHlvdSBhcmUgdXNpbmcgdGhlIFRob3Jjb20gVlIxMDAwIGJvYXJkLgpAQCAtMTE4LDQgKzEzNCwzIEBACiAJICAgU2F5IFkgaGVyZSBpZiB5b3UgYXJlIHVzaW5nIHRoZSBBcm16b25lIFFUMjQxMAogCiBlbmRtZW51Ci0KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtczNjMjQxMC9NYWtlZmlsZSBiL2FyY2gvYXJtL21hY2gtczNjMjQxMC9NYWtlZmlsZQppbmRleCBjYWJjMTNjLi4wMGYzMWY4IDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLXMzYzI0MTAvTWFrZWZpbGUKKysrIGIvYXJjaC9hcm0vbWFjaC1zM2MyNDEwL01ha2VmaWxlCkBAIC0zMCwzICszMCwxMSBAQAogb2JqLSQoQ09ORklHX01BQ0hfVENUX0hBTU1FUikJKz0gbWFjaC10Y3RfaGFtbWVyLm8KIG9iai0kKENPTkZJR19NQUNIX1ZSMTAwMCkJKz0gbWFjaC12cjEwMDAubyB1c2Itc2ltdGVjLm8KIG9iai0kKENPTkZJR19NQUNIX1FUMjQxMCkJKz0gbWFjaC1xdDI0MTAubworCisjIENvbW1vbiBiaXRzIG9mIG1hY2hpbmUgc3VwcG9ydAorCitvYmotJChDT05GSUdfU0lNVEVDX05PUikJKz0gbm9yLXNpbXRlYy5vCisKKyMgbWFjaGluZSBhZGRpdGlvbnMKKworb2JqLSQoQ09ORklHX01BQ0hfQkFTVF9JREUpCSs9IGJhc3QtaWRlLm8KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtczNjMjQxMC9iYXN0LWlkZS5jIGIvYXJjaC9hcm0vbWFjaC1zM2MyNDEwL2Jhc3QtaWRlLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGY5NWZlMwotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gtczNjMjQxMC9iYXN0LWlkZS5jCkBAIC0wLDAgKzEsMTEyIEBACisvKiBsaW51eC9hcmNoL2FybS9tYWNoLXMzYzI0MTAvYmFzdC1pZGUuYworICoKKyAqIENvcHlyaWdodCAyMDA3IFNpbXRlYyBFbGVjdHJvbmljcworICoJaHR0cDovL3d3dy5zaW10ZWMuY28udWsvcHJvZHVjdHMvRUIyNDEwSVRYLworICoJaHR0cDovL2FybWxpbnV4LnNpbXRlYy5jby51ay8KKyAqCUJlbiBEb29rcyA8YmVuQHNpbXRlYy5jby51az4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMKKyAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorKi8KKworI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgorCisjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CisjaW5jbHVkZSA8bGludXgvYXRhX3BsYXRmb3JtLmg+CisKKyNpbmNsdWRlIDxhc20vbWFjaC10eXBlcy5oPgorCisjaW5jbHVkZSA8YXNtL21hY2gvYXJjaC5oPgorI2luY2x1ZGUgPGFzbS9tYWNoL21hcC5oPgorI2luY2x1ZGUgPGFzbS9tYWNoL2lycS5oPgorCisjaW5jbHVkZSA8YXNtL2FyY2gvbWFwLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvYmFzdC1tYXAuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9iYXN0LWlycS5oPgorCisvKiBJREUgcG9ydHMgKi8KKworc3RhdGljIHN0cnVjdCBwYXRhX3BsYXRmb3JtX2luZm8gYmFzdF9pZGVfcGxhdGRhdGEgPSB7CisJLmlvcG9ydF9zaGlmdAk9IDUsCit9OworCisjZGVmaW5lIElERV9DUwlTM0MyNDEwX0NTNQorCitzdGF0aWMgc3RydWN0IHJlc291cmNlIGJhc3RfaWRlMF9yZXNvdXJjZVtdID0geworCVswXQk9IHsKKwkJLnN0YXJ0CT0gSURFX0NTICsgQkFTVF9QQV9JREVQUkksCisJCS5lbmQJPSBJREVfQ1MgKyBCQVNUX1BBX0lERVBSSSArICg4ICogMHgyMCkgLSAxLAorCQkuZmxhZ3MJPSBJT1JFU09VUkNFX01FTSwKKwl9LAorCVsxXQk9IHsKKwkJLnN0YXJ0CT0gSURFX0NTICsgQkFTVF9QQV9JREVQUklBVVggKyAoNiAqIDB4MjApICwKKwkJLmVuZAk9IElERV9DUyArIEJBU1RfUEFfSURFUFJJQVVYICsgKDcgKiAweDIwKSAtIDEsCisJCS5mbGFncwk9IElPUkVTT1VSQ0VfTUVNLAorCX0sCisJWzJdCT0geworCQkuc3RhcnQJPSBJUlFfSURFMCwKKwkJLmVuZAk9IElSUV9JREUwLAorCQkuZmxhZ3MJPSBJT1JFU09VUkNFX0lSUSwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgYmFzdF9kZXZpY2VfaWRlMCA9IHsKKwkubmFtZQkJPSAicGF0YV9wbGF0Zm9ybSIsCisJLmlkCQk9IDAsCisJLm51bV9yZXNvdXJjZXMJPSBBUlJBWV9TSVpFKGJhc3RfaWRlMF9yZXNvdXJjZSksCisJLnJlc291cmNlCT0gYmFzdF9pZGUwX3Jlc291cmNlLAorCS5kZXYJCT0geworCQkucGxhdGZvcm1fZGF0YSA9ICZiYXN0X2lkZV9wbGF0ZGF0YSwKKwkJLmNvaGVyZW50X2RtYV9tYXNrID0gfjAsCisJfQorCit9OworCitzdGF0aWMgc3RydWN0IHJlc291cmNlIGJhc3RfaWRlMV9yZXNvdXJjZVtdID0geworCVswXQk9IHsKKwkJLnN0YXJ0CT0gSURFX0NTICsgQkFTVF9QQV9JREVTRUMsCisJCS5lbmQJPSBJREVfQ1MgKyBCQVNUX1BBX0lERVNFQyArICg4ICogMHgyMCkgLSAxLAorCQkuZmxhZ3MJPSBJT1JFU09VUkNFX01FTSwKKwl9LAorCVsxXQk9IHsKKwkJLnN0YXJ0CT0gSURFX0NTICsgQkFTVF9QQV9JREVTRUNBVVggKyAoNiAqIDB4MjApLAorCQkuZW5kCT0gSURFX0NTICsgQkFTVF9QQV9JREVTRUNBVVggKyAoNyAqIDB4MjApIC0gMSwKKwkJLmZsYWdzCT0gSU9SRVNPVVJDRV9NRU0sCisJfSwKKwlbMl0JPSB7CisJCS5zdGFydAk9IElSUV9JREUxLAorCQkuZW5kCT0gSVJRX0lERTEsCisJCS5mbGFncwk9IElPUkVTT1VSQ0VfSVJRLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBiYXN0X2RldmljZV9pZGUxID0geworCS5uYW1lCQk9ICJwYXRhX3BsYXRmb3JtIiwKKwkuaWQJCT0gMSwKKwkubnVtX3Jlc291cmNlcwk9IEFSUkFZX1NJWkUoYmFzdF9pZGUxX3Jlc291cmNlKSwKKwkucmVzb3VyY2UJPSBiYXN0X2lkZTFfcmVzb3VyY2UsCisJLmRldgkJPSB7CisJCS5wbGF0Zm9ybV9kYXRhID0gJmJhc3RfaWRlX3BsYXRkYXRhLAorCQkuY29oZXJlbnRfZG1hX21hc2sgPSB+MCwKKwl9Cit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSAqYmFzdF9pZGVfZGV2aWNlc1tdIF9faW5pdGRhdGEgPSB7CisJJmJhc3RfZGV2aWNlX2lkZTAsCisJJmJhc3RfZGV2aWNlX2lkZTEsCit9OworCitzdGF0aWMgX19pbml0IGludCBiYXN0X2lkZV9pbml0KHZvaWQpCit7CisJaWYgKG1hY2hpbmVfaXNfYmFzdCgpIHx8IG1hY2hpbmVfaXNfdnIxMDAwKCkpCisJCXJldHVybiBwbGF0Zm9ybV9hZGRfZGV2aWNlcyhiYXN0X2lkZV9kZXZpY2VzLAorCQkJCQkgICAgQVJSQVlfU0laRShiYXN0X2lkZV9kZXZpY2VzKSk7CisKKwlyZXR1cm4gMDsKK30KKworZnNfaW5pdGNhbGwoYmFzdF9pZGVfaW5pdCk7CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLXMzYzI0MTAvbWFjaC1iYXN0LmMgYi9hcmNoL2FybS9tYWNoLXMzYzI0MTAvbWFjaC1iYXN0LmMKaW5kZXggMjdmNjNkNS4uOTY1ZjI3MSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1zM2MyNDEwL21hY2gtYmFzdC5jCisrKyBiL2FyY2gvYXJtL21hY2gtczNjMjQxMC9tYWNoLWJhc3QuYwpAQCAtMSw2ICsxLDYgQEAKIC8qIGxpbnV4L2FyY2gvYXJtL21hY2gtczNjMjQxMC9tYWNoLWJhc3QuYwogICoKLSAqIENvcHlyaWdodCAoYykgMjAwMy0yMDA1IFNpbXRlYyBFbGVjdHJvbmljcworICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMDUsMjAwOCBTaW10ZWMgRWxlY3Ryb25pY3MKICAqICAgQmVuIERvb2tzIDxiZW5Ac2ltdGVjLmNvLnVrPgogICoKICAqIGh0dHA6Ly93d3cuc2ltdGVjLmNvLnVrL3Byb2R1Y3RzL0VCMjQxMElUWC8KQEAgLTIwLDYgKzIwLDggQEAKICNpbmNsdWRlIDxsaW51eC9zZXJpYWxfY29yZS5oPgogI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgogI2luY2x1ZGUgPGxpbnV4L2RtOTAwMC5oPgorI2luY2x1ZGUgPGxpbnV4L2F0YV9wbGF0Zm9ybS5oPgorI2luY2x1ZGUgPGxpbnV4L2kyYy5oPgogCiAjaW5jbHVkZSA8bmV0L2F4ODg3OTYuaD4KIApAQCAtNTYsNyArNTgsOSBAQAogI2luY2x1ZGUgPGFzbS9wbGF0LXMzYzI0eHgvY2xvY2suaD4KICNpbmNsdWRlIDxhc20vcGxhdC1zM2MyNHh4L2RldnMuaD4KICNpbmNsdWRlIDxhc20vcGxhdC1zM2MyNHh4L2NwdS5oPgorCiAjaW5jbHVkZSAidXNiLXNpbXRlYy5oIgorI2luY2x1ZGUgIm5vci1zaW10ZWMuaCIKIAogI2RlZmluZSBDT1BZUklHSFQgIiwgKGMpIDIwMDQtMjAwNSBTaW10ZWMgRWxlY3Ryb25pY3MiCiAKQEAgLTEzNCwzNyArMTM4LDIxIEBACiAgIHsgVkFfQzIoQkFTVF9WQV9JU0FJTyksICAgUEFfQ1MyKEJBU1RfUEFfSVNBSU8pLCAgICBTWl8xNk0sIE1UX0RFVklDRSB9LAogICB7IFZBX0MyKEJBU1RfVkFfSVNBTUVNKSwgIFBBX0NTMihCQVNUX1BBX0lTQU1FTSksICAgU1pfMTZNLCBNVF9ERVZJQ0UgfSwKICAgeyBWQV9DMihCQVNUX1ZBX1NVUEVSSU8pLCBQQV9DUzIoQkFTVF9QQV9TVVBFUklPKSwgIFNaXzFNLCAgTVRfREVWSUNFIH0sCi0gIHsgVkFfQzIoQkFTVF9WQV9JREVQUkkpLCAgUEFfQ1MzKEJBU1RfUEFfSURFUFJJKSwgICBTWl8xTSwgIE1UX0RFVklDRSB9LAotICB7IFZBX0MyKEJBU1RfVkFfSURFU0VDKSwgIFBBX0NTMyhCQVNUX1BBX0lERVNFQyksICAgU1pfMU0sICBNVF9ERVZJQ0UgfSwKLSAgeyBWQV9DMihCQVNUX1ZBX0lERVBSSUFVWCksIFBBX0NTMyhCQVNUX1BBX0lERVBSSUFVWCksIFNaXzFNLCBNVF9ERVZJQ0UgfSwKLSAgeyBWQV9DMihCQVNUX1ZBX0lERVNFQ0FVWCksIFBBX0NTMyhCQVNUX1BBX0lERVNFQ0FVWCksIFNaXzFNLCBNVF9ERVZJQ0UgfSwKIAogICAvKiBzbG93LCB3b3JkICovCiAgIHsgVkFfQzMoQkFTVF9WQV9JU0FJTyksICAgUEFfQ1MzKEJBU1RfUEFfSVNBSU8pLCAgICBTWl8xNk0sIE1UX0RFVklDRSB9LAogICB7IFZBX0MzKEJBU1RfVkFfSVNBTUVNKSwgIFBBX0NTMyhCQVNUX1BBX0lTQU1FTSksICAgU1pfMTZNLCBNVF9ERVZJQ0UgfSwKICAgeyBWQV9DMyhCQVNUX1ZBX1NVUEVSSU8pLCBQQV9DUzMoQkFTVF9QQV9TVVBFUklPKSwgIFNaXzFNLCAgTVRfREVWSUNFIH0sCi0gIHsgVkFfQzMoQkFTVF9WQV9JREVQUkkpLCAgUEFfQ1MzKEJBU1RfUEFfSURFUFJJKSwgICBTWl8xTSwgIE1UX0RFVklDRSB9LAotICB7IFZBX0MzKEJBU1RfVkFfSURFU0VDKSwgIFBBX0NTMyhCQVNUX1BBX0lERVNFQyksICAgU1pfMU0sICBNVF9ERVZJQ0UgfSwKLSAgeyBWQV9DMyhCQVNUX1ZBX0lERVBSSUFVWCksIFBBX0NTMyhCQVNUX1BBX0lERVBSSUFVWCksIFNaXzFNLCBNVF9ERVZJQ0UgfSwKLSAgeyBWQV9DMyhCQVNUX1ZBX0lERVNFQ0FVWCksIFBBX0NTMyhCQVNUX1BBX0lERVNFQ0FVWCksIFNaXzFNLCBNVF9ERVZJQ0UgfSwKIAogICAvKiBmYXN0LCBieXRlICovCiAgIHsgVkFfQzQoQkFTVF9WQV9JU0FJTyksICAgUEFfQ1M0KEJBU1RfUEFfSVNBSU8pLCAgICBTWl8xNk0sIE1UX0RFVklDRSB9LAogICB7IFZBX0M0KEJBU1RfVkFfSVNBTUVNKSwgIFBBX0NTNChCQVNUX1BBX0lTQU1FTSksICAgU1pfMTZNLCBNVF9ERVZJQ0UgfSwKICAgeyBWQV9DNChCQVNUX1ZBX1NVUEVSSU8pLCBQQV9DUzQoQkFTVF9QQV9TVVBFUklPKSwgIFNaXzFNLCAgTVRfREVWSUNFIH0sCi0gIHsgVkFfQzQoQkFTVF9WQV9JREVQUkkpLCAgUEFfQ1M1KEJBU1RfUEFfSURFUFJJKSwgICBTWl8xTSwgIE1UX0RFVklDRSB9LAotICB7IFZBX0M0KEJBU1RfVkFfSURFU0VDKSwgIFBBX0NTNShCQVNUX1BBX0lERVNFQyksICAgU1pfMU0sICBNVF9ERVZJQ0UgfSwKLSAgeyBWQV9DNChCQVNUX1ZBX0lERVBSSUFVWCksIFBBX0NTNShCQVNUX1BBX0lERVBSSUFVWCksIFNaXzFNLCBNVF9ERVZJQ0UgfSwKLSAgeyBWQV9DNChCQVNUX1ZBX0lERVNFQ0FVWCksIFBBX0NTNShCQVNUX1BBX0lERVNFQ0FVWCksIFNaXzFNLCBNVF9ERVZJQ0UgfSwKIAogICAvKiBmYXN0LCB3b3JkICovCiAgIHsgVkFfQzUoQkFTVF9WQV9JU0FJTyksICAgUEFfQ1M1KEJBU1RfUEFfSVNBSU8pLCAgICBTWl8xNk0sIE1UX0RFVklDRSB9LAogICB7IFZBX0M1KEJBU1RfVkFfSVNBTUVNKSwgIFBBX0NTNShCQVNUX1BBX0lTQU1FTSksICAgU1pfMTZNLCBNVF9ERVZJQ0UgfSwKICAgeyBWQV9DNShCQVNUX1ZBX1NVUEVSSU8pLCBQQV9DUzUoQkFTVF9QQV9TVVBFUklPKSwgIFNaXzFNLCAgTVRfREVWSUNFIH0sCi0gIHsgVkFfQzUoQkFTVF9WQV9JREVQUkkpLCAgUEFfQ1M1KEJBU1RfUEFfSURFUFJJKSwgICBTWl8xTSwgIE1UX0RFVklDRSB9LAotICB7IFZBX0M1KEJBU1RfVkFfSURFU0VDKSwgIFBBX0NTNShCQVNUX1BBX0lERVNFQyksICAgU1pfMU0sICBNVF9ERVZJQ0UgfSwKLSAgeyBWQV9DNShCQVNUX1ZBX0lERVBSSUFVWCksIFBBX0NTNShCQVNUX1BBX0lERVBSSUFVWCksIFNaXzFNLCBNVF9ERVZJQ0UgfSwKLSAgeyBWQV9DNShCQVNUX1ZBX0lERVNFQ0FVWCksIFBBX0NTNShCQVNUX1BBX0lERVNFQ0FVWCksIFNaXzFNLCBNVF9ERVZJQ0UgfSwKIH07CiAKICNkZWZpbmUgVUNPTiBTM0MyNDEwX1VDT05fREVGQVVMVCB8IFMzQzI0MTBfVUNPTl9VQ0xLCkBAIC0yMTgsMjMgKzIwNiw2IEBACiAJfQogfTsKIAotLyogTk9SIEZsYXNoIG9uIEJBU1QgYm9hcmQgKi8KLQotc3RhdGljIHN0cnVjdCByZXNvdXJjZSBiYXN0X25vcl9yZXNvdXJjZVtdID0gewotCVswXSA9IHsKLQkJLnN0YXJ0ID0gUzNDMjQxMF9DUzEgKyAweDQwMDAwMDAsCi0JCS5lbmQgICA9IFMzQzI0MTBfQ1MxICsgMHg0MDAwMDAwICsgKDMyKjEwMjQqMTAyNCkgLSAxLAotCQkuZmxhZ3MgPSBJT1JFU09VUkNFX01FTSwKLQl9Ci19OwotCi1zdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBiYXN0X2RldmljZV9ub3IgPSB7Ci0JLm5hbWUJCT0gImJhc3Qtbm9yIiwKLQkuaWQJCT0gLTEsCi0JLm51bV9yZXNvdXJjZXMJPSBBUlJBWV9TSVpFKGJhc3Rfbm9yX3Jlc291cmNlKSwKLQkucmVzb3VyY2UJPSBiYXN0X25vcl9yZXNvdXJjZSwKLX07Ci0KIC8qIE5BTkQgRmxhc2ggb24gQkFTVCBib2FyZCAqLwogCiAjaWZkZWYgQ09ORklHX1BNCkBAIC0zNzQsNyArMzQ1LDcgQEAKIAlbMl0gPSB7CiAJCS5zdGFydCA9IElSUV9ETTkwMDAsCiAJCS5lbmQgICA9IElSUV9ETTkwMDAsCi0JCS5mbGFncyA9IElPUkVTT1VSQ0VfSVJRIHwgSVJRRl9UUklHR0VSX0hJR0gsCisJCS5mbGFncyA9IElPUkVTT1VSQ0VfSVJRIHwgSU9SRVNPVVJDRV9JUlFfSElHSExFVkVMLAogCX0KIAogfTsKQEAgLTU2NCw2ICs1MzUsMTggQEAKIAkuZGVmYXVsdF9kaXNwbGF5ID0gMSwKIH07CiAKKy8qIEkyQyBkZXZpY2VzIGZpdHRlZC4gKi8KKworc3RhdGljIHN0cnVjdCBpMmNfYm9hcmRfaW5mbyBiYXN0X2kyY19kZXZzW10gX19pbml0ZGF0YSA9IHsKKwl7CisJCUkyQ19CT0FSRF9JTkZPKCJ0bHYzMjBhaWMyMyIsIDB4MWEpLAorCX0sIHsKKwkJSTJDX0JPQVJEX0lORk8oInNpbXRlYy1wbXUiLCAweDZiKSwKKwl9LCB7CisJCUkyQ19CT0FSRF9JTkZPKCJjaDcwMTMiLCAweDc1KSwKKwl9LAorfTsKKwogLyogU3RhbmRhcmQgQkFTVCBkZXZpY2VzICovCiAKIHN0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpiYXN0X2RldmljZXNbXSBfX2luaXRkYXRhID0gewpAQCAtNTczLDcgKzU1Niw2IEBACiAJJnMzY19kZXZpY2VfaTJjLAogIAkmczNjX2RldmljZV9ydGMsCiAJJnMzY19kZXZpY2VfbmFuZCwKLQkmYmFzdF9kZXZpY2Vfbm9yLAogCSZiYXN0X2RldmljZV9kbTlrLAogCSZiYXN0X2RldmljZV9hc2l4LAogCSZiYXN0X2RldmljZV9heHBwLApAQCAtNjIyLDYgKzYwNCwxMSBAQAogCiAJczNjMjR4eF9mYl9zZXRfcGxhdGRhdGEoJmJhc3RfZmJfaW5mbyk7CiAJcGxhdGZvcm1fYWRkX2RldmljZXMoYmFzdF9kZXZpY2VzLCBBUlJBWV9TSVpFKGJhc3RfZGV2aWNlcykpOworCisJaTJjX3JlZ2lzdGVyX2JvYXJkX2luZm8oMCwgYmFzdF9pMmNfZGV2cywKKwkJCQlBUlJBWV9TSVpFKGJhc3RfaTJjX2RldnMpKTsKKworCW5vcl9zaW10ZWNfaW5pdCgpOwogfQogCiBNQUNISU5FX1NUQVJUKEJBU1QsICJTaW10ZWMtQkFTVCIpCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLXMzYzI0MTAvbWFjaC1uMzAuYyBiL2FyY2gvYXJtL21hY2gtczNjMjQxMC9tYWNoLW4zMC5jCmluZGV4IDYyMWY1NDguLjQzYzJlOTEgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtczNjMjQxMC9tYWNoLW4zMC5jCisrKyBiL2FyY2gvYXJtL21hY2gtczNjMjQxMC9tYWNoLW4zMC5jCkBAIC0xLDkgKzEsMTAgQEAKLS8qIGxpbnV4L2FyY2gvYXJtL21hY2gtczNjMjQxMC9tYWNoLW4zMC5jCisvKiBNYWNoaW5lIHNwZWNpZmljIGNvZGUgZm9yIHRoZSBBY2VyIG4zMCwgQWNlciBOMzUsIE5hdm1hbiBQaU4gNTcwLAorICogWWFrdW1vIEFscGhhWCBhbmQgQWlyaXMgTkMwNSBQREFzLgogICoKICAqIENvcHlyaWdodCAoYykgMjAwMy0yMDA1IFNpbXRlYyBFbGVjdHJvbmljcwogICoJQmVuIERvb2tzIDxiZW5Ac2ltdGVjLmNvLnVrPgogICoKLSAqIENvcHlyaWdodCAoYykgMjAwNSBDaHJpc3RlciBXZWluaWdlbCA8Y2hyaXN0ZXJAd2VpbmlnZWwuc2U+CisgKiBDb3B5cmlnaHQgKGMpIDIwMDUtMjAwOCBDaHJpc3RlciBXZWluaWdlbCA8Y2hyaXN0ZXJAd2VpbmlnZWwuc2U+CiAgKgogICogVGhlcmUgaXMgYSB3aWtpIHdpdGggbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgbjMwIHBvcnQgYXQKICAqIGh0dHA6Ly9oYW5kaGVsZHMub3JnL21vaW4vbW9pbi5jZ2kvQWNlck4zMERvY3VtZW50YXRpb24gLgpAQCAtMTEsMzYgKzEyLDQyIEBACiAgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQogICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMKICAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgotKi8KKyAqLwogCiAjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KLSNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KLSNpbmNsdWRlIDxsaW51eC9saXN0Lmg+Ci0jaW5jbHVkZSA8bGludXgvdGltZXIuaD4KLSNpbmNsdWRlIDxsaW51eC9pbml0Lmg+Ci0jaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KLSNpbmNsdWRlIDxsaW51eC9zZXJpYWxfY29yZS5oPgotI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgotI2luY2x1ZGUgPGxpbnV4L2t0aHJlYWQuaD4KIAotI2luY2x1ZGUgPGFzbS9tYWNoL2FyY2guaD4KLSNpbmNsdWRlIDxhc20vbWFjaC9tYXAuaD4KLSNpbmNsdWRlIDxhc20vbWFjaC9pcnEuaD4KKyNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgorI2luY2x1ZGUgPGxpbnV4L2dwaW9fa2V5cy5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9pbnB1dC5oPgorI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgorI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L3NlcmlhbF9jb3JlLmg+CisjaW5jbHVkZSA8bGludXgvdGltZXIuaD4KIAogI2luY2x1ZGUgPGFzbS9oYXJkd2FyZS5oPgogI2luY2x1ZGUgPGFzbS9pby5oPgogI2luY2x1ZGUgPGFzbS9pcnEuaD4KICNpbmNsdWRlIDxhc20vbWFjaC10eXBlcy5oPgogCi0jaW5jbHVkZSA8YXNtL3BsYXQtczNjL3JlZ3Mtc2VyaWFsLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvZmIuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9sZWRzLWdwaW8uaD4KICNpbmNsdWRlIDxhc20vYXJjaC9yZWdzLWdwaW8uaD4KLSNpbmNsdWRlIDxhc20vcGxhdC1zM2MvaWljLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvcmVncy1sY2QuaD4KIAotI2luY2x1ZGUgPGFzbS9wbGF0LXMzYzI0eHgvczNjMjQxMC5oPgorI2luY2x1ZGUgPGFzbS9tYWNoL2FyY2guaD4KKyNpbmNsdWRlIDxhc20vbWFjaC9pcnEuaD4KKyNpbmNsdWRlIDxhc20vbWFjaC9tYXAuaD4KKworI2luY2x1ZGUgPGFzbS9wbGF0LXMzYy9paWMuaD4KKyNpbmNsdWRlIDxhc20vcGxhdC1zM2MvcmVncy1zZXJpYWwuaD4KKwogI2luY2x1ZGUgPGFzbS9wbGF0LXMzYzI0eHgvY2xvY2suaD4KLSNpbmNsdWRlIDxhc20vcGxhdC1zM2MyNHh4L2RldnMuaD4KICNpbmNsdWRlIDxhc20vcGxhdC1zM2MyNHh4L2NwdS5oPgorI2luY2x1ZGUgPGFzbS9wbGF0LXMzYzI0eHgvZGV2cy5oPgorI2luY2x1ZGUgPGFzbS9wbGF0LXMzYzI0eHgvczNjMjQxMC5oPgorI2luY2x1ZGUgPGFzbS9wbGF0LXMzYzI0eHgvdWRjLmg+CiAKIHN0YXRpYyBzdHJ1Y3QgbWFwX2Rlc2MgbjMwX2lvZGVzY1tdIF9faW5pdGRhdGEgPSB7CiAJLyogbm90aGluZyBoZXJlIHlldCAqLwpAQCAtNjQsNyArNzEsOCBAQAogCQkudWxjb24JICAgICA9IDB4NDMsCiAJCS51ZmNvbgkgICAgID0gMHg1MSwKIAl9LAotCS8qIFRoZSBCbHVlVG9vdGggY29udHJvbGxlciBpcyBjb25uZWN0ZWQgdG8gcG9ydCAyICovCisJLyogT24gdGhlIE4zMCB0aGUgYmx1ZXRvb3RoIGNvbnRyb2xsZXIgaXMgY29ubmVjdGVkIGhlcmUuCisJICogT24gdGhlIE4zNSBhbmQgdmFyaWFudHMgdGhlIEdQUyByZWNlaXZlciBpcyBjb25uZWN0ZWQgaGVyZS4gKi8KIAlbMl0gPSB7CiAJCS5od3BvcnQJICAgICA9IDIsCiAJCS5mbGFncwkgICAgID0gMCwKQEAgLTc0LDEzICs4MiwyNjAgQEAKIAl9LAogfTsKIAorc3RhdGljIHZvaWQgbjMwX3VkY19wdWxsdXAoZW51bSBzM2MyNDEwX3VkY19jbWRfZSBjbWQpCit7CisJc3dpdGNoIChjbWQpIHsKKwljYXNlIFMzQzI0MTBfVURDX1BfRU5BQkxFIDoKKwkJczNjMjQxMF9ncGlvX3NldHBpbihTM0MyNDEwX0dQQjMsIDEpOworCQlicmVhazsKKwljYXNlIFMzQzI0MTBfVURDX1BfRElTQUJMRSA6CisJCXMzYzI0MTBfZ3Bpb19zZXRwaW4oUzNDMjQxMF9HUEIzLCAwKTsKKwkJYnJlYWs7CisJY2FzZSBTM0MyNDEwX1VEQ19QX1JFU0VUIDoKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJYnJlYWs7CisJfQorfQorCitzdGF0aWMgc3RydWN0IHMzYzI0MTBfdWRjX21hY2hfaW5mbyBuMzBfdWRjX2NmZyBfX2luaXRkYXRhID0geworCS51ZGNfY29tbWFuZAkJPSBuMzBfdWRjX3B1bGx1cCwKKwkudmJ1c19waW4JCT0gUzNDMjQxMF9HUEcxLAorCS52YnVzX3Bpbl9pbnZlcnRlZAk9IDAsCit9OworCitzdGF0aWMgc3RydWN0IGdwaW9fa2V5c19idXR0b24gbjMwX2J1dHRvbnNbXSA9IHsKKwl7CisJCS5ncGlvCQk9IFMzQzI0MTBfR1BGMCwKKwkJLmNvZGUJCT0gS0VZX1BPV0VSLAorCQkuZGVzYwkJPSAiUG93ZXIiLAorCQkuYWN0aXZlX2xvdwk9IDAsCisJfSwKKwl7CisJCS5ncGlvCQk9IFMzQzI0MTBfR1BHOSwKKwkJLmNvZGUJCT0gS0VZX1VQLAorCQkuZGVzYwkJPSAiVGh1bWJ3aGVlbCBVcCIsCisJCS5hY3RpdmVfbG93CT0gMCwKKwl9LAorCXsKKwkJLmdwaW8JCT0gUzNDMjQxMF9HUEc4LAorCQkuY29kZQkJPSBLRVlfRE9XTiwKKwkJLmRlc2MJCT0gIlRodW1id2hlZWwgRG93biIsCisJCS5hY3RpdmVfbG93CT0gMCwKKwl9LAorCXsKKwkJLmdwaW8JCT0gUzNDMjQxMF9HUEc3LAorCQkuY29kZQkJPSBLRVlfRU5URVIsCisJCS5kZXNjCQk9ICJUaHVtYndoZWVsIFByZXNzIiwKKwkJLmFjdGl2ZV9sb3cJPSAwLAorCX0sCisJeworCQkuZ3BpbwkJPSBTM0MyNDEwX0dQRjcsCisJCS5jb2RlCQk9IEtFWV9IT01FUEFHRSwKKwkJLmRlc2MJCT0gIkhvbWUiLAorCQkuYWN0aXZlX2xvdwk9IDAsCisJfSwKKwl7CisJCS5ncGlvCQk9IFMzQzI0MTBfR1BGNiwKKwkJLmNvZGUJCT0gS0VZX0NBTEVOREFSLAorCQkuZGVzYwkJPSAiQ2FsZW5kYXIiLAorCQkuYWN0aXZlX2xvdwk9IDAsCisJfSwKKwl7CisJCS5ncGlvCQk9IFMzQzI0MTBfR1BGNSwKKwkJLmNvZGUJCT0gS0VZX0FERFJFU1NCT09LLAorCQkuZGVzYwkJPSAiQ29udGFjdHMiLAorCQkuYWN0aXZlX2xvdwk9IDAsCisJfSwKKwl7CisJCS5ncGlvCQk9IFMzQzI0MTBfR1BGNCwKKwkJLmNvZGUJCT0gS0VZX01BSUwsCisJCS5kZXNjCQk9ICJNYWlsIiwKKwkJLmFjdGl2ZV9sb3cJPSAwLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IGdwaW9fa2V5c19wbGF0Zm9ybV9kYXRhIG4zMF9idXR0b25fZGF0YSA9IHsKKwkuYnV0dG9ucwk9IG4zMF9idXR0b25zLAorCS5uYnV0dG9ucwk9IEFSUkFZX1NJWkUobjMwX2J1dHRvbnMpLAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgbjMwX2J1dHRvbl9kZXZpY2UgPSB7CisJLm5hbWUJCT0gImdwaW8ta2V5cyIsCisJLmlkCQk9IC0xLAorCS5kZXYJCT0geworCQkucGxhdGZvcm1fZGF0YQk9ICZuMzBfYnV0dG9uX2RhdGEsCisJfQorfTsKKworc3RhdGljIHN0cnVjdCBncGlvX2tleXNfYnV0dG9uIG4zNV9idXR0b25zW10gPSB7CisJeworCQkuZ3BpbwkJPSBTM0MyNDEwX0dQRjAsCisJCS5jb2RlCQk9IEtFWV9QT1dFUiwKKwkJLmRlc2MJCT0gIlBvd2VyIiwKKwkJLmFjdGl2ZV9sb3cJPSAwLAorCX0sCisJeworCQkuZ3BpbwkJPSBTM0MyNDEwX0dQRzksCisJCS5jb2RlCQk9IEtFWV9VUCwKKwkJLmRlc2MJCT0gIkpveXN0aWNrIFVwIiwKKwkJLmFjdGl2ZV9sb3cJPSAwLAorCX0sCisJeworCQkuZ3BpbwkJPSBTM0MyNDEwX0dQRzgsCisJCS5jb2RlCQk9IEtFWV9ET1dOLAorCQkuZGVzYwkJPSAiSm95c3RpY2sgRG93biIsCisJCS5hY3RpdmVfbG93CT0gMCwKKwl9LAorCXsKKwkJLmdwaW8JCT0gUzNDMjQxMF9HUEc2LAorCQkuY29kZQkJPSBLRVlfRE9XTiwKKwkJLmRlc2MJCT0gIkpveXN0aWNrIExlZnQiLAorCQkuYWN0aXZlX2xvdwk9IDAsCisJfSwKKwl7CisJCS5ncGlvCQk9IFMzQzI0MTBfR1BHNSwKKwkJLmNvZGUJCT0gS0VZX0RPV04sCisJCS5kZXNjCQk9ICJKb3lzdGljayBSaWdodCIsCisJCS5hY3RpdmVfbG93CT0gMCwKKwl9LAorCXsKKwkJLmdwaW8JCT0gUzNDMjQxMF9HUEc3LAorCQkuY29kZQkJPSBLRVlfRU5URVIsCisJCS5kZXNjCQk9ICJKb3lzdGljayBQcmVzcyIsCisJCS5hY3RpdmVfbG93CT0gMCwKKwl9LAorCXsKKwkJLmdwaW8JCT0gUzNDMjQxMF9HUEY3LAorCQkuY29kZQkJPSBLRVlfSE9NRVBBR0UsCisJCS5kZXNjCQk9ICJIb21lIiwKKwkJLmFjdGl2ZV9sb3cJPSAwLAorCX0sCisJeworCQkuZ3BpbwkJPSBTM0MyNDEwX0dQRjYsCisJCS5jb2RlCQk9IEtFWV9DQUxFTkRBUiwKKwkJLmRlc2MJCT0gIkNhbGVuZGFyIiwKKwkJLmFjdGl2ZV9sb3cJPSAwLAorCX0sCisJeworCQkuZ3BpbwkJPSBTM0MyNDEwX0dQRjUsCisJCS5jb2RlCQk9IEtFWV9BRERSRVNTQk9PSywKKwkJLmRlc2MJCT0gIkNvbnRhY3RzIiwKKwkJLmFjdGl2ZV9sb3cJPSAwLAorCX0sCisJeworCQkuZ3BpbwkJPSBTM0MyNDEwX0dQRjQsCisJCS5jb2RlCQk9IEtFWV9NQUlMLAorCQkuZGVzYwkJPSAiTWFpbCIsCisJCS5hY3RpdmVfbG93CT0gMCwKKwl9LAorCXsKKwkJLmdwaW8JCT0gUzNDMjQxMF9HUEYzLAorCQkuY29kZQkJPSBTV19SQURJTywKKwkJLmRlc2MJCT0gIkdQUyBBbnRlbm5hIiwKKwkJLmFjdGl2ZV9sb3cJPSAwLAorCX0sCisJeworCQkuZ3BpbwkJPSBTM0MyNDEwX0dQRzIsCisJCS5jb2RlCQk9IFNXX0hFQURQSE9ORV9JTlNFUlQsCisJCS5kZXNjCQk9ICJIZWFkcGhvbmUiLAorCQkuYWN0aXZlX2xvdwk9IDAsCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgZ3Bpb19rZXlzX3BsYXRmb3JtX2RhdGEgbjM1X2J1dHRvbl9kYXRhID0geworCS5idXR0b25zCT0gbjM1X2J1dHRvbnMsCisJLm5idXR0b25zCT0gQVJSQVlfU0laRShuMzVfYnV0dG9ucyksCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBuMzVfYnV0dG9uX2RldmljZSA9IHsKKwkubmFtZQkJPSAiZ3Bpby1rZXlzIiwKKwkuaWQJCT0gLTEsCisJLm51bV9yZXNvdXJjZXMJPSAwLAorCS5kZXYJCT0geworCQkucGxhdGZvcm1fZGF0YQk9ICZuMzVfYnV0dG9uX2RhdGEsCisJfQorfTsKKworLyogVGhpcyBpcyB0aGUgYmx1ZXRvb3RoIExFRCBvbiB0aGUgZGV2aWNlLiAqLworc3RhdGljIHN0cnVjdCBzM2MyNHh4X2xlZF9wbGF0ZGF0YSBuMzBfYmx1ZV9sZWRfcGRhdGEgPSB7CisJLm5hbWUJCT0gImJsdWVfbGVkIiwKKwkuZ3BpbwkJPSBTM0MyNDEwX0dQRzYsCisJLmRlZl90cmlnZ2VyCT0gIiIsCit9OworCisvKiBUaGlzIExFRCBpcyBkcml2ZW4gYnkgdGhlIGJhdHRlcnkgbWljcm9jb250cm9sbGVyLCBhbmQgaXMgYmxpbmtpbmcKKyAqIHJlZCwgYmxpbmtpbmcgZ3JlZW4gb3Igc29saWQgZ3JlZW4gd2hlbiB0aGUgYmF0dGVyeSBpcyBsb3csCisgKiBjaGFyZ2luZyBvciBmdWxsIHJlc3BlY3RpdmVseS4gIEJ5IGRyaXZpbmcgR1BEOSBsb3csIGl0J3MgcG9zc2libGUKKyAqIHRvIGZvcmNlIHRoZSBMRUQgdG8gYmxpbmsgcmVkLCBzbyBjYWxsIHRoYXQgd2FybmluZyBMRUQuICAqLworc3RhdGljIHN0cnVjdCBzM2MyNHh4X2xlZF9wbGF0ZGF0YSBuMzBfd2FybmluZ19sZWRfcGRhdGEgPSB7CisJLm5hbWUJCT0gIndhcm5pbmdfbGVkIiwKKwkuZmxhZ3MgICAgICAgICAgPSBTM0MyNFhYX0xFREZfQUNUTE9XLAorCS5ncGlvCQk9IFMzQzI0MTBfR1BEOSwKKwkuZGVmX3RyaWdnZXIJPSAiIiwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIG4zMF9ibHVlX2xlZCA9IHsKKwkubmFtZQkJPSAiczNjMjR4eF9sZWQiLAorCS5pZAkJPSAxLAorCS5kZXYJCT0geworCQkucGxhdGZvcm1fZGF0YQk9ICZuMzBfYmx1ZV9sZWRfcGRhdGEsCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIG4zMF93YXJuaW5nX2xlZCA9IHsKKwkubmFtZQkJPSAiczNjMjR4eF9sZWQiLAorCS5pZAkJPSAyLAorCS5kZXYJCT0geworCQkucGxhdGZvcm1fZGF0YQk9ICZuMzBfd2FybmluZ19sZWRfcGRhdGEsCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgczNjMjQxMGZiX2Rpc3BsYXkgbjMwX2Rpc3BsYXkgX19pbml0ZGF0YSA9IHsKKwkudHlwZQkJPSBTM0MyNDEwX0xDRENPTjFfVEZULAorCS53aWR0aAkJPSAyNDAsCisJLmhlaWdodAkJPSAzMjAsCisJLnBpeGNsb2NrCT0gMTcwMDAwLAorCisJLnhyZXMJCT0gMjQwLAorCS55cmVzCQk9IDMyMCwKKwkuYnBwCQk9IDE2LAorCS5sZWZ0X21hcmdpbgk9IDMsCisJLnJpZ2h0X21hcmdpbgk9IDQwLAorCS5oc3luY19sZW4JPSA0MCwKKwkudXBwZXJfbWFyZ2luCT0gMiwKKwkubG93ZXJfbWFyZ2luCT0gMywKKwkudnN5bmNfbGVuCT0gMiwKKworCS5sY2Rjb241ID0gUzNDMjQxMF9MQ0RDT041X0lOVlZMSU5FIHwgUzNDMjQxMF9MQ0RDT041X0lOVlZGUkFNRSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgczNjMjQxMGZiX21hY2hfaW5mbyBuMzBfZmJfaW5mbyBfX2luaXRkYXRhID0geworCS5kaXNwbGF5cwk9ICZuMzBfZGlzcGxheSwKKwkubnVtX2Rpc3BsYXlzCT0gMSwKKwkuZGVmYXVsdF9kaXNwbGF5ID0gMCwKKwkubHBjc2VsCQk9IDB4MDYsCit9OworCiBzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSAqbjMwX2RldmljZXNbXSBfX2luaXRkYXRhID0geworCSZzM2NfZGV2aWNlX2xjZCwKKwkmczNjX2RldmljZV93ZHQsCisJJnMzY19kZXZpY2VfaTJjLAorCSZzM2NfZGV2aWNlX2lpcywKIAkmczNjX2RldmljZV91c2IsCisJJnMzY19kZXZpY2VfdXNiZ2FkZ2V0LAorCSZuMzBfYnV0dG9uX2RldmljZSwKKwkmbjMwX2JsdWVfbGVkLAorCSZuMzBfd2FybmluZ19sZWQsCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSAqbjM1X2RldmljZXNbXSBfX2luaXRkYXRhID0gewogCSZzM2NfZGV2aWNlX2xjZCwKIAkmczNjX2RldmljZV93ZHQsCiAJJnMzY19kZXZpY2VfaTJjLAogCSZzM2NfZGV2aWNlX2lpcywKIAkmczNjX2RldmljZV91c2JnYWRnZXQsCisJJm4zNV9idXR0b25fZGV2aWNlLAogfTsKIAogc3RhdGljIHN0cnVjdCBzM2MyNDEwX3BsYXRmb3JtX2kyYyBuMzBfaTJjY2ZnID0gewpAQCAtOTAsOSArMzQ1LDE0OCBAQAogCS5tYXhfZnJlcQk9IDEwKjEwMDAsCiB9OwogCisvKiBMb3RzIG9mIGhhcmRjb2RlZCBzdHVmZiwgYnV0IGl0IHNldHMgdXAgdGhlIGhhcmR3YXJlIGluIGEgdXNlZnVsCisgKiBzdGF0ZSBzbyB0aGF0IHdlIGNhbiBib290IExpbnV4IGRpcmVjdGx5IGZyb20gZmxhc2guICovCitzdGF0aWMgdm9pZCBfX2luaXQgbjMwX2h3aW5pdCh2b2lkKQoreworCS8qIEdQQTAtMTEgc3BlY2lhbCBmdW5jdGlvbnMgLS0gdW5rbm93biB3aGF0IHRoZXkgZG8KKwkgKiBHUEExMiBOMzAgc3BlY2lhbCBmdW5jdGlvbiAtLSB1bmtub3duIHdoYXQgaXQgZG9lcworCSAqICAgICAgIE4zNS9QaU4gb3V0cHV0IC0tIHVua25vd24gd2hhdCBpdCBkb2VzCisJICoKKwkgKiBBMTIgaXMgbkdDUzEgb24gdGhlIE4zMCBhbmQgYW4gb3V0cHV0IG9uIHRoZSBOMzUvUGlOLiAgSQorCSAqIGRvbid0IHRoaW5rIGl0IGRvZXMgYW55dGhpbmcgdXNlZnVsIG9uIHRoZSBOMzAsIHNvIEkgb3VnaHQKKwkgKiB0byBtYWtlIGl0IGFuIG91dHB1dCB0aGVyZSB0b28gc2luY2UgaXQgYWx3YXlzIGRyaXZlbiB0byAwCisJICogYXMgZmFyIGFzIEkgY2FuIHRlbGwuICovCisJaWYgKG1hY2hpbmVfaXNfbjMwKCkpCisJCV9fcmF3X3dyaXRlbCgweDAwN2ZmZmZmLCBTM0MyNDEwX0dQQUNPTik7CisJaWYgKG1hY2hpbmVfaXNfbjM1KCkpCisJCV9fcmF3X3dyaXRlbCgweDAwN2ZlZmZmLCBTM0MyNDEwX0dQQUNPTik7CisJX19yYXdfd3JpdGVsKDB4MDAwMDAwMDAsIFMzQzI0MTBfR1BBREFUKTsKKworCS8qIEdQQjAgVE9VVDAgYmFja2xpZ2h0IGxldmVsCisJICogR1BCMSBvdXRwdXQgMT1iYWNrbGlnaHQgb24KKwkgKiBHUEIyIG91dHB1dCBJckRBIGVuYWJsZSAwPXRyYW5zY2VpdmVyIGVuYWJsZWQsIDE9ZGlzYWJsZWQKKwkgKiBHUEIzIG91dHB1dCBVU0IgRCsgcHVsbCB1cCAwPWRpc2FibGVkLCAxPWVuYWJsZWQKKwkgKiBHUEI0IE4zMCBvdXRwdXQgLS0gdW5rbm93biBmdW5jdGlvbgorCSAqICAgICAgTjMwL1BpTiBHUFMgY29udHJvbCAwPUdQUyBlbmFibGVkLCAxPUdQUyBkaXNhYmxlZAorCSAqIEdQQjUgb3V0cHV0IC0tIHVua25vd24gZnVuY3Rpb24KKwkgKiBHUEI2IGlucHV0IC0tIHVua25vd24gZnVuY3Rpb24KKwkgKiBHUEI3IG91dHB1dCAtLSB1bmtub3duIGZ1bmN0aW9uCisJICogR1BCOCBvdXRwdXQgLS0gcHJvYmFibHkgTENEIGRyaXZlciBlbmFibGUKKwkgKiBHUEI5IG91dHB1dCAtLSBwcm9iYWJseSBMQ0QgVlNZTkMgZHJpdmVyIGVuYWJsZQorCSAqIEdQQjEwIG91dHB1dCAtLSBwcm9iYWJseSBMQ0QgSFNZTkMgZHJpdmVyIGVuYWJsZQorCSAqLworCV9fcmF3X3dyaXRlbCgweDAwMTU0NTU2LCBTM0MyNDEwX0dQQkNPTik7CisJX19yYXdfd3JpdGVsKDB4MDAwMDA3NTAsIFMzQzI0MTBfR1BCREFUKTsKKwlfX3Jhd193cml0ZWwoMHgwMDAwMDA3MywgUzNDMjQxMF9HUEJVUCk7CisKKwkvKiBHUEMwIGlucHV0IFJTMjMyIERDRC9EU1IvUkkKKwkgKiBHUEMxIExDRAorCSAqIEdQQzIgb3V0cHV0IFJTMjMyIERUUj8KKwkgKiBHUEMzIGlucHV0IFJTMjMyIERDRC9EU1IvUkkKKwkgKiBHUEM0IExDRAorCSAqIEdQQzUgb3V0cHV0IDA9TkFORCB3cml0ZSBlbmFibGVkLCAxPU5BTkQgd3JpdGUgcHJvdGVjdAorCSAqIEdQQzYgaW5wdXQgLS0gdW5rbm93biBmdW5jdGlvbgorCSAqIEdQQzcgaW5wdXQgY2hhcmdlciBzdGF0dXMgMD1jaGFyZ2VyIGNvbm5lY3RlZAorCSAqICAgICAgdGhpcyBpbnB1dCBjYW4gYmUgdHJpZ2dlcmVkIGJ5IHBvd2VyIG9uIHRoZSBVU0IgZGV2aWNlCisJICogICAgICBwb3J0IHRvbywgYnV0IHdpbGwgZ28gYmFjayB0byBkaXNjb25uZWN0ZWQgc29vbiBhZnRlci4KKwkgKiBHUEM4IE4zMC9OMzUgb3V0cHV0IC0tIHVua25vd24gZnVuY3Rpb24sIGFsd2F5cyBkcml2ZW4gdG8gMQorCSAqICAgICAgUGlOIGlucHV0IC0tIHVua25vd24gZnVuY3Rpb24sIGFsd2F5cyByZWFkIGFzIDEKKwkgKiAgICAgIE1ha2UgaXQgYW4gaW5wdXQgd2l0aCBhIHB1bGwgdXAgZm9yIGFsbCBtb2RlbHMuCisJICogR1BDOS0xNSBMQ0QKKwkgKi8KKwlfX3Jhd193cml0ZWwoMHhhYWE4MDYxOCwgUzNDMjQxMF9HUENDT04pOworCV9fcmF3X3dyaXRlbCgweDAwMDAwMTRjLCBTM0MyNDEwX0dQQ0RBVCk7CisJX19yYXdfd3JpdGVsKDB4MDAwMGZlZjIsIFMzQzI0MTBfR1BDVVApOworCisJLyogR1BEMCBpbnB1dCAtLSB1bmtub3duIGZ1bmN0aW9uCisJICogR1BEMS1ENyBMQ0QKKwkgKiBHUEQ4IE4zMCBvdXRwdXQgLS0gdW5rbm93biBmdW5jdGlvbgorCSAqICAgICAgTjM1L1BpTiBvdXRwdXQgMT1HUFMgTEVEIG9uCisJICogR1BEOSBvdXRwdXQgMD1wb3dlciBsZWQgYmxpbmtzIHJlZCwgMT1ub3JtYWwgcG93ZXIgbGVkIGZ1bmN0aW9uCisJICogR1BEMTAgb3V0cHV0IC0tIHVua25vd24gZnVuY3Rpb24KKwkgKiBHUEQxMS0xNSBMQ0QgZHJpdmVycworCSAqLworCV9fcmF3X3dyaXRlbCgweGFhOTVhYWE0LCBTM0MyNDEwX0dQRENPTik7CisJX19yYXdfd3JpdGVsKDB4MDAwMDA2MDEsIFMzQzI0MTBfR1BEREFUKTsKKwlfX3Jhd193cml0ZWwoMHgwMDAwZmJmZSwgUzNDMjQxMF9HUERVUCk7CisKKwkvKiBHUEUwLTQgSTJTIGF1ZGlvIGJ1cworCSAqIEdQRTUtMTAgU0QvTU1DIGJ1cworCSAqIEUxMS0xMyBvdXRwdXRzIC0tIHVua25vd24gZnVuY3Rpb24sIHByb2JhYmx5IHBvd2VyIG1hbmFnZW1lbnQKKwkgKiBFMTQtMTUgSTJDIGJ1cyBjb25uZWN0ZWQgdG8gdGhlIGJhdHRlcnkgY29udHJvbGxlcgorCSAqLworCV9fcmF3X3dyaXRlbCgweGE1NmFhYWFhLCBTM0MyNDEwX0dQRUNPTik7CisJX19yYXdfd3JpdGVsKDB4MDAwMGVmYzUsIFMzQzI0MTBfR1BFREFUKTsKKwlfX3Jhd193cml0ZWwoMHgwMDAwZjgxZiwgUzNDMjQxMF9HUEVVUCk7CisKKwkvKiBHUEYwICBpbnB1dCAwPXBvd2VyIGJ1dHRvbiBwcmVzc2VkCisJICogR1BGMSAgaW5wdXQgU0QvTU1DIHN3aXRjaCAwPWNhcmQgcHJlc2VudAorCSAqIEdQRjIgIE4zMCAxPXJlc2V0IGJ1dHRvbiBwcmVzc2VkIChpbnZlcnRlZCBjb21wYXJlZCB0byB0aGUgcmVzdCkKKwkgKgkgTjM1L1BpTiAwPXJlc2V0IGJ1dHRvbiBwcmVzc2VkCisJICogR1BGMyAgTjMwL1BpTiBpbnB1dCAtLSB1bmtub3duIGZ1bmN0aW9uCisJICogICAgICAgTjM1IGlucHV0IEdQUyBhbnRlbm5hIHBvc2l0aW9uLCAwPWFudGVubmEgY2xvc2VkLCAxPW9wZW4KKwkgKiBHUEY0ICBpbnB1dCAwPWJ1dHRvbiA0IHByZXNzZWQKKwkgKiBHUEY1ICBpbnB1dCAwPWJ1dHRvbiAzIHByZXNzZWQKKwkgKiBHUEY2ICBpbnB1dCAwPWJ1dHRvbiAyIHByZXNzZWQKKwkgKiBHUEY3ICBpbnB1dCAwPWJ1dHRvbiAxIHByZXNzZWQKKwkgKi8KKwlfX3Jhd193cml0ZWwoMHgwMDAwYWFhYSwgUzNDMjQxMF9HUEZDT04pOworCV9fcmF3X3dyaXRlbCgweDAwMDAwMDAwLCBTM0MyNDEwX0dQRkRBVCk7CisJX19yYXdfd3JpdGVsKDB4MDAwMDAwZmYsIFMzQzI0MTBfR1BGVVApOworCisJLyogR1BHMCAgaW5wdXQgUlMyMzIgRENEL0RTUi9SSQorCSAqIEdQRzEgIGlucHV0IDE9VVNCIGdhZGdldCBwb3J0IGhhcyBwb3dlciBmcm9tIGEgaG9zdAorCSAqIEdQRzIgIE4zMCBpbnB1dCAtLSB1bmtub3duIGZ1bmN0aW9uCisJICogICAgICAgTjM1L1BpTiBpbnB1dCAwPWhlYWRwaG9uZXMgcGx1Z2dlZCBpbiwgMT1ub3QgcGx1Z2dlZCBpbgorCSAqIEdQRzMgIE4zMCBvdXRwdXQgLS0gdW5rbm93biBmdW5jdGlvbgorCSAqICAgICAgIE4zNS9QaU4gaW5wdXQgd2l0aCB1bmtub3duIGZ1bmN0aW9uCisJICogR1BHNCAgTjMwIG91dHB1dCAwPU1NQyBlbmFibGVkLCAxPU1NQyBkaXNhYmxlZAorCSAqIEdQRzUgIE4zMCBvdXRwdXQgMD1CbHVlVG9vdGggY2hpcCBkaXNhYmxlZCwgMT1lbmFibGVkCisJICogICAgICAgTjM1L1BpTiBpbnB1dCBqb3lzdGljayByaWdodAorCSAqIEdQRzYgIE4zMCBvdXRwdXQgMD1ibHVlIGxlZCBvbiwgMT1vZmYKKwkgKiAgICAgICBOMzUvUGlOIGlucHV0IGpveXN0aWNrIGxlZnQKKwkgKiBHUEc3ICBpbnB1dCAwPXRodW1id2hlZWwgcHJlc3NlZAorCSAqIEdQRzggIGlucHV0IDA9dGh1bWJ3aGVlbCBkb3duCisJICogR1BHOSAgaW5wdXQgMD10aHVtYndoZWVsIHVwCisJICogR1BHMTAgaW5wdXQgU0QvTU1DIHdyaXRlIHByb3RlY3Qgc3dpdGNoCisJICogR1BHMTEgTjMwIGlucHV0IC0tIHVua25vd24gZnVuY3Rpb24KKwkgKiAgICAgICBOMzUgb3V0cHV0IDA9R1BTIGFudGVubmEgcG93ZXJlZCwgMT1ub3QgcG93ZXJlZAorCSAqICAgICAgIFBpTiBvdXRwdXQgLS0gdW5rbm93biBmdW5jdGlvbgorCSAqIEdQRzEyLTE1IHRvdWNoIHNjcmVlbiBmdW5jdGlvbnMKKwkgKgorCSAqIFRoZSBwdWxsdXBzIGRpZmZlciBiZXR3ZWVuIHRoZSBtb2RlbHMsIHNvIGVuYWJsZSBhbGwKKwkgKiBwdWxsdXBzIHRoYXQgYXJlIGVuYWJsZWQgb24gYW55IG9mIHRoZSBtb2RlbHMuCisJICovCisJaWYgKG1hY2hpbmVfaXNfbjMwKCkpCisJCV9fcmF3X3dyaXRlbCgweGZmMGE5NTZhLCBTM0MyNDEwX0dQR0NPTik7CisJaWYgKG1hY2hpbmVfaXNfbjM1KCkpCisJCV9fcmF3X3dyaXRlbCgweGZmNGFhOTJhLCBTM0MyNDEwX0dQR0NPTik7CisJX19yYXdfd3JpdGVsKDB4MDAwMGU4MDAsIFMzQzI0MTBfR1BHREFUKTsKKwlfX3Jhd193cml0ZWwoMHgwMDAwZjg2ZiwgUzNDMjQxMF9HUEdVUCk7CisKKwkvKiBHUEgwLzEvMi8zIFJTMjMyIHNlcmlhbCBwb3J0CisJICogR1BINC81IElyREEgc2VyaWFsIHBvcnQKKwkgKiBHUEg2LzcgIE4zMCBCbHVlVG9vdGggc2VyaWFsIHBvcnQKKwkgKiAgICAgICAgIE4zNS9QaU4gR1BTIHJlY2VpdmVyCisJICogR1BIOCBpbnB1dCAtLSB1bmtub3duIGZ1bmN0aW9uCisJICogR1BIOSBDTEtPVVQwIEhDTEsgLS0gdW5rbm93biB1c2UKKwkgKiBHUEgxMCBDTEtPVVQxIEZDTEsgLS0gdW5rbm93biB1c2UKKwkgKgorCSAqIFRoZSBwdWxsIHVwcyBmb3IgSDYvSDcgYXJlIGVuYWJsZWQgb24gTjMwIGJ1dCBub3Qgb24gdGhlCisJICogTjM1L1BpTi4gIEkgc3VwcG9zZSBpcyB1c2VmdWwgZm9yIGEgYnVkZ2V0IG1vZGVsIG9mIHRoZSBOMzAKKwkgKiB3aXRoIG5vIGJsdWV0b29oLiAgSXQgZG9lc24ndCBodXJ0IHRvIGhhdmUgdGhlIHB1bGwgdXBzCisJICogZW5hYmxlZCBvbiB0aGUgTjM1LCBzbyBsZWF2ZSB0aGVtIGVuYWJsZWQgZm9yIGFsbCBtb2RlbHMuCisJICovCisJX19yYXdfd3JpdGVsKDB4MDAyOGFhYWEsIFMzQzI0MTBfR1BIQ09OKTsKKwlfX3Jhd193cml0ZWwoMHgwMDAwMDVlZiwgUzNDMjQxMF9HUEhEQVQpOworCV9fcmF3X3dyaXRlbCgweDAwMDAwNjNmLCBTM0MyNDEwX0dQSFVQKTsKK30KKwogc3RhdGljIHZvaWQgX19pbml0IG4zMF9tYXBfaW8odm9pZCkKIHsKIAlzM2MyNHh4X2luaXRfaW8objMwX2lvZGVzYywgQVJSQVlfU0laRShuMzBfaW9kZXNjKSk7CisJbjMwX2h3aW5pdCgpOwogCXMzYzI0eHhfaW5pdF9jbG9ja3MoMCk7CiAJczNjMjR4eF9pbml0X3VhcnRzKG4zMF91YXJ0Y2ZncywgQVJSQVlfU0laRShuMzBfdWFydGNmZ3MpKTsKIH0KQEAgLTEwNiw3ICs1MDAsOSBAQAogCiBzdGF0aWMgdm9pZCBfX2luaXQgbjMwX2luaXQodm9pZCkKIHsKKwlzM2MyNHh4X2ZiX3NldF9wbGF0ZGF0YSgmbjMwX2ZiX2luZm8pOwogCXMzY19kZXZpY2VfaTJjLmRldi5wbGF0Zm9ybV9kYXRhID0gJm4zMF9pMmNjZmc7CisJczNjMjR4eF91ZGNfc2V0X3BsYXRkYXRhKCZuMzBfdWRjX2NmZyk7CiAKIAkvKiBUdXJuIG9mZiBzdXNwZW5kIG9uIGJvdGggVVNCIHBvcnRzLCBhbmQgc3dpdGNoIHRoZQogCSAqIHNlbGVjdGFibGUgVVNCIHBvcnQgdG8gVVNCIGRldmljZSBtb2RlLiAqLwpAQCAtMTE1LDcgKzUxMSwzMiBAQAogCQkJICAgICAgUzNDMjQxMF9NSVNDQ1JfVVNCU1VTUE5EMCB8CiAJCQkgICAgICBTM0MyNDEwX01JU0NDUl9VU0JTVVNQTkQxLCAweDApOwogCi0JcGxhdGZvcm1fYWRkX2RldmljZXMobjMwX2RldmljZXMsIEFSUkFZX1NJWkUobjMwX2RldmljZXMpKTsKKwlpZiAobWFjaGluZV9pc19uMzAoKSkgeworCQkvKiBUdXJuIG9mZiBzdXNwZW5kIG9uIGJvdGggVVNCIHBvcnRzLCBhbmQgc3dpdGNoIHRoZQorCQkgKiBzZWxlY3RhYmxlIFVTQiBwb3J0IHRvIFVTQiBkZXZpY2UgbW9kZS4gKi8KKwkJczNjMjQxMF9tb2RpZnlfbWlzY2NyKFMzQzI0MTBfTUlTQ0NSX1VTQkhPU1QgfAorCQkJCSAgICAgIFMzQzI0MTBfTUlTQ0NSX1VTQlNVU1BORDAgfAorCQkJCSAgICAgIFMzQzI0MTBfTUlTQ0NSX1VTQlNVU1BORDEsIDB4MCk7CisKKwkJcGxhdGZvcm1fYWRkX2RldmljZXMobjMwX2RldmljZXMsIEFSUkFZX1NJWkUobjMwX2RldmljZXMpKTsKKwl9CisKKwlpZiAobWFjaGluZV9pc19uMzUoKSkgeworCQkvKiBUdXJuIG9mZiBzdXNwZW5kIGFuZCBzd2l0Y2ggdGhlIHNlbGVjdGFibGUgVVNCIHBvcnQKKwkJICogdG8gVVNCIGRldmljZSBtb2RlLiAgVHVybiBvbiBzdXNwZW5kIGZvciB0aGUgaG9zdAorCQkgKiBwb3J0IHNpbmNlIGl0IGlzIG5vdCBjb25uZWN0ZWQgb24gdGhlIE4zNS4KKwkJICoKKwkJICogQWN0dWFsbHksIHRoZSBob3N0IHBvcnQgaXMgYXZhaWxhYmxlIGF0IHNvbWUgcGFkcworCQkgKiBvbiB0aGUgYmFjayBvZiB0aGUgZGV2aWNlLCBzbyBpdCB3b3VsZCBhY3R1YWxseSBiZQorCQkgKiBwb3NzaWJsZSB0byBhZGQgYSBVU0IgZGV2aWNlIGluc2lkZSB0aGUgTjM1IGlmIHlvdQorCQkgKiBhcmUgd2lsbGluZyB0byBkbyBzb21lIGhhcmR3YXJlIG1vZGlmaWNhdGlvbnMuICovCisJCXMzYzI0MTBfbW9kaWZ5X21pc2NjcihTM0MyNDEwX01JU0NDUl9VU0JIT1NUIHwKKwkJCQkgICAgICBTM0MyNDEwX01JU0NDUl9VU0JTVVNQTkQwIHwKKwkJCQkgICAgICBTM0MyNDEwX01JU0NDUl9VU0JTVVNQTkQxLAorCQkJCSAgICAgIFMzQzI0MTBfTUlTQ0NSX1VTQlNVU1BORDEpOworCisJCXBsYXRmb3JtX2FkZF9kZXZpY2VzKG4zNV9kZXZpY2VzLCBBUlJBWV9TSVpFKG4zNV9kZXZpY2VzKSk7CisJfQogfQogCiBNQUNISU5FX1NUQVJUKE4zMCwgIkFjZXItTjMwIikKQEAgLTEzMSw5ICs1NTIsMTQgQEAKIAkubWFwX2lvCQk9IG4zMF9tYXBfaW8sCiBNQUNISU5FX0VORAogCi0vKgotICAgIExvY2FsIHZhcmlhYmxlczoKLSAgICAgICAgY29tcGlsZS1jb21tYW5kOiAibWFrZSBBUkNIPWFybSBDUk9TU19DT01QSUxFPS91c3IvbG9jYWwvYXJtLzMuMy4yL2Jpbi9hcm0tbGludXgtIC1rIC1DIC4uLy4uLy4uIgotICAgICAgICBjLWJhc2ljLW9mZnNldDogOAotICAgIEVuZDoKLSovCitNQUNISU5FX1NUQVJUKE4zNSwgIkFjZXItTjM1IikKKwkvKiBNYWludGFpbmVyOiBDaHJpc3RlciBXZWluaWdlbCA8Y2hyaXN0ZXJAd2VpbmlnZWwuc2U+CisJKi8KKwkucGh5c19pbwk9IFMzQzI0MTBfUEFfVUFSVCwKKwkuaW9fcGdfb2Zmc3QJPSAoKCh1MzIpUzNDMjRYWF9WQV9VQVJUKSA+PiAxOCkgJiAweGZmZmMsCisJLmJvb3RfcGFyYW1zCT0gUzNDMjQxMF9TRFJBTV9QQSArIDB4MTAwLAorCS50aW1lcgkJPSAmczNjMjR4eF90aW1lciwKKwkuaW5pdF9tYWNoaW5lCT0gbjMwX2luaXQsCisJLmluaXRfaXJxCT0gbjMwX2luaXRfaXJxLAorCS5tYXBfaW8JCT0gbjMwX21hcF9pbywKK01BQ0hJTkVfRU5ECmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLXMzYzI0MTAvbWFjaC12cjEwMDAuYyBiL2FyY2gvYXJtL21hY2gtczNjMjQxMC9tYWNoLXZyMTAwMC5jCmluZGV4IDRjNGI1YzQuLjlhMDk2NWEgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtczNjMjQxMC9tYWNoLXZyMTAwMC5jCisrKyBiL2FyY2gvYXJtL21hY2gtczNjMjQxMC9tYWNoLXZyMTAwMC5jCkBAIC0xLDYgKzEsNiBAQAogLyogbGludXgvYXJjaC9hcm0vbWFjaC1zM2MyNDEwL21hY2gtdnIxMDAwLmMKICAqCi0gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAwNSBTaW10ZWMgRWxlY3Ryb25pY3MKKyAqIENvcHlyaWdodCAoYykgMjAwMy0yMDA1LDIwMDggU2ltdGVjIEVsZWN0cm9uaWNzCiAgKiAgIEJlbiBEb29rcyA8YmVuQHNpbXRlYy5jby51az4KICAqCiAgKiBNYWNoaW5lIHN1cHBvcnQgZm9yIFRob3Jjb20gVlIxMDAwIGJvYXJkLiBEZXNpZ25lZCBmb3IgVGhvcmNvbSBieQpAQCAtMTksNiArMTksNyBAQAogI2luY2x1ZGUgPGxpbnV4L3RpbWVyLmg+CiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgogI2luY2x1ZGUgPGxpbnV4L2RtOTAwMC5oPgorI2luY2x1ZGUgPGxpbnV4L2kyYy5oPgogCiAjaW5jbHVkZSA8bGludXgvc2VyaWFsLmg+CiAjaW5jbHVkZSA8bGludXgvdHR5Lmg+CkBAIC00Niw3ICs0Nyw5IEBACiAjaW5jbHVkZSA8YXNtL3BsYXQtczNjMjR4eC9jbG9jay5oPgogI2luY2x1ZGUgPGFzbS9wbGF0LXMzYzI0eHgvZGV2cy5oPgogI2luY2x1ZGUgPGFzbS9wbGF0LXMzYzI0eHgvY3B1Lmg+CisKICNpbmNsdWRlICJ1c2Itc2ltdGVjLmgiCisjaW5jbHVkZSAibm9yLXNpbXRlYy5oIgogCiAvKiBtYWNyb3MgZm9yIHZpcnR1YWwgYWRkcmVzcyBtb2RzIGZvciB0aGUgaW8gc3BhY2UgZW50cmllcyAqLwogI2RlZmluZSBWQV9DNShpdGVtKSAoKHVuc2lnbmVkIGxvbmcpKGl0ZW0pICsgQkFTVF9WQU1fQ1M1KQpAQCAtOTcsMzQgKzEwMCw2IEBACiAJICAubGVuZ3RoCT0gU1pfMU0sCiAJICAudHlwZQkJPSBNVF9ERVZJQ0UsCiAgIH0sCi0KLSAgLyogcGVyaXBoZXJhbCBzcGFjZS4uLiBvbmUgZm9yIGVhY2ggb2YgZmFzdC9zbG93L2J5dGUvMTZiaXQgKi8KLSAgLyogbm90ZSwgaWRlIGlzIG9ubHkgZGVjb2RlZCBpbiB3b3JkIHNwYWNlLCBldmVuIHRob3VnaCBzb21lIHJlZ2lzdGVycwotICAgKiBhcmUgb25seSA4Yml0ICovCi0KLSAgLyogc2xvdywgYnl0ZSAqLwotICB7IFZBX0MyKFZSMTAwMF9WQV9JREVQUkkpLCAgUEFfQ1MzKFZSMTAwMF9QQV9JREVQUkkpLAkgIFNaXzFNLCAgTVRfREVWSUNFIH0sCi0gIHsgVkFfQzIoVlIxMDAwX1ZBX0lERVNFQyksICBQQV9DUzMoVlIxMDAwX1BBX0lERVNFQyksCSAgU1pfMU0sICBNVF9ERVZJQ0UgfSwKLSAgeyBWQV9DMihWUjEwMDBfVkFfSURFUFJJQVVYKSwgUEFfQ1MzKFZSMTAwMF9QQV9JREVQUklBVVgpLCBTWl8xTSwgTVRfREVWSUNFIH0sCi0gIHsgVkFfQzIoVlIxMDAwX1ZBX0lERVNFQ0FVWCksIFBBX0NTMyhWUjEwMDBfUEFfSURFU0VDQVVYKSwgU1pfMU0sIE1UX0RFVklDRSB9LAotCi0gIC8qIHNsb3csIHdvcmQgKi8KLSAgeyBWQV9DMyhWUjEwMDBfVkFfSURFUFJJKSwgIFBBX0NTMyhWUjEwMDBfUEFfSURFUFJJKSwJICBTWl8xTSwgIE1UX0RFVklDRSB9LAotICB7IFZBX0MzKFZSMTAwMF9WQV9JREVTRUMpLCAgUEFfQ1MzKFZSMTAwMF9QQV9JREVTRUMpLAkgIFNaXzFNLCAgTVRfREVWSUNFIH0sCi0gIHsgVkFfQzMoVlIxMDAwX1ZBX0lERVBSSUFVWCksIFBBX0NTMyhWUjEwMDBfUEFfSURFUFJJQVVYKSwgU1pfMU0sIE1UX0RFVklDRSB9LAotICB7IFZBX0MzKFZSMTAwMF9WQV9JREVTRUNBVVgpLCBQQV9DUzMoVlIxMDAwX1BBX0lERVNFQ0FVWCksIFNaXzFNLCBNVF9ERVZJQ0UgfSwKLQotICAvKiBmYXN0LCBieXRlICovCi0gIHsgVkFfQzQoVlIxMDAwX1ZBX0lERVBSSSksICBQQV9DUzUoVlIxMDAwX1BBX0lERVBSSSksCSAgU1pfMU0sICBNVF9ERVZJQ0UgfSwKLSAgeyBWQV9DNChWUjEwMDBfVkFfSURFU0VDKSwgIFBBX0NTNShWUjEwMDBfUEFfSURFU0VDKSwJICBTWl8xTSwgIE1UX0RFVklDRSB9LAotICB7IFZBX0M0KFZSMTAwMF9WQV9JREVQUklBVVgpLCBQQV9DUzUoVlIxMDAwX1BBX0lERVBSSUFVWCksIFNaXzFNLCBNVF9ERVZJQ0UgfSwKLSAgeyBWQV9DNChWUjEwMDBfVkFfSURFU0VDQVVYKSwgUEFfQ1M1KFZSMTAwMF9QQV9JREVTRUNBVVgpLCBTWl8xTSwgTVRfREVWSUNFIH0sCi0KLSAgLyogZmFzdCwgd29yZCAqLwotICB7IFZBX0M1KFZSMTAwMF9WQV9JREVQUkkpLCAgUEFfQ1M1KFZSMTAwMF9QQV9JREVQUkkpLAkgIFNaXzFNLCAgTVRfREVWSUNFIH0sCi0gIHsgVkFfQzUoVlIxMDAwX1ZBX0lERVNFQyksICBQQV9DUzUoVlIxMDAwX1BBX0lERVNFQyksCSAgU1pfMU0sICBNVF9ERVZJQ0UgfSwKLSAgeyBWQV9DNShWUjEwMDBfVkFfSURFUFJJQVVYKSwgUEFfQ1M1KFZSMTAwMF9QQV9JREVQUklBVVgpLCBTWl8xTSwgTVRfREVWSUNFIH0sCi0gIHsgVkFfQzUoVlIxMDAwX1ZBX0lERVNFQ0FVWCksIFBBX0NTNShWUjEwMDBfUEFfSURFU0VDQVVYKSwgU1pfMU0sIE1UX0RFVklDRSB9LAogfTsKIAogI2RlZmluZSBVQ09OIFMzQzI0MTBfVUNPTl9ERUZBVUxUIHwgUzNDMjQxMF9VQ09OX1VDTEsKQEAgLTIzMCwyMyArMjA1LDYgQEAKIAl9LAogfTsKIAotLyogTVREIE5PUiBGbGFzaCAqLwotCi1zdGF0aWMgc3RydWN0IHJlc291cmNlIHZyMTAwMF9ub3JfcmVzb3VyY2VbXSA9IHsKLQlbMF0gPSB7Ci0JCS5zdGFydAk9IFMzQzI0MTBfQ1MxICsgMHg0MDAwMDAwLAotCQkuZW5kCT0gUzNDMjQxMF9DUzEgKyAweDQwMDAwMDAgKyBTWl8xNk0gLSAxLAotCQkuZmxhZ3MJPSBJT1JFU09VUkNFX01FTSwKLQl9Ci19OwotCi1zdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSB2cjEwMDBfbm9yID0gewotCS5uYW1lCQk9ICJiYXN0LW5vciIsCi0JLmlkCQk9IC0xLAotCS5udW1fcmVzb3VyY2VzCT0gQVJSQVlfU0laRSh2cjEwMDBfbm9yX3Jlc291cmNlKSwKLQkucmVzb3VyY2UJPSB2cjEwMDBfbm9yX3Jlc291cmNlLAotfTsKLQogLyogRE05MDAwIGV0aGVybmV0IGRldmljZXMgKi8KIAogc3RhdGljIHN0cnVjdCByZXNvdXJjZSB2cjEwMDBfZG05azBfcmVzb3VyY2VbXSA9IHsKQEAgLTI2Myw3ICsyMjEsNyBAQAogCVsyXSA9IHsKIAkJLnN0YXJ0ID0gSVJRX1ZSMTAwMF9ETTkwMDBBLAogCQkuZW5kICAgPSBJUlFfVlIxMDAwX0RNOTAwMEEsCi0JCS5mbGFncyA9IElPUkVTT1VSQ0VfSVJRIHwgSVJRRl9UUklHR0VSX0hJR0gsCisJCS5mbGFncyA9IElPUkVTT1VSQ0VfSVJRIHwgSU9SRVNPVVJDRV9JUlFfSElHSExFVkVMLAogCX0KIAogfTsKQEAgLTI4Miw3ICsyNDAsNyBAQAogCVsyXSA9IHsKIAkJLnN0YXJ0ID0gSVJRX1ZSMTAwMF9ETTkwMDBOLAogCQkuZW5kICAgPSBJUlFfVlIxMDAwX0RNOTAwME4sCi0JCS5mbGFncyA9IElPUkVTT1VSQ0VfSVJRIHwgSVJRRl9UUklHR0VSX0hJR0gsCisJCS5mbGFncyA9IElPUkVTT1VSQ0VfSVJRIHwgSU9SRVNPVVJDRV9JUlFfSElHSExFVkVMLAogCX0KIH07CiAKQEAgLTM1OCw2ICszMTYsMTggQEAKIAl9LAogfTsKIAorLyogSTJDIGRldmljZXMuICovCisKK3N0YXRpYyBzdHJ1Y3QgaTJjX2JvYXJkX2luZm8gdnIxMDAwX2kyY19kZXZzW10gX19pbml0ZGF0YSA9IHsKKwl7CisJCUkyQ19CT0FSRF9JTkZPKCJ0bHYzMjBhaWMyMyIsIDB4MWEpLAorCX0sIHsKKwkJSTJDX0JPQVJEX0lORk8oInRtcDEwMSIsIDB4NDgpLAorCX0sIHsKKwkJSTJDX0JPQVJEX0lORk8oIm00MXN0ODciLCAweDY4KSwKKwl9LAorfTsKKwogLyogZGV2aWNlcyBmb3IgdGhpcyBib2FyZCAqLwogCiBzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSAqdnIxMDAwX2RldmljZXNbXSBfX2luaXRkYXRhID0gewpAQCAtMzY3LDcgKzMzNyw2IEBACiAJJnMzY19kZXZpY2VfaTJjLAogCSZzM2NfZGV2aWNlX2FkYywKIAkmc2VyaWFsX2RldmljZSwKLQkmdnIxMDAwX25vciwKIAkmdnIxMDAwX2RtOWswLAogCSZ2cjEwMDBfZG05azEsCiAJJnZyMTAwMF9sZWQxLApAQCAtNDE2LDYgKzM4NSwxMSBAQAogc3RhdGljIHZvaWQgX19pbml0IHZyMTAwMF9pbml0KHZvaWQpCiB7CiAJcGxhdGZvcm1fYWRkX2RldmljZXModnIxMDAwX2RldmljZXMsIEFSUkFZX1NJWkUodnIxMDAwX2RldmljZXMpKTsKKworCWkyY19yZWdpc3Rlcl9ib2FyZF9pbmZvKDAsIHZyMTAwMF9pMmNfZGV2cywKKwkJCQlBUlJBWV9TSVpFKHZyMTAwMF9pMmNfZGV2cykpOworCisJbm9yX3NpbXRlY19pbml0KCk7CiB9CiAKIE1BQ0hJTkVfU1RBUlQoVlIxMDAwLCAiVGhvcmNvbS1WUjEwMDAiKQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1zM2MyNDEwL25vci1zaW10ZWMuYyBiL2FyY2gvYXJtL21hY2gtczNjMjQxMC9ub3Itc2ltdGVjLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjQ0ZTIxYgotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gtczNjMjQxMC9ub3Itc2ltdGVjLmMKQEAgLTAsMCArMSw4NiBAQAorLyogbGludXgvYXJjaC9hcm0vbWFjaC1zM2MyNDEwL25vci1zaW10ZWMuYworICoKKyAqIENvcHlyaWdodCAoYykgMjAwOCBTaW10ZWMgRWxlY3Ryb25pY3MKKyAqCWh0dHA6Ly9hcm1saW51eC5zaW10ZWMuY28udWsvCisgKglCZW4gRG9va3MgPGJlbkBzaW10ZWMuY28udWs+CisgKgorICogU2ltdGVjIE5PUiBtYXBwaW5nCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCisgKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyovCisKKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KKworI2luY2x1ZGUgPGxpbnV4L210ZC9tdGQuaD4KKyNpbmNsdWRlIDxsaW51eC9tdGQvbWFwLmg+CisjaW5jbHVkZSA8bGludXgvbXRkL3BoeXNtYXAuaD4KKyNpbmNsdWRlIDxsaW51eC9tdGQvcGFydGl0aW9ucy5oPgorCisjaW5jbHVkZSA8YXNtL21hY2gvYXJjaC5oPgorI2luY2x1ZGUgPGFzbS9tYWNoL21hcC5oPgorI2luY2x1ZGUgPGFzbS9tYWNoL2lycS5oPgorCisjaW5jbHVkZSA8YXNtL2FyY2gvbWFwLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvYmFzdC1tYXAuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9iYXN0LWNwbGQuaD4KKworCitzdGF0aWMgdm9pZCBzaW10ZWNfbm9yX3ZwcChzdHJ1Y3QgbWFwX2luZm8gKm1hcCwgaW50IHZwcCkKK3sKKwl1bnNpZ25lZCBpbnQgdmFsOworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisKKwlsb2NhbF9pcnFfc2F2ZShmbGFncyk7CisJdmFsID0gX19yYXdfcmVhZGIoQkFTVF9WQV9DVFJMMyk7CisKKwlwcmludGsoS0VSTl9ERUJVRyAiJXMoJWQpXG4iLCBfX2Z1bmNfXywgdnBwKTsKKworCWlmICh2cHApCisJCXZhbCB8PSBCQVNUX0NQTERfQ1RSTDNfUk9NV0VOOworCWVsc2UKKwkJdmFsICY9IH5CQVNUX0NQTERfQ1RSTDNfUk9NV0VOOworCisJX19yYXdfd3JpdGViKHZhbCwgQkFTVF9WQV9DVFJMMyk7CisJbG9jYWxfaXJxX3Jlc3RvcmUoZmxhZ3MpOworfQorCitzdHJ1Y3QgcGh5c21hcF9mbGFzaF9kYXRhIHNpbXRlY19ub3JfcGRhdGEgPSB7CisJLndpZHRoCQk9IDIsCisJLnNldF92cHAJPSBzaW10ZWNfbm9yX3ZwcCwKKwkubnJfcGFydHMJPSAwLAorfTsKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSBzaW10ZWNfbm9yX3Jlc291cmNlW10gPSB7CisJWzBdID0geworCQkuc3RhcnQgPSBTM0MyNDEwX0NTMSArIDB4NDAwMDAwMCwKKwkJLmVuZCAgID0gUzNDMjQxMF9DUzEgKyAweDQwMDAwMDAgKyBTWl84TSAtIDEsCisJCS5mbGFncyA9IElPUkVTT1VSQ0VfTUVNLAorCX0KK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIHNpbXRlY19kZXZpY2Vfbm9yID0geworCS5uYW1lCQk9ICJwaHlzbWFwLWZsYXNoIiwKKwkuaWQJCT0gLTEsCisJLm51bV9yZXNvdXJjZXMJPSBBUlJBWV9TSVpFKHNpbXRlY19ub3JfcmVzb3VyY2UpLAorCS5yZXNvdXJjZQk9IHNpbXRlY19ub3JfcmVzb3VyY2UsCisJLmRldgkJPSB7CisJCS5wbGF0Zm9ybV9kYXRhID0gJnNpbXRlY19ub3JfcGRhdGEsCisJfSwKK307CisKK3ZvaWQgX19pbml0IG5vcl9zaW10ZWNfaW5pdCh2b2lkKQoreworCWludCByZXQ7CisKKwlyZXQgPSBwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJnNpbXRlY19kZXZpY2Vfbm9yKTsKKwlpZiAocmV0IDwgMCkKKwkJcHJpbnRrKEtFUk5fRVJSICJmYWlsZWQgdG8gcmVnaXN0ZXIgcGh5c21hcC1mbGFzaCBkZXZpY2VcbiIpOworCWVsc2UKKwkJc2ltdGVjX25vcl92cHAoTlVMTCwgMSk7Cit9CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLXMzYzI0MTAvbm9yLXNpbXRlYy5oIGIvYXJjaC9hcm0vbWFjaC1zM2MyNDEwL25vci1zaW10ZWMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNjE5YzFlCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vbWFjaC1zM2MyNDEwL25vci1zaW10ZWMuaApAQCAtMCwwICsxLDE0IEBACisvKiBsaW51eC9hcmNoL2FybS9tYWNoLXMzYzI0MTAvbm9yLXNpbXRlYy5oCisgKgorICogQ29weXJpZ2h0IChjKSAyMDA4IFNpbXRlYyBFbGVjdHJvbmljcworICoJaHR0cDovL2FybWxpbnV4LnNpbXRlYy5jby51ay8KKyAqCUJlbiBEb29rcyA8YmVuQHNpbXRlYy5jby51az4KKyAqCisgKiBTaW10ZWMgTk9SIG1hcHBpbmcKKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMKKyAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorKi8KKworZXh0ZXJuIHZvaWQgbm9yX3NpbXRlY19pbml0KHZvaWQpOwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1zM2MyNDEyL0tjb25maWcgYi9hcmNoL2FybS9tYWNoLXMzYzI0MTIvS2NvbmZpZwppbmRleCAwYjQzNDMxLi5jNTlhOWQyIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLXMzYzI0MTIvS2NvbmZpZworKysgYi9hcmNoL2FybS9tYWNoLXMzYzI0MTIvS2NvbmZpZwpAQCAtMzQsNiArMzQsMTYgQEAKIAogbWVudSAiUzNDMjQxMiBNYWNoaW5lcyIKIAorY29uZmlnIE1BQ0hfSklWRQorCWJvb2wgIkxvZ2l0ZWNoIEppdmUiCisJc2VsZWN0IENQVV9TM0MyNDEyCisJaGVscAorCSAgU2F5IFkgaGVyZSBpZiB5b3UgYXJlIHVzaW5nIHRoZSBMb2dpdGVjaCBKaXZlLgorCitjb25maWcgTUFDSF9KSVZFX1NIT1dfQk9PVExPQURFUgorCWJvb2wgIkFsbG93IGFjY2VzcyB0byBib290bG9hZGVyIHBhcnRpdGlvbnMgaW4gTVREIgorCWRlcGVuZHMgb24gTUFDSF9KSVZFICYmIEVYUEVSSU1FTlRBTAorCiBjb25maWcgTUFDSF9TTURLMjQxMwogCWJvb2wgIlNNREsyNDEzIgogCXNlbGVjdCBDUFVfUzNDMjQxMgpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1zM2MyNDEyL01ha2VmaWxlIGIvYXJjaC9hcm0vbWFjaC1zM2MyNDEyL01ha2VmaWxlCmluZGV4IDI2N2YzMzQuLjIwOTE4ZDUgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtczNjMjQxMi9NYWtlZmlsZQorKysgYi9hcmNoL2FybS9tYWNoLXMzYzI0MTIvTWFrZWZpbGUKQEAgLTE4LDUgKzE4LDYgQEAKIAogIyBNYWNoaW5lIHN1cHBvcnQKIAorb2JqLSQoQ09ORklHX01BQ0hfSklWRSkJCSs9IG1hY2gtaml2ZS5vCiBvYmotJChDT05GSUdfTUFDSF9TTURLMjQxMykJKz0gbWFjaC1zbWRrMjQxMy5vCiBvYmotJChDT05GSUdfTUFDSF9WU1RNUykJKz0gbWFjaC12c3Rtcy5vCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLXMzYzI0MTIvY2xvY2suYyBiL2FyY2gvYXJtL21hY2gtczNjMjQxMi9jbG9jay5jCmluZGV4IDI2OTdhNjUuLjExNTdiNWEgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtczNjMjQxMi9jbG9jay5jCisrKyBiL2FyY2gvYXJtL21hY2gtczNjMjQxMi9jbG9jay5jCkBAIC02MzEsNiArNjMxLDE3IEBACiAJCS5iaXQJPSBTM0MyNDEyX0NMS1NSQ19VU0JDTEtfSENMSywKIAkJLnNyY18wCT0gJmNsa191c3lzY2xrLAogCQkuc3JjXzEJPSAmY2xrX2gsCisJLyogaGVyZSB3ZSBhc3N1bWUgIE9NWzRdIHNlbGVjdCB4dGFsICovCisJfSwgeworCQkuY2xrCT0gJmNsa19lcmVmY2xrLAorCQkuYml0CT0gUzNDMjQxMl9DTEtTUkNfRVJFRkNMS19FWFRDTEssCisJCS5zcmNfMAk9ICZjbGtfeHRhbCwKKwkJLnNyY18xCT0gJmNsa19leHQsCisJfSwgeworCQkuY2xrCT0gJmNsa191cmVmY2xrLAorCQkuYml0CT0gUzNDMjQxMl9DTEtTUkNfVVJFRkNMS19FWFRDTEssCisJCS5zcmNfMAk9ICZjbGtfeHRhbCwKKwkJLnNyY18xCT0gJmNsa19leHQsCiAJfSwKIH07CiAKQEAgLTY2Niw4ICs2NzcsNiBAQAogc3RhdGljIHN0cnVjdCBjbGsgKmNsa3NbXSBfX2luaXRkYXRhID0gewogCSZjbGtfZXh0LAogCSZjbGtfdXNiX2J1cywKLQkmY2xrX2VyZWZjbGssCi0JJmNsa191cmVmY2xrLAogCSZjbGtfbXJlZmNsaywKIAkmY2xrX2FybWNsaywKIH07CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLXMzYzI0MTIvbWFjaC1qaXZlLmMgYi9hcmNoL2FybS9tYWNoLXMzYzI0MTIvbWFjaC1qaXZlLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2Y1OTI0NwotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gtczNjMjQxMi9tYWNoLWppdmUuYwpAQCAtMCwwICsxLDY4NyBAQAorLyogbGludXgvYXJjaC9hcm0vbWFjaC1zM2MyNDEwL21hY2gtaml2ZS5jCisgKgorICogQ29weXJpZ2h0IDIwMDcgU2ltdGVjIEVsZWN0cm9uaWNzCisgKglCZW4gRG9va3MgPGJlbkBzaW10ZWMuY28udWs+CisgKgorICogaHR0cDovL2FybWxpbnV4LnNpbXRlYy5jby51ay8KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMKKyAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorKi8KKworI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CisjaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+CisjaW5jbHVkZSA8bGludXgvbGlzdC5oPgorI2luY2x1ZGUgPGxpbnV4L3RpbWVyLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L3N5c2Rldi5oPgorI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+CisjaW5jbHVkZSA8bGludXgvc2VyaWFsX2NvcmUuaD4KKyNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9pMmMuaD4KKworI2luY2x1ZGUgPHZpZGVvL2lsaTkzMjAuaD4KKworI2luY2x1ZGUgPGxpbnV4L3NwaS9zcGkuaD4KKworI2luY2x1ZGUgPGxpbnV4L210ZC9tdGQuaD4KKyNpbmNsdWRlIDxsaW51eC9tdGQvcGFydGl0aW9ucy5oPgorCisjaW5jbHVkZSA8YXNtL21hY2gvYXJjaC5oPgorI2luY2x1ZGUgPGFzbS9tYWNoL21hcC5oPgorI2luY2x1ZGUgPGFzbS9tYWNoL2lycS5oPgorCisjaW5jbHVkZSA8YXNtL3BsYXQtczNjL3JlZ3Mtc2VyaWFsLmg+CisjaW5jbHVkZSA8YXNtL3BsYXQtczNjL25hbmQuaD4KKyNpbmNsdWRlIDxhc20vcGxhdC1zM2MvaWljLmg+CisKKyNpbmNsdWRlIDxhc20vYXJjaC9yZWdzLXBvd2VyLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvcmVncy1ncGlvLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvcmVncy1tZW0uaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9yZWdzLWxjZC5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL3NwaS1ncGlvLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvZmIuaD4KKworI2luY2x1ZGUgPGFzbS9tYWNoLXR5cGVzLmg+CisKKyNpbmNsdWRlIDxsaW51eC9tdGQvbXRkLmg+CisjaW5jbHVkZSA8bGludXgvbXRkL25hbmQuaD4KKyNpbmNsdWRlIDxsaW51eC9tdGQvbmFuZF9lY2MuaD4KKyNpbmNsdWRlIDxsaW51eC9tdGQvcGFydGl0aW9ucy5oPgorCisjaW5jbHVkZSA8YXNtL3BsYXQtczNjMjR4eC9jbG9jay5oPgorI2luY2x1ZGUgPGFzbS9wbGF0LXMzYzI0eHgvZGV2cy5oPgorI2luY2x1ZGUgPGFzbS9wbGF0LXMzYzI0eHgvY3B1Lmg+CisjaW5jbHVkZSA8YXNtL3BsYXQtczNjMjR4eC9wbS5oPgorI2luY2x1ZGUgPGFzbS9wbGF0LXMzYzI0eHgvdWRjLmg+CisKK3N0YXRpYyBzdHJ1Y3QgbWFwX2Rlc2Mgaml2ZV9pb2Rlc2NbXSBfX2luaXRkYXRhID0geworfTsKKworI2RlZmluZSBVQ09OIFMzQzI0MTBfVUNPTl9ERUZBVUxUCisjZGVmaW5lIFVMQ09OIFMzQzI0MTBfTENPTl9DUzggfCBTM0MyNDEwX0xDT05fUE5PTkUKKyNkZWZpbmUgVUZDT04gUzNDMjQxMF9VRkNPTl9SWFRSSUc4IHwgUzNDMjQxMF9VRkNPTl9GSUZPTU9ERQorCitzdGF0aWMgc3RydWN0IHMzYzI0MTBfdWFydGNmZyBqaXZlX3VhcnRjZmdzW10gPSB7CisJWzBdID0geworCQkuaHdwb3J0CSAgICAgPSAwLAorCQkuZmxhZ3MJICAgICA9IDAsCisJCS51Y29uCSAgICAgPSBVQ09OLAorCQkudWxjb24JICAgICA9IFVMQ09OLAorCQkudWZjb24JICAgICA9IFVGQ09OLAorCX0sCisJWzFdID0geworCQkuaHdwb3J0CSAgICAgPSAxLAorCQkuZmxhZ3MJICAgICA9IDAsCisJCS51Y29uCSAgICAgPSBVQ09OLAorCQkudWxjb24JICAgICA9IFVMQ09OLAorCQkudWZjb24JICAgICA9IFVGQ09OLAorCX0sCisJWzJdID0geworCQkuaHdwb3J0CSAgICAgPSAyLAorCQkuZmxhZ3MJICAgICA9IDAsCisJCS51Y29uCSAgICAgPSBVQ09OLAorCQkudWxjb24JICAgICA9IFVMQ09OLAorCQkudWZjb24JICAgICA9IFVGQ09OLAorCX0KK307CisKKy8qIEppdmUgZmxhc2ggYXNzaWdubWVudAorICoKKyAqIDB4MDAwMDAwMDAtMHgwMDAyODAwMCA6IHVib290CisgKiAweDAwMDI4MDAwLTB4MDAwMmMwMDAgOiB1Ym9vdCBlbnYKKyAqIDB4MDAwMmMwMDAtMHgwMDAzMDAwMCA6IHNwYXJlCisgKiAweDAwMDMwMDAwLTB4MDAyMDAwMDAgOiB6aW1hZ2UgQQorICogMHgwMDIwMDAwMC0weDAxNjAwMDAwIDogY3JhbWZzIEEKKyAqIDB4MDE2MDAwMDAtMHgwMTdkMDAwMCA6IHppbWFnZSBCCisgKiAweDAxN2QwMDAwLTB4MDJiZDAwMDAgOiBjcmFtZnMgQgorICogMHgwMmJkMDAwMC0weDAzZmQwMDAwIDogeWFmZnMKKyAqLworc3RhdGljIHN0cnVjdCBtdGRfcGFydGl0aW9uIGppdmVfaW1hZ2VBX25hbmRfcGFydFtdID0geworCisjaWZkZWYgQ09ORklHX01BQ0hfSklWRV9TSE9XX0JPT1RMT0FERVIKKwkvKiBEb24ndCBhbGxvdyBhY2Nlc3MgdG8gdGhlIGJvb3Rsb2FkZXIgZnJvbSBsaW51eCAqLworCXsKKwkJLm5hbWUgICAgICAgICAgID0gInVib290IiwKKwkJLm9mZnNldCAgICAgICAgID0gMCwKKwkJLnNpemUgICAgICAgICAgID0gKDE2MCAqIFNaXzFLKSwKKwkJLm1hc2tfZmxhZ3MJPSBNVERfV1JJVEVBQkxFLCAvKiBmb3JjZSByZWFkLW9ubHkgKi8KKwl9LAorCisJLyogc3BhcmUgKi8KKyAgICAgICAgeworICAgICAgICAgICAgICAgIC5uYW1lICAgICAgICAgICA9ICJzcGFyZSIsCisgICAgICAgICAgICAgICAgLm9mZnNldCAgICAgICAgID0gKDE3NiAqIFNaXzFLKSwKKyAgICAgICAgICAgICAgICAuc2l6ZSAgICAgICAgICAgPSAoMTYgKiBTWl8xSyksCisgICAgICAgIH0sCisjZW5kaWYKKworCS8qIGJvb3RlZCBpbWFnZXMgKi8KKyAgICAgICAgeworCQkubmFtZQkJPSAia2VybmVsIChybykiLAorCQkub2Zmc2V0CQk9ICgxOTIgKiBTWl8xSyksCisJCS5zaXplCQk9IChTWl8yTSkgLSAoMTkyICogU1pfMUspLAorCQkubWFza19mbGFncwk9IE1URF9XUklURUFCTEUsIC8qIGZvcmNlIHJlYWQtb25seSAqLworICAgICAgICB9LCB7CisgICAgICAgICAgICAgICAgLm5hbWUgICAgICAgICAgID0gInJvb3QgKHJvKSIsCisgICAgICAgICAgICAgICAgLm9mZnNldCAgICAgICAgID0gKFNaXzJNKSwKKyAgICAgICAgICAgICAgICAuc2l6ZSAgICAgICAgICAgPSAoMjAgKiBTWl8xTSksCisJCS5tYXNrX2ZsYWdzCT0gTVREX1dSSVRFQUJMRSwgLyogZm9yY2UgcmVhZC1vbmx5ICovCisgICAgICAgIH0sCisKKwkvKiB5YWZmcyAqLworCXsKKwkJLm5hbWUJCT0gInlhZmZzIiwKKwkJLm9mZnNldAkJPSAoNDQgKiBTWl8xTSksCisJCS5zaXplCQk9ICgyMCAqIFNaXzFNKSwKKwl9LAorCisJLyogYm9vdGxvYWRlciBlbnZpcm9ubWVudCAqLworCXsKKyAgICAgICAgICAgICAgICAubmFtZQkJPSAiZW52IiwKKwkJLm9mZnNldAkJPSAoMTYwICogU1pfMUspLAorCQkuc2l6ZQkJPSAoMTYgKiBTWl8xSyksCisJfSwKKworCS8qIHVwZ3JhZGUgaW1hZ2VzICovCisgICAgICAgIHsKKwkJLm5hbWUJCT0gInppbWFnZSIsCisJCS5vZmZzZXQJCT0gKDIyICogU1pfMU0pLAorCQkuc2l6ZQkJPSAoMiAqIFNaXzFNKSAtICgxOTIgKiBTWl8xSyksCisgICAgICAgIH0sIHsKKwkJLm5hbWUJCT0gImNyYW1mcyIsCisJCS5vZmZzZXQJCT0gKDI0ICogU1pfMU0pIC0gKDE5MipTWl8xSyksCisJCS5zaXplCQk9ICgyMCAqIFNaXzFNKSwKKyAgICAgICAgfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgbXRkX3BhcnRpdGlvbiBqaXZlX2ltYWdlQl9uYW5kX3BhcnRbXSA9IHsKKworI2lmZGVmIENPTkZJR19NQUNIX0pJVkVfU0hPV19CT09UTE9BREVSCisJLyogRG9uJ3QgYWxsb3cgYWNjZXNzIHRvIHRoZSBib290bG9hZGVyIGZyb20gbGludXggKi8KKwl7CisJCS5uYW1lICAgICAgICAgICA9ICJ1Ym9vdCIsCisJCS5vZmZzZXQgICAgICAgICA9IDAsCisJCS5zaXplICAgICAgICAgICA9ICgxNjAgKiBTWl8xSyksCisJCS5tYXNrX2ZsYWdzCT0gTVREX1dSSVRFQUJMRSwgLyogZm9yY2UgcmVhZC1vbmx5ICovCisJfSwKKworCS8qIHNwYXJlICovCisgICAgICAgIHsKKyAgICAgICAgICAgICAgICAubmFtZSAgICAgICAgICAgPSAic3BhcmUiLAorICAgICAgICAgICAgICAgIC5vZmZzZXQgICAgICAgICA9ICgxNzYgKiBTWl8xSyksCisgICAgICAgICAgICAgICAgLnNpemUgICAgICAgICAgID0gKDE2ICogU1pfMUspLAorICAgICAgICB9LAorI2VuZGlmCisKKwkvKiBib290ZWQgaW1hZ2VzICovCisgICAgICAgIHsKKwkJLm5hbWUgICAgICAgICAgID0gImtlcm5lbCAocm8pIiwKKwkJLm9mZnNldCAgICAgICAgID0gKDIyICogU1pfMU0pLAorCQkuc2l6ZSAgICAgICAgICAgPSAoMiAqIFNaXzFNKSAtICgxOTIgKiBTWl8xSyksCisJCS5tYXNrX2ZsYWdzCT0gTVREX1dSSVRFQUJMRSwgLyogZm9yY2UgcmVhZC1vbmx5ICovCisgICAgICAgIH0sCisJeworCQkubmFtZQkJPSAicm9vdCAocm8pIiwKKwkJLm9mZnNldAkJPSAoMjQgKiBTWl8xTSkgLSAoMTkyICogU1pfMUspLAorICAgICAgICAgICAgICAgIC5zaXplCQk9ICgyMCAqIFNaXzFNKSwKKwkJLm1hc2tfZmxhZ3MJPSBNVERfV1JJVEVBQkxFLCAvKiBmb3JjZSByZWFkLW9ubHkgKi8KKwl9LAorCisJLyogeWFmZnMgKi8KKwl7CisJCS5uYW1lCQk9ICJ5YWZmcyIsCisJCS5vZmZzZXQJCT0gKDQ0ICogU1pfMU0pLAorCQkuc2l6ZQkJPSAoMjAgKiBTWl8xTSksCisgICAgICAgIH0sCisKKwkvKiBib290bG9hZGVyIGVudmlyb25tZW50ICovCisJeworCQkubmFtZQkJPSAiZW52IiwKKwkJLm9mZnNldAkJPSAoMTYwICogU1pfMUspLAorCQkuc2l6ZQkJPSAoMTYgKiBTWl8xSyksCisJfSwKKworCS8qIHVwZ3JhZGUgaW1hZ2VzICovCisJeworCQkubmFtZQkJPSAiemltYWdlIiwKKwkJLm9mZnNldAkJPSAoMTkyICogU1pfMUspLAorCQkuc2l6ZQkJPSAoMiAqIFNaXzFNKSAtICgxOTIgKiBTWl8xSyksCisgICAgICAgIH0sIHsKKwkJLm5hbWUJCT0gImNyYW1mcyIsCisJCS5vZmZzZXQJCT0gKDIgKiBTWl8xTSksCisJCS5zaXplCQk9ICgyMCAqIFNaXzFNKSwKKyAgICAgICAgfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgczNjMjQxMF9uYW5kX3NldCBqaXZlX25hbmRfc2V0c1tdID0geworCVswXSA9IHsKKwkJLm5hbWUgICAgICAgICAgID0gImZsYXNoIiwKKwkJLm5yX2NoaXBzICAgICAgID0gMSwKKwkJLm5yX3BhcnRpdGlvbnMgID0gQVJSQVlfU0laRShqaXZlX2ltYWdlQV9uYW5kX3BhcnQpLAorCQkucGFydGl0aW9ucyAgICAgPSBqaXZlX2ltYWdlQV9uYW5kX3BhcnQsCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgczNjMjQxMF9wbGF0Zm9ybV9uYW5kIGppdmVfbmFuZF9pbmZvID0geworCS8qIHNldCB0YWtlbiBmcm9tIG9zaXJpcyBuYW5kIHRpbWluZ3MsIHBvc3NpYmx5IHN0aWxsIGNvbnNlcnZhdGl2ZSAqLworCS50YWNscwkJPSAzMCwKKwkudHdycGgwCQk9IDU1LAorCS50d3JwaDEJCT0gNDAsCisJLnNldHMJCT0gaml2ZV9uYW5kX3NldHMsCisJLm5yX3NldHMJPSBBUlJBWV9TSVpFKGppdmVfbmFuZF9zZXRzKSwKK307CisKK3N0YXRpYyBpbnQgX19pbml0IGppdmVfbXRkc2V0KGNoYXIgKm9wdGlvbnMpCit7CisJc3RydWN0IHMzYzI0MTBfbmFuZF9zZXQgKm5hbmQgPSAmaml2ZV9uYW5kX3NldHNbMF07CisJdW5zaWduZWQgbG9uZyBzZXQ7CisKKwlpZiAob3B0aW9ucyA9PSBOVUxMIHx8IG9wdGlvbnNbMF0gPT0gJ1wwJykKKwkJcmV0dXJuIDA7CisKKwlpZiAoc3RyaWN0X3N0cnRvdWwob3B0aW9ucywgMTAsICZzZXQpKSB7CisJCXByaW50ayhLRVJOX0VSUiAiZmFpbGVkIHRvIHBhcnNlIG10ZHNldD0lc1xuIiwgb3B0aW9ucyk7CisJCXJldHVybiAwOworCX0KKworCXN3aXRjaCAoc2V0KSB7CisJY2FzZSAxOgorCQluYW5kLT5ucl9wYXJ0aXRpb25zID0gQVJSQVlfU0laRShqaXZlX2ltYWdlQl9uYW5kX3BhcnQpOworCQluYW5kLT5wYXJ0aXRpb25zID0gaml2ZV9pbWFnZUJfbmFuZF9wYXJ0OworCWNhc2UgMDoKKwkJLyogdGhpcyBpcyBhbHJlYWR5IHNldHVwIGluIHRoZSBuYW5kIGluZm8gKi8KKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJcHJpbnRrKEtFUk5fRVJSICJVbmtub3duIG10ZCBzZXQgJWxkIHNwZWNpZmllZCwiCisJCSAgICAgICAidXNpbmcgZGVmYXVsdC4iLCBzZXQpOworCX0KKworCXJldHVybiAwOworfQorCisvKiBwYXJzZSB0aGUgbXRkc2V0PSBvcHRpb24gZ2l2ZW4gdG8gdGhlIGtlcm5lbCBjb21tYW5kIGxpbmUgKi8KK19fc2V0dXAoIm10ZHNldD0iLCBqaXZlX210ZHNldCk7CisKKy8qIExDRCB0aW1pbmcgYW5kIHNldHVwICovCisKKyNkZWZpbmUgTENEX1hSRVMJICgyNDApCisjZGVmaW5lIExDRF9ZUkVTCSAoMzIwKQorI2RlZmluZSBMQ0RfTEVGVF9NQVJHSU4gICgxMikKKyNkZWZpbmUgTENEX1JJR0hUX01BUkdJTiAoMTIpCisjZGVmaW5lIExDRF9MT1dFUl9NQVJHSU4gKDEyKQorI2RlZmluZSBMQ0RfVVBQRVJfTUFSR0lOICgxMikKKyNkZWZpbmUgTENEX1ZTWU5DCSAoMikKKyNkZWZpbmUgTENEX0hTWU5DCSAoMikKKworI2RlZmluZSBMQ0RfUkVGUkVTSAkgKDYwKQorCisjZGVmaW5lIExDRF9IVE9UIChMQ0RfSFNZTkMgKyBMQ0RfTEVGVF9NQVJHSU4gKyBMQ0RfWFJFUyArIExDRF9SSUdIVF9NQVJHSU4pCisjZGVmaW5lIExDRF9WVE9UIChMQ0RfVlNZTkMgKyBMQ0RfTE9XRVJfTUFSR0lOICsgTENEX1lSRVMgKyBMQ0RfVVBQRVJfTUFSR0lOKQorCitzdHJ1Y3QgczNjMjQxMGZiX2Rpc3BsYXkgaml2ZV92Z2cyNDMyYTRfZGlzcGxheVtdID0geworCVswXSA9IHsKKwkJLndpZHRoCQk9IExDRF9YUkVTLAorCQkuaGVpZ2h0CQk9IExDRF9ZUkVTLAorCQkueHJlcwkJPSBMQ0RfWFJFUywKKwkJLnlyZXMJCT0gTENEX1lSRVMsCisJCS5sZWZ0X21hcmdpbgk9IExDRF9MRUZUX01BUkdJTiwKKwkJLnJpZ2h0X21hcmdpbgk9IExDRF9SSUdIVF9NQVJHSU4sCisJCS51cHBlcl9tYXJnaW4JPSBMQ0RfVVBQRVJfTUFSR0lOLAorCQkubG93ZXJfbWFyZ2luCT0gTENEX0xPV0VSX01BUkdJTiwKKwkJLmhzeW5jX2xlbgk9IExDRF9IU1lOQywKKwkJLnZzeW5jX2xlbgk9IExDRF9WU1lOQywKKworCQkucGl4Y2xvY2sJPSAoMTAwMDAwMDAwMDAwMExMIC8KKwkJCQkgICAoTENEX1JFRlJFU0ggKiBMQ0RfSFRPVCAqIExDRF9WVE9UKSksCisKKwkJLmJwcAkJPSAxNiwKKwkJLnR5cGUJCT0gKFMzQzI0MTBfTENEQ09OMV9URlQxNkJQUCB8CisJCQkJICAgUzNDMjQxMF9MQ0RDT04xX1RGVCksCisKKwkJLmxjZGNvbjUJPSAoUzNDMjQxMF9MQ0RDT041X0ZSTTU2NSB8CisJCQkJICAgUzNDMjQxMF9MQ0RDT041X0lOVlZMSU5FIHwKKwkJCQkgICBTM0MyNDEwX0xDRENPTjVfSU5WVkZSQU1FIHwKKwkJCQkgICBTM0MyNDEwX0xDRENPTjVfSU5WVkRFTiB8CisJCQkJICAgUzNDMjQxMF9MQ0RDT041X1BXUkVOKSwKKwl9LAorfTsKKworLyogdG9kbyAtIHB1dCBpbnRvIGdwaW8gaGVhZGVyICovCisKKyNkZWZpbmUgUzNDMjQxMF9HUENDT05fTUFTSyh4KQkoMyA8PCAoKHgpICogMikpCisjZGVmaW5lIFMzQzI0MTBfR1BEQ09OX01BU0soeCkJKDMgPDwgKCh4KSAqIDIpKQorCitzdHJ1Y3QgczNjMjQxMGZiX21hY2hfaW5mbyBqaXZlX2xjZF9jb25maWcgPSB7CisJLmRpc3BsYXlzCSA9IGppdmVfdmdnMjQzMmE0X2Rpc3BsYXksCisJLm51bV9kaXNwbGF5cwkgPSBBUlJBWV9TSVpFKGppdmVfdmdnMjQzMmE0X2Rpc3BsYXkpLAorCS5kZWZhdWx0X2Rpc3BsYXkgPSAwLAorCisJLyogRW5hYmxlIFZEWzIuLjddLCBWRFsxMC4uMTVdLCBWRFsxOC4uMjNdIGFuZCBWQ0xLLCBzeW5jcywgVkRFTgorCSAqIGFuZCBkaXNhYmxlIHRoZSBwdWxsIGRvd24gcmVzaXN0b3JzIG9uIHBpbnMgd2UgYXJlIHVzaW5nIGZvciBMQ0QKKwkgKiBkYXRhLiAqLworCisJLmdwY3VwCQk9ICgweGYgPDwgMSkgfCAoMHgzZiA8PCAxMCksCisKKwkuZ3BjY29uCQk9IChTM0MyNDEwX0dQQzFfVkNMSyAgIHwgUzNDMjQxMF9HUEMyX1ZMSU5FIHwKKwkJCSAgIFMzQzI0MTBfR1BDM19WRlJBTUUgfCBTM0MyNDEwX0dQQzRfVk0gfAorCQkJICAgUzNDMjQxMF9HUEMxMF9WRDIgICB8IFMzQzI0MTBfR1BDMTFfVkQzIHwKKwkJCSAgIFMzQzI0MTBfR1BDMTJfVkQ0ICAgfCBTM0MyNDEwX0dQQzEzX1ZENSB8CisJCQkgICBTM0MyNDEwX0dQQzE0X1ZENiAgIHwgUzNDMjQxMF9HUEMxNV9WRDcpLAorCisJLmdwY2Nvbl9tYXNrCT0gKFMzQzI0MTBfR1BDQ09OX01BU0soMSkgIHwgUzNDMjQxMF9HUENDT05fTUFTSygyKSAgfAorCQkJICAgUzNDMjQxMF9HUENDT05fTUFTSygzKSAgfCBTM0MyNDEwX0dQQ0NPTl9NQVNLKDQpICB8CisJCQkgICBTM0MyNDEwX0dQQ0NPTl9NQVNLKDEwKSB8IFMzQzI0MTBfR1BDQ09OX01BU0soMTEpIHwKKwkJCSAgIFMzQzI0MTBfR1BDQ09OX01BU0soMTIpIHwgUzNDMjQxMF9HUENDT05fTUFTSygxMykgfAorCQkJICAgUzNDMjQxMF9HUENDT05fTUFTSygxNCkgfCBTM0MyNDEwX0dQQ0NPTl9NQVNLKDE1KSksCisKKwkuZ3BkdXAJCT0gKDB4M2YgPDwgMikgfCAoMHgzZiA8PCAxMCksCisKKwkuZ3BkY29uCQk9IChTM0MyNDEwX0dQRDJfVkQxMCAgfCBTM0MyNDEwX0dQRDNfVkQxMSB8CisJCQkgICBTM0MyNDEwX0dQRDRfVkQxMiAgfCBTM0MyNDEwX0dQRDVfVkQxMyB8CisJCQkgICBTM0MyNDEwX0dQRDZfVkQxNCAgfCBTM0MyNDEwX0dQRDdfVkQxNSB8CisJCQkgICBTM0MyNDEwX0dQRDEwX1ZEMTggfCBTM0MyNDEwX0dQRDExX1ZEMTkgfAorCQkJICAgUzNDMjQxMF9HUEQxMl9WRDIwIHwgUzNDMjQxMF9HUEQxM19WRDIxIHwKKwkJCSAgIFMzQzI0MTBfR1BEMTRfVkQyMiB8IFMzQzI0MTBfR1BEMTVfVkQyMyksCisKKwkuZ3BkY29uX21hc2sJPSAoUzNDMjQxMF9HUERDT05fTUFTSygyKSAgfCBTM0MyNDEwX0dQRENPTl9NQVNLKDMpIHwKKwkJCSAgIFMzQzI0MTBfR1BEQ09OX01BU0soNCkgIHwgUzNDMjQxMF9HUERDT05fTUFTSyg1KSB8CisJCQkgICBTM0MyNDEwX0dQRENPTl9NQVNLKDYpICB8IFMzQzI0MTBfR1BEQ09OX01BU0soNykgfAorCQkJICAgUzNDMjQxMF9HUERDT05fTUFTSygxMCkgfCBTM0MyNDEwX0dQRENPTl9NQVNLKDExKXwKKwkJCSAgIFMzQzI0MTBfR1BEQ09OX01BU0soMTIpIHwgUzNDMjQxMF9HUERDT05fTUFTSygxMyl8CisJCQkgICBTM0MyNDEwX0dQRENPTl9NQVNLKDE0KSB8IFMzQzI0MTBfR1BEQ09OX01BU0soMTUpKSwKK307CisKKy8qIElMSTkzMjAgc3VwcG9ydC4gKi8KKworc3RhdGljIHZvaWQgaml2ZV9sY21fcmVzZXQodW5zaWduZWQgaW50IHNldCkKK3sKKwlwcmludGsoS0VSTl9ERUJVRyAiJXMoJWQpXG4iLCBfX2Z1bmNfXywgc2V0KTsKKworCXMzYzI0MTBfZ3Bpb19zZXRwaW4oUzNDMjQxMF9HUEcxMywgc2V0KTsKKwlzM2MyNDEwX2dwaW9fY2ZncGluKFMzQzI0MTBfR1BHMTMsIFMzQzI0MTBfR1BJT19PVVRQVVQpOworfQorCisjdW5kZWYgTENEX1VQUEVSX01BUkdJTgorI2RlZmluZSBMQ0RfVVBQRVJfTUFSR0lOIDIKKworc3RhdGljIHN0cnVjdCBpbGk5MzIwX3BsYXRkYXRhIGppdmVfbGNtX2NvbmZpZyA9IHsKKwkuaHNpemUJCT0gTENEX1hSRVMsCisJLnZzaXplCQk9IExDRF9ZUkVTLAorCisJLnJlc2V0CQk9IGppdmVfbGNtX3Jlc2V0LAorCS5zdXNwZW5kCT0gSUxJOTMyMF9TVVNQRU5EX0RFRVAsCisKKwkuZW50cnlfbW9kZQk9IElMSTkzMjBfRU5UUllNT0RFX0lEKDMpIHwgSUxJOTMyMF9FTlRSWU1PREVfQkdSLAorCS5kaXNwbGF5Mgk9IChJTEk5MzIwX0RJU1BMQVkyX0ZQKExDRF9VUFBFUl9NQVJHSU4pIHwKKwkJCSAgIElMSTkzMjBfRElTUExBWTJfQlAoTENEX0xPV0VSX01BUkdJTikpLAorCS5kaXNwbGF5Mwk9IDB4MCwKKwkuZGlzcGxheTQJPSAweDAsCisJLnJnYl9pZjEJPSAoSUxJOTMyMF9SR0JJRjFfUklNX1JHQjE4IHwKKwkJCSAgIElMSTkzMjBfUkdCSUYxX1JNIHwgSUxJOTMyMF9SR0JJRjFfQ0xLX1JHQklGKSwKKwkucmdiX2lmMgk9IElMSTkzMjBfUkdCSUYyX0RQTCwKKwkuaW50ZXJmYWNlMgk9IDB4MCwKKwkuaW50ZXJmYWNlMwk9IDB4MywKKwkuaW50ZXJmYWNlNAk9IChJTEk5MzIwX0lOVEVSRkFDRTRfUlRORSgxNikgfAorCQkJICAgSUxJOTMyMF9JTlRFUkZBQ0U0X0RJVkUoMSkpLAorCS5pbnRlcmZhY2U1CT0gMHgwLAorCS5pbnRlcmZhY2U2CT0gMHgwLAorfTsKKworLyogTENEIFNQSSBzdXBwb3J0ICovCisKK3N0YXRpYyB2b2lkIGppdmVfbGNkX3NwaV9jaGlwc2VsZWN0KHN0cnVjdCBzM2MyNDEwX3NwaWdwaW9faW5mbyAqc3BpLCBpbnQgY3MpCit7CisJczNjMjQxMF9ncGlvX3NldHBpbihTM0MyNDEwX0dQQjcsIGNzID8gMCA6IDEpOworfQorCitzdGF0aWMgc3RydWN0IHMzYzI0MTBfc3BpZ3Bpb19pbmZvIGppdmVfbGNkX3NwaSA9IHsKKwkuYnVzX251bQk9IDAsCisJLnBpbl9jbGsJPSBTM0MyNDEwX0dQRzgsCisJLnBpbl9tb3NpCT0gUzNDMjQxMF9HUEI4LAorCS5jaGlwX3NlbGVjdAk9IGppdmVfbGNkX3NwaV9jaGlwc2VsZWN0LAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2Ugaml2ZV9kZXZpY2VfbGNkc3BpID0geworCS5uYW1lCQk9ICJzM2MyNHh4LXNwaS1ncGlvIiwKKwkuaWQJCT0gMSwKKwkubnVtX3Jlc291cmNlcyAgPSAwLAorCS5kZXYucGxhdGZvcm1fZGF0YSA9ICZqaXZlX2xjZF9zcGksCit9OworCisvKiBXTTg3NTAgYXVkaW8gY29kZSBTUEkgZGVmaW5pdGlvbiAqLworCitzdGF0aWMgdm9pZCBqaXZlX3dtODc1MF9jaGlwc2VsZWN0KHN0cnVjdCBzM2MyNDEwX3NwaWdwaW9faW5mbyAqc3BpLCBpbnQgY3MpCit7CisJczNjMjQxMF9ncGlvX3NldHBpbihTM0MyNDEwX0dQSDEwLCBjcyA/IDAgOiAxKTsKK30KKworc3RhdGljIHN0cnVjdCBzM2MyNDEwX3NwaWdwaW9faW5mbyBqaXZlX3dtODc1MF9zcGkgPSB7CisJLmJ1c19udW0JPSAyLAorCS5waW5fY2xrCT0gUzNDMjQxMF9HUEI0LAorCS5waW5fbW9zaQk9IFMzQzI0MTBfR1BCOSwKKwkuY2hpcF9zZWxlY3QJPSBqaXZlX3dtODc1MF9jaGlwc2VsZWN0LAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2Ugaml2ZV9kZXZpY2Vfd204NzUwID0geworCS5uYW1lCQk9ICJzM2MyNHh4LXNwaS1ncGlvIiwKKwkuaWQJCT0gMiwKKwkubnVtX3Jlc291cmNlcyAgPSAwLAorCS5kZXYucGxhdGZvcm1fZGF0YSA9ICZqaXZlX3dtODc1MF9zcGksCit9OworCisvKiBKSVZFIFNQSSBkZXZpY2VzLiAqLworCitzdGF0aWMgc3RydWN0IHNwaV9ib2FyZF9pbmZvIF9faW5pdGRhdGEgaml2ZV9zcGlfZGV2c1tdID0geworCVswXSA9IHsKKwkJLm1vZGFsaWFzCT0gIlZHRzI0MzJBNCIsCisJCS5idXNfbnVtCT0gMSwKKwkJLmNoaXBfc2VsZWN0CT0gMCwKKwkJLm1vZGUJCT0gU1BJX01PREVfMywJLyogQ1BPTD0xLCBDUEhBPTEgKi8KKwkJLm1heF9zcGVlZF9oegk9IDEwMDAwMCwKKwkJLnBsYXRmb3JtX2RhdGEJPSAmaml2ZV9sY21fY29uZmlnLAorCX0sIHsKKwkJLm1vZGFsaWFzCT0gIldNODc1MCIsCisJCS5idXNfbnVtCT0gMiwKKwkJLmNoaXBfc2VsZWN0CT0gMCwKKwkJLm1vZGUJCT0gU1BJX01PREVfMCwJLyogQ1BPTD0wLCBDUEhBPTAgKi8KKwkJLm1heF9zcGVlZF9oegk9IDEwMDAwMCwKKwl9LAorfTsKKworLyogSTJDIGJ1cyBhbmQgZGV2aWNlIGNvbmZpZ3VyYXRpb24uICovCisKK3N0YXRpYyBzdHJ1Y3QgczNjMjQxMF9wbGF0Zm9ybV9pMmMgaml2ZV9pMmNfY2ZnID0geworCS5tYXhfZnJlcQk9IDgwICogMTAwMCwKKwkuYnVzX2ZyZXEJPSA1MCAqIDEwMDAsCisJLmZsYWdzCQk9IFMzQ19JSUNGTEdfRklMVEVSLAorCS5zZGFfZGVsYXkJPSAyLAorfTsKKworc3RhdGljIHN0cnVjdCBpMmNfYm9hcmRfaW5mbyBqaXZlX2kyY19kZXZzW10gPSB7CisJWzBdID0geworCQlJMkNfQk9BUkRfSU5GTygibGlzMzAyZGwiLCAweDFjKSwKKwkJLmlycQk9IElSUV9FSU5UMTQsCisJfSwKK307CisKKy8qIFRoZSBwbGF0Zm9ybSBkZXZpY2VzIGJlaW5nIHVzZWQuICovCisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpqaXZlX2RldmljZXNbXSBfX2luaXRkYXRhID0geworCSZzM2NfZGV2aWNlX3VzYiwKKwkmczNjX2RldmljZV9ydGMsCisJJnMzY19kZXZpY2Vfd2R0LAorCSZzM2NfZGV2aWNlX2kyYywKKwkmczNjX2RldmljZV9sY2QsCisJJmppdmVfZGV2aWNlX2xjZHNwaSwKKwkmaml2ZV9kZXZpY2Vfd204NzUwLAorCSZzM2NfZGV2aWNlX25hbmQsCisJJnMzY19kZXZpY2VfdXNiZ2FkZ2V0LAorfTsKKworc3RhdGljIHN0cnVjdCBzM2MyNDEwX3VkY19tYWNoX2luZm8gaml2ZV91ZGNfY2ZnIF9faW5pdGRhdGEgPSB7CisJLnZidXNfcGluCT0gUzNDMjQxMF9HUEcxLAkJLyogZGV0ZWN0IGlzIG9uIEdQRzEgKi8KK307CisKKy8qIEppdmUgcG93ZXIgbWFuYWdlbWVudCBkZXZpY2UgKi8KKworI2lmZGVmIENPTkZJR19QTQorc3RhdGljIGludCBqaXZlX3BtX3N1c3BlbmQoc3RydWN0IHN5c19kZXZpY2UgKnNkLCBwbV9tZXNzYWdlX3Qgc3RhdGUpCit7CisJLyogV3JpdGUgdGhlIG1hZ2ljIHZhbHVlIHUtYm9vdCB1c2VzIHRvIGNoZWNrIGZvciByZXN1bWUgaW50bworCSAqIHRoZSBJTkZPUk0wIHJlZ2lzdGVyLCBhbmQgZW5zdXJlIElORk9STTEgaXMgc2V0IHRvIHRoZQorCSAqIGNvcnJlY3QgYWRkcmVzcyB0byByZXN1bWUgZnJvbS4gKi8KKworCV9fcmF3X3dyaXRlbCgweDJCRUQsIFMzQzI0MTJfSU5GT1JNMCk7CisJX19yYXdfd3JpdGVsKHZpcnRfdG9fcGh5cyhzM2MyNDEwX2NwdV9yZXN1bWUpLCBTM0MyNDEyX0lORk9STTEpOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgaml2ZV9wbV9yZXN1bWUoc3RydWN0IHN5c19kZXZpY2UgKnNkKQoreworCV9fcmF3X3dyaXRlbCgweDAsIFMzQzI0MTJfSU5GT1JNMCk7CisJcmV0dXJuIDA7Cit9CisKKyNlbHNlCisjZGVmaW5lIGppdmVfcG1fc3VzcGVuZCBOVUxMCisjZGVmaW5lIGppdmVfcG1fcmVzdW1lIE5VTEwKKyNlbmRpZgorCitzdGF0aWMgc3RydWN0IHN5c2Rldl9jbGFzcyBqaXZlX3BtX3N5c2NsYXNzID0geworCS5uYW1lCQk9ICJqaXZlLXBtIiwKKwkuc3VzcGVuZAk9IGppdmVfcG1fc3VzcGVuZCwKKwkucmVzdW1lCQk9IGppdmVfcG1fcmVzdW1lLAorfTsKKworc3RhdGljIHN0cnVjdCBzeXNfZGV2aWNlIGppdmVfcG1fc3lzZGV2ID0geworCS5jbHMJCT0gJmppdmVfcG1fc3lzY2xhc3MsCit9OworCitzdGF0aWMgdm9pZCBfX2luaXQgaml2ZV9tYXBfaW8odm9pZCkKK3sKKwlzM2MyNHh4X2luaXRfaW8oaml2ZV9pb2Rlc2MsIEFSUkFZX1NJWkUoaml2ZV9pb2Rlc2MpKTsKKwlzM2MyNHh4X2luaXRfY2xvY2tzKDEyMDAwMDAwKTsKKwlzM2MyNHh4X2luaXRfdWFydHMoaml2ZV91YXJ0Y2ZncywgQVJSQVlfU0laRShqaXZlX3VhcnRjZmdzKSk7Cit9CisKK3N0YXRpYyB2b2lkIGppdmVfcG93ZXJfb2ZmKHZvaWQpCit7CisJcHJpbnRrKEtFUk5fSU5GTyAicG93ZXJpbmcgc3lzdGVtIGRvd24uLi5cbiIpOworCisJczNjMjQxMF9ncGlvX3NldHBpbihTM0MyNDEwX0dQQzUsIDEpOworCXMzYzI0MTBfZ3Bpb19jZmdwaW4oUzNDMjQxMF9HUEM1LCBTM0MyNDEwX0dQSU9fT1VUUFVUKTsKK30KKworc3RhdGljIHZvaWQgX19pbml0IGppdmVfbWFjaGluZV9pbml0KHZvaWQpCit7CisJLyogcmVnaXN0ZXIgc3lzdGVtIGRldmljZXMgZm9yIG1hbmFnaW5nIGxvdyBsZXZlbCBzdXNwZW5kICovCisKKwlzeXNkZXZfY2xhc3NfcmVnaXN0ZXIoJmppdmVfcG1fc3lzY2xhc3MpOworCXN5c2Rldl9yZWdpc3Rlcigmaml2ZV9wbV9zeXNkZXYpOworCisJLyogd3JpdGUgb3VyIHNsZWVwIGNvbmZpZ3VyYXRpb25zIGZvciB0aGUgSU8uIFB1bGwgZG93biBhbGwgdW51c2VkCisJICogSU8sIGVuc3VyZSB0aGF0IHdlIGhhdmUgdHVybmVkIG9mZiBhbGwgcGVyaXBoZXJhbHMgd2UgZG8gbm90CisJICogbmVlZCwgYW5kIGNvbmZpZ3VyZSB0aGUgb25lcyB3ZSBkbyBuZWVkLiAqLworCisJLyogUG9ydCBCIHNsZWVwICovCisKKwlfX3Jhd193cml0ZWwoUzNDMjQxMl9TTFBDT05fSU4oMCkgICB8CisJCSAgICAgUzNDMjQxMl9TTFBDT05fUFVMTCgxKSB8CisJCSAgICAgUzNDMjQxMl9TTFBDT05fSElHSCgyKSB8CisJCSAgICAgUzNDMjQxMl9TTFBDT05fUFVMTCgzKSB8CisJCSAgICAgUzNDMjQxMl9TTFBDT05fUFVMTCg0KSB8CisJCSAgICAgUzNDMjQxMl9TTFBDT05fUFVMTCg1KSB8CisJCSAgICAgUzNDMjQxMl9TTFBDT05fUFVMTCg2KSB8CisJCSAgICAgUzNDMjQxMl9TTFBDT05fSElHSCg3KSB8CisJCSAgICAgUzNDMjQxMl9TTFBDT05fUFVMTCg4KSB8CisJCSAgICAgUzNDMjQxMl9TTFBDT05fUFVMTCg5KSB8CisJCSAgICAgUzNDMjQxMl9TTFBDT05fUFVMTCgxMCksIFMzQzI0MTJfR1BCU0xQQ09OKTsKKworCS8qIFBvcnQgQyBzbGVlcCAqLworCisJX19yYXdfd3JpdGVsKFMzQzI0MTJfU0xQQ09OX1BVTEwoMCkgfAorCQkgICAgIFMzQzI0MTJfU0xQQ09OX1BVTEwoMSkgfAorCQkgICAgIFMzQzI0MTJfU0xQQ09OX1BVTEwoMikgfAorCQkgICAgIFMzQzI0MTJfU0xQQ09OX1BVTEwoMykgfAorCQkgICAgIFMzQzI0MTJfU0xQQ09OX1BVTEwoNCkgfAorCQkgICAgIFMzQzI0MTJfU0xQQ09OX1BVTEwoNSkgfAorCQkgICAgIFMzQzI0MTJfU0xQQ09OX0xPVyg2KSAgfAorCQkgICAgIFMzQzI0MTJfU0xQQ09OX1BVTEwoNikgfAorCQkgICAgIFMzQzI0MTJfU0xQQ09OX1BVTEwoNykgfAorCQkgICAgIFMzQzI0MTJfU0xQQ09OX1BVTEwoOCkgfAorCQkgICAgIFMzQzI0MTJfU0xQQ09OX1BVTEwoOSkgfAorCQkgICAgIFMzQzI0MTJfU0xQQ09OX1BVTEwoMTApIHwKKwkJICAgICBTM0MyNDEyX1NMUENPTl9QVUxMKDExKSB8CisJCSAgICAgUzNDMjQxMl9TTFBDT05fUFVMTCgxMikgfAorCQkgICAgIFMzQzI0MTJfU0xQQ09OX1BVTEwoMTMpIHwKKwkJICAgICBTM0MyNDEyX1NMUENPTl9QVUxMKDE0KSB8CisJCSAgICAgUzNDMjQxMl9TTFBDT05fUFVMTCgxNSksIFMzQzI0MTJfR1BDU0xQQ09OKTsKKworCS8qIFBvcnQgRCBzbGVlcCAqLworCisJX19yYXdfd3JpdGVsKFMzQzI0MTJfU0xQQ09OX0FMTF9QVUxMLCBTM0MyNDEyX0dQRFNMUENPTik7CisKKwkvKiBQb3J0IEYgc2xlZXAgKi8KKworCV9fcmF3X3dyaXRlbChTM0MyNDEyX1NMUENPTl9MT1coMCkgIHwKKwkJICAgICBTM0MyNDEyX1NMUENPTl9MT1coMSkgIHwKKwkJICAgICBTM0MyNDEyX1NMUENPTl9MT1coMikgIHwKKwkJICAgICBTM0MyNDEyX1NMUENPTl9FSU5UKDMpIHwKKwkJICAgICBTM0MyNDEyX1NMUENPTl9FSU5UKDQpIHwKKwkJICAgICBTM0MyNDEyX1NMUENPTl9FSU5UKDUpIHwKKwkJICAgICBTM0MyNDEyX1NMUENPTl9FSU5UKDYpIHwKKwkJICAgICBTM0MyNDEyX1NMUENPTl9FSU5UKDcpLCBTM0MyNDEyX0dQRlNMUENPTik7CisKKwkvKiBQb3J0IEcgc2xlZXAgKi8KKworCV9fcmF3X3dyaXRlbChTM0MyNDEyX1NMUENPTl9JTigwKSAgICB8CisJCSAgICAgUzNDMjQxMl9TTFBDT05fSU4oMSkgICAgfAorCQkgICAgIFMzQzI0MTJfU0xQQ09OX0lOKDIpICAgIHwKKwkJICAgICBTM0MyNDEyX1NMUENPTl9JTigzKSAgICB8CisJCSAgICAgUzNDMjQxMl9TTFBDT05fSU4oNCkgICAgfAorCQkgICAgIFMzQzI0MTJfU0xQQ09OX0lOKDUpICAgIHwKKwkJICAgICBTM0MyNDEyX1NMUENPTl9JTig2KSAgICB8CisJCSAgICAgUzNDMjQxMl9TTFBDT05fSU4oNykgICAgfAorCQkgICAgIFMzQzI0MTJfU0xQQ09OX1BVTEwoOCkgIHwKKwkJICAgICBTM0MyNDEyX1NMUENPTl9QVUxMKDkpICB8CisJCSAgICAgUzNDMjQxMl9TTFBDT05fSU4oMTApICAgfAorCQkgICAgIFMzQzI0MTJfU0xQQ09OX1BVTEwoMTEpIHwKKwkJICAgICBTM0MyNDEyX1NMUENPTl9QVUxMKDEyKSB8CisJCSAgICAgUzNDMjQxMl9TTFBDT05fUFVMTCgxMykgfAorCQkgICAgIFMzQzI0MTJfU0xQQ09OX0lOKDE0KSAgIHwKKwkJICAgICBTM0MyNDEyX1NMUENPTl9QVUxMKDE1KSwgUzNDMjQxMl9HUEdTTFBDT04pOworCisJLyogUG9ydCBIIHNsZWVwICovCisKKwlfX3Jhd193cml0ZWwoUzNDMjQxMl9TTFBDT05fUFVMTCgwKSB8CisJCSAgICAgUzNDMjQxMl9TTFBDT05fUFVMTCgxKSB8CisJCSAgICAgUzNDMjQxMl9TTFBDT05fUFVMTCgyKSB8CisJCSAgICAgUzNDMjQxMl9TTFBDT05fUFVMTCgzKSB8CisJCSAgICAgUzNDMjQxMl9TTFBDT05fUFVMTCg0KSB8CisJCSAgICAgUzNDMjQxMl9TTFBDT05fUFVMTCg1KSB8CisJCSAgICAgUzNDMjQxMl9TTFBDT05fUFVMTCg2KSB8CisJCSAgICAgUzNDMjQxMl9TTFBDT05fSU4oNykgICB8CisJCSAgICAgUzNDMjQxMl9TTFBDT05fSU4oOCkgICB8CisJCSAgICAgUzNDMjQxMl9TTFBDT05fUFVMTCg5KSB8CisJCSAgICAgUzNDMjQxMl9TTFBDT05fSU4oMTApLCBTM0MyNDEyX0dQSFNMUENPTik7CisKKwkvKiBpbml0aWFsaXNlIHRoZSBwb3dlciBtYW5hZ2VtZW50IG5vdyB3ZSd2ZSBzZXR1cCBldmVyeXRoaW5nLiAqLworCisJczNjMjQxMF9wbV9pbml0KCk7CisKKwlzM2NfZGV2aWNlX25hbmQuZGV2LnBsYXRmb3JtX2RhdGEgPSAmaml2ZV9uYW5kX2luZm87CisKKwkvKiBpbml0aWFsaXNlIHRoZSBzcGkgKi8KKworCXMzYzI0MTBfZ3Bpb19zZXRwaW4oUzNDMjQxMF9HUEcxMywgMCk7CisJczNjMjQxMF9ncGlvX2NmZ3BpbihTM0MyNDEwX0dQRzEzLCBTM0MyNDEwX0dQSU9fT1VUUFVUKTsKKworCXMzYzI0MTBfZ3Bpb19zZXRwaW4oUzNDMjQxMF9HUEI3LCAxKTsKKwlzM2MyNDEwX2dwaW9fY2ZncGluKFMzQzI0MTBfR1BCNywgUzNDMjQxMF9HUElPX09VVFBVVCk7CisKKwlzM2MyNDEwX2dwaW9fc2V0cGluKFMzQzI0MTBfR1BCNiwgMCk7CisJczNjMjQxMF9ncGlvX2NmZ3BpbihTM0MyNDEwX0dQQjYsIFMzQzI0MTBfR1BJT19PVVRQVVQpOworCisJczNjMjQxMF9ncGlvX3NldHBpbihTM0MyNDEwX0dQRzgsIDEpOworCXMzYzI0MTBfZ3Bpb19jZmdwaW4oUzNDMjQxMF9HUEc4LCBTM0MyNDEwX0dQSU9fT1VUUFVUKTsKKworCS8qIGluaXRpYWxpc2UgdGhlIFdNODc1MCBzcGkgKi8KKworCXMzYzI0MTBfZ3Bpb19zZXRwaW4oUzNDMjQxMF9HUEgxMCwgMSk7CisJczNjMjQxMF9ncGlvX2NmZ3BpbihTM0MyNDEwX0dQSDEwLCBTM0MyNDEwX0dQSU9fT1VUUFVUKTsKKworCS8qIFR1cm4gb2ZmIHN1c3BlbmQgb24gYm90aCBVU0IgcG9ydHMsIGFuZCBzd2l0Y2ggdGhlCisJICogc2VsZWN0YWJsZSBVU0IgcG9ydCB0byBVU0IgZGV2aWNlIG1vZGUuICovCisKKwlzM2MyNDEwX21vZGlmeV9taXNjY3IoUzNDMjQxMF9NSVNDQ1JfVVNCSE9TVCB8CisJCQkgICAgICBTM0MyNDEwX01JU0NDUl9VU0JTVVNQTkQwIHwKKwkJCSAgICAgIFMzQzI0MTBfTUlTQ0NSX1VTQlNVU1BORDEsIDB4MCk7CisKKwlzM2MyNHh4X3VkY19zZXRfcGxhdGRhdGEoJmppdmVfdWRjX2NmZyk7CisJczNjMjR4eF9mYl9zZXRfcGxhdGRhdGEoJmppdmVfbGNkX2NvbmZpZyk7CisKKwlzcGlfcmVnaXN0ZXJfYm9hcmRfaW5mbyhqaXZlX3NwaV9kZXZzLCBBUlJBWV9TSVpFKGppdmVfc3BpX2RldnMpKTsKKworCXMzY19kZXZpY2VfaTJjLmRldi5wbGF0Zm9ybV9kYXRhID0gJmppdmVfaTJjX2NmZzsKKwlpMmNfcmVnaXN0ZXJfYm9hcmRfaW5mbygwLCBqaXZlX2kyY19kZXZzLCBBUlJBWV9TSVpFKGppdmVfaTJjX2RldnMpKTsKKworCXBtX3Bvd2VyX29mZiA9IGppdmVfcG93ZXJfb2ZmOworCisJcGxhdGZvcm1fYWRkX2RldmljZXMoaml2ZV9kZXZpY2VzLCBBUlJBWV9TSVpFKGppdmVfZGV2aWNlcykpOworfQorCitNQUNISU5FX1NUQVJUKEpJVkUsICJKSVZFIikKKwkvKiBNYWludGFpbmVyOiBCZW4gRG9va3MgPGJlbkBmbHVmZi5vcmc+ICovCisJLnBoeXNfaW8JPSBTM0MyNDEwX1BBX1VBUlQsCisJLmlvX3BnX29mZnN0CT0gKCgodTMyKVMzQzI0WFhfVkFfVUFSVCkgPj4gMTgpICYgMHhmZmZjLAorCS5ib290X3BhcmFtcwk9IFMzQzI0MTBfU0RSQU1fUEEgKyAweDEwMCwKKworCS5pbml0X2lycQk9IHMzYzI0eHhfaW5pdF9pcnEsCisJLm1hcF9pbwkJPSBqaXZlX21hcF9pbywKKwkuaW5pdF9tYWNoaW5lCT0gaml2ZV9tYWNoaW5lX2luaXQsCisJLnRpbWVyCQk9ICZzM2MyNHh4X3RpbWVyLAorTUFDSElORV9FTkQKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtczNjMjQ0MC9LY29uZmlnIGIvYXJjaC9hcm0vbWFjaC1zM2MyNDQwL0tjb25maWcKaW5kZXggZjE5MTViZC4uMjVkZTA0MiAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1zM2MyNDQwL0tjb25maWcKKysrIGIvYXJjaC9hcm0vbWFjaC1zM2MyNDQwL0tjb25maWcKQEAgLTI5LDYgKzI5LDcgQEAKIAlib29sICJTaW10ZWMgRWxlY3Ryb25pY3MgQU5VQklTIgogCXNlbGVjdCBDUFVfUzNDMjQ0MAogCXNlbGVjdCBQTV9TSU1URUMgaWYgUE0KKwlzZWxlY3QgSEFWRV9QQVRBX1BMQVRGT1JNCiAJaGVscAogCSAgU2F5IFkgaGVyZSBpZiB5b3UgYXJlIHVzaW5nIHRoZSBTaW10ZWMgRWxlY3Ryb25pY3MgQU5VQklTCiAJICBkZXZlbG9wbWVudCBzeXN0ZW0KQEAgLTY3LDYgKzY4LDExIEBACiAJZGVmYXVsdCB5IGlmIEFSQ0hfUzNDMjQ0MAogCXNlbGVjdCBDUFVfUzNDMjQ0MAogCitjb25maWcgTUFDSF9BVDI0NDBFVkIKKwlib29sICJBdmFudGVjaCBBVDI0NDBFVkIgZGV2ZWxvcG1lbnQgYm9hcmQiCisJc2VsZWN0IENQVV9TM0MyNDQwCisJaGVscAorCSAgU2F5IFkgaGVyZSBpZiB5b3UgYXJlIHVzaW5nIHRoZSBBVDI0NDBFVkIgZGV2ZWxvcG1lbnQgYm9hcmQKIAogZW5kbWVudQogCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLXMzYzI0NDAvTWFrZWZpbGUgYi9hcmNoL2FybS9tYWNoLXMzYzI0NDAvTWFrZWZpbGUKaW5kZXggYzgxZWQ2Mi4uMGI0NDQwZSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1zM2MyNDQwL01ha2VmaWxlCisrKyBiL2FyY2gvYXJtL21hY2gtczNjMjQ0MC9NYWtlZmlsZQpAQCAtMjEsMyArMjEsNCBAQAogb2JqLSQoQ09ORklHX01BQ0hfUlgzNzE1KQkrPSBtYWNoLXJ4MzcxNS5vCiBvYmotJChDT05GSUdfQVJDSF9TM0MyNDQwKQkrPSBtYWNoLXNtZGsyNDQwLm8KIG9iai0kKENPTkZJR19NQUNIX05FWENPREVSXzI0NDApICs9IG1hY2gtbmV4Y29kZXIubworb2JqLSQoQ09ORklHX01BQ0hfQVQyNDQwRVZCKSArPSBtYWNoLWF0MjQ0MGV2Yi5vCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLXMzYzI0NDAvbWFjaC1hbnViaXMuYyBiL2FyY2gvYXJtL21hY2gtczNjMjQ0MC9tYWNoLWFudWJpcy5jCmluZGV4IDQ3MjU4OTEuLjA5YWY4YjIgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtczNjMjQ0MC9tYWNoLWFudWJpcy5jCisrKyBiL2FyY2gvYXJtL21hY2gtczNjMjQ0MC9tYWNoLWFudWJpcy5jCkBAIC0xLDYgKzEsNiBAQAogLyogbGludXgvYXJjaC9hcm0vbWFjaC1zM2MyNDQwL21hY2gtYW51YmlzLmMKICAqCi0gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAwNSBTaW10ZWMgRWxlY3Ryb25pY3MKKyAqIENvcHlyaWdodCAoYykgMjAwMy0yMDA1LDIwMDggU2ltdGVjIEVsZWN0cm9uaWNzCiAgKglodHRwOi8vYXJtbGludXguc2ltdGVjLmNvLnVrLwogICoJQmVuIERvb2tzIDxiZW5Ac2ltdGVjLmNvLnVrPgogICoKQEAgLTE3LDYgKzE3LDggQEAKICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAjaW5jbHVkZSA8bGludXgvc2VyaWFsX2NvcmUuaD4KICNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9hdGFfcGxhdGZvcm0uaD4KKyNpbmNsdWRlIDxsaW51eC9pMmMuaD4KIAogI2luY2x1ZGUgPGxpbnV4L3NtNTAxLmg+CiAjaW5jbHVkZSA8bGludXgvc201MDEtcmVncy5oPgpAQCAtMjQxLDE0ICsyNDMsMTggQEAKIAogLyogSURFIGNoYW5uZWxzICovCiAKK3N0cnVjdCBwYXRhX3BsYXRmb3JtX2luZm8gYW51YmlzX2lkZV9wbGF0ZGF0YSA9IHsKKwkuaW9wb3J0X3NoaWZ0CT0gNSwKK307CisKIHN0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgYW51YmlzX2lkZTBfcmVzb3VyY2VbXSA9IHsKIAl7CiAJCS5zdGFydAk9IFMzQzI0MTBfQ1MzLAogCQkuZW5kCT0gUzNDMjQxMF9DUzMgKyAoOCozMikgLSAxLAogCQkuZmxhZ3MJPSBJT1JFU09VUkNFX01FTSwKIAl9LCB7Ci0JCS5zdGFydAk9IFMzQzI0MTBfQ1MzICsgKDE8PDI2KSwKLQkJLmVuZAk9IFMzQzI0MTBfQ1MzICsgKDE8PDI2KSArICg4KjMyKSAtIDEsCisJCS5zdGFydAk9IFMzQzI0MTBfQ1MzICsgKDE8PDI2KSArICg2KjMyKSwKKwkJLmVuZAk9IFMzQzI0MTBfQ1MzICsgKDE8PDI2KSArICg3KjMyKSAtIDEsCiAJCS5mbGFncwk9IElPUkVTT1VSQ0VfTUVNLAogCX0sIHsKIAkJLnN0YXJ0CT0gSVJRX0lERTAsCkBAIC0yNTgsMTAgKzI2NCwxNCBAQAogfTsKIAogc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgYW51YmlzX2RldmljZV9pZGUwID0gewotCS5uYW1lCQk9ICJzaW10ZWMtaWRlIiwKKwkubmFtZQkJPSAicGF0YV9wbGF0Zm9ybSIsCiAJLmlkCQk9IDAsCiAJLm51bV9yZXNvdXJjZXMJPSBBUlJBWV9TSVpFKGFudWJpc19pZGUwX3Jlc291cmNlKSwKIAkucmVzb3VyY2UJPSBhbnViaXNfaWRlMF9yZXNvdXJjZSwKKwkuZGV2CT0geworCQkucGxhdGZvcm1fZGF0YSA9ICZhbnViaXNfaWRlX3BsYXRkYXRhLAorCQkuY29oZXJlbnRfZG1hX21hc2sgPSB+MCwKKwl9LAogfTsKIAogc3RhdGljIHN0cnVjdCByZXNvdXJjZSBhbnViaXNfaWRlMV9yZXNvdXJjZVtdID0gewpAQCAtMjcwLDggKzI4MCw4IEBACiAJCS5lbmQJPSBTM0MyNDEwX0NTNCArICg4KjMyKSAtIDEsCiAJCS5mbGFncwk9IElPUkVTT1VSQ0VfTUVNLAogCX0sIHsKLQkJLnN0YXJ0CT0gUzNDMjQxMF9DUzQgKyAoMTw8MjYpLAotCQkuZW5kCT0gUzNDMjQxMF9DUzQgKyAoMTw8MjYpICsgKDgqMzIpIC0gMSwKKwkJLnN0YXJ0CT0gUzNDMjQxMF9DUzQgKyAoMTw8MjYpICsgKDYqMzIpLAorCQkuZW5kCT0gUzNDMjQxMF9DUzQgKyAoMTw8MjYpICsgKDcqMzIpIC0gMSwKIAkJLmZsYWdzCT0gSU9SRVNPVVJDRV9NRU0sCiAJfSwgewogCQkuc3RhcnQJPSBJUlFfSURFMCwKQEAgLTI4MCwxMiArMjkwLDE1IEBACiAJfSwKIH07CiAKLQogc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgYW51YmlzX2RldmljZV9pZGUxID0gewotCS5uYW1lCQk9ICJzaW10ZWMtaWRlIiwKKwkubmFtZQkJPSAicGF0YV9wbGF0Zm9ybSIsCiAJLmlkCQk9IDEsCiAJLm51bV9yZXNvdXJjZXMJPSBBUlJBWV9TSVpFKGFudWJpc19pZGUxX3Jlc291cmNlKSwKIAkucmVzb3VyY2UJPSBhbnViaXNfaWRlMV9yZXNvdXJjZSwKKwkuZGV2CT0geworCQkucGxhdGZvcm1fZGF0YSA9ICZhbnViaXNfaWRlX3BsYXRkYXRhLAorCQkuY29oZXJlbnRfZG1hX21hc2sgPSB+MCwKKwl9LAogfTsKIAogLyogQXNpeCBBWDg4Nzk2IDEwLzEwMCBldGhlcm5ldCBjb250cm9sbGVyICovCkBAIC00MDksNiArNDIyLDE1IEBACiAJJnMzYzI0eHhfdWNsaywKIH07CiAKKy8qIEkyQyBkZXZpY2VzLiAqLworCitzdGF0aWMgc3RydWN0IGkyY19ib2FyZF9pbmZvIGFudWJpc19pMmNfZGV2c1tdIF9faW5pdGRhdGEgPSB7CisJeworCQlJMkNfQk9BUkRfSU5GTygidHBzNjUwMTEiLCAweDQ4KSwKKwkJLmlycQk9IElSUV9FSU5UMjAsCisJfQorfTsKKwogc3RhdGljIHZvaWQgX19pbml0IGFudWJpc19tYXBfaW8odm9pZCkKIHsKIAkvKiBpbml0aWFsaXNlIHRoZSBjbG9ja3MgKi8KQEAgLTQ0OCw2ICs0NzAsOSBAQAogc3RhdGljIHZvaWQgX19pbml0IGFudWJpc19pbml0KHZvaWQpCiB7CiAJcGxhdGZvcm1fYWRkX2RldmljZXMoYW51YmlzX2RldmljZXMsIEFSUkFZX1NJWkUoYW51YmlzX2RldmljZXMpKTsKKworCWkyY19yZWdpc3Rlcl9ib2FyZF9pbmZvKDAsIGFudWJpc19pMmNfZGV2cywKKwkJCQlBUlJBWV9TSVpFKGFudWJpc19pMmNfZGV2cykpOwogfQogCiAKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtczNjMjQ0MC9tYWNoLWF0MjQ0MGV2Yi5jIGIvYXJjaC9hcm0vbWFjaC1zM2MyNDQwL21hY2gtYXQyNDQwZXZiLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjVlM2M3ZgotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gtczNjMjQ0MC9tYWNoLWF0MjQ0MGV2Yi5jCkBAIC0wLDAgKzEsMTk4IEBACisvKiBsaW51eC9hcmNoL2FybS9tYWNoLXMzYzI0NDAvbWFjaC1hdDI0NDBldmIuYworICoKKyAqIENvcHlyaWdodCAoYykgMjAwOCBSYW1heCBMbyA8cmFtYXhsb0BnbWFpbC5jb20+CisgKiAgICAgIEJhc2VkIG9uIG1hY2gtYW51YmlzLmMgYnkgQmVuIERvb2tzIDxiZW5Ac2ltdGVjLmNvLnVrPgorICogICAgICBhbmQgbW9kaWZpY2F0aW9ucyBieSBTQlogPHNiekBzcGd1aS5vcmc+IGFuZAorICogICAgICBXZWliaW5nIDxodHRwOi8vd2VpYmluZy5ibG9nYnVzLmNvbT4KKyAqCisgKiBGb3IgcHJvZHVjdCBpbmZvcm1hdGlvbiwgdmlzaXQgaHR0cDovL3d3dy5hcm05ZS5jb20vCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCisgKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyovCisKKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgorI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgorI2luY2x1ZGUgPGxpbnV4L2xpc3QuaD4KKyNpbmNsdWRlIDxsaW51eC90aW1lci5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9pby5oPgorI2luY2x1ZGUgPGxpbnV4L3NlcmlhbF9jb3JlLmg+CisjaW5jbHVkZSA8bGludXgvZG05MDAwLmg+CisjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CisKKyNpbmNsdWRlIDxhc20vbWFjaC9hcmNoLmg+CisjaW5jbHVkZSA8YXNtL21hY2gvbWFwLmg+CisjaW5jbHVkZSA8YXNtL21hY2gvaXJxLmg+CisKKyNpbmNsdWRlIDxhc20vaGFyZHdhcmUuaD4KKyNpbmNsdWRlIDxhc20vaXJxLmg+CisjaW5jbHVkZSA8YXNtL21hY2gtdHlwZXMuaD4KKworI2luY2x1ZGUgPGFzbS9wbGF0LXMzYy9yZWdzLXNlcmlhbC5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL3JlZ3MtZ3Bpby5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL3JlZ3MtbWVtLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvcmVncy1sY2QuaD4KKyNpbmNsdWRlIDxhc20vcGxhdC1zM2MvbmFuZC5oPgorCisjaW5jbHVkZSA8bGludXgvbXRkL210ZC5oPgorI2luY2x1ZGUgPGxpbnV4L210ZC9uYW5kLmg+CisjaW5jbHVkZSA8bGludXgvbXRkL25hbmRfZWNjLmg+CisjaW5jbHVkZSA8bGludXgvbXRkL3BhcnRpdGlvbnMuaD4KKworI2luY2x1ZGUgPGFzbS9wbGF0LXMzYzI0eHgvY2xvY2suaD4KKyNpbmNsdWRlIDxhc20vcGxhdC1zM2MyNHh4L2RldnMuaD4KKyNpbmNsdWRlIDxhc20vcGxhdC1zM2MyNHh4L2NwdS5oPgorCitzdGF0aWMgc3RydWN0IG1hcF9kZXNjIGF0MjQ0MGV2Yl9pb2Rlc2NbXSBfX2luaXRkYXRhID0geworCS8qIE5vdGhpbmcgaGVyZSAqLworfTsKKworI2RlZmluZSBVQ09OIFMzQzI0MTBfVUNPTl9ERUZBVUxUCisjZGVmaW5lIFVMQ09OIChTM0MyNDEwX0xDT05fQ1M4IHwgUzNDMjQxMF9MQ09OX1BOT05FKQorI2RlZmluZSBVRkNPTiAoUzNDMjQxMF9VRkNPTl9SWFRSSUc4IHwgUzNDMjQxMF9VRkNPTl9GSUZPTU9ERSkKKworc3RhdGljIHN0cnVjdCBzM2MyNHh4X3VhcnRfY2xrc3JjIGF0MjQ0MGV2Yl9zZXJpYWxfY2xvY2tzW10gPSB7CisJWzBdID0geworCQkubmFtZQkJPSAidWNsayIsCisJCS5kaXZpc29yCT0gMSwKKwkJLm1pbl9iYXVkCT0gMCwKKwkJLm1heF9iYXVkCT0gMCwKKwl9LAorCVsxXSA9IHsKKwkJLm5hbWUJCT0gInBjbGsiLAorCQkuZGl2aXNvcgk9IDEsCisJCS5taW5fYmF1ZAk9IDAsCisJCS5tYXhfYmF1ZAk9IDAsCisJfQorfTsKKworCitzdGF0aWMgc3RydWN0IHMzYzI0MTBfdWFydGNmZyBhdDI0NDBldmJfdWFydGNmZ3NbXSBfX2luaXRkYXRhID0geworCVswXSA9IHsKKwkJLmh3cG9ydAkgICAgID0gMCwKKwkJLmZsYWdzCSAgICAgPSAwLAorCQkudWNvbgkgICAgID0gVUNPTiwKKwkJLnVsY29uCSAgICAgPSBVTENPTiwKKwkJLnVmY29uCSAgICAgPSBVRkNPTiwKKwkJLmNsb2NrcwkgICAgID0gYXQyNDQwZXZiX3NlcmlhbF9jbG9ja3MsCisJCS5jbG9ja3Nfc2l6ZSA9IEFSUkFZX1NJWkUoYXQyNDQwZXZiX3NlcmlhbF9jbG9ja3MpLAorCX0sCisJWzFdID0geworCQkuaHdwb3J0CSAgICAgPSAxLAorCQkuZmxhZ3MJICAgICA9IDAsCisJCS51Y29uCSAgICAgPSBVQ09OLAorCQkudWxjb24JICAgICA9IFVMQ09OLAorCQkudWZjb24JICAgICA9IFVGQ09OLAorCQkuY2xvY2tzCSAgICAgPSBhdDI0NDBldmJfc2VyaWFsX2Nsb2NrcywKKwkJLmNsb2Nrc19zaXplID0gQVJSQVlfU0laRShhdDI0NDBldmJfc2VyaWFsX2Nsb2NrcyksCisJfSwKK307CisKKy8qIE5BTkQgRmxhc2ggb24gQVQyNDQwRVZCIGJvYXJkICovCisKK3N0YXRpYyBzdHJ1Y3QgbXRkX3BhcnRpdGlvbiBhdDI0NDBldmJfZGVmYXVsdF9uYW5kX3BhcnRbXSA9IHsKKwlbMF0gPSB7CisJCS5uYW1lCT0gIkJvb3QgQWdlbnQiLAorCQkuc2l6ZQk9IFNaXzI1NkssCisJCS5vZmZzZXQJPSAwLAorCX0sCisJWzFdID0geworCQkubmFtZQk9ICJLZXJuZWwiLAorCQkuc2l6ZQk9IFNaXzJNLAorCQkub2Zmc2V0CT0gU1pfMjU2SywKKwl9LAorCVsyXSA9IHsKKwkJLm5hbWUJPSAiUm9vdCIsCisJCS5vZmZzZXQJPSBTWl8yNTZLICsgU1pfMk0sCisJCS5zaXplCT0gTVREUEFSVF9TSVpfRlVMTCwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBzM2MyNDEwX25hbmRfc2V0IGF0MjQ0MGV2Yl9uYW5kX3NldHNbXSA9IHsKKwlbMF0gPSB7CisJCS5uYW1lCQk9ICJuYW5kIiwKKwkJLm5yX2NoaXBzCT0gMSwKKwkJLm5yX3BhcnRpdGlvbnMJPSBBUlJBWV9TSVpFKGF0MjQ0MGV2Yl9kZWZhdWx0X25hbmRfcGFydCksCisJCS5wYXJ0aXRpb25zCT0gYXQyNDQwZXZiX2RlZmF1bHRfbmFuZF9wYXJ0LAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IHMzYzI0MTBfcGxhdGZvcm1fbmFuZCBhdDI0NDBldmJfbmFuZF9pbmZvID0geworCS50YWNscwkJPSAyNSwKKwkudHdycGgwCQk9IDU1LAorCS50d3JwaDEJCT0gNDAsCisJLm5yX3NldHMJPSBBUlJBWV9TSVpFKGF0MjQ0MGV2Yl9uYW5kX3NldHMpLAorCS5zZXRzCQk9IGF0MjQ0MGV2Yl9uYW5kX3NldHMsCit9OworCisvKiBETTkwMDBBRVAgMTAvMTAwIGV0aGVybmV0IGNvbnRyb2xsZXIgKi8KKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSBhdDI0NDBldmJfZG05a19yZXNvdXJjZVtdID0geworCVswXSA9IHsKKwkJLnN0YXJ0ID0gUzNDMjQxMF9DUzMsCisJCS5lbmQgICA9IFMzQzI0MTBfQ1MzICsgMywKKwkJLmZsYWdzID0gSU9SRVNPVVJDRV9NRU0KKwl9LAorCVsxXSA9IHsKKwkJLnN0YXJ0ID0gUzNDMjQxMF9DUzMgKyA0LAorCQkuZW5kICAgPSBTM0MyNDEwX0NTMyArIDcsCisJCS5mbGFncyA9IElPUkVTT1VSQ0VfTUVNCisJfSwKKwlbMl0gPSB7CisJCS5zdGFydCA9IElSUV9FSU5UNywKKwkJLmVuZCAgID0gSVJRX0VJTlQ3LAorCQkuZmxhZ3MgPSBJT1JFU09VUkNFX0lSUSB8IElPUkVTT1VSQ0VfSVJRX0hJR0hFREdFLAorCX0KK307CisKK3N0YXRpYyBzdHJ1Y3QgZG05MDAwX3BsYXRfZGF0YSBhdDI0NDBldmJfZG05a19wZGF0YSA9IHsKKwkuZmxhZ3MJCT0gKERNOTAwMF9QTEFURl8xNkJJVE9OTFkgfCBETTkwMDBfUExBVEZfTk9fRUVQUk9NKSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIGF0MjQ0MGV2Yl9kZXZpY2VfZXRoID0geworCS5uYW1lCQk9ICJkbTkwMDAiLAorCS5pZAkJPSAtMSwKKwkubnVtX3Jlc291cmNlcwk9IEFSUkFZX1NJWkUoYXQyNDQwZXZiX2RtOWtfcmVzb3VyY2UpLAorCS5yZXNvdXJjZQk9IGF0MjQ0MGV2Yl9kbTlrX3Jlc291cmNlLAorCS5kZXYJCT0geworCQkucGxhdGZvcm1fZGF0YQk9ICZhdDI0NDBldmJfZG05a19wZGF0YSwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKmF0MjQ0MGV2Yl9kZXZpY2VzW10gX19pbml0ZGF0YSA9IHsKKwkmczNjX2RldmljZV91c2IsCisJJnMzY19kZXZpY2Vfd2R0LAorCSZzM2NfZGV2aWNlX2FkYywKKwkmczNjX2RldmljZV9pMmMsCisJJnMzY19kZXZpY2VfcnRjLAorCSZzM2NfZGV2aWNlX25hbmQsCisJJmF0MjQ0MGV2Yl9kZXZpY2VfZXRoLAorfTsKKworc3RhdGljIHZvaWQgX19pbml0IGF0MjQ0MGV2Yl9tYXBfaW8odm9pZCkKK3sKKwlzM2NfZGV2aWNlX25hbmQuZGV2LnBsYXRmb3JtX2RhdGEgPSAmYXQyNDQwZXZiX25hbmRfaW5mbzsKKworCXMzYzI0eHhfaW5pdF9pbyhhdDI0NDBldmJfaW9kZXNjLCBBUlJBWV9TSVpFKGF0MjQ0MGV2Yl9pb2Rlc2MpKTsKKwlzM2MyNHh4X2luaXRfY2xvY2tzKDE2OTM0NDAwKTsKKwlzM2MyNHh4X2luaXRfdWFydHMoYXQyNDQwZXZiX3VhcnRjZmdzLCBBUlJBWV9TSVpFKGF0MjQ0MGV2Yl91YXJ0Y2ZncykpOworfQorCitzdGF0aWMgdm9pZCBfX2luaXQgYXQyNDQwZXZiX2luaXQodm9pZCkKK3sKKwlwbGF0Zm9ybV9hZGRfZGV2aWNlcyhhdDI0NDBldmJfZGV2aWNlcywgQVJSQVlfU0laRShhdDI0NDBldmJfZGV2aWNlcykpOworfQorCisKK01BQ0hJTkVfU1RBUlQoQVQyNDQwRVZCLCAiQVQyNDQwRVZCIikKKwkucGh5c19pbwk9IFMzQzI0MTBfUEFfVUFSVCwKKwkuaW9fcGdfb2Zmc3QJPSAoKCh1MzIpUzNDMjRYWF9WQV9VQVJUKSA+PiAxOCkgJiAweGZmZmMsCisJLmJvb3RfcGFyYW1zCT0gUzNDMjQxMF9TRFJBTV9QQSArIDB4MTAwLAorCS5tYXBfaW8JCT0gYXQyNDQwZXZiX21hcF9pbywKKwkuaW5pdF9tYWNoaW5lCT0gYXQyNDQwZXZiX2luaXQsCisJLmluaXRfaXJxCT0gczNjMjR4eF9pbml0X2lycSwKKwkudGltZXIJCT0gJnMzYzI0eHhfdGltZXIsCitNQUNISU5FX0VORApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1zM2MyNDQwL21hY2gtb3NpcmlzLmMgYi9hcmNoL2FybS9tYWNoLXMzYzI0NDAvbWFjaC1vc2lyaXMuYwppbmRleCA4YThhY2RiLi5hZjk5NmIwIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLXMzYzI0NDAvbWFjaC1vc2lyaXMuYworKysgYi9hcmNoL2FybS9tYWNoLXMzYzI0NDAvbWFjaC1vc2lyaXMuYwpAQCAtMSw2ICsxLDYgQEAKIC8qIGxpbnV4L2FyY2gvYXJtL21hY2gtczNjMjQ0MC9tYWNoLW9zaXJpcy5jCiAgKgotICogQ29weXJpZ2h0IChjKSAyMDA1IFNpbXRlYyBFbGVjdHJvbmljcworICogQ29weXJpZ2h0IChjKSAyMDA1LDIwMDggU2ltdGVjIEVsZWN0cm9uaWNzCiAgKglodHRwOi8vYXJtbGludXguc2ltdGVjLmNvLnVrLwogICoJQmVuIERvb2tzIDxiZW5Ac2ltdGVjLmNvLnVrPgogICoKQEAgLTE5LDYgKzE5LDcgQEAKICNpbmNsdWRlIDxsaW51eC9zeXNkZXYuaD4KICNpbmNsdWRlIDxsaW51eC9zZXJpYWxfY29yZS5oPgogI2luY2x1ZGUgPGxpbnV4L2Nsay5oPgorI2luY2x1ZGUgPGxpbnV4L2kyYy5oPgogCiAjaW5jbHVkZSA8YXNtL21hY2gvYXJjaC5oPgogI2luY2x1ZGUgPGFzbS9tYWNoL21hcC5oPgpAQCAtMzIyLDYgKzMyMywxNSBAQAogCS5jbHMJCT0gJm9zaXJpc19wbV9zeXNjbGFzcywKIH07CiAKKy8qIEkyQyBkZXZpY2VzIGZpdHRlZC4gKi8KKworc3RhdGljIHN0cnVjdCBpMmNfYm9hcmRfaW5mbyBvc2lyaXNfaTJjX2RldnNbXSBfX2luaXRkYXRhID0geworCXsKKwkJSTJDX0JPQVJEX0lORk8oInRwczY1MDExIiwgMHg0OCksCisJCS5pcnEJPSBJUlFfRUlOVDIwLAorCX0sCit9OworCiAvKiBTdGFuZGFyZCBPc2lyaXMgZGV2aWNlcyAqLwogCiBzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSAqb3NpcmlzX2RldmljZXNbXSBfX2luaXRkYXRhID0gewpAQCAtMzg4LDYgKzM5OCw5IEBACiAJc3lzZGV2X2NsYXNzX3JlZ2lzdGVyKCZvc2lyaXNfcG1fc3lzY2xhc3MpOwogCXN5c2Rldl9yZWdpc3Rlcigmb3NpcmlzX3BtX3N5c2Rldik7CiAKKwlpMmNfcmVnaXN0ZXJfYm9hcmRfaW5mbygwLCBvc2lyaXNfaTJjX2RldnMsCisJCQkJQVJSQVlfU0laRShvc2lyaXNfaTJjX2RldnMpKTsKKwogCXBsYXRmb3JtX2FkZF9kZXZpY2VzKG9zaXJpc19kZXZpY2VzLCBBUlJBWV9TSVpFKG9zaXJpc19kZXZpY2VzKSk7CiB9OwogCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLXMzYzI0NDMvY2xvY2suYyBiL2FyY2gvYXJtL21hY2gtczNjMjQ0My9jbG9jay5jCmluZGV4IGI0MmY5NTYuLjE3ZjA2NGYgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtczNjMjQ0My9jbG9jay5jCisrKyBiL2FyY2gvYXJtL21hY2gtczNjMjQ0My9jbG9jay5jCkBAIC04MSw3ICs4MSw3IEBACiAJZWxzZQogCQljbGtjb24gJj0gfmNsb2NrczsKIAotCV9fcmF3X3dyaXRlbChjbGtjb24sIFMzQzI0NDNfSENMS0NPTik7CisJX19yYXdfd3JpdGVsKGNsa2NvbiwgUzNDMjQ0M19QQ0xLQ09OKTsKIAogCXJldHVybiAwOwogfQpAQCAtMjIxLDcgKzIyMSw2IEBACiAJLmdldF9yYXRlCT0gczNjMjQ0M19nZXRyYXRlX21kaXZjbGssCiB9OwogCi0KIHN0YXRpYyBpbnQgczNjMjQ0M19zZXRwYXJlbnRfbXN5c2NsayhzdHJ1Y3QgY2xrICpjbGssIHN0cnVjdCBjbGsgKnBhcmVudCkKIHsKIAl1bnNpZ25lZCBsb25nIGNsa3NyYyA9IF9fcmF3X3JlYWRsKFMzQzI0NDNfQ0xLU1JDKTsKQEAgLTI0OSw2ICsyNDgsNDYgQEAKIAkuc2V0X3BhcmVudAk9IHMzYzI0NDNfc2V0cGFyZW50X21zeXNjbGssCiB9OwogCisvKiBhcm1kaXYKKyAqCisgKiB0aGlzIGNsb2NrIGlzIHNvdXJjZWQgZnJvbSBtc3lzY2xrIGFuZCBjYW4gaGF2ZSBhIG51bWJlciBvZgorICogZGl2aWRlciB2YWx1ZXMgYXBwbGllZCB0byBpdCB0byB0aGVuIGJlIGZlZCBpbnRvIGFybWNsay4KKyovCisKK3N0YXRpYyBzdHJ1Y3QgY2xrIGNsa19hcm1kaXYgPSB7CisJLm5hbWUJCT0gImFybWRpdiIsCisJLmlkCQk9IC0xLAorCS5wYXJlbnQJCT0gJmNsa19tc3lzY2xrLAorfTsKKworLyogYXJtY2xrCisgKgorICogdGhpcyBpcyB0aGUgY2xvY2sgZmVkIGludG8gdGhlIEFSTSBjb3JlIGl0c2VsZiwgZWl0aGVyIGZyb20KKyAqIGFybWRpdiBvciBmcm9tIGhjbGsuCisgKi8KKworc3RhdGljIGludCBzM2MyNDQzX3NldHBhcmVudF9hcm1jbGsoc3RydWN0IGNsayAqY2xrLCBzdHJ1Y3QgY2xrICpwYXJlbnQpCit7CisJdW5zaWduZWQgbG9uZyBjbGtkaXYwOworCisJY2xrZGl2MCA9IF9fcmF3X3JlYWRsKFMzQzI0NDNfQ0xLRElWMCk7CisKKwlpZiAocGFyZW50ID09ICZjbGtfYXJtZGl2KQorCQljbGtkaXYwICY9IH5TM0MyNDQzX0NMS0RJVjBfRFZTOworCWVsc2UgaWYgKHBhcmVudCA9PSAmY2xrX2gpCisJCWNsa2RpdjAgfD0gUzNDMjQ0M19DTEtESVYwX0RWUzsKKwllbHNlCisJCXJldHVybiAtRUlOVkFMOworCisJX19yYXdfd3JpdGVsKGNsa2RpdjAsIFMzQzI0NDNfQ0xLRElWMCk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIGNsa19hcm0gPSB7CisJLm5hbWUJCT0gImFybWNsayIsCisJLmlkCQk9IC0xLAorCS5zZXRfcGFyZW50CT0gczNjMjQ0M19zZXRwYXJlbnRfYXJtY2xrLAorfTsKIAogLyogZXN5c2NsawogICoKQEAgLTYzOSw2ICs2NzgsMjkgQEAKIAkucm91bmRfcmF0ZQk9IHMzYzI0NDNfcm91bmRyYXRlX2Nsa3NyYzI1NiwKIH07CiAKKy8qIHByZWRpdgorICoKKyAqIHRoaXMgZGl2aWRlcyB0aGUgbXN5c2NsayBkb3duIHRvIHBhc3MgdG8gaC9wL2V0Yy4KKyAqLworCitzdGF0aWMgdW5zaWduZWQgbG9uZyBzM2MyNDQzX3ByZWRpdl9nZXRyYXRlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwl1bnNpZ25lZCBsb25nIHJhdGUgPSBjbGtfZ2V0X3JhdGUoY2xrLT5wYXJlbnQpOworCXVuc2lnbmVkIGxvbmcgY2xrZGl2MCA9IF9fcmF3X3JlYWRsKFMzQzI0NDNfQ0xLRElWMCk7CisKKwljbGtkaXYwICY9IFMzQzI0NDNfQ0xLRElWMF9QUkVESVZfTUFTSzsKKwljbGtkaXYwID4+PSBTM0MyNDQzX0NMS0RJVjBfUFJFRElWX1NISUZUOworCisJcmV0dXJuIHJhdGUgLyAoY2xrZGl2MCArIDEpOworfQorCitzdGF0aWMgc3RydWN0IGNsayBjbGtfcHJlZGl2ID0geworCS5uYW1lCQk9ICJwcmVkaXYiLAorCS5pZAkJPSAtMSwKKwkucGFyZW50CQk9ICZjbGtfbXN5c2NsaywKKwkuZ2V0X3JhdGUJPSBzM2MyNDQzX3ByZWRpdl9nZXRyYXRlLAorfTsKKwogLyogc3RhbmRhcmQgY2xvY2sgZGVmaW5pdGlvbnMgKi8KIAogc3RhdGljIHN0cnVjdCBjbGsgaW5pdF9jbG9ja3NfZGlzYWJsZVtdID0gewpAQCAtODg3LDYgKzk0OSwxNSBAQAogCX0KIAogCWNsa19pbml0X3NldF9wYXJlbnQoJmNsa19tc3lzY2xrLCBwYXJlbnQpOworCisJLyogYXJtICovCisKKwlpZiAoX19yYXdfcmVhZGwoUzNDMjQ0M19DTEtESVYwKSAmIFMzQzI0NDNfQ0xLRElWMF9EVlMpCisJCXBhcmVudCA9ICZjbGtfaDsKKwllbHNlCisJCXBhcmVudCA9ICZjbGtfYXJtZGl2OworCisJY2xrX2luaXRfc2V0X3BhcmVudCgmY2xrX2FybSwgcGFyZW50KTsKIH0KIAogLyogYXJtZGl2IGRpdmlzb3IgdGFibGUgKi8KQEAgLTkwOSwxMCArOTgwLDkgQEAKIAlyZXR1cm4gYXJtZGl2W2Nsa2NvbjAgPj4gUzNDMjQ0M19DTEtESVYwX0FSTURJVl9TSElGVF07CiB9CiAKLXN0YXRpYyBpbmxpbmUgdW5zaWduZWQgbG9uZyBzM2MyNDQzX2dldF9wcmVkaXYodW5zaWduZWQgbG9uZyBjbGtjb24wKQorc3RhdGljIGlubGluZSB1bnNpZ25lZCBsb25nIHMzYzI0NDNfZ2V0X2hkaXYodW5zaWduZWQgbG9uZyBjbGtjb24wKQogewotCWNsa2NvbjAgJj0gUzNDMjQ0M19DTEtESVYwX1BSRURJVl9NQVNLOwotCWNsa2NvbjAgPj49IFMzQzI0NDNfQ0xLRElWMF9QUkVESVZfU0hJRlQ7CisJY2xrY29uMCAmPSBTM0MyNDQzX0NMS0RJVjBfSENMS0RJVl9NQVNLOwogCiAJcmV0dXJuIGNsa2NvbjAgKyAxOwogfQpAQCAtOTM2LDYgKzEwMDYsOSBAQAogCSZjbGtfaHNzcGksCiAJJmNsa19oc21tY19kaXYsCiAJJmNsa19oc21tYywKKwkmY2xrX2FybWRpdiwKKwkmY2xrX2FybSwKKwkmY2xrX3ByZWRpdiwKIH07CiAKIHZvaWQgX19pbml0IHMzYzI0NDNfaW5pdF9jbG9ja3MoaW50IHh0YWwpCkBAIC05NTEsMTAgKzEwMjQsMTYgQEAKIAlpbnQgcmV0OwogCWludCBwdHI7CiAKKwkvKiBzM2MyNDQzIHBhcmVudHMgaCBhbmQgcCBjbG9ja3MgZnJvbSBwcmVkaXYgKi8KKwljbGtfaC5wYXJlbnQgPSAmY2xrX3ByZWRpdjsKKwljbGtfcC5wYXJlbnQgPSAmY2xrX3ByZWRpdjsKKwogCXBsbCA9IHMzYzI0NDNfZ2V0X21wbGwobXBsbGNvbiwgeHRhbCk7CisJY2xrX21zeXNjbGsucmF0ZSA9IHBsbDsKIAogCWZjbGsgPSBwbGwgLyBzM2MyNDQzX2ZjbGtfZGl2KGNsa2RpdjApOwotCWhjbGsgPSBmY2xrIC8gczNjMjQ0M19nZXRfcHJlZGl2KGNsa2RpdjApOworCWhjbGsgPSBzM2MyNDQzX3ByZWRpdl9nZXRyYXRlKCZjbGtfcHJlZGl2KTsKKwloY2xrID0gaGNsayAvIHMzYzI0NDNfZ2V0X2hkaXYoY2xrZGl2MCk7CiAJaGNsayA9IGhjbGsgLyAoKGNsa2RpdjAgJiBTM0MyNDQzX0NMS0RJVjBfSEFMRl9IQ0xLKSA/IDIgOiAxKTsKICAJcGNsayA9IGhjbGsgLyAoKGNsa2RpdjAgJiBTM0MyNDQzX0NMS0RJVjBfSEFMRl9QQ0xLKSA/IDIgOiAxKTsKIApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbW0vS2NvbmZpZyBiL2FyY2gvYXJtL21tL0tjb25maWcKaW5kZXggMzNlZDA0OC4uM2E2YzhlYyAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbW0vS2NvbmZpZworKysgYi9hcmNoL2FybS9tbS9LY29uZmlnCkBAIC0xODAsOCArMTgwLDIxIEBACiAjIEFSTTkyNlQKIGNvbmZpZyBDUFVfQVJNOTI2VAogCWJvb2wgIlN1cHBvcnQgQVJNOTI2VCBwcm9jZXNzb3IiCi0JZGVwZW5kcyBvbiBBUkNIX0lOVEVHUkFUT1IgfHwgQVJDSF9WRVJTQVRJTEVfUEIgfHwgTUFDSF9WRVJTQVRJTEVfQUIgfHwgQVJDSF9PTUFQNzMwIHx8IEFSQ0hfT01BUDE2WFggfHwgTUFDSF9SRUFMVklFV19FQiB8fCBBUkNIX1BOWDQwMDggfHwgQVJDSF9ORVRYIHx8IENQVV9TM0MyNDEyIHx8IEFSQ0hfQVQ5MVNBTTkyNjAgfHwgQVJDSF9BVDkxU0FNOTI2MSB8fCBBUkNIX0FUOTFTQU05MjYzIHx8IEFSQ0hfQVQ5MVNBTTlSTCB8fCBBUkNIX0FUOTFDQVA5IHx8IEFSQ0hfTlM5WFhYIHx8IEFSQ0hfREFWSU5DSQotCWRlZmF1bHQgeSBpZiBBUkNIX1ZFUlNBVElMRV9QQiB8fCBNQUNIX1ZFUlNBVElMRV9BQiB8fCBBUkNIX09NQVA3MzAgfHwgQVJDSF9PTUFQMTZYWCB8fCBBUkNIX1BOWDQwMDggfHwgQVJDSF9ORVRYIHx8IENQVV9TM0MyNDEyIHx8IEFSQ0hfQVQ5MVNBTTkyNjAgfHwgQVJDSF9BVDkxU0FNOTI2MSB8fCBBUkNIX0FUOTFTQU05MjYzIHx8IEFSQ0hfQVQ5MVNBTTlSTCB8fCBBUkNIX0FUOTFDQVA5IHx8IEFSQ0hfTlM5WFhYIHx8IEFSQ0hfREFWSU5DSQorCWRlcGVuZHMgb24gQVJDSF9JTlRFR1JBVE9SIHx8IEFSQ0hfVkVSU0FUSUxFX1BCIHx8IFwKKwkJTUFDSF9WRVJTQVRJTEVfQUIgfHwgQVJDSF9PTUFQNzMwIHx8IFwKKwkJQVJDSF9PTUFQMTZYWCB8fCBNQUNIX1JFQUxWSUVXX0VCIHx8IFwKKwkJQVJDSF9QTlg0MDA4IHx8IEFSQ0hfTkVUWCB8fCBDUFVfUzNDMjQxMiB8fCBcCisJCUFSQ0hfQVQ5MVNBTTkyNjAgfHwgQVJDSF9BVDkxU0FNOTI2MSB8fCBcCisJCUFSQ0hfQVQ5MVNBTTkyNjMgfHwgQVJDSF9BVDkxU0FNOVJMIHx8IFwKKwkJQVJDSF9BVDkxU0FNOUcyMCB8fCBBUkNIX0FUOTFDQVA5IHx8IFwKKwkJQVJDSF9OUzlYWFggfHwgQVJDSF9EQVZJTkNJCisJZGVmYXVsdCB5IGlmIEFSQ0hfVkVSU0FUSUxFX1BCIHx8IE1BQ0hfVkVSU0FUSUxFX0FCIHx8IFwKKwkJQVJDSF9PTUFQNzMwIHx8IEFSQ0hfT01BUDE2WFggfHwgXAorCQlBUkNIX1BOWDQwMDggfHwgQVJDSF9ORVRYIHx8IENQVV9TM0MyNDEyIHx8IFwKKwkJQVJDSF9BVDkxU0FNOTI2MCB8fCBBUkNIX0FUOTFTQU05MjYxIHx8IFwKKwkJQVJDSF9BVDkxU0FNOTI2MyB8fCBBUkNIX0FUOTFTQU05UkwgfHwgXAorCQlBUkNIX0FUOTFTQU05RzIwIHx8IEFSQ0hfQVQ5MUNBUDkgfHwgXAorCQlBUkNIX05TOVhYWCB8fCBBUkNIX0RBVklOQ0kgfHwgQVJDSF9NWDIKIAlzZWxlY3QgQ1BVXzMydjUKIAlzZWxlY3QgQ1BVX0FCUlRfRVY1VEoKIAlzZWxlY3QgQ1BVX1BBQlJUX05PSUZBUgpAQCAtMzY1LDcgKzM3OCw3IEBACiAjIEZlcm9jZW9uCiBjb25maWcgQ1BVX0ZFUk9DRU9OCiAJYm9vbAotCWRlcGVuZHMgb24gQVJDSF9PUklPTjVYCisJZGVwZW5kcyBvbiBBUkNIX09SSU9ONVggfHwgQVJDSF9MT0tJIHx8IEFSQ0hfS0lSS1dPT0QgfHwgQVJDSF9NVjc4WFgwCiAJZGVmYXVsdCB5CiAJc2VsZWN0IENQVV8zMnY1CiAJc2VsZWN0IENQVV9BQlJUX0VWNVQKQEAgLTM3Myw3ICszODYsNyBAQAogCXNlbGVjdCBDUFVfQ0FDSEVfVklWVAogCXNlbGVjdCBDUFVfQ1AxNV9NTVUKIAlzZWxlY3QgQ1BVX0NPUFlfRkVST0NFT04gaWYgTU1VCi0Jc2VsZWN0IENQVV9UTEJfVjRXQkkgaWYgTU1VCisJc2VsZWN0IENQVV9UTEJfRkVST0NFT04gaWYgTU1VCiAKIGNvbmZpZyBDUFVfRkVST0NFT05fT0xEX0lECiAJYm9vbCAiQWNjZXB0IGVhcmx5IEZlcm9jZW9uIGNvcmVzIHdpdGggYW4gQVJNOTI2IElEIgpAQCAtNTUxLDYgKzU2NCwxMSBAQAogCSAgQVJNIEFyY2hpdGVjdHVyZSBWZXJzaW9uIDQgVExCIHdpdGggd3JpdGViYWNrIGNhY2hlIGFuZCBpbnZhbGlkYXRlCiAJICBpbnN0cnVjdGlvbiBjYWNoZSBlbnRyeS4KIAorY29uZmlnIENQVV9UTEJfRkVST0NFT04KKwlib29sCisJaGVscAorCSAgRmVyb2Nlb24gVExCICh2NHdiaSB3aXRoIG5vbi1vdXRlci1jYWNoYWJsZSBwYWdlIHRhYmxlIHdhbGtzKS4KKwogY29uZmlnIENQVV9UTEJfVjYKIAlib29sCiAKQEAgLTcwOSw2ICs3MjcsMTQgQEAKIAlib29sCiAJZGVmYXVsdCBuCiAKK2NvbmZpZyBDQUNIRV9GRVJPQ0VPTl9MMgorCWJvb2wgIkVuYWJsZSB0aGUgRmVyb2Nlb24gTDIgY2FjaGUgY29udHJvbGxlciIKKwlkZXBlbmRzIG9uIEFSQ0hfS0lSS1dPT0QgfHwgQVJDSF9NVjc4WFgwCisJZGVmYXVsdCB5CisJc2VsZWN0IE9VVEVSX0NBQ0hFCisJaGVscAorCSAgVGhpcyBvcHRpb24gZW5hYmxlcyB0aGUgRmVyb2Nlb24gTDIgY2FjaGUgY29udHJvbGxlci4KKwogY29uZmlnIENBQ0hFX0wyWDAKIAlib29sICJFbmFibGUgdGhlIEwyeDAgb3V0ZXIgY2FjaGUgY29udHJvbGxlciIKIAlkZXBlbmRzIG9uIFJFQUxWSUVXX0VCX0FSTTExTVAgfHwgTUFDSF9SRUFMVklFV19QQjExTVAgfHwgTUFDSF9SRUFMVklFV19QQjExNzYKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21tL01ha2VmaWxlIGIvYXJjaC9hcm0vbW0vTWFrZWZpbGUKaW5kZXggMzJiMmQyZC4uZjY0YjkyNSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbW0vTWFrZWZpbGUKKysrIGIvYXJjaC9hcm0vbW0vTWFrZWZpbGUKQEAgLTQ2LDYgKzQ2LDcgQEAKIG9iai0kKENPTkZJR19DUFVfVExCX1Y0V1QpCSs9IHRsYi12NC5vCiBvYmotJChDT05GSUdfQ1BVX1RMQl9WNFdCKQkrPSB0bGItdjR3Yi5vCiBvYmotJChDT05GSUdfQ1BVX1RMQl9WNFdCSSkJKz0gdGxiLXY0d2JpLm8KK29iai0kKENPTkZJR19DUFVfVExCX0ZFUk9DRU9OKQkrPSB0bGItdjR3YmkubwkjIHJldXNlIHY0d2JpIFRMQiBmdW5jdGlvbnMKIG9iai0kKENPTkZJR19DUFVfVExCX1Y2KQkrPSB0bGItdjYubwogb2JqLSQoQ09ORklHX0NQVV9UTEJfVjcpCSs9IHRsYi12Ny5vCiAKQEAgLTczLDQgKzc0LDUgQEAKIG9iai0kKENPTkZJR19DUFVfVjYpCQkrPSBwcm9jLXY2Lm8KIG9iai0kKENPTkZJR19DUFVfVjcpCQkrPSBwcm9jLXY3Lm8KIAorb2JqLSQoQ09ORklHX0NBQ0hFX0ZFUk9DRU9OX0wyKQkrPSBjYWNoZS1mZXJvY2Vvbi1sMi5vCiBvYmotJChDT05GSUdfQ0FDSEVfTDJYMCkJKz0gY2FjaGUtbDJ4MC5vCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tbS9jYWNoZS1mZXJvY2Vvbi1sMi5jIGIvYXJjaC9hcm0vbW0vY2FjaGUtZmVyb2Nlb24tbDIuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMGVlYzRiCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vbW0vY2FjaGUtZmVyb2Nlb24tbDIuYwpAQCAtMCwwICsxLDMxOCBAQAorLyoKKyAqIGFyY2gvYXJtL21tL2NhY2hlLWZlcm9jZW9uLWwyLmMgLSBGZXJvY2VvbiBMMiBjYWNoZSBjb250cm9sbGVyIHN1cHBvcnQKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggTWFydmVsbCBTZW1pY29uZHVjdG9yCisgKgorICogVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIHZlcnNpb24gMi4gIFRoaXMgcHJvZ3JhbSBpcyBsaWNlbnNlZCAiYXMgaXMiIHdpdGhvdXQgYW55CisgKiB3YXJyYW50eSBvZiBhbnkga2luZCwgd2hldGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKgorICogUmVmZXJlbmNlczoKKyAqIC0gVW5pZmllZCBMYXllciAyIENhY2hlIGZvciBGZXJvY2VvbiBDUFUgQ29yZXMsCisgKiAgIERvY3VtZW50IElEIE1WLVMxMDQ4NTgtMDAsIFJldi4gQSwgT2N0b2JlciAyMyAyMDA3LgorICovCisKKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8YXNtL2NhY2hlZmx1c2guaD4KKyNpbmNsdWRlIDxhc20vcGxhdC1vcmlvbi9jYWNoZS1mZXJvY2Vvbi1sMi5oPgorCisKKy8qCisgKiBMb3ctbGV2ZWwgY2FjaGUgbWFpbnRlbmFuY2Ugb3BlcmF0aW9ucy4KKyAqCisgKiBBcyB3ZWxsIGFzIHRoZSByZWd1bGFyICdjbGVhbi9pbnZhbGlkYXRlL2ZsdXNoIEwyIGNhY2hlIGxpbmUgYnkKKyAqIE1WQScgaW5zdHJ1Y3Rpb25zLCB0aGUgRmVyb2Nlb24gTDIgY2FjaGUgY29udHJvbGxlciBhbHNvIGZlYXR1cmVzCisgKiAnY2xlYW4vaW52YWxpZGF0ZSBMMiByYW5nZSBieSBNVkEnIG9wZXJhdGlvbnMuCisgKgorICogQ2FjaGUgcmFuZ2Ugb3BlcmF0aW9ucyBhcmUgaW5pdGlhdGVkIGJ5IHdyaXRpbmcgdGhlIHN0YXJ0IGFuZAorICogZW5kIGFkZHJlc3NlcyB0byBzdWNjZXNzaXZlIGNwMTUgcmVnaXN0ZXJzLCBhbmQgcHJvY2VzcyBldmVyeQorICogY2FjaGUgbGluZSB3aG9zZSBmaXJzdCBieXRlIGFkZHJlc3MgbGllcyBpbiB0aGUgaW5jbHVzaXZlIHJhbmdlCisgKiBbc3RhcnQ6ZW5kXS4KKyAqCisgKiBUaGUgY2FjaGUgcmFuZ2Ugb3BlcmF0aW9ucyBzdGFsbCB0aGUgQ1BVIHBpcGVsaW5lIHVudGlsIGNvbXBsZXRpb24uCisgKgorICogVGhlIHJhbmdlIG9wZXJhdGlvbnMgcmVxdWlyZSB0d28gc3VjY2Vzc2l2ZSBjcDE1IHdyaXRlcywgaW4KKyAqIGJldHdlZW4gd2hpY2ggd2UgZG9uJ3Qgd2FudCB0byBiZSBwcmVlbXB0ZWQuCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCBsMl9jbGVhbl9wYSh1bnNpZ25lZCBsb25nIGFkZHIpCit7CisJX19hc21fXygibWNyIHAxNSwgMSwgJTAsIGMxNSwgYzksIDMiIDogOiAiciIgKGFkZHIpKTsKK30KKworc3RhdGljIGlubGluZSB2b2lkIGwyX2NsZWFuX212YV9yYW5nZSh1bnNpZ25lZCBsb25nIHN0YXJ0LCB1bnNpZ25lZCBsb25nIGVuZCkKK3sKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCisJLyoKKwkgKiBNYWtlIHN1cmUgJ3N0YXJ0JyBhbmQgJ2VuZCcgcmVmZXJlbmNlIHRoZSBzYW1lIHBhZ2UsIGFzCisJICogTDIgaXMgUElQVCBhbmQgcmFuZ2Ugb3BlcmF0aW9ucyBvbmx5IGRvIGEgVExCIGxvb2t1cCBvbgorCSAqIHRoZSBzdGFydCBhZGRyZXNzLgorCSAqLworCUJVR19PTigoc3RhcnQgXiBlbmQpICYgfihQQUdFX1NJWkUgLSAxKSk7CisKKwlyYXdfbG9jYWxfaXJxX3NhdmUoZmxhZ3MpOworCV9fYXNtX18oIm1jciBwMTUsIDEsICUwLCBjMTUsIGM5LCA0IiA6IDogInIiIChzdGFydCkpOworCV9fYXNtX18oIm1jciBwMTUsIDEsICUwLCBjMTUsIGM5LCA1IiA6IDogInIiIChlbmQpKTsKKwlyYXdfbG9jYWxfaXJxX3Jlc3RvcmUoZmxhZ3MpOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgbDJfY2xlYW5fcGFfcmFuZ2UodW5zaWduZWQgbG9uZyBzdGFydCwgdW5zaWduZWQgbG9uZyBlbmQpCit7CisJbDJfY2xlYW5fbXZhX3JhbmdlKF9fcGh5c190b192aXJ0KHN0YXJ0KSwgX19waHlzX3RvX3ZpcnQoZW5kKSk7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBsMl9jbGVhbl9pbnZfcGEodW5zaWduZWQgbG9uZyBhZGRyKQoreworCV9fYXNtX18oIm1jciBwMTUsIDEsICUwLCBjMTUsIGMxMCwgMyIgOiA6ICJyIiAoYWRkcikpOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgbDJfaW52X3BhKHVuc2lnbmVkIGxvbmcgYWRkcikKK3sKKwlfX2FzbV9fKCJtY3IgcDE1LCAxLCAlMCwgYzE1LCBjMTEsIDMiIDogOiAiciIgKGFkZHIpKTsKK30KKworc3RhdGljIGlubGluZSB2b2lkIGwyX2ludl9tdmFfcmFuZ2UodW5zaWduZWQgbG9uZyBzdGFydCwgdW5zaWduZWQgbG9uZyBlbmQpCit7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKworCS8qCisJICogTWFrZSBzdXJlICdzdGFydCcgYW5kICdlbmQnIHJlZmVyZW5jZSB0aGUgc2FtZSBwYWdlLCBhcworCSAqIEwyIGlzIFBJUFQgYW5kIHJhbmdlIG9wZXJhdGlvbnMgb25seSBkbyBhIFRMQiBsb29rdXAgb24KKwkgKiB0aGUgc3RhcnQgYWRkcmVzcy4KKwkgKi8KKwlCVUdfT04oKHN0YXJ0IF4gZW5kKSAmIH4oUEFHRV9TSVpFIC0gMSkpOworCisJcmF3X2xvY2FsX2lycV9zYXZlKGZsYWdzKTsKKwlfX2FzbV9fKCJtY3IgcDE1LCAxLCAlMCwgYzE1LCBjMTEsIDQiIDogOiAiciIgKHN0YXJ0KSk7CisJX19hc21fXygibWNyIHAxNSwgMSwgJTAsIGMxNSwgYzExLCA1IiA6IDogInIiIChlbmQpKTsKKwlyYXdfbG9jYWxfaXJxX3Jlc3RvcmUoZmxhZ3MpOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgbDJfaW52X3BhX3JhbmdlKHVuc2lnbmVkIGxvbmcgc3RhcnQsIHVuc2lnbmVkIGxvbmcgZW5kKQoreworCWwyX2ludl9tdmFfcmFuZ2UoX19waHlzX3RvX3ZpcnQoc3RhcnQpLCBfX3BoeXNfdG9fdmlydChlbmQpKTsKK30KKworCisvKgorICogTGludXggcHJpbWl0aXZlcy4KKyAqCisgKiBOb3RlIHRoYXQgdGhlIGVuZCBhZGRyZXNzZXMgcGFzc2VkIHRvIExpbnV4IHByaW1pdGl2ZXMgYXJlCisgKiBub25pbmNsdXNpdmUsIHdoaWxlIHRoZSBoYXJkd2FyZSBjYWNoZSByYW5nZSBvcGVyYXRpb25zIHVzZQorICogaW5jbHVzaXZlIHN0YXJ0IGFuZCBlbmQgYWRkcmVzc2VzLgorICovCisjZGVmaW5lIENBQ0hFX0xJTkVfU0laRQkJMzIKKyNkZWZpbmUgTUFYX1JBTkdFX1NJWkUJCTEwMjQKKworc3RhdGljIGludCBsMl93dF9vdmVycmlkZTsKKworc3RhdGljIHVuc2lnbmVkIGxvbmcgY2FsY19yYW5nZV9lbmQodW5zaWduZWQgbG9uZyBzdGFydCwgdW5zaWduZWQgbG9uZyBlbmQpCit7CisJdW5zaWduZWQgbG9uZyByYW5nZV9lbmQ7CisKKwlCVUdfT04oc3RhcnQgJiAoQ0FDSEVfTElORV9TSVpFIC0gMSkpOworCUJVR19PTihlbmQgJiAoQ0FDSEVfTElORV9TSVpFIC0gMSkpOworCisJLyoKKwkgKiBUcnkgdG8gcHJvY2VzcyBhbGwgY2FjaGUgbGluZXMgYmV0d2VlbiAnc3RhcnQnIGFuZCAnZW5kJy4KKwkgKi8KKwlyYW5nZV9lbmQgPSBlbmQ7CisKKwkvKgorCSAqIExpbWl0IHRoZSBudW1iZXIgb2YgY2FjaGUgbGluZXMgcHJvY2Vzc2VkIGF0IG9uY2UsCisJICogc2luY2UgY2FjaGUgcmFuZ2Ugb3BlcmF0aW9ucyBzdGFsbCB0aGUgQ1BVIHBpcGVsaW5lCisJICogdW50aWwgY29tcGxldGlvbi4KKwkgKi8KKwlpZiAocmFuZ2VfZW5kID4gc3RhcnQgKyBNQVhfUkFOR0VfU0laRSkKKwkJcmFuZ2VfZW5kID0gc3RhcnQgKyBNQVhfUkFOR0VfU0laRTsKKworCS8qCisJICogQ2FjaGUgcmFuZ2Ugb3BlcmF0aW9ucyBjYW4ndCBzdHJhZGRsZSBhIHBhZ2UgYm91bmRhcnkuCisJICovCisJaWYgKHJhbmdlX2VuZCA+IChzdGFydCB8IChQQUdFX1NJWkUgLSAxKSkgKyAxKQorCQlyYW5nZV9lbmQgPSAoc3RhcnQgfCAoUEFHRV9TSVpFIC0gMSkpICsgMTsKKworCXJldHVybiByYW5nZV9lbmQ7Cit9CisKK3N0YXRpYyB2b2lkIGZlcm9jZW9uX2wyX2ludl9yYW5nZSh1bnNpZ25lZCBsb25nIHN0YXJ0LCB1bnNpZ25lZCBsb25nIGVuZCkKK3sKKwkvKgorCSAqIENsZWFuIGFuZCBpbnZhbGlkYXRlIHBhcnRpYWwgZmlyc3QgY2FjaGUgbGluZS4KKwkgKi8KKwlpZiAoc3RhcnQgJiAoQ0FDSEVfTElORV9TSVpFIC0gMSkpIHsKKwkJbDJfY2xlYW5faW52X3BhKHN0YXJ0ICYgfihDQUNIRV9MSU5FX1NJWkUgLSAxKSk7CisJCXN0YXJ0ID0gKHN0YXJ0IHwgKENBQ0hFX0xJTkVfU0laRSAtIDEpKSArIDE7CisJfQorCisJLyoKKwkgKiBDbGVhbiBhbmQgaW52YWxpZGF0ZSBwYXJ0aWFsIGxhc3QgY2FjaGUgbGluZS4KKwkgKi8KKwlpZiAoZW5kICYgKENBQ0hFX0xJTkVfU0laRSAtIDEpKSB7CisJCWwyX2NsZWFuX2ludl9wYShlbmQgJiB+KENBQ0hFX0xJTkVfU0laRSAtIDEpKTsKKwkJZW5kICY9IH4oQ0FDSEVfTElORV9TSVpFIC0gMSk7CisJfQorCisJLyoKKwkgKiBJbnZhbGlkYXRlIGFsbCBmdWxsIGNhY2hlIGxpbmVzIGJldHdlZW4gJ3N0YXJ0JyBhbmQgJ2VuZCcuCisJICovCisJd2hpbGUgKHN0YXJ0ICE9IGVuZCkgeworCQl1bnNpZ25lZCBsb25nIHJhbmdlX2VuZCA9IGNhbGNfcmFuZ2VfZW5kKHN0YXJ0LCBlbmQpOworCQlsMl9pbnZfcGFfcmFuZ2Uoc3RhcnQsIHJhbmdlX2VuZCAtIENBQ0hFX0xJTkVfU0laRSk7CisJCXN0YXJ0ID0gcmFuZ2VfZW5kOworCX0KKworCWRzYigpOworfQorCitzdGF0aWMgdm9pZCBmZXJvY2Vvbl9sMl9jbGVhbl9yYW5nZSh1bnNpZ25lZCBsb25nIHN0YXJ0LCB1bnNpZ25lZCBsb25nIGVuZCkKK3sKKwkvKgorCSAqIElmIEwyIGlzIGZvcmNlZCB0byBXVCwgdGhlIEwyIHdpbGwgYWx3YXlzIGJlIGNsZWFuIGFuZCB3ZQorCSAqIGRvbid0IG5lZWQgdG8gZG8gYW55dGhpbmcgaGVyZS4KKwkgKi8KKwlpZiAoIWwyX3d0X292ZXJyaWRlKSB7CisJCXN0YXJ0ICY9IH4oQ0FDSEVfTElORV9TSVpFIC0gMSk7CisJCWVuZCA9IChlbmQgKyBDQUNIRV9MSU5FX1NJWkUgLSAxKSAmIH4oQ0FDSEVfTElORV9TSVpFIC0gMSk7CisJCXdoaWxlIChzdGFydCAhPSBlbmQpIHsKKwkJCXVuc2lnbmVkIGxvbmcgcmFuZ2VfZW5kID0gY2FsY19yYW5nZV9lbmQoc3RhcnQsIGVuZCk7CisJCQlsMl9jbGVhbl9wYV9yYW5nZShzdGFydCwgcmFuZ2VfZW5kIC0gQ0FDSEVfTElORV9TSVpFKTsKKwkJCXN0YXJ0ID0gcmFuZ2VfZW5kOworCQl9CisJfQorCisJZHNiKCk7Cit9CisKK3N0YXRpYyB2b2lkIGZlcm9jZW9uX2wyX2ZsdXNoX3JhbmdlKHVuc2lnbmVkIGxvbmcgc3RhcnQsIHVuc2lnbmVkIGxvbmcgZW5kKQoreworCXN0YXJ0ICY9IH4oQ0FDSEVfTElORV9TSVpFIC0gMSk7CisJZW5kID0gKGVuZCArIENBQ0hFX0xJTkVfU0laRSAtIDEpICYgfihDQUNIRV9MSU5FX1NJWkUgLSAxKTsKKwl3aGlsZSAoc3RhcnQgIT0gZW5kKSB7CisJCXVuc2lnbmVkIGxvbmcgcmFuZ2VfZW5kID0gY2FsY19yYW5nZV9lbmQoc3RhcnQsIGVuZCk7CisJCWlmICghbDJfd3Rfb3ZlcnJpZGUpCisJCQlsMl9jbGVhbl9wYV9yYW5nZShzdGFydCwgcmFuZ2VfZW5kIC0gQ0FDSEVfTElORV9TSVpFKTsKKwkJbDJfaW52X3BhX3JhbmdlKHN0YXJ0LCByYW5nZV9lbmQgLSBDQUNIRV9MSU5FX1NJWkUpOworCQlzdGFydCA9IHJhbmdlX2VuZDsKKwl9CisKKwlkc2IoKTsKK30KKworCisvKgorICogUm91dGluZXMgdG8gZGlzYWJsZSBhbmQgcmUtZW5hYmxlIHRoZSBELWNhY2hlIGFuZCBJLWNhY2hlIGF0IHJ1bgorICogdGltZS4gIFRoZXNlIGFyZSBuZWNlc3NhcnkgYmVjYXVzZSB0aGUgTDIgY2FjaGUgY2FuIG9ubHkgYmUgZW5hYmxlZAorICogb3IgZGlzYWJsZWQgd2hpbGUgdGhlIEwxIERjYWNoZSBhbmQgSWNhY2hlIGFyZSBib3RoIGRpc2FibGVkLgorICovCitzdGF0aWMgdm9pZCBfX2luaXQgaW52YWxpZGF0ZV9hbmRfZGlzYWJsZV9kY2FjaGUodm9pZCkKK3sKKwl1MzIgY3I7CisKKwljciA9IGdldF9jcigpOworCWlmIChjciAmIENSX0MpIHsKKwkJdW5zaWduZWQgbG9uZyBmbGFnczsKKworCQlyYXdfbG9jYWxfaXJxX3NhdmUoZmxhZ3MpOworCQlmbHVzaF9jYWNoZV9hbGwoKTsKKwkJc2V0X2NyKGNyICYgfkNSX0MpOworCQlyYXdfbG9jYWxfaXJxX3Jlc3RvcmUoZmxhZ3MpOworCX0KK30KKworc3RhdGljIHZvaWQgX19pbml0IGVuYWJsZV9kY2FjaGUodm9pZCkKK3sKKwl1MzIgY3I7CisKKwljciA9IGdldF9jcigpOworCWlmICghKGNyICYgQ1JfQykpCisJCXNldF9jcihjciB8IENSX0MpOworfQorCitzdGF0aWMgdm9pZCBfX2luaXQgX19pbnZhbGlkYXRlX2ljYWNoZSh2b2lkKQoreworCWludCBkdW1teTsKKworCV9fYXNtX18gX192b2xhdGlsZV9fKCJtY3IgcDE1LCAwLCAlMCwgYzcsIGM1LCAwXG4iIDogIj1yIiAoZHVtbXkpKTsKK30KKworc3RhdGljIHZvaWQgX19pbml0IGludmFsaWRhdGVfYW5kX2Rpc2FibGVfaWNhY2hlKHZvaWQpCit7CisJdTMyIGNyOworCisJY3IgPSBnZXRfY3IoKTsKKwlpZiAoY3IgJiBDUl9JKSB7CisJCXNldF9jcihjciAmIH5DUl9JKTsKKwkJX19pbnZhbGlkYXRlX2ljYWNoZSgpOworCX0KK30KKworc3RhdGljIHZvaWQgX19pbml0IGVuYWJsZV9pY2FjaGUodm9pZCkKK3sKKwl1MzIgY3I7CisKKwljciA9IGdldF9jcigpOworCWlmICghKGNyICYgQ1JfSSkpCisJCXNldF9jcihjciB8IENSX0kpOworfQorCitzdGF0aWMgaW5saW5lIHUzMiByZWFkX2V4dHJhX2ZlYXR1cmVzKHZvaWQpCit7CisJdTMyIHU7CisKKwlfX2FzbV9fKCJtcmMgcDE1LCAxLCAlMCwgYzE1LCBjMSwgMCIgOiAiPXIiICh1KSk7CisKKwlyZXR1cm4gdTsKK30KKworc3RhdGljIGlubGluZSB2b2lkIHdyaXRlX2V4dHJhX2ZlYXR1cmVzKHUzMiB1KQoreworCV9fYXNtX18oIm1jciBwMTUsIDEsICUwLCBjMTUsIGMxLCAwIiA6IDogInIiICh1KSk7Cit9CisKK3N0YXRpYyB2b2lkIF9faW5pdCBkaXNhYmxlX2wyX3ByZWZldGNoKHZvaWQpCit7CisJdTMyIHU7CisKKwkvKgorCSAqIFJlYWQgdGhlIENQVSBFeHRyYSBGZWF0dXJlcyByZWdpc3RlciBhbmQgdmVyaWZ5IHRoYXQgdGhlCisJICogRGlzYWJsZSBMMiBQcmVmZXRjaCBiaXQgaXMgc2V0LgorCSAqLworCXUgPSByZWFkX2V4dHJhX2ZlYXR1cmVzKCk7CisJaWYgKCEodSAmIDB4MDEwMDAwMDApKSB7CisJCXByaW50ayhLRVJOX0lORk8gIkZlcm9jZW9uIEwyOiBEaXNhYmxpbmcgTDIgcHJlZmV0Y2guXG4iKTsKKwkJd3JpdGVfZXh0cmFfZmVhdHVyZXModSB8IDB4MDEwMDAwMDApOworCX0KK30KKworc3RhdGljIHZvaWQgX19pbml0IGVuYWJsZV9sMih2b2lkKQoreworCXUzMiB1OworCisJdSA9IHJlYWRfZXh0cmFfZmVhdHVyZXMoKTsKKwlpZiAoISh1ICYgMHgwMDQwMDAwMCkpIHsKKwkJcHJpbnRrKEtFUk5fSU5GTyAiRmVyb2Nlb24gTDI6IEVuYWJsaW5nIEwyXG4iKTsKKworCQlpbnZhbGlkYXRlX2FuZF9kaXNhYmxlX2RjYWNoZSgpOworCQlpbnZhbGlkYXRlX2FuZF9kaXNhYmxlX2ljYWNoZSgpOworCQl3cml0ZV9leHRyYV9mZWF0dXJlcyh1IHwgMHgwMDQwMDAwMCk7CisJCWVuYWJsZV9pY2FjaGUoKTsKKwkJZW5hYmxlX2RjYWNoZSgpOworCX0KK30KKwordm9pZCBfX2luaXQgZmVyb2Nlb25fbDJfaW5pdChpbnQgX19sMl93dF9vdmVycmlkZSkKK3sKKwlsMl93dF9vdmVycmlkZSA9IF9fbDJfd3Rfb3ZlcnJpZGU7CisKKwlkaXNhYmxlX2wyX3ByZWZldGNoKCk7CisKKwlvdXRlcl9jYWNoZS5pbnZfcmFuZ2UgPSBmZXJvY2Vvbl9sMl9pbnZfcmFuZ2U7CisJb3V0ZXJfY2FjaGUuY2xlYW5fcmFuZ2UgPSBmZXJvY2Vvbl9sMl9jbGVhbl9yYW5nZTsKKwlvdXRlcl9jYWNoZS5mbHVzaF9yYW5nZSA9IGZlcm9jZW9uX2wyX2ZsdXNoX3JhbmdlOworCisJZW5hYmxlX2wyKCk7CisKKwlwcmludGsoS0VSTl9JTkZPICJGZXJvY2VvbiBMMjogQ2FjaGUgc3VwcG9ydCBpbml0aWFsaXNlZCVzLlxuIiwKKwkJCSBsMl93dF9vdmVycmlkZSA/ICIsIGluIFdUIG92ZXJyaWRlIG1vZGUiIDogIiIpOworfQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbW0vZmF1bHQtYXJtdi5jIGIvYXJjaC9hcm0vbW0vZmF1bHQtYXJtdi5jCmluZGV4IDQ0NTU4ZDUuLmZiZmEyNjAgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21tL2ZhdWx0LWFybXYuYworKysgYi9hcmNoL2FybS9tbS9mYXVsdC1hcm12LmMKQEAgLTE0NCwxMyArMTQ0LDE3IEBACiAJcGFnZSA9IHBmbl90b19wYWdlKHBmbik7CiAJbWFwcGluZyA9IHBhZ2VfbWFwcGluZyhwYWdlKTsKIAlpZiAobWFwcGluZykgeworI2lmbmRlZiBDT05GSUdfU01QCiAJCWludCBkaXJ0eSA9IHRlc3RfYW5kX2NsZWFyX2JpdChQR19kY2FjaGVfZGlydHksICZwYWdlLT5mbGFncyk7CiAKIAkJaWYgKGRpcnR5KQogCQkJX19mbHVzaF9kY2FjaGVfcGFnZShtYXBwaW5nLCBwYWdlKTsKKyNlbmRpZgogCiAJCWlmIChjYWNoZV9pc192aXZ0KCkpCiAJCQltYWtlX2NvaGVyZW50KG1hcHBpbmcsIHZtYSwgYWRkciwgcGZuKTsKKwkJZWxzZSBpZiAodm1hLT52bV9mbGFncyAmIFZNX0VYRUMpCisJCQlfX2ZsdXNoX2ljYWNoZV9hbGwoKTsKIAl9CiB9CiAKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21tL2ZsdXNoLmMgYi9hcmNoL2FybS9tbS9mbHVzaC5jCmluZGV4IDlkZjUwN2QuLjAyOWVlNjUgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21tL2ZsdXNoLmMKKysrIGIvYXJjaC9hcm0vbW0vZmx1c2guYwpAQCAtMTk5LDYgKzE5OSw4IEBACiAJCV9fZmx1c2hfZGNhY2hlX3BhZ2UobWFwcGluZywgcGFnZSk7CiAJCWlmIChtYXBwaW5nICYmIGNhY2hlX2lzX3ZpdnQoKSkKIAkJCV9fZmx1c2hfZGNhY2hlX2FsaWFzZXMobWFwcGluZywgcGFnZSk7CisJCWVsc2UgaWYgKG1hcHBpbmcpCisJCQlfX2ZsdXNoX2ljYWNoZV9hbGwoKTsKIAl9CiB9CiBFWFBPUlRfU1lNQk9MKGZsdXNoX2RjYWNoZV9wYWdlKTsKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21tL3Byb2MtZmVyb2Nlb24uUyBiL2FyY2gvYXJtL21tL3Byb2MtZmVyb2Nlb24uUwppbmRleCBhMDJjMTcxLi5mMmU1ODg0IDEwMDY0NAotLS0gYS9hcmNoL2FybS9tbS9wcm9jLWZlcm9jZW9uLlMKKysrIGIvYXJjaC9hcm0vbW0vcHJvYy1mZXJvY2Vvbi5TCkBAIC00NCwxMSArNDQsMzEgQEAKICAqLwogI2RlZmluZSBDQUNIRV9ETElORVNJWkUJMzIKIAorCS5ic3MKKwkuYWxpZ24gMworX19jYWNoZV9wYXJhbXNfbG9jOgorCS5zcGFjZQk4CisKIAkudGV4dAorX19jYWNoZV9wYXJhbXM6CisJLndvcmQJX19jYWNoZV9wYXJhbXNfbG9jCisKIC8qCiAgKiBjcHVfZmVyb2Nlb25fcHJvY19pbml0KCkKICAqLwogRU5UUlkoY3B1X2Zlcm9jZW9uX3Byb2NfaW5pdCkKKwltcmMJcDE1LCAwLCByMCwgYzAsIGMwLCAxCQlAIHJlYWQgY2FjaGUgdHlwZSByZWdpc3RlcgorCWxkcglyMSwgX19jYWNoZV9wYXJhbXMKKwltb3YJcjIsICMoMTYgPDwgNSkKKwl0c3QJcjAsICMoMSA8PCAxNikJCQlAIGdldCB3YXkKKwltb3YJcjAsIHIwLCBsc3IgIzE4CQkJQCBnZXQgY2FjaGUgc2l6ZSBvcmRlcgorCW1vdm5lCXIzLCAjKCg0IC0gMSkgPDwgMzApCQlAIDQtd2F5CisJYW5kCXIwLCByMCwgIzB4ZgorCW1vdmVxCXIzLCAjMAkJCQlAIDEtd2F5CisJbW92CXIyLCByMiwgbHNsIHIwCQkJQCBhY3R1YWwgY2FjaGUgc2l6ZQorCW1vdm5lCXIyLCByMiwgbHNyICMyCQkJQCB0dXJuZWQgaW50byAjIG9mIHNldHMKKwlzdWIJcjIsIHIyLCAjKDEgPDwgNSkKKwlzdG1pYQlyMSwge3IyLCByM30KIAltb3YJcGMsIGxyCiAKIC8qCkBAIC01OSw2ICs3OSwxMyBAQAogCW1vdglpcCwgI1BTUl9GX0JJVCB8IFBTUl9JX0JJVCB8IFNWQ19NT0RFCiAJbXNyCWNwc3JfYywgaXAKIAlibAlmZXJvY2Vvbl9mbHVzaF9rZXJuX2NhY2hlX2FsbAorCisjaWYgZGVmaW5lZChDT05GSUdfQ0FDSEVfRkVST0NFT05fTDIpICYmICFkZWZpbmVkKENPTkZJR19MMl9DQUNIRV9XUklURVRIUk9VR0gpCisJbW92CXIwLCAjMAorCW1jcglwMTUsIDEsIHIwLCBjMTUsIGM5LCAwCQlAIGNsZWFuIEwyCisJbWNyCXAxNSwgMCwgcjAsIGM3LCBjMTAsIDQJCUAgZHJhaW4gV0IKKyNlbmRpZgorCiAJbXJjCXAxNSwgMCwgcjAsIGMxLCBjMCwgMAkJQCBjdHJsIHJlZ2lzdGVyCiAJYmljCXIwLCByMCwgIzB4MTAwMAkJCUAgLi4uaS4uLi4uLi4uLi4uLgogCWJpYwlyMCwgcjAsICMweDAwMGUJCQlAIC4uLi4uLi4uLi4uLndjYS4KQEAgLTExNywxMSArMTQ0LDE5IEBACiAgKi8KIEVOVFJZKGZlcm9jZW9uX2ZsdXNoX2tlcm5fY2FjaGVfYWxsKQogCW1vdglyMiwgI1ZNX0VYRUMKLQltb3YJaXAsICMwCisKIF9fZmx1c2hfd2hvbGVfY2FjaGU6Ci0xOgltcmMJcDE1LCAwLCByMTUsIGM3LCBjMTQsIDMgCUAgdGVzdCxjbGVhbixpbnZhbGlkYXRlCi0JYm5lCTFiCisJbGRyCXIxLCBfX2NhY2hlX3BhcmFtcworCWxkbWlhCXIxLCB7cjEsIHIzfQorMToJb3JyCWlwLCByMSwgcjMKKzI6CW1jcglwMTUsIDAsIGlwLCBjNywgYzE0LCAyCQlAIGNsZWFuICsgaW52YWxpZGF0ZSBEIHNldC93YXkKKwlzdWJzCWlwLCBpcCwgIygxIDw8IDMwKQkJQCBuZXh0IHdheQorCWJjcwkyYgorCXN1YnMJcjEsIHIxLCAjKDEgPDwgNSkJCUAgbmV4dCBzZXQKKwliY3MJMWIKKwogCXRzdAlyMiwgI1ZNX0VYRUMKKwltb3YJaXAsICMwCiAJbWNybmUJcDE1LCAwLCBpcCwgYzcsIGM1LCAwCQlAIGludmFsaWRhdGUgSSBjYWNoZQogCW1jcm5lCXAxNSwgMCwgaXAsIGM3LCBjMTAsIDQJCUAgZHJhaW4gV0IKIAltb3YJcGMsIGxyCkBAIC0xMzgsNyArMTczLDYgQEAKICAqLwogCS5hbGlnbgk1CiBFTlRSWShmZXJvY2Vvbl9mbHVzaF91c2VyX2NhY2hlX3JhbmdlKQotCW1vdglpcCwgIzAKIAlzdWIJcjMsIHIxLCByMAkJCUAgY2FsY3VsYXRlIHRvdGFsIHNpemUKIAljbXAJcjMsICNDQUNIRV9ETElNSVQKIAliZ3QJX19mbHVzaF93aG9sZV9jYWNoZQpAQCAtMTUyLDYgKzE4Niw3IEBACiAJY21wCXIwLCByMQogCWJsbwkxYgogCXRzdAlyMiwgI1ZNX0VYRUMKKwltb3YJaXAsICMwCiAJbWNybmUJcDE1LCAwLCBpcCwgYzcsIGMxMCwgNAkJQCBkcmFpbiBXQgogCW1vdglwYywgbHIKIApAQCAtMjA5LDYgKzI0NCwyMCBAQAogCW1jcglwMTUsIDAsIHIwLCBjNywgYzEwLCA0CQlAIGRyYWluIFdCCiAJbW92CXBjLCBscgogCisJLmFsaWduCTUKK0VOVFJZKGZlcm9jZW9uX3JhbmdlX2ZsdXNoX2tlcm5fZGNhY2hlX3BhZ2UpCisJbXJzCXIyLCBjcHNyCisJYWRkCXIxLCByMCwgI1BBR0VfU1ogLSBDQUNIRV9ETElORVNJWkUJQCB0b3AgYWRkciBpcyBpbmNsdXNpdmUKKwlvcnIJcjMsIHIyLCAjUFNSX0lfQklUCisJbXNyCWNwc3JfYywgcjMJCQlAIGRpc2FibGUgaW50ZXJydXB0cworCW1jcglwMTUsIDUsIHIwLCBjMTUsIGMxNSwgMAkJQCBEIGNsZWFuL2ludiByYW5nZSBzdGFydAorCW1jcglwMTUsIDUsIHIxLCBjMTUsIGMxNSwgMQkJQCBEIGNsZWFuL2ludiByYW5nZSB0b3AKKwltc3IJY3Bzcl9jLCByMgkJCUAgcmVzdG9yZSBpbnRlcnJ1cHRzCisJbW92CXIwLCAjMAorCW1jcglwMTUsIDAsIHIwLCBjNywgYzUsIDAJCUAgaW52YWxpZGF0ZSBJIGNhY2hlCisJbWNyCXAxNSwgMCwgcjAsIGM3LCBjMTAsIDQJCUAgZHJhaW4gV0IKKwltb3YJcGMsIGxyCisKIC8qCiAgKglkbWFfaW52X3JhbmdlKHN0YXJ0LCBlbmQpCiAgKgpAQCAtMjI1LDEwICsyNzQsMTAgQEAKIAkuYWxpZ24JNQogRU5UUlkoZmVyb2Nlb25fZG1hX2ludl9yYW5nZSkKIAl0c3QJcjAsICNDQUNIRV9ETElORVNJWkUgLSAxCisJYmljCXIwLCByMCwgI0NBQ0hFX0RMSU5FU0laRSAtIDEKIAltY3JuZQlwMTUsIDAsIHIwLCBjNywgYzEwLCAxCQlAIGNsZWFuIEQgZW50cnkKIAl0c3QJcjEsICNDQUNIRV9ETElORVNJWkUgLSAxCiAJbWNybmUJcDE1LCAwLCByMSwgYzcsIGMxMCwgMQkJQCBjbGVhbiBEIGVudHJ5Ci0JYmljCXIwLCByMCwgI0NBQ0hFX0RMSU5FU0laRSAtIDEKIDE6CW1jcglwMTUsIDAsIHIwLCBjNywgYzYsIDEJCUAgaW52YWxpZGF0ZSBEIGVudHJ5CiAJYWRkCXIwLCByMCwgI0NBQ0hFX0RMSU5FU0laRQogCWNtcAlyMCwgcjEKQEAgLTIzNiw2ICsyODUsMjIgQEAKIAltY3IJcDE1LCAwLCByMCwgYzcsIGMxMCwgNAkJQCBkcmFpbiBXQgogCW1vdglwYywgbHIKIAorCS5hbGlnbgk1CitFTlRSWShmZXJvY2Vvbl9yYW5nZV9kbWFfaW52X3JhbmdlKQorCW1ycwlyMiwgY3BzcgorCXRzdAlyMCwgI0NBQ0hFX0RMSU5FU0laRSAtIDEKKwltY3JuZQlwMTUsIDAsIHIwLCBjNywgYzEwLCAxCQlAIGNsZWFuIEQgZW50cnkKKwl0c3QJcjEsICNDQUNIRV9ETElORVNJWkUgLSAxCisJbWNybmUJcDE1LCAwLCByMSwgYzcsIGMxMCwgMQkJQCBjbGVhbiBEIGVudHJ5CisJY21wCXIxLCByMAorCXN1Ym5lCXIxLCByMSwgIzEJCQlAIHRvcCBhZGRyZXNzIGlzIGluY2x1c2l2ZQorCW9ycglyMywgcjIsICNQU1JfSV9CSVQKKwltc3IJY3Bzcl9jLCByMwkJCUAgZGlzYWJsZSBpbnRlcnJ1cHRzCisJbWNyCXAxNSwgNSwgcjAsIGMxNSwgYzE0LCAwCQlAIEQgaW52IHJhbmdlIHN0YXJ0CisJbWNyCXAxNSwgNSwgcjEsIGMxNSwgYzE0LCAxCQlAIEQgaW52IHJhbmdlIHRvcAorCW1zcgljcHNyX2MsIHIyCQkJQCByZXN0b3JlIGludGVycnVwdHMKKwltb3YJcGMsIGxyCisKIC8qCiAgKglkbWFfY2xlYW5fcmFuZ2Uoc3RhcnQsIGVuZCkKICAqCkBAIC0yNTYsNiArMzIxLDE5IEBACiAJbWNyCXAxNSwgMCwgcjAsIGM3LCBjMTAsIDQJCUAgZHJhaW4gV0IKIAltb3YJcGMsIGxyCiAKKwkuYWxpZ24JNQorRU5UUlkoZmVyb2Nlb25fcmFuZ2VfZG1hX2NsZWFuX3JhbmdlKQorCW1ycwlyMiwgY3BzcgorCWNtcAlyMSwgcjAKKwlzdWJuZQlyMSwgcjEsICMxCQkJQCB0b3AgYWRkcmVzcyBpcyBpbmNsdXNpdmUKKwlvcnIJcjMsIHIyLCAjUFNSX0lfQklUCisJbXNyCWNwc3JfYywgcjMJCQlAIGRpc2FibGUgaW50ZXJydXB0cworCW1jcglwMTUsIDUsIHIwLCBjMTUsIGMxMywgMAkJQCBEIGNsZWFuIHJhbmdlIHN0YXJ0CisJbWNyCXAxNSwgNSwgcjEsIGMxNSwgYzEzLCAxCQlAIEQgY2xlYW4gcmFuZ2UgdG9wCisJbXNyCWNwc3JfYywgcjIJCQlAIHJlc3RvcmUgaW50ZXJydXB0cworCW1jcglwMTUsIDAsIHIwLCBjNywgYzEwLCA0CQlAIGRyYWluIFdCCisJbW92CXBjLCBscgorCiAvKgogICoJZG1hX2ZsdXNoX3JhbmdlKHN0YXJ0LCBlbmQpCiAgKgpAQCAtMjc0LDYgKzM1MiwxOSBAQAogCW1jcglwMTUsIDAsIHIwLCBjNywgYzEwLCA0CQlAIGRyYWluIFdCCiAJbW92CXBjLCBscgogCisJLmFsaWduCTUKK0VOVFJZKGZlcm9jZW9uX3JhbmdlX2RtYV9mbHVzaF9yYW5nZSkKKwltcnMJcjIsIGNwc3IKKwljbXAJcjEsIHIwCisJc3VibmUJcjEsIHIxLCAjMQkJCUAgdG9wIGFkZHJlc3MgaXMgaW5jbHVzaXZlCisJb3JyCXIzLCByMiwgI1BTUl9JX0JJVAorCW1zcgljcHNyX2MsIHIzCQkJQCBkaXNhYmxlIGludGVycnVwdHMKKwltY3IJcDE1LCA1LCByMCwgYzE1LCBjMTUsIDAJCUAgRCBjbGVhbi9pbnYgcmFuZ2Ugc3RhcnQKKwltY3IJcDE1LCA1LCByMSwgYzE1LCBjMTUsIDEJCUAgRCBjbGVhbi9pbnYgcmFuZ2UgdG9wCisJbXNyCWNwc3JfYywgcjIJCQlAIHJlc3RvcmUgaW50ZXJydXB0cworCW1jcglwMTUsIDAsIHIwLCBjNywgYzEwLCA0CQlAIGRyYWluIFdCCisJbW92CXBjLCBscgorCiBFTlRSWShmZXJvY2Vvbl9jYWNoZV9mbnMpCiAJLmxvbmcJZmVyb2Nlb25fZmx1c2hfa2Vybl9jYWNoZV9hbGwKIAkubG9uZwlmZXJvY2Vvbl9mbHVzaF91c2VyX2NhY2hlX2FsbApAQCAtMjg1LDEyICszNzYsMzMgQEAKIAkubG9uZwlmZXJvY2Vvbl9kbWFfY2xlYW5fcmFuZ2UKIAkubG9uZwlmZXJvY2Vvbl9kbWFfZmx1c2hfcmFuZ2UKIAorRU5UUlkoZmVyb2Nlb25fcmFuZ2VfY2FjaGVfZm5zKQorCS5sb25nCWZlcm9jZW9uX2ZsdXNoX2tlcm5fY2FjaGVfYWxsCisJLmxvbmcJZmVyb2Nlb25fZmx1c2hfdXNlcl9jYWNoZV9hbGwKKwkubG9uZwlmZXJvY2Vvbl9mbHVzaF91c2VyX2NhY2hlX3JhbmdlCisJLmxvbmcJZmVyb2Nlb25fY29oZXJlbnRfa2Vybl9yYW5nZQorCS5sb25nCWZlcm9jZW9uX2NvaGVyZW50X3VzZXJfcmFuZ2UKKwkubG9uZwlmZXJvY2Vvbl9yYW5nZV9mbHVzaF9rZXJuX2RjYWNoZV9wYWdlCisJLmxvbmcJZmVyb2Nlb25fcmFuZ2VfZG1hX2ludl9yYW5nZQorCS5sb25nCWZlcm9jZW9uX3JhbmdlX2RtYV9jbGVhbl9yYW5nZQorCS5sb25nCWZlcm9jZW9uX3JhbmdlX2RtYV9mbHVzaF9yYW5nZQorCiAJLmFsaWduCTUKIEVOVFJZKGNwdV9mZXJvY2Vvbl9kY2FjaGVfY2xlYW5fYXJlYSkKKyNpZiBkZWZpbmVkKENPTkZJR19DQUNIRV9GRVJPQ0VPTl9MMikgJiYgIWRlZmluZWQoQ09ORklHX0wyX0NBQ0hFX1dSSVRFVEhST1VHSCkKKwltb3YJcjIsIHIwCisJbW92CXIzLCByMQorI2VuZGlmCiAxOgltY3IJcDE1LCAwLCByMCwgYzcsIGMxMCwgMQkJQCBjbGVhbiBEIGVudHJ5CiAJYWRkCXIwLCByMCwgI0NBQ0hFX0RMSU5FU0laRQogCXN1YnMJcjEsIHIxLCAjQ0FDSEVfRExJTkVTSVpFCiAJYmhpCTFiCisjaWYgZGVmaW5lZChDT05GSUdfQ0FDSEVfRkVST0NFT05fTDIpICYmICFkZWZpbmVkKENPTkZJR19MMl9DQUNIRV9XUklURVRIUk9VR0gpCisxOgltY3IJcDE1LCAxLCByMiwgYzE1LCBjOSwgMQkJQCBjbGVhbiBMMiBlbnRyeQorCWFkZAlyMiwgcjIsICNDQUNIRV9ETElORVNJWkUKKwlzdWJzCXIzLCByMywgI0NBQ0hFX0RMSU5FU0laRQorCWJoaQkxYgorI2VuZGlmCiAJbWNyCXAxNSwgMCwgcjAsIGM3LCBjMTAsIDQJCUAgZHJhaW4gV0IKIAltb3YJcGMsIGxyCiAKQEAgLTMwNiwxNiArNDE4LDI1IEBACiAJLmFsaWduCTUKIEVOVFJZKGNwdV9mZXJvY2Vvbl9zd2l0Y2hfbW0pCiAjaWZkZWYgQ09ORklHX01NVQotCW1vdglpcCwgIzAKLUAgJiYgJ0NsZWFuICYgSW52YWxpZGF0ZSB3aG9sZSBEQ2FjaGUnCi0xOgltcmMJcDE1LCAwLCByMTUsIGM3LCBjMTQsIDMgCUAgdGVzdCxjbGVhbixpbnZhbGlkYXRlCi0JYm5lCTFiCi0JbWNyCXAxNSwgMCwgaXAsIGM3LCBjNSwgMAkJQCBpbnZhbGlkYXRlIEkgY2FjaGUKLQltY3IJcDE1LCAwLCBpcCwgYzcsIGMxMCwgNAkJQCBkcmFpbiBXQgorCS8qCisJICogTm90ZTogd2Ugd2lzaCB0byBjYWxsIF9fZmx1c2hfd2hvbGVfY2FjaGUgYnV0IHdlIG5lZWQgdG8gcHJlc2VydmUKKwkgKiBsciB0byBkbyBzby4gIFRoZSBvbmx5IHdheSB3aXRob3V0IHRvdWNoaW5nIG1haW4gbWVtb3J5IGlzIHRvCisJICogdXNlIHIyIHdoaWNoIGlzIG5vcm1hbGx5IHVzZWQgdG8gdGVzdCB0aGUgVk1fRVhFQyBmbGFnLCBhbmQKKwkgKiBjb21wZW5zYXRlIGxvY2FsbHkgZm9yIHRoZSBza2lwcGVkIG9wcyBpZiBpdCBpcyBub3Qgc2V0LgorCSAqLworCW1vdglyMiwgbHIJCQkJQCBhYnVzZSByMiB0byBwcmVzZXJ2ZSBscgorCWJsCV9fZmx1c2hfd2hvbGVfY2FjaGUKKwlAIGlmIHIyIGNvbnRhaW5zIHRoZSBWTV9FWEVDIGJpdCB0aGVuIHRoZSBuZXh0IDIgb3BzIGFyZSBkb25lIGFscmVhZHkKKwl0c3QJcjIsICNWTV9FWEVDCisJbWNyZXEJcDE1LCAwLCBpcCwgYzcsIGM1LCAwCQlAIGludmFsaWRhdGUgSSBjYWNoZQorCW1jcmVxCXAxNSwgMCwgaXAsIGM3LCBjMTAsIDQJCUAgZHJhaW4gV0IKKwogCW1jcglwMTUsIDAsIHIwLCBjMiwgYzAsIDAJCUAgbG9hZCBwYWdlIHRhYmxlIHBvaW50ZXIKIAltY3IJcDE1LCAwLCBpcCwgYzgsIGM3LCAwCQlAIGludmFsaWRhdGUgSSAmIEQgVExCcwotI2VuZGlmCisJbW92CXBjLCByMgorI2Vsc2UKIAltb3YJcGMsIGxyCisjZW5kaWYKIAogLyoKICAqIGNwdV9mZXJvY2Vvbl9zZXRfcHRlX2V4dChwdGVwLCBwdGUsIGV4dCkKQEAgLTM0NSw2ICs0NjYsOSBAQAogCXN0cglyMiwgW3IwXQkJCUAgaGFyZHdhcmUgdmVyc2lvbgogCW1vdglyMCwgcjAKIAltY3IJcDE1LCAwLCByMCwgYzcsIGMxMCwgMQkJQCBjbGVhbiBEIGVudHJ5CisjaWYgZGVmaW5lZChDT05GSUdfQ0FDSEVfRkVST0NFT05fTDIpICYmICFkZWZpbmVkKENPTkZJR19MMl9DQUNIRV9XUklURVRIUk9VR0gpCisJbWNyCXAxNSwgMSwgcjAsIGMxNSwgYzksIDEJCUAgY2xlYW4gTDIgZW50cnkKKyNlbmRpZgogCW1jcglwMTUsIDAsIHIwLCBjNywgYzEwLCA0CQlAIGRyYWluIFdCCiAjZW5kaWYKIAltb3YJcGMsIGxyCkBAIC0zNjksMTQgKzQ5MywxNSBAQAogCS5zaXplCV9fZmVyb2Nlb25fc2V0dXAsIC4gLSBfX2Zlcm9jZW9uX3NldHVwCiAKIAkvKgotCSAqICBSCi0JICogLlJWSSBaRlJTIEJMRFAgV0NBTQotCSAqIC4wMTEgMDAwMSAuLjExIDAxMDEKKwkgKiAgICAgIEIKKwkgKiAgUiAgIFAKKwkgKiAuUlZJIFVGUlMgQkxEUCBXQ0FNCisJICogLjAxMSAuMDAxIC4uMTEgMDEwMQogCSAqCiAJICovCiAJLnR5cGUJZmVyb2Nlb25fY3J2YWwsICNvYmplY3QKIGZlcm9jZW9uX2NydmFsOgotCWNydmFsCWNsZWFyPTB4MDAwMDdmM2YsIG1tdXNldD0weDAwMDAzMTM1LCB1Y3NldD0weDAwMDAxMTM0CisJY3J2YWwJY2xlYXI9MHgwMDAwNzczZiwgbW11c2V0PTB4MDAwMDMxMzUsIHVjc2V0PTB4MDAwMDExMzQKIAogCV9fSU5JVERBVEEKIApAQCAtNDE0LDYgKzUzOSwyMSBAQAogCS5hc2NpegkiRmVyb2Nlb24iCiAJLnNpemUJY3B1X2Zlcm9jZW9uX25hbWUsIC4gLSBjcHVfZmVyb2Nlb25fbmFtZQogCisJLnR5cGUJY3B1Xzg4ZnI1MzFfbmFtZSwgI29iamVjdAorY3B1Xzg4ZnI1MzFfbmFtZToKKwkuYXNjaXoJIkZlcm9jZW9uIDg4RlI1MzEtdmQiCisJLnNpemUJY3B1Xzg4ZnI1MzFfbmFtZSwgLiAtIGNwdV84OGZyNTMxX25hbWUKKworCS50eXBlCWNwdV84OGZyNTcxX25hbWUsICNvYmplY3QKK2NwdV84OGZyNTcxX25hbWU6CisJLmFzY2l6CSJGZXJvY2VvbiA4OEZSNTcxLXZkIgorCS5zaXplCWNwdV84OGZyNTcxX25hbWUsIC4gLSBjcHVfODhmcjU3MV9uYW1lCisKKwkudHlwZQljcHVfODhmcjEzMV9uYW1lLCAjb2JqZWN0CitjcHVfODhmcjEzMV9uYW1lOgorCS5hc2NpegkiRmVyb2Nlb24gODhGUjEzMSIKKwkuc2l6ZQljcHVfODhmcjEzMV9uYW1lLCAuIC0gY3B1Xzg4ZnIxMzFfbmFtZQorCiAJLmFsaWduCiAKIAkuc2VjdGlvbiAiLnByb2MuaW5mby5pbml0IiwgI2FsbG9jLCAjZXhlY2luc3RyCkBAIC00MjEsMTUgKzU2MSwxNSBAQAogI2lmZGVmIENPTkZJR19DUFVfRkVST0NFT05fT0xEX0lECiAJLnR5cGUJX19mZXJvY2Vvbl9vbGRfaWRfcHJvY19pbmZvLCNvYmplY3QKIF9fZmVyb2Nlb25fb2xkX2lkX3Byb2NfaW5mbzoKLQkubG9uZwkweDQxMDY5MjYwCi0JLmxvbmcJMHhmZmZmZmZmMAotCS5sb25nICAgUE1EX1RZUEVfU0VDVCB8IFwKKwkubG9uZwkweDQxMDA5MjYwCisJLmxvbmcJMHhmZjAwZmZmMAorCS5sb25nCVBNRF9UWVBFX1NFQ1QgfCBcCiAJCVBNRF9TRUNUX0JVRkZFUkFCTEUgfCBcCiAJCVBNRF9TRUNUX0NBQ0hFQUJMRSB8IFwKIAkJUE1EX0JJVDQgfCBcCiAJCVBNRF9TRUNUX0FQX1dSSVRFIHwgXAogCQlQTURfU0VDVF9BUF9SRUFECi0JLmxvbmcgICBQTURfVFlQRV9TRUNUIHwgXAorCS5sb25nCVBNRF9UWVBFX1NFQ1QgfCBcCiAJCVBNRF9CSVQ0IHwgXAogCQlQTURfU0VDVF9BUF9XUklURSB8IFwKIAkJUE1EX1NFQ1RfQVBfUkVBRApAQCAtNDQ1LDE3ICs1ODUsMTcgQEAKIAkuc2l6ZQlfX2Zlcm9jZW9uX29sZF9pZF9wcm9jX2luZm8sIC4gLSBfX2Zlcm9jZW9uX29sZF9pZF9wcm9jX2luZm8KICNlbmRpZgogCi0JLnR5cGUJX19mZXJvY2Vvbl9wcm9jX2luZm8sI29iamVjdAotX19mZXJvY2Vvbl9wcm9jX2luZm86CisJLnR5cGUJX184OGZyNTMxX3Byb2NfaW5mbywjb2JqZWN0CitfXzg4ZnI1MzFfcHJvY19pbmZvOgogCS5sb25nCTB4NTYwNTUzMTAKIAkubG9uZwkweGZmZmZmZmYwCi0JLmxvbmcgICBQTURfVFlQRV9TRUNUIHwgXAorCS5sb25nCVBNRF9UWVBFX1NFQ1QgfCBcCiAJCVBNRF9TRUNUX0JVRkZFUkFCTEUgfCBcCiAJCVBNRF9TRUNUX0NBQ0hFQUJMRSB8IFwKIAkJUE1EX0JJVDQgfCBcCiAJCVBNRF9TRUNUX0FQX1dSSVRFIHwgXAogCQlQTURfU0VDVF9BUF9SRUFECi0JLmxvbmcgICBQTURfVFlQRV9TRUNUIHwgXAorCS5sb25nCVBNRF9UWVBFX1NFQ1QgfCBcCiAJCVBNRF9CSVQ0IHwgXAogCQlQTURfU0VDVF9BUF9XUklURSB8IFwKIAkJUE1EX1NFQ1RfQVBfUkVBRApAQCAtNDYzLDkgKzYwMyw1OSBAQAogCS5sb25nCWNwdV9hcmNoX25hbWUKIAkubG9uZwljcHVfZWxmX25hbWUKIAkubG9uZwlIV0NBUF9TV1B8SFdDQVBfSEFMRnxIV0NBUF9USFVNQnxIV0NBUF9GQVNUX01VTFR8SFdDQVBfRURTUAotCS5sb25nCWNwdV9mZXJvY2Vvbl9uYW1lCisJLmxvbmcJY3B1Xzg4ZnI1MzFfbmFtZQogCS5sb25nCWZlcm9jZW9uX3Byb2Nlc3Nvcl9mdW5jdGlvbnMKIAkubG9uZwl2NHdiaV90bGJfZm5zCiAJLmxvbmcJZmVyb2Nlb25fdXNlcl9mbnMKIAkubG9uZwlmZXJvY2Vvbl9jYWNoZV9mbnMKLQkuc2l6ZQlfX2Zlcm9jZW9uX3Byb2NfaW5mbywgLiAtIF9fZmVyb2Nlb25fcHJvY19pbmZvCisJLnNpemUJX184OGZyNTMxX3Byb2NfaW5mbywgLiAtIF9fODhmcjUzMV9wcm9jX2luZm8KKworCS50eXBlCV9fODhmcjU3MV9wcm9jX2luZm8sI29iamVjdAorX184OGZyNTcxX3Byb2NfaW5mbzoKKwkubG9uZwkweDU2MTU1NzEwCisJLmxvbmcJMHhmZmZmZmZmMAorCS5sb25nCVBNRF9UWVBFX1NFQ1QgfCBcCisJCVBNRF9TRUNUX0JVRkZFUkFCTEUgfCBcCisJCVBNRF9TRUNUX0NBQ0hFQUJMRSB8IFwKKwkJUE1EX0JJVDQgfCBcCisJCVBNRF9TRUNUX0FQX1dSSVRFIHwgXAorCQlQTURfU0VDVF9BUF9SRUFECisJLmxvbmcJUE1EX1RZUEVfU0VDVCB8IFwKKwkJUE1EX0JJVDQgfCBcCisJCVBNRF9TRUNUX0FQX1dSSVRFIHwgXAorCQlQTURfU0VDVF9BUF9SRUFECisJYglfX2Zlcm9jZW9uX3NldHVwCisJLmxvbmcJY3B1X2FyY2hfbmFtZQorCS5sb25nCWNwdV9lbGZfbmFtZQorCS5sb25nCUhXQ0FQX1NXUHxIV0NBUF9IQUxGfEhXQ0FQX1RIVU1CfEhXQ0FQX0ZBU1RfTVVMVHxIV0NBUF9FRFNQCisJLmxvbmcJY3B1Xzg4ZnI1NzFfbmFtZQorCS5sb25nCWZlcm9jZW9uX3Byb2Nlc3Nvcl9mdW5jdGlvbnMKKwkubG9uZwl2NHdiaV90bGJfZm5zCisJLmxvbmcJZmVyb2Nlb25fdXNlcl9mbnMKKwkubG9uZwlmZXJvY2Vvbl9yYW5nZV9jYWNoZV9mbnMKKwkuc2l6ZQlfXzg4ZnI1NzFfcHJvY19pbmZvLCAuIC0gX184OGZyNTcxX3Byb2NfaW5mbworCisJLnR5cGUJX184OGZyMTMxX3Byb2NfaW5mbywjb2JqZWN0CitfXzg4ZnIxMzFfcHJvY19pbmZvOgorCS5sb25nCTB4NTYyNTEzMTAKKwkubG9uZwkweGZmZmZmZmYwCisJLmxvbmcJUE1EX1RZUEVfU0VDVCB8IFwKKwkJUE1EX1NFQ1RfQlVGRkVSQUJMRSB8IFwKKwkJUE1EX1NFQ1RfQ0FDSEVBQkxFIHwgXAorCQlQTURfQklUNCB8IFwKKwkJUE1EX1NFQ1RfQVBfV1JJVEUgfCBcCisJCVBNRF9TRUNUX0FQX1JFQUQKKwkubG9uZwlQTURfVFlQRV9TRUNUIHwgXAorCQlQTURfQklUNCB8IFwKKwkJUE1EX1NFQ1RfQVBfV1JJVEUgfCBcCisJCVBNRF9TRUNUX0FQX1JFQUQKKwliCV9fZmVyb2Nlb25fc2V0dXAKKwkubG9uZwljcHVfYXJjaF9uYW1lCisJLmxvbmcJY3B1X2VsZl9uYW1lCisJLmxvbmcJSFdDQVBfU1dQfEhXQ0FQX0hBTEZ8SFdDQVBfVEhVTUJ8SFdDQVBfRkFTVF9NVUxUfEhXQ0FQX0VEU1AKKwkubG9uZwljcHVfODhmcjEzMV9uYW1lCisJLmxvbmcJZmVyb2Nlb25fcHJvY2Vzc29yX2Z1bmN0aW9ucworCS5sb25nCXY0d2JpX3RsYl9mbnMKKwkubG9uZwlmZXJvY2Vvbl91c2VyX2ZucworCS5sb25nCWZlcm9jZW9uX3JhbmdlX2NhY2hlX2ZucworCS5zaXplCV9fODhmcjEzMV9wcm9jX2luZm8sIC4gLSBfXzg4ZnIxMzFfcHJvY19pbmZvCmRpZmYgLS1naXQgYS9hcmNoL2FybS9wbGF0LWlvcC9ncGlvLmMgYi9hcmNoL2FybS9wbGF0LWlvcC9ncGlvLmMKaW5kZXggZWRhNDM2MC4uNjQwZTQ5OCAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vcGxhdC1pb3AvZ3Bpby5jCisrKyBiL2FyY2gvYXJtL3BsYXQtaW9wL2dwaW8uYwpAQCAtMTEsNiArMTEsMTAgQEAKICAqLwogCiAjaW5jbHVkZSA8bGludXgvZGV2aWNlLmg+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+dGNvbl9iYXNlKTsKKworCXBsYXRmb3JtX3NldF9kcnZkYXRhKHBkZXYsIHB3bSk7CisJcmV0dXJuIDA7CisKKyBlcnJfY2xrX3RkaXY6CisJY2xrX3B1dChwd20tPmNsa19kaXYpOworCisgZXJyX2Nsa190aW46CisJY2xrX3B1dChwd20tPmNsayk7CisKKyBlcnJfYWxsb2M6CisJa2ZyZWUocHdtKTsKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgaW50IHMzY19wd21fcmVtb3ZlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCit7CisJc3RydWN0IHB3bV9kZXZpY2UgKnB3bSA9IHBsYXRmb3JtX2dldF9kcnZkYXRhKHBkZXYpOworCisJY2xrX3B1dChwd20tPmNsa19kaXYpOworCWNsa19wdXQocHdtLT5jbGspOworCWtmcmVlKHB3bSk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kcml2ZXIgczNjX3B3bV9kcml2ZXIgPSB7CisJLmRyaXZlcgkJPSB7CisJCS5uYW1lCT0gInMzYzI0eHgtcHdtIiwKKwkJLm93bmVyCT0gVEhJU19NT0RVTEUsCisJfSwKKwkucHJvYmUJCT0gczNjX3B3bV9wcm9iZSwKKwkucmVtb3ZlCQk9IF9fZGV2ZXhpdF9wKHMzY19wd21fcmVtb3ZlKSwKK307CisKK3N0YXRpYyBpbnQgX19pbml0IHB3bV9pbml0KHZvaWQpCit7CisJaW50IHJldDsKKworCWNsa19zY2FsZXJbMF0gPSBjbGtfZ2V0KE5VTEwsICJwd20tc2NhbGVyMCIpOworCWNsa19zY2FsZXJbMV0gPSBjbGtfZ2V0KE5VTEwsICJwd20tc2NhbGVyMSIpOworCisJaWYgKElTX0VSUihjbGtfc2NhbGVyWzBdKSB8fCBJU19FUlIoY2xrX3NjYWxlclsxXSkpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICIlczogZmFpbGVkIHRvIGdldCBzY2FsZXIgY2xvY2tzXG4iLCBfX2Z1bmNfXyk7CisJCXJldHVybiAtRUlOVkFMOworCX0KKworCXJldCA9IHBsYXRmb3JtX2RyaXZlcl9yZWdpc3RlcigmczNjX3B3bV9kcml2ZXIpOworCWlmIChyZXQpCisJCXByaW50ayhLRVJOX0VSUiAiJXM6IGZhaWxlZCB0byBhZGQgcHdtIGRyaXZlclxuIiwgX19mdW5jX18pOworCisJcmV0dXJuIHJldDsKK30KKworYXJjaF9pbml0Y2FsbChwd21faW5pdCk7CmRpZmYgLS1naXQgYS9hcmNoL2FybS90b29scy9tYWNoLXR5cGVzIGIvYXJjaC9hcm0vdG9vbHMvbWFjaC10eXBlcwppbmRleCAyMDdhOGI1Li4wYmU1NjMwIDEwMDY0NAotLS0gYS9hcmNoL2FybS90b29scy9tYWNoLXR5cGVzCisrKyBiL2FyY2gvYXJtL3Rvb2xzL21hY2gtdHlwZXMKQEAgLTEyLDcgKzEyLDcgQEAKICMKICMgICBodHRwOi8vd3d3LmFybS5saW51eC5vcmcudWsvZGV2ZWxvcGVyL21hY2hpbmVzLz9hY3Rpb249bmV3CiAjCi0jIExhc3QgdXBkYXRlOiBTYXQgQXByIDE5IDExOjIzOjM4IDIwMDgKKyMgTGFzdCB1cGRhdGU6IE1vbiBKdWwgNyAxNjoyNTozOSAyMDA4CiAjCiAjIG1hY2hpbmVfaXNfeHh4CUNPTkZJR194eHh4CQlNQUNIX1RZUEVfeHh4CQludW1iZXIKICMKQEAgLTU2MCw3ICs1NjAsNiBAQAogYm94ZXIJCQlNQUNIX0JPWEVSCQlCT1hFUgkJCTU0NAogc2hlcGhlcmQJCU1BQ0hfU0hFUEhFUkQJCVNIRVBIRVJECQk1NDUKIGFtbDQyODAwYWEJCU1BQ0hfQU1MNDI4MDBBQQkJQU1MNDI4MDBBQQkJNTQ2Ci1tbDY3NDAwMQkJTUFDSF9NQUNIX1RZUEVfTUw2NzQwMDEJTUFDSF9UWVBFX01MNjc0MDAxCTU0NwogbHBjMjI5NAkJCU1BQ0hfTFBDMjI5NAkJTFBDMjI5NAkJCTU0OAogc3dpdGNoZ3Jhc3MJCU1BQ0hfU1dJVENIR1JBU1MJU1dJVENIR1JBU1MJCTU0OQogZW5zX2NtdQkJCU1BQ0hfRU5TX0NNVQkJRU5TX0NNVQkJCTU1MApAQCAtNzQ4LDcgKzc0Nyw2IEBACiBpdGU4MTUyCQkJTUFDSF9JVEU4MTUyCQlJVEU4MTUyCQkJNzM1CiBscGMzeHh4CQkJTUFDSF9MUEMzWFhYCQlMUEMzWFhYCQkJNzM2CiBwdXBwZXRlZXIJCU1BQ0hfUFVQUEVURUVSCQlQVVBQRVRFRVIJCTczNwotdnQwMDEJCQlNQUNIX01BQ0hfVkFEQVRFQ0gJTUFDSF9WQURBVEVDSAkJNzM4CiBlNTcwCQkJTUFDSF9FNTcwCQlFNTcwCQkJNzM5CiB4NTAJCQlNQUNIX1g1MAkJWDUwCQkJNzQwCiByZWNvbgkJCU1BQ0hfUkVDT04JCVJFQ09OCQkJNzQxCkBAIC04MzksNyArODM3LDcgQEAKIG9tYXBfZ3NhbXBsZQkJTUFDSF9PTUFQX0dTQU1QTEUJT01BUF9HU0FNUExFCQk4MjYKIHJlYWx2aWV3X2ViCQlNQUNIX1JFQUxWSUVXX0VCCVJFQUxWSUVXX0VCCQk4MjcKIHNhbW9hCQkJTUFDSF9TQU1PQQkJU0FNT0EJCQk4MjgKLXQzeHNjYWxlCQlNQUNIX1QzWFNDQUxFCQlUM1hTQ0FMRQkJODI5CitwYWxtdDMJCQlNQUNIX1BBTE1UMwkJUEFMTVQzCQkJODI5CiBpODc4CQkJTUFDSF9JODc4CQlJODc4CQkJODMwCiBib3J6b2kJCQlNQUNIX0JPUlpPSQkJQk9SWk9JCQkJODMxCiBnZWNrbwkJCU1BQ0hfR0VDS08JCUdFQ0tPCQkJODMyCkBAIC04OTUsNyArODkzLDcgQEAKIG9taV9ib2FyZAkJTUFDSF9PTUlfQk9BUkQJCU9NSV9CT0FSRAkJODgyCiBteDIxY2l2CQkJTUFDSF9NWDIxQ0lWCQlNWDIxQ0lWCQkJODgzCiBtYWhpX2NkYWMJCU1BQ0hfTUFISV9DREFDCQlNQUhJX0NEQUMJCTg4NAoteHNjYWxlX3BhbG10eAkJTUFDSF9YU0NBTEVfUEFMTVRYCVhTQ0FMRV9QQUxNVFgJCTg4NQorcGFsbXR4CQkJTUFDSF9QQUxNVFgJCVBBTE1UWAkJCTg4NQogczNjMjQxMwkJCU1BQ0hfUzNDMjQxMwkJUzNDMjQxMwkJCTg4Nwogc2Ftc3lzX2VwMAkJTUFDSF9TQU1TWVNfRVAwCQlTQU1TWVNfRVAwCQk4ODgKIHdnMzAydjEJCQlNQUNIX1dHMzAyVjEJCVdHMzAyVjEJCQk4ODkKQEAgLTkxOCw3ICs5MTYsNyBAQAogYXBmOTMyOAkJCU1BQ0hfQVBGOTMyOAkJQVBGOTMyOAkJCTkwNgogb21hcF93aXBvcQkJTUFDSF9PTUFQX1dJUE9RCQlPTUFQX1dJUE9RCQk5MDcKIG9tYXBfdHdpcAkJTUFDSF9PTUFQX1RXSVAJCU9NQVBfVFdJUAkJOTA4Ci14c2NhbGVfdHJlbzY1MAkJTUFDSF9YU0NBTEVfUEFMTVRSRU82NTAJWFNDQUxFX1BBTE1UUkVPNjUwCTkwOQorcGFsbXRyZW82NTAJCU1BQ0hfUEFMTVRSRU82NTAJUEFMTVRSRU82NTAJCTkwOQogYWN1bWVuCQkJTUFDSF9BQ1VNRU4JCUFDVU1FTgkJCTkxMAogeHAxMDAJCQlNQUNIX1hQMTAwCQlYUDEwMAkJCTkxMQogZnMyNDEwCQkJTUFDSF9GUzI0MTAJCUZTMjQxMAkJCTkxMgpAQCAtOTI2LDggKzkyNCw4IEBACiBzcTJmdGxwYWxtCQlNQUNIX1NRMkZUTFBBTE0JCVNRMkZUTFBBTE0JCTkxNAogYnNlbXNlcnZlcgkJTUFDSF9CU0VNU0VSVkVSCQlCU0VNU0VSVkVSCQk5MTUKIG5ldGNsaWVudAkJTUFDSF9ORVRDTElFTlQJCU5FVENMSUVOVAkJOTE2Ci14c2NhbGVfcGFsbXR0NQkJTUFDSF9YU0NBTEVfUEFMTVRUNQlYU0NBTEVfUEFMTVRUNQkJOTE3Ci14c2NhbGVfcGFsbXRjCQlNQUNIX09NQVBfUEFMTVRDCU9NQVBfUEFMTVRDCQk5MTgKK3BhbG10NQkJCU1BQ0hfUEFMTVQ1CQlQQUxNVDUJCQk5MTcKK3BhbG10YwkJCU1BQ0hfUEFMTVRDCQlQQUxNVEMJCQk5MTgKIG9tYXBfYXBvbGxvbgkJTUFDSF9PTUFQX0FQT0xMT04JT01BUF9BUE9MTE9OCQk5MTkKIG14YzMwMDMwZXZiCQlNQUNIX01YQzMwMDMwRVZCCU1YQzMwMDMwRVZCCQk5MjAKIHJlYV8yZAkJCU1BQ0hfUkVBXzJECQlSRUFfMkQJCQk5MjEKQEAgLTEyMjAsNyArMTIxOCw2IEBACiBlbTcyMTAJCQlNQUNIX0VNNzIxMAkJRU03MjEwCQkJMTIxMgogaHRjaGVybWVzCQlNQUNIX0hUQ0hFUk1FUwkJSFRDSEVSTUVTCQkxMjEzCiBldGlfYzEJCQlNQUNIX0VUSV9DMQkJRVRJX0MxCQkJMTIxNAotbWFjaF9kZXAyNDEwCQlNQUNIX01BQ0hfREVQMjQxMAlNQUNIX0RFUDI0MTAJCTEyMTUKIGFjMTAwCQkJTUFDSF9BQzEwMAkJQUMxMDAJCQkxMjE2CiBzbmVldGNoCQkJTUFDSF9TTkVFVENICQlTTkVFVENICQkJMTIxNwogc3R1ZGVudG1hdGUJCU1BQ0hfU1RVREVOVE1BVEUJU1RVREVOVE1BVEUJCTEyMTgKQEAgLTE0MjEsMTAgKzE0MTgsMTAgQEAKIGNudHlfdGl0YW4JCU1BQ0hfQ05UWV9USVRBTgkJQ05UWV9USVRBTgkJMTQxOAogYXBwM3h4CQkJTUFDSF9BUFAzWFgJCUFQUDNYWAkJCTE0MTkKIHNpZGVvYXRzZ3JhbWEJCU1BQ0hfU0lERU9BVFNHUkFNQQlTSURFT0FUU0dSQU1BCQkxNDIwCi14c2NhbGVfcGFsbXQ3MDBwCU1BQ0hfWFNDQUxFX1BBTE1UNzAwUAlYU0NBTEVfUEFMTVQ3MDBQCTE0MjEKLXhzY2FsZV9wYWxtdDcwMHcJTUFDSF9YU0NBTEVfUEFMTVQ3MDBXCVhTQ0FMRV9QQUxNVDcwMFcJMTQyMgoteHNjYWxlX3BhbG10NzUwCQlNQUNIX1hTQ0FMRV9QQUxNVDc1MAlYU0NBTEVfUEFMTVQ3NTAJCTE0MjMKLXhzY2FsZV9wYWxtdDc1NXAJTUFDSF9YU0NBTEVfUEFMTVQ3NTVQCVhTQ0FMRV9QQUxNVDc1NVAJMTQyNAorcGFsbXRyZW83MDBwCQlNQUNIX1BBTE1UUkVPNzAwUAlQQUxNVFJFTzcwMFAJCTE0MjEKK3BhbG10cmVvNzAwdwkJTUFDSF9QQUxNVFJFTzcwMFcJUEFMTVRSRU83MDBXCQkxNDIyCitwYWxtdHJlbzc1MAkJTUFDSF9QQUxNVFJFTzc1MAlQQUxNVFJFTzc1MAkJMTQyMworcGFsbXRyZW83NTVwCQlNQUNIX1BBTE1UUkVPNzU1UAlQQUxNVFJFTzc1NVAJCTE0MjQKIGV6cmVnYW51dDkyMDAJCU1BQ0hfRVpSRUdBTlVUOTIwMAlFWlJFR0FOVVQ5MjAwCQkxNDI1CiBzYXJnZQkJCU1BQ0hfU0FSR0UJCVNBUkdFCQkJMTQyNgogYTY5NgkJCU1BQ0hfQTY5NgkJQTY5NgkJCTE0MjcKQEAgLTE0NjMsNyArMTQ2MCw3IEBACiBodGN0aXRhbgkJTUFDSF9IVENUSVRBTgkJSFRDVElUQU4JCTE0NjMKIHFyYW5pdW0JCQlNQUNIX1FSQU5JVU0JCVFSQU5JVU0JCQkxNDY0CiBhZHhfd3NjMgkJTUFDSF9BRFhfV1NDMgkJQURYX1dTQzIJCTE0NjUKLWFkeF9tZWRjb20JCU1BQ0hfQURYX01FRElORVQJQURYX01FRElORVQJCTE0NjYKK2FkeF9tZWRjb20JCU1BQ0hfQURYX01FRENPTQkJQURYX01FRENPTQkJMTQ2NgogYmJvYXJkCQkJTUFDSF9CQk9BUkQJCUJCT0FSRAkJCTE0NjcKIGNhbWJyaWEJCQlNQUNIX0NBTUJSSUEJCUNBTUJSSUEJCQkxNDY4CiBtdDd4eHgJCQlNQUNIX01UN1hYWAkJTVQ3WFhYCQkJMTQ2OQpAQCAtMTUxOSw3ICsxNTE2LDcgQEAKIGNvcnNpY2EJCQlNQUNIX0NPUlNJQ0EJCUNPUlNJQ0EJCQkxNTE5CiBiaWdleWUJCQlNQUNIX0JJR0VZRQkJQklHRVlFCQkJMTUyMAogdGxsNTAwMAkJCU1BQ0hfVExMNTAwMAkJVExMNTAwMAkJCTE1MjIKLWhuaTI3MAkJCU1BQ0hfSE5JX1gyNzAJCUhOSV9YMjcwCQkxNTIzCitiZWJvdAkJCU1BQ0hfQkVCT1QJCUJFQk9UCQkJMTUyMwogcW9uZwkJCU1BQ0hfUU9ORwkJUU9ORwkJCTE1MjQKIHRjb21wYWN0CQlNQUNIX1RDT01QQUNUCQlUQ09NUEFDVAkJMTUyNQogcHVtYTUJCQlNQUNIX1BVTUE1CQlQVU1BNQkJCTE1MjYKQEAgLTE2MzYsNyArMTYzMyw2IEBACiBwYWxlcm1vYwkJTUFDSF9QQUxFUk1PQwkJUEFMRVJNT0MJCTE2MzgKIG9tYXBfbGRwCQlNQUNIX09NQVBfTERQCQlPTUFQX0xEUAkJMTYzOQogaXA1MDAJCQlNQUNIX0lQNTAwCQlJUDUwMAkJCTE2NDAKLW14MzVhZHMJCQlNQUNIX01BQ0hfTVgzNUFEUwlNQUNIX01YMzVBRFMJCTE2NDEKIGFzZTIJCQlNQUNIX0FTRTIJCUFTRTIJCQkxNjQyCiBteDM1ZXZiCQkJTUFDSF9NWDM1RVZCCQlNWDM1RVZCCQkJMTY0MwogYW1sX204MDUwCQlNQUNIX0FNTF9NODA1MAkJQU1MX004MDUwCQkxNjQ0CkBAIC0xNjQ3LDcgKzE2NDMsNyBAQAogdHJpemVwczR3bAkJTUFDSF9UUklaRVBTNFdMCQlUUklaRVBTNFdMCQkxNjQ5CiB0cml6ZXBzNQkJTUFDSF9UUklaRVBTNQkJVFJJWkVQUzUJCTE2NTAKIG1hcmxpbgkJCU1BQ0hfTUFSTElOCQlNQVJMSU4JCQkxNjUxCi10czc4MDAJCQlNQUNIX1RTNzgwMAkJVFM3ODAwCQkJMTY1MgordHM3OHh4CQkJTUFDSF9UUzc4WFgJCVRTNzhYWAkJCTE2NTIKIGhwaXBhcTIxNAkJTUFDSF9IUElQQVEyMTQJCUhQSVBBUTIxNAkJMTY1MwogYXQ1NzJkOTQwZGNtCQlNQUNIX0FUNTcyRDk0MERDTQlBVDU3MkQ5NDBEQ00JCTE2NTQKIG5lMWJvYXJkCQlNQUNIX05FMUJPQVJECQlORTFCT0FSRAkJMTY1NQpAQCAtMTcyMCwzICsxNzE2LDk5IEBACiBsZ19rczIwCQkJTUFDSF9MR19LUzIwCQlMR19LUzIwCQkJMTcyNQogaGhncHMJCQlNQUNIX0hIR1BTCQlISEdQUwkJCTE3MjYKIG5va2lhX244MTBfd2ltYXgJTUFDSF9OT0tJQV9OODEwX1dJTUFYCU5PS0lBX044MTBfV0lNQVgJMTcyNworaW5zaWdodAkJCU1BQ0hfSU5TSUdIVAkJSU5TSUdIVAkJCTE3MjgKK3NhcHBoaXJlCQlNQUNIX1NBUFBISVJFCQlTQVBQSElSRQkJMTcyOQorY3NiNjM3eG8JCU1BQ0hfQ1NCNjM3WE8JCUNTQjYzN1hPCQkxNzMwCitldmlzaW9uZwkJTUFDSF9FVklTSU9ORwkJRVZJU0lPTkcJCTE3MzEKK3N0bXAzN3h4CQlNQUNIX1NUTVAzN1hYCQlTVE1QMzdYWAkJMTczMgorc3RtcDM3OHgJCU1BQ0hfU1RNUDM4WFgJCVNUTVAzOFhYCQkxNzMzCit0bnQJCQlNQUNIX1ROVAkJVE5UCQkJMTczNAordGJ4dAkJCU1BQ0hfVEJYVAkJVEJYVAkJCTE3MzUKK3BsYXltYXRlCQlNQUNIX1BMQVlNQVRFCQlQTEFZTUFURQkJMTczNgorcG5zMTAJCQlNQUNIX1BOUzEwCQlQTlMxMAkJCTE3MzcKK2V6bmF2aQkJCU1BQ0hfRVpOQVZJCQlFWk5BVkkJCQkxNzM4CitwczQwMDAJCQlNQUNIX1BTNDAwMAkJUFM0MDAwCQkJMTczOQorZXp4X2E3ODAJCU1BQ0hfRVpYX0E3ODAJCUVaWF9BNzgwCQkxNzQwCitlenhfZTY4MAkJTUFDSF9FWlhfRTY4MAkJRVpYX0U2ODAJCTE3NDEKK2V6eF9hMTIwMAkJTUFDSF9FWlhfQTEyMDAJCUVaWF9BMTIwMAkJMTc0MgorZXp4X2U2CQkJTUFDSF9FWlhfRTYJCUVaWF9FNgkJCTE3NDMKK2V6eF9lMgkJCU1BQ0hfRVpYX0UyCQlFWlhfRTIJCQkxNzQ0CitlenhfYTkxMAkJTUFDSF9FWlhfQTkxMAkJRVpYX0E5MTAJCTE3NDUKK2N3bXgzMQkJCU1BQ0hfQ1dNWDMxCQlDV01YMzEJCQkxNzQ2CitzbDIzMTIJCQlNQUNIX1NMMjMxMgkJU0wyMzEyCQkJMTc0NworYmxlbm55CQkJTUFDSF9CTEVOTlkJCUJMRU5OWQkJCTE3NDgKK2RzMTA3CQkJTUFDSF9EUzEwNwkJRFMxMDcJCQkxNzQ5Citkc3gwNwkJCU1BQ0hfRFNYMDcJCURTWDA3CQkJMTc1MAorcGljb2NvbTEJCU1BQ0hfUElDT0NPTTEJCVBJQ09DT00xCQkxNzUxCitseW54X3dvbHZlcmluZQkJTUFDSF9MWU5YX1dPTFZFUklORQlMWU5YX1dPTFZFUklORQkJMTc1MgordWJpc3lzX3A5X3NjMTkJCU1BQ0hfVUJJU1lTX1A5X1NDMTkJVUJJU1lTX1A5X1NDMTkJCTE3NTMKK2tyYXRvc19sb3cJCU1BQ0hfS1JBVE9TX0xPVwkJS1JBVE9TX0xPVwkJMTc1NAorbTcwMAkJCU1BQ0hfTTcwMAkJTTcwMAkJCTE3NTUKK2VkbWluaV92MgkJTUFDSF9FRE1JTklfVjIJCUVETUlOSV9WMgkJMTc1NgoremlwaXQyCQkJTUFDSF9aSVBJVDIJCVpJUElUMgkJCTE3NTcKK2hzbGZlbXRvY2VsbAkJTUFDSF9IU0xGRU1UT0NFTEwJSFNMRkVNVE9DRUxMCQkxNzU4CitkYWludHJlZV9hdDkxCQlNQUNIX0RBSU5UUkVFX0FUOTEJREFJTlRSRUVfQVQ5MQkJMTc1OQorc2c1NjB1c2IJCU1BQ0hfU0c1NjBVU0IJCVNHNTYwVVNCCQkxNzYwCitvbWFwM19wYW5kb3JhCQlNQUNIX09NQVAzX1BBTkRPUkEJT01BUDNfUEFORE9SQQkJMTc2MQordXNyODIwMAkJCU1BQ0hfVVNSODIwMAkJVVNSODIwMAkJCTE3NjIKK3MxczY1awkJCU1BQ0hfUzFTNjVLCQlTMVM2NUsJCQkxNzYzCitzMnM2NWEJCQlNQUNIX1MyUzY1QQkJUzJTNjVBCQkJMTc2NAoraWNvcmUJCQlNQUNIX0lDT1JFCQlJQ09SRQkJCTE3NjUKK21zczIJCQlNQUNIX01TUzIJCU1TUzIJCQkxNzY2CitiZWxtb250CQkJTUFDSF9CRUxNT05UCQlCRUxNT05UCQkJMTc2NworYXN1c3A1MjUJCU1BQ0hfQVNVU1A1MjUJCUFTVVNQNTI1CQkxNzY4CitsYjg4cmM4NDgwCQlNQUNIX0xCODhSQzg0ODAJCUxCODhSQzg0ODAJCTE3NjkKK2hpcHhhCQkJTUFDSF9ISVBYQQkJSElQWEEJCQkxNzcwCitteDI1XzNkcwkJTUFDSF9NWDI1XzNEUwkJTVgyNV8zRFMJCTE3NzEKK204MDAJCQlNQUNIX004MDAJCU04MDAJCQkxNzcyCitvbWFwMzUzMF9sdl9zb20JCU1BQ0hfT01BUDM1MzBfTFZfU09NCU9NQVAzNTMwX0xWX1NPTQkJMTc3MworcHJpbWFfZXZiCQlNQUNIX1BSSU1BX0VWQgkJUFJJTUFfRVZCCQkxNzc0CitteDMxYnQxCQkJTUFDSF9NWDMxQlQxCQlNWDMxQlQxCQkJMTc3NQorYXRsYXM0X2V2YgkJTUFDSF9BVExBUzRfRVZCCQlBVExBUzRfRVZCCQkxNzc2CitteDMxY2ljYWRhCQlNQUNIX01YMzFDSUNBREEJCU1YMzFDSUNBREEJCTE3NzcKK21pNDI0d3IJCQlNQUNIX01JNDI0V1IJCU1JNDI0V1IJCQkxNzc4CitheHNfdWx0cmF4CQlNQUNIX0FYU19VTFRSQVgJCUFYU19VTFRSQVgJCTE3NzkKK2F0NTcyZDk0MGRlYgkJTUFDSF9BVDU3MkQ5NDBERUIJQVQ1NzJEOTQwREVCCQkxNzgwCitkYXZpbmNpX2RhOHh4X2V2bQlNQUNIX0RBVklOQ0lfREE4WFhfRVZNCURBVklOQ0lfREE4WFhfRVZNCTE3ODEKK2VwOTMwMgkJCU1BQ0hfRVA5MzAyCQlFUDkzMDIJCQkxNzgyCithdDU3MmQ5NDBoZmViCQlNQUNIX0FUNTcyRDk0MEhGRUIJQVQ1NzJEOTQwSEZFQgkJMTc4MworY3lib29rMwkJCU1BQ0hfQ1lCT09LMwkJQ1lCT09LMwkJCTE3ODQKK3dkZzAwMgkJCU1BQ0hfV0RHMDAyCQlXREcwMDIJCQkxNzg1CitzZzU2MGFkc2wJCU1BQ0hfU0c1NjBBRFNMCQlTRzU2MEFEU0wJCTE3ODYKK25leHRpb19uMjgwMF9pY2EJTUFDSF9ORVhUSU9fTjI4MDBfSUNBCU5FWFRJT19OMjgwMF9JQ0EJMTc4NworbWFydmVsbF9uZXdkYgkJTUFDSF9NQVJWRUxMX05FV0RCCU1BUlZFTExfTkVXREIJCTE3ODkKK3ZhbmRpaHVkCQlNQUNIX1ZBTkRJSFVECQlWQU5ESUhVRAkJMTc5MAorbWFneF9lOAkJCU1BQ0hfTUFHWF9FOAkJTUFHWF9FOAkJCTE3OTEKK21hZ3hfejYJCQlNQUNIX01BR1hfWjYJCU1BR1hfWjYJCQkxNzkyCittYWd4X3Y4CQkJTUFDSF9NQUdYX1Y4CQlNQUdYX1Y4CQkJMTc5MworbWFneF91OQkJCU1BQ0hfTUFHWF9VOQkJTUFHWF9VOQkJCTE3OTQKK3RvdWdoY2YwOAkJTUFDSF9UT1VHSENGMDgJCVRPVUdIQ0YwOAkJMTc5NQorenc0NDAwCQkJTUFDSF9aVzQ0MDAJCVpXNDQwMAkJCTE3OTYKK21hcmF0OTEJCQlNQUNIX01BUkFUOTEJCU1BUkFUOTEJCQkxNzk3CitvdmVybwkJCU1BQ0hfT1ZFUk8JCU9WRVJPCQkJMTc5OAorYXQyNDQwZXZiCQlNQUNIX0FUMjQ0MEVWQgkJQVQyNDQwRVZCCQkxNzk5CituZW9jb3JlOTI2CQlNQUNIX05FT0NPUkU5MjYJCU5FT0NPUkU5MjYJCTE4MDAKK3ducjg1NHQJCQlNQUNIX1dOUjg1NFQJCVdOUjg1NFQJCQkxODAxCitpbXgyNwkJCU1BQ0hfSU1YMjcJCUlNWDI3CQkJMTgwMgorbW9vc2VfZGIJCU1BQ0hfTU9PU0VfREIJCU1PT1NFX0RCCQkxODAzCitmYWI0CQkJTUFDSF9GQUI0CQlGQUI0CQkJMTgwNAoraHRjZGlhbW9uZAkJTUFDSF9IVENESUFNT05ECQlIVENESUFNT05ECQkxODA1CitmaW9uYQkJCU1BQ0hfRklPTkEJCUZJT05BCQkJMTgwNgorbXhjMzAwMzBfeAkJTUFDSF9NWEMzMDAzMF9YCQlNWEMzMDAzMF9YCQkxODA3CitibXAxMDAwCQkJTUFDSF9CTVAxMDAwCQlCTVAxMDAwCQkJMTgwOAorbG9naTkyMDAJCU1BQ0hfTE9HSTkyMDAJCUxPR0k5MjAwCQkxODA5Cit0cW1hMzEJCQlNQUNIX1RRTUEzMQkJVFFNQTMxCQkJMTgxMAorY2N3OXA5MjE1anMJCU1BQ0hfQ0NXOVA5MjE1SlMJQ0NXOVA5MjE1SlMJCTE4MTEKK3JkODhmNTE4MWxfZ2UJCU1BQ0hfUkQ4OEY1MTgxTF9HRQlSRDg4RjUxODFMX0dFCQkxODEyCitzaWZtYWluCQkJTUFDSF9TSUZNQUlOCQlTSUZNQUlOCQkJMTgxMworc2FtOV9sOTI2MQkJTUFDSF9TQU05X0w5MjYxCQlTQU05X0w5MjYxCQkxODE0CitjYzltMjQ0M2pzCQlNQUNIX0NDOU0yNDQzSlMJCUNDOU0yNDQzSlMJCTE4MTUKK3hhcmlhMzAwCQlNQUNIX1hBUklBMzAwCQlYQVJJQTMwMAkJMTgxNgoraXQ5MjAwCQkJTUFDSF9JVDkyMDAJCUlUOTIwMAkJCTE4MTcKK3JkODhmNTE4MWxfZnhvCQlNQUNIX1JEODhGNTE4MUxfRlhPCVJEODhGNTE4MUxfRlhPCQkxODE4Citrcmlzc19zZW5zb3IJCU1BQ0hfS1JJU1NfU0VOU09SCUtSSVNTX1NFTlNPUgkJMTgxOQorcGlsel9wbWk1CQlNQUNIX1BJTFpfUE1JNQkJUElMWl9QTUk1CQkxODIwCitqYWRlCQkJTUFDSF9KQURFCQlKQURFCQkJMTgyMQora3M4Njk1X3NvZnRwbGMJCU1BQ0hfS1M4Njk1X1NPRlRQTEMJS1M4Njk1X1NPRlRQTEMJCTE4MjIKK2dwcmlzYzQJCQlNQUNIX0dQUklTQzQJCUdQUklTQzQJCQkxODIzCitzdGFtcDkyNjAJCU1BQ0hfU1RBTVA5MjYwCQlTVEFNUDkyNjAJCTE4MjQKZGlmZiAtLWdpdCBhL2FyY2gvYXZyMzIvS2NvbmZpZyBiL2FyY2gvYXZyMzIvS2NvbmZpZwppbmRleCAwOWFkNzk5Li40NWQ2M2M5IDEwMDY0NAotLS0gYS9hcmNoL2F2cjMyL0tjb25maWcKKysrIGIvYXJjaC9hdnIzMi9LY29uZmlnCkBAIC04OCw2ICs4OCw3IEBACiAJc2VsZWN0IE1NVQogCXNlbGVjdCBQRVJGT1JNQU5DRV9DT1VOVEVSUwogCXNlbGVjdCBIQVZFX0dQSU9fTElCCisJc2VsZWN0IEdFTkVSSUNfQUxMT0NBVE9SCiAKICMKICMgQ1BVIHR5cGVzCkBAIC0xNDcsNiArMTQ4LDkgQEAKIAogc291cmNlICJrZXJuZWwvS2NvbmZpZy5wcmVlbXB0IgogCitjb25maWcgUVVJQ0tMSVNUCisJZGVmX2Jvb2wgeQorCiBjb25maWcgSEFWRV9BUkNIX0JPT1RNRU1fTk9ERQogCWRlZl9ib29sIG4KIApAQCAtMjAxLDYgKzIwNSwxMSBAQAogCiBtZW51ICJQb3dlciBtYW5hZ2VtZW50IG9wdGlvbnMiCiAKK3NvdXJjZSAia2VybmVsL3Bvd2VyL0tjb25maWciCisKK2NvbmZpZyBBUkNIX1NVU1BFTkRfUE9TU0lCTEUKKwlkZWZfYm9vbCB5CisKIG1lbnUgIkNQVSBGcmVxdWVuY3kgc2NhbGluZyIKIAogc291cmNlICJkcml2ZXJzL2NwdWZyZXEvS2NvbmZpZyIKZGlmZiAtLWdpdCBhL2FyY2gvYXZyMzIvYm9hcmRzL2F0bmd3MTAwL3NldHVwLmMgYi9hcmNoL2F2cjMyL2JvYXJkcy9hdG5ndzEwMC9zZXR1cC5jCmluZGV4IGEzOThiZTIuLmE1MWJiOWYgMTAwNjQ0Ci0tLSBhL2FyY2gvYXZyMzIvYm9hcmRzL2F0bmd3MTAwL3NldHVwLmMKKysrIGIvYXJjaC9hdnIzMi9ib2FyZHMvYXRuZ3cxMDAvc2V0dXAuYwpAQCAtOSw2ICs5LDggQEAKICAqLwogI2luY2x1ZGUgPGxpbnV4L2Nsay5oPgogI2luY2x1ZGUgPGxpbnV4L2V0aGVyZGV2aWNlLmg+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+CiAjaW5jbHVkZSA8bGludXgvcG9sbC5oPgogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KQEAgLTQyOSwyMyArNDMwLDI2IEBACiBzdGF0aWMgaW50IHN5bmNfc2VyaWFsX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCiB7CiAJaW50IGRldiA9IGltaW5vcihpbm9kZSk7CisJaW50IHJldCA9IC1FQlVTWTsKIAlzeW5jX3BvcnQgKnBvcnQ7CiAJcmVnX2RtYV9yd19jZmcgY2ZnID0gey5lbiA9IHJlZ2tfZG1hX3llc307CiAJcmVnX2RtYV9yd19pbnRyX21hc2sgaW50cl9tYXNrID0gey5kYXRhID0gcmVna19kbWFfeWVzfTsKIAorCWxvY2tfa2VybmVsKCk7CiAJREVCVUcocHJpbnRrKEtFUk5fREVCVUcgIk9wZW4gc3luYyBzZXJpYWwgcG9ydCAlZFxuIiwgZGV2KSk7CiAKIAlpZiAoZGV2IDwgMCB8fCBkZXYgPj0gTkJSX1BPUlRTIHx8ICFwb3J0c1tkZXZdLmVuYWJsZWQpCiAJewogCQlERUJVRyhwcmludGsoS0VSTl9ERUJVRyAiSW52YWxpZCBtaW5vciAlZFxuIiwgZGV2KSk7Ci0JCXJldHVybiAtRU5PREVWOworCQlyZXQgPSAtRU5PREVWOworCQlnb3RvIG91dDsKIAl9CiAJcG9ydCA9ICZwb3J0c1tkZXZdOwogCS8qIEFsbG93IG9wZW4gdGhpcyBkZXZpY2UgdHdpY2UgKGFzc3VtaW5nIG9uZSByZWFkZXIgYW5kIG9uZSB3cml0ZXIpICovCiAJaWYgKHBvcnQtPmJ1c3kgPT0gMikKIAl7CiAJCURFQlVHKHByaW50ayhLRVJOX0RFQlVHICJEZXZpY2UgaXMgYnVzeS4uIFxuIikpOwotCQlyZXR1cm4gLUVCVVNZOworCQlnb3RvIG91dDsKIAl9CiAKIApAQCAtNDU5LDcgKzQ2Myw3IEBACiAJCQkJCQkic3luY2hyb25vdXMgc2VyaWFsIDAgZG1hIHRyIiwKIAkJCQkJCSZwb3J0c1swXSkpIHsKIAkJCQkJcHJpbnRrKEtFUk5fQ1JJVCAiQ2FuJ3QgYWxsb2NhdGUgc3luYyBzZXJpYWwgcG9ydCAwIElSUSIpOwotCQkJCQlyZXR1cm4gLUVCVVNZOworCQkJCQlnb3RvIG91dDsKIAkJCQl9IGVsc2UgaWYgKHJlcXVlc3RfaXJxKERNQV9JTl9JTlRSX1ZFQ1QsCiAJCQkJCQlyeF9pbnRlcnJ1cHQsCiAJCQkJCQkwLApAQCAtNDY3LDcgKzQ3MSw3IEBACiAJCQkJCQkmcG9ydHNbMF0pKSB7CiAJCQkJCWZyZWVfaXJxKERNQV9PVVRfSU5UUl9WRUNULCAmcG9ydFswXSk7CiAJCQkJCXByaW50ayhLRVJOX0NSSVQgIkNhbid0IGFsbG9jYXRlIHN5bmMgc2VyaWFsIHBvcnQgMCBJUlEiKTsKLQkJCQkJcmV0dXJuIC1FQlVTWTsKKwkJCQkJZ290byBvdXQ7CiAJCQkJfSBlbHNlIGlmIChjcmlzdjMyX3JlcXVlc3RfZG1hKE9VVF9ETUFfTkJSLAogCQkJCQkJInN5bmNocm9ub3VzIHNlcmlhbCAwIGRtYSB0ciIsCiAJCQkJCQlETUFfVkVSQk9TRV9PTl9FUlJPUiwKQEAgLTQ3Niw3ICs0ODAsNyBAQAogCQkJCQlmcmVlX2lycShETUFfT1VUX0lOVFJfVkVDVCwgJnBvcnRbMF0pOwogCQkJCQlmcmVlX2lycShETUFfSU5fSU5UUl9WRUNULCAmcG9ydFswXSk7CiAJCQkJCXByaW50ayhLRVJOX0NSSVQgIkNhbid0IGFsbG9jYXRlIHN5bmMgc2VyaWFsIHBvcnQgMCBUWCBETUEgY2hhbm5lbCIpOwotCQkJCQlyZXR1cm4gLUVCVVNZOworCQkJCQlnb3RvIG91dDsKIAkJCQl9IGVsc2UgaWYgKGNyaXN2MzJfcmVxdWVzdF9kbWEoSU5fRE1BX05CUiwKIAkJCQkJCSJzeW5jaHJvbm91cyBzZXJpYWwgMCBkbWEgcmVjIiwKIAkJCQkJCURNQV9WRVJCT1NFX09OX0VSUk9SLApAQCAtNDg2LDcgKzQ5MCw3IEBACiAJCQkJCWZyZWVfaXJxKERNQV9PVVRfSU5UUl9WRUNULCAmcG9ydFswXSk7CiAJCQkJCWZyZWVfaXJxKERNQV9JTl9JTlRSX1ZFQ1QsICZwb3J0WzBdKTsKIAkJCQkJcHJpbnRrKEtFUk5fQ1JJVCAiQ2FuJ3QgYWxsb2NhdGUgc3luYyBzZXJpYWwgcG9ydCAxIFJYIERNQSBjaGFubmVsIik7Ci0JCQkJCXJldHVybiAtRUJVU1k7CisJCQkJCWdvdG8gb3V0OwogCQkJCX0KICNlbmRpZgogCQkJfQpAQCAtNDk5LDcgKzUwMyw3IEBACiAJCQkJCQkic3luY2hyb25vdXMgc2VyaWFsIDEgZG1hIHRyIiwKIAkJCQkJCSZwb3J0c1sxXSkpIHsKIAkJCQkJcHJpbnRrKEtFUk5fQ1JJVCAiQ2FuJ3QgYWxsb2NhdGUgc3luYyBzZXJpYWwgcG9ydCAxIElSUSIpOwotCQkJCQlyZXR1cm4gLUVCVVNZOworCQkJCQlnb3RvIG91dDsKIAkJCQl9IGVsc2UgaWYgKHJlcXVlc3RfaXJxKERNQTdfSU5UUl9WRUNULAogCQkJCQkJICAgICAgIHJ4X2ludGVycnVwdCwKIAkJCQkJCSAgICAgICAwLApAQCAtNTA3LDcgKzUxMSw3IEBACiAJCQkJCQkgICAgICAgJnBvcnRzWzFdKSkgewogCQkJCQlmcmVlX2lycShETUE2X0lOVFJfVkVDVCwgJnBvcnRzWzFdKTsKIAkJCQkJcHJpbnRrKEtFUk5fQ1JJVCAiQ2FuJ3QgYWxsb2NhdGUgc3luYyBzZXJpYWwgcG9ydCAzIElSUSIpOwotCQkJCQlyZXR1cm4gLUVCVVNZOworCQkJCQlnb3RvIG91dDsKIAkJCQl9IGVsc2UgaWYgKGNyaXN2MzJfcmVxdWVzdF9kbWEoCiAJCQkJCQlTWU5DX1NFUjFfVFhfRE1BX05CUiwKIAkJCQkJCSJzeW5jaHJvbm91cyBzZXJpYWwgMSBkbWEgdHIiLApAQCAtNTE3LDcgKzUyMSw3IEBACiAJCQkJCWZyZWVfaXJxKERNQTZfSU5UUl9WRUNULCAmcG9ydHNbMV0pOwogCQkJCQlmcmVlX2lycShETUE3X0lOVFJfVkVDVCwgJnBvcnRzWzFdKTsKIAkJCQkJcHJpbnRrKEtFUk5fQ1JJVCAiQ2FuJ3QgYWxsb2NhdGUgc3luYyBzZXJpYWwgcG9ydCAzIFRYIERNQSBjaGFubmVsIik7Ci0JCQkJCXJldHVybiAtRUJVU1k7CisJCQkJCWdvdG8gb3V0OwogCQkJCX0gZWxzZSBpZiAoY3Jpc3YzMl9yZXF1ZXN0X2RtYSgKIAkJCQkJCVNZTkNfU0VSMV9SWF9ETUFfTkJSLAogCQkJCQkJInN5bmNocm9ub3VzIHNlcmlhbCAzIGRtYSByZWMiLApAQCAtNTI4LDcgKzUzMiw3IEBACiAJCQkJCWZyZWVfaXJxKERNQTZfSU5UUl9WRUNULCAmcG9ydHNbMV0pOwogCQkJCQlmcmVlX2lycShETUE3X0lOVFJfVkVDVCwgJnBvcnRzWzFdKTsKIAkJCQkJcHJpbnRrKEtFUk5fQ1JJVCAiQ2FuJ3QgYWxsb2NhdGUgc3luYyBzZXJpYWwgcG9ydCAzIFJYIERNQSBjaGFubmVsIik7Ci0JCQkJCXJldHVybiAtRUJVU1k7CisJCQkJCWdvdG8gb3V0OwogCQkJCX0KICNlbmRpZgogCQkJfQpAQCAtNTU0LDcgKzU1OCw3IEBACiAJCQkJCQkic3luY2hyb25vdXMgc2VyaWFsIG1hbnVhbCBpcnEiLAogCQkJCQkJJnBvcnRzWzBdKSkgewogCQkJCQlwcmludGsoIkNhbid0IGFsbG9jYXRlIHN5bmMgc2VyaWFsIG1hbnVhbCBpcnEiKTsKLQkJCQkJcmV0dXJuIC1FQlVTWTsKKwkJCQkJZ290byBvdXQ7CiAJCQkJfQogCQkJfQogI2lmZGVmIENPTkZJR19FVFJBWEZTCkBAIC01NjUsNyArNTY5LDcgQEAKIAkJCQkJCSJzeW5jaHJvbm91cyBzZXJpYWwgbWFudWFsIGlycSIsCiAJCQkJCQkmcG9ydHNbMV0pKSB7CiAJCQkJCXByaW50ayhLRVJOX0NSSVQgIkNhbid0IGFsbG9jYXRlIHN5bmMgc2VyaWFsIG1hbnVhbCBpcnEiKTsKLQkJCQkJcmV0dXJuIC1FQlVTWTsKKwkJCQkJZ290byBvdXQ7CiAJCQkJfQogCQkJfQogI2VuZGlmCkBAIC01NzgsNyArNTgyLDEwIEBACiAJfSAvKiBwb3J0LT5pbml0X2lycXMgKi8KIAogCXBvcnQtPmJ1c3krKzsKLQlyZXR1cm4gMDsKKwlyZXQgPSAwOworb3V0OgorCXVubG9ja19rZXJuZWwoKTsKKwlyZXR1cm4gcmV0OwogfQogCiBzdGF0aWMgaW50IHN5bmNfc2VyaWFsX3JlbGVhc2Uoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCmRpZmYgLS1naXQgYS9hcmNoL202OGsvYnZtZTYwMDAvcnRjLmMgYi9hcmNoL202OGsvYnZtZTYwMDAvcnRjLmMKaW5kZXggYTgxMmQwMy4uZThhYzNmNyAxMDA2NDQKLS0tIGEvYXJjaC9tNjhrL2J2bWU2MDAwL3J0Yy5jCisrKyBiL2FyY2gvbTY4ay9idm1lNjAwMC9ydGMuYwpAQCAtMTAsNiArMTAsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CiAjaW5jbHVkZSA8bGludXgvbWlzY2RldmljZS5oPgogI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L2lvcG9ydC5oPgogI2luY2x1ZGUgPGxpbnV4L2NhcGFiaWxpdHkuaD4KICNpbmNsdWRlIDxsaW51eC9mY250bC5oPgpAQCAtMTQwLDEwICsxNDEsMTQgQEAKIAogc3RhdGljIGludCBydGNfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKIHsKLQlpZihydGNfc3RhdHVzKQorCWxvY2tfa2VybmVsKCk7CisJaWYocnRjX3N0YXR1cykgeworCQl1bmxvY2tfa2VybmVsKCk7CiAJCXJldHVybiAtRUJVU1k7CisJfQogCiAJcnRjX3N0YXR1cyA9IDE7CisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiAwOwogfQogCmRpZmYgLS1naXQgYS9hcmNoL202OGsvbXZtZTE2eC9ydGMuYyBiL2FyY2gvbTY4ay9tdm1lMTZ4L3J0Yy5jCmluZGV4IGUzNDEzODcuLjQzMmE5ZjEgMTAwNjQ0Ci0tLSBhL2FyY2gvbTY4ay9tdm1lMTZ4L3J0Yy5jCisrKyBiL2FyY2gvbTY4ay9tdm1lMTZ4L3J0Yy5jCkBAIC0xMCw2ICsxMCw3IEBACiAjaW5jbHVkZSA8bGludXgvZXJybm8uaD4KICNpbmNsdWRlIDxsaW51eC9taXNjZGV2aWNlLmg+CiAjaW5jbHVkZSA8bGludXgvc2xhYi5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvaW9wb3J0Lmg+CiAjaW5jbHVkZSA8bGludXgvY2FwYWJpbGl0eS5oPgogI2luY2x1ZGUgPGxpbnV4L2ZjbnRsLmg+CkBAIC0xMjcsMTEgKzEyOCwxNCBAQAogCiBzdGF0aWMgaW50IHJ0Y19vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQogeworCWxvY2tfa2VybmVsKCk7CiAJaWYoICFhdG9taWNfZGVjX2FuZF90ZXN0KCZydGNfcmVhZHkpICkKIAl7CiAJCWF0b21pY19pbmMoICZydGNfcmVhZHkgKTsKKwkJdW5sb2NrX2tlcm5lbCgpOwogCQlyZXR1cm4gLUVCVVNZOwogCX0KKwl1bmxvY2tfa2VybmVsKCk7CiAKIAlyZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL2FyY2gvbWlwcy9iYXNsZXIvZXhjaXRlL2V4Y2l0ZV9pb2Rldi5jIGIvYXJjaC9taXBzL2Jhc2xlci9leGNpdGUvZXhjaXRlX2lvZGV2LmMKaW5kZXggNDc2ZDIwZS4uYTFlMzUyNiAxMDA2NDQKLS0tIGEvYXJjaC9taXBzL2Jhc2xlci9leGNpdGUvZXhjaXRlX2lvZGV2LmMKKysrIGIvYXJjaC9taXBzL2Jhc2xlci9leGNpdGUvZXhjaXRlX2lvZGV2LmMKQEAgLTI2LDYgKzI2LDcgQEAKICNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KICNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KICNpbmNsdWRlIDxsaW51eC9taXNjZGV2aWNlLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KIAogI2luY2x1ZGUgImV4Y2l0ZV9pb2Rldi5oIgogCkBAIC0xMTAsOCArMTExLDE0IEBACiAKIHN0YXRpYyBpbnQgaW9kZXZfb3BlbihzdHJ1Y3QgaW5vZGUgKmksIHN0cnVjdCBmaWxlICpmKQogewotCXJldHVybiByZXF1ZXN0X2lycShpb2Rldl9pcnEsIGlvZGV2X2lycWhkbCwgSVJRRl9ESVNBQkxFRCwKKwlpbnQgcmV0OworCisJbG9ja19rZXJuZWwoKTsKKwlyZXQgPSByZXF1ZXN0X2lycShpb2Rldl9pcnEsIGlvZGV2X2lycWhkbCwgSVJRRl9ESVNBQkxFRCwKIAkJCSAgIGlvZGV2X25hbWUsICZtaXNjZGV2KTsKKwl1bmxvY2tfa2VybmVsKCk7CisKKwlyZXR1cm4gcmV0OwogfQogCiBzdGF0aWMgaW50IGlvZGV2X3JlbGVhc2Uoc3RydWN0IGlub2RlICppLCBzdHJ1Y3QgZmlsZSAqZikKZGlmZiAtLWdpdCBhL2FyY2gvbWlwcy9rZXJuZWwvcnRseC5jIGIvYXJjaC9taXBzL2tlcm5lbC9ydGx4LmMKaW5kZXggYjg4ZjFjMS4uYjU1NjQxOSAxMDA2NDQKLS0tIGEvYXJjaC9taXBzL2tlcm5lbC9ydGx4LmMKKysrIGIvYXJjaC9taXBzL2tlcm5lbC9ydGx4LmMKQEAgLTI4LDYgKzI4LDcgQEAKICNpbmNsdWRlIDxsaW51eC92bWFsbG9jLmg+CiAjaW5jbHVkZSA8bGludXgvZWxmLmg+CiAjaW5jbHVkZSA8bGludXgvc2VxX2ZpbGUuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L3N5c2NhbGxzLmg+CiAjaW5jbHVkZSA8bGludXgvbW9kdWxlbG9hZGVyLmg+CiAjaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+CkBAIC0zOTIsOCArMzkzLDEyIEBACiBzdGF0aWMgaW50IGZpbGVfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlscCkKIHsKIAlpbnQgbWlub3IgPSBpbWlub3IoaW5vZGUpOworCWludCBlcnI7CiAKLQlyZXR1cm4gcnRseF9vcGVuKG1pbm9yLCAoZmlscC0+Zl9mbGFncyAmIE9fTk9OQkxPQ0spID8gMCA6IDEpOworCWxvY2tfa2VybmVsKCk7CisJZXJyID0gcnRseF9vcGVuKG1pbm9yLCAoZmlscC0+Zl9mbGFncyAmIE9fTk9OQkxPQ0spID8gMCA6IDEpOworCXVubG9ja19rZXJuZWwoKTsKKwlyZXR1cm4gZXJyOwogfQogCiBzdGF0aWMgaW50IGZpbGVfcmVsZWFzZShzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlscCkKZGlmZiAtLWdpdCBhL2FyY2gvbWlwcy9rZXJuZWwvc3RhY2t0cmFjZS5jIGIvYXJjaC9taXBzL2tlcm5lbC9zdGFja3RyYWNlLmMKaW5kZXggZWJkOWRiOC4uNWViNDY4MSAxMDA2NDQKLS0tIGEvYXJjaC9taXBzL2tlcm5lbC9zdGFja3RyYWNlLmMKKysrIGIvYXJjaC9taXBzL2tlcm5lbC9zdGFja3RyYWNlLmMKQEAgLTczLDMgKzczLDQgQEAKIAlwcmVwYXJlX2ZyYW1ldHJhY2UocmVncyk7CiAJc2F2ZV9jb250ZXh0X3N0YWNrKHRyYWNlLCByZWdzKTsKIH0KK0VYUE9SVF9TWU1CT0xfR1BMKHNhdmVfc3RhY2tfdHJhY2UpOwpkaWZmIC0tZ2l0IGEvYXJjaC9taXBzL2tlcm5lbC92cGUuYyBiL2FyY2gvbWlwcy9rZXJuZWwvdnBlLmMKaW5kZXggMjc5NDUwMS4uOTcyYjJkMiAxMDA2NDQKLS0tIGEvYXJjaC9taXBzL2tlcm5lbC92cGUuYworKysgYi9hcmNoL21pcHMva2VybmVsL3ZwZS5jCkBAIC0zOCw2ICszOCw3IEBACiAjaW5jbHVkZSA8bGludXgvdm1hbGxvYy5oPgogI2luY2x1ZGUgPGxpbnV4L2VsZi5oPgogI2luY2x1ZGUgPGxpbnV4L3NlcV9maWxlLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxsaW51eC9zeXNjYWxscy5oPgogI2luY2x1ZGUgPGxpbnV4L21vZHVsZWxvYWRlci5oPgogI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgpAQCAtMTA1MCwxNyArMTA1MSwyMCBAQAogCWVudW0gdnBlX3N0YXRlIHN0YXRlOwogCXN0cnVjdCB2cGVfbm90aWZpY2F0aW9ucyAqbm90OwogCXN0cnVjdCB2cGUgKnY7Ci0JaW50IHJldDsKKwlpbnQgcmV0LCBlcnIgPSAwOwogCisJbG9ja19rZXJuZWwoKTsKIAlpZiAobWlub3IgIT0gaW1pbm9yKGlub2RlKSkgewogCQkvKiBhc3N1bWUgb25seSAxIGRldmljZSBhdCB0aGUgbW9tZW50LiAqLwogCQlwcmludGsoS0VSTl9XQVJOSU5HICJWUEUgbG9hZGVyOiBvbmx5IHZwZTEgaXMgc3VwcG9ydGVkXG4iKTsKLQkJcmV0dXJuIC1FTk9ERVY7CisJCWVyciA9IC1FTk9ERVY7CisJCWdvdG8gb3V0OwogCX0KIAogCWlmICgodiA9IGdldF92cGUodGNsaW1pdCkpID09IE5VTEwpIHsKIAkJcHJpbnRrKEtFUk5fV0FSTklORyAiVlBFIGxvYWRlcjogdW5hYmxlIHRvIGdldCB2cGVcbiIpOwotCQlyZXR1cm4gLUVOT0RFVjsKKwkJZXJyID0gLUVOT0RFVjsKKwkJZ290byBvdXQ7CiAJfQogCiAJc3RhdGUgPSB4Y2hnKCZ2LT5zdGF0ZSwgVlBFX1NUQVRFX0lOVVNFKTsKQEAgLTExMDAsNiArMTEwNCw4IEBACiAJdi0+c2hhcmVkX3B0ciA9IE5VTEw7CiAJdi0+X19zdGFydCA9IDA7CiAKK291dDoKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIDA7CiB9CiAKZGlmZiAtLWdpdCBhL2FyY2gvbWlwcy9zaWJ5dGUvY29tbW9uL3NiX3RicHJvZi5jIGIvYXJjaC9taXBzL3NpYnl0ZS9jb21tb24vc2JfdGJwcm9mLmMKaW5kZXggNjNiNDQ0ZS4uMjhiMDEyYSAxMDA2NDQKLS0tIGEvYXJjaC9taXBzL3NpYnl0ZS9jb21tb24vc2JfdGJwcm9mLmMKKysrIGIvYXJjaC9taXBzL3NpYnl0ZS9jb21tb24vc2JfdGJwcm9mLmMKQEAgLTI4LDYgKzI4LDcgQEAKICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAjaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+CiAjaW5jbHVkZSA8bGludXgvc2xhYi5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvdm1hbGxvYy5oPgogI2luY2x1ZGUgPGxpbnV4L2ZzLmg+CiAjaW5jbHVkZSA8bGludXgvZXJybm8uaD4KQEAgLTQwMiwxOCArNDAzLDI2IEBACiBzdGF0aWMgaW50IHNicHJvZl90Yl9vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxwKQogewogCWludCBtaW5vcjsKKwlpbnQgZXJyID0gMDsKIAorCWxvY2tfa2VybmVsKCk7CiAJbWlub3IgPSBpbWlub3IoaW5vZGUpOwotCWlmIChtaW5vciAhPSAwKQotCQlyZXR1cm4gLUVOT0RFVjsKKwlpZiAobWlub3IgIT0gMCkgeworCQllcnIgPSAtRU5PREVWOworCQlnb3RvIG91dDsKKwl9CiAKLQlpZiAoeGNoZygmc2JwLm9wZW4sIFNCX09QRU5JTkcpICE9IFNCX0NMT1NFRCkKLQkJcmV0dXJuIC1FQlVTWTsKKwlpZiAoeGNoZygmc2JwLm9wZW4sIFNCX09QRU5JTkcpICE9IFNCX0NMT1NFRCkgeworCQllcnIgPSAtRUJVU1k7CisJCWdvdG8gb3V0OworCX0KIAogCW1lbXNldCgmc2JwLCAwLCBzaXplb2Yoc3RydWN0IHNicHJvZl90YikpOwogCXNicC5zYnByb2ZfdGJidWYgPSB2bWFsbG9jKE1BWF9UQlNBTVBMRV9CWVRFUyk7Ci0JaWYgKCFzYnAuc2Jwcm9mX3RiYnVmKQotCQlyZXR1cm4gLUVOT01FTTsKKwlpZiAoIXNicC5zYnByb2ZfdGJidWYpIHsKKwkJZXJyID0gLUVOT01FTTsKKwkJZ290byBvdXQ7CisJfQogCW1lbXNldChzYnAuc2Jwcm9mX3RiYnVmLCAwLCBNQVhfVEJTQU1QTEVfQllURVMpOwogCWluaXRfd2FpdHF1ZXVlX2hlYWQoJnNicC50Yl9zeW5jKTsKIAlpbml0X3dhaXRxdWV1ZV9oZWFkKCZzYnAudGJfcmVhZCk7CkBAIC00MjEsNyArNDMwLDkgQEAKIAogCXNicC5vcGVuID0gU0JfT1BFTjsKIAotCXJldHVybiAwOworICBvdXQ6CisJdW5sb2NrX2tlcm5lbCgpOworCXJldHVybiBlcnI7CiB9CiAKIHN0YXRpYyBpbnQgc2Jwcm9mX3RiX3JlbGVhc2Uoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbHApCmRpZmYgLS1naXQgYS9hcmNoL21pcHMvc2lieXRlL3N3YXJtL01ha2VmaWxlIGIvYXJjaC9taXBzL3NpYnl0ZS9zd2FybS9NYWtlZmlsZQppbmRleCAxNzc1NzU1Li4yNTVkNjkyIDEwMDY0NAotLS0gYS9hcmNoL21pcHMvc2lieXRlL3N3YXJtL01ha2VmaWxlCisrKyBiL2FyY2gvbWlwcy9zaWJ5dGUvc3dhcm0vTWFrZWZpbGUKQEAgLTEsMyArMSw0IEBACiBvYmoteQkJCQk6PSBzZXR1cC5vIHJ0Y194aWNvcjEyNDEubyBydGNfbTQxdDgxLm8KIAorb2JqLSQoQ09ORklHX0kyQ19CT0FSRElORk8pCSs9IHN3YXJtLWkyYy5vCiBvYmotJChDT05GSUdfS0dEQikJCSs9IGRiZ19pby5vCmRpZmYgLS1naXQgYS9hcmNoL21pcHMvc2lieXRlL3N3YXJtL3N3YXJtLWkyYy5jIGIvYXJjaC9taXBzL3NpYnl0ZS9zd2FybS9zd2FybS1pMmMuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MjgyYWM5Ci0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9taXBzL3NpYnl0ZS9zd2FybS9zd2FybS1pMmMuYwpAQCAtMCwwICsxLDM3IEBACisvKgorICoJYXJjaC9taXBzL3NpYnl0ZS9zd2FybS9zd2FybS1pMmMuYworICoKKyAqCUJyb2FkY29tIEJDTTkxMjUwQSAoU1dBUk0pLCBldGMuIEkyQyBwbGF0Zm9ybSBzZXR1cC4KKyAqCisgKglDb3B5cmlnaHQgKGMpIDIwMDggIE1hY2llaiBXLiBSb3p5Y2tpCisgKgorICoJVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICoJbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqCWFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbgorICoJMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqLworCisjaW5jbHVkZSA8bGludXgvaTJjLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorCisKK3N0YXRpYyBzdHJ1Y3QgaTJjX2JvYXJkX2luZm8gc3dhcm1faTJjX2luZm8xW10gX19pbml0ZGF0YSA9IHsKKwl7CisJCUkyQ19CT0FSRF9JTkZPKCJtNDF0ODEiLCAweDY4KSwKKwl9LAorfTsKKworc3RhdGljIGludCBfX2luaXQgc3dhcm1faTJjX2luaXQodm9pZCkKK3sKKwlpbnQgZXJyOworCisJZXJyID0gaTJjX3JlZ2lzdGVyX2JvYXJkX2luZm8oMSwgc3dhcm1faTJjX2luZm8xLAorCQkJCSAgICAgIEFSUkFZX1NJWkUoc3dhcm1faTJjX2luZm8xKSk7CisJaWYgKGVyciA8IDApCisJCXByaW50ayhLRVJOX0VSUgorCQkgICAgICAgInN3YXJtLWkyYzogY2Fubm90IHJlZ2lzdGVyIGJvYXJkIEkyQyBkZXZpY2VzXG4iKTsKKwlyZXR1cm4gZXJyOworfQorCithcmNoX2luaXRjYWxsKHN3YXJtX2kyY19pbml0KTsKZGlmZiAtLWdpdCBhL2FyY2gvcGFyaXNjL2tlcm5lbC9wZXJmLmMgYi9hcmNoL3BhcmlzYy9rZXJuZWwvcGVyZi5jCmluZGV4IDg5ZDZkNWEuLmY2OTZmNTcgMTAwNjQ0Ci0tLSBhL2FyY2gvcGFyaXNjL2tlcm5lbC9wZXJmLmMKKysrIGIvYXJjaC9wYXJpc2Mva2VybmVsL3BlcmYuYwpAQCAtNDYsNiArNDYsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KICNpbmNsdWRlIDxsaW51eC9wcm9jX2ZzLmg+CiAjaW5jbHVkZSA8bGludXgvbWlzY2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvc3BpbmxvY2suaD4KIAogI2luY2x1ZGUgPGFzbS91YWNjZXNzLmg+CkBAIC0yNjAsMTMgKzI2MSwxNiBAQAogICovCiBzdGF0aWMgaW50IHBlcmZfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKIHsKKwlsb2NrX2tlcm5lbCgpOwogCXNwaW5fbG9jaygmcGVyZl9sb2NrKTsKIAlpZiAocGVyZl9lbmFibGVkKSB7CiAJCXNwaW5fdW5sb2NrKCZwZXJmX2xvY2spOworCQl1bmxvY2tfa2VybmVsKCk7CiAJCXJldHVybiAtRUJVU1k7CiAJfQogCXBlcmZfZW5hYmxlZCA9IDE7CiAgCXNwaW5fdW5sb2NrKCZwZXJmX2xvY2spOworCXVubG9ja19rZXJuZWwoKTsKIAogCXJldHVybiAwOwogfQpkaWZmIC0tZ2l0IGEvYXJjaC9wYXJpc2Mva2VybmVsL3ZtbGludXgubGRzLlMgYi9hcmNoL3BhcmlzYy9rZXJuZWwvdm1saW51eC5sZHMuUwppbmRleCAyZTUxNmI4Li4xYTNiNmNjIDEwMDY0NAotLS0gYS9hcmNoL3BhcmlzYy9rZXJuZWwvdm1saW51eC5sZHMuUworKysgYi9hcmNoL3BhcmlzYy9rZXJuZWwvdm1saW51eC5sZHMuUwpAQCAtNjcsNyArNjcsNiBAQAogCV9ldGV4dCA9IC47CiAKIAlST0RBVEEKLQlCVUdfVEFCTEUKIAogCS8qIHdyaXRlYWJsZSAqLwogCS8qIE1ha2Ugc3VyZSB0aGlzIGlzIHBhZ2UgYWxpZ25lZCBzbwpkaWZmIC0tZ2l0IGEvYXJjaC9wb3dlcnBjL0tjb25maWcgYi9hcmNoL3Bvd2VycGMvS2NvbmZpZwppbmRleCAzOTM0ZTI2Li5hNWU5OTEyIDEwMDY0NAotLS0gYS9hcmNoL3Bvd2VycGMvS2NvbmZpZworKysgYi9hcmNoL3Bvd2VycGMvS2NvbmZpZwpAQCAtMTA1LDExICsxMDUsMTMgQEAKIGNvbmZpZyBQUEMKIAlib29sCiAJZGVmYXVsdCB5CisJc2VsZWN0IEhBVkVfRFlOQU1JQ19GVFJBQ0UKKwlzZWxlY3QgSEFWRV9GVFJBQ0UKIAlzZWxlY3QgSEFWRV9JREUKLQlzZWxlY3QgSEFWRV9PUFJPRklMRQogCXNlbGVjdCBIQVZFX0tQUk9CRVMKIAlzZWxlY3QgSEFWRV9LUkVUUFJPQkVTCiAJc2VsZWN0IEhBVkVfTE1CCisJc2VsZWN0IEhBVkVfT1BST0ZJTEUKIAogY29uZmlnIEVBUkxZX1BSSU5USwogCWJvb2wKZGlmZiAtLWdpdCBhL2FyY2gvcG93ZXJwYy9rZXJuZWwvTWFrZWZpbGUgYi9hcmNoL3Bvd2VycGMva2VybmVsL01ha2VmaWxlCmluZGV4IDIzNDZkMjcuLmYzZjVlMjYgMTAwNjQ0Ci0tLSBhL2FyY2gvcG93ZXJwYy9rZXJuZWwvTWFrZWZpbGUKKysrIGIvYXJjaC9wb3dlcnBjL2tlcm5lbC9NYWtlZmlsZQpAQCAtMTIsNiArMTIsMTggQEAKIENGTEFHU19idGV4dC5vCQkrPSAtZlBJQwogZW5kaWYKIAoraWZkZWYgQ09ORklHX0ZUUkFDRQorIyBEbyBub3QgdHJhY2UgZWFybHkgYm9vdCBjb2RlCitDRkxBR1NfUkVNT1ZFX2NwdXRhYmxlLm8gPSAtcGcKK0NGTEFHU19SRU1PVkVfcHJvbV9pbml0Lm8gPSAtcGcKKworaWZkZWYgQ09ORklHX0RZTkFNSUNfRlRSQUNFCisjIGR5bmFtaWMgZnRyYWNlIHNldHVwLgorQ0ZMQUdTX1JFTU9WRV9mdHJhY2UubyA9IC1wZworZW5kaWYKKworZW5kaWYKKwogb2JqLXkJCQkJOj0gY3B1dGFibGUubyBwdHJhY2UubyBzeXNjYWxscy5vIFwKIAkJCQkgICBpcnEubyBhbGlnbi5vIHNpZ25hbF8zMi5vIHBtYy5vIHZkc28ubyBcCiAJCQkJICAgaW5pdF90YXNrLm8gcHJvY2Vzcy5vIHN5c3RibC5vIGlkbGUubyBcCkBAIC03OCw2ICs5MCw4IEBACiBvYmotJChDT05GSUdfQVVESVQpCQkrPSBhdWRpdC5vCiBvYmo2NC0kKENPTkZJR19BVURJVCkJCSs9IGNvbXBhdF9hdWRpdC5vCiAKK29iai0kKENPTkZJR19EWU5BTUlDX0ZUUkFDRSkJKz0gZnRyYWNlLm8KKwogb2JqLSQoQ09ORklHXzhYWF9NSU5JTUFMX0ZQRU1VKSArPSBzb2Z0ZW11OHh4Lm8KIAogaWZuZXEgKCQoQ09ORklHX1BQQ19JTkRJUkVDVF9JTykseSkKZGlmZiAtLWdpdCBhL2FyY2gvcG93ZXJwYy9rZXJuZWwvZW50cnlfMzIuUyBiL2FyY2gvcG93ZXJwYy9rZXJuZWwvZW50cnlfMzIuUwppbmRleCAwYzg2MTRkLi43MjMxYTcwIDEwMDY0NAotLS0gYS9hcmNoL3Bvd2VycGMva2VybmVsL2VudHJ5XzMyLlMKKysrIGIvYXJjaC9wb3dlcnBjL2tlcm5lbC9lbnRyeV8zMi5TCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSA8YXNtL3BwY19hc20uaD4KICNpbmNsdWRlIDxhc20vYXNtLW9mZnNldHMuaD4KICNpbmNsdWRlIDxhc20vdW5pc3RkLmg+CisjaW5jbHVkZSA8YXNtL2Z0cmFjZS5oPgogCiAjdW5kZWYgU0hPV19TWVNDQUxMUwogI3VuZGVmIFNIT1dfU1lTQ0FMTFNfVEFTSwpAQCAtMTAzNSwzICsxMDM2LDEyOSBAQAogCS8qIFhYWCBsb2FkIHVwIEJBVHMgYW5kIHBhbmljICovCiAKICNlbmRpZiAvKiBDT05GSUdfUFBDX1JUQVMgKi8KKworI2lmZGVmIENPTkZJR19GVFJBQ0UKKyNpZmRlZiBDT05GSUdfRFlOQU1JQ19GVFJBQ0UKK19HTE9CQUwobWNvdW50KQorX0dMT0JBTChfbWNvdW50KQorCXN0d3UJcjEsLTQ4KHIxKQorCXN0dwlyMywgMTIocjEpCisJc3R3CXI0LCAxNihyMSkKKwlzdHcJcjUsIDIwKHIxKQorCXN0dwlyNiwgMjQocjEpCisJbWZscglyMworCXN0dwlyNywgMjgocjEpCisJbWZjcglyNQorCXN0dwlyOCwgMzIocjEpCisJc3R3CXI5LCAzNihyMSkKKwlzdHcJcjEwLDQwKHIxKQorCXN0dwlyMywgNDQocjEpCisJc3R3CXI1LCA4KHIxKQorCXN1YmkJcjMsIHIzLCBNQ09VTlRfSU5TTl9TSVpFCisJLmdsb2JsIG1jb3VudF9jYWxsCittY291bnRfY2FsbDoKKwlibAlmdHJhY2Vfc3R1YgorCW5vcAorCWx3eglyNiwgOChyMSkKKwlsd3oJcjAsIDQ0KHIxKQorCWx3eglyMywgMTIocjEpCisJbXRjdHIJcjAKKwlsd3oJcjQsIDE2KHIxKQorCW10Y3IJcjYKKwlsd3oJcjUsIDIwKHIxKQorCWx3eglyNiwgMjQocjEpCisJbHd6CXIwLCA1MihyMSkKKwlsd3oJcjcsIDI4KHIxKQorCWx3eglyOCwgMzIocjEpCisJbXRscglyMAorCWx3eglyOSwgMzYocjEpCisJbHd6CXIxMCw0MChyMSkKKwlhZGRpCXIxLCByMSwgNDgKKwliY3RyCisKK19HTE9CQUwoZnRyYWNlX2NhbGxlcikKKwkvKiBCYXNlZCBvZmYgb2Ygb2JqZHVtcCBvcHRwdXQgZnJvbSBnbGliYyAqLworCXN0d3UJcjEsLTQ4KHIxKQorCXN0dwlyMywgMTIocjEpCisJc3R3CXI0LCAxNihyMSkKKwlzdHcJcjUsIDIwKHIxKQorCXN0dwlyNiwgMjQocjEpCisJbWZscglyMworCWx3eglyNCwgNTIocjEpCisJbWZjcglyNQorCXN0dwlyNywgMjgocjEpCisJc3R3CXI4LCAzMihyMSkKKwlzdHcJcjksIDM2KHIxKQorCXN0dwlyMTAsNDAocjEpCisJc3R3CXIzLCA0NChyMSkKKwlzdHcJcjUsIDgocjEpCisJc3ViaQlyMywgcjMsIE1DT1VOVF9JTlNOX1NJWkUKKy5nbG9ibCBmdHJhY2VfY2FsbAorZnRyYWNlX2NhbGw6CisJYmwJZnRyYWNlX3N0dWIKKwlub3AKKwlsd3oJcjYsIDgocjEpCisJbHd6CXIwLCA0NChyMSkKKwlsd3oJcjMsIDEyKHIxKQorCW10Y3RyCXIwCisJbHd6CXI0LCAxNihyMSkKKwltdGNyCXI2CisJbHd6CXI1LCAyMChyMSkKKwlsd3oJcjYsIDI0KHIxKQorCWx3eglyMCwgNTIocjEpCisJbHd6CXI3LCAyOChyMSkKKwlsd3oJcjgsIDMyKHIxKQorCW10bHIJcjAKKwlsd3oJcjksIDM2KHIxKQorCWx3eglyMTAsNDAocjEpCisJYWRkaQlyMSwgcjEsIDQ4CisJYmN0cgorI2Vsc2UKK19HTE9CQUwobWNvdW50KQorX0dMT0JBTChfbWNvdW50KQorCXN0d3UJcjEsLTQ4KHIxKQorCXN0dwlyMywgMTIocjEpCisJc3R3CXI0LCAxNihyMSkKKwlzdHcJcjUsIDIwKHIxKQorCXN0dwlyNiwgMjQocjEpCisJbWZscglyMworCWx3eglyNCwgNTIocjEpCisJbWZjcglyNQorCXN0dwlyNywgMjgocjEpCisJc3R3CXI4LCAzMihyMSkKKwlzdHcJcjksIDM2KHIxKQorCXN0dwlyMTAsNDAocjEpCisJc3R3CXIzLCA0NChyMSkKKwlzdHcJcjUsIDgocjEpCisKKwlzdWJpCXIzLCByMywgTUNPVU5UX0lOU05fU0laRQorCUxPQURfUkVHX0FERFIocjUsIGZ0cmFjZV90cmFjZV9mdW5jdGlvbikKKwlsd3oJcjUsMChyNSkKKworCW10Y3RyCXI1CisJYmN0cmwKKworCW5vcAorCisJbHd6CXI2LCA4KHIxKQorCWx3eglyMCwgNDQocjEpCisJbHd6CXIzLCAxMihyMSkKKwltdGN0cglyMAorCWx3eglyNCwgMTYocjEpCisJbXRjcglyNgorCWx3eglyNSwgMjAocjEpCisJbHd6CXI2LCAyNChyMSkKKwlsd3oJcjAsIDUyKHIxKQorCWx3eglyNywgMjgocjEpCisJbHd6CXI4LCAzMihyMSkKKwltdGxyCXIwCisJbHd6CXI5LCAzNihyMSkKKwlsd3oJcjEwLDQwKHIxKQorCWFkZGkJcjEsIHIxLCA0OAorCWJjdHIKKyNlbmRpZgorCitfR0xPQkFMKGZ0cmFjZV9zdHViKQorCWJscgorCisjZW5kaWYgLyogQ09ORklHX01DT1VOVCAqLwpkaWZmIC0tZ2l0IGEvYXJjaC9wb3dlcnBjL2tlcm5lbC9lbnRyeV82NC5TIGIvYXJjaC9wb3dlcnBjL2tlcm5lbC9lbnRyeV82NC5TCmluZGV4IGMwZGI1YjcuLjJmNTExYTkgMTAwNjQ0Ci0tLSBhL2FyY2gvcG93ZXJwYy9rZXJuZWwvZW50cnlfNjQuUworKysgYi9hcmNoL3Bvd2VycGMva2VybmVsL2VudHJ5XzY0LlMKQEAgLTMxLDYgKzMxLDcgQEAKICNpbmNsdWRlIDxhc20vYnVnLmg+CiAjaW5jbHVkZSA8YXNtL3B0cmFjZS5oPgogI2luY2x1ZGUgPGFzbS9pcnFmbGFncy5oPgorI2luY2x1ZGUgPGFzbS9mdHJhY2UuaD4KIAogLyoKICAqIFN5c3RlbSBjYWxscy4KQEAgLTg3MCwzICs4NzEsNjcgQEAKIAlsZAlyMCwxNihyMSkKIAltdGxyICAgIHIwCiAgICAgICAgIGJscgorCisjaWZkZWYgQ09ORklHX0ZUUkFDRQorI2lmZGVmIENPTkZJR19EWU5BTUlDX0ZUUkFDRQorX0dMT0JBTChtY291bnQpCitfR0xPQkFMKF9tY291bnQpCisJLyogVGFrZW4gZnJvbSBvdXRwdXQgb2Ygb2JqZHVtcCBmcm9tIGxpYjY0L2dsaWJjICovCisJbWZscglyMworCXN0ZHUJcjEsIC0xMTIocjEpCisJc3RkCXIzLCAxMjgocjEpCisJc3ViaQlyMywgcjMsIE1DT1VOVF9JTlNOX1NJWkUKKwkuZ2xvYmwgbWNvdW50X2NhbGwKK21jb3VudF9jYWxsOgorCWJsCWZ0cmFjZV9zdHViCisJbm9wCisJbGQJcjAsIDEyOChyMSkKKwltdGxyCXIwCisJYWRkaQlyMSwgcjEsIDExMgorCWJscgorCitfR0xPQkFMKGZ0cmFjZV9jYWxsZXIpCisJLyogVGFrZW4gZnJvbSBvdXRwdXQgb2Ygb2JqZHVtcCBmcm9tIGxpYjY0L2dsaWJjICovCisJbWZscglyMworCWxkCXIxMSwgMChyMSkKKwlzdGR1CXIxLCAtMTEyKHIxKQorCXN0ZAlyMywgMTI4KHIxKQorCWxkCXI0LCAxNihyMTEpCisJc3ViaQlyMywgcjMsIE1DT1VOVF9JTlNOX1NJWkUKKy5nbG9ibCBmdHJhY2VfY2FsbAorZnRyYWNlX2NhbGw6CisJYmwJZnRyYWNlX3N0dWIKKwlub3AKKwlsZAlyMCwgMTI4KHIxKQorCW10bHIJcjAKKwlhZGRpCXIxLCByMSwgMTEyCitfR0xPQkFMKGZ0cmFjZV9zdHViKQorCWJscgorI2Vsc2UKK19HTE9CQUwobWNvdW50KQorCWJscgorCitfR0xPQkFMKF9tY291bnQpCisJLyogVGFrZW4gZnJvbSBvdXRwdXQgb2Ygb2JqZHVtcCBmcm9tIGxpYjY0L2dsaWJjICovCisJbWZscglyMworCWxkCXIxMSwgMChyMSkKKwlzdGR1CXIxLCAtMTEyKHIxKQorCXN0ZAlyMywgMTI4KHIxKQorCWxkCXI0LCAxNihyMTEpCisKKwlzdWJpCXIzLCByMywgTUNPVU5UX0lOU05fU0laRQorCUxPQURfUkVHX0FERFIocjUsZnRyYWNlX3RyYWNlX2Z1bmN0aW9uKQorCWxkCXI1LDAocjUpCisJbGQJcjUsMChyNSkKKwltdGN0cglyNQorCWJjdHJsCisKKwlub3AKKwlsZAlyMCwgMTI4KHIxKQorCW10bHIJcjAKKwlhZGRpCXIxLCByMSwgMTEyCitfR0xPQkFMKGZ0cmFjZV9zdHViKQorCWJscgorCisjZW5kaWYKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvYXJjaC9wb3dlcnBjL2tlcm5lbC9mdHJhY2UuYyBiL2FyY2gvcG93ZXJwYy9rZXJuZWwvZnRyYWNlLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzg1NWNlYgotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvcG93ZXJwYy9rZXJuZWwvZnRyYWNlLmMKQEAgLTAsMCArMSwxNTQgQEAKKy8qCisgKiBDb2RlIGZvciByZXBsYWNpbmcgZnRyYWNlIGNhbGxzIHdpdGgganVtcHMuCisgKgorICogQ29weXJpZ2h0IChDKSAyMDA3LTIwMDggU3RldmVuIFJvc3RlZHQgPHNyb3N0ZWR0QHJlZGhhdC5jb20+CisgKgorICogVGhhbmtzIGdvZXMgb3V0IHRvIFAuQS4gU2VtaSwgSW5jIGZvciBzdXBwbHlpbmcgbWUgd2l0aCBhIFBQQzY0IGJveC4KKyAqCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L3NwaW5sb2NrLmg+CisjaW5jbHVkZSA8bGludXgvaGFyZGlycS5oPgorI2luY2x1ZGUgPGxpbnV4L2Z0cmFjZS5oPgorI2luY2x1ZGUgPGxpbnV4L3BlcmNwdS5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9saXN0Lmg+CisKKyNpbmNsdWRlIDxhc20vY2FjaGVmbHVzaC5oPgorI2luY2x1ZGUgPGFzbS9mdHJhY2UuaD4KKworCitzdGF0aWMgdW5zaWduZWQgaW50IGZ0cmFjZV9ub3AgPSAweDYwMDAwMDAwOworCisjaWZkZWYgQ09ORklHX1BQQzMyCisjIGRlZmluZSBHRVRfQUREUihhZGRyKSBhZGRyCisjZWxzZQorLyogUG93ZXJQQzY0J3MgZnVuY3Rpb25zIGFyZSBkYXRhIHRoYXQgcG9pbnRzIHRvIHRoZSBmdW5jdGlvbnMgKi8KKyMgZGVmaW5lIEdFVF9BRERSKGFkZHIpICoodW5zaWduZWQgbG9uZyAqKWFkZHIKKyNlbmRpZgorCisKK3N0YXRpYyB1bnNpZ25lZCBpbnQgbm90cmFjZSBmdHJhY2VfY2FsY19vZmZzZXQobG9uZyBpcCwgbG9uZyBhZGRyKQoreworCXJldHVybiAoaW50KShhZGRyIC0gaXApOworfQorCitub3RyYWNlIHVuc2lnbmVkIGNoYXIgKmZ0cmFjZV9ub3BfcmVwbGFjZSh2b2lkKQoreworCXJldHVybiAoY2hhciAqKSZmdHJhY2Vfbm9wOworfQorCitub3RyYWNlIHVuc2lnbmVkIGNoYXIgKmZ0cmFjZV9jYWxsX3JlcGxhY2UodW5zaWduZWQgbG9uZyBpcCwgdW5zaWduZWQgbG9uZyBhZGRyKQoreworCXN0YXRpYyB1bnNpZ25lZCBpbnQgb3A7CisKKwkvKgorCSAqIEl0IHdvdWxkIGJlIG5pY2UgdG8ganVzdCB1c2UgY3JlYXRlX2Z1bmN0aW9uX2NhbGwsIGJ1dCB0aGF0IHdpbGwKKwkgKiB1cGRhdGUgdGhlIGNvZGUgaXRzZWxmLiBIZXJlIHdlIG5lZWQgdG8ganVzdCByZXR1cm4gdGhlCisJICogaW5zdHJ1Y3Rpb24gdGhhdCBpcyBnb2luZyB0byBiZSBtb2RpZmllZCwgd2l0aG91dCBtb2RpZnlpbmcgdGhlCisJICogY29kZS4KKwkgKi8KKwlhZGRyID0gR0VUX0FERFIoYWRkcik7CisKKwkvKiBTZXQgdG8gImJsIGFkZHIiICovCisJb3AgPSAweDQ4MDAwMDAxIHwgKGZ0cmFjZV9jYWxjX29mZnNldChpcCwgYWRkcikgJiAweDAzZmZmZmZjKTsKKworCS8qCisJICogTm8gbG9ja2luZyBuZWVkZWQsIHRoaXMgbXVzdCBiZSBjYWxsZWQgdmlhIGtzdG9wX21hY2hpbmUKKwkgKiB3aGljaCBpbiBlc3NlbmNlIGlzIGxpa2UgcnVubmluZyBvbiBhIHVuaXByb2Nlc3NvciBtYWNoaW5lLgorCSAqLworCXJldHVybiAodW5zaWduZWQgY2hhciAqKSZvcDsKK30KKworI2lmZGVmIENPTkZJR19QUEM2NAorIyBkZWZpbmUgX0FTTV9BTElHTgkiIC5hbGlnbiAzICIKKyMgZGVmaW5lIF9BU01fUFRSCSIgLmxsb25nICIKKyNlbHNlCisjIGRlZmluZSBfQVNNX0FMSUdOCSIgLmFsaWduIDIgIgorIyBkZWZpbmUgX0FTTV9QVFIJIiAubG9uZyAiCisjZW5kaWYKKworbm90cmFjZSBpbnQKK2Z0cmFjZV9tb2RpZnlfY29kZSh1bnNpZ25lZCBsb25nIGlwLCB1bnNpZ25lZCBjaGFyICpvbGRfY29kZSwKKwkJICAgdW5zaWduZWQgY2hhciAqbmV3X2NvZGUpCit7CisJdW5zaWduZWQgcmVwbGFjZWQ7CisJdW5zaWduZWQgb2xkID0gKih1bnNpZ25lZCAqKW9sZF9jb2RlOworCXVuc2lnbmVkIG5ldyA9ICoodW5zaWduZWQgKiluZXdfY29kZTsKKwlpbnQgZmF1bHRlZCA9IDA7CisKKwkvKgorCSAqIE5vdGU6IER1ZSB0byBtb2R1bGVzIGFuZCBfX2luaXQsIGNvZGUgY2FuCisJICogIGRpc2FwcGVhciBhbmQgY2hhbmdlLCB3ZSBuZWVkIHRvIHByb3RlY3QgYWdhaW5zdCBmYXVsdGluZworCSAqICBhcyB3ZWxsIGFzIGNvZGUgY2hhbmdpbmcuCisJICoKKwkgKiBObyByZWFsIGxvY2tpbmcgbmVlZGVkLCB0aGlzIGNvZGUgaXMgcnVuIHRocm91Z2gKKwkgKiBrc3RvcF9tYWNoaW5lLgorCSAqLworCWFzbSB2b2xhdGlsZSAoCisJCSIxOiBsd3oJCSUxLCAwKCUyKVxuIgorCQkiICAgY21wdwklMSwgJTVcbiIKKwkJIiAgIGJuZQkJMmZcbiIKKwkJIiAgIHN0d3UJJTMsIDAoJTIpXG4iCisJCSIyOlxuIgorCQkiLnNlY3Rpb24gLmZpeHVwLCBcImF4XCJcbiIKKwkJIjM6CWxpICUwLCAxXG4iCisJCSIJYiAyYlxuIgorCQkiLnByZXZpb3VzXG4iCisJCSIuc2VjdGlvbiBfX2V4X3RhYmxlLFwiYVwiXG4iCisJCV9BU01fQUxJR04gIlxuIgorCQlfQVNNX1BUUiAiMWIsIDNiXG4iCisJCSIucHJldmlvdXMiCisJCTogIj1yIihmYXVsdGVkKSwgIj1yIihyZXBsYWNlZCkKKwkJOiAiciIoaXApLCAiciIobmV3KSwKKwkJICAiMCIoZmF1bHRlZCksICJyIihvbGQpCisJCTogIm1lbW9yeSIpOworCisJaWYgKHJlcGxhY2VkICE9IG9sZCAmJiByZXBsYWNlZCAhPSBuZXcpCisJCWZhdWx0ZWQgPSAyOworCisJaWYgKCFmYXVsdGVkKQorCQlmbHVzaF9pY2FjaGVfcmFuZ2UoaXAsIGlwICsgOCk7CisKKwlyZXR1cm4gZmF1bHRlZDsKK30KKworbm90cmFjZSBpbnQgZnRyYWNlX3VwZGF0ZV9mdHJhY2VfZnVuYyhmdHJhY2VfZnVuY190IGZ1bmMpCit7CisJdW5zaWduZWQgbG9uZyBpcCA9ICh1bnNpZ25lZCBsb25nKSgmZnRyYWNlX2NhbGwpOworCXVuc2lnbmVkIGNoYXIgb2xkW01DT1VOVF9JTlNOX1NJWkVdLCAqbmV3OworCWludCByZXQ7CisKKwltZW1jcHkob2xkLCAmZnRyYWNlX2NhbGwsIE1DT1VOVF9JTlNOX1NJWkUpOworCW5ldyA9IGZ0cmFjZV9jYWxsX3JlcGxhY2UoaXAsICh1bnNpZ25lZCBsb25nKWZ1bmMpOworCXJldCA9IGZ0cmFjZV9tb2RpZnlfY29kZShpcCwgb2xkLCBuZXcpOworCisJcmV0dXJuIHJldDsKK30KKworbm90cmFjZSBpbnQgZnRyYWNlX21jb3VudF9zZXQodW5zaWduZWQgbG9uZyAqZGF0YSkKK3sKKwl1bnNpZ25lZCBsb25nIGlwID0gKGxvbmcpKCZtY291bnRfY2FsbCk7CisJdW5zaWduZWQgbG9uZyAqYWRkciA9IGRhdGE7CisJdW5zaWduZWQgY2hhciBvbGRbTUNPVU5UX0lOU05fU0laRV0sICpuZXc7CisKKwkvKgorCSAqIFJlcGxhY2UgdGhlIG1jb3VudCBzdHViIHdpdGggYSBwb2ludGVyIHRvIHRoZQorCSAqIGlwIHJlY29yZGVyIGZ1bmN0aW9uLgorCSAqLworCW1lbWNweShvbGQsICZtY291bnRfY2FsbCwgTUNPVU5UX0lOU05fU0laRSk7CisJbmV3ID0gZnRyYWNlX2NhbGxfcmVwbGFjZShpcCwgKmFkZHIpOworCSphZGRyID0gZnRyYWNlX21vZGlmeV9jb2RlKGlwLCBvbGQsIG5ldyk7CisKKwlyZXR1cm4gMDsKK30KKworaW50IF9faW5pdCBmdHJhY2VfZHluX2FyY2hfaW5pdCh2b2lkICpkYXRhKQoreworCS8qIFRoaXMgaXMgcnVubmluZyBpbiBrc3RvcF9tYWNoaW5lICovCisKKwlmdHJhY2VfbWNvdW50X3NldChkYXRhKTsKKworCXJldHVybiAwOworfQorCmRpZmYgLS1naXQgYS9hcmNoL3Bvd2VycGMva2VybmVsL2lvLmMgYi9hcmNoL3Bvd2VycGMva2VybmVsL2lvLmMKaW5kZXggZTMxYWNhOTIuLjE4ODJiZjQgMTAwNjQ0Ci0tLSBhL2FyY2gvcG93ZXJwYy9rZXJuZWwvaW8uYworKysgYi9hcmNoL3Bvd2VycGMva2VybmVsL2lvLmMKQEAgLTEyMCw3ICsxMjAsOCBAQAogCiAjZGVmaW5lIElPX0NIRUNLX0FMSUdOKHYsYSkgKCgoKHVuc2lnbmVkIGxvbmcpKHYpKSAmICgoYSkgLSAxKSkgPT0gMCkKIAotdm9pZCBfbWVtc2V0X2lvKHZvbGF0aWxlIHZvaWQgX19pb21lbSAqYWRkciwgaW50IGMsIHVuc2lnbmVkIGxvbmcgbikKK25vdHJhY2Ugdm9pZAorX21lbXNldF9pbyh2b2xhdGlsZSB2b2lkIF9faW9tZW0gKmFkZHIsIGludCBjLCB1bnNpZ25lZCBsb25nIG4pCiB7CiAJdm9pZCAqcCA9ICh2b2lkIF9fZm9yY2UgKilhZGRyOwogCXUzMiBsYyA9IGM7CmRpZmYgLS1naXQgYS9hcmNoL3Bvd2VycGMva2VybmVsL2lycS5jIGIvYXJjaC9wb3dlcnBjL2tlcm5lbC9pcnEuYwppbmRleCBiY2MyNDlkLi5kY2M5NDZlIDEwMDY0NAotLS0gYS9hcmNoL3Bvd2VycGMva2VybmVsL2lycS5jCisrKyBiL2FyY2gvcG93ZXJwYy9rZXJuZWwvaXJxLmMKQEAgLTk4LDcgKzk4LDcgQEAKIAogaW50IGRpc3RyaWJ1dGVfaXJxcyA9IDE7CiAKLXN0YXRpYyBpbmxpbmUgdW5zaWduZWQgbG9uZyBnZXRfaGFyZF9lbmFibGVkKHZvaWQpCitzdGF0aWMgaW5saW5lIG5vdHJhY2UgdW5zaWduZWQgbG9uZyBnZXRfaGFyZF9lbmFibGVkKHZvaWQpCiB7CiAJdW5zaWduZWQgbG9uZyBlbmFibGVkOwogCkBAIC0xMDgsMTMgKzEwOCwxMyBAQAogCXJldHVybiBlbmFibGVkOwogfQogCi1zdGF0aWMgaW5saW5lIHZvaWQgc2V0X3NvZnRfZW5hYmxlZCh1bnNpZ25lZCBsb25nIGVuYWJsZSkKK3N0YXRpYyBpbmxpbmUgbm90cmFjZSB2b2lkIHNldF9zb2Z0X2VuYWJsZWQodW5zaWduZWQgbG9uZyBlbmFibGUpCiB7CiAJX19hc21fXyBfX3ZvbGF0aWxlX18oInN0YiAlMCwlMSgxMykiCiAJOiA6ICJyIiAoZW5hYmxlKSwgImkiIChvZmZzZXRvZihzdHJ1Y3QgcGFjYV9zdHJ1Y3QsIHNvZnRfZW5hYmxlZCkpKTsKIH0KIAotdm9pZCByYXdfbG9jYWxfaXJxX3Jlc3RvcmUodW5zaWduZWQgbG9uZyBlbikKK25vdHJhY2Ugdm9pZCByYXdfbG9jYWxfaXJxX3Jlc3RvcmUodW5zaWduZWQgbG9uZyBlbikKIHsKIAkvKgogCSAqIGdldF9wYWNhKCktPnNvZnRfZW5hYmxlZCA9IGVuOwpkaWZmIC0tZ2l0IGEvYXJjaC9wb3dlcnBjL2tlcm5lbC9wcGNfa3N5bXMuYyBiL2FyY2gvcG93ZXJwYy9rZXJuZWwvcHBjX2tzeW1zLmMKaW5kZXggZDNhYzYzMS4uYThkMDI1MCAxMDA2NDQKLS0tIGEvYXJjaC9wb3dlcnBjL2tlcm5lbC9wcGNfa3N5bXMuYworKysgYi9hcmNoL3Bvd2VycGMva2VybmVsL3BwY19rc3ltcy5jCkBAIC00Miw2ICs0Miw3IEBACiAjaW5jbHVkZSA8YXNtL2RpdjY0Lmg+CiAjaW5jbHVkZSA8YXNtL3NpZ25hbC5oPgogI2luY2x1ZGUgPGFzbS9kY3IuaD4KKyNpbmNsdWRlIDxhc20vZnRyYWNlLmg+CiAKICNpZmRlZiBDT05GSUdfUFBDMzIKIGV4dGVybiB2b2lkIHRyYW5zZmVyX3RvX2hhbmRsZXIodm9pZCk7CkBAIC02Nyw2ICs2OCwxMCBAQAogRVhQT1JUX1NZTUJPTChzeXNfc2lncmV0dXJuKTsKICNlbmRpZgogCisjaWZkZWYgQ09ORklHX0ZUUkFDRQorRVhQT1JUX1NZTUJPTChfbWNvdW50KTsKKyNlbmRpZgorCiBFWFBPUlRfU1lNQk9MKHN0cmNweSk7CiBFWFBPUlRfU1lNQk9MKHN0cm5jcHkpOwogRVhQT1JUX1NZTUJPTChzdHJjYXQpOwpkaWZmIC0tZ2l0IGEvYXJjaC9wb3dlcnBjL2tlcm5lbC9zZXR1cF8zMi5jIGIvYXJjaC9wb3dlcnBjL2tlcm5lbC9zZXR1cF8zMi5jCmluZGV4IDUxMTJhNGEuLjE5ZThmY2IgMTAwNjQ0Ci0tLSBhL2FyY2gvcG93ZXJwYy9rZXJuZWwvc2V0dXBfMzIuYworKysgYi9hcmNoL3Bvd2VycGMva2VybmVsL3NldHVwXzMyLmMKQEAgLTgxLDcgKzgxLDcgQEAKICAqIGZyb20gdGhlIGFkZHJlc3MgdGhhdCBpdCB3YXMgbGlua2VkIGF0LCBzbyB3ZSBtdXN0IHVzZSBSRUxPQy9QVFJSRUxPQwogICogdG8gYWNjZXNzIHN0YXRpYyBkYXRhIChpbmNsdWRpbmcgc3RyaW5ncykuICAtLSBwYXVsdXMKICAqLwotdW5zaWduZWQgbG9uZyBfX2luaXQgZWFybHlfaW5pdCh1bnNpZ25lZCBsb25nIGR0X3B0cikKK25vdHJhY2UgdW5zaWduZWQgbG9uZyBfX2luaXQgZWFybHlfaW5pdCh1bnNpZ25lZCBsb25nIGR0X3B0cikKIHsKIAl1bnNpZ25lZCBsb25nIG9mZnNldCA9IHJlbG9jX29mZnNldCgpOwogCXN0cnVjdCBjcHVfc3BlYyAqc3BlYzsKQEAgLTExMSw3ICsxMTEsNyBAQAogICogVGhpcyBpcyBjYWxsZWQgdmVyeSBlYXJseSBvbiB0aGUgYm9vdCBwcm9jZXNzLCBhZnRlciBhIG1pbmltYWwKICAqIE1NVSBlbnZpcm9ubWVudCBoYXMgYmVlbiBzZXQgdXAgYnV0IGJlZm9yZSBNTVVfaW5pdCBpcyBjYWxsZWQuCiAgKi8KLXZvaWQgX19pbml0IG1hY2hpbmVfaW5pdCh1bnNpZ25lZCBsb25nIGR0X3B0ciwgdW5zaWduZWQgbG9uZyBwaHlzKQorbm90cmFjZSB2b2lkIF9faW5pdCBtYWNoaW5lX2luaXQodW5zaWduZWQgbG9uZyBkdF9wdHIsIHVuc2lnbmVkIGxvbmcgcGh5cykKIHsKIAkvKiBFbmFibGUgZWFybHkgZGVidWdnaW5nIGlmIGFueSBzcGVjaWZpZWQgKHNlZSB1ZGJnLmgpICovCiAJdWRiZ19lYXJseV9pbml0KCk7CkBAIC0xMzMsNyArMTMzLDcgQEAKIAogI2lmZGVmIENPTkZJR19CT09LRV9XRFQKIC8qIENoZWNrcyB3ZHQ9eCBhbmQgd2R0X3BlcmlvZD14eCBjb21tYW5kLWxpbmUgb3B0aW9uICovCi1pbnQgX19pbml0IGVhcmx5X3BhcnNlX3dkdChjaGFyICpwKQorbm90cmFjZSBpbnQgX19pbml0IGVhcmx5X3BhcnNlX3dkdChjaGFyICpwKQogewogCWlmIChwICYmIHN0cm5jbXAocCwgIjAiLCAxKSAhPSAwKQogCSAgICAgICBib29rZV93ZHRfZW5hYmxlZCA9IDE7CmRpZmYgLS1naXQgYS9hcmNoL3Bvd2VycGMva2VybmVsL3N0YWNrdHJhY2UuYyBiL2FyY2gvcG93ZXJwYy9rZXJuZWwvc3RhY2t0cmFjZS5jCmluZGV4IDk2Mjk0NDAuLjNjZjBkOTQgMTAwNjQ0Ci0tLSBhL2FyY2gvcG93ZXJwYy9rZXJuZWwvc3RhY2t0cmFjZS5jCisrKyBiL2FyY2gvcG93ZXJwYy9rZXJuZWwvc3RhY2t0cmFjZS5jCkBAIC0xMiw2ICsxMiw3IEBACiAKICNpbmNsdWRlIDxsaW51eC9zY2hlZC5oPgogI2luY2x1ZGUgPGxpbnV4L3N0YWNrdHJhY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KICNpbmNsdWRlIDxhc20vcHRyYWNlLmg+CiAKIC8qCkBAIC00NCwzICs0NSw0IEBACiAJCXNwID0gbmV3c3A7CiAJfQogfQorRVhQT1JUX1NZTUJPTF9HUEwoc2F2ZV9zdGFja190cmFjZSk7CmRpZmYgLS1naXQgYS9hcmNoL3Bvd2VycGMva2VybmVsL3ZtbGludXgubGRzLlMgYi9hcmNoL3Bvd2VycGMva2VybmVsL3ZtbGludXgubGRzLlMKaW5kZXggMGMzMDAwYi4uNTNkNTdkMSAxMDA2NDQKLS0tIGEvYXJjaC9wb3dlcnBjL2tlcm5lbC92bWxpbnV4Lmxkcy5TCisrKyBiL2FyY2gvcG93ZXJwYy9rZXJuZWwvdm1saW51eC5sZHMuUwpAQCAtNjQsOCArNjQsNiBAQAogCiAJTk9URVMKIAotCUJVR19UQUJMRQotCiAvKgogICogSW5pdCBzZWN0aW9ucyBkaXNjYXJkZWQgYXQgcnVudGltZQogICovCmRpZmYgLS1naXQgYS9hcmNoL3Bvd2VycGMvcGxhdGZvcm1zL3Bvd2VybWFjL01ha2VmaWxlIGIvYXJjaC9wb3dlcnBjL3BsYXRmb3Jtcy9wb3dlcm1hYy9NYWtlZmlsZQppbmRleCA0ZDcyYzhmLi44OTc3NDE3IDEwMDY0NAotLS0gYS9hcmNoL3Bvd2VycGMvcGxhdGZvcm1zL3Bvd2VybWFjL01ha2VmaWxlCisrKyBiL2FyY2gvcG93ZXJwYy9wbGF0Zm9ybXMvcG93ZXJtYWMvTWFrZWZpbGUKQEAgLTEsNSArMSwxMCBAQAogQ0ZMQUdTX2Jvb3R4X2luaXQubyAgCQkrPSAtZlBJQwogCitpZmRlZiBDT05GSUdfRlRSQUNFCisjIERvIG5vdCB0cmFjZSBlYXJseSBib290IGNvZGUKK0NGTEFHU19SRU1PVkVfYm9vdHhfaW5pdC5vID0gLXBnCitlbmRpZgorCiBvYmoteQkJCQkrPSBwaWMubyBzZXR1cC5vIHRpbWUubyBmZWF0dXJlLm8gcGNpLm8gXAogCQkJCSAgIHNsZWVwLm8gbG93X2kyYy5vIGNhY2hlLm8gcGZ1bmNfY29yZS5vIFwKIAkJCQkgICBwZnVuY19iYXNlLm8KZGlmZiAtLWdpdCBhL2FyY2gvczM5MC9LY29uZmlnIGIvYXJjaC9zMzkwL0tjb25maWcKaW5kZXggMTA3ZTQ5Mi4uNWRjOGY4MCAxMDA2NDQKLS0tIGEvYXJjaC9zMzkwL0tjb25maWcKKysrIGIvYXJjaC9zMzkwL0tjb25maWcKQEAgLTE0Niw2ICsxNDYsNyBAQAogY29uZmlnIENPTVBBVAogCWJvb2wgIktlcm5lbCBzdXBwb3J0IGZvciAzMSBiaXQgZW11bGF0aW9uIgogCWRlcGVuZHMgb24gNjRCSVQKKwlzZWxlY3QgQ09NUEFUX0JJTkZNVF9FTEYKIAloZWxwCiAJICBTZWxlY3QgdGhpcyBvcHRpb24gaWYgeW91IHdhbnQgdG8gZW5hYmxlIHlvdXIgc3lzdGVtIGtlcm5lbCB0bwogCSAgaGFuZGxlIHN5c3RlbS1jYWxscyBmcm9tIEVMRiBiaW5hcmllcyBmb3IgMzEgYml0IEVTQS4gIFRoaXMgb3B0aW9uCkBAIC0zMTIsNiArMzEzLDEwIEBACiBjb25maWcgQVJDSF9TRUxFQ1RfTUVNT1JZX01PREVMCiAgICAgICAgZGVmX2Jvb2wgeQogCitjb25maWcgQVJDSF9FTkFCTEVfTUVNT1JZX0hPVFBMVUcKKwlkZWZfYm9vbCB5CisJZGVwZW5kcyBvbiBTUEFSU0VNRU0KKwogc291cmNlICJtbS9LY29uZmlnIgogCiBjb21tZW50ICJJL08gc3Vic3lzdGVtIGNvbmZpZ3VyYXRpb24iCkBAIC0zNDQsNiArMzQ5LDIyIEBACiAKIAkgIElmIHVuc3VyZSwgc2F5IE4uCiAKK2NvbmZpZyBDSFNDX1NDSAorCXRyaXN0YXRlICJTdXBwb3J0IGZvciBDSFNDIHN1YmNoYW5uZWxzIgorCWhlbHAKKwkgIFRoaXMgZHJpdmVyIGFsbG93cyB1c2FnZSBvZiBDSFNDIHN1YmNoYW5uZWxzLiBBIENIU0Mgc3ViY2hhbm5lbAorCSAgaXMgdXN1YWxseSBwcmVzZW50IG9uIExQQVIgb25seS4KKwkgIFRoZSBkcml2ZXIgY3JlYXRlcyBhIGRldmljZSAvZGV2L2Noc2MsIHdoaWNoIG1heSBiZSB1c2VkIHRvCisJICBvYnRhaW4gSS9PIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gYWJvdXQgdGhlIG1hY2hpbmUgYW5kCisJICB0byBpc3N1ZSBhc3luY2hyb25vdXMgY2hzYyBjb21tYW5kcyAoREFOR0VST1VTKS4KKwkgIFlvdSB3aWxsIHVzdWFsbHkgb25seSB3YW50IHRvIHVzZSB0aGlzIGludGVyZmFjZSBvbiBhIHNwZWNpYWwKKwkgIExQQVIgZGVzaWduYXRlZCBmb3Igc3lzdGVtIG1hbmFnZW1lbnQuCisKKwkgIFRvIGNvbXBpbGUgdGhpcyBkcml2ZXIgYXMgYSBtb2R1bGUsIGNob29zZSBNIGhlcmU6IHRoZQorCSAgbW9kdWxlIHdpbGwgYmUgY2FsbGVkIGNoc2Nfc2NoLgorCisJICBJZiB1bnN1cmUsIHNheSBOLgorCiBjb21tZW50ICJNaXNjIgogCiBjb25maWcgSVBMCmRpZmYgLS1naXQgYS9hcmNoL3MzOTAvYXBwbGRhdGEvYXBwbGRhdGEuaCBiL2FyY2gvczM5MC9hcHBsZGF0YS9hcHBsZGF0YS5oCmluZGV4IGRiM2FlODUwLi4xN2EyNjM2IDEwMDY0NAotLS0gYS9hcmNoL3MzOTAvYXBwbGRhdGEvYXBwbGRhdGEuaAorKysgYi9hcmNoL3MzOTAvYXBwbGRhdGEvYXBwbGRhdGEuaApAQCAtMywxMyArMywxMSBAQAogICoKICAqIERlZmluaXRpb25zIGFuZCBpbnRlcmZhY2UgZm9yIExpbnV4IC0gei9WTSBNb25pdG9yIFN0cmVhbS4KICAqCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDMsMjAwNiBJQk0gQ29ycG9yYXRpb24sIElCTSBEZXV0c2NobGFuZCBFbnR3aWNrbHVuZyBHbWJILgorICogQ29weXJpZ2h0IElCTSBDb3JwLiAyMDAzLCAyMDA4CiAgKgogICogQXV0aG9yOiBHZXJhbGQgU2NoYWVmZXIgPGdlcmFsZC5zY2hhZWZlckBkZS5pYm0uY29tPgogICovCiAKLS8vI2RlZmluZSBBUFBMREFUQV9ERUJVRwkJCS8qIERlYnVnIG1lc3NhZ2VzIG9uL29mZiAqLwotCiAjZGVmaW5lIEFQUExEQVRBX01BWF9SRUNfU0laRQkgIDQwMjQJLyogTWF4aW11bSBzaXplIG9mIHRoZSAqLwogCQkJCQkvKiBkYXRhIGJ1ZmZlciAqLwogI2RlZmluZSBBUFBMREFUQV9NQVhfUFJPQ1MgMTAwCkBAIC0zMiwxMiArMzAsNiBAQAogI2RlZmluZSBQX0VSUk9SKHguLi4pCXByaW50ayhLRVJOX0VSUiBNWV9QUklOVF9OQU1FICIgZXJyb3I6ICIgeCkKICNkZWZpbmUgUF9XQVJOSU5HKHguLi4pCXByaW50ayhLRVJOX1dBUk5JTkcgTVlfUFJJTlRfTkFNRSAiIHN0YXR1czogIiB4KQogCi0jaWZkZWYgQVBQTERBVEFfREVCVUcKLSNkZWZpbmUgUF9ERUJVRyh4Li4uKSAgIHByaW50ayhLRVJOX0RFQlVHIE1ZX1BSSU5UX05BTUUgIiBkZWJ1ZzogIiB4KQotI2Vsc2UKLSNkZWZpbmUgUF9ERUJVRyh4Li4uKSAgIGRvIHt9IHdoaWxlICgwKQotI2VuZGlmCi0KIHN0cnVjdCBhcHBsZGF0YV9vcHMgewogCXN0cnVjdCBsaXN0X2hlYWQgbGlzdDsKIAlzdHJ1Y3QgY3RsX3RhYmxlX2hlYWRlciAqc3lzY3RsX2hlYWRlcjsKZGlmZiAtLWdpdCBhL2FyY2gvczM5MC9hcHBsZGF0YS9hcHBsZGF0YV9iYXNlLmMgYi9hcmNoL3MzOTAvYXBwbGRhdGEvYXBwbGRhdGFfYmFzZS5jCmluZGV4IGFkNDA3MjkuLjljYjNkOTIgMTAwNjQ0Ci0tLSBhL2FyY2gvczM5MC9hcHBsZGF0YS9hcHBsZGF0YV9iYXNlLmMKKysrIGIvYXJjaC9zMzkwL2FwcGxkYXRhL2FwcGxkYXRhX2Jhc2UuYwpAQCAtNSw3ICs1LDcgQEAKICAqIEV4cG9ydHMgYXBwbGRhdGFfcmVnaXN0ZXJfb3BzKCkgYW5kIGFwcGxkYXRhX3VucmVnaXN0ZXJfb3BzKCkgZm9yIHRoZQogICogZGF0YSBnYXRoZXJpbmcgbW9kdWxlcy4KICAqCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDMsMjAwNiBJQk0gQ29ycG9yYXRpb24sIElCTSBEZXV0c2NobGFuZCBFbnR3aWNrbHVuZyBHbWJILgorICogQ29weXJpZ2h0IElCTSBDb3JwLiAyMDAzLCAyMDA4CiAgKgogICogQXV0aG9yOiBHZXJhbGQgU2NoYWVmZXIgPGdlcmFsZC5zY2hhZWZlckBkZS5pYm0uY29tPgogICovCkBAIC0xMDgsOSArMTA4LDYgQEAKICAqLwogc3RhdGljIHZvaWQgYXBwbGRhdGFfdGltZXJfZnVuY3Rpb24odW5zaWduZWQgbG9uZyBkYXRhKQogewotCVBfREVCVUcoIiAgIC09IFRpbWVyID0tXG4iKTsKLQlQX0RFQlVHKCJDUFU6ICVpLCBleHBpcmVfY291bnQ6ICVpXG4iLCBzbXBfcHJvY2Vzc29yX2lkKCksCi0JCWF0b21pY19yZWFkKCZhcHBsZGF0YV9leHBpcmVfY291bnQpKTsKIAlpZiAoYXRvbWljX2RlY19hbmRfdGVzdCgmYXBwbGRhdGFfZXhwaXJlX2NvdW50KSkgewogCQlhdG9taWNfc2V0KCZhcHBsZGF0YV9leHBpcmVfY291bnQsIG51bV9vbmxpbmVfY3B1cygpKTsKIAkJcXVldWVfd29yayhhcHBsZGF0YV93cSwgKHN0cnVjdCB3b3JrX3N0cnVjdCAqKSBkYXRhKTsKQEAgLTEyOCwxNCArMTI1LDExIEBACiAJc3RydWN0IGFwcGxkYXRhX29wcyAqb3BzOwogCWludCBpOwogCi0JUF9ERUJVRygiICAtPSBXb3JrIFF1ZXVlID0tXG4iKTsKIAlpID0gMDsKIAlnZXRfb25saW5lX2NwdXMoKTsKIAlzcGluX2xvY2soJmFwcGxkYXRhX29wc19sb2NrKTsKIAlsaXN0X2Zvcl9lYWNoKGxoLCAmYXBwbGRhdGFfb3BzX2xpc3QpIHsKIAkJb3BzID0gbGlzdF9lbnRyeShsaCwgc3RydWN0IGFwcGxkYXRhX29wcywgbGlzdCk7Ci0JCVBfREVCVUcoImxpc3RfZm9yX2VhY2ggbG9vcDogJWkpIGFjdGl2ZSA9ICV1LCBuYW1lID0gJXNcbiIsCi0JCQkrK2ksIG9wcy0+YWN0aXZlLCBvcHMtPm5hbWUpOwogCQlpZiAob3BzLT5hY3RpdmUgPT0gMSkgewogCQkJb3BzLT5jYWxsYmFjayhvcHMtPmRhdGEpOwogCQl9CkBAIC0yMTIsNyArMjA2LDYgQEAKIAkJCQkJCSAwLCAxKTsKIAkJfQogCQlhcHBsZGF0YV90aW1lcl9hY3RpdmUgPSAxOwotCQlQX0lORk8oIk1vbml0b3JpbmcgdGltZXIgc3RhcnRlZC5cbiIpOwogCQlicmVhazsKIAljYXNlIEFQUExEQVRBX0RFTF9USU1FUjoKIAkJZm9yX2VhY2hfb25saW5lX2NwdShpKQpAQCAtMjIxLDcgKzIxNCw2IEBACiAJCQlicmVhazsKIAkJYXBwbGRhdGFfdGltZXJfYWN0aXZlID0gMDsKIAkJYXRvbWljX3NldCgmYXBwbGRhdGFfZXhwaXJlX2NvdW50LCBudW1fb25saW5lX2NwdXMoKSk7Ci0JCVBfSU5GTygiTW9uaXRvcmluZyB0aW1lciBzdG9wcGVkLlxuIik7CiAJCWJyZWFrOwogCWNhc2UgQVBQTERBVEFfTU9EX1RJTUVSOgogCQlwZXJfY3B1X2ludGVydmFsID0gKHU2NCkgKGFwcGxkYXRhX2ludGVydmFsKjEwMDAgLwpAQCAtMzEzLDEwICszMDUsOCBAQAogCX0KIAlpbnRlcnZhbCA9IDA7CiAJc3NjYW5mKGJ1ZiwgIiVpIiwgJmludGVydmFsKTsKLQlpZiAoaW50ZXJ2YWwgPD0gMCkgewotCQlQX0VSUk9SKCJUaW1lciBDUFUgaW50ZXJ2YWwgaGFzIHRvIGJlID4gMCFcbiIpOworCWlmIChpbnRlcnZhbCA8PSAwKQogCQlyZXR1cm4gLUVJTlZBTDsKLQl9CiAKIAlnZXRfb25saW5lX2NwdXMoKTsKIAlzcGluX2xvY2soJmFwcGxkYXRhX3RpbWVyX2xvY2spOwpAQCAtMzI0LDkgKzMxNCw2IEBACiAJX19hcHBsZGF0YV92dGltZXJfc2V0dXAoQVBQTERBVEFfTU9EX1RJTUVSKTsKIAlzcGluX3VubG9jaygmYXBwbGRhdGFfdGltZXJfbG9jayk7CiAJcHV0X29ubGluZV9jcHVzKCk7Ci0KLQlQX0lORk8oIk1vbml0b3JpbmcgQ1BVIGludGVydmFsIHNldCB0byAldSBtaWxsaXNlY29uZHMuXG4iLAotCQkgaW50ZXJ2YWwpOwogb3V0OgogCSpsZW5wID0gbGVuOwogCSpwcG9zICs9IGxlbjsKQEAgLTQwNiwyMyArMzkzLDE2IEBACiAJCQlQX0VSUk9SKCJTVEFSVCBESUFHIDB4REMgZm9yICVzIGZhaWxlZCwgIgogCQkJCSJyZXR1cm4gY29kZTogJWRcbiIsIG9wcy0+bmFtZSwgcmMpOwogCQkJbW9kdWxlX3B1dChvcHMtPm93bmVyKTsKLQkJfSBlbHNlIHsKLQkJCVBfSU5GTygiTW9uaXRvcmluZyAlcyBkYXRhIGVuYWJsZWQsICIKLQkJCQkiRElBRyAweERDIHN0YXJ0ZWQuXG4iLCBvcHMtPm5hbWUpOworCQl9IGVsc2UKIAkJCW9wcy0+YWN0aXZlID0gMTsKLQkJfQogCX0gZWxzZSBpZiAoKGJ1ZlswXSA9PSAnMCcpICYmIChvcHMtPmFjdGl2ZSA9PSAxKSkgewogCQlvcHMtPmFjdGl2ZSA9IDA7CiAJCXJjID0gYXBwbGRhdGFfZGlhZyhvcHMtPnJlY29yZF9uciwgQVBQTERBVEFfU1RPUF9SRUMsCiAJCQkJKHVuc2lnbmVkIGxvbmcpIG9wcy0+ZGF0YSwgb3BzLT5zaXplLAogCQkJCW9wcy0+bW9kX2x2bCk7Ci0JCWlmIChyYyAhPSAwKSB7CisJCWlmIChyYyAhPSAwKQogCQkJUF9FUlJPUigiU1RPUCBESUFHIDB4REMgZm9yICVzIGZhaWxlZCwgIgogCQkJCSJyZXR1cm4gY29kZTogJWRcbiIsIG9wcy0+bmFtZSwgcmMpOwotCQl9IGVsc2UgewotCQkJUF9JTkZPKCJNb25pdG9yaW5nICVzIGRhdGEgZGlzYWJsZWQsICIKLQkJCQkiRElBRyAweERDIHN0b3BwZWQuXG4iLCBvcHMtPm5hbWUpOwotCQl9CiAJCW1vZHVsZV9wdXQob3BzLT5vd25lcik7CiAJfQogCXNwaW5fdW5sb2NrKCZhcHBsZGF0YV9vcHNfbG9jayk7CkBAIC00NjgsNyArNDQ4LDYgQEAKIAlvcHMtPnN5c2N0bF9oZWFkZXIgPSByZWdpc3Rlcl9zeXNjdGxfdGFibGUob3BzLT5jdGxfdGFibGUpOwogCWlmICghb3BzLT5zeXNjdGxfaGVhZGVyKQogCQlnb3RvIG91dDsKLQlQX0lORk8oIiVzLW9wcyByZWdpc3RlcmVkIVxuIiwgb3BzLT5uYW1lKTsKIAlyZXR1cm4gMDsKIG91dDoKIAlzcGluX2xvY2soJmFwcGxkYXRhX29wc19sb2NrKTsKQEAgLTQ5MCw3ICs0NjksNiBAQAogCXNwaW5fdW5sb2NrKCZhcHBsZGF0YV9vcHNfbG9jayk7CiAJdW5yZWdpc3Rlcl9zeXNjdGxfdGFibGUob3BzLT5zeXNjdGxfaGVhZGVyKTsKIAlrZnJlZShvcHMtPmN0bF90YWJsZSk7Ci0JUF9JTkZPKCIlcy1vcHMgdW5yZWdpc3RlcmVkIVxuIiwgb3BzLT5uYW1lKTsKIH0KIC8qKioqKioqKioqKioqKioqKioqKioqIG1vZHVsZS1vcHMgbWFuYWdlbWVudCA8RU5EPiAqKioqKioqKioqKioqKioqKioqKioqKioqKi8KIApAQCAtNTUzLDE0ICs1MzEsOSBAQAogewogCWludCBpOwogCi0JUF9ERUJVRygic2l6ZW9mKHBhcmFtZXRlcl9saXN0KSA9ICVsdVxuIiwKLQkJc2l6ZW9mKHN0cnVjdCBhcHBsZGF0YV9wYXJhbWV0ZXJfbGlzdCkpOwotCiAJYXBwbGRhdGFfd3EgPSBjcmVhdGVfc2luZ2xldGhyZWFkX3dvcmtxdWV1ZSgiYXBwbGRhdGEiKTsKLQlpZiAoIWFwcGxkYXRhX3dxKSB7Ci0JCVBfRVJST1IoIkNvdWxkIG5vdCBjcmVhdGUgd29yayBxdWV1ZVxuIik7CisJaWYgKCFhcHBsZGF0YV93cSkKIAkJcmV0dXJuIC1FTk9NRU07Ci0JfQogCiAJZ2V0X29ubGluZV9jcHVzKCk7CiAJZm9yX2VhY2hfb25saW5lX2NwdShpKQpAQCAtNTcxLDggKzU0NCw2IEBACiAJcmVnaXN0ZXJfaG90Y3B1X25vdGlmaWVyKCZhcHBsZGF0YV9uYik7CiAKIAlhcHBsZGF0YV9zeXNjdGxfaGVhZGVyID0gcmVnaXN0ZXJfc3lzY3RsX3RhYmxlKGFwcGxkYXRhX2Rpcl90YWJsZSk7Ci0KLQlQX0RFQlVHKCJCYXNlIGludGVyZmFjZSBpbml0aWFsaXplZC5cbiIpOwogCXJldHVybiAwOwogfQogCkBAIC01ODQsNyArNTU1LDkgQEAKIEVYUE9SVF9TWU1CT0xfR1BMKGFwcGxkYXRhX3VucmVnaXN0ZXJfb3BzKTsKIEVYUE9SVF9TWU1CT0xfR1BMKGFwcGxkYXRhX2RpYWcpOwogCisjaWZkZWYgQ09ORklHX1NXQVAKIEVYUE9SVF9TWU1CT0xfR1BMKHNpX3N3YXBpbmZvKTsKKyNlbmRpZgogRVhQT1JUX1NZTUJPTF9HUEwobnJfdGhyZWFkcyk7CiBFWFBPUlRfU1lNQk9MX0dQTChucl9ydW5uaW5nKTsKIEVYUE9SVF9TWU1CT0xfR1BMKG5yX2lvd2FpdCk7CmRpZmYgLS1naXQgYS9hcmNoL3MzOTAvYXBwbGRhdGEvYXBwbGRhdGFfbWVtLmMgYi9hcmNoL3MzOTAvYXBwbGRhdGEvYXBwbGRhdGFfbWVtLmMKaW5kZXggNTExODFjYy4uM2VkNTZiNyAxMDA2NDQKLS0tIGEvYXJjaC9zMzkwL2FwcGxkYXRhL2FwcGxkYXRhX21lbS5jCisrKyBiL2FyY2gvczM5MC9hcHBsZGF0YS9hcHBsZGF0YV9tZW0uYwpAQCAtMTQsMTQgKzE0LDEzIEBACiAjaW5jbHVkZSA8bGludXgvc2xhYi5oPgogI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CiAjaW5jbHVkZSA8bGludXgva2VybmVsX3N0YXQuaD4KLSNpbmNsdWRlIDxhc20vaW8uaD4KICNpbmNsdWRlIDxsaW51eC9wYWdlbWFwLmg+CiAjaW5jbHVkZSA8bGludXgvc3dhcC5oPgorI2luY2x1ZGUgPGFzbS9pby5oPgogCiAjaW5jbHVkZSAiYXBwbGRhdGEuaCIKIAogCi0jZGVmaW5lIE1ZX1BSSU5UX05BTUUgImFwcGxkYXRhX21lbSIJCS8qIGZvciBkZWJ1ZyBtZXNzYWdlcywgZXRjLiAqLwogI2RlZmluZSBQMksoeCkgKCh4KSA8PCAoUEFHRV9TSElGVCAtIDEwKSkJLyogQ29udmVydHMgI1BhZ2VzIHRvIEtCICovCiAKIC8qCkBAIC03MCwzMCArNjksNiBAQAogfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKSBhcHBsZGF0YV9tZW1fZGF0YTsKIAogCi1zdGF0aWMgaW5saW5lIHZvaWQgYXBwbGRhdGFfZGVidWdfcHJpbnQoc3RydWN0IGFwcGxkYXRhX21lbV9kYXRhICptZW1fZGF0YSkKLXsKLQlQX0RFQlVHKCItLS0gTUVNIC0gUkVDT1JEIC0tLVxuIik7Ci0JUF9ERUJVRygicGdwZ2luICAgICA9ICU4bHUgS0JcbiIsIG1lbV9kYXRhLT5wZ3BnaW4pOwotCVBfREVCVUcoInBncGdvdXQgICAgPSAlOGx1IEtCXG4iLCBtZW1fZGF0YS0+cGdwZ291dCk7Ci0JUF9ERUJVRygicHN3cGluICAgICA9ICU4bHUgUGFnZXNcbiIsIG1lbV9kYXRhLT5wc3dwaW4pOwotCVBfREVCVUcoInBzd3BvdXQgICAgPSAlOGx1IFBhZ2VzXG4iLCBtZW1fZGF0YS0+cHN3cG91dCk7Ci0JUF9ERUJVRygicGdhbGxvYyAgICA9ICU4bHUgXG4iLCBtZW1fZGF0YS0+cGdhbGxvYyk7Ci0JUF9ERUJVRygicGdmYXVsdCAgICA9ICU4bHUgXG4iLCBtZW1fZGF0YS0+cGdmYXVsdCk7Ci0JUF9ERUJVRygicGdtYWpmYXVsdCA9ICU4bHUgXG4iLCBtZW1fZGF0YS0+cGdtYWpmYXVsdCk7Ci0JUF9ERUJVRygic2hhcmVkcmFtICA9ICU4bHUgS0JcbiIsIG1lbV9kYXRhLT5zaGFyZWRyYW0pOwotCVBfREVCVUcoInRvdGFscmFtICAgPSAlOGx1IEtCXG4iLCBtZW1fZGF0YS0+dG90YWxyYW0pOwotCVBfREVCVUcoImZyZWVyYW0gICAgPSAlOGx1IEtCXG4iLCBtZW1fZGF0YS0+ZnJlZXJhbSk7Ci0JUF9ERUJVRygidG90YWxoaWdoICA9ICU4bHUgS0JcbiIsIG1lbV9kYXRhLT50b3RhbGhpZ2gpOwotCVBfREVCVUcoImZyZWVoaWdoICAgPSAlOGx1IEtCXG4iLCBtZW1fZGF0YS0+ZnJlZWhpZ2gpOwotCVBfREVCVUcoImJ1ZmZlcnJhbSAgPSAlOGx1IEtCXG4iLCBtZW1fZGF0YS0+YnVmZmVycmFtKTsKLQlQX0RFQlVHKCJjYWNoZWQgICAgID0gJThsdSBLQlxuIiwgbWVtX2RhdGEtPmNhY2hlZCk7Ci0JUF9ERUJVRygidG90YWxzd2FwICA9ICU4bHUgS0JcbiIsIG1lbV9kYXRhLT50b3RhbHN3YXApOwotCVBfREVCVUcoImZyZWVzd2FwICAgPSAlOGx1IEtCXG4iLCBtZW1fZGF0YS0+ZnJlZXN3YXApOwotCVBfREVCVUcoInN5bmNfY291bnRfMSA9ICV1XG4iLCBtZW1fZGF0YS0+c3luY19jb3VudF8xKTsKLQlQX0RFQlVHKCJzeW5jX2NvdW50XzIgPSAldVxuIiwgbWVtX2RhdGEtPnN5bmNfY291bnRfMik7Ci0JUF9ERUJVRygidGltZXN0YW1wICAgID0gJWxYXG4iLCBtZW1fZGF0YS0+dGltZXN0YW1wKTsKLX0KLQogLyoKICAqIGFwcGxkYXRhX2dldF9tZW1fZGF0YSgpCiAgKgpAQCAtMTQwLDkgKzExNSw2IEBACiAKIAltZW1fZGF0YS0+dGltZXN0YW1wID0gZ2V0X2Nsb2NrKCk7CiAJbWVtX2RhdGEtPnN5bmNfY291bnRfMisrOwotI2lmZGVmIEFQUExEQVRBX0RFQlVHCi0JYXBwbGRhdGFfZGVidWdfcHJpbnQobWVtX2RhdGEpOwotI2VuZGlmCiB9CiAKIApAQCAtMTY0LDE3ICsxMzYsNyBAQAogICovCiBzdGF0aWMgaW50IF9faW5pdCBhcHBsZGF0YV9tZW1faW5pdCh2b2lkKQogewotCWludCByYzsKLQotCVBfREVCVUcoInNpemVvZihtZW0pID0gJWx1XG4iLCBzaXplb2Yoc3RydWN0IGFwcGxkYXRhX21lbV9kYXRhKSk7Ci0KLQlyYyA9IGFwcGxkYXRhX3JlZ2lzdGVyX29wcygmb3BzKTsKLQlpZiAocmMgIT0gMCkgewotCQlQX0VSUk9SKCJFcnJvciByZWdpc3RlcmluZyBvcHMsIHJjID0gJWlcbiIsIHJjKTsKLQl9IGVsc2UgewotCQlQX0RFQlVHKCIlcy1vcHMgcmVnaXN0ZXJlZCFcbiIsIG9wcy5uYW1lKTsKLQl9Ci0JcmV0dXJuIHJjOworCXJldHVybiBhcHBsZGF0YV9yZWdpc3Rlcl9vcHMoJm9wcyk7CiB9CiAKIC8qCkBAIC0xODUsNyArMTQ3LDYgQEAKIHN0YXRpYyB2b2lkIF9fZXhpdCBhcHBsZGF0YV9tZW1fZXhpdCh2b2lkKQogewogCWFwcGxkYXRhX3VucmVnaXN0ZXJfb3BzKCZvcHMpOwotCVBfREVCVUcoIiVzLW9wcyB1bnJlZ2lzdGVyZWQhXG4iLCBvcHMubmFtZSk7CiB9CiAKIApkaWZmIC0tZ2l0IGEvYXJjaC9zMzkwL2FwcGxkYXRhL2FwcGxkYXRhX25ldF9zdW0uYyBiL2FyY2gvczM5MC9hcHBsZGF0YS9hcHBsZGF0YV9uZXRfc3VtLmMKaW5kZXggNGQ4MzQ0My4uM2I3NDY1NSAxMDA2NDQKLS0tIGEvYXJjaC9zMzkwL2FwcGxkYXRhL2FwcGxkYXRhX25ldF9zdW0uYworKysgYi9hcmNoL3MzOTAvYXBwbGRhdGEvYXBwbGRhdGFfbmV0X3N1bS5jCkBAIC0yMSw5ICsyMSw2IEBACiAjaW5jbHVkZSAiYXBwbGRhdGEuaCIKIAogCi0jZGVmaW5lIE1ZX1BSSU5UX05BTUUJImFwcGxkYXRhX25ldF9zdW0iCS8qIGZvciBkZWJ1ZyBtZXNzYWdlcywgZXRjLiAqLwotCi0KIC8qCiAgKiBOZXR3b3JrIGRhdGEKICAqCkBAIC02MCwyNiArNTcsNiBAQAogfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKSBhcHBsZGF0YV9uZXRfc3VtX2RhdGE7CiAKIAotc3RhdGljIGlubGluZSB2b2lkIGFwcGxkYXRhX3ByaW50X2RlYnVnKHN0cnVjdCBhcHBsZGF0YV9uZXRfc3VtX2RhdGEgKm5ldF9kYXRhKQotewotCVBfREVCVUcoIi0tLSBORVQgLSBSRUNPUkQgLS0tXG4iKTsKLQotCVBfREVCVUcoIm5yX2ludGVyZmFjZXMgPSAldVxuIiwgbmV0X2RhdGEtPm5yX2ludGVyZmFjZXMpOwotCVBfREVCVUcoInJ4X3BhY2tldHMgICAgPSAlOGx1XG4iLCBuZXRfZGF0YS0+cnhfcGFja2V0cyk7Ci0JUF9ERUJVRygidHhfcGFja2V0cyAgICA9ICU4bHVcbiIsIG5ldF9kYXRhLT50eF9wYWNrZXRzKTsKLQlQX0RFQlVHKCJyeF9ieXRlcyAgICAgID0gJThsdVxuIiwgbmV0X2RhdGEtPnJ4X2J5dGVzKTsKLQlQX0RFQlVHKCJ0eF9ieXRlcyAgICAgID0gJThsdVxuIiwgbmV0X2RhdGEtPnR4X2J5dGVzKTsKLQlQX0RFQlVHKCJyeF9lcnJvcnMgICAgID0gJThsdVxuIiwgbmV0X2RhdGEtPnJ4X2Vycm9ycyk7Ci0JUF9ERUJVRygidHhfZXJyb3JzICAgICA9ICU4bHVcbiIsIG5ldF9kYXRhLT50eF9lcnJvcnMpOwotCVBfREVCVUcoInJ4X2Ryb3BwZWQgICAgPSAlOGx1XG4iLCBuZXRfZGF0YS0+cnhfZHJvcHBlZCk7Ci0JUF9ERUJVRygidHhfZHJvcHBlZCAgICA9ICU4bHVcbiIsIG5ldF9kYXRhLT50eF9kcm9wcGVkKTsKLQlQX0RFQlVHKCJjb2xsaXNpb25zICAgID0gJThsdVxuIiwgbmV0X2RhdGEtPmNvbGxpc2lvbnMpOwotCi0JUF9ERUJVRygic3luY19jb3VudF8xID0gJXVcbiIsIG5ldF9kYXRhLT5zeW5jX2NvdW50XzEpOwotCVBfREVCVUcoInN5bmNfY291bnRfMiA9ICV1XG4iLCBuZXRfZGF0YS0+c3luY19jb3VudF8yKTsKLQlQX0RFQlVHKCJ0aW1lc3RhbXAgICAgPSAlbFhcbiIsIG5ldF9kYXRhLT50aW1lc3RhbXApOwotfQotCiAvKgogICogYXBwbGRhdGFfZ2V0X25ldF9zdW1fZGF0YSgpCiAgKgpAQCAtMTM1LDkgKzExMiw2IEBACiAKIAluZXRfZGF0YS0+dGltZXN0YW1wID0gZ2V0X2Nsb2NrKCk7CiAJbmV0X2RhdGEtPnN5bmNfY291bnRfMisrOwotI2lmZGVmIEFQUExEQVRBX0RFQlVHCi0JYXBwbGRhdGFfcHJpbnRfZGVidWcobmV0X2RhdGEpOwotI2VuZGlmCiB9CiAKIApAQCAtMTU5LDE3ICsxMzMsNyBAQAogICovCiBzdGF0aWMgaW50IF9faW5pdCBhcHBsZGF0YV9uZXRfaW5pdCh2b2lkKQogewotCWludCByYzsKLQotCVBfREVCVUcoInNpemVvZihuZXQpID0gJWx1XG4iLCBzaXplb2Yoc3RydWN0IGFwcGxkYXRhX25ldF9zdW1fZGF0YSkpOwotCi0JcmMgPSBhcHBsZGF0YV9yZWdpc3Rlcl9vcHMoJm9wcyk7Ci0JaWYgKHJjICE9IDApIHsKLQkJUF9FUlJPUigiRXJyb3IgcmVnaXN0ZXJpbmcgb3BzLCByYyA9ICVpXG4iLCByYyk7Ci0JfSBlbHNlIHsKLQkJUF9ERUJVRygiJXMtb3BzIHJlZ2lzdGVyZWQhXG4iLCBvcHMubmFtZSk7Ci0JfQotCXJldHVybiByYzsKKwlyZXR1cm4gYXBwbGRhdGFfcmVnaXN0ZXJfb3BzKCZvcHMpOwogfQogCiAvKgpAQCAtMTgwLDcgKzE0NCw2IEBACiBzdGF0aWMgdm9pZCBfX2V4aXQgYXBwbGRhdGFfbmV0X2V4aXQodm9pZCkKIHsKIAlhcHBsZGF0YV91bnJlZ2lzdGVyX29wcygmb3BzKTsKLQlQX0RFQlVHKCIlcy1vcHMgdW5yZWdpc3RlcmVkIVxuIiwgb3BzLm5hbWUpOwogfQogCiAKZGlmZiAtLWdpdCBhL2FyY2gvczM5MC9hcHBsZGF0YS9hcHBsZGF0YV9vcy5jIGIvYXJjaC9zMzkwL2FwcGxkYXRhL2FwcGxkYXRhX29zLmMKaW5kZXggNmIzZWFmZS4uZWI0NGY5ZiAxMDA2NDQKLS0tIGEvYXJjaC9zMzkwL2FwcGxkYXRhL2FwcGxkYXRhX29zLmMKKysrIGIvYXJjaC9zMzkwL2FwcGxkYXRhL2FwcGxkYXRhX29zLmMKQEAgLTg5LDQ0ICs4OSw2IEBACiB9OwogCiAKLXN0YXRpYyBpbmxpbmUgdm9pZCBhcHBsZGF0YV9wcmludF9kZWJ1ZyhzdHJ1Y3QgYXBwbGRhdGFfb3NfZGF0YSAqb3NfZGF0YSkKLXsKLQlpbnQgYTAsIGExLCBhMiwgaTsKLQotCVBfREVCVUcoIi0tLSBPUyAtIFJFQ09SRCAtLS1cbiIpOwotCVBfREVCVUcoIm5yX3RocmVhZHMgICA9ICV1XG4iLCBvc19kYXRhLT5ucl90aHJlYWRzKTsKLQlQX0RFQlVHKCJucl9ydW5uaW5nICAgPSAldVxuIiwgb3NfZGF0YS0+bnJfcnVubmluZyk7Ci0JUF9ERUJVRygibnJfaW93YWl0ICAgID0gJXVcbiIsIG9zX2RhdGEtPm5yX2lvd2FpdCk7Ci0JUF9ERUJVRygiYXZlbnJ1bihpbnQpID0gJTh4IC8gJTh4IC8gJTh4XG4iLCBvc19kYXRhLT5hdmVucnVuWzBdLAotCQlvc19kYXRhLT5hdmVucnVuWzFdLCBvc19kYXRhLT5hdmVucnVuWzJdKTsKLQlhMCA9IG9zX2RhdGEtPmF2ZW5ydW5bMF07Ci0JYTEgPSBvc19kYXRhLT5hdmVucnVuWzFdOwotCWEyID0gb3NfZGF0YS0+YXZlbnJ1blsyXTsKLQlQX0RFQlVHKCJhdmVucnVuKGZsb2F0KSA9ICVkLiUwMmQgLyAlZC4lMDJkIC8gJWQuJTAyZFxuIiwKLQkJTE9BRF9JTlQoYTApLCBMT0FEX0ZSQUMoYTApLCBMT0FEX0lOVChhMSksIExPQURfRlJBQyhhMSksCi0JCUxPQURfSU5UKGEyKSwgTE9BRF9GUkFDKGEyKSk7Ci0KLQlQX0RFQlVHKCJucl9jcHVzID0gJXVcbiIsIG9zX2RhdGEtPm5yX2NwdXMpOwotCWZvciAoaSA9IDA7IGkgPCBvc19kYXRhLT5ucl9jcHVzOyBpKyspIHsKLQkJUF9ERUJVRygiY3B1JXUgOiB1c2VyID0gJXUsIG5pY2UgPSAldSwgc3lzdGVtID0gJXUsICIKLQkJCSJpZGxlID0gJXUsIGlycSA9ICV1LCBzb2Z0aXJxID0gJXUsIGlvd2FpdCA9ICV1LCAiCi0JCQkic3RlYWwgPSAldVxuIiwKLQkJCQlvc19kYXRhLT5vc19jcHVbaV0uY3B1X2lkLAotCQkJCW9zX2RhdGEtPm9zX2NwdVtpXS5wZXJfY3B1X3VzZXIsCi0JCQkJb3NfZGF0YS0+b3NfY3B1W2ldLnBlcl9jcHVfbmljZSwKLQkJCQlvc19kYXRhLT5vc19jcHVbaV0ucGVyX2NwdV9zeXN0ZW0sCi0JCQkJb3NfZGF0YS0+b3NfY3B1W2ldLnBlcl9jcHVfaWRsZSwKLQkJCQlvc19kYXRhLT5vc19jcHVbaV0ucGVyX2NwdV9pcnEsCi0JCQkJb3NfZGF0YS0+b3NfY3B1W2ldLnBlcl9jcHVfc29mdGlycSwKLQkJCQlvc19kYXRhLT5vc19jcHVbaV0ucGVyX2NwdV9pb3dhaXQsCi0JCQkJb3NfZGF0YS0+b3NfY3B1W2ldLnBlcl9jcHVfc3RlYWwpOwotCX0KLQotCVBfREVCVUcoInN5bmNfY291bnRfMSA9ICV1XG4iLCBvc19kYXRhLT5zeW5jX2NvdW50XzEpOwotCVBfREVCVUcoInN5bmNfY291bnRfMiA9ICV1XG4iLCBvc19kYXRhLT5zeW5jX2NvdW50XzIpOwotCVBfREVCVUcoInRpbWVzdGFtcCAgICA9ICVsWFxuIiwgb3NfZGF0YS0+dGltZXN0YW1wKTsKLX0KLQogLyoKICAqIGFwcGxkYXRhX2dldF9vc19kYXRhKCkKICAqCkBAIC0xODAsMTMgKzE0MiwxMCBAQAogCQkJCQkgICBBUFBMREFUQV9TVEFSVF9JTlRFUlZBTF9SRUMsCiAJCQkJCSAgICh1bnNpZ25lZCBsb25nKSBvcHMuZGF0YSwgbmV3X3NpemUsCiAJCQkJCSAgIG9wcy5tb2RfbHZsKTsKLQkJCWlmIChyYyAhPSAwKSB7CisJCQlpZiAocmMgIT0gMCkKIAkJCQlQX0VSUk9SKCJvczogU1RBUlQgTkVXIERJQUcgMHhEQyBmYWlsZWQsICIKIAkJCQkJInJldHVybiBjb2RlOiAlZCwgbmV3IHNpemUgPSAlaVxuIiwgcmMsCiAJCQkJCW5ld19zaXplKTsKLQkJCQlQX0lORk8oIm9zOiBzdG9wcGluZyBvbGQgcmVjb3JkIG5vd1xuIik7Ci0JCQl9IGVsc2UKLQkJCQlQX0lORk8oIm9zOiBuZXcgcmVjb3JkIHNpemUgPSAlaVxuIiwgbmV3X3NpemUpOwogCiAJCQlyYyA9IGFwcGxkYXRhX2RpYWcoQVBQTERBVEFfUkVDT1JEX09TX0lELAogCQkJCQkgICBBUFBMREFUQV9TVE9QX1JFQywKQEAgLTIwNCw5ICsxNjMsNiBAQAogCX0KIAlvc19kYXRhLT50aW1lc3RhbXAgPSBnZXRfY2xvY2soKTsKIAlvc19kYXRhLT5zeW5jX2NvdW50XzIrKzsKLSNpZmRlZiBBUFBMREFUQV9ERUJVRwotCWFwcGxkYXRhX3ByaW50X2RlYnVnKG9zX2RhdGEpOwotI2VuZGlmCiB9CiAKIApAQCAtMjI3LDEyICsxODMsOSBAQAogCQlyYyA9IC1FTk9NRU07CiAJCWdvdG8gb3V0OwogCX0KLQlQX0RFQlVHKCJtYXguIHNpemVvZihvcykgPSAlaSwgc2l6ZW9mKG9zX2NwdSkgPSAlbHVcbiIsIG1heF9zaXplLAotCQlzaXplb2Yoc3RydWN0IGFwcGxkYXRhX29zX3Blcl9jcHUpKTsKIAogCWFwcGxkYXRhX29zX2RhdGEgPSBremFsbG9jKG1heF9zaXplLCBHRlBfRE1BKTsKIAlpZiAoYXBwbGRhdGFfb3NfZGF0YSA9PSBOVUxMKSB7Ci0JCVBfRVJST1IoIk5vIG1lbW9yeSBmb3IgJXMhXG4iLCBvcHMubmFtZSk7CiAJCXJjID0gLUVOT01FTTsKIAkJZ290byBvdXQ7CiAJfQpAQCAtMjQwLDE3ICsxOTMsMTIgQEAKIAlhcHBsZGF0YV9vc19kYXRhLT5wZXJfY3B1X3NpemUgPSBzaXplb2Yoc3RydWN0IGFwcGxkYXRhX29zX3Blcl9jcHUpOwogCWFwcGxkYXRhX29zX2RhdGEtPmNwdV9vZmZzZXQgICA9IG9mZnNldG9mKHN0cnVjdCBhcHBsZGF0YV9vc19kYXRhLAogCQkJCQkJCW9zX2NwdSk7Ci0JUF9ERUJVRygiY3B1IG9mZnNldCA9ICV1XG4iLCBhcHBsZGF0YV9vc19kYXRhLT5jcHVfb2Zmc2V0KTsKIAogCW9wcy5kYXRhID0gYXBwbGRhdGFfb3NfZGF0YTsKIAlvcHMuY2FsbGJhY2sgID0gJmFwcGxkYXRhX2dldF9vc19kYXRhOwogCXJjID0gYXBwbGRhdGFfcmVnaXN0ZXJfb3BzKCZvcHMpOwotCWlmIChyYyAhPSAwKSB7Ci0JCVBfRVJST1IoIkVycm9yIHJlZ2lzdGVyaW5nIG9wcywgcmMgPSAlaVxuIiwgcmMpOworCWlmIChyYyAhPSAwKQogCQlrZnJlZShhcHBsZGF0YV9vc19kYXRhKTsKLQl9IGVsc2UgewotCQlQX0RFQlVHKCIlcy1vcHMgcmVnaXN0ZXJlZCFcbiIsIG9wcy5uYW1lKTsKLQl9CiBvdXQ6CiAJcmV0dXJuIHJjOwogfQpAQCAtMjY0LDcgKzIxMiw2IEBACiB7CiAJYXBwbGRhdGFfdW5yZWdpc3Rlcl9vcHMoJm9wcyk7CiAJa2ZyZWUoYXBwbGRhdGFfb3NfZGF0YSk7Ci0JUF9ERUJVRygiJXMtb3BzIHVucmVnaXN0ZXJlZCFcbiIsIG9wcy5uYW1lKTsKIH0KIAogCmRpZmYgLS1naXQgYS9hcmNoL3MzOTAvY3J5cHRvL2NyeXB0X3MzOTAuaCBiL2FyY2gvczM5MC9jcnlwdG8vY3J5cHRfczM5MC5oCmluZGV4IDk5OTJmOTUuLjBlZjk4MjkgMTAwNjQ0Ci0tLSBhL2FyY2gvczM5MC9jcnlwdG8vY3J5cHRfczM5MC5oCisrKyBiL2FyY2gvczM5MC9jcnlwdG8vY3J5cHRfczM5MC5oCkBAIC0yOTYsNiArMjk2LDEwIEBACiAJdW5zaWduZWQgY2hhciBzdGF0dXNbMTZdOwogCWludCByZXQ7CiAKKwkvKiBjaGVjayBpZiBDUEFDRiBmYWNpbGl0eSAoYml0IDE3KSBpcyBhdmFpbGFibGUgKi8KKwlpZiAoIShzdGZsKCkgJiAxVUxMIDw8ICgzMSAtIDE3KSkpCisJCXJldHVybiAwOworCiAJc3dpdGNoIChmdW5jICYgQ1JZUFRfUzM5MF9PUF9NQVNLKSB7CiAJY2FzZSBDUllQVF9TMzkwX0tNOgogCQlyZXQgPSBjcnlwdF9zMzkwX2ttKEtNX1FVRVJZLCAmc3RhdHVzLCBOVUxMLCBOVUxMLCAwKTsKZGlmZiAtLWdpdCBhL2FyY2gvczM5MC9jcnlwdG8vcHJuZy5jIGIvYXJjaC9zMzkwL2NyeXB0by9wcm5nLmMKaW5kZXggMGNmZWZkZC4uZWNhNzI0ZCAxMDA2NDQKLS0tIGEvYXJjaC9zMzkwL2NyeXB0by9wcm5nLmMKKysrIGIvYXJjaC9zMzkwL2NyeXB0by9wcm5nLmMKQEAgLTYsNiArNiw3IEBACiAjaW5jbHVkZSA8bGludXgvZnMuaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxsaW51eC9taXNjZGV2aWNlLmg+CiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CiAjaW5jbHVkZSA8bGludXgvbW9kdWxlcGFyYW0uaD4KQEAgLTQ4LDYgKzQ5LDcgQEAKIAogc3RhdGljIGludCBwcm5nX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCiB7CisJY3ljbGVfa2VybmVsX2xvY2soKTsKIAlyZXR1cm4gbm9uc2Vla2FibGVfb3Blbihpbm9kZSwgZmlsZSk7CiB9CiAKQEAgLTE4NSwxMSArMTg3LDggQEAKIAlwcm5nX3NlZWQoMTYpOwogCiAJcmV0ID0gbWlzY19yZWdpc3RlcigmcHJuZ19kZXYpOwotCWlmIChyZXQpIHsKLQkJcHJpbnRrKEtFUk5fV0FSTklORwotCQkgICAgICAgIkNvdWxkIG5vdCByZWdpc3RlciBtaXNjIGRldmljZSBmb3IgUFJORy5cbiIpOworCWlmIChyZXQpCiAJCWdvdG8gb3V0X2J1ZjsKLQl9CiAJcmV0dXJuIDA7CiAKIG91dF9idWY6CmRpZmYgLS1naXQgYS9hcmNoL3MzOTAvaHlwZnMvaW5vZGUuYyBiL2FyY2gvczM5MC9oeXBmcy9pbm9kZS5jCmluZGV4IDRiMDEwZmYuLjczODM3ODEgMTAwNjQ0Ci0tLSBhL2FyY2gvczM5MC9oeXBmcy9pbm9kZS5jCisrKyBiL2FyY2gvczM5MC9oeXBmcy9pbm9kZS5jCkBAIC0xNTAsMzMgKzE1MCwyNCBAQAogCQkJICAgICAgdW5zaWduZWQgbG9uZyBucl9zZWdzLCBsb2ZmX3Qgb2Zmc2V0KQogewogCWNoYXIgKmRhdGE7Ci0Jc2l6ZV90IGxlbjsKKwlzc2l6ZV90IHJldDsKIAlzdHJ1Y3QgZmlsZSAqZmlscCA9IGlvY2ItPmtpX2ZpbHA7CiAJLyogWFhYOiB0ZW1wb3JhcnkgKi8KIAljaGFyIF9fdXNlciAqYnVmID0gaW92WzBdLmlvdl9iYXNlOwogCXNpemVfdCBjb3VudCA9IGlvdlswXS5pb3ZfbGVuOwogCi0JaWYgKG5yX3NlZ3MgIT0gMSkgewotCQljb3VudCA9IC1FSU5WQUw7Ci0JCWdvdG8gb3V0OwotCX0KKwlpZiAobnJfc2VncyAhPSAxKQorCQlyZXR1cm4gLUVJTlZBTDsKIAogCWRhdGEgPSBmaWxwLT5wcml2YXRlX2RhdGE7Ci0JbGVuID0gc3RybGVuKGRhdGEpOwotCWlmIChvZmZzZXQgPiBsZW4pIHsKLQkJY291bnQgPSAwOwotCQlnb3RvIG91dDsKLQl9Ci0JaWYgKGNvdW50ID4gbGVuIC0gb2Zmc2V0KQotCQljb3VudCA9IGxlbiAtIG9mZnNldDsKLQlpZiAoY29weV90b191c2VyKGJ1ZiwgZGF0YSArIG9mZnNldCwgY291bnQpKSB7Ci0JCWNvdW50ID0gLUVGQVVMVDsKLQkJZ290byBvdXQ7Ci0JfQotCWlvY2ItPmtpX3BvcyArPSBjb3VudDsKKwlyZXQgPSBzaW1wbGVfcmVhZF9mcm9tX2J1ZmZlcihidWYsIGNvdW50LCAmb2Zmc2V0LCBkYXRhLCBzdHJsZW4oZGF0YSkpOworCWlmIChyZXQgPD0gMCkKKwkJcmV0dXJuIHJldDsKKworCWlvY2ItPmtpX3BvcyArPSByZXQ7CiAJZmlsZV9hY2Nlc3NlZChmaWxwKTsKLW91dDoKLQlyZXR1cm4gY291bnQ7CisKKwlyZXR1cm4gcmV0OwogfQogc3RhdGljIHNzaXplX3QgaHlwZnNfYWlvX3dyaXRlKHN0cnVjdCBraW9jYiAqaW9jYiwgY29uc3Qgc3RydWN0IGlvdmVjICppb3YsCiAJCQkgICAgICB1bnNpZ25lZCBsb25nIG5yX3NlZ3MsIGxvZmZfdCBvZmZzZXQpCmRpZmYgLS1naXQgYS9hcmNoL3MzOTAva2VybmVsL01ha2VmaWxlIGIvYXJjaC9zMzkwL2tlcm5lbC9NYWtlZmlsZQppbmRleCA2MzAyZjUwLi41MGY2NTdlIDEwMDY0NAotLS0gYS9hcmNoL3MzOTAva2VybmVsL01ha2VmaWxlCisrKyBiL2FyY2gvczM5MC9rZXJuZWwvTWFrZWZpbGUKQEAgLTcsOSArNywxNCBAQAogIwogQ0ZMQUdTX3NtcC5vCTo9IC1Xbm8tbm9ubnVsbAogCisjCisjIFBhc3MgVVRTX01BQ0hJTkUgZm9yIHVzZXJfcmVnc2V0IGRlZmluaXRpb24KKyMKK0NGTEFHU19wdHJhY2UubwkJKz0gLURVVFNfTUFDSElORT0nIiQoVVRTX01BQ0hJTkUpIicKKwogb2JqLXkJOj0gIGJpdG1hcC5vIHRyYXBzLm8gdGltZS5vIHByb2Nlc3MubyBiYXNlLm8gZWFybHkubyBcCiAgICAgICAgICAgICBzZXR1cC5vIHN5c19zMzkwLm8gcHRyYWNlLm8gc2lnbmFsLm8gY3BjbWQubyBlYmNkaWMubyBcCi0JICAgIHMzOTBfZXh0Lm8gZGVidWcubyBpcnEubyBpcGwubyBkaXMubyBkaWFnLm8KKwkgICAgczM5MF9leHQubyBkZWJ1Zy5vIGlycS5vIGlwbC5vIGRpcy5vIGRpYWcubyBtZW1fZGV0ZWN0Lm8KIAogb2JqLXkJKz0gJChpZiAkKENPTkZJR182NEJJVCksZW50cnk2NC5vLGVudHJ5Lm8pCiBvYmoteQkrPSAkKGlmICQoQ09ORklHXzY0QklUKSxyZWlwbDY0Lm8scmVpcGwubykKQEAgLTIzLDcgKzI4LDcgQEAKIGNvbXBhdC1vYmotJChDT05GSUdfQVVESVQpCSs9IGNvbXBhdF9hdWRpdC5vCiBvYmotJChDT05GSUdfQ09NUEFUKQkJKz0gY29tcGF0X2xpbnV4Lm8gY29tcGF0X3NpZ25hbC5vIFwKIAkJCQkJY29tcGF0X3dyYXBwZXIubyBjb21wYXRfZXhlY19kb21haW4ubyBcCi0JCQkJCWJpbmZtdF9lbGYzMi5vICQoY29tcGF0LW9iai15KQorCQkJCQkkKGNvbXBhdC1vYmoteSkKIAogb2JqLSQoQ09ORklHX1ZJUlRfVElNRVIpCSs9IHZ0aW1lLm8KIG9iai0kKENPTkZJR19TVEFDS1RSQUNFKQkrPSBzdGFja3RyYWNlLm8KZGlmZiAtLWdpdCBhL2FyY2gvczM5MC9rZXJuZWwvYmluZm10X2VsZjMyLmMgYi9hcmNoL3MzOTAva2VybmVsL2JpbmZtdF9lbGYzMi5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzZTFjMzE1Li4wMDAwMDAwCi0tLSBhL2FyY2gvczM5MC9rZXJuZWwvYmluZm10X2VsZjMyLmMKKysrIC9kZXYvbnVsbApAQCAtMSwyMTQgKzAsMCBAQAotLyoKLSAqIFN1cHBvcnQgZm9yIDMyLWJpdCBMaW51eCBmb3IgUzM5MCBFTEYgYmluYXJpZXMuCi0gKgotICogQ29weXJpZ2h0IChDKSAyMDAwIElCTSBEZXV0c2NobGFuZCBFbnR3aWNrbHVuZyBHbWJILCBJQk0gQ29ycG9yYXRpb24KLSAqIEF1dGhvcihzKTogR2VyaGFyZCBUb25uICh0b25AZGUuaWJtLmNvbSkKLSAqCi0gKiBIZWF2aWx5IGluc3BpcmVkIGJ5IHRoZSAzMi1iaXQgU3BhcmMgY29tcGF0IGNvZGUgd2hpY2ggaXMKLSAqIENvcHlyaWdodCAoQykgMTk5NSwgMTk5NiwgMTk5NywgMTk5OCBEYXZpZCBTLiBNaWxsZXIgKGRhdmVtQHJlZGhhdC5jb20pCi0gKiBDb3B5cmlnaHQgKEMpIDE5OTUsIDE5OTYsIDE5OTcsIDE5OTggSmFrdWIgSmVsaW5layAgIChqakB1bHRyYS5saW51eC5jeikKLSAqLwotCi0jZGVmaW5lIF9fQVNNUzM5MF9FTEZfSAotCi0jaW5jbHVkZSA8bGludXgvdGltZS5oPgotCi0vKgotICogVGhlc2UgYXJlIHVzZWQgdG8gc2V0IHBhcmFtZXRlcnMgaW4gdGhlIGNvcmUgZHVtcHMuCi0gKi8KLSNkZWZpbmUgRUxGX0NMQVNTCUVMRkNMQVNTMzIKLSNkZWZpbmUgRUxGX0RBVEEJRUxGREFUQTJNU0IKLSNkZWZpbmUgRUxGX0FSQ0gJRU1fUzM5MAotCi0vKgotICogVGhpcyBpcyB1c2VkIHRvIGVuc3VyZSB3ZSBkb24ndCBsb2FkIHNvbWV0aGluZyBmb3IgdGhlIHdyb25nIGFyY2hpdGVjdHVyZS4KLSAqLwotI2RlZmluZSBlbGZfY2hlY2tfYXJjaCh4KSBcCi0JKCgoeCktPmVfbWFjaGluZSA9PSBFTV9TMzkwIHx8ICh4KS0+ZV9tYWNoaW5lID09IEVNX1MzOTBfT0xEKSBcCi0gICAgICAgICAmJiAoeCktPmVfaWRlbnRbRUlfQ0xBU1NdID09IEVMRl9DTEFTUykKLQotLyogRUxGIHJlZ2lzdGVyIGRlZmluaXRpb25zICovCi0jZGVmaW5lIE5VTV9HUFJTICAgICAgMTYKLSNkZWZpbmUgTlVNX0ZQUlMgICAgICAxNgotI2RlZmluZSBOVU1fQUNSUyAgICAgIDE2ICAgIAotCi0vKiBGb3IgU1ZSNC9TMzkwIHRoZSBmdW5jdGlvbiBwb2ludGVyIHRvIGJlIHJlZ2lzdGVyZWQgd2l0aCBgYXRleGl0YCBpcwotICAgcGFzc2VkIGluIFIxNC4gKi8KLSNkZWZpbmUgRUxGX1BMQVRfSU5JVChfciwgbG9hZF9hZGRyKSBcCi0JZG8geyBcCi0JCV9yLT5ncHJzWzE0XSA9IDA7IFwKLQl9IHdoaWxlKDApCi0KLSNkZWZpbmUgVVNFX0VMRl9DT1JFX0RVTVAKLSNkZWZpbmUgRUxGX0VYRUNfUEFHRVNJWkUgICAgICAgNDA5NgotCi0vKiBUaGlzIGlzIHRoZSBsb2NhdGlvbiB0aGF0IGFuIEVUX0RZTiBwcm9ncmFtIGlzIGxvYWRlZCBpZiBleGVjJ2VkLiAgVHlwaWNhbAotICAgdXNlIG9mIHRoaXMgaXMgdG8gaW52b2tlICIuL2xkLnNvIHNvbWVwcm9nIiB0byB0ZXN0IG91dCBhIG5ldyB2ZXJzaW9uIG9mCi0gICB0aGUgbG9hZGVyLiAgV2UgbmVlZCB0byBtYWtlIHN1cmUgdGhhdCBpdCBpcyBvdXQgb2YgdGhlIHdheSBvZiB0aGUgcHJvZ3JhbQotICAgdGhhdCBpdCB3aWxsICJleGVjIiwgYW5kIHRoYXQgdGhlcmUgaXMgc3VmZmljaWVudCByb29tIGZvciB0aGUgYnJrLiAgKi8KLQotI2RlZmluZSBFTEZfRVRfRFlOX0JBU0UgICAgICAgICAoVEFTS19TSVpFIC8gMyAqIDIpCi0KLS8qIFdvdywgdGhlICJtYWluIiBhcmNoIG5lZWRzIGFyY2ggZGVwZW5kZW50IGZ1bmN0aW9ucyB0b28uLiA6KSAqLwotCi0vKiByZWdzIGlzIHN0cnVjdCBwdF9yZWdzLCBwcl9yZWcgaXMgZWxmX2dyZWdzZXRfdCAod2hpY2ggaXMKLSAgIG5vdyBzdHJ1Y3RfdXNlcl9yZWdzLCB0aGV5IGFyZSBkaWZmZXJlbnQpICovCi0KLSNkZWZpbmUgRUxGX0NPUkVfQ09QWV9SRUdTKHByX3JlZywgcmVncykgZHVtcF9yZWdzMzIocmVncywgJnByX3JlZyk7Ci0KLSNkZWZpbmUgRUxGX0NPUkVfQ09QWV9UQVNLX1JFR1ModHNrLCByZWdzKSBkdW1wX3Rhc2tfcmVnczMyKHRzaywgcmVncykKLQotI2RlZmluZSBFTEZfQ09SRV9DT1BZX0ZQUkVHUyh0c2ssIGZwcmVncykgZHVtcF90YXNrX2ZwdSh0c2ssIGZwcmVncykKLQotLyogVGhpcyB5aWVsZHMgYSBtYXNrIHRoYXQgdXNlciBwcm9ncmFtcyBjYW4gdXNlIHRvIGZpZ3VyZSBvdXQgd2hhdAotICAgaW5zdHJ1Y3Rpb24gc2V0IHRoaXMgQ1BVIHN1cHBvcnRzLiAqLwotCi0jZGVmaW5lIEVMRl9IV0NBUCAoMCkKLQotLyogVGhpcyB5aWVsZHMgYSBzdHJpbmcgdGhhdCBsZC5zbyB3aWxsIHVzZSB0byBsb2FkIGltcGxlbWVudGF0aW9uCi0gICBzcGVjaWZpYyBsaWJyYXJpZXMgZm9yIG9wdGltaXphdGlvbi4gIFRoaXMgaXMgbW9yZSBzcGVjaWZpYyBpbgotICAgaW50ZW50IHRoYW4gcG9raW5nIGF0IHVuYW1lIG9yIC9wcm9jL2NwdWluZm8uCi0KLSAgIEZvciB0aGUgbW9tZW50LCB3ZSBoYXZlIG9ubHkgb3B0aW1pemF0aW9ucyBmb3IgdGhlIEludGVsIGdlbmVyYXRpb25zLAotICAgYnV0IHRoYXQgY291bGQgY2hhbmdlLi4uICovCi0KLSNkZWZpbmUgRUxGX1BMQVRGT1JNIChOVUxMKQotCi0jZGVmaW5lIFNFVF9QRVJTT05BTElUWShleCwgaWJjczIpCQkJXAotZG8gewkJCQkJCQlcCi0JaWYgKGliY3MyKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotCQlzZXRfcGVyc29uYWxpdHkoUEVSX1NWUjQpOyAgICAgICAgICAgICAgXAotCWVsc2UgaWYgKGN1cnJlbnQtPnBlcnNvbmFsaXR5ICE9IFBFUl9MSU5VWDMyKSAgIFwKLQkJc2V0X3BlcnNvbmFsaXR5KFBFUl9MSU5VWCk7ICAgICAgICAgICAgIFwKLQlzZXRfdGhyZWFkX2ZsYWcoVElGXzMxQklUKTsJCQlcCi19IHdoaWxlICgwKQotCi0jaW5jbHVkZSAiY29tcGF0X2xpbnV4LmgiCi0KLXR5cGVkZWYgX3MzOTBfZnBfcmVnczMyIGVsZl9mcHJlZ3NldF90OwotCi10eXBlZGVmIHN0cnVjdAotewotCQotCV9wc3dfdDMyCXBzdzsKLQlfX3UzMgkJZ3Byc1tfX05VTV9HUFJTXTsgCi0JX191MzIJCWFjcnNbX19OVU1fQUNSU107IAotCV9fdTMyCQlvcmlnX2dwcjI7Ci19IHMzOTBfcmVnczMyOwotdHlwZWRlZiBzMzkwX3JlZ3MzMiBlbGZfZ3JlZ3NldF90OwotCi1zdGF0aWMgaW5saW5lIGludCBkdW1wX3JlZ3MzMihzdHJ1Y3QgcHRfcmVncyAqcHRyZWdzLCBlbGZfZ3JlZ3NldF90ICpyZWdzKQotewotCWludCBpOwotCi0JbWVtY3B5KCZyZWdzLT5wc3cubWFzaywgJnB0cmVncy0+cHN3Lm1hc2ssIDQpOwotCW1lbWNweSgmcmVncy0+cHN3LmFkZHIsIChjaGFyICopJnB0cmVncy0+cHN3LmFkZHIgKyA0LCA0KTsKLQlmb3IgKGkgPSAwOyBpIDwgTlVNX0dQUlM7IGkrKykKLQkJcmVncy0+Z3Byc1tpXSA9IHB0cmVncy0+Z3Byc1tpXTsKLQlzYXZlX2FjY2Vzc19yZWdzKHJlZ3MtPmFjcnMpOwotCXJlZ3MtPm9yaWdfZ3ByMiA9IHB0cmVncy0+b3JpZ19ncHIyOwotCXJldHVybiAxOwotfQotCi1zdGF0aWMgaW5saW5lIGludCBkdW1wX3Rhc2tfcmVnczMyKHN0cnVjdCB0YXNrX3N0cnVjdCAqdHNrLCBlbGZfZ3JlZ3NldF90ICpyZWdzKQotewotCXN0cnVjdCBwdF9yZWdzICpwdHJlZ3MgPSB0YXNrX3B0X3JlZ3ModHNrKTsKLQlpbnQgaTsKLQotCW1lbWNweSgmcmVncy0+cHN3Lm1hc2ssICZwdHJlZ3MtPnBzdy5tYXNrLCA0KTsKLQltZW1jcHkoJnJlZ3MtPnBzdy5hZGRyLCAoY2hhciAqKSZwdHJlZ3MtPnBzdy5hZGRyICsgNCwgNCk7Ci0JZm9yIChpID0gMDsgaSA8IE5VTV9HUFJTOyBpKyspCi0JCXJlZ3MtPmdwcnNbaV0gPSBwdHJlZ3MtPmdwcnNbaV07Ci0JbWVtY3B5KHJlZ3MtPmFjcnMsIHRzay0+dGhyZWFkLmFjcnMsIHNpemVvZihyZWdzLT5hY3JzKSk7Ci0JcmVncy0+b3JpZ19ncHIyID0gcHRyZWdzLT5vcmlnX2dwcjI7Ci0JcmV0dXJuIDE7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgaW50IGR1bXBfdGFza19mcHUoc3RydWN0IHRhc2tfc3RydWN0ICp0c2ssIGVsZl9mcHJlZ3NldF90ICpmcHJlZ3MpCi17Ci0JaWYgKHRzayA9PSBjdXJyZW50KQotCQlzYXZlX2ZwX3JlZ3MoKHMzOTBfZnBfcmVncyAqKSBmcHJlZ3MpOwotCWVsc2UKLQkJbWVtY3B5KGZwcmVncywgJnRzay0+dGhyZWFkLmZwX3JlZ3MsIHNpemVvZihlbGZfZnByZWdzZXRfdCkpOwotCXJldHVybiAxOwotfQotCi0jaW5jbHVkZSA8YXNtL3Byb2Nlc3Nvci5oPgotI2luY2x1ZGUgPGFzbS9wZ2FsbG9jLmg+Ci0jaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+Ci0jaW5jbHVkZSA8bGludXgvZWxmY29yZS5oPgotI2luY2x1ZGUgPGxpbnV4L2JpbmZtdHMuaD4KLSNpbmNsdWRlIDxsaW51eC9jb21wYXQuaD4KLQotI2RlZmluZSBlbGZfcHJzdGF0dXMgZWxmX3Byc3RhdHVzMzIKLXN0cnVjdCBlbGZfcHJzdGF0dXMzMgotewotCXN0cnVjdCBlbGZfc2lnaW5mbyBwcl9pbmZvOwkvKiBJbmZvIGFzc29jaWF0ZWQgd2l0aCBzaWduYWwgKi8KLQlzaG9ydAlwcl9jdXJzaWc7CQkvKiBDdXJyZW50IHNpZ25hbCAqLwotCXUzMglwcl9zaWdwZW5kOwkvKiBTZXQgb2YgcGVuZGluZyBzaWduYWxzICovCi0JdTMyCXByX3NpZ2hvbGQ7CS8qIFNldCBvZiBoZWxkIHNpZ25hbHMgKi8KLQlwaWRfdAlwcl9waWQ7Ci0JcGlkX3QJcHJfcHBpZDsKLQlwaWRfdAlwcl9wZ3JwOwotCXBpZF90CXByX3NpZDsKLQlzdHJ1Y3QgY29tcGF0X3RpbWV2YWwgcHJfdXRpbWU7CS8qIFVzZXIgdGltZSAqLwotCXN0cnVjdCBjb21wYXRfdGltZXZhbCBwcl9zdGltZTsJLyogU3lzdGVtIHRpbWUgKi8KLQlzdHJ1Y3QgY29tcGF0X3RpbWV2YWwgcHJfY3V0aW1lOwkvKiBDdW11bGF0aXZlIHVzZXIgdGltZSAqLwotCXN0cnVjdCBjb21wYXRfdGltZXZhbCBwcl9jc3RpbWU7CS8qIEN1bXVsYXRpdmUgc3lzdGVtIHRpbWUgKi8KLQllbGZfZ3JlZ3NldF90IHByX3JlZzsJLyogR1AgcmVnaXN0ZXJzICovCi0JaW50IHByX2ZwdmFsaWQ7CQkvKiBUcnVlIGlmIG1hdGggY28tcHJvY2Vzc29yIGJlaW5nIHVzZWQuICAqLwotfTsKLQotI2RlZmluZSBlbGZfcHJwc2luZm8gZWxmX3BycHNpbmZvMzIKLXN0cnVjdCBlbGZfcHJwc2luZm8zMgotewotCWNoYXIJcHJfc3RhdGU7CS8qIG51bWVyaWMgcHJvY2VzcyBzdGF0ZSAqLwotCWNoYXIJcHJfc25hbWU7CS8qIGNoYXIgZm9yIHByX3N0YXRlICovCi0JY2hhcglwcl96b21iOwkvKiB6b21iaWUgKi8KLQljaGFyCXByX25pY2U7CS8qIG5pY2UgdmFsICovCi0JdTMyCXByX2ZsYWc7CS8qIGZsYWdzICovCi0JdTE2CXByX3VpZDsKLQl1MTYJcHJfZ2lkOwotCXBpZF90CXByX3BpZCwgcHJfcHBpZCwgcHJfcGdycCwgcHJfc2lkOwotCS8qIExvdHMgbWlzc2luZyAqLwotCWNoYXIJcHJfZm5hbWVbMTZdOwkvKiBmaWxlbmFtZSBvZiBleGVjdXRhYmxlICovCi0JY2hhcglwcl9wc2FyZ3NbRUxGX1BSQVJHU1pdOwkvKiBpbml0aWFsIHBhcnQgb2YgYXJnIGxpc3QgKi8KLX07Ci0KLSNpbmNsdWRlIDxsaW51eC9oaWdodWlkLmg+Ci0KLS8qCi0jZGVmaW5lIGluaXRfZWxmX2JpbmZtdCBpbml0X2VsZjMyX2JpbmZtdAotKi8KLQotI3VuZGVmIHN0YXJ0X3RocmVhZAotI2RlZmluZSBzdGFydF90aHJlYWQgICAgICAgICAgICAgICAgICAgIHN0YXJ0X3RocmVhZDMxIAotCi1zdGF0aWMgaW5saW5lIHZvaWQgc3RhcnRfdGhyZWFkMzEoc3RydWN0IHB0X3JlZ3MgKnJlZ3MsIHVuc2lnbmVkIGxvbmcgbmV3X3BzdywKLQkJCQkgIHVuc2lnbmVkIGxvbmcgbmV3X3N0YWNrcCkKLXsKLQlzZXRfZnMoVVNFUl9EUyk7Ci0JcmVncy0+cHN3Lm1hc2sJPSBwc3dfdXNlcjMyX2JpdHM7Ci0JcmVncy0+cHN3LmFkZHIJPSBuZXdfcHN3OwotCXJlZ3MtPmdwcnNbMTVdCT0gbmV3X3N0YWNrcDsKLQljcnN0X3RhYmxlX2Rvd25ncmFkZShjdXJyZW50LT5tbSwgMVVMIDw8IDMxKTsKLX0KLQotTU9EVUxFX0RFU0NSSVBUSU9OKCJCaW5hcnkgZm9ybWF0IGxvYWRlciBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIDMyYml0IExpbnV4IGZvciBTMzkwIGJpbmFyaWVzLCIKLSAgICAgICAgICAgICAgICAgICAiIENvcHlyaWdodCAyMDAwIElCTSBDb3Jwb3JhdGlvbiIpOyAKLU1PRFVMRV9BVVRIT1IoIkdlcmhhcmQgVG9ubiA8dG9uQGRlLmlibS5jb20+Iik7Ci0KLSN1bmRlZiBNT0RVTEVfREVTQ1JJUFRJT04KLSN1bmRlZiBNT0RVTEVfQVVUSE9SCi0KLSN1bmRlZiBjcHV0aW1lX3RvX3RpbWV2YWwKLSNkZWZpbmUgY3B1dGltZV90b190aW1ldmFsIGNwdXRpbWVfdG9fY29tcGF0X3RpbWV2YWwKLXN0YXRpYyBpbmxpbmUgdm9pZAotY3B1dGltZV90b19jb21wYXRfdGltZXZhbChjb25zdCBjcHV0aW1lX3QgY3B1dGltZSwgc3RydWN0IGNvbXBhdF90aW1ldmFsICp2YWx1ZSkKLXsKLQl2YWx1ZS0+dHZfdXNlYyA9IGNwdXRpbWUgJSAxMDAwMDAwOwotCXZhbHVlLT50dl9zZWMgPSBjcHV0aW1lIC8gMTAwMDAwMDsKLX0KLQotI2luY2x1ZGUgIi4uLy4uLy4uL2ZzL2JpbmZtdF9lbGYuYyIKLQpkaWZmIC0tZ2l0IGEvYXJjaC9zMzkwL2tlcm5lbC9jb21wYXRfcHRyYWNlLmggYi9hcmNoL3MzOTAva2VybmVsL2NvbXBhdF9wdHJhY2UuaAppbmRleCA0MTlhZWY5Li5jZGU4MWZhIDEwMDY0NAotLS0gYS9hcmNoL3MzOTAva2VybmVsL2NvbXBhdF9wdHJhY2UuaAorKysgYi9hcmNoL3MzOTAva2VybmVsL2NvbXBhdF9wdHJhY2UuaApAQCAtMSw3ICsxLDcgQEAKICNpZm5kZWYgX1BUUkFDRTMyX0gKICNkZWZpbmUgX1BUUkFDRTMyX0gKIAotI2luY2x1ZGUgImNvbXBhdF9saW51eC5oIiAgLyogbmVlZGVkIGZvciBfcHN3X3QzMiAqLworI2luY2x1ZGUgImNvbXBhdF9saW51eC5oIiAgLyogbmVlZGVkIGZvciBwc3dfY29tcGF0X3QgKi8KIAogdHlwZWRlZiBzdHJ1Y3QgewogCV9fdTMyIGNyWzNdOwpAQCAtMzgsNyArMzgsNyBAQAogCiBzdHJ1Y3QgdXNlcl9yZWdzX3N0cnVjdDMyCiB7Ci0JX3Bzd190MzIgcHN3OworCXBzd19jb21wYXRfdCBwc3c7CiAJdTMyIGdwcnNbTlVNX0dQUlNdOwogCXUzMiBhY3JzW05VTV9BQ1JTXTsKIAl1MzIgb3JpZ19ncHIyOwpkaWZmIC0tZ2l0IGEvYXJjaC9zMzkwL2tlcm5lbC9kZWJ1Zy5jIGIvYXJjaC9zMzkwL2tlcm5lbC9kZWJ1Zy5jCmluZGV4IGM5M2QxMjkuLmQ4MGZjZDQgMTAwNjQ0Ci0tLSBhL2FyY2gvczM5MC9rZXJuZWwvZGVidWcuYworKysgYi9hcmNoL3MzOTAva2VybmVsL2RlYnVnLmMKQEAgLTEwNzksNyArMTA3OSw2IEBACiAJczM5MGRiZl9zeXNjdGxfaGVhZGVyID0gcmVnaXN0ZXJfc3lzY3RsX3RhYmxlKHMzOTBkYmZfZGlyX3RhYmxlKTsKIAltdXRleF9sb2NrKCZkZWJ1Z19tdXRleCk7CiAJZGVidWdfZGVidWdmc19yb290X2VudHJ5ID0gZGVidWdmc19jcmVhdGVfZGlyKERFQlVHX0RJUl9ST09ULE5VTEwpOwotCXByaW50ayhLRVJOX0lORk8gImRlYnVnOiBJbml0aWFsaXphdGlvbiBjb21wbGV0ZVxuIik7CiAJaW5pdGlhbGl6ZWQgPSAxOwogCW11dGV4X3VubG9jaygmZGVidWdfbXV0ZXgpOwogCkBAIC0xMTkzLDcgKzExOTIsNiBAQAogCWZvcig7IGlzc3BhY2UoKmJ1Zik7IGJ1ZisrKTsKIAlyYyA9IHNpbXBsZV9zdHJ0b3VsKGJ1ZiwgJmJ1ZiwgMTApOwogCWlmKCpidWYpewotCQlwcmludGsoImRlYnVnOiBubyBpbnRlZ2VyIHNwZWNpZmllZCFcbiIpOwogCQlyYyA9IC1FSU5WQUw7CiAJfQogCXJldHVybiByYzsKQEAgLTEzNDAsMTkgKzEzMzgsMTIgQEAKICAgICAgICAgICAgICAgICAgICAgICAgIAltZW1zZXQoaWQtPmFyZWFzW2ldW2pdLCAwLCBQQUdFX1NJWkUpOwogCQkJfQogCQl9Ci0gICAgICAgICAgICAgICAgcHJpbnRrKEtFUk5fSU5GTyAiZGVidWc6ICVzOiBhbGwgYXJlYXMgZmx1c2hlZFxuIixpZC0+bmFtZSk7CiAgICAgICAgIH0gZWxzZSBpZihhcmVhID49IDAgJiYgYXJlYSA8IGlkLT5ucl9hcmVhcykgewogICAgICAgICAgICAgICAgIGlkLT5hY3RpdmVfZW50cmllc1thcmVhXSA9IDA7CiAJCWlkLT5hY3RpdmVfcGFnZXNbYXJlYV0gPSAwOwogCQlmb3IoaSA9IDA7IGkgPCBpZC0+cGFnZXNfcGVyX2FyZWE7IGkrKykgewogICAgICAgICAgICAgICAgIAltZW1zZXQoaWQtPmFyZWFzW2FyZWFdW2ldLDAsUEFHRV9TSVpFKTsKIAkJfQotICAgICAgICAgICAgICAgIHByaW50ayhLRVJOX0lORk8gImRlYnVnOiAlczogYXJlYSAlaSBoYXMgYmVlbiBmbHVzaGVkXG4iLAotICAgICAgICAgICAgICAgICAgICAgICAgaWQtPm5hbWUsIGFyZWEpOwotICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgIHByaW50ayhLRVJOX0lORk8KLSAgICAgICAgICAgICAgICAgICAgICAiZGVidWc6ICVzOiBhcmVhICVpIGNhbm5vdCBiZSBmbHVzaGVkIChyYW5nZTogJWkgLSAlaSlcbiIsCi0gICAgICAgICAgICAgICAgICAgICAgICBpZC0+bmFtZSwgYXJlYSwgMCwgaWQtPm5yX2FyZWFzLTEpOwogICAgICAgICB9CiAgICAgICAgIHNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmlkLT5sb2NrLGZsYWdzKTsKIH0KZGlmZiAtLWdpdCBhL2FyY2gvczM5MC9rZXJuZWwvZWFybHkuYyBiL2FyY2gvczM5MC9rZXJuZWwvZWFybHkuYwppbmRleCBkMGUwOTY4Li4yYTJjYTI2IDEwMDY0NAotLS0gYS9hcmNoL3MzOTAva2VybmVsL2Vhcmx5LmMKKysrIGIvYXJjaC9zMzkwL2tlcm5lbC9lYXJseS5jCkBAIC0xNCw2ICsxNCw3IEBACiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CiAjaW5jbHVkZSA8bGludXgvcGZuLmg+CiAjaW5jbHVkZSA8bGludXgvdWFjY2Vzcy5oPgorI2luY2x1ZGUgPGFzbS9lYmNkaWMuaD4KICNpbmNsdWRlIDxhc20vaXBsLmg+CiAjaW5jbHVkZSA8YXNtL2xvd2NvcmUuaD4KICNpbmNsdWRlIDxhc20vcHJvY2Vzc29yLmg+CkBAIC0yNiwxMiArMjcsNDAgQEAKIC8qCiAgKiBDcmVhdGUgYSBLZXJuZWwgTlNTIGlmIHRoZSBTQVZFU1lTPSBwYXJhbWV0ZXIgaXMgZGVmaW5lZAogICovCi0jZGVmaW5lIERFRlNZU19DTURfU0laRQkJOTYKKyNkZWZpbmUgREVGU1lTX0NNRF9TSVpFCQkxMjgKICNkZWZpbmUgU0FWRVNZU19DTURfU0laRQkzMgogCiBjaGFyIGtlcm5lbF9uc3NfbmFtZVtOU1NfTkFNRV9TSVpFICsgMV07CiAKK3N0YXRpYyB2b2lkIF9faW5pdCBzZXR1cF9ib290X2NvbW1hbmRfbGluZSh2b2lkKTsKKworCiAjaWZkZWYgQ09ORklHX1NIQVJFRF9LRVJORUwKK2ludCBfX2luaXQgc2F2ZXN5c19pcGxfbnNzKGNoYXIgKmNtZCwgY29uc3QgaW50IGNtZGxlbik7CisKK2FzbSgKKwkiCS5zZWN0aW9uIC5pbml0LnRleHQsXCJheFwiLEBwcm9nYml0c1xuIgorCSIJLmFsaWduCTRcbiIKKwkiCS50eXBlCXNhdmVzeXNfaXBsX25zcywgQGZ1bmN0aW9uXG4iCisJInNhdmVzeXNfaXBsX25zczpcbiIKKyNpZmRlZiBDT05GSUdfNjRCSVQKKwkiCXN0bWcJNiwxNSw0OCgxNSlcbiIKKwkiCWxncgkxNCwzXG4iCisJIglzYW0zMVxuIgorCSIJZGlhZwkyLDE0LDB4OFxuIgorCSIJc2FtNjRcbiIKKwkiCWxncgkyLDE0XG4iCisJIglsbWcJNiwxNSw0OCgxNSlcbiIKKyNlbHNlCisJIglzdG0JNiwxNSwyNCgxNSlcbiIKKwkiCWxyCTE0LDNcbiIKKwkiCWRpYWcJMiwxNCwweDhcbiIKKwkiCWxyCTIsMTRcbiIKKwkiCWxtCTYsMTUsMjQoMTUpXG4iCisjZW5kaWYKKwkiCWJyCTE0XG4iCisJIgkuc2l6ZQlzYXZlc3lzX2lwbF9uc3MsIC4tc2F2ZXN5c19pcGxfbnNzXG4iKTsKKwogc3RhdGljIG5vaW5saW5lIF9faW5pdCB2b2lkIGNyZWF0ZV9rZXJuZWxfbnNzKHZvaWQpCiB7CiAJdW5zaWduZWQgaW50IGksIHN0ZXh0X3BmbiwgZXNoYXJlZF9wZm4sIGVuZF9wZm4sIG1pbl9zaXplOwpAQCAtMzksNiArNjgsNyBAQAogCXVuc2lnbmVkIGludCBzaW5pdHJkX3BmbiwgZWluaXRyZF9wZm47CiAjZW5kaWYKIAlpbnQgcmVzcG9uc2U7CisJc2l6ZV90IGxlbjsKIAljaGFyICpzYXZlc3lzX3B0cjsKIAljaGFyIHVwcGVyX2NvbW1hbmRfbGluZVtDT01NQU5EX0xJTkVfU0laRV07CiAJY2hhciBkZWZzeXNfY21kW0RFRlNZU19DTURfU0laRV07CkBAIC00OSw4ICs3OSw4IEBACiAJCXJldHVybjsKIAogCS8qIENvbnZlcnQgQ09NTUFORF9MSU5FIHRvIHVwcGVyIGNhc2UgKi8KLQlmb3IgKGkgPSAwOyBpIDwgc3RybGVuKENPTU1BTkRfTElORSk7IGkrKykKLQkJdXBwZXJfY29tbWFuZF9saW5lW2ldID0gdG91cHBlcihDT01NQU5EX0xJTkVbaV0pOworCWZvciAoaSA9IDA7IGkgPCBzdHJsZW4oYm9vdF9jb21tYW5kX2xpbmUpOyBpKyspCisJCXVwcGVyX2NvbW1hbmRfbGluZVtpXSA9IHRvdXBwZXIoYm9vdF9jb21tYW5kX2xpbmVbaV0pOwogCiAJc2F2ZXN5c19wdHIgPSBzdHJzdHIodXBwZXJfY29tbWFuZF9saW5lLCAiU0FWRVNZUz0iKTsKIApAQCAtODMsNyArMTEzLDggQEAKIAl9CiAjZW5kaWYKIAotCXNwcmludGYoZGVmc3lzX2NtZCwgIiVzIEVXIE1JTlNJWkU9JS43aUsiLCBkZWZzeXNfY21kLCBtaW5fc2l6ZSk7CisJc3ByaW50ZihkZWZzeXNfY21kLCAiJXMgRVcgTUlOU0laRT0lLjdpSyBQQVJNUkVHUz0wLTEzIiwKKwkJZGVmc3lzX2NtZCwgbWluX3NpemUpOwogCXNwcmludGYoc2F2ZXN5c19jbWQsICJTQVZFU1lTICVzIFxuIElQTCAlcyIsCiAJCWtlcm5lbF9uc3NfbmFtZSwga2VybmVsX25zc19uYW1lKTsKIApAQCAtOTQsMTMgKzEyNSwyNCBAQAogCQlyZXR1cm47CiAJfQogCi0JX19jcGNtZChzYXZlc3lzX2NtZCwgTlVMTCwgMCwgJnJlc3BvbnNlKTsKKwlsZW4gPSBzdHJsZW4oc2F2ZXN5c19jbWQpOworCUFTQ0VCQyhzYXZlc3lzX2NtZCwgbGVuKTsKKwlyZXNwb25zZSA9IHNhdmVzeXNfaXBsX25zcyhzYXZlc3lzX2NtZCwgbGVuKTsKIAotCWlmIChyZXNwb25zZSAhPSBzdHJsZW4oc2F2ZXN5c19jbWQpKSB7CisJLyogT24gc3VjY2VzczogcmVzcG9uc2UgaXMgZXF1YWwgdG8gdGhlIGNvbW1hbmQgc2l6ZSwKKwkgKgkgICAgICAgbWF4IFNBVkVTWVNfQ01EX1NJWkUKKwkgKiBPbiBlcnJvcjogcmVzcG9uc2UgY29udGFpbnMgdGhlIG51bWVyaWMgcG9ydGlvbiBvZiBjcCBlcnJvciBtZXNzYWdlLgorCSAqCSAgICAgZm9yIFNBVkVTWVMgaXQgd2lsbCBiZSA+PSAyNjMKKwkgKi8KKwlpZiAocmVzcG9uc2UgPiBTQVZFU1lTX0NNRF9TSVpFKSB7CiAJCWtlcm5lbF9uc3NfbmFtZVswXSA9ICdcMCc7CiAJCXJldHVybjsKIAl9CiAKKwkvKiByZS1zZXR1cCBib290IGNvbW1hbmQgbGluZSB3aXRoIG5ldyBpcGwgdm0gcGFybXMgKi8KKwlpcGxfdXBkYXRlX3BhcmFtZXRlcnMoKTsKKwlzZXR1cF9ib290X2NvbW1hbmRfbGluZSgpOworCiAJaXBsX2ZsYWdzID0gSVBMX05TU19WQUxJRDsKIH0KIApAQCAtMTQxLDEwOSArMTgzLDExIEBACiAJaWYgKGNwdWluZm8tPmNwdV9pZC52ZXJzaW9uID09IDB4ZmYpCiAJCW1hY2hpbmVfZmxhZ3MgfD0gTUFDSElORV9GTEFHX1ZNOwogCi0JLyogUnVubmluZyBvbiBhIFAvMzkwID8gKi8KLQlpZiAoY3B1aW5mby0+Y3B1X2lkLm1hY2hpbmUgPT0gMHg3NDkwKQotCQltYWNoaW5lX2ZsYWdzIHw9IE1BQ0hJTkVfRkxBR19QMzkwOwotCiAJLyogUnVubmluZyB1bmRlciBLVk0gPyAqLwogCWlmIChjcHVpbmZvLT5jcHVfaWQudmVyc2lvbiA9PSAweGZlKQogCQltYWNoaW5lX2ZsYWdzIHw9IE1BQ0hJTkVfRkxBR19LVk07CiB9CiAKLSNpZmRlZiBDT05GSUdfNjRCSVQKLXN0YXRpYyBub2lubGluZSBfX2luaXQgaW50IG1lbW9yeV9mYXN0X2RldGVjdCh2b2lkKQotewotCXVuc2lnbmVkIGxvbmcgdmFsMCA9IDA7Ci0JdW5zaWduZWQgbG9uZyB2YWwxID0gMHhjOwotCWludCByZXQgPSAtRU5PU1lTOwotCi0JaWYgKGlwbF9mbGFncyAmIElQTF9OU1NfVkFMSUQpCi0JCXJldHVybiAtRU5PU1lTOwotCi0JYXNtIHZvbGF0aWxlKAotCQkiCWRpYWcJJTEsJTIsMHgyNjBcbiIKLQkJIjA6CWxoaQklMCwwXG4iCi0JCSIxOlxuIgotCQlFWF9UQUJMRSgwYiwxYikKLQkJOiAiK2QiIChyZXQpLCAiK2QiICh2YWwwKSwgIitkIiAodmFsMSkgOiA6ICJjYyIpOwotCi0JaWYgKHJldCB8fCB2YWwwICE9IHZhbDEpCi0JCXJldHVybiAtRU5PU1lTOwotCi0JbWVtb3J5X2NodW5rWzBdLnNpemUgPSB2YWwwICsgMTsKLQlyZXR1cm4gMDsKLX0KLSNlbHNlCi1zdGF0aWMgaW5saW5lIGludCBtZW1vcnlfZmFzdF9kZXRlY3Qodm9pZCkKLXsKLQlyZXR1cm4gLUVOT1NZUzsKLX0KLSNlbmRpZgotCi1zdGF0aWMgaW5saW5lIF9faW5pdCB1bnNpZ25lZCBsb25nIF9fdHByb3QodW5zaWduZWQgbG9uZyBhZGRyKQotewotCWludCBjYyA9IC0xOwotCi0JYXNtIHZvbGF0aWxlKAotCQkiCXRwcm90CTAoJTEpLDBcbiIKLQkJIjA6CWlwbQklMFxuIgotCQkiCXNybAklMCwyOFxuIgotCQkiMTpcbiIKLQkJRVhfVEFCTEUoMGIsMWIpCi0JCTogIitkIiAoY2MpIDogImEiIChhZGRyKSA6ICJjYyIpOwotCXJldHVybiAodW5zaWduZWQgbG9uZyljYzsKLX0KLQotLyogQ2hlY2tpbmcgbWVtb3J5IGluIDEyOEtCIGluY3JlbWVudHMuICovCi0jZGVmaW5lIENIVU5LX0lOQ1IJKDFVTCA8PCAxNykKLSNkZWZpbmUgQUREUjJHCQkoMVVMIDw8IDMxKQotCi1zdGF0aWMgbm9pbmxpbmUgX19pbml0IHZvaWQgZmluZF9tZW1vcnlfY2h1bmtzKHVuc2lnbmVkIGxvbmcgbWVtc2l6ZSkKLXsKLQl1bnNpZ25lZCBsb25nIGFkZHIgPSAwLCBvbGRfYWRkciA9IDA7Ci0JdW5zaWduZWQgbG9uZyBvbGRfY2MgPSBDSFVOS19SRUFEX1dSSVRFOwotCXVuc2lnbmVkIGxvbmcgY2M7Ci0JaW50IGNodW5rID0gMDsKLQotCXdoaWxlIChjaHVuayA8IE1FTU9SWV9DSFVOS1MpIHsKLQkJY2MgPSBfX3Rwcm90KGFkZHIpOwotCQl3aGlsZSAoY2MgPT0gb2xkX2NjKSB7Ci0JCQlhZGRyICs9IENIVU5LX0lOQ1I7Ci0JCQlpZiAobWVtc2l6ZSAmJiBhZGRyID49IG1lbXNpemUpCi0JCQkJYnJlYWs7Ci0jaWZuZGVmIENPTkZJR182NEJJVAotCQkJaWYgKGFkZHIgPT0gQUREUjJHKQotCQkJCWJyZWFrOwotI2VuZGlmCi0JCQljYyA9IF9fdHByb3QoYWRkcik7Ci0JCX0KLQotCQlpZiAob2xkX2FkZHIgIT0gYWRkciAmJgotCQkgICAgKG9sZF9jYyA9PSBDSFVOS19SRUFEX1dSSVRFIHx8IG9sZF9jYyA9PSBDSFVOS19SRUFEX09OTFkpKSB7Ci0JCQltZW1vcnlfY2h1bmtbY2h1bmtdLmFkZHIgPSBvbGRfYWRkcjsKLQkJCW1lbW9yeV9jaHVua1tjaHVua10uc2l6ZSA9IGFkZHIgLSBvbGRfYWRkcjsKLQkJCW1lbW9yeV9jaHVua1tjaHVua10udHlwZSA9IG9sZF9jYzsKLQkJCWNodW5rKys7Ci0JCX0KLQotCQlvbGRfYWRkciA9IGFkZHI7Ci0JCW9sZF9jYyA9IGNjOwotCi0jaWZuZGVmIENPTkZJR182NEJJVAotCQlpZiAoYWRkciA9PSBBRERSMkcpCi0JCQlicmVhazsKLSNlbmRpZgotCQkvKgotCQkgKiBGaW5pc2ggbWVtb3J5IGRldGVjdGlvbiBhdCB0aGUgZmlyc3QgaG9sZQotCQkgKiBpZiBzdG9yYWdlIHNpemUgaXMgdW5rbm93bi4KLQkJICovCi0JCWlmIChjYyA9PSAtMVVMICYmICFtZW1zaXplKQotCQkJYnJlYWs7Ci0JCWlmIChtZW1zaXplICYmIGFkZHIgPj0gbWVtc2l6ZSkKLQkJCWJyZWFrOwotCX0KLX0KLQogc3RhdGljIF9faW5pdCB2b2lkIGVhcmx5X3BnbV9jaGVja19oYW5kbGVyKHZvaWQpCiB7CiAJdW5zaWduZWQgbG9uZyBhZGRyOwpAQCAtMzgwLDIzICszMjQsNjEgQEAKICNlbmRpZgogfQogCitzdGF0aWMgX19pbml0IHZvaWQgcmVzY3VlX2luaXRyZCh2b2lkKQoreworI2lmZGVmIENPTkZJR19CTEtfREVWX0lOSVRSRAorCS8qCisJICogTW92ZSB0aGUgaW5pdHJkIHJpZ2h0IGJlaGluZCB0aGUgYnNzIHNlY3Rpb24gaW4gY2FzZSBpdCBzdGFydHMKKwkgKiB3aXRoaW4gdGhlIGJzcyBzZWN0aW9uLiBTbyB3ZSBkb24ndCBvdmVyd3JpdGUgaXQgd2hlbiB0aGUgYnNzCisJICogc2VjdGlvbiBnZXRzIGNsZWFyZWQuCisJICovCisJaWYgKCFJTklUUkRfU1RBUlQgfHwgIUlOSVRSRF9TSVpFKQorCQlyZXR1cm47CisJaWYgKElOSVRSRF9TVEFSVCA+PSAodW5zaWduZWQgbG9uZykgX19ic3Nfc3RvcCkKKwkJcmV0dXJuOworCW1lbW1vdmUoX19ic3Nfc3RvcCwgKHZvaWQgKikgSU5JVFJEX1NUQVJULCBJTklUUkRfU0laRSk7CisJSU5JVFJEX1NUQVJUID0gKHVuc2lnbmVkIGxvbmcpIF9fYnNzX3N0b3A7CisjZW5kaWYKK30KKworLyogU2V0IHVwIGJvb3QgY29tbWFuZCBsaW5lICovCitzdGF0aWMgdm9pZCBfX2luaXQgc2V0dXBfYm9vdF9jb21tYW5kX2xpbmUodm9pZCkKK3sKKwljaGFyICpwYXJtID0gTlVMTDsKKworCS8qIGNvcHkgYXJjaCBjb21tYW5kIGxpbmUgKi8KKwlzdHJsY3B5KGJvb3RfY29tbWFuZF9saW5lLCBDT01NQU5EX0xJTkUsIEFSQ0hfQ09NTUFORF9MSU5FX1NJWkUpOworCWJvb3RfY29tbWFuZF9saW5lW0FSQ0hfQ09NTUFORF9MSU5FX1NJWkUgLSAxXSA9IDA7CisKKwkvKiBhcHBlbmQgSVBMIFBBUk0gZGF0YSB0byB0aGUgYm9vdCBjb21tYW5kIGxpbmUgKi8KKwlpZiAoTUFDSElORV9JU19WTSkgeworCQlwYXJtID0gYm9vdF9jb21tYW5kX2xpbmUgKyBzdHJsZW4oYm9vdF9jb21tYW5kX2xpbmUpOworCQkqcGFybSsrID0gJyAnOworCQlnZXRfaXBsX3ZtcGFybShwYXJtKTsKKwkJaWYgKHBhcm1bMF0gPT0gJz0nKQorCQkJbWVtbW92ZShib290X2NvbW1hbmRfbGluZSwgcGFybSArIDEsIHN0cmxlbihwYXJtKSk7CisJfQorfQorCisKIC8qCiAgKiBTYXZlIGlwbCBwYXJhbWV0ZXJzLCBjbGVhciBic3MgbWVtb3J5LCBpbml0aWFsaXplIHN0b3JhZ2Uga2V5cwogICogYW5kIGNyZWF0ZSBhIGtlcm5lbCBOU1MgYXQgc3RhcnR1cCBpZiB0aGUgU0FWRVNZUz0gcGFybSBpcyBkZWZpbmVkCiAgKi8KIHZvaWQgX19pbml0IHN0YXJ0dXBfaW5pdCh2b2lkKQogewotCXVuc2lnbmVkIGxvbmcgbG9uZyBtZW1zaXplOwotCiAJaXBsX3NhdmVfcGFyYW1ldGVycygpOworCXJlc2N1ZV9pbml0cmQoKTsKIAljbGVhcl9ic3Nfc2VjdGlvbigpOwogCWluaXRfa2VybmVsX3N0b3JhZ2Vfa2V5KCk7CiAJbG9ja2RlcF9pbml0KCk7CiAJbG9ja2RlcF9vZmYoKTsKLQlkZXRlY3RfbWFjaGluZV90eXBlKCk7Ci0JY3JlYXRlX2tlcm5lbF9uc3MoKTsKIAlzb3J0X21haW5fZXh0YWJsZSgpOwogCXNldHVwX2xvd2NvcmVfZWFybHkoKTsKKwlkZXRlY3RfbWFjaGluZV90eXBlKCk7CisJaXBsX3VwZGF0ZV9wYXJhbWV0ZXJzKCk7CisJc2V0dXBfYm9vdF9jb21tYW5kX2xpbmUoKTsKKwljcmVhdGVfa2VybmVsX25zcygpOwogCWRldGVjdF9tdnBnKCk7CiAJZGV0ZWN0X2llZWUoKTsKIAlkZXRlY3RfY3NwKCk7CkBAIC00MDQsMTggKzM4Niw3IEBACiAJZGV0ZWN0X2RpYWc0NCgpOwogCWRldGVjdF9tYWNoaW5lX2ZhY2lsaXRpZXMoKTsKIAlzZXR1cF9ocGFnZSgpOwotCXNjbHBfcmVhZF9pbmZvX2Vhcmx5KCk7CiAJc2NscF9mYWNpbGl0aWVzX2RldGVjdCgpOwotCW1lbXNpemUgPSBzY2xwX21lbW9yeV9kZXRlY3QoKTsKLSNpZm5kZWYgQ09ORklHXzY0QklUCi0JLyoKLQkgKiBDYW4ndCBkZWFsIHdpdGggbW9yZSB0aGFuIDJHIGluIDMxIGJpdCBhZGRyZXNzaW5nIG1vZGUsIHNvCi0JICogbGltaXQgdGhlIHZhbHVlIGluIG9yZGVyIHRvIGF2b2lkIHN0cmFuZ2Ugc2lkZSBlZmZlY3RzLgotCSAqLwotCWlmIChtZW1zaXplID4gQUREUjJHKQotCQltZW1zaXplID0gQUREUjJHOwotI2VuZGlmCi0JaWYgKG1lbW9yeV9mYXN0X2RldGVjdCgpIDwgMCkKLQkJZmluZF9tZW1vcnlfY2h1bmtzKCh1bnNpZ25lZCBsb25nKSBtZW1zaXplKTsKKwlkZXRlY3RfbWVtb3J5X2xheW91dChtZW1vcnlfY2h1bmspOwogCWxvY2tkZXBfb24oKTsKIH0KZGlmZiAtLWdpdCBhL2FyY2gvczM5MC9rZXJuZWwvaXBsLmMgYi9hcmNoL3MzOTAva2VybmVsL2lwbC5jCmluZGV4IDUzMjU0MjQuLjU0YjI3NzkgMTAwNjQ0Ci0tLSBhL2FyY2gvczM5MC9rZXJuZWwvaXBsLmMKKysrIGIvYXJjaC9zMzkwL2tlcm5lbC9pcGwuYwpAQCAtMTQsNiArMTQsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+CiAjaW5jbHVkZSA8bGludXgvcmVib290Lmg+CiAjaW5jbHVkZSA8bGludXgvY3R5cGUuaD4KKyNpbmNsdWRlIDxsaW51eC9mcy5oPgogI2luY2x1ZGUgPGFzbS9pcGwuaD4KICNpbmNsdWRlIDxhc20vc21wLmg+CiAjaW5jbHVkZSA8YXNtL3NldHVwLmg+CkBAIC0yMiw2ICsyMyw3IEBACiAjaW5jbHVkZSA8YXNtL2ViY2RpYy5oPgogI2luY2x1ZGUgPGFzbS9yZXNldC5oPgogI2luY2x1ZGUgPGFzbS9zY2xwLmg+CisjaW5jbHVkZSA8YXNtL3NldHVwLmg+CiAKICNkZWZpbmUgSVBMX1BBUk1fQkxPQ0tfVkVSU0lPTiAwCiAKQEAgLTEyMSw2ICsxMjMsNyBAQAogCVJFSVBMX01FVEhPRF9GQ1BfUk9fVk0sCiAJUkVJUExfTUVUSE9EX0ZDUF9EVU1QLAogCVJFSVBMX01FVEhPRF9OU1MsCisJUkVJUExfTUVUSE9EX05TU19ESUFHLAogCVJFSVBMX01FVEhPRF9ERUZBVUxULAogfTsKIApAQCAtMTM0LDE0ICsxMzcsMTUgQEAKIAogc3RhdGljIGludCBkaWFnMzA4X3NldF93b3JrcyA9IDA7CiAKK3N0YXRpYyBzdHJ1Y3QgaXBsX3BhcmFtZXRlcl9ibG9jayBpcGxfYmxvY2s7CisKIHN0YXRpYyBpbnQgcmVpcGxfY2FwYWJpbGl0aWVzID0gSVBMX1RZUEVfVU5LTk9XTjsKIAogc3RhdGljIGVudW0gaXBsX3R5cGUgcmVpcGxfdHlwZSA9IElQTF9UWVBFX1VOS05PV047CiBzdGF0aWMgZW51bSBpcGxfbWV0aG9kIHJlaXBsX21ldGhvZCA9IFJFSVBMX01FVEhPRF9ERUZBVUxUOwogc3RhdGljIHN0cnVjdCBpcGxfcGFyYW1ldGVyX2Jsb2NrICpyZWlwbF9ibG9ja19mY3A7CiBzdGF0aWMgc3RydWN0IGlwbF9wYXJhbWV0ZXJfYmxvY2sgKnJlaXBsX2Jsb2NrX2NjdzsKLQotc3RhdGljIGNoYXIgcmVpcGxfbnNzX25hbWVbTlNTX05BTUVfU0laRSArIDFdOworc3RhdGljIHN0cnVjdCBpcGxfcGFyYW1ldGVyX2Jsb2NrICpyZWlwbF9ibG9ja19uc3M7CiAKIHN0YXRpYyBpbnQgZHVtcF9jYXBhYmlsaXRpZXMgPSBEVU1QX1RZUEVfTk9ORTsKIHN0YXRpYyBlbnVtIGR1bXBfdHlwZSBkdW1wX3R5cGUgPSBEVU1QX1RZUEVfTk9ORTsKQEAgLTI2Myw2ICsyNjcsNTYgQEAKIAogc3RhdGljIHN0cnVjdCBrb2JqX2F0dHJpYnV0ZSBzeXNfaXBsX3R5cGVfYXR0ciA9IF9fQVRUUl9STyhpcGxfdHlwZSk7CiAKKy8qIFZNIElQTCBQQVJNIHJvdXRpbmVzICovCitzdGF0aWMgdm9pZCByZWlwbF9nZXRfYXNjaWlfdm1wYXJtKGNoYXIgKmRlc3QsCisJCQkJICAgY29uc3Qgc3RydWN0IGlwbF9wYXJhbWV0ZXJfYmxvY2sgKmlwYikKK3sKKwlpbnQgaTsKKwlpbnQgbGVuID0gMDsKKwljaGFyIGhhc19sb3dlcmNhc2UgPSAwOworCisJaWYgKChpcGItPmlwbF9pbmZvLmNjdy52bV9mbGFncyAmIERJQUczMDhfVk1fRkxBR1NfVlBfVkFMSUQpICYmCisJICAgIChpcGItPmlwbF9pbmZvLmNjdy52bV9wYXJtX2xlbiA+IDApKSB7CisKKwkJbGVuID0gaXBiLT5pcGxfaW5mby5jY3cudm1fcGFybV9sZW47CisJCW1lbWNweShkZXN0LCBpcGItPmlwbF9pbmZvLmNjdy52bV9wYXJtLCBsZW4pOworCQkvKiBJZiBhdCBsZWFzdCBvbmUgY2hhcmFjdGVyIGlzIGxvd2VyY2FzZSwgd2UgYXNzdW1lIG1peGVkCisJCSAqIGNhc2U7IG90aGVyd2lzZSB3ZSBjb252ZXJ0IGV2ZXJ5dGhpbmcgdG8gbG93ZXJjYXNlLgorCQkgKi8KKwkJZm9yIChpID0gMDsgaSA8IGxlbjsgaSsrKQorCQkJaWYgKChkZXN0W2ldID4gMHg4MCAmJiBkZXN0W2ldIDwgMHg4YSkgfHwgLyogYS1pICovCisJCQkgICAgKGRlc3RbaV0gPiAweDkwICYmIGRlc3RbaV0gPCAweDlhKSB8fCAvKiBqLXIgKi8KKwkJCSAgICAoZGVzdFtpXSA+IDB4YTEgJiYgZGVzdFtpXSA8IDB4YWEpKSB7IC8qIHMteiAqLworCQkJCWhhc19sb3dlcmNhc2UgPSAxOworCQkJCWJyZWFrOworCQkJfQorCQlpZiAoIWhhc19sb3dlcmNhc2UpCisJCQlFQkNfVE9MT1dFUihkZXN0LCBsZW4pOworCQlFQkNBU0MoZGVzdCwgbGVuKTsKKwl9CisJZGVzdFtsZW5dID0gMDsKK30KKwordm9pZCBnZXRfaXBsX3ZtcGFybShjaGFyICpkZXN0KQoreworCWlmIChkaWFnMzA4X3NldF93b3JrcyAmJiAoaXBsX2Jsb2NrLmhkci5wYnQgPT0gRElBRzMwOF9JUExfVFlQRV9DQ1cpKQorCQlyZWlwbF9nZXRfYXNjaWlfdm1wYXJtKGRlc3QsICZpcGxfYmxvY2spOworCWVsc2UKKwkJZGVzdFswXSA9IDA7Cit9CisKK3N0YXRpYyBzc2l6ZV90IGlwbF92bV9wYXJtX3Nob3coc3RydWN0IGtvYmplY3QgKmtvYmosCisJCQkJc3RydWN0IGtvYmpfYXR0cmlidXRlICphdHRyLCBjaGFyICpwYWdlKQoreworCWNoYXIgcGFybVtESUFHMzA4X1ZNUEFSTV9TSVpFICsgMV0gPSB7fTsKKworCWdldF9pcGxfdm1wYXJtKHBhcm0pOworCXJldHVybiBzcHJpbnRmKHBhZ2UsICIlc1xuIiwgcGFybSk7Cit9CisKK3N0YXRpYyBzdHJ1Y3Qga29ial9hdHRyaWJ1dGUgc3lzX2lwbF92bV9wYXJtX2F0dHIgPQorCV9fQVRUUihwYXJtLCBTX0lSVUdPLCBpcGxfdm1fcGFybV9zaG93LCBOVUxMKTsKKwogc3RhdGljIHNzaXplX3Qgc3lzX2lwbF9kZXZpY2Vfc2hvdyhzdHJ1Y3Qga29iamVjdCAqa29iaiwKIAkJCQkgICBzdHJ1Y3Qga29ial9hdHRyaWJ1dGUgKmF0dHIsIGNoYXIgKnBhZ2UpCiB7CkBAIC0yODUsMTQgKzMzOSw4IEBACiBzdGF0aWMgc3NpemVfdCBpcGxfcGFyYW1ldGVyX3JlYWQoc3RydWN0IGtvYmplY3QgKmtvYmosIHN0cnVjdCBiaW5fYXR0cmlidXRlICphdHRyLAogCQkJCSAgY2hhciAqYnVmLCBsb2ZmX3Qgb2ZmLCBzaXplX3QgY291bnQpCiB7Ci0JdW5zaWduZWQgaW50IHNpemUgPSBJUExfUEFSTUJMT0NLX1NJWkU7Ci0KLQlpZiAob2ZmID4gc2l6ZSkKLQkJcmV0dXJuIDA7Ci0JaWYgKG9mZiArIGNvdW50ID4gc2l6ZSkKLQkJY291bnQgPSBzaXplIC0gb2ZmOwotCW1lbWNweShidWYsICh2b2lkICopSVBMX1BBUk1CTE9DS19TVEFSVCArIG9mZiwgY291bnQpOwotCXJldHVybiBjb3VudDsKKwlyZXR1cm4gbWVtb3J5X3JlYWRfZnJvbV9idWZmZXIoYnVmLCBjb3VudCwgJm9mZiwgSVBMX1BBUk1CTE9DS19TVEFSVCwKKwkJCQkJSVBMX1BBUk1CTE9DS19TSVpFKTsKIH0KIAogc3RhdGljIHN0cnVjdCBiaW5fYXR0cmlidXRlIGlwbF9wYXJhbWV0ZXJfYXR0ciA9IHsKQEAgLTMxMCwxMiArMzU4LDcgQEAKIAl1bnNpZ25lZCBpbnQgc2l6ZSA9IElQTF9QQVJNQkxPQ0tfU1RBUlQtPmlwbF9pbmZvLmZjcC5zY3BfZGF0YV9sZW47CiAJdm9pZCAqc2NwX2RhdGEgPSAmSVBMX1BBUk1CTE9DS19TVEFSVC0+aXBsX2luZm8uZmNwLnNjcF9kYXRhOwogCi0JaWYgKG9mZiA+IHNpemUpCi0JCXJldHVybiAwOwotCWlmIChvZmYgKyBjb3VudCA+IHNpemUpCi0JCWNvdW50ID0gc2l6ZSAtIG9mZjsKLQltZW1jcHkoYnVmLCBzY3BfZGF0YSArIG9mZiwgY291bnQpOwotCXJldHVybiBjb3VudDsKKwlyZXR1cm4gbWVtb3J5X3JlYWRfZnJvbV9idWZmZXIoYnVmLCBjb3VudCwgJm9mZiwgc2NwX2RhdGEsIHNpemUpOwogfQogCiBzdGF0aWMgc3RydWN0IGJpbl9hdHRyaWJ1dGUgaXBsX3NjcF9kYXRhX2F0dHIgPSB7CkBAIC0zNzAsMTUgKzQxMywyNyBAQAogc3RhdGljIHN0cnVjdCBrb2JqX2F0dHJpYnV0ZSBzeXNfaXBsX2Njd19sb2FkcGFybV9hdHRyID0KIAlfX0FUVFIobG9hZHBhcm0sIDA0NDQsIGlwbF9jY3dfbG9hZHBhcm1fc2hvdywgTlVMTCk7CiAKLXN0YXRpYyBzdHJ1Y3QgYXR0cmlidXRlICppcGxfY2N3X2F0dHJzW10gPSB7CitzdGF0aWMgc3RydWN0IGF0dHJpYnV0ZSAqaXBsX2Njd19hdHRyc192bVtdID0geworCSZzeXNfaXBsX3R5cGVfYXR0ci5hdHRyLAorCSZzeXNfaXBsX2RldmljZV9hdHRyLmF0dHIsCisJJnN5c19pcGxfY2N3X2xvYWRwYXJtX2F0dHIuYXR0ciwKKwkmc3lzX2lwbF92bV9wYXJtX2F0dHIuYXR0ciwKKwlOVUxMLAorfTsKKworc3RhdGljIHN0cnVjdCBhdHRyaWJ1dGUgKmlwbF9jY3dfYXR0cnNfbHBhcltdID0gewogCSZzeXNfaXBsX3R5cGVfYXR0ci5hdHRyLAogCSZzeXNfaXBsX2RldmljZV9hdHRyLmF0dHIsCiAJJnN5c19pcGxfY2N3X2xvYWRwYXJtX2F0dHIuYXR0ciwKIAlOVUxMLAogfTsKIAotc3RhdGljIHN0cnVjdCBhdHRyaWJ1dGVfZ3JvdXAgaXBsX2Njd19hdHRyX2dyb3VwID0gewotCS5hdHRycyA9IGlwbF9jY3dfYXR0cnMsCitzdGF0aWMgc3RydWN0IGF0dHJpYnV0ZV9ncm91cCBpcGxfY2N3X2F0dHJfZ3JvdXBfdm0gPSB7CisJLmF0dHJzID0gaXBsX2Njd19hdHRyc192bSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgYXR0cmlidXRlX2dyb3VwIGlwbF9jY3dfYXR0cl9ncm91cF9scGFyID0geworCS5hdHRycyA9IGlwbF9jY3dfYXR0cnNfbHBhcgogfTsKIAogLyogTlNTIGlwbCBkZXZpY2UgYXR0cmlidXRlcyAqLwpAQCAtMzg4LDYgKzQ0Myw4IEBACiBzdGF0aWMgc3RydWN0IGF0dHJpYnV0ZSAqaXBsX25zc19hdHRyc1tdID0gewogCSZzeXNfaXBsX3R5cGVfYXR0ci5hdHRyLAogCSZzeXNfaXBsX25zc19uYW1lX2F0dHIuYXR0ciwKKwkmc3lzX2lwbF9jY3dfbG9hZHBhcm1fYXR0ci5hdHRyLAorCSZzeXNfaXBsX3ZtX3Bhcm1fYXR0ci5hdHRyLAogCU5VTEwsCiB9OwogCkBAIC00NTAsNyArNTA3LDEyIEBACiAJfQogCXN3aXRjaCAoaXBsX2luZm8udHlwZSkgewogCWNhc2UgSVBMX1RZUEVfQ0NXOgotCQlyYyA9IHN5c2ZzX2NyZWF0ZV9ncm91cCgmaXBsX2tzZXQtPmtvYmosICZpcGxfY2N3X2F0dHJfZ3JvdXApOworCQlpZiAoTUFDSElORV9JU19WTSkKKwkJCXJjID0gc3lzZnNfY3JlYXRlX2dyb3VwKCZpcGxfa3NldC0+a29iaiwKKwkJCQkJCSZpcGxfY2N3X2F0dHJfZ3JvdXBfdm0pOworCQllbHNlCisJCQlyYyA9IHN5c2ZzX2NyZWF0ZV9ncm91cCgmaXBsX2tzZXQtPmtvYmosCisJCQkJCQkmaXBsX2Njd19hdHRyX2dyb3VwX2xwYXIpOwogCQlicmVhazsKIAljYXNlIElQTF9UWVBFX0ZDUDoKIAljYXNlIElQTF9UWVBFX0ZDUF9EVU1QOgpAQCAtNDgxLDYgKzU0Myw4MyBAQAogICogcmVpcGwgc2h1dGRvd24gYWN0aW9uOiBSZWJvb3QgTGludXggb24gc2h1dGRvd24uCiAgKi8KIAorLyogVk0gSVBMIFBBUk0gYXR0cmlidXRlcyAqLworc3RhdGljIHNzaXplX3QgcmVpcGxfZ2VuZXJpY192bXBhcm1fc2hvdyhzdHJ1Y3QgaXBsX3BhcmFtZXRlcl9ibG9jayAqaXBiLAorCQkJCQkgIGNoYXIgKnBhZ2UpCit7CisJY2hhciB2bXBhcm1bRElBRzMwOF9WTVBBUk1fU0laRSArIDFdID0ge307CisKKwlyZWlwbF9nZXRfYXNjaWlfdm1wYXJtKHZtcGFybSwgaXBiKTsKKwlyZXR1cm4gc3ByaW50ZihwYWdlLCAiJXNcbiIsIHZtcGFybSk7Cit9CisKK3N0YXRpYyBzc2l6ZV90IHJlaXBsX2dlbmVyaWNfdm1wYXJtX3N0b3JlKHN0cnVjdCBpcGxfcGFyYW1ldGVyX2Jsb2NrICppcGIsCisJCQkJCSAgc2l6ZV90IHZtcGFybV9tYXgsCisJCQkJCSAgY29uc3QgY2hhciAqYnVmLCBzaXplX3QgbGVuKQoreworCWludCBpLCBpcF9sZW47CisKKwkvKiBpZ25vcmUgdHJhaWxpbmcgbmV3bGluZSAqLworCWlwX2xlbiA9IGxlbjsKKwlpZiAoKGxlbiA+IDApICYmIChidWZbbGVuIC0gMV0gPT0gJ1xuJykpCisJCWlwX2xlbi0tOworCisJaWYgKGlwX2xlbiA+IHZtcGFybV9tYXgpCisJCXJldHVybiAtRUlOVkFMOworCisJLyogcGFybSBpcyB1c2VkIHRvIHN0b3JlIGtlcm5lbCBvcHRpb25zLCBjaGVjayBmb3IgY29tbW9uIGNoYXJzICovCisJZm9yIChpID0gMDsgaSA8IGlwX2xlbjsgaSsrKQorCQlpZiAoIShpc2FsbnVtKGJ1ZltpXSkgfHwgaXNhc2NpaShidWZbaV0pIHx8IGlzcHJpbnQoYnVmW2ldKSkpCisJCQlyZXR1cm4gLUVJTlZBTDsKKworCW1lbXNldChpcGItPmlwbF9pbmZvLmNjdy52bV9wYXJtLCAwLCBESUFHMzA4X1ZNUEFSTV9TSVpFKTsKKwlpcGItPmlwbF9pbmZvLmNjdy52bV9wYXJtX2xlbiA9IGlwX2xlbjsKKwlpZiAoaXBfbGVuID4gMCkgeworCQlpcGItPmlwbF9pbmZvLmNjdy52bV9mbGFncyB8PSBESUFHMzA4X1ZNX0ZMQUdTX1ZQX1ZBTElEOworCQltZW1jcHkoaXBiLT5pcGxfaW5mby5jY3cudm1fcGFybSwgYnVmLCBpcF9sZW4pOworCQlBU0NFQkMoaXBiLT5pcGxfaW5mby5jY3cudm1fcGFybSwgaXBfbGVuKTsKKwl9IGVsc2UgeworCQlpcGItPmlwbF9pbmZvLmNjdy52bV9mbGFncyAmPSB+RElBRzMwOF9WTV9GTEFHU19WUF9WQUxJRDsKKwl9CisKKwlyZXR1cm4gbGVuOworfQorCisvKiBOU1Mgd3JhcHBlciAqLworc3RhdGljIHNzaXplX3QgcmVpcGxfbnNzX3ZtcGFybV9zaG93KHN0cnVjdCBrb2JqZWN0ICprb2JqLAorCQkJCSAgICAgc3RydWN0IGtvYmpfYXR0cmlidXRlICphdHRyLCBjaGFyICpwYWdlKQoreworCXJldHVybiByZWlwbF9nZW5lcmljX3ZtcGFybV9zaG93KHJlaXBsX2Jsb2NrX25zcywgcGFnZSk7Cit9CisKK3N0YXRpYyBzc2l6ZV90IHJlaXBsX25zc192bXBhcm1fc3RvcmUoc3RydWN0IGtvYmplY3QgKmtvYmosCisJCQkJICAgICAgc3RydWN0IGtvYmpfYXR0cmlidXRlICphdHRyLAorCQkJCSAgICAgIGNvbnN0IGNoYXIgKmJ1Ziwgc2l6ZV90IGxlbikKK3sKKwlyZXR1cm4gcmVpcGxfZ2VuZXJpY192bXBhcm1fc3RvcmUocmVpcGxfYmxvY2tfbnNzLCA1NiwgYnVmLCBsZW4pOworfQorCisvKiBDQ1cgd3JhcHBlciAqLworc3RhdGljIHNzaXplX3QgcmVpcGxfY2N3X3ZtcGFybV9zaG93KHN0cnVjdCBrb2JqZWN0ICprb2JqLAorCQkJCSAgICAgc3RydWN0IGtvYmpfYXR0cmlidXRlICphdHRyLCBjaGFyICpwYWdlKQoreworCXJldHVybiByZWlwbF9nZW5lcmljX3ZtcGFybV9zaG93KHJlaXBsX2Jsb2NrX2NjdywgcGFnZSk7Cit9CisKK3N0YXRpYyBzc2l6ZV90IHJlaXBsX2Njd192bXBhcm1fc3RvcmUoc3RydWN0IGtvYmplY3QgKmtvYmosCisJCQkJICAgICAgc3RydWN0IGtvYmpfYXR0cmlidXRlICphdHRyLAorCQkJCSAgICAgIGNvbnN0IGNoYXIgKmJ1Ziwgc2l6ZV90IGxlbikKK3sKKwlyZXR1cm4gcmVpcGxfZ2VuZXJpY192bXBhcm1fc3RvcmUocmVpcGxfYmxvY2tfY2N3LCA2NCwgYnVmLCBsZW4pOworfQorCitzdGF0aWMgc3RydWN0IGtvYmpfYXR0cmlidXRlIHN5c19yZWlwbF9uc3Nfdm1wYXJtX2F0dHIgPQorCV9fQVRUUihwYXJtLCBTX0lSVUdPIHwgU19JV1VTUiwgcmVpcGxfbnNzX3ZtcGFybV9zaG93LAorCQkJCQlyZWlwbF9uc3Nfdm1wYXJtX3N0b3JlKTsKK3N0YXRpYyBzdHJ1Y3Qga29ial9hdHRyaWJ1dGUgc3lzX3JlaXBsX2Njd192bXBhcm1fYXR0ciA9CisJX19BVFRSKHBhcm0sIFNfSVJVR08gfCBTX0lXVVNSLCByZWlwbF9jY3dfdm1wYXJtX3Nob3csCisJCQkJCXJlaXBsX2Njd192bXBhcm1fc3RvcmUpOworCiAvKiBGQ1AgcmVpcGwgZGV2aWNlIGF0dHJpYnV0ZXMgKi8KIAogREVGSU5FX0lQTF9BVFRSX1JXKHJlaXBsX2ZjcCwgd3dwbiwgIjB4JTAxNmxseFxuIiwgIiUwMTZsbHhcbiIsCkBAIC01MTMsMjcgKzY1MiwyNiBAQAogREVGSU5FX0lQTF9BVFRSX1JXKHJlaXBsX2NjdywgZGV2aWNlLCAiMC4wLiUwNGxseFxuIiwgIjAuMC4lbGx4XG4iLAogCXJlaXBsX2Jsb2NrX2Njdy0+aXBsX2luZm8uY2N3LmRldm5vKTsKIAotc3RhdGljIHZvaWQgcmVpcGxfZ2V0X2FzY2lpX2xvYWRwYXJtKGNoYXIgKmxvYWRwYXJtKQorc3RhdGljIHZvaWQgcmVpcGxfZ2V0X2FzY2lpX2xvYWRwYXJtKGNoYXIgKmxvYWRwYXJtLAorCQkJCSAgICAgc3RydWN0IGlwbF9wYXJhbWV0ZXJfYmxvY2sgKmlicCkKIHsKLQltZW1jcHkobG9hZHBhcm0sICZyZWlwbF9ibG9ja19jY3ctPmlwbF9pbmZvLmNjdy5sb2FkX3BhcmFtLAotCSAgICAgICBMT0FEUEFSTV9MRU4pOworCW1lbWNweShsb2FkcGFybSwgaWJwLT5pcGxfaW5mby5jY3cubG9hZF9wYXJtLCBMT0FEUEFSTV9MRU4pOwogCUVCQ0FTQyhsb2FkcGFybSwgTE9BRFBBUk1fTEVOKTsKIAlsb2FkcGFybVtMT0FEUEFSTV9MRU5dID0gMDsKIAlzdHJzdHJpcChsb2FkcGFybSk7CiB9CiAKLXN0YXRpYyBzc2l6ZV90IHJlaXBsX2Njd19sb2FkcGFybV9zaG93KHN0cnVjdCBrb2JqZWN0ICprb2JqLAotCQkJCSAgICAgICBzdHJ1Y3Qga29ial9hdHRyaWJ1dGUgKmF0dHIsIGNoYXIgKnBhZ2UpCitzdGF0aWMgc3NpemVfdCByZWlwbF9nZW5lcmljX2xvYWRwYXJtX3Nob3coc3RydWN0IGlwbF9wYXJhbWV0ZXJfYmxvY2sgKmlwYiwKKwkJCQkJICAgY2hhciAqcGFnZSkKIHsKIAljaGFyIGJ1ZltMT0FEUEFSTV9MRU4gKyAxXTsKIAotCXJlaXBsX2dldF9hc2NpaV9sb2FkcGFybShidWYpOworCXJlaXBsX2dldF9hc2NpaV9sb2FkcGFybShidWYsIGlwYik7CiAJcmV0dXJuIHNwcmludGYocGFnZSwgIiVzXG4iLCBidWYpOwogfQogCi1zdGF0aWMgc3NpemVfdCByZWlwbF9jY3dfbG9hZHBhcm1fc3RvcmUoc3RydWN0IGtvYmplY3QgKmtvYmosCi0JCQkJCXN0cnVjdCBrb2JqX2F0dHJpYnV0ZSAqYXR0ciwKLQkJCQkJY29uc3QgY2hhciAqYnVmLCBzaXplX3QgbGVuKQorc3RhdGljIHNzaXplX3QgcmVpcGxfZ2VuZXJpY19sb2FkcGFybV9zdG9yZShzdHJ1Y3QgaXBsX3BhcmFtZXRlcl9ibG9jayAqaXBiLAorCQkJCQkgICAgY29uc3QgY2hhciAqYnVmLCBzaXplX3QgbGVuKQogewogCWludCBpLCBscF9sZW47CiAKQEAgLTU1MiwzNSArNjkwLDEyOCBAQAogCQlyZXR1cm4gLUVJTlZBTDsKIAl9CiAJLyogaW5pdGlhbGl6ZSBsb2FkcGFybSB3aXRoIGJsYW5rcyAqLwotCW1lbXNldCgmcmVpcGxfYmxvY2tfY2N3LT5pcGxfaW5mby5jY3cubG9hZF9wYXJhbSwgJyAnLCBMT0FEUEFSTV9MRU4pOworCW1lbXNldChpcGItPmlwbF9pbmZvLmNjdy5sb2FkX3Bhcm0sICcgJywgTE9BRFBBUk1fTEVOKTsKIAkvKiBjb3B5IGFuZCBjb252ZXJ0IHRvIGViY2RpYyAqLwotCW1lbWNweSgmcmVpcGxfYmxvY2tfY2N3LT5pcGxfaW5mby5jY3cubG9hZF9wYXJhbSwgYnVmLCBscF9sZW4pOwotCUFTQ0VCQyhyZWlwbF9ibG9ja19jY3ctPmlwbF9pbmZvLmNjdy5sb2FkX3BhcmFtLCBMT0FEUEFSTV9MRU4pOworCW1lbWNweShpcGItPmlwbF9pbmZvLmNjdy5sb2FkX3Bhcm0sIGJ1ZiwgbHBfbGVuKTsKKwlBU0NFQkMoaXBiLT5pcGxfaW5mby5jY3cubG9hZF9wYXJtLCBMT0FEUEFSTV9MRU4pOwogCXJldHVybiBsZW47CiB9CiAKLXN0YXRpYyBzdHJ1Y3Qga29ial9hdHRyaWJ1dGUgc3lzX3JlaXBsX2Njd19sb2FkcGFybV9hdHRyID0KLQlfX0FUVFIobG9hZHBhcm0sIDA2NDQsIHJlaXBsX2Njd19sb2FkcGFybV9zaG93LAotCSAgICAgICByZWlwbF9jY3dfbG9hZHBhcm1fc3RvcmUpOworLyogTlNTIHdyYXBwZXIgKi8KK3N0YXRpYyBzc2l6ZV90IHJlaXBsX25zc19sb2FkcGFybV9zaG93KHN0cnVjdCBrb2JqZWN0ICprb2JqLAorCQkJCSAgICAgICBzdHJ1Y3Qga29ial9hdHRyaWJ1dGUgKmF0dHIsIGNoYXIgKnBhZ2UpCit7CisJcmV0dXJuIHJlaXBsX2dlbmVyaWNfbG9hZHBhcm1fc2hvdyhyZWlwbF9ibG9ja19uc3MsIHBhZ2UpOworfQogCi1zdGF0aWMgc3RydWN0IGF0dHJpYnV0ZSAqcmVpcGxfY2N3X2F0dHJzW10gPSB7CitzdGF0aWMgc3NpemVfdCByZWlwbF9uc3NfbG9hZHBhcm1fc3RvcmUoc3RydWN0IGtvYmplY3QgKmtvYmosCisJCQkJCXN0cnVjdCBrb2JqX2F0dHJpYnV0ZSAqYXR0ciwKKwkJCQkJY29uc3QgY2hhciAqYnVmLCBzaXplX3QgbGVuKQoreworCXJldHVybiByZWlwbF9nZW5lcmljX2xvYWRwYXJtX3N0b3JlKHJlaXBsX2Jsb2NrX25zcywgYnVmLCBsZW4pOworfQorCisvKiBDQ1cgd3JhcHBlciAqLworc3RhdGljIHNzaXplX3QgcmVpcGxfY2N3X2xvYWRwYXJtX3Nob3coc3RydWN0IGtvYmplY3QgKmtvYmosCisJCQkJICAgICAgIHN0cnVjdCBrb2JqX2F0dHJpYnV0ZSAqYXR0ciwgY2hhciAqcGFnZSkKK3sKKwlyZXR1cm4gcmVpcGxfZ2VuZXJpY19sb2FkcGFybV9zaG93KHJlaXBsX2Jsb2NrX2NjdywgcGFnZSk7Cit9CisKK3N0YXRpYyBzc2l6ZV90IHJlaXBsX2Njd19sb2FkcGFybV9zdG9yZShzdHJ1Y3Qga29iamVjdCAqa29iaiwKKwkJCQkJc3RydWN0IGtvYmpfYXR0cmlidXRlICphdHRyLAorCQkJCQljb25zdCBjaGFyICpidWYsIHNpemVfdCBsZW4pCit7CisJcmV0dXJuIHJlaXBsX2dlbmVyaWNfbG9hZHBhcm1fc3RvcmUocmVpcGxfYmxvY2tfY2N3LCBidWYsIGxlbik7Cit9CisKK3N0YXRpYyBzdHJ1Y3Qga29ial9hdHRyaWJ1dGUgc3lzX3JlaXBsX2Njd19sb2FkcGFybV9hdHRyID0KKwlfX0FUVFIobG9hZHBhcm0sIFNfSVJVR08gfCBTX0lXVVNSLCByZWlwbF9jY3dfbG9hZHBhcm1fc2hvdywKKwkJCQkJICAgIHJlaXBsX2Njd19sb2FkcGFybV9zdG9yZSk7CisKK3N0YXRpYyBzdHJ1Y3QgYXR0cmlidXRlICpyZWlwbF9jY3dfYXR0cnNfdm1bXSA9IHsKKwkmc3lzX3JlaXBsX2Njd19kZXZpY2VfYXR0ci5hdHRyLAorCSZzeXNfcmVpcGxfY2N3X2xvYWRwYXJtX2F0dHIuYXR0ciwKKwkmc3lzX3JlaXBsX2Njd192bXBhcm1fYXR0ci5hdHRyLAorCU5VTEwsCit9OworCitzdGF0aWMgc3RydWN0IGF0dHJpYnV0ZSAqcmVpcGxfY2N3X2F0dHJzX2xwYXJbXSA9IHsKIAkmc3lzX3JlaXBsX2Njd19kZXZpY2VfYXR0ci5hdHRyLAogCSZzeXNfcmVpcGxfY2N3X2xvYWRwYXJtX2F0dHIuYXR0ciwKIAlOVUxMLAogfTsKIAotc3RhdGljIHN0cnVjdCBhdHRyaWJ1dGVfZ3JvdXAgcmVpcGxfY2N3X2F0dHJfZ3JvdXAgPSB7CitzdGF0aWMgc3RydWN0IGF0dHJpYnV0ZV9ncm91cCByZWlwbF9jY3dfYXR0cl9ncm91cF92bSA9IHsKIAkubmFtZSAgPSBJUExfQ0NXX1NUUiwKLQkuYXR0cnMgPSByZWlwbF9jY3dfYXR0cnMsCisJLmF0dHJzID0gcmVpcGxfY2N3X2F0dHJzX3ZtLAorfTsKKworc3RhdGljIHN0cnVjdCBhdHRyaWJ1dGVfZ3JvdXAgcmVpcGxfY2N3X2F0dHJfZ3JvdXBfbHBhciA9IHsKKwkubmFtZSAgPSBJUExfQ0NXX1NUUiwKKwkuYXR0cnMgPSByZWlwbF9jY3dfYXR0cnNfbHBhciwKIH07CiAKIAogLyogTlNTIHJlaXBsIGRldmljZSBhdHRyaWJ1dGVzICovCitzdGF0aWMgdm9pZCByZWlwbF9nZXRfYXNjaWlfbnNzX25hbWUoY2hhciAqZHN0LAorCQkJCSAgICAgc3RydWN0IGlwbF9wYXJhbWV0ZXJfYmxvY2sgKmlwYikKK3sKKwltZW1jcHkoZHN0LCBpcGItPmlwbF9pbmZvLmNjdy5uc3NfbmFtZSwgTlNTX05BTUVfU0laRSk7CisJRUJDQVNDKGRzdCwgTlNTX05BTUVfU0laRSk7CisJZHN0W05TU19OQU1FX1NJWkVdID0gMDsKK30KIAotREVGSU5FX0lQTF9BVFRSX1NUUl9SVyhyZWlwbF9uc3MsIG5hbWUsICIlc1xuIiwgIiVzXG4iLCByZWlwbF9uc3NfbmFtZSk7CitzdGF0aWMgc3NpemVfdCByZWlwbF9uc3NfbmFtZV9zaG93KHN0cnVjdCBrb2JqZWN0ICprb2JqLAorCQkJCSAgIHN0cnVjdCBrb2JqX2F0dHJpYnV0ZSAqYXR0ciwgY2hhciAqcGFnZSkKK3sKKwljaGFyIG5zc19uYW1lW05TU19OQU1FX1NJWkUgKyAxXSA9IHt9OworCisJcmVpcGxfZ2V0X2FzY2lpX25zc19uYW1lKG5zc19uYW1lLCByZWlwbF9ibG9ja19uc3MpOworCXJldHVybiBzcHJpbnRmKHBhZ2UsICIlc1xuIiwgbnNzX25hbWUpOworfQorCitzdGF0aWMgc3NpemVfdCByZWlwbF9uc3NfbmFtZV9zdG9yZShzdHJ1Y3Qga29iamVjdCAqa29iaiwKKwkJCQkgICAgc3RydWN0IGtvYmpfYXR0cmlidXRlICphdHRyLAorCQkJCSAgICBjb25zdCBjaGFyICpidWYsIHNpemVfdCBsZW4pCit7CisJaW50IG5zc19sZW47CisKKwkvKiBpZ25vcmUgdHJhaWxpbmcgbmV3bGluZSAqLworCW5zc19sZW4gPSBsZW47CisJaWYgKChsZW4gPiAwKSAmJiAoYnVmW2xlbiAtIDFdID09ICdcbicpKQorCQluc3NfbGVuLS07CisKKwlpZiAobnNzX2xlbiA+IE5TU19OQU1FX1NJWkUpCisJCXJldHVybiAtRUlOVkFMOworCisJbWVtc2V0KHJlaXBsX2Jsb2NrX25zcy0+aXBsX2luZm8uY2N3Lm5zc19uYW1lLCAweDQwLCBOU1NfTkFNRV9TSVpFKTsKKwlpZiAobnNzX2xlbiA+IDApIHsKKwkJcmVpcGxfYmxvY2tfbnNzLT5pcGxfaW5mby5jY3cudm1fZmxhZ3MgfD0KKwkJCURJQUczMDhfVk1fRkxBR1NfTlNTX1ZBTElEOworCQltZW1jcHkocmVpcGxfYmxvY2tfbnNzLT5pcGxfaW5mby5jY3cubnNzX25hbWUsIGJ1ZiwgbnNzX2xlbik7CisJCUFTQ0VCQyhyZWlwbF9ibG9ja19uc3MtPmlwbF9pbmZvLmNjdy5uc3NfbmFtZSwgbnNzX2xlbik7CisJCUVCQ19UT1VQUEVSKHJlaXBsX2Jsb2NrX25zcy0+aXBsX2luZm8uY2N3Lm5zc19uYW1lLCBuc3NfbGVuKTsKKwl9IGVsc2UgeworCQlyZWlwbF9ibG9ja19uc3MtPmlwbF9pbmZvLmNjdy52bV9mbGFncyAmPQorCQkJfkRJQUczMDhfVk1fRkxBR1NfTlNTX1ZBTElEOworCX0KKworCXJldHVybiBsZW47Cit9CisKK3N0YXRpYyBzdHJ1Y3Qga29ial9hdHRyaWJ1dGUgc3lzX3JlaXBsX25zc19uYW1lX2F0dHIgPQorCV9fQVRUUihuYW1lLCBTX0lSVUdPIHwgU19JV1VTUiwgcmVpcGxfbnNzX25hbWVfc2hvdywKKwkJCQkJcmVpcGxfbnNzX25hbWVfc3RvcmUpOworCitzdGF0aWMgc3RydWN0IGtvYmpfYXR0cmlidXRlIHN5c19yZWlwbF9uc3NfbG9hZHBhcm1fYXR0ciA9CisJX19BVFRSKGxvYWRwYXJtLCBTX0lSVUdPIHwgU19JV1VTUiwgcmVpcGxfbnNzX2xvYWRwYXJtX3Nob3csCisJCQkJCSAgICByZWlwbF9uc3NfbG9hZHBhcm1fc3RvcmUpOwogCiBzdGF0aWMgc3RydWN0IGF0dHJpYnV0ZSAqcmVpcGxfbnNzX2F0dHJzW10gPSB7CiAJJnN5c19yZWlwbF9uc3NfbmFtZV9hdHRyLmF0dHIsCisJJnN5c19yZWlwbF9uc3NfbG9hZHBhcm1fYXR0ci5hdHRyLAorCSZzeXNfcmVpcGxfbnNzX3ZtcGFybV9hdHRyLmF0dHIsCiAJTlVMTCwKIH07CiAKQEAgLTYxNyw3ICs4NDgsMTAgQEAKIAkJcmVpcGxfbWV0aG9kID0gUkVJUExfTUVUSE9EX0ZDUF9EVU1QOwogCQlicmVhazsKIAljYXNlIElQTF9UWVBFX05TUzoKLQkJcmVpcGxfbWV0aG9kID0gUkVJUExfTUVUSE9EX05TUzsKKwkJaWYgKGRpYWczMDhfc2V0X3dvcmtzKQorCQkJcmVpcGxfbWV0aG9kID0gUkVJUExfTUVUSE9EX05TU19ESUFHOworCQllbHNlCisJCQlyZWlwbF9tZXRob2QgPSBSRUlQTF9NRVRIT0RfTlNTOwogCQlicmVhazsKIAljYXNlIElQTF9UWVBFX1VOS05PV046CiAJCXJlaXBsX21ldGhvZCA9IFJFSVBMX01FVEhPRF9ERUZBVUxUOwpAQCAtNjU1LDExICs4ODksMzggQEAKIAogc3RhdGljIHN0cnVjdCBrc2V0ICpyZWlwbF9rc2V0OwogCitzdGF0aWMgdm9pZCBnZXRfaXBsX3N0cmluZyhjaGFyICpkc3QsIHN0cnVjdCBpcGxfcGFyYW1ldGVyX2Jsb2NrICppcGIsCisJCQkgICBjb25zdCBlbnVtIGlwbF9tZXRob2QgbSkKK3sKKwljaGFyIGxvYWRwYXJtW0xPQURQQVJNX0xFTiArIDFdID0ge307CisJY2hhciB2bXBhcm1bRElBRzMwOF9WTVBBUk1fU0laRSArIDFdID0ge307CisJY2hhciBuc3NfbmFtZVtOU1NfTkFNRV9TSVpFICsgMV0gPSB7fTsKKwlzaXplX3QgcG9zID0gMDsKKworCXJlaXBsX2dldF9hc2NpaV9sb2FkcGFybShsb2FkcGFybSwgaXBiKTsKKwlyZWlwbF9nZXRfYXNjaWlfbnNzX25hbWUobnNzX25hbWUsIGlwYik7CisJcmVpcGxfZ2V0X2FzY2lpX3ZtcGFybSh2bXBhcm0sIGlwYik7CisKKwlzd2l0Y2ggKG0pIHsKKwljYXNlIFJFSVBMX01FVEhPRF9DQ1dfVk06CisJCXBvcyA9IHNwcmludGYoZHN0LCAiSVBMICVYIENMRUFSIiwgaXBiLT5pcGxfaW5mby5jY3cuZGV2bm8pOworCQlicmVhazsKKwljYXNlIFJFSVBMX01FVEhPRF9OU1M6CisJCXBvcyA9IHNwcmludGYoZHN0LCAiSVBMICVzIiwgbnNzX25hbWUpOworCQlicmVhazsKKwlkZWZhdWx0OgorCQlicmVhazsKKwl9CisJaWYgKHN0cmxlbihsb2FkcGFybSkgPiAwKQorCQlwb3MgKz0gc3ByaW50Zihkc3QgKyBwb3MsICIgTE9BRFBBUk0gJyVzJyIsIGxvYWRwYXJtKTsKKwlpZiAoc3RybGVuKHZtcGFybSkgPiAwKQorCQlzcHJpbnRmKGRzdCArIHBvcywgIiBQQVJNICVzIiwgdm1wYXJtKTsKK30KKwogc3RhdGljIHZvaWQgcmVpcGxfcnVuKHN0cnVjdCBzaHV0ZG93bl90cmlnZ2VyICp0cmlnZ2VyKQogewogCXN0cnVjdCBjY3dfZGV2X2lkIGRldmlkOwotCXN0YXRpYyBjaGFyIGJ1ZlsxMDBdOwotCWNoYXIgbG9hZHBhcm1bTE9BRFBBUk1fTEVOICsgMV07CisJc3RhdGljIGNoYXIgYnVmWzEyOF07CiAKIAlzd2l0Y2ggKHJlaXBsX21ldGhvZCkgewogCWNhc2UgUkVJUExfTUVUSE9EX0NDV19DSU86CkBAIC02NjgsMTMgKzkyOSw3IEBACiAJCXJlaXBsX2Njd19kZXYoJmRldmlkKTsKIAkJYnJlYWs7CiAJY2FzZSBSRUlQTF9NRVRIT0RfQ0NXX1ZNOgotCQlyZWlwbF9nZXRfYXNjaWlfbG9hZHBhcm0obG9hZHBhcm0pOwotCQlpZiAoc3RybGVuKGxvYWRwYXJtKSA9PSAwKQotCQkJc3ByaW50ZihidWYsICJJUEwgJVggQ0xFQVIiLAotCQkJCXJlaXBsX2Jsb2NrX2Njdy0+aXBsX2luZm8uY2N3LmRldm5vKTsKLQkJZWxzZQotCQkJc3ByaW50ZihidWYsICJJUEwgJVggQ0xFQVIgTE9BRFBBUk0gJyVzJyIsCi0JCQkJcmVpcGxfYmxvY2tfY2N3LT5pcGxfaW5mby5jY3cuZGV2bm8sIGxvYWRwYXJtKTsKKwkJZ2V0X2lwbF9zdHJpbmcoYnVmLCByZWlwbF9ibG9ja19jY3csIFJFSVBMX01FVEhPRF9DQ1dfVk0pOwogCQlfX2NwY21kKGJ1ZiwgTlVMTCwgMCwgTlVMTCk7CiAJCWJyZWFrOwogCWNhc2UgUkVJUExfTUVUSE9EX0NDV19ESUFHOgpAQCAtNjkxLDggKzk0NiwxMiBAQAogCWNhc2UgUkVJUExfTUVUSE9EX0ZDUF9ST19WTToKIAkJX19jcGNtZCgiSVBMIiwgTlVMTCwgMCwgTlVMTCk7CiAJCWJyZWFrOworCWNhc2UgUkVJUExfTUVUSE9EX05TU19ESUFHOgorCQlkaWFnMzA4KERJQUczMDhfU0VULCByZWlwbF9ibG9ja19uc3MpOworCQlkaWFnMzA4KERJQUczMDhfSVBMLCBOVUxMKTsKKwkJYnJlYWs7CiAJY2FzZSBSRUlQTF9NRVRIT0RfTlNTOgotCQlzcHJpbnRmKGJ1ZiwgIklQTCAlcyIsIHJlaXBsX25zc19uYW1lKTsKKwkJZ2V0X2lwbF9zdHJpbmcoYnVmLCByZWlwbF9ibG9ja19uc3MsIFJFSVBMX01FVEhPRF9OU1MpOwogCQlfX2NwY21kKGJ1ZiwgTlVMTCwgMCwgTlVMTCk7CiAJCWJyZWFrOwogCWNhc2UgUkVJUExfTUVUSE9EX0RFRkFVTFQ6CkBAIC03MDcsMTYgKzk2NiwzNiBAQAogCWRpc2FibGVkX3dhaXQoKHVuc2lnbmVkIGxvbmcpIF9fYnVpbHRpbl9yZXR1cm5fYWRkcmVzcygwKSk7CiB9CiAKLXN0YXRpYyB2b2lkIF9faW5pdCByZWlwbF9wcm9iZSh2b2lkKQorc3RhdGljIHZvaWQgcmVpcGxfYmxvY2tfY2N3X2luaXQoc3RydWN0IGlwbF9wYXJhbWV0ZXJfYmxvY2sgKmlwYikKIHsKLQl2b2lkICpidWZmZXI7CisJaXBiLT5oZHIubGVuID0gSVBMX1BBUk1fQkxLX0NDV19MRU47CisJaXBiLT5oZHIudmVyc2lvbiA9IElQTF9QQVJNX0JMT0NLX1ZFUlNJT047CisJaXBiLT5oZHIuYmxrMF9sZW4gPSBJUExfUEFSTV9CTEswX0NDV19MRU47CisJaXBiLT5oZHIucGJ0ID0gRElBRzMwOF9JUExfVFlQRV9DQ1c7Cit9CiAKLQlidWZmZXIgPSAodm9pZCAqKSBnZXRfemVyb2VkX3BhZ2UoR0ZQX0tFUk5FTCk7Ci0JaWYgKCFidWZmZXIpCi0JCXJldHVybjsKLQlpZiAoZGlhZzMwOChESUFHMzA4X1NUT1JFLCBidWZmZXIpID09IERJQUczMDhfUkNfT0spCi0JCWRpYWczMDhfc2V0X3dvcmtzID0gMTsKLQlmcmVlX3BhZ2UoKHVuc2lnbmVkIGxvbmcpYnVmZmVyKTsKK3N0YXRpYyB2b2lkIHJlaXBsX2Jsb2NrX2Njd19maWxsX3Bhcm1zKHN0cnVjdCBpcGxfcGFyYW1ldGVyX2Jsb2NrICppcGIpCit7CisJLyogTE9BRFBBUk0gKi8KKwkvKiBjaGVjayBpZiByZWFkIHNjcCBpbmZvIHdvcmtlZCBhbmQgc2V0IGxvYWRwYXJtICovCisJaWYgKHNjbHBfaXBsX2luZm8uaXNfdmFsaWQpCisJCW1lbWNweShpcGItPmlwbF9pbmZvLmNjdy5sb2FkX3Bhcm0sCisJCQkJJnNjbHBfaXBsX2luZm8ubG9hZHBhcm0sIExPQURQQVJNX0xFTik7CisJZWxzZQorCQkvKiByZWFkIHNjcCBpbmZvIGZhaWxlZDogc2V0IGVtcHR5IGxvYWRwYXJtIChFQkNESUMgYmxhbmtzKSAqLworCQltZW1zZXQoaXBiLT5pcGxfaW5mby5jY3cubG9hZF9wYXJtLCAweDQwLCBMT0FEUEFSTV9MRU4pOworCWlwYi0+aGRyLmZsYWdzID0gRElBRzMwOF9GTEFHU19MUF9WQUxJRDsKKworCS8qIFZNIFBBUk0gKi8KKwlpZiAoTUFDSElORV9JU19WTSAmJiBkaWFnMzA4X3NldF93b3JrcyAmJgorCSAgICAoaXBsX2Jsb2NrLmlwbF9pbmZvLmNjdy52bV9mbGFncyAmIERJQUczMDhfVk1fRkxBR1NfVlBfVkFMSUQpKSB7CisKKwkJaXBiLT5pcGxfaW5mby5jY3cudm1fZmxhZ3MgfD0gRElBRzMwOF9WTV9GTEFHU19WUF9WQUxJRDsKKwkJaXBiLT5pcGxfaW5mby5jY3cudm1fcGFybV9sZW4gPQorCQkJCQlpcGxfYmxvY2suaXBsX2luZm8uY2N3LnZtX3Bhcm1fbGVuOworCQltZW1jcHkoaXBiLT5pcGxfaW5mby5jY3cudm1fcGFybSwKKwkJICAgICAgIGlwbF9ibG9jay5pcGxfaW5mby5jY3cudm1fcGFybSwgRElBRzMwOF9WTVBBUk1fU0laRSk7CisJfQogfQogCiBzdGF0aWMgaW50IF9faW5pdCByZWlwbF9uc3NfaW5pdCh2b2lkKQpAQCAtNzI1LDEwICsxMDA0LDMxIEBACiAKIAlpZiAoIU1BQ0hJTkVfSVNfVk0pCiAJCXJldHVybiAwOworCisJcmVpcGxfYmxvY2tfbnNzID0gKHZvaWQgKikgZ2V0X3plcm9lZF9wYWdlKEdGUF9LRVJORUwpOworCWlmICghcmVpcGxfYmxvY2tfbnNzKQorCQlyZXR1cm4gLUVOT01FTTsKKworCWlmICghZGlhZzMwOF9zZXRfd29ya3MpCisJCXN5c19yZWlwbF9uc3Nfdm1wYXJtX2F0dHIuYXR0ci5tb2RlID0gU19JUlVHTzsKKwogCXJjID0gc3lzZnNfY3JlYXRlX2dyb3VwKCZyZWlwbF9rc2V0LT5rb2JqLCAmcmVpcGxfbnNzX2F0dHJfZ3JvdXApOwogCWlmIChyYykKIAkJcmV0dXJuIHJjOwotCXN0cm5jcHkocmVpcGxfbnNzX25hbWUsIGtlcm5lbF9uc3NfbmFtZSwgTlNTX05BTUVfU0laRSArIDEpOworCisJcmVpcGxfYmxvY2tfY2N3X2luaXQocmVpcGxfYmxvY2tfbnNzKTsKKwlpZiAoaXBsX2luZm8udHlwZSA9PSBJUExfVFlQRV9OU1MpIHsKKwkJbWVtc2V0KHJlaXBsX2Jsb2NrX25zcy0+aXBsX2luZm8uY2N3Lm5zc19uYW1lLAorCQkJJyAnLCBOU1NfTkFNRV9TSVpFKTsKKwkJbWVtY3B5KHJlaXBsX2Jsb2NrX25zcy0+aXBsX2luZm8uY2N3Lm5zc19uYW1lLAorCQkJa2VybmVsX25zc19uYW1lLCBzdHJsZW4oa2VybmVsX25zc19uYW1lKSk7CisJCUFTQ0VCQyhyZWlwbF9ibG9ja19uc3MtPmlwbF9pbmZvLmNjdy5uc3NfbmFtZSwgTlNTX05BTUVfU0laRSk7CisJCXJlaXBsX2Jsb2NrX25zcy0+aXBsX2luZm8uY2N3LnZtX2ZsYWdzIHw9CisJCQlESUFHMzA4X1ZNX0ZMQUdTX05TU19WQUxJRDsKKworCQlyZWlwbF9ibG9ja19jY3dfZmlsbF9wYXJtcyhyZWlwbF9ibG9ja19uc3MpOworCX0KKwogCXJlaXBsX2NhcGFiaWxpdGllcyB8PSBJUExfVFlQRV9OU1M7CiAJcmV0dXJuIDA7CiB9CkBAIC03NDAsMjggKzEwNDAsMjcgQEAKIAlyZWlwbF9ibG9ja19jY3cgPSAodm9pZCAqKSBnZXRfemVyb2VkX3BhZ2UoR0ZQX0tFUk5FTCk7CiAJaWYgKCFyZWlwbF9ibG9ja19jY3cpCiAJCXJldHVybiAtRU5PTUVNOwotCXJjID0gc3lzZnNfY3JlYXRlX2dyb3VwKCZyZWlwbF9rc2V0LT5rb2JqLCAmcmVpcGxfY2N3X2F0dHJfZ3JvdXApOwotCWlmIChyYykgewotCQlmcmVlX3BhZ2UoKHVuc2lnbmVkIGxvbmcpcmVpcGxfYmxvY2tfY2N3KTsKLQkJcmV0dXJuIHJjOworCisJaWYgKE1BQ0hJTkVfSVNfVk0pIHsKKwkJaWYgKCFkaWFnMzA4X3NldF93b3JrcykKKwkJCXN5c19yZWlwbF9jY3dfdm1wYXJtX2F0dHIuYXR0ci5tb2RlID0gU19JUlVHTzsKKwkJcmMgPSBzeXNmc19jcmVhdGVfZ3JvdXAoJnJlaXBsX2tzZXQtPmtvYmosCisJCQkJCSZyZWlwbF9jY3dfYXR0cl9ncm91cF92bSk7CisJfSBlbHNlIHsKKwkJaWYoIWRpYWczMDhfc2V0X3dvcmtzKQorCQkJc3lzX3JlaXBsX2Njd19sb2FkcGFybV9hdHRyLmF0dHIubW9kZSA9IFNfSVJVR087CisJCXJjID0gc3lzZnNfY3JlYXRlX2dyb3VwKCZyZWlwbF9rc2V0LT5rb2JqLAorCQkJCQkmcmVpcGxfY2N3X2F0dHJfZ3JvdXBfbHBhcik7CiAJfQotCXJlaXBsX2Jsb2NrX2Njdy0+aGRyLmxlbiA9IElQTF9QQVJNX0JMS19DQ1dfTEVOOwotCXJlaXBsX2Jsb2NrX2Njdy0+aGRyLnZlcnNpb24gPSBJUExfUEFSTV9CTE9DS19WRVJTSU9OOwotCXJlaXBsX2Jsb2NrX2Njdy0+aGRyLmJsazBfbGVuID0gSVBMX1BBUk1fQkxLMF9DQ1dfTEVOOwotCXJlaXBsX2Jsb2NrX2Njdy0+aGRyLnBidCA9IERJQUczMDhfSVBMX1RZUEVfQ0NXOwotCXJlaXBsX2Jsb2NrX2Njdy0+aGRyLmZsYWdzID0gRElBRzMwOF9GTEFHU19MUF9WQUxJRDsKLQkvKiBjaGVjayBpZiByZWFkIHNjcCBpbmZvIHdvcmtlZCBhbmQgc2V0IGxvYWRwYXJtICovCi0JaWYgKHNjbHBfaXBsX2luZm8uaXNfdmFsaWQpCi0JCW1lbWNweShyZWlwbF9ibG9ja19jY3ctPmlwbF9pbmZvLmNjdy5sb2FkX3BhcmFtLAotCQkgICAgICAgJnNjbHBfaXBsX2luZm8ubG9hZHBhcm0sIExPQURQQVJNX0xFTik7Ci0JZWxzZQotCQkvKiByZWFkIHNjcCBpbmZvIGZhaWxlZDogc2V0IGVtcHR5IGxvYWRwYXJtIChFQkNESUMgYmxhbmtzKSAqLwotCQltZW1zZXQocmVpcGxfYmxvY2tfY2N3LT5pcGxfaW5mby5jY3cubG9hZF9wYXJhbSwgMHg0MCwKLQkJICAgICAgIExPQURQQVJNX0xFTik7Ci0JaWYgKCFNQUNISU5FX0lTX1ZNICYmICFkaWFnMzA4X3NldF93b3JrcykKLQkJc3lzX3JlaXBsX2Njd19sb2FkcGFybV9hdHRyLmF0dHIubW9kZSA9IFNfSVJVR087Ci0JaWYgKGlwbF9pbmZvLnR5cGUgPT0gSVBMX1RZUEVfQ0NXKQorCWlmIChyYykKKwkJcmV0dXJuIHJjOworCisJcmVpcGxfYmxvY2tfY2N3X2luaXQocmVpcGxfYmxvY2tfY2N3KTsKKwlpZiAoaXBsX2luZm8udHlwZSA9PSBJUExfVFlQRV9DQ1cpIHsKIAkJcmVpcGxfYmxvY2tfY2N3LT5pcGxfaW5mby5jY3cuZGV2bm8gPSBpcGxfZGV2bm87CisJCXJlaXBsX2Jsb2NrX2Njd19maWxsX3Bhcm1zKHJlaXBsX2Jsb2NrX2Njdyk7CisJfQorCiAJcmVpcGxfY2FwYWJpbGl0aWVzIHw9IElQTF9UWVBFX0NDVzsKIAlyZXR1cm4gMDsKIH0KQEAgLTEyOTgsNyArMTU5Nyw2IEBACiAKIHN0YXRpYyBpbnQgX19pbml0IHMzOTBfaXBsX2luaXQodm9pZCkKIHsKLQlyZWlwbF9wcm9iZSgpOwogCXNjbHBfZ2V0X2lwbF9pbmZvKCZzY2xwX2lwbF9pbmZvKTsKIAlzaHV0ZG93bl9hY3Rpb25zX2luaXQoKTsKIAlzaHV0ZG93bl90cmlnZ2Vyc19pbml0KCk7CkBAIC0xNDA1LDYgKzE3MDMsMTIgQEAKIAlhdG9taWNfbm90aWZpZXJfY2hhaW5fcmVnaXN0ZXIoJnBhbmljX25vdGlmaWVyX2xpc3QsICZvbl9wYW5pY19uYik7CiB9CiAKK3ZvaWQgX19pbml0IGlwbF91cGRhdGVfcGFyYW1ldGVycyh2b2lkKQoreworCWlmIChkaWFnMzA4KERJQUczMDhfU1RPUkUsICZpcGxfYmxvY2spID09IERJQUczMDhfUkNfT0spCisJCWRpYWczMDhfc2V0X3dvcmtzID0gMTsKK30KKwogdm9pZCBfX2luaXQgaXBsX3NhdmVfcGFyYW1ldGVycyh2b2lkKQogewogCXN0cnVjdCBjaW9faXBsaW5mbyBpcGxpbmZvOwpkaWZmIC0tZ2l0IGEvYXJjaC9zMzkwL2tlcm5lbC9rcHJvYmVzLmMgYi9hcmNoL3MzOTAva2VybmVsL2twcm9iZXMuYwppbmRleCBlZDA0ZDEzLi4yODhhZDQ5IDEwMDY0NAotLS0gYS9hcmNoL3MzOTAva2VybmVsL2twcm9iZXMuYworKysgYi9hcmNoL3MzOTAva2VybmVsL2twcm9iZXMuYwpAQCAtNDEsMTAgKzQxLDggQEAKIAlpZiAoaXNfcHJvaGliaXRlZF9vcGNvZGUoKGtwcm9iZV9vcGNvZGVfdCAqKSBwLT5hZGRyKSkKIAkJcmV0dXJuIC1FSU5WQUw7CiAKLQlpZiAoKHVuc2lnbmVkIGxvbmcpcC0+YWRkciAmIDB4MDEpIHsKLQkJcHJpbnRrKCJBdHRlbXB0IHRvIHJlZ2lzdGVyIGtwcm9iZSBhdCBhbiB1bmFsaWduZWQgYWRkcmVzc1xuIik7CisJaWYgKCh1bnNpZ25lZCBsb25nKXAtPmFkZHIgJiAweDAxKQogCQlyZXR1cm4gLUVJTlZBTDsKLQkJfQogCiAJLyogVXNlIHRoZSBnZXRfaW5zbl9zbG90KCkgZmFjaWxpdHkgZm9yIGNvcnJlY3RuZXNzICovCiAJaWYgKCEocC0+YWluc24uaW5zbiA9IGdldF9pbnNuX3Nsb3QoKSkpCmRpZmYgLS1naXQgYS9hcmNoL3MzOTAva2VybmVsL21hY2hpbmVfa2V4ZWMuYyBiL2FyY2gvczM5MC9rZXJuZWwvbWFjaGluZV9rZXhlYy5jCmluZGV4IDNjNzdkZDMuLjEzMWQ3ZWUgMTAwNjQ0Ci0tLSBhL2FyY2gvczM5MC9rZXJuZWwvbWFjaGluZV9rZXhlYy5jCisrKyBiL2FyY2gvczM5MC9rZXJuZWwvbWFjaGluZV9rZXhlYy5jCkBAIC01Miw3ICs1Miw2IEBACiAKIHZvaWQgbWFjaGluZV9zaHV0ZG93bih2b2lkKQogewotCXByaW50ayhLRVJOX0lORk8gImtleGVjOiBtYWNoaW5lX3NodXRkb3duIGNhbGxlZFxuIik7CiB9CiAKIHZvaWQgbWFjaGluZV9rZXhlYyhzdHJ1Y3Qga2ltYWdlICppbWFnZSkKZGlmZiAtLWdpdCBhL2FyY2gvczM5MC9rZXJuZWwvbWVtX2RldGVjdC5jIGIvYXJjaC9zMzkwL2tlcm5lbC9tZW1fZGV0ZWN0LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMThlZDdhYgotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvczM5MC9rZXJuZWwvbWVtX2RldGVjdC5jCkBAIC0wLDAgKzEsMTAwIEBACisvKgorICogICAgQ29weXJpZ2h0IElCTSBDb3JwLiAyMDA4CisgKiAgICBBdXRob3Iocyk6IEhlaWtvIENhcnN0ZW5zIDxoZWlrby5jYXJzdGVuc0BkZS5pYm0uY29tPgorICovCisKKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxhc20vaXBsLmg+CisjaW5jbHVkZSA8YXNtL3NjbHAuaD4KKyNpbmNsdWRlIDxhc20vc2V0dXAuaD4KKworc3RhdGljIGludCBtZW1vcnlfZmFzdF9kZXRlY3Qoc3RydWN0IG1lbV9jaHVuayAqY2h1bmspCit7CisJdW5zaWduZWQgbG9uZyB2YWwwID0gMDsKKwl1bnNpZ25lZCBsb25nIHZhbDEgPSAweGM7CisJaW50IHJjID0gLUVPUE5PVFNVUFA7CisKKwlpZiAoaXBsX2ZsYWdzICYgSVBMX05TU19WQUxJRCkKKwkJcmV0dXJuIC1FT1BOT1RTVVBQOworCWFzbSB2b2xhdGlsZSgKKwkJIglkaWFnCSUxLCUyLDB4MjYwXG4iCisJCSIwOglsaGkJJTAsMFxuIgorCQkiMTpcbiIKKwkJRVhfVEFCTEUoMGIsMWIpCisJCTogIitkIiAocmMpLCAiK2QiICh2YWwwKSwgIitkIiAodmFsMSkgOiA6ICJjYyIpOworCisJaWYgKHJjIHx8IHZhbDAgIT0gdmFsMSkKKwkJcmV0dXJuIC1FT1BOT1RTVVBQOworCWNodW5rLT5zaXplID0gdmFsMCArIDE7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbmxpbmUgaW50IHRwcm90KHVuc2lnbmVkIGxvbmcgYWRkcikKK3sKKwlpbnQgcmMgPSAtRUZBVUxUOworCisJYXNtIHZvbGF0aWxlKAorCQkiCXRwcm90CTAoJTEpLDBcbiIKKwkJIjA6CWlwbQklMFxuIgorCQkiCXNybAklMCwyOFxuIgorCQkiMTpcbiIKKwkJRVhfVEFCTEUoMGIsMWIpCisJCTogIitkIiAocmMpIDogImEiIChhZGRyKSA6ICJjYyIpOworCXJldHVybiByYzsKK30KKworI2RlZmluZSBBRERSMkcgKDFVTEwgPDwgMzEpCisKK3N0YXRpYyB2b2lkIGZpbmRfbWVtb3J5X2NodW5rcyhzdHJ1Y3QgbWVtX2NodW5rIGNodW5rW10pCit7CisJdW5zaWduZWQgbG9uZyBsb25nIG1lbXNpemUsIHJubWF4LCByem07CisJdW5zaWduZWQgbG9uZyBhZGRyID0gMCwgc2l6ZTsKKwlpbnQgaSA9IDAsIHR5cGU7CisKKwlyem0gPSBzY2xwX2dldF9yem0oKTsKKwlybm1heCA9IHNjbHBfZ2V0X3JubWF4KCk7CisJbWVtc2l6ZSA9IHJ6bSAqIHJubWF4OworCWlmICghcnptKQorCQlyem0gPSAxVUxMIDw8IDE3OworCWlmIChzaXplb2YobG9uZykgPT0gNCkgeworCQlyem0gPSBtaW4oQUREUjJHLCByem0pOworCQltZW1zaXplID0gbWVtc2l6ZSA/IG1pbihBRERSMkcsIG1lbXNpemUpIDogQUREUjJHOworCX0KKwlkbyB7CisJCXNpemUgPSAwOworCQl0eXBlID0gdHByb3QoYWRkcik7CisJCWRvIHsKKwkJCXNpemUgKz0gcnptOworCQkJaWYgKG1lbXNpemUgJiYgYWRkciArIHNpemUgPj0gbWVtc2l6ZSkKKwkJCQlicmVhazsKKwkJfSB3aGlsZSAodHlwZSA9PSB0cHJvdChhZGRyICsgc2l6ZSkpOworCQlpZiAodHlwZSA9PSBDSFVOS19SRUFEX1dSSVRFIHx8IHR5cGUgPT0gQ0hVTktfUkVBRF9PTkxZKSB7CisJCQljaHVua1tpXS5hZGRyID0gYWRkcjsKKwkJCWNodW5rW2ldLnNpemUgPSBzaXplOworCQkJY2h1bmtbaV0udHlwZSA9IHR5cGU7CisJCQlpKys7CisJCX0KKwkJYWRkciArPSBzaXplOworCX0gd2hpbGUgKGFkZHIgPCBtZW1zaXplICYmIGkgPCBNRU1PUllfQ0hVTktTKTsKK30KKwordm9pZCBkZXRlY3RfbWVtb3J5X2xheW91dChzdHJ1Y3QgbWVtX2NodW5rIGNodW5rW10pCit7CisJdW5zaWduZWQgbG9uZyBmbGFncywgY3IwOworCisJbWVtc2V0KGNodW5rLCAwLCBNRU1PUllfQ0hVTktTICogc2l6ZW9mKHN0cnVjdCBtZW1fY2h1bmspKTsKKwlpZiAobWVtb3J5X2Zhc3RfZGV0ZWN0KCZjaHVua1swXSkgPT0gMCkKKwkJcmV0dXJuOworCS8qIERpc2FibGUgSVJRcywgREFUIGFuZCBsb3cgYWRkcmVzcyBwcm90ZWN0aW9uIHNvIHRwcm90IGRvZXMgdGhlCisJICogcmlnaHQgdGhpbmcgYW5kIHdlIGRvbid0IGdldCBzY2hlZHVsZWQgYXdheSB3aXRoIGxvdyBhZGRyZXNzCisJICogcHJvdGVjdGlvbiBkaXNhYmxlZC4KKwkgKi8KKwlmbGFncyA9IF9fcmF3X2xvY2FsX2lycV9zdG5zbSgweGY4KTsKKwlfX2N0bF9zdG9yZShjcjAsIDAsIDApOworCV9fY3RsX2NsZWFyX2JpdCgwLCAyOCk7CisJZmluZF9tZW1vcnlfY2h1bmtzKGNodW5rKTsKKwlfX2N0bF9sb2FkKGNyMCwgMCwgMCk7CisJX19yYXdfbG9jYWxfaXJxX3NzbShmbGFncyk7Cit9CitFWFBPUlRfU1lNQk9MKGRldGVjdF9tZW1vcnlfbGF5b3V0KTsKZGlmZiAtLWdpdCBhL2FyY2gvczM5MC9rZXJuZWwvcHJvY2Vzcy5jIGIvYXJjaC9zMzkwL2tlcm5lbC9wcm9jZXNzLmMKaW5kZXggNzkyMDg2MS4uODVkZWZkMCAxMDA2NDQKLS0tIGEvYXJjaC9zMzkwL2tlcm5lbC9wcm9jZXNzLmMKKysrIGIvYXJjaC9zMzkwL2tlcm5lbC9wcm9jZXNzLmMKQEAgLTc1LDQ2ICs3NSwxOSBAQAogCXJldHVybiBzZi0+Z3Byc1s4XTsKIH0KIAotLyoKLSAqIE5lZWQgdG8ga25vdyBhYm91dCBDUFVzIGdvaW5nIGlkbGU/Ci0gKi8KLXN0YXRpYyBBVE9NSUNfTk9USUZJRVJfSEVBRChpZGxlX2NoYWluKTsKIERFRklORV9QRVJfQ1BVKHN0cnVjdCBzMzkwX2lkbGVfZGF0YSwgczM5MF9pZGxlKTsKIAotaW50IHJlZ2lzdGVyX2lkbGVfbm90aWZpZXIoc3RydWN0IG5vdGlmaWVyX2Jsb2NrICpuYikKLXsKLQlyZXR1cm4gYXRvbWljX25vdGlmaWVyX2NoYWluX3JlZ2lzdGVyKCZpZGxlX2NoYWluLCBuYik7Ci19Ci1FWFBPUlRfU1lNQk9MKHJlZ2lzdGVyX2lkbGVfbm90aWZpZXIpOwotCi1pbnQgdW5yZWdpc3Rlcl9pZGxlX25vdGlmaWVyKHN0cnVjdCBub3RpZmllcl9ibG9jayAqbmIpCi17Ci0JcmV0dXJuIGF0b21pY19ub3RpZmllcl9jaGFpbl91bnJlZ2lzdGVyKCZpZGxlX2NoYWluLCBuYik7Ci19Ci1FWFBPUlRfU1lNQk9MKHVucmVnaXN0ZXJfaWRsZV9ub3RpZmllcik7Ci0KIHN0YXRpYyBpbnQgczM5MF9pZGxlX2VudGVyKHZvaWQpCiB7CiAJc3RydWN0IHMzOTBfaWRsZV9kYXRhICppZGxlOwotCWludCBucl9jYWxscyA9IDA7Ci0Jdm9pZCAqaGNwdTsKLQlpbnQgcmM7CiAKLQloY3B1ID0gKHZvaWQgKikobG9uZylzbXBfcHJvY2Vzc29yX2lkKCk7Ci0JcmMgPSBfX2F0b21pY19ub3RpZmllcl9jYWxsX2NoYWluKCZpZGxlX2NoYWluLCBTMzkwX0NQVV9JRExFLCBoY3B1LCAtMSwKLQkJCQkJICAmbnJfY2FsbHMpOwotCWlmIChyYyA9PSBOT1RJRllfQkFEKSB7Ci0JCW5yX2NhbGxzLS07Ci0JCV9fYXRvbWljX25vdGlmaWVyX2NhbGxfY2hhaW4oJmlkbGVfY2hhaW4sIFMzOTBfQ1BVX05PVF9JRExFLAotCQkJCQkgICAgIGhjcHUsIG5yX2NhbGxzLCBOVUxMKTsKLQkJcmV0dXJuIHJjOwotCX0KIAlpZGxlID0gJl9fZ2V0X2NwdV92YXIoczM5MF9pZGxlKTsKIAlzcGluX2xvY2soJmlkbGUtPmxvY2spOwogCWlkbGUtPmlkbGVfY291bnQrKzsKIAlpZGxlLT5pbl9pZGxlID0gMTsKIAlpZGxlLT5pZGxlX2VudGVyID0gZ2V0X2Nsb2NrKCk7CiAJc3Bpbl91bmxvY2soJmlkbGUtPmxvY2spOworCXZ0aW1lX3N0b3BfY3B1X3RpbWVyKCk7CiAJcmV0dXJuIE5PVElGWV9PSzsKIH0KIApAQCAtMTIyLDEzICs5NSwxMiBAQAogewogCXN0cnVjdCBzMzkwX2lkbGVfZGF0YSAqaWRsZTsKIAorCXZ0aW1lX3N0YXJ0X2NwdV90aW1lcigpOwogCWlkbGUgPSAmX19nZXRfY3B1X3ZhcihzMzkwX2lkbGUpOwogCXNwaW5fbG9jaygmaWRsZS0+bG9jayk7CiAJaWRsZS0+aWRsZV90aW1lICs9IGdldF9jbG9jaygpIC0gaWRsZS0+aWRsZV9lbnRlcjsKIAlpZGxlLT5pbl9pZGxlID0gMDsKIAlzcGluX3VubG9jaygmaWRsZS0+bG9jayk7Ci0JYXRvbWljX25vdGlmaWVyX2NhbGxfY2hhaW4oJmlkbGVfY2hhaW4sIFMzOTBfQ1BVX05PVF9JRExFLAotCQkJCSAgICh2b2lkICopKGxvbmcpIHNtcF9wcm9jZXNzb3JfaWQoKSk7CiB9CiAKIGV4dGVybiB2b2lkIHMzOTBfaGFuZGxlX21jY2sodm9pZCk7CmRpZmYgLS1naXQgYS9hcmNoL3MzOTAva2VybmVsL3B0cmFjZS5jIGIvYXJjaC9zMzkwL2tlcm5lbC9wdHJhY2UuYwppbmRleCAzNTgyN2I5Li4yODE1YmZlIDEwMDY0NAotLS0gYS9hcmNoL3MzOTAva2VybmVsL3B0cmFjZS5jCisrKyBiL2FyY2gvczM5MC9rZXJuZWwvcHRyYWNlLmMKQEAgLTMzLDYgKzMzLDggQEAKICNpbmNsdWRlIDxsaW51eC9zZWN1cml0eS5oPgogI2luY2x1ZGUgPGxpbnV4L2F1ZGl0Lmg+CiAjaW5jbHVkZSA8bGludXgvc2lnbmFsLmg+CisjaW5jbHVkZSA8bGludXgvZWxmLmg+CisjaW5jbHVkZSA8bGludXgvcmVnc2V0Lmg+CiAKICNpbmNsdWRlIDxhc20vc2VnbWVudC5oPgogI2luY2x1ZGUgPGFzbS9wYWdlLmg+CkBAIC00Nyw2ICs0OSwxMSBAQAogI2luY2x1ZGUgImNvbXBhdF9wdHJhY2UuaCIKICNlbmRpZgogCitlbnVtIHMzOTBfcmVnc2V0IHsKKwlSRUdTRVRfR0VORVJBTCwKKwlSRUdTRVRfRlAsCit9OworCiBzdGF0aWMgdm9pZAogRml4UGVyUmVnaXN0ZXJzKHN0cnVjdCB0YXNrX3N0cnVjdCAqdGFzaykKIHsKQEAgLTEyNiwyNCArMTMzLDEwIEBACiAgKiBzdHJ1Y3QgdXNlciBjb250YWluIHBhZCBieXRlcyB0aGF0IHNob3VsZCBiZSByZWFkIGFzIHplcm9lcy4KICAqIExvdmVseS4uLgogICovCi1zdGF0aWMgaW50Ci1wZWVrX3VzZXIoc3RydWN0IHRhc2tfc3RydWN0ICpjaGlsZCwgYWRkcl90IGFkZHIsIGFkZHJfdCBkYXRhKQorc3RhdGljIHVuc2lnbmVkIGxvbmcgX19wZWVrX3VzZXIoc3RydWN0IHRhc2tfc3RydWN0ICpjaGlsZCwgYWRkcl90IGFkZHIpCiB7CiAJc3RydWN0IHVzZXIgKmR1bW15ID0gTlVMTDsKLQlhZGRyX3Qgb2Zmc2V0LCB0bXAsIG1hc2s7Ci0KLQkvKgotCSAqIFN0dXBpZCBnZGIgcGVla3MvcG9rZXMgdGhlIGFjY2VzcyByZWdpc3RlcnMgaW4gNjQgYml0IHdpdGgKLQkgKiBhbiBhbGlnbm1lbnQgb2YgNC4gUHJvZ3JhbW1lcnMgZnJvbSBoZWxsLi4uCi0JICovCi0JbWFzayA9IF9fQUREUl9NQVNLOwotI2lmZGVmIENPTkZJR182NEJJVAotCWlmIChhZGRyID49IChhZGRyX3QpICZkdW1teS0+cmVncy5hY3JzICYmCi0JICAgIGFkZHIgPCAoYWRkcl90KSAmZHVtbXktPnJlZ3Mub3JpZ19ncHIyKQotCQltYXNrID0gMzsKLSNlbmRpZgotCWlmICgoYWRkciAmIG1hc2spIHx8IGFkZHIgPiBzaXplb2Yoc3RydWN0IHVzZXIpIC0gX19BRERSX01BU0spCi0JCXJldHVybiAtRUlPOworCWFkZHJfdCBvZmZzZXQsIHRtcDsKIAogCWlmIChhZGRyIDwgKGFkZHJfdCkgJmR1bW15LT5yZWdzLmFjcnMpIHsKIAkJLyoKQEAgLTE5NywyNCArMTkwLDE4IEBACiAJfSBlbHNlCiAJCXRtcCA9IDA7CiAKLQlyZXR1cm4gcHV0X3VzZXIodG1wLCAoYWRkcl90IF9fdXNlciAqKSBkYXRhKTsKKwlyZXR1cm4gdG1wOwogfQogCi0vKgotICogV3JpdGUgYSB3b3JkIHRvIHRoZSB1c2VyIGFyZWEgb2YgYSBwcm9jZXNzIGF0IGxvY2F0aW9uIGFkZHIuIFRoaXMKLSAqIG9wZXJhdGlvbiBkb2VzIGhhdmUgYW4gYWRkaXRpb25hbCBwcm9ibGVtIGNvbXBhcmVkIHRvIHBlZWtfdXNlci4KLSAqIFN0b3JlcyB0byB0aGUgcHJvZ3JhbSBzdGF0dXMgd29yZCBhbmQgb24gdGhlIGZsb2F0aW5nIHBvaW50Ci0gKiBjb250cm9sIHJlZ2lzdGVyIG5lZWRzIHRvIGdldCBjaGVja2VkIGZvciB2YWxpZGl0eS4KLSAqLwogc3RhdGljIGludAotcG9rZV91c2VyKHN0cnVjdCB0YXNrX3N0cnVjdCAqY2hpbGQsIGFkZHJfdCBhZGRyLCBhZGRyX3QgZGF0YSkKK3BlZWtfdXNlcihzdHJ1Y3QgdGFza19zdHJ1Y3QgKmNoaWxkLCBhZGRyX3QgYWRkciwgYWRkcl90IGRhdGEpCiB7CiAJc3RydWN0IHVzZXIgKmR1bW15ID0gTlVMTDsKLQlhZGRyX3Qgb2Zmc2V0LCBtYXNrOworCWFkZHJfdCB0bXAsIG1hc2s7CiAKIAkvKgogCSAqIFN0dXBpZCBnZGIgcGVla3MvcG9rZXMgdGhlIGFjY2VzcyByZWdpc3RlcnMgaW4gNjQgYml0IHdpdGgKLQkgKiBhbiBhbGlnbm1lbnQgb2YgNC4gUHJvZ3JhbW1lcnMgZnJvbSBoZWxsIGluZGVlZC4uLgorCSAqIGFuIGFsaWdubWVudCBvZiA0LiBQcm9ncmFtbWVycyBmcm9tIGhlbGwuLi4KIAkgKi8KIAltYXNrID0gX19BRERSX01BU0s7CiAjaWZkZWYgQ09ORklHXzY0QklUCkBAIC0yMjUsNiArMjEyLDIxIEBACiAJaWYgKChhZGRyICYgbWFzaykgfHwgYWRkciA+IHNpemVvZihzdHJ1Y3QgdXNlcikgLSBfX0FERFJfTUFTSykKIAkJcmV0dXJuIC1FSU87CiAKKwl0bXAgPSBfX3BlZWtfdXNlcihjaGlsZCwgYWRkcik7CisJcmV0dXJuIHB1dF91c2VyKHRtcCwgKGFkZHJfdCBfX3VzZXIgKikgZGF0YSk7Cit9CisKKy8qCisgKiBXcml0ZSBhIHdvcmQgdG8gdGhlIHVzZXIgYXJlYSBvZiBhIHByb2Nlc3MgYXQgbG9jYXRpb24gYWRkci4gVGhpcworICogb3BlcmF0aW9uIGRvZXMgaGF2ZSBhbiBhZGRpdGlvbmFsIHByb2JsZW0gY29tcGFyZWQgdG8gcGVla191c2VyLgorICogU3RvcmVzIHRvIHRoZSBwcm9ncmFtIHN0YXR1cyB3b3JkIGFuZCBvbiB0aGUgZmxvYXRpbmcgcG9pbnQKKyAqIGNvbnRyb2wgcmVnaXN0ZXIgbmVlZHMgdG8gZ2V0IGNoZWNrZWQgZm9yIHZhbGlkaXR5LgorICovCitzdGF0aWMgaW50IF9fcG9rZV91c2VyKHN0cnVjdCB0YXNrX3N0cnVjdCAqY2hpbGQsIGFkZHJfdCBhZGRyLCBhZGRyX3QgZGF0YSkKK3sKKwlzdHJ1Y3QgdXNlciAqZHVtbXkgPSBOVUxMOworCWFkZHJfdCBvZmZzZXQ7CisKIAlpZiAoYWRkciA8IChhZGRyX3QpICZkdW1teS0+cmVncy5hY3JzKSB7CiAJCS8qCiAJCSAqIHBzdyBhbmQgZ3BycyBhcmUgc3RvcmVkIG9uIHRoZSBzdGFjawpAQCAtMjkyLDYgKzI5NCwyOCBAQAogCXJldHVybiAwOwogfQogCitzdGF0aWMgaW50Citwb2tlX3VzZXIoc3RydWN0IHRhc2tfc3RydWN0ICpjaGlsZCwgYWRkcl90IGFkZHIsIGFkZHJfdCBkYXRhKQoreworCXN0cnVjdCB1c2VyICpkdW1teSA9IE5VTEw7CisJYWRkcl90IG1hc2s7CisKKwkvKgorCSAqIFN0dXBpZCBnZGIgcGVla3MvcG9rZXMgdGhlIGFjY2VzcyByZWdpc3RlcnMgaW4gNjQgYml0IHdpdGgKKwkgKiBhbiBhbGlnbm1lbnQgb2YgNC4gUHJvZ3JhbW1lcnMgZnJvbSBoZWxsIGluZGVlZC4uLgorCSAqLworCW1hc2sgPSBfX0FERFJfTUFTSzsKKyNpZmRlZiBDT05GSUdfNjRCSVQKKwlpZiAoYWRkciA+PSAoYWRkcl90KSAmZHVtbXktPnJlZ3MuYWNycyAmJgorCSAgICBhZGRyIDwgKGFkZHJfdCkgJmR1bW15LT5yZWdzLm9yaWdfZ3ByMikKKwkJbWFzayA9IDM7CisjZW5kaWYKKwlpZiAoKGFkZHIgJiBtYXNrKSB8fCBhZGRyID4gc2l6ZW9mKHN0cnVjdCB1c2VyKSAtIF9fQUREUl9NQVNLKQorCQlyZXR1cm4gLUVJTzsKKworCXJldHVybiBfX3Bva2VfdXNlcihjaGlsZCwgYWRkciwgZGF0YSk7Cit9CisKIGxvbmcgYXJjaF9wdHJhY2Uoc3RydWN0IHRhc2tfc3RydWN0ICpjaGlsZCwgbG9uZyByZXF1ZXN0LCBsb25nIGFkZHIsIGxvbmcgZGF0YSkKIHsKIAlwdHJhY2VfYXJlYSBwYXJlYTsgCkBAIC0zNjcsMTggKzM5MSwxMyBAQAogLyoKICAqIFNhbWUgYXMgcGVla191c2VyIGJ1dCBmb3IgYSAzMSBiaXQgcHJvZ3JhbS4KICAqLwotc3RhdGljIGludAotcGVla191c2VyX2VtdTMxKHN0cnVjdCB0YXNrX3N0cnVjdCAqY2hpbGQsIGFkZHJfdCBhZGRyLCBhZGRyX3QgZGF0YSkKK3N0YXRpYyB1MzIgX19wZWVrX3VzZXJfY29tcGF0KHN0cnVjdCB0YXNrX3N0cnVjdCAqY2hpbGQsIGFkZHJfdCBhZGRyKQogewogCXN0cnVjdCB1c2VyMzIgKmR1bW15MzIgPSBOVUxMOwogCXBlcl9zdHJ1Y3QzMiAqZHVtbXlfcGVyMzIgPSBOVUxMOwogCWFkZHJfdCBvZmZzZXQ7CiAJX191MzIgdG1wOwogCi0JaWYgKCF0ZXN0X3RocmVhZF9mbGFnKFRJRl8zMUJJVCkgfHwKLQkgICAgKGFkZHIgJiAzKSB8fCBhZGRyID4gc2l6ZW9mKHN0cnVjdCB1c2VyKSAtIDMpCi0JCXJldHVybiAtRUlPOwotCiAJaWYgKGFkZHIgPCAoYWRkcl90KSAmZHVtbXkzMi0+cmVncy5hY3JzKSB7CiAJCS8qCiAJCSAqIHBzdyBhbmQgZ3BycyBhcmUgc3RvcmVkIG9uIHRoZSBzdGFjawpAQCAtNDM1LDI1ICs0NTQsMzIgQEAKIAl9IGVsc2UKIAkJdG1wID0gMDsKIAorCXJldHVybiB0bXA7Cit9CisKK3N0YXRpYyBpbnQgcGVla191c2VyX2NvbXBhdChzdHJ1Y3QgdGFza19zdHJ1Y3QgKmNoaWxkLAorCQkJICAgIGFkZHJfdCBhZGRyLCBhZGRyX3QgZGF0YSkKK3sKKwlfX3UzMiB0bXA7CisKKwlpZiAoIXRlc3RfdGhyZWFkX2ZsYWcoVElGXzMxQklUKSB8fAorCSAgICAoYWRkciAmIDMpIHx8IGFkZHIgPiBzaXplb2Yoc3RydWN0IHVzZXIpIC0gMykKKwkJcmV0dXJuIC1FSU87CisKKwl0bXAgPSBfX3BlZWtfdXNlcl9jb21wYXQoY2hpbGQsIGFkZHIpOwogCXJldHVybiBwdXRfdXNlcih0bXAsIChfX3UzMiBfX3VzZXIgKikgZGF0YSk7CiB9CiAKIC8qCiAgKiBTYW1lIGFzIHBva2VfdXNlciBidXQgZm9yIGEgMzEgYml0IHByb2dyYW0uCiAgKi8KLXN0YXRpYyBpbnQKLXBva2VfdXNlcl9lbXUzMShzdHJ1Y3QgdGFza19zdHJ1Y3QgKmNoaWxkLCBhZGRyX3QgYWRkciwgYWRkcl90IGRhdGEpCitzdGF0aWMgaW50IF9fcG9rZV91c2VyX2NvbXBhdChzdHJ1Y3QgdGFza19zdHJ1Y3QgKmNoaWxkLAorCQkJICAgICAgYWRkcl90IGFkZHIsIGFkZHJfdCBkYXRhKQogewogCXN0cnVjdCB1c2VyMzIgKmR1bW15MzIgPSBOVUxMOwogCXBlcl9zdHJ1Y3QzMiAqZHVtbXlfcGVyMzIgPSBOVUxMOworCV9fdTMyIHRtcCA9IChfX3UzMikgZGF0YTsKIAlhZGRyX3Qgb2Zmc2V0OwotCV9fdTMyIHRtcDsKLQotCWlmICghdGVzdF90aHJlYWRfZmxhZyhUSUZfMzFCSVQpIHx8Ci0JICAgIChhZGRyICYgMykgfHwgYWRkciA+IHNpemVvZihzdHJ1Y3QgdXNlcjMyKSAtIDMpCi0JCXJldHVybiAtRUlPOwotCi0JdG1wID0gKF9fdTMyKSBkYXRhOwogCiAJaWYgKGFkZHIgPCAoYWRkcl90KSAmZHVtbXkzMi0+cmVncy5hY3JzKSB7CiAJCS8qCkBAIC01MjgsNiArNTU0LDE2IEBACiAJcmV0dXJuIDA7CiB9CiAKK3N0YXRpYyBpbnQgcG9rZV91c2VyX2NvbXBhdChzdHJ1Y3QgdGFza19zdHJ1Y3QgKmNoaWxkLAorCQkJICAgIGFkZHJfdCBhZGRyLCBhZGRyX3QgZGF0YSkKK3sKKwlpZiAoIXRlc3RfdGhyZWFkX2ZsYWcoVElGXzMxQklUKSB8fAorCSAgICAoYWRkciAmIDMpIHx8IGFkZHIgPiBzaXplb2Yoc3RydWN0IHVzZXIzMikgLSAzKQorCQlyZXR1cm4gLUVJTzsKKworCXJldHVybiBfX3Bva2VfdXNlcl9jb21wYXQoY2hpbGQsIGFkZHIsIGRhdGEpOworfQorCiBsb25nIGNvbXBhdF9hcmNoX3B0cmFjZShzdHJ1Y3QgdGFza19zdHJ1Y3QgKmNoaWxkLCBjb21wYXRfbG9uZ190IHJlcXVlc3QsCiAJCQljb21wYXRfdWxvbmdfdCBjYWRkciwgY29tcGF0X3Vsb25nX3QgY2RhdGEpCiB7CkBAIC01MzksMTEgKzU3NSwxMSBAQAogCXN3aXRjaCAocmVxdWVzdCkgewogCWNhc2UgUFRSQUNFX1BFRUtVU1I6CiAJCS8qIHJlYWQgdGhlIHdvcmQgYXQgbG9jYXRpb24gYWRkciBpbiB0aGUgVVNFUiBhcmVhLiAqLwotCQlyZXR1cm4gcGVla191c2VyX2VtdTMxKGNoaWxkLCBhZGRyLCBkYXRhKTsKKwkJcmV0dXJuIHBlZWtfdXNlcl9jb21wYXQoY2hpbGQsIGFkZHIsIGRhdGEpOwogCiAJY2FzZSBQVFJBQ0VfUE9LRVVTUjoKIAkJLyogd3JpdGUgdGhlIHdvcmQgYXQgbG9jYXRpb24gYWRkciBpbiB0aGUgVVNFUiBhcmVhICovCi0JCXJldHVybiBwb2tlX3VzZXJfZW11MzEoY2hpbGQsIGFkZHIsIGRhdGEpOworCQlyZXR1cm4gcG9rZV91c2VyX2NvbXBhdChjaGlsZCwgYWRkciwgZGF0YSk7CiAKIAljYXNlIFBUUkFDRV9QRUVLVVNSX0FSRUE6CiAJY2FzZSBQVFJBQ0VfUE9LRVVTUl9BUkVBOgpAQCAtNTU1LDEzICs1OTEsMTMgQEAKIAkJY29waWVkID0gMDsKIAkJd2hpbGUgKGNvcGllZCA8IHBhcmVhLmxlbikgewogCQkJaWYgKHJlcXVlc3QgPT0gUFRSQUNFX1BFRUtVU1JfQVJFQSkKLQkJCQlyZXQgPSBwZWVrX3VzZXJfZW11MzEoY2hpbGQsIGFkZHIsIGRhdGEpOworCQkJCXJldCA9IHBlZWtfdXNlcl9jb21wYXQoY2hpbGQsIGFkZHIsIGRhdGEpOwogCQkJZWxzZSB7CiAJCQkJX191MzIgdXRtcDsKIAkJCQlpZiAoZ2V0X3VzZXIodXRtcCwKIAkJCQkJICAgICAoX191MzIgX19mb3JjZSBfX3VzZXIgKikgZGF0YSkpCiAJCQkJCXJldHVybiAtRUZBVUxUOwotCQkJCXJldCA9IHBva2VfdXNlcl9lbXUzMShjaGlsZCwgYWRkciwgdXRtcCk7CisJCQkJcmV0ID0gcG9rZV91c2VyX2NvbXBhdChjaGlsZCwgYWRkciwgdXRtcCk7CiAJCQl9CiAJCQlpZiAocmV0KQogCQkJCXJldHVybiByZXQ7CkBAIC02MTAsMyArNjQ2LDI0MCBAQAogCQkJCSAgICByZWdzLT5ncHJzWzJdLCByZWdzLT5vcmlnX2dwcjIsIHJlZ3MtPmdwcnNbM10sCiAJCQkJICAgIHJlZ3MtPmdwcnNbNF0sIHJlZ3MtPmdwcnNbNV0pOwogfQorCisvKgorICogdXNlcl9yZWdzZXQgZGVmaW5pdGlvbnMuCisgKi8KKworc3RhdGljIGludCBzMzkwX3JlZ3NfZ2V0KHN0cnVjdCB0YXNrX3N0cnVjdCAqdGFyZ2V0LAorCQkJIGNvbnN0IHN0cnVjdCB1c2VyX3JlZ3NldCAqcmVnc2V0LAorCQkJIHVuc2lnbmVkIGludCBwb3MsIHVuc2lnbmVkIGludCBjb3VudCwKKwkJCSB2b2lkICprYnVmLCB2b2lkIF9fdXNlciAqdWJ1ZikKK3sKKwlpZiAodGFyZ2V0ID09IGN1cnJlbnQpCisJCXNhdmVfYWNjZXNzX3JlZ3ModGFyZ2V0LT50aHJlYWQuYWNycyk7CisKKwlpZiAoa2J1ZikgeworCQl1bnNpZ25lZCBsb25nICprID0ga2J1ZjsKKwkJd2hpbGUgKGNvdW50ID4gMCkgeworCQkJKmsrKyA9IF9fcGVla191c2VyKHRhcmdldCwgcG9zKTsKKwkJCWNvdW50IC09IHNpemVvZigqayk7CisJCQlwb3MgKz0gc2l6ZW9mKCprKTsKKwkJfQorCX0gZWxzZSB7CisJCXVuc2lnbmVkIGxvbmcgX191c2VyICp1ID0gdWJ1ZjsKKwkJd2hpbGUgKGNvdW50ID4gMCkgeworCQkJaWYgKF9fcHV0X3VzZXIoX19wZWVrX3VzZXIodGFyZ2V0LCBwb3MpLCB1KyspKQorCQkJCXJldHVybiAtRUZBVUxUOworCQkJY291bnQgLT0gc2l6ZW9mKCp1KTsKKwkJCXBvcyArPSBzaXplb2YoKnUpOworCQl9CisJfQorCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHMzOTBfcmVnc19zZXQoc3RydWN0IHRhc2tfc3RydWN0ICp0YXJnZXQsCisJCQkgY29uc3Qgc3RydWN0IHVzZXJfcmVnc2V0ICpyZWdzZXQsCisJCQkgdW5zaWduZWQgaW50IHBvcywgdW5zaWduZWQgaW50IGNvdW50LAorCQkJIGNvbnN0IHZvaWQgKmtidWYsIGNvbnN0IHZvaWQgX191c2VyICp1YnVmKQoreworCWludCByYyA9IDA7CisKKwlpZiAodGFyZ2V0ID09IGN1cnJlbnQpCisJCXNhdmVfYWNjZXNzX3JlZ3ModGFyZ2V0LT50aHJlYWQuYWNycyk7CisKKwlpZiAoa2J1ZikgeworCQljb25zdCB1bnNpZ25lZCBsb25nICprID0ga2J1ZjsKKwkJd2hpbGUgKGNvdW50ID4gMCAmJiAhcmMpIHsKKwkJCXJjID0gX19wb2tlX3VzZXIodGFyZ2V0LCBwb3MsICprKyspOworCQkJY291bnQgLT0gc2l6ZW9mKCprKTsKKwkJCXBvcyArPSBzaXplb2YoKmspOworCQl9CisJfSBlbHNlIHsKKwkJY29uc3QgdW5zaWduZWQgbG9uZyAgX191c2VyICp1ID0gdWJ1ZjsKKwkJd2hpbGUgKGNvdW50ID4gMCAmJiAhcmMpIHsKKwkJCXVuc2lnbmVkIGxvbmcgd29yZDsKKwkJCXJjID0gX19nZXRfdXNlcih3b3JkLCB1KyspOworCQkJaWYgKHJjKQorCQkJCWJyZWFrOworCQkJcmMgPSBfX3Bva2VfdXNlcih0YXJnZXQsIHBvcywgd29yZCk7CisJCQljb3VudCAtPSBzaXplb2YoKnUpOworCQkJcG9zICs9IHNpemVvZigqdSk7CisJCX0KKwl9CisKKwlpZiAocmMgPT0gMCAmJiB0YXJnZXQgPT0gY3VycmVudCkKKwkJcmVzdG9yZV9hY2Nlc3NfcmVncyh0YXJnZXQtPnRocmVhZC5hY3JzKTsKKworCXJldHVybiByYzsKK30KKworc3RhdGljIGludCBzMzkwX2ZwcmVnc19nZXQoc3RydWN0IHRhc2tfc3RydWN0ICp0YXJnZXQsCisJCQkgICBjb25zdCBzdHJ1Y3QgdXNlcl9yZWdzZXQgKnJlZ3NldCwgdW5zaWduZWQgaW50IHBvcywKKwkJCSAgIHVuc2lnbmVkIGludCBjb3VudCwgdm9pZCAqa2J1Ziwgdm9pZCBfX3VzZXIgKnVidWYpCit7CisJaWYgKHRhcmdldCA9PSBjdXJyZW50KQorCQlzYXZlX2ZwX3JlZ3MoJnRhcmdldC0+dGhyZWFkLmZwX3JlZ3MpOworCisJcmV0dXJuIHVzZXJfcmVnc2V0X2NvcHlvdXQoJnBvcywgJmNvdW50LCAma2J1ZiwgJnVidWYsCisJCQkJICAgJnRhcmdldC0+dGhyZWFkLmZwX3JlZ3MsIDAsIC0xKTsKK30KKworc3RhdGljIGludCBzMzkwX2ZwcmVnc19zZXQoc3RydWN0IHRhc2tfc3RydWN0ICp0YXJnZXQsCisJCQkgICBjb25zdCBzdHJ1Y3QgdXNlcl9yZWdzZXQgKnJlZ3NldCwgdW5zaWduZWQgaW50IHBvcywKKwkJCSAgIHVuc2lnbmVkIGludCBjb3VudCwgY29uc3Qgdm9pZCAqa2J1ZiwKKwkJCSAgIGNvbnN0IHZvaWQgX191c2VyICp1YnVmKQoreworCWludCByYyA9IDA7CisKKwlpZiAodGFyZ2V0ID09IGN1cnJlbnQpCisJCXNhdmVfZnBfcmVncygmdGFyZ2V0LT50aHJlYWQuZnBfcmVncyk7CisKKwkvKiBJZiBzZXR0aW5nIEZQQywgbXVzdCB2YWxpZGF0ZSBpdCBmaXJzdC4gKi8KKwlpZiAoY291bnQgPiAwICYmIHBvcyA8IG9mZnNldG9mKHMzOTBfZnBfcmVncywgZnBycykpIHsKKwkJdTMyIGZwY1syXSA9IHsgdGFyZ2V0LT50aHJlYWQuZnBfcmVncy5mcGMsIDAgfTsKKwkJcmMgPSB1c2VyX3JlZ3NldF9jb3B5aW4oJnBvcywgJmNvdW50LCAma2J1ZiwgJnVidWYsICZmcGMsCisJCQkJCTAsIG9mZnNldG9mKHMzOTBfZnBfcmVncywgZnBycykpOworCQlpZiAocmMpCisJCQlyZXR1cm4gcmM7CisJCWlmICgoZnBjWzBdICYgfkZQQ19WQUxJRF9NQVNLKSAhPSAwIHx8IGZwY1sxXSAhPSAwKQorCQkJcmV0dXJuIC1FSU5WQUw7CisJCXRhcmdldC0+dGhyZWFkLmZwX3JlZ3MuZnBjID0gZnBjWzBdOworCX0KKworCWlmIChyYyA9PSAwICYmIGNvdW50ID4gMCkKKwkJcmMgPSB1c2VyX3JlZ3NldF9jb3B5aW4oJnBvcywgJmNvdW50LCAma2J1ZiwgJnVidWYsCisJCQkJCXRhcmdldC0+dGhyZWFkLmZwX3JlZ3MuZnBycywKKwkJCQkJb2Zmc2V0b2YoczM5MF9mcF9yZWdzLCBmcHJzKSwgLTEpOworCisJaWYgKHJjID09IDAgJiYgdGFyZ2V0ID09IGN1cnJlbnQpCisJCXJlc3RvcmVfZnBfcmVncygmdGFyZ2V0LT50aHJlYWQuZnBfcmVncyk7CisKKwlyZXR1cm4gcmM7Cit9CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgdXNlcl9yZWdzZXQgczM5MF9yZWdzZXRzW10gPSB7CisJW1JFR1NFVF9HRU5FUkFMXSA9IHsKKwkJLmNvcmVfbm90ZV90eXBlID0gTlRfUFJTVEFUVVMsCisJCS5uID0gc2l6ZW9mKHMzOTBfcmVncykgLyBzaXplb2YobG9uZyksCisJCS5zaXplID0gc2l6ZW9mKGxvbmcpLAorCQkuYWxpZ24gPSBzaXplb2YobG9uZyksCisJCS5nZXQgPSBzMzkwX3JlZ3NfZ2V0LAorCQkuc2V0ID0gczM5MF9yZWdzX3NldCwKKwl9LAorCVtSRUdTRVRfRlBdID0geworCQkuY29yZV9ub3RlX3R5cGUgPSBOVF9QUkZQUkVHLAorCQkubiA9IHNpemVvZihzMzkwX2ZwX3JlZ3MpIC8gc2l6ZW9mKGxvbmcpLAorCQkuc2l6ZSA9IHNpemVvZihsb25nKSwKKwkJLmFsaWduID0gc2l6ZW9mKGxvbmcpLAorCQkuZ2V0ID0gczM5MF9mcHJlZ3NfZ2V0LAorCQkuc2V0ID0gczM5MF9mcHJlZ3Nfc2V0LAorCX0sCit9OworCitzdGF0aWMgY29uc3Qgc3RydWN0IHVzZXJfcmVnc2V0X3ZpZXcgdXNlcl9zMzkwX3ZpZXcgPSB7CisJLm5hbWUgPSBVVFNfTUFDSElORSwKKwkuZV9tYWNoaW5lID0gRU1fUzM5MCwKKwkucmVnc2V0cyA9IHMzOTBfcmVnc2V0cywKKwkubiA9IEFSUkFZX1NJWkUoczM5MF9yZWdzZXRzKQorfTsKKworI2lmZGVmIENPTkZJR19DT01QQVQKK3N0YXRpYyBpbnQgczM5MF9jb21wYXRfcmVnc19nZXQoc3RydWN0IHRhc2tfc3RydWN0ICp0YXJnZXQsCisJCQkJY29uc3Qgc3RydWN0IHVzZXJfcmVnc2V0ICpyZWdzZXQsCisJCQkJdW5zaWduZWQgaW50IHBvcywgdW5zaWduZWQgaW50IGNvdW50LAorCQkJCXZvaWQgKmtidWYsIHZvaWQgX191c2VyICp1YnVmKQoreworCWlmICh0YXJnZXQgPT0gY3VycmVudCkKKwkJc2F2ZV9hY2Nlc3NfcmVncyh0YXJnZXQtPnRocmVhZC5hY3JzKTsKKworCWlmIChrYnVmKSB7CisJCWNvbXBhdF91bG9uZ190ICprID0ga2J1ZjsKKwkJd2hpbGUgKGNvdW50ID4gMCkgeworCQkJKmsrKyA9IF9fcGVla191c2VyX2NvbXBhdCh0YXJnZXQsIHBvcyk7CisJCQljb3VudCAtPSBzaXplb2YoKmspOworCQkJcG9zICs9IHNpemVvZigqayk7CisJCX0KKwl9IGVsc2UgeworCQljb21wYXRfdWxvbmdfdCBfX3VzZXIgKnUgPSB1YnVmOworCQl3aGlsZSAoY291bnQgPiAwKSB7CisJCQlpZiAoX19wdXRfdXNlcihfX3BlZWtfdXNlcl9jb21wYXQodGFyZ2V0LCBwb3MpLCB1KyspKQorCQkJCXJldHVybiAtRUZBVUxUOworCQkJY291bnQgLT0gc2l6ZW9mKCp1KTsKKwkJCXBvcyArPSBzaXplb2YoKnUpOworCQl9CisJfQorCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHMzOTBfY29tcGF0X3JlZ3Nfc2V0KHN0cnVjdCB0YXNrX3N0cnVjdCAqdGFyZ2V0LAorCQkJCWNvbnN0IHN0cnVjdCB1c2VyX3JlZ3NldCAqcmVnc2V0LAorCQkJCXVuc2lnbmVkIGludCBwb3MsIHVuc2lnbmVkIGludCBjb3VudCwKKwkJCQljb25zdCB2b2lkICprYnVmLCBjb25zdCB2b2lkIF9fdXNlciAqdWJ1ZikKK3sKKwlpbnQgcmMgPSAwOworCisJaWYgKHRhcmdldCA9PSBjdXJyZW50KQorCQlzYXZlX2FjY2Vzc19yZWdzKHRhcmdldC0+dGhyZWFkLmFjcnMpOworCisJaWYgKGtidWYpIHsKKwkJY29uc3QgY29tcGF0X3Vsb25nX3QgKmsgPSBrYnVmOworCQl3aGlsZSAoY291bnQgPiAwICYmICFyYykgeworCQkJcmMgPSBfX3Bva2VfdXNlcl9jb21wYXQodGFyZ2V0LCBwb3MsICprKyspOworCQkJY291bnQgLT0gc2l6ZW9mKCprKTsKKwkJCXBvcyArPSBzaXplb2YoKmspOworCQl9CisJfSBlbHNlIHsKKwkJY29uc3QgY29tcGF0X3Vsb25nX3QgIF9fdXNlciAqdSA9IHVidWY7CisJCXdoaWxlIChjb3VudCA+IDAgJiYgIXJjKSB7CisJCQljb21wYXRfdWxvbmdfdCB3b3JkOworCQkJcmMgPSBfX2dldF91c2VyKHdvcmQsIHUrKyk7CisJCQlpZiAocmMpCisJCQkJYnJlYWs7CisJCQlyYyA9IF9fcG9rZV91c2VyX2NvbXBhdCh0YXJnZXQsIHBvcywgd29yZCk7CisJCQljb3VudCAtPSBzaXplb2YoKnUpOworCQkJcG9zICs9IHNpemVvZigqdSk7CisJCX0KKwl9CisKKwlpZiAocmMgPT0gMCAmJiB0YXJnZXQgPT0gY3VycmVudCkKKwkJcmVzdG9yZV9hY2Nlc3NfcmVncyh0YXJnZXQtPnRocmVhZC5hY3JzKTsKKworCXJldHVybiByYzsKK30KKworc3RhdGljIGNvbnN0IHN0cnVjdCB1c2VyX3JlZ3NldCBzMzkwX2NvbXBhdF9yZWdzZXRzW10gPSB7CisJW1JFR1NFVF9HRU5FUkFMXSA9IHsKKwkJLmNvcmVfbm90ZV90eXBlID0gTlRfUFJTVEFUVVMsCisJCS5uID0gc2l6ZW9mKHMzOTBfY29tcGF0X3JlZ3MpIC8gc2l6ZW9mKGNvbXBhdF9sb25nX3QpLAorCQkuc2l6ZSA9IHNpemVvZihjb21wYXRfbG9uZ190KSwKKwkJLmFsaWduID0gc2l6ZW9mKGNvbXBhdF9sb25nX3QpLAorCQkuZ2V0ID0gczM5MF9jb21wYXRfcmVnc19nZXQsCisJCS5zZXQgPSBzMzkwX2NvbXBhdF9yZWdzX3NldCwKKwl9LAorCVtSRUdTRVRfRlBdID0geworCQkuY29yZV9ub3RlX3R5cGUgPSBOVF9QUkZQUkVHLAorCQkubiA9IHNpemVvZihzMzkwX2ZwX3JlZ3MpIC8gc2l6ZW9mKGNvbXBhdF9sb25nX3QpLAorCQkuc2l6ZSA9IHNpemVvZihjb21wYXRfbG9uZ190KSwKKwkJLmFsaWduID0gc2l6ZW9mKGNvbXBhdF9sb25nX3QpLAorCQkuZ2V0ID0gczM5MF9mcHJlZ3NfZ2V0LAorCQkuc2V0ID0gczM5MF9mcHJlZ3Nfc2V0LAorCX0sCit9OworCitzdGF0aWMgY29uc3Qgc3RydWN0IHVzZXJfcmVnc2V0X3ZpZXcgdXNlcl9zMzkwX2NvbXBhdF92aWV3ID0geworCS5uYW1lID0gInMzOTAiLAorCS5lX21hY2hpbmUgPSBFTV9TMzkwLAorCS5yZWdzZXRzID0gczM5MF9jb21wYXRfcmVnc2V0cywKKwkubiA9IEFSUkFZX1NJWkUoczM5MF9jb21wYXRfcmVnc2V0cykKK307CisjZW5kaWYKKworY29uc3Qgc3RydWN0IHVzZXJfcmVnc2V0X3ZpZXcgKnRhc2tfdXNlcl9yZWdzZXRfdmlldyhzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRhc2spCit7CisjaWZkZWYgQ09ORklHX0NPTVBBVAorCWlmICh0ZXN0X3Rza190aHJlYWRfZmxhZyh0YXNrLCBUSUZfMzFCSVQpKQorCQlyZXR1cm4gJnVzZXJfczM5MF9jb21wYXRfdmlldzsKKyNlbmRpZgorCXJldHVybiAmdXNlcl9zMzkwX3ZpZXc7Cit9CmRpZmYgLS1naXQgYS9hcmNoL3MzOTAva2VybmVsL3NldHVwLmMgYi9hcmNoL3MzOTAva2VybmVsL3NldHVwLmMKaW5kZXggMmJjNzBiNi4uYjM1OGUxOCAxMDA2NDQKLS0tIGEvYXJjaC9zMzkwL2tlcm5lbC9zZXR1cC5jCisrKyBiL2FyY2gvczM5MC9rZXJuZWwvc2V0dXAuYwpAQCAtNzcsNyArNzcsNyBAQAogdW5zaWduZWQgbG9uZyBlbGZfaHdjYXAgPSAwOwogY2hhciBlbGZfcGxhdGZvcm1bRUxGX1BMQVRGT1JNX1NJWkVdOwogCi1zdHJ1Y3QgbWVtX2NodW5rIF9fbWVtaW5pdGRhdGEgbWVtb3J5X2NodW5rW01FTU9SWV9DSFVOS1NdOworc3RydWN0IG1lbV9jaHVuayBfX2luaXRkYXRhIG1lbW9yeV9jaHVua1tNRU1PUllfQ0hVTktTXTsKIHZvbGF0aWxlIGludCBfX2NwdV9sb2dpY2FsX21hcFtOUl9DUFVTXTsgLyogbG9naWNhbCBjcHUgdG8gY3B1IGFkZHJlc3MgKi8KIHN0YXRpYyB1bnNpZ25lZCBsb25nIF9faW5pdGRhdGEgbWVtb3J5X2VuZDsKIApAQCAtMjA1LDEyICsyMDUsNiBAQAogCQkJU0VUX0NPTlNPTEVfU0NMUDsKICNlbmRpZgogCQl9Ci0gICAgICAgIH0gZWxzZSBpZiAoTUFDSElORV9JU19QMzkwKSB7Ci0jaWYgZGVmaW5lZChDT05GSUdfVE4zMjE1X0NPTlNPTEUpCi0JCVNFVF9DT05TT0xFXzMyMTU7Ci0jZWxpZiBkZWZpbmVkKENPTkZJR19UTjMyNzBfQ09OU09MRSkKLQkJU0VUX0NPTlNPTEVfMzI3MDsKLSNlbmRpZgogCX0gZWxzZSB7CiAjaWYgZGVmaW5lZChDT05GSUdfU0NMUF9DT05TT0xFKSB8fCBkZWZpbmVkKENPTkZJR19TQ0xQX1ZUMjIwX0NPTlNPTEUpCiAJCVNFVF9DT05TT0xFX1NDTFA7CkBAIC0yMjEsMTggKzIxNSwxNyBAQAogI2lmIGRlZmluZWQoQ09ORklHX1pGQ1BEVU1QKSB8fCBkZWZpbmVkKENPTkZJR19aRkNQRFVNUF9NT0RVTEUpCiBzdGF0aWMgdm9pZCBfX2luaXQgc2V0dXBfemZjcGR1bXAodW5zaWduZWQgaW50IGNvbnNvbGVfZGV2bm8pCiB7Ci0Jc3RhdGljIGNoYXIgc3RyWzY0XTsKKwlzdGF0aWMgY2hhciBzdHJbNDFdOwogCiAJaWYgKGlwbF9pbmZvLnR5cGUgIT0gSVBMX1RZUEVfRkNQX0RVTVApCiAJCXJldHVybjsKIAlpZiAoY29uc29sZV9kZXZubyAhPSAtMSkKLQkJc3ByaW50ZihzdHIsICJjaW9faWdub3JlPWFsbCwhMC4wLiUwNHgsITAuMC4lMDR4IiwKKwkJc3ByaW50ZihzdHIsICIgY2lvX2lnbm9yZT1hbGwsITAuMC4lMDR4LCEwLjAuJTA0eCIsCiAJCQlpcGxfaW5mby5kYXRhLmZjcC5kZXZfaWQuZGV2bm8sIGNvbnNvbGVfZGV2bm8pOwogCWVsc2UKLQkJc3ByaW50ZihzdHIsICJjaW9faWdub3JlPWFsbCwhMC4wLiUwNHgiLAorCQlzcHJpbnRmKHN0ciwgIiBjaW9faWdub3JlPWFsbCwhMC4wLiUwNHgiLAogCQkJaXBsX2luZm8uZGF0YS5mY3AuZGV2X2lkLmRldm5vKTsKLQlzdHJjYXQoQ09NTUFORF9MSU5FLCAiICIpOwotCXN0cmNhdChDT01NQU5EX0xJTkUsIHN0cik7CisJc3RyY2F0KGJvb3RfY29tbWFuZF9saW5lLCBzdHIpOwogCWNvbnNvbGVfbG9nbGV2ZWwgPSAyOwogfQogI2Vsc2UKQEAgLTI4OSwzMiArMjgyLDYgQEAKIH0KIGVhcmx5X3BhcmFtKCJtZW0iLCBlYXJseV9wYXJzZV9tZW0pOwogCi0vKgotICogImlwbGRlbGF5PVhYWFtzbV0iIHNldHMgaXBsIGRlbGF5IGluIHNlY29uZHMgb3IgbWludXRlcwotICovCi1zdGF0aWMgaW50IF9faW5pdCBlYXJseV9wYXJzZV9pcGxkZWxheShjaGFyICpwKQotewotCXVuc2lnbmVkIGxvbmcgZGVsYXkgPSAwOwotCi0JZGVsYXkgPSBzaW1wbGVfc3RydG91bChwLCAmcCwgMCk7Ci0KLQlzd2l0Y2ggKCpwKSB7Ci0JY2FzZSAncyc6Ci0JY2FzZSAnUyc6Ci0JCWRlbGF5ICo9IDEwMDAwMDA7Ci0JCWJyZWFrOwotCWNhc2UgJ20nOgotCWNhc2UgJ00nOgotCQlkZWxheSAqPSA2MCAqIDEwMDAwMDA7Ci0JfQotCi0JLyogbm93IHdhaXQgZm9yIHRoZSByZXF1ZXN0ZWQgYW1vdW50IG9mIHRpbWUgKi8KLQl1ZGVsYXkoZGVsYXkpOwotCi0JcmV0dXJuIDA7Ci19Ci1lYXJseV9wYXJhbSgiaXBsZGVsYXkiLCBlYXJseV9wYXJzZV9pcGxkZWxheSk7Ci0KICNpZmRlZiBDT05GSUdfUzM5MF9TV0lUQ0hfQU1PREUKICNpZmRlZiBDT05GSUdfUEdTVEUKIHVuc2lnbmVkIGludCBzd2l0Y2hfYW1vZGUgPSAxOwpAQCAtODA0LDExICs3NzEsOSBAQAogCQlwcmludGsoIldlIGFyZSBydW5uaW5nIG5hdGl2ZSAoNjQgYml0IG1vZGUpXG4iKTsKICNlbmRpZiAvKiBDT05GSUdfNjRCSVQgKi8KIAotCS8qIFNhdmUgdW5wYXJzZWQgY29tbWFuZCBsaW5lIGNvcHkgZm9yIC9wcm9jL2NtZGxpbmUgKi8KLQlzdHJsY3B5KGJvb3RfY29tbWFuZF9saW5lLCBDT01NQU5EX0xJTkUsIENPTU1BTkRfTElORV9TSVpFKTsKLQotCSpjbWRsaW5lX3AgPSBDT01NQU5EX0xJTkU7Ci0JKigqY21kbGluZV9wICsgQ09NTUFORF9MSU5FX1NJWkUgLSAxKSA9ICdcMCc7CisJLyogSGF2ZSBvbmUgY29tbWFuZCBsaW5lIHRoYXQgaXMgcGFyc2VkIGFuZCBzYXZlZCBpbiAvcHJvYy9jbWRsaW5lICovCisJLyogYm9vdF9jb21tYW5kX2xpbmUgaGFzIGJlZW4gYWxyZWFkeSBzZXQgdXAgaW4gZWFybHkuYyAqLworCSpjbWRsaW5lX3AgPSBib290X2NvbW1hbmRfbGluZTsKIAogICAgICAgICBST09UX0RFViA9IFJvb3RfUkFNMDsKIApkaWZmIC0tZ2l0IGEvYXJjaC9zMzkwL2tlcm5lbC9zdGFja3RyYWNlLmMgYi9hcmNoL3MzOTAva2VybmVsL3N0YWNrdHJhY2UuYwppbmRleCA4NWU0NmE1Li41NzU3MWYxIDEwMDY0NAotLS0gYS9hcmNoL3MzOTAva2VybmVsL3N0YWNrdHJhY2UuYworKysgYi9hcmNoL3MzOTAva2VybmVsL3N0YWNrdHJhY2UuYwpAQCAtODEsNiArODEsNyBAQAogCQkJICAgUzM5MF9sb3djb3JlLnRocmVhZF9pbmZvLAogCQkJICAgUzM5MF9sb3djb3JlLnRocmVhZF9pbmZvICsgVEhSRUFEX1NJWkUsIDEpOwogfQorRVhQT1JUX1NZTUJPTF9HUEwoc2F2ZV9zdGFja190cmFjZSk7CiAKIHZvaWQgc2F2ZV9zdGFja190cmFjZV90c2soc3RydWN0IHRhc2tfc3RydWN0ICp0c2ssIHN0cnVjdCBzdGFja190cmFjZSAqdHJhY2UpCiB7CkBAIC05MywzICs5NCw0IEBACiAJaWYgKHRyYWNlLT5ucl9lbnRyaWVzIDwgdHJhY2UtPm1heF9lbnRyaWVzKQogCQl0cmFjZS0+ZW50cmllc1t0cmFjZS0+bnJfZW50cmllcysrXSA9IFVMT05HX01BWDsKIH0KK0VYUE9SVF9TWU1CT0xfR1BMKHNhdmVfc3RhY2tfdHJhY2VfdHNrKTsKZGlmZiAtLWdpdCBhL2FyY2gvczM5MC9rZXJuZWwvdGltZS5jIGIvYXJjaC9zMzkwL2tlcm5lbC90aW1lLmMKaW5kZXggN2FlYzY3Ni4uNzQxOGJlYiAxMDA2NDQKLS0tIGEvYXJjaC9zMzkwL2tlcm5lbC90aW1lLmMKKysrIGIvYXJjaC9zMzkwL2tlcm5lbC90aW1lLmMKQEAgLTMsNyArMyw3IEBACiAgKiAgICBUaW1lIG9mIGRheSBiYXNlZCB0aW1lciBmdW5jdGlvbnMuCiAgKgogICogIFMzOTAgdmVyc2lvbgotICogICAgQ29weXJpZ2h0IChDKSAxOTk5IElCTSBEZXV0c2NobGFuZCBFbnR3aWNrbHVuZyBHbWJILCBJQk0gQ29ycG9yYXRpb24KKyAqICAgIENvcHlyaWdodCBJQk0gQ29ycC4gMTk5OSwgMjAwOAogICogICAgQXV0aG9yKHMpOiBIYXJ0bXV0IFBlbm5lciAoaHBAZGUuaWJtLmNvbSksCiAgKiAgICAgICAgICAgICAgIE1hcnRpbiBTY2h3aWRlZnNreSAoc2Nod2lkZWZza3lAZGUuaWJtLmNvbSksCiAgKiAgICAgICAgICAgICAgIERlbmlzIEpvc2VwaCBCYXJyb3cgKGRqYmFycm93QGRlLmlibS5jb20sYmFycm93X2RqQHlhaG9vLmNvbSkKQEAgLTMxLDYgKzMxLDcgQEAKICNpbmNsdWRlIDxsaW51eC9ub3RpZmllci5oPgogI2luY2x1ZGUgPGxpbnV4L2Nsb2Nrc291cmNlLmg+CiAjaW5jbHVkZSA8bGludXgvY2xvY2tjaGlwcy5oPgorI2luY2x1ZGUgPGxpbnV4L2Jvb3RtZW0uaD4KICNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgogI2luY2x1ZGUgPGFzbS9kZWxheS5oPgogI2luY2x1ZGUgPGFzbS9zMzkwX2V4dC5oPgpAQCAtMTYyLDcgKzE2Myw3IEBACiAJLyogRW5hYmxlIGNsb2NrIGNvbXBhcmF0b3IgdGltZXIgaW50ZXJydXB0LiAqLwogCV9fY3RsX3NldF9iaXQoMCwxMSk7CiAKLQkvKiBBbHdheXMgYWxsb3cgRVRSIGV4dGVybmFsIGludGVycnVwdHMsIGV2ZW4gd2l0aG91dCBhbiBFVFIuICovCisJLyogQWx3YXlzIGFsbG93IHRoZSB0aW1pbmcgYWxlcnQgZXh0ZXJuYWwgaW50ZXJydXB0LiAqLwogCV9fY3RsX3NldF9iaXQoMCwgNCk7CiB9CiAKQEAgLTE3MCw4ICsxNzEsMjEgQEAKIHsKIH0KIAorc3RhdGljIHZvaWQgZXRyX3RpbWluZ19hbGVydChzdHJ1Y3QgZXRyX2lycV9wYXJtICopOworc3RhdGljIHZvaWQgc3RwX3RpbWluZ19hbGVydChzdHJ1Y3Qgc3RwX2lycV9wYXJtICopOworCitzdGF0aWMgdm9pZCB0aW1pbmdfYWxlcnRfaW50ZXJydXB0KF9fdTE2IGNvZGUpCit7CisJaWYgKFMzOTBfbG93Y29yZS5leHRfcGFyYW1zICYgMHgwMGM0MDAwMCkKKwkJZXRyX3RpbWluZ19hbGVydCgoc3RydWN0IGV0cl9pcnFfcGFybSAqKQorCQkJCSAmUzM5MF9sb3djb3JlLmV4dF9wYXJhbXMpOworCWlmIChTMzkwX2xvd2NvcmUuZXh0X3BhcmFtcyAmIDB4MDAwMzgwMDApCisJCXN0cF90aW1pbmdfYWxlcnQoKHN0cnVjdCBzdHBfaXJxX3Bhcm0gKikKKwkJCQkgJlMzOTBfbG93Y29yZS5leHRfcGFyYW1zKTsKK30KKwogc3RhdGljIHZvaWQgZXRyX3Jlc2V0KHZvaWQpOwotc3RhdGljIHZvaWQgZXRyX2V4dF9oYW5kbGVyKF9fdTE2KTsKK3N0YXRpYyB2b2lkIHN0cF9yZXNldCh2b2lkKTsKIAogLyoKICAqIEdldCB0aGUgVE9EIGNsb2NrIHJ1bm5pbmcuCkBAIC0xODEsNiArMTk1LDcgQEAKIAl1NjQgdGltZTsKIAogCWV0cl9yZXNldCgpOworCXN0cF9yZXNldCgpOwogCWlmIChzdG9yZV9jbG9jaygmdGltZSkgPT0gMCkKIAkJcmV0dXJuIHRpbWU7CiAJLyogVE9EIGNsb2NrIG5vdCBydW5uaW5nLiBTZXQgdGhlIGNsb2NrIHRvIFVuaXggRXBvY2guICovCkBAIC0yMzEsOCArMjQ2LDkgQEAKIAlpZiAoY2xvY2tzb3VyY2VfcmVnaXN0ZXIoJmNsb2Nrc291cmNlX3RvZCkgIT0gMCkKIAkJcGFuaWMoIkNvdWxkIG5vdCByZWdpc3RlciBUT0QgY2xvY2sgc291cmNlIik7CiAKLQkvKiByZXF1ZXN0IHRoZSBldHIgZXh0ZXJuYWwgaW50ZXJydXB0ICovCi0JaWYgKHJlZ2lzdGVyX2Vhcmx5X2V4dGVybmFsX2ludGVycnVwdCgweDE0MDYsIGV0cl9leHRfaGFuZGxlciwKKwkvKiByZXF1ZXN0IHRoZSB0aW1pbmcgYWxlcnQgZXh0ZXJuYWwgaW50ZXJydXB0ICovCisJaWYgKHJlZ2lzdGVyX2Vhcmx5X2V4dGVybmFsX2ludGVycnVwdCgweDE0MDYsCisJCQkJCSAgICAgIHRpbWluZ19hbGVydF9pbnRlcnJ1cHQsCiAJCQkJCSAgICAgICZleHRfaW50X2V0cl9jYykgIT0gMCkKIAkJcGFuaWMoIkNvdWxkbid0IHJlcXVlc3QgZXh0ZXJuYWwgaW50ZXJydXB0IDB4MTQwNiIpOwogCkBAIC0yNDUsMTAgKzI2MSwxMTIgQEAKIH0KIAogLyoKKyAqIFRoZSB0aW1lIGlzICJjbG9jayIuIG9sZCBpcyB3aGF0IHdlIHRoaW5rIHRoZSB0aW1lIGlzLgorICogQWRqdXN0IHRoZSB2YWx1ZSBieSBhIG11bHRpcGxlIG9mIGppZmZpZXMgYW5kIGFkZCB0aGUgZGVsdGEgdG8gbnRwLgorICogImRlbGF5IiBpcyBhbiBhcHByb3hpbWF0aW9uIGhvdyBsb25nIHRoZSBzeW5jaHJvbml6YXRpb24gdG9vay4gSWYKKyAqIHRoZSB0aW1lIGNvcnJlY3Rpb24gaXMgcG9zaXRpdmUsIHRoZW4gImRlbGF5IiBpcyBzdWJ0cmFjdGVkIGZyb20KKyAqIHRoZSB0aW1lIGRpZmZlcmVuY2UgYW5kIG9ubHkgdGhlIHJlbWFpbmluZyBwYXJ0IGlzIHBhc3NlZCB0byBudHAuCisgKi8KK3N0YXRpYyB1bnNpZ25lZCBsb25nIGxvbmcgYWRqdXN0X3RpbWUodW5zaWduZWQgbG9uZyBsb25nIG9sZCwKKwkJCQkgICAgICB1bnNpZ25lZCBsb25nIGxvbmcgY2xvY2ssCisJCQkJICAgICAgdW5zaWduZWQgbG9uZyBsb25nIGRlbGF5KQoreworCXVuc2lnbmVkIGxvbmcgbG9uZyBkZWx0YSwgdGlja3M7CisJc3RydWN0IHRpbWV4IGFkanVzdDsKKworCWlmIChjbG9jayA+IG9sZCkgeworCQkvKiBJdCBpcyBsYXRlciB0aGFuIHdlIHRob3VnaHQuICovCisJCWRlbHRhID0gdGlja3MgPSBjbG9jayAtIG9sZDsKKwkJZGVsdGEgPSB0aWNrcyA9IChkZWx0YSA8IGRlbGF5KSA/IDAgOiBkZWx0YSAtIGRlbGF5OworCQlkZWx0YSAtPSBkb19kaXYodGlja3MsIENMS19USUNLU19QRVJfSklGRlkpOworCQlhZGp1c3Qub2Zmc2V0ID0gdGlja3MgKiAoMTAwMDAwMCAvIEhaKTsKKwl9IGVsc2UgeworCQkvKiBJdCBpcyBlYXJsaWVyIHRoYW4gd2UgdGhvdWdodC4gKi8KKwkJZGVsdGEgPSB0aWNrcyA9IG9sZCAtIGNsb2NrOworCQlkZWx0YSAtPSBkb19kaXYodGlja3MsIENMS19USUNLU19QRVJfSklGRlkpOworCQlkZWx0YSA9IC1kZWx0YTsKKwkJYWRqdXN0Lm9mZnNldCA9IC10aWNrcyAqICgxMDAwMDAwIC8gSFopOworCX0KKwlqaWZmaWVzX3RpbWVyX2NjICs9IGRlbHRhOworCWlmIChhZGp1c3Qub2Zmc2V0ICE9IDApIHsKKwkJcHJpbnRrKEtFUk5fTk9USUNFICJldHI6IHRpbWUgYWRqdXN0ZWQgYnkgJWxpIG1pY3JvLXNlY29uZHNcbiIsCisJCSAgICAgICBhZGp1c3Qub2Zmc2V0KTsKKwkJYWRqdXN0Lm1vZGVzID0gQURKX09GRlNFVF9TSU5HTEVTSE9UOworCQlkb19hZGp0aW1leCgmYWRqdXN0KTsKKwl9CisJcmV0dXJuIGRlbHRhOworfQorCitzdGF0aWMgREVGSU5FX1BFUl9DUFUoYXRvbWljX3QsIGNsb2NrX3N5bmNfd29yZCk7CitzdGF0aWMgdW5zaWduZWQgbG9uZyBjbG9ja19zeW5jX2ZsYWdzOworCisjZGVmaW5lIENMT0NLX1NZTkNfSEFTX0VUUgkwCisjZGVmaW5lIENMT0NLX1NZTkNfSEFTX1NUUAkxCisjZGVmaW5lIENMT0NLX1NZTkNfRVRSCQkyCisjZGVmaW5lIENMT0NLX1NZTkNfU1RQCQkzCisKKy8qCisgKiBUaGUgc3luY2hyb25vdXMgZ2V0X2Nsb2NrIGZ1bmN0aW9uLiBJdCB3aWxsIHdyaXRlIHRoZSBjdXJyZW50IGNsb2NrCisgKiB2YWx1ZSB0byB0aGUgY2xvY2sgcG9pbnRlciBhbmQgcmV0dXJuIDAgaWYgdGhlIGNsb2NrIGlzIGluIHN5bmMgd2l0aAorICogdGhlIGV4dGVybmFsIHRpbWUgc291cmNlLiBJZiB0aGUgY2xvY2sgbW9kZSBpcyBsb2NhbCBpdCB3aWxsIHJldHVybgorICogLUVOT1NZUyBhbmQgLUVBR0FJTiBpZiB0aGUgY2xvY2sgaXMgbm90IGluIHN5bmMgd2l0aCB0aGUgZXh0ZXJuYWwKKyAqIHJlZmVyZW5jZS4KKyAqLworaW50IGdldF9zeW5jX2Nsb2NrKHVuc2lnbmVkIGxvbmcgbG9uZyAqY2xvY2spCit7CisJYXRvbWljX3QgKnN3X3B0cjsKKwl1bnNpZ25lZCBpbnQgc3cwLCBzdzE7CisKKwlzd19wdHIgPSAmZ2V0X2NwdV92YXIoY2xvY2tfc3luY193b3JkKTsKKwlzdzAgPSBhdG9taWNfcmVhZChzd19wdHIpOworCSpjbG9jayA9IGdldF9jbG9jaygpOworCXN3MSA9IGF0b21pY19yZWFkKHN3X3B0cik7CisJcHV0X2NwdV92YXIoY2xvY2tfc3luY19zeW5jKTsKKwlpZiAoc3cwID09IHN3MSAmJiAoc3cwICYgMHg4MDAwMDAwMFUpKQorCQkvKiBTdWNjZXNzOiB0aW1lIGlzIGluIHN5bmMuICovCisJCXJldHVybiAwOworCWlmICghdGVzdF9iaXQoQ0xPQ0tfU1lOQ19IQVNfRVRSLCAmY2xvY2tfc3luY19mbGFncykgJiYKKwkgICAgIXRlc3RfYml0KENMT0NLX1NZTkNfSEFTX1NUUCwgJmNsb2NrX3N5bmNfZmxhZ3MpKQorCQlyZXR1cm4gLUVOT1NZUzsKKwlpZiAoIXRlc3RfYml0KENMT0NLX1NZTkNfRVRSLCAmY2xvY2tfc3luY19mbGFncykgJiYKKwkgICAgIXRlc3RfYml0KENMT0NLX1NZTkNfU1RQLCAmY2xvY2tfc3luY19mbGFncykpCisJCXJldHVybiAtRUFDQ0VTOworCXJldHVybiAtRUFHQUlOOworfQorRVhQT1JUX1NZTUJPTChnZXRfc3luY19jbG9jayk7CisKKy8qCisgKiBNYWtlIGdldF9zeW5jX2Nsb2NrIHJldHVybiAtRUFHQUlOLgorICovCitzdGF0aWMgdm9pZCBkaXNhYmxlX3N5bmNfY2xvY2sodm9pZCAqZHVtbXkpCit7CisJYXRvbWljX3QgKnN3X3B0ciA9ICZfX2dldF9jcHVfdmFyKGNsb2NrX3N5bmNfd29yZCk7CisJLyoKKwkgKiBDbGVhciB0aGUgaW4tc3luYyBiaXQgMl4zMS4gQWxsIGdldF9zeW5jX2Nsb2NrIGNhbGxzIHdpbGwKKwkgKiBmYWlsIHVudGlsIHRoZSBzeW5jIGJpdCBpcyB0dXJuZWQgYmFjayBvbi4gSW4gYWRkaXRpb24KKwkgKiBpbmNyZWFzZSB0aGUgInNlcXVlbmNlIiBjb3VudGVyIHRvIGF2b2lkIHRoZSByYWNlIG9mIGFuCisJICogZXRyIGV2ZW50IGFuZCB0aGUgY29tcGxldGUgcmVjb3ZlcnkgYWdhaW5zdCBnZXRfc3luY19jbG9jay4KKwkgKi8KKwlhdG9taWNfY2xlYXJfbWFzaygweDgwMDAwMDAwLCBzd19wdHIpOworCWF0b21pY19pbmMoc3dfcHRyKTsKK30KKworLyoKKyAqIE1ha2UgZ2V0X3N5bmNfY2xvY2sgcmV0dXJuIDAgYWdhaW4uCisgKiBOZWVkcyB0byBiZSBjYWxsZWQgZnJvbSBhIGNvbnRleHQgZGlzYWJsZWQgZm9yIHByZWVtcHRpb24uCisgKi8KK3N0YXRpYyB2b2lkIGVuYWJsZV9zeW5jX2Nsb2NrKHZvaWQpCit7CisJYXRvbWljX3QgKnN3X3B0ciA9ICZfX2dldF9jcHVfdmFyKGNsb2NrX3N5bmNfd29yZCk7CisJYXRvbWljX3NldF9tYXNrKDB4ODAwMDAwMDAsIHN3X3B0cik7Cit9CisKKy8qCiAgKiBFeHRlcm5hbCBUaW1lIFJlZmVyZW5jZSAoRVRSKSBjb2RlLgogICovCiBzdGF0aWMgaW50IGV0cl9wb3J0MF9vbmxpbmU7CiBzdGF0aWMgaW50IGV0cl9wb3J0MV9vbmxpbmU7CitzdGF0aWMgaW50IGV0cl9zdGVhaV9hdmFpbGFibGU7CiAKIHN0YXRpYyBpbnQgX19pbml0IGVhcmx5X3BhcnNlX2V0cihjaGFyICpwKQogewpAQCAtMjczLDEyICszOTEsNiBAQAogCUVUUl9FVkVOVF9VUERBVEUsCiB9OwogCi1lbnVtIGV0cl9mbGFncyB7Ci0JRVRSX0ZMQUdfRU5PU1lTLAotCUVUUl9GTEFHX0VBQ0NFUywKLQlFVFJfRkxBR19TVEVBSSwKLX07Ci0KIC8qCiAgKiBWYWxpZCBiaXQgY29tYmluYXRpb25zIG9mIHRoZSBlYWNyIHJlZ2lzdGVyIGFyZSAoeCA9IGRvbid0IGNhcmUpOgogICogZTAgZTEgZHAgcDAgcDEgZWEgZXMgc2wKQEAgLTMwNSw3NCArNDE3LDE4IEBACiAgKi8KIHN0YXRpYyBzdHJ1Y3QgZXRyX2VhY3IgZXRyX2VhY3I7CiBzdGF0aWMgdTY0IGV0cl90b2xlYzsJCQkvKiB0aW1lIG9mIGxhc3QgZWFjciB1cGRhdGUgKi8KLXN0YXRpYyB1bnNpZ25lZCBsb25nIGV0cl9mbGFnczsKIHN0YXRpYyBzdHJ1Y3QgZXRyX2FpYiBldHJfcG9ydDA7CiBzdGF0aWMgaW50IGV0cl9wb3J0MF91cHRvZGF0ZTsKIHN0YXRpYyBzdHJ1Y3QgZXRyX2FpYiBldHJfcG9ydDE7CiBzdGF0aWMgaW50IGV0cl9wb3J0MV91cHRvZGF0ZTsKIHN0YXRpYyB1bnNpZ25lZCBsb25nIGV0cl9ldmVudHM7CiBzdGF0aWMgc3RydWN0IHRpbWVyX2xpc3QgZXRyX3RpbWVyOwotc3RhdGljIERFRklORV9QRVJfQ1BVKGF0b21pY190LCBldHJfc3luY193b3JkKTsKIAogc3RhdGljIHZvaWQgZXRyX3RpbWVvdXQodW5zaWduZWQgbG9uZyBkdW1teSk7CiBzdGF0aWMgdm9pZCBldHJfd29ya19mbihzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspOwogc3RhdGljIERFQ0xBUkVfV09SSyhldHJfd29yaywgZXRyX3dvcmtfZm4pOwogCiAvKgotICogVGhlIGV0ciBnZXRfY2xvY2sgZnVuY3Rpb24uIEl0IHdpbGwgd3JpdGUgdGhlIGN1cnJlbnQgY2xvY2sgdmFsdWUKLSAqIHRvIHRoZSBjbG9jayBwb2ludGVyIGFuZCByZXR1cm4gMCBpZiB0aGUgY2xvY2sgaXMgaW4gc3luYyB3aXRoIHRoZQotICogZXh0ZXJuYWwgdGltZSBzb3VyY2UuIElmIHRoZSBjbG9jayBtb2RlIGlzIGxvY2FsIGl0IHdpbGwgcmV0dXJuCi0gKiAtRU5PU1lTIGFuZCAtRUFHQUlOIGlmIHRoZSBjbG9jayBpcyBub3QgaW4gc3luYyB3aXRoIHRoZSBleHRlcm5hbAotICogcmVmZXJlbmNlLiBUaGlzIGZ1bmN0aW9uIGlzIHdoYXQgRVRSIGlzIGFsbCBhYm91dC4uCi0gKi8KLWludCBnZXRfc3luY19jbG9jayh1bnNpZ25lZCBsb25nIGxvbmcgKmNsb2NrKQotewotCWF0b21pY190ICpzd19wdHI7Ci0JdW5zaWduZWQgaW50IHN3MCwgc3cxOwotCi0Jc3dfcHRyID0gJmdldF9jcHVfdmFyKGV0cl9zeW5jX3dvcmQpOwotCXN3MCA9IGF0b21pY19yZWFkKHN3X3B0cik7Ci0JKmNsb2NrID0gZ2V0X2Nsb2NrKCk7Ci0Jc3cxID0gYXRvbWljX3JlYWQoc3dfcHRyKTsKLQlwdXRfY3B1X3ZhcihldHJfc3luY19zeW5jKTsKLQlpZiAoc3cwID09IHN3MSAmJiAoc3cwICYgMHg4MDAwMDAwMFUpKQotCQkvKiBTdWNjZXNzOiB0aW1lIGlzIGluIHN5bmMuICovCi0JCXJldHVybiAwOwotCWlmICh0ZXN0X2JpdChFVFJfRkxBR19FTk9TWVMsICZldHJfZmxhZ3MpKQotCQlyZXR1cm4gLUVOT1NZUzsKLQlpZiAodGVzdF9iaXQoRVRSX0ZMQUdfRUFDQ0VTLCAmZXRyX2ZsYWdzKSkKLQkJcmV0dXJuIC1FQUNDRVM7Ci0JcmV0dXJuIC1FQUdBSU47Ci19Ci1FWFBPUlRfU1lNQk9MKGdldF9zeW5jX2Nsb2NrKTsKLQotLyoKLSAqIE1ha2UgZ2V0X3N5bmNfY2xvY2sgcmV0dXJuIC1FQUdBSU4uCi0gKi8KLXN0YXRpYyB2b2lkIGV0cl9kaXNhYmxlX3N5bmNfY2xvY2sodm9pZCAqZHVtbXkpCi17Ci0JYXRvbWljX3QgKnN3X3B0ciA9ICZfX2dldF9jcHVfdmFyKGV0cl9zeW5jX3dvcmQpOwotCS8qCi0JICogQ2xlYXIgdGhlIGluLXN5bmMgYml0IDJeMzEuIEFsbCBnZXRfc3luY19jbG9jayBjYWxscyB3aWxsCi0JICogZmFpbCB1bnRpbCB0aGUgc3luYyBiaXQgaXMgdHVybmVkIGJhY2sgb24uIEluIGFkZGl0aW9uCi0JICogaW5jcmVhc2UgdGhlICJzZXF1ZW5jZSIgY291bnRlciB0byBhdm9pZCB0aGUgcmFjZSBvZiBhbgotCSAqIGV0ciBldmVudCBhbmQgdGhlIGNvbXBsZXRlIHJlY292ZXJ5IGFnYWluc3QgZ2V0X3N5bmNfY2xvY2suCi0JICovCi0JYXRvbWljX2NsZWFyX21hc2soMHg4MDAwMDAwMCwgc3dfcHRyKTsKLQlhdG9taWNfaW5jKHN3X3B0cik7Ci19Ci0KLS8qCi0gKiBNYWtlIGdldF9zeW5jX2Nsb2NrIHJldHVybiAwIGFnYWluLgotICogTmVlZHMgdG8gYmUgY2FsbGVkIGZyb20gYSBjb250ZXh0IGRpc2FibGVkIGZvciBwcmVlbXB0aW9uLgotICovCi1zdGF0aWMgdm9pZCBldHJfZW5hYmxlX3N5bmNfY2xvY2sodm9pZCkKLXsKLQlhdG9taWNfdCAqc3dfcHRyID0gJl9fZ2V0X2NwdV92YXIoZXRyX3N5bmNfd29yZCk7Ci0JYXRvbWljX3NldF9tYXNrKDB4ODAwMDAwMDAsIHN3X3B0cik7Ci19Ci0KLS8qCiAgKiBSZXNldCBFVFIgYXR0YWNobWVudC4KICAqLwogc3RhdGljIHZvaWQgZXRyX3Jlc2V0KHZvaWQpCkBAIC0zODEsMTUgKzQzNywxMyBAQAogCQkuZTAgPSAwLCAuZTEgPSAwLCAuX3BhZDAgPSA0LCAuZHAgPSAwLAogCQkucDAgPSAwLCAucDEgPSAwLCAuX3BhZDEgPSAwLCAuZWEgPSAwLAogCQkuZXMgPSAwLCAuc2wgPSAwIH07Ci0JaWYgKGV0cl9zZXRyKCZldHJfZWFjcikgPT0gMCkKKwlpZiAoZXRyX3NldHIoJmV0cl9lYWNyKSA9PSAwKSB7CiAJCWV0cl90b2xlYyA9IGdldF9jbG9jaygpOwotCWVsc2UgewotCQlzZXRfYml0KEVUUl9GTEFHX0VOT1NZUywgJmV0cl9mbGFncyk7Ci0JCWlmIChldHJfcG9ydDBfb25saW5lIHx8IGV0cl9wb3J0MV9vbmxpbmUpIHsKLQkJCXByaW50ayhLRVJOX1dBUk5JTkcgIlJ1bm5pbmcgb24gbm9uIEVUUiBjYXBhYmxlICIKLQkJCSAgICAgICAibWFjaGluZSwgb25seSBsb2NhbCBtb2RlIGF2YWlsYWJsZS5cbiIpOwotCQkJZXRyX3BvcnQwX29ubGluZSA9IGV0cl9wb3J0MV9vbmxpbmUgPSAwOwotCQl9CisJCXNldF9iaXQoQ0xPQ0tfU1lOQ19IQVNfRVRSLCAmY2xvY2tfc3luY19mbGFncyk7CisJfSBlbHNlIGlmIChldHJfcG9ydDBfb25saW5lIHx8IGV0cl9wb3J0MV9vbmxpbmUpIHsKKwkJcHJpbnRrKEtFUk5fV0FSTklORyAiUnVubmluZyBvbiBub24gRVRSIGNhcGFibGUgIgorCQkgICAgICAgIm1hY2hpbmUsIG9ubHkgbG9jYWwgbW9kZSBhdmFpbGFibGUuXG4iKTsKKwkJZXRyX3BvcnQwX29ubGluZSA9IGV0cl9wb3J0MV9vbmxpbmUgPSAwOwogCX0KIH0KIApAQCAtMzk3LDE0ICs0NTEsMTIgQEAKIHsKIAlzdHJ1Y3QgZXRyX2FpYiBhaWI7CiAKLQlpZiAodGVzdF9iaXQoRVRSX0ZMQUdfRU5PU1lTLCAmZXRyX2ZsYWdzKSkKKwlpZiAoIXRlc3RfYml0KENMT0NLX1NZTkNfSEFTX0VUUiwgJmNsb2NrX3N5bmNfZmxhZ3MpKQogCQlyZXR1cm4gMDsKIAkvKiBDaGVjayBpZiB0aGlzIG1hY2hpbmUgaGFzIHRoZSBzdGVhaSBpbnN0cnVjdGlvbi4gKi8KIAlpZiAoZXRyX3N0ZWFpKCZhaWIsIEVUUl9TVEVBSV9TVEVQUElOR19QT1JUKSA9PSAwKQotCQlzZXRfYml0KEVUUl9GTEFHX1NURUFJLCAmZXRyX2ZsYWdzKTsKKwkJZXRyX3N0ZWFpX2F2YWlsYWJsZSA9IDE7CiAJc2V0dXBfdGltZXIoJmV0cl90aW1lciwgZXRyX3RpbWVvdXQsIDBVTCk7Ci0JaWYgKCFldHJfcG9ydDBfb25saW5lICYmICFldHJfcG9ydDFfb25saW5lKQotCQlzZXRfYml0KEVUUl9GTEFHX0VBQ0NFUywgJmV0cl9mbGFncyk7CiAJaWYgKGV0cl9wb3J0MF9vbmxpbmUpIHsKIAkJc2V0X2JpdChFVFJfRVZFTlRfUE9SVDBfQ0hBTkdFLCAmZXRyX2V2ZW50cyk7CiAJCXNjaGVkdWxlX3dvcmsoJmV0cl93b3JrKTsKQEAgLTQzNSw3ICs0ODcsOCBAQAogewogCWlmICghZXRyX2VhY3Iuc2wpCiAJCXJldHVybjsKLQlldHJfZGlzYWJsZV9zeW5jX2Nsb2NrKE5VTEwpOworCWlmICh0ZXN0X2JpdChDTE9DS19TWU5DX0VUUiwgJmNsb2NrX3N5bmNfZmxhZ3MpKQorCQlkaXNhYmxlX3N5bmNfY2xvY2soTlVMTCk7CiAJc2V0X2JpdChFVFJfRVZFTlRfU1dJVENIX0xPQ0FMLCAmZXRyX2V2ZW50cyk7CiAJc2NoZWR1bGVfd29yaygmZXRyX3dvcmspOwogfQpAQCAtNDUwLDIzICs1MDMsMjEgQEAKIHsKIAlpZiAoIWV0cl9lYWNyLmVzKQogCQlyZXR1cm47Ci0JZXRyX2Rpc2FibGVfc3luY19jbG9jayhOVUxMKTsKKwlpZiAodGVzdF9iaXQoQ0xPQ0tfU1lOQ19FVFIsICZjbG9ja19zeW5jX2ZsYWdzKSkKKwkJZGlzYWJsZV9zeW5jX2Nsb2NrKE5VTEwpOwogCXNldF9iaXQoRVRSX0VWRU5UX1NZTkNfQ0hFQ0ssICZldHJfZXZlbnRzKTsKIAlzY2hlZHVsZV93b3JrKCZldHJfd29yayk7CiB9CiAKIC8qCi0gKiBFVFIgZXh0ZXJuYWwgaW50ZXJydXB0LiBUaGVyZSBhcmUgdHdvIGNhdXNlczoKKyAqIEVUUiB0aW1pbmcgYWxlcnQuIFRoZXJlIGFyZSB0d28gY2F1c2VzOgogICogMSkgcG9ydCBzdGF0ZSBjaGFuZ2UsIGNoZWNrIHRoZSB1c2FiaWxpdHkgb2YgdGhlIHBvcnQKICAqIDIpIHBvcnQgYWxlcnQsIG9uZSBvZiB0aGUgRVRSLWRhdGEtdmFsaWRpdHkgYml0cyAodjEtdjIgYml0cyBvZiB0aGUKICAqICAgIHNsZHItc3RhdHVzIHdvcmQpIG9yIEVUUi1kYXRhIHdvcmQgMSAoZWRmMSkgb3IgRVRSLWRhdGEgd29yZCAzIChlZGYzKQogICogICAgb3IgRVRSLWRhdGEgd29yZCA0IChlZGY0KSBoYXMgY2hhbmdlZC4KICAqLwotc3RhdGljIHZvaWQgZXRyX2V4dF9oYW5kbGVyKF9fdTE2IGNvZGUpCitzdGF0aWMgdm9pZCBldHJfdGltaW5nX2FsZXJ0KHN0cnVjdCBldHJfaXJxX3Bhcm0gKmludHBhcm0pCiB7Ci0Jc3RydWN0IGV0cl9pbnRlcnJ1cHRpb25fcGFyYW1ldGVyICppbnRwYXJtID0KLQkJKHN0cnVjdCBldHJfaW50ZXJydXB0aW9uX3BhcmFtZXRlciAqKSAmUzM5MF9sb3djb3JlLmV4dF9wYXJhbXM7Ci0KIAlpZiAoaW50cGFybS0+cGMwKQogCQkvKiBFVFIgcG9ydCAwIHN0YXRlIGNoYW5nZS4gKi8KIAkJc2V0X2JpdChFVFJfRVZFTlRfUE9SVDBfQ0hBTkdFLCAmZXRyX2V2ZW50cyk7CkBAIC01OTEsNTggKzY0MiwyMyBAQAogCXJldHVybiAxOwogfQogCi0vKgotICogVGhlIHRpbWUgaXMgImNsb2NrIi4gb2xkIGlzIHdoYXQgd2UgdGhpbmsgdGhlIHRpbWUgaXMuCi0gKiBBZGp1c3QgdGhlIHZhbHVlIGJ5IGEgbXVsdGlwbGUgb2YgamlmZmllcyBhbmQgYWRkIHRoZSBkZWx0YSB0byBudHAuCi0gKiAiZGVsYXkiIGlzIGFuIGFwcHJveGltYXRpb24gaG93IGxvbmcgdGhlIHN5bmNocm9uaXphdGlvbiB0b29rLiBJZgotICogdGhlIHRpbWUgY29ycmVjdGlvbiBpcyBwb3NpdGl2ZSwgdGhlbiAiZGVsYXkiIGlzIHN1YnRyYWN0ZWQgZnJvbQotICogdGhlIHRpbWUgZGlmZmVyZW5jZSBhbmQgb25seSB0aGUgcmVtYWluaW5nIHBhcnQgaXMgcGFzc2VkIHRvIG50cC4KLSAqLwotc3RhdGljIHVuc2lnbmVkIGxvbmcgbG9uZyBldHJfYWRqdXN0X3RpbWUodW5zaWduZWQgbG9uZyBsb25nIG9sZCwKLQkJCQkJICB1bnNpZ25lZCBsb25nIGxvbmcgY2xvY2ssCi0JCQkJCSAgdW5zaWduZWQgbG9uZyBsb25nIGRlbGF5KQotewotCXVuc2lnbmVkIGxvbmcgbG9uZyBkZWx0YSwgdGlja3M7Ci0Jc3RydWN0IHRpbWV4IGFkanVzdDsKLQotCWlmIChjbG9jayA+IG9sZCkgewotCQkvKiBJdCBpcyBsYXRlciB0aGFuIHdlIHRob3VnaHQuICovCi0JCWRlbHRhID0gdGlja3MgPSBjbG9jayAtIG9sZDsKLQkJZGVsdGEgPSB0aWNrcyA9IChkZWx0YSA8IGRlbGF5KSA/IDAgOiBkZWx0YSAtIGRlbGF5OwotCQlkZWx0YSAtPSBkb19kaXYodGlja3MsIENMS19USUNLU19QRVJfSklGRlkpOwotCQlhZGp1c3Qub2Zmc2V0ID0gdGlja3MgKiAoMTAwMDAwMCAvIEhaKTsKLQl9IGVsc2UgewotCQkvKiBJdCBpcyBlYXJsaWVyIHRoYW4gd2UgdGhvdWdodC4gKi8KLQkJZGVsdGEgPSB0aWNrcyA9IG9sZCAtIGNsb2NrOwotCQlkZWx0YSAtPSBkb19kaXYodGlja3MsIENMS19USUNLU19QRVJfSklGRlkpOwotCQlkZWx0YSA9IC1kZWx0YTsKLQkJYWRqdXN0Lm9mZnNldCA9IC10aWNrcyAqICgxMDAwMDAwIC8gSFopOwotCX0KLQlqaWZmaWVzX3RpbWVyX2NjICs9IGRlbHRhOwotCWlmIChhZGp1c3Qub2Zmc2V0ICE9IDApIHsKLQkJcHJpbnRrKEtFUk5fTk9USUNFICJldHI6IHRpbWUgYWRqdXN0ZWQgYnkgJWxpIG1pY3JvLXNlY29uZHNcbiIsCi0JCSAgICAgICBhZGp1c3Qub2Zmc2V0KTsKLQkJYWRqdXN0Lm1vZGVzID0gQURKX09GRlNFVF9TSU5HTEVTSE9UOwotCQlkb19hZGp0aW1leCgmYWRqdXN0KTsKLQl9Ci0JcmV0dXJuIGRlbHRhOwotfQotCi1zdGF0aWMgc3RydWN0IHsKK3N0cnVjdCBjbG9ja19zeW5jX2RhdGEgewogCWludCBpbl9zeW5jOwogCXVuc2lnbmVkIGxvbmcgbG9uZyBmaXh1cF9jYzsKLX0gZXRyX3N5bmM7Cit9OwogCi1zdGF0aWMgdm9pZCBldHJfc3luY19jcHVfc3RhcnQodm9pZCAqZHVtbXkpCitzdGF0aWMgdm9pZCBjbG9ja19zeW5jX2NwdV9zdGFydCh2b2lkICpkdW1teSkKIHsKLQlldHJfZW5hYmxlX3N5bmNfY2xvY2soKTsKKwlzdHJ1Y3QgY2xvY2tfc3luY19kYXRhICpzeW5jID0gZHVtbXk7CisKKwllbmFibGVfc3luY19jbG9jaygpOwogCS8qCiAJICogVGhpcyBsb29rcyBsaWtlIGEgYnVzeSB3YWl0IGxvb3AgYnV0IGl0IGlzbid0LiBldHJfc3luY19jcHVzCiAJICogaXMgY2FsbGVkIG9uIGFsbCBvdGhlciBjcHVzIHdoaWxlIHRoZSBUT0QgY2xvY2tzIGlzIHN0b3BwZWQuCiAJICogX191ZGVsYXkgd2lsbCBzdG9wIHRoZSBjcHUgb24gYW4gZW5hYmxlZCB3YWl0IHBzdyB1bnRpbCB0aGUKIAkgKiBUT0QgaXMgcnVubmluZyBhZ2Fpbi4KIAkgKi8KLQl3aGlsZSAoZXRyX3N5bmMuaW5fc3luYyA9PSAwKSB7CisJd2hpbGUgKHN5bmMtPmluX3N5bmMgPT0gMCkgewogCQlfX3VkZWxheSgxKTsKIAkJLyoKIAkJICogQSBkaWZmZXJlbnQgY3B1IGNoYW5nZXMgKmluX3N5bmMuIFRoZXJlZm9yZSB1c2UKQEAgLTY1MCwxNyArNjY2LDE3IEBACiAJCSAqLwogCQliYXJyaWVyKCk7CiAJfQotCWlmIChldHJfc3luYy5pbl9zeW5jICE9IDEpCisJaWYgKHN5bmMtPmluX3N5bmMgIT0gMSkKIAkJLyogRGlkbid0IHdvcmsuIENsZWFyIHBlci1jcHUgaW4gc3luYyBiaXQgYWdhaW4uICovCi0JCWV0cl9kaXNhYmxlX3N5bmNfY2xvY2soTlVMTCk7CisJCWRpc2FibGVfc3luY19jbG9jayhOVUxMKTsKIAkvKgogCSAqIFRoaXMgcm91bmQgb2YgVE9EIHN5bmNpbmcgaXMgZG9uZS4gU2V0IHRoZSBjbG9jayBjb21wYXJhdG9yCiAJICogdG8gdGhlIG5leHQgdGljayBhbmQgbGV0IHRoZSBwcm9jZXNzb3IgY29udGludWUuCiAJICovCi0JZml4dXBfY2xvY2tfY29tcGFyYXRvcihldHJfc3luYy5maXh1cF9jYyk7CisJZml4dXBfY2xvY2tfY29tcGFyYXRvcihzeW5jLT5maXh1cF9jYyk7CiB9CiAKLXN0YXRpYyB2b2lkIGV0cl9zeW5jX2NwdV9lbmQodm9pZCAqZHVtbXkpCitzdGF0aWMgdm9pZCBjbG9ja19zeW5jX2NwdV9lbmQodm9pZCAqZHVtbXkpCiB7CiB9CiAKQEAgLTY3Miw2ICs2ODgsNyBAQAogc3RhdGljIGludCBldHJfc3luY19jbG9jayhzdHJ1Y3QgZXRyX2FpYiAqYWliLCBpbnQgcG9ydCkKIHsKIAlzdHJ1Y3QgZXRyX2FpYiAqc3luY19wb3J0OworCXN0cnVjdCBjbG9ja19zeW5jX2RhdGEgZXRyX3N5bmM7CiAJdW5zaWduZWQgbG9uZyBsb25nIGNsb2NrLCBvbGRfY2xvY2ssIGRlbGF5LCBkZWx0YTsKIAlpbnQgZm9sbG93czsKIAlpbnQgcmM7CkBAIC02OTAsOSArNzA3LDkgQEAKIAkgKi8KIAltZW1zZXQoJmV0cl9zeW5jLCAwLCBzaXplb2YoZXRyX3N5bmMpKTsKIAlwcmVlbXB0X2Rpc2FibGUoKTsKLQlzbXBfY2FsbF9mdW5jdGlvbihldHJfc3luY19jcHVfc3RhcnQsIE5VTEwsIDAsIDApOworCXNtcF9jYWxsX2Z1bmN0aW9uKGNsb2NrX3N5bmNfY3B1X3N0YXJ0LCAmZXRyX3N5bmMsIDAsIDApOwogCWxvY2FsX2lycV9kaXNhYmxlKCk7Ci0JZXRyX2VuYWJsZV9zeW5jX2Nsb2NrKCk7CisJZW5hYmxlX3N5bmNfY2xvY2soKTsKIAogCS8qIFNldCBjbG9jayB0byBuZXh0IE9URS4gKi8KIAlfX2N0bF9zZXRfYml0KDE0LCAyMSk7CkBAIC03MDcsMTMgKzcyNCwxMyBAQAogCQkvKiBBZGp1c3QgTGludXggdGltaW5nIHZhcmlhYmxlcy4gKi8KIAkJZGVsYXkgPSAodW5zaWduZWQgbG9uZyBsb25nKQogCQkJKGFpYi0+ZWRmMi5ldHYgLSBzeW5jX3BvcnQtPmVkZjIuZXR2KSA8PCAzMjsKLQkJZGVsdGEgPSBldHJfYWRqdXN0X3RpbWUob2xkX2Nsb2NrLCBjbG9jaywgZGVsYXkpOworCQlkZWx0YSA9IGFkanVzdF90aW1lKG9sZF9jbG9jaywgY2xvY2ssIGRlbGF5KTsKIAkJZXRyX3N5bmMuZml4dXBfY2MgPSBkZWx0YTsKIAkJZml4dXBfY2xvY2tfY29tcGFyYXRvcihkZWx0YSk7CiAJCS8qIFZlcmlmeSB0aGF0IHRoZSBjbG9jayBpcyBwcm9wZXJseSBzZXQuICovCiAJCWlmICghZXRyX2FpYl9mb2xsb3dzKHN5bmNfcG9ydCwgYWliLCBwb3J0KSkgewogCQkJLyogRGlkbid0IHdvcmsuICovCi0JCQlldHJfZGlzYWJsZV9zeW5jX2Nsb2NrKE5VTEwpOworCQkJZGlzYWJsZV9zeW5jX2Nsb2NrKE5VTEwpOwogCQkJZXRyX3N5bmMuaW5fc3luYyA9IC1FQUdBSU47CiAJCQlyYyA9IC1FQUdBSU47CiAJCX0gZWxzZSB7CkBAIC03MjQsMTIgKzc0MSwxMiBAQAogCQkvKiBDb3VsZCBub3Qgc2V0IHRoZSBjbG9jayA/IT8gKi8KIAkJX19jdGxfY2xlYXJfYml0KDAsIDI5KTsKIAkJX19jdGxfY2xlYXJfYml0KDE0LCAyMSk7Ci0JCWV0cl9kaXNhYmxlX3N5bmNfY2xvY2soTlVMTCk7CisJCWRpc2FibGVfc3luY19jbG9jayhOVUxMKTsKIAkJZXRyX3N5bmMuaW5fc3luYyA9IC1FQUdBSU47CiAJCXJjID0gLUVBR0FJTjsKIAl9CiAJbG9jYWxfaXJxX2VuYWJsZSgpOwotCXNtcF9jYWxsX2Z1bmN0aW9uKGV0cl9zeW5jX2NwdV9lbmQsTlVMTCwwLDApOworCXNtcF9jYWxsX2Z1bmN0aW9uKGNsb2NrX3N5bmNfY3B1X2VuZCwgTlVMTCwgMCwgMCk7CiAJcHJlZW1wdF9lbmFibGUoKTsKIAlyZXR1cm4gcmM7CiB9CkBAIC04MzIsNyArODQ5LDcgQEAKIAkgKiBEbyBub3QgdHJ5IHRvIGdldCB0aGUgYWx0ZXJuYXRlIHBvcnQgYWliIGlmIHRoZSBjbG9jawogCSAqIGlzIG5vdCBpbiBzeW5jIHlldC4KIAkgKi8KLQlpZiAoIWVhY3IuZXMpCisJaWYgKCF0ZXN0X2JpdChDTE9DS19TWU5DX1NUUCwgJmNsb2NrX3N5bmNfZmxhZ3MpICYmICFlYWNyLmVzKQogCQlyZXR1cm4gZWFjcjsKIAogCS8qCkBAIC04NDAsNyArODU3LDcgQEAKIAkgKiB0aGUgb3RoZXIgcG9ydCBpbW1lZGlhdGVseS4gSWYgb25seSBzdGV0ciBpcyBhdmFpbGFibGUgdGhlCiAJICogZGF0YS1wb3J0IGJpdCB0b2dnbGUgaGFzIHRvIGJlIHVzZWQuCiAJICovCi0JaWYgKHRlc3RfYml0KEVUUl9GTEFHX1NURUFJLCAmZXRyX2ZsYWdzKSkgeworCWlmIChldHJfc3RlYWlfYXZhaWxhYmxlKSB7CiAJCWlmIChlYWNyLnAwICYmICFldHJfcG9ydDBfdXB0b2RhdGUpIHsKIAkJCWV0cl9zdGVhaV9jdigmZXRyX3BvcnQwLCBFVFJfU1RFQUlfUE9SVF8wKTsKIAkJCWV0cl9wb3J0MF91cHRvZGF0ZSA9IDE7CkBAIC05MDksMTAgKzkyNiwxMCBAQAogCWlmICghZWFjci5lYSkgewogCQkvKiBCb3RoIHBvcnRzIG9mZmxpbmUuIFJlc2V0IGV2ZXJ5dGhpbmcuICovCiAJCWVhY3IuZHAgPSBlYWNyLmVzID0gZWFjci5zbCA9IDA7Ci0JCW9uX2VhY2hfY3B1KGV0cl9kaXNhYmxlX3N5bmNfY2xvY2ssIE5VTEwsIDAsIDEpOworCQlvbl9lYWNoX2NwdShkaXNhYmxlX3N5bmNfY2xvY2ssIE5VTEwsIDAsIDEpOwogCQlkZWxfdGltZXJfc3luYygmZXRyX3RpbWVyKTsKIAkJZXRyX3VwZGF0ZV9lYWNyKGVhY3IpOwotCQlzZXRfYml0KEVUUl9GTEFHX0VBQ0NFUywgJmV0cl9mbGFncyk7CisJCWNsZWFyX2JpdChDTE9DS19TWU5DX0VUUiwgJmNsb2NrX3N5bmNfZmxhZ3MpOwogCQlyZXR1cm47CiAJfQogCkBAIC05NTMsNyArOTcwLDYgQEAKIAkJCWVhY3IuZTEgPSAxOwogCQlzeW5jX3BvcnQgPSAoZXRyX3BvcnQwX3VwdG9kYXRlICYmCiAJCQkgICAgIGV0cl9wb3J0X3ZhbGlkKCZldHJfcG9ydDAsIDApKSA/IDAgOiAtMTsKLQkJY2xlYXJfYml0KEVUUl9GTEFHX0VBQ0NFUywgJmV0cl9mbGFncyk7CiAJfSBlbHNlIGlmIChlYWNyLnAxICYmIGFpYi5lc3cucHNjMSA9PSBldHJfbHBzY19wcHNfbW9kZSkgewogCQllYWNyLnNsID0gMDsKIAkJZWFjci5lMCA9IDA7CkBAIC05NjIsNyArOTc4LDYgQEAKIAkJCWVhY3IuZXMgPSAwOwogCQlzeW5jX3BvcnQgPSAoZXRyX3BvcnQxX3VwdG9kYXRlICYmCiAJCQkgICAgIGV0cl9wb3J0X3ZhbGlkKCZldHJfcG9ydDEsIDEpKSA/IDEgOiAtMTsKLQkJY2xlYXJfYml0KEVUUl9GTEFHX0VBQ0NFUywgJmV0cl9mbGFncyk7CiAJfSBlbHNlIGlmIChlYWNyLnAwICYmIGFpYi5lc3cucHNjMCA9PSBldHJfbHBzY19vcGVyYXRpb25hbF9zdGVwKSB7CiAJCWVhY3Iuc2wgPSAxOwogCQllYWNyLmUwID0gMTsKQEAgLTk3Niw3ICs5OTEsNiBAQAogCQkJZWFjci5lMSA9IDE7CiAJCXN5bmNfcG9ydCA9IChldHJfcG9ydDBfdXB0b2RhdGUgJiYKIAkJCSAgICAgZXRyX3BvcnRfdmFsaWQoJmV0cl9wb3J0MCwgMCkpID8gMCA6IC0xOwotCQljbGVhcl9iaXQoRVRSX0ZMQUdfRUFDQ0VTLCAmZXRyX2ZsYWdzKTsKIAl9IGVsc2UgaWYgKGVhY3IucDEgJiYgYWliLmVzdy5wc2MxID09IGV0cl9scHNjX29wZXJhdGlvbmFsX3N0ZXApIHsKIAkJZWFjci5zbCA9IDE7CiAJCWVhY3IuZTAgPSAwOwpAQCAtOTg1LDE5ICs5OTksMjIgQEAKIAkJCWVhY3IuZXMgPSAwOwogCQlzeW5jX3BvcnQgPSAoZXRyX3BvcnQxX3VwdG9kYXRlICYmCiAJCQkgICAgIGV0cl9wb3J0X3ZhbGlkKCZldHJfcG9ydDEsIDEpKSA/IDEgOiAtMTsKLQkJY2xlYXJfYml0KEVUUl9GTEFHX0VBQ0NFUywgJmV0cl9mbGFncyk7CiAJfSBlbHNlIHsKIAkJLyogQm90aCBwb3J0cyBub3QgdXNhYmxlLiAqLwogCQllYWNyLmVzID0gZWFjci5zbCA9IDA7CiAJCXN5bmNfcG9ydCA9IC0xOwotCQlzZXRfYml0KEVUUl9GTEFHX0VBQ0NFUywgJmV0cl9mbGFncyk7CisJCWNsZWFyX2JpdChDTE9DS19TWU5DX0VUUiwgJmNsb2NrX3N5bmNfZmxhZ3MpOwogCX0KIAorCWlmICghdGVzdF9iaXQoQ0xPQ0tfU1lOQ19FVFIsICZjbG9ja19zeW5jX2ZsYWdzKSkKKwkJZWFjci5lcyA9IDA7CisKIAkvKgogCSAqIElmIHRoZSBjbG9jayBpcyBpbiBzeW5jIGp1c3QgdXBkYXRlIHRoZSBlYWNyIGFuZCByZXR1cm4uCiAJICogSWYgdGhlcmUgaXMgbm8gdmFsaWQgc3luYyBwb3J0IHdhaXQgZm9yIGEgcG9ydCB1cGRhdGUuCiAJICovCi0JaWYgKGVhY3IuZXMgfHwgc3luY19wb3J0IDwgMCkgeworCWlmICh0ZXN0X2JpdChDTE9DS19TWU5DX1NUUCwgJmNsb2NrX3N5bmNfZmxhZ3MpIHx8CisJICAgIGVhY3IuZXMgfHwgc3luY19wb3J0IDwgMCkgewogCQlldHJfdXBkYXRlX2VhY3IoZWFjcik7CiAJCWV0cl9zZXRfdG9sZWNfdGltZW91dChub3cpOwogCQlyZXR1cm47CkBAIC0xMDE4LDExICsxMDM1LDEzIEBACiAJICogYW5kIHNldCB1cCBhIHRpbWVyIHRvIHRyeSBhZ2FpbiBhZnRlciAwLjUgc2Vjb25kcwogCSAqLwogCWV0cl91cGRhdGVfZWFjcihlYWNyKTsKKwlzZXRfYml0KENMT0NLX1NZTkNfRVRSLCAmY2xvY2tfc3luY19mbGFncyk7CiAJaWYgKG5vdyA8IGV0cl90b2xlYyArICgxNjAwMDAwIDw8IDEyKSB8fAogCSAgICBldHJfc3luY19jbG9jaygmYWliLCBzeW5jX3BvcnQpICE9IDApIHsKIAkJLyogU3luYyBmYWlsZWQuIFRyeSBhZ2FpbiBpbiAxLzIgc2Vjb25kLiAqLwogCQllYWNyLmVzID0gMDsKIAkJZXRyX3VwZGF0ZV9lYWNyKGVhY3IpOworCQljbGVhcl9iaXQoQ0xPQ0tfU1lOQ19FVFIsICZjbG9ja19zeW5jX2ZsYWdzKTsKIAkJZXRyX3NldF9zeW5jX3RpbWVvdXQoKTsKIAl9IGVsc2UKIAkJZXRyX3NldF90b2xlY190aW1lb3V0KG5vdyk7CkBAIC0xMDk3LDggKzExMTYsOCBAQAogCXZhbHVlID0gc2ltcGxlX3N0cnRvdWwoYnVmLCBOVUxMLCAwKTsKIAlpZiAodmFsdWUgIT0gMCAmJiB2YWx1ZSAhPSAxKQogCQlyZXR1cm4gLUVJTlZBTDsKLQlpZiAodGVzdF9iaXQoRVRSX0ZMQUdfRU5PU1lTLCAmZXRyX2ZsYWdzKSkKLQkJcmV0dXJuIC1FTk9TWVM7CisJaWYgKCF0ZXN0X2JpdChDTE9DS19TWU5DX0hBU19FVFIsICZjbG9ja19zeW5jX2ZsYWdzKSkKKwkJcmV0dXJuIC1FT1BOT1RTVVBQOwogCWlmIChkZXYgPT0gJmV0cl9wb3J0MF9kZXYpIHsKIAkJaWYgKGV0cl9wb3J0MF9vbmxpbmUgPT0gdmFsdWUpCiAJCQlyZXR1cm4gY291bnQ7CS8qIE5vdGhpbmcgdG8gZG8uICovCkBAIC0xMjkyLDMgKzEzMTEsMzE4IEBACiB9CiAKIGRldmljZV9pbml0Y2FsbChldHJfaW5pdF9zeXNmcyk7CisKKy8qCisgKiBTZXJ2ZXIgVGltZSBQcm90b2NvbCAoU1RQKSBjb2RlLgorICovCitzdGF0aWMgaW50IHN0cF9vbmxpbmU7CitzdGF0aWMgc3RydWN0IHN0cF9zc3RwaSBzdHBfaW5mbzsKK3N0YXRpYyB2b2lkICpzdHBfcGFnZTsKKworc3RhdGljIHZvaWQgc3RwX3dvcmtfZm4oc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKTsKK3N0YXRpYyBERUNMQVJFX1dPUksoc3RwX3dvcmssIHN0cF93b3JrX2ZuKTsKKworc3RhdGljIGludCBfX2luaXQgZWFybHlfcGFyc2Vfc3RwKGNoYXIgKnApCit7CisJaWYgKHN0cm5jbXAocCwgIm9mZiIsIDMpID09IDApCisJCXN0cF9vbmxpbmUgPSAwOworCWVsc2UgaWYgKHN0cm5jbXAocCwgIm9uIiwgMikgPT0gMCkKKwkJc3RwX29ubGluZSA9IDE7CisJcmV0dXJuIDA7Cit9CitlYXJseV9wYXJhbSgic3RwIiwgZWFybHlfcGFyc2Vfc3RwKTsKKworLyoKKyAqIFJlc2V0IFNUUCBhdHRhY2htZW50LgorICovCitzdGF0aWMgdm9pZCBzdHBfcmVzZXQodm9pZCkKK3sKKwlpbnQgcmM7CisKKwlzdHBfcGFnZSA9IGFsbG9jX2Jvb3RtZW1fcGFnZXMoUEFHRV9TSVpFKTsKKwlyYyA9IGNoc2Nfc3N0cGMoc3RwX3BhZ2UsIFNUUF9PUF9DVFJMLCAweDAwMDApOworCWlmIChyYyA9PSAxKQorCQlzZXRfYml0KENMT0NLX1NZTkNfSEFTX1NUUCwgJmNsb2NrX3N5bmNfZmxhZ3MpOworCWVsc2UgaWYgKHN0cF9vbmxpbmUpIHsKKwkJcHJpbnRrKEtFUk5fV0FSTklORyAiUnVubmluZyBvbiBub24gU1RQIGNhcGFibGUgbWFjaGluZS5cbiIpOworCQlmcmVlX2Jvb3RtZW0oKHVuc2lnbmVkIGxvbmcpIHN0cF9wYWdlLCBQQUdFX1NJWkUpOworCQlzdHBfcGFnZSA9IE5VTEw7CisJCXN0cF9vbmxpbmUgPSAwOworCX0KK30KKworc3RhdGljIGludCBfX2luaXQgc3RwX2luaXQodm9pZCkKK3sKKwlpZiAodGVzdF9iaXQoQ0xPQ0tfU1lOQ19IQVNfU1RQLCAmY2xvY2tfc3luY19mbGFncykgJiYgc3RwX29ubGluZSkKKwkJc2NoZWR1bGVfd29yaygmc3RwX3dvcmspOworCXJldHVybiAwOworfQorCithcmNoX2luaXRjYWxsKHN0cF9pbml0KTsKKworLyoKKyAqIFNUUCB0aW1pbmcgYWxlcnQuIFRoZXJlIGFyZSB0aHJlZSBjYXVzZXM6CisgKiAxKSB0aW1pbmcgc3RhdHVzIGNoYW5nZQorICogMikgbGluayBhdmFpbGFiaWxpdHkgY2hhbmdlCisgKiAzKSB0aW1lIGNvbnRyb2wgcGFyYW1ldGVyIGNoYW5nZQorICogSW4gYWxsIHRocmVlIGNhc2VzIHdlIGFyZSBvbmx5IGludGVyZXN0ZWQgaW4gdGhlIGNsb2NrIHNvdXJjZSBzdGF0ZS4KKyAqIElmIGEgU1RQIGNsb2NrIHNvdXJjZSBpcyBub3cgYXZhaWxhYmxlIHVzZSBpdC4KKyAqLworc3RhdGljIHZvaWQgc3RwX3RpbWluZ19hbGVydChzdHJ1Y3Qgc3RwX2lycV9wYXJtICppbnRwYXJtKQoreworCWlmIChpbnRwYXJtLT50c2MgfHwgaW50cGFybS0+bGFjIHx8IGludHBhcm0tPnRjcGMpCisJCXNjaGVkdWxlX3dvcmsoJnN0cF93b3JrKTsKK30KKworLyoKKyAqIFNUUCBzeW5jIGNoZWNrIG1hY2hpbmUgY2hlY2suIFRoaXMgaXMgY2FsbGVkIHdoZW4gdGhlIHRpbWluZyBzdGF0ZQorICogY2hhbmdlcyBmcm9tIHRoZSBzeW5jaHJvbml6ZWQgc3RhdGUgdG8gdGhlIHVuc3luY2hyb25pemVkIHN0YXRlLgorICogQWZ0ZXIgYSBTVFAgc3luYyBjaGVjayB0aGUgY2xvY2sgaXMgbm90IGluIHN5bmMuIFRoZSBtYWNoaW5lIGNoZWNrCisgKiBpcyBicm9hZGNhc3RlZCB0byBhbGwgY3B1cyBhdCB0aGUgc2FtZSB0aW1lLgorICovCit2b2lkIHN0cF9zeW5jX2NoZWNrKHZvaWQpCit7CisJaWYgKCF0ZXN0X2JpdChDTE9DS19TWU5DX1NUUCwgJmNsb2NrX3N5bmNfZmxhZ3MpKQorCQlyZXR1cm47CisJZGlzYWJsZV9zeW5jX2Nsb2NrKE5VTEwpOworCXNjaGVkdWxlX3dvcmsoJnN0cF93b3JrKTsKK30KKworLyoKKyAqIFNUUCBpc2xhbmQgY29uZGl0aW9uIG1hY2hpbmUgY2hlY2suIFRoaXMgaXMgY2FsbGVkIHdoZW4gYW4gYXR0YWNoZWQKKyAqIHNlcnZlciAgYXR0ZW1wdHMgdG8gY29tbXVuaWNhdGUgb3ZlciBhbiBTVFAgbGluayBhbmQgdGhlIHNlcnZlcnMKKyAqIGhhdmUgbWF0Y2hpbmcgQ1ROIGlkcyBhbmQgaGF2ZSBhIHZhbGlkIHN0cmF0dW0tMSBjb25maWd1cmF0aW9uCisgKiBidXQgdGhlIGNvbmZpZ3VyYXRpb25zIGRvIG5vdCBtYXRjaC4KKyAqLwordm9pZCBzdHBfaXNsYW5kX2NoZWNrKHZvaWQpCit7CisJaWYgKCF0ZXN0X2JpdChDTE9DS19TWU5DX1NUUCwgJmNsb2NrX3N5bmNfZmxhZ3MpKQorCQlyZXR1cm47CisJZGlzYWJsZV9zeW5jX2Nsb2NrKE5VTEwpOworCXNjaGVkdWxlX3dvcmsoJnN0cF93b3JrKTsKK30KKworLyoKKyAqIFNUUCB0YXNrbGV0LiBDaGVjayBmb3IgdGhlIFNUUCBzdGF0ZSBhbmQgdGFrZSBvdmVyIHRoZSBjbG9jaworICogc3luY2hyb25pemF0aW9uIGlmIHRoZSBTVFAgY2xvY2sgc291cmNlIGlzIHVzYWJsZS4KKyAqLworc3RhdGljIHZvaWQgc3RwX3dvcmtfZm4oc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKQoreworCXN0cnVjdCBjbG9ja19zeW5jX2RhdGEgc3RwX3N5bmM7CisJdW5zaWduZWQgbG9uZyBsb25nIG9sZF9jbG9jaywgZGVsdGE7CisJaW50IHJjOworCisJaWYgKCFzdHBfb25saW5lKSB7CisJCWNoc2Nfc3N0cGMoc3RwX3BhZ2UsIFNUUF9PUF9DVFJMLCAweDAwMDApOworCQlyZXR1cm47CisJfQorCisJcmMgPSBjaHNjX3NzdHBjKHN0cF9wYWdlLCBTVFBfT1BfQ1RSTCwgMHhiMGUwKTsKKwlpZiAocmMpCisJCXJldHVybjsKKworCXJjID0gY2hzY19zc3RwaShzdHBfcGFnZSwgJnN0cF9pbmZvLCBzaXplb2Yoc3RydWN0IHN0cF9zc3RwaSkpOworCWlmIChyYyB8fCBzdHBfaW5mby5jID09IDApCisJCXJldHVybjsKKworCS8qCisJICogQ2F0Y2ggYWxsIG90aGVyIGNwdXMgYW5kIG1ha2UgdGhlbSB3YWl0IHVudGlsIHdlIGhhdmUKKwkgKiBzdWNjZXNzZnVsbHkgc3luY2VkIHRoZSBjbG9jay4gc21wX2NhbGxfZnVuY3Rpb24gd2lsbAorCSAqIHJldHVybiBhZnRlciBhbGwgb3RoZXIgY3B1cyBhcmUgaW4gY2xvY2tfc3luY19jcHVfc3RhcnQuCisJICovCisJbWVtc2V0KCZzdHBfc3luYywgMCwgc2l6ZW9mKHN0cF9zeW5jKSk7CisJcHJlZW1wdF9kaXNhYmxlKCk7CisJc21wX2NhbGxfZnVuY3Rpb24oY2xvY2tfc3luY19jcHVfc3RhcnQsICZzdHBfc3luYywgMCwgMCk7CisJbG9jYWxfaXJxX2Rpc2FibGUoKTsKKwllbmFibGVfc3luY19jbG9jaygpOworCisJc2V0X2JpdChDTE9DS19TWU5DX1NUUCwgJmNsb2NrX3N5bmNfZmxhZ3MpOworCWlmICh0ZXN0X2FuZF9jbGVhcl9iaXQoQ0xPQ0tfU1lOQ19FVFIsICZjbG9ja19zeW5jX2ZsYWdzKSkKKwkJc2NoZWR1bGVfd29yaygmZXRyX3dvcmspOworCisJcmMgPSAwOworCWlmIChzdHBfaW5mby50b2RvZmZbMF0gfHwgc3RwX2luZm8udG9kb2ZmWzFdIHx8CisJICAgIHN0cF9pbmZvLnRvZG9mZlsyXSB8fCBzdHBfaW5mby50b2RvZmZbM10gfHwKKwkgICAgc3RwX2luZm8udG1kICE9IDIpIHsKKwkJb2xkX2Nsb2NrID0gZ2V0X2Nsb2NrKCk7CisJCXJjID0gY2hzY19zc3RwYyhzdHBfcGFnZSwgU1RQX09QX1NZTkMsIDApOworCQlpZiAocmMgPT0gMCkgeworCQkJZGVsdGEgPSBhZGp1c3RfdGltZShvbGRfY2xvY2ssIGdldF9jbG9jaygpLCAwKTsKKwkJCWZpeHVwX2Nsb2NrX2NvbXBhcmF0b3IoZGVsdGEpOworCQkJcmMgPSBjaHNjX3NzdHBpKHN0cF9wYWdlLCAmc3RwX2luZm8sCisJCQkJCXNpemVvZihzdHJ1Y3Qgc3RwX3NzdHBpKSk7CisJCQlpZiAocmMgPT0gMCAmJiBzdHBfaW5mby50bWQgIT0gMikKKwkJCQlyYyA9IC1FQUdBSU47CisJCX0KKwl9CisJaWYgKHJjKSB7CisJCWRpc2FibGVfc3luY19jbG9jayhOVUxMKTsKKwkJc3RwX3N5bmMuaW5fc3luYyA9IC1FQUdBSU47CisJCWNsZWFyX2JpdChDTE9DS19TWU5DX1NUUCwgJmNsb2NrX3N5bmNfZmxhZ3MpOworCQlpZiAoZXRyX3BvcnQwX29ubGluZSB8fCBldHJfcG9ydDFfb25saW5lKQorCQkJc2NoZWR1bGVfd29yaygmZXRyX3dvcmspOworCX0gZWxzZQorCQlzdHBfc3luYy5pbl9zeW5jID0gMTsKKworCWxvY2FsX2lycV9lbmFibGUoKTsKKwlzbXBfY2FsbF9mdW5jdGlvbihjbG9ja19zeW5jX2NwdV9lbmQsIE5VTEwsIDAsIDApOworCXByZWVtcHRfZW5hYmxlKCk7Cit9CisKKy8qCisgKiBTVFAgY2xhc3Mgc3lzZnMgaW50ZXJmYWNlIGZ1bmN0aW9ucworICovCitzdGF0aWMgc3RydWN0IHN5c2Rldl9jbGFzcyBzdHBfc3lzY2xhc3MgPSB7CisJLm5hbWUJPSAic3RwIiwKK307CisKK3N0YXRpYyBzc2l6ZV90IHN0cF9jdG5faWRfc2hvdyhzdHJ1Y3Qgc3lzZGV2X2NsYXNzICpjbGFzcywgY2hhciAqYnVmKQoreworCWlmICghc3RwX29ubGluZSkKKwkJcmV0dXJuIC1FTk9EQVRBOworCXJldHVybiBzcHJpbnRmKGJ1ZiwgIiUwMTZsbHhcbiIsCisJCSAgICAgICAqKHVuc2lnbmVkIGxvbmcgbG9uZyAqKSBzdHBfaW5mby5jdG5pZCk7Cit9CisKK3N0YXRpYyBTWVNERVZfQ0xBU1NfQVRUUihjdG5faWQsIDA0MDAsIHN0cF9jdG5faWRfc2hvdywgTlVMTCk7CisKK3N0YXRpYyBzc2l6ZV90IHN0cF9jdG5fdHlwZV9zaG93KHN0cnVjdCBzeXNkZXZfY2xhc3MgKmNsYXNzLCBjaGFyICpidWYpCit7CisJaWYgKCFzdHBfb25saW5lKQorCQlyZXR1cm4gLUVOT0RBVEE7CisJcmV0dXJuIHNwcmludGYoYnVmLCAiJWlcbiIsIHN0cF9pbmZvLmN0bik7Cit9CisKK3N0YXRpYyBTWVNERVZfQ0xBU1NfQVRUUihjdG5fdHlwZSwgMDQwMCwgc3RwX2N0bl90eXBlX3Nob3csIE5VTEwpOworCitzdGF0aWMgc3NpemVfdCBzdHBfZHN0X29mZnNldF9zaG93KHN0cnVjdCBzeXNkZXZfY2xhc3MgKmNsYXNzLCBjaGFyICpidWYpCit7CisJaWYgKCFzdHBfb25saW5lIHx8ICEoc3RwX2luZm8udmJpdHMgJiAweDIwMDApKQorCQlyZXR1cm4gLUVOT0RBVEE7CisJcmV0dXJuIHNwcmludGYoYnVmLCAiJWlcbiIsIChpbnQpKHMxNikgc3RwX2luZm8uZHN0byk7Cit9CisKK3N0YXRpYyBTWVNERVZfQ0xBU1NfQVRUUihkc3Rfb2Zmc2V0LCAwNDAwLCBzdHBfZHN0X29mZnNldF9zaG93LCBOVUxMKTsKKworc3RhdGljIHNzaXplX3Qgc3RwX2xlYXBfc2Vjb25kc19zaG93KHN0cnVjdCBzeXNkZXZfY2xhc3MgKmNsYXNzLCBjaGFyICpidWYpCit7CisJaWYgKCFzdHBfb25saW5lIHx8ICEoc3RwX2luZm8udmJpdHMgJiAweDgwMDApKQorCQlyZXR1cm4gLUVOT0RBVEE7CisJcmV0dXJuIHNwcmludGYoYnVmLCAiJWlcbiIsIChpbnQpKHMxNikgc3RwX2luZm8ubGVhcHMpOworfQorCitzdGF0aWMgU1lTREVWX0NMQVNTX0FUVFIobGVhcF9zZWNvbmRzLCAwNDAwLCBzdHBfbGVhcF9zZWNvbmRzX3Nob3csIE5VTEwpOworCitzdGF0aWMgc3NpemVfdCBzdHBfc3RyYXR1bV9zaG93KHN0cnVjdCBzeXNkZXZfY2xhc3MgKmNsYXNzLCBjaGFyICpidWYpCit7CisJaWYgKCFzdHBfb25saW5lKQorCQlyZXR1cm4gLUVOT0RBVEE7CisJcmV0dXJuIHNwcmludGYoYnVmLCAiJWlcbiIsIChpbnQpKHMxNikgc3RwX2luZm8uc3RyYXR1bSk7Cit9CisKK3N0YXRpYyBTWVNERVZfQ0xBU1NfQVRUUihzdHJhdHVtLCAwNDAwLCBzdHBfc3RyYXR1bV9zaG93LCBOVUxMKTsKKworc3RhdGljIHNzaXplX3Qgc3RwX3RpbWVfb2Zmc2V0X3Nob3coc3RydWN0IHN5c2Rldl9jbGFzcyAqY2xhc3MsIGNoYXIgKmJ1ZikKK3sKKwlpZiAoIXN0cF9vbmxpbmUgfHwgIShzdHBfaW5mby52Yml0cyAmIDB4MDgwMCkpCisJCXJldHVybiAtRU5PREFUQTsKKwlyZXR1cm4gc3ByaW50ZihidWYsICIlaVxuIiwgKGludCkgc3RwX2luZm8udHRvKTsKK30KKworc3RhdGljIFNZU0RFVl9DTEFTU19BVFRSKHRpbWVfb2Zmc2V0LCAwNDAwLCBzdHBfdGltZV9vZmZzZXRfc2hvdywgTlVMTCk7CisKK3N0YXRpYyBzc2l6ZV90IHN0cF90aW1lX3pvbmVfb2Zmc2V0X3Nob3coc3RydWN0IHN5c2Rldl9jbGFzcyAqY2xhc3MsIGNoYXIgKmJ1ZikKK3sKKwlpZiAoIXN0cF9vbmxpbmUgfHwgIShzdHBfaW5mby52Yml0cyAmIDB4NDAwMCkpCisJCXJldHVybiAtRU5PREFUQTsKKwlyZXR1cm4gc3ByaW50ZihidWYsICIlaVxuIiwgKGludCkoczE2KSBzdHBfaW5mby50em8pOworfQorCitzdGF0aWMgU1lTREVWX0NMQVNTX0FUVFIodGltZV96b25lX29mZnNldCwgMDQwMCwKKwkJCSBzdHBfdGltZV96b25lX29mZnNldF9zaG93LCBOVUxMKTsKKworc3RhdGljIHNzaXplX3Qgc3RwX3RpbWluZ19tb2RlX3Nob3coc3RydWN0IHN5c2Rldl9jbGFzcyAqY2xhc3MsIGNoYXIgKmJ1ZikKK3sKKwlpZiAoIXN0cF9vbmxpbmUpCisJCXJldHVybiAtRU5PREFUQTsKKwlyZXR1cm4gc3ByaW50ZihidWYsICIlaVxuIiwgc3RwX2luZm8udG1kKTsKK30KKworc3RhdGljIFNZU0RFVl9DTEFTU19BVFRSKHRpbWluZ19tb2RlLCAwNDAwLCBzdHBfdGltaW5nX21vZGVfc2hvdywgTlVMTCk7CisKK3N0YXRpYyBzc2l6ZV90IHN0cF90aW1pbmdfc3RhdGVfc2hvdyhzdHJ1Y3Qgc3lzZGV2X2NsYXNzICpjbGFzcywgY2hhciAqYnVmKQoreworCWlmICghc3RwX29ubGluZSkKKwkJcmV0dXJuIC1FTk9EQVRBOworCXJldHVybiBzcHJpbnRmKGJ1ZiwgIiVpXG4iLCBzdHBfaW5mby50c3QpOworfQorCitzdGF0aWMgU1lTREVWX0NMQVNTX0FUVFIodGltaW5nX3N0YXRlLCAwNDAwLCBzdHBfdGltaW5nX3N0YXRlX3Nob3csIE5VTEwpOworCitzdGF0aWMgc3NpemVfdCBzdHBfb25saW5lX3Nob3coc3RydWN0IHN5c2Rldl9jbGFzcyAqY2xhc3MsIGNoYXIgKmJ1ZikKK3sKKwlyZXR1cm4gc3ByaW50ZihidWYsICIlaVxuIiwgc3RwX29ubGluZSk7Cit9CisKK3N0YXRpYyBzc2l6ZV90IHN0cF9vbmxpbmVfc3RvcmUoc3RydWN0IHN5c2Rldl9jbGFzcyAqY2xhc3MsCisJCQkJY29uc3QgY2hhciAqYnVmLCBzaXplX3QgY291bnQpCit7CisJdW5zaWduZWQgaW50IHZhbHVlOworCisJdmFsdWUgPSBzaW1wbGVfc3RydG91bChidWYsIE5VTEwsIDApOworCWlmICh2YWx1ZSAhPSAwICYmIHZhbHVlICE9IDEpCisJCXJldHVybiAtRUlOVkFMOworCWlmICghdGVzdF9iaXQoQ0xPQ0tfU1lOQ19IQVNfU1RQLCAmY2xvY2tfc3luY19mbGFncykpCisJCXJldHVybiAtRU9QTk9UU1VQUDsKKwlzdHBfb25saW5lID0gdmFsdWU7CisJc2NoZWR1bGVfd29yaygmc3RwX3dvcmspOworCXJldHVybiBjb3VudDsKK30KKworLyoKKyAqIENhbid0IHVzZSBTWVNERVZfQ0xBU1NfQVRUUiBiZWNhdXNlIHRoZSBhdHRyaWJ1dGUgc2hvdWxkIGJlIG5hbWVkCisgKiBzdHAvb25saW5lIGJ1dCBhdHRyX29ubGluZSBhbHJlYWR5IGV4aXN0cyBpbiB0aGlzIGZpbGUgLi4KKyAqLworc3RhdGljIHN0cnVjdCBzeXNkZXZfY2xhc3NfYXR0cmlidXRlIGF0dHJfc3RwX29ubGluZSA9IHsKKwkuYXR0ciA9IHsgLm5hbWUgPSAib25saW5lIiwgLm1vZGUgPSAwNjAwIH0sCisJLnNob3cJPSBzdHBfb25saW5lX3Nob3csCisJLnN0b3JlCT0gc3RwX29ubGluZV9zdG9yZSwKK307CisKK3N0YXRpYyBzdHJ1Y3Qgc3lzZGV2X2NsYXNzX2F0dHJpYnV0ZSAqc3RwX2F0dHJpYnV0ZXNbXSA9IHsKKwkmYXR0cl9jdG5faWQsCisJJmF0dHJfY3RuX3R5cGUsCisJJmF0dHJfZHN0X29mZnNldCwKKwkmYXR0cl9sZWFwX3NlY29uZHMsCisJJmF0dHJfc3RwX29ubGluZSwKKwkmYXR0cl9zdHJhdHVtLAorCSZhdHRyX3RpbWVfb2Zmc2V0LAorCSZhdHRyX3RpbWVfem9uZV9vZmZzZXQsCisJJmF0dHJfdGltaW5nX21vZGUsCisJJmF0dHJfdGltaW5nX3N0YXRlLAorCU5VTEwKK307CisKK3N0YXRpYyBpbnQgX19pbml0IHN0cF9pbml0X3N5c2ZzKHZvaWQpCit7CisJc3RydWN0IHN5c2Rldl9jbGFzc19hdHRyaWJ1dGUgKiphdHRyOworCWludCByYzsKKworCXJjID0gc3lzZGV2X2NsYXNzX3JlZ2lzdGVyKCZzdHBfc3lzY2xhc3MpOworCWlmIChyYykKKwkJZ290byBvdXQ7CisJZm9yIChhdHRyID0gc3RwX2F0dHJpYnV0ZXM7ICphdHRyOyBhdHRyKyspIHsKKwkJcmMgPSBzeXNkZXZfY2xhc3NfY3JlYXRlX2ZpbGUoJnN0cF9zeXNjbGFzcywgKmF0dHIpOworCQlpZiAocmMpCisJCQlnb3RvIG91dF91bnJlZzsKKwl9CisJcmV0dXJuIDA7CitvdXRfdW5yZWc6CisJZm9yICg7IGF0dHIgPj0gc3RwX2F0dHJpYnV0ZXM7IGF0dHItLSkKKwkJc3lzZGV2X2NsYXNzX3JlbW92ZV9maWxlKCZzdHBfc3lzY2xhc3MsICphdHRyKTsKKwlzeXNkZXZfY2xhc3NfdW5yZWdpc3Rlcigmc3RwX3N5c2NsYXNzKTsKK291dDoKKwlyZXR1cm4gcmM7Cit9CisKK2RldmljZV9pbml0Y2FsbChzdHBfaW5pdF9zeXNmcyk7CmRpZmYgLS1naXQgYS9hcmNoL3MzOTAva2VybmVsL3RvcG9sb2d5LmMgYi9hcmNoL3MzOTAva2VybmVsL3RvcG9sb2d5LmMKaW5kZXggNjYxYTA3Mi4uMjEyZDYxOCAxMDA2NDQKLS0tIGEvYXJjaC9zMzkwL2tlcm5lbC90b3BvbG9neS5jCisrKyBiL2FyY2gvczM5MC9rZXJuZWwvdG9wb2xvZ3kuYwpAQCAtMzEzLDggKzMxMyw2IEBACiAJCW1hY2hpbmVfaGFzX3RvcG9sb2d5X2lycSA9IDE7CiAKIAl0bF9pbmZvID0gYWxsb2NfYm9vdG1lbV9wYWdlcyhQQUdFX1NJWkUpOwotCWlmICghdGxfaW5mbykKLQkJZ290byBlcnJvcjsKIAlpbmZvID0gdGxfaW5mbzsKIAlzdHNpKGluZm8sIDE1LCAxLCAyKTsKIApkaWZmIC0tZ2l0IGEvYXJjaC9zMzkwL2tlcm5lbC92bWxpbnV4Lmxkcy5TIGIvYXJjaC9zMzkwL2tlcm5lbC92bWxpbnV4Lmxkcy5TCmluZGV4IGI0NjA3MTUuLjc2YzFlNjAgMTAwNjQ0Ci0tLSBhL2FyY2gvczM5MC9rZXJuZWwvdm1saW51eC5sZHMuUworKysgYi9hcmNoL3MzOTAva2VybmVsL3ZtbGludXgubGRzLlMKQEAgLTQwLDcgKzQwLDYgQEAKIAlfZXRleHQgPSAuOwkJLyogRW5kIG9mIHRleHQgc2VjdGlvbiAqLwogCiAJTk9URVMgOnRleHQgOm5vdGUKLQlCVUdfVEFCTEUgOnRleHQKIAogCVJPREFUQQogCmRpZmYgLS1naXQgYS9hcmNoL3MzOTAva2VybmVsL3Z0aW1lLmMgYi9hcmNoL3MzOTAva2VybmVsL3Z0aW1lLmMKaW5kZXggY2E5MGVlMy4uMGZhNWRjNSAxMDA2NDQKLS0tIGEvYXJjaC9zMzkwL2tlcm5lbC92dGltZS5jCisrKyBiL2FyY2gvczM5MC9rZXJuZWwvdnRpbWUuYwpAQCAtMTM2LDcgKzEzNiw3IEBACiB9CiAjZW5kaWYKIAotc3RhdGljIHZvaWQgc3RhcnRfY3B1X3RpbWVyKHZvaWQpCit2b2lkIHZ0aW1lX3N0YXJ0X2NwdV90aW1lcih2b2lkKQogewogCXN0cnVjdCB2dGltZXJfcXVldWUgKnZ0X2xpc3Q7CiAKQEAgLTE1MCw3ICsxNTAsNyBAQAogCQlzZXRfdnRpbWVyKHZ0X2xpc3QtPmlkbGUpOwogfQogCi1zdGF0aWMgdm9pZCBzdG9wX2NwdV90aW1lcih2b2lkKQordm9pZCB2dGltZV9zdG9wX2NwdV90aW1lcih2b2lkKQogewogCXN0cnVjdCB2dGltZXJfcXVldWUgKnZ0X2xpc3Q7CiAKQEAgLTMxOCw4ICszMTgsNyBAQAogCXZ0X2xpc3QgPSAmcGVyX2NwdSh2aXJ0X2NwdV90aW1lciwgdGltZXItPmNwdSk7CiAJc3Bpbl9sb2NrX2lycXNhdmUoJnZ0X2xpc3QtPmxvY2ssIGZsYWdzKTsKIAotCWlmICh0aW1lci0+Y3B1ICE9IHNtcF9wcm9jZXNzb3JfaWQoKSkKLQkJcHJpbnRrKCJpbnRlcm5hbF9hZGRfdnRpbWVyOiBCVUcsIHJ1bm5pbmcgb24gd3JvbmcgQ1BVIik7CisJQlVHX09OKHRpbWVyLT5jcHUgIT0gc21wX3Byb2Nlc3Nvcl9pZCgpKTsKIAogCS8qIGlmIGxpc3QgaXMgZW1wdHkgd2Ugb25seSBoYXZlIHRvIHNldCB0aGUgdGltZXIgKi8KIAlpZiAobGlzdF9lbXB0eSgmdnRfbGlzdC0+bGlzdCkpIHsKQEAgLTM1MywyNSArMzUyLDEyIEBACiAJcHV0X2NwdSgpOwogfQogCi1zdGF0aWMgaW5saW5lIGludCBwcmVwYXJlX3Z0aW1lcihzdHJ1Y3QgdnRpbWVyX2xpc3QgKnRpbWVyKQorc3RhdGljIGlubGluZSB2b2lkIHByZXBhcmVfdnRpbWVyKHN0cnVjdCB2dGltZXJfbGlzdCAqdGltZXIpCiB7Ci0JaWYgKCF0aW1lci0+ZnVuY3Rpb24pIHsKLQkJcHJpbnRrKCJhZGRfdmlydF90aW1lcjogdW5pbml0aWFsaXplZCB0aW1lclxuIik7Ci0JCXJldHVybiAtRUlOVkFMOwotCX0KLQotCWlmICghdGltZXItPmV4cGlyZXMgfHwgdGltZXItPmV4cGlyZXMgPiBWVElNRVJfTUFYX1NMSUNFKSB7Ci0JCXByaW50aygiYWRkX3ZpcnRfdGltZXI6IGludmFsaWQgdGltZXIgZXhwaXJlIHZhbHVlIVxuIik7Ci0JCXJldHVybiAtRUlOVkFMOwotCX0KLQotCWlmICh2dGltZXJfcGVuZGluZyh0aW1lcikpIHsKLQkJcHJpbnRrKCJhZGRfdmlydF90aW1lcjogdGltZXIgcGVuZGluZ1xuIik7Ci0JCXJldHVybiAtRUJVU1k7Ci0JfQotCisJQlVHX09OKCF0aW1lci0+ZnVuY3Rpb24pOworCUJVR19PTighdGltZXItPmV4cGlyZXMgfHwgdGltZXItPmV4cGlyZXMgPiBWVElNRVJfTUFYX1NMSUNFKTsKKwlCVUdfT04odnRpbWVyX3BlbmRpbmcodGltZXIpKTsKIAl0aW1lci0+Y3B1ID0gZ2V0X2NwdSgpOwotCXJldHVybiAwOwogfQogCiAvKgpAQCAtMzgyLDEwICszNjgsNyBAQAogCXN0cnVjdCB2dGltZXJfbGlzdCAqdGltZXI7CiAKIAl0aW1lciA9IChzdHJ1Y3QgdnRpbWVyX2xpc3QgKiluZXc7Ci0KLQlpZiAocHJlcGFyZV92dGltZXIodGltZXIpIDwgMCkKLQkJcmV0dXJuOwotCisJcHJlcGFyZV92dGltZXIodGltZXIpOwogCXRpbWVyLT5pbnRlcnZhbCA9IDA7CiAJaW50ZXJuYWxfYWRkX3Z0aW1lcih0aW1lcik7CiB9CkBAIC0zOTksMTAgKzM4Miw3IEBACiAJc3RydWN0IHZ0aW1lcl9saXN0ICp0aW1lcjsKIAogCXRpbWVyID0gKHN0cnVjdCB2dGltZXJfbGlzdCAqKW5ldzsKLQotCWlmIChwcmVwYXJlX3Z0aW1lcih0aW1lcikgPCAwKQotCQlyZXR1cm47Ci0KKwlwcmVwYXJlX3Z0aW1lcih0aW1lcik7CiAJdGltZXItPmludGVydmFsID0gdGltZXItPmV4cGlyZXM7CiAJaW50ZXJuYWxfYWRkX3Z0aW1lcih0aW1lcik7CiB9CkBAIC00MjMsMTUgKzQwMyw4IEBACiAJdW5zaWduZWQgbG9uZyBmbGFnczsKIAlpbnQgY3B1OwogCi0JaWYgKCF0aW1lci0+ZnVuY3Rpb24pIHsKLQkJcHJpbnRrKCJtb2RfdmlydF90aW1lcjogdW5pbml0aWFsaXplZCB0aW1lclxuIik7Ci0JCXJldHVybgktRUlOVkFMOwotCX0KLQotCWlmICghZXhwaXJlcyB8fCBleHBpcmVzID4gVlRJTUVSX01BWF9TTElDRSkgewotCQlwcmludGsoIm1vZF92aXJ0X3RpbWVyOiBpbnZhbGlkIGV4cGlyZSByYW5nZVxuIik7Ci0JCXJldHVybiAtRUlOVkFMOwotCX0KKwlCVUdfT04oIXRpbWVyLT5mdW5jdGlvbik7CisJQlVHX09OKCFleHBpcmVzIHx8IGV4cGlyZXMgPiBWVElNRVJfTUFYX1NMSUNFKTsKIAogCS8qCiAJICogVGhpcyBpcyBhIGNvbW1vbiBvcHRpbWl6YXRpb24gdHJpZ2dlcmVkIGJ5IHRoZQpAQCAtNDQ0LDYgKzQxNyw5IEBACiAJY3B1ID0gZ2V0X2NwdSgpOwogCXZ0X2xpc3QgPSAmcGVyX2NwdSh2aXJ0X2NwdV90aW1lciwgY3B1KTsKIAorCS8qIGNoZWNrIGlmIHdlIHJ1biBvbiB0aGUgcmlnaHQgQ1BVICovCisJQlVHX09OKHRpbWVyLT5jcHUgIT0gY3B1KTsKKwogCS8qIGRpc2FibGUgaW50ZXJydXB0cyBiZWZvcmUgdGVzdCBpZiB0aW1lciBpcyBwZW5kaW5nICovCiAJc3Bpbl9sb2NrX2lycXNhdmUoJnZ0X2xpc3QtPmxvY2ssIGZsYWdzKTsKIApAQCAtNDU4LDE0ICs0MzQsNiBAQAogCQlyZXR1cm4gMDsKIAl9CiAKLQkvKiBjaGVjayBpZiB3ZSBydW4gb24gdGhlIHJpZ2h0IENQVSAqLwotCWlmICh0aW1lci0+Y3B1ICE9IGNwdSkgewotCQlwcmludGsoIm1vZF92aXJ0X3RpbWVyOiBydW5uaW5nIG9uIHdyb25nIENQVSwgY2hlY2sgeW91ciBjb2RlXG4iKTsKLQkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmdnRfbGlzdC0+bG9jaywgZmxhZ3MpOwotCQlwdXRfY3B1KCk7Ci0JCXJldHVybiAtRUlOVkFMOwotCX0KLQogCWxpc3RfZGVsX2luaXQoJnRpbWVyLT5lbnRyeSk7CiAJdGltZXItPmV4cGlyZXMgPSBleHBpcmVzOwogCkBAIC01MzYsMjQgKzUwNCw2IEBACiAKIH0KIAotc3RhdGljIGludCB2dGltZXJfaWRsZV9ub3RpZnkoc3RydWN0IG5vdGlmaWVyX2Jsb2NrICpzZWxmLAotCQkJICAgICAgdW5zaWduZWQgbG9uZyBhY3Rpb24sIHZvaWQgKmhjcHUpCi17Ci0Jc3dpdGNoIChhY3Rpb24pIHsKLQljYXNlIFMzOTBfQ1BVX0lETEU6Ci0JCXN0b3BfY3B1X3RpbWVyKCk7Ci0JCWJyZWFrOwotCWNhc2UgUzM5MF9DUFVfTk9UX0lETEU6Ci0JCXN0YXJ0X2NwdV90aW1lcigpOwotCQlicmVhazsKLQl9Ci0JcmV0dXJuIE5PVElGWV9PSzsKLX0KLQotc3RhdGljIHN0cnVjdCBub3RpZmllcl9ibG9jayB2dGltZXJfaWRsZV9uYiA9IHsKLQkubm90aWZpZXJfY2FsbCA9IHZ0aW1lcl9pZGxlX25vdGlmeSwKLX07Ci0KIHZvaWQgX19pbml0IHZ0aW1lX2luaXQodm9pZCkKIHsKIAkvKiByZXF1ZXN0IHRoZSBjcHUgdGltZXIgZXh0ZXJuYWwgaW50ZXJydXB0ICovCkBAIC01NjEsOSArNTExLDYgQEAKIAkJCQkJICAgICAgJmV4dF9pbnRfaW5mb190aW1lcikgIT0gMCkKIAkJcGFuaWMoIkNvdWxkbid0IHJlcXVlc3QgZXh0ZXJuYWwgaW50ZXJydXB0IDB4MTAwNSIpOwogCi0JaWYgKHJlZ2lzdGVyX2lkbGVfbm90aWZpZXIoJnZ0aW1lcl9pZGxlX25iKSkKLQkJcGFuaWMoIkNvdWxkbid0IHJlZ2lzdGVyIGlkbGUgbm90aWZpZXIiKTsKLQogCS8qIEVuYWJsZSBjcHUgdGltZXIgaW50ZXJydXB0cyBvbiB0aGUgYm9vdCBjcHUuICovCiAJaW5pdF9jcHVfdnRpbWVyKCk7CiB9CmRpZmYgLS1naXQgYS9hcmNoL3MzOTAvbW0vaW5pdC5jIGIvYXJjaC9zMzkwL21tL2luaXQuYwppbmRleCAwNTU5ODY0Li4zODhjYzc0IDEwMDY0NAotLS0gYS9hcmNoL3MzOTAvbW0vaW5pdC5jCisrKyBiL2FyY2gvczM5MC9tbS9pbml0LmMKQEAgLTIwMiwzICsyMDIsMjIgQEAKICAgICAgICAgfQogfQogI2VuZGlmCisKKyNpZmRlZiBDT05GSUdfTUVNT1JZX0hPVFBMVUcKK2ludCBhcmNoX2FkZF9tZW1vcnkoaW50IG5pZCwgdTY0IHN0YXJ0LCB1NjQgc2l6ZSkKK3sKKwlzdHJ1Y3QgcGdsaXN0X2RhdGEgKnBnZGF0OworCXN0cnVjdCB6b25lICp6b25lOworCWludCByYzsKKworCXBnZGF0ID0gTk9ERV9EQVRBKG5pZCk7CisJem9uZSA9IHBnZGF0LT5ub2RlX3pvbmVzICsgWk9ORV9OT1JNQUw7CisJcmMgPSB2bWVtX2FkZF9tYXBwaW5nKHN0YXJ0LCBzaXplKTsKKwlpZiAocmMpCisJCXJldHVybiByYzsKKwlyYyA9IF9fYWRkX3BhZ2VzKHpvbmUsIFBGTl9ET1dOKHN0YXJ0KSwgUEZOX0RPV04oc2l6ZSkpOworCWlmIChyYykKKwkJdm1lbV9yZW1vdmVfbWFwcGluZyhzdGFydCwgc2l6ZSk7CisJcmV0dXJuIHJjOworfQorI2VuZGlmIC8qIENPTkZJR19NRU1PUllfSE9UUExVRyAqLwpkaWZmIC0tZ2l0IGEvYXJjaC9zaC9ib2FyZHMvbGFuZGlzay9naW8uYyBiL2FyY2gvc2gvYm9hcmRzL2xhbmRpc2svZ2lvLmMKaW5kZXggMTcwMjUwOC4uMGMxNWIwYSAxMDA2NDQKLS0tIGEvYXJjaC9zaC9ib2FyZHMvbGFuZGlzay9naW8uYworKysgYi9hcmNoL3NoL2JvYXJkcy9sYW5kaXNrL2dpby5jCkBAIC0xNCw2ICsxNCw3IEBACiAgKi8KICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxsaW51eC9rZGV2X3QuaD4KICNpbmNsdWRlIDxsaW51eC9jZGV2Lmg+CiAjaW5jbHVkZSA8bGludXgvZnMuaD4KQEAgLTMyLDE3ICszMywyMCBAQAogc3RhdGljIGludCBnaW9fb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlscCkKIHsKIAlpbnQgbWlub3I7CisJaW50IHJldCA9IC1FTk9FTlQ7CiAKKwlsb2NrX2tlcm5lbCgpOwogCW1pbm9yID0gTUlOT1IoaW5vZGUtPmlfcmRldik7CiAJaWYgKG1pbm9yIDwgREVWQ09VTlQpIHsKIAkJaWYgKG9wZW5DbnQgPiAwKSB7Ci0JCQlyZXR1cm4gLUVBTFJFQURZOworCQkJcmV0ID0gLUVBTFJFQURZOwogCQl9IGVsc2UgewogCQkJb3BlbkNudCsrOwotCQkJcmV0dXJuIDA7CisJCQlyZXQgPSAwOwogCQl9CiAJfQotCXJldHVybiAtRU5PRU5UOworCXVubG9ja19rZXJuZWwoKTsKKwlyZXR1cm4gcmV0OwogfQogCiBzdGF0aWMgaW50IGdpb19jbG9zZShzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlscCkKZGlmZiAtLWdpdCBhL2FyY2gvc2gvY29uZmlncy9sYW5kaXNrX2RlZmNvbmZpZyBiL2FyY2gvc2gvY29uZmlncy9sYW5kaXNrX2RlZmNvbmZpZwppbmRleCBmNTJkYjEyLi4zOGY5MzRhIDEwMDY0NAotLS0gYS9hcmNoL3NoL2NvbmZpZ3MvbGFuZGlza19kZWZjb25maWcKKysrIGIvYXJjaC9zaC9jb25maWdzL2xhbmRpc2tfZGVmY29uZmlnCkBAIC0yMjYsNyArMjI2LDYgQEAKICMKIENPTkZJR19TSF9UTVU9eQogQ09ORklHX1NIX1RJTUVSX0lSUT0xNgotIyBDT05GSUdfTk9fSURMRV9IWiBpcyBub3Qgc2V0CiBDT05GSUdfU0hfUENMS19GUkVRPTMzMzMzMzMzCiAKICMKZGlmZiAtLWdpdCBhL2FyY2gvc2gvY29uZmlncy9sYm94cmUyX2RlZmNvbmZpZyBiL2FyY2gvc2gvY29uZmlncy9sYm94cmUyX2RlZmNvbmZpZwppbmRleCA5ZmE2NmQ5Li5iNjhiNmNkIDEwMDY0NAotLS0gYS9hcmNoL3NoL2NvbmZpZ3MvbGJveHJlMl9kZWZjb25maWcKKysrIGIvYXJjaC9zaC9jb25maWdzL2xib3hyZTJfZGVmY29uZmlnCkBAIC0yMzEsNyArMjMxLDYgQEAKICMKIENPTkZJR19TSF9UTVU9eQogQ09ORklHX1NIX1RJTUVSX0lSUT0xNgotIyBDT05GSUdfTk9fSURMRV9IWiBpcyBub3Qgc2V0CiBDT05GSUdfU0hfUENMS19GUkVRPTQwMDAwMDAwCiAKICMKZGlmZiAtLWdpdCBhL2FyY2gvc2gvY29uZmlncy9zZTc3MDVfZGVmY29uZmlnIGIvYXJjaC9zaC9jb25maWdzL3NlNzcwNV9kZWZjb25maWcKaW5kZXggODQ3MTdkOC4uNDkwZGNiYyAxMDA2NDQKLS0tIGEvYXJjaC9zaC9jb25maWdzL3NlNzcwNV9kZWZjb25maWcKKysrIGIvYXJjaC9zaC9jb25maWdzL3NlNzcwNV9kZWZjb25maWcKQEAgLTIzOSw3ICsyMzksNiBAQAogIwogQ09ORklHX1NIX1RNVT15CiBDT05GSUdfU0hfVElNRVJfSVJRPTE2Ci0jIENPTkZJR19OT19JRExFX0haIGlzIG5vdCBzZXQKIENPTkZJR19TSF9QQ0xLX0ZSRVE9MzMzMzMzMzMKIAogIwpkaWZmIC0tZ2l0IGEvYXJjaC9zaC9jb25maWdzL3NlNzcxMl9kZWZjb25maWcgYi9hcmNoL3NoL2NvbmZpZ3Mvc2U3NzEyX2RlZmNvbmZpZwppbmRleCAyNDBhMWNlLi4yZGQ4M2FmIDEwMDY0NAotLS0gYS9hcmNoL3NoL2NvbmZpZ3Mvc2U3NzEyX2RlZmNvbmZpZworKysgYi9hcmNoL3NoL2NvbmZpZ3Mvc2U3NzEyX2RlZmNvbmZpZwpAQCAtMjM2LDcgKzIzNiw2IEBACiAjCiBDT05GSUdfU0hfVE1VPXkKIENPTkZJR19TSF9USU1FUl9JUlE9MTYKLSMgQ09ORklHX05PX0lETEVfSFogaXMgbm90IHNldAogQ09ORklHX1NIX1BDTEtfRlJFUT02NjY2NjY2NgogCiAjCmRpZmYgLS1naXQgYS9hcmNoL3NoL2NvbmZpZ3Mvc2U3NzUwX2RlZmNvbmZpZyBiL2FyY2gvc2gvY29uZmlncy9zZTc3NTBfZGVmY29uZmlnCmluZGV4IGM2MGI2ZmQuLjE2Nzc4NmYgMTAwNjQ0Ci0tLSBhL2FyY2gvc2gvY29uZmlncy9zZTc3NTBfZGVmY29uZmlnCisrKyBiL2FyY2gvc2gvY29uZmlncy9zZTc3NTBfZGVmY29uZmlnCkBAIC0yMzUsNyArMjM1LDYgQEAKICMKIENPTkZJR19TSF9UTVU9eQogQ09ORklHX1NIX1RJTUVSX0lSUT0xNgotIyBDT05GSUdfTk9fSURMRV9IWiBpcyBub3Qgc2V0CiBDT05GSUdfU0hfUENMS19GUkVRPTMzMzMzMzMzCiAKICMKZGlmZiAtLWdpdCBhL2FyY2gvc2gva2VybmVsL3N0YWNrdHJhY2UuYyBiL2FyY2gvc2gva2VybmVsL3N0YWNrdHJhY2UuYwppbmRleCBkNDFlNTYxLi4xYjJhZTM1IDEwMDY0NAotLS0gYS9hcmNoL3NoL2tlcm5lbC9zdGFja3RyYWNlLmMKKysrIGIvYXJjaC9zaC9rZXJuZWwvc3RhY2t0cmFjZS5jCkBAIC0zNCwzICszNCw0IEBACiAJCX0KIAl9CiB9CitFWFBPUlRfU1lNQk9MX0dQTChzYXZlX3N0YWNrX3RyYWNlKTsKZGlmZiAtLWdpdCBhL2FyY2gvc2gva2VybmVsL3ZtbGludXhfMzIubGRzLlMgYi9hcmNoL3NoL2tlcm5lbC92bWxpbnV4XzMyLmxkcy5TCmluZGV4IGM3MTEzNzguLjdiNGI4MmJkIDEwMDY0NAotLS0gYS9hcmNoL3NoL2tlcm5lbC92bWxpbnV4XzMyLmxkcy5TCisrKyBiL2FyY2gvc2gva2VybmVsL3ZtbGludXhfMzIubGRzLlMKQEAgLTQ0LDcgKzQ0LDYgQEAKIAogCV9ldGV4dCA9IC47CQkJLyogRW5kIG9mIHRleHQgc2VjdGlvbiAqLwogCi0JQlVHX1RBQkxFCiAJTk9URVMKIAlST19EQVRBKFBBR0VfU0laRSkKIApkaWZmIC0tZ2l0IGEvYXJjaC9zaC9rZXJuZWwvdm1saW51eF82NC5sZHMuUyBiL2FyY2gvc2gva2VybmVsL3ZtbGludXhfNjQubGRzLlMKaW5kZXggZDFlMTc3MC4uMzNmYTQ2NCAxMDA2NDQKLS0tIGEvYXJjaC9zaC9rZXJuZWwvdm1saW51eF82NC5sZHMuUworKysgYi9hcmNoL3NoL2tlcm5lbC92bWxpbnV4XzY0Lmxkcy5TCkBAIC02NSw3ICs2NSw2IEBACiAKIAlfZXRleHQgPSAuOwkJCS8qIEVuZCBvZiB0ZXh0IHNlY3Rpb24gKi8KIAotCUJVR19UQUJMRQogCU5PVEVTIAogCVJPX0RBVEEoUEFHRV9TSVpFKQogCmRpZmYgLS1naXQgYS9hcmNoL3NwYXJjL2tlcm5lbC9hcGMuYyBiL2FyY2gvc3BhcmMva2VybmVsL2FwYy5jCmluZGV4IGQwNmE0MDUuLjY3MDc0MjIgMTAwNjQ0Ci0tLSBhL2FyY2gvc3BhcmMva2VybmVsL2FwYy5jCisrKyBiL2FyY2gvc3BhcmMva2VybmVsL2FwYy5jCkBAIC0xMCw2ICsxMCw3IEBACiAjaW5jbHVkZSA8bGludXgvZXJybm8uaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAjaW5jbHVkZSA8bGludXgvbWlzY2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvcG0uaD4KIAogI2luY2x1ZGUgPGFzbS9pby5oPgpAQCAtNzUsNiArNzYsNyBAQAogCiBzdGF0aWMgaW50IGFwY19vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmKQogeworCWN5Y2xlX2tlcm5lbF9sb2NrKCk7CiAJcmV0dXJuIDA7CiB9CiAKZGlmZiAtLWdpdCBhL2FyY2gvc3BhcmM2NC9LY29uZmlnIGIvYXJjaC9zcGFyYzY0L0tjb25maWcKaW5kZXggZWIzNmYzYi4uZmNhOTI0NiAxMDA2NDQKLS0tIGEvYXJjaC9zcGFyYzY0L0tjb25maWcKKysrIGIvYXJjaC9zcGFyYzY0L0tjb25maWcKQEAgLTExLDYgKzExLDggQEAKIGNvbmZpZyBTUEFSQzY0CiAJYm9vbAogCWRlZmF1bHQgeQorCXNlbGVjdCBIQVZFX0RZTkFNSUNfRlRSQUNFCisJc2VsZWN0IEhBVkVfRlRSQUNFCiAJc2VsZWN0IEhBVkVfSURFCiAJc2VsZWN0IEhBVkVfTE1CCiAJc2VsZWN0IEhBVkVfQVJDSF9LR0RCCmRpZmYgLS1naXQgYS9hcmNoL3NwYXJjNjQvS2NvbmZpZy5kZWJ1ZyBiL2FyY2gvc3BhcmM2NC9LY29uZmlnLmRlYnVnCmluZGV4IDZhNGQyOGEuLmQ2ZDMyZDEgMTAwNjQ0Ci0tLSBhL2FyY2gvc3BhcmM2NC9LY29uZmlnLmRlYnVnCisrKyBiL2FyY2gvc3BhcmM2NC9LY29uZmlnLmRlYnVnCkBAIC0zMyw3ICszMyw3IEBACiAKIGNvbmZpZyBNQ09VTlQKIAlib29sCi0JZGVwZW5kcyBvbiBTVEFDS19ERUJVRworCWRlcGVuZHMgb24gU1RBQ0tfREVCVUcgfHwgRlRSQUNFCiAJZGVmYXVsdCB5CiAKIGNvbmZpZyBGUkFNRV9QT0lOVEVSCmRpZmYgLS1naXQgYS9hcmNoL3NwYXJjNjQva2VybmVsL01ha2VmaWxlIGIvYXJjaC9zcGFyYzY0L2tlcm5lbC9NYWtlZmlsZQppbmRleCBlYzRmNWViLi40MThiNTc4IDEwMDY0NAotLS0gYS9hcmNoL3NwYXJjNjQva2VybmVsL01ha2VmaWxlCisrKyBiL2FyY2gvc3BhcmM2NC9rZXJuZWwvTWFrZWZpbGUKQEAgLTE0LDYgKzE0LDcgQEAKIAkJICAgcG93ZXIubyBzYnVzLm8gc3BhcmM2NF9rc3ltcy5vIGNobWMubyBcCiAJCSAgIHZpc2VtdWwubyBwcm9tLm8gb2ZfZGV2aWNlLm8gaHZhcGkubyBzc3RhdGUubyBtZGVzYy5vCiAKK29iai0kKENPTkZJR19EWU5BTUlDX0ZUUkFDRSkgKz0gZnRyYWNlLm8KIG9iai0kKENPTkZJR19TVEFDS1RSQUNFKSArPSBzdGFja3RyYWNlLm8KIG9iai0kKENPTkZJR19QQ0kpCSArPSBlYnVzLm8gcGNpX2NvbW1vbi5vIFwKIAkJCSAgICBwY2lfcHN5Y2hvLm8gcGNpX3NhYnJlLm8gcGNpX3NjaGl6by5vIFwKZGlmZiAtLWdpdCBhL2FyY2gvc3BhcmM2NC9rZXJuZWwvZnRyYWNlLmMgYi9hcmNoL3NwYXJjNjQva2VybmVsL2Z0cmFjZS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQyOThkMGEKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL3NwYXJjNjQva2VybmVsL2Z0cmFjZS5jCkBAIC0wLDAgKzEsOTQgQEAKKyNpbmNsdWRlIDxsaW51eC9zcGlubG9jay5oPgorI2luY2x1ZGUgPGxpbnV4L2hhcmRpcnEuaD4KKyNpbmNsdWRlIDxsaW51eC9mdHJhY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9wZXJjcHUuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvbGlzdC5oPgorCisjaW5jbHVkZSA8YXNtL2Z0cmFjZS5oPgorCitzdGF0aWMgY29uc3QgdTMyIGZ0cmFjZV9ub3AgPSAweDAxMDAwMDAwOworCitub3RyYWNlIHVuc2lnbmVkIGNoYXIgKmZ0cmFjZV9ub3BfcmVwbGFjZSh2b2lkKQoreworCXJldHVybiAoY2hhciAqKSZmdHJhY2Vfbm9wOworfQorCitub3RyYWNlIHVuc2lnbmVkIGNoYXIgKmZ0cmFjZV9jYWxsX3JlcGxhY2UodW5zaWduZWQgbG9uZyBpcCwgdW5zaWduZWQgbG9uZyBhZGRyKQoreworCXN0YXRpYyB1MzIgY2FsbDsKKwlzMzIgb2ZmOworCisJb2ZmID0gKChzMzIpYWRkciAtIChzMzIpaXApOworCWNhbGwgPSAweDQwMDAwMDAwIHwgKCh1MzIpb2ZmID4+IDIpOworCisJcmV0dXJuICh1bnNpZ25lZCBjaGFyICopICZjYWxsOworfQorCitub3RyYWNlIGludAorZnRyYWNlX21vZGlmeV9jb2RlKHVuc2lnbmVkIGxvbmcgaXAsIHVuc2lnbmVkIGNoYXIgKm9sZF9jb2RlLAorCQkgICB1bnNpZ25lZCBjaGFyICpuZXdfY29kZSkKK3sKKwl1MzIgb2xkID0gKih1MzIgKilvbGRfY29kZTsKKwl1MzIgbmV3ID0gKih1MzIgKiluZXdfY29kZTsKKwl1MzIgcmVwbGFjZWQ7CisJaW50IGZhdWx0ZWQ7CisKKwlfX2FzbV9fIF9fdm9sYXRpbGVfXygKKwkiMToJY2FzCVslW2lwXV0sICVbb2xkXSwgJVtuZXddXG4iCisJIglmbHVzaAklW2lwXVxuIgorCSIJbW92CTAsICVbZmF1bHRlZF1cbiIKKwkiMjpcbiIKKwkiCS5zZWN0aW9uIC5maXh1cCwjYWxsb2MsI2V4ZWNpbnN0clxuIgorCSIJLmFsaWduCTRcbiIKKwkiMzoJc2V0aGkJJSVoaSgyYiksICVbZmF1bHRlZF1cbiIKKwkiCWptcGwJJVtmYXVsdGVkXSArICUlbG8oMmIpLCAlJWcwXG4iCisJIgkgbW92CTEsICVbZmF1bHRlZF1cbiIKKwkiCS5wcmV2aW91c1xuIgorCSIJLnNlY3Rpb24gX19leF90YWJsZSxcImFcIlxuIgorCSIJLmFsaWduCTRcbiIKKwkiCS53b3JkCTFiLCAzYlxuIgorCSIJLnByZXZpb3VzXG4iCisJOiAiPXIiIChyZXBsYWNlZCksIFtmYXVsdGVkXSAiPXIiIChmYXVsdGVkKQorCTogW25ld10gIjAiIChuZXcpLCBbb2xkXSAiciIgKG9sZCksIFtpcF0gInIiIChpcCkKKwk6ICJtZW1vcnkiKTsKKworCWlmIChyZXBsYWNlZCAhPSBvbGQgJiYgcmVwbGFjZWQgIT0gbmV3KQorCQlmYXVsdGVkID0gMjsKKworCXJldHVybiBmYXVsdGVkOworfQorCitub3RyYWNlIGludCBmdHJhY2VfdXBkYXRlX2Z0cmFjZV9mdW5jKGZ0cmFjZV9mdW5jX3QgZnVuYykKK3sKKwl1bnNpZ25lZCBsb25nIGlwID0gKHVuc2lnbmVkIGxvbmcpKCZmdHJhY2VfY2FsbCk7CisJdW5zaWduZWQgY2hhciBvbGRbTUNPVU5UX0lOU05fU0laRV0sICpuZXc7CisKKwltZW1jcHkob2xkLCAmZnRyYWNlX2NhbGwsIE1DT1VOVF9JTlNOX1NJWkUpOworCW5ldyA9IGZ0cmFjZV9jYWxsX3JlcGxhY2UoaXAsICh1bnNpZ25lZCBsb25nKWZ1bmMpOworCXJldHVybiBmdHJhY2VfbW9kaWZ5X2NvZGUoaXAsIG9sZCwgbmV3KTsKK30KKworbm90cmFjZSBpbnQgZnRyYWNlX21jb3VudF9zZXQodW5zaWduZWQgbG9uZyAqZGF0YSkKK3sKKwl1bnNpZ25lZCBsb25nIGlwID0gKGxvbmcpKCZtY291bnRfY2FsbCk7CisJdW5zaWduZWQgbG9uZyAqYWRkciA9IGRhdGE7CisJdW5zaWduZWQgY2hhciBvbGRbTUNPVU5UX0lOU05fU0laRV0sICpuZXc7CisKKwkvKgorCSAqIFJlcGxhY2UgdGhlIG1jb3VudCBzdHViIHdpdGggYSBwb2ludGVyIHRvIHRoZQorCSAqIGlwIHJlY29yZGVyIGZ1bmN0aW9uLgorCSAqLworCW1lbWNweShvbGQsICZtY291bnRfY2FsbCwgTUNPVU5UX0lOU05fU0laRSk7CisJbmV3ID0gZnRyYWNlX2NhbGxfcmVwbGFjZShpcCwgKmFkZHIpOworCSphZGRyID0gZnRyYWNlX21vZGlmeV9jb2RlKGlwLCBvbGQsIG5ldyk7CisKKwlyZXR1cm4gMDsKK30KKworCitpbnQgX19pbml0IGZ0cmFjZV9keW5fYXJjaF9pbml0KHZvaWQgKmRhdGEpCit7CisJZnRyYWNlX21jb3VudF9zZXQoZGF0YSk7CisJcmV0dXJuIDA7Cit9CmRpZmYgLS1naXQgYS9hcmNoL3NwYXJjNjQva2VybmVsL3NwYXJjNjRfa3N5bXMuYyBiL2FyY2gvc3BhcmM2NC9rZXJuZWwvc3BhcmM2NF9rc3ltcy5jCmluZGV4IDhhYzBiOTkuLjQ5ZDNlYTUwIDEwMDY0NAotLS0gYS9hcmNoL3NwYXJjNjQva2VybmVsL3NwYXJjNjRfa3N5bXMuYworKysgYi9hcmNoL3NwYXJjNjQva2VybmVsL3NwYXJjNjRfa3N5bXMuYwpAQCAtNTMsNiArNTMsNyBAQAogI2luY2x1ZGUgPGFzbS9uczg3MzAzLmg+CiAjaW5jbHVkZSA8YXNtL3RpbWVyLmg+CiAjaW5jbHVkZSA8YXNtL2NwdWRhdGEuaD4KKyNpbmNsdWRlIDxhc20vZnRyYWNlLmg+CiAKIHN0cnVjdCBwb2xsIHsKIAlpbnQgZmQ7CkBAIC0xMTEsOCArMTEyLDcgQEAKIEVYUE9SVF9TWU1CT0woc21wX2NhbGxfZnVuY3Rpb24pOwogI2VuZGlmIC8qIENPTkZJR19TTVAgKi8KIAotI2lmIGRlZmluZWQoQ09ORklHX01DT1VOVCkKLWV4dGVybiB2b2lkIF9tY291bnQodm9pZCk7CisjaWZkZWYgQ09ORklHX01DT1VOVAogRVhQT1JUX1NZTUJPTChfbWNvdW50KTsKICNlbmRpZgogCmRpZmYgLS1naXQgYS9hcmNoL3NwYXJjNjQva2VybmVsL3N0YWNrdHJhY2UuYyBiL2FyY2gvc3BhcmM2NC9rZXJuZWwvc3RhY2t0cmFjZS5jCmluZGV4IGM3M2NlM2YuLmIzZTM3MzcgMTAwNjQ0Ci0tLSBhL2FyY2gvc3BhcmM2NC9rZXJuZWwvc3RhY2t0cmFjZS5jCisrKyBiL2FyY2gvc3BhcmM2NC9rZXJuZWwvc3RhY2t0cmFjZS5jCkBAIC0xLDYgKzEsNyBAQAogI2luY2x1ZGUgPGxpbnV4L3NjaGVkLmg+CiAjaW5jbHVkZSA8bGludXgvc3RhY2t0cmFjZS5oPgogI2luY2x1ZGUgPGxpbnV4L3RocmVhZF9pbmZvLmg+CisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CiAjaW5jbHVkZSA8YXNtL3B0cmFjZS5oPgogI2luY2x1ZGUgPGFzbS9zdGFja3RyYWNlLmg+CiAKQEAgLTQ3LDMgKzQ4LDQgQEAKIAkJCXRyYWNlLT5lbnRyaWVzW3RyYWNlLT5ucl9lbnRyaWVzKytdID0gcGM7CiAJfSB3aGlsZSAodHJhY2UtPm5yX2VudHJpZXMgPCB0cmFjZS0+bWF4X2VudHJpZXMpOwogfQorRVhQT1JUX1NZTUJPTF9HUEwoc2F2ZV9zdGFja190cmFjZSk7CmRpZmYgLS1naXQgYS9hcmNoL3NwYXJjNjQva2VybmVsL3RpbWUuYyBiL2FyY2gvc3BhcmM2NC9rZXJuZWwvdGltZS5jCmluZGV4IGU1ZDIzODkuLmJlZGM0YzEgMTAwNjQ0Ci0tLSBhL2FyY2gvc3BhcmM2NC9rZXJuZWwvdGltZS5jCisrKyBiL2FyY2gvc3BhcmM2NC9rZXJuZWwvdGltZS5jCkBAIC0xMSw2ICsxMSw3IEBACiAjaW5jbHVkZSA8bGludXgvZXJybm8uaD4KICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KICNpbmNsdWRlIDxsaW51eC9zY2hlZC5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CiAjaW5jbHVkZSA8bGludXgvcGFyYW0uaD4KICNpbmNsdWRlIDxsaW51eC9zdHJpbmcuaD4KQEAgLTE2NTksMTAgKzE2NjAsMTQgQEAKIAogc3RhdGljIGludCBtaW5pX3J0Y19vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQogewotCWlmIChtaW5pX3J0Y19zdGF0dXMgJiBSVENfSVNfT1BFTikKKwlsb2NrX2tlcm5lbCgpOworCWlmIChtaW5pX3J0Y19zdGF0dXMgJiBSVENfSVNfT1BFTikgeworCQl1bmxvY2tfa2VybmVsKCk7CiAJCXJldHVybiAtRUJVU1k7CisJfQogCiAJbWluaV9ydGNfc3RhdHVzIHw9IFJUQ19JU19PUEVOOworCXVubG9ja19rZXJuZWwoKTsKIAogCXJldHVybiAwOwogfQpkaWZmIC0tZ2l0IGEvYXJjaC9zcGFyYzY0L2xpYi9tY291bnQuUyBiL2FyY2gvc3BhcmM2NC9saWIvbWNvdW50LlMKaW5kZXggOWU0NTM0Yi4uNzczNWE3YSAxMDA2NDQKLS0tIGEvYXJjaC9zcGFyYzY0L2xpYi9tY291bnQuUworKysgYi9hcmNoL3NwYXJjNjQvbGliL21jb3VudC5TCkBAIC0yOCwxMCArMjgsMTMgQEAKIAkuc2tpcAkJT1ZTVEFDS1NJWkUKICNlbmRpZgogCS50ZXh0Ci0JLmFsaWduIDMyCi0JLmdsb2JsIG1jb3VudCwgX21jb3VudAotbWNvdW50OgorCS5hbGlnbgkJMzIKKwkuZ2xvYmwJCV9tY291bnQKKwkudHlwZQkJX21jb3VudCwjZnVuY3Rpb24KKwkuZ2xvYmwJCW1jb3VudAorCS50eXBlCQltY291bnQsI2Z1bmN0aW9uCiBfbWNvdW50OgorbWNvdW50OgogI2lmZGVmIENPTkZJR19TVEFDS19ERUJVRwogCS8qCiAJICogQ2hlY2sgd2hldGhlciAlc3AgaXMgZGFuZ2Vyb3VzbHkgbG93LgpAQCAtNTUsNiArNTgsNTMgQEAKIAkgb3IJCSVnMywgJWxvKHBhbmljc3RyaW5nKSwgJW8wCiAJY2FsbAkJcHJvbV9oYWx0CiAJIG5vcAorMToKICNlbmRpZgotMToJcmV0bAorI2lmZGVmIENPTkZJR19GVFJBQ0UKKyNpZmRlZiBDT05GSUdfRFlOQU1JQ19GVFJBQ0UKKwltb3YJCSVvNywgJW8wCisJLmdsb2JsCQltY291bnRfY2FsbAorbWNvdW50X2NhbGw6CisJY2FsbAkJZnRyYWNlX3N0dWIKKwkgbW92CQklbzAsICVvNworI2Vsc2UKKwlzZXRoaQkJJWhpKGZ0cmFjZV90cmFjZV9mdW5jdGlvbiksICVnMQorCXNldGhpCQklaGkoZnRyYWNlX3N0dWIpLCAlZzIKKwlsZHgJCVslZzEgKyAlbG8oZnRyYWNlX3RyYWNlX2Z1bmN0aW9uKV0sICVnMQorCW9yCQklZzIsICVsbyhmdHJhY2Vfc3R1YiksICVnMgorCWNtcAkJJWcxLCAlZzIKKwliZSxwbgkJJWljYywgMWYKKwkgbW92CQklaTcsICVvMQorCWptcGwJCSVnMSwgJWcwCisJIG1vdgkJJW83LCAlbzAKKwkvKiBub3QgcmVhY2hlZCAqLworMToKKyNlbmRpZgorI2VuZGlmCisJcmV0bAogCSBub3AKKwkuc2l6ZQkJX21jb3VudCwuLV9tY291bnQKKwkuc2l6ZQkJbWNvdW50LC4tbWNvdW50CisKKyNpZmRlZiBDT05GSUdfRlRSQUNFCisJLmdsb2JsCQlmdHJhY2Vfc3R1YgorCS50eXBlCQlmdHJhY2Vfc3R1YiwjZnVuY3Rpb24KK2Z0cmFjZV9zdHViOgorCXJldGwKKwkgbm9wCisJLnNpemUJCWZ0cmFjZV9zdHViLC4tZnRyYWNlX3N0dWIKKyNpZmRlZiBDT05GSUdfRFlOQU1JQ19GVFJBQ0UKKwkuZ2xvYmwJCWZ0cmFjZV9jYWxsZXIKKwkudHlwZQkJZnRyYWNlX2NhbGxlciwjZnVuY3Rpb24KK2Z0cmFjZV9jYWxsZXI6CisJbW92CQklaTcsICVvMQorCW1vdgkJJW83LCAlbzAKKwkuZ2xvYmwJCWZ0cmFjZV9jYWxsCitmdHJhY2VfY2FsbDoKKwljYWxsCQlmdHJhY2Vfc3R1YgorCSBtb3YJCSVvMCwgJW83CisJcmV0bAorCSBub3AKKwkuc2l6ZQkJZnRyYWNlX2NhbGxlciwuLWZ0cmFjZV9jYWxsZXIKKyNlbmRpZgorI2VuZGlmCmRpZmYgLS1naXQgYS9hcmNoL3VtL2RyaXZlcnMvaGFyZGRvZ19rZXJuLmMgYi9hcmNoL3VtL2RyaXZlcnMvaGFyZGRvZ19rZXJuLmMKaW5kZXggYTlhZDRiZC4uZDMzMjUwMyAxMDA2NDQKLS0tIGEvYXJjaC91bS9kcml2ZXJzL2hhcmRkb2dfa2Vybi5jCisrKyBiL2FyY2gvdW0vZHJpdmVycy9oYXJkZG9nX2tlcm4uYwpAQCAtNjYsNiArNjYsNyBAQAogCWludCBlcnIgPSAtRUJVU1k7CiAJY2hhciAqc29jayA9IE5VTEw7CiAKKwlsb2NrX2tlcm5lbCgpOwogCXNwaW5fbG9jaygmbG9jayk7CiAJaWYodGltZXJfYWxpdmUpCiAJCWdvdG8gZXJyOwpAQCAtODIsOSArODMsMTEgQEAKIAogCXRpbWVyX2FsaXZlID0gMTsKIAlzcGluX3VubG9jaygmbG9jayk7CisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiBub25zZWVrYWJsZV9vcGVuKGlub2RlLCBmaWxlKTsKIGVycjoKIAlzcGluX3VubG9jaygmbG9jayk7CisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiBlcnI7CiB9CiAKZGlmZiAtLWdpdCBhL2FyY2gvdW0vZHJpdmVycy9tbWFwcGVyX2tlcm4uYyBiL2FyY2gvdW0vZHJpdmVycy9tbWFwcGVyX2tlcm4uYwppbmRleCA2N2IyZjU1Li5lYjI0MDMyIDEwMDY0NAotLS0gYS9hcmNoL3VtL2RyaXZlcnMvbW1hcHBlcl9rZXJuLmMKKysrIGIvYXJjaC91bS9kcml2ZXJzL21tYXBwZXJfa2Vybi5jCkBAIC0xNiw2ICsxNiw3IEBACiAjaW5jbHVkZSA8bGludXgvbWlzY2RldmljZS5oPgogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogI2luY2x1ZGUgPGxpbnV4L21tLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgogI2luY2x1ZGUgIm1lbV91c2VyLmgiCiAKQEAgLTc3LDYgKzc4LDcgQEAKIAogc3RhdGljIGludCBtbWFwcGVyX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCiB7CisJY3ljbGVfa2VybmVsX2xvY2soKTsKIAlyZXR1cm4gMDsKIH0KIApkaWZmIC0tZ2l0IGEvYXJjaC91bS9kcml2ZXJzL3JhbmRvbS5jIGIvYXJjaC91bS9kcml2ZXJzL3JhbmRvbS5jCmluZGV4IDQ5NDkwNDQuLjZlYWJiNzAgMTAwNjQ0Ci0tLSBhL2FyY2gvdW0vZHJpdmVycy9yYW5kb20uYworKysgYi9hcmNoL3VtL2RyaXZlcnMvcmFuZG9tLmMKQEAgLTcsNiArNyw3IEBACiAgKiBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsIGluY29ycG9yYXRlZCBoZXJlaW4gYnkgcmVmZXJlbmNlLgogICovCiAjaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogI2luY2x1ZGUgPGxpbnV4L2ZzLmg+CiAjaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+CkBAIC0zMyw2ICszNCw4IEBACiAKIHN0YXRpYyBpbnQgcm5nX2Rldl9vcGVuIChzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlscCkKIHsKKwljeWNsZV9rZXJuZWxfbG9jaygpOworCiAJLyogZW5mb3JjZSByZWFkLW9ubHkgYWNjZXNzIHRvIHRoaXMgY2hyZGV2ICovCiAJaWYgKChmaWxwLT5mX21vZGUgJiBGTU9ERV9SRUFEKSA9PSAwKQogCQlyZXR1cm4gLUVJTlZBTDsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L0tjb25maWcgYi9hcmNoL3g4Ni9LY29uZmlnCmluZGV4IGJmMDdiNmYuLjI2NDJiNGIgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L0tjb25maWcKKysrIGIvYXJjaC94ODYvS2NvbmZpZwpAQCAtMjMsNiArMjMsOCBAQAogCXNlbGVjdCBIQVZFX09QUk9GSUxFCiAJc2VsZWN0IEhBVkVfS1BST0JFUwogCXNlbGVjdCBIQVZFX0tSRVRQUk9CRVMKKwlzZWxlY3QgSEFWRV9EWU5BTUlDX0ZUUkFDRQorCXNlbGVjdCBIQVZFX0ZUUkFDRQogCXNlbGVjdCBIQVZFX0tWTSBpZiAoKFg4Nl8zMiAmJiAhWDg2X1ZPWUFHRVIgJiYgIVg4Nl9WSVNXUyAmJiAhWDg2X05VTUFRKSB8fCBYODZfNjQpCiAJc2VsZWN0IEhBVkVfQVJDSF9LR0RCIGlmICFYODZfVk9ZQUdFUgogCkBAIC0xMjEsNyArMTIzLDcgQEAKIAlkZWZfYm9vbCB5CiAKIGNvbmZpZyBIQVZFX1NFVFVQX1BFUl9DUFVfQVJFQQotCWRlZl9ib29sIFg4Nl82NCB8fCAoWDg2X1NNUCAmJiAhWDg2X1ZPWUFHRVIpCisJZGVmX2Jvb2wgWDg2XzY0X1NNUCB8fCAoWDg2X1NNUCAmJiAhWDg2X1ZPWUFHRVIpCiAKIGNvbmZpZyBIQVZFX0NQVU1BU0tfT0ZfQ1BVX01BUAogCWRlZl9ib29sIFg4Nl82NF9TTVAKQEAgLTE4MSwxMiArMTgzLDEyIEBACiBjb25maWcgWDg2X0hUCiAJYm9vbAogCWRlcGVuZHMgb24gU01QCi0JZGVwZW5kcyBvbiAoWDg2XzMyICYmICEoWDg2X1ZJU1dTIHx8IFg4Nl9WT1lBR0VSKSkgfHwgWDg2XzY0CisJZGVwZW5kcyBvbiAoWDg2XzMyICYmICFYODZfVk9ZQUdFUikgfHwgWDg2XzY0CiAJZGVmYXVsdCB5CiAKIGNvbmZpZyBYODZfQklPU19SRUJPT1QKIAlib29sCi0JZGVwZW5kcyBvbiAhWDg2X1ZJU1dTICYmICFYODZfVk9ZQUdFUgorCWRlcGVuZHMgb24gIVg4Nl9WT1lBR0VSCiAJZGVmYXVsdCB5CiAKIGNvbmZpZyBYODZfVFJBTVBPTElORQpAQCAtMjMwLDYgKzIzMiwyNiBAQAogCiAJICBJZiB5b3UgZG9uJ3Qga25vdyB3aGF0IHRvIGRvIGhlcmUsIHNheSBOLgogCitjb25maWcgWDg2X0ZJTkRfU01QX0NPTkZJRworCWRlZl9ib29sIHkKKwlkZXBlbmRzIG9uIFg4Nl9NUFBBUlNFIHx8IFg4Nl9WT1lBR0VSCisKK2lmIEFDUEkKK2NvbmZpZyBYODZfTVBQQVJTRQorCWRlZl9ib29sIHkKKwlib29sICJFbmFibGUgTVBTIHRhYmxlIgorCWRlcGVuZHMgb24gWDg2X0xPQ0FMX0FQSUMKKwloZWxwCisJICBGb3Igb2xkIHNtcCBzeXN0ZW1zIHRoYXQgZG8gbm90IGhhdmUgcHJvcGVyIGFjcGkgc3VwcG9ydC4gTmV3ZXIgc3lzdGVtcworCSAgKGVzcCB3aXRoIDY0Yml0IGNwdXMpIHdpdGggYWNwaSBzdXBwb3J0LCBNQURUIGFuZCBEU0RUIHdpbGwgb3ZlcnJpZGUgaXQKK2VuZGlmCisKK2lmICFBQ1BJCitjb25maWcgWDg2X01QUEFSU0UKKwlkZWZfYm9vbCB5CisJZGVwZW5kcyBvbiBYODZfTE9DQUxfQVBJQworZW5kaWYKKwogY2hvaWNlCiAJcHJvbXB0ICJTdWJhcmNoaXRlY3R1cmUgVHlwZSIKIAlkZWZhdWx0IFg4Nl9QQwpAQCAtMjUxLDcgKzI3Myw3IEBACiAKIGNvbmZpZyBYODZfVk9ZQUdFUgogCWJvb2wgIlZveWFnZXIgKE5DUikiCi0JZGVwZW5kcyBvbiBYODZfMzIgJiYgKFNNUCB8fCBCUk9LRU4pCisJZGVwZW5kcyBvbiBYODZfMzIgJiYgKFNNUCB8fCBCUk9LRU4pICYmICFQQ0kKIAloZWxwCiAJICBWb3lhZ2VyIGlzIGFuIE1DQS1iYXNlZCAzMi13YXkgY2FwYWJsZSBTTVAgYXJjaGl0ZWN0dXJlIHByb3ByaWV0YXJ5CiAJICB0byBOQ1IgQ29ycC4gIE1hY2hpbmUgY2xhc3NlcyAzNDV4LzM1eHgvNDEwMC81MXh4IGFyZSBWb3lhZ2VyLWJhc2VkLgpAQCAtMjYxLDE2ICsyODMsMjcgQEAKIAkgIElmIHlvdSBkbyBub3Qgc3BlY2lmaWNhbGx5IGtub3cgeW91IGhhdmUgYSBWb3lhZ2VyIGJhc2VkIG1hY2hpbmUsCiAJICBzYXkgTiBoZXJlLCBvdGhlcndpc2UgdGhlIGtlcm5lbCB5b3UgYnVpbGQgd2lsbCBub3QgYmUgYm9vdGFibGUuCiAKK2NvbmZpZyBYODZfR0VORVJJQ0FSQ0gKKyAgICAgICBib29sICJHZW5lcmljIGFyY2hpdGVjdHVyZSIKKwlkZXBlbmRzIG9uIFg4Nl8zMgorICAgICAgIGhlbHAKKyAgICAgICAgICBUaGlzIG9wdGlvbiBjb21waWxlcyBpbiB0aGUgTlVNQVEsIFN1bW1pdCwgYmlnc21wLCBFUzcwMDAsIGRlZmF1bHQKKwkgIHN1YmFyY2hpdGVjdHVyZXMuICBJdCBpcyBpbnRlbmRlZCBmb3IgYSBnZW5lcmljIGJpbmFyeSBrZXJuZWwuCisJICBpZiB5b3Ugc2VsZWN0IHRoZW0gYWxsLCBrZXJuZWwgd2lsbCBwcm9iZSBpdCBvbmUgYnkgb25lLiBhbmQgd2lsbAorCSAgZmFsbGJhY2sgdG8gZGVmYXVsdC4KKworaWYgWDg2X0dFTkVSSUNBUkNICisKIGNvbmZpZyBYODZfTlVNQVEKIAlib29sICJOVU1BUSAoSUJNL1NlcXVlbnQpIgotCWRlcGVuZHMgb24gU01QICYmIFg4Nl8zMgorCWRlcGVuZHMgb24gU01QICYmIFg4Nl8zMiAmJiBQQ0kgJiYgWDg2X01QUEFSU0UKIAlzZWxlY3QgTlVNQQogCWhlbHAKLQkgIFRoaXMgb3B0aW9uIGlzIHVzZWQgZm9yIGdldHRpbmcgTGludXggdG8gcnVuIG9uIGEgKElCTS9TZXF1ZW50KSBOVU1BCi0JICBtdWx0aXF1YWQgYm94LiBUaGlzIGNoYW5nZXMgdGhlIHdheSB0aGF0IHByb2Nlc3NvcnMgYXJlIGJvb3RzdHJhcHBlZCwKLQkgIGFuZCB1c2VzIENsdXN0ZXJlZCBMb2dpY2FsIEFQSUMgYWRkcmVzc2luZyBtb2RlIGluc3RlYWQgb2YgRmxhdCBMb2dpY2FsLgotCSAgWW91IHdpbGwgbmVlZCBhIG5ldyBseW54ZXIuZWxmIGZpbGUgdG8gZmxhc2ggeW91ciBmaXJtd2FyZSB3aXRoIC0gc2VuZAotCSAgZW1haWwgdG8gPE1hcnRpbi5CbGlnaEB1cy5pYm0uY29tPi4KKwkgIFRoaXMgb3B0aW9uIGlzIHVzZWQgZm9yIGdldHRpbmcgTGludXggdG8gcnVuIG9uIGEgTlVNQVEgKElCTS9TZXF1ZW50KQorCSAgTlVNQSBtdWx0aXF1YWQgYm94LiBUaGlzIGNoYW5nZXMgdGhlIHdheSB0aGF0IHByb2Nlc3NvcnMgYXJlCisJICBib290c3RyYXBwZWQsIGFuZCB1c2VzIENsdXN0ZXJlZCBMb2dpY2FsIEFQSUMgYWRkcmVzc2luZyBtb2RlIGluc3RlYWQKKwkgIG9mIEZsYXQgTG9naWNhbC4gIFlvdSB3aWxsIG5lZWQgYSBuZXcgbHlueGVyLmVsZiBmaWxlIHRvIGZsYXNoIHlvdXIKKwkgIGZpcm13YXJlIHdpdGggLSBzZW5kIGVtYWlsIHRvIDxNYXJ0aW4uQmxpZ2hAdXMuaWJtLmNvbT4uCiAKIGNvbmZpZyBYODZfU1VNTUlUCiAJYm9vbCAiU3VtbWl0L0VYQSAoSUJNIHg0NDApIgpAQCAtMjc5LDQ2ICszMTIsMjEgQEAKIAkgIFRoaXMgb3B0aW9uIGlzIG5lZWRlZCBmb3IgSUJNIHN5c3RlbXMgdGhhdCB1c2UgdGhlIFN1bW1pdC9FWEEgY2hpcHNldC4KIAkgIEluIHBhcnRpY3VsYXIsIGl0IGlzIG5lZWRlZCBmb3IgdGhlIHg0NDAuCiAKLQkgIElmIHlvdSBkb24ndCBoYXZlIG9uZSBvZiB0aGVzZSBjb21wdXRlcnMsIHlvdSBzaG91bGQgc2F5IE4gaGVyZS4KLQkgIElmIHlvdSB3YW50IHRvIGJ1aWxkIGEgTlVNQSBrZXJuZWwsIHlvdSBtdXN0IHNlbGVjdCBBQ1BJLgotCi1jb25maWcgWDg2X0JJR1NNUAotCWJvb2wgIlN1cHBvcnQgZm9yIG90aGVyIHN1Yi1hcmNoIFNNUCBzeXN0ZW1zIHdpdGggbW9yZSB0aGFuIDggQ1BVcyIKLQlkZXBlbmRzIG9uIFg4Nl8zMiAmJiBTTVAKLQloZWxwCi0JICBUaGlzIG9wdGlvbiBpcyBuZWVkZWQgZm9yIHRoZSBzeXN0ZW1zIHRoYXQgaGF2ZSBtb3JlIHRoYW4gOCBDUFVzCi0JICBhbmQgaWYgdGhlIHN5c3RlbSBpcyBub3Qgb2YgYW55IHN1Yi1hcmNoIHR5cGUgYWJvdmUuCi0KLQkgIElmIHlvdSBkb24ndCBoYXZlIHN1Y2ggYSBzeXN0ZW0sIHlvdSBzaG91bGQgc2F5IE4gaGVyZS4KLQotY29uZmlnIFg4Nl9WSVNXUwotCWJvb2wgIlNHSSAzMjAvNTQwIChWaXN1YWwgV29ya3N0YXRpb24pIgotCWRlcGVuZHMgb24gWDg2XzMyCi0JaGVscAotCSAgVGhlIFNHSSBWaXN1YWwgV29ya3N0YXRpb24gc2VyaWVzIGlzIGFuIElBMzItYmFzZWQgd29ya3N0YXRpb24KLQkgIGJhc2VkIG9uIFNHSSBzeXN0ZW1zIGNoaXBzIHdpdGggc29tZSBsZWdhY3kgUEMgaGFyZHdhcmUgYXR0YWNoZWQuCi0KLQkgIFNheSBZIGhlcmUgdG8gY3JlYXRlIGEga2VybmVsIHRvIHJ1biBvbiB0aGUgU0dJIDMyMCBvciA1NDAuCi0KLQkgIEEga2VybmVsIGNvbXBpbGVkIGZvciB0aGUgVmlzdWFsIFdvcmtzdGF0aW9uIHdpbGwgbm90IHJ1biBvbiBQQ3MKLQkgIGFuZCB2aWNlIHZlcnNhLiBTZWUgPGZpbGU6RG9jdW1lbnRhdGlvbi9zZ2ktdmlzd3MudHh0PiBmb3IgZGV0YWlscy4KLQotY29uZmlnIFg4Nl9HRU5FUklDQVJDSAotICAgICAgIGJvb2wgIkdlbmVyaWMgYXJjaGl0ZWN0dXJlIChTdW1taXQsIGJpZ3NtcCwgRVM3MDAwLCBkZWZhdWx0KSIKLQlkZXBlbmRzIG9uIFg4Nl8zMgotICAgICAgIGhlbHAKLSAgICAgICAgICBUaGlzIG9wdGlvbiBjb21waWxlcyBpbiB0aGUgU3VtbWl0LCBiaWdzbXAsIEVTNzAwMCwgZGVmYXVsdCBzdWJhcmNoaXRlY3R1cmVzLgotCSAgSXQgaXMgaW50ZW5kZWQgZm9yIGEgZ2VuZXJpYyBiaW5hcnkga2VybmVsLgotCSAgSWYgeW91IHdhbnQgYSBOVU1BIGtlcm5lbCwgc2VsZWN0IEFDUEkuICAgV2UgbmVlZCBTUkFUIGZvciBOVU1BLgotCiBjb25maWcgWDg2X0VTNzAwMAogCWJvb2wgIlN1cHBvcnQgZm9yIFVuaXN5cyBFUzcwMDAgSUEzMiBzZXJpZXMiCiAJZGVwZW5kcyBvbiBYODZfMzIgJiYgU01QCiAJaGVscAogCSAgU3VwcG9ydCBmb3IgVW5pc3lzIEVTNzAwMCBzeXN0ZW1zLiAgU2F5ICdZJyBoZXJlIGlmIHRoaXMga2VybmVsIGlzCiAJICBzdXBwb3NlZCB0byBydW4gb24gYW4gSUEzMi1iYXNlZCBVbmlzeXMgRVM3MDAwIHN5c3RlbS4KLQkgIE9ubHkgY2hvb3NlIHRoaXMgb3B0aW9uIGlmIHlvdSBoYXZlIHN1Y2ggYSBzeXN0ZW0sIG90aGVyd2lzZSB5b3UKLQkgIHNob3VsZCBzYXkgTiBoZXJlLgorCitjb25maWcgWDg2X0JJR1NNUAorCWJvb2wgIlN1cHBvcnQgZm9yIGJpZyBTTVAgc3lzdGVtcyB3aXRoIG1vcmUgdGhhbiA4IENQVXMiCisJZGVwZW5kcyBvbiBYODZfMzIgJiYgU01QCisJaGVscAorCSAgVGhpcyBvcHRpb24gaXMgbmVlZGVkIGZvciB0aGUgc3lzdGVtcyB0aGF0IGhhdmUgbW9yZSB0aGFuIDggQ1BVcworCSAgYW5kIGlmIHRoZSBzeXN0ZW0gaXMgbm90IG9mIGFueSBzdWItYXJjaCB0eXBlIGFib3ZlLgorCitlbmRpZgogCiBjb25maWcgWDg2X1JEQzMyMVgKIAlib29sICJSREMgUi0zMjF4IFNvQyIKQEAgLTMzNyw3ICszNDUsNyBAQAogY29uZmlnIFg4Nl9WU01QCiAJYm9vbCAiU3VwcG9ydCBmb3IgU2NhbGVNUCB2U01QIgogCXNlbGVjdCBQQVJBVklSVAotCWRlcGVuZHMgb24gWDg2XzY0CisJZGVwZW5kcyBvbiBYODZfNjQgJiYgUENJCiAJaGVscAogCSAgU3VwcG9ydCBmb3IgU2NhbGVNUCB2U01QIHN5c3RlbXMuICBTYXkgJ1knIGhlcmUgaWYgdGhpcyBrZXJuZWwgaXMKIAkgIHN1cHBvc2VkIHRvIHJ1biBvbiB0aGVzZSBFTTY0VC1iYXNlZCBtYWNoaW5lcy4gIE9ubHkgY2hvb3NlIHRoaXMgb3B0aW9uCkBAIC0zNDUsNiArMzUzLDE4IEBACiAKIGVuZGNob2ljZQogCitjb25maWcgWDg2X1ZJU1dTCisJYm9vbCAiU0dJIDMyMC81NDAgKFZpc3VhbCBXb3Jrc3RhdGlvbikiCisJZGVwZW5kcyBvbiBYODZfMzIgJiYgUENJICYmICFYODZfVk9ZQUdFUiAmJiBYODZfTVBQQVJTRSAmJiBQQ0lfR09ESVJFQ1QKKwloZWxwCisJICBUaGUgU0dJIFZpc3VhbCBXb3Jrc3RhdGlvbiBzZXJpZXMgaXMgYW4gSUEzMi1iYXNlZCB3b3Jrc3RhdGlvbgorCSAgYmFzZWQgb24gU0dJIHN5c3RlbXMgY2hpcHMgd2l0aCBzb21lIGxlZ2FjeSBQQyBoYXJkd2FyZSBhdHRhY2hlZC4KKworCSAgU2F5IFkgaGVyZSB0byBjcmVhdGUgYSBrZXJuZWwgdG8gcnVuIG9uIHRoZSBTR0kgMzIwIG9yIDU0MC4KKworCSAgQSBrZXJuZWwgY29tcGlsZWQgZm9yIHRoZSBWaXN1YWwgV29ya3N0YXRpb24gd2lsbCBydW4gb24gZ2VuZXJhbAorCSAgUENzIGFzIHdlbGwuIFNlZSA8ZmlsZTpEb2N1bWVudGF0aW9uL3NnaS12aXN3cy50eHQ+IGZvciBkZXRhaWxzLgorCiBjb25maWcgU0NIRURfTk9fTk9fT01JVF9GUkFNRV9QT0lOVEVSCiAJZGVmX2Jvb2wgeQogCXByb21wdCAiU2luZ2xlLWRlcHRoIFdDSEFOIG91dHB1dCIKQEAgLTM3Myw3ICszOTMsNyBAQAogCWJvb2wgIlZNSSBHdWVzdCBzdXBwb3J0IgogCXNlbGVjdCBQQVJBVklSVAogCWRlcGVuZHMgb24gWDg2XzMyCi0JZGVwZW5kcyBvbiAhKFg4Nl9WSVNXUyB8fCBYODZfVk9ZQUdFUikKKwlkZXBlbmRzIG9uICFYODZfVk9ZQUdFUgogCWhlbHAKIAkgIFZNSSBwcm92aWRlcyBhIHBhcmF2aXJ0dWFsaXplZCBpbnRlcmZhY2UgdG8gdGhlIFZNd2FyZSBFU1ggc2VydmVyCiAJICAoaXQgY291bGQgYmUgdXNlZCBieSBvdGhlciBoeXBlcnZpc29ycyBpbiB0aGVvcnkgdG9vLCBidXQgaXMgbm90CkBAIC0zODQsNyArNDA0LDcgQEAKIAlib29sICJLVk0gcGFyYXZpcnR1YWxpemVkIGNsb2NrIgogCXNlbGVjdCBQQVJBVklSVAogCXNlbGVjdCBQQVJBVklSVF9DTE9DSwotCWRlcGVuZHMgb24gIShYODZfVklTV1MgfHwgWDg2X1ZPWUFHRVIpCisJZGVwZW5kcyBvbiAhWDg2X1ZPWUFHRVIKIAloZWxwCiAJICBUdXJuaW5nIG9uIHRoaXMgb3B0aW9uIHdpbGwgYWxsb3cgeW91IHRvIHJ1biBhIHBhcmF2aXJ0dWFsaXplZCBjbG9jawogCSAgd2hlbiBydW5uaW5nIG92ZXIgdGhlIEtWTSBoeXBlcnZpc29yLiBJbnN0ZWFkIG9mIHJlbHlpbmcgb24gYSBQSVQKQEAgLTM5NSw3ICs0MTUsNyBAQAogY29uZmlnIEtWTV9HVUVTVAogCWJvb2wgIktWTSBHdWVzdCBzdXBwb3J0IgogCXNlbGVjdCBQQVJBVklSVAotCWRlcGVuZHMgb24gIShYODZfVklTV1MgfHwgWDg2X1ZPWUFHRVIpCisJZGVwZW5kcyBvbiAhWDg2X1ZPWUFHRVIKIAloZWxwCiAJIFRoaXMgb3B0aW9uIGVuYWJsZXMgdmFyaW91cyBvcHRpbWl6YXRpb25zIGZvciBydW5uaW5nIHVuZGVyIHRoZSBLVk0KIAkgaHlwZXJ2aXNvci4KQEAgLTQwNCw3ICs0MjQsNyBAQAogCiBjb25maWcgUEFSQVZJUlQKIAlib29sICJFbmFibGUgcGFyYXZpcnR1YWxpemF0aW9uIGNvZGUiCi0JZGVwZW5kcyBvbiAhKFg4Nl9WSVNXUyB8fCBYODZfVk9ZQUdFUikKKwlkZXBlbmRzIG9uICFYODZfVk9ZQUdFUgogCWhlbHAKIAkgIFRoaXMgY2hhbmdlcyB0aGUga2VybmVsIHNvIGl0IGNhbiBtb2RpZnkgaXRzZWxmIHdoZW4gaXQgaXMgcnVuCiAJICB1bmRlciBhIGh5cGVydmlzb3IsIHBvdGVudGlhbGx5IGltcHJvdmluZyBwZXJmb3JtYW5jZSBzaWduaWZpY2FudGx5CkBAIC00MTcsNTEgKzQzNywzMiBAQAogCiBlbmRpZgogCi1jb25maWcgTUVNVEVTVF9CT09UUEFSQU0KLQlib29sICJNZW10ZXN0IGJvb3QgcGFyYW1ldGVyIgorY29uZmlnIFBBUkFWSVJUX0RFQlVHCisgICAgICAgYm9vbCAicGFyYXZpcnQtb3BzIGRlYnVnZ2luZyIKKyAgICAgICBkZXBlbmRzIG9uIFBBUkFWSVJUICYmIERFQlVHX0tFUk5FTAorICAgICAgIGhlbHAKKyAgICAgICAgIEVuYWJsZSB0byBkZWJ1ZyBwYXJhdmlydF9vcHMgaW50ZXJuYWxzLiAgU3BlY2lmaWNhbGx5LCBCVUcgaWYKKwkgYSBwYXJhdmlydF9vcCBpcyBtaXNzaW5nIHdoZW4gaXQgaXMgY2FsbGVkLgorCitjb25maWcgTUVNVEVTVAorCWJvb2wgIk1lbXRlc3QiCiAJZGVwZW5kcyBvbiBYODZfNjQKLQlkZWZhdWx0IHkKIAloZWxwCiAJICBUaGlzIG9wdGlvbiBhZGRzIGEga2VybmVsIHBhcmFtZXRlciAnbWVtdGVzdCcsIHdoaWNoIGFsbG93cyBtZW10ZXN0Ci0JICB0byBiZSBkaXNhYmxlZCBhdCBib290LiAgSWYgdGhpcyBvcHRpb24gaXMgc2VsZWN0ZWQsIG1lbXRlc3QKLQkgIGZ1bmN0aW9uYWxpdHkgY2FuIGJlIGRpc2FibGVkIHdpdGggbWVtdGVzdD0wIG9uIHRoZSBrZXJuZWwKLQkgIGNvbW1hbmQgbGluZS4gIFRoZSBwdXJwb3NlIG9mIHRoaXMgb3B0aW9uIGlzIHRvIGFsbG93IGEgc2luZ2xlCi0JICBrZXJuZWwgaW1hZ2UgdG8gYmUgZGlzdHJpYnV0ZWQgd2l0aCBtZW10ZXN0IGJ1aWx0IGluLCBidXQgbm90Ci0JICBuZWNlc3NhcmlseSBlbmFibGVkLgotCi0JICBJZiB5b3UgYXJlIHVuc3VyZSBob3cgdG8gYW5zd2VyIHRoaXMgcXVlc3Rpb24sIGFuc3dlciBZLgotCi1jb25maWcgTUVNVEVTVF9CT09UUEFSQU1fVkFMVUUKLQlpbnQgIk1lbXRlc3QgYm9vdCBwYXJhbWV0ZXIgZGVmYXVsdCB2YWx1ZSAoMC00KSIKLQlkZXBlbmRzIG9uIE1FTVRFU1RfQk9PVFBBUkFNCi0JcmFuZ2UgMCA0Ci0JZGVmYXVsdCAwCi0JaGVscAotCSAgVGhpcyBvcHRpb24gc2V0cyB0aGUgZGVmYXVsdCB2YWx1ZSBmb3IgdGhlIGtlcm5lbCBwYXJhbWV0ZXIKLQkgICdtZW10ZXN0Jywgd2hpY2ggYWxsb3dzIG1lbXRlc3QgdG8gYmUgZGlzYWJsZWQgYXQgYm9vdC4gIElmIHRoaXMKLQkgIG9wdGlvbiBpcyBzZXQgdG8gMCAoemVybyksIHRoZSBtZW10ZXN0IGtlcm5lbCBwYXJhbWV0ZXIgd2lsbAotCSAgZGVmYXVsdCB0byAwLCBkaXNhYmxpbmcgbWVtdGVzdCBhdCBib290dXAuICBJZiB0aGlzIG9wdGlvbiBpcwotCSAgc2V0IHRvIDQsIHRoZSBtZW10ZXN0IGtlcm5lbCBwYXJhbWV0ZXIgd2lsbCBkZWZhdWx0IHRvIDQsCi0JICBlbmFibGluZyBtZW10ZXN0IGF0IGJvb3R1cCwgYW5kIHVzZSB0aGF0IGFzIHBhdHRlcm4gbnVtYmVyLgotCi0JICBJZiB5b3UgYXJlIHVuc3VyZSBob3cgdG8gYW5zd2VyIHRoaXMgcXVlc3Rpb24sIGFuc3dlciAwLgotCi1jb25maWcgQUNQSV9TUkFUCi0JZGVmX2Jvb2wgeQotCWRlcGVuZHMgb24gWDg2XzMyICYmIEFDUEkgJiYgTlVNQSAmJiAoWDg2X1NVTU1JVCB8fCBYODZfR0VORVJJQ0FSQ0gpCi0Jc2VsZWN0IEFDUElfTlVNQQotCi1jb25maWcgSEFWRV9BUkNIX1BBUlNFX1NSQVQKLQlkZWZfYm9vbCB5Ci0JZGVwZW5kcyBvbiBBQ1BJX1NSQVQKKwkgIHRvIGJlIHNldC4KKwkJbWVtdGVzdD0wLCBtZWFuIGRpc2FibGVkOyAtLSBkZWZhdWx0CisJCW1lbXRlc3Q9MSwgbWVhbiBkbyAxIHRlc3QgcGF0dGVybjsKKwkJLi4uCisJCW1lbXRlc3Q9NCwgbWVhbiBkbyA0IHRlc3QgcGF0dGVybnMuCisJICBJZiB5b3UgYXJlIHVuc3VyZSBob3cgdG8gYW5zd2VyIHRoaXMgcXVlc3Rpb24sIGFuc3dlciBOLgogCiBjb25maWcgWDg2X1NVTU1JVF9OVU1BCiAJZGVmX2Jvb2wgeQotCWRlcGVuZHMgb24gWDg2XzMyICYmIE5VTUEgJiYgKFg4Nl9TVU1NSVQgfHwgWDg2X0dFTkVSSUNBUkNIKQorCWRlcGVuZHMgb24gWDg2XzMyICYmIE5VTUEgJiYgWDg2X0dFTkVSSUNBUkNICiAKIGNvbmZpZyBYODZfQ1lDTE9ORV9USU1FUgogCWRlZl9ib29sIHkKLQlkZXBlbmRzIG9uIFg4Nl8zMiAmJiBYODZfU1VNTUlUIHx8IFg4Nl9HRU5FUklDQVJDSAorCWRlcGVuZHMgb24gWDg2X0dFTkVSSUNBUkNICiAKIGNvbmZpZyBFUzcwMDBfQ0xVU1RFUkVEX0FQSUMKIAlkZWZfYm9vbCB5CkBAIC01NDksNiArNTUwLDIxIEBACiAJICBDYWxnYXJ5IGFueXdheSwgcGFzcyAnaW9tbXU9Y2FsZ2FyeScgb24gdGhlIGtlcm5lbCBjb21tYW5kIGxpbmUuCiAJICBJZiB1bnN1cmUsIHNheSBZLgogCitjb25maWcgQU1EX0lPTU1VCisJYm9vbCAiQU1EIElPTU1VIHN1cHBvcnQiCisJc2VsZWN0IFNXSU9UTEIKKwlkZXBlbmRzIG9uIFg4Nl82NCAmJiBQQ0kgJiYgQUNQSQorCWhlbHAKKwkgIFdpdGggdGhpcyBvcHRpb24geW91IGNhbiBlbmFibGUgc3VwcG9ydCBmb3IgQU1EIElPTU1VIGhhcmR3YXJlIGluCisJICB5b3VyIHN5c3RlbS4gQW4gSU9NTVUgaXMgYSBoYXJkd2FyZSBjb21wb25lbnQgd2hpY2ggcHJvdmlkZXMKKwkgIHJlbWFwcGluZyBvZiBETUEgbWVtb3J5IGFjY2Vzc2VzIGZyb20gZGV2aWNlcy4gV2l0aCBhbiBBTUQgSU9NTVUgeW91CisJICBjYW4gaXNvbGF0ZSB0aGUgdGhlIERNQSBtZW1vcnkgb2YgZGlmZmVyZW50IGRldmljZXMgYW5kIHByb3RlY3QgdGhlCisJICBzeXN0ZW0gZnJvbSBtaXNiZWhhdmluZyBkZXZpY2UgZHJpdmVycyBvciBoYXJkd2FyZS4KKworCSAgWW91IGNhbiBmaW5kIG91dCBpZiB5b3VyIHN5c3RlbSBoYXMgYW4gQU1EIElPTU1VIGlmIHlvdSBsb29rIGludG8KKwkgIHlvdXIgQklPUyBmb3IgYW4gb3B0aW9uIHRvIGVuYWJsZSBpdCBvciBpZiB5b3UgaGF2ZSBhbiBJVlJTIEFDUEkKKwkgIHRhYmxlLgorCiAjIG5lZWQgdGhpcyBhbHdheXMgc2VsZWN0ZWQgYnkgSU9NTVUgZm9yIHRoZSBWSUEgd29ya2Fyb3VuZAogY29uZmlnIFNXSU9UTEIKIAlib29sCkBAIC01NjAsMjEgKzU3NiwzNiBAQAogCSAgMyBHQiBvZiBtZW1vcnkuIElmIHVuc3VyZSwgc2F5IFkuCiAKIGNvbmZpZyBJT01NVV9IRUxQRVIKLQlkZWZfYm9vbCAoQ0FMR0FSWV9JT01NVSB8fCBHQVJUX0lPTU1VIHx8IFNXSU9UTEIpCisJZGVmX2Jvb2wgKENBTEdBUllfSU9NTVUgfHwgR0FSVF9JT01NVSB8fCBTV0lPVExCIHx8IEFNRF9JT01NVSkKK2NvbmZpZyBNQVhTTVAKKwlib29sICJDb25maWd1cmUgTWF4aW11bSBudW1iZXIgb2YgU01QIFByb2Nlc3NvcnMgYW5kIE5VTUEgTm9kZXMiCisJZGVwZW5kcyBvbiBYODZfNjQgJiYgU01QCisJZGVmYXVsdCBuCisJaGVscAorCSAgQ29uZmlndXJlIG1heGltdW0gbnVtYmVyIG9mIENQVVMgYW5kIE5VTUEgTm9kZXMgZm9yIHRoaXMgYXJjaGl0ZWN0dXJlLgorCSAgSWYgdW5zdXJlLCBzYXkgTi4KIAoraWYgTUFYU01QCiBjb25maWcgTlJfQ1BVUwotCWludCAiTWF4aW11bSBudW1iZXIgb2YgQ1BVcyAoMi0yNTUpIgotCXJhbmdlIDIgMjU1CisJaW50CisJZGVmYXVsdCAiNDA5NiIKK2VuZGlmCisKK2lmICFNQVhTTVAKK2NvbmZpZyBOUl9DUFVTCisJaW50ICJNYXhpbXVtIG51bWJlciBvZiBDUFVzICgyLTQwOTYpIgorCXJhbmdlIDIgNDA5NgogCWRlcGVuZHMgb24gU01QCiAJZGVmYXVsdCAiMzIiIGlmIFg4Nl9OVU1BUSB8fCBYODZfU1VNTUlUIHx8IFg4Nl9CSUdTTVAgfHwgWDg2X0VTNzAwMAogCWRlZmF1bHQgIjgiCiAJaGVscAogCSAgVGhpcyBhbGxvd3MgeW91IHRvIHNwZWNpZnkgdGhlIG1heGltdW0gbnVtYmVyIG9mIENQVXMgd2hpY2ggdGhpcwotCSAga2VybmVsIHdpbGwgc3VwcG9ydC4gIFRoZSBtYXhpbXVtIHN1cHBvcnRlZCB2YWx1ZSBpcyAyNTUgYW5kIHRoZQorCSAga2VybmVsIHdpbGwgc3VwcG9ydC4gIFRoZSBtYXhpbXVtIHN1cHBvcnRlZCB2YWx1ZSBpcyA0MDk2IGFuZCB0aGUKIAkgIG1pbmltdW0gdmFsdWUgd2hpY2ggbWFrZXMgc2Vuc2UgaXMgMi4KIAogCSAgVGhpcyBpcyBwdXJlbHkgdG8gc2F2ZSBtZW1vcnkgLSBlYWNoIHN1cHBvcnRlZCBDUFUgYWRkcwogCSAgYXBwcm94aW1hdGVseSBlaWdodCBraWxvYnl0ZXMgdG8gdGhlIGtlcm5lbCBpbWFnZS4KK2VuZGlmCiAKIGNvbmZpZyBTQ0hFRF9TTVQKIAlib29sICJTTVQgKEh5cGVydGhyZWFkaW5nKSBzY2hlZHVsZXIgc3VwcG9ydCIKQEAgLTU5OCw3ICs2MjksNyBAQAogCiBjb25maWcgWDg2X1VQX0FQSUMKIAlib29sICJMb2NhbCBBUElDIHN1cHBvcnQgb24gdW5pcHJvY2Vzc29ycyIKLQlkZXBlbmRzIG9uIFg4Nl8zMiAmJiAhU01QICYmICEoWDg2X1ZJU1dTIHx8IFg4Nl9WT1lBR0VSIHx8IFg4Nl9HRU5FUklDQVJDSCkKKwlkZXBlbmRzIG9uIFg4Nl8zMiAmJiAhU01QICYmICEoWDg2X1ZPWUFHRVIgfHwgWDg2X0dFTkVSSUNBUkNIKQogCWhlbHAKIAkgIEEgbG9jYWwgQVBJQyAoQWR2YW5jZWQgUHJvZ3JhbW1hYmxlIEludGVycnVwdCBDb250cm9sbGVyKSBpcyBhbgogCSAgaW50ZWdyYXRlZCBpbnRlcnJ1cHQgY29udHJvbGxlciBpbiB0aGUgQ1BVLiBJZiB5b3UgaGF2ZSBhIHNpbmdsZS1DUFUKQEAgLTYyMywxMSArNjU0LDExIEBACiAKIGNvbmZpZyBYODZfTE9DQUxfQVBJQwogCWRlZl9ib29sIHkKLQlkZXBlbmRzIG9uIFg4Nl82NCB8fCAoWDg2XzMyICYmIChYODZfVVBfQVBJQyB8fCAoKFg4Nl9WSVNXUyB8fCBTTVApICYmICFYODZfVk9ZQUdFUikgfHwgWDg2X0dFTkVSSUNBUkNIKSkKKwlkZXBlbmRzIG9uIFg4Nl82NCB8fCAoWDg2XzMyICYmIChYODZfVVBfQVBJQyB8fCAoU01QICYmICFYODZfVk9ZQUdFUikgfHwgWDg2X0dFTkVSSUNBUkNIKSkKIAogY29uZmlnIFg4Nl9JT19BUElDCiAJZGVmX2Jvb2wgeQotCWRlcGVuZHMgb24gWDg2XzY0IHx8IChYODZfMzIgJiYgKFg4Nl9VUF9JT0FQSUMgfHwgKFNNUCAmJiAhKFg4Nl9WSVNXUyB8fCBYODZfVk9ZQUdFUikpIHx8IFg4Nl9HRU5FUklDQVJDSCkpCisJZGVwZW5kcyBvbiBYODZfNjQgfHwgKFg4Nl8zMiAmJiAoWDg2X1VQX0lPQVBJQyB8fCAoU01QICYmICFYODZfVk9ZQUdFUikgfHwgWDg2X0dFTkVSSUNBUkNIKSkKIAogY29uZmlnIFg4Nl9WSVNXU19BUElDCiAJZGVmX2Jvb2wgeQpAQCAtNjgxLDcgKzcxMiw3IEBACiAKIGNvbmZpZyBYODZfTUNFX1A0VEhFUk1BTAogCWJvb2wgImNoZWNrIGZvciBQNCB0aGVybWFsIHRocm90dGxpbmcgaW50ZXJydXB0LiIKLQlkZXBlbmRzIG9uIFg4Nl8zMiAmJiBYODZfTUNFICYmIChYODZfVVBfQVBJQyB8fCBTTVApICYmICFYODZfVklTV1MKKwlkZXBlbmRzIG9uIFg4Nl8zMiAmJiBYODZfTUNFICYmIChYODZfVVBfQVBJQyB8fCBTTVApCiAJaGVscAogCSAgRW5hYmxpbmcgdGhpcyBmZWF0dXJlIHdpbGwgY2F1c2UgYSBtZXNzYWdlIHRvIGJlIHByaW50ZWQgd2hlbiB0aGUgUDQKIAkgIGVudGVycyB0aGVybWFsIHRocm90dGxpbmcuCkBAIC05MTEsOSArOTQyLDkgQEAKIGNvbmZpZyBOVU1BCiAJYm9vbCAiTnVtYSBNZW1vcnkgQWxsb2NhdGlvbiBhbmQgU2NoZWR1bGVyIFN1cHBvcnQgKEVYUEVSSU1FTlRBTCkiCiAJZGVwZW5kcyBvbiBTTVAKLQlkZXBlbmRzIG9uIFg4Nl82NCB8fCAoWDg2XzMyICYmIEhJR0hNRU02NEcgJiYgKFg4Nl9OVU1BUSB8fCAoWDg2X1NVTU1JVCB8fCBYODZfR0VORVJJQ0FSQ0gpICYmIEFDUEkpICYmIEVYUEVSSU1FTlRBTCkKKwlkZXBlbmRzIG9uIFg4Nl82NCB8fCAoWDg2XzMyICYmIEhJR0hNRU02NEcgJiYgKFg4Nl9OVU1BUSB8fCBYODZfQklHU01QIHx8IFg4Nl9TVU1NSVQgJiYgQUNQSSkgJiYgRVhQRVJJTUVOVEFMKQogCWRlZmF1bHQgbiBpZiBYODZfUEMKLQlkZWZhdWx0IHkgaWYgKFg4Nl9OVU1BUSB8fCBYODZfU1VNTUlUKQorCWRlZmF1bHQgeSBpZiAoWDg2X05VTUFRIHx8IFg4Nl9TVU1NSVQgfHwgWDg2X0JJR1NNUCkKIAloZWxwCiAJICBFbmFibGUgTlVNQSAoTm9uIFVuaWZvcm0gTWVtb3J5IEFjY2Vzcykgc3VwcG9ydC4KIAkgIFRoZSBrZXJuZWwgd2lsbCB0cnkgdG8gYWxsb2NhdGUgbWVtb3J5IHVzZWQgYnkgYSBDUFUgb24gdGhlCkBAIC05NjUsMTMgKzk5NiwyNSBAQAogCSAgaW50byB2aXJ0dWFsIG5vZGVzIHdoZW4gYm9vdGVkIHdpdGggIm51bWE9ZmFrZT1OIiwgd2hlcmUgTiBpcyB0aGUKIAkgIG51bWJlciBvZiBub2Rlcy4gVGhpcyBpcyBvbmx5IHVzZWZ1bCBmb3IgZGVidWdnaW5nLgogCitpZiBNQVhTTVAKKwogY29uZmlnIE5PREVTX1NISUZUCi0JaW50ICJNYXggbnVtIG5vZGVzIHNoaWZ0KDEtOSkiCi0JcmFuZ2UgMSA5ICBpZiBYODZfNjQKKwlpbnQKKwlkZWZhdWx0ICI5IgorZW5kaWYKKworaWYgIU1BWFNNUAorY29uZmlnIE5PREVTX1NISUZUCisJaW50ICJNYXhpbXVtIE5VTUEgTm9kZXMgKGFzIGEgcG93ZXIgb2YgMikiCisJcmFuZ2UgMSA5ICAgaWYgWDg2XzY0CiAJZGVmYXVsdCAiNiIgaWYgWDg2XzY0CiAJZGVmYXVsdCAiNCIgaWYgWDg2X05VTUFRCiAJZGVmYXVsdCAiMyIKIAlkZXBlbmRzIG9uIE5FRURfTVVMVElQTEVfTk9ERVMKKwloZWxwCisJICBTcGVjaWZ5IHRoZSBtYXhpbXVtIG51bWJlciBvZiBOVU1BIE5vZGVzIGF2YWlsYWJsZSBvbiB0aGUgdGFyZ2V0CisJICBzeXN0ZW0uICBJbmNyZWFzZXMgbWVtb3J5IHJlc2VydmVkIHRvIGFjY29tb2RhdGUgdmFyaW91cyB0YWJsZXMuCitlbmRpZgogCiBjb25maWcgSEFWRV9BUkNIX0JPT1RNRU1fTk9ERQogCWRlZl9ib29sIHkKQEAgLTEwOTAsNiArMTEzMywzNyBAQAogCiAJICBTZWUgPGZpbGU6RG9jdW1lbnRhdGlvbi9tdHJyLnR4dD4gZm9yIG1vcmUgaW5mb3JtYXRpb24uCiAKK2NvbmZpZyBNVFJSX1NBTklUSVpFUgorCWJvb2wKKwlwcm9tcHQgIk1UUlIgY2xlYW51cCBzdXBwb3J0IgorCWRlcGVuZHMgb24gTVRSUgorCWhlbHAKKwkgIENvbnZlcnQgTVRSUiBsYXlvdXQgZnJvbSBjb250aW51b3VzIHRvIGRpc2NyZXRlLCBzbyBYIGRyaXZlcnMgY2FuCisJICBhZGQgd3JpdGViYWNrIGVudHJpZXMuCisKKwkgIENhbiBiZSBkaXNhYmxlZCB3aXRoIGRpc2FibGVfbXRycl9jbGVhbnVwIG9uIHRoZSBrZXJuZWwgY29tbWFuZCBsaW5lLgorCSAgVGhlIGxhcmdlc3QgbXRyciBlbnRyeSBzaXplIGZvciBhIGNvbnRpbm91cyBibG9jayBjYW4gYmUgc2V0IHdpdGgKKwkgIG10cnJfY2h1bmtfc2l6ZS4KKworCSAgSWYgdW5zdXJlLCBzYXkgTi4KKworY29uZmlnIE1UUlJfU0FOSVRJWkVSX0VOQUJMRV9ERUZBVUxUCisJaW50ICJNVFJSIGNsZWFudXAgZW5hYmxlIHZhbHVlICgwLTEpIgorCXJhbmdlIDAgMQorCWRlZmF1bHQgIjAiCisJZGVwZW5kcyBvbiBNVFJSX1NBTklUSVpFUgorCWhlbHAKKwkgIEVuYWJsZSBtdHJyIGNsZWFudXAgZGVmYXVsdCB2YWx1ZQorCitjb25maWcgTVRSUl9TQU5JVElaRVJfU1BBUkVfUkVHX05SX0RFRkFVTFQKKwlpbnQgIk1UUlIgY2xlYW51cCBzcGFyZSByZWcgbnVtICgwLTcpIgorCXJhbmdlIDAgNworCWRlZmF1bHQgIjEiCisJZGVwZW5kcyBvbiBNVFJSX1NBTklUSVpFUgorCWhlbHAKKwkgIG10cnIgY2xlYW51cCBzcGFyZSBlbnRyaWVzIGRlZmF1bHQsIGl0IGNhbiBiZSBjaGFuZ2VkIHZpYQorCSAgbXRycl9zcGFyZV9yZWdfbnI9TiBvbiB0aGUga2VybmVsIGNvbW1hbmQgbGluZS4KKwogY29uZmlnIFg4Nl9QQVQKIAlib29sCiAJcHJvbXB0ICJ4ODYgUEFUIHN1cHBvcnQiCkBAIC0xMTkwLDcgKzEyNjQsNiBAQAogCiBjb25maWcgQ1JBU0hfRFVNUAogCWJvb2wgImtlcm5lbCBjcmFzaCBkdW1wcyAoRVhQRVJJTUVOVEFMKSIKLQlkZXBlbmRzIG9uIEVYUEVSSU1FTlRBTAogCWRlcGVuZHMgb24gWDg2XzY0IHx8IChYODZfMzIgJiYgSElHSE1FTSkKIAloZWxwCiAJICBHZW5lcmF0ZSBjcmFzaCBkdW1wIGFmdGVyIGJlaW5nIHN0YXJ0ZWQgYnkga2V4ZWMuCkBAIC0xMzM5LDcgKzE0MTIsNyBAQAogCiBtZW51Y29uZmlnIEFQTQogCXRyaXN0YXRlICJBUE0gKEFkdmFuY2VkIFBvd2VyIE1hbmFnZW1lbnQpIEJJT1Mgc3VwcG9ydCIKLQlkZXBlbmRzIG9uIFg4Nl8zMiAmJiBQTV9TTEVFUCAmJiAhWDg2X1ZJU1dTCisJZGVwZW5kcyBvbiBYODZfMzIgJiYgUE1fU0xFRVAKIAktLS1oZWxwLS0tCiAJICBBUE0gaXMgYSBCSU9TIHNwZWNpZmljYXRpb24gZm9yIHNhdmluZyBwb3dlciB1c2luZyBzZXZlcmFsIGRpZmZlcmVudAogCSAgdGVjaG5pcXVlcy4gVGhpcyBpcyBtb3N0bHkgdXNlZnVsIGZvciBiYXR0ZXJ5IHBvd2VyZWQgbGFwdG9wcyB3aXRoCkBAIC0xNDc1LDggKzE1NDgsNyBAQAogbWVudSAiQnVzIG9wdGlvbnMgKFBDSSBldGMuKSIKIAogY29uZmlnIFBDSQotCWJvb2wgIlBDSSBzdXBwb3J0IiBpZiAhWDg2X1ZJU1dTICYmICFYODZfVlNNUAotCWRlcGVuZHMgb24gIVg4Nl9WT1lBR0VSCisJYm9vbCAiUENJIHN1cHBvcnQiCiAJZGVmYXVsdCB5CiAJc2VsZWN0IEFSQ0hfU1VQUE9SVFNfTVNJIGlmIChYODZfTE9DQUxfQVBJQyAmJiBYODZfSU9fQVBJQykKIAloZWxwCkBAIC0xNDg3LDcgKzE1NTksNyBAQAogCiBjaG9pY2UKIAlwcm9tcHQgIlBDSSBhY2Nlc3MgbW9kZSIKLQlkZXBlbmRzIG9uIFg4Nl8zMiAmJiBQQ0kgJiYgIVg4Nl9WSVNXUworCWRlcGVuZHMgb24gWDg2XzMyICYmIFBDSQogCWRlZmF1bHQgUENJX0dPQU5ZCiAJLS0taGVscC0tLQogCSAgT24gUENJIHN5c3RlbXMsIHRoZSBCSU9TIGNhbiBiZSB1c2VkIHRvIGRldGVjdCB0aGUgUENJIGRldmljZXMgYW5kCkBAIC0xNTI0LDEyICsxNTk2LDEyIEBACiAKIGNvbmZpZyBQQ0lfQklPUwogCWRlZl9ib29sIHkKLQlkZXBlbmRzIG9uIFg4Nl8zMiAmJiAhWDg2X1ZJU1dTICYmIFBDSSAmJiAoUENJX0dPQklPUyB8fCBQQ0lfR09BTlkpCisJZGVwZW5kcyBvbiBYODZfMzIgJiYgUENJICYmIChQQ0lfR09CSU9TIHx8IFBDSV9HT0FOWSkKIAogIyB4ODYtNjQgZG9lc24ndCBzdXBwb3J0IFBDSSBCSU9TIGFjY2VzcyBmcm9tIGxvbmcgbW9kZSBzbyBhbHdheXMgZ28gZGlyZWN0LgogY29uZmlnIFBDSV9ESVJFQ1QKIAlkZWZfYm9vbCB5Ci0JZGVwZW5kcyBvbiBQQ0kgJiYgKFg4Nl82NCB8fCAoUENJX0dPRElSRUNUIHx8IFBDSV9HT0FOWSB8fCBQQ0lfR09PTFBDKSB8fCBYODZfVklTV1MpCisJZGVwZW5kcyBvbiBQQ0kgJiYgKFg4Nl82NCB8fCAoUENJX0dPRElSRUNUIHx8IFBDSV9HT0FOWSB8fCBQQ0lfR09PTFBDKSkKIAogY29uZmlnIFBDSV9NTUNPTkZJRwogCWRlZl9ib29sIHkKQEAgLTE1ODksNyArMTY2MSw3IEBACiAKIGNvbmZpZyBJU0EKIAlib29sICJJU0Egc3VwcG9ydCIKLQlkZXBlbmRzIG9uICEoWDg2X1ZPWUFHRVIgfHwgWDg2X1ZJU1dTKQorCWRlcGVuZHMgb24gIVg4Nl9WT1lBR0VSCiAJaGVscAogCSAgRmluZCBvdXQgd2hldGhlciB5b3UgaGF2ZSBJU0Egc2xvdHMgb24geW91ciBtb3RoZXJib2FyZC4gIElTQSBpcyB0aGUKIAkgIG5hbWUgb2YgYSBidXMgc3lzdGVtLCBpLmUuIHRoZSB3YXkgdGhlIENQVSB0YWxrcyB0byB0aGUgb3RoZXIgc3R1ZmYKQEAgLTE2MTYsNyArMTY4OCw3IEBACiBzb3VyY2UgImRyaXZlcnMvZWlzYS9LY29uZmlnIgogCiBjb25maWcgTUNBCi0JYm9vbCAiTUNBIHN1cHBvcnQiIGlmICEoWDg2X1ZJU1dTIHx8IFg4Nl9WT1lBR0VSKQorCWJvb2wgIk1DQSBzdXBwb3J0IiBpZiAhWDg2X1ZPWUFHRVIKIAlkZWZhdWx0IHkgaWYgWDg2X1ZPWUFHRVIKIAloZWxwCiAJICBNaWNyb0NoYW5uZWwgQXJjaGl0ZWN0dXJlIGlzIGZvdW5kIGluIHNvbWUgSUJNIFBTLzIgbWFjaGluZXMgYW5kCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9LY29uZmlnLmNwdSBiL2FyY2gveDg2L0tjb25maWcuY3B1CmluZGV4IDJhZDYzMDEuLmFiZmYxYjggMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L0tjb25maWcuY3B1CisrKyBiL2FyY2gveDg2L0tjb25maWcuY3B1CkBAIC0zNDQsNyArMzQ0LDcgQEAKIAogY29uZmlnIFg4Nl9XUF9XT1JLU19PSwogCWRlZl9ib29sIHkKLQlkZXBlbmRzIG9uIFg4Nl8zMiAmJiAhTTM4NgorCWRlcGVuZHMgb24gIU0zODYKIAogY29uZmlnIFg4Nl9JTlZMUEcKIAlkZWZfYm9vbCB5CkBAIC0zOTksNiArMzk5LDEwIEBACiAJZGVmX2Jvb2wgeQogCWRlcGVuZHMgb24gKChNV0lOQ0hJUDNEIHx8IE1XSU5DSElQMiB8fCBNQ1JVU09FIHx8IE1FRkZJQ0VPTiB8fCBNQ1lSSVhJSUkgfHwgTUs3IHx8IE1LNiB8fCBNUEVOVElVTTQgfHwgTVBFTlRJVU1NIHx8IE1QRU5USVVNSUlJIHx8IE1QRU5USVVNSUkgfHwgTTY4NiB8fCBNNTg2TU1YIHx8IE01ODZUU0MgfHwgTUs4IHx8IE1WSUFDM18yIHx8IE1WSUFDNyB8fCBNR0VPREVHWDEgfHwgTUdFT0RFX0xYIHx8IE1DT1JFMikgJiYgIVg4Nl9OVU1BUSkgfHwgWDg2XzY0CiAKK2NvbmZpZyBYODZfQ01QWENIRzY0CisJZGVmX2Jvb2wgeQorCWRlcGVuZHMgb24gWDg2X1BBRSB8fCBYODZfNjQKKwogIyB0aGlzIHNob3VsZCBiZSBzZXQgZm9yIGFsbCAtbWFyY2g9Li4gb3B0aW9ucyB3aGVyZSB0aGUgY29tcGlsZXIKICMgZ2VuZXJhdGVzIGNtb3YuCiBjb25maWcgWDg2X0NNT1YKZGlmZiAtLWdpdCBhL2FyY2gveDg2L0tjb25maWcuZGVidWcgYi9hcmNoL3g4Ni9LY29uZmlnLmRlYnVnCmluZGV4IDE4MzYzMzcuLmFlMzZiZmEgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L0tjb25maWcuZGVidWcKKysrIGIvYXJjaC94ODYvS2NvbmZpZy5kZWJ1ZwpAQCAtMjAsNiArMjAsMTQgQEAKIAogCSAgSWYgaW4gZG91YnQsIHNheSBZLgogCitjb25maWcgWDg2X1ZFUkJPU0VfQk9PVFVQCisJYm9vbCAiRW5hYmxlIHZlcmJvc2UgeDg2IGJvb3R1cCBpbmZvIG1lc3NhZ2VzIgorCWRlZmF1bHQgeQorCWhlbHAKKwkgIEVuYWJsZXMgdGhlIGluZm9ybWF0aW9uYWwgb3V0cHV0IGZyb20gdGhlIGRlY29tcHJlc3Npb24gc3RhZ2UKKwkgIChlLmcuIGJ6SW1hZ2UpIG9mIHRoZSBib290LiBJZiB5b3UgZGlzYWJsZSB0aGlzIHlvdSB3aWxsIHN0aWxsCisJICBzZWUgZXJyb3JzLiBEaXNhYmxlIHRoaXMgaWYgeW91IHdhbnQgc2lsZW50IGJvb3R1cC4KKwogY29uZmlnIEVBUkxZX1BSSU5USwogCWJvb2wgIkVhcmx5IHByaW50ayIgaWYgRU1CRURERUQKIAlkZWZhdWx0IHkKQEAgLTYwLDcgKzY4LDcgQEAKIGNvbmZpZyBERUJVR19QRVJfQ1BVX01BUFMKIAlib29sICJEZWJ1ZyBhY2Nlc3MgdG8gcGVyX2NwdSBtYXBzIgogCWRlcGVuZHMgb24gREVCVUdfS0VSTkVMCi0JZGVwZW5kcyBvbiBYODZfNjRfU01QCisJZGVwZW5kcyBvbiBYODZfU01QCiAJZGVmYXVsdCBuCiAJaGVscAogCSAgU2F5IFkgdG8gdmVyaWZ5IHRoYXQgdGhlIHBlcl9jcHUgbWFwIGJlaW5nIGFjY2Vzc2VkIGhhcwpAQCAtMTI5LDE1ICsxMzcsNiBAQAogCSAgb24gdGhlIFZNIHN1YnN5c3RlbSBmb3IgaGlnaGVyIG9yZGVyIGFsbG9jYXRpb25zLiBUaGlzIG9wdGlvbgogCSAgd2lsbCBhbHNvIHVzZSBJUlEgc3RhY2tzIHRvIGNvbXBlbnNhdGUgZm9yIHRoZSByZWR1Y2VkIHN0YWNrc3BhY2UuCiAKLWNvbmZpZyBYODZfRklORF9TTVBfQ09ORklHCi0JZGVmX2Jvb2wgeQotCWRlcGVuZHMgb24gWDg2X0xPQ0FMX0FQSUMgfHwgWDg2X1ZPWUFHRVIKLQlkZXBlbmRzIG9uIFg4Nl8zMgotCi1jb25maWcgWDg2X01QUEFSU0UKLQlkZWZfYm9vbCB5Ci0JZGVwZW5kcyBvbiAoWDg2XzMyICYmIChYODZfTE9DQUxfQVBJQyAmJiAhWDg2X1ZJU1dTKSkgfHwgWDg2XzY0Ci0KIGNvbmZpZyBET1VCTEVGQVVMVAogCWRlZmF1bHQgeQogCWJvb2wgIkVuYWJsZSBkb3VibGVmYXVsdCBleGNlcHRpb24gaGFuZGxlciIgaWYgRU1CRURERUQKQEAgLTE3Miw2ICsxNzEsMzMgQEAKIAkgIEFkZCBhIHNpbXBsZSBsZWFrIHRyYWNlciB0byB0aGUgSU9NTVUgY29kZS4gVGhpcyBpcyB1c2VmdWwgd2hlbiB5b3UKIAkgIGFyZSBkZWJ1Z2dpbmcgYSBidWdneSBkZXZpY2UgZHJpdmVyIHRoYXQgbGVha3MgSU9NTVUgbWFwcGluZ3MuCiAKK2NvbmZpZyBNTUlPVFJBQ0VfSE9PS1MKKwlib29sCisKK2NvbmZpZyBNTUlPVFJBQ0UKKwlib29sICJNZW1vcnkgbWFwcGVkIElPIHRyYWNpbmciCisJZGVwZW5kcyBvbiBERUJVR19LRVJORUwgJiYgUENJCisJc2VsZWN0IFRSQUNJTkcKKwlzZWxlY3QgTU1JT1RSQUNFX0hPT0tTCisJaGVscAorCSAgTW1pb3RyYWNlIHRyYWNlcyBNZW1vcnkgTWFwcGVkIEkvTyBhY2Nlc3MgYW5kIGlzIG1lYW50IGZvcgorCSAgZGVidWdnaW5nIGFuZCByZXZlcnNlIGVuZ2luZWVyaW5nLiBJdCBpcyBjYWxsZWQgZnJvbSB0aGUgaW9yZW1hcAorCSAgaW1wbGVtZW50YXRpb24gYW5kIHdvcmtzIHZpYSBwYWdlIGZhdWx0cy4gVHJhY2luZyBpcyBkaXNhYmxlZCBieQorCSAgZGVmYXVsdCBhbmQgY2FuIGJlIGVuYWJsZWQgYXQgcnVuLXRpbWUuCisKKwkgIFNlZSBEb2N1bWVudGF0aW9uL3RyYWNlcnMvbW1pb3RyYWNlLnR4dC4KKwkgIElmIHlvdSBhcmUgbm90IGhlbHBpbmcgdG8gZGV2ZWxvcCBkcml2ZXJzLCBzYXkgTi4KKworY29uZmlnIE1NSU9UUkFDRV9URVNUCisJdHJpc3RhdGUgIlRlc3QgbW9kdWxlIGZvciBtbWlvdHJhY2UiCisJZGVwZW5kcyBvbiBNTUlPVFJBQ0UgJiYgbQorCWhlbHAKKwkgIFRoaXMgaXMgYSBkdW1iIG1vZHVsZSBmb3IgdGVzdGluZyBtbWlvdHJhY2UuIEl0IGlzIHZlcnkgZGFuZ2Vyb3VzCisJICBhcyBpdCB3aWxsIHdyaXRlIGdhcmJhZ2UgdG8gSU8gbWVtb3J5IHN0YXJ0aW5nIGF0IGEgZ2l2ZW4gYWRkcmVzcy4KKwkgIEhvd2V2ZXIsIGl0IHNob3VsZCBiZSBzYWZlIHRvIHVzZSBvbiBlLmcuIHVudXNlZCBwb3J0aW9uIG9mIFZSQU0uCisKKwkgIFNheSBOLCB1bmxlc3MgeW91IGFic29sdXRlbHkga25vdyB3aGF0IHlvdSBhcmUgZG9pbmcuCisKICMKICMgSU8gZGVsYXkgdHlwZXM6CiAjCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9NYWtlZmlsZSBiL2FyY2gveDg2L01ha2VmaWxlCmluZGV4IDNjZmYzYzguLjkxOWNlMjEgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L01ha2VmaWxlCisrKyBiL2FyY2gveDg2L01ha2VmaWxlCkBAIC0xMTMsMzMgKzExMywxMSBAQAogbWZsYWdzLSQoQ09ORklHX1g4Nl9WT1lBR0VSKQk6PSAtSWluY2x1ZGUvYXNtLXg4Ni9tYWNoLXZveWFnZXIKIG1jb3JlLSQoQ09ORklHX1g4Nl9WT1lBR0VSKQk6PSBhcmNoL3g4Ni9tYWNoLXZveWFnZXIvCiAKLSMgVklTV1Mgc3ViYXJjaCBzdXBwb3J0Ci1tZmxhZ3MtJChDT05GSUdfWDg2X1ZJU1dTKQk6PSAtSWluY2x1ZGUvYXNtLXg4Ni9tYWNoLXZpc3dzCi1tY29yZS0kKENPTkZJR19YODZfVklTV1MpCTo9IGFyY2gveDg2L21hY2gtdmlzd3MvCi0KLSMgTlVNQVEgc3ViYXJjaCBzdXBwb3J0Ci1tZmxhZ3MtJChDT05GSUdfWDg2X05VTUFRKQk6PSAtSWluY2x1ZGUvYXNtLXg4Ni9tYWNoLW51bWFxCi1tY29yZS0kKENPTkZJR19YODZfTlVNQVEpCTo9IGFyY2gveDg2L21hY2gtZGVmYXVsdC8KLQotIyBCSUdTTVAgc3ViYXJjaCBzdXBwb3J0Ci1tZmxhZ3MtJChDT05GSUdfWDg2X0JJR1NNUCkJOj0gLUlpbmNsdWRlL2FzbS14ODYvbWFjaC1iaWdzbXAKLW1jb3JlLSQoQ09ORklHX1g4Nl9CSUdTTVApCTo9IGFyY2gveDg2L21hY2gtZGVmYXVsdC8KLQotI1N1bW1pdCBzdWJhcmNoIHN1cHBvcnQKLW1mbGFncy0kKENPTkZJR19YODZfU1VNTUlUKQk6PSAtSWluY2x1ZGUvYXNtLXg4Ni9tYWNoLXN1bW1pdAotbWNvcmUtJChDT05GSUdfWDg2X1NVTU1JVCkJOj0gYXJjaC94ODYvbWFjaC1kZWZhdWx0LwotCiAjIGdlbmVyaWMgc3ViYXJjaGl0ZWN0dXJlCiBtZmxhZ3MtJChDT05GSUdfWDg2X0dFTkVSSUNBUkNIKTo9IC1JaW5jbHVkZS9hc20teDg2L21hY2gtZ2VuZXJpYwogZmNvcmUtJChDT05GSUdfWDg2X0dFTkVSSUNBUkNIKQkrPSBhcmNoL3g4Ni9tYWNoLWdlbmVyaWMvCiBtY29yZS0kKENPTkZJR19YODZfR0VORVJJQ0FSQ0gpCTo9IGFyY2gveDg2L21hY2gtZGVmYXVsdC8KIAotCi0jIEVTNzAwMCBzdWJhcmNoIHN1cHBvcnQKLW1mbGFncy0kKENPTkZJR19YODZfRVM3MDAwKQk6PSAtSWluY2x1ZGUvYXNtLXg4Ni9tYWNoLWVzNzAwMAotZmNvcmUtJChDT05GSUdfWDg2X0VTNzAwMCkJOj0gYXJjaC94ODYvbWFjaC1lczcwMDAvCi1tY29yZS0kKENPTkZJR19YODZfRVM3MDAwKQk6PSBhcmNoL3g4Ni9tYWNoLWRlZmF1bHQvCi0KICMgUkRDIFItMzIxeCBzdWJhcmNoIHN1cHBvcnQKIG1mbGFncy0kKENPTkZJR19YODZfUkRDMzIxWCkJOj0gLUlpbmNsdWRlL2FzbS14ODYvbWFjaC1yZGMzMjF4CiBtY29yZS0kKENPTkZJR19YODZfUkRDMzIxWCkJOj0gYXJjaC94ODYvbWFjaC1kZWZhdWx0LwpAQCAtMTYwLDYgKzEzOCw3IEBACiAKIGhlYWQteSA6PSBhcmNoL3g4Ni9rZXJuZWwvaGVhZF8kKEJJVFMpLm8KIGhlYWQteSArPSBhcmNoL3g4Ni9rZXJuZWwvaGVhZCQoQklUUykubworaGVhZC15ICs9IGFyY2gveDg2L2tlcm5lbC9oZWFkLm8KIGhlYWQteSArPSBhcmNoL3g4Ni9rZXJuZWwvaW5pdF90YXNrLm8KIAogbGlicy15ICArPSBhcmNoL3g4Ni9saWIvCkBAIC0yMTAsMTIgKzE4OSwxMiBAQAogCiAjIEtCVUlMRF9JTUFHRSBzcGVjaWZ5IHRhcmdldCBpbWFnZSBiZWluZyBidWlsdAogICAgICAgICAgICAgICAgICAgICBLQlVJTERfSU1BR0UgOj0gJChib290KS9iekltYWdlCi16SW1hZ2UgemxpbG8gemRpc2s6IEtCVUlMRF9JTUFHRSA6PSBhcmNoL3g4Ni9ib290L3pJbWFnZQorekltYWdlIHpsaWxvIHpkaXNrOiBLQlVJTERfSU1BR0UgOj0gJChib290KS96SW1hZ2UKIAogekltYWdlIGJ6SW1hZ2U6IHZtbGludXgKIAkkKFEpJChNQUtFKSAkKGJ1aWxkKT0kKGJvb3QpICQoS0JVSUxEX0lNQUdFKQogCSQoUSlta2RpciAtcCAkKG9ianRyZWUpL2FyY2gvJChVVFNfTUFDSElORSkvYm9vdAotCSQoUSlsbiAtZnNuIC4uLy4uL3g4Ni9ib290L2J6SW1hZ2UgJChvYmp0cmVlKS9hcmNoLyQoVVRTX01BQ0hJTkUpL2Jvb3QvYnpJbWFnZQorCSQoUSlsbiAtZnNuIC4uLy4uL3g4Ni9ib290L2J6SW1hZ2UgJChvYmp0cmVlKS9hcmNoLyQoVVRTX01BQ0hJTkUpL2Jvb3QvJEAKIAogY29tcHJlc3NlZDogekltYWdlCiAKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2Jvb3QvYTIwLmMgYi9hcmNoL3g4Ni9ib290L2EyMC5jCmluZGV4IGUwMWFhZmQuLjQwNjNkNjMgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2Jvb3QvYTIwLmMKKysrIGIvYXJjaC94ODYvYm9vdC9hMjAuYwpAQCAtMSw3ICsxLDcgQEAKIC8qIC0qLSBsaW51eC1jIC0qLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICoKICAqCiAgKiAgIENvcHlyaWdodCAoQykgMTk5MSwgMTk5MiBMaW51cyBUb3J2YWxkcwotICogICBDb3B5cmlnaHQgMjAwNyByUGF0aCwgSW5jLiAtIEFsbCBSaWdodHMgUmVzZXJ2ZWQKKyAqICAgQ29weXJpZ2h0IDIwMDctMjAwOCByUGF0aCwgSW5jLiAtIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICAqCiAgKiAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBMaW51eCBrZXJuZWwsIGFuZCBpcyBtYWRlIGF2YWlsYWJsZSB1bmRlcgogICogICB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMi4KQEAgLTk1LDYgKzk1LDkgQEAKIAogCW91dGIoMHhkZiwgMHg2MCk7CS8qIEEyMCBvbiAqLwogCWVtcHR5XzgwNDIoKTsKKworCW91dGIoMHhmZiwgMHg2NCk7CS8qIE51bGwgY29tbWFuZCwgYnV0IFVIQ0kgd2FudHMgaXQgKi8KKwllbXB0eV84MDQyKCk7CiB9CiAKIHN0YXRpYyB2b2lkIGVuYWJsZV9hMjBfZmFzdCh2b2lkKQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvYm9vdC9jb21wcmVzc2VkL2hlYWRfNjQuUyBiL2FyY2gveDg2L2Jvb3QvY29tcHJlc3NlZC9oZWFkXzY0LlMKaW5kZXggZDg4MTllZi4uMWQ1ZGZmNCAxMDA2NDQKLS0tIGEvYXJjaC94ODYvYm9vdC9jb21wcmVzc2VkL2hlYWRfNjQuUworKysgYi9hcmNoL3g4Ni9ib290L2NvbXByZXNzZWQvaGVhZF82NC5TCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSA8YXNtL3BhZ2UuaD4KICNpbmNsdWRlIDxhc20vYm9vdC5oPgogI2luY2x1ZGUgPGFzbS9tc3IuaD4KKyNpbmNsdWRlIDxhc20vcHJvY2Vzc29yLWZsYWdzLmg+CiAjaW5jbHVkZSA8YXNtL2FzbS1vZmZzZXRzLmg+CiAKIC5zZWN0aW9uICIudGV4dC5oZWFkIgpAQCAtMTA5LDcgKzExMCw3IEBACiAKIAkvKiBFbmFibGUgUEFFIG1vZGUgKi8KIAl4b3JsCSVlYXgsICVlYXgKLQlvcmwJJCgxIDw8IDUpLCAlZWF4CisJb3JsCSQoWDg2X0NSNF9QQUUpLCAlZWF4CiAJbW92bAklZWF4LCAlY3I0CiAKICAvKgpAQCAtMTcwLDcgKzE3MSw3IEBACiAJcHVzaGwJJWVheAogCiAJLyogRW50ZXIgcGFnZWQgcHJvdGVjdGVkIE1vZGUsIGFjdGl2YXRpbmcgTG9uZyBNb2RlICovCi0JbW92bAkkMHg4MDAwMDAwMSwgJWVheCAvKiBFbmFibGUgUGFnaW5nIGFuZCBQcm90ZWN0ZWQgbW9kZSAqLworCW1vdmwJJChYODZfQ1IwX1BHIHwgWDg2X0NSMF9QRSksICVlYXggLyogRW5hYmxlIFBhZ2luZyBhbmQgUHJvdGVjdGVkIG1vZGUgKi8KIAltb3ZsCSVlYXgsICVjcjAKIAogCS8qIEp1bXAgZnJvbSAzMmJpdCBjb21wYXRpYmlsaXR5IG1vZGUgaW50byA2NGJpdCBtb2RlLiAqLwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvYm9vdC9jb21wcmVzc2VkL21pc2MuYyBiL2FyY2gveDg2L2Jvb3QvY29tcHJlc3NlZC9taXNjLmMKaW5kZXggOTA0NTZjZS4uYmM1NTUzYiAxMDA2NDQKLS0tIGEvYXJjaC94ODYvYm9vdC9jb21wcmVzc2VkL21pc2MuYworKysgYi9hcmNoL3g4Ni9ib290L2NvbXByZXNzZWQvbWlzYy5jCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSA8YXNtL2lvLmg+CiAjaW5jbHVkZSA8YXNtL3BhZ2UuaD4KICNpbmNsdWRlIDxhc20vYm9vdC5oPgorI2luY2x1ZGUgPGFzbS9ib290cGFyYW0uaD4KIAogLyogV0FSTklORyEhCiAgKiBUaGlzIGNvZGUgaXMgY29tcGlsZWQgd2l0aCAtZlBJQyBhbmQgaXQgaXMgcmVsb2NhdGVkIGR5bmFtaWNhbGx5CkBAIC0xODcsMTMgKzE4OCw4IEBACiAvKgogICogVGhpcyBpcyBzZXQgdXAgYnkgdGhlIHNldHVwLXJvdXRpbmUgYXQgYm9vdC10aW1lCiAgKi8KLXN0YXRpYyB1bnNpZ25lZCBjaGFyICpyZWFsX21vZGU7IC8qIFBvaW50ZXIgdG8gcmVhbC1tb2RlIGRhdGEgKi8KLQotI2RlZmluZSBSTV9FWFRfTUVNX0sgICAoKih1bnNpZ25lZCBzaG9ydCAqKShyZWFsX21vZGUgKyAweDIpKQotI2lmbmRlZiBTVEFOREFSRF9NRU1PUllfQklPU19DQUxMCi0jZGVmaW5lIFJNX0FMVF9NRU1fSyAgICgqKHVuc2lnbmVkIGxvbmcgKikocmVhbF9tb2RlICsgMHgxZTApKQotI2VuZGlmCi0jZGVmaW5lIFJNX1NDUkVFTl9JTkZPICgqKHN0cnVjdCBzY3JlZW5faW5mbyAqKShyZWFsX21vZGUrMCkpCitzdGF0aWMgc3RydWN0IGJvb3RfcGFyYW1zICpyZWFsX21vZGU7CQkvKiBQb2ludGVyIHRvIHJlYWwtbW9kZSBkYXRhICovCitzdGF0aWMgaW50IHF1aWV0OwogCiBleHRlcm4gdW5zaWduZWQgY2hhciBpbnB1dF9kYXRhW107CiBleHRlcm4gaW50IGlucHV0X2xlbjsKQEAgLTIwNiw3ICsyMDIsOCBAQAogc3RhdGljIHZvaWQgKm1lbXNldCh2b2lkICpzLCBpbnQgYywgdW5zaWduZWQgbik7CiBzdGF0aWMgdm9pZCAqbWVtY3B5KHZvaWQgKmRlc3QsIGNvbnN0IHZvaWQgKnNyYywgdW5zaWduZWQgbik7CiAKLXN0YXRpYyB2b2lkIHB1dHN0cihjb25zdCBjaGFyICopOworc3RhdGljIHZvaWQgX19wdXRzdHIoaW50LCBjb25zdCBjaGFyICopOworI2RlZmluZSBwdXRzdHIoX194KSAgX19wdXRzdHIoMCwgX194KQogCiAjaWZkZWYgQ09ORklHX1g4Nl82NAogI2RlZmluZSBtZW1wdHIgbG9uZwpAQCAtMjIxLDEwICsyMTgsNiBAQAogc3RhdGljIGludCB2aWRwb3J0Owogc3RhdGljIGludCBsaW5lcywgY29sczsKIAotI2lmZGVmIENPTkZJR19YODZfTlVNQVEKLXZvaWQgKnhxdWFkX3BvcnRpbzsKLSNlbmRpZgotCiAjaW5jbHVkZSAiLi4vLi4vLi4vLi4vbGliL2luZmxhdGUuYyIKIAogc3RhdGljIHZvaWQgKm1hbGxvYyhpbnQgc2l6ZSkKQEAgLTI3MCwxOCArMjYzLDI0IEBACiAJCXZpZG1lbVtpXSA9ICcgJzsKIH0KIAotc3RhdGljIHZvaWQgcHV0c3RyKGNvbnN0IGNoYXIgKnMpCitzdGF0aWMgdm9pZCBfX3B1dHN0cihpbnQgZXJyb3IsIGNvbnN0IGNoYXIgKnMpCiB7CiAJaW50IHgsIHksIHBvczsKIAljaGFyIGM7CiAKLSNpZmRlZiBDT05GSUdfWDg2XzMyCi0JaWYgKFJNX1NDUkVFTl9JTkZPLm9yaWdfdmlkZW9fbW9kZSA9PSAwICYmIGxpbmVzID09IDAgJiYgY29scyA9PSAwKQorI2lmbmRlZiBDT05GSUdfWDg2X1ZFUkJPU0VfQk9PVFVQCisJaWYgKCFlcnJvcikKIAkJcmV0dXJuOwogI2VuZGlmCiAKLQl4ID0gUk1fU0NSRUVOX0lORk8ub3JpZ194OwotCXkgPSBSTV9TQ1JFRU5fSU5GTy5vcmlnX3k7CisjaWZkZWYgQ09ORklHX1g4Nl8zMgorCWlmIChyZWFsX21vZGUtPnNjcmVlbl9pbmZvLm9yaWdfdmlkZW9fbW9kZSA9PSAwICYmCisJICAgIGxpbmVzID09IDAgJiYgY29scyA9PSAwKQorCQlyZXR1cm47CisjZW5kaWYKKworCXggPSByZWFsX21vZGUtPnNjcmVlbl9pbmZvLm9yaWdfeDsKKwl5ID0gcmVhbF9tb2RlLT5zY3JlZW5faW5mby5vcmlnX3k7CiAKIAl3aGlsZSAoKGMgPSAqcysrKSAhPSAnXDAnKSB7CiAJCWlmIChjID09ICdcbicpIHsKQEAgLTMwMiw4ICszMDEsOCBAQAogCQl9CiAJfQogCi0JUk1fU0NSRUVOX0lORk8ub3JpZ194ID0geDsKLQlSTV9TQ1JFRU5fSU5GTy5vcmlnX3kgPSB5OworCXJlYWxfbW9kZS0+c2NyZWVuX2luZm8ub3JpZ194ID0geDsKKwlyZWFsX21vZGUtPnNjcmVlbl9pbmZvLm9yaWdfeSA9IHk7CiAKIAlwb3MgPSAoeCArIGNvbHMgKiB5KSAqIDI7CS8qIFVwZGF0ZSBjdXJzb3IgcG9zaXRpb24gKi8KIAlvdXRiKDE0LCB2aWRwb3J0KTsKQEAgLTM2Niw5ICszNjUsOSBAQAogCiBzdGF0aWMgdm9pZCBlcnJvcihjaGFyICp4KQogewotCXB1dHN0cigiXG5cbiIpOwotCXB1dHN0cih4KTsKLQlwdXRzdHIoIlxuXG4gLS0gU3lzdGVtIGhhbHRlZCIpOworCV9fcHV0c3RyKDEsICJcblxuIik7CisJX19wdXRzdHIoMSwgeCk7CisJX19wdXRzdHIoMSwgIlxuXG4gLS0gU3lzdGVtIGhhbHRlZCIpOwogCiAJd2hpbGUgKDEpCiAJCWFzbSgiaGx0Iik7CkBAIC0zOTUsNyArMzk0LDggQEAKIAkJcmV0dXJuOwogCX0KIAotCXB1dHN0cigiUGFyc2luZyBFTEYuLi4gIik7CisJaWYgKCFxdWlldCkKKwkJcHV0c3RyKCJQYXJzaW5nIEVMRi4uLiAiKTsKIAogCXBoZHJzID0gbWFsbG9jKHNpemVvZigqcGhkcnMpICogZWhkci5lX3BobnVtKTsKIAlpZiAoIXBoZHJzKQpAQCAtNDMwLDcgKzQzMCwxMCBAQAogewogCXJlYWxfbW9kZSA9IHJtb2RlOwogCi0JaWYgKFJNX1NDUkVFTl9JTkZPLm9yaWdfdmlkZW9fbW9kZSA9PSA3KSB7CisJaWYgKHJlYWxfbW9kZS0+aGRyLmxvYWRmbGFncyAmIFFVSUVUX0ZMQUcpCisJCXF1aWV0ID0gMTsKKworCWlmIChyZWFsX21vZGUtPnNjcmVlbl9pbmZvLm9yaWdfdmlkZW9fbW9kZSA9PSA3KSB7CiAJCXZpZG1lbSA9IChjaGFyICopIDB4YjAwMDA7CiAJCXZpZHBvcnQgPSAweDNiNDsKIAl9IGVsc2UgewpAQCAtNDM4LDggKzQ0MSw4IEBACiAJCXZpZHBvcnQgPSAweDNkNDsKIAl9CiAKLQlsaW5lcyA9IFJNX1NDUkVFTl9JTkZPLm9yaWdfdmlkZW9fbGluZXM7Ci0JY29scyA9IFJNX1NDUkVFTl9JTkZPLm9yaWdfdmlkZW9fY29sczsKKwlsaW5lcyA9IHJlYWxfbW9kZS0+c2NyZWVuX2luZm8ub3JpZ192aWRlb19saW5lczsKKwljb2xzID0gcmVhbF9tb2RlLT5zY3JlZW5faW5mby5vcmlnX3ZpZGVvX2NvbHM7CiAKIAl3aW5kb3cgPSBvdXRwdXQ7CQkvKiBPdXRwdXQgYnVmZmVyIChOb3JtYWxseSBhdCAxTSkgKi8KIAlmcmVlX21lbV9wdHIgICAgID0gaGVhcDsJLyogSGVhcCAqLwpAQCAtNDY1LDkgKzQ2OCwxMSBAQAogI2VuZGlmCiAKIAltYWtlY3JjKCk7Ci0JcHV0c3RyKCJcbkRlY29tcHJlc3NpbmcgTGludXguLi4gIik7CisJaWYgKCFxdWlldCkKKwkJcHV0c3RyKCJcbkRlY29tcHJlc3NpbmcgTGludXguLi4gIik7CiAJZ3VuemlwKCk7CiAJcGFyc2VfZWxmKG91dHB1dCk7Ci0JcHV0c3RyKCJkb25lLlxuQm9vdGluZyB0aGUga2VybmVsLlxuIik7CisJaWYgKCFxdWlldCkKKwkJcHV0c3RyKCJkb25lLlxuQm9vdGluZyB0aGUga2VybmVsLlxuIik7CiAJcmV0dXJuOwogfQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvYm9vdC9jb21wcmVzc2VkL3JlbG9jcy5jIGIvYXJjaC94ODYvYm9vdC9jb21wcmVzc2VkL3JlbG9jcy5jCmluZGV4IGVkYWFkZWEuLmExMzEwYzUgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2Jvb3QvY29tcHJlc3NlZC9yZWxvY3MuYworKysgYi9hcmNoL3g4Ni9ib290L2NvbXByZXNzZWQvcmVsb2NzLmMKQEAgLTEwLDE2ICsxMCwyMCBAQAogI2RlZmluZSBVU0VfQlNECiAjaW5jbHVkZSA8ZW5kaWFuLmg+CiAKLSNkZWZpbmUgTUFYX1NIRFJTIDEwMAogI2RlZmluZSBBUlJBWV9TSVpFKHgpIChzaXplb2YoeCkgLyBzaXplb2YoKHgpWzBdKSkKIHN0YXRpYyBFbGYzMl9FaGRyIGVoZHI7Ci1zdGF0aWMgRWxmMzJfU2hkciBzaGRyW01BWF9TSERSU107Ci1zdGF0aWMgRWxmMzJfU3ltICAqc3ltdGFiW01BWF9TSERSU107Ci1zdGF0aWMgRWxmMzJfUmVsICAqcmVsdGFiW01BWF9TSERSU107Ci1zdGF0aWMgY2hhciAqc3RydGFiW01BWF9TSERSU107CiBzdGF0aWMgdW5zaWduZWQgbG9uZyByZWxvY19jb3VudCwgcmVsb2NfaWR4Owogc3RhdGljIHVuc2lnbmVkIGxvbmcgKnJlbG9jczsKIAorc3RydWN0IHNlY3Rpb24geworCUVsZjMyX1NoZHIgICAgIHNoZHI7CisJc3RydWN0IHNlY3Rpb24gKmxpbms7CisJRWxmMzJfU3ltICAgICAgKnN5bXRhYjsKKwlFbGYzMl9SZWwgICAgICAqcmVsdGFiOworCWNoYXIgICAgICAgICAgICpzdHJ0YWI7Cit9Oworc3RhdGljIHN0cnVjdCBzZWN0aW9uICpzZWNzOworCiAvKgogICogRm9sbG93aW5nIHN5bWJvbHMgaGF2ZSBiZWVuIGF1ZGl0ZWQuIFRoZXJlIHZhbHVlcyBhcmUgY29uc3RhbnQgYW5kIGRvCiAgKiBub3QgY2hhbmdlIGlmIGJ6SW1hZ2UgaXMgbG9hZGVkIGF0IGEgZGlmZmVyZW50IHBoeXNpY2FsIGFkZHJlc3MgdGhhbgpAQCAtMzUsNyArMzksNyBAQAogewogCWludCBpOwogCi0JZm9yKGkgPSAwOyBpIDwgQVJSQVlfU0laRShzYWZlX2Fic19yZWxvY3MpOyBpKyspIHsKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShzYWZlX2Fic19yZWxvY3MpOyBpKyspIHsKIAkJaWYgKCFzdHJjbXAoc3ltX25hbWUsIHNhZmVfYWJzX3JlbG9jc1tpXSkpCiAJCQkvKiBNYXRjaCBmb3VuZCAqLwogCQkJcmV0dXJuIDE7CkBAIC0xMzcsMTAgKzE0MSwxMCBAQAogewogCWNvbnN0IGNoYXIgKnNlY19zdHJ0YWI7CiAJY29uc3QgY2hhciAqbmFtZTsKLQlzZWNfc3RydGFiID0gc3RydGFiW2VoZHIuZV9zaHN0cm5keF07CisJc2VjX3N0cnRhYiA9IHNlY3NbZWhkci5lX3Noc3RybmR4XS5zdHJ0YWI7CiAJbmFtZSA9ICI8bm9uYW1lPiI7CiAJaWYgKHNobmR4IDwgZWhkci5lX3NobnVtKSB7Ci0JCW5hbWUgPSBzZWNfc3RydGFiICsgc2hkcltzaG5keF0uc2hfbmFtZTsKKwkJbmFtZSA9IHNlY19zdHJ0YWIgKyBzZWNzW3NobmR4XS5zaGRyLnNoX25hbWU7CiAJfQogCWVsc2UgaWYgKHNobmR4ID09IFNITl9BQlMpIHsKIAkJbmFtZSA9ICJBQlNPTFVURSI7CkBAIC0xNTksNyArMTYzLDcgQEAKIAkJbmFtZSA9IHN5bV9zdHJ0YWIgKyBzeW0tPnN0X25hbWU7CiAJfQogCWVsc2UgewotCQluYW1lID0gc2VjX25hbWUoc2hkcltzeW0tPnN0X3NobmR4XS5zaF9uYW1lKTsKKwkJbmFtZSA9IHNlY19uYW1lKHNlY3Nbc3ltLT5zdF9zaG5keF0uc2hkci5zaF9uYW1lKTsKIAl9CiAJcmV0dXJuIG5hbWU7CiB9CkBAIC0yNDQsMjkgKzI0OCwzNCBAQAogc3RhdGljIHZvaWQgcmVhZF9zaGRycyhGSUxFICpmcCkKIHsKIAlpbnQgaTsKLQlpZiAoZWhkci5lX3NobnVtID4gTUFYX1NIRFJTKSB7Ci0JCWRpZSgiJWQgc2VjdGlvbiBoZWFkZXJzIHN1cHBvcnRlZDogJWRcbiIsCi0JCQllaGRyLmVfc2hudW0sIE1BWF9TSERSUyk7CisJRWxmMzJfU2hkciBzaGRyOworCisJc2VjcyA9IGNhbGxvYyhlaGRyLmVfc2hudW0sIHNpemVvZihzdHJ1Y3Qgc2VjdGlvbikpOworCWlmICghc2VjcykgeworCQlkaWUoIlVuYWJsZSB0byBhbGxvY2F0ZSAlZCBzZWN0aW9uIGhlYWRlcnNcbiIsCisJCSAgICBlaGRyLmVfc2hudW0pOwogCX0KIAlpZiAoZnNlZWsoZnAsIGVoZHIuZV9zaG9mZiwgU0VFS19TRVQpIDwgMCkgewogCQlkaWUoIlNlZWsgdG8gJWQgZmFpbGVkOiAlc1xuIiwKIAkJCWVoZHIuZV9zaG9mZiwgc3RyZXJyb3IoZXJybm8pKTsKIAl9Ci0JaWYgKGZyZWFkKCZzaGRyLCBzaXplb2Yoc2hkclswXSksIGVoZHIuZV9zaG51bSwgZnApICE9IGVoZHIuZV9zaG51bSkgewotCQlkaWUoIkNhbm5vdCByZWFkIEVMRiBzZWN0aW9uIGhlYWRlcnM6ICVzXG4iLAotCQkJc3RyZXJyb3IoZXJybm8pKTsKLQl9Ci0JZm9yKGkgPSAwOyBpIDwgZWhkci5lX3NobnVtOyBpKyspIHsKLQkJc2hkcltpXS5zaF9uYW1lICAgICAgPSBlbGYzMl90b19jcHUoc2hkcltpXS5zaF9uYW1lKTsKLQkJc2hkcltpXS5zaF90eXBlICAgICAgPSBlbGYzMl90b19jcHUoc2hkcltpXS5zaF90eXBlKTsKLQkJc2hkcltpXS5zaF9mbGFncyAgICAgPSBlbGYzMl90b19jcHUoc2hkcltpXS5zaF9mbGFncyk7Ci0JCXNoZHJbaV0uc2hfYWRkciAgICAgID0gZWxmMzJfdG9fY3B1KHNoZHJbaV0uc2hfYWRkcik7Ci0JCXNoZHJbaV0uc2hfb2Zmc2V0ICAgID0gZWxmMzJfdG9fY3B1KHNoZHJbaV0uc2hfb2Zmc2V0KTsKLQkJc2hkcltpXS5zaF9zaXplICAgICAgPSBlbGYzMl90b19jcHUoc2hkcltpXS5zaF9zaXplKTsKLQkJc2hkcltpXS5zaF9saW5rICAgICAgPSBlbGYzMl90b19jcHUoc2hkcltpXS5zaF9saW5rKTsKLQkJc2hkcltpXS5zaF9pbmZvICAgICAgPSBlbGYzMl90b19jcHUoc2hkcltpXS5zaF9pbmZvKTsKLQkJc2hkcltpXS5zaF9hZGRyYWxpZ24gPSBlbGYzMl90b19jcHUoc2hkcltpXS5zaF9hZGRyYWxpZ24pOwotCQlzaGRyW2ldLnNoX2VudHNpemUgICA9IGVsZjMyX3RvX2NwdShzaGRyW2ldLnNoX2VudHNpemUpOworCWZvciAoaSA9IDA7IGkgPCBlaGRyLmVfc2hudW07IGkrKykgeworCQlzdHJ1Y3Qgc2VjdGlvbiAqc2VjID0gJnNlY3NbaV07CisJCWlmIChmcmVhZCgmc2hkciwgc2l6ZW9mIHNoZHIsIDEsIGZwKSAhPSAxKQorCQkJZGllKCJDYW5ub3QgcmVhZCBFTEYgc2VjdGlvbiBoZWFkZXJzICVkLyVkOiAlc1xuIiwKKwkJCSAgICBpLCBlaGRyLmVfc2hudW0sIHN0cmVycm9yKGVycm5vKSk7CisJCXNlYy0+c2hkci5zaF9uYW1lICAgICAgPSBlbGYzMl90b19jcHUoc2hkci5zaF9uYW1lKTsKKwkJc2VjLT5zaGRyLnNoX3R5cGUgICAgICA9IGVsZjMyX3RvX2NwdShzaGRyLnNoX3R5cGUpOworCQlzZWMtPnNoZHIuc2hfZmxhZ3MgICAgID0gZWxmMzJfdG9fY3B1KHNoZHIuc2hfZmxhZ3MpOworCQlzZWMtPnNoZHIuc2hfYWRkciAgICAgID0gZWxmMzJfdG9fY3B1KHNoZHIuc2hfYWRkcik7CisJCXNlYy0+c2hkci5zaF9vZmZzZXQgICAgPSBlbGYzMl90b19jcHUoc2hkci5zaF9vZmZzZXQpOworCQlzZWMtPnNoZHIuc2hfc2l6ZSAgICAgID0gZWxmMzJfdG9fY3B1KHNoZHIuc2hfc2l6ZSk7CisJCXNlYy0+c2hkci5zaF9saW5rICAgICAgPSBlbGYzMl90b19jcHUoc2hkci5zaF9saW5rKTsKKwkJc2VjLT5zaGRyLnNoX2luZm8gICAgICA9IGVsZjMyX3RvX2NwdShzaGRyLnNoX2luZm8pOworCQlzZWMtPnNoZHIuc2hfYWRkcmFsaWduID0gZWxmMzJfdG9fY3B1KHNoZHIuc2hfYWRkcmFsaWduKTsKKwkJc2VjLT5zaGRyLnNoX2VudHNpemUgICA9IGVsZjMyX3RvX2NwdShzaGRyLnNoX2VudHNpemUpOworCQlpZiAoc2VjLT5zaGRyLnNoX2xpbmsgPCBlaGRyLmVfc2hudW0pCisJCQlzZWMtPmxpbmsgPSAmc2Vjc1tzZWMtPnNoZHIuc2hfbGlua107CiAJfQogCiB9CkBAIC0yNzQsMjAgKzI4MywyMiBAQAogc3RhdGljIHZvaWQgcmVhZF9zdHJ0YWJzKEZJTEUgKmZwKQogewogCWludCBpOwotCWZvcihpID0gMDsgaSA8IGVoZHIuZV9zaG51bTsgaSsrKSB7Ci0JCWlmIChzaGRyW2ldLnNoX3R5cGUgIT0gU0hUX1NUUlRBQikgeworCWZvciAoaSA9IDA7IGkgPCBlaGRyLmVfc2hudW07IGkrKykgeworCQlzdHJ1Y3Qgc2VjdGlvbiAqc2VjID0gJnNlY3NbaV07CisJCWlmIChzZWMtPnNoZHIuc2hfdHlwZSAhPSBTSFRfU1RSVEFCKSB7CiAJCQljb250aW51ZTsKIAkJfQotCQlzdHJ0YWJbaV0gPSBtYWxsb2Moc2hkcltpXS5zaF9zaXplKTsKLQkJaWYgKCFzdHJ0YWJbaV0pIHsKKwkJc2VjLT5zdHJ0YWIgPSBtYWxsb2Moc2VjLT5zaGRyLnNoX3NpemUpOworCQlpZiAoIXNlYy0+c3RydGFiKSB7CiAJCQlkaWUoIm1hbGxvYyBvZiAlZCBieXRlcyBmb3Igc3RydGFiIGZhaWxlZFxuIiwKLQkJCQlzaGRyW2ldLnNoX3NpemUpOworCQkJCXNlYy0+c2hkci5zaF9zaXplKTsKIAkJfQotCQlpZiAoZnNlZWsoZnAsIHNoZHJbaV0uc2hfb2Zmc2V0LCBTRUVLX1NFVCkgPCAwKSB7CisJCWlmIChmc2VlayhmcCwgc2VjLT5zaGRyLnNoX29mZnNldCwgU0VFS19TRVQpIDwgMCkgewogCQkJZGllKCJTZWVrIHRvICVkIGZhaWxlZDogJXNcbiIsCi0JCQkJc2hkcltpXS5zaF9vZmZzZXQsIHN0cmVycm9yKGVycm5vKSk7CisJCQkJc2VjLT5zaGRyLnNoX29mZnNldCwgc3RyZXJyb3IoZXJybm8pKTsKIAkJfQotCQlpZiAoZnJlYWQoc3RydGFiW2ldLCAxLCBzaGRyW2ldLnNoX3NpemUsIGZwKSAhPSBzaGRyW2ldLnNoX3NpemUpIHsKKwkJaWYgKGZyZWFkKHNlYy0+c3RydGFiLCAxLCBzZWMtPnNoZHIuc2hfc2l6ZSwgZnApCisJCSAgICAhPSBzZWMtPnNoZHIuc2hfc2l6ZSkgewogCQkJZGllKCJDYW5ub3QgcmVhZCBzeW1ib2wgdGFibGU6ICVzXG4iLAogCQkJCXN0cmVycm9yKGVycm5vKSk7CiAJCX0KQEAgLTI5NywyOCArMzA4LDMxIEBACiBzdGF0aWMgdm9pZCByZWFkX3N5bXRhYnMoRklMRSAqZnApCiB7CiAJaW50IGksajsKLQlmb3IoaSA9IDA7IGkgPCBlaGRyLmVfc2hudW07IGkrKykgewotCQlpZiAoc2hkcltpXS5zaF90eXBlICE9IFNIVF9TWU1UQUIpIHsKKwlmb3IgKGkgPSAwOyBpIDwgZWhkci5lX3NobnVtOyBpKyspIHsKKwkJc3RydWN0IHNlY3Rpb24gKnNlYyA9ICZzZWNzW2ldOworCQlpZiAoc2VjLT5zaGRyLnNoX3R5cGUgIT0gU0hUX1NZTVRBQikgewogCQkJY29udGludWU7CiAJCX0KLQkJc3ltdGFiW2ldID0gbWFsbG9jKHNoZHJbaV0uc2hfc2l6ZSk7Ci0JCWlmICghc3ltdGFiW2ldKSB7CisJCXNlYy0+c3ltdGFiID0gbWFsbG9jKHNlYy0+c2hkci5zaF9zaXplKTsKKwkJaWYgKCFzZWMtPnN5bXRhYikgewogCQkJZGllKCJtYWxsb2Mgb2YgJWQgYnl0ZXMgZm9yIHN5bXRhYiBmYWlsZWRcbiIsCi0JCQkJc2hkcltpXS5zaF9zaXplKTsKKwkJCQlzZWMtPnNoZHIuc2hfc2l6ZSk7CiAJCX0KLQkJaWYgKGZzZWVrKGZwLCBzaGRyW2ldLnNoX29mZnNldCwgU0VFS19TRVQpIDwgMCkgeworCQlpZiAoZnNlZWsoZnAsIHNlYy0+c2hkci5zaF9vZmZzZXQsIFNFRUtfU0VUKSA8IDApIHsKIAkJCWRpZSgiU2VlayB0byAlZCBmYWlsZWQ6ICVzXG4iLAotCQkJCXNoZHJbaV0uc2hfb2Zmc2V0LCBzdHJlcnJvcihlcnJubykpOworCQkJCXNlYy0+c2hkci5zaF9vZmZzZXQsIHN0cmVycm9yKGVycm5vKSk7CiAJCX0KLQkJaWYgKGZyZWFkKHN5bXRhYltpXSwgMSwgc2hkcltpXS5zaF9zaXplLCBmcCkgIT0gc2hkcltpXS5zaF9zaXplKSB7CisJCWlmIChmcmVhZChzZWMtPnN5bXRhYiwgMSwgc2VjLT5zaGRyLnNoX3NpemUsIGZwKQorCQkgICAgIT0gc2VjLT5zaGRyLnNoX3NpemUpIHsKIAkJCWRpZSgiQ2Fubm90IHJlYWQgc3ltYm9sIHRhYmxlOiAlc1xuIiwKIAkJCQlzdHJlcnJvcihlcnJubykpOwogCQl9Ci0JCWZvcihqID0gMDsgaiA8IHNoZHJbaV0uc2hfc2l6ZS9zaXplb2Yoc3ltdGFiW2ldWzBdKTsgaisrKSB7Ci0JCQlzeW10YWJbaV1bal0uc3RfbmFtZSAgPSBlbGYzMl90b19jcHUoc3ltdGFiW2ldW2pdLnN0X25hbWUpOwotCQkJc3ltdGFiW2ldW2pdLnN0X3ZhbHVlID0gZWxmMzJfdG9fY3B1KHN5bXRhYltpXVtqXS5zdF92YWx1ZSk7Ci0JCQlzeW10YWJbaV1bal0uc3Rfc2l6ZSAgPSBlbGYzMl90b19jcHUoc3ltdGFiW2ldW2pdLnN0X3NpemUpOwotCQkJc3ltdGFiW2ldW2pdLnN0X3NobmR4ID0gZWxmMTZfdG9fY3B1KHN5bXRhYltpXVtqXS5zdF9zaG5keCk7CisJCWZvciAoaiA9IDA7IGogPCBzZWMtPnNoZHIuc2hfc2l6ZS9zaXplb2YoRWxmMzJfU3ltKTsgaisrKSB7CisJCQlFbGYzMl9TeW0gKnN5bSA9ICZzZWMtPnN5bXRhYltqXTsKKwkJCXN5bS0+c3RfbmFtZSAgPSBlbGYzMl90b19jcHUoc3ltLT5zdF9uYW1lKTsKKwkJCXN5bS0+c3RfdmFsdWUgPSBlbGYzMl90b19jcHUoc3ltLT5zdF92YWx1ZSk7CisJCQlzeW0tPnN0X3NpemUgID0gZWxmMzJfdG9fY3B1KHN5bS0+c3Rfc2l6ZSk7CisJCQlzeW0tPnN0X3NobmR4ID0gZWxmMTZfdG9fY3B1KHN5bS0+c3Rfc2huZHgpOwogCQl9CiAJfQogfQpAQCAtMzI3LDI2ICszNDEsMjkgQEAKIHN0YXRpYyB2b2lkIHJlYWRfcmVsb2NzKEZJTEUgKmZwKQogewogCWludCBpLGo7Ci0JZm9yKGkgPSAwOyBpIDwgZWhkci5lX3NobnVtOyBpKyspIHsKLQkJaWYgKHNoZHJbaV0uc2hfdHlwZSAhPSBTSFRfUkVMKSB7CisJZm9yIChpID0gMDsgaSA8IGVoZHIuZV9zaG51bTsgaSsrKSB7CisJCXN0cnVjdCBzZWN0aW9uICpzZWMgPSAmc2Vjc1tpXTsKKwkJaWYgKHNlYy0+c2hkci5zaF90eXBlICE9IFNIVF9SRUwpIHsKIAkJCWNvbnRpbnVlOwogCQl9Ci0JCXJlbHRhYltpXSA9IG1hbGxvYyhzaGRyW2ldLnNoX3NpemUpOwotCQlpZiAoIXJlbHRhYltpXSkgeworCQlzZWMtPnJlbHRhYiA9IG1hbGxvYyhzZWMtPnNoZHIuc2hfc2l6ZSk7CisJCWlmICghc2VjLT5yZWx0YWIpIHsKIAkJCWRpZSgibWFsbG9jIG9mICVkIGJ5dGVzIGZvciByZWxvY3MgZmFpbGVkXG4iLAotCQkJCXNoZHJbaV0uc2hfc2l6ZSk7CisJCQkJc2VjLT5zaGRyLnNoX3NpemUpOwogCQl9Ci0JCWlmIChmc2VlayhmcCwgc2hkcltpXS5zaF9vZmZzZXQsIFNFRUtfU0VUKSA8IDApIHsKKwkJaWYgKGZzZWVrKGZwLCBzZWMtPnNoZHIuc2hfb2Zmc2V0LCBTRUVLX1NFVCkgPCAwKSB7CiAJCQlkaWUoIlNlZWsgdG8gJWQgZmFpbGVkOiAlc1xuIiwKLQkJCQlzaGRyW2ldLnNoX29mZnNldCwgc3RyZXJyb3IoZXJybm8pKTsKKwkJCQlzZWMtPnNoZHIuc2hfb2Zmc2V0LCBzdHJlcnJvcihlcnJubykpOwogCQl9Ci0JCWlmIChmcmVhZChyZWx0YWJbaV0sIDEsIHNoZHJbaV0uc2hfc2l6ZSwgZnApICE9IHNoZHJbaV0uc2hfc2l6ZSkgeworCQlpZiAoZnJlYWQoc2VjLT5yZWx0YWIsIDEsIHNlYy0+c2hkci5zaF9zaXplLCBmcCkKKwkJICAgICE9IHNlYy0+c2hkci5zaF9zaXplKSB7CiAJCQlkaWUoIkNhbm5vdCByZWFkIHN5bWJvbCB0YWJsZTogJXNcbiIsCiAJCQkJc3RyZXJyb3IoZXJybm8pKTsKIAkJfQotCQlmb3IoaiA9IDA7IGogPCBzaGRyW2ldLnNoX3NpemUvc2l6ZW9mKHJlbHRhYlswXVswXSk7IGorKykgewotCQkJcmVsdGFiW2ldW2pdLnJfb2Zmc2V0ID0gZWxmMzJfdG9fY3B1KHJlbHRhYltpXVtqXS5yX29mZnNldCk7Ci0JCQlyZWx0YWJbaV1bal0ucl9pbmZvICAgPSBlbGYzMl90b19jcHUocmVsdGFiW2ldW2pdLnJfaW5mbyk7CisJCWZvciAoaiA9IDA7IGogPCBzZWMtPnNoZHIuc2hfc2l6ZS9zaXplb2YoRWxmMzJfUmVsKTsgaisrKSB7CisJCQlFbGYzMl9SZWwgKnJlbCA9ICZzZWMtPnJlbHRhYltqXTsKKwkJCXJlbC0+cl9vZmZzZXQgPSBlbGYzMl90b19jcHUocmVsLT5yX29mZnNldCk7CisJCQlyZWwtPnJfaW5mbyAgID0gZWxmMzJfdG9fY3B1KHJlbC0+cl9pbmZvKTsKIAkJfQogCX0KIH0KQEAgLTM1NywxOSArMzc0LDIxIEBACiAJaW50IGk7CiAJcHJpbnRmKCJBYnNvbHV0ZSBzeW1ib2xzXG4iKTsKIAlwcmludGYoIiBOdW06ICAgIFZhbHVlIFNpemUgIFR5cGUgICAgICAgQmluZCAgICAgICAgVmlzaWJpbGl0eSAgTmFtZVxuIik7Ci0JZm9yKGkgPSAwOyBpIDwgZWhkci5lX3NobnVtOyBpKyspIHsKKwlmb3IgKGkgPSAwOyBpIDwgZWhkci5lX3NobnVtOyBpKyspIHsKKwkJc3RydWN0IHNlY3Rpb24gKnNlYyA9ICZzZWNzW2ldOwogCQljaGFyICpzeW1fc3RydGFiOwogCQlFbGYzMl9TeW0gKnNoX3N5bXRhYjsKIAkJaW50IGo7Ci0JCWlmIChzaGRyW2ldLnNoX3R5cGUgIT0gU0hUX1NZTVRBQikgeworCisJCWlmIChzZWMtPnNoZHIuc2hfdHlwZSAhPSBTSFRfU1lNVEFCKSB7CiAJCQljb250aW51ZTsKIAkJfQotCQlzaF9zeW10YWIgPSBzeW10YWJbaV07Ci0JCXN5bV9zdHJ0YWIgPSBzdHJ0YWJbc2hkcltpXS5zaF9saW5rXTsKLQkJZm9yKGogPSAwOyBqIDwgc2hkcltpXS5zaF9zaXplL3NpemVvZihzeW10YWJbMF1bMF0pOyBqKyspIHsKKwkJc2hfc3ltdGFiID0gc2VjLT5zeW10YWI7CisJCXN5bV9zdHJ0YWIgPSBzZWMtPmxpbmstPnN0cnRhYjsKKwkJZm9yIChqID0gMDsgaiA8IHNlYy0+c2hkci5zaF9zaXplL3NpemVvZihFbGYzMl9TeW0pOyBqKyspIHsKIAkJCUVsZjMyX1N5bSAqc3ltOwogCQkJY29uc3QgY2hhciAqbmFtZTsKLQkJCXN5bSA9ICZzeW10YWJbaV1bal07CisJCQlzeW0gPSAmc2VjLT5zeW10YWJbal07CiAJCQluYW1lID0gc3ltX25hbWUoc3ltX3N0cnRhYiwgc3ltKTsKIAkJCWlmIChzeW0tPnN0X3NobmR4ICE9IFNITl9BQlMpIHsKIAkJCQljb250aW51ZTsKQEAgLTM4OSwyNiArNDA4LDI3IEBACiB7CiAJaW50IGksIHByaW50ZWQgPSAwOwogCi0JZm9yKGkgPSAwOyBpIDwgZWhkci5lX3NobnVtOyBpKyspIHsKKwlmb3IgKGkgPSAwOyBpIDwgZWhkci5lX3NobnVtOyBpKyspIHsKKwkJc3RydWN0IHNlY3Rpb24gKnNlYyA9ICZzZWNzW2ldOworCQlzdHJ1Y3Qgc2VjdGlvbiAqc2VjX2FwcGxpZXMsICpzZWNfc3ltdGFiOwogCQljaGFyICpzeW1fc3RydGFiOwogCQlFbGYzMl9TeW0gKnNoX3N5bXRhYjsKLQkJdW5zaWduZWQgc2VjX2FwcGxpZXMsIHNlY19zeW10YWI7CiAJCWludCBqOwotCQlpZiAoc2hkcltpXS5zaF90eXBlICE9IFNIVF9SRUwpIHsKKwkJaWYgKHNlYy0+c2hkci5zaF90eXBlICE9IFNIVF9SRUwpIHsKIAkJCWNvbnRpbnVlOwogCQl9Ci0JCXNlY19zeW10YWIgID0gc2hkcltpXS5zaF9saW5rOwotCQlzZWNfYXBwbGllcyA9IHNoZHJbaV0uc2hfaW5mbzsKLQkJaWYgKCEoc2hkcltzZWNfYXBwbGllc10uc2hfZmxhZ3MgJiBTSEZfQUxMT0MpKSB7CisJCXNlY19zeW10YWIgID0gc2VjLT5saW5rOworCQlzZWNfYXBwbGllcyA9ICZzZWNzW3NlYy0+c2hkci5zaF9pbmZvXTsKKwkJaWYgKCEoc2VjX2FwcGxpZXMtPnNoZHIuc2hfZmxhZ3MgJiBTSEZfQUxMT0MpKSB7CiAJCQljb250aW51ZTsKIAkJfQotCQlzaF9zeW10YWIgPSBzeW10YWJbc2VjX3N5bXRhYl07Ci0JCXN5bV9zdHJ0YWIgPSBzdHJ0YWJbc2hkcltzZWNfc3ltdGFiXS5zaF9saW5rXTsKLQkJZm9yKGogPSAwOyBqIDwgc2hkcltpXS5zaF9zaXplL3NpemVvZihyZWx0YWJbMF1bMF0pOyBqKyspIHsKKwkJc2hfc3ltdGFiICA9IHNlY19zeW10YWItPnN5bXRhYjsKKwkJc3ltX3N0cnRhYiA9IHNlY19zeW10YWItPmxpbmstPnN0cnRhYjsKKwkJZm9yIChqID0gMDsgaiA8IHNlYy0+c2hkci5zaF9zaXplL3NpemVvZihFbGYzMl9SZWwpOyBqKyspIHsKIAkJCUVsZjMyX1JlbCAqcmVsOwogCQkJRWxmMzJfU3ltICpzeW07CiAJCQljb25zdCBjaGFyICpuYW1lOwotCQkJcmVsID0gJnJlbHRhYltpXVtqXTsKKwkJCXJlbCA9ICZzZWMtPnJlbHRhYltqXTsKIAkJCXN5bSA9ICZzaF9zeW10YWJbRUxGMzJfUl9TWU0ocmVsLT5yX2luZm8pXTsKIAkJCW5hbWUgPSBzeW1fbmFtZShzeW1fc3RydGFiLCBzeW0pOwogCQkJaWYgKHN5bS0+c3Rfc2huZHggIT0gU0hOX0FCUykgewpAQCAtNDU2LDI2ICs0NzYsMjggQEAKIHsKIAlpbnQgaTsKIAkvKiBXYWxrIHRocm91Z2ggdGhlIHJlbG9jYXRpb25zICovCi0JZm9yKGkgPSAwOyBpIDwgZWhkci5lX3NobnVtOyBpKyspIHsKKwlmb3IgKGkgPSAwOyBpIDwgZWhkci5lX3NobnVtOyBpKyspIHsKIAkJY2hhciAqc3ltX3N0cnRhYjsKIAkJRWxmMzJfU3ltICpzaF9zeW10YWI7Ci0JCXVuc2lnbmVkIHNlY19hcHBsaWVzLCBzZWNfc3ltdGFiOworCQlzdHJ1Y3Qgc2VjdGlvbiAqc2VjX2FwcGxpZXMsICpzZWNfc3ltdGFiOwogCQlpbnQgajsKLQkJaWYgKHNoZHJbaV0uc2hfdHlwZSAhPSBTSFRfUkVMKSB7CisJCXN0cnVjdCBzZWN0aW9uICpzZWMgPSAmc2Vjc1tpXTsKKworCQlpZiAoc2VjLT5zaGRyLnNoX3R5cGUgIT0gU0hUX1JFTCkgewogCQkJY29udGludWU7CiAJCX0KLQkJc2VjX3N5bXRhYiAgPSBzaGRyW2ldLnNoX2xpbms7Ci0JCXNlY19hcHBsaWVzID0gc2hkcltpXS5zaF9pbmZvOwotCQlpZiAoIShzaGRyW3NlY19hcHBsaWVzXS5zaF9mbGFncyAmIFNIRl9BTExPQykpIHsKKwkJc2VjX3N5bXRhYiAgPSBzZWMtPmxpbms7CisJCXNlY19hcHBsaWVzID0gJnNlY3Nbc2VjLT5zaGRyLnNoX2luZm9dOworCQlpZiAoIShzZWNfYXBwbGllcy0+c2hkci5zaF9mbGFncyAmIFNIRl9BTExPQykpIHsKIAkJCWNvbnRpbnVlOwogCQl9Ci0JCXNoX3N5bXRhYiA9IHN5bXRhYltzZWNfc3ltdGFiXTsKLQkJc3ltX3N0cnRhYiA9IHN0cnRhYltzaGRyW3NlY19zeW10YWJdLnNoX2xpbmtdOwotCQlmb3IoaiA9IDA7IGogPCBzaGRyW2ldLnNoX3NpemUvc2l6ZW9mKHJlbHRhYlswXVswXSk7IGorKykgeworCQlzaF9zeW10YWIgPSBzZWNfc3ltdGFiLT5zeW10YWI7CisJCXN5bV9zdHJ0YWIgPSBzZWMtPmxpbmstPnN0cnRhYjsKKwkJZm9yIChqID0gMDsgaiA8IHNlYy0+c2hkci5zaF9zaXplL3NpemVvZihFbGYzMl9SZWwpOyBqKyspIHsKIAkJCUVsZjMyX1JlbCAqcmVsOwogCQkJRWxmMzJfU3ltICpzeW07CiAJCQl1bnNpZ25lZCByX3R5cGU7Ci0JCQlyZWwgPSAmcmVsdGFiW2ldW2pdOworCQkJcmVsID0gJnNlYy0+cmVsdGFiW2pdOwogCQkJc3ltID0gJnNoX3N5bXRhYltFTEYzMl9SX1NZTShyZWwtPnJfaW5mbyldOwogCQkJcl90eXBlID0gRUxGMzJfUl9UWVBFKHJlbC0+cl9pbmZvKTsKIAkJCS8qIERvbid0IHZpc2l0IHJlbG9jYXRpb25zIHRvIGFic29sdXRlIHN5bWJvbHMgKi8KQEAgLTUzOSw3ICs1NjEsNyBAQAogCQkgKi8KIAkJcHJpbnRmKCIuc2VjdGlvbiBcIi5kYXRhLnJlbG9jXCIsXCJhXCJcbiIpOwogCQlwcmludGYoIi5iYWxpZ24gNFxuIik7Ci0JCWZvcihpID0gMDsgaSA8IHJlbG9jX2NvdW50OyBpKyspIHsKKwkJZm9yIChpID0gMDsgaSA8IHJlbG9jX2NvdW50OyBpKyspIHsKIAkJCXByaW50ZigiXHQgLmxvbmcgMHglMDhseFxuIiwgcmVsb2NzW2ldKTsKIAkJfQogCQlwcmludGYoIlxuIik7CkBAIC01NTAsNyArNTcyLDcgQEAKIAkJLyogUHJpbnQgYSBzdG9wICovCiAJCXByaW50ZigiJWMlYyVjJWMiLCBidWZbMF0sIGJ1ZlsxXSwgYnVmWzJdLCBidWZbM10pOwogCQkvKiBOb3cgcHJpbnQgZWFjaCByZWxvY2F0aW9uICovCi0JCWZvcihpID0gMDsgaSA8IHJlbG9jX2NvdW50OyBpKyspIHsKKwkJZm9yIChpID0gMDsgaSA8IHJlbG9jX2NvdW50OyBpKyspIHsKIAkJCWJ1ZlswXSA9IChyZWxvY3NbaV0gPj4gIDApICYgMHhmZjsKIAkJCWJ1ZlsxXSA9IChyZWxvY3NbaV0gPj4gIDgpICYgMHhmZjsKIAkJCWJ1ZlsyXSA9IChyZWxvY3NbaV0gPj4gMTYpICYgMHhmZjsKQEAgLTU3Nyw3ICs1OTksNyBAQAogCXNob3dfYWJzb2x1dGVfcmVsb2NzID0gMDsKIAlhc190ZXh0ID0gMDsKIAlmbmFtZSA9IE5VTEw7Ci0JZm9yKGkgPSAxOyBpIDwgYXJnYzsgaSsrKSB7CisJZm9yIChpID0gMTsgaSA8IGFyZ2M7IGkrKykgewogCQljaGFyICphcmcgPSBhcmd2W2ldOwogCQlpZiAoKmFyZyA9PSAnLScpIHsKIAkJCWlmIChzdHJjbXAoYXJndlsxXSwgIi0tYWJzLXN5bXMiKSA9PSAwKSB7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9ib290L2NwdS5jIGIvYXJjaC94ODYvYm9vdC9jcHUuYwppbmRleCAwMGUxOWVkLi45MmQ2ZmQ3IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9ib290L2NwdS5jCisrKyBiL2FyY2gveDg2L2Jvb3QvY3B1LmMKQEAgLTI4LDYgKzI4LDggQEAKIAlpZiAobGV2ZWwgPT0gNjQpIHsKIAkJcmV0dXJuICJ4ODYtNjQiOwogCX0gZWxzZSB7CisJCWlmIChsZXZlbCA9PSAxNSkKKwkJCWxldmVsID0gNjsKIAkJc3ByaW50ZihidWYsICJpJWQ4NiIsIGxldmVsKTsKIAkJcmV0dXJuIGJ1ZjsKIAl9CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9ib290L21haW4uYyBiL2FyY2gveDg2L2Jvb3QvbWFpbi5jCmluZGV4IDc3NTY5YTQuLjIyOTYxNjQgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2Jvb3QvbWFpbi5jCisrKyBiL2FyY2gveDg2L2Jvb3QvbWFpbi5jCkBAIC0xNjUsNiArMTY1LDEwIEBACiAJLyogU2V0IHRoZSB2aWRlbyBtb2RlICovCiAJc2V0X3ZpZGVvKCk7CiAKKwkvKiBQYXJzZSBjb21tYW5kIGxpbmUgZm9yICdxdWlldCcgYW5kIHBhc3MgaXQgdG8gZGVjb21wcmVzc29yLiAqLworCWlmIChjbWRsaW5lX2ZpbmRfb3B0aW9uX2Jvb2woInF1aWV0IikpCisJCWJvb3RfcGFyYW1zLmhkci5sb2FkZmxhZ3MgfD0gUVVJRVRfRkxBRzsKKwogCS8qIERvIHRoZSBsYXN0IHRoaW5ncyBhbmQgaW52b2tlIHByb3RlY3RlZCBtb2RlICovCiAJZ29fdG9fcHJvdGVjdGVkX21vZGUoKTsKIH0KZGlmZiAtLWdpdCBhL2FyY2gveDg2L2Jvb3QvbWVtb3J5LmMgYi9hcmNoL3g4Ni9ib290L21lbW9yeS5jCmluZGV4IGFjYWQzMmUuLjUzMTY1YzkgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2Jvb3QvbWVtb3J5LmMKKysrIGIvYXJjaC94ODYvYm9vdC9tZW1vcnkuYwpAQCAtMTMsNiArMTMsNyBAQAogICovCiAKICNpbmNsdWRlICJib290LmgiCisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CiAKICNkZWZpbmUgU01BUAkweDUzNGQ0MTUwCS8qIEFTQ0lJICJTTUFQIiAqLwogCkBAIC01Myw3ICs1NCw3IEBACiAKIAkJY291bnQrKzsKIAkJZGVzYysrOwotCX0gd2hpbGUgKG5leHQgJiYgY291bnQgPCBFODIwTUFYKTsKKwl9IHdoaWxlIChuZXh0ICYmIGNvdW50IDwgQVJSQVlfU0laRShib290X3BhcmFtcy5lODIwX21hcCkpOwogCiAJcmV0dXJuIGJvb3RfcGFyYW1zLmU4MjBfZW50cmllcyA9IGNvdW50OwogfQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvYm9vdC9wbWp1bXAuUyBiL2FyY2gveDg2L2Jvb3QvcG1qdW1wLlMKaW5kZXggYWIwNDlkNC4uMTQxYjZlMiAxMDA2NDQKLS0tIGEvYXJjaC94ODYvYm9vdC9wbWp1bXAuUworKysgYi9hcmNoL3g4Ni9ib290L3BtanVtcC5TCkBAIC0zMyw2ICszMyw4IEBACiAJbW92dwklY3MsICVieAogCXNobGwJJDQsICVlYngKIAlhZGRsCSVlYngsIDJmCisJam1wCTFmCQkJIyBTaG9ydCBqdW1wIHRvIHNlcmlhbGl6ZSBvbiAzODYvNDg2CisxOgogCiAJbW92dwkkX19CT09UX0RTLCAlY3gKIAltb3Z3CSRfX0JPT1RfVFNTLCAlZGkKQEAgLTQwLDggKzQyLDYgQEAKIAltb3ZsCSVjcjAsICVlZHgKIAlvcmIJJFg4Nl9DUjBfUEUsICVkbAkjIFByb3RlY3RlZCBtb2RlCiAJbW92bAklZWR4LCAlY3IwCi0Jam1wCTFmCQkJIyBTaG9ydCBqdW1wIHRvIHNlcmlhbGl6ZSBvbiAzODYvNDg2Ci0xOgogCiAJIyBUcmFuc2l0aW9uIHRvIDMyLWJpdCBtb2RlCiAJLmJ5dGUJMHg2NiwgMHhlYQkJIyBsam1wbCBvcGNvZGUKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2Jvb3QvdmlkZW8tdmdhLmMgYi9hcmNoL3g4Ni9ib290L3ZpZGVvLXZnYS5jCmluZGV4IDQwZWNiOGQuLmI5MzljYjQgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2Jvb3QvdmlkZW8tdmdhLmMKKysrIGIvYXJjaC94ODYvYm9vdC92aWRlby12Z2EuYwpAQCAtMjU5LDggKzI1OSw3IEBACiAJcmV0dXJuIG1vZGVfY291bnRbYWRhcHRlcl07CiB9CiAKLV9fdmlkZW9jYXJkIHZpZGVvX3ZnYSA9Ci17CitfX3ZpZGVvY2FyZCB2aWRlb192Z2EgPSB7CiAJLmNhcmRfbmFtZQk9ICJWR0EiLAogCS5wcm9iZQkJPSB2Z2FfcHJvYmUsCiAJLnNldF9tb2RlCT0gdmdhX3NldF9tb2RlLApkaWZmIC0tZ2l0IGEvYXJjaC94ODYvY29uZmlncy9pMzg2X2RlZmNvbmZpZyBiL2FyY2gveDg2L2NvbmZpZ3MvaTM4Nl9kZWZjb25maWcKaW5kZXggYWQ3ZGRhYS4uOWJjMzRlMiAxMDA2NDQKLS0tIGEvYXJjaC94ODYvY29uZmlncy9pMzg2X2RlZmNvbmZpZworKysgYi9hcmNoL3g4Ni9jb25maWdzL2kzODZfZGVmY29uZmlnCkBAIC0xLDU0ICsxLDEwMyBAQAogIwogIyBBdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBtYWtlIGNvbmZpZzogZG9uJ3QgZWRpdAotIyBMaW51eCBrZXJuZWwgdmVyc2lvbjogMi42LjIyLWdpdDE0Ci0jIEZyaSBKdWwgMjAgMDk6NTM6MTUgMjAwNworIyBMaW51eCBrZXJuZWwgdmVyc2lvbjogMi42LjI2LXJjMQorIyBTdW4gTWF5ICA0IDE5OjU5OjAyIDIwMDgKICMKKyMgQ09ORklHXzY0QklUIGlzIG5vdCBzZXQKIENPTkZJR19YODZfMzI9eQorIyBDT05GSUdfWDg2XzY0IGlzIG5vdCBzZXQKK0NPTkZJR19YODY9eQorQ09ORklHX0RFRkNPTkZJR19MSVNUPSJhcmNoL3g4Ni9jb25maWdzL2kzODZfZGVmY29uZmlnIgorIyBDT05GSUdfR0VORVJJQ19MT0NLQlJFQUsgaXMgbm90IHNldAogQ09ORklHX0dFTkVSSUNfVElNRT15CitDT05GSUdfR0VORVJJQ19DTU9TX1VQREFURT15CiBDT05GSUdfQ0xPQ0tTT1VSQ0VfV0FUQ0hET0c9eQogQ09ORklHX0dFTkVSSUNfQ0xPQ0tFVkVOVFM9eQogQ09ORklHX0dFTkVSSUNfQ0xPQ0tFVkVOVFNfQlJPQURDQVNUPXkKIENPTkZJR19MT0NLREVQX1NVUFBPUlQ9eQogQ09ORklHX1NUQUNLVFJBQ0VfU1VQUE9SVD15Ci1DT05GSUdfU0VNQVBIT1JFX1NMRUVQRVJTPXkKLUNPTkZJR19YODY9eQorQ09ORklHX0hBVkVfTEFURU5DWVRPUF9TVVBQT1JUPXkKK0NPTkZJR19GQVNUX0NNUFhDSEdfTE9DQUw9eQogQ09ORklHX01NVT15CiBDT05GSUdfWk9ORV9ETUE9eQotQ09ORklHX1FVSUNLTElTVD15CiBDT05GSUdfR0VORVJJQ19JU0FfRE1BPXkKIENPTkZJR19HRU5FUklDX0lPTUFQPXkKIENPTkZJR19HRU5FUklDX0JVRz15CiBDT05GSUdfR0VORVJJQ19IV0VJR0hUPXkKKyMgQ09ORklHX0dFTkVSSUNfR1BJTyBpcyBub3Qgc2V0CiBDT05GSUdfQVJDSF9NQVlfSEFWRV9QQ19GREM9eQotQ09ORklHX0RNST15Ci1DT05GSUdfREVGQ09ORklHX0xJU1Q9Ii9saWIvbW9kdWxlcy8kVU5BTUVfUkVMRUFTRS8uY29uZmlnIgotCi0jCi0jIENvZGUgbWF0dXJpdHkgbGV2ZWwgb3B0aW9ucwotIwotQ09ORklHX0VYUEVSSU1FTlRBTD15Ci1DT05GSUdfTE9DS19LRVJORUw9eQotQ09ORklHX0lOSVRfRU5WX0FSR19MSU1JVD0zMgorIyBDT05GSUdfUldTRU1fR0VORVJJQ19TUElOTE9DSyBpcyBub3Qgc2V0CitDT05GSUdfUldTRU1fWENIR0FERF9BTEdPUklUSE09eQorIyBDT05GSUdfQVJDSF9IQVNfSUxPRzJfVTMyIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfSEFTX0lMT0cyX1U2NCBpcyBub3Qgc2V0CitDT05GSUdfQVJDSF9IQVNfQ1BVX0lETEVfV0FJVD15CitDT05GSUdfR0VORVJJQ19DQUxJQlJBVEVfREVMQVk9eQorIyBDT05GSUdfR0VORVJJQ19USU1FX1ZTWVNDQUxMIGlzIG5vdCBzZXQKK0NPTkZJR19BUkNIX0hBU19DUFVfUkVMQVg9eQorQ09ORklHX0FSQ0hfSEFTX0NBQ0hFX0xJTkVfU0laRT15CitDT05GSUdfSEFWRV9TRVRVUF9QRVJfQ1BVX0FSRUE9eQorIyBDT05GSUdfSEFWRV9DUFVNQVNLX09GX0NQVV9NQVAgaXMgbm90IHNldAorQ09ORklHX0FSQ0hfSElCRVJOQVRJT05fUE9TU0lCTEU9eQorQ09ORklHX0FSQ0hfU1VTUEVORF9QT1NTSUJMRT15CisjIENPTkZJR19aT05FX0RNQTMyIGlzIG5vdCBzZXQKK0NPTkZJR19BUkNIX1BPUFVMQVRFU19OT0RFX01BUD15CisjIENPTkZJR19BVURJVF9BUkNIIGlzIG5vdCBzZXQKK0NPTkZJR19BUkNIX1NVUFBPUlRTX0FPVVQ9eQorQ09ORklHX0FSQ0hfU1VQUE9SVFNfT1BUSU1JWkVEX0lOTElOSU5HPXkKK0NPTkZJR19HRU5FUklDX0hBUkRJUlFTPXkKK0NPTkZJR19HRU5FUklDX0lSUV9QUk9CRT15CitDT05GSUdfR0VORVJJQ19QRU5ESU5HX0lSUT15CitDT05GSUdfWDg2X1NNUD15CitDT05GSUdfWDg2XzMyX1NNUD15CitDT05GSUdfWDg2X0hUPXkKK0NPTkZJR19YODZfQklPU19SRUJPT1Q9eQorQ09ORklHX1g4Nl9UUkFNUE9MSU5FPXkKK0NPTkZJR19LVElNRV9TQ0FMQVI9eQogCiAjCiAjIEdlbmVyYWwgc2V0dXAKICMKK0NPTkZJR19FWFBFUklNRU5UQUw9eQorQ09ORklHX0xPQ0tfS0VSTkVMPXkKK0NPTkZJR19JTklUX0VOVl9BUkdfTElNSVQ9MzIKIENPTkZJR19MT0NBTFZFUlNJT049IiIKLUNPTkZJR19MT0NBTFZFUlNJT05fQVVUTz15CisjIENPTkZJR19MT0NBTFZFUlNJT05fQVVUTyBpcyBub3Qgc2V0CiBDT05GSUdfU1dBUD15CiBDT05GSUdfU1lTVklQQz15CiBDT05GSUdfU1lTVklQQ19TWVNDVEw9eQogQ09ORklHX1BPU0lYX01RVUVVRT15Ci0jIENPTkZJR19CU0RfUFJPQ0VTU19BQ0NUIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RBU0tTVEFUUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0VSX05TIGlzIG5vdCBzZXQKLSMgQ09ORklHX0FVRElUIGlzIG5vdCBzZXQKLUNPTkZJR19JS0NPTkZJRz15Ci1DT05GSUdfSUtDT05GSUdfUFJPQz15Ci1DT05GSUdfTE9HX0JVRl9TSElGVD0xOAotIyBDT05GSUdfQ1BVU0VUUyBpcyBub3Qgc2V0Ci1DT05GSUdfU1lTRlNfREVQUkVDQVRFRD15CitDT05GSUdfQlNEX1BST0NFU1NfQUNDVD15CisjIENPTkZJR19CU0RfUFJPQ0VTU19BQ0NUX1YzIGlzIG5vdCBzZXQKK0NPTkZJR19UQVNLU1RBVFM9eQorQ09ORklHX1RBU0tfREVMQVlfQUNDVD15CitDT05GSUdfVEFTS19YQUNDVD15CitDT05GSUdfVEFTS19JT19BQ0NPVU5USU5HPXkKK0NPTkZJR19BVURJVD15CitDT05GSUdfQVVESVRTWVNDQUxMPXkKK0NPTkZJR19BVURJVF9UUkVFPXkKKyMgQ09ORklHX0lLQ09ORklHIGlzIG5vdCBzZXQKK0NPTkZJR19MT0dfQlVGX1NISUZUPTE3CitDT05GSUdfQ0dST1VQUz15CisjIENPTkZJR19DR1JPVVBfREVCVUcgaXMgbm90IHNldAorQ09ORklHX0NHUk9VUF9OUz15CisjIENPTkZJR19DR1JPVVBfREVWSUNFIGlzIG5vdCBzZXQKK0NPTkZJR19DUFVTRVRTPXkKK0NPTkZJR19HUk9VUF9TQ0hFRD15CitDT05GSUdfRkFJUl9HUk9VUF9TQ0hFRD15CisjIENPTkZJR19SVF9HUk9VUF9TQ0hFRCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0VSX1NDSEVEIGlzIG5vdCBzZXQKK0NPTkZJR19DR1JPVVBfU0NIRUQ9eQorQ09ORklHX0NHUk9VUF9DUFVBQ0NUPXkKK0NPTkZJR19SRVNPVVJDRV9DT1VOVEVSUz15CisjIENPTkZJR19DR1JPVVBfTUVNX1JFU19DVExSIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NZU0ZTX0RFUFJFQ0FURURfVjIgaXMgbm90IHNldAorQ09ORklHX1BST0NfUElEX0NQVVNFVD15CiBDT05GSUdfUkVMQVk9eQorQ09ORklHX05BTUVTUEFDRVM9eQorQ09ORklHX1VUU19OUz15CitDT05GSUdfSVBDX05TPXkKK0NPTkZJR19VU0VSX05TPXkKK0NPTkZJR19QSURfTlM9eQogQ09ORklHX0JMS19ERVZfSU5JVFJEPXkKIENPTkZJR19JTklUUkFNRlNfU09VUkNFPSIiCiBDT05GSUdfQ0NfT1BUSU1JWkVfRk9SX1NJWkU9eQpAQCAtNTYsMTMgKzEwNSwxNSBAQAogIyBDT05GSUdfRU1CRURERUQgaXMgbm90IHNldAogQ09ORklHX1VJRDE2PXkKIENPTkZJR19TWVNDVExfU1lTQ0FMTD15CitDT05GSUdfU1lTQ1RMX1NZU0NBTExfQ0hFQ0s9eQogQ09ORklHX0tBTExTWU1TPXkKIENPTkZJR19LQUxMU1lNU19BTEw9eQotIyBDT05GSUdfS0FMTFNZTVNfRVhUUkFfUEFTUyBpcyBub3Qgc2V0CitDT05GSUdfS0FMTFNZTVNfRVhUUkFfUEFTUz15CiBDT05GSUdfSE9UUExVRz15CiBDT05GSUdfUFJJTlRLPXkKIENPTkZJR19CVUc9eQogQ09ORklHX0VMRl9DT1JFPXkKKyMgQ09ORklHX0NPTVBBVF9CUksgaXMgbm90IHNldAogQ09ORklHX0JBU0VfRlVMTD15CiBDT05GSUdfRlVURVg9eQogQ09ORklHX0FOT05fSU5PREVTPXkKQEAgLTc2LDYgKzEyNywxNyBAQAogIyBDT05GSUdfU0xBQiBpcyBub3Qgc2V0CiBDT05GSUdfU0xVQj15CiAjIENPTkZJR19TTE9CIGlzIG5vdCBzZXQKK0NPTkZJR19QUk9GSUxJTkc9eQorQ09ORklHX01BUktFUlM9eQorIyBDT05GSUdfT1BST0ZJTEUgaXMgbm90IHNldAorQ09ORklHX0hBVkVfT1BST0ZJTEU9eQorQ09ORklHX0tQUk9CRVM9eQorQ09ORklHX0tSRVRQUk9CRVM9eQorQ09ORklHX0hBVkVfS1BST0JFUz15CitDT05GSUdfSEFWRV9LUkVUUFJPQkVTPXkKKyMgQ09ORklHX0hBVkVfRE1BX0FUVFJTIGlzIG5vdCBzZXQKK0NPTkZJR19QUk9DX1BBR0VfTU9OSVRPUj15CitDT05GSUdfU0xBQklORk89eQogQ09ORklHX1JUX01VVEVYRVM9eQogIyBDT05GSUdfVElOWV9TSE1FTSBpcyBub3Qgc2V0CiBDT05GSUdfQkFTRV9TTUFMTD0wCkBAIC04NywxMCArMTQ5LDEwIEBACiAjIENPTkZJR19LTU9EIGlzIG5vdCBzZXQKIENPTkZJR19TVE9QX01BQ0hJTkU9eQogQ09ORklHX0JMT0NLPXkKLUNPTkZJR19MQkQ9eQotIyBDT05GSUdfQkxLX0RFVl9JT19UUkFDRSBpcyBub3Qgc2V0CisjIENPTkZJR19MQkQgaXMgbm90IHNldAorQ09ORklHX0JMS19ERVZfSU9fVFJBQ0U9eQogIyBDT05GSUdfTFNGIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfQlNHIGlzIG5vdCBzZXQKK0NPTkZJR19CTEtfREVWX0JTRz15CiAKICMKICMgSU8gU2NoZWR1bGVycwpAQCAtMTAzLDcgKzE2NSw4IEBACiAjIENPTkZJR19ERUZBVUxUX0RFQURMSU5FIGlzIG5vdCBzZXQKIENPTkZJR19ERUZBVUxUX0NGUT15CiAjIENPTkZJR19ERUZBVUxUX05PT1AgaXMgbm90IHNldAotQ09ORklHX0RFRkFVTFRfSU9TQ0hFRD0iYW50aWNpcGF0b3J5IgorQ09ORklHX0RFRkFVTFRfSU9TQ0hFRD0iY2ZxIgorQ09ORklHX0NMQVNTSUNfUkNVPXkKIAogIwogIyBQcm9jZXNzb3IgdHlwZSBhbmQgZmVhdHVyZXMKQEAgLTExMSwxOCArMTc0LDIxIEBACiBDT05GSUdfVElDS19PTkVTSE9UPXkKIENPTkZJR19OT19IWj15CiBDT05GSUdfSElHSF9SRVNfVElNRVJTPXkKK0NPTkZJR19HRU5FUklDX0NMT0NLRVZFTlRTX0JVSUxEPXkKIENPTkZJR19TTVA9eQotIyBDT05GSUdfWDg2X1BDIGlzIG5vdCBzZXQKK0NPTkZJR19YODZfUEM9eQogIyBDT05GSUdfWDg2X0VMQU4gaXMgbm90IHNldAogIyBDT05GSUdfWDg2X1ZPWUFHRVIgaXMgbm90IHNldAogIyBDT05GSUdfWDg2X05VTUFRIGlzIG5vdCBzZXQKICMgQ09ORklHX1g4Nl9TVU1NSVQgaXMgbm90IHNldAogIyBDT05GSUdfWDg2X0JJR1NNUCBpcyBub3Qgc2V0CiAjIENPTkZJR19YODZfVklTV1MgaXMgbm90IHNldAotQ09ORklHX1g4Nl9HRU5FUklDQVJDSD15CisjIENPTkZJR19YODZfR0VORVJJQ0FSQ0ggaXMgbm90IHNldAogIyBDT05GSUdfWDg2X0VTNzAwMCBpcyBub3Qgc2V0Ci0jIENPTkZJR19QQVJBVklSVCBpcyBub3Qgc2V0Ci1DT05GSUdfWDg2X0NZQ0xPTkVfVElNRVI9eQorIyBDT05GSUdfWDg2X1JEQzMyMVggaXMgbm90IHNldAorIyBDT05GSUdfWDg2X1ZTTVAgaXMgbm90IHNldAorQ09ORklHX1NDSEVEX05PX05PX09NSVRfRlJBTUVfUE9JTlRFUj15CisjIENPTkZJR19QQVJBVklSVF9HVUVTVCBpcyBub3Qgc2V0CiAjIENPTkZJR19NMzg2IGlzIG5vdCBzZXQKICMgQ09ORklHX000ODYgaXMgbm90IHNldAogIyBDT05GSUdfTTU4NiBpcyBub3Qgc2V0CkBAIC0xMzAsOSArMTk2LDggQEAKICMgQ09ORklHX001ODZNTVggaXMgbm90IHNldAogIyBDT05GSUdfTTY4NiBpcyBub3Qgc2V0CiAjIENPTkZJR19NUEVOVElVTUlJIGlzIG5vdCBzZXQKLUNPTkZJR19NUEVOVElVTUlJST15CisjIENPTkZJR19NUEVOVElVTUlJSSBpcyBub3Qgc2V0CiAjIENPTkZJR19NUEVOVElVTU0gaXMgbm90IHNldAotIyBDT05GSUdfTUNPUkUyIGlzIG5vdCBzZXQKICMgQ09ORklHX01QRU5USVVNNCBpcyBub3Qgc2V0CiAjIENPTkZJR19NSzYgaXMgbm90IHNldAogIyBDT05GSUdfTUs3IGlzIG5vdCBzZXQKQEAgLTE0NywxNCArMjEyLDE0IEBACiAjIENPTkZJR19NQ1lSSVhJSUkgaXMgbm90IHNldAogIyBDT05GSUdfTVZJQUMzXzIgaXMgbm90IHNldAogIyBDT05GSUdfTVZJQUM3IGlzIG5vdCBzZXQKLUNPTkZJR19YODZfR0VORVJJQz15CisjIENPTkZJR19NUFNDIGlzIG5vdCBzZXQKK0NPTkZJR19NQ09SRTI9eQorIyBDT05GSUdfR0VORVJJQ19DUFUgaXMgbm90IHNldAorIyBDT05GSUdfWDg2X0dFTkVSSUMgaXMgbm90IHNldAorQ09ORklHX1g4Nl9DUFU9eQogQ09ORklHX1g4Nl9DTVBYQ0hHPXkKLUNPTkZJR19YODZfTDFfQ0FDSEVfU0hJRlQ9NworQ09ORklHX1g4Nl9MMV9DQUNIRV9TSElGVD02CiBDT05GSUdfWDg2X1hBREQ9eQotQ09ORklHX1JXU0VNX1hDSEdBRERfQUxHT1JJVEhNPXkKLSMgQ09ORklHX0FSQ0hfSEFTX0lMT0cyX1UzMiBpcyBub3Qgc2V0Ci0jIENPTkZJR19BUkNIX0hBU19JTE9HMl9VNjQgaXMgbm90IHNldAotQ09ORklHX0dFTkVSSUNfQ0FMSUJSQVRFX0RFTEFZPXkKIENPTkZJR19YODZfV1BfV09SS1NfT0s9eQogQ09ORklHX1g4Nl9JTlZMUEc9eQogQ09ORklHX1g4Nl9CU1dBUD15CkBAIC0xNjIsMTA2ICsyMjcsMTIwIEBACiBDT05GSUdfWDg2X0dPT0RfQVBJQz15CiBDT05GSUdfWDg2X0lOVEVMX1VTRVJDT1BZPXkKIENPTkZJR19YODZfVVNFX1BQUk9fQ0hFQ0tTVU09eQorQ09ORklHX1g4Nl9QNl9OT1A9eQogQ09ORklHX1g4Nl9UU0M9eQotQ09ORklHX1g4Nl9DTU9WPXkKLUNPTkZJR19YODZfTUlOSU1VTV9DUFVfRkFNSUxZPTQKK0NPTkZJR19YODZfTUlOSU1VTV9DUFVfRkFNSUxZPTYKK0NPTkZJR19YODZfREVCVUdDVExNU1I9eQogQ09ORklHX0hQRVRfVElNRVI9eQogQ09ORklHX0hQRVRfRU1VTEFURV9SVEM9eQotQ09ORklHX05SX0NQVVM9MzIKLUNPTkZJR19TQ0hFRF9TTVQ9eQorQ09ORklHX0RNST15CisjIENPTkZJR19JT01NVV9IRUxQRVIgaXMgbm90IHNldAorQ09ORklHX05SX0NQVVM9NAorIyBDT05GSUdfU0NIRURfU01UIGlzIG5vdCBzZXQKIENPTkZJR19TQ0hFRF9NQz15CiAjIENPTkZJR19QUkVFTVBUX05PTkUgaXMgbm90IHNldAogQ09ORklHX1BSRUVNUFRfVk9MVU5UQVJZPXkKICMgQ09ORklHX1BSRUVNUFQgaXMgbm90IHNldAotQ09ORklHX1BSRUVNUFRfQktMPXkKIENPTkZJR19YODZfTE9DQUxfQVBJQz15CiBDT05GSUdfWDg2X0lPX0FQSUM9eQotQ09ORklHX1g4Nl9NQ0U9eQotQ09ORklHX1g4Nl9NQ0VfTk9ORkFUQUw9eQotQ09ORklHX1g4Nl9NQ0VfUDRUSEVSTUFMPXkKKyMgQ09ORklHX1g4Nl9NQ0UgaXMgbm90IHNldAogQ09ORklHX1ZNODY9eQogIyBDT05GSUdfVE9TSElCQSBpcyBub3Qgc2V0CiAjIENPTkZJR19JOEsgaXMgbm90IHNldAogIyBDT05GSUdfWDg2X1JFQk9PVEZJWFVQUyBpcyBub3Qgc2V0Ci1DT05GSUdfTUlDUk9DT0RFPXkKLUNPTkZJR19NSUNST0NPREVfT0xEX0lOVEVSRkFDRT15CisjIENPTkZJR19NSUNST0NPREUgaXMgbm90IHNldAogQ09ORklHX1g4Nl9NU1I9eQogQ09ORklHX1g4Nl9DUFVJRD15Ci0KLSMKLSMgRmlybXdhcmUgRHJpdmVycwotIwotIyBDT05GSUdfRUREIGlzIG5vdCBzZXQKLSMgQ09ORklHX0RFTExfUkJVIGlzIG5vdCBzZXQKLSMgQ09ORklHX0RDREJBUyBpcyBub3Qgc2V0Ci1DT05GSUdfRE1JSUQ9eQogIyBDT05GSUdfTk9ISUdITUVNIGlzIG5vdCBzZXQKIENPTkZJR19ISUdITUVNNEc9eQogIyBDT05GSUdfSElHSE1FTTY0RyBpcyBub3Qgc2V0CiBDT05GSUdfUEFHRV9PRkZTRVQ9MHhDMDAwMDAwMAogQ09ORklHX0hJR0hNRU09eQotQ09ORklHX0FSQ0hfUE9QVUxBVEVTX05PREVfTUFQPXkKK0NPTkZJR19ORUVEX05PREVfTUVNTUFQX1NJWkU9eQorQ09ORklHX0FSQ0hfRkxBVE1FTV9FTkFCTEU9eQorQ09ORklHX0FSQ0hfU1BBUlNFTUVNX0VOQUJMRT15CitDT05GSUdfQVJDSF9TRUxFQ1RfTUVNT1JZX01PREVMPXkKIENPTkZJR19TRUxFQ1RfTUVNT1JZX01PREVMPXkKLUNPTkZJR19GTEFUTUVNX01BTlVBTD15CisjIENPTkZJR19GTEFUTUVNX01BTlVBTCBpcyBub3Qgc2V0CiAjIENPTkZJR19ESVNDT05USUdNRU1fTUFOVUFMIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NQQVJTRU1FTV9NQU5VQUwgaXMgbm90IHNldAotQ09ORklHX0ZMQVRNRU09eQotQ09ORklHX0ZMQVRfTk9ERV9NRU1fTUFQPXkKLSMgQ09ORklHX1NQQVJTRU1FTV9TVEFUSUMgaXMgbm90IHNldAorQ09ORklHX1NQQVJTRU1FTV9NQU5VQUw9eQorQ09ORklHX1NQQVJTRU1FTT15CitDT05GSUdfSEFWRV9NRU1PUllfUFJFU0VOVD15CitDT05GSUdfU1BBUlNFTUVNX1NUQVRJQz15CisjIENPTkZJR19TUEFSU0VNRU1fVk1FTU1BUF9FTkFCTEUgaXMgbm90IHNldAorCisjCisjIE1lbW9yeSBob3RwbHVnIGlzIGN1cnJlbnRseSBpbmNvbXBhdGlibGUgd2l0aCBTb2Z0d2FyZSBTdXNwZW5kCisjCitDT05GSUdfUEFHRUZMQUdTX0VYVEVOREVEPXkKIENPTkZJR19TUExJVF9QVExPQ0tfQ1BVUz00CiBDT05GSUdfUkVTT1VSQ0VTXzY0QklUPXkKIENPTkZJR19aT05FX0RNQV9GTEFHPTEKIENPTkZJR19CT1VOQ0U9eQotQ09ORklHX05SX1FVSUNLPTEKIENPTkZJR19WSVJUX1RPX0JVUz15CiAjIENPTkZJR19ISUdIUFRFIGlzIG5vdCBzZXQKICMgQ09ORklHX01BVEhfRU1VTEFUSU9OIGlzIG5vdCBzZXQKIENPTkZJR19NVFJSPXkKLSMgQ09ORklHX0VGSSBpcyBub3Qgc2V0CisjIENPTkZJR19YODZfUEFUIGlzIG5vdCBzZXQKK0NPTkZJR19FRkk9eQogIyBDT05GSUdfSVJRQkFMQU5DRSBpcyBub3Qgc2V0CiBDT05GSUdfU0VDQ09NUD15CiAjIENPTkZJR19IWl8xMDAgaXMgbm90IHNldAotQ09ORklHX0haXzI1MD15CisjIENPTkZJR19IWl8yNTAgaXMgbm90IHNldAogIyBDT05GSUdfSFpfMzAwIGlzIG5vdCBzZXQKLSMgQ09ORklHX0haXzEwMDAgaXMgbm90IHNldAotQ09ORklHX0haPTI1MAotIyBDT05GSUdfS0VYRUMgaXMgbm90IHNldAotIyBDT05GSUdfQ1JBU0hfRFVNUCBpcyBub3Qgc2V0Ci1DT05GSUdfUEhZU0lDQUxfU1RBUlQ9MHgxMDAwMDAKLSMgQ09ORklHX1JFTE9DQVRBQkxFIGlzIG5vdCBzZXQKLUNPTkZJR19QSFlTSUNBTF9BTElHTj0weDEwMDAwMAotIyBDT05GSUdfSE9UUExVR19DUFUgaXMgbm90IHNldAotQ09ORklHX0NPTVBBVF9WRFNPPXkKK0NPTkZJR19IWl8xMDAwPXkKK0NPTkZJR19IWj0xMDAwCitDT05GSUdfU0NIRURfSFJUSUNLPXkKK0NPTkZJR19LRVhFQz15CitDT05GSUdfQ1JBU0hfRFVNUD15CitDT05GSUdfUEhZU0lDQUxfU1RBUlQ9MHgxMDAwMDAwCitDT05GSUdfUkVMT0NBVEFCTEU9eQorQ09ORklHX1BIWVNJQ0FMX0FMSUdOPTB4MjAwMDAwCitDT05GSUdfSE9UUExVR19DUFU9eQorIyBDT05GSUdfQ09NUEFUX1ZEU08gaXMgbm90IHNldAogQ09ORklHX0FSQ0hfRU5BQkxFX01FTU9SWV9IT1RQTFVHPXkKIAogIwotIyBQb3dlciBtYW5hZ2VtZW50IG9wdGlvbnMgKEFDUEksIEFQTSkKKyMgUG93ZXIgbWFuYWdlbWVudCBvcHRpb25zCiAjCiBDT05GSUdfUE09eQotQ09ORklHX1BNX0xFR0FDWT15Ci0jIENPTkZJR19QTV9ERUJVRyBpcyBub3Qgc2V0Ci0KLSMKLSMgQUNQSSAoQWR2YW5jZWQgQ29uZmlndXJhdGlvbiBhbmQgUG93ZXIgSW50ZXJmYWNlKSBTdXBwb3J0Ci0jCitDT05GSUdfUE1fREVCVUc9eQorIyBDT05GSUdfUE1fVkVSQk9TRSBpcyBub3Qgc2V0CitDT05GSUdfQ0FOX1BNX1RSQUNFPXkKK0NPTkZJR19QTV9UUkFDRT15CitDT05GSUdfUE1fVFJBQ0VfUlRDPXkKK0NPTkZJR19QTV9TTEVFUF9TTVA9eQorQ09ORklHX1BNX1NMRUVQPXkKK0NPTkZJR19TVVNQRU5EPXkKK0NPTkZJR19TVVNQRU5EX0ZSRUVaRVI9eQorQ09ORklHX0hJQkVSTkFUSU9OPXkKK0NPTkZJR19QTV9TVERfUEFSVElUSU9OPSIiCiBDT05GSUdfQUNQST15CitDT05GSUdfQUNQSV9TTEVFUD15CiBDT05GSUdfQUNQSV9QUk9DRlM9eQorQ09ORklHX0FDUElfUFJPQ0ZTX1BPV0VSPXkKK0NPTkZJR19BQ1BJX1NZU0ZTX1BPV0VSPXkKK0NPTkZJR19BQ1BJX1BST0NfRVZFTlQ9eQogQ09ORklHX0FDUElfQUM9eQogQ09ORklHX0FDUElfQkFUVEVSWT15CiBDT05GSUdfQUNQSV9CVVRUT049eQogQ09ORklHX0FDUElfRkFOPXkKLSMgQ09ORklHX0FDUElfRE9DSyBpcyBub3Qgc2V0CitDT05GSUdfQUNQSV9ET0NLPXkKKyMgQ09ORklHX0FDUElfQkFZIGlzIG5vdCBzZXQKIENPTkZJR19BQ1BJX1BST0NFU1NPUj15CitDT05GSUdfQUNQSV9IT1RQTFVHX0NQVT15CiBDT05GSUdfQUNQSV9USEVSTUFMPXkKKyMgQ09ORklHX0FDUElfV01JIGlzIG5vdCBzZXQKICMgQ09ORklHX0FDUElfQVNVUyBpcyBub3Qgc2V0CiAjIENPTkZJR19BQ1BJX1RPU0hJQkEgaXMgbm90IHNldAotQ09ORklHX0FDUElfQkxBQ0tMSVNUX1lFQVI9MjAwMQotQ09ORklHX0FDUElfREVCVUc9eQorIyBDT05GSUdfQUNQSV9DVVNUT01fRFNEVCBpcyBub3Qgc2V0CitDT05GSUdfQUNQSV9CTEFDS0xJU1RfWUVBUj0wCisjIENPTkZJR19BQ1BJX0RFQlVHIGlzIG5vdCBzZXQKIENPTkZJR19BQ1BJX0VDPXkKIENPTkZJR19BQ1BJX1BPV0VSPXkKIENPTkZJR19BQ1BJX1NZU1RFTT15CiBDT05GSUdfWDg2X1BNX1RJTUVSPXkKLSMgQ09ORklHX0FDUElfQ09OVEFJTkVSIGlzIG5vdCBzZXQKK0NPTkZJR19BQ1BJX0NPTlRBSU5FUj15CiAjIENPTkZJR19BQ1BJX1NCUyBpcyBub3Qgc2V0CiAjIENPTkZJR19BUE0gaXMgbm90IHNldAogCkBAIC0yNzEsMTUgKzM1MCwxNyBAQAogQ09ORklHX0NQVV9GUkVRPXkKIENPTkZJR19DUFVfRlJFUV9UQUJMRT15CiBDT05GSUdfQ1BVX0ZSRVFfREVCVUc9eQotQ09ORklHX0NQVV9GUkVRX1NUQVQ9eQotIyBDT05GSUdfQ1BVX0ZSRVFfU1RBVF9ERVRBSUxTIGlzIG5vdCBzZXQKLUNPTkZJR19DUFVfRlJFUV9ERUZBVUxUX0dPVl9QRVJGT1JNQU5DRT15Ci0jIENPTkZJR19DUFVfRlJFUV9ERUZBVUxUX0dPVl9VU0VSU1BBQ0UgaXMgbm90IHNldAorIyBDT05GSUdfQ1BVX0ZSRVFfU1RBVCBpcyBub3Qgc2V0CisjIENPTkZJR19DUFVfRlJFUV9ERUZBVUxUX0dPVl9QRVJGT1JNQU5DRSBpcyBub3Qgc2V0CisjIENPTkZJR19DUFVfRlJFUV9ERUZBVUxUX0dPVl9QT1dFUlNBVkUgaXMgbm90IHNldAorQ09ORklHX0NQVV9GUkVRX0RFRkFVTFRfR09WX1VTRVJTUEFDRT15CisjIENPTkZJR19DUFVfRlJFUV9ERUZBVUxUX0dPVl9PTkRFTUFORCBpcyBub3Qgc2V0CisjIENPTkZJR19DUFVfRlJFUV9ERUZBVUxUX0dPVl9DT05TRVJWQVRJVkUgaXMgbm90IHNldAogQ09ORklHX0NQVV9GUkVRX0dPVl9QRVJGT1JNQU5DRT15CiAjIENPTkZJR19DUFVfRlJFUV9HT1ZfUE9XRVJTQVZFIGlzIG5vdCBzZXQKIENPTkZJR19DUFVfRlJFUV9HT1ZfVVNFUlNQQUNFPXkKIENPTkZJR19DUFVfRlJFUV9HT1ZfT05ERU1BTkQ9eQotQ09ORklHX0NQVV9GUkVRX0dPVl9DT05TRVJWQVRJVkU9eQorIyBDT05GSUdfQ1BVX0ZSRVFfR09WX0NPTlNFUlZBVElWRSBpcyBub3Qgc2V0CiAKICMKICMgQ1BVRnJlcSBwcm9jZXNzb3IgZHJpdmVycwpAQCAtMjg3LDggKzM2OCw3IEBACiBDT05GSUdfWDg2X0FDUElfQ1BVRlJFUT15CiAjIENPTkZJR19YODZfUE9XRVJOT1dfSzYgaXMgbm90IHNldAogIyBDT05GSUdfWDg2X1BPV0VSTk9XX0s3IGlzIG5vdCBzZXQKLUNPTkZJR19YODZfUE9XRVJOT1dfSzg9eQotQ09ORklHX1g4Nl9QT1dFUk5PV19LOF9BQ1BJPXkKKyMgQ09ORklHX1g4Nl9QT1dFUk5PV19LOCBpcyBub3Qgc2V0CiAjIENPTkZJR19YODZfR1hfU1VTUE1PRCBpcyBub3Qgc2V0CiAjIENPTkZJR19YODZfU1BFRURTVEVQX0NFTlRSSU5PIGlzIG5vdCBzZXQKICMgQ09ORklHX1g4Nl9TUEVFRFNURVBfSUNIIGlzIG5vdCBzZXQKQEAgLTMwMiw0MyArMzgyLDcyIEBACiAjCiAjIHNoYXJlZCBvcHRpb25zCiAjCi1DT05GSUdfWDg2X0FDUElfQ1BVRlJFUV9QUk9DX0lOVEY9eQorIyBDT05GSUdfWDg2X0FDUElfQ1BVRlJFUV9QUk9DX0lOVEYgaXMgbm90IHNldAogIyBDT05GSUdfWDg2X1NQRUVEU1RFUF9MSUIgaXMgbm90IHNldAorQ09ORklHX0NQVV9JRExFPXkKK0NPTkZJR19DUFVfSURMRV9HT1ZfTEFEREVSPXkKK0NPTkZJR19DUFVfSURMRV9HT1ZfTUVOVT15CiAKICMKLSMgQnVzIG9wdGlvbnMgKFBDSSwgUENNQ0lBLCBFSVNBLCBNQ0EsIElTQSkKKyMgQnVzIG9wdGlvbnMgKFBDSSBldGMuKQogIwogQ09ORklHX1BDST15CiAjIENPTkZJR19QQ0lfR09CSU9TIGlzIG5vdCBzZXQKICMgQ09ORklHX1BDSV9HT01NQ09ORklHIGlzIG5vdCBzZXQKICMgQ09ORklHX1BDSV9HT0RJUkVDVCBpcyBub3Qgc2V0CiBDT05GSUdfUENJX0dPQU5ZPXkKKyMgQ09ORklHX1BDSV9HT09MUEMgaXMgbm90IHNldAogQ09ORklHX1BDSV9CSU9TPXkKIENPTkZJR19QQ0lfRElSRUNUPXkKIENPTkZJR19QQ0lfTU1DT05GSUc9eQotIyBDT05GSUdfUENJRVBPUlRCVVMgaXMgbm90IHNldAorQ09ORklHX1BDSV9ET01BSU5TPXkKK0NPTkZJR19QQ0lFUE9SVEJVUz15CisjIENPTkZJR19IT1RQTFVHX1BDSV9QQ0lFIGlzIG5vdCBzZXQKK0NPTkZJR19QQ0lFQUVSPXkKKyMgQ09ORklHX1BDSUVBU1BNIGlzIG5vdCBzZXQKIENPTkZJR19BUkNIX1NVUFBPUlRTX01TST15CiBDT05GSUdfUENJX01TST15CisjIENPTkZJR19QQ0lfTEVHQUNZIGlzIG5vdCBzZXQKICMgQ09ORklHX1BDSV9ERUJVRyBpcyBub3Qgc2V0Ci0jIENPTkZJR19IVF9JUlEgaXMgbm90IHNldAorQ09ORklHX0hUX0lSUT15CiBDT05GSUdfSVNBX0RNQV9BUEk9eQogIyBDT05GSUdfSVNBIGlzIG5vdCBzZXQKICMgQ09ORklHX01DQSBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ3gyMDAgaXMgbm90IHNldAorIyBDT05GSUdfT0xQQyBpcyBub3Qgc2V0CiBDT05GSUdfSzhfTkI9eQorQ09ORklHX1BDQ0FSRD15CisjIENPTkZJR19QQ01DSUFfREVCVUcgaXMgbm90IHNldAorQ09ORklHX1BDTUNJQT15CitDT05GSUdfUENNQ0lBX0xPQURfQ0lTPXkKK0NPTkZJR19QQ01DSUFfSU9DVEw9eQorQ09ORklHX0NBUkRCVVM9eQogCiAjCi0jIFBDQ0FSRCAoUENNQ0lBL0NhcmRCdXMpIHN1cHBvcnQKKyMgUEMtY2FyZCBicmlkZ2VzCiAjCi0jIENPTkZJR19QQ0NBUkQgaXMgbm90IHNldAotIyBDT05GSUdfSE9UUExVR19QQ0kgaXMgbm90IHNldAorQ09ORklHX1lFTlRBPXkKK0NPTkZJR19ZRU5UQV9PMj15CitDT05GSUdfWUVOVEFfUklDT0g9eQorQ09ORklHX1lFTlRBX1RJPXkKK0NPTkZJR19ZRU5UQV9FTkVfVFVORT15CitDT05GSUdfWUVOVEFfVE9TSElCQT15CisjIENPTkZJR19QRDY3MjkgaXMgbm90IHNldAorIyBDT05GSUdfSTgyMDkyIGlzIG5vdCBzZXQKK0NPTkZJR19QQ0NBUkRfTk9OU1RBVElDPXkKK0NPTkZJR19IT1RQTFVHX1BDST15CisjIENPTkZJR19IT1RQTFVHX1BDSV9GQUtFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hPVFBMVUdfUENJX0lCTSBpcyBub3Qgc2V0CisjIENPTkZJR19IT1RQTFVHX1BDSV9BQ1BJIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hPVFBMVUdfUENJX0NQQ0kgaXMgbm90IHNldAorIyBDT05GSUdfSE9UUExVR19QQ0lfU0hQQyBpcyBub3Qgc2V0CiAKICMKLSMgRXhlY3V0YWJsZSBmaWxlIGZvcm1hdHMKKyMgRXhlY3V0YWJsZSBmaWxlIGZvcm1hdHMgLyBFbXVsYXRpb25zCiAjCiBDT05GSUdfQklORk1UX0VMRj15CiAjIENPTkZJR19CSU5GTVRfQU9VVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19CSU5GTVRfTUlTQyBpcyBub3Qgc2V0CitDT05GSUdfQklORk1UX01JU0M9eQogCiAjCiAjIE5ldHdvcmtpbmcKQEAgLTM0OSw1OSArNDU4LDE0MiBAQAogIyBOZXR3b3JraW5nIG9wdGlvbnMKICMKIENPTkZJR19QQUNLRVQ9eQotIyBDT05GSUdfUEFDS0VUX01NQVAgaXMgbm90IHNldAorQ09ORklHX1BBQ0tFVF9NTUFQPXkKIENPTkZJR19VTklYPXkKIENPTkZJR19YRlJNPXkKLSMgQ09ORklHX1hGUk1fVVNFUiBpcyBub3Qgc2V0CitDT05GSUdfWEZSTV9VU0VSPXkKICMgQ09ORklHX1hGUk1fU1VCX1BPTElDWSBpcyBub3Qgc2V0CiAjIENPTkZJR19YRlJNX01JR1JBVEUgaXMgbm90IHNldAorIyBDT05GSUdfWEZSTV9TVEFUSVNUSUNTIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVF9LRVkgaXMgbm90IHNldAogQ09ORklHX0lORVQ9eQogQ09ORklHX0lQX01VTFRJQ0FTVD15Ci0jIENPTkZJR19JUF9BRFZBTkNFRF9ST1VURVIgaXMgbm90IHNldAorQ09ORklHX0lQX0FEVkFOQ0VEX1JPVVRFUj15CitDT05GSUdfQVNLX0lQX0ZJQl9IQVNIPXkKKyMgQ09ORklHX0lQX0ZJQl9UUklFIGlzIG5vdCBzZXQKIENPTkZJR19JUF9GSUJfSEFTSD15Ci1DT05GSUdfSVBfUE5QPXkKLUNPTkZJR19JUF9QTlBfREhDUD15Ci0jIENPTkZJR19JUF9QTlBfQk9PVFAgaXMgbm90IHNldAotIyBDT05GSUdfSVBfUE5QX1JBUlAgaXMgbm90IHNldAorQ09ORklHX0lQX01VTFRJUExFX1RBQkxFUz15CitDT05GSUdfSVBfUk9VVEVfTVVMVElQQVRIPXkKK0NPTkZJR19JUF9ST1VURV9WRVJCT1NFPXkKKyMgQ09ORklHX0lQX1BOUCBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRfSVBJUCBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRfSVBHUkUgaXMgbm90IHNldAotIyBDT05GSUdfSVBfTVJPVVRFIGlzIG5vdCBzZXQKK0NPTkZJR19JUF9NUk9VVEU9eQorQ09ORklHX0lQX1BJTVNNX1YxPXkKK0NPTkZJR19JUF9QSU1TTV9WMj15CiAjIENPTkZJR19BUlBEIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NZTl9DT09LSUVTIGlzIG5vdCBzZXQKK0NPTkZJR19TWU5fQ09PS0lFUz15CiAjIENPTkZJR19JTkVUX0FIIGlzIG5vdCBzZXQKICMgQ09ORklHX0lORVRfRVNQIGlzIG5vdCBzZXQKICMgQ09ORklHX0lORVRfSVBDT01QIGlzIG5vdCBzZXQKICMgQ09ORklHX0lORVRfWEZSTV9UVU5ORUwgaXMgbm90IHNldAogQ09ORklHX0lORVRfVFVOTkVMPXkKLUNPTkZJR19JTkVUX1hGUk1fTU9ERV9UUkFOU1BPUlQ9eQotQ09ORklHX0lORVRfWEZSTV9NT0RFX1RVTk5FTD15CisjIENPTkZJR19JTkVUX1hGUk1fTU9ERV9UUkFOU1BPUlQgaXMgbm90IHNldAorIyBDT05GSUdfSU5FVF9YRlJNX01PREVfVFVOTkVMIGlzIG5vdCBzZXQKICMgQ09ORklHX0lORVRfWEZSTV9NT0RFX0JFRVQgaXMgbm90IHNldAotQ09ORklHX0lORVRfRElBRz15Ci1DT05GSUdfSU5FVF9UQ1BfRElBRz15Ci0jIENPTkZJR19UQ1BfQ09OR19BRFZBTkNFRCBpcyBub3Qgc2V0CitDT05GSUdfSU5FVF9MUk89eQorIyBDT05GSUdfSU5FVF9ESUFHIGlzIG5vdCBzZXQKK0NPTkZJR19UQ1BfQ09OR19BRFZBTkNFRD15CisjIENPTkZJR19UQ1BfQ09OR19CSUMgaXMgbm90IHNldAogQ09ORklHX1RDUF9DT05HX0NVQklDPXkKKyMgQ09ORklHX1RDUF9DT05HX1dFU1RXT09EIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RDUF9DT05HX0hUQ1AgaXMgbm90IHNldAorIyBDT05GSUdfVENQX0NPTkdfSFNUQ1AgaXMgbm90IHNldAorIyBDT05GSUdfVENQX0NPTkdfSFlCTEEgaXMgbm90IHNldAorIyBDT05GSUdfVENQX0NPTkdfVkVHQVMgaXMgbm90IHNldAorIyBDT05GSUdfVENQX0NPTkdfU0NBTEFCTEUgaXMgbm90IHNldAorIyBDT05GSUdfVENQX0NPTkdfTFAgaXMgbm90IHNldAorIyBDT05GSUdfVENQX0NPTkdfVkVOTyBpcyBub3Qgc2V0CisjIENPTkZJR19UQ1BfQ09OR19ZRUFIIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RDUF9DT05HX0lMTElOT0lTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFRkFVTFRfQklDIGlzIG5vdCBzZXQKK0NPTkZJR19ERUZBVUxUX0NVQklDPXkKKyMgQ09ORklHX0RFRkFVTFRfSFRDUCBpcyBub3Qgc2V0CisjIENPTkZJR19ERUZBVUxUX1ZFR0FTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFRkFVTFRfV0VTVFdPT0QgaXMgbm90IHNldAorIyBDT05GSUdfREVGQVVMVF9SRU5PIGlzIG5vdCBzZXQKIENPTkZJR19ERUZBVUxUX1RDUF9DT05HPSJjdWJpYyIKLSMgQ09ORklHX1RDUF9NRDVTSUcgaXMgbm90IHNldAorQ09ORklHX1RDUF9NRDVTSUc9eQorIyBDT05GSUdfSVBfVlMgaXMgbm90IHNldAogQ09ORklHX0lQVjY9eQogIyBDT05GSUdfSVBWNl9QUklWQUNZIGlzIG5vdCBzZXQKICMgQ09ORklHX0lQVjZfUk9VVEVSX1BSRUYgaXMgbm90IHNldAogIyBDT05GSUdfSVBWNl9PUFRJTUlTVElDX0RBRCBpcyBub3Qgc2V0Ci0jIENPTkZJR19JTkVUNl9BSCBpcyBub3Qgc2V0Ci0jIENPTkZJR19JTkVUNl9FU1AgaXMgbm90IHNldAorQ09ORklHX0lORVQ2X0FIPXkKK0NPTkZJR19JTkVUNl9FU1A9eQogIyBDT05GSUdfSU5FVDZfSVBDT01QIGlzIG5vdCBzZXQKICMgQ09ORklHX0lQVjZfTUlQNiBpcyBub3Qgc2V0CiAjIENPTkZJR19JTkVUNl9YRlJNX1RVTk5FTCBpcyBub3Qgc2V0CiAjIENPTkZJR19JTkVUNl9UVU5ORUwgaXMgbm90IHNldAogQ09ORklHX0lORVQ2X1hGUk1fTU9ERV9UUkFOU1BPUlQ9eQogQ09ORklHX0lORVQ2X1hGUk1fTU9ERV9UVU5ORUw9eQotIyBDT05GSUdfSU5FVDZfWEZSTV9NT0RFX0JFRVQgaXMgbm90IHNldAorQ09ORklHX0lORVQ2X1hGUk1fTU9ERV9CRUVUPXkKICMgQ09ORklHX0lORVQ2X1hGUk1fTU9ERV9ST1VURU9QVElNSVpBVElPTiBpcyBub3Qgc2V0CiBDT05GSUdfSVBWNl9TSVQ9eQorQ09ORklHX0lQVjZfTkRJU0NfTk9ERVRZUEU9eQogIyBDT05GSUdfSVBWNl9UVU5ORUwgaXMgbm90IHNldAogIyBDT05GSUdfSVBWNl9NVUxUSVBMRV9UQUJMRVMgaXMgbm90IHNldAotIyBDT05GSUdfTkVUV09SS19TRUNNQVJLIGlzIG5vdCBzZXQKLSMgQ09ORklHX05FVEZJTFRFUiBpcyBub3Qgc2V0CisjIENPTkZJR19JUFY2X01ST1VURSBpcyBub3Qgc2V0CitDT05GSUdfTkVUTEFCRUw9eQorQ09ORklHX05FVFdPUktfU0VDTUFSSz15CitDT05GSUdfTkVURklMVEVSPXkKKyMgQ09ORklHX05FVEZJTFRFUl9ERUJVRyBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRGSUxURVJfQURWQU5DRUQgaXMgbm90IHNldAorCisjCisjIENvcmUgTmV0ZmlsdGVyIENvbmZpZ3VyYXRpb24KKyMKK0NPTkZJR19ORVRGSUxURVJfTkVUTElOSz15CitDT05GSUdfTkVURklMVEVSX05FVExJTktfTE9HPXkKK0NPTkZJR19ORl9DT05OVFJBQ0s9eQorQ09ORklHX05GX0NPTk5UUkFDS19TRUNNQVJLPXkKK0NPTkZJR19ORl9DT05OVFJBQ0tfRlRQPXkKK0NPTkZJR19ORl9DT05OVFJBQ0tfSVJDPXkKK0NPTkZJR19ORl9DT05OVFJBQ0tfU0lQPXkKK0NPTkZJR19ORl9DVF9ORVRMSU5LPXkKK0NPTkZJR19ORVRGSUxURVJfWFRBQkxFUz15CitDT05GSUdfTkVURklMVEVSX1hUX1RBUkdFVF9NQVJLPXkKK0NPTkZJR19ORVRGSUxURVJfWFRfVEFSR0VUX05GTE9HPXkKK0NPTkZJR19ORVRGSUxURVJfWFRfVEFSR0VUX1NFQ01BUks9eQorQ09ORklHX05FVEZJTFRFUl9YVF9UQVJHRVRfQ09OTlNFQ01BUks9eQorQ09ORklHX05FVEZJTFRFUl9YVF9UQVJHRVRfVENQTVNTPXkKK0NPTkZJR19ORVRGSUxURVJfWFRfTUFUQ0hfQ09OTlRSQUNLPXkKK0NPTkZJR19ORVRGSUxURVJfWFRfTUFUQ0hfTUFSSz15CitDT05GSUdfTkVURklMVEVSX1hUX01BVENIX1BPTElDWT15CitDT05GSUdfTkVURklMVEVSX1hUX01BVENIX1NUQVRFPXkKKworIworIyBJUDogTmV0ZmlsdGVyIENvbmZpZ3VyYXRpb24KKyMKK0NPTkZJR19ORl9DT05OVFJBQ0tfSVBWND15CitDT05GSUdfTkZfQ09OTlRSQUNLX1BST0NfQ09NUEFUPXkKK0NPTkZJR19JUF9ORl9JUFRBQkxFUz15CitDT05GSUdfSVBfTkZfRklMVEVSPXkKK0NPTkZJR19JUF9ORl9UQVJHRVRfUkVKRUNUPXkKK0NPTkZJR19JUF9ORl9UQVJHRVRfTE9HPXkKK0NPTkZJR19JUF9ORl9UQVJHRVRfVUxPRz15CitDT05GSUdfTkZfTkFUPXkKK0NPTkZJR19ORl9OQVRfTkVFREVEPXkKK0NPTkZJR19JUF9ORl9UQVJHRVRfTUFTUVVFUkFERT15CitDT05GSUdfTkZfTkFUX0ZUUD15CitDT05GSUdfTkZfTkFUX0lSQz15CisjIENPTkZJR19ORl9OQVRfVEZUUCBpcyBub3Qgc2V0CisjIENPTkZJR19ORl9OQVRfQU1BTkRBIGlzIG5vdCBzZXQKKyMgQ09ORklHX05GX05BVF9QUFRQIGlzIG5vdCBzZXQKKyMgQ09ORklHX05GX05BVF9IMzIzIGlzIG5vdCBzZXQKK0NPTkZJR19ORl9OQVRfU0lQPXkKK0NPTkZJR19JUF9ORl9NQU5HTEU9eQorCisjCisjIElQdjY6IE5ldGZpbHRlciBDb25maWd1cmF0aW9uCisjCitDT05GSUdfTkZfQ09OTlRSQUNLX0lQVjY9eQorQ09ORklHX0lQNl9ORl9JUFRBQkxFUz15CitDT05GSUdfSVA2X05GX01BVENIX0lQVjZIRUFERVI9eQorQ09ORklHX0lQNl9ORl9GSUxURVI9eQorQ09ORklHX0lQNl9ORl9UQVJHRVRfTE9HPXkKK0NPTkZJR19JUDZfTkZfVEFSR0VUX1JFSkVDVD15CitDT05GSUdfSVA2X05GX01BTkdMRT15CiAjIENPTkZJR19JUF9EQ0NQIGlzIG5vdCBzZXQKICMgQ09ORklHX0lQX1NDVFAgaXMgbm90IHNldAogIyBDT05GSUdfVElQQyBpcyBub3Qgc2V0CkBAIC00MDksNiArNjAxLDcgQEAKICMgQ09ORklHX0JSSURHRSBpcyBub3Qgc2V0CiAjIENPTkZJR19WTEFOXzgwMjFRIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQ05FVCBpcyBub3Qgc2V0CitDT05GSUdfTExDPXkKICMgQ09ORklHX0xMQzIgaXMgbm90IHNldAogIyBDT05GSUdfSVBYIGlzIG5vdCBzZXQKICMgQ09ORklHX0FUQUxLIGlzIG5vdCBzZXQKQEAgLTQxNiwyOCArNjA5LDk5IEBACiAjIENPTkZJR19MQVBCIGlzIG5vdCBzZXQKICMgQ09ORklHX0VDT05FVCBpcyBub3Qgc2V0CiAjIENPTkZJR19XQU5fUk9VVEVSIGlzIG5vdCBzZXQKK0NPTkZJR19ORVRfU0NIRUQ9eQogCiAjCi0jIFFvUyBhbmQvb3IgZmFpciBxdWV1ZWluZworIyBRdWV1ZWluZy9TY2hlZHVsaW5nCiAjCi0jIENPTkZJR19ORVRfU0NIRUQgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX1NDSF9DQlEgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX1NDSF9IVEIgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX1NDSF9IRlNDIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9TQ0hfUFJJTyBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfU0NIX1JSIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9TQ0hfUkVEIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9TQ0hfU0ZRIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9TQ0hfVEVRTCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfU0NIX1RCRiBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfU0NIX0dSRUQgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX1NDSF9EU01BUksgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX1NDSF9ORVRFTSBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfU0NIX0lOR1JFU1MgaXMgbm90IHNldAorCisjCisjIENsYXNzaWZpY2F0aW9uCisjCitDT05GSUdfTkVUX0NMUz15CisjIENPTkZJR19ORVRfQ0xTX0JBU0lDIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9DTFNfVENJTkRFWCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfQ0xTX1JPVVRFNCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfQ0xTX0ZXIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9DTFNfVTMyIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9DTFNfUlNWUCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfQ0xTX1JTVlA2IGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9DTFNfRkxPVyBpcyBub3Qgc2V0CitDT05GSUdfTkVUX0VNQVRDSD15CitDT05GSUdfTkVUX0VNQVRDSF9TVEFDSz0zMgorIyBDT05GSUdfTkVUX0VNQVRDSF9DTVAgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX0VNQVRDSF9OQllURSBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfRU1BVENIX1UzMiBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfRU1BVENIX01FVEEgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX0VNQVRDSF9URVhUIGlzIG5vdCBzZXQKK0NPTkZJR19ORVRfQ0xTX0FDVD15CisjIENPTkZJR19ORVRfQUNUX1BPTElDRSBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfQUNUX0dBQ1QgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX0FDVF9NSVJSRUQgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX0FDVF9JUFQgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX0FDVF9OQVQgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX0FDVF9QRURJVCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfQUNUX1NJTVAgaXMgbm90IHNldAorQ09ORklHX05FVF9TQ0hfRklGTz15CiAKICMKICMgTmV0d29yayB0ZXN0aW5nCiAjCiAjIENPTkZJR19ORVRfUEtUR0VOIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVF9UQ1BQUk9CRSBpcyBub3Qgc2V0Ci0jIENPTkZJR19IQU1SQURJTyBpcyBub3Qgc2V0CitDT05GSUdfSEFNUkFESU89eQorCisjCisjIFBhY2tldCBSYWRpbyBwcm90b2NvbHMKKyMKKyMgQ09ORklHX0FYMjUgaXMgbm90IHNldAorIyBDT05GSUdfQ0FOIGlzIG5vdCBzZXQKICMgQ09ORklHX0lSREEgaXMgbm90IHNldAogIyBDT05GSUdfQlQgaXMgbm90IHNldAogIyBDT05GSUdfQUZfUlhSUEMgaXMgbm90IHNldAorQ09ORklHX0ZJQl9SVUxFUz15CiAKICMKICMgV2lyZWxlc3MKICMKLSMgQ09ORklHX0NGRzgwMjExIGlzIG5vdCBzZXQKLSMgQ09ORklHX1dJUkVMRVNTX0VYVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19NQUM4MDIxMSBpcyBub3Qgc2V0CitDT05GSUdfQ0ZHODAyMTE9eQorQ09ORklHX05MODAyMTE9eQorQ09ORklHX1dJUkVMRVNTX0VYVD15CitDT05GSUdfTUFDODAyMTE9eQorCisjCisjIFJhdGUgY29udHJvbCBhbGdvcml0aG0gc2VsZWN0aW9uCisjCitDT05GSUdfTUFDODAyMTFfUkNfREVGQVVMVF9QSUQ9eQorIyBDT05GSUdfTUFDODAyMTFfUkNfREVGQVVMVF9OT05FIGlzIG5vdCBzZXQKKworIworIyBTZWxlY3RpbmcgJ3knIGZvciBhbiBhbGdvcml0aG0gd2lsbAorIworCisjCisjIGJ1aWxkIHRoZSBhbGdvcml0aG0gaW50byBtYWM4MDIxMS4KKyMKK0NPTkZJR19NQUM4MDIxMV9SQ19ERUZBVUxUPSJwaWQiCitDT05GSUdfTUFDODAyMTFfUkNfUElEPXkKKyMgQ09ORklHX01BQzgwMjExX01FU0ggaXMgbm90IHNldAorQ09ORklHX01BQzgwMjExX0xFRFM9eQorIyBDT05GSUdfTUFDODAyMTFfREVCVUdGUyBpcyBub3Qgc2V0CisjIENPTkZJR19NQUM4MDIxMV9ERUJVR19QQUNLRVRfQUxJR05NRU5UIGlzIG5vdCBzZXQKKyMgQ09ORklHX01BQzgwMjExX0RFQlVHIGlzIG5vdCBzZXQKICMgQ09ORklHX0lFRUU4MDIxMSBpcyBub3Qgc2V0CiAjIENPTkZJR19SRktJTEwgaXMgbm90IHNldAogIyBDT05GSUdfTkVUXzlQIGlzIG5vdCBzZXQKQEAgLTQ0OSwxMyArNzEzLDE1IEBACiAjCiAjIEdlbmVyaWMgRHJpdmVyIE9wdGlvbnMKICMKK0NPTkZJR19VRVZFTlRfSEVMUEVSX1BBVEg9Ii9zYmluL2hvdHBsdWciCiBDT05GSUdfU1RBTkRBTE9ORT15CiBDT05GSUdfUFJFVkVOVF9GSVJNV0FSRV9CVUlMRD15CiBDT05GSUdfRldfTE9BREVSPXkKICMgQ09ORklHX0RFQlVHX0RSSVZFUiBpcyBub3Qgc2V0Ci0jIENPTkZJR19ERUJVR19ERVZSRVMgaXMgbm90IHNldAorQ09ORklHX0RFQlVHX0RFVlJFUz15CiAjIENPTkZJR19TWVNfSFlQRVJWSVNPUiBpcyBub3Qgc2V0Ci0jIENPTkZJR19DT05ORUNUT1IgaXMgbm90IHNldAorQ09ORklHX0NPTk5FQ1RPUj15CitDT05GSUdfUFJPQ19FVkVOVFM9eQogIyBDT05GSUdfTVREIGlzIG5vdCBzZXQKICMgQ09ORklHX1BBUlBPUlQgaXMgbm90IHNldAogQ09ORklHX1BOUD15CkBAIC00NjYsNyArNzMyLDcgQEAKICMKIENPTkZJR19QTlBBQ1BJPXkKIENPTkZJR19CTEtfREVWPXkKLUNPTkZJR19CTEtfREVWX0ZEPXkKKyMgQ09ORklHX0JMS19ERVZfRkQgaXMgbm90IHNldAogIyBDT05GSUdfQkxLX0NQUV9EQSBpcyBub3Qgc2V0CiAjIENPTkZJR19CTEtfQ1BRX0NJU1NfREEgaXMgbm90IHNldAogIyBDT05GSUdfQkxLX0RFVl9EQUM5NjAgaXMgbm90IHNldApAQCAtNDc5LDggKzc0NSw4IEBACiAjIENPTkZJR19CTEtfREVWX1VCIGlzIG5vdCBzZXQKIENPTkZJR19CTEtfREVWX1JBTT15CiBDT05GSUdfQkxLX0RFVl9SQU1fQ09VTlQ9MTYKLUNPTkZJR19CTEtfREVWX1JBTV9TSVpFPTQwOTYKLUNPTkZJR19CTEtfREVWX1JBTV9CTE9DS1NJWkU9MTAyNAorQ09ORklHX0JMS19ERVZfUkFNX1NJWkU9MTYzODQKKyMgQ09ORklHX0JMS19ERVZfWElQIGlzIG5vdCBzZXQKICMgQ09ORklHX0NEUk9NX1BLVENEVkQgaXMgbm90IHNldAogIyBDT05GSUdfQVRBX09WRVJfRVRIIGlzIG5vdCBzZXQKIENPTkZJR19NSVNDX0RFVklDRVM9eQpAQCAtNDg5LDczICs3NTUsMTcgQEAKICMgQ09ORklHX0VFUFJPTV85M0NYNiBpcyBub3Qgc2V0CiAjIENPTkZJR19TR0lfSU9DNCBpcyBub3Qgc2V0CiAjIENPTkZJR19USUZNX0NPUkUgaXMgbm90IHNldAorIyBDT05GSUdfQUNFUl9XTUkgaXMgbm90IHNldAorIyBDT05GSUdfQVNVU19MQVBUT1AgaXMgbm90IHNldAorIyBDT05GSUdfRlVKSVRTVV9MQVBUT1AgaXMgbm90IHNldAorIyBDT05GSUdfVEMxMTAwX1dNSSBpcyBub3Qgc2V0CisjIENPTkZJR19NU0lfTEFQVE9QIGlzIG5vdCBzZXQKICMgQ09ORklHX1NPTllfTEFQVE9QIGlzIG5vdCBzZXQKICMgQ09ORklHX1RISU5LUEFEX0FDUEkgaXMgbm90IHNldAotQ09ORklHX0lERT15Ci1DT05GSUdfQkxLX0RFVl9JREU9eQotCi0jCi0jIFBsZWFzZSBzZWUgRG9jdW1lbnRhdGlvbi9pZGUudHh0IGZvciBoZWxwL2luZm8gb24gSURFIGRyaXZlcwotIwotIyBDT05GSUdfQkxLX0RFVl9JREVfU0FUQSBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX0hEX0lERSBpcyBub3Qgc2V0Ci1DT05GSUdfQkxLX0RFVl9JREVESVNLPXkKLUNPTkZJR19JREVESVNLX01VTFRJX01PREU9eQotQ09ORklHX0JMS19ERVZfSURFQ0Q9eQotIyBDT05GSUdfQkxLX0RFVl9JREVUQVBFIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfSURFRkxPUFBZIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfSURFU0NTSSBpcyBub3Qgc2V0Ci1DT05GSUdfQkxLX0RFVl9JREVBQ1BJPXkKLSMgQ09ORklHX0lERV9UQVNLX0lPQ1RMIGlzIG5vdCBzZXQKLUNPTkZJR19JREVfUFJPQ19GUz15Ci0KLSMKLSMgSURFIGNoaXBzZXQgc3VwcG9ydC9idWdmaXhlcwotIwotQ09ORklHX0lERV9HRU5FUklDPXkKLSMgQ09ORklHX0JMS19ERVZfQ01ENjQwIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfSURFUE5QIGlzIG5vdCBzZXQKLUNPTkZJR19CTEtfREVWX0lERVBDST15Ci0jIENPTkZJR19JREVQQ0lfU0hBUkVfSVJRIGlzIG5vdCBzZXQKLUNPTkZJR19JREVQQ0lfUENJQlVTX09SREVSPXkKLSMgQ09ORklHX0JMS19ERVZfT0ZGQk9BUkQgaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9HRU5FUklDIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfT1BUSTYyMSBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX1JaMTAwMCBpcyBub3Qgc2V0Ci1DT05GSUdfQkxLX0RFVl9JREVETUFfUENJPXkKLSMgQ09ORklHX0JMS19ERVZfSURFRE1BX0ZPUkNFRCBpcyBub3Qgc2V0Ci0jIENPTkZJR19JREVETUFfT05MWURJU0sgaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9BRUM2MlhYIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfQUxJMTVYMyBpcyBub3Qgc2V0Ci1DT05GSUdfQkxLX0RFVl9BTUQ3NFhYPXkKLSMgQ09ORklHX0JMS19ERVZfQVRJSVhQIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfQ01ENjRYIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfVFJJRkxFWCBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX0NZODJDNjkzIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfQ1M1NTIwIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfQ1M1NTMwIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfQ1M1NTM1IGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfSFBUMzRYIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfSFBUMzY2IGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfSk1JQ1JPTiBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX1NDMTIwMCBpcyBub3Qgc2V0Ci1DT05GSUdfQkxLX0RFVl9QSUlYPXkKLSMgQ09ORklHX0JMS19ERVZfSVQ4MjEzIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfSVQ4MjFYIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfTlM4NzQxNSBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX1BEQzIwMlhYX09MRCBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX1BEQzIwMlhYX05FVyBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX1NWV0tTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfU0lJTUFHRSBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX1NJUzU1MTMgaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9TTEM5MEU2NiBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX1RSTTI5MCBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX1ZJQTgyQ1hYWCBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX1RDODZDMDAxIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lERV9BUk0gaXMgbm90IHNldAotQ09ORklHX0JMS19ERVZfSURFRE1BPXkKLSMgQ09ORklHX0lERURNQV9JVkIgaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9IRCBpcyBub3Qgc2V0CisjIENPTkZJR19JTlRFTF9NRU5MT1cgaXMgbm90IHNldAorIyBDT05GSUdfRU5DTE9TVVJFX1NFUlZJQ0VTIGlzIG5vdCBzZXQKK0NPTkZJR19IQVZFX0lERT15CisjIENPTkZJR19JREUgaXMgbm90IHNldAogCiAjCiAjIFNDU0kgZGV2aWNlIHN1cHBvcnQKQEAgLTU2NCw4ICs3NzQsOCBAQAogQ09ORklHX1NDU0k9eQogQ09ORklHX1NDU0lfRE1BPXkKICMgQ09ORklHX1NDU0lfVEdUIGlzIG5vdCBzZXQKLUNPTkZJR19TQ1NJX05FVExJTks9eQotIyBDT05GSUdfU0NTSV9QUk9DX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NDU0lfTkVUTElOSyBpcyBub3Qgc2V0CitDT05GSUdfU0NTSV9QUk9DX0ZTPXkKIAogIwogIyBTQ1NJIHN1cHBvcnQgdHlwZSAoZGlzaywgdGFwZSwgQ0QtUk9NKQpAQCAtNTc0LDcgKzc4NCw3IEBACiAjIENPTkZJR19DSFJfREVWX1NUIGlzIG5vdCBzZXQKICMgQ09ORklHX0NIUl9ERVZfT1NTVCBpcyBub3Qgc2V0CiBDT05GSUdfQkxLX0RFVl9TUj15Ci0jIENPTkZJR19CTEtfREVWX1NSX1ZFTkRPUiBpcyBub3Qgc2V0CitDT05GSUdfQkxLX0RFVl9TUl9WRU5ET1I9eQogQ09ORklHX0NIUl9ERVZfU0c9eQogIyBDT05GSUdfQ0hSX0RFVl9TQ0ggaXMgbm90IHNldAogCkBAIC01ODIsNyArNzkyLDcgQEAKICMgU29tZSBTQ1NJIGRldmljZXMgKGUuZy4gQ0QganVrZWJveCkgc3VwcG9ydCBtdWx0aXBsZSBMVU5zCiAjCiAjIENPTkZJR19TQ1NJX01VTFRJX0xVTiBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX0NPTlNUQU5UUyBpcyBub3Qgc2V0CitDT05GSUdfU0NTSV9DT05TVEFOVFM9eQogIyBDT05GSUdfU0NTSV9MT0dHSU5HIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfU0NBTl9BU1lOQyBpcyBub3Qgc2V0CiBDT05GSUdfU0NTSV9XQUlUX1NDQU49bQpAQCAtNTkxLDgxICs4MDEsMzcgQEAKICMgU0NTSSBUcmFuc3BvcnRzCiAjCiBDT05GSUdfU0NTSV9TUElfQVRUUlM9eQotQ09ORklHX1NDU0lfRkNfQVRUUlM9eQorIyBDT05GSUdfU0NTSV9GQ19BVFRSUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX0lTQ1NJX0FUVFJTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfU0FTX0FUVFJTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfU0FTX0xJQlNBUyBpcyBub3Qgc2V0Ci0KLSMKLSMgU0NTSSBsb3ctbGV2ZWwgZHJpdmVycwotIwotIyBDT05GSUdfSVNDU0lfVENQIGlzIG5vdCBzZXQKLUNPTkZJR19CTEtfREVWXzNXX1hYWFhfUkFJRD15Ci0jIENPTkZJR19TQ1NJXzNXXzlYWFggaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9BQ0FSRCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX0FBQ1JBSUQgaXMgbm90IHNldAotQ09ORklHX1NDU0lfQUlDN1hYWD15Ci1DT05GSUdfQUlDN1hYWF9DTURTX1BFUl9ERVZJQ0U9MzIKLUNPTkZJR19BSUM3WFhYX1JFU0VUX0RFTEFZX01TPTUwMDAKLUNPTkZJR19BSUM3WFhYX0RFQlVHX0VOQUJMRT15Ci1DT05GSUdfQUlDN1hYWF9ERUJVR19NQVNLPTAKLUNPTkZJR19BSUM3WFhYX1JFR19QUkVUVFlfUFJJTlQ9eQotIyBDT05GSUdfU0NTSV9BSUM3WFhYX09MRCBpcyBub3Qgc2V0Ci1DT05GSUdfU0NTSV9BSUM3OVhYPXkKLUNPTkZJR19BSUM3OVhYX0NNRFNfUEVSX0RFVklDRT0zMgotQ09ORklHX0FJQzc5WFhfUkVTRVRfREVMQVlfTVM9NDAwMAotIyBDT05GSUdfQUlDNzlYWF9ERUJVR19FTkFCTEUgaXMgbm90IHNldAotQ09ORklHX0FJQzc5WFhfREVCVUdfTUFTSz0wCi0jIENPTkZJR19BSUM3OVhYX1JFR19QUkVUVFlfUFJJTlQgaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9BSUM5NFhYIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfRFBUX0kyTyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX0FEVkFOU1lTIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfQVJDTVNSIGlzIG5vdCBzZXQKLSMgQ09ORklHX01FR0FSQUlEX05FV0dFTiBpcyBub3Qgc2V0Ci0jIENPTkZJR19NRUdBUkFJRF9MRUdBQ1kgaXMgbm90IHNldAotIyBDT05GSUdfTUVHQVJBSURfU0FTIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfSFBUSU9QIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfQlVTTE9HSUMgaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9ETVgzMTkxRCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX0VBVEEgaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9GVVRVUkVfRE9NQUlOIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfR0RUSCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX0lQUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX0lOSVRJTyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX0lOSUExMDAgaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9TVEVYIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfU1lNNTNDOFhYXzIgaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9JUFIgaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9RTE9HSUNfMTI4MCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX1FMQV9GQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX1FMQV9JU0NTSSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX0xQRkMgaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9EQzM5NXggaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9EQzM5MFQgaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9OU1AzMiBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX0RFQlVHIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfU1JQIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NDU0lfU1JQX0FUVFJTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NDU0lfTE9XTEVWRUwgaXMgbm90IHNldAorIyBDT05GSUdfU0NTSV9MT1dMRVZFTF9QQ01DSUEgaXMgbm90IHNldAogQ09ORklHX0FUQT15CiAjIENPTkZJR19BVEFfTk9OU1RBTkRBUkQgaXMgbm90IHNldAogQ09ORklHX0FUQV9BQ1BJPXkKK0NPTkZJR19TQVRBX1BNUD15CiBDT05GSUdfU0FUQV9BSENJPXkKLUNPTkZJR19TQVRBX1NWVz15CisjIENPTkZJR19TQVRBX1NJTDI0IGlzIG5vdCBzZXQKK0NPTkZJR19BVEFfU0ZGPXkKKyMgQ09ORklHX1NBVEFfU1ZXIGlzIG5vdCBzZXQKIENPTkZJR19BVEFfUElJWD15CiAjIENPTkZJR19TQVRBX01WIGlzIG5vdCBzZXQKLUNPTkZJR19TQVRBX05WPXkKKyMgQ09ORklHX1NBVEFfTlYgaXMgbm90IHNldAogIyBDT05GSUdfUERDX0FETUEgaXMgbm90IHNldAogIyBDT05GSUdfU0FUQV9RU1RPUiBpcyBub3Qgc2V0CiAjIENPTkZJR19TQVRBX1BST01JU0UgaXMgbm90IHNldAogIyBDT05GSUdfU0FUQV9TWDQgaXMgbm90IHNldAotQ09ORklHX1NBVEFfU0lMPXkKLSMgQ09ORklHX1NBVEFfU0lMMjQgaXMgbm90IHNldAorIyBDT05GSUdfU0FUQV9TSUwgaXMgbm90IHNldAogIyBDT05GSUdfU0FUQV9TSVMgaXMgbm90IHNldAogIyBDT05GSUdfU0FUQV9VTEkgaXMgbm90IHNldAotQ09ORklHX1NBVEFfVklBPXkKKyMgQ09ORklHX1NBVEFfVklBIGlzIG5vdCBzZXQKICMgQ09ORklHX1NBVEFfVklURVNTRSBpcyBub3Qgc2V0CiAjIENPTkZJR19TQVRBX0lOSUMxNjJYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfQUNQSSBpcyBub3Qgc2V0CiAjIENPTkZJR19QQVRBX0FMSSBpcyBub3Qgc2V0Ci0jIENPTkZJR19QQVRBX0FNRCBpcyBub3Qgc2V0CitDT05GSUdfUEFUQV9BTUQ9eQogIyBDT05GSUdfUEFUQV9BUlRPUCBpcyBub3Qgc2V0CiAjIENPTkZJR19QQVRBX0FUSUlYUCBpcyBub3Qgc2V0CiAjIENPTkZJR19QQVRBX0NNRDY0MF9QQ0kgaXMgbm90IHNldApAQCAtNjczLDYgKzgzOSw3IEBACiAjIENPTkZJR19QQVRBX0NTNTUyMCBpcyBub3Qgc2V0CiAjIENPTkZJR19QQVRBX0NTNTUzMCBpcyBub3Qgc2V0CiAjIENPTkZJR19QQVRBX0NTNTUzNSBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX0NTNTUzNiBpcyBub3Qgc2V0CiAjIENPTkZJR19QQVRBX0NZUFJFU1MgaXMgbm90IHNldAogIyBDT05GSUdfUEFUQV9FRkFSIGlzIG5vdCBzZXQKICMgQ09ORklHX0FUQV9HRU5FUklDIGlzIG5vdCBzZXQKQEAgLTY4NiwxMSArODUzLDE0IEBACiAjIENPTkZJR19QQVRBX1RSSUZMRVggaXMgbm90IHNldAogIyBDT05GSUdfUEFUQV9NQVJWRUxMIGlzIG5vdCBzZXQKICMgQ09ORklHX1BBVEFfTVBJSVggaXMgbm90IHNldAotIyBDT05GSUdfUEFUQV9PTERQSUlYIGlzIG5vdCBzZXQKK0NPTkZJR19QQVRBX09MRFBJSVg9eQogIyBDT05GSUdfUEFUQV9ORVRDRUxMIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfTklOSkEzMiBpcyBub3Qgc2V0CiAjIENPTkZJR19QQVRBX05TODc0MTAgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9OUzg3NDE1IGlzIG5vdCBzZXQKICMgQ09ORklHX1BBVEFfT1BUSSBpcyBub3Qgc2V0CiAjIENPTkZJR19QQVRBX09QVElETUEgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9QQ01DSUEgaXMgbm90IHNldAogIyBDT05GSUdfUEFUQV9QRENfT0xEIGlzIG5vdCBzZXQKICMgQ09ORklHX1BBVEFfUkFESVNZUyBpcyBub3Qgc2V0CiAjIENPTkZJR19QQVRBX1JaMTAwMCBpcyBub3Qgc2V0CkBAIC03MDIsNjUgKzg3Miw0MiBAQAogIyBDT05GSUdfUEFUQV9WSUEgaXMgbm90IHNldAogIyBDT05GSUdfUEFUQV9XSU5CT05EIGlzIG5vdCBzZXQKIENPTkZJR19NRD15Ci0jIENPTkZJR19CTEtfREVWX01EIGlzIG5vdCBzZXQKK0NPTkZJR19CTEtfREVWX01EPXkKKyMgQ09ORklHX01EX0xJTkVBUiBpcyBub3Qgc2V0CisjIENPTkZJR19NRF9SQUlEMCBpcyBub3Qgc2V0CisjIENPTkZJR19NRF9SQUlEMSBpcyBub3Qgc2V0CisjIENPTkZJR19NRF9SQUlEMTAgaXMgbm90IHNldAorIyBDT05GSUdfTURfUkFJRDQ1NiBpcyBub3Qgc2V0CisjIENPTkZJR19NRF9NVUxUSVBBVEggaXMgbm90IHNldAorIyBDT05GSUdfTURfRkFVTFRZIGlzIG5vdCBzZXQKIENPTkZJR19CTEtfREVWX0RNPXkKICMgQ09ORklHX0RNX0RFQlVHIGlzIG5vdCBzZXQKICMgQ09ORklHX0RNX0NSWVBUIGlzIG5vdCBzZXQKICMgQ09ORklHX0RNX1NOQVBTSE9UIGlzIG5vdCBzZXQKLSMgQ09ORklHX0RNX01JUlJPUiBpcyBub3Qgc2V0Ci0jIENPTkZJR19ETV9aRVJPIGlzIG5vdCBzZXQKK0NPTkZJR19ETV9NSVJST1I9eQorQ09ORklHX0RNX1pFUk89eQogIyBDT05GSUdfRE1fTVVMVElQQVRIIGlzIG5vdCBzZXQKICMgQ09ORklHX0RNX0RFTEFZIGlzIG5vdCBzZXQKLQotIwotIyBGdXNpb24gTVBUIGRldmljZSBzdXBwb3J0Ci0jCi1DT05GSUdfRlVTSU9OPXkKLUNPTkZJR19GVVNJT05fU1BJPXkKLSMgQ09ORklHX0ZVU0lPTl9GQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19GVVNJT05fU0FTIGlzIG5vdCBzZXQKLUNPTkZJR19GVVNJT05fTUFYX1NHRT0xMjgKLSMgQ09ORklHX0ZVU0lPTl9DVEwgaXMgbm90IHNldAorIyBDT05GSUdfRE1fVUVWRU5UIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZVU0lPTiBpcyBub3Qgc2V0CiAKICMKICMgSUVFRSAxMzk0IChGaXJlV2lyZSkgc3VwcG9ydAogIwogIyBDT05GSUdfRklSRVdJUkUgaXMgbm90IHNldAotQ09ORklHX0lFRUUxMzk0PXkKLQotIwotIyBTdWJzeXN0ZW0gT3B0aW9ucwotIwotIyBDT05GSUdfSUVFRTEzOTRfVkVSQk9TRURFQlVHIGlzIG5vdCBzZXQKLQotIwotIyBDb250cm9sbGVycwotIwotCi0jCi0jIFRleGFzIEluc3RydW1lbnRzIFBDSUx5bnggcmVxdWlyZXMgSTJDCi0jCi1DT05GSUdfSUVFRTEzOTRfT0hDSTEzOTQ9eQotCi0jCi0jIFByb3RvY29scwotIwotIyBDT05GSUdfSUVFRTEzOTRfVklERU8xMzk0IGlzIG5vdCBzZXQKLSMgQ09ORklHX0lFRUUxMzk0X1NCUDIgaXMgbm90IHNldAotIyBDT05GSUdfSUVFRTEzOTRfRVRIMTM5NF9ST01fRU5UUlkgaXMgbm90IHNldAotIyBDT05GSUdfSUVFRTEzOTRfRVRIMTM5NCBpcyBub3Qgc2V0Ci0jIENPTkZJR19JRUVFMTM5NF9EVjEzOTQgaXMgbm90IHNldAotQ09ORklHX0lFRUUxMzk0X1JBV0lPPXkKKyMgQ09ORklHX0lFRUUxMzk0IGlzIG5vdCBzZXQKICMgQ09ORklHX0kyTyBpcyBub3Qgc2V0CiBDT05GSUdfTUFDSU5UT1NIX0RSSVZFUlM9eQotIyBDT05GSUdfTUFDX0VNVU1PVVNFQlROIGlzIG5vdCBzZXQKK0NPTkZJR19NQUNfRU1VTU9VU0VCVE49eQogQ09ORklHX05FVERFVklDRVM9eQotQ09ORklHX05FVERFVklDRVNfTVVMVElRVUVVRT15CisjIENPTkZJR19ORVRERVZJQ0VTX01VTFRJUVVFVUUgaXMgbm90IHNldAorIyBDT05GSUdfSUZCIGlzIG5vdCBzZXQKICMgQ09ORklHX0RVTU1ZIGlzIG5vdCBzZXQKICMgQ09ORklHX0JPTkRJTkcgaXMgbm90IHNldAogIyBDT05GSUdfTUFDVkxBTiBpcyBub3Qgc2V0CiAjIENPTkZJR19FUVVBTElaRVIgaXMgbm90IHNldAogIyBDT05GSUdfVFVOIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZFVEggaXMgbm90IHNldAogIyBDT05GSUdfTkVUX1NCMTAwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNORVQgaXMgbm90IHNldAogIyBDT05GSUdfUEhZTElCIGlzIG5vdCBzZXQKQEAgLTc3MCwzOCArOTE3LDQwIEBACiAjIENPTkZJR19TVU5HRU0gaXMgbm90IHNldAogIyBDT05GSUdfQ0FTU0lOSSBpcyBub3Qgc2V0CiBDT05GSUdfTkVUX1ZFTkRPUl8zQ09NPXkKLUNPTkZJR19WT1JURVg9eQorIyBDT05GSUdfVk9SVEVYIGlzIG5vdCBzZXQKICMgQ09ORklHX1RZUEhPT04gaXMgbm90IHNldAogQ09ORklHX05FVF9UVUxJUD15CiAjIENPTkZJR19ERTIxMDRYIGlzIG5vdCBzZXQKLUNPTkZJR19UVUxJUD15Ci0jIENPTkZJR19UVUxJUF9NV0kgaXMgbm90IHNldAotIyBDT05GSUdfVFVMSVBfTU1JTyBpcyBub3Qgc2V0Ci0jIENPTkZJR19UVUxJUF9OQVBJIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RVTElQIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFNFg1IGlzIG5vdCBzZXQKICMgQ09ORklHX1dJTkJPTkRfODQwIGlzIG5vdCBzZXQKICMgQ09ORklHX0RNOTEwMiBpcyBub3Qgc2V0CiAjIENPTkZJR19VTEk1MjZYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BDTUNJQV9YSVJDT00gaXMgbm90IHNldAogIyBDT05GSUdfSFAxMDAgaXMgbm90IHNldAorIyBDT05GSUdfSUJNX05FV19FTUFDX1pNSUkgaXMgbm90IHNldAorIyBDT05GSUdfSUJNX05FV19FTUFDX1JHTUlJIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTV9ORVdfRU1BQ19UQUggaXMgbm90IHNldAorIyBDT05GSUdfSUJNX05FV19FTUFDX0VNQUM0IGlzIG5vdCBzZXQKIENPTkZJR19ORVRfUENJPXkKICMgQ09ORklHX1BDTkVUMzIgaXMgbm90IHNldAogIyBDT05GSUdfQU1EODExMV9FVEggaXMgbm90IHNldAogIyBDT05GSUdfQURBUFRFQ19TVEFSRklSRSBpcyBub3Qgc2V0Ci1DT05GSUdfQjQ0PXkKKyMgQ09ORklHX0I0NCBpcyBub3Qgc2V0CiBDT05GSUdfRk9SQ0VERVRIPXkKICMgQ09ORklHX0ZPUkNFREVUSF9OQVBJIGlzIG5vdCBzZXQKLSMgQ09ORklHX0RHUlMgaXMgbm90IHNldAogIyBDT05GSUdfRUVQUk8xMDAgaXMgbm90IHNldAogQ09ORklHX0UxMDA9eQogIyBDT05GSUdfRkVBTE5YIGlzIG5vdCBzZXQKICMgQ09ORklHX05BVFNFTUkgaXMgbm90IHNldAogIyBDT05GSUdfTkUyS19QQ0kgaXMgbm90IHNldAotQ09ORklHXzgxMzlDUD15CisjIENPTkZJR184MTM5Q1AgaXMgbm90IHNldAogQ09ORklHXzgxMzlUT089eQotIyBDT05GSUdfODEzOVRPT19QSU8gaXMgbm90IHNldAorQ09ORklHXzgxMzlUT09fUElPPXkKICMgQ09ORklHXzgxMzlUT09fVFVORV9UV0lTVEVSIGlzIG5vdCBzZXQKICMgQ09ORklHXzgxMzlUT09fODEyOSBpcyBub3Qgc2V0CiAjIENPTkZJR184MTM5X09MRF9SWF9SRVNFVCBpcyBub3Qgc2V0CisjIENPTkZJR19SNjA0MCBpcyBub3Qgc2V0CiAjIENPTkZJR19TSVM5MDAgaXMgbm90IHNldAogIyBDT05GSUdfRVBJQzEwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19TVU5EQU5DRSBpcyBub3Qgc2V0CkBAIC04MTQsMzQgKzk2Myw3NSBAQAogQ09ORklHX0UxMDAwPXkKICMgQ09ORklHX0UxMDAwX05BUEkgaXMgbm90IHNldAogIyBDT05GSUdfRTEwMDBfRElTQUJMRV9QQUNLRVRfU1BMSVQgaXMgbm90IHNldAorIyBDT05GSUdfRTEwMDBFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0UxMDAwRV9FTkFCTEVEIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lQMTAwMCBpcyBub3Qgc2V0CisjIENPTkZJR19JR0IgaXMgbm90IHNldAogIyBDT05GSUdfTlM4MzgyMCBpcyBub3Qgc2V0CiAjIENPTkZJR19IQU1BQ0hJIGlzIG5vdCBzZXQKICMgQ09ORklHX1lFTExPV0ZJTiBpcyBub3Qgc2V0Ci1DT05GSUdfUjgxNjk9eQotIyBDT05GSUdfUjgxNjlfTkFQSSBpcyBub3Qgc2V0CisjIENPTkZJR19SODE2OSBpcyBub3Qgc2V0CiAjIENPTkZJR19TSVMxOTAgaXMgbm90IHNldAogIyBDT05GSUdfU0tHRSBpcyBub3Qgc2V0CiBDT05GSUdfU0tZMj15CisjIENPTkZJR19TS1kyX0RFQlVHIGlzIG5vdCBzZXQKICMgQ09ORklHX1ZJQV9WRUxPQ0lUWSBpcyBub3Qgc2V0CiBDT05GSUdfVElHT04zPXkKLUNPTkZJR19CTlgyPXkKKyMgQ09ORklHX0JOWDIgaXMgbm90IHNldAogIyBDT05GSUdfUUxBM1hYWCBpcyBub3Qgc2V0CiAjIENPTkZJR19BVEwxIGlzIG5vdCBzZXQKIENPTkZJR19ORVRERVZfMTAwMDA9eQogIyBDT05GSUdfQ0hFTFNJT19UMSBpcyBub3Qgc2V0CiAjIENPTkZJR19DSEVMU0lPX1QzIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lYR0JFIGlzIG5vdCBzZXQKICMgQ09ORklHX0lYR0IgaXMgbm90IHNldAogIyBDT05GSUdfUzJJTyBpcyBub3Qgc2V0CiAjIENPTkZJR19NWVJJMTBHRSBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRYRU5fTklDIGlzIG5vdCBzZXQKKyMgQ09ORklHX05JVSBpcyBub3Qgc2V0CiAjIENPTkZJR19NTFg0X0NPUkUgaXMgbm90IHNldAotIyBDT05GSUdfVFIgaXMgbm90IHNldAorIyBDT05GSUdfVEVIVVRJIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JOWDJYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NGQyBpcyBub3Qgc2V0CitDT05GSUdfVFI9eQorIyBDT05GSUdfSUJNT0wgaXMgbm90IHNldAorIyBDT05GSUdfSUJNTFMgaXMgbm90IHNldAorIyBDT05GSUdfM0MzNTkgaXMgbm90IHNldAorIyBDT05GSUdfVE1TMzgwVFIgaXMgbm90IHNldAogCiAjCiAjIFdpcmVsZXNzIExBTgogIwogIyBDT05GSUdfV0xBTl9QUkU4MDIxMSBpcyBub3Qgc2V0Ci0jIENPTkZJR19XTEFOXzgwMjExIGlzIG5vdCBzZXQKK0NPTkZJR19XTEFOXzgwMjExPXkKKyMgQ09ORklHX1BDTUNJQV9SQVlDUyBpcyBub3Qgc2V0CisjIENPTkZJR19JUFcyMTAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lQVzIyMDAgaXMgbm90IHNldAorIyBDT05GSUdfTElCRVJUQVMgaXMgbm90IHNldAorIyBDT05GSUdfQUlSTyBpcyBub3Qgc2V0CisjIENPTkZJR19IRVJNRVMgaXMgbm90IHNldAorIyBDT05GSUdfQVRNRUwgaXMgbm90IHNldAorIyBDT05GSUdfQUlST19DUyBpcyBub3Qgc2V0CisjIENPTkZJR19QQ01DSUFfV0wzNTAxIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BSSVNNNTQgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1pEMTIwMSBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfTkVUX1JORElTX1dMQU4gaXMgbm90IHNldAorIyBDT05GSUdfUlRMODE4MCBpcyBub3Qgc2V0CisjIENPTkZJR19SVEw4MTg3IGlzIG5vdCBzZXQKKyMgQ09ORklHX0FETTgyMTEgaXMgbm90IHNldAorIyBDT05GSUdfUDU0X0NPTU1PTiBpcyBub3Qgc2V0CitDT05GSUdfQVRINUs9eQorIyBDT05GSUdfQVRINUtfREVCVUcgaXMgbm90IHNldAorIyBDT05GSUdfSVdMV0lGSSBpcyBub3Qgc2V0CisjIENPTkZJR19JV0xDT1JFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lXTFdJRklfTEVEUyBpcyBub3Qgc2V0CisjIENPTkZJR19JV0w0OTY1IGlzIG5vdCBzZXQKKyMgQ09ORklHX0lXTDM5NDUgaXMgbm90IHNldAorIyBDT05GSUdfSE9TVEFQIGlzIG5vdCBzZXQKKyMgQ09ORklHX0I0MyBpcyBub3Qgc2V0CisjIENPTkZJR19CNDNMRUdBQ1kgaXMgbm90IHNldAorIyBDT05GSUdfWkQxMjExUlcgaXMgbm90IHNldAorIyBDT05GSUdfUlQyWDAwIGlzIG5vdCBzZXQKIAogIwogIyBVU0IgTmV0d29yayBBZGFwdGVycwpAQCAtODUwLDE2ICsxMDQwLDI3IEBACiAjIENPTkZJR19VU0JfS0FXRVRIIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9QRUdBU1VTIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9SVEw4MTUwIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9VU0JORVRfTUlJIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9VU0JORVQgaXMgbm90IHNldAorQ09ORklHX05FVF9QQ01DSUE9eQorIyBDT05GSUdfUENNQ0lBXzNDNTg5IGlzIG5vdCBzZXQKKyMgQ09ORklHX1BDTUNJQV8zQzU3NCBpcyBub3Qgc2V0CisjIENPTkZJR19QQ01DSUFfRk1WSjE4WCBpcyBub3Qgc2V0CisjIENPTkZJR19QQ01DSUFfUENORVQgaXMgbm90IHNldAorIyBDT05GSUdfUENNQ0lBX05NQ0xBTiBpcyBub3Qgc2V0CisjIENPTkZJR19QQ01DSUFfU01DOTFDOTIgaXMgbm90IHNldAorIyBDT05GSUdfUENNQ0lBX1hJUkMyUFMgaXMgbm90IHNldAorIyBDT05GSUdfUENNQ0lBX0FYTkVUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BDTUNJQV9JQk1UUiBpcyBub3Qgc2V0CiAjIENPTkZJR19XQU4gaXMgbm90IHNldAotIyBDT05GSUdfRkRESSBpcyBub3Qgc2V0CitDT05GSUdfRkREST15CisjIENPTkZJR19ERUZYWCBpcyBub3Qgc2V0CisjIENPTkZJR19TS0ZQIGlzIG5vdCBzZXQKICMgQ09ORklHX0hJUFBJIGlzIG5vdCBzZXQKICMgQ09ORklHX1BQUCBpcyBub3Qgc2V0CiAjIENPTkZJR19TTElQIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVF9GQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TSEFQRVIgaXMgbm90IHNldAogQ09ORklHX05FVENPTlNPTEU9eQorIyBDT05GSUdfTkVUQ09OU09MRV9EWU5BTUlDIGlzIG5vdCBzZXQKIENPTkZJR19ORVRQT0xMPXkKICMgQ09ORklHX05FVFBPTExfVFJBUCBpcyBub3Qgc2V0CiBDT05GSUdfTkVUX1BPTExfQ09OVFJPTExFUj15CkBAIC04NzAsMTggKzEwNzEsMTcgQEAKICMgSW5wdXQgZGV2aWNlIHN1cHBvcnQKICMKIENPTkZJR19JTlBVVD15Ci0jIENPTkZJR19JTlBVVF9GRl9NRU1MRVNTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lOUFVUX1BPTExERVYgaXMgbm90IHNldAorQ09ORklHX0lOUFVUX0ZGX01FTUxFU1M9eQorQ09ORklHX0lOUFVUX1BPTExERVY9eQogCiAjCiAjIFVzZXJsYW5kIGludGVyZmFjZXMKICMKIENPTkZJR19JTlBVVF9NT1VTRURFVj15Ci1DT05GSUdfSU5QVVRfTU9VU0VERVZfUFNBVVg9eQorIyBDT05GSUdfSU5QVVRfTU9VU0VERVZfUFNBVVggaXMgbm90IHNldAogQ09ORklHX0lOUFVUX01PVVNFREVWX1NDUkVFTl9YPTEwMjQKIENPTkZJR19JTlBVVF9NT1VTRURFVl9TQ1JFRU5fWT03NjgKICMgQ09ORklHX0lOUFVUX0pPWURFViBpcyBub3Qgc2V0Ci0jIENPTkZJR19JTlBVVF9UU0RFViBpcyBub3Qgc2V0CiBDT05GSUdfSU5QVVRfRVZERVY9eQogIyBDT05GSUdfSU5QVVRfRVZCVUcgaXMgbm90IHNldAogCkBAIC05MDYsMTcgKzExMDYsNjMgQEAKICMgQ09ORklHX01PVVNFX1NFUklBTCBpcyBub3Qgc2V0CiAjIENPTkZJR19NT1VTRV9BUFBMRVRPVUNIIGlzIG5vdCBzZXQKICMgQ09ORklHX01PVVNFX1ZTWFhYQUEgaXMgbm90IHNldAotIyBDT05GSUdfSU5QVVRfSk9ZU1RJQ0sgaXMgbm90IHNldAotIyBDT05GSUdfSU5QVVRfVEFCTEVUIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lOUFVUX1RPVUNIU0NSRUVOIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lOUFVUX01JU0MgaXMgbm90IHNldAorQ09ORklHX0lOUFVUX0pPWVNUSUNLPXkKKyMgQ09ORklHX0pPWVNUSUNLX0FOQUxPRyBpcyBub3Qgc2V0CisjIENPTkZJR19KT1lTVElDS19BM0QgaXMgbm90IHNldAorIyBDT05GSUdfSk9ZU1RJQ0tfQURJIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pPWVNUSUNLX0NPQlJBIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pPWVNUSUNLX0dGMksgaXMgbm90IHNldAorIyBDT05GSUdfSk9ZU1RJQ0tfR1JJUCBpcyBub3Qgc2V0CisjIENPTkZJR19KT1lTVElDS19HUklQX01QIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pPWVNUSUNLX0dVSUxMRU1PVCBpcyBub3Qgc2V0CisjIENPTkZJR19KT1lTVElDS19JTlRFUkFDVCBpcyBub3Qgc2V0CisjIENPTkZJR19KT1lTVElDS19TSURFV0lOREVSIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pPWVNUSUNLX1RNREMgaXMgbm90IHNldAorIyBDT05GSUdfSk9ZU1RJQ0tfSUZPUkNFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pPWVNUSUNLX1dBUlJJT1IgaXMgbm90IHNldAorIyBDT05GSUdfSk9ZU1RJQ0tfTUFHRUxMQU4gaXMgbm90IHNldAorIyBDT05GSUdfSk9ZU1RJQ0tfU1BBQ0VPUkIgaXMgbm90IHNldAorIyBDT05GSUdfSk9ZU1RJQ0tfU1BBQ0VCQUxMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pPWVNUSUNLX1NUSU5HRVIgaXMgbm90IHNldAorIyBDT05GSUdfSk9ZU1RJQ0tfVFdJREpPWSBpcyBub3Qgc2V0CisjIENPTkZJR19KT1lTVElDS19aSEVOSFVBIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pPWVNUSUNLX0pPWURVTVAgaXMgbm90IHNldAorIyBDT05GSUdfSk9ZU1RJQ0tfWFBBRCBpcyBub3Qgc2V0CitDT05GSUdfSU5QVVRfVEFCTEVUPXkKKyMgQ09ORklHX1RBQkxFVF9VU0JfQUNFQ0FEIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RBQkxFVF9VU0JfQUlQVEVLIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RBQkxFVF9VU0JfR1RDTyBpcyBub3Qgc2V0CisjIENPTkZJR19UQUJMRVRfVVNCX0tCVEFCIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RBQkxFVF9VU0JfV0FDT00gaXMgbm90IHNldAorQ09ORklHX0lOUFVUX1RPVUNIU0NSRUVOPXkKKyMgQ09ORklHX1RPVUNIU0NSRUVOX0ZVSklUU1UgaXMgbm90IHNldAorIyBDT05GSUdfVE9VQ0hTQ1JFRU5fR1VOWkUgaXMgbm90IHNldAorIyBDT05GSUdfVE9VQ0hTQ1JFRU5fRUxPIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RPVUNIU0NSRUVOX01UT1VDSCBpcyBub3Qgc2V0CisjIENPTkZJR19UT1VDSFNDUkVFTl9NSzcxMiBpcyBub3Qgc2V0CisjIENPTkZJR19UT1VDSFNDUkVFTl9QRU5NT1VOVCBpcyBub3Qgc2V0CisjIENPTkZJR19UT1VDSFNDUkVFTl9UT1VDSFJJR0hUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RPVUNIU0NSRUVOX1RPVUNIV0lOIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RPVUNIU0NSRUVOX1VDQjE0MDAgaXMgbm90IHNldAorIyBDT05GSUdfVE9VQ0hTQ1JFRU5fVVNCX0NPTVBPU0lURSBpcyBub3Qgc2V0CitDT05GSUdfSU5QVVRfTUlTQz15CisjIENPTkZJR19JTlBVVF9QQ1NQS1IgaXMgbm90IHNldAorIyBDT05GSUdfSU5QVVRfQVBBTkVMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOUFVUX1dJU1RST05fQlROUyBpcyBub3Qgc2V0CisjIENPTkZJR19JTlBVVF9BVExBU19CVE5TIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOUFVUX0FUSV9SRU1PVEUgaXMgbm90IHNldAorIyBDT05GSUdfSU5QVVRfQVRJX1JFTU9URTIgaXMgbm90IHNldAorIyBDT05GSUdfSU5QVVRfS0VZU1BBTl9SRU1PVEUgaXMgbm90IHNldAorIyBDT05GSUdfSU5QVVRfUE9XRVJNQVRFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOUFVUX1lFQUxJTksgaXMgbm90IHNldAorIyBDT05GSUdfSU5QVVRfVUlOUFVUIGlzIG5vdCBzZXQKIAogIwogIyBIYXJkd2FyZSBJL08gcG9ydHMKICMKIENPTkZJR19TRVJJTz15CiBDT05GSUdfU0VSSU9fSTgwNDI9eQotIyBDT05GSUdfU0VSSU9fU0VSUE9SVCBpcyBub3Qgc2V0CitDT05GSUdfU0VSSU9fU0VSUE9SVD15CiAjIENPTkZJR19TRVJJT19DVDgyQzcxMCBpcyBub3Qgc2V0CiAjIENPTkZJR19TRVJJT19QQ0lQUzIgaXMgbm90IHNldAogQ09ORklHX1NFUklPX0xJQlBTMj15CkBAIC05MjksOCArMTE3NSwyNiBAQAogQ09ORklHX1ZUPXkKIENPTkZJR19WVF9DT05TT0xFPXkKIENPTkZJR19IV19DT05TT0xFPXkKLSMgQ09ORklHX1ZUX0hXX0NPTlNPTEVfQklORElORyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TRVJJQUxfTk9OU1RBTkRBUkQgaXMgbm90IHNldAorQ09ORklHX1ZUX0hXX0NPTlNPTEVfQklORElORz15CitDT05GSUdfREVWS01FTT15CitDT05GSUdfU0VSSUFMX05PTlNUQU5EQVJEPXkKKyMgQ09ORklHX0NPTVBVVE9ORSBpcyBub3Qgc2V0CisjIENPTkZJR19ST0NLRVRQT1JUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NZQ0xBREVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RJR0lFUENBIGlzIG5vdCBzZXQKKyMgQ09ORklHX01PWEFfSU5URUxMSU8gaXMgbm90IHNldAorIyBDT05GSUdfTU9YQV9TTUFSVElPIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lTSSBpcyBub3Qgc2V0CisjIENPTkZJR19TWU5DTElOSyBpcyBub3Qgc2V0CisjIENPTkZJR19TWU5DTElOS01QIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NZTkNMSU5LX0dUIGlzIG5vdCBzZXQKKyMgQ09ORklHX05fSERMQyBpcyBub3Qgc2V0CisjIENPTkZJR19SSVNDT004IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NQRUNJQUxJWCBpcyBub3Qgc2V0CisjIENPTkZJR19TWCBpcyBub3Qgc2V0CisjIENPTkZJR19SSU8gaXMgbm90IHNldAorIyBDT05GSUdfU1RBTERSViBpcyBub3Qgc2V0CisjIENPTkZJR19OT1pPTUkgaXMgbm90IHNldAogCiAjCiAjIFNlcmlhbCBkcml2ZXJzCkBAIC05NDAsOSArMTIwNCwxNCBAQAogQ09ORklHX0ZJWF9FQVJMWUNPTl9NRU09eQogQ09ORklHX1NFUklBTF84MjUwX1BDST15CiBDT05GSUdfU0VSSUFMXzgyNTBfUE5QPXkKLUNPTkZJR19TRVJJQUxfODI1MF9OUl9VQVJUUz00CisjIENPTkZJR19TRVJJQUxfODI1MF9DUyBpcyBub3Qgc2V0CitDT05GSUdfU0VSSUFMXzgyNTBfTlJfVUFSVFM9MzIKIENPTkZJR19TRVJJQUxfODI1MF9SVU5USU1FX1VBUlRTPTQKLSMgQ09ORklHX1NFUklBTF84MjUwX0VYVEVOREVEIGlzIG5vdCBzZXQKK0NPTkZJR19TRVJJQUxfODI1MF9FWFRFTkRFRD15CitDT05GSUdfU0VSSUFMXzgyNTBfTUFOWV9QT1JUUz15CitDT05GSUdfU0VSSUFMXzgyNTBfU0hBUkVfSVJRPXkKK0NPTkZJR19TRVJJQUxfODI1MF9ERVRFQ1RfSVJRPXkKK0NPTkZJR19TRVJJQUxfODI1MF9SU0E9eQogCiAjCiAjIE5vbi04MjUwIHNlcmlhbCBwb3J0IHN1cHBvcnQKQEAgLTk1MSwyMCArMTIyMCwxNjggQEAKIENPTkZJR19TRVJJQUxfQ09SRV9DT05TT0xFPXkKICMgQ09ORklHX1NFUklBTF9KU00gaXMgbm90IHNldAogQ09ORklHX1VOSVg5OF9QVFlTPXkKLUNPTkZJR19MRUdBQ1lfUFRZUz15Ci1DT05GSUdfTEVHQUNZX1BUWV9DT1VOVD0yNTYKKyMgQ09ORklHX0xFR0FDWV9QVFlTIGlzIG5vdCBzZXQKICMgQ09ORklHX0lQTUlfSEFORExFUiBpcyBub3Qgc2V0Ci0jIENPTkZJR19XQVRDSERPRyBpcyBub3Qgc2V0CiBDT05GSUdfSFdfUkFORE9NPXkKLUNPTkZJR19IV19SQU5ET01fSU5URUw9eQotQ09ORklHX0hXX1JBTkRPTV9BTUQ9eQorIyBDT05GSUdfSFdfUkFORE9NX0lOVEVMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hXX1JBTkRPTV9BTUQgaXMgbm90IHNldAogQ09ORklHX0hXX1JBTkRPTV9HRU9ERT15CiBDT05GSUdfSFdfUkFORE9NX1ZJQT15Ci0jIENPTkZJR19OVlJBTSBpcyBub3Qgc2V0Ci1DT05GSUdfUlRDPXkKK0NPTkZJR19OVlJBTT15CiAjIENPTkZJR19SMzk2NCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUFBMSUNPTSBpcyBub3Qgc2V0CiAjIENPTkZJR19TT05ZUEkgaXMgbm90IHNldAorCisjCisjIFBDTUNJQSBjaGFyYWN0ZXIgZGV2aWNlcworIworIyBDT05GSUdfU1lOQ0xJTktfQ1MgaXMgbm90IHNldAorIyBDT05GSUdfQ0FSRE1BTl80MDAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NBUkRNQU5fNDA0MCBpcyBub3Qgc2V0CisjIENPTkZJR19JUFdJUkVMRVNTIGlzIG5vdCBzZXQKKyMgQ09ORklHX01XQVZFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BDODczNnhfR1BJTyBpcyBub3Qgc2V0CisjIENPTkZJR19OU0NfR1BJTyBpcyBub3Qgc2V0CisjIENPTkZJR19DUzU1MzVfR1BJTyBpcyBub3Qgc2V0CisjIENPTkZJR19SQVdfRFJJVkVSIGlzIG5vdCBzZXQKK0NPTkZJR19IUEVUPXkKKyMgQ09ORklHX0hQRVRfUlRDX0lSUSBpcyBub3Qgc2V0CisjIENPTkZJR19IUEVUX01NQVAgaXMgbm90IHNldAorIyBDT05GSUdfSEFOR0NIRUNLX1RJTUVSIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RDR19UUE0gaXMgbm90IHNldAorIyBDT05GSUdfVEVMQ0xPQ0sgaXMgbm90IHNldAorQ09ORklHX0RFVlBPUlQ9eQorQ09ORklHX0kyQz15CitDT05GSUdfSTJDX0JPQVJESU5GTz15CisjIENPTkZJR19JMkNfQ0hBUkRFViBpcyBub3Qgc2V0CisKKyMKKyMgSTJDIEhhcmR3YXJlIEJ1cyBzdXBwb3J0CisjCisjIENPTkZJR19JMkNfQUxJMTUzNSBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfQUxJMTU2MyBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfQUxJMTVYMyBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfQU1ENzU2IGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19BTUQ4MTExIGlzIG5vdCBzZXQKK0NPTkZJR19JMkNfSTgwMT15CisjIENPTkZJR19JMkNfSTgxMCBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfUElJWDQgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX05GT1JDRTIgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX09DT1JFUyBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfUEFSUE9SVF9MSUdIVCBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfUFJPU0FWQUdFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19TQVZBR0U0IGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19TSU1URUMgaXMgbm90IHNldAorIyBDT05GSUdfU0N4MjAwX0FDQiBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfU0lTNTU5NSBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfU0lTNjMwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19TSVM5NlggaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1RBT1NfRVZNIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19TVFVCIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19USU5ZX1VTQiBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfVklBIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19WSUFQUk8gaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1ZPT0RPTzMgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1BDQV9QTEFURk9STSBpcyBub3Qgc2V0CisKKyMKKyMgTWlzY2VsbGFuZW91cyBJMkMgQ2hpcCBzdXBwb3J0CisjCisjIENPTkZJR19EUzE2ODIgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19FRVBST00gaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19QQ0Y4NTc0IGlzIG5vdCBzZXQKKyMgQ09ORklHX1BDRjg1NzUgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19QQ0Y4NTkxIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfTUFYNjg3NSBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX1RTTDI1NTAgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0RFQlVHX0NPUkUgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0RFQlVHX0FMR08gaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0RFQlVHX0JVUyBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfREVCVUdfQ0hJUCBpcyBub3Qgc2V0CisjIENPTkZJR19TUEkgaXMgbm90IHNldAorIyBDT05GSUdfVzEgaXMgbm90IHNldAorQ09ORklHX1BPV0VSX1NVUFBMWT15CisjIENPTkZJR19QT1dFUl9TVVBQTFlfREVCVUcgaXMgbm90IHNldAorIyBDT05GSUdfUERBX1BPV0VSIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JBVFRFUllfRFMyNzYwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hXTU9OIGlzIG5vdCBzZXQKK0NPTkZJR19USEVSTUFMPXkKK0NPTkZJR19XQVRDSERPRz15CisjIENPTkZJR19XQVRDSERPR19OT1dBWU9VVCBpcyBub3Qgc2V0CisKKyMKKyMgV2F0Y2hkb2cgRGV2aWNlIERyaXZlcnMKKyMKKyMgQ09ORklHX1NPRlRfV0FUQ0hET0cgaXMgbm90IHNldAorIyBDT05GSUdfQUNRVUlSRV9XRFQgaXMgbm90IHNldAorIyBDT05GSUdfQURWQU5URUNIX1dEVCBpcyBub3Qgc2V0CisjIENPTkZJR19BTElNMTUzNV9XRFQgaXMgbm90IHNldAorIyBDT05GSUdfQUxJTTcxMDFfV0RUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NDNTIwX1dEVCBpcyBub3Qgc2V0CisjIENPTkZJR19FVVJPVEVDSF9XRFQgaXMgbm90IHNldAorIyBDT05GSUdfSUI3MDBfV0RUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTUFTUiBpcyBub3Qgc2V0CisjIENPTkZJR19XQUZFUl9XRFQgaXMgbm90IHNldAorIyBDT05GSUdfSTYzMDBFU0JfV0RUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lUQ09fV0RUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lUODcxMkZfV0RUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hQX1dBVENIRE9HIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NDMTIwMF9XRFQgaXMgbm90IHNldAorIyBDT05GSUdfUEM4NzQxM19XRFQgaXMgbm90IHNldAorIyBDT05GSUdfNjBYWF9XRFQgaXMgbm90IHNldAorIyBDT05GSUdfU0JDODM2MF9XRFQgaXMgbm90IHNldAorIyBDT05GSUdfU0JDNzI0MF9XRFQgaXMgbm90IHNldAorIyBDT05GSUdfQ1BVNV9XRFQgaXMgbm90IHNldAorIyBDT05GSUdfU01TQzM3Qjc4N19XRFQgaXMgbm90IHNldAorIyBDT05GSUdfVzgzNjI3SEZfV0RUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1c4MzY5N0hGX1dEVCBpcyBub3Qgc2V0CisjIENPTkZJR19XODM4NzdGX1dEVCBpcyBub3Qgc2V0CisjIENPTkZJR19XODM5NzdGX1dEVCBpcyBub3Qgc2V0CisjIENPTkZJR19NQUNIWl9XRFQgaXMgbm90IHNldAorIyBDT05GSUdfU0JDX0VQWF9DM19XQVRDSERPRyBpcyBub3Qgc2V0CisKKyMKKyMgUENJLWJhc2VkIFdhdGNoZG9nIENhcmRzCisjCisjIENPTkZJR19QQ0lQQ1dBVENIRE9HIGlzIG5vdCBzZXQKKyMgQ09ORklHX1dEVFBDSSBpcyBub3Qgc2V0CisKKyMKKyMgVVNCLWJhc2VkIFdhdGNoZG9nIENhcmRzCisjCisjIENPTkZJR19VU0JQQ1dBVENIRE9HIGlzIG5vdCBzZXQKKworIworIyBTb25pY3MgU2lsaWNvbiBCYWNrcGxhbmUKKyMKK0NPTkZJR19TU0JfUE9TU0lCTEU9eQorIyBDT05GSUdfU1NCIGlzIG5vdCBzZXQKKworIworIyBNdWx0aWZ1bmN0aW9uIGRldmljZSBkcml2ZXJzCisjCisjIENPTkZJR19NRkRfU001MDEgaXMgbm90IHNldAorIyBDT05GSUdfSFRDX1BBU0lDMyBpcyBub3Qgc2V0CisKKyMKKyMgTXVsdGltZWRpYSBkZXZpY2VzCisjCisKKyMKKyMgTXVsdGltZWRpYSBjb3JlIHN1cHBvcnQKKyMKKyMgQ09ORklHX1ZJREVPX0RFViBpcyBub3Qgc2V0CisjIENPTkZJR19EVkJfQ09SRSBpcyBub3Qgc2V0CisKKyMKKyMgTXVsdGltZWRpYSBkcml2ZXJzCisjCitDT05GSUdfREFCPXkKKyMgQ09ORklHX1VTQl9EQUJVU0IgaXMgbm90IHNldAorCisjCisjIEdyYXBoaWNzIHN1cHBvcnQKKyMKIENPTkZJR19BR1A9eQogIyBDT05GSUdfQUdQX0FMSSBpcyBub3Qgc2V0CiAjIENPTkZJR19BR1BfQVRJIGlzIG5vdCBzZXQKQEAgLTk3Niw2NCArMTM5MywxMDIgQEAKICMgQ09ORklHX0FHUF9TV09SS1MgaXMgbm90IHNldAogIyBDT05GSUdfQUdQX1ZJQSBpcyBub3Qgc2V0CiAjIENPTkZJR19BR1BfRUZGSUNFT04gaXMgbm90IHNldAotIyBDT05GSUdfRFJNIGlzIG5vdCBzZXQKLSMgQ09ORklHX01XQVZFIGlzIG5vdCBzZXQKLSMgQ09ORklHX1BDODczNnhfR1BJTyBpcyBub3Qgc2V0Ci0jIENPTkZJR19OU0NfR1BJTyBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUzU1MzVfR1BJTyBpcyBub3Qgc2V0Ci1DT05GSUdfUkFXX0RSSVZFUj15Ci1DT05GSUdfTUFYX1JBV19ERVZTPTI1NgotQ09ORklHX0hQRVQ9eQotIyBDT05GSUdfSFBFVF9SVENfSVJRIGlzIG5vdCBzZXQKLUNPTkZJR19IUEVUX01NQVA9eQotIyBDT05GSUdfSEFOR0NIRUNLX1RJTUVSIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RDR19UUE0gaXMgbm90IHNldAotIyBDT05GSUdfVEVMQ0xPQ0sgaXMgbm90IHNldAotQ09ORklHX0RFVlBPUlQ9eQotIyBDT05GSUdfSTJDIGlzIG5vdCBzZXQKK0NPTkZJR19EUk09eQorIyBDT05GSUdfRFJNX1RERlggaXMgbm90IHNldAorIyBDT05GSUdfRFJNX1IxMjggaXMgbm90IHNldAorIyBDT05GSUdfRFJNX1JBREVPTiBpcyBub3Qgc2V0CisjIENPTkZJR19EUk1fSTgxMCBpcyBub3Qgc2V0CisjIENPTkZJR19EUk1fSTgzMCBpcyBub3Qgc2V0CitDT05GSUdfRFJNX0k5MTU9eQorIyBDT05GSUdfRFJNX01HQSBpcyBub3Qgc2V0CisjIENPTkZJR19EUk1fU0lTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RSTV9WSUEgaXMgbm90IHNldAorIyBDT05GSUdfRFJNX1NBVkFHRSBpcyBub3Qgc2V0CisjIENPTkZJR19WR0FTVEFURSBpcyBub3Qgc2V0CisjIENPTkZJR19WSURFT19PVVRQVVRfQ09OVFJPTCBpcyBub3Qgc2V0CitDT05GSUdfRkI9eQorIyBDT05GSUdfRklSTVdBUkVfRURJRCBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9EREMgaXMgbm90IHNldAorQ09ORklHX0ZCX0NGQl9GSUxMUkVDVD15CitDT05GSUdfRkJfQ0ZCX0NPUFlBUkVBPXkKK0NPTkZJR19GQl9DRkJfSU1BR0VCTElUPXkKKyMgQ09ORklHX0ZCX0NGQl9SRVZfUElYRUxTX0lOX0JZVEUgaXMgbm90IHNldAorIyBDT05GSUdfRkJfU1lTX0ZJTExSRUNUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX1NZU19DT1BZQVJFQSBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9TWVNfSU1BR0VCTElUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX0ZPUkVJR05fRU5ESUFOIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX1NZU19GT1BTIGlzIG5vdCBzZXQKK0NPTkZJR19GQl9ERUZFUlJFRF9JTz15CisjIENPTkZJR19GQl9TVkdBTElCIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX01BQ01PREVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX0JBQ0tMSUdIVCBpcyBub3Qgc2V0CitDT05GSUdfRkJfTU9ERV9IRUxQRVJTPXkKK0NPTkZJR19GQl9USUxFQkxJVFRJTkc9eQogCiAjCi0jIFNQSSBzdXBwb3J0CisjIEZyYW1lIGJ1ZmZlciBoYXJkd2FyZSBkcml2ZXJzCiAjCi0jIENPTkZJR19TUEkgaXMgbm90IHNldAotIyBDT05GSUdfU1BJX01BU1RFUiBpcyBub3Qgc2V0Ci0jIENPTkZJR19XMSBpcyBub3Qgc2V0Ci0jIENPTkZJR19QT1dFUl9TVVBQTFkgaXMgbm90IHNldAotIyBDT05GSUdfSFdNT04gaXMgbm90IHNldAotCi0jCi0jIE11bHRpZnVuY3Rpb24gZGV2aWNlIGRyaXZlcnMKLSMKLSMgQ09ORklHX01GRF9TTTUwMSBpcyBub3Qgc2V0Ci0KLSMKLSMgTXVsdGltZWRpYSBkZXZpY2VzCi0jCi0jIENPTkZJR19WSURFT19ERVYgaXMgbm90IHNldAotIyBDT05GSUdfRFZCX0NPUkUgaXMgbm90IHNldAotQ09ORklHX0RBQj15Ci0jIENPTkZJR19VU0JfREFCVVNCIGlzIG5vdCBzZXQKLQotIwotIyBHcmFwaGljcyBzdXBwb3J0Ci0jCi0jIENPTkZJR19CQUNLTElHSFRfTENEX1NVUFBPUlQgaXMgbm90IHNldAorIyBDT05GSUdfRkJfQ0lSUlVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX1BNMiBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9DWUJFUjIwMDAgaXMgbm90IHNldAorIyBDT05GSUdfRkJfQVJDIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX0FTSUxJQU5UIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX0lNU1RUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX1ZHQTE2IGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX1VWRVNBIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX1ZFU0EgaXMgbm90IHNldAorQ09ORklHX0ZCX0VGST15CisjIENPTkZJR19GQl9JTUFDIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX040MTEgaXMgbm90IHNldAorIyBDT05GSUdfRkJfSEdBIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX1MxRDEzWFhYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX05WSURJQSBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9SSVZBIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX0k4MTAgaXMgbm90IHNldAorIyBDT05GSUdfRkJfTEU4MDU3OCBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9JTlRFTCBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9NQVRST1ggaXMgbm90IHNldAorIyBDT05GSUdfRkJfUkFERU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX0FUWTEyOCBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9BVFkgaXMgbm90IHNldAorIyBDT05GSUdfRkJfUzMgaXMgbm90IHNldAorIyBDT05GSUdfRkJfU0FWQUdFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX1NJUyBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9ORU9NQUdJQyBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9LWVJPIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCXzNERlggaXMgbm90IHNldAorIyBDT05GSUdfRkJfVk9PRE9PMSBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9WVDg2MjMgaXMgbm90IHNldAorIyBDT05GSUdfRkJfQ1lCTEEgaXMgbm90IHNldAorIyBDT05GSUdfRkJfVFJJREVOVCBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9BUksgaXMgbm90IHNldAorIyBDT05GSUdfRkJfUE0zIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX0dFT0RFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX1ZJUlRVQUwgaXMgbm90IHNldAorQ09ORklHX0JBQ0tMSUdIVF9MQ0RfU1VQUE9SVD15CisjIENPTkZJR19MQ0RfQ0xBU1NfREVWSUNFIGlzIG5vdCBzZXQKK0NPTkZJR19CQUNLTElHSFRfQ0xBU1NfREVWSUNFPXkKKyMgQ09ORklHX0JBQ0tMSUdIVF9DT1JHSSBpcyBub3Qgc2V0CisjIENPTkZJR19CQUNLTElHSFRfUFJPR0VBUiBpcyBub3Qgc2V0CiAKICMKICMgRGlzcGxheSBkZXZpY2Ugc3VwcG9ydAogIwogIyBDT05GSUdfRElTUExBWV9TVVBQT1JUIGlzIG5vdCBzZXQKLSMgQ09ORklHX1ZHQVNUQVRFIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCIGlzIG5vdCBzZXQKIAogIwogIyBDb25zb2xlIGRpc3BsYXkgZHJpdmVyIHN1cHBvcnQKICMKIENPTkZJR19WR0FfQ09OU09MRT15CiBDT05GSUdfVkdBQ09OX1NPRlRfU0NST0xMQkFDSz15Ci1DT05GSUdfVkdBQ09OX1NPRlRfU0NST0xMQkFDS19TSVpFPTEyOAorQ09ORklHX1ZHQUNPTl9TT0ZUX1NDUk9MTEJBQ0tfU0laRT02NAogQ09ORklHX1ZJREVPX1NFTEVDVD15CiBDT05GSUdfRFVNTVlfQ09OU09MRT15CisjIENPTkZJR19GUkFNRUJVRkZFUl9DT05TT0xFIGlzIG5vdCBzZXQKK0NPTkZJR19MT0dPPXkKKyMgQ09ORklHX0xPR09fTElOVVhfTU9OTyBpcyBub3Qgc2V0CisjIENPTkZJR19MT0dPX0xJTlVYX1ZHQTE2IGlzIG5vdCBzZXQKK0NPTkZJR19MT0dPX0xJTlVYX0NMVVQyMjQ9eQogCiAjCiAjIFNvdW5kCkBAIC0xMDQzLDMzICsxNDk4LDE2NyBAQAogIwogIyBBZHZhbmNlZCBMaW51eCBTb3VuZCBBcmNoaXRlY3R1cmUKICMKLSMgQ09ORklHX1NORCBpcyBub3Qgc2V0CitDT05GSUdfU05EPXkKK0NPTkZJR19TTkRfVElNRVI9eQorQ09ORklHX1NORF9QQ009eQorQ09ORklHX1NORF9IV0RFUD15CitDT05GSUdfU05EX1NFUVVFTkNFUj15CitDT05GSUdfU05EX1NFUV9EVU1NWT15CitDT05GSUdfU05EX09TU0VNVUw9eQorQ09ORklHX1NORF9NSVhFUl9PU1M9eQorQ09ORklHX1NORF9QQ01fT1NTPXkKK0NPTkZJR19TTkRfUENNX09TU19QTFVHSU5TPXkKK0NPTkZJR19TTkRfU0VRVUVOQ0VSX09TUz15CitDT05GSUdfU05EX0RZTkFNSUNfTUlOT1JTPXkKK0NPTkZJR19TTkRfU1VQUE9SVF9PTERfQVBJPXkKK0NPTkZJR19TTkRfVkVSQk9TRV9QUk9DRlM9eQorIyBDT05GSUdfU05EX1ZFUkJPU0VfUFJJTlRLIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9ERUJVRyBpcyBub3Qgc2V0CitDT05GSUdfU05EX1ZNQVNURVI9eQorCisjCisjIEdlbmVyaWMgZGV2aWNlcworIworIyBDT05GSUdfU05EX1BDU1AgaXMgbm90IHNldAorIyBDT05GSUdfU05EX0RVTU1ZIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9WSVJNSURJIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9NVFBBViBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfU0VSSUFMX1UxNjU1MCBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfTVBVNDAxIGlzIG5vdCBzZXQKKworIworIyBQQ0kgZGV2aWNlcworIworIyBDT05GSUdfU05EX0FEMTg4OSBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfQUxTMzAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9BTFM0MDAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9BTEk1NDUxIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9BVElJWFAgaXMgbm90IHNldAorIyBDT05GSUdfU05EX0FUSUlYUF9NT0RFTSBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfQVU4ODEwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9BVTg4MjAgaXMgbm90IHNldAorIyBDT05GSUdfU05EX0FVODgzMCBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfQVcyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9BWlQzMzI4IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9CVDg3WCBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfQ0EwMTA2IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9DTUlQQ0kgaXMgbm90IHNldAorIyBDT05GSUdfU05EX09YWUdFTiBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfQ1M0MjgxIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9DUzQ2WFggaXMgbm90IHNldAorIyBDT05GSUdfU05EX0NTNTUzMCBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfQ1M1NTM1QVVESU8gaXMgbm90IHNldAorIyBDT05GSUdfU05EX0RBUkxBMjAgaXMgbm90IHNldAorIyBDT05GSUdfU05EX0dJTkEyMCBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfTEFZTEEyMCBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfREFSTEEyNCBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfR0lOQTI0IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9MQVlMQTI0IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9NT05BIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9NSUEgaXMgbm90IHNldAorIyBDT05GSUdfU05EX0VDSE8zRyBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfSU5ESUdPIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9JTkRJR09JTyBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfSU5ESUdPREogaXMgbm90IHNldAorIyBDT05GSUdfU05EX0VNVTEwSzEgaXMgbm90IHNldAorIyBDT05GSUdfU05EX0VNVTEwSzFYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9FTlMxMzcwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9FTlMxMzcxIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9FUzE5MzggaXMgbm90IHNldAorIyBDT05GSUdfU05EX0VTMTk2OCBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfRk04MDEgaXMgbm90IHNldAorQ09ORklHX1NORF9IREFfSU5URUw9eQorQ09ORklHX1NORF9IREFfSFdERVA9eQorQ09ORklHX1NORF9IREFfQ09ERUNfUkVBTFRFSz15CitDT05GSUdfU05EX0hEQV9DT0RFQ19BTkFMT0c9eQorQ09ORklHX1NORF9IREFfQ09ERUNfU0lHTUFURUw9eQorQ09ORklHX1NORF9IREFfQ09ERUNfVklBPXkKK0NPTkZJR19TTkRfSERBX0NPREVDX0FUSUhETUk9eQorQ09ORklHX1NORF9IREFfQ09ERUNfQ09ORVhBTlQ9eQorQ09ORklHX1NORF9IREFfQ09ERUNfQ01FRElBPXkKK0NPTkZJR19TTkRfSERBX0NPREVDX1NJMzA1ND15CitDT05GSUdfU05EX0hEQV9HRU5FUklDPXkKKyMgQ09ORklHX1NORF9IREFfUE9XRVJfU0FWRSBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfSERTUCBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfSERTUE0gaXMgbm90IHNldAorIyBDT05GSUdfU05EX0hJRklFUiBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfSUNFMTcxMiBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfSUNFMTcyNCBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfSU5URUw4WDAgaXMgbm90IHNldAorIyBDT05GSUdfU05EX0lOVEVMOFgwTSBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfS09SRzEyMTIgaXMgbm90IHNldAorIyBDT05GSUdfU05EX01BRVNUUk8zIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9NSVhBUlQgaXMgbm90IHNldAorIyBDT05GSUdfU05EX05NMjU2IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9QQ1hIUiBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfUklQVElERSBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfUk1FMzIgaXMgbm90IHNldAorIyBDT05GSUdfU05EX1JNRTk2IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9STUU5NjUyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9TSVM3MDE5IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9TT05JQ1ZJQkVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9UUklERU5UIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9WSUE4MlhYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9WSUE4MlhYX01PREVNIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9WSVJUVU9TTyBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfVlgyMjIgaXMgbm90IHNldAorIyBDT05GSUdfU05EX1lNRlBDSSBpcyBub3Qgc2V0CisKKyMKKyMgVVNCIGRldmljZXMKKyMKKyMgQ09ORklHX1NORF9VU0JfQVVESU8gaXMgbm90IHNldAorIyBDT05GSUdfU05EX1VTQl9VU1gyWSBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfVVNCX0NBSUFRIGlzIG5vdCBzZXQKKworIworIyBQQ01DSUEgZGV2aWNlcworIworIyBDT05GSUdfU05EX1ZYUE9DS0VUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9QREFVRElPQ0YgaXMgbm90IHNldAorCisjCisjIFN5c3RlbSBvbiBDaGlwIGF1ZGlvIHN1cHBvcnQKKyMKKyMgQ09ORklHX1NORF9TT0MgaXMgbm90IHNldAorCisjCisjIEFMU0EgU29DIGF1ZGlvIGZvciBGcmVlc2NhbGUgU09DcworIworCisjCisjIFNvQyBBdWRpbyBmb3IgdGhlIFRleGFzIEluc3RydW1lbnRzIE9NQVAKKyMKIAogIwogIyBPcGVuIFNvdW5kIFN5c3RlbQogIwotQ09ORklHX1NPVU5EX1BSSU1FPXkKLSMgQ09ORklHX1NPVU5EX1RSSURFTlQgaXMgbm90IHNldAotIyBDT05GSUdfU09VTkRfTVNORENMQVMgaXMgbm90IHNldAotIyBDT05GSUdfU09VTkRfTVNORFBJTiBpcyBub3Qgc2V0Ci0jIENPTkZJR19TT1VORF9PU1MgaXMgbm90IHNldAorIyBDT05GSUdfU09VTkRfUFJJTUUgaXMgbm90IHNldAogQ09ORklHX0hJRF9TVVBQT1JUPXkKIENPTkZJR19ISUQ9eQotIyBDT05GSUdfSElEX0RFQlVHIGlzIG5vdCBzZXQKK0NPTkZJR19ISURfREVCVUc9eQorQ09ORklHX0hJRFJBVz15CiAKICMKICMgVVNCIElucHV0IERldmljZXMKICMKIENPTkZJR19VU0JfSElEPXkKLSMgQ09ORklHX1VTQl9ISURJTlBVVF9QT1dFUkJPT0sgaXMgbm90IHNldAotIyBDT05GSUdfSElEX0ZGIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9ISURERVYgaXMgbm90IHNldAorQ09ORklHX1VTQl9ISURJTlBVVF9QT1dFUkJPT0s9eQorQ09ORklHX0hJRF9GRj15CitDT05GSUdfSElEX1BJRD15CitDT05GSUdfTE9HSVRFQ0hfRkY9eQorIyBDT05GSUdfTE9HSVJVTUJMRVBBRDJfRkYgaXMgbm90IHNldAorQ09ORklHX1BBTlRIRVJMT1JEX0ZGPXkKK0NPTkZJR19USFJVU1RNQVNURVJfRkY9eQorQ09ORklHX1pFUk9QTFVTX0ZGPXkKK0NPTkZJR19VU0JfSElEREVWPXkKIENPTkZJR19VU0JfU1VQUE9SVD15CiBDT05GSUdfVVNCX0FSQ0hfSEFTX0hDRD15CiBDT05GSUdfVVNCX0FSQ0hfSEFTX09IQ0k9eQogQ09ORklHX1VTQl9BUkNIX0hBU19FSENJPXkKIENPTkZJR19VU0I9eQotIyBDT05GSUdfVVNCX0RFQlVHIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfREVCVUc9eQorQ09ORklHX1VTQl9BTk5PVU5DRV9ORVdfREVWSUNFUz15CiAKICMKICMgTWlzY2VsbGFuZW91cyBVU0Igb3B0aW9ucwpAQCAtMTA3NywxOCArMTY2NiwxOCBAQAogQ09ORklHX1VTQl9ERVZJQ0VGUz15CiAjIENPTkZJR19VU0JfREVWSUNFX0NMQVNTIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9EWU5BTUlDX01JTk9SUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfU1VTUEVORCBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfUEVSU0lTVCBpcyBub3Qgc2V0CitDT05GSUdfVVNCX1NVU1BFTkQ9eQogIyBDT05GSUdfVVNCX09URyBpcyBub3Qgc2V0CiAKICMKICMgVVNCIEhvc3QgQ29udHJvbGxlciBEcml2ZXJzCiAjCisjIENPTkZJR19VU0JfQzY3WDAwX0hDRCBpcyBub3Qgc2V0CiBDT05GSUdfVVNCX0VIQ0lfSENEPXkKLSMgQ09ORklHX1VTQl9FSENJX1NQTElUX0lTTyBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfRUhDSV9ST09UX0hVQl9UVCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfRUhDSV9UVF9ORVdTQ0hFRCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfSVNQMTE2WF9IQ0QgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0lTUDE3NjBfSENEIGlzIG5vdCBzZXQKIENPTkZJR19VU0JfT0hDSV9IQ0Q9eQogIyBDT05GSUdfVVNCX09IQ0lfQklHX0VORElBTl9ERVNDIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9PSENJX0JJR19FTkRJQU5fTU1JTyBpcyBub3Qgc2V0CkBAIC0xMTIxLDggKzE3MTAsMTAgQEAKICMgQ09ORklHX1VTQl9TVE9SQUdFX1NERFI1NSBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfU1RPUkFHRV9KVU1QU0hPVCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfU1RPUkFHRV9BTEFVREEgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NUT1JBR0VfT05FVE9VQ0ggaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1NUT1JBR0VfS0FSTUEgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX0xJQlVTVUFMIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TVE9SQUdFX0NZUFJFU1NfQVRBQ0IgaXMgbm90IHNldAorQ09ORklHX1VTQl9MSUJVU1VBTD15CiAKICMKICMgVVNCIEltYWdpbmcgZGV2aWNlcwpAQCAtMTEzNCwxMCArMTcyNSw2IEBACiAjCiAjIFVTQiBwb3J0IGRyaXZlcnMKICMKLQotIwotIyBVU0IgU2VyaWFsIENvbnZlcnRlciBzdXBwb3J0Ci0jCiAjIENPTkZJR19VU0JfU0VSSUFMIGlzIG5vdCBzZXQKIAogIwpAQCAtMTE2Myw5MCArMTc1MCwxMjUgQEAKICMgQ09ORklHX1VTQl9UUkFOQ0VWSUJSQVRPUiBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfSU9XQVJSSU9SIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9URVNUIGlzIG5vdCBzZXQKLQotIwotIyBVU0IgRFNMIG1vZGVtIHN1cHBvcnQKLSMKLQotIwotIyBVU0IgR2FkZ2V0IFN1cHBvcnQKLSMKICMgQ09ORklHX1VTQl9HQURHRVQgaXMgbm90IHNldAogIyBDT05GSUdfTU1DIGlzIG5vdCBzZXQKLQotIwotIyBMRUQgZGV2aWNlcwotIwotIyBDT05GSUdfTkVXX0xFRFMgaXMgbm90IHNldAorIyBDT05GSUdfTUVNU1RJQ0sgaXMgbm90IHNldAorQ09ORklHX05FV19MRURTPXkKK0NPTkZJR19MRURTX0NMQVNTPXkKIAogIwogIyBMRUQgZHJpdmVycwogIworIyBDT05GSUdfTEVEU19DTEVWT19NQUlMIGlzIG5vdCBzZXQKIAogIwogIyBMRUQgVHJpZ2dlcnMKICMKK0NPTkZJR19MRURTX1RSSUdHRVJTPXkKKyMgQ09ORklHX0xFRFNfVFJJR0dFUl9USU1FUiBpcyBub3Qgc2V0CisjIENPTkZJR19MRURTX1RSSUdHRVJfSEVBUlRCRUFUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0xFRFNfVFJJR0dFUl9ERUZBVUxUX09OIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FDQ0VTU0lCSUxJVFkgaXMgbm90IHNldAogIyBDT05GSUdfSU5GSU5JQkFORCBpcyBub3Qgc2V0Ci0jIENPTkZJR19FREFDIGlzIG5vdCBzZXQKK0NPTkZJR19FREFDPXkKIAogIwotIyBSZWFsIFRpbWUgQ2xvY2sKKyMgUmVwb3J0aW5nIHN1YnN5c3RlbXMKICMKLSMgQ09ORklHX1JUQ19DTEFTUyBpcyBub3Qgc2V0CisjIENPTkZJR19FREFDX0RFQlVHIGlzIG5vdCBzZXQKKyMgQ09ORklHX0VEQUNfTU1fRURBQyBpcyBub3Qgc2V0CitDT05GSUdfUlRDX0xJQj15CitDT05GSUdfUlRDX0NMQVNTPXkKKyMgQ09ORklHX1JUQ19IQ1RPU1lTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19ERUJVRyBpcyBub3Qgc2V0CiAKICMKLSMgRE1BIEVuZ2luZSBzdXBwb3J0CisjIFJUQyBpbnRlcmZhY2VzCiAjCi0jIENPTkZJR19ETUFfRU5HSU5FIGlzIG5vdCBzZXQKK0NPTkZJR19SVENfSU5URl9TWVNGUz15CitDT05GSUdfUlRDX0lOVEZfUFJPQz15CitDT05GSUdfUlRDX0lOVEZfREVWPXkKKyMgQ09ORklHX1JUQ19JTlRGX0RFVl9VSUVfRU1VTCBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1RFU1QgaXMgbm90IHNldAogCiAjCi0jIERNQSBDbGllbnRzCisjIEkyQyBSVEMgZHJpdmVycwogIworIyBDT05GSUdfUlRDX0RSVl9EUzEzMDcgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9EUzEzNzQgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9EUzE2NzIgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9NQVg2OTAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfUlM1QzM3MiBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX0lTTDEyMDggaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9YMTIwNSBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1BDRjg1NjMgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9QQ0Y4NTgzIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfTTQxVDgwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfUzM1MzkwQSBpcyBub3Qgc2V0CisKKyMKKyMgU1BJIFJUQyBkcml2ZXJzCisjCisKKyMKKyMgUGxhdGZvcm0gUlRDIGRyaXZlcnMKKyMKK0NPTkZJR19SVENfRFJWX0NNT1M9eQorIyBDT05GSUdfUlRDX0RSVl9EUzE1MTEgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9EUzE1NTMgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9EUzE3NDIgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9TVEsxN1RBOCBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX000OFQ4NiBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX000OFQ1OSBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1YzMDIwIGlzIG5vdCBzZXQKKworIworIyBvbi1DUFUgUlRDIGRyaXZlcnMKKyMKK0NPTkZJR19ETUFERVZJQ0VTPXkKIAogIwogIyBETUEgRGV2aWNlcwogIwotQ09ORklHX1ZJUlRVQUxJWkFUSU9OPXkKLSMgQ09ORklHX0tWTSBpcyBub3Qgc2V0CisjIENPTkZJR19JTlRFTF9JT0FURE1BIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VJTyBpcyBub3Qgc2V0CiAKICMKLSMgVXNlcnNwYWNlIEkvTworIyBGaXJtd2FyZSBEcml2ZXJzCiAjCi0jIENPTkZJR19VSU8gaXMgbm90IHNldAorIyBDT05GSUdfRUREIGlzIG5vdCBzZXQKK0NPTkZJR19FRklfVkFSUz15CisjIENPTkZJR19ERUxMX1JCVSBpcyBub3Qgc2V0CisjIENPTkZJR19EQ0RCQVMgaXMgbm90IHNldAorQ09ORklHX0RNSUlEPXkKKyMgQ09ORklHX0lTQ1NJX0lCRlRfRklORCBpcyBub3Qgc2V0CiAKICMKICMgRmlsZSBzeXN0ZW1zCiAjCi1DT05GSUdfRVhUMl9GUz15Ci1DT05GSUdfRVhUMl9GU19YQVRUUj15Ci1DT05GSUdfRVhUMl9GU19QT1NJWF9BQ0w9eQotIyBDT05GSUdfRVhUMl9GU19TRUNVUklUWSBpcyBub3Qgc2V0Ci0jIENPTkZJR19FWFQyX0ZTX1hJUCBpcyBub3Qgc2V0CisjIENPTkZJR19FWFQyX0ZTIGlzIG5vdCBzZXQKIENPTkZJR19FWFQzX0ZTPXkKIENPTkZJR19FWFQzX0ZTX1hBVFRSPXkKIENPTkZJR19FWFQzX0ZTX1BPU0lYX0FDTD15Ci0jIENPTkZJR19FWFQzX0ZTX1NFQ1VSSVRZIGlzIG5vdCBzZXQKK0NPTkZJR19FWFQzX0ZTX1NFQ1VSSVRZPXkKICMgQ09ORklHX0VYVDRERVZfRlMgaXMgbm90IHNldAogQ09ORklHX0pCRD15CiAjIENPTkZJR19KQkRfREVCVUcgaXMgbm90IHNldAogQ09ORklHX0ZTX01CQ0FDSEU9eQotQ09ORklHX1JFSVNFUkZTX0ZTPXkKLSMgQ09ORklHX1JFSVNFUkZTX0NIRUNLIGlzIG5vdCBzZXQKLSMgQ09ORklHX1JFSVNFUkZTX1BST0NfSU5GTyBpcyBub3Qgc2V0Ci1DT05GSUdfUkVJU0VSRlNfRlNfWEFUVFI9eQotQ09ORklHX1JFSVNFUkZTX0ZTX1BPU0lYX0FDTD15Ci0jIENPTkZJR19SRUlTRVJGU19GU19TRUNVUklUWSBpcyBub3Qgc2V0CisjIENPTkZJR19SRUlTRVJGU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19KRlNfRlMgaXMgbm90IHNldAogQ09ORklHX0ZTX1BPU0lYX0FDTD15CiAjIENPTkZJR19YRlNfRlMgaXMgbm90IHNldAotIyBDT05GSUdfR0ZTMl9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19PQ0ZTMl9GUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19NSU5JWF9GUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19ST01GU19GUyBpcyBub3Qgc2V0CitDT05GSUdfRE5PVElGWT15CiBDT05GSUdfSU5PVElGWT15CiBDT05GSUdfSU5PVElGWV9VU0VSPXkKLSMgQ09ORklHX1FVT1RBIGlzIG5vdCBzZXQKLUNPTkZJR19ETk9USUZZPXkKK0NPTkZJR19RVU9UQT15CitDT05GSUdfUVVPVEFfTkVUTElOS19JTlRFUkZBQ0U9eQorIyBDT05GSUdfUFJJTlRfUVVPVEFfV0FSTklORyBpcyBub3Qgc2V0CisjIENPTkZJR19RRk1UX1YxIGlzIG5vdCBzZXQKK0NPTkZJR19RRk1UX1YyPXkKK0NPTkZJR19RVU9UQUNUTD15CiAjIENPTkZJR19BVVRPRlNfRlMgaXMgbm90IHNldAogQ09ORklHX0FVVE9GUzRfRlM9eQogIyBDT05GSUdfRlVTRV9GUyBpcyBub3Qgc2V0CkBAIC0xMjU2LDggKzE4NzgsOCBAQAogIyBDRC1ST00vRFZEIEZpbGVzeXN0ZW1zCiAjCiBDT05GSUdfSVNPOTY2MF9GUz15Ci0jIENPTkZJR19KT0xJRVQgaXMgbm90IHNldAotIyBDT05GSUdfWklTT0ZTIGlzIG5vdCBzZXQKK0NPTkZJR19KT0xJRVQ9eQorQ09ORklHX1pJU09GUz15CiAjIENPTkZJR19VREZfRlMgaXMgbm90IHNldAogCiAjCkBAIC0xMjc1LDEzICsxODk3LDEzIEBACiAjCiBDT05GSUdfUFJPQ19GUz15CiBDT05GSUdfUFJPQ19LQ09SRT15CitDT05GSUdfUFJPQ19WTUNPUkU9eQogQ09ORklHX1BST0NfU1lTQ1RMPXkKIENPTkZJR19TWVNGUz15CiBDT05GSUdfVE1QRlM9eQogQ09ORklHX1RNUEZTX1BPU0lYX0FDTD15CiBDT05GSUdfSFVHRVRMQkZTPXkKIENPTkZJR19IVUdFVExCX1BBR0U9eQotQ09ORklHX1JBTUZTPXkKICMgQ09ORklHX0NPTkZJR0ZTX0ZTIGlzIG5vdCBzZXQKIAogIwpAQCAtMTI4OSw2ICsxOTExLDcgQEAKICMKICMgQ09ORklHX0FERlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfQUZGU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19FQ1JZUFRfRlMgaXMgbm90IHNldAogIyBDT05GSUdfSEZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0hGU1BMVVNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfQkVGU19GUyBpcyBub3Qgc2V0CkBAIC0xMjk2LDMzICsxOTE5LDE1IEBACiAjIENPTkZJR19FRlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfQ1JBTUZTIGlzIG5vdCBzZXQKICMgQ09ORklHX1ZYRlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfTUlOSVhfRlMgaXMgbm90IHNldAogIyBDT05GSUdfSFBGU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19RTlg0RlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfUk9NRlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfU1lTVl9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19VRlNfRlMgaXMgbm90IHNldAotCi0jCi0jIE5ldHdvcmsgRmlsZSBTeXN0ZW1zCi0jCi1DT05GSUdfTkZTX0ZTPXkKLUNPTkZJR19ORlNfVjM9eQotIyBDT05GSUdfTkZTX1YzX0FDTCBpcyBub3Qgc2V0Ci0jIENPTkZJR19ORlNfVjQgaXMgbm90IHNldAotIyBDT05GSUdfTkZTX0RJUkVDVElPIGlzIG5vdCBzZXQKLUNPTkZJR19ORlNEPXkKLUNPTkZJR19ORlNEX1YzPXkKLSMgQ09ORklHX05GU0RfVjNfQUNMIGlzIG5vdCBzZXQKLSMgQ09ORklHX05GU0RfVjQgaXMgbm90IHNldAotQ09ORklHX05GU0RfVENQPXkKLUNPTkZJR19ST09UX05GUz15Ci1DT05GSUdfTE9DS0Q9eQotQ09ORklHX0xPQ0tEX1Y0PXkKLUNPTkZJR19FWFBPUlRGUz15Ci1DT05GSUdfTkZTX0NPTU1PTj15Ci1DT05GSUdfU1VOUlBDPXkKLSMgQ09ORklHX1NVTlJQQ19CSU5EMzQgaXMgbm90IHNldAotIyBDT05GSUdfUlBDU0VDX0dTU19LUkI1IGlzIG5vdCBzZXQKLSMgQ09ORklHX1JQQ1NFQ19HU1NfU1BLTTMgaXMgbm90IHNldAorQ09ORklHX05FVFdPUktfRklMRVNZU1RFTVM9eQorIyBDT05GSUdfTkZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX05GU0QgaXMgbm90IHNldAogIyBDT05GSUdfU01CX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0NJRlMgaXMgbm90IHNldAogIyBDT05GSUdfTkNQX0ZTIGlzIG5vdCBzZXQKQEAgLTEzMzIsMTQgKzE5MzcsMjYgQEAKICMKICMgUGFydGl0aW9uIFR5cGVzCiAjCi0jIENPTkZJR19QQVJUSVRJT05fQURWQU5DRUQgaXMgbm90IHNldAorQ09ORklHX1BBUlRJVElPTl9BRFZBTkNFRD15CisjIENPTkZJR19BQ09STl9QQVJUSVRJT04gaXMgbm90IHNldAorQ09ORklHX09TRl9QQVJUSVRJT049eQorQ09ORklHX0FNSUdBX1BBUlRJVElPTj15CisjIENPTkZJR19BVEFSSV9QQVJUSVRJT04gaXMgbm90IHNldAorQ09ORklHX01BQ19QQVJUSVRJT049eQogQ09ORklHX01TRE9TX1BBUlRJVElPTj15Ci0KLSMKLSMgTmF0aXZlIExhbmd1YWdlIFN1cHBvcnQKLSMKK0NPTkZJR19CU0RfRElTS0xBQkVMPXkKK0NPTkZJR19NSU5JWF9TVUJQQVJUSVRJT049eQorQ09ORklHX1NPTEFSSVNfWDg2X1BBUlRJVElPTj15CitDT05GSUdfVU5JWFdBUkVfRElTS0xBQkVMPXkKKyMgQ09ORklHX0xETV9QQVJUSVRJT04gaXMgbm90IHNldAorQ09ORklHX1NHSV9QQVJUSVRJT049eQorIyBDT05GSUdfVUxUUklYX1BBUlRJVElPTiBpcyBub3Qgc2V0CitDT05GSUdfU1VOX1BBUlRJVElPTj15CitDT05GSUdfS0FSTUFfUEFSVElUSU9OPXkKK0NPTkZJR19FRklfUEFSVElUSU9OPXkKKyMgQ09ORklHX1NZU1Y2OF9QQVJUSVRJT04gaXMgbm90IHNldAogQ09ORklHX05MUz15Ci1DT05GSUdfTkxTX0RFRkFVTFQ9Imlzbzg4NTktMSIKK0NPTkZJR19OTFNfREVGQVVMVD0idXRmOCIKIENPTkZJR19OTFNfQ09ERVBBR0VfNDM3PXkKICMgQ09ORklHX05MU19DT0RFUEFHRV83MzcgaXMgbm90IHNldAogIyBDT05GSUdfTkxTX0NPREVQQUdFXzc3NSBpcyBub3Qgc2V0CkBAIC0xMzc0LDM3ICsxOTkxLDMzIEBACiAjIENPTkZJR19OTFNfSVNPODg1OV85IGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19JU084ODU5XzEzIGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19JU084ODU5XzE0IGlzIG5vdCBzZXQKLUNPTkZJR19OTFNfSVNPODg1OV8xNT15CisjIENPTkZJR19OTFNfSVNPODg1OV8xNSBpcyBub3Qgc2V0CiAjIENPTkZJR19OTFNfS09JOF9SIGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19LT0k4X1UgaXMgbm90IHNldAogQ09ORklHX05MU19VVEY4PXkKLQotIwotIyBEaXN0cmlidXRlZCBMb2NrIE1hbmFnZXIKLSMKICMgQ09ORklHX0RMTSBpcyBub3Qgc2V0Ci1DT05GSUdfSU5TVFJVTUVOVEFUSU9OPXkKLUNPTkZJR19QUk9GSUxJTkc9eQotQ09ORklHX09QUk9GSUxFPXkKLUNPTkZJR19LUFJPQkVTPXkKIAogIwogIyBLZXJuZWwgaGFja2luZwogIwogQ09ORklHX1RSQUNFX0lSUUZMQUdTX1NVUFBPUlQ9eQogIyBDT05GSUdfUFJJTlRLX1RJTUUgaXMgbm90IHNldAorIyBDT05GSUdfRU5BQkxFX1dBUk5fREVQUkVDQVRFRCBpcyBub3Qgc2V0CiAjIENPTkZJR19FTkFCTEVfTVVTVF9DSEVDSyBpcyBub3Qgc2V0CitDT05GSUdfRlJBTUVfV0FSTj0yMDQ4CiBDT05GSUdfTUFHSUNfU1lTUlE9eQotQ09ORklHX1VOVVNFRF9TWU1CT0xTPXkKLSMgQ09ORklHX0RFQlVHX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VOVVNFRF9TWU1CT0xTIGlzIG5vdCBzZXQKK0NPTkZJR19ERUJVR19GUz15CiAjIENPTkZJR19IRUFERVJTX0NIRUNLIGlzIG5vdCBzZXQKIENPTkZJR19ERUJVR19LRVJORUw9eQogIyBDT05GSUdfREVCVUdfU0hJUlEgaXMgbm90IHNldAotQ09ORklHX0RFVEVDVF9TT0ZUTE9DS1VQPXkKKyMgQ09ORklHX0RFVEVDVF9TT0ZUTE9DS1VQIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDSEVEX0RFQlVHIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDSEVEU1RBVFMgaXMgbm90IHNldAorQ09ORklHX1NDSEVEU1RBVFM9eQogQ09ORklHX1RJTUVSX1NUQVRTPXkKKyMgQ09ORklHX0RFQlVHX09CSkVDVFMgaXMgbm90IHNldAogIyBDT05GSUdfU0xVQl9ERUJVR19PTiBpcyBub3Qgc2V0CisjIENPTkZJR19TTFVCX1NUQVRTIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX1JUX01VVEVYRVMgaXMgbm90IHNldAogIyBDT05GSUdfUlRfTVVURVhfVEVTVEVSIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX1NQSU5MT0NLIGlzIG5vdCBzZXQKQEAgLTE0MTksNDggKzIwMzIsMTc0IEBACiBDT05GSUdfREVCVUdfQlVHVkVSQk9TRT15CiAjIENPTkZJR19ERUJVR19JTkZPIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX1ZNIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFQlVHX1dSSVRFQ09VTlQgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfTElTVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19GUkFNRV9QT0lOVEVSIGlzIG5vdCBzZXQKLUNPTkZJR19PUFRJTUlaRV9JTkxJTklORz15CisjIENPTkZJR19ERUJVR19TRyBpcyBub3Qgc2V0CitDT05GSUdfRlJBTUVfUE9JTlRFUj15CisjIENPTkZJR19CT09UX1BSSU5US19ERUxBWSBpcyBub3Qgc2V0CiAjIENPTkZJR19SQ1VfVE9SVFVSRV9URVNUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0tQUk9CRVNfU0FOSVRZX1RFU1QgaXMgbm90IHNldAorIyBDT05GSUdfQkFDS1RSQUNFX1NFTEZfVEVTVCBpcyBub3Qgc2V0CiAjIENPTkZJR19MS0RUTSBpcyBub3Qgc2V0CiAjIENPTkZJR19GQVVMVF9JTkpFQ1RJT04gaXMgbm90IHNldAorIyBDT05GSUdfTEFURU5DWVRPUCBpcyBub3Qgc2V0CitDT05GSUdfUFJPVklERV9PSENJMTM5NF9ETUFfSU5JVD15CisjIENPTkZJR19TQU1QTEVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0tHREIgaXMgbm90IHNldAorQ09ORklHX0hBVkVfQVJDSF9LR0RCPXkKKyMgQ09ORklHX05PTlBST01JU0NfREVWTUVNIGlzIG5vdCBzZXQKIENPTkZJR19FQVJMWV9QUklOVEs9eQogQ09ORklHX0RFQlVHX1NUQUNLT1ZFUkZMT1c9eQotIyBDT05GSUdfREVCVUdfU1RBQ0tfVVNBR0UgaXMgbm90IHNldAotIyBDT05GSUdfREVCVUdfUk9EQVRBIGlzIG5vdCBzZXQKK0NPTkZJR19ERUJVR19TVEFDS19VU0FHRT15CisjIENPTkZJR19ERUJVR19QQUdFQUxMT0MgaXMgbm90IHNldAorIyBDT05GSUdfWDg2X1BURFVNUCBpcyBub3Qgc2V0CitDT05GSUdfREVCVUdfUk9EQVRBPXkKKyMgQ09ORklHX0RFQlVHX1JPREFUQV9URVNUIGlzIG5vdCBzZXQKK0NPTkZJR19ERUJVR19OWF9URVNUPW0KICMgQ09ORklHXzRLU1RBQ0tTIGlzIG5vdCBzZXQKIENPTkZJR19YODZfRklORF9TTVBfQ09ORklHPXkKIENPTkZJR19YODZfTVBQQVJTRT15CiBDT05GSUdfRE9VQkxFRkFVTFQ9eQorQ09ORklHX0lPX0RFTEFZX1RZUEVfMFg4MD0wCitDT05GSUdfSU9fREVMQVlfVFlQRV8wWEVEPTEKK0NPTkZJR19JT19ERUxBWV9UWVBFX1VERUxBWT0yCitDT05GSUdfSU9fREVMQVlfVFlQRV9OT05FPTMKK0NPTkZJR19JT19ERUxBWV8wWDgwPXkKKyMgQ09ORklHX0lPX0RFTEFZXzBYRUQgaXMgbm90IHNldAorIyBDT05GSUdfSU9fREVMQVlfVURFTEFZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lPX0RFTEFZX05PTkUgaXMgbm90IHNldAorQ09ORklHX0RFRkFVTFRfSU9fREVMQVlfVFlQRT0wCitDT05GSUdfREVCVUdfQk9PVF9QQVJBTVM9eQorIyBDT05GSUdfQ1BBX0RFQlVHIGlzIG5vdCBzZXQKIAogIwogIyBTZWN1cml0eSBvcHRpb25zCiAjCi0jIENPTkZJR19LRVlTIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NFQ1VSSVRZIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUTyBpcyBub3Qgc2V0CitDT05GSUdfS0VZUz15CitDT05GSUdfS0VZU19ERUJVR19QUk9DX0tFWVM9eQorQ09ORklHX1NFQ1VSSVRZPXkKK0NPTkZJR19TRUNVUklUWV9ORVRXT1JLPXkKKyMgQ09ORklHX1NFQ1VSSVRZX05FVFdPUktfWEZSTSBpcyBub3Qgc2V0CitDT05GSUdfU0VDVVJJVFlfQ0FQQUJJTElUSUVTPXkKK0NPTkZJR19TRUNVUklUWV9GSUxFX0NBUEFCSUxJVElFUz15CisjIENPTkZJR19TRUNVUklUWV9ST09UUExVRyBpcyBub3Qgc2V0CitDT05GSUdfU0VDVVJJVFlfREVGQVVMVF9NTUFQX01JTl9BRERSPTY1NTM2CitDT05GSUdfU0VDVVJJVFlfU0VMSU5VWD15CitDT05GSUdfU0VDVVJJVFlfU0VMSU5VWF9CT09UUEFSQU09eQorQ09ORklHX1NFQ1VSSVRZX1NFTElOVVhfQk9PVFBBUkFNX1ZBTFVFPTEKK0NPTkZJR19TRUNVUklUWV9TRUxJTlVYX0RJU0FCTEU9eQorQ09ORklHX1NFQ1VSSVRZX1NFTElOVVhfREVWRUxPUD15CitDT05GSUdfU0VDVVJJVFlfU0VMSU5VWF9BVkNfU1RBVFM9eQorQ09ORklHX1NFQ1VSSVRZX1NFTElOVVhfQ0hFQ0tSRVFQUk9UX1ZBTFVFPTEKKyMgQ09ORklHX1NFQ1VSSVRZX1NFTElOVVhfRU5BQkxFX1NFQ01BUktfREVGQVVMVCBpcyBub3Qgc2V0CisjIENPTkZJR19TRUNVUklUWV9TRUxJTlVYX1BPTElDWURCX1ZFUlNJT05fTUFYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFQ1VSSVRZX1NNQUNLIGlzIG5vdCBzZXQKK0NPTkZJR19DUllQVE89eQorCisjCisjIENyeXB0byBjb3JlIG9yIGhlbHBlcgorIworQ09ORklHX0NSWVBUT19BTEdBUEk9eQorQ09ORklHX0NSWVBUT19BRUFEPXkKK0NPTkZJR19DUllQVE9fQkxLQ0lQSEVSPXkKK0NPTkZJR19DUllQVE9fSEFTSD15CitDT05GSUdfQ1JZUFRPX01BTkFHRVI9eQorIyBDT05GSUdfQ1JZUFRPX0dGMTI4TVVMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19OVUxMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19DUllQVEQgaXMgbm90IHNldAorQ09ORklHX0NSWVBUT19BVVRIRU5DPXkKKyMgQ09ORklHX0NSWVBUT19URVNUIGlzIG5vdCBzZXQKKworIworIyBBdXRoZW50aWNhdGVkIEVuY3J5cHRpb24gd2l0aCBBc3NvY2lhdGVkIERhdGEKKyMKKyMgQ09ORklHX0NSWVBUT19DQ00gaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0dDTSBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fU0VRSVYgaXMgbm90IHNldAorCisjCisjIEJsb2NrIG1vZGVzCisjCitDT05GSUdfQ1JZUFRPX0NCQz15CisjIENPTkZJR19DUllQVE9fQ1RSIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19DVFMgaXMgbm90IHNldAorQ09ORklHX0NSWVBUT19FQ0I9eQorIyBDT05GSUdfQ1JZUFRPX0xSVyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fUENCQyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fWFRTIGlzIG5vdCBzZXQKKworIworIyBIYXNoIG1vZGVzCisjCitDT05GSUdfQ1JZUFRPX0hNQUM9eQorIyBDT05GSUdfQ1JZUFRPX1hDQkMgaXMgbm90IHNldAorCisjCisjIERpZ2VzdAorIworIyBDT05GSUdfQ1JZUFRPX0NSQzMyQyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fTUQ0IGlzIG5vdCBzZXQKK0NPTkZJR19DUllQVE9fTUQ1PXkKKyMgQ09ORklHX0NSWVBUT19NSUNIQUVMX01JQyBpcyBub3Qgc2V0CitDT05GSUdfQ1JZUFRPX1NIQTE9eQorIyBDT05GSUdfQ1JZUFRPX1NIQTI1NiBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fU0hBNTEyIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19UR1IxOTIgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1dQNTEyIGlzIG5vdCBzZXQKKworIworIyBDaXBoZXJzCisjCitDT05GSUdfQ1JZUFRPX0FFUz15CisjIENPTkZJR19DUllQVE9fQUVTXzU4NiBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQU5VQklTIGlzIG5vdCBzZXQKK0NPTkZJR19DUllQVE9fQVJDND15CisjIENPTkZJR19DUllQVE9fQkxPV0ZJU0ggaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0NBTUVMTElBIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19DQVNUNSBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQ0FTVDYgaXMgbm90IHNldAorQ09ORklHX0NSWVBUT19ERVM9eQorIyBDT05GSUdfQ1JZUFRPX0ZDUllQVCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fS0hBWkFEIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19TQUxTQTIwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19TQUxTQTIwXzU4NiBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fU0VFRCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fU0VSUEVOVCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fVEVBIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19UV09GSVNIIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19UV09GSVNIXzU4NiBpcyBub3Qgc2V0CisKKyMKKyMgQ29tcHJlc3Npb24KKyMKKyMgQ09ORklHX0NSWVBUT19ERUZMQVRFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19MWk8gaXMgbm90IHNldAorQ09ORklHX0NSWVBUT19IVz15CisjIENPTkZJR19DUllQVE9fREVWX1BBRExPQ0sgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0RFVl9HRU9ERSBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fREVWX0hJRk5fNzk1WCBpcyBub3Qgc2V0CitDT05GSUdfSEFWRV9LVk09eQorQ09ORklHX1ZJUlRVQUxJWkFUSU9OPXkKKyMgQ09ORklHX0tWTSBpcyBub3Qgc2V0CisjIENPTkZJR19MR1VFU1QgaXMgbm90IHNldAorIyBDT05GSUdfVklSVElPX1BDSSBpcyBub3Qgc2V0CisjIENPTkZJR19WSVJUSU9fQkFMTE9PTiBpcyBub3Qgc2V0CiAKICMKICMgTGlicmFyeSByb3V0aW5lcwogIwogQ09ORklHX0JJVFJFVkVSU0U9eQorQ09ORklHX0dFTkVSSUNfRklORF9GSVJTVF9CSVQ9eQorQ09ORklHX0dFTkVSSUNfRklORF9ORVhUX0JJVD15CiAjIENPTkZJR19DUkNfQ0NJVFQgaXMgbm90IHNldAogIyBDT05GSUdfQ1JDMTYgaXMgbm90IHNldAogIyBDT05GSUdfQ1JDX0lUVV9UIGlzIG5vdCBzZXQKIENPTkZJR19DUkMzMj15CiAjIENPTkZJR19DUkM3IGlzIG5vdCBzZXQKICMgQ09ORklHX0xJQkNSQzMyQyBpcyBub3Qgc2V0CitDT05GSUdfQVVESVRfR0VORVJJQz15CiBDT05GSUdfWkxJQl9JTkZMQVRFPXkKIENPTkZJR19QTElTVD15CiBDT05GSUdfSEFTX0lPTUVNPXkKIENPTkZJR19IQVNfSU9QT1JUPXkKIENPTkZJR19IQVNfRE1BPXkKLUNPTkZJR19HRU5FUklDX0hBUkRJUlFTPXkKLUNPTkZJR19HRU5FUklDX0lSUV9QUk9CRT15Ci1DT05GSUdfR0VORVJJQ19QRU5ESU5HX0lSUT15Ci1DT05GSUdfWDg2X1NNUD15Ci1DT05GSUdfWDg2X0hUPXkKLUNPTkZJR19YODZfQklPU19SRUJPT1Q9eQotQ09ORklHX1g4Nl9UUkFNUE9MSU5FPXkKLUNPTkZJR19LVElNRV9TQ0FMQVI9eQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvY29uZmlncy94ODZfNjRfZGVmY29uZmlnIGIvYXJjaC94ODYvY29uZmlncy94ODZfNjRfZGVmY29uZmlnCmluZGV4IDJkNmY1YjIuLmFlNTEyNGUgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2NvbmZpZ3MveDg2XzY0X2RlZmNvbmZpZworKysgYi9hcmNoL3g4Ni9jb25maWdzL3g4Nl82NF9kZWZjb25maWcKQEAgLTEsNjQgKzEsMTAzIEBACiAjCiAjIEF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIG1ha2UgY29uZmlnOiBkb24ndCBlZGl0Ci0jIExpbnV4IGtlcm5lbCB2ZXJzaW9uOiAyLjYuMjItZ2l0MTQKLSMgRnJpIEp1bCAyMCAwOTo1MzoxNSAyMDA3CisjIExpbnV4IGtlcm5lbCB2ZXJzaW9uOiAyLjYuMjYtcmMxCisjIFN1biBNYXkgIDQgMTk6NTk6NTcgMjAwOAogIwotQ09ORklHX1g4Nl82ND15CiBDT05GSUdfNjRCSVQ9eQorIyBDT05GSUdfWDg2XzMyIGlzIG5vdCBzZXQKK0NPTkZJR19YODZfNjQ9eQogQ09ORklHX1g4Nj15CitDT05GSUdfREVGQ09ORklHX0xJU1Q9ImFyY2gveDg2L2NvbmZpZ3MveDg2XzY0X2RlZmNvbmZpZyIKKyMgQ09ORklHX0dFTkVSSUNfTE9DS0JSRUFLIGlzIG5vdCBzZXQKIENPTkZJR19HRU5FUklDX1RJTUU9eQotQ09ORklHX0dFTkVSSUNfVElNRV9WU1lTQ0FMTD15CiBDT05GSUdfR0VORVJJQ19DTU9TX1VQREFURT15Ci1DT05GSUdfWk9ORV9ETUEzMj15CitDT05GSUdfQ0xPQ0tTT1VSQ0VfV0FUQ0hET0c9eQorQ09ORklHX0dFTkVSSUNfQ0xPQ0tFVkVOVFM9eQorQ09ORklHX0dFTkVSSUNfQ0xPQ0tFVkVOVFNfQlJPQURDQVNUPXkKIENPTkZJR19MT0NLREVQX1NVUFBPUlQ9eQogQ09ORklHX1NUQUNLVFJBQ0VfU1VQUE9SVD15Ci1DT05GSUdfU0VNQVBIT1JFX1NMRUVQRVJTPXkKK0NPTkZJR19IQVZFX0xBVEVOQ1lUT1BfU1VQUE9SVD15CitDT05GSUdfRkFTVF9DTVBYQ0hHX0xPQ0FMPXkKIENPTkZJR19NTVU9eQogQ09ORklHX1pPTkVfRE1BPXkKLUNPTkZJR19RVUlDS0xJU1Q9eQotQ09ORklHX05SX1FVSUNLPTIKLUNPTkZJR19SV1NFTV9HRU5FUklDX1NQSU5MT0NLPXkKLUNPTkZJR19HRU5FUklDX0hXRUlHSFQ9eQotQ09ORklHX0dFTkVSSUNfQ0FMSUJSQVRFX0RFTEFZPXkKLUNPTkZJR19YODZfQ01QWENIRz15Ci1DT05GSUdfRUFSTFlfUFJJTlRLPXkKIENPTkZJR19HRU5FUklDX0lTQV9ETUE9eQogQ09ORklHX0dFTkVSSUNfSU9NQVA9eQotQ09ORklHX0FSQ0hfTUFZX0hBVkVfUENfRkRDPXkKLUNPTkZJR19BUkNIX1BPUFVMQVRFU19OT0RFX01BUD15Ci1DT05GSUdfRE1JPXkKLUNPTkZJR19BVURJVF9BUkNIPXkKIENPTkZJR19HRU5FUklDX0JVRz15CitDT05GSUdfR0VORVJJQ19IV0VJR0hUPXkKKyMgQ09ORklHX0dFTkVSSUNfR1BJTyBpcyBub3Qgc2V0CitDT05GSUdfQVJDSF9NQVlfSEFWRV9QQ19GREM9eQorQ09ORklHX1JXU0VNX0dFTkVSSUNfU1BJTkxPQ0s9eQorIyBDT05GSUdfUldTRU1fWENIR0FERF9BTEdPUklUSE0gaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9IQVNfSUxPRzJfVTMyIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfSEFTX0lMT0cyX1U2NCBpcyBub3Qgc2V0Ci1DT05GSUdfREVGQ09ORklHX0xJU1Q9Ii9saWIvbW9kdWxlcy8kVU5BTUVfUkVMRUFTRS8uY29uZmlnIgotCi0jCi0jIENvZGUgbWF0dXJpdHkgbGV2ZWwgb3B0aW9ucwotIwotQ09ORklHX0VYUEVSSU1FTlRBTD15Ci1DT05GSUdfTE9DS19LRVJORUw9eQotQ09ORklHX0lOSVRfRU5WX0FSR19MSU1JVD0zMgorQ09ORklHX0FSQ0hfSEFTX0NQVV9JRExFX1dBSVQ9eQorQ09ORklHX0dFTkVSSUNfQ0FMSUJSQVRFX0RFTEFZPXkKK0NPTkZJR19HRU5FUklDX1RJTUVfVlNZU0NBTEw9eQorQ09ORklHX0FSQ0hfSEFTX0NQVV9SRUxBWD15CitDT05GSUdfQVJDSF9IQVNfQ0FDSEVfTElORV9TSVpFPXkKK0NPTkZJR19IQVZFX1NFVFVQX1BFUl9DUFVfQVJFQT15CitDT05GSUdfSEFWRV9DUFVNQVNLX09GX0NQVV9NQVA9eQorQ09ORklHX0FSQ0hfSElCRVJOQVRJT05fUE9TU0lCTEU9eQorQ09ORklHX0FSQ0hfU1VTUEVORF9QT1NTSUJMRT15CitDT05GSUdfWk9ORV9ETUEzMj15CitDT05GSUdfQVJDSF9QT1BVTEFURVNfTk9ERV9NQVA9eQorQ09ORklHX0FVRElUX0FSQ0g9eQorQ09ORklHX0FSQ0hfU1VQUE9SVFNfQU9VVD15CitDT05GSUdfQVJDSF9TVVBQT1JUU19PUFRJTUlaRURfSU5MSU5JTkc9eQorQ09ORklHX0dFTkVSSUNfSEFSRElSUVM9eQorQ09ORklHX0dFTkVSSUNfSVJRX1BST0JFPXkKK0NPTkZJR19HRU5FUklDX1BFTkRJTkdfSVJRPXkKK0NPTkZJR19YODZfU01QPXkKK0NPTkZJR19YODZfNjRfU01QPXkKK0NPTkZJR19YODZfSFQ9eQorQ09ORklHX1g4Nl9CSU9TX1JFQk9PVD15CitDT05GSUdfWDg2X1RSQU1QT0xJTkU9eQorIyBDT05GSUdfS1RJTUVfU0NBTEFSIGlzIG5vdCBzZXQKIAogIwogIyBHZW5lcmFsIHNldHVwCiAjCitDT05GSUdfRVhQRVJJTUVOVEFMPXkKK0NPTkZJR19MT0NLX0tFUk5FTD15CitDT05GSUdfSU5JVF9FTlZfQVJHX0xJTUlUPTMyCiBDT05GSUdfTE9DQUxWRVJTSU9OPSIiCi1DT05GSUdfTE9DQUxWRVJTSU9OX0FVVE89eQorIyBDT05GSUdfTE9DQUxWRVJTSU9OX0FVVE8gaXMgbm90IHNldAogQ09ORklHX1NXQVA9eQogQ09ORklHX1NZU1ZJUEM9eQogQ09ORklHX1NZU1ZJUENfU1lTQ1RMPXkKIENPTkZJR19QT1NJWF9NUVVFVUU9eQotIyBDT05GSUdfQlNEX1BST0NFU1NfQUNDVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19UQVNLU1RBVFMgaXMgbm90IHNldAotIyBDT05GSUdfVVNFUl9OUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19BVURJVCBpcyBub3Qgc2V0Ci1DT05GSUdfSUtDT05GSUc9eQotQ09ORklHX0lLQ09ORklHX1BST0M9eQotQ09ORklHX0xPR19CVUZfU0hJRlQ9MTgKLSMgQ09ORklHX0NQVVNFVFMgaXMgbm90IHNldAotQ09ORklHX1NZU0ZTX0RFUFJFQ0FURUQ9eQorQ09ORklHX0JTRF9QUk9DRVNTX0FDQ1Q9eQorIyBDT05GSUdfQlNEX1BST0NFU1NfQUNDVF9WMyBpcyBub3Qgc2V0CitDT05GSUdfVEFTS1NUQVRTPXkKK0NPTkZJR19UQVNLX0RFTEFZX0FDQ1Q9eQorQ09ORklHX1RBU0tfWEFDQ1Q9eQorQ09ORklHX1RBU0tfSU9fQUNDT1VOVElORz15CitDT05GSUdfQVVESVQ9eQorQ09ORklHX0FVRElUU1lTQ0FMTD15CitDT05GSUdfQVVESVRfVFJFRT15CisjIENPTkZJR19JS0NPTkZJRyBpcyBub3Qgc2V0CitDT05GSUdfTE9HX0JVRl9TSElGVD0xNworQ09ORklHX0NHUk9VUFM9eQorIyBDT05GSUdfQ0dST1VQX0RFQlVHIGlzIG5vdCBzZXQKK0NPTkZJR19DR1JPVVBfTlM9eQorIyBDT05GSUdfQ0dST1VQX0RFVklDRSBpcyBub3Qgc2V0CitDT05GSUdfQ1BVU0VUUz15CitDT05GSUdfR1JPVVBfU0NIRUQ9eQorQ09ORklHX0ZBSVJfR1JPVVBfU0NIRUQ9eQorIyBDT05GSUdfUlRfR1JPVVBfU0NIRUQgaXMgbm90IHNldAorIyBDT05GSUdfVVNFUl9TQ0hFRCBpcyBub3Qgc2V0CitDT05GSUdfQ0dST1VQX1NDSEVEPXkKK0NPTkZJR19DR1JPVVBfQ1BVQUNDVD15CitDT05GSUdfUkVTT1VSQ0VfQ09VTlRFUlM9eQorIyBDT05GSUdfQ0dST1VQX01FTV9SRVNfQ1RMUiBpcyBub3Qgc2V0CisjIENPTkZJR19TWVNGU19ERVBSRUNBVEVEX1YyIGlzIG5vdCBzZXQKK0NPTkZJR19QUk9DX1BJRF9DUFVTRVQ9eQogQ09ORklHX1JFTEFZPXkKK0NPTkZJR19OQU1FU1BBQ0VTPXkKK0NPTkZJR19VVFNfTlM9eQorQ09ORklHX0lQQ19OUz15CitDT05GSUdfVVNFUl9OUz15CitDT05GSUdfUElEX05TPXkKIENPTkZJR19CTEtfREVWX0lOSVRSRD15CiBDT05GSUdfSU5JVFJBTUZTX1NPVVJDRT0iIgogQ09ORklHX0NDX09QVElNSVpFX0ZPUl9TSVpFPXkKQEAgLTY2LDEzICsxMDUsMTUgQEAKICMgQ09ORklHX0VNQkVEREVEIGlzIG5vdCBzZXQKIENPTkZJR19VSUQxNj15CiBDT05GSUdfU1lTQ1RMX1NZU0NBTEw9eQorQ09ORklHX1NZU0NUTF9TWVNDQUxMX0NIRUNLPXkKIENPTkZJR19LQUxMU1lNUz15CiBDT05GSUdfS0FMTFNZTVNfQUxMPXkKLSMgQ09ORklHX0tBTExTWU1TX0VYVFJBX1BBU1MgaXMgbm90IHNldAorQ09ORklHX0tBTExTWU1TX0VYVFJBX1BBU1M9eQogQ09ORklHX0hPVFBMVUc9eQogQ09ORklHX1BSSU5USz15CiBDT05GSUdfQlVHPXkKIENPTkZJR19FTEZfQ09SRT15CisjIENPTkZJR19DT01QQVRfQlJLIGlzIG5vdCBzZXQKIENPTkZJR19CQVNFX0ZVTEw9eQogQ09ORklHX0ZVVEVYPXkKIENPTkZJR19BTk9OX0lOT0RFUz15CkBAIC04Miw5ICsxMjMsMjEgQEAKIENPTkZJR19FVkVOVEZEPXkKIENPTkZJR19TSE1FTT15CiBDT05GSUdfVk1fRVZFTlRfQ09VTlRFUlM9eQotQ09ORklHX1NMQUI9eQotIyBDT05GSUdfU0xVQiBpcyBub3Qgc2V0CitDT05GSUdfU0xVQl9ERUJVRz15CisjIENPTkZJR19TTEFCIGlzIG5vdCBzZXQKK0NPTkZJR19TTFVCPXkKICMgQ09ORklHX1NMT0IgaXMgbm90IHNldAorQ09ORklHX1BST0ZJTElORz15CitDT05GSUdfTUFSS0VSUz15CisjIENPTkZJR19PUFJPRklMRSBpcyBub3Qgc2V0CitDT05GSUdfSEFWRV9PUFJPRklMRT15CitDT05GSUdfS1BST0JFUz15CitDT05GSUdfS1JFVFBST0JFUz15CitDT05GSUdfSEFWRV9LUFJPQkVTPXkKK0NPTkZJR19IQVZFX0tSRVRQUk9CRVM9eQorIyBDT05GSUdfSEFWRV9ETUFfQVRUUlMgaXMgbm90IHNldAorQ09ORklHX1BST0NfUEFHRV9NT05JVE9SPXkKK0NPTkZJR19TTEFCSU5GTz15CiBDT05GSUdfUlRfTVVURVhFUz15CiAjIENPTkZJR19USU5ZX1NITUVNIGlzIG5vdCBzZXQKIENPTkZJR19CQVNFX1NNQUxMPTAKQEAgLTk2LDE0ICsxNDksMTUgQEAKICMgQ09ORklHX0tNT0QgaXMgbm90IHNldAogQ09ORklHX1NUT1BfTUFDSElORT15CiBDT05GSUdfQkxPQ0s9eQotIyBDT05GSUdfQkxLX0RFVl9JT19UUkFDRSBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX0JTRyBpcyBub3Qgc2V0CitDT05GSUdfQkxLX0RFVl9JT19UUkFDRT15CitDT05GSUdfQkxLX0RFVl9CU0c9eQorQ09ORklHX0JMT0NLX0NPTVBBVD15CiAKICMKICMgSU8gU2NoZWR1bGVycwogIwogQ09ORklHX0lPU0NIRURfTk9PUD15Ci0jIENPTkZJR19JT1NDSEVEX0FTIGlzIG5vdCBzZXQKK0NPTkZJR19JT1NDSEVEX0FTPXkKIENPTkZJR19JT1NDSEVEX0RFQURMSU5FPXkKIENPTkZJR19JT1NDSEVEX0NGUT15CiAjIENPTkZJR19ERUZBVUxUX0FTIGlzIG5vdCBzZXQKQEAgLTExMSwxMDcgKzE2NSwxNzcgQEAKIENPTkZJR19ERUZBVUxUX0NGUT15CiAjIENPTkZJR19ERUZBVUxUX05PT1AgaXMgbm90IHNldAogQ09ORklHX0RFRkFVTFRfSU9TQ0hFRD0iY2ZxIgorQ09ORklHX0NMQVNTSUNfUkNVPXkKIAogIwogIyBQcm9jZXNzb3IgdHlwZSBhbmQgZmVhdHVyZXMKICMKLUNPTkZJR19YODZfUEM9eQotIyBDT05GSUdfWDg2X1ZTTVAgaXMgbm90IHNldAotIyBDT05GSUdfTUs4IGlzIG5vdCBzZXQKLSMgQ09ORklHX01QU0MgaXMgbm90IHNldAotIyBDT05GSUdfTUNPUkUyIGlzIG5vdCBzZXQKLUNPTkZJR19HRU5FUklDX0NQVT15Ci1DT05GSUdfWDg2X0wxX0NBQ0hFX0JZVEVTPTEyOAotQ09ORklHX1g4Nl9MMV9DQUNIRV9TSElGVD03Ci1DT05GSUdfWDg2X0lOVEVSTk9ERV9DQUNIRV9CWVRFUz0xMjgKLUNPTkZJR19YODZfVFNDPXkKLUNPTkZJR19YODZfR09PRF9BUElDPXkKLSMgQ09ORklHX01JQ1JPQ09ERSBpcyBub3Qgc2V0Ci1DT05GSUdfWDg2X01TUj15Ci1DT05GSUdfWDg2X0NQVUlEPXkKLUNPTkZJR19YODZfSFQ9eQotQ09ORklHX1g4Nl9JT19BUElDPXkKLUNPTkZJR19YODZfTE9DQUxfQVBJQz15Ci1DT05GSUdfTVRSUj15CitDT05GSUdfVElDS19PTkVTSE9UPXkKK0NPTkZJR19OT19IWj15CitDT05GSUdfSElHSF9SRVNfVElNRVJTPXkKK0NPTkZJR19HRU5FUklDX0NMT0NLRVZFTlRTX0JVSUxEPXkKIENPTkZJR19TTVA9eQotQ09ORklHX1NDSEVEX1NNVD15CitDT05GSUdfWDg2X1BDPXkKKyMgQ09ORklHX1g4Nl9FTEFOIGlzIG5vdCBzZXQKKyMgQ09ORklHX1g4Nl9WT1lBR0VSIGlzIG5vdCBzZXQKKyMgQ09ORklHX1g4Nl9OVU1BUSBpcyBub3Qgc2V0CisjIENPTkZJR19YODZfU1VNTUlUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1g4Nl9CSUdTTVAgaXMgbm90IHNldAorIyBDT05GSUdfWDg2X1ZJU1dTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1g4Nl9HRU5FUklDQVJDSCBpcyBub3Qgc2V0CisjIENPTkZJR19YODZfRVM3MDAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1g4Nl9SREMzMjFYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1g4Nl9WU01QIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBUkFWSVJUX0dVRVNUIGlzIG5vdCBzZXQKK0NPTkZJR19NRU1URVNUX0JPT1RQQVJBTT15CitDT05GSUdfTUVNVEVTVF9CT09UUEFSQU1fVkFMVUU9MAorIyBDT05GSUdfTTM4NiBpcyBub3Qgc2V0CisjIENPTkZJR19NNDg2IGlzIG5vdCBzZXQKKyMgQ09ORklHX001ODYgaXMgbm90IHNldAorIyBDT05GSUdfTTU4NlRTQyBpcyBub3Qgc2V0CisjIENPTkZJR19NNTg2TU1YIGlzIG5vdCBzZXQKKyMgQ09ORklHX002ODYgaXMgbm90IHNldAorIyBDT05GSUdfTVBFTlRJVU1JSSBpcyBub3Qgc2V0CisjIENPTkZJR19NUEVOVElVTUlJSSBpcyBub3Qgc2V0CisjIENPTkZJR19NUEVOVElVTU0gaXMgbm90IHNldAorIyBDT05GSUdfTVBFTlRJVU00IGlzIG5vdCBzZXQKKyMgQ09ORklHX01LNiBpcyBub3Qgc2V0CisjIENPTkZJR19NSzcgaXMgbm90IHNldAorIyBDT05GSUdfTUs4IGlzIG5vdCBzZXQKKyMgQ09ORklHX01DUlVTT0UgaXMgbm90IHNldAorIyBDT05GSUdfTUVGRklDRU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX01XSU5DSElQQzYgaXMgbm90IHNldAorIyBDT05GSUdfTVdJTkNISVAyIGlzIG5vdCBzZXQKKyMgQ09ORklHX01XSU5DSElQM0QgaXMgbm90IHNldAorIyBDT05GSUdfTUdFT0RFR1gxIGlzIG5vdCBzZXQKKyMgQ09ORklHX01HRU9ERV9MWCBpcyBub3Qgc2V0CisjIENPTkZJR19NQ1lSSVhJSUkgaXMgbm90IHNldAorIyBDT05GSUdfTVZJQUMzXzIgaXMgbm90IHNldAorIyBDT05GSUdfTVZJQUM3IGlzIG5vdCBzZXQKKyMgQ09ORklHX01QU0MgaXMgbm90IHNldAorQ09ORklHX01DT1JFMj15CisjIENPTkZJR19HRU5FUklDX0NQVSBpcyBub3Qgc2V0CitDT05GSUdfWDg2X0NQVT15CitDT05GSUdfWDg2X0wxX0NBQ0hFX0JZVEVTPTY0CitDT05GSUdfWDg2X0lOVEVSTk9ERV9DQUNIRV9CWVRFUz02NAorQ09ORklHX1g4Nl9DTVBYQ0hHPXkKK0NPTkZJR19YODZfTDFfQ0FDSEVfU0hJRlQ9NgorQ09ORklHX1g4Nl9HT09EX0FQSUM9eQorQ09ORklHX1g4Nl9JTlRFTF9VU0VSQ09QWT15CitDT05GSUdfWDg2X1VTRV9QUFJPX0NIRUNLU1VNPXkKK0NPTkZJR19YODZfUDZfTk9QPXkKK0NPTkZJR19YODZfVFNDPXkKK0NPTkZJR19YODZfQ01PVj15CitDT05GSUdfWDg2X01JTklNVU1fQ1BVX0ZBTUlMWT02NAorQ09ORklHX1g4Nl9ERUJVR0NUTE1TUj15CitDT05GSUdfSFBFVF9USU1FUj15CitDT05GSUdfSFBFVF9FTVVMQVRFX1JUQz15CitDT05GSUdfRE1JPXkKK0NPTkZJR19HQVJUX0lPTU1VPXkKK0NPTkZJR19DQUxHQVJZX0lPTU1VPXkKK0NPTkZJR19DQUxHQVJZX0lPTU1VX0VOQUJMRURfQllfREVGQVVMVD15CitDT05GSUdfU1dJT1RMQj15CitDT05GSUdfSU9NTVVfSEVMUEVSPXkKK0NPTkZJR19OUl9DUFVTPTQKKyMgQ09ORklHX1NDSEVEX1NNVCBpcyBub3Qgc2V0CiBDT05GSUdfU0NIRURfTUM9eQogIyBDT05GSUdfUFJFRU1QVF9OT05FIGlzIG5vdCBzZXQKIENPTkZJR19QUkVFTVBUX1ZPTFVOVEFSWT15CiAjIENPTkZJR19QUkVFTVBUIGlzIG5vdCBzZXQKLUNPTkZJR19QUkVFTVBUX0JLTD15CitDT05GSUdfWDg2X0xPQ0FMX0FQSUM9eQorQ09ORklHX1g4Nl9JT19BUElDPXkKKyMgQ09ORklHX1g4Nl9NQ0UgaXMgbm90IHNldAorIyBDT05GSUdfSThLIGlzIG5vdCBzZXQKKyMgQ09ORklHX01JQ1JPQ09ERSBpcyBub3Qgc2V0CitDT05GSUdfWDg2X01TUj15CitDT05GSUdfWDg2X0NQVUlEPXkKIENPTkZJR19OVU1BPXkKIENPTkZJR19LOF9OVU1BPXkKLUNPTkZJR19OT0RFU19TSElGVD02CiBDT05GSUdfWDg2XzY0X0FDUElfTlVNQT15Ci1DT05GSUdfTlVNQV9FTVU9eQorQ09ORklHX05PREVTX1NQQU5fT1RIRVJfTk9ERVM9eQorIyBDT05GSUdfTlVNQV9FTVUgaXMgbm90IHNldAorQ09ORklHX05PREVTX1NISUZUPTYKK0NPTkZJR19BUkNIX1NQQVJTRU1FTV9ERUZBVUxUPXkKK0NPTkZJR19BUkNIX1NQQVJTRU1FTV9FTkFCTEU9eQorQ09ORklHX0FSQ0hfU0VMRUNUX01FTU9SWV9NT0RFTD15CitDT05GSUdfU0VMRUNUX01FTU9SWV9NT0RFTD15CisjIENPTkZJR19GTEFUTUVNX01BTlVBTCBpcyBub3Qgc2V0CisjIENPTkZJR19ESVNDT05USUdNRU1fTUFOVUFMIGlzIG5vdCBzZXQKK0NPTkZJR19TUEFSU0VNRU1fTUFOVUFMPXkKK0NPTkZJR19TUEFSU0VNRU09eQogQ09ORklHX05FRURfTVVMVElQTEVfTk9ERVM9eQorQ09ORklHX0hBVkVfTUVNT1JZX1BSRVNFTlQ9eQogIyBDT05GSUdfU1BBUlNFTUVNX1NUQVRJQyBpcyBub3Qgc2V0CitDT05GSUdfU1BBUlNFTUVNX0VYVFJFTUU9eQorQ09ORklHX1NQQVJTRU1FTV9WTUVNTUFQX0VOQUJMRT15CitDT05GSUdfU1BBUlNFTUVNX1ZNRU1NQVA9eQorCisjCisjIE1lbW9yeSBob3RwbHVnIGlzIGN1cnJlbnRseSBpbmNvbXBhdGlibGUgd2l0aCBTb2Z0d2FyZSBTdXNwZW5kCisjCitDT05GSUdfUEFHRUZMQUdTX0VYVEVOREVEPXkKIENPTkZJR19TUExJVF9QVExPQ0tfQ1BVUz00CiBDT05GSUdfTUlHUkFUSU9OPXkKIENPTkZJR19SRVNPVVJDRVNfNjRCSVQ9eQogQ09ORklHX1pPTkVfRE1BX0ZMQUc9MQogQ09ORklHX0JPVU5DRT15CiBDT05GSUdfVklSVF9UT19CVVM9eQotQ09ORklHX0hBVkVfQVJDSF9FQVJMWV9QRk5fVE9fTklEPXkKLUNPTkZJR19PVVRfT0ZfTElORV9QRk5fVE9fUEFHRT15Ci1DT05GSUdfTlJfQ1BVUz0zMgorQ09ORklHX01UUlI9eQorIyBDT05GSUdfWDg2X1BBVCBpcyBub3Qgc2V0CitDT05GSUdfRUZJPXkKK0NPTkZJR19TRUNDT01QPXkKKyMgQ09ORklHX0haXzEwMCBpcyBub3Qgc2V0CisjIENPTkZJR19IWl8yNTAgaXMgbm90IHNldAorIyBDT05GSUdfSFpfMzAwIGlzIG5vdCBzZXQKK0NPTkZJR19IWl8xMDAwPXkKK0NPTkZJR19IWj0xMDAwCitDT05GSUdfU0NIRURfSFJUSUNLPXkKK0NPTkZJR19LRVhFQz15CitDT05GSUdfQ1JBU0hfRFVNUD15CitDT05GSUdfUEhZU0lDQUxfU1RBUlQ9MHgxMDAwMDAwCitDT05GSUdfUkVMT0NBVEFCTEU9eQogQ09ORklHX1BIWVNJQ0FMX0FMSUdOPTB4MjAwMDAwCiBDT05GSUdfSE9UUExVR19DUFU9eQorIyBDT05GSUdfQ09NUEFUX1ZEU08gaXMgbm90IHNldAogQ09ORklHX0FSQ0hfRU5BQkxFX01FTU9SWV9IT1RQTFVHPXkKLUNPTkZJR19IUEVUX1RJTUVSPXkKLUNPTkZJR19IUEVUX0VNVUxBVEVfUlRDPXkKLUNPTkZJR19HQVJUX0lPTU1VPXkKLSMgQ09ORklHX0NBTEdBUllfSU9NTVUgaXMgbm90IHNldAotQ09ORklHX1NXSU9UTEI9eQotQ09ORklHX1g4Nl9NQ0U9eQotQ09ORklHX1g4Nl9NQ0VfSU5URUw9eQotQ09ORklHX1g4Nl9NQ0VfQU1EPXkKLSMgQ09ORklHX0tFWEVDIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSQVNIX0RVTVAgaXMgbm90IHNldAotIyBDT05GSUdfUkVMT0NBVEFCTEUgaXMgbm90IHNldAotQ09ORklHX1BIWVNJQ0FMX1NUQVJUPTB4MjAwMDAwCi1DT05GSUdfU0VDQ09NUD15Ci0jIENPTkZJR19DQ19TVEFDS1BST1RFQ1RPUiBpcyBub3Qgc2V0Ci0jIENPTkZJR19IWl8xMDAgaXMgbm90IHNldAotQ09ORklHX0haXzI1MD15Ci0jIENPTkZJR19IWl8zMDAgaXMgbm90IHNldAotIyBDT05GSUdfSFpfMTAwMCBpcyBub3Qgc2V0Ci1DT05GSUdfSFo9MjUwCi1DT05GSUdfSzhfTkI9eQotQ09ORklHX0dFTkVSSUNfSEFSRElSUVM9eQotQ09ORklHX0dFTkVSSUNfSVJRX1BST0JFPXkKLUNPTkZJR19JU0FfRE1BX0FQST15Ci1DT05GSUdfR0VORVJJQ19QRU5ESU5HX0lSUT15CitDT05GSUdfSEFWRV9BUkNIX0VBUkxZX1BGTl9UT19OSUQ9eQogCiAjCiAjIFBvd2VyIG1hbmFnZW1lbnQgb3B0aW9ucwogIworQ09ORklHX0FSQ0hfSElCRVJOQVRJT05fSEVBREVSPXkKIENPTkZJR19QTT15Ci0jIENPTkZJR19QTV9MRUdBQ1kgaXMgbm90IHNldAotIyBDT05GSUdfUE1fREVCVUcgaXMgbm90IHNldAorQ09ORklHX1BNX0RFQlVHPXkKKyMgQ09ORklHX1BNX1ZFUkJPU0UgaXMgbm90IHNldAorQ09ORklHX0NBTl9QTV9UUkFDRT15CitDT05GSUdfUE1fVFJBQ0U9eQorQ09ORklHX1BNX1RSQUNFX1JUQz15CitDT05GSUdfUE1fU0xFRVBfU01QPXkKK0NPTkZJR19QTV9TTEVFUD15CitDT05GSUdfU1VTUEVORD15CitDT05GSUdfU1VTUEVORF9GUkVFWkVSPXkKIENPTkZJR19ISUJFUk5BVElPTj15CiBDT05GSUdfUE1fU1REX1BBUlRJVElPTj0iIgotCi0jCi0jIEFDUEkgKEFkdmFuY2VkIENvbmZpZ3VyYXRpb24gYW5kIFBvd2VyIEludGVyZmFjZSkgU3VwcG9ydAotIwogQ09ORklHX0FDUEk9eQogQ09ORklHX0FDUElfU0xFRVA9eQotQ09ORklHX0FDUElfU0xFRVBfUFJPQ19GUz15Ci1DT05GSUdfQUNQSV9TTEVFUF9QUk9DX1NMRUVQPXkKIENPTkZJR19BQ1BJX1BST0NGUz15CitDT05GSUdfQUNQSV9QUk9DRlNfUE9XRVI9eQorQ09ORklHX0FDUElfU1lTRlNfUE9XRVI9eQorQ09ORklHX0FDUElfUFJPQ19FVkVOVD15CiBDT05GSUdfQUNQSV9BQz15CiBDT05GSUdfQUNQSV9CQVRURVJZPXkKIENPTkZJR19BQ1BJX0JVVFRPTj15CiBDT05GSUdfQUNQSV9GQU49eQotIyBDT05GSUdfQUNQSV9ET0NLIGlzIG5vdCBzZXQKK0NPTkZJR19BQ1BJX0RPQ0s9eQorIyBDT05GSUdfQUNQSV9CQVkgaXMgbm90IHNldAogQ09ORklHX0FDUElfUFJPQ0VTU09SPXkKIENPTkZJR19BQ1BJX0hPVFBMVUdfQ1BVPXkKIENPTkZJR19BQ1BJX1RIRVJNQUw9eQogQ09ORklHX0FDUElfTlVNQT15CisjIENPTkZJR19BQ1BJX1dNSSBpcyBub3Qgc2V0CiAjIENPTkZJR19BQ1BJX0FTVVMgaXMgbm90IHNldAogIyBDT05GSUdfQUNQSV9UT1NISUJBIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FDUElfQ1VTVE9NX0RTRFQgaXMgbm90IHNldAogQ09ORklHX0FDUElfQkxBQ0tMSVNUX1lFQVI9MAogIyBDT05GSUdfQUNQSV9ERUJVRyBpcyBub3Qgc2V0CiBDT05GSUdfQUNQSV9FQz15CkBAIC0yMjcsMjkgKzM1MSwzNCBAQAogQ09ORklHX0NQVV9GUkVRPXkKIENPTkZJR19DUFVfRlJFUV9UQUJMRT15CiBDT05GSUdfQ1BVX0ZSRVFfREVCVUc9eQotQ09ORklHX0NQVV9GUkVRX1NUQVQ9eQotIyBDT05GSUdfQ1BVX0ZSRVFfU1RBVF9ERVRBSUxTIGlzIG5vdCBzZXQKLUNPTkZJR19DUFVfRlJFUV9ERUZBVUxUX0dPVl9QRVJGT1JNQU5DRT15Ci0jIENPTkZJR19DUFVfRlJFUV9ERUZBVUxUX0dPVl9VU0VSU1BBQ0UgaXMgbm90IHNldAorIyBDT05GSUdfQ1BVX0ZSRVFfU1RBVCBpcyBub3Qgc2V0CisjIENPTkZJR19DUFVfRlJFUV9ERUZBVUxUX0dPVl9QRVJGT1JNQU5DRSBpcyBub3Qgc2V0CisjIENPTkZJR19DUFVfRlJFUV9ERUZBVUxUX0dPVl9QT1dFUlNBVkUgaXMgbm90IHNldAorQ09ORklHX0NQVV9GUkVRX0RFRkFVTFRfR09WX1VTRVJTUEFDRT15CisjIENPTkZJR19DUFVfRlJFUV9ERUZBVUxUX0dPVl9PTkRFTUFORCBpcyBub3Qgc2V0CisjIENPTkZJR19DUFVfRlJFUV9ERUZBVUxUX0dPVl9DT05TRVJWQVRJVkUgaXMgbm90IHNldAogQ09ORklHX0NQVV9GUkVRX0dPVl9QRVJGT1JNQU5DRT15CiAjIENPTkZJR19DUFVfRlJFUV9HT1ZfUE9XRVJTQVZFIGlzIG5vdCBzZXQKIENPTkZJR19DUFVfRlJFUV9HT1ZfVVNFUlNQQUNFPXkKIENPTkZJR19DUFVfRlJFUV9HT1ZfT05ERU1BTkQ9eQotQ09ORklHX0NQVV9GUkVRX0dPVl9DT05TRVJWQVRJVkU9eQorIyBDT05GSUdfQ1BVX0ZSRVFfR09WX0NPTlNFUlZBVElWRSBpcyBub3Qgc2V0CiAKICMKICMgQ1BVRnJlcSBwcm9jZXNzb3IgZHJpdmVycwogIwotQ09ORklHX1g4Nl9QT1dFUk5PV19LOD15Ci1DT05GSUdfWDg2X1BPV0VSTk9XX0s4X0FDUEk9eQotIyBDT05GSUdfWDg2X1NQRUVEU1RFUF9DRU5UUklOTyBpcyBub3Qgc2V0CiBDT05GSUdfWDg2X0FDUElfQ1BVRlJFUT15CisjIENPTkZJR19YODZfUE9XRVJOT1dfSzggaXMgbm90IHNldAorIyBDT05GSUdfWDg2X1NQRUVEU1RFUF9DRU5UUklOTyBpcyBub3Qgc2V0CisjIENPTkZJR19YODZfUDRfQ0xPQ0tNT0QgaXMgbm90IHNldAogCiAjCiAjIHNoYXJlZCBvcHRpb25zCiAjCi1DT05GSUdfWDg2X0FDUElfQ1BVRlJFUV9QUk9DX0lOVEY9eQorIyBDT05GSUdfWDg2X0FDUElfQ1BVRlJFUV9QUk9DX0lOVEYgaXMgbm90IHNldAogIyBDT05GSUdfWDg2X1NQRUVEU1RFUF9MSUIgaXMgbm90IHNldAorQ09ORklHX0NQVV9JRExFPXkKK0NPTkZJR19DUFVfSURMRV9HT1ZfTEFEREVSPXkKK0NPTkZJR19DUFVfSURMRV9HT1ZfTUVOVT15CiAKICMKICMgQnVzIG9wdGlvbnMgKFBDSSBldGMuKQpAQCAtMjU3LDI3ICszODYsNTYgQEAKIENPTkZJR19QQ0k9eQogQ09ORklHX1BDSV9ESVJFQ1Q9eQogQ09ORklHX1BDSV9NTUNPTkZJRz15CitDT05GSUdfUENJX0RPTUFJTlM9eQorQ09ORklHX0RNQVI9eQorQ09ORklHX0RNQVJfR0ZYX1dBPXkKK0NPTkZJR19ETUFSX0ZMT1BQWV9XQT15CiBDT05GSUdfUENJRVBPUlRCVVM9eQorIyBDT05GSUdfSE9UUExVR19QQ0lfUENJRSBpcyBub3Qgc2V0CiBDT05GSUdfUENJRUFFUj15CisjIENPTkZJR19QQ0lFQVNQTSBpcyBub3Qgc2V0CiBDT05GSUdfQVJDSF9TVVBQT1JUU19NU0k9eQogQ09ORklHX1BDSV9NU0k9eQorIyBDT05GSUdfUENJX0xFR0FDWSBpcyBub3Qgc2V0CiAjIENPTkZJR19QQ0lfREVCVUcgaXMgbm90IHNldAotIyBDT05GSUdfSFRfSVJRIGlzIG5vdCBzZXQKK0NPTkZJR19IVF9JUlE9eQorQ09ORklHX0lTQV9ETUFfQVBJPXkKK0NPTkZJR19LOF9OQj15CitDT05GSUdfUENDQVJEPXkKKyMgQ09ORklHX1BDTUNJQV9ERUJVRyBpcyBub3Qgc2V0CitDT05GSUdfUENNQ0lBPXkKK0NPTkZJR19QQ01DSUFfTE9BRF9DSVM9eQorQ09ORklHX1BDTUNJQV9JT0NUTD15CitDT05GSUdfQ0FSREJVUz15CiAKICMKLSMgUENDQVJEIChQQ01DSUEvQ2FyZEJ1cykgc3VwcG9ydAorIyBQQy1jYXJkIGJyaWRnZXMKICMKLSMgQ09ORklHX1BDQ0FSRCBpcyBub3Qgc2V0Ci0jIENPTkZJR19IT1RQTFVHX1BDSSBpcyBub3Qgc2V0CitDT05GSUdfWUVOVEE9eQorQ09ORklHX1lFTlRBX08yPXkKK0NPTkZJR19ZRU5UQV9SSUNPSD15CitDT05GSUdfWUVOVEFfVEk9eQorQ09ORklHX1lFTlRBX0VORV9UVU5FPXkKK0NPTkZJR19ZRU5UQV9UT1NISUJBPXkKKyMgQ09ORklHX1BENjcyOSBpcyBub3Qgc2V0CisjIENPTkZJR19JODIwOTIgaXMgbm90IHNldAorQ09ORklHX1BDQ0FSRF9OT05TVEFUSUM9eQorQ09ORklHX0hPVFBMVUdfUENJPXkKKyMgQ09ORklHX0hPVFBMVUdfUENJX0ZBS0UgaXMgbm90IHNldAorIyBDT05GSUdfSE9UUExVR19QQ0lfQUNQSSBpcyBub3Qgc2V0CisjIENPTkZJR19IT1RQTFVHX1BDSV9DUENJIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hPVFBMVUdfUENJX1NIUEMgaXMgbm90IHNldAogCiAjCiAjIEV4ZWN1dGFibGUgZmlsZSBmb3JtYXRzIC8gRW11bGF0aW9ucwogIwogQ09ORklHX0JJTkZNVF9FTEY9eQotIyBDT05GSUdfQklORk1UX01JU0MgaXMgbm90IHNldAorQ09ORklHX0NPTVBBVF9CSU5GTVRfRUxGPXkKK0NPTkZJR19CSU5GTVRfTUlTQz15CiBDT05GSUdfSUEzMl9FTVVMQVRJT049eQotQ09ORklHX0lBMzJfQU9VVD15CisjIENPTkZJR19JQTMyX0FPVVQgaXMgbm90IHNldAogQ09ORklHX0NPTVBBVD15CitDT05GSUdfQ09NUEFUX0ZPUl9VNjRfQUxJR05NRU5UPXkKIENPTkZJR19TWVNWSVBDX0NPTVBBVD15CiAKICMKQEAgLTI4OSwyMiArNDQ3LDMxIEBACiAjIE5ldHdvcmtpbmcgb3B0aW9ucwogIwogQ09ORklHX1BBQ0tFVD15Ci0jIENPTkZJR19QQUNLRVRfTU1BUCBpcyBub3Qgc2V0CitDT05GSUdfUEFDS0VUX01NQVA9eQogQ09ORklHX1VOSVg9eQorQ09ORklHX1hGUk09eQorQ09ORklHX1hGUk1fVVNFUj15CisjIENPTkZJR19YRlJNX1NVQl9QT0xJQ1kgaXMgbm90IHNldAorIyBDT05GSUdfWEZSTV9NSUdSQVRFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1hGUk1fU1RBVElTVElDUyBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRfS0VZIGlzIG5vdCBzZXQKIENPTkZJR19JTkVUPXkKIENPTkZJR19JUF9NVUxUSUNBU1Q9eQotIyBDT05GSUdfSVBfQURWQU5DRURfUk9VVEVSIGlzIG5vdCBzZXQKK0NPTkZJR19JUF9BRFZBTkNFRF9ST1VURVI9eQorQ09ORklHX0FTS19JUF9GSUJfSEFTSD15CisjIENPTkZJR19JUF9GSUJfVFJJRSBpcyBub3Qgc2V0CiBDT05GSUdfSVBfRklCX0hBU0g9eQotQ09ORklHX0lQX1BOUD15Ci1DT05GSUdfSVBfUE5QX0RIQ1A9eQotIyBDT05GSUdfSVBfUE5QX0JPT1RQIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lQX1BOUF9SQVJQIGlzIG5vdCBzZXQKK0NPTkZJR19JUF9NVUxUSVBMRV9UQUJMRVM9eQorQ09ORklHX0lQX1JPVVRFX01VTFRJUEFUSD15CitDT05GSUdfSVBfUk9VVEVfVkVSQk9TRT15CisjIENPTkZJR19JUF9QTlAgaXMgbm90IHNldAogIyBDT05GSUdfTkVUX0lQSVAgaXMgbm90IHNldAogIyBDT05GSUdfTkVUX0lQR1JFIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lQX01ST1VURSBpcyBub3Qgc2V0CitDT05GSUdfSVBfTVJPVVRFPXkKK0NPTkZJR19JUF9QSU1TTV9WMT15CitDT05GSUdfSVBfUElNU01fVjI9eQogIyBDT05GSUdfQVJQRCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TWU5fQ09PS0lFUyBpcyBub3Qgc2V0CitDT05GSUdfU1lOX0NPT0tJRVM9eQogIyBDT05GSUdfSU5FVF9BSCBpcyBub3Qgc2V0CiAjIENPTkZJR19JTkVUX0VTUCBpcyBub3Qgc2V0CiAjIENPTkZJR19JTkVUX0lQQ09NUCBpcyBub3Qgc2V0CkBAIC0zMTMsMzEgKzQ4MCwxMDkgQEAKICMgQ09ORklHX0lORVRfWEZSTV9NT0RFX1RSQU5TUE9SVCBpcyBub3Qgc2V0CiAjIENPTkZJR19JTkVUX1hGUk1fTU9ERV9UVU5ORUwgaXMgbm90IHNldAogIyBDT05GSUdfSU5FVF9YRlJNX01PREVfQkVFVCBpcyBub3Qgc2V0Ci1DT05GSUdfSU5FVF9ESUFHPXkKLUNPTkZJR19JTkVUX1RDUF9ESUFHPXkKLSMgQ09ORklHX1RDUF9DT05HX0FEVkFOQ0VEIGlzIG5vdCBzZXQKK0NPTkZJR19JTkVUX0xSTz15CisjIENPTkZJR19JTkVUX0RJQUcgaXMgbm90IHNldAorQ09ORklHX1RDUF9DT05HX0FEVkFOQ0VEPXkKKyMgQ09ORklHX1RDUF9DT05HX0JJQyBpcyBub3Qgc2V0CiBDT05GSUdfVENQX0NPTkdfQ1VCSUM9eQorIyBDT05GSUdfVENQX0NPTkdfV0VTVFdPT0QgaXMgbm90IHNldAorIyBDT05GSUdfVENQX0NPTkdfSFRDUCBpcyBub3Qgc2V0CisjIENPTkZJR19UQ1BfQ09OR19IU1RDUCBpcyBub3Qgc2V0CisjIENPTkZJR19UQ1BfQ09OR19IWUJMQSBpcyBub3Qgc2V0CisjIENPTkZJR19UQ1BfQ09OR19WRUdBUyBpcyBub3Qgc2V0CisjIENPTkZJR19UQ1BfQ09OR19TQ0FMQUJMRSBpcyBub3Qgc2V0CisjIENPTkZJR19UQ1BfQ09OR19MUCBpcyBub3Qgc2V0CisjIENPTkZJR19UQ1BfQ09OR19WRU5PIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RDUF9DT05HX1lFQUggaXMgbm90IHNldAorIyBDT05GSUdfVENQX0NPTkdfSUxMSU5PSVMgaXMgbm90IHNldAorIyBDT05GSUdfREVGQVVMVF9CSUMgaXMgbm90IHNldAorQ09ORklHX0RFRkFVTFRfQ1VCSUM9eQorIyBDT05GSUdfREVGQVVMVF9IVENQIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFRkFVTFRfVkVHQVMgaXMgbm90IHNldAorIyBDT05GSUdfREVGQVVMVF9XRVNUV09PRCBpcyBub3Qgc2V0CisjIENPTkZJR19ERUZBVUxUX1JFTk8gaXMgbm90IHNldAogQ09ORklHX0RFRkFVTFRfVENQX0NPTkc9ImN1YmljIgotIyBDT05GSUdfVENQX01ENVNJRyBpcyBub3Qgc2V0CitDT05GSUdfVENQX01ENVNJRz15CisjIENPTkZJR19JUF9WUyBpcyBub3Qgc2V0CiBDT05GSUdfSVBWNj15CiAjIENPTkZJR19JUFY2X1BSSVZBQ1kgaXMgbm90IHNldAogIyBDT05GSUdfSVBWNl9ST1VURVJfUFJFRiBpcyBub3Qgc2V0CiAjIENPTkZJR19JUFY2X09QVElNSVNUSUNfREFEIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lORVQ2X0FIIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lORVQ2X0VTUCBpcyBub3Qgc2V0CitDT05GSUdfSU5FVDZfQUg9eQorQ09ORklHX0lORVQ2X0VTUD15CiAjIENPTkZJR19JTkVUNl9JUENPTVAgaXMgbm90IHNldAogIyBDT05GSUdfSVBWNl9NSVA2IGlzIG5vdCBzZXQKICMgQ09ORklHX0lORVQ2X1hGUk1fVFVOTkVMIGlzIG5vdCBzZXQKICMgQ09ORklHX0lORVQ2X1RVTk5FTCBpcyBub3Qgc2V0Ci0jIENPTkZJR19JTkVUNl9YRlJNX01PREVfVFJBTlNQT1JUIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lORVQ2X1hGUk1fTU9ERV9UVU5ORUwgaXMgbm90IHNldAotIyBDT05GSUdfSU5FVDZfWEZSTV9NT0RFX0JFRVQgaXMgbm90IHNldAorQ09ORklHX0lORVQ2X1hGUk1fTU9ERV9UUkFOU1BPUlQ9eQorQ09ORklHX0lORVQ2X1hGUk1fTU9ERV9UVU5ORUw9eQorQ09ORklHX0lORVQ2X1hGUk1fTU9ERV9CRUVUPXkKICMgQ09ORklHX0lORVQ2X1hGUk1fTU9ERV9ST1VURU9QVElNSVpBVElPTiBpcyBub3Qgc2V0CiBDT05GSUdfSVBWNl9TSVQ9eQorQ09ORklHX0lQVjZfTkRJU0NfTk9ERVRZUEU9eQogIyBDT05GSUdfSVBWNl9UVU5ORUwgaXMgbm90IHNldAogIyBDT05GSUdfSVBWNl9NVUxUSVBMRV9UQUJMRVMgaXMgbm90IHNldAotIyBDT05GSUdfTkVUV09SS19TRUNNQVJLIGlzIG5vdCBzZXQKLSMgQ09ORklHX05FVEZJTFRFUiBpcyBub3Qgc2V0CisjIENPTkZJR19JUFY2X01ST1VURSBpcyBub3Qgc2V0CitDT05GSUdfTkVUTEFCRUw9eQorQ09ORklHX05FVFdPUktfU0VDTUFSSz15CitDT05GSUdfTkVURklMVEVSPXkKKyMgQ09ORklHX05FVEZJTFRFUl9ERUJVRyBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRGSUxURVJfQURWQU5DRUQgaXMgbm90IHNldAorCisjCisjIENvcmUgTmV0ZmlsdGVyIENvbmZpZ3VyYXRpb24KKyMKK0NPTkZJR19ORVRGSUxURVJfTkVUTElOSz15CitDT05GSUdfTkVURklMVEVSX05FVExJTktfTE9HPXkKK0NPTkZJR19ORl9DT05OVFJBQ0s9eQorQ09ORklHX05GX0NPTk5UUkFDS19TRUNNQVJLPXkKK0NPTkZJR19ORl9DT05OVFJBQ0tfRlRQPXkKK0NPTkZJR19ORl9DT05OVFJBQ0tfSVJDPXkKK0NPTkZJR19ORl9DT05OVFJBQ0tfU0lQPXkKK0NPTkZJR19ORl9DVF9ORVRMSU5LPXkKK0NPTkZJR19ORVRGSUxURVJfWFRBQkxFUz15CitDT05GSUdfTkVURklMVEVSX1hUX1RBUkdFVF9NQVJLPXkKK0NPTkZJR19ORVRGSUxURVJfWFRfVEFSR0VUX05GTE9HPXkKK0NPTkZJR19ORVRGSUxURVJfWFRfVEFSR0VUX1NFQ01BUks9eQorQ09ORklHX05FVEZJTFRFUl9YVF9UQVJHRVRfQ09OTlNFQ01BUks9eQorQ09ORklHX05FVEZJTFRFUl9YVF9UQVJHRVRfVENQTVNTPXkKK0NPTkZJR19ORVRGSUxURVJfWFRfTUFUQ0hfQ09OTlRSQUNLPXkKK0NPTkZJR19ORVRGSUxURVJfWFRfTUFUQ0hfTUFSSz15CitDT05GSUdfTkVURklMVEVSX1hUX01BVENIX1BPTElDWT15CitDT05GSUdfTkVURklMVEVSX1hUX01BVENIX1NUQVRFPXkKKworIworIyBJUDogTmV0ZmlsdGVyIENvbmZpZ3VyYXRpb24KKyMKK0NPTkZJR19ORl9DT05OVFJBQ0tfSVBWND15CitDT05GSUdfTkZfQ09OTlRSQUNLX1BST0NfQ09NUEFUPXkKK0NPTkZJR19JUF9ORl9JUFRBQkxFUz15CitDT05GSUdfSVBfTkZfRklMVEVSPXkKK0NPTkZJR19JUF9ORl9UQVJHRVRfUkVKRUNUPXkKK0NPTkZJR19JUF9ORl9UQVJHRVRfTE9HPXkKK0NPTkZJR19JUF9ORl9UQVJHRVRfVUxPRz15CitDT05GSUdfTkZfTkFUPXkKK0NPTkZJR19ORl9OQVRfTkVFREVEPXkKK0NPTkZJR19JUF9ORl9UQVJHRVRfTUFTUVVFUkFERT15CitDT05GSUdfTkZfTkFUX0ZUUD15CitDT05GSUdfTkZfTkFUX0lSQz15CisjIENPTkZJR19ORl9OQVRfVEZUUCBpcyBub3Qgc2V0CisjIENPTkZJR19ORl9OQVRfQU1BTkRBIGlzIG5vdCBzZXQKKyMgQ09ORklHX05GX05BVF9QUFRQIGlzIG5vdCBzZXQKKyMgQ09ORklHX05GX05BVF9IMzIzIGlzIG5vdCBzZXQKK0NPTkZJR19ORl9OQVRfU0lQPXkKK0NPTkZJR19JUF9ORl9NQU5HTEU9eQorCisjCisjIElQdjY6IE5ldGZpbHRlciBDb25maWd1cmF0aW9uCisjCitDT05GSUdfTkZfQ09OTlRSQUNLX0lQVjY9eQorQ09ORklHX0lQNl9ORl9JUFRBQkxFUz15CitDT05GSUdfSVA2X05GX01BVENIX0lQVjZIRUFERVI9eQorQ09ORklHX0lQNl9ORl9GSUxURVI9eQorQ09ORklHX0lQNl9ORl9UQVJHRVRfTE9HPXkKK0NPTkZJR19JUDZfTkZfVEFSR0VUX1JFSkVDVD15CitDT05GSUdfSVA2X05GX01BTkdMRT15CiAjIENPTkZJR19JUF9EQ0NQIGlzIG5vdCBzZXQKICMgQ09ORklHX0lQX1NDVFAgaXMgbm90IHNldAogIyBDT05GSUdfVElQQyBpcyBub3Qgc2V0CkBAIC0zNDUsNiArNTkwLDcgQEAKICMgQ09ORklHX0JSSURHRSBpcyBub3Qgc2V0CiAjIENPTkZJR19WTEFOXzgwMjFRIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQ05FVCBpcyBub3Qgc2V0CitDT05GSUdfTExDPXkKICMgQ09ORklHX0xMQzIgaXMgbm90IHNldAogIyBDT05GSUdfSVBYIGlzIG5vdCBzZXQKICMgQ09ORklHX0FUQUxLIGlzIG5vdCBzZXQKQEAgLTM1MiwyOCArNTk4LDk5IEBACiAjIENPTkZJR19MQVBCIGlzIG5vdCBzZXQKICMgQ09ORklHX0VDT05FVCBpcyBub3Qgc2V0CiAjIENPTkZJR19XQU5fUk9VVEVSIGlzIG5vdCBzZXQKK0NPTkZJR19ORVRfU0NIRUQ9eQogCiAjCi0jIFFvUyBhbmQvb3IgZmFpciBxdWV1ZWluZworIyBRdWV1ZWluZy9TY2hlZHVsaW5nCiAjCi0jIENPTkZJR19ORVRfU0NIRUQgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX1NDSF9DQlEgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX1NDSF9IVEIgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX1NDSF9IRlNDIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9TQ0hfUFJJTyBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfU0NIX1JSIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9TQ0hfUkVEIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9TQ0hfU0ZRIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9TQ0hfVEVRTCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfU0NIX1RCRiBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfU0NIX0dSRUQgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX1NDSF9EU01BUksgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX1NDSF9ORVRFTSBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfU0NIX0lOR1JFU1MgaXMgbm90IHNldAorCisjCisjIENsYXNzaWZpY2F0aW9uCisjCitDT05GSUdfTkVUX0NMUz15CisjIENPTkZJR19ORVRfQ0xTX0JBU0lDIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9DTFNfVENJTkRFWCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfQ0xTX1JPVVRFNCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfQ0xTX0ZXIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9DTFNfVTMyIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9DTFNfUlNWUCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfQ0xTX1JTVlA2IGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9DTFNfRkxPVyBpcyBub3Qgc2V0CitDT05GSUdfTkVUX0VNQVRDSD15CitDT05GSUdfTkVUX0VNQVRDSF9TVEFDSz0zMgorIyBDT05GSUdfTkVUX0VNQVRDSF9DTVAgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX0VNQVRDSF9OQllURSBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfRU1BVENIX1UzMiBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfRU1BVENIX01FVEEgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX0VNQVRDSF9URVhUIGlzIG5vdCBzZXQKK0NPTkZJR19ORVRfQ0xTX0FDVD15CisjIENPTkZJR19ORVRfQUNUX1BPTElDRSBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfQUNUX0dBQ1QgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX0FDVF9NSVJSRUQgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX0FDVF9JUFQgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX0FDVF9OQVQgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX0FDVF9QRURJVCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfQUNUX1NJTVAgaXMgbm90IHNldAorQ09ORklHX05FVF9TQ0hfRklGTz15CiAKICMKICMgTmV0d29yayB0ZXN0aW5nCiAjCiAjIENPTkZJR19ORVRfUEtUR0VOIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVF9UQ1BQUk9CRSBpcyBub3Qgc2V0Ci0jIENPTkZJR19IQU1SQURJTyBpcyBub3Qgc2V0CitDT05GSUdfSEFNUkFESU89eQorCisjCisjIFBhY2tldCBSYWRpbyBwcm90b2NvbHMKKyMKKyMgQ09ORklHX0FYMjUgaXMgbm90IHNldAorIyBDT05GSUdfQ0FOIGlzIG5vdCBzZXQKICMgQ09ORklHX0lSREEgaXMgbm90IHNldAogIyBDT05GSUdfQlQgaXMgbm90IHNldAogIyBDT05GSUdfQUZfUlhSUEMgaXMgbm90IHNldAorQ09ORklHX0ZJQl9SVUxFUz15CiAKICMKICMgV2lyZWxlc3MKICMKLSMgQ09ORklHX0NGRzgwMjExIGlzIG5vdCBzZXQKLSMgQ09ORklHX1dJUkVMRVNTX0VYVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19NQUM4MDIxMSBpcyBub3Qgc2V0CitDT05GSUdfQ0ZHODAyMTE9eQorQ09ORklHX05MODAyMTE9eQorQ09ORklHX1dJUkVMRVNTX0VYVD15CitDT05GSUdfTUFDODAyMTE9eQorCisjCisjIFJhdGUgY29udHJvbCBhbGdvcml0aG0gc2VsZWN0aW9uCisjCitDT05GSUdfTUFDODAyMTFfUkNfREVGQVVMVF9QSUQ9eQorIyBDT05GSUdfTUFDODAyMTFfUkNfREVGQVVMVF9OT05FIGlzIG5vdCBzZXQKKworIworIyBTZWxlY3RpbmcgJ3knIGZvciBhbiBhbGdvcml0aG0gd2lsbAorIworCisjCisjIGJ1aWxkIHRoZSBhbGdvcml0aG0gaW50byBtYWM4MDIxMS4KKyMKK0NPTkZJR19NQUM4MDIxMV9SQ19ERUZBVUxUPSJwaWQiCitDT05GSUdfTUFDODAyMTFfUkNfUElEPXkKKyMgQ09ORklHX01BQzgwMjExX01FU0ggaXMgbm90IHNldAorQ09ORklHX01BQzgwMjExX0xFRFM9eQorIyBDT05GSUdfTUFDODAyMTFfREVCVUdGUyBpcyBub3Qgc2V0CisjIENPTkZJR19NQUM4MDIxMV9ERUJVR19QQUNLRVRfQUxJR05NRU5UIGlzIG5vdCBzZXQKKyMgQ09ORklHX01BQzgwMjExX0RFQlVHIGlzIG5vdCBzZXQKICMgQ09ORklHX0lFRUU4MDIxMSBpcyBub3Qgc2V0CiAjIENPTkZJR19SRktJTEwgaXMgbm90IHNldAogIyBDT05GSUdfTkVUXzlQIGlzIG5vdCBzZXQKQEAgLTM4NSwxMyArNzAyLDE1IEBACiAjCiAjIEdlbmVyaWMgRHJpdmVyIE9wdGlvbnMKICMKK0NPTkZJR19VRVZFTlRfSEVMUEVSX1BBVEg9Ii9zYmluL2hvdHBsdWciCiBDT05GSUdfU1RBTkRBTE9ORT15CiBDT05GSUdfUFJFVkVOVF9GSVJNV0FSRV9CVUlMRD15CiBDT05GSUdfRldfTE9BREVSPXkKICMgQ09ORklHX0RFQlVHX0RSSVZFUiBpcyBub3Qgc2V0Ci0jIENPTkZJR19ERUJVR19ERVZSRVMgaXMgbm90IHNldAorQ09ORklHX0RFQlVHX0RFVlJFUz15CiAjIENPTkZJR19TWVNfSFlQRVJWSVNPUiBpcyBub3Qgc2V0Ci0jIENPTkZJR19DT05ORUNUT1IgaXMgbm90IHNldAorQ09ORklHX0NPTk5FQ1RPUj15CitDT05GSUdfUFJPQ19FVkVOVFM9eQogIyBDT05GSUdfTVREIGlzIG5vdCBzZXQKICMgQ09ORklHX1BBUlBPUlQgaXMgbm90IHNldAogQ09ORklHX1BOUD15CkBAIC00MDIsNyArNzIxLDcgQEAKICMKIENPTkZJR19QTlBBQ1BJPXkKIENPTkZJR19CTEtfREVWPXkKLUNPTkZJR19CTEtfREVWX0ZEPXkKKyMgQ09ORklHX0JMS19ERVZfRkQgaXMgbm90IHNldAogIyBDT05GSUdfQkxLX0NQUV9EQSBpcyBub3Qgc2V0CiAjIENPTkZJR19CTEtfQ1BRX0NJU1NfREEgaXMgbm90IHNldAogIyBDT05GSUdfQkxLX0RFVl9EQUM5NjAgaXMgbm90IHNldApAQCAtNDE1LDggKzczNCw4IEBACiAjIENPTkZJR19CTEtfREVWX1VCIGlzIG5vdCBzZXQKIENPTkZJR19CTEtfREVWX1JBTT15CiBDT05GSUdfQkxLX0RFVl9SQU1fQ09VTlQ9MTYKLUNPTkZJR19CTEtfREVWX1JBTV9TSVpFPTQwOTYKLUNPTkZJR19CTEtfREVWX1JBTV9CTE9DS1NJWkU9MTAyNAorQ09ORklHX0JMS19ERVZfUkFNX1NJWkU9MTYzODQKKyMgQ09ORklHX0JMS19ERVZfWElQIGlzIG5vdCBzZXQKICMgQ09ORklHX0NEUk9NX1BLVENEVkQgaXMgbm90IHNldAogIyBDT05GSUdfQVRBX09WRVJfRVRIIGlzIG5vdCBzZXQKIENPTkZJR19NSVNDX0RFVklDRVM9eQpAQCAtNDI1LDcyICs3NDQsMTYgQEAKICMgQ09ORklHX0VFUFJPTV85M0NYNiBpcyBub3Qgc2V0CiAjIENPTkZJR19TR0lfSU9DNCBpcyBub3Qgc2V0CiAjIENPTkZJR19USUZNX0NPUkUgaXMgbm90IHNldAorIyBDT05GSUdfQUNFUl9XTUkgaXMgbm90IHNldAorIyBDT05GSUdfQVNVU19MQVBUT1AgaXMgbm90IHNldAorIyBDT05GSUdfRlVKSVRTVV9MQVBUT1AgaXMgbm90IHNldAorIyBDT05GSUdfTVNJX0xBUFRPUCBpcyBub3Qgc2V0CiAjIENPTkZJR19TT05ZX0xBUFRPUCBpcyBub3Qgc2V0CiAjIENPTkZJR19USElOS1BBRF9BQ1BJIGlzIG5vdCBzZXQKLUNPTkZJR19JREU9eQotQ09ORklHX0JMS19ERVZfSURFPXkKLQotIwotIyBQbGVhc2Ugc2VlIERvY3VtZW50YXRpb24vaWRlLnR4dCBmb3IgaGVscC9pbmZvIG9uIElERSBkcml2ZXMKLSMKLSMgQ09ORklHX0JMS19ERVZfSURFX1NBVEEgaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9IRF9JREUgaXMgbm90IHNldAotQ09ORklHX0JMS19ERVZfSURFRElTSz15Ci1DT05GSUdfSURFRElTS19NVUxUSV9NT0RFPXkKLUNPTkZJR19CTEtfREVWX0lERUNEPXkKLSMgQ09ORklHX0JMS19ERVZfSURFVEFQRSBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX0lERUZMT1BQWSBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX0lERVNDU0kgaXMgbm90IHNldAotQ09ORklHX0JMS19ERVZfSURFQUNQST15Ci0jIENPTkZJR19JREVfVEFTS19JT0NUTCBpcyBub3Qgc2V0Ci1DT05GSUdfSURFX1BST0NfRlM9eQotCi0jCi0jIElERSBjaGlwc2V0IHN1cHBvcnQvYnVnZml4ZXMKLSMKLUNPTkZJR19JREVfR0VORVJJQz15Ci0jIENPTkZJR19CTEtfREVWX0NNRDY0MCBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX0lERVBOUCBpcyBub3Qgc2V0Ci1DT05GSUdfQkxLX0RFVl9JREVQQ0k9eQotIyBDT05GSUdfSURFUENJX1NIQVJFX0lSUSBpcyBub3Qgc2V0Ci1DT05GSUdfSURFUENJX1BDSUJVU19PUkRFUj15Ci0jIENPTkZJR19CTEtfREVWX09GRkJPQVJEIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfR0VORVJJQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX09QVEk2MjEgaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9SWjEwMDAgaXMgbm90IHNldAotQ09ORklHX0JMS19ERVZfSURFRE1BX1BDST15Ci0jIENPTkZJR19CTEtfREVWX0lERURNQV9GT1JDRUQgaXMgbm90IHNldAotIyBDT05GSUdfSURFRE1BX09OTFlESVNLIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfQUVDNjJYWCBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX0FMSTE1WDMgaXMgbm90IHNldAotQ09ORklHX0JMS19ERVZfQU1ENzRYWD15Ci1DT05GSUdfQkxLX0RFVl9BVElJWFA9eQotIyBDT05GSUdfQkxLX0RFVl9DTUQ2NFggaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9UUklGTEVYIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfQ1k4MkM2OTMgaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9DUzU1MjAgaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9DUzU1MzAgaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9IUFQzNFggaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9IUFQzNjYgaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9KTUlDUk9OIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfU0MxMjAwIGlzIG5vdCBzZXQKLUNPTkZJR19CTEtfREVWX1BJSVg9eQotIyBDT05GSUdfQkxLX0RFVl9JVDgyMTMgaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9JVDgyMVggaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9OUzg3NDE1IGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfUERDMjAyWFhfT0xEIGlzIG5vdCBzZXQKLUNPTkZJR19CTEtfREVWX1BEQzIwMlhYX05FVz15Ci0jIENPTkZJR19CTEtfREVWX1NWV0tTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfU0lJTUFHRSBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX1NJUzU1MTMgaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9TTEM5MEU2NiBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX1RSTTI5MCBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX1ZJQTgyQ1hYWCBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX1RDODZDMDAxIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lERV9BUk0gaXMgbm90IHNldAotQ09ORklHX0JMS19ERVZfSURFRE1BPXkKLSMgQ09ORklHX0lERURNQV9JVkIgaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9IRCBpcyBub3Qgc2V0CisjIENPTkZJR19JTlRFTF9NRU5MT1cgaXMgbm90IHNldAorIyBDT05GSUdfRU5DTE9TVVJFX1NFUlZJQ0VTIGlzIG5vdCBzZXQKK0NPTkZJR19IQVZFX0lERT15CisjIENPTkZJR19JREUgaXMgbm90IHNldAogCiAjCiAjIFNDU0kgZGV2aWNlIHN1cHBvcnQKQEAgLTQ5OSw4ICs3NjIsOCBAQAogQ09ORklHX1NDU0k9eQogQ09ORklHX1NDU0lfRE1BPXkKICMgQ09ORklHX1NDU0lfVEdUIGlzIG5vdCBzZXQKLUNPTkZJR19TQ1NJX05FVExJTks9eQotIyBDT05GSUdfU0NTSV9QUk9DX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NDU0lfTkVUTElOSyBpcyBub3Qgc2V0CitDT05GSUdfU0NTSV9QUk9DX0ZTPXkKIAogIwogIyBTQ1NJIHN1cHBvcnQgdHlwZSAoZGlzaywgdGFwZSwgQ0QtUk9NKQpAQCAtNTA5LDcgKzc3Miw3IEBACiAjIENPTkZJR19DSFJfREVWX1NUIGlzIG5vdCBzZXQKICMgQ09ORklHX0NIUl9ERVZfT1NTVCBpcyBub3Qgc2V0CiBDT05GSUdfQkxLX0RFVl9TUj15Ci0jIENPTkZJR19CTEtfREVWX1NSX1ZFTkRPUiBpcyBub3Qgc2V0CitDT05GSUdfQkxLX0RFVl9TUl9WRU5ET1I9eQogQ09ORklHX0NIUl9ERVZfU0c9eQogIyBDT05GSUdfQ0hSX0RFVl9TQ0ggaXMgbm90IHNldAogCkBAIC01MjYsNzMgKzc4OSwzNyBAQAogIyBTQ1NJIFRyYW5zcG9ydHMKICMKIENPTkZJR19TQ1NJX1NQSV9BVFRSUz15Ci1DT05GSUdfU0NTSV9GQ19BVFRSUz15CisjIENPTkZJR19TQ1NJX0ZDX0FUVFJTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfSVNDU0lfQVRUUlMgaXMgbm90IHNldAotQ09ORklHX1NDU0lfU0FTX0FUVFJTPXkKKyMgQ09ORklHX1NDU0lfU0FTX0FUVFJTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfU0FTX0xJQlNBUyBpcyBub3Qgc2V0Ci0KLSMKLSMgU0NTSSBsb3ctbGV2ZWwgZHJpdmVycwotIwotIyBDT05GSUdfSVNDU0lfVENQIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfM1dfWFhYWF9SQUlEIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfM1dfOVhYWCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX0FDQVJEIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfQUFDUkFJRCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX0FJQzdYWFggaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9BSUM3WFhYX09MRCBpcyBub3Qgc2V0Ci1DT05GSUdfU0NTSV9BSUM3OVhYPXkKLUNPTkZJR19BSUM3OVhYX0NNRFNfUEVSX0RFVklDRT0zMgotQ09ORklHX0FJQzc5WFhfUkVTRVRfREVMQVlfTVM9NDAwMAotIyBDT05GSUdfQUlDNzlYWF9ERUJVR19FTkFCTEUgaXMgbm90IHNldAotQ09ORklHX0FJQzc5WFhfREVCVUdfTUFTSz0wCi0jIENPTkZJR19BSUM3OVhYX1JFR19QUkVUVFlfUFJJTlQgaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9BSUM5NFhYIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfQVJDTVNSIGlzIG5vdCBzZXQKLSMgQ09ORklHX01FR0FSQUlEX05FV0dFTiBpcyBub3Qgc2V0Ci0jIENPTkZJR19NRUdBUkFJRF9MRUdBQ1kgaXMgbm90IHNldAotIyBDT05GSUdfTUVHQVJBSURfU0FTIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfSFBUSU9QIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfQlVTTE9HSUMgaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9ETVgzMTkxRCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX0VBVEEgaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9GVVRVUkVfRE9NQUlOIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfR0RUSCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX0lQUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX0lOSVRJTyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX0lOSUExMDAgaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9TVEVYIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfU1lNNTNDOFhYXzIgaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9JUFIgaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9RTE9HSUNfMTI4MCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX1FMQV9GQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX1FMQV9JU0NTSSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX0xQRkMgaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9EQzM5NXggaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9EQzM5MFQgaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9ERUJVRyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX1NSUCBpcyBub3Qgc2V0CisjIENPTkZJR19TQ1NJX1NSUF9BVFRSUyBpcyBub3Qgc2V0CisjIENPTkZJR19TQ1NJX0xPV0xFVkVMIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NDU0lfTE9XTEVWRUxfUENNQ0lBIGlzIG5vdCBzZXQKIENPTkZJR19BVEE9eQogIyBDT05GSUdfQVRBX05PTlNUQU5EQVJEIGlzIG5vdCBzZXQKIENPTkZJR19BVEFfQUNQST15CitDT05GSUdfU0FUQV9QTVA9eQogQ09ORklHX1NBVEFfQUhDST15Ci1DT05GSUdfU0FUQV9TVlc9eQorIyBDT05GSUdfU0FUQV9TSUwyNCBpcyBub3Qgc2V0CitDT05GSUdfQVRBX1NGRj15CisjIENPTkZJR19TQVRBX1NWVyBpcyBub3Qgc2V0CiBDT05GSUdfQVRBX1BJSVg9eQogIyBDT05GSUdfU0FUQV9NViBpcyBub3Qgc2V0Ci1DT05GSUdfU0FUQV9OVj15CisjIENPTkZJR19TQVRBX05WIGlzIG5vdCBzZXQKICMgQ09ORklHX1BEQ19BRE1BIGlzIG5vdCBzZXQKICMgQ09ORklHX1NBVEFfUVNUT1IgaXMgbm90IHNldAogIyBDT05GSUdfU0FUQV9QUk9NSVNFIGlzIG5vdCBzZXQKICMgQ09ORklHX1NBVEFfU1g0IGlzIG5vdCBzZXQKLUNPTkZJR19TQVRBX1NJTD15Ci0jIENPTkZJR19TQVRBX1NJTDI0IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NBVEFfU0lMIGlzIG5vdCBzZXQKICMgQ09ORklHX1NBVEFfU0lTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NBVEFfVUxJIGlzIG5vdCBzZXQKLUNPTkZJR19TQVRBX1ZJQT15CisjIENPTkZJR19TQVRBX1ZJQSBpcyBub3Qgc2V0CiAjIENPTkZJR19TQVRBX1ZJVEVTU0UgaXMgbm90IHNldAogIyBDT05GSUdfU0FUQV9JTklDMTYyWCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX0FDUEkgaXMgbm90IHNldAogIyBDT05GSUdfUEFUQV9BTEkgaXMgbm90IHNldAotIyBDT05GSUdfUEFUQV9BTUQgaXMgbm90IHNldAorQ09ORklHX1BBVEFfQU1EPXkKICMgQ09ORklHX1BBVEFfQVJUT1AgaXMgbm90IHNldAogIyBDT05GSUdfUEFUQV9BVElJWFAgaXMgbm90IHNldAogIyBDT05GSUdfUEFUQV9DTUQ2NDBfUENJIGlzIG5vdCBzZXQKQEAgLTYxMiwxMSArODM5LDE0IEBACiAjIENPTkZJR19QQVRBX1RSSUZMRVggaXMgbm90IHNldAogIyBDT05GSUdfUEFUQV9NQVJWRUxMIGlzIG5vdCBzZXQKICMgQ09ORklHX1BBVEFfTVBJSVggaXMgbm90IHNldAotIyBDT05GSUdfUEFUQV9PTERQSUlYIGlzIG5vdCBzZXQKK0NPTkZJR19QQVRBX09MRFBJSVg9eQogIyBDT05GSUdfUEFUQV9ORVRDRUxMIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfTklOSkEzMiBpcyBub3Qgc2V0CiAjIENPTkZJR19QQVRBX05TODc0MTAgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9OUzg3NDE1IGlzIG5vdCBzZXQKICMgQ09ORklHX1BBVEFfT1BUSSBpcyBub3Qgc2V0CiAjIENPTkZJR19QQVRBX09QVElETUEgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9QQ01DSUEgaXMgbm90IHNldAogIyBDT05GSUdfUEFUQV9QRENfT0xEIGlzIG5vdCBzZXQKICMgQ09ORklHX1BBVEFfUkFESVNZUyBpcyBub3Qgc2V0CiAjIENPTkZJR19QQVRBX1JaMTAwMCBpcyBub3Qgc2V0CkBAIC02MjgsNjUgKzg1OCw0MiBAQAogIyBDT05GSUdfUEFUQV9WSUEgaXMgbm90IHNldAogIyBDT05GSUdfUEFUQV9XSU5CT05EIGlzIG5vdCBzZXQKIENPTkZJR19NRD15Ci0jIENPTkZJR19CTEtfREVWX01EIGlzIG5vdCBzZXQKK0NPTkZJR19CTEtfREVWX01EPXkKKyMgQ09ORklHX01EX0xJTkVBUiBpcyBub3Qgc2V0CisjIENPTkZJR19NRF9SQUlEMCBpcyBub3Qgc2V0CisjIENPTkZJR19NRF9SQUlEMSBpcyBub3Qgc2V0CisjIENPTkZJR19NRF9SQUlEMTAgaXMgbm90IHNldAorIyBDT05GSUdfTURfUkFJRDQ1NiBpcyBub3Qgc2V0CisjIENPTkZJR19NRF9NVUxUSVBBVEggaXMgbm90IHNldAorIyBDT05GSUdfTURfRkFVTFRZIGlzIG5vdCBzZXQKIENPTkZJR19CTEtfREVWX0RNPXkKICMgQ09ORklHX0RNX0RFQlVHIGlzIG5vdCBzZXQKICMgQ09ORklHX0RNX0NSWVBUIGlzIG5vdCBzZXQKICMgQ09ORklHX0RNX1NOQVBTSE9UIGlzIG5vdCBzZXQKLSMgQ09ORklHX0RNX01JUlJPUiBpcyBub3Qgc2V0Ci0jIENPTkZJR19ETV9aRVJPIGlzIG5vdCBzZXQKK0NPTkZJR19ETV9NSVJST1I9eQorQ09ORklHX0RNX1pFUk89eQogIyBDT05GSUdfRE1fTVVMVElQQVRIIGlzIG5vdCBzZXQKICMgQ09ORklHX0RNX0RFTEFZIGlzIG5vdCBzZXQKLQotIwotIyBGdXNpb24gTVBUIGRldmljZSBzdXBwb3J0Ci0jCi1DT05GSUdfRlVTSU9OPXkKLUNPTkZJR19GVVNJT05fU1BJPXkKLSMgQ09ORklHX0ZVU0lPTl9GQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19GVVNJT05fU0FTIGlzIG5vdCBzZXQKLUNPTkZJR19GVVNJT05fTUFYX1NHRT0xMjgKLSMgQ09ORklHX0ZVU0lPTl9DVEwgaXMgbm90IHNldAorIyBDT05GSUdfRE1fVUVWRU5UIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZVU0lPTiBpcyBub3Qgc2V0CiAKICMKICMgSUVFRSAxMzk0IChGaXJlV2lyZSkgc3VwcG9ydAogIwogIyBDT05GSUdfRklSRVdJUkUgaXMgbm90IHNldAotQ09ORklHX0lFRUUxMzk0PXkKLQotIwotIyBTdWJzeXN0ZW0gT3B0aW9ucwotIwotIyBDT05GSUdfSUVFRTEzOTRfVkVSQk9TRURFQlVHIGlzIG5vdCBzZXQKLQotIwotIyBDb250cm9sbGVycwotIwotCi0jCi0jIFRleGFzIEluc3RydW1lbnRzIFBDSUx5bnggcmVxdWlyZXMgSTJDCi0jCi1DT05GSUdfSUVFRTEzOTRfT0hDSTEzOTQ9eQotCi0jCi0jIFByb3RvY29scwotIwotIyBDT05GSUdfSUVFRTEzOTRfVklERU8xMzk0IGlzIG5vdCBzZXQKLSMgQ09ORklHX0lFRUUxMzk0X1NCUDIgaXMgbm90IHNldAotIyBDT05GSUdfSUVFRTEzOTRfRVRIMTM5NF9ST01fRU5UUlkgaXMgbm90IHNldAotIyBDT05GSUdfSUVFRTEzOTRfRVRIMTM5NCBpcyBub3Qgc2V0Ci0jIENPTkZJR19JRUVFMTM5NF9EVjEzOTQgaXMgbm90IHNldAotQ09ORklHX0lFRUUxMzk0X1JBV0lPPXkKKyMgQ09ORklHX0lFRUUxMzk0IGlzIG5vdCBzZXQKICMgQ09ORklHX0kyTyBpcyBub3Qgc2V0CiBDT05GSUdfTUFDSU5UT1NIX0RSSVZFUlM9eQotIyBDT05GSUdfTUFDX0VNVU1PVVNFQlROIGlzIG5vdCBzZXQKK0NPTkZJR19NQUNfRU1VTU9VU0VCVE49eQogQ09ORklHX05FVERFVklDRVM9eQotQ09ORklHX05FVERFVklDRVNfTVVMVElRVUVVRT15CisjIENPTkZJR19ORVRERVZJQ0VTX01VTFRJUVVFVUUgaXMgbm90IHNldAorIyBDT05GSUdfSUZCIGlzIG5vdCBzZXQKICMgQ09ORklHX0RVTU1ZIGlzIG5vdCBzZXQKICMgQ09ORklHX0JPTkRJTkcgaXMgbm90IHNldAogIyBDT05GSUdfTUFDVkxBTiBpcyBub3Qgc2V0CiAjIENPTkZJR19FUVVBTElaRVIgaXMgbm90IHNldAotQ09ORklHX1RVTj15CisjIENPTkZJR19UVU4gaXMgbm90IHNldAorIyBDT05GSUdfVkVUSCBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRfU0IxMDAwIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ05FVCBpcyBub3Qgc2V0CiAjIENPTkZJR19QSFlMSUIgaXMgbm90IHNldApAQCAtNjk2LDM5ICs5MDMsNDAgQEAKICMgQ09ORklHX1NVTkdFTSBpcyBub3Qgc2V0CiAjIENPTkZJR19DQVNTSU5JIGlzIG5vdCBzZXQKIENPTkZJR19ORVRfVkVORE9SXzNDT009eQotQ09ORklHX1ZPUlRFWD15CisjIENPTkZJR19WT1JURVggaXMgbm90IHNldAogIyBDT05GSUdfVFlQSE9PTiBpcyBub3Qgc2V0CiBDT05GSUdfTkVUX1RVTElQPXkKICMgQ09ORklHX0RFMjEwNFggaXMgbm90IHNldAotQ09ORklHX1RVTElQPXkKLSMgQ09ORklHX1RVTElQX01XSSBpcyBub3Qgc2V0Ci0jIENPTkZJR19UVUxJUF9NTUlPIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RVTElQX05BUEkgaXMgbm90IHNldAorIyBDT05GSUdfVFVMSVAgaXMgbm90IHNldAogIyBDT05GSUdfREU0WDUgaXMgbm90IHNldAogIyBDT05GSUdfV0lOQk9ORF84NDAgaXMgbm90IHNldAogIyBDT05GSUdfRE05MTAyIGlzIG5vdCBzZXQKICMgQ09ORklHX1VMSTUyNlggaXMgbm90IHNldAorIyBDT05GSUdfUENNQ0lBX1hJUkNPTSBpcyBub3Qgc2V0CiAjIENPTkZJR19IUDEwMCBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfWk1JSSBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfUkdNSUkgaXMgbm90IHNldAorIyBDT05GSUdfSUJNX05FV19FTUFDX1RBSCBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfRU1BQzQgaXMgbm90IHNldAogQ09ORklHX05FVF9QQ0k9eQogIyBDT05GSUdfUENORVQzMiBpcyBub3Qgc2V0Ci1DT05GSUdfQU1EODExMV9FVEg9eQotIyBDT05GSUdfQU1EODExMUVfTkFQSSBpcyBub3Qgc2V0CisjIENPTkZJR19BTUQ4MTExX0VUSCBpcyBub3Qgc2V0CiAjIENPTkZJR19BREFQVEVDX1NUQVJGSVJFIGlzIG5vdCBzZXQKLUNPTkZJR19CNDQ9eQorIyBDT05GSUdfQjQ0IGlzIG5vdCBzZXQKIENPTkZJR19GT1JDRURFVEg9eQogIyBDT05GSUdfRk9SQ0VERVRIX05BUEkgaXMgbm90IHNldAotIyBDT05GSUdfREdSUyBpcyBub3Qgc2V0CiAjIENPTkZJR19FRVBSTzEwMCBpcyBub3Qgc2V0CiBDT05GSUdfRTEwMD15CiAjIENPTkZJR19GRUFMTlggaXMgbm90IHNldAogIyBDT05GSUdfTkFUU0VNSSBpcyBub3Qgc2V0CiAjIENPTkZJR19ORTJLX1BDSSBpcyBub3Qgc2V0Ci1DT05GSUdfODEzOUNQPXkKKyMgQ09ORklHXzgxMzlDUCBpcyBub3Qgc2V0CiBDT05GSUdfODEzOVRPTz15Ci0jIENPTkZJR184MTM5VE9PX1BJTyBpcyBub3Qgc2V0CitDT05GSUdfODEzOVRPT19QSU89eQogIyBDT05GSUdfODEzOVRPT19UVU5FX1RXSVNURVIgaXMgbm90IHNldAogIyBDT05GSUdfODEzOVRPT184MTI5IGlzIG5vdCBzZXQKICMgQ09ORklHXzgxMzlfT0xEX1JYX1JFU0VUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1I2MDQwIGlzIG5vdCBzZXQKICMgQ09ORklHX1NJUzkwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19FUElDMTAwIGlzIG5vdCBzZXQKICMgQ09ORklHX1NVTkRBTkNFIGlzIG5vdCBzZXQKQEAgLTc0MCwzNCArOTQ4LDc0IEBACiBDT05GSUdfRTEwMDA9eQogIyBDT05GSUdfRTEwMDBfTkFQSSBpcyBub3Qgc2V0CiAjIENPTkZJR19FMTAwMF9ESVNBQkxFX1BBQ0tFVF9TUExJVCBpcyBub3Qgc2V0CisjIENPTkZJR19FMTAwMEUgaXMgbm90IHNldAorIyBDT05GSUdfRTEwMDBFX0VOQUJMRUQgaXMgbm90IHNldAorIyBDT05GSUdfSVAxMDAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lHQiBpcyBub3Qgc2V0CiAjIENPTkZJR19OUzgzODIwIGlzIG5vdCBzZXQKICMgQ09ORklHX0hBTUFDSEkgaXMgbm90IHNldAogIyBDT05GSUdfWUVMTE9XRklOIGlzIG5vdCBzZXQKICMgQ09ORklHX1I4MTY5IGlzIG5vdCBzZXQKICMgQ09ORklHX1NJUzE5MCBpcyBub3Qgc2V0CiAjIENPTkZJR19TS0dFIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NLWTIgaXMgbm90IHNldAorQ09ORklHX1NLWTI9eQorIyBDT05GSUdfU0tZMl9ERUJVRyBpcyBub3Qgc2V0CiAjIENPTkZJR19WSUFfVkVMT0NJVFkgaXMgbm90IHNldAogQ09ORklHX1RJR09OMz15Ci1DT05GSUdfQk5YMj15CisjIENPTkZJR19CTlgyIGlzIG5vdCBzZXQKICMgQ09ORklHX1FMQTNYWFggaXMgbm90IHNldAogIyBDT05GSUdfQVRMMSBpcyBub3Qgc2V0CiBDT05GSUdfTkVUREVWXzEwMDAwPXkKICMgQ09ORklHX0NIRUxTSU9fVDEgaXMgbm90IHNldAogIyBDT05GSUdfQ0hFTFNJT19UMyBpcyBub3Qgc2V0CisjIENPTkZJR19JWEdCRSBpcyBub3Qgc2V0CiAjIENPTkZJR19JWEdCIGlzIG5vdCBzZXQKLUNPTkZJR19TMklPPW0KLSMgQ09ORklHX1MySU9fTkFQSSBpcyBub3Qgc2V0CisjIENPTkZJR19TMklPIGlzIG5vdCBzZXQKICMgQ09ORklHX01ZUkkxMEdFIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVFhFTl9OSUMgaXMgbm90IHNldAorIyBDT05GSUdfTklVIGlzIG5vdCBzZXQKICMgQ09ORklHX01MWDRfQ09SRSBpcyBub3Qgc2V0Ci0jIENPTkZJR19UUiBpcyBub3Qgc2V0CisjIENPTkZJR19URUhVVEkgaXMgbm90IHNldAorIyBDT05GSUdfQk5YMlggaXMgbm90IHNldAorIyBDT05GSUdfU0ZDIGlzIG5vdCBzZXQKK0NPTkZJR19UUj15CisjIENPTkZJR19JQk1PTCBpcyBub3Qgc2V0CisjIENPTkZJR18zQzM1OSBpcyBub3Qgc2V0CisjIENPTkZJR19UTVMzODBUUiBpcyBub3Qgc2V0CiAKICMKICMgV2lyZWxlc3MgTEFOCiAjCiAjIENPTkZJR19XTEFOX1BSRTgwMjExIGlzIG5vdCBzZXQKLSMgQ09ORklHX1dMQU5fODAyMTEgaXMgbm90IHNldAorQ09ORklHX1dMQU5fODAyMTE9eQorIyBDT05GSUdfUENNQ0lBX1JBWUNTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lQVzIxMDAgaXMgbm90IHNldAorIyBDT05GSUdfSVBXMjIwMCBpcyBub3Qgc2V0CisjIENPTkZJR19MSUJFUlRBUyBpcyBub3Qgc2V0CisjIENPTkZJR19BSVJPIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hFUk1FUyBpcyBub3Qgc2V0CisjIENPTkZJR19BVE1FTCBpcyBub3Qgc2V0CisjIENPTkZJR19BSVJPX0NTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BDTUNJQV9XTDM1MDEgaXMgbm90IHNldAorIyBDT05GSUdfUFJJU001NCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfWkQxMjAxIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9ORVRfUk5ESVNfV0xBTiBpcyBub3Qgc2V0CisjIENPTkZJR19SVEw4MTgwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUTDgxODcgaXMgbm90IHNldAorIyBDT05GSUdfQURNODIxMSBpcyBub3Qgc2V0CisjIENPTkZJR19QNTRfQ09NTU9OIGlzIG5vdCBzZXQKK0NPTkZJR19BVEg1Sz15CisjIENPTkZJR19BVEg1S19ERUJVRyBpcyBub3Qgc2V0CisjIENPTkZJR19JV0xXSUZJIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lXTENPUkUgaXMgbm90IHNldAorIyBDT05GSUdfSVdMV0lGSV9MRURTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lXTDQ5NjUgaXMgbm90IHNldAorIyBDT05GSUdfSVdMMzk0NSBpcyBub3Qgc2V0CisjIENPTkZJR19IT1NUQVAgaXMgbm90IHNldAorIyBDT05GSUdfQjQzIGlzIG5vdCBzZXQKKyMgQ09ORklHX0I0M0xFR0FDWSBpcyBub3Qgc2V0CisjIENPTkZJR19aRDEyMTFSVyBpcyBub3Qgc2V0CisjIENPTkZJR19SVDJYMDAgaXMgbm90IHNldAogCiAjCiAjIFVTQiBOZXR3b3JrIEFkYXB0ZXJzCkBAIC03NzYsMTYgKzEwMjQsMjYgQEAKICMgQ09ORklHX1VTQl9LQVdFVEggaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1BFR0FTVVMgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1JUTDgxNTAgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX1VTQk5FVF9NSUkgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1VTQk5FVCBpcyBub3Qgc2V0CitDT05GSUdfTkVUX1BDTUNJQT15CisjIENPTkZJR19QQ01DSUFfM0M1ODkgaXMgbm90IHNldAorIyBDT05GSUdfUENNQ0lBXzNDNTc0IGlzIG5vdCBzZXQKKyMgQ09ORklHX1BDTUNJQV9GTVZKMThYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BDTUNJQV9QQ05FVCBpcyBub3Qgc2V0CisjIENPTkZJR19QQ01DSUFfTk1DTEFOIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BDTUNJQV9TTUM5MUM5MiBpcyBub3Qgc2V0CisjIENPTkZJR19QQ01DSUFfWElSQzJQUyBpcyBub3Qgc2V0CisjIENPTkZJR19QQ01DSUFfQVhORVQgaXMgbm90IHNldAogIyBDT05GSUdfV0FOIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZEREkgaXMgbm90IHNldAorQ09ORklHX0ZEREk9eQorIyBDT05GSUdfREVGWFggaXMgbm90IHNldAorIyBDT05GSUdfU0tGUCBpcyBub3Qgc2V0CiAjIENPTkZJR19ISVBQSSBpcyBub3Qgc2V0CiAjIENPTkZJR19QUFAgaXMgbm90IHNldAogIyBDT05GSUdfU0xJUCBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRfRkMgaXMgbm90IHNldAotIyBDT05GSUdfU0hBUEVSIGlzIG5vdCBzZXQKIENPTkZJR19ORVRDT05TT0xFPXkKKyMgQ09ORklHX05FVENPTlNPTEVfRFlOQU1JQyBpcyBub3Qgc2V0CiBDT05GSUdfTkVUUE9MTD15CiAjIENPTkZJR19ORVRQT0xMX1RSQVAgaXMgbm90IHNldAogQ09ORklHX05FVF9QT0xMX0NPTlRST0xMRVI9eQpAQCAtNzk2LDE4ICsxMDU0LDE3IEBACiAjIElucHV0IGRldmljZSBzdXBwb3J0CiAjCiBDT05GSUdfSU5QVVQ9eQotIyBDT05GSUdfSU5QVVRfRkZfTUVNTEVTUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19JTlBVVF9QT0xMREVWIGlzIG5vdCBzZXQKK0NPTkZJR19JTlBVVF9GRl9NRU1MRVNTPXkKK0NPTkZJR19JTlBVVF9QT0xMREVWPXkKIAogIwogIyBVc2VybGFuZCBpbnRlcmZhY2VzCiAjCiBDT05GSUdfSU5QVVRfTU9VU0VERVY9eQotQ09ORklHX0lOUFVUX01PVVNFREVWX1BTQVVYPXkKKyMgQ09ORklHX0lOUFVUX01PVVNFREVWX1BTQVVYIGlzIG5vdCBzZXQKIENPTkZJR19JTlBVVF9NT1VTRURFVl9TQ1JFRU5fWD0xMDI0CiBDT05GSUdfSU5QVVRfTU9VU0VERVZfU0NSRUVOX1k9NzY4CiAjIENPTkZJR19JTlBVVF9KT1lERVYgaXMgbm90IHNldAotIyBDT05GSUdfSU5QVVRfVFNERVYgaXMgbm90IHNldAogQ09ORklHX0lOUFVUX0VWREVWPXkKICMgQ09ORklHX0lOUFVUX0VWQlVHIGlzIG5vdCBzZXQKIApAQCAtODMyLDE3ICsxMDg5LDYyIEBACiAjIENPTkZJR19NT1VTRV9TRVJJQUwgaXMgbm90IHNldAogIyBDT05GSUdfTU9VU0VfQVBQTEVUT1VDSCBpcyBub3Qgc2V0CiAjIENPTkZJR19NT1VTRV9WU1hYWEFBIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lOUFVUX0pPWVNUSUNLIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lOUFVUX1RBQkxFVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19JTlBVVF9UT1VDSFNDUkVFTiBpcyBub3Qgc2V0Ci0jIENPTkZJR19JTlBVVF9NSVNDIGlzIG5vdCBzZXQKK0NPTkZJR19JTlBVVF9KT1lTVElDSz15CisjIENPTkZJR19KT1lTVElDS19BTkFMT0cgaXMgbm90IHNldAorIyBDT05GSUdfSk9ZU1RJQ0tfQTNEIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pPWVNUSUNLX0FESSBpcyBub3Qgc2V0CisjIENPTkZJR19KT1lTVElDS19DT0JSQSBpcyBub3Qgc2V0CisjIENPTkZJR19KT1lTVElDS19HRjJLIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pPWVNUSUNLX0dSSVAgaXMgbm90IHNldAorIyBDT05GSUdfSk9ZU1RJQ0tfR1JJUF9NUCBpcyBub3Qgc2V0CisjIENPTkZJR19KT1lTVElDS19HVUlMTEVNT1QgaXMgbm90IHNldAorIyBDT05GSUdfSk9ZU1RJQ0tfSU5URVJBQ1QgaXMgbm90IHNldAorIyBDT05GSUdfSk9ZU1RJQ0tfU0lERVdJTkRFUiBpcyBub3Qgc2V0CisjIENPTkZJR19KT1lTVElDS19UTURDIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pPWVNUSUNLX0lGT1JDRSBpcyBub3Qgc2V0CisjIENPTkZJR19KT1lTVElDS19XQVJSSU9SIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pPWVNUSUNLX01BR0VMTEFOIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pPWVNUSUNLX1NQQUNFT1JCIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pPWVNUSUNLX1NQQUNFQkFMTCBpcyBub3Qgc2V0CisjIENPTkZJR19KT1lTVElDS19TVElOR0VSIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pPWVNUSUNLX1RXSURKT1kgaXMgbm90IHNldAorIyBDT05GSUdfSk9ZU1RJQ0tfWkhFTkhVQSBpcyBub3Qgc2V0CisjIENPTkZJR19KT1lTVElDS19KT1lEVU1QIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pPWVNUSUNLX1hQQUQgaXMgbm90IHNldAorQ09ORklHX0lOUFVUX1RBQkxFVD15CisjIENPTkZJR19UQUJMRVRfVVNCX0FDRUNBRCBpcyBub3Qgc2V0CisjIENPTkZJR19UQUJMRVRfVVNCX0FJUFRFSyBpcyBub3Qgc2V0CisjIENPTkZJR19UQUJMRVRfVVNCX0dUQ08gaXMgbm90IHNldAorIyBDT05GSUdfVEFCTEVUX1VTQl9LQlRBQiBpcyBub3Qgc2V0CisjIENPTkZJR19UQUJMRVRfVVNCX1dBQ09NIGlzIG5vdCBzZXQKK0NPTkZJR19JTlBVVF9UT1VDSFNDUkVFTj15CisjIENPTkZJR19UT1VDSFNDUkVFTl9GVUpJVFNVIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RPVUNIU0NSRUVOX0dVTlpFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RPVUNIU0NSRUVOX0VMTyBpcyBub3Qgc2V0CisjIENPTkZJR19UT1VDSFNDUkVFTl9NVE9VQ0ggaXMgbm90IHNldAorIyBDT05GSUdfVE9VQ0hTQ1JFRU5fTUs3MTIgaXMgbm90IHNldAorIyBDT05GSUdfVE9VQ0hTQ1JFRU5fUEVOTU9VTlQgaXMgbm90IHNldAorIyBDT05GSUdfVE9VQ0hTQ1JFRU5fVE9VQ0hSSUdIVCBpcyBub3Qgc2V0CisjIENPTkZJR19UT1VDSFNDUkVFTl9UT1VDSFdJTiBpcyBub3Qgc2V0CisjIENPTkZJR19UT1VDSFNDUkVFTl9VQ0IxNDAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RPVUNIU0NSRUVOX1VTQl9DT01QT1NJVEUgaXMgbm90IHNldAorQ09ORklHX0lOUFVUX01JU0M9eQorIyBDT05GSUdfSU5QVVRfUENTUEtSIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOUFVUX0FQQU5FTCBpcyBub3Qgc2V0CisjIENPTkZJR19JTlBVVF9BVExBU19CVE5TIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOUFVUX0FUSV9SRU1PVEUgaXMgbm90IHNldAorIyBDT05GSUdfSU5QVVRfQVRJX1JFTU9URTIgaXMgbm90IHNldAorIyBDT05GSUdfSU5QVVRfS0VZU1BBTl9SRU1PVEUgaXMgbm90IHNldAorIyBDT05GSUdfSU5QVVRfUE9XRVJNQVRFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOUFVUX1lFQUxJTksgaXMgbm90IHNldAorIyBDT05GSUdfSU5QVVRfVUlOUFVUIGlzIG5vdCBzZXQKIAogIwogIyBIYXJkd2FyZSBJL08gcG9ydHMKICMKIENPTkZJR19TRVJJTz15CiBDT05GSUdfU0VSSU9fSTgwNDI9eQotIyBDT05GSUdfU0VSSU9fU0VSUE9SVCBpcyBub3Qgc2V0CitDT05GSUdfU0VSSU9fU0VSUE9SVD15CiAjIENPTkZJR19TRVJJT19DVDgyQzcxMCBpcyBub3Qgc2V0CiAjIENPTkZJR19TRVJJT19QQ0lQUzIgaXMgbm90IHNldAogQ09ORklHX1NFUklPX0xJQlBTMj15CkBAIC04NTUsOCArMTE1NywyNiBAQAogQ09ORklHX1ZUPXkKIENPTkZJR19WVF9DT05TT0xFPXkKIENPTkZJR19IV19DT05TT0xFPXkKLSMgQ09ORklHX1ZUX0hXX0NPTlNPTEVfQklORElORyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TRVJJQUxfTk9OU1RBTkRBUkQgaXMgbm90IHNldAorQ09ORklHX1ZUX0hXX0NPTlNPTEVfQklORElORz15CitDT05GSUdfREVWS01FTT15CitDT05GSUdfU0VSSUFMX05PTlNUQU5EQVJEPXkKKyMgQ09ORklHX0NPTVBVVE9ORSBpcyBub3Qgc2V0CisjIENPTkZJR19ST0NLRVRQT1JUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NZQ0xBREVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RJR0lFUENBIGlzIG5vdCBzZXQKKyMgQ09ORklHX01PWEFfSU5URUxMSU8gaXMgbm90IHNldAorIyBDT05GSUdfTU9YQV9TTUFSVElPIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lTSSBpcyBub3Qgc2V0CisjIENPTkZJR19TWU5DTElOSyBpcyBub3Qgc2V0CisjIENPTkZJR19TWU5DTElOS01QIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NZTkNMSU5LX0dUIGlzIG5vdCBzZXQKKyMgQ09ORklHX05fSERMQyBpcyBub3Qgc2V0CisjIENPTkZJR19SSVNDT004IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NQRUNJQUxJWCBpcyBub3Qgc2V0CisjIENPTkZJR19TWCBpcyBub3Qgc2V0CisjIENPTkZJR19SSU8gaXMgbm90IHNldAorIyBDT05GSUdfU1RBTERSViBpcyBub3Qgc2V0CisjIENPTkZJR19OT1pPTUkgaXMgbm90IHNldAogCiAjCiAjIFNlcmlhbCBkcml2ZXJzCkBAIC04NjYsOSArMTE4NiwxNCBAQAogQ09ORklHX0ZJWF9FQVJMWUNPTl9NRU09eQogQ09ORklHX1NFUklBTF84MjUwX1BDST15CiBDT05GSUdfU0VSSUFMXzgyNTBfUE5QPXkKLUNPTkZJR19TRVJJQUxfODI1MF9OUl9VQVJUUz00CisjIENPTkZJR19TRVJJQUxfODI1MF9DUyBpcyBub3Qgc2V0CitDT05GSUdfU0VSSUFMXzgyNTBfTlJfVUFSVFM9MzIKIENPTkZJR19TRVJJQUxfODI1MF9SVU5USU1FX1VBUlRTPTQKLSMgQ09ORklHX1NFUklBTF84MjUwX0VYVEVOREVEIGlzIG5vdCBzZXQKK0NPTkZJR19TRVJJQUxfODI1MF9FWFRFTkRFRD15CitDT05GSUdfU0VSSUFMXzgyNTBfTUFOWV9QT1JUUz15CitDT05GSUdfU0VSSUFMXzgyNTBfU0hBUkVfSVJRPXkKK0NPTkZJR19TRVJJQUxfODI1MF9ERVRFQ1RfSVJRPXkKK0NPTkZJR19TRVJJQUxfODI1MF9SU0E9eQogCiAjCiAjIE5vbi04MjUwIHNlcmlhbCBwb3J0IHN1cHBvcnQKQEAgLTg3Nyw3OCArMTIwMiwyNjAgQEAKIENPTkZJR19TRVJJQUxfQ09SRV9DT05TT0xFPXkKICMgQ09ORklHX1NFUklBTF9KU00gaXMgbm90IHNldAogQ09ORklHX1VOSVg5OF9QVFlTPXkKLUNPTkZJR19MRUdBQ1lfUFRZUz15Ci1DT05GSUdfTEVHQUNZX1BUWV9DT1VOVD0yNTYKKyMgQ09ORklHX0xFR0FDWV9QVFlTIGlzIG5vdCBzZXQKICMgQ09ORklHX0lQTUlfSEFORExFUiBpcyBub3Qgc2V0Ci0jIENPTkZJR19XQVRDSERPRyBpcyBub3Qgc2V0CiBDT05GSUdfSFdfUkFORE9NPXkKLUNPTkZJR19IV19SQU5ET01fSU5URUw9eQotQ09ORklHX0hXX1JBTkRPTV9BTUQ9eQotIyBDT05GSUdfTlZSQU0gaXMgbm90IHNldAotQ09ORklHX1JUQz15CisjIENPTkZJR19IV19SQU5ET01fSU5URUwgaXMgbm90IHNldAorIyBDT05GSUdfSFdfUkFORE9NX0FNRCBpcyBub3Qgc2V0CitDT05GSUdfTlZSQU09eQogIyBDT05GSUdfUjM5NjQgaXMgbm90IHNldAogIyBDT05GSUdfQVBQTElDT00gaXMgbm90IHNldAotQ09ORklHX0FHUD15Ci1DT05GSUdfQUdQX0FNRDY0PXkKLUNPTkZJR19BR1BfSU5URUw9eQotIyBDT05GSUdfQUdQX1NJUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19BR1BfVklBIGlzIG5vdCBzZXQKLSMgQ09ORklHX0RSTSBpcyBub3Qgc2V0CisKKyMKKyMgUENNQ0lBIGNoYXJhY3RlciBkZXZpY2VzCisjCisjIENPTkZJR19TWU5DTElOS19DUyBpcyBub3Qgc2V0CisjIENPTkZJR19DQVJETUFOXzQwMDAgaXMgbm90IHNldAorIyBDT05GSUdfQ0FSRE1BTl80MDQwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lQV0lSRUxFU1MgaXMgbm90IHNldAogIyBDT05GSUdfTVdBVkUgaXMgbm90IHNldAogIyBDT05GSUdfUEM4NzM2eF9HUElPIGlzIG5vdCBzZXQKLUNPTkZJR19SQVdfRFJJVkVSPXkKLUNPTkZJR19NQVhfUkFXX0RFVlM9MjU2CisjIENPTkZJR19SQVdfRFJJVkVSIGlzIG5vdCBzZXQKIENPTkZJR19IUEVUPXkKICMgQ09ORklHX0hQRVRfUlRDX0lSUSBpcyBub3Qgc2V0Ci1DT05GSUdfSFBFVF9NTUFQPXkKKyMgQ09ORklHX0hQRVRfTU1BUCBpcyBub3Qgc2V0CiAjIENPTkZJR19IQU5HQ0hFQ0tfVElNRVIgaXMgbm90IHNldAogIyBDT05GSUdfVENHX1RQTSBpcyBub3Qgc2V0CiAjIENPTkZJR19URUxDTE9DSyBpcyBub3Qgc2V0CiBDT05GSUdfREVWUE9SVD15Ci0jIENPTkZJR19JMkMgaXMgbm90IHNldAorQ09ORklHX0kyQz15CitDT05GSUdfSTJDX0JPQVJESU5GTz15CisjIENPTkZJR19JMkNfQ0hBUkRFViBpcyBub3Qgc2V0CiAKICMKLSMgU1BJIHN1cHBvcnQKKyMgSTJDIEhhcmR3YXJlIEJ1cyBzdXBwb3J0CiAjCisjIENPTkZJR19JMkNfQUxJMTUzNSBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfQUxJMTU2MyBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfQUxJMTVYMyBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfQU1ENzU2IGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19BTUQ4MTExIGlzIG5vdCBzZXQKK0NPTkZJR19JMkNfSTgwMT15CisjIENPTkZJR19JMkNfSTgxMCBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfUElJWDQgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX05GT1JDRTIgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX09DT1JFUyBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfUEFSUE9SVF9MSUdIVCBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfUFJPU0FWQUdFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19TQVZBR0U0IGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19TSU1URUMgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1NJUzU1OTUgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1NJUzYzMCBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfU0lTOTZYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19UQU9TX0VWTSBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfU1RVQiBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfVElOWV9VU0IgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1ZJQSBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfVklBUFJPIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19WT09ET08zIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19QQ0FfUExBVEZPUk0gaXMgbm90IHNldAorCisjCisjIE1pc2NlbGxhbmVvdXMgSTJDIENoaXAgc3VwcG9ydAorIworIyBDT05GSUdfRFMxNjgyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfRUVQUk9NIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfUENGODU3NCBpcyBub3Qgc2V0CisjIENPTkZJR19QQ0Y4NTc1IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfUENGODU5MSBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX01BWDY4NzUgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19UU0wyNTUwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19ERUJVR19DT1JFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19ERUJVR19BTEdPIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19ERUJVR19CVVMgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0RFQlVHX0NISVAgaXMgbm90IHNldAogIyBDT05GSUdfU1BJIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NQSV9NQVNURVIgaXMgbm90IHNldAogIyBDT05GSUdfVzEgaXMgbm90IHNldAotIyBDT05GSUdfUE9XRVJfU1VQUExZIGlzIG5vdCBzZXQKK0NPTkZJR19QT1dFUl9TVVBQTFk9eQorIyBDT05GSUdfUE9XRVJfU1VQUExZX0RFQlVHIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BEQV9QT1dFUiBpcyBub3Qgc2V0CisjIENPTkZJR19CQVRURVJZX0RTMjc2MCBpcyBub3Qgc2V0CiAjIENPTkZJR19IV01PTiBpcyBub3Qgc2V0CitDT05GSUdfVEhFUk1BTD15CitDT05GSUdfV0FUQ0hET0c9eQorIyBDT05GSUdfV0FUQ0hET0dfTk9XQVlPVVQgaXMgbm90IHNldAorCisjCisjIFdhdGNoZG9nIERldmljZSBEcml2ZXJzCisjCisjIENPTkZJR19TT0ZUX1dBVENIRE9HIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FDUVVJUkVfV0RUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FEVkFOVEVDSF9XRFQgaXMgbm90IHNldAorIyBDT05GSUdfQUxJTTE1MzVfV0RUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FMSU03MTAxX1dEVCBpcyBub3Qgc2V0CisjIENPTkZJR19TQzUyMF9XRFQgaXMgbm90IHNldAorIyBDT05GSUdfRVVST1RFQ0hfV0RUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCNzAwX1dEVCBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1BU1IgaXMgbm90IHNldAorIyBDT05GSUdfV0FGRVJfV0RUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0k2MzAwRVNCX1dEVCBpcyBub3Qgc2V0CisjIENPTkZJR19JVENPX1dEVCBpcyBub3Qgc2V0CisjIENPTkZJR19JVDg3MTJGX1dEVCBpcyBub3Qgc2V0CisjIENPTkZJR19IUF9XQVRDSERPRyBpcyBub3Qgc2V0CisjIENPTkZJR19TQzEyMDBfV0RUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BDODc0MTNfV0RUIGlzIG5vdCBzZXQKKyMgQ09ORklHXzYwWFhfV0RUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NCQzgzNjBfV0RUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NQVTVfV0RUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NNU0MzN0I3ODdfV0RUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1c4MzYyN0hGX1dEVCBpcyBub3Qgc2V0CisjIENPTkZJR19XODM2OTdIRl9XRFQgaXMgbm90IHNldAorIyBDT05GSUdfVzgzODc3Rl9XRFQgaXMgbm90IHNldAorIyBDT05GSUdfVzgzOTc3Rl9XRFQgaXMgbm90IHNldAorIyBDT05GSUdfTUFDSFpfV0RUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NCQ19FUFhfQzNfV0FUQ0hET0cgaXMgbm90IHNldAorCisjCisjIFBDSS1iYXNlZCBXYXRjaGRvZyBDYXJkcworIworIyBDT05GSUdfUENJUENXQVRDSERPRyBpcyBub3Qgc2V0CisjIENPTkZJR19XRFRQQ0kgaXMgbm90IHNldAorCisjCisjIFVTQi1iYXNlZCBXYXRjaGRvZyBDYXJkcworIworIyBDT05GSUdfVVNCUENXQVRDSERPRyBpcyBub3Qgc2V0CisKKyMKKyMgU29uaWNzIFNpbGljb24gQmFja3BsYW5lCisjCitDT05GSUdfU1NCX1BPU1NJQkxFPXkKKyMgQ09ORklHX1NTQiBpcyBub3Qgc2V0CiAKICMKICMgTXVsdGlmdW5jdGlvbiBkZXZpY2UgZHJpdmVycwogIwogIyBDT05GSUdfTUZEX1NNNTAxIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hUQ19QQVNJQzMgaXMgbm90IHNldAogCiAjCiAjIE11bHRpbWVkaWEgZGV2aWNlcwogIworCisjCisjIE11bHRpbWVkaWEgY29yZSBzdXBwb3J0CisjCiAjIENPTkZJR19WSURFT19ERVYgaXMgbm90IHNldAogIyBDT05GSUdfRFZCX0NPUkUgaXMgbm90IHNldAorCisjCisjIE11bHRpbWVkaWEgZHJpdmVycworIwogQ09ORklHX0RBQj15CiAjIENPTkZJR19VU0JfREFCVVNCIGlzIG5vdCBzZXQKIAogIwogIyBHcmFwaGljcyBzdXBwb3J0CiAjCi0jIENPTkZJR19CQUNLTElHSFRfTENEX1NVUFBPUlQgaXMgbm90IHNldAorQ09ORklHX0FHUD15CitDT05GSUdfQUdQX0FNRDY0PXkKK0NPTkZJR19BR1BfSU5URUw9eQorIyBDT05GSUdfQUdQX1NJUyBpcyBub3Qgc2V0CisjIENPTkZJR19BR1BfVklBIGlzIG5vdCBzZXQKK0NPTkZJR19EUk09eQorIyBDT05GSUdfRFJNX1RERlggaXMgbm90IHNldAorIyBDT05GSUdfRFJNX1IxMjggaXMgbm90IHNldAorIyBDT05GSUdfRFJNX1JBREVPTiBpcyBub3Qgc2V0CisjIENPTkZJR19EUk1fSTgxMCBpcyBub3Qgc2V0CisjIENPTkZJR19EUk1fSTgzMCBpcyBub3Qgc2V0CitDT05GSUdfRFJNX0k5MTU9eQorIyBDT05GSUdfRFJNX01HQSBpcyBub3Qgc2V0CisjIENPTkZJR19EUk1fU0lTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RSTV9WSUEgaXMgbm90IHNldAorIyBDT05GSUdfRFJNX1NBVkFHRSBpcyBub3Qgc2V0CisjIENPTkZJR19WR0FTVEFURSBpcyBub3Qgc2V0CisjIENPTkZJR19WSURFT19PVVRQVVRfQ09OVFJPTCBpcyBub3Qgc2V0CitDT05GSUdfRkI9eQorIyBDT05GSUdfRklSTVdBUkVfRURJRCBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9EREMgaXMgbm90IHNldAorQ09ORklHX0ZCX0NGQl9GSUxMUkVDVD15CitDT05GSUdfRkJfQ0ZCX0NPUFlBUkVBPXkKK0NPTkZJR19GQl9DRkJfSU1BR0VCTElUPXkKKyMgQ09ORklHX0ZCX0NGQl9SRVZfUElYRUxTX0lOX0JZVEUgaXMgbm90IHNldAorIyBDT05GSUdfRkJfU1lTX0ZJTExSRUNUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX1NZU19DT1BZQVJFQSBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9TWVNfSU1BR0VCTElUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX0ZPUkVJR05fRU5ESUFOIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX1NZU19GT1BTIGlzIG5vdCBzZXQKK0NPTkZJR19GQl9ERUZFUlJFRF9JTz15CisjIENPTkZJR19GQl9TVkdBTElCIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX01BQ01PREVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX0JBQ0tMSUdIVCBpcyBub3Qgc2V0CitDT05GSUdfRkJfTU9ERV9IRUxQRVJTPXkKK0NPTkZJR19GQl9USUxFQkxJVFRJTkc9eQorCisjCisjIEZyYW1lIGJ1ZmZlciBoYXJkd2FyZSBkcml2ZXJzCisjCisjIENPTkZJR19GQl9DSVJSVVMgaXMgbm90IHNldAorIyBDT05GSUdfRkJfUE0yIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX0NZQkVSMjAwMCBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9BUkMgaXMgbm90IHNldAorIyBDT05GSUdfRkJfQVNJTElBTlQgaXMgbm90IHNldAorIyBDT05GSUdfRkJfSU1TVFQgaXMgbm90IHNldAorIyBDT05GSUdfRkJfVkdBMTYgaXMgbm90IHNldAorIyBDT05GSUdfRkJfVVZFU0EgaXMgbm90IHNldAorIyBDT05GSUdfRkJfVkVTQSBpcyBub3Qgc2V0CitDT05GSUdfRkJfRUZJPXkKKyMgQ09ORklHX0ZCX0lNQUMgaXMgbm90IHNldAorIyBDT05GSUdfRkJfTjQxMSBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9IR0EgaXMgbm90IHNldAorIyBDT05GSUdfRkJfUzFEMTNYWFggaXMgbm90IHNldAorIyBDT05GSUdfRkJfTlZJRElBIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX1JJVkEgaXMgbm90IHNldAorIyBDT05GSUdfRkJfTEU4MDU3OCBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9JTlRFTCBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9NQVRST1ggaXMgbm90IHNldAorIyBDT05GSUdfRkJfUkFERU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX0FUWTEyOCBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9BVFkgaXMgbm90IHNldAorIyBDT05GSUdfRkJfUzMgaXMgbm90IHNldAorIyBDT05GSUdfRkJfU0FWQUdFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX1NJUyBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9ORU9NQUdJQyBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9LWVJPIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCXzNERlggaXMgbm90IHNldAorIyBDT05GSUdfRkJfVk9PRE9PMSBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9WVDg2MjMgaXMgbm90IHNldAorIyBDT05GSUdfRkJfVFJJREVOVCBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9BUksgaXMgbm90IHNldAorIyBDT05GSUdfRkJfUE0zIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX0dFT0RFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX1ZJUlRVQUwgaXMgbm90IHNldAorQ09ORklHX0JBQ0tMSUdIVF9MQ0RfU1VQUE9SVD15CisjIENPTkZJR19MQ0RfQ0xBU1NfREVWSUNFIGlzIG5vdCBzZXQKK0NPTkZJR19CQUNLTElHSFRfQ0xBU1NfREVWSUNFPXkKKyMgQ09ORklHX0JBQ0tMSUdIVF9DT1JHSSBpcyBub3Qgc2V0CisjIENPTkZJR19CQUNLTElHSFRfUFJPR0VBUiBpcyBub3Qgc2V0CiAKICMKICMgRGlzcGxheSBkZXZpY2Ugc3VwcG9ydAogIwogIyBDT05GSUdfRElTUExBWV9TVVBQT1JUIGlzIG5vdCBzZXQKLSMgQ09ORklHX1ZHQVNUQVRFIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCIGlzIG5vdCBzZXQKIAogIwogIyBDb25zb2xlIGRpc3BsYXkgZHJpdmVyIHN1cHBvcnQKICMKIENPTkZJR19WR0FfQ09OU09MRT15CiBDT05GSUdfVkdBQ09OX1NPRlRfU0NST0xMQkFDSz15Ci1DT05GSUdfVkdBQ09OX1NPRlRfU0NST0xMQkFDS19TSVpFPTI1NgorQ09ORklHX1ZHQUNPTl9TT0ZUX1NDUk9MTEJBQ0tfU0laRT02NAogQ09ORklHX1ZJREVPX1NFTEVDVD15CiBDT05GSUdfRFVNTVlfQ09OU09MRT15CisjIENPTkZJR19GUkFNRUJVRkZFUl9DT05TT0xFIGlzIG5vdCBzZXQKK0NPTkZJR19MT0dPPXkKKyMgQ09ORklHX0xPR09fTElOVVhfTU9OTyBpcyBub3Qgc2V0CisjIENPTkZJR19MT0dPX0xJTlVYX1ZHQTE2IGlzIG5vdCBzZXQKK0NPTkZJR19MT0dPX0xJTlVYX0NMVVQyMjQ9eQogCiAjCiAjIFNvdW5kCkBAIC05NTgsMzMgKzE0NjUsMTY1IEBACiAjCiAjIEFkdmFuY2VkIExpbnV4IFNvdW5kIEFyY2hpdGVjdHVyZQogIwotIyBDT05GSUdfU05EIGlzIG5vdCBzZXQKK0NPTkZJR19TTkQ9eQorQ09ORklHX1NORF9USU1FUj15CitDT05GSUdfU05EX1BDTT15CitDT05GSUdfU05EX0hXREVQPXkKK0NPTkZJR19TTkRfU0VRVUVOQ0VSPXkKK0NPTkZJR19TTkRfU0VRX0RVTU1ZPXkKK0NPTkZJR19TTkRfT1NTRU1VTD15CitDT05GSUdfU05EX01JWEVSX09TUz15CitDT05GSUdfU05EX1BDTV9PU1M9eQorQ09ORklHX1NORF9QQ01fT1NTX1BMVUdJTlM9eQorQ09ORklHX1NORF9TRVFVRU5DRVJfT1NTPXkKK0NPTkZJR19TTkRfRFlOQU1JQ19NSU5PUlM9eQorQ09ORklHX1NORF9TVVBQT1JUX09MRF9BUEk9eQorQ09ORklHX1NORF9WRVJCT1NFX1BST0NGUz15CisjIENPTkZJR19TTkRfVkVSQk9TRV9QUklOVEsgaXMgbm90IHNldAorIyBDT05GSUdfU05EX0RFQlVHIGlzIG5vdCBzZXQKK0NPTkZJR19TTkRfVk1BU1RFUj15CisKKyMKKyMgR2VuZXJpYyBkZXZpY2VzCisjCisjIENPTkZJR19TTkRfUENTUCBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfRFVNTVkgaXMgbm90IHNldAorIyBDT05GSUdfU05EX1ZJUk1JREkgaXMgbm90IHNldAorIyBDT05GSUdfU05EX01UUEFWIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9TRVJJQUxfVTE2NTUwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9NUFU0MDEgaXMgbm90IHNldAorCisjCisjIFBDSSBkZXZpY2VzCisjCisjIENPTkZJR19TTkRfQUQxODg5IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9BTFMzMDAgaXMgbm90IHNldAorIyBDT05GSUdfU05EX0FMUzQwMDAgaXMgbm90IHNldAorIyBDT05GSUdfU05EX0FMSTU0NTEgaXMgbm90IHNldAorIyBDT05GSUdfU05EX0FUSUlYUCBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfQVRJSVhQX01PREVNIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9BVTg4MTAgaXMgbm90IHNldAorIyBDT05GSUdfU05EX0FVODgyMCBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfQVU4ODMwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9BVzIgaXMgbm90IHNldAorIyBDT05GSUdfU05EX0FaVDMzMjggaXMgbm90IHNldAorIyBDT05GSUdfU05EX0JUODdYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9DQTAxMDYgaXMgbm90IHNldAorIyBDT05GSUdfU05EX0NNSVBDSSBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfT1hZR0VOIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9DUzQyODEgaXMgbm90IHNldAorIyBDT05GSUdfU05EX0NTNDZYWCBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfQ1M1NTMwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9EQVJMQTIwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9HSU5BMjAgaXMgbm90IHNldAorIyBDT05GSUdfU05EX0xBWUxBMjAgaXMgbm90IHNldAorIyBDT05GSUdfU05EX0RBUkxBMjQgaXMgbm90IHNldAorIyBDT05GSUdfU05EX0dJTkEyNCBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfTEFZTEEyNCBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfTU9OQSBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfTUlBIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9FQ0hPM0cgaXMgbm90IHNldAorIyBDT05GSUdfU05EX0lORElHTyBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfSU5ESUdPSU8gaXMgbm90IHNldAorIyBDT05GSUdfU05EX0lORElHT0RKIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9FTVUxMEsxIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9FTVUxMEsxWCBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfRU5TMTM3MCBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfRU5TMTM3MSBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfRVMxOTM4IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9FUzE5NjggaXMgbm90IHNldAorIyBDT05GSUdfU05EX0ZNODAxIGlzIG5vdCBzZXQKK0NPTkZJR19TTkRfSERBX0lOVEVMPXkKK0NPTkZJR19TTkRfSERBX0hXREVQPXkKK0NPTkZJR19TTkRfSERBX0NPREVDX1JFQUxURUs9eQorQ09ORklHX1NORF9IREFfQ09ERUNfQU5BTE9HPXkKK0NPTkZJR19TTkRfSERBX0NPREVDX1NJR01BVEVMPXkKK0NPTkZJR19TTkRfSERBX0NPREVDX1ZJQT15CitDT05GSUdfU05EX0hEQV9DT0RFQ19BVElIRE1JPXkKK0NPTkZJR19TTkRfSERBX0NPREVDX0NPTkVYQU5UPXkKK0NPTkZJR19TTkRfSERBX0NPREVDX0NNRURJQT15CitDT05GSUdfU05EX0hEQV9DT0RFQ19TSTMwNTQ9eQorQ09ORklHX1NORF9IREFfR0VORVJJQz15CisjIENPTkZJR19TTkRfSERBX1BPV0VSX1NBVkUgaXMgbm90IHNldAorIyBDT05GSUdfU05EX0hEU1AgaXMgbm90IHNldAorIyBDT05GSUdfU05EX0hEU1BNIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9ISUZJRVIgaXMgbm90IHNldAorIyBDT05GSUdfU05EX0lDRTE3MTIgaXMgbm90IHNldAorIyBDT05GSUdfU05EX0lDRTE3MjQgaXMgbm90IHNldAorIyBDT05GSUdfU05EX0lOVEVMOFgwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9JTlRFTDhYME0gaXMgbm90IHNldAorIyBDT05GSUdfU05EX0tPUkcxMjEyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9NQUVTVFJPMyBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfTUlYQVJUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9OTTI1NiBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfUENYSFIgaXMgbm90IHNldAorIyBDT05GSUdfU05EX1JJUFRJREUgaXMgbm90IHNldAorIyBDT05GSUdfU05EX1JNRTMyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9STUU5NiBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfUk1FOTY1MiBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfU09OSUNWSUJFUyBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfVFJJREVOVCBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfVklBODJYWCBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfVklBODJYWF9NT0RFTSBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfVklSVFVPU08gaXMgbm90IHNldAorIyBDT05GSUdfU05EX1ZYMjIyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9ZTUZQQ0kgaXMgbm90IHNldAorCisjCisjIFVTQiBkZXZpY2VzCisjCisjIENPTkZJR19TTkRfVVNCX0FVRElPIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9VU0JfVVNYMlkgaXMgbm90IHNldAorIyBDT05GSUdfU05EX1VTQl9DQUlBUSBpcyBub3Qgc2V0CisKKyMKKyMgUENNQ0lBIGRldmljZXMKKyMKKyMgQ09ORklHX1NORF9WWFBPQ0tFVCBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfUERBVURJT0NGIGlzIG5vdCBzZXQKKworIworIyBTeXN0ZW0gb24gQ2hpcCBhdWRpbyBzdXBwb3J0CisjCisjIENPTkZJR19TTkRfU09DIGlzIG5vdCBzZXQKKworIworIyBBTFNBIFNvQyBhdWRpbyBmb3IgRnJlZXNjYWxlIFNPQ3MKKyMKKworIworIyBTb0MgQXVkaW8gZm9yIHRoZSBUZXhhcyBJbnN0cnVtZW50cyBPTUFQCisjCiAKICMKICMgT3BlbiBTb3VuZCBTeXN0ZW0KICMKLUNPTkZJR19TT1VORF9QUklNRT15Ci0jIENPTkZJR19TT1VORF9UUklERU5UIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NPVU5EX01TTkRDTEFTIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NPVU5EX01TTkRQSU4gaXMgbm90IHNldAotIyBDT05GSUdfU09VTkRfT1NTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NPVU5EX1BSSU1FIGlzIG5vdCBzZXQKIENPTkZJR19ISURfU1VQUE9SVD15CiBDT05GSUdfSElEPXkKLSMgQ09ORklHX0hJRF9ERUJVRyBpcyBub3Qgc2V0CitDT05GSUdfSElEX0RFQlVHPXkKK0NPTkZJR19ISURSQVc9eQogCiAjCiAjIFVTQiBJbnB1dCBEZXZpY2VzCiAjCiBDT05GSUdfVVNCX0hJRD15Ci0jIENPTkZJR19VU0JfSElESU5QVVRfUE9XRVJCT09LIGlzIG5vdCBzZXQKLSMgQ09ORklHX0hJRF9GRiBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfSElEREVWIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfSElESU5QVVRfUE9XRVJCT09LPXkKK0NPTkZJR19ISURfRkY9eQorQ09ORklHX0hJRF9QSUQ9eQorQ09ORklHX0xPR0lURUNIX0ZGPXkKKyMgQ09ORklHX0xPR0lSVU1CTEVQQUQyX0ZGIGlzIG5vdCBzZXQKK0NPTkZJR19QQU5USEVSTE9SRF9GRj15CitDT05GSUdfVEhSVVNUTUFTVEVSX0ZGPXkKK0NPTkZJR19aRVJPUExVU19GRj15CitDT05GSUdfVVNCX0hJRERFVj15CiBDT05GSUdfVVNCX1NVUFBPUlQ9eQogQ09ORklHX1VTQl9BUkNIX0hBU19IQ0Q9eQogQ09ORklHX1VTQl9BUkNIX0hBU19PSENJPXkKIENPTkZJR19VU0JfQVJDSF9IQVNfRUhDST15CiBDT05GSUdfVVNCPXkKLSMgQ09ORklHX1VTQl9ERUJVRyBpcyBub3Qgc2V0CitDT05GSUdfVVNCX0RFQlVHPXkKK0NPTkZJR19VU0JfQU5OT1VOQ0VfTkVXX0RFVklDRVM9eQogCiAjCiAjIE1pc2NlbGxhbmVvdXMgVVNCIG9wdGlvbnMKQEAgLTk5MiwxOCArMTYzMSwxOCBAQAogQ09ORklHX1VTQl9ERVZJQ0VGUz15CiAjIENPTkZJR19VU0JfREVWSUNFX0NMQVNTIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9EWU5BTUlDX01JTk9SUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfU1VTUEVORCBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfUEVSU0lTVCBpcyBub3Qgc2V0CitDT05GSUdfVVNCX1NVU1BFTkQ9eQogIyBDT05GSUdfVVNCX09URyBpcyBub3Qgc2V0CiAKICMKICMgVVNCIEhvc3QgQ29udHJvbGxlciBEcml2ZXJzCiAjCisjIENPTkZJR19VU0JfQzY3WDAwX0hDRCBpcyBub3Qgc2V0CiBDT05GSUdfVVNCX0VIQ0lfSENEPXkKLSMgQ09ORklHX1VTQl9FSENJX1NQTElUX0lTTyBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfRUhDSV9ST09UX0hVQl9UVCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfRUhDSV9UVF9ORVdTQ0hFRCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfSVNQMTE2WF9IQ0QgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0lTUDE3NjBfSENEIGlzIG5vdCBzZXQKIENPTkZJR19VU0JfT0hDSV9IQ0Q9eQogIyBDT05GSUdfVVNCX09IQ0lfQklHX0VORElBTl9ERVNDIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9PSENJX0JJR19FTkRJQU5fTU1JTyBpcyBub3Qgc2V0CkBAIC0xMDM2LDggKzE2NzUsMTAgQEAKICMgQ09ORklHX1VTQl9TVE9SQUdFX1NERFI1NSBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfU1RPUkFHRV9KVU1QU0hPVCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfU1RPUkFHRV9BTEFVREEgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NUT1JBR0VfT05FVE9VQ0ggaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1NUT1JBR0VfS0FSTUEgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX0xJQlVTVUFMIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TVE9SQUdFX0NZUFJFU1NfQVRBQ0IgaXMgbm90IHNldAorQ09ORklHX1VTQl9MSUJVU1VBTD15CiAKICMKICMgVVNCIEltYWdpbmcgZGV2aWNlcwpAQCAtMTA0OSwxMCArMTY5MCw2IEBACiAjCiAjIFVTQiBwb3J0IGRyaXZlcnMKICMKLQotIwotIyBVU0IgU2VyaWFsIENvbnZlcnRlciBzdXBwb3J0Ci0jCiAjIENPTkZJR19VU0JfU0VSSUFMIGlzIG5vdCBzZXQKIAogIwpAQCAtMTA3OCw5OCArMTcxNSwxMjYgQEAKICMgQ09ORklHX1VTQl9UUkFOQ0VWSUJSQVRPUiBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfSU9XQVJSSU9SIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9URVNUIGlzIG5vdCBzZXQKLQotIwotIyBVU0IgRFNMIG1vZGVtIHN1cHBvcnQKLSMKLQotIwotIyBVU0IgR2FkZ2V0IFN1cHBvcnQKLSMKICMgQ09ORklHX1VTQl9HQURHRVQgaXMgbm90IHNldAogIyBDT05GSUdfTU1DIGlzIG5vdCBzZXQKLQotIwotIyBMRUQgZGV2aWNlcwotIwotIyBDT05GSUdfTkVXX0xFRFMgaXMgbm90IHNldAorIyBDT05GSUdfTUVNU1RJQ0sgaXMgbm90IHNldAorQ09ORklHX05FV19MRURTPXkKK0NPTkZJR19MRURTX0NMQVNTPXkKIAogIwogIyBMRUQgZHJpdmVycwogIworIyBDT05GSUdfTEVEU19DTEVWT19NQUlMIGlzIG5vdCBzZXQKIAogIwogIyBMRUQgVHJpZ2dlcnMKICMKK0NPTkZJR19MRURTX1RSSUdHRVJTPXkKKyMgQ09ORklHX0xFRFNfVFJJR0dFUl9USU1FUiBpcyBub3Qgc2V0CisjIENPTkZJR19MRURTX1RSSUdHRVJfSEVBUlRCRUFUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0xFRFNfVFJJR0dFUl9ERUZBVUxUX09OIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FDQ0VTU0lCSUxJVFkgaXMgbm90IHNldAogIyBDT05GSUdfSU5GSU5JQkFORCBpcyBub3Qgc2V0Ci0jIENPTkZJR19FREFDIGlzIG5vdCBzZXQKK0NPTkZJR19FREFDPXkKIAogIwotIyBSZWFsIFRpbWUgQ2xvY2sKKyMgUmVwb3J0aW5nIHN1YnN5c3RlbXMKICMKLSMgQ09ORklHX1JUQ19DTEFTUyBpcyBub3Qgc2V0CisjIENPTkZJR19FREFDX0RFQlVHIGlzIG5vdCBzZXQKKyMgQ09ORklHX0VEQUNfTU1fRURBQyBpcyBub3Qgc2V0CitDT05GSUdfUlRDX0xJQj15CitDT05GSUdfUlRDX0NMQVNTPXkKKyMgQ09ORklHX1JUQ19IQ1RPU1lTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19ERUJVRyBpcyBub3Qgc2V0CiAKICMKLSMgRE1BIEVuZ2luZSBzdXBwb3J0CisjIFJUQyBpbnRlcmZhY2VzCiAjCi0jIENPTkZJR19ETUFfRU5HSU5FIGlzIG5vdCBzZXQKK0NPTkZJR19SVENfSU5URl9TWVNGUz15CitDT05GSUdfUlRDX0lOVEZfUFJPQz15CitDT05GSUdfUlRDX0lOVEZfREVWPXkKKyMgQ09ORklHX1JUQ19JTlRGX0RFVl9VSUVfRU1VTCBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1RFU1QgaXMgbm90IHNldAogCiAjCi0jIERNQSBDbGllbnRzCisjIEkyQyBSVEMgZHJpdmVycwogIworIyBDT05GSUdfUlRDX0RSVl9EUzEzMDcgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9EUzEzNzQgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9EUzE2NzIgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9NQVg2OTAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfUlM1QzM3MiBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX0lTTDEyMDggaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9YMTIwNSBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1BDRjg1NjMgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9QQ0Y4NTgzIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfTTQxVDgwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfUzM1MzkwQSBpcyBub3Qgc2V0CisKKyMKKyMgU1BJIFJUQyBkcml2ZXJzCisjCisKKyMKKyMgUGxhdGZvcm0gUlRDIGRyaXZlcnMKKyMKK0NPTkZJR19SVENfRFJWX0NNT1M9eQorIyBDT05GSUdfUlRDX0RSVl9EUzE1MTEgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9EUzE1NTMgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9EUzE3NDIgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9TVEsxN1RBOCBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX000OFQ4NiBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX000OFQ1OSBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1YzMDIwIGlzIG5vdCBzZXQKKworIworIyBvbi1DUFUgUlRDIGRyaXZlcnMKKyMKK0NPTkZJR19ETUFERVZJQ0VTPXkKIAogIwogIyBETUEgRGV2aWNlcwogIwotQ09ORklHX1ZJUlRVQUxJWkFUSU9OPXkKLSMgQ09ORklHX0tWTSBpcyBub3Qgc2V0Ci0KLSMKLSMgVXNlcnNwYWNlIEkvTwotIworIyBDT05GSUdfSU5URUxfSU9BVERNQSBpcyBub3Qgc2V0CiAjIENPTkZJR19VSU8gaXMgbm90IHNldAogCiAjCiAjIEZpcm13YXJlIERyaXZlcnMKICMKICMgQ09ORklHX0VERCBpcyBub3Qgc2V0CitDT05GSUdfRUZJX1ZBUlM9eQogIyBDT05GSUdfREVMTF9SQlUgaXMgbm90IHNldAogIyBDT05GSUdfRENEQkFTIGlzIG5vdCBzZXQKIENPTkZJR19ETUlJRD15CisjIENPTkZJR19JU0NTSV9JQkZUX0ZJTkQgaXMgbm90IHNldAogCiAjCiAjIEZpbGUgc3lzdGVtcwogIwotQ09ORklHX0VYVDJfRlM9eQotQ09ORklHX0VYVDJfRlNfWEFUVFI9eQotQ09ORklHX0VYVDJfRlNfUE9TSVhfQUNMPXkKLSMgQ09ORklHX0VYVDJfRlNfU0VDVVJJVFkgaXMgbm90IHNldAotIyBDT05GSUdfRVhUMl9GU19YSVAgaXMgbm90IHNldAorIyBDT05GSUdfRVhUMl9GUyBpcyBub3Qgc2V0CiBDT05GSUdfRVhUM19GUz15CiBDT05GSUdfRVhUM19GU19YQVRUUj15CiBDT05GSUdfRVhUM19GU19QT1NJWF9BQ0w9eQotIyBDT05GSUdfRVhUM19GU19TRUNVUklUWSBpcyBub3Qgc2V0CitDT05GSUdfRVhUM19GU19TRUNVUklUWT15CiAjIENPTkZJR19FWFQ0REVWX0ZTIGlzIG5vdCBzZXQKIENPTkZJR19KQkQ9eQogIyBDT05GSUdfSkJEX0RFQlVHIGlzIG5vdCBzZXQKIENPTkZJR19GU19NQkNBQ0hFPXkKLUNPTkZJR19SRUlTRVJGU19GUz15Ci0jIENPTkZJR19SRUlTRVJGU19DSEVDSyBpcyBub3Qgc2V0Ci0jIENPTkZJR19SRUlTRVJGU19QUk9DX0lORk8gaXMgbm90IHNldAotQ09ORklHX1JFSVNFUkZTX0ZTX1hBVFRSPXkKLUNPTkZJR19SRUlTRVJGU19GU19QT1NJWF9BQ0w9eQotIyBDT05GSUdfUkVJU0VSRlNfRlNfU0VDVVJJVFkgaXMgbm90IHNldAorIyBDT05GSUdfUkVJU0VSRlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfSkZTX0ZTIGlzIG5vdCBzZXQKIENPTkZJR19GU19QT1NJWF9BQ0w9eQogIyBDT05GSUdfWEZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0dGUzJfRlMgaXMgbm90IHNldAogIyBDT05GSUdfT0NGUzJfRlMgaXMgbm90IHNldAotIyBDT05GSUdfTUlOSVhfRlMgaXMgbm90IHNldAotIyBDT05GSUdfUk9NRlNfRlMgaXMgbm90IHNldAorQ09ORklHX0ROT1RJRlk9eQogQ09ORklHX0lOT1RJRlk9eQogQ09ORklHX0lOT1RJRllfVVNFUj15Ci0jIENPTkZJR19RVU9UQSBpcyBub3Qgc2V0Ci1DT05GSUdfRE5PVElGWT15CitDT05GSUdfUVVPVEE9eQorQ09ORklHX1FVT1RBX05FVExJTktfSU5URVJGQUNFPXkKKyMgQ09ORklHX1BSSU5UX1FVT1RBX1dBUk5JTkcgaXMgbm90IHNldAorIyBDT05GSUdfUUZNVF9WMSBpcyBub3Qgc2V0CitDT05GSUdfUUZNVF9WMj15CitDT05GSUdfUVVPVEFDVEw9eQogIyBDT05GSUdfQVVUT0ZTX0ZTIGlzIG5vdCBzZXQKIENPTkZJR19BVVRPRlM0X0ZTPXkKICMgQ09ORklHX0ZVU0VfRlMgaXMgbm90IHNldApAQCAtMTE4MCw3ICsxODQ1LDcgQEAKICMKIENPTkZJR19JU085NjYwX0ZTPXkKIENPTkZJR19KT0xJRVQ9eQotIyBDT05GSUdfWklTT0ZTIGlzIG5vdCBzZXQKK0NPTkZJR19aSVNPRlM9eQogIyBDT05GSUdfVURGX0ZTIGlzIG5vdCBzZXQKIAogIwpAQCAtMTE5OCwxMyArMTg2MywxMyBAQAogIwogQ09ORklHX1BST0NfRlM9eQogQ09ORklHX1BST0NfS0NPUkU9eQorQ09ORklHX1BST0NfVk1DT1JFPXkKIENPTkZJR19QUk9DX1NZU0NUTD15CiBDT05GSUdfU1lTRlM9eQogQ09ORklHX1RNUEZTPXkKIENPTkZJR19UTVBGU19QT1NJWF9BQ0w9eQogQ09ORklHX0hVR0VUTEJGUz15CiBDT05GSUdfSFVHRVRMQl9QQUdFPXkKLUNPTkZJR19SQU1GUz15CiAjIENPTkZJR19DT05GSUdGU19GUyBpcyBub3Qgc2V0CiAKICMKQEAgLTEyMTIsNiArMTg3Nyw3IEBACiAjCiAjIENPTkZJR19BREZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0FGRlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfRUNSWVBUX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0hGU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19IRlNQTFVTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0JFRlNfRlMgaXMgbm90IHNldApAQCAtMTIxOSwzMyArMTg4NSwxNSBAQAogIyBDT05GSUdfRUZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSQU1GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19WWEZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX01JTklYX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0hQRlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfUU5YNEZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JPTUZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NZU1ZfRlMgaXMgbm90IHNldAogIyBDT05GSUdfVUZTX0ZTIGlzIG5vdCBzZXQKLQotIwotIyBOZXR3b3JrIEZpbGUgU3lzdGVtcwotIwotQ09ORklHX05GU19GUz15Ci1DT05GSUdfTkZTX1YzPXkKLSMgQ09ORklHX05GU19WM19BQ0wgaXMgbm90IHNldAotIyBDT05GSUdfTkZTX1Y0IGlzIG5vdCBzZXQKLSMgQ09ORklHX05GU19ESVJFQ1RJTyBpcyBub3Qgc2V0Ci1DT05GSUdfTkZTRD15Ci1DT05GSUdfTkZTRF9WMz15Ci0jIENPTkZJR19ORlNEX1YzX0FDTCBpcyBub3Qgc2V0Ci0jIENPTkZJR19ORlNEX1Y0IGlzIG5vdCBzZXQKLUNPTkZJR19ORlNEX1RDUD15Ci1DT05GSUdfUk9PVF9ORlM9eQotQ09ORklHX0xPQ0tEPXkKLUNPTkZJR19MT0NLRF9WND15Ci1DT05GSUdfRVhQT1JURlM9eQotQ09ORklHX05GU19DT01NT049eQotQ09ORklHX1NVTlJQQz15Ci0jIENPTkZJR19TVU5SUENfQklORDM0IGlzIG5vdCBzZXQKLSMgQ09ORklHX1JQQ1NFQ19HU1NfS1JCNSBpcyBub3Qgc2V0Ci0jIENPTkZJR19SUENTRUNfR1NTX1NQS00zIGlzIG5vdCBzZXQKK0NPTkZJR19ORVRXT1JLX0ZJTEVTWVNURU1TPXkKKyMgQ09ORklHX05GU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19ORlNEIGlzIG5vdCBzZXQKICMgQ09ORklHX1NNQl9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19DSUZTIGlzIG5vdCBzZXQKICMgQ09ORklHX05DUF9GUyBpcyBub3Qgc2V0CkBAIC0xMjU1LDE0ICsxOTAzLDI2IEBACiAjCiAjIFBhcnRpdGlvbiBUeXBlcwogIwotIyBDT05GSUdfUEFSVElUSU9OX0FEVkFOQ0VEIGlzIG5vdCBzZXQKK0NPTkZJR19QQVJUSVRJT05fQURWQU5DRUQ9eQorIyBDT05GSUdfQUNPUk5fUEFSVElUSU9OIGlzIG5vdCBzZXQKK0NPTkZJR19PU0ZfUEFSVElUSU9OPXkKK0NPTkZJR19BTUlHQV9QQVJUSVRJT049eQorIyBDT05GSUdfQVRBUklfUEFSVElUSU9OIGlzIG5vdCBzZXQKK0NPTkZJR19NQUNfUEFSVElUSU9OPXkKIENPTkZJR19NU0RPU19QQVJUSVRJT049eQotCi0jCi0jIE5hdGl2ZSBMYW5ndWFnZSBTdXBwb3J0Ci0jCitDT05GSUdfQlNEX0RJU0tMQUJFTD15CitDT05GSUdfTUlOSVhfU1VCUEFSVElUSU9OPXkKK0NPTkZJR19TT0xBUklTX1g4Nl9QQVJUSVRJT049eQorQ09ORklHX1VOSVhXQVJFX0RJU0tMQUJFTD15CisjIENPTkZJR19MRE1fUEFSVElUSU9OIGlzIG5vdCBzZXQKK0NPTkZJR19TR0lfUEFSVElUSU9OPXkKKyMgQ09ORklHX1VMVFJJWF9QQVJUSVRJT04gaXMgbm90IHNldAorQ09ORklHX1NVTl9QQVJUSVRJT049eQorQ09ORklHX0tBUk1BX1BBUlRJVElPTj15CitDT05GSUdfRUZJX1BBUlRJVElPTj15CisjIENPTkZJR19TWVNWNjhfUEFSVElUSU9OIGlzIG5vdCBzZXQKIENPTkZJR19OTFM9eQotQ09ORklHX05MU19ERUZBVUxUPSJpc284ODU5LTEiCitDT05GSUdfTkxTX0RFRkFVTFQ9InV0ZjgiCiBDT05GSUdfTkxTX0NPREVQQUdFXzQzNz15CiAjIENPTkZJR19OTFNfQ09ERVBBR0VfNzM3IGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19DT0RFUEFHRV83NzUgaXMgbm90IHNldApAQCAtMTI5Nyw0MCArMTk1NywzMyBAQAogIyBDT05GSUdfTkxTX0lTTzg4NTlfOSBpcyBub3Qgc2V0CiAjIENPTkZJR19OTFNfSVNPODg1OV8xMyBpcyBub3Qgc2V0CiAjIENPTkZJR19OTFNfSVNPODg1OV8xNCBpcyBub3Qgc2V0Ci1DT05GSUdfTkxTX0lTTzg4NTlfMTU9eQorIyBDT05GSUdfTkxTX0lTTzg4NTlfMTUgaXMgbm90IHNldAogIyBDT05GSUdfTkxTX0tPSThfUiBpcyBub3Qgc2V0CiAjIENPTkZJR19OTFNfS09JOF9VIGlzIG5vdCBzZXQKIENPTkZJR19OTFNfVVRGOD15Ci0KLSMKLSMgRGlzdHJpYnV0ZWQgTG9jayBNYW5hZ2VyCi0jCiAjIENPTkZJR19ETE0gaXMgbm90IHNldAogCiAjCi0jIEluc3RydW1lbnRhdGlvbiBTdXBwb3J0Ci0jCi1DT05GSUdfUFJPRklMSU5HPXkKLUNPTkZJR19PUFJPRklMRT15Ci1DT05GSUdfS1BST0JFUz15Ci0KLSMKICMgS2VybmVsIGhhY2tpbmcKICMKIENPTkZJR19UUkFDRV9JUlFGTEFHU19TVVBQT1JUPXkKICMgQ09ORklHX1BSSU5US19USU1FIGlzIG5vdCBzZXQKKyMgQ09ORklHX0VOQUJMRV9XQVJOX0RFUFJFQ0FURUQgaXMgbm90IHNldAogIyBDT05GSUdfRU5BQkxFX01VU1RfQ0hFQ0sgaXMgbm90IHNldAorQ09ORklHX0ZSQU1FX1dBUk49MjA0OAogQ09ORklHX01BR0lDX1NZU1JRPXkKLUNPTkZJR19VTlVTRURfU1lNQk9MUz15CisjIENPTkZJR19VTlVTRURfU1lNQk9MUyBpcyBub3Qgc2V0CiBDT05GSUdfREVCVUdfRlM9eQogIyBDT05GSUdfSEVBREVSU19DSEVDSyBpcyBub3Qgc2V0CiBDT05GSUdfREVCVUdfS0VSTkVMPXkKICMgQ09ORklHX0RFQlVHX1NISVJRIGlzIG5vdCBzZXQKLUNPTkZJR19ERVRFQ1RfU09GVExPQ0tVUD15CisjIENPTkZJR19ERVRFQ1RfU09GVExPQ0tVUCBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ0hFRF9ERUJVRyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ0hFRFNUQVRTIGlzIG5vdCBzZXQKK0NPTkZJR19TQ0hFRFNUQVRTPXkKIENPTkZJR19USU1FUl9TVEFUUz15Ci0jIENPTkZJR19ERUJVR19TTEFCIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFQlVHX09CSkVDVFMgaXMgbm90IHNldAorIyBDT05GSUdfU0xVQl9ERUJVR19PTiBpcyBub3Qgc2V0CisjIENPTkZJR19TTFVCX1NUQVRTIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX1JUX01VVEVYRVMgaXMgbm90IHNldAogIyBDT05GSUdfUlRfTVVURVhfVEVTVEVSIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX1NQSU5MT0NLIGlzIG5vdCBzZXQKQEAgLTEzNDQsMjggKzE5OTcsMTYyIEBACiBDT05GSUdfREVCVUdfQlVHVkVSQk9TRT15CiAjIENPTkZJR19ERUJVR19JTkZPIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX1ZNIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFQlVHX1dSSVRFQ09VTlQgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfTElTVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19GUkFNRV9QT0lOVEVSIGlzIG5vdCBzZXQKLUNPTkZJR19PUFRJTUlaRV9JTkxJTklORz15CisjIENPTkZJR19ERUJVR19TRyBpcyBub3Qgc2V0CitDT05GSUdfRlJBTUVfUE9JTlRFUj15CisjIENPTkZJR19CT09UX1BSSU5US19ERUxBWSBpcyBub3Qgc2V0CiAjIENPTkZJR19SQ1VfVE9SVFVSRV9URVNUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0tQUk9CRVNfU0FOSVRZX1RFU1QgaXMgbm90IHNldAorIyBDT05GSUdfQkFDS1RSQUNFX1NFTEZfVEVTVCBpcyBub3Qgc2V0CiAjIENPTkZJR19MS0RUTSBpcyBub3Qgc2V0CiAjIENPTkZJR19GQVVMVF9JTkpFQ1RJT04gaXMgbm90IHNldAotIyBDT05GSUdfREVCVUdfUk9EQVRBIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lPTU1VX0RFQlVHIGlzIG5vdCBzZXQKKyMgQ09ORklHX0xBVEVOQ1lUT1AgaXMgbm90IHNldAorQ09ORklHX1BST1ZJREVfT0hDSTEzOTRfRE1BX0lOSVQ9eQorIyBDT05GSUdfU0FNUExFUyBpcyBub3Qgc2V0CisjIENPTkZJR19LR0RCIGlzIG5vdCBzZXQKK0NPTkZJR19IQVZFX0FSQ0hfS0dEQj15CisjIENPTkZJR19OT05QUk9NSVNDX0RFVk1FTSBpcyBub3Qgc2V0CitDT05GSUdfRUFSTFlfUFJJTlRLPXkKIENPTkZJR19ERUJVR19TVEFDS09WRVJGTE9XPXkKLSMgQ09ORklHX0RFQlVHX1NUQUNLX1VTQUdFIGlzIG5vdCBzZXQKK0NPTkZJR19ERUJVR19TVEFDS19VU0FHRT15CisjIENPTkZJR19ERUJVR19QQUdFQUxMT0MgaXMgbm90IHNldAorIyBDT05GSUdfREVCVUdfUEVSX0NQVV9NQVBTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1g4Nl9QVERVTVAgaXMgbm90IHNldAorQ09ORklHX0RFQlVHX1JPREFUQT15CisjIENPTkZJR19ESVJFQ1RfR0JQQUdFUyBpcyBub3Qgc2V0CisjIENPTkZJR19ERUJVR19ST0RBVEFfVEVTVCBpcyBub3Qgc2V0CitDT05GSUdfREVCVUdfTlhfVEVTVD1tCitDT05GSUdfWDg2X01QUEFSU0U9eQorIyBDT05GSUdfSU9NTVVfREVCVUcgaXMgbm90IHNldAorQ09ORklHX0lPX0RFTEFZX1RZUEVfMFg4MD0wCitDT05GSUdfSU9fREVMQVlfVFlQRV8wWEVEPTEKK0NPTkZJR19JT19ERUxBWV9UWVBFX1VERUxBWT0yCitDT05GSUdfSU9fREVMQVlfVFlQRV9OT05FPTMKK0NPTkZJR19JT19ERUxBWV8wWDgwPXkKKyMgQ09ORklHX0lPX0RFTEFZXzBYRUQgaXMgbm90IHNldAorIyBDT05GSUdfSU9fREVMQVlfVURFTEFZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lPX0RFTEFZX05PTkUgaXMgbm90IHNldAorQ09ORklHX0RFRkFVTFRfSU9fREVMQVlfVFlQRT0wCitDT05GSUdfREVCVUdfQk9PVF9QQVJBTVM9eQorIyBDT05GSUdfQ1BBX0RFQlVHIGlzIG5vdCBzZXQKIAogIwogIyBTZWN1cml0eSBvcHRpb25zCiAjCi0jIENPTkZJR19LRVlTIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NFQ1VSSVRZIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUTyBpcyBub3Qgc2V0CitDT05GSUdfS0VZUz15CitDT05GSUdfS0VZU19ERUJVR19QUk9DX0tFWVM9eQorQ09ORklHX1NFQ1VSSVRZPXkKK0NPTkZJR19TRUNVUklUWV9ORVRXT1JLPXkKKyMgQ09ORklHX1NFQ1VSSVRZX05FVFdPUktfWEZSTSBpcyBub3Qgc2V0CitDT05GSUdfU0VDVVJJVFlfQ0FQQUJJTElUSUVTPXkKK0NPTkZJR19TRUNVUklUWV9GSUxFX0NBUEFCSUxJVElFUz15CisjIENPTkZJR19TRUNVUklUWV9ST09UUExVRyBpcyBub3Qgc2V0CitDT05GSUdfU0VDVVJJVFlfREVGQVVMVF9NTUFQX01JTl9BRERSPTY1NTM2CitDT05GSUdfU0VDVVJJVFlfU0VMSU5VWD15CitDT05GSUdfU0VDVVJJVFlfU0VMSU5VWF9CT09UUEFSQU09eQorQ09ORklHX1NFQ1VSSVRZX1NFTElOVVhfQk9PVFBBUkFNX1ZBTFVFPTEKK0NPTkZJR19TRUNVUklUWV9TRUxJTlVYX0RJU0FCTEU9eQorQ09ORklHX1NFQ1VSSVRZX1NFTElOVVhfREVWRUxPUD15CitDT05GSUdfU0VDVVJJVFlfU0VMSU5VWF9BVkNfU1RBVFM9eQorQ09ORklHX1NFQ1VSSVRZX1NFTElOVVhfQ0hFQ0tSRVFQUk9UX1ZBTFVFPTEKKyMgQ09ORklHX1NFQ1VSSVRZX1NFTElOVVhfRU5BQkxFX1NFQ01BUktfREVGQVVMVCBpcyBub3Qgc2V0CisjIENPTkZJR19TRUNVUklUWV9TRUxJTlVYX1BPTElDWURCX1ZFUlNJT05fTUFYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFQ1VSSVRZX1NNQUNLIGlzIG5vdCBzZXQKK0NPTkZJR19DUllQVE89eQorCisjCisjIENyeXB0byBjb3JlIG9yIGhlbHBlcgorIworQ09ORklHX0NSWVBUT19BTEdBUEk9eQorQ09ORklHX0NSWVBUT19BRUFEPXkKK0NPTkZJR19DUllQVE9fQkxLQ0lQSEVSPXkKK0NPTkZJR19DUllQVE9fSEFTSD15CitDT05GSUdfQ1JZUFRPX01BTkFHRVI9eQorIyBDT05GSUdfQ1JZUFRPX0dGMTI4TVVMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19OVUxMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19DUllQVEQgaXMgbm90IHNldAorQ09ORklHX0NSWVBUT19BVVRIRU5DPXkKKyMgQ09ORklHX0NSWVBUT19URVNUIGlzIG5vdCBzZXQKKworIworIyBBdXRoZW50aWNhdGVkIEVuY3J5cHRpb24gd2l0aCBBc3NvY2lhdGVkIERhdGEKKyMKKyMgQ09ORklHX0NSWVBUT19DQ00gaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0dDTSBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fU0VRSVYgaXMgbm90IHNldAorCisjCisjIEJsb2NrIG1vZGVzCisjCitDT05GSUdfQ1JZUFRPX0NCQz15CisjIENPTkZJR19DUllQVE9fQ1RSIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19DVFMgaXMgbm90IHNldAorQ09ORklHX0NSWVBUT19FQ0I9eQorIyBDT05GSUdfQ1JZUFRPX0xSVyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fUENCQyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fWFRTIGlzIG5vdCBzZXQKKworIworIyBIYXNoIG1vZGVzCisjCitDT05GSUdfQ1JZUFRPX0hNQUM9eQorIyBDT05GSUdfQ1JZUFRPX1hDQkMgaXMgbm90IHNldAorCisjCisjIERpZ2VzdAorIworIyBDT05GSUdfQ1JZUFRPX0NSQzMyQyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fTUQ0IGlzIG5vdCBzZXQKK0NPTkZJR19DUllQVE9fTUQ1PXkKKyMgQ09ORklHX0NSWVBUT19NSUNIQUVMX01JQyBpcyBub3Qgc2V0CitDT05GSUdfQ1JZUFRPX1NIQTE9eQorIyBDT05GSUdfQ1JZUFRPX1NIQTI1NiBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fU0hBNTEyIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19UR1IxOTIgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1dQNTEyIGlzIG5vdCBzZXQKKworIworIyBDaXBoZXJzCisjCitDT05GSUdfQ1JZUFRPX0FFUz15CisjIENPTkZJR19DUllQVE9fQUVTX1g4Nl82NCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQU5VQklTIGlzIG5vdCBzZXQKK0NPTkZJR19DUllQVE9fQVJDND15CisjIENPTkZJR19DUllQVE9fQkxPV0ZJU0ggaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0NBTUVMTElBIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19DQVNUNSBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQ0FTVDYgaXMgbm90IHNldAorQ09ORklHX0NSWVBUT19ERVM9eQorIyBDT05GSUdfQ1JZUFRPX0ZDUllQVCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fS0hBWkFEIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19TQUxTQTIwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19TQUxTQTIwX1g4Nl82NCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fU0VFRCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fU0VSUEVOVCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fVEVBIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19UV09GSVNIIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19UV09GSVNIX1g4Nl82NCBpcyBub3Qgc2V0CisKKyMKKyMgQ29tcHJlc3Npb24KKyMKKyMgQ09ORklHX0NSWVBUT19ERUZMQVRFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19MWk8gaXMgbm90IHNldAorQ09ORklHX0NSWVBUT19IVz15CisjIENPTkZJR19DUllQVE9fREVWX0hJRk5fNzk1WCBpcyBub3Qgc2V0CitDT05GSUdfSEFWRV9LVk09eQorQ09ORklHX1ZJUlRVQUxJWkFUSU9OPXkKKyMgQ09ORklHX0tWTSBpcyBub3Qgc2V0CisjIENPTkZJR19WSVJUSU9fUENJIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZJUlRJT19CQUxMT09OIGlzIG5vdCBzZXQKIAogIwogIyBMaWJyYXJ5IHJvdXRpbmVzCiAjCiBDT05GSUdfQklUUkVWRVJTRT15CitDT05GSUdfR0VORVJJQ19GSU5EX0ZJUlNUX0JJVD15CitDT05GSUdfR0VORVJJQ19GSU5EX05FWFRfQklUPXkKICMgQ09ORklHX0NSQ19DQ0lUVCBpcyBub3Qgc2V0CiAjIENPTkZJR19DUkMxNiBpcyBub3Qgc2V0CiAjIENPTkZJR19DUkNfSVRVX1QgaXMgbm90IHNldApkaWZmIC0tZ2l0IGEvYXJjaC94ODYvaWEzMi9pYTMyZW50cnkuUyBiL2FyY2gveDg2L2lhMzIvaWEzMmVudHJ5LlMKaW5kZXggYjVlMzI5ZC4uMjAzNzFkMCAxMDA2NDQKLS0tIGEvYXJjaC94ODYvaWEzMi9pYTMyZW50cnkuUworKysgYi9hcmNoL3g4Ni9pYTMyL2lhMzJlbnRyeS5TCkBAIC02MSw2ICs2MSwxOSBAQAogCUNGSV9VTkRFRklORUQJcjE1CiAJLmVuZG0KIAorI2lmZGVmIENPTkZJR19QQVJBVklSVAorRU5UUlkobmF0aXZlX3VzZXJnc19zeXNyZXQzMikKKwlzd2FwZ3MKKwlzeXNyZXRsCitFTkRQUk9DKG5hdGl2ZV91c2VyZ3Nfc3lzcmV0MzIpCisKK0VOVFJZKG5hdGl2ZV9pcnFfZW5hYmxlX3N5c2V4aXQpCisJc3dhcGdzCisJc3RpCisJc3lzZXhpdAorRU5EUFJPQyhuYXRpdmVfaXJxX2VuYWJsZV9zeXNleGl0KQorI2VuZGlmCisKIC8qCiAgKiAzMmJpdCBTWVNFTlRFUiBpbnN0cnVjdGlvbiBlbnRyeS4KICAqCkBAIC04NSwxNCArOTgsMTQgQEAKIAlDRklfU0lHTkFMX0ZSQU1FCiAJQ0ZJX0RFRl9DRkEJcnNwLDAKIAlDRklfUkVHSVNURVIJcnNwLHJicAotCXN3YXBncworCVNXQVBHU19VTlNBRkVfU1RBQ0sKIAltb3ZxCSVnczpwZGFfa2VybmVsc3RhY2ssICVyc3AKIAlhZGRxCSQoUERBX1NUQUNLT0ZGU0VUKSwlcnNwCQogCS8qCiAJICogTm8gbmVlZCB0byBmb2xsb3cgdGhpcyBpcnFzIG9uL29mZiBzZWN0aW9uOiB0aGUgc3lzY2FsbAogCSAqIGRpc2FibGVkIGlycXMsIGhlcmUgd2UgZW5hYmxlIGl0IHN0cmFpZ2h0IGFmdGVyIGVudHJ5OgogCSAqLwotCXN0aQkKKwlFTkFCTEVfSU5URVJSVVBUUyhDTEJSX05PTkUpCiAgCW1vdmwJJWVicCwlZWJwCQkvKiB6ZXJvIGV4dGVuc2lvbiAqLwogCXB1c2hxCSRfX1VTRVIzMl9EUwogCUNGSV9BREpVU1RfQ0ZBX09GRlNFVCA4CkBAIC0xMDMsNyArMTE2LDcgQEAKIAlwdXNoZnEKIAlDRklfQURKVVNUX0NGQV9PRkZTRVQgOAogCS8qQ0ZJX1JFTF9PRkZTRVQgcmZsYWdzLDAqLwotCW1vdmwJOCozLVRIUkVBRF9TSVpFK3RocmVhZGluZm9fc3lzZW50ZXJfcmV0dXJuKCVyc3ApLCAlcjEwZAorCW1vdmwJOCozLVRIUkVBRF9TSVpFK1RJX3N5c2VudGVyX3JldHVybiglcnNwKSwgJXIxMGQKIAlDRklfUkVHSVNURVIgcmlwLHIxMAogCXB1c2hxCSRfX1VTRVIzMl9DUwogCUNGSV9BREpVU1RfQ0ZBX09GRlNFVCA4CkBAIC0xMjMsOCArMTM2LDkgQEAKICAJLnF1YWQgMWIsaWEzMl9iYWRhcmcKICAJLnByZXZpb3VzCQogCUdFVF9USFJFQURfSU5GTyglcjEwKQotCW9ybCAgICAkVFNfQ09NUEFULHRocmVhZGluZm9fc3RhdHVzKCVyMTApCi0JdGVzdGwgICQoX1RJRl9TWVNDQUxMX1RSQUNFfF9USUZfU1lTQ0FMTF9BVURJVHxfVElGX1NFQ0NPTVApLHRocmVhZGluZm9fZmxhZ3MoJXIxMCkKKwlvcmwgICAgJFRTX0NPTVBBVCxUSV9zdGF0dXMoJXIxMCkKKwl0ZXN0bCAgJChfVElGX1NZU0NBTExfVFJBQ0V8X1RJRl9TWVNDQUxMX0FVRElUfF9USUZfU0VDQ09NUCksIFwKKwkJIFRJX2ZsYWdzKCVyMTApCiAJQ0ZJX1JFTUVNQkVSX1NUQVRFCiAJam56ICBzeXNlbnRlcl90cmFjZXN5cwogc3lzZW50ZXJfZG9fY2FsbDoJCkBAIC0xMzQsMTEgKzE0OCwxMSBAQAogCWNhbGwJKmlhMzJfc3lzX2NhbGxfdGFibGUoLCVyYXgsOCkKIAltb3ZxCSVyYXgsUkFYLUFSR09GRlNFVCglcnNwKQogCUdFVF9USFJFQURfSU5GTyglcjEwKQotCWNsaQorCURJU0FCTEVfSU5URVJSVVBUUyhDTEJSX05PTkUpCiAJVFJBQ0VfSVJRU19PRkYKLQl0ZXN0bAkkX1RJRl9BTExXT1JLX01BU0ssdGhyZWFkaW5mb19mbGFncyglcjEwKQorCXRlc3RsCSRfVElGX0FMTFdPUktfTUFTSyxUSV9mbGFncyglcjEwKQogCWpueglpbnRfcmV0X2Zyb21fc3lzX2NhbGwKLQlhbmRsICAgICR+VFNfQ09NUEFULHRocmVhZGluZm9fc3RhdHVzKCVyMTApCisJYW5kbCAgICAkflRTX0NPTVBBVCxUSV9zdGF0dXMoJXIxMCkKIAkvKiBjbGVhciBJRiwgdGhhdCBwb3BmcSBkb2Vzbid0IGVuYWJsZSBpbnRlcnJ1cHRzIGVhcmx5ICovCiAJYW5kbCAgJH4weDIwMCxFRkxBR1MtUjExKCVyc3ApIAogCW1vdmwJUklQLVIxMSglcnNwKSwlZWR4CQkvKiBVc2VyICVlaXAgKi8KQEAgLTE1MSwxMCArMTY1LDcgQEAKIAlDRklfQURKVVNUX0NGQV9PRkZTRVQgLTgKIAlDRklfUkVHSVNURVIgcnNwLHJjeAogCVRSQUNFX0lSUVNfT04KLQlzd2FwZ3MKLQlzdGkJCS8qIHN0aSBvbmx5IHRha2VzIGVmZmVjdCBhZnRlciB0aGUgbmV4dCBpbnN0cnVjdGlvbiAqLwotCS8qIHN5c2V4aXQgKi8KLQkuYnl0ZQkweGYsIDB4MzUKKwlFTkFCTEVfSU5URVJSVVBUU19TWVNFWElUMzIKIAogc3lzZW50ZXJfdHJhY2VzeXM6CiAJQ0ZJX1JFU1RPUkVfU1RBVEUKQEAgLTIwMCw3ICsyMTEsNyBAQAogCUNGSV9ERUZfQ0ZBCXJzcCxQREFfU1RBQ0tPRkZTRVQKIAlDRklfUkVHSVNURVIJcmlwLHJjeAogCS8qQ0ZJX1JFR0lTVEVSCXJmbGFncyxyMTEqLwotCXN3YXBncworCVNXQVBHU19VTlNBRkVfU1RBQ0sKIAltb3ZsCSVlc3AsJXI4ZAogCUNGSV9SRUdJU1RFUglyc3AscjgKIAltb3ZxCSVnczpwZGFfa2VybmVsc3RhY2ssJXJzcApAQCAtMjA4LDcgKzIxOSw3IEBACiAJICogTm8gbmVlZCB0byBmb2xsb3cgdGhpcyBpcnFzIG9uL29mZiBzZWN0aW9uOiB0aGUgc3lzY2FsbAogCSAqIGRpc2FibGVkIGlycXMgYW5kIGhlcmUgd2UgZW5hYmxlIGl0IHN0cmFpZ2h0IGFmdGVyIGVudHJ5OgogCSAqLwotCXN0aQorCUVOQUJMRV9JTlRFUlJVUFRTKENMQlJfTk9ORSkKIAlTQVZFX0FSR1MgOCwxLDEKIAltb3ZsIAklZWF4LCVlYXgJLyogemVybyBleHRlbnNpb24gKi8KIAltb3ZxCSVyYXgsT1JJR19SQVgtQVJHT0ZGU0VUKCVyc3ApCkBAIC0yMzAsOCArMjQxLDkgQEAKIAkucXVhZCAxYixpYTMyX2JhZGFyZwogCS5wcmV2aW91cwkKIAlHRVRfVEhSRUFEX0lORk8oJXIxMCkKLQlvcmwgICAkVFNfQ09NUEFULHRocmVhZGluZm9fc3RhdHVzKCVyMTApCi0JdGVzdGwgJChfVElGX1NZU0NBTExfVFJBQ0V8X1RJRl9TWVNDQUxMX0FVRElUfF9USUZfU0VDQ09NUCksdGhyZWFkaW5mb19mbGFncyglcjEwKQorCW9ybCAgICRUU19DT01QQVQsVElfc3RhdHVzKCVyMTApCisJdGVzdGwgJChfVElGX1NZU0NBTExfVFJBQ0V8X1RJRl9TWVNDQUxMX0FVRElUfF9USUZfU0VDQ09NUCksIFwKKwkJVElfZmxhZ3MoJXIxMCkKIAlDRklfUkVNRU1CRVJfU1RBVEUKIAlqbnogICBjc3Rhcl90cmFjZXN5cwogY3N0YXJfZG9fY2FsbDoJCkBAIC0yNDEsMTEgKzI1MywxMSBAQAogCWNhbGwgKmlhMzJfc3lzX2NhbGxfdGFibGUoLCVyYXgsOCkKIAltb3ZxICVyYXgsUkFYLUFSR09GRlNFVCglcnNwKQogCUdFVF9USFJFQURfSU5GTyglcjEwKQotCWNsaQorCURJU0FCTEVfSU5URVJSVVBUUyhDTEJSX05PTkUpCiAJVFJBQ0VfSVJRU19PRkYKLQl0ZXN0bCAkX1RJRl9BTExXT1JLX01BU0ssdGhyZWFkaW5mb19mbGFncyglcjEwKQorCXRlc3RsICRfVElGX0FMTFdPUktfTUFTSyxUSV9mbGFncyglcjEwKQogCWpueiAgaW50X3JldF9mcm9tX3N5c19jYWxsCi0JYW5kbCAkflRTX0NPTVBBVCx0aHJlYWRpbmZvX3N0YXR1cyglcjEwKQorCWFuZGwgJH5UU19DT01QQVQsVElfc3RhdHVzKCVyMTApCiAJUkVTVE9SRV9BUkdTIDEsLUFSR19TS0lQLDEsMSwxCiAJbW92bCBSSVAtQVJHT0ZGU0VUKCVyc3ApLCVlY3gKIAlDRklfUkVHSVNURVIgcmlwLHJjeApAQCAtMjU0LDggKzI2Niw3IEBACiAJVFJBQ0VfSVJRU19PTgogCW1vdmwgUlNQLUFSR09GRlNFVCglcnNwKSwlZXNwCiAJQ0ZJX1JFU1RPUkUgcnNwCi0Jc3dhcGdzCi0Jc3lzcmV0bAorCVVTRVJHU19TWVNSRVQzMgogCQogY3N0YXJfdHJhY2VzeXM6CQogCUNGSV9SRVNUT1JFX1NUQVRFCkBAIC0zMTAsMTIgKzMyMSwxMiBAQAogCS8qQ0ZJX1JFTF9PRkZTRVQJcmZsYWdzLEVGTEFHUy1SSVAqLwogCS8qQ0ZJX1JFTF9PRkZTRVQJY3MsQ1MtUklQKi8KIAlDRklfUkVMX09GRlNFVAlyaXAsUklQLVJJUAotCXN3YXBncworCVNXQVBHUwogCS8qCiAJICogTm8gbmVlZCB0byBmb2xsb3cgdGhpcyBpcnFzIG9uL29mZiBzZWN0aW9uOiB0aGUgc3lzY2FsbAogCSAqIGRpc2FibGVkIGlycXMgYW5kIGhlcmUgd2UgZW5hYmxlIGl0IHN0cmFpZ2h0IGFmdGVyIGVudHJ5OgogCSAqLwotCXN0aQorCUVOQUJMRV9JTlRFUlJVUFRTKENMQlJfTk9ORSkKIAltb3ZsICVlYXgsJWVheAogCXB1c2hxICVyYXgKIAlDRklfQURKVVNUX0NGQV9PRkZTRVQgOApAQCAtMzI0LDggKzMzNSw5IEBACiAJICAgdGhpcyBjb3VsZCBiZSBhIHByb2JsZW0uICovCiAJU0FWRV9BUkdTIDAsMCwxCiAJR0VUX1RIUkVBRF9JTkZPKCVyMTApCi0Jb3JsICAgJFRTX0NPTVBBVCx0aHJlYWRpbmZvX3N0YXR1cyglcjEwKQotCXRlc3RsICQoX1RJRl9TWVNDQUxMX1RSQUNFfF9USUZfU1lTQ0FMTF9BVURJVHxfVElGX1NFQ0NPTVApLHRocmVhZGluZm9fZmxhZ3MoJXIxMCkKKwlvcmwgICAkVFNfQ09NUEFULFRJX3N0YXR1cyglcjEwKQorCXRlc3RsICQoX1RJRl9TWVNDQUxMX1RSQUNFfF9USUZfU1lTQ0FMTF9BVURJVHxfVElGX1NFQ0NPTVApLCBcCisJCVRJX2ZsYWdzKCVyMTApCiAJam56IGlhMzJfdHJhY2VzeXMKIGlhMzJfZG9fc3lzY2FsbDoJCiAJY21wbCAkKElBMzJfTlJfc3lzY2FsbHMtMSksJWVheApAQCAtMzcwLDEzICszODIsMTEgQEAKIAlQVFJFR1NDQUxMIHN0dWIzMl9ydF9zaWdyZXR1cm4sIHN5czMyX3J0X3NpZ3JldHVybiwgJXJkaQogCVBUUkVHU0NBTEwgc3R1YjMyX3NpZ3JldHVybiwgc3lzMzJfc2lncmV0dXJuLCAlcmRpCiAJUFRSRUdTQ0FMTCBzdHViMzJfc2lnYWx0c3RhY2ssIHN5czMyX3NpZ2FsdHN0YWNrLCAlcmR4Ci0JUFRSRUdTQ0FMTCBzdHViMzJfc2lnc3VzcGVuZCwgc3lzMzJfc2lnc3VzcGVuZCwgJXJjeAogCVBUUkVHU0NBTEwgc3R1YjMyX2V4ZWN2ZSwgc3lzMzJfZXhlY3ZlLCAlcmN4CiAJUFRSRUdTQ0FMTCBzdHViMzJfZm9yaywgc3lzX2ZvcmssICVyZGkKIAlQVFJFR1NDQUxMIHN0dWIzMl9jbG9uZSwgc3lzMzJfY2xvbmUsICVyZHgKIAlQVFJFR1NDQUxMIHN0dWIzMl92Zm9yaywgc3lzX3Zmb3JrLCAlcmRpCiAJUFRSRUdTQ0FMTCBzdHViMzJfaW9wbCwgc3lzX2lvcGwsICVyc2kKLQlQVFJFR1NDQUxMIHN0dWIzMl9ydF9zaWdzdXNwZW5kLCBzeXNfcnRfc2lnc3VzcGVuZCwgJXJkeAogCiBFTlRSWShpYTMyX3B0cmVnc19jb21tb24pCiAJcG9wcSAlcjExCkBAIC00NzYsNyArNDg2LDcgQEAKIAkucXVhZCBzeXNfc3NldG1hc2sKIAkucXVhZCBzeXNfc2V0cmV1aWQxNgkvKiA3MCAqLwogCS5xdWFkIHN5c19zZXRyZWdpZDE2Ci0JLnF1YWQgc3R1YjMyX3NpZ3N1c3BlbmQKKwkucXVhZCBzeXMzMl9zaWdzdXNwZW5kCiAJLnF1YWQgY29tcGF0X3N5c19zaWdwZW5kaW5nCiAJLnF1YWQgc3lzX3NldGhvc3RuYW1lCiAJLnF1YWQgY29tcGF0X3N5c19zZXRybGltaXQJLyogNzUgKi8KQEAgLTU4Myw3ICs1OTMsNyBAQAogCS5xdWFkIHN5czMyX3J0X3NpZ3BlbmRpbmcKIAkucXVhZCBjb21wYXRfc3lzX3J0X3NpZ3RpbWVkd2FpdAogCS5xdWFkIHN5czMyX3J0X3NpZ3F1ZXVlaW5mbwotCS5xdWFkIHN0dWIzMl9ydF9zaWdzdXNwZW5kCisJLnF1YWQgc3lzX3J0X3NpZ3N1c3BlbmQKIAkucXVhZCBzeXMzMl9wcmVhZAkJLyogMTgwICovCiAJLnF1YWQgc3lzMzJfcHdyaXRlCiAJLnF1YWQgc3lzX2Nob3duMTYKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9NYWtlZmlsZSBiL2FyY2gveDg2L2tlcm5lbC9NYWtlZmlsZQppbmRleCA3NzgwN2Q0Li41MTEyYzg0IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvTWFrZWZpbGUKKysrIGIvYXJjaC94ODYva2VybmVsL01ha2VmaWxlCkBAIC0yLDEwICsyLDE3IEBACiAjIE1ha2VmaWxlIGZvciB0aGUgbGludXgga2VybmVsLgogIwogCi1leHRyYS15ICAgICAgICAgICAgICAgIDo9IGhlYWRfJChCSVRTKS5vIGhlYWQkKEJJVFMpLm8gaW5pdF90YXNrLm8gdm1saW51eC5sZHMKK2V4dHJhLXkgICAgICAgICAgICAgICAgOj0gaGVhZF8kKEJJVFMpLm8gaGVhZCQoQklUUykubyBoZWFkLm8gaW5pdF90YXNrLm8gdm1saW51eC5sZHMKIAogQ1BQRkxBR1Nfdm1saW51eC5sZHMgKz0gLVUkKFVUU19NQUNISU5FKQogCitpZmRlZiBDT05GSUdfRlRSQUNFCisjIERvIG5vdCBwcm9maWxlIGRlYnVnIHV0aWxpdGllcworQ0ZMQUdTX1JFTU9WRV90c2NfNjQubyA9IC1wZworQ0ZMQUdTX1JFTU9WRV90c2NfMzIubyA9IC1wZworQ0ZMQUdTX1JFTU9WRV9ydGMubyA9IC1wZworZW5kaWYKKwogIwogIyB2c3lzY2FsbHMgKHdoaWNoIHdvcmsgb24gdGhlIHVzZXIgc3RhY2spIHNob3VsZCBoYXZlCiAjIG5vIHN0YWNrLXByb3RlY3RvciBjaGVja3M6CkBAIC0xMywyMCArMjAsMjEgQEAKIG5vc3RhY2twIDo9ICQoY2FsbCBjYy1vcHRpb24sIC1mbm8tc3RhY2stcHJvdGVjdG9yKQogQ0ZMQUdTX3ZzeXNjYWxsXzY0Lm8JOj0gJChQUk9GSUxJTkcpIC1nMCAkKG5vc3RhY2twKQogQ0ZMQUdTX2hwZXQubwkJOj0gJChub3N0YWNrcCkKLUNGTEFHU190c2NfNjQubwkJOj0gJChub3N0YWNrcCkKK0NGTEFHU190c2MubwkJOj0gJChub3N0YWNrcCkKIAogb2JqLXkJCQk6PSBwcm9jZXNzXyQoQklUUykubyBzaWduYWxfJChCSVRTKS5vIGVudHJ5XyQoQklUUykubwogb2JqLXkJCQkrPSB0cmFwc18kKEJJVFMpLm8gaXJxXyQoQklUUykubwogb2JqLXkJCQkrPSB0aW1lXyQoQklUUykubyBpb3BvcnQubyBsZHQubwotb2JqLXkJCQkrPSBzZXR1cF8kKEJJVFMpLm8gaTgyNTlfJChCSVRTKS5vIHNldHVwLm8KK29iai15CQkJKz0gc2V0dXAubyBpODI1OS5vIGlycWluaXRfJChCSVRTKS5vIHNldHVwX3BlcmNwdS5vCitvYmotJChDT05GSUdfWDg2X1ZJU1dTKQkrPSB2aXN3c19xdWlya3Mubworb2JqLSQoQ09ORklHX1g4Nl8zMikJKz0gcHJvYmVfcm9tc18zMi5vCiBvYmotJChDT05GSUdfWDg2XzMyKQkrPSBzeXNfaTM4Nl8zMi5vIGkzODZfa3N5bXNfMzIubwogb2JqLSQoQ09ORklHX1g4Nl82NCkJKz0gc3lzX3g4Nl82NC5vIHg4NjY0X2tzeW1zXzY0Lm8KLW9iai0kKENPTkZJR19YODZfNjQpCSs9IHN5c2NhbGxfNjQubyB2c3lzY2FsbF82NC5vIHNldHVwNjQubwotb2JqLXkJCQkrPSBib290ZmxhZy5vIGU4MjBfJChCSVRTKS5vCitvYmotJChDT05GSUdfWDg2XzY0KQkrPSBzeXNjYWxsXzY0Lm8gdnN5c2NhbGxfNjQubworb2JqLXkJCQkrPSBib290ZmxhZy5vIGU4MjAubwogb2JqLXkJCQkrPSBwY2ktZG1hLm8gcXVpcmtzLm8gaTgyMzcubyB0b3BvbG9neS5vIGtkZWJ1Z2ZzLm8KIG9iai15CQkJKz0gYWx0ZXJuYXRpdmUubyBpODI1My5vIHBjaS1ub21tdS5vCi1vYmotJChDT05GSUdfWDg2XzY0KQkrPSBidWdzXzY0Lm8KLW9iai15CQkJKz0gdHNjXyQoQklUUykubyBpb19kZWxheS5vIHJ0Yy5vCitvYmoteQkJCSs9IHRzYy5vIGlvX2RlbGF5Lm8gcnRjLm8KIAogb2JqLSQoQ09ORklHX1g4Nl9UUkFNUE9MSU5FKQkrPSB0cmFtcG9saW5lLm8KIG9iai15CQkJCSs9IHByb2Nlc3MubwpAQCAtNTMsOSArNjEsMTAgQEAKIG9iai0kKENPTkZJR19YODZfNjRfU01QKQkrPSB0c2Nfc3luYy5vIHNtcGNvbW1vbi5vCiBvYmotJChDT05GSUdfWDg2X1RSQU1QT0xJTkUpCSs9IHRyYW1wb2xpbmVfJChCSVRTKS5vCiBvYmotJChDT05GSUdfWDg2X01QUEFSU0UpCSs9IG1wcGFyc2Uubwotb2JqLSQoQ09ORklHX1g4Nl9MT0NBTF9BUElDKQkrPSBhcGljXyQoQklUUykubyBubWlfJChCSVRTKS5vCitvYmotJChDT05GSUdfWDg2X0xPQ0FMX0FQSUMpCSs9IGFwaWNfJChCSVRTKS5vIG5taS5vCiBvYmotJChDT05GSUdfWDg2X0lPX0FQSUMpCSs9IGlvX2FwaWNfJChCSVRTKS5vCiBvYmotJChDT05GSUdfWDg2X1JFQk9PVEZJWFVQUykJKz0gcmVib290X2ZpeHVwc18zMi5vCitvYmotJChDT05GSUdfRFlOQU1JQ19GVFJBQ0UpCSs9IGZ0cmFjZS5vCiBvYmotJChDT05GSUdfS0VYRUMpCQkrPSBtYWNoaW5lX2tleGVjXyQoQklUUykubwogb2JqLSQoQ09ORklHX0tFWEVDKQkJKz0gcmVsb2NhdGVfa2VybmVsXyQoQklUUykubyBjcmFzaC5vCiBvYmotJChDT05GSUdfQ1JBU0hfRFVNUCkJKz0gY3Jhc2hfZHVtcF8kKEJJVFMpLm8KQEAgLTY0LDcgKzczLDYgQEAKIG9iai15CQkJCSs9IHZzbXBfNjQubwogb2JqLSQoQ09ORklHX0tQUk9CRVMpCQkrPSBrcHJvYmVzLm8KIG9iai0kKENPTkZJR19NT0RVTEVTKQkJKz0gbW9kdWxlXyQoQklUUykubwotb2JqLSQoQ09ORklHX0FDUElfU1JBVCkgCSs9IHNyYXRfMzIubwogb2JqLSQoQ09ORklHX0VGSSkgCQkrPSBlZmkubyBlZmlfJChCSVRTKS5vIGVmaV9zdHViXyQoQklUUykubwogb2JqLSQoQ09ORklHX0RPVUJMRUZBVUxUKSAJKz0gZG91YmxlZmF1bHRfMzIubwogb2JqLSQoQ09ORklHX0tHREIpCQkrPSBrZ2RiLm8KQEAgLTk0LDEyICsxMDIsMTMgQEAKICMjIwogIyA2NCBiaXQgc3BlY2lmaWMgZmlsZXMKIGlmZXEgKCQoQ09ORklHX1g4Nl82NCkseSkKLSAgICAgICAgb2JqLXkJCQkJKz0gZ2VuYXBpY182NC5vIGdlbmFwaWNfZmxhdF82NC5vIGdlbngyYXBpY191dl94Lm8KKyAgICAgICAgb2JqLXkJCQkJKz0gZ2VuYXBpY182NC5vIGdlbmFwaWNfZmxhdF82NC5vIGdlbngyYXBpY191dl94Lm8gdGxiX3V2Lm8KICAgICAgICAgb2JqLSQoQ09ORklHX1g4Nl9QTV9USU1FUikJKz0gcG10aW1lcl82NC5vCiAgICAgICAgIG9iai0kKENPTkZJR19BVURJVCkJCSs9IGF1ZGl0XzY0Lm8KIAogICAgICAgICBvYmotJChDT05GSUdfR0FSVF9JT01NVSkJKz0gcGNpLWdhcnRfNjQubyBhcGVydHVyZV82NC5vCiAgICAgICAgIG9iai0kKENPTkZJR19DQUxHQVJZX0lPTU1VKQkrPSBwY2ktY2FsZ2FyeV82NC5vIHRjZV82NC5vCisgICAgICAgIG9iai0kKENPTkZJR19BTURfSU9NTVUpCQkrPSBhbWRfaW9tbXVfaW5pdC5vIGFtZF9pb21tdS5vCiAgICAgICAgIG9iai0kKENPTkZJR19TV0lPVExCKQkJKz0gcGNpLXN3aW90bGJfNjQubwogCiAgICAgICAgIG9iai0kKENPTkZJR19QQ0lfTU1DT05GSUcpCSs9IG1tY29uZi1mYW0xMGhfNjQubwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2FjcGkvYm9vdC5jIGIvYXJjaC94ODYva2VybmVsL2FjcGkvYm9vdC5jCmluZGV4IDMzYzUyMTYuLmY0ODlkN2EgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9hY3BpL2Jvb3QuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvYWNwaS9ib290LmMKQEAgLTM3LDYgKzM3LDcgQEAKICNpbmNsdWRlIDxhc20vcGd0YWJsZS5oPgogI2luY2x1ZGUgPGFzbS9pb19hcGljLmg+CiAjaW5jbHVkZSA8YXNtL2FwaWMuaD4KKyNpbmNsdWRlIDxhc20vZ2VuYXBpYy5oPgogI2luY2x1ZGUgPGFzbS9pby5oPgogI2luY2x1ZGUgPGFzbS9tcHNwZWMuaD4KICNpbmNsdWRlIDxhc20vc21wLmg+CkBAIC0xMDYsMjEgKzEwNyw2IEBACiAgKi8KIGVudW0gYWNwaV9pcnFfbW9kZWxfaWQgYWNwaV9pcnFfbW9kZWwgPSBBQ1BJX0lSUV9NT0RFTF9QSUM7CiAKLSNpZmRlZglDT05GSUdfWDg2XzY0Ci0KLS8qIHJlbHkgb24gYWxsIEFDUEkgdGFibGVzIGJlaW5nIGluIHRoZSBkaXJlY3QgbWFwcGluZyAqLwotY2hhciAqX19pbml0IF9fYWNwaV9tYXBfdGFibGUodW5zaWduZWQgbG9uZyBwaHlzX2FkZHIsIHVuc2lnbmVkIGxvbmcgc2l6ZSkKLXsKLQlpZiAoIXBoeXNfYWRkciB8fCAhc2l6ZSkKLQkJcmV0dXJuIE5VTEw7Ci0KLQlpZiAocGh5c19hZGRyK3NpemUgPD0gKG1heF9wZm5fbWFwcGVkIDw8IFBBR0VfU0hJRlQpICsgUEFHRV9TSVpFKQotCQlyZXR1cm4gX192YShwaHlzX2FkZHIpOwotCi0JcmV0dXJuIE5VTEw7Ci19Ci0KLSNlbHNlCiAKIC8qCiAgKiBUZW1wb3JhcmlseSB1c2UgdGhlIHZpcnR1YWwgYXJlYSBzdGFydGluZyBmcm9tIEZJWF9JT19BUElDX0JBU0VfRU5ELApAQCAtMTM5LDExICsxMjUsMTUgQEAKIAl1bnNpZ25lZCBsb25nIGJhc2UsIG9mZnNldCwgbWFwcGVkX3NpemU7CiAJaW50IGlkeDsKIAotCWlmIChwaHlzICsgc2l6ZSA8IDggKiAxMDI0ICogMTAyNCkKKwlpZiAoIXBoeXMgfHwgIXNpemUpCisJCXJldHVybiBOVUxMOworCisJaWYgKHBoeXMrc2l6ZSA8PSAobWF4X2xvd19wZm5fbWFwcGVkIDw8IFBBR0VfU0hJRlQpKQogCQlyZXR1cm4gX192YShwaHlzKTsKIAogCW9mZnNldCA9IHBoeXMgJiAoUEFHRV9TSVpFIC0gMSk7CiAJbWFwcGVkX3NpemUgPSBQQUdFX1NJWkUgLSBvZmZzZXQ7CisJY2xlYXJfZml4bWFwKEZJWF9BQ1BJX0VORCk7CiAJc2V0X2ZpeG1hcChGSVhfQUNQSV9FTkQsIHBoeXMpOwogCWJhc2UgPSBmaXhfdG9fdmlydChGSVhfQUNQSV9FTkQpOwogCkBAIC0xNTUsMTMgKzE0NSwxMyBAQAogCQlpZiAoLS1pZHggPCBGSVhfQUNQSV9CRUdJTikKIAkJCXJldHVybiBOVUxMOwkvKiBjYW5ub3QgaGFuZGxlIHRoaXMgKi8KIAkJcGh5cyArPSBQQUdFX1NJWkU7CisJCWNsZWFyX2ZpeG1hcChpZHgpOwogCQlzZXRfZml4bWFwKGlkeCwgcGh5cyk7CiAJCW1hcHBlZF9zaXplICs9IFBBR0VfU0laRTsKIAl9CiAKIAlyZXR1cm4gKCh1bnNpZ25lZCBjaGFyICopYmFzZSArIG9mZnNldCk7CiB9Ci0jZW5kaWYKIAogI2lmZGVmIENPTkZJR19QQ0lfTU1DT05GSUcKIC8qIFRoZSBwaHlzaWNhbCBhZGRyZXNzIG9mIHRoZSBNTUNPTkZJRyBhcGVydHVyZS4gIFNldCBmcm9tIEFDUEkgdGFibGVzLiAqLwpAQCAtMzM4LDggKzMyOCw2IEBACiAKICNpZmRlZiBDT05GSUdfWDg2X0lPX0FQSUMKIAotc3RydWN0IG1wX2lvYXBpY19yb3V0aW5nIG1wX2lvYXBpY19yb3V0aW5nW01BWF9JT19BUElDU107Ci0KIHN0YXRpYyBpbnQgX19pbml0CiBhY3BpX3BhcnNlX2lvYXBpYyhzdHJ1Y3QgYWNwaV9zdWJ0YWJsZV9oZWFkZXIgKiBoZWFkZXIsIGNvbnN0IHVuc2lnbmVkIGxvbmcgZW5kKQogewpAQCAtNTE0LDggKzUwMiw2IEBACiAJICogTWFrZSBzdXJlIGFsbCAobGVnYWN5KSBQQ0kgSVJRcyBhcmUgc2V0IGFzIGxldmVsLXRyaWdnZXJlZC4KIAkgKi8KIAlpZiAoYWNwaV9pcnFfbW9kZWwgPT0gQUNQSV9JUlFfTU9ERUxfUElDKSB7Ci0JCWV4dGVybiB2b2lkIGVpc2Ffc2V0X2xldmVsX2lycSh1bnNpZ25lZCBpbnQgaXJxKTsKLQogCQlpZiAodHJpZ2dlcmluZyA9PSBBQ1BJX0xFVkVMX1NFTlNJVElWRSkKIAkJCWVpc2Ffc2V0X2xldmVsX2lycShnc2kpOwogCX0KQEAgLTg2MCw2ICs4NDYsMzY0IEBACiAjZW5kaWYJCQkJLyogQ09ORklHX1g4Nl9MT0NBTF9BUElDICovCiAKICNpZmRlZglDT05GSUdfWDg2X0lPX0FQSUMKKyNkZWZpbmUgTVBfSVNBX0JVUwkJMAorCisjaWZkZWYgQ09ORklHX1g4Nl9FUzcwMDAKK2V4dGVybiBpbnQgZXM3MDAwX3BsYXQ7CisjZW5kaWYKKworc3RhdGljIHN0cnVjdCB7CisJaW50IGFwaWNfaWQ7CisJaW50IGdzaV9iYXNlOworCWludCBnc2lfZW5kOworCURFQ0xBUkVfQklUTUFQKHBpbl9wcm9ncmFtbWVkLCBNUF9NQVhfSU9BUElDX1BJTiArIDEpOworfSBtcF9pb2FwaWNfcm91dGluZ1tNQVhfSU9fQVBJQ1NdOworCitzdGF0aWMgaW50IG1wX2ZpbmRfaW9hcGljKGludCBnc2kpCit7CisJaW50IGkgPSAwOworCisJLyogRmluZCB0aGUgSU9BUElDIHRoYXQgbWFuYWdlcyB0aGlzIEdTSS4gKi8KKwlmb3IgKGkgPSAwOyBpIDwgbnJfaW9hcGljczsgaSsrKSB7CisJCWlmICgoZ3NpID49IG1wX2lvYXBpY19yb3V0aW5nW2ldLmdzaV9iYXNlKQorCQkgICAgJiYgKGdzaSA8PSBtcF9pb2FwaWNfcm91dGluZ1tpXS5nc2lfZW5kKSkKKwkJCXJldHVybiBpOworCX0KKworCXByaW50ayhLRVJOX0VSUiAiRVJST1I6IFVuYWJsZSB0byBsb2NhdGUgSU9BUElDIGZvciBHU0kgJWRcbiIsIGdzaSk7CisJcmV0dXJuIC0xOworfQorCitzdGF0aWMgdTggX19pbml0IHVuaXFfaW9hcGljX2lkKHU4IGlkKQoreworI2lmZGVmIENPTkZJR19YODZfMzIKKwlpZiAoKGJvb3RfY3B1X2RhdGEueDg2X3ZlbmRvciA9PSBYODZfVkVORE9SX0lOVEVMKSAmJgorCSAgICAhQVBJQ19YQVBJQyhhcGljX3ZlcnNpb25bYm9vdF9jcHVfcGh5c2ljYWxfYXBpY2lkXSkpCisJCXJldHVybiBpb19hcGljX2dldF91bmlxdWVfaWQobnJfaW9hcGljcywgaWQpOworCWVsc2UKKwkJcmV0dXJuIGlkOworI2Vsc2UKKwlpbnQgaTsKKwlERUNMQVJFX0JJVE1BUCh1c2VkLCAyNTYpOworCWJpdG1hcF96ZXJvKHVzZWQsIDI1Nik7CisJZm9yIChpID0gMDsgaSA8IG5yX2lvYXBpY3M7IGkrKykgeworCQlzdHJ1Y3QgbXBfY29uZmlnX2lvYXBpYyAqaWEgPSAmbXBfaW9hcGljc1tpXTsKKwkJX19zZXRfYml0KGlhLT5tcF9hcGljaWQsIHVzZWQpOworCX0KKwlpZiAoIXRlc3RfYml0KGlkLCB1c2VkKSkKKwkJcmV0dXJuIGlkOworCXJldHVybiBmaW5kX2ZpcnN0X3plcm9fYml0KHVzZWQsIDI1Nik7CisjZW5kaWYKK30KKworc3RhdGljIGludCBiYWRfaW9hcGljKHVuc2lnbmVkIGxvbmcgYWRkcmVzcykKK3sKKwlpZiAobnJfaW9hcGljcyA+PSBNQVhfSU9fQVBJQ1MpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICJFUlJPUjogTWF4ICMgb2YgSS9PIEFQSUNzICglZCkgZXhjZWVkZWQgIgorCQkgICAgICAgIihmb3VuZCAlZClcbiIsIE1BWF9JT19BUElDUywgbnJfaW9hcGljcyk7CisJCXBhbmljKCJSZWNvbXBpbGUga2VybmVsIHdpdGggYmlnZ2VyIE1BWF9JT19BUElDUyFcbiIpOworCX0KKwlpZiAoIWFkZHJlc3MpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICJXQVJOSU5HOiBCb2d1cyAoemVybykgSS9PIEFQSUMgYWRkcmVzcyIKKwkJICAgICAgICIgZm91bmQgaW4gdGFibGUsIHNraXBwaW5nIVxuIik7CisJCXJldHVybiAxOworCX0KKwlyZXR1cm4gMDsKK30KKwordm9pZCBfX2luaXQgbXBfcmVnaXN0ZXJfaW9hcGljKGludCBpZCwgdTMyIGFkZHJlc3MsIHUzMiBnc2lfYmFzZSkKK3sKKwlpbnQgaWR4ID0gMDsKKworCWlmIChiYWRfaW9hcGljKGFkZHJlc3MpKQorCQlyZXR1cm47CisKKwlpZHggPSBucl9pb2FwaWNzOworCisJbXBfaW9hcGljc1tpZHhdLm1wX3R5cGUgPSBNUF9JT0FQSUM7CisJbXBfaW9hcGljc1tpZHhdLm1wX2ZsYWdzID0gTVBDX0FQSUNfVVNBQkxFOworCW1wX2lvYXBpY3NbaWR4XS5tcF9hcGljYWRkciA9IGFkZHJlc3M7CisKKwlzZXRfZml4bWFwX25vY2FjaGUoRklYX0lPX0FQSUNfQkFTRV8wICsgaWR4LCBhZGRyZXNzKTsKKwltcF9pb2FwaWNzW2lkeF0ubXBfYXBpY2lkID0gdW5pcV9pb2FwaWNfaWQoaWQpOworI2lmZGVmIENPTkZJR19YODZfMzIKKwltcF9pb2FwaWNzW2lkeF0ubXBfYXBpY3ZlciA9IGlvX2FwaWNfZ2V0X3ZlcnNpb24oaWR4KTsKKyNlbHNlCisJbXBfaW9hcGljc1tpZHhdLm1wX2FwaWN2ZXIgPSAwOworI2VuZGlmCisJLyoKKwkgKiBCdWlsZCBiYXNpYyBHU0kgbG9va3VwIHRhYmxlIHRvIGZhY2lsaXRhdGUgZ3NpLT5pb19hcGljIGxvb2t1cHMKKwkgKiBhbmQgdG8gcHJldmVudCByZXByb2dyYW1taW5nIG9mIElPQVBJQyBwaW5zIChQQ0kgR1NJcykuCisJICovCisJbXBfaW9hcGljX3JvdXRpbmdbaWR4XS5hcGljX2lkID0gbXBfaW9hcGljc1tpZHhdLm1wX2FwaWNpZDsKKwltcF9pb2FwaWNfcm91dGluZ1tpZHhdLmdzaV9iYXNlID0gZ3NpX2Jhc2U7CisJbXBfaW9hcGljX3JvdXRpbmdbaWR4XS5nc2lfZW5kID0gZ3NpX2Jhc2UgKworCSAgICBpb19hcGljX2dldF9yZWRpcl9lbnRyaWVzKGlkeCk7CisKKwlwcmludGsoS0VSTl9JTkZPICJJT0FQSUNbJWRdOiBhcGljX2lkICVkLCB2ZXJzaW9uICVkLCBhZGRyZXNzIDB4JWx4LCAiCisJICAgICAgICJHU0kgJWQtJWRcbiIsIGlkeCwgbXBfaW9hcGljc1tpZHhdLm1wX2FwaWNpZCwKKwkgICAgICAgbXBfaW9hcGljc1tpZHhdLm1wX2FwaWN2ZXIsIG1wX2lvYXBpY3NbaWR4XS5tcF9hcGljYWRkciwKKwkgICAgICAgbXBfaW9hcGljX3JvdXRpbmdbaWR4XS5nc2lfYmFzZSwgbXBfaW9hcGljX3JvdXRpbmdbaWR4XS5nc2lfZW5kKTsKKworCW5yX2lvYXBpY3MrKzsKK30KKworc3RhdGljIHZvaWQgYXNzaWduX3RvX21wX2lycShzdHJ1Y3QgbXBfY29uZmlnX2ludHNyYyAqbSwKKwkJCQkgICAgc3RydWN0IG1wX2NvbmZpZ19pbnRzcmMgKm1wX2lycSkKK3sKKwltZW1jcHkobXBfaXJxLCBtLCBzaXplb2Yoc3RydWN0IG1wX2NvbmZpZ19pbnRzcmMpKTsKK30KKworc3RhdGljIGludCBtcF9pcnFfY21wKHN0cnVjdCBtcF9jb25maWdfaW50c3JjICptcF9pcnEsCisJCQkJc3RydWN0IG1wX2NvbmZpZ19pbnRzcmMgKm0pCit7CisJcmV0dXJuIG1lbWNtcChtcF9pcnEsIG0sIHNpemVvZihzdHJ1Y3QgbXBfY29uZmlnX2ludHNyYykpOworfQorCitzdGF0aWMgdm9pZCBzYXZlX21wX2lycShzdHJ1Y3QgbXBfY29uZmlnX2ludHNyYyAqbSkKK3sKKwlpbnQgaTsKKworCWZvciAoaSA9IDA7IGkgPCBtcF9pcnFfZW50cmllczsgaSsrKSB7CisJCWlmICghbXBfaXJxX2NtcCgmbXBfaXJxc1tpXSwgbSkpCisJCQlyZXR1cm47CisJfQorCisJYXNzaWduX3RvX21wX2lycShtLCAmbXBfaXJxc1ttcF9pcnFfZW50cmllc10pOworCWlmICgrK21wX2lycV9lbnRyaWVzID09IE1BWF9JUlFfU09VUkNFUykKKwkJcGFuaWMoIk1heCAjIG9mIGlycSBzb3VyY2VzIGV4Y2VlZGVkISFcbiIpOworfQorCit2b2lkIF9faW5pdCBtcF9vdmVycmlkZV9sZWdhY3lfaXJxKHU4IGJ1c19pcnEsIHU4IHBvbGFyaXR5LCB1OCB0cmlnZ2VyLCB1MzIgZ3NpKQoreworCWludCBpb2FwaWM7CisJaW50IHBpbjsKKwlzdHJ1Y3QgbXBfY29uZmlnX2ludHNyYyBtcF9pcnE7CisKKwkvKgorCSAqIENvbnZlcnQgJ2dzaScgdG8gJ2lvYXBpYy5waW4nLgorCSAqLworCWlvYXBpYyA9IG1wX2ZpbmRfaW9hcGljKGdzaSk7CisJaWYgKGlvYXBpYyA8IDApCisJCXJldHVybjsKKwlwaW4gPSBnc2kgLSBtcF9pb2FwaWNfcm91dGluZ1tpb2FwaWNdLmdzaV9iYXNlOworCisJLyoKKwkgKiBUQkQ6IFRoaXMgY2hlY2sgaXMgZm9yIGZhdWx0eSB0aW1lciBlbnRyaWVzLCB3aGVyZSB0aGUgb3ZlcnJpZGUKKwkgKiAgICAgIGVycm9uZW91c2x5IHNldHMgdGhlIHRyaWdnZXIgdG8gbGV2ZWwsIHJlc3VsdGluZyBpbiBhIEhVR0UKKwkgKiAgICAgIGluY3JlYXNlIG9mIHRpbWVyIGludGVycnVwdHMhCisJICovCisJaWYgKChidXNfaXJxID09IDApICYmICh0cmlnZ2VyID09IDMpKQorCQl0cmlnZ2VyID0gMTsKKworCW1wX2lycS5tcF90eXBlID0gTVBfSU5UU1JDOworCW1wX2lycS5tcF9pcnF0eXBlID0gbXBfSU5UOworCW1wX2lycS5tcF9pcnFmbGFnID0gKHRyaWdnZXIgPDwgMikgfCBwb2xhcml0eTsKKwltcF9pcnEubXBfc3JjYnVzID0gTVBfSVNBX0JVUzsKKwltcF9pcnEubXBfc3JjYnVzaXJxID0gYnVzX2lycTsJLyogSVJRICovCisJbXBfaXJxLm1wX2RzdGFwaWMgPSBtcF9pb2FwaWNzW2lvYXBpY10ubXBfYXBpY2lkOyAvKiBBUElDIElEICovCisJbXBfaXJxLm1wX2RzdGlycSA9IHBpbjsJLyogSU5USU4jICovCisKKwlzYXZlX21wX2lycSgmbXBfaXJxKTsKK30KKwordm9pZCBfX2luaXQgbXBfY29uZmlnX2FjcGlfbGVnYWN5X2lycXModm9pZCkKK3sKKwlpbnQgaTsKKwlpbnQgaW9hcGljOworCXVuc2lnbmVkIGludCBkc3RhcGljOworCXN0cnVjdCBtcF9jb25maWdfaW50c3JjIG1wX2lycTsKKworI2lmIGRlZmluZWQgKENPTkZJR19NQ0EpIHx8IGRlZmluZWQgKENPTkZJR19FSVNBKQorCS8qCisJICogRmFicmljYXRlIHRoZSBsZWdhY3kgSVNBIGJ1cyAoYnVzICMzMSkuCisJICovCisJbXBfYnVzX2lkX3RvX3R5cGVbTVBfSVNBX0JVU10gPSBNUF9CVVNfSVNBOworI2VuZGlmCisJc2V0X2JpdChNUF9JU0FfQlVTLCBtcF9idXNfbm90X3BjaSk7CisJRHByaW50aygiQnVzICMlZCBpcyBJU0FcbiIsIE1QX0lTQV9CVVMpOworCisjaWZkZWYgQ09ORklHX1g4Nl9FUzcwMDAKKwkvKgorCSAqIE9sZGVyIGdlbmVyYXRpb25zIG9mIEVTNzAwMCBoYXZlIG5vIGxlZ2FjeSBpZGVudGl0eSBtYXBwaW5ncworCSAqLworCWlmIChlczcwMDBfcGxhdCA9PSAxKQorCQlyZXR1cm47CisjZW5kaWYKKworCS8qCisJICogTG9jYXRlIHRoZSBJT0FQSUMgdGhhdCBtYW5hZ2VzIHRoZSBJU0EgSVJRcyAoMC0xNSkuCisJICovCisJaW9hcGljID0gbXBfZmluZF9pb2FwaWMoMCk7CisJaWYgKGlvYXBpYyA8IDApCisJCXJldHVybjsKKwlkc3RhcGljID0gbXBfaW9hcGljc1tpb2FwaWNdLm1wX2FwaWNpZDsKKworCS8qCisJICogVXNlIHRoZSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBJUlFzIDAtMTUuICBVbmxlc3MKKwkgKiBvdmVycmlkZGVuIGJ5IChNQURUKSBpbnRlcnJ1cHQgc291cmNlIG92ZXJyaWRlIGVudHJpZXMuCisJICovCisJZm9yIChpID0gMDsgaSA8IDE2OyBpKyspIHsKKwkJaW50IGlkeDsKKworCQlmb3IgKGlkeCA9IDA7IGlkeCA8IG1wX2lycV9lbnRyaWVzOyBpZHgrKykgeworCQkJc3RydWN0IG1wX2NvbmZpZ19pbnRzcmMgKmlycSA9IG1wX2lycXMgKyBpZHg7CisKKwkJCS8qIERvIHdlIGFscmVhZHkgaGF2ZSBhIG1hcHBpbmcgZm9yIHRoaXMgSVNBIElSUT8gKi8KKwkJCWlmIChpcnEtPm1wX3NyY2J1cyA9PSBNUF9JU0FfQlVTCisJCQkgICAgJiYgaXJxLT5tcF9zcmNidXNpcnEgPT0gaSkKKwkJCQlicmVhazsKKworCQkJLyogRG8gd2UgYWxyZWFkeSBoYXZlIGEgbWFwcGluZyBmb3IgdGhpcyBJT0FQSUMgcGluICovCisJCQlpZiAoaXJxLT5tcF9kc3RhcGljID09IGRzdGFwaWMgJiYKKwkJCSAgICBpcnEtPm1wX2RzdGlycSA9PSBpKQorCQkJCWJyZWFrOworCQl9CisKKwkJaWYgKGlkeCAhPSBtcF9pcnFfZW50cmllcykgeworCQkJcHJpbnRrKEtFUk5fREVCVUcgIkFDUEk6IElSUSVkIHVzZWQgYnkgb3ZlcnJpZGUuXG4iLCBpKTsKKwkJCWNvbnRpbnVlOwkvKiBJUlEgYWxyZWFkeSB1c2VkICovCisJCX0KKworCQltcF9pcnEubXBfdHlwZSA9IE1QX0lOVFNSQzsKKwkJbXBfaXJxLm1wX2lycWZsYWcgPSAwOwkvKiBDb25mb3JtaW5nICovCisJCW1wX2lycS5tcF9zcmNidXMgPSBNUF9JU0FfQlVTOworCQltcF9pcnEubXBfZHN0YXBpYyA9IGRzdGFwaWM7CisJCW1wX2lycS5tcF9pcnF0eXBlID0gbXBfSU5UOworCQltcF9pcnEubXBfc3JjYnVzaXJxID0gaTsgLyogSWRlbnRpdHkgbWFwcGVkICovCisJCW1wX2lycS5tcF9kc3RpcnEgPSBpOworCisJCXNhdmVfbXBfaXJxKCZtcF9pcnEpOworCX0KK30KKworaW50IG1wX3JlZ2lzdGVyX2dzaSh1MzIgZ3NpLCBpbnQgdHJpZ2dlcmluZywgaW50IHBvbGFyaXR5KQoreworCWludCBpb2FwaWM7CisJaW50IGlvYXBpY19waW47CisjaWZkZWYgQ09ORklHX1g4Nl8zMgorI2RlZmluZSBNQVhfR1NJX05VTQk0MDk2CisjZGVmaW5lIElSUV9DT01QUkVTU0lPTl9TVEFSVAk2NAorCisJc3RhdGljIGludCBwY2lfaXJxID0gSVJRX0NPTVBSRVNTSU9OX1NUQVJUOworCS8qCisJICogTWFwcGluZyBiZXR3ZWVuIEdsb2JhbCBTeXN0ZW0gSW50ZXJydXB0cywgd2hpY2gKKwkgKiByZXByZXNlbnQgYWxsIHBvc3NpYmxlIGludGVycnVwdHMsIGFuZCBJUlFzCisJICogYXNzaWduZWQgdG8gYWN0dWFsIGRldmljZXMuCisJICovCisJc3RhdGljIGludCBnc2lfdG9faXJxW01BWF9HU0lfTlVNXTsKKyNlbHNlCisKKwlpZiAoYWNwaV9pcnFfbW9kZWwgIT0gQUNQSV9JUlFfTU9ERUxfSU9BUElDKQorCQlyZXR1cm4gZ3NpOworI2VuZGlmCisKKwkvKiBEb24ndCBzZXQgdXAgdGhlIEFDUEkgU0NJIGJlY2F1c2UgaXQncyBhbHJlYWR5IHNldCB1cCAqLworCWlmIChhY3BpX2dibF9GQURULnNjaV9pbnRlcnJ1cHQgPT0gZ3NpKQorCQlyZXR1cm4gZ3NpOworCisJaW9hcGljID0gbXBfZmluZF9pb2FwaWMoZ3NpKTsKKwlpZiAoaW9hcGljIDwgMCkgeworCQlwcmludGsoS0VSTl9XQVJOSU5HICJObyBJT0FQSUMgZm9yIEdTSSAldVxuIiwgZ3NpKTsKKwkJcmV0dXJuIGdzaTsKKwl9CisKKwlpb2FwaWNfcGluID0gZ3NpIC0gbXBfaW9hcGljX3JvdXRpbmdbaW9hcGljXS5nc2lfYmFzZTsKKworI2lmZGVmIENPTkZJR19YODZfMzIKKwlpZiAoaW9hcGljX3JlbnVtYmVyX2lycSkKKwkJZ3NpID0gaW9hcGljX3JlbnVtYmVyX2lycShpb2FwaWMsIGdzaSk7CisjZW5kaWYKKworCS8qCisJICogQXZvaWQgcGluIHJlcHJvZ3JhbW1pbmcuICBQUlRzIHR5cGljYWxseSBpbmNsdWRlIGVudHJpZXMKKwkgKiB3aXRoIHJlZHVuZGFudCBwaW4tPmdzaSBtYXBwaW5ncyAoYnV0IHVuaXF1ZSBQQ0kgZGV2aWNlcyk7CisJICogd2Ugb25seSBwcm9ncmFtIHRoZSBJT0FQSUMgb24gdGhlIGZpcnN0LgorCSAqLworCWlmIChpb2FwaWNfcGluID4gTVBfTUFYX0lPQVBJQ19QSU4pIHsKKwkJcHJpbnRrKEtFUk5fRVJSICJJbnZhbGlkIHJlZmVyZW5jZSB0byBJT0FQSUMgcGluICIKKwkJICAgICAgICIlZC0lZFxuIiwgbXBfaW9hcGljX3JvdXRpbmdbaW9hcGljXS5hcGljX2lkLAorCQkgICAgICAgaW9hcGljX3Bpbik7CisJCXJldHVybiBnc2k7CisJfQorCWlmICh0ZXN0X2JpdChpb2FwaWNfcGluLCBtcF9pb2FwaWNfcm91dGluZ1tpb2FwaWNdLnBpbl9wcm9ncmFtbWVkKSkgeworCQlEcHJpbnRrKEtFUk5fREVCVUcgIlBpbiAlZC0lZCBhbHJlYWR5IHByb2dyYW1tZWRcbiIsCisJCQltcF9pb2FwaWNfcm91dGluZ1tpb2FwaWNdLmFwaWNfaWQsIGlvYXBpY19waW4pOworI2lmZGVmIENPTkZJR19YODZfMzIKKwkJcmV0dXJuIChnc2kgPCBJUlFfQ09NUFJFU1NJT05fU1RBUlQgPyBnc2kgOiBnc2lfdG9faXJxW2dzaV0pOworI2Vsc2UKKwkJcmV0dXJuIGdzaTsKKyNlbmRpZgorCX0KKworCXNldF9iaXQoaW9hcGljX3BpbiwgbXBfaW9hcGljX3JvdXRpbmdbaW9hcGljXS5waW5fcHJvZ3JhbW1lZCk7CisjaWZkZWYgQ09ORklHX1g4Nl8zMgorCS8qCisJICogRm9yIEdTSSA+PSA2NCwgdXNlIElSUSBjb21wcmVzc2lvbgorCSAqLworCWlmICgoZ3NpID49IElSUV9DT01QUkVTU0lPTl9TVEFSVCkKKwkgICAgJiYgKHRyaWdnZXJpbmcgPT0gQUNQSV9MRVZFTF9TRU5TSVRJVkUpKSB7CisJCS8qCisJCSAqIEZvciBQQ0kgZGV2aWNlcyBhc3NpZ24gSVJRcyBpbiBvcmRlciwgYXZvaWRpbmcgZ2FwcworCQkgKiBkdWUgdG8gdW51c2VkIEkvTyBBUElDIHBpbnMuCisJCSAqLworCQlpbnQgaXJxID0gZ3NpOworCQlpZiAoZ3NpIDwgTUFYX0dTSV9OVU0pIHsKKwkJCS8qCisJCQkgKiBSZXRhaW4gdGhlIFZJQSBjaGlwc2V0IHdvcmstYXJvdW5kIChnc2kgPiAxNSksIGJ1dAorCQkJICogYXZvaWQgYSBwcm9ibGVtIHdoZXJlIHRoZSA4MjU0IHRpbWVyIChJUlEwKSBpcyBzZXR1cAorCQkJICogdmlhIGFuIG92ZXJyaWRlIChzbyBpdCdzIG5vdCBvbiBwaW4gMCBvZiB0aGUgaW9hcGljKSwKKwkJCSAqIGFuZCBhdCB0aGUgc2FtZSB0aW1lLCB0aGUgcGluIDAgaW50ZXJydXB0IGlzIGEgUENJCisJCQkgKiB0eXBlLiAgVGhlIGdzaSA+IDE1IHRlc3QgY291bGQgY2F1c2UgdGhlc2UgdHdvIHBpbnMKKwkJCSAqIHRvIGJlIHNoYXJlZCBhcyBJUlEwLCBhbmQgdGhleSBhcmUgbm90IHNoYXJlYWJsZS4KKwkJCSAqIFNvIHRlc3QgZm9yIHRoaXMgY29uZGl0aW9uLCBhbmQgaWYgbmVjZXNzYXJ5LCBhdm9pZAorCQkJICogdGhlIHBpbiBjb2xsaXNpb24uCisJCQkgKi8KKwkJCWdzaSA9IHBjaV9pcnErKzsKKwkJCS8qCisJCQkgKiBEb24ndCBhc3NpZ24gSVJRIHVzZWQgYnkgQUNQSSBTQ0kKKwkJCSAqLworCQkJaWYgKGdzaSA9PSBhY3BpX2dibF9GQURULnNjaV9pbnRlcnJ1cHQpCisJCQkJZ3NpID0gcGNpX2lycSsrOworCQkJZ3NpX3RvX2lycVtpcnFdID0gZ3NpOworCQl9IGVsc2UgeworCQkJcHJpbnRrKEtFUk5fRVJSICJHU0kgJXUgaXMgdG9vIGhpZ2hcbiIsIGdzaSk7CisJCQlyZXR1cm4gZ3NpOworCQl9CisJfQorI2VuZGlmCisJaW9fYXBpY19zZXRfcGNpX3JvdXRpbmcoaW9hcGljLCBpb2FwaWNfcGluLCBnc2ksCisJCQkJdHJpZ2dlcmluZyA9PSBBQ1BJX0VER0VfU0VOU0lUSVZFID8gMCA6IDEsCisJCQkJcG9sYXJpdHkgPT0gQUNQSV9BQ1RJVkVfSElHSCA/IDAgOiAxKTsKKwlyZXR1cm4gZ3NpOworfQorCitpbnQgbXBfY29uZmlnX2FjcGlfZ3NpKHVuc2lnbmVkIGNoYXIgbnVtYmVyLCB1bnNpZ25lZCBpbnQgZGV2Zm4sIHU4IHBpbiwKKwkJCXUzMiBnc2ksIGludCB0cmlnZ2VyaW5nLCBpbnQgcG9sYXJpdHkpCit7CisjaWZkZWYgQ09ORklHX1g4Nl9NUFBBUlNFCisJc3RydWN0IG1wX2NvbmZpZ19pbnRzcmMgbXBfaXJxOworCWludCBpb2FwaWM7CisKKwlpZiAoIWFjcGlfaW9hcGljKQorCQlyZXR1cm4gMDsKKworCS8qIHByaW50IHRoZSBlbnRyeSBzaG91bGQgaGFwcGVuIG9uIG1wdGFibGUgaWRlbnRpY2FsbHkgKi8KKwltcF9pcnEubXBfdHlwZSA9IE1QX0lOVFNSQzsKKwltcF9pcnEubXBfaXJxdHlwZSA9IG1wX0lOVDsKKwltcF9pcnEubXBfaXJxZmxhZyA9ICh0cmlnZ2VyaW5nID09IEFDUElfRURHRV9TRU5TSVRJVkUgPyA0IDogMHgwYykgfAorCQkJCShwb2xhcml0eSA9PSBBQ1BJX0FDVElWRV9ISUdIID8gMSA6IDMpOworCW1wX2lycS5tcF9zcmNidXMgPSBudW1iZXI7CisJbXBfaXJxLm1wX3NyY2J1c2lycSA9ICgoKGRldmZuID4+IDMpICYgMHgxZikgPDwgMikgfCAoKHBpbiAtIDEpICYgMyk7CisJaW9hcGljID0gbXBfZmluZF9pb2FwaWMoZ3NpKTsKKwltcF9pcnEubXBfZHN0YXBpYyA9IG1wX2lvYXBpY19yb3V0aW5nW2lvYXBpY10uYXBpY19pZDsKKwltcF9pcnEubXBfZHN0aXJxID0gZ3NpIC0gbXBfaW9hcGljX3JvdXRpbmdbaW9hcGljXS5nc2lfYmFzZTsKKworCXNhdmVfbXBfaXJxKCZtcF9pcnEpOworI2VuZGlmCisJcmV0dXJuIDA7Cit9CisKIC8qCiAgKiBQYXJzZSBJT0FQSUMgcmVsYXRlZCBlbnRyaWVzIGluIE1BRFQKICAqIHJldHVybnMgMCBvbiBzdWNjZXNzLCA8IDAgb24gZXJyb3IKQEAgLTEwMDksOCArMTM1Myw2IEBACiAJcmV0dXJuOwogfQogCi0jaWZkZWYgX19pMzg2X18KLQogc3RhdGljIGludCBfX2luaXQgZGlzYWJsZV9hY3BpX2lycShjb25zdCBzdHJ1Y3QgZG1pX3N5c3RlbV9pZCAqZCkKIHsKIAlpZiAoIWFjcGlfZm9yY2UpIHsKQEAgLTEwNjEsNiArMTQwMywxNiBAQAogfQogCiAvKgorICogRm9yY2UgaWdub3JpbmcgQklPUyBJUlEwIHBpbjIgb3ZlcnJpZGUKKyAqLworc3RhdGljIGludCBfX2luaXQgZG1pX2lnbm9yZV9pcnEwX3RpbWVyX292ZXJyaWRlKGNvbnN0IHN0cnVjdCBkbWlfc3lzdGVtX2lkICpkKQoreworCXByX25vdGljZSgiJXMgZGV0ZWN0ZWQ6IElnbm9yaW5nIEJJT1MgSVJRMCBwaW4yIG92ZXJyaWRlXG4iLCBkLT5pZGVudCk7CisJYWNwaV9za2lwX3RpbWVyX292ZXJyaWRlID0gMTsKKwlyZXR1cm4gMDsKK30KKworLyoKICAqIElmIHlvdXIgc3lzdGVtIGlzIGJsYWNrbGlzdGVkIGhlcmUsIGJ1dCB5b3UgZmluZCB0aGF0IGFjcGk9Zm9yY2UKICAqIHdvcmtzIGZvciB5b3UsIHBsZWFzZSBjb250YWN0IGFjcGktZGV2ZWxAc291cmNlZm9yZ2UubmV0CiAgKi8KQEAgLTEyMjcsMTEgKzE1NzksMzUgQEAKIAkJICAgICBETUlfTUFUQ0goRE1JX1BST0RVQ1RfTkFNRSwgIlRyYXZlbE1hdGUgMzYwIiksCiAJCSAgICAgfSwKIAkgfSwKKwkvKgorCSAqIEhQIGxhcHRvcHMgd2hpY2ggdXNlIGEgRFNEVCByZXBvcnRpbmcgYXMgSFAvU0I0MDAvMTAwMDAsCisJICogd2hpY2ggaW5jbHVkZXMgc29tZSBjb2RlIHdoaWNoIG92ZXJyaWRlcyBhbGwgdGVtcGVyYXR1cmUKKwkgKiB0cmlwIHBvaW50cyB0byAxNkMgaWYgdGhlIElOVElOMiBpbnB1dCBvZiB0aGUgSS9PIEFQSUMKKwkgKiBpcyBlbmFibGVkLiAgVGhpcyBpbnB1dCBpcyBpbmNvcnJlY3RseSBkZXNpZ25hdGVkIHRoZQorCSAqIElTQSBJUlEgMCB2aWEgYW4gaW50ZXJydXB0IHNvdXJjZSBvdmVycmlkZSBldmVuIHRob3VnaAorCSAqIGl0IGlzIHdpcmVkIHRvIHRoZSBvdXRwdXQgb2YgdGhlIG1hc3RlciA4MjU5QSBhbmQgSU5USU4wCisJICogaXMgbm90IGNvbm5lY3RlZCBhdCBhbGwuICBGb3JjZSBpZ25vcmluZyBCSU9TIElSUTAgcGluMgorCSAqIG92ZXJyaWRlIGluIHRoYXQgY2FzZXMuCisJICovCisJeworCSAuY2FsbGJhY2sgPSBkbWlfaWdub3JlX2lycTBfdGltZXJfb3ZlcnJpZGUsCisJIC5pZGVudCA9ICJIUCBOWDYxMjUgbGFwdG9wIiwKKwkgLm1hdGNoZXMgPSB7CisJCSAgICAgRE1JX01BVENIKERNSV9TWVNfVkVORE9SLCAiSGV3bGV0dC1QYWNrYXJkIiksCisJCSAgICAgRE1JX01BVENIKERNSV9QUk9EVUNUX05BTUUsICJIUCBDb21wYXEgbng2MTI1IiksCisJCSAgICAgfSwKKwkgfSwKKwl7CisJIC5jYWxsYmFjayA9IGRtaV9pZ25vcmVfaXJxMF90aW1lcl9vdmVycmlkZSwKKwkgLmlkZW50ID0gIkhQIE5YNjMyNSBsYXB0b3AiLAorCSAubWF0Y2hlcyA9IHsKKwkJICAgICBETUlfTUFUQ0goRE1JX1NZU19WRU5ET1IsICJIZXdsZXR0LVBhY2thcmQiKSwKKwkJICAgICBETUlfTUFUQ0goRE1JX1BST0RVQ1RfTkFNRSwgIkhQIENvbXBhcSBueDYzMjUiKSwKKwkJICAgICB9LAorCSB9LAogCXt9CiB9OwogCi0jZW5kaWYJCQkJLyogX19pMzg2X18gKi8KLQogLyoKICAqIGFjcGlfYm9vdF90YWJsZV9pbml0KCkgYW5kIGFjcGlfYm9vdF9pbml0KCkKICAqICBjYWxsZWQgZnJvbSBzZXR1cF9hcmNoKCksIGFsd2F5cy4KQEAgLTEyNTksOSArMTYzNSw3IEBACiB7CiAJaW50IGVycm9yOwogCi0jaWZkZWYgX19pMzg2X18KIAlkbWlfY2hlY2tfc3lzdGVtKGFjcGlfZG1pX3RhYmxlKTsKLSNlbmRpZgogCiAJLyoKIAkgKiBJZiBhY3BpX2Rpc2FibGVkLCBiYWlsIG91dApAQCAtMTM4Niw2ICsxNzYwLDIwIEBACiB9CiBlYXJseV9wYXJhbSgicGNpIiwgcGFyc2VfcGNpKTsKIAoraW50IF9faW5pdCBhY3BpX21wc19jaGVjayh2b2lkKQoreworI2lmIGRlZmluZWQoQ09ORklHX1g4Nl9MT0NBTF9BUElDKSAmJiAhZGVmaW5lZChDT05GSUdfWDg2X01QUEFSU0UpCisvKiBtcHRhYmxlIGNvZGUgaXMgbm90IGJ1aWx0LWluKi8KKwlpZiAoYWNwaV9kaXNhYmxlZCB8fCBhY3BpX25vaXJxKSB7CisJCXByaW50ayhLRVJOX1dBUk5JTkcgIk1QUyBzdXBwb3J0IGNvZGUgaXMgbm90IGJ1aWx0LWluLlxuIgorCQkgICAgICAgIlVzaW5nIGFjcGk9b2ZmIG9yIGFjcGk9bm9pcnEgb3IgcGNpPW5vYWNwaSAiCisJCSAgICAgICAibWF5IGhhdmUgcHJvYmxlbVxuIik7CisJCXJldHVybiAxOworCX0KKyNlbmRpZgorCXJldHVybiAwOworfQorCiAjaWZkZWYgQ09ORklHX1g4Nl9JT19BUElDCiBzdGF0aWMgaW50IF9faW5pdCBwYXJzZV9hY3BpX3NraXBfdGltZXJfb3ZlcnJpZGUoY2hhciAqYXJnKQogewpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2FjcGkvc2xlZXAuYyBiL2FyY2gveDg2L2tlcm5lbC9hY3BpL3NsZWVwLmMKaW5kZXggMzZhZjAxZi4uNzkzYWQyMCAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL2FjcGkvc2xlZXAuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvYWNwaS9zbGVlcC5jCkBAIC0yMyw2ICsyMywxNSBAQAogc3RhdGljIGNoYXIgdGVtcF9zdGFja1sxMDI0MF07CiAjZW5kaWYKIAorLyogWFhYOiB0aGlzIG1hY3JvIHNob3VsZCBtb3ZlIHRvIGFzbS14ODYvc2VnbWVudC5oIGFuZCBiZSBzaGFyZWQgd2l0aCB0aGUKKyAgIGJvb3QgY29kZS4uLiAqLworI2RlZmluZSBHRFRfRU5UUlkoZmxhZ3MsIGJhc2UsIGxpbWl0KQkJXAorCSgoKHU2NCkoYmFzZSAmIDB4ZmYwMDAwMDApIDw8IDMyKSB8CVwKKwkgKCh1NjQpZmxhZ3MgPDwgNDApIHwJCQlcCisJICgodTY0KShsaW1pdCAmIDB4MDBmZjAwMDApIDw8IDMyKSB8CVwKKwkgKCh1NjQpKGJhc2UgJiAweDAwZmZmZmZmKSA8PCAxNikgfAlcCisJICgodTY0KShsaW1pdCAmIDB4MDAwMGZmZmYpKSkKKwogLyoqCiAgKiBhY3BpX3NhdmVfc3RhdGVfbWVtIC0gc2F2ZSBrZXJuZWwgc3RhdGUKICAqCkBAIC01MSwxOCArNjAsMjcgQEAKIAloZWFkZXItPnZpZGVvX21vZGUgPSBzYXZlZF92aWRlb19tb2RlOwogCiAJaGVhZGVyLT53YWtldXBfam1wX3NlZyA9IGFjcGlfd2FrZXVwX2FkZHJlc3MgPj4gNDsKKworCS8qCisJICogU2V0IHVwIHRoZSB3YWtldXAgR0RULiAgV2Ugc2V0IHRoZXNlIHVwIGFzIEJpZyBSZWFsIE1vZGUsCisJICogdGhhdCBpcywgd2l0aCBsaW1pdHMgc2V0IHRvIDQgR0IuICBBdCBsZWFzdCB0aGUgTGVub3ZvCisJICogVGhpbmtwYWQgWDYxIGlzIGtub3duIHRvIG5lZWQgdGhpcyBmb3IgdGhlIHZpZGVvIEJJT1MKKwkgKiBpbml0aWFsaXphdGlvbiBxdWlyayB0byB3b3JrOyB0aGlzIGlzIGxpa2VseSB0byBhbHNvCisJICogYmUgdGhlIGNhc2UgZm9yIG90aGVyIGxhcHRvcHMgb3IgaW50ZWdyYXRlZCB2aWRlbyBkZXZpY2VzLgorCSAqLworCiAJLyogR0RUWzBdOiBHRFQgc2VsZi1wb2ludGVyICovCiAJaGVhZGVyLT53YWtldXBfZ2R0WzBdID0KIAkJKHU2NCkoc2l6ZW9mKGhlYWRlci0+d2FrZXVwX2dkdCkgLSAxKSArCiAJCSgodTY0KShhY3BpX3dha2V1cF9hZGRyZXNzICsKIAkJCSgoY2hhciAqKSZoZWFkZXItPndha2V1cF9nZHQgLSAoY2hhciAqKWFjcGlfcmVhbG1vZGUpKQogCQkJCTw8IDE2KTsKLQkvKiBHRFRbMV06IHJlYWwtbW9kZS1saWtlIGNvZGUgc2VnbWVudCAqLwotCWhlYWRlci0+d2FrZXVwX2dkdFsxXSA9ICgweDAwOWJVTEwgPDwgNDApICsKLQkJKCh1NjQpYWNwaV93YWtldXBfYWRkcmVzcyA8PCAxNikgKyAweGZmZmY7Ci0JLyogR0RUWzJdOiByZWFsLW1vZGUtbGlrZSBkYXRhIHNlZ21lbnQgKi8KLQloZWFkZXItPndha2V1cF9nZHRbMl0gPSAoMHgwMDkzVUxMIDw8IDQwKSArCi0JCSgodTY0KWFjcGlfd2FrZXVwX2FkZHJlc3MgPDwgMTYpICsgMHhmZmZmOworCS8qIEdEVFsxXTogYmlnIHJlYWwgbW9kZS1saWtlIGNvZGUgc2VnbWVudCAqLworCWhlYWRlci0+d2FrZXVwX2dkdFsxXSA9CisJCUdEVF9FTlRSWSgweDgwOWIsIGFjcGlfd2FrZXVwX2FkZHJlc3MsIDB4ZmZmZmYpOworCS8qIEdEVFsyXTogYmlnIHJlYWwgbW9kZS1saWtlIGRhdGEgc2VnbWVudCAqLworCWhlYWRlci0+d2FrZXVwX2dkdFsyXSA9CisJCUdEVF9FTlRSWSgweDgwOTMsIGFjcGlfd2FrZXVwX2FkZHJlc3MsIDB4ZmZmZmYpOwogCiAjaWZuZGVmIENPTkZJR182NEJJVAogCXN0b3JlX2dkdCgoc3RydWN0IGRlc2NfcHRyICopJmhlYWRlci0+cG1vZGVfZ2R0KTsKQEAgLTg2LDcgKzEwNCw5IEBACiAJc2F2ZWRfbWFnaWMgPSAweDEyMzQ1Njc4OwogI2Vsc2UgLyogQ09ORklHXzY0QklUICovCiAJaGVhZGVyLT50cmFtcG9saW5lX3NlZ21lbnQgPSBzZXR1cF90cmFtcG9saW5lKCkgPj4gNDsKLQlpbml0X3JzcCA9ICh1bnNpZ25lZCBsb25nKXRlbXBfc3RhY2sgKyA0MDk2OworI2lmZGVmIENPTkZJR19TTVAKKwlzdGFja19zdGFydC5zcCA9IHRlbXBfc3RhY2sgKyA0MDk2OworI2VuZGlmCiAJaW5pdGlhbF9jb2RlID0gKHVuc2lnbmVkIGxvbmcpd2FrZXVwX2xvbmc2NDsKIAlzYXZlZF9tYWdpYyA9IDB4MTIzNDU2Nzg5YWJjZGVmMDsKICNlbmRpZiAvKiBDT05GSUdfNjRCSVQgKi8KZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9hbHRlcm5hdGl2ZS5jIGIvYXJjaC94ODYva2VybmVsL2FsdGVybmF0aXZlLmMKaW5kZXggNjVjNzg1Ny4uMjc2M2NiMyAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL2FsdGVybmF0aXZlLmMKKysrIGIvYXJjaC94ODYva2VybmVsL2FsdGVybmF0aXZlLmMKQEAgLTEsNiArMSw2IEBACiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CiAjaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KLSNpbmNsdWRlIDxsaW51eC9zcGlubG9jay5oPgorI2luY2x1ZGUgPGxpbnV4L211dGV4Lmg+CiAjaW5jbHVkZSA8bGludXgvbGlzdC5oPgogI2luY2x1ZGUgPGxpbnV4L2twcm9iZXMuaD4KICNpbmNsdWRlIDxsaW51eC9tbS5oPgpAQCAtMTQzLDcgKzE0Myw3IEBACiAjaWZkZWYgQ09ORklHX1g4Nl82NAogCiBleHRlcm4gY2hhciBfX3ZzeXNjYWxsXzA7Ci1zdGF0aWMgaW5saW5lIGNvbnN0IHVuc2lnbmVkIGNoYXIqY29uc3QgKiBmaW5kX25vcF90YWJsZSh2b2lkKQorY29uc3QgdW5zaWduZWQgY2hhciAqY29uc3QgKmZpbmRfbm9wX3RhYmxlKHZvaWQpCiB7CiAJcmV0dXJuIGJvb3RfY3B1X2RhdGEueDg2X3ZlbmRvciAhPSBYODZfVkVORE9SX0lOVEVMIHx8CiAJICAgICAgIGJvb3RfY3B1X2RhdGEueDg2IDwgNiA/IGs4X25vcHMgOiBwNl9ub3BzOwpAQCAtMTYyLDcgKzE2Miw3IEBACiAJeyAtMSwgTlVMTCB9CiB9OwogCi1zdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhcipjb25zdCAqIGZpbmRfbm9wX3RhYmxlKHZvaWQpCitjb25zdCB1bnNpZ25lZCBjaGFyICpjb25zdCAqZmluZF9ub3BfdGFibGUodm9pZCkKIHsKIAljb25zdCB1bnNpZ25lZCBjaGFyICpjb25zdCAqbm9wdGFibGUgPSBpbnRlbF9ub3BzOwogCWludCBpOwpAQCAtMjc5LDcgKzI3OSw3IEBACiAJc3RydWN0IGxpc3RfaGVhZCBuZXh0OwogfTsKIHN0YXRpYyBMSVNUX0hFQUQoc21wX2FsdF9tb2R1bGVzKTsKLXN0YXRpYyBERUZJTkVfU1BJTkxPQ0soc21wX2FsdCk7CitzdGF0aWMgREVGSU5FX01VVEVYKHNtcF9hbHQpOwogc3RhdGljIGludCBzbXBfbW9kZSA9IDE7CS8qIHByb3RlY3RlZCBieSBzbXBfYWx0ICovCiAKIHZvaWQgYWx0ZXJuYXRpdmVzX3NtcF9tb2R1bGVfYWRkKHN0cnVjdCBtb2R1bGUgKm1vZCwgY2hhciAqbmFtZSwKQEAgLTMxMiwxMiArMzEyLDEyIEBACiAJCV9fZnVuY19fLCBzbXAtPmxvY2tzLCBzbXAtPmxvY2tzX2VuZCwKIAkJc21wLT50ZXh0LCBzbXAtPnRleHRfZW5kLCBzbXAtPm5hbWUpOwogCi0Jc3Bpbl9sb2NrKCZzbXBfYWx0KTsKKwltdXRleF9sb2NrKCZzbXBfYWx0KTsKIAlsaXN0X2FkZF90YWlsKCZzbXAtPm5leHQsICZzbXBfYWx0X21vZHVsZXMpOwogCWlmIChib290X2NwdV9oYXMoWDg2X0ZFQVRVUkVfVVApKQogCQlhbHRlcm5hdGl2ZXNfc21wX3VubG9jayhzbXAtPmxvY2tzLCBzbXAtPmxvY2tzX2VuZCwKIAkJCQkJc21wLT50ZXh0LCBzbXAtPnRleHRfZW5kKTsKLQlzcGluX3VubG9jaygmc21wX2FsdCk7CisJbXV0ZXhfdW5sb2NrKCZzbXBfYWx0KTsKIH0KIAogdm9pZCBhbHRlcm5hdGl2ZXNfc21wX21vZHVsZV9kZWwoc3RydWN0IG1vZHVsZSAqbW9kKQpAQCAtMzI3LDE3ICszMjcsMTcgQEAKIAlpZiAoc21wX2FsdF9vbmNlIHx8IG5vcmVwbGFjZV9zbXApCiAJCXJldHVybjsKIAotCXNwaW5fbG9jaygmc21wX2FsdCk7CisJbXV0ZXhfbG9jaygmc21wX2FsdCk7CiAJbGlzdF9mb3JfZWFjaF9lbnRyeShpdGVtLCAmc21wX2FsdF9tb2R1bGVzLCBuZXh0KSB7CiAJCWlmIChtb2QgIT0gaXRlbS0+bW9kKQogCQkJY29udGludWU7CiAJCWxpc3RfZGVsKCZpdGVtLT5uZXh0KTsKLQkJc3Bpbl91bmxvY2soJnNtcF9hbHQpOworCQltdXRleF91bmxvY2soJnNtcF9hbHQpOwogCQlEUFJJTlRLKCIlczogJXNcbiIsIF9fZnVuY19fLCBpdGVtLT5uYW1lKTsKIAkJa2ZyZWUoaXRlbSk7CiAJCXJldHVybjsKIAl9Ci0Jc3Bpbl91bmxvY2soJnNtcF9hbHQpOworCW11dGV4X3VubG9jaygmc21wX2FsdCk7CiB9CiAKIHZvaWQgYWx0ZXJuYXRpdmVzX3NtcF9zd2l0Y2goaW50IHNtcCkKQEAgLTM1OSw3ICszNTksNyBAQAogCQlyZXR1cm47CiAJQlVHX09OKCFzbXAgJiYgKG51bV9vbmxpbmVfY3B1cygpID4gMSkpOwogCi0Jc3Bpbl9sb2NrKCZzbXBfYWx0KTsKKwltdXRleF9sb2NrKCZzbXBfYWx0KTsKIAogCS8qCiAJICogQXZvaWQgdW5uZWNlc3Nhcnkgc3dpdGNoZXMgYmVjYXVzZSBpdCBmb3JjZXMgSklUIGJhc2VkIFZNcyB0bwpAQCAtMzgzLDcgKzM4Myw3IEBACiAJCQkJCQltb2QtPnRleHQsIG1vZC0+dGV4dF9lbmQpOwogCX0KIAlzbXBfbW9kZSA9IHNtcDsKLQlzcGluX3VubG9jaygmc21wX2FsdCk7CisJbXV0ZXhfdW5sb2NrKCZzbXBfYWx0KTsKIH0KIAogI2VuZGlmCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvYW1kX2lvbW11LmMgYi9hcmNoL3g4Ni9rZXJuZWwvYW1kX2lvbW11LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjI3NjZkOAotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gveDg2L2tlcm5lbC9hbWRfaW9tbXUuYwpAQCAtMCwwICsxLDk2MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwNy0yMDA4IEFkdmFuY2VkIE1pY3JvIERldmljZXMsIEluYy4KKyAqIEF1dGhvcjogSm9lcmcgUm9lZGVsIDxqb2VyZy5yb2VkZWxAYW1kLmNvbT4KKyAqICAgICAgICAgTGVvIER1cmFuIDxsZW8uZHVyYW5AYW1kLmNvbT4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdAorICogdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMgcHVibGlzaGVkCisgKiBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAgMDIxMTEtMTMwNyBVU0EKKyAqLworCisjaW5jbHVkZSA8bGludXgvcGNpLmg+CisjaW5jbHVkZSA8bGludXgvZ2ZwLmg+CisjaW5jbHVkZSA8bGludXgvYml0b3BzLmg+CisjaW5jbHVkZSA8bGludXgvc2NhdHRlcmxpc3QuaD4KKyNpbmNsdWRlIDxsaW51eC9pb21tdS1oZWxwZXIuaD4KKyNpbmNsdWRlIDxhc20vcHJvdG8uaD4KKyNpbmNsdWRlIDxhc20vZ2FydC5oPgorI2luY2x1ZGUgPGFzbS9hbWRfaW9tbXVfdHlwZXMuaD4KKyNpbmNsdWRlIDxhc20vYW1kX2lvbW11Lmg+CisKKyNkZWZpbmUgQ01EX1NFVF9UWVBFKGNtZCwgdCkgKChjbWQpLT5kYXRhWzFdIHw9ICgodCkgPDwgMjgpKQorCisjZGVmaW5lIHRvX3BhZ2VzKGFkZHIsIHNpemUpIFwKKwkgKHJvdW5kX3VwKCgoYWRkcikgJiB+UEFHRV9NQVNLKSArIChzaXplKSwgUEFHRV9TSVpFKSA+PiBQQUdFX1NISUZUKQorCitzdGF0aWMgREVGSU5FX1JXTE9DSyhhbWRfaW9tbXVfZGV2dGFibGVfbG9jayk7CisKK3N0cnVjdCBjb21tYW5kIHsKKwl1MzIgZGF0YVs0XTsKK307CisKK3N0YXRpYyBpbnQgZG1hX29wc191bml0eV9tYXAoc3RydWN0IGRtYV9vcHNfZG9tYWluICpkbWFfZG9tLAorCQkJICAgICBzdHJ1Y3QgdW5pdHlfbWFwX2VudHJ5ICplKTsKKworc3RhdGljIGludCBpb21tdV9oYXNfbnBjYWNoZShzdHJ1Y3QgYW1kX2lvbW11ICppb21tdSkKK3sKKwlyZXR1cm4gaW9tbXUtPmNhcCAmIElPTU1VX0NBUF9OUENBQ0hFOworfQorCitzdGF0aWMgaW50IF9faW9tbXVfcXVldWVfY29tbWFuZChzdHJ1Y3QgYW1kX2lvbW11ICppb21tdSwgc3RydWN0IGNvbW1hbmQgKmNtZCkKK3sKKwl1MzIgdGFpbCwgaGVhZDsKKwl1OCAqdGFyZ2V0OworCisJdGFpbCA9IHJlYWRsKGlvbW11LT5tbWlvX2Jhc2UgKyBNTUlPX0NNRF9UQUlMX09GRlNFVCk7CisJdGFyZ2V0ID0gKGlvbW11LT5jbWRfYnVmICsgdGFpbCk7CisJbWVtY3B5X3RvaW8odGFyZ2V0LCBjbWQsIHNpemVvZigqY21kKSk7CisJdGFpbCA9ICh0YWlsICsgc2l6ZW9mKCpjbWQpKSAlIGlvbW11LT5jbWRfYnVmX3NpemU7CisJaGVhZCA9IHJlYWRsKGlvbW11LT5tbWlvX2Jhc2UgKyBNTUlPX0NNRF9IRUFEX09GRlNFVCk7CisJaWYgKHRhaWwgPT0gaGVhZCkKKwkJcmV0dXJuIC1FTk9NRU07CisJd3JpdGVsKHRhaWwsIGlvbW11LT5tbWlvX2Jhc2UgKyBNTUlPX0NNRF9UQUlMX09GRlNFVCk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBpb21tdV9xdWV1ZV9jb21tYW5kKHN0cnVjdCBhbWRfaW9tbXUgKmlvbW11LCBzdHJ1Y3QgY29tbWFuZCAqY21kKQoreworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisJaW50IHJldDsKKworCXNwaW5fbG9ja19pcnFzYXZlKCZpb21tdS0+bG9jaywgZmxhZ3MpOworCXJldCA9IF9faW9tbXVfcXVldWVfY29tbWFuZChpb21tdSwgY21kKTsKKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZpb21tdS0+bG9jaywgZmxhZ3MpOworCisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIGludCBpb21tdV9jb21wbGV0aW9uX3dhaXQoc3RydWN0IGFtZF9pb21tdSAqaW9tbXUpCit7CisJaW50IHJldDsKKwlzdHJ1Y3QgY29tbWFuZCBjbWQ7CisJdm9sYXRpbGUgdTY0IHJlYWR5ID0gMDsKKwl1bnNpZ25lZCBsb25nIHJlYWR5X3BoeXMgPSB2aXJ0X3RvX3BoeXMoJnJlYWR5KTsKKworCW1lbXNldCgmY21kLCAwLCBzaXplb2YoY21kKSk7CisJY21kLmRhdGFbMF0gPSBMT1dfVTMyKHJlYWR5X3BoeXMpIHwgQ01EX0NPTVBMX1dBSVRfU1RPUkVfTUFTSzsKKwljbWQuZGF0YVsxXSA9IEhJR0hfVTMyKHJlYWR5X3BoeXMpOworCWNtZC5kYXRhWzJdID0gMTsgLyogdmFsdWUgd3JpdHRlbiB0byAncmVhZHknICovCisJQ01EX1NFVF9UWVBFKCZjbWQsIENNRF9DT01QTF9XQUlUKTsKKworCWlvbW11LT5uZWVkX3N5bmMgPSAwOworCisJcmV0ID0gaW9tbXVfcXVldWVfY29tbWFuZChpb21tdSwgJmNtZCk7CisKKwlpZiAocmV0KQorCQlyZXR1cm4gcmV0OworCisJd2hpbGUgKCFyZWFkeSkKKwkJY3B1X3JlbGF4KCk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBpb21tdV9xdWV1ZV9pbnZfZGV2X2VudHJ5KHN0cnVjdCBhbWRfaW9tbXUgKmlvbW11LCB1MTYgZGV2aWQpCit7CisJc3RydWN0IGNvbW1hbmQgY21kOworCisJQlVHX09OKGlvbW11ID09IE5VTEwpOworCisJbWVtc2V0KCZjbWQsIDAsIHNpemVvZihjbWQpKTsKKwlDTURfU0VUX1RZUEUoJmNtZCwgQ01EX0lOVl9ERVZfRU5UUlkpOworCWNtZC5kYXRhWzBdID0gZGV2aWQ7CisKKwlpb21tdS0+bmVlZF9zeW5jID0gMTsKKworCXJldHVybiBpb21tdV9xdWV1ZV9jb21tYW5kKGlvbW11LCAmY21kKTsKK30KKworc3RhdGljIGludCBpb21tdV9xdWV1ZV9pbnZfaW9tbXVfcGFnZXMoc3RydWN0IGFtZF9pb21tdSAqaW9tbXUsCisJCXU2NCBhZGRyZXNzLCB1MTYgZG9taWQsIGludCBwZGUsIGludCBzKQoreworCXN0cnVjdCBjb21tYW5kIGNtZDsKKworCW1lbXNldCgmY21kLCAwLCBzaXplb2YoY21kKSk7CisJYWRkcmVzcyAmPSBQQUdFX01BU0s7CisJQ01EX1NFVF9UWVBFKCZjbWQsIENNRF9JTlZfSU9NTVVfUEFHRVMpOworCWNtZC5kYXRhWzFdIHw9IGRvbWlkOworCWNtZC5kYXRhWzJdID0gTE9XX1UzMihhZGRyZXNzKTsKKwljbWQuZGF0YVszXSA9IEhJR0hfVTMyKGFkZHJlc3MpOworCWlmIChzKQorCQljbWQuZGF0YVsyXSB8PSBDTURfSU5WX0lPTU1VX1BBR0VTX1NJWkVfTUFTSzsKKwlpZiAocGRlKQorCQljbWQuZGF0YVsyXSB8PSBDTURfSU5WX0lPTU1VX1BBR0VTX1BERV9NQVNLOworCisJaW9tbXUtPm5lZWRfc3luYyA9IDE7CisKKwlyZXR1cm4gaW9tbXVfcXVldWVfY29tbWFuZChpb21tdSwgJmNtZCk7Cit9CisKK3N0YXRpYyBpbnQgaW9tbXVfZmx1c2hfcGFnZXMoc3RydWN0IGFtZF9pb21tdSAqaW9tbXUsIHUxNiBkb21pZCwKKwkJdTY0IGFkZHJlc3MsIHNpemVfdCBzaXplKQoreworCWludCBzID0gMDsKKwl1bnNpZ25lZCBwYWdlcyA9IHRvX3BhZ2VzKGFkZHJlc3MsIHNpemUpOworCisJYWRkcmVzcyAmPSBQQUdFX01BU0s7CisKKwlpZiAocGFnZXMgPiAxKSB7CisJCS8qCisJCSAqIElmIHdlIGhhdmUgdG8gZmx1c2ggbW9yZSB0aGFuIG9uZSBwYWdlLCBmbHVzaCBhbGwKKwkJICogVExCIGVudHJpZXMgZm9yIHRoaXMgZG9tYWluCisJCSAqLworCQlhZGRyZXNzID0gQ01EX0lOVl9JT01NVV9BTExfUEFHRVNfQUREUkVTUzsKKwkJcyA9IDE7CisJfQorCisJaW9tbXVfcXVldWVfaW52X2lvbW11X3BhZ2VzKGlvbW11LCBhZGRyZXNzLCBkb21pZCwgMCwgcyk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBpb21tdV9tYXAoc3RydWN0IHByb3RlY3Rpb25fZG9tYWluICpkb20sCisJCSAgICAgdW5zaWduZWQgbG9uZyBidXNfYWRkciwKKwkJICAgICB1bnNpZ25lZCBsb25nIHBoeXNfYWRkciwKKwkJICAgICBpbnQgcHJvdCkKK3sKKwl1NjQgX19wdGUsICpwdGUsICpwYWdlOworCisJYnVzX2FkZHIgID0gUEFHRV9BTElHTihidXNfYWRkcik7CisJcGh5c19hZGRyID0gUEFHRV9BTElHTihidXNfYWRkcik7CisKKwkvKiBvbmx5IHN1cHBvcnQgNTEyR0IgYWRkcmVzcyBzcGFjZXMgZm9yIG5vdyAqLworCWlmIChidXNfYWRkciA+IElPTU1VX01BUF9TSVpFX0wzIHx8ICEocHJvdCAmIElPTU1VX1BST1RfTUFTSykpCisJCXJldHVybiAtRUlOVkFMOworCisJcHRlID0gJmRvbS0+cHRfcm9vdFtJT01NVV9QVEVfTDJfSU5ERVgoYnVzX2FkZHIpXTsKKworCWlmICghSU9NTVVfUFRFX1BSRVNFTlQoKnB0ZSkpIHsKKwkJcGFnZSA9ICh1NjQgKilnZXRfemVyb2VkX3BhZ2UoR0ZQX0tFUk5FTCk7CisJCWlmICghcGFnZSkKKwkJCXJldHVybiAtRU5PTUVNOworCQkqcHRlID0gSU9NTVVfTDJfUERFKHZpcnRfdG9fcGh5cyhwYWdlKSk7CisJfQorCisJcHRlID0gSU9NTVVfUFRFX1BBR0UoKnB0ZSk7CisJcHRlID0gJnB0ZVtJT01NVV9QVEVfTDFfSU5ERVgoYnVzX2FkZHIpXTsKKworCWlmICghSU9NTVVfUFRFX1BSRVNFTlQoKnB0ZSkpIHsKKwkJcGFnZSA9ICh1NjQgKilnZXRfemVyb2VkX3BhZ2UoR0ZQX0tFUk5FTCk7CisJCWlmICghcGFnZSkKKwkJCXJldHVybiAtRU5PTUVNOworCQkqcHRlID0gSU9NTVVfTDFfUERFKHZpcnRfdG9fcGh5cyhwYWdlKSk7CisJfQorCisJcHRlID0gSU9NTVVfUFRFX1BBR0UoKnB0ZSk7CisJcHRlID0gJnB0ZVtJT01NVV9QVEVfTDBfSU5ERVgoYnVzX2FkZHIpXTsKKworCWlmIChJT01NVV9QVEVfUFJFU0VOVCgqcHRlKSkKKwkJcmV0dXJuIC1FQlVTWTsKKworCV9fcHRlID0gcGh5c19hZGRyIHwgSU9NTVVfUFRFX1A7CisJaWYgKHByb3QgJiBJT01NVV9QUk9UX0lSKQorCQlfX3B0ZSB8PSBJT01NVV9QVEVfSVI7CisJaWYgKHByb3QgJiBJT01NVV9QUk9UX0lXKQorCQlfX3B0ZSB8PSBJT01NVV9QVEVfSVc7CisKKwkqcHRlID0gX19wdGU7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBpb21tdV9mb3JfdW5pdHlfbWFwKHN0cnVjdCBhbWRfaW9tbXUgKmlvbW11LAorCQkJICAgICAgIHN0cnVjdCB1bml0eV9tYXBfZW50cnkgKmVudHJ5KQoreworCXUxNiBiZGYsIGk7CisKKwlmb3IgKGkgPSBlbnRyeS0+ZGV2aWRfc3RhcnQ7IGkgPD0gZW50cnktPmRldmlkX2VuZDsgKytpKSB7CisJCWJkZiA9IGFtZF9pb21tdV9hbGlhc190YWJsZVtpXTsKKwkJaWYgKGFtZF9pb21tdV9ybG9va3VwX3RhYmxlW2JkZl0gPT0gaW9tbXUpCisJCQlyZXR1cm4gMTsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBpb21tdV9pbml0X3VuaXR5X21hcHBpbmdzKHN0cnVjdCBhbWRfaW9tbXUgKmlvbW11KQoreworCXN0cnVjdCB1bml0eV9tYXBfZW50cnkgKmVudHJ5OworCWludCByZXQ7CisKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5KGVudHJ5LCAmYW1kX2lvbW11X3VuaXR5X21hcCwgbGlzdCkgeworCQlpZiAoIWlvbW11X2Zvcl91bml0eV9tYXAoaW9tbXUsIGVudHJ5KSkKKwkJCWNvbnRpbnVlOworCQlyZXQgPSBkbWFfb3BzX3VuaXR5X21hcChpb21tdS0+ZGVmYXVsdF9kb20sIGVudHJ5KTsKKwkJaWYgKHJldCkKKwkJCXJldHVybiByZXQ7CisJfQorCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgZG1hX29wc191bml0eV9tYXAoc3RydWN0IGRtYV9vcHNfZG9tYWluICpkbWFfZG9tLAorCQkJICAgICBzdHJ1Y3QgdW5pdHlfbWFwX2VudHJ5ICplKQoreworCXU2NCBhZGRyOworCWludCByZXQ7CisKKwlmb3IgKGFkZHIgPSBlLT5hZGRyZXNzX3N0YXJ0OyBhZGRyIDwgZS0+YWRkcmVzc19lbmQ7CisJICAgICBhZGRyICs9IFBBR0VfU0laRSkgeworCQlyZXQgPSBpb21tdV9tYXAoJmRtYV9kb20tPmRvbWFpbiwgYWRkciwgYWRkciwgZS0+cHJvdCk7CisJCWlmIChyZXQpCisJCQlyZXR1cm4gcmV0OworCQkvKgorCQkgKiBpZiB1bml0eSBtYXBwaW5nIGlzIGluIGFwZXJ0dXJlIHJhbmdlIG1hcmsgdGhlIHBhZ2UKKwkJICogYXMgYWxsb2NhdGVkIGluIHRoZSBhcGVydHVyZQorCQkgKi8KKwkJaWYgKGFkZHIgPCBkbWFfZG9tLT5hcGVydHVyZV9zaXplKQorCQkJX19zZXRfYml0KGFkZHIgPj4gUEFHRV9TSElGVCwgZG1hX2RvbS0+Yml0bWFwKTsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBpbml0X3VuaXR5X21hcHBpbmdzX2Zvcl9kZXZpY2Uoc3RydWN0IGRtYV9vcHNfZG9tYWluICpkbWFfZG9tLAorCQkJCQkgIHUxNiBkZXZpZCkKK3sKKwlzdHJ1Y3QgdW5pdHlfbWFwX2VudHJ5ICplOworCWludCByZXQ7CisKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5KGUsICZhbWRfaW9tbXVfdW5pdHlfbWFwLCBsaXN0KSB7CisJCWlmICghKGRldmlkID49IGUtPmRldmlkX3N0YXJ0ICYmIGRldmlkIDw9IGUtPmRldmlkX2VuZCkpCisJCQljb250aW51ZTsKKwkJcmV0ID0gZG1hX29wc191bml0eV9tYXAoZG1hX2RvbSwgZSk7CisJCWlmIChyZXQpCisJCQlyZXR1cm4gcmV0OworCX0KKworCXJldHVybiAwOworfQorCitzdGF0aWMgdW5zaWduZWQgbG9uZyBkbWFfbWFza190b19wYWdlcyh1bnNpZ25lZCBsb25nIG1hc2spCit7CisJcmV0dXJuIChtYXNrID4+IFBBR0VfU0hJRlQpICsKKwkJKFBBR0VfQUxJR04obWFzayAmIH5QQUdFX01BU0spID4+IFBBR0VfU0hJRlQpOworfQorCitzdGF0aWMgdW5zaWduZWQgbG9uZyBkbWFfb3BzX2FsbG9jX2FkZHJlc3NlcyhzdHJ1Y3QgZGV2aWNlICpkZXYsCisJCQkJCSAgICAgc3RydWN0IGRtYV9vcHNfZG9tYWluICpkb20sCisJCQkJCSAgICAgdW5zaWduZWQgaW50IHBhZ2VzKQoreworCXVuc2lnbmVkIGxvbmcgbGltaXQgPSBkbWFfbWFza190b19wYWdlcygqZGV2LT5kbWFfbWFzayk7CisJdW5zaWduZWQgbG9uZyBhZGRyZXNzOworCXVuc2lnbmVkIGxvbmcgc2l6ZSA9IGRvbS0+YXBlcnR1cmVfc2l6ZSA+PiBQQUdFX1NISUZUOworCXVuc2lnbmVkIGxvbmcgYm91bmRhcnlfc2l6ZTsKKworCWJvdW5kYXJ5X3NpemUgPSBBTElHTihkbWFfZ2V0X3NlZ19ib3VuZGFyeShkZXYpICsgMSwKKwkJCVBBR0VfU0laRSkgPj4gUEFHRV9TSElGVDsKKwlsaW1pdCA9IGxpbWl0IDwgc2l6ZSA/IGxpbWl0IDogc2l6ZTsKKworCWlmIChkb20tPm5leHRfYml0ID49IGxpbWl0KQorCQlkb20tPm5leHRfYml0ID0gMDsKKworCWFkZHJlc3MgPSBpb21tdV9hcmVhX2FsbG9jKGRvbS0+Yml0bWFwLCBsaW1pdCwgZG9tLT5uZXh0X2JpdCwgcGFnZXMsCisJCQkwICwgYm91bmRhcnlfc2l6ZSwgMCk7CisJaWYgKGFkZHJlc3MgPT0gLTEpCisJCWFkZHJlc3MgPSBpb21tdV9hcmVhX2FsbG9jKGRvbS0+Yml0bWFwLCBsaW1pdCwgMCwgcGFnZXMsCisJCQkJMCwgYm91bmRhcnlfc2l6ZSwgMCk7CisKKwlpZiAobGlrZWx5KGFkZHJlc3MgIT0gLTEpKSB7CisJCWRvbS0+bmV4dF9iaXQgPSBhZGRyZXNzICsgcGFnZXM7CisJCWFkZHJlc3MgPDw9IFBBR0VfU0hJRlQ7CisJfSBlbHNlCisJCWFkZHJlc3MgPSBiYWRfZG1hX2FkZHJlc3M7CisKKwlXQVJOX09OKChhZGRyZXNzICsgKFBBR0VfU0laRSpwYWdlcykpID4gZG9tLT5hcGVydHVyZV9zaXplKTsKKworCXJldHVybiBhZGRyZXNzOworfQorCitzdGF0aWMgdm9pZCBkbWFfb3BzX2ZyZWVfYWRkcmVzc2VzKHN0cnVjdCBkbWFfb3BzX2RvbWFpbiAqZG9tLAorCQkJCSAgIHVuc2lnbmVkIGxvbmcgYWRkcmVzcywKKwkJCQkgICB1bnNpZ25lZCBpbnQgcGFnZXMpCit7CisJYWRkcmVzcyA+Pj0gUEFHRV9TSElGVDsKKwlpb21tdV9hcmVhX2ZyZWUoZG9tLT5iaXRtYXAsIGFkZHJlc3MsIHBhZ2VzKTsKK30KKworc3RhdGljIHUxNiBkb21haW5faWRfYWxsb2Modm9pZCkKK3sKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCWludCBpZDsKKworCXdyaXRlX2xvY2tfaXJxc2F2ZSgmYW1kX2lvbW11X2RldnRhYmxlX2xvY2ssIGZsYWdzKTsKKwlpZCA9IGZpbmRfZmlyc3RfemVyb19iaXQoYW1kX2lvbW11X3BkX2FsbG9jX2JpdG1hcCwgTUFYX0RPTUFJTl9JRCk7CisJQlVHX09OKGlkID09IDApOworCWlmIChpZCA+IDAgJiYgaWQgPCBNQVhfRE9NQUlOX0lEKQorCQlfX3NldF9iaXQoaWQsIGFtZF9pb21tdV9wZF9hbGxvY19iaXRtYXApOworCWVsc2UKKwkJaWQgPSAwOworCXdyaXRlX3VubG9ja19pcnFyZXN0b3JlKCZhbWRfaW9tbXVfZGV2dGFibGVfbG9jaywgZmxhZ3MpOworCisJcmV0dXJuIGlkOworfQorCitzdGF0aWMgdm9pZCBkbWFfb3BzX3Jlc2VydmVfYWRkcmVzc2VzKHN0cnVjdCBkbWFfb3BzX2RvbWFpbiAqZG9tLAorCQkJCSAgICAgIHVuc2lnbmVkIGxvbmcgc3RhcnRfcGFnZSwKKwkJCQkgICAgICB1bnNpZ25lZCBpbnQgcGFnZXMpCit7CisJdW5zaWduZWQgaW50IGxhc3RfcGFnZSA9IGRvbS0+YXBlcnR1cmVfc2l6ZSA+PiBQQUdFX1NISUZUOworCisJaWYgKHN0YXJ0X3BhZ2UgKyBwYWdlcyA+IGxhc3RfcGFnZSkKKwkJcGFnZXMgPSBsYXN0X3BhZ2UgLSBzdGFydF9wYWdlOworCisJc2V0X2JpdF9zdHJpbmcoZG9tLT5iaXRtYXAsIHN0YXJ0X3BhZ2UsIHBhZ2VzKTsKK30KKworc3RhdGljIHZvaWQgZG1hX29wc19mcmVlX3BhZ2V0YWJsZShzdHJ1Y3QgZG1hX29wc19kb21haW4gKmRtYV9kb20pCit7CisJaW50IGksIGo7CisJdTY0ICpwMSwgKnAyLCAqcDM7CisKKwlwMSA9IGRtYV9kb20tPmRvbWFpbi5wdF9yb290OworCisJaWYgKCFwMSkKKwkJcmV0dXJuOworCisJZm9yIChpID0gMDsgaSA8IDUxMjsgKytpKSB7CisJCWlmICghSU9NTVVfUFRFX1BSRVNFTlQocDFbaV0pKQorCQkJY29udGludWU7CisKKwkJcDIgPSBJT01NVV9QVEVfUEFHRShwMVtpXSk7CisJCWZvciAoaiA9IDA7IGogPCA1MTI7ICsraSkgeworCQkJaWYgKCFJT01NVV9QVEVfUFJFU0VOVChwMltqXSkpCisJCQkJY29udGludWU7CisJCQlwMyA9IElPTU1VX1BURV9QQUdFKHAyW2pdKTsKKwkJCWZyZWVfcGFnZSgodW5zaWduZWQgbG9uZylwMyk7CisJCX0KKworCQlmcmVlX3BhZ2UoKHVuc2lnbmVkIGxvbmcpcDIpOworCX0KKworCWZyZWVfcGFnZSgodW5zaWduZWQgbG9uZylwMSk7Cit9CisKK3N0YXRpYyB2b2lkIGRtYV9vcHNfZG9tYWluX2ZyZWUoc3RydWN0IGRtYV9vcHNfZG9tYWluICpkb20pCit7CisJaWYgKCFkb20pCisJCXJldHVybjsKKworCWRtYV9vcHNfZnJlZV9wYWdldGFibGUoZG9tKTsKKworCWtmcmVlKGRvbS0+cHRlX3BhZ2VzKTsKKworCWtmcmVlKGRvbS0+Yml0bWFwKTsKKworCWtmcmVlKGRvbSk7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgZG1hX29wc19kb21haW4gKmRtYV9vcHNfZG9tYWluX2FsbG9jKHN0cnVjdCBhbWRfaW9tbXUgKmlvbW11LAorCQkJCQkJICAgdW5zaWduZWQgb3JkZXIpCit7CisJc3RydWN0IGRtYV9vcHNfZG9tYWluICpkbWFfZG9tOworCXVuc2lnbmVkIGksIG51bV9wdGVfcGFnZXM7CisJdTY0ICpsMl9wZGU7CisJdTY0IGFkZHJlc3M7CisKKwkvKgorCSAqIEN1cnJlbnRseSB0aGUgRE1BIGFwZXJ0dXJlIG11c3QgYmUgYmV0d2VlbiAzMiBNQiBhbmQgMUdCIGluIHNpemUKKwkgKi8KKwlpZiAoKG9yZGVyIDwgMjUpIHx8IChvcmRlciA+IDMwKSkKKwkJcmV0dXJuIE5VTEw7CisKKwlkbWFfZG9tID0ga3phbGxvYyhzaXplb2Yoc3RydWN0IGRtYV9vcHNfZG9tYWluKSwgR0ZQX0tFUk5FTCk7CisJaWYgKCFkbWFfZG9tKQorCQlyZXR1cm4gTlVMTDsKKworCXNwaW5fbG9ja19pbml0KCZkbWFfZG9tLT5kb21haW4ubG9jayk7CisKKwlkbWFfZG9tLT5kb21haW4uaWQgPSBkb21haW5faWRfYWxsb2MoKTsKKwlpZiAoZG1hX2RvbS0+ZG9tYWluLmlkID09IDApCisJCWdvdG8gZnJlZV9kbWFfZG9tOworCWRtYV9kb20tPmRvbWFpbi5tb2RlID0gUEFHRV9NT0RFXzNfTEVWRUw7CisJZG1hX2RvbS0+ZG9tYWluLnB0X3Jvb3QgPSAodm9pZCAqKWdldF96ZXJvZWRfcGFnZShHRlBfS0VSTkVMKTsKKwlkbWFfZG9tLT5kb21haW4ucHJpdiA9IGRtYV9kb207CisJaWYgKCFkbWFfZG9tLT5kb21haW4ucHRfcm9vdCkKKwkJZ290byBmcmVlX2RtYV9kb207CisJZG1hX2RvbS0+YXBlcnR1cmVfc2l6ZSA9ICgxVUxMIDw8IG9yZGVyKTsKKwlkbWFfZG9tLT5iaXRtYXAgPSBremFsbG9jKGRtYV9kb20tPmFwZXJ0dXJlX3NpemUgLyAoUEFHRV9TSVpFICogOCksCisJCQkJICBHRlBfS0VSTkVMKTsKKwlpZiAoIWRtYV9kb20tPmJpdG1hcCkKKwkJZ290byBmcmVlX2RtYV9kb207CisJLyoKKwkgKiBtYXJrIHRoZSBmaXJzdCBwYWdlIGFzIGFsbG9jYXRlZCBzbyB3ZSBuZXZlciByZXR1cm4gMCBhcworCSAqIGEgdmFsaWQgZG1hLWFkZHJlc3MuIFNvIHdlIGNhbiB1c2UgMCBhcyBlcnJvciB2YWx1ZQorCSAqLworCWRtYV9kb20tPmJpdG1hcFswXSA9IDE7CisJZG1hX2RvbS0+bmV4dF9iaXQgPSAwOworCisJaWYgKGlvbW11LT5leGNsdXNpb25fc3RhcnQgJiYKKwkgICAgaW9tbXUtPmV4Y2x1c2lvbl9zdGFydCA8IGRtYV9kb20tPmFwZXJ0dXJlX3NpemUpIHsKKwkJdW5zaWduZWQgbG9uZyBzdGFydHBhZ2UgPSBpb21tdS0+ZXhjbHVzaW9uX3N0YXJ0ID4+IFBBR0VfU0hJRlQ7CisJCWludCBwYWdlcyA9IHRvX3BhZ2VzKGlvbW11LT5leGNsdXNpb25fc3RhcnQsCisJCQkJaW9tbXUtPmV4Y2x1c2lvbl9sZW5ndGgpOworCQlkbWFfb3BzX3Jlc2VydmVfYWRkcmVzc2VzKGRtYV9kb20sIHN0YXJ0cGFnZSwgcGFnZXMpOworCX0KKworCW51bV9wdGVfcGFnZXMgPSBkbWFfZG9tLT5hcGVydHVyZV9zaXplIC8gKFBBR0VfU0laRSAqIDUxMik7CisJZG1hX2RvbS0+cHRlX3BhZ2VzID0ga3phbGxvYyhudW1fcHRlX3BhZ2VzICogc2l6ZW9mKHZvaWQgKiksCisJCQlHRlBfS0VSTkVMKTsKKwlpZiAoIWRtYV9kb20tPnB0ZV9wYWdlcykKKwkJZ290byBmcmVlX2RtYV9kb207CisKKwlsMl9wZGUgPSAodTY0ICopZ2V0X3plcm9lZF9wYWdlKEdGUF9LRVJORUwpOworCWlmIChsMl9wZGUgPT0gTlVMTCkKKwkJZ290byBmcmVlX2RtYV9kb207CisKKwlkbWFfZG9tLT5kb21haW4ucHRfcm9vdFswXSA9IElPTU1VX0wyX1BERSh2aXJ0X3RvX3BoeXMobDJfcGRlKSk7CisKKwlmb3IgKGkgPSAwOyBpIDwgbnVtX3B0ZV9wYWdlczsgKytpKSB7CisJCWRtYV9kb20tPnB0ZV9wYWdlc1tpXSA9ICh1NjQgKilnZXRfemVyb2VkX3BhZ2UoR0ZQX0tFUk5FTCk7CisJCWlmICghZG1hX2RvbS0+cHRlX3BhZ2VzW2ldKQorCQkJZ290byBmcmVlX2RtYV9kb207CisJCWFkZHJlc3MgPSB2aXJ0X3RvX3BoeXMoZG1hX2RvbS0+cHRlX3BhZ2VzW2ldKTsKKwkJbDJfcGRlW2ldID0gSU9NTVVfTDFfUERFKGFkZHJlc3MpOworCX0KKworCXJldHVybiBkbWFfZG9tOworCitmcmVlX2RtYV9kb206CisJZG1hX29wc19kb21haW5fZnJlZShkbWFfZG9tKTsKKworCXJldHVybiBOVUxMOworfQorCitzdGF0aWMgc3RydWN0IHByb3RlY3Rpb25fZG9tYWluICpkb21haW5fZm9yX2RldmljZSh1MTYgZGV2aWQpCit7CisJc3RydWN0IHByb3RlY3Rpb25fZG9tYWluICpkb207CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKworCXJlYWRfbG9ja19pcnFzYXZlKCZhbWRfaW9tbXVfZGV2dGFibGVfbG9jaywgZmxhZ3MpOworCWRvbSA9IGFtZF9pb21tdV9wZF90YWJsZVtkZXZpZF07CisJcmVhZF91bmxvY2tfaXJxcmVzdG9yZSgmYW1kX2lvbW11X2RldnRhYmxlX2xvY2ssIGZsYWdzKTsKKworCXJldHVybiBkb207Cit9CisKK3N0YXRpYyB2b2lkIHNldF9kZXZpY2VfZG9tYWluKHN0cnVjdCBhbWRfaW9tbXUgKmlvbW11LAorCQkJICAgICAgc3RydWN0IHByb3RlY3Rpb25fZG9tYWluICpkb21haW4sCisJCQkgICAgICB1MTYgZGV2aWQpCit7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKworCXU2NCBwdGVfcm9vdCA9IHZpcnRfdG9fcGh5cyhkb21haW4tPnB0X3Jvb3QpOworCisJcHRlX3Jvb3QgfD0gKGRvbWFpbi0+bW9kZSAmIDB4MDcpIDw8IDk7CisJcHRlX3Jvb3QgfD0gSU9NTVVfUFRFX0lSIHwgSU9NTVVfUFRFX0lXIHwgSU9NTVVfUFRFX1AgfCAyOworCisJd3JpdGVfbG9ja19pcnFzYXZlKCZhbWRfaW9tbXVfZGV2dGFibGVfbG9jaywgZmxhZ3MpOworCWFtZF9pb21tdV9kZXZfdGFibGVbZGV2aWRdLmRhdGFbMF0gPSBwdGVfcm9vdDsKKwlhbWRfaW9tbXVfZGV2X3RhYmxlW2RldmlkXS5kYXRhWzFdID0gcHRlX3Jvb3QgPj4gMzI7CisJYW1kX2lvbW11X2Rldl90YWJsZVtkZXZpZF0uZGF0YVsyXSA9IGRvbWFpbi0+aWQ7CisKKwlhbWRfaW9tbXVfcGRfdGFibGVbZGV2aWRdID0gZG9tYWluOworCXdyaXRlX3VubG9ja19pcnFyZXN0b3JlKCZhbWRfaW9tbXVfZGV2dGFibGVfbG9jaywgZmxhZ3MpOworCisJaW9tbXVfcXVldWVfaW52X2Rldl9lbnRyeShpb21tdSwgZGV2aWQpOworCisJaW9tbXUtPm5lZWRfc3luYyA9IDE7Cit9CisKK3N0YXRpYyBpbnQgZ2V0X2RldmljZV9yZXNvdXJjZXMoc3RydWN0IGRldmljZSAqZGV2LAorCQkJCXN0cnVjdCBhbWRfaW9tbXUgKippb21tdSwKKwkJCQlzdHJ1Y3QgcHJvdGVjdGlvbl9kb21haW4gKipkb21haW4sCisJCQkJdTE2ICpiZGYpCit7CisJc3RydWN0IGRtYV9vcHNfZG9tYWluICpkbWFfZG9tOworCXN0cnVjdCBwY2lfZGV2ICpwY2lkZXY7CisJdTE2IF9iZGY7CisKKwlCVUdfT04oIWRldiB8fCBkZXYtPmJ1cyAhPSAmcGNpX2J1c190eXBlIHx8ICFkZXYtPmRtYV9tYXNrKTsKKworCXBjaWRldiA9IHRvX3BjaV9kZXYoZGV2KTsKKwlfYmRmID0gKHBjaWRldi0+YnVzLT5udW1iZXIgPDwgOCkgfCBwY2lkZXYtPmRldmZuOworCisJaWYgKF9iZGYgPj0gYW1kX2lvbW11X2xhc3RfYmRmKSB7CisJCSppb21tdSA9IE5VTEw7CisJCSpkb21haW4gPSBOVUxMOworCQkqYmRmID0gMHhmZmZmOworCQlyZXR1cm4gMDsKKwl9CisKKwkqYmRmID0gYW1kX2lvbW11X2FsaWFzX3RhYmxlW19iZGZdOworCisJKmlvbW11ID0gYW1kX2lvbW11X3Jsb29rdXBfdGFibGVbKmJkZl07CisJaWYgKCppb21tdSA9PSBOVUxMKQorCQlyZXR1cm4gMDsKKwlkbWFfZG9tID0gKCppb21tdSktPmRlZmF1bHRfZG9tOworCSpkb21haW4gPSBkb21haW5fZm9yX2RldmljZSgqYmRmKTsKKwlpZiAoKmRvbWFpbiA9PSBOVUxMKSB7CisJCSpkb21haW4gPSAmZG1hX2RvbS0+ZG9tYWluOworCQlzZXRfZGV2aWNlX2RvbWFpbigqaW9tbXUsICpkb21haW4sICpiZGYpOworCQlwcmludGsoS0VSTl9JTkZPICJBTUQgSU9NTVU6IFVzaW5nIHByb3RlY3Rpb24gZG9tYWluICVkIGZvciAiCisJCQkJImRldmljZSAiLCAoKmRvbWFpbiktPmlkKTsKKwkJcHJpbnRfZGV2aWQoX2JkZiwgMSk7CisJfQorCisJcmV0dXJuIDE7Cit9CisKK3N0YXRpYyBkbWFfYWRkcl90IGRtYV9vcHNfZG9tYWluX21hcChzdHJ1Y3QgYW1kX2lvbW11ICppb21tdSwKKwkJCQkgICAgIHN0cnVjdCBkbWFfb3BzX2RvbWFpbiAqZG9tLAorCQkJCSAgICAgdW5zaWduZWQgbG9uZyBhZGRyZXNzLAorCQkJCSAgICAgcGh5c19hZGRyX3QgcGFkZHIsCisJCQkJICAgICBpbnQgZGlyZWN0aW9uKQoreworCXU2NCAqcHRlLCBfX3B0ZTsKKworCVdBUk5fT04oYWRkcmVzcyA+IGRvbS0+YXBlcnR1cmVfc2l6ZSk7CisKKwlwYWRkciAmPSBQQUdFX01BU0s7CisKKwlwdGUgID0gZG9tLT5wdGVfcGFnZXNbSU9NTVVfUFRFX0wxX0lOREVYKGFkZHJlc3MpXTsKKwlwdGUgKz0gSU9NTVVfUFRFX0wwX0lOREVYKGFkZHJlc3MpOworCisJX19wdGUgPSBwYWRkciB8IElPTU1VX1BURV9QIHwgSU9NTVVfUFRFX0ZDOworCisJaWYgKGRpcmVjdGlvbiA9PSBETUFfVE9fREVWSUNFKQorCQlfX3B0ZSB8PSBJT01NVV9QVEVfSVI7CisJZWxzZSBpZiAoZGlyZWN0aW9uID09IERNQV9GUk9NX0RFVklDRSkKKwkJX19wdGUgfD0gSU9NTVVfUFRFX0lXOworCWVsc2UgaWYgKGRpcmVjdGlvbiA9PSBETUFfQklESVJFQ1RJT05BTCkKKwkJX19wdGUgfD0gSU9NTVVfUFRFX0lSIHwgSU9NTVVfUFRFX0lXOworCisJV0FSTl9PTigqcHRlKTsKKworCSpwdGUgPSBfX3B0ZTsKKworCXJldHVybiAoZG1hX2FkZHJfdClhZGRyZXNzOworfQorCitzdGF0aWMgdm9pZCBkbWFfb3BzX2RvbWFpbl91bm1hcChzdHJ1Y3QgYW1kX2lvbW11ICppb21tdSwKKwkJCQkgc3RydWN0IGRtYV9vcHNfZG9tYWluICpkb20sCisJCQkJIHVuc2lnbmVkIGxvbmcgYWRkcmVzcykKK3sKKwl1NjQgKnB0ZTsKKworCWlmIChhZGRyZXNzID49IGRvbS0+YXBlcnR1cmVfc2l6ZSkKKwkJcmV0dXJuOworCisJV0FSTl9PTihhZGRyZXNzICYgMHhmZmZVTEwgfHwgYWRkcmVzcyA+IGRvbS0+YXBlcnR1cmVfc2l6ZSk7CisKKwlwdGUgID0gZG9tLT5wdGVfcGFnZXNbSU9NTVVfUFRFX0wxX0lOREVYKGFkZHJlc3MpXTsKKwlwdGUgKz0gSU9NTVVfUFRFX0wwX0lOREVYKGFkZHJlc3MpOworCisJV0FSTl9PTighKnB0ZSk7CisKKwkqcHRlID0gMFVMTDsKK30KKworc3RhdGljIGRtYV9hZGRyX3QgX19tYXBfc2luZ2xlKHN0cnVjdCBkZXZpY2UgKmRldiwKKwkJCSAgICAgICBzdHJ1Y3QgYW1kX2lvbW11ICppb21tdSwKKwkJCSAgICAgICBzdHJ1Y3QgZG1hX29wc19kb21haW4gKmRtYV9kb20sCisJCQkgICAgICAgcGh5c19hZGRyX3QgcGFkZHIsCisJCQkgICAgICAgc2l6ZV90IHNpemUsCisJCQkgICAgICAgaW50IGRpcikKK3sKKwlkbWFfYWRkcl90IG9mZnNldCA9IHBhZGRyICYgflBBR0VfTUFTSzsKKwlkbWFfYWRkcl90IGFkZHJlc3MsIHN0YXJ0OworCXVuc2lnbmVkIGludCBwYWdlczsKKwlpbnQgaTsKKworCXBhZ2VzID0gdG9fcGFnZXMocGFkZHIsIHNpemUpOworCXBhZGRyICY9IFBBR0VfTUFTSzsKKworCWFkZHJlc3MgPSBkbWFfb3BzX2FsbG9jX2FkZHJlc3NlcyhkZXYsIGRtYV9kb20sIHBhZ2VzKTsKKwlpZiAodW5saWtlbHkoYWRkcmVzcyA9PSBiYWRfZG1hX2FkZHJlc3MpKQorCQlnb3RvIG91dDsKKworCXN0YXJ0ID0gYWRkcmVzczsKKwlmb3IgKGkgPSAwOyBpIDwgcGFnZXM7ICsraSkgeworCQlkbWFfb3BzX2RvbWFpbl9tYXAoaW9tbXUsIGRtYV9kb20sIHN0YXJ0LCBwYWRkciwgZGlyKTsKKwkJcGFkZHIgKz0gUEFHRV9TSVpFOworCQlzdGFydCArPSBQQUdFX1NJWkU7CisJfQorCWFkZHJlc3MgKz0gb2Zmc2V0OworCitvdXQ6CisJcmV0dXJuIGFkZHJlc3M7Cit9CisKK3N0YXRpYyB2b2lkIF9fdW5tYXBfc2luZ2xlKHN0cnVjdCBhbWRfaW9tbXUgKmlvbW11LAorCQkJICAgc3RydWN0IGRtYV9vcHNfZG9tYWluICpkbWFfZG9tLAorCQkJICAgZG1hX2FkZHJfdCBkbWFfYWRkciwKKwkJCSAgIHNpemVfdCBzaXplLAorCQkJICAgaW50IGRpcikKK3sKKwlkbWFfYWRkcl90IGksIHN0YXJ0OworCXVuc2lnbmVkIGludCBwYWdlczsKKworCWlmICgoZG1hX2FkZHIgPT0gMCkgfHwgKGRtYV9hZGRyICsgc2l6ZSA+IGRtYV9kb20tPmFwZXJ0dXJlX3NpemUpKQorCQlyZXR1cm47CisKKwlwYWdlcyA9IHRvX3BhZ2VzKGRtYV9hZGRyLCBzaXplKTsKKwlkbWFfYWRkciAmPSBQQUdFX01BU0s7CisJc3RhcnQgPSBkbWFfYWRkcjsKKworCWZvciAoaSA9IDA7IGkgPCBwYWdlczsgKytpKSB7CisJCWRtYV9vcHNfZG9tYWluX3VubWFwKGlvbW11LCBkbWFfZG9tLCBzdGFydCk7CisJCXN0YXJ0ICs9IFBBR0VfU0laRTsKKwl9CisKKwlkbWFfb3BzX2ZyZWVfYWRkcmVzc2VzKGRtYV9kb20sIGRtYV9hZGRyLCBwYWdlcyk7Cit9CisKK3N0YXRpYyBkbWFfYWRkcl90IG1hcF9zaW5nbGUoc3RydWN0IGRldmljZSAqZGV2LCBwaHlzX2FkZHJfdCBwYWRkciwKKwkJCSAgICAgc2l6ZV90IHNpemUsIGludCBkaXIpCit7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKwlzdHJ1Y3QgYW1kX2lvbW11ICppb21tdTsKKwlzdHJ1Y3QgcHJvdGVjdGlvbl9kb21haW4gKmRvbWFpbjsKKwl1MTYgZGV2aWQ7CisJZG1hX2FkZHJfdCBhZGRyOworCisJZ2V0X2RldmljZV9yZXNvdXJjZXMoZGV2LCAmaW9tbXUsICZkb21haW4sICZkZXZpZCk7CisKKwlpZiAoaW9tbXUgPT0gTlVMTCB8fCBkb21haW4gPT0gTlVMTCkKKwkJcmV0dXJuIChkbWFfYWRkcl90KXBhZGRyOworCisJc3Bpbl9sb2NrX2lycXNhdmUoJmRvbWFpbi0+bG9jaywgZmxhZ3MpOworCWFkZHIgPSBfX21hcF9zaW5nbGUoZGV2LCBpb21tdSwgZG9tYWluLT5wcml2LCBwYWRkciwgc2l6ZSwgZGlyKTsKKwlpZiAoYWRkciA9PSBiYWRfZG1hX2FkZHJlc3MpCisJCWdvdG8gb3V0OworCisJaWYgKGlvbW11X2hhc19ucGNhY2hlKGlvbW11KSkKKwkJaW9tbXVfZmx1c2hfcGFnZXMoaW9tbXUsIGRvbWFpbi0+aWQsIGFkZHIsIHNpemUpOworCisJaWYgKGlvbW11LT5uZWVkX3N5bmMpCisJCWlvbW11X2NvbXBsZXRpb25fd2FpdChpb21tdSk7CisKK291dDoKKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZkb21haW4tPmxvY2ssIGZsYWdzKTsKKworCXJldHVybiBhZGRyOworfQorCitzdGF0aWMgdm9pZCB1bm1hcF9zaW5nbGUoc3RydWN0IGRldmljZSAqZGV2LCBkbWFfYWRkcl90IGRtYV9hZGRyLAorCQkJIHNpemVfdCBzaXplLCBpbnQgZGlyKQoreworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisJc3RydWN0IGFtZF9pb21tdSAqaW9tbXU7CisJc3RydWN0IHByb3RlY3Rpb25fZG9tYWluICpkb21haW47CisJdTE2IGRldmlkOworCisJaWYgKCFnZXRfZGV2aWNlX3Jlc291cmNlcyhkZXYsICZpb21tdSwgJmRvbWFpbiwgJmRldmlkKSkKKwkJcmV0dXJuOworCisJc3Bpbl9sb2NrX2lycXNhdmUoJmRvbWFpbi0+bG9jaywgZmxhZ3MpOworCisJX191bm1hcF9zaW5nbGUoaW9tbXUsIGRvbWFpbi0+cHJpdiwgZG1hX2FkZHIsIHNpemUsIGRpcik7CisKKwlpb21tdV9mbHVzaF9wYWdlcyhpb21tdSwgZG9tYWluLT5pZCwgZG1hX2FkZHIsIHNpemUpOworCisJaWYgKGlvbW11LT5uZWVkX3N5bmMpCisJCWlvbW11X2NvbXBsZXRpb25fd2FpdChpb21tdSk7CisKKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZkb21haW4tPmxvY2ssIGZsYWdzKTsKK30KKworc3RhdGljIGludCBtYXBfc2dfbm9faW9tbXUoc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3Qgc2NhdHRlcmxpc3QgKnNnbGlzdCwKKwkJCSAgIGludCBuZWxlbXMsIGludCBkaXIpCit7CisJc3RydWN0IHNjYXR0ZXJsaXN0ICpzOworCWludCBpOworCisJZm9yX2VhY2hfc2coc2dsaXN0LCBzLCBuZWxlbXMsIGkpIHsKKwkJcy0+ZG1hX2FkZHJlc3MgPSAoZG1hX2FkZHJfdClzZ19waHlzKHMpOworCQlzLT5kbWFfbGVuZ3RoICA9IHMtPmxlbmd0aDsKKwl9CisKKwlyZXR1cm4gbmVsZW1zOworfQorCitzdGF0aWMgaW50IG1hcF9zZyhzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBzY2F0dGVybGlzdCAqc2dsaXN0LAorCQkgIGludCBuZWxlbXMsIGludCBkaXIpCit7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKwlzdHJ1Y3QgYW1kX2lvbW11ICppb21tdTsKKwlzdHJ1Y3QgcHJvdGVjdGlvbl9kb21haW4gKmRvbWFpbjsKKwl1MTYgZGV2aWQ7CisJaW50IGk7CisJc3RydWN0IHNjYXR0ZXJsaXN0ICpzOworCXBoeXNfYWRkcl90IHBhZGRyOworCWludCBtYXBwZWRfZWxlbXMgPSAwOworCisJZ2V0X2RldmljZV9yZXNvdXJjZXMoZGV2LCAmaW9tbXUsICZkb21haW4sICZkZXZpZCk7CisKKwlpZiAoIWlvbW11IHx8ICFkb21haW4pCisJCXJldHVybiBtYXBfc2dfbm9faW9tbXUoZGV2LCBzZ2xpc3QsIG5lbGVtcywgZGlyKTsKKworCXNwaW5fbG9ja19pcnFzYXZlKCZkb21haW4tPmxvY2ssIGZsYWdzKTsKKworCWZvcl9lYWNoX3NnKHNnbGlzdCwgcywgbmVsZW1zLCBpKSB7CisJCXBhZGRyID0gc2dfcGh5cyhzKTsKKworCQlzLT5kbWFfYWRkcmVzcyA9IF9fbWFwX3NpbmdsZShkZXYsIGlvbW11LCBkb21haW4tPnByaXYsCisJCQkJCSAgICAgIHBhZGRyLCBzLT5sZW5ndGgsIGRpcik7CisKKwkJaWYgKHMtPmRtYV9hZGRyZXNzKSB7CisJCQlzLT5kbWFfbGVuZ3RoID0gcy0+bGVuZ3RoOworCQkJbWFwcGVkX2VsZW1zKys7CisJCX0gZWxzZQorCQkJZ290byB1bm1hcDsKKwkJaWYgKGlvbW11X2hhc19ucGNhY2hlKGlvbW11KSkKKwkJCWlvbW11X2ZsdXNoX3BhZ2VzKGlvbW11LCBkb21haW4tPmlkLCBzLT5kbWFfYWRkcmVzcywKKwkJCQkJICBzLT5kbWFfbGVuZ3RoKTsKKwl9CisKKwlpZiAoaW9tbXUtPm5lZWRfc3luYykKKwkJaW9tbXVfY29tcGxldGlvbl93YWl0KGlvbW11KTsKKworb3V0OgorCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmRvbWFpbi0+bG9jaywgZmxhZ3MpOworCisJcmV0dXJuIG1hcHBlZF9lbGVtczsKK3VubWFwOgorCWZvcl9lYWNoX3NnKHNnbGlzdCwgcywgbWFwcGVkX2VsZW1zLCBpKSB7CisJCWlmIChzLT5kbWFfYWRkcmVzcykKKwkJCV9fdW5tYXBfc2luZ2xlKGlvbW11LCBkb21haW4tPnByaXYsIHMtPmRtYV9hZGRyZXNzLAorCQkJCSAgICAgICBzLT5kbWFfbGVuZ3RoLCBkaXIpOworCQlzLT5kbWFfYWRkcmVzcyA9IHMtPmRtYV9sZW5ndGggPSAwOworCX0KKworCW1hcHBlZF9lbGVtcyA9IDA7CisKKwlnb3RvIG91dDsKK30KKworc3RhdGljIHZvaWQgdW5tYXBfc2coc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3Qgc2NhdHRlcmxpc3QgKnNnbGlzdCwKKwkJICAgICBpbnQgbmVsZW1zLCBpbnQgZGlyKQoreworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisJc3RydWN0IGFtZF9pb21tdSAqaW9tbXU7CisJc3RydWN0IHByb3RlY3Rpb25fZG9tYWluICpkb21haW47CisJc3RydWN0IHNjYXR0ZXJsaXN0ICpzOworCXUxNiBkZXZpZDsKKwlpbnQgaTsKKworCWlmICghZ2V0X2RldmljZV9yZXNvdXJjZXMoZGV2LCAmaW9tbXUsICZkb21haW4sICZkZXZpZCkpCisJCXJldHVybjsKKworCXNwaW5fbG9ja19pcnFzYXZlKCZkb21haW4tPmxvY2ssIGZsYWdzKTsKKworCWZvcl9lYWNoX3NnKHNnbGlzdCwgcywgbmVsZW1zLCBpKSB7CisJCV9fdW5tYXBfc2luZ2xlKGlvbW11LCBkb21haW4tPnByaXYsIHMtPmRtYV9hZGRyZXNzLAorCQkJICAgICAgIHMtPmRtYV9sZW5ndGgsIGRpcik7CisJCWlvbW11X2ZsdXNoX3BhZ2VzKGlvbW11LCBkb21haW4tPmlkLCBzLT5kbWFfYWRkcmVzcywKKwkJCQkgIHMtPmRtYV9sZW5ndGgpOworCQlzLT5kbWFfYWRkcmVzcyA9IHMtPmRtYV9sZW5ndGggPSAwOworCX0KKworCWlmIChpb21tdS0+bmVlZF9zeW5jKQorCQlpb21tdV9jb21wbGV0aW9uX3dhaXQoaW9tbXUpOworCisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZG9tYWluLT5sb2NrLCBmbGFncyk7Cit9CisKK3N0YXRpYyB2b2lkICphbGxvY19jb2hlcmVudChzdHJ1Y3QgZGV2aWNlICpkZXYsIHNpemVfdCBzaXplLAorCQkJICAgIGRtYV9hZGRyX3QgKmRtYV9hZGRyLCBnZnBfdCBmbGFnKQoreworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisJdm9pZCAqdmlydF9hZGRyOworCXN0cnVjdCBhbWRfaW9tbXUgKmlvbW11OworCXN0cnVjdCBwcm90ZWN0aW9uX2RvbWFpbiAqZG9tYWluOworCXUxNiBkZXZpZDsKKwlwaHlzX2FkZHJfdCBwYWRkcjsKKworCXZpcnRfYWRkciA9ICh2b2lkICopX19nZXRfZnJlZV9wYWdlcyhmbGFnLCBnZXRfb3JkZXIoc2l6ZSkpOworCWlmICghdmlydF9hZGRyKQorCQlyZXR1cm4gMDsKKworCW1lbXNldCh2aXJ0X2FkZHIsIDAsIHNpemUpOworCXBhZGRyID0gdmlydF90b19waHlzKHZpcnRfYWRkcik7CisKKwlnZXRfZGV2aWNlX3Jlc291cmNlcyhkZXYsICZpb21tdSwgJmRvbWFpbiwgJmRldmlkKTsKKworCWlmICghaW9tbXUgfHwgIWRvbWFpbikgeworCQkqZG1hX2FkZHIgPSAoZG1hX2FkZHJfdClwYWRkcjsKKwkJcmV0dXJuIHZpcnRfYWRkcjsKKwl9CisKKwlzcGluX2xvY2tfaXJxc2F2ZSgmZG9tYWluLT5sb2NrLCBmbGFncyk7CisKKwkqZG1hX2FkZHIgPSBfX21hcF9zaW5nbGUoZGV2LCBpb21tdSwgZG9tYWluLT5wcml2LCBwYWRkciwKKwkJCQkgc2l6ZSwgRE1BX0JJRElSRUNUSU9OQUwpOworCisJaWYgKCpkbWFfYWRkciA9PSBiYWRfZG1hX2FkZHJlc3MpIHsKKwkJZnJlZV9wYWdlcygodW5zaWduZWQgbG9uZyl2aXJ0X2FkZHIsIGdldF9vcmRlcihzaXplKSk7CisJCXZpcnRfYWRkciA9IE5VTEw7CisJCWdvdG8gb3V0OworCX0KKworCWlmIChpb21tdV9oYXNfbnBjYWNoZShpb21tdSkpCisJCWlvbW11X2ZsdXNoX3BhZ2VzKGlvbW11LCBkb21haW4tPmlkLCAqZG1hX2FkZHIsIHNpemUpOworCisJaWYgKGlvbW11LT5uZWVkX3N5bmMpCisJCWlvbW11X2NvbXBsZXRpb25fd2FpdChpb21tdSk7CisKK291dDoKKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZkb21haW4tPmxvY2ssIGZsYWdzKTsKKworCXJldHVybiB2aXJ0X2FkZHI7Cit9CisKK3N0YXRpYyB2b2lkIGZyZWVfY29oZXJlbnQoc3RydWN0IGRldmljZSAqZGV2LCBzaXplX3Qgc2l6ZSwKKwkJCSAgdm9pZCAqdmlydF9hZGRyLCBkbWFfYWRkcl90IGRtYV9hZGRyKQoreworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisJc3RydWN0IGFtZF9pb21tdSAqaW9tbXU7CisJc3RydWN0IHByb3RlY3Rpb25fZG9tYWluICpkb21haW47CisJdTE2IGRldmlkOworCisJZ2V0X2RldmljZV9yZXNvdXJjZXMoZGV2LCAmaW9tbXUsICZkb21haW4sICZkZXZpZCk7CisKKwlpZiAoIWlvbW11IHx8ICFkb21haW4pCisJCWdvdG8gZnJlZV9tZW07CisKKwlzcGluX2xvY2tfaXJxc2F2ZSgmZG9tYWluLT5sb2NrLCBmbGFncyk7CisKKwlfX3VubWFwX3NpbmdsZShpb21tdSwgZG9tYWluLT5wcml2LCBkbWFfYWRkciwgc2l6ZSwgRE1BX0JJRElSRUNUSU9OQUwpOworCWlvbW11X2ZsdXNoX3BhZ2VzKGlvbW11LCBkb21haW4tPmlkLCBkbWFfYWRkciwgc2l6ZSk7CisKKwlpZiAoaW9tbXUtPm5lZWRfc3luYykKKwkJaW9tbXVfY29tcGxldGlvbl93YWl0KGlvbW11KTsKKworCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmRvbWFpbi0+bG9jaywgZmxhZ3MpOworCitmcmVlX21lbToKKwlmcmVlX3BhZ2VzKCh1bnNpZ25lZCBsb25nKXZpcnRfYWRkciwgZ2V0X29yZGVyKHNpemUpKTsKK30KKworLyoKKyAqIElmIHRoZSBkcml2ZXIgY29yZSBpbmZvcm1zIHRoZSBETUEgbGF5ZXIgaWYgYSBkcml2ZXIgZ3JhYnMgYSBkZXZpY2UKKyAqIHdlIGRvbid0IG5lZWQgdG8gcHJlYWxsb2NhdGUgdGhlIHByb3RlY3Rpb24gZG9tYWlucyBhbnltb3JlLgorICogRm9yIG5vdyB3ZSBoYXZlIHRvLgorICovCit2b2lkIHByZWFsbG9jX3Byb3RlY3Rpb25fZG9tYWlucyh2b2lkKQoreworCXN0cnVjdCBwY2lfZGV2ICpkZXYgPSBOVUxMOworCXN0cnVjdCBkbWFfb3BzX2RvbWFpbiAqZG1hX2RvbTsKKwlzdHJ1Y3QgYW1kX2lvbW11ICppb21tdTsKKwlpbnQgb3JkZXIgPSBhbWRfaW9tbXVfYXBlcnR1cmVfb3JkZXI7CisJdTE2IGRldmlkOworCisJd2hpbGUgKChkZXYgPSBwY2lfZ2V0X2RldmljZShQQ0lfQU5ZX0lELCBQQ0lfQU5ZX0lELCBkZXYpKSAhPSBOVUxMKSB7CisJCWRldmlkID0gKGRldi0+YnVzLT5udW1iZXIgPDwgOCkgfCBkZXYtPmRldmZuOworCQlpZiAoZGV2aWQgPj0gYW1kX2lvbW11X2xhc3RfYmRmKQorCQkJY29udGludWU7CisJCWRldmlkID0gYW1kX2lvbW11X2FsaWFzX3RhYmxlW2RldmlkXTsKKwkJaWYgKGRvbWFpbl9mb3JfZGV2aWNlKGRldmlkKSkKKwkJCWNvbnRpbnVlOworCQlpb21tdSA9IGFtZF9pb21tdV9ybG9va3VwX3RhYmxlW2RldmlkXTsKKwkJaWYgKCFpb21tdSkKKwkJCWNvbnRpbnVlOworCQlkbWFfZG9tID0gZG1hX29wc19kb21haW5fYWxsb2MoaW9tbXUsIG9yZGVyKTsKKwkJaWYgKCFkbWFfZG9tKQorCQkJY29udGludWU7CisJCWluaXRfdW5pdHlfbWFwcGluZ3NfZm9yX2RldmljZShkbWFfZG9tLCBkZXZpZCk7CisJCXNldF9kZXZpY2VfZG9tYWluKGlvbW11LCAmZG1hX2RvbS0+ZG9tYWluLCBkZXZpZCk7CisJCXByaW50ayhLRVJOX0lORk8gIkFNRCBJT01NVTogQWxsb2NhdGVkIGRvbWFpbiAlZCBmb3IgZGV2aWNlICIsCisJCSAgICAgICBkbWFfZG9tLT5kb21haW4uaWQpOworCQlwcmludF9kZXZpZChkZXZpZCwgMSk7CisJfQorfQorCitzdGF0aWMgc3RydWN0IGRtYV9tYXBwaW5nX29wcyBhbWRfaW9tbXVfZG1hX29wcyA9IHsKKwkuYWxsb2NfY29oZXJlbnQgPSBhbGxvY19jb2hlcmVudCwKKwkuZnJlZV9jb2hlcmVudCA9IGZyZWVfY29oZXJlbnQsCisJLm1hcF9zaW5nbGUgPSBtYXBfc2luZ2xlLAorCS51bm1hcF9zaW5nbGUgPSB1bm1hcF9zaW5nbGUsCisJLm1hcF9zZyA9IG1hcF9zZywKKwkudW5tYXBfc2cgPSB1bm1hcF9zZywKK307CisKK2ludCBfX2luaXQgYW1kX2lvbW11X2luaXRfZG1hX29wcyh2b2lkKQoreworCXN0cnVjdCBhbWRfaW9tbXUgKmlvbW11OworCWludCBvcmRlciA9IGFtZF9pb21tdV9hcGVydHVyZV9vcmRlcjsKKwlpbnQgcmV0OworCisJbGlzdF9mb3JfZWFjaF9lbnRyeShpb21tdSwgJmFtZF9pb21tdV9saXN0LCBsaXN0KSB7CisJCWlvbW11LT5kZWZhdWx0X2RvbSA9IGRtYV9vcHNfZG9tYWluX2FsbG9jKGlvbW11LCBvcmRlcik7CisJCWlmIChpb21tdS0+ZGVmYXVsdF9kb20gPT0gTlVMTCkKKwkJCXJldHVybiAtRU5PTUVNOworCQlyZXQgPSBpb21tdV9pbml0X3VuaXR5X21hcHBpbmdzKGlvbW11KTsKKwkJaWYgKHJldCkKKwkJCWdvdG8gZnJlZV9kb21haW5zOworCX0KKworCWlmIChhbWRfaW9tbXVfaXNvbGF0ZSkKKwkJcHJlYWxsb2NfcHJvdGVjdGlvbl9kb21haW5zKCk7CisKKwlpb21tdV9kZXRlY3RlZCA9IDE7CisJZm9yY2VfaW9tbXUgPSAxOworCWJhZF9kbWFfYWRkcmVzcyA9IDA7CisjaWZkZWYgQ09ORklHX0dBUlRfSU9NTVUKKwlnYXJ0X2lvbW11X2FwZXJ0dXJlX2Rpc2FibGVkID0gMTsKKwlnYXJ0X2lvbW11X2FwZXJ0dXJlID0gMDsKKyNlbmRpZgorCisJZG1hX29wcyA9ICZhbWRfaW9tbXVfZG1hX29wczsKKworCXJldHVybiAwOworCitmcmVlX2RvbWFpbnM6CisKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5KGlvbW11LCAmYW1kX2lvbW11X2xpc3QsIGxpc3QpIHsKKwkJaWYgKGlvbW11LT5kZWZhdWx0X2RvbSkKKwkJCWRtYV9vcHNfZG9tYWluX2ZyZWUoaW9tbXUtPmRlZmF1bHRfZG9tKTsKKwl9CisKKwlyZXR1cm4gcmV0OworfQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2FtZF9pb21tdV9pbml0LmMgYi9hcmNoL3g4Ni9rZXJuZWwvYW1kX2lvbW11X2luaXQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yYTEzZTQzCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC94ODYva2VybmVsL2FtZF9pb21tdV9pbml0LmMKQEAgLTAsMCArMSw4NzUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDctMjAwOCBBZHZhbmNlZCBNaWNybyBEZXZpY2VzLCBJbmMuCisgKiBBdXRob3I6IEpvZXJnIFJvZWRlbCA8am9lcmcucm9lZGVsQGFtZC5jb20+CisgKiAgICAgICAgIExlbyBEdXJhbiA8bGVvLmR1cmFuQGFtZC5jb20+CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQKKyAqIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzIHB1Ymxpc2hlZAorICogYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgVVNBCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L3BjaS5oPgorI2luY2x1ZGUgPGxpbnV4L2FjcGkuaD4KKyNpbmNsdWRlIDxsaW51eC9nZnAuaD4KKyNpbmNsdWRlIDxsaW51eC9saXN0Lmg+CisjaW5jbHVkZSA8bGludXgvc3lzZGV2Lmg+CisjaW5jbHVkZSA8YXNtL3BjaS1kaXJlY3QuaD4KKyNpbmNsdWRlIDxhc20vYW1kX2lvbW11X3R5cGVzLmg+CisjaW5jbHVkZSA8YXNtL2FtZF9pb21tdS5oPgorI2luY2x1ZGUgPGFzbS9nYXJ0Lmg+CisKKy8qCisgKiBkZWZpbml0aW9ucyBmb3IgdGhlIEFDUEkgc2Nhbm5pbmcgY29kZQorICovCisjZGVmaW5lIFVQREFURV9MQVNUX0JERih4KSBkbyB7XAorCWlmICgoeCkgPiBhbWRfaW9tbXVfbGFzdF9iZGYpIFwKKwkJYW1kX2lvbW11X2xhc3RfYmRmID0gKHgpOyBcCisJfSB3aGlsZSAoMCk7CisKKyNkZWZpbmUgREVWSUQoYnVzLCBkZXZmbikgKCgoYnVzKSA8PCA4KSB8IChkZXZmbikpCisjZGVmaW5lIFBDSV9CVVMoeCkgKCgoeCkgPj4gOCkgJiAweGZmKQorI2RlZmluZSBJVlJTX0hFQURFUl9MRU5HVEggNDgKKyNkZWZpbmUgVEJMX1NJWkUoeCkgKDEgPDwgKFBBR0VfU0hJRlQgKyBnZXRfb3JkZXIoYW1kX2lvbW11X2xhc3RfYmRmICogKHgpKSkpCisKKyNkZWZpbmUgQUNQSV9JVkhEX1RZUEUgICAgICAgICAgICAgICAgICAweDEwCisjZGVmaW5lIEFDUElfSVZNRF9UWVBFX0FMTCAgICAgICAgICAgICAgMHgyMAorI2RlZmluZSBBQ1BJX0lWTURfVFlQRSAgICAgICAgICAgICAgICAgIDB4MjEKKyNkZWZpbmUgQUNQSV9JVk1EX1RZUEVfUkFOR0UgICAgICAgICAgICAweDIyCisKKyNkZWZpbmUgSVZIRF9ERVZfQUxMICAgICAgICAgICAgICAgICAgICAweDAxCisjZGVmaW5lIElWSERfREVWX1NFTEVDVCAgICAgICAgICAgICAgICAgMHgwMgorI2RlZmluZSBJVkhEX0RFVl9TRUxFQ1RfUkFOR0VfU1RBUlQgICAgIDB4MDMKKyNkZWZpbmUgSVZIRF9ERVZfUkFOR0VfRU5EICAgICAgICAgICAgICAweDA0CisjZGVmaW5lIElWSERfREVWX0FMSUFTICAgICAgICAgICAgICAgICAgMHg0MgorI2RlZmluZSBJVkhEX0RFVl9BTElBU19SQU5HRSAgICAgICAgICAgIDB4NDMKKyNkZWZpbmUgSVZIRF9ERVZfRVhUX1NFTEVDVCAgICAgICAgICAgICAweDQ2CisjZGVmaW5lIElWSERfREVWX0VYVF9TRUxFQ1RfUkFOR0UgICAgICAgMHg0NworCisjZGVmaW5lIElWSERfRkxBR19IVF9UVU5fRU4gICAgICAgICAgICAgMHgwMAorI2RlZmluZSBJVkhEX0ZMQUdfUEFTU1BXX0VOICAgICAgICAgICAgIDB4MDEKKyNkZWZpbmUgSVZIRF9GTEFHX1JFU1BBU1NQV19FTiAgICAgICAgICAweDAyCisjZGVmaW5lIElWSERfRkxBR19JU09DX0VOICAgICAgICAgICAgICAgMHgwMworCisjZGVmaW5lIElWTURfRkxBR19FWENMX1JBTkdFICAgICAgICAgICAgMHgwOAorI2RlZmluZSBJVk1EX0ZMQUdfVU5JVFlfTUFQICAgICAgICAgICAgIDB4MDEKKworI2RlZmluZSBBQ1BJX0RFVkZMQUdfSU5JVFBBU1MgICAgICAgICAgIDB4MDEKKyNkZWZpbmUgQUNQSV9ERVZGTEFHX0VYVElOVCAgICAgICAgICAgICAweDAyCisjZGVmaW5lIEFDUElfREVWRkxBR19OTUkgICAgICAgICAgICAgICAgMHgwNAorI2RlZmluZSBBQ1BJX0RFVkZMQUdfU1lTTUdUMSAgICAgICAgICAgIDB4MTAKKyNkZWZpbmUgQUNQSV9ERVZGTEFHX1NZU01HVDIgICAgICAgICAgICAweDIwCisjZGVmaW5lIEFDUElfREVWRkxBR19MSU5UMCAgICAgICAgICAgICAgMHg0MAorI2RlZmluZSBBQ1BJX0RFVkZMQUdfTElOVDEgICAgICAgICAgICAgIDB4ODAKKyNkZWZpbmUgQUNQSV9ERVZGTEFHX0FUU0RJUyAgICAgICAgICAgICAweDEwMDAwMDAwCisKK3N0cnVjdCBpdmhkX2hlYWRlciB7CisJdTggdHlwZTsKKwl1OCBmbGFnczsKKwl1MTYgbGVuZ3RoOworCXUxNiBkZXZpZDsKKwl1MTYgY2FwX3B0cjsKKwl1NjQgbW1pb19waHlzOworCXUxNiBwY2lfc2VnOworCXUxNiBpbmZvOworCXUzMiByZXNlcnZlZDsKK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CisKK3N0cnVjdCBpdmhkX2VudHJ5IHsKKwl1OCB0eXBlOworCXUxNiBkZXZpZDsKKwl1OCBmbGFnczsKKwl1MzIgZXh0OworfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKKworc3RydWN0IGl2bWRfaGVhZGVyIHsKKwl1OCB0eXBlOworCXU4IGZsYWdzOworCXUxNiBsZW5ndGg7CisJdTE2IGRldmlkOworCXUxNiBhdXg7CisJdTY0IHJlc3Y7CisJdTY0IHJhbmdlX3N0YXJ0OworCXU2NCByYW5nZV9sZW5ndGg7Cit9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOworCitzdGF0aWMgaW50IF9faW5pdGRhdGEgYW1kX2lvbW11X2RldGVjdGVkOworCit1MTYgYW1kX2lvbW11X2xhc3RfYmRmOworc3RydWN0IGxpc3RfaGVhZCBhbWRfaW9tbXVfdW5pdHlfbWFwOwordW5zaWduZWQgYW1kX2lvbW11X2FwZXJ0dXJlX29yZGVyID0gMjY7CitpbnQgYW1kX2lvbW11X2lzb2xhdGU7CisKK3N0cnVjdCBsaXN0X2hlYWQgYW1kX2lvbW11X2xpc3Q7CitzdHJ1Y3QgZGV2X3RhYmxlX2VudHJ5ICphbWRfaW9tbXVfZGV2X3RhYmxlOwordTE2ICphbWRfaW9tbXVfYWxpYXNfdGFibGU7CitzdHJ1Y3QgYW1kX2lvbW11ICoqYW1kX2lvbW11X3Jsb29rdXBfdGFibGU7CitzdHJ1Y3QgcHJvdGVjdGlvbl9kb21haW4gKiphbWRfaW9tbXVfcGRfdGFibGU7Cit1bnNpZ25lZCBsb25nICphbWRfaW9tbXVfcGRfYWxsb2NfYml0bWFwOworCitzdGF0aWMgdTMyIGRldl90YWJsZV9zaXplOworc3RhdGljIHUzMiBhbGlhc190YWJsZV9zaXplOworc3RhdGljIHUzMiBybG9va3VwX3RhYmxlX3NpemU7CisKK3N0YXRpYyB2b2lkIF9faW5pdCBpb21tdV9zZXRfZXhjbHVzaW9uX3JhbmdlKHN0cnVjdCBhbWRfaW9tbXUgKmlvbW11KQoreworCXU2NCBzdGFydCA9IGlvbW11LT5leGNsdXNpb25fc3RhcnQgJiBQQUdFX01BU0s7CisJdTY0IGxpbWl0ID0gKHN0YXJ0ICsgaW9tbXUtPmV4Y2x1c2lvbl9sZW5ndGgpICYgUEFHRV9NQVNLOworCXU2NCBlbnRyeTsKKworCWlmICghaW9tbXUtPmV4Y2x1c2lvbl9zdGFydCkKKwkJcmV0dXJuOworCisJZW50cnkgPSBzdGFydCB8IE1NSU9fRVhDTF9FTkFCTEVfTUFTSzsKKwltZW1jcHlfdG9pbyhpb21tdS0+bW1pb19iYXNlICsgTU1JT19FWENMX0JBU0VfT0ZGU0VULAorCQkJJmVudHJ5LCBzaXplb2YoZW50cnkpKTsKKworCWVudHJ5ID0gbGltaXQ7CisJbWVtY3B5X3RvaW8oaW9tbXUtPm1taW9fYmFzZSArIE1NSU9fRVhDTF9MSU1JVF9PRkZTRVQsCisJCQkmZW50cnksIHNpemVvZihlbnRyeSkpOworfQorCitzdGF0aWMgdm9pZCBfX2luaXQgaW9tbXVfc2V0X2RldmljZV90YWJsZShzdHJ1Y3QgYW1kX2lvbW11ICppb21tdSkKK3sKKwl1MzIgZW50cnk7CisKKwlCVUdfT04oaW9tbXUtPm1taW9fYmFzZSA9PSBOVUxMKTsKKworCWVudHJ5ID0gdmlydF90b19waHlzKGFtZF9pb21tdV9kZXZfdGFibGUpOworCWVudHJ5IHw9IChkZXZfdGFibGVfc2l6ZSA+PiAxMikgLSAxOworCW1lbWNweV90b2lvKGlvbW11LT5tbWlvX2Jhc2UgKyBNTUlPX0RFVl9UQUJMRV9PRkZTRVQsCisJCQkmZW50cnksIHNpemVvZihlbnRyeSkpOworfQorCitzdGF0aWMgdm9pZCBfX2luaXQgaW9tbXVfZmVhdHVyZV9lbmFibGUoc3RydWN0IGFtZF9pb21tdSAqaW9tbXUsIHU4IGJpdCkKK3sKKwl1MzIgY3RybDsKKworCWN0cmwgPSByZWFkbChpb21tdS0+bW1pb19iYXNlICsgTU1JT19DT05UUk9MX09GRlNFVCk7CisJY3RybCB8PSAoMSA8PCBiaXQpOworCXdyaXRlbChjdHJsLCBpb21tdS0+bW1pb19iYXNlICsgTU1JT19DT05UUk9MX09GRlNFVCk7Cit9CisKK3N0YXRpYyB2b2lkIF9faW5pdCBpb21tdV9mZWF0dXJlX2Rpc2FibGUoc3RydWN0IGFtZF9pb21tdSAqaW9tbXUsIHU4IGJpdCkKK3sKKwl1MzIgY3RybDsKKworCWN0cmwgPSAodTY0KXJlYWRsKGlvbW11LT5tbWlvX2Jhc2UgKyBNTUlPX0NPTlRST0xfT0ZGU0VUKTsKKwljdHJsICY9IH4oMSA8PCBiaXQpOworCXdyaXRlbChjdHJsLCBpb21tdS0+bW1pb19iYXNlICsgTU1JT19DT05UUk9MX09GRlNFVCk7Cit9CisKK3ZvaWQgX19pbml0IGlvbW11X2VuYWJsZShzdHJ1Y3QgYW1kX2lvbW11ICppb21tdSkKK3sKKwlwcmludGsoS0VSTl9JTkZPICJBTUQgSU9NTVU6IEVuYWJsaW5nIElPTU1VIGF0ICIpOworCXByaW50X2RldmlkKGlvbW11LT5kZXZpZCwgMCk7CisJcHJpbnRrKCIgY2FwIDB4JWh4XG4iLCBpb21tdS0+Y2FwX3B0cik7CisKKwlpb21tdV9mZWF0dXJlX2VuYWJsZShpb21tdSwgQ09OVFJPTF9JT01NVV9FTik7Cit9CisKK3N0YXRpYyB1OCAqIF9faW5pdCBpb21tdV9tYXBfbW1pb19zcGFjZSh1NjQgYWRkcmVzcykKK3sKKwl1OCAqcmV0OworCisJaWYgKCFyZXF1ZXN0X21lbV9yZWdpb24oYWRkcmVzcywgTU1JT19SRUdJT05fTEVOR1RILCAiYW1kX2lvbW11IikpCisJCXJldHVybiBOVUxMOworCisJcmV0ID0gaW9yZW1hcF9ub2NhY2hlKGFkZHJlc3MsIE1NSU9fUkVHSU9OX0xFTkdUSCk7CisJaWYgKHJldCAhPSBOVUxMKQorCQlyZXR1cm4gcmV0OworCisJcmVsZWFzZV9tZW1fcmVnaW9uKGFkZHJlc3MsIE1NSU9fUkVHSU9OX0xFTkdUSCk7CisKKwlyZXR1cm4gTlVMTDsKK30KKworc3RhdGljIHZvaWQgX19pbml0IGlvbW11X3VubWFwX21taW9fc3BhY2Uoc3RydWN0IGFtZF9pb21tdSAqaW9tbXUpCit7CisJaWYgKGlvbW11LT5tbWlvX2Jhc2UpCisJCWlvdW5tYXAoaW9tbXUtPm1taW9fYmFzZSk7CisJcmVsZWFzZV9tZW1fcmVnaW9uKGlvbW11LT5tbWlvX3BoeXMsIE1NSU9fUkVHSU9OX0xFTkdUSCk7Cit9CisKK3N0YXRpYyBpbnQgX19pbml0IGZpbmRfbGFzdF9kZXZpZF9vbl9wY2koaW50IGJ1cywgaW50IGRldiwgaW50IGZuLCBpbnQgY2FwX3B0cikKK3sKKwl1MzIgY2FwOworCisJY2FwID0gcmVhZF9wY2lfY29uZmlnKGJ1cywgZGV2LCBmbiwgY2FwX3B0citNTUlPX1JBTkdFX09GRlNFVCk7CisJVVBEQVRFX0xBU1RfQkRGKERFVklEKE1NSU9fR0VUX0JVUyhjYXApLCBNTUlPX0dFVF9MRChjYXApKSk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBfX2luaXQgZmluZF9sYXN0X2RldmlkX2Zyb21faXZoZChzdHJ1Y3QgaXZoZF9oZWFkZXIgKmgpCit7CisJdTggKnAgPSAodm9pZCAqKWgsICplbmQgPSAodm9pZCAqKWg7CisJc3RydWN0IGl2aGRfZW50cnkgKmRldjsKKworCXAgKz0gc2l6ZW9mKCpoKTsKKwllbmQgKz0gaC0+bGVuZ3RoOworCisJZmluZF9sYXN0X2RldmlkX29uX3BjaShQQ0lfQlVTKGgtPmRldmlkKSwKKwkJCVBDSV9TTE9UKGgtPmRldmlkKSwKKwkJCVBDSV9GVU5DKGgtPmRldmlkKSwKKwkJCWgtPmNhcF9wdHIpOworCisJd2hpbGUgKHAgPCBlbmQpIHsKKwkJZGV2ID0gKHN0cnVjdCBpdmhkX2VudHJ5ICopcDsKKwkJc3dpdGNoIChkZXYtPnR5cGUpIHsKKwkJY2FzZSBJVkhEX0RFVl9TRUxFQ1Q6CisJCWNhc2UgSVZIRF9ERVZfUkFOR0VfRU5EOgorCQljYXNlIElWSERfREVWX0FMSUFTOgorCQljYXNlIElWSERfREVWX0VYVF9TRUxFQ1Q6CisJCQlVUERBVEVfTEFTVF9CREYoZGV2LT5kZXZpZCk7CisJCQlicmVhazsKKwkJZGVmYXVsdDoKKwkJCWJyZWFrOworCQl9CisJCXAgKz0gMHgwNCA8PCAoKnAgPj4gNik7CisJfQorCisJV0FSTl9PTihwICE9IGVuZCk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBfX2luaXQgZmluZF9sYXN0X2RldmlkX2FjcGkoc3RydWN0IGFjcGlfdGFibGVfaGVhZGVyICp0YWJsZSkKK3sKKwlpbnQgaTsKKwl1OCBjaGVja3N1bSA9IDAsICpwID0gKHU4ICopdGFibGUsICplbmQgPSAodTggKil0YWJsZTsKKwlzdHJ1Y3QgaXZoZF9oZWFkZXIgKmg7CisKKwkvKgorCSAqIFZhbGlkYXRlIGNoZWNrc3VtIGhlcmUgc28gd2UgZG9uJ3QgbmVlZCB0byBkbyBpdCB3aGVuCisJICogd2UgYWN0dWFsbHkgcGFyc2UgdGhlIHRhYmxlCisJICovCisJZm9yIChpID0gMDsgaSA8IHRhYmxlLT5sZW5ndGg7ICsraSkKKwkJY2hlY2tzdW0gKz0gcFtpXTsKKwlpZiAoY2hlY2tzdW0gIT0gMCkKKwkJLyogQUNQSSB0YWJsZSBjb3JydXB0ICovCisJCXJldHVybiAtRU5PREVWOworCisJcCArPSBJVlJTX0hFQURFUl9MRU5HVEg7CisKKwllbmQgKz0gdGFibGUtPmxlbmd0aDsKKwl3aGlsZSAocCA8IGVuZCkgeworCQloID0gKHN0cnVjdCBpdmhkX2hlYWRlciAqKXA7CisJCXN3aXRjaCAoaC0+dHlwZSkgeworCQljYXNlIEFDUElfSVZIRF9UWVBFOgorCQkJZmluZF9sYXN0X2RldmlkX2Zyb21faXZoZChoKTsKKwkJCWJyZWFrOworCQlkZWZhdWx0OgorCQkJYnJlYWs7CisJCX0KKwkJcCArPSBoLT5sZW5ndGg7CisJfQorCVdBUk5fT04ocCAhPSBlbmQpOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB1OCAqIF9faW5pdCBhbGxvY19jb21tYW5kX2J1ZmZlcihzdHJ1Y3QgYW1kX2lvbW11ICppb21tdSkKK3sKKwl1OCAqY21kX2J1ZiA9ICh1OCAqKV9fZ2V0X2ZyZWVfcGFnZXMoR0ZQX0tFUk5FTCwKKwkJCWdldF9vcmRlcihDTURfQlVGRkVSX1NJWkUpKTsKKwl1NjQgZW50cnkgPSAwOworCisJaWYgKGNtZF9idWYgPT0gTlVMTCkKKwkJcmV0dXJuIE5VTEw7CisKKwlpb21tdS0+Y21kX2J1Zl9zaXplID0gQ01EX0JVRkZFUl9TSVpFOworCisJbWVtc2V0KGNtZF9idWYsIDAsIENNRF9CVUZGRVJfU0laRSk7CisKKwllbnRyeSA9ICh1NjQpdmlydF90b19waHlzKGNtZF9idWYpOworCWVudHJ5IHw9IE1NSU9fQ01EX1NJWkVfNTEyOworCW1lbWNweV90b2lvKGlvbW11LT5tbWlvX2Jhc2UgKyBNTUlPX0NNRF9CVUZfT0ZGU0VULAorCQkJJmVudHJ5LCBzaXplb2YoZW50cnkpKTsKKworCWlvbW11X2ZlYXR1cmVfZW5hYmxlKGlvbW11LCBDT05UUk9MX0NNREJVRl9FTik7CisKKwlyZXR1cm4gY21kX2J1ZjsKK30KKworc3RhdGljIHZvaWQgX19pbml0IGZyZWVfY29tbWFuZF9idWZmZXIoc3RydWN0IGFtZF9pb21tdSAqaW9tbXUpCit7CisJaWYgKGlvbW11LT5jbWRfYnVmKQorCQlmcmVlX3BhZ2VzKCh1bnNpZ25lZCBsb25nKWlvbW11LT5jbWRfYnVmLAorCQkJCWdldF9vcmRlcihDTURfQlVGRkVSX1NJWkUpKTsKK30KKworc3RhdGljIHZvaWQgc2V0X2Rldl9lbnRyeV9iaXQodTE2IGRldmlkLCB1OCBiaXQpCit7CisJaW50IGkgPSAoYml0ID4+IDUpICYgMHgwNzsKKwlpbnQgX2JpdCA9IGJpdCAmIDB4MWY7CisKKwlhbWRfaW9tbXVfZGV2X3RhYmxlW2RldmlkXS5kYXRhW2ldIHw9ICgxIDw8IF9iaXQpOworfQorCitzdGF0aWMgdm9pZCBfX2luaXQgc2V0X2Rldl9lbnRyeV9mcm9tX2FjcGkodTE2IGRldmlkLCB1MzIgZmxhZ3MsIHUzMiBleHRfZmxhZ3MpCit7CisJaWYgKGZsYWdzICYgQUNQSV9ERVZGTEFHX0lOSVRQQVNTKQorCQlzZXRfZGV2X2VudHJ5X2JpdChkZXZpZCwgREVWX0VOVFJZX0lOSVRfUEFTUyk7CisJaWYgKGZsYWdzICYgQUNQSV9ERVZGTEFHX0VYVElOVCkKKwkJc2V0X2Rldl9lbnRyeV9iaXQoZGV2aWQsIERFVl9FTlRSWV9FSU5UX1BBU1MpOworCWlmIChmbGFncyAmIEFDUElfREVWRkxBR19OTUkpCisJCXNldF9kZXZfZW50cnlfYml0KGRldmlkLCBERVZfRU5UUllfTk1JX1BBU1MpOworCWlmIChmbGFncyAmIEFDUElfREVWRkxBR19TWVNNR1QxKQorCQlzZXRfZGV2X2VudHJ5X2JpdChkZXZpZCwgREVWX0VOVFJZX1NZU01HVDEpOworCWlmIChmbGFncyAmIEFDUElfREVWRkxBR19TWVNNR1QyKQorCQlzZXRfZGV2X2VudHJ5X2JpdChkZXZpZCwgREVWX0VOVFJZX1NZU01HVDIpOworCWlmIChmbGFncyAmIEFDUElfREVWRkxBR19MSU5UMCkKKwkJc2V0X2Rldl9lbnRyeV9iaXQoZGV2aWQsIERFVl9FTlRSWV9MSU5UMF9QQVNTKTsKKwlpZiAoZmxhZ3MgJiBBQ1BJX0RFVkZMQUdfTElOVDEpCisJCXNldF9kZXZfZW50cnlfYml0KGRldmlkLCBERVZfRU5UUllfTElOVDFfUEFTUyk7Cit9CisKK3N0YXRpYyB2b2lkIF9faW5pdCBzZXRfaW9tbXVfZm9yX2RldmljZShzdHJ1Y3QgYW1kX2lvbW11ICppb21tdSwgdTE2IGRldmlkKQoreworCWFtZF9pb21tdV9ybG9va3VwX3RhYmxlW2RldmlkXSA9IGlvbW11OworfQorCitzdGF0aWMgdm9pZCBfX2luaXQgc2V0X2RldmljZV9leGNsdXNpb25fcmFuZ2UodTE2IGRldmlkLCBzdHJ1Y3QgaXZtZF9oZWFkZXIgKm0pCit7CisJc3RydWN0IGFtZF9pb21tdSAqaW9tbXUgPSBhbWRfaW9tbXVfcmxvb2t1cF90YWJsZVtkZXZpZF07CisKKwlpZiAoIShtLT5mbGFncyAmIElWTURfRkxBR19FWENMX1JBTkdFKSkKKwkJcmV0dXJuOworCisJaWYgKGlvbW11KSB7CisJCXNldF9kZXZfZW50cnlfYml0KG0tPmRldmlkLCBERVZfRU5UUllfRVgpOworCQlpb21tdS0+ZXhjbHVzaW9uX3N0YXJ0ID0gbS0+cmFuZ2Vfc3RhcnQ7CisJCWlvbW11LT5leGNsdXNpb25fbGVuZ3RoID0gbS0+cmFuZ2VfbGVuZ3RoOworCX0KK30KKworc3RhdGljIHZvaWQgX19pbml0IGluaXRfaW9tbXVfZnJvbV9wY2koc3RydWN0IGFtZF9pb21tdSAqaW9tbXUpCit7CisJaW50IGJ1cyA9IFBDSV9CVVMoaW9tbXUtPmRldmlkKTsKKwlpbnQgZGV2ID0gUENJX1NMT1QoaW9tbXUtPmRldmlkKTsKKwlpbnQgZm4gID0gUENJX0ZVTkMoaW9tbXUtPmRldmlkKTsKKwlpbnQgY2FwX3B0ciA9IGlvbW11LT5jYXBfcHRyOworCXUzMiByYW5nZTsKKworCWlvbW11LT5jYXAgPSByZWFkX3BjaV9jb25maWcoYnVzLCBkZXYsIGZuLCBjYXBfcHRyK01NSU9fQ0FQX0hEUl9PRkZTRVQpOworCisJcmFuZ2UgPSByZWFkX3BjaV9jb25maWcoYnVzLCBkZXYsIGZuLCBjYXBfcHRyK01NSU9fUkFOR0VfT0ZGU0VUKTsKKwlpb21tdS0+Zmlyc3RfZGV2aWNlID0gREVWSUQoTU1JT19HRVRfQlVTKHJhbmdlKSwgTU1JT19HRVRfRkQocmFuZ2UpKTsKKwlpb21tdS0+bGFzdF9kZXZpY2UgPSBERVZJRChNTUlPX0dFVF9CVVMocmFuZ2UpLCBNTUlPX0dFVF9MRChyYW5nZSkpOworfQorCitzdGF0aWMgdm9pZCBfX2luaXQgaW5pdF9pb21tdV9mcm9tX2FjcGkoc3RydWN0IGFtZF9pb21tdSAqaW9tbXUsCisJCQkJCXN0cnVjdCBpdmhkX2hlYWRlciAqaCkKK3sKKwl1OCAqcCA9ICh1OCAqKWg7CisJdTggKmVuZCA9IHAsIGZsYWdzID0gMDsKKwl1MTYgZGV2X2ksIGRldmlkID0gMCwgZGV2aWRfc3RhcnQgPSAwLCBkZXZpZF90byA9IDA7CisJdTMyIGV4dF9mbGFncyA9IDA7CisJYm9vbCBhbGlhcyA9IDA7CisJc3RydWN0IGl2aGRfZW50cnkgKmU7CisKKwkvKgorCSAqIEZpcnN0IHNldCB0aGUgcmVjb21tZW5kZWQgZmVhdHVyZSBlbmFibGUgYml0cyBmcm9tIEFDUEkKKwkgKiBpbnRvIHRoZSBJT01NVSBjb250cm9sIHJlZ2lzdGVycworCSAqLworCWgtPmZsYWdzICYgSVZIRF9GTEFHX0hUX1RVTl9FTiA/CisJCWlvbW11X2ZlYXR1cmVfZW5hYmxlKGlvbW11LCBDT05UUk9MX0hUX1RVTl9FTikgOgorCQlpb21tdV9mZWF0dXJlX2Rpc2FibGUoaW9tbXUsIENPTlRST0xfSFRfVFVOX0VOKTsKKworCWgtPmZsYWdzICYgSVZIRF9GTEFHX1BBU1NQV19FTiA/CisJCWlvbW11X2ZlYXR1cmVfZW5hYmxlKGlvbW11LCBDT05UUk9MX1BBU1NQV19FTikgOgorCQlpb21tdV9mZWF0dXJlX2Rpc2FibGUoaW9tbXUsIENPTlRST0xfUEFTU1BXX0VOKTsKKworCWgtPmZsYWdzICYgSVZIRF9GTEFHX1JFU1BBU1NQV19FTiA/CisJCWlvbW11X2ZlYXR1cmVfZW5hYmxlKGlvbW11LCBDT05UUk9MX1JFU1BBU1NQV19FTikgOgorCQlpb21tdV9mZWF0dXJlX2Rpc2FibGUoaW9tbXUsIENPTlRST0xfUkVTUEFTU1BXX0VOKTsKKworCWgtPmZsYWdzICYgSVZIRF9GTEFHX0lTT0NfRU4gPworCQlpb21tdV9mZWF0dXJlX2VuYWJsZShpb21tdSwgQ09OVFJPTF9JU09DX0VOKSA6CisJCWlvbW11X2ZlYXR1cmVfZGlzYWJsZShpb21tdSwgQ09OVFJPTF9JU09DX0VOKTsKKworCS8qCisJICogbWFrZSBJT01NVSBtZW1vcnkgYWNjZXNzZXMgY2FjaGUgY29oZXJlbnQKKwkgKi8KKwlpb21tdV9mZWF0dXJlX2VuYWJsZShpb21tdSwgQ09OVFJPTF9DT0hFUkVOVF9FTik7CisKKwkvKgorCSAqIERvbmUuIE5vdyBwYXJzZSB0aGUgZGV2aWNlIGVudHJpZXMKKwkgKi8KKwlwICs9IHNpemVvZihzdHJ1Y3QgaXZoZF9oZWFkZXIpOworCWVuZCArPSBoLT5sZW5ndGg7CisKKwl3aGlsZSAocCA8IGVuZCkgeworCQllID0gKHN0cnVjdCBpdmhkX2VudHJ5ICopcDsKKwkJc3dpdGNoIChlLT50eXBlKSB7CisJCWNhc2UgSVZIRF9ERVZfQUxMOgorCQkJZm9yIChkZXZfaSA9IGlvbW11LT5maXJzdF9kZXZpY2U7CisJCQkJCWRldl9pIDw9IGlvbW11LT5sYXN0X2RldmljZTsgKytkZXZfaSkKKwkJCQlzZXRfZGV2X2VudHJ5X2Zyb21fYWNwaShkZXZfaSwgZS0+ZmxhZ3MsIDApOworCQkJYnJlYWs7CisJCWNhc2UgSVZIRF9ERVZfU0VMRUNUOgorCQkJZGV2aWQgPSBlLT5kZXZpZDsKKwkJCXNldF9kZXZfZW50cnlfZnJvbV9hY3BpKGRldmlkLCBlLT5mbGFncywgMCk7CisJCQlicmVhazsKKwkJY2FzZSBJVkhEX0RFVl9TRUxFQ1RfUkFOR0VfU1RBUlQ6CisJCQlkZXZpZF9zdGFydCA9IGUtPmRldmlkOworCQkJZmxhZ3MgPSBlLT5mbGFnczsKKwkJCWV4dF9mbGFncyA9IDA7CisJCQlhbGlhcyA9IDA7CisJCQlicmVhazsKKwkJY2FzZSBJVkhEX0RFVl9BTElBUzoKKwkJCWRldmlkID0gZS0+ZGV2aWQ7CisJCQlkZXZpZF90byA9IGUtPmV4dCA+PiA4OworCQkJc2V0X2Rldl9lbnRyeV9mcm9tX2FjcGkoZGV2aWQsIGUtPmZsYWdzLCAwKTsKKwkJCWFtZF9pb21tdV9hbGlhc190YWJsZVtkZXZpZF0gPSBkZXZpZF90bzsKKwkJCWJyZWFrOworCQljYXNlIElWSERfREVWX0FMSUFTX1JBTkdFOgorCQkJZGV2aWRfc3RhcnQgPSBlLT5kZXZpZDsKKwkJCWZsYWdzID0gZS0+ZmxhZ3M7CisJCQlkZXZpZF90byA9IGUtPmV4dCA+PiA4OworCQkJZXh0X2ZsYWdzID0gMDsKKwkJCWFsaWFzID0gMTsKKwkJCWJyZWFrOworCQljYXNlIElWSERfREVWX0VYVF9TRUxFQ1Q6CisJCQlkZXZpZCA9IGUtPmRldmlkOworCQkJc2V0X2Rldl9lbnRyeV9mcm9tX2FjcGkoZGV2aWQsIGUtPmZsYWdzLCBlLT5leHQpOworCQkJYnJlYWs7CisJCWNhc2UgSVZIRF9ERVZfRVhUX1NFTEVDVF9SQU5HRToKKwkJCWRldmlkX3N0YXJ0ID0gZS0+ZGV2aWQ7CisJCQlmbGFncyA9IGUtPmZsYWdzOworCQkJZXh0X2ZsYWdzID0gZS0+ZXh0OworCQkJYWxpYXMgPSAwOworCQkJYnJlYWs7CisJCWNhc2UgSVZIRF9ERVZfUkFOR0VfRU5EOgorCQkJZGV2aWQgPSBlLT5kZXZpZDsKKwkJCWZvciAoZGV2X2kgPSBkZXZpZF9zdGFydDsgZGV2X2kgPD0gZGV2aWQ7ICsrZGV2X2kpIHsKKwkJCQlpZiAoYWxpYXMpCisJCQkJCWFtZF9pb21tdV9hbGlhc190YWJsZVtkZXZfaV0gPSBkZXZpZF90bzsKKwkJCQlzZXRfZGV2X2VudHJ5X2Zyb21fYWNwaSgKKwkJCQkJCWFtZF9pb21tdV9hbGlhc190YWJsZVtkZXZfaV0sCisJCQkJCQlmbGFncywgZXh0X2ZsYWdzKTsKKwkJCX0KKwkJCWJyZWFrOworCQlkZWZhdWx0OgorCQkJYnJlYWs7CisJCX0KKworCQlwICs9IDB4MDQgPDwgKGUtPnR5cGUgPj4gNik7CisJfQorfQorCitzdGF0aWMgaW50IF9faW5pdCBpbml0X2lvbW11X2RldmljZXMoc3RydWN0IGFtZF9pb21tdSAqaW9tbXUpCit7CisJdTE2IGk7CisKKwlmb3IgKGkgPSBpb21tdS0+Zmlyc3RfZGV2aWNlOyBpIDw9IGlvbW11LT5sYXN0X2RldmljZTsgKytpKQorCQlzZXRfaW9tbXVfZm9yX2RldmljZShpb21tdSwgaSk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgX19pbml0IGZyZWVfaW9tbXVfb25lKHN0cnVjdCBhbWRfaW9tbXUgKmlvbW11KQoreworCWZyZWVfY29tbWFuZF9idWZmZXIoaW9tbXUpOworCWlvbW11X3VubWFwX21taW9fc3BhY2UoaW9tbXUpOworfQorCitzdGF0aWMgdm9pZCBfX2luaXQgZnJlZV9pb21tdV9hbGwodm9pZCkKK3sKKwlzdHJ1Y3QgYW1kX2lvbW11ICppb21tdSwgKm5leHQ7CisKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUoaW9tbXUsIG5leHQsICZhbWRfaW9tbXVfbGlzdCwgbGlzdCkgeworCQlsaXN0X2RlbCgmaW9tbXUtPmxpc3QpOworCQlmcmVlX2lvbW11X29uZShpb21tdSk7CisJCWtmcmVlKGlvbW11KTsKKwl9Cit9CisKK3N0YXRpYyBpbnQgX19pbml0IGluaXRfaW9tbXVfb25lKHN0cnVjdCBhbWRfaW9tbXUgKmlvbW11LCBzdHJ1Y3QgaXZoZF9oZWFkZXIgKmgpCit7CisJc3Bpbl9sb2NrX2luaXQoJmlvbW11LT5sb2NrKTsKKwlsaXN0X2FkZF90YWlsKCZpb21tdS0+bGlzdCwgJmFtZF9pb21tdV9saXN0KTsKKworCS8qCisJICogQ29weSBkYXRhIGZyb20gQUNQSSB0YWJsZSBlbnRyeSB0byB0aGUgaW9tbXUgc3RydWN0CisJICovCisJaW9tbXUtPmRldmlkID0gaC0+ZGV2aWQ7CisJaW9tbXUtPmNhcF9wdHIgPSBoLT5jYXBfcHRyOworCWlvbW11LT5tbWlvX3BoeXMgPSBoLT5tbWlvX3BoeXM7CisJaW9tbXUtPm1taW9fYmFzZSA9IGlvbW11X21hcF9tbWlvX3NwYWNlKGgtPm1taW9fcGh5cyk7CisJaWYgKCFpb21tdS0+bW1pb19iYXNlKQorCQlyZXR1cm4gLUVOT01FTTsKKworCWlvbW11X3NldF9kZXZpY2VfdGFibGUoaW9tbXUpOworCWlvbW11LT5jbWRfYnVmID0gYWxsb2NfY29tbWFuZF9idWZmZXIoaW9tbXUpOworCWlmICghaW9tbXUtPmNtZF9idWYpCisJCXJldHVybiAtRU5PTUVNOworCisJaW5pdF9pb21tdV9mcm9tX3BjaShpb21tdSk7CisJaW5pdF9pb21tdV9mcm9tX2FjcGkoaW9tbXUsIGgpOworCWluaXRfaW9tbXVfZGV2aWNlcyhpb21tdSk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBfX2luaXQgaW5pdF9pb21tdV9hbGwoc3RydWN0IGFjcGlfdGFibGVfaGVhZGVyICp0YWJsZSkKK3sKKwl1OCAqcCA9ICh1OCAqKXRhYmxlLCAqZW5kID0gKHU4ICopdGFibGU7CisJc3RydWN0IGl2aGRfaGVhZGVyICpoOworCXN0cnVjdCBhbWRfaW9tbXUgKmlvbW11OworCWludCByZXQ7CisKKwlJTklUX0xJU1RfSEVBRCgmYW1kX2lvbW11X2xpc3QpOworCisJZW5kICs9IHRhYmxlLT5sZW5ndGg7CisJcCArPSBJVlJTX0hFQURFUl9MRU5HVEg7CisKKwl3aGlsZSAocCA8IGVuZCkgeworCQloID0gKHN0cnVjdCBpdmhkX2hlYWRlciAqKXA7CisJCXN3aXRjaCAoKnApIHsKKwkJY2FzZSBBQ1BJX0lWSERfVFlQRToKKwkJCWlvbW11ID0ga3phbGxvYyhzaXplb2Yoc3RydWN0IGFtZF9pb21tdSksIEdGUF9LRVJORUwpOworCQkJaWYgKGlvbW11ID09IE5VTEwpCisJCQkJcmV0dXJuIC1FTk9NRU07CisJCQlyZXQgPSBpbml0X2lvbW11X29uZShpb21tdSwgaCk7CisJCQlpZiAocmV0KQorCQkJCXJldHVybiByZXQ7CisJCQlicmVhazsKKwkJZGVmYXVsdDoKKwkJCWJyZWFrOworCQl9CisJCXAgKz0gaC0+bGVuZ3RoOworCisJfQorCVdBUk5fT04ocCAhPSBlbmQpOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIF9faW5pdCBmcmVlX3VuaXR5X21hcHModm9pZCkKK3sKKwlzdHJ1Y3QgdW5pdHlfbWFwX2VudHJ5ICplbnRyeSwgKm5leHQ7CisKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUoZW50cnksIG5leHQsICZhbWRfaW9tbXVfdW5pdHlfbWFwLCBsaXN0KSB7CisJCWxpc3RfZGVsKCZlbnRyeS0+bGlzdCk7CisJCWtmcmVlKGVudHJ5KTsKKwl9Cit9CisKK3N0YXRpYyBpbnQgX19pbml0IGluaXRfZXhjbHVzaW9uX3JhbmdlKHN0cnVjdCBpdm1kX2hlYWRlciAqbSkKK3sKKwlpbnQgaTsKKworCXN3aXRjaCAobS0+dHlwZSkgeworCWNhc2UgQUNQSV9JVk1EX1RZUEU6CisJCXNldF9kZXZpY2VfZXhjbHVzaW9uX3JhbmdlKG0tPmRldmlkLCBtKTsKKwkJYnJlYWs7CisJY2FzZSBBQ1BJX0lWTURfVFlQRV9BTEw6CisJCWZvciAoaSA9IDA7IGkgPCBhbWRfaW9tbXVfbGFzdF9iZGY7ICsraSkKKwkJCXNldF9kZXZpY2VfZXhjbHVzaW9uX3JhbmdlKGksIG0pOworCQlicmVhazsKKwljYXNlIEFDUElfSVZNRF9UWVBFX1JBTkdFOgorCQlmb3IgKGkgPSBtLT5kZXZpZDsgaSA8PSBtLT5hdXg7ICsraSkKKwkJCXNldF9kZXZpY2VfZXhjbHVzaW9uX3JhbmdlKGksIG0pOworCQlicmVhazsKKwlkZWZhdWx0OgorCQlicmVhazsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBfX2luaXQgaW5pdF91bml0eV9tYXBfcmFuZ2Uoc3RydWN0IGl2bWRfaGVhZGVyICptKQoreworCXN0cnVjdCB1bml0eV9tYXBfZW50cnkgKmUgPSAwOworCisJZSA9IGt6YWxsb2Moc2l6ZW9mKCplKSwgR0ZQX0tFUk5FTCk7CisJaWYgKGUgPT0gTlVMTCkKKwkJcmV0dXJuIC1FTk9NRU07CisKKwlzd2l0Y2ggKG0tPnR5cGUpIHsKKwlkZWZhdWx0OgorCWNhc2UgQUNQSV9JVk1EX1RZUEU6CisJCWUtPmRldmlkX3N0YXJ0ID0gZS0+ZGV2aWRfZW5kID0gbS0+ZGV2aWQ7CisJCWJyZWFrOworCWNhc2UgQUNQSV9JVk1EX1RZUEVfQUxMOgorCQllLT5kZXZpZF9zdGFydCA9IDA7CisJCWUtPmRldmlkX2VuZCA9IGFtZF9pb21tdV9sYXN0X2JkZjsKKwkJYnJlYWs7CisJY2FzZSBBQ1BJX0lWTURfVFlQRV9SQU5HRToKKwkJZS0+ZGV2aWRfc3RhcnQgPSBtLT5kZXZpZDsKKwkJZS0+ZGV2aWRfZW5kID0gbS0+YXV4OworCQlicmVhazsKKwl9CisJZS0+YWRkcmVzc19zdGFydCA9IFBBR0VfQUxJR04obS0+cmFuZ2Vfc3RhcnQpOworCWUtPmFkZHJlc3NfZW5kID0gZS0+YWRkcmVzc19zdGFydCArIFBBR0VfQUxJR04obS0+cmFuZ2VfbGVuZ3RoKTsKKwllLT5wcm90ID0gbS0+ZmxhZ3MgPj4gMTsKKworCWxpc3RfYWRkX3RhaWwoJmUtPmxpc3QsICZhbWRfaW9tbXVfdW5pdHlfbWFwKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IF9faW5pdCBpbml0X21lbW9yeV9kZWZpbml0aW9ucyhzdHJ1Y3QgYWNwaV90YWJsZV9oZWFkZXIgKnRhYmxlKQoreworCXU4ICpwID0gKHU4ICopdGFibGUsICplbmQgPSAodTggKil0YWJsZTsKKwlzdHJ1Y3QgaXZtZF9oZWFkZXIgKm07CisKKwlJTklUX0xJU1RfSEVBRCgmYW1kX2lvbW11X3VuaXR5X21hcCk7CisKKwllbmQgKz0gdGFibGUtPmxlbmd0aDsKKwlwICs9IElWUlNfSEVBREVSX0xFTkdUSDsKKworCXdoaWxlIChwIDwgZW5kKSB7CisJCW0gPSAoc3RydWN0IGl2bWRfaGVhZGVyICopcDsKKwkJaWYgKG0tPmZsYWdzICYgSVZNRF9GTEFHX0VYQ0xfUkFOR0UpCisJCQlpbml0X2V4Y2x1c2lvbl9yYW5nZShtKTsKKwkJZWxzZSBpZiAobS0+ZmxhZ3MgJiBJVk1EX0ZMQUdfVU5JVFlfTUFQKQorCQkJaW5pdF91bml0eV9tYXBfcmFuZ2UobSk7CisKKwkJcCArPSBtLT5sZW5ndGg7CisJfQorCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIF9faW5pdCBlbmFibGVfaW9tbXVzKHZvaWQpCit7CisJc3RydWN0IGFtZF9pb21tdSAqaW9tbXU7CisKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5KGlvbW11LCAmYW1kX2lvbW11X2xpc3QsIGxpc3QpIHsKKwkJaW9tbXVfc2V0X2V4Y2x1c2lvbl9yYW5nZShpb21tdSk7CisJCWlvbW11X2VuYWJsZShpb21tdSk7CisJfQorfQorCisvKgorICogU3VzcGVuZC9SZXN1bWUgc3VwcG9ydAorICogZGlzYWJsZSBzdXNwZW5kIHVudGlsIHJlYWwgcmVzdW1lIGltcGxlbWVudGVkCisgKi8KKworc3RhdGljIGludCBhbWRfaW9tbXVfcmVzdW1lKHN0cnVjdCBzeXNfZGV2aWNlICpkZXYpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgYW1kX2lvbW11X3N1c3BlbmQoc3RydWN0IHN5c19kZXZpY2UgKmRldiwgcG1fbWVzc2FnZV90IHN0YXRlKQoreworCXJldHVybiAtRUlOVkFMOworfQorCitzdGF0aWMgc3RydWN0IHN5c2Rldl9jbGFzcyBhbWRfaW9tbXVfc3lzZGV2X2NsYXNzID0geworCS5uYW1lID0gImFtZF9pb21tdSIsCisJLnN1c3BlbmQgPSBhbWRfaW9tbXVfc3VzcGVuZCwKKwkucmVzdW1lID0gYW1kX2lvbW11X3Jlc3VtZSwKK307CisKK3N0YXRpYyBzdHJ1Y3Qgc3lzX2RldmljZSBkZXZpY2VfYW1kX2lvbW11ID0geworCS5pZCA9IDAsCisJLmNscyA9ICZhbWRfaW9tbXVfc3lzZGV2X2NsYXNzLAorfTsKKworaW50IF9faW5pdCBhbWRfaW9tbXVfaW5pdCh2b2lkKQoreworCWludCBpLCByZXQgPSAwOworCisKKwlpZiAobm9faW9tbXUpIHsKKwkJcHJpbnRrKEtFUk5fSU5GTyAiQU1EIElPTU1VIGRpc2FibGVkIGJ5IGtlcm5lbCBjb21tYW5kIGxpbmVcbiIpOworCQlyZXR1cm4gMDsKKwl9CisKKwlpZiAoIWFtZF9pb21tdV9kZXRlY3RlZCkKKwkJcmV0dXJuIC1FTk9ERVY7CisKKwkvKgorCSAqIEZpcnN0IHBhcnNlIEFDUEkgdGFibGVzIHRvIGZpbmQgdGhlIGxhcmdlc3QgQnVzL0Rldi9GdW5jCisJICogd2UgbmVlZCB0byBoYW5kbGUuIFVwb24gdGhpcyBpbmZvcm1hdGlvbiB0aGUgc2hhcmVkIGRhdGEKKwkgKiBzdHJ1Y3R1cmVzIGZvciB0aGUgSU9NTVVzIGluIHRoZSBzeXN0ZW0gd2lsbCBiZSBhbGxvY2F0ZWQKKwkgKi8KKwlpZiAoYWNwaV90YWJsZV9wYXJzZSgiSVZSUyIsIGZpbmRfbGFzdF9kZXZpZF9hY3BpKSAhPSAwKQorCQlyZXR1cm4gLUVOT0RFVjsKKworCWRldl90YWJsZV9zaXplICAgICA9IFRCTF9TSVpFKERFVl9UQUJMRV9FTlRSWV9TSVpFKTsKKwlhbGlhc190YWJsZV9zaXplICAgPSBUQkxfU0laRShBTElBU19UQUJMRV9FTlRSWV9TSVpFKTsKKwlybG9va3VwX3RhYmxlX3NpemUgPSBUQkxfU0laRShSTE9PS1VQX1RBQkxFX0VOVFJZX1NJWkUpOworCisJcmV0ID0gLUVOT01FTTsKKworCS8qIERldmljZSB0YWJsZSAtIGRpcmVjdGx5IHVzZWQgYnkgYWxsIElPTU1VcyAqLworCWFtZF9pb21tdV9kZXZfdGFibGUgPSAodm9pZCAqKV9fZ2V0X2ZyZWVfcGFnZXMoR0ZQX0tFUk5FTCwKKwkJCQkgICAgICBnZXRfb3JkZXIoZGV2X3RhYmxlX3NpemUpKTsKKwlpZiAoYW1kX2lvbW11X2Rldl90YWJsZSA9PSBOVUxMKQorCQlnb3RvIG91dDsKKworCS8qCisJICogQWxpYXMgdGFibGUgLSBtYXAgUENJIEJ1cy9EZXYvRnVuYyB0byBCdXMvRGV2L0Z1bmMgdGhlCisJICogSU9NTVUgc2VlIGZvciB0aGF0IGRldmljZQorCSAqLworCWFtZF9pb21tdV9hbGlhc190YWJsZSA9ICh2b2lkICopX19nZXRfZnJlZV9wYWdlcyhHRlBfS0VSTkVMLAorCQkJZ2V0X29yZGVyKGFsaWFzX3RhYmxlX3NpemUpKTsKKwlpZiAoYW1kX2lvbW11X2FsaWFzX3RhYmxlID09IE5VTEwpCisJCWdvdG8gZnJlZTsKKworCS8qIElPTU1VIHJsb29rdXAgdGFibGUgLSBmaW5kIHRoZSBJT01NVSBmb3IgYSBzcGVjaWZpYyBkZXZpY2UgKi8KKwlhbWRfaW9tbXVfcmxvb2t1cF90YWJsZSA9ICh2b2lkICopX19nZXRfZnJlZV9wYWdlcyhHRlBfS0VSTkVMLAorCQkJZ2V0X29yZGVyKHJsb29rdXBfdGFibGVfc2l6ZSkpOworCWlmIChhbWRfaW9tbXVfcmxvb2t1cF90YWJsZSA9PSBOVUxMKQorCQlnb3RvIGZyZWU7CisKKwkvKgorCSAqIFByb3RlY3Rpb24gRG9tYWluIHRhYmxlIC0gbWFwcyBkZXZpY2VzIHRvIHByb3RlY3Rpb24gZG9tYWlucworCSAqIFRoaXMgdGFibGUgaGFzIHRoZSBzYW1lIHNpemUgYXMgdGhlIHJsb29rdXBfdGFibGUKKwkgKi8KKwlhbWRfaW9tbXVfcGRfdGFibGUgPSAodm9pZCAqKV9fZ2V0X2ZyZWVfcGFnZXMoR0ZQX0tFUk5FTCwKKwkJCQkgICAgIGdldF9vcmRlcihybG9va3VwX3RhYmxlX3NpemUpKTsKKwlpZiAoYW1kX2lvbW11X3BkX3RhYmxlID09IE5VTEwpCisJCWdvdG8gZnJlZTsKKworCWFtZF9pb21tdV9wZF9hbGxvY19iaXRtYXAgPSAodm9pZCAqKV9fZ2V0X2ZyZWVfcGFnZXMoR0ZQX0tFUk5FTCwKKwkJCQkJICAgIGdldF9vcmRlcihNQVhfRE9NQUlOX0lELzgpKTsKKwlpZiAoYW1kX2lvbW11X3BkX2FsbG9jX2JpdG1hcCA9PSBOVUxMKQorCQlnb3RvIGZyZWU7CisKKwkvKgorCSAqIG1lbW9yeSBpcyBhbGxvY2F0ZWQgbm93OyBpbml0aWFsaXplIHRoZSBkZXZpY2UgdGFibGUgd2l0aCBhbGwgemVyb2VzCisJICogYW5kIGxldCBhbGwgYWxpYXMgZW50cmllcyBwb2ludCB0byBpdHNlbGYKKwkgKi8KKwltZW1zZXQoYW1kX2lvbW11X2Rldl90YWJsZSwgMCwgZGV2X3RhYmxlX3NpemUpOworCWZvciAoaSA9IDA7IGkgPCBhbWRfaW9tbXVfbGFzdF9iZGY7ICsraSkKKwkJYW1kX2lvbW11X2FsaWFzX3RhYmxlW2ldID0gaTsKKworCW1lbXNldChhbWRfaW9tbXVfcGRfdGFibGUsIDAsIHJsb29rdXBfdGFibGVfc2l6ZSk7CisJbWVtc2V0KGFtZF9pb21tdV9wZF9hbGxvY19iaXRtYXAsIDAsIE1BWF9ET01BSU5fSUQgLyA4KTsKKworCS8qCisJICogbmV2ZXIgYWxsb2NhdGUgZG9tYWluIDAgYmVjYXVzZSBpdHMgdXNlZCBhcyB0aGUgbm9uLWFsbG9jYXRlZCBhbmQKKwkgKiBlcnJvciB2YWx1ZSBwbGFjZWhvbGRlcgorCSAqLworCWFtZF9pb21tdV9wZF9hbGxvY19iaXRtYXBbMF0gPSAxOworCisJLyoKKwkgKiBub3cgdGhlIGRhdGEgc3RydWN0dXJlcyBhcmUgYWxsb2NhdGVkIGFuZCBiYXNpY2FsbHkgaW5pdGlhbGl6ZWQKKwkgKiBzdGFydCB0aGUgcmVhbCBhY3BpIHRhYmxlIHNjYW4KKwkgKi8KKwlyZXQgPSAtRU5PREVWOworCWlmIChhY3BpX3RhYmxlX3BhcnNlKCJJVlJTIiwgaW5pdF9pb21tdV9hbGwpICE9IDApCisJCWdvdG8gZnJlZTsKKworCWlmIChhY3BpX3RhYmxlX3BhcnNlKCJJVlJTIiwgaW5pdF9tZW1vcnlfZGVmaW5pdGlvbnMpICE9IDApCisJCWdvdG8gZnJlZTsKKworCXJldCA9IGFtZF9pb21tdV9pbml0X2RtYV9vcHMoKTsKKwlpZiAocmV0KQorCQlnb3RvIGZyZWU7CisKKwlyZXQgPSBzeXNkZXZfY2xhc3NfcmVnaXN0ZXIoJmFtZF9pb21tdV9zeXNkZXZfY2xhc3MpOworCWlmIChyZXQpCisJCWdvdG8gZnJlZTsKKworCXJldCA9IHN5c2Rldl9yZWdpc3RlcigmZGV2aWNlX2FtZF9pb21tdSk7CisJaWYgKHJldCkKKwkJZ290byBmcmVlOworCisJZW5hYmxlX2lvbW11cygpOworCisJcHJpbnRrKEtFUk5fSU5GTyAiQU1EIElPTU1VOiBhcGVydHVyZSBzaXplIGlzICVkIE1CXG4iLAorCQkJKDEgPDwgKGFtZF9pb21tdV9hcGVydHVyZV9vcmRlci0yMCkpKTsKKworCXByaW50ayhLRVJOX0lORk8gIkFNRCBJT01NVTogZGV2aWNlIGlzb2xhdGlvbiAiKTsKKwlpZiAoYW1kX2lvbW11X2lzb2xhdGUpCisJCXByaW50aygiZW5hYmxlZFxuIik7CisJZWxzZQorCQlwcmludGsoImRpc2FibGVkXG4iKTsKKworb3V0OgorCXJldHVybiByZXQ7CisKK2ZyZWU6CisJaWYgKGFtZF9pb21tdV9wZF9hbGxvY19iaXRtYXApCisJCWZyZWVfcGFnZXMoKHVuc2lnbmVkIGxvbmcpYW1kX2lvbW11X3BkX2FsbG9jX2JpdG1hcCwgMSk7CisKKwlpZiAoYW1kX2lvbW11X3BkX3RhYmxlKQorCQlmcmVlX3BhZ2VzKCh1bnNpZ25lZCBsb25nKWFtZF9pb21tdV9wZF90YWJsZSwKKwkJCQlnZXRfb3JkZXIocmxvb2t1cF90YWJsZV9zaXplKSk7CisKKwlpZiAoYW1kX2lvbW11X3Jsb29rdXBfdGFibGUpCisJCWZyZWVfcGFnZXMoKHVuc2lnbmVkIGxvbmcpYW1kX2lvbW11X3Jsb29rdXBfdGFibGUsCisJCQkJZ2V0X29yZGVyKHJsb29rdXBfdGFibGVfc2l6ZSkpOworCisJaWYgKGFtZF9pb21tdV9hbGlhc190YWJsZSkKKwkJZnJlZV9wYWdlcygodW5zaWduZWQgbG9uZylhbWRfaW9tbXVfYWxpYXNfdGFibGUsCisJCQkJZ2V0X29yZGVyKGFsaWFzX3RhYmxlX3NpemUpKTsKKworCWlmIChhbWRfaW9tbXVfZGV2X3RhYmxlKQorCQlmcmVlX3BhZ2VzKCh1bnNpZ25lZCBsb25nKWFtZF9pb21tdV9kZXZfdGFibGUsCisJCQkJZ2V0X29yZGVyKGRldl90YWJsZV9zaXplKSk7CisKKwlmcmVlX2lvbW11X2FsbCgpOworCisJZnJlZV91bml0eV9tYXBzKCk7CisKKwlnb3RvIG91dDsKK30KKworc3RhdGljIGludCBfX2luaXQgZWFybHlfYW1kX2lvbW11X2RldGVjdChzdHJ1Y3QgYWNwaV90YWJsZV9oZWFkZXIgKnRhYmxlKQoreworCXJldHVybiAwOworfQorCit2b2lkIF9faW5pdCBhbWRfaW9tbXVfZGV0ZWN0KHZvaWQpCit7CisJaWYgKHN3aW90bGIgfHwgbm9faW9tbXUgfHwgaW9tbXVfZGV0ZWN0ZWQpCisJCXJldHVybjsKKworCWlmIChhY3BpX3RhYmxlX3BhcnNlKCJJVlJTIiwgZWFybHlfYW1kX2lvbW11X2RldGVjdCkgPT0gMCkgeworCQlpb21tdV9kZXRlY3RlZCA9IDE7CisJCWFtZF9pb21tdV9kZXRlY3RlZCA9IDE7CisjaWZkZWYgQ09ORklHX0dBUlRfSU9NTVUKKwkJZ2FydF9pb21tdV9hcGVydHVyZV9kaXNhYmxlZCA9IDE7CisJCWdhcnRfaW9tbXVfYXBlcnR1cmUgPSAwOworI2VuZGlmCisJfQorfQorCitzdGF0aWMgaW50IF9faW5pdCBwYXJzZV9hbWRfaW9tbXVfb3B0aW9ucyhjaGFyICpzdHIpCit7CisJZm9yICg7ICpzdHI7ICsrc3RyKSB7CisJCWlmIChzdHJjbXAoc3RyLCAiaXNvbGF0ZSIpID09IDApCisJCQlhbWRfaW9tbXVfaXNvbGF0ZSA9IDE7CisJfQorCisJcmV0dXJuIDE7Cit9CisKK3N0YXRpYyBpbnQgX19pbml0IHBhcnNlX2FtZF9pb21tdV9zaXplX29wdGlvbnMoY2hhciAqc3RyKQoreworCWZvciAoOyAqc3RyOyArK3N0cikgeworCQlpZiAoc3RyY21wKHN0ciwgIjMyTSIpID09IDApCisJCQlhbWRfaW9tbXVfYXBlcnR1cmVfb3JkZXIgPSAyNTsKKwkJaWYgKHN0cmNtcChzdHIsICI2NE0iKSA9PSAwKQorCQkJYW1kX2lvbW11X2FwZXJ0dXJlX29yZGVyID0gMjY7CisJCWlmIChzdHJjbXAoc3RyLCAiMTI4TSIpID09IDApCisJCQlhbWRfaW9tbXVfYXBlcnR1cmVfb3JkZXIgPSAyNzsKKwkJaWYgKHN0cmNtcChzdHIsICIyNTZNIikgPT0gMCkKKwkJCWFtZF9pb21tdV9hcGVydHVyZV9vcmRlciA9IDI4OworCQlpZiAoc3RyY21wKHN0ciwgIjUxMk0iKSA9PSAwKQorCQkJYW1kX2lvbW11X2FwZXJ0dXJlX29yZGVyID0gMjk7CisJCWlmIChzdHJjbXAoc3RyLCAiMUciKSA9PSAwKQorCQkJYW1kX2lvbW11X2FwZXJ0dXJlX29yZGVyID0gMzA7CisJfQorCisJcmV0dXJuIDE7Cit9CisKK19fc2V0dXAoImFtZF9pb21tdT0iLCBwYXJzZV9hbWRfaW9tbXVfb3B0aW9ucyk7CitfX3NldHVwKCJhbWRfaW9tbXVfc2l6ZT0iLCBwYXJzZV9hbWRfaW9tbXVfc2l6ZV9vcHRpb25zKTsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9hcGVydHVyZV82NC5jIGIvYXJjaC94ODYva2VybmVsL2FwZXJ0dXJlXzY0LmMKaW5kZXggNDc5OTI2ZC4uOWY5MDc4MCAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL2FwZXJ0dXJlXzY0LmMKKysrIGIvYXJjaC94ODYva2VybmVsL2FwZXJ0dXJlXzY0LmMKQEAgLTM1LDYgKzM1LDE4IEBACiAKIGludCBmaXhfYXBlcnR1cmUgX19pbml0ZGF0YSA9IDE7CiAKK3N0cnVjdCBidXNfZGV2X3JhbmdlIHsKKwlpbnQgYnVzOworCWludCBkZXZfYmFzZTsKKwlpbnQgZGV2X2xpbWl0OworfTsKKworc3RhdGljIHN0cnVjdCBidXNfZGV2X3JhbmdlIGJ1c19kZXZfcmFuZ2VzW10gX19pbml0ZGF0YSA9IHsKKwl7IDB4MDAsIDB4MTgsIDB4MjB9LAorCXsgMHhmZiwgMHgwMCwgMHgyMH0sCisJeyAweGZlLCAweDAwLCAweDIwfQorfTsKKwogc3RhdGljIHN0cnVjdCByZXNvdXJjZSBnYXJ0X3Jlc291cmNlID0gewogCS5uYW1lCT0gIkdBUlQiLAogCS5mbGFncwk9IElPUkVTT1VSQ0VfTUVNLApAQCAtNTUsOCArNjcsOSBAQAogCXUzMiBhcGVyX3NpemU7CiAJdm9pZCAqcDsKIAotCWlmIChmYWxsYmFja19hcGVyX29yZGVyID4gNykKLQkJZmFsbGJhY2tfYXBlcl9vcmRlciA9IDc7CisJLyogYXBlcl9zaXplIHNob3VsZCA8PSAxRyAqLworCWlmIChmYWxsYmFja19hcGVyX29yZGVyID4gNSkKKwkJZmFsbGJhY2tfYXBlcl9vcmRlciA9IDU7CiAJYXBlcl9zaXplID0gKDMyICogMTAyNCAqIDEwMjQpIDw8IGZhbGxiYWNrX2FwZXJfb3JkZXI7CiAKIAkvKgpAQCAtNjUsNyArNzgsMjAgQEAKIAkgKiBtZW1vcnkuIFVuZm9ydHVuYXRlbHkgd2UgY2Fubm90IG1vdmUgaXQgdXAgYmVjYXVzZSB0aGF0IHdvdWxkCiAJICogbWFrZSB0aGUgSU9NTVUgdXNlbGVzcy4KIAkgKi8KLQlwID0gX19hbGxvY19ib290bWVtX25vcGFuaWMoYXBlcl9zaXplLCBhcGVyX3NpemUsIDApOworCS8qCisJICogdXNpbmcgNTEyTSBhcyBnb2FsLCBpbiBjYXNlIGtleGVjIHdpbGwgbG9hZCBrZXJuZWxfYmlnCisJICogdGhhdCB3aWxsIGRvIHRoZSBvbiBwb3NpdGlvbiBkZWNvbXByZXNzLCBhbmQgIGNvdWxkIG92ZXJsYXAgd2l0aAorCSAqIHRoYXQgcG9zaXRvbiB3aXRoIGdhcnQgdGhhdCBpcyB1c2VkLgorCSAqIHNlcXVlbmRlOgorCSAqIGtlcm5lbF9zbWFsbAorCSAqID09PiBrZXhlYyAod2l0aCBrZHVtcCB0cmlnZ2VyIHBhdGggb3IgcHJldmlvdXMgZG9lc24ndCBzaHV0ZG93biBnYXJ0KQorCSAqID09PiBrZXJuZWxfc21hbGwoZ2FydCBhcmVhIGJlY29tZSBlODIwX3Jlc2VydmVkKQorCSAqID09PiBrZXhlYyAod2l0aCBrZHVtcCB0cmlnZ2VyIHBhdGggb3IgcHJldmlvdXMgZG9lc24ndCBzaHV0ZG93biBnYXJ0KQorCSAqID09PiBrZXJuZV9iaWcgKHVuY29tcHJlc3NlZCBzaXplIHdpbGwgYmUgYmlnIHRoYW4gNjRNIG9yIDEyOE0pCisJICogc28gZG9uJ3QgdXNlIDUxMk0gYmVsb3cgYXMgZ2FydCBpb21tdSwgbGVhdmUgdGhlIHNwYWNlIGZvciBrZXJuZWwKKwkgKiBjb2RlIGZvciBzYWZlCisJICovCisJcCA9IF9fYWxsb2NfYm9vdG1lbV9ub3BhbmljKGFwZXJfc2l6ZSwgYXBlcl9zaXplLCA1MTJVTEw8PDIwKTsKIAlpZiAoIXAgfHwgX19wYShwKSthcGVyX3NpemUgPiAweGZmZmZmZmZmKSB7CiAJCXByaW50ayhLRVJOX0VSUgogCQkJIkNhbm5vdCBhbGxvY2F0ZSBhcGVydHVyZSBtZW1vcnkgaG9sZSAoJXAsJXVLKVxuIiwKQEAgLTgzLDY5ICsxMDksNTMgQEAKIAlyZXR1cm4gKHUzMilfX3BhKHApOwogfQogCi1zdGF0aWMgaW50IF9faW5pdCBhcGVydHVyZV92YWxpZCh1NjQgYXBlcl9iYXNlLCB1MzIgYXBlcl9zaXplKQotewotCWlmICghYXBlcl9iYXNlKQotCQlyZXR1cm4gMDsKLQotCWlmIChhcGVyX2Jhc2UgKyBhcGVyX3NpemUgPiAweDEwMDAwMDAwMFVMKSB7Ci0JCXByaW50ayhLRVJOX0VSUiAiQXBlcnR1cmUgYmV5b25kIDRHQi4gSWdub3JpbmcuXG4iKTsKLQkJcmV0dXJuIDA7Ci0JfQotCWlmIChlODIwX2FueV9tYXBwZWQoYXBlcl9iYXNlLCBhcGVyX2Jhc2UgKyBhcGVyX3NpemUsIEU4MjBfUkFNKSkgewotCQlwcmludGsoS0VSTl9FUlIgIkFwZXJ0dXJlIHBvaW50aW5nIHRvIGU4MjAgUkFNLiBJZ25vcmluZy5cbiIpOwotCQlyZXR1cm4gMDsKLQl9Ci0JaWYgKGFwZXJfc2l6ZSA8IDY0KjEwMjQqMTAyNCkgewotCQlwcmludGsoS0VSTl9FUlIgIkFwZXJ0dXJlIHRvbyBzbWFsbCAoJWQgTUIpXG4iLCBhcGVyX3NpemU+PjIwKTsKLQkJcmV0dXJuIDA7Ci0JfQotCi0JcmV0dXJuIDE7Ci19CiAKIC8qIEZpbmQgYSBQQ0kgY2FwYWJpbGl0eSAqLwotc3RhdGljIF9fdTMyIF9faW5pdCBmaW5kX2NhcChpbnQgbnVtLCBpbnQgc2xvdCwgaW50IGZ1bmMsIGludCBjYXApCitzdGF0aWMgdTMyIF9faW5pdCBmaW5kX2NhcChpbnQgYnVzLCBpbnQgc2xvdCwgaW50IGZ1bmMsIGludCBjYXApCiB7CiAJaW50IGJ5dGVzOwogCXU4IHBvczsKIAotCWlmICghKHJlYWRfcGNpX2NvbmZpZ18xNihudW0sIHNsb3QsIGZ1bmMsIFBDSV9TVEFUVVMpICYKKwlpZiAoIShyZWFkX3BjaV9jb25maWdfMTYoYnVzLCBzbG90LCBmdW5jLCBQQ0lfU1RBVFVTKSAmCiAJCQkJCQlQQ0lfU1RBVFVTX0NBUF9MSVNUKSkKIAkJcmV0dXJuIDA7CiAKLQlwb3MgPSByZWFkX3BjaV9jb25maWdfYnl0ZShudW0sIHNsb3QsIGZ1bmMsIFBDSV9DQVBBQklMSVRZX0xJU1QpOworCXBvcyA9IHJlYWRfcGNpX2NvbmZpZ19ieXRlKGJ1cywgc2xvdCwgZnVuYywgUENJX0NBUEFCSUxJVFlfTElTVCk7CiAJZm9yIChieXRlcyA9IDA7IGJ5dGVzIDwgNDggJiYgcG9zID49IDB4NDA7IGJ5dGVzKyspIHsKIAkJdTggaWQ7CiAKIAkJcG9zICY9IH4zOwotCQlpZCA9IHJlYWRfcGNpX2NvbmZpZ19ieXRlKG51bSwgc2xvdCwgZnVuYywgcG9zK1BDSV9DQVBfTElTVF9JRCk7CisJCWlkID0gcmVhZF9wY2lfY29uZmlnX2J5dGUoYnVzLCBzbG90LCBmdW5jLCBwb3MrUENJX0NBUF9MSVNUX0lEKTsKIAkJaWYgKGlkID09IDB4ZmYpCiAJCQlicmVhazsKIAkJaWYgKGlkID09IGNhcCkKIAkJCXJldHVybiBwb3M7Ci0JCXBvcyA9IHJlYWRfcGNpX2NvbmZpZ19ieXRlKG51bSwgc2xvdCwgZnVuYywKKwkJcG9zID0gcmVhZF9wY2lfY29uZmlnX2J5dGUoYnVzLCBzbG90LCBmdW5jLAogCQkJCQkJcG9zK1BDSV9DQVBfTElTVF9ORVhUKTsKIAl9CiAJcmV0dXJuIDA7CiB9CiAKIC8qIFJlYWQgYSBzdGFuZGFyZCBBR1B2MyBicmlkZ2UgaGVhZGVyICovCi1zdGF0aWMgX191MzIgX19pbml0IHJlYWRfYWdwKGludCBudW0sIGludCBzbG90LCBpbnQgZnVuYywgaW50IGNhcCwgdTMyICpvcmRlcikKK3N0YXRpYyB1MzIgX19pbml0IHJlYWRfYWdwKGludCBidXMsIGludCBzbG90LCBpbnQgZnVuYywgaW50IGNhcCwgdTMyICpvcmRlcikKIHsKIAl1MzIgYXBzaXplOwogCXUzMiBhcHNpemVyZWc7CiAJaW50IG5iaXRzOwogCXUzMiBhcGVyX2xvdywgYXBlcl9oaTsKIAl1NjQgYXBlcjsKKwl1MzIgb2xkX29yZGVyOwogCi0JcHJpbnRrKEtFUk5fSU5GTyAiQUdQIGJyaWRnZSBhdCAlMDJ4OiUwMng6JTAyeFxuIiwgbnVtLCBzbG90LCBmdW5jKTsKLQlhcHNpemVyZWcgPSByZWFkX3BjaV9jb25maWdfMTYobnVtLCBzbG90LCBmdW5jLCBjYXAgKyAweDE0KTsKKwlwcmludGsoS0VSTl9JTkZPICJBR1AgYnJpZGdlIGF0ICUwMng6JTAyeDolMDJ4XG4iLCBidXMsIHNsb3QsIGZ1bmMpOworCWFwc2l6ZXJlZyA9IHJlYWRfcGNpX2NvbmZpZ18xNihidXMsIHNsb3QsIGZ1bmMsIGNhcCArIDB4MTQpOwogCWlmIChhcHNpemVyZWcgPT0gMHhmZmZmZmZmZikgewogCQlwcmludGsoS0VSTl9FUlIgIkFQU0laRSBpbiBBR1AgYnJpZGdlIHVucmVhZGFibGVcbiIpOwogCQlyZXR1cm4gMDsKIAl9CiAKKwkvKiBvbGRfb3JkZXIgY291bGQgYmUgdGhlIHZhbHVlIGZyb20gTkIgZ2FydCBzZXR0aW5nICovCisJb2xkX29yZGVyID0gKm9yZGVyOworCiAJYXBzaXplID0gYXBzaXplcmVnICYgMHhmZmY7CiAJLyogU29tZSBCSU9TIHVzZSB3ZWlyZCBlbmNvZGluZ3Mgbm90IGluIHRoZSBBR1B2MyB0YWJsZS4gKi8KIAlpZiAoYXBzaXplICYgMHhmZikKQEAgLTE1NSwxNCArMTY1LDI2IEBACiAJaWYgKChpbnQpKm9yZGVyIDwgMCkgLyogPCAzMk1CICovCiAJCSpvcmRlciA9IDA7CiAKLQlhcGVyX2xvdyA9IHJlYWRfcGNpX2NvbmZpZyhudW0sIHNsb3QsIGZ1bmMsIDB4MTApOwotCWFwZXJfaGkgPSByZWFkX3BjaV9jb25maWcobnVtLCBzbG90LCBmdW5jLCAweDE0KTsKKwlhcGVyX2xvdyA9IHJlYWRfcGNpX2NvbmZpZyhidXMsIHNsb3QsIGZ1bmMsIDB4MTApOworCWFwZXJfaGkgPSByZWFkX3BjaV9jb25maWcoYnVzLCBzbG90LCBmdW5jLCAweDE0KTsKIAlhcGVyID0gKGFwZXJfbG93ICYgfigoMTw8MjIpLTEpKSB8ICgodTY0KWFwZXJfaGkgPDwgMzIpOwogCisJLyoKKwkgKiBPbiBzb21lIHNpY2sgY2hpcHMsIEFQU0laRSBpcyAwLiBJdCBtZWFucyBpdCB3YW50cyA0RworCSAqIHNvIGxldCBkb3VibGUgY2hlY2sgdGhhdCBvcmRlciwgYW5kIGxldHMgdHJ1c3QgQU1EIE5CIHNldHRpbmdzOgorCSAqLworCXByaW50ayhLRVJOX0lORk8gIkFwZXJ0dXJlIGZyb20gQUdQIEAgJUx4IG9sZCBzaXplICV1IE1CXG4iLAorCQkJYXBlciwgMzIgPDwgb2xkX29yZGVyKTsKKwlpZiAoYXBlciArICgzMlVMTDw8KDIwICsgKm9yZGVyKSkgPiAweDEwMDAwMDAwMFVMTCkgeworCQlwcmludGsoS0VSTl9JTkZPICJBcGVydHVyZSBzaXplICV1IE1CIChBUFNJWkUgJXgpIGlzIG5vdCByaWdodCwgdXNpbmcgc2V0dGluZ3MgZnJvbSBOQlxuIiwKKwkJCQkzMiA8PCAqb3JkZXIsIGFwc2l6ZXJlZyk7CisJCSpvcmRlciA9IG9sZF9vcmRlcjsKKwl9CisKIAlwcmludGsoS0VSTl9JTkZPICJBcGVydHVyZSBmcm9tIEFHUCBAICVMeCBzaXplICV1IE1CIChBUFNJWkUgJXgpXG4iLAogCQkJYXBlciwgMzIgPDwgKm9yZGVyLCBhcHNpemVyZWcpOwogCi0JaWYgKCFhcGVydHVyZV92YWxpZChhcGVyLCAoMzIqMTAyNCoxMDI0KSA8PCAqb3JkZXIpKQorCWlmICghYXBlcnR1cmVfdmFsaWQoYXBlciwgKDMyKjEwMjQqMTAyNCkgPDwgKm9yZGVyLCAzMjw8MjApKQogCQlyZXR1cm4gMDsKIAlyZXR1cm4gKHUzMilhcGVyOwogfQpAQCAtMTgwLDE3ICsyMDIsMTcgQEAKICAqIHRoZSBBR1AgYnJpZGdlcyBzaG91bGQgYmUgYWx3YXlzIGFuIG93biBidXMgb24gdGhlIEhUIGhpZXJhcmNoeSwKICAqIGJ1dCBkbyBpdCBoZXJlIGZvciBmdXR1cmUgc2FmZXR5LgogICovCi1zdGF0aWMgX191MzIgX19pbml0IHNlYXJjaF9hZ3BfYnJpZGdlKHUzMiAqb3JkZXIsIGludCAqdmFsaWRfYWdwKQorc3RhdGljIHUzMiBfX2luaXQgc2VhcmNoX2FncF9icmlkZ2UodTMyICpvcmRlciwgaW50ICp2YWxpZF9hZ3ApCiB7Ci0JaW50IG51bSwgc2xvdCwgZnVuYzsKKwlpbnQgYnVzLCBzbG90LCBmdW5jOwogCiAJLyogUG9vciBtYW4ncyBQQ0kgZGlzY292ZXJ5ICovCi0JZm9yIChudW0gPSAwOyBudW0gPCAyNTY7IG51bSsrKSB7CisJZm9yIChidXMgPSAwOyBidXMgPCAyNTY7IGJ1cysrKSB7CiAJCWZvciAoc2xvdCA9IDA7IHNsb3QgPCAzMjsgc2xvdCsrKSB7CiAJCQlmb3IgKGZ1bmMgPSAwOyBmdW5jIDwgODsgZnVuYysrKSB7CiAJCQkJdTMyIGNsYXNzLCBjYXA7CiAJCQkJdTggdHlwZTsKLQkJCQljbGFzcyA9IHJlYWRfcGNpX2NvbmZpZyhudW0sIHNsb3QsIGZ1bmMsCisJCQkJY2xhc3MgPSByZWFkX3BjaV9jb25maWcoYnVzLCBzbG90LCBmdW5jLAogCQkJCQkJCVBDSV9DTEFTU19SRVZJU0lPTik7CiAJCQkJaWYgKGNsYXNzID09IDB4ZmZmZmZmZmYpCiAJCQkJCWJyZWFrOwpAQCAtMTk5LDE3ICsyMjEsMTcgQEAKIAkJCQljYXNlIFBDSV9DTEFTU19CUklER0VfSE9TVDoKIAkJCQljYXNlIFBDSV9DTEFTU19CUklER0VfT1RIRVI6IC8qIG5lZWRlZD8gKi8KIAkJCQkJLyogQUdQIGJyaWRnZT8gKi8KLQkJCQkJY2FwID0gZmluZF9jYXAobnVtLCBzbG90LCBmdW5jLAorCQkJCQljYXAgPSBmaW5kX2NhcChidXMsIHNsb3QsIGZ1bmMsCiAJCQkJCQkJUENJX0NBUF9JRF9BR1ApOwogCQkJCQlpZiAoIWNhcCkKIAkJCQkJCWJyZWFrOwogCQkJCQkqdmFsaWRfYWdwID0gMTsKLQkJCQkJcmV0dXJuIHJlYWRfYWdwKG51bSwgc2xvdCwgZnVuYywgY2FwLAorCQkJCQlyZXR1cm4gcmVhZF9hZ3AoYnVzLCBzbG90LCBmdW5jLCBjYXAsCiAJCQkJCQkJb3JkZXIpOwogCQkJCX0KIAogCQkJCS8qIE5vIG11bHRpLWZ1bmN0aW9uIGRldmljZT8gKi8KLQkJCQl0eXBlID0gcmVhZF9wY2lfY29uZmlnX2J5dGUobnVtLCBzbG90LCBmdW5jLAorCQkJCXR5cGUgPSByZWFkX3BjaV9jb25maWdfYnl0ZShidXMsIHNsb3QsIGZ1bmMsCiAJCQkJCQkJICAgICAgIFBDSV9IRUFERVJfVFlQRSk7CiAJCQkJaWYgKCEodHlwZSAmIDB4ODApKQogCQkJCQlicmVhazsKQEAgLTI0OSwzNiArMjcxLDUwIEBACiAJICogb3IgQklPUyBmb3JnZXQgdG8gcHV0IHRoYXQgaW4gcmVzZXJ2ZWQuCiAJICogdHJ5IHRvIHVwZGF0ZSBlODIwIHRvIG1ha2UgdGhhdCByZWdpb24gYXMgcmVzZXJ2ZWQuCiAJICovCi0JaW50IGZpeCwgbnVtOworCWludCBpLCBmaXgsIHNsb3Q7CiAJdTMyIGN0bDsKIAl1MzIgYXBlcl9zaXplID0gMCwgYXBlcl9vcmRlciA9IDAsIGxhc3RfYXBlcl9vcmRlciA9IDA7CiAJdTY0IGFwZXJfYmFzZSA9IDAsIGxhc3RfYXBlcl9iYXNlID0gMDsKLQlpbnQgYXBlcl9lbmFibGVkID0gMCwgbGFzdF9hcGVyX2VuYWJsZWQgPSAwOworCWludCBhcGVyX2VuYWJsZWQgPSAwLCBsYXN0X2FwZXJfZW5hYmxlZCA9IDAsIGxhc3RfdmFsaWQgPSAwOwogCiAJaWYgKCFlYXJseV9wY2lfYWxsb3dlZCgpKQogCQlyZXR1cm47CiAKKwkvKiBUaGlzIGlzIG1vc3RseSBkdXBsaWNhdGUgb2YgaW9tbXVfaG9sZV9pbml0ICovCiAJZml4ID0gMDsKLQlmb3IgKG51bSA9IDI0OyBudW0gPCAzMjsgbnVtKyspIHsKLQkJaWYgKCFlYXJseV9pc19rOF9uYihyZWFkX3BjaV9jb25maWcoMCwgbnVtLCAzLCAweDAwKSkpCi0JCQljb250aW51ZTsKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShidXNfZGV2X3Jhbmdlcyk7IGkrKykgeworCQlpbnQgYnVzOworCQlpbnQgZGV2X2Jhc2UsIGRldl9saW1pdDsKIAotCQljdGwgPSByZWFkX3BjaV9jb25maWcoMCwgbnVtLCAzLCAweDkwKTsKLQkJYXBlcl9lbmFibGVkID0gY3RsICYgMTsKLQkJYXBlcl9vcmRlciA9IChjdGwgPj4gMSkgJiA3OwotCQlhcGVyX3NpemUgPSAoMzIgKiAxMDI0ICogMTAyNCkgPDwgYXBlcl9vcmRlcjsKLQkJYXBlcl9iYXNlID0gcmVhZF9wY2lfY29uZmlnKDAsIG51bSwgMywgMHg5NCkgJiAweDdmZmY7Ci0JCWFwZXJfYmFzZSA8PD0gMjU7CisJCWJ1cyA9IGJ1c19kZXZfcmFuZ2VzW2ldLmJ1czsKKwkJZGV2X2Jhc2UgPSBidXNfZGV2X3Jhbmdlc1tpXS5kZXZfYmFzZTsKKwkJZGV2X2xpbWl0ID0gYnVzX2Rldl9yYW5nZXNbaV0uZGV2X2xpbWl0OwogCi0JCWlmICgobGFzdF9hcGVyX29yZGVyICYmIGFwZXJfb3JkZXIgIT0gbGFzdF9hcGVyX29yZGVyKSB8fAotCQkgICAgKGxhc3RfYXBlcl9iYXNlICYmIGFwZXJfYmFzZSAhPSBsYXN0X2FwZXJfYmFzZSkgfHwKLQkJICAgIChsYXN0X2FwZXJfZW5hYmxlZCAmJiBhcGVyX2VuYWJsZWQgIT0gbGFzdF9hcGVyX2VuYWJsZWQpKSB7Ci0JCQlmaXggPSAxOwotCQkJYnJlYWs7CisJCWZvciAoc2xvdCA9IGRldl9iYXNlOyBzbG90IDwgZGV2X2xpbWl0OyBzbG90KyspIHsKKwkJCWlmICghZWFybHlfaXNfazhfbmIocmVhZF9wY2lfY29uZmlnKGJ1cywgc2xvdCwgMywgMHgwMCkpKQorCQkJCWNvbnRpbnVlOworCisJCQljdGwgPSByZWFkX3BjaV9jb25maWcoYnVzLCBzbG90LCAzLCBBTUQ2NF9HQVJUQVBFUlRVUkVDVEwpOworCQkJYXBlcl9lbmFibGVkID0gY3RsICYgQU1ENjRfR0FSVEVOOworCQkJYXBlcl9vcmRlciA9IChjdGwgPj4gMSkgJiA3OworCQkJYXBlcl9zaXplID0gKDMyICogMTAyNCAqIDEwMjQpIDw8IGFwZXJfb3JkZXI7CisJCQlhcGVyX2Jhc2UgPSByZWFkX3BjaV9jb25maWcoYnVzLCBzbG90LCAzLCBBTUQ2NF9HQVJUQVBFUlRVUkVCQVNFKSAmIDB4N2ZmZjsKKwkJCWFwZXJfYmFzZSA8PD0gMjU7CisKKwkJCWlmIChsYXN0X3ZhbGlkKSB7CisJCQkJaWYgKChhcGVyX29yZGVyICE9IGxhc3RfYXBlcl9vcmRlcikgfHwKKwkJCQkgICAgKGFwZXJfYmFzZSAhPSBsYXN0X2FwZXJfYmFzZSkgfHwKKwkJCQkgICAgKGFwZXJfZW5hYmxlZCAhPSBsYXN0X2FwZXJfZW5hYmxlZCkpIHsKKwkJCQkJZml4ID0gMTsKKwkJCQkJYnJlYWs7CisJCQkJfQorCQkJfQorCisJCQlsYXN0X2FwZXJfb3JkZXIgPSBhcGVyX29yZGVyOworCQkJbGFzdF9hcGVyX2Jhc2UgPSBhcGVyX2Jhc2U7CisJCQlsYXN0X2FwZXJfZW5hYmxlZCA9IGFwZXJfZW5hYmxlZDsKKwkJCWxhc3RfdmFsaWQgPSAxOwogCQl9Ci0JCWxhc3RfYXBlcl9vcmRlciA9IGFwZXJfb3JkZXI7Ci0JCWxhc3RfYXBlcl9iYXNlID0gYXBlcl9iYXNlOwotCQlsYXN0X2FwZXJfZW5hYmxlZCA9IGFwZXJfZW5hYmxlZDsKIAl9CiAKIAlpZiAoIWZpeCAmJiAhYXBlcl9lbmFibGVkKQpAQCAtMjkwLDMyICszMjYsNDYgQEAKIAlpZiAoZ2FydF9maXhfZTgyMCAmJiAhZml4ICYmIGFwZXJfZW5hYmxlZCkgewogCQlpZiAoZTgyMF9hbnlfbWFwcGVkKGFwZXJfYmFzZSwgYXBlcl9iYXNlICsgYXBlcl9zaXplLAogCQkJCSAgICBFODIwX1JBTSkpIHsKLQkJCS8qIHJlc2VydmVkIGl0LCBzbyB3ZSBjYW4gcmVzdXNlIGl0IGluIHNlY29uZCBrZXJuZWwgKi8KKwkJCS8qIHJlc2VydmUgaXQsIHNvIHdlIGNhbiByZXVzZSBpdCBpbiBzZWNvbmQga2VybmVsICovCiAJCQlwcmludGsoS0VSTl9JTkZPICJ1cGRhdGUgZTgyMCBmb3IgR0FSVFxuIik7Ci0JCQlhZGRfbWVtb3J5X3JlZ2lvbihhcGVyX2Jhc2UsIGFwZXJfc2l6ZSwgRTgyMF9SRVNFUlZFRCk7CisJCQllODIwX2FkZF9yZWdpb24oYXBlcl9iYXNlLCBhcGVyX3NpemUsIEU4MjBfUkVTRVJWRUQpOwogCQkJdXBkYXRlX2U4MjAoKTsKIAkJfQotCQlyZXR1cm47CiAJfQogCi0JLyogZGlmZmVyZW50IG5vZGVzIGhhdmUgZGlmZmVyZW50IHNldHRpbmcsIGRpc2FibGUgdGhlbSBhbGwgYXQgZmlyc3QqLwotCWZvciAobnVtID0gMjQ7IG51bSA8IDMyOyBudW0rKykgewotCQlpZiAoIWVhcmx5X2lzX2s4X25iKHJlYWRfcGNpX2NvbmZpZygwLCBudW0sIDMsIDB4MDApKSkKLQkJCWNvbnRpbnVlOworCWlmICghZml4KQorCQlyZXR1cm47CiAKLQkJY3RsID0gcmVhZF9wY2lfY29uZmlnKDAsIG51bSwgMywgMHg5MCk7Ci0JCWN0bCAmPSB+MTsKLQkJd3JpdGVfcGNpX2NvbmZpZygwLCBudW0sIDMsIDB4OTAsIGN0bCk7CisJLyogZGlmZmVyZW50IG5vZGVzIGhhdmUgZGlmZmVyZW50IHNldHRpbmcsIGRpc2FibGUgdGhlbSBhbGwgYXQgZmlyc3QqLworCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKGJ1c19kZXZfcmFuZ2VzKTsgaSsrKSB7CisJCWludCBidXM7CisJCWludCBkZXZfYmFzZSwgZGV2X2xpbWl0OworCisJCWJ1cyA9IGJ1c19kZXZfcmFuZ2VzW2ldLmJ1czsKKwkJZGV2X2Jhc2UgPSBidXNfZGV2X3Jhbmdlc1tpXS5kZXZfYmFzZTsKKwkJZGV2X2xpbWl0ID0gYnVzX2Rldl9yYW5nZXNbaV0uZGV2X2xpbWl0OworCisJCWZvciAoc2xvdCA9IGRldl9iYXNlOyBzbG90IDwgZGV2X2xpbWl0OyBzbG90KyspIHsKKwkJCWlmICghZWFybHlfaXNfazhfbmIocmVhZF9wY2lfY29uZmlnKGJ1cywgc2xvdCwgMywgMHgwMCkpKQorCQkJCWNvbnRpbnVlOworCisJCQljdGwgPSByZWFkX3BjaV9jb25maWcoYnVzLCBzbG90LCAzLCBBTUQ2NF9HQVJUQVBFUlRVUkVDVEwpOworCQkJY3RsICY9IH5BTUQ2NF9HQVJURU47CisJCQl3cml0ZV9wY2lfY29uZmlnKGJ1cywgc2xvdCwgMywgQU1ENjRfR0FSVEFQRVJUVVJFQ1RMLCBjdGwpOworCQl9CiAJfQogCiB9CiAKK3N0YXRpYyBpbnQgX19pbml0ZGF0YSBwcmludGVkX2dhcnRfc2l6ZV9tc2c7CisKIHZvaWQgX19pbml0IGdhcnRfaW9tbXVfaG9sZV9pbml0KHZvaWQpCiB7CisJdTMyIGFncF9hcGVyX2Jhc2UgPSAwLCBhZ3BfYXBlcl9vcmRlciA9IDA7CiAJdTMyIGFwZXJfc2l6ZSwgYXBlcl9hbGxvYyA9IDAsIGFwZXJfb3JkZXIgPSAwLCBsYXN0X2FwZXJfb3JkZXIgPSAwOwogCXU2NCBhcGVyX2Jhc2UsIGxhc3RfYXBlcl9iYXNlID0gMDsKLQlpbnQgZml4LCBudW0sIHZhbGlkX2FncCA9IDA7Ci0JaW50IG5vZGU7CisJaW50IGZpeCwgc2xvdCwgdmFsaWRfYWdwID0gMDsKKwlpbnQgaSwgbm9kZTsKIAogCWlmIChnYXJ0X2lvbW11X2FwZXJ0dXJlX2Rpc2FibGVkIHx8ICFmaXhfYXBlcnR1cmUgfHwKIAkgICAgIWVhcmx5X3BjaV9hbGxvd2VkKCkpCkBAIC0zMjMsMzggKzM3Myw2NSBAQAogCiAJcHJpbnRrKEtFUk5fSU5GTyAgIkNoZWNraW5nIGFwZXJ0dXJlLi4uXG4iKTsKIAorCWlmICghZmFsbGJhY2tfYXBlcl9mb3JjZSkKKwkJYWdwX2FwZXJfYmFzZSA9IHNlYXJjaF9hZ3BfYnJpZGdlKCZhZ3BfYXBlcl9vcmRlciwgJnZhbGlkX2FncCk7CisKIAlmaXggPSAwOwogCW5vZGUgPSAwOwotCWZvciAobnVtID0gMjQ7IG51bSA8IDMyOyBudW0rKykgewotCQlpZiAoIWVhcmx5X2lzX2s4X25iKHJlYWRfcGNpX2NvbmZpZygwLCBudW0sIDMsIDB4MDApKSkKLQkJCWNvbnRpbnVlOworCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKGJ1c19kZXZfcmFuZ2VzKTsgaSsrKSB7CisJCWludCBidXM7CisJCWludCBkZXZfYmFzZSwgZGV2X2xpbWl0OwogCi0JCWlvbW11X2RldGVjdGVkID0gMTsKLQkJZ2FydF9pb21tdV9hcGVydHVyZSA9IDE7CisJCWJ1cyA9IGJ1c19kZXZfcmFuZ2VzW2ldLmJ1czsKKwkJZGV2X2Jhc2UgPSBidXNfZGV2X3Jhbmdlc1tpXS5kZXZfYmFzZTsKKwkJZGV2X2xpbWl0ID0gYnVzX2Rldl9yYW5nZXNbaV0uZGV2X2xpbWl0OwogCi0JCWFwZXJfb3JkZXIgPSAocmVhZF9wY2lfY29uZmlnKDAsIG51bSwgMywgMHg5MCkgPj4gMSkgJiA3OwotCQlhcGVyX3NpemUgPSAoMzIgKiAxMDI0ICogMTAyNCkgPDwgYXBlcl9vcmRlcjsKLQkJYXBlcl9iYXNlID0gcmVhZF9wY2lfY29uZmlnKDAsIG51bSwgMywgMHg5NCkgJiAweDdmZmY7Ci0JCWFwZXJfYmFzZSA8PD0gMjU7CisJCWZvciAoc2xvdCA9IGRldl9iYXNlOyBzbG90IDwgZGV2X2xpbWl0OyBzbG90KyspIHsKKwkJCWlmICghZWFybHlfaXNfazhfbmIocmVhZF9wY2lfY29uZmlnKGJ1cywgc2xvdCwgMywgMHgwMCkpKQorCQkJCWNvbnRpbnVlOwogCi0JCXByaW50ayhLRVJOX0lORk8gIk5vZGUgJWQ6IGFwZXJ0dXJlIEAgJUx4IHNpemUgJXUgTUJcbiIsCi0JCQkJbm9kZSwgYXBlcl9iYXNlLCBhcGVyX3NpemUgPj4gMjApOwotCQlub2RlKys7CisJCQlpb21tdV9kZXRlY3RlZCA9IDE7CisJCQlnYXJ0X2lvbW11X2FwZXJ0dXJlID0gMTsKIAotCQlpZiAoIWFwZXJ0dXJlX3ZhbGlkKGFwZXJfYmFzZSwgYXBlcl9zaXplKSkgewotCQkJZml4ID0gMTsKLQkJCWJyZWFrOworCQkJYXBlcl9vcmRlciA9IChyZWFkX3BjaV9jb25maWcoYnVzLCBzbG90LCAzLCBBTUQ2NF9HQVJUQVBFUlRVUkVDVEwpID4+IDEpICYgNzsKKwkJCWFwZXJfc2l6ZSA9ICgzMiAqIDEwMjQgKiAxMDI0KSA8PCBhcGVyX29yZGVyOworCQkJYXBlcl9iYXNlID0gcmVhZF9wY2lfY29uZmlnKGJ1cywgc2xvdCwgMywgQU1ENjRfR0FSVEFQRVJUVVJFQkFTRSkgJiAweDdmZmY7CisJCQlhcGVyX2Jhc2UgPDw9IDI1OworCisJCQlwcmludGsoS0VSTl9JTkZPICJOb2RlICVkOiBhcGVydHVyZSBAICVMeCBzaXplICV1IE1CXG4iLAorCQkJCQlub2RlLCBhcGVyX2Jhc2UsIGFwZXJfc2l6ZSA+PiAyMCk7CisJCQlub2RlKys7CisKKwkJCWlmICghYXBlcnR1cmVfdmFsaWQoYXBlcl9iYXNlLCBhcGVyX3NpemUsIDY0PDwyMCkpIHsKKwkJCQlpZiAodmFsaWRfYWdwICYmIGFncF9hcGVyX2Jhc2UgJiYKKwkJCQkgICAgYWdwX2FwZXJfYmFzZSA9PSBhcGVyX2Jhc2UgJiYKKwkJCQkgICAgYWdwX2FwZXJfb3JkZXIgPT0gYXBlcl9vcmRlcikgeworCQkJCQkvKiB0aGUgc2FtZSBiZXR3ZWVuIHR3byBzZXR0aW5nIGZyb20gTkIgYW5kIGFncCAqLworCQkJCQlpZiAoIW5vX2lvbW11ICYmCisJCQkJCSAgICBtYXhfcGZuID4gTUFYX0RNQTMyX1BGTiAmJgorCQkJCQkgICAgIXByaW50ZWRfZ2FydF9zaXplX21zZykgeworCQkJCQkJcHJpbnRrKEtFUk5fRVJSICJ5b3UgYXJlIHVzaW5nIGlvbW11IHdpdGggYWdwLCBidXQgR0FSVCBzaXplIGlzIGxlc3MgdGhhbiA2NE1cbiIpOworCQkJCQkJcHJpbnRrKEtFUk5fRVJSICJwbGVhc2UgaW5jcmVhc2UgR0FSVCBzaXplIGluIHlvdXIgQklPUyBzZXR1cFxuIik7CisJCQkJCQlwcmludGsoS0VSTl9FUlIgImlmIEJJT1MgZG9lc24ndCBoYXZlIHRoYXQgb3B0aW9uLCBjb250YWN0IHlvdXIgSFcgdmVuZG9yIVxuIik7CisJCQkJCQlwcmludGVkX2dhcnRfc2l6ZV9tc2cgPSAxOworCQkJCQl9CisJCQkJfSBlbHNlIHsKKwkJCQkJZml4ID0gMTsKKwkJCQkJZ290byBvdXQ7CisJCQkJfQorCQkJfQorCisJCQlpZiAoKGxhc3RfYXBlcl9vcmRlciAmJiBhcGVyX29yZGVyICE9IGxhc3RfYXBlcl9vcmRlcikgfHwKKwkJCSAgICAobGFzdF9hcGVyX2Jhc2UgJiYgYXBlcl9iYXNlICE9IGxhc3RfYXBlcl9iYXNlKSkgeworCQkJCWZpeCA9IDE7CisJCQkJZ290byBvdXQ7CisJCQl9CisJCQlsYXN0X2FwZXJfb3JkZXIgPSBhcGVyX29yZGVyOworCQkJbGFzdF9hcGVyX2Jhc2UgPSBhcGVyX2Jhc2U7CiAJCX0KLQotCQlpZiAoKGxhc3RfYXBlcl9vcmRlciAmJiBhcGVyX29yZGVyICE9IGxhc3RfYXBlcl9vcmRlcikgfHwKLQkJICAgIChsYXN0X2FwZXJfYmFzZSAmJiBhcGVyX2Jhc2UgIT0gbGFzdF9hcGVyX2Jhc2UpKSB7Ci0JCQlmaXggPSAxOwotCQkJYnJlYWs7Ci0JCX0KLQkJbGFzdF9hcGVyX29yZGVyID0gYXBlcl9vcmRlcjsKLQkJbGFzdF9hcGVyX2Jhc2UgPSBhcGVyX2Jhc2U7CiAJfQogCitvdXQ6CiAJaWYgKCFmaXggJiYgIWZhbGxiYWNrX2FwZXJfZm9yY2UpIHsKIAkJaWYgKGxhc3RfYXBlcl9iYXNlKSB7CiAJCQl1bnNpZ25lZCBsb25nIG4gPSAoMzIgKiAxMDI0ICogMTAyNCkgPDwgbGFzdF9hcGVyX29yZGVyOwpAQCAtMzY0LDE0ICs0NDEsMTYgQEAKIAkJcmV0dXJuOwogCX0KIAotCWlmICghZmFsbGJhY2tfYXBlcl9mb3JjZSkKLQkJYXBlcl9hbGxvYyA9IHNlYXJjaF9hZ3BfYnJpZGdlKCZhcGVyX29yZGVyLCAmdmFsaWRfYWdwKTsKKwlpZiAoIWZhbGxiYWNrX2FwZXJfZm9yY2UpIHsKKwkJYXBlcl9hbGxvYyA9IGFncF9hcGVyX2Jhc2U7CisJCWFwZXJfb3JkZXIgPSBhZ3BfYXBlcl9vcmRlcjsKKwl9CiAKIAlpZiAoYXBlcl9hbGxvYykgewogCQkvKiBHb3QgdGhlIGFwZXJ0dXJlIGZyb20gdGhlIEFHUCBicmlkZ2UgKi8KIAl9IGVsc2UgaWYgKHN3aW90bGIgJiYgIXZhbGlkX2FncCkgewogCQkvKiBEbyBub3RoaW5nICovCi0JfSBlbHNlIGlmICgoIW5vX2lvbW11ICYmIGVuZF9wZm4gPiBNQVhfRE1BMzJfUEZOKSB8fAorCX0gZWxzZSBpZiAoKCFub19pb21tdSAmJiBtYXhfcGZuID4gTUFYX0RNQTMyX1BGTikgfHwKIAkJICAgZm9yY2VfaW9tbXUgfHwKIAkJICAgdmFsaWRfYWdwIHx8CiAJCSAgIGZhbGxiYWNrX2FwZXJfZm9yY2UpIHsKQEAgLTQwMSwxNiArNDgwLDI0IEBACiAJfQogCiAJLyogRml4IHVwIHRoZSBub3J0aCBicmlkZ2VzICovCi0JZm9yIChudW0gPSAyNDsgbnVtIDwgMzI7IG51bSsrKSB7Ci0JCWlmICghZWFybHlfaXNfazhfbmIocmVhZF9wY2lfY29uZmlnKDAsIG51bSwgMywgMHgwMCkpKQotCQkJY29udGludWU7CisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoYnVzX2Rldl9yYW5nZXMpOyBpKyspIHsKKwkJaW50IGJ1czsKKwkJaW50IGRldl9iYXNlLCBkZXZfbGltaXQ7CiAKLQkJLyoKLQkJICogRG9uJ3QgZW5hYmxlIHRyYW5zbGF0aW9uIHlldC4gVGhhdCBpcyBkb25lIGxhdGVyLgotCQkgKiBBc3N1bWUgdGhpcyBCSU9TIGRpZG4ndCBpbml0aWFsaXNlIHRoZSBHQVJUIHNvCi0JCSAqIGp1c3Qgb3ZlcndyaXRlIGFsbCBwcmV2aW91cyBiaXRzCi0JCSAqLwotCQl3cml0ZV9wY2lfY29uZmlnKDAsIG51bSwgMywgMHg5MCwgYXBlcl9vcmRlcjw8MSk7Ci0JCXdyaXRlX3BjaV9jb25maWcoMCwgbnVtLCAzLCAweDk0LCBhcGVyX2FsbG9jPj4yNSk7CisJCWJ1cyA9IGJ1c19kZXZfcmFuZ2VzW2ldLmJ1czsKKwkJZGV2X2Jhc2UgPSBidXNfZGV2X3Jhbmdlc1tpXS5kZXZfYmFzZTsKKwkJZGV2X2xpbWl0ID0gYnVzX2Rldl9yYW5nZXNbaV0uZGV2X2xpbWl0OworCQlmb3IgKHNsb3QgPSBkZXZfYmFzZTsgc2xvdCA8IGRldl9saW1pdDsgc2xvdCsrKSB7CisJCQlpZiAoIWVhcmx5X2lzX2s4X25iKHJlYWRfcGNpX2NvbmZpZyhidXMsIHNsb3QsIDMsIDB4MDApKSkKKwkJCQljb250aW51ZTsKKworCQkJLyogRG9uJ3QgZW5hYmxlIHRyYW5zbGF0aW9uIHlldC4gVGhhdCBpcyBkb25lIGxhdGVyLgorCQkJICAgQXNzdW1lIHRoaXMgQklPUyBkaWRuJ3QgaW5pdGlhbGlzZSB0aGUgR0FSVCBzbworCQkJICAganVzdCBvdmVyd3JpdGUgYWxsIHByZXZpb3VzIGJpdHMgKi8KKwkJCXdyaXRlX3BjaV9jb25maWcoYnVzLCBzbG90LCAzLCBBTUQ2NF9HQVJUQVBFUlRVUkVDVEwsIGFwZXJfb3JkZXIgPDwgMSk7CisJCQl3cml0ZV9wY2lfY29uZmlnKGJ1cywgc2xvdCwgMywgQU1ENjRfR0FSVEFQRVJUVVJFQkFTRSwgYXBlcl9hbGxvYyA+PiAyNSk7CisJCX0KIAl9CisKKwlzZXRfdXBfZ2FydF9yZXN1bWUoYXBlcl9vcmRlciwgYXBlcl9hbGxvYyk7CiB9CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvYXBpY18zMi5jIGIvYXJjaC94ODYva2VybmVsL2FwaWNfMzIuYwppbmRleCA0Yjk5YjFiLi4zZTU4YjY3IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvYXBpY18zMi5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9hcGljXzMyLmMKQEAgLTUyLDMwICs1Miw0MSBAQAogCiB1bnNpZ25lZCBsb25nIG1wX2xhcGljX2FkZHI7CiAKLURFRklORV9QRVJfQ1BVKHUxNiwgeDg2X2Jpb3NfY3B1X2FwaWNpZCkgPSBCQURfQVBJQ0lEOwotRVhQT1JUX1BFUl9DUFVfU1lNQk9MKHg4Nl9iaW9zX2NwdV9hcGljaWQpOwotCiAvKgogICogS25vYiB0byBjb250cm9sIG91ciB3aWxsaW5nbmVzcyB0byBlbmFibGUgdGhlIGxvY2FsIEFQSUMuCiAgKgotICogLTE9Zm9yY2UtZGlzYWJsZSwgKzE9Zm9yY2UtZW5hYmxlCisgKiArMT1mb3JjZS1lbmFibGUKICAqLwotc3RhdGljIGludCBlbmFibGVfbG9jYWxfYXBpYyBfX2luaXRkYXRhOworc3RhdGljIGludCBmb3JjZV9lbmFibGVfbG9jYWxfYXBpYzsKK2ludCBkaXNhYmxlX2FwaWM7CiAKIC8qIExvY2FsIEFQSUMgdGltZXIgdmVyaWZpY2F0aW9uIG9rICovCiBzdGF0aWMgaW50IGxvY2FsX2FwaWNfdGltZXJfdmVyaWZ5X29rOwotLyogRGlzYWJsZSBsb2NhbCBBUElDIHRpbWVyIGZyb20gdGhlIGtlcm5lbCBjb21tYW5kbGluZSBvciB2aWEgZG1pIHF1aXJrCi0gICBvciB1c2luZyBDUFUgTVNSIGNoZWNrICovCi1pbnQgbG9jYWxfYXBpY190aW1lcl9kaXNhYmxlZDsKKy8qIERpc2FibGUgbG9jYWwgQVBJQyB0aW1lciBmcm9tIHRoZSBrZXJuZWwgY29tbWFuZGxpbmUgb3IgdmlhIGRtaSBxdWlyayAqLworc3RhdGljIGludCBsb2NhbF9hcGljX3RpbWVyX2Rpc2FibGVkOwogLyogTG9jYWwgQVBJQyB0aW1lciB3b3JrcyBpbiBDMiAqLwogaW50IGxvY2FsX2FwaWNfdGltZXJfYzJfb2s7CiBFWFBPUlRfU1lNQk9MX0dQTChsb2NhbF9hcGljX3RpbWVyX2MyX29rKTsKIAoraW50IGZpcnN0X3N5c3RlbV92ZWN0b3IgPSAweGZlOworCitjaGFyIHN5c3RlbV92ZWN0b3JzW05SX1ZFQ1RPUlNdID0geyBbMCAuLi4gTlJfVkVDVE9SUy0xXSA9IFNZU19WRUNUT1JfRlJFRX07CisKIC8qCiAgKiBEZWJ1ZyBsZXZlbCwgZXhwb3J0ZWQgZm9yIGlvX2FwaWMuYwogICovCiBpbnQgYXBpY192ZXJib3NpdHk7CiAKK2ludCBwaWNfbW9kZTsKKworLyogSGF2ZSB3ZSBmb3VuZCBhbiBNUCB0YWJsZSAqLworaW50IHNtcF9mb3VuZF9jb25maWc7CisKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgbGFwaWNfcmVzb3VyY2UgPSB7CisJLm5hbWUgPSAiTG9jYWwgQVBJQyIsCisJLmZsYWdzID0gSU9SRVNPVVJDRV9NRU0gfCBJT1JFU09VUkNFX0JVU1ksCit9OworCiBzdGF0aWMgdW5zaWduZWQgaW50IGNhbGlicmF0aW9uX3Jlc3VsdDsKIAogc3RhdGljIGludCBsYXBpY19uZXh0X2V2ZW50KHVuc2lnbmVkIGxvbmcgZGVsdGEsCkBAIC01NDUsNyArNTU2LDcgQEAKIAkJCWxhcGljX2Nsb2NrZXZlbnQuZmVhdHVyZXMgJj0gfkNMT0NLX0VWVF9GRUFUX0RVTU1ZOwogCQllbHNlCiAJCQlwcmludGsoS0VSTl9XQVJOSU5HICJBUElDIHRpbWVyIHJlZ2lzdGVyZWQgYXMgZHVtbXksIgotCQkJICAgICAgICIgZHVlIHRvIG5taV93YXRjaGRvZz0xIVxuIik7CisJCQkJIiBkdWUgdG8gbm1pX3dhdGNoZG9nPSVkIVxuIiwgbm1pX3dhdGNoZG9nKTsKIAl9CiAKIAkvKiBTZXR1cCB0aGUgbGFwaWMgb3IgcmVxdWVzdCB0aGUgYnJvYWRjYXN0ICovCkBAIC05NjMsNyArOTc0LDcgQEAKIAkgKiBEb3VibGUtY2hlY2sgd2hldGhlciB0aGlzIEFQSUMgaXMgcmVhbGx5IHJlZ2lzdGVyZWQuCiAJICovCiAJaWYgKCFhcGljX2lkX3JlZ2lzdGVyZWQoKSkKLQkJQlVHKCk7CisJCVdBUk5fT05fT05DRSgxKTsKIAogCS8qCiAJICogSW50ZWwgcmVjb21tZW5kcyB0byBzZXQgREZSLCBMRFIgYW5kIFRQUiBiZWZvcmUgZW5hYmxpbmcKQEAgLTEwOTQsNyArMTEwNSw3IEBACiAJdTMyIGgsIGwsIGZlYXR1cmVzOwogCiAJLyogRGlzYWJsZWQgYnkga2VybmVsIG9wdGlvbj8gKi8KLQlpZiAoZW5hYmxlX2xvY2FsX2FwaWMgPCAwKQorCWlmIChkaXNhYmxlX2FwaWMpCiAJCXJldHVybiAtMTsKIAogCXN3aXRjaCAoYm9vdF9jcHVfZGF0YS54ODZfdmVuZG9yKSB7CkBAIC0xMTE3LDcgKzExMjgsNyBAQAogCQkgKiBPdmVyLXJpZGUgQklPUyBhbmQgdHJ5IHRvIGVuYWJsZSB0aGUgbG9jYWwgQVBJQyBvbmx5IGlmCiAJCSAqICJsYXBpYyIgc3BlY2lmaWVkLgogCQkgKi8KLQkJaWYgKGVuYWJsZV9sb2NhbF9hcGljIDw9IDApIHsKKwkJaWYgKCFmb3JjZV9lbmFibGVfbG9jYWxfYXBpYykgewogCQkJcHJpbnRrKEtFUk5fSU5GTyAiTG9jYWwgQVBJQyBkaXNhYmxlZCBieSBCSU9TIC0tICIKIAkJCSAgICAgICAieW91IGNhbiBlbmFibGUgaXQgd2l0aCBcImxhcGljXCJcbiIpOwogCQkJcmV0dXJuIC0xOwpAQCAtMTE1NCw5ICsxMTY1LDYgQEAKIAlpZiAobCAmIE1TUl9JQTMyX0FQSUNCQVNFX0VOQUJMRSkKIAkJbXBfbGFwaWNfYWRkciA9IGwgJiBNU1JfSUEzMl9BUElDQkFTRV9CQVNFOwogCi0JaWYgKG5taV93YXRjaGRvZyAhPSBOTUlfTk9ORSAmJiBubWlfd2F0Y2hkb2cgIT0gTk1JX0RJU0FCTEVEKQotCQlubWlfd2F0Y2hkb2cgPSBOTUlfTE9DQUxfQVBJQzsKLQogCXByaW50ayhLRVJOX0lORk8gIkZvdW5kIGFuZCBlbmFibGVkIGxvY2FsIEFQSUMhXG4iKTsKIAogCWFwaWNfcG1fYWN0aXZhdGUoKTsKQEAgLTExOTUsMzYgKzEyMDMsNiBAQAogCWlmIChib290X2NwdV9waHlzaWNhbF9hcGljaWQgPT0gLTFVKQogCQlib290X2NwdV9waHlzaWNhbF9hcGljaWQgPSBHRVRfQVBJQ19JRChyZWFkX2FwaWNfaWQoKSk7CiAKLSNpZmRlZiBDT05GSUdfWDg2X0lPX0FQSUMKLQl7Ci0JCXVuc2lnbmVkIGxvbmcgaW9hcGljX3BoeXMsIGlkeCA9IEZJWF9JT19BUElDX0JBU0VfMDsKLQkJaW50IGk7Ci0KLQkJZm9yIChpID0gMDsgaSA8IG5yX2lvYXBpY3M7IGkrKykgewotCQkJaWYgKHNtcF9mb3VuZF9jb25maWcpIHsKLQkJCQlpb2FwaWNfcGh5cyA9IG1wX2lvYXBpY3NbaV0ubXBjX2FwaWNhZGRyOwotCQkJCWlmICghaW9hcGljX3BoeXMpIHsKLQkJCQkJcHJpbnRrKEtFUk5fRVJSCi0JCQkJCSAgICAgICAiV0FSTklORzogYm9ndXMgemVybyBJTy1BUElDICIKLQkJCQkJICAgICAgICJhZGRyZXNzIGZvdW5kIGluIE1QVEFCTEUsICIKLQkJCQkJICAgICAgICJkaXNhYmxpbmcgSU8vQVBJQyBzdXBwb3J0IVxuIik7Ci0JCQkJCXNtcF9mb3VuZF9jb25maWcgPSAwOwotCQkJCQlza2lwX2lvYXBpY19zZXR1cCA9IDE7Ci0JCQkJCWdvdG8gZmFrZV9pb2FwaWNfcGFnZTsKLQkJCQl9Ci0JCQl9IGVsc2UgewotZmFrZV9pb2FwaWNfcGFnZToKLQkJCQlpb2FwaWNfcGh5cyA9ICh1bnNpZ25lZCBsb25nKQotCQkJCQkgICAgICBhbGxvY19ib290bWVtX3BhZ2VzKFBBR0VfU0laRSk7Ci0JCQkJaW9hcGljX3BoeXMgPSBfX3BhKGlvYXBpY19waHlzKTsKLQkJCX0KLQkJCXNldF9maXhtYXBfbm9jYWNoZShpZHgsIGlvYXBpY19waHlzKTsKLQkJCXByaW50ayhLRVJOX0RFQlVHICJtYXBwZWQgSU9BUElDIHRvICUwOGx4ICglMDhseClcbiIsCi0JCQkgICAgICAgX19maXhfdG9fdmlydChpZHgpLCBpb2FwaWNfcGh5cyk7Ci0JCQlpZHgrKzsKLQkJfQotCX0KLSNlbmRpZgogfQogCiAvKgpAQCAtMTIzNiw3ICsxMjE0LDcgQEAKIAogaW50IF9faW5pdCBBUElDX2luaXRfdW5pcHJvY2Vzc29yKHZvaWQpCiB7Ci0JaWYgKGVuYWJsZV9sb2NhbF9hcGljIDwgMCkKKwlpZiAoZGlzYWJsZV9hcGljKQogCQljbGVhcl9jcHVfY2FwKCZib290X2NwdV9kYXRhLCBYODZfRkVBVFVSRV9BUElDKTsKIAogCWlmICghc21wX2ZvdW5kX2NvbmZpZyAmJiAhY3B1X2hhc19hcGljKQpAQCAtMTI2NSwxMCArMTI0MywxNCBAQAogI2lmZGVmIENPTkZJR19DUkFTSF9EVU1QCiAJYm9vdF9jcHVfcGh5c2ljYWxfYXBpY2lkID0gR0VUX0FQSUNfSUQocmVhZF9hcGljX2lkKCkpOwogI2VuZGlmCi0JcGh5c19jcHVfcHJlc2VudF9tYXAgPSBwaHlzaWRfbWFza19vZl9waHlzaWQoYm9vdF9jcHVfcGh5c2ljYWxfYXBpY2lkKTsKKwlwaHlzaWRfc2V0X21hc2tfb2ZfcGh5c2lkKGJvb3RfY3B1X3BoeXNpY2FsX2FwaWNpZCwgJnBoeXNfY3B1X3ByZXNlbnRfbWFwKTsKIAogCXNldHVwX2xvY2FsX0FQSUMoKTsKIAorI2lmZGVmIENPTkZJR19YODZfSU9fQVBJQworCWlmICghc21wX2ZvdW5kX2NvbmZpZyB8fCBza2lwX2lvYXBpY19zZXR1cCB8fCAhbnJfaW9hcGljcykKKyNlbmRpZgorCQlsb2NhbGlzZV9ubWlfd2F0Y2hkb2coKTsKIAllbmRfbG9jYWxfQVBJQ19zZXR1cCgpOwogI2lmZGVmIENPTkZJR19YODZfSU9fQVBJQwogCWlmIChzbXBfZm91bmRfY29uZmlnKQpAQCAtMTM1MSwxMyArMTMzMywxMyBAQAogCSAqIFRoZSByZXNjaGVkdWxlIGludGVycnVwdCBpcyBhIENQVS10by1DUFUgcmVzY2hlZHVsZS1oZWxwZXIKIAkgKiBJUEksIGRyaXZlbiBieSB3YWtldXAuCiAJICovCi0Jc2V0X2ludHJfZ2F0ZShSRVNDSEVEVUxFX1ZFQ1RPUiwgcmVzY2hlZHVsZV9pbnRlcnJ1cHQpOworCWFsbG9jX2ludHJfZ2F0ZShSRVNDSEVEVUxFX1ZFQ1RPUiwgcmVzY2hlZHVsZV9pbnRlcnJ1cHQpOwogCiAJLyogSVBJIGZvciBpbnZhbGlkYXRpb24gKi8KLQlzZXRfaW50cl9nYXRlKElOVkFMSURBVEVfVExCX1ZFQ1RPUiwgaW52YWxpZGF0ZV9pbnRlcnJ1cHQpOworCWFsbG9jX2ludHJfZ2F0ZShJTlZBTElEQVRFX1RMQl9WRUNUT1IsIGludmFsaWRhdGVfaW50ZXJydXB0KTsKIAogCS8qIElQSSBmb3IgZ2VuZXJpYyBmdW5jdGlvbiBjYWxsICovCi0Jc2V0X2ludHJfZ2F0ZShDQUxMX0ZVTkNUSU9OX1ZFQ1RPUiwgY2FsbF9mdW5jdGlvbl9pbnRlcnJ1cHQpOworCWFsbG9jX2ludHJfZ2F0ZShDQUxMX0ZVTkNUSU9OX1ZFQ1RPUiwgY2FsbF9mdW5jdGlvbl9pbnRlcnJ1cHQpOwogfQogI2VuZGlmCiAKQEAgLTEzNzAsMTUgKzEzNTIsMTUgQEAKIAlzbXBfaW50cl9pbml0KCk7CiAjZW5kaWYKIAkvKiBzZWxmIGdlbmVyYXRlZCBJUEkgZm9yIGxvY2FsIEFQSUMgdGltZXIgKi8KLQlzZXRfaW50cl9nYXRlKExPQ0FMX1RJTUVSX1ZFQ1RPUiwgYXBpY190aW1lcl9pbnRlcnJ1cHQpOworCWFsbG9jX2ludHJfZ2F0ZShMT0NBTF9USU1FUl9WRUNUT1IsIGFwaWNfdGltZXJfaW50ZXJydXB0KTsKIAogCS8qIElQSSB2ZWN0b3JzIGZvciBBUElDIHNwdXJpb3VzIGFuZCBlcnJvciBpbnRlcnJ1cHRzICovCi0Jc2V0X2ludHJfZ2F0ZShTUFVSSU9VU19BUElDX1ZFQ1RPUiwgc3B1cmlvdXNfaW50ZXJydXB0KTsKLQlzZXRfaW50cl9nYXRlKEVSUk9SX0FQSUNfVkVDVE9SLCBlcnJvcl9pbnRlcnJ1cHQpOworCWFsbG9jX2ludHJfZ2F0ZShTUFVSSU9VU19BUElDX1ZFQ1RPUiwgc3B1cmlvdXNfaW50ZXJydXB0KTsKKwlhbGxvY19pbnRyX2dhdGUoRVJST1JfQVBJQ19WRUNUT1IsIGVycm9yX2ludGVycnVwdCk7CiAKIAkvKiB0aGVybWFsIG1vbml0b3IgTFZUIGludGVycnVwdCAqLwogI2lmZGVmIENPTkZJR19YODZfTUNFX1A0VEhFUk1BTAotCXNldF9pbnRyX2dhdGUoVEhFUk1BTF9BUElDX1ZFQ1RPUiwgdGhlcm1hbF9pbnRlcnJ1cHQpOworCWFsbG9jX2ludHJfZ2F0ZShUSEVSTUFMX0FQSUNfVkVDVE9SLCB0aGVybWFsX2ludGVycnVwdCk7CiAjZW5kaWYKIH0KIApAQCAtMTUxMyw2ICsxNDk1LDkgQEAKIAkJICovCiAJCWNwdSA9IDA7CiAKKwlpZiAoYXBpY2lkID4gbWF4X3BoeXNpY2FsX2FwaWNpZCkKKwkJbWF4X3BoeXNpY2FsX2FwaWNpZCA9IGFwaWNpZDsKKwogCS8qCiAJICogV291bGQgYmUgcHJlZmVyYWJsZSB0byBzd2l0Y2ggdG8gYmlnc21wIHdoZW4gQ09ORklHX0hPVFBMVUdfQ1BVPXkKIAkgKiBidXQgd2UgbmVlZCB0byB3b3JrIG90aGVyIGRlcGVuZGVuY2llcyBsaWtlIFNNUF9TVVNQRU5EIGV0YwpAQCAtMTUyMCw3ICsxNTA1LDcgQEAKIAkgKiBpZiAoQ1BVX0hPVFBMVUdfRU5BQkxFRCB8fCBudW1fcHJvY2Vzc29ycyA+IDgpCiAJICogICAgICAgLSBBc2hvayBSYWogPGFzaG9rLnJhakBpbnRlbC5jb20+CiAJICovCi0JaWYgKG51bV9wcm9jZXNzb3JzID4gOCkgeworCWlmIChtYXhfcGh5c2ljYWxfYXBpY2lkID49IDgpIHsKIAkJc3dpdGNoIChib290X2NwdV9kYXRhLng4Nl92ZW5kb3IpIHsKIAkJY2FzZSBYODZfVkVORE9SX0lOVEVMOgogCQkJaWYgKCFBUElDX1hBUElDKHZlcnNpb24pKSB7CkBAIC0xNTM0LDkgKzE1MTksOSBAQAogCX0KICNpZmRlZiBDT05GSUdfU01QCiAJLyogYXJlIHdlIGJlaW5nIGNhbGxlZCBlYXJseSBpbiBrZXJuZWwgc3RhcnR1cD8gKi8KLQlpZiAoeDg2X2NwdV90b19hcGljaWRfZWFybHlfcHRyKSB7Ci0JCXUxNiAqY3B1X3RvX2FwaWNpZCA9IHg4Nl9jcHVfdG9fYXBpY2lkX2Vhcmx5X3B0cjsKLQkJdTE2ICpiaW9zX2NwdV9hcGljaWQgPSB4ODZfYmlvc19jcHVfYXBpY2lkX2Vhcmx5X3B0cjsKKwlpZiAoZWFybHlfcGVyX2NwdV9wdHIoeDg2X2NwdV90b19hcGljaWQpKSB7CisJCXUxNiAqY3B1X3RvX2FwaWNpZCA9IGVhcmx5X3Blcl9jcHVfcHRyKHg4Nl9jcHVfdG9fYXBpY2lkKTsKKwkJdTE2ICpiaW9zX2NwdV9hcGljaWQgPSBlYXJseV9wZXJfY3B1X3B0cih4ODZfYmlvc19jcHVfYXBpY2lkKTsKIAogCQljcHVfdG9fYXBpY2lkW2NwdV0gPSBhcGljaWQ7CiAJCWJpb3NfY3B1X2FwaWNpZFtjcHVdID0gYXBpY2lkOwpAQCAtMTcwMywxNCArMTY4OCwxNCBAQAogICovCiBzdGF0aWMgaW50IF9faW5pdCBwYXJzZV9sYXBpYyhjaGFyICphcmcpCiB7Ci0JZW5hYmxlX2xvY2FsX2FwaWMgPSAxOworCWZvcmNlX2VuYWJsZV9sb2NhbF9hcGljID0gMTsKIAlyZXR1cm4gMDsKIH0KIGVhcmx5X3BhcmFtKCJsYXBpYyIsIHBhcnNlX2xhcGljKTsKIAogc3RhdGljIGludCBfX2luaXQgcGFyc2Vfbm9sYXBpYyhjaGFyICphcmcpCiB7Ci0JZW5hYmxlX2xvY2FsX2FwaWMgPSAtMTsKKwlkaXNhYmxlX2FwaWMgPSAxOwogCWNsZWFyX2NwdV9jYXAoJmJvb3RfY3B1X2RhdGEsIFg4Nl9GRUFUVVJFX0FQSUMpOwogCXJldHVybiAwOwogfQpAQCAtMTc0MCwzICsxNzI1LDIxIEBACiB9CiBfX3NldHVwKCJhcGljPSIsIGFwaWNfc2V0X3ZlcmJvc2l0eSk7CiAKK3N0YXRpYyBpbnQgX19pbml0IGxhcGljX2luc2VydF9yZXNvdXJjZSh2b2lkKQoreworCWlmICghYXBpY19waHlzKQorCQlyZXR1cm4gLTE7CisKKwkvKiBQdXQgbG9jYWwgQVBJQyBpbnRvIHRoZSByZXNvdXJjZSBtYXAuICovCisJbGFwaWNfcmVzb3VyY2Uuc3RhcnQgPSBhcGljX3BoeXM7CisJbGFwaWNfcmVzb3VyY2UuZW5kID0gbGFwaWNfcmVzb3VyY2Uuc3RhcnQgKyBQQUdFX1NJWkUgLSAxOworCWluc2VydF9yZXNvdXJjZSgmaW9tZW1fcmVzb3VyY2UsICZsYXBpY19yZXNvdXJjZSk7CisKKwlyZXR1cm4gMDsKK30KKworLyoKKyAqIG5lZWQgY2FsbCBpbnNlcnQgYWZ0ZXIgZTgyMF9yZXNlcnZlX3Jlc291cmNlcygpCisgKiB0aGF0IGlzIHVzaW5nIHJlcXVlc3RfcmVzb3VyY2UKKyAqLworbGF0ZV9pbml0Y2FsbChsYXBpY19pbnNlcnRfcmVzb3VyY2UpOwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2FwaWNfNjQuYyBiL2FyY2gveDg2L2tlcm5lbC9hcGljXzY0LmMKaW5kZXggMDYzM2NmZC4uMWUzZDMyZSAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL2FwaWNfNjQuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvYXBpY182NC5jCkBAIC00Myw3ICs0Myw3IEBACiAjaW5jbHVkZSA8bWFjaF9pcGkuaD4KICNpbmNsdWRlIDxtYWNoX2FwaWMuaD4KIAotaW50IGRpc2FibGVfYXBpY190aW1lciBfX2NwdWluaXRkYXRhOworc3RhdGljIGludCBkaXNhYmxlX2FwaWNfdGltZXIgX19jcHVpbml0ZGF0YTsKIHN0YXRpYyBpbnQgYXBpY19jYWxpYnJhdGVfcG10bXIgX19pbml0ZGF0YTsKIGludCBkaXNhYmxlX2FwaWM7CiAKQEAgLTU2LDYgKzU2LDkgQEAKICAqLwogaW50IGFwaWNfdmVyYm9zaXR5OwogCisvKiBIYXZlIHdlIGZvdW5kIGFuIE1QIHRhYmxlICovCitpbnQgc21wX2ZvdW5kX2NvbmZpZzsKKwogc3RhdGljIHN0cnVjdCByZXNvdXJjZSBsYXBpY19yZXNvdXJjZSA9IHsKIAkubmFtZSA9ICJMb2NhbCBBUElDIiwKIAkuZmxhZ3MgPSBJT1JFU09VUkNFX01FTSB8IElPUkVTT1VSQ0VfQlVTWSwKQEAgLTg3LDkgKzkwLDYgQEAKIAogdW5zaWduZWQgbG9uZyBtcF9sYXBpY19hZGRyOwogCi1ERUZJTkVfUEVSX0NQVSh1MTYsIHg4Nl9iaW9zX2NwdV9hcGljaWQpID0gQkFEX0FQSUNJRDsKLUVYUE9SVF9QRVJfQ1BVX1NZTUJPTCh4ODZfYmlvc19jcHVfYXBpY2lkKTsKLQogdW5zaWduZWQgaW50IF9fY3B1aW5pdGRhdGEgbWF4Y3B1cyA9IE5SX0NQVVM7CiAvKgogICogR2V0IHRoZSBMQVBJQyB2ZXJzaW9uCkBAIC00MTcsMzcgKzQxNywxMyBAQAogCQlsYXBpY19jbG9ja2V2ZW50LmZlYXR1cmVzICY9IH5DTE9DS19FVlRfRkVBVF9EVU1NWTsKIAllbHNlCiAJCXByaW50ayhLRVJOX1dBUk5JTkcgIkFQSUMgdGltZXIgcmVnaXN0ZXJlZCBhcyBkdW1teSwiCi0JCSAgICAgICAiIGR1ZSB0byBubWlfd2F0Y2hkb2c9MSFcbiIpOworCQkJIiBkdWUgdG8gbm1pX3dhdGNoZG9nPSVkIVxuIiwgbm1pX3dhdGNoZG9nKTsKIAogCXNldHVwX0FQSUNfdGltZXIoKTsKIH0KIAotLyoKLSAqIEFNRCBDMUUgZW5hYmxlZCBDUFVzIGhhdmUgYSByZWFsIG5hc3R5IHByb2JsZW06IFNvbWUgQklPU2VzIHNldCB0aGUKLSAqIEMxRSBmbGFnIG9ubHkgaW4gdGhlIHNlY29uZGFyeSBDUFUsIHNvIHdoZW4gd2UgZGV0ZWN0IHRoZSB3cmVja2FnZQotICogd2UgYWxyZWFkeSBoYXZlIGVuYWJsZWQgdGhlIGJvb3QgQ1BVIGxvY2FsIGFwaWMgdGltZXIuIENoZWNrLCBpZgotICogZGlzYWJsZV9hcGljX3RpbWVyIGlzIHNldCBhbmQgdGhlIERVTU1ZIGZsYWcgaXMgY2xlYXJlZC4gSWYgeWVzLAotICogc2V0IHRoZSBEVU1NWSBmbGFnIGFnYWluIGFuZCBmb3JjZSB0aGUgYnJvYWRjYXN0IG1vZGUgaW4gdGhlCi0gKiBjbG9ja2V2ZW50cyBsYXllci4KLSAqLwotc3RhdGljIHZvaWQgX19jcHVpbml0IGNoZWNrX2Jvb3RfYXBpY190aW1lcl9icm9hZGNhc3Qodm9pZCkKLXsKLQlpZiAoIWRpc2FibGVfYXBpY190aW1lciB8fAotCSAgICAobGFwaWNfY2xvY2tldmVudC5mZWF0dXJlcyAmIENMT0NLX0VWVF9GRUFUX0RVTU1ZKSkKLQkJcmV0dXJuOwotCi0JcHJpbnRrKEtFUk5fSU5GTyAiQU1EIEMxRSBkZXRlY3RlZCBsYXRlLiBGb3JjZSB0aW1lciBicm9hZGNhc3QuXG4iKTsKLQlsYXBpY19jbG9ja2V2ZW50LmZlYXR1cmVzIHw9IENMT0NLX0VWVF9GRUFUX0RVTU1ZOwotCi0JbG9jYWxfaXJxX2VuYWJsZSgpOwotCWNsb2NrZXZlbnRzX25vdGlmeShDTE9DS19FVlRfTk9USUZZX0JST0FEQ0FTVF9GT1JDRSwKLQkJCSAgICZib290X2NwdV9waHlzaWNhbF9hcGljaWQpOwotCWxvY2FsX2lycV9kaXNhYmxlKCk7Ci19Ci0KIHZvaWQgX19jcHVpbml0IHNldHVwX3NlY29uZGFyeV9BUElDX2Nsb2NrKHZvaWQpCiB7Ci0JY2hlY2tfYm9vdF9hcGljX3RpbWVyX2Jyb2FkY2FzdCgpOwogCXNldHVwX0FQSUNfdGltZXIoKTsKIH0KIApAQCAtODUwLDcgKzgyNiw2IEBACiB2b2lkIF9fY3B1aW5pdCBlbmRfbG9jYWxfQVBJQ19zZXR1cCh2b2lkKQogewogCWxhcGljX3NldHVwX2VzcigpOwotCW5taV93YXRjaGRvZ19kZWZhdWx0KCk7CiAJc2V0dXBfYXBpY19ubWlfd2F0Y2hkb2coTlVMTCk7CiAJYXBpY19wbV9hY3RpdmF0ZSgpOwogfQpAQCAtODc1LDcgKzg1MCw3IEBACiAKIHZvaWQgX19pbml0IGVhcmx5X2luaXRfbGFwaWNfbWFwcGluZyh2b2lkKQogewotCXVuc2lnbmVkIGxvbmcgYXBpY19waHlzOworCXVuc2lnbmVkIGxvbmcgcGh5c19hZGRyOwogCiAJLyoKIAkgKiBJZiBubyBsb2NhbCBBUElDIGNhbiBiZSBmb3VuZCB0aGVuIGdvIG91dApAQCAtODg0LDExICs4NTksMTEgQEAKIAlpZiAoIXNtcF9mb3VuZF9jb25maWcpCiAJCXJldHVybjsKIAotCWFwaWNfcGh5cyA9IG1wX2xhcGljX2FkZHI7CisJcGh5c19hZGRyID0gbXBfbGFwaWNfYWRkcjsKIAotCXNldF9maXhtYXBfbm9jYWNoZShGSVhfQVBJQ19CQVNFLCBhcGljX3BoeXMpOworCXNldF9maXhtYXBfbm9jYWNoZShGSVhfQVBJQ19CQVNFLCBwaHlzX2FkZHIpOwogCWFwaWNfcHJpbnRrKEFQSUNfVkVSQk9TRSwgIm1hcHBlZCBBUElDIHRvICUxNmx4ICglMTZseClcbiIsCi0JCQkJIEFQSUNfQkFTRSwgYXBpY19waHlzKTsKKwkJICAgIEFQSUNfQkFTRSwgcGh5c19hZGRyKTsKIAogCS8qCiAJICogRmV0Y2ggdGhlIEFQSUMgSUQgb2YgdGhlIEJTUCBpbiBjYXNlIHdlIGhhdmUgYQpAQCAtOTQyLDcgKzkxNyw5IEBACiAKIAl2ZXJpZnlfbG9jYWxfQVBJQygpOwogCi0JcGh5c19jcHVfcHJlc2VudF9tYXAgPSBwaHlzaWRfbWFza19vZl9waHlzaWQoYm9vdF9jcHVfcGh5c2ljYWxfYXBpY2lkKTsKKwljb25uZWN0X2JzcF9BUElDKCk7CisKKwlwaHlzaWRfc2V0X21hc2tfb2ZfcGh5c2lkKGJvb3RfY3B1X3BoeXNpY2FsX2FwaWNpZCwgJnBoeXNfY3B1X3ByZXNlbnRfbWFwKTsKIAlhcGljX3dyaXRlKEFQSUNfSUQsIFNFVF9BUElDX0lEKGJvb3RfY3B1X3BoeXNpY2FsX2FwaWNpZCkpOwogCiAJc2V0dXBfbG9jYWxfQVBJQygpOwpAQCAtOTU0LDYgKzkzMSw4IEBACiAJaWYgKCFza2lwX2lvYXBpY19zZXR1cCAmJiBucl9pb2FwaWNzKQogCQllbmFibGVfSU9fQVBJQygpOwogCisJaWYgKCFzbXBfZm91bmRfY29uZmlnIHx8IHNraXBfaW9hcGljX3NldHVwIHx8ICFucl9pb2FwaWNzKQorCQlsb2NhbGlzZV9ubWlfd2F0Y2hkb2coKTsKIAllbmRfbG9jYWxfQVBJQ19zZXR1cCgpOwogCiAJaWYgKHNtcF9mb3VuZF9jb25maWcgJiYgIXNraXBfaW9hcGljX3NldHVwICYmIG5yX2lvYXBpY3MpCkBAIC0xMDIxLDYgKzEwMDAsMTQgQEAKIAlpcnFfZXhpdCgpOwogfQogCisvKioKKyAqICAqIGNvbm5lY3RfYnNwX0FQSUMgLSBhdHRhY2ggdGhlIEFQSUMgdG8gdGhlIGludGVycnVwdCBzeXN0ZW0KKyAqICAgKi8KK3ZvaWQgX19pbml0IGNvbm5lY3RfYnNwX0FQSUModm9pZCkKK3sKKwllbmFibGVfYXBpY19tb2RlKCk7Cit9CisKIHZvaWQgZGlzY29ubmVjdF9ic3BfQVBJQyhpbnQgdmlydF93aXJlX3NldHVwKQogewogCS8qIEdvIGJhY2sgdG8gVmlydHVhbCBXaXJlIGNvbXBhdGliaWxpdHkgbW9kZSAqLwpAQCAtMTA5MCwxMCArMTA3NywxMyBAQAogCQkgKi8KIAkJY3B1ID0gMDsKIAl9CisJaWYgKGFwaWNpZCA+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/ICovCi0JCXdybXNyIChNU1JfSUEzMl9NQ0dfQ1RMLCAweGZmZmZmZmZmLCAweGZmZmZmZmZmKTsKKwkJd3Jtc3IoTVNSX0lBMzJfTUNHX0NUTCwgMHhmZmZmZmZmZiwgMHhmZmZmZmZmZik7CiAJbnJfbWNlX2JhbmtzID0gbCAmIDB4ZmY7CiAKIAkvKiBDbGVhciBzdGF0dXMgZm9yIE1DIGluZGV4IDAgc2VwYXJhdGVseSwgd2UgZG9uJ3QgdG91Y2ggQ1RMLAogCSAqIGFzIHNvbWUgSzcgQXRobG9ucyBjYXVzZSBzcHVyaW91cyBNQ0VzIHdoZW4gaXRzIGVuYWJsZWQuICovCiAJaWYgKGJvb3RfY3B1X2RhdGEueDg2ID09IDYpIHsKLQkJd3Jtc3IgKE1TUl9JQTMyX01DMF9TVEFUVVMsIDB4MCwgMHgwKTsKKwkJd3Jtc3IoTVNSX0lBMzJfTUMwX1NUQVRVUywgMHgwLCAweDApOwogCQlpID0gMTsKIAl9IGVsc2UKIAkJaSA9IDA7Ci0JZm9yICg7IGk8bnJfbWNlX2JhbmtzOyBpKyspIHsKLQkJd3Jtc3IgKE1TUl9JQTMyX01DMF9DVEwrNCppLCAweGZmZmZmZmZmLCAweGZmZmZmZmZmKTsKLQkJd3Jtc3IgKE1TUl9JQTMyX01DMF9TVEFUVVMrNCppLCAweDAsIDB4MCk7CisJZm9yICg7IGkgPCBucl9tY2VfYmFua3M7IGkrKykgeworCQl3cm1zcihNU1JfSUEzMl9NQzBfQ1RMKzQqaSwgMHhmZmZmZmZmZiwgMHhmZmZmZmZmZik7CisJCXdybXNyKE1TUl9JQTMyX01DMF9TVEFUVVMrNCppLCAweDAsIDB4MCk7CiAJfQogCi0Jc2V0X2luX2NyNCAoWDg2X0NSNF9NQ0UpOwotCXByaW50ayAoS0VSTl9JTkZPICJJbnRlbCBtYWNoaW5lIGNoZWNrIHJlcG9ydGluZyBlbmFibGVkIG9uIENQVSMlZC5cbiIsCisJc2V0X2luX2NyNChYODZfQ1I0X01DRSk7CisJcHJpbnRrKEtFUk5fSU5GTyAiSW50ZWwgbWFjaGluZSBjaGVjayByZXBvcnRpbmcgZW5hYmxlZCBvbiBDUFUjJWQuXG4iLAogCQlzbXBfcHJvY2Vzc29yX2lkKCkpOwogfQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2NwdS9tY2hlY2svbWNlXzY0LmMgYi9hcmNoL3g4Ni9rZXJuZWwvY3B1L21jaGVjay9tY2VfNjQuYwppbmRleCBlMDdlOGMwLi45ODc0MTA3IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvY3B1L21jaGVjay9tY2VfNjQuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvY3B1L21jaGVjay9tY2VfNjQuYwpAQCAtOSw2ICs5LDcgQEAKICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgogI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgogI2luY2x1ZGUgPGxpbnV4L3NjaGVkLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxsaW51eC9zdHJpbmcuaD4KICNpbmNsdWRlIDxsaW51eC9yY3VwZGF0ZS5oPgogI2luY2x1ZGUgPGxpbnV4L2thbGxzeW1zLmg+CkBAIC0zMSw3ICszMiw3IEBACiAjaW5jbHVkZSA8YXNtL2lkbGUuaD4KIAogI2RlZmluZSBNSVNDX01DRUxPR19NSU5PUiAyMjcKLSNkZWZpbmUgTlJfQkFOS1MgNgorI2RlZmluZSBOUl9TWVNGU19CQU5LUyA2CiAKIGF0b21pY190IG1jZV9lbnRyeTsKIApAQCAtNDYsNyArNDcsNyBAQAogICovCiBzdGF0aWMgaW50IHRvbGVyYW50ID0gMTsKIHN0YXRpYyBpbnQgYmFua3M7Ci1zdGF0aWMgdW5zaWduZWQgbG9uZyBiYW5rW05SX0JBTktTXSA9IHsgWzAgLi4uIE5SX0JBTktTLTFdID0gfjBVTCB9Oworc3RhdGljIHVuc2lnbmVkIGxvbmcgYmFua1tOUl9TWVNGU19CQU5LU10gPSB7IFswIC4uLiBOUl9TWVNGU19CQU5LUy0xXSA9IH4wVUwgfTsKIHN0YXRpYyB1bnNpZ25lZCBsb25nIG5vdGlmeV91c2VyOwogc3RhdGljIGludCByaXBfbXNyOwogc3RhdGljIGludCBtY2VfYm9vdGxvZyA9IC0xOwpAQCAtMjA5LDcgKzIxMCw3IEBACiAJYmFycmllcigpOwogCiAJZm9yIChpID0gMDsgaSA8IGJhbmtzOyBpKyspIHsKLQkJaWYgKCFiYW5rW2ldKQorCQlpZiAoaSA8IE5SX1NZU0ZTX0JBTktTICYmICFiYW5rW2ldKQogCQkJY29udGludWU7CiAKIAkJbS5taXNjID0gMDsKQEAgLTQ0NCw5ICs0NDUsMTAgQEAKIAogCXJkbXNybChNU1JfSUEzMl9NQ0dfQ0FQLCBjYXApOwogCWJhbmtzID0gY2FwICYgMHhmZjsKLQlpZiAoYmFua3MgPiBOUl9CQU5LUykgewotCQlwcmludGsoS0VSTl9JTkZPICJNQ0U6IHdhcm5pbmc6IHVzaW5nIG9ubHkgJWQgYmFua3NcbiIsIGJhbmtzKTsKLQkJYmFua3MgPSBOUl9CQU5LUzsKKwlpZiAoYmFua3MgPiBNQ0VfRVhURU5ERURfQkFOSykgeworCQliYW5rcyA9IE1DRV9FWFRFTkRFRF9CQU5LOworCQlwcmludGsoS0VSTl9JTkZPICJNQ0U6IHdhcm5pbmc6IHVzaW5nIG9ubHkgJWQgYmFua3NcbiIsCisJCSAgICAgICBNQ0VfRVhURU5ERURfQkFOSyk7CiAJfQogCS8qIFVzZSBhY2N1cmF0ZSBSSVAgcmVwb3J0aW5nIGlmIGF2YWlsYWJsZS4gKi8KIAlpZiAoKGNhcCAmICgxPDw5KSkgJiYgKChjYXAgPj4gMTYpICYgMHhmZikgPj0gOSkKQEAgLTQ2Miw3ICs0NjQsMTEgQEAKIAkJd3Jtc3IoTVNSX0lBMzJfTUNHX0NUTCwgMHhmZmZmZmZmZiwgMHhmZmZmZmZmZik7CiAKIAlmb3IgKGkgPSAwOyBpIDwgYmFua3M7IGkrKykgewotCQl3cm1zcmwoTVNSX0lBMzJfTUMwX0NUTCs0KmksIGJhbmtbaV0pOworCQlpZiAoaSA8IE5SX1NZU0ZTX0JBTktTKQorCQkJd3Jtc3JsKE1TUl9JQTMyX01DMF9DVEwrNCppLCBiYW5rW2ldKTsKKwkJZWxzZQorCQkJd3Jtc3JsKE1TUl9JQTMyX01DMF9DVEwrNCppLCB+MFVMKTsKKwogCQl3cm1zcmwoTVNSX0lBMzJfTUMwX1NUQVRVUys0KmksIDApOwogCX0KIH0KQEAgLTUyNywxMCArNTMzLDEyIEBACiAKIHN0YXRpYyBpbnQgbWNlX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCiB7CisJbG9ja19rZXJuZWwoKTsKIAlzcGluX2xvY2soJm1jZV9zdGF0ZV9sb2NrKTsKIAogCWlmIChvcGVuX2V4Y2x1IHx8IChvcGVuX2NvdW50ICYmIChmaWxlLT5mX2ZsYWdzICYgT19FWENMKSkpIHsKIAkJc3Bpbl91bmxvY2soJm1jZV9zdGF0ZV9sb2NrKTsKKwkJdW5sb2NrX2tlcm5lbCgpOwogCQlyZXR1cm4gLUVCVVNZOwogCX0KIApAQCAtNTM5LDYgKzU0Nyw3IEBACiAJb3Blbl9jb3VudCsrOwogCiAJc3Bpbl91bmxvY2soJm1jZV9zdGF0ZV9sb2NrKTsKKwl1bmxvY2tfa2VybmVsKCk7CiAKIAlyZXR1cm4gbm9uc2Vla2FibGVfb3Blbihpbm9kZSwgZmlsZSk7CiB9CkBAIC03NjYsNyArNzc1LDEwIEBACiAJfQkJCQkJCQkJXAogCXN0YXRpYyBTWVNERVZfQVRUUihuYW1lLCAwNjQ0LCBzaG93XyAjIyBuYW1lLCBzZXRfICMjIG5hbWUpOwogCi0vKiBUQkQgc2hvdWxkIGdlbmVyYXRlIHRoZXNlIGR5bmFtaWNhbGx5IGJhc2VkIG9uIG51bWJlciBvZiBhdmFpbGFibGUgYmFua3MgKi8KKy8qCisgKiBUQkQgc2hvdWxkIGdlbmVyYXRlIHRoZXNlIGR5bmFtaWNhbGx5IGJhc2VkIG9uIG51bWJlciBvZiBhdmFpbGFibGUgYmFua3MuCisgKiBIYXZlIG9ubHkgNiBjb250b2wgYmFua3MgaW4gL3N5c2ZzIHVudGlsIHRoZW4uCisgKi8KIEFDQ0VTU09SKGJhbmswY3RsLGJhbmtbMF0sbWNlX3Jlc3RhcnQoKSkKIEFDQ0VTU09SKGJhbmsxY3RsLGJhbmtbMV0sbWNlX3Jlc3RhcnQoKSkKIEFDQ0VTU09SKGJhbmsyY3RsLGJhbmtbMl0sbWNlX3Jlc3RhcnQoKSkKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9jcHUvbWNoZWNrL3A0LmMgYi9hcmNoL3g4Ni9rZXJuZWwvY3B1L21jaGVjay9wNC5jCmluZGV4IGNiMDMzNDUuLmVlZjAwMWEgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9jcHUvbWNoZWNrL3A0LmMKKysrIGIvYXJjaC94ODYva2VybmVsL2NwdS9tY2hlY2svcDQuYwpAQCAtOCw3ICs4LDcgQEAKICNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KICNpbmNsdWRlIDxsaW51eC9zbXAuaD4KIAotI2luY2x1ZGUgPGFzbS9wcm9jZXNzb3IuaD4gCisjaW5jbHVkZSA8YXNtL3Byb2Nlc3Nvci5oPgogI2luY2x1ZGUgPGFzbS9zeXN0ZW0uaD4KICNpbmNsdWRlIDxhc20vbXNyLmg+CiAjaW5jbHVkZSA8YXNtL2FwaWMuaD4KQEAgLTMyLDEyICszMiwxMiBAQAogCS8qIHUzMiAqcmVzZXJ2ZWRbXTsgKi8KIH07CiAKLXN0YXRpYyBpbnQgbWNlX251bV9leHRlbmRlZF9tc3JzID0gMDsKK3N0YXRpYyBpbnQgbWNlX251bV9leHRlbmRlZF9tc3JzOwogCiAKICNpZmRlZiBDT05GSUdfWDg2X01DRV9QNFRIRVJNQUwKIHN0YXRpYyB2b2lkIHVuZXhwZWN0ZWRfdGhlcm1hbF9pbnRlcnJ1cHQoc3RydWN0IHB0X3JlZ3MgKnJlZ3MpCi17CQorewogCXByaW50ayhLRVJOX0VSUiAiQ1BVJWQ6IFVuZXhwZWN0ZWQgTFZUIFRNUiBpbnRlcnJ1cHQhXG4iLAogCQkJc21wX3Byb2Nlc3Nvcl9pZCgpKTsKIAlhZGRfdGFpbnQoVEFJTlRfTUFDSElORV9DSEVDSyk7CkBAIC04Myw3ICs4Myw3IEBACiAJICogYmUgc29tZSBTTU0gZ29vIHdoaWNoIGhhbmRsZXMgaXQsIHNvIHdlIGNhbid0IGV2ZW4gcHV0IGEgaGFuZGxlcgogCSAqIHNpbmNlIGl0IG1pZ2h0IGJlIGRlbGl2ZXJlZCB2aWEgU01JIGFscmVhZHkgLXp3YW5lbS4KIAkgKi8KLQlyZG1zciAoTVNSX0lBMzJfTUlTQ19FTkFCTEUsIGwsIGgpOworCXJkbXNyKE1TUl9JQTMyX01JU0NfRU5BQkxFLCBsLCBoKTsKIAloID0gYXBpY19yZWFkKEFQSUNfTFZUVEhNUik7CiAJaWYgKChsICYgKDE8PDMpKSAmJiAoaCAmIEFQSUNfRE1fU01JKSkgewogCQlwcmludGsoS0VSTl9ERUJVRyAiQ1BVJWQ6IFRoZXJtYWwgbW9uaXRvcmluZyBoYW5kbGVkIGJ5IFNNSVxuIiwKQEAgLTkxLDcgKzkxLDcgQEAKIAkJcmV0dXJuOyAvKiAtRUJVU1kgKi8KIAl9CiAKLQkvKiBjaGVjayB3aGV0aGVyIGEgdmVjdG9yIGFscmVhZHkgZXhpc3RzLCB0ZW1wb3JhcmlseSBtYXNrZWQ/ICovCQorCS8qIGNoZWNrIHdoZXRoZXIgYSB2ZWN0b3IgYWxyZWFkeSBleGlzdHMsIHRlbXBvcmFyaWx5IG1hc2tlZD8gKi8KIAlpZiAoaCAmIEFQSUNfVkVDVE9SX01BU0spIHsKIAkJcHJpbnRrKEtFUk5fREVCVUcgIkNQVSVkOiBUaGVybWFsIExWVCB2ZWN0b3IgKCUjeCkgYWxyZWFkeSAiCiAJCQkJImluc3RhbGxlZFxuIiwKQEAgLTEwNCwxOCArMTA0LDE4IEBACiAJaCB8PSAoQVBJQ19ETV9GSVhFRCB8IEFQSUNfTFZUX01BU0tFRCk7CS8qIHdlJ2xsIG1hc2sgdGlsbCB3ZSdyZSByZWFkeSAqLwogCWFwaWNfd3JpdGVfYXJvdW5kKEFQSUNfTFZUVEhNUiwgaCk7CiAKLQlyZG1zciAoTVNSX0lBMzJfVEhFUk1fSU5URVJSVVBULCBsLCBoKTsKLQl3cm1zciAoTVNSX0lBMzJfVEhFUk1fSU5URVJSVVBULCBsIHwgMHgwMyAsIGgpOworCXJkbXNyKE1TUl9JQTMyX1RIRVJNX0lOVEVSUlVQVCwgbCwgaCk7CisJd3Jtc3IoTVNSX0lBMzJfVEhFUk1fSU5URVJSVVBULCBsIHwgMHgwMyAsIGgpOwogCiAJLyogb2sgd2UncmUgZ29vZCB0byBnby4uLiAqLwogCXZlbmRvcl90aGVybWFsX2ludGVycnVwdCA9IGludGVsX3RoZXJtYWxfaW50ZXJydXB0OwotCQotCXJkbXNyIChNU1JfSUEzMl9NSVNDX0VOQUJMRSwgbCwgaCk7Ci0Jd3Jtc3IgKE1TUl9JQTMyX01JU0NfRU5BQkxFLCBsIHwgKDE8PDMpLCBoKTsKIAotCWwgPSBhcGljX3JlYWQgKEFQSUNfTFZUVEhNUik7Ci0JYXBpY193cml0ZV9hcm91bmQgKEFQSUNfTFZUVEhNUiwgbCAmIH5BUElDX0xWVF9NQVNLRUQpOwotCXByaW50ayAoS0VSTl9JTkZPICJDUFUlZDogVGhlcm1hbCBtb25pdG9yaW5nIGVuYWJsZWRcbiIsIGNwdSk7CisJcmRtc3IoTVNSX0lBMzJfTUlTQ19FTkFCTEUsIGwsIGgpOworCXdybXNyKE1TUl9JQTMyX01JU0NfRU5BQkxFLCBsIHwgKDE8PDMpLCBoKTsKKworCWwgPSBhcGljX3JlYWQoQVBJQ19MVlRUSE1SKTsKKwlhcGljX3dyaXRlX2Fyb3VuZChBUElDX0xWVFRITVIsIGwgJiB+QVBJQ19MVlRfTUFTS0VEKTsKKwlwcmludGsoS0VSTl9JTkZPICJDUFUlZDogVGhlcm1hbCBtb25pdG9yaW5nIGVuYWJsZWRcbiIsIGNwdSk7CiAKIAkvKiBlbmFibGUgdGhlcm1hbCB0aHJvdHRsZSBwcm9jZXNzaW5nICovCiAJYXRvbWljX3NldCgmdGhlcm1fdGhyb3RfZW4sIDEpOwpAQCAtMTI5LDI4ICsxMjksMjggQEAKIHsKIAl1MzIgaDsKIAotCXJkbXNyIChNU1JfSUEzMl9NQ0dfRUFYLCByLT5lYXgsIGgpOwotCXJkbXNyIChNU1JfSUEzMl9NQ0dfRUJYLCByLT5lYngsIGgpOwotCXJkbXNyIChNU1JfSUEzMl9NQ0dfRUNYLCByLT5lY3gsIGgpOwotCXJkbXNyIChNU1JfSUEzMl9NQ0dfRURYLCByLT5lZHgsIGgpOwotCXJkbXNyIChNU1JfSUEzMl9NQ0dfRVNJLCByLT5lc2ksIGgpOwotCXJkbXNyIChNU1JfSUEzMl9NQ0dfRURJLCByLT5lZGksIGgpOwotCXJkbXNyIChNU1JfSUEzMl9NQ0dfRUJQLCByLT5lYnAsIGgpOwotCXJkbXNyIChNU1JfSUEzMl9NQ0dfRVNQLCByLT5lc3AsIGgpOwotCXJkbXNyIChNU1JfSUEzMl9NQ0dfRUZMQUdTLCByLT5lZmxhZ3MsIGgpOwotCXJkbXNyIChNU1JfSUEzMl9NQ0dfRUlQLCByLT5laXAsIGgpOworCXJkbXNyKE1TUl9JQTMyX01DR19FQVgsIHItPmVheCwgaCk7CisJcmRtc3IoTVNSX0lBMzJfTUNHX0VCWCwgci0+ZWJ4LCBoKTsKKwlyZG1zcihNU1JfSUEzMl9NQ0dfRUNYLCByLT5lY3gsIGgpOworCXJkbXNyKE1TUl9JQTMyX01DR19FRFgsIHItPmVkeCwgaCk7CisJcmRtc3IoTVNSX0lBMzJfTUNHX0VTSSwgci0+ZXNpLCBoKTsKKwlyZG1zcihNU1JfSUEzMl9NQ0dfRURJLCByLT5lZGksIGgpOworCXJkbXNyKE1TUl9JQTMyX01DR19FQlAsIHItPmVicCwgaCk7CisJcmRtc3IoTVNSX0lBMzJfTUNHX0VTUCwgci0+ZXNwLCBoKTsKKwlyZG1zcihNU1JfSUEzMl9NQ0dfRUZMQUdTLCByLT5lZmxhZ3MsIGgpOworCXJkbXNyKE1TUl9JQTMyX01DR19FSVAsIHItPmVpcCwgaCk7CiB9CiAKLXN0YXRpYyB2b2lkIGludGVsX21hY2hpbmVfY2hlY2soc3RydWN0IHB0X3JlZ3MgKiByZWdzLCBsb25nIGVycm9yX2NvZGUpCitzdGF0aWMgdm9pZCBpbnRlbF9tYWNoaW5lX2NoZWNrKHN0cnVjdCBwdF9yZWdzICpyZWdzLCBsb25nIGVycm9yX2NvZGUpCiB7Ci0JaW50IHJlY292ZXI9MTsKKwlpbnQgcmVjb3ZlciA9IDE7CiAJdTMyIGFsb3csIGFoaWdoLCBoaWdoLCBsb3c7CiAJdTMyIG1jZ3N0bCwgbWNnc3RoOwogCWludCBpOwogCi0JcmRtc3IgKE1TUl9JQTMyX01DR19TVEFUVVMsIG1jZ3N0bCwgbWNnc3RoKTsKKwlyZG1zcihNU1JfSUEzMl9NQ0dfU1RBVFVTLCBtY2dzdGwsIG1jZ3N0aCk7CiAJaWYgKG1jZ3N0bCAmICgxPDwwKSkJLyogUmVjb3ZlcmFibGUgPyAqLwotCQlyZWNvdmVyPTA7CisJCXJlY292ZXIgPSAwOwogCiAJcHJpbnRrKEtFUk5fRU1FUkcgIkNQVSAlZDogTWFjaGluZSBDaGVjayBFeGNlcHRpb246ICUwOHglMDh4XG4iLAogCQlzbXBfcHJvY2Vzc29yX2lkKCksIG1jZ3N0aCwgbWNnc3RsKTsKQEAgLTE5MSwyMCArMTkxLDIwIEBACiAJfQogCiAJaWYgKHJlY292ZXIgJiAyKQotCQlwYW5pYyAoIkNQVSBjb250ZXh0IGNvcnJ1cHQiKTsKKwkJcGFuaWMoIkNQVSBjb250ZXh0IGNvcnJ1cHQiKTsKIAlpZiAocmVjb3ZlciAmIDEpCi0JCXBhbmljICgiVW5hYmxlIHRvIGNvbnRpbnVlIik7CisJCXBhbmljKCJVbmFibGUgdG8gY29udGludWUiKTsKIAogCXByaW50ayhLRVJOX0VNRVJHICJBdHRlbXB0aW5nIHRvIGNvbnRpbnVlLlxuIik7Ci0JLyogCi0JICogRG8gbm90IGNsZWFyIHRoZSBNU1JfSUEzMl9NQ2lfU1RBVFVTIGlmIHRoZSBlcnJvciBpcyBub3QgCisJLyoKKwkgKiBEbyBub3QgY2xlYXIgdGhlIE1TUl9JQTMyX01DaV9TVEFUVVMgaWYgdGhlIGVycm9yIGlzIG5vdAogCSAqIHJlY292ZXJhYmxlL2NvbnRpbnVhYmxlLlRoaXMgd2lsbCBhbGxvdyBCSU9TIHRvIGxvb2sgYXQgdGhlIE1TUnMKIAkgKiBmb3IgZXJyb3JzIGlmIHRoZSBPUyBjb3VsZCBub3QgbG9nIHRoZSBlcnJvci4KIAkgKi8KLQlmb3IgKGk9MDsgaTxucl9tY2VfYmFua3M7IGkrKykgeworCWZvciAoaSA9IDA7IGkgPCBucl9tY2VfYmFua3M7IGkrKykgewogCQl1MzIgbXNyOwogCQltc3IgPSBNU1JfSUEzMl9NQzBfU1RBVFVTK2kqNDsKLQkJcmRtc3IgKG1zciwgbG93LCBoaWdoKTsKKwkJcmRtc3IobXNyLCBsb3csIGhpZ2gpOwogCQlpZiAoaGlnaCYoMTw8MzEpKSB7CiAJCQkvKiBDbGVhciBpdCAqLwogCQkJd3Jtc3IobXNyLCAwVUwsIDBVTCk7CkBAIC0yMTQsNyArMjE0LDcgQEAKIAkJfQogCX0KIAltY2dzdGwgJj0gfigxPDwyKTsKLQl3cm1zciAoTVNSX0lBMzJfTUNHX1NUQVRVUyxtY2dzdGwsIG1jZ3N0aCk7CisJd3Jtc3IoTVNSX0lBMzJfTUNHX1NUQVRVUywgbWNnc3RsLCBtY2dzdGgpOwogfQogCiAKQEAgLTIyMiwzMCArMjIyLDMwIEBACiB7CiAJdTMyIGwsIGg7CiAJaW50IGk7Ci0JCisKIAltYWNoaW5lX2NoZWNrX3ZlY3RvciA9IGludGVsX21hY2hpbmVfY2hlY2s7CiAJd21iKCk7CiAKLQlwcmludGsgKEtFUk5fSU5GTyAiSW50ZWwgbWFjaGluZSBjaGVjayBhcmNoaXRlY3R1cmUgc3VwcG9ydGVkLlxuIik7Ci0JcmRtc3IgKE1TUl9JQTMyX01DR19DQVAsIGwsIGgpOworCXByaW50ayhLRVJOX0lORk8gIkludGVsIG1hY2hpbmUgY2hlY2sgYXJjaGl0ZWN0dXJlIHN1cHBvcnRlZC5cbiIpOworCXJkbXNyKE1TUl9JQTMyX01DR19DQVAsIGwsIGgpOwogCWlmIChsICYgKDE8PDgpKQkvKiBDb250cm9sIHJlZ2lzdGVyIHByZXNlbnQgPyAqLwotCQl3cm1zciAoTVNSX0lBMzJfTUNHX0NUTCwgMHhmZmZmZmZmZiwgMHhmZmZmZmZmZik7CisJCXdybXNyKE1TUl9JQTMyX01DR19DVEwsIDB4ZmZmZmZmZmYsIDB4ZmZmZmZmZmYpOwogCW5yX21jZV9iYW5rcyA9IGwgJiAweGZmOwogCi0JZm9yIChpPTA7IGk8bnJfbWNlX2JhbmtzOyBpKyspIHsKLQkJd3Jtc3IgKE1TUl9JQTMyX01DMF9DVEwrNCppLCAweGZmZmZmZmZmLCAweGZmZmZmZmZmKTsKLQkJd3Jtc3IgKE1TUl9JQTMyX01DMF9TVEFUVVMrNCppLCAweDAsIDB4MCk7CisJZm9yIChpID0gMDsgaSA8IG5yX21jZV9iYW5rczsgaSsrKSB7CisJCXdybXNyKE1TUl9JQTMyX01DMF9DVEwrNCppLCAweGZmZmZmZmZmLCAweGZmZmZmZmZmKTsKKwkJd3Jtc3IoTVNSX0lBMzJfTUMwX1NUQVRVUys0KmksIDB4MCwgMHgwKTsKIAl9CiAKLQlzZXRfaW5fY3I0IChYODZfQ1I0X01DRSk7Ci0JcHJpbnRrIChLRVJOX0lORk8gIkludGVsIG1hY2hpbmUgY2hlY2sgcmVwb3J0aW5nIGVuYWJsZWQgb24gQ1BVIyVkLlxuIiwKKwlzZXRfaW5fY3I0KFg4Nl9DUjRfTUNFKTsKKwlwcmludGsoS0VSTl9JTkZPICJJbnRlbCBtYWNoaW5lIGNoZWNrIHJlcG9ydGluZyBlbmFibGVkIG9uIENQVSMlZC5cbiIsCiAJCXNtcF9wcm9jZXNzb3JfaWQoKSk7CiAKIAkvKiBDaGVjayBmb3IgUDQvWGVvbiBleHRlbmRlZCBNQ0UgTVNScyAqLwotCXJkbXNyIChNU1JfSUEzMl9NQ0dfQ0FQLCBsLCBoKTsKKwlyZG1zcihNU1JfSUEzMl9NQ0dfQ0FQLCBsLCBoKTsKIAlpZiAobCAmICgxPDw5KSkJey8qIE1DR19FWFRfUCAqLwogCQltY2VfbnVtX2V4dGVuZGVkX21zcnMgPSAobCA+PiAxNikgJiAweGZmOwotCQlwcmludGsgKEtFUk5fSU5GTyAiQ1BVJWQ6IEludGVsIFA0L1hlb24gRXh0ZW5kZWQgTUNFIE1TUnMgKCVkKSIKKwkJcHJpbnRrKEtFUk5fSU5GTyAiQ1BVJWQ6IEludGVsIFA0L1hlb24gRXh0ZW5kZWQgTUNFIE1TUnMgKCVkKSIKIAkJCQkiIGF2YWlsYWJsZVxuIiwKIAkJCXNtcF9wcm9jZXNzb3JfaWQoKSwgbWNlX251bV9leHRlbmRlZF9tc3JzKTsKIApkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2NwdS9tdHJyL2dlbmVyaWMuYyBiL2FyY2gveDg2L2tlcm5lbC9jcHUvbXRyci9nZW5lcmljLmMKaW5kZXggNWQyNDFjZS4uNTA5YmQzZCAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL2NwdS9tdHJyL2dlbmVyaWMuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvY3B1L210cnIvZ2VuZXJpYy5jCkBAIC0zNyw3ICszNyw3IEBACiBzdGF0aWMgdW5zaWduZWQgbG9uZyBzbXBfY2hhbmdlc19tYXNrOwogc3RhdGljIHN0cnVjdCBtdHJyX3N0YXRlIG10cnJfc3RhdGUgPSB7fTsKIHN0YXRpYyBpbnQgbXRycl9zdGF0ZV9zZXQ7Ci1zdGF0aWMgdTY0IHRvbTI7Cit1NjQgbXRycl90b20yOwogCiAjdW5kZWYgTU9EVUxFX1BBUkFNX1BSRUZJWAogI2RlZmluZSBNT0RVTEVfUEFSQU1fUFJFRklYICJtdHJyLiIKQEAgLTEzOSw4ICsxMzksOCBAQAogCQl9CiAJfQogCi0JaWYgKHRvbTIpIHsKLQkJaWYgKHN0YXJ0ID49ICgxVUxMPDwzMikgJiYgKGVuZCA8IHRvbTIpKQorCWlmIChtdHJyX3RvbTIpIHsKKwkJaWYgKHN0YXJ0ID49ICgxVUxMPDwzMikgJiYgKGVuZCA8IG10cnJfdG9tMikpCiAJCQlyZXR1cm4gTVRSUl9UWVBFX1dSQkFDSzsKIAl9CiAKQEAgLTE1OCw2ICsxNTgsMjAgQEAKIAlyZG1zcihNVFJScGh5c01hc2tfTVNSKGluZGV4KSwgdnItPm1hc2tfbG8sIHZyLT5tYXNrX2hpKTsKIH0KIAorLyogIGZpbGwgdGhlIE1TUiBwYWlyIHJlbGF0aW5nIHRvIGEgdmFyIHJhbmdlICAqLwordm9pZCBmaWxsX210cnJfdmFyX3JhbmdlKHVuc2lnbmVkIGludCBpbmRleCwKKwkJdTMyIGJhc2VfbG8sIHUzMiBiYXNlX2hpLCB1MzIgbWFza19sbywgdTMyIG1hc2tfaGkpCit7CisJc3RydWN0IG10cnJfdmFyX3JhbmdlICp2cjsKKworCXZyID0gbXRycl9zdGF0ZS52YXJfcmFuZ2VzOworCisJdnJbaW5kZXhdLmJhc2VfbG8gPSBiYXNlX2xvOworCXZyW2luZGV4XS5iYXNlX2hpID0gYmFzZV9oaTsKKwl2cltpbmRleF0ubWFza19sbyA9IG1hc2tfbG87CisJdnJbaW5kZXhdLm1hc2tfaGkgPSBtYXNrX2hpOworfQorCiBzdGF0aWMgdm9pZAogZ2V0X2ZpeGVkX3JhbmdlcyhtdHJyX3R5cGUgKiBmcnMpCiB7CkBAIC0yMTMsMTMgKzIyNywxMyBAQAogCW10cnJfc3RhdGUuZW5hYmxlZCA9IChsbyAmIDB4YzAwKSA+PiAxMDsKIAogCWlmIChhbWRfc3BlY2lhbF9kZWZhdWx0X210cnIoKSkgewotCQl1bnNpZ25lZCBsbywgaGk7CisJCXVuc2lnbmVkIGxvdywgaGlnaDsKIAkJLyogVE9QX01FTTIgKi8KLQkJcmRtc3IoTVNSX0s4X1RPUF9NRU0yLCBsbywgaGkpOwotCQl0b20yID0gaGk7Ci0JCXRvbTIgPDw9IDMyOwotCQl0b20yIHw9IGxvOwotCQl0b20yICY9IDB4ZmZmZmZmODAwMDAwMFVMTDsKKwkJcmRtc3IoTVNSX0s4X1RPUF9NRU0yLCBsb3csIGhpZ2gpOworCQltdHJyX3RvbTIgPSBoaWdoOworCQltdHJyX3RvbTIgPDw9IDMyOworCQltdHJyX3RvbTIgfD0gbG93OworCQltdHJyX3RvbTIgJj0gMHhmZmZmZmY4MDAwMDBVTEw7CiAJfQogCWlmIChtdHJyX3Nob3cpIHsKIAkJaW50IGhpZ2hfd2lkdGg7CkBAIC0yNTEsOSArMjY1LDkgQEAKIAkJCWVsc2UKIAkJCQlwcmludGsoS0VSTl9JTkZPICJNVFJSICV1IGRpc2FibGVkXG4iLCBpKTsKIAkJfQotCQlpZiAodG9tMikgeworCQlpZiAobXRycl90b20yKSB7CiAJCQlwcmludGsoS0VSTl9JTkZPICJUT00yOiAlMDE2bGx4IGFrYSAlbGxkTVxuIiwKLQkJCQkJICB0b20yLCB0b20yPj4yMCk7CisJCQkJCSAgbXRycl90b20yLCBtdHJyX3RvbTI+PjIwKTsKIAkJfQogCX0KIAltdHJyX3N0YXRlX3NldCA9IDE7CkBAIC0zMjgsNyArMzQyLDcgQEAKIAogCWlmIChsbyAhPSBtc3J3b3Jkc1swXSB8fCBoaSAhPSBtc3J3b3Jkc1sxXSkgewogCQlpZiAoYm9vdF9jcHVfZGF0YS54ODZfdmVuZG9yID09IFg4Nl9WRU5ET1JfQU1EICYmCi0JCSAgICBib290X2NwdV9kYXRhLng4NiA9PSAxNSAmJgorCQkgICAgKGJvb3RfY3B1X2RhdGEueDg2ID49IDB4MGYgJiYgYm9vdF9jcHVfZGF0YS54ODYgPD0gMHgxMSkgJiYKIAkJICAgICgobXNyd29yZHNbMF0gfCBtc3J3b3Jkc1sxXSkgJiBLOF9NVFJSX1JETUVNX1dSTUVNX01BU0spKQogCQkJazhfZW5hYmxlX2ZpeGVkX2lvcnJzKCk7CiAJCW10cnJfd3Jtc3IobXNyLCBtc3J3b3Jkc1swXSwgbXNyd29yZHNbMV0pOwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2NwdS9tdHJyL21haW4uYyBiL2FyY2gveDg2L2tlcm5lbC9jcHUvbXRyci9tYWluLmMKaW5kZXggNmExZTI3OC4uMTA1YWZlMSAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL2NwdS9tdHJyL21haW4uYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvY3B1L210cnIvbWFpbi5jCkBAIC0zNyw2ICszNyw3IEBACiAjaW5jbHVkZSA8bGludXgvc21wLmg+CiAjaW5jbHVkZSA8bGludXgvY3B1Lmg+CiAjaW5jbHVkZSA8bGludXgvbXV0ZXguaD4KKyNpbmNsdWRlIDxsaW51eC9zb3J0Lmg+CiAKICNpbmNsdWRlIDxhc20vZTgyMC5oPgogI2luY2x1ZGUgPGFzbS9tdHJyLmg+CkBAIC02MDksNiArNjEwLDc4NyBAQAogCS5yZXN1bWUJCT0gbXRycl9yZXN0b3JlLAogfTsKIAorLyogc2hvdWxkIGJlIHJlbGF0ZWQgdG8gTVRSUl9WQVJfUkFOR0VTIG51bXMgKi8KKyNkZWZpbmUgUkFOR0VfTlVNIDI1NgorCitzdHJ1Y3QgcmVzX3JhbmdlIHsKKwl1bnNpZ25lZCBsb25nIHN0YXJ0OworCXVuc2lnbmVkIGxvbmcgZW5kOworfTsKKworc3RhdGljIGludCBfX2luaXQKK2FkZF9yYW5nZShzdHJ1Y3QgcmVzX3JhbmdlICpyYW5nZSwgaW50IG5yX3JhbmdlLCB1bnNpZ25lZCBsb25nIHN0YXJ0LAorCQkJICAgICAgdW5zaWduZWQgbG9uZyBlbmQpCit7CisJLyogb3V0IG9mIHNsb3RzICovCisJaWYgKG5yX3JhbmdlID49IFJBTkdFX05VTSkKKwkJcmV0dXJuIG5yX3JhbmdlOworCisJcmFuZ2VbbnJfcmFuZ2VdLnN0YXJ0ID0gc3RhcnQ7CisJcmFuZ2VbbnJfcmFuZ2VdLmVuZCA9IGVuZDsKKworCW5yX3JhbmdlKys7CisKKwlyZXR1cm4gbnJfcmFuZ2U7Cit9CisKK3N0YXRpYyBpbnQgX19pbml0CithZGRfcmFuZ2Vfd2l0aF9tZXJnZShzdHJ1Y3QgcmVzX3JhbmdlICpyYW5nZSwgaW50IG5yX3JhbmdlLCB1bnNpZ25lZCBsb25nIHN0YXJ0LAorCQkJICAgICAgdW5zaWduZWQgbG9uZyBlbmQpCit7CisJaW50IGk7CisKKwkvKiB0cnkgdG8gbWVyZ2UgaXQgd2l0aCBvbGQgb25lICovCisJZm9yIChpID0gMDsgaSA8IG5yX3JhbmdlOyBpKyspIHsKKwkJdW5zaWduZWQgbG9uZyBmaW5hbF9zdGFydCwgZmluYWxfZW5kOworCQl1bnNpZ25lZCBsb25nIGNvbW1vbl9zdGFydCwgY29tbW9uX2VuZDsKKworCQlpZiAoIXJhbmdlW2ldLmVuZCkKKwkJCWNvbnRpbnVlOworCisJCWNvbW1vbl9zdGFydCA9IG1heChyYW5nZVtpXS5zdGFydCwgc3RhcnQpOworCQljb21tb25fZW5kID0gbWluKHJhbmdlW2ldLmVuZCwgZW5kKTsKKwkJaWYgKGNvbW1vbl9zdGFydCA+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+IDIwKTsKKworCQlpZiAoIWNoYW5nZWRfYnlfbXRycl9jbGVhbnVwKQorCQkJV0FSTl9PTigxKTsKIAogCQlwcmludGsoS0VSTl9JTkZPICJ1cGRhdGUgZTgyMCBmb3IgbXRyclxuIik7Ci0JCXRyaW1fc3RhcnQgPSBoaWdoZXN0X3BmbjsKLQkJdHJpbV9zdGFydCA8PD0gUEFHRV9TSElGVDsKLQkJdHJpbV9zaXplID0gZW5kX3BmbjsKLQkJdHJpbV9zaXplIDw8PSBQQUdFX1NISUZUOwotCQl0cmltX3NpemUgLT0gdHJpbV9zdGFydDsKLQkJdXBkYXRlX21lbW9yeV9yYW5nZSh0cmltX3N0YXJ0LCB0cmltX3NpemUsIEU4MjBfUkFNLAotCQkJCQlFODIwX1JFU0VSVkVEKTsKIAkJdXBkYXRlX2U4MjAoKTsKKwogCQlyZXR1cm4gMTsKIAl9CiAKQEAgLTcyOSwxOCArMTU3OCwyMSBAQAogICovCiB2b2lkIF9faW5pdCBtdHJyX2JwX2luaXQodm9pZCkKIHsKKwl1MzIgcGh5c19hZGRyOwogCWluaXRfaWZzKCk7CiAKKwlwaHlzX2FkZHIgPSAzMjsKKwogCWlmIChjcHVfaGFzX210cnIpIHsKIAkJbXRycl9pZiA9ICZnZW5lcmljX210cnJfb3BzOwogCQlzaXplX29yX21hc2sgPSAweGZmMDAwMDAwOwkvKiAzNiBiaXRzICovCiAJCXNpemVfYW5kX21hc2sgPSAweDAwZjAwMDAwOworCQlwaHlzX2FkZHIgPSAzNjsKIAogCQkvKiBUaGlzIGlzIGFuIEFNRCBzcGVjaWZpYyBNU1IsIGJ1dCB3ZSBhc3N1bWUoaG9wZT8pIHRoYXQKIAkJICAgSW50ZWwgd2lsbCBpbXBsZW1lbnQgaXQgdG8gd2hlbiB0aGV5IGV4dGVuZCB0aGUgYWRkcmVzcwogCQkgICBidXMgb2YgdGhlIFhlb24uICovCiAJCWlmIChjcHVpZF9lYXgoMHg4MDAwMDAwMCkgPj0gMHg4MDAwMDAwOCkgewotCQkJdTMyIHBoeXNfYWRkcjsKIAkJCXBoeXNfYWRkciA9IGNwdWlkX2VheCgweDgwMDAwMDA4KSAmIDB4ZmY7CiAJCQkvKiBDUFVJRCB3b3JrYXJvdW5kIGZvciBJbnRlbCAwRjMzLzBGMzQgQ1BVICovCiAJCQlpZiAoYm9vdF9jcHVfZGF0YS54ODZfdmVuZG9yID09IFg4Nl9WRU5ET1JfSU5URUwgJiYKQEAgLTc1OCw2ICsxNjEwLDcgQEAKIAkJCSAgIGRvbid0IHN1cHBvcnQgUEFFICovCiAJCQlzaXplX29yX21hc2sgPSAweGZmZjAwMDAwOwkvKiAzMiBiaXRzICovCiAJCQlzaXplX2FuZF9tYXNrID0gMDsKKwkJCXBoeXNfYWRkciA9IDMyOwogCQl9CiAJfSBlbHNlIHsKIAkJc3dpdGNoIChib290X2NwdV9kYXRhLng4Nl92ZW5kb3IpIHsKQEAgLTc5MSw4ICsxNjQ0LDE1IEBACiAJaWYgKG10cnJfaWYpIHsKIAkJc2V0X251bV92YXJfcmFuZ2VzKCk7CiAJCWluaXRfdGFibGUoKTsKLQkJaWYgKHVzZV9pbnRlbCgpKQorCQlpZiAodXNlX2ludGVsKCkpIHsKIAkJCWdldF9tdHJyX3N0YXRlKCk7CisKKwkJCWlmIChtdHJyX2NsZWFudXAocGh5c19hZGRyKSkgeworCQkJCWNoYW5nZWRfYnlfbXRycl9jbGVhbnVwID0gMTsKKwkJCQltdHJyX2lmLT5zZXRfYWxsKCk7CisJCQl9CisKKwkJfQogCX0KIH0KIApAQCAtODI5LDkgKzE2ODksMTAgQEAKIHsKIAlpZiAoIW10cnJfaWYpCiAJCXJldHVybiAwOwotCWlmICh1c2VfaW50ZWwoKSkKLQkJbXRycl9zdGF0ZV93YXJuKCk7Ci0JZWxzZSB7CisJaWYgKHVzZV9pbnRlbCgpKSB7CisJCWlmICghY2hhbmdlZF9ieV9tdHJyX2NsZWFudXApCisJCQltdHJyX3N0YXRlX3dhcm4oKTsKKwl9IGVsc2UgewogCQkvKiBUaGUgQ1BVcyBoYXZlbid0IE1UUlIgYW5kIHNlZW0gdG8gbm90IHN1cHBvcnQgU01QLiBUaGV5IGhhdmUKIAkJICogc3BlY2lmaWMgZHJpdmVycywgd2UgdXNlIGEgdHJpY2t5IG1ldGhvZCB0byBzdXBwb3J0CiAJCSAqIHN1c3BlbmQvcmVzdW1lIGZvciB0aGVtLgpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2NwdS9tdHJyL210cnIuaCBiL2FyY2gveDg2L2tlcm5lbC9jcHUvbXRyci9tdHJyLmgKaW5kZXggMmNjNzdlYi4uMmRjNGVjNiAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL2NwdS9tdHJyL210cnIuaAorKysgYi9hcmNoL3g4Ni9rZXJuZWwvY3B1L210cnIvbXRyci5oCkBAIC04MSw2ICs4MSw4IEBACiB2b2lkIHNldF9tdHJyX2NhY2hlX2Rpc2FibGUoc3RydWN0IHNldF9tdHJyX2NvbnRleHQgKmN0eHQpOwogdm9pZCBzZXRfbXRycl9wcmVwYXJlX3NhdmUoc3RydWN0IHNldF9tdHJyX2NvbnRleHQgKmN0eHQpOwogCit2b2lkIGZpbGxfbXRycl92YXJfcmFuZ2UodW5zaWduZWQgaW50IGluZGV4LAorCQl1MzIgYmFzZV9sbywgdTMyIGJhc2VfaGksIHUzMiBtYXNrX2xvLCB1MzIgbWFza19oaSk7CiB2b2lkIGdldF9tdHJyX3N0YXRlKHZvaWQpOwogCiBleHRlcm4gdm9pZCBzZXRfbXRycl9vcHMoc3RydWN0IG10cnJfb3BzICogb3BzKTsKQEAgLTkyLDYgKzk0LDcgQEAKICNkZWZpbmUgdXNlX2ludGVsKCkJKG10cnJfaWYgJiYgbXRycl9pZi0+dXNlX2ludGVsX2lmID09IDEpCiAKIGV4dGVybiB1bnNpZ25lZCBpbnQgbnVtX3Zhcl9yYW5nZXM7CitleHRlcm4gdTY0IG10cnJfdG9tMjsKIAogdm9pZCBtdHJyX3N0YXRlX3dhcm4odm9pZCk7CiBjb25zdCBjaGFyICptdHJyX2F0dHJpYl90b19zdHIoaW50IHgpOwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2NwdS9wZXJmY3RyLXdhdGNoZG9nLmMgYi9hcmNoL3g4Ni9rZXJuZWwvY3B1L3BlcmZjdHItd2F0Y2hkb2cuYwppbmRleCBmOWFlOTNhLi4yZTliZWY2IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvY3B1L3BlcmZjdHItd2F0Y2hkb2cuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvY3B1L3BlcmZjdHItd2F0Y2hkb2cuYwpAQCAtMSwxMSArMSwxNSBAQAotLyogbG9jYWwgYXBpYyBiYXNlZCBOTUkgd2F0Y2hkb2cgZm9yIHZhcmlvdXMgQ1BVcy4KLSAgIFRoaXMgZmlsZSBhbHNvIGhhbmRsZXMgcmVzZXJ2YXRpb24gb2YgcGVyZm9ybWFuY2UgY291bnRlcnMgZm9yIGNvb3JkaW5hdGlvbgotICAgd2l0aCBvdGhlciB1c2VycyAobGlrZSBvcHJvZmlsZSkuCi0KLSAgIE5vdGUgdGhhdCB0aGVzZSBldmVudHMgbm9ybWFsbHkgZG9uJ3QgdGljayB3aGVuIHRoZSBDUFUgaWRsZXMuIFRoaXMgbWVhbnMKLSAgIHRoZSBmcmVxdWVuY3kgdmFyaWVzIHdpdGggQ1BVIGxvYWQuCi0KLSAgIE9yaWdpbmFsIGNvZGUgZm9yIEs3L1A2IHdyaXR0ZW4gYnkgS2VpdGggT3dlbnMgKi8KKy8qCisgKiBsb2NhbCBhcGljIGJhc2VkIE5NSSB3YXRjaGRvZyBmb3IgdmFyaW91cyBDUFVzLgorICoKKyAqIFRoaXMgZmlsZSBhbHNvIGhhbmRsZXMgcmVzZXJ2YXRpb24gb2YgcGVyZm9ybWFuY2UgY291bnRlcnMgZm9yIGNvb3JkaW5hdGlvbgorICogd2l0aCBvdGhlciB1c2VycyAobGlrZSBvcHJvZmlsZSkuCisgKgorICogTm90ZSB0aGF0IHRoZXNlIGV2ZW50cyBub3JtYWxseSBkb24ndCB0aWNrIHdoZW4gdGhlIENQVSBpZGxlcy4gVGhpcyBtZWFucworICogdGhlIGZyZXF1ZW5jeSB2YXJpZXMgd2l0aCBDUFUgbG9hZC4KKyAqCisgKiBPcmlnaW5hbCBjb2RlIGZvciBLNy9QNiB3cml0dGVuIGJ5IEtlaXRoIE93ZW5zCisgKgorICovCiAKICNpbmNsdWRlIDxsaW51eC9wZXJjcHUuaD4KICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KQEAgLTM2LDEyICs0MCwxNiBAQAogCiBzdGF0aWMgY29uc3Qgc3RydWN0IHdkX29wcyAqd2Rfb3BzOwogCi0vKiB0aGlzIG51bWJlciBpcyBjYWxjdWxhdGVkIGZyb20gSW50ZWwncyBNU1JfUDRfQ1JVX0VTQ1I1IHJlZ2lzdGVyIGFuZCBpdCdzCi0gKiBvZmZzZXQgZnJvbSBNU1JfUDRfQlNVX0VTQ1IwLiAgSXQgd2lsbCBiZSB0aGUgbWF4IGZvciBhbGwgcGxhdGZvcm1zIChmb3Igbm93KQorLyoKKyAqIHRoaXMgbnVtYmVyIGlzIGNhbGN1bGF0ZWQgZnJvbSBJbnRlbCdzIE1TUl9QNF9DUlVfRVNDUjUgcmVnaXN0ZXIgYW5kIGl0J3MKKyAqIG9mZnNldCBmcm9tIE1TUl9QNF9CU1VfRVNDUjAuCisgKgorICogSXQgd2lsbCBiZSB0aGUgbWF4IGZvciBhbGwgcGxhdGZvcm1zIChmb3Igbm93KQogICovCiAjZGVmaW5lIE5NSV9NQVhfQ09VTlRFUl9CSVRTIDY2CiAKLS8qIHBlcmZjdHJfbm1pX293bmVyIHRyYWNrcyB0aGUgb3duZXJzaGlwIG9mIHRoZSBwZXJmY3RyIHJlZ2lzdGVyczoKKy8qCisgKiBwZXJmY3RyX25taV9vd25lciB0cmFja3MgdGhlIG93bmVyc2hpcCBvZiB0aGUgcGVyZmN0ciByZWdpc3RlcnM6CiAgKiBldnRzZWxfbm1pX293bmVyIHRyYWNrcyB0aGUgb3duZXJzaGlwIG9mIHRoZSBldmVudCBzZWxlY3Rpb24KICAqIC0gZGlmZmVyZW50IHBlcmZvcm1hbmNlIGNvdW50ZXJzLyBldmVudCBzZWxlY3Rpb24gbWF5IGJlIHJlc2VydmVkIGZvcgogICogICBkaWZmZXJlbnQgc3Vic3lzdGVtcyB0aGlzIHJlc2VydmF0aW9uIHN5c3RlbSBqdXN0IHRyaWVzIHRvIGNvb3JkaW5hdGUKQEAgLTczLDggKzgxLDEwIEBACiAJcmV0dXJuIDA7CiB9CiAKLS8qIGNvbnZlcnRzIGFuIG1zciB0byBhbiBhcHByb3ByaWF0ZSByZXNlcnZhdGlvbiBiaXQgKi8KLS8qIHJldHVybnMgdGhlIGJpdCBvZmZzZXQgb2YgdGhlIGV2ZW50IHNlbGVjdGlvbiByZWdpc3RlciAqLworLyoKKyAqIGNvbnZlcnRzIGFuIG1zciB0byBhbiBhcHByb3ByaWF0ZSByZXNlcnZhdGlvbiBiaXQKKyAqIHJldHVybnMgdGhlIGJpdCBvZmZzZXQgb2YgdGhlIGV2ZW50IHNlbGVjdGlvbiByZWdpc3RlcgorICovCiBzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGludCBubWlfZXZudHNlbF9tc3JfdG9fYml0KHVuc2lnbmVkIGludCBtc3IpCiB7CiAJLyogcmV0dXJucyB0aGUgYml0IG9mZnNldCBvZiB0aGUgZXZlbnQgc2VsZWN0aW9uIHJlZ2lzdGVyICovCkBAIC0xMTQsNiArMTI0LDcgQEAKIAogCXJldHVybiAoIXRlc3RfYml0KGNvdW50ZXIsIHBlcmZjdHJfbm1pX293bmVyKSk7CiB9CitFWFBPUlRfU1lNQk9MKGF2YWlsX3RvX3Jlc3J2X3BlcmZjdHJfbm1pX2JpdCk7CiAKIGludCByZXNlcnZlX3BlcmZjdHJfbm1pKHVuc2lnbmVkIGludCBtc3IpCiB7CkBAIC0xMjgsNiArMTM5LDcgQEAKIAkJcmV0dXJuIDE7CiAJcmV0dXJuIDA7CiB9CitFWFBPUlRfU1lNQk9MKHJlc2VydmVfcGVyZmN0cl9ubWkpOwogCiB2b2lkIHJlbGVhc2VfcGVyZmN0cl9ubWkodW5zaWduZWQgaW50IG1zcikKIHsKQEAgLTE0MCw2ICsxNTIsNyBAQAogCiAJY2xlYXJfYml0KGNvdW50ZXIsIHBlcmZjdHJfbm1pX293bmVyKTsKIH0KK0VYUE9SVF9TWU1CT0wocmVsZWFzZV9wZXJmY3RyX25taSk7CiAKIGludCByZXNlcnZlX2V2bnRzZWxfbm1pKHVuc2lnbmVkIGludCBtc3IpCiB7CkBAIC0xNTQsNiArMTY3LDcgQEAKIAkJcmV0dXJuIDE7CiAJcmV0dXJuIDA7CiB9CitFWFBPUlRfU1lNQk9MKHJlc2VydmVfZXZudHNlbF9ubWkpOwogCiB2b2lkIHJlbGVhc2VfZXZudHNlbF9ubWkodW5zaWduZWQgaW50IG1zcikKIHsKQEAgLTE2NiwxMSArMTgwLDYgQEAKIAogCWNsZWFyX2JpdChjb3VudGVyLCBldm50c2VsX25taV9vd25lcik7CiB9Ci0KLUVYUE9SVF9TWU1CT0woYXZhaWxfdG9fcmVzcnZfcGVyZmN0cl9ubWlfYml0KTsKLUVYUE9SVF9TWU1CT0wocmVzZXJ2ZV9wZXJmY3RyX25taSk7Ci1FWFBPUlRfU1lNQk9MKHJlbGVhc2VfcGVyZmN0cl9ubWkpOwotRVhQT1JUX1NZTUJPTChyZXNlcnZlX2V2bnRzZWxfbm1pKTsKIEVYUE9SVF9TWU1CT0wocmVsZWFzZV9ldm50c2VsX25taSk7CiAKIHZvaWQgZGlzYWJsZV9sYXBpY19ubWlfd2F0Y2hkb2codm9pZCkKQEAgLTE4MSw3ICsxOTAsOSBAQAogCQlyZXR1cm47CiAKIAlvbl9lYWNoX2NwdShzdG9wX2FwaWNfbm1pX3dhdGNoZG9nLCBOVUxMLCAwLCAxKTsKLQl3ZF9vcHMtPnVucmVzZXJ2ZSgpOworCisJaWYgKHdkX29wcykKKwkJd2Rfb3BzLT51bnJlc2VydmUoKTsKIAogCUJVR19PTihhdG9taWNfcmVhZCgmbm1pX2FjdGl2ZSkgIT0gMCk7CiB9CkBAIC0yMzIsOCArMjQzLDggQEAKIAlyZXR1cm4gcmV0dmFsOwogfQogCi1zdGF0aWMgdm9pZAotd3JpdGVfd2F0Y2hkb2dfY291bnRlcih1bnNpZ25lZCBpbnQgcGVyZmN0cl9tc3IsIGNvbnN0IGNoYXIgKmRlc2NyLCB1bnNpZ25lZCBubWlfaHopCitzdGF0aWMgdm9pZCB3cml0ZV93YXRjaGRvZ19jb3VudGVyKHVuc2lnbmVkIGludCBwZXJmY3RyX21zciwKKwkJCQljb25zdCBjaGFyICpkZXNjciwgdW5zaWduZWQgbm1pX2h6KQogewogCXU2NCBjb3VudCA9ICh1NjQpY3B1X2toeiAqIDEwMDA7CiAKQEAgLTI0NCw3ICsyNTUsNyBAQAogfQogCiBzdGF0aWMgdm9pZCB3cml0ZV93YXRjaGRvZ19jb3VudGVyMzIodW5zaWduZWQgaW50IHBlcmZjdHJfbXNyLAotCQljb25zdCBjaGFyICpkZXNjciwgdW5zaWduZWQgbm1pX2h6KQorCQkJCWNvbnN0IGNoYXIgKmRlc2NyLCB1bnNpZ25lZCBubWlfaHopCiB7CiAJdTY0IGNvdW50ID0gKHU2NCljcHVfa2h6ICogMTAwMDsKIApAQCAtMjU0LDkgKzI2NSwxMCBAQAogCXdybXNyKHBlcmZjdHJfbXNyLCAodTMyKSgtY291bnQpLCAwKTsKIH0KIAotLyogQU1EIEs3L0s4L0ZhbWlseTEwaC9GYW1pbHkxMWggc3VwcG9ydC4gQU1EIGtlZXBzIHRoaXMgaW50ZXJmYWNlCi0gICBuaWNlbHkgc3RhYmxlIHNvIHRoZXJlIGlzIG5vdCBtdWNoIHZhcmlldHkgKi8KLQorLyoKKyAqIEFNRCBLNy9LOC9GYW1pbHkxMGgvRmFtaWx5MTFoIHN1cHBvcnQuCisgKiBBTUQga2VlcHMgdGhpcyBpbnRlcmZhY2UgbmljZWx5IHN0YWJsZSBzbyB0aGVyZSBpcyBub3QgbXVjaCB2YXJpZXR5CisgKi8KICNkZWZpbmUgSzdfRVZOVFNFTF9FTkFCTEUJKDEgPDwgMjIpCiAjZGVmaW5lIEs3X0VWTlRTRUxfSU5UCQkoMSA8PCAyMCkKICNkZWZpbmUgSzdfRVZOVFNFTF9PUwkJKDEgPDwgMTcpCkBAIC0yODksNyArMzAxLDcgQEAKIAogCXdkLT5wZXJmY3RyX21zciA9IHBlcmZjdHJfbXNyOwogCXdkLT5ldm50c2VsX21zciA9IGV2bnRzZWxfbXNyOwotCXdkLT5jY2NyX21zciA9IDA7ICAvL3VudXNlZAorCXdkLT5jY2NyX21zciA9IDA7ICAvKiB1bnVzZWQgKi8KIAlyZXR1cm4gMTsKIH0KIApAQCAtMzI1LDE4ICszMzcsMTkgQEAKIH0KIAogc3RhdGljIGNvbnN0IHN0cnVjdCB3ZF9vcHMgazdfd2Rfb3BzID0gewotCS5yZXNlcnZlID0gc2luZ2xlX21zcl9yZXNlcnZlLAotCS51bnJlc2VydmUgPSBzaW5nbGVfbXNyX3VucmVzZXJ2ZSwKLQkuc2V0dXAgPSBzZXR1cF9rN193YXRjaGRvZywKLQkucmVhcm0gPSBzaW5nbGVfbXNyX3JlYXJtLAotCS5zdG9wID0gc2luZ2xlX21zcl9zdG9wX3dhdGNoZG9nLAotCS5wZXJmY3RyID0gTVNSX0s3X1BFUkZDVFIwLAotCS5ldm50c2VsID0gTVNSX0s3X0VWTlRTRUwwLAotCS5jaGVja2JpdCA9IDFVTEw8PDQ3LAorCS5yZXNlcnZlCT0gc2luZ2xlX21zcl9yZXNlcnZlLAorCS51bnJlc2VydmUJPSBzaW5nbGVfbXNyX3VucmVzZXJ2ZSwKKwkuc2V0dXAJCT0gc2V0dXBfazdfd2F0Y2hkb2csCisJLnJlYXJtCQk9IHNpbmdsZV9tc3JfcmVhcm0sCisJLnN0b3AJCT0gc2luZ2xlX21zcl9zdG9wX3dhdGNoZG9nLAorCS5wZXJmY3RyCT0gTVNSX0s3X1BFUkZDVFIwLAorCS5ldm50c2VsCT0gTVNSX0s3X0VWTlRTRUwwLAorCS5jaGVja2JpdAk9IDFVTEwgPDwgNDcsCiB9OwogCi0vKiBJbnRlbCBNb2RlbCA2IChQUHJvKyxQMixQMyxQLU0sQ29yZTEpICovCi0KKy8qCisgKiBJbnRlbCBNb2RlbCA2IChQUHJvKyxQMixQMyxQLU0sQ29yZTEpCisgKi8KICNkZWZpbmUgUDZfRVZOVFNFTDBfRU5BQkxFCSgxIDw8IDIyKQogI2RlZmluZSBQNl9FVk5UU0VMX0lOVAkJKDEgPDwgMjApCiAjZGVmaW5lIFA2X0VWTlRTRUxfT1MJCSgxIDw8IDE3KQpAQCAtMzcyLDUyICszODUsNTggQEAKIAogCXdkLT5wZXJmY3RyX21zciA9IHBlcmZjdHJfbXNyOwogCXdkLT5ldm50c2VsX21zciA9IGV2bnRzZWxfbXNyOwotCXdkLT5jY2NyX21zciA9IDA7ICAvL3VudXNlZAorCXdkLT5jY2NyX21zciA9IDA7ICAvKiB1bnVzZWQgKi8KIAlyZXR1cm4gMTsKIH0KIAogc3RhdGljIHZvaWQgcDZfcmVhcm0oc3RydWN0IG5taV93YXRjaGRvZ19jdGxibGsgKndkLCB1bnNpZ25lZCBubWlfaHopCiB7Ci0JLyogUDYgYmFzZWQgUGVudGl1bSBNIG5lZWQgdG8gcmUtdW5tYXNrCisJLyoKKwkgKiBQNiBiYXNlZCBQZW50aXVtIE0gbmVlZCB0byByZS11bm1hc2sKIAkgKiB0aGUgYXBpYyB2ZWN0b3IgYnV0IGl0IGRvZXNuJ3QgaHVydAogCSAqIG90aGVyIFA2IHZhcmlhbnQuCi0JICogQXJjaFBlcmZvbS9Db3JlIER1byBhbHNvIG5lZWRzIHRoaXMgKi8KKwkgKiBBcmNoUGVyZm9tL0NvcmUgRHVvIGFsc28gbmVlZHMgdGhpcworCSAqLwogCWFwaWNfd3JpdGUoQVBJQ19MVlRQQywgQVBJQ19ETV9OTUkpOworCiAJLyogUDYvQVJDSF9QRVJGTU9OIGhhcyAzMiBiaXQgY291bnRlciB3cml0ZSAqLwogCXdyaXRlX3dhdGNoZG9nX2NvdW50ZXIzMih3ZC0+cGVyZmN0cl9tc3IsIE5VTEwsbm1pX2h6KTsKIH0KIAogc3RhdGljIGNvbnN0IHN0cnVjdCB3ZF9vcHMgcDZfd2Rfb3BzID0gewotCS5yZXNlcnZlID0gc2luZ2xlX21zcl9yZXNlcnZlLAotCS51bnJlc2VydmUgPSBzaW5nbGVfbXNyX3VucmVzZXJ2ZSwKLQkuc2V0dXAgPSBzZXR1cF9wNl93YXRjaGRvZywKLQkucmVhcm0gPSBwNl9yZWFybSwKLQkuc3RvcCA9IHNpbmdsZV9tc3Jfc3RvcF93YXRjaGRvZywKLQkucGVyZmN0ciA9IE1TUl9QNl9QRVJGQ1RSMCwKLQkuZXZudHNlbCA9IE1TUl9QNl9FVk5UU0VMMCwKLQkuY2hlY2tiaXQgPSAxVUxMPDwzOSwKKwkucmVzZXJ2ZQk9IHNpbmdsZV9tc3JfcmVzZXJ2ZSwKKwkudW5yZXNlcnZlCT0gc2luZ2xlX21zcl91bnJlc2VydmUsCisJLnNldHVwCQk9IHNldHVwX3A2X3dhdGNoZG9nLAorCS5yZWFybQkJPSBwNl9yZWFybSwKKwkuc3RvcAkJPSBzaW5nbGVfbXNyX3N0b3Bfd2F0Y2hkb2csCisJLnBlcmZjdHIJPSBNU1JfUDZfUEVSRkNUUjAsCisJLmV2bnRzZWwJPSBNU1JfUDZfRVZOVFNFTDAsCisJLmNoZWNrYml0CT0gMVVMTCA8PCAzOSwKIH07CiAKLS8qIEludGVsIFA0IHBlcmZvcm1hbmNlIGNvdW50ZXJzLiBCeSBmYXIgdGhlIG1vc3QgY29tcGxpY2F0ZWQgb2YgYWxsLiAqLworLyoKKyAqIEludGVsIFA0IHBlcmZvcm1hbmNlIGNvdW50ZXJzLgorICogQnkgZmFyIHRoZSBtb3N0IGNvbXBsaWNhdGVkIG9mIGFsbC4KKyAqLworI2RlZmluZSBNU1JfUDRfTUlTQ19FTkFCTEVfUEVSRl9BVkFJTAkoMSA8PCA3KQorI2RlZmluZSBQNF9FU0NSX0VWRU5UX1NFTEVDVChOKQkoKE4pIDw8IDI1KQorI2RlZmluZSBQNF9FU0NSX09TCQkoMSA8PCAzKQorI2RlZmluZSBQNF9FU0NSX1VTUgkJKDEgPDwgMikKKyNkZWZpbmUgUDRfQ0NDUl9PVkZfUE1JMAkoMSA8PCAyNikKKyNkZWZpbmUgUDRfQ0NDUl9PVkZfUE1JMQkoMSA8PCAyNykKKyNkZWZpbmUgUDRfQ0NDUl9USFJFU0hPTEQoTikJKChOKSA8PCAyMCkKKyNkZWZpbmUgUDRfQ0NDUl9DT01QTEVNRU5UCSgxIDw8IDE5KQorI2RlZmluZSBQNF9DQ0NSX0NPTVBBUkUJCSgxIDw8IDE4KQorI2RlZmluZSBQNF9DQ0NSX1JFUVVJUkVECSgzIDw8IDE2KQorI2RlZmluZSBQNF9DQ0NSX0VTQ1JfU0VMRUNUKE4pCSgoTikgPDwgMTMpCisjZGVmaW5lIFA0X0NDQ1JfRU5BQkxFCQkoMSA8PCAxMikKKyNkZWZpbmUgUDRfQ0NDUl9PVkYgCQkoMSA8PCAzMSkKIAotI2RlZmluZSBNU1JfUDRfTUlTQ19FTkFCTEVfUEVSRl9BVkFJTAkoMTw8NykKLSNkZWZpbmUgUDRfRVNDUl9FVkVOVF9TRUxFQ1QoTikJKChOKTw8MjUpCi0jZGVmaW5lIFA0X0VTQ1JfT1MJCSgxPDwzKQotI2RlZmluZSBQNF9FU0NSX1VTUgkJKDE8PDIpCi0jZGVmaW5lIFA0X0NDQ1JfT1ZGX1BNSTAJKDE8PDI2KQotI2RlZmluZSBQNF9DQ0NSX09WRl9QTUkxCSgxPDwyNykKLSNkZWZpbmUgUDRfQ0NDUl9USFJFU0hPTEQoTikJKChOKTw8MjApCi0jZGVmaW5lIFA0X0NDQ1JfQ09NUExFTUVOVAkoMTw8MTkpCi0jZGVmaW5lIFA0X0NDQ1JfQ09NUEFSRQkJKDE8PDE4KQotI2RlZmluZSBQNF9DQ0NSX1JFUVVJUkVECSgzPDwxNikKLSNkZWZpbmUgUDRfQ0NDUl9FU0NSX1NFTEVDVChOKQkoKE4pPDwxMykKLSNkZWZpbmUgUDRfQ0NDUl9FTkFCTEUJCSgxPDwxMikKLSNkZWZpbmUgUDRfQ0NDUl9PVkYgCQkoMTw8MzEpCi0KLS8qIFNldCB1cCBJUV9DT1VOVEVSMCB0byBiZWhhdmUgbGlrZSBhIGNsb2NrLCBieSBoYXZpbmcgSVFfQ0NDUjAgZmlsdGVyCi0gICBDUlVfRVNDUjAgKHdpdGggYW55IG5vbi1udWxsIGV2ZW50IHNlbGVjdG9yKSB0aHJvdWdoIGEgY29tcGxlbWVudGVkCi0gICBtYXggdGhyZXNob2xkLiBbSUEzMi1Wb2wzLCBTZWN0aW9uIDE0LjkuOV0gKi8KLQorLyoKKyAqIFNldCB1cCBJUV9DT1VOVEVSMCB0byBiZWhhdmUgbGlrZSBhIGNsb2NrLCBieSBoYXZpbmcgSVFfQ0NDUjAgZmlsdGVyCisgKiBDUlVfRVNDUjAgKHdpdGggYW55IG5vbi1udWxsIGV2ZW50IHNlbGVjdG9yKSB0aHJvdWdoIGEgY29tcGxlbWVudGVkCisgKiBtYXggdGhyZXNob2xkLiBbSUEzMi1Wb2wzLCBTZWN0aW9uIDE0LjkuOV0KKyAqLwogc3RhdGljIGludCBzZXR1cF9wNF93YXRjaGRvZyh1bnNpZ25lZCBubWlfaHopCiB7CiAJdW5zaWduZWQgaW50IHBlcmZjdHJfbXNyLCBldm50c2VsX21zciwgY2Njcl9tc3I7CkBAIC00NDIsNyArNDYxLDggQEAKICNlbmRpZgogCQlodF9udW0gPSAwOwogCi0JLyogcGVyZm9ybWFuY2UgY291bnRlcnMgYXJlIHNoYXJlZCByZXNvdXJjZXMKKwkvKgorCSAqIHBlcmZvcm1hbmNlIGNvdW50ZXJzIGFyZSBzaGFyZWQgcmVzb3VyY2VzCiAJICogYXNzaWduIGVhY2ggaHlwZXJ0aHJlYWQgaXRzIG93biBzZXQKIAkgKiAocmUtdXNlIHRoZSBFU0NSMCByZWdpc3Rlciwgc2VlbXMgc2FmZQogCSAqIGFuZCBrZWVwcyB0aGUgY2Njcl92YWwgdGhlIHNhbWUpCkBAIC01NDAsMjAgKzU2MCwyMSBAQAogfQogCiBzdGF0aWMgY29uc3Qgc3RydWN0IHdkX29wcyBwNF93ZF9vcHMgPSB7Ci0JLnJlc2VydmUgPSBwNF9yZXNlcnZlLAotCS51bnJlc2VydmUgPSBwNF91bnJlc2VydmUsCi0JLnNldHVwID0gc2V0dXBfcDRfd2F0Y2hkb2csCi0JLnJlYXJtID0gcDRfcmVhcm0sCi0JLnN0b3AgPSBzdG9wX3A0X3dhdGNoZG9nLAorCS5yZXNlcnZlCT0gcDRfcmVzZXJ2ZSwKKwkudW5yZXNlcnZlCT0gcDRfdW5yZXNlcnZlLAorCS5zZXR1cAkJPSBzZXR1cF9wNF93YXRjaGRvZywKKwkucmVhcm0JCT0gcDRfcmVhcm0sCisJLnN0b3AJCT0gc3RvcF9wNF93YXRjaGRvZywKIAkvKiBSRUQtUEVOIHRoaXMgaXMgd3JvbmcgZm9yIHRoZSBvdGhlciBzaWJsaW5nICovCi0JLnBlcmZjdHIgPSBNU1JfUDRfQlBVX1BFUkZDVFIwLAotCS5ldm50c2VsID0gTVNSX1A0X0JTVV9FU0NSMCwKLQkuY2hlY2tiaXQgPSAxVUxMPDwzOSwKKwkucGVyZmN0cgk9IE1TUl9QNF9CUFVfUEVSRkNUUjAsCisJLmV2bnRzZWwJPSBNU1JfUDRfQlNVX0VTQ1IwLAorCS5jaGVja2JpdAk9IDFVTEwgPDwgMzksCiB9OwogCi0vKiBXYXRjaGRvZyB1c2luZyB0aGUgSW50ZWwgYXJjaGl0ZWN0ZWQgUGVyZk1vbi4gVXNlZCBmb3IgQ29yZTIgYW5kIGhvcGVmdWxseQotICAgYWxsIGZ1dHVyZSBJbnRlbCBDUFVzLiAqLwotCisvKgorICogV2F0Y2hkb2cgdXNpbmcgdGhlIEludGVsIGFyY2hpdGVjdGVkIFBlcmZNb24uCisgKiBVc2VkIGZvciBDb3JlMiBhbmQgaG9wZWZ1bGx5IGFsbCBmdXR1cmUgSW50ZWwgQ1BVcy4KKyAqLwogI2RlZmluZSBBUkNIX1BFUkZNT05fTk1JX0VWRU5UX1NFTAlBUkNIX1BFUkZNT05fVU5IQUxURURfQ09SRV9DWUNMRVNfU0VMCiAjZGVmaW5lIEFSQ0hfUEVSRk1PTl9OTUlfRVZFTlRfVU1BU0sJQVJDSF9QRVJGTU9OX1VOSEFMVEVEX0NPUkVfQ1lDTEVTX1VNQVNLCiAKQEAgLTU5OSwxOSArNjIwLDE5IEBACiAKIAl3ZC0+cGVyZmN0cl9tc3IgPSBwZXJmY3RyX21zcjsKIAl3ZC0+ZXZudHNlbF9tc3IgPSBldm50c2VsX21zcjsKLQl3ZC0+Y2Njcl9tc3IgPSAwOyAgLy91bnVzZWQKKwl3ZC0+Y2Njcl9tc3IgPSAwOyAgLyogdW51c2VkICovCiAJaW50ZWxfYXJjaF93ZF9vcHMuY2hlY2tiaXQgPSAxVUxMIDw8IChlYXguc3BsaXQuYml0X3dpZHRoIC0gMSk7CiAJcmV0dXJuIDE7CiB9CiAKIHN0YXRpYyBzdHJ1Y3Qgd2Rfb3BzIGludGVsX2FyY2hfd2Rfb3BzIF9fcmVhZF9tb3N0bHkgPSB7Ci0JLnJlc2VydmUgPSBzaW5nbGVfbXNyX3Jlc2VydmUsCi0JLnVucmVzZXJ2ZSA9IHNpbmdsZV9tc3JfdW5yZXNlcnZlLAotCS5zZXR1cCA9IHNldHVwX2ludGVsX2FyY2hfd2F0Y2hkb2csCi0JLnJlYXJtID0gcDZfcmVhcm0sCi0JLnN0b3AgPSBzaW5nbGVfbXNyX3N0b3Bfd2F0Y2hkb2csCi0JLnBlcmZjdHIgPSBNU1JfQVJDSF9QRVJGTU9OX1BFUkZDVFIxLAotCS5ldm50c2VsID0gTVNSX0FSQ0hfUEVSRk1PTl9FVkVOVFNFTDEsCisJLnJlc2VydmUJPSBzaW5nbGVfbXNyX3Jlc2VydmUsCisJLnVucmVzZXJ2ZQk9IHNpbmdsZV9tc3JfdW5yZXNlcnZlLAorCS5zZXR1cAkJPSBzZXR1cF9pbnRlbF9hcmNoX3dhdGNoZG9nLAorCS5yZWFybQkJPSBwNl9yZWFybSwKKwkuc3RvcAkJPSBzaW5nbGVfbXNyX3N0b3Bfd2F0Y2hkb2csCisJLnBlcmZjdHIJPSBNU1JfQVJDSF9QRVJGTU9OX1BFUkZDVFIxLAorCS5ldm50c2VsCT0gTVNSX0FSQ0hfUEVSRk1PTl9FVkVOVFNFTDEsCiB9OwogCiBzdGF0aWMgdm9pZCBwcm9iZV9ubWlfd2F0Y2hkb2codm9pZCkKQEAgLTYyNCw4ICs2NDUsMTAgQEAKIAkJd2Rfb3BzID0gJms3X3dkX29wczsKIAkJYnJlYWs7CiAJY2FzZSBYODZfVkVORE9SX0lOVEVMOgotCQkvKiBXb3JrIGFyb3VuZCBDb3JlIER1byAoWW9uYWgpIGVycmF0YSBBRTQ5IHdoZXJlIHBlcmZjdHIxCi0JCSAgIGRvZXNuJ3QgaGF2ZSBhIHdvcmtpbmcgZW5hYmxlIGJpdC4gKi8KKwkJLyoKKwkJICogV29yayBhcm91bmQgQ29yZSBEdW8gKFlvbmFoKSBlcnJhdGEgQUU0OSB3aGVyZSBwZXJmY3RyMQorCQkgKiBkb2Vzbid0IGhhdmUgYSB3b3JraW5nIGVuYWJsZSBiaXQuCisJCSAqLwogCQlpZiAoYm9vdF9jcHVfZGF0YS54ODYgPT0gNiAmJiBib290X2NwdV9kYXRhLng4Nl9tb2RlbCA9PSAxNCkgewogCQkJaW50ZWxfYXJjaF93ZF9vcHMucGVyZmN0ciA9IE1TUl9BUkNIX1BFUkZNT05fUEVSRkNUUjA7CiAJCQlpbnRlbF9hcmNoX3dkX29wcy5ldm50c2VsID0gTVNSX0FSQ0hfUEVSRk1PTl9FVkVOVFNFTDA7CkBAIC02MzYsNyArNjU5LDcgQEAKIAkJfQogCQlzd2l0Y2ggKGJvb3RfY3B1X2RhdGEueDg2KSB7CiAJCWNhc2UgNjoKLQkJCWlmIChib290X2NwdV9kYXRhLng4Nl9tb2RlbCA+IDB4ZCkKKwkJCWlmIChib290X2NwdV9kYXRhLng4Nl9tb2RlbCA+IDEzKQogCQkJCXJldHVybjsKIAogCQkJd2Rfb3BzID0gJnA2X3dkX29wczsKQEAgLTY5NywxMCArNzIwLDExIEBACiB7CiAJc3RydWN0IG5taV93YXRjaGRvZ19jdGxibGsgKndkID0gJl9fZ2V0X2NwdV92YXIobm1pX3dhdGNoZG9nX2N0bGJsayk7CiAJdTY0IGN0cjsKKwogCXJkbXNybCh3ZC0+cGVyZmN0cl9tc3IsIGN0cik7Ci0JaWYgKGN0ciAmIHdkX29wcy0+Y2hlY2tiaXQpIHsgLyogcGVyZmN0ciBzdGlsbCBydW5uaW5nPyAqLworCWlmIChjdHIgJiB3ZF9vcHMtPmNoZWNrYml0KSAvKiBwZXJmY3RyIHN0aWxsIHJ1bm5pbmc/ICovCiAJCXJldHVybiAwOwotCX0KKwogCXdkX29wcy0+cmVhcm0od2QsIG5taV9oeik7CiAJcmV0dXJuIDE7CiB9CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvY3B1aWQuYyBiL2FyY2gveDg2L2tlcm5lbC9jcHVpZC5jCmluZGV4IGRhZmY1MmEuLjcxZjFjMjYgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9jcHVpZC5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9jcHVpZC5jCkBAIC0zMyw2ICszMyw3IEBACiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgogI2luY2x1ZGUgPGxpbnV4L3BvbGwuaD4KICNpbmNsdWRlIDxsaW51eC9zbXAuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L21ham9yLmg+CiAjaW5jbHVkZSA8bGludXgvZnMuaD4KICNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgpAQCAtMTA3LDE1ICsxMDgsMjMgQEAKIAogc3RhdGljIGludCBjcHVpZF9vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQogewotCXVuc2lnbmVkIGludCBjcHUgPSBpbWlub3IoZmlsZS0+Zl9wYXRoLmRlbnRyeS0+ZF9pbm9kZSk7Ci0Jc3RydWN0IGNwdWluZm9feDg2ICpjID0gJmNwdV9kYXRhKGNwdSk7CisJdW5zaWduZWQgaW50IGNwdTsKKwlzdHJ1Y3QgY3B1aW5mb194ODYgKmM7CisJaW50IHJldCA9IDA7CisJCisJbG9ja19rZXJuZWwoKTsKIAotCWlmIChjcHUgPj0gTlJfQ1BVUyB8fCAhY3B1X29ubGluZShjcHUpKQotCQlyZXR1cm4gLUVOWElPOwkvKiBObyBzdWNoIENQVSAqLworCWNwdSA9IGltaW5vcihmaWxlLT5mX3BhdGguZGVudHJ5LT5kX2lub2RlKTsKKwlpZiAoY3B1ID49IE5SX0NQVVMgfHwgIWNwdV9vbmxpbmUoY3B1KSkgeworCQlyZXQgPSAtRU5YSU87CS8qIE5vIHN1Y2ggQ1BVICovCisJCWdvdG8gb3V0OworCX0KKwljID0gJmNwdV9kYXRhKGNwdSk7CiAJaWYgKGMtPmNwdWlkX2xldmVsIDwgMCkKLQkJcmV0dXJuIC1FSU87CS8qIENQVUlEIG5vdCBzdXBwb3J0ZWQgKi8KLQotCXJldHVybiAwOworCQlyZXQgPSAtRUlPOwkvKiBDUFVJRCBub3Qgc3VwcG9ydGVkICovCitvdXQ6CisJdW5sb2NrX2tlcm5lbCgpOworCXJldHVybiByZXQ7CiB9CiAKIC8qCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvZTgyMC5jIGIvYXJjaC94ODYva2VybmVsL2U4MjAuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yOGMyOTE4Ci0tLSAvZGV2L251bGwKKysrIGIvYXJjaC94ODYva2VybmVsL2U4MjAuYwpAQCAtMCwwICsxLDEzOTAgQEAKKy8qCisgKiBIYW5kbGUgdGhlIG1lbW9yeSBtYXAuCisgKiBUaGUgZnVuY3Rpb25zIGhlcmUgZG8gdGhlIGpvYiB1bnRpbCBib290bWVtIHRha2VzIG92ZXIuCisgKgorICogIEdldHRpbmcgc2FuaXRpemVfZTgyMF9tYXAoKSBpbiBzeW5jIHdpdGggaTM4NiB2ZXJzaW9uIGJ5IGFwcGx5aW5nIGNoYW5nZToKKyAqICAtICBQcm92aXNpb25zIGZvciBlbXB0eSBFODIwIG1lbW9yeSByZWdpb25zIChyZXBvcnRlZCBieSBjZXJ0YWluIEJJT1NlcykuCisgKiAgICAgQWxleCBBY2hlbmJhY2ggPHhlbGFAc2xpdC5kZT4sIERlY2VtYmVyIDIwMDIuCisgKiAgVmVua2F0ZXNoIFBhbGxpcGFkaSA8dmVua2F0ZXNoLnBhbGxpcGFkaUBpbnRlbC5jb20+CisgKgorICovCisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvYm9vdG1lbS5oPgorI2luY2x1ZGUgPGxpbnV4L2lvcG9ydC5oPgorI2luY2x1ZGUgPGxpbnV4L3N0cmluZy5oPgorI2luY2x1ZGUgPGxpbnV4L2tleGVjLmg+CisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvbW0uaD4KKyNpbmNsdWRlIDxsaW51eC9wZm4uaD4KKyNpbmNsdWRlIDxsaW51eC9zdXNwZW5kLmg+CisjaW5jbHVkZSA8bGludXgvZmlybXdhcmUtbWFwLmg+CisKKyNpbmNsdWRlIDxhc20vcGd0YWJsZS5oPgorI2luY2x1ZGUgPGFzbS9wYWdlLmg+CisjaW5jbHVkZSA8YXNtL2U4MjAuaD4KKyNpbmNsdWRlIDxhc20vcHJvdG8uaD4KKyNpbmNsdWRlIDxhc20vc2V0dXAuaD4KKyNpbmNsdWRlIDxhc20vdHJhbXBvbGluZS5oPgorCisvKgorICogVGhlIGU4MjAgbWFwIGlzIHRoZSBtYXAgdGhhdCBnZXRzIG1vZGlmaWVkIGUuZy4gd2l0aCBjb21tYW5kIGxpbmUgcGFyYW1ldGVycworICogYW5kIHRoYXQgaXMgYWxzbyByZWdpc3RlcmVkIHdpdGggbW9kaWZpY2F0aW9ucyBpbiB0aGUga2VybmVsIHJlc291cmNlIHRyZWUKKyAqIHdpdGggdGhlIGlvbWVtX3Jlc291cmNlIGFzIHBhcmVudC4KKyAqCisgKiBUaGUgZTgyMF9zYXZlZCBpcyBkaXJlY3RseSBzYXZlZCBhZnRlciB0aGUgQklPUy1wcm92aWRlZCBtZW1vcnkgbWFwIGlzCisgKiBjb3BpZWQuIEl0IGRvZXNuJ3QgZ2V0IG1vZGlmaWVkIGFmdGVyd2FyZHMuIEl0J3MgcmVnaXN0ZXJlZCBmb3IgdGhlCisgKiAvc3lzL2Zpcm13YXJlL21lbW1hcCBpbnRlcmZhY2UuCisgKgorICogVGhhdCBtZW1vcnkgbWFwIGlzIG5vdCBtb2RpZmllZCBhbmQgaXMgdXNlZCBhcyBiYXNlIGZvciBrZXhlYy4gVGhlIGtleGVjJ2QKKyAqIGtlcm5lbCBzaG91bGQgZ2V0IHRoZSBzYW1lIG1lbW9yeSBtYXAgYXMgdGhlIGZpcm13YXJlIHByb3ZpZGVzLiBUaGVuIHRoZQorICogdXNlciBjYW4gZS5nLiBib290IHRoZSBvcmlnaW5hbCBrZXJuZWwgd2l0aCBtZW09MUcgd2hpbGUgc3RpbGwgYm9vdGluZyB0aGUKKyAqIG5leHQga2VybmVsIHdpdGggZnVsbCBtZW1vcnkuCisgKi8KK3N0cnVjdCBlODIwbWFwIGU4MjA7CitzdHJ1Y3QgZTgyMG1hcCBlODIwX3NhdmVkOworCisvKiBGb3IgUENJIG9yIG90aGVyIG1lbW9yeS1tYXBwZWQgcmVzb3VyY2VzICovCit1bnNpZ25lZCBsb25nIHBjaV9tZW1fc3RhcnQgPSAweGFlZWRiYWJlOworI2lmZGVmIENPTkZJR19QQ0kKK0VYUE9SVF9TWU1CT0wocGNpX21lbV9zdGFydCk7CisjZW5kaWYKKworLyoKKyAqIFRoaXMgZnVuY3Rpb24gY2hlY2tzIGlmIGFueSBwYXJ0IG9mIHRoZSByYW5nZSA8c3RhcnQsZW5kPiBpcyBtYXBwZWQKKyAqIHdpdGggdHlwZS4KKyAqLworaW50CitlODIwX2FueV9tYXBwZWQodTY0IHN0YXJ0LCB1NjQgZW5kLCB1bnNpZ25lZCB0eXBlKQoreworCWludCBpOworCisJZm9yIChpID0gMDsgaSA8IGU4MjAubnJfbWFwOyBpKyspIHsKKwkJc3RydWN0IGU4MjBlbnRyeSAqZWkgPSAmZTgyMC5tYXBbaV07CisKKwkJaWYgKHR5cGUgJiYgZWktPnR5cGUgIT0gdHlwZSkKKwkJCWNvbnRpbnVlOworCQlpZiAoZWktPmFkZHIgPj0gZW5kIHx8IGVpLT5hZGRyICsgZWktPnNpemUgPD0gc3RhcnQpCisJCQljb250aW51ZTsKKwkJcmV0dXJuIDE7CisJfQorCXJldHVybiAwOworfQorRVhQT1JUX1NZTUJPTF9HUEwoZTgyMF9hbnlfbWFwcGVkKTsKKworLyoKKyAqIFRoaXMgZnVuY3Rpb24gY2hlY2tzIGlmIHRoZSBlbnRpcmUgcmFuZ2UgPHN0YXJ0LGVuZD4gaXMgbWFwcGVkIHdpdGggdHlwZS4KKyAqCisgKiBOb3RlOiB0aGlzIGZ1bmN0aW9uIG9ubHkgd29ya3MgY29ycmVjdCBpZiB0aGUgZTgyMCB0YWJsZSBpcyBzb3J0ZWQgYW5kCisgKiBub3Qtb3ZlcmxhcHBpbmcsIHdoaWNoIGlzIHRoZSBjYXNlCisgKi8KK2ludCBfX2luaXQgZTgyMF9hbGxfbWFwcGVkKHU2NCBzdGFydCwgdTY0IGVuZCwgdW5zaWduZWQgdHlwZSkKK3sKKwlpbnQgaTsKKworCWZvciAoaSA9IDA7IGkgPCBlODIwLm5yX21hcDsgaSsrKSB7CisJCXN0cnVjdCBlODIwZW50cnkgKmVpID0gJmU4MjAubWFwW2ldOworCisJCWlmICh0eXBlICYmIGVpLT50eXBlICE9IHR5cGUpCisJCQljb250aW51ZTsKKwkJLyogaXMgdGhlIHJlZ2lvbiAocGFydCkgaW4gb3ZlcmxhcCB3aXRoIHRoZSBjdXJyZW50IHJlZ2lvbiA/Ki8KKwkJaWYgKGVpLT5hZGRyID49IGVuZCB8fCBlaS0+YWRkciArIGVpLT5zaXplIDw9IHN0YXJ0KQorCQkJY29udGludWU7CisKKwkJLyogaWYgdGhlIHJlZ2lvbiBpcyBhdCB0aGUgYmVnaW5uaW5nIG9mIDxzdGFydCxlbmQ+IHdlIG1vdmUKKwkJICogc3RhcnQgdG8gdGhlIGVuZCBvZiB0aGUgcmVnaW9uIHNpbmNlIGl0J3Mgb2sgdW50aWwgdGhlcmUKKwkJICovCisJCWlmIChlaS0+YWRkciA8PSBzdGFydCkKKwkJCXN0YXJ0ID0gZWktPmFkZHIgKyBlaS0+c2l6ZTsKKwkJLyoKKwkJICogaWYgc3RhcnQgaXMgbm93IGF0IG9yIGJleW9uZCBlbmQsIHdlJ3JlIGRvbmUsIGZ1bGwKKwkJICogY292ZXJhZ2UKKwkJICovCisJCWlmIChzdGFydCA+PSBlbmQpCisJCQlyZXR1cm4gMTsKKwl9CisJcmV0dXJuIDA7Cit9CisKKy8qCisgKiBBZGQgYSBtZW1vcnkgcmVnaW9uIHRvIHRoZSBrZXJuZWwgZTgyMCBtYXAuCisgKi8KK3ZvaWQgX19pbml0IGU4MjBfYWRkX3JlZ2lvbih1NjQgc3RhcnQsIHU2NCBzaXplLCBpbnQgdHlwZSkKK3sKKwlpbnQgeCA9IGU4MjAubnJfbWFwOworCisJaWYgKHggPT0gQVJSQVlfU0laRShlODIwLm1hcCkpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICJPb29wcyEgVG9vIG1hbnkgZW50cmllcyBpbiB0aGUgbWVtb3J5IG1hcCFcbiIpOworCQlyZXR1cm47CisJfQorCisJZTgyMC5tYXBbeF0uYWRkciA9IHN0YXJ0OworCWU4MjAubWFwW3hdLnNpemUgPSBzaXplOworCWU4MjAubWFwW3hdLnR5cGUgPSB0eXBlOworCWU4MjAubnJfbWFwKys7Cit9CisKK3ZvaWQgX19pbml0IGU4MjBfcHJpbnRfbWFwKGNoYXIgKndobykKK3sKKwlpbnQgaTsKKworCWZvciAoaSA9IDA7IGkgPCBlODIwLm5yX21hcDsgaSsrKSB7CisJCXByaW50ayhLRVJOX0lORk8gIiAlczogJTAxNkx4IC0gJTAxNkx4ICIsIHdobywKKwkJICAgICAgICh1bnNpZ25lZCBsb25nIGxvbmcpIGU4MjAubWFwW2ldLmFkZHIsCisJCSAgICAgICAodW5zaWduZWQgbG9uZyBsb25nKQorCQkgICAgICAgKGU4MjAubWFwW2ldLmFkZHIgKyBlODIwLm1hcFtpXS5zaXplKSk7CisJCXN3aXRjaCAoZTgyMC5tYXBbaV0udHlwZSkgeworCQljYXNlIEU4MjBfUkFNOgorCQljYXNlIEU4MjBfUkVTRVJWRURfS0VSTjoKKwkJCXByaW50ayhLRVJOX0NPTlQgIih1c2FibGUpXG4iKTsKKwkJCWJyZWFrOworCQljYXNlIEU4MjBfUkVTRVJWRUQ6CisJCQlwcmludGsoS0VSTl9DT05UICIocmVzZXJ2ZWQpXG4iKTsKKwkJCWJyZWFrOworCQljYXNlIEU4MjBfQUNQSToKKwkJCXByaW50ayhLRVJOX0NPTlQgIihBQ1BJIGRhdGEpXG4iKTsKKwkJCWJyZWFrOworCQljYXNlIEU4MjBfTlZTOgorCQkJcHJpbnRrKEtFUk5fQ09OVCAiKEFDUEkgTlZTKVxuIik7CisJCQlicmVhazsKKwkJZGVmYXVsdDoKKwkJCXByaW50ayhLRVJOX0NPTlQgInR5cGUgJXVcbiIsIGU4MjAubWFwW2ldLnR5cGUpOworCQkJYnJlYWs7CisJCX0KKwl9Cit9CisKKy8qCisgKiBTYW5pdGl6ZSB0aGUgQklPUyBlODIwIG1hcC4KKyAqCisgKiBTb21lIGU4MjAgcmVzcG9uc2VzIGluY2x1ZGUgb3ZlcmxhcHBpbmcgZW50cmllcy4gVGhlIGZvbGxvd2luZworICogcmVwbGFjZXMgdGhlIG9yaWdpbmFsIGU4MjAgbWFwIHdpdGggYSBuZXcgb25lLCByZW1vdmluZyBvdmVybGFwcywKKyAqIGFuZCByZXNvbHZpbmcgY29uZmxpY3RpbmcgbWVtb3J5IHR5cGVzIGluIGZhdm9yIG9mIGhpZ2hlc3QKKyAqIG51bWJlcmVkIHR5cGUuCisgKgorICogVGhlIGlucHV0IHBhcmFtZXRlciBiaW9zbWFwIHBvaW50cyB0byBhbiBhcnJheSBvZiAnc3RydWN0CisgKiBlODIwZW50cnknIHdoaWNoIG9uIGVudHJ5IGhhcyBlbGVtZW50cyBpbiB0aGUgcmFuZ2UgWzAsICpwbnJfbWFwKQorICogdmFsaWQsIGFuZCB3aGljaCBoYXMgc3BhY2UgZm9yIHVwIHRvIG1heF9ucl9tYXAgZW50cmllcy4KKyAqIE9uIHJldHVybiwgdGhlIHJlc3VsdGluZyBzYW5pdGl6ZWQgZTgyMCBtYXAgZW50cmllcyB3aWxsIGJlIGluCisgKiBvdmVyd3JpdHRlbiBpbiB0aGUgc2FtZSBsb2NhdGlvbiwgc3RhcnRpbmcgYXQgYmlvc21hcC4KKyAqCisgKiBUaGUgaW50ZWdlciBwb2ludGVkIHRvIGJ5IHBucl9tYXAgbXVzdCBiZSB2YWxpZCBvbiBlbnRyeSAodGhlCisgKiBjdXJyZW50IG51bWJlciBvZiB2YWxpZCBlbnRyaWVzIGxvY2F0ZWQgYXQgYmlvc21hcCkgYW5kIHdpbGwKKyAqIGJlIHVwZGF0ZWQgb24gcmV0dXJuLCB3aXRoIHRoZSBuZXcgbnVtYmVyIG9mIHZhbGlkIGVudHJpZXMKKyAqIChzb21ldGhpbmcgbm8gbW9yZSB0aGFuIG1heF9ucl9tYXAuKQorICoKKyAqIFRoZSByZXR1cm4gdmFsdWUgZnJvbSBzYW5pdGl6ZV9lODIwX21hcCgpIGlzIHplcm8gaWYgaXQKKyAqIHN1Y2Nlc3NmdWxseSAnc2FuaXRpemVkJyB0aGUgbWFwIGVudHJpZXMgcGFzc2VkIGluLCBhbmQgaXMgLTEKKyAqIGlmIGl0IGRpZCBub3RoaW5nLCB3aGljaCBjYW4gaGFwcGVuIGlmIGVpdGhlciBvZiAoMSkgaXQgd2FzCisgKiBvbmx5IHBhc3NlZCBvbmUgbWFwIGVudHJ5LCBvciAoMikgYW55IG9mIHRoZSBpbnB1dCBtYXAgZW50cmllcworICogd2VyZSBpbnZhbGlkIChzdGFydCArIHNpemUgPCBzdGFydCwgbWVhbmluZyB0aGF0IHRoZSBzaXplIHdhcworICogc28gYmlnIHRoZSBkZXNjcmliZWQgbWVtb3J5IHJhbmdlIHdyYXBwZWQgYXJvdW5kIHRocm91Z2ggemVyby4pCisgKgorICoJVmlzdWFsbHkgd2UncmUgcGVyZm9ybWluZyB0aGUgZm9sbG93aW5nCisgKgkoMSwyLDMsNCA9IG1lbW9yeSB0eXBlcykuLi4KKyAqCisgKglTYW1wbGUgbWVtb3J5IG1hcCAody9vdmVybGFwcyk6CisgKgkgICBfX19fMjJfX19fX19fX19fX19fX19fX18KKyAqCSAgIF9fX19fX19fX19fX19fX19fX19fX180XworICoJICAgX19fXzExMTFfX19fX19fX19fX19fX19fCisgKgkgICBfNDRfX19fX19fX19fX19fX19fX19fX18KKyAqCSAgIDExMTExMTExX19fX19fX19fX19fX19fXworICoJICAgX19fX19fX19fX19fX19fX19fX18zM19fCisgKgkgICBfX19fX19fX19fXzQ0X19fX19fX19fX18KKyAqCSAgIF9fX19fX19fX18zMzMzM19fX19fX19fXworICoJICAgX19fX19fX19fX19fX18yMl9fX19fX19fCisgKgkgICBfX19fX19fX19fX19fX19fX19fMjIyMl8KKyAqCSAgIF9fX19fX19fXzExMTExMTExMV9fX19fXworICoJICAgX19fX19fX19fX19fX19fX19fX19fMTFfCisgKgkgICBfX19fX19fX19fX19fX19fXzRfX19fX18KKyAqCisgKglTYW5pdGl6ZWQgZXF1aXZhbGVudCAobm8gb3ZlcmxhcCk6CisgKgkgICAxX19fX19fX19fX19fX19fX19fX19fX18KKyAqCSAgIF80NF9fX19fX19fX19fX19fX19fX19fXworICoJICAgX19fMV9fX19fX19fX19fX19fX19fX19fCisgKgkgICBfX19fMjJfX19fX19fX19fX19fX19fX18KKyAqCSAgIF9fX19fXzExX19fX19fX19fX19fX19fXworICoJICAgX19fX19fX19fMV9fX19fX19fX19fX19fCisgKgkgICBfX19fX19fX19fM19fX19fX19fX19fX18KKyAqCSAgIF9fX19fX19fX19fNDRfX19fX19fX19fXworICoJICAgX19fX19fX19fX19fXzMzX19fX19fX19fCisgKgkgICBfX19fX19fX19fX19fX18yX19fX19fX18KKyAqCSAgIF9fX19fX19fX19fX19fX18xX19fX19fXworICoJICAgX19fX19fX19fX19fX19fX180X19fX19fCisgKgkgICBfX19fX19fX19fX19fX19fX19fMl9fX18KKyAqCSAgIF9fX19fX19fX19fX19fX19fX19fMzNfXworICoJICAgX19fX19fX19fX19fX19fX19fX19fXzRfCisgKi8KKworaW50IF9faW5pdCBzYW5pdGl6ZV9lODIwX21hcChzdHJ1Y3QgZTgyMGVudHJ5ICpiaW9zbWFwLCBpbnQgbWF4X25yX21hcCwKKwkJCQlpbnQgKnBucl9tYXApCit7CisJc3RydWN0IGNoYW5nZV9tZW1iZXIgeworCQlzdHJ1Y3QgZTgyMGVudHJ5ICpwYmlvczsgLyogcG9pbnRlciB0byBvcmlnaW5hbCBiaW9zIGVudHJ5ICovCisJCXVuc2lnbmVkIGxvbmcgbG9uZyBhZGRyOyAvKiBhZGRyZXNzIGZvciB0aGlzIGNoYW5nZSBwb2ludCAqLworCX07CisJc3RhdGljIHN0cnVjdCBjaGFuZ2VfbWVtYmVyIGNoYW5nZV9wb2ludF9saXN0WzIqRTgyMF9YX01BWF0gX19pbml0ZGF0YTsKKwlzdGF0aWMgc3RydWN0IGNoYW5nZV9tZW1iZXIgKmNoYW5nZV9wb2ludFsyKkU4MjBfWF9NQVhdIF9faW5pdGRhdGE7CisJc3RhdGljIHN0cnVjdCBlODIwZW50cnkgKm92ZXJsYXBfbGlzdFtFODIwX1hfTUFYXSBfX2luaXRkYXRhOworCXN0YXRpYyBzdHJ1Y3QgZTgyMGVudHJ5IG5ld19iaW9zW0U4MjBfWF9NQVhdIF9faW5pdGRhdGE7CisJc3RydWN0IGNoYW5nZV9tZW1iZXIgKmNoYW5nZV90bXA7CisJdW5zaWduZWQgbG9uZyBjdXJyZW50X3R5cGUsIGxhc3RfdHlwZTsKKwl1bnNpZ25lZCBsb25nIGxvbmcgbGFzdF9hZGRyOworCWludCBjaGdpZHgsIHN0aWxsX2NoYW5naW5nOworCWludCBvdmVybGFwX2VudHJpZXM7CisJaW50IG5ld19iaW9zX2VudHJ5OworCWludCBvbGRfbnIsIG5ld19uciwgY2hnX25yOworCWludCBpOworCisJLyogaWYgdGhlcmUncyBvbmx5IG9uZSBtZW1vcnkgcmVnaW9uLCBkb24ndCBib3RoZXIgKi8KKwlpZiAoKnBucl9tYXAgPCAyKQorCQlyZXR1cm4gLTE7CisKKwlvbGRfbnIgPSAqcG5yX21hcDsKKwlCVUdfT04ob2xkX25yID4gbWF4X25yX21hcCk7CisKKwkvKiBiYWlsIG91dCBpZiB3ZSBmaW5kIGFueSB1bnJlYXNvbmFibGUgYWRkcmVzc2VzIGluIGJpb3MgbWFwICovCisJZm9yIChpID0gMDsgaSA8IG9sZF9ucjsgaSsrKQorCQlpZiAoYmlvc21hcFtpXS5hZGRyICsgYmlvc21hcFtpXS5zaXplIDwgYmlvc21hcFtpXS5hZGRyKQorCQkJcmV0dXJuIC0xOworCisJLyogY3JlYXRlIHBvaW50ZXJzIGZvciBpbml0aWFsIGNoYW5nZS1wb2ludCBpbmZvcm1hdGlvbiAoZm9yIHNvcnRpbmcpICovCisJZm9yIChpID0gMDsgaSA8IDIgKiBvbGRfbnI7IGkrKykKKwkJY2hhbmdlX3BvaW50W2ldID0gJmNoYW5nZV9wb2ludF9saXN0W2ldOworCisJLyogcmVjb3JkIGFsbCBrbm93biBjaGFuZ2UtcG9pbnRzIChzdGFydGluZyBhbmQgZW5kaW5nIGFkZHJlc3NlcyksCisJICAgb21pdHRpbmcgdGhvc2UgdGhhdCBhcmUgZm9yIGVtcHR5IG1lbW9yeSByZWdpb25zICovCisJY2hnaWR4ID0gMDsKKwlmb3IgKGkgPSAwOyBpIDwgb2xkX25yOyBpKyspCXsKKwkJaWYgKGJpb3NtYXBbaV0uc2l6ZSAhPSAwKSB7CisJCQljaGFuZ2VfcG9pbnRbY2hnaWR4XS0+YWRkciA9IGJpb3NtYXBbaV0uYWRkcjsKKwkJCWNoYW5nZV9wb2ludFtjaGdpZHgrK10tPnBiaW9zID0gJmJpb3NtYXBbaV07CisJCQljaGFuZ2VfcG9pbnRbY2hnaWR4XS0+YWRkciA9IGJpb3NtYXBbaV0uYWRkciArCisJCQkJYmlvc21hcFtpXS5zaXplOworCQkJY2hhbmdlX3BvaW50W2NoZ2lkeCsrXS0+cGJpb3MgPSAmYmlvc21hcFtpXTsKKwkJfQorCX0KKwljaGdfbnIgPSBjaGdpZHg7CisKKwkvKiBzb3J0IGNoYW5nZS1wb2ludCBsaXN0IGJ5IG1lbW9yeSBhZGRyZXNzZXMgKGxvdyAtPiBoaWdoKSAqLworCXN0aWxsX2NoYW5naW5nID0gMTsKKwl3aGlsZSAoc3RpbGxfY2hhbmdpbmcpCXsKKwkJc3RpbGxfY2hhbmdpbmcgPSAwOworCQlmb3IgKGkgPSAxOyBpIDwgY2hnX25yOyBpKyspICB7CisJCQl1bnNpZ25lZCBsb25nIGxvbmcgY3VyYWRkciwgbGFzdGFkZHI7CisJCQl1bnNpZ25lZCBsb25nIGxvbmcgY3VycGJhZGRyLCBsYXN0cGJhZGRyOworCisJCQljdXJhZGRyID0gY2hhbmdlX3BvaW50W2ldLT5hZGRyOworCQkJbGFzdGFkZHIgPSBjaGFuZ2VfcG9pbnRbaSAtIDFdLT5hZGRyOworCQkJY3VycGJhZGRyID0gY2hhbmdlX3BvaW50W2ldLT5wYmlvcy0+YWRkcjsKKwkJCWxhc3RwYmFkZHIgPSBjaGFuZ2VfcG9pbnRbaSAtIDFdLT5wYmlvcy0+YWRkcjsKKworCQkJLyoKKwkJCSAqIHN3YXAgZW50cmllcywgd2hlbjoKKwkJCSAqCisJCQkgKiBjdXJhZGRyID4gbGFzdGFkZHIgb3IKKwkJCSAqIGN1cmFkZHIgPT0gbGFzdGFkZHIgYW5kIGN1cmFkZHIgPT0gY3VycGJhZGRyIGFuZAorCQkJICogbGFzdGFkZHIgIT0gbGFzdHBiYWRkcgorCQkJICovCisJCQlpZiAoY3VyYWRkciA8IGxhc3RhZGRyIHx8CisJCQkgICAgKGN1cmFkZHIgPT0gbGFzdGFkZHIgJiYgY3VyYWRkciA9PSBjdXJwYmFkZHIgJiYKKwkJCSAgICAgbGFzdGFkZHIgIT0gbGFzdHBiYWRkcikpIHsKKwkJCQljaGFuZ2VfdG1wID0gY2hhbmdlX3BvaW50W2ldOworCQkJCWNoYW5nZV9wb2ludFtpXSA9IGNoYW5nZV9wb2ludFtpLTFdOworCQkJCWNoYW5nZV9wb2ludFtpLTFdID0gY2hhbmdlX3RtcDsKKwkJCQlzdGlsbF9jaGFuZ2luZyA9IDE7CisJCQl9CisJCX0KKwl9CisKKwkvKiBjcmVhdGUgYSBuZXcgYmlvcyBtZW1vcnkgbWFwLCByZW1vdmluZyBvdmVybGFwcyAqLworCW92ZXJsYXBfZW50cmllcyA9IDA7CSAvKiBudW1iZXIgb2YgZW50cmllcyBpbiB0aGUgb3ZlcmxhcCB0YWJsZSAqLworCW5ld19iaW9zX2VudHJ5ID0gMDsJIC8qIGluZGV4IGZvciBjcmVhdGluZyBuZXcgYmlvcyBtYXAgZW50cmllcyAqLworCWxhc3RfdHlwZSA9IDA7CQkgLyogc3RhcnQgd2l0aCB1bmRlZmluZWQgbWVtb3J5IHR5cGUgKi8KKwlsYXN0X2FkZHIgPSAwOwkJIC8qIHN0YXJ0IHdpdGggMCBhcyBsYXN0IHN0YXJ0aW5nIGFkZHJlc3MgKi8KKworCS8qIGxvb3AgdGhyb3VnaCBjaGFuZ2UtcG9pbnRzLCBkZXRlcm1pbmluZyBhZmZlY3Qgb24gdGhlIG5ldyBiaW9zIG1hcCAqLworCWZvciAoY2hnaWR4ID0gMDsgY2hnaWR4IDwgY2hnX25yOyBjaGdpZHgrKykgeworCQkvKiBrZWVwIHRyYWNrIG9mIGFsbCBvdmVybGFwcGluZyBiaW9zIGVudHJpZXMgKi8KKwkJaWYgKGNoYW5nZV9wb2ludFtjaGdpZHhdLT5hZGRyID09CisJCSAgICBjaGFuZ2VfcG9pbnRbY2hnaWR4XS0+cGJpb3MtPmFkZHIpIHsKKwkJCS8qCisJCQkgKiBhZGQgbWFwIGVudHJ5IHRvIG92ZXJsYXAgbGlzdCAoPiAxIGVudHJ5CisJCQkgKiBpbXBsaWVzIGFuIG92ZXJsYXApCisJCQkgKi8KKwkJCW92ZXJsYXBfbGlzdFtvdmVybGFwX2VudHJpZXMrK10gPQorCQkJCWNoYW5nZV9wb2ludFtjaGdpZHhdLT5wYmlvczsKKwkJfSBlbHNlIHsKKwkJCS8qCisJCQkgKiByZW1vdmUgZW50cnkgZnJvbSBsaXN0IChvcmRlciBpbmRlcGVuZGVudCwKKwkJCSAqIHNvIHN3YXAgd2l0aCBsYXN0KQorCQkJICovCisJCQlmb3IgKGkgPSAwOyBpIDwgb3ZlcmxhcF9lbnRyaWVzOyBpKyspIHsKKwkJCQlpZiAob3ZlcmxhcF9saXN0W2ldID09CisJCQkJICAgIGNoYW5nZV9wb2ludFtjaGdpZHhdLT5wYmlvcykKKwkJCQkJb3ZlcmxhcF9saXN0W2ldID0KKwkJCQkJCW92ZXJsYXBfbGlzdFtvdmVybGFwX2VudHJpZXMtMV07CisJCQl9CisJCQlvdmVybGFwX2VudHJpZXMtLTsKKwkJfQorCQkvKgorCQkgKiBpZiB0aGVyZSBhcmUgb3ZlcmxhcHBpbmcgZW50cmllcywgZGVjaWRlIHdoaWNoCisJCSAqICJ0eXBlIiB0byB1c2UgKGxhcmdlciB2YWx1ZSB0YWtlcyBwcmVjZWRlbmNlIC0tCisJCSAqIDE9dXNhYmxlLCAyLDMsNCw0Kz11bnVzYWJsZSkKKwkJICovCisJCWN1cnJlbnRfdHlwZSA9IDA7CisJCWZvciAoaSA9IDA7IGkgPCBvdmVybGFwX2VudHJpZXM7IGkrKykKKwkJCWlmIChvdmVybGFwX2xpc3RbaV0tPnR5cGUgPiBjdXJyZW50X3R5cGUpCisJCQkJY3VycmVudF90eXBlID0gb3ZlcmxhcF9saXN0W2ldLT50eXBlOworCQkvKgorCQkgKiBjb250aW51ZSBidWlsZGluZyB1cCBuZXcgYmlvcyBtYXAgYmFzZWQgb24gdGhpcworCQkgKiBpbmZvcm1hdGlvbgorCQkgKi8KKwkJaWYgKGN1cnJlbnRfdHlwZSAhPSBsYXN0X3R5cGUpCXsKKwkJCWlmIChsYXN0X3R5cGUgIT0gMCkJIHsKKwkJCQluZXdfYmlvc1tuZXdfYmlvc19lbnRyeV0uc2l6ZSA9CisJCQkJCWNoYW5nZV9wb2ludFtjaGdpZHhdLT5hZGRyIC0gbGFzdF9hZGRyOworCQkJCS8qCisJCQkJICogbW92ZSBmb3J3YXJkIG9ubHkgaWYgdGhlIG5ldyBzaXplCisJCQkJICogd2FzIG5vbi16ZXJvCisJCQkJICovCisJCQkJaWYgKG5ld19iaW9zW25ld19iaW9zX2VudHJ5XS5zaXplICE9IDApCisJCQkJCS8qCisJCQkJCSAqIG5vIG1vcmUgc3BhY2UgbGVmdCBmb3IgbmV3CisJCQkJCSAqIGJpb3MgZW50cmllcyA/CisJCQkJCSAqLworCQkJCQlpZiAoKytuZXdfYmlvc19lbnRyeSA+PSBtYXhfbnJfbWFwKQorCQkJCQkJYnJlYWs7CisJCQl9CisJCQlpZiAoY3VycmVudF90eXBlICE9IDApCXsKKwkJCQluZXdfYmlvc1tuZXdfYmlvc19lbnRyeV0uYWRkciA9CisJCQkJCWNoYW5nZV9wb2ludFtjaGdpZHhdLT5hZGRyOworCQkJCW5ld19iaW9zW25ld19iaW9zX2VudHJ5XS50eXBlID0gY3VycmVudF90eXBlOworCQkJCWxhc3RfYWRkciA9IGNoYW5nZV9wb2ludFtjaGdpZHhdLT5hZGRyOworCQkJfQorCQkJbGFzdF90eXBlID0gY3VycmVudF90eXBlOworCQl9CisJfQorCS8qIHJldGFpbiBjb3VudCBmb3IgbmV3IGJpb3MgZW50cmllcyAqLworCW5ld19uciA9IG5ld19iaW9zX2VudHJ5OworCisJLyogY29weSBuZXcgYmlvcyBtYXBwaW5nIGludG8gb3JpZ2luYWwgbG9jYXRpb24gKi8KKwltZW1jcHkoYmlvc21hcCwgbmV3X2Jpb3MsIG5ld19uciAqIHNpemVvZihzdHJ1Y3QgZTgyMGVudHJ5KSk7CisJKnBucl9tYXAgPSBuZXdfbnI7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBfX2luaXQgX19hcHBlbmRfZTgyMF9tYXAoc3RydWN0IGU4MjBlbnRyeSAqYmlvc21hcCwgaW50IG5yX21hcCkKK3sKKwl3aGlsZSAobnJfbWFwKSB7CisJCXU2NCBzdGFydCA9IGJpb3NtYXAtPmFkZHI7CisJCXU2NCBzaXplID0gYmlvc21hcC0+c2l6ZTsKKwkJdTY0IGVuZCA9IHN0YXJ0ICsgc2l6ZTsKKwkJdTMyIHR5cGUgPSBiaW9zbWFwLT50eXBlOworCisJCS8qIE92ZXJmbG93IGluIDY0IGJpdHM/IElnbm9yZSB0aGUgbWVtb3J5IG1hcC4gKi8KKwkJaWYgKHN0YXJ0ID4gZW5kKQorCQkJcmV0dXJuIC0xOworCisJCWU4MjBfYWRkX3JlZ2lvbihzdGFydCwgc2l6ZSwgdHlwZSk7CisKKwkJYmlvc21hcCsrOworCQlucl9tYXAtLTsKKwl9CisJcmV0dXJuIDA7Cit9CisKKy8qCisgKiBDb3B5IHRoZSBCSU9TIGU4MjAgbWFwIGludG8gYSBzYWZlIHBsYWNlLgorICoKKyAqIFNhbml0eS1jaGVjayBpdCB3aGlsZSB3ZSdyZSBhdCBpdC4uCisgKgorICogSWYgd2UncmUgbHVja3kgYW5kIGxpdmUgb24gYSBtb2Rlcm4gc3lzdGVtLCB0aGUgc2V0dXAgY29kZQorICogd2lsbCBoYXZlIGdpdmVuIHVzIGEgbWVtb3J5IG1hcCB0aGF0IHdlIGNhbiB1c2UgdG8gcHJvcGVybHkKKyAqIHNldCB1cCBtZW1vcnkuICBJZiB3ZSBhcmVuJ3QsIHdlJ2xsIGZha2UgYSBtZW1vcnkgbWFwLgorICovCitzdGF0aWMgaW50IF9faW5pdCBhcHBlbmRfZTgyMF9tYXAoc3RydWN0IGU4MjBlbnRyeSAqYmlvc21hcCwgaW50IG5yX21hcCkKK3sKKwkvKiBPbmx5IG9uZSBtZW1vcnkgcmVnaW9uIChvciBuZWdhdGl2ZSk/IElnbm9yZSBpdCAqLworCWlmIChucl9tYXAgPCAyKQorCQlyZXR1cm4gLTE7CisKKwlyZXR1cm4gX19hcHBlbmRfZTgyMF9tYXAoYmlvc21hcCwgbnJfbWFwKTsKK30KKworc3RhdGljIHU2NCBfX2luaXQgZTgyMF91cGRhdGVfcmFuZ2VfbWFwKHN0cnVjdCBlODIwbWFwICplODIweCwgdTY0IHN0YXJ0LAorCQkJCQl1NjQgc2l6ZSwgdW5zaWduZWQgb2xkX3R5cGUsCisJCQkJCXVuc2lnbmVkIG5ld190eXBlKQoreworCWludCBpOworCXU2NCByZWFsX3VwZGF0ZWRfc2l6ZSA9IDA7CisKKwlCVUdfT04ob2xkX3R5cGUgPT0gbmV3X3R5cGUpOworCisJaWYgKHNpemUgPiAoVUxMT05HX01BWCAtIHN0YXJ0KSkKKwkJc2l6ZSA9IFVMTE9OR19NQVggLSBzdGFydDsKKworCWZvciAoaSA9IDA7IGkgPCBlODIwLm5yX21hcDsgaSsrKSB7CisJCXN0cnVjdCBlODIwZW50cnkgKmVpID0gJmU4MjB4LT5tYXBbaV07CisJCXU2NCBmaW5hbF9zdGFydCwgZmluYWxfZW5kOworCQlpZiAoZWktPnR5cGUgIT0gb2xkX3R5cGUpCisJCQljb250aW51ZTsKKwkJLyogdG90YWxseSBjb3ZlcmVkPyAqLworCQlpZiAoZWktPmFkZHIgPj0gc3RhcnQgJiYKKwkJICAgIChlaS0+YWRkciArIGVpLT5zaXplKSA8PSAoc3RhcnQgKyBzaXplKSkgeworCQkJZWktPnR5cGUgPSBuZXdfdHlwZTsKKwkJCXJlYWxfdXBkYXRlZF9zaXplICs9IGVpLT5zaXplOworCQkJY29udGludWU7CisJCX0KKwkJLyogcGFydGlhbGx5IGNvdmVyZWQgKi8KKwkJZmluYWxfc3RhcnQgPSBtYXgoc3RhcnQsIGVpLT5hZGRyKTsKKwkJZmluYWxfZW5kID0gbWluKHN0YXJ0ICsgc2l6ZSwgZWktPmFkZHIgKyBlaS0+c2l6ZSk7CisJCWlmIChmaW5hbF9zdGFydCA+PSBmaW5hbF9lbmQpCisJCQljb250aW51ZTsKKwkJZTgyMF9hZGRfcmVnaW9uKGZpbmFsX3N0YXJ0LCBmaW5hbF9lbmQgLSBmaW5hbF9zdGFydCwKKwkJCQkJIG5ld190eXBlKTsKKwkJcmVhbF91cGRhdGVkX3NpemUgKz0gZmluYWxfZW5kIC0gZmluYWxfc3RhcnQ7CisKKwkJZWktPnNpemUgLT0gZmluYWxfZW5kIC0gZmluYWxfc3RhcnQ7CisJCWlmIChlaS0+YWRkciA8IGZpbmFsX3N0YXJ0KQorCQkJY29udGludWU7CisJCWVpLT5hZGRyID0gZmluYWxfZW5kOworCX0KKwlyZXR1cm4gcmVhbF91cGRhdGVkX3NpemU7Cit9CisKK3U2NCBfX2luaXQgZTgyMF91cGRhdGVfcmFuZ2UodTY0IHN0YXJ0LCB1NjQgc2l6ZSwgdW5zaWduZWQgb2xkX3R5cGUsCisJCQkgICAgIHVuc2lnbmVkIG5ld190eXBlKQoreworCXJldHVybiBlODIwX3VwZGF0ZV9yYW5nZV9tYXAoJmU4MjAsIHN0YXJ0LCBzaXplLCBvbGRfdHlwZSwgbmV3X3R5cGUpOworfQorCitzdGF0aWMgdTY0IF9faW5pdCBlODIwX3VwZGF0ZV9yYW5nZV9zYXZlZCh1NjQgc3RhcnQsIHU2NCBzaXplLAorCQkJCQkgIHVuc2lnbmVkIG9sZF90eXBlLCB1bnNpZ25lZCBuZXdfdHlwZSkKK3sKKwlyZXR1cm4gZTgyMF91cGRhdGVfcmFuZ2VfbWFwKCZlODIwX3NhdmVkLCBzdGFydCwgc2l6ZSwgb2xkX3R5cGUsCisJCQkJICAgICBuZXdfdHlwZSk7Cit9CisKKy8qIG1ha2UgZTgyMCBub3QgY292ZXIgdGhlIHJhbmdlICovCit1NjQgX19pbml0IGU4MjBfcmVtb3ZlX3JhbmdlKHU2NCBzdGFydCwgdTY0IHNpemUsIHVuc2lnbmVkIG9sZF90eXBlLAorCQkJICAgICBpbnQgY2hlY2t0eXBlKQoreworCWludCBpOworCXU2NCByZWFsX3JlbW92ZWRfc2l6ZSA9IDA7CisKKwlpZiAoc2l6ZSA+IChVTExPTkdfTUFYIC0gc3RhcnQpKQorCQlzaXplID0gVUxMT05HX01BWCAtIHN0YXJ0OworCisJZm9yIChpID0gMDsgaSA8IGU4MjAubnJfbWFwOyBpKyspIHsKKwkJc3RydWN0IGU4MjBlbnRyeSAqZWkgPSAmZTgyMC5tYXBbaV07CisJCXU2NCBmaW5hbF9zdGFydCwgZmluYWxfZW5kOworCisJCWlmIChjaGVja3R5cGUgJiYgZWktPnR5cGUgIT0gb2xkX3R5cGUpCisJCQljb250aW51ZTsKKwkJLyogdG90YWxseSBjb3ZlcmVkPyAqLworCQlpZiAoZWktPmFkZHIgPj0gc3RhcnQgJiYKKwkJICAgIChlaS0+YWRkciArIGVpLT5zaXplKSA8PSAoc3RhcnQgKyBzaXplKSkgeworCQkJcmVhbF9yZW1vdmVkX3NpemUgKz0gZWktPnNpemU7CisJCQltZW1zZXQoZWksIDAsIHNpemVvZihzdHJ1Y3QgZTgyMGVudHJ5KSk7CisJCQljb250aW51ZTsKKwkJfQorCQkvKiBwYXJ0aWFsbHkgY292ZXJlZCAqLworCQlmaW5hbF9zdGFydCA9IG1heChzdGFydCwgZWktPmFkZHIpOworCQlmaW5hbF9lbmQgPSBtaW4oc3RhcnQgKyBzaXplLCBlaS0+YWRkciArIGVpLT5zaXplKTsKKwkJaWYgKGZpbmFsX3N0YXJ0ID49IGZpbmFsX2VuZCkKKwkJCWNvbnRpbnVlOworCQlyZWFsX3JlbW92ZWRfc2l6ZSArPSBmaW5hbF9lbmQgLSBmaW5hbF9zdGFydDsKKworCQllaS0+c2l6ZSAtPSBmaW5hbF9lbmQgLSBmaW5hbF9zdGFydDsKKwkJaWYgKGVpLT5hZGRyIDwgZmluYWxfc3RhcnQpCisJCQljb250aW51ZTsKKwkJZWktPmFkZHIgPSBmaW5hbF9lbmQ7CisJfQorCXJldHVybiByZWFsX3JlbW92ZWRfc2l6ZTsKK30KKwordm9pZCBfX2luaXQgdXBkYXRlX2U4MjAodm9pZCkKK3sKKwlpbnQgbnJfbWFwOworCisJbnJfbWFwID0gZTgyMC5ucl9tYXA7CisJaWYgKHNhbml0aXplX2U4MjBfbWFwKGU4MjAubWFwLCBBUlJBWV9TSVpFKGU4MjAubWFwKSwgJm5yX21hcCkpCisJCXJldHVybjsKKwllODIwLm5yX21hcCA9IG5yX21hcDsKKwlwcmludGsoS0VSTl9JTkZPICJtb2RpZmllZCBwaHlzaWNhbCBSQU0gbWFwOlxuIik7CisJZTgyMF9wcmludF9tYXAoIm1vZGlmaWVkIik7Cit9CitzdGF0aWMgdm9pZCBfX2luaXQgdXBkYXRlX2U4MjBfc2F2ZWQodm9pZCkKK3sKKwlpbnQgbnJfbWFwOworCisJbnJfbWFwID0gZTgyMF9zYXZlZC5ucl9tYXA7CisJaWYgKHNhbml0aXplX2U4MjBfbWFwKGU4MjBfc2F2ZWQubWFwLCBBUlJBWV9TSVpFKGU4MjBfc2F2ZWQubWFwKSwgJm5yX21hcCkpCisJCXJldHVybjsKKwllODIwX3NhdmVkLm5yX21hcCA9IG5yX21hcDsKK30KKyNkZWZpbmUgTUFYX0dBUF9FTkQgMHgxMDAwMDAwMDB1bGwKKy8qCisgKiBTZWFyY2ggZm9yIGEgZ2FwIGluIHRoZSBlODIwIG1lbW9yeSBzcGFjZSBmcm9tIHN0YXJ0X2FkZHIgdG8gZW5kX2FkZHIuCisgKi8KK19faW5pdCBpbnQgZTgyMF9zZWFyY2hfZ2FwKHVuc2lnbmVkIGxvbmcgKmdhcHN0YXJ0LCB1bnNpZ25lZCBsb25nICpnYXBzaXplLAorCQl1bnNpZ25lZCBsb25nIHN0YXJ0X2FkZHIsIHVuc2lnbmVkIGxvbmcgbG9uZyBlbmRfYWRkcikKK3sKKwl1bnNpZ25lZCBsb25nIGxvbmcgbGFzdDsKKwlpbnQgaSA9IGU4MjAubnJfbWFwOworCWludCBmb3VuZCA9IDA7CisKKwlsYXN0ID0gKGVuZF9hZGRyICYmIGVuZF9hZGRyIDwgTUFYX0dBUF9FTkQpID8gZW5kX2FkZHIgOiBNQVhfR0FQX0VORDsKKworCXdoaWxlICgtLWkgPj0gMCkgeworCQl1bnNpZ25lZCBsb25nIGxvbmcgc3RhcnQgPSBlODIwLm1hcFtpXS5hZGRyOworCQl1bnNpZ25lZCBsb25nIGxvbmcgZW5kID0gc3RhcnQgKyBlODIwLm1hcFtpXS5zaXplOworCisJCWlmIChlbmQgPCBzdGFydF9hZGRyKQorCQkJY29udGludWU7CisKKwkJLyoKKwkJICogU2luY2UgImxhc3QiIGlzIGF0IG1vc3QgNEdCLCB3ZSBrbm93IHdlJ2xsCisJCSAqIGZpdCBpbiAzMiBiaXRzIGlmIHRoaXMgY29uZGl0aW9uIGlzIHRydWUKKwkJICovCisJCWlmIChsYXN0ID4gZW5kKSB7CisJCQl1bnNpZ25lZCBsb25nIGdhcCA9IGxhc3QgLSBlbmQ7CisKKwkJCWlmIChnYXAgPj0gKmdhcHNpemUpIHsKKwkJCQkqZ2Fwc2l6ZSA9IGdhcDsKKwkJCQkqZ2Fwc3RhcnQgPSBlbmQ7CisJCQkJZm91bmQgPSAxOworCQkJfQorCQl9CisJCWlmIChzdGFydCA8IGxhc3QpCisJCQlsYXN0ID0gc3RhcnQ7CisJfQorCXJldHVybiBmb3VuZDsKK30KKworLyoKKyAqIFNlYXJjaCBmb3IgdGhlIGJpZ2dlc3QgZ2FwIGluIHRoZSBsb3cgMzIgYml0cyBvZiB0aGUgZTgyMAorICogbWVtb3J5IHNwYWNlLiAgV2UgcGFzcyB0aGlzIHNwYWNlIHRvIFBDSSB0byBhc3NpZ24gTU1JTyByZXNvdXJjZXMKKyAqIGZvciBob3RwbHVnIG9yIHVuY29uZmlndXJlZCBkZXZpY2VzIGluLgorICogSG9wZWZ1bGx5IHRoZSBCSU9TIGxldCBlbm91Z2ggc3BhY2UgbGVmdC4KKyAqLworX19pbml0IHZvaWQgZTgyMF9zZXR1cF9nYXAodm9pZCkKK3sKKwl1bnNpZ25lZCBsb25nIGdhcHN0YXJ0LCBnYXBzaXplLCByb3VuZDsKKwlpbnQgZm91bmQ7CisKKwlnYXBzdGFydCA9IDB4MTAwMDAwMDA7CisJZ2Fwc2l6ZSA9IDB4NDAwMDAwOworCWZvdW5kICA9IGU4MjBfc2VhcmNoX2dhcCgmZ2Fwc3RhcnQsICZnYXBzaXplLCAwLCBNQVhfR0FQX0VORCk7CisKKyNpZmRlZiBDT05GSUdfWDg2XzY0CisJaWYgKCFmb3VuZCkgeworCQlnYXBzdGFydCA9IChtYXhfcGZuIDw8IFBBR0VfU0hJRlQpICsgMTAyNCoxMDI0OworCQlwcmludGsoS0VSTl9FUlIgIlBDSTogV2FybmluZzogQ2Fubm90IGZpbmQgYSBnYXAgaW4gdGhlIDMyYml0ICIKKwkJICAgICAgICJhZGRyZXNzIHJhbmdlXG4iCisJCSAgICAgICBLRVJOX0VSUiAiUENJOiBVbmFzc2lnbmVkIGRldmljZXMgd2l0aCAzMmJpdCByZXNvdXJjZSAiCisJCSAgICAgICAicmVnaXN0ZXJzIG1heSBicmVhayFcbiIpOworCX0KKyNlbmRpZgorCisJLyoKKwkgKiBTZWUgaG93IG11Y2ggd2Ugd2FudCB0byByb3VuZCB1cDogc3RhcnQgb2ZmIHdpdGgKKwkgKiByb3VuZGluZyB0byB0aGUgbmV4dCAxTUIgYXJlYS4KKwkgKi8KKwlyb3VuZCA9IDB4MTAwMDAwOworCXdoaWxlICgoZ2Fwc2l6ZSA+PiA0KSA+IHJvdW5kKQorCQlyb3VuZCArPSByb3VuZDsKKwkvKiBGdW4gd2l0aCB0d28ncyBjb21wbGVtZW50ICovCisJcGNpX21lbV9zdGFydCA9IChnYXBzdGFydCArIHJvdW5kKSAmIC1yb3VuZDsKKworCXByaW50ayhLRVJOX0lORk8KKwkgICAgICAgIkFsbG9jYXRpbmcgUENJIHJlc291cmNlcyBzdGFydGluZyBhdCAlbHggKGdhcDogJWx4OiVseClcbiIsCisJICAgICAgIHBjaV9tZW1fc3RhcnQsIGdhcHN0YXJ0LCBnYXBzaXplKTsKK30KKworLyoqCisgKiBCZWNhdXNlIG9mIHRoZSBzaXplIGxpbWl0YXRpb24gb2Ygc3RydWN0IGJvb3RfcGFyYW1zLCBvbmx5IGZpcnN0CisgKiAxMjggRTgyMCBtZW1vcnkgZW50cmllcyBhcmUgcGFzc2VkIHRvIGtlcm5lbCB2aWEKKyAqIGJvb3RfcGFyYW1zLmU4MjBfbWFwLCBvdGhlcnMgYXJlIHBhc3NlZCB2aWEgU0VUVVBfRTgyMF9FWFQgbm9kZSBvZgorICogbGlua2VkIGxpc3Qgb2Ygc3RydWN0IHNldHVwX2RhdGEsIHdoaWNoIGlzIHBhcnNlZCBoZXJlLgorICovCit2b2lkIF9faW5pdCBwYXJzZV9lODIwX2V4dChzdHJ1Y3Qgc2V0dXBfZGF0YSAqc2RhdGEsIHVuc2lnbmVkIGxvbmcgcGFfZGF0YSkKK3sKKwl1MzIgbWFwX2xlbjsKKwlpbnQgZW50cmllczsKKwlzdHJ1Y3QgZTgyMGVudHJ5ICpleHRtYXA7CisKKwllbnRyaWVzID0gc2RhdGEtPmxlbiAvIHNpemVvZihzdHJ1Y3QgZTgyMGVudHJ5KTsKKwltYXBfbGVuID0gc2RhdGEtPmxlbiArIHNpemVvZihzdHJ1Y3Qgc2V0dXBfZGF0YSk7CisJaWYgKG1hcF9sZW4gPiBQQUdFX1NJWkUpCisJCXNkYXRhID0gZWFybHlfaW9yZW1hcChwYV9kYXRhLCBtYXBfbGVuKTsKKwlleHRtYXAgPSAoc3RydWN0IGU4MjBlbnRyeSAqKShzZGF0YS0+ZGF0YSk7CisJX19hcHBlbmRfZTgyMF9tYXAoZXh0bWFwLCBlbnRyaWVzKTsKKwlzYW5pdGl6ZV9lODIwX21hcChlODIwLm1hcCwgQVJSQVlfU0laRShlODIwLm1hcCksICZlODIwLm5yX21hcCk7CisJaWYgKG1hcF9sZW4gPiBQQUdFX1NJWkUpCisJCWVhcmx5X2lvdW5tYXAoc2RhdGEsIG1hcF9sZW4pOworCXByaW50ayhLRVJOX0lORk8gImV4dGVuZGVkIHBoeXNpY2FsIFJBTSBtYXA6XG4iKTsKKwllODIwX3ByaW50X21hcCgiZXh0ZW5kZWQiKTsKK30KKworI2lmIGRlZmluZWQoQ09ORklHX1g4Nl82NCkgfHwgXAorCShkZWZpbmVkKENPTkZJR19YODZfMzIpICYmIGRlZmluZWQoQ09ORklHX0hJQkVSTkFUSU9OKSkKKy8qKgorICogRmluZCB0aGUgcmFuZ2VzIG9mIHBoeXNpY2FsIGFkZHJlc3NlcyB0aGF0IGRvIG5vdCBjb3JyZXNwb25kIHRvCisgKiBlODIwIFJBTSBhcmVhcyBhbmQgbWFyayB0aGUgY29ycmVzcG9uZGluZyBwYWdlcyBhcyBub3NhdmUgZm9yCisgKiBoaWJlcm5hdGlvbiAoMzIgYml0KSBvciBzb2Z0d2FyZSBzdXNwZW5kIGFuZCBzdXNwZW5kIHRvIFJBTSAoNjQgYml0KS4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIHJlcXVpcmVzIHRoZSBlODIwIG1hcCB0byBiZSBzb3J0ZWQgYW5kIHdpdGhvdXQgYW55CisgKiBvdmVybGFwcGluZyBlbnRyaWVzIGFuZCBhc3N1bWVzIHRoZSBmaXJzdCBlODIwIGFyZWEgdG8gYmUgUkFNLgorICovCit2b2lkIF9faW5pdCBlODIwX21hcmtfbm9zYXZlX3JlZ2lvbnModW5zaWduZWQgbG9uZyBsaW1pdF9wZm4pCit7CisJaW50IGk7CisJdW5zaWduZWQgbG9uZyBwZm47CisKKwlwZm4gPSBQRk5fRE9XTihlODIwLm1hcFswXS5hZGRyICsgZTgyMC5tYXBbMF0uc2l6ZSk7CisJZm9yIChpID0gMTsgaSA8IGU4MjAubnJfbWFwOyBpKyspIHsKKwkJc3RydWN0IGU4MjBlbnRyeSAqZWkgPSAmZTgyMC5tYXBbaV07CisKKwkJaWYgKHBmbiA8IFBGTl9VUChlaS0+YWRkcikpCisJCQlyZWdpc3Rlcl9ub3NhdmVfcmVnaW9uKHBmbiwgUEZOX1VQKGVpLT5hZGRyKSk7CisKKwkJcGZuID0gUEZOX0RPV04oZWktPmFkZHIgKyBlaS0+c2l6ZSk7CisJCWlmIChlaS0+dHlwZSAhPSBFODIwX1JBTSAmJiBlaS0+dHlwZSAhPSBFODIwX1JFU0VSVkVEX0tFUk4pCisJCQlyZWdpc3Rlcl9ub3NhdmVfcmVnaW9uKFBGTl9VUChlaS0+YWRkciksIHBmbik7CisKKwkJaWYgKHBmbiA+PSBsaW1pdF9wZm4pCisJCQlicmVhazsKKwl9Cit9CisjZW5kaWYKKworLyoKKyAqIEVhcmx5IHJlc2VydmVkIG1lbW9yeSBhcmVhcy4KKyAqLworI2RlZmluZSBNQVhfRUFSTFlfUkVTIDIwCisKK3N0cnVjdCBlYXJseV9yZXMgeworCXU2NCBzdGFydCwgZW5kOworCWNoYXIgbmFtZVsxNl07CisJY2hhciBvdmVybGFwX29rOworfTsKK3N0YXRpYyBzdHJ1Y3QgZWFybHlfcmVzIGVhcmx5X3Jlc1tNQVhfRUFSTFlfUkVTXSBfX2luaXRkYXRhID0geworCXsgMCwgUEFHRV9TSVpFLCAiQklPUyBkYXRhIHBhZ2UiIH0sCS8qIEJJT1MgZGF0YSBwYWdlICovCisjaWYgZGVmaW5lZChDT05GSUdfWDg2XzY0KSAmJiBkZWZpbmVkKENPTkZJR19YODZfVFJBTVBPTElORSkKKwl7IFRSQU1QT0xJTkVfQkFTRSwgVFJBTVBPTElORV9CQVNFICsgMiAqIFBBR0VfU0laRSwgIlRSQU1QT0xJTkUiIH0sCisjZW5kaWYKKyNpZiBkZWZpbmVkKENPTkZJR19YODZfMzIpICYmIGRlZmluZWQoQ09ORklHX1NNUCkKKwkvKgorCSAqIEJ1dCBmaXJzdCBwaW5jaCBhIGZldyBmb3IgdGhlIHN0YWNrL3RyYW1wb2xpbmUgc3R1ZmYKKwkgKiBGSVhNRTogRG9uJ3QgbmVlZCB0aGUgZXh0cmEgcGFnZSBhdCA0SywgYnV0IG5lZWQgdG8gZml4CisJICogdHJhbXBvbGluZSBiZWZvcmUgcmVtb3ZpbmcgaXQuIChzZWUgdGhlIEdEVCBzdHVmZikKKwkgKi8KKwl7IFBBR0VfU0laRSwgUEFHRV9TSVpFICsgUEFHRV9TSVpFLCAiRVggVFJBTVBPTElORSIgfSwKKwkvKgorCSAqIEhhcyB0byBiZSBpbiB2ZXJ5IGxvdyBtZW1vcnkgc28gd2UgY2FuIGV4ZWN1dGUKKwkgKiByZWFsLW1vZGUgQVAgY29kZS4KKwkgKi8KKwl7IFRSQU1QT0xJTkVfQkFTRSwgVFJBTVBPTElORV9CQVNFICsgUEFHRV9TSVpFLCAiVFJBTVBPTElORSIgfSwKKyNlbmRpZgorCXt9Cit9OworCitzdGF0aWMgaW50IF9faW5pdCBmaW5kX292ZXJsYXBwZWRfZWFybHkodTY0IHN0YXJ0LCB1NjQgZW5kKQoreworCWludCBpOworCXN0cnVjdCBlYXJseV9yZXMgKnI7CisKKwlmb3IgKGkgPSAwOyBpIDwgTUFYX0VBUkxZX1JFUyAmJiBlYXJseV9yZXNbaV0uZW5kOyBpKyspIHsKKwkJciA9ICZlYXJseV9yZXNbaV07CisJCWlmIChlbmQgPiByLT5zdGFydCAmJiBzdGFydCA8IHItPmVuZCkKKwkJCWJyZWFrOworCX0KKworCXJldHVybiBpOworfQorCisvKgorICogRHJvcCB0aGUgaS10aCByYW5nZSBmcm9tIHRoZSBlYXJseSByZXNlcnZhdGlvbiBtYXAsCisgKiBieSBjb3B5aW5nIGFueSBoaWdoZXIgcmFuZ2VzIGRvd24gb25lIG92ZXIgaXQsIGFuZAorICogY2xlYXJpbmcgd2hhdCBoYWQgYmVlbiB0aGUgbGFzdCBzbG90LgorICovCitzdGF0aWMgdm9pZCBfX2luaXQgZHJvcF9yYW5nZShpbnQgaSkKK3sKKwlpbnQgajsKKworCWZvciAoaiA9IGkgKyAxOyBqIDwgTUFYX0VBUkxZX1JFUyAmJiBlYXJseV9yZXNbal0uZW5kOyBqKyspCisJCTsKKworCW1lbW1vdmUoJmVhcmx5X3Jlc1tpXSwgJmVhcmx5X3Jlc1tpICsgMV0sCisJICAgICAgIChqIC0gMSAtIGkpICogc2l6ZW9mKHN0cnVjdCBlYXJseV9yZXMpKTsKKworCWVhcmx5X3Jlc1tqIC0gMV0uZW5kID0gMDsKK30KKworLyoKKyAqIFNwbGl0IGFueSBleGlzdGluZyByYW5nZXMgdGhhdDoKKyAqICAxKSBhcmUgbWFya2VkICdvdmVybGFwX29rJywgYW5kCisgKiAgMikgb3ZlcmxhcCB3aXRoIHRoZSBzdGF0ZWQgcmFuZ2UgW3N0YXJ0LCBlbmQpCisgKiBpbnRvIHdoYXRldmVyIHBvcnRpb24gKGlmIGFueSkgb2YgdGhlIGV4aXN0aW5nIHJhbmdlIGlzIGVudGlyZWx5CisgKiBiZWxvdyBvciBlbnRpcmVseSBhYm92ZSB0aGUgc3RhdGVkIHJhbmdlLiAgRHJvcCB0aGUgcG9ydGlvbgorICogb2YgdGhlIGV4aXN0aW5nIHJhbmdlIHRoYXQgb3ZlcmxhcHMgd2l0aCB0aGUgc3RhdGVkIHJhbmdlLAorICogd2hpY2ggd2lsbCBhbGxvdyB0aGUgY2FsbGVyIG9mIHRoaXMgcm91dGluZSB0byB0aGVuIGFkZCB0aGF0CisgKiBzdGF0ZWQgcmFuZ2Ugd2l0aG91dCBjb25mbGljdGluZyB3aXRoIGFueSBleGlzdGluZyByYW5nZS4KKyAqLworc3RhdGljIHZvaWQgX19pbml0IGRyb3Bfb3ZlcmxhcHNfdGhhdF9hcmVfb2sodTY0IHN0YXJ0LCB1NjQgZW5kKQoreworCWludCBpOworCXN0cnVjdCBlYXJseV9yZXMgKnI7CisJdTY0IGxvd2VyX3N0YXJ0LCBsb3dlcl9lbmQ7CisJdTY0IHVwcGVyX3N0YXJ0LCB1cHBlcl9lbmQ7CisJY2hhciBuYW1lWzE2XTsKKworCWZvciAoaSA9IDA7IGkgPCBNQVhfRUFSTFlfUkVTICYmIGVhcmx5X3Jlc1tpXS5lbmQ7IGkrKykgeworCQlyID0gJmVhcmx5X3Jlc1tpXTsKKworCQkvKiBDb250aW51ZSBwYXN0IG5vbi1vdmVybGFwcGluZyByYW5nZXMgKi8KKwkJaWYgKGVuZCA8PSByLT5zdGFydCB8fCBzdGFydCA+PSByLT5lbmQpCisJCQljb250aW51ZTsKKworCQkvKgorCQkgKiBMZWF2ZSBub24tb2sgb3ZlcmxhcHMgYXMgaXM7IGxldCBjYWxsZXIKKwkJICogcGFuaWMgIk92ZXJsYXBwaW5nIGVhcmx5IHJlc2VydmF0aW9ucyIKKwkJICogd2hlbiBpdCBoaXRzIHRoaXMgb3ZlcmxhcC4KKwkJICovCisJCWlmICghci0+b3ZlcmxhcF9vaykKKwkJCXJldHVybjsKKworCQkvKgorCQkgKiBXZSBoYXZlIGFuIG9rIG92ZXJsYXAuICBXZSB3aWxsIGRyb3AgaXQgZnJvbSB0aGUgZWFybHkKKwkJICogcmVzZXJ2YXRpb24gbWFwLCBhbmQgYWRkIGJhY2sgaW4gYW55IG5vbi1vdmVybGFwcGluZworCQkgKiBwb3J0aW9ucyAobG93ZXIgb3IgdXBwZXIpIGFzIHNlcGFyYXRlLCBvdmVybGFwX29rLAorCQkgKiBub24tb3ZlcmxhcHBpbmcgcmFuZ2VzLgorCQkgKi8KKworCQkvKiAxLiBOb3RlIGFueSBub24tb3ZlcmxhcHBpbmcgKGxvd2VyIG9yIHVwcGVyKSByYW5nZXMuICovCisJCXN0cm5jcHkobmFtZSwgci0+bmFtZSwgc2l6ZW9mKG5hbWUpIC0gMSk7CisKKwkJbG93ZXJfc3RhcnQgPSBsb3dlcl9lbmQgPSAwOworCQl1cHBlcl9zdGFydCA9IHVwcGVyX2VuZCA9IDA7CisJCWlmIChyLT5zdGFydCA8IHN0YXJ0KSB7CisJCSAJbG93ZXJfc3RhcnQgPSByLT5zdGFydDsKKwkJCWxvd2VyX2VuZCA9IHN0YXJ0OworCQl9CisJCWlmIChyLT5lbmQgPiBlbmQpIHsKKwkJCXVwcGVyX3N0YXJ0ID0gZW5kOworCQkJdXBwZXJfZW5kID0gci0+ZW5kOworCQl9CisKKwkJLyogMi4gRHJvcCB0aGUgb3JpZ2luYWwgb2sgb3ZlcmxhcHBpbmcgcmFuZ2UgKi8KKwkJZHJvcF9yYW5nZShpKTsKKworCQlpLS07CQkvKiByZXN1bWUgZm9yLWxvb3Agb24gY29waWVkIGRvd24gZW50cnkgKi8KKworCQkvKiAzLiBBZGQgYmFjayBpbiBhbnkgbm9uLW92ZXJsYXBwaW5nIHJhbmdlcy4gKi8KKwkJaWYgKGxvd2VyX2VuZCkKKwkJCXJlc2VydmVfZWFybHlfb3ZlcmxhcF9vayhsb3dlcl9zdGFydCwgbG93ZXJfZW5kLCBuYW1lKTsKKwkJaWYgKHVwcGVyX2VuZCkKKwkJCXJlc2VydmVfZWFybHlfb3ZlcmxhcF9vayh1cHBlcl9zdGFydCwgdXBwZXJfZW5kLCBuYW1lKTsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIF9faW5pdCBfX3Jlc2VydmVfZWFybHkodTY0IHN0YXJ0LCB1NjQgZW5kLCBjaGFyICpuYW1lLAorCQkJCQkJaW50IG92ZXJsYXBfb2spCit7CisJaW50IGk7CisJc3RydWN0IGVhcmx5X3JlcyAqcjsKKworCWkgPSBmaW5kX292ZXJsYXBwZWRfZWFybHkoc3RhcnQsIGVuZCk7CisJaWYgKGkgPj0gTUFYX0VBUkxZX1JFUykKKwkJcGFuaWMoIlRvbyBtYW55IGVhcmx5IHJlc2VydmF0aW9ucyIpOworCXIgPSAmZWFybHlfcmVzW2ldOworCWlmIChyLT5lbmQpCisJCXBhbmljKCJPdmVybGFwcGluZyBlYXJseSByZXNlcnZhdGlvbnMgIgorCQkgICAgICAiJWxseC0lbGx4ICVzIHRvICVsbHgtJWxseCAlc1xuIiwKKwkJICAgICAgc3RhcnQsIGVuZCAtIDEsIG5hbWU/bmFtZToiIiwgci0+c3RhcnQsCisJCSAgICAgIHItPmVuZCAtIDEsIHItPm5hbWUpOworCXItPnN0YXJ0ID0gc3RhcnQ7CisJci0+ZW5kID0gZW5kOworCXItPm92ZXJsYXBfb2sgPSBvdmVybGFwX29rOworCWlmIChuYW1lKQorCQlzdHJuY3B5KHItPm5hbWUsIG5hbWUsIHNpemVvZihyLT5uYW1lKSAtIDEpOworfQorCisvKgorICogQSBmZXcgZWFybHkgcmVzZXJ2dGF0aW9ucyBjb21lIGhlcmUuCisgKgorICogVGhlICdvdmVybGFwX29rJyBpbiB0aGUgbmFtZSBvZiB0aGlzIHJvdXRpbmUgZG9lcyAtbm90LSBtZWFuIGl0CisgKiBpcyBvayBmb3IgdGhlc2UgcmVzZXJ2YXRpb25zIHRvIG92ZXJsYXAgYW4gZWFybGllciByZXNlcnZhdGlvbi4KKyAqIFJhdGhlciBpdCBtZWFucyB0aGF0IGl0IGlzIG9rIGZvciBzdWJzZXF1ZW50IHJlc2VydmF0aW9ucyB0bworICogb3ZlcmxhcCB0aGlzIG9uZS4KKyAqCisgKiBVc2UgdGhpcyBlbnRyeSBwb2ludCB0byByZXNlcnZlIGVhcmx5IHJhbmdlcyB3aGVuIHlvdSBhcmUgZG9pbmcKKyAqIHNvIG91dCBvZiAiUGFyYW5vaWEiLCByZXNlcnZpbmcgcGVyaGFwcyBtb3JlIG1lbW9yeSB0aGFuIHlvdSBuZWVkLAorICoganVzdCBpbiBjYXNlLCBhbmQgZG9uJ3QgbWluZCBhIHN1YnNlcXVlbnQgb3ZlcmxhcHBpbmcgcmVzZXJ2YXRpb24KKyAqIHRoYXQgaXMga25vd24gdG8gYmUgbmVlZGVkLgorICoKKyAqIFRoZSBkcm9wX292ZXJsYXBzX3RoYXRfYXJlX29rKCkgY2FsbCBoZXJlIGlzbid0IHJlYWxseSBuZWVkZWQuCisgKiBJdCB3b3VsZCBiZSBuZWVkZWQgaWYgd2UgaGFkIHR3byBjb2xsaWRpbmcgJ292ZXJsYXBfb2snCisgKiByZXNlcnZhdGlvbnMsIHNvIHRoYXQgdGhlIHNlY29uZCBzdWNoIHdvdWxkIG5vdCBwYW5pYyBvbiB0aGUKKyAqIG92ZXJsYXAgd2l0aCB0aGUgZmlyc3QuICBXZSBkb24ndCBoYXZlIGFueSBzdWNoIGFzIG9mIHRoaXMKKyAqIHdyaXRpbmcsIGJ1dCBtaWdodCBhcyB3ZWxsIHRvbGVyYXRlIHN1Y2ggaWYgaXQgaGFwcGVucyBpbgorICogdGhlIGZ1dHVyZS4KKyAqLwordm9pZCBfX2luaXQgcmVzZXJ2ZV9lYXJseV9vdmVybGFwX29rKHU2NCBzdGFydCwgdTY0IGVuZCwgY2hhciAqbmFtZSkKK3sKKwlkcm9wX292ZXJsYXBzX3RoYXRfYXJlX29rKHN0YXJ0LCBlbmQpOworCV9fcmVzZXJ2ZV9lYXJseShzdGFydCwgZW5kLCBuYW1lLCAxKTsKK30KKworLyoKKyAqIE1vc3QgZWFybHkgcmVzZXJ2YXRpb25zIGNvbWUgaGVyZS4KKyAqCisgKiBXZSBmaXJzdCBoYXZlIGRyb3Bfb3ZlcmxhcHNfdGhhdF9hcmVfb2soKSBkcm9wIGFueSBwcmUtZXhpc3RpbmcKKyAqICdvdmVybGFwX29rJyByYW5nZXMsIHNvIHRoYXQgd2UgY2FuIHRoZW4gcmVzZXJ2ZSB0aGlzIG1lbW9yeQorICogcmFuZ2Ugd2l0aG91dCByaXNrIG9mIHBhbmljJ2luZyBvbiBhbiBvdmVybGFwcGluZyBvdmVybGFwX29rCisgKiBlYXJseSByZXNlcnZhdGlvbi4KKyAqLwordm9pZCBfX2luaXQgcmVzZXJ2ZV9lYXJseSh1NjQgc3RhcnQsIHU2NCBlbmQsIGNoYXIgKm5hbWUpCit7CisJZHJvcF9vdmVybGFwc190aGF0X2FyZV9vayhzdGFydCwgZW5kKTsKKwlfX3Jlc2VydmVfZWFybHkoc3RhcnQsIGVuZCwgbmFtZSwgMCk7Cit9CisKK3ZvaWQgX19pbml0IGZyZWVfZWFybHkodTY0IHN0YXJ0LCB1NjQgZW5kKQoreworCXN0cnVjdCBlYXJseV9yZXMgKnI7CisJaW50IGk7CisKKwlpID0gZmluZF9vdmVybGFwcGVkX2Vhcmx5KHN0YXJ0LCBlbmQpOworCXIgPSAmZWFybHlfcmVzW2ldOworCWlmIChpID49IE1BWF9FQVJMWV9SRVMgfHwgci0+ZW5kICE9IGVuZCB8fCByLT5zdGFydCAhPSBzdGFydCkKKwkJcGFuaWMoImZyZWVfZWFybHkgb24gbm90IHJlc2VydmVkIGFyZWE6ICVsbHgtJWxseCEiLAorCQkJIHN0YXJ0LCBlbmQgLSAxKTsKKworCWRyb3BfcmFuZ2UoaSk7Cit9CisKK3ZvaWQgX19pbml0IGVhcmx5X3Jlc190b19ib290bWVtKHU2NCBzdGFydCwgdTY0IGVuZCkKK3sKKwlpbnQgaSwgY291bnQ7CisJdTY0IGZpbmFsX3N0YXJ0LCBmaW5hbF9lbmQ7CisKKwljb3VudCAgPSAwOworCWZvciAoaSA9IDA7IGkgPCBNQVhfRUFSTFlfUkVTICYmIGVhcmx5X3Jlc1tpXS5lbmQ7IGkrKykKKwkJY291bnQrKzsKKworCXByaW50ayhLRVJOX0lORk8gIiglZCBlYXJseSByZXNlcnZhdGlvbnMpID09PiBib290bWVtXG4iLCBjb3VudCk7CisJZm9yIChpID0gMDsgaSA8IGNvdW50OyBpKyspIHsKKwkJc3RydWN0IGVhcmx5X3JlcyAqciA9ICZlYXJseV9yZXNbaV07CisJCXByaW50ayhLRVJOX0lORk8gIiAgIyVkIFslMDEwbGx4IC0gJTAxMGxseF0gJTE2cyIsIGksCisJCQlyLT5zdGFydCwgci0+ZW5kLCByLT5uYW1lKTsKKwkJZmluYWxfc3RhcnQgPSBtYXgoc3RhcnQsIHItPnN0YXJ0KTsKKwkJZmluYWxfZW5kID0gbWluKGVuZCwgci0+ZW5kKTsKKwkJaWYgKGZpbmFsX3N0YXJ0ID49IGZpbmFsX2VuZCkgeworCQkJcHJpbnRrKEtFUk5fQ09OVCAiXG4iKTsKKwkJCWNvbnRpbnVlOworCQl9CisJCXByaW50ayhLRVJOX0NPTlQgIiA9PT4gWyUwMTBsbHggLSAlMDEwbGx4XVxuIiwKKwkJCWZpbmFsX3N0YXJ0LCBmaW5hbF9lbmQpOworCQlyZXNlcnZlX2Jvb3RtZW1fZ2VuZXJpYyhmaW5hbF9zdGFydCwgZmluYWxfZW5kIC0gZmluYWxfc3RhcnQsCisJCQkJQk9PVE1FTV9ERUZBVUxUKTsKKwl9Cit9CisKKy8qIENoZWNrIGZvciBhbHJlYWR5IHJlc2VydmVkIGFyZWFzICovCitzdGF0aWMgaW5saW5lIGludCBfX2luaXQgYmFkX2FkZHIodTY0ICphZGRycCwgdTY0IHNpemUsIHU2NCBhbGlnbikKK3sKKwlpbnQgaTsKKwl1NjQgYWRkciA9ICphZGRycDsKKwlpbnQgY2hhbmdlZCA9IDA7CisJc3RydWN0IGVhcmx5X3JlcyAqcjsKK2FnYWluOgorCWkgPSBmaW5kX292ZXJsYXBwZWRfZWFybHkoYWRkciwgYWRkciArIHNpemUpOworCXIgPSAmZWFybHlfcmVzW2ldOworCWlmIChpIDwgTUFYX0VBUkxZX1JFUyAmJiByLT5lbmQpIHsKKwkJKmFkZHJwID0gYWRkciA9IHJvdW5kX3VwKHItPmVuZCwgYWxpZ24pOworCQljaGFuZ2VkID0gMTsKKwkJZ290byBhZ2FpbjsKKwl9CisJcmV0dXJuIGNoYW5nZWQ7Cit9CisKKy8qIENoZWNrIGZvciBhbHJlYWR5IHJlc2VydmVkIGFyZWFzICovCitzdGF0aWMgaW5saW5lIGludCBfX2luaXQgYmFkX2FkZHJfc2l6ZSh1NjQgKmFkZHJwLCB1NjQgKnNpemVwLCB1NjQgYWxpZ24pCit7CisJaW50IGk7CisJdTY0IGFkZHIgPSAqYWRkcnAsIGxhc3Q7CisJdTY0IHNpemUgPSAqc2l6ZXA7CisJaW50IGNoYW5nZWQgPSAwOworYWdhaW46CisJbGFzdCA9IGFkZHIgKyBzaXplOworCWZvciAoaSA9IDA7IGkgPCBNQVhfRUFSTFlfUkVTICYmIGVhcmx5X3Jlc1tpXS5lbmQ7IGkrKykgeworCQlzdHJ1Y3QgZWFybHlfcmVzICpyID0gJmVhcmx5X3Jlc1tpXTsKKwkJaWYgKGxhc3QgPiByLT5zdGFydCAmJiBhZGRyIDwgci0+c3RhcnQpIHsKKwkJCXNpemUgPSByLT5zdGFydCAtIGFkZHI7CisJCQljaGFuZ2VkID0gMTsKKwkJCWdvdG8gYWdhaW47CisJCX0KKwkJaWYgKGxhc3QgPiByLT5lbmQgJiYgYWRkciA8IHItPmVuZCkgeworCQkJYWRkciA9IHJvdW5kX3VwKHItPmVuZCwgYWxpZ24pOworCQkJc2l6ZSA9IGxhc3QgLSBhZGRyOworCQkJY2hhbmdlZCA9IDE7CisJCQlnb3RvIGFnYWluOworCQl9CisJCWlmIChsYXN0IDw9IHItPmVuZCAmJiBhZGRyID49IHItPnN0YXJ0KSB7CisJCQkoKnNpemVwKSsrOworCQkJcmV0dXJuIDA7CisJCX0KKwl9CisJaWYgKGNoYW5nZWQpIHsKKwkJKmFkZHJwID0gYWRkcjsKKwkJKnNpemVwID0gc2l6ZTsKKwl9CisJcmV0dXJuIGNoYW5nZWQ7Cit9CisKKy8qCisgKiBGaW5kIGEgZnJlZSBhcmVhIHdpdGggc3BlY2lmaWVkIGFsaWdubWVudCBpbiBhIHNwZWNpZmljIHJhbmdlLgorICovCit1NjQgX19pbml0IGZpbmRfZTgyMF9hcmVhKHU2NCBzdGFydCwgdTY0IGVuZCwgdTY0IHNpemUsIHU2NCBhbGlnbikKK3sKKwlpbnQgaTsKKworCWZvciAoaSA9IDA7IGkgPCBlODIwLm5yX21hcDsgaSsrKSB7CisJCXN0cnVjdCBlODIwZW50cnkgKmVpID0gJmU4MjAubWFwW2ldOworCQl1NjQgYWRkciwgbGFzdDsKKwkJdTY0IGVpX2xhc3Q7CisKKwkJaWYgKGVpLT50eXBlICE9IEU4MjBfUkFNKQorCQkJY29udGludWU7CisJCWFkZHIgPSByb3VuZF91cChlaS0+YWRkciwgYWxpZ24pOworCQllaV9sYXN0ID0gZWktPmFkZHIgKyBlaS0+c2l6ZTsKKwkJaWYgKGFkZHIgPCBzdGFydCkKKwkJCWFkZHIgPSByb3VuZF91cChzdGFydCwgYWxpZ24pOworCQlpZiAoYWRkciA+PSBlaV9sYXN0KQorCQkJY29udGludWU7CisJCXdoaWxlIChiYWRfYWRkcigmYWRkciwgc2l6ZSwgYWxpZ24pICYmIGFkZHIrc2l6ZSA8PSBlaV9sYXN0KQorCQkJOworCQlsYXN0ID0gYWRkciArIHNpemU7CisJCWlmIChsYXN0ID4gZWlfbGFzdCkKKwkJCWNvbnRpbnVlOworCQlpZiAobGFzdCA+IGVuZCkKKwkJCWNvbnRpbnVlOworCQlyZXR1cm4gYWRkcjsKKwl9CisJcmV0dXJuIC0xVUxMOworfQorCisvKgorICogRmluZCBuZXh0IGZyZWUgcmFuZ2UgYWZ0ZXIgKnN0YXJ0CisgKi8KK3U2NCBfX2luaXQgZmluZF9lODIwX2FyZWFfc2l6ZSh1NjQgc3RhcnQsIHU2NCAqc2l6ZXAsIHU2NCBhbGlnbikKK3sKKwlpbnQgaTsKKworCWZvciAoaSA9IDA7IGkgPCBlODIwLm5yX21hcDsgaSsrKSB7CisJCXN0cnVjdCBlODIwZW50cnkgKmVpID0gJmU4MjAubWFwW2ldOworCQl1NjQgYWRkciwgbGFzdDsKKwkJdTY0IGVpX2xhc3Q7CisKKwkJaWYgKGVpLT50eXBlICE9IEU4MjBfUkFNKQorCQkJY29udGludWU7CisJCWFkZHIgPSByb3VuZF91cChlaS0+YWRkciwgYWxpZ24pOworCQllaV9sYXN0ID0gZWktPmFkZHIgKyBlaS0+c2l6ZTsKKwkJaWYgKGFkZHIgPCBzdGFydCkKKwkJCWFkZHIgPSByb3VuZF91cChzdGFydCwgYWxpZ24pOworCQlpZiAoYWRkciA+PSBlaV9sYXN0KQorCQkJY29udGludWU7CisJCSpzaXplcCA9IGVpX2xhc3QgLSBhZGRyOworCQl3aGlsZSAoYmFkX2FkZHJfc2l6ZSgmYWRkciwgc2l6ZXAsIGFsaWduKSAmJgorCQkJYWRkciArICpzaXplcCA8PSBlaV9sYXN0KQorCQkJOworCQlsYXN0ID0gYWRkciArICpzaXplcDsKKwkJaWYgKGxhc3QgPiBlaV9sYXN0KQorCQkJY29udGludWU7CisJCXJldHVybiBhZGRyOworCX0KKwlyZXR1cm4gLTFVTDsKKworfQorCisvKgorICogcHJlIGFsbG9jYXRlZCA0ayBhbmQgcmVzZXJ2ZWQgaXQgaW4gZTgyMAorICovCit1NjQgX19pbml0IGVhcmx5X3Jlc2VydmVfZTgyMCh1NjQgc3RhcnR0LCB1NjQgc2l6ZXQsIHU2NCBhbGlnbikKK3sKKwl1NjQgc2l6ZSA9IDA7CisJdTY0IGFkZHI7CisJdTY0IHN0YXJ0OworCisJc3RhcnQgPSBzdGFydHQ7CisJd2hpbGUgKHNpemUgPCBzaXpldCkKKwkJc3RhcnQgPSBmaW5kX2U4MjBfYXJlYV9zaXplKHN0YXJ0LCAmc2l6ZSwgYWxpZ24pOworCisJaWYgKHNpemUgPCBzaXpldCkKKwkJcmV0dXJuIDA7CisKKwlhZGRyID0gcm91bmRfZG93bihzdGFydCArIHNpemUgLSBzaXpldCwgYWxpZ24pOworCWU4MjBfdXBkYXRlX3JhbmdlKGFkZHIsIHNpemV0LCBFODIwX1JBTSwgRTgyMF9SRVNFUlZFRCk7CisJZTgyMF91cGRhdGVfcmFuZ2Vfc2F2ZWQoYWRkciwgc2l6ZXQsIEU4MjBfUkFNLCBFODIwX1JFU0VSVkVEKTsKKwlwcmludGsoS0VSTl9JTkZPICJ1cGRhdGUgZTgyMCBmb3IgZWFybHlfcmVzZXJ2ZV9lODIwXG4iKTsKKwl1cGRhdGVfZTgyMCgpOworCXVwZGF0ZV9lODIwX3NhdmVkKCk7CisKKwlyZXR1cm4gYWRkcjsKK30KKworI2lmZGVmIENPTkZJR19YODZfMzIKKyMgaWZkZWYgQ09ORklHX1g4Nl9QQUUKKyMgIGRlZmluZSBNQVhfQVJDSF9QRk4JCSgxVUxMPDwoMzYtUEFHRV9TSElGVCkpCisjIGVsc2UKKyMgIGRlZmluZSBNQVhfQVJDSF9QRk4JCSgxVUxMPDwoMzItUEFHRV9TSElGVCkpCisjIGVuZGlmCisjZWxzZSAvKiBDT05GSUdfWDg2XzMyICovCisjIGRlZmluZSBNQVhfQVJDSF9QRk4gTUFYTUVNPj5QQUdFX1NISUZUCisjZW5kaWYKKworLyoKKyAqIEZpbmQgdGhlIGhpZ2hlc3QgcGFnZSBmcmFtZSBudW1iZXIgd2UgaGF2ZSBhdmFpbGFibGUKKyAqLworc3RhdGljIHVuc2lnbmVkIGxvbmcgX19pbml0IGU4MjBfZW5kX3Bmbih1bnNpZ25lZCBsb25nIGxpbWl0X3BmbiwgdW5zaWduZWQgdHlwZSkKK3sKKwlpbnQgaTsKKwl1bnNpZ25lZCBsb25nIGxhc3RfcGZuID0gMDsKKwl1bnNpZ25lZCBsb25nIG1heF9hcmNoX3BmbiA9IE1BWF9BUkNIX1BGTjsKKworCWZvciAoaSA9IDA7IGkgPCBlODIwLm5yX21hcDsgaSsrKSB7CisJCXN0cnVjdCBlODIwZW50cnkgKmVpID0gJmU4MjAubWFwW2ldOworCQl1bnNpZ25lZCBsb25nIHN0YXJ0X3BmbjsKKwkJdW5zaWduZWQgbG9uZyBlbmRfcGZuOworCisJCWlmIChlaS0+dHlwZSAhPSB0eXBlKQorCQkJY29udGludWU7CisKKwkJc3RhcnRfcGZuID0gZWktPmFkZHIgPj4gUEFHRV9TSElGVDsKKwkJZW5kX3BmbiA9IChlaS0+YWRkciArIGVpLT5zaXplKSA+PiBQQUdFX1NISUZUOworCisJCWlmIChzdGFydF9wZm4gPj0gbGltaXRfcGZuKQorCQkJY29udGludWU7CisJCWlmIChlbmRfcGZuID4gbGltaXRfcGZuKSB7CisJCQlsYXN0X3BmbiA9IGxpbWl0X3BmbjsKKwkJCWJyZWFrOworCQl9CisJCWlmIChlbmRfcGZuID4gbGFzdF9wZm4pCisJCQlsYXN0X3BmbiA9IGVuZF9wZm47CisJfQorCisJaWYgKGxhc3RfcGZuID4gbWF4X2FyY2hfcGZuKQorCQlsYXN0X3BmbiA9IG1heF9hcmNoX3BmbjsKKworCXByaW50ayhLRVJOX0lORk8gImxhc3RfcGZuID0gJSNseCBtYXhfYXJjaF9wZm4gPSAlI2x4XG4iLAorCQkJIGxhc3RfcGZuLCBtYXhfYXJjaF9wZm4pOworCXJldHVybiBsYXN0X3BmbjsKK30KK3Vuc2lnbmVkIGxvbmcgX19pbml0IGU4MjBfZW5kX29mX3JhbV9wZm4odm9pZCkKK3sKKwlyZXR1cm4gZTgyMF9lbmRfcGZuKE1BWF9BUkNIX1BGTiwgRTgyMF9SQU0pOworfQorCit1bnNpZ25lZCBsb25nIF9faW5pdCBlODIwX2VuZF9vZl9sb3dfcmFtX3Bmbih2b2lkKQoreworCXJldHVybiBlODIwX2VuZF9wZm4oMVVMPDwoMzIgLSBQQUdFX1NISUZUKSwgRTgyMF9SQU0pOworfQorLyoKKyAqIEZpbmRzIGFuIGFjdGl2ZSByZWdpb24gaW4gdGhlIGFkZHJlc3MgcmFuZ2UgZnJvbSBzdGFydF9wZm4gdG8gbGFzdF9wZm4gYW5kCisgKiByZXR1cm5zIGl0cyByYW5nZSBpbiBlaV9zdGFydHBmbiBhbmQgZWlfZW5kcGZuIGZvciB0aGUgZTgyMCBlbnRyeS4KKyAqLworaW50IF9faW5pdCBlODIwX2ZpbmRfYWN0aXZlX3JlZ2lvbihjb25zdCBzdHJ1Y3QgZTgyMGVudHJ5ICplaSwKKwkJCQkgIHVuc2lnbmVkIGxvbmcgc3RhcnRfcGZuLAorCQkJCSAgdW5zaWduZWQgbG9uZyBsYXN0X3BmbiwKKwkJCQkgIHVuc2lnbmVkIGxvbmcgKmVpX3N0YXJ0cGZuLAorCQkJCSAgdW5zaWduZWQgbG9uZyAqZWlfZW5kcGZuKQoreworCXU2NCBhbGlnbiA9IFBBR0VfU0laRTsKKworCSplaV9zdGFydHBmbiA9IHJvdW5kX3VwKGVpLT5hZGRyLCBhbGlnbikgPj4gUEFHRV9TSElGVDsKKwkqZWlfZW5kcGZuID0gcm91bmRfZG93bihlaS0+YWRkciArIGVpLT5zaXplLCBhbGlnbikgPj4gUEFHRV9TSElGVDsKKworCS8qIFNraXAgbWFwIGVudHJpZXMgc21hbGxlciB0aGFuIGEgcGFnZSAqLworCWlmICgqZWlfc3RhcnRwZm4gPj0gKmVpX2VuZHBmbikKKwkJcmV0dXJuIDA7CisKKwkvKiBTa2lwIGlmIG1hcCBpcyBvdXRzaWRlIHRoZSBub2RlICovCisJaWYgKGVpLT50eXBlICE9IEU4MjBfUkFNIHx8ICplaV9lbmRwZm4gPD0gc3RhcnRfcGZuIHx8CisJCQkJICAgICplaV9zdGFydHBmbiA+PSBsYXN0X3BmbikKKwkJcmV0dXJuIDA7CisKKwkvKiBDaGVjayBmb3Igb3ZlcmxhcHMgKi8KKwlpZiAoKmVpX3N0YXJ0cGZuIDwgc3RhcnRfcGZuKQorCQkqZWlfc3RhcnRwZm4gPSBzdGFydF9wZm47CisJaWYgKCplaV9lbmRwZm4gPiBsYXN0X3BmbikKKwkJKmVpX2VuZHBmbiA9IGxhc3RfcGZuOworCisJcmV0dXJuIDE7Cit9CisKKy8qIFdhbGsgdGhlIGU4MjAgbWFwIGFuZCByZWdpc3RlciBhY3RpdmUgcmVnaW9ucyB3aXRoaW4gYSBub2RlICovCit2b2lkIF9faW5pdCBlODIwX3JlZ2lzdGVyX2FjdGl2ZV9yZWdpb25zKGludCBuaWQsIHVuc2lnbmVkIGxvbmcgc3RhcnRfcGZuLAorCQkJCQkgdW5zaWduZWQgbG9uZyBsYXN0X3BmbikKK3sKKwl1bnNpZ25lZCBsb25nIGVpX3N0YXJ0cGZuOworCXVuc2lnbmVkIGxvbmcgZWlfZW5kcGZuOworCWludCBpOworCisJZm9yIChpID0gMDsgaSA8IGU4MjAubnJfbWFwOyBpKyspCisJCWlmIChlODIwX2ZpbmRfYWN0aXZlX3JlZ2lvbigmZTgyMC5tYXBbaV0sCisJCQkJCSAgICBzdGFydF9wZm4sIGxhc3RfcGZuLAorCQkJCQkgICAgJmVpX3N0YXJ0cGZuLCAmZWlfZW5kcGZuKSkKKwkJCWFkZF9hY3RpdmVfcmFuZ2UobmlkLCBlaV9zdGFydHBmbiwgZWlfZW5kcGZuKTsKK30KKworLyoKKyAqIEZpbmQgdGhlIGhvbGUgc2l6ZSAoaW4gYnl0ZXMpIGluIHRoZSBtZW1vcnkgcmFuZ2UuCisgKiBAc3RhcnQ6IHN0YXJ0aW5nIGFkZHJlc3Mgb2YgdGhlIG1lbW9yeSByYW5nZSB0byBzY2FuCisgKiBAZW5kOiBlbmRpbmcgYWRkcmVzcyBvZiB0aGUgbWVtb3J5IHJhbmdlIHRvIHNjYW4KKyAqLwordTY0IF9faW5pdCBlODIwX2hvbGVfc2l6ZSh1NjQgc3RhcnQsIHU2NCBlbmQpCit7CisJdW5zaWduZWQgbG9uZyBzdGFydF9wZm4gPSBzdGFydCA+PiBQQUdFX1NISUZUOworCXVuc2lnbmVkIGxvbmcgbGFzdF9wZm4gPSBlbmQgPj4gUEFHRV9TSElGVDsKKwl1bnNpZ25lZCBsb25nIGVpX3N0YXJ0cGZuLCBlaV9lbmRwZm4sIHJhbSA9IDA7CisJaW50IGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgZTgyMC5ucl9tYXA7IGkrKykgeworCQlpZiAoZTgyMF9maW5kX2FjdGl2ZV9yZWdpb24oJmU4MjAubWFwW2ldLAorCQkJCQkgICAgc3RhcnRfcGZuLCBsYXN0X3BmbiwKKwkJCQkJICAgICZlaV9zdGFydHBmbiwgJmVpX2VuZHBmbikpCisJCQlyYW0gKz0gZWlfZW5kcGZuIC0gZWlfc3RhcnRwZm47CisJfQorCXJldHVybiBlbmQgLSBzdGFydCAtICgodTY0KXJhbSA8PCBQQUdFX1NISUZUKTsKK30KKworc3RhdGljIHZvaWQgZWFybHlfcGFuaWMoY2hhciAqbXNnKQoreworCWVhcmx5X3ByaW50ayhtc2cpOworCXBhbmljKG1zZyk7Cit9CisKK3N0YXRpYyBpbnQgdXNlcmRlZiBfX2luaXRkYXRhOworCisvKiAibWVtPW5vcGVudGl1bSIgZGlzYWJsZXMgdGhlIDRNQiBwYWdlIHRhYmxlcy4gKi8KK3N0YXRpYyBpbnQgX19pbml0IHBhcnNlX21lbW9wdChjaGFyICpwKQoreworCXU2NCBtZW1fc2l6ZTsKKworCWlmICghcCkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKyNpZmRlZiBDT05GSUdfWDg2XzMyCisJaWYgKCFzdHJjbXAocCwgIm5vcGVudGl1bSIpKSB7CisJCXNldHVwX2NsZWFyX2NwdV9jYXAoWDg2X0ZFQVRVUkVfUFNFKTsKKwkJcmV0dXJuIDA7CisJfQorI2VuZGlmCisKKwl1c2VyZGVmID0gMTsKKwltZW1fc2l6ZSA9IG1lbXBhcnNlKHAsICZwKTsKKwllODIwX3JlbW92ZV9yYW5nZShtZW1fc2l6ZSwgVUxMT05HX01BWCAtIG1lbV9zaXplLCBFODIwX1JBTSwgMSk7CisKKwlyZXR1cm4gMDsKK30KK2Vhcmx5X3BhcmFtKCJtZW0iLCBwYXJzZV9tZW1vcHQpOworCitzdGF0aWMgaW50IF9faW5pdCBwYXJzZV9tZW1tYXBfb3B0KGNoYXIgKnApCit7CisJY2hhciAqb2xkcDsKKwl1NjQgc3RhcnRfYXQsIG1lbV9zaXplOworCisJaWYgKCFwKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWlmICghc3RyY21wKHAsICJleGFjdG1hcCIpKSB7CisjaWZkZWYgQ09ORklHX0NSQVNIX0RVTVAKKwkJLyoKKwkJICogSWYgd2UgYXJlIGRvaW5nIGEgY3Jhc2ggZHVtcCwgd2Ugc3RpbGwgbmVlZCB0byBrbm93CisJCSAqIHRoZSByZWFsIG1lbSBzaXplIGJlZm9yZSBvcmlnaW5hbCBtZW1vcnkgbWFwIGlzCisJCSAqIHJlc2V0LgorCQkgKi8KKwkJc2F2ZWRfbWF4X3BmbiA9IGU4MjBfZW5kX29mX3JhbV9wZm4oKTsKKyNlbmRpZgorCQllODIwLm5yX21hcCA9IDA7CisJCXVzZXJkZWYgPSAxOworCQlyZXR1cm4gMDsKKwl9CisKKwlvbGRwID0gcDsKKwltZW1fc2l6ZSA9IG1lbXBhcnNlKHAsICZwKTsKKwlpZiAocCA9PSBvbGRwKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCXVzZXJkZWYgPSAxOworCWlmICgqcCA9PSAnQCcpIHsKKwkJc3RhcnRfYXQgPSBtZW1wYXJzZShwKzEsICZwKTsKKwkJZTgyMF9hZGRfcmVnaW9uKHN0YXJ0X2F0LCBtZW1fc2l6ZSwgRTgyMF9SQU0pOworCX0gZWxzZSBpZiAoKnAgPT0gJyMnKSB7CisJCXN0YXJ0X2F0ID0gbWVtcGFyc2UocCsxLCAmcCk7CisJCWU4MjBfYWRkX3JlZ2lvbihzdGFydF9hdCwgbWVtX3NpemUsIEU4MjBfQUNQSSk7CisJfSBlbHNlIGlmICgqcCA9PSAnJCcpIHsKKwkJc3RhcnRfYXQgPSBtZW1wYXJzZShwKzEsICZwKTsKKwkJZTgyMF9hZGRfcmVnaW9uKHN0YXJ0X2F0LCBtZW1fc2l6ZSwgRTgyMF9SRVNFUlZFRCk7CisJfSBlbHNlCisJCWU4MjBfcmVtb3ZlX3JhbmdlKG1lbV9zaXplLCBVTExPTkdfTUFYIC0gbWVtX3NpemUsIEU4MjBfUkFNLCAxKTsKKworCXJldHVybiAqcCA9PSAnXDAnID8gMCA6IC1FSU5WQUw7Cit9CitlYXJseV9wYXJhbSgibWVtbWFwIiwgcGFyc2VfbWVtbWFwX29wdCk7CisKK3ZvaWQgX19pbml0IGZpbmlzaF9lODIwX3BhcnNpbmcodm9pZCkKK3sKKwlpZiAodXNlcmRlZikgeworCQlpbnQgbnIgPSBlODIwLm5yX21hcDsKKworCQlpZiAoc2FuaXRpemVfZTgyMF9tYXAoZTgyMC5tYXAsIEFSUkFZX1NJWkUoZTgyMC5tYXApLCAmbnIpIDwgMCkKKwkJCWVhcmx5X3BhbmljKCJJbnZhbGlkIHVzZXIgc3VwcGxpZWQgbWVtb3J5IG1hcCIpOworCQllODIwLm5yX21hcCA9IG5yOworCisJCXByaW50ayhLRVJOX0lORk8gInVzZXItZGVmaW5lZCBwaHlzaWNhbCBSQU0gbWFwOlxuIik7CisJCWU4MjBfcHJpbnRfbWFwKCJ1c2VyIik7CisJfQorfQorCitzdGF0aWMgaW5saW5lIGNvbnN0IGNoYXIgKmU4MjBfdHlwZV90b19zdHJpbmcoaW50IGU4MjBfdHlwZSkKK3sKKwlzd2l0Y2ggKGU4MjBfdHlwZSkgeworCWNhc2UgRTgyMF9SRVNFUlZFRF9LRVJOOgorCWNhc2UgRTgyMF9SQU06CXJldHVybiAiU3lzdGVtIFJBTSI7CisJY2FzZSBFODIwX0FDUEk6CXJldHVybiAiQUNQSSBUYWJsZXMiOworCWNhc2UgRTgyMF9OVlM6CXJldHVybiAiQUNQSSBOb24tdm9sYXRpbGUgU3RvcmFnZSI7CisJZGVmYXVsdDoJcmV0dXJuICJyZXNlcnZlZCI7CisJfQorfQorCisvKgorICogTWFyayBlODIwIHJlc2VydmVkIGFyZWFzIGFzIGJ1c3kgZm9yIHRoZSByZXNvdXJjZSBtYW5hZ2VyLgorICovCit2b2lkIF9faW5pdCBlODIwX3Jlc2VydmVfcmVzb3VyY2VzKHZvaWQpCit7CisJaW50IGk7CisJc3RydWN0IHJlc291cmNlICpyZXM7CisJdTY0IGVuZDsKKworCXJlcyA9IGFsbG9jX2Jvb3RtZW1fbG93KHNpemVvZihzdHJ1Y3QgcmVzb3VyY2UpICogZTgyMC5ucl9tYXApOworCWZvciAoaSA9IDA7IGkgPCBlODIwLm5yX21hcDsgaSsrKSB7CisJCWVuZCA9IGU4MjAubWFwW2ldLmFkZHIgKyBlODIwLm1hcFtpXS5zaXplIC0gMTsKKyNpZm5kZWYgQ09ORklHX1JFU09VUkNFU182NEJJVAorCQlpZiAoZW5kID4gMHgxMDAwMDAwMDBVTEwpIHsKKwkJCXJlcysrOworCQkJY29udGludWU7CisJCX0KKyNlbmRpZgorCQlyZXMtPm5hbWUgPSBlODIwX3R5cGVfdG9fc3RyaW5nKGU4MjAubWFwW2ldLnR5cGUpOworCQlyZXMtPnN0YXJ0ID0gZTgyMC5tYXBbaV0uYWRkcjsKKwkJcmVzLT5lbmQgPSBlbmQ7CisKKwkJcmVzLT5mbGFncyA9IElPUkVTT1VSQ0VfTUVNIHwgSU9SRVNPVVJDRV9CVVNZOworCQlpbnNlcnRfcmVzb3VyY2UoJmlvbWVtX3Jlc291cmNlLCByZXMpOworCQlyZXMrKzsKKwl9CisKKwlmb3IgKGkgPSAwOyBpIDwgZTgyMF9zYXZlZC5ucl9tYXA7IGkrKykgeworCQlzdHJ1Y3QgZTgyMGVudHJ5ICplbnRyeSA9ICZlODIwX3NhdmVkLm1hcFtpXTsKKwkJZmlybXdhcmVfbWFwX2FkZF9lYXJseShlbnRyeS0+YWRkciwKKwkJCWVudHJ5LT5hZGRyICsgZW50cnktPnNpemUgLSAxLAorCQkJZTgyMF90eXBlX3RvX3N0cmluZyhlbnRyeS0+dHlwZSkpOworCX0KK30KKworLyoKKyAqIE5vbi1zdGFuZGFyZCBtZW1vcnkgc2V0dXAgY2FuIGJlIHNwZWNpZmllZCB2aWEgdGhpcyBxdWlyazoKKyAqLworY2hhciAqICgqYXJjaF9tZW1vcnlfc2V0dXBfcXVpcmspKHZvaWQpOworCitjaGFyICpfX2luaXQgZGVmYXVsdF9tYWNoaW5lX3NwZWNpZmljX21lbW9yeV9zZXR1cCh2b2lkKQoreworCWNoYXIgKndobyA9ICJCSU9TLWU4MjAiOworCWludCBuZXdfbnI7CisJLyoKKwkgKiBUcnkgdG8gY29weSB0aGUgQklPUy1zdXBwbGllZCBFODIwLW1hcC4KKwkgKgorCSAqIE90aGVyd2lzZSBmYWtlIGEgbWVtb3J5IG1hcDsgb25lIHNlY3Rpb24gZnJvbSAway0+NjQwaywKKwkgKiB0aGUgbmV4dCBzZWN0aW9uIGZyb20gMW1iLT5hcHByb3ByaWF0ZV9tZW1faworCSAqLworCW5ld19uciA9IGJvb3RfcGFyYW1zLmU4MjBfZW50cmllczsKKwlzYW5pdGl6ZV9lODIwX21hcChib290X3BhcmFtcy5lODIwX21hcCwKKwkJCUFSUkFZX1NJWkUoYm9vdF9wYXJhbXMuZTgyMF9tYXApLAorCQkJJm5ld19ucik7CisJYm9vdF9wYXJhbXMuZTgyMF9lbnRyaWVzID0gbmV3X25yOworCWlmIChhcHBlbmRfZTgyMF9tYXAoYm9vdF9wYXJhbXMuZTgyMF9tYXAsIGJvb3RfcGFyYW1zLmU4MjBfZW50cmllcykKKwkgIDwgMCkgeworCQl1NjQgbWVtX3NpemU7CisKKwkJLyogY29tcGFyZSByZXN1bHRzIGZyb20gb3RoZXIgbWV0aG9kcyBhbmQgdGFrZSB0aGUgZ3JlYXRlciAqLworCQlpZiAoYm9vdF9wYXJhbXMuYWx0X21lbV9rCisJCSAgICA8IGJvb3RfcGFyYW1zLnNjcmVlbl9pbmZvLmV4dF9tZW1faykgeworCQkJbWVtX3NpemUgPSBib290X3BhcmFtcy5zY3JlZW5faW5mby5leHRfbWVtX2s7CisJCQl3aG8gPSAiQklPUy04OCI7CisJCX0gZWxzZSB7CisJCQltZW1fc2l6ZSA9IGJvb3RfcGFyYW1zLmFsdF9tZW1fazsKKwkJCXdobyA9ICJCSU9TLWU4MDEiOworCQl9CisKKwkJZTgyMC5ucl9tYXAgPSAwOworCQllODIwX2FkZF9yZWdpb24oMCwgTE9XTUVNU0laRSgpLCBFODIwX1JBTSk7CisJCWU4MjBfYWRkX3JlZ2lvbihISUdIX01FTU9SWSwgbWVtX3NpemUgPDwgMTAsIEU4MjBfUkFNKTsKKwl9CisKKwkvKiBJbiBjYXNlIHNvbWVvbmUgY2FyZXMuLi4gKi8KKwlyZXR1cm4gd2hvOworfQorCitjaGFyICpfX2luaXQgX19hdHRyaWJ1dGVfXygod2VhaykpIG1hY2hpbmVfc3BlY2lmaWNfbWVtb3J5X3NldHVwKHZvaWQpCit7CisJaWYgKGFyY2hfbWVtb3J5X3NldHVwX3F1aXJrKSB7CisJCWNoYXIgKndobyA9IGFyY2hfbWVtb3J5X3NldHVwX3F1aXJrKCk7CisKKwkJaWYgKHdobykKKwkJCXJldHVybiB3aG87CisJfQorCXJldHVybiBkZWZhdWx0X21hY2hpbmVfc3BlY2lmaWNfbWVtb3J5X3NldHVwKCk7Cit9CisKKy8qIE92ZXJyaWRkZW4gaW4gcGFyYXZpcnQuYyBpZiBDT05GSUdfUEFSQVZJUlQgKi8KK2NoYXIgKiBfX2luaXQgX19hdHRyaWJ1dGVfXygod2VhaykpIG1lbW9yeV9zZXR1cCh2b2lkKQoreworCXJldHVybiBtYWNoaW5lX3NwZWNpZmljX21lbW9yeV9zZXR1cCgpOworfQorCit2b2lkIF9faW5pdCBzZXR1cF9tZW1vcnlfbWFwKHZvaWQpCit7CisJY2hhciAqd2hvOworCisJd2hvID0gbWVtb3J5X3NldHVwKCk7CisJbWVtY3B5KCZlODIwX3NhdmVkLCAmZTgyMCwgc2l6ZW9mKHN0cnVjdCBlODIwbWFwKSk7CisJcHJpbnRrKEtFUk5fSU5GTyAiQklPUy1wcm92aWRlZCBwaHlzaWNhbCBSQU0gbWFwOlxuIik7CisJZTgyMF9wcmludF9tYXAod2hvKTsKK30KKworI2lmZGVmIENPTkZJR19YODZfNjQKK2ludCBfX2luaXQgYXJjaF9nZXRfcmFtX3JhbmdlKGludCBzbG90LCB1NjQgKmFkZHIsIHU2NCAqc2l6ZSkKK3sKKwlpbnQgaTsKKworCWlmIChzbG90IDwgMCB8fCBzbG90ID49IGU4MjAubnJfbWFwKQorCQlyZXR1cm4gLTE7CisJZm9yIChpID0gc2xvdDsgaSA8IGU4MjAubnJfbWFwOyBpKyspIHsKKwkJaWYgKGU4MjAubWFwW2ldLnR5cGUgIT0gRTgyMF9SQU0pCisJCQljb250aW51ZTsKKwkJYnJlYWs7CisJfQorCWlmIChpID09IGU4MjAubnJfbWFwIHx8IGU4MjAubWFwW2ldLmFkZHIgPiAobWF4X3BmbiA8PCBQQUdFX1NISUZUKSkKKwkJcmV0dXJuIC0xOworCSphZGRyID0gZTgyMC5tYXBbaV0uYWRkcjsKKwkqc2l6ZSA9IG1pbl90KHU2NCwgZTgyMC5tYXBbaV0uc2l6ZSArIGU4MjAubWFwW2ldLmFkZHIsCisJCW1heF9wZm4gPDwgUEFHRV9TSElGVCkgLSAqYWRkcjsKKwlyZXR1cm4gaSArIDE7Cit9CisjZW5kaWYKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9lODIwXzMyLmMgYi9hcmNoL3g4Ni9rZXJuZWwvZTgyMF8zMi5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlZDczM2U3Li4wMDAwMDAwCi0tLSBhL2FyY2gveDg2L2tlcm5lbC9lODIwXzMyLmMKKysrIC9kZXYvbnVsbApAQCAtMSw3NzUgKzAsMCBAQAotI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgotI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+Ci0jaW5jbHVkZSA8bGludXgvaW5pdC5oPgotI2luY2x1ZGUgPGxpbnV4L2Jvb3RtZW0uaD4KLSNpbmNsdWRlIDxsaW51eC9pb3BvcnQuaD4KLSNpbmNsdWRlIDxsaW51eC9zdHJpbmcuaD4KLSNpbmNsdWRlIDxsaW51eC9rZXhlYy5oPgotI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgotI2luY2x1ZGUgPGxpbnV4L21tLmg+Ci0jaW5jbHVkZSA8bGludXgvcGZuLmg+Ci0jaW5jbHVkZSA8bGludXgvdWFjY2Vzcy5oPgotI2luY2x1ZGUgPGxpbnV4L3N1c3BlbmQuaD4KLQotI2luY2x1ZGUgPGFzbS9wZ3RhYmxlLmg+Ci0jaW5jbHVkZSA8YXNtL3BhZ2UuaD4KLSNpbmNsdWRlIDxhc20vZTgyMC5oPgotI2luY2x1ZGUgPGFzbS9zZXR1cC5oPgotCi1zdHJ1Y3QgZTgyMG1hcCBlODIwOwotc3RydWN0IGNoYW5nZV9tZW1iZXIgewotCXN0cnVjdCBlODIwZW50cnkgKnBiaW9zOyAvKiBwb2ludGVyIHRvIG9yaWdpbmFsIGJpb3MgZW50cnkgKi8KLQl1bnNpZ25lZCBsb25nIGxvbmcgYWRkcjsgLyogYWRkcmVzcyBmb3IgdGhpcyBjaGFuZ2UgcG9pbnQgKi8KLX07Ci1zdGF0aWMgc3RydWN0IGNoYW5nZV9tZW1iZXIgY2hhbmdlX3BvaW50X2xpc3RbMipFODIwTUFYXSBfX2luaXRkYXRhOwotc3RhdGljIHN0cnVjdCBjaGFuZ2VfbWVtYmVyICpjaGFuZ2VfcG9pbnRbMipFODIwTUFYXSBfX2luaXRkYXRhOwotc3RhdGljIHN0cnVjdCBlODIwZW50cnkgKm92ZXJsYXBfbGlzdFtFODIwTUFYXSBfX2luaXRkYXRhOwotc3RhdGljIHN0cnVjdCBlODIwZW50cnkgbmV3X2Jpb3NbRTgyME1BWF0gX19pbml0ZGF0YTsKLS8qIEZvciBQQ0kgb3Igb3RoZXIgbWVtb3J5LW1hcHBlZCByZXNvdXJjZXMgKi8KLXVuc2lnbmVkIGxvbmcgcGNpX21lbV9zdGFydCA9IDB4MTAwMDAwMDA7Ci0jaWZkZWYgQ09ORklHX1BDSQotRVhQT1JUX1NZTUJPTChwY2lfbWVtX3N0YXJ0KTsKLSNlbmRpZgotZXh0ZXJuIGludCB1c2VyX2RlZmluZWRfbWVtbWFwOwotCi1zdGF0aWMgc3RydWN0IHJlc291cmNlIHN5c3RlbV9yb21fcmVzb3VyY2UgPSB7Ci0JLm5hbWUJPSAiU3lzdGVtIFJPTSIsCi0JLnN0YXJ0CT0gMHhmMDAwMCwKLQkuZW5kCT0gMHhmZmZmZiwKLQkuZmxhZ3MJPSBJT1JFU09VUkNFX0JVU1kgfCBJT1JFU09VUkNFX1JFQURPTkxZIHwgSU9SRVNPVVJDRV9NRU0KLX07Ci0KLXN0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgZXh0ZW5zaW9uX3JvbV9yZXNvdXJjZSA9IHsKLQkubmFtZQk9ICJFeHRlbnNpb24gUk9NIiwKLQkuc3RhcnQJPSAweGUwMDAwLAotCS5lbmQJPSAweGVmZmZmLAotCS5mbGFncwk9IElPUkVTT1VSQ0VfQlVTWSB8IElPUkVTT1VSQ0VfUkVBRE9OTFkgfCBJT1JFU09VUkNFX01FTQotfTsKLQotc3RhdGljIHN0cnVjdCByZXNvdXJjZSBhZGFwdGVyX3JvbV9yZXNvdXJjZXNbXSA9IHsgewotCS5uYW1lIAk9ICJBZGFwdGVyIFJPTSIsCi0JLnN0YXJ0CT0gMHhjODAwMCwKLQkuZW5kCT0gMCwKLQkuZmxhZ3MJPSBJT1JFU09VUkNFX0JVU1kgfCBJT1JFU09VUkNFX1JFQURPTkxZIHwgSU9SRVNPVVJDRV9NRU0KLX0sIHsKLQkubmFtZSAJPSAiQWRhcHRlciBST00iLAotCS5zdGFydAk9IDAsCi0JLmVuZAk9IDAsCi0JLmZsYWdzCT0gSU9SRVNPVVJDRV9CVVNZIHwgSU9SRVNPVVJDRV9SRUFET05MWSB8IElPUkVTT1VSQ0VfTUVNCi19LCB7Ci0JLm5hbWUgCT0gIkFkYXB0ZXIgUk9NIiwKLQkuc3RhcnQJPSAwLAotCS5lbmQJPSAwLAotCS5mbGFncwk9IElPUkVTT1VSQ0VfQlVTWSB8IElPUkVTT1VSQ0VfUkVBRE9OTFkgfCBJT1JFU09VUkNFX01FTQotfSwgewotCS5uYW1lIAk9ICJBZGFwdGVyIFJPTSIsCi0JLnN0YXJ0CT0gMCwKLQkuZW5kCT0gMCwKLQkuZmxhZ3MJPSBJT1JFU09VUkNFX0JVU1kgfCBJT1JFU09VUkNFX1JFQURPTkxZIHwgSU9SRVNPVVJDRV9NRU0KLX0sIHsKLQkubmFtZSAJPSAiQWRhcHRlciBST00iLAotCS5zdGFydAk9IDAsCi0JLmVuZAk9IDAsCi0JLmZsYWdzCT0gSU9SRVNPVVJDRV9CVVNZIHwgSU9SRVNPVVJDRV9SRUFET05MWSB8IElPUkVTT1VSQ0VfTUVNCi19LCB7Ci0JLm5hbWUgCT0gIkFkYXB0ZXIgUk9NIiwKLQkuc3RhcnQJPSAwLAotCS5lbmQJPSAwLAotCS5mbGFncwk9IElPUkVTT1VSQ0VfQlVTWSB8IElPUkVTT1VSQ0VfUkVBRE9OTFkgfCBJT1JFU09VUkNFX01FTQotfSB9OwotCi1zdGF0aWMgc3RydWN0IHJlc291cmNlIHZpZGVvX3JvbV9yZXNvdXJjZSA9IHsKLQkubmFtZSAJPSAiVmlkZW8gUk9NIiwKLQkuc3RhcnQJPSAweGMwMDAwLAotCS5lbmQJPSAweGM3ZmZmLAotCS5mbGFncwk9IElPUkVTT1VSQ0VfQlVTWSB8IElPUkVTT1VSQ0VfUkVBRE9OTFkgfCBJT1JFU09VUkNFX01FTQotfTsKLQotI2RlZmluZSBST01TSUdOQVRVUkUgMHhhYTU1Ci0KLXN0YXRpYyBpbnQgX19pbml0IHJvbXNpZ25hdHVyZShjb25zdCB1bnNpZ25lZCBjaGFyICpyb20pCi17Ci0JY29uc3QgdW5zaWduZWQgc2hvcnQgKiBjb25zdCBwdHIgPSAoY29uc3QgdW5zaWduZWQgc2hvcnQgKilyb207Ci0JdW5zaWduZWQgc2hvcnQgc2lnOwotCi0JcmV0dXJuIHByb2JlX2tlcm5lbF9hZGRyZXNzKHB0ciwgc2lnKSA9PSAwICYmIHNpZyA9PSBST01TSUdOQVRVUkU7Ci19Ci0KLXN0YXRpYyBpbnQgX19pbml0IHJvbWNoZWNrc3VtKGNvbnN0IHVuc2lnbmVkIGNoYXIgKnJvbSwgdW5zaWduZWQgbG9uZyBsZW5ndGgpCi17Ci0JdW5zaWduZWQgY2hhciBzdW0sIGM7Ci0KLQlmb3IgKHN1bSA9IDA7IGxlbmd0aCAmJiBwcm9iZV9rZXJuZWxfYWRkcmVzcyhyb20rKywgYykgPT0gMDsgbGVuZ3RoLS0pCi0JCXN1bSArPSBjOwotCXJldHVybiAhbGVuZ3RoICYmICFzdW07Ci19Ci0KLXN0YXRpYyB2b2lkIF9faW5pdCBwcm9iZV9yb21zKHZvaWQpCi17Ci0JY29uc3QgdW5zaWduZWQgY2hhciAqcm9tOwotCXVuc2lnbmVkIGxvbmcgc3RhcnQsIGxlbmd0aCwgdXBwZXI7Ci0JdW5zaWduZWQgY2hhciBjOwotCWludCBpOwotCi0JLyogdmlkZW8gcm9tICovCi0JdXBwZXIgPSBhZGFwdGVyX3JvbV9yZXNvdXJjZXNbMF0uc3RhcnQ7Ci0JZm9yIChzdGFydCA9IHZpZGVvX3JvbV9yZXNvdXJjZS5zdGFydDsgc3RhcnQgPCB1cHBlcjsgc3RhcnQgKz0gMjA0OCkgewotCQlyb20gPSBpc2FfYnVzX3RvX3ZpcnQoc3RhcnQpOwotCQlpZiAoIXJvbXNpZ25hdHVyZShyb20pKQotCQkJY29udGludWU7Ci0KLQkJdmlkZW9fcm9tX3Jlc291cmNlLnN0YXJ0ID0gc3RhcnQ7Ci0KLQkJaWYgKHByb2JlX2tlcm5lbF9hZGRyZXNzKHJvbSArIDIsIGMpICE9IDApCi0JCQljb250aW51ZTsKLQotCQkvKiAwIDwgbGVuZ3RoIDw9IDB4N2YgKiA1MTIsIGhpc3RvcmljYWxseSAqLwotCQlsZW5ndGggPSBjICogNTEyOwotCi0JCS8qIGlmIGNoZWNrc3VtIG9rYXksIHRydXN0IGxlbmd0aCBieXRlICovCi0JCWlmIChsZW5ndGggJiYgcm9tY2hlY2tzdW0ocm9tLCBsZW5ndGgpKQotCQkJdmlkZW9fcm9tX3Jlc291cmNlLmVuZCA9IHN0YXJ0ICsgbGVuZ3RoIC0gMTsKLQotCQlyZXF1ZXN0X3Jlc291cmNlKCZpb21lbV9yZXNvdXJjZSwgJnZpZGVvX3JvbV9yZXNvdXJjZSk7Ci0JCWJyZWFrOwotCX0KLQotCXN0YXJ0ID0gKHZpZGVvX3JvbV9yZXNvdXJjZS5lbmQgKyAxICsgMjA0NykgJiB+MjA0N1VMOwotCWlmIChzdGFydCA8IHVwcGVyKQotCQlzdGFydCA9IHVwcGVyOwotCi0JLyogc3lzdGVtIHJvbSAqLwotCXJlcXVlc3RfcmVzb3VyY2UoJmlvbWVtX3Jlc291cmNlLCAmc3lzdGVtX3JvbV9yZXNvdXJjZSk7Ci0JdXBwZXIgPSBzeXN0ZW1fcm9tX3Jlc291cmNlLnN0YXJ0OwotCi0JLyogY2hlY2sgZm9yIGV4dGVuc2lvbiByb20gKGlnbm9yZSBsZW5ndGggYnl0ZSEpICovCi0Jcm9tID0gaXNhX2J1c190b192aXJ0KGV4dGVuc2lvbl9yb21fcmVzb3VyY2Uuc3RhcnQpOwotCWlmIChyb21zaWduYXR1cmUocm9tKSkgewotCQlsZW5ndGggPSBleHRlbnNpb25fcm9tX3Jlc291cmNlLmVuZCAtIGV4dGVuc2lvbl9yb21fcmVzb3VyY2Uuc3RhcnQgKyAxOwotCQlpZiAocm9tY2hlY2tzdW0ocm9tLCBsZW5ndGgpKSB7Ci0JCQlyZXF1ZXN0X3Jlc291cmNlKCZpb21lbV9yZXNvdXJjZSwgJmV4dGVuc2lvbl9yb21fcmVzb3VyY2UpOwotCQkJdXBwZXIgPSBleHRlbnNpb25fcm9tX3Jlc291cmNlLnN0YXJ0OwotCQl9Ci0JfQotCi0JLyogY2hlY2sgZm9yIGFkYXB0ZXIgcm9tcyBvbiAyayBib3VuZGFyaWVzICovCi0JZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoYWRhcHRlcl9yb21fcmVzb3VyY2VzKSAmJiBzdGFydCA8IHVwcGVyOyBzdGFydCArPSAyMDQ4KSB7Ci0JCXJvbSA9IGlzYV9idXNfdG9fdmlydChzdGFydCk7Ci0JCWlmICghcm9tc2lnbmF0dXJlKHJvbSkpCi0JCQljb250aW51ZTsKLQotCQlpZiAocHJvYmVfa2VybmVsX2FkZHJlc3Mocm9tICsgMiwgYykgIT0gMCkKLQkJCWNvbnRpbnVlOwotCi0JCS8qIDAgPCBsZW5ndGggPD0gMHg3ZiAqIDUxMiwgaGlzdG9yaWNhbGx5ICovCi0JCWxlbmd0aCA9IGMgKiA1MTI7Ci0KLQkJLyogYnV0IGFjY2VwdCBhbnkgbGVuZ3RoIHRoYXQgZml0cyBpZiBjaGVja3N1bSBva2F5ICovCi0JCWlmICghbGVuZ3RoIHx8IHN0YXJ0ICsgbGVuZ3RoID4gdXBwZXIgfHwgIXJvbWNoZWNrc3VtKHJvbSwgbGVuZ3RoKSkKLQkJCWNvbnRpbnVlOwotCi0JCWFkYXB0ZXJfcm9tX3Jlc291cmNlc1tpXS5zdGFydCA9IHN0YXJ0OwotCQlhZGFwdGVyX3JvbV9yZXNvdXJjZXNbaV0uZW5kID0gc3RhcnQgKyBsZW5ndGggLSAxOwotCQlyZXF1ZXN0X3Jlc291cmNlKCZpb21lbV9yZXNvdXJjZSwgJmFkYXB0ZXJfcm9tX3Jlc291cmNlc1tpXSk7Ci0KLQkJc3RhcnQgPSBhZGFwdGVyX3JvbV9yZXNvdXJjZXNbaSsrXS5lbmQgJiB+MjA0N1VMOwotCX0KLX0KLQotLyoKLSAqIFJlcXVlc3QgYWRkcmVzcyBzcGFjZSBmb3IgYWxsIHN0YW5kYXJkIFJBTSBhbmQgUk9NIHJlc291cmNlcwotICogYW5kIGFsc28gZm9yIHJlZ2lvbnMgcmVwb3J0ZWQgYXMgcmVzZXJ2ZWQgYnkgdGhlIGU4MjAuCi0gKi8KLXZvaWQgX19pbml0IGluaXRfaW9tZW1fcmVzb3VyY2VzKHN0cnVjdCByZXNvdXJjZSAqY29kZV9yZXNvdXJjZSwKLQkJc3RydWN0IHJlc291cmNlICpkYXRhX3Jlc291cmNlLAotCQlzdHJ1Y3QgcmVzb3VyY2UgKmJzc19yZXNvdXJjZSkKLXsKLQlpbnQgaTsKLQotCXByb2JlX3JvbXMoKTsKLQlmb3IgKGkgPSAwOyBpIDwgZTgyMC5ucl9tYXA7IGkrKykgewotCQlzdHJ1Y3QgcmVzb3VyY2UgKnJlczsKLSNpZm5kZWYgQ09ORklHX1JFU09VUkNFU182NEJJVAotCQlpZiAoZTgyMC5tYXBbaV0uYWRkciArIGU4MjAubWFwW2ldLnNpemUgPiAweDEwMDAwMDAwMFVMTCkKLQkJCWNvbnRpbnVlOwotI2VuZGlmCi0JCXJlcyA9IGt6YWxsb2Moc2l6ZW9mKHN0cnVjdCByZXNvdXJjZSksIEdGUF9BVE9NSUMpOwotCQlzd2l0Y2ggKGU4MjAubWFwW2ldLnR5cGUpIHsKLQkJY2FzZSBFODIwX1JBTToJcmVzLT5uYW1lID0gIlN5c3RlbSBSQU0iOyBicmVhazsKLQkJY2FzZSBFODIwX0FDUEk6CXJlcy0+bmFtZSA9ICJBQ1BJIFRhYmxlcyI7IGJyZWFrOwotCQljYXNlIEU4MjBfTlZTOglyZXMtPm5hbWUgPSAiQUNQSSBOb24tdm9sYXRpbGUgU3RvcmFnZSI7IGJyZWFrOwotCQlkZWZhdWx0OglyZXMtPm5hbWUgPSAicmVzZXJ2ZWQiOwotCQl9Ci0JCXJlcy0+c3RhcnQgPSBlODIwLm1hcFtpXS5hZGRyOwotCQlyZXMtPmVuZCA9IHJlcy0+c3RhcnQgKyBlODIwLm1hcFtpXS5zaXplIC0gMTsKLQkJcmVzLT5mbGFncyA9IElPUkVTT1VSQ0VfTUVNIHwgSU9SRVNPVVJDRV9CVVNZOwotCQlpZiAocmVxdWVzdF9yZXNvdXJjZSgmaW9tZW1fcmVzb3VyY2UsIHJlcykpIHsKLQkJCWtmcmVlKHJlcyk7Ci0JCQljb250aW51ZTsKLQkJfQotCQlpZiAoZTgyMC5tYXBbaV0udHlwZSA9PSBFODIwX1JBTSkgewotCQkJLyoKLQkJCSAqICBXZSBkb24ndCBrbm93IHdoaWNoIFJBTSByZWdpb24gY29udGFpbnMga2VybmVsIGRhdGEsCi0JCQkgKiAgc28gd2UgdHJ5IGl0IHJlcGVhdGVkbHkgYW5kIGxldCB0aGUgcmVzb3VyY2UgbWFuYWdlcgotCQkJICogIHRlc3QgaXQuCi0JCQkgKi8KLQkJCXJlcXVlc3RfcmVzb3VyY2UocmVzLCBjb2RlX3Jlc291cmNlKTsKLQkJCXJlcXVlc3RfcmVzb3VyY2UocmVzLCBkYXRhX3Jlc291cmNlKTsKLQkJCXJlcXVlc3RfcmVzb3VyY2UocmVzLCBic3NfcmVzb3VyY2UpOwotI2lmZGVmIENPTkZJR19LRVhFQwotCQkJaWYgKGNyYXNoa19yZXMuc3RhcnQgIT0gY3Jhc2hrX3Jlcy5lbmQpCi0JCQkJcmVxdWVzdF9yZXNvdXJjZShyZXMsICZjcmFzaGtfcmVzKTsKLSNlbmRpZgotCQl9Ci0JfQotfQotCi0jaWYgZGVmaW5lZChDT05GSUdfUE0pICYmIGRlZmluZWQoQ09ORklHX0hJQkVSTkFUSU9OKQotLyoqCi0gKiBlODIwX21hcmtfbm9zYXZlX3JlZ2lvbnMgLSBGaW5kIHRoZSByYW5nZXMgb2YgcGh5c2ljYWwgYWRkcmVzc2VzIHRoYXQgZG8gbm90Ci0gKiBjb3JyZXNwb25kIHRvIGU4MjAgUkFNIGFyZWFzIGFuZCBtYXJrIHRoZSBjb3JyZXNwb25kaW5nIHBhZ2VzIGFzIG5vc2F2ZSBmb3IKLSAqIGhpYmVybmF0aW9uLgotICoKLSAqIFRoaXMgZnVuY3Rpb24gcmVxdWlyZXMgdGhlIGU4MjAgbWFwIHRvIGJlIHNvcnRlZCBhbmQgd2l0aG91dCBhbnkKLSAqIG92ZXJsYXBwaW5nIGVudHJpZXMgYW5kIGFzc3VtZXMgdGhlIGZpcnN0IGU4MjAgYXJlYSB0byBiZSBSQU0uCi0gKi8KLXZvaWQgX19pbml0IGU4MjBfbWFya19ub3NhdmVfcmVnaW9ucyh2b2lkKQotewotCWludCBpOwotCXVuc2lnbmVkIGxvbmcgcGZuOwotCi0JcGZuID0gUEZOX0RPV04oZTgyMC5tYXBbMF0uYWRkciArIGU4MjAubWFwWzBdLnNpemUpOwotCWZvciAoaSA9IDE7IGkgPCBlODIwLm5yX21hcDsgaSsrKSB7Ci0JCXN0cnVjdCBlODIwZW50cnkgKmVpID0gJmU4MjAubWFwW2ldOwotCi0JCWlmIChwZm4gPCBQRk5fVVAoZWktPmFkZHIpKQotCQkJcmVnaXN0ZXJfbm9zYXZlX3JlZ2lvbihwZm4sIFBGTl9VUChlaS0+YWRkcikpOwotCi0JCXBmbiA9IFBGTl9ET1dOKGVpLT5hZGRyICsgZWktPnNpemUpOwotCQlpZiAoZWktPnR5cGUgIT0gRTgyMF9SQU0pCi0JCQlyZWdpc3Rlcl9ub3NhdmVfcmVnaW9uKFBGTl9VUChlaS0+YWRkciksIHBmbik7Ci0KLQkJaWYgKHBmbiA+PSBtYXhfbG93X3BmbikKLQkJCWJyZWFrOwotCX0KLX0KLSNlbmRpZgotCi12b2lkIF9faW5pdCBhZGRfbWVtb3J5X3JlZ2lvbih1bnNpZ25lZCBsb25nIGxvbmcgc3RhcnQsCi0JCQkgICAgICB1bnNpZ25lZCBsb25nIGxvbmcgc2l6ZSwgaW50IHR5cGUpCi17Ci0JaW50IHg7Ci0KLQl4ID0gZTgyMC5ucl9tYXA7Ci0KLQlpZiAoeCA9PSBFODIwTUFYKSB7Ci0JCXByaW50ayhLRVJOX0VSUiAiT29vcHMhIFRvbyBtYW55IGVudHJpZXMgaW4gdGhlIG1lbW9yeSBtYXAhXG4iKTsKLQkJcmV0dXJuOwotCX0KLQotCWU4MjAubWFwW3hdLmFkZHIgPSBzdGFydDsKLQllODIwLm1hcFt4XS5zaXplID0gc2l6ZTsKLQllODIwLm1hcFt4XS50eXBlID0gdHlwZTsKLQllODIwLm5yX21hcCsrOwotfSAvKiBhZGRfbWVtb3J5X3JlZ2lvbiAqLwotCi0vKgotICogU2FuaXRpemUgdGhlIEJJT1MgZTgyMCBtYXAuCi0gKgotICogU29tZSBlODIwIHJlc3BvbnNlcyBpbmNsdWRlIG92ZXJsYXBwaW5nIGVudHJpZXMuICBUaGUgZm9sbG93aW5nCi0gKiByZXBsYWNlcyB0aGUgb3JpZ2luYWwgZTgyMCBtYXAgd2l0aCBhIG5ldyBvbmUsIHJlbW92aW5nIG92ZXJsYXBzLgotICoKLSAqLwotaW50IF9faW5pdCBzYW5pdGl6ZV9lODIwX21hcChzdHJ1Y3QgZTgyMGVudHJ5ICogYmlvc21hcCwgY2hhciAqIHBucl9tYXApCi17Ci0Jc3RydWN0IGNoYW5nZV9tZW1iZXIgKmNoYW5nZV90bXA7Ci0JdW5zaWduZWQgbG9uZyBjdXJyZW50X3R5cGUsIGxhc3RfdHlwZTsKLQl1bnNpZ25lZCBsb25nIGxvbmcgbGFzdF9hZGRyOwotCWludCBjaGdpZHgsIHN0aWxsX2NoYW5naW5nOwotCWludCBvdmVybGFwX2VudHJpZXM7Ci0JaW50IG5ld19iaW9zX2VudHJ5OwotCWludCBvbGRfbnIsIG5ld19uciwgY2hnX25yOwotCWludCBpOwotCi0JLyoKLQkJVmlzdWFsbHkgd2UncmUgcGVyZm9ybWluZyB0aGUgZm9sbG93aW5nICgxLDIsMyw0ID0gbWVtb3J5IHR5cGVzKS4uLgotCi0JCVNhbXBsZSBtZW1vcnkgbWFwICh3L292ZXJsYXBzKToKLQkJICAgX19fXzIyX19fX19fX19fX19fX19fX19fCi0JCSAgIF9fX19fX19fX19fX19fX19fX19fX180XwotCQkgICBfX19fMTExMV9fX19fX19fX19fX19fX18KLQkJICAgXzQ0X19fX19fX19fX19fX19fX19fX19fCi0JCSAgIDExMTExMTExX19fX19fX19fX19fX19fXwotCQkgICBfX19fX19fX19fX19fX19fX19fXzMzX18KLQkJICAgX19fX19fX19fX180NF9fX19fX19fX19fCi0JCSAgIF9fX19fX19fX18zMzMzM19fX19fX19fXwotCQkgICBfX19fX19fX19fX19fXzIyX19fX19fX18KLQkJICAgX19fX19fX19fX19fX19fX19fXzIyMjJfCi0JCSAgIF9fX19fX19fXzExMTExMTExMV9fX19fXwotCQkgICBfX19fX19fX19fX19fX19fX19fX18xMV8KLQkJICAgX19fX19fX19fX19fX19fX180X19fX19fCi0KLQkJU2FuaXRpemVkIGVxdWl2YWxlbnQgKG5vIG92ZXJsYXApOgotCQkgICAxX19fX19fX19fX19fX19fX19fX19fX18KLQkJICAgXzQ0X19fX19fX19fX19fX19fX19fX19fCi0JCSAgIF9fXzFfX19fX19fX19fX19fX19fX19fXwotCQkgICBfX19fMjJfX19fX19fX19fX19fX19fX18KLQkJICAgX19fX19fMTFfX19fX19fX19fX19fX19fCi0JCSAgIF9fX19fX19fXzFfX19fX19fX19fX19fXwotCQkgICBfX19fX19fX19fM19fX19fX19fX19fX18KLQkJICAgX19fX19fX19fX180NF9fX19fX19fX19fCi0JCSAgIF9fX19fX19fX19fX18zM19fX19fX19fXwotCQkgICBfX19fX19fX19fX19fX18yX19fX19fX18KLQkJICAgX19fX19fX19fX19fX19fXzFfX19fX19fCi0JCSAgIF9fX19fX19fX19fX19fX19fNF9fX19fXwotCQkgICBfX19fX19fX19fX19fX19fX19fMl9fX18KLQkJICAgX19fX19fX19fX19fX19fX19fX18zM19fCi0JCSAgIF9fX19fX19fX19fX19fX19fX19fX180XwotCSovCi0JLyogaWYgdGhlcmUncyBvbmx5IG9uZSBtZW1vcnkgcmVnaW9uLCBkb24ndCBib3RoZXIgKi8KLQlpZiAoKnBucl9tYXAgPCAyKSB7Ci0JCXJldHVybiAtMTsKLQl9Ci0KLQlvbGRfbnIgPSAqcG5yX21hcDsKLQotCS8qIGJhaWwgb3V0IGlmIHdlIGZpbmQgYW55IHVucmVhc29uYWJsZSBhZGRyZXNzZXMgaW4gYmlvcyBtYXAgKi8KLQlmb3IgKGk9MDsgaTxvbGRfbnI7IGkrKykKLQkJaWYgKGJpb3NtYXBbaV0uYWRkciArIGJpb3NtYXBbaV0uc2l6ZSA8IGJpb3NtYXBbaV0uYWRkcikgewotCQkJcmV0dXJuIC0xOwotCQl9Ci0KLQkvKiBjcmVhdGUgcG9pbnRlcnMgZm9yIGluaXRpYWwgY2hhbmdlLXBvaW50IGluZm9ybWF0aW9uIChmb3Igc29ydGluZykgKi8KLQlmb3IgKGk9MDsgaSA8IDIqb2xkX25yOyBpKyspCi0JCWNoYW5nZV9wb2ludFtpXSA9ICZjaGFuZ2VfcG9pbnRfbGlzdFtpXTsKLQotCS8qIHJlY29yZCBhbGwga25vd24gY2hhbmdlLXBvaW50cyAoc3RhcnRpbmcgYW5kIGVuZGluZyBhZGRyZXNzZXMpLAotCSAgIG9taXR0aW5nIHRob3NlIHRoYXQgYXJlIGZvciBlbXB0eSBtZW1vcnkgcmVnaW9ucyAqLwotCWNoZ2lkeCA9IDA7Ci0JZm9yIChpPTA7IGkgPCBvbGRfbnI7IGkrKykJewotCQlpZiAoYmlvc21hcFtpXS5zaXplICE9IDApIHsKLQkJCWNoYW5nZV9wb2ludFtjaGdpZHhdLT5hZGRyID0gYmlvc21hcFtpXS5hZGRyOwotCQkJY2hhbmdlX3BvaW50W2NoZ2lkeCsrXS0+cGJpb3MgPSAmYmlvc21hcFtpXTsKLQkJCWNoYW5nZV9wb2ludFtjaGdpZHhdLT5hZGRyID0gYmlvc21hcFtpXS5hZGRyICsgYmlvc21hcFtpXS5zaXplOwotCQkJY2hhbmdlX3BvaW50W2NoZ2lkeCsrXS0+cGJpb3MgPSAmYmlvc21hcFtpXTsKLQkJfQotCX0KLQljaGdfbnIgPSBjaGdpZHg7ICAgIAkvKiB0cnVlIG51bWJlciBvZiBjaGFuZ2UtcG9pbnRzICovCi0KLQkvKiBzb3J0IGNoYW5nZS1wb2ludCBsaXN0IGJ5IG1lbW9yeSBhZGRyZXNzZXMgKGxvdyAtPiBoaWdoKSAqLwotCXN0aWxsX2NoYW5naW5nID0gMTsKLQl3aGlsZSAoc3RpbGxfY2hhbmdpbmcpCXsKLQkJc3RpbGxfY2hhbmdpbmcgPSAwOwotCQlmb3IgKGk9MTsgaSA8IGNoZ19ucjsgaSsrKSAgewotCQkJLyogaWYgPGN1cnJlbnRfYWRkcj4gPiA8bGFzdF9hZGRyPiwgc3dhcCAqLwotCQkJLyogb3IsIGlmIGN1cnJlbnQ9PHN0YXJ0X2FkZHI+ICYgbGFzdD08ZW5kX2FkZHI+LCBzd2FwICovCi0JCQlpZiAoKGNoYW5nZV9wb2ludFtpXS0+YWRkciA8IGNoYW5nZV9wb2ludFtpLTFdLT5hZGRyKSB8fAotCQkJCSgoY2hhbmdlX3BvaW50W2ldLT5hZGRyID09IGNoYW5nZV9wb2ludFtpLTFdLT5hZGRyKSAmJgotCQkJCSAoY2hhbmdlX3BvaW50W2ldLT5hZGRyID09IGNoYW5nZV9wb2ludFtpXS0+cGJpb3MtPmFkZHIpICYmCi0JCQkJIChjaGFuZ2VfcG9pbnRbaS0xXS0+YWRkciAhPSBjaGFuZ2VfcG9pbnRbaS0xXS0+cGJpb3MtPmFkZHIpKQotCQkJICAgKQotCQkJewotCQkJCWNoYW5nZV90bXAgPSBjaGFuZ2VfcG9pbnRbaV07Ci0JCQkJY2hhbmdlX3BvaW50W2ldID0gY2hhbmdlX3BvaW50W2ktMV07Ci0JCQkJY2hhbmdlX3BvaW50W2ktMV0gPSBjaGFuZ2VfdG1wOwotCQkJCXN0aWxsX2NoYW5naW5nPTE7Ci0JCQl9Ci0JCX0KLQl9Ci0KLQkvKiBjcmVhdGUgYSBuZXcgYmlvcyBtZW1vcnkgbWFwLCByZW1vdmluZyBvdmVybGFwcyAqLwotCW92ZXJsYXBfZW50cmllcz0wOwkgLyogbnVtYmVyIG9mIGVudHJpZXMgaW4gdGhlIG92ZXJsYXAgdGFibGUgKi8KLQluZXdfYmlvc19lbnRyeT0wOwkgLyogaW5kZXggZm9yIGNyZWF0aW5nIG5ldyBiaW9zIG1hcCBlbnRyaWVzICovCi0JbGFzdF90eXBlID0gMDsJCSAvKiBzdGFydCB3aXRoIHVuZGVmaW5lZCBtZW1vcnkgdHlwZSAqLwotCWxhc3RfYWRkciA9IDA7CQkgLyogc3RhcnQgd2l0aCAwIGFzIGxhc3Qgc3RhcnRpbmcgYWRkcmVzcyAqLwotCS8qIGxvb3AgdGhyb3VnaCBjaGFuZ2UtcG9pbnRzLCBkZXRlcm1pbmluZyBhZmZlY3Qgb24gdGhlIG5ldyBiaW9zIG1hcCAqLwotCWZvciAoY2hnaWR4PTA7IGNoZ2lkeCA8IGNoZ19ucjsgY2hnaWR4KyspCi0JewotCQkvKiBrZWVwIHRyYWNrIG9mIGFsbCBvdmVybGFwcGluZyBiaW9zIGVudHJpZXMgKi8KLQkJaWYgKGNoYW5nZV9wb2ludFtjaGdpZHhdLT5hZGRyID09IGNoYW5nZV9wb2ludFtjaGdpZHhdLT5wYmlvcy0+YWRkcikKLQkJewotCQkJLyogYWRkIG1hcCBlbnRyeSB0byBvdmVybGFwIGxpc3QgKD4gMSBlbnRyeSBpbXBsaWVzIGFuIG92ZXJsYXApICovCi0JCQlvdmVybGFwX2xpc3Rbb3ZlcmxhcF9lbnRyaWVzKytdPWNoYW5nZV9wb2ludFtjaGdpZHhdLT5wYmlvczsKLQkJfQotCQllbHNlCi0JCXsKLQkJCS8qIHJlbW92ZSBlbnRyeSBmcm9tIGxpc3QgKG9yZGVyIGluZGVwZW5kZW50LCBzbyBzd2FwIHdpdGggbGFzdCkgKi8KLQkJCWZvciAoaT0wOyBpPG92ZXJsYXBfZW50cmllczsgaSsrKQotCQkJewotCQkJCWlmIChvdmVybGFwX2xpc3RbaV0gPT0gY2hhbmdlX3BvaW50W2NoZ2lkeF0tPnBiaW9zKQotCQkJCQlvdmVybGFwX2xpc3RbaV0gPSBvdmVybGFwX2xpc3Rbb3ZlcmxhcF9lbnRyaWVzLTFdOwotCQkJfQotCQkJb3ZlcmxhcF9lbnRyaWVzLS07Ci0JCX0KLQkJLyogaWYgdGhlcmUgYXJlIG92ZXJsYXBwaW5nIGVudHJpZXMsIGRlY2lkZSB3aGljaCAidHlwZSIgdG8gdXNlICovCi0JCS8qIChsYXJnZXIgdmFsdWUgdGFrZXMgcHJlY2VkZW5jZSAtLSAxPXVzYWJsZSwgMiwzLDQsNCs9dW51c2FibGUpICovCi0JCWN1cnJlbnRfdHlwZSA9IDA7Ci0JCWZvciAoaT0wOyBpPG92ZXJsYXBfZW50cmllczsgaSsrKQotCQkJaWYgKG92ZXJsYXBfbGlzdFtpXS0+dHlwZSA+IGN1cnJlbnRfdHlwZSkKLQkJCQljdXJyZW50X3R5cGUgPSBvdmVybGFwX2xpc3RbaV0tPnR5cGU7Ci0JCS8qIGNvbnRpbnVlIGJ1aWxkaW5nIHVwIG5ldyBiaW9zIG1hcCBiYXNlZCBvbiB0aGlzIGluZm9ybWF0aW9uICovCi0JCWlmIChjdXJyZW50X3R5cGUgIT0gbGFzdF90eXBlKQl7Ci0JCQlpZiAobGFzdF90eXBlICE9IDApCSB7Ci0JCQkJbmV3X2Jpb3NbbmV3X2Jpb3NfZW50cnldLnNpemUgPQotCQkJCQljaGFuZ2VfcG9pbnRbY2hnaWR4XS0+YWRkciAtIGxhc3RfYWRkcjsKLQkJCQkvKiBtb3ZlIGZvcndhcmQgb25seSBpZiB0aGUgbmV3IHNpemUgd2FzIG5vbi16ZXJvICovCi0JCQkJaWYgKG5ld19iaW9zW25ld19iaW9zX2VudHJ5XS5zaXplICE9IDApCi0JCQkJCWlmICgrK25ld19iaW9zX2VudHJ5ID49IEU4MjBNQVgpCi0JCQkJCQlicmVhazsgCS8qIG5vIG1vcmUgc3BhY2UgbGVmdCBmb3IgbmV3IGJpb3MgZW50cmllcyAqLwotCQkJfQotCQkJaWYgKGN1cnJlbnRfdHlwZSAhPSAwKQl7Ci0JCQkJbmV3X2Jpb3NbbmV3X2Jpb3NfZW50cnldLmFkZHIgPSBjaGFuZ2VfcG9pbnRbY2hnaWR4XS0+YWRkcjsKLQkJCQluZXdfYmlvc1tuZXdfYmlvc19lbnRyeV0udHlwZSA9IGN1cnJlbnRfdHlwZTsKLQkJCQlsYXN0X2FkZHI9Y2hhbmdlX3BvaW50W2NoZ2lkeF0tPmFkZHI7Ci0JCQl9Ci0JCQlsYXN0X3R5cGUgPSBjdXJyZW50X3R5cGU7Ci0JCX0KLQl9Ci0JbmV3X25yID0gbmV3X2Jpb3NfZW50cnk7ICAgLyogcmV0YWluIGNvdW50IGZvciBuZXcgYmlvcyBlbnRyaWVzICovCi0KLQkvKiBjb3B5IG5ldyBiaW9zIG1hcHBpbmcgaW50byBvcmlnaW5hbCBsb2NhdGlvbiAqLwotCW1lbWNweShiaW9zbWFwLCBuZXdfYmlvcywgbmV3X25yKnNpemVvZihzdHJ1Y3QgZTgyMGVudHJ5KSk7Ci0JKnBucl9tYXAgPSBuZXdfbnI7Ci0KLQlyZXR1cm4gMDsKLX0KLQotLyoKLSAqIENvcHkgdGhlIEJJT1MgZTgyMCBtYXAgaW50byBhIHNhZmUgcGxhY2UuCi0gKgotICogU2FuaXR5LWNoZWNrIGl0IHdoaWxlIHdlJ3JlIGF0IGl0Li4KLSAqCi0gKiBJZiB3ZSdyZSBsdWNreSBhbmQgbGl2ZSBvbiBhIG1vZGVybiBzeXN0ZW0sIHRoZSBzZXR1cCBjb2RlCi0gKiB3aWxsIGhhdmUgZ2l2ZW4gdXMgYSBtZW1vcnkgbWFwIHRoYXQgd2UgY2FuIHVzZSB0byBwcm9wZXJseQotICogc2V0IHVwIG1lbW9yeS4gIElmIHdlIGFyZW4ndCwgd2UnbGwgZmFrZSBhIG1lbW9yeSBtYXAuCi0gKgotICogV2UgY2hlY2sgdG8gc2VlIHRoYXQgdGhlIG1lbW9yeSBtYXAgY29udGFpbnMgYXQgbGVhc3QgMiBlbGVtZW50cwotICogYmVmb3JlIHdlJ2xsIHVzZSBpdCwgYmVjYXVzZSB0aGUgZGV0ZWN0aW9uIGNvZGUgaW4gc2V0dXAuUyBtYXkKLSAqIG5vdCBiZSBwZXJmZWN0IGFuZCBtb3N0IGV2ZXJ5IFBDIGtub3duIHRvIG1hbiBoYXMgdHdvIG1lbW9yeQotICogcmVnaW9uczogb25lIGZyb20gMCB0byA2NDBrLCBhbmQgb25lIGZyb20gMW1iIHVwLiAgKFRoZSBJQk0KLSAqIHRoaW5rcGFkIDU2MHgsIGZvciBleGFtcGxlLCBkb2VzIG5vdCBjb29wZXJhdGUgd2l0aCB0aGUgbWVtb3J5Ci0gKiBkZXRlY3Rpb24gY29kZS4pCi0gKi8KLWludCBfX2luaXQgY29weV9lODIwX21hcChzdHJ1Y3QgZTgyMGVudHJ5ICpiaW9zbWFwLCBpbnQgbnJfbWFwKQotewotCS8qIE9ubHkgb25lIG1lbW9yeSByZWdpb24gKG9yIG5lZ2F0aXZlKT8gSWdub3JlIGl0ICovCi0JaWYgKG5yX21hcCA8IDIpCi0JCXJldHVybiAtMTsKLQotCWRvIHsKLQkJdTY0IHN0YXJ0ID0gYmlvc21hcC0+YWRkcjsKLQkJdTY0IHNpemUgPSBiaW9zbWFwLT5zaXplOwotCQl1NjQgZW5kID0gc3RhcnQgKyBzaXplOwotCQl1MzIgdHlwZSA9IGJpb3NtYXAtPnR5cGU7Ci0KLQkJLyogT3ZlcmZsb3cgaW4gNjQgYml0cz8gSWdub3JlIHRoZSBtZW1vcnkgbWFwLiAqLwotCQlpZiAoc3RhcnQgPiBlbmQpCi0JCQlyZXR1cm4gLTE7Ci0KLQkJYWRkX21lbW9yeV9yZWdpb24oc3RhcnQsIHNpemUsIHR5cGUpOwotCX0gd2hpbGUgKGJpb3NtYXArKywgLS1ucl9tYXApOwotCi0JcmV0dXJuIDA7Ci19Ci0KLS8qCi0gKiBGaW5kIHRoZSBoaWdoZXN0IHBhZ2UgZnJhbWUgbnVtYmVyIHdlIGhhdmUgYXZhaWxhYmxlCi0gKi8KLXZvaWQgX19pbml0IHByb3BhZ2F0ZV9lODIwX21hcCh2b2lkKQotewotCWludCBpOwotCi0JbWF4X3BmbiA9IDA7Ci0KLQlmb3IgKGkgPSAwOyBpIDwgZTgyMC5ucl9tYXA7IGkrKykgewotCQl1bnNpZ25lZCBsb25nIHN0YXJ0LCBlbmQ7Ci0JCS8qIFJBTT8gKi8KLQkJaWYgKGU4MjAubWFwW2ldLnR5cGUgIT0gRTgyMF9SQU0pCi0JCQljb250aW51ZTsKLQkJc3RhcnQgPSBQRk5fVVAoZTgyMC5tYXBbaV0uYWRkcik7Ci0JCWVuZCA9IFBGTl9ET1dOKGU4MjAubWFwW2ldLmFkZHIgKyBlODIwLm1hcFtpXS5zaXplKTsKLQkJaWYgKHN0YXJ0ID49IGVuZCkKLQkJCWNvbnRpbnVlOwotCQlpZiAoZW5kID4gbWF4X3BmbikKLQkJCW1heF9wZm4gPSBlbmQ7Ci0JCW1lbW9yeV9wcmVzZW50KDAsIHN0YXJ0LCBlbmQpOwotCX0KLX0KLQotLyoKLSAqIFJlZ2lzdGVyIGZ1bGx5IGF2YWlsYWJsZSBsb3cgUkFNIHBhZ2VzIHdpdGggdGhlIGJvb3RtZW0gYWxsb2NhdG9yLgotICovCi12b2lkIF9faW5pdCByZWdpc3Rlcl9ib290bWVtX2xvd19wYWdlcyh1bnNpZ25lZCBsb25nIG1heF9sb3dfcGZuKQotewotCWludCBpOwotCi0JZm9yIChpID0gMDsgaSA8IGU4MjAubnJfbWFwOyBpKyspIHsKLQkJdW5zaWduZWQgbG9uZyBjdXJyX3BmbiwgbGFzdF9wZm4sIHNpemU7Ci0JCS8qCi0JCSAqIFJlc2VydmUgdXNhYmxlIGxvdyBtZW1vcnkKLQkJICovCi0JCWlmIChlODIwLm1hcFtpXS50eXBlICE9IEU4MjBfUkFNKQotCQkJY29udGludWU7Ci0JCS8qCi0JCSAqIFdlIGFyZSByb3VuZGluZyB1cCB0aGUgc3RhcnQgYWRkcmVzcyBvZiB1c2FibGUgbWVtb3J5OgotCQkgKi8KLQkJY3Vycl9wZm4gPSBQRk5fVVAoZTgyMC5tYXBbaV0uYWRkcik7Ci0JCWlmIChjdXJyX3BmbiA+PSBtYXhfbG93X3BmbikKLQkJCWNvbnRpbnVlOwotCQkvKgotCQkgKiAuLi4gYW5kIGF0IHRoZSBlbmQgb2YgdGhlIHVzYWJsZSByYW5nZSBkb3dud2FyZHM6Ci0JCSAqLwotCQlsYXN0X3BmbiA9IFBGTl9ET1dOKGU4MjAubWFwW2ldLmFkZHIgKyBlODIwLm1hcFtpXS5zaXplKTsKLQotCQlpZiAobGFzdF9wZm4gPiBtYXhfbG93X3BmbikKLQkJCWxhc3RfcGZuID0gbWF4X2xvd19wZm47Ci0KLQkJLyoKLQkJICogLi4gZmluYWxseSwgZGlkIGFsbCB0aGUgcm91bmRpbmcgYW5kIHBsYXlpbmcKLQkJICogYXJvdW5kIGp1c3QgbWFrZSB0aGUgYXJlYSBnbyBhd2F5PwotCQkgKi8KLQkJaWYgKGxhc3RfcGZuIDw9IGN1cnJfcGZuKQotCQkJY29udGludWU7Ci0KLQkJc2l6ZSA9IGxhc3RfcGZuIC0gY3Vycl9wZm47Ci0JCWZyZWVfYm9vdG1lbShQRk5fUEhZUyhjdXJyX3BmbiksIFBGTl9QSFlTKHNpemUpKTsKLQl9Ci19Ci0KLXZvaWQgX19pbml0IGU4MjBfcmVnaXN0ZXJfbWVtb3J5KHZvaWQpCi17Ci0JdW5zaWduZWQgbG9uZyBnYXBzdGFydCwgZ2Fwc2l6ZSwgcm91bmQ7Ci0JdW5zaWduZWQgbG9uZyBsb25nIGxhc3Q7Ci0JaW50IGk7Ci0KLQkvKgotCSAqIFNlYXJjaCBmb3IgdGhlIGJpZ2dlc3QgZ2FwIGluIHRoZSBsb3cgMzIgYml0cyBvZiB0aGUgZTgyMAotCSAqIG1lbW9yeSBzcGFjZS4KLQkgKi8KLQlsYXN0ID0gMHgxMDAwMDAwMDB1bGw7Ci0JZ2Fwc3RhcnQgPSAweDEwMDAwMDAwOwotCWdhcHNpemUgPSAweDQwMDAwMDsKLQlpID0gZTgyMC5ucl9tYXA7Ci0Jd2hpbGUgKC0taSA+PSAwKSB7Ci0JCXVuc2lnbmVkIGxvbmcgbG9uZyBzdGFydCA9IGU4MjAubWFwW2ldLmFkZHI7Ci0JCXVuc2lnbmVkIGxvbmcgbG9uZyBlbmQgPSBzdGFydCArIGU4MjAubWFwW2ldLnNpemU7Ci0KLQkJLyoKLQkJICogU2luY2UgImxhc3QiIGlzIGF0IG1vc3QgNEdCLCB3ZSBrbm93IHdlJ2xsCi0JCSAqIGZpdCBpbiAzMiBiaXRzIGlmIHRoaXMgY29uZGl0aW9uIGlzIHRydWUKLQkJICovCi0JCWlmIChsYXN0ID4gZW5kKSB7Ci0JCQl1bnNpZ25lZCBsb25nIGdhcCA9IGxhc3QgLSBlbmQ7Ci0KLQkJCWlmIChnYXAgPiBnYXBzaXplKSB7Ci0JCQkJZ2Fwc2l6ZSA9IGdhcDsKLQkJCQlnYXBzdGFydCA9IGVuZDsKLQkJCX0KLQkJfQotCQlpZiAoc3RhcnQgPCBsYXN0KQotCQkJbGFzdCA9IHN0YXJ0OwotCX0KLQotCS8qCi0JICogU2VlIGhvdyBtdWNoIHdlIHdhbnQgdG8gcm91bmQgdXA6IHN0YXJ0IG9mZiB3aXRoCi0JICogcm91bmRpbmcgdG8gdGhlIG5leHQgMU1CIGFyZWEuCi0JICovCi0Jcm91bmQgPSAweDEwMDAwMDsKLQl3aGlsZSAoKGdhcHNpemUgPj4gNCkgPiByb3VuZCkKLQkJcm91bmQgKz0gcm91bmQ7Ci0JLyogRnVuIHdpdGggdHdvJ3MgY29tcGxlbWVudCAqLwotCXBjaV9tZW1fc3RhcnQgPSAoZ2Fwc3RhcnQgKyByb3VuZCkgJiAtcm91bmQ7Ci0KLQlwcmludGsoIkFsbG9jYXRpbmcgUENJIHJlc291cmNlcyBzdGFydGluZyBhdCAlMDhseCAoZ2FwOiAlMDhseDolMDhseClcbiIsCi0JCXBjaV9tZW1fc3RhcnQsIGdhcHN0YXJ0LCBnYXBzaXplKTsKLX0KLQotdm9pZCBfX2luaXQgcHJpbnRfbWVtb3J5X21hcChjaGFyICp3aG8pCi17Ci0JaW50IGk7Ci0KLQlmb3IgKGkgPSAwOyBpIDwgZTgyMC5ucl9tYXA7IGkrKykgewotCQlwcmludGsoIiAlczogJTAxNkx4IC0gJTAxNkx4ICIsIHdobywKLQkJCWU4MjAubWFwW2ldLmFkZHIsCi0JCQllODIwLm1hcFtpXS5hZGRyICsgZTgyMC5tYXBbaV0uc2l6ZSk7Ci0JCXN3aXRjaCAoZTgyMC5tYXBbaV0udHlwZSkgewotCQljYXNlIEU4MjBfUkFNOglwcmludGsoIih1c2FibGUpXG4iKTsKLQkJCQlicmVhazsKLQkJY2FzZSBFODIwX1JFU0VSVkVEOgotCQkJCXByaW50aygiKHJlc2VydmVkKVxuIik7Ci0JCQkJYnJlYWs7Ci0JCWNhc2UgRTgyMF9BQ1BJOgotCQkJCXByaW50aygiKEFDUEkgZGF0YSlcbiIpOwotCQkJCWJyZWFrOwotCQljYXNlIEU4MjBfTlZTOgotCQkJCXByaW50aygiKEFDUEkgTlZTKVxuIik7Ci0JCQkJYnJlYWs7Ci0JCWRlZmF1bHQ6CXByaW50aygidHlwZSAldVxuIiwgZTgyMC5tYXBbaV0udHlwZSk7Ci0JCQkJYnJlYWs7Ci0JCX0KLQl9Ci19Ci0KLXZvaWQgX19pbml0IGxpbWl0X3JlZ2lvbnModW5zaWduZWQgbG9uZyBsb25nIHNpemUpCi17Ci0JdW5zaWduZWQgbG9uZyBsb25nIGN1cnJlbnRfYWRkcjsKLQlpbnQgaTsKLQotCXByaW50X21lbW9yeV9tYXAoImxpbWl0X3JlZ2lvbnMgc3RhcnQiKTsKLQlmb3IgKGkgPSAwOyBpIDwgZTgyMC5ucl9tYXA7IGkrKykgewotCQljdXJyZW50X2FkZHIgPSBlODIwLm1hcFtpXS5hZGRyICsgZTgyMC5tYXBbaV0uc2l6ZTsKLQkJaWYgKGN1cnJlbnRfYWRkciA8IHNpemUpCi0JCQljb250aW51ZTsKLQotCQlpZiAoZTgyMC5tYXBbaV0udHlwZSAhPSBFODIwX1JBTSkKLQkJCWNvbnRpbnVlOwotCi0JCWlmIChlODIwLm1hcFtpXS5hZGRyID49IHNpemUpIHsKLQkJCS8qCi0JCQkgKiBUaGlzIHJlZ2lvbiBzdGFydHMgcGFzdCB0aGUgZW5kIG9mIHRoZQotCQkJICogcmVxdWVzdGVkIHNpemUsIHNraXAgaXQgY29tcGxldGVseS4KLQkJCSAqLwotCQkJZTgyMC5ucl9tYXAgPSBpOwotCQl9IGVsc2UgewotCQkJZTgyMC5ucl9tYXAgPSBpICsgMTsKLQkJCWU4MjAubWFwW2ldLnNpemUgLT0gY3VycmVudF9hZGRyIC0gc2l6ZTsKLQkJfQotCQlwcmludF9tZW1vcnlfbWFwKCJsaW1pdF9yZWdpb25zIGVuZGZvciIpOwotCQlyZXR1cm47Ci0JfQotCXByaW50X21lbW9yeV9tYXAoImxpbWl0X3JlZ2lvbnMgZW5kZnVuYyIpOwotfQotCi0vKgotICogVGhpcyBmdW5jdGlvbiBjaGVja3MgaWYgYW55IHBhcnQgb2YgdGhlIHJhbmdlIDxzdGFydCxlbmQ+IGlzIG1hcHBlZAotICogd2l0aCB0eXBlLgotICovCi1pbnQKLWU4MjBfYW55X21hcHBlZCh1NjQgc3RhcnQsIHU2NCBlbmQsIHVuc2lnbmVkIHR5cGUpCi17Ci0JaW50IGk7Ci0JZm9yIChpID0gMDsgaSA8IGU4MjAubnJfbWFwOyBpKyspIHsKLQkJY29uc3Qgc3RydWN0IGU4MjBlbnRyeSAqZWkgPSAmZTgyMC5tYXBbaV07Ci0JCWlmICh0eXBlICYmIGVpLT50eXBlICE9IHR5cGUpCi0JCQljb250aW51ZTsKLQkJaWYgKGVpLT5hZGRyID49IGVuZCB8fCBlaS0+YWRkciArIGVpLT5zaXplIDw9IHN0YXJ0KQotCQkJY29udGludWU7Ci0JCXJldHVybiAxOwotCX0KLQlyZXR1cm4gMDsKLX0KLUVYUE9SVF9TWU1CT0xfR1BMKGU4MjBfYW55X21hcHBlZCk7Ci0KLSAvKgotICAqIFRoaXMgZnVuY3Rpb24gY2hlY2tzIGlmIHRoZSBlbnRpcmUgcmFuZ2UgPHN0YXJ0LGVuZD4gaXMgbWFwcGVkIHdpdGggdHlwZS4KLSAgKgotICAqIE5vdGU6IHRoaXMgZnVuY3Rpb24gb25seSB3b3JrcyBjb3JyZWN0IGlmIHRoZSBlODIwIHRhYmxlIGlzIHNvcnRlZCBhbmQKLSAgKiBub3Qtb3ZlcmxhcHBpbmcsIHdoaWNoIGlzIHRoZSBjYXNlCi0gICovCi1pbnQgX19pbml0Ci1lODIwX2FsbF9tYXBwZWQodW5zaWduZWQgbG9uZyBzLCB1bnNpZ25lZCBsb25nIGUsIHVuc2lnbmVkIHR5cGUpCi17Ci0JdTY0IHN0YXJ0ID0gczsKLQl1NjQgZW5kID0gZTsKLQlpbnQgaTsKLQlmb3IgKGkgPSAwOyBpIDwgZTgyMC5ucl9tYXA7IGkrKykgewotCQlzdHJ1Y3QgZTgyMGVudHJ5ICplaSA9ICZlODIwLm1hcFtpXTsKLQkJaWYgKHR5cGUgJiYgZWktPnR5cGUgIT0gdHlwZSkKLQkJCWNvbnRpbnVlOwotCQkvKiBpcyB0aGUgcmVnaW9uIChwYXJ0KSBpbiBvdmVybGFwIHdpdGggdGhlIGN1cnJlbnQgcmVnaW9uID8qLwotCQlpZiAoZWktPmFkZHIgPj0gZW5kIHx8IGVpLT5hZGRyICsgZWktPnNpemUgPD0gc3RhcnQpCi0JCQljb250aW51ZTsKLQkJLyogaWYgdGhlIHJlZ2lvbiBpcyBhdCB0aGUgYmVnaW5uaW5nIG9mIDxzdGFydCxlbmQ+IHdlIG1vdmUKLQkJICogc3RhcnQgdG8gdGhlIGVuZCBvZiB0aGUgcmVnaW9uIHNpbmNlIGl0J3Mgb2sgdW50aWwgdGhlcmUKLQkJICovCi0JCWlmIChlaS0+YWRkciA8PSBzdGFydCkKLQkJCXN0YXJ0ID0gZWktPmFkZHIgKyBlaS0+c2l6ZTsKLQkJLyogaWYgc3RhcnQgaXMgbm93IGF0IG9yIGJleW9uZCBlbmQsIHdlJ3JlIGRvbmUsIGZ1bGwKLQkJICogY292ZXJhZ2UgKi8KLQkJaWYgKHN0YXJ0ID49IGVuZCkKLQkJCXJldHVybiAxOyAvKiB3ZSdyZSBkb25lICovCi0JfQotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IF9faW5pdCBwYXJzZV9tZW1tYXAoY2hhciAqYXJnKQotewotCWlmICghYXJnKQotCQlyZXR1cm4gLUVJTlZBTDsKLQotCWlmIChzdHJjbXAoYXJnLCAiZXhhY3RtYXAiKSA9PSAwKSB7Ci0jaWZkZWYgQ09ORklHX0NSQVNIX0RVTVAKLQkJLyogSWYgd2UgYXJlIGRvaW5nIGEgY3Jhc2ggZHVtcCwgd2UKLQkJICogc3RpbGwgbmVlZCB0byBrbm93IHRoZSByZWFsIG1lbQotCQkgKiBzaXplIGJlZm9yZSBvcmlnaW5hbCBtZW1vcnkgbWFwIGlzCi0JCSAqIHJlc2V0LgotCQkgKi8KLQkJcHJvcGFnYXRlX2U4MjBfbWFwKCk7Ci0JCXNhdmVkX21heF9wZm4gPSBtYXhfcGZuOwotI2VuZGlmCi0JCWU4MjAubnJfbWFwID0gMDsKLQkJdXNlcl9kZWZpbmVkX21lbW1hcCA9IDE7Ci0JfSBlbHNlIHsKLQkJLyogSWYgdGhlIHVzZXIgc3BlY2lmaWVzIG1lbW9yeSBzaXplLCB3ZQotCQkgKiBsaW1pdCB0aGUgQklPUy1wcm92aWRlZCBtZW1vcnkgbWFwIHRvCi0JCSAqIHRoYXQgc2l6ZS4gZXhhY3RtYXAgY2FuIGJlIHVzZWQgdG8gc3BlY2lmeQotCQkgKiB0aGUgZXhhY3QgbWFwLiBtZW09bnVtYmVyIGNhbiBiZSB1c2VkIHRvCi0JCSAqIHRyaW0gdGhlIGV4aXN0aW5nIG1lbW9yeSBtYXAuCi0JCSAqLwotCQl1bnNpZ25lZCBsb25nIGxvbmcgc3RhcnRfYXQsIG1lbV9zaXplOwotCi0JCW1lbV9zaXplID0gbWVtcGFyc2UoYXJnLCAmYXJnKTsKLQkJaWYgKCphcmcgPT0gJ0AnKSB7Ci0JCQlzdGFydF9hdCA9IG1lbXBhcnNlKGFyZysxLCAmYXJnKTsKLQkJCWFkZF9tZW1vcnlfcmVnaW9uKHN0YXJ0X2F0LCBtZW1fc2l6ZSwgRTgyMF9SQU0pOwotCQl9IGVsc2UgaWYgKCphcmcgPT0gJyMnKSB7Ci0JCQlzdGFydF9hdCA9IG1lbXBhcnNlKGFyZysxLCAmYXJnKTsKLQkJCWFkZF9tZW1vcnlfcmVnaW9uKHN0YXJ0X2F0LCBtZW1fc2l6ZSwgRTgyMF9BQ1BJKTsKLQkJfSBlbHNlIGlmICgqYXJnID09ICckJykgewotCQkJc3RhcnRfYXQgPSBtZW1wYXJzZShhcmcrMSwgJmFyZyk7Ci0JCQlhZGRfbWVtb3J5X3JlZ2lvbihzdGFydF9hdCwgbWVtX3NpemUsIEU4MjBfUkVTRVJWRUQpOwotCQl9IGVsc2UgewotCQkJbGltaXRfcmVnaW9ucyhtZW1fc2l6ZSk7Ci0JCQl1c2VyX2RlZmluZWRfbWVtbWFwID0gMTsKLQkJfQotCX0KLQlyZXR1cm4gMDsKLX0KLWVhcmx5X3BhcmFtKCJtZW1tYXAiLCBwYXJzZV9tZW1tYXApOwotdm9pZCBfX2luaXQgdXBkYXRlX21lbW9yeV9yYW5nZSh1NjQgc3RhcnQsIHU2NCBzaXplLCB1bnNpZ25lZCBvbGRfdHlwZSwKLQkJCQl1bnNpZ25lZCBuZXdfdHlwZSkKLXsKLQlpbnQgaTsKLQotCUJVR19PTihvbGRfdHlwZSA9PSBuZXdfdHlwZSk7Ci0KLQlmb3IgKGkgPSAwOyBpIDwgZTgyMC5ucl9tYXA7IGkrKykgewotCQlzdHJ1Y3QgZTgyMGVudHJ5ICplaSA9ICZlODIwLm1hcFtpXTsKLQkJdTY0IGZpbmFsX3N0YXJ0LCBmaW5hbF9lbmQ7Ci0JCWlmIChlaS0+dHlwZSAhPSBvbGRfdHlwZSkKLQkJCWNvbnRpbnVlOwotCQkvKiB0b3RhbGx5IGNvdmVyZWQ/ICovCi0JCWlmIChlaS0+YWRkciA+PSBzdGFydCAmJiBlaS0+c2l6ZSA8PSBzaXplKSB7Ci0JCQllaS0+dHlwZSA9IG5ld190eXBlOwotCQkJY29udGludWU7Ci0JCX0KLQkJLyogcGFydGlhbGx5IGNvdmVyZWQgKi8KLQkJZmluYWxfc3RhcnQgPSBtYXgoc3RhcnQsIGVpLT5hZGRyKTsKLQkJZmluYWxfZW5kID0gbWluKHN0YXJ0ICsgc2l6ZSwgZWktPmFkZHIgKyBlaS0+c2l6ZSk7Ci0JCWlmIChmaW5hbF9zdGFydCA+PSBmaW5hbF9lbmQpCi0JCQljb250aW51ZTsKLQkJYWRkX21lbW9yeV9yZWdpb24oZmluYWxfc3RhcnQsIGZpbmFsX2VuZCAtIGZpbmFsX3N0YXJ0LAotCQkJCQkgbmV3X3R5cGUpOwotCX0KLX0KLXZvaWQgX19pbml0IHVwZGF0ZV9lODIwKHZvaWQpCi17Ci0JdTggbnJfbWFwOwotCi0JbnJfbWFwID0gZTgyMC5ucl9tYXA7Ci0JaWYgKHNhbml0aXplX2U4MjBfbWFwKGU4MjAubWFwLCAmbnJfbWFwKSkKLQkJcmV0dXJuOwotCWU4MjAubnJfbWFwID0gbnJfbWFwOwotCXByaW50ayhLRVJOX0lORk8gIm1vZGlmaWVkIHBoeXNpY2FsIFJBTSBtYXA6XG4iKTsKLQlwcmludF9tZW1vcnlfbWFwKCJtb2RpZmllZCIpOwotfQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2U4MjBfNjQuYyBiL2FyY2gveDg2L2tlcm5lbC9lODIwXzY0LmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDEyNDQ4MGMuLjAwMDAwMDAKLS0tIGEvYXJjaC94ODYva2VybmVsL2U4MjBfNjQuYworKysgL2Rldi9udWxsCkBAIC0xLDk1MiArMCwwIEBACi0vKgotICogSGFuZGxlIHRoZSBtZW1vcnkgbWFwLgotICogVGhlIGZ1bmN0aW9ucyBoZXJlIGRvIHRoZSBqb2IgdW50aWwgYm9vdG1lbSB0YWtlcyBvdmVyLgotICoKLSAqICBHZXR0aW5nIHNhbml0aXplX2U4MjBfbWFwKCkgaW4gc3luYyB3aXRoIGkzODYgdmVyc2lvbiBieSBhcHBseWluZyBjaGFuZ2U6Ci0gKiAgLSAgUHJvdmlzaW9ucyBmb3IgZW1wdHkgRTgyMCBtZW1vcnkgcmVnaW9ucyAocmVwb3J0ZWQgYnkgY2VydGFpbiBCSU9TZXMpLgotICogICAgIEFsZXggQWNoZW5iYWNoIDx4ZWxhQHNsaXQuZGU+LCBEZWNlbWJlciAyMDAyLgotICogIFZlbmthdGVzaCBQYWxsaXBhZGkgPHZlbmthdGVzaC5wYWxsaXBhZGlAaW50ZWwuY29tPgotICoKLSAqLwotI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgotI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+Ci0jaW5jbHVkZSA8bGludXgvaW5pdC5oPgotI2luY2x1ZGUgPGxpbnV4L2Jvb3RtZW0uaD4KLSNpbmNsdWRlIDxsaW51eC9pb3BvcnQuaD4KLSNpbmNsdWRlIDxsaW51eC9zdHJpbmcuaD4KLSNpbmNsdWRlIDxsaW51eC9rZXhlYy5oPgotI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgotI2luY2x1ZGUgPGxpbnV4L21tLmg+Ci0jaW5jbHVkZSA8bGludXgvc3VzcGVuZC5oPgotI2luY2x1ZGUgPGxpbnV4L3Bmbi5oPgotCi0jaW5jbHVkZSA8YXNtL3BndGFibGUuaD4KLSNpbmNsdWRlIDxhc20vcGFnZS5oPgotI2luY2x1ZGUgPGFzbS9lODIwLmg+Ci0jaW5jbHVkZSA8YXNtL3Byb3RvLmg+Ci0jaW5jbHVkZSA8YXNtL3NldHVwLmg+Ci0jaW5jbHVkZSA8YXNtL3NlY3Rpb25zLmg+Ci0jaW5jbHVkZSA8YXNtL2tkZWJ1Zy5oPgotI2luY2x1ZGUgPGFzbS90cmFtcG9saW5lLmg+Ci0KLXN0cnVjdCBlODIwbWFwIGU4MjA7Ci0KLS8qCi0gKiBQRk4gb2YgbGFzdCBtZW1vcnkgcGFnZS4KLSAqLwotdW5zaWduZWQgbG9uZyBlbmRfcGZuOwotCi0vKgotICogZW5kX3BmbiBvbmx5IGluY2x1ZGVzIFJBTSwgd2hpbGUgbWF4X3Bmbl9tYXBwZWQgaW5jbHVkZXMgYWxsIGU4MjAgZW50cmllcy4KLSAqIFRoZSBkaXJlY3QgbWFwcGluZyBleHRlbmRzIHRvIG1heF9wZm5fbWFwcGVkLCBzbyB0aGF0IHdlIGNhbiBkaXJlY3RseSBhY2Nlc3MKLSAqIGFwZXJ0dXJlcywgQUNQSSBhbmQgb3RoZXIgdGFibGVzIHdpdGhvdXQgaGF2aW5nIHRvIHBsYXkgd2l0aCBmaXhtYXBzLgotICovCi11bnNpZ25lZCBsb25nIG1heF9wZm5fbWFwcGVkOwotCi0vKgotICogTGFzdCBwZm4gd2hpY2ggdGhlIHVzZXIgd2FudHMgdG8gdXNlLgotICovCi1zdGF0aWMgdW5zaWduZWQgbG9uZyBfX2luaXRkYXRhIGVuZF91c2VyX3BmbiA9IE1BWE1FTT4+UEFHRV9TSElGVDsKLQotLyoKLSAqIEVhcmx5IHJlc2VydmVkIG1lbW9yeSBhcmVhcy4KLSAqLwotI2RlZmluZSBNQVhfRUFSTFlfUkVTIDIwCi0KLXN0cnVjdCBlYXJseV9yZXMgewotCXVuc2lnbmVkIGxvbmcgc3RhcnQsIGVuZDsKLQljaGFyIG5hbWVbMTZdOwotfTsKLXN0YXRpYyBzdHJ1Y3QgZWFybHlfcmVzIGVhcmx5X3Jlc1tNQVhfRUFSTFlfUkVTXSBfX2luaXRkYXRhID0gewotCXsgMCwgUEFHRV9TSVpFLCAiQklPUyBkYXRhIHBhZ2UiIH0sCQkJLyogQklPUyBkYXRhIHBhZ2UgKi8KLSNpZmRlZiBDT05GSUdfWDg2X1RSQU1QT0xJTkUKLQl7IFRSQU1QT0xJTkVfQkFTRSwgVFJBTVBPTElORV9CQVNFICsgMiAqIFBBR0VfU0laRSwgIlRSQU1QT0xJTkUiIH0sCi0jZW5kaWYKLQl7fQotfTsKLQotdm9pZCBfX2luaXQgcmVzZXJ2ZV9lYXJseSh1bnNpZ25lZCBsb25nIHN0YXJ0LCB1bnNpZ25lZCBsb25nIGVuZCwgY2hhciAqbmFtZSkKLXsKLQlpbnQgaTsKLQlzdHJ1Y3QgZWFybHlfcmVzICpyOwotCWZvciAoaSA9IDA7IGkgPCBNQVhfRUFSTFlfUkVTICYmIGVhcmx5X3Jlc1tpXS5lbmQ7IGkrKykgewotCQlyID0gJmVhcmx5X3Jlc1tpXTsKLQkJaWYgKGVuZCA+IHItPnN0YXJ0ICYmIHN0YXJ0IDwgci0+ZW5kKQotCQkJcGFuaWMoIk92ZXJsYXBwaW5nIGVhcmx5IHJlc2VydmF0aW9ucyAlbHgtJWx4ICVzIHRvICVseC0lbHggJXNcbiIsCi0JCQkgICAgICBzdGFydCwgZW5kIC0gMSwgbmFtZT9uYW1lOiIiLCByLT5zdGFydCwgci0+ZW5kIC0gMSwgci0+bmFtZSk7Ci0JfQotCWlmIChpID49IE1BWF9FQVJMWV9SRVMpCi0JCXBhbmljKCJUb28gbWFueSBlYXJseSByZXNlcnZhdGlvbnMiKTsKLQlyID0gJmVhcmx5X3Jlc1tpXTsKLQlyLT5zdGFydCA9IHN0YXJ0OwotCXItPmVuZCA9IGVuZDsKLQlpZiAobmFtZSkKLQkJc3RybmNweShyLT5uYW1lLCBuYW1lLCBzaXplb2Yoci0+bmFtZSkgLSAxKTsKLX0KLQotdm9pZCBfX2luaXQgZnJlZV9lYXJseSh1bnNpZ25lZCBsb25nIHN0YXJ0LCB1bnNpZ25lZCBsb25nIGVuZCkKLXsKLQlzdHJ1Y3QgZWFybHlfcmVzICpyOwotCWludCBpLCBqOwotCi0JZm9yIChpID0gMDsgaSA8IE1BWF9FQVJMWV9SRVMgJiYgZWFybHlfcmVzW2ldLmVuZDsgaSsrKSB7Ci0JCXIgPSAmZWFybHlfcmVzW2ldOwotCQlpZiAoc3RhcnQgPT0gci0+c3RhcnQgJiYgZW5kID09IHItPmVuZCkKLQkJCWJyZWFrOwotCX0KLQlpZiAoaSA+PSBNQVhfRUFSTFlfUkVTIHx8ICFlYXJseV9yZXNbaV0uZW5kKQotCQlwYW5pYygiZnJlZV9lYXJseSBvbiBub3QgcmVzZXJ2ZWQgYXJlYTogJWx4LSVseCEiLCBzdGFydCwgZW5kKTsKLQotCWZvciAoaiA9IGkgKyAxOyBqIDwgTUFYX0VBUkxZX1JFUyAmJiBlYXJseV9yZXNbal0uZW5kOyBqKyspCi0JCTsKLQotCW1lbW1vdmUoJmVhcmx5X3Jlc1tpXSwgJmVhcmx5X3Jlc1tpICsgMV0sCi0JICAgICAgIChqIC0gMSAtIGkpICogc2l6ZW9mKHN0cnVjdCBlYXJseV9yZXMpKTsKLQotCWVhcmx5X3Jlc1tqIC0gMV0uZW5kID0gMDsKLX0KLQotdm9pZCBfX2luaXQgZWFybHlfcmVzX3RvX2Jvb3RtZW0odW5zaWduZWQgbG9uZyBzdGFydCwgdW5zaWduZWQgbG9uZyBlbmQpCi17Ci0JaW50IGk7Ci0JdW5zaWduZWQgbG9uZyBmaW5hbF9zdGFydCwgZmluYWxfZW5kOwotCWZvciAoaSA9IDA7IGkgPCBNQVhfRUFSTFlfUkVTICYmIGVhcmx5X3Jlc1tpXS5lbmQ7IGkrKykgewotCQlzdHJ1Y3QgZWFybHlfcmVzICpyID0gJmVhcmx5X3Jlc1tpXTsKLQkJZmluYWxfc3RhcnQgPSBtYXgoc3RhcnQsIHItPnN0YXJ0KTsKLQkJZmluYWxfZW5kID0gbWluKGVuZCwgci0+ZW5kKTsKLQkJaWYgKGZpbmFsX3N0YXJ0ID49IGZpbmFsX2VuZCkKLQkJCWNvbnRpbnVlOwotCQlwcmludGsoS0VSTl9JTkZPICIgIGVhcmx5IHJlczogJWQgWyVseC0lbHhdICVzXG4iLCBpLAotCQkJZmluYWxfc3RhcnQsIGZpbmFsX2VuZCAtIDEsIHItPm5hbWUpOwotCQlyZXNlcnZlX2Jvb3RtZW1fZ2VuZXJpYyhmaW5hbF9zdGFydCwgZmluYWxfZW5kIC0gZmluYWxfc3RhcnQpOwotCX0KLX0KLQotLyogQ2hlY2sgZm9yIGFscmVhZHkgcmVzZXJ2ZWQgYXJlYXMgKi8KLXN0YXRpYyBpbmxpbmUgaW50IF9faW5pdAotYmFkX2FkZHIodW5zaWduZWQgbG9uZyAqYWRkcnAsIHVuc2lnbmVkIGxvbmcgc2l6ZSwgdW5zaWduZWQgbG9uZyBhbGlnbikKLXsKLQlpbnQgaTsKLQl1bnNpZ25lZCBsb25nIGFkZHIgPSAqYWRkcnAsIGxhc3Q7Ci0JaW50IGNoYW5nZWQgPSAwOwotYWdhaW46Ci0JbGFzdCA9IGFkZHIgKyBzaXplOwotCWZvciAoaSA9IDA7IGkgPCBNQVhfRUFSTFlfUkVTICYmIGVhcmx5X3Jlc1tpXS5lbmQ7IGkrKykgewotCQlzdHJ1Y3QgZWFybHlfcmVzICpyID0gJmVhcmx5X3Jlc1tpXTsKLQkJaWYgKGxhc3QgPj0gci0+c3RhcnQgJiYgYWRkciA8IHItPmVuZCkgewotCQkJKmFkZHJwID0gYWRkciA9IHJvdW5kX3VwKHItPmVuZCwgYWxpZ24pOwotCQkJY2hhbmdlZCA9IDE7Ci0JCQlnb3RvIGFnYWluOwotCQl9Ci0JfQotCXJldHVybiBjaGFuZ2VkOwotfQotCi0vKiBDaGVjayBmb3IgYWxyZWFkeSByZXNlcnZlZCBhcmVhcyAqLwotc3RhdGljIGlubGluZSBpbnQgX19pbml0Ci1iYWRfYWRkcl9zaXplKHVuc2lnbmVkIGxvbmcgKmFkZHJwLCB1bnNpZ25lZCBsb25nICpzaXplcCwgdW5zaWduZWQgbG9uZyBhbGlnbikKLXsKLQlpbnQgaTsKLQl1bnNpZ25lZCBsb25nIGFkZHIgPSAqYWRkcnAsIGxhc3Q7Ci0JdW5zaWduZWQgbG9uZyBzaXplID0gKnNpemVwOwotCWludCBjaGFuZ2VkID0gMDsKLWFnYWluOgotCWxhc3QgPSBhZGRyICsgc2l6ZTsKLQlmb3IgKGkgPSAwOyBpIDwgTUFYX0VBUkxZX1JFUyAmJiBlYXJseV9yZXNbaV0uZW5kOyBpKyspIHsKLQkJc3RydWN0IGVhcmx5X3JlcyAqciA9ICZlYXJseV9yZXNbaV07Ci0JCWlmIChsYXN0ID4gci0+c3RhcnQgJiYgYWRkciA8IHItPnN0YXJ0KSB7Ci0JCQlzaXplID0gci0+c3RhcnQgLSBhZGRyOwotCQkJY2hhbmdlZCA9IDE7Ci0JCQlnb3RvIGFnYWluOwotCQl9Ci0JCWlmIChsYXN0ID4gci0+ZW5kICYmIGFkZHIgPCByLT5lbmQpIHsKLQkJCWFkZHIgPSByb3VuZF91cChyLT5lbmQsIGFsaWduKTsKLQkJCXNpemUgPSBsYXN0IC0gYWRkcjsKLQkJCWNoYW5nZWQgPSAxOwotCQkJZ290byBhZ2FpbjsKLQkJfQotCQlpZiAobGFzdCA8PSByLT5lbmQgJiYgYWRkciA+PSByLT5zdGFydCkgewotCQkJKCpzaXplcCkrKzsKLQkJCXJldHVybiAwOwotCQl9Ci0JfQotCWlmIChjaGFuZ2VkKSB7Ci0JCSphZGRycCA9IGFkZHI7Ci0JCSpzaXplcCA9IHNpemU7Ci0JfQotCXJldHVybiBjaGFuZ2VkOwotfQotLyoKLSAqIFRoaXMgZnVuY3Rpb24gY2hlY2tzIGlmIGFueSBwYXJ0IG9mIHRoZSByYW5nZSA8c3RhcnQsZW5kPiBpcyBtYXBwZWQKLSAqIHdpdGggdHlwZS4KLSAqLwotaW50Ci1lODIwX2FueV9tYXBwZWQodW5zaWduZWQgbG9uZyBzdGFydCwgdW5zaWduZWQgbG9uZyBlbmQsIHVuc2lnbmVkIHR5cGUpCi17Ci0JaW50IGk7Ci0KLQlmb3IgKGkgPSAwOyBpIDwgZTgyMC5ucl9tYXA7IGkrKykgewotCQlzdHJ1Y3QgZTgyMGVudHJ5ICplaSA9ICZlODIwLm1hcFtpXTsKLQotCQlpZiAodHlwZSAmJiBlaS0+dHlwZSAhPSB0eXBlKQotCQkJY29udGludWU7Ci0JCWlmIChlaS0+YWRkciA+PSBlbmQgfHwgZWktPmFkZHIgKyBlaS0+c2l6ZSA8PSBzdGFydCkKLQkJCWNvbnRpbnVlOwotCQlyZXR1cm4gMTsKLQl9Ci0JcmV0dXJuIDA7Ci19Ci1FWFBPUlRfU1lNQk9MX0dQTChlODIwX2FueV9tYXBwZWQpOwotCi0vKgotICogVGhpcyBmdW5jdGlvbiBjaGVja3MgaWYgdGhlIGVudGlyZSByYW5nZSA8c3RhcnQsZW5kPiBpcyBtYXBwZWQgd2l0aCB0eXBlLgotICoKLSAqIE5vdGU6IHRoaXMgZnVuY3Rpb24gb25seSB3b3JrcyBjb3JyZWN0IGlmIHRoZSBlODIwIHRhYmxlIGlzIHNvcnRlZCBhbmQKLSAqIG5vdC1vdmVybGFwcGluZywgd2hpY2ggaXMgdGhlIGNhc2UKLSAqLwotaW50IF9faW5pdCBlODIwX2FsbF9tYXBwZWQodW5zaWduZWQgbG9uZyBzdGFydCwgdW5zaWduZWQgbG9uZyBlbmQsCi0JCQkgICB1bnNpZ25lZCB0eXBlKQotewotCWludCBpOwotCi0JZm9yIChpID0gMDsgaSA8IGU4MjAubnJfbWFwOyBpKyspIHsKLQkJc3RydWN0IGU4MjBlbnRyeSAqZWkgPSAmZTgyMC5tYXBbaV07Ci0KLQkJaWYgKHR5cGUgJiYgZWktPnR5cGUgIT0gdHlwZSkKLQkJCWNvbnRpbnVlOwotCQkvKiBpcyB0aGUgcmVnaW9uIChwYXJ0KSBpbiBvdmVybGFwIHdpdGggdGhlIGN1cnJlbnQgcmVnaW9uID8qLwotCQlpZiAoZWktPmFkZHIgPj0gZW5kIHx8IGVpLT5hZGRyICsgZWktPnNpemUgPD0gc3RhcnQpCi0JCQljb250aW51ZTsKLQotCQkvKiBpZiB0aGUgcmVnaW9uIGlzIGF0IHRoZSBiZWdpbm5pbmcgb2YgPHN0YXJ0LGVuZD4gd2UgbW92ZQotCQkgKiBzdGFydCB0byB0aGUgZW5kIG9mIHRoZSByZWdpb24gc2luY2UgaXQncyBvayB1bnRpbCB0aGVyZQotCQkgKi8KLQkJaWYgKGVpLT5hZGRyIDw9IHN0YXJ0KQotCQkJc3RhcnQgPSBlaS0+YWRkciArIGVpLT5zaXplOwotCQkvKgotCQkgKiBpZiBzdGFydCBpcyBub3cgYXQgb3IgYmV5b25kIGVuZCwgd2UncmUgZG9uZSwgZnVsbAotCQkgKiBjb3ZlcmFnZQotCQkgKi8KLQkJaWYgKHN0YXJ0ID49IGVuZCkKLQkJCXJldHVybiAxOwotCX0KLQlyZXR1cm4gMDsKLX0KLQotLyoKLSAqIEZpbmQgYSBmcmVlIGFyZWEgd2l0aCBzcGVjaWZpZWQgYWxpZ25tZW50IGluIGEgc3BlY2lmaWMgcmFuZ2UuCi0gKi8KLXVuc2lnbmVkIGxvbmcgX19pbml0IGZpbmRfZTgyMF9hcmVhKHVuc2lnbmVkIGxvbmcgc3RhcnQsIHVuc2lnbmVkIGxvbmcgZW5kLAotCQkJCSAgICB1bnNpZ25lZCBsb25nIHNpemUsIHVuc2lnbmVkIGxvbmcgYWxpZ24pCi17Ci0JaW50IGk7Ci0KLQlmb3IgKGkgPSAwOyBpIDwgZTgyMC5ucl9tYXA7IGkrKykgewotCQlzdHJ1Y3QgZTgyMGVudHJ5ICplaSA9ICZlODIwLm1hcFtpXTsKLQkJdW5zaWduZWQgbG9uZyBhZGRyLCBsYXN0OwotCQl1bnNpZ25lZCBsb25nIGVpX2xhc3Q7Ci0KLQkJaWYgKGVpLT50eXBlICE9IEU4MjBfUkFNKQotCQkJY29udGludWU7Ci0JCWFkZHIgPSByb3VuZF91cChlaS0+YWRkciwgYWxpZ24pOwotCQllaV9sYXN0ID0gZWktPmFkZHIgKyBlaS0+c2l6ZTsKLQkJaWYgKGFkZHIgPCBzdGFydCkKLQkJCWFkZHIgPSByb3VuZF91cChzdGFydCwgYWxpZ24pOwotCQlpZiAoYWRkciA+PSBlaV9sYXN0KQotCQkJY29udGludWU7Ci0JCXdoaWxlIChiYWRfYWRkcigmYWRkciwgc2l6ZSwgYWxpZ24pICYmIGFkZHIrc2l6ZSA8PSBlaV9sYXN0KQotCQkJOwotCQlsYXN0ID0gYWRkciArIHNpemU7Ci0JCWlmIChsYXN0ID4gZWlfbGFzdCkKLQkJCWNvbnRpbnVlOwotCQlpZiAobGFzdCA+IGVuZCkKLQkJCWNvbnRpbnVlOwotCQlyZXR1cm4gYWRkcjsKLQl9Ci0JcmV0dXJuIC0xVUw7Ci19Ci0KLS8qCi0gKiBGaW5kIG5leHQgZnJlZSByYW5nZSBhZnRlciAqc3RhcnQKLSAqLwotdW5zaWduZWQgbG9uZyBfX2luaXQgZmluZF9lODIwX2FyZWFfc2l6ZSh1bnNpZ25lZCBsb25nIHN0YXJ0LAotCQkJCQkgdW5zaWduZWQgbG9uZyAqc2l6ZXAsCi0JCQkJCSB1bnNpZ25lZCBsb25nIGFsaWduKQotewotCWludCBpOwotCi0JZm9yIChpID0gMDsgaSA8IGU4MjAubnJfbWFwOyBpKyspIHsKLQkJc3RydWN0IGU4MjBlbnRyeSAqZWkgPSAmZTgyMC5tYXBbaV07Ci0JCXVuc2lnbmVkIGxvbmcgYWRkciwgbGFzdDsKLQkJdW5zaWduZWQgbG9uZyBlaV9sYXN0OwotCi0JCWlmIChlaS0+dHlwZSAhPSBFODIwX1JBTSkKLQkJCWNvbnRpbnVlOwotCQlhZGRyID0gcm91bmRfdXAoZWktPmFkZHIsIGFsaWduKTsKLQkJZWlfbGFzdCA9IGVpLT5hZGRyICsgZWktPnNpemU7Ci0JCWlmIChhZGRyIDwgc3RhcnQpCi0JCQlhZGRyID0gcm91bmRfdXAoc3RhcnQsIGFsaWduKTsKLQkJaWYgKGFkZHIgPj0gZWlfbGFzdCkKLQkJCWNvbnRpbnVlOwotCQkqc2l6ZXAgPSBlaV9sYXN0IC0gYWRkcjsKLQkJd2hpbGUgKGJhZF9hZGRyX3NpemUoJmFkZHIsIHNpemVwLCBhbGlnbikgJiYKLQkJCWFkZHIgKyAqc2l6ZXAgPD0gZWlfbGFzdCkKLQkJCTsKLQkJbGFzdCA9IGFkZHIgKyAqc2l6ZXA7Ci0JCWlmIChsYXN0ID4gZWlfbGFzdCkKLQkJCWNvbnRpbnVlOwotCQlyZXR1cm4gYWRkcjsKLQl9Ci0JcmV0dXJuIC0xVUw7Ci0KLX0KLS8qCi0gKiBGaW5kIHRoZSBoaWdoZXN0IHBhZ2UgZnJhbWUgbnVtYmVyIHdlIGhhdmUgYXZhaWxhYmxlCi0gKi8KLXVuc2lnbmVkIGxvbmcgX19pbml0IGU4MjBfZW5kX29mX3JhbSh2b2lkKQotewotCXVuc2lnbmVkIGxvbmcgZW5kX3BmbjsKLQotCWVuZF9wZm4gPSBmaW5kX21heF9wZm5fd2l0aF9hY3RpdmVfcmVnaW9ucygpOwotCi0JaWYgKGVuZF9wZm4gPiBtYXhfcGZuX21hcHBlZCkKLQkJbWF4X3Bmbl9tYXBwZWQgPSBlbmRfcGZuOwotCWlmIChtYXhfcGZuX21hcHBlZCA+IE1BWE1FTT4+UEFHRV9TSElGVCkKLQkJbWF4X3Bmbl9tYXBwZWQgPSBNQVhNRU0+PlBBR0VfU0hJRlQ7Ci0JaWYgKGVuZF9wZm4gPiBlbmRfdXNlcl9wZm4pCi0JCWVuZF9wZm4gPSBlbmRfdXNlcl9wZm47Ci0JaWYgKGVuZF9wZm4gPiBtYXhfcGZuX21hcHBlZCkKLQkJZW5kX3BmbiA9IG1heF9wZm5fbWFwcGVkOwotCi0JcHJpbnRrKEtFUk5fSU5GTyAibWF4X3Bmbl9tYXBwZWQgPSAlbHVcbiIsIG1heF9wZm5fbWFwcGVkKTsKLQlyZXR1cm4gZW5kX3BmbjsKLX0KLQotLyoKLSAqIE1hcmsgZTgyMCByZXNlcnZlZCBhcmVhcyBhcyBidXN5IGZvciB0aGUgcmVzb3VyY2UgbWFuYWdlci4KLSAqLwotdm9pZCBfX2luaXQgZTgyMF9yZXNlcnZlX3Jlc291cmNlcyh2b2lkKQotewotCWludCBpOwotCXN0cnVjdCByZXNvdXJjZSAqcmVzOwotCi0JcmVzID0gYWxsb2NfYm9vdG1lbV9sb3coc2l6ZW9mKHN0cnVjdCByZXNvdXJjZSkgKiBlODIwLm5yX21hcCk7Ci0JZm9yIChpID0gMDsgaSA8IGU4MjAubnJfbWFwOyBpKyspIHsKLQkJc3dpdGNoIChlODIwLm1hcFtpXS50eXBlKSB7Ci0JCWNhc2UgRTgyMF9SQU06CXJlcy0+bmFtZSA9ICJTeXN0ZW0gUkFNIjsgYnJlYWs7Ci0JCWNhc2UgRTgyMF9BQ1BJOglyZXMtPm5hbWUgPSAiQUNQSSBUYWJsZXMiOyBicmVhazsKLQkJY2FzZSBFODIwX05WUzoJcmVzLT5uYW1lID0gIkFDUEkgTm9uLXZvbGF0aWxlIFN0b3JhZ2UiOyBicmVhazsKLQkJZGVmYXVsdDoJcmVzLT5uYW1lID0gInJlc2VydmVkIjsKLQkJfQotCQlyZXMtPnN0YXJ0ID0gZTgyMC5tYXBbaV0uYWRkcjsKLQkJcmVzLT5lbmQgPSByZXMtPnN0YXJ0ICsgZTgyMC5tYXBbaV0uc2l6ZSAtIDE7Ci0JCXJlcy0+ZmxhZ3MgPSBJT1JFU09VUkNFX01FTSB8IElPUkVTT1VSQ0VfQlVTWTsKLQkJaW5zZXJ0X3Jlc291cmNlKCZpb21lbV9yZXNvdXJjZSwgcmVzKTsKLQkJcmVzKys7Ci0JfQotfQotCi0vKgotICogRmluZCB0aGUgcmFuZ2VzIG9mIHBoeXNpY2FsIGFkZHJlc3NlcyB0aGF0IGRvIG5vdCBjb3JyZXNwb25kIHRvCi0gKiBlODIwIFJBTSBhcmVhcyBhbmQgbWFyayB0aGUgY29ycmVzcG9uZGluZyBwYWdlcyBhcyBub3NhdmUgZm9yIHNvZnR3YXJlCi0gKiBzdXNwZW5kIGFuZCBzdXNwZW5kIHRvIFJBTS4KLSAqCi0gKiBUaGlzIGZ1bmN0aW9uIHJlcXVpcmVzIHRoZSBlODIwIG1hcCB0byBiZSBzb3J0ZWQgYW5kIHdpdGhvdXQgYW55Ci0gKiBvdmVybGFwcGluZyBlbnRyaWVzIGFuZCBhc3N1bWVzIHRoZSBmaXJzdCBlODIwIGFyZWEgdG8gYmUgUkFNLgotICovCi12b2lkIF9faW5pdCBlODIwX21hcmtfbm9zYXZlX3JlZ2lvbnModm9pZCkKLXsKLQlpbnQgaTsKLQl1bnNpZ25lZCBsb25nIHBhZGRyOwotCi0JcGFkZHIgPSByb3VuZF9kb3duKGU4MjAubWFwWzBdLmFkZHIgKyBlODIwLm1hcFswXS5zaXplLCBQQUdFX1NJWkUpOwotCWZvciAoaSA9IDE7IGkgPCBlODIwLm5yX21hcDsgaSsrKSB7Ci0JCXN0cnVjdCBlODIwZW50cnkgKmVpID0gJmU4MjAubWFwW2ldOwotCi0JCWlmIChwYWRkciA8IGVpLT5hZGRyKQotCQkJcmVnaXN0ZXJfbm9zYXZlX3JlZ2lvbihQRk5fRE9XTihwYWRkciksCi0JCQkJCQlQRk5fVVAoZWktPmFkZHIpKTsKLQotCQlwYWRkciA9IHJvdW5kX2Rvd24oZWktPmFkZHIgKyBlaS0+c2l6ZSwgUEFHRV9TSVpFKTsKLQkJaWYgKGVpLT50eXBlICE9IEU4MjBfUkFNKQotCQkJcmVnaXN0ZXJfbm9zYXZlX3JlZ2lvbihQRk5fVVAoZWktPmFkZHIpLAotCQkJCQkJUEZOX0RPV04ocGFkZHIpKTsKLQotCQlpZiAocGFkZHIgPj0gKGVuZF9wZm4gPDwgUEFHRV9TSElGVCkpCi0JCQlicmVhazsKLQl9Ci19Ci0KLS8qCi0gKiBGaW5kcyBhbiBhY3RpdmUgcmVnaW9uIGluIHRoZSBhZGRyZXNzIHJhbmdlIGZyb20gc3RhcnRfcGZuIHRvIGVuZF9wZm4gYW5kCi0gKiByZXR1cm5zIGl0cyByYW5nZSBpbiBlaV9zdGFydHBmbiBhbmQgZWlfZW5kcGZuIGZvciB0aGUgZTgyMCBlbnRyeS4KLSAqLwotc3RhdGljIGludCBfX2luaXQgZTgyMF9maW5kX2FjdGl2ZV9yZWdpb24oY29uc3Qgc3RydWN0IGU4MjBlbnRyeSAqZWksCi0JCQkJCSAgdW5zaWduZWQgbG9uZyBzdGFydF9wZm4sCi0JCQkJCSAgdW5zaWduZWQgbG9uZyBlbmRfcGZuLAotCQkJCQkgIHVuc2lnbmVkIGxvbmcgKmVpX3N0YXJ0cGZuLAotCQkJCQkgIHVuc2lnbmVkIGxvbmcgKmVpX2VuZHBmbikKLXsKLQkqZWlfc3RhcnRwZm4gPSByb3VuZF91cChlaS0+YWRkciwgUEFHRV9TSVpFKSA+PiBQQUdFX1NISUZUOwotCSplaV9lbmRwZm4gPSByb3VuZF9kb3duKGVpLT5hZGRyICsgZWktPnNpemUsIFBBR0VfU0laRSkgPj4gUEFHRV9TSElGVDsKLQotCS8qIFNraXAgbWFwIGVudHJpZXMgc21hbGxlciB0aGFuIGEgcGFnZSAqLwotCWlmICgqZWlfc3RhcnRwZm4gPj0gKmVpX2VuZHBmbikKLQkJcmV0dXJuIDA7Ci0KLQkvKiBDaGVjayBpZiBtYXhfcGZuX21hcHBlZCBzaG91bGQgYmUgdXBkYXRlZCAqLwotCWlmIChlaS0+dHlwZSAhPSBFODIwX1JBTSAmJiAqZWlfZW5kcGZuID4gbWF4X3Bmbl9tYXBwZWQpCi0JCW1heF9wZm5fbWFwcGVkID0gKmVpX2VuZHBmbjsKLQotCS8qIFNraXAgaWYgbWFwIGlzIG91dHNpZGUgdGhlIG5vZGUgKi8KLQlpZiAoZWktPnR5cGUgIT0gRTgyMF9SQU0gfHwgKmVpX2VuZHBmbiA8PSBzdGFydF9wZm4gfHwKLQkJCQkgICAgKmVpX3N0YXJ0cGZuID49IGVuZF9wZm4pCi0JCXJldHVybiAwOwotCi0JLyogQ2hlY2sgZm9yIG92ZXJsYXBzICovCi0JaWYgKCplaV9zdGFydHBmbiA8IHN0YXJ0X3BmbikKLQkJKmVpX3N0YXJ0cGZuID0gc3RhcnRfcGZuOwotCWlmICgqZWlfZW5kcGZuID4gZW5kX3BmbikKLQkJKmVpX2VuZHBmbiA9IGVuZF9wZm47Ci0KLQkvKiBPYmV5IGVuZF91c2VyX3BmbiB0byBzYXZlIG9uIG1lbW1hcCAqLwotCWlmICgqZWlfc3RhcnRwZm4gPj0gZW5kX3VzZXJfcGZuKQotCQlyZXR1cm4gMDsKLQlpZiAoKmVpX2VuZHBmbiA+IGVuZF91c2VyX3BmbikKLQkJKmVpX2VuZHBmbiA9IGVuZF91c2VyX3BmbjsKLQotCXJldHVybiAxOwotfQotCi0vKiBXYWxrIHRoZSBlODIwIG1hcCBhbmQgcmVnaXN0ZXIgYWN0aXZlIHJlZ2lvbnMgd2l0aGluIGEgbm9kZSAqLwotdm9pZCBfX2luaXQKLWU4MjBfcmVnaXN0ZXJfYWN0aXZlX3JlZ2lvbnMoaW50IG5pZCwgdW5zaWduZWQgbG9uZyBzdGFydF9wZm4sCi0JCQkJCQkJdW5zaWduZWQgbG9uZyBlbmRfcGZuKQotewotCXVuc2lnbmVkIGxvbmcgZWlfc3RhcnRwZm47Ci0JdW5zaWduZWQgbG9uZyBlaV9lbmRwZm47Ci0JaW50IGk7Ci0KLQlmb3IgKGkgPSAwOyBpIDwgZTgyMC5ucl9tYXA7IGkrKykKLQkJaWYgKGU4MjBfZmluZF9hY3RpdmVfcmVnaW9uKCZlODIwLm1hcFtpXSwKLQkJCQkJICAgIHN0YXJ0X3BmbiwgZW5kX3BmbiwKLQkJCQkJICAgICZlaV9zdGFydHBmbiwgJmVpX2VuZHBmbikpCi0JCQlhZGRfYWN0aXZlX3JhbmdlKG5pZCwgZWlfc3RhcnRwZm4sIGVpX2VuZHBmbik7Ci19Ci0KLS8qCi0gKiBBZGQgYSBtZW1vcnkgcmVnaW9uIHRvIHRoZSBrZXJuZWwgZTgyMCBtYXAuCi0gKi8KLXZvaWQgX19pbml0IGFkZF9tZW1vcnlfcmVnaW9uKHVuc2lnbmVkIGxvbmcgc3RhcnQsIHVuc2lnbmVkIGxvbmcgc2l6ZSwgaW50IHR5cGUpCi17Ci0JaW50IHggPSBlODIwLm5yX21hcDsKLQotCWlmICh4ID09IEU4MjBNQVgpIHsKLQkJcHJpbnRrKEtFUk5fRVJSICJPb29wcyEgVG9vIG1hbnkgZW50cmllcyBpbiB0aGUgbWVtb3J5IG1hcCFcbiIpOwotCQlyZXR1cm47Ci0JfQotCi0JZTgyMC5tYXBbeF0uYWRkciA9IHN0YXJ0OwotCWU4MjAubWFwW3hdLnNpemUgPSBzaXplOwotCWU4MjAubWFwW3hdLnR5cGUgPSB0eXBlOwotCWU4MjAubnJfbWFwKys7Ci19Ci0KLS8qCi0gKiBGaW5kIHRoZSBob2xlIHNpemUgKGluIGJ5dGVzKSBpbiB0aGUgbWVtb3J5IHJhbmdlLgotICogQHN0YXJ0OiBzdGFydGluZyBhZGRyZXNzIG9mIHRoZSBtZW1vcnkgcmFuZ2UgdG8gc2NhbgotICogQGVuZDogZW5kaW5nIGFkZHJlc3Mgb2YgdGhlIG1lbW9yeSByYW5nZSB0byBzY2FuCi0gKi8KLXVuc2lnbmVkIGxvbmcgX19pbml0IGU4MjBfaG9sZV9zaXplKHVuc2lnbmVkIGxvbmcgc3RhcnQsIHVuc2lnbmVkIGxvbmcgZW5kKQotewotCXVuc2lnbmVkIGxvbmcgc3RhcnRfcGZuID0gc3RhcnQgPj4gUEFHRV9TSElGVDsKLQl1bnNpZ25lZCBsb25nIGVuZF9wZm4gPSBlbmQgPj4gUEFHRV9TSElGVDsKLQl1bnNpZ25lZCBsb25nIGVpX3N0YXJ0cGZuLCBlaV9lbmRwZm4sIHJhbSA9IDA7Ci0JaW50IGk7Ci0KLQlmb3IgKGkgPSAwOyBpIDwgZTgyMC5ucl9tYXA7IGkrKykgewotCQlpZiAoZTgyMF9maW5kX2FjdGl2ZV9yZWdpb24oJmU4MjAubWFwW2ldLAotCQkJCQkgICAgc3RhcnRfcGZuLCBlbmRfcGZuLAotCQkJCQkgICAgJmVpX3N0YXJ0cGZuLCAmZWlfZW5kcGZuKSkKLQkJCXJhbSArPSBlaV9lbmRwZm4gLSBlaV9zdGFydHBmbjsKLQl9Ci0JcmV0dXJuIGVuZCAtIHN0YXJ0IC0gKHJhbSA8PCBQQUdFX1NISUZUKTsKLX0KLQotc3RhdGljIHZvaWQgX19pbml0IGU4MjBfcHJpbnRfbWFwKGNoYXIgKndobykKLXsKLQlpbnQgaTsKLQotCWZvciAoaSA9IDA7IGkgPCBlODIwLm5yX21hcDsgaSsrKSB7Ci0JCXByaW50ayhLRVJOX0lORk8gIiAlczogJTAxNkx4IC0gJTAxNkx4ICIsIHdobywKLQkJICAgICAgICh1bnNpZ25lZCBsb25nIGxvbmcpIGU4MjAubWFwW2ldLmFkZHIsCi0JCSAgICAgICAodW5zaWduZWQgbG9uZyBsb25nKQotCQkgICAgICAgKGU4MjAubWFwW2ldLmFkZHIgKyBlODIwLm1hcFtpXS5zaXplKSk7Ci0JCXN3aXRjaCAoZTgyMC5tYXBbaV0udHlwZSkgewotCQljYXNlIEU4MjBfUkFNOgotCQkJcHJpbnRrKEtFUk5fQ09OVCAiKHVzYWJsZSlcbiIpOwotCQkJYnJlYWs7Ci0JCWNhc2UgRTgyMF9SRVNFUlZFRDoKLQkJCXByaW50ayhLRVJOX0NPTlQgIihyZXNlcnZlZClcbiIpOwotCQkJYnJlYWs7Ci0JCWNhc2UgRTgyMF9BQ1BJOgotCQkJcHJpbnRrKEtFUk5fQ09OVCAiKEFDUEkgZGF0YSlcbiIpOwotCQkJYnJlYWs7Ci0JCWNhc2UgRTgyMF9OVlM6Ci0JCQlwcmludGsoS0VSTl9DT05UICIoQUNQSSBOVlMpXG4iKTsKLQkJCWJyZWFrOwotCQlkZWZhdWx0OgotCQkJcHJpbnRrKEtFUk5fQ09OVCAidHlwZSAldVxuIiwgZTgyMC5tYXBbaV0udHlwZSk7Ci0JCQlicmVhazsKLQkJfQotCX0KLX0KLQotLyoKLSAqIFNhbml0aXplIHRoZSBCSU9TIGU4MjAgbWFwLgotICoKLSAqIFNvbWUgZTgyMCByZXNwb25zZXMgaW5jbHVkZSBvdmVybGFwcGluZyBlbnRyaWVzLiBUaGUgZm9sbG93aW5nCi0gKiByZXBsYWNlcyB0aGUgb3JpZ2luYWwgZTgyMCBtYXAgd2l0aCBhIG5ldyBvbmUsIHJlbW92aW5nIG92ZXJsYXBzLgotICoKLSAqLwotc3RhdGljIGludCBfX2luaXQgc2FuaXRpemVfZTgyMF9tYXAoc3RydWN0IGU4MjBlbnRyeSAqYmlvc21hcCwgY2hhciAqcG5yX21hcCkKLXsKLQlzdHJ1Y3QgY2hhbmdlX21lbWJlciB7Ci0JCXN0cnVjdCBlODIwZW50cnkgKnBiaW9zOyAvKiBwb2ludGVyIHRvIG9yaWdpbmFsIGJpb3MgZW50cnkgKi8KLQkJdW5zaWduZWQgbG9uZyBsb25nIGFkZHI7IC8qIGFkZHJlc3MgZm9yIHRoaXMgY2hhbmdlIHBvaW50ICovCi0JfTsKLQlzdGF0aWMgc3RydWN0IGNoYW5nZV9tZW1iZXIgY2hhbmdlX3BvaW50X2xpc3RbMipFODIwTUFYXSBfX2luaXRkYXRhOwotCXN0YXRpYyBzdHJ1Y3QgY2hhbmdlX21lbWJlciAqY2hhbmdlX3BvaW50WzIqRTgyME1BWF0gX19pbml0ZGF0YTsKLQlzdGF0aWMgc3RydWN0IGU4MjBlbnRyeSAqb3ZlcmxhcF9saXN0W0U4MjBNQVhdIF9faW5pdGRhdGE7Ci0Jc3RhdGljIHN0cnVjdCBlODIwZW50cnkgbmV3X2Jpb3NbRTgyME1BWF0gX19pbml0ZGF0YTsKLQlzdHJ1Y3QgY2hhbmdlX21lbWJlciAqY2hhbmdlX3RtcDsKLQl1bnNpZ25lZCBsb25nIGN1cnJlbnRfdHlwZSwgbGFzdF90eXBlOwotCXVuc2lnbmVkIGxvbmcgbG9uZyBsYXN0X2FkZHI7Ci0JaW50IGNoZ2lkeCwgc3RpbGxfY2hhbmdpbmc7Ci0JaW50IG92ZXJsYXBfZW50cmllczsKLQlpbnQgbmV3X2Jpb3NfZW50cnk7Ci0JaW50IG9sZF9uciwgbmV3X25yLCBjaGdfbnI7Ci0JaW50IGk7Ci0KLQkvKgotCQlWaXN1YWxseSB3ZSdyZSBwZXJmb3JtaW5nIHRoZSBmb2xsb3dpbmcKLQkJKDEsMiwzLDQgPSBtZW1vcnkgdHlwZXMpLi4uCi0KLQkJU2FtcGxlIG1lbW9yeSBtYXAgKHcvb3ZlcmxhcHMpOgotCQkgICBfX19fMjJfX19fX19fX19fX19fX19fX18KLQkJICAgX19fX19fX19fX19fX19fX19fX19fXzRfCi0JCSAgIF9fX18xMTExX19fX19fX19fX19fX19fXwotCQkgICBfNDRfX19fX19fX19fX19fX19fX19fX18KLQkJICAgMTExMTExMTFfX19fX19fX19fX19fX19fCi0JCSAgIF9fX19fX19fX19fX19fX19fX19fMzNfXwotCQkgICBfX19fX19fX19fXzQ0X19fX19fX19fX18KLQkJICAgX19fX19fX19fXzMzMzMzX19fX19fX19fCi0JCSAgIF9fX19fX19fX19fX19fMjJfX19fX19fXwotCQkgICBfX19fX19fX19fX19fX19fX19fMjIyMl8KLQkJICAgX19fX19fX19fMTExMTExMTExX19fX19fCi0JCSAgIF9fX19fX19fX19fX19fX19fX19fXzExXwotCQkgICBfX19fX19fX19fX19fX19fXzRfX19fX18KLQotCQlTYW5pdGl6ZWQgZXF1aXZhbGVudCAobm8gb3ZlcmxhcCk6Ci0JCSAgIDFfX19fX19fX19fX19fX19fX19fX19fXwotCQkgICBfNDRfX19fX19fX19fX19fX19fX19fX18KLQkJICAgX19fMV9fX19fX19fX19fX19fX19fX19fCi0JCSAgIF9fX18yMl9fX19fX19fX19fX19fX19fXwotCQkgICBfX19fX18xMV9fX19fX19fX19fX19fX18KLQkJICAgX19fX19fX19fMV9fX19fX19fX19fX19fCi0JCSAgIF9fX19fX19fX18zX19fX19fX19fX19fXwotCQkgICBfX19fX19fX19fXzQ0X19fX19fX19fX18KLQkJICAgX19fX19fX19fX19fXzMzX19fX19fX19fCi0JCSAgIF9fX19fX19fX19fX19fXzJfX19fX19fXwotCQkgICBfX19fX19fX19fX19fX19fMV9fX19fX18KLQkJICAgX19fX19fX19fX19fX19fX180X19fX19fCi0JCSAgIF9fX19fX19fX19fX19fX19fX18yX19fXwotCQkgICBfX19fX19fX19fX19fX19fX19fXzMzX18KLQkJICAgX19fX19fX19fX19fX19fX19fX19fXzRfCi0JKi8KLQotCS8qIGlmIHRoZXJlJ3Mgb25seSBvbmUgbWVtb3J5IHJlZ2lvbiwgZG9uJ3QgYm90aGVyICovCi0JaWYgKCpwbnJfbWFwIDwgMikKLQkJcmV0dXJuIC0xOwotCi0Jb2xkX25yID0gKnBucl9tYXA7Ci0KLQkvKiBiYWlsIG91dCBpZiB3ZSBmaW5kIGFueSB1bnJlYXNvbmFibGUgYWRkcmVzc2VzIGluIGJpb3MgbWFwICovCi0JZm9yIChpID0gMDsgaSA8IG9sZF9ucjsgaSsrKQotCQlpZiAoYmlvc21hcFtpXS5hZGRyICsgYmlvc21hcFtpXS5zaXplIDwgYmlvc21hcFtpXS5hZGRyKQotCQkJcmV0dXJuIC0xOwotCi0JLyogY3JlYXRlIHBvaW50ZXJzIGZvciBpbml0aWFsIGNoYW5nZS1wb2ludCBpbmZvcm1hdGlvbiAoZm9yIHNvcnRpbmcpICovCi0JZm9yIChpID0gMDsgaSA8IDIgKiBvbGRfbnI7IGkrKykKLQkJY2hhbmdlX3BvaW50W2ldID0gJmNoYW5nZV9wb2ludF9saXN0W2ldOwotCi0JLyogcmVjb3JkIGFsbCBrbm93biBjaGFuZ2UtcG9pbnRzIChzdGFydGluZyBhbmQgZW5kaW5nIGFkZHJlc3NlcyksCi0JICAgb21pdHRpbmcgdGhvc2UgdGhhdCBhcmUgZm9yIGVtcHR5IG1lbW9yeSByZWdpb25zICovCi0JY2hnaWR4ID0gMDsKLQlmb3IgKGkgPSAwOyBpIDwgb2xkX25yOyBpKyspCXsKLQkJaWYgKGJpb3NtYXBbaV0uc2l6ZSAhPSAwKSB7Ci0JCQljaGFuZ2VfcG9pbnRbY2hnaWR4XS0+YWRkciA9IGJpb3NtYXBbaV0uYWRkcjsKLQkJCWNoYW5nZV9wb2ludFtjaGdpZHgrK10tPnBiaW9zID0gJmJpb3NtYXBbaV07Ci0JCQljaGFuZ2VfcG9pbnRbY2hnaWR4XS0+YWRkciA9IGJpb3NtYXBbaV0uYWRkciArCi0JCQkJYmlvc21hcFtpXS5zaXplOwotCQkJY2hhbmdlX3BvaW50W2NoZ2lkeCsrXS0+cGJpb3MgPSAmYmlvc21hcFtpXTsKLQkJfQotCX0KLQljaGdfbnIgPSBjaGdpZHg7Ci0KLQkvKiBzb3J0IGNoYW5nZS1wb2ludCBsaXN0IGJ5IG1lbW9yeSBhZGRyZXNzZXMgKGxvdyAtPiBoaWdoKSAqLwotCXN0aWxsX2NoYW5naW5nID0gMTsKLQl3aGlsZSAoc3RpbGxfY2hhbmdpbmcpCXsKLQkJc3RpbGxfY2hhbmdpbmcgPSAwOwotCQlmb3IgKGkgPSAxOyBpIDwgY2hnX25yOyBpKyspICB7Ci0JCQl1bnNpZ25lZCBsb25nIGxvbmcgY3VyYWRkciwgbGFzdGFkZHI7Ci0JCQl1bnNpZ25lZCBsb25nIGxvbmcgY3VycGJhZGRyLCBsYXN0cGJhZGRyOwotCi0JCQljdXJhZGRyID0gY2hhbmdlX3BvaW50W2ldLT5hZGRyOwotCQkJbGFzdGFkZHIgPSBjaGFuZ2VfcG9pbnRbaSAtIDFdLT5hZGRyOwotCQkJY3VycGJhZGRyID0gY2hhbmdlX3BvaW50W2ldLT5wYmlvcy0+YWRkcjsKLQkJCWxhc3RwYmFkZHIgPSBjaGFuZ2VfcG9pbnRbaSAtIDFdLT5wYmlvcy0+YWRkcjsKLQotCQkJLyoKLQkJCSAqIHN3YXAgZW50cmllcywgd2hlbjoKLQkJCSAqCi0JCQkgKiBjdXJhZGRyID4gbGFzdGFkZHIgb3IKLQkJCSAqIGN1cmFkZHIgPT0gbGFzdGFkZHIgYW5kIGN1cmFkZHIgPT0gY3VycGJhZGRyIGFuZAotCQkJICogbGFzdGFkZHIgIT0gbGFzdHBiYWRkcgotCQkJICovCi0JCQlpZiAoY3VyYWRkciA8IGxhc3RhZGRyIHx8Ci0JCQkgICAgKGN1cmFkZHIgPT0gbGFzdGFkZHIgJiYgY3VyYWRkciA9PSBjdXJwYmFkZHIgJiYKLQkJCSAgICAgbGFzdGFkZHIgIT0gbGFzdHBiYWRkcikpIHsKLQkJCQljaGFuZ2VfdG1wID0gY2hhbmdlX3BvaW50W2ldOwotCQkJCWNoYW5nZV9wb2ludFtpXSA9IGNoYW5nZV9wb2ludFtpLTFdOwotCQkJCWNoYW5nZV9wb2ludFtpLTFdID0gY2hhbmdlX3RtcDsKLQkJCQlzdGlsbF9jaGFuZ2luZyA9IDE7Ci0JCQl9Ci0JCX0KLQl9Ci0KLQkvKiBjcmVhdGUgYSBuZXcgYmlvcyBtZW1vcnkgbWFwLCByZW1vdmluZyBvdmVybGFwcyAqLwotCW92ZXJsYXBfZW50cmllcyA9IDA7CSAvKiBudW1iZXIgb2YgZW50cmllcyBpbiB0aGUgb3ZlcmxhcCB0YWJsZSAqLwotCW5ld19iaW9zX2VudHJ5ID0gMDsJIC8qIGluZGV4IGZvciBjcmVhdGluZyBuZXcgYmlvcyBtYXAgZW50cmllcyAqLwotCWxhc3RfdHlwZSA9IDA7CQkgLyogc3RhcnQgd2l0aCB1bmRlZmluZWQgbWVtb3J5IHR5cGUgKi8KLQlsYXN0X2FkZHIgPSAwOwkJIC8qIHN0YXJ0IHdpdGggMCBhcyBsYXN0IHN0YXJ0aW5nIGFkZHJlc3MgKi8KLQotCS8qIGxvb3AgdGhyb3VnaCBjaGFuZ2UtcG9pbnRzLCBkZXRlcm1pbmluZyBhZmZlY3Qgb24gdGhlIG5ldyBiaW9zIG1hcCAqLwotCWZvciAoY2hnaWR4ID0gMDsgY2hnaWR4IDwgY2hnX25yOyBjaGdpZHgrKykgewotCQkvKiBrZWVwIHRyYWNrIG9mIGFsbCBvdmVybGFwcGluZyBiaW9zIGVudHJpZXMgKi8KLQkJaWYgKGNoYW5nZV9wb2ludFtjaGdpZHhdLT5hZGRyID09Ci0JCSAgICBjaGFuZ2VfcG9pbnRbY2hnaWR4XS0+cGJpb3MtPmFkZHIpIHsKLQkJCS8qCi0JCQkgKiBhZGQgbWFwIGVudHJ5IHRvIG92ZXJsYXAgbGlzdCAoPiAxIGVudHJ5Ci0JCQkgKiBpbXBsaWVzIGFuIG92ZXJsYXApCi0JCQkgKi8KLQkJCW92ZXJsYXBfbGlzdFtvdmVybGFwX2VudHJpZXMrK10gPQotCQkJCWNoYW5nZV9wb2ludFtjaGdpZHhdLT5wYmlvczsKLQkJfSBlbHNlIHsKLQkJCS8qCi0JCQkgKiByZW1vdmUgZW50cnkgZnJvbSBsaXN0IChvcmRlciBpbmRlcGVuZGVudCwKLQkJCSAqIHNvIHN3YXAgd2l0aCBsYXN0KQotCQkJICovCi0JCQlmb3IgKGkgPSAwOyBpIDwgb3ZlcmxhcF9lbnRyaWVzOyBpKyspIHsKLQkJCQlpZiAob3ZlcmxhcF9saXN0W2ldID09Ci0JCQkJICAgIGNoYW5nZV9wb2ludFtjaGdpZHhdLT5wYmlvcykKLQkJCQkJb3ZlcmxhcF9saXN0W2ldID0KLQkJCQkJCW92ZXJsYXBfbGlzdFtvdmVybGFwX2VudHJpZXMtMV07Ci0JCQl9Ci0JCQlvdmVybGFwX2VudHJpZXMtLTsKLQkJfQotCQkvKgotCQkgKiBpZiB0aGVyZSBhcmUgb3ZlcmxhcHBpbmcgZW50cmllcywgZGVjaWRlIHdoaWNoCi0JCSAqICJ0eXBlIiB0byB1c2UgKGxhcmdlciB2YWx1ZSB0YWtlcyBwcmVjZWRlbmNlIC0tCi0JCSAqIDE9dXNhYmxlLCAyLDMsNCw0Kz11bnVzYWJsZSkKLQkJICovCi0JCWN1cnJlbnRfdHlwZSA9IDA7Ci0JCWZvciAoaSA9IDA7IGkgPCBvdmVybGFwX2VudHJpZXM7IGkrKykKLQkJCWlmIChvdmVybGFwX2xpc3RbaV0tPnR5cGUgPiBjdXJyZW50X3R5cGUpCi0JCQkJY3VycmVudF90eXBlID0gb3ZlcmxhcF9saXN0W2ldLT50eXBlOwotCQkvKgotCQkgKiBjb250aW51ZSBidWlsZGluZyB1cCBuZXcgYmlvcyBtYXAgYmFzZWQgb24gdGhpcwotCQkgKiBpbmZvcm1hdGlvbgotCQkgKi8KLQkJaWYgKGN1cnJlbnRfdHlwZSAhPSBsYXN0X3R5cGUpCXsKLQkJCWlmIChsYXN0X3R5cGUgIT0gMCkJIHsKLQkJCQluZXdfYmlvc1tuZXdfYmlvc19lbnRyeV0uc2l6ZSA9Ci0JCQkJCWNoYW5nZV9wb2ludFtjaGdpZHhdLT5hZGRyIC0gbGFzdF9hZGRyOwotCQkJCS8qCi0JCQkJICogbW92ZSBmb3J3YXJkIG9ubHkgaWYgdGhlIG5ldyBzaXplCi0JCQkJICogd2FzIG5vbi16ZXJvCi0JCQkJICovCi0JCQkJaWYgKG5ld19iaW9zW25ld19iaW9zX2VudHJ5XS5zaXplICE9IDApCi0JCQkJCS8qCi0JCQkJCSAqIG5vIG1vcmUgc3BhY2UgbGVmdCBmb3IgbmV3Ci0JCQkJCSAqIGJpb3MgZW50cmllcyA/Ci0JCQkJCSAqLwotCQkJCQlpZiAoKytuZXdfYmlvc19lbnRyeSA+PSBFODIwTUFYKQotCQkJCQkJYnJlYWs7Ci0JCQl9Ci0JCQlpZiAoY3VycmVudF90eXBlICE9IDApCXsKLQkJCQluZXdfYmlvc1tuZXdfYmlvc19lbnRyeV0uYWRkciA9Ci0JCQkJCWNoYW5nZV9wb2ludFtjaGdpZHhdLT5hZGRyOwotCQkJCW5ld19iaW9zW25ld19iaW9zX2VudHJ5XS50eXBlID0gY3VycmVudF90eXBlOwotCQkJCWxhc3RfYWRkciA9IGNoYW5nZV9wb2ludFtjaGdpZHhdLT5hZGRyOwotCQkJfQotCQkJbGFzdF90eXBlID0gY3VycmVudF90eXBlOwotCQl9Ci0JfQotCS8qIHJldGFpbiBjb3VudCBmb3IgbmV3IGJpb3MgZW50cmllcyAqLwotCW5ld19uciA9IG5ld19iaW9zX2VudHJ5OwotCi0JLyogY29weSBuZXcgYmlvcyBtYXBwaW5nIGludG8gb3JpZ2luYWwgbG9jYXRpb24gKi8KLQltZW1jcHkoYmlvc21hcCwgbmV3X2Jpb3MsIG5ld19uciAqIHNpemVvZihzdHJ1Y3QgZTgyMGVudHJ5KSk7Ci0JKnBucl9tYXAgPSBuZXdfbnI7Ci0KLQlyZXR1cm4gMDsKLX0KLQotLyoKLSAqIENvcHkgdGhlIEJJT1MgZTgyMCBtYXAgaW50byBhIHNhZmUgcGxhY2UuCi0gKgotICogU2FuaXR5LWNoZWNrIGl0IHdoaWxlIHdlJ3JlIGF0IGl0Li4KLSAqCi0gKiBJZiB3ZSdyZSBsdWNreSBhbmQgbGl2ZSBvbiBhIG1vZGVybiBzeXN0ZW0sIHRoZSBzZXR1cCBjb2RlCi0gKiB3aWxsIGhhdmUgZ2l2ZW4gdXMgYSBtZW1vcnkgbWFwIHRoYXQgd2UgY2FuIHVzZSB0byBwcm9wZXJseQotICogc2V0IHVwIG1lbW9yeS4gIElmIHdlIGFyZW4ndCwgd2UnbGwgZmFrZSBhIG1lbW9yeSBtYXAuCi0gKi8KLXN0YXRpYyBpbnQgX19pbml0IGNvcHlfZTgyMF9tYXAoc3RydWN0IGU4MjBlbnRyeSAqYmlvc21hcCwgaW50IG5yX21hcCkKLXsKLQkvKiBPbmx5IG9uZSBtZW1vcnkgcmVnaW9uIChvciBuZWdhdGl2ZSk/IElnbm9yZSBpdCAqLwotCWlmIChucl9tYXAgPCAyKQotCQlyZXR1cm4gLTE7Ci0KLQlkbyB7Ci0JCXU2NCBzdGFydCA9IGJpb3NtYXAtPmFkZHI7Ci0JCXU2NCBzaXplID0gYmlvc21hcC0+c2l6ZTsKLQkJdTY0IGVuZCA9IHN0YXJ0ICsgc2l6ZTsKLQkJdTMyIHR5cGUgPSBiaW9zbWFwLT50eXBlOwotCi0JCS8qIE92ZXJmbG93IGluIDY0IGJpdHM/IElnbm9yZSB0aGUgbWVtb3J5IG1hcC4gKi8KLQkJaWYgKHN0YXJ0ID4gZW5kKQotCQkJcmV0dXJuIC0xOwotCi0JCWFkZF9tZW1vcnlfcmVnaW9uKHN0YXJ0LCBzaXplLCB0eXBlKTsKLQl9IHdoaWxlIChiaW9zbWFwKyssIC0tbnJfbWFwKTsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIHZvaWQgZWFybHlfcGFuaWMoY2hhciAqbXNnKQotewotCWVhcmx5X3ByaW50ayhtc2cpOwotCXBhbmljKG1zZyk7Ci19Ci0KLS8qIFdlJ3JlIG5vdCB2b2lkIG9ubHkgZm9yIHg4NiAzMi1iaXQgY29tcGF0ICovCi1jaGFyICogX19pbml0IG1hY2hpbmVfc3BlY2lmaWNfbWVtb3J5X3NldHVwKHZvaWQpCi17Ci0JY2hhciAqd2hvID0gIkJJT1MtZTgyMCI7Ci0JLyoKLQkgKiBUcnkgdG8gY29weSB0aGUgQklPUy1zdXBwbGllZCBFODIwLW1hcC4KLQkgKgotCSAqIE90aGVyd2lzZSBmYWtlIGEgbWVtb3J5IG1hcDsgb25lIHNlY3Rpb24gZnJvbSAway0+NjQwaywKLQkgKiB0aGUgbmV4dCBzZWN0aW9uIGZyb20gMW1iLT5hcHByb3ByaWF0ZV9tZW1fawotCSAqLwotCXNhbml0aXplX2U4MjBfbWFwKGJvb3RfcGFyYW1zLmU4MjBfbWFwLCAmYm9vdF9wYXJhbXMuZTgyMF9lbnRyaWVzKTsKLQlpZiAoY29weV9lODIwX21hcChib290X3BhcmFtcy5lODIwX21hcCwgYm9vdF9wYXJhbXMuZTgyMF9lbnRyaWVzKSA8IDApCi0JCWVhcmx5X3BhbmljKCJDYW5ub3QgZmluZCBhIHZhbGlkIG1lbW9yeSBtYXAiKTsKLQlwcmludGsoS0VSTl9JTkZPICJCSU9TLXByb3ZpZGVkIHBoeXNpY2FsIFJBTSBtYXA6XG4iKTsKLQllODIwX3ByaW50X21hcCh3aG8pOwotCi0JLyogSW4gY2FzZSBzb21lb25lIGNhcmVzLi4uICovCi0JcmV0dXJuIHdobzsKLX0KLQotc3RhdGljIGludCBfX2luaXQgcGFyc2VfbWVtb3B0KGNoYXIgKnApCi17Ci0JaWYgKCFwKQotCQlyZXR1cm4gLUVJTlZBTDsKLQllbmRfdXNlcl9wZm4gPSBtZW1wYXJzZShwLCAmcCk7Ci0JZW5kX3VzZXJfcGZuID4+PSBQQUdFX1NISUZUOwotCXJldHVybiAwOwotfQotZWFybHlfcGFyYW0oIm1lbSIsIHBhcnNlX21lbW9wdCk7Ci0KLXN0YXRpYyBpbnQgdXNlcmRlZiBfX2luaXRkYXRhOwotCi1zdGF0aWMgaW50IF9faW5pdCBwYXJzZV9tZW1tYXBfb3B0KGNoYXIgKnApCi17Ci0JY2hhciAqb2xkcDsKLQl1bnNpZ25lZCBsb25nIGxvbmcgc3RhcnRfYXQsIG1lbV9zaXplOwotCi0JaWYgKCFzdHJjbXAocCwgImV4YWN0bWFwIikpIHsKLSNpZmRlZiBDT05GSUdfQ1JBU0hfRFVNUAotCQkvKgotCQkgKiBJZiB3ZSBhcmUgZG9pbmcgYSBjcmFzaCBkdW1wLCB3ZSBzdGlsbCBuZWVkIHRvIGtub3cKLQkJICogdGhlIHJlYWwgbWVtIHNpemUgYmVmb3JlIG9yaWdpbmFsIG1lbW9yeSBtYXAgaXMKLQkJICogcmVzZXQuCi0JCSAqLwotCQllODIwX3JlZ2lzdGVyX2FjdGl2ZV9yZWdpb25zKDAsIDAsIC0xVUwpOwotCQlzYXZlZF9tYXhfcGZuID0gZTgyMF9lbmRfb2ZfcmFtKCk7Ci0JCXJlbW92ZV9hbGxfYWN0aXZlX3JhbmdlcygpOwotI2VuZGlmCi0JCW1heF9wZm5fbWFwcGVkID0gMDsKLQkJZTgyMC5ucl9tYXAgPSAwOwotCQl1c2VyZGVmID0gMTsKLQkJcmV0dXJuIDA7Ci0JfQotCi0Jb2xkcCA9IHA7Ci0JbWVtX3NpemUgPSBtZW1wYXJzZShwLCAmcCk7Ci0JaWYgKHAgPT0gb2xkcCkKLQkJcmV0dXJuIC1FSU5WQUw7Ci0KLQl1c2VyZGVmID0gMTsKLQlpZiAoKnAgPT0gJ0AnKSB7Ci0JCXN0YXJ0X2F0ID0gbWVtcGFyc2UocCsxLCAmcCk7Ci0JCWFkZF9tZW1vcnlfcmVnaW9uKHN0YXJ0X2F0LCBtZW1fc2l6ZSwgRTgyMF9SQU0pOwotCX0gZWxzZSBpZiAoKnAgPT0gJyMnKSB7Ci0JCXN0YXJ0X2F0ID0gbWVtcGFyc2UocCsxLCAmcCk7Ci0JCWFkZF9tZW1vcnlfcmVnaW9uKHN0YXJ0X2F0LCBtZW1fc2l6ZSwgRTgyMF9BQ1BJKTsKLQl9IGVsc2UgaWYgKCpwID09ICckJykgewotCQlzdGFydF9hdCA9IG1lbXBhcnNlKHArMSwgJnApOwotCQlhZGRfbWVtb3J5X3JlZ2lvbihzdGFydF9hdCwgbWVtX3NpemUsIEU4MjBfUkVTRVJWRUQpOwotCX0gZWxzZSB7Ci0JCWVuZF91c2VyX3BmbiA9IChtZW1fc2l6ZSA+PiBQQUdFX1NISUZUKTsKLQl9Ci0JcmV0dXJuICpwID09ICdcMCcgPyAwIDogLUVJTlZBTDsKLX0KLWVhcmx5X3BhcmFtKCJtZW1tYXAiLCBwYXJzZV9tZW1tYXBfb3B0KTsKLQotdm9pZCBfX2luaXQgZmluaXNoX2U4MjBfcGFyc2luZyh2b2lkKQotewotCWlmICh1c2VyZGVmKSB7Ci0JCWNoYXIgbnIgPSBlODIwLm5yX21hcDsKLQotCQlpZiAoc2FuaXRpemVfZTgyMF9tYXAoZTgyMC5tYXAsICZucikgPCAwKQotCQkJZWFybHlfcGFuaWMoIkludmFsaWQgdXNlciBzdXBwbGllZCBtZW1vcnkgbWFwIik7Ci0JCWU4MjAubnJfbWFwID0gbnI7Ci0KLQkJcHJpbnRrKEtFUk5fSU5GTyAidXNlci1kZWZpbmVkIHBoeXNpY2FsIFJBTSBtYXA6XG4iKTsKLQkJZTgyMF9wcmludF9tYXAoInVzZXIiKTsKLQl9Ci19Ci0KLXZvaWQgX19pbml0IHVwZGF0ZV9tZW1vcnlfcmFuZ2UodTY0IHN0YXJ0LCB1NjQgc2l6ZSwgdW5zaWduZWQgb2xkX3R5cGUsCi0JCQkJdW5zaWduZWQgbmV3X3R5cGUpCi17Ci0JaW50IGk7Ci0KLQlCVUdfT04ob2xkX3R5cGUgPT0gbmV3X3R5cGUpOwotCi0JZm9yIChpID0gMDsgaSA8IGU4MjAubnJfbWFwOyBpKyspIHsKLQkJc3RydWN0IGU4MjBlbnRyeSAqZWkgPSAmZTgyMC5tYXBbaV07Ci0JCXU2NCBmaW5hbF9zdGFydCwgZmluYWxfZW5kOwotCQlpZiAoZWktPnR5cGUgIT0gb2xkX3R5cGUpCi0JCQljb250aW51ZTsKLQkJLyogdG90YWxseSBjb3ZlcmVkPyAqLwotCQlpZiAoZWktPmFkZHIgPj0gc3RhcnQgJiYgZWktPnNpemUgPD0gc2l6ZSkgewotCQkJZWktPnR5cGUgPSBuZXdfdHlwZTsKLQkJCWNvbnRpbnVlOwotCQl9Ci0JCS8qIHBhcnRpYWxseSBjb3ZlcmVkICovCi0JCWZpbmFsX3N0YXJ0ID0gbWF4KHN0YXJ0LCBlaS0+YWRkcik7Ci0JCWZpbmFsX2VuZCA9IG1pbihzdGFydCArIHNpemUsIGVpLT5hZGRyICsgZWktPnNpemUpOwotCQlpZiAoZmluYWxfc3RhcnQgPj0gZmluYWxfZW5kKQotCQkJY29udGludWU7Ci0JCWFkZF9tZW1vcnlfcmVnaW9uKGZpbmFsX3N0YXJ0LCBmaW5hbF9lbmQgLSBmaW5hbF9zdGFydCwKLQkJCQkJIG5ld190eXBlKTsKLQl9Ci19Ci0KLXZvaWQgX19pbml0IHVwZGF0ZV9lODIwKHZvaWQpCi17Ci0JdTggbnJfbWFwOwotCi0JbnJfbWFwID0gZTgyMC5ucl9tYXA7Ci0JaWYgKHNhbml0aXplX2U4MjBfbWFwKGU4MjAubWFwLCAmbnJfbWFwKSkKLQkJcmV0dXJuOwotCWU4MjAubnJfbWFwID0gbnJfbWFwOwotCXByaW50ayhLRVJOX0lORk8gIm1vZGlmaWVkIHBoeXNpY2FsIFJBTSBtYXA6XG4iKTsKLQllODIwX3ByaW50X21hcCgibW9kaWZpZWQiKTsKLX0KLQotdW5zaWduZWQgbG9uZyBwY2lfbWVtX3N0YXJ0ID0gMHhhZWVkYmFiZTsKLUVYUE9SVF9TWU1CT0wocGNpX21lbV9zdGFydCk7Ci0KLS8qCi0gKiBTZWFyY2ggZm9yIHRoZSBiaWdnZXN0IGdhcCBpbiB0aGUgbG93IDMyIGJpdHMgb2YgdGhlIGU4MjAKLSAqIG1lbW9yeSBzcGFjZS4gIFdlIHBhc3MgdGhpcyBzcGFjZSB0byBQQ0kgdG8gYXNzaWduIE1NSU8gcmVzb3VyY2VzCi0gKiBmb3IgaG90cGx1ZyBvciB1bmNvbmZpZ3VyZWQgZGV2aWNlcyBpbi4KLSAqIEhvcGVmdWxseSB0aGUgQklPUyBsZXQgZW5vdWdoIHNwYWNlIGxlZnQuCi0gKi8KLV9faW5pdCB2b2lkIGU4MjBfc2V0dXBfZ2FwKHZvaWQpCi17Ci0JdW5zaWduZWQgbG9uZyBnYXBzdGFydCwgZ2Fwc2l6ZSwgcm91bmQ7Ci0JdW5zaWduZWQgbG9uZyBsYXN0OwotCWludCBpOwotCWludCBmb3VuZCA9IDA7Ci0KLQlsYXN0ID0gMHgxMDAwMDAwMDB1bGw7Ci0JZ2Fwc3RhcnQgPSAweDEwMDAwMDAwOwotCWdhcHNpemUgPSAweDQwMDAwMDsKLQlpID0gZTgyMC5ucl9tYXA7Ci0Jd2hpbGUgKC0taSA+PSAwKSB7Ci0JCXVuc2lnbmVkIGxvbmcgbG9uZyBzdGFydCA9IGU4MjAubWFwW2ldLmFkZHI7Ci0JCXVuc2lnbmVkIGxvbmcgbG9uZyBlbmQgPSBzdGFydCArIGU4MjAubWFwW2ldLnNpemU7Ci0KLQkJLyoKLQkJICogU2luY2UgImxhc3QiIGlzIGF0IG1vc3QgNEdCLCB3ZSBrbm93IHdlJ2xsCi0JCSAqIGZpdCBpbiAzMiBiaXRzIGlmIHRoaXMgY29uZGl0aW9uIGlzIHRydWUKLQkJICovCi0JCWlmIChsYXN0ID4gZW5kKSB7Ci0JCQl1bnNpZ25lZCBsb25nIGdhcCA9IGxhc3QgLSBlbmQ7Ci0KLQkJCWlmIChnYXAgPiBnYXBzaXplKSB7Ci0JCQkJZ2Fwc2l6ZSA9IGdhcDsKLQkJCQlnYXBzdGFydCA9IGVuZDsKLQkJCQlmb3VuZCA9IDE7Ci0JCQl9Ci0JCX0KLQkJaWYgKHN0YXJ0IDwgbGFzdCkKLQkJCWxhc3QgPSBzdGFydDsKLQl9Ci0KLQlpZiAoIWZvdW5kKSB7Ci0JCWdhcHN0YXJ0ID0gKGVuZF9wZm4gPDwgUEFHRV9TSElGVCkgKyAxMDI0KjEwMjQ7Ci0JCXByaW50ayhLRVJOX0VSUiAiUENJOiBXYXJuaW5nOiBDYW5ub3QgZmluZCBhIGdhcCBpbiB0aGUgMzJiaXQgIgotCQkgICAgICAgImFkZHJlc3MgcmFuZ2VcbiIKLQkJICAgICAgIEtFUk5fRVJSICJQQ0k6IFVuYXNzaWduZWQgZGV2aWNlcyB3aXRoIDMyYml0IHJlc291cmNlICIKLQkJICAgICAgICJyZWdpc3RlcnMgbWF5IGJyZWFrIVxuIik7Ci0JfQotCi0JLyoKLQkgKiBTZWUgaG93IG11Y2ggd2Ugd2FudCB0byByb3VuZCB1cDogc3RhcnQgb2ZmIHdpdGgKLQkgKiByb3VuZGluZyB0byB0aGUgbmV4dCAxTUIgYXJlYS4KLQkgKi8KLQlyb3VuZCA9IDB4MTAwMDAwOwotCXdoaWxlICgoZ2Fwc2l6ZSA+PiA0KSA+IHJvdW5kKQotCQlyb3VuZCArPSByb3VuZDsKLQkvKiBGdW4gd2l0aCB0d28ncyBjb21wbGVtZW50ICovCi0JcGNpX21lbV9zdGFydCA9IChnYXBzdGFydCArIHJvdW5kKSAmIC1yb3VuZDsKLQotCXByaW50ayhLRVJOX0lORk8KLQkgICAgICAgIkFsbG9jYXRpbmcgUENJIHJlc291cmNlcyBzdGFydGluZyBhdCAlbHggKGdhcDogJWx4OiVseClcbiIsCi0JICAgICAgIHBjaV9tZW1fc3RhcnQsIGdhcHN0YXJ0LCBnYXBzaXplKTsKLX0KLQotaW50IF9faW5pdCBhcmNoX2dldF9yYW1fcmFuZ2UoaW50IHNsb3QsIHU2NCAqYWRkciwgdTY0ICpzaXplKQotewotCWludCBpOwotCi0JaWYgKHNsb3QgPCAwIHx8IHNsb3QgPj0gZTgyMC5ucl9tYXApCi0JCXJldHVybiAtMTsKLQlmb3IgKGkgPSBzbG90OyBpIDwgZTgyMC5ucl9tYXA7IGkrKykgewotCQlpZiAoZTgyMC5tYXBbaV0udHlwZSAhPSBFODIwX1JBTSkKLQkJCWNvbnRpbnVlOwotCQlicmVhazsKLQl9Ci0JaWYgKGkgPT0gZTgyMC5ucl9tYXAgfHwgZTgyMC5tYXBbaV0uYWRkciA+IChtYXhfcGZuIDw8IFBBR0VfU0hJRlQpKQotCQlyZXR1cm4gLTE7Ci0JKmFkZHIgPSBlODIwLm1hcFtpXS5hZGRyOwotCSpzaXplID0gbWluX3QodTY0LCBlODIwLm1hcFtpXS5zaXplICsgZTgyMC5tYXBbaV0uYWRkciwKLQkJbWF4X3BmbiA8PCBQQUdFX1NISUZUKSAtICphZGRyOwotCXJldHVybiBpICsgMTsKLX0KZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9lYXJseS1xdWlya3MuYyBiL2FyY2gveDg2L2tlcm5lbC9lYXJseS1xdWlya3MuYwppbmRleCA5ZjUxZTFlLi5hNDY2NWYzIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvZWFybHktcXVpcmtzLmMKKysrIGIvYXJjaC94ODYva2VybmVsL2Vhcmx5LXF1aXJrcy5jCkBAIC01MCw3ICs1MCw3IEBACiBzdGF0aWMgdm9pZCBfX2luaXQgdmlhX2J1Z3MoaW50ICBudW0sIGludCBzbG90LCBpbnQgZnVuYykKIHsKICNpZmRlZiBDT05GSUdfR0FSVF9JT01NVQotCWlmICgoZW5kX3BmbiA+IE1BWF9ETUEzMl9QRk4gfHwgIGZvcmNlX2lvbW11KSAmJgorCWlmICgobWF4X3BmbiA+IE1BWF9ETUEzMl9QRk4gfHwgIGZvcmNlX2lvbW11KSAmJgogCSAgICAhZ2FydF9pb21tdV9hcGVydHVyZV9hbGxvd2VkKSB7CiAJCXByaW50ayhLRVJOX0lORk8KIAkJICAgICAgICJMb29rcyBsaWtlIGEgVklBIGNoaXBzZXQuIERpc2FibGluZyBJT01NVS4iCkBAIC05OCwxNyArOTgsNiBAQAogCiB9CiAKLXN0YXRpYyB2b2lkIF9faW5pdCBhdGlfYnVncyhpbnQgbnVtLCBpbnQgc2xvdCwgaW50IGZ1bmMpCi17Ci0jaWZkZWYgQ09ORklHX1g4Nl9JT19BUElDCi0JaWYgKHRpbWVyX292ZXJfODI1NCA9PSAxKSB7Ci0JCXRpbWVyX292ZXJfODI1NCA9IDA7Ci0JCXByaW50ayhLRVJOX0lORk8KLQkJIkFUSSBib2FyZCBkZXRlY3RlZC4gRGlzYWJsaW5nIHRpbWVyIHJvdXRpbmcgb3ZlciA4MjU0LlxuIik7Ci0JfQotI2VuZGlmCi19Ci0KICNkZWZpbmUgUUZMQUdfQVBQTFlfT05DRSAJMHgxCiAjZGVmaW5lIFFGTEFHX0FQUExJRUQJCTB4MgogI2RlZmluZSBRRkxBR19ET05FCQkoUUZMQUdfQVBQTFlfT05DRXxRRkxBR19BUFBMSUVEKQpAQCAtMTI2LDggKzExNSw2IEBACiAJICBQQ0lfQ0xBU1NfQlJJREdFX1BDSSwgUENJX0FOWV9JRCwgUUZMQUdfQVBQTFlfT05DRSwgbnZpZGlhX2J1Z3MgfSwKIAl7IFBDSV9WRU5ET1JfSURfVklBLCBQQ0lfQU5ZX0lELAogCSAgUENJX0NMQVNTX0JSSURHRV9QQ0ksIFBDSV9BTllfSUQsIFFGTEFHX0FQUExZX09OQ0UsIHZpYV9idWdzIH0sCi0JeyBQQ0lfVkVORE9SX0lEX0FUSSwgUENJX0FOWV9JRCwKLQkgIFBDSV9DTEFTU19CUklER0VfUENJLCBQQ0lfQU5ZX0lELCBRRkxBR19BUFBMWV9PTkNFLCBhdGlfYnVncyB9LAogCXsgUENJX1ZFTkRPUl9JRF9BTUQsIFBDSV9ERVZJQ0VfSURfQU1EX0s4X05CLAogCSAgUENJX0NMQVNTX0JSSURHRV9IT1NULCBQQ0lfQU5ZX0lELCAwLCBmaXhfaHlwZXJ0cmFuc3BvcnRfY29uZmlnIH0sCiAJe30KZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9lYXJseV9wcmludGsuYyBiL2FyY2gveDg2L2tlcm5lbC9lYXJseV9wcmludGsuYwppbmRleCA2NDNmZDg2Li5mZjllNzM1IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvZWFybHlfcHJpbnRrLmMKKysrIGIvYXJjaC94ODYva2VybmVsL2Vhcmx5X3ByaW50ay5jCkBAIC0xOTYsNyArMTk2LDcgQEAKIHN0YXRpYyBzdHJ1Y3QgY29uc29sZSAqZWFybHlfY29uc29sZSA9ICZlYXJseV92Z2FfY29uc29sZTsKIHN0YXRpYyBpbnQgZWFybHlfY29uc29sZV9pbml0aWFsaXplZDsKIAotdm9pZCBlYXJseV9wcmludGsoY29uc3QgY2hhciAqZm10LCAuLi4pCithc21saW5rYWdlIHZvaWQgZWFybHlfcHJpbnRrKGNvbnN0IGNoYXIgKmZtdCwgLi4uKQogewogCWNoYXIgYnVmWzUxMl07CiAJaW50IG47CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvZWZpLmMgYi9hcmNoL3g4Ni9rZXJuZWwvZWZpLmMKaW5kZXggNzdkNDI0Yy4uMDZjYzhkNCAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL2VmaS5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9lZmkuYwpAQCAtNjQsNiArNjQsMTcgQEAKIH0KIGVhcmx5X3BhcmFtKCJub2VmaSIsIHNldHVwX25vZWZpKTsKIAoraW50IGFkZF9lZmlfbWVtbWFwOworRVhQT1JUX1NZTUJPTChhZGRfZWZpX21lbW1hcCk7CisKK3N0YXRpYyBpbnQgX19pbml0IHNldHVwX2FkZF9lZmlfbWVtbWFwKGNoYXIgKmFyZykKK3sKKwlhZGRfZWZpX21lbW1hcCA9IDE7CisJcmV0dXJuIDA7Cit9CitlYXJseV9wYXJhbSgiYWRkX2VmaV9tZW1tYXAiLCBzZXR1cF9hZGRfZWZpX21lbW1hcCk7CisKKwogc3RhdGljIGVmaV9zdGF0dXNfdCB2aXJ0X2VmaV9nZXRfdGltZShlZmlfdGltZV90ICp0bSwgZWZpX3RpbWVfY2FwX3QgKnRjKQogewogCXJldHVybiBlZmlfY2FsbF92aXJ0MihnZXRfdGltZSwgdG0sIHRjKTsKQEAgLTIxMyw2ICsyMjQsNTAgQEAKIAkJICAgICAgZWZ0Lm1pbnV0ZSwgZWZ0LnNlY29uZCk7CiB9CiAKKy8qCisgKiBUZWxsIHRoZSBrZXJuZWwgYWJvdXQgdGhlIEVGSSBtZW1vcnkgbWFwLiAgVGhpcyBtaWdodCBpbmNsdWRlCisgKiBtb3JlIHRoYW4gdGhlIG1heCAxMjggZW50cmllcyB0aGF0IGNhbiBmaXQgaW4gdGhlIGU4MjAgbGVnYWN5CisgKiAoemVyb3BhZ2UpIG1lbW9yeSBtYXAuCisgKi8KKworc3RhdGljIHZvaWQgX19pbml0IGRvX2FkZF9lZmlfbWVtbWFwKHZvaWQpCit7CisJdm9pZCAqcDsKKworCWZvciAocCA9IG1lbW1hcC5tYXA7IHAgPCBtZW1tYXAubWFwX2VuZDsgcCArPSBtZW1tYXAuZGVzY19zaXplKSB7CisJCWVmaV9tZW1vcnlfZGVzY190ICptZCA9IHA7CisJCXVuc2lnbmVkIGxvbmcgbG9uZyBzdGFydCA9IG1kLT5waHlzX2FkZHI7CisJCXVuc2lnbmVkIGxvbmcgbG9uZyBzaXplID0gbWQtPm51bV9wYWdlcyA8PCBFRklfUEFHRV9TSElGVDsKKwkJaW50IGU4MjBfdHlwZTsKKworCQlpZiAobWQtPmF0dHJpYnV0ZSAmIEVGSV9NRU1PUllfV0IpCisJCQllODIwX3R5cGUgPSBFODIwX1JBTTsKKwkJZWxzZQorCQkJZTgyMF90eXBlID0gRTgyMF9SRVNFUlZFRDsKKwkJZTgyMF9hZGRfcmVnaW9uKHN0YXJ0LCBzaXplLCBlODIwX3R5cGUpOworCX0KKwlzYW5pdGl6ZV9lODIwX21hcChlODIwLm1hcCwgQVJSQVlfU0laRShlODIwLm1hcCksICZlODIwLm5yX21hcCk7Cit9CisKK3ZvaWQgX19pbml0IGVmaV9yZXNlcnZlX2Vhcmx5KHZvaWQpCit7CisJdW5zaWduZWQgbG9uZyBwbWFwOworCisjaWZkZWYgQ09ORklHX1g4Nl8zMgorCXBtYXAgPSBib290X3BhcmFtcy5lZmlfaW5mby5lZmlfbWVtbWFwOworI2Vsc2UKKwlwbWFwID0gKGJvb3RfcGFyYW1zLmVmaV9pbmZvLmVmaV9tZW1tYXAgfAorCQkoKF9fdTY0KWJvb3RfcGFyYW1zLmVmaV9pbmZvLmVmaV9tZW1tYXBfaGk8PDMyKSk7CisjZW5kaWYKKwltZW1tYXAucGh5c19tYXAgPSAodm9pZCAqKXBtYXA7CisJbWVtbWFwLm5yX21hcCA9IGJvb3RfcGFyYW1zLmVmaV9pbmZvLmVmaV9tZW1tYXBfc2l6ZSAvCisJCWJvb3RfcGFyYW1zLmVmaV9pbmZvLmVmaV9tZW1kZXNjX3NpemU7CisJbWVtbWFwLmRlc2NfdmVyc2lvbiA9IGJvb3RfcGFyYW1zLmVmaV9pbmZvLmVmaV9tZW1kZXNjX3ZlcnNpb247CisJbWVtbWFwLmRlc2Nfc2l6ZSA9IGJvb3RfcGFyYW1zLmVmaV9pbmZvLmVmaV9tZW1kZXNjX3NpemU7CisJcmVzZXJ2ZV9lYXJseShwbWFwLCBwbWFwICsgbWVtbWFwLm5yX21hcCAqIG1lbW1hcC5kZXNjX3NpemUsCisJCSAgICAgICJFRkkgbWVtbWFwIik7Cit9CisKICNpZiBFRklfREVCVUcKIHN0YXRpYyB2b2lkIF9faW5pdCBwcmludF9lZmlfbWVtbWFwKHZvaWQpCiB7CkBAIC0yNDQsMTkgKzI5OSwxMSBAQAogCiAjaWZkZWYgQ09ORklHX1g4Nl8zMgogCWVmaV9waHlzLnN5c3RhYiA9IChlZmlfc3lzdGVtX3RhYmxlX3QgKilib290X3BhcmFtcy5lZmlfaW5mby5lZmlfc3lzdGFiOwotCW1lbW1hcC5waHlzX21hcCA9ICh2b2lkICopYm9vdF9wYXJhbXMuZWZpX2luZm8uZWZpX21lbW1hcDsKICNlbHNlCiAJZWZpX3BoeXMuc3lzdGFiID0gKGVmaV9zeXN0ZW1fdGFibGVfdCAqKQogCQkoYm9vdF9wYXJhbXMuZWZpX2luZm8uZWZpX3N5c3RhYiB8CiAJCSAoKF9fdTY0KWJvb3RfcGFyYW1zLmVmaV9pbmZvLmVmaV9zeXN0YWJfaGk8PDMyKSk7Ci0JbWVtbWFwLnBoeXNfbWFwID0gKHZvaWQgKikKLQkJKGJvb3RfcGFyYW1zLmVmaV9pbmZvLmVmaV9tZW1tYXAgfAotCQkgKChfX3U2NClib290X3BhcmFtcy5lZmlfaW5mby5lZmlfbWVtbWFwX2hpPDwzMikpOwogI2VuZGlmCi0JbWVtbWFwLm5yX21hcCA9IGJvb3RfcGFyYW1zLmVmaV9pbmZvLmVmaV9tZW1tYXBfc2l6ZSAvCi0JCWJvb3RfcGFyYW1zLmVmaV9pbmZvLmVmaV9tZW1kZXNjX3NpemU7Ci0JbWVtbWFwLmRlc2NfdmVyc2lvbiA9IGJvb3RfcGFyYW1zLmVmaV9pbmZvLmVmaV9tZW1kZXNjX3ZlcnNpb247Ci0JbWVtbWFwLmRlc2Nfc2l6ZSA9IGJvb3RfcGFyYW1zLmVmaV9pbmZvLmVmaV9tZW1kZXNjX3NpemU7CiAKIAllZmkuc3lzdGFiID0gZWFybHlfaW9yZW1hcCgodW5zaWduZWQgbG9uZyllZmlfcGh5cy5zeXN0YWIsCiAJCQkJICAgc2l6ZW9mKGVmaV9zeXN0ZW1fdGFibGVfdCkpOwpAQCAtMzcwLDYgKzQxNyw4IEBACiAJaWYgKG1lbW1hcC5kZXNjX3NpemUgIT0gc2l6ZW9mKGVmaV9tZW1vcnlfZGVzY190KSkKIAkJcHJpbnRrKEtFUk5fV0FSTklORyAiS2VybmVsLWRlZmluZWQgbWVtZGVzYyIKIAkJICAgICAgICJkb2Vzbid0IG1hdGNoIHRoZSBvbmUgZnJvbSBFRkkhXG4iKTsKKwlpZiAoYWRkX2VmaV9tZW1tYXApCisJCWRvX2FkZF9lZmlfbWVtbWFwKCk7CiAKIAkvKiBTZXR1cCBmb3IgRUZJIHJ1bnRpbWUgc2VydmljZSAqLwogCXJlYm9vdF90eXBlID0gQk9PVF9FRkk7CkBAIC00MjQsNyArNDczLDcgQEAKIAkJc2l6ZSA9IG1kLT5udW1fcGFnZXMgPDwgRUZJX1BBR0VfU0hJRlQ7CiAJCWVuZCA9IG1kLT5waHlzX2FkZHIgKyBzaXplOwogCi0JCWlmIChQRk5fVVAoZW5kKSA8PSBtYXhfcGZuX21hcHBlZCkKKwkJaWYgKFBGTl9VUChlbmQpIDw9IG1heF9sb3dfcGZuX21hcHBlZCkKIAkJCXZhID0gX192YShtZC0+cGh5c19hZGRyKTsKIAkJZWxzZQogCQkJdmEgPSBlZmlfaW9yZW1hcChtZC0+cGh5c19hZGRyLCBzaXplKTsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9lZmlfNjQuYyBiL2FyY2gveDg2L2tlcm5lbC9lZmlfNjQuYwppbmRleCBkMDA2MGZkLi42NTJjNTI4IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvZWZpXzY0LmMKKysrIGIvYXJjaC94ODYva2VybmVsL2VmaV82NC5jCkBAIC05NywxMyArOTcsNyBAQAogCWVhcmx5X3J1bnRpbWVfY29kZV9tYXBwaW5nX3NldF9leGVjKDApOwogfQogCi12b2lkIF9faW5pdCBlZmlfcmVzZXJ2ZV9ib290bWVtKHZvaWQpCi17Ci0JcmVzZXJ2ZV9ib290bWVtX2dlbmVyaWMoKHVuc2lnbmVkIGxvbmcpbWVtbWFwLnBoeXNfbWFwLAotCQkJCW1lbW1hcC5ucl9tYXAgKiBtZW1tYXAuZGVzY19zaXplKTsKLX0KLQotdm9pZCBfX2lvbWVtICogX19pbml0IGVmaV9pb3JlbWFwKHVuc2lnbmVkIGxvbmcgcGh5c19hZGRyLCB1bnNpZ25lZCBsb25nIHNpemUpCit2b2lkIF9faW9tZW0gKl9faW5pdCBlZmlfaW9yZW1hcCh1bnNpZ25lZCBsb25nIHBoeXNfYWRkciwgdW5zaWduZWQgbG9uZyBzaXplKQogewogCXN0YXRpYyB1bnNpZ25lZCBwYWdlc19tYXBwZWQgX19pbml0ZGF0YTsKIAl1bnNpZ25lZCBpLCBwYWdlczsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9lbnRyeV8zMi5TIGIvYXJjaC94ODYva2VybmVsL2VudHJ5XzMyLlMKaW5kZXggYzc3OGU0Zi4uNmJjMDdmMCAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL2VudHJ5XzMyLlMKKysrIGIvYXJjaC94ODYva2VybmVsL2VudHJ5XzMyLlMKQEAgLTUxLDE0ICs1MSwxNSBAQAogI2luY2x1ZGUgPGFzbS9wZXJjcHUuaD4KICNpbmNsdWRlIDxhc20vZHdhcmYyLmg+CiAjaW5jbHVkZSA8YXNtL3Byb2Nlc3Nvci1mbGFncy5oPgotI2luY2x1ZGUgImlycV92ZWN0b3JzLmgiCisjaW5jbHVkZSA8YXNtL2Z0cmFjZS5oPgorI2luY2x1ZGUgPGFzbS9pcnFfdmVjdG9ycy5oPgogCiAvKgogICogV2UgdXNlIG1hY3JvcyBmb3IgbG93LWxldmVsIG9wZXJhdGlvbnMgd2hpY2ggbmVlZCB0byBiZSBvdmVycmlkZGVuCiAgKiBmb3IgcGFyYXZpcnR1YWxpemF0aW9uLiAgVGhlIGZvbGxvd2luZyB3aWxsIG5ldmVyIGNsb2JiZXIgYW55IHJlZ2lzdGVyczoKICAqICAgSU5URVJSVVBUX1JFVFVSTiAoYWthLiAiaXJldCIpCiAgKiAgIEdFVF9DUjBfSU5UT19FQVggKGFrYS4gIm1vdmwgJWNyMCwgJWVheCIpCi0gKiAgIEVOQUJMRV9JTlRFUlJVUFRTX1NZU0NBTExfUkVUIChha2EgInN0aTsgc3lzZXhpdCIpLgorICogICBFTkFCTEVfSU5URVJSVVBUU19TWVNFWElUIChha2EgInN0aTsgc3lzZXhpdCIpLgogICoKICAqIEZvciBESVNBQkxFX0lOVEVSUlVQVFMvRU5BQkxFX0lOVEVSUlVQVFMgKGFrYSAiY2xpIi8ic3RpIiksIHlvdSBtdXN0CiAgKiBzcGVjaWZ5IHdoYXQgcmVnaXN0ZXJzIGNhbiBiZSBvdmVyd3JpdHRlbiAoQ0xCUl9OT05FLCBDTEJSX0VBWC9FRFgvRUNYL0FOWSkuCkBAIC0zNDksNyArMzUwLDcgQEAKIAl4b3JsICVlYnAsJWVicAogCVRSQUNFX0lSUVNfT04KIDE6CW1vdiAgUFRfRlMoJWVzcCksICVmcwotCUVOQUJMRV9JTlRFUlJVUFRTX1NZU0NBTExfUkVUCisJRU5BQkxFX0lOVEVSUlVQVFNfU1lTRVhJVAogCUNGSV9FTkRQUk9DCiAucHVzaHNlY3Rpb24gLmZpeHVwLCJheCIKIDI6CW1vdmwgJDAsUFRfRlMoJWVzcCkKQEAgLTg3NCwxMCArODc1LDEwIEBACiAucHJldmlvdXMKIEVORChuYXRpdmVfaXJldCkKIAotRU5UUlkobmF0aXZlX2lycV9lbmFibGVfc3lzY2FsbF9yZXQpCitFTlRSWShuYXRpdmVfaXJxX2VuYWJsZV9zeXNleGl0KQogCXN0aQogCXN5c2V4aXQKLUVORChuYXRpdmVfaXJxX2VuYWJsZV9zeXNjYWxsX3JldCkKK0VORChuYXRpdmVfaXJxX2VuYWJsZV9zeXNleGl0KQogI2VuZGlmCiAKIEtQUk9CRV9FTlRSWShpbnQzKQpAQCAtMTAyNCw2ICsxMDI1LDcgQEAKIAlSSU5HMF9JTlRfRlJBTUUKIAlhZGRsICQ1KjQsICVlc3AJCS8qIHJlbW92ZSB4ZW4tcHJvdmlkZWQgZnJhbWUgKi8KIAlqbXAgc3lzZW50ZXJfcGFzdF9lc3AKKwlDRklfRU5EUFJPQwogCiBFTlRSWSh4ZW5faHlwZXJ2aXNvcl9jYWxsYmFjaykKIAlDRklfU1RBUlRQUk9DCkBAIC0xMTEwLDYgKzExMTIsNzcgQEAKIAogI2VuZGlmCS8qIENPTkZJR19YRU4gKi8KIAorI2lmZGVmIENPTkZJR19GVFJBQ0UKKyNpZmRlZiBDT05GSUdfRFlOQU1JQ19GVFJBQ0UKKworRU5UUlkobWNvdW50KQorCXB1c2hsICVlYXgKKwlwdXNobCAlZWN4CisJcHVzaGwgJWVkeAorCW1vdmwgMHhjKCVlc3ApLCAlZWF4CisJc3VibCAkTUNPVU5UX0lOU05fU0laRSwgJWVheAorCisuZ2xvYmwgbWNvdW50X2NhbGwKK21jb3VudF9jYWxsOgorCWNhbGwgZnRyYWNlX3N0dWIKKworCXBvcGwgJWVkeAorCXBvcGwgJWVjeAorCXBvcGwgJWVheAorCisJcmV0CitFTkQobWNvdW50KQorCitFTlRSWShmdHJhY2VfY2FsbGVyKQorCXB1c2hsICVlYXgKKwlwdXNobCAlZWN4CisJcHVzaGwgJWVkeAorCW1vdmwgMHhjKCVlc3ApLCAlZWF4CisJbW92bCAweDQoJWVicCksICVlZHgKKwlzdWJsICRNQ09VTlRfSU5TTl9TSVpFLCAlZWF4CisKKy5nbG9ibCBmdHJhY2VfY2FsbAorZnRyYWNlX2NhbGw6CisJY2FsbCBmdHJhY2Vfc3R1YgorCisJcG9wbCAlZWR4CisJcG9wbCAlZWN4CisJcG9wbCAlZWF4CisKKy5nbG9ibCBmdHJhY2Vfc3R1YgorZnRyYWNlX3N0dWI6CisJcmV0CitFTkQoZnRyYWNlX2NhbGxlcikKKworI2Vsc2UgLyogISBDT05GSUdfRFlOQU1JQ19GVFJBQ0UgKi8KKworRU5UUlkobWNvdW50KQorCWNtcGwgJGZ0cmFjZV9zdHViLCBmdHJhY2VfdHJhY2VfZnVuY3Rpb24KKwlqbnogdHJhY2UKKy5nbG9ibCBmdHJhY2Vfc3R1YgorZnRyYWNlX3N0dWI6CisJcmV0CisKKwkvKiB0YWtlbiBmcm9tIGdsaWJjICovCit0cmFjZToKKwlwdXNobCAlZWF4CisJcHVzaGwgJWVjeAorCXB1c2hsICVlZHgKKwltb3ZsIDB4YyglZXNwKSwgJWVheAorCW1vdmwgMHg0KCVlYnApLCAlZWR4CisJc3VibCAkTUNPVU5UX0lOU05fU0laRSwgJWVheAorCisJY2FsbCAqZnRyYWNlX3RyYWNlX2Z1bmN0aW9uCisKKwlwb3BsICVlZHgKKwlwb3BsICVlY3gKKwlwb3BsICVlYXgKKworCWptcCBmdHJhY2Vfc3R1YgorRU5EKG1jb3VudCkKKyNlbmRpZiAvKiBDT05GSUdfRFlOQU1JQ19GVFJBQ0UgKi8KKyNlbmRpZiAvKiBDT05GSUdfRlRSQUNFICovCisKIC5zZWN0aW9uIC5yb2RhdGEsImEiCiAjaW5jbHVkZSAic3lzY2FsbF90YWJsZV8zMi5TIgogCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvZW50cnlfNjQuUyBiL2FyY2gveDg2L2tlcm5lbC9lbnRyeV82NC5TCmluZGV4IDU1NmE4ZGYuLmJhNDFiZjQgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9lbnRyeV82NC5TCisrKyBiL2FyY2gveDg2L2tlcm5lbC9lbnRyeV82NC5TCkBAIC01MSwxNiArNTEsMTIxIEBACiAjaW5jbHVkZSA8YXNtL3BhZ2UuaD4KICNpbmNsdWRlIDxhc20vaXJxZmxhZ3MuaD4KICNpbmNsdWRlIDxhc20vcGFyYXZpcnQuaD4KKyNpbmNsdWRlIDxhc20vZnRyYWNlLmg+CiAKIAkuY29kZTY0CiAKKyNpZmRlZiBDT05GSUdfRlRSQUNFCisjaWZkZWYgQ09ORklHX0RZTkFNSUNfRlRSQUNFCitFTlRSWShtY291bnQpCisKKwlzdWJxICQweDM4LCAlcnNwCisJbW92cSAlcmF4LCAoJXJzcCkKKwltb3ZxICVyY3gsIDgoJXJzcCkKKwltb3ZxICVyZHgsIDE2KCVyc3ApCisJbW92cSAlcnNpLCAyNCglcnNwKQorCW1vdnEgJXJkaSwgMzIoJXJzcCkKKwltb3ZxICVyOCwgNDAoJXJzcCkKKwltb3ZxICVyOSwgNDgoJXJzcCkKKworCW1vdnEgMHgzOCglcnNwKSwgJXJkaQorCXN1YnEgJE1DT1VOVF9JTlNOX1NJWkUsICVyZGkKKworLmdsb2JsIG1jb3VudF9jYWxsCittY291bnRfY2FsbDoKKwljYWxsIGZ0cmFjZV9zdHViCisKKwltb3ZxIDQ4KCVyc3ApLCAlcjkKKwltb3ZxIDQwKCVyc3ApLCAlcjgKKwltb3ZxIDMyKCVyc3ApLCAlcmRpCisJbW92cSAyNCglcnNwKSwgJXJzaQorCW1vdnEgMTYoJXJzcCksICVyZHgKKwltb3ZxIDgoJXJzcCksICVyY3gKKwltb3ZxICglcnNwKSwgJXJheAorCWFkZHEgJDB4MzgsICVyc3AKKworCXJldHEKK0VORChtY291bnQpCisKK0VOVFJZKGZ0cmFjZV9jYWxsZXIpCisKKwkvKiB0YWtlbiBmcm9tIGdsaWJjICovCisJc3VicSAkMHgzOCwgJXJzcAorCW1vdnEgJXJheCwgKCVyc3ApCisJbW92cSAlcmN4LCA4KCVyc3ApCisJbW92cSAlcmR4LCAxNiglcnNwKQorCW1vdnEgJXJzaSwgMjQoJXJzcCkKKwltb3ZxICVyZGksIDMyKCVyc3ApCisJbW92cSAlcjgsIDQwKCVyc3ApCisJbW92cSAlcjksIDQ4KCVyc3ApCisKKwltb3ZxIDB4MzgoJXJzcCksICVyZGkKKwltb3ZxIDgoJXJicCksICVyc2kKKwlzdWJxICRNQ09VTlRfSU5TTl9TSVpFLCAlcmRpCisKKy5nbG9ibCBmdHJhY2VfY2FsbAorZnRyYWNlX2NhbGw6CisJY2FsbCBmdHJhY2Vfc3R1YgorCisJbW92cSA0OCglcnNwKSwgJXI5CisJbW92cSA0MCglcnNwKSwgJXI4CisJbW92cSAzMiglcnNwKSwgJXJkaQorCW1vdnEgMjQoJXJzcCksICVyc2kKKwltb3ZxIDE2KCVyc3ApLCAlcmR4CisJbW92cSA4KCVyc3ApLCAlcmN4CisJbW92cSAoJXJzcCksICVyYXgKKwlhZGRxICQweDM4LCAlcnNwCisKKy5nbG9ibCBmdHJhY2Vfc3R1YgorZnRyYWNlX3N0dWI6CisJcmV0cQorRU5EKGZ0cmFjZV9jYWxsZXIpCisKKyNlbHNlIC8qICEgQ09ORklHX0RZTkFNSUNfRlRSQUNFICovCitFTlRSWShtY291bnQpCisJY21wcSAkZnRyYWNlX3N0dWIsIGZ0cmFjZV90cmFjZV9mdW5jdGlvbgorCWpueiB0cmFjZQorLmdsb2JsIGZ0cmFjZV9zdHViCitmdHJhY2Vfc3R1YjoKKwlyZXRxCisKK3RyYWNlOgorCS8qIHRha2VuIGZyb20gZ2xpYmMgKi8KKwlzdWJxICQweDM4LCAlcnNwCisJbW92cSAlcmF4LCAoJXJzcCkKKwltb3ZxICVyY3gsIDgoJXJzcCkKKwltb3ZxICVyZHgsIDE2KCVyc3ApCisJbW92cSAlcnNpLCAyNCglcnNwKQorCW1vdnEgJXJkaSwgMzIoJXJzcCkKKwltb3ZxICVyOCwgNDAoJXJzcCkKKwltb3ZxICVyOSwgNDgoJXJzcCkKKworCW1vdnEgMHgzOCglcnNwKSwgJXJkaQorCW1vdnEgOCglcmJwKSwgJXJzaQorCXN1YnEgJE1DT1VOVF9JTlNOX1NJWkUsICVyZGkKKworCWNhbGwgICAqZnRyYWNlX3RyYWNlX2Z1bmN0aW9uCisKKwltb3ZxIDQ4KCVyc3ApLCAlcjkKKwltb3ZxIDQwKCVyc3ApLCAlcjgKKwltb3ZxIDMyKCVyc3ApLCAlcmRpCisJbW92cSAyNCglcnNwKSwgJXJzaQorCW1vdnEgMTYoJXJzcCksICVyZHgKKwltb3ZxIDgoJXJzcCksICVyY3gKKwltb3ZxICglcnNwKSwgJXJheAorCWFkZHEgJDB4MzgsICVyc3AKKworCWptcCBmdHJhY2Vfc3R1YgorRU5EKG1jb3VudCkKKyNlbmRpZiAvKiBDT05GSUdfRFlOQU1JQ19GVFJBQ0UgKi8KKyNlbmRpZiAvKiBDT05GSUdfRlRSQUNFICovCisKICNpZm5kZWYgQ09ORklHX1BSRUVNUFQKICNkZWZpbmUgcmV0aW50X2tlcm5lbCByZXRpbnRfcmVzdG9yZV9hcmdzCiAjZW5kaWYJCiAKICNpZmRlZiBDT05GSUdfUEFSQVZJUlQKLUVOVFJZKG5hdGl2ZV9pcnFfZW5hYmxlX3N5c2NhbGxfcmV0KQotCW1vdnEJJWdzOnBkYV9vbGRyc3AsJXJzcAorRU5UUlkobmF0aXZlX3VzZXJnc19zeXNyZXQ2NCkKIAlzd2FwZ3MKIAlzeXNyZXRxCiAjZW5kaWYgLyogQ09ORklHX1BBUkFWSVJUICovCkBAIC0xMDQsNyArMjA5LDcgQEAKIAkubWFjcm8gRkFLRV9TVEFDS19GUkFNRSBjaGlsZF9yaXAKIAkvKiBwdXNoIGluIG9yZGVyIHNzLCByc3AsIGVmbGFncywgY3MsIHJpcCAqLwogCXhvcmwgJWVheCwgJWVheAotCXB1c2hxICVyYXggLyogc3MgKi8KKwlwdXNocSAkX19LRVJORUxfRFMgLyogc3MgKi8KIAlDRklfQURKVVNUX0NGQV9PRkZTRVQJOAogCS8qQ0ZJX1JFTF9PRkZTRVQJc3MsMCovCiAJcHVzaHEgJXJheCAvKiByc3AgKi8KQEAgLTE2OSwxMyArMjc0LDEzIEBACiAJQ0ZJX0FESlVTVF9DRkFfT0ZGU0VUIC00CiAJY2FsbCBzY2hlZHVsZV90YWlsCiAJR0VUX1RIUkVBRF9JTkZPKCVyY3gpCi0JdGVzdGwgJChfVElGX1NZU0NBTExfVFJBQ0V8X1RJRl9TWVNDQUxMX0FVRElUKSx0aHJlYWRpbmZvX2ZsYWdzKCVyY3gpCisJdGVzdGwgJChfVElGX1NZU0NBTExfVFJBQ0V8X1RJRl9TWVNDQUxMX0FVRElUKSxUSV9mbGFncyglcmN4KQogCWpueiByZmZfdHJhY2UKIHJmZl9hY3Rpb246CQogCVJFU1RPUkVfUkVTVAogCXRlc3RsICQzLENTLUFSR09GRlNFVCglcnNwKQkjIGZyb20ga2VybmVsX3RocmVhZD8KIAlqZSAgIGludF9yZXRfZnJvbV9zeXNfY2FsbAotCXRlc3RsICRfVElGX0lBMzIsdGhyZWFkaW5mb19mbGFncyglcmN4KQorCXRlc3RsICRfVElGX0lBMzIsVElfZmxhZ3MoJXJjeCkKIAlqbnogIGludF9yZXRfZnJvbV9zeXNfY2FsbAogCVJFU1RPUkVfVE9QX09GX1NUQUNLICVyZGksQVJHT0ZGU0VUCiAJam1wIHJldF9mcm9tX3N5c19jYWxsCkBAIC0yNDQsNyArMzQ5LDggQEAKIAltb3ZxICAlcmN4LFJJUC1BUkdPRkZTRVQoJXJzcCkKIAlDRklfUkVMX09GRlNFVCByaXAsUklQLUFSR09GRlNFVAogCUdFVF9USFJFQURfSU5GTyglcmN4KQotCXRlc3RsICQoX1RJRl9TWVNDQUxMX1RSQUNFfF9USUZfU1lTQ0FMTF9BVURJVHxfVElGX1NFQ0NPTVApLHRocmVhZGluZm9fZmxhZ3MoJXJjeCkKKwl0ZXN0bCAkKF9USUZfU1lTQ0FMTF9UUkFDRXxfVElGX1NZU0NBTExfQVVESVR8X1RJRl9TRUNDT01QKSwgXAorCQlUSV9mbGFncyglcmN4KQogCWpueiB0cmFjZXN5cwogCWNtcHEgJF9fTlJfc3lzY2FsbF9tYXgsJXJheAogCWphIGJhZHN5cwpAQCAtMjYzLDcgKzM2OSw3IEBACiAJR0VUX1RIUkVBRF9JTkZPKCVyY3gpCiAJRElTQUJMRV9JTlRFUlJVUFRTKENMQlJfTk9ORSkKIAlUUkFDRV9JUlFTX09GRgotCW1vdmwgdGhyZWFkaW5mb19mbGFncyglcmN4KSwlZWR4CisJbW92bCBUSV9mbGFncyglcmN4KSwlZWR4CiAJYW5kbCAlZWRpLCVlZHgKIAlqbnogIHN5c3JldF9jYXJlZnVsIAogCUNGSV9SRU1FTUJFUl9TVEFURQpAQCAtMjc1LDcgKzM4MSw4IEBACiAJQ0ZJX1JFR0lTVEVSCXJpcCxyY3gKIAlSRVNUT1JFX0FSR1MgMCwtQVJHX1NLSVAsMQogCS8qQ0ZJX1JFR0lTVEVSCXJmbGFncyxyMTEqLwotCUVOQUJMRV9JTlRFUlJVUFRTX1NZU0NBTExfUkVUCisJbW92cQklZ3M6cGRhX29sZHJzcCwgJXJzcAorCVVTRVJHU19TWVNSRVQ2NAogCiAJQ0ZJX1JFU1RPUkVfU1RBVEUKIAkvKiBIYW5kbGUgcmVzY2hlZHVsZXMgKi8KQEAgLTMwNSw3ICs0MTIsNyBAQAogCWxlYXEgLUFSR09GRlNFVCglcnNwKSwlcmRpICMgJnB0X3JlZ3MgLT4gYXJnMQogCXhvcmwgJWVzaSwlZXNpICMgb2xkc2V0IC0+IGFyZzIKIAljYWxsIHB0cmVnc2NhbGxfY29tbW9uCi0xOgltb3ZsICRfVElGX05FRURfUkVTQ0hFRCwlZWRpCisxOgltb3ZsICRfVElGX1dPUktfTUFTSywlZWRpCiAJLyogVXNlIElSRVQgYmVjYXVzZSB1c2VyIGNvdWxkIGhhdmUgY2hhbmdlZCBmcmFtZS4gVGhpcwogCSAgIHdvcmtzIGJlY2F1c2UgcHRyZWdzY2FsbF9jb21tb24gaGFzIGNhbGxlZCBGSVhVUF9UT1BfT0ZfU1RBQ0suICovCiAJRElTQUJMRV9JTlRFUlJVUFRTKENMQlJfTk9ORSkKQEAgLTM0NywxMCArNDU0LDEwIEBACiBpbnRfd2l0aF9jaGVjazoKIAlMT0NLREVQX1NZU19FWElUX0lSUQogCUdFVF9USFJFQURfSU5GTyglcmN4KQotCW1vdmwgdGhyZWFkaW5mb19mbGFncyglcmN4KSwlZWR4CisJbW92bCBUSV9mbGFncyglcmN4KSwlZWR4CiAJYW5kbCAlZWRpLCVlZHgKIAlqbnogICBpbnRfY2FyZWZ1bAotCWFuZGwgICAgJH5UU19DT01QQVQsdGhyZWFkaW5mb19zdGF0dXMoJXJjeCkKKwlhbmRsICAgICR+VFNfQ09NUEFULFRJX3N0YXR1cyglcmN4KQogCWptcCAgIHJldGludF9zd2FwZ3MKIAogCS8qIEVpdGhlciByZXNjaGVkdWxlIG9yIHNpZ25hbCBvciBzeXNjYWxsIGV4aXQgdHJhY2tpbmcgbmVlZGVkLiAqLwpAQCAtMzkzLDcgKzUwMCw3IEBACiAJbW92cSAlcnNwLCVyZGkJCSMgJnB0cmVncyAtPiBhcmcxCiAJeG9ybCAlZXNpLCVlc2kJCSMgb2xkc2V0IC0+IGFyZzIKIAljYWxsIGRvX25vdGlmeV9yZXN1bWUKLTE6CW1vdmwgJF9USUZfTkVFRF9SRVNDSEVELCVlZGkJCisxOgltb3ZsICRfVElGX1dPUktfTUFTSywlZWRpCiBpbnRfcmVzdG9yZV9yZXN0OgogCVJFU1RPUkVfUkVTVAogCURJU0FCTEVfSU5URVJSVVBUUyhDTEJSX05PTkUpCkBAIC00MjAsNyArNTI3LDYgQEAKIAlQVFJFR1NDQUxMIHN0dWJfY2xvbmUsIHN5c19jbG9uZSwgJXI4CiAJUFRSRUdTQ0FMTCBzdHViX2ZvcmssIHN5c19mb3JrLCAlcmRpCiAJUFRSRUdTQ0FMTCBzdHViX3Zmb3JrLCBzeXNfdmZvcmssICVyZGkKLQlQVFJFR1NDQUxMIHN0dWJfcnRfc2lnc3VzcGVuZCwgc3lzX3J0X3NpZ3N1c3BlbmQsICVyZHgKIAlQVFJFR1NDQUxMIHN0dWJfc2lnYWx0c3RhY2ssIHN5c19zaWdhbHRzdGFjaywgJXJkeAogCVBUUkVHU0NBTEwgc3R1Yl9pb3BsLCBzeXNfaW9wbCwgJXJzaQogCkBAIC01NTksNyArNjY1LDcgQEAKIAltb3ZsICRfVElGX1dPUktfTUFTSywlZWRpCiByZXRpbnRfY2hlY2s6CiAJTE9DS0RFUF9TWVNfRVhJVF9JUlEKLQltb3ZsIHRocmVhZGluZm9fZmxhZ3MoJXJjeCksJWVkeAorCW1vdmwgVElfZmxhZ3MoJXJjeCksJWVkeAogCWFuZGwgJWVkaSwlZWR4CiAJQ0ZJX1JFTUVNQkVSX1NUQVRFCiAJam56ICByZXRpbnRfY2FyZWZ1bApAQCAtNjQ3LDE3ICs3NTMsMTYgQEAKIAlSRVNUT1JFX1JFU1QKIAlESVNBQkxFX0lOVEVSUlVQVFMoQ0xCUl9OT05FKQogCVRSQUNFX0lSUVNfT0ZGCi0JbW92bCAkX1RJRl9ORUVEX1JFU0NIRUQsJWVkaQogCUdFVF9USFJFQURfSU5GTyglcmN4KQotCWptcCByZXRpbnRfY2hlY2sKKwlqbXAgcmV0aW50X3dpdGhfcmVzY2hlZHVsZQogCiAjaWZkZWYgQ09ORklHX1BSRUVNUFQKIAkvKiBSZXR1cm5pbmcgdG8ga2VybmVsIHNwYWNlLiBDaGVjayBpZiB3ZSBuZWVkIHByZWVtcHRpb24gKi8KIAkvKiByY3g6CSB0aHJlYWRpbmZvLiBpbnRlcnJ1cHRzIG9mZi4gKi8KIEVOVFJZKHJldGludF9rZXJuZWwpCi0JY21wbCAkMCx0aHJlYWRpbmZvX3ByZWVtcHRfY291bnQoJXJjeCkKKwljbXBsICQwLFRJX3ByZWVtcHRfY291bnQoJXJjeCkKIAlqbnogIHJldGludF9yZXN0b3JlX2FyZ3MKLQlidCAgJFRJRl9ORUVEX1JFU0NIRUQsdGhyZWFkaW5mb19mbGFncyglcmN4KQorCWJ0ICAkVElGX05FRURfUkVTQ0hFRCxUSV9mbGFncyglcmN4KQogCWpuYyAgcmV0aW50X3Jlc3RvcmVfYXJncwogCWJ0ICAgJDksRUZMQUdTLUFSR09GRlNFVCglcnNwKQkvKiBpbnRlcnJ1cHRzIG9mZj8gKi8KIAlqbmMgIHJldGludF9yZXN0b3JlX2FyZ3MKQEAgLTcyMCw2ICs4MjUsMTAgQEAKIAlhcGljaW50ZXJydXB0IExPQ0FMX1RJTUVSX1ZFQ1RPUixzbXBfYXBpY190aW1lcl9pbnRlcnJ1cHQKIEVORChhcGljX3RpbWVyX2ludGVycnVwdCkKIAorRU5UUlkodXZfYmF1X21lc3NhZ2VfaW50cjEpCisJYXBpY2ludGVycnVwdCAyMjAsdXZfYmF1X21lc3NhZ2VfaW50ZXJydXB0CitFTkQodXZfYmF1X21lc3NhZ2VfaW50cjEpCisKIEVOVFJZKGVycm9yX2ludGVycnVwdCkKIAlhcGljaW50ZXJydXB0IEVSUk9SX0FQSUNfVkVDVE9SLHNtcF9lcnJvcl9pbnRlcnJ1cHQKIEVORChlcnJvcl9pbnRlcnJ1cHQpCkBAIC03MzMsNiArODQyLDcgQEAKICAqLyAJCQogCS5tYWNybyB6ZXJvZW50cnkgc3ltCiAJSU5UUl9GUkFNRQorCVBBUkFWSVJUX0FESlVTVF9FWENFUFRJT05fRlJBTUUKIAlwdXNocSAkMAkvKiBwdXNoIGVycm9yIGNvZGUvb2xkcmF4ICovIAogCUNGSV9BREpVU1RfQ0ZBX09GRlNFVCA4CiAJcHVzaHEgJXJheAkvKiBwdXNoIHJlYWwgb2xkcmF4IHRvIHRoZSByZGkgc2xvdCAqLyAKQEAgLTc0NSw2ICs4NTUsNyBAQAogCiAJLm1hY3JvIGVycm9yZW50cnkgc3ltCiAJWENQVF9GUkFNRQorCVBBUkFWSVJUX0FESlVTVF9FWENFUFRJT05fRlJBTUUKIAlwdXNocSAlcmF4CiAJQ0ZJX0FESlVTVF9DRkFfT0ZGU0VUIDgKIAlDRklfUkVMX09GRlNFVCByYXgsMApAQCAtODE0LDcgKzkyNSw3IEBACiAJam1wIGlycV9yZXR1cm4KIHBhcmFub2lkX3VzZXJzcGFjZVx0cmFjZToKIAlHRVRfVEhSRUFEX0lORk8oJXJjeCkKLQltb3ZsIHRocmVhZGluZm9fZmxhZ3MoJXJjeCksJWVieAorCW1vdmwgVElfZmxhZ3MoJXJjeCksJWVieAogCWFuZGwgJF9USUZfV09SS19NQVNLLCVlYngKIAlqeiBwYXJhbm9pZF9zd2FwZ3NcdHJhY2UKIAltb3ZxICVyc3AsJXJkaQkJCS8qICZwdF9yZWdzICovCkBAIC05MTIsNyArMTAyMyw3IEBACiAJdGVzdGwgJWVheCwlZWF4CiAJam5lICByZXRpbnRfa2VybmVsCiAJTE9DS0RFUF9TWVNfRVhJVF9JUlEKLQltb3ZsICB0aHJlYWRpbmZvX2ZsYWdzKCVyY3gpLCVlZHgKKwltb3ZsICBUSV9mbGFncyglcmN4KSwlZWR4CiAJbW92bCAgJF9USUZfV09SS19NQVNLLCVlZGkKIAlhbmRsICAlZWRpLCVlZHgKIAlqbnogIHJldGludF9jYXJlZnVsCkBAIC05MjYsMTEgKzEwMzcsMTEgQEAKIAkgICBpcmV0IHJ1biB3aXRoIGtlcm5lbCBncyBhZ2Fpbiwgc28gZG9uJ3Qgc2V0IHRoZSB1c2VyIHNwYWNlIGZsYWcuCiAJICAgQiBzdGVwcGluZyBLOHMgc29tZXRpbWVzIHJlcG9ydCBhbiB0cnVuY2F0ZWQgUklQIGZvciBJUkVUIAogCSAgIGV4Y2VwdGlvbnMgcmV0dXJuaW5nIHRvIGNvbXBhdCBtb2RlLiBDaGVjayBmb3IgdGhlc2UgaGVyZSB0b28uICovCi0JbGVhcSBpcnFfcmV0dXJuKCVyaXApLCVyYnAKLQljbXBxICVyYnAsUklQKCVyc3ApIAorCWxlYXEgaXJxX3JldHVybiglcmlwKSwlcmN4CisJY21wcSAlcmN4LFJJUCglcnNwKQogCWplICAgZXJyb3Jfc3dhcGdzCi0JbW92bCAlZWJwLCVlYnAJLyogemVybyBleHRlbmQgKi8KLQljbXBxICVyYnAsUklQKCVyc3ApIAorCW1vdmwgJWVjeCwlZWN4CS8qIHplcm8gZXh0ZW5kICovCisJY21wcSAlcmN4LFJJUCglcnNwKQogCWplICAgZXJyb3Jfc3dhcGdzCiAJY21wcSAkZ3NfY2hhbmdlLFJJUCglcnNwKQogICAgICAgICBqZSAgIGVycm9yX3N3YXBncwpAQCAtOTM5LDcgKzEwNTAsNyBAQAogCQogICAgICAgIC8qIFJlbG9hZCBncyBzZWxlY3RvciB3aXRoIGV4Y2VwdGlvbiBoYW5kbGluZyAqLwogICAgICAgIC8qIGVkaTogIG5ldyBzZWxlY3RvciAqLyAKLUVOVFJZKGxvYWRfZ3NfaW5kZXgpCitFTlRSWShuYXRpdmVfbG9hZF9nc19pbmRleCkKIAlDRklfU1RBUlRQUk9DCiAJcHVzaGYKIAlDRklfQURKVVNUX0NGQV9PRkZTRVQgOApAQCAtOTUzLDcgKzEwNjQsNyBAQAogCUNGSV9BREpVU1RfQ0ZBX09GRlNFVCAtOAogICAgICAgICByZXQKIAlDRklfRU5EUFJPQwotRU5EUFJPQyhsb2FkX2dzX2luZGV4KQorRU5EUFJPQyhuYXRpdmVfbG9hZF9nc19pbmRleCkKICAgICAgICAKICAgICAgICAgLnNlY3Rpb24gX19leF90YWJsZSwiYSIKICAgICAgICAgLmFsaWduIDgKQEAgLTExMjAsMTAgKzEyMzEsNiBAQAogCXplcm9lbnRyeSBkb19jb3Byb2Nlc3Nvcl9zZWdtZW50X292ZXJydW4KIEVORChjb3Byb2Nlc3Nvcl9zZWdtZW50X292ZXJydW4pCiAKLUVOVFJZKHJlc2VydmVkKQotCXplcm9lbnRyeSBkb19yZXNlcnZlZAotRU5EKHJlc2VydmVkKQotCiAJLyogcnVucyBvbiBleGNlcHRpb24gc3RhY2sgKi8KIEVOVFJZKGRvdWJsZV9mYXVsdCkKIAlYQ1BUX0ZSQU1FCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvZnRyYWNlLmMgYi9hcmNoL3g4Ni9rZXJuZWwvZnRyYWNlLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWIxMTVjZAotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gveDg2L2tlcm5lbC9mdHJhY2UuYwpAQCAtMCwwICsxLDE0MSBAQAorLyoKKyAqIENvZGUgZm9yIHJlcGxhY2luZyBmdHJhY2UgY2FsbHMgd2l0aCBqdW1wcy4KKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDctMjAwOCBTdGV2ZW4gUm9zdGVkdCA8c3Jvc3RlZHRAcmVkaGF0LmNvbT4KKyAqCisgKiBUaGFua3MgZ29lcyB0byBJbmdvIE1vbG5hciwgZm9yIHN1Z2dlc3RpbmcgdGhlIGlkZWEuCisgKiBNYXRoaWV1IERlc25veWVycywgZm9yIHN1Z2dlc3RpbmcgcG9zdHBvbmluZyB0aGUgbW9kaWZpY2F0aW9ucy4KKyAqIEFyamFuIHZhbiBkZSBWZW4sIGZvciBrZWVwaW5nIG1lIHN0cmFpZ2h0LCBhbmQgZXhwbGFpbmluZyB0byBtZQorICogdGhlIGRhbmdlcnMgb2YgbW9kaWZ5aW5nIGNvZGUgb24gdGhlIHJ1bi4KKyAqLworCisjaW5jbHVkZSA8bGludXgvc3BpbmxvY2suaD4KKyNpbmNsdWRlIDxsaW51eC9oYXJkaXJxLmg+CisjaW5jbHVkZSA8bGludXgvZnRyYWNlLmg+CisjaW5jbHVkZSA8bGludXgvcGVyY3B1Lmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L2xpc3QuaD4KKworI2luY2x1ZGUgPGFzbS9hbHRlcm5hdGl2ZS5oPgorI2luY2x1ZGUgPGFzbS9mdHJhY2UuaD4KKworCisvKiBMb25nIGlzIGZpbmUsIGV2ZW4gaWYgaXQgaXMgb25seSA0IGJ5dGVzIDstKSAqLworc3RhdGljIGxvbmcgKmZ0cmFjZV9ub3A7CisKK3VuaW9uIGZ0cmFjZV9jb2RlX3VuaW9uIHsKKwljaGFyIGNvZGVbTUNPVU5UX0lOU05fU0laRV07CisJc3RydWN0IHsKKwkJY2hhciBlODsKKwkJaW50IG9mZnNldDsKKwl9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOworfTsKKworCitzdGF0aWMgaW50IG5vdHJhY2UgZnRyYWNlX2NhbGNfb2Zmc2V0KGxvbmcgaXAsIGxvbmcgYWRkcikKK3sKKwlyZXR1cm4gKGludCkoYWRkciAtIGlwKTsKK30KKworbm90cmFjZSB1bnNpZ25lZCBjaGFyICpmdHJhY2Vfbm9wX3JlcGxhY2Uodm9pZCkKK3sKKwlyZXR1cm4gKGNoYXIgKilmdHJhY2Vfbm9wOworfQorCitub3RyYWNlIHVuc2lnbmVkIGNoYXIgKmZ0cmFjZV9jYWxsX3JlcGxhY2UodW5zaWduZWQgbG9uZyBpcCwgdW5zaWduZWQgbG9uZyBhZGRyKQoreworCXN0YXRpYyB1bmlvbiBmdHJhY2VfY29kZV91bmlvbiBjYWxjOworCisJY2FsYy5lOAkJPSAweGU4OworCWNhbGMub2Zmc2V0CT0gZnRyYWNlX2NhbGNfb2Zmc2V0KGlwICsgTUNPVU5UX0lOU05fU0laRSwgYWRkcik7CisKKwkvKgorCSAqIE5vIGxvY2tpbmcgbmVlZGVkLCB0aGlzIG11c3QgYmUgY2FsbGVkIHZpYSBrc3RvcF9tYWNoaW5lCisJICogd2hpY2ggaW4gZXNzZW5jZSBpcyBsaWtlIHJ1bm5pbmcgb24gYSB1bmlwcm9jZXNzb3IgbWFjaGluZS4KKwkgKi8KKwlyZXR1cm4gY2FsYy5jb2RlOworfQorCitub3RyYWNlIGludAorZnRyYWNlX21vZGlmeV9jb2RlKHVuc2lnbmVkIGxvbmcgaXAsIHVuc2lnbmVkIGNoYXIgKm9sZF9jb2RlLAorCQkgICB1bnNpZ25lZCBjaGFyICpuZXdfY29kZSkKK3sKKwl1bnNpZ25lZCByZXBsYWNlZDsKKwl1bnNpZ25lZCBvbGQgPSAqKHVuc2lnbmVkICopb2xkX2NvZGU7IC8qIDQgYnl0ZXMgKi8KKwl1bnNpZ25lZCBuZXcgPSAqKHVuc2lnbmVkICopbmV3X2NvZGU7IC8qIDQgYnl0ZXMgKi8KKwl1bnNpZ25lZCBjaGFyIG5ld2NoID0gbmV3X2NvZGVbNF07CisJaW50IGZhdWx0ZWQgPSAwOworCisJLyoKKwkgKiBOb3RlOiBEdWUgdG8gbW9kdWxlcyBhbmQgX19pbml0LCBjb2RlIGNhbgorCSAqICBkaXNhcHBlYXIgYW5kIGNoYW5nZSwgd2UgbmVlZCB0byBwcm90ZWN0IGFnYWluc3QgZmF1bHRpbmcKKwkgKiAgYXMgd2VsbCBhcyBjb2RlIGNoYW5naW5nLgorCSAqCisJICogTm8gcmVhbCBsb2NraW5nIG5lZWRlZCwgdGhpcyBjb2RlIGlzIHJ1biB0aHJvdWdoCisJICoga3N0b3BfbWFjaGluZS4KKwkgKi8KKwlhc20gdm9sYXRpbGUgKAorCQkiMTogbG9ja1xuIgorCQkiICAgY21weGNoZyAlMywgKCUyKVxuIgorCQkiICAgam56IDJmXG4iCisJCSIgICBtb3ZiICViNCwgNCglMilcbiIKKwkJIjI6XG4iCisJCSIuc2VjdGlvbiAuZml4dXAsIFwiYXhcIlxuIgorCQkiMzoJbW92bCAkMSwgJTBcbiIKKwkJIglqbXAgMmJcbiIKKwkJIi5wcmV2aW91c1xuIgorCQlfQVNNX0VYVEFCTEUoMWIsIDNiKQorCQk6ICI9ciIoZmF1bHRlZCksICI9YSIocmVwbGFjZWQpCisJCTogInIiKGlwKSwgInIiKG5ldyksICJjIihuZXdjaCksCisJCSAgIjAiKGZhdWx0ZWQpLCAiYSIob2xkKQorCQk6ICJtZW1vcnkiKTsKKwlzeW5jX2NvcmUoKTsKKworCWlmIChyZXBsYWNlZCAhPSBvbGQgJiYgcmVwbGFjZWQgIT0gbmV3KQorCQlmYXVsdGVkID0gMjsKKworCXJldHVybiBmYXVsdGVkOworfQorCitub3RyYWNlIGludCBmdHJhY2VfdXBkYXRlX2Z0cmFjZV9mdW5jKGZ0cmFjZV9mdW5jX3QgZnVuYykKK3sKKwl1bnNpZ25lZCBsb25nIGlwID0gKHVuc2lnbmVkIGxvbmcpKCZmdHJhY2VfY2FsbCk7CisJdW5zaWduZWQgY2hhciBvbGRbTUNPVU5UX0lOU05fU0laRV0sICpuZXc7CisJaW50IHJldDsKKworCW1lbWNweShvbGQsICZmdHJhY2VfY2FsbCwgTUNPVU5UX0lOU05fU0laRSk7CisJbmV3ID0gZnRyYWNlX2NhbGxfcmVwbGFjZShpcCwgKHVuc2lnbmVkIGxvbmcpZnVuYyk7CisJcmV0ID0gZnRyYWNlX21vZGlmeV9jb2RlKGlwLCBvbGQsIG5ldyk7CisKKwlyZXR1cm4gcmV0OworfQorCitub3RyYWNlIGludCBmdHJhY2VfbWNvdW50X3NldCh1bnNpZ25lZCBsb25nICpkYXRhKQoreworCXVuc2lnbmVkIGxvbmcgaXAgPSAobG9uZykoJm1jb3VudF9jYWxsKTsKKwl1bnNpZ25lZCBsb25nICphZGRyID0gZGF0YTsKKwl1bnNpZ25lZCBjaGFyIG9sZFtNQ09VTlRfSU5TTl9TSVpFXSwgKm5ldzsKKworCS8qCisJICogUmVwbGFjZSB0aGUgbWNvdW50IHN0dWIgd2l0aCBhIHBvaW50ZXIgdG8gdGhlCisJICogaXAgcmVjb3JkZXIgZnVuY3Rpb24uCisJICovCisJbWVtY3B5KG9sZCwgJm1jb3VudF9jYWxsLCBNQ09VTlRfSU5TTl9TSVpFKTsKKwluZXcgPSBmdHJhY2VfY2FsbF9yZXBsYWNlKGlwLCAqYWRkcik7CisJKmFkZHIgPSBmdHJhY2VfbW9kaWZ5X2NvZGUoaXAsIG9sZCwgbmV3KTsKKworCXJldHVybiAwOworfQorCitpbnQgX19pbml0IGZ0cmFjZV9keW5fYXJjaF9pbml0KHZvaWQgKmRhdGEpCit7CisJY29uc3QgdW5zaWduZWQgY2hhciAqY29uc3QgKm5vcHRhYmxlID0gZmluZF9ub3BfdGFibGUoKTsKKworCS8qIFRoaXMgaXMgcnVubmluZyBpbiBrc3RvcF9tYWNoaW5lICovCisKKwlmdHJhY2VfbWNvdW50X3NldChkYXRhKTsKKworCWZ0cmFjZV9ub3AgPSAodW5zaWduZWQgbG9uZyAqKW5vcHRhYmxlW01DT1VOVF9JTlNOX1NJWkVdOworCisJcmV0dXJuIDA7Cit9CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvZ2VuYXBpY182NC5jIGIvYXJjaC94ODYva2VybmVsL2dlbmFwaWNfNjQuYwppbmRleCBjYmFhZjY5Li4xZmE4YmU1IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvZ2VuYXBpY182NC5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9nZW5hcGljXzY0LmMKQEAgLTUxLDcgKzUxLDcgQEAKIAllbHNlCiAjZW5kaWYKIAotCWlmIChudW1fcG9zc2libGVfY3B1cygpIDw9IDgpCisJaWYgKG1heF9waHlzaWNhbF9hcGljaWQgPCA4KQogCQlnZW5hcGljID0gJmFwaWNfZmxhdDsKIAllbHNlCiAJCWdlbmFwaWMgPSAmYXBpY19waHlzZmxhdDsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9nZW54MmFwaWNfdXZfeC5jIGIvYXJjaC94ODYva2VybmVsL2dlbngyYXBpY191dl94LmMKaW5kZXggZWJmMTM5MC4uNzExZjExYyAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL2dlbngyYXBpY191dl94LmMKKysrIGIvYXJjaC94ODYva2VybmVsL2dlbngyYXBpY191dl94LmMKQEAgLTUsOSArNSwxMCBAQAogICoKICAqIFNHSSBVViBBUElDIGZ1bmN0aW9ucyAobm90ZTogbm90IGFuIEludGVsIGNvbXBhdGlibGUgQVBJQykKICAqCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDcgU2lsaWNvbiBHcmFwaGljcywgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA3LTIwMDggU2lsaWNvbiBHcmFwaGljcywgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICovCiAKKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KICNpbmNsdWRlIDxsaW51eC90aHJlYWRzLmg+CiAjaW5jbHVkZSA8bGludXgvY3B1bWFzay5oPgogI2luY2x1ZGUgPGxpbnV4L3N0cmluZy5oPgpAQCAtMjAsNiArMjEsNyBAQAogI2luY2x1ZGUgPGFzbS9zbXAuaD4KICNpbmNsdWRlIDxhc20vaXBpLmg+CiAjaW5jbHVkZSA8YXNtL2dlbmFwaWMuaD4KKyNpbmNsdWRlIDxhc20vcGd0YWJsZS5oPgogI2luY2x1ZGUgPGFzbS91di91dl9tbXJzLmg+CiAjaW5jbHVkZSA8YXNtL3V2L3V2X2h1Yi5oPgogCkBAIC01NSwzNyArNTcsMzcgQEAKIGludCB1dl93YWtldXBfc2Vjb25kYXJ5KGludCBwaHlzX2FwaWNpZCwgdW5zaWduZWQgaW50IHN0YXJ0X3JpcCkKIHsKIAl1bnNpZ25lZCBsb25nIHZhbDsKLQlpbnQgbmFzaWQ7CisJaW50IHBub2RlOwogCi0JbmFzaWQgPSB1dl9hcGljaWRfdG9fbmFzaWQocGh5c19hcGljaWQpOworCXBub2RlID0gdXZfYXBpY2lkX3RvX3Bub2RlKHBoeXNfYXBpY2lkKTsKIAl2YWwgPSAoMVVMIDw8IFVWSF9JUElfSU5UX1NFTkRfU0hGVCkgfAogCSAgICAocGh5c19hcGljaWQgPDwgVVZIX0lQSV9JTlRfQVBJQ19JRF9TSEZUKSB8CiAJICAgICgoKGxvbmcpc3RhcnRfcmlwIDw8IFVWSF9JUElfSU5UX1ZFQ1RPUl9TSEZUKSA+PiAxMikgfAogCSAgICBBUElDX0RNX0lOSVQ7Ci0JdXZfd3JpdGVfZ2xvYmFsX21tcjY0KG5hc2lkLCBVVkhfSVBJX0lOVCwgdmFsKTsKKwl1dl93cml0ZV9nbG9iYWxfbW1yNjQocG5vZGUsIFVWSF9JUElfSU5ULCB2YWwpOwogCW1kZWxheSgxMCk7CiAKIAl2YWwgPSAoMVVMIDw8IFVWSF9JUElfSU5UX1NFTkRfU0hGVCkgfAogCSAgICAocGh5c19hcGljaWQgPDwgVVZIX0lQSV9JTlRfQVBJQ19JRF9TSEZUKSB8CiAJICAgICgoKGxvbmcpc3RhcnRfcmlwIDw8IFVWSF9JUElfSU5UX1ZFQ1RPUl9TSEZUKSA+PiAxMikgfAogCSAgICBBUElDX0RNX1NUQVJUVVA7Ci0JdXZfd3JpdGVfZ2xvYmFsX21tcjY0KG5hc2lkLCBVVkhfSVBJX0lOVCwgdmFsKTsKKwl1dl93cml0ZV9nbG9iYWxfbW1yNjQocG5vZGUsIFVWSF9JUElfSU5ULCB2YWwpOwogCXJldHVybiAwOwogfQogCiBzdGF0aWMgdm9pZCB1dl9zZW5kX0lQSV9vbmUoaW50IGNwdSwgaW50IHZlY3RvcikKIHsKIAl1bnNpZ25lZCBsb25nIHZhbCwgYXBpY2lkLCBsYXBpY2lkOwotCWludCBuYXNpZDsKKwlpbnQgcG5vZGU7CiAKIAlhcGljaWQgPSBwZXJfY3B1KHg4Nl9jcHVfdG9fYXBpY2lkLCBjcHUpOyAvKiBaWlogLSBjYWNoZSBub2RlLWxvY2FsID8gKi8KIAlsYXBpY2lkID0gYXBpY2lkICYgMHgzZjsJCS8qIFpaWiBtYWNybyBuZWVkZWQgKi8KLQluYXNpZCA9IHV2X2FwaWNpZF90b19uYXNpZChhcGljaWQpOworCXBub2RlID0gdXZfYXBpY2lkX3RvX3Bub2RlKGFwaWNpZCk7CiAJdmFsID0KIAkgICAgKDFVTCA8PCBVVkhfSVBJX0lOVF9TRU5EX1NIRlQpIHwgKGxhcGljaWQgPDwKIAkJCQkJICAgICAgVVZIX0lQSV9JTlRfQVBJQ19JRF9TSEZUKSB8CiAJICAgICh2ZWN0b3IgPDwgVVZIX0lQSV9JTlRfVkVDVE9SX1NIRlQpOwotCXV2X3dyaXRlX2dsb2JhbF9tbXI2NChuYXNpZCwgVVZIX0lQSV9JTlQsIHZhbCk7CisJdXZfd3JpdGVfZ2xvYmFsX21tcjY0KHBub2RlLCBVVkhfSVBJX0lOVCwgdmFsKTsKIH0KIAogc3RhdGljIHZvaWQgdXZfc2VuZF9JUElfbWFzayhjcHVtYXNrX3QgbWFzaywgaW50IHZlY3RvcikKQEAgLTE1OSwzOSArMTYxLDE0NiBAQAogCS5waHlzX3BrZ19pZCA9IHBoeXNfcGtnX2lkLAkvKiBGaXhtZSBaWlogKi8KIH07CiAKLXN0YXRpYyBfX2NwdWluaXQgdm9pZCBzZXRfeDJhcGljX2V4dHJhX2JpdHMoaW50IG5hc2lkKQorc3RhdGljIF9fY3B1aW5pdCB2b2lkIHNldF94MmFwaWNfZXh0cmFfYml0cyhpbnQgcG5vZGUpCiB7Ci0JX19nZXRfY3B1X3Zhcih4MmFwaWNfZXh0cmFfYml0cykgPSAoKG5hc2lkID4+IDEpIDw8IDYpOworCV9fZ2V0X2NwdV92YXIoeDJhcGljX2V4dHJhX2JpdHMpID0gKHBub2RlIDw8IDYpOwogfQogCiAvKgogICogQ2FsbGVkIG9uIGJvb3QgY3B1LgogICovCitzdGF0aWMgX19pbml0IGludCBib290X3Bub2RlX3RvX2JsYWRlKGludCBwbm9kZSkKK3sKKwlpbnQgYmxhZGU7CisKKwlmb3IgKGJsYWRlID0gMDsgYmxhZGUgPCB1dl9udW1fcG9zc2libGVfYmxhZGVzKCk7IGJsYWRlKyspCisJCWlmIChwbm9kZSA9PSB1dl9ibGFkZV9pbmZvW2JsYWRlXS5wbm9kZSkKKwkJCXJldHVybiBibGFkZTsKKwlCVUcoKTsKK30KKworc3RydWN0IHJlZGlyX2FkZHIgeworCXVuc2lnbmVkIGxvbmcgcmVkaXJlY3Q7CisJdW5zaWduZWQgbG9uZyBhbGlhczsKK307CisKKyNkZWZpbmUgREVTVF9TSElGVCBVVkhfUkhfR0FNX0FMSUFTMjEwX1JFRElSRUNUX0NPTkZJR18wX01NUl9ERVNUX0JBU0VfU0hGVAorCitzdGF0aWMgX19pbml0ZGF0YSBzdHJ1Y3QgcmVkaXJfYWRkciByZWRpcl9hZGRyc1tdID0geworCXtVVkhfUkhfR0FNX0FMSUFTMjEwX1JFRElSRUNUX0NPTkZJR18wX01NUiwgVVZIX1NJX0FMSUFTMF9PVkVSTEFZX0NPTkZJR30sCisJe1VWSF9SSF9HQU1fQUxJQVMyMTBfUkVESVJFQ1RfQ09ORklHXzFfTU1SLCBVVkhfU0lfQUxJQVMxX09WRVJMQVlfQ09ORklHfSwKKwl7VVZIX1JIX0dBTV9BTElBUzIxMF9SRURJUkVDVF9DT05GSUdfMl9NTVIsIFVWSF9TSV9BTElBUzJfT1ZFUkxBWV9DT05GSUd9LAorfTsKKworc3RhdGljIF9faW5pdCB2b2lkIGdldF9sb3dtZW1fcmVkaXJlY3QodW5zaWduZWQgbG9uZyAqYmFzZSwgdW5zaWduZWQgbG9uZyAqc2l6ZSkKK3sKKwl1bmlvbiB1dmhfc2lfYWxpYXMwX292ZXJsYXlfY29uZmlnX3UgYWxpYXM7CisJdW5pb24gdXZoX3JoX2dhbV9hbGlhczIxMF9yZWRpcmVjdF9jb25maWdfMl9tbXJfdSByZWRpcmVjdDsKKwlpbnQgaTsKKworCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKHJlZGlyX2FkZHJzKTsgaSsrKSB7CisJCWFsaWFzLnYgPSB1dl9yZWFkX2xvY2FsX21tcihyZWRpcl9hZGRyc1tpXS5hbGlhcyk7CisJCWlmIChhbGlhcy5zLmJhc2UgPT0gMCkgeworCQkJKnNpemUgPSAoMVVMIDw8IGFsaWFzLnMubV9hbGlhcyk7CisJCQlyZWRpcmVjdC52ID0gdXZfcmVhZF9sb2NhbF9tbXIocmVkaXJfYWRkcnNbaV0ucmVkaXJlY3QpOworCQkJKmJhc2UgPSAodW5zaWduZWQgbG9uZylyZWRpcmVjdC5zLmRlc3RfYmFzZSA8PCBERVNUX1NISUZUOworCQkJcmV0dXJuOworCQl9CisJfQorCUJVRygpOworfQorCitzdGF0aWMgX19pbml0IHZvaWQgbWFwX2xvd19tbXJzKHZvaWQpCit7CisJaW5pdF9leHRyYV9tYXBwaW5nX3VjKFVWX0dMT0JBTF9NTVIzMl9CQVNFLCBVVl9HTE9CQUxfTU1SMzJfU0laRSk7CisJaW5pdF9leHRyYV9tYXBwaW5nX3VjKFVWX0xPQ0FMX01NUl9CQVNFLCBVVl9MT0NBTF9NTVJfU0laRSk7Cit9CisKK2VudW0gbWFwX3R5cGUge21hcF93YiwgbWFwX3VjfTsKKworc3RhdGljIHZvaWQgbWFwX2hpZ2goY2hhciAqaWQsIHVuc2lnbmVkIGxvbmcgYmFzZSwgaW50IHNoaWZ0LCBlbnVtIG1hcF90eXBlIG1hcF90eXBlKQoreworCXVuc2lnbmVkIGxvbmcgYnl0ZXMsIHBhZGRyOworCisJcGFkZHIgPSBiYXNlIDw8IHNoaWZ0OworCWJ5dGVzID0gKDFVTCA8PCBzaGlmdCk7CisJcHJpbnRrKEtFUk5fSU5GTyAiVVY6IE1hcCAlc19ISSAweCVseCAtIDB4JWx4XG4iLCBpZCwgcGFkZHIsCisJICAgICAgIAkJCQkJcGFkZHIgKyBieXRlcyk7CisJaWYgKG1hcF90eXBlID09IG1hcF91YykKKwkJaW5pdF9leHRyYV9tYXBwaW5nX3VjKHBhZGRyLCBieXRlcyk7CisJZWxzZQorCQlpbml0X2V4dHJhX21hcHBpbmdfd2IocGFkZHIsIGJ5dGVzKTsKKworfQorc3RhdGljIF9faW5pdCB2b2lkIG1hcF9ncnVfaGlnaChpbnQgbWF4X3Bub2RlKQoreworCXVuaW9uIHV2aF9yaF9nYW1fZ3J1X292ZXJsYXlfY29uZmlnX21tcl91IGdydTsKKwlpbnQgc2hpZnQgPSBVVkhfUkhfR0FNX0dSVV9PVkVSTEFZX0NPTkZJR19NTVJfQkFTRV9TSEZUOworCisJZ3J1LnYgPSB1dl9yZWFkX2xvY2FsX21tcihVVkhfUkhfR0FNX0dSVV9PVkVSTEFZX0NPTkZJR19NTVIpOworCWlmIChncnUucy5lbmFibGUpCisJCW1hcF9oaWdoKCJHUlUiLCBncnUucy5iYXNlLCBzaGlmdCwgbWFwX3diKTsKK30KKworc3RhdGljIF9faW5pdCB2b2lkIG1hcF9jb25maWdfaGlnaChpbnQgbWF4X3Bub2RlKQoreworCXVuaW9uIHV2aF9yaF9nYW1fY2ZnX292ZXJsYXlfY29uZmlnX21tcl91IGNmZzsKKwlpbnQgc2hpZnQgPSBVVkhfUkhfR0FNX0NGR19PVkVSTEFZX0NPTkZJR19NTVJfQkFTRV9TSEZUOworCisJY2ZnLnYgPSB1dl9yZWFkX2xvY2FsX21tcihVVkhfUkhfR0FNX0NGR19PVkVSTEFZX0NPTkZJR19NTVIpOworCWlmIChjZmcucy5lbmFibGUpCisJCW1hcF9oaWdoKCJDT05GSUciLCBjZmcucy5iYXNlLCBzaGlmdCwgbWFwX3VjKTsKK30KKworc3RhdGljIF9faW5pdCB2b2lkIG1hcF9tbXJfaGlnaChpbnQgbWF4X3Bub2RlKQoreworCXVuaW9uIHV2aF9yaF9nYW1fbW1yX292ZXJsYXlfY29uZmlnX21tcl91IG1tcjsKKwlpbnQgc2hpZnQgPSBVVkhfUkhfR0FNX01NUl9PVkVSTEFZX0NPTkZJR19NTVJfQkFTRV9TSEZUOworCisJbW1yLnYgPSB1dl9yZWFkX2xvY2FsX21tcihVVkhfUkhfR0FNX01NUl9PVkVSTEFZX0NPTkZJR19NTVIpOworCWlmIChtbXIucy5lbmFibGUpCisJCW1hcF9oaWdoKCJNTVIiLCBtbXIucy5iYXNlLCBzaGlmdCwgbWFwX3VjKTsKK30KKworc3RhdGljIF9faW5pdCB2b2lkIG1hcF9tbWlvaF9oaWdoKGludCBtYXhfcG5vZGUpCit7CisJdW5pb24gdXZoX3JoX2dhbV9tbWlvaF9vdmVybGF5X2NvbmZpZ19tbXJfdSBtbWlvaDsKKwlpbnQgc2hpZnQgPSBVVkhfUkhfR0FNX01NSU9IX09WRVJMQVlfQ09ORklHX01NUl9CQVNFX1NIRlQ7CisKKwltbWlvaC52ID0gdXZfcmVhZF9sb2NhbF9tbXIoVVZIX1JIX0dBTV9NTUlPSF9PVkVSTEFZX0NPTkZJR19NTVIpOworCWlmIChtbWlvaC5zLmVuYWJsZSkKKwkJbWFwX2hpZ2goIk1NSU9IIiwgbW1pb2gucy5iYXNlLCBzaGlmdCwgbWFwX3VjKTsKK30KKwogc3RhdGljIF9faW5pdCB2b2lkIHV2X3N5c3RlbV9pbml0KHZvaWQpCiB7CiAJdW5pb24gdXZoX3NpX2FkZHJfbWFwX2NvbmZpZ191IG1fbl9jb25maWc7Ci0JaW50IGJ5dGVzLCBuaWQsIGNwdSwgbGNwdSwgbmFzaWQsIGxhc3RfbmFzaWQsIGJsYWRlOwotCXVuc2lnbmVkIGxvbmcgbW1yX2Jhc2U7CisJdW5pb24gdXZoX25vZGVfaWRfdSBub2RlX2lkOworCXVuc2lnbmVkIGxvbmcgZ25vZGVfdXBwZXIsIGxvd21lbV9yZWRpcl9iYXNlLCBsb3dtZW1fcmVkaXJfc2l6ZTsKKwlpbnQgYnl0ZXMsIG5pZCwgY3B1LCBsY3B1LCBwbm9kZSwgYmxhZGUsIGksIGosIG1fdmFsLCBuX3ZhbDsKKwlpbnQgbWF4X3Bub2RlID0gMDsKKwl1bnNpZ25lZCBsb25nIG1tcl9iYXNlLCBwcmVzZW50OworCisJbWFwX2xvd19tbXJzKCk7CiAKIAltX25fY29uZmlnLnYgPSB1dl9yZWFkX2xvY2FsX21tcihVVkhfU0lfQUREUl9NQVBfQ09ORklHKTsKKwltX3ZhbCA9IG1fbl9jb25maWcucy5tX3NrdDsKKwluX3ZhbCA9IG1fbl9jb25maWcucy5uX3NrdDsKIAltbXJfYmFzZSA9CiAJICAgIHV2X3JlYWRfbG9jYWxfbW1yKFVWSF9SSF9HQU1fTU1SX09WRVJMQVlfQ09ORklHX01NUikgJgogCSAgICB+VVZfTU1SX0VOQUJMRTsKIAlwcmludGsoS0VSTl9ERUJVRyAiVVY6IGdsb2JhbCBNTVIgYmFzZSAweCVseFxuIiwgbW1yX2Jhc2UpOwogCi0JbGFzdF9uYXNpZCA9IC0xOwotCWZvcl9lYWNoX3Bvc3NpYmxlX2NwdShjcHUpIHsKLQkJbmlkID0gY3B1X3RvX25vZGUoY3B1KTsKLQkJbmFzaWQgPSB1dl9hcGljaWRfdG9fbmFzaWQocGVyX2NwdSh4ODZfY3B1X3RvX2FwaWNpZCwgY3B1KSk7Ci0JCWlmIChuYXNpZCAhPSBsYXN0X25hc2lkKQotCQkJdXZfcG9zc2libGVfYmxhZGVzKys7Ci0JCWxhc3RfbmFzaWQgPSBuYXNpZDsKLQl9CisJZm9yKGkgPSAwOyBpIDwgVVZIX05PREVfUFJFU0VOVF9UQUJMRV9ERVBUSDsgaSsrKQorCQl1dl9wb3NzaWJsZV9ibGFkZXMgKz0KKwkJICBod2VpZ2h0NjQodXZfcmVhZF9sb2NhbF9tbXIoIFVWSF9OT0RFX1BSRVNFTlRfVEFCTEUgKyBpICogOCkpOwogCXByaW50ayhLRVJOX0RFQlVHICJVVjogRm91bmQgJWQgYmxhZGVzXG4iLCB1dl9udW1fcG9zc2libGVfYmxhZGVzKCkpOwogCiAJYnl0ZXMgPSBzaXplb2Yoc3RydWN0IHV2X2JsYWRlX2luZm8pICogdXZfbnVtX3Bvc3NpYmxlX2JsYWRlcygpOwogCXV2X2JsYWRlX2luZm8gPSBhbGxvY19ib290bWVtX3BhZ2VzKGJ5dGVzKTsKIAorCWdldF9sb3dtZW1fcmVkaXJlY3QoJmxvd21lbV9yZWRpcl9iYXNlLCAmbG93bWVtX3JlZGlyX3NpemUpOworCiAJYnl0ZXMgPSBzaXplb2YodXZfbm9kZV90b19ibGFkZVswXSkgKiBudW1fcG9zc2libGVfbm9kZXMoKTsKIAl1dl9ub2RlX3RvX2JsYWRlID0gYWxsb2NfYm9vdG1lbV9wYWdlcyhieXRlcyk7CiAJbWVtc2V0KHV2X25vZGVfdG9fYmxhZGUsIDI1NSwgYnl0ZXMpOwpAQCAtMjAwLDQzICszMDksNjIgQEAKIAl1dl9jcHVfdG9fYmxhZGUgPSBhbGxvY19ib290bWVtX3BhZ2VzKGJ5dGVzKTsKIAltZW1zZXQodXZfY3B1X3RvX2JsYWRlLCAyNTUsIGJ5dGVzKTsKIAotCWxhc3RfbmFzaWQgPSAtMTsKLQlibGFkZSA9IC0xOwotCWxjcHUgPSAtMTsKLQlmb3JfZWFjaF9wb3NzaWJsZV9jcHUoY3B1KSB7Ci0JCW5pZCA9IGNwdV90b19ub2RlKGNwdSk7Ci0JCW5hc2lkID0gdXZfYXBpY2lkX3RvX25hc2lkKHBlcl9jcHUoeDg2X2NwdV90b19hcGljaWQsIGNwdSkpOwotCQlpZiAobmFzaWQgIT0gbGFzdF9uYXNpZCkgewotCQkJYmxhZGUrKzsKLQkJCWxjcHUgPSAtMTsKLQkJCXV2X2JsYWRlX2luZm9bYmxhZGVdLm5yX3Bvc2libGVfY3B1cyA9IDA7CisJYmxhZGUgPSAwOworCWZvciAoaSA9IDA7IGkgPCBVVkhfTk9ERV9QUkVTRU5UX1RBQkxFX0RFUFRIOyBpKyspIHsKKwkJcHJlc2VudCA9IHV2X3JlYWRfbG9jYWxfbW1yKFVWSF9OT0RFX1BSRVNFTlRfVEFCTEUgKyBpICogOCk7CisJCWZvciAoaiA9IDA7IGogPCA2NDsgaisrKSB7CisJCQlpZiAoIXRlc3RfYml0KGosICZwcmVzZW50KSkKKwkJCQljb250aW51ZTsKKwkJCXV2X2JsYWRlX2luZm9bYmxhZGVdLnBub2RlID0gKGkgKiA2NCArIGopOworCQkJdXZfYmxhZGVfaW5mb1tibGFkZV0ubnJfcG9zc2libGVfY3B1cyA9IDA7CiAJCQl1dl9ibGFkZV9pbmZvW2JsYWRlXS5ucl9vbmxpbmVfY3B1cyA9IDA7CisJCQlibGFkZSsrOwogCQl9Ci0JCWxhc3RfbmFzaWQgPSBuYXNpZDsKLQkJbGNwdSsrOworCX0KIAotCQl1dl9jcHVfaHViX2luZm8oY3B1KS0+bV92YWwgPSBtX25fY29uZmlnLnMubV9za3Q7Ci0JCXV2X2NwdV9odWJfaW5mbyhjcHUpLT5uX3ZhbCA9IG1fbl9jb25maWcucy5uX3NrdDsKKwlub2RlX2lkLnYgPSB1dl9yZWFkX2xvY2FsX21tcihVVkhfTk9ERV9JRCk7CisJZ25vZGVfdXBwZXIgPSAoKCh1bnNpZ25lZCBsb25nKW5vZGVfaWQucy5ub2RlX2lkKSAmCisJCSAgICAgICB+KCgxIDw8IG5fdmFsKSAtIDEpKSA8PCBtX3ZhbDsKKworCWZvcl9lYWNoX3ByZXNlbnRfY3B1KGNwdSkgeworCQluaWQgPSBjcHVfdG9fbm9kZShjcHUpOworCQlwbm9kZSA9IHV2X2FwaWNpZF90b19wbm9kZShwZXJfY3B1KHg4Nl9jcHVfdG9fYXBpY2lkLCBjcHUpKTsKKwkJYmxhZGUgPSBib290X3Bub2RlX3RvX2JsYWRlKHBub2RlKTsKKwkJbGNwdSA9IHV2X2JsYWRlX2luZm9bYmxhZGVdLm5yX3Bvc3NpYmxlX2NwdXM7CisJCXV2X2JsYWRlX2luZm9bYmxhZGVdLm5yX3Bvc3NpYmxlX2NwdXMrKzsKKworCQl1dl9jcHVfaHViX2luZm8oY3B1KS0+bG93bWVtX3JlbWFwX2Jhc2UgPSBsb3dtZW1fcmVkaXJfYmFzZTsKKwkJdXZfY3B1X2h1Yl9pbmZvKGNwdSktPmxvd21lbV9yZW1hcF90b3AgPQorCQkJCQlsb3dtZW1fcmVkaXJfYmFzZSArIGxvd21lbV9yZWRpcl9zaXplOworCQl1dl9jcHVfaHViX2luZm8oY3B1KS0+bV92YWwgPSBtX3ZhbDsKKwkJdXZfY3B1X2h1Yl9pbmZvKGNwdSktPm5fdmFsID0gbV92YWw7CiAJCXV2X2NwdV9odWJfaW5mbyhjcHUpLT5udW1hX2JsYWRlX2lkID0gYmxhZGU7CiAJCXV2X2NwdV9odWJfaW5mbyhjcHUpLT5ibGFkZV9wcm9jZXNzb3JfaWQgPSBsY3B1OwotCQl1dl9jcHVfaHViX2luZm8oY3B1KS0+bG9jYWxfbmFzaWQgPSBuYXNpZDsKLQkJdXZfY3B1X2h1Yl9pbmZvKGNwdSktPmdub2RlX3VwcGVyID0KLQkJICAgIG5hc2lkICYgfigoMSA8PCB1dl9odWJfaW5mby0+bl92YWwpIC0gMSk7CisJCXV2X2NwdV9odWJfaW5mbyhjcHUpLT5wbm9kZSA9IHBub2RlOworCQl1dl9jcHVfaHViX2luZm8oY3B1KS0+cG5vZGVfbWFzayA9ICgxIDw8IG5fdmFsKSAtIDE7CisJCXV2X2NwdV9odWJfaW5mbyhjcHUpLT5ncGFfbWFzayA9ICgxIDw8IChtX3ZhbCArIG5fdmFsKSkgLSAxOworCQl1dl9jcHVfaHViX2luZm8oY3B1KS0+Z25vZGVfdXBwZXIgPSBnbm9kZV91cHBlcjsKIAkJdXZfY3B1X2h1Yl9pbmZvKGNwdSktPmdsb2JhbF9tbXJfYmFzZSA9IG1tcl9iYXNlOwogCQl1dl9jcHVfaHViX2luZm8oY3B1KS0+Y29oZXJlbmN5X2RvbWFpbl9udW1iZXIgPSAwOy8qIFpaWiAqLwotCQl1dl9ibGFkZV9pbmZvW2JsYWRlXS5uYXNpZCA9IG5hc2lkOwotCQl1dl9ibGFkZV9pbmZvW2JsYWRlXS5ucl9wb3NpYmxlX2NwdXMrKzsKIAkJdXZfbm9kZV90b19ibGFkZVtuaWRdID0gYmxhZGU7CiAJCXV2X2NwdV90b19ibGFkZVtjcHVdID0gYmxhZGU7CisJCW1heF9wbm9kZSA9IG1heChwbm9kZSwgbWF4X3Bub2RlKTsKIAotCQlwcmludGsoS0VSTl9ERUJVRyAiVVYgY3B1ICVkLCBhcGljaWQgMHgleCwgbmFzaWQgJWQsIG5pZCAlZFxuIiwKLQkJICAgICAgIGNwdSwgcGVyX2NwdSh4ODZfY3B1X3RvX2FwaWNpZCwgY3B1KSwgbmFzaWQsIG5pZCk7Ci0JCXByaW50ayhLRVJOX0RFQlVHICJVViAgIGxjcHUgJWQsIGJsYWRlICVkXG4iLCBsY3B1LCBibGFkZSk7CisJCXByaW50ayhLRVJOX0RFQlVHICJVVjogY3B1ICVkLCBhcGljaWQgMHgleCwgcG5vZGUgJWQsIG5pZCAlZCwgIgorCQkJImxjcHUgJWQsIGJsYWRlICVkXG4iLAorCQkJY3B1LCBwZXJfY3B1KHg4Nl9jcHVfdG9fYXBpY2lkLCBjcHUpLCBwbm9kZSwgbmlkLAorCQkJbGNwdSwgYmxhZGUpOwogCX0KKworCW1hcF9ncnVfaGlnaChtYXhfcG5vZGUpOworCW1hcF9tbXJfaGlnaChtYXhfcG5vZGUpOworCW1hcF9jb25maWdfaGlnaChtYXhfcG5vZGUpOworCW1hcF9tbWlvaF9oaWdoKG1heF9wbm9kZSk7CiB9CiAKIC8qCiAgKiBDYWxsZWQgb24gZWFjaCBjcHUgdG8gaW5pdGlhbGl6ZSB0aGUgcGVyX2NwdSBVViBkYXRhIGFyZWEuCisgKiAJWlpaIGhvdHBsdWcgbm90IHN1cHBvcnRlZCB5ZXQKICAqLwogdm9pZCBfX2NwdWluaXQgdXZfY3B1X2luaXQodm9pZCkKIHsKQEAgLTI0Niw1ICszNzQsNSBAQAogCXV2X2JsYWRlX2luZm9bdXZfbnVtYV9ibGFkZV9pZCgpXS5ucl9vbmxpbmVfY3B1cysrOwogCiAJaWYgKGdldF91dl9zeXN0ZW1fdHlwZSgpID09IFVWX05PTl9VTklRVUVfQVBJQykKLQkJc2V0X3gyYXBpY19leHRyYV9iaXRzKHV2X2h1Yl9pbmZvLT5sb2NhbF9uYXNpZCk7CisJCXNldF94MmFwaWNfZXh0cmFfYml0cyh1dl9odWJfaW5mby0+cG5vZGUpOwogfQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2hlYWQuYyBiL2FyY2gveDg2L2tlcm5lbC9oZWFkLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2U2NmJkMwotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gveDg2L2tlcm5lbC9oZWFkLmMKQEAgLTAsMCArMSw1NSBAQAorI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKworI2luY2x1ZGUgPGFzbS9zZXR1cC5oPgorI2luY2x1ZGUgPGFzbS9iaW9zX2ViZGEuaD4KKworI2RlZmluZSBCSU9TX0xPV01FTV9LSUxPQllURVMgMHg0MTMKKworLyoKKyAqIFRoZSBCSU9TIHBsYWNlcyB0aGUgRUJEQS9YQkRBIGF0IHRoZSB0b3Agb2YgY29udmVudGlvbmFsCisgKiBtZW1vcnksIGFuZCB1c3VhbGx5IGRlY3JlYXNlcyB0aGUgcmVwb3J0ZWQgYW1vdW50IG9mCisgKiBjb252ZW50aW9uYWwgbWVtb3J5IChpbnQgMHgxMikgdG9vLiBUaGlzIGFsc28gY29udGFpbnMgYQorICogd29ya2Fyb3VuZCBmb3IgRGVsbCBzeXN0ZW1zIHRoYXQgbmVnbGVjdCB0byByZXNlcnZlIEVCREEuCisgKiBUaGUgc2FtZSB3b3JrYXJvdW5kIGFsc28gYXZvaWRzIGEgcHJvYmxlbSB3aXRoIHRoZSBBTUQ3NjhNUFgKKyAqIGNoaXBzZXQ6IHJlc2VydmUgYSBwYWdlIGJlZm9yZSBWR0EgdG8gcHJldmVudCBQQ0kgcHJlZmV0Y2gKKyAqIGludG8gaXQgKGVycmF0YSAjNTYpLiBVc3VhbGx5IHRoZSBwYWdlIGlzIHJlc2VydmVkIGFueXdheXMsCisgKiB1bmxlc3MgeW91IGhhdmUgbm8gUFMvMiBtb3VzZSBwbHVnZ2VkIGluLgorICovCit2b2lkIF9faW5pdCByZXNlcnZlX2ViZGFfcmVnaW9uKHZvaWQpCit7CisJdW5zaWduZWQgaW50IGxvd21lbSwgZWJkYV9hZGRyOworCisJLyogVG8gZGV0ZXJtaW5lIHRoZSBwb3NpdGlvbiBvZiB0aGUgRUJEQSBhbmQgdGhlICovCisJLyogZW5kIG9mIGNvbnZlbnRpb25hbCBtZW1vcnksIHdlIG5lZWQgdG8gbG9vayBhdCAqLworCS8qIHRoZSBCSU9TIGRhdGEgYXJlYS4gSW4gYSBwYXJhdmlydHVhbCBlbnZpcm9ubWVudCAqLworCS8qIHRoYXQgYXJlYSBpcyBhYnNlbnQuIFdlJ2xsIGp1c3QgaGF2ZSB0byBhc3N1bWUgKi8KKwkvKiB0aGF0IHRoZSBwYXJhdmlydCBjYXNlIGNhbiBoYW5kbGUgbWVtb3J5IHNldHVwICovCisJLyogY29ycmVjdGx5LCB3aXRob3V0IG91ciBoZWxwLiAqLworCWlmIChwYXJhdmlydF9lbmFibGVkKCkpCisJCXJldHVybjsKKworCS8qIGVuZCBvZiBsb3cgKGNvbnZlbnRpb25hbCkgbWVtb3J5ICovCisJbG93bWVtID0gKih1bnNpZ25lZCBzaG9ydCAqKV9fdmEoQklPU19MT1dNRU1fS0lMT0JZVEVTKTsKKwlsb3dtZW0gPDw9IDEwOworCisJLyogc3RhcnQgb2YgRUJEQSBhcmVhICovCisJZWJkYV9hZGRyID0gZ2V0X2Jpb3NfZWJkYSgpOworCisJLyogRml4dXA6IGJpb3MgcHV0cyBhbiBFQkRBIGluIHRoZSB0b3AgNjRLIHNlZ21lbnQgKi8KKwkvKiBvZiBjb252ZW50aW9uYWwgbWVtb3J5LCBidXQgZG9lcyBub3QgYWRqdXN0IGxvd21lbS4gKi8KKwlpZiAoKGxvd21lbSAtIGViZGFfYWRkcikgPD0gMHgxMDAwMCkKKwkJbG93bWVtID0gZWJkYV9hZGRyOworCisJLyogRml4dXA6IGJpb3MgZG9lcyBub3QgcmVwb3J0IGFuIEVCREEgYXQgYWxsLiAqLworCS8qIFNvbWUgb2xkIERlbGxzIHNlZW0gdG8gbmVlZCA0ayBhbnlob3cgKGJ1Z3ppbGxhIDI5OTApICovCisJaWYgKChlYmRhX2FkZHIgPT0gMCkgJiYgKGxvd21lbSA+PSAweDlmMDAwKSkKKwkJbG93bWVtID0gMHg5ZjAwMDsKKworCS8qIFBhcmFub2lhOiBzaG91bGQgbmV2ZXIgaGFwcGVuLCBidXQuLi4gKi8KKwlpZiAoKGxvd21lbSA9PSAwKSB8fCAobG93bWVtID49IDB4MTAwMDAwKSkKKwkJbG93bWVtID0gMHg5ZjAwMDsKKworCS8qIHJlc2VydmUgYWxsIG1lbW9yeSBiZXR3ZWVuIGxvd21lbSBhbmQgdGhlIDFNQiBtYXJrICovCisJcmVzZXJ2ZV9lYXJseV9vdmVybGFwX29rKGxvd21lbSwgMHgxMDAwMDAsICJCSU9TIHJlc2VydmVkIik7Cit9CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvaGVhZDMyLmMgYi9hcmNoL3g4Ni9rZXJuZWwvaGVhZDMyLmMKaW5kZXggM2RiMDU5MC4uZmExZDI1ZCAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL2hlYWQzMi5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9oZWFkMzIuYwpAQCAtOCw3ICs4LDM0IEBACiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgogI2luY2x1ZGUgPGxpbnV4L3N0YXJ0X2tlcm5lbC5oPgogCisjaW5jbHVkZSA8YXNtL3NldHVwLmg+CisjaW5jbHVkZSA8YXNtL3NlY3Rpb25zLmg+CisjaW5jbHVkZSA8YXNtL2U4MjAuaD4KKyNpbmNsdWRlIDxhc20vYmlvc19lYmRhLmg+CisKIHZvaWQgX19pbml0IGkzODZfc3RhcnRfa2VybmVsKHZvaWQpCiB7CisJcmVzZXJ2ZV9lYXJseShfX3BhX3N5bWJvbCgmX3RleHQpLCBfX3BhX3N5bWJvbCgmX2VuZCksICJURVhUIERBVEEgQlNTIik7CisKKyNpZmRlZiBDT05GSUdfQkxLX0RFVl9JTklUUkQKKwkvKiBSZXNlcnZlIElOSVRSRCAqLworCWlmIChib290X3BhcmFtcy5oZHIudHlwZV9vZl9sb2FkZXIgJiYgYm9vdF9wYXJhbXMuaGRyLnJhbWRpc2tfaW1hZ2UpIHsKKwkJdTY0IHJhbWRpc2tfaW1hZ2UgPSBib290X3BhcmFtcy5oZHIucmFtZGlza19pbWFnZTsKKwkJdTY0IHJhbWRpc2tfc2l6ZSAgPSBib290X3BhcmFtcy5oZHIucmFtZGlza19zaXplOworCQl1NjQgcmFtZGlza19lbmQgICA9IHJhbWRpc2tfaW1hZ2UgKyByYW1kaXNrX3NpemU7CisJCXJlc2VydmVfZWFybHkocmFtZGlza19pbWFnZSwgcmFtZGlza19lbmQsICJSQU1ESVNLIik7CisJfQorI2VuZGlmCisJcmVzZXJ2ZV9lYXJseShpbml0X3BnX3RhYmxlc19zdGFydCwgaW5pdF9wZ190YWJsZXNfZW5kLAorCQkJIklOSVRfUEdfVEFCTEUiKTsKKworCXJlc2VydmVfZWJkYV9yZWdpb24oKTsKKworCS8qCisJICogQXQgdGhpcyBwb2ludCBldmVyeXRoaW5nIHN0aWxsIG5lZWRlZCBmcm9tIHRoZSBib290IGxvYWRlcgorCSAqIG9yIEJJT1Mgb3Iga2VybmVsIHRleHQgc2hvdWxkIGJlIGVhcmx5IHJlc2VydmVkIG9yIG1hcmtlZCBub3QKKwkgKiBSQU0gaW4gZTgyMC4gQWxsIG90aGVyIG1lbW9yeSBpcyBmcmVlIGdhbWUuCisJICovCisKIAlzdGFydF9rZXJuZWwoKTsKIH0KZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9oZWFkNjQuYyBiL2FyY2gveDg2L2tlcm5lbC9oZWFkNjQuYwppbmRleCBlMjVjNTdiLi5jOTc4MTk4IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvaGVhZDY0LmMKKysrIGIvYXJjaC94ODYva2VybmVsL2hlYWQ2NC5jCkBAIC0yNSw2ICsyNSwyMCBAQAogI2luY2x1ZGUgPGFzbS9lODIwLmg+CiAjaW5jbHVkZSA8YXNtL2Jpb3NfZWJkYS5oPgogCisvKiBib290IGNwdSBwZGEgKi8KK3N0YXRpYyBzdHJ1Y3QgeDg2NjRfcGRhIF9ib290X2NwdV9wZGEgX19yZWFkX21vc3RseTsKKworI2lmZGVmIENPTkZJR19TTVAKKy8qCisgKiBXZSBpbnN0YWxsIGFuIGVtcHR5IGNwdV9wZGEgcG9pbnRlciB0YWJsZSB0byBpbmRpY2F0ZSB0byBlYXJseSB1c2VycworICogKG51bWFfc2V0X25vZGUpIHRoYXQgdGhlIGNwdV9wZGEgcG9pbnRlciB0YWJsZSBmb3IgY3B1cyBvdGhlciB0aGFuCisgKiB0aGUgYm9vdCBjcHUgaXMgbm90IHlldCBzZXR1cC4KKyAqLworc3RhdGljIHN0cnVjdCB4ODY2NF9wZGEgKl9fY3B1X3BkYVtOUl9DUFVTXSBfX2luaXRkYXRhOworI2Vsc2UKK3N0YXRpYyBzdHJ1Y3QgeDg2NjRfcGRhICpfX2NwdV9wZGFbTlJfQ1BVU10gX19yZWFkX21vc3RseTsKKyNlbmRpZgorCiBzdGF0aWMgdm9pZCBfX2luaXQgemFwX2lkZW50aXR5X21hcHBpbmdzKHZvaWQpCiB7CiAJcGdkX3QgKnBnZCA9IHBnZF9vZmZzZXRfaygwVUwpOwpAQCAtNTEsNzQgKzY1LDYgQEAKIAl9CiB9CiAKLSNkZWZpbmUgQklPU19MT1dNRU1fS0lMT0JZVEVTIDB4NDEzCi0KLS8qCi0gKiBUaGUgQklPUyBwbGFjZXMgdGhlIEVCREEvWEJEQSBhdCB0aGUgdG9wIG9mIGNvbnZlbnRpb25hbAotICogbWVtb3J5LCBhbmQgdXN1YWxseSBkZWNyZWFzZXMgdGhlIHJlcG9ydGVkIGFtb3VudCBvZgotICogY29udmVudGlvbmFsIG1lbW9yeSAoaW50IDB4MTIpIHRvby4gVGhpcyBhbHNvIGNvbnRhaW5zIGEKLSAqIHdvcmthcm91bmQgZm9yIERlbGwgc3lzdGVtcyB0aGF0IG5lZ2xlY3QgdG8gcmVzZXJ2ZSBFQkRBLgotICogVGhlIHNhbWUgd29ya2Fyb3VuZCBhbHNvIGF2b2lkcyBhIHByb2JsZW0gd2l0aCB0aGUgQU1ENzY4TVBYCi0gKiBjaGlwc2V0OiByZXNlcnZlIGEgcGFnZSBiZWZvcmUgVkdBIHRvIHByZXZlbnQgUENJIHByZWZldGNoCi0gKiBpbnRvIGl0IChlcnJhdGEgIzU2KS4gVXN1YWxseSB0aGUgcGFnZSBpcyByZXNlcnZlZCBhbnl3YXlzLAotICogdW5sZXNzIHlvdSBoYXZlIG5vIFBTLzIgbW91c2UgcGx1Z2dlZCBpbi4KLSAqLwotc3RhdGljIHZvaWQgX19pbml0IHJlc2VydmVfZWJkYV9yZWdpb24odm9pZCkKLXsKLQl1bnNpZ25lZCBpbnQgbG93bWVtLCBlYmRhX2FkZHI7Ci0KLQkvKiBUbyBkZXRlcm1pbmUgdGhlIHBvc2l0aW9uIG9mIHRoZSBFQkRBIGFuZCB0aGUgKi8KLQkvKiBlbmQgb2YgY29udmVudGlvbmFsIG1lbW9yeSwgd2UgbmVlZCB0byBsb29rIGF0ICovCi0JLyogdGhlIEJJT1MgZGF0YSBhcmVhLiBJbiBhIHBhcmF2aXJ0dWFsIGVudmlyb25tZW50ICovCi0JLyogdGhhdCBhcmVhIGlzIGFic2VudC4gV2UnbGwganVzdCBoYXZlIHRvIGFzc3VtZSAqLwotCS8qIHRoYXQgdGhlIHBhcmF2aXJ0IGNhc2UgY2FuIGhhbmRsZSBtZW1vcnkgc2V0dXAgKi8KLQkvKiBjb3JyZWN0bHksIHdpdGhvdXQgb3VyIGhlbHAuICovCi0JaWYgKHBhcmF2aXJ0X2VuYWJsZWQoKSkKLQkJcmV0dXJuOwotCi0JLyogZW5kIG9mIGxvdyAoY29udmVudGlvbmFsKSBtZW1vcnkgKi8KLQlsb3dtZW0gPSAqKHVuc2lnbmVkIHNob3J0ICopX192YShCSU9TX0xPV01FTV9LSUxPQllURVMpOwotCWxvd21lbSA8PD0gMTA7Ci0KLQkvKiBzdGFydCBvZiBFQkRBIGFyZWEgKi8KLQllYmRhX2FkZHIgPSBnZXRfYmlvc19lYmRhKCk7Ci0KLQkvKiBGaXh1cDogYmlvcyBwdXRzIGFuIEVCREEgaW4gdGhlIHRvcCA2NEsgc2VnbWVudCAqLwotCS8qIG9mIGNvbnZlbnRpb25hbCBtZW1vcnksIGJ1dCBkb2VzIG5vdCBhZGp1c3QgbG93bWVtLiAqLwotCWlmICgobG93bWVtIC0gZWJkYV9hZGRyKSA8PSAweDEwMDAwKQotCQlsb3dtZW0gPSBlYmRhX2FkZHI7Ci0KLQkvKiBGaXh1cDogYmlvcyBkb2VzIG5vdCByZXBvcnQgYW4gRUJEQSBhdCBhbGwuICovCi0JLyogU29tZSBvbGQgRGVsbHMgc2VlbSB0byBuZWVkIDRrIGFueWhvdyAoYnVnemlsbGEgMjk5MCkgKi8KLQlpZiAoKGViZGFfYWRkciA9PSAwKSAmJiAobG93bWVtID49IDB4OWYwMDApKQotCQlsb3dtZW0gPSAweDlmMDAwOwotCi0JLyogUGFyYW5vaWE6IHNob3VsZCBuZXZlciBoYXBwZW4sIGJ1dC4uLiAqLwotCWlmICgobG93bWVtID09IDApIHx8IChsb3dtZW0gPj0gMHgxMDAwMDApKQotCQlsb3dtZW0gPSAweDlmMDAwOwotCi0JLyogcmVzZXJ2ZSBhbGwgbWVtb3J5IGJldHdlZW4gbG93bWVtIGFuZCB0aGUgMU1CIG1hcmsgKi8KLQlyZXNlcnZlX2Vhcmx5KGxvd21lbSwgMHgxMDAwMDAsICJCSU9TIHJlc2VydmVkIik7Ci19Ci0KLXN0YXRpYyB2b2lkIF9faW5pdCByZXNlcnZlX3NldHVwX2RhdGEodm9pZCkKLXsKLQlzdHJ1Y3Qgc2V0dXBfZGF0YSAqZGF0YTsKLQl1bnNpZ25lZCBsb25nIHBhX2RhdGE7Ci0JY2hhciBidWZbMzJdOwotCi0JaWYgKGJvb3RfcGFyYW1zLmhkci52ZXJzaW9uIDwgMHgwMjA5KQotCQlyZXR1cm47Ci0JcGFfZGF0YSA9IGJvb3RfcGFyYW1zLmhkci5zZXR1cF9kYXRhOwotCXdoaWxlIChwYV9kYXRhKSB7Ci0JCWRhdGEgPSBlYXJseV9pb3JlbWFwKHBhX2RhdGEsIHNpemVvZigqZGF0YSkpOwotCQlzcHJpbnRmKGJ1ZiwgInNldHVwIGRhdGEgJXgiLCBkYXRhLT50eXBlKTsKLQkJcmVzZXJ2ZV9lYXJseShwYV9kYXRhLCBwYV9kYXRhK3NpemVvZigqZGF0YSkrZGF0YS0+bGVuLCBidWYpOwotCQlwYV9kYXRhID0gZGF0YS0+bmV4dDsKLQkJZWFybHlfaW91bm1hcChkYXRhLCBzaXplb2YoKmRhdGEpKTsKLQl9Ci19Ci0KIHZvaWQgX19pbml0IHg4Nl82NF9zdGFydF9rZXJuZWwoY2hhciAqIHJlYWxfbW9kZV9kYXRhKQogewogCWludCBpOwpAQCAtMTU2LDEwICsxMDIsMTcgQEAKIAogCWVhcmx5X3ByaW50aygiS2VybmVsIGFsaXZlXG4iKTsKIAotIAlmb3IgKGkgPSAwOyBpIDwgTlJfQ1BVUzsgaSsrKQotIAkJY3B1X3BkYShpKSA9ICZib290X2NwdV9wZGFbaV07Ci0KKwlfY3B1X3BkYSA9IF9fY3B1X3BkYTsKKwljcHVfcGRhKDApID0gJl9ib290X2NwdV9wZGE7CiAJcGRhX2luaXQoMCk7CisKKwllYXJseV9wcmludGsoIktlcm5lbCByZWFsbHkgYWxpdmVcbiIpOworCisJeDg2XzY0X3N0YXJ0X3Jlc2VydmF0aW9ucyhyZWFsX21vZGVfZGF0YSk7Cit9CisKK3ZvaWQgX19pbml0IHg4Nl82NF9zdGFydF9yZXNlcnZhdGlvbnMoY2hhciAqcmVhbF9tb2RlX2RhdGEpCit7CiAJY29weV9ib290ZGF0YShfX3ZhKHJlYWxfbW9kZV9kYXRhKSk7CiAKIAlyZXNlcnZlX2Vhcmx5KF9fcGFfc3ltYm9sKCZfdGV4dCksIF9fcGFfc3ltYm9sKCZfZW5kKSwgIlRFWFQgREFUQSBCU1MiKTsKQEAgLTE3NSw3ICsxMjgsNiBAQAogI2VuZGlmCiAKIAlyZXNlcnZlX2ViZGFfcmVnaW9uKCk7Ci0JcmVzZXJ2ZV9zZXR1cF9kYXRhKCk7CiAKIAkvKgogCSAqIEF0IHRoaXMgcG9pbnQgZXZlcnl0aGluZyBzdGlsbCBuZWVkZWQgZnJvbSB0aGUgYm9vdCBsb2FkZXIKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9oZWFkXzMyLlMgYi9hcmNoL3g4Ni9rZXJuZWwvaGVhZF8zMi5TCmluZGV4IGY3MzU3Y2MuLmY2N2U5MzQgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9oZWFkXzMyLlMKKysrIGIvYXJjaC94ODYva2VybmVsL2hlYWRfMzIuUwpAQCAtMTk0LDYgKzE5NCw3IEBACiAJeG9ybCAlZWJ4LCVlYngJCQkJLyogJWVieCBpcyBrZXB0IGF0IHplcm8gKi8KIAogCW1vdmwgJHBhKHBnMCksICVlZGkKKwltb3ZsICVlZGksIHBhKGluaXRfcGdfdGFibGVzX3N0YXJ0KQogCW1vdmwgJHBhKHN3YXBwZXJfcGdfcG1kKSwgJWVkeAogCW1vdmwgJFBURV9BVFRSLCAlZWF4CiAxMDoKQEAgLTIxOSw2ICsyMjAsOCBAQAogCWpiIDEwYgogMToKIAltb3ZsICVlZGkscGEoaW5pdF9wZ190YWJsZXNfZW5kKQorCXNocmwgJDEyLCAlZWF4CisJbW92bCAlZWF4LCBwYShtYXhfcGZuX21hcHBlZCkKIAogCS8qIERvIGVhcmx5IGluaXRpYWxpemF0aW9uIG9mIHRoZSBmaXhtYXAgYXJlYSAqLwogCW1vdmwgJHBhKHN3YXBwZXJfcGdfZml4bWFwKStQREVfQVRUUiwlZWF4CkBAIC0yMjgsNiArMjMxLDcgQEAKIHBhZ2VfcGRlX29mZnNldCA9IChfX1BBR0VfT0ZGU0VUID4+IDIwKTsKIAogCW1vdmwgJHBhKHBnMCksICVlZGkKKwltb3ZsICVlZGksIHBhKGluaXRfcGdfdGFibGVzX3N0YXJ0KQogCW1vdmwgJHBhKHN3YXBwZXJfcGdfZGlyKSwgJWVkeAogCW1vdmwgJFBURV9BVFRSLCAlZWF4CiAxMDoKQEAgLTI0OSw2ICsyNTMsOCBAQAogCWNtcGwgJWVicCwlZWF4CiAJamIgMTBiCiAJbW92bCAlZWRpLHBhKGluaXRfcGdfdGFibGVzX2VuZCkKKwlzaHJsICQxMiwgJWVheAorCW1vdmwgJWVheCwgcGEobWF4X3Bmbl9tYXBwZWQpCiAKIAkvKiBEbyBlYXJseSBpbml0aWFsaXphdGlvbiBvZiB0aGUgZml4bWFwIGFyZWEgKi8KIAltb3ZsICRwYShzd2FwcGVyX3BnX2ZpeG1hcCkrUERFX0FUVFIsJWVheApAQCAtNDQ2LDEwICs0NTIsMTMgQEAKIAlqZSAgIDFmCiAJbW92bCAkKF9fS0VSTkVMX1BFUkNQVSksICVlYXgKIAltb3ZsICVlYXgsJWZzCQkjIHNldCB0aGlzIGNwdSdzIHBlcmNwdQotCWptcCBpbml0aWFsaXplX3NlY29uZGFyeSAjIGFsbCBvdGhlciBDUFVzIGNhbGwgaW5pdGlhbGl6ZV9zZWNvbmRhcnkKKwltb3ZsIChzdGFja19zdGFydCksICVlc3AKIDE6CiAjZW5kaWYgLyogQ09ORklHX1NNUCAqLwotCWptcCBpMzg2X3N0YXJ0X2tlcm5lbAorCWptcCAqKGluaXRpYWxfY29kZSkKKy5hbGlnbiA0CitFTlRSWShpbml0aWFsX2NvZGUpCisJLmxvbmcgaTM4Nl9zdGFydF9rZXJuZWwKIAogLyoKICAqIFdlIGRlcGVuZCBvbiBFVCB0byBiZSBjb3JyZWN0LiBUaGlzIGNoZWNrcyBmb3IgMjg3LzM4Ny4KZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9oZWFkXzY0LlMgYi9hcmNoL3g4Ni9rZXJuZWwvaGVhZF82NC5TCmluZGV4IGI4MTc5NzQuLmIwN2FjN2IgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9oZWFkXzY0LlMKKysrIGIvYXJjaC94ODYva2VybmVsL2hlYWRfNjQuUwpAQCAtMTgsNiArMTgsNyBAQAogI2luY2x1ZGUgPGFzbS9wYWdlLmg+CiAjaW5jbHVkZSA8YXNtL21zci5oPgogI2luY2x1ZGUgPGFzbS9jYWNoZS5oPgorI2luY2x1ZGUgPGFzbS9wcm9jZXNzb3ItZmxhZ3MuaD4KIAogI2lmZGVmIENPTkZJR19QQVJBVklSVAogI2luY2x1ZGUgPGFzbS9hc20tb2Zmc2V0cy5oPgpAQCAtMzEsNiArMzIsMTMgQEAKICAqCiAgKi8KIAorI2RlZmluZSBwdWRfaW5kZXgoeCkJKCgoeCkgPj4gUFVEX1NISUZUKSAmIChQVFJTX1BFUl9QVUQtMSkpCisKK0w0X1BBR0VfT0ZGU0VUID0gcGdkX2luZGV4KF9fUEFHRV9PRkZTRVQpCitMM19QQUdFX09GRlNFVCA9IHB1ZF9pbmRleChfX1BBR0VfT0ZGU0VUKQorTDRfU1RBUlRfS0VSTkVMID0gcGdkX2luZGV4KF9fU1RBUlRfS0VSTkVMX21hcCkKK0wzX1NUQVJUX0tFUk5FTCA9IHB1ZF9pbmRleChfX1NUQVJUX0tFUk5FTF9tYXApCisKIAkudGV4dAogCS5zZWN0aW9uIC50ZXh0LmhlYWQKIAkuY29kZTY0CkBAIC03Niw4ICs4NCw4IEBACiAJLyogRml4dXAgdGhlIHBoeXNpY2FsIGFkZHJlc3NlcyBpbiB0aGUgcGFnZSB0YWJsZQogCSAqLwogCWFkZHEJJXJicCwgaW5pdF9sZXZlbDRfcGd0ICsgMCglcmlwKQotCWFkZHEJJXJicCwgaW5pdF9sZXZlbDRfcGd0ICsgKDI1OCo4KSglcmlwKQotCWFkZHEJJXJicCwgaW5pdF9sZXZlbDRfcGd0ICsgKDUxMSo4KSglcmlwKQorCWFkZHEJJXJicCwgaW5pdF9sZXZlbDRfcGd0ICsgKEw0X1BBR0VfT0ZGU0VUKjgpKCVyaXApCisJYWRkcQklcmJwLCBpbml0X2xldmVsNF9wZ3QgKyAoTDRfU1RBUlRfS0VSTkVMKjgpKCVyaXApCiAKIAlhZGRxCSVyYnAsIGxldmVsM19pZGVudF9wZ3QgKyAwKCVyaXApCiAKQEAgLTE1NCw5ICsxNjIsNyBAQAogCSAqLwogCiAJLyogRW5hYmxlIFBBRSBtb2RlIGFuZCBQR0UgKi8KLQl4b3JxCSVyYXgsICVyYXgKLQlidHNxCSQ1LCAlcmF4Ci0JYnRzcQkkNywgJXJheAorCW1vdmwJJChYODZfQ1I0X1BBRSB8IFg4Nl9DUjRfUEdFKSwgJWVheAogCW1vdnEJJXJheCwgJWNyNAogCiAJLyogU2V0dXAgZWFybHkgYm9vdCBzdGFnZSA0IGxldmVsIHBhZ2V0YWJsZXMuICovCkBAIC0xODQsMTkgKzE5MCwxNSBAQAogMToJd3Jtc3IJCQkJLyogTWFrZSBjaGFuZ2VzIGVmZmVjdGl2ZSAqLwogCiAJLyogU2V0dXAgY3IwICovCi0jZGVmaW5lIENSMF9QTQkJCQkxCQkvKiBwcm90ZWN0ZWQgbW9kZSAqLwotI2RlZmluZSBDUjBfTVAJCQkJKDE8PDEpCi0jZGVmaW5lIENSMF9FVAkJCQkoMTw8NCkKLSNkZWZpbmUgQ1IwX05FCQkJCSgxPDw1KQotI2RlZmluZSBDUjBfV1AJCQkJKDE8PDE2KQotI2RlZmluZSBDUjBfQU0JCQkJKDE8PDE4KQotI2RlZmluZSBDUjBfUEFHSU5HIAkJCSgxPDwzMSkKLQltb3ZsICRDUjBfUE18Q1IwX01QfENSMF9FVHxDUjBfTkV8Q1IwX1dQfENSMF9BTXxDUjBfUEFHSU5HLCVlYXgKKyNkZWZpbmUgQ1IwX1NUQVRFCShYODZfQ1IwX1BFIHwgWDg2X0NSMF9NUCB8IFg4Nl9DUjBfRVQgfCBcCisJCQkgWDg2X0NSMF9ORSB8IFg4Nl9DUjBfV1AgfCBYODZfQ1IwX0FNIHwgXAorCQkJIFg4Nl9DUjBfUEcpCisJbW92bAkkQ1IwX1NUQVRFLCAlZWF4CiAJLyogTWFrZSBjaGFuZ2VzIGVmZmVjdGl2ZSAqLwogCW1vdnEJJXJheCwgJWNyMAogCiAJLyogU2V0dXAgYSBib290IHRpbWUgc3RhY2sgKi8KLQltb3ZxIGluaXRfcnNwKCVyaXApLCVyc3AKKwltb3ZxIHN0YWNrX3N0YXJ0KCVyaXApLCVyc3AKIAogCS8qIHplcm8gRUZMQUdTIGFmdGVyIHNldHRpbmcgcnNwICovCiAJcHVzaHEgJDAKQEAgLTIwOCw3ICsyMTAsNyBAQAogCSAqIGFkZHJlc3NlcyB3aGVyZSB3ZSdyZSBjdXJyZW50bHkgcnVubmluZyBvbi4gV2UgaGF2ZSB0byBkbyB0aGF0IGhlcmUKIAkgKiBiZWNhdXNlIGluIDMyYml0IHdlIGNvdWxkbid0IGxvYWQgYSA2NGJpdCBsaW5lYXIgYWRkcmVzcy4KIAkgKi8KLQlsZ2R0CWNwdV9nZHRfZGVzY3IoJXJpcCkKKwlsZ2R0CWVhcmx5X2dkdF9kZXNjciglcmlwKQogCiAJLyogc2V0IHVwIGRhdGEgc2VnbWVudHMuIGFjdHVhbGx5IDAgd291bGQgZG8gdG9vICovCiAJbW92bCAkX19LRVJORUxfRFMsJWVheApAQCAtMjU3LDggKzI1OSw5IEBACiAJLnF1YWQJeDg2XzY0X3N0YXJ0X2tlcm5lbAogCV9fRklOSVREQVRBCiAKLQlFTlRSWShpbml0X3JzcCkKKwlFTlRSWShzdGFja19zdGFydCkKIAkucXVhZCAgaW5pdF90aHJlYWRfdW5pb24rVEhSRUFEX1NJWkUtOAorCS53b3JkICAwCiAKIGJhZF9hZGRyZXNzOgogCWptcCBiYWRfYWRkcmVzcwpAQCAtMzI3LDExICszMzAsMTEgQEAKIEVOVFJZKG5hbWUpCiAKIC8qIEF1dG9tYXRlIHRoZSBjcmVhdGlvbiBvZiAxIHRvIDEgbWFwcGluZyBwbWQgZW50cmllcyAqLwotI2RlZmluZSBQTURTKFNUQVJULCBQRVJNLCBDT1VOVCkJCVwKLQlpID0gMCA7CQkJCQlcCi0JLnJlcHQgKENPVU5UKSA7CQkJCVwKLQkucXVhZAkoU1RBUlQpICsgKGkgPDwgMjEpICsgKFBFUk0pIDsJXAotCWkgPSBpICsgMSA7CQkJCVwKKyNkZWZpbmUgUE1EUyhTVEFSVCwgUEVSTSwgQ09VTlQpCQkJXAorCWkgPSAwIDsJCQkJCQlcCisJLnJlcHQgKENPVU5UKSA7CQkJCQlcCisJLnF1YWQJKFNUQVJUKSArIChpIDw8IFBNRF9TSElGVCkgKyAoUEVSTSkgOwlcCisJaSA9IGkgKyAxIDsJCQkJCVwKIAkuZW5kcgogCiAJLyoKQEAgLTM0Miw5ICszNDUsOSBAQAogCSAqLwogTkVYVF9QQUdFKGluaXRfbGV2ZWw0X3BndCkKIAkucXVhZAlsZXZlbDNfaWRlbnRfcGd0IC0gX19TVEFSVF9LRVJORUxfbWFwICsgX0tFUk5QR19UQUJMRQotCS5maWxsCTI1Nyw4LDAKKwkub3JnCWluaXRfbGV2ZWw0X3BndCArIEw0X1BBR0VfT0ZGU0VUKjgsIDAKIAkucXVhZAlsZXZlbDNfaWRlbnRfcGd0IC0gX19TVEFSVF9LRVJORUxfbWFwICsgX0tFUk5QR19UQUJMRQotCS5maWxsCTI1Miw4LDAKKwkub3JnCWluaXRfbGV2ZWw0X3BndCArIEw0X1NUQVJUX0tFUk5FTCo4LCAwCiAJLyogKDJeNDgtKDIqMTAyNCoxMDI0KjEwMjQpKS8oMl4zOSkgPSA1MTEgKi8KIAkucXVhZAlsZXZlbDNfa2VybmVsX3BndCAtIF9fU1RBUlRfS0VSTkVMX21hcCArIF9QQUdFX1RBQkxFCiAKQEAgLTM1Myw3ICszNTYsNyBAQAogCS5maWxsCTUxMSw4LDAKIAogTkVYVF9QQUdFKGxldmVsM19rZXJuZWxfcGd0KQotCS5maWxsCTUxMCw4LDAKKwkuZmlsbAlMM19TVEFSVF9LRVJORUwsOCwwCiAJLyogKDJeNDgtKDIqMTAyNCoxMDI0KjEwMjQpLSgoMl4zOSkqNTExKSkvKDJeMzApID0gNTEwICovCiAJLnF1YWQJbGV2ZWwyX2tlcm5lbF9wZ3QgLSBfX1NUQVJUX0tFUk5FTF9tYXAgKyBfS0VSTlBHX1RBQkxFCiAJLnF1YWQJbGV2ZWwyX2ZpeG1hcF9wZ3QgLSBfX1NUQVJUX0tFUk5FTF9tYXAgKyBfUEFHRV9UQUJMRQpAQCAtMzg0LDcgKzM4Nyw3IEBACiAJICogIElmIHlvdSB3YW50IHRvIGluY3JlYXNlIHRoaXMgdGhlbiBpbmNyZWFzZSBNT0RVTEVTX1ZBRERSCiAJICogIHRvby4pCiAJICovCi0JUE1EUygwLCBfX1BBR0VfS0VSTkVMX0xBUkdFX0VYRUN8X1BBR0VfR0xPQkFMLAorCVBNRFMoMCwgX19QQUdFX0tFUk5FTF9MQVJHRV9FWEVDLAogCQlLRVJORUxfSU1BR0VfU0laRS9QTURfU0laRSkKIAogTkVYVF9QQUdFKGxldmVsMl9zcGFyZV9wZ3QpCkBAIC0zOTUsNTQgKzM5OCwxNiBAQAogCiAJLmRhdGEKIAkuYWxpZ24gMTYKLQkuZ2xvYmwgY3B1X2dkdF9kZXNjcgotY3B1X2dkdF9kZXNjcjoKLQkud29yZAlnZHRfZW5kLWNwdV9nZHRfdGFibGUtMQotZ2R0OgotCS5xdWFkCWNwdV9nZHRfdGFibGUKLSNpZmRlZiBDT05GSUdfU01QCi0JLnJlcHQJTlJfQ1BVUy0xCi0JLndvcmQJMAotCS5xdWFkCTAKLQkuZW5kcgotI2VuZGlmCisJLmdsb2JsIGVhcmx5X2dkdF9kZXNjcgorZWFybHlfZ2R0X2Rlc2NyOgorCS53b3JkCUdEVF9FTlRSSUVTKjgtMQorCS5xdWFkICAgcGVyX2NwdV9fZ2R0X3BhZ2UKIAogRU5UUlkocGh5c19iYXNlKQogCS8qIFRoaXMgbXVzdCBtYXRjaCB0aGUgZmlyc3QgZW50cnkgaW4gbGV2ZWwyX2tlcm5lbF9wZ3QgKi8KIAkucXVhZCAgIDB4MDAwMDAwMDAwMDAwMDAwMAogCi0vKiBXZSBuZWVkIHZhbGlkIGtlcm5lbCBzZWdtZW50cyBmb3IgZGF0YSBhbmQgY29kZSBpbiBsb25nIG1vZGUgdG9vCi0gKiBJUkVUIHdpbGwgY2hlY2sgdGhlIHNlZ21lbnQgdHlwZXMgIGtrZWlsIDIwMDAvMTAvMjgKLSAqIEFsc28gc3lzcmV0IG1hbmRhdGVzIGEgc3BlY2lhbCBHRFQgbGF5b3V0IAotICovCi0JCSAJCQotCS5zZWN0aW9uIC5kYXRhLnBhZ2VfYWxpZ25lZCwgImF3IgotCS5hbGlnbiBQQUdFX1NJWkUKLQotLyogVGhlIFRMUyBkZXNjcmlwdG9ycyBhcmUgY3VycmVudGx5IGF0IGEgZGlmZmVyZW50IHBsYWNlIGNvbXBhcmVkIHRvIGkzODYuCi0gICBIb3BlZnVsbHkgbm9ib2R5IGV4cGVjdHMgdGhlbSBhdCBhIGZpeGVkIHBsYWNlIChXaW5lPykgKi8KIAkKLUVOVFJZKGNwdV9nZHRfdGFibGUpCi0JLnF1YWQJMHgwMDAwMDAwMDAwMDAwMDAwCS8qIE5VTEwgZGVzY3JpcHRvciAqLwotCS5xdWFkCTB4MDBjZjliMDAwMDAwZmZmZgkvKiBfX0tFUk5FTDMyX0NTICovCi0JLnF1YWQJMHgwMGFmOWIwMDAwMDBmZmZmCS8qIF9fS0VSTkVMX0NTICovCi0JLnF1YWQJMHgwMGNmOTMwMDAwMDBmZmZmCS8qIF9fS0VSTkVMX0RTICovCi0JLnF1YWQJMHgwMGNmZmIwMDAwMDBmZmZmCS8qIF9fVVNFUjMyX0NTICovCi0JLnF1YWQJMHgwMGNmZjMwMDAwMDBmZmZmCS8qIF9fVVNFUl9EUywgX19VU0VSMzJfRFMgICovCi0JLnF1YWQJMHgwMGFmZmIwMDAwMDBmZmZmCS8qIF9fVVNFUl9DUyAqLwotCS5xdWFkCTB4MAkJCS8qIHVudXNlZCAqLwotCS5xdWFkCTAsMAkJCS8qIFRTUyAqLwotCS5xdWFkCTAsMAkJCS8qIExEVCAqLwotCS5xdWFkICAgMCwwLDAJCQkvKiB0aHJlZSBUTFMgZGVzY3JpcHRvcnMgKi8gCi0JLnF1YWQJMHgwMDAwZjQwMDAwMDAwMDAwCS8qIG5vZGUvQ1BVIHN0b3JlZCBpbiBsaW1pdCAqLwotZ2R0X2VuZDoJCi0JLyogYXNtL3NlZ21lbnQuaDpHRFRfRU5UUklFUyBtdXN0IG1hdGNoIHRoaXMgKi8JCi0JLyogVGhpcyBzaG91bGQgYmUgYSBtdWx0aXBsZSBvZiB0aGUgY2FjaGUgbGluZSBzaXplICovCi0JLyogR0RUcyBvZiBvdGhlciBDUFVzIGFyZSBub3cgZHluYW1pY2FsbHkgYWxsb2NhdGVkICovCi0KLQkvKiB6ZXJvIHRoZSByZW1haW5pbmcgcGFnZSAqLwotCS5maWxsIFBBR0VfU0laRSAvIDggLSBHRFRfRU5UUklFUyw4LDAKLQogCS5zZWN0aW9uIC5ic3MsICJhdyIsIEBub2JpdHMKIAkuYWxpZ24gTDFfQ0FDSEVfQllURVMKIEVOVFJZKGlkdF90YWJsZSkKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9ocGV0LmMgYi9hcmNoL3g4Ni9rZXJuZWwvaHBldC5jCmluZGV4IDliNWNmY2QuLjBlYTZhMTkgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9ocGV0LmMKKysrIGIvYXJjaC94ODYva2VybmVsL2hwZXQuYwpAQCAtMTcsNyArMTcsNyBAQAogCiAvKiBGU0VDID0gMTBeLTE1CiAgICBOU0VDID0gMTBeLTkgKi8KLSNkZWZpbmUgRlNFQ19QRVJfTlNFQwkxMDAwMDAwCisjZGVmaW5lIEZTRUNfUEVSX05TRUMJMTAwMDAwMEwKIAogLyoKICAqIEhQRVQgYWRkcmVzcyBpcyBzZXQgaW4gYWNwaS9ib290LmMsIHdoZW4gYW4gQUNQSSBlbnRyeSBleGlzdHMKQEAgLTM2LDI2ICszNiwxNSBAQAogfQogCiAjaWZkZWYgQ09ORklHX1g4Nl82NAotCiAjaW5jbHVkZSA8YXNtL3BndGFibGUuaD4KLQotc3RhdGljIGlubGluZSB2b2lkIGhwZXRfc2V0X21hcHBpbmcodm9pZCkKLXsKLQlzZXRfZml4bWFwX25vY2FjaGUoRklYX0hQRVRfQkFTRSwgaHBldF9hZGRyZXNzKTsKLQlfX3NldF9maXhtYXAoVlNZU0NBTExfSFBFVCwgaHBldF9hZGRyZXNzLCBQQUdFX0tFUk5FTF9WU1lTQ0FMTF9OT0NBQ0hFKTsKLQlocGV0X3ZpcnRfYWRkcmVzcyA9ICh2b2lkIF9faW9tZW0gKilmaXhfdG9fdmlydChGSVhfSFBFVF9CQVNFKTsKLX0KLQotc3RhdGljIGlubGluZSB2b2lkIGhwZXRfY2xlYXJfbWFwcGluZyh2b2lkKQotewotCWhwZXRfdmlydF9hZGRyZXNzID0gTlVMTDsKLX0KLQotI2Vsc2UKKyNlbmRpZgogCiBzdGF0aWMgaW5saW5lIHZvaWQgaHBldF9zZXRfbWFwcGluZyh2b2lkKQogewogCWhwZXRfdmlydF9hZGRyZXNzID0gaW9yZW1hcF9ub2NhY2hlKGhwZXRfYWRkcmVzcywgSFBFVF9NTUFQX1NJWkUpOworI2lmZGVmIENPTkZJR19YODZfNjQKKwlfX3NldF9maXhtYXAoVlNZU0NBTExfSFBFVCwgaHBldF9hZGRyZXNzLCBQQUdFX0tFUk5FTF9WU1lTQ0FMTF9OT0NBQ0hFKTsKKyNlbmRpZgogfQogCiBzdGF0aWMgaW5saW5lIHZvaWQgaHBldF9jbGVhcl9tYXBwaW5nKHZvaWQpCkBAIC02Myw3ICs1Miw2IEBACiAJaW91bm1hcChocGV0X3ZpcnRfYWRkcmVzcyk7CiAJaHBldF92aXJ0X2FkZHJlc3MgPSBOVUxMOwogfQotI2VuZGlmCiAKIC8qCiAgKiBIUEVUIGNvbW1hbmQgbGluZSBlbmFibGUgLyBkaXNhYmxlCkBAIC0yMDYsMjAgKzE5NCwxOSBAQAogCiBzdGF0aWMgdm9pZCBocGV0X2xlZ2FjeV9jbG9ja2V2ZW50X3JlZ2lzdGVyKHZvaWQpCiB7Ci0JdWludDY0X3QgaHBldF9mcmVxOwotCiAJLyogU3RhcnQgSFBFVCBsZWdhY3kgaW50ZXJydXB0cyAqLwogCWhwZXRfZW5hYmxlX2xlZ2FjeV9pbnQoKTsKIAogCS8qCi0JICogVGhlIHBlcmlvZCBpcyBhIGZlbXRvIHNlY29uZHMgdmFsdWUuIFdlIG5lZWQgdG8gY2FsY3VsYXRlIHRoZQotCSAqIHNjYWxlZCBtYXRoIG11bHRpcGxpY2F0aW9uIGZhY3RvciBmb3IgbmFub3NlY29uZCB0byBocGV0IHRpY2sKLQkgKiBjb252ZXJzaW9uLgorCSAqIFRoZSBtdWx0IGZhY3RvciBpcyBkZWZpbmVkIGFzIChpbmNsdWRlL2xpbnV4L2Nsb2NrY2hpcHMuaCkKKwkgKiAgbXVsdC8yXnNoaWZ0ID0gY3ljL25zIChpbiBjb250cmFzdCB0byBucy9jeWMgaW4gY2xvY2tzb3VyY2UuaCkKKwkgKiBocGV0X3BlcmlvZCBpcyBpbiB1bml0cyBvZiBmZW10b3NlY29uZHMgKHBlciBjeWNsZSksIHNvCisJICogIG11bHQvMl5zaGlmdCA9IGN5Yy9ucyA9IDEwXjYvaHBldF9wZXJpb2QKKwkgKiAgbXVsdCA9ICgxMF42ICogMl5zaGlmdCkvaHBldF9wZXJpb2QKKwkgKiAgbXVsdCA9IChGU0VDX1BFUl9OU0VDIDw8IGhwZXRfY2xvY2tldmVudC5zaGlmdCkvaHBldF9wZXJpb2QKIAkgKi8KLQlocGV0X2ZyZXEgPSAxMDAwMDAwMDAwMDAwMDAwVUxMOwotCWRvX2RpdihocGV0X2ZyZXEsIGhwZXRfcGVyaW9kKTsKLQlocGV0X2Nsb2NrZXZlbnQubXVsdCA9IGRpdl9zYygodW5zaWduZWQgbG9uZykgaHBldF9mcmVxLAotCQkJCSAgICAgIE5TRUNfUEVSX1NFQywgaHBldF9jbG9ja2V2ZW50LnNoaWZ0KTsKKwlocGV0X2Nsb2NrZXZlbnQubXVsdCA9IGRpdl9zYygodW5zaWduZWQgbG9uZykgRlNFQ19QRVJfTlNFQywKKwkJCQkgICAgICBocGV0X3BlcmlvZCwgaHBldF9jbG9ja2V2ZW50LnNoaWZ0KTsKIAkvKiBDYWxjdWxhdGUgdGhlIG1pbiAvIG1heCBkZWx0YSAqLwogCWhwZXRfY2xvY2tldmVudC5tYXhfZGVsdGFfbnMgPSBjbG9ja2V2ZW50X2RlbHRhMm5zKDB4N0ZGRkZGRkYsCiAJCQkJCQkJICAgJmhwZXRfY2xvY2tldmVudCk7CkBAIC0zMjQsNyArMzExLDcgQEAKIAogc3RhdGljIGludCBocGV0X2Nsb2Nrc291cmNlX3JlZ2lzdGVyKHZvaWQpCiB7Ci0JdTY0IHRtcCwgc3RhcnQsIG5vdzsKKwl1NjQgc3RhcnQsIG5vdzsKIAljeWNsZV90IHQxOwogCiAJLyogU3RhcnQgdGhlIGNvdW50ZXIgKi8KQEAgLTM1MSwyMSArMzM4LDE1IEBACiAJCXJldHVybiAtRU5PREVWOwogCX0KIAotCS8qIEluaXRpYWxpemUgYW5kIHJlZ2lzdGVyIEhQRVQgY2xvY2tzb3VyY2UKLQkgKgotCSAqIGhwZXQgcGVyaW9kIGlzIGluIGZlbXRvIHNlY29uZHMgcGVyIGN5Y2xlCi0JICogc28gd2UgbmVlZCB0byBjb252ZXJ0IHRoaXMgdG8gbnMvY3ljIHVuaXRzCi0JICogYXBwcm94aW1hdGVkIGJ5IG11bHQvMl5zaGlmdAotCSAqCi0JICogIGZzZWMvY3ljICogMW5zZWMvMTAwMDAwMGZzZWMgPSBuc2VjL2N5YyA9IG11bHQvMl5zaGlmdAotCSAqICBmc2VjL2N5YyAqIDFucy8xMDAwMDAwZnNlYyAqIDJec2hpZnQgPSBtdWx0Ci0JICogIGZzZWMvY3ljICogMl5zaGlmdCAqIDFuc2VjLzEwMDAwMDBmc2VjID0gbXVsdAotCSAqICAoZnNlYy9jeWMgPDwgc2hpZnQpLzEwMDAwMDAgPSBtdWx0Ci0JICogIChocGV0X3BlcmlvZCA8PCBzaGlmdCkvRlNFQ19QRVJfTlNFQyA9IG11bHQKKwkvKgorCSAqIFRoZSBkZWZpbml0aW9uIG9mIG11bHQgaXMgKGluY2x1ZGUvbGludXgvY2xvY2tzb3VyY2UuaCkKKwkgKiBtdWx0LzJec2hpZnQgPSBucy9jeWMgYW5kIGhwZXRfcGVyaW9kIGlzIGluIHVuaXRzIG9mIGZzZWMvY3ljCisJICogc28gd2UgZmlyc3QgbmVlZCB0byBjb252ZXJ0IGhwZXRfcGVyaW9kIHRvIG5zL2N5YyB1bml0czoKKwkgKiAgbXVsdC8yXnNoaWZ0ID0gbnMvY3ljID0gaHBldF9wZXJpb2QvMTBeNgorCSAqICBtdWx0ID0gKGhwZXRfcGVyaW9kICogMl5zaGlmdCkvMTBeNgorCSAqICBtdWx0ID0gKGhwZXRfcGVyaW9kIDw8IHNoaWZ0KS9GU0VDX1BFUl9OU0VDCiAJICovCi0JdG1wID0gKHU2NClocGV0X3BlcmlvZCA8PCBIUEVUX1NISUZUOwotCWRvX2Rpdih0bXAsIEZTRUNfUEVSX05TRUMpOwotCWNsb2Nrc291cmNlX2hwZXQubXVsdCA9ICh1MzIpdG1wOworCWNsb2Nrc291cmNlX2hwZXQubXVsdCA9IGRpdl9zYyhocGV0X3BlcmlvZCwgRlNFQ19QRVJfTlNFQywgSFBFVF9TSElGVCk7CiAKIAljbG9ja3NvdXJjZV9yZWdpc3RlcigmY2xvY2tzb3VyY2VfaHBldCk7CiAKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9pMzg2X2tzeW1zXzMyLmMgYi9hcmNoL3g4Ni9rZXJuZWwvaTM4Nl9rc3ltc18zMi5jCmluZGV4IGRlYjQzNzguLmRkN2ViZWUgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9pMzg2X2tzeW1zXzMyLmMKKysrIGIvYXJjaC94ODYva2VybmVsL2kzODZfa3N5bXNfMzIuYwpAQCAtMSw3ICsxLDE0IEBACiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisKICNpbmNsdWRlIDxhc20vY2hlY2tzdW0uaD4KLSNpbmNsdWRlIDxhc20vZGVzYy5oPgogI2luY2x1ZGUgPGFzbS9wZ3RhYmxlLmg+CisjaW5jbHVkZSA8YXNtL2Rlc2MuaD4KKyNpbmNsdWRlIDxhc20vZnRyYWNlLmg+CisKKyNpZmRlZiBDT05GSUdfRlRSQUNFCisvKiBtY291bnQgaXMgZGVmaW5lZCBpbiBhc3NlbWJseSAqLworRVhQT1JUX1NZTUJPTChtY291bnQpOworI2VuZGlmCiAKIC8qIE5ldHdvcmtpbmcgaGVscGVyIHJvdXRpbmVzLiAqLwogRVhQT1JUX1NZTUJPTChjc3VtX3BhcnRpYWxfY29weV9nZW5lcmljKTsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9pMzg3LmMgYi9hcmNoL3g4Ni9rZXJuZWwvaTM4Ny5jCmluZGV4IDk1ZTgwZTUuLmViOWRkZDggMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9pMzg3LmMKKysrIGIvYXJjaC94ODYva2VybmVsL2kzODcuYwpAQCAtMTYyLDcgKzE2Miw3IEBACiAJaW50IHJldDsKIAogCWlmICghY3B1X2hhc19meHNyKQotCQlyZXR1cm4gLUVJTzsKKwkJcmV0dXJuIC1FTk9ERVY7CiAKIAlyZXQgPSBpbml0X2ZwdSh0YXJnZXQpOwogCWlmIChyZXQpCkBAIC0xNzksNyArMTc5LDcgQEAKIAlpbnQgcmV0OwogCiAJaWYgKCFjcHVfaGFzX2Z4c3IpCi0JCXJldHVybiAtRUlPOworCQlyZXR1cm4gLUVOT0RFVjsKIAogCXJldCA9IGluaXRfZnB1KHRhcmdldCk7CiAJaWYgKHJldCkKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9pODI1OV8zMi5jIGIvYXJjaC94ODYva2VybmVsL2k4MjU5LmMKc2ltaWxhcml0eSBpbmRleCA3MCUKcmVuYW1lIGZyb20gYXJjaC94ODYva2VybmVsL2k4MjU5XzMyLmMKcmVuYW1lIHRvIGFyY2gveDg2L2tlcm5lbC9pODI1OS5jCmluZGV4IGZlNjMxOTY3Li5kYzkyYjQ5IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvaTgyNTlfMzIuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvaTgyNTkuYwpAQCAtMSw4ICsxLDEwIEBACisjaW5jbHVkZSA8bGludXgvbGlua2FnZS5oPgogI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CiAjaW5jbHVkZSA8bGludXgvc2lnbmFsLmg+CiAjaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KICNpbmNsdWRlIDxsaW51eC9pb3BvcnQuaD4KICNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KKyNpbmNsdWRlIDxsaW51eC90aW1leC5oPgogI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KICNpbmNsdWRlIDxsaW51eC9yYW5kb20uaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CkBAIC0xMCwxMCArMTIsMTIgQEAKICNpbmNsdWRlIDxsaW51eC9zeXNkZXYuaD4KICNpbmNsdWRlIDxsaW51eC9iaXRvcHMuaD4KIAorI2luY2x1ZGUgPGFzbS9hY3BpLmg+CiAjaW5jbHVkZSA8YXNtL2F0b21pYy5oPgogI2luY2x1ZGUgPGFzbS9zeXN0ZW0uaD4KICNpbmNsdWRlIDxhc20vaW8uaD4KICNpbmNsdWRlIDxhc20vdGltZXIuaD4KKyNpbmNsdWRlIDxhc20vaHdfaXJxLmg+CiAjaW5jbHVkZSA8YXNtL3BndGFibGUuaD4KICNpbmNsdWRlIDxhc20vZGVsYXkuaD4KICNpbmNsdWRlIDxhc20vZGVzYy5oPgpAQCAtMzIsNyArMzYsNyBAQAogREVGSU5FX1NQSU5MT0NLKGk4MjU5QV9sb2NrKTsKIHN0YXRpYyB2b2lkIG1hc2tfYW5kX2Fja184MjU5QSh1bnNpZ25lZCBpbnQpOwogCi1zdGF0aWMgc3RydWN0IGlycV9jaGlwIGk4MjU5QV9jaGlwID0geworc3RydWN0IGlycV9jaGlwIGk4MjU5QV9jaGlwID0gewogCS5uYW1lCQk9ICJYVC1QSUMiLAogCS5tYXNrCQk9IGRpc2FibGVfODI1OUFfaXJxLAogCS5kaXNhYmxlCT0gZGlzYWJsZV84MjU5QV9pcnEsCkBAIC0xMjUsMTQgKzEyOSwxNCBAQAogCWludCBpcnFtYXNrID0gMTw8aXJxOwogCiAJaWYgKGlycSA8IDgpIHsKLQkJb3V0YigweDBCLFBJQ19NQVNURVJfQ01EKTsJLyogSVNSIHJlZ2lzdGVyICovCisJCW91dGIoMHgwQiwgUElDX01BU1RFUl9DTUQpOwkvKiBJU1IgcmVnaXN0ZXIgKi8KIAkJdmFsdWUgPSBpbmIoUElDX01BU1RFUl9DTUQpICYgaXJxbWFzazsKLQkJb3V0YigweDBBLFBJQ19NQVNURVJfQ01EKTsJLyogYmFjayB0byB0aGUgSVJSIHJlZ2lzdGVyICovCisJCW91dGIoMHgwQSwgUElDX01BU1RFUl9DTUQpOwkvKiBiYWNrIHRvIHRoZSBJUlIgcmVnaXN0ZXIgKi8KIAkJcmV0dXJuIHZhbHVlOwogCX0KLQlvdXRiKDB4MEIsUElDX1NMQVZFX0NNRCk7CS8qIElTUiByZWdpc3RlciAqLworCW91dGIoMHgwQiwgUElDX1NMQVZFX0NNRCk7CS8qIElTUiByZWdpc3RlciAqLwogCXZhbHVlID0gaW5iKFBJQ19TTEFWRV9DTUQpICYgKGlycW1hc2sgPj4gOCk7Ci0Jb3V0YigweDBBLFBJQ19TTEFWRV9DTUQpOwkvKiBiYWNrIHRvIHRoZSBJUlIgcmVnaXN0ZXIgKi8KKwlvdXRiKDB4MEEsIFBJQ19TTEFWRV9DTUQpOwkvKiBiYWNrIHRvIHRoZSBJUlIgcmVnaXN0ZXIgKi8KIAlyZXR1cm4gdmFsdWU7CiB9CiAKQEAgLTE3MSwxMiArMTc1LDE0IEBACiAJaWYgKGlycSAmIDgpIHsKIAkJaW5iKFBJQ19TTEFWRV9JTVIpOwkvKiBEVU1NWSAtIChkbyB3ZSBuZWVkIHRoaXM/KSAqLwogCQlvdXRiKGNhY2hlZF9zbGF2ZV9tYXNrLCBQSUNfU0xBVkVfSU1SKTsKLQkJb3V0YigweDYwKyhpcnEmNyksUElDX1NMQVZFX0NNRCk7LyogJ1NwZWNpZmljIEVPSScgdG8gc2xhdmUgKi8KLQkJb3V0YigweDYwK1BJQ19DQVNDQURFX0lSLFBJQ19NQVNURVJfQ01EKTsgLyogJ1NwZWNpZmljIEVPSScgdG8gbWFzdGVyLUlSUTIgKi8KKwkJLyogJ1NwZWNpZmljIEVPSScgdG8gc2xhdmUgKi8KKwkJb3V0YigweDYwKyhpcnEmNyksIFBJQ19TTEFWRV9DTUQpOworCQkgLyogJ1NwZWNpZmljIEVPSScgdG8gbWFzdGVyLUlSUTIgKi8KKwkJb3V0YigweDYwK1BJQ19DQVNDQURFX0lSLCBQSUNfTUFTVEVSX0NNRCk7CiAJfSBlbHNlIHsKIAkJaW5iKFBJQ19NQVNURVJfSU1SKTsJLyogRFVNTVkgLSAoZG8gd2UgbmVlZCB0aGlzPykgKi8KIAkJb3V0YihjYWNoZWRfbWFzdGVyX21hc2ssIFBJQ19NQVNURVJfSU1SKTsKLQkJb3V0YigweDYwK2lycSxQSUNfTUFTVEVSX0NNRCk7CS8qICdTcGVjaWZpYyBFT0kgdG8gbWFzdGVyICovCisJCW91dGIoMHg2MCtpcnEsIFBJQ19NQVNURVJfQ01EKTsJLyogJ1NwZWNpZmljIEVPSSB0byBtYXN0ZXIgKi8KIAl9CiAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmaTgyNTlBX2xvY2ssIGZsYWdzKTsKIAlyZXR1cm47CkBAIC0xOTksNyArMjA1LDggQEAKIAkJICogbGV0cyBBQ0sgYW5kIHJlcG9ydCBpdC4gW29uY2UgcGVyIElSUV0KIAkJICovCiAJCWlmICghKHNwdXJpb3VzX2lycV9tYXNrICYgaXJxbWFzaykpIHsKLQkJCXByaW50ayhLRVJOX0RFQlVHICJzcHVyaW91cyA4MjU5QSBpbnRlcnJ1cHQ6IElSUSVkLlxuIiwgaXJxKTsKKwkJCXByaW50ayhLRVJOX0RFQlVHCisJCQkgICAgICAgInNwdXJpb3VzIDgyNTlBIGludGVycnVwdDogSVJRJWQuXG4iLCBpcnEpOwogCQkJc3B1cmlvdXNfaXJxX21hc2sgfD0gaXJxbWFzazsKIAkJfQogCQlhdG9taWNfaW5jKCZpcnFfZXJyX2NvdW50KTsKQEAgLTI5MCwxNyArMjk3LDI4IEBACiAJICogb3V0Yl9waWMgLSB0aGlzIGhhcyB0byB3b3JrIG9uIGEgd2lkZSByYW5nZSBvZiBQQyBoYXJkd2FyZS4KIAkgKi8KIAlvdXRiX3BpYygweDExLCBQSUNfTUFTVEVSX0NNRCk7CS8qIElDVzE6IHNlbGVjdCA4MjU5QS0xIGluaXQgKi8KLQlvdXRiX3BpYygweDIwICsgMCwgUElDX01BU1RFUl9JTVIpOwkvKiBJQ1cyOiA4MjU5QS0xIElSMC03IG1hcHBlZCB0byAweDIwLTB4MjcgKi8KLQlvdXRiX3BpYygxVSA8PCBQSUNfQ0FTQ0FERV9JUiwgUElDX01BU1RFUl9JTVIpOwkvKiA4MjU5QS0xICh0aGUgbWFzdGVyKSBoYXMgYSBzbGF2ZSBvbiBJUjIgKi8KKworCS8qIElDVzI6IDgyNTlBLTEgSVIwLTcgbWFwcGVkIHRvIDB4MzAtMHgzNyBvbiB4ODYtNjQsCisJICAgICAgICAgICAgICAgICAgICAgICB0byAweDIwLTB4Mjcgb24gaTM4NiAqLworCW91dGJfcGljKElSUTBfVkVDVE9SLCBQSUNfTUFTVEVSX0lNUik7CisKKwkvKiA4MjU5QS0xICh0aGUgbWFzdGVyKSBoYXMgYSBzbGF2ZSBvbiBJUjIgKi8KKwlvdXRiX3BpYygxVSA8PCBQSUNfQ0FTQ0FERV9JUiwgUElDX01BU1RFUl9JTVIpOworCiAJaWYgKGF1dG9fZW9pKQkvKiBtYXN0ZXIgZG9lcyBBdXRvIEVPSSAqLwogCQlvdXRiX3BpYyhNQVNURVJfSUNXNF9ERUZBVUxUIHwgUElDX0lDVzRfQUVPSSwgUElDX01BU1RFUl9JTVIpOwogCWVsc2UJCS8qIG1hc3RlciBleHBlY3RzIG5vcm1hbCBFT0kgKi8KIAkJb3V0Yl9waWMoTUFTVEVSX0lDVzRfREVGQVVMVCwgUElDX01BU1RFUl9JTVIpOwogCiAJb3V0Yl9waWMoMHgxMSwgUElDX1NMQVZFX0NNRCk7CS8qIElDVzE6IHNlbGVjdCA4MjU5QS0yIGluaXQgKi8KLQlvdXRiX3BpYygweDIwICsgOCwgUElDX1NMQVZFX0lNUik7CS8qIElDVzI6IDgyNTlBLTIgSVIwLTcgbWFwcGVkIHRvIDB4MjgtMHgyZiAqLwotCW91dGJfcGljKFBJQ19DQVNDQURFX0lSLCBQSUNfU0xBVkVfSU1SKTsJLyogODI1OUEtMiBpcyBhIHNsYXZlIG9uIG1hc3RlcidzIElSMiAqLwotCW91dGJfcGljKFNMQVZFX0lDVzRfREVGQVVMVCwgUElDX1NMQVZFX0lNUik7IC8qIChzbGF2ZSdzIHN1cHBvcnQgZm9yIEFFT0kgaW4gZmxhdCBtb2RlIGlzIHRvIGJlIGludmVzdGlnYXRlZCkgKi8KKworCS8qIElDVzI6IDgyNTlBLTIgSVIwLTcgbWFwcGVkIHRvIElSUThfVkVDVE9SICovCisJb3V0Yl9waWMoSVJROF9WRUNUT1IsIFBJQ19TTEFWRV9JTVIpOworCS8qIDgyNTlBLTIgaXMgYSBzbGF2ZSBvbiBtYXN0ZXIncyBJUjIgKi8KKwlvdXRiX3BpYyhQSUNfQ0FTQ0FERV9JUiwgUElDX1NMQVZFX0lNUik7CisJLyogKHNsYXZlJ3Mgc3VwcG9ydCBmb3IgQUVPSSBpbiBmbGF0IG1vZGUgaXMgdG8gYmUgaW52ZXN0aWdhdGVkKSAqLworCW91dGJfcGljKFNMQVZFX0lDVzRfREVGQVVMVCwgUElDX1NMQVZFX0lNUik7CisKIAlpZiAoYXV0b19lb2kpCiAJCS8qCiAJCSAqIEluIEFFT0kgbW9kZSB3ZSBqdXN0IGhhdmUgdG8gbWFzayB0aGUgaW50ZXJydXB0CkBAIC0zMTcsOTMgKzMzNSwzIEBACiAKIAlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZpODI1OUFfbG9jaywgZmxhZ3MpOwogfQotCi0vKgotICogTm90ZSB0aGF0IG9uIGEgNDg2LCB3ZSBkb24ndCB3YW50IHRvIGRvIGEgU0lHRlBFIG9uIGFuIGlycTEzCi0gKiBhcyB0aGUgaXJxIGlzIHVucmVsaWFibGUsIGFuZCBleGNlcHRpb24gMTYgd29ya3MgY29ycmVjdGx5Ci0gKiAoaWUgYXMgZXhwbGFpbmVkIGluIHRoZSBpbnRlbCBsaXRlcmF0dXJlKS4gT24gYSAzODYsIHlvdQotICogY2FuJ3QgdXNlIGV4Y2VwdGlvbiAxNiBkdWUgdG8gYmFkIElCTSBkZXNpZ24sIHNvIHdlIGhhdmUgdG8KLSAqIHJlbHkgb24gdGhlIGxlc3MgZXhhY3QgaXJxMTMuCi0gKgotICogQ2FyZWZ1bC4uIE5vdCBvbmx5IGlzIElSUTEzIHVucmVsaWFibGUsIGJ1dCBpdCBpcyBhbHNvCi0gKiBsZWFkcyB0byByYWNlcy4gSUJNIGRlc2lnbmVycyB3aG8gY2FtZSB1cCB3aXRoIGl0IHNob3VsZAotICogYmUgc2hvdC4KLSAqLwotIAotCi1zdGF0aWMgaXJxcmV0dXJuX3QgbWF0aF9lcnJvcl9pcnEoaW50IGNwbCwgdm9pZCAqZGV2X2lkKQotewotCWV4dGVybiB2b2lkIG1hdGhfZXJyb3Iodm9pZCBfX3VzZXIgKik7Ci0Jb3V0YigwLDB4RjApOwotCWlmIChpZ25vcmVfZnB1X2lycSB8fCAhYm9vdF9jcHVfZGF0YS5oYXJkX21hdGgpCi0JCXJldHVybiBJUlFfTk9ORTsKLQltYXRoX2Vycm9yKCh2b2lkIF9fdXNlciAqKWdldF9pcnFfcmVncygpLT5pcCk7Ci0JcmV0dXJuIElSUV9IQU5ETEVEOwotfQotCi0vKgotICogTmV3IG1vdGhlcmJvYXJkcyBzb21ldGltZXMgbWFrZSBJUlEgMTMgYmUgYSBQQ0kgaW50ZXJydXB0LAotICogc28gYWxsb3cgaW50ZXJydXB0IHNoYXJpbmcuCi0gKi8KLXN0YXRpYyBzdHJ1Y3QgaXJxYWN0aW9uIGZwdV9pcnEgPSB7Ci0JLmhhbmRsZXIgPSBtYXRoX2Vycm9yX2lycSwKLQkubWFzayA9IENQVV9NQVNLX05PTkUsCi0JLm5hbWUgPSAiZnB1IiwKLX07Ci0KLXZvaWQgX19pbml0IGluaXRfSVNBX2lycXMgKHZvaWQpCi17Ci0JaW50IGk7Ci0KLSNpZmRlZiBDT05GSUdfWDg2X0xPQ0FMX0FQSUMKLQlpbml0X2JzcF9BUElDKCk7Ci0jZW5kaWYKLQlpbml0XzgyNTlBKDApOwotCi0JLyoKLQkgKiAxNiBvbGQtc3R5bGUgSU5UQS1jeWNsZSBpbnRlcnJ1cHRzOgotCSAqLwotCWZvciAoaSA9IDA7IGkgPCAxNjsgaSsrKSB7Ci0JCXNldF9pcnFfY2hpcF9hbmRfaGFuZGxlcl9uYW1lKGksICZpODI1OUFfY2hpcCwKLQkJCQkJICAgICAgaGFuZGxlX2xldmVsX2lycSwgIlhUIik7Ci0JfQotfQotCi0vKiBPdmVycmlkZGVuIGluIHBhcmF2aXJ0LmMgKi8KLXZvaWQgaW5pdF9JUlEodm9pZCkgX19hdHRyaWJ1dGVfXygod2VhaywgYWxpYXMoIm5hdGl2ZV9pbml0X0lSUSIpKSk7Ci0KLXZvaWQgX19pbml0IG5hdGl2ZV9pbml0X0lSUSh2b2lkKQotewotCWludCBpOwotCi0JLyogYWxsIHRoZSBzZXQgdXAgYmVmb3JlIHRoZSBjYWxsIGdhdGVzIGFyZSBpbml0aWFsaXNlZCAqLwotCXByZV9pbnRyX2luaXRfaG9vaygpOwotCi0JLyoKLQkgKiBDb3ZlciB0aGUgd2hvbGUgdmVjdG9yIHNwYWNlLCBubyB2ZWN0b3IgY2FuIGVzY2FwZQotCSAqIHVzLiAoc29tZSBvZiB0aGVzZSB3aWxsIGJlIG92ZXJyaWRkZW4gYW5kIGJlY29tZQotCSAqICdzcGVjaWFsJyBTTVAgaW50ZXJydXB0cykKLQkgKi8KLQlmb3IgKGkgPSAwOyBpIDwgKE5SX1ZFQ1RPUlMgLSBGSVJTVF9FWFRFUk5BTF9WRUNUT1IpOyBpKyspIHsKLQkJaW50IHZlY3RvciA9IEZJUlNUX0VYVEVSTkFMX1ZFQ1RPUiArIGk7Ci0JCWlmIChpID49IE5SX0lSUVMpCi0JCQlicmVhazsKLQkJLyogU1lTQ0FMTF9WRUNUT1Igd2FzIHJlc2VydmVkIGluIHRyYXBfaW5pdC4gKi8KLQkJaWYgKCF0ZXN0X2JpdCh2ZWN0b3IsIHVzZWRfdmVjdG9ycykpCi0JCQlzZXRfaW50cl9nYXRlKHZlY3RvciwgaW50ZXJydXB0W2ldKTsKLQl9Ci0KLQkvKiBzZXR1cCBhZnRlciBjYWxsIGdhdGVzIGFyZSBpbml0aWFsaXNlZCAodXN1YWxseSBhZGQgaW4KLQkgKiB0aGUgYXJjaGl0ZWN0dXJlIHNwZWNpZmljIGdhdGVzKQotCSAqLwotCWludHJfaW5pdF9ob29rKCk7Ci0KLQkvKgotCSAqIEV4dGVybmFsIEZQVT8gU2V0IHVwIGlycTEzIGlmIHNvLCBmb3IKLQkgKiBvcmlnaW5hbCBicmFpbmRhbWFnZWQgSUJNIEZFUlIgY291cGxpbmcuCi0JICovCi0JaWYgKGJvb3RfY3B1X2RhdGEuaGFyZF9tYXRoICYmICFjcHVfaGFzX2ZwdSkKLQkJc2V0dXBfaXJxKEZQVV9JUlEsICZmcHVfaXJxKTsKLQotCWlycV9jdHhfaW5pdChzbXBfcHJvY2Vzc29yX2lkKCkpOwotfQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2k4MjU5XzY0LmMgYi9hcmNoL3g4Ni9rZXJuZWwvaTgyNTlfNjQuYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmE1N2ExNS4uMDAwMDAwMAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvaTgyNTlfNjQuYworKysgL2Rldi9udWxsCkBAIC0xLDUxMiArMCwwIEBACi0jaW5jbHVkZSA8bGludXgvbGlua2FnZS5oPgotI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+Ci0jaW5jbHVkZSA8bGludXgvc2lnbmFsLmg+Ci0jaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KLSNpbmNsdWRlIDxsaW51eC9pb3BvcnQuaD4KLSNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KLSNpbmNsdWRlIDxsaW51eC90aW1leC5oPgotI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KLSNpbmNsdWRlIDxsaW51eC9yYW5kb20uaD4KLSNpbmNsdWRlIDxsaW51eC9pbml0Lmg+Ci0jaW5jbHVkZSA8bGludXgva2VybmVsX3N0YXQuaD4KLSNpbmNsdWRlIDxsaW51eC9zeXNkZXYuaD4KLSNpbmNsdWRlIDxsaW51eC9iaXRvcHMuaD4KLQotI2luY2x1ZGUgPGFzbS9hY3BpLmg+Ci0jaW5jbHVkZSA8YXNtL2F0b21pYy5oPgotI2luY2x1ZGUgPGFzbS9zeXN0ZW0uaD4KLSNpbmNsdWRlIDxhc20vaW8uaD4KLSNpbmNsdWRlIDxhc20vaHdfaXJxLmg+Ci0jaW5jbHVkZSA8YXNtL3BndGFibGUuaD4KLSNpbmNsdWRlIDxhc20vZGVsYXkuaD4KLSNpbmNsdWRlIDxhc20vZGVzYy5oPgotI2luY2x1ZGUgPGFzbS9hcGljLmg+Ci0jaW5jbHVkZSA8YXNtL2k4MjU5Lmg+Ci0KLS8qCi0gKiBDb21tb24gcGxhY2UgdG8gZGVmaW5lIGFsbCB4ODYgSVJRIHZlY3RvcnMKLSAqCi0gKiBUaGlzIGJ1aWxkcyB1cCB0aGUgSVJRIGhhbmRsZXIgc3R1YnMgdXNpbmcgc29tZSB1Z2x5IG1hY3JvcyBpbiBpcnEuaAotICoKLSAqIFRoZXNlIG1hY3JvcyBjcmVhdGUgdGhlIGxvdy1sZXZlbCBhc3NlbWJseSBJUlEgcm91dGluZXMgdGhhdCBzYXZlCi0gKiByZWdpc3RlciBjb250ZXh0IGFuZCBjYWxsIGRvX0lSUSgpLiBkb19JUlEoKSB0aGVuIGRvZXMgYWxsIHRoZQotICogb3BlcmF0aW9ucyB0aGF0IGFyZSBuZWVkZWQgdG8ga2VlcCB0aGUgQVQgKG9yIFNNUCBJT0FQSUMpCi0gKiBpbnRlcnJ1cHQtY29udHJvbGxlciBoYXBweS4KLSAqLwotCi0jZGVmaW5lIEJJKHgseSkgXAotCUJVSUxEX0lSUSh4IyN5KQotCi0jZGVmaW5lIEJVSUxEXzE2X0lSUVMoeCkgXAotCUJJKHgsMCkgQkkoeCwxKSBCSSh4LDIpIEJJKHgsMykgXAotCUJJKHgsNCkgQkkoeCw1KSBCSSh4LDYpIEJJKHgsNykgXAotCUJJKHgsOCkgQkkoeCw5KSBCSSh4LGEpIEJJKHgsYikgXAotCUJJKHgsYykgQkkoeCxkKSBCSSh4LGUpIEJJKHgsZikKLQotLyoKLSAqIElTQSBQSUMgb3IgbG93IElPLUFQSUMgdHJpZ2dlcmVkIChJTlRBLWN5Y2xlIG9yIEFQSUMpIGludGVycnVwdHM6Ci0gKiAodGhlc2UgYXJlIHVzdWFsbHkgbWFwcGVkIHRvIHZlY3RvcnMgMHgzMC0weDNmKQotICovCi0KLS8qCi0gKiBUaGUgSU8tQVBJQyBnaXZlcyB1cyBtYW55IG1vcmUgaW50ZXJydXB0IHNvdXJjZXMuIE1vc3Qgb2YgdGhlc2UKLSAqIGFyZSB1bnVzZWQgYnV0IGFuIFNNUCBzeXN0ZW0gaXMgc3VwcG9zZWQgdG8gaGF2ZSBlbm91Z2ggbWVtb3J5IC4uLgotICogc29tZXRpbWVzIChtb3N0bHkgd3J0LiBodyBidWdzKSB3ZSBnZXQgY29ycnVwdGVkIHZlY3RvcnMgYWxsCi0gKiBhY3Jvc3MgdGhlIHNwZWN0cnVtLCBzbyB3ZSByZWFsbHkgd2FudCB0byBiZSBwcmVwYXJlZCB0byBnZXQgYWxsCi0gKiBvZiB0aGVzZS4gUGx1cywgbW9yZSBwb3dlcmZ1bCBzeXN0ZW1zIG1pZ2h0IGhhdmUgbW9yZSB0aGFuIDY0Ci0gKiBJTy1BUElDIHJlZ2lzdGVycy4KLSAqCi0gKiAodGhlc2UgYXJlIHVzdWFsbHkgbWFwcGVkIGludG8gdGhlIDB4MzAtMHhmZiB2ZWN0b3IgcmFuZ2UpCi0gKi8KLQkJCQkgICAgICBCVUlMRF8xNl9JUlFTKDB4MikgQlVJTERfMTZfSVJRUygweDMpCi1CVUlMRF8xNl9JUlFTKDB4NCkgQlVJTERfMTZfSVJRUygweDUpIEJVSUxEXzE2X0lSUVMoMHg2KSBCVUlMRF8xNl9JUlFTKDB4NykKLUJVSUxEXzE2X0lSUVMoMHg4KSBCVUlMRF8xNl9JUlFTKDB4OSkgQlVJTERfMTZfSVJRUygweGEpIEJVSUxEXzE2X0lSUVMoMHhiKQotQlVJTERfMTZfSVJRUygweGMpIEJVSUxEXzE2X0lSUVMoMHhkKSBCVUlMRF8xNl9JUlFTKDB4ZSkgQlVJTERfMTZfSVJRUygweGYpCi0KLSN1bmRlZiBCVUlMRF8xNl9JUlFTCi0jdW5kZWYgQkkKLQotCi0jZGVmaW5lIElSUSh4LHkpIFwKLQlJUlEjI3gjI3kjI19pbnRlcnJ1cHQKLQotI2RlZmluZSBJUlFMSVNUXzE2KHgpIFwKLQlJUlEoeCwwKSwgSVJRKHgsMSksIElSUSh4LDIpLCBJUlEoeCwzKSwgXAotCUlSUSh4LDQpLCBJUlEoeCw1KSwgSVJRKHgsNiksIElSUSh4LDcpLCBcCi0JSVJRKHgsOCksIElSUSh4LDkpLCBJUlEoeCxhKSwgSVJRKHgsYiksIFwKLQlJUlEoeCxjKSwgSVJRKHgsZCksIElSUSh4LGUpLCBJUlEoeCxmKQotCi0vKiBmb3IgdGhlIGlycSB2ZWN0b3JzICovCi1zdGF0aWMgdm9pZCAoKl9faW5pdGRhdGEgaW50ZXJydXB0W05SX1ZFQ1RPUlMgLSBGSVJTVF9FWFRFUk5BTF9WRUNUT1JdKSh2b2lkKSA9IHsKLQkJCQkJICBJUlFMSVNUXzE2KDB4MiksIElSUUxJU1RfMTYoMHgzKSwKLQlJUlFMSVNUXzE2KDB4NCksIElSUUxJU1RfMTYoMHg1KSwgSVJRTElTVF8xNigweDYpLCBJUlFMSVNUXzE2KDB4NyksCi0JSVJRTElTVF8xNigweDgpLCBJUlFMSVNUXzE2KDB4OSksIElSUUxJU1RfMTYoMHhhKSwgSVJRTElTVF8xNigweGIpLAotCUlSUUxJU1RfMTYoMHhjKSwgSVJRTElTVF8xNigweGQpLCBJUlFMSVNUXzE2KDB4ZSksIElSUUxJU1RfMTYoMHhmKQotfTsKLQotI3VuZGVmIElSUQotI3VuZGVmIElSUUxJU1RfMTYKLQotLyoKLSAqIFRoaXMgaXMgdGhlICdsZWdhY3knIDgyNTlBIFByb2dyYW1tYWJsZSBJbnRlcnJ1cHQgQ29udHJvbGxlciwKLSAqIHByZXNlbnQgaW4gdGhlIG1ham9yaXR5IG9mIFBDL0FUIGJveGVzLgotICogcGx1cyBzb21lIGdlbmVyaWMgeDg2IHNwZWNpZmljIHRoaW5ncyBpZiBnZW5lcmljIHNwZWNpZmljcyBtYWtlcwotICogYW55IHNlbnNlIGF0IGFsbC4KLSAqIHRoaXMgZmlsZSBzaG91bGQgYmVjb21lIGFyY2gvaTM4Ni9rZXJuZWwvaXJxLmMgd2hlbiB0aGUgb2xkIGlycS5jCi0gKiBtb3ZlcyB0byBhcmNoIGluZGVwZW5kZW50IGxhbmQKLSAqLwotCi1zdGF0aWMgaW50IGk4MjU5QV9hdXRvX2VvaTsKLURFRklORV9TUElOTE9DSyhpODI1OUFfbG9jayk7Ci1zdGF0aWMgdm9pZCBtYXNrX2FuZF9hY2tfODI1OUEodW5zaWduZWQgaW50KTsKLQotc3RhdGljIHN0cnVjdCBpcnFfY2hpcCBpODI1OUFfY2hpcCA9IHsKLQkubmFtZQkJPSAiWFQtUElDIiwKLQkubWFzawkJPSBkaXNhYmxlXzgyNTlBX2lycSwKLQkuZGlzYWJsZQk9IGRpc2FibGVfODI1OUFfaXJxLAotCS51bm1hc2sJCT0gZW5hYmxlXzgyNTlBX2lycSwKLQkubWFza19hY2sJPSBtYXNrX2FuZF9hY2tfODI1OUEsCi19OwotCi0vKgotICogODI1OUEgUElDIGZ1bmN0aW9ucyB0byBoYW5kbGUgSVNBIGRldmljZXM6Ci0gKi8KLQotLyoKLSAqIFRoaXMgY29udGFpbnMgdGhlIGlycSBtYXNrIGZvciBib3RoIDgyNTlBIGlycSBjb250cm9sbGVycywKLSAqLwotdW5zaWduZWQgaW50IGNhY2hlZF9pcnFfbWFzayA9IDB4ZmZmZjsKLQotLyoKLSAqIE5vdCBhbGwgSVJRcyBjYW4gYmUgcm91dGVkIHRocm91Z2ggdGhlIElPLUFQSUMsIGVnLiBvbiBjZXJ0YWluIChvbGRlcikKLSAqIGJvYXJkcyB0aGUgdGltZXIgaW50ZXJydXB0IGlzIG5vdCByZWFsbHkgY29ubmVjdGVkIHRvIGFueSBJTy1BUElDIHBpbiwKLSAqIGl0J3MgZmVkIHRvIHRoZSBtYXN0ZXIgODI1OUEncyBJUjAgbGluZSBvbmx5LgotICoKLSAqIEFueSAnMScgYml0IGluIHRoaXMgbWFzayBtZWFucyB0aGUgSVJRIGlzIHJvdXRlZCB0aHJvdWdoIHRoZSBJTy1BUElDLgotICogdGhpcyAnbWl4ZWQgbW9kZScgSVJRIGhhbmRsaW5nIGNvc3RzIG5vdGhpbmcgYmVjYXVzZSBpdCdzIG9ubHkgdXNlZAotICogYXQgSVJRIHNldHVwIHRpbWUuCi0gKi8KLXVuc2lnbmVkIGxvbmcgaW9fYXBpY19pcnFzOwotCi12b2lkIGRpc2FibGVfODI1OUFfaXJxKHVuc2lnbmVkIGludCBpcnEpCi17Ci0JdW5zaWduZWQgaW50IG1hc2sgPSAxIDw8IGlycTsKLQl1bnNpZ25lZCBsb25nIGZsYWdzOwotCi0Jc3Bpbl9sb2NrX2lycXNhdmUoJmk4MjU5QV9sb2NrLCBmbGFncyk7Ci0JY2FjaGVkX2lycV9tYXNrIHw9IG1hc2s7Ci0JaWYgKGlycSAmIDgpCi0JCW91dGIoY2FjaGVkX3NsYXZlX21hc2ssIFBJQ19TTEFWRV9JTVIpOwotCWVsc2UKLQkJb3V0YihjYWNoZWRfbWFzdGVyX21hc2ssIFBJQ19NQVNURVJfSU1SKTsKLQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZpODI1OUFfbG9jaywgZmxhZ3MpOwotfQotCi12b2lkIGVuYWJsZV84MjU5QV9pcnEodW5zaWduZWQgaW50IGlycSkKLXsKLQl1bnNpZ25lZCBpbnQgbWFzayA9IH4oMSA8PCBpcnEpOwotCXVuc2lnbmVkIGxvbmcgZmxhZ3M7Ci0KLQlzcGluX2xvY2tfaXJxc2F2ZSgmaTgyNTlBX2xvY2ssIGZsYWdzKTsKLQljYWNoZWRfaXJxX21hc2sgJj0gbWFzazsKLQlpZiAoaXJxICYgOCkKLQkJb3V0YihjYWNoZWRfc2xhdmVfbWFzaywgUElDX1NMQVZFX0lNUik7Ci0JZWxzZQotCQlvdXRiKGNhY2hlZF9tYXN0ZXJfbWFzaywgUElDX01BU1RFUl9JTVIpOwotCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmk4MjU5QV9sb2NrLCBmbGFncyk7Ci19Ci0KLWludCBpODI1OUFfaXJxX3BlbmRpbmcodW5zaWduZWQgaW50IGlycSkKLXsKLQl1bnNpZ25lZCBpbnQgbWFzayA9IDE8PGlycTsKLQl1bnNpZ25lZCBsb25nIGZsYWdzOwotCWludCByZXQ7Ci0KLQlzcGluX2xvY2tfaXJxc2F2ZSgmaTgyNTlBX2xvY2ssIGZsYWdzKTsKLQlpZiAoaXJxIDwgOCkKLQkJcmV0ID0gaW5iKFBJQ19NQVNURVJfQ01EKSAmIG1hc2s7Ci0JZWxzZQotCQlyZXQgPSBpbmIoUElDX1NMQVZFX0NNRCkgJiAobWFzayA+PiA4KTsKLQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZpODI1OUFfbG9jaywgZmxhZ3MpOwotCi0JcmV0dXJuIHJldDsKLX0KLQotdm9pZCBtYWtlXzgyNTlBX2lycSh1bnNpZ25lZCBpbnQgaXJxKQotewotCWRpc2FibGVfaXJxX25vc3luYyhpcnEpOwotCWlvX2FwaWNfaXJxcyAmPSB+KDE8PGlycSk7Ci0Jc2V0X2lycV9jaGlwX2FuZF9oYW5kbGVyX25hbWUoaXJxLCAmaTgyNTlBX2NoaXAsIGhhbmRsZV9sZXZlbF9pcnEsCi0JCQkJICAgICAgIlhUIik7Ci0JZW5hYmxlX2lycShpcnEpOwotfQotCi0vKgotICogVGhpcyBmdW5jdGlvbiBhc3N1bWVzIHRvIGJlIGNhbGxlZCByYXJlbHkuIFN3aXRjaGluZyBiZXR3ZWVuCi0gKiA4MjU5QSByZWdpc3RlcnMgaXMgc2xvdy4KLSAqIFRoaXMgaGFzIHRvIGJlIHByb3RlY3RlZCBieSB0aGUgaXJxIGNvbnRyb2xsZXIgc3BpbmxvY2sKLSAqIGJlZm9yZSBiZWluZyBjYWxsZWQuCi0gKi8KLXN0YXRpYyBpbmxpbmUgaW50IGk4MjU5QV9pcnFfcmVhbCh1bnNpZ25lZCBpbnQgaXJxKQotewotCWludCB2YWx1ZTsKLQlpbnQgaXJxbWFzayA9IDE8PGlycTsKLQotCWlmIChpcnEgPCA4KSB7Ci0JCW91dGIoMHgwQixQSUNfTUFTVEVSX0NNRCk7CS8qIElTUiByZWdpc3RlciAqLwotCQl2YWx1ZSA9IGluYihQSUNfTUFTVEVSX0NNRCkgJiBpcnFtYXNrOwotCQlvdXRiKDB4MEEsUElDX01BU1RFUl9DTUQpOwkvKiBiYWNrIHRvIHRoZSBJUlIgcmVnaXN0ZXIgKi8KLQkJcmV0dXJuIHZhbHVlOwotCX0KLQlvdXRiKDB4MEIsUElDX1NMQVZFX0NNRCk7CS8qIElTUiByZWdpc3RlciAqLwotCXZhbHVlID0gaW5iKFBJQ19TTEFWRV9DTUQpICYgKGlycW1hc2sgPj4gOCk7Ci0Jb3V0YigweDBBLFBJQ19TTEFWRV9DTUQpOwkvKiBiYWNrIHRvIHRoZSBJUlIgcmVnaXN0ZXIgKi8KLQlyZXR1cm4gdmFsdWU7Ci19Ci0KLS8qCi0gKiBDYXJlZnVsISBUaGUgODI1OUEgaXMgYSBmcmFnaWxlIGJlYXN0LCBpdCBwcmV0dHkKLSAqIG11Y2ggX2hhc18gdG8gYmUgZG9uZSBleGFjdGx5IGxpa2UgdGhpcyAobWFzayBpdAotICogZmlyc3QsIF90aGVuXyBzZW5kIHRoZSBFT0ksIGFuZCB0aGUgb3JkZXIgb2YgRU9JCi0gKiB0byB0aGUgdHdvIDgyNTlzIGlzIGltcG9ydGFudCEKLSAqLwotc3RhdGljIHZvaWQgbWFza19hbmRfYWNrXzgyNTlBKHVuc2lnbmVkIGludCBpcnEpCi17Ci0JdW5zaWduZWQgaW50IGlycW1hc2sgPSAxIDw8IGlycTsKLQl1bnNpZ25lZCBsb25nIGZsYWdzOwotCi0Jc3Bpbl9sb2NrX2lycXNhdmUoJmk4MjU5QV9sb2NrLCBmbGFncyk7Ci0JLyoKLQkgKiBMaWdodHdlaWdodCBzcHVyaW91cyBJUlEgZGV0ZWN0aW9uLiBXZSBkbyBub3Qgd2FudAotCSAqIHRvIG92ZXJkbyBzcHVyaW91cyBJUlEgaGFuZGxpbmcgLSBpdCdzIHVzdWFsbHkgYSBzaWduCi0JICogb2YgaGFyZHdhcmUgcHJvYmxlbXMsIHNvIHdlIG9ubHkgZG8gdGhlIGNoZWNrcyB3ZSBjYW4KLQkgKiBkbyB3aXRob3V0IHNsb3dpbmcgZG93biBnb29kIGhhcmR3YXJlIHVubmVjZXNzYXJpbHkuCi0JICoKLQkgKiBOb3RlIHRoYXQgSVJRNyBhbmQgSVJRMTUgKHRoZSB0d28gc3B1cmlvdXMgSVJRcwotCSAqIHVzdWFsbHkgcmVzdWx0aW5nIGZyb20gdGhlIDgyNTlBLTF8MiBQSUNzKSBvY2N1cgotCSAqIGV2ZW4gaWYgdGhlIElSUSBpcyBtYXNrZWQgaW4gdGhlIDgyNTlBLiBUaHVzIHdlCi0JICogY2FuIGNoZWNrIHNwdXJpb3VzIDgyNTlBIElSUXMgd2l0aG91dCBkb2luZyB0aGUKLQkgKiBxdWl0ZSBzbG93IGk4MjU5QV9pcnFfcmVhbCgpIGNhbGwgZm9yIGV2ZXJ5IElSUS4KLQkgKiBUaGlzIGRvZXMgbm90IGNvdmVyIDEwMCUgb2Ygc3B1cmlvdXMgaW50ZXJydXB0cywKLQkgKiBidXQgc2hvdWxkIGJlIGVub3VnaCB0byB3YXJuIHRoZSB1c2VyIHRoYXQgdGhlcmUKLQkgKiBpcyBzb21ldGhpbmcgYmFkIGdvaW5nIG9uIC4uLgotCSAqLwotCWlmIChjYWNoZWRfaXJxX21hc2sgJiBpcnFtYXNrKQotCQlnb3RvIHNwdXJpb3VzXzgyNTlBX2lycTsKLQljYWNoZWRfaXJxX21hc2sgfD0gaXJxbWFzazsKLQotaGFuZGxlX3JlYWxfaXJxOgotCWlmIChpcnEgJiA4KSB7Ci0JCWluYihQSUNfU0xBVkVfSU1SKTsJLyogRFVNTVkgLSAoZG8gd2UgbmVlZCB0aGlzPykgKi8KLQkJb3V0YihjYWNoZWRfc2xhdmVfbWFzaywgUElDX1NMQVZFX0lNUik7Ci0JCS8qICdTcGVjaWZpYyBFT0knIHRvIHNsYXZlICovCi0JCW91dGIoMHg2MCsoaXJxJjcpLFBJQ19TTEFWRV9DTUQpOwotCQkgLyogJ1NwZWNpZmljIEVPSScgdG8gbWFzdGVyLUlSUTIgKi8KLQkJb3V0YigweDYwK1BJQ19DQVNDQURFX0lSLFBJQ19NQVNURVJfQ01EKTsKLQl9IGVsc2UgewotCQlpbmIoUElDX01BU1RFUl9JTVIpOwkvKiBEVU1NWSAtIChkbyB3ZSBuZWVkIHRoaXM/KSAqLwotCQlvdXRiKGNhY2hlZF9tYXN0ZXJfbWFzaywgUElDX01BU1RFUl9JTVIpOwotCQkvKiAnU3BlY2lmaWMgRU9JJyB0byBtYXN0ZXIgKi8KLQkJb3V0YigweDYwK2lycSxQSUNfTUFTVEVSX0NNRCk7Ci0JfQotCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmk4MjU5QV9sb2NrLCBmbGFncyk7Ci0JcmV0dXJuOwotCi1zcHVyaW91c184MjU5QV9pcnE6Ci0JLyoKLQkgKiB0aGlzIGlzIHRoZSBzbG93IHBhdGggLSBzaG91bGQgaGFwcGVuIHJhcmVseS4KLQkgKi8KLQlpZiAoaTgyNTlBX2lycV9yZWFsKGlycSkpCi0JCS8qCi0JCSAqIG9vcHMsIHRoZSBJUlEgX2lzXyBpbiBzZXJ2aWNlIGFjY29yZGluZyB0byB0aGUKLQkJICogODI1OUEgLSBub3Qgc3B1cmlvdXMsIGdvIGhhbmRsZSBpdC4KLQkJICovCi0JCWdvdG8gaGFuZGxlX3JlYWxfaXJxOwotCi0JewotCQlzdGF0aWMgaW50IHNwdXJpb3VzX2lycV9tYXNrOwotCQkvKgotCQkgKiBBdCB0aGlzIHBvaW50IHdlIGNhbiBiZSBzdXJlIHRoZSBJUlEgaXMgc3B1cmlvdXMsCi0JCSAqIGxldHMgQUNLIGFuZCByZXBvcnQgaXQuIFtvbmNlIHBlciBJUlFdCi0JCSAqLwotCQlpZiAoIShzcHVyaW91c19pcnFfbWFzayAmIGlycW1hc2spKSB7Ci0JCQlwcmludGsoS0VSTl9ERUJVRwotCQkJICAgICAgICJzcHVyaW91cyA4MjU5QSBpbnRlcnJ1cHQ6IElSUSVkLlxuIiwgaXJxKTsKLQkJCXNwdXJpb3VzX2lycV9tYXNrIHw9IGlycW1hc2s7Ci0JCX0KLQkJYXRvbWljX2luYygmaXJxX2Vycl9jb3VudCk7Ci0JCS8qCi0JCSAqIFRoZW9yZXRpY2FsbHkgd2UgZG8gbm90IGhhdmUgdG8gaGFuZGxlIHRoaXMgSVJRLAotCQkgKiBidXQgaW4gTGludXggdGhpcyBkb2VzIG5vdCBjYXVzZSBwcm9ibGVtcyBhbmQgaXMKLQkJICogc2ltcGxlciBmb3IgdXMuCi0JCSAqLwotCQlnb3RvIGhhbmRsZV9yZWFsX2lycTsKLQl9Ci19Ci0KLXN0YXRpYyBjaGFyIGlycV90cmlnZ2VyWzJdOwotLyoqCi0gKiBFTENSIHJlZ2lzdGVycyAoMHg0ZDAsIDB4NGQxKSBjb250cm9sIGVkZ2UvbGV2ZWwgb2YgSVJRCi0gKi8KLXN0YXRpYyB2b2lkIHJlc3RvcmVfRUxDUihjaGFyICp0cmlnZ2VyKQotewotCW91dGIodHJpZ2dlclswXSwgMHg0ZDApOwotCW91dGIodHJpZ2dlclsxXSwgMHg0ZDEpOwotfQotCi1zdGF0aWMgdm9pZCBzYXZlX0VMQ1IoY2hhciAqdHJpZ2dlcikKLXsKLQkvKiBJUlEgMCwxLDIsOCwxMyBhcmUgbWFya2VkIGFzIHJlc2VydmVkICovCi0JdHJpZ2dlclswXSA9IGluYigweDRkMCkgJiAweEY4OwotCXRyaWdnZXJbMV0gPSBpbmIoMHg0ZDEpICYgMHhERTsKLX0KLQotc3RhdGljIGludCBpODI1OUFfcmVzdW1lKHN0cnVjdCBzeXNfZGV2aWNlICpkZXYpCi17Ci0JaW5pdF84MjU5QShpODI1OUFfYXV0b19lb2kpOwotCXJlc3RvcmVfRUxDUihpcnFfdHJpZ2dlcik7Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgaTgyNTlBX3N1c3BlbmQoc3RydWN0IHN5c19kZXZpY2UgKmRldiwgcG1fbWVzc2FnZV90IHN0YXRlKQotewotCXNhdmVfRUxDUihpcnFfdHJpZ2dlcik7Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgaTgyNTlBX3NodXRkb3duKHN0cnVjdCBzeXNfZGV2aWNlICpkZXYpCi17Ci0JLyogUHV0IHRoZSBpODI1OUEgaW50byBhIHF1aWVzY2VudCBzdGF0ZSB0aGF0Ci0JICogdGhlIGtlcm5lbCBpbml0aWFsaXphdGlvbiBjb2RlIGNhbiBnZXQgaXQKLQkgKiBvdXQgb2YuCi0JICovCi0Jb3V0YigweGZmLCBQSUNfTUFTVEVSX0lNUik7CS8qIG1hc2sgYWxsIG9mIDgyNTlBLTEgKi8KLQlvdXRiKDB4ZmYsIFBJQ19TTEFWRV9JTVIpOwkvKiBtYXNrIGFsbCBvZiA4MjU5QS0xICovCi0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBzdHJ1Y3Qgc3lzZGV2X2NsYXNzIGk4MjU5X3N5c2Rldl9jbGFzcyA9IHsKLQkubmFtZSA9ICJpODI1OSIsCi0JLnN1c3BlbmQgPSBpODI1OUFfc3VzcGVuZCwKLQkucmVzdW1lID0gaTgyNTlBX3Jlc3VtZSwKLQkuc2h1dGRvd24gPSBpODI1OUFfc2h1dGRvd24sCi19OwotCi1zdGF0aWMgc3RydWN0IHN5c19kZXZpY2UgZGV2aWNlX2k4MjU5QSA9IHsKLQkuaWQJPSAwLAotCS5jbHMJPSAmaTgyNTlfc3lzZGV2X2NsYXNzLAotfTsKLQotc3RhdGljIGludCBfX2luaXQgaTgyNTlBX2luaXRfc3lzZnModm9pZCkKLXsKLQlpbnQgZXJyb3IgPSBzeXNkZXZfY2xhc3NfcmVnaXN0ZXIoJmk4MjU5X3N5c2Rldl9jbGFzcyk7Ci0JaWYgKCFlcnJvcikKLQkJZXJyb3IgPSBzeXNkZXZfcmVnaXN0ZXIoJmRldmljZV9pODI1OUEpOwotCXJldHVybiBlcnJvcjsKLX0KLQotZGV2aWNlX2luaXRjYWxsKGk4MjU5QV9pbml0X3N5c2ZzKTsKLQotdm9pZCBpbml0XzgyNTlBKGludCBhdXRvX2VvaSkKLXsKLQl1bnNpZ25lZCBsb25nIGZsYWdzOwotCi0JaTgyNTlBX2F1dG9fZW9pID0gYXV0b19lb2k7Ci0KLQlzcGluX2xvY2tfaXJxc2F2ZSgmaTgyNTlBX2xvY2ssIGZsYWdzKTsKLQotCW91dGIoMHhmZiwgUElDX01BU1RFUl9JTVIpOwkvKiBtYXNrIGFsbCBvZiA4MjU5QS0xICovCi0Jb3V0YigweGZmLCBQSUNfU0xBVkVfSU1SKTsJLyogbWFzayBhbGwgb2YgODI1OUEtMiAqLwotCi0JLyoKLQkgKiBvdXRiX3BpYyAtIHRoaXMgaGFzIHRvIHdvcmsgb24gYSB3aWRlIHJhbmdlIG9mIFBDIGhhcmR3YXJlLgotCSAqLwotCW91dGJfcGljKDB4MTEsIFBJQ19NQVNURVJfQ01EKTsJLyogSUNXMTogc2VsZWN0IDgyNTlBLTEgaW5pdCAqLwotCS8qIElDVzI6IDgyNTlBLTEgSVIwLTcgbWFwcGVkIHRvIDB4MzAtMHgzNyAqLwotCW91dGJfcGljKElSUTBfVkVDVE9SLCBQSUNfTUFTVEVSX0lNUik7Ci0JLyogODI1OUEtMSAodGhlIG1hc3RlcikgaGFzIGEgc2xhdmUgb24gSVIyICovCi0Jb3V0Yl9waWMoMHgwNCwgUElDX01BU1RFUl9JTVIpOwotCWlmIChhdXRvX2VvaSkJLyogbWFzdGVyIGRvZXMgQXV0byBFT0kgKi8KLQkJb3V0Yl9waWMoTUFTVEVSX0lDVzRfREVGQVVMVCB8IFBJQ19JQ1c0X0FFT0ksIFBJQ19NQVNURVJfSU1SKTsKLQllbHNlCQkvKiBtYXN0ZXIgZXhwZWN0cyBub3JtYWwgRU9JICovCi0JCW91dGJfcGljKE1BU1RFUl9JQ1c0X0RFRkFVTFQsIFBJQ19NQVNURVJfSU1SKTsKLQotCW91dGJfcGljKDB4MTEsIFBJQ19TTEFWRV9DTUQpOwkvKiBJQ1cxOiBzZWxlY3QgODI1OUEtMiBpbml0ICovCi0JLyogSUNXMjogODI1OUEtMiBJUjAtNyBtYXBwZWQgdG8gMHgzOC0weDNmICovCi0Jb3V0Yl9waWMoSVJROF9WRUNUT1IsIFBJQ19TTEFWRV9JTVIpOwotCS8qIDgyNTlBLTIgaXMgYSBzbGF2ZSBvbiBtYXN0ZXIncyBJUjIgKi8KLQlvdXRiX3BpYyhQSUNfQ0FTQ0FERV9JUiwgUElDX1NMQVZFX0lNUik7Ci0JLyogKHNsYXZlJ3Mgc3VwcG9ydCBmb3IgQUVPSSBpbiBmbGF0IG1vZGUgaXMgdG8gYmUgaW52ZXN0aWdhdGVkKSAqLwotCW91dGJfcGljKFNMQVZFX0lDVzRfREVGQVVMVCwgUElDX1NMQVZFX0lNUik7Ci0KLQlpZiAoYXV0b19lb2kpCi0JCS8qCi0JCSAqIEluIEFFT0kgbW9kZSB3ZSBqdXN0IGhhdmUgdG8gbWFzayB0aGUgaW50ZXJydXB0Ci0JCSAqIHdoZW4gYWNraW5nLgotCQkgKi8KLQkJaTgyNTlBX2NoaXAubWFza19hY2sgPSBkaXNhYmxlXzgyNTlBX2lycTsKLQllbHNlCi0JCWk4MjU5QV9jaGlwLm1hc2tfYWNrID0gbWFza19hbmRfYWNrXzgyNTlBOwotCi0JdWRlbGF5KDEwMCk7CQkvKiB3YWl0IGZvciA4MjU5QSB0byBpbml0aWFsaXplICovCi0KLQlvdXRiKGNhY2hlZF9tYXN0ZXJfbWFzaywgUElDX01BU1RFUl9JTVIpOyAvKiByZXN0b3JlIG1hc3RlciBJUlEgbWFzayAqLwotCW91dGIoY2FjaGVkX3NsYXZlX21hc2ssIFBJQ19TTEFWRV9JTVIpOwkgIC8qIHJlc3RvcmUgc2xhdmUgSVJRIG1hc2sgKi8KLQotCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmk4MjU5QV9sb2NrLCBmbGFncyk7Ci19Ci0KLQotCi0KLS8qCi0gKiBJUlEyIGlzIGNhc2NhZGUgaW50ZXJydXB0IHRvIHNlY29uZCBpbnRlcnJ1cHQgY29udHJvbGxlcgotICovCi0KLXN0YXRpYyBzdHJ1Y3QgaXJxYWN0aW9uIGlycTIgPSB7Ci0JLmhhbmRsZXIgPSBub19hY3Rpb24sCi0JLm1hc2sgPSBDUFVfTUFTS19OT05FLAotCS5uYW1lID0gImNhc2NhZGUiLAotfTsKLURFRklORV9QRVJfQ1BVKHZlY3Rvcl9pcnFfdCwgdmVjdG9yX2lycSkgPSB7Ci0JWzAgLi4uIElSUTBfVkVDVE9SIC0gMV0gPSAtMSwKLQlbSVJRMF9WRUNUT1JdID0gMCwKLQlbSVJRMV9WRUNUT1JdID0gMSwKLQlbSVJRMl9WRUNUT1JdID0gMiwKLQlbSVJRM19WRUNUT1JdID0gMywKLQlbSVJRNF9WRUNUT1JdID0gNCwKLQlbSVJRNV9WRUNUT1JdID0gNSwKLQlbSVJRNl9WRUNUT1JdID0gNiwKLQlbSVJRN19WRUNUT1JdID0gNywKLQlbSVJROF9WRUNUT1JdID0gOCwKLQlbSVJROV9WRUNUT1JdID0gOSwKLQlbSVJRMTBfVkVDVE9SXSA9IDEwLAotCVtJUlExMV9WRUNUT1JdID0gMTEsCi0JW0lSUTEyX1ZFQ1RPUl0gPSAxMiwKLQlbSVJRMTNfVkVDVE9SXSA9IDEzLAotCVtJUlExNF9WRUNUT1JdID0gMTQsCi0JW0lSUTE1X1ZFQ1RPUl0gPSAxNSwKLQlbSVJRMTVfVkVDVE9SICsgMSAuLi4gTlJfVkVDVE9SUyAtIDFdID0gLTEKLX07Ci0KLXZvaWQgX19pbml0IGluaXRfSVNBX2lycXMgKHZvaWQpCi17Ci0JaW50IGk7Ci0KLQlpbml0X2JzcF9BUElDKCk7Ci0JaW5pdF84MjU5QSgwKTsKLQotCWZvciAoaSA9IDA7IGkgPCBOUl9JUlFTOyBpKyspIHsKLQkJaXJxX2Rlc2NbaV0uc3RhdHVzID0gSVJRX0RJU0FCTEVEOwotCQlpcnFfZGVzY1tpXS5hY3Rpb24gPSBOVUxMOwotCQlpcnFfZGVzY1tpXS5kZXB0aCA9IDE7Ci0KLQkJaWYgKGkgPCAxNikgewotCQkJLyoKLQkJCSAqIDE2IG9sZC1zdHlsZSBJTlRBLWN5Y2xlIGludGVycnVwdHM6Ci0JCQkgKi8KLQkJCXNldF9pcnFfY2hpcF9hbmRfaGFuZGxlcl9uYW1lKGksICZpODI1OUFfY2hpcCwKLQkJCQkJCSAgICAgIGhhbmRsZV9sZXZlbF9pcnEsICJYVCIpOwotCQl9IGVsc2UgewotCQkJLyoKLQkJCSAqICdoaWdoJyBQQ0kgSVJRcyBmaWxsZWQgaW4gb24gZGVtYW5kCi0JCQkgKi8KLQkJCWlycV9kZXNjW2ldLmNoaXAgPSAmbm9faXJxX2NoaXA7Ci0JCX0KLQl9Ci19Ci0KLXZvaWQgaW5pdF9JUlEodm9pZCkgX19hdHRyaWJ1dGVfXygod2VhaywgYWxpYXMoIm5hdGl2ZV9pbml0X0lSUSIpKSk7Ci0KLXZvaWQgX19pbml0IG5hdGl2ZV9pbml0X0lSUSh2b2lkKQotewotCWludCBpOwotCi0JaW5pdF9JU0FfaXJxcygpOwotCS8qCi0JICogQ292ZXIgdGhlIHdob2xlIHZlY3RvciBzcGFjZSwgbm8gdmVjdG9yIGNhbiBlc2NhcGUKLQkgKiB1cy4gKHNvbWUgb2YgdGhlc2Ugd2lsbCBiZSBvdmVycmlkZGVuIGFuZCBiZWNvbWUKLQkgKiAnc3BlY2lhbCcgU01QIGludGVycnVwdHMpCi0JICovCi0JZm9yIChpID0gMDsgaSA8IChOUl9WRUNUT1JTIC0gRklSU1RfRVhURVJOQUxfVkVDVE9SKTsgaSsrKSB7Ci0JCWludCB2ZWN0b3IgPSBGSVJTVF9FWFRFUk5BTF9WRUNUT1IgKyBpOwotCQlpZiAodmVjdG9yICE9IElBMzJfU1lTQ0FMTF9WRUNUT1IpCi0JCQlzZXRfaW50cl9nYXRlKHZlY3RvciwgaW50ZXJydXB0W2ldKTsKLQl9Ci0KLSNpZmRlZiBDT05GSUdfU01QCi0JLyoKLQkgKiBUaGUgcmVzY2hlZHVsZSBpbnRlcnJ1cHQgaXMgYSBDUFUtdG8tQ1BVIHJlc2NoZWR1bGUtaGVscGVyCi0JICogSVBJLCBkcml2ZW4gYnkgd2FrZXVwLgotCSAqLwotCXNldF9pbnRyX2dhdGUoUkVTQ0hFRFVMRV9WRUNUT1IsIHJlc2NoZWR1bGVfaW50ZXJydXB0KTsKLQotCS8qIElQSXMgZm9yIGludmFsaWRhdGlvbiAqLwotCXNldF9pbnRyX2dhdGUoSU5WQUxJREFURV9UTEJfVkVDVE9SX1NUQVJUKzAsIGludmFsaWRhdGVfaW50ZXJydXB0MCk7Ci0Jc2V0X2ludHJfZ2F0ZShJTlZBTElEQVRFX1RMQl9WRUNUT1JfU1RBUlQrMSwgaW52YWxpZGF0ZV9pbnRlcnJ1cHQxKTsKLQlzZXRfaW50cl9nYXRlKElOVkFMSURBVEVfVExCX1ZFQ1RPUl9TVEFSVCsyLCBpbnZhbGlkYXRlX2ludGVycnVwdDIpOwotCXNldF9pbnRyX2dhdGUoSU5WQUxJREFURV9UTEJfVkVDVE9SX1NUQVJUKzMsIGludmFsaWRhdGVfaW50ZXJydXB0Myk7Ci0Jc2V0X2ludHJfZ2F0ZShJTlZBTElEQVRFX1RMQl9WRUNUT1JfU1RBUlQrNCwgaW52YWxpZGF0ZV9pbnRlcnJ1cHQ0KTsKLQlzZXRfaW50cl9nYXRlKElOVkFMSURBVEVfVExCX1ZFQ1RPUl9TVEFSVCs1LCBpbnZhbGlkYXRlX2ludGVycnVwdDUpOwotCXNldF9pbnRyX2dhdGUoSU5WQUxJREFURV9UTEJfVkVDVE9SX1NUQVJUKzYsIGludmFsaWRhdGVfaW50ZXJydXB0Nik7Ci0Jc2V0X2ludHJfZ2F0ZShJTlZBTElEQVRFX1RMQl9WRUNUT1JfU1RBUlQrNywgaW52YWxpZGF0ZV9pbnRlcnJ1cHQ3KTsKLQotCS8qIElQSSBmb3IgZ2VuZXJpYyBmdW5jdGlvbiBjYWxsICovCi0Jc2V0X2ludHJfZ2F0ZShDQUxMX0ZVTkNUSU9OX1ZFQ1RPUiwgY2FsbF9mdW5jdGlvbl9pbnRlcnJ1cHQpOwotCi0JLyogTG93IHByaW9yaXR5IElQSSB0byBjbGVhbnVwIGFmdGVyIG1vdmluZyBhbiBpcnEgKi8KLQlzZXRfaW50cl9nYXRlKElSUV9NT1ZFX0NMRUFOVVBfVkVDVE9SLCBpcnFfbW92ZV9jbGVhbnVwX2ludGVycnVwdCk7Ci0jZW5kaWYKLQlzZXRfaW50cl9nYXRlKFRIRVJNQUxfQVBJQ19WRUNUT1IsIHRoZXJtYWxfaW50ZXJydXB0KTsKLQlzZXRfaW50cl9nYXRlKFRIUkVTSE9MRF9BUElDX1ZFQ1RPUiwgdGhyZXNob2xkX2ludGVycnVwdCk7Ci0KLQkvKiBzZWxmIGdlbmVyYXRlZCBJUEkgZm9yIGxvY2FsIEFQSUMgdGltZXIgKi8KLQlzZXRfaW50cl9nYXRlKExPQ0FMX1RJTUVSX1ZFQ1RPUiwgYXBpY190aW1lcl9pbnRlcnJ1cHQpOwotCi0JLyogSVBJIHZlY3RvcnMgZm9yIEFQSUMgc3B1cmlvdXMgYW5kIGVycm9yIGludGVycnVwdHMgKi8KLQlzZXRfaW50cl9nYXRlKFNQVVJJT1VTX0FQSUNfVkVDVE9SLCBzcHVyaW91c19pbnRlcnJ1cHQpOwotCXNldF9pbnRyX2dhdGUoRVJST1JfQVBJQ19WRUNUT1IsIGVycm9yX2ludGVycnVwdCk7Ci0KLQlpZiAoIWFjcGlfaW9hcGljKQotCQlzZXR1cF9pcnEoMiwgJmlycTIpOwotfQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2lvX2FwaWNfMzIuYyBiL2FyY2gveDg2L2tlcm5lbC9pb19hcGljXzMyLmMKaW5kZXggNGRjODYwMGQ5Li42MDMyNjFhIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvaW9fYXBpY18zMi5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9pb19hcGljXzMyLmMKQEAgLTI1LDYgKzI1LDcgQEAKICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KICNpbmNsdWRlIDxsaW51eC9zY2hlZC5oPgorI2luY2x1ZGUgPGxpbnV4L2Jvb3RtZW0uaD4KICNpbmNsdWRlIDxsaW51eC9tYzE0NjgxOHJ0Yy5oPgogI2luY2x1ZGUgPGxpbnV4L2NvbXBpbGVyLmg+CiAjaW5jbHVkZSA8bGludXgvYWNwaS5oPgpAQCAtNTgsNyArNTksNyBAQAogc3RhdGljIERFRklORV9TUElOTE9DSyhpb2FwaWNfbG9jayk7CiBzdGF0aWMgREVGSU5FX1NQSU5MT0NLKHZlY3Rvcl9sb2NrKTsKIAotaW50IHRpbWVyX292ZXJfODI1NCBfX2luaXRkYXRhID0gMTsKK2ludCB0aW1lcl90aHJvdWdoXzgyNTkgX19pbml0ZGF0YTsKIAogLyoKICAqCUlzIHRoZSBTaVMgQVBJQyBybXcgYnVnIHByZXNlbnQgPwpAQCAtNzIsMTUgKzczLDIxIEBACiBpbnQgbnJfaW9hcGljX3JlZ2lzdGVyc1tNQVhfSU9fQVBJQ1NdOwogCiAvKiBJL08gQVBJQyBlbnRyaWVzICovCi1zdHJ1Y3QgbXBjX2NvbmZpZ19pb2FwaWMgbXBfaW9hcGljc1tNQVhfSU9fQVBJQ1NdOworc3RydWN0IG1wX2NvbmZpZ19pb2FwaWMgbXBfaW9hcGljc1tNQVhfSU9fQVBJQ1NdOwogaW50IG5yX2lvYXBpY3M7CiAKIC8qIE1QIElSUSBzb3VyY2UgZW50cmllcyAqLwotc3RydWN0IG1wY19jb25maWdfaW50c3JjIG1wX2lycXNbTUFYX0lSUV9TT1VSQ0VTXTsKK3N0cnVjdCBtcF9jb25maWdfaW50c3JjIG1wX2lycXNbTUFYX0lSUV9TT1VSQ0VTXTsKIAogLyogIyBvZiBNUCBJUlEgc291cmNlIGVudHJpZXMgKi8KIGludCBtcF9pcnFfZW50cmllczsKIAorI2lmIGRlZmluZWQgKENPTkZJR19NQ0EpIHx8IGRlZmluZWQgKENPTkZJR19FSVNBKQoraW50IG1wX2J1c19pZF90b190eXBlW01BWF9NUF9CVVNTRVNdOworI2VuZGlmCisKK0RFQ0xBUkVfQklUTUFQKG1wX2J1c19ub3RfcGNpLCBNQVhfTVBfQlVTU0VTKTsKKwogc3RhdGljIGludCBkaXNhYmxlX3RpbWVyX3Bpbl8xIF9faW5pdGRhdGE7CiAKIC8qCkBAIC0xMTAsNyArMTE3LDcgQEAKIHN0YXRpYyBfX2F0dHJpYnV0ZV9jb25zdF9fIHN0cnVjdCBpb19hcGljIF9faW9tZW0gKmlvX2FwaWNfYmFzZShpbnQgaWR4KQogewogCXJldHVybiAodm9pZCBfX2lvbWVtICopIF9fZml4X3RvX3ZpcnQoRklYX0lPX0FQSUNfQkFTRV8wICsgaWR4KQotCQkrIChtcF9pb2FwaWNzW2lkeF0ubXBjX2FwaWNhZGRyICYgflBBR0VfTUFTSyk7CisJCSsgKG1wX2lvYXBpY3NbaWR4XS5tcF9hcGljYWRkciAmIH5QQUdFX01BU0spOwogfQogCiBzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGludCBpb19hcGljX3JlYWQodW5zaWduZWQgaW50IGFwaWMsIHVuc2lnbmVkIGludCByZWcpCkBAIC0yMzksNyArMjQ2LDcgQEAKIAl9CiB9CiAKLXN0YXRpYyB2b2lkIF9fbW9kaWZ5X0lPX0FQSUNfaXJxICh1bnNpZ25lZCBpbnQgaXJxLCB1bnNpZ25lZCBsb25nIGVuYWJsZSwgdW5zaWduZWQgbG9uZyBkaXNhYmxlKQorc3RhdGljIHZvaWQgX19tb2RpZnlfSU9fQVBJQ19pcnEodW5zaWduZWQgaW50IGlycSwgdW5zaWduZWQgbG9uZyBlbmFibGUsIHVuc2lnbmVkIGxvbmcgZGlzYWJsZSkKIHsKIAlzdHJ1Y3QgaXJxX3Bpbl9saXN0ICplbnRyeSA9IGlycV8yX3BpbiArIGlycTsKIAl1bnNpZ25lZCBpbnQgcGluLCByZWc7CkBAIC0yNTksMzAgKzI2NiwzMiBAQAogfQogCiAvKiBtYXNrID0gMSAqLwotc3RhdGljIHZvaWQgX19tYXNrX0lPX0FQSUNfaXJxICh1bnNpZ25lZCBpbnQgaXJxKQorc3RhdGljIHZvaWQgX19tYXNrX0lPX0FQSUNfaXJxKHVuc2lnbmVkIGludCBpcnEpCiB7Ci0JX19tb2RpZnlfSU9fQVBJQ19pcnEoaXJxLCAweDAwMDEwMDAwLCAwKTsKKwlfX21vZGlmeV9JT19BUElDX2lycShpcnEsIElPX0FQSUNfUkVESVJfTUFTS0VELCAwKTsKIH0KIAogLyogbWFzayA9IDAgKi8KLXN0YXRpYyB2b2lkIF9fdW5tYXNrX0lPX0FQSUNfaXJxICh1bnNpZ25lZCBpbnQgaXJxKQorc3RhdGljIHZvaWQgX191bm1hc2tfSU9fQVBJQ19pcnEodW5zaWduZWQgaW50IGlycSkKIHsKLQlfX21vZGlmeV9JT19BUElDX2lycShpcnEsIDAsIDB4MDAwMTAwMDApOworCV9fbW9kaWZ5X0lPX0FQSUNfaXJxKGlycSwgMCwgSU9fQVBJQ19SRURJUl9NQVNLRUQpOwogfQogCiAvKiBtYXNrID0gMSwgdHJpZ2dlciA9IDAgKi8KLXN0YXRpYyB2b2lkIF9fbWFza19hbmRfZWRnZV9JT19BUElDX2lycSAodW5zaWduZWQgaW50IGlycSkKK3N0YXRpYyB2b2lkIF9fbWFza19hbmRfZWRnZV9JT19BUElDX2lycSh1bnNpZ25lZCBpbnQgaXJxKQogewotCV9fbW9kaWZ5X0lPX0FQSUNfaXJxKGlycSwgMHgwMDAxMDAwMCwgMHgwMDAwODAwMCk7CisJX19tb2RpZnlfSU9fQVBJQ19pcnEoaXJxLCBJT19BUElDX1JFRElSX01BU0tFRCwKKwkJCQlJT19BUElDX1JFRElSX0xFVkVMX1RSSUdHRVIpOwogfQogCiAvKiBtYXNrID0gMCwgdHJpZ2dlciA9IDEgKi8KLXN0YXRpYyB2b2lkIF9fdW5tYXNrX2FuZF9sZXZlbF9JT19BUElDX2lycSAodW5zaWduZWQgaW50IGlycSkKK3N0YXRpYyB2b2lkIF9fdW5tYXNrX2FuZF9sZXZlbF9JT19BUElDX2lycSh1bnNpZ25lZCBpbnQgaXJxKQogewotCV9fbW9kaWZ5X0lPX0FQSUNfaXJxKGlycSwgMHgwMDAwODAwMCwgMHgwMDAxMDAwMCk7CisJX19tb2RpZnlfSU9fQVBJQ19pcnEoaXJxLCBJT19BUElDX1JFRElSX0xFVkVMX1RSSUdHRVIsCisJCQkJSU9fQVBJQ19SRURJUl9NQVNLRUQpOwogfQogCi1zdGF0aWMgdm9pZCBtYXNrX0lPX0FQSUNfaXJxICh1bnNpZ25lZCBpbnQgaXJxKQorc3RhdGljIHZvaWQgbWFza19JT19BUElDX2lycSh1bnNpZ25lZCBpbnQgaXJxKQogewogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAKQEAgLTI5MSw3ICszMDAsNyBAQAogCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmlvYXBpY19sb2NrLCBmbGFncyk7CiB9CiAKLXN0YXRpYyB2b2lkIHVubWFza19JT19BUElDX2lycSAodW5zaWduZWQgaW50IGlycSkKK3N0YXRpYyB2b2lkIHVubWFza19JT19BUElDX2lycSh1bnNpZ25lZCBpbnQgaXJxKQogewogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAKQEAgLTMwMyw3ICszMTIsNyBAQAogc3RhdGljIHZvaWQgY2xlYXJfSU9fQVBJQ19waW4odW5zaWduZWQgaW50IGFwaWMsIHVuc2lnbmVkIGludCBwaW4pCiB7CiAJc3RydWN0IElPX0FQSUNfcm91dGVfZW50cnkgZW50cnk7Ci0JCisKIAkvKiBDaGVjayBkZWxpdmVyeV9tb2RlIHRvIGJlIHN1cmUgd2UncmUgbm90IGNsZWFyaW5nIGFuIFNNSSBwaW4gKi8KIAllbnRyeSA9IGlvYXBpY19yZWFkX2VudHJ5KGFwaWMsIHBpbik7CiAJaWYgKGVudHJ5LmRlbGl2ZXJ5X21vZGUgPT0gZGVzdF9TTUkpCkBAIC0zMTUsNyArMzI0LDcgQEAKIAlpb2FwaWNfbWFza19lbnRyeShhcGljLCBwaW4pOwogfQogCi1zdGF0aWMgdm9pZCBjbGVhcl9JT19BUElDICh2b2lkKQorc3RhdGljIHZvaWQgY2xlYXJfSU9fQVBJQyh2b2lkKQogewogCWludCBhcGljLCBwaW47CiAKQEAgLTMzMiw3ICszNDEsNyBAQAogCXN0cnVjdCBpcnFfcGluX2xpc3QgKmVudHJ5ID0gaXJxXzJfcGluICsgaXJxOwogCXVuc2lnbmVkIGludCBhcGljaWRfdmFsdWU7CiAJY3B1bWFza190IHRtcDsKLQkKKwogCWNwdXNfYW5kKHRtcCwgY3B1bWFzaywgY3B1X29ubGluZV9tYXApOwogCWlmIChjcHVzX2VtcHR5KHRtcCkpCiAJCXRtcCA9IFRBUkdFVF9DUFVTOwpAQCAtMzYxLDcgKzM3MCw3IEBACiAjIGluY2x1ZGUgPGxpbnV4L2tlcm5lbF9zdGF0Lmg+CS8qIGtzdGF0ICovCiAjIGluY2x1ZGUgPGxpbnV4L3NsYWIuaD4JCS8qIGttYWxsb2MoKSAqLwogIyBpbmNsdWRlIDxsaW51eC90aW1lci5oPgotIAorCiAjZGVmaW5lIElSUUJBTEFOQ0VfQ0hFQ0tfQVJDSCAtOTk5CiAjZGVmaW5lIE1BWF9CQUxBTkNFRF9JUlFfSU5URVJWQUwJKDUqSFopCiAjZGVmaW5lIE1JTl9CQUxBTkNFRF9JUlFfSU5URVJWQUwJKEhaLzIpCkBAIC0zNzMsMTQgKzM4MiwxNCBAQAogc3RhdGljIGxvbmcgYmFsYW5jZWRfaXJxX2ludGVydmFsIF9fcmVhZF9tb3N0bHkgPSBNQVhfQkFMQU5DRURfSVJRX0lOVEVSVkFMOwogCiBzdGF0aWMgc3RydWN0IGlycV9jcHVfaW5mbyB7Ci0JdW5zaWduZWQgbG9uZyAqIGxhc3RfaXJxOwotCXVuc2lnbmVkIGxvbmcgKiBpcnFfZGVsdGE7CisJdW5zaWduZWQgbG9uZyAqbGFzdF9pcnE7CisJdW5zaWduZWQgbG9uZyAqaXJxX2RlbHRhOwogCXVuc2lnbmVkIGxvbmcgaXJxOwogfSBpcnFfY3B1X2RhdGFbTlJfQ1BVU107CiAKICNkZWZpbmUgQ1BVX0lSUShjcHUpCQkoaXJxX2NwdV9kYXRhW2NwdV0uaXJxKQotI2RlZmluZSBMQVNUX0NQVV9JUlEoY3B1LGlycSkgICAoaXJxX2NwdV9kYXRhW2NwdV0ubGFzdF9pcnFbaXJxXSkKLSNkZWZpbmUgSVJRX0RFTFRBKGNwdSxpcnEpIAkoaXJxX2NwdV9kYXRhW2NwdV0uaXJxX2RlbHRhW2lycV0pCisjZGVmaW5lIExBU1RfQ1BVX0lSUShjcHUsIGlycSkgICAoaXJxX2NwdV9kYXRhW2NwdV0ubGFzdF9pcnFbaXJxXSkKKyNkZWZpbmUgSVJRX0RFTFRBKGNwdSwgaXJxKSAJKGlycV9jcHVfZGF0YVtjcHVdLmlycV9kZWx0YVtpcnFdKQogCiAjZGVmaW5lIElETEVfRU5PVUdIKGNwdSxub3cpIFwKIAkoaWRsZV9jcHUoY3B1KSAmJiAoKG5vdykgLSBwZXJfY3B1KGlycV9zdGF0LCAoY3B1KSkuaWRsZV90aW1lc3RhbXAgPiAxKSkKQEAgLTQxOSw4ICs0MjgsOCBAQAogCQkJaWYgKGNwdSA9PSAtMSkKIAkJCQljcHUgPSBOUl9DUFVTLTE7CiAJCX0KLQl9IHdoaWxlICghY3B1X29ubGluZShjcHUpIHx8ICFJUlFfQUxMT1dFRChjcHUsYWxsb3dlZF9tYXNrKSB8fAotCQkJKHNlYXJjaF9pZGxlICYmICFJRExFX0VOT1VHSChjcHUsbm93KSkpOworCX0gd2hpbGUgKCFjcHVfb25saW5lKGNwdSkgfHwgIUlSUV9BTExPV0VEKGNwdSwgYWxsb3dlZF9tYXNrKSB8fAorCQkJKHNlYXJjaF9pZGxlICYmICFJRExFX0VOT1VHSChjcHUsIG5vdykpKTsKIAogCXJldHVybiBjcHU7CiB9CkBAIC00MzAsMTUgKzQzOSwxNCBAQAogCXVuc2lnbmVkIGxvbmcgbm93ID0gamlmZmllczsKIAljcHVtYXNrX3QgYWxsb3dlZF9tYXNrOwogCXVuc2lnbmVkIGludCBuZXdfY3B1OwotCQkKKwogCWlmIChpcnFiYWxhbmNlX2Rpc2FibGVkKQotCQlyZXR1cm47IAorCQlyZXR1cm47CiAKIAljcHVzX2FuZChhbGxvd2VkX21hc2ssIGNwdV9vbmxpbmVfbWFwLCBiYWxhbmNlX2lycV9hZmZpbml0eVtpcnFdKTsKIAluZXdfY3B1ID0gbW92ZShjcHUsIGFsbG93ZWRfbWFzaywgbm93LCAxKTsKLQlpZiAoY3B1ICE9IG5ld19jcHUpIHsKKwlpZiAoY3B1ICE9IG5ld19jcHUpCiAJCXNldF9wZW5kaW5nX2lycShpcnEsIGNwdW1hc2tfb2ZfY3B1KG5ld19jcHUpKTsKLQl9CiB9CiAKIHN0YXRpYyBpbmxpbmUgdm9pZCByb3RhdGVfaXJxc19hbW9uZ19jcHVzKHVuc2lnbmVkIGxvbmcgdXNlZnVsX2xvYWRfdGhyZXNob2xkKQpAQCAtNDUwLDE0ICs0NTgsMTQgQEAKIAkJCWlmICghaXJxX2Rlc2Nbal0uYWN0aW9uKQogCQkJCWNvbnRpbnVlOwogCQkJLyogSXMgaXQgYSBzaWduaWZpY2FudCBsb2FkID8gICovCi0JCQlpZiAoSVJRX0RFTFRBKENQVV9UT19QQUNLQUdFSU5ERVgoaSksaikgPAorCQkJaWYgKElSUV9ERUxUQShDUFVfVE9fUEFDS0FHRUlOREVYKGkpLCBqKSA8CiAJCQkJCQl1c2VmdWxfbG9hZF90aHJlc2hvbGQpCiAJCQkJY29udGludWU7CiAJCQliYWxhbmNlX2lycShpLCBqKTsKIAkJfQogCX0KIAliYWxhbmNlZF9pcnFfaW50ZXJ2YWwgPSBtYXgoKGxvbmcpTUlOX0JBTEFOQ0VEX0lSUV9JTlRFUlZBTCwKLQkJYmFsYW5jZWRfaXJxX2ludGVydmFsIC0gQkFMQU5DRURfSVJRX0xFU1NfREVMVEEpOwkKKwkJYmFsYW5jZWRfaXJxX2ludGVydmFsIC0gQkFMQU5DRURfSVJRX0xFU1NfREVMVEEpOwogCXJldHVybjsKIH0KIApAQCAtNDg2LDIyICs0OTQsMjIgQEAKIAkJCS8qIElzIHRoaXMgYW4gYWN0aXZlIElSUSBvciBiYWxhbmNpbmcgZGlzYWJsZWQgPyAqLwogCQkJaWYgKCFpcnFfZGVzY1tqXS5hY3Rpb24gfHwgaXJxX2JhbGFuY2luZ19kaXNhYmxlZChqKSkKIAkJCQljb250aW51ZTsKLQkJCWlmICggcGFja2FnZV9pbmRleCA9PSBpICkKLQkJCQlJUlFfREVMVEEocGFja2FnZV9pbmRleCxqKSA9IDA7CisJCQlpZiAocGFja2FnZV9pbmRleCA9PSBpKQorCQkJCUlSUV9ERUxUQShwYWNrYWdlX2luZGV4LCBqKSA9IDA7CiAJCQkvKiBEZXRlcm1pbmUgdGhlIHRvdGFsIGNvdW50IHBlciBwcm9jZXNzb3IgcGVyIElSUSAqLwogCQkJdmFsdWVfbm93ID0gKHVuc2lnbmVkIGxvbmcpIGtzdGF0X2NwdShpKS5pcnFzW2pdOwogCiAJCQkvKiBEZXRlcm1pbmUgdGhlIGFjdGl2aXR5IHBlciBwcm9jZXNzb3IgcGVyIElSUSAqLwotCQkJZGVsdGEgPSB2YWx1ZV9ub3cgLSBMQVNUX0NQVV9JUlEoaSxqKTsKKwkJCWRlbHRhID0gdmFsdWVfbm93IC0gTEFTVF9DUFVfSVJRKGksIGopOwogCiAJCQkvKiBVcGRhdGUgbGFzdF9jcHVfaXJxW11bXSBmb3IgdGhlIG5leHQgdGltZSAqLwotCQkJTEFTVF9DUFVfSVJRKGksaikgPSB2YWx1ZV9ub3c7CisJCQlMQVNUX0NQVV9JUlEoaSwgaikgPSB2YWx1ZV9ub3c7CiAKIAkJCS8qIElnbm9yZSBJUlFzIHdob3NlIHJhdGUgaXMgbGVzcyB0aGFuIHRoZSBjbG9jayAqLwogCQkJaWYgKGRlbHRhIDwgdXNlZnVsX2xvYWRfdGhyZXNob2xkKQogCQkJCWNvbnRpbnVlOwogCQkJLyogdXBkYXRlIHRoZSBsb2FkIGZvciB0aGUgcHJvY2Vzc29yIG9yIHBhY2thZ2UgdG90YWwgKi8KLQkJCUlSUV9ERUxUQShwYWNrYWdlX2luZGV4LGopICs9IGRlbHRhOworCQkJSVJRX0RFTFRBKHBhY2thZ2VfaW5kZXgsIGopICs9IGRlbHRhOwogCiAJCQkvKiBLZWVwIHRyYWNrIG9mIHRoZSBoaWdoZXIgbnVtYmVyZWQgc2libGluZyBhcyB3ZWxsICovCiAJCQlpZiAoaSAhPSBwYWNrYWdlX2luZGV4KQpAQCAtNTI3LDcgKzUzNSw4IEBACiAJbWF4X2NwdV9pcnEgPSBVTE9OR19NQVg7CiAKIHRyeWFub3RoZXJjcHU6Ci0JLyogTG9vayBmb3IgaGVhdmllc3QgbG9hZGVkIHByb2Nlc3Nvci4KKwkvKgorCSAqIExvb2sgZm9yIGhlYXZpZXN0IGxvYWRlZCBwcm9jZXNzb3IuCiAJICogV2UgbWF5IGNvbWUgYmFjayB0byBnZXQgdGhlIG5leHQgaGVhdmllc3QgbG9hZGVkIHByb2Nlc3Nvci4KIAkgKiBTa2lwIHByb2Nlc3NvcnMgd2l0aCB0cml2aWFsIGxvYWRzLgogCSAqLwpAQCAtNTM2LDcgKzU0NSw3IEBACiAJZm9yX2VhY2hfb25saW5lX2NwdShpKSB7CiAJCWlmIChpICE9IENQVV9UT19QQUNLQUdFSU5ERVgoaSkpCiAJCQljb250aW51ZTsKLQkJaWYgKG1heF9jcHVfaXJxIDw9IENQVV9JUlEoaSkpIAorCQlpZiAobWF4X2NwdV9pcnEgPD0gQ1BVX0lSUShpKSkKIAkJCWNvbnRpbnVlOwogCQlpZiAodG1wX2NwdV9pcnEgPCBDUFVfSVJRKGkpKSB7CiAJCQl0bXBfY3B1X2lycSA9IENQVV9JUlEoaSk7CkBAIC01NDUsOCArNTU0LDkgQEAKIAl9CiAKIAlpZiAodG1wX2xvYWRlZCA9PSAtMSkgewotIAkgLyogSW4gdGhlIGNhc2Ugb2Ygc21hbGwgbnVtYmVyIG9mIGhlYXZ5IGludGVycnVwdCBzb3VyY2VzLCAKLQkgICogbG9hZGluZyBzb21lIG9mIHRoZSBjcHVzIHRvbyBtdWNoLiBXZSB1c2UgSW5nbydzIG9yaWdpbmFsIAorCSAvKgorCSAgKiBJbiB0aGUgY2FzZSBvZiBzbWFsbCBudW1iZXIgb2YgaGVhdnkgaW50ZXJydXB0IHNvdXJjZXMsCisJICAqIGxvYWRpbmcgc29tZSBvZiB0aGUgY3B1cyB0b28gbXVjaC4gV2UgdXNlIEluZ28ncyBvcmlnaW5hbAogCSAgKiBhcHByb2FjaCB0byByb3RhdGUgdGhlbSBhcm91bmQuCiAJICAqLwogCQlpZiAoIWZpcnN0X2F0dGVtcHQgJiYgaW1iYWxhbmNlID49IHVzZWZ1bF9sb2FkX3RocmVzaG9sZCkgewpAQCAtNTU1LDEzICs1NjUsMTQgQEAKIAkJfQogCQlnb3RvIG5vdF93b3J0aF90aGVfZWZmb3J0OwogCX0KLQkKKwogCWZpcnN0X2F0dGVtcHQgPSAwOwkJLyogaGVhdmllc3Qgc2VhcmNoICovCiAJbWF4X2NwdV9pcnEgPSB0bXBfY3B1X2lycTsJLyogbG9hZCAqLwogCW1heF9sb2FkZWQgPSB0bXBfbG9hZGVkOwkvKiBwcm9jZXNzb3IgKi8KIAlpbWJhbGFuY2UgPSAobWF4X2NwdV9pcnEgLSBtaW5fY3B1X2lycSkgLyAyOwotCQotCS8qIGlmIGltYmFsYW5jZSBpcyBsZXNzIHRoYW4gYXBwcm94IDEwJSBvZiBtYXggbG9hZCwgdGhlbgorCisJLyoKKwkgKiBpZiBpbWJhbGFuY2UgaXMgbGVzcyB0aGFuIGFwcHJveCAxMCUgb2YgbWF4IGxvYWQsIHRoZW4KIAkgKiBvYnNlcnZlIGRpbWluaXNoaW5nIHJldHVybnMgYWN0aW9uLiAtIHF1aXQKIAkgKi8KIAlpZiAoaW1iYWxhbmNlIDwgKG1heF9jcHVfaXJxID4+IDMpKQpAQCAtNTc3LDI2ICs1ODgsMjUgQEAKIAkJLyogSXMgdGhpcyBhbiBhY3RpdmUgSVJRPyAqLwogCQlpZiAoIWlycV9kZXNjW2pdLmFjdGlvbikKIAkJCWNvbnRpbnVlOwotCQlpZiAoaW1iYWxhbmNlIDw9IElSUV9ERUxUQShtYXhfbG9hZGVkLGopKQorCQlpZiAoaW1iYWxhbmNlIDw9IElSUV9ERUxUQShtYXhfbG9hZGVkLCBqKSkKIAkJCWNvbnRpbnVlOwogCQkvKiBUcnkgdG8gZmluZCB0aGUgSVJRIHRoYXQgaXMgY2xvc2VzdCB0byB0aGUgaW1iYWxhbmNlCiAJCSAqIHdpdGhvdXQgZ29pbmcgb3Zlci4KIAkJICovCi0JCWlmIChtb3ZlX3RoaXNfbG9hZCA8IElSUV9ERUxUQShtYXhfbG9hZGVkLGopKSB7Ci0JCQltb3ZlX3RoaXNfbG9hZCA9IElSUV9ERUxUQShtYXhfbG9hZGVkLGopOworCQlpZiAobW92ZV90aGlzX2xvYWQgPCBJUlFfREVMVEEobWF4X2xvYWRlZCwgaikpIHsKKwkJCW1vdmVfdGhpc19sb2FkID0gSVJRX0RFTFRBKG1heF9sb2FkZWQsIGopOwogCQkJc2VsZWN0ZWRfaXJxID0gajsKIAkJfQogCX0KLQlpZiAoc2VsZWN0ZWRfaXJxID09IC0xKSB7CisJaWYgKHNlbGVjdGVkX2lycSA9PSAtMSkKIAkJZ290byB0cnlhbm90aGVyY3B1OwotCX0KIAogCWltYmFsYW5jZSA9IG1vdmVfdGhpc19sb2FkOwotCQorCiAJLyogRm9yIHBoeXNpY2FsX2JhbGFuY2UgY2FzZSwgd2UgYWNjdW11bGF0ZWQgYm90aCBsb2FkCiAJICogdmFsdWVzIGluIHRoZSBvbmUgb2YgdGhlIHNpYmxpbmdzIGNwdV9pcnFbXSwKIAkgKiB0byB1c2UgdGhlIHNhbWUgY29kZSBmb3IgcGh5c2ljYWwgYW5kIGxvZ2ljYWwgcHJvY2Vzc29ycwotCSAqIGFzIG11Y2ggYXMgcG9zc2libGUuIAorCSAqIGFzIG11Y2ggYXMgcG9zc2libGUuCiAJICoKIAkgKiBOT1RFOiB0aGUgY3B1X2lycVtdIGFycmF5IGhvbGRzIHRoZSBzdW0gb2YgdGhlIGxvYWQgZm9yCiAJICogc2libGluZyBBIGFuZCBzaWJsaW5nIEIgaW4gdGhlIHNsb3QgZm9yIHRoZSBsb3dlc3QgbnVtYmVyZWQKQEAgLTYyNSwxMSArNjM1LDExIEBACiAJCS8qIG1hcmsgZm9yIGNoYW5nZSBkZXN0aW5hdGlvbiAqLwogCQlzZXRfcGVuZGluZ19pcnEoc2VsZWN0ZWRfaXJxLCBjcHVtYXNrX29mX2NwdShtaW5fbG9hZGVkKSk7CiAKLQkJLyogU2luY2Ugd2UgbWFkZSBhIGNoYW5nZSwgY29tZSBiYWNrIHNvb25lciB0byAKKwkJLyogU2luY2Ugd2UgbWFkZSBhIGNoYW5nZSwgY29tZSBiYWNrIHNvb25lciB0bwogCQkgKiBjaGVjayBmb3IgbW9yZSB2YXJpYXRpb24uCiAJCSAqLwogCQliYWxhbmNlZF9pcnFfaW50ZXJ2YWwgPSBtYXgoKGxvbmcpTUlOX0JBTEFOQ0VEX0lSUV9JTlRFUlZBTCwKLQkJCWJhbGFuY2VkX2lycV9pbnRlcnZhbCAtIEJBTEFOQ0VEX0lSUV9MRVNTX0RFTFRBKTsJCisJCQliYWxhbmNlZF9pcnFfaW50ZXJ2YWwgLSBCQUxBTkNFRF9JUlFfTEVTU19ERUxUQSk7CiAJCXJldHVybjsKIAl9CiAJZ290byB0cnlhbm90aGVyaXJxOwpAQCAtNjQwLDcgKzY1MCw3IEBACiAJICogdXB3YXJkCiAJICovCiAJYmFsYW5jZWRfaXJxX2ludGVydmFsID0gbWluKChsb25nKU1BWF9CQUxBTkNFRF9JUlFfSU5URVJWQUwsCi0JCWJhbGFuY2VkX2lycV9pbnRlcnZhbCArIEJBTEFOQ0VEX0lSUV9NT1JFX0RFTFRBKTsJCisJCWJhbGFuY2VkX2lycV9pbnRlcnZhbCArIEJBTEFOQ0VEX0lSUV9NT1JFX0RFTFRBKTsKIAlyZXR1cm47CiB9CiAKQEAgLTY3OSwxMyArNjg5LDEzIEBACiAJY3B1bWFza190IHRtcDsKIAogCWNwdXNfc2hpZnRfcmlnaHQodG1wLCBjcHVfb25saW5lX21hcCwgMik7Ci0gICAgICAgIGMgPSAmYm9vdF9jcHVfZGF0YTsKKwljID0gJmJvb3RfY3B1X2RhdGE7CiAJLyogV2hlbiBub3Qgb3ZlcndyaXR0ZW4gYnkgdGhlIGNvbW1hbmQgbGluZSBhc2sgc3ViYXJjaGl0ZWN0dXJlLiAqLwogCWlmIChpcnFiYWxhbmNlX2Rpc2FibGVkID09IElSUUJBTEFOQ0VfQ0hFQ0tfQVJDSCkKIAkJaXJxYmFsYW5jZV9kaXNhYmxlZCA9IE5PX0JBTEFOQ0VfSVJROwogCWlmIChpcnFiYWxhbmNlX2Rpc2FibGVkKQogCQlyZXR1cm4gMDsKLQkKKwogCSAvKiBkaXNhYmxlIGlycWJhbGFuY2UgY29tcGxldGVseSBpZiB0aGVyZSBpcyBvbmx5IG9uZSBwcm9jZXNzb3Igb25saW5lICovCiAJaWYgKG51bV9vbmxpbmVfY3B1cygpIDwgMikgewogCQlpcnFiYWxhbmNlX2Rpc2FibGVkID0gMTsKQEAgLTY5OSwxNiArNzA5LDE0IEBACiAJCXBoeXNpY2FsX2JhbGFuY2UgPSAxOwogCiAJZm9yX2VhY2hfb25saW5lX2NwdShpKSB7Ci0JCWlycV9jcHVfZGF0YVtpXS5pcnFfZGVsdGEgPSBrbWFsbG9jKHNpemVvZih1bnNpZ25lZCBsb25nKSAqIE5SX0lSUVMsIEdGUF9LRVJORUwpOwotCQlpcnFfY3B1X2RhdGFbaV0ubGFzdF9pcnEgPSBrbWFsbG9jKHNpemVvZih1bnNpZ25lZCBsb25nKSAqIE5SX0lSUVMsIEdGUF9LRVJORUwpOworCQlpcnFfY3B1X2RhdGFbaV0uaXJxX2RlbHRhID0ga3phbGxvYyhzaXplb2YodW5zaWduZWQgbG9uZykgKiBOUl9JUlFTLCBHRlBfS0VSTkVMKTsKKwkJaXJxX2NwdV9kYXRhW2ldLmxhc3RfaXJxID0ga3phbGxvYyhzaXplb2YodW5zaWduZWQgbG9uZykgKiBOUl9JUlFTLCBHRlBfS0VSTkVMKTsKIAkJaWYgKGlycV9jcHVfZGF0YVtpXS5pcnFfZGVsdGEgPT0gTlVMTCB8fCBpcnFfY3B1X2RhdGFbaV0ubGFzdF9pcnEgPT0gTlVMTCkgewogCQkJcHJpbnRrKEtFUk5fRVJSICJiYWxhbmNlZF9pcnFfaW5pdDogb3V0IG9mIG1lbW9yeSIpOwogCQkJZ290byBmYWlsZWQ7CiAJCX0KLQkJbWVtc2V0KGlycV9jcHVfZGF0YVtpXS5pcnFfZGVsdGEsMCxzaXplb2YodW5zaWduZWQgbG9uZykgKiBOUl9JUlFTKTsKLQkJbWVtc2V0KGlycV9jcHVfZGF0YVtpXS5sYXN0X2lycSwwLHNpemVvZih1bnNpZ25lZCBsb25nKSAqIE5SX0lSUVMpOwogCX0KLQkKKwogCXByaW50ayhLRVJOX0lORk8gIlN0YXJ0aW5nIGJhbGFuY2VkX2lycVxuIik7CiAJaWYgKCFJU19FUlIoa3RocmVhZF9ydW4oYmFsYW5jZWRfaXJxLCBOVUxMLCAia2lycWQiKSkpCiAJCXJldHVybiAwOwpAQCAtODAxLDEwICs4MDksMTAgQEAKIAlpbnQgaTsKIAogCWZvciAoaSA9IDA7IGkgPCBtcF9pcnFfZW50cmllczsgaSsrKQotCQlpZiAobXBfaXJxc1tpXS5tcGNfaXJxdHlwZSA9PSB0eXBlICYmCi0JCSAgICAobXBfaXJxc1tpXS5tcGNfZHN0YXBpYyA9PSBtcF9pb2FwaWNzW2FwaWNdLm1wY19hcGljaWQgfHwKLQkJICAgICBtcF9pcnFzW2ldLm1wY19kc3RhcGljID09IE1QX0FQSUNfQUxMKSAmJgotCQkgICAgbXBfaXJxc1tpXS5tcGNfZHN0aXJxID09IHBpbikKKwkJaWYgKG1wX2lycXNbaV0ubXBfaXJxdHlwZSA9PSB0eXBlICYmCisJCSAgICAobXBfaXJxc1tpXS5tcF9kc3RhcGljID09IG1wX2lvYXBpY3NbYXBpY10ubXBfYXBpY2lkIHx8CisJCSAgICAgbXBfaXJxc1tpXS5tcF9kc3RhcGljID09IE1QX0FQSUNfQUxMKSAmJgorCQkgICAgbXBfaXJxc1tpXS5tcF9kc3RpcnEgPT0gcGluKQogCQkJcmV0dXJuIGk7CiAKIAlyZXR1cm4gLTE7CkBAIC04MTgsMTMgKzgyNiwxMyBAQAogCWludCBpOwogCiAJZm9yIChpID0gMDsgaSA8IG1wX2lycV9lbnRyaWVzOyBpKyspIHsKLQkJaW50IGxidXMgPSBtcF9pcnFzW2ldLm1wY19zcmNidXM7CisJCWludCBsYnVzID0gbXBfaXJxc1tpXS5tcF9zcmNidXM7CiAKIAkJaWYgKHRlc3RfYml0KGxidXMsIG1wX2J1c19ub3RfcGNpKSAmJgotCQkgICAgKG1wX2lycXNbaV0ubXBjX2lycXR5cGUgPT0gdHlwZSkgJiYKLQkJICAgIChtcF9pcnFzW2ldLm1wY19zcmNidXNpcnEgPT0gaXJxKSkKKwkJICAgIChtcF9pcnFzW2ldLm1wX2lycXR5cGUgPT0gdHlwZSkgJiYKKwkJICAgIChtcF9pcnFzW2ldLm1wX3NyY2J1c2lycSA9PSBpcnEpKQogCi0JCQlyZXR1cm4gbXBfaXJxc1tpXS5tcGNfZHN0aXJxOworCQkJcmV0dXJuIG1wX2lycXNbaV0ubXBfZHN0aXJxOwogCX0KIAlyZXR1cm4gLTE7CiB9CkBAIC04MzQsMTcgKzg0MiwxNyBAQAogCWludCBpOwogCiAJZm9yIChpID0gMDsgaSA8IG1wX2lycV9lbnRyaWVzOyBpKyspIHsKLQkJaW50IGxidXMgPSBtcF9pcnFzW2ldLm1wY19zcmNidXM7CisJCWludCBsYnVzID0gbXBfaXJxc1tpXS5tcF9zcmNidXM7CiAKIAkJaWYgKHRlc3RfYml0KGxidXMsIG1wX2J1c19ub3RfcGNpKSAmJgotCQkgICAgKG1wX2lycXNbaV0ubXBjX2lycXR5cGUgPT0gdHlwZSkgJiYKLQkJICAgIChtcF9pcnFzW2ldLm1wY19zcmNidXNpcnEgPT0gaXJxKSkKKwkJICAgIChtcF9pcnFzW2ldLm1wX2lycXR5cGUgPT0gdHlwZSkgJiYKKwkJICAgIChtcF9pcnFzW2ldLm1wX3NyY2J1c2lycSA9PSBpcnEpKQogCQkJYnJlYWs7CiAJfQogCWlmIChpIDwgbXBfaXJxX2VudHJpZXMpIHsKIAkJaW50IGFwaWM7Ci0JCWZvcihhcGljID0gMDsgYXBpYyA8IG5yX2lvYXBpY3M7IGFwaWMrKykgewotCQkJaWYgKG1wX2lvYXBpY3NbYXBpY10ubXBjX2FwaWNpZCA9PSBtcF9pcnFzW2ldLm1wY19kc3RhcGljKQorCQlmb3IgKGFwaWMgPSAwOyBhcGljIDwgbnJfaW9hcGljczsgYXBpYysrKSB7CisJCQlpZiAobXBfaW9hcGljc1thcGljXS5tcF9hcGljaWQgPT0gbXBfaXJxc1tpXS5tcF9kc3RhcGljKQogCQkJCXJldHVybiBhcGljOwogCQl9CiAJfQpAQCAtODY0LDI4ICs4NzIsMjggQEAKIAogCWFwaWNfcHJpbnRrKEFQSUNfREVCVUcsICJxdWVyeWluZyBQQ0kgLT4gSVJRIG1hcHBpbmcgYnVzOiVkLCAiCiAJCSJzbG90OiVkLCBwaW46JWQuXG4iLCBidXMsIHNsb3QsIHBpbik7Ci0JaWYgKG1wX2J1c19pZF90b19wY2lfYnVzW2J1c10gPT0gLTEpIHsKKwlpZiAodGVzdF9iaXQoYnVzLCBtcF9idXNfbm90X3BjaSkpIHsKIAkJcHJpbnRrKEtFUk5fV0FSTklORyAiUENJIEJJT1MgcGFzc2VkIG5vbmV4aXN0ZW50IFBDSSBidXMgJWQhXG4iLCBidXMpOwogCQlyZXR1cm4gLTE7CiAJfQogCWZvciAoaSA9IDA7IGkgPCBtcF9pcnFfZW50cmllczsgaSsrKSB7Ci0JCWludCBsYnVzID0gbXBfaXJxc1tpXS5tcGNfc3JjYnVzOworCQlpbnQgbGJ1cyA9IG1wX2lycXNbaV0ubXBfc3JjYnVzOwogCiAJCWZvciAoYXBpYyA9IDA7IGFwaWMgPCBucl9pb2FwaWNzOyBhcGljKyspCi0JCQlpZiAobXBfaW9hcGljc1thcGljXS5tcGNfYXBpY2lkID09IG1wX2lycXNbaV0ubXBjX2RzdGFwaWMgfHwKLQkJCSAgICBtcF9pcnFzW2ldLm1wY19kc3RhcGljID09IE1QX0FQSUNfQUxMKQorCQkJaWYgKG1wX2lvYXBpY3NbYXBpY10ubXBfYXBpY2lkID09IG1wX2lycXNbaV0ubXBfZHN0YXBpYyB8fAorCQkJICAgIG1wX2lycXNbaV0ubXBfZHN0YXBpYyA9PSBNUF9BUElDX0FMTCkKIAkJCQlicmVhazsKIAogCQlpZiAoIXRlc3RfYml0KGxidXMsIG1wX2J1c19ub3RfcGNpKSAmJgotCQkgICAgIW1wX2lycXNbaV0ubXBjX2lycXR5cGUgJiYKKwkJICAgICFtcF9pcnFzW2ldLm1wX2lycXR5cGUgJiYKIAkJICAgIChidXMgPT0gbGJ1cykgJiYKLQkJICAgIChzbG90ID09ICgobXBfaXJxc1tpXS5tcGNfc3JjYnVzaXJxID4+IDIpICYgMHgxZikpKSB7Ci0JCQlpbnQgaXJxID0gcGluXzJfaXJxKGksYXBpYyxtcF9pcnFzW2ldLm1wY19kc3RpcnEpOworCQkgICAgKHNsb3QgPT0gKChtcF9pcnFzW2ldLm1wX3NyY2J1c2lycSA+PiAyKSAmIDB4MWYpKSkgeworCQkJaW50IGlycSA9IHBpbl8yX2lycShpLCBhcGljLCBtcF9pcnFzW2ldLm1wX2RzdGlycSk7CiAKIAkJCWlmICghKGFwaWMgfHwgSU9fQVBJQ19JUlEoaXJxKSkpCiAJCQkJY29udGludWU7CiAKLQkJCWlmIChwaW4gPT0gKG1wX2lycXNbaV0ubXBjX3NyY2J1c2lycSAmIDMpKQorCQkJaWYgKHBpbiA9PSAobXBfaXJxc1tpXS5tcF9zcmNidXNpcnEgJiAzKSkKIAkJCQlyZXR1cm4gaXJxOwogCQkJLyoKIAkJCSAqIFVzZSB0aGUgZmlyc3QgYWxsLWJ1dC1waW4gbWF0Y2hpbmcgZW50cnkgYXMgYQpAQCAtOTAwLDcgKzkwOCw3IEBACiBFWFBPUlRfU1lNQk9MKElPX0FQSUNfZ2V0X1BDSV9pcnFfdmVjdG9yKTsKIAogLyoKLSAqIFRoaXMgZnVuY3Rpb24gY3VycmVudGx5IGlzIG9ubHkgYSBoZWxwZXIgZm9yIHRoZSBpMzg2IHNtcCBib290IHByb2Nlc3Mgd2hlcmUgCisgKiBUaGlzIGZ1bmN0aW9uIGN1cnJlbnRseSBpcyBvbmx5IGEgaGVscGVyIGZvciB0aGUgaTM4NiBzbXAgYm9vdCBwcm9jZXNzIHdoZXJlCiAgKiB3ZSBuZWVkIHRvIHJlcHJvZ3JhbSB0aGUgaW9yZWR0YmxzIHRvIGNhdGVyIGZvciB0aGUgY3B1cyB3aGljaCBoYXZlIGNvbWUgb25saW5lCiAgKiBzbyBtYXNrIGluIGFsbCBjYXNlcyBzaG91bGQgc2ltcGx5IGJlIFRBUkdFVF9DUFVTCiAgKi8KQEAgLTk1Miw3ICs5NjAsNyBAQAogICogRUlTQSBjb25mb3JtaW5nIGluIHRoZSBNUCB0YWJsZSwgdGhhdCBtZWFucyBpdHMgdHJpZ2dlciB0eXBlIG11c3QKICAqIGJlIHJlYWQgaW4gZnJvbSB0aGUgRUxDUiAqLwogCi0jZGVmaW5lIGRlZmF1bHRfRUlTQV90cmlnZ2VyKGlkeCkJKEVJU0FfRUxDUihtcF9pcnFzW2lkeF0ubXBjX3NyY2J1c2lycSkpCisjZGVmaW5lIGRlZmF1bHRfRUlTQV90cmlnZ2VyKGlkeCkJKEVJU0FfRUxDUihtcF9pcnFzW2lkeF0ubXBfc3JjYnVzaXJxKSkKICNkZWZpbmUgZGVmYXVsdF9FSVNBX3BvbGFyaXR5KGlkeCkJZGVmYXVsdF9JU0FfcG9sYXJpdHkoaWR4KQogCiAvKiBQQ0kgaW50ZXJydXB0cyBhcmUgYWx3YXlzIHBvbGFyaXR5IG9uZSBsZXZlbCB0cmlnZ2VyZWQsCkBAIC05NjksMTE3ICs5NzcsMTE0IEBACiAKIHN0YXRpYyBpbnQgTVBCSU9TX3BvbGFyaXR5KGludCBpZHgpCiB7Ci0JaW50IGJ1cyA9IG1wX2lycXNbaWR4XS5tcGNfc3JjYnVzOworCWludCBidXMgPSBtcF9pcnFzW2lkeF0ubXBfc3JjYnVzOwogCWludCBwb2xhcml0eTsKIAogCS8qCiAJICogRGV0ZXJtaW5lIElSUSBsaW5lIHBvbGFyaXR5IChoaWdoIGFjdGl2ZSBvciBsb3cgYWN0aXZlKToKIAkgKi8KLQlzd2l0Y2ggKG1wX2lycXNbaWR4XS5tcGNfaXJxZmxhZyAmIDMpCisJc3dpdGNoIChtcF9pcnFzW2lkeF0ubXBfaXJxZmxhZyAmIDMpIHsKKwljYXNlIDA6IC8qIGNvbmZvcm1zLCBpZS4gYnVzLXR5cGUgZGVwZW5kZW50IHBvbGFyaXR5ICovCiAJewotCQljYXNlIDA6IC8qIGNvbmZvcm1zLCBpZS4gYnVzLXR5cGUgZGVwZW5kZW50IHBvbGFyaXR5ICovCi0JCXsKLQkJCXBvbGFyaXR5ID0gdGVzdF9iaXQoYnVzLCBtcF9idXNfbm90X3BjaSk/Ci0JCQkJZGVmYXVsdF9JU0FfcG9sYXJpdHkoaWR4KToKLQkJCQlkZWZhdWx0X1BDSV9wb2xhcml0eShpZHgpOwotCQkJYnJlYWs7Ci0JCX0KLQkJY2FzZSAxOiAvKiBoaWdoIGFjdGl2ZSAqLwotCQl7Ci0JCQlwb2xhcml0eSA9IDA7Ci0JCQlicmVhazsKLQkJfQotCQljYXNlIDI6IC8qIHJlc2VydmVkICovCi0JCXsKLQkJCXByaW50ayhLRVJOX1dBUk5JTkcgImJyb2tlbiBCSU9TISFcbiIpOwotCQkJcG9sYXJpdHkgPSAxOwotCQkJYnJlYWs7Ci0JCX0KLQkJY2FzZSAzOiAvKiBsb3cgYWN0aXZlICovCi0JCXsKLQkJCXBvbGFyaXR5ID0gMTsKLQkJCWJyZWFrOwotCQl9Ci0JCWRlZmF1bHQ6IC8qIGludmFsaWQgKi8KLQkJewotCQkJcHJpbnRrKEtFUk5fV0FSTklORyAiYnJva2VuIEJJT1MhIVxuIik7Ci0JCQlwb2xhcml0eSA9IDE7Ci0JCQlicmVhazsKLQkJfQorCQlwb2xhcml0eSA9IHRlc3RfYml0KGJ1cywgbXBfYnVzX25vdF9wY2kpPworCQkJZGVmYXVsdF9JU0FfcG9sYXJpdHkoaWR4KToKKwkJCWRlZmF1bHRfUENJX3BvbGFyaXR5KGlkeCk7CisJCWJyZWFrOworCX0KKwljYXNlIDE6IC8qIGhpZ2ggYWN0aXZlICovCisJeworCQlwb2xhcml0eSA9IDA7CisJCWJyZWFrOworCX0KKwljYXNlIDI6IC8qIHJlc2VydmVkICovCisJeworCQlwcmludGsoS0VSTl9XQVJOSU5HICJicm9rZW4gQklPUyEhXG4iKTsKKwkJcG9sYXJpdHkgPSAxOworCQlicmVhazsKKwl9CisJY2FzZSAzOiAvKiBsb3cgYWN0aXZlICovCisJeworCQlwb2xhcml0eSA9IDE7CisJCWJyZWFrOworCX0KKwlkZWZhdWx0OiAvKiBpbnZhbGlkICovCisJeworCQlwcmludGsoS0VSTl9XQVJOSU5HICJicm9rZW4gQklPUyEhXG4iKTsKKwkJcG9sYXJpdHkgPSAxOworCQlicmVhazsKKwl9CiAJfQogCXJldHVybiBwb2xhcml0eTsKIH0KIAogc3RhdGljIGludCBNUEJJT1NfdHJpZ2dlcihpbnQgaWR4KQogewotCWludCBidXMgPSBtcF9pcnFzW2lkeF0ubXBjX3NyY2J1czsKKwlpbnQgYnVzID0gbXBfaXJxc1tpZHhdLm1wX3NyY2J1czsKIAlpbnQgdHJpZ2dlcjsKIAogCS8qCiAJICogRGV0ZXJtaW5lIElSUSB0cmlnZ2VyIG1vZGUgKGVkZ2Ugb3IgbGV2ZWwgc2Vuc2l0aXZlKToKIAkgKi8KLQlzd2l0Y2ggKChtcF9pcnFzW2lkeF0ubXBjX2lycWZsYWc+PjIpICYgMykKKwlzd2l0Y2ggKChtcF9pcnFzW2lkeF0ubXBfaXJxZmxhZz4+MikgJiAzKSB7CisJY2FzZSAwOiAvKiBjb25mb3JtcywgaWUuIGJ1cy10eXBlIGRlcGVuZGVudCAqLwogCXsKLQkJY2FzZSAwOiAvKiBjb25mb3JtcywgaWUuIGJ1cy10eXBlIGRlcGVuZGVudCAqLwotCQl7Ci0JCQl0cmlnZ2VyID0gdGVzdF9iaXQoYnVzLCBtcF9idXNfbm90X3BjaSk/Ci0JCQkJCWRlZmF1bHRfSVNBX3RyaWdnZXIoaWR4KToKLQkJCQkJZGVmYXVsdF9QQ0lfdHJpZ2dlcihpZHgpOworCQl0cmlnZ2VyID0gdGVzdF9iaXQoYnVzLCBtcF9idXNfbm90X3BjaSk/CisJCQkJZGVmYXVsdF9JU0FfdHJpZ2dlcihpZHgpOgorCQkJCWRlZmF1bHRfUENJX3RyaWdnZXIoaWR4KTsKICNpZiBkZWZpbmVkKENPTkZJR19FSVNBKSB8fCBkZWZpbmVkKENPTkZJR19NQ0EpCi0JCQlzd2l0Y2ggKG1wX2J1c19pZF90b190eXBlW2J1c10pCi0JCQl7Ci0JCQkJY2FzZSBNUF9CVVNfSVNBOiAvKiBJU0EgcGluICovCi0JCQkJewotCQkJCQkvKiBzZXQgYmVmb3JlIHRoZSBzd2l0Y2ggKi8KLQkJCQkJYnJlYWs7Ci0JCQkJfQotCQkJCWNhc2UgTVBfQlVTX0VJU0E6IC8qIEVJU0EgcGluICovCi0JCQkJewotCQkJCQl0cmlnZ2VyID0gZGVmYXVsdF9FSVNBX3RyaWdnZXIoaWR4KTsKLQkJCQkJYnJlYWs7Ci0JCQkJfQotCQkJCWNhc2UgTVBfQlVTX1BDSTogLyogUENJIHBpbiAqLwotCQkJCXsKLQkJCQkJLyogc2V0IGJlZm9yZSB0aGUgc3dpdGNoICovCi0JCQkJCWJyZWFrOwotCQkJCX0KLQkJCQljYXNlIE1QX0JVU19NQ0E6IC8qIE1DQSBwaW4gKi8KLQkJCQl7Ci0JCQkJCXRyaWdnZXIgPSBkZWZhdWx0X01DQV90cmlnZ2VyKGlkeCk7Ci0JCQkJCWJyZWFrOwotCQkJCX0KLQkJCQlkZWZhdWx0OgotCQkJCXsKLQkJCQkJcHJpbnRrKEtFUk5fV0FSTklORyAiYnJva2VuIEJJT1MhIVxuIik7Ci0JCQkJCXRyaWdnZXIgPSAxOwotCQkJCQlicmVhazsKLQkJCQl9Ci0JCQl9CisJCXN3aXRjaCAobXBfYnVzX2lkX3RvX3R5cGVbYnVzXSkgeworCQljYXNlIE1QX0JVU19JU0E6IC8qIElTQSBwaW4gKi8KKwkJeworCQkJLyogc2V0IGJlZm9yZSB0aGUgc3dpdGNoICovCisJCQlicmVhazsKKwkJfQorCQljYXNlIE1QX0JVU19FSVNBOiAvKiBFSVNBIHBpbiAqLworCQl7CisJCQl0cmlnZ2VyID0gZGVmYXVsdF9FSVNBX3RyaWdnZXIoaWR4KTsKKwkJCWJyZWFrOworCQl9CisJCWNhc2UgTVBfQlVTX1BDSTogLyogUENJIHBpbiAqLworCQl7CisJCQkvKiBzZXQgYmVmb3JlIHRoZSBzd2l0Y2ggKi8KKwkJCWJyZWFrOworCQl9CisJCWNhc2UgTVBfQlVTX01DQTogLyogTUNBIHBpbiAqLworCQl7CisJCQl0cmlnZ2VyID0gZGVmYXVsdF9NQ0FfdHJpZ2dlcihpZHgpOworCQkJYnJlYWs7CisJCX0KKwkJZGVmYXVsdDoKKwkJeworCQkJcHJpbnRrKEtFUk5fV0FSTklORyAiYnJva2VuIEJJT1MhIVxuIik7CisJCQl0cmlnZ2VyID0gMTsKKwkJCWJyZWFrOworCQl9CisJfQogI2VuZGlmCi0JCQlicmVhazsKLQkJfQotCQljYXNlIDE6IC8qIGVkZ2UgKi8KLQkJewotCQkJdHJpZ2dlciA9IDA7Ci0JCQlicmVhazsKLQkJfQotCQljYXNlIDI6IC8qIHJlc2VydmVkICovCi0JCXsKLQkJCXByaW50ayhLRVJOX1dBUk5JTkcgImJyb2tlbiBCSU9TISFcbiIpOwotCQkJdHJpZ2dlciA9IDE7Ci0JCQlicmVhazsKLQkJfQotCQljYXNlIDM6IC8qIGxldmVsICovCi0JCXsKLQkJCXRyaWdnZXIgPSAxOwotCQkJYnJlYWs7Ci0JCX0KLQkJZGVmYXVsdDogLyogaW52YWxpZCAqLwotCQl7Ci0JCQlwcmludGsoS0VSTl9XQVJOSU5HICJicm9rZW4gQklPUyEhXG4iKTsKLQkJCXRyaWdnZXIgPSAwOwotCQkJYnJlYWs7Ci0JCX0KKwkJYnJlYWs7CisJfQorCWNhc2UgMTogLyogZWRnZSAqLworCXsKKwkJdHJpZ2dlciA9IDA7CisJCWJyZWFrOworCX0KKwljYXNlIDI6IC8qIHJlc2VydmVkICovCisJeworCQlwcmludGsoS0VSTl9XQVJOSU5HICJicm9rZW4gQklPUyEhXG4iKTsKKwkJdHJpZ2dlciA9IDE7CisJCWJyZWFrOworCX0KKwljYXNlIDM6IC8qIGxldmVsICovCisJeworCQl0cmlnZ2VyID0gMTsKKwkJYnJlYWs7CisJfQorCWRlZmF1bHQ6IC8qIGludmFsaWQgKi8KKwl7CisJCXByaW50ayhLRVJOX1dBUk5JTkcgImJyb2tlbiBCSU9TISFcbiIpOworCQl0cmlnZ2VyID0gMDsKKwkJYnJlYWs7CisJfQogCX0KIAlyZXR1cm4gdHJpZ2dlcjsKIH0KQEAgLTEwOTcsMTYgKzExMDIsMTYgQEAKIHN0YXRpYyBpbnQgcGluXzJfaXJxKGludCBpZHgsIGludCBhcGljLCBpbnQgcGluKQogewogCWludCBpcnEsIGk7Ci0JaW50IGJ1cyA9IG1wX2lycXNbaWR4XS5tcGNfc3JjYnVzOworCWludCBidXMgPSBtcF9pcnFzW2lkeF0ubXBfc3JjYnVzOwogCiAJLyoKIAkgKiBEZWJ1Z2dpbmcgY2hlY2ssIHdlIGFyZSBpbiBiaWcgdHJvdWJsZSBpZiB0aGlzIG1lc3NhZ2UgcG9wcyB1cCEKIAkgKi8KLQlpZiAobXBfaXJxc1tpZHhdLm1wY19kc3RpcnEgIT0gcGluKQorCWlmIChtcF9pcnFzW2lkeF0ubXBfZHN0aXJxICE9IHBpbikKIAkJcHJpbnRrKEtFUk5fRVJSICJicm9rZW4gQklPUyBvciBNUFRBQkxFIHBhcnNlciwgYXlpZWUhIVxuIik7CiAKIAlpZiAodGVzdF9iaXQoYnVzLCBtcF9idXNfbm90X3BjaSkpCi0JCWlycSA9IG1wX2lycXNbaWR4XS5tcGNfc3JjYnVzaXJxOworCQlpcnEgPSBtcF9pcnFzW2lkeF0ubXBfc3JjYnVzaXJxOwogCWVsc2UgewogCQkvKgogCQkgKiBQQ0kgSVJRcyBhcmUgbWFwcGVkIGluIG9yZGVyCkBAIC0xMTQ4LDggKzExNTMsOCBAQAogCiAJZm9yIChhcGljID0gMDsgYXBpYyA8IG5yX2lvYXBpY3M7IGFwaWMrKykgewogCQlmb3IgKHBpbiA9IDA7IHBpbiA8IG5yX2lvYXBpY19yZWdpc3RlcnNbYXBpY107IHBpbisrKSB7Ci0JCQlpZHggPSBmaW5kX2lycV9lbnRyeShhcGljLHBpbixtcF9JTlQpOwotCQkJaWYgKChpZHggIT0gLTEpICYmIChpcnEgPT0gcGluXzJfaXJxKGlkeCxhcGljLHBpbikpKQorCQkJaWR4ID0gZmluZF9pcnFfZW50cnkoYXBpYywgcGluLCBtcF9JTlQpOworCQkJaWYgKChpZHggIT0gLTEpICYmIChpcnEgPT0gcGluXzJfaXJxKGlkeCwgYXBpYywgcGluKSkpCiAJCQkJcmV0dXJuIGlycV90cmlnZ2VyKGlkeCk7CiAJCX0KIAl9CkBAIC0xMTY0LDcgKzExNjksNyBAQAogCiBzdGF0aWMgaW50IF9fYXNzaWduX2lycV92ZWN0b3IoaW50IGlycSkKIHsKLQlzdGF0aWMgaW50IGN1cnJlbnRfdmVjdG9yID0gRklSU1RfREVWSUNFX1ZFQ1RPUiwgY3VycmVudF9vZmZzZXQgPSAwOworCXN0YXRpYyBpbnQgY3VycmVudF92ZWN0b3IgPSBGSVJTVF9ERVZJQ0VfVkVDVE9SLCBjdXJyZW50X29mZnNldDsKIAlpbnQgdmVjdG9yLCBvZmZzZXQ7CiAKIAlCVUdfT04oKHVuc2lnbmVkKWlycSA+PSBOUl9JUlFfVkVDVE9SUyk7CkBAIC0xMTc2LDcgKzExODEsNyBAQAogCW9mZnNldCA9IGN1cnJlbnRfb2Zmc2V0OwogbmV4dDoKIAl2ZWN0b3IgKz0gODsKLQlpZiAodmVjdG9yID49IEZJUlNUX1NZU1RFTV9WRUNUT1IpIHsKKwlpZiAodmVjdG9yID49IGZpcnN0X3N5c3RlbV92ZWN0b3IpIHsKIAkJb2Zmc2V0ID0gKG9mZnNldCArIDEpICUgODsKIAkJdmVjdG9yID0gRklSU1RfREVWSUNFX1ZFQ1RPUiArIG9mZnNldDsKIAl9CkBAIC0xMjAzLDYgKzEyMDgsMTEgQEAKIAogCXJldHVybiB2ZWN0b3I7CiB9CisKK3ZvaWQgc2V0dXBfdmVjdG9yX2lycShpbnQgY3B1KQoreworfQorCiBzdGF0aWMgc3RydWN0IGlycV9jaGlwIGlvYXBpY19jaGlwOwogCiAjZGVmaW5lIElPQVBJQ19BVVRPCS0xCkBAIC0xMjM3LDI1ICsxMjQ3LDI1IEBACiAJCS8qCiAJCSAqIGFkZCBpdCB0byB0aGUgSU8tQVBJQyBpcnEtcm91dGluZyB0YWJsZToKIAkJICovCi0JCW1lbXNldCgmZW50cnksMCxzaXplb2YoZW50cnkpKTsKKwkJbWVtc2V0KCZlbnRyeSwgMCwgc2l6ZW9mKGVudHJ5KSk7CiAKIAkJZW50cnkuZGVsaXZlcnlfbW9kZSA9IElOVF9ERUxJVkVSWV9NT0RFOwogCQllbnRyeS5kZXN0X21vZGUgPSBJTlRfREVTVF9NT0RFOwogCQllbnRyeS5tYXNrID0gMDsJCQkJLyogZW5hYmxlIElSUSAqLwotCQllbnRyeS5kZXN0LmxvZ2ljYWwubG9naWNhbF9kZXN0ID0gCisJCWVudHJ5LmRlc3QubG9naWNhbC5sb2dpY2FsX2Rlc3QgPQogCQkJCQljcHVfbWFza190b19hcGljaWQoVEFSR0VUX0NQVVMpOwogCi0JCWlkeCA9IGZpbmRfaXJxX2VudHJ5KGFwaWMscGluLG1wX0lOVCk7CisJCWlkeCA9IGZpbmRfaXJxX2VudHJ5KGFwaWMsIHBpbiwgbXBfSU5UKTsKIAkJaWYgKGlkeCA9PSAtMSkgewogCQkJaWYgKGZpcnN0X25vdGNvbikgewogCQkJCWFwaWNfcHJpbnRrKEFQSUNfVkVSQk9TRSwgS0VSTl9ERUJVRwogCQkJCQkJIiBJTy1BUElDIChhcGljaWQtcGluKSAlZC0lZCIsCi0JCQkJCQltcF9pb2FwaWNzW2FwaWNdLm1wY19hcGljaWQsCisJCQkJCQltcF9pb2FwaWNzW2FwaWNdLm1wX2FwaWNpZCwKIAkJCQkJCXBpbik7CiAJCQkJZmlyc3Rfbm90Y29uID0gMDsKIAkJCX0gZWxzZQogCQkJCWFwaWNfcHJpbnRrKEFQSUNfVkVSQk9TRSwgIiwgJWQtJWQiLAotCQkJCQltcF9pb2FwaWNzW2FwaWNdLm1wY19hcGljaWQsIHBpbik7CisJCQkJCW1wX2lvYXBpY3NbYXBpY10ubXBfYXBpY2lkLCBwaW4pOwogCQkJY29udGludWU7CiAJCX0KIApAQCAtMTI4OSw3ICsxMjk5LDcgQEAKIAkJCXZlY3RvciA9IGFzc2lnbl9pcnFfdmVjdG9yKGlycSk7CiAJCQllbnRyeS52ZWN0b3IgPSB2ZWN0b3I7CiAJCQlpb2FwaWNfcmVnaXN0ZXJfaW50cihpcnEsIHZlY3RvciwgSU9BUElDX0FVVE8pOwotCQkKKwogCQkJaWYgKCFhcGljICYmIChpcnEgPCAxNikpCiAJCQkJZGlzYWJsZV84MjU5QV9pcnEoaXJxKTsKIAkJfQpAQCAtMTMwMiwyNSArMTMxMiwyMSBAQAogfQogCiAvKgotICogU2V0IHVwIHRoZSA4MjU5QS1tYXN0ZXIgb3V0cHV0IHBpbjoKKyAqIFNldCB1cCB0aGUgdGltZXIgcGluLCBwb3NzaWJseSB3aXRoIHRoZSA4MjU5QS1tYXN0ZXIgYmVoaW5kLgogICovCi1zdGF0aWMgdm9pZCBfX2luaXQgc2V0dXBfRXh0SU5UX0lSUTBfcGluKHVuc2lnbmVkIGludCBhcGljLCB1bnNpZ25lZCBpbnQgcGluLCBpbnQgdmVjdG9yKQorc3RhdGljIHZvaWQgX19pbml0IHNldHVwX3RpbWVyX0lSUTBfcGluKHVuc2lnbmVkIGludCBhcGljLCB1bnNpZ25lZCBpbnQgcGluLAorCQkJCQlpbnQgdmVjdG9yKQogewogCXN0cnVjdCBJT19BUElDX3JvdXRlX2VudHJ5IGVudHJ5OwogCi0JbWVtc2V0KCZlbnRyeSwwLHNpemVvZihlbnRyeSkpOwotCi0JZGlzYWJsZV84MjU5QV9pcnEoMCk7Ci0KLQkvKiBtYXNrIExWVDAgKi8KLQlhcGljX3dyaXRlX2Fyb3VuZChBUElDX0xWVDAsIEFQSUNfTFZUX01BU0tFRCB8IEFQSUNfRE1fRVhUSU5UKTsKKwltZW1zZXQoJmVudHJ5LCAwLCBzaXplb2YoZW50cnkpKTsKIAogCS8qCiAJICogV2UgdXNlIGxvZ2ljYWwgZGVsaXZlcnkgdG8gZ2V0IHRoZSB0aW1lciBJUlEKIAkgKiB0byB0aGUgZmlyc3QgQ1BVLgogCSAqLwogCWVudHJ5LmRlc3RfbW9kZSA9IElOVF9ERVNUX01PREU7Ci0JZW50cnkubWFzayA9IDA7CQkJCQkvKiB1bm1hc2sgSVJRIG5vdyAqLworCWVudHJ5Lm1hc2sgPSAxOwkJCQkJLyogbWFzayBJUlEgbm93ICovCiAJZW50cnkuZGVzdC5sb2dpY2FsLmxvZ2ljYWxfZGVzdCA9IGNwdV9tYXNrX3RvX2FwaWNpZChUQVJHRVRfQ1BVUyk7CiAJZW50cnkuZGVsaXZlcnlfbW9kZSA9IElOVF9ERUxJVkVSWV9NT0RFOwogCWVudHJ5LnBvbGFyaXR5ID0gMDsKQEAgLTEzMjksMTcgKzEzMzUsMTQgQEAKIAogCS8qCiAJICogVGhlIHRpbWVyIElSUSBkb2Vzbid0IGhhdmUgdG8ga25vdyB0aGF0IGJlaGluZCB0aGUKLQkgKiBzY2VuZSB3ZSBoYXZlIGEgODI1OUEtbWFzdGVyIGluIEFFT0kgbW9kZSAuLi4KKwkgKiBzY2VuZSB3ZSBtYXkgaGF2ZSBhIDgyNTlBLW1hc3RlciBpbiBBRU9JIG1vZGUgLi4uCiAJICovCi0JaXJxX2Rlc2NbMF0uY2hpcCA9ICZpb2FwaWNfY2hpcDsKLQlzZXRfaXJxX2hhbmRsZXIoMCwgaGFuZGxlX2VkZ2VfaXJxKTsKKwlpb2FwaWNfcmVnaXN0ZXJfaW50cigwLCB2ZWN0b3IsIElPQVBJQ19FREdFKTsKIAogCS8qCiAJICogQWRkIGl0IHRvIHRoZSBJTy1BUElDIGlycS1yb3V0aW5nIHRhYmxlOgogCSAqLwogCWlvYXBpY193cml0ZV9lbnRyeShhcGljLCBwaW4sIGVudHJ5KTsKLQotCWVuYWJsZV84MjU5QV9pcnEoMCk7CiB9CiAKIHZvaWQgX19pbml0IHByaW50X0lPX0FQSUModm9pZCkKQEAgLTEzNTQsMTAgKzEzNTcsMTAgQEAKIAlpZiAoYXBpY192ZXJib3NpdHkgPT0gQVBJQ19RVUlFVCkKIAkJcmV0dXJuOwogCi0gCXByaW50ayhLRVJOX0RFQlVHICJudW1iZXIgb2YgTVAgSVJRIHNvdXJjZXM6ICVkLlxuIiwgbXBfaXJxX2VudHJpZXMpOworCXByaW50ayhLRVJOX0RFQlVHICJudW1iZXIgb2YgTVAgSVJRIHNvdXJjZXM6ICVkLlxuIiwgbXBfaXJxX2VudHJpZXMpOwogCWZvciAoaSA9IDA7IGkgPCBucl9pb2FwaWNzOyBpKyspCiAJCXByaW50ayhLRVJOX0RFQlVHICJudW1iZXIgb2YgSU8tQVBJQyAjJWQgcmVnaXN0ZXJzOiAlZC5cbiIsCi0JCSAgICAgICBtcF9pb2FwaWNzW2ldLm1wY19hcGljaWQsIG5yX2lvYXBpY19yZWdpc3RlcnNbaV0pOworCQkgICAgICAgbXBfaW9hcGljc1tpXS5tcF9hcGljaWQsIG5yX2lvYXBpY19yZWdpc3RlcnNbaV0pOwogCiAJLyoKIAkgKiBXZSBhcmUgYSBiaXQgY29uc2VydmF0aXZlIGFib3V0IHdoYXQgd2UgZXhwZWN0LiAgV2UgaGF2ZSB0bwpAQCAtMTM3Niw3ICsxMzc5LDcgQEAKIAkJcmVnXzAzLnJhdyA9IGlvX2FwaWNfcmVhZChhcGljLCAzKTsKIAlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZpb2FwaWNfbG9jaywgZmxhZ3MpOwogCi0JcHJpbnRrKEtFUk5fREVCVUcgIklPIEFQSUMgIyVkLi4uLi4uXG4iLCBtcF9pb2FwaWNzW2FwaWNdLm1wY19hcGljaWQpOworCXByaW50ayhLRVJOX0RFQlVHICJJTyBBUElDICMlZC4uLi4uLlxuIiwgbXBfaW9hcGljc1thcGljXS5tcF9hcGljaWQpOwogCXByaW50ayhLRVJOX0RFQlVHICIuLi4uIHJlZ2lzdGVyICMwMDogJTA4WFxuIiwgcmVnXzAwLnJhdyk7CiAJcHJpbnRrKEtFUk5fREVCVUcgIi4uLi4uLi4gICAgOiBwaHlzaWNhbCBBUElDIGlkOiAlMDJYXG4iLCByZWdfMDAuYml0cy5JRCk7CiAJcHJpbnRrKEtFUk5fREVCVUcgIi4uLi4uLi4gICAgOiBEZWxpdmVyeSBUeXBlOiAlWFxuIiwgcmVnXzAwLmJpdHMuZGVsaXZlcnlfdHlwZSk7CkBAIC0xNDU5LDcgKzE0NjIsNyBAQAogCiAjaWYgMAogCi1zdGF0aWMgdm9pZCBwcmludF9BUElDX2JpdGZpZWxkIChpbnQgYmFzZSkKK3N0YXRpYyB2b2lkIHByaW50X0FQSUNfYml0ZmllbGQoaW50IGJhc2UpCiB7CiAJdW5zaWduZWQgaW50IHY7CiAJaW50IGksIGo7CkBAIC0xNDgwLDcgKzE0ODMsNyBAQAogCX0KIH0KIAotdm9pZCAvKl9faW5pdCovIHByaW50X2xvY2FsX0FQSUModm9pZCAqIGR1bW15KQordm9pZCAvKl9faW5pdCovIHByaW50X2xvY2FsX0FQSUModm9pZCAqZHVtbXkpCiB7CiAJdW5zaWduZWQgaW50IHYsIHZlciwgbWF4bHZ0OwogCkBAIC0xNDg5LDYgKzE0OTIsNyBAQAogCiAJcHJpbnRrKCJcbiIgS0VSTl9ERUJVRyAicHJpbnRpbmcgbG9jYWwgQVBJQyBjb250ZW50cyBvbiBDUFUjJWQvJWQ6XG4iLAogCQlzbXBfcHJvY2Vzc29yX2lkKCksIGhhcmRfc21wX3Byb2Nlc3Nvcl9pZCgpKTsKKwl2ID0gYXBpY19yZWFkKEFQSUNfSUQpOwogCXByaW50ayhLRVJOX0lORk8gIi4uLiBBUElDIElEOiAgICAgICUwOHggKCUwMXgpXG4iLCB2LAogCQkJR0VUX0FQSUNfSUQocmVhZF9hcGljX2lkKCkpKTsKIAl2ID0gYXBpY19yZWFkKEFQSUNfTFZSKTsKQEAgLTE1NjMsNyArMTU2Nyw3IEBACiAJcHJpbnRrKCJcbiIpOwogfQogCi12b2lkIHByaW50X2FsbF9sb2NhbF9BUElDcyAodm9pZCkKK3ZvaWQgcHJpbnRfYWxsX2xvY2FsX0FQSUNzKHZvaWQpCiB7CiAJb25fZWFjaF9jcHUocHJpbnRfbG9jYWxfQVBJQywgTlVMTCwgMSwgMSk7CiB9CkBAIC0xNTg2LDExICsxNTkwLDExIEBACiAJdiA9IGluYigweGEwKSA8PCA4IHwgaW5iKDB4MjApOwogCXByaW50ayhLRVJOX0RFQlVHICIuLi4gUElDICBJUlI6ICUwNHhcbiIsIHYpOwogCi0Jb3V0YigweDBiLDB4YTApOwotCW91dGIoMHgwYiwweDIwKTsKKwlvdXRiKDB4MGIsIDB4YTApOworCW91dGIoMHgwYiwgMHgyMCk7CiAJdiA9IGluYigweGEwKSA8PCA4IHwgaW5iKDB4MjApOwotCW91dGIoMHgwYSwweGEwKTsKLQlvdXRiKDB4MGEsMHgyMCk7CisJb3V0YigweDBhLCAweGEwKTsKKwlvdXRiKDB4MGEsIDB4MjApOwogCiAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmaTgyNTlBX2xvY2ssIGZsYWdzKTsKIApAQCAtMTYyNiw3ICsxNjMwLDcgQEAKIAkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmaW9hcGljX2xvY2ssIGZsYWdzKTsKIAkJbnJfaW9hcGljX3JlZ2lzdGVyc1thcGljXSA9IHJlZ18wMS5iaXRzLmVudHJpZXMrMTsKIAl9Ci0JZm9yKGFwaWMgPSAwOyBhcGljIDwgbnJfaW9hcGljczsgYXBpYysrKSB7CisJZm9yIChhcGljID0gMDsgYXBpYyA8IG5yX2lvYXBpY3M7IGFwaWMrKykgewogCQlpbnQgcGluOwogCQkvKiBTZWUgaWYgYW55IG9mIHRoZSBwaW5zIGlzIGluIEV4dElOVCBtb2RlICovCiAJCWZvciAocGluID0gMDsgcGluIDwgbnJfaW9hcGljX3JlZ2lzdGVyc1thcGljXTsgcGluKyspIHsKQEAgLTE3MTYsNyArMTcyMCw2IEBACiAgKiBieSBNYXR0IERvbXNjaCA8TWF0dF9Eb21zY2hAZGVsbC5jb20+ICBUdWUgRGVjIDIxIDEyOjI1OjA1IENTVCAxOTk5CiAgKi8KIAotI2lmbmRlZiBDT05GSUdfWDg2X05VTUFRCiBzdGF0aWMgdm9pZCBfX2luaXQgc2V0dXBfaW9hcGljX2lkc19mcm9tX21wYyh2b2lkKQogewogCXVuaW9uIElPX0FQSUNfcmVnXzAwIHJlZ18wMDsKQEAgLTE3MjYsNiArMTcyOSwxMSBAQAogCXVuc2lnbmVkIGNoYXIgb2xkX2lkOwogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAKKyNpZmRlZiBDT05GSUdfWDg2X05VTUFRCisJaWYgKGZvdW5kX251bWFxKQorCQlyZXR1cm47CisjZW5kaWYKKwogCS8qCiAJICogRG9uJ3QgY2hlY2sgSS9PIEFQSUMgSURzIGZvciB4QVBJQyBzeXN0ZW1zLiAgVGhleSBoYXZlCiAJICogbm8gbWVhbmluZyB3aXRob3V0IHRoZSBzZXJpYWwgQVBJQyBidXMuCkBAIC0xNzQ4LDE1ICsxNzU2LDE1IEBACiAJCXNwaW5fbG9ja19pcnFzYXZlKCZpb2FwaWNfbG9jaywgZmxhZ3MpOwogCQlyZWdfMDAucmF3ID0gaW9fYXBpY19yZWFkKGFwaWMsIDApOwogCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZpb2FwaWNfbG9jaywgZmxhZ3MpOwotCQkKLQkJb2xkX2lkID0gbXBfaW9hcGljc1thcGljXS5tcGNfYXBpY2lkOwogCi0JCWlmIChtcF9pb2FwaWNzW2FwaWNdLm1wY19hcGljaWQgPj0gZ2V0X3BoeXNpY2FsX2Jyb2FkY2FzdCgpKSB7CisJCW9sZF9pZCA9IG1wX2lvYXBpY3NbYXBpY10ubXBfYXBpY2lkOworCisJCWlmIChtcF9pb2FwaWNzW2FwaWNdLm1wX2FwaWNpZCA+PSBnZXRfcGh5c2ljYWxfYnJvYWRjYXN0KCkpIHsKIAkJCXByaW50ayhLRVJOX0VSUiAiQklPUyBidWcsIElPLUFQSUMjJWQgSUQgaXMgJWQgaW4gdGhlIE1QQyB0YWJsZSEuLi5cbiIsCi0JCQkJYXBpYywgbXBfaW9hcGljc1thcGljXS5tcGNfYXBpY2lkKTsKKwkJCQlhcGljLCBtcF9pb2FwaWNzW2FwaWNdLm1wX2FwaWNpZCk7CiAJCQlwcmludGsoS0VSTl9FUlIgIi4uLiBmaXhpbmcgdXAgdG8gJWQuICh0ZWxsIHlvdXIgaHcgdmVuZG9yKVxuIiwKIAkJCQlyZWdfMDAuYml0cy5JRCk7Ci0JCQltcF9pb2FwaWNzW2FwaWNdLm1wY19hcGljaWQgPSByZWdfMDAuYml0cy5JRDsKKwkJCW1wX2lvYXBpY3NbYXBpY10ubXBfYXBpY2lkID0gcmVnXzAwLmJpdHMuSUQ7CiAJCX0KIAogCQkvKgpAQCAtMTc2NSw5ICsxNzczLDkgQEAKIAkJICogJ3N0dWNrIG9uIHNtcF9pbnZhbGlkYXRlX25lZWRlZCBJUEkgd2FpdCcgbWVzc2FnZXMuCiAJCSAqLwogCQlpZiAoY2hlY2tfYXBpY2lkX3VzZWQocGh5c19pZF9wcmVzZW50X21hcCwKLQkJCQkJbXBfaW9hcGljc1thcGljXS5tcGNfYXBpY2lkKSkgeworCQkJCQltcF9pb2FwaWNzW2FwaWNdLm1wX2FwaWNpZCkpIHsKIAkJCXByaW50ayhLRVJOX0VSUiAiQklPUyBidWcsIElPLUFQSUMjJWQgSUQgJWQgaXMgYWxyZWFkeSB1c2VkIS4uLlxuIiwKLQkJCQlhcGljLCBtcF9pb2FwaWNzW2FwaWNdLm1wY19hcGljaWQpOworCQkJCWFwaWMsIG1wX2lvYXBpY3NbYXBpY10ubXBfYXBpY2lkKTsKIAkJCWZvciAoaSA9IDA7IGkgPCBnZXRfcGh5c2ljYWxfYnJvYWRjYXN0KCk7IGkrKykKIAkJCQlpZiAoIXBoeXNpZF9pc3NldChpLCBwaHlzX2lkX3ByZXNlbnRfbWFwKSkKIAkJCQkJYnJlYWs7CkBAIC0xNzc2LDEzICsxNzg0LDEzIEBACiAJCQlwcmludGsoS0VSTl9FUlIgIi4uLiBmaXhpbmcgdXAgdG8gJWQuICh0ZWxsIHlvdXIgaHcgdmVuZG9yKVxuIiwKIAkJCQlpKTsKIAkJCXBoeXNpZF9zZXQoaSwgcGh5c19pZF9wcmVzZW50X21hcCk7Ci0JCQltcF9pb2FwaWNzW2FwaWNdLm1wY19hcGljaWQgPSBpOworCQkJbXBfaW9hcGljc1thcGljXS5tcF9hcGljaWQgPSBpOwogCQl9IGVsc2UgewogCQkJcGh5c2lkX21hc2tfdCB0bXA7Ci0JCQl0bXAgPSBhcGljaWRfdG9fY3B1X3ByZXNlbnQobXBfaW9hcGljc1thcGljXS5tcGNfYXBpY2lkKTsKKwkJCXRtcCA9IGFwaWNpZF90b19jcHVfcHJlc2VudChtcF9pb2FwaWNzW2FwaWNdLm1wX2FwaWNpZCk7CiAJCQlhcGljX3ByaW50ayhBUElDX1ZFUkJPU0UsICJTZXR0aW5nICVkIGluIHRoZSAiCiAJCQkJCSJwaHlzX2lkX3ByZXNlbnRfbWFwXG4iLAotCQkJCQltcF9pb2FwaWNzW2FwaWNdLm1wY19hcGljaWQpOworCQkJCQltcF9pb2FwaWNzW2FwaWNdLm1wX2FwaWNpZCk7CiAJCQlwaHlzaWRzX29yKHBoeXNfaWRfcHJlc2VudF9tYXAsIHBoeXNfaWRfcHJlc2VudF9tYXAsIHRtcCk7CiAJCX0KIApAQCAtMTc5MSwyMSArMTc5OSwyMSBAQAogCQkgKiBXZSBuZWVkIHRvIGFkanVzdCB0aGUgSVJRIHJvdXRpbmcgdGFibGUKIAkJICogaWYgdGhlIElEIGNoYW5nZWQuCiAJCSAqLwotCQlpZiAob2xkX2lkICE9IG1wX2lvYXBpY3NbYXBpY10ubXBjX2FwaWNpZCkKKwkJaWYgKG9sZF9pZCAhPSBtcF9pb2FwaWNzW2FwaWNdLm1wX2FwaWNpZCkKIAkJCWZvciAoaSA9IDA7IGkgPCBtcF9pcnFfZW50cmllczsgaSsrKQotCQkJCWlmIChtcF9pcnFzW2ldLm1wY19kc3RhcGljID09IG9sZF9pZCkKLQkJCQkJbXBfaXJxc1tpXS5tcGNfZHN0YXBpYwotCQkJCQkJPSBtcF9pb2FwaWNzW2FwaWNdLm1wY19hcGljaWQ7CisJCQkJaWYgKG1wX2lycXNbaV0ubXBfZHN0YXBpYyA9PSBvbGRfaWQpCisJCQkJCW1wX2lycXNbaV0ubXBfZHN0YXBpYworCQkJCQkJPSBtcF9pb2FwaWNzW2FwaWNdLm1wX2FwaWNpZDsKIAogCQkvKgogCQkgKiBSZWFkIHRoZSByaWdodCB2YWx1ZSBmcm9tIHRoZSBNUEMgdGFibGUgYW5kCiAJCSAqIHdyaXRlIGl0IGludG8gdGhlIElEIHJlZ2lzdGVyLgotCSAJICovCisJCSAqLwogCQlhcGljX3ByaW50ayhBUElDX1ZFUkJPU0UsIEtFUk5fSU5GTwogCQkJIi4uLmNoYW5naW5nIElPLUFQSUMgcGh5c2ljYWwgQVBJQyBJRCB0byAlZCAuLi4iLAotCQkJbXBfaW9hcGljc1thcGljXS5tcGNfYXBpY2lkKTsKKwkJCW1wX2lvYXBpY3NbYXBpY10ubXBfYXBpY2lkKTsKIAotCQlyZWdfMDAuYml0cy5JRCA9IG1wX2lvYXBpY3NbYXBpY10ubXBjX2FwaWNpZDsKKwkJcmVnXzAwLmJpdHMuSUQgPSBtcF9pb2FwaWNzW2FwaWNdLm1wX2FwaWNpZDsKIAkJc3Bpbl9sb2NrX2lycXNhdmUoJmlvYXBpY19sb2NrLCBmbGFncyk7CiAJCWlvX2FwaWNfd3JpdGUoYXBpYywgMCwgcmVnXzAwLnJhdyk7CiAJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmlvYXBpY19sb2NrLCBmbGFncyk7CkBAIC0xODE2LDE1ICsxODI0LDEyIEBACiAJCXNwaW5fbG9ja19pcnFzYXZlKCZpb2FwaWNfbG9jaywgZmxhZ3MpOwogCQlyZWdfMDAucmF3ID0gaW9fYXBpY19yZWFkKGFwaWMsIDApOwogCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZpb2FwaWNfbG9jaywgZmxhZ3MpOwotCQlpZiAocmVnXzAwLmJpdHMuSUQgIT0gbXBfaW9hcGljc1thcGljXS5tcGNfYXBpY2lkKQorCQlpZiAocmVnXzAwLmJpdHMuSUQgIT0gbXBfaW9hcGljc1thcGljXS5tcF9hcGljaWQpCiAJCQlwcmludGsoImNvdWxkIG5vdCBzZXQgSUQhXG4iKTsKIAkJZWxzZQogCQkJYXBpY19wcmludGsoQVBJQ19WRVJCT1NFLCAiIG9rLlxuIik7CiAJfQogfQotI2Vsc2UKLXN0YXRpYyB2b2lkIF9faW5pdCBzZXR1cF9pb2FwaWNfaWRzX2Zyb21fbXBjKHZvaWQpIHsgfQotI2VuZGlmCiAKIGludCBub190aW1lcl9jaGVjayBfX2luaXRkYXRhOwogCkBAIC0yMDE1LDEyICsyMDIwLDEyIEBACiAgKiBUaGUgbG9jYWwgQVBJQyBpcnEtY2hpcCBpbXBsZW1lbnRhdGlvbjoKICAqLwogCi1zdGF0aWMgdm9pZCBhY2tfYXBpYyh1bnNpZ25lZCBpbnQgaXJxKQorc3RhdGljIHZvaWQgYWNrX2xhcGljX2lycSh1bnNpZ25lZCBpbnQgaXJxKQogewogCWFja19BUElDX2lycSgpOwogfQogCi1zdGF0aWMgdm9pZCBtYXNrX2xhcGljX2lycSAodW5zaWduZWQgaW50IGlycSkKK3N0YXRpYyB2b2lkIG1hc2tfbGFwaWNfaXJxKHVuc2lnbmVkIGludCBpcnEpCiB7CiAJdW5zaWduZWQgbG9uZyB2OwogCkBAIC0yMDI4LDcgKzIwMzMsNyBAQAogCWFwaWNfd3JpdGVfYXJvdW5kKEFQSUNfTFZUMCwgdiB8IEFQSUNfTFZUX01BU0tFRCk7CiB9CiAKLXN0YXRpYyB2b2lkIHVubWFza19sYXBpY19pcnEgKHVuc2lnbmVkIGludCBpcnEpCitzdGF0aWMgdm9pZCB1bm1hc2tfbGFwaWNfaXJxKHVuc2lnbmVkIGludCBpcnEpCiB7CiAJdW5zaWduZWQgbG9uZyB2OwogCkBAIC0yMDM3LDIzICsyMDQyLDMxIEBACiB9CiAKIHN0YXRpYyBzdHJ1Y3QgaXJxX2NoaXAgbGFwaWNfY2hpcCBfX3JlYWRfbW9zdGx5ID0gewotCS5uYW1lCQk9ICJsb2NhbC1BUElDLWVkZ2UiLAorCS5uYW1lCQk9ICJsb2NhbC1BUElDIiwKIAkubWFzawkJPSBtYXNrX2xhcGljX2lycSwKIAkudW5tYXNrCQk9IHVubWFza19sYXBpY19pcnEsCi0JLmVvaQkJPSBhY2tfYXBpYywKKwkuYWNrCQk9IGFja19sYXBpY19pcnEsCiB9OwogCitzdGF0aWMgdm9pZCBsYXBpY19yZWdpc3Rlcl9pbnRyKGludCBpcnEsIGludCB2ZWN0b3IpCit7CisJaXJxX2Rlc2NbaXJxXS5zdGF0dXMgJj0gfklSUV9MRVZFTDsKKwlzZXRfaXJxX2NoaXBfYW5kX2hhbmRsZXJfbmFtZShpcnEsICZsYXBpY19jaGlwLCBoYW5kbGVfZWRnZV9pcnEsCisJCQkJICAgICAgImVkZ2UiKTsKKwlzZXRfaW50cl9nYXRlKHZlY3RvciwgaW50ZXJydXB0W2lycV0pOworfQorCiBzdGF0aWMgdm9pZCBfX2luaXQgc2V0dXBfbm1pKHZvaWQpCiB7CiAJLyoKLSAJICogRGlydHkgdHJpY2sgdG8gZW5hYmxlIHRoZSBOTUkgd2F0Y2hkb2cgLi4uCisJICogRGlydHkgdHJpY2sgdG8gZW5hYmxlIHRoZSBOTUkgd2F0Y2hkb2cgLi4uCiAJICogV2UgcHV0IHRoZSA4MjU5QSBtYXN0ZXIgaW50byBBRU9JIG1vZGUgYW5kCiAJICogdW5tYXNrIG9uIGFsbCBsb2NhbCBBUElDcyBMVlQwIGFzIE5NSS4KIAkgKgogCSAqIFRoZSBpZGVhIHRvIHVzZSB0aGUgODI1OUEgaW4gQUVPSSBtb2RlICgnODI1OUEgVmlydHVhbCBXaXJlJykKIAkgKiBpcyBmcm9tIE1hY2llaiBXLiBSb3p5Y2tpIC0gc28gd2UgZG8gbm90IGhhdmUgdG8gRU9JIGZyb20KIAkgKiB0aGUgTk1JIGhhbmRsZXIgb3IgdGhlIHRpbWVyIGludGVycnVwdC4KLQkgKi8gCisJICovCiAJYXBpY19wcmludGsoQVBJQ19WRVJCT1NFLCBLRVJOX0lORk8gImFjdGl2YXRpbmcgTk1JIFdhdGNoZG9nIC4uLiIpOwogCiAJZW5hYmxlX05NSV90aHJvdWdoX0xWVDAoKTsKQEAgLTIxMjksMTEgKzIxNDIsMTYgQEAKIHN0YXRpYyBpbmxpbmUgdm9pZCBfX2luaXQgY2hlY2tfdGltZXIodm9pZCkKIHsKIAlpbnQgYXBpYzEsIHBpbjEsIGFwaWMyLCBwaW4yOworCWludCBub19waW4xID0gMDsKIAlpbnQgdmVjdG9yOworCXVuc2lnbmVkIGludCB2ZXI7CiAJdW5zaWduZWQgbG9uZyBmbGFnczsKIAogCWxvY2FsX2lycV9zYXZlKGZsYWdzKTsKIAorCXZlciA9IGFwaWNfcmVhZChBUElDX0xWUik7CisJdmVyID0gR0VUX0FQSUNfVkVSU0lPTih2ZXIpOworCiAJLyoKIAkgKiBnZXQvc2V0IHRoZSB0aW1lciBJUlEgdmVjdG9yOgogCSAqLwpAQCAtMjE0MiwxNyArMjE2MCwxNyBAQAogCXNldF9pbnRyX2dhdGUodmVjdG9yLCBpbnRlcnJ1cHRbMF0pOwogCiAJLyoKLQkgKiBTdWJ0bGUsIGNvZGUgaW4gZG9fdGltZXJfaW50ZXJydXB0KCkgZXhwZWN0cyBhbiBBRU9JCi0JICogbW9kZSBmb3IgdGhlIDgyNTlBIHdoZW5ldmVyIGludGVycnVwdHMgYXJlIHJvdXRlZAotCSAqIHRocm91Z2ggSS9PIEFQSUNzLiAgQWxzbyBJUlEwIGhhcyB0byBiZSBlbmFibGVkIGluCi0JICogdGhlIDgyNTlBIHdoaWNoIGltcGxpZXMgdGhlIHZpcnR1YWwgd2lyZSBoYXMgdG8gYmUKLQkgKiBkaXNhYmxlZCBpbiB0aGUgbG9jYWwgQVBJQy4KKwkgKiBBcyBJUlEwIGlzIHRvIGJlIGVuYWJsZWQgaW4gdGhlIDgyNTlBLCB0aGUgdmlydHVhbAorCSAqIHdpcmUgaGFzIHRvIGJlIGRpc2FibGVkIGluIHRoZSBsb2NhbCBBUElDLiAgQWxzbworCSAqIHRpbWVyIGludGVycnVwdHMgbmVlZCB0byBiZSBhY2tub3dsZWRnZWQgbWFudWFsbHkgaW4KKwkgKiB0aGUgODI1OUEgZm9yIHRoZSBpODI0ODlEWCB3aGVuIHVzaW5nIHRoZSBOTUkKKwkgKiB3YXRjaGRvZyBhcyB0aGF0IEFQSUMgdHJlYXRzIE5NSXMgYXMgbGV2ZWwtdHJpZ2dlcmVkLgorCSAqIFRoZSBBRU9JIG1vZGUgd2lsbCBmaW5pc2ggdGhlbSBpbiB0aGUgODI1OUEKKwkgKiBhdXRvbWF0aWNhbGx5LgogCSAqLwogCWFwaWNfd3JpdGVfYXJvdW5kKEFQSUNfTFZUMCwgQVBJQ19MVlRfTUFTS0VEIHwgQVBJQ19ETV9FWFRJTlQpOwogCWluaXRfODI1OUEoMSk7Ci0JdGltZXJfYWNrID0gMTsKLQlpZiAodGltZXJfb3Zlcl84MjU0ID4gMCkKLQkJZW5hYmxlXzgyNTlBX2lycSgwKTsKKwl0aW1lcl9hY2sgPSAobm1pX3dhdGNoZG9nID09IE5NSV9JT19BUElDICYmICFBUElDX0lOVEVHUkFURUQodmVyKSk7CiAKIAlwaW4xICA9IGZpbmRfaXNhX2lycV9waW4oMCwgbXBfSU5UKTsKIAlhcGljMSA9IGZpbmRfaXNhX2lycV9hcGljKDAsIG1wX0lOVCk7CkBAIC0yMTYyLDE0ICsyMTgwLDMzIEBACiAJcHJpbnRrKEtFUk5fSU5GTyAiLi5USU1FUjogdmVjdG9yPTB4JTAyWCBhcGljMT0lZCBwaW4xPSVkIGFwaWMyPSVkIHBpbjI9JWRcbiIsCiAJCXZlY3RvciwgYXBpYzEsIHBpbjEsIGFwaWMyLCBwaW4yKTsKIAorCS8qCisJICogU29tZSBCSU9TIHdyaXRlcnMgYXJlIGNsdWVsZXNzIGFuZCByZXBvcnQgdGhlIEV4dElOVEEKKwkgKiBJL08gQVBJQyBpbnB1dCBmcm9tIHRoZSBjYXNjYWRlZCA4MjU5QSBhcyB0aGUgdGltZXIKKwkgKiBpbnRlcnJ1cHQgaW5wdXQuICBTbyBqdXN0IGluIGNhc2UsIGlmIG9ubHkgb25lIHBpbgorCSAqIHdhcyBmb3VuZCBhYm92ZSwgdHJ5IGl0IGJvdGggZGlyZWN0bHkgYW5kIHRocm91Z2ggdGhlCisJICogODI1OUEuCisJICovCisJaWYgKHBpbjEgPT0gLTEpIHsKKwkJcGluMSA9IHBpbjI7CisJCWFwaWMxID0gYXBpYzI7CisJCW5vX3BpbjEgPSAxOworCX0gZWxzZSBpZiAocGluMiA9PSAtMSkgeworCQlwaW4yID0gcGluMTsKKwkJYXBpYzIgPSBhcGljMTsKKwl9CisKIAlpZiAocGluMSAhPSAtMSkgewogCQkvKgogCQkgKiBPaywgZG9lcyBJUlEwIHRocm91Z2ggdGhlIElPQVBJQyB3b3JrPwogCQkgKi8KKwkJaWYgKG5vX3BpbjEpIHsKKwkJCWFkZF9waW5fdG9faXJxKDAsIGFwaWMxLCBwaW4xKTsKKwkJCXNldHVwX3RpbWVyX0lSUTBfcGluKGFwaWMxLCBwaW4xLCB2ZWN0b3IpOworCQl9CiAJCXVubWFza19JT19BUElDX2lycSgwKTsKIAkJaWYgKHRpbWVyX2lycV93b3JrcygpKSB7CiAJCQlpZiAobm1pX3dhdGNoZG9nID09IE5NSV9JT19BUElDKSB7Ci0JCQkJZGlzYWJsZV84MjU5QV9pcnEoMCk7CiAJCQkJc2V0dXBfbm1pKCk7CiAJCQkJZW5hYmxlXzgyNTlBX2lycSgwKTsKIAkJCX0KQEAgLTIxNzgsNDUgKzIyMTUsNDcgQEAKIAkJCWdvdG8gb3V0OwogCQl9CiAJCWNsZWFyX0lPX0FQSUNfcGluKGFwaWMxLCBwaW4xKTsKLQkJcHJpbnRrKEtFUk5fRVJSICIuLk1QLUJJT1MgYnVnOiA4MjU0IHRpbWVyIG5vdCBjb25uZWN0ZWQgdG8gIgotCQkJCSJJTy1BUElDXG4iKTsKLQl9CisJCWlmICghbm9fcGluMSkKKwkJCXByaW50ayhLRVJOX0VSUiAiLi5NUC1CSU9TIGJ1ZzogIgorCQkJICAgICAgICI4MjU0IHRpbWVyIG5vdCBjb25uZWN0ZWQgdG8gSU8tQVBJQ1xuIik7CiAKLQlwcmludGsoS0VSTl9JTkZPICIuLi50cnlpbmcgdG8gc2V0IHVwIHRpbWVyIChJUlEwKSB0aHJvdWdoIHRoZSA4MjU5QSAuLi4gIik7Ci0JaWYgKHBpbjIgIT0gLTEpIHsKKwkJcHJpbnRrKEtFUk5fSU5GTyAiLi4udHJ5aW5nIHRvIHNldCB1cCB0aW1lciAoSVJRMCkgIgorCQkgICAgICAgInRocm91Z2ggdGhlIDgyNTlBIC4uLiAiKTsKIAkJcHJpbnRrKCJcbi4uLi4uIChmb3VuZCBwaW4gJWQpIC4uLiIsIHBpbjIpOwogCQkvKgogCQkgKiBsZWdhY3kgZGV2aWNlcyBzaG91bGQgYmUgY29ubmVjdGVkIHRvIElPIEFQSUMgIzAKIAkJICovCi0JCXNldHVwX0V4dElOVF9JUlEwX3BpbihhcGljMiwgcGluMiwgdmVjdG9yKTsKKwkJcmVwbGFjZV9waW5fYXRfaXJxKDAsIGFwaWMxLCBwaW4xLCBhcGljMiwgcGluMik7CisJCXNldHVwX3RpbWVyX0lSUTBfcGluKGFwaWMyLCBwaW4yLCB2ZWN0b3IpOworCQl1bm1hc2tfSU9fQVBJQ19pcnEoMCk7CisJCWVuYWJsZV84MjU5QV9pcnEoMCk7CiAJCWlmICh0aW1lcl9pcnFfd29ya3MoKSkgewogCQkJcHJpbnRrKCJ3b3Jrcy5cbiIpOwotCQkJaWYgKHBpbjEgIT0gLTEpCi0JCQkJcmVwbGFjZV9waW5fYXRfaXJxKDAsIGFwaWMxLCBwaW4xLCBhcGljMiwgcGluMik7Ci0JCQllbHNlCi0JCQkJYWRkX3Bpbl90b19pcnEoMCwgYXBpYzIsIHBpbjIpOworCQkJdGltZXJfdGhyb3VnaF84MjU5ID0gMTsKIAkJCWlmIChubWlfd2F0Y2hkb2cgPT0gTk1JX0lPX0FQSUMpIHsKKwkJCQlkaXNhYmxlXzgyNTlBX2lycSgwKTsKIAkJCQlzZXR1cF9ubWkoKTsKKwkJCQllbmFibGVfODI1OUFfaXJxKDApOwogCQkJfQogCQkJZ290byBvdXQ7CiAJCX0KIAkJLyoKIAkJICogQ2xlYW51cCwganVzdCBpbiBjYXNlIC4uLgogCQkgKi8KKwkJZGlzYWJsZV84MjU5QV9pcnEoMCk7CiAJCWNsZWFyX0lPX0FQSUNfcGluKGFwaWMyLCBwaW4yKTsKKwkJcHJpbnRrKCIgZmFpbGVkLlxuIik7CiAJfQotCXByaW50aygiIGZhaWxlZC5cbiIpOwogCiAJaWYgKG5taV93YXRjaGRvZyA9PSBOTUlfSU9fQVBJQykgewogCQlwcmludGsoS0VSTl9XQVJOSU5HICJ0aW1lciBkb2Vzbid0IHdvcmsgdGhyb3VnaCB0aGUgSU8tQVBJQyAtIGRpc2FibGluZyBOTUkgV2F0Y2hkb2chXG4iKTsKLQkJbm1pX3dhdGNoZG9nID0gMDsKKwkJbm1pX3dhdGNoZG9nID0gTk1JX05PTkU7CiAJfQorCXRpbWVyX2FjayA9IDA7CiAKIAlwcmludGsoS0VSTl9JTkZPICIuLi50cnlpbmcgdG8gc2V0IHVwIHRpbWVyIGFzIFZpcnR1YWwgV2lyZSBJUlEuLi4iKTsKIAotCWRpc2FibGVfODI1OUFfaXJxKDApOwotCXNldF9pcnFfY2hpcF9hbmRfaGFuZGxlcl9uYW1lKDAsICZsYXBpY19jaGlwLCBoYW5kbGVfZmFzdGVvaV9pcnEsCi0JCQkJICAgICAgImZhc3Rlb2kiKTsKKwlsYXBpY19yZWdpc3Rlcl9pbnRyKDAsIHZlY3Rvcik7CiAJYXBpY193cml0ZV9hcm91bmQoQVBJQ19MVlQwLCBBUElDX0RNX0ZJWEVEIHwgdmVjdG9yKTsJLyogRml4ZWQgbW9kZSAqLwogCWVuYWJsZV84MjU5QV9pcnEoMCk7CiAKQEAgLTIyMjQsMTIgKzIyNjMsMTIgQEAKIAkJcHJpbnRrKCIgd29ya3MuXG4iKTsKIAkJZ290byBvdXQ7CiAJfQorCWRpc2FibGVfODI1OUFfaXJxKDApOwogCWFwaWNfd3JpdGVfYXJvdW5kKEFQSUNfTFZUMCwgQVBJQ19MVlRfTUFTS0VEIHwgQVBJQ19ETV9GSVhFRCB8IHZlY3Rvcik7CiAJcHJpbnRrKCIgZmFpbGVkLlxuIik7CiAKIAlwcmludGsoS0VSTl9JTkZPICIuLi50cnlpbmcgdG8gc2V0IHVwIHRpbWVyIGFzIEV4dElOVCBJUlEuLi4iKTsKIAotCXRpbWVyX2FjayA9IDA7CiAJaW5pdF84MjU5QSgwKTsKIAltYWtlXzgyNTlBX2lycSgwKTsKIAlhcGljX3dyaXRlX2Fyb3VuZChBUElDX0xWVDAsIEFQSUNfRE1fRVhUSU5UKTsKQEAgLTIyNDgsMTEgKzIyODcsMjEgQEAKIH0KIAogLyoKLSAqCi0gKiBJUlEncyB0aGF0IGFyZSBoYW5kbGVkIGJ5IHRoZSBQSUMgaW4gdGhlIE1QUyBJT0FQSUMgY2FzZS4KLSAqIC0gSVJRMiBpcyB0aGUgY2FzY2FkZSBJUlEsIGFuZCBjYW5ub3QgYmUgYSBpby1hcGljIElSUS4KLSAqICAgTGludXggZG9lc24ndCByZWFsbHkgY2FyZSwgYXMgaXQncyBub3QgYWN0dWFsbHkgdXNlZAotICogICBmb3IgYW55IGludGVycnVwdCBoYW5kbGluZyBhbnl3YXkuCisgKiBUcmFkaXRpb25hbGx5IElTQSBJUlEyIGlzIHRoZSBjYXNjYWRlIElSUSwgYW5kIGlzIG5vdCBhdmFpbGFibGUKKyAqIHRvIGRldmljZXMuICBIb3dldmVyIHRoZXJlIG1heSBiZSBhbiBJL08gQVBJQyBwaW4gYXZhaWxhYmxlIGZvcgorICogdGhpcyBpbnRlcnJ1cHQgcmVnYXJkbGVzcy4gIFRoZSBwaW4gbWF5IGJlIGxlZnQgdW5jb25uZWN0ZWQsIGJ1dAorICogdHlwaWNhbGx5IGl0IHdpbGwgYmUgcmV1c2VkIGFzIGFuIEV4dElOVCBjYXNjYWRlIGludGVycnVwdCBmb3IKKyAqIHRoZSBtYXN0ZXIgODI1OUEuICBJbiB0aGUgTVBTIGNhc2Ugc3VjaCBhIHBpbiB3aWxsIG5vcm1hbGx5IGJlCisgKiByZXBvcnRlZCBhcyBhbiBFeHRJTlQgaW50ZXJydXB0IGluIHRoZSBNUCB0YWJsZS4gIFdpdGggQUNQSQorICogdGhlcmUgaXMgbm8gcHJvdmlzaW9uIGZvciBFeHRJTlQgaW50ZXJydXB0cywgYW5kIGluIHRoZSBhYnNlbmNlCisgKiBvZiBhbiBvdmVycmlkZSBpdCB3b3VsZCBiZSB0cmVhdGVkIGFzIGFuIG9yZGluYXJ5IElTQSBJL08gQVBJQworICogaW50ZXJydXB0LCB0aGF0IGlzIGVkZ2UtdHJpZ2dlcmVkIGFuZCB1bm1hc2tlZCBieSBkZWZhdWx0LiAgV2UKKyAqIHVzZWQgdG8gZG8gdGhpcywgYnV0IGl0IGNhdXNlZCBwcm9ibGVtcyBvbiBzb21lIHN5c3RlbXMgYmVjYXVzZQorICogb2YgdGhlIE5NSSB3YXRjaGRvZyBhbmQgc29tZXRpbWVzIElSUTAgb2YgdGhlIDgyNTQgdGltZXIgdXNpbmcKKyAqIHRoZSBzYW1lIEV4dElOVCBjYXNjYWRlIGludGVycnVwdCB0byBkcml2ZSB0aGUgbG9jYWwgQVBJQyBvZiB0aGUKKyAqIGJvb3RzdHJhcCBwcm9jZXNzb3IuICBUaGVyZWZvcmUgd2UgcmVmcmFpbiBmcm9tIHJvdXRpbmcgSVJRMiB0bworICogdGhlIEkvTyBBUElDIGluIGFsbCBjYXNlcyBub3cuICBObyBhY3R1YWwgZGV2aWNlIHNob3VsZCByZXF1ZXN0CisgKiBpdCBhbnl3YXkuICAtLW1hY3JvCiAgKi8KICNkZWZpbmUgUElDX0lSUVMJKDEgPDwgUElDX0NBU0NBREVfSVIpCiAKQEAgLTIyNjEsMTUgKzIzMTAsMTIgQEAKIAlpbnQgaTsKIAogCS8qIFJlc2VydmUgYWxsIHRoZSBzeXN0ZW0gdmVjdG9ycy4gKi8KLQlmb3IgKGkgPSBGSVJTVF9TWVNURU1fVkVDVE9SOyBpIDwgTlJfVkVDVE9SUzsgaSsrKQorCWZvciAoaSA9IGZpcnN0X3N5c3RlbV92ZWN0b3I7IGkgPCBOUl9WRUNUT1JTOyBpKyspCiAJCXNldF9iaXQoaSwgdXNlZF92ZWN0b3JzKTsKIAogCWVuYWJsZV9JT19BUElDKCk7CiAKLQlpZiAoYWNwaV9pb2FwaWMpCi0JCWlvX2FwaWNfaXJxcyA9IH4wOwkvKiBhbGwgSVJRcyBnbyB0aHJvdWdoIElPQVBJQyAqLwotCWVsc2UKLQkJaW9fYXBpY19pcnFzID0gflBJQ19JUlFTOworCWlvX2FwaWNfaXJxcyA9IH5QSUNfSVJRUzsKIAogCXByaW50aygiRU5BQkxJTkcgSU8tQVBJQyBJUlFzXG4iKTsKIApAQCAtMjI4NiwyOCArMjMzMiwxNCBAQAogCQlwcmludF9JT19BUElDKCk7CiB9CiAKLXN0YXRpYyBpbnQgX19pbml0IHNldHVwX2Rpc2FibGVfODI1NF90aW1lcihjaGFyICpzKQotewotCXRpbWVyX292ZXJfODI1NCA9IC0xOwotCXJldHVybiAxOwotfQotc3RhdGljIGludCBfX2luaXQgc2V0dXBfZW5hYmxlXzgyNTRfdGltZXIoY2hhciAqcykKLXsKLQl0aW1lcl9vdmVyXzgyNTQgPSAyOwotCXJldHVybiAxOwotfQotCi1fX3NldHVwKCJkaXNhYmxlXzgyNTRfdGltZXIiLCBzZXR1cF9kaXNhYmxlXzgyNTRfdGltZXIpOwotX19zZXR1cCgiZW5hYmxlXzgyNTRfdGltZXIiLCBzZXR1cF9lbmFibGVfODI1NF90aW1lcik7Ci0KIC8qCiAgKglDYWxsZWQgYWZ0ZXIgYWxsIHRoZSBpbml0aWFsaXphdGlvbiBpcyBkb25lLiBJZiB3ZSBkaWRudCBmaW5kIGFueQogICoJQVBJQyBidWdzIHRoZW4gd2UgY2FuIGFsbG93IHRoZSBtb2RpZnkgZmFzdCBwYXRoCiAgKi8KLSAKKwogc3RhdGljIGludCBfX2luaXQgaW9fYXBpY19idWdfZmluYWxpemUodm9pZCkKIHsKLQlpZihzaXNfYXBpY19idWcgPT0gLTEpCisJaWYgKHNpc19hcGljX2J1ZyA9PSAtMSkKIAkJc2lzX2FwaWNfYnVnID0gMDsKIAlyZXR1cm4gMDsKIH0KQEAgLTIzMTgsMTcgKzIzNTAsMTcgQEAKIAlzdHJ1Y3Qgc3lzX2RldmljZSBkZXY7CiAJc3RydWN0IElPX0FQSUNfcm91dGVfZW50cnkgZW50cnlbMF07CiB9Owotc3RhdGljIHN0cnVjdCBzeXNmc19pb2FwaWNfZGF0YSAqIG1wX2lvYXBpY19kYXRhW01BWF9JT19BUElDU107CitzdGF0aWMgc3RydWN0IHN5c2ZzX2lvYXBpY19kYXRhICptcF9pb2FwaWNfZGF0YVtNQVhfSU9fQVBJQ1NdOwogCiBzdGF0aWMgaW50IGlvYXBpY19zdXNwZW5kKHN0cnVjdCBzeXNfZGV2aWNlICpkZXYsIHBtX21lc3NhZ2VfdCBzdGF0ZSkKIHsKIAlzdHJ1Y3QgSU9fQVBJQ19yb3V0ZV9lbnRyeSAqZW50cnk7CiAJc3RydWN0IHN5c2ZzX2lvYXBpY19kYXRhICpkYXRhOwogCWludCBpOwotCQorCiAJZGF0YSA9IGNvbnRhaW5lcl9vZihkZXYsIHN0cnVjdCBzeXNmc19pb2FwaWNfZGF0YSwgZGV2KTsKIAllbnRyeSA9IGRhdGEtPmVudHJ5OwotCWZvciAoaSA9IDA7IGkgPCBucl9pb2FwaWNfcmVnaXN0ZXJzW2Rldi0+aWRdOyBpICsrKQorCWZvciAoaSA9IDA7IGkgPCBucl9pb2FwaWNfcmVnaXN0ZXJzW2Rldi0+aWRdOyBpKyspCiAJCWVudHJ5W2ldID0gaW9hcGljX3JlYWRfZW50cnkoZGV2LT5pZCwgaSk7CiAKIAlyZXR1cm4gMDsKQEAgLTIzNDEsMTggKzIzNzMsMTggQEAKIAl1bnNpZ25lZCBsb25nIGZsYWdzOwogCXVuaW9uIElPX0FQSUNfcmVnXzAwIHJlZ18wMDsKIAlpbnQgaTsKLQkKKwogCWRhdGEgPSBjb250YWluZXJfb2YoZGV2LCBzdHJ1Y3Qgc3lzZnNfaW9hcGljX2RhdGEsIGRldik7CiAJZW50cnkgPSBkYXRhLT5lbnRyeTsKIAogCXNwaW5fbG9ja19pcnFzYXZlKCZpb2FwaWNfbG9jaywgZmxhZ3MpOwogCXJlZ18wMC5yYXcgPSBpb19hcGljX3JlYWQoZGV2LT5pZCwgMCk7Ci0JaWYgKHJlZ18wMC5iaXRzLklEICE9IG1wX2lvYXBpY3NbZGV2LT5pZF0ubXBjX2FwaWNpZCkgewotCQlyZWdfMDAuYml0cy5JRCA9IG1wX2lvYXBpY3NbZGV2LT5pZF0ubXBjX2FwaWNpZDsKKwlpZiAocmVnXzAwLmJpdHMuSUQgIT0gbXBfaW9hcGljc1tkZXYtPmlkXS5tcF9hcGljaWQpIHsKKwkJcmVnXzAwLmJpdHMuSUQgPSBtcF9pb2FwaWNzW2Rldi0+aWRdLm1wX2FwaWNpZDsKIAkJaW9fYXBpY193cml0ZShkZXYtPmlkLCAwLCByZWdfMDAucmF3KTsKIAl9CiAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmaW9hcGljX2xvY2ssIGZsYWdzKTsKLQlmb3IgKGkgPSAwOyBpIDwgbnJfaW9hcGljX3JlZ2lzdGVyc1tkZXYtPmlkXTsgaSArKykKKwlmb3IgKGkgPSAwOyBpIDwgbnJfaW9hcGljX3JlZ2lzdGVyc1tkZXYtPmlkXTsgaSsrKQogCQlpb2FwaWNfd3JpdGVfZW50cnkoZGV2LT5pZCwgaSwgZW50cnlbaV0pOwogCiAJcmV0dXJuIDA7CkBAIC0yMzY2LDI0ICsyMzk4LDIzIEBACiAKIHN0YXRpYyBpbnQgX19pbml0IGlvYXBpY19pbml0X3N5c2ZzKHZvaWQpCiB7Ci0Jc3RydWN0IHN5c19kZXZpY2UgKiBkZXY7CisJc3RydWN0IHN5c19kZXZpY2UgKmRldjsKIAlpbnQgaSwgc2l6ZSwgZXJyb3IgPSAwOwogCiAJZXJyb3IgPSBzeXNkZXZfY2xhc3NfcmVnaXN0ZXIoJmlvYXBpY19zeXNkZXZfY2xhc3MpOwogCWlmIChlcnJvcikKIAkJcmV0dXJuIGVycm9yOwogCi0JZm9yIChpID0gMDsgaSA8IG5yX2lvYXBpY3M7IGkrKyApIHsKLQkJc2l6ZSA9IHNpemVvZihzdHJ1Y3Qgc3lzX2RldmljZSkgKyBucl9pb2FwaWNfcmVnaXN0ZXJzW2ldIAorCWZvciAoaSA9IDA7IGkgPCBucl9pb2FwaWNzOyBpKyspIHsKKwkJc2l6ZSA9IHNpemVvZihzdHJ1Y3Qgc3lzX2RldmljZSkgKyBucl9pb2FwaWNfcmVnaXN0ZXJzW2ldCiAJCQkqIHNpemVvZihzdHJ1Y3QgSU9fQVBJQ19yb3V0ZV9lbnRyeSk7Ci0JCW1wX2lvYXBpY19kYXRhW2ldID0ga21hbGxvYyhzaXplLCBHRlBfS0VSTkVMKTsKKwkJbXBfaW9hcGljX2RhdGFbaV0gPSBremFsbG9jKHNpemUsIEdGUF9LRVJORUwpOwogCQlpZiAoIW1wX2lvYXBpY19kYXRhW2ldKSB7CiAJCQlwcmludGsoS0VSTl9FUlIgIkNhbid0IHN1c3BlbmQvcmVzdW1lIElPQVBJQyAlZFxuIiwgaSk7CiAJCQljb250aW51ZTsKIAkJfQotCQltZW1zZXQobXBfaW9hcGljX2RhdGFbaV0sIDAsIHNpemUpOwogCQlkZXYgPSAmbXBfaW9hcGljX2RhdGFbaV0tPmRldjsKLQkJZGV2LT5pZCA9IGk7IAorCQlkZXYtPmlkID0gaTsKIAkJZGV2LT5jbHMgPSAmaW9hcGljX3N5c2Rldl9jbGFzczsKIAkJZXJyb3IgPSBzeXNkZXZfcmVnaXN0ZXIoZGV2KTsKIAkJaWYgKGVycm9yKSB7CkBAIC0yNDU4LDcgKzI0ODksNyBAQAogCQltc2ctPmFkZHJlc3NfbG8gPQogCQkJTVNJX0FERFJfQkFTRV9MTyB8CiAJCQkoKElOVF9ERVNUX01PREUgPT0gMCkgPwotCQkJCU1TSV9BRERSX0RFU1RfTU9ERV9QSFlTSUNBTDoKK01TSV9BRERSX0RFU1RfTU9ERV9QSFlTSUNBTDoKIAkJCQlNU0lfQUREUl9ERVNUX01PREVfTE9HSUNBTCkgfAogCQkJKChJTlRfREVMSVZFUllfTU9ERSAhPSBkZXN0X0xvd2VzdFByaW8pID8KIAkJCQlNU0lfQUREUl9SRURJUkVDVElPTl9DUFU6CkBAIC0yNDY5LDcgKzI1MDAsNyBAQAogCQkJTVNJX0RBVEFfVFJJR0dFUl9FREdFIHwKIAkJCU1TSV9EQVRBX0xFVkVMX0FTU0VSVCB8CiAJCQkoKElOVF9ERUxJVkVSWV9NT0RFICE9IGRlc3RfTG93ZXN0UHJpbykgPwotCQkJCU1TSV9EQVRBX0RFTElWRVJZX0ZJWEVEOgorTVNJX0RBVEFfREVMSVZFUllfRklYRUQ6CiAJCQkJTVNJX0RBVEFfREVMSVZFUllfTE9XUFJJKSB8CiAJCQlNU0lfREFUQV9WRUNUT1IodmVjdG9yKTsKIAl9CkBAIC0yNjQwLDEyICsyNjcxLDEyIEBACiAjZW5kaWYgLyogQ09ORklHX0hUX0lSUSAqLwogCiAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotICAgICAgICAgICAgICAgICAgICAgICAgICBBQ1BJLWJhc2VkIElPQVBJQyBDb25maWd1cmF0aW9uCisJCQlBQ1BJLWJhc2VkIElPQVBJQyBDb25maWd1cmF0aW9uCiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwogCiAjaWZkZWYgQ09ORklHX0FDUEkKIAotaW50IF9faW5pdCBpb19hcGljX2dldF91bmlxdWVfaWQgKGludCBpb2FwaWMsIGludCBhcGljX2lkKQoraW50IF9faW5pdCBpb19hcGljX2dldF91bmlxdWVfaWQoaW50IGlvYXBpYywgaW50IGFwaWNfaWQpCiB7CiAJdW5pb24gSU9fQVBJQ19yZWdfMDAgcmVnXzAwOwogCXN0YXRpYyBwaHlzaWRfbWFza190IGFwaWNfaWRfbWFwID0gUEhZU0lEX01BU0tfTk9ORTsKQEAgLTI2NTQsMTAgKzI2ODUsMTAgQEAKIAlpbnQgaSA9IDA7CiAKIAkvKgotCSAqIFRoZSBQNCBwbGF0Zm9ybSBzdXBwb3J0cyB1cCB0byAyNTYgQVBJQyBJRHMgb24gdHdvIHNlcGFyYXRlIEFQSUMgCi0JICogYnVzZXMgKG9uZSBmb3IgTEFQSUNzLCBvbmUgZm9yIElPQVBJQ3MpLCB3aGVyZSBwcmVkZWNlc3NvcnMgb25seSAKKwkgKiBUaGUgUDQgcGxhdGZvcm0gc3VwcG9ydHMgdXAgdG8gMjU2IEFQSUMgSURzIG9uIHR3byBzZXBhcmF0ZSBBUElDCisJICogYnVzZXMgKG9uZSBmb3IgTEFQSUNzLCBvbmUgZm9yIElPQVBJQ3MpLCB3aGVyZSBwcmVkZWNlc3NvcnMgb25seQogCSAqIHN1cHBvcnRzIHVwIHRvIDE2IG9uIG9uZSBzaGFyZWQgQVBJQyBidXMuCi0JICogCisJICoKIAkgKiBUQkQ6IEV4cGFuZCBMQVBJQy9JT0FQSUMgc3VwcG9ydCBvbiBQNC1jbGFzcyBzeXN0ZW1zIHRvIHRha2UgZnVsbAogCSAqICAgICAgYWR2YW50YWdlIG9mIG5ldyBBUElDIGJ1cyBhcmNoaXRlY3R1cmUuCiAJICovCkBAIC0yNjc2LDcgKzI3MDcsNyBAQAogCX0KIAogCS8qCi0JICogRXZlcnkgQVBJQyBpbiBhIHN5c3RlbSBtdXN0IGhhdmUgYSB1bmlxdWUgSUQgb3Igd2UgZ2V0IGxvdHMgb2YgbmljZSAKKwkgKiBFdmVyeSBBUElDIGluIGEgc3lzdGVtIG11c3QgaGF2ZSBhIHVuaXF1ZSBJRCBvciB3ZSBnZXQgbG90cyBvZiBuaWNlCiAJICogJ3N0dWNrIG9uIHNtcF9pbnZhbGlkYXRlX25lZWRlZCBJUEkgd2FpdCcgbWVzc2FnZXMuCiAJICovCiAJaWYgKGNoZWNrX2FwaWNpZF91c2VkKGFwaWNfaWRfbWFwLCBhcGljX2lkKSkgewpAQCAtMjY5Myw3ICsyNzI0LDcgQEAKIAkJCSJ0cnlpbmcgJWRcbiIsIGlvYXBpYywgYXBpY19pZCwgaSk7CiAKIAkJYXBpY19pZCA9IGk7Ci0JfSAKKwl9CiAKIAl0bXAgPSBhcGljaWRfdG9fY3B1X3ByZXNlbnQoYXBpY19pZCk7CiAJcGh5c2lkc19vcihhcGljX2lkX21hcCwgYXBpY19pZF9tYXAsIHRtcCk7CkBAIC0yNzIwLDcgKzI3NTEsNyBAQAogfQogCiAKLWludCBfX2luaXQgaW9fYXBpY19nZXRfdmVyc2lvbiAoaW50IGlvYXBpYykKK2ludCBfX2luaXQgaW9fYXBpY19nZXRfdmVyc2lvbihpbnQgaW9hcGljKQogewogCXVuaW9uIElPX0FQSUNfcmVnXzAxCXJlZ18wMTsKIAl1bnNpZ25lZCBsb25nIGZsYWdzOwpAQCAtMjczMyw3ICsyNzY0LDcgQEAKIH0KIAogCi1pbnQgX19pbml0IGlvX2FwaWNfZ2V0X3JlZGlyX2VudHJpZXMgKGludCBpb2FwaWMpCitpbnQgX19pbml0IGlvX2FwaWNfZ2V0X3JlZGlyX2VudHJpZXMoaW50IGlvYXBpYykKIHsKIAl1bmlvbiBJT19BUElDX3JlZ18wMQlyZWdfMDE7CiAJdW5zaWduZWQgbG9uZyBmbGFnczsKQEAgLTI3NDYsNyArMjc3Nyw3IEBACiB9CiAKIAotaW50IGlvX2FwaWNfc2V0X3BjaV9yb3V0aW5nIChpbnQgaW9hcGljLCBpbnQgcGluLCBpbnQgaXJxLCBpbnQgZWRnZV9sZXZlbCwgaW50IGFjdGl2ZV9oaWdoX2xvdykKK2ludCBpb19hcGljX3NldF9wY2lfcm91dGluZyhpbnQgaW9hcGljLCBpbnQgcGluLCBpbnQgaXJxLCBpbnQgZWRnZV9sZXZlbCwgaW50IGFjdGl2ZV9oaWdoX2xvdykKIHsKIAlzdHJ1Y3QgSU9fQVBJQ19yb3V0ZV9lbnRyeSBlbnRyeTsKIApAQCAtMjc2Miw3ICsyNzkzLDcgQEAKIAkgKiBjb3JyZXNwb25kaW5nIGRldmljZSBkcml2ZXIgcmVnaXN0ZXJzIGZvciB0aGlzIElSUS4KIAkgKi8KIAotCW1lbXNldCgmZW50cnksMCxzaXplb2YoZW50cnkpKTsKKwltZW1zZXQoJmVudHJ5LCAwLCBzaXplb2YoZW50cnkpKTsKIAogCWVudHJ5LmRlbGl2ZXJ5X21vZGUgPSBJTlRfREVMSVZFUllfTU9ERTsKIAllbnRyeS5kZXN0X21vZGUgPSBJTlRfREVTVF9NT0RFOwpAQCAtMjc4MSw3ICsyODEyLDcgQEAKIAogCWFwaWNfcHJpbnRrKEFQSUNfREVCVUcsIEtFUk5fREVCVUcgIklPQVBJQ1slZF06IFNldCBQQ0kgcm91dGluZyBlbnRyeSAiCiAJCSIoJWQtJWQgLT4gMHgleCAtPiBJUlEgJWQgTW9kZTolaSBBY3RpdmU6JWkpXG4iLCBpb2FwaWMsCi0JCW1wX2lvYXBpY3NbaW9hcGljXS5tcGNfYXBpY2lkLCBwaW4sIGVudHJ5LnZlY3RvciwgaXJxLAorCQltcF9pb2FwaWNzW2lvYXBpY10ubXBfYXBpY2lkLCBwaW4sIGVudHJ5LnZlY3RvciwgaXJxLAogCQllZGdlX2xldmVsLCBhY3RpdmVfaGlnaF9sb3cpOwogCiAJaW9hcGljX3JlZ2lzdGVyX2ludHIoaXJxLCBlbnRyeS52ZWN0b3IsIGVkZ2VfbGV2ZWwpOwpAQCAtMjgwMiw4ICsyODMzLDggQEAKIAkJcmV0dXJuIC0xOwogCiAJZm9yIChpID0gMDsgaSA8IG1wX2lycV9lbnRyaWVzOyBpKyspCi0JCWlmIChtcF9pcnFzW2ldLm1wY19pcnF0eXBlID09IG1wX0lOVCAmJgotCQkgICAgbXBfaXJxc1tpXS5tcGNfc3JjYnVzaXJxID09IGJ1c19pcnEpCisJCWlmIChtcF9pcnFzW2ldLm1wX2lycXR5cGUgPT0gbXBfSU5UICYmCisJCSAgICBtcF9pcnFzW2ldLm1wX3NyY2J1c2lycSA9PSBidXNfaXJxKQogCQkJYnJlYWs7CiAJaWYgKGkgPj0gbXBfaXJxX2VudHJpZXMpCiAJCXJldHVybiAtMTsKQEAgLTI4MzYsMyArMjg2NywzNCBAQAogCXJldHVybiAwOwogfQogZWFybHlfcGFyYW0oIm5vYXBpYyIsIHBhcnNlX25vYXBpYyk7CisKK3ZvaWQgX19pbml0IGlvYXBpY19pbml0X21hcHBpbmdzKHZvaWQpCit7CisJdW5zaWduZWQgbG9uZyBpb2FwaWNfcGh5cywgaWR4ID0gRklYX0lPX0FQSUNfQkFTRV8wOworCWludCBpOworCisJZm9yIChpID0gMDsgaSA8IG5yX2lvYXBpY3M7IGkrKykgeworCQlpZiAoc21wX2ZvdW5kX2NvbmZpZykgeworCQkJaW9hcGljX3BoeXMgPSBtcF9pb2FwaWNzW2ldLm1wX2FwaWNhZGRyOworCQkJaWYgKCFpb2FwaWNfcGh5cykgeworCQkJCXByaW50ayhLRVJOX0VSUgorCQkJCSAgICAgICAiV0FSTklORzogYm9ndXMgemVybyBJTy1BUElDICIKKwkJCQkgICAgICAgImFkZHJlc3MgZm91bmQgaW4gTVBUQUJMRSwgIgorCQkJCSAgICAgICAiZGlzYWJsaW5nIElPL0FQSUMgc3VwcG9ydCFcbiIpOworCQkJCXNtcF9mb3VuZF9jb25maWcgPSAwOworCQkJCXNraXBfaW9hcGljX3NldHVwID0gMTsKKwkJCQlnb3RvIGZha2VfaW9hcGljX3BhZ2U7CisJCQl9CisJCX0gZWxzZSB7CitmYWtlX2lvYXBpY19wYWdlOgorCQkJaW9hcGljX3BoeXMgPSAodW5zaWduZWQgbG9uZykKKwkJCQkgICAgICBhbGxvY19ib290bWVtX3BhZ2VzKFBBR0VfU0laRSk7CisJCQlpb2FwaWNfcGh5cyA9IF9fcGEoaW9hcGljX3BoeXMpOworCQl9CisJCXNldF9maXhtYXBfbm9jYWNoZShpZHgsIGlvYXBpY19waHlzKTsKKwkJcHJpbnRrKEtFUk5fREVCVUcgIm1hcHBlZCBJT0FQSUMgdG8gJTA4bHggKCUwOGx4KVxuIiwKKwkJICAgICAgIF9fZml4X3RvX3ZpcnQoaWR4KSwgaW9hcGljX3BoeXMpOworCQlpZHgrKzsKKwl9Cit9CisKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9pb19hcGljXzY0LmMgYi9hcmNoL3g4Ni9rZXJuZWwvaW9fYXBpY182NC5jCmluZGV4IGVmMWE4ZGYuLmIxNmVmMDIgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9pb19hcGljXzY0LmMKKysrIGIvYXJjaC94ODYva2VybmVsL2lvX2FwaWNfNjQuYwpAQCAtNjEsNyArNjEsNyBAQAogfTsKIAogLyogaXJxX2NmZyBpcyBpbmRleGVkIGJ5IHRoZSBzdW0gb2YgYWxsIFJURXMgaW4gYWxsIEkvTyBBUElDcy4gKi8KLXN0cnVjdCBpcnFfY2ZnIGlycV9jZmdbTlJfSVJRU10gX19yZWFkX21vc3RseSA9IHsKK3N0YXRpYyBzdHJ1Y3QgaXJxX2NmZyBpcnFfY2ZnW05SX0lSUVNdIF9fcmVhZF9tb3N0bHkgPSB7CiAJWzBdICA9IHsgLmRvbWFpbiA9IENQVV9NQVNLX0FMTCwgLnZlY3RvciA9IElSUTBfVkVDVE9SLCAgfSwKIAlbMV0gID0geyAuZG9tYWluID0gQ1BVX01BU0tfQUxMLCAudmVjdG9yID0gSVJRMV9WRUNUT1IsICB9LAogCVsyXSAgPSB7IC5kb21haW4gPSBDUFVfTUFTS19BTEwsIC52ZWN0b3IgPSBJUlEyX1ZFQ1RPUiwgIH0sCkBAIC04Miw2ICs4MiwxMCBAQAogCiBzdGF0aWMgaW50IGFzc2lnbl9pcnFfdmVjdG9yKGludCBpcnEsIGNwdW1hc2tfdCBtYXNrKTsKIAoraW50IGZpcnN0X3N5c3RlbV92ZWN0b3IgPSAweGZlOworCitjaGFyIHN5c3RlbV92ZWN0b3JzW05SX1ZFQ1RPUlNdID0geyBbMCAuLi4gTlJfVkVDVE9SUy0xXSA9IFNZU19WRUNUT1JfRlJFRX07CisKICNkZWZpbmUgX19hcGljZGVidWdpbml0ICBfX2luaXQKIAogaW50IHNpc19hcGljX2J1ZzsgLyogbm90IGFjdHVhbGx5IHN1cHBvcnRlZCwgZHVtbXkgZm9yIGNvbXBpbGUgKi8KQEAgLTkwLDcgKzk0LDcgQEAKIAogc3RhdGljIGludCBkaXNhYmxlX3RpbWVyX3Bpbl8xIF9faW5pdGRhdGE7CiAKLWludCB0aW1lcl9vdmVyXzgyNTQgX19pbml0ZGF0YSA9IDE7CitpbnQgdGltZXJfdGhyb3VnaF84MjU5IF9faW5pdGRhdGE7CiAKIC8qIFdoZXJlIGlmIGFueXdoZXJlIGlzIHRoZSBpODI1OSBjb25uZWN0IGluIGV4dGVybmFsIGludCBtb2RlICovCiBzdGF0aWMgc3RydWN0IHsgaW50IHBpbiwgYXBpYzsgfSBpb2FwaWNfaTgyNTkgPSB7IC0xLCAtMSB9OwpAQCAtMTA0LDE1ICsxMDgsMTcgQEAKIGludCBucl9pb2FwaWNfcmVnaXN0ZXJzW01BWF9JT19BUElDU107CiAKIC8qIEkvTyBBUElDIGVudHJpZXMgKi8KLXN0cnVjdCBtcGNfY29uZmlnX2lvYXBpYyBtcF9pb2FwaWNzW01BWF9JT19BUElDU107CitzdHJ1Y3QgbXBfY29uZmlnX2lvYXBpYyBtcF9pb2FwaWNzW01BWF9JT19BUElDU107CiBpbnQgbnJfaW9hcGljczsKIAogLyogTVAgSVJRIHNvdXJjZSBlbnRyaWVzICovCi1zdHJ1Y3QgbXBjX2NvbmZpZ19pbnRzcmMgbXBfaXJxc1tNQVhfSVJRX1NPVVJDRVNdOworc3RydWN0IG1wX2NvbmZpZ19pbnRzcmMgbXBfaXJxc1tNQVhfSVJRX1NPVVJDRVNdOwogCiAvKiAjIG9mIE1QIElSUSBzb3VyY2UgZW50cmllcyAqLwogaW50IG1wX2lycV9lbnRyaWVzOwogCitERUNMQVJFX0JJVE1BUChtcF9idXNfbm90X3BjaSwgTUFYX01QX0JVU1NFUyk7CisKIC8qCiAgKiBSb3VnaCBlc3RpbWF0aW9uIG9mIGhvdyBtYW55IHNoYXJlZCBJUlFzIHRoZXJlIGFyZSwgY2FuCiAgKiBiZSBjaGFuZ2VkIGFueXRpbWUuCkBAIC0xNDAsNyArMTQ2LDcgQEAKIHN0YXRpYyBfX2F0dHJpYnV0ZV9jb25zdF9fIHN0cnVjdCBpb19hcGljIF9faW9tZW0gKmlvX2FwaWNfYmFzZShpbnQgaWR4KQogewogCXJldHVybiAodm9pZCBfX2lvbWVtICopIF9fZml4X3RvX3ZpcnQoRklYX0lPX0FQSUNfQkFTRV8wICsgaWR4KQotCQkrIChtcF9pb2FwaWNzW2lkeF0ubXBjX2FwaWNhZGRyICYgflBBR0VfTUFTSyk7CisJCSsgKG1wX2lvYXBpY3NbaWR4XS5tcF9hcGljYWRkciAmIH5QQUdFX01BU0spOwogfQogCiBzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGludCBpb19hcGljX3JlYWQodW5zaWduZWQgaW50IGFwaWMsIHVuc2lnbmVkIGludCByZWcpCkBAIC0xODMsNyArMTg5LDcgQEAKIAkJCWJyZWFrOwogCQlyZWcgPSBpb19hcGljX3JlYWQoZW50cnktPmFwaWMsIDB4MTAgKyBwaW4qMik7CiAJCS8qIElzIHRoZSByZW1vdGUgSVJSIGJpdCBzZXQ/ICovCi0JCWlmICgocmVnID4+IDE0KSAmIDEpIHsKKwkJaWYgKHJlZyAmIElPX0FQSUNfUkVESVJfUkVNT1RFX0lSUikgewogCQkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmaW9hcGljX2xvY2ssIGZsYWdzKTsKIAkJCXJldHVybiB0cnVlOwogCQl9CkBAIC0yOTgsNyArMzA0LDcgQEAKIAkJCWJyZWFrOwogCQlpb19hcGljX3dyaXRlKGFwaWMsIDB4MTEgKyBwaW4qMiwgZGVzdCk7CiAJCXJlZyA9IGlvX2FwaWNfcmVhZChhcGljLCAweDEwICsgcGluKjIpOwotCQlyZWcgJj0gfjB4MDAwMDAwZmY7CisJCXJlZyAmPSB+SU9fQVBJQ19SRURJUl9WRUNUT1JfTUFTSzsKIAkJcmVnIHw9IHZlY3RvcjsKIAkJaW9fYXBpY19tb2RpZnkoYXBpYywgcmVnKTsKIAkJaWYgKCFlbnRyeS0+bmV4dCkKQEAgLTM2MCwxNiArMzY2LDM3IEBACiAJZW50cnktPnBpbiA9IHBpbjsKIH0KIAorLyoKKyAqIFJlcm91dGUgYW4gSVJRIHRvIGEgZGlmZmVyZW50IHBpbi4KKyAqLworc3RhdGljIHZvaWQgX19pbml0IHJlcGxhY2VfcGluX2F0X2lycSh1bnNpZ25lZCBpbnQgaXJxLAorCQkJCSAgICAgIGludCBvbGRhcGljLCBpbnQgb2xkcGluLAorCQkJCSAgICAgIGludCBuZXdhcGljLCBpbnQgbmV3cGluKQoreworCXN0cnVjdCBpcnFfcGluX2xpc3QgKmVudHJ5ID0gaXJxXzJfcGluICsgaXJxOworCisJd2hpbGUgKDEpIHsKKwkJaWYgKGVudHJ5LT5hcGljID09IG9sZGFwaWMgJiYgZW50cnktPnBpbiA9PSBvbGRwaW4pIHsKKwkJCWVudHJ5LT5hcGljID0gbmV3YXBpYzsKKwkJCWVudHJ5LT5waW4gPSBuZXdwaW47CisJCX0KKwkJaWYgKCFlbnRyeS0+bmV4dCkKKwkJCWJyZWFrOworCQllbnRyeSA9IGlycV8yX3BpbiArIGVudHJ5LT5uZXh0OworCX0KK30KKwogCiAjZGVmaW5lIERPX0FDVElPTihuYW1lLFIsQUNUSU9OLCBGSU5BTCkJCQkJCVwKIAkJCQkJCQkJCVwKIAlzdGF0aWMgdm9pZCBuYW1lIyNfSU9fQVBJQ19pcnEgKHVuc2lnbmVkIGludCBpcnEpCQlcCiAJX19ET19BQ1RJT04oUiwgQUNUSU9OLCBGSU5BTCkKIAotRE9fQUNUSU9OKCBfX21hc2ssICAgICAgICAgICAgIDAsIHw9IDB4MDAwMTAwMDAsIGlvX2FwaWNfc3luYyhlbnRyeS0+YXBpYykgKQotCQkJCQkJLyogbWFzayA9IDEgKi8KLURPX0FDVElPTiggX191bm1hc2ssICAgICAgICAgICAwLCAmPSAweGZmZmVmZmZmLCApCi0JCQkJCQkvKiBtYXNrID0gMCAqLworLyogbWFzayA9IDEgKi8KK0RPX0FDVElPTihfX21hc2ssCTAsIHw9IElPX0FQSUNfUkVESVJfTUFTS0VELCBpb19hcGljX3N5bmMoZW50cnktPmFwaWMpKQorCisvKiBtYXNrID0gMCAqLworRE9fQUNUSU9OKF9fdW5tYXNrLAkwLCAmPSB+SU9fQVBJQ19SRURJUl9NQVNLRUQsICkKIAogc3RhdGljIHZvaWQgbWFza19JT19BUElDX2lycSAodW5zaWduZWQgaW50IGlycSkKIHsKQEAgLTQzMCwyMCArNDU3LDYgQEAKIH0KIF9fc2V0dXAoImRpc2FibGVfdGltZXJfcGluXzEiLCBkaXNhYmxlX3RpbWVyX3Bpbl9zZXR1cCk7CiAKLXN0YXRpYyBpbnQgX19pbml0IHNldHVwX2Rpc2FibGVfODI1NF90aW1lcihjaGFyICpzKQotewotCXRpbWVyX292ZXJfODI1NCA9IC0xOwotCXJldHVybiAxOwotfQotc3RhdGljIGludCBfX2luaXQgc2V0dXBfZW5hYmxlXzgyNTRfdGltZXIoY2hhciAqcykKLXsKLQl0aW1lcl9vdmVyXzgyNTQgPSAyOwotCXJldHVybiAxOwotfQotCi1fX3NldHVwKCJkaXNhYmxlXzgyNTRfdGltZXIiLCBzZXR1cF9kaXNhYmxlXzgyNTRfdGltZXIpOwotX19zZXR1cCgiZW5hYmxlXzgyNTRfdGltZXIiLCBzZXR1cF9lbmFibGVfODI1NF90aW1lcik7Ci0KIAogLyoKICAqIEZpbmQgdGhlIElSUSBlbnRyeSBudW1iZXIgb2YgYSBjZXJ0YWluIHBpbi4KQEAgLTQ1MywxMCArNDY2LDEwIEBACiAJaW50IGk7CiAKIAlmb3IgKGkgPSAwOyBpIDwgbXBfaXJxX2VudHJpZXM7IGkrKykKLQkJaWYgKG1wX2lycXNbaV0ubXBjX2lycXR5cGUgPT0gdHlwZSAmJgotCQkgICAgKG1wX2lycXNbaV0ubXBjX2RzdGFwaWMgPT0gbXBfaW9hcGljc1thcGljXS5tcGNfYXBpY2lkIHx8Ci0JCSAgICAgbXBfaXJxc1tpXS5tcGNfZHN0YXBpYyA9PSBNUF9BUElDX0FMTCkgJiYKLQkJICAgIG1wX2lycXNbaV0ubXBjX2RzdGlycSA9PSBwaW4pCisJCWlmIChtcF9pcnFzW2ldLm1wX2lycXR5cGUgPT0gdHlwZSAmJgorCQkgICAgKG1wX2lycXNbaV0ubXBfZHN0YXBpYyA9PSBtcF9pb2FwaWNzW2FwaWNdLm1wX2FwaWNpZCB8fAorCQkgICAgIG1wX2lycXNbaV0ubXBfZHN0YXBpYyA9PSBNUF9BUElDX0FMTCkgJiYKKwkJICAgIG1wX2lycXNbaV0ubXBfZHN0aXJxID09IHBpbikKIAkJCXJldHVybiBpOwogCiAJcmV0dXJuIC0xOwpAQCAtNDcwLDEzICs0ODMsMTMgQEAKIAlpbnQgaTsKIAogCWZvciAoaSA9IDA7IGkgPCBtcF9pcnFfZW50cmllczsgaSsrKSB7Ci0JCWludCBsYnVzID0gbXBfaXJxc1tpXS5tcGNfc3JjYnVzOworCQlpbnQgbGJ1cyA9IG1wX2lycXNbaV0ubXBfc3JjYnVzOwogCiAJCWlmICh0ZXN0X2JpdChsYnVzLCBtcF9idXNfbm90X3BjaSkgJiYKLQkJICAgIChtcF9pcnFzW2ldLm1wY19pcnF0eXBlID09IHR5cGUpICYmCi0JCSAgICAobXBfaXJxc1tpXS5tcGNfc3JjYnVzaXJxID09IGlycSkpCisJCSAgICAobXBfaXJxc1tpXS5tcF9pcnF0eXBlID09IHR5cGUpICYmCisJCSAgICAobXBfaXJxc1tpXS5tcF9zcmNidXNpcnEgPT0gaXJxKSkKIAotCQkJcmV0dXJuIG1wX2lycXNbaV0ubXBjX2RzdGlycTsKKwkJCXJldHVybiBtcF9pcnFzW2ldLm1wX2RzdGlycTsKIAl9CiAJcmV0dXJuIC0xOwogfQpAQCAtNDg2LDE3ICs0OTksMTcgQEAKIAlpbnQgaTsKIAogCWZvciAoaSA9IDA7IGkgPCBtcF9pcnFfZW50cmllczsgaSsrKSB7Ci0JCWludCBsYnVzID0gbXBfaXJxc1tpXS5tcGNfc3JjYnVzOworCQlpbnQgbGJ1cyA9IG1wX2lycXNbaV0ubXBfc3JjYnVzOwogCiAJCWlmICh0ZXN0X2JpdChsYnVzLCBtcF9idXNfbm90X3BjaSkgJiYKLQkJICAgIChtcF9pcnFzW2ldLm1wY19pcnF0eXBlID09IHR5cGUpICYmCi0JCSAgICAobXBfaXJxc1tpXS5tcGNfc3JjYnVzaXJxID09IGlycSkpCisJCSAgICAobXBfaXJxc1tpXS5tcF9pcnF0eXBlID09IHR5cGUpICYmCisJCSAgICAobXBfaXJxc1tpXS5tcF9zcmNidXNpcnEgPT0gaXJxKSkKIAkJCWJyZWFrOwogCX0KIAlpZiAoaSA8IG1wX2lycV9lbnRyaWVzKSB7CiAJCWludCBhcGljOwogCQlmb3IoYXBpYyA9IDA7IGFwaWMgPCBucl9pb2FwaWNzOyBhcGljKyspIHsKLQkJCWlmIChtcF9pb2FwaWNzW2FwaWNdLm1wY19hcGljaWQgPT0gbXBfaXJxc1tpXS5tcGNfZHN0YXBpYykKKwkJCWlmIChtcF9pb2FwaWNzW2FwaWNdLm1wX2FwaWNpZCA9PSBtcF9pcnFzW2ldLm1wX2RzdGFwaWMpCiAJCQkJcmV0dXJuIGFwaWM7CiAJCX0KIAl9CkBAIC01MTYsMjggKzUyOSwyOCBAQAogCiAJYXBpY19wcmludGsoQVBJQ19ERUJVRywgInF1ZXJ5aW5nIFBDSSAtPiBJUlEgbWFwcGluZyBidXM6JWQsIHNsb3Q6JWQsIHBpbjolZC5cbiIsCiAJCWJ1cywgc2xvdCwgcGluKTsKLQlpZiAobXBfYnVzX2lkX3RvX3BjaV9idXNbYnVzXSA9PSAtMSkgeworCWlmICh0ZXN0X2JpdChidXMsIG1wX2J1c19ub3RfcGNpKSkgewogCQlhcGljX3ByaW50ayhBUElDX1ZFUkJPU0UsICJQQ0kgQklPUyBwYXNzZWQgbm9uZXhpc3RlbnQgUENJIGJ1cyAlZCFcbiIsIGJ1cyk7CiAJCXJldHVybiAtMTsKIAl9CiAJZm9yIChpID0gMDsgaSA8IG1wX2lycV9lbnRyaWVzOyBpKyspIHsKLQkJaW50IGxidXMgPSBtcF9pcnFzW2ldLm1wY19zcmNidXM7CisJCWludCBsYnVzID0gbXBfaXJxc1tpXS5tcF9zcmNidXM7CiAKIAkJZm9yIChhcGljID0gMDsgYXBpYyA8IG5yX2lvYXBpY3M7IGFwaWMrKykKLQkJCWlmIChtcF9pb2FwaWNzW2FwaWNdLm1wY19hcGljaWQgPT0gbXBfaXJxc1tpXS5tcGNfZHN0YXBpYyB8fAotCQkJICAgIG1wX2lycXNbaV0ubXBjX2RzdGFwaWMgPT0gTVBfQVBJQ19BTEwpCisJCQlpZiAobXBfaW9hcGljc1thcGljXS5tcF9hcGljaWQgPT0gbXBfaXJxc1tpXS5tcF9kc3RhcGljIHx8CisJCQkgICAgbXBfaXJxc1tpXS5tcF9kc3RhcGljID09IE1QX0FQSUNfQUxMKQogCQkJCWJyZWFrOwogCiAJCWlmICghdGVzdF9iaXQobGJ1cywgbXBfYnVzX25vdF9wY2kpICYmCi0JCSAgICAhbXBfaXJxc1tpXS5tcGNfaXJxdHlwZSAmJgorCQkgICAgIW1wX2lycXNbaV0ubXBfaXJxdHlwZSAmJgogCQkgICAgKGJ1cyA9PSBsYnVzKSAmJgotCQkgICAgKHNsb3QgPT0gKChtcF9pcnFzW2ldLm1wY19zcmNidXNpcnEgPj4gMikgJiAweDFmKSkpIHsKLQkJCWludCBpcnEgPSBwaW5fMl9pcnEoaSxhcGljLG1wX2lycXNbaV0ubXBjX2RzdGlycSk7CisJCSAgICAoc2xvdCA9PSAoKG1wX2lycXNbaV0ubXBfc3JjYnVzaXJxID4+IDIpICYgMHgxZikpKSB7CisJCQlpbnQgaXJxID0gcGluXzJfaXJxKGksYXBpYyxtcF9pcnFzW2ldLm1wX2RzdGlycSk7CiAKIAkJCWlmICghKGFwaWMgfHwgSU9fQVBJQ19JUlEoaXJxKSkpCiAJCQkJY29udGludWU7CiAKLQkJCWlmIChwaW4gPT0gKG1wX2lycXNbaV0ubXBjX3NyY2J1c2lycSAmIDMpKQorCQkJaWYgKHBpbiA9PSAobXBfaXJxc1tpXS5tcF9zcmNidXNpcnEgJiAzKSkKIAkJCQlyZXR1cm4gaXJxOwogCQkJLyoKIAkJCSAqIFVzZSB0aGUgZmlyc3QgYWxsLWJ1dC1waW4gbWF0Y2hpbmcgZW50cnkgYXMgYQpAQCAtNTY1LDEzICs1NzgsMTMgQEAKIAogc3RhdGljIGludCBNUEJJT1NfcG9sYXJpdHkoaW50IGlkeCkKIHsKLQlpbnQgYnVzID0gbXBfaXJxc1tpZHhdLm1wY19zcmNidXM7CisJaW50IGJ1cyA9IG1wX2lycXNbaWR4XS5tcF9zcmNidXM7CiAJaW50IHBvbGFyaXR5OwogCiAJLyoKIAkgKiBEZXRlcm1pbmUgSVJRIGxpbmUgcG9sYXJpdHkgKGhpZ2ggYWN0aXZlIG9yIGxvdyBhY3RpdmUpOgogCSAqLwotCXN3aXRjaCAobXBfaXJxc1tpZHhdLm1wY19pcnFmbGFnICYgMykKKwlzd2l0Y2ggKG1wX2lycXNbaWR4XS5tcF9pcnFmbGFnICYgMykKIAl7CiAJCWNhc2UgMDogLyogY29uZm9ybXMsIGllLiBidXMtdHlwZSBkZXBlbmRlbnQgcG9sYXJpdHkgKi8KIAkJCWlmICh0ZXN0X2JpdChidXMsIG1wX2J1c19ub3RfcGNpKSkKQEAgLTYwNywxMyArNjIwLDEzIEBACiAKIHN0YXRpYyBpbnQgTVBCSU9TX3RyaWdnZXIoaW50IGlkeCkKIHsKLQlpbnQgYnVzID0gbXBfaXJxc1tpZHhdLm1wY19zcmNidXM7CisJaW50IGJ1cyA9IG1wX2lycXNbaWR4XS5tcF9zcmNidXM7CiAJaW50IHRyaWdnZXI7CiAKIAkvKgogCSAqIERldGVybWluZSBJUlEgdHJpZ2dlciBtb2RlIChlZGdlIG9yIGxldmVsIHNlbnNpdGl2ZSk6CiAJICovCi0Jc3dpdGNoICgobXBfaXJxc1tpZHhdLm1wY19pcnFmbGFnPj4yKSAmIDMpCisJc3dpdGNoICgobXBfaXJxc1tpZHhdLm1wX2lycWZsYWc+PjIpICYgMykKIAl7CiAJCWNhc2UgMDogLyogY29uZm9ybXMsIGllLiBidXMtdHlwZSBkZXBlbmRlbnQgKi8KIAkJCWlmICh0ZXN0X2JpdChidXMsIG1wX2J1c19ub3RfcGNpKSkKQEAgLTY2MCwxNiArNjczLDE2IEBACiBzdGF0aWMgaW50IHBpbl8yX2lycShpbnQgaWR4LCBpbnQgYXBpYywgaW50IHBpbikKIHsKIAlpbnQgaXJxLCBpOwotCWludCBidXMgPSBtcF9pcnFzW2lkeF0ubXBjX3NyY2J1czsKKwlpbnQgYnVzID0gbXBfaXJxc1tpZHhdLm1wX3NyY2J1czsKIAogCS8qCiAJICogRGVidWdnaW5nIGNoZWNrLCB3ZSBhcmUgaW4gYmlnIHRyb3VibGUgaWYgdGhpcyBtZXNzYWdlIHBvcHMgdXAhCiAJICovCi0JaWYgKG1wX2lycXNbaWR4XS5tcGNfZHN0aXJxICE9IHBpbikKKwlpZiAobXBfaXJxc1tpZHhdLm1wX2RzdGlycSAhPSBwaW4pCiAJCXByaW50ayhLRVJOX0VSUiAiYnJva2VuIEJJT1Mgb3IgTVBUQUJMRSBwYXJzZXIsIGF5aWVlISFcbiIpOwogCiAJaWYgKHRlc3RfYml0KGJ1cywgbXBfYnVzX25vdF9wY2kpKSB7Ci0JCWlycSA9IG1wX2lycXNbaWR4XS5tcGNfc3JjYnVzaXJxOworCQlpcnEgPSBtcF9pcnFzW2lkeF0ubXBfc3JjYnVzaXJxOwogCX0gZWxzZSB7CiAJCS8qCiAJCSAqIFBDSSBJUlFzIGFyZSBtYXBwZWQgaW4gb3JkZXIKQEAgLTczMCw3ICs3NDMsNyBAQAogCQlvZmZzZXQgPSBjdXJyZW50X29mZnNldDsKIG5leHQ6CiAJCXZlY3RvciArPSA4OwotCQlpZiAodmVjdG9yID49IEZJUlNUX1NZU1RFTV9WRUNUT1IpIHsKKwkJaWYgKHZlY3RvciA+PSBmaXJzdF9zeXN0ZW1fdmVjdG9yKSB7CiAJCQkvKiBJZiB3ZSBydW4gb3V0IG9mIHZlY3RvcnMgb24gbGFyZ2UgYm94ZW4sIG11c3Qgc2hhcmUgdGhlbS4gKi8KIAkJCW9mZnNldCA9IChvZmZzZXQgKyAxKSAlIDg7CiAJCQl2ZWN0b3IgPSBGSVJTVF9ERVZJQ0VfVkVDVE9SICsgb2Zmc2V0OwpAQCAtNzg4LDcgKzgwMSw3IEBACiAJY3B1c19jbGVhcihjZmctPmRvbWFpbik7CiB9CiAKLXZvaWQgX19zZXR1cF92ZWN0b3JfaXJxKGludCBjcHUpCitzdGF0aWMgdm9pZCBfX3NldHVwX3ZlY3Rvcl9pcnEoaW50IGNwdSkKIHsKIAkvKiBJbml0aWFsaXplIHZlY3Rvcl9pcnEgb24gYSBuZXcgY3B1ICovCiAJLyogVGhpcyBmdW5jdGlvbiBtdXN0IGJlIGNhbGxlZCB3aXRoIHZlY3Rvcl9sb2NrIGhlbGQgKi8KQEAgLTgxMSw2ICs4MjQsMTMgQEAKIAl9CiB9CiAKK3ZvaWQgc2V0dXBfdmVjdG9yX2lycShpbnQgY3B1KQoreworCXNwaW5fbG9jaygmdmVjdG9yX2xvY2spOworCV9fc2V0dXBfdmVjdG9yX2lycShzbXBfcHJvY2Vzc29yX2lkKCkpOworCXNwaW5fdW5sb2NrKCZ2ZWN0b3JfbG9jayk7Cit9CisKIAogc3RhdGljIHN0cnVjdCBpcnFfY2hpcCBpb2FwaWNfY2hpcDsKIApAQCAtODQ2LDcgKzg2Niw3IEBACiAJYXBpY19wcmludGsoQVBJQ19WRVJCT1NFLEtFUk5fREVCVUcKIAkJICAgICJJT0FQSUNbJWRdOiBTZXQgcm91dGluZyBlbnRyeSAoJWQtJWQgLT4gMHgleCAtPiAiCiAJCSAgICAiSVJRICVkIE1vZGU6JWkgQWN0aXZlOiVpKVxuIiwKLQkJICAgIGFwaWMsIG1wX2lvYXBpY3NbYXBpY10ubXBjX2FwaWNpZCwgcGluLCBjZmctPnZlY3RvciwKKwkJICAgIGFwaWMsIG1wX2lvYXBpY3NbYXBpY10ubXBfYXBpY2lkLCBwaW4sIGNmZy0+dmVjdG9yLAogCQkgICAgaXJxLCB0cmlnZ2VyLCBwb2xhcml0eSk7CiAKIAkvKgpAQCAtODg3LDEwICs5MDcsMTAgQEAKIAkJaWR4ID0gZmluZF9pcnFfZW50cnkoYXBpYyxwaW4sbXBfSU5UKTsKIAkJaWYgKGlkeCA9PSAtMSkgewogCQkJaWYgKGZpcnN0X25vdGNvbikgewotCQkJCWFwaWNfcHJpbnRrKEFQSUNfVkVSQk9TRSwgS0VSTl9ERUJVRyAiIElPLUFQSUMgKGFwaWNpZC1waW4pICVkLSVkIiwgbXBfaW9hcGljc1thcGljXS5tcGNfYXBpY2lkLCBwaW4pOworCQkJCWFwaWNfcHJpbnRrKEFQSUNfVkVSQk9TRSwgS0VSTl9ERUJVRyAiIElPLUFQSUMgKGFwaWNpZC1waW4pICVkLSVkIiwgbXBfaW9hcGljc1thcGljXS5tcF9hcGljaWQsIHBpbik7CiAJCQkJZmlyc3Rfbm90Y29uID0gMDsKIAkJCX0gZWxzZQotCQkJCWFwaWNfcHJpbnRrKEFQSUNfVkVSQk9TRSwgIiwgJWQtJWQiLCBtcF9pb2FwaWNzW2FwaWNdLm1wY19hcGljaWQsIHBpbik7CisJCQkJYXBpY19wcmludGsoQVBJQ19WRVJCT1NFLCAiLCAlZC0lZCIsIG1wX2lvYXBpY3NbYXBpY10ubXBfYXBpY2lkLCBwaW4pOwogCQkJY29udGludWU7CiAJCX0KIAkJaWYgKCFmaXJzdF9ub3Rjb24pIHsKQEAgLTkxMSwyNiArOTMxLDIxIEBACiB9CiAKIC8qCi0gKiBTZXQgdXAgdGhlIDgyNTlBLW1hc3RlciBvdXRwdXQgcGluIGFzIGJyb2FkY2FzdCB0byBhbGwKLSAqIENQVXMuCisgKiBTZXQgdXAgdGhlIHRpbWVyIHBpbiwgcG9zc2libHkgd2l0aCB0aGUgODI1OUEtbWFzdGVyIGJlaGluZC4KICAqLwotc3RhdGljIHZvaWQgX19pbml0IHNldHVwX0V4dElOVF9JUlEwX3Bpbih1bnNpZ25lZCBpbnQgYXBpYywgdW5zaWduZWQgaW50IHBpbiwgaW50IHZlY3RvcikKK3N0YXRpYyB2b2lkIF9faW5pdCBzZXR1cF90aW1lcl9JUlEwX3Bpbih1bnNpZ25lZCBpbnQgYXBpYywgdW5zaWduZWQgaW50IHBpbiwKKwkJCQkJaW50IHZlY3RvcikKIHsKIAlzdHJ1Y3QgSU9fQVBJQ19yb3V0ZV9lbnRyeSBlbnRyeTsKIAogCW1lbXNldCgmZW50cnksIDAsIHNpemVvZihlbnRyeSkpOwogCi0JZGlzYWJsZV84MjU5QV9pcnEoMCk7Ci0KLQkvKiBtYXNrIExWVDAgKi8KLQlhcGljX3dyaXRlKEFQSUNfTFZUMCwgQVBJQ19MVlRfTUFTS0VEIHwgQVBJQ19ETV9FWFRJTlQpOwotCiAJLyoKIAkgKiBXZSB1c2UgbG9naWNhbCBkZWxpdmVyeSB0byBnZXQgdGhlIHRpbWVyIElSUQogCSAqIHRvIHRoZSBmaXJzdCBDUFUuCiAJICovCiAJZW50cnkuZGVzdF9tb2RlID0gSU5UX0RFU1RfTU9ERTsKLQllbnRyeS5tYXNrID0gMDsJCQkJCS8qIHVubWFzayBJUlEgbm93ICovCisJZW50cnkubWFzayA9IDE7CQkJCQkvKiBtYXNrIElSUSBub3cgKi8KIAllbnRyeS5kZXN0ID0gY3B1X21hc2tfdG9fYXBpY2lkKFRBUkdFVF9DUFVTKTsKIAllbnRyeS5kZWxpdmVyeV9tb2RlID0gSU5UX0RFTElWRVJZX01PREU7CiAJZW50cnkucG9sYXJpdHkgPSAwOwpAQCAtOTM5LDcgKzk1NCw3IEBACiAKIAkvKgogCSAqIFRoZSB0aW1lciBJUlEgZG9lc24ndCBoYXZlIHRvIGtub3cgdGhhdCBiZWhpbmQgdGhlCi0JICogc2NlbmUgd2UgaGF2ZSBhIDgyNTlBLW1hc3RlciBpbiBBRU9JIG1vZGUgLi4uCisJICogc2NlbmUgd2UgbWF5IGhhdmUgYSA4MjU5QS1tYXN0ZXIgaW4gQUVPSSBtb2RlIC4uLgogCSAqLwogCXNldF9pcnFfY2hpcF9hbmRfaGFuZGxlcl9uYW1lKDAsICZpb2FwaWNfY2hpcCwgaGFuZGxlX2VkZ2VfaXJxLCAiZWRnZSIpOwogCkBAIC05NDcsOCArOTYyLDYgQEAKIAkgKiBBZGQgaXQgdG8gdGhlIElPLUFQSUMgaXJxLXJvdXRpbmcgdGFibGU6CiAJICovCiAJaW9hcGljX3dyaXRlX2VudHJ5KGFwaWMsIHBpbiwgZW50cnkpOwotCi0JZW5hYmxlXzgyNTlBX2lycSgwKTsKIH0KIAogdm9pZCBfX2FwaWNkZWJ1Z2luaXQgcHJpbnRfSU9fQVBJQyh2b2lkKQpAQCAtOTY1LDcgKzk3OCw3IEBACiAJcHJpbnRrKEtFUk5fREVCVUcgIm51bWJlciBvZiBNUCBJUlEgc291cmNlczogJWQuXG4iLCBtcF9pcnFfZW50cmllcyk7CiAJZm9yIChpID0gMDsgaSA8IG5yX2lvYXBpY3M7IGkrKykKIAkJcHJpbnRrKEtFUk5fREVCVUcgIm51bWJlciBvZiBJTy1BUElDICMlZCByZWdpc3RlcnM6ICVkLlxuIiwKLQkJICAgICAgIG1wX2lvYXBpY3NbaV0ubXBjX2FwaWNpZCwgbnJfaW9hcGljX3JlZ2lzdGVyc1tpXSk7CisJCSAgICAgICBtcF9pb2FwaWNzW2ldLm1wX2FwaWNpZCwgbnJfaW9hcGljX3JlZ2lzdGVyc1tpXSk7CiAKIAkvKgogCSAqIFdlIGFyZSBhIGJpdCBjb25zZXJ2YXRpdmUgYWJvdXQgd2hhdCB3ZSBleHBlY3QuICBXZSBoYXZlIHRvCkBAIC05ODMsNyArOTk2LDcgQEAKIAlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZpb2FwaWNfbG9jaywgZmxhZ3MpOwogCiAJcHJpbnRrKCJcbiIpOwotCXByaW50ayhLRVJOX0RFQlVHICJJTyBBUElDICMlZC4uLi4uLlxuIiwgbXBfaW9hcGljc1thcGljXS5tcGNfYXBpY2lkKTsKKwlwcmludGsoS0VSTl9ERUJVRyAiSU8gQVBJQyAjJWQuLi4uLi5cbiIsIG1wX2lvYXBpY3NbYXBpY10ubXBfYXBpY2lkKTsKIAlwcmludGsoS0VSTl9ERUJVRyAiLi4uLiByZWdpc3RlciAjMDA6ICUwOFhcbiIsIHJlZ18wMC5yYXcpOwogCXByaW50ayhLRVJOX0RFQlVHICIuLi4uLi4uICAgIDogcGh5c2ljYWwgQVBJQyBpZDogJTAyWFxuIiwgcmVnXzAwLmJpdHMuSUQpOwogCkBAIC0xMDc3LDYgKzEwOTAsNyBAQAogCiAJcHJpbnRrKCJcbiIgS0VSTl9ERUJVRyAicHJpbnRpbmcgbG9jYWwgQVBJQyBjb250ZW50cyBvbiBDUFUjJWQvJWQ6XG4iLAogCQlzbXBfcHJvY2Vzc29yX2lkKCksIGhhcmRfc21wX3Byb2Nlc3Nvcl9pZCgpKTsKKwl2ID0gYXBpY19yZWFkKEFQSUNfSUQpOwogCXByaW50ayhLRVJOX0lORk8gIi4uLiBBUElDIElEOiAgICAgICUwOHggKCUwMXgpXG4iLCB2LCBHRVRfQVBJQ19JRChyZWFkX2FwaWNfaWQoKSkpOwogCXYgPSBhcGljX3JlYWQoQVBJQ19MVlIpOwogCXByaW50ayhLRVJOX0lORk8gIi4uLiBBUElDIFZFUlNJT046ICUwOHhcbiIsIHYpOwpAQCAtMTU0MCw3ICsxNTU0LDcgQEAKIAl9CiB9CiAKLXN0YXRpYyB2b2lkIGVuYWJsZV9sYXBpY19pcnEgKHVuc2lnbmVkIGludCBpcnEpCitzdGF0aWMgdm9pZCB1bm1hc2tfbGFwaWNfaXJxKHVuc2lnbmVkIGludCBpcnEpCiB7CiAJdW5zaWduZWQgbG9uZyB2OwogCkBAIC0xNTQ4LDcgKzE1NjIsNyBAQAogCWFwaWNfd3JpdGUoQVBJQ19MVlQwLCB2ICYgfkFQSUNfTFZUX01BU0tFRCk7CiB9CiAKLXN0YXRpYyB2b2lkIGRpc2FibGVfbGFwaWNfaXJxICh1bnNpZ25lZCBpbnQgaXJxKQorc3RhdGljIHZvaWQgbWFza19sYXBpY19pcnEodW5zaWduZWQgaW50IGlycSkKIHsKIAl1bnNpZ25lZCBsb25nIHY7CiAKQEAgLTE1NjEsMTkgKzE1NzUsMjAgQEAKIAlhY2tfQVBJQ19pcnEoKTsKIH0KIAotc3RhdGljIHZvaWQgZW5kX2xhcGljX2lycSAodW5zaWduZWQgaW50IGkpIHsgLyogbm90aGluZyAqLyB9Ci0KLXN0YXRpYyBzdHJ1Y3QgaHdfaW50ZXJydXB0X3R5cGUgbGFwaWNfaXJxX3R5cGUgX19yZWFkX21vc3RseSA9IHsKLQkubmFtZSA9ICJsb2NhbC1BUElDIiwKLQkudHlwZW5hbWUgPSAibG9jYWwtQVBJQy1lZGdlIiwKLQkuc3RhcnR1cCA9IE5VTEwsIC8qIHN0YXJ0dXBfaXJxKCkgbm90IHVzZWQgZm9yIElSUTAgKi8KLQkuc2h1dGRvd24gPSBOVUxMLCAvKiBzaHV0ZG93bl9pcnEoKSBub3QgdXNlZCBmb3IgSVJRMCAqLwotCS5lbmFibGUgPSBlbmFibGVfbGFwaWNfaXJxLAotCS5kaXNhYmxlID0gZGlzYWJsZV9sYXBpY19pcnEsCi0JLmFjayA9IGFja19sYXBpY19pcnEsCi0JLmVuZCA9IGVuZF9sYXBpY19pcnEsCitzdGF0aWMgc3RydWN0IGlycV9jaGlwIGxhcGljX2NoaXAgX19yZWFkX21vc3RseSA9IHsKKwkubmFtZQkJPSAibG9jYWwtQVBJQyIsCisJLm1hc2sJCT0gbWFza19sYXBpY19pcnEsCisJLnVubWFzawkJPSB1bm1hc2tfbGFwaWNfaXJxLAorCS5hY2sJCT0gYWNrX2xhcGljX2lycSwKIH07CiAKK3N0YXRpYyB2b2lkIGxhcGljX3JlZ2lzdGVyX2ludHIoaW50IGlycSkKK3sKKwlpcnFfZGVzY1tpcnFdLnN0YXR1cyAmPSB+SVJRX0xFVkVMOworCXNldF9pcnFfY2hpcF9hbmRfaGFuZGxlcl9uYW1lKGlycSwgJmxhcGljX2NoaXAsIGhhbmRsZV9lZGdlX2lycSwKKwkJCQkgICAgICAiZWRnZSIpOworfQorCiBzdGF0aWMgdm9pZCBfX2luaXQgc2V0dXBfbm1pKHZvaWQpCiB7CiAJLyoKQEAgLTE2NTksNiArMTY3NCw3IEBACiAJc3RydWN0IGlycV9jZmcgKmNmZyA9IGlycV9jZmcgKyAwOwogCWludCBhcGljMSwgcGluMSwgYXBpYzIsIHBpbjI7CiAJdW5zaWduZWQgbG9uZyBmbGFnczsKKwlpbnQgbm9fcGluMSA9IDA7CiAKIAlsb2NhbF9pcnFfc2F2ZShmbGFncyk7CiAKQEAgLTE2NjksMTYgKzE2ODUsMTEgQEAKIAlhc3NpZ25faXJxX3ZlY3RvcigwLCBUQVJHRVRfQ1BVUyk7CiAKIAkvKgotCSAqIFN1YnRsZSwgY29kZSBpbiBkb190aW1lcl9pbnRlcnJ1cHQoKSBleHBlY3RzIGFuIEFFT0kKLQkgKiBtb2RlIGZvciB0aGUgODI1OUEgd2hlbmV2ZXIgaW50ZXJydXB0cyBhcmUgcm91dGVkCi0JICogdGhyb3VnaCBJL08gQVBJQ3MuICBBbHNvIElSUTAgaGFzIHRvIGJlIGVuYWJsZWQgaW4KLQkgKiB0aGUgODI1OUEgd2hpY2ggaW1wbGllcyB0aGUgdmlydHVhbCB3aXJlIGhhcyB0byBiZQotCSAqIGRpc2FibGVkIGluIHRoZSBsb2NhbCBBUElDLgorCSAqIEFzIElSUTAgaXMgdG8gYmUgZW5hYmxlZCBpbiB0aGUgODI1OUEsIHRoZSB2aXJ0dWFsCisJICogd2lyZSBoYXMgdG8gYmUgZGlzYWJsZWQgaW4gdGhlIGxvY2FsIEFQSUMuCiAJICovCiAJYXBpY193cml0ZShBUElDX0xWVDAsIEFQSUNfTFZUX01BU0tFRCB8IEFQSUNfRE1fRVhUSU5UKTsKIAlpbml0XzgyNTlBKDEpOwotCWlmICh0aW1lcl9vdmVyXzgyNTQgPiAwKQotCQllbmFibGVfODI1OUFfaXJxKDApOwogCiAJcGluMSAgPSBmaW5kX2lzYV9pcnFfcGluKDAsIG1wX0lOVCk7CiAJYXBpYzEgPSBmaW5kX2lzYV9pcnFfYXBpYygwLCBtcF9JTlQpOwpAQCAtMTY4OCwxNSArMTY5OSwzMyBAQAogCWFwaWNfcHJpbnRrKEFQSUNfVkVSQk9TRSxLRVJOX0lORk8gIi4uVElNRVI6IHZlY3Rvcj0weCUwMlggYXBpYzE9JWQgcGluMT0lZCBhcGljMj0lZCBwaW4yPSVkXG4iLAogCQljZmctPnZlY3RvciwgYXBpYzEsIHBpbjEsIGFwaWMyLCBwaW4yKTsKIAorCS8qCisJICogU29tZSBCSU9TIHdyaXRlcnMgYXJlIGNsdWVsZXNzIGFuZCByZXBvcnQgdGhlIEV4dElOVEEKKwkgKiBJL08gQVBJQyBpbnB1dCBmcm9tIHRoZSBjYXNjYWRlZCA4MjU5QSBhcyB0aGUgdGltZXIKKwkgKiBpbnRlcnJ1cHQgaW5wdXQuICBTbyBqdXN0IGluIGNhc2UsIGlmIG9ubHkgb25lIHBpbgorCSAqIHdhcyBmb3VuZCBhYm92ZSwgdHJ5IGl0IGJvdGggZGlyZWN0bHkgYW5kIHRocm91Z2ggdGhlCisJICogODI1OUEuCisJICovCisJaWYgKHBpbjEgPT0gLTEpIHsKKwkJcGluMSA9IHBpbjI7CisJCWFwaWMxID0gYXBpYzI7CisJCW5vX3BpbjEgPSAxOworCX0gZWxzZSBpZiAocGluMiA9PSAtMSkgeworCQlwaW4yID0gcGluMTsKKwkJYXBpYzIgPSBhcGljMTsKKwl9CisKIAlpZiAocGluMSAhPSAtMSkgewogCQkvKgogCQkgKiBPaywgZG9lcyBJUlEwIHRocm91Z2ggdGhlIElPQVBJQyB3b3JrPwogCQkgKi8KKwkJaWYgKG5vX3BpbjEpIHsKKwkJCWFkZF9waW5fdG9faXJxKDAsIGFwaWMxLCBwaW4xKTsKKwkJCXNldHVwX3RpbWVyX0lSUTBfcGluKGFwaWMxLCBwaW4xLCBjZmctPnZlY3Rvcik7CisJCX0KIAkJdW5tYXNrX0lPX0FQSUNfaXJxKDApOwogCQlpZiAoIW5vX3RpbWVyX2NoZWNrICYmIHRpbWVyX2lycV93b3JrcygpKSB7Ci0JCQlubWlfd2F0Y2hkb2dfZGVmYXVsdCgpOwogCQkJaWYgKG5taV93YXRjaGRvZyA9PSBOTUlfSU9fQVBJQykgewotCQkJCWRpc2FibGVfODI1OUFfaXJxKDApOwogCQkJCXNldHVwX25taSgpOwogCQkJCWVuYWJsZV84MjU5QV9pcnEoMCk7CiAJCQl9CkBAIC0xNzA1LDQzICsxNzM0LDQ4IEBACiAJCQlnb3RvIG91dDsKIAkJfQogCQljbGVhcl9JT19BUElDX3BpbihhcGljMSwgcGluMSk7Ci0JCWFwaWNfcHJpbnRrKEFQSUNfUVVJRVQsS0VSTl9FUlIgIi4uTVAtQklPUyBidWc6IDgyNTQgdGltZXIgbm90ICIKLQkJCQkiY29ubmVjdGVkIHRvIElPLUFQSUNcbiIpOwotCX0KKwkJaWYgKCFub19waW4xKQorCQkJYXBpY19wcmludGsoQVBJQ19RVUlFVCxLRVJOX0VSUiAiLi5NUC1CSU9TIGJ1ZzogIgorCQkJCSAgICAiODI1NCB0aW1lciBub3QgY29ubmVjdGVkIHRvIElPLUFQSUNcbiIpOwogCi0JYXBpY19wcmludGsoQVBJQ19WRVJCT1NFLEtFUk5fSU5GTyAiLi4udHJ5aW5nIHRvIHNldCB1cCB0aW1lciAoSVJRMCkgIgotCQkJCSJ0aHJvdWdoIHRoZSA4MjU5QSAuLi4gIik7Ci0JaWYgKHBpbjIgIT0gLTEpIHsKKwkJYXBpY19wcmludGsoQVBJQ19WRVJCT1NFLEtFUk5fSU5GTworCQkJIi4uLnRyeWluZyB0byBzZXQgdXAgdGltZXIgKElSUTApICIKKwkJCSJ0aHJvdWdoIHRoZSA4MjU5QSAuLi4gIik7CiAJCWFwaWNfcHJpbnRrKEFQSUNfVkVSQk9TRSwiXG4uLi4uLiAoZm91bmQgYXBpYyAlZCBwaW4gJWQpIC4uLiIsCiAJCQlhcGljMiwgcGluMik7CiAJCS8qCiAJCSAqIGxlZ2FjeSBkZXZpY2VzIHNob3VsZCBiZSBjb25uZWN0ZWQgdG8gSU8gQVBJQyAjMAogCQkgKi8KLQkJc2V0dXBfRXh0SU5UX0lSUTBfcGluKGFwaWMyLCBwaW4yLCBjZmctPnZlY3Rvcik7CisJCXJlcGxhY2VfcGluX2F0X2lycSgwLCBhcGljMSwgcGluMSwgYXBpYzIsIHBpbjIpOworCQlzZXR1cF90aW1lcl9JUlEwX3BpbihhcGljMiwgcGluMiwgY2ZnLT52ZWN0b3IpOworCQl1bm1hc2tfSU9fQVBJQ19pcnEoMCk7CisJCWVuYWJsZV84MjU5QV9pcnEoMCk7CiAJCWlmICh0aW1lcl9pcnFfd29ya3MoKSkgewogCQkJYXBpY19wcmludGsoQVBJQ19WRVJCT1NFLCIgd29ya3MuXG4iKTsKLQkJCW5taV93YXRjaGRvZ19kZWZhdWx0KCk7CisJCQl0aW1lcl90aHJvdWdoXzgyNTkgPSAxOwogCQkJaWYgKG5taV93YXRjaGRvZyA9PSBOTUlfSU9fQVBJQykgeworCQkJCWRpc2FibGVfODI1OUFfaXJxKDApOwogCQkJCXNldHVwX25taSgpOworCQkJCWVuYWJsZV84MjU5QV9pcnEoMCk7CiAJCQl9CiAJCQlnb3RvIG91dDsKIAkJfQogCQkvKgogCQkgKiBDbGVhbnVwLCBqdXN0IGluIGNhc2UgLi4uCiAJCSAqLworCQlkaXNhYmxlXzgyNTlBX2lycSgwKTsKIAkJY2xlYXJfSU9fQVBJQ19waW4oYXBpYzIsIHBpbjIpOworCQlhcGljX3ByaW50ayhBUElDX1ZFUkJPU0UsIiBmYWlsZWQuXG4iKTsKIAl9Ci0JYXBpY19wcmludGsoQVBJQ19WRVJCT1NFLCIgZmFpbGVkLlxuIik7CiAKIAlpZiAobm1pX3dhdGNoZG9nID09IE5NSV9JT19BUElDKSB7CiAJCXByaW50ayhLRVJOX1dBUk5JTkcgInRpbWVyIGRvZXNuJ3Qgd29yayB0aHJvdWdoIHRoZSBJTy1BUElDIC0gZGlzYWJsaW5nIE5NSSBXYXRjaGRvZyFcbiIpOwotCQlubWlfd2F0Y2hkb2cgPSAwOworCQlubWlfd2F0Y2hkb2cgPSBOTUlfTk9ORTsKIAl9CiAKIAlhcGljX3ByaW50ayhBUElDX1ZFUkJPU0UsIEtFUk5fSU5GTyAiLi4udHJ5aW5nIHRvIHNldCB1cCB0aW1lciBhcyBWaXJ0dWFsIFdpcmUgSVJRLi4uIik7CiAKLQlkaXNhYmxlXzgyNTlBX2lycSgwKTsKLQlpcnFfZGVzY1swXS5jaGlwID0gJmxhcGljX2lycV90eXBlOworCWxhcGljX3JlZ2lzdGVyX2ludHIoMCk7CiAJYXBpY193cml0ZShBUElDX0xWVDAsIEFQSUNfRE1fRklYRUQgfCBjZmctPnZlY3Rvcik7CS8qIEZpeGVkIG1vZGUgKi8KIAllbmFibGVfODI1OUFfaXJxKDApOwogCkBAIC0xNzQ5LDYgKzE3ODMsNyBAQAogCQlhcGljX3ByaW50ayhBUElDX1ZFUkJPU0UsIiB3b3Jrcy5cbiIpOwogCQlnb3RvIG91dDsKIAl9CisJZGlzYWJsZV84MjU5QV9pcnEoMCk7CiAJYXBpY193cml0ZShBUElDX0xWVDAsIEFQSUNfTFZUX01BU0tFRCB8IEFQSUNfRE1fRklYRUQgfCBjZmctPnZlY3Rvcik7CiAJYXBpY19wcmludGsoQVBJQ19WRVJCT1NFLCIgZmFpbGVkLlxuIik7CiAKQEAgLTE3NzgsMTEgKzE4MTMsMjEgQEAKIF9fc2V0dXAoIm5vX3RpbWVyX2NoZWNrIiwgbm90aW1lcmNoZWNrKTsKIAogLyoKLSAqCi0gKiBJUlFzIHRoYXQgYXJlIGhhbmRsZWQgYnkgdGhlIFBJQyBpbiB0aGUgTVBTIElPQVBJQyBjYXNlLgotICogLSBJUlEyIGlzIHRoZSBjYXNjYWRlIElSUSwgYW5kIGNhbm5vdCBiZSBhIGlvLWFwaWMgSVJRLgotICogICBMaW51eCBkb2Vzbid0IHJlYWxseSBjYXJlLCBhcyBpdCdzIG5vdCBhY3R1YWxseSB1c2VkCi0gKiAgIGZvciBhbnkgaW50ZXJydXB0IGhhbmRsaW5nIGFueXdheS4KKyAqIFRyYWRpdGlvbmFsbHkgSVNBIElSUTIgaXMgdGhlIGNhc2NhZGUgSVJRLCBhbmQgaXMgbm90IGF2YWlsYWJsZQorICogdG8gZGV2aWNlcy4gIEhvd2V2ZXIgdGhlcmUgbWF5IGJlIGFuIEkvTyBBUElDIHBpbiBhdmFpbGFibGUgZm9yCisgKiB0aGlzIGludGVycnVwdCByZWdhcmRsZXNzLiAgVGhlIHBpbiBtYXkgYmUgbGVmdCB1bmNvbm5lY3RlZCwgYnV0CisgKiB0eXBpY2FsbHkgaXQgd2lsbCBiZSByZXVzZWQgYXMgYW4gRXh0SU5UIGNhc2NhZGUgaW50ZXJydXB0IGZvcgorICogdGhlIG1hc3RlciA4MjU5QS4gIEluIHRoZSBNUFMgY2FzZSBzdWNoIGEgcGluIHdpbGwgbm9ybWFsbHkgYmUKKyAqIHJlcG9ydGVkIGFzIGFuIEV4dElOVCBpbnRlcnJ1cHQgaW4gdGhlIE1QIHRhYmxlLiAgV2l0aCBBQ1BJCisgKiB0aGVyZSBpcyBubyBwcm92aXNpb24gZm9yIEV4dElOVCBpbnRlcnJ1cHRzLCBhbmQgaW4gdGhlIGFic2VuY2UKKyAqIG9mIGFuIG92ZXJyaWRlIGl0IHdvdWxkIGJlIHRyZWF0ZWQgYXMgYW4gb3JkaW5hcnkgSVNBIEkvTyBBUElDCisgKiBpbnRlcnJ1cHQsIHRoYXQgaXMgZWRnZS10cmlnZ2VyZWQgYW5kIHVubWFza2VkIGJ5IGRlZmF1bHQuICBXZQorICogdXNlZCB0byBkbyB0aGlzLCBidXQgaXQgY2F1c2VkIHByb2JsZW1zIG9uIHNvbWUgc3lzdGVtcyBiZWNhdXNlCisgKiBvZiB0aGUgTk1JIHdhdGNoZG9nIGFuZCBzb21ldGltZXMgSVJRMCBvZiB0aGUgODI1NCB0aW1lciB1c2luZworICogdGhlIHNhbWUgRXh0SU5UIGNhc2NhZGUgaW50ZXJydXB0IHRvIGRyaXZlIHRoZSBsb2NhbCBBUElDIG9mIHRoZQorICogYm9vdHN0cmFwIHByb2Nlc3Nvci4gIFRoZXJlZm9yZSB3ZSByZWZyYWluIGZyb20gcm91dGluZyBJUlEyIHRvCisgKiB0aGUgSS9PIEFQSUMgaW4gYWxsIGNhc2VzIG5vdy4gIE5vIGFjdHVhbCBkZXZpY2Ugc2hvdWxkIHJlcXVlc3QKKyAqIGl0IGFueXdheS4gIC0tbWFjcm8KICAqLwogI2RlZmluZSBQSUNfSVJRUwkoMTw8MikKIApAQCAtMTc5MywxMCArMTgzOCw3IEBACiAJICogY2FsbGluZyBlbmFibGVfSU9fQVBJQygpIGlzIG1vdmVkIHRvIHNldHVwX2xvY2FsX0FQSUMgZm9yIEJQCiAJICovCiAKLQlpZiAoYWNwaV9pb2FwaWMpCi0JCWlvX2FwaWNfaXJxcyA9IH4wOwkvKiBhbGwgSVJRcyBnbyB0aHJvdWdoIElPQVBJQyAqLwotCWVsc2UKLQkJaW9fYXBpY19pcnFzID0gflBJQ19JUlFTOworCWlvX2FwaWNfaXJxcyA9IH5QSUNfSVJRUzsKIAogCWFwaWNfcHJpbnRrKEFQSUNfVkVSQk9TRSwgIkVOQUJMSU5HIElPLUFQSUMgSVJRc1xuIik7CiAKQEAgLTE4NDEsOCArMTg4Myw4IEBACiAKIAlzcGluX2xvY2tfaXJxc2F2ZSgmaW9hcGljX2xvY2ssIGZsYWdzKTsKIAlyZWdfMDAucmF3ID0gaW9fYXBpY19yZWFkKGRldi0+aWQsIDApOwotCWlmIChyZWdfMDAuYml0cy5JRCAhPSBtcF9pb2FwaWNzW2Rldi0+aWRdLm1wY19hcGljaWQpIHsKLQkJcmVnXzAwLmJpdHMuSUQgPSBtcF9pb2FwaWNzW2Rldi0+aWRdLm1wY19hcGljaWQ7CisJaWYgKHJlZ18wMC5iaXRzLklEICE9IG1wX2lvYXBpY3NbZGV2LT5pZF0ubXBfYXBpY2lkKSB7CisJCXJlZ18wMC5iaXRzLklEID0gbXBfaW9hcGljc1tkZXYtPmlkXS5tcF9hcGljaWQ7CiAJCWlvX2FwaWNfd3JpdGUoZGV2LT5pZCwgMCwgcmVnXzAwLnJhdyk7CiAJfQogCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmlvYXBpY19sb2NrLCBmbGFncyk7CkBAIC0yMjQyLDggKzIyODQsOCBAQAogCQlyZXR1cm4gLTE7CiAKIAlmb3IgKGkgPSAwOyBpIDwgbXBfaXJxX2VudHJpZXM7IGkrKykKLQkJaWYgKG1wX2lycXNbaV0ubXBjX2lycXR5cGUgPT0gbXBfSU5UICYmCi0JCSAgICBtcF9pcnFzW2ldLm1wY19zcmNidXNpcnEgPT0gYnVzX2lycSkKKwkJaWYgKG1wX2lycXNbaV0ubXBfaXJxdHlwZSA9PSBtcF9JTlQgJiYKKwkJICAgIG1wX2lycXNbaV0ubXBfc3JjYnVzaXJxID09IGJ1c19pcnEpCiAJCQlicmVhazsKIAlpZiAoaSA+PSBtcF9pcnFfZW50cmllcykKIAkJcmV0dXJuIC0xOwpAQCAtMjMzNiw3ICsyMzc4LDcgQEAKIAlpb2FwaWNfcmVzID0gaW9hcGljX3NldHVwX3Jlc291cmNlcygpOwogCWZvciAoaSA9IDA7IGkgPCBucl9pb2FwaWNzOyBpKyspIHsKIAkJaWYgKHNtcF9mb3VuZF9jb25maWcpIHsKLQkJCWlvYXBpY19waHlzID0gbXBfaW9hcGljc1tpXS5tcGNfYXBpY2FkZHI7CisJCQlpb2FwaWNfcGh5cyA9IG1wX2lvYXBpY3NbaV0ubXBfYXBpY2FkZHI7CiAJCX0gZWxzZSB7CiAJCQlpb2FwaWNfcGh5cyA9ICh1bnNpZ25lZCBsb25nKQogCQkJCWFsbG9jX2Jvb3RtZW1fcGFnZXMoUEFHRV9TSVpFKTsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9pcGkuYyBiL2FyY2gveDg2L2tlcm5lbC9pcGkuYwppbmRleCBjMGRmN2I4Li45ZDk4Y2RhIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvaXBpLmMKKysrIGIvYXJjaC94ODYva2VybmVsL2lwaS5jCkBAIC04LDcgKzgsNiBAQAogI2luY2x1ZGUgPGxpbnV4L2tlcm5lbF9zdGF0Lmg+CiAjaW5jbHVkZSA8bGludXgvbWMxNDY4MThydGMuaD4KICNpbmNsdWRlIDxsaW51eC9jYWNoZS5oPgotI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgogI2luY2x1ZGUgPGxpbnV4L2NwdS5oPgogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvaXJxXzMyLmMgYi9hcmNoL3g4Ni9rZXJuZWwvaXJxXzMyLmMKaW5kZXggMTQ3MzUyZC4uNDdhNmY2ZiAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL2lycV8zMi5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9pcnFfMzIuYwpAQCAtNDgsNiArNDgsMjkgQEAKICNlbmRpZgogfQogCisjaWZkZWYgQ09ORklHX0RFQlVHX1NUQUNLT1ZFUkZMT1cKKy8qIERlYnVnZ2luZyBjaGVjayBmb3Igc3RhY2sgb3ZlcmZsb3c6IGlzIHRoZXJlIGxlc3MgdGhhbiAxS0IgZnJlZT8gKi8KK3N0YXRpYyBpbnQgY2hlY2tfc3RhY2tfb3ZlcmZsb3codm9pZCkKK3sKKwlsb25nIHNwOworCisJX19hc21fXyBfX3ZvbGF0aWxlX18oImFuZGwgJSVlc3AsJTAiIDoKKwkJCSAgICAgIj1yIiAoc3ApIDogIjAiIChUSFJFQURfU0laRSAtIDEpKTsKKworCXJldHVybiBzcCA8IChzaXplb2Yoc3RydWN0IHRocmVhZF9pbmZvKSArIFNUQUNLX1dBUk4pOworfQorCitzdGF0aWMgdm9pZCBwcmludF9zdGFja19vdmVyZmxvdyh2b2lkKQoreworCXByaW50ayhLRVJOX1dBUk5JTkcgImxvdyBzdGFjayBkZXRlY3RlZCBieSBpcnEgaGFuZGxlclxuIik7CisJZHVtcF9zdGFjaygpOworfQorCisjZWxzZQorc3RhdGljIGlubGluZSBpbnQgY2hlY2tfc3RhY2tfb3ZlcmZsb3codm9pZCkgeyByZXR1cm4gMDsgfQorc3RhdGljIGlubGluZSB2b2lkIHByaW50X3N0YWNrX292ZXJmbG93KHZvaWQpIHsgfQorI2VuZGlmCisKICNpZmRlZiBDT05GSUdfNEtTVEFDS1MKIC8qCiAgKiBwZXItQ1BVIElSUSBoYW5kbGluZyBjb250ZXh0cyAodGhyZWFkIGluZm9ybWF0aW9uIGFuZCBzdGFjaykKQEAgLTU5LDQ4ICs4MiwyOSBAQAogCiBzdGF0aWMgdW5pb24gaXJxX2N0eCAqaGFyZGlycV9jdHhbTlJfQ1BVU10gX19yZWFkX21vc3RseTsKIHN0YXRpYyB1bmlvbiBpcnFfY3R4ICpzb2Z0aXJxX2N0eFtOUl9DUFVTXSBfX3JlYWRfbW9zdGx5OwotI2VuZGlmCiAKLS8qCi0gKiBkb19JUlEgaGFuZGxlcyBhbGwgbm9ybWFsIGRldmljZSBJUlEncyAodGhlIHNwZWNpYWwKLSAqIFNNUCBjcm9zcy1DUFUgaW50ZXJydXB0cyBoYXZlIHRoZWlyIG93biBzcGVjaWZpYwotICogaGFuZGxlcnMpLgotICovCi11bnNpZ25lZCBpbnQgZG9fSVJRKHN0cnVjdCBwdF9yZWdzICpyZWdzKQotewkKLQlzdHJ1Y3QgcHRfcmVncyAqb2xkX3JlZ3M7Ci0JLyogaGlnaCBiaXQgdXNlZCBpbiByZXRfZnJvbV8gY29kZSAqLwotCWludCBpcnEgPSB+cmVncy0+b3JpZ19heDsKLQlzdHJ1Y3QgaXJxX2Rlc2MgKmRlc2MgPSBpcnFfZGVzYyArIGlycTsKLSNpZmRlZiBDT05GSUdfNEtTVEFDS1MKK3N0YXRpYyBjaGFyIHNvZnRpcnFfc3RhY2tbTlJfQ1BVUyAqIFRIUkVBRF9TSVpFXQorCQlfX2F0dHJpYnV0ZV9fKChfX3NlY3Rpb25fXygiLmJzcy5wYWdlX2FsaWduZWQiKSkpOworCitzdGF0aWMgY2hhciBoYXJkaXJxX3N0YWNrW05SX0NQVVMgKiBUSFJFQURfU0laRV0KKwkJX19hdHRyaWJ1dGVfXygoX19zZWN0aW9uX18oIi5ic3MucGFnZV9hbGlnbmVkIikpKTsKKworc3RhdGljIHZvaWQgY2FsbF9vbl9zdGFjayh2b2lkICpmdW5jLCB2b2lkICpzdGFjaykKK3sKKwlhc20gdm9sYXRpbGUoInhjaGdsCSUlZWJ4LCUlZXNwCVxuIgorCQkgICAgICJjYWxsCSolJWVkaQkJXG4iCisJCSAgICAgIm1vdmwJJSVlYngsJSVlc3AJXG4iCisJCSAgICAgOiAiPWIiIChzdGFjaykKKwkJICAgICA6ICIwIiAoc3RhY2spLAorCQkgICAgICAgIkQiKGZ1bmMpCisJCSAgICAgOiAibWVtb3J5IiwgImNjIiwgImVkeCIsICJlY3giLCAiZWF4Iik7Cit9CisKK3N0YXRpYyBpbmxpbmUgaW50CitleGVjdXRlX29uX2lycV9zdGFjayhpbnQgb3ZlcmZsb3csIHN0cnVjdCBpcnFfZGVzYyAqZGVzYywgaW50IGlycSkKK3sKIAl1bmlvbiBpcnFfY3R4ICpjdXJjdHgsICppcnFjdHg7Ci0JdTMyICppc3A7Ci0jZW5kaWYKLQotCWlmICh1bmxpa2VseSgodW5zaWduZWQpaXJxID49IE5SX0lSUVMpKSB7Ci0JCXByaW50ayhLRVJOX0VNRVJHICIlczogY2Fubm90IGhhbmRsZSBJUlEgJWRcbiIsCi0JCQkJCV9fZnVuY19fLCBpcnEpOwotCQlCVUcoKTsKLQl9Ci0KLQlvbGRfcmVncyA9IHNldF9pcnFfcmVncyhyZWdzKTsKLQlpcnFfZW50ZXIoKTsKLSNpZmRlZiBDT05GSUdfREVCVUdfU1RBQ0tPVkVSRkxPVwotCS8qIERlYnVnZ2luZyBjaGVjayBmb3Igc3RhY2sgb3ZlcmZsb3c6IGlzIHRoZXJlIGxlc3MgdGhhbiAxS0IgZnJlZT8gKi8KLQl7Ci0JCWxvbmcgc3A7Ci0KLQkJX19hc21fXyBfX3ZvbGF0aWxlX18oImFuZGwgJSVlc3AsJTAiIDoKLQkJCQkJIj1yIiAoc3ApIDogIjAiIChUSFJFQURfU0laRSAtIDEpKTsKLQkJaWYgKHVubGlrZWx5KHNwIDwgKHNpemVvZihzdHJ1Y3QgdGhyZWFkX2luZm8pICsgU1RBQ0tfV0FSTikpKSB7Ci0JCQlwcmludGsoImRvX0lSUTogc3RhY2sgb3ZlcmZsb3c6ICVsZFxuIiwKLQkJCQlzcCAtIHNpemVvZihzdHJ1Y3QgdGhyZWFkX2luZm8pKTsKLQkJCWR1bXBfc3RhY2soKTsKLQkJfQotCX0KLSNlbmRpZgotCi0jaWZkZWYgQ09ORklHXzRLU1RBQ0tTCisJdTMyICppc3AsIGFyZzEsIGFyZzI7CiAKIAljdXJjdHggPSAodW5pb24gaXJxX2N0eCAqKSBjdXJyZW50X3RocmVhZF9pbmZvKCk7CiAJaXJxY3R4ID0gaGFyZGlycV9jdHhbc21wX3Byb2Nlc3Nvcl9pZCgpXTsKQEAgLTExMSw1MiArMTE1LDM5IEBACiAJICogaGFuZGxlcikgd2UgY2FuJ3QgZG8gdGhhdCBhbmQganVzdCBoYXZlIHRvIGtlZXAgdXNpbmcgdGhlCiAJICogY3VycmVudCBzdGFjayAod2hpY2ggaXMgdGhlIGlycSBzdGFjayBhbHJlYWR5IGFmdGVyIGFsbCkKIAkgKi8KLQlpZiAoY3VyY3R4ICE9IGlycWN0eCkgewotCQlpbnQgYXJnMSwgYXJnMiwgYng7CisJaWYgKHVubGlrZWx5KGN1cmN0eCA9PSBpcnFjdHgpKQorCQlyZXR1cm4gMDsKIAotCQkvKiBidWlsZCB0aGUgc3RhY2sgZnJhbWUgb24gdGhlIElSUSBzdGFjayAqLwotCQlpc3AgPSAodTMyKikgKChjaGFyKilpcnFjdHggKyBzaXplb2YoKmlycWN0eCkpOwotCQlpcnFjdHgtPnRpbmZvLnRhc2sgPSBjdXJjdHgtPnRpbmZvLnRhc2s7Ci0JCWlycWN0eC0+dGluZm8ucHJldmlvdXNfZXNwID0gY3VycmVudF9zdGFja19wb2ludGVyOworCS8qIGJ1aWxkIHRoZSBzdGFjayBmcmFtZSBvbiB0aGUgSVJRIHN0YWNrICovCisJaXNwID0gKHUzMiAqKSAoKGNoYXIqKWlycWN0eCArIHNpemVvZigqaXJxY3R4KSk7CisJaXJxY3R4LT50aW5mby50YXNrID0gY3VyY3R4LT50aW5mby50YXNrOworCWlycWN0eC0+dGluZm8ucHJldmlvdXNfZXNwID0gY3VycmVudF9zdGFja19wb2ludGVyOwogCi0JCS8qCi0JCSAqIENvcHkgdGhlIHNvZnRpcnEgYml0cyBpbiBwcmVlbXB0X2NvdW50IHNvIHRoYXQgdGhlCi0JCSAqIHNvZnRpcnEgY2hlY2tzIHdvcmsgaW4gdGhlIGhhcmRpcnEgY29udGV4dC4KLQkJICovCi0JCWlycWN0eC0+dGluZm8ucHJlZW1wdF9jb3VudCA9Ci0JCQkoaXJxY3R4LT50aW5mby5wcmVlbXB0X2NvdW50ICYgflNPRlRJUlFfTUFTSykgfAotCQkJKGN1cmN0eC0+dGluZm8ucHJlZW1wdF9jb3VudCAmIFNPRlRJUlFfTUFTSyk7CisJLyoKKwkgKiBDb3B5IHRoZSBzb2Z0aXJxIGJpdHMgaW4gcHJlZW1wdF9jb3VudCBzbyB0aGF0IHRoZQorCSAqIHNvZnRpcnEgY2hlY2tzIHdvcmsgaW4gdGhlIGhhcmRpcnEgY29udGV4dC4KKwkgKi8KKwlpcnFjdHgtPnRpbmZvLnByZWVtcHRfY291bnQgPQorCQkoaXJxY3R4LT50aW5mby5wcmVlbXB0X2NvdW50ICYgflNPRlRJUlFfTUFTSykgfAorCQkoY3VyY3R4LT50aW5mby5wcmVlbXB0X2NvdW50ICYgU09GVElSUV9NQVNLKTsKIAotCQlhc20gdm9sYXRpbGUoCi0JCQkiICAgICAgIHhjaGdsICAlJWVieCwlJWVzcCAgICBcbiIKLQkJCSIgICAgICAgY2FsbCAgIColJWVkaSAgICAgICAgIFxuIgotCQkJIiAgICAgICBtb3ZsICAgJSVlYngsJSVlc3AgICAgXG4iCi0JCQk6ICI9YSIgKGFyZzEpLCAiPWQiIChhcmcyKSwgIj1iIiAoYngpCi0JCQk6ICAiMCIgKGlycSksICAgIjEiIChkZXNjKSwgICIyIiAoaXNwKSwKLQkJCSAgICJEIiAoZGVzYy0+aGFuZGxlX2lycSkKLQkJCTogIm1lbW9yeSIsICJjYyIsICJlY3giCi0JCSk7Ci0JfSBlbHNlCi0jZW5kaWYKLQkJZGVzYy0+aGFuZGxlX2lycShpcnEsIGRlc2MpOworCWlmICh1bmxpa2VseShvdmVyZmxvdykpCisJCWNhbGxfb25fc3RhY2socHJpbnRfc3RhY2tfb3ZlcmZsb3csIGlzcCk7CiAKLQlpcnFfZXhpdCgpOwotCXNldF9pcnFfcmVncyhvbGRfcmVncyk7CisJYXNtIHZvbGF0aWxlKCJ4Y2hnbAklJWVieCwlJWVzcAlcbiIKKwkJICAgICAiY2FsbAkqJSVlZGkJCVxuIgorCQkgICAgICJtb3ZsCSUlZWJ4LCUlZXNwCVxuIgorCQkgICAgIDogIj1hIiAoYXJnMSksICI9ZCIgKGFyZzIpLCAiPWIiIChpc3ApCisJCSAgICAgOiAgIjAiIChpcnEpLCAgICIxIiAoZGVzYyksICAiMiIgKGlzcCksCisJCQkiRCIgKGRlc2MtPmhhbmRsZV9pcnEpCisJCSAgICAgOiAibWVtb3J5IiwgImNjIiwgImVjeCIpOwogCXJldHVybiAxOwogfQogCi0jaWZkZWYgQ09ORklHXzRLU1RBQ0tTCi0KLXN0YXRpYyBjaGFyIHNvZnRpcnFfc3RhY2tbTlJfQ1BVUyAqIFRIUkVBRF9TSVpFXQotCQlfX2F0dHJpYnV0ZV9fKChfX3NlY3Rpb25fXygiLmJzcy5wYWdlX2FsaWduZWQiKSkpOwotCi1zdGF0aWMgY2hhciBoYXJkaXJxX3N0YWNrW05SX0NQVVMgKiBUSFJFQURfU0laRV0KLQkJX19hdHRyaWJ1dGVfXygoX19zZWN0aW9uX18oIi5ic3MucGFnZV9hbGlnbmVkIikpKTsKLQogLyoKICAqIGFsbG9jYXRlIHBlci1jcHUgc3RhY2tzIGZvciBoYXJkaXJxIGFuZCBmb3Igc29mdGlycSBwcm9jZXNzaW5nCiAgKi8KLXZvaWQgaXJxX2N0eF9pbml0KGludCBjcHUpCit2b2lkIF9fY3B1aW5pdCBpcnFfY3R4X2luaXQoaW50IGNwdSkKIHsKIAl1bmlvbiBpcnFfY3R4ICppcnFjdHg7CiAKQEAgLTE2NCwyNSArMTU1LDI1IEBACiAJCXJldHVybjsKIAogCWlycWN0eCA9ICh1bmlvbiBpcnFfY3R4KikgJmhhcmRpcnFfc3RhY2tbY3B1KlRIUkVBRF9TSVpFXTsKLQlpcnFjdHgtPnRpbmZvLnRhc2sgICAgICAgICAgICAgID0gTlVMTDsKLQlpcnFjdHgtPnRpbmZvLmV4ZWNfZG9tYWluICAgICAgID0gTlVMTDsKLQlpcnFjdHgtPnRpbmZvLmNwdSAgICAgICAgICAgICAgID0gY3B1OwotCWlycWN0eC0+dGluZm8ucHJlZW1wdF9jb3VudCAgICAgPSBIQVJESVJRX09GRlNFVDsKLQlpcnFjdHgtPnRpbmZvLmFkZHJfbGltaXQgICAgICAgID0gTUFLRV9NTV9TRUcoMCk7CisJaXJxY3R4LT50aW5mby50YXNrCQk9IE5VTEw7CisJaXJxY3R4LT50aW5mby5leGVjX2RvbWFpbgk9IE5VTEw7CisJaXJxY3R4LT50aW5mby5jcHUJCT0gY3B1OworCWlycWN0eC0+dGluZm8ucHJlZW1wdF9jb3VudAk9IEhBUkRJUlFfT0ZGU0VUOworCWlycWN0eC0+dGluZm8uYWRkcl9saW1pdAk9IE1BS0VfTU1fU0VHKDApOwogCiAJaGFyZGlycV9jdHhbY3B1XSA9IGlycWN0eDsKIAogCWlycWN0eCA9ICh1bmlvbiBpcnFfY3R4KikgJnNvZnRpcnFfc3RhY2tbY3B1KlRIUkVBRF9TSVpFXTsKLQlpcnFjdHgtPnRpbmZvLnRhc2sgICAgICAgICAgICAgID0gTlVMTDsKLQlpcnFjdHgtPnRpbmZvLmV4ZWNfZG9tYWluICAgICAgID0gTlVMTDsKLQlpcnFjdHgtPnRpbmZvLmNwdSAgICAgICAgICAgICAgID0gY3B1OwotCWlycWN0eC0+dGluZm8ucHJlZW1wdF9jb3VudCAgICAgPSAwOwotCWlycWN0eC0+dGluZm8uYWRkcl9saW1pdCAgICAgICAgPSBNQUtFX01NX1NFRygwKTsKKwlpcnFjdHgtPnRpbmZvLnRhc2sJCT0gTlVMTDsKKwlpcnFjdHgtPnRpbmZvLmV4ZWNfZG9tYWluCT0gTlVMTDsKKwlpcnFjdHgtPnRpbmZvLmNwdQkJPSBjcHU7CisJaXJxY3R4LT50aW5mby5wcmVlbXB0X2NvdW50CT0gMDsKKwlpcnFjdHgtPnRpbmZvLmFkZHJfbGltaXQJPSBNQUtFX01NX1NFRygwKTsKIAogCXNvZnRpcnFfY3R4W2NwdV0gPSBpcnFjdHg7CiAKLQlwcmludGsoIkNQVSAldSBpcnFzdGFja3MsIGhhcmQ9JXAgc29mdD0lcFxuIiwKLQkJY3B1LGhhcmRpcnFfY3R4W2NwdV0sc29mdGlycV9jdHhbY3B1XSk7CisJcHJpbnRrKEtFUk5fREVCVUcgIkNQVSAldSBpcnFzdGFja3MsIGhhcmQ9JXAgc29mdD0lcFxuIiwKKwkgICAgICAgY3B1LGhhcmRpcnFfY3R4W2NwdV0sc29mdGlycV9jdHhbY3B1XSk7CiB9CiAKIHZvaWQgaXJxX2N0eF9leGl0KGludCBjcHUpCkBAIC0yMTEsMjUgKzIwMiw1NiBAQAogCQkvKiBidWlsZCB0aGUgc3RhY2sgZnJhbWUgb24gdGhlIHNvZnRpcnEgc3RhY2sgKi8KIAkJaXNwID0gKHUzMiopICgoY2hhciopaXJxY3R4ICsgc2l6ZW9mKCppcnFjdHgpKTsKIAotCQlhc20gdm9sYXRpbGUoCi0JCQkiICAgICAgIHhjaGdsICAgJSVlYngsJSVlc3AgICAgIFxuIgotCQkJIiAgICAgICBjYWxsICAgIF9fZG9fc29mdGlycSAgICBcbiIKLQkJCSIgICAgICAgbW92bCAgICAlJWVieCwlJWVzcCAgICAgXG4iCi0JCQk6ICI9YiIoaXNwKQotCQkJOiAiMCIoaXNwKQotCQkJOiAibWVtb3J5IiwgImNjIiwgImVkeCIsICJlY3giLCAiZWF4IgotCQkpOworCQljYWxsX29uX3N0YWNrKF9fZG9fc29mdGlycSwgaXNwKTsKIAkJLyoKIAkJICogU2hvdWxkbnQgaGFwcGVuLCB3ZSByZXR1cm5lZCBhYm92ZSBpZiBpbl9pbnRlcnJ1cHQoKToKLQkgCSAqLworCQkgKi8KIAkJV0FSTl9PTl9PTkNFKHNvZnRpcnFfY291bnQoKSk7CiAJfQogCiAJbG9jYWxfaXJxX3Jlc3RvcmUoZmxhZ3MpOwogfQorCisjZWxzZQorc3RhdGljIGlubGluZSBpbnQKK2V4ZWN1dGVfb25faXJxX3N0YWNrKGludCBvdmVyZmxvdywgc3RydWN0IGlycV9kZXNjICpkZXNjLCBpbnQgaXJxKSB7IHJldHVybiAwOyB9CiAjZW5kaWYKIAogLyoKKyAqIGRvX0lSUSBoYW5kbGVzIGFsbCBub3JtYWwgZGV2aWNlIElSUSdzICh0aGUgc3BlY2lhbAorICogU01QIGNyb3NzLUNQVSBpbnRlcnJ1cHRzIGhhdmUgdGhlaXIgb3duIHNwZWNpZmljCisgKiBoYW5kbGVycykuCisgKi8KK3Vuc2lnbmVkIGludCBkb19JUlEoc3RydWN0IHB0X3JlZ3MgKnJlZ3MpCit7CisJc3RydWN0IHB0X3JlZ3MgKm9sZF9yZWdzOworCS8qIGhpZ2ggYml0IHVzZWQgaW4gcmV0X2Zyb21fIGNvZGUgKi8KKwlpbnQgb3ZlcmZsb3csIGlycSA9IH5yZWdzLT5vcmlnX2F4OworCXN0cnVjdCBpcnFfZGVzYyAqZGVzYyA9IGlycV9kZXNjICsgaXJxOworCisJaWYgKHVubGlrZWx5KCh1bnNpZ25lZClpcnEgPj0gTlJfSVJRUykpIHsKKwkJcHJpbnRrKEtFUk5fRU1FUkcgIiVzOiBjYW5ub3QgaGFuZGxlIElSUSAlZFxuIiwKKwkJCQkJX19mdW5jX18sIGlycSk7CisJCUJVRygpOworCX0KKworCW9sZF9yZWdzID0gc2V0X2lycV9yZWdzKHJlZ3MpOworCWlycV9lbnRlcigpOworCisJb3ZlcmZsb3cgPSBjaGVja19zdGFja19vdmVyZmxvdygpOworCisJaWYgKCFleGVjdXRlX29uX2lycV9zdGFjayhvdmVyZmxvdywgZGVzYywgaXJxKSkgeworCQlpZiAodW5saWtlbHkob3ZlcmZsb3cpKQorCQkJcHJpbnRfc3RhY2tfb3ZlcmZsb3coKTsKKwkJZGVzYy0+aGFuZGxlX2lycShpcnEsIGRlc2MpOworCX0KKworCWlycV9leGl0KCk7CisJc2V0X2lycV9yZWdzKG9sZF9yZWdzKTsKKwlyZXR1cm4gMTsKK30KKworLyoKICAqIEludGVycnVwdCBzdGF0aXN0aWNzOgogICovCiAKQEAgLTMxMywxNiArMzM1LDIwIEBACiAJCQkJcGVyX2NwdShpcnFfc3RhdCxqKS5pcnFfdGxiX2NvdW50KTsKIAkJc2VxX3ByaW50ZihwLCAiICBUTEIgc2hvb3Rkb3duc1xuIik7CiAjZW5kaWYKKyNpZmRlZiBDT05GSUdfWDg2X01DRQogCQlzZXFfcHJpbnRmKHAsICJUUk06ICIpOwogCQlmb3JfZWFjaF9vbmxpbmVfY3B1KGopCiAJCQlzZXFfcHJpbnRmKHAsICIlMTB1ICIsCiAJCQkJcGVyX2NwdShpcnFfc3RhdCxqKS5pcnFfdGhlcm1hbF9jb3VudCk7CiAJCXNlcV9wcmludGYocCwgIiAgVGhlcm1hbCBldmVudCBpbnRlcnJ1cHRzXG4iKTsKKyNlbmRpZgorI2lmZGVmIENPTkZJR19YODZfTE9DQUxfQVBJQwogCQlzZXFfcHJpbnRmKHAsICJTUFU6ICIpOwogCQlmb3JfZWFjaF9vbmxpbmVfY3B1KGopCiAJCQlzZXFfcHJpbnRmKHAsICIlMTB1ICIsCiAJCQkJcGVyX2NwdShpcnFfc3RhdCxqKS5pcnFfc3B1cmlvdXNfY291bnQpOwogCQlzZXFfcHJpbnRmKHAsICIgIFNwdXJpb3VzIGludGVycnVwdHNcbiIpOworI2VuZGlmCiAJCXNlcV9wcmludGYocCwgIkVSUjogJTEwdVxuIiwgYXRvbWljX3JlYWQoJmlycV9lcnJfY291bnQpKTsKICNpZiBkZWZpbmVkKENPTkZJR19YODZfSU9fQVBJQykKIAkJc2VxX3ByaW50ZihwLCAiTUlTOiAlMTB1XG4iLCBhdG9taWNfcmVhZCgmaXJxX21pc19jb3VudCkpOwpAQCAtMzMxLDYgKzM1Nyw0MCBAQAogCXJldHVybiAwOwogfQogCisvKgorICogL3Byb2Mvc3RhdCBoZWxwZXJzCisgKi8KK3U2NCBhcmNoX2lycV9zdGF0X2NwdSh1bnNpZ25lZCBpbnQgY3B1KQoreworCXU2NCBzdW0gPSBubWlfY291bnQoY3B1KTsKKworI2lmZGVmIENPTkZJR19YODZfTE9DQUxfQVBJQworCXN1bSArPSBwZXJfY3B1KGlycV9zdGF0LCBjcHUpLmFwaWNfdGltZXJfaXJxczsKKyNlbmRpZgorI2lmZGVmIENPTkZJR19TTVAKKwlzdW0gKz0gcGVyX2NwdShpcnFfc3RhdCwgY3B1KS5pcnFfcmVzY2hlZF9jb3VudDsKKwlzdW0gKz0gcGVyX2NwdShpcnFfc3RhdCwgY3B1KS5pcnFfY2FsbF9jb3VudDsKKwlzdW0gKz0gcGVyX2NwdShpcnFfc3RhdCwgY3B1KS5pcnFfdGxiX2NvdW50OworI2VuZGlmCisjaWZkZWYgQ09ORklHX1g4Nl9NQ0UKKwlzdW0gKz0gcGVyX2NwdShpcnFfc3RhdCwgY3B1KS5pcnFfdGhlcm1hbF9jb3VudDsKKyNlbmRpZgorI2lmZGVmIENPTkZJR19YODZfTE9DQUxfQVBJQworCXN1bSArPSBwZXJfY3B1KGlycV9zdGF0LCBjcHUpLmlycV9zcHVyaW91c19jb3VudDsKKyNlbmRpZgorCXJldHVybiBzdW07Cit9CisKK3U2NCBhcmNoX2lycV9zdGF0KHZvaWQpCit7CisJdTY0IHN1bSA9IGF0b21pY19yZWFkKCZpcnFfZXJyX2NvdW50KTsKKworI2lmZGVmIENPTkZJR19YODZfSU9fQVBJQworCXN1bSArPSBhdG9taWNfcmVhZCgmaXJxX21pc19jb3VudCk7CisjZW5kaWYKKwlyZXR1cm4gc3VtOworfQorCiAjaWZkZWYgQ09ORklHX0hPVFBMVUdfQ1BVCiAjaW5jbHVkZSA8bWFjaF9hcGljLmg+CiAKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9pcnFfNjQuYyBiL2FyY2gveDg2L2tlcm5lbC9pcnFfNjQuYwppbmRleCAzYWFjMTU0Li4xZjc4YjIzIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvaXJxXzY0LmMKKysrIGIvYXJjaC94ODYva2VybmVsL2lycV82NC5jCkBAIC0xMzUsNiArMTM1LDcgQEAKIAkJCXNlcV9wcmludGYocCwgIiUxMHUgIiwgY3B1X3BkYShqKS0+aXJxX3RsYl9jb3VudCk7CiAJCXNlcV9wcmludGYocCwgIiAgVExCIHNob290ZG93bnNcbiIpOwogI2VuZGlmCisjaWZkZWYgQ09ORklHX1g4Nl9NQ0UKIAkJc2VxX3ByaW50ZihwLCAiVFJNOiAiKTsKIAkJZm9yX2VhY2hfb25saW5lX2NwdShqKQogCQkJc2VxX3ByaW50ZihwLCAiJTEwdSAiLCBjcHVfcGRhKGopLT5pcnFfdGhlcm1hbF9jb3VudCk7CkBAIC0xNDMsNiArMTQ0LDcgQEAKIAkJZm9yX2VhY2hfb25saW5lX2NwdShqKQogCQkJc2VxX3ByaW50ZihwLCAiJTEwdSAiLCBjcHVfcGRhKGopLT5pcnFfdGhyZXNob2xkX2NvdW50KTsKIAkJc2VxX3ByaW50ZihwLCAiICBUaHJlc2hvbGQgQVBJQyBpbnRlcnJ1cHRzXG4iKTsKKyNlbmRpZgogCQlzZXFfcHJpbnRmKHAsICJTUFU6ICIpOwogCQlmb3JfZWFjaF9vbmxpbmVfY3B1KGopCiAJCQlzZXFfcHJpbnRmKHAsICIlMTB1ICIsIGNwdV9wZGEoaiktPmlycV9zcHVyaW91c19jb3VudCk7CkBAIC0xNTMsNiArMTU1LDMyIEBACiB9CiAKIC8qCisgKiAvcHJvYy9zdGF0IGhlbHBlcnMKKyAqLwordTY0IGFyY2hfaXJxX3N0YXRfY3B1KHVuc2lnbmVkIGludCBjcHUpCit7CisJdTY0IHN1bSA9IGNwdV9wZGEoY3B1KS0+X19ubWlfY291bnQ7CisKKwlzdW0gKz0gY3B1X3BkYShjcHUpLT5hcGljX3RpbWVyX2lycXM7CisjaWZkZWYgQ09ORklHX1NNUAorCXN1bSArPSBjcHVfcGRhKGNwdSktPmlycV9yZXNjaGVkX2NvdW50OworCXN1bSArPSBjcHVfcGRhKGNwdSktPmlycV9jYWxsX2NvdW50OworCXN1bSArPSBjcHVfcGRhKGNwdSktPmlycV90bGJfY291bnQ7CisjZW5kaWYKKyNpZmRlZiBDT05GSUdfWDg2X01DRQorCXN1bSArPSBjcHVfcGRhKGNwdSktPmlycV90aGVybWFsX2NvdW50OworCXN1bSArPSBjcHVfcGRhKGNwdSktPmlycV90aHJlc2hvbGRfY291bnQ7CisjZW5kaWYKKwlzdW0gKz0gY3B1X3BkYShjcHUpLT5pcnFfc3B1cmlvdXNfY291bnQ7CisJcmV0dXJuIHN1bTsKK30KKwordTY0IGFyY2hfaXJxX3N0YXQodm9pZCkKK3sKKwlyZXR1cm4gYXRvbWljX3JlYWQoJmlycV9lcnJfY291bnQpOworfQorCisvKgogICogZG9fSVJRIGhhbmRsZXMgYWxsIG5vcm1hbCBkZXZpY2UgSVJRJ3MgKHRoZSBzcGVjaWFsCiAgKiBTTVAgY3Jvc3MtQ1BVIGludGVycnVwdHMgaGF2ZSB0aGVpciBvd24gc3BlY2lmaWMKICAqIGhhbmRsZXJzKS4KZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9pcnFpbml0XzMyLmMgYi9hcmNoL3g4Ni9rZXJuZWwvaXJxaW5pdF8zMi5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ2NjkxNDIKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL3g4Ni9rZXJuZWwvaXJxaW5pdF8zMi5jCkBAIC0wLDAgKzEsMTE0IEBACisjaW5jbHVkZSA8bGludXgvZXJybm8uaD4KKyNpbmNsdWRlIDxsaW51eC9zaWduYWwuaD4KKyNpbmNsdWRlIDxsaW51eC9zY2hlZC5oPgorI2luY2x1ZGUgPGxpbnV4L2lvcG9ydC5oPgorI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgorI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KKyNpbmNsdWRlIDxsaW51eC9yYW5kb20uaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgva2VybmVsX3N0YXQuaD4KKyNpbmNsdWRlIDxsaW51eC9zeXNkZXYuaD4KKyNpbmNsdWRlIDxsaW51eC9iaXRvcHMuaD4KKworI2luY2x1ZGUgPGFzbS9hdG9taWMuaD4KKyNpbmNsdWRlIDxhc20vc3lzdGVtLmg+CisjaW5jbHVkZSA8YXNtL2lvLmg+CisjaW5jbHVkZSA8YXNtL3RpbWVyLmg+CisjaW5jbHVkZSA8YXNtL3BndGFibGUuaD4KKyNpbmNsdWRlIDxhc20vZGVsYXkuaD4KKyNpbmNsdWRlIDxhc20vZGVzYy5oPgorI2luY2x1ZGUgPGFzbS9hcGljLmg+CisjaW5jbHVkZSA8YXNtL2FyY2hfaG9va3MuaD4KKyNpbmNsdWRlIDxhc20vaTgyNTkuaD4KKworCisKKy8qCisgKiBOb3RlIHRoYXQgb24gYSA0ODYsIHdlIGRvbid0IHdhbnQgdG8gZG8gYSBTSUdGUEUgb24gYW4gaXJxMTMKKyAqIGFzIHRoZSBpcnEgaXMgdW5yZWxpYWJsZSwgYW5kIGV4Y2VwdGlvbiAxNiB3b3JrcyBjb3JyZWN0bHkKKyAqIChpZSBhcyBleHBsYWluZWQgaW4gdGhlIGludGVsIGxpdGVyYXR1cmUpLiBPbiBhIDM4NiwgeW91CisgKiBjYW4ndCB1c2UgZXhjZXB0aW9uIDE2IGR1ZSB0byBiYWQgSUJNIGRlc2lnbiwgc28gd2UgaGF2ZSB0bworICogcmVseSBvbiB0aGUgbGVzcyBleGFjdCBpcnExMy4KKyAqCisgKiBDYXJlZnVsLi4gTm90IG9ubHkgaXMgSVJRMTMgdW5yZWxpYWJsZSwgYnV0IGl0IGlzIGFsc28KKyAqIGxlYWRzIHRvIHJhY2VzLiBJQk0gZGVzaWduZXJzIHdobyBjYW1lIHVwIHdpdGggaXQgc2hvdWxkCisgKiBiZSBzaG90LgorICovCisgCisKK3N0YXRpYyBpcnFyZXR1cm5fdCBtYXRoX2Vycm9yX2lycShpbnQgY3BsLCB2b2lkICpkZXZfaWQpCit7CisJZXh0ZXJuIHZvaWQgbWF0aF9lcnJvcih2b2lkIF9fdXNlciAqKTsKKwlvdXRiKDAsMHhGMCk7CisJaWYgKGlnbm9yZV9mcHVfaXJxIHx8ICFib290X2NwdV9kYXRhLmhhcmRfbWF0aCkKKwkJcmV0dXJuIElSUV9OT05FOworCW1hdGhfZXJyb3IoKHZvaWQgX191c2VyICopZ2V0X2lycV9yZWdzKCktPmlwKTsKKwlyZXR1cm4gSVJRX0hBTkRMRUQ7Cit9CisKKy8qCisgKiBOZXcgbW90aGVyYm9hcmRzIHNvbWV0aW1lcyBtYWtlIElSUSAxMyBiZSBhIFBDSSBpbnRlcnJ1cHQsCisgKiBzbyBhbGxvdyBpbnRlcnJ1cHQgc2hhcmluZy4KKyAqLworc3RhdGljIHN0cnVjdCBpcnFhY3Rpb24gZnB1X2lycSA9IHsKKwkuaGFuZGxlciA9IG1hdGhfZXJyb3JfaXJxLAorCS5tYXNrID0gQ1BVX01BU0tfTk9ORSwKKwkubmFtZSA9ICJmcHUiLAorfTsKKwordm9pZCBfX2luaXQgaW5pdF9JU0FfaXJxcyAodm9pZCkKK3sKKwlpbnQgaTsKKworI2lmZGVmIENPTkZJR19YODZfTE9DQUxfQVBJQworCWluaXRfYnNwX0FQSUMoKTsKKyNlbmRpZgorCWluaXRfODI1OUEoMCk7CisKKwkvKgorCSAqIDE2IG9sZC1zdHlsZSBJTlRBLWN5Y2xlIGludGVycnVwdHM6CisJICovCisJZm9yIChpID0gMDsgaSA8IDE2OyBpKyspIHsKKwkJc2V0X2lycV9jaGlwX2FuZF9oYW5kbGVyX25hbWUoaSwgJmk4MjU5QV9jaGlwLAorCQkJCQkgICAgICBoYW5kbGVfbGV2ZWxfaXJxLCAiWFQiKTsKKwl9Cit9CisKKy8qIE92ZXJyaWRkZW4gaW4gcGFyYXZpcnQuYyAqLwordm9pZCBpbml0X0lSUSh2b2lkKSBfX2F0dHJpYnV0ZV9fKCh3ZWFrLCBhbGlhcygibmF0aXZlX2luaXRfSVJRIikpKTsKKwordm9pZCBfX2luaXQgbmF0aXZlX2luaXRfSVJRKHZvaWQpCit7CisJaW50IGk7CisKKwkvKiBhbGwgdGhlIHNldCB1cCBiZWZvcmUgdGhlIGNhbGwgZ2F0ZXMgYXJlIGluaXRpYWxpc2VkICovCisJcHJlX2ludHJfaW5pdF9ob29rKCk7CisKKwkvKgorCSAqIENvdmVyIHRoZSB3aG9sZSB2ZWN0b3Igc3BhY2UsIG5vIHZlY3RvciBjYW4gZXNjYXBlCisJICogdXMuIChzb21lIG9mIHRoZXNlIHdpbGwgYmUgb3ZlcnJpZGRlbiBhbmQgYmVjb21lCisJICogJ3NwZWNpYWwnIFNNUCBpbnRlcnJ1cHRzKQorCSAqLworCWZvciAoaSA9IDA7IGkgPCAoTlJfVkVDVE9SUyAtIEZJUlNUX0VYVEVSTkFMX1ZFQ1RPUik7IGkrKykgeworCQlpbnQgdmVjdG9yID0gRklSU1RfRVhURVJOQUxfVkVDVE9SICsgaTsKKwkJaWYgKGkgPj0gTlJfSVJRUykKKwkJCWJyZWFrOworCQkvKiBTWVNDQUxMX1ZFQ1RPUiB3YXMgcmVzZXJ2ZWQgaW4gdHJhcF9pbml0LiAqLworCQlpZiAoIXRlc3RfYml0KHZlY3RvciwgdXNlZF92ZWN0b3JzKSkKKwkJCXNldF9pbnRyX2dhdGUodmVjdG9yLCBpbnRlcnJ1cHRbaV0pOworCX0KKworCS8qIHNldHVwIGFmdGVyIGNhbGwgZ2F0ZXMgYXJlIGluaXRpYWxpc2VkICh1c3VhbGx5IGFkZCBpbgorCSAqIHRoZSBhcmNoaXRlY3R1cmUgc3BlY2lmaWMgZ2F0ZXMpCisJICovCisJaW50cl9pbml0X2hvb2soKTsKKworCS8qCisJICogRXh0ZXJuYWwgRlBVPyBTZXQgdXAgaXJxMTMgaWYgc28sIGZvcgorCSAqIG9yaWdpbmFsIGJyYWluZGFtYWdlZCBJQk0gRkVSUiBjb3VwbGluZy4KKwkgKi8KKwlpZiAoYm9vdF9jcHVfZGF0YS5oYXJkX21hdGggJiYgIWNwdV9oYXNfZnB1KQorCQlzZXR1cF9pcnEoRlBVX0lSUSwgJmZwdV9pcnEpOworCisJaXJxX2N0eF9pbml0KHNtcF9wcm9jZXNzb3JfaWQoKSk7Cit9CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvaXJxaW5pdF82NC5jIGIvYXJjaC94ODYva2VybmVsL2lycWluaXRfNjQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMWY0OWU4Ci0tLSAvZGV2L251bGwKKysrIGIvYXJjaC94ODYva2VybmVsL2lycWluaXRfNjQuYwpAQCAtMCwwICsxLDIxNyBAQAorI2luY2x1ZGUgPGxpbnV4L2xpbmthZ2UuaD4KKyNpbmNsdWRlIDxsaW51eC9lcnJuby5oPgorI2luY2x1ZGUgPGxpbnV4L3NpZ25hbC5oPgorI2luY2x1ZGUgPGxpbnV4L3NjaGVkLmg+CisjaW5jbHVkZSA8bGludXgvaW9wb3J0Lmg+CisjaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+CisjaW5jbHVkZSA8bGludXgvdGltZXguaD4KKyNpbmNsdWRlIDxsaW51eC9zbGFiLmg+CisjaW5jbHVkZSA8bGludXgvcmFuZG9tLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L2tlcm5lbF9zdGF0Lmg+CisjaW5jbHVkZSA8bGludXgvc3lzZGV2Lmg+CisjaW5jbHVkZSA8bGludXgvYml0b3BzLmg+CisKKyNpbmNsdWRlIDxhc20vYWNwaS5oPgorI2luY2x1ZGUgPGFzbS9hdG9taWMuaD4KKyNpbmNsdWRlIDxhc20vc3lzdGVtLmg+CisjaW5jbHVkZSA8YXNtL2lvLmg+CisjaW5jbHVkZSA8YXNtL2h3X2lycS5oPgorI2luY2x1ZGUgPGFzbS9wZ3RhYmxlLmg+CisjaW5jbHVkZSA8YXNtL2RlbGF5Lmg+CisjaW5jbHVkZSA8YXNtL2Rlc2MuaD4KKyNpbmNsdWRlIDxhc20vYXBpYy5oPgorI2luY2x1ZGUgPGFzbS9pODI1OS5oPgorCisvKgorICogQ29tbW9uIHBsYWNlIHRvIGRlZmluZSBhbGwgeDg2IElSUSB2ZWN0b3JzCisgKgorICogVGhpcyBidWlsZHMgdXAgdGhlIElSUSBoYW5kbGVyIHN0dWJzIHVzaW5nIHNvbWUgdWdseSBtYWNyb3MgaW4gaXJxLmgKKyAqCisgKiBUaGVzZSBtYWNyb3MgY3JlYXRlIHRoZSBsb3ctbGV2ZWwgYXNzZW1ibHkgSVJRIHJvdXRpbmVzIHRoYXQgc2F2ZQorICogcmVnaXN0ZXIgY29udGV4dCBhbmQgY2FsbCBkb19JUlEoKS4gZG9fSVJRKCkgdGhlbiBkb2VzIGFsbCB0aGUKKyAqIG9wZXJhdGlvbnMgdGhhdCBhcmUgbmVlZGVkIHRvIGtlZXAgdGhlIEFUIChvciBTTVAgSU9BUElDKQorICogaW50ZXJydXB0LWNvbnRyb2xsZXIgaGFwcHkuCisgKi8KKworI2RlZmluZSBJUlFfTkFNRTIobnIpIG5yIyNfaW50ZXJydXB0KHZvaWQpCisjZGVmaW5lIElSUV9OQU1FKG5yKSBJUlFfTkFNRTIoSVJRIyNucikKKworLyoKKyAqCVNNUCBoYXMgYSBmZXcgc3BlY2lhbCBpbnRlcnJ1cHRzIGZvciBJUEkgbWVzc2FnZXMKKyAqLworCisjZGVmaW5lIEJVSUxEX0lSUShucikJCQkJXAorCWFzbWxpbmthZ2Ugdm9pZCBJUlFfTkFNRShucik7CQlcCisJYXNtKCJcbi5wMmFsaWduXG4iCQkJXAorCSAgICAiSVJRIiAjbnIgIl9pbnRlcnJ1cHQ6XG5cdCIJCVwKKwkgICAgInB1c2ggJH4oIiAjbnIgIikgOyAiCQlcCisJICAgICJqbXAgY29tbW9uX2ludGVycnVwdCIpOworCisjZGVmaW5lIEJJKHgseSkgXAorCUJVSUxEX0lSUSh4IyN5KQorCisjZGVmaW5lIEJVSUxEXzE2X0lSUVMoeCkgXAorCUJJKHgsMCkgQkkoeCwxKSBCSSh4LDIpIEJJKHgsMykgXAorCUJJKHgsNCkgQkkoeCw1KSBCSSh4LDYpIEJJKHgsNykgXAorCUJJKHgsOCkgQkkoeCw5KSBCSSh4LGEpIEJJKHgsYikgXAorCUJJKHgsYykgQkkoeCxkKSBCSSh4LGUpIEJJKHgsZikKKworLyoKKyAqIElTQSBQSUMgb3IgbG93IElPLUFQSUMgdHJpZ2dlcmVkIChJTlRBLWN5Y2xlIG9yIEFQSUMpIGludGVycnVwdHM6CisgKiAodGhlc2UgYXJlIHVzdWFsbHkgbWFwcGVkIHRvIHZlY3RvcnMgMHgzMC0weDNmKQorICovCisKKy8qCisgKiBUaGUgSU8tQVBJQyBnaXZlcyB1cyBtYW55IG1vcmUgaW50ZXJydXB0IHNvdXJjZXMuIE1vc3Qgb2YgdGhlc2UKKyAqIGFyZSB1bnVzZWQgYnV0IGFuIFNNUCBzeXN0ZW0gaXMgc3VwcG9zZWQgdG8gaGF2ZSBlbm91Z2ggbWVtb3J5IC4uLgorICogc29tZXRpbWVzIChtb3N0bHkgd3J0LiBodyBidWdzKSB3ZSBnZXQgY29ycnVwdGVkIHZlY3RvcnMgYWxsCisgKiBhY3Jvc3MgdGhlIHNwZWN0cnVtLCBzbyB3ZSByZWFsbHkgd2FudCB0byBiZSBwcmVwYXJlZCB0byBnZXQgYWxsCisgKiBvZiB0aGVzZS4gUGx1cywgbW9yZSBwb3dlcmZ1bCBzeXN0ZW1zIG1pZ2h0IGhhdmUgbW9yZSB0aGFuIDY0CisgKiBJTy1BUElDIHJlZ2lzdGVycy4KKyAqCisgKiAodGhlc2UgYXJlIHVzdWFsbHkgbWFwcGVkIGludG8gdGhlIDB4MzAtMHhmZiB2ZWN0b3IgcmFuZ2UpCisgKi8KKwkJCQkgICAgICBCVUlMRF8xNl9JUlFTKDB4MikgQlVJTERfMTZfSVJRUygweDMpCitCVUlMRF8xNl9JUlFTKDB4NCkgQlVJTERfMTZfSVJRUygweDUpIEJVSUxEXzE2X0lSUVMoMHg2KSBCVUlMRF8xNl9JUlFTKDB4NykKK0JVSUxEXzE2X0lSUVMoMHg4KSBCVUlMRF8xNl9JUlFTKDB4OSkgQlVJTERfMTZfSVJRUygweGEpIEJVSUxEXzE2X0lSUVMoMHhiKQorQlVJTERfMTZfSVJRUygweGMpIEJVSUxEXzE2X0lSUVMoMHhkKSBCVUlMRF8xNl9JUlFTKDB4ZSkgQlVJTERfMTZfSVJRUygweGYpCisKKyN1bmRlZiBCVUlMRF8xNl9JUlFTCisjdW5kZWYgQkkKKworCisjZGVmaW5lIElSUSh4LHkpIFwKKwlJUlEjI3gjI3kjI19pbnRlcnJ1cHQKKworI2RlZmluZSBJUlFMSVNUXzE2KHgpIFwKKwlJUlEoeCwwKSwgSVJRKHgsMSksIElSUSh4LDIpLCBJUlEoeCwzKSwgXAorCUlSUSh4LDQpLCBJUlEoeCw1KSwgSVJRKHgsNiksIElSUSh4LDcpLCBcCisJSVJRKHgsOCksIElSUSh4LDkpLCBJUlEoeCxhKSwgSVJRKHgsYiksIFwKKwlJUlEoeCxjKSwgSVJRKHgsZCksIElSUSh4LGUpLCBJUlEoeCxmKQorCisvKiBmb3IgdGhlIGlycSB2ZWN0b3JzICovCitzdGF0aWMgdm9pZCAoKl9faW5pdGRhdGEgaW50ZXJydXB0W05SX1ZFQ1RPUlMgLSBGSVJTVF9FWFRFUk5BTF9WRUNUT1JdKSh2b2lkKSA9IHsKKwkJCQkJICBJUlFMSVNUXzE2KDB4MiksIElSUUxJU1RfMTYoMHgzKSwKKwlJUlFMSVNUXzE2KDB4NCksIElSUUxJU1RfMTYoMHg1KSwgSVJRTElTVF8xNigweDYpLCBJUlFMSVNUXzE2KDB4NyksCisJSVJRTElTVF8xNigweDgpLCBJUlFMSVNUXzE2KDB4OSksIElSUUxJU1RfMTYoMHhhKSwgSVJRTElTVF8xNigweGIpLAorCUlSUUxJU1RfMTYoMHhjKSwgSVJRTElTVF8xNigweGQpLCBJUlFMSVNUXzE2KDB4ZSksIElSUUxJU1RfMTYoMHhmKQorfTsKKworI3VuZGVmIElSUQorI3VuZGVmIElSUUxJU1RfMTYKKworCisKKworLyoKKyAqIElSUTIgaXMgY2FzY2FkZSBpbnRlcnJ1cHQgdG8gc2Vjb25kIGludGVycnVwdCBjb250cm9sbGVyCisgKi8KKworc3RhdGljIHN0cnVjdCBpcnFhY3Rpb24gaXJxMiA9IHsKKwkuaGFuZGxlciA9IG5vX2FjdGlvbiwKKwkubWFzayA9IENQVV9NQVNLX05PTkUsCisJLm5hbWUgPSAiY2FzY2FkZSIsCit9OworREVGSU5FX1BFUl9DUFUodmVjdG9yX2lycV90LCB2ZWN0b3JfaXJxKSA9IHsKKwlbMCAuLi4gSVJRMF9WRUNUT1IgLSAxXSA9IC0xLAorCVtJUlEwX1ZFQ1RPUl0gPSAwLAorCVtJUlExX1ZFQ1RPUl0gPSAxLAorCVtJUlEyX1ZFQ1RPUl0gPSAyLAorCVtJUlEzX1ZFQ1RPUl0gPSAzLAorCVtJUlE0X1ZFQ1RPUl0gPSA0LAorCVtJUlE1X1ZFQ1RPUl0gPSA1LAorCVtJUlE2X1ZFQ1RPUl0gPSA2LAorCVtJUlE3X1ZFQ1RPUl0gPSA3LAorCVtJUlE4X1ZFQ1RPUl0gPSA4LAorCVtJUlE5X1ZFQ1RPUl0gPSA5LAorCVtJUlExMF9WRUNUT1JdID0gMTAsCisJW0lSUTExX1ZFQ1RPUl0gPSAxMSwKKwlbSVJRMTJfVkVDVE9SXSA9IDEyLAorCVtJUlExM19WRUNUT1JdID0gMTMsCisJW0lSUTE0X1ZFQ1RPUl0gPSAxNCwKKwlbSVJRMTVfVkVDVE9SXSA9IDE1LAorCVtJUlExNV9WRUNUT1IgKyAxIC4uLiBOUl9WRUNUT1JTIC0gMV0gPSAtMQorfTsKKworc3RhdGljIHZvaWQgX19pbml0IGluaXRfSVNBX2lycXMgKHZvaWQpCit7CisJaW50IGk7CisKKwlpbml0X2JzcF9BUElDKCk7CisJaW5pdF84MjU5QSgwKTsKKworCWZvciAoaSA9IDA7IGkgPCBOUl9JUlFTOyBpKyspIHsKKwkJaXJxX2Rlc2NbaV0uc3RhdHVzID0gSVJRX0RJU0FCTEVEOworCQlpcnFfZGVzY1tpXS5hY3Rpb24gPSBOVUxMOworCQlpcnFfZGVzY1tpXS5kZXB0aCA9IDE7CisKKwkJaWYgKGkgPCAxNikgeworCQkJLyoKKwkJCSAqIDE2IG9sZC1zdHlsZSBJTlRBLWN5Y2xlIGludGVycnVwdHM6CisJCQkgKi8KKwkJCXNldF9pcnFfY2hpcF9hbmRfaGFuZGxlcl9uYW1lKGksICZpODI1OUFfY2hpcCwKKwkJCQkJCSAgICAgIGhhbmRsZV9sZXZlbF9pcnEsICJYVCIpOworCQl9IGVsc2UgeworCQkJLyoKKwkJCSAqICdoaWdoJyBQQ0kgSVJRcyBmaWxsZWQgaW4gb24gZGVtYW5kCisJCQkgKi8KKwkJCWlycV9kZXNjW2ldLmNoaXAgPSAmbm9faXJxX2NoaXA7CisJCX0KKwl9Cit9CisKK3ZvaWQgaW5pdF9JUlEodm9pZCkgX19hdHRyaWJ1dGVfXygod2VhaywgYWxpYXMoIm5hdGl2ZV9pbml0X0lSUSIpKSk7CisKK3ZvaWQgX19pbml0IG5hdGl2ZV9pbml0X0lSUSh2b2lkKQoreworCWludCBpOworCisJaW5pdF9JU0FfaXJxcygpOworCS8qCisJICogQ292ZXIgdGhlIHdob2xlIHZlY3RvciBzcGFjZSwgbm8gdmVjdG9yIGNhbiBlc2NhcGUKKwkgKiB1cy4gKHNvbWUgb2YgdGhlc2Ugd2lsbCBiZSBvdmVycmlkZGVuIGFuZCBiZWNvbWUKKwkgKiAnc3BlY2lhbCcgU01QIGludGVycnVwdHMpCisJICovCisJZm9yIChpID0gMDsgaSA8IChOUl9WRUNUT1JTIC0gRklSU1RfRVhURVJOQUxfVkVDVE9SKTsgaSsrKSB7CisJCWludCB2ZWN0b3IgPSBGSVJTVF9FWFRFUk5BTF9WRUNUT1IgKyBpOworCQlpZiAodmVjdG9yICE9IElBMzJfU1lTQ0FMTF9WRUNUT1IpCisJCQlzZXRfaW50cl9nYXRlKHZlY3RvciwgaW50ZXJydXB0W2ldKTsKKwl9CisKKyNpZmRlZiBDT05GSUdfU01QCisJLyoKKwkgKiBUaGUgcmVzY2hlZHVsZSBpbnRlcnJ1cHQgaXMgYSBDUFUtdG8tQ1BVIHJlc2NoZWR1bGUtaGVscGVyCisJICogSVBJLCBkcml2ZW4gYnkgd2FrZXVwLgorCSAqLworCWFsbG9jX2ludHJfZ2F0ZShSRVNDSEVEVUxFX1ZFQ1RPUiwgcmVzY2hlZHVsZV9pbnRlcnJ1cHQpOworCisJLyogSVBJcyBmb3IgaW52YWxpZGF0aW9uICovCisJYWxsb2NfaW50cl9nYXRlKElOVkFMSURBVEVfVExCX1ZFQ1RPUl9TVEFSVCswLCBpbnZhbGlkYXRlX2ludGVycnVwdDApOworCWFsbG9jX2ludHJfZ2F0ZShJTlZBTElEQVRFX1RMQl9WRUNUT1JfU1RBUlQrMSwgaW52YWxpZGF0ZV9pbnRlcnJ1cHQxKTsKKwlhbGxvY19pbnRyX2dhdGUoSU5WQUxJREFURV9UTEJfVkVDVE9SX1NUQVJUKzIsIGludmFsaWRhdGVfaW50ZXJydXB0Mik7CisJYWxsb2NfaW50cl9nYXRlKElOVkFMSURBVEVfVExCX1ZFQ1RPUl9TVEFSVCszLCBpbnZhbGlkYXRlX2ludGVycnVwdDMpOworCWFsbG9jX2ludHJfZ2F0ZShJTlZBTElEQVRFX1RMQl9WRUNUT1JfU1RBUlQrNCwgaW52YWxpZGF0ZV9pbnRlcnJ1cHQ0KTsKKwlhbGxvY19pbnRyX2dhdGUoSU5WQUxJREFURV9UTEJfVkVDVE9SX1NUQVJUKzUsIGludmFsaWRhdGVfaW50ZXJydXB0NSk7CisJYWxsb2NfaW50cl9nYXRlKElOVkFMSURBVEVfVExCX1ZFQ1RPUl9TVEFSVCs2LCBpbnZhbGlkYXRlX2ludGVycnVwdDYpOworCWFsbG9jX2ludHJfZ2F0ZShJTlZBTElEQVRFX1RMQl9WRUNUT1JfU1RBUlQrNywgaW52YWxpZGF0ZV9pbnRlcnJ1cHQ3KTsKKworCS8qIElQSSBmb3IgZ2VuZXJpYyBmdW5jdGlvbiBjYWxsICovCisJYWxsb2NfaW50cl9nYXRlKENBTExfRlVOQ1RJT05fVkVDVE9SLCBjYWxsX2Z1bmN0aW9uX2ludGVycnVwdCk7CisKKwkvKiBMb3cgcHJpb3JpdHkgSVBJIHRvIGNsZWFudXAgYWZ0ZXIgbW92aW5nIGFuIGlycSAqLworCXNldF9pbnRyX2dhdGUoSVJRX01PVkVfQ0xFQU5VUF9WRUNUT1IsIGlycV9tb3ZlX2NsZWFudXBfaW50ZXJydXB0KTsKKyNlbmRpZgorCWFsbG9jX2ludHJfZ2F0ZShUSEVSTUFMX0FQSUNfVkVDVE9SLCB0aGVybWFsX2ludGVycnVwdCk7CisJYWxsb2NfaW50cl9nYXRlKFRIUkVTSE9MRF9BUElDX1ZFQ1RPUiwgdGhyZXNob2xkX2ludGVycnVwdCk7CisKKwkvKiBzZWxmIGdlbmVyYXRlZCBJUEkgZm9yIGxvY2FsIEFQSUMgdGltZXIgKi8KKwlhbGxvY19pbnRyX2dhdGUoTE9DQUxfVElNRVJfVkVDVE9SLCBhcGljX3RpbWVyX2ludGVycnVwdCk7CisKKwkvKiBJUEkgdmVjdG9ycyBmb3IgQVBJQyBzcHVyaW91cyBhbmQgZXJyb3IgaW50ZXJydXB0cyAqLworCWFsbG9jX2ludHJfZ2F0ZShTUFVSSU9VU19BUElDX1ZFQ1RPUiwgc3B1cmlvdXNfaW50ZXJydXB0KTsKKwlhbGxvY19pbnRyX2dhdGUoRVJST1JfQVBJQ19WRUNUT1IsIGVycm9yX2ludGVycnVwdCk7CisKKwlpZiAoIWFjcGlfaW9hcGljKQorCQlzZXR1cF9pcnEoMiwgJmlycTIpOworfQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2xkdC5jIGIvYXJjaC94ODYva2VybmVsL2xkdC5jCmluZGV4IDAyMjRjMzYuLjIxZjJiYWUgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9sZHQuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvbGR0LmMKQEAgLTIwLDkgKzIwLDkgQEAKICNpbmNsdWRlIDxhc20vbW11X2NvbnRleHQuaD4KIAogI2lmZGVmIENPTkZJR19TTVAKLXN0YXRpYyB2b2lkIGZsdXNoX2xkdCh2b2lkICpudWxsKQorc3RhdGljIHZvaWQgZmx1c2hfbGR0KHZvaWQgKmN1cnJlbnRfbW0pCiB7Ci0JaWYgKGN1cnJlbnQtPmFjdGl2ZV9tbSkKKwlpZiAoY3VycmVudC0+YWN0aXZlX21tID09IGN1cnJlbnRfbW0pCiAJCWxvYWRfTERUKCZjdXJyZW50LT5hY3RpdmVfbW0tPmNvbnRleHQpOwogfQogI2VuZGlmCkBAIC02OCw3ICs2OCw3IEBACiAJCWxvYWRfTERUKHBjKTsKIAkJbWFzayA9IGNwdW1hc2tfb2ZfY3B1KHNtcF9wcm9jZXNzb3JfaWQoKSk7CiAJCWlmICghY3B1c19lcXVhbChjdXJyZW50LT5tbS0+Y3B1X3ZtX21hc2ssIG1hc2spKQotCQkJc21wX2NhbGxfZnVuY3Rpb24oZmx1c2hfbGR0LCBOVUxMLCAxLCAxKTsKKwkJCXNtcF9jYWxsX2Z1bmN0aW9uKGZsdXNoX2xkdCwgY3VycmVudC0+bW0sIDEsIDEpOwogCQlwcmVlbXB0X2VuYWJsZSgpOwogI2Vsc2UKIAkJbG9hZF9MRFQocGMpOwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL21hY2hpbmVfa2V4ZWNfMzIuYyBiL2FyY2gveDg2L2tlcm5lbC9tYWNoaW5lX2tleGVjXzMyLmMKaW5kZXggZDBiMjM0Yy4uODg2NDIzMCAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL21hY2hpbmVfa2V4ZWNfMzIuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvbWFjaGluZV9rZXhlY18zMi5jCkBAIC0xMSw2ICsxMSw4IEBACiAjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+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+ZF9pbm9kZSk7CisKKwlpZiAoY3B1ID49IE5SX0NQVVMgfHwgIWNwdV9vbmxpbmUoY3B1KSkgeworCQlyZXQgPSAtRU5YSU87CS8qIE5vIHN1Y2ggQ1BVICovCisJCWdvdG8gb3V0OworCX0KKwljID0gJmNwdV9kYXRhKGNwdSk7CiAJaWYgKCFjcHVfaGFzKGMsIFg4Nl9GRUFUVVJFX01TUikpCi0JCXJldHVybiAtRUlPOwkvKiBNU1Igbm90IHN1cHBvcnRlZCAqLwotCisJCXJldCA9IC1FSU87CS8qIE1TUiBub3Qgc3VwcG9ydGVkICovCitvdXQ6CisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiAwOwogfQogCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvbm1pXzY0LmMgYi9hcmNoL3g4Ni9rZXJuZWwvbm1pLmMKc2ltaWxhcml0eSBpbmRleCA2OCUKcmVuYW1lIGZyb20gYXJjaC94ODYva2VybmVsL25taV82NC5jCnJlbmFtZSB0byBhcmNoL3g4Ni9rZXJuZWwvbm1pLmMKaW5kZXggNWEyOWRlZC4uNzE2Yjg5MiAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL25taV82NC5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9ubWkuYwpAQCAtNiwxMCArNiwxMyBAQAogICogIEZpeGVzOgogICogIE1pa2FlbCBQZXR0ZXJzc29uCTogQU1EIEs3IHN1cHBvcnQgZm9yIGxvY2FsIEFQSUMgTk1JIHdhdGNoZG9nLgogICogIE1pa2FlbCBQZXR0ZXJzc29uCTogUG93ZXIgTWFuYWdlbWVudCBmb3IgbG9jYWwgQVBJQyBOTUkgd2F0Y2hkb2cuCisgKiAgTWlrYWVsIFBldHRlcnNzb24JOiBQZW50aXVtIDQgc3VwcG9ydCBmb3IgbG9jYWwgQVBJQyBOTUkgd2F0Y2hkb2cuCiAgKiAgUGF2ZWwgTWFjaGVrIGFuZAogICogIE1pa2FlbCBQZXR0ZXJzc29uCTogUE0gY29udmVydGVkIHRvIGRyaXZlciBtb2RlbC4gRGlzYWJsZS9lbmFibGUgQVBJLgogICovCiAKKyNpbmNsdWRlIDxhc20vYXBpYy5oPgorCiAjaW5jbHVkZSA8bGludXgvbm1pLmg+CiAjaW5jbHVkZSA8bGludXgvbW0uaD4KICNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgpAQCAtMTcsMjAgKzIwLDI2IEBACiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CiAjaW5jbHVkZSA8bGludXgvc3lzZGV2Lmg+CiAjaW5jbHVkZSA8bGludXgvc3lzY3RsLmg+CisjaW5jbHVkZSA8bGludXgvcGVyY3B1Lmg+CiAjaW5jbHVkZSA8bGludXgva3Byb2Jlcy5oPgogI2luY2x1ZGUgPGxpbnV4L2NwdW1hc2suaD4KKyNpbmNsdWRlIDxsaW51eC9rZXJuZWxfc3RhdC5oPgogI2luY2x1ZGUgPGxpbnV4L2tkZWJ1Zy5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcC5oPgogCisjaW5jbHVkZSA8YXNtL2k4MjU5Lmg+CisjaW5jbHVkZSA8YXNtL2lvX2FwaWMuaD4KICNpbmNsdWRlIDxhc20vc21wLmg+CiAjaW5jbHVkZSA8YXNtL25taS5oPgogI2luY2x1ZGUgPGFzbS9wcm90by5oPgorI2luY2x1ZGUgPGFzbS90aW1lci5oPgorCiAjaW5jbHVkZSA8YXNtL21jZS5oPgogCiAjaW5jbHVkZSA8bWFjaF90cmFwcy5oPgogCiBpbnQgdW5rbm93bl9ubWlfcGFuaWM7CiBpbnQgbm1pX3dhdGNoZG9nX2VuYWJsZWQ7Ci1pbnQgcGFuaWNfb25fdW5yZWNvdmVyZWRfbm1pOwogCiBzdGF0aWMgY3B1bWFza190IGJhY2t0cmFjZV9tYXNrID0gQ1BVX01BU0tfTk9ORTsKIApAQCAtNDEsMzcgKzUwLDY1IEBACiAgKiAgMDogdGhlIGxhcGljIE5NSSB3YXRjaGRvZyBpcyBkaXNhYmxlZCwgYnV0IGNhbiBiZSBlbmFibGVkCiAgKi8KIGF0b21pY190IG5taV9hY3RpdmUgPSBBVE9NSUNfSU5JVCgwKTsJCS8qIG9wcm9maWxlIHVzZXMgdGhpcyAqLworRVhQT1JUX1NZTUJPTChubWlfYWN0aXZlKTsKKwordW5zaWduZWQgaW50IG5taV93YXRjaGRvZyA9IE5NSV9OT05FOworRVhQT1JUX1NZTUJPTChubWlfd2F0Y2hkb2cpOworCiBzdGF0aWMgaW50IHBhbmljX29uX3RpbWVvdXQ7CiAKLXVuc2lnbmVkIGludCBubWlfd2F0Y2hkb2cgPSBOTUlfREVGQVVMVDsKIHN0YXRpYyB1bnNpZ25lZCBpbnQgbm1pX2h6ID0gSFo7Ci0KIHN0YXRpYyBERUZJTkVfUEVSX0NQVShzaG9ydCwgd2RfZW5hYmxlZCk7CitzdGF0aWMgaW50IGVuZGZsYWcgX19pbml0ZGF0YTsKIAotLyogUnVuIGFmdGVyIGNvbW1hbmQgbGluZSBhbmQgY3B1X2luaXQgaW5pdCwgYnV0IGJlZm9yZSBhbGwgb3RoZXIgY2hlY2tzICovCi12b2lkIG5taV93YXRjaGRvZ19kZWZhdWx0KHZvaWQpCitzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGludCBnZXRfbm1pX2NvdW50KGludCBjcHUpCiB7Ci0JaWYgKG5taV93YXRjaGRvZyAhPSBOTUlfREVGQVVMVCkKLQkJcmV0dXJuOwotCW5taV93YXRjaGRvZyA9IE5NSV9OT05FOworI2lmZGVmIENPTkZJR19YODZfNjQKKwlyZXR1cm4gY3B1X3BkYShjcHUpLT5fX25taV9jb3VudDsKKyNlbHNlCisJcmV0dXJuIG5taV9jb3VudChjcHUpOworI2VuZGlmCiB9CiAKLXN0YXRpYyBpbnQgZW5kZmxhZyBfX2luaXRkYXRhID0gMDsKK3N0YXRpYyBpbmxpbmUgaW50IG1jZV9pbl9wcm9ncmVzcyh2b2lkKQoreworI2lmIGRlZmluZWQoQ09ORklHX1g4Nl82NCkgJiYgZGVmaW5lZChDT05GSUdfWDg2X01DRSkKKwlyZXR1cm4gYXRvbWljX3JlYWQoJm1jZV9lbnRyeSkgPiAwOworI2VuZGlmCisJcmV0dXJuIDA7Cit9CisKKy8qCisgKiBUYWtlIHRoZSBsb2NhbCBhcGljIHRpbWVyIGFuZCBQSVQvSFBFVCBpbnRvIGFjY291bnQuIFdlIGRvbid0CisgKiBrbm93IHdoaWNoIG9uZSBpcyBhY3RpdmUsIHdoZW4gd2UgaGF2ZSBoaWdocmVzL2R5bnRpY2sgb24KKyAqLworc3RhdGljIGlubGluZSB1bnNpZ25lZCBpbnQgZ2V0X3RpbWVyX2lycXMoaW50IGNwdSkKK3sKKyNpZmRlZiBDT05GSUdfWDg2XzY0CisJcmV0dXJuIHJlYWRfcGRhKGFwaWNfdGltZXJfaXJxcykgKyByZWFkX3BkYShpcnEwX2lycXMpOworI2Vsc2UKKwlyZXR1cm4gcGVyX2NwdShpcnFfc3RhdCwgY3B1KS5hcGljX3RpbWVyX2lycXMgKworCQlwZXJfY3B1KGlycV9zdGF0LCBjcHUpLmlycTBfaXJxczsKKyNlbmRpZgorfQogCiAjaWZkZWYgQ09ORklHX1NNUAotLyogVGhlIHBlcmZvcm1hbmNlIGNvdW50ZXJzIHVzZWQgYnkgTk1JX0xPQ0FMX0FQSUMgZG9uJ3QgdHJpZ2dlciB3aGVuCisvKgorICogVGhlIHBlcmZvcm1hbmNlIGNvdW50ZXJzIHVzZWQgYnkgTk1JX0xPQ0FMX0FQSUMgZG9uJ3QgdHJpZ2dlciB3aGVuCiAgKiB0aGUgQ1BVIGlzIGlkbGUuIFRvIG1ha2Ugc3VyZSB0aGUgTk1JIHdhdGNoZG9nIHJlYWxseSB0aWNrcyBvbiBhbGwKICAqIENQVXMgZHVyaW5nIHRoZSB0ZXN0IG1ha2UgdGhlbSBidXN5LgogICovCiBzdGF0aWMgX19pbml0IHZvaWQgbm1pX2NwdV9idXN5KHZvaWQgKmRhdGEpCiB7CiAJbG9jYWxfaXJxX2VuYWJsZV9pbl9oYXJkaXJxKCk7Ci0JLyogSW50ZW50aW9uYWxseSBkb24ndCB1c2UgY3B1X3JlbGF4IGhlcmUuIFRoaXMgaXMKLQkgICB0byBtYWtlIHN1cmUgdGhhdCB0aGUgcGVyZm9ybWFuY2UgY291bnRlciByZWFsbHkgdGlja3MsCi0JICAgZXZlbiBpZiB0aGVyZSBpcyBhIHNpbXVsYXRvciBvciBzaW1pbGFyIHRoYXQgY2F0Y2hlcyB0aGUKLQkgICBwYXVzZSBpbnN0cnVjdGlvbi4gT24gYSByZWFsIEhUIG1hY2hpbmUgdGhpcyBpcyBmaW5lIGJlY2F1c2UKLQkgICBhbGwgb3RoZXIgQ1BVcyBhcmUgYnVzeSB3aXRoICJ1c2VsZXNzIiBkZWxheSBsb29wcyBhbmQgZG9uJ3QKLQkgICBjYXJlIGlmIHRoZXkgZ2V0IHNvbWV3aGF0IGxlc3MgY3ljbGVzLiAqLworCS8qCisJICogSW50ZW50aW9uYWxseSBkb24ndCB1c2UgY3B1X3JlbGF4IGhlcmUuIFRoaXMgaXMKKwkgKiB0byBtYWtlIHN1cmUgdGhhdCB0aGUgcGVyZm9ybWFuY2UgY291bnRlciByZWFsbHkgdGlja3MsCisJICogZXZlbiBpZiB0aGVyZSBpcyBhIHNpbXVsYXRvciBvciBzaW1pbGFyIHRoYXQgY2F0Y2hlcyB0aGUKKwkgKiBwYXVzZSBpbnN0cnVjdGlvbi4gT24gYSByZWFsIEhUIG1hY2hpbmUgdGhpcyBpcyBmaW5lIGJlY2F1c2UKKwkgKiBhbGwgb3RoZXIgQ1BVcyBhcmUgYnVzeSB3aXRoICJ1c2VsZXNzIiBkZWxheSBsb29wcyBhbmQgZG9uJ3QKKwkgKiBjYXJlIGlmIHRoZXkgZ2V0IHNvbWV3aGF0IGxlc3MgY3ljbGVzLgorCSAqLwogCXdoaWxlIChlbmRmbGFnID09IDApCiAJCW1iKCk7CiB9CkBAIC03OSwxOCArMTE2LDE1IEBACiAKIGludCBfX2luaXQgY2hlY2tfbm1pX3dhdGNoZG9nKHZvaWQpCiB7Ci0JaW50ICpwcmV2X25taV9jb3VudDsKKwl1bnNpZ25lZCBpbnQgKnByZXZfbm1pX2NvdW50OwogCWludCBjcHU7CiAKLQlpZiAoKG5taV93YXRjaGRvZyA9PSBOTUlfTk9ORSkgfHwgKG5taV93YXRjaGRvZyA9PSBOTUlfRElTQUJMRUQpKQorCWlmICghbm1pX3dhdGNoZG9nX2FjdGl2ZSgpIHx8ICFhdG9taWNfcmVhZCgmbm1pX2FjdGl2ZSkpCiAJCXJldHVybiAwOwogCi0JaWYgKCFhdG9taWNfcmVhZCgmbm1pX2FjdGl2ZSkpCi0JCXJldHVybiAwOwotCi0JcHJldl9ubWlfY291bnQgPSBrbWFsbG9jKE5SX0NQVVMgKiBzaXplb2YoaW50KSwgR0ZQX0tFUk5FTCk7CisJcHJldl9ubWlfY291bnQgPSBrbWFsbG9jKG5yX2NwdV9pZHMgKiBzaXplb2YoaW50KSwgR0ZQX0tFUk5FTCk7CiAJaWYgKCFwcmV2X25taV9jb3VudCkKLQkJcmV0dXJuIC0xOworCQlnb3RvIGVycm9yOwogCiAJcHJpbnRrKEtFUk5fSU5GTyAiVGVzdGluZyBOTUkgd2F0Y2hkb2cgLi4uICIpOwogCkBAIC05OSwyMCArMTMzLDIwIEBACiAJCXNtcF9jYWxsX2Z1bmN0aW9uKG5taV9jcHVfYnVzeSwgKHZvaWQgKikmZW5kZmxhZywgMCwgMCk7CiAjZW5kaWYKIAotCWZvciAoY3B1ID0gMDsgY3B1IDwgTlJfQ1BVUzsgY3B1KyspCi0JCXByZXZfbm1pX2NvdW50W2NwdV0gPSBjcHVfcGRhKGNwdSktPl9fbm1pX2NvdW50OworCWZvcl9lYWNoX3Bvc3NpYmxlX2NwdShjcHUpCisJCXByZXZfbm1pX2NvdW50W2NwdV0gPSBnZXRfbm1pX2NvdW50KGNwdSk7CiAJbG9jYWxfaXJxX2VuYWJsZSgpOwotCW1kZWxheSgoMjAqMTAwMCkvbm1pX2h6KTsgLy8gd2FpdCAyMCB0aWNrcworCW1kZWxheSgoMjAgKiAxMDAwKSAvIG5taV9oeik7IC8qIHdhaXQgMjAgdGlja3MgKi8KIAogCWZvcl9lYWNoX29ubGluZV9jcHUoY3B1KSB7CiAJCWlmICghcGVyX2NwdSh3ZF9lbmFibGVkLCBjcHUpKQogCQkJY29udGludWU7Ci0JCWlmIChjcHVfcGRhKGNwdSktPl9fbm1pX2NvdW50IC0gcHJldl9ubWlfY291bnRbY3B1XSA8PSA1KSB7CisJCWlmIChnZXRfbm1pX2NvdW50KGNwdSkgLSBwcmV2X25taV9jb3VudFtjcHVdIDw9IDUpIHsKIAkJCXByaW50ayhLRVJOX1dBUk5JTkcgIldBUk5JTkc6IENQVSMlZDogTk1JICIKLQkJCSAgICAgICAiYXBwZWFycyB0byBiZSBzdHVjayAoJWQtPiVkKSFcbiIsCisJCQkJImFwcGVhcnMgdG8gYmUgc3R1Y2sgKCVkLT4lZCkhXG4iLAogCQkJCWNwdSwKIAkJCQlwcmV2X25taV9jb3VudFtjcHVdLAotCQkJCWNwdV9wZGEoY3B1KS0+X19ubWlfY291bnQpOworCQkJCWdldF9ubWlfY291bnQoY3B1KSk7CiAJCQlwZXJfY3B1KHdkX2VuYWJsZWQsIGNwdSkgPSAwOwogCQkJYXRvbWljX2RlYygmbm1pX2FjdGl2ZSk7CiAJCX0KQEAgLTEyMSwyNCArMTU1LDMzIEBACiAJaWYgKCFhdG9taWNfcmVhZCgmbm1pX2FjdGl2ZSkpIHsKIAkJa2ZyZWUocHJldl9ubWlfY291bnQpOwogCQlhdG9taWNfc2V0KCZubWlfYWN0aXZlLCAtMSk7Ci0JCXJldHVybiAtMTsKKwkJZ290byBlcnJvcjsKIAl9CiAJcHJpbnRrKCJPSy5cbiIpOwogCi0JLyogbm93IHRoYXQgd2Uga25vdyBpdCB3b3JrcyB3ZSBjYW4gcmVkdWNlIE5NSSBmcmVxdWVuY3kgdG8KLQkgICBzb21ldGhpbmcgbW9yZSByZWFzb25hYmxlOyBtYWtlcyBhIGRpZmZlcmVuY2UgaW4gc29tZSBjb25maWdzICovCisJLyoKKwkgKiBub3cgdGhhdCB3ZSBrbm93IGl0IHdvcmtzIHdlIGNhbiByZWR1Y2UgTk1JIGZyZXF1ZW5jeSB0bworCSAqIHNvbWV0aGluZyBtb3JlIHJlYXNvbmFibGU7IG1ha2VzIGEgZGlmZmVyZW5jZSBpbiBzb21lIGNvbmZpZ3MKKwkgKi8KIAlpZiAobm1pX3dhdGNoZG9nID09IE5NSV9MT0NBTF9BUElDKQogCQlubWlfaHogPSBsYXBpY19hZGp1c3Rfbm1pX2h6KDEpOwogCiAJa2ZyZWUocHJldl9ubWlfY291bnQpOwogCXJldHVybiAwOworZXJyb3I6CisJaWYgKG5taV93YXRjaGRvZyA9PSBOTUlfSU9fQVBJQyAmJiAhdGltZXJfdGhyb3VnaF84MjU5KQorCQlkaXNhYmxlXzgyNTlBX2lycSgwKTsKKyNpZmRlZiBDT05GSUdfWDg2XzMyCisJdGltZXJfYWNrID0gMDsKKyNlbmRpZgorCXJldHVybiAtMTsKIH0KIAogc3RhdGljIGludCBfX2luaXQgc2V0dXBfbm1pX3dhdGNoZG9nKGNoYXIgKnN0cikKIHsKLQlpbnQgbm1pOworCXVuc2lnbmVkIGludCBubWk7CiAKLQlpZiAoIXN0cm5jbXAoc3RyLCJwYW5pYyIsNSkpIHsKKwlpZiAoIXN0cm5jbXAoc3RyLCAicGFuaWMiLCA1KSkgewogCQlwYW5pY19vbl90aW1lb3V0ID0gMTsKIAkJc3RyID0gc3RyY2hyKHN0ciwgJywnKTsKIAkJaWYgKCFzdHIpCkBAIC0xNDgsMTUgKzE5MSwxNyBAQAogCiAJZ2V0X29wdGlvbigmc3RyLCAmbm1pKTsKIAotCWlmICgobm1pID49IE5NSV9JTlZBTElEKSB8fCAobm1pIDwgTk1JX05PTkUpKQorCWlmIChubWkgPj0gTk1JX0lOVkFMSUQpCiAJCXJldHVybiAwOwogCiAJbm1pX3dhdGNoZG9nID0gbm1pOwogCXJldHVybiAxOwogfQotCiBfX3NldHVwKCJubWlfd2F0Y2hkb2c9Iiwgc2V0dXBfbm1pX3dhdGNoZG9nKTsKIAorLyoKKyAqIFN1c3BlbmQvcmVzdW1lIHN1cHBvcnQKKyAqLwogI2lmZGVmIENPTkZJR19QTQogCiBzdGF0aWMgaW50IG5taV9wbV9hY3RpdmU7IC8qIG5taV9hY3RpdmUgYmVmb3JlIHN1c3BlbmQgKi8KQEAgLTE5NSw3ICsyNDAsOCBAQAogewogCWludCBlcnJvcjsKIAotCS8qIHNob3VsZCByZWFsbHkgYmUgYSBCVUdfT04gYnV0IGIvYyB0aGlzIGlzIGFuCisJLyoKKwkgKiBzaG91bGQgcmVhbGx5IGJlIGEgQlVHX09OIGJ1dCBiL2MgdGhpcyBpcyBhbgogCSAqIGluaXQgY2FsbCwgaXQganVzdCBkb2Vzbid0IHdvcmsuICAtZGN6CiAJICovCiAJaWYgKG5taV93YXRjaGRvZyAhPSBOTUlfTE9DQUxfQVBJQykKQEAgLTIwOSw2ICsyNTUsNyBAQAogCQllcnJvciA9IHN5c2Rldl9yZWdpc3RlcigmZGV2aWNlX2xhcGljX25taSk7CiAJcmV0dXJuIGVycm9yOwogfQorCiAvKiBtdXN0IGNvbWUgYWZ0ZXIgdGhlIGxvY2FsIEFQSUMncyBkZXZpY2VfaW5pdGNhbGwoKSAqLwogbGF0ZV9pbml0Y2FsbChpbml0X2xhcGljX25taV9zeXNmcyk7CiAKQEAgLTIxNiw3ICsyNjMsNyBAQAogCiBzdGF0aWMgdm9pZCBfX2FjcGlfbm1pX2VuYWJsZSh2b2lkICpfX3VudXNlZCkKIHsKLQlhcGljX3dyaXRlKEFQSUNfTFZUMCwgQVBJQ19ETV9OTUkpOworCWFwaWNfd3JpdGVfYXJvdW5kKEFQSUNfTFZUMCwgQVBJQ19ETV9OTUkpOwogfQogCiAvKgpAQCAtMjMwLDcgKzI3Nyw3IEBACiAKIHN0YXRpYyB2b2lkIF9fYWNwaV9ubWlfZGlzYWJsZSh2b2lkICpfX3VudXNlZCkKIHsKLQlhcGljX3dyaXRlKEFQSUNfTFZUMCwgQVBJQ19ETV9OTUkgfCBBUElDX0xWVF9NQVNLRUQpOworCWFwaWNfd3JpdGVfYXJvdW5kKEFQSUNfTFZUMCwgQVBJQ19ETV9OTUkgfCBBUElDX0xWVF9NQVNLRUQpOwogfQogCiAvKgpAQCAtMjQ5LDExICsyOTYsMTIgQEAKIAogCS8qIGNoZWFwIGhhY2sgdG8gc3VwcG9ydCBzdXNwZW5kL3Jlc3VtZSAqLwogCS8qIGlmIGNwdTAgaXMgbm90IGFjdGl2ZSBuZWl0aGVyIHNob3VsZCB0aGUgb3RoZXIgY3B1cyAqLwotCWlmICgoc21wX3Byb2Nlc3Nvcl9pZCgpICE9IDApICYmIChhdG9taWNfcmVhZCgmbm1pX2FjdGl2ZSkgPD0gMCkpCisJaWYgKHNtcF9wcm9jZXNzb3JfaWQoKSAhPSAwICYmIGF0b21pY19yZWFkKCZubWlfYWN0aXZlKSA8PSAwKQogCQlyZXR1cm47CiAKIAlzd2l0Y2ggKG5taV93YXRjaGRvZykgewogCWNhc2UgTk1JX0xPQ0FMX0FQSUM6CisJCSAvKiBlbmFibGUgaXQgYmVmb3JlIHRvIGF2b2lkIHJhY2Ugd2l0aCBoYW5kbGVyICovCiAJCV9fZ2V0X2NwdV92YXIod2RfZW5hYmxlZCkgPSAxOwogCQlpZiAobGFwaWNfd2F0Y2hkb2dfaW5pdChubWlfaHopIDwgMCkgewogCQkJX19nZXRfY3B1X3Zhcih3ZF9lbmFibGVkKSA9IDA7CkBAIC0yNjksOSArMzE3LDggQEAKIHZvaWQgc3RvcF9hcGljX25taV93YXRjaGRvZyh2b2lkICp1bnVzZWQpCiB7CiAJLyogb25seSBzdXBwb3J0IExPQ0FMIGFuZCBJTyBBUElDcyBmb3Igbm93ICovCi0JaWYgKChubWlfd2F0Y2hkb2cgIT0gTk1JX0xPQ0FMX0FQSUMpICYmCi0JICAgIChubWlfd2F0Y2hkb2cgIT0gTk1JX0lPX0FQSUMpKQotCSAgICAJcmV0dXJuOworCWlmICghbm1pX3dhdGNoZG9nX2FjdGl2ZSgpKQorCQlyZXR1cm47CiAJaWYgKF9fZ2V0X2NwdV92YXIod2RfZW5hYmxlZCkgPT0gMCkKIAkJcmV0dXJuOwogCWlmIChubWlfd2F0Y2hkb2cgPT0gTk1JX0xPQ0FMX0FQSUMpCkBAIC0yODcsNiArMzM0LDExIEBACiAgKgogICogYXMgdGhlc2Ugd2F0Y2hkb2cgTk1JIElSUXMgYXJlIGdlbmVyYXRlZCBvbiBldmVyeSBDUFUsIHdlIG9ubHkKICAqIGhhdmUgdG8gY2hlY2sgdGhlIGN1cnJlbnQgcHJvY2Vzc29yLgorICoKKyAqIHNpbmNlIE5NSXMgZG9uJ3QgbGlzdGVuIHRvIF9hbnlfIGxvY2tzLCB3ZSBoYXZlIHRvIGJlIGV4dHJlbWVseQorICogY2FyZWZ1bCBub3QgdG8gcmVseSBvbiB1bnNhZmUgdmFyaWFibGVzLiBUaGUgcHJpbnRrIG1pZ2h0IGxvY2sKKyAqIHVwIHRob3VnaCwgc28gd2UgaGF2ZSB0byBicmVhayB1cCBhbnkgY29uc29sZSBsb2NrcyBmaXJzdCAuLi4KKyAqIFt3aGVuIHRoZXJlIHdpbGwgYmUgbW9yZSB0dHktcmVsYXRlZCBsb2NrcywgYnJlYWsgdGhlbSB1cCBoZXJlIHRvbyFdCiAgKi8KIAogc3RhdGljIERFRklORV9QRVJfQ1BVKHVuc2lnbmVkLCBsYXN0X2lycV9zdW0pOwpAQCAtMjk1LDExICszNDcsMTEgQEAKIAogdm9pZCB0b3VjaF9ubWlfd2F0Y2hkb2codm9pZCkKIHsKLQlpZiAobm1pX3dhdGNoZG9nID4gMCkgeworCWlmIChubWlfd2F0Y2hkb2dfYWN0aXZlKCkpIHsKIAkJdW5zaWduZWQgY3B1OwogCiAJCS8qCi0gCQkgKiBUZWxsIG90aGVyIENQVXMgdG8gcmVzZXQgdGhlaXIgYWxlcnQgY291bnRlcnMuIFdlIGNhbm5vdAorCQkgKiBUZWxsIG90aGVyIENQVXMgdG8gcmVzZXQgdGhlaXIgYWxlcnQgY291bnRlcnMuIFdlIGNhbm5vdAogCQkgKiBkbyBpdCBvdXJzZWx2ZXMgYmVjYXVzZSB0aGUgYWxlcnQgY291bnQgaW5jcmVhc2UgaXMgbm90CiAJCSAqIGF0b21pYy4KIAkJICovCkBAIC0zMDksNiArMzYxLDkgQEAKIAkJfQogCX0KIAorCS8qCisJICogVGlja2xlIHRoZSBzb2Z0bG9ja3VwIGRldGVjdG9yIHRvbzoKKwkgKi8KIAl0b3VjaF9zb2Z0bG9ja3VwX3dhdGNoZG9nKCk7CiB9CiBFWFBPUlRfU1lNQk9MKHRvdWNoX25taV93YXRjaGRvZyk7CkBAIC0zMTYsNyArMzcxLDEyIEBACiBub3RyYWNlIF9fa3Byb2JlcyBpbnQKIG5taV93YXRjaGRvZ190aWNrKHN0cnVjdCBwdF9yZWdzICpyZWdzLCB1bnNpZ25lZCByZWFzb24pCiB7Ci0JaW50IHN1bTsKKwkvKgorCSAqIFNpbmNlIGN1cnJlbnRfdGhyZWFkX2luZm8oKS0+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+IHVwcGVyIHx8ICFyb21jaGVja3N1bShyb20sIGxlbmd0aCkpCisJCQljb250aW51ZTsKKworCQlhZGFwdGVyX3JvbV9yZXNvdXJjZXNbaV0uc3RhcnQgPSBzdGFydDsKKwkJYWRhcHRlcl9yb21fcmVzb3VyY2VzW2ldLmVuZCA9IHN0YXJ0ICsgbGVuZ3RoIC0gMTsKKwkJcmVxdWVzdF9yZXNvdXJjZSgmaW9tZW1fcmVzb3VyY2UsICZhZGFwdGVyX3JvbV9yZXNvdXJjZXNbaV0pOworCisJCXN0YXJ0ID0gYWRhcHRlcl9yb21fcmVzb3VyY2VzW2krK10uZW5kICYgfjIwNDdVTDsKKwl9Cit9CisKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9wcm9jZXNzLmMgYi9hcmNoL3g4Ni9rZXJuZWwvcHJvY2Vzcy5jCmluZGV4IGJhMzcwZGMuLjQwNjFkNjMgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9wcm9jZXNzLmMKKysrIGIvYXJjaC94ODYva2VybmVsL3Byb2Nlc3MuYwpAQCAtNiw2ICs2LDcgQEAKICNpbmNsdWRlIDxsaW51eC9zY2hlZC5oPgogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogI2luY2x1ZGUgPGxpbnV4L3BtLmg+CisjaW5jbHVkZSA8bGludXgvY2xvY2tjaGlwcy5oPgogCiBzdHJ1Y3Qga21lbV9jYWNoZSAqdGFza194c3RhdGVfY2FjaGVwOwogCkBAIC00NSw2ICs0Niw3NiBAQAogCQkJCSAgU0xBQl9QQU5JQywgTlVMTCk7CiB9CiAKKy8qCisgKiBJZGxlIHJlbGF0ZWQgdmFyaWFibGVzIGFuZCBmdW5jdGlvbnMKKyAqLwordW5zaWduZWQgbG9uZyBib290X29wdGlvbl9pZGxlX292ZXJyaWRlID0gMDsKK0VYUE9SVF9TWU1CT0woYm9vdF9vcHRpb25faWRsZV9vdmVycmlkZSk7CisKKy8qCisgKiBQb3dlcm1hbmFnZW1lbnQgaWRsZSBmdW5jdGlvbiwgaWYgYW55Li4KKyAqLwordm9pZCAoKnBtX2lkbGUpKHZvaWQpOworRVhQT1JUX1NZTUJPTChwbV9pZGxlKTsKKworI2lmZGVmIENPTkZJR19YODZfMzIKKy8qCisgKiBUaGlzIGhhbHQgbWFnaWMgd2FzIGEgd29ya2Fyb3VuZCBmb3IgYW5jaWVudCBmbG9wcHkgRE1BCisgKiB3cmVja2FnZS4gSXQgc2hvdWxkIGJlIHNhZmUgdG8gcmVtb3ZlLgorICovCitzdGF0aWMgaW50IGhsdF9jb3VudGVyOwordm9pZCBkaXNhYmxlX2hsdCh2b2lkKQoreworCWhsdF9jb3VudGVyKys7Cit9CitFWFBPUlRfU1lNQk9MKGRpc2FibGVfaGx0KTsKKwordm9pZCBlbmFibGVfaGx0KHZvaWQpCit7CisJaGx0X2NvdW50ZXItLTsKK30KK0VYUE9SVF9TWU1CT0woZW5hYmxlX2hsdCk7CisKK3N0YXRpYyBpbmxpbmUgaW50IGhsdF91c2VfaGFsdCh2b2lkKQoreworCXJldHVybiAoIWhsdF9jb3VudGVyICYmIGJvb3RfY3B1X2RhdGEuaGx0X3dvcmtzX29rKTsKK30KKyNlbHNlCitzdGF0aWMgaW5saW5lIGludCBobHRfdXNlX2hhbHQodm9pZCkKK3sKKwlyZXR1cm4gMTsKK30KKyNlbmRpZgorCisvKgorICogV2UgdXNlIHRoaXMgaWYgd2UgZG9uJ3QgaGF2ZSBhbnkgYmV0dGVyCisgKiBpZGxlIHJvdXRpbmUuLgorICovCit2b2lkIGRlZmF1bHRfaWRsZSh2b2lkKQoreworCWlmIChobHRfdXNlX2hhbHQoKSkgeworCQljdXJyZW50X3RocmVhZF9pbmZvKCktPnN0YXR1cyAmPSB+VFNfUE9MTElORzsKKwkJLyoKKwkJICogVFNfUE9MTElORy1jbGVhcmVkIHN0YXRlIG11c3QgYmUgdmlzaWJsZSBiZWZvcmUgd2UKKwkJICogdGVzdCBORUVEX1JFU0NIRUQ6CisJCSAqLworCQlzbXBfbWIoKTsKKworCQlpZiAoIW5lZWRfcmVzY2hlZCgpKQorCQkJc2FmZV9oYWx0KCk7CS8qIGVuYWJsZXMgaW50ZXJydXB0cyByYWNlbGVzc2x5ICovCisJCWVsc2UKKwkJCWxvY2FsX2lycV9lbmFibGUoKTsKKwkJY3VycmVudF90aHJlYWRfaW5mbygpLT5zdGF0dXMgfD0gVFNfUE9MTElORzsKKwl9IGVsc2UgeworCQlsb2NhbF9pcnFfZW5hYmxlKCk7CisJCS8qIGxvb3AgaXMgZG9uZSBieSB0aGUgY2FsbGVyICovCisJCWNwdV9yZWxheCgpOworCX0KK30KKyNpZmRlZiBDT05GSUdfQVBNX01PRFVMRQorRVhQT1JUX1NZTUJPTChkZWZhdWx0X2lkbGUpOworI2VuZGlmCisKIHN0YXRpYyB2b2lkIGRvX25vdGhpbmcodm9pZCAqdW51c2VkKQogewogfQpAQCAtMTIyLDQ0ICsxOTMsMTI5IEBACiAgKgogICogaWRsZT1td2FpdCBvdmVycmlkZXMgdGhpcyBkZWNpc2lvbiBhbmQgZm9yY2VzIHRoZSB1c2FnZSBvZiBtd2FpdC4KICAqLworCisjZGVmaW5lIE1XQUlUX0lORk8JCQkweDA1CisjZGVmaW5lIE1XQUlUX0VDWF9FWFRFTkRFRF9JTkZPCQkweDAxCisjZGVmaW5lIE1XQUlUX0VEWF9DMQkJCTB4ZjAKKwogc3RhdGljIGludCBfX2NwdWluaXQgbXdhaXRfdXNhYmxlKGNvbnN0IHN0cnVjdCBjcHVpbmZvX3g4NiAqYykKIHsKKwl1MzIgZWF4LCBlYngsIGVjeCwgZWR4OworCiAJaWYgKGZvcmNlX213YWl0KQogCQlyZXR1cm4gMTsKIAotCWlmIChjLT54ODZfdmVuZG9yID09IFg4Nl9WRU5ET1JfQU1EKSB7Ci0JCXN3aXRjaChjLT54ODYpIHsKLQkJY2FzZSAweDEwOgotCQljYXNlIDB4MTE6Ci0JCQlyZXR1cm4gMDsKKwlpZiAoYy0+Y3B1aWRfbGV2ZWwgPCBNV0FJVF9JTkZPKQorCQlyZXR1cm4gMDsKKworCWNwdWlkKE1XQUlUX0lORk8sICZlYXgsICZlYngsICZlY3gsICZlZHgpOworCS8qIENoZWNrLCB3aGV0aGVyIEVEWCBoYXMgZXh0ZW5kZWQgaW5mbyBhYm91dCBNV0FJVCAqLworCWlmICghKGVjeCAmIE1XQUlUX0VDWF9FWFRFTkRFRF9JTkZPKSkKKwkJcmV0dXJuIDE7CisKKwkvKgorCSAqIGVkeCBlbnVtZXJhdGlvcyBNT05JVE9SL01XQUlUIGV4dGVuc2lvbnMuIENoZWNrLCB3aGV0aGVyCisJICogQzEgIHN1cHBvcnRzIE1XQUlUCisJICovCisJcmV0dXJuIChlZHggJiBNV0FJVF9FRFhfQzEpOworfQorCisvKgorICogQ2hlY2sgZm9yIEFNRCBDUFVzLCB3aGljaCBoYXZlIHBvdGVudGlhbGx5IEMxRSBzdXBwb3J0CisgKi8KK3N0YXRpYyBpbnQgX19jcHVpbml0IGNoZWNrX2MxZV9pZGxlKGNvbnN0IHN0cnVjdCBjcHVpbmZvX3g4NiAqYykKK3sKKwlpZiAoYy0+eDg2X3ZlbmRvciAhPSBYODZfVkVORE9SX0FNRCkKKwkJcmV0dXJuIDA7CisKKwlpZiAoYy0+eDg2IDwgMHgwRikKKwkJcmV0dXJuIDA7CisKKwkvKiBGYW1pbHkgMHgwZiBtb2RlbHMgPCByZXYgRiBkbyBub3QgaGF2ZSBDMUUgKi8KKwlpZiAoYy0+eDg2ID09IDB4MGYgJiYgYy0+eDg2X21vZGVsIDwgMHg0MCkKKwkJcmV0dXJuIDA7CisKKwlyZXR1cm4gMTsKK30KKworLyoKKyAqIEMxRSBhd2FyZSBpZGxlIHJvdXRpbmUuIFdlIGNoZWNrIGZvciBDMUUgYWN0aXZlIGluIHRoZSBpbnRlcnJ1cHQKKyAqIHBlbmRpbmcgbWVzc2FnZSBNU1IuIElmIHdlIGRldGVjdCBDMUUsIHRoZW4gd2UgaGFuZGxlIGl0IHRoZSBzYW1lCisgKiB3YXkgYXMgQzMgcG93ZXIgc3RhdGVzIChsb2NhbCBhcGljIHRpbWVyIGFuZCBUU0Mgc3RvcCkKKyAqLworc3RhdGljIHZvaWQgYzFlX2lkbGUodm9pZCkKK3sKKwlzdGF0aWMgY3B1bWFza190IGMxZV9tYXNrID0gQ1BVX01BU0tfTk9ORTsKKwlzdGF0aWMgaW50IGMxZV9kZXRlY3RlZDsKKworCWlmIChuZWVkX3Jlc2NoZWQoKSkKKwkJcmV0dXJuOworCisJaWYgKCFjMWVfZGV0ZWN0ZWQpIHsKKwkJdTMyIGxvLCBoaTsKKworCQlyZG1zcihNU1JfSzhfSU5UX1BFTkRJTkdfTVNHLCBsbywgaGkpOworCQlpZiAobG8gJiBLOF9JTlRQX0MxRV9BQ1RJVkVfTUFTSykgeworCQkJYzFlX2RldGVjdGVkID0gMTsKKwkJCW1hcmtfdHNjX3Vuc3RhYmxlKCJUU0MgaGFsdCBpbiBDMUUiKTsKKwkJCXByaW50ayhLRVJOX0lORk8gIlN5c3RlbSBoYXMgQzFFIGVuYWJsZWRcbiIpOwogCQl9CiAJfQotCXJldHVybiAxOworCisJaWYgKGMxZV9kZXRlY3RlZCkgeworCQlpbnQgY3B1ID0gc21wX3Byb2Nlc3Nvcl9pZCgpOworCisJCWlmICghY3B1X2lzc2V0KGNwdSwgYzFlX21hc2spKSB7CisJCQljcHVfc2V0KGNwdSwgYzFlX21hc2spOworCQkJLyoKKwkJCSAqIEZvcmNlIGJyb2FkY2FzdCBzbyBBQ1BJIGNhbiBub3QgaW50ZXJmZXJlLiBOZWVkcworCQkJICogdG8gcnVuIHdpdGggaW50ZXJydXB0cyBlbmFibGVkIGFzIGl0IHVzZXMKKwkJCSAqIHNtcF9mdW5jdGlvbl9jYWxsLgorCQkJICovCisJCQlsb2NhbF9pcnFfZW5hYmxlKCk7CisJCQljbG9ja2V2ZW50c19ub3RpZnkoQ0xPQ0tfRVZUX05PVElGWV9CUk9BRENBU1RfRk9SQ0UsCisJCQkJCSAgICZjcHUpOworCQkJcHJpbnRrKEtFUk5fSU5GTyAiU3dpdGNoIHRvIGJyb2FkY2FzdCBtb2RlIG9uIENQVSVkXG4iLAorCQkJICAgICAgIGNwdSk7CisJCQlsb2NhbF9pcnFfZGlzYWJsZSgpOworCQl9CisJCWNsb2NrZXZlbnRzX25vdGlmeShDTE9DS19FVlRfTk9USUZZX0JST0FEQ0FTVF9FTlRFUiwgJmNwdSk7CisKKwkJZGVmYXVsdF9pZGxlKCk7CisKKwkJLyoKKwkJICogVGhlIHN3aXRjaCBiYWNrIGZyb20gYnJvYWRjYXN0IG1vZGUgbmVlZHMgdG8gYmUKKwkJICogY2FsbGVkIHdpdGggaW50ZXJydXB0cyBkaXNhYmxlZC4KKwkJICovCisJCSBsb2NhbF9pcnFfZGlzYWJsZSgpOworCQkgY2xvY2tldmVudHNfbm90aWZ5KENMT0NLX0VWVF9OT1RJRllfQlJPQURDQVNUX0VYSVQsICZjcHUpOworCQkgbG9jYWxfaXJxX2VuYWJsZSgpOworCX0gZWxzZQorCQlkZWZhdWx0X2lkbGUoKTsKIH0KIAogdm9pZCBfX2NwdWluaXQgc2VsZWN0X2lkbGVfcm91dGluZShjb25zdCBzdHJ1Y3QgY3B1aW5mb194ODYgKmMpCiB7Ci0Jc3RhdGljIGludCBzZWxlY3RlZDsKLQotCWlmIChzZWxlY3RlZCkKLQkJcmV0dXJuOwogI2lmZGVmIENPTkZJR19YODZfU01QCiAJaWYgKHBtX2lkbGUgPT0gcG9sbF9pZGxlICYmIHNtcF9udW1fc2libGluZ3MgPiAxKSB7CiAJCXByaW50ayhLRVJOX1dBUk5JTkcgIldBUk5JTkc6IHBvbGxpbmcgaWRsZSBhbmQgSFQgZW5hYmxlZCwiCiAJCQkiIHBlcmZvcm1hbmNlIG1heSBkZWdyYWRlLlxuIik7CiAJfQogI2VuZGlmCisJaWYgKHBtX2lkbGUpCisJCXJldHVybjsKKwogCWlmIChjcHVfaGFzKGMsIFg4Nl9GRUFUVVJFX01XQUlUKSAmJiBtd2FpdF91c2FibGUoYykpIHsKIAkJLyoKLQkJICogU2tpcCwgaWYgc2V0dXAgaGFzIG92ZXJyaWRkZW4gaWRsZS4KIAkJICogT25lIENQVSBzdXBwb3J0cyBtd2FpdCA9PiBBbGwgQ1BVcyBzdXBwb3J0cyBtd2FpdAogCQkgKi8KLQkJaWYgKCFwbV9pZGxlKSB7Ci0JCQlwcmludGsoS0VSTl9JTkZPICJ1c2luZyBtd2FpdCBpbiBpZGxlIHRocmVhZHMuXG4iKTsKLQkJCXBtX2lkbGUgPSBtd2FpdF9pZGxlOwotCQl9Ci0JfQotCXNlbGVjdGVkID0gMTsKKwkJcHJpbnRrKEtFUk5fSU5GTyAidXNpbmcgbXdhaXQgaW4gaWRsZSB0aHJlYWRzLlxuIik7CisJCXBtX2lkbGUgPSBtd2FpdF9pZGxlOworCX0gZWxzZSBpZiAoY2hlY2tfYzFlX2lkbGUoYykpIHsKKwkJcHJpbnRrKEtFUk5fSU5GTyAidXNpbmcgQzFFIGF3YXJlIGlkbGUgcm91dGluZVxuIik7CisJCXBtX2lkbGUgPSBjMWVfaWRsZTsKKwl9IGVsc2UKKwkJcG1faWRsZSA9IGRlZmF1bHRfaWRsZTsKIH0KIAogc3RhdGljIGludCBfX2luaXQgaWRsZV9zZXR1cChjaGFyICpzdHIpCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvcHJvY2Vzc18zMi5jIGIvYXJjaC94ODYva2VybmVsL3Byb2Nlc3NfMzIuYwppbmRleCBlMmRiOWFjLi4wYzM5MjdhIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvcHJvY2Vzc18zMi5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9wcm9jZXNzXzMyLmMKQEAgLTU4LDExICs1OCw2IEBACiAKIGFzbWxpbmthZ2Ugdm9pZCByZXRfZnJvbV9mb3JrKHZvaWQpIF9fYXNtX18oInJldF9mcm9tX2ZvcmsiKTsKIAotc3RhdGljIGludCBobHRfY291bnRlcjsKLQotdW5zaWduZWQgbG9uZyBib290X29wdGlvbl9pZGxlX292ZXJyaWRlID0gMDsKLUVYUE9SVF9TWU1CT0woYm9vdF9vcHRpb25faWRsZV9vdmVycmlkZSk7Ci0KIERFRklORV9QRVJfQ1BVKHN0cnVjdCB0YXNrX3N0cnVjdCAqLCBjdXJyZW50X3Rhc2spID0gJmluaXRfdGFzazsKIEVYUE9SVF9QRVJfQ1BVX1NZTUJPTChjdXJyZW50X3Rhc2spOwogCkBAIC03Nyw1NyArNzIsMjQgQEAKIAlyZXR1cm4gKCh1bnNpZ25lZCBsb25nICopdHNrLT50aHJlYWQuc3ApWzNdOwogfQogCi0vKgotICogUG93ZXJtYW5hZ2VtZW50IGlkbGUgZnVuY3Rpb24sIGlmIGFueS4uCi0gKi8KLXZvaWQgKCpwbV9pZGxlKSh2b2lkKTsKLUVYUE9SVF9TWU1CT0wocG1faWRsZSk7Ci0KLXZvaWQgZGlzYWJsZV9obHQodm9pZCkKLXsKLQlobHRfY291bnRlcisrOwotfQotCi1FWFBPUlRfU1lNQk9MKGRpc2FibGVfaGx0KTsKLQotdm9pZCBlbmFibGVfaGx0KHZvaWQpCi17Ci0JaGx0X2NvdW50ZXItLTsKLX0KLQotRVhQT1JUX1NZTUJPTChlbmFibGVfaGx0KTsKLQotLyoKLSAqIFdlIHVzZSB0aGlzIGlmIHdlIGRvbid0IGhhdmUgYW55IGJldHRlcgotICogaWRsZSByb3V0aW5lLi4KLSAqLwotdm9pZCBkZWZhdWx0X2lkbGUodm9pZCkKLXsKLQlpZiAoIWhsdF9jb3VudGVyICYmIGJvb3RfY3B1X2RhdGEuaGx0X3dvcmtzX29rKSB7Ci0JCWN1cnJlbnRfdGhyZWFkX2luZm8oKS0+c3RhdHVzICY9IH5UU19QT0xMSU5HOwotCQkvKgotCQkgKiBUU19QT0xMSU5HLWNsZWFyZWQgc3RhdGUgbXVzdCBiZSB2aXNpYmxlIGJlZm9yZSB3ZQotCQkgKiB0ZXN0IE5FRURfUkVTQ0hFRDoKLQkJICovCi0JCXNtcF9tYigpOwotCi0JCWlmICghbmVlZF9yZXNjaGVkKCkpCi0JCQlzYWZlX2hhbHQoKTsJLyogZW5hYmxlcyBpbnRlcnJ1cHRzIHJhY2VsZXNzbHkgKi8KLQkJZWxzZQotCQkJbG9jYWxfaXJxX2VuYWJsZSgpOwotCQljdXJyZW50X3RocmVhZF9pbmZvKCktPnN0YXR1cyB8PSBUU19QT0xMSU5HOwotCX0gZWxzZSB7Ci0JCWxvY2FsX2lycV9lbmFibGUoKTsKLQkJLyogbG9vcCBpcyBkb25lIGJ5IHRoZSBjYWxsZXIgKi8KLQkJY3B1X3JlbGF4KCk7Ci0JfQotfQotI2lmZGVmIENPTkZJR19BUE1fTU9EVUxFCi1FWFBPUlRfU1lNQk9MKGRlZmF1bHRfaWRsZSk7Ci0jZW5kaWYKLQogI2lmZGVmIENPTkZJR19IT1RQTFVHX0NQVQogI2luY2x1ZGUgPGFzbS9ubWkuaD4KKworc3RhdGljIHZvaWQgY3B1X2V4aXRfY2xlYXIodm9pZCkKK3sKKwlpbnQgY3B1ID0gcmF3X3NtcF9wcm9jZXNzb3JfaWQoKTsKKworCWlkbGVfdGFza19leGl0KCk7CisKKwljcHVfdW5pbml0KCk7CisJaXJxX2N0eF9leGl0KGNwdSk7CisKKwljcHVfY2xlYXIoY3B1LCBjcHVfY2FsbG91dF9tYXApOworCWNwdV9jbGVhcihjcHUsIGNwdV9jYWxsaW5fbWFwKTsKKworCW51bWFfcmVtb3ZlX2NwdShjcHUpOworfQorCiAvKiBXZSBkb24ndCBhY3R1YWxseSB0YWtlIENQVSBkb3duLCBqdXN0IHNwaW4gd2l0aG91dCBpbnRlcnJ1cHRzLiAqLwogc3RhdGljIGlubGluZSB2b2lkIHBsYXlfZGVhZCh2b2lkKQogewpAQCAtMTY4LDI0ICsxMzAsMjIgQEAKIAl3aGlsZSAoMSkgewogCQl0aWNrX25vaHpfc3RvcF9zY2hlZF90aWNrKCk7CiAJCXdoaWxlICghbmVlZF9yZXNjaGVkKCkpIHsKLQkJCXZvaWQgKCppZGxlKSh2b2lkKTsKIAogCQkJY2hlY2tfcGd0X2NhY2hlKCk7CiAJCQlybWIoKTsKLQkJCWlkbGUgPSBwbV9pZGxlOwogCiAJCQlpZiAocmN1X3BlbmRpbmcoY3B1KSkKIAkJCQlyY3VfY2hlY2tfY2FsbGJhY2tzKGNwdSwgMCk7CiAKLQkJCWlmICghaWRsZSkKLQkJCQlpZGxlID0gZGVmYXVsdF9pZGxlOwotCiAJCQlpZiAoY3B1X2lzX29mZmxpbmUoY3B1KSkKIAkJCQlwbGF5X2RlYWQoKTsKIAogCQkJbG9jYWxfaXJxX2Rpc2FibGUoKTsKIAkJCV9fZ2V0X2NwdV92YXIoaXJxX3N0YXQpLmlkbGVfdGltZXN0YW1wID0gamlmZmllczsKLQkJCWlkbGUoKTsKKwkJCS8qIERvbid0IHRyYWNlIGlycXMgb2ZmIGZvciBpZGxlICovCisJCQlzdG9wX2NyaXRpY2FsX3RpbWluZ3MoKTsKKwkJCXBtX2lkbGUoKTsKKwkJCXN0YXJ0X2NyaXRpY2FsX3RpbWluZ3MoKTsKIAkJfQogCQl0aWNrX25vaHpfcmVzdGFydF9zY2hlZF90aWNrKCk7CiAJCXByZWVtcHRfZW5hYmxlX25vX3Jlc2NoZWQoKTsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9wcm9jZXNzXzY0LmMgYi9hcmNoL3g4Ni9rZXJuZWwvcHJvY2Vzc182NC5jCmluZGV4IGM2ZWI1YzkuLmE4ZTUzNjIgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9wcm9jZXNzXzY0LmMKKysrIGIvYXJjaC94ODYva2VybmVsL3Byb2Nlc3NfNjQuYwpAQCAtNTYsMTUgKzU2LDYgQEAKIAogdW5zaWduZWQgbG9uZyBrZXJuZWxfdGhyZWFkX2ZsYWdzID0gQ0xPTkVfVk0gfCBDTE9ORV9VTlRSQUNFRDsKIAotdW5zaWduZWQgbG9uZyBib290X29wdGlvbl9pZGxlX292ZXJyaWRlID0gMDsKLUVYUE9SVF9TWU1CT0woYm9vdF9vcHRpb25faWRsZV9vdmVycmlkZSk7Ci0KLS8qCi0gKiBQb3dlcm1hbmFnZW1lbnQgaWRsZSBmdW5jdGlvbiwgaWYgYW55Li4KLSAqLwotdm9pZCAoKnBtX2lkbGUpKHZvaWQpOwotRVhQT1JUX1NZTUJPTChwbV9pZGxlKTsKLQogc3RhdGljIEFUT01JQ19OT1RJRklFUl9IRUFEKGlkbGVfbm90aWZpZXIpOwogCiB2b2lkIGlkbGVfbm90aWZpZXJfcmVnaXN0ZXIoc3RydWN0IG5vdGlmaWVyX2Jsb2NrICpuKQpAQCAtOTQsMjUgKzg1LDYgQEAKIAlfX2V4aXRfaWRsZSgpOwogfQogCi0vKgotICogV2UgdXNlIHRoaXMgaWYgd2UgZG9uJ3QgaGF2ZSBhbnkgYmV0dGVyCi0gKiBpZGxlIHJvdXRpbmUuLgotICovCi12b2lkIGRlZmF1bHRfaWRsZSh2b2lkKQotewotCWN1cnJlbnRfdGhyZWFkX2luZm8oKS0+c3RhdHVzICY9IH5UU19QT0xMSU5HOwotCS8qCi0JICogVFNfUE9MTElORy1jbGVhcmVkIHN0YXRlIG11c3QgYmUgdmlzaWJsZSBiZWZvcmUgd2UKLQkgKiB0ZXN0IE5FRURfUkVTQ0hFRDoKLQkgKi8KLQlzbXBfbWIoKTsKLQlpZiAoIW5lZWRfcmVzY2hlZCgpKQotCQlzYWZlX2hhbHQoKTsJLyogZW5hYmxlcyBpbnRlcnJ1cHRzIHJhY2VsZXNzbHkgKi8KLQllbHNlCi0JCWxvY2FsX2lycV9lbmFibGUoKTsKLQljdXJyZW50X3RocmVhZF9pbmZvKCktPnN0YXR1cyB8PSBUU19QT0xMSU5HOwotfQotCiAjaWZkZWYgQ09ORklHX0hPVFBMVUdfQ1BVCiBERUNMQVJFX1BFUl9DUFUoaW50LCBjcHVfc3RhdGUpOwogCkBAIC0xNTAsMTIgKzEyMiw5IEBACiAJd2hpbGUgKDEpIHsKIAkJdGlja19ub2h6X3N0b3Bfc2NoZWRfdGljaygpOwogCQl3aGlsZSAoIW5lZWRfcmVzY2hlZCgpKSB7Ci0JCQl2b2lkICgqaWRsZSkodm9pZCk7CiAKIAkJCXJtYigpOwotCQkJaWRsZSA9IHBtX2lkbGU7Ci0JCQlpZiAoIWlkbGUpCi0JCQkJaWRsZSA9IGRlZmF1bHRfaWRsZTsKKwogCQkJaWYgKGNwdV9pc19vZmZsaW5lKHNtcF9wcm9jZXNzb3JfaWQoKSkpCiAJCQkJcGxheV9kZWFkKCk7CiAJCQkvKgpAQCAtMTY1LDcgKzEzNCwxMCBAQAogCQkJICovCiAJCQlsb2NhbF9pcnFfZGlzYWJsZSgpOwogCQkJZW50ZXJfaWRsZSgpOwotCQkJaWRsZSgpOworCQkJLyogRG9uJ3QgdHJhY2UgaXJxcyBvZmYgZm9yIGlkbGUgKi8KKwkJCXN0b3BfY3JpdGljYWxfdGltaW5ncygpOworCQkJcG1faWRsZSgpOworCQkJc3RhcnRfY3JpdGljYWxfdGltaW5ncygpOwogCQkJLyogSW4gbWFueSBjYXNlcyB0aGUgaW50ZXJydXB0IHRoYXQgZW5kZWQgaWRsZQogCQkJICAgaGFzIGFscmVhZHkgY2FsbGVkIGV4aXRfaWRsZS4gQnV0IHNvbWUgaWRsZQogCQkJICAgbG9vcHMgY2FuIGJlIHdva2VuIHVwIHdpdGhvdXQgaW50ZXJydXB0LiAqLwpAQCAtMzY2LDEwICszMzgsMTAgQEAKIAlwLT50aHJlYWQuZnMgPSBtZS0+dGhyZWFkLmZzOwogCXAtPnRocmVhZC5ncyA9IG1lLT50aHJlYWQuZ3M7CiAKLQlhc20oIm1vdiAlJWdzLCUwIiA6ICI9bSIgKHAtPnRocmVhZC5nc2luZGV4KSk7Ci0JYXNtKCJtb3YgJSVmcywlMCIgOiAiPW0iIChwLT50aHJlYWQuZnNpbmRleCkpOwotCWFzbSgibW92ICUlZXMsJTAiIDogIj1tIiAocC0+dGhyZWFkLmVzKSk7Ci0JYXNtKCJtb3YgJSVkcywlMCIgOiAiPW0iIChwLT50aHJlYWQuZHMpKTsKKwlzYXZlc2VnbWVudChncywgcC0+dGhyZWFkLmdzaW5kZXgpOworCXNhdmVzZWdtZW50KGZzLCBwLT50aHJlYWQuZnNpbmRleCk7CisJc2F2ZXNlZ21lbnQoZXMsIHAtPnRocmVhZC5lcyk7CisJc2F2ZXNlZ21lbnQoZHMsIHAtPnRocmVhZC5kcyk7CiAKIAlpZiAodW5saWtlbHkodGVzdF90c2tfdGhyZWFkX2ZsYWcobWUsIFRJRl9JT19CSVRNQVApKSkgewogCQlwLT50aHJlYWQuaW9fYml0bWFwX3B0ciA9IGttYWxsb2MoSU9fQklUTUFQX0JZVEVTLCBHRlBfS0VSTkVMKTsKQEAgLTQwOCw3ICszODAsOSBAQAogdm9pZAogc3RhcnRfdGhyZWFkKHN0cnVjdCBwdF9yZWdzICpyZWdzLCB1bnNpZ25lZCBsb25nIG5ld19pcCwgdW5zaWduZWQgbG9uZyBuZXdfc3ApCiB7Ci0JYXNtIHZvbGF0aWxlKCJtb3ZsICUwLCAlJWZzOyBtb3ZsICUwLCAlJWVzOyBtb3ZsICUwLCAlJWRzIiA6OiAiciIoMCkpOworCWxvYWRzZWdtZW50KGZzLCAwKTsKKwlsb2Fkc2VnbWVudChlcywgMCk7CisJbG9hZHNlZ21lbnQoZHMsIDApOwogCWxvYWRfZ3NfaW5kZXgoMCk7CiAJcmVncy0+aXAJCT0gbmV3X2lwOwogCXJlZ3MtPnNwCQk9IG5ld19zcDsKQEAgLTU2Nyw2ICs1NDEsNyBAQAogCQkJCSAqbmV4dCA9ICZuZXh0X3AtPnRocmVhZDsKIAlpbnQgY3B1ID0gc21wX3Byb2Nlc3Nvcl9pZCgpOwogCXN0cnVjdCB0c3Nfc3RydWN0ICp0c3MgPSAmcGVyX2NwdShpbml0X3RzcywgY3B1KTsKKwl1bnNpZ25lZCBmc2luZGV4LCBnc2luZGV4OwogCiAJLyogd2UncmUgZ29pbmcgdG8gdXNlIHRoaXMgc29vbiwgYWZ0ZXIgYSBmZXcgZXhwZW5zaXZlIHRoaW5ncyAqLwogCWlmIChuZXh0X3AtPmZwdV9jb3VudGVyPjUpCkBAIC01ODEsMjIgKzU1NiwzOCBAQAogCSAqIFN3aXRjaCBEUyBhbmQgRVMuCiAJICogVGhpcyB3b24ndCBwaWNrIHVwIHRocmVhZCBzZWxlY3RvciBjaGFuZ2VzLCBidXQgSSBndWVzcyB0aGF0IGlzIG9rLgogCSAqLwotCWFzbSB2b2xhdGlsZSgibW92ICUlZXMsJTAiIDogIj1tIiAocHJldi0+ZXMpKTsKKwlzYXZlc2VnbWVudChlcywgcHJldi0+ZXMpOwogCWlmICh1bmxpa2VseShuZXh0LT5lcyB8IHByZXYtPmVzKSkKIAkJbG9hZHNlZ21lbnQoZXMsIG5leHQtPmVzKTsgCi0JCi0JYXNtIHZvbGF0aWxlICgibW92ICUlZHMsJTAiIDogIj1tIiAocHJldi0+ZHMpKTsKKworCXNhdmVzZWdtZW50KGRzLCBwcmV2LT5kcyk7CiAJaWYgKHVubGlrZWx5KG5leHQtPmRzIHwgcHJldi0+ZHMpKQogCQlsb2Fkc2VnbWVudChkcywgbmV4dC0+ZHMpOwogCisKKwkvKiBXZSBtdXN0IHNhdmUgJWZzIGFuZCAlZ3MgYmVmb3JlIGxvYWRfVExTKCkgYmVjYXVzZQorCSAqICVmcyBhbmQgJWdzIG1heSBiZSBjbGVhcmVkIGJ5IGxvYWRfVExTKCkuCisJICoKKwkgKiAoZS5nLiB4ZW5fbG9hZF90bHMoKSkKKwkgKi8KKwlzYXZlc2VnbWVudChmcywgZnNpbmRleCk7CisJc2F2ZXNlZ21lbnQoZ3MsIGdzaW5kZXgpOworCiAJbG9hZF9UTFMobmV4dCwgY3B1KTsKIAorCS8qCisJICogTGVhdmUgbGF6eSBtb2RlLCBmbHVzaGluZyBhbnkgaHlwZXJjYWxscyBtYWRlIGhlcmUuCisJICogVGhpcyBtdXN0IGJlIGRvbmUgYmVmb3JlIHJlc3RvcmluZyBUTFMgc2VnbWVudHMgc28KKwkgKiB0aGUgR0RUIGFuZCBMRFQgYXJlIHByb3Blcmx5IHVwZGF0ZWQsIGFuZCBtdXN0IGJlCisJICogZG9uZSBiZWZvcmUgbWF0aF9zdGF0ZV9yZXN0b3JlLCBzbyB0aGUgVFMgYml0IGlzIHVwCisJICogdG8gZGF0ZS4KKwkgKi8KKwlhcmNoX2xlYXZlX2xhenlfY3B1X21vZGUoKTsKKwogCS8qIAogCSAqIFN3aXRjaCBGUyBhbmQgR1MuCiAJICovCiAJeyAKLQkJdW5zaWduZWQgZnNpbmRleDsKLQkJYXNtIHZvbGF0aWxlKCJtb3ZsICUlZnMsJTAiIDogIj1yIiAoZnNpbmRleCkpOyAKIAkJLyogc2VnbWVudCByZWdpc3RlciAhPSAwIGFsd2F5cyByZXF1aXJlcyBhIHJlbG9hZC4gCiAJCSAgIGFsc28gcmVsb2FkIHdoZW4gaXQgaGFzIGNoYW5nZWQuIAogCQkgICB3aGVuIHByZXYgcHJvY2VzcyB1c2VkIDY0Yml0IGJhc2UgYWx3YXlzIHJlbG9hZApAQCAtNjE0LDEwICs2MDUsNyBAQAogCQlpZiAobmV4dC0+ZnMpIAogCQkJd3Jtc3JsKE1TUl9GU19CQVNFLCBuZXh0LT5mcyk7IAogCQlwcmV2LT5mc2luZGV4ID0gZnNpbmRleDsKLQl9Ci0JeyAKLQkJdW5zaWduZWQgZ3NpbmRleDsKLQkJYXNtIHZvbGF0aWxlKCJtb3ZsICUlZ3MsJTAiIDogIj1yIiAoZ3NpbmRleCkpOyAKKwogCQlpZiAodW5saWtlbHkoZ3NpbmRleCB8IG5leHQtPmdzaW5kZXggfCBwcmV2LT5ncykpIHsKIAkJCWxvYWRfZ3NfaW5kZXgobmV4dC0+Z3NpbmRleCk7CiAJCQlpZiAoZ3NpbmRleCkKQEAgLTc5OCw3ICs3ODYsNyBAQAogCQkJc2V0XzMyYml0X3Rscyh0YXNrLCBGU19UTFMsIGFkZHIpOwogCQkJaWYgKGRvaXQpIHsKIAkJCQlsb2FkX1RMUygmdGFzay0+dGhyZWFkLCBjcHUpOwotCQkJCWFzbSB2b2xhdGlsZSgibW92bCAlMCwlJWZzIiA6OiAiciIoRlNfVExTX1NFTCkpOworCQkJCWxvYWRzZWdtZW50KGZzLCBGU19UTFNfU0VMKTsKIAkJCX0KIAkJCXRhc2stPnRocmVhZC5mc2luZGV4ID0gRlNfVExTX1NFTDsKIAkJCXRhc2stPnRocmVhZC5mcyA9IDA7CkBAIC04MDgsNyArNzk2LDcgQEAKIAkJCWlmIChkb2l0KSB7CiAJCQkJLyogc2V0IHRoZSBzZWxlY3RvciB0byAwIHRvIG5vdCBjb25mdXNlCiAJCQkJICAgX19zd2l0Y2hfdG8gKi8KLQkJCQlhc20gdm9sYXRpbGUoIm1vdmwgJTAsJSVmcyIgOjogInIiICgwKSk7CisJCQkJbG9hZHNlZ21lbnQoZnMsIDApOwogCQkJCXJldCA9IGNoZWNraW5nX3dybXNybChNU1JfRlNfQkFTRSwgYWRkcik7CiAJCQl9CiAJCX0KQEAgLTgzMSw3ICs4MTksNyBAQAogCQlpZiAodGFzay0+dGhyZWFkLmdzaW5kZXggPT0gR1NfVExTX1NFTCkKIAkJCWJhc2UgPSByZWFkXzMyYml0X3Rscyh0YXNrLCBHU19UTFMpOwogCQllbHNlIGlmIChkb2l0KSB7Ci0JCQlhc20oIm1vdmwgJSVncywlMCIgOiAiPXIiIChnc2luZGV4KSk7CisJCQlzYXZlc2VnbWVudChncywgZ3NpbmRleCk7CiAJCQlpZiAoZ3NpbmRleCkKIAkJCQlyZG1zcmwoTVNSX0tFUk5FTF9HU19CQVNFLCBiYXNlKTsKIAkJCWVsc2UKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9wdHJhY2UuYyBiL2FyY2gveDg2L2tlcm5lbC9wdHJhY2UuYwppbmRleCBhNzgzNWYyLi43NzA0MGI2IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvcHRyYWNlLmMKKysrIGIvYXJjaC94ODYva2VybmVsL3B0cmFjZS5jCkBAIC05NDMsMTMgKzk0MywxMyBAQAogCQlyZXR1cm4gY29weV9yZWdzZXRfdG9fdXNlcihjaGlsZCwgJnVzZXJfeDg2XzMyX3ZpZXcsCiAJCQkJCSAgIFJFR1NFVF9YRlAsCiAJCQkJCSAgIDAsIHNpemVvZihzdHJ1Y3QgdXNlcl9meHNyX3N0cnVjdCksCi0JCQkJCSAgIGRhdGFwKTsKKwkJCQkJICAgZGF0YXApID8gLUVJTyA6IDA7CiAKIAljYXNlIFBUUkFDRV9TRVRGUFhSRUdTOgkvKiBTZXQgdGhlIGNoaWxkIGV4dGVuZGVkIEZQVSBzdGF0ZS4gKi8KIAkJcmV0dXJuIGNvcHlfcmVnc2V0X2Zyb21fdXNlcihjaGlsZCwgJnVzZXJfeDg2XzMyX3ZpZXcsCiAJCQkJCSAgICAgUkVHU0VUX1hGUCwKIAkJCQkJICAgICAwLCBzaXplb2Yoc3RydWN0IHVzZXJfZnhzcl9zdHJ1Y3QpLAotCQkJCQkgICAgIGRhdGFwKTsKKwkJCQkJICAgICBkYXRhcCkgPyAtRUlPIDogMDsKICNlbmRpZgogCiAjaWYgZGVmaW5lZCBDT05GSUdfWDg2XzMyIHx8IGRlZmluZWQgQ09ORklHX0lBMzJfRU1VTEFUSU9OCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvcXVpcmtzLmMgYi9hcmNoL3g4Ni9rZXJuZWwvcXVpcmtzLmMKaW5kZXggZDg5YTY0OC4uZDEzODU4OCAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL3F1aXJrcy5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9xdWlya3MuYwpAQCAtNjUsNiArNjUsNyBAQAogCUlDSF9GT1JDRV9IUEVUX1JFU1VNRSwKIAlWVDgyMzdfRk9SQ0VfSFBFVF9SRVNVTUUsCiAJTlZJRElBX0ZPUkNFX0hQRVRfUkVTVU1FLAorCUFUSV9GT1JDRV9IUEVUX1JFU1VNRSwKIH0gZm9yY2VfaHBldF9yZXN1bWVfdHlwZTsKIAogc3RhdGljIHZvaWQgX19pb21lbSAqcmNiYV9iYXNlOwpAQCAtMTU4LDYgKzE1OSw4IEBACiAKIERFQ0xBUkVfUENJX0ZJWFVQX0hFQURFUihQQ0lfVkVORE9SX0lEX0lOVEVMLCBQQ0lfREVWSUNFX0lEX0lOVEVMX0VTQjJfMCwKIAkJCSBpY2hfZm9yY2VfZW5hYmxlX2hwZXQpOworREVDTEFSRV9QQ0lfRklYVVBfSEVBREVSKFBDSV9WRU5ET1JfSURfSU5URUwsIFBDSV9ERVZJQ0VfSURfSU5URUxfSUNINl8wLAorCQkJIGljaF9mb3JjZV9lbmFibGVfaHBldCk7CiBERUNMQVJFX1BDSV9GSVhVUF9IRUFERVIoUENJX1ZFTkRPUl9JRF9JTlRFTCwgUENJX0RFVklDRV9JRF9JTlRFTF9JQ0g2XzEsCiAJCQkgaWNoX2ZvcmNlX2VuYWJsZV9ocGV0KTsKIERFQ0xBUkVfUENJX0ZJWFVQX0hFQURFUihQQ0lfVkVORE9SX0lEX0lOVEVMLCBQQ0lfREVWSUNFX0lEX0lOVEVMX0lDSDdfMCwKQEAgLTE3NCw2ICsxNzcsMTIgQEAKIAogc3RhdGljIHN0cnVjdCBwY2lfZGV2ICpjYWNoZWRfZGV2OwogCitzdGF0aWMgdm9pZCBocGV0X3ByaW50X2ZvcmNlX2luZm8odm9pZCkKK3sKKwlwcmludGsoS0VSTl9JTkZPICJIUEVUIG5vdCBlbmFibGVkIGluIEJJT1MuICIKKwkgICAgICAgIllvdSBtaWdodCB0cnkgaHBldD1mb3JjZSBib290IG9wdGlvblxuIik7Cit9CisKIHN0YXRpYyB2b2lkIG9sZF9pY2hfZm9yY2VfaHBldF9yZXN1bWUodm9pZCkKIHsKIAl1MzIgdmFsOwpAQCAtMjUzLDggKzI2MiwxMiBAQAogewogCWlmIChocGV0X2ZvcmNlX3VzZXIpCiAJCW9sZF9pY2hfZm9yY2VfZW5hYmxlX2hwZXQoZGV2KTsKKwllbHNlCisJCWhwZXRfcHJpbnRfZm9yY2VfaW5mbygpOwogfQogCitERUNMQVJFX1BDSV9GSVhVUF9IRUFERVIoUENJX1ZFTkRPUl9JRF9JTlRFTCwgUENJX0RFVklDRV9JRF9JTlRFTF9FU0JfMSwKKwkJCSBvbGRfaWNoX2ZvcmNlX2VuYWJsZV9ocGV0X3VzZXIpOwogREVDTEFSRV9QQ0lfRklYVVBfSEVBREVSKFBDSV9WRU5ET1JfSURfSU5URUwsIFBDSV9ERVZJQ0VfSURfSU5URUxfODI4MDFDQV8wLAogCQkJIG9sZF9pY2hfZm9yY2VfZW5hYmxlX2hwZXRfdXNlcik7CiBERUNMQVJFX1BDSV9GSVhVUF9IRUFERVIoUENJX1ZFTkRPUl9JRF9JTlRFTCwgUENJX0RFVklDRV9JRF9JTlRFTF84MjgwMUNBXzEyLApAQCAtMjkwLDkgKzMwMywxNCBAQAogewogCXUzMiB1bmluaXRpYWxpemVkX3Zhcih2YWwpOwogCi0JaWYgKCFocGV0X2ZvcmNlX3VzZXIgfHwgaHBldF9hZGRyZXNzIHx8IGZvcmNlX2hwZXRfYWRkcmVzcykKKwlpZiAoaHBldF9hZGRyZXNzIHx8IGZvcmNlX2hwZXRfYWRkcmVzcykKIAkJcmV0dXJuOwogCisJaWYgKCFocGV0X2ZvcmNlX3VzZXIpIHsKKwkJaHBldF9wcmludF9mb3JjZV9pbmZvKCk7CisJCXJldHVybjsKKwl9CisKIAlwY2lfcmVhZF9jb25maWdfZHdvcmQoZGV2LCAweDY4LCAmdmFsKTsKIAkvKgogCSAqIEJpdCA3IGlzIEhQRVQgZW5hYmxlIGJpdC4KQEAgLTMzMCw2ICszNDgsMzYgQEAKIERFQ0xBUkVfUENJX0ZJWFVQX0hFQURFUihQQ0lfVkVORE9SX0lEX1ZJQSwgUENJX0RFVklDRV9JRF9WSUFfODIzNywKIAkJCSB2dDgyMzdfZm9yY2VfZW5hYmxlX2hwZXQpOwogCitzdGF0aWMgdm9pZCBhdGlfZm9yY2VfaHBldF9yZXN1bWUodm9pZCkKK3sKKwlwY2lfd3JpdGVfY29uZmlnX2R3b3JkKGNhY2hlZF9kZXYsIDB4MTQsIDB4ZmVkMDAwMDApOworCXByaW50ayhLRVJOX0RFQlVHICJGb3JjZSBlbmFibGVkIEhQRVQgYXQgcmVzdW1lXG4iKTsKK30KKworc3RhdGljIHZvaWQgYXRpX2ZvcmNlX2VuYWJsZV9ocGV0KHN0cnVjdCBwY2lfZGV2ICpkZXYpCit7CisJdTMyIHVuaW5pdGlhbGl6ZWRfdmFyKHZhbCk7CisKKwlpZiAoaHBldF9hZGRyZXNzIHx8IGZvcmNlX2hwZXRfYWRkcmVzcykKKwkJcmV0dXJuOworCisJaWYgKCFocGV0X2ZvcmNlX3VzZXIpIHsKKwkJaHBldF9wcmludF9mb3JjZV9pbmZvKCk7CisJCXJldHVybjsKKwl9CisKKwlwY2lfd3JpdGVfY29uZmlnX2R3b3JkKGRldiwgMHgxNCwgMHhmZWQwMDAwMCk7CisJcGNpX3JlYWRfY29uZmlnX2R3b3JkKGRldiwgMHgxNCwgJnZhbCk7CisJZm9yY2VfaHBldF9hZGRyZXNzID0gdmFsOworCWZvcmNlX2hwZXRfcmVzdW1lX3R5cGUgPSBBVElfRk9SQ0VfSFBFVF9SRVNVTUU7CisJZGV2X3ByaW50ayhLRVJOX0RFQlVHLCAmZGV2LT5kZXYsICJGb3JjZSBlbmFibGVkIEhQRVQgYXQgMHglbHhcbiIsCisJCSAgIGZvcmNlX2hwZXRfYWRkcmVzcyk7CisJY2FjaGVkX2RldiA9IGRldjsKKwlyZXR1cm47Cit9CitERUNMQVJFX1BDSV9GSVhVUF9IRUFERVIoUENJX1ZFTkRPUl9JRF9BVEksIFBDSV9ERVZJQ0VfSURfQVRJX0lYUDQwMF9TTUJVUywKKwkJCSBhdGlfZm9yY2VfZW5hYmxlX2hwZXQpOworCiAvKgogICogVW5kb2N1bWVudGVkIGNoaXBzZXQgZmVhdHVyZSB0YWtlbiBmcm9tIExpbnV4QklPUy4KICAqLwpAQCAtMzQzLDkgKzM5MSwxNCBAQAogewogCXUzMiB1bmluaXRpYWxpemVkX3Zhcih2YWwpOwogCi0JaWYgKCFocGV0X2ZvcmNlX3VzZXIgfHwgaHBldF9hZGRyZXNzIHx8IGZvcmNlX2hwZXRfYWRkcmVzcykKKwlpZiAoaHBldF9hZGRyZXNzIHx8IGZvcmNlX2hwZXRfYWRkcmVzcykKIAkJcmV0dXJuOwogCisJaWYgKCFocGV0X2ZvcmNlX3VzZXIpIHsKKwkJaHBldF9wcmludF9mb3JjZV9pbmZvKCk7CisJCXJldHVybjsKKwl9CisKIAlwY2lfd3JpdGVfY29uZmlnX2R3b3JkKGRldiwgMHg0NCwgMHhmZWQwMDAwMSk7CiAJcGNpX3JlYWRfY29uZmlnX2R3b3JkKGRldiwgMHg0NCwgJnZhbCk7CiAJZm9yY2VfaHBldF9hZGRyZXNzID0gdmFsICYgMHhmZmZmZmZmZTsKQEAgLTM5Nyw2ICs0NTAsOSBAQAogCWNhc2UgTlZJRElBX0ZPUkNFX0hQRVRfUkVTVU1FOgogCQludmlkaWFfZm9yY2VfaHBldF9yZXN1bWUoKTsKIAkJcmV0dXJuOworCWNhc2UgQVRJX0ZPUkNFX0hQRVRfUkVTVU1FOgorCQlhdGlfZm9yY2VfaHBldF9yZXN1bWUoKTsKKwkJcmV0dXJuOwogCWRlZmF1bHQ6CiAJCWJyZWFrOwogCX0KZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9yZWJvb3QuYyBiL2FyY2gveDg2L2tlcm5lbC9yZWJvb3QuYwppbmRleCBmNmJlN2Q1Li5mOGE2MjE2IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvcmVib290LmMKKysrIGIvYXJjaC94ODYva2VybmVsL3JlYm9vdC5jCkBAIC0yNyw3ICsyNyw3IEBACiB2b2lkICgqcG1fcG93ZXJfb2ZmKSh2b2lkKTsKIEVYUE9SVF9TWU1CT0wocG1fcG93ZXJfb2ZmKTsKIAotc3RhdGljIGxvbmcgbm9faWR0WzNdOworc3RhdGljIGNvbnN0IHN0cnVjdCBkZXNjX3B0ciBub19pZHQgPSB7fTsKIHN0YXRpYyBpbnQgcmVib290X21vZGU7CiBlbnVtIHJlYm9vdF90eXBlIHJlYm9vdF90eXBlID0gQk9PVF9LQkQ7CiBpbnQgcmVib290X2ZvcmNlOwpAQCAtMjAxLDE1ICsyMDEsMTUgQEAKICAgIGNvbnRyb2xsZXIgdG8gcHVsc2UgdGhlIENQVSByZXNldCBsaW5lLCB3aGljaCBpcyBtb3JlIHRob3JvdWdoLCBidXQKICAgIGRvZXNuJ3Qgd29yayB3aXRoIGF0IGxlYXN0IG9uZSB0eXBlIG9mIDQ4NiBtb3RoZXJib2FyZC4gIEl0IGlzIGVhc3kKICAgIHRvIHN0b3AgdGhpcyBjb2RlIHdvcmtpbmc7IGhlbmNlIHRoZSBjb3Bpb3VzIGNvbW1lbnRzLiAqLwotc3RhdGljIHVuc2lnbmVkIGxvbmcgbG9uZworc3RhdGljIGNvbnN0IHVuc2lnbmVkIGxvbmcgbG9uZwogcmVhbF9tb2RlX2dkdF9lbnRyaWVzIFszXSA9CiB7CiAJMHgwMDAwMDAwMDAwMDAwMDAwVUxMLAkvKiBOdWxsIGRlc2NyaXB0b3IgKi8KLQkweDAwMDA5YTAwMDAwMGZmZmZVTEwsCS8qIDE2LWJpdCByZWFsLW1vZGUgNjRrIGNvZGUgYXQgMHgwMDAwMDAwMCAqLwotCTB4MDAwMDkyMDAwMTAwZmZmZlVMTAkvKiAxNi1iaXQgcmVhbC1tb2RlIDY0ayBkYXRhIGF0IDB4MDAwMDAxMDAgKi8KKwkweDAwMDA5YjAwMDAwMGZmZmZVTEwsCS8qIDE2LWJpdCByZWFsLW1vZGUgNjRrIGNvZGUgYXQgMHgwMDAwMDAwMCAqLworCTB4MDAwMDkzMDAwMTAwZmZmZlVMTAkvKiAxNi1iaXQgcmVhbC1tb2RlIDY0ayBkYXRhIGF0IDB4MDAwMDAxMDAgKi8KIH07CiAKLXN0YXRpYyBzdHJ1Y3QgZGVzY19wdHIKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZGVzY19wdHIKIHJlYWxfbW9kZV9nZHQgPSB7IHNpemVvZiAocmVhbF9tb2RlX2dkdF9lbnRyaWVzKSAtIDEsIChsb25nKXJlYWxfbW9kZV9nZHRfZW50cmllcyB9LAogcmVhbF9tb2RlX2lkdCA9IHsgMHgzZmYsIDAgfTsKIApAQCAtMjMxLDcgKzIzMSw3IEBACiAKICAgIE1vcmUgY291bGQgYmUgZG9uZSBoZXJlIHRvIHNldCB1cCB0aGUgcmVnaXN0ZXJzIGFzIGlmIGEgQ1BVIHJlc2V0IGhhZAogICAgb2NjdXJyZWQ7IGhvcGVmdWxseSByZWFsIEJJT1NzIGRvbid0IGFzc3VtZSBtdWNoLiAqLwotc3RhdGljIHVuc2lnbmVkIGNoYXIgcmVhbF9tb2RlX3N3aXRjaCBbXSA9CitzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciByZWFsX21vZGVfc3dpdGNoIFtdID0KIHsKIAkweDY2LCAweDBmLCAweDIwLCAweGMwLAkJCS8qICAgIG1vdmwgICVjcjAsJWVheCAgICAgICAgKi8KIAkweDY2LCAweDgzLCAweGUwLCAweDExLAkJCS8qICAgIGFuZGwgICQweDAwMDAwMDExLCVlYXggKi8KQEAgLTI0NSw3ICsyNDUsNyBAQAogCTB4MjQsIDB4MTAsCQkJCS8qIGY6IGFuZGIgICQweDEwLGFsICAgICAgICAgKi8KIAkweDY2LCAweDBmLCAweDIyLCAweGMwCQkJLyogICAgbW92bCAgJWVheCwlY3IwICAgICAgICAqLwogfTsKLXN0YXRpYyB1bnNpZ25lZCBjaGFyIGp1bXBfdG9fYmlvcyBbXSA9CitzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBqdW1wX3RvX2Jpb3MgW10gPQogewogCTB4ZWEsIDB4MDAsIDB4MDAsIDB4ZmYsIDB4ZmYJCS8qICAgIGxqbXAgICQweGZmZmYsJDB4MDAwMCAgKi8KIH07CkBAIC0yNTUsNyArMjU1LDcgQEAKICAqIHNwZWNpZmllZCBieSB0aGUgY29kZSBhbmQgbGVuZ3RoIHBhcmFtZXRlcnMuCiAgKiBXZSBhc3N1bWUgdGhhdCBsZW5ndGggd2lsbCBhd2F5cyBiZSBsZXNzIHRoYXQgMTAwIQogICovCi12b2lkIG1hY2hpbmVfcmVhbF9yZXN0YXJ0KHVuc2lnbmVkIGNoYXIgKmNvZGUsIGludCBsZW5ndGgpCit2b2lkIG1hY2hpbmVfcmVhbF9yZXN0YXJ0KGNvbnN0IHVuc2lnbmVkIGNoYXIgKmNvZGUsIGludCBsZW5ndGgpCiB7CiAJbG9jYWxfaXJxX2Rpc2FibGUoKTsKIApAQCAtMzY4LDcgKzM2OCw3IEBACiAJCQl9CiAKIAkJY2FzZSBCT09UX1RSSVBMRToKLQkJCWxvYWRfaWR0KChjb25zdCBzdHJ1Y3QgZGVzY19wdHIgKikmbm9faWR0KTsKKwkJCWxvYWRfaWR0KCZub19pZHQpOwogCQkJX19hc21fXyBfX3ZvbGF0aWxlX18oImludDMiKTsKIAogCQkJcmVib290X3R5cGUgPSBCT09UX0tCRDsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9yZWJvb3RfZml4dXBzXzMyLmMgYi9hcmNoL3g4Ni9rZXJuZWwvcmVib290X2ZpeHVwc18zMi5jCmluZGV4IGRlYzBiNWUuLjYxYTgzNzcgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9yZWJvb3RfZml4dXBzXzMyLmMKKysrIGIvYXJjaC94ODYva2VybmVsL3JlYm9vdF9maXh1cHNfMzIuYwpAQCAtNDksNyArNDksNyBAQAogCXZvaWQgKCpyZWJvb3RfZml4dXApKHN0cnVjdCBwY2lfZGV2ICopOwogfTsKIAotc3RhdGljIHN0cnVjdCBkZXZpY2VfZml4dXAgZml4dXBzX3RhYmxlW10gPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0IGRldmljZV9maXh1cCBmaXh1cHNfdGFibGVbXSA9IHsKIHsgUENJX1ZFTkRPUl9JRF9DWVJJWCwgUENJX0RFVklDRV9JRF9DWVJJWF81NTMwX0xFR0FDWSwgY3M1NTMwYV93YXJtX3Jlc2V0IH0sCiB7IFBDSV9WRU5ET1JfSURfQU1ELCBQQ0lfREVWSUNFX0lEX0FNRF9DUzU1MzZfSVNBLCBjczU1MzZfd2FybV9yZXNldCB9LAogeyBQQ0lfVkVORE9SX0lEX05TLCBQQ0lfREVWSUNFX0lEX05TX1NDMTEwMF9CUklER0UsIGNzNTUzMGFfd2FybV9yZXNldCB9LApAQCAtNjQsNyArNjQsNyBAQAogICovCiB2b2lkIG1hY2hfcmVib290X2ZpeHVwcyh2b2lkKQogewotCXN0cnVjdCBkZXZpY2VfZml4dXAgKmN1cjsKKwljb25zdCBzdHJ1Y3QgZGV2aWNlX2ZpeHVwICpjdXI7CiAJc3RydWN0IHBjaV9kZXYgKmRldjsKIAlpbnQgaTsKIApkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL3NldHVwLmMgYi9hcmNoL3g4Ni9rZXJuZWwvc2V0dXAuYwppbmRleCA2ZjgwYjg1Li4zNmM1NDBkIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvc2V0dXAuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvc2V0dXAuYwpAQCAtMSwxMzkgKzEsODg5IEBACi0jaW5jbHVkZSA8bGludXgva2VybmVsLmg+Ci0jaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+Ci0jaW5jbHVkZSA8bGludXgvaW5pdC5oPgorLyoKKyAqICBDb3B5cmlnaHQgKEMpIDE5OTUgIExpbnVzIFRvcnZhbGRzCisgKgorICogIFN1cHBvcnQgb2YgQklHTUVNIGFkZGVkIGJ5IEdlcmhhcmQgV2ljaGVydCwgU2llbWVucyBBRywgSnVseSAxOTk5CisgKgorICogIE1lbW9yeSByZWdpb24gc3VwcG9ydAorICoJRGF2aWQgUGFyc29ucyA8b3JjQHBlbGwuY2hpLmlsLnVzPiwgSnVseS1BdWd1c3QgMTk5OQorICoKKyAqICBBZGRlZCBFODIwIHNhbml0aXphdGlvbiByb3V0aW5lIChyZW1vdmVzIG92ZXJsYXBwaW5nIG1lbW9yeSByZWdpb25zKTsKKyAqICBCcmlhbiBNb3lsZSA8Ym1veWxlQG12aXN0YS5jb20+LCBGZWJydWFyeSAyMDAxCisgKgorICogTW92ZWQgQ1BVIGRldGVjdGlvbiBjb2RlIHRvIGNwdS8ke2NwdX0uYworICogICAgUGF0cmljayBNb2NoZWwgPG1vY2hlbEBvc2RsLm9yZz4sIE1hcmNoIDIwMDIKKyAqCisgKiAgUHJvdmlzaW9ucyBmb3IgZW1wdHkgRTgyMCBtZW1vcnkgcmVnaW9ucyAocmVwb3J0ZWQgYnkgY2VydGFpbiBCSU9TZXMpLgorICogIEFsZXggQWNoZW5iYWNoIDx4ZWxhQHNsaXQuZGU+LCBEZWNlbWJlciAyMDAyLgorICoKKyAqLworCisvKgorICogVGhpcyBmaWxlIGhhbmRsZXMgdGhlIGFyY2hpdGVjdHVyZS1kZXBlbmRlbnQgcGFydHMgb2YgaW5pdGlhbGl6YXRpb24KKyAqLworCisjaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KKyNpbmNsdWRlIDxsaW51eC9tbS5oPgorI2luY2x1ZGUgPGxpbnV4L21tem9uZS5oPgorI2luY2x1ZGUgPGxpbnV4L3NjcmVlbl9pbmZvLmg+CisjaW5jbHVkZSA8bGludXgvaW9wb3J0Lmg+CisjaW5jbHVkZSA8bGludXgvYWNwaS5oPgorI2luY2x1ZGUgPGxpbnV4L2FwbV9iaW9zLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdHJkLmg+CiAjaW5jbHVkZSA8bGludXgvYm9vdG1lbS5oPgorI2luY2x1ZGUgPGxpbnV4L3NlcV9maWxlLmg+CisjaW5jbHVkZSA8bGludXgvY29uc29sZS5oPgorI2luY2x1ZGUgPGxpbnV4L21jYS5oPgorI2luY2x1ZGUgPGxpbnV4L3Jvb3RfZGV2Lmg+CisjaW5jbHVkZSA8bGludXgvaGlnaG1lbS5oPgorI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L2VmaS5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9lZGQuaD4KKyNpbmNsdWRlIDxsaW51eC9pc2NzaV9pYmZ0Lmg+CisjaW5jbHVkZSA8bGludXgvbm9kZW1hc2suaD4KKyNpbmNsdWRlIDxsaW51eC9rZXhlYy5oPgorI2luY2x1ZGUgPGxpbnV4L2RtaS5oPgorI2luY2x1ZGUgPGxpbnV4L3Bmbi5oPgorI2luY2x1ZGUgPGxpbnV4L3BjaS5oPgorI2luY2x1ZGUgPGFzbS9wY2ktZGlyZWN0Lmg+CisjaW5jbHVkZSA8bGludXgvaW5pdF9vaGNpMTM5NF9kbWEuaD4KKyNpbmNsdWRlIDxsaW51eC9rdm1fcGFyYS5oPgorCisjaW5jbHVkZSA8bGludXgvZXJybm8uaD4KKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9zdGRkZWYuaD4KKyNpbmNsdWRlIDxsaW51eC91bmlzdGQuaD4KKyNpbmNsdWRlIDxsaW51eC9wdHJhY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9zbGFiLmg+CisjaW5jbHVkZSA8bGludXgvdXNlci5oPgorI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+CisjaW5jbHVkZSA8bGludXgvaGlnaG1lbS5oPgorCisjaW5jbHVkZSA8bGludXgva2FsbHN5bXMuaD4KKyNpbmNsdWRlIDxsaW51eC9lZGQuaD4KKyNpbmNsdWRlIDxsaW51eC9pc2NzaV9pYmZ0Lmg+CisjaW5jbHVkZSA8bGludXgva2V4ZWMuaD4KKyNpbmNsdWRlIDxsaW51eC9jcHVmcmVxLmg+CisjaW5jbHVkZSA8bGludXgvZG1hLW1hcHBpbmcuaD4KKyNpbmNsdWRlIDxsaW51eC9jdHlwZS5oPgorI2luY2x1ZGUgPGxpbnV4L3VhY2Nlc3MuaD4KKwogI2luY2x1ZGUgPGxpbnV4L3BlcmNwdS5oPgorI2luY2x1ZGUgPGxpbnV4L2NyYXNoX2R1bXAuaD4KKworI2luY2x1ZGUgPHZpZGVvL2VkaWQuaD4KKworI2luY2x1ZGUgPGFzbS9tdHJyLmg+CisjaW5jbHVkZSA8YXNtL2FwaWMuaD4KKyNpbmNsdWRlIDxhc20vZTgyMC5oPgorI2luY2x1ZGUgPGFzbS9tcHNwZWMuaD4KKyNpbmNsdWRlIDxhc20vc2V0dXAuaD4KKyNpbmNsdWRlIDxhc20vYXJjaF9ob29rcy5oPgorI2luY2x1ZGUgPGFzbS9lZmkuaD4KKyNpbmNsdWRlIDxhc20vc2VjdGlvbnMuaD4KKyNpbmNsdWRlIDxhc20vZG1pLmg+CisjaW5jbHVkZSA8YXNtL2lvX2FwaWMuaD4KKyNpbmNsdWRlIDxhc20vaXN0Lmg+CisjaW5jbHVkZSA8YXNtL3ZtaS5oPgorI2luY2x1ZGUgPHNldHVwX2FyY2guaD4KKyNpbmNsdWRlIDxhc20vYmlvc19lYmRhLmg+CisjaW5jbHVkZSA8YXNtL2NhY2hlZmx1c2guaD4KKyNpbmNsdWRlIDxhc20vcHJvY2Vzc29yLmg+CisjaW5jbHVkZSA8YXNtL2J1Z3MuaD4KKworI2luY2x1ZGUgPGFzbS9zeXN0ZW0uaD4KKyNpbmNsdWRlIDxhc20vdnN5c2NhbGwuaD4KICNpbmNsdWRlIDxhc20vc21wLmg+CisjaW5jbHVkZSA8YXNtL2Rlc2MuaD4KKyNpbmNsdWRlIDxhc20vZG1hLmg+CisjaW5jbHVkZSA8YXNtL2dhcnQuaD4KKyNpbmNsdWRlIDxhc20vbW11X2NvbnRleHQuaD4KKyNpbmNsdWRlIDxhc20vcHJvdG8uaD4KKworI2luY2x1ZGUgPG1hY2hfYXBpYy5oPgorI2luY2x1ZGUgPGFzbS9wYXJhdmlydC5oPgorCiAjaW5jbHVkZSA8YXNtL3BlcmNwdS5oPgogI2luY2x1ZGUgPGFzbS9zZWN0aW9ucy5oPgotI2luY2x1ZGUgPGFzbS9wcm9jZXNzb3IuaD4KLSNpbmNsdWRlIDxhc20vc2V0dXAuaD4KICNpbmNsdWRlIDxhc20vdG9wb2xvZ3kuaD4KLSNpbmNsdWRlIDxhc20vbXBzcGVjLmg+CiAjaW5jbHVkZSA8YXNtL2FwaWNkZWYuaD4KLQotI2lmZGVmIENPTkZJR19YODZfTE9DQUxfQVBJQwotdW5zaWduZWQgaW50IG51bV9wcm9jZXNzb3JzOwotdW5zaWduZWQgZGlzYWJsZWRfY3B1cyBfX2NwdWluaXRkYXRhOwotLyogUHJvY2Vzc29yIHRoYXQgaXMgZG9pbmcgdGhlIGJvb3QgdXAgKi8KLXVuc2lnbmVkIGludCBib290X2NwdV9waHlzaWNhbF9hcGljaWQgPSAtMVU7Ci1FWFBPUlRfU1lNQk9MKGJvb3RfY3B1X3BoeXNpY2FsX2FwaWNpZCk7Ci0KLURFRklORV9QRVJfQ1BVKHUxNiwgeDg2X2NwdV90b19hcGljaWQpID0gQkFEX0FQSUNJRDsKLUVYUE9SVF9QRVJfQ1BVX1NZTUJPTCh4ODZfY3B1X3RvX2FwaWNpZCk7Ci0KLS8qIEJpdG1hc2sgb2YgcGh5c2ljYWxseSBleGlzdGluZyBDUFVzICovCi1waHlzaWRfbWFza190IHBoeXNfY3B1X3ByZXNlbnRfbWFwOworI2lmZGVmIENPTkZJR19YODZfNjQKKyNpbmNsdWRlIDxhc20vbnVtYV82NC5oPgogI2VuZGlmCiAKLSNpZiBkZWZpbmVkKENPTkZJR19IQVZFX1NFVFVQX1BFUl9DUFVfQVJFQSkgJiYgZGVmaW5lZChDT05GSUdfWDg2X1NNUCkKKyNpZm5kZWYgQVJDSF9TRVRVUAorI2RlZmluZSBBUkNIX1NFVFVQCisjZW5kaWYKKworI2lmbmRlZiBDT05GSUdfREVCVUdfQk9PVF9QQVJBTVMKK3N0cnVjdCBib290X3BhcmFtcyBfX2luaXRkYXRhIGJvb3RfcGFyYW1zOworI2Vsc2UKK3N0cnVjdCBib290X3BhcmFtcyBib290X3BhcmFtczsKKyNlbmRpZgorCiAvKgotICogQ29weSBkYXRhIHVzZWQgaW4gZWFybHkgaW5pdCByb3V0aW5lcyBmcm9tIHRoZSBpbml0aWFsIGFycmF5cyB0byB0aGUKLSAqIHBlciBjcHUgZGF0YSBhcmVhcy4gIFRoZXNlIGFycmF5cyB0aGVuIGJlY29tZSBleHBlbmRhYmxlIGFuZCB0aGUKLSAqICpfZWFybHlfcHRyJ3MgYXJlIHplcm9lZCBpbmRpY2F0aW5nIHRoYXQgdGhlIHN0YXRpYyBhcnJheXMgYXJlIGdvbmUuCisgKiBNYWNoaW5lIHNldHVwLi4KICAqLwotc3RhdGljIHZvaWQgX19pbml0IHNldHVwX3Blcl9jcHVfbWFwcyh2b2lkKQorc3RhdGljIHN0cnVjdCByZXNvdXJjZSBkYXRhX3Jlc291cmNlID0geworCS5uYW1lCT0gIktlcm5lbCBkYXRhIiwKKwkuc3RhcnQJPSAwLAorCS5lbmQJPSAwLAorCS5mbGFncwk9IElPUkVTT1VSQ0VfQlVTWSB8IElPUkVTT1VSQ0VfTUVNCit9OworCitzdGF0aWMgc3RydWN0IHJlc291cmNlIGNvZGVfcmVzb3VyY2UgPSB7CisJLm5hbWUJPSAiS2VybmVsIGNvZGUiLAorCS5zdGFydAk9IDAsCisJLmVuZAk9IDAsCisJLmZsYWdzCT0gSU9SRVNPVVJDRV9CVVNZIHwgSU9SRVNPVVJDRV9NRU0KK307CisKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgYnNzX3Jlc291cmNlID0geworCS5uYW1lCT0gIktlcm5lbCBic3MiLAorCS5zdGFydAk9IDAsCisJLmVuZAk9IDAsCisJLmZsYWdzCT0gSU9SRVNPVVJDRV9CVVNZIHwgSU9SRVNPVVJDRV9NRU0KK307CisKKworI2lmZGVmIENPTkZJR19YODZfMzIKKy8qIFRoaXMgdmFsdWUgaXMgc2V0IHVwIGJ5IHRoZSBlYXJseSBib290IGNvZGUgdG8gcG9pbnQgdG8gdGhlIHZhbHVlCisgICBpbW1lZGlhdGVseSBhZnRlciB0aGUgYm9vdCB0aW1lIHBhZ2UgdGFibGVzLiAgSXQgY29udGFpbnMgYSAqcGh5c2ljYWwqCisgICBhZGRyZXNzLCBhbmQgbXVzdCBub3QgYmUgaW4gdGhlIC5ic3Mgc2VnbWVudCEgKi8KK3Vuc2lnbmVkIGxvbmcgaW5pdF9wZ190YWJsZXNfc3RhcnQgX19pbml0ZGF0YSA9IH4wVUw7Cit1bnNpZ25lZCBsb25nIGluaXRfcGdfdGFibGVzX2VuZCBfX2luaXRkYXRhID0gfjBVTDsKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSB2aWRlb19yYW1fcmVzb3VyY2UgPSB7CisJLm5hbWUJPSAiVmlkZW8gUkFNIGFyZWEiLAorCS5zdGFydAk9IDB4YTAwMDAsCisJLmVuZAk9IDB4YmZmZmYsCisJLmZsYWdzCT0gSU9SRVNPVVJDRV9CVVNZIHwgSU9SRVNPVVJDRV9NRU0KK307CisKKy8qIGNwdSBkYXRhIGFzIGRldGVjdGVkIGJ5IHRoZSBhc3NlbWJseSBjb2RlIGluIGhlYWQuUyAqLworc3RydWN0IGNwdWluZm9feDg2IG5ld19jcHVfZGF0YSBfX2NwdWluaXRkYXRhID0gezAsIDAsIDAsIDAsIC0xLCAxLCAwLCAwLCAtMX07CisvKiBjb21tb24gY3B1IGRhdGEgZm9yIGFsbCBjcHVzICovCitzdHJ1Y3QgY3B1aW5mb194ODYgYm9vdF9jcHVfZGF0YSBfX3JlYWRfbW9zdGx5ID0gezAsIDAsIDAsIDAsIC0xLCAxLCAwLCAwLCAtMX07CitFWFBPUlRfU1lNQk9MKGJvb3RfY3B1X2RhdGEpOworc3RhdGljIHZvaWQgc2V0X21jYV9idXMoaW50IHgpCiB7Ci0JaW50IGNwdTsKLQotCWZvcl9lYWNoX3Bvc3NpYmxlX2NwdShjcHUpIHsKLQkJcGVyX2NwdSh4ODZfY3B1X3RvX2FwaWNpZCwgY3B1KSA9IHg4Nl9jcHVfdG9fYXBpY2lkX2luaXRbY3B1XTsKLQkJcGVyX2NwdSh4ODZfYmlvc19jcHVfYXBpY2lkLCBjcHUpID0KLQkJCQkJCXg4Nl9iaW9zX2NwdV9hcGljaWRfaW5pdFtjcHVdOwotI2lmZGVmIENPTkZJR19OVU1BCi0JCXBlcl9jcHUoeDg2X2NwdV90b19ub2RlX21hcCwgY3B1KSA9Ci0JCQkJCQl4ODZfY3B1X3RvX25vZGVfbWFwX2luaXRbY3B1XTsKLSNlbmRpZgotCX0KLQotCS8qIGluZGljYXRlIHRoZSBlYXJseSBzdGF0aWMgYXJyYXlzIHdpbGwgc29vbiBiZSBnb25lICovCi0JeDg2X2NwdV90b19hcGljaWRfZWFybHlfcHRyID0gTlVMTDsKLQl4ODZfYmlvc19jcHVfYXBpY2lkX2Vhcmx5X3B0ciA9IE5VTEw7Ci0jaWZkZWYgQ09ORklHX05VTUEKLQl4ODZfY3B1X3RvX25vZGVfbWFwX2Vhcmx5X3B0ciA9IE5VTEw7CisjaWZkZWYgQ09ORklHX01DQQorCU1DQV9idXMgPSB4OwogI2VuZGlmCiB9CiAKLSNpZmRlZiBDT05GSUdfSEFWRV9DUFVNQVNLX09GX0NQVV9NQVAKLWNwdW1hc2tfdCAqY3B1bWFza19vZl9jcHVfbWFwIF9fcmVhZF9tb3N0bHk7Ci1FWFBPUlRfU1lNQk9MKGNwdW1hc2tfb2ZfY3B1X21hcCk7Cit1bnNpZ25lZCBpbnQgZGVmX3RvX2JpZ3NtcDsKIAotLyogcmVxdWlyZXMgbnJfY3B1X2lkcyB0byBiZSBpbml0aWFsaXplZCAqLwotc3RhdGljIHZvaWQgX19pbml0IHNldHVwX2NwdW1hc2tfb2ZfY3B1KHZvaWQpCisvKiBmb3IgTUNBLCBidXQgYW55b25lIGVsc2UgY2FuIHVzZSBpdCBpZiB0aGV5IHdhbnQgKi8KK3Vuc2lnbmVkIGludCBtYWNoaW5lX2lkOwordW5zaWduZWQgaW50IG1hY2hpbmVfc3VibW9kZWxfaWQ7Cit1bnNpZ25lZCBpbnQgQklPU19yZXZpc2lvbjsKKworc3RydWN0IGFwbV9pbmZvIGFwbV9pbmZvOworRVhQT1JUX1NZTUJPTChhcG1faW5mbyk7CisKKyNpZiBkZWZpbmVkKENPTkZJR19YODZfU1BFRURTVEVQX1NNSSkgfHwgXAorCWRlZmluZWQoQ09ORklHX1g4Nl9TUEVFRFNURVBfU01JX01PRFVMRSkKK3N0cnVjdCBpc3RfaW5mbyBpc3RfaW5mbzsKK0VYUE9SVF9TWU1CT0woaXN0X2luZm8pOworI2Vsc2UKK3N0cnVjdCBpc3RfaW5mbyBpc3RfaW5mbzsKKyNlbmRpZgorCisjZWxzZQorc3RydWN0IGNwdWluZm9feDg2IGJvb3RfY3B1X2RhdGEgX19yZWFkX21vc3RseTsKK0VYUE9SVF9TWU1CT0woYm9vdF9jcHVfZGF0YSk7CisjZW5kaWYKKworCisjaWYgIWRlZmluZWQoQ09ORklHX1g4Nl9QQUUpIHx8IGRlZmluZWQoQ09ORklHX1g4Nl82NCkKK3Vuc2lnbmVkIGxvbmcgbW11X2NyNF9mZWF0dXJlczsKKyNlbHNlCit1bnNpZ25lZCBsb25nIG1tdV9jcjRfZmVhdHVyZXMgPSBYODZfQ1I0X1BBRTsKKyNlbmRpZgorCisvKiBCb290IGxvYWRlciBJRCBhcyBhbiBpbnRlZ2VyLCBmb3IgdGhlIGJlbmVmaXQgb2YgcHJvY19kb2ludHZlYyAqLworaW50IGJvb3Rsb2FkZXJfdHlwZTsKKworLyoKKyAqIEVhcmx5IERNSSBtZW1vcnkKKyAqLworaW50IGRtaV9hbGxvY19pbmRleDsKK2NoYXIgZG1pX2FsbG9jX2RhdGFbRE1JX01BWF9EQVRBXTsKKworLyoKKyAqIFNldHVwIG9wdGlvbnMKKyAqLworc3RydWN0IHNjcmVlbl9pbmZvIHNjcmVlbl9pbmZvOworRVhQT1JUX1NZTUJPTChzY3JlZW5faW5mbyk7CitzdHJ1Y3QgZWRpZF9pbmZvIGVkaWRfaW5mbzsKK0VYUE9SVF9TWU1CT0xfR1BMKGVkaWRfaW5mbyk7CisKK2V4dGVybiBpbnQgcm9vdF9tb3VudGZsYWdzOworCit1bnNpZ25lZCBsb25nIHNhdmVkX3ZpZGVvX21vZGU7CisKKyNkZWZpbmUgUkFNRElTS19JTUFHRV9TVEFSVF9NQVNLCTB4MDdGRgorI2RlZmluZSBSQU1ESVNLX1BST01QVF9GTEFHCQkweDgwMDAKKyNkZWZpbmUgUkFNRElTS19MT0FEX0ZMQUcJCTB4NDAwMAorCitzdGF0aWMgY2hhciBfX2luaXRkYXRhIGNvbW1hbmRfbGluZVtDT01NQU5EX0xJTkVfU0laRV07CisKKyNpZiBkZWZpbmVkKENPTkZJR19FREQpIHx8IGRlZmluZWQoQ09ORklHX0VERF9NT0RVTEUpCitzdHJ1Y3QgZWRkIGVkZDsKKyNpZmRlZiBDT05GSUdfRUREX01PRFVMRQorRVhQT1JUX1NZTUJPTChlZGQpOworI2VuZGlmCisvKioKKyAqIGNvcHlfZWRkKCkgLSBDb3B5IHRoZSBCSU9TIEVERCBpbmZvcm1hdGlvbgorICogICAgICAgICAgICAgIGZyb20gYm9vdF9wYXJhbXMgaW50byBhIHNhZmUgcGxhY2UuCisgKgorICovCitzdGF0aWMgaW5saW5lIHZvaWQgY29weV9lZGQodm9pZCkKK3sKKyAgICAgbWVtY3B5KGVkZC5tYnJfc2lnbmF0dXJlLCBib290X3BhcmFtcy5lZGRfbWJyX3NpZ19idWZmZXIsCisJICAgIHNpemVvZihlZGQubWJyX3NpZ25hdHVyZSkpOworICAgICBtZW1jcHkoZWRkLmVkZF9pbmZvLCBib290X3BhcmFtcy5lZGRidWYsIHNpemVvZihlZGQuZWRkX2luZm8pKTsKKyAgICAgZWRkLm1icl9zaWduYXR1cmVfbnIgPSBib290X3BhcmFtcy5lZGRfbWJyX3NpZ19idWZfZW50cmllczsKKyAgICAgZWRkLmVkZF9pbmZvX25yID0gYm9vdF9wYXJhbXMuZWRkYnVmX2VudHJpZXM7Cit9CisjZWxzZQorc3RhdGljIGlubGluZSB2b2lkIGNvcHlfZWRkKHZvaWQpCit7Cit9CisjZW5kaWYKKworI2lmZGVmIENPTkZJR19CTEtfREVWX0lOSVRSRAorCisjaWZkZWYgQ09ORklHX1g4Nl8zMgorCisjZGVmaW5lIE1BWF9NQVBfQ0hVTksJKE5SX0ZJWF9CVE1BUFMgPDwgUEFHRV9TSElGVCkKK3N0YXRpYyB2b2lkIF9faW5pdCByZWxvY2F0ZV9pbml0cmQodm9pZCkKK3sKKworCXU2NCByYW1kaXNrX2ltYWdlID0gYm9vdF9wYXJhbXMuaGRyLnJhbWRpc2tfaW1hZ2U7CisJdTY0IHJhbWRpc2tfc2l6ZSAgPSBib290X3BhcmFtcy5oZHIucmFtZGlza19zaXplOworCXU2NCBlbmRfb2ZfbG93bWVtID0gbWF4X2xvd19wZm4gPDwgUEFHRV9TSElGVDsKKwl1NjQgcmFtZGlza19oZXJlOworCXVuc2lnbmVkIGxvbmcgc2xvcCwgY2xlbiwgbWFwYWRkcjsKKwljaGFyICpwLCAqcTsKKworCS8qIFdlIG5lZWQgdG8gbW92ZSB0aGUgaW5pdHJkIGRvd24gaW50byBsb3dtZW0gKi8KKwlyYW1kaXNrX2hlcmUgPSBmaW5kX2U4MjBfYXJlYSgwLCBlbmRfb2ZfbG93bWVtLCByYW1kaXNrX3NpemUsCisJCQkJCSBQQUdFX1NJWkUpOworCisJaWYgKHJhbWRpc2tfaGVyZSA9PSAtMVVMTCkKKwkJcGFuaWMoIkNhbm5vdCBmaW5kIHBsYWNlIGZvciBuZXcgUkFNRElTSyBvZiBzaXplICVsbGRcbiIsCisJCQkgcmFtZGlza19zaXplKTsKKworCS8qIE5vdGU6IHRoaXMgaW5jbHVkZXMgYWxsIHRoZSBsb3dtZW0gY3VycmVudGx5IG9jY3VwaWVkIGJ5CisJICAgdGhlIGluaXRyZCwgd2UgcmVseSBvbiB0aGF0IGZhY3QgdG8ga2VlcCB0aGUgZGF0YSBpbnRhY3QuICovCisJcmVzZXJ2ZV9lYXJseShyYW1kaXNrX2hlcmUsIHJhbWRpc2tfaGVyZSArIHJhbWRpc2tfc2l6ZSwKKwkJCSAiTkVXIFJBTURJU0siKTsKKwlpbml0cmRfc3RhcnQgPSByYW1kaXNrX2hlcmUgKyBQQUdFX09GRlNFVDsKKwlpbml0cmRfZW5kICAgPSBpbml0cmRfc3RhcnQgKyByYW1kaXNrX3NpemU7CisJcHJpbnRrKEtFUk5fSU5GTyAiQWxsb2NhdGVkIG5ldyBSQU1ESVNLOiAlMDhsbHggLSAlMDhsbHhcbiIsCisJCQkgcmFtZGlza19oZXJlLCByYW1kaXNrX2hlcmUgKyByYW1kaXNrX3NpemUpOworCisJcSA9IChjaGFyICopaW5pdHJkX3N0YXJ0OworCisJLyogQ29weSBhbnkgbG93bWVtIHBvcnRpb24gb2YgdGhlIGluaXRyZCAqLworCWlmIChyYW1kaXNrX2ltYWdlIDwgZW5kX29mX2xvd21lbSkgeworCQljbGVuID0gZW5kX29mX2xvd21lbSAtIHJhbWRpc2tfaW1hZ2U7CisJCXAgPSAoY2hhciAqKV9fdmEocmFtZGlza19pbWFnZSk7CisJCW1lbWNweShxLCBwLCBjbGVuKTsKKwkJcSArPSBjbGVuOworCQlyYW1kaXNrX2ltYWdlICs9IGNsZW47CisJCXJhbWRpc2tfc2l6ZSAgLT0gY2xlbjsKKwl9CisKKwkvKiBDb3B5IHRoZSBoaWdobWVtIHBvcnRpb24gb2YgdGhlIGluaXRyZCAqLworCXdoaWxlIChyYW1kaXNrX3NpemUpIHsKKwkJc2xvcCA9IHJhbWRpc2tfaW1hZ2UgJiB+UEFHRV9NQVNLOworCQljbGVuID0gcmFtZGlza19zaXplOworCQlpZiAoY2xlbiA+IE1BWF9NQVBfQ0hVTkstc2xvcCkKKwkJCWNsZW4gPSBNQVhfTUFQX0NIVU5LLXNsb3A7CisJCW1hcGFkZHIgPSByYW1kaXNrX2ltYWdlICYgUEFHRV9NQVNLOworCQlwID0gZWFybHlfaW9yZW1hcChtYXBhZGRyLCBjbGVuK3Nsb3ApOworCQltZW1jcHkocSwgcCtzbG9wLCBjbGVuKTsKKwkJZWFybHlfaW91bm1hcChwLCBjbGVuK3Nsb3ApOworCQlxICs9IGNsZW47CisJCXJhbWRpc2tfaW1hZ2UgKz0gY2xlbjsKKwkJcmFtZGlza19zaXplICAtPSBjbGVuOworCX0KKwkvKiBoaWdoIHBhZ2VzIGlzIG5vdCBjb252ZXJ0ZWQgYnkgZWFybHlfcmVzX3RvX2Jvb3RtZW0gKi8KKwlyYW1kaXNrX2ltYWdlID0gYm9vdF9wYXJhbXMuaGRyLnJhbWRpc2tfaW1hZ2U7CisJcmFtZGlza19zaXplICA9IGJvb3RfcGFyYW1zLmhkci5yYW1kaXNrX3NpemU7CisJcHJpbnRrKEtFUk5fSU5GTyAiTW92ZSBSQU1ESVNLIGZyb20gJTAxNmxseCAtICUwMTZsbHggdG8iCisJCSIgJTA4bGx4IC0gJTA4bGx4XG4iLAorCQlyYW1kaXNrX2ltYWdlLCByYW1kaXNrX2ltYWdlICsgcmFtZGlza19zaXplIC0gMSwKKwkJcmFtZGlza19oZXJlLCByYW1kaXNrX2hlcmUgKyByYW1kaXNrX3NpemUgLSAxKTsKK30KKyNlbmRpZgorCitzdGF0aWMgdm9pZCBfX2luaXQgcmVzZXJ2ZV9pbml0cmQodm9pZCkKK3sKKwl1NjQgcmFtZGlza19pbWFnZSA9IGJvb3RfcGFyYW1zLmhkci5yYW1kaXNrX2ltYWdlOworCXU2NCByYW1kaXNrX3NpemUgID0gYm9vdF9wYXJhbXMuaGRyLnJhbWRpc2tfc2l6ZTsKKwl1NjQgcmFtZGlza19lbmQgICA9IHJhbWRpc2tfaW1hZ2UgKyByYW1kaXNrX3NpemU7CisJdTY0IGVuZF9vZl9sb3dtZW0gPSBtYXhfbG93X3BmbiA8PCBQQUdFX1NISUZUOworCisJaWYgKCFib290X3BhcmFtcy5oZHIudHlwZV9vZl9sb2FkZXIgfHwKKwkgICAgIXJhbWRpc2tfaW1hZ2UgfHwgIXJhbWRpc2tfc2l6ZSkKKwkJcmV0dXJuOwkJLyogTm8gaW5pdHJkIHByb3ZpZGVkIGJ5IGJvb3Rsb2FkZXIgKi8KKworCWluaXRyZF9zdGFydCA9IDA7CisKKwlpZiAocmFtZGlza19zaXplID49IChlbmRfb2ZfbG93bWVtPj4xKSkgeworCQlmcmVlX2Vhcmx5KHJhbWRpc2tfaW1hZ2UsIHJhbWRpc2tfZW5kKTsKKwkJcHJpbnRrKEtFUk5fRVJSICJpbml0cmQgdG9vIGxhcmdlIHRvIGhhbmRsZSwgIgorCQkgICAgICAgImRpc2FibGluZyBpbml0cmRcbiIpOworCQlyZXR1cm47CisJfQorCisJcHJpbnRrKEtFUk5fSU5GTyAiUkFNRElTSzogJTA4bGx4IC0gJTA4bGx4XG4iLCByYW1kaXNrX2ltYWdlLAorCQkJcmFtZGlza19lbmQpOworCisKKwlpZiAocmFtZGlza19lbmQgPD0gZW5kX29mX2xvd21lbSkgeworCQkvKiBBbGwgaW4gbG93bWVtLCBlYXN5IGNhc2UgKi8KKwkJLyoKKwkJICogZG9uJ3QgbmVlZCB0byByZXNlcnZlIGFnYWluLCBhbHJlYWR5IHJlc2VydmVkIGVhcmx5CisJCSAqIGluIGkzODZfc3RhcnRfa2VybmVsCisJCSAqLworCQlpbml0cmRfc3RhcnQgPSByYW1kaXNrX2ltYWdlICsgUEFHRV9PRkZTRVQ7CisJCWluaXRyZF9lbmQgPSBpbml0cmRfc3RhcnQgKyByYW1kaXNrX3NpemU7CisJCXJldHVybjsKKwl9CisKKyNpZmRlZiBDT05GSUdfWDg2XzMyCisJcmVsb2NhdGVfaW5pdHJkKCk7CisjZWxzZQorCXByaW50ayhLRVJOX0VSUiAiaW5pdHJkIGV4dGVuZHMgYmV5b25kIGVuZCBvZiBtZW1vcnkgIgorCSAgICAgICAiKDB4JTA4bGx4ID4gMHglMDhsbHgpXG5kaXNhYmxpbmcgaW5pdHJkXG4iLAorCSAgICAgICByYW1kaXNrX2VuZCwgZW5kX29mX2xvd21lbSk7CisJaW5pdHJkX3N0YXJ0ID0gMDsKKyNlbmRpZgorCWZyZWVfZWFybHkocmFtZGlza19pbWFnZSwgcmFtZGlza19lbmQpOworfQorI2Vsc2UKK3N0YXRpYyB2b2lkIF9faW5pdCByZXNlcnZlX2luaXRyZCh2b2lkKQoreworfQorI2VuZGlmIC8qIENPTkZJR19CTEtfREVWX0lOSVRSRCAqLworCitzdGF0aWMgdm9pZCBfX2luaXQgcGFyc2Vfc2V0dXBfZGF0YSh2b2lkKQoreworCXN0cnVjdCBzZXR1cF9kYXRhICpkYXRhOworCXU2NCBwYV9kYXRhOworCisJaWYgKGJvb3RfcGFyYW1zLmhkci52ZXJzaW9uIDwgMHgwMjA5KQorCQlyZXR1cm47CisJcGFfZGF0YSA9IGJvb3RfcGFyYW1zLmhkci5zZXR1cF9kYXRhOworCXdoaWxlIChwYV9kYXRhKSB7CisJCWRhdGEgPSBlYXJseV9pb3JlbWFwKHBhX2RhdGEsIFBBR0VfU0laRSk7CisJCXN3aXRjaCAoZGF0YS0+dHlwZSkgeworCQljYXNlIFNFVFVQX0U4MjBfRVhUOgorCQkJcGFyc2VfZTgyMF9leHQoZGF0YSwgcGFfZGF0YSk7CisJCQlicmVhazsKKwkJZGVmYXVsdDoKKwkJCWJyZWFrOworCQl9CisJCXBhX2RhdGEgPSBkYXRhLT5uZXh0OworCQllYXJseV9pb3VubWFwKGRhdGEsIFBBR0VfU0laRSk7CisJfQorfQorCitzdGF0aWMgdm9pZCBfX2luaXQgZTgyMF9yZXNlcnZlX3NldHVwX2RhdGEodm9pZCkKK3sKKwlzdHJ1Y3Qgc2V0dXBfZGF0YSAqZGF0YTsKKwl1NjQgcGFfZGF0YTsKKwlpbnQgZm91bmQgPSAwOworCisJaWYgKGJvb3RfcGFyYW1zLmhkci52ZXJzaW9uIDwgMHgwMjA5KQorCQlyZXR1cm47CisJcGFfZGF0YSA9IGJvb3RfcGFyYW1zLmhkci5zZXR1cF9kYXRhOworCXdoaWxlIChwYV9kYXRhKSB7CisJCWRhdGEgPSBlYXJseV9pb3JlbWFwKHBhX2RhdGEsIHNpemVvZigqZGF0YSkpOworCQllODIwX3VwZGF0ZV9yYW5nZShwYV9kYXRhLCBzaXplb2YoKmRhdGEpK2RhdGEtPmxlbiwKKwkJCSBFODIwX1JBTSwgRTgyMF9SRVNFUlZFRF9LRVJOKTsKKwkJZm91bmQgPSAxOworCQlwYV9kYXRhID0gZGF0YS0+bmV4dDsKKwkJZWFybHlfaW91bm1hcChkYXRhLCBzaXplb2YoKmRhdGEpKTsKKwl9CisJaWYgKCFmb3VuZCkKKwkJcmV0dXJuOworCisJc2FuaXRpemVfZTgyMF9tYXAoZTgyMC5tYXAsIEFSUkFZX1NJWkUoZTgyMC5tYXApLCAmZTgyMC5ucl9tYXApOworCW1lbWNweSgmZTgyMF9zYXZlZCwgJmU4MjAsIHNpemVvZihzdHJ1Y3QgZTgyMG1hcCkpOworCXByaW50ayhLRVJOX0lORk8gImV4dGVuZGVkIHBoeXNpY2FsIFJBTSBtYXA6XG4iKTsKKwllODIwX3ByaW50X21hcCgicmVzZXJ2ZSBzZXR1cF9kYXRhIik7Cit9CisKK3N0YXRpYyB2b2lkIF9faW5pdCByZXNlcnZlX2Vhcmx5X3NldHVwX2RhdGEodm9pZCkKK3sKKwlzdHJ1Y3Qgc2V0dXBfZGF0YSAqZGF0YTsKKwl1NjQgcGFfZGF0YTsKKwljaGFyIGJ1ZlszMl07CisKKwlpZiAoYm9vdF9wYXJhbXMuaGRyLnZlcnNpb24gPCAweDAyMDkpCisJCXJldHVybjsKKwlwYV9kYXRhID0gYm9vdF9wYXJhbXMuaGRyLnNldHVwX2RhdGE7CisJd2hpbGUgKHBhX2RhdGEpIHsKKwkJZGF0YSA9IGVhcmx5X2lvcmVtYXAocGFfZGF0YSwgc2l6ZW9mKCpkYXRhKSk7CisJCXNwcmludGYoYnVmLCAic2V0dXAgZGF0YSAleCIsIGRhdGEtPnR5cGUpOworCQlyZXNlcnZlX2Vhcmx5KHBhX2RhdGEsIHBhX2RhdGErc2l6ZW9mKCpkYXRhKStkYXRhLT5sZW4sIGJ1Zik7CisJCXBhX2RhdGEgPSBkYXRhLT5uZXh0OworCQllYXJseV9pb3VubWFwKGRhdGEsIHNpemVvZigqZGF0YSkpOworCX0KK30KKworLyoKKyAqIC0tLS0tLS0tLSBDcmFzaGtlcm5lbCByZXNlcnZhdGlvbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqLworCisjaWZkZWYgQ09ORklHX0tFWEVDCisKKy8qKgorICogUmVzZXJ2ZSBAc2l6ZSBieXRlcyBvZiBjcmFzaGtlcm5lbCBtZW1vcnkgYXQgYW55IHN1aXRhYmxlIG9mZnNldC4KKyAqCisgKiBAc2l6ZTogU2l6ZSBvZiB0aGUgY3Jhc2hrZXJuZWwgbWVtb3J5IHRvIHJlc2VydmUuCisgKiBSZXR1cm5zIHRoZSBiYXNlIGFkZHJlc3Mgb24gc3VjY2VzcywgYW5kIC0xVUxMIG9uIGZhaWx1cmUuCisgKi8KK3Vuc2lnbmVkIGxvbmcgbG9uZyBmaW5kX2FuZF9yZXNlcnZlX2NyYXNoa2VybmVsKHVuc2lnbmVkIGxvbmcgbG9uZyBzaXplKQoreworCWNvbnN0IHVuc2lnbmVkIGxvbmcgbG9uZyBhbGlnbm1lbnQgPSAxNjw8MjA7IAkvKiAxNk0gKi8KKwl1bnNpZ25lZCBsb25nIGxvbmcgc3RhcnQgPSAwTEw7CisKKwl3aGlsZSAoMSkgeworCQlpbnQgcmV0OworCisJCXN0YXJ0ID0gZmluZF9lODIwX2FyZWEoc3RhcnQsIFVMT05HX01BWCwgc2l6ZSwgYWxpZ25tZW50KTsKKwkJaWYgKHN0YXJ0ID09IC0xVUxMKQorCQkJcmV0dXJuIHN0YXJ0OworCisJCS8qIHRyeSB0byByZXNlcnZlIGl0ICovCisJCXJldCA9IHJlc2VydmVfYm9vdG1lbV9nZW5lcmljKHN0YXJ0LCBzaXplLCBCT09UTUVNX0VYQ0xVU0lWRSk7CisJCWlmIChyZXQgPj0gMCkKKwkJCXJldHVybiBzdGFydDsKKworCQlzdGFydCArPSBhbGlnbm1lbnQ7CisJfQorfQorCitzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGxvbmcgbG9uZyBnZXRfdG90YWxfbWVtKHZvaWQpCit7CisJdW5zaWduZWQgbG9uZyBsb25nIHRvdGFsOworCisJdG90YWwgPSBtYXhfbG93X3BmbiAtIG1pbl9sb3dfcGZuOworI2lmZGVmIENPTkZJR19ISUdITUVNCisJdG90YWwgKz0gaGlnaGVuZF9wZm4gLSBoaWdoc3RhcnRfcGZuOworI2VuZGlmCisKKwlyZXR1cm4gdG90YWwgPDwgUEFHRV9TSElGVDsKK30KKworc3RhdGljIHZvaWQgX19pbml0IHJlc2VydmVfY3Jhc2hrZXJuZWwodm9pZCkKK3sKKwl1bnNpZ25lZCBsb25nIGxvbmcgdG90YWxfbWVtOworCXVuc2lnbmVkIGxvbmcgbG9uZyBjcmFzaF9zaXplLCBjcmFzaF9iYXNlOworCWludCByZXQ7CisKKwl0b3RhbF9tZW0gPSBnZXRfdG90YWxfbWVtKCk7CisKKwlyZXQgPSBwYXJzZV9jcmFzaGtlcm5lbChib290X2NvbW1hbmRfbGluZSwgdG90YWxfbWVtLAorCQkJJmNyYXNoX3NpemUsICZjcmFzaF9iYXNlKTsKKwlpZiAocmV0ICE9IDAgfHwgY3Jhc2hfc2l6ZSA8PSAwKQorCQlyZXR1cm47CisKKwkvKiAwIG1lYW5zOiBmaW5kIHRoZSBhZGRyZXNzIGF1dG9tYXRpY2FsbHkgKi8KKwlpZiAoY3Jhc2hfYmFzZSA8PSAwKSB7CisJCWNyYXNoX2Jhc2UgPSBmaW5kX2FuZF9yZXNlcnZlX2NyYXNoa2VybmVsKGNyYXNoX3NpemUpOworCQlpZiAoY3Jhc2hfYmFzZSA9PSAtMVVMTCkgeworCQkJcHJfaW5mbygiY3Jhc2hrZXJuZWwgcmVzZXJ2YXRpb24gZmFpbGVkLiAiCisJCQkJIk5vIHN1aXRhYmxlIGFyZWEgZm91bmQuXG4iKTsKKwkJCXJldHVybjsKKwkJfQorCX0gZWxzZSB7CisJCXJldCA9IHJlc2VydmVfYm9vdG1lbV9nZW5lcmljKGNyYXNoX2Jhc2UsIGNyYXNoX3NpemUsCisJCQkJCUJPT1RNRU1fRVhDTFVTSVZFKTsKKwkJaWYgKHJldCA8IDApIHsKKwkJCXByX2luZm8oImNyYXNoa2VybmVsIHJlc2VydmF0aW9uIGZhaWxlZCAtICIKKwkJCQkibWVtb3J5IGlzIGluIHVzZVxuIik7CisJCQlyZXR1cm47CisJCX0KKwl9CisKKwlwcmludGsoS0VSTl9JTkZPICJSZXNlcnZpbmcgJWxkTUIgb2YgbWVtb3J5IGF0ICVsZE1CICIKKwkJCSJmb3IgY3Jhc2hrZXJuZWwgKFN5c3RlbSBSQU06ICVsZE1CKVxuIiwKKwkJCSh1bnNpZ25lZCBsb25nKShjcmFzaF9zaXplID4+IDIwKSwKKwkJCSh1bnNpZ25lZCBsb25nKShjcmFzaF9iYXNlID4+IDIwKSwKKwkJCSh1bnNpZ25lZCBsb25nKSh0b3RhbF9tZW0gPj4gMjApKTsKKworCWNyYXNoa19yZXMuc3RhcnQgPSBjcmFzaF9iYXNlOworCWNyYXNoa19yZXMuZW5kICAgPSBjcmFzaF9iYXNlICsgY3Jhc2hfc2l6ZSAtIDE7CisJaW5zZXJ0X3Jlc291cmNlKCZpb21lbV9yZXNvdXJjZSwgJmNyYXNoa19yZXMpOworfQorI2Vsc2UKK3N0YXRpYyB2b2lkIF9faW5pdCByZXNlcnZlX2NyYXNoa2VybmVsKHZvaWQpCit7Cit9CisjZW5kaWYKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSBzdGFuZGFyZF9pb19yZXNvdXJjZXNbXSA9IHsKKwl7IC5uYW1lID0gImRtYTEiLCAuc3RhcnQgPSAweDAwLCAuZW5kID0gMHgxZiwKKwkJLmZsYWdzID0gSU9SRVNPVVJDRV9CVVNZIHwgSU9SRVNPVVJDRV9JTyB9LAorCXsgLm5hbWUgPSAicGljMSIsIC5zdGFydCA9IDB4MjAsIC5lbmQgPSAweDIxLAorCQkuZmxhZ3MgPSBJT1JFU09VUkNFX0JVU1kgfCBJT1JFU09VUkNFX0lPIH0sCisJeyAubmFtZSA9ICJ0aW1lcjAiLCAuc3RhcnQgPSAweDQwLCAuZW5kID0gMHg0MywKKwkJLmZsYWdzID0gSU9SRVNPVVJDRV9CVVNZIHwgSU9SRVNPVVJDRV9JTyB9LAorCXsgLm5hbWUgPSAidGltZXIxIiwgLnN0YXJ0ID0gMHg1MCwgLmVuZCA9IDB4NTMsCisJCS5mbGFncyA9IElPUkVTT1VSQ0VfQlVTWSB8IElPUkVTT1VSQ0VfSU8gfSwKKwl7IC5uYW1lID0gImtleWJvYXJkIiwgLnN0YXJ0ID0gMHg2MCwgLmVuZCA9IDB4NjAsCisJCS5mbGFncyA9IElPUkVTT1VSQ0VfQlVTWSB8IElPUkVTT1VSQ0VfSU8gfSwKKwl7IC5uYW1lID0gImtleWJvYXJkIiwgLnN0YXJ0ID0gMHg2NCwgLmVuZCA9IDB4NjQsCisJCS5mbGFncyA9IElPUkVTT1VSQ0VfQlVTWSB8IElPUkVTT1VSQ0VfSU8gfSwKKwl7IC5uYW1lID0gImRtYSBwYWdlIHJlZyIsIC5zdGFydCA9IDB4ODAsIC5lbmQgPSAweDhmLAorCQkuZmxhZ3MgPSBJT1JFU09VUkNFX0JVU1kgfCBJT1JFU09VUkNFX0lPIH0sCisJeyAubmFtZSA9ICJwaWMyIiwgLnN0YXJ0ID0gMHhhMCwgLmVuZCA9IDB4YTEsCisJCS5mbGFncyA9IElPUkVTT1VSQ0VfQlVTWSB8IElPUkVTT1VSQ0VfSU8gfSwKKwl7IC5uYW1lID0gImRtYTIiLCAuc3RhcnQgPSAweGMwLCAuZW5kID0gMHhkZiwKKwkJLmZsYWdzID0gSU9SRVNPVVJDRV9CVVNZIHwgSU9SRVNPVVJDRV9JTyB9LAorCXsgLm5hbWUgPSAiZnB1IiwgLnN0YXJ0ID0gMHhmMCwgLmVuZCA9IDB4ZmYsCisJCS5mbGFncyA9IElPUkVTT1VSQ0VfQlVTWSB8IElPUkVTT1VSQ0VfSU8gfQorfTsKKworc3RhdGljIHZvaWQgX19pbml0IHJlc2VydmVfc3RhbmRhcmRfaW9fcmVzb3VyY2VzKHZvaWQpCiB7CiAJaW50IGk7CiAKLQkvKiBhbGxvY19ib290bWVtIHplcm9lcyBtZW1vcnkgKi8KLQljcHVtYXNrX29mX2NwdV9tYXAgPSBhbGxvY19ib290bWVtX2xvdyhzaXplb2YoY3B1bWFza190KSAqIG5yX2NwdV9pZHMpOwotCWZvciAoaSA9IDA7IGkgPCBucl9jcHVfaWRzOyBpKyspCi0JCWNwdV9zZXQoaSwgY3B1bWFza19vZl9jcHVfbWFwW2ldKTsKKwkvKiByZXF1ZXN0IEkvTyBzcGFjZSBmb3IgZGV2aWNlcyB1c2VkIG9uIGFsbCBpWzM0NV04NiBQQ3MgKi8KKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShzdGFuZGFyZF9pb19yZXNvdXJjZXMpOyBpKyspCisJCXJlcXVlc3RfcmVzb3VyY2UoJmlvcG9ydF9yZXNvdXJjZSwgJnN0YW5kYXJkX2lvX3Jlc291cmNlc1tpXSk7CisKIH0KLSNlbHNlCi1zdGF0aWMgaW5saW5lIHZvaWQgc2V0dXBfY3B1bWFza19vZl9jcHUodm9pZCkgeyB9Ci0jZW5kaWYKIAotI2lmZGVmIENPTkZJR19YODZfMzIKLS8qCi0gKiBHcmVhdCBmdXR1cmUgbm90LXNvLWZ1dHVyaXN0aWMgcGxhbjogbWFrZSBpMzg2IGFuZCB4ODZfNjQgZG8gaXQKLSAqIHRoZSBzYW1lIHdheQorI2lmZGVmIENPTkZJR19QUk9DX1ZNQ09SRQorLyogZWxmY29yZWhkcj0gc3BlY2lmaWVzIHRoZSBsb2NhdGlvbiBvZiBlbGYgY29yZSBoZWFkZXIKKyAqIHN0b3JlZCBieSB0aGUgY3Jhc2hlZCBrZXJuZWwuIFRoaXMgb3B0aW9uIHdpbGwgYmUgcGFzc2VkCisgKiBieSBrZXhlYyBsb2FkZXIgdG8gdGhlIGNhcHR1cmUga2VybmVsLgogICovCi11bnNpZ25lZCBsb25nIF9fcGVyX2NwdV9vZmZzZXRbTlJfQ1BVU10gX19yZWFkX21vc3RseTsKLUVYUE9SVF9TWU1CT0woX19wZXJfY3B1X29mZnNldCk7Ci0jZW5kaWYKLQotLyoKLSAqIEdyZWF0IGZ1dHVyZSBwbGFuOgotICogRGVjbGFyZSBQREEgaXRzZWxmIGFuZCBzdXBwb3J0IChpcnFzdGFjayx0c3MscGdkKSBhcyBwZXIgY3B1IGRhdGEuCi0gKiBBbHdheXMgcG9pbnQgJWdzIHRvIGl0cyBiZWdpbm5pbmcKLSAqLwotdm9pZCBfX2luaXQgc2V0dXBfcGVyX2NwdV9hcmVhcyh2b2lkKQorc3RhdGljIGludCBfX2luaXQgc2V0dXBfZWxmY29yZWhkcihjaGFyICphcmcpCiB7Ci0JaW50IGksIGhpZ2hlc3RfY3B1ID0gMDsKLQl1bnNpZ25lZCBsb25nIHNpemU7Ci0KLSNpZmRlZiBDT05GSUdfSE9UUExVR19DUFUKLQlwcmVmaWxsX3Bvc3NpYmxlX21hcCgpOworCWNoYXIgKmVuZDsKKwlpZiAoIWFyZykKKwkJcmV0dXJuIC1FSU5WQUw7CisJZWxmY29yZWhkcl9hZGRyID0gbWVtcGFyc2UoYXJnLCAmZW5kKTsKKwlyZXR1cm4gZW5kID4gYXJnID8gMCA6IC1FSU5WQUw7Cit9CitlYXJseV9wYXJhbSgiZWxmY29yZWhkciIsIHNldHVwX2VsZmNvcmVoZHIpOwogI2VuZGlmCiAKLQkvKiBDb3B5IHNlY3Rpb24gZm9yIGVhY2ggQ1BVICh3ZSBkaXNjYXJkIHRoZSBvcmlnaW5hbCkgKi8KLQlzaXplID0gUEVSQ1BVX0VOT1VHSF9ST09NOwotCXByaW50ayhLRVJOX0lORk8gIlBFUkNQVTogQWxsb2NhdGluZyAlbHUgYnl0ZXMgb2YgcGVyIGNwdSBkYXRhXG4iLAotCQkJICBzaXplKTsKKy8qCisgKiBEZXRlcm1pbmUgaWYgd2Ugd2VyZSBsb2FkZWQgYnkgYW4gRUZJIGxvYWRlci4gIElmIHNvLCB0aGVuIHdlIGhhdmUgYWxzbyBiZWVuCisgKiBwYXNzZWQgdGhlIGVmaSBtZW1tYXAsIHN5c3RhYiwgZXRjLiwgc28gd2Ugc2hvdWxkIHVzZSB0aGVzZSBkYXRhIHN0cnVjdHVyZXMKKyAqIGZvciBpbml0aWFsaXphdGlvbi4gIE5vdGUsIHRoZSBlZmkgaW5pdCBjb2RlIHBhdGggaXMgZGV0ZXJtaW5lZCBieSB0aGUKKyAqIGdsb2JhbCBlZmlfZW5hYmxlZC4gVGhpcyBhbGxvd3MgdGhlIHNhbWUga2VybmVsIGltYWdlIHRvIGJlIHVzZWQgb24gZXhpc3RpbmcKKyAqIHN5c3RlbXMgKHdpdGggYSB0cmFkaXRpb25hbCBCSU9TKSBhcyB3ZWxsIGFzIG9uIEVGSSBzeXN0ZW1zLgorICovCisvKgorICogc2V0dXBfYXJjaCAtIGFyY2hpdGVjdHVyZS1zcGVjaWZpYyBib290LXRpbWUgaW5pdGlhbGl6YXRpb25zCisgKgorICogTm90ZTogT24geDg2XzY0LCBmaXhtYXBzIGFyZSByZWFkeSBmb3IgdXNlIGV2ZW4gYmVmb3JlIHRoaXMgaXMgY2FsbGVkLgorICovCiAKLQlmb3JfZWFjaF9wb3NzaWJsZV9jcHUoaSkgewotCQljaGFyICpwdHI7Ci0jaWZuZGVmIENPTkZJR19ORUVEX01VTFRJUExFX05PREVTCi0JCXB0ciA9IGFsbG9jX2Jvb3RtZW1fcGFnZXMoc2l6ZSk7Cit2b2lkIF9faW5pdCBzZXR1cF9hcmNoKGNoYXIgKipjbWRsaW5lX3ApCit7CisjaWZkZWYgQ09ORklHX1g4Nl8zMgorCW1lbWNweSgmYm9vdF9jcHVfZGF0YSwgJm5ld19jcHVfZGF0YSwgc2l6ZW9mKG5ld19jcHVfZGF0YSkpOworCXZpc3dzX2Vhcmx5X2RldGVjdCgpOworCXByZV9zZXR1cF9hcmNoX2hvb2soKTsKKwllYXJseV9jcHVfaW5pdCgpOwogI2Vsc2UKLQkJaW50IG5vZGUgPSBlYXJseV9jcHVfdG9fbm9kZShpKTsKLQkJaWYgKCFub2RlX29ubGluZShub2RlKSB8fCAhTk9ERV9EQVRBKG5vZGUpKSB7Ci0JCQlwdHIgPSBhbGxvY19ib290bWVtX3BhZ2VzKHNpemUpOwotCQkJcHJpbnRrKEtFUk5fSU5GTwotCQkJICAgICAgICJjcHUgJWQgaGFzIG5vIG5vZGUgb3Igbm9kZS1sb2NhbCBtZW1vcnlcbiIsIGkpOwotCQl9Ci0JCWVsc2UKLQkJCXB0ciA9IGFsbG9jX2Jvb3RtZW1fcGFnZXNfbm9kZShOT0RFX0RBVEEobm9kZSksIHNpemUpOworCXByaW50ayhLRVJOX0lORk8gIkNvbW1hbmQgbGluZTogJXNcbiIsIGJvb3RfY29tbWFuZF9saW5lKTsKICNlbmRpZgotCQlpZiAoIXB0cikKLQkJCXBhbmljKCJDYW5ub3QgYWxsb2NhdGUgY3B1IGRhdGEgZm9yIENQVSAlZFxuIiwgaSk7CisKKwllYXJseV9pb3JlbWFwX2luaXQoKTsKKworCVJPT1RfREVWID0gb2xkX2RlY29kZV9kZXYoYm9vdF9wYXJhbXMuaGRyLnJvb3RfZGV2KTsKKwlzY3JlZW5faW5mbyA9IGJvb3RfcGFyYW1zLnNjcmVlbl9pbmZvOworCWVkaWRfaW5mbyA9IGJvb3RfcGFyYW1zLmVkaWRfaW5mbzsKKyNpZmRlZiBDT05GSUdfWDg2XzMyCisJYXBtX2luZm8uYmlvcyA9IGJvb3RfcGFyYW1zLmFwbV9iaW9zX2luZm87CisJaXN0X2luZm8gPSBib290X3BhcmFtcy5pc3RfaW5mbzsKKwlpZiAoYm9vdF9wYXJhbXMuc3lzX2Rlc2NfdGFibGUubGVuZ3RoICE9IDApIHsKKwkJc2V0X21jYV9idXMoYm9vdF9wYXJhbXMuc3lzX2Rlc2NfdGFibGUudGFibGVbM10gJiAweDIpOworCQltYWNoaW5lX2lkID0gYm9vdF9wYXJhbXMuc3lzX2Rlc2NfdGFibGUudGFibGVbMF07CisJCW1hY2hpbmVfc3VibW9kZWxfaWQgPSBib290X3BhcmFtcy5zeXNfZGVzY190YWJsZS50YWJsZVsxXTsKKwkJQklPU19yZXZpc2lvbiA9IGJvb3RfcGFyYW1zLnN5c19kZXNjX3RhYmxlLnRhYmxlWzJdOworCX0KKyNlbmRpZgorCXNhdmVkX3ZpZGVvX21vZGUgPSBib290X3BhcmFtcy5oZHIudmlkX21vZGU7CisJYm9vdGxvYWRlcl90eXBlID0gYm9vdF9wYXJhbXMuaGRyLnR5cGVfb2ZfbG9hZGVyOworCisjaWZkZWYgQ09ORklHX0JMS19ERVZfUkFNCisJcmRfaW1hZ2Vfc3RhcnQgPSBib290X3BhcmFtcy5oZHIucmFtX3NpemUgJiBSQU1ESVNLX0lNQUdFX1NUQVJUX01BU0s7CisJcmRfcHJvbXB0ID0gKChib290X3BhcmFtcy5oZHIucmFtX3NpemUgJiBSQU1ESVNLX1BST01QVF9GTEFHKSAhPSAwKTsKKwlyZF9kb2xvYWQgPSAoKGJvb3RfcGFyYW1zLmhkci5yYW1fc2l6ZSAmIFJBTURJU0tfTE9BRF9GTEFHKSAhPSAwKTsKKyNlbmRpZgorI2lmZGVmIENPTkZJR19FRkkKKwlpZiAoIXN0cm5jbXAoKGNoYXIgKikmYm9vdF9wYXJhbXMuZWZpX2luZm8uZWZpX2xvYWRlcl9zaWduYXR1cmUsCisjaWZkZWYgQ09ORklHX1g4Nl8zMgorCQkgICAgICJFTDMyIiwKKyNlbHNlCisJCSAgICAgIkVMNjQiLAorI2VuZGlmCisJIDQpKSB7CisJCWVmaV9lbmFibGVkID0gMTsKKwkJZWZpX3Jlc2VydmVfZWFybHkoKTsKKwl9CisjZW5kaWYKKworCUFSQ0hfU0VUVVAKKworCXNldHVwX21lbW9yeV9tYXAoKTsKKwlwYXJzZV9zZXR1cF9kYXRhKCk7CisJLyogdXBkYXRlIHRoZSBlODIwX3NhdmVkIHRvbyAqLworCWU4MjBfcmVzZXJ2ZV9zZXR1cF9kYXRhKCk7CisKKwljb3B5X2VkZCgpOworCisJaWYgKCFib290X3BhcmFtcy5oZHIucm9vdF9mbGFncykKKwkJcm9vdF9tb3VudGZsYWdzICY9IH5NU19SRE9OTFk7CisJaW5pdF9tbS5zdGFydF9jb2RlID0gKHVuc2lnbmVkIGxvbmcpIF90ZXh0OworCWluaXRfbW0uZW5kX2NvZGUgPSAodW5zaWduZWQgbG9uZykgX2V0ZXh0OworCWluaXRfbW0uZW5kX2RhdGEgPSAodW5zaWduZWQgbG9uZykgX2VkYXRhOworI2lmZGVmIENPTkZJR19YODZfMzIKKwlpbml0X21tLmJyayA9IGluaXRfcGdfdGFibGVzX2VuZCArIFBBR0VfT0ZGU0VUOworI2Vsc2UKKwlpbml0X21tLmJyayA9ICh1bnNpZ25lZCBsb25nKSAmX2VuZDsKKyNlbmRpZgorCisJY29kZV9yZXNvdXJjZS5zdGFydCA9IHZpcnRfdG9fcGh5cyhfdGV4dCk7CisJY29kZV9yZXNvdXJjZS5lbmQgPSB2aXJ0X3RvX3BoeXMoX2V0ZXh0KS0xOworCWRhdGFfcmVzb3VyY2Uuc3RhcnQgPSB2aXJ0X3RvX3BoeXMoX2V0ZXh0KTsKKwlkYXRhX3Jlc291cmNlLmVuZCA9IHZpcnRfdG9fcGh5cyhfZWRhdGEpLTE7CisJYnNzX3Jlc291cmNlLnN0YXJ0ID0gdmlydF90b19waHlzKCZfX2Jzc19zdGFydCk7CisJYnNzX3Jlc291cmNlLmVuZCA9IHZpcnRfdG9fcGh5cygmX19ic3Nfc3RvcCktMTsKKwogI2lmZGVmIENPTkZJR19YODZfNjQKLQkJY3B1X3BkYShpKS0+ZGF0YV9vZmZzZXQgPSBwdHIgLSBfX3Blcl9jcHVfc3RhcnQ7Ci0jZWxzZQotCQlfX3Blcl9jcHVfb2Zmc2V0W2ldID0gcHRyIC0gX19wZXJfY3B1X3N0YXJ0OworCWVhcmx5X2NwdV9pbml0KCk7CiAjZW5kaWYKLQkJbWVtY3B5KHB0ciwgX19wZXJfY3B1X3N0YXJ0LCBfX3Blcl9jcHVfZW5kIC0gX19wZXJfY3B1X3N0YXJ0KTsKKwlzdHJsY3B5KGNvbW1hbmRfbGluZSwgYm9vdF9jb21tYW5kX2xpbmUsIENPTU1BTkRfTElORV9TSVpFKTsKKwkqY21kbGluZV9wID0gY29tbWFuZF9saW5lOwogCi0JCWhpZ2hlc3RfY3B1ID0gaTsKKwlwYXJzZV9lYXJseV9wYXJhbSgpOworCisJLyogYWZ0ZXIgZWFybHkgcGFyYW0sIHNvIGNvdWxkIGdldCBwYW5pYyBmcm9tIHNlcmlhbCAqLworCXJlc2VydmVfZWFybHlfc2V0dXBfZGF0YSgpOworCisJaWYgKGFjcGlfbXBzX2NoZWNrKCkpIHsKKyNpZmRlZiBDT05GSUdfWDg2X0xPQ0FMX0FQSUMKKwkJZGlzYWJsZV9hcGljID0gMTsKKyNlbmRpZgorCQljbGVhcl9jcHVfY2FwKCZib290X2NwdV9kYXRhLCBYODZfRkVBVFVSRV9BUElDKTsKIAl9CiAKLQlucl9jcHVfaWRzID0gaGlnaGVzdF9jcHUgKyAxOwotCXByaW50ayhLRVJOX0RFQlVHICJOUl9DUFVTOiAlZCwgbnJfY3B1X2lkczogJWRcbiIsIE5SX0NQVVMsIG5yX2NwdV9pZHMpOworCWZpbmlzaF9lODIwX3BhcnNpbmcoKTsKIAotCS8qIFNldHVwIHBlcmNwdSBkYXRhIG1hcHMgKi8KLQlzZXR1cF9wZXJfY3B1X21hcHMoKTsKLQotCS8qIFNldHVwIGNwdW1hc2tfb2ZfY3B1IG1hcCAqLwotCXNldHVwX2NwdW1hc2tfb2ZfY3B1KCk7Ci19Ci0KKyNpZmRlZiBDT05GSUdfWDg2XzMyCisJcHJvYmVfcm9tcygpOwogI2VuZGlmCisKKwkvKiBhZnRlciBwYXJzZV9lYXJseV9wYXJhbSwgc28gY291bGQgZGVidWcgaXQgKi8KKwlpbnNlcnRfcmVzb3VyY2UoJmlvbWVtX3Jlc291cmNlLCAmY29kZV9yZXNvdXJjZSk7CisJaW5zZXJ0X3Jlc291cmNlKCZpb21lbV9yZXNvdXJjZSwgJmRhdGFfcmVzb3VyY2UpOworCWluc2VydF9yZXNvdXJjZSgmaW9tZW1fcmVzb3VyY2UsICZic3NfcmVzb3VyY2UpOworCisJaWYgKGVmaV9lbmFibGVkKQorCQllZmlfaW5pdCgpOworCisjaWZkZWYgQ09ORklHX1g4Nl8zMgorCWlmIChwcHJvX3dpdGhfcmFtX2J1ZygpKSB7CisJCWU4MjBfdXBkYXRlX3JhbmdlKDB4NzAwMDAwMDBVTEwsIDB4NDAwMDBVTEwsIEU4MjBfUkFNLAorCQkJCSAgRTgyMF9SRVNFUlZFRCk7CisJCXNhbml0aXplX2U4MjBfbWFwKGU4MjAubWFwLCBBUlJBWV9TSVpFKGU4MjAubWFwKSwgJmU4MjAubnJfbWFwKTsKKwkJcHJpbnRrKEtFUk5fSU5GTyAiZml4ZWQgcGh5c2ljYWwgUkFNIG1hcDpcbiIpOworCQllODIwX3ByaW50X21hcCgiYmFkX3Bwcm8iKTsKKwl9CisjZWxzZQorCWVhcmx5X2dhcnRfaW9tbXVfY2hlY2soKTsKKyNlbmRpZgorCisJLyoKKwkgKiBwYXJ0aWFsbHkgdXNlZCBwYWdlcyBhcmUgbm90IHVzYWJsZSAtIHRodXMKKwkgKiB3ZSBhcmUgcm91bmRpbmcgdXB3YXJkczoKKwkgKi8KKwltYXhfcGZuID0gZTgyMF9lbmRfb2ZfcmFtX3BmbigpOworCisJLyogcHJlYWxsb2NhdGUgNGsgZm9yIG1wdGFibGUgbXBjICovCisJZWFybHlfcmVzZXJ2ZV9lODIwX21wY19uZXcoKTsKKwkvKiB1cGRhdGUgZTgyMCBmb3IgbWVtb3J5IG5vdCBjb3ZlcmVkIGJ5IFdCIE1UUlJzICovCisJbXRycl9icF9pbml0KCk7CisJaWYgKG10cnJfdHJpbV91bmNhY2hlZF9tZW1vcnkobWF4X3BmbikpCisJCW1heF9wZm4gPSBlODIwX2VuZF9vZl9yYW1fcGZuKCk7CisKKyNpZmRlZiBDT05GSUdfWDg2XzMyCisJLyogbWF4X2xvd19wZm4gZ2V0IHVwZGF0ZWQgaGVyZSAqLworCWZpbmRfbG93X3Bmbl9yYW5nZSgpOworI2Vsc2UKKwludW1fcGh5c3BhZ2VzID0gbWF4X3BmbjsKKworCWNoZWNrX2VmZXIoKTsKKworCS8qIEhvdyBtYW55IGVuZC1vZi1tZW1vcnkgdmFyaWFibGVzIHlvdSBoYXZlLCBncmFuZG1hISAqLworCS8qIG5lZWQgdGhpcyBiZWZvcmUgY2FsbGluZyByZXNlcnZlX2luaXRyZCAqLworCWlmIChtYXhfcGZuID4gKDFVTDw8KDMyIC0gUEFHRV9TSElGVCkpKQorCQltYXhfbG93X3BmbiA9IGU4MjBfZW5kX29mX2xvd19yYW1fcGZuKCk7CisJZWxzZQorCQltYXhfbG93X3BmbiA9IG1heF9wZm47CisKKwloaWdoX21lbW9yeSA9ICh2b2lkICopX192YShtYXhfcGZuICogUEFHRV9TSVpFIC0gMSkgKyAxOworI2VuZGlmCisKKwkvKiBtYXhfcGZuX21hcHBlZCBpcyB1cGRhdGVkIGhlcmUgKi8KKwltYXhfbG93X3Bmbl9tYXBwZWQgPSBpbml0X21lbW9yeV9tYXBwaW5nKDAsIG1heF9sb3dfcGZuPDxQQUdFX1NISUZUKTsKKwltYXhfcGZuX21hcHBlZCA9IG1heF9sb3dfcGZuX21hcHBlZDsKKworI2lmZGVmIENPTkZJR19YODZfNjQKKwlpZiAobWF4X3BmbiA+IG1heF9sb3dfcGZuKSB7CisJCW1heF9wZm5fbWFwcGVkID0gaW5pdF9tZW1vcnlfbWFwcGluZygxVUw8PDMyLAorCQkJCQkJICAgICBtYXhfcGZuPDxQQUdFX1NISUZUKTsKKwkJLyogY2FuIHdlIHByZXNldmUgbWF4X2xvd19wZm4gPyovCisJCW1heF9sb3dfcGZuID0gbWF4X3BmbjsKKwl9CisjZW5kaWYKKworCS8qCisJICogTk9URTogT24geDg2LTMyLCBvbmx5IGZyb20gdGhpcyBwb2ludCBvbiwgZml4bWFwcyBhcmUgcmVhZHkgZm9yIHVzZS4KKwkgKi8KKworI2lmZGVmIENPTkZJR19QUk9WSURFX09IQ0kxMzk0X0RNQV9JTklUCisJaWYgKGluaXRfb2hjaTEzOTRfZG1hX2Vhcmx5KQorCQlpbml0X29oY2kxMzk0X2RtYV9vbl9hbGxfY29udHJvbGxlcnMoKTsKKyNlbmRpZgorCisJcmVzZXJ2ZV9pbml0cmQoKTsKKworI2lmZGVmIENPTkZJR19YODZfNjQKKwl2c21wX2luaXQoKTsKKyNlbmRpZgorCisJZG1pX3NjYW5fbWFjaGluZSgpOworCisJaW9fZGVsYXlfaW5pdCgpOworCisJLyoKKwkgKiBQYXJzZSB0aGUgQUNQSSB0YWJsZXMgZm9yIHBvc3NpYmxlIGJvb3QtdGltZSBTTVAgY29uZmlndXJhdGlvbi4KKwkgKi8KKwlhY3BpX2Jvb3RfdGFibGVfaW5pdCgpOworCisjaWZkZWYgQ09ORklHX0FDUElfTlVNQQorCS8qCisJICogUGFyc2UgU1JBVCB0byBkaXNjb3ZlciBub2Rlcy4KKwkgKi8KKwlhY3BpX251bWFfaW5pdCgpOworI2VuZGlmCisKKwlpbml0bWVtX2luaXQoMCwgbWF4X3Bmbik7CisKKyNpZmRlZiBDT05GSUdfWDg2XzY0CisJZG1hMzJfcmVzZXJ2ZV9ib290bWVtKCk7CisjZW5kaWYKKworI2lmZGVmIENPTkZJR19BQ1BJX1NMRUVQCisJLyoKKwkgKiBSZXNlcnZlIGxvdyBtZW1vcnkgcmVnaW9uIGZvciBzbGVlcCBzdXBwb3J0LgorCSAqLworCWFjcGlfcmVzZXJ2ZV9ib290bWVtKCk7CisjZW5kaWYKKyNpZmRlZiBDT05GSUdfWDg2X0ZJTkRfU01QX0NPTkZJRworCS8qCisJICogRmluZCBhbmQgcmVzZXJ2ZSBwb3NzaWJsZSBib290LXRpbWUgU01QIGNvbmZpZ3VyYXRpb246CisJICovCisJZmluZF9zbXBfY29uZmlnKCk7CisjZW5kaWYKKwlyZXNlcnZlX2NyYXNoa2VybmVsKCk7CisKKwlyZXNlcnZlX2liZnRfcmVnaW9uKCk7CisKKyNpZmRlZiBDT05GSUdfS1ZNX0NMT0NLCisJa3ZtY2xvY2tfaW5pdCgpOworI2VuZGlmCisKKyNpZiBkZWZpbmVkKENPTkZJR19WTUkpICYmIGRlZmluZWQoQ09ORklHX1g4Nl8zMikKKwkvKgorCSAqIE11c3QgYmUgYWZ0ZXIgbWF4X2xvd19wZm4gaXMgZGV0ZXJtaW5lZCwgYW5kIGJlZm9yZSBrZXJuZWwKKwkgKiBwYWdldGFibGVzIGFyZSBzZXR1cC4KKwkgKi8KKwl2bWlfaW5pdCgpOworI2VuZGlmCisKKwlwYWdpbmdfaW5pdCgpOworCisjaWZkZWYgQ09ORklHX1g4Nl82NAorCW1hcF92c3lzY2FsbCgpOworI2VuZGlmCisKKyNpZmRlZiBDT05GSUdfWDg2X0dFTkVSSUNBUkNICisJZ2VuZXJpY19hcGljX3Byb2JlKCk7CisjZW5kaWYKKworCWVhcmx5X3F1aXJrcygpOworCisJLyoKKwkgKiBSZWFkIEFQSUMgYW5kIHNvbWUgb3RoZXIgZWFybHkgaW5mb3JtYXRpb24gZnJvbSBBQ1BJIHRhYmxlcy4KKwkgKi8KKwlhY3BpX2Jvb3RfaW5pdCgpOworCisjaWYgZGVmaW5lZChDT05GSUdfWDg2X01QUEFSU0UpIHx8IGRlZmluZWQoQ09ORklHX1g4Nl9WSVNXUykKKwkvKgorCSAqIGdldCBib290LXRpbWUgU01QIGNvbmZpZ3VyYXRpb246CisJICovCisJaWYgKHNtcF9mb3VuZF9jb25maWcpCisJCWdldF9zbXBfY29uZmlnKCk7CisjZW5kaWYKKworCXByZWZpbGxfcG9zc2libGVfbWFwKCk7CisjaWZkZWYgQ09ORklHX1g4Nl82NAorCWluaXRfY3B1X3RvX25vZGUoKTsKKyNlbmRpZgorCisjaWZkZWYgQ09ORklHX1g4Nl9OVU1BUQorCS8qCisJICogbmVlZCB0byBjaGVjayBvbmxpbmUgbm9kZXMgbnVtLCBjYWxsIGl0CisJICogaGVyZSBiZWZvcmUgdGltZV9pbml0L3RzY19pbml0CisJICovCisJbnVtYXFfdHNjX2Rpc2FibGUoKTsKKyNlbmRpZgorCisJaW5pdF9hcGljX21hcHBpbmdzKCk7CisJaW9hcGljX2luaXRfbWFwcGluZ3MoKTsKKworI2lmIGRlZmluZWQoQ09ORklHX1NNUCkgJiYgZGVmaW5lZChDT05GSUdfWDg2X1BDKSAmJiBkZWZpbmVkKENPTkZJR19YODZfMzIpCisJaWYgKGRlZl90b19iaWdzbXApCisJCXByaW50ayhLRVJOX1dBUk5JTkcgIk1vcmUgdGhhbiA4IENQVXMgZGV0ZWN0ZWQgYW5kICIKKwkJCSJDT05GSUdfWDg2X1BDIGNhbm5vdCBoYW5kbGUgaXQuXG5Vc2UgIgorCQkJIkNPTkZJR19YODZfR0VORVJJQ0FSQ0ggb3IgQ09ORklHX1g4Nl9CSUdTTVAuXG4iKTsKKyNlbmRpZgorCWt2bV9ndWVzdF9pbml0KCk7CisKKwllODIwX3Jlc2VydmVfcmVzb3VyY2VzKCk7CisJZTgyMF9tYXJrX25vc2F2ZV9yZWdpb25zKG1heF9sb3dfcGZuKTsKKworI2lmZGVmIENPTkZJR19YODZfMzIKKwlyZXF1ZXN0X3Jlc291cmNlKCZpb21lbV9yZXNvdXJjZSwgJnZpZGVvX3JhbV9yZXNvdXJjZSk7CisjZW5kaWYKKwlyZXNlcnZlX3N0YW5kYXJkX2lvX3Jlc291cmNlcygpOworCisJZTgyMF9zZXR1cF9nYXAoKTsKKworI2lmZGVmIENPTkZJR19WVAorI2lmIGRlZmluZWQoQ09ORklHX1ZHQV9DT05TT0xFKQorCWlmICghZWZpX2VuYWJsZWQgfHwgKGVmaV9tZW1fdHlwZSgweGEwMDAwKSAhPSBFRklfQ09OVkVOVElPTkFMX01FTU9SWSkpCisJCWNvbnN3aXRjaHAgPSAmdmdhX2NvbjsKKyNlbGlmIGRlZmluZWQoQ09ORklHX0RVTU1ZX0NPTlNPTEUpCisJY29uc3dpdGNocCA9ICZkdW1teV9jb247CisjZW5kaWYKKyNlbmRpZgorfQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL3NldHVwNjQuYyBiL2FyY2gveDg2L2tlcm5lbC9zZXR1cDY0LmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFlZTBlODIuLjAwMDAwMDAKLS0tIGEvYXJjaC94ODYva2VybmVsL3NldHVwNjQuYworKysgL2Rldi9udWxsCkBAIC0xLDI4NyArMCwwIEBACi0vKiAKLSAqIFg4Ni02NCBzcGVjaWZpYyBDUFUgc2V0dXAuCi0gKiBDb3B5cmlnaHQgKEMpIDE5OTUgIExpbnVzIFRvcnZhbGRzCi0gKiBDb3B5cmlnaHQgMjAwMSwgMjAwMiwgMjAwMyBTdVNFIExhYnMgLyBBbmRpIEtsZWVuLgotICogU2VlIHNldHVwLmMgZm9yIG9sZGVyIGNoYW5nZWxvZy4KLSAqLyAKLSNpbmNsdWRlIDxsaW51eC9pbml0Lmg+Ci0jaW5jbHVkZSA8bGludXgva2VybmVsLmg+Ci0jaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KLSNpbmNsdWRlIDxsaW51eC9zdHJpbmcuaD4KLSNpbmNsdWRlIDxsaW51eC9ib290bWVtLmg+Ci0jaW5jbHVkZSA8bGludXgvYml0b3BzLmg+Ci0jaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+Ci0jaW5jbHVkZSA8bGludXgva2dkYi5oPgotI2luY2x1ZGUgPGFzbS9wZGEuaD4KLSNpbmNsdWRlIDxhc20vcGd0YWJsZS5oPgotI2luY2x1ZGUgPGFzbS9wcm9jZXNzb3IuaD4KLSNpbmNsdWRlIDxhc20vZGVzYy5oPgotI2luY2x1ZGUgPGFzbS9hdG9taWMuaD4KLSNpbmNsdWRlIDxhc20vbW11X2NvbnRleHQuaD4KLSNpbmNsdWRlIDxhc20vc21wLmg+Ci0jaW5jbHVkZSA8YXNtL2kzODcuaD4KLSNpbmNsdWRlIDxhc20vcGVyY3B1Lmg+Ci0jaW5jbHVkZSA8YXNtL3Byb3RvLmg+Ci0jaW5jbHVkZSA8YXNtL3NlY3Rpb25zLmg+Ci0jaW5jbHVkZSA8YXNtL3NldHVwLmg+Ci0jaW5jbHVkZSA8YXNtL2dlbmFwaWMuaD4KLQotI2lmbmRlZiBDT05GSUdfREVCVUdfQk9PVF9QQVJBTVMKLXN0cnVjdCBib290X3BhcmFtcyBfX2luaXRkYXRhIGJvb3RfcGFyYW1zOwotI2Vsc2UKLXN0cnVjdCBib290X3BhcmFtcyBib290X3BhcmFtczsKLSNlbmRpZgotCi1jcHVtYXNrX3QgY3B1X2luaXRpYWxpemVkIF9fY3B1aW5pdGRhdGEgPSBDUFVfTUFTS19OT05FOwotCi1zdHJ1Y3QgeDg2NjRfcGRhICpfY3B1X3BkYVtOUl9DUFVTXSBfX3JlYWRfbW9zdGx5OwotRVhQT1JUX1NZTUJPTChfY3B1X3BkYSk7Ci1zdHJ1Y3QgeDg2NjRfcGRhIGJvb3RfY3B1X3BkYVtOUl9DUFVTXSBfX2NhY2hlbGluZV9hbGlnbmVkOwotCi1zdHJ1Y3QgZGVzY19wdHIgaWR0X2Rlc2NyID0geyAyNTYgKiAxNiAtIDEsICh1bnNpZ25lZCBsb25nKSBpZHRfdGFibGUgfTsKLQotY2hhciBib290X2NwdV9zdGFja1tJUlFTVEFDS1NJWkVdIF9fYXR0cmlidXRlX18oKHNlY3Rpb24oIi5ic3MucGFnZV9hbGlnbmVkIikpKTsKLQotdW5zaWduZWQgbG9uZyBfX3N1cHBvcnRlZF9wdGVfbWFzayBfX3JlYWRfbW9zdGx5ID0gfjBVTDsKLUVYUE9SVF9TWU1CT0xfR1BMKF9fc3VwcG9ydGVkX3B0ZV9tYXNrKTsKLQotc3RhdGljIGludCBkb19ub3RfbnggX19jcHVpbml0ZGF0YSA9IDA7Ci0KLS8qIG5vZXhlYz1vbnxvZmYKLUNvbnRyb2wgbm9uIGV4ZWN1dGFibGUgbWFwcGluZ3MgZm9yIDY0Yml0IHByb2Nlc3Nlcy4KLQotb24JRW5hYmxlKGRlZmF1bHQpCi1vZmYJRGlzYWJsZQotKi8gCi1zdGF0aWMgaW50IF9faW5pdCBub254X3NldHVwKGNoYXIgKnN0cikKLXsKLQlpZiAoIXN0cikKLQkJcmV0dXJuIC1FSU5WQUw7Ci0JaWYgKCFzdHJuY21wKHN0ciwgIm9uIiwgMikpIHsKLSAgICAgICAgICAgICAgICBfX3N1cHBvcnRlZF9wdGVfbWFzayB8PSBfUEFHRV9OWDsgCi0gCQlkb19ub3RfbnggPSAwOyAKLQl9IGVsc2UgaWYgKCFzdHJuY21wKHN0ciwgIm9mZiIsIDMpKSB7Ci0JCWRvX25vdF9ueCA9IDE7Ci0JCV9fc3VwcG9ydGVkX3B0ZV9tYXNrICY9IH5fUEFHRV9OWDsKLSAgICAgICAgfQotCXJldHVybiAwOwotfSAKLWVhcmx5X3BhcmFtKCJub2V4ZWMiLCBub254X3NldHVwKTsKLQotaW50IGZvcmNlX3BlcnNvbmFsaXR5MzIgPSAwOyAKLQotLyogbm9leGVjMzI9b258b2ZmCi1Db250cm9sIG5vbiBleGVjdXRhYmxlIGhlYXAgZm9yIDMyYml0IHByb2Nlc3Nlcy4KLVRvIGNvbnRyb2wgdGhlIHN0YWNrIHRvbyB1c2Ugbm9leGVjPW9mZgotCi1vbglQUk9UX1JFQUQgZG9lcyBub3QgaW1wbHkgUFJPVF9FWEVDIGZvciAzMmJpdCBwcm9jZXNzZXMgKGRlZmF1bHQpCi1vZmYJUFJPVF9SRUFEIGltcGxpZXMgUFJPVF9FWEVDCi0qLwotc3RhdGljIGludCBfX2luaXQgbm9ueDMyX3NldHVwKGNoYXIgKnN0cikKLXsKLQlpZiAoIXN0cmNtcChzdHIsICJvbiIpKQotCQlmb3JjZV9wZXJzb25hbGl0eTMyICY9IH5SRUFEX0lNUExJRVNfRVhFQzsKLQllbHNlIGlmICghc3RyY21wKHN0ciwgIm9mZiIpKQotCQlmb3JjZV9wZXJzb25hbGl0eTMyIHw9IFJFQURfSU1QTElFU19FWEVDOwotCXJldHVybiAxOwotfQotX19zZXR1cCgibm9leGVjMzI9Iiwgbm9ueDMyX3NldHVwKTsKLQotdm9pZCBwZGFfaW5pdChpbnQgY3B1KQoteyAKLQlzdHJ1Y3QgeDg2NjRfcGRhICpwZGEgPSBjcHVfcGRhKGNwdSk7Ci0KLQkvKiBTZXR1cCB1cCBkYXRhIHRoYXQgbWF5IGJlIG5lZWRlZCBpbiBfX2dldF9mcmVlX3BhZ2VzIGVhcmx5ICovCi0JYXNtIHZvbGF0aWxlKCJtb3ZsICUwLCUlZnMgOyBtb3ZsICUwLCUlZ3MiIDo6ICJyIiAoMCkpOyAKLQkvKiBNZW1vcnkgY2xvYmJlcnMgdXNlZCB0byBvcmRlciBQREEgYWNjZXNzZWQgKi8KLQltYigpOwotCXdybXNybChNU1JfR1NfQkFTRSwgcGRhKTsKLQltYigpOwotCi0JcGRhLT5jcHVudW1iZXIgPSBjcHU7IAotCXBkYS0+aXJxY291bnQgPSAtMTsKLQlwZGEtPmtlcm5lbHN0YWNrID0gCi0JCSh1bnNpZ25lZCBsb25nKXN0YWNrX3RocmVhZF9pbmZvKCkgLSBQREFfU1RBQ0tPRkZTRVQgKyBUSFJFQURfU0laRTsgCi0JcGRhLT5hY3RpdmVfbW0gPSAmaW5pdF9tbTsKLQlwZGEtPm1tdV9zdGF0ZSA9IDA7Ci0KLQlpZiAoY3B1ID09IDApIHsKLQkJLyogb3RoZXJzIGFyZSBpbml0aWFsaXplZCBpbiBzbXBib290LmMgKi8KLQkJcGRhLT5wY3VycmVudCA9ICZpbml0X3Rhc2s7Ci0JCXBkYS0+aXJxc3RhY2twdHIgPSBib290X2NwdV9zdGFjazsgCi0JfSBlbHNlIHsKLQkJcGRhLT5pcnFzdGFja3B0ciA9IChjaGFyICopCi0JCQlfX2dldF9mcmVlX3BhZ2VzKEdGUF9BVE9NSUMsIElSUVNUQUNLX09SREVSKTsKLQkJaWYgKCFwZGEtPmlycXN0YWNrcHRyKQotCQkJcGFuaWMoImNhbm5vdCBhbGxvY2F0ZSBpcnFzdGFjayBmb3IgY3B1ICVkIiwgY3B1KTsgCi0JfQotCi0KLQlwZGEtPmlycXN0YWNrcHRyICs9IElSUVNUQUNLU0laRS02NDsKLX0gCi0KLWNoYXIgYm9vdF9leGNlcHRpb25fc3RhY2tzWyhOX0VYQ0VQVElPTl9TVEFDS1MgLSAxKSAqIEVYQ0VQVElPTl9TVEtTWiArIERFQlVHX1NUS1NaXQotX19hdHRyaWJ1dGVfXygoc2VjdGlvbigiLmJzcy5wYWdlX2FsaWduZWQiKSkpOwotCi1leHRlcm4gYXNtbGlua2FnZSB2b2lkIGlnbm9yZV9zeXNyZXQodm9pZCk7Ci0KLS8qIE1heSBub3QgYmUgbWFya2VkIF9faW5pdDogdXNlZCBieSBzb2Z0d2FyZSBzdXNwZW5kICovCi12b2lkIHN5c2NhbGxfaW5pdCh2b2lkKQotewotCS8qIAotCSAqIExTVEFSIGFuZCBTVEFSIGxpdmUgaW4gYSBiaXQgc3RyYW5nZSBzeW1iaW9zaXMuCi0JICogVGhleSBib3RoIHdyaXRlIHRvIHRoZSBzYW1lIGludGVybmFsIHJlZ2lzdGVyLiBTVEFSIGFsbG93cyB0byBzZXQgQ1MvRFMKLQkgKiBidXQgb25seSBhIDMyYml0IHRhcmdldC4gTFNUQVIgc2V0cyB0aGUgNjRiaXQgcmlwLiAJIAotCSAqLyAKLQl3cm1zcmwoTVNSX1NUQVIsICAoKHU2NClfX1VTRVIzMl9DUyk8PDQ4ICB8ICgodTY0KV9fS0VSTkVMX0NTKTw8MzIpOyAKLQl3cm1zcmwoTVNSX0xTVEFSLCBzeXN0ZW1fY2FsbCk7IAotCXdybXNybChNU1JfQ1NUQVIsIGlnbm9yZV9zeXNyZXQpOwotCi0jaWZkZWYgQ09ORklHX0lBMzJfRU1VTEFUSU9OICAgCQkKLQlzeXNjYWxsMzJfY3B1X2luaXQgKCk7Ci0jZW5kaWYKLQotCS8qIEZsYWdzIHRvIGNsZWFyIG9uIHN5c2NhbGwgKi8KLQl3cm1zcmwoTVNSX1NZU0NBTExfTUFTSywKLQkgICAgICAgWDg2X0VGTEFHU19URnxYODZfRUZMQUdTX0RGfFg4Nl9FRkxBR1NfSUZ8WDg2X0VGTEFHU19JT1BMKTsKLX0KLQotdm9pZCBfX2NwdWluaXQgY2hlY2tfZWZlcih2b2lkKQotewotCXVuc2lnbmVkIGxvbmcgZWZlcjsKLQotCXJkbXNybChNU1JfRUZFUiwgZWZlcik7IAotICAgICAgICBpZiAoIShlZmVyICYgRUZFUl9OWCkgfHwgZG9fbm90X254KSB7IAotICAgICAgICAgICAgICAgIF9fc3VwcG9ydGVkX3B0ZV9tYXNrICY9IH5fUEFHRV9OWDsgCi0gICAgICAgIH0gICAgICAgCi19Ci0KLXVuc2lnbmVkIGxvbmcga2VybmVsX2VmbGFnczsKLQotLyoKLSAqIENvcGllcyBvZiB0aGUgb3JpZ2luYWwgaXN0IHZhbHVlcyBmcm9tIHRoZSB0c3MgYXJlIG9ubHkgYWNjZXNzZWQgZHVyaW5nCi0gKiBkZWJ1Z2dpbmcsIG5vIHNwZWNpYWwgYWxpZ25tZW50IHJlcXVpcmVkLgotICovCi1ERUZJTkVfUEVSX0NQVShzdHJ1Y3Qgb3JpZ19pc3QsIG9yaWdfaXN0KTsKLQotLyoKLSAqIGNwdV9pbml0KCkgaW5pdGlhbGl6ZXMgc3RhdGUgdGhhdCBpcyBwZXItQ1BVLiBTb21lIGRhdGEgaXMgYWxyZWFkeQotICogaW5pdGlhbGl6ZWQgKG5hdHVyYWxseSkgaW4gdGhlIGJvb3RzdHJhcCBwcm9jZXNzLCBzdWNoIGFzIHRoZSBHRFQKLSAqIGFuZCBJRFQuIFdlIHJlbG9hZCB0aGVtIG5ldmVydGhlbGVzcywgdGhpcyBmdW5jdGlvbiBhY3RzIGFzIGEKLSAqICdDUFUgc3RhdGUgYmFycmllcicsIG5vdGhpbmcgc2hvdWxkIGdldCBhY3Jvc3MuCi0gKiBBIGxvdCBvZiBzdGF0ZSBpcyBhbHJlYWR5IHNldCB1cCBpbiBQREEgaW5pdC4KLSAqLwotdm9pZCBfX2NwdWluaXQgY3B1X2luaXQgKHZvaWQpCi17Ci0JaW50IGNwdSA9IHN0YWNrX3NtcF9wcm9jZXNzb3JfaWQoKTsKLQlzdHJ1Y3QgdHNzX3N0cnVjdCAqdCA9ICZwZXJfY3B1KGluaXRfdHNzLCBjcHUpOwotCXN0cnVjdCBvcmlnX2lzdCAqb3JpZ19pc3QgPSAmcGVyX2NwdShvcmlnX2lzdCwgY3B1KTsKLQl1bnNpZ25lZCBsb25nIHY7IAotCWNoYXIgKmVzdGFja3MgPSBOVUxMOyAKLQlzdHJ1Y3QgdGFza19zdHJ1Y3QgKm1lOwotCWludCBpOwotCi0JLyogQ1BVIDAgaXMgaW5pdGlhbGlzZWQgaW4gaGVhZDY0LmMgKi8KLQlpZiAoY3B1ICE9IDApIHsKLQkJcGRhX2luaXQoY3B1KTsKLQl9IGVsc2UgCi0JCWVzdGFja3MgPSBib290X2V4Y2VwdGlvbl9zdGFja3M7IAotCi0JbWUgPSBjdXJyZW50OwotCi0JaWYgKGNwdV90ZXN0X2FuZF9zZXQoY3B1LCBjcHVfaW5pdGlhbGl6ZWQpKQotCQlwYW5pYygiQ1BVIyVkIGFscmVhZHkgaW5pdGlhbGl6ZWQhXG4iLCBjcHUpOwotCi0JcHJpbnRrKCJJbml0aWFsaXppbmcgQ1BVIyVkXG4iLCBjcHUpOwotCi0JY2xlYXJfaW5fY3I0KFg4Nl9DUjRfVk1FfFg4Nl9DUjRfUFZJfFg4Nl9DUjRfVFNEfFg4Nl9DUjRfREUpOwotCi0JLyoKLQkgKiBJbml0aWFsaXplIHRoZSBwZXItQ1BVIEdEVCB3aXRoIHRoZSBib290IEdEVCwKLQkgKiBhbmQgc2V0IHVwIHRoZSBHRFQgZGVzY3JpcHRvcjoKLQkgKi8KLQlpZiAoY3B1KQotCQltZW1jcHkoZ2V0X2NwdV9nZHRfdGFibGUoY3B1KSwgY3B1X2dkdF90YWJsZSwgR0RUX1NJWkUpOwotCi0JY3B1X2dkdF9kZXNjcltjcHVdLnNpemUgPSBHRFRfU0laRTsKLQlsb2FkX2dkdCgoY29uc3Qgc3RydWN0IGRlc2NfcHRyICopJmNwdV9nZHRfZGVzY3JbY3B1XSk7Ci0JbG9hZF9pZHQoKGNvbnN0IHN0cnVjdCBkZXNjX3B0ciAqKSZpZHRfZGVzY3IpOwotCi0JbWVtc2V0KG1lLT50aHJlYWQudGxzX2FycmF5LCAwLCBHRFRfRU5UUllfVExTX0VOVFJJRVMgKiA4KTsKLQlzeXNjYWxsX2luaXQoKTsKLQotCXdybXNybChNU1JfRlNfQkFTRSwgMCk7Ci0Jd3Jtc3JsKE1TUl9LRVJORUxfR1NfQkFTRSwgMCk7Ci0JYmFycmllcigpOyAKLQotCWNoZWNrX2VmZXIoKTsKLQotCS8qCi0JICogc2V0IHVwIGFuZCBsb2FkIHRoZSBwZXItQ1BVIFRTUwotCSAqLwotCWZvciAodiA9IDA7IHYgPCBOX0VYQ0VQVElPTl9TVEFDS1M7IHYrKykgewotCQlzdGF0aWMgY29uc3QgdW5zaWduZWQgaW50IG9yZGVyW05fRVhDRVBUSU9OX1NUQUNLU10gPSB7Ci0JCQlbMCAuLi4gTl9FWENFUFRJT05fU1RBQ0tTIC0gMV0gPSBFWENFUFRJT05fU1RBQ0tfT1JERVIsCi0JCQlbREVCVUdfU1RBQ0sgLSAxXSA9IERFQlVHX1NUQUNLX09SREVSCi0JCX07Ci0JCWlmIChjcHUpIHsKLQkJCWVzdGFja3MgPSAoY2hhciAqKV9fZ2V0X2ZyZWVfcGFnZXMoR0ZQX0FUT01JQywgb3JkZXJbdl0pOwotCQkJaWYgKCFlc3RhY2tzKQotCQkJCXBhbmljKCJDYW5ub3QgYWxsb2NhdGUgZXhjZXB0aW9uIHN0YWNrICVsZCAlZFxuIiwKLQkJCQkgICAgICB2LCBjcHUpOyAKLQkJfQotCQllc3RhY2tzICs9IFBBR0VfU0laRSA8PCBvcmRlclt2XTsKLQkJb3JpZ19pc3QtPmlzdFt2XSA9IHQtPng4Nl90c3MuaXN0W3ZdID0gKHVuc2lnbmVkIGxvbmcpZXN0YWNrczsKLQl9Ci0KLQl0LT54ODZfdHNzLmlvX2JpdG1hcF9iYXNlID0gb2Zmc2V0b2Yoc3RydWN0IHRzc19zdHJ1Y3QsIGlvX2JpdG1hcCk7Ci0JLyoKLQkgKiA8PSBpcyByZXF1aXJlZCBiZWNhdXNlIHRoZSBDUFUgd2lsbCBhY2Nlc3MgdXAgdG8KLQkgKiA4IGJpdHMgYmV5b25kIHRoZSBlbmQgb2YgdGhlIElPIHBlcm1pc3Npb24gYml0bWFwLgotCSAqLwotCWZvciAoaSA9IDA7IGkgPD0gSU9fQklUTUFQX0xPTkdTOyBpKyspCi0JCXQtPmlvX2JpdG1hcFtpXSA9IH4wVUw7Ci0KLQlhdG9taWNfaW5jKCZpbml0X21tLm1tX2NvdW50KTsKLQltZS0+YWN0aXZlX21tID0gJmluaXRfbW07Ci0JaWYgKG1lLT5tbSkKLQkJQlVHKCk7Ci0JZW50ZXJfbGF6eV90bGIoJmluaXRfbW0sIG1lKTsKLQotCXNldF90c3NfZGVzYyhjcHUsIHQpOwotCWxvYWRfVFJfZGVzYygpOwotCWxvYWRfTERUKCZpbml0X21tLmNvbnRleHQpOwotCi0jaWZkZWYgQ09ORklHX0tHREIKLQkvKgotCSAqIElmIHRoZSBrZ2RiIGlzIGNvbm5lY3RlZCBubyBkZWJ1ZyByZWdzIHNob3VsZCBiZSBhbHRlcmVkLiAgVGhpcwotCSAqIGlzIG9ubHkgYXBwbGljYWJsZSB3aGVuIEtHREIgYW5kIGEgS0dEQiBJL08gbW9kdWxlIGFyZSBidWlsdAotCSAqIGludG8gdGhlIGtlcm5lbCBhbmQgeW91IGFyZSB1c2luZyBlYXJseSBkZWJ1Z2dpbmcgd2l0aAotCSAqIGtnZGJ3YWl0LiBLR0RCIHdpbGwgY29udHJvbCB0aGUga2VybmVsIEhXIGJyZWFrcG9pbnQgcmVnaXN0ZXJzLgotCSAqLwotCWlmIChrZ2RiX2Nvbm5lY3RlZCAmJiBhcmNoX2tnZGJfb3BzLmNvcnJlY3RfaHdfYnJlYWspCi0JCWFyY2hfa2dkYl9vcHMuY29ycmVjdF9od19icmVhaygpOwotCWVsc2UgewotI2VuZGlmCi0JLyoKLQkgKiBDbGVhciBhbGwgNiBkZWJ1ZyByZWdpc3RlcnM6Ci0JICovCi0KLQlzZXRfZGVidWdyZWcoMFVMLCAwKTsKLQlzZXRfZGVidWdyZWcoMFVMLCAxKTsKLQlzZXRfZGVidWdyZWcoMFVMLCAyKTsKLQlzZXRfZGVidWdyZWcoMFVMLCAzKTsKLQlzZXRfZGVidWdyZWcoMFVMLCA2KTsKLQlzZXRfZGVidWdyZWcoMFVMLCA3KTsKLSNpZmRlZiBDT05GSUdfS0dEQgotCS8qIElmIHRoZSBrZ2RiIGlzIGNvbm5lY3RlZCBubyBkZWJ1ZyByZWdzIHNob3VsZCBiZSBhbHRlcmVkLiAqLwotCX0KLSNlbmRpZgotCi0JZnB1X2luaXQoKTsgCi0KLQlyYXdfbG9jYWxfc2F2ZV9mbGFncyhrZXJuZWxfZWZsYWdzKTsKLQotCWlmIChpc191dl9zeXN0ZW0oKSkKLQkJdXZfY3B1X2luaXQoKTsKLX0KZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9zZXR1cF8zMi5jIGIvYXJjaC94ODYva2VybmVsL3NldHVwXzMyLmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVhMmY4ZTAuLjAwMDAwMDAKLS0tIGEvYXJjaC94ODYva2VybmVsL3NldHVwXzMyLmMKKysrIC9kZXYvbnVsbApAQCAtMSw5NjQgKzAsMCBAQAotLyoKLSAqICBDb3B5cmlnaHQgKEMpIDE5OTUgIExpbnVzIFRvcnZhbGRzCi0gKgotICogIFN1cHBvcnQgb2YgQklHTUVNIGFkZGVkIGJ5IEdlcmhhcmQgV2ljaGVydCwgU2llbWVucyBBRywgSnVseSAxOTk5Ci0gKgotICogIE1lbW9yeSByZWdpb24gc3VwcG9ydAotICoJRGF2aWQgUGFyc29ucyA8b3JjQHBlbGwuY2hpLmlsLnVzPiwgSnVseS1BdWd1c3QgMTk5OQotICoKLSAqICBBZGRlZCBFODIwIHNhbml0aXphdGlvbiByb3V0aW5lIChyZW1vdmVzIG92ZXJsYXBwaW5nIG1lbW9yeSByZWdpb25zKTsKLSAqICBCcmlhbiBNb3lsZSA8Ym1veWxlQG12aXN0YS5jb20+LCBGZWJydWFyeSAyMDAxCi0gKgotICogTW92ZWQgQ1BVIGRldGVjdGlvbiBjb2RlIHRvIGNwdS8ke2NwdX0uYwotICogICAgUGF0cmljayBNb2NoZWwgPG1vY2hlbEBvc2RsLm9yZz4sIE1hcmNoIDIwMDIKLSAqCi0gKiAgUHJvdmlzaW9ucyBmb3IgZW1wdHkgRTgyMCBtZW1vcnkgcmVnaW9ucyAocmVwb3J0ZWQgYnkgY2VydGFpbiBCSU9TZXMpLgotICogIEFsZXggQWNoZW5iYWNoIDx4ZWxhQHNsaXQuZGU+LCBEZWNlbWJlciAyMDAyLgotICoKLSAqLwotCi0vKgotICogVGhpcyBmaWxlIGhhbmRsZXMgdGhlIGFyY2hpdGVjdHVyZS1kZXBlbmRlbnQgcGFydHMgb2YgaW5pdGlhbGl6YXRpb24KLSAqLwotCi0jaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KLSNpbmNsdWRlIDxsaW51eC9tbS5oPgotI2luY2x1ZGUgPGxpbnV4L21tem9uZS5oPgotI2luY2x1ZGUgPGxpbnV4L3NjcmVlbl9pbmZvLmg+Ci0jaW5jbHVkZSA8bGludXgvaW9wb3J0Lmg+Ci0jaW5jbHVkZSA8bGludXgvYWNwaS5oPgotI2luY2x1ZGUgPGxpbnV4L2FwbV9iaW9zLmg+Ci0jaW5jbHVkZSA8bGludXgvaW5pdHJkLmg+Ci0jaW5jbHVkZSA8bGludXgvYm9vdG1lbS5oPgotI2luY2x1ZGUgPGxpbnV4L3NlcV9maWxlLmg+Ci0jaW5jbHVkZSA8bGludXgvY29uc29sZS5oPgotI2luY2x1ZGUgPGxpbnV4L21jYS5oPgotI2luY2x1ZGUgPGxpbnV4L3Jvb3RfZGV2Lmg+Ci0jaW5jbHVkZSA8bGludXgvaGlnaG1lbS5oPgotI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgotI2luY2x1ZGUgPGxpbnV4L2VmaS5oPgotI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KLSNpbmNsdWRlIDxsaW51eC9lZGQuaD4KLSNpbmNsdWRlIDxsaW51eC9pc2NzaV9pYmZ0Lmg+Ci0jaW5jbHVkZSA8bGludXgvbm9kZW1hc2suaD4KLSNpbmNsdWRlIDxsaW51eC9rZXhlYy5oPgotI2luY2x1ZGUgPGxpbnV4L2NyYXNoX2R1bXAuaD4KLSNpbmNsdWRlIDxsaW51eC9kbWkuaD4KLSNpbmNsdWRlIDxsaW51eC9wZm4uaD4KLSNpbmNsdWRlIDxsaW51eC9wY2kuaD4KLSNpbmNsdWRlIDxsaW51eC9pbml0X29oY2kxMzk0X2RtYS5oPgotI2luY2x1ZGUgPGxpbnV4L2t2bV9wYXJhLmg+Ci0KLSNpbmNsdWRlIDx2aWRlby9lZGlkLmg+Ci0KLSNpbmNsdWRlIDxhc20vbXRyci5oPgotI2luY2x1ZGUgPGFzbS9hcGljLmg+Ci0jaW5jbHVkZSA8YXNtL2U4MjAuaD4KLSNpbmNsdWRlIDxhc20vbXBzcGVjLmg+Ci0jaW5jbHVkZSA8YXNtL21tem9uZS5oPgotI2luY2x1ZGUgPGFzbS9zZXR1cC5oPgotI2luY2x1ZGUgPGFzbS9hcmNoX2hvb2tzLmg+Ci0jaW5jbHVkZSA8YXNtL3NlY3Rpb25zLmg+Ci0jaW5jbHVkZSA8YXNtL2lvX2FwaWMuaD4KLSNpbmNsdWRlIDxhc20vaXN0Lmg+Ci0jaW5jbHVkZSA8YXNtL2lvLmg+Ci0jaW5jbHVkZSA8YXNtL3ZtaS5oPgotI2luY2x1ZGUgPHNldHVwX2FyY2guaD4KLSNpbmNsdWRlIDxhc20vYmlvc19lYmRhLmg+Ci0jaW5jbHVkZSA8YXNtL2NhY2hlZmx1c2guaD4KLSNpbmNsdWRlIDxhc20vcHJvY2Vzc29yLmg+Ci0KLS8qIFRoaXMgdmFsdWUgaXMgc2V0IHVwIGJ5IHRoZSBlYXJseSBib290IGNvZGUgdG8gcG9pbnQgdG8gdGhlIHZhbHVlCi0gICBpbW1lZGlhdGVseSBhZnRlciB0aGUgYm9vdCB0aW1lIHBhZ2UgdGFibGVzLiAgSXQgY29udGFpbnMgYSAqcGh5c2ljYWwqCi0gICBhZGRyZXNzLCBhbmQgbXVzdCBub3QgYmUgaW4gdGhlIC5ic3Mgc2VnbWVudCEgKi8KLXVuc2lnbmVkIGxvbmcgaW5pdF9wZ190YWJsZXNfZW5kIF9faW5pdGRhdGEgPSB+MFVMOwotCi0vKgotICogTWFjaGluZSBzZXR1cC4uCi0gKi8KLXN0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgZGF0YV9yZXNvdXJjZSA9IHsKLQkubmFtZQk9ICJLZXJuZWwgZGF0YSIsCi0JLnN0YXJ0CT0gMCwKLQkuZW5kCT0gMCwKLQkuZmxhZ3MJPSBJT1JFU09VUkNFX0JVU1kgfCBJT1JFU09VUkNFX01FTQotfTsKLQotc3RhdGljIHN0cnVjdCByZXNvdXJjZSBjb2RlX3Jlc291cmNlID0gewotCS5uYW1lCT0gIktlcm5lbCBjb2RlIiwKLQkuc3RhcnQJPSAwLAotCS5lbmQJPSAwLAotCS5mbGFncwk9IElPUkVTT1VSQ0VfQlVTWSB8IElPUkVTT1VSQ0VfTUVNCi19OwotCi1zdGF0aWMgc3RydWN0IHJlc291cmNlIGJzc19yZXNvdXJjZSA9IHsKLQkubmFtZQk9ICJLZXJuZWwgYnNzIiwKLQkuc3RhcnQJPSAwLAotCS5lbmQJPSAwLAotCS5mbGFncwk9IElPUkVTT1VSQ0VfQlVTWSB8IElPUkVTT1VSQ0VfTUVNCi19OwotCi1zdGF0aWMgc3RydWN0IHJlc291cmNlIHZpZGVvX3JhbV9yZXNvdXJjZSA9IHsKLQkubmFtZQk9ICJWaWRlbyBSQU0gYXJlYSIsCi0JLnN0YXJ0CT0gMHhhMDAwMCwKLQkuZW5kCT0gMHhiZmZmZiwKLQkuZmxhZ3MJPSBJT1JFU09VUkNFX0JVU1kgfCBJT1JFU09VUkNFX01FTQotfTsKLQotc3RhdGljIHN0cnVjdCByZXNvdXJjZSBzdGFuZGFyZF9pb19yZXNvdXJjZXNbXSA9IHsgewotCS5uYW1lCT0gImRtYTEiLAotCS5zdGFydAk9IDB4MDAwMCwKLQkuZW5kCT0gMHgwMDFmLAotCS5mbGFncwk9IElPUkVTT1VSQ0VfQlVTWSB8IElPUkVTT1VSQ0VfSU8KLX0sIHsKLQkubmFtZQk9ICJwaWMxIiwKLQkuc3RhcnQJPSAweDAwMjAsCi0JLmVuZAk9IDB4MDAyMSwKLQkuZmxhZ3MJPSBJT1JFU09VUkNFX0JVU1kgfCBJT1JFU09VUkNFX0lPCi19LCB7Ci0JLm5hbWUgICA9ICJ0aW1lcjAiLAotCS5zdGFydAk9IDB4MDA0MCwKLQkuZW5kICAgID0gMHgwMDQzLAotCS5mbGFncyAgPSBJT1JFU09VUkNFX0JVU1kgfCBJT1JFU09VUkNFX0lPCi19LCB7Ci0JLm5hbWUgICA9ICJ0aW1lcjEiLAotCS5zdGFydCAgPSAweDAwNTAsCi0JLmVuZCAgICA9IDB4MDA1MywKLQkuZmxhZ3MJPSBJT1JFU09VUkNFX0JVU1kgfCBJT1JFU09VUkNFX0lPCi19LCB7Ci0JLm5hbWUJPSAia2V5Ym9hcmQiLAotCS5zdGFydAk9IDB4MDA2MCwKLQkuZW5kCT0gMHgwMDYwLAotCS5mbGFncwk9IElPUkVTT1VSQ0VfQlVTWSB8IElPUkVTT1VSQ0VfSU8KLX0sIHsKLQkubmFtZQk9ICJrZXlib2FyZCIsCi0JLnN0YXJ0CT0gMHgwMDY0LAotCS5lbmQJPSAweDAwNjQsCi0JLmZsYWdzCT0gSU9SRVNPVVJDRV9CVVNZIHwgSU9SRVNPVVJDRV9JTwotfSwgewotCS5uYW1lCT0gImRtYSBwYWdlIHJlZyIsCi0JLnN0YXJ0CT0gMHgwMDgwLAotCS5lbmQJPSAweDAwOGYsCi0JLmZsYWdzCT0gSU9SRVNPVVJDRV9CVVNZIHwgSU9SRVNPVVJDRV9JTwotfSwgewotCS5uYW1lCT0gInBpYzIiLAotCS5zdGFydAk9IDB4MDBhMCwKLQkuZW5kCT0gMHgwMGExLAotCS5mbGFncwk9IElPUkVTT1VSQ0VfQlVTWSB8IElPUkVTT1VSQ0VfSU8KLX0sIHsKLQkubmFtZQk9ICJkbWEyIiwKLQkuc3RhcnQJPSAweDAwYzAsCi0JLmVuZAk9IDB4MDBkZiwKLQkuZmxhZ3MJPSBJT1JFU09VUkNFX0JVU1kgfCBJT1JFU09VUkNFX0lPCi19LCB7Ci0JLm5hbWUJPSAiZnB1IiwKLQkuc3RhcnQJPSAweDAwZjAsCi0JLmVuZAk9IDB4MDBmZiwKLQkuZmxhZ3MJPSBJT1JFU09VUkNFX0JVU1kgfCBJT1JFU09VUkNFX0lPCi19IH07Ci0KLS8qIGNwdSBkYXRhIGFzIGRldGVjdGVkIGJ5IHRoZSBhc3NlbWJseSBjb2RlIGluIGhlYWQuUyAqLwotc3RydWN0IGNwdWluZm9feDg2IG5ld19jcHVfZGF0YSBfX2NwdWluaXRkYXRhID0geyAwLCAwLCAwLCAwLCAtMSwgMSwgMCwgMCwgLTEgfTsKLS8qIGNvbW1vbiBjcHUgZGF0YSBmb3IgYWxsIGNwdXMgKi8KLXN0cnVjdCBjcHVpbmZvX3g4NiBib290X2NwdV9kYXRhIF9fcmVhZF9tb3N0bHkgPSB7IDAsIDAsIDAsIDAsIC0xLCAxLCAwLCAwLCAtMSB9OwotRVhQT1JUX1NZTUJPTChib290X2NwdV9kYXRhKTsKLQotdW5zaWduZWQgaW50IGRlZl90b19iaWdzbXA7Ci0KLSNpZm5kZWYgQ09ORklHX1g4Nl9QQUUKLXVuc2lnbmVkIGxvbmcgbW11X2NyNF9mZWF0dXJlczsKLSNlbHNlCi11bnNpZ25lZCBsb25nIG1tdV9jcjRfZmVhdHVyZXMgPSBYODZfQ1I0X1BBRTsKLSNlbmRpZgotCi0vKiBmb3IgTUNBLCBidXQgYW55b25lIGVsc2UgY2FuIHVzZSBpdCBpZiB0aGV5IHdhbnQgKi8KLXVuc2lnbmVkIGludCBtYWNoaW5lX2lkOwotdW5zaWduZWQgaW50IG1hY2hpbmVfc3VibW9kZWxfaWQ7Ci11bnNpZ25lZCBpbnQgQklPU19yZXZpc2lvbjsKLQotLyogQm9vdCBsb2FkZXIgSUQgYXMgYW4gaW50ZWdlciwgZm9yIHRoZSBiZW5lZml0IG9mIHByb2NfZG9pbnR2ZWMgKi8KLWludCBib290bG9hZGVyX3R5cGU7Ci0KLS8qIHVzZXItZGVmaW5lZCBoaWdobWVtIHNpemUgKi8KLXN0YXRpYyB1bnNpZ25lZCBpbnQgaGlnaG1lbV9wYWdlcyA9IC0xOwotCi0vKgotICogU2V0dXAgb3B0aW9ucwotICovCi1zdHJ1Y3Qgc2NyZWVuX2luZm8gc2NyZWVuX2luZm87Ci1FWFBPUlRfU1lNQk9MKHNjcmVlbl9pbmZvKTsKLXN0cnVjdCBhcG1faW5mbyBhcG1faW5mbzsKLUVYUE9SVF9TWU1CT0woYXBtX2luZm8pOwotc3RydWN0IGVkaWRfaW5mbyBlZGlkX2luZm87Ci1FWFBPUlRfU1lNQk9MX0dQTChlZGlkX2luZm8pOwotc3RydWN0IGlzdF9pbmZvIGlzdF9pbmZvOwotI2lmIGRlZmluZWQoQ09ORklHX1g4Nl9TUEVFRFNURVBfU01JKSB8fCBcCi0JZGVmaW5lZChDT05GSUdfWDg2X1NQRUVEU1RFUF9TTUlfTU9EVUxFKQotRVhQT1JUX1NZTUJPTChpc3RfaW5mbyk7Ci0jZW5kaWYKLQotZXh0ZXJuIHZvaWQgZWFybHlfY3B1X2luaXQodm9pZCk7Ci1leHRlcm4gaW50IHJvb3RfbW91bnRmbGFnczsKLQotdW5zaWduZWQgbG9uZyBzYXZlZF92aWRlb19tb2RlOwotCi0jZGVmaW5lIFJBTURJU0tfSU1BR0VfU1RBUlRfTUFTSwkweDA3RkYKLSNkZWZpbmUgUkFNRElTS19QUk9NUFRfRkxBRwkJMHg4MDAwCi0jZGVmaW5lIFJBTURJU0tfTE9BRF9GTEFHCQkweDQwMDAKLQotc3RhdGljIGNoYXIgX19pbml0ZGF0YSBjb21tYW5kX2xpbmVbQ09NTUFORF9MSU5FX1NJWkVdOwotCi0jaWZuZGVmIENPTkZJR19ERUJVR19CT09UX1BBUkFNUwotc3RydWN0IGJvb3RfcGFyYW1zIF9faW5pdGRhdGEgYm9vdF9wYXJhbXM7Ci0jZWxzZQotc3RydWN0IGJvb3RfcGFyYW1zIGJvb3RfcGFyYW1zOwotI2VuZGlmCi0KLSNpZiBkZWZpbmVkKENPTkZJR19FREQpIHx8IGRlZmluZWQoQ09ORklHX0VERF9NT0RVTEUpCi1zdHJ1Y3QgZWRkIGVkZDsKLSNpZmRlZiBDT05GSUdfRUREX01PRFVMRQotRVhQT1JUX1NZTUJPTChlZGQpOwotI2VuZGlmCi0vKioKLSAqIGNvcHlfZWRkKCkgLSBDb3B5IHRoZSBCSU9TIEVERCBpbmZvcm1hdGlvbgotICogICAgICAgICAgICAgIGZyb20gYm9vdF9wYXJhbXMgaW50byBhIHNhZmUgcGxhY2UuCi0gKgotICovCi1zdGF0aWMgaW5saW5lIHZvaWQgY29weV9lZGQodm9pZCkKLXsKLSAgICAgbWVtY3B5KGVkZC5tYnJfc2lnbmF0dXJlLCBib290X3BhcmFtcy5lZGRfbWJyX3NpZ19idWZmZXIsCi0JICAgIHNpemVvZihlZGQubWJyX3NpZ25hdHVyZSkpOwotICAgICBtZW1jcHkoZWRkLmVkZF9pbmZvLCBib290X3BhcmFtcy5lZGRidWYsIHNpemVvZihlZGQuZWRkX2luZm8pKTsKLSAgICAgZWRkLm1icl9zaWduYXR1cmVfbnIgPSBib290X3BhcmFtcy5lZGRfbWJyX3NpZ19idWZfZW50cmllczsKLSAgICAgZWRkLmVkZF9pbmZvX25yID0gYm9vdF9wYXJhbXMuZWRkYnVmX2VudHJpZXM7Ci19Ci0jZWxzZQotc3RhdGljIGlubGluZSB2b2lkIGNvcHlfZWRkKHZvaWQpCi17Ci19Ci0jZW5kaWYKLQotaW50IF9faW5pdGRhdGEgdXNlcl9kZWZpbmVkX21lbW1hcDsKLQotLyoKLSAqICJtZW09bm9wZW50aXVtIiBkaXNhYmxlcyB0aGUgNE1CIHBhZ2UgdGFibGVzLgotICogIm1lbT1YWFhba0ttTV0iIGRlZmluZXMgYSBtZW1vcnkgcmVnaW9uIGZyb20gSElHSF9NRU0KLSAqIHRvIDxtZW0+LCBvdmVycmlkaW5nIHRoZSBiaW9zIHNpemUuCi0gKiAibWVtbWFwPVhYWFtLa21NXUBYWFhbS2ttTV0iIGRlZmluZXMgYSBtZW1vcnkgcmVnaW9uIGZyb20KLSAqIDxzdGFydD4gdG8gPHN0YXJ0Pis8bWVtPiwgb3ZlcnJpZGluZyB0aGUgYmlvcyBzaXplLgotICoKLSAqIEhQQSB0ZWxscyBtZSBib290bG9hZGVycyBuZWVkIHRvIHBhcnNlIG1lbT0sIHNvIG5vIG5ldwotICogb3B0aW9uIHNob3VsZCBiZSBtZW09ICBbYWxzbyBzZWUgRG9jdW1lbnRhdGlvbi9pMzg2L2Jvb3QudHh0XQotICovCi1zdGF0aWMgaW50IF9faW5pdCBwYXJzZV9tZW0oY2hhciAqYXJnKQotewotCWlmICghYXJnKQotCQlyZXR1cm4gLUVJTlZBTDsKLQotCWlmIChzdHJjbXAoYXJnLCAibm9wZW50aXVtIikgPT0gMCkgewotCQlzZXR1cF9jbGVhcl9jcHVfY2FwKFg4Nl9GRUFUVVJFX1BTRSk7Ci0JfSBlbHNlIHsKLQkJLyogSWYgdGhlIHVzZXIgc3BlY2lmaWVzIG1lbW9yeSBzaXplLCB3ZQotCQkgKiBsaW1pdCB0aGUgQklPUy1wcm92aWRlZCBtZW1vcnkgbWFwIHRvCi0JCSAqIHRoYXQgc2l6ZS4gZXhhY3RtYXAgY2FuIGJlIHVzZWQgdG8gc3BlY2lmeQotCQkgKiB0aGUgZXhhY3QgbWFwLiBtZW09bnVtYmVyIGNhbiBiZSB1c2VkIHRvCi0JCSAqIHRyaW0gdGhlIGV4aXN0aW5nIG1lbW9yeSBtYXAuCi0JCSAqLwotCQl1bnNpZ25lZCBsb25nIGxvbmcgbWVtX3NpemU7Ci0KLQkJbWVtX3NpemUgPSBtZW1wYXJzZShhcmcsICZhcmcpOwotCQlsaW1pdF9yZWdpb25zKG1lbV9zaXplKTsKLQkJdXNlcl9kZWZpbmVkX21lbW1hcCA9IDE7Ci0JfQotCXJldHVybiAwOwotfQotZWFybHlfcGFyYW0oIm1lbSIsIHBhcnNlX21lbSk7Ci0KLSNpZmRlZiBDT05GSUdfUFJPQ19WTUNPUkUKLS8qIGVsZmNvcmVoZHI9IHNwZWNpZmllcyB0aGUgbG9jYXRpb24gb2YgZWxmIGNvcmUgaGVhZGVyCi0gKiBzdG9yZWQgYnkgdGhlIGNyYXNoZWQga2VybmVsLgotICovCi1zdGF0aWMgaW50IF9faW5pdCBwYXJzZV9lbGZjb3JlaGRyKGNoYXIgKmFyZykKLXsKLQlpZiAoIWFyZykKLQkJcmV0dXJuIC1FSU5WQUw7Ci0KLQllbGZjb3JlaGRyX2FkZHIgPSBtZW1wYXJzZShhcmcsICZhcmcpOwotCXJldHVybiAwOwotfQotZWFybHlfcGFyYW0oImVsZmNvcmVoZHIiLCBwYXJzZV9lbGZjb3JlaGRyKTsKLSNlbmRpZiAvKiBDT05GSUdfUFJPQ19WTUNPUkUgKi8KLQotLyoKLSAqIGhpZ2htZW09c2l6ZSBmb3JjZXMgaGlnaG1lbSB0byBiZSBleGFjdGx5ICdzaXplJyBieXRlcy4KLSAqIFRoaXMgd29ya3MgZXZlbiBvbiBib3hlcyB0aGF0IGhhdmUgbm8gaGlnaG1lbSBvdGhlcndpc2UuCi0gKiBUaGlzIGFsc28gd29ya3MgdG8gcmVkdWNlIGhpZ2htZW0gc2l6ZSBvbiBiaWdnZXIgYm94ZXMuCi0gKi8KLXN0YXRpYyBpbnQgX19pbml0IHBhcnNlX2hpZ2htZW0oY2hhciAqYXJnKQotewotCWlmICghYXJnKQotCQlyZXR1cm4gLUVJTlZBTDsKLQotCWhpZ2htZW1fcGFnZXMgPSBtZW1wYXJzZShhcmcsICZhcmcpID4+IFBBR0VfU0hJRlQ7Ci0JcmV0dXJuIDA7Ci19Ci1lYXJseV9wYXJhbSgiaGlnaG1lbSIsIHBhcnNlX2hpZ2htZW0pOwotCi0vKgotICogdm1hbGxvYz1zaXplIGZvcmNlcyB0aGUgdm1hbGxvYyBhcmVhIHRvIGJlIGV4YWN0bHkgJ3NpemUnCi0gKiBieXRlcy4gVGhpcyBjYW4gYmUgdXNlZCB0byBpbmNyZWFzZSAob3IgZGVjcmVhc2UpIHRoZQotICogdm1hbGxvYyBhcmVhIC0gdGhlIGRlZmF1bHQgaXMgMTI4bS4KLSAqLwotc3RhdGljIGludCBfX2luaXQgcGFyc2Vfdm1hbGxvYyhjaGFyICphcmcpCi17Ci0JaWYgKCFhcmcpCi0JCXJldHVybiAtRUlOVkFMOwotCi0JX19WTUFMTE9DX1JFU0VSVkUgPSBtZW1wYXJzZShhcmcsICZhcmcpOwotCXJldHVybiAwOwotfQotZWFybHlfcGFyYW0oInZtYWxsb2MiLCBwYXJzZV92bWFsbG9jKTsKLQotLyoKLSAqIHJlc2VydmV0b3A9c2l6ZSByZXNlcnZlcyBhIGhvbGUgYXQgdGhlIHRvcCBvZiB0aGUga2VybmVsIGFkZHJlc3Mgc3BhY2Ugd2hpY2gKLSAqIGEgaHlwZXJ2aXNvciBjYW4gbG9hZCBpbnRvIGxhdGVyLiAgTmVlZGVkIGZvciBkeW5hbWljYWxseSBsb2FkZWQgaHlwZXJ2aXNvcnMsCi0gKiBzbyByZWxvY2F0aW5nIHRoZSBmaXhtYXAgY2FuIGJlIGRvbmUgYmVmb3JlIHBhZ2luZyBpbml0aWFsaXphdGlvbi4KLSAqLwotc3RhdGljIGludCBfX2luaXQgcGFyc2VfcmVzZXJ2ZXRvcChjaGFyICphcmcpCi17Ci0JdW5zaWduZWQgbG9uZyBhZGRyZXNzOwotCi0JaWYgKCFhcmcpCi0JCXJldHVybiAtRUlOVkFMOwotCi0JYWRkcmVzcyA9IG1lbXBhcnNlKGFyZywgJmFyZyk7Ci0JcmVzZXJ2ZV90b3BfYWRkcmVzcyhhZGRyZXNzKTsKLQlyZXR1cm4gMDsKLX0KLWVhcmx5X3BhcmFtKCJyZXNlcnZldG9wIiwgcGFyc2VfcmVzZXJ2ZXRvcCk7Ci0KLS8qCi0gKiBEZXRlcm1pbmUgbG93IGFuZCBoaWdoIG1lbW9yeSByYW5nZXM6Ci0gKi8KLXVuc2lnbmVkIGxvbmcgX19pbml0IGZpbmRfbWF4X2xvd19wZm4odm9pZCkKLXsKLQl1bnNpZ25lZCBsb25nIG1heF9sb3dfcGZuOwotCi0JbWF4X2xvd19wZm4gPSBtYXhfcGZuOwotCWlmIChtYXhfbG93X3BmbiA+IE1BWE1FTV9QRk4pIHsKLQkJaWYgKGhpZ2htZW1fcGFnZXMgPT0gLTEpCi0JCQloaWdobWVtX3BhZ2VzID0gbWF4X3BmbiAtIE1BWE1FTV9QRk47Ci0JCWlmIChoaWdobWVtX3BhZ2VzICsgTUFYTUVNX1BGTiA8IG1heF9wZm4pCi0JCQltYXhfcGZuID0gTUFYTUVNX1BGTiArIGhpZ2htZW1fcGFnZXM7Ci0JCWlmIChoaWdobWVtX3BhZ2VzICsgTUFYTUVNX1BGTiA+IG1heF9wZm4pIHsKLQkJCXByaW50aygib25seSAlbHVNQiBoaWdobWVtIHBhZ2VzIGF2YWlsYWJsZSwgaWdub3JpbmcgaGlnaG1lbSBzaXplIG9mICV1TUIuXG4iLCBwYWdlc190b19tYihtYXhfcGZuIC0gTUFYTUVNX1BGTiksIHBhZ2VzX3RvX21iKGhpZ2htZW1fcGFnZXMpKTsKLQkJCWhpZ2htZW1fcGFnZXMgPSAwOwotCQl9Ci0JCW1heF9sb3dfcGZuID0gTUFYTUVNX1BGTjsKLSNpZm5kZWYgQ09ORklHX0hJR0hNRU0KLQkJLyogTWF4aW11bSBtZW1vcnkgdXNhYmxlIGlzIHdoYXQgaXMgZGlyZWN0bHkgYWRkcmVzc2FibGUgKi8KLQkJcHJpbnRrKEtFUk5fV0FSTklORyAiV2FybmluZyBvbmx5ICVsZE1CIHdpbGwgYmUgdXNlZC5cbiIsCi0JCQkJCU1BWE1FTT4+MjApOwotCQlpZiAobWF4X3BmbiA+IE1BWF9OT05QQUVfUEZOKQotCQkJcHJpbnRrKEtFUk5fV0FSTklORyAiVXNlIGEgSElHSE1FTTY0RyBlbmFibGVkIGtlcm5lbC5cbiIpOwotCQllbHNlCi0JCQlwcmludGsoS0VSTl9XQVJOSU5HICJVc2UgYSBISUdITUVNIGVuYWJsZWQga2VybmVsLlxuIik7Ci0JCW1heF9wZm4gPSBNQVhNRU1fUEZOOwotI2Vsc2UgLyogIUNPTkZJR19ISUdITUVNICovCi0jaWZuZGVmIENPTkZJR19ISUdITUVNNjRHCi0JCWlmIChtYXhfcGZuID4gTUFYX05PTlBBRV9QRk4pIHsKLQkJCW1heF9wZm4gPSBNQVhfTk9OUEFFX1BGTjsKLQkJCXByaW50ayhLRVJOX1dBUk5JTkcgIldhcm5pbmcgb25seSA0R0Igd2lsbCBiZSB1c2VkLlxuIik7Ci0JCQlwcmludGsoS0VSTl9XQVJOSU5HICJVc2UgYSBISUdITUVNNjRHIGVuYWJsZWQga2VybmVsLlxuIik7Ci0JCX0KLSNlbmRpZiAvKiAhQ09ORklHX0hJR0hNRU02NEcgKi8KLSNlbmRpZiAvKiAhQ09ORklHX0hJR0hNRU0gKi8KLQl9IGVsc2UgewotCQlpZiAoaGlnaG1lbV9wYWdlcyA9PSAtMSkKLQkJCWhpZ2htZW1fcGFnZXMgPSAwOwotI2lmZGVmIENPTkZJR19ISUdITUVNCi0JCWlmIChoaWdobWVtX3BhZ2VzID49IG1heF9wZm4pIHsKLQkJCXByaW50ayhLRVJOX0VSUiAiaGlnaG1lbSBzaXplIHNwZWNpZmllZCAoJXVNQikgaXMgYmlnZ2VyIHRoYW4gcGFnZXMgYXZhaWxhYmxlICglbHVNQikhLlxuIiwgcGFnZXNfdG9fbWIoaGlnaG1lbV9wYWdlcyksIHBhZ2VzX3RvX21iKG1heF9wZm4pKTsKLQkJCWhpZ2htZW1fcGFnZXMgPSAwOwotCQl9Ci0JCWlmIChoaWdobWVtX3BhZ2VzKSB7Ci0JCQlpZiAobWF4X2xvd19wZm4taGlnaG1lbV9wYWdlcyA8IDY0KjEwMjQqMTAyNC9QQUdFX1NJWkUpewotCQkJCXByaW50ayhLRVJOX0VSUiAiaGlnaG1lbSBzaXplICV1TUIgcmVzdWx0cyBpbiBzbWFsbGVyIHRoYW4gNjRNQiBsb3dtZW0sIGlnbm9yaW5nIGl0LlxuIiwgcGFnZXNfdG9fbWIoaGlnaG1lbV9wYWdlcykpOwotCQkJCWhpZ2htZW1fcGFnZXMgPSAwOwotCQkJfQotCQkJbWF4X2xvd19wZm4gLT0gaGlnaG1lbV9wYWdlczsKLQkJfQotI2Vsc2UKLQkJaWYgKGhpZ2htZW1fcGFnZXMpCi0JCQlwcmludGsoS0VSTl9FUlIgImlnbm9yaW5nIGhpZ2htZW0gc2l6ZSBvbiBub24taGlnaG1lbSBrZXJuZWwhXG4iKTsKLSNlbmRpZgotCX0KLQlyZXR1cm4gbWF4X2xvd19wZm47Ci19Ci0KLSNkZWZpbmUgQklPU19MT1dNRU1fS0lMT0JZVEVTIDB4NDEzCi0KLS8qCi0gKiBUaGUgQklPUyBwbGFjZXMgdGhlIEVCREEvWEJEQSBhdCB0aGUgdG9wIG9mIGNvbnZlbnRpb25hbAotICogbWVtb3J5LCBhbmQgdXN1YWxseSBkZWNyZWFzZXMgdGhlIHJlcG9ydGVkIGFtb3VudCBvZgotICogY29udmVudGlvbmFsIG1lbW9yeSAoaW50IDB4MTIpIHRvby4gVGhpcyBhbHNvIGNvbnRhaW5zIGEKLSAqIHdvcmthcm91bmQgZm9yIERlbGwgc3lzdGVtcyB0aGF0IG5lZ2xlY3QgdG8gcmVzZXJ2ZSBFQkRBLgotICogVGhlIHNhbWUgd29ya2Fyb3VuZCBhbHNvIGF2b2lkcyBhIHByb2JsZW0gd2l0aCB0aGUgQU1ENzY4TVBYCi0gKiBjaGlwc2V0OiByZXNlcnZlIGEgcGFnZSBiZWZvcmUgVkdBIHRvIHByZXZlbnQgUENJIHByZWZldGNoCi0gKiBpbnRvIGl0IChlcnJhdGEgIzU2KS4gVXN1YWxseSB0aGUgcGFnZSBpcyByZXNlcnZlZCBhbnl3YXlzLAotICogdW5sZXNzIHlvdSBoYXZlIG5vIFBTLzIgbW91c2UgcGx1Z2dlZCBpbi4KLSAqLwotc3RhdGljIHZvaWQgX19pbml0IHJlc2VydmVfZWJkYV9yZWdpb24odm9pZCkKLXsKLQl1bnNpZ25lZCBpbnQgbG93bWVtLCBlYmRhX2FkZHI7Ci0KLQkvKiBUbyBkZXRlcm1pbmUgdGhlIHBvc2l0aW9uIG9mIHRoZSBFQkRBIGFuZCB0aGUgKi8KLQkvKiBlbmQgb2YgY29udmVudGlvbmFsIG1lbW9yeSwgd2UgbmVlZCB0byBsb29rIGF0ICovCi0JLyogdGhlIEJJT1MgZGF0YSBhcmVhLiBJbiBhIHBhcmF2aXJ0dWFsIGVudmlyb25tZW50ICovCi0JLyogdGhhdCBhcmVhIGlzIGFic2VudC4gV2UnbGwganVzdCBoYXZlIHRvIGFzc3VtZSAqLwotCS8qIHRoYXQgdGhlIHBhcmF2aXJ0IGNhc2UgY2FuIGhhbmRsZSBtZW1vcnkgc2V0dXAgKi8KLQkvKiBjb3JyZWN0bHksIHdpdGhvdXQgb3VyIGhlbHAuICovCi0JaWYgKHBhcmF2aXJ0X2VuYWJsZWQoKSkKLQkJcmV0dXJuOwotCi0JLyogZW5kIG9mIGxvdyAoY29udmVudGlvbmFsKSBtZW1vcnkgKi8KLQlsb3dtZW0gPSAqKHVuc2lnbmVkIHNob3J0ICopX192YShCSU9TX0xPV01FTV9LSUxPQllURVMpOwotCWxvd21lbSA8PD0gMTA7Ci0KLQkvKiBzdGFydCBvZiBFQkRBIGFyZWEgKi8KLQllYmRhX2FkZHIgPSBnZXRfYmlvc19lYmRhKCk7Ci0KLQkvKiBGaXh1cDogYmlvcyBwdXRzIGFuIEVCREEgaW4gdGhlIHRvcCA2NEsgc2VnbWVudCAqLwotCS8qIG9mIGNvbnZlbnRpb25hbCBtZW1vcnksIGJ1dCBkb2VzIG5vdCBhZGp1c3QgbG93bWVtLiAqLwotCWlmICgobG93bWVtIC0gZWJkYV9hZGRyKSA8PSAweDEwMDAwKQotCQlsb3dtZW0gPSBlYmRhX2FkZHI7Ci0KLQkvKiBGaXh1cDogYmlvcyBkb2VzIG5vdCByZXBvcnQgYW4gRUJEQSBhdCBhbGwuICovCi0JLyogU29tZSBvbGQgRGVsbHMgc2VlbSB0byBuZWVkIDRrIGFueWhvdyAoYnVnemlsbGEgMjk5MCkgKi8KLQlpZiAoKGViZGFfYWRkciA9PSAwKSAmJiAobG93bWVtID49IDB4OWYwMDApKQotCQlsb3dtZW0gPSAweDlmMDAwOwotCi0JLyogUGFyYW5vaWE6IHNob3VsZCBuZXZlciBoYXBwZW4sIGJ1dC4uLiAqLwotCWlmICgobG93bWVtID09IDApIHx8IChsb3dtZW0gPj0gMHgxMDAwMDApKQotCQlsb3dtZW0gPSAweDlmMDAwOwotCi0JLyogcmVzZXJ2ZSBhbGwgbWVtb3J5IGJldHdlZW4gbG93bWVtIGFuZCB0aGUgMU1CIG1hcmsgKi8KLQlyZXNlcnZlX2Jvb3RtZW0obG93bWVtLCAweDEwMDAwMCAtIGxvd21lbSwgQk9PVE1FTV9ERUZBVUxUKTsKLX0KLQotI2lmbmRlZiBDT05GSUdfTkVFRF9NVUxUSVBMRV9OT0RFUwotc3RhdGljIHZvaWQgX19pbml0IHNldHVwX2Jvb3RtZW1fYWxsb2NhdG9yKHZvaWQpOwotc3RhdGljIHVuc2lnbmVkIGxvbmcgX19pbml0IHNldHVwX21lbW9yeSh2b2lkKQotewotCS8qCi0JICogcGFydGlhbGx5IHVzZWQgcGFnZXMgYXJlIG5vdCB1c2FibGUgLSB0aHVzCi0JICogd2UgYXJlIHJvdW5kaW5nIHVwd2FyZHM6Ci0JICovCi0JbWluX2xvd19wZm4gPSBQRk5fVVAoaW5pdF9wZ190YWJsZXNfZW5kKTsKLQotCW1heF9sb3dfcGZuID0gZmluZF9tYXhfbG93X3BmbigpOwotCi0jaWZkZWYgQ09ORklHX0hJR0hNRU0KLQloaWdoc3RhcnRfcGZuID0gaGlnaGVuZF9wZm4gPSBtYXhfcGZuOwotCWlmIChtYXhfcGZuID4gbWF4X2xvd19wZm4pIHsKLQkJaGlnaHN0YXJ0X3BmbiA9IG1heF9sb3dfcGZuOwotCX0KLQlwcmludGsoS0VSTl9OT1RJQ0UgIiVsZE1CIEhJR0hNRU0gYXZhaWxhYmxlLlxuIiwKLQkJcGFnZXNfdG9fbWIoaGlnaGVuZF9wZm4gLSBoaWdoc3RhcnRfcGZuKSk7Ci0JbnVtX3BoeXNwYWdlcyA9IGhpZ2hlbmRfcGZuOwotCWhpZ2hfbWVtb3J5ID0gKHZvaWQgKikgX192YShoaWdoc3RhcnRfcGZuICogUEFHRV9TSVpFIC0gMSkgKyAxOwotI2Vsc2UKLQludW1fcGh5c3BhZ2VzID0gbWF4X2xvd19wZm47Ci0JaGlnaF9tZW1vcnkgPSAodm9pZCAqKSBfX3ZhKG1heF9sb3dfcGZuICogUEFHRV9TSVpFIC0gMSkgKyAxOwotI2VuZGlmCi0jaWZkZWYgQ09ORklHX0ZMQVRNRU0KLQltYXhfbWFwbnIgPSBudW1fcGh5c3BhZ2VzOwotI2VuZGlmCi0JcHJpbnRrKEtFUk5fTk9USUNFICIlbGRNQiBMT1dNRU0gYXZhaWxhYmxlLlxuIiwKLQkJCXBhZ2VzX3RvX21iKG1heF9sb3dfcGZuKSk7Ci0KLQlzZXR1cF9ib290bWVtX2FsbG9jYXRvcigpOwotCi0JcmV0dXJuIG1heF9sb3dfcGZuOwotfQotCi1zdGF0aWMgdm9pZCBfX2luaXQgem9uZV9zaXplc19pbml0KHZvaWQpCi17Ci0JdW5zaWduZWQgbG9uZyBtYXhfem9uZV9wZm5zW01BWF9OUl9aT05FU107Ci0JbWVtc2V0KG1heF96b25lX3BmbnMsIDAsIHNpemVvZihtYXhfem9uZV9wZm5zKSk7Ci0JbWF4X3pvbmVfcGZuc1taT05FX0RNQV0gPQotCQl2aXJ0X3RvX3BoeXMoKGNoYXIgKilNQVhfRE1BX0FERFJFU1MpID4+IFBBR0VfU0hJRlQ7Ci0JbWF4X3pvbmVfcGZuc1taT05FX05PUk1BTF0gPSBtYXhfbG93X3BmbjsKLSNpZmRlZiBDT05GSUdfSElHSE1FTQotCW1heF96b25lX3BmbnNbWk9ORV9ISUdITUVNXSA9IGhpZ2hlbmRfcGZuOwotCWFkZF9hY3RpdmVfcmFuZ2UoMCwgMCwgaGlnaGVuZF9wZm4pOwotI2Vsc2UKLQlhZGRfYWN0aXZlX3JhbmdlKDAsIDAsIG1heF9sb3dfcGZuKTsKLSNlbmRpZgotCi0JZnJlZV9hcmVhX2luaXRfbm9kZXMobWF4X3pvbmVfcGZucyk7Ci19Ci0jZWxzZQotZXh0ZXJuIHVuc2lnbmVkIGxvbmcgX19pbml0IHNldHVwX21lbW9yeSh2b2lkKTsKLWV4dGVybiB2b2lkIHpvbmVfc2l6ZXNfaW5pdCh2b2lkKTsKLSNlbmRpZiAvKiAhQ09ORklHX05FRURfTVVMVElQTEVfTk9ERVMgKi8KLQotc3RhdGljIGlubGluZSB1bnNpZ25lZCBsb25nIGxvbmcgZ2V0X3RvdGFsX21lbSh2b2lkKQotewotCXVuc2lnbmVkIGxvbmcgbG9uZyB0b3RhbDsKLQotCXRvdGFsID0gbWF4X2xvd19wZm4gLSBtaW5fbG93X3BmbjsKLSNpZmRlZiBDT05GSUdfSElHSE1FTQotCXRvdGFsICs9IGhpZ2hlbmRfcGZuIC0gaGlnaHN0YXJ0X3BmbjsKLSNlbmRpZgotCi0JcmV0dXJuIHRvdGFsIDw8IFBBR0VfU0hJRlQ7Ci19Ci0KLSNpZmRlZiBDT05GSUdfS0VYRUMKLXN0YXRpYyB2b2lkIF9faW5pdCByZXNlcnZlX2NyYXNoa2VybmVsKHZvaWQpCi17Ci0JdW5zaWduZWQgbG9uZyBsb25nIHRvdGFsX21lbTsKLQl1bnNpZ25lZCBsb25nIGxvbmcgY3Jhc2hfc2l6ZSwgY3Jhc2hfYmFzZTsKLQlpbnQgcmV0OwotCi0JdG90YWxfbWVtID0gZ2V0X3RvdGFsX21lbSgpOwotCi0JcmV0ID0gcGFyc2VfY3Jhc2hrZXJuZWwoYm9vdF9jb21tYW5kX2xpbmUsIHRvdGFsX21lbSwKLQkJCSZjcmFzaF9zaXplLCAmY3Jhc2hfYmFzZSk7Ci0JaWYgKHJldCA9PSAwICYmIGNyYXNoX3NpemUgPiAwKSB7Ci0JCWlmIChjcmFzaF9iYXNlID4gMCkgewotCQkJcHJpbnRrKEtFUk5fSU5GTyAiUmVzZXJ2aW5nICVsZE1CIG9mIG1lbW9yeSBhdCAlbGRNQiAiCi0JCQkJCSJmb3IgY3Jhc2hrZXJuZWwgKFN5c3RlbSBSQU06ICVsZE1CKVxuIiwKLQkJCQkJKHVuc2lnbmVkIGxvbmcpKGNyYXNoX3NpemUgPj4gMjApLAotCQkJCQkodW5zaWduZWQgbG9uZykoY3Jhc2hfYmFzZSA+PiAyMCksCi0JCQkJCSh1bnNpZ25lZCBsb25nKSh0b3RhbF9tZW0gPj4gMjApKTsKLQotCQkJaWYgKHJlc2VydmVfYm9vdG1lbShjcmFzaF9iYXNlLCBjcmFzaF9zaXplLAotCQkJCQlCT09UTUVNX0VYQ0xVU0lWRSkgPCAwKSB7Ci0JCQkJcHJpbnRrKEtFUk5fSU5GTyAiY3Jhc2hrZXJuZWwgcmVzZXJ2YXRpb24gIgotCQkJCQkiZmFpbGVkIC0gbWVtb3J5IGlzIGluIHVzZVxuIik7Ci0JCQkJcmV0dXJuOwotCQkJfQotCi0JCQljcmFzaGtfcmVzLnN0YXJ0ID0gY3Jhc2hfYmFzZTsKLQkJCWNyYXNoa19yZXMuZW5kICAgPSBjcmFzaF9iYXNlICsgY3Jhc2hfc2l6ZSAtIDE7Ci0JCX0gZWxzZQotCQkJcHJpbnRrKEtFUk5fSU5GTyAiY3Jhc2hrZXJuZWwgcmVzZXJ2YXRpb24gZmFpbGVkIC0gIgotCQkJCQkieW91IGhhdmUgdG8gc3BlY2lmeSBhIGJhc2UgYWRkcmVzc1xuIik7Ci0JfQotfQotI2Vsc2UKLXN0YXRpYyBpbmxpbmUgdm9pZCBfX2luaXQgcmVzZXJ2ZV9jcmFzaGtlcm5lbCh2b2lkKQote30KLSNlbmRpZgotCi0jaWZkZWYgQ09ORklHX0JMS19ERVZfSU5JVFJECi0KLXN0YXRpYyBib29sIGRvX3JlbG9jYXRlX2luaXRyZCA9IGZhbHNlOwotCi1zdGF0aWMgdm9pZCBfX2luaXQgcmVzZXJ2ZV9pbml0cmQodm9pZCkKLXsKLQl1bnNpZ25lZCBsb25nIHJhbWRpc2tfaW1hZ2UgPSBib290X3BhcmFtcy5oZHIucmFtZGlza19pbWFnZTsKLQl1bnNpZ25lZCBsb25nIHJhbWRpc2tfc2l6ZSAgPSBib290X3BhcmFtcy5oZHIucmFtZGlza19zaXplOwotCXVuc2lnbmVkIGxvbmcgcmFtZGlza19lbmQgICA9IHJhbWRpc2tfaW1hZ2UgKyByYW1kaXNrX3NpemU7Ci0JdW5zaWduZWQgbG9uZyBlbmRfb2ZfbG93bWVtID0gbWF4X2xvd19wZm4gPDwgUEFHRV9TSElGVDsKLQl1bnNpZ25lZCBsb25nIHJhbWRpc2tfaGVyZTsKLQotCWluaXRyZF9zdGFydCA9IDA7Ci0KLQlpZiAoIWJvb3RfcGFyYW1zLmhkci50eXBlX29mX2xvYWRlciB8fAotCSAgICAhcmFtZGlza19pbWFnZSB8fCAhcmFtZGlza19zaXplKQotCQlyZXR1cm47CQkvKiBObyBpbml0cmQgcHJvdmlkZWQgYnkgYm9vdGxvYWRlciAqLwotCi0JaWYgKHJhbWRpc2tfZW5kIDwgcmFtZGlza19pbWFnZSkgewotCQlwcmludGsoS0VSTl9FUlIgImluaXRyZCB3cmFwcyBhcm91bmQgZW5kIG9mIG1lbW9yeSwgIgotCQkgICAgICAgImRpc2FibGluZyBpbml0cmRcbiIpOwotCQlyZXR1cm47Ci0JfQotCWlmIChyYW1kaXNrX3NpemUgPj0gZW5kX29mX2xvd21lbS8yKSB7Ci0JCXByaW50ayhLRVJOX0VSUiAiaW5pdHJkIHRvbyBsYXJnZSB0byBoYW5kbGUsICIKLQkJICAgICAgICJkaXNhYmxpbmcgaW5pdHJkXG4iKTsKLQkJcmV0dXJuOwotCX0KLQlpZiAocmFtZGlza19lbmQgPD0gZW5kX29mX2xvd21lbSkgewotCQkvKiBBbGwgaW4gbG93bWVtLCBlYXN5IGNhc2UgKi8KLQkJcmVzZXJ2ZV9ib290bWVtKHJhbWRpc2tfaW1hZ2UsIHJhbWRpc2tfc2l6ZSwgQk9PVE1FTV9ERUZBVUxUKTsKLQkJaW5pdHJkX3N0YXJ0ID0gcmFtZGlza19pbWFnZSArIFBBR0VfT0ZGU0VUOwotCQlpbml0cmRfZW5kID0gaW5pdHJkX3N0YXJ0K3JhbWRpc2tfc2l6ZTsKLQkJcmV0dXJuOwotCX0KLQotCS8qIFdlIG5lZWQgdG8gbW92ZSB0aGUgaW5pdHJkIGRvd24gaW50byBsb3dtZW0gKi8KLQlyYW1kaXNrX2hlcmUgPSAoZW5kX29mX2xvd21lbSAtIHJhbWRpc2tfc2l6ZSkgJiBQQUdFX01BU0s7Ci0KLQkvKiBOb3RlOiB0aGlzIGluY2x1ZGVzIGFsbCB0aGUgbG93bWVtIGN1cnJlbnRseSBvY2N1cGllZCBieQotCSAgIHRoZSBpbml0cmQsIHdlIHJlbHkgb24gdGhhdCBmYWN0IHRvIGtlZXAgdGhlIGRhdGEgaW50YWN0LiAqLwotCXJlc2VydmVfYm9vdG1lbShyYW1kaXNrX2hlcmUsIHJhbWRpc2tfc2l6ZSwgQk9PVE1FTV9ERUZBVUxUKTsKLQlpbml0cmRfc3RhcnQgPSByYW1kaXNrX2hlcmUgKyBQQUdFX09GRlNFVDsKLQlpbml0cmRfZW5kICAgPSBpbml0cmRfc3RhcnQgKyByYW1kaXNrX3NpemU7Ci0KLQlkb19yZWxvY2F0ZV9pbml0cmQgPSB0cnVlOwotfQotCi0jZGVmaW5lIE1BWF9NQVBfQ0hVTksJKE5SX0ZJWF9CVE1BUFMgPDwgUEFHRV9TSElGVCkKLQotc3RhdGljIHZvaWQgX19pbml0IHJlbG9jYXRlX2luaXRyZCh2b2lkKQotewotCXVuc2lnbmVkIGxvbmcgcmFtZGlza19pbWFnZSA9IGJvb3RfcGFyYW1zLmhkci5yYW1kaXNrX2ltYWdlOwotCXVuc2lnbmVkIGxvbmcgcmFtZGlza19zaXplICA9IGJvb3RfcGFyYW1zLmhkci5yYW1kaXNrX3NpemU7Ci0JdW5zaWduZWQgbG9uZyBlbmRfb2ZfbG93bWVtID0gbWF4X2xvd19wZm4gPDwgUEFHRV9TSElGVDsKLQl1bnNpZ25lZCBsb25nIHJhbWRpc2tfaGVyZTsKLQl1bnNpZ25lZCBsb25nIHNsb3AsIGNsZW4sIG1hcGFkZHI7Ci0JY2hhciAqcCwgKnE7Ci0KLQlpZiAoIWRvX3JlbG9jYXRlX2luaXRyZCkKLQkJcmV0dXJuOwotCi0JcmFtZGlza19oZXJlID0gaW5pdHJkX3N0YXJ0IC0gUEFHRV9PRkZTRVQ7Ci0KLQlxID0gKGNoYXIgKilpbml0cmRfc3RhcnQ7Ci0KLQkvKiBDb3B5IGFueSBsb3dtZW0gcG9ydGlvbiBvZiB0aGUgaW5pdHJkICovCi0JaWYgKHJhbWRpc2tfaW1hZ2UgPCBlbmRfb2ZfbG93bWVtKSB7Ci0JCWNsZW4gPSBlbmRfb2ZfbG93bWVtIC0gcmFtZGlza19pbWFnZTsKLQkJcCA9IChjaGFyICopX192YShyYW1kaXNrX2ltYWdlKTsKLQkJbWVtY3B5KHEsIHAsIGNsZW4pOwotCQlxICs9IGNsZW47Ci0JCXJhbWRpc2tfaW1hZ2UgKz0gY2xlbjsKLQkJcmFtZGlza19zaXplICAtPSBjbGVuOwotCX0KLQotCS8qIENvcHkgdGhlIGhpZ2htZW0gcG9ydGlvbiBvZiB0aGUgaW5pdHJkICovCi0Jd2hpbGUgKHJhbWRpc2tfc2l6ZSkgewotCQlzbG9wID0gcmFtZGlza19pbWFnZSAmIH5QQUdFX01BU0s7Ci0JCWNsZW4gPSByYW1kaXNrX3NpemU7Ci0JCWlmIChjbGVuID4gTUFYX01BUF9DSFVOSy1zbG9wKQotCQkJY2xlbiA9IE1BWF9NQVBfQ0hVTkstc2xvcDsKLQkJbWFwYWRkciA9IHJhbWRpc2tfaW1hZ2UgJiBQQUdFX01BU0s7Ci0JCXAgPSBlYXJseV9pb3JlbWFwKG1hcGFkZHIsIGNsZW4rc2xvcCk7Ci0JCW1lbWNweShxLCBwK3Nsb3AsIGNsZW4pOwotCQllYXJseV9pb3VubWFwKHAsIGNsZW4rc2xvcCk7Ci0JCXEgKz0gY2xlbjsKLQkJcmFtZGlza19pbWFnZSArPSBjbGVuOwotCQlyYW1kaXNrX3NpemUgIC09IGNsZW47Ci0JfQotfQotCi0jZW5kaWYgLyogQ09ORklHX0JMS19ERVZfSU5JVFJEICovCi0KLXZvaWQgX19pbml0IHNldHVwX2Jvb3RtZW1fYWxsb2NhdG9yKHZvaWQpCi17Ci0JdW5zaWduZWQgbG9uZyBib290bWFwX3NpemU7Ci0JLyoKLQkgKiBJbml0aWFsaXplIHRoZSBib290LXRpbWUgYWxsb2NhdG9yICh3aXRoIGxvdyBtZW1vcnkgb25seSk6Ci0JICovCi0JYm9vdG1hcF9zaXplID0gaW5pdF9ib290bWVtKG1pbl9sb3dfcGZuLCBtYXhfbG93X3Bmbik7Ci0KLQlyZWdpc3Rlcl9ib290bWVtX2xvd19wYWdlcyhtYXhfbG93X3Bmbik7Ci0KLQkvKgotCSAqIFJlc2VydmUgdGhlIGJvb3RtZW0gYml0bWFwIGl0c2VsZiBhcyB3ZWxsLiBXZSBkbyB0aGlzIGluIHR3bwotCSAqIHN0ZXBzIChmaXJzdCBzdGVwIHdhcyBpbml0X2Jvb3RtZW0oKSkgYmVjYXVzZSB0aGlzIGNhdGNoZXMKLQkgKiB0aGUgKHZlcnkgdW5saWtlbHkpIGNhc2Ugb2YgdXMgYWNjaWRlbnRhbGx5IGluaXRpYWxpemluZyB0aGUKLQkgKiBib290bWVtIGFsbG9jYXRvciB3aXRoIGFuIGludmFsaWQgUkFNIGFyZWEuCi0JICovCi0JcmVzZXJ2ZV9ib290bWVtKF9fcGFfc3ltYm9sKF90ZXh0KSwgKFBGTl9QSFlTKG1pbl9sb3dfcGZuKSArCi0JCQkgYm9vdG1hcF9zaXplICsgUEFHRV9TSVpFLTEpIC0gX19wYV9zeW1ib2woX3RleHQpLAotCQkJIEJPT1RNRU1fREVGQVVMVCk7Ci0KLQkvKgotCSAqIHJlc2VydmUgcGh5c2ljYWwgcGFnZSAwIC0gaXQncyBhIHNwZWNpYWwgQklPUyBwYWdlIG9uIG1hbnkgYm94ZXMsCi0JICogZW5hYmxpbmcgY2xlYW4gcmVib290cywgU01QIG9wZXJhdGlvbiwgbGFwdG9wIGZ1bmN0aW9ucy4KLQkgKi8KLQlyZXNlcnZlX2Jvb3RtZW0oMCwgUEFHRV9TSVpFLCBCT09UTUVNX0RFRkFVTFQpOwotCi0JLyogcmVzZXJ2ZSBFQkRBIHJlZ2lvbiAqLwotCXJlc2VydmVfZWJkYV9yZWdpb24oKTsKLQotI2lmZGVmIENPTkZJR19TTVAKLQkvKgotCSAqIEJ1dCBmaXJzdCBwaW5jaCBhIGZldyBmb3IgdGhlIHN0YWNrL3RyYW1wb2xpbmUgc3R1ZmYKLQkgKiBGSVhNRTogRG9uJ3QgbmVlZCB0aGUgZXh0cmEgcGFnZSBhdCA0SywgYnV0IG5lZWQgdG8gZml4Ci0JICogdHJhbXBvbGluZSBiZWZvcmUgcmVtb3ZpbmcgaXQuIChzZWUgdGhlIEdEVCBzdHVmZikKLQkgKi8KLQlyZXNlcnZlX2Jvb3RtZW0oUEFHRV9TSVpFLCBQQUdFX1NJWkUsIEJPT1RNRU1fREVGQVVMVCk7Ci0jZW5kaWYKLSNpZmRlZiBDT05GSUdfQUNQSV9TTEVFUAotCS8qCi0JICogUmVzZXJ2ZSBsb3cgbWVtb3J5IHJlZ2lvbiBmb3Igc2xlZXAgc3VwcG9ydC4KLQkgKi8KLQlhY3BpX3Jlc2VydmVfYm9vdG1lbSgpOwotI2VuZGlmCi0jaWZkZWYgQ09ORklHX1g4Nl9GSU5EX1NNUF9DT05GSUcKLQkvKgotCSAqIEZpbmQgYW5kIHJlc2VydmUgcG9zc2libGUgYm9vdC10aW1lIFNNUCBjb25maWd1cmF0aW9uOgotCSAqLwotCWZpbmRfc21wX2NvbmZpZygpOwotI2VuZGlmCi0jaWZkZWYgQ09ORklHX0JMS19ERVZfSU5JVFJECi0JcmVzZXJ2ZV9pbml0cmQoKTsKLSNlbmRpZgotCW51bWFfa3ZhX3Jlc2VydmUoKTsKLQlyZXNlcnZlX2NyYXNoa2VybmVsKCk7Ci0KLQlyZXNlcnZlX2liZnRfcmVnaW9uKCk7Ci19Ci0KLS8qCi0gKiBUaGUgbm9kZSAwIHBnZGF0IGlzIGluaXRpYWxpemVkIGJlZm9yZSBhbGwgb2YgdGhlc2UgYmVjYXVzZQotICogaXQncyBuZWVkZWQgZm9yIGJvb3RtZW0uICBub2RlPjAgcGdkYXRzIGhhdmUgdGhlaXIgdmlydHVhbAotICogc3BhY2UgYWxsb2NhdGVkIGJlZm9yZSB0aGUgcGFnZXRhYmxlcyBhcmUgaW4gcGxhY2UgdG8gYWNjZXNzCi0gKiB0aGVtLCBzbyB0aGV5IGNhbid0IGJlIGNsZWFyZWQgdGhlbi4KLSAqCi0gKiBUaGlzIHNob3VsZCBhbGwgY29tcGlsZSBkb3duIHRvIG5vdGhpbmcgd2hlbiBOVU1BIGlzIG9mZi4KLSAqLwotc3RhdGljIHZvaWQgX19pbml0IHJlbWFwcGVkX3BnZGF0X2luaXQodm9pZCkKLXsKLQlpbnQgbmlkOwotCi0JZm9yX2VhY2hfb25saW5lX25vZGUobmlkKSB7Ci0JCWlmIChuaWQgIT0gMCkKLQkJCW1lbXNldChOT0RFX0RBVEEobmlkKSwgMCwgc2l6ZW9mKHN0cnVjdCBwZ2xpc3RfZGF0YSkpOwotCX0KLX0KLQotI2lmZGVmIENPTkZJR19NQ0EKLXN0YXRpYyB2b2lkIHNldF9tY2FfYnVzKGludCB4KQotewotCU1DQV9idXMgPSB4OwotfQotI2Vsc2UKLXN0YXRpYyB2b2lkIHNldF9tY2FfYnVzKGludCB4KSB7IH0KLSNlbmRpZgotCi0vKiBPdmVycmlkZGVuIGluIHBhcmF2aXJ0LmMgaWYgQ09ORklHX1BBUkFWSVJUICovCi1jaGFyICogX19pbml0IF9fYXR0cmlidXRlX18oKHdlYWspKSBtZW1vcnlfc2V0dXAodm9pZCkKLXsKLQlyZXR1cm4gbWFjaGluZV9zcGVjaWZpY19tZW1vcnlfc2V0dXAoKTsKLX0KLQotI2lmZGVmIENPTkZJR19OVU1BCi0vKgotICogSW4gdGhlIGdvbGRlbiBkYXksIHdoZW4gZXZlcnl0aGluZyBhbW9uZyBpMzg2IGFuZCB4ODZfNjQgd2lsbCBiZQotICogaW50ZWdyYXRlZCwgdGhpcyB3aWxsIG5vdCBsaXZlIGhlcmUKLSAqLwotdm9pZCAqeDg2X2NwdV90b19ub2RlX21hcF9lYXJseV9wdHI7Ci1pbnQgeDg2X2NwdV90b19ub2RlX21hcF9pbml0W05SX0NQVVNdID0gewotCVswIC4uLiBOUl9DUFVTLTFdID0gTlVNQV9OT19OT0RFCi19OwotREVGSU5FX1BFUl9DUFUoaW50LCB4ODZfY3B1X3RvX25vZGVfbWFwKSA9IE5VTUFfTk9fTk9ERTsKLSNlbmRpZgotCi0vKgotICogRGV0ZXJtaW5lIGlmIHdlIHdlcmUgbG9hZGVkIGJ5IGFuIEVGSSBsb2FkZXIuICBJZiBzbywgdGhlbiB3ZSBoYXZlIGFsc28gYmVlbgotICogcGFzc2VkIHRoZSBlZmkgbWVtbWFwLCBzeXN0YWIsIGV0Yy4sIHNvIHdlIHNob3VsZCB1c2UgdGhlc2UgZGF0YSBzdHJ1Y3R1cmVzCi0gKiBmb3IgaW5pdGlhbGl6YXRpb24uICBOb3RlLCB0aGUgZWZpIGluaXQgY29kZSBwYXRoIGlzIGRldGVybWluZWQgYnkgdGhlCi0gKiBnbG9iYWwgZWZpX2VuYWJsZWQuIFRoaXMgYWxsb3dzIHRoZSBzYW1lIGtlcm5lbCBpbWFnZSB0byBiZSB1c2VkIG9uIGV4aXN0aW5nCi0gKiBzeXN0ZW1zICh3aXRoIGEgdHJhZGl0aW9uYWwgQklPUykgYXMgd2VsbCBhcyBvbiBFRkkgc3lzdGVtcy4KLSAqLwotdm9pZCBfX2luaXQgc2V0dXBfYXJjaChjaGFyICoqY21kbGluZV9wKQotewotCXVuc2lnbmVkIGxvbmcgbWF4X2xvd19wZm47Ci0KLQltZW1jcHkoJmJvb3RfY3B1X2RhdGEsICZuZXdfY3B1X2RhdGEsIHNpemVvZihuZXdfY3B1X2RhdGEpKTsKLQlwcmVfc2V0dXBfYXJjaF9ob29rKCk7Ci0JZWFybHlfY3B1X2luaXQoKTsKLQllYXJseV9pb3JlbWFwX2luaXQoKTsKLQotI2lmZGVmIENPTkZJR19FRkkKLQlpZiAoIXN0cm5jbXAoKGNoYXIgKikmYm9vdF9wYXJhbXMuZWZpX2luZm8uZWZpX2xvYWRlcl9zaWduYXR1cmUsCi0JCSAgICAgIkVMMzIiLCA0KSkKLQkJZWZpX2VuYWJsZWQgPSAxOwotI2VuZGlmCi0KLQlST09UX0RFViA9IG9sZF9kZWNvZGVfZGV2KGJvb3RfcGFyYW1zLmhkci5yb290X2Rldik7Ci0Jc2NyZWVuX2luZm8gPSBib290X3BhcmFtcy5zY3JlZW5faW5mbzsKLQllZGlkX2luZm8gPSBib290X3BhcmFtcy5lZGlkX2luZm87Ci0JYXBtX2luZm8uYmlvcyA9IGJvb3RfcGFyYW1zLmFwbV9iaW9zX2luZm87Ci0JaXN0X2luZm8gPSBib290X3BhcmFtcy5pc3RfaW5mbzsKLQlzYXZlZF92aWRlb19tb2RlID0gYm9vdF9wYXJhbXMuaGRyLnZpZF9tb2RlOwotCWlmKCBib290X3BhcmFtcy5zeXNfZGVzY190YWJsZS5sZW5ndGggIT0gMCApIHsKLQkJc2V0X21jYV9idXMoYm9vdF9wYXJhbXMuc3lzX2Rlc2NfdGFibGUudGFibGVbM10gJiAweDIpOwotCQltYWNoaW5lX2lkID0gYm9vdF9wYXJhbXMuc3lzX2Rlc2NfdGFibGUudGFibGVbMF07Ci0JCW1hY2hpbmVfc3VibW9kZWxfaWQgPSBib290X3BhcmFtcy5zeXNfZGVzY190YWJsZS50YWJsZVsxXTsKLQkJQklPU19yZXZpc2lvbiA9IGJvb3RfcGFyYW1zLnN5c19kZXNjX3RhYmxlLnRhYmxlWzJdOwotCX0KLQlib290bG9hZGVyX3R5cGUgPSBib290X3BhcmFtcy5oZHIudHlwZV9vZl9sb2FkZXI7Ci0KLSNpZmRlZiBDT05GSUdfQkxLX0RFVl9SQU0KLQlyZF9pbWFnZV9zdGFydCA9IGJvb3RfcGFyYW1zLmhkci5yYW1fc2l6ZSAmIFJBTURJU0tfSU1BR0VfU1RBUlRfTUFTSzsKLQlyZF9wcm9tcHQgPSAoKGJvb3RfcGFyYW1zLmhkci5yYW1fc2l6ZSAmIFJBTURJU0tfUFJPTVBUX0ZMQUcpICE9IDApOwotCXJkX2RvbG9hZCA9ICgoYm9vdF9wYXJhbXMuaGRyLnJhbV9zaXplICYgUkFNRElTS19MT0FEX0ZMQUcpICE9IDApOwotI2VuZGlmCi0JQVJDSF9TRVRVUAotCi0JcHJpbnRrKEtFUk5fSU5GTyAiQklPUy1wcm92aWRlZCBwaHlzaWNhbCBSQU0gbWFwOlxuIik7Ci0JcHJpbnRfbWVtb3J5X21hcChtZW1vcnlfc2V0dXAoKSk7Ci0KLQljb3B5X2VkZCgpOwotCi0JaWYgKCFib290X3BhcmFtcy5oZHIucm9vdF9mbGFncykKLQkJcm9vdF9tb3VudGZsYWdzICY9IH5NU19SRE9OTFk7Ci0JaW5pdF9tbS5zdGFydF9jb2RlID0gKHVuc2lnbmVkIGxvbmcpIF90ZXh0OwotCWluaXRfbW0uZW5kX2NvZGUgPSAodW5zaWduZWQgbG9uZykgX2V0ZXh0OwotCWluaXRfbW0uZW5kX2RhdGEgPSAodW5zaWduZWQgbG9uZykgX2VkYXRhOwotCWluaXRfbW0uYnJrID0gaW5pdF9wZ190YWJsZXNfZW5kICsgUEFHRV9PRkZTRVQ7Ci0KLQljb2RlX3Jlc291cmNlLnN0YXJ0ID0gdmlydF90b19waHlzKF90ZXh0KTsKLQljb2RlX3Jlc291cmNlLmVuZCA9IHZpcnRfdG9fcGh5cyhfZXRleHQpLTE7Ci0JZGF0YV9yZXNvdXJjZS5zdGFydCA9IHZpcnRfdG9fcGh5cyhfZXRleHQpOwotCWRhdGFfcmVzb3VyY2UuZW5kID0gdmlydF90b19waHlzKF9lZGF0YSktMTsKLQlic3NfcmVzb3VyY2Uuc3RhcnQgPSB2aXJ0X3RvX3BoeXMoJl9fYnNzX3N0YXJ0KTsKLQlic3NfcmVzb3VyY2UuZW5kID0gdmlydF90b19waHlzKCZfX2Jzc19zdG9wKS0xOwotCi0JcGFyc2VfZWFybHlfcGFyYW0oKTsKLQotCWlmICh1c2VyX2RlZmluZWRfbWVtbWFwKSB7Ci0JCXByaW50ayhLRVJOX0lORk8gInVzZXItZGVmaW5lZCBwaHlzaWNhbCBSQU0gbWFwOlxuIik7Ci0JCXByaW50X21lbW9yeV9tYXAoInVzZXIiKTsKLQl9Ci0KLQlzdHJsY3B5KGNvbW1hbmRfbGluZSwgYm9vdF9jb21tYW5kX2xpbmUsIENPTU1BTkRfTElORV9TSVpFKTsKLQkqY21kbGluZV9wID0gY29tbWFuZF9saW5lOwotCi0JaWYgKGVmaV9lbmFibGVkKQotCQllZmlfaW5pdCgpOwotCi0JLyogdXBkYXRlIGU4MjAgZm9yIG1lbW9yeSBub3QgY292ZXJlZCBieSBXQiBNVFJScyAqLwotCXByb3BhZ2F0ZV9lODIwX21hcCgpOwotCW10cnJfYnBfaW5pdCgpOwotCWlmIChtdHJyX3RyaW1fdW5jYWNoZWRfbWVtb3J5KG1heF9wZm4pKQotCQlwcm9wYWdhdGVfZTgyMF9tYXAoKTsKLQotCW1heF9sb3dfcGZuID0gc2V0dXBfbWVtb3J5KCk7Ci0KLSNpZmRlZiBDT05GSUdfS1ZNX0NMT0NLCi0Ja3ZtY2xvY2tfaW5pdCgpOwotI2VuZGlmCi0KLSNpZmRlZiBDT05GSUdfVk1JCi0JLyoKLQkgKiBNdXN0IGJlIGFmdGVyIG1heF9sb3dfcGZuIGlzIGRldGVybWluZWQsIGFuZCBiZWZvcmUga2VybmVsCi0JICogcGFnZXRhYmxlcyBhcmUgc2V0dXAuCi0JICovCi0Jdm1pX2luaXQoKTsKLSNlbmRpZgotCWt2bV9ndWVzdF9pbml0KCk7Ci0KLQkvKgotCSAqIE5PVEU6IGJlZm9yZSB0aGlzIHBvaW50IF9ub2JvZHlfIGlzIGFsbG93ZWQgdG8gYWxsb2NhdGUKLQkgKiBhbnkgbWVtb3J5IHVzaW5nIHRoZSBib290bWVtIGFsbG9jYXRvci4gIEFsdGhvdWdoIHRoZQotCSAqIGFsbG9jYXRvciBpcyBub3cgaW5pdGlhbGlzZWQgb25seSB0aGUgZmlyc3QgOE1iIG9mIHRoZSBrZXJuZWwKLQkgKiB2aXJ0dWFsIGFkZHJlc3Mgc3BhY2UgaGFzIGJlZW4gbWFwcGVkLiAgQWxsIGFsbG9jYXRpb25zIGJlZm9yZQotCSAqIHBhZ2luZ19pbml0KCkgaGFzIGNvbXBsZXRlZCBtdXN0IHVzZSB0aGUgYWxsb2NfYm9vdG1lbV9sb3dfcGFnZXMoKQotCSAqIHZhcmlhbnQgKHdoaWNoIGFsbG9jYXRlcyBETUEnYWJsZSBtZW1vcnkpIGFuZCBjYXJlIG11c3QgYmUgdGFrZW4KLQkgKiBub3QgdG8gZXhjZWVkIHRoZSA4TWIgbGltaXQuCi0JICovCi0KLSNpZmRlZiBDT05GSUdfU01QCi0Jc21wX2FsbG9jX21lbW9yeSgpOyAvKiBBUCBwcm9jZXNzb3IgcmVhbG1vZGUgc3RhY2tzIGluIGxvdyBtZW1vcnkqLwotI2VuZGlmCi0JcGFnaW5nX2luaXQoKTsKLQotCS8qCi0JICogTk9URTogT24geDg2LTMyLCBvbmx5IGZyb20gdGhpcyBwb2ludCBvbiwgZml4bWFwcyBhcmUgcmVhZHkgZm9yIHVzZS4KLQkgKi8KLQotI2lmZGVmIENPTkZJR19QUk9WSURFX09IQ0kxMzk0X0RNQV9JTklUCi0JaWYgKGluaXRfb2hjaTEzOTRfZG1hX2Vhcmx5KQotCQlpbml0X29oY2kxMzk0X2RtYV9vbl9hbGxfY29udHJvbGxlcnMoKTsKLSNlbmRpZgotCi0JcmVtYXBwZWRfcGdkYXRfaW5pdCgpOwotCXNwYXJzZV9pbml0KCk7Ci0Jem9uZV9zaXplc19pbml0KCk7Ci0KLQkvKgotCSAqIE5PVEU6IGF0IHRoaXMgcG9pbnQgdGhlIGJvb3RtZW0gYWxsb2NhdG9yIGlzIGZ1bGx5IGF2YWlsYWJsZS4KLQkgKi8KLQotI2lmZGVmIENPTkZJR19CTEtfREVWX0lOSVRSRAotCXJlbG9jYXRlX2luaXRyZCgpOwotI2VuZGlmCi0KLQlwYXJhdmlydF9wb3N0X2FsbG9jYXRvcl9pbml0KCk7Ci0KLQlkbWlfc2Nhbl9tYWNoaW5lKCk7Ci0KLQlpb19kZWxheV9pbml0KCk7Ci0KLSNpZmRlZiBDT05GSUdfWDg2X1NNUAotCS8qCi0JICogc2V0dXAgdG8gdXNlIHRoZSBlYXJseSBzdGF0aWMgaW5pdCB0YWJsZXMgZHVyaW5nIGtlcm5lbCBzdGFydHVwCi0JICogWDg2X1NNUCB3aWxsIGV4Y2x1ZGUgc3ViLWFyY2hlcyB0aGF0IGRvbid0IGRlYWwgd2VsbCB3aXRoIGl0LgotCSAqLwotCXg4Nl9jcHVfdG9fYXBpY2lkX2Vhcmx5X3B0ciA9ICh2b2lkICopeDg2X2NwdV90b19hcGljaWRfaW5pdDsKLQl4ODZfYmlvc19jcHVfYXBpY2lkX2Vhcmx5X3B0ciA9ICh2b2lkICopeDg2X2Jpb3NfY3B1X2FwaWNpZF9pbml0OwotI2lmZGVmIENPTkZJR19OVU1BCi0JeDg2X2NwdV90b19ub2RlX21hcF9lYXJseV9wdHIgPSAodm9pZCAqKXg4Nl9jcHVfdG9fbm9kZV9tYXBfaW5pdDsKLSNlbmRpZgotI2VuZGlmCi0KLSNpZmRlZiBDT05GSUdfWDg2X0dFTkVSSUNBUkNICi0JZ2VuZXJpY19hcGljX3Byb2JlKCk7Ci0jZW5kaWYKLQotI2lmZGVmIENPTkZJR19BQ1BJCi0JLyoKLQkgKiBQYXJzZSB0aGUgQUNQSSB0YWJsZXMgZm9yIHBvc3NpYmxlIGJvb3QtdGltZSBTTVAgY29uZmlndXJhdGlvbi4KLQkgKi8KLQlhY3BpX2Jvb3RfdGFibGVfaW5pdCgpOwotI2VuZGlmCi0KLQllYXJseV9xdWlya3MoKTsKLQotI2lmZGVmIENPTkZJR19BQ1BJCi0JYWNwaV9ib290X2luaXQoKTsKLQotI2lmIGRlZmluZWQoQ09ORklHX1NNUCkgJiYgZGVmaW5lZChDT05GSUdfWDg2X1BDKQotCWlmIChkZWZfdG9fYmlnc21wKQotCQlwcmludGsoS0VSTl9XQVJOSU5HICJNb3JlIHRoYW4gOCBDUFVzIGRldGVjdGVkIGFuZCAiCi0JCQkiQ09ORklHX1g4Nl9QQyBjYW5ub3QgaGFuZGxlIGl0LlxuVXNlICIKLQkJCSJDT05GSUdfWDg2X0dFTkVSSUNBUkNIIG9yIENPTkZJR19YODZfQklHU01QLlxuIik7Ci0jZW5kaWYKLSNlbmRpZgotI2lmZGVmIENPTkZJR19YODZfTE9DQUxfQVBJQwotCWlmIChzbXBfZm91bmRfY29uZmlnKQotCQlnZXRfc21wX2NvbmZpZygpOwotI2VuZGlmCi0KLQllODIwX3JlZ2lzdGVyX21lbW9yeSgpOwotCWU4MjBfbWFya19ub3NhdmVfcmVnaW9ucygpOwotCi0jaWZkZWYgQ09ORklHX1ZUCi0jaWYgZGVmaW5lZChDT05GSUdfVkdBX0NPTlNPTEUpCi0JaWYgKCFlZmlfZW5hYmxlZCB8fCAoZWZpX21lbV90eXBlKDB4YTAwMDApICE9IEVGSV9DT05WRU5USU9OQUxfTUVNT1JZKSkKLQkJY29uc3dpdGNocCA9ICZ2Z2FfY29uOwotI2VsaWYgZGVmaW5lZChDT05GSUdfRFVNTVlfQ09OU09MRSkKLQljb25zd2l0Y2hwID0gJmR1bW15X2NvbjsKLSNlbmRpZgotI2VuZGlmCi19Ci0KLS8qCi0gKiBSZXF1ZXN0IGFkZHJlc3Mgc3BhY2UgZm9yIGFsbCBzdGFuZGFyZCByZXNvdXJjZXMKLSAqCi0gKiBUaGlzIGlzIGNhbGxlZCBqdXN0IGJlZm9yZSBwY2liaW9zX2luaXQoKSwgd2hpY2ggaXMgYWxzbyBhCi0gKiBzdWJzeXNfaW5pdGNhbGwsIGJ1dCBpcyBsaW5rZWQgaW4gbGF0ZXIgKGluIGFyY2gvaTM4Ni9wY2kvY29tbW9uLmMpLgotICovCi1zdGF0aWMgaW50IF9faW5pdCByZXF1ZXN0X3N0YW5kYXJkX3Jlc291cmNlcyh2b2lkKQotewotCWludCBpOwotCi0JcHJpbnRrKEtFUk5fSU5GTyAiU2V0dGluZyB1cCBzdGFuZGFyZCBQQ0kgcmVzb3VyY2VzXG4iKTsKLQlpbml0X2lvbWVtX3Jlc291cmNlcygmY29kZV9yZXNvdXJjZSwgJmRhdGFfcmVzb3VyY2UsICZic3NfcmVzb3VyY2UpOwotCi0JcmVxdWVzdF9yZXNvdXJjZSgmaW9tZW1fcmVzb3VyY2UsICZ2aWRlb19yYW1fcmVzb3VyY2UpOwotCi0JLyogcmVxdWVzdCBJL08gc3BhY2UgZm9yIGRldmljZXMgdXNlZCBvbiBhbGwgaVszNDVdODYgUENzICovCi0JZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoc3RhbmRhcmRfaW9fcmVzb3VyY2VzKTsgaSsrKQotCQlyZXF1ZXN0X3Jlc291cmNlKCZpb3BvcnRfcmVzb3VyY2UsICZzdGFuZGFyZF9pb19yZXNvdXJjZXNbaV0pOwotCXJldHVybiAwOwotfQotCi1zdWJzeXNfaW5pdGNhbGwocmVxdWVzdF9zdGFuZGFyZF9yZXNvdXJjZXMpOwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL3NldHVwXzY0LmMgYi9hcmNoL3g4Ni9rZXJuZWwvc2V0dXBfNjQuYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmRmZjEyOC4uMDAwMDAwMAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvc2V0dXBfNjQuYworKysgL2Rldi9udWxsCkBAIC0xLDExOTQgKzAsMCBAQAotLyoKLSAqICBDb3B5cmlnaHQgKEMpIDE5OTUgIExpbnVzIFRvcnZhbGRzCi0gKi8KLQotLyoKLSAqIFRoaXMgZmlsZSBoYW5kbGVzIHRoZSBhcmNoaXRlY3R1cmUtZGVwZW5kZW50IHBhcnRzIG9mIGluaXRpYWxpemF0aW9uCi0gKi8KLQotI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+Ci0jaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KLSNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KLSNpbmNsdWRlIDxsaW51eC9tbS5oPgotI2luY2x1ZGUgPGxpbnV4L3N0ZGRlZi5oPgotI2luY2x1ZGUgPGxpbnV4L3VuaXN0ZC5oPgotI2luY2x1ZGUgPGxpbnV4L3B0cmFjZS5oPgotI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KLSNpbmNsdWRlIDxsaW51eC91c2VyLmg+Ci0jaW5jbHVkZSA8bGludXgvc2NyZWVuX2luZm8uaD4KLSNpbmNsdWRlIDxsaW51eC9pb3BvcnQuaD4KLSNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgotI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KLSNpbmNsdWRlIDxsaW51eC9pbml0cmQuaD4KLSNpbmNsdWRlIDxsaW51eC9oaWdobWVtLmg+Ci0jaW5jbHVkZSA8bGludXgvYm9vdG1lbS5oPgotI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgotI2luY2x1ZGUgPGFzbS9wcm9jZXNzb3IuaD4KLSNpbmNsdWRlIDxsaW51eC9jb25zb2xlLmg+Ci0jaW5jbHVkZSA8bGludXgvc2VxX2ZpbGUuaD4KLSNpbmNsdWRlIDxsaW51eC9jcmFzaF9kdW1wLmg+Ci0jaW5jbHVkZSA8bGludXgvcm9vdF9kZXYuaD4KLSNpbmNsdWRlIDxsaW51eC9wY2kuaD4KLSNpbmNsdWRlIDxhc20vcGNpLWRpcmVjdC5oPgotI2luY2x1ZGUgPGxpbnV4L2VmaS5oPgotI2luY2x1ZGUgPGxpbnV4L2FjcGkuaD4KLSNpbmNsdWRlIDxsaW51eC9rYWxsc3ltcy5oPgotI2luY2x1ZGUgPGxpbnV4L2VkZC5oPgotI2luY2x1ZGUgPGxpbnV4L2lzY3NpX2liZnQuaD4KLSNpbmNsdWRlIDxsaW51eC9tbXpvbmUuaD4KLSNpbmNsdWRlIDxsaW51eC9rZXhlYy5oPgotI2luY2x1ZGUgPGxpbnV4L2NwdWZyZXEuaD4KLSNpbmNsdWRlIDxsaW51eC9kbWkuaD4KLSNpbmNsdWRlIDxsaW51eC9kbWEtbWFwcGluZy5oPgotI2luY2x1ZGUgPGxpbnV4L2N0eXBlLmg+Ci0jaW5jbHVkZSA8bGludXgvc29ydC5oPgotI2luY2x1ZGUgPGxpbnV4L3VhY2Nlc3MuaD4KLSNpbmNsdWRlIDxsaW51eC9pbml0X29oY2kxMzk0X2RtYS5oPgotI2luY2x1ZGUgPGxpbnV4L2t2bV9wYXJhLmg+Ci0KLSNpbmNsdWRlIDxhc20vbXRyci5oPgotI2luY2x1ZGUgPGFzbS91YWNjZXNzLmg+Ci0jaW5jbHVkZSA8YXNtL3N5c3RlbS5oPgotI2luY2x1ZGUgPGFzbS92c3lzY2FsbC5oPgotI2luY2x1ZGUgPGFzbS9pby5oPgotI2luY2x1ZGUgPGFzbS9zbXAuaD4KLSNpbmNsdWRlIDxhc20vbXNyLmg+Ci0jaW5jbHVkZSA8YXNtL2Rlc2MuaD4KLSNpbmNsdWRlIDx2aWRlby9lZGlkLmg+Ci0jaW5jbHVkZSA8YXNtL2U4MjAuaD4KLSNpbmNsdWRlIDxhc20vZG1hLmg+Ci0jaW5jbHVkZSA8YXNtL2dhcnQuaD4KLSNpbmNsdWRlIDxhc20vbXBzcGVjLmg+Ci0jaW5jbHVkZSA8YXNtL21tdV9jb250ZXh0Lmg+Ci0jaW5jbHVkZSA8YXNtL3Byb3RvLmg+Ci0jaW5jbHVkZSA8YXNtL3NldHVwLmg+Ci0jaW5jbHVkZSA8YXNtL251bWEuaD4KLSNpbmNsdWRlIDxhc20vc2VjdGlvbnMuaD4KLSNpbmNsdWRlIDxhc20vZG1pLmg+Ci0jaW5jbHVkZSA8YXNtL2NhY2hlZmx1c2guaD4KLSNpbmNsdWRlIDxhc20vbWNlLmg+Ci0jaW5jbHVkZSA8YXNtL2RzLmg+Ci0jaW5jbHVkZSA8YXNtL3RvcG9sb2d5Lmg+Ci0jaW5jbHVkZSA8YXNtL3RyYW1wb2xpbmUuaD4KLSNpbmNsdWRlIDxhc20vcGF0Lmg+Ci0KLSNpbmNsdWRlIDxtYWNoX2FwaWMuaD4KLSNpZmRlZiBDT05GSUdfUEFSQVZJUlQKLSNpbmNsdWRlIDxhc20vcGFyYXZpcnQuaD4KLSNlbHNlCi0jZGVmaW5lIEFSQ0hfU0VUVVAKLSNlbmRpZgotCi0vKgotICogTWFjaGluZSBzZXR1cC4uCi0gKi8KLQotc3RydWN0IGNwdWluZm9feDg2IGJvb3RfY3B1X2RhdGEgX19yZWFkX21vc3RseTsKLUVYUE9SVF9TWU1CT0woYm9vdF9jcHVfZGF0YSk7Ci0KLV9fdTMyIGNsZWFyZWRfY3B1X2NhcHNbTkNBUElOVFNdIF9fY3B1aW5pdGRhdGE7Ci0KLXVuc2lnbmVkIGxvbmcgbW11X2NyNF9mZWF0dXJlczsKLQotLyogQm9vdCBsb2FkZXIgSUQgYXMgYW4gaW50ZWdlciwgZm9yIHRoZSBiZW5lZml0IG9mIHByb2NfZG9pbnR2ZWMgKi8KLWludCBib290bG9hZGVyX3R5cGU7Ci0KLXVuc2lnbmVkIGxvbmcgc2F2ZWRfdmlkZW9fbW9kZTsKLQotaW50IGZvcmNlX213YWl0IF9fY3B1aW5pdGRhdGE7Ci0KLS8qCi0gKiBFYXJseSBETUkgbWVtb3J5Ci0gKi8KLWludCBkbWlfYWxsb2NfaW5kZXg7Ci1jaGFyIGRtaV9hbGxvY19kYXRhW0RNSV9NQVhfREFUQV07Ci0KLS8qCi0gKiBTZXR1cCBvcHRpb25zCi0gKi8KLXN0cnVjdCBzY3JlZW5faW5mbyBzY3JlZW5faW5mbzsKLUVYUE9SVF9TWU1CT0woc2NyZWVuX2luZm8pOwotc3RydWN0IHN5c19kZXNjX3RhYmxlX3N0cnVjdCB7Ci0JdW5zaWduZWQgc2hvcnQgbGVuZ3RoOwotCXVuc2lnbmVkIGNoYXIgdGFibGVbMF07Ci19OwotCi1zdHJ1Y3QgZWRpZF9pbmZvIGVkaWRfaW5mbzsKLUVYUE9SVF9TWU1CT0xfR1BMKGVkaWRfaW5mbyk7Ci0KLWV4dGVybiBpbnQgcm9vdF9tb3VudGZsYWdzOwotCi1jaGFyIF9faW5pdGRhdGEgY29tbWFuZF9saW5lW0NPTU1BTkRfTElORV9TSVpFXTsKLQotc3RhdGljIHN0cnVjdCByZXNvdXJjZSBzdGFuZGFyZF9pb19yZXNvdXJjZXNbXSA9IHsKLQl7IC5uYW1lID0gImRtYTEiLCAuc3RhcnQgPSAweDAwLCAuZW5kID0gMHgxZiwKLQkJLmZsYWdzID0gSU9SRVNPVVJDRV9CVVNZIHwgSU9SRVNPVVJDRV9JTyB9LAotCXsgLm5hbWUgPSAicGljMSIsIC5zdGFydCA9IDB4MjAsIC5lbmQgPSAweDIxLAotCQkuZmxhZ3MgPSBJT1JFU09VUkNFX0JVU1kgfCBJT1JFU09VUkNFX0lPIH0sCi0JeyAubmFtZSA9ICJ0aW1lcjAiLCAuc3RhcnQgPSAweDQwLCAuZW5kID0gMHg0MywKLQkJLmZsYWdzID0gSU9SRVNPVVJDRV9CVVNZIHwgSU9SRVNPVVJDRV9JTyB9LAotCXsgLm5hbWUgPSAidGltZXIxIiwgLnN0YXJ0ID0gMHg1MCwgLmVuZCA9IDB4NTMsCi0JCS5mbGFncyA9IElPUkVTT1VSQ0VfQlVTWSB8IElPUkVTT1VSQ0VfSU8gfSwKLQl7IC5uYW1lID0gImtleWJvYXJkIiwgLnN0YXJ0ID0gMHg2MCwgLmVuZCA9IDB4NjAsCi0JCS5mbGFncyA9IElPUkVTT1VSQ0VfQlVTWSB8IElPUkVTT1VSQ0VfSU8gfSwKLQl7IC5uYW1lID0gImtleWJvYXJkIiwgLnN0YXJ0ID0gMHg2NCwgLmVuZCA9IDB4NjQsCi0JCS5mbGFncyA9IElPUkVTT1VSQ0VfQlVTWSB8IElPUkVTT1VSQ0VfSU8gfSwKLQl7IC5uYW1lID0gImRtYSBwYWdlIHJlZyIsIC5zdGFydCA9IDB4ODAsIC5lbmQgPSAweDhmLAotCQkuZmxhZ3MgPSBJT1JFU09VUkNFX0JVU1kgfCBJT1JFU09VUkNFX0lPIH0sCi0JeyAubmFtZSA9ICJwaWMyIiwgLnN0YXJ0ID0gMHhhMCwgLmVuZCA9IDB4YTEsCi0JCS5mbGFncyA9IElPUkVTT1VSQ0VfQlVTWSB8IElPUkVTT1VSQ0VfSU8gfSwKLQl7IC5uYW1lID0gImRtYTIiLCAuc3RhcnQgPSAweGMwLCAuZW5kID0gMHhkZiwKLQkJLmZsYWdzID0gSU9SRVNPVVJDRV9CVVNZIHwgSU9SRVNPVVJDRV9JTyB9LAotCXsgLm5hbWUgPSAiZnB1IiwgLnN0YXJ0ID0gMHhmMCwgLmVuZCA9IDB4ZmYsCi0JCS5mbGFncyA9IElPUkVTT1VSQ0VfQlVTWSB8IElPUkVTT1VSQ0VfSU8gfQotfTsKLQotI2RlZmluZSBJT1JFU09VUkNFX1JBTSAoSU9SRVNPVVJDRV9CVVNZIHwgSU9SRVNPVVJDRV9NRU0pCi0KLXN0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgZGF0YV9yZXNvdXJjZSA9IHsKLQkubmFtZSA9ICJLZXJuZWwgZGF0YSIsCi0JLnN0YXJ0ID0gMCwKLQkuZW5kID0gMCwKLQkuZmxhZ3MgPSBJT1JFU09VUkNFX1JBTSwKLX07Ci1zdGF0aWMgc3RydWN0IHJlc291cmNlIGNvZGVfcmVzb3VyY2UgPSB7Ci0JLm5hbWUgPSAiS2VybmVsIGNvZGUiLAotCS5zdGFydCA9IDAsCi0JLmVuZCA9IDAsCi0JLmZsYWdzID0gSU9SRVNPVVJDRV9SQU0sCi19Owotc3RhdGljIHN0cnVjdCByZXNvdXJjZSBic3NfcmVzb3VyY2UgPSB7Ci0JLm5hbWUgPSAiS2VybmVsIGJzcyIsCi0JLnN0YXJ0ID0gMCwKLQkuZW5kID0gMCwKLQkuZmxhZ3MgPSBJT1JFU09VUkNFX1JBTSwKLX07Ci0KLXN0YXRpYyB2b2lkIF9fY3B1aW5pdCBlYXJseV9pZGVudGlmeV9jcHUoc3RydWN0IGNwdWluZm9feDg2ICpjKTsKLQotI2lmZGVmIENPTkZJR19QUk9DX1ZNQ09SRQotLyogZWxmY29yZWhkcj0gc3BlY2lmaWVzIHRoZSBsb2NhdGlvbiBvZiBlbGYgY29yZSBoZWFkZXIKLSAqIHN0b3JlZCBieSB0aGUgY3Jhc2hlZCBrZXJuZWwuIFRoaXMgb3B0aW9uIHdpbGwgYmUgcGFzc2VkCi0gKiBieSBrZXhlYyBsb2FkZXIgdG8gdGhlIGNhcHR1cmUga2VybmVsLgotICovCi1zdGF0aWMgaW50IF9faW5pdCBzZXR1cF9lbGZjb3JlaGRyKGNoYXIgKmFyZykKLXsKLQljaGFyICplbmQ7Ci0JaWYgKCFhcmcpCi0JCXJldHVybiAtRUlOVkFMOwotCWVsZmNvcmVoZHJfYWRkciA9IG1lbXBhcnNlKGFyZywgJmVuZCk7Ci0JcmV0dXJuIGVuZCA+IGFyZyA/IDAgOiAtRUlOVkFMOwotfQotZWFybHlfcGFyYW0oImVsZmNvcmVoZHIiLCBzZXR1cF9lbGZjb3JlaGRyKTsKLSNlbmRpZgotCi0jaWZuZGVmIENPTkZJR19OVU1BCi1zdGF0aWMgdm9pZCBfX2luaXQKLWNvbnRpZ19pbml0bWVtX2luaXQodW5zaWduZWQgbG9uZyBzdGFydF9wZm4sIHVuc2lnbmVkIGxvbmcgZW5kX3BmbikKLXsKLQl1bnNpZ25lZCBsb25nIGJvb3RtYXBfc2l6ZSwgYm9vdG1hcDsKLQotCWJvb3RtYXBfc2l6ZSA9IGJvb3RtZW1fYm9vdG1hcF9wYWdlcyhlbmRfcGZuKTw8UEFHRV9TSElGVDsKLQlib290bWFwID0gZmluZF9lODIwX2FyZWEoMCwgZW5kX3Bmbjw8UEFHRV9TSElGVCwgYm9vdG1hcF9zaXplLAotCQkJCSBQQUdFX1NJWkUpOwotCWlmIChib290bWFwID09IC0xTCkKLQkJcGFuaWMoIkNhbm5vdCBmaW5kIGJvb3RtZW0gbWFwIG9mIHNpemUgJWxkXG4iLCBib290bWFwX3NpemUpOwotCWJvb3RtYXBfc2l6ZSA9IGluaXRfYm9vdG1lbShib290bWFwID4+IFBBR0VfU0hJRlQsIGVuZF9wZm4pOwotCWU4MjBfcmVnaXN0ZXJfYWN0aXZlX3JlZ2lvbnMoMCwgc3RhcnRfcGZuLCBlbmRfcGZuKTsKLQlmcmVlX2Jvb3RtZW1fd2l0aF9hY3RpdmVfcmVnaW9ucygwLCBlbmRfcGZuKTsKLQllYXJseV9yZXNfdG9fYm9vdG1lbSgwLCBlbmRfcGZuPDxQQUdFX1NISUZUKTsKLQlyZXNlcnZlX2Jvb3RtZW0oYm9vdG1hcCwgYm9vdG1hcF9zaXplLCBCT09UTUVNX0RFRkFVTFQpOwotfQotI2VuZGlmCi0KLSNpZiBkZWZpbmVkKENPTkZJR19FREQpIHx8IGRlZmluZWQoQ09ORklHX0VERF9NT0RVTEUpCi1zdHJ1Y3QgZWRkIGVkZDsKLSNpZmRlZiBDT05GSUdfRUREX01PRFVMRQotRVhQT1JUX1NZTUJPTChlZGQpOwotI2VuZGlmCi0vKioKLSAqIGNvcHlfZWRkKCkgLSBDb3B5IHRoZSBCSU9TIEVERCBpbmZvcm1hdGlvbgotICogICAgICAgICAgICAgIGZyb20gYm9vdF9wYXJhbXMgaW50byBhIHNhZmUgcGxhY2UuCi0gKgotICovCi1zdGF0aWMgaW5saW5lIHZvaWQgY29weV9lZGQodm9pZCkKLXsKLSAgICAgbWVtY3B5KGVkZC5tYnJfc2lnbmF0dXJlLCBib290X3BhcmFtcy5lZGRfbWJyX3NpZ19idWZmZXIsCi0JICAgIHNpemVvZihlZGQubWJyX3NpZ25hdHVyZSkpOwotICAgICBtZW1jcHkoZWRkLmVkZF9pbmZvLCBib290X3BhcmFtcy5lZGRidWYsIHNpemVvZihlZGQuZWRkX2luZm8pKTsKLSAgICAgZWRkLm1icl9zaWduYXR1cmVfbnIgPSBib290X3BhcmFtcy5lZGRfbWJyX3NpZ19idWZfZW50cmllczsKLSAgICAgZWRkLmVkZF9pbmZvX25yID0gYm9vdF9wYXJhbXMuZWRkYnVmX2VudHJpZXM7Ci19Ci0jZWxzZQotc3RhdGljIGlubGluZSB2b2lkIGNvcHlfZWRkKHZvaWQpCi17Ci19Ci0jZW5kaWYKLQotI2lmZGVmIENPTkZJR19LRVhFQwotc3RhdGljIHZvaWQgX19pbml0IHJlc2VydmVfY3Jhc2hrZXJuZWwodm9pZCkKLXsKLQl1bnNpZ25lZCBsb25nIGxvbmcgdG90YWxfbWVtOwotCXVuc2lnbmVkIGxvbmcgbG9uZyBjcmFzaF9zaXplLCBjcmFzaF9iYXNlOwotCWludCByZXQ7Ci0KLQl0b3RhbF9tZW0gPSAoKHVuc2lnbmVkIGxvbmcgbG9uZyltYXhfbG93X3BmbiAtIG1pbl9sb3dfcGZuKSA8PCBQQUdFX1NISUZUOwotCi0JcmV0ID0gcGFyc2VfY3Jhc2hrZXJuZWwoYm9vdF9jb21tYW5kX2xpbmUsIHRvdGFsX21lbSwKLQkJCSZjcmFzaF9zaXplLCAmY3Jhc2hfYmFzZSk7Ci0JaWYgKHJldCA9PSAwICYmIGNyYXNoX3NpemUpIHsKLQkJaWYgKGNyYXNoX2Jhc2UgPD0gMCkgewotCQkJcHJpbnRrKEtFUk5fSU5GTyAiY3Jhc2hrZXJuZWwgcmVzZXJ2YXRpb24gZmFpbGVkIC0gIgotCQkJCQkieW91IGhhdmUgdG8gc3BlY2lmeSBhIGJhc2UgYWRkcmVzc1xuIik7Ci0JCQlyZXR1cm47Ci0JCX0KLQotCQlpZiAocmVzZXJ2ZV9ib290bWVtKGNyYXNoX2Jhc2UsIGNyYXNoX3NpemUsCi0JCQkJCUJPT1RNRU1fRVhDTFVTSVZFKSA8IDApIHsKLQkJCXByaW50ayhLRVJOX0lORk8gImNyYXNoa2VybmVsIHJlc2VydmF0aW9uIGZhaWxlZCAtICIKLQkJCQkJIm1lbW9yeSBpcyBpbiB1c2VcbiIpOwotCQkJcmV0dXJuOwotCQl9Ci0KLQkJcHJpbnRrKEtFUk5fSU5GTyAiUmVzZXJ2aW5nICVsZE1CIG9mIG1lbW9yeSBhdCAlbGRNQiAiCi0JCQkJImZvciBjcmFzaGtlcm5lbCAoU3lzdGVtIFJBTTogJWxkTUIpXG4iLAotCQkJCSh1bnNpZ25lZCBsb25nKShjcmFzaF9zaXplID4+IDIwKSwKLQkJCQkodW5zaWduZWQgbG9uZykoY3Jhc2hfYmFzZSA+PiAyMCksCi0JCQkJKHVuc2lnbmVkIGxvbmcpKHRvdGFsX21lbSA+PiAyMCkpOwotCQljcmFzaGtfcmVzLnN0YXJ0ID0gY3Jhc2hfYmFzZTsKLQkJY3Jhc2hrX3Jlcy5lbmQgICA9IGNyYXNoX2Jhc2UgKyBjcmFzaF9zaXplIC0gMTsKLQkJaW5zZXJ0X3Jlc291cmNlKCZpb21lbV9yZXNvdXJjZSwgJmNyYXNoa19yZXMpOwotCX0KLX0KLSNlbHNlCi1zdGF0aWMgaW5saW5lIHZvaWQgX19pbml0IHJlc2VydmVfY3Jhc2hrZXJuZWwodm9pZCkKLXt9Ci0jZW5kaWYKLQotLyogT3ZlcnJpZGRlbiBpbiBwYXJhdmlydC5jIGlmIENPTkZJR19QQVJBVklSVCAqLwotdm9pZCBfX2F0dHJpYnV0ZV9fKCh3ZWFrKSkgX19pbml0IG1lbW9yeV9zZXR1cCh2b2lkKQotewotICAgICAgIG1hY2hpbmVfc3BlY2lmaWNfbWVtb3J5X3NldHVwKCk7Ci19Ci0KLXN0YXRpYyB2b2lkIF9faW5pdCBwYXJzZV9zZXR1cF9kYXRhKHZvaWQpCi17Ci0Jc3RydWN0IHNldHVwX2RhdGEgKmRhdGE7Ci0JdW5zaWduZWQgbG9uZyBwYV9kYXRhOwotCi0JaWYgKGJvb3RfcGFyYW1zLmhkci52ZXJzaW9uIDwgMHgwMjA5KQotCQlyZXR1cm47Ci0JcGFfZGF0YSA9IGJvb3RfcGFyYW1zLmhkci5zZXR1cF9kYXRhOwotCXdoaWxlIChwYV9kYXRhKSB7Ci0JCWRhdGEgPSBlYXJseV9pb3JlbWFwKHBhX2RhdGEsIFBBR0VfU0laRSk7Ci0JCXN3aXRjaCAoZGF0YS0+dHlwZSkgewotCQlkZWZhdWx0OgotCQkJYnJlYWs7Ci0JCX0KLSNpZm5kZWYgQ09ORklHX0RFQlVHX0JPT1RfUEFSQU1TCi0JCWZyZWVfZWFybHkocGFfZGF0YSwgcGFfZGF0YStzaXplb2YoKmRhdGEpK2RhdGEtPmxlbik7Ci0jZW5kaWYKLQkJcGFfZGF0YSA9IGRhdGEtPm5leHQ7Ci0JCWVhcmx5X2lvdW5tYXAoZGF0YSwgUEFHRV9TSVpFKTsKLQl9Ci19Ci0KLSNpZmRlZiBDT05GSUdfUENJX01NQ09ORklHCi1leHRlcm4gdm9pZCBfX2NwdWluaXQgZmFtMTBoX2NoZWNrX2VuYWJsZV9tbWNmZyh2b2lkKTsKLWV4dGVybiB2b2lkIF9faW5pdCBjaGVja19lbmFibGVfYW1kX21tY29uZl9kbWkodm9pZCk7Ci0jZWxzZQotdm9pZCBfX2NwdWluaXQgZmFtMTBoX2NoZWNrX2VuYWJsZV9tbWNmZyh2b2lkKQotewotfQotdm9pZCBfX2luaXQgY2hlY2tfZW5hYmxlX2FtZF9tbWNvbmZfZG1pKHZvaWQpCi17Ci19Ci0jZW5kaWYKLQotLyoKLSAqIHNldHVwX2FyY2ggLSBhcmNoaXRlY3R1cmUtc3BlY2lmaWMgYm9vdC10aW1lIGluaXRpYWxpemF0aW9ucwotICoKLSAqIE5vdGU6IE9uIHg4Nl82NCwgZml4bWFwcyBhcmUgcmVhZHkgZm9yIHVzZSBldmVuIGJlZm9yZSB0aGlzIGlzIGNhbGxlZC4KLSAqLwotdm9pZCBfX2luaXQgc2V0dXBfYXJjaChjaGFyICoqY21kbGluZV9wKQotewotCXVuc2lnbmVkIGk7Ci0KLQlwcmludGsoS0VSTl9JTkZPICJDb21tYW5kIGxpbmU6ICVzXG4iLCBib290X2NvbW1hbmRfbGluZSk7Ci0KLQlST09UX0RFViA9IG9sZF9kZWNvZGVfZGV2KGJvb3RfcGFyYW1zLmhkci5yb290X2Rldik7Ci0Jc2NyZWVuX2luZm8gPSBib290X3BhcmFtcy5zY3JlZW5faW5mbzsKLQllZGlkX2luZm8gPSBib290X3BhcmFtcy5lZGlkX2luZm87Ci0Jc2F2ZWRfdmlkZW9fbW9kZSA9IGJvb3RfcGFyYW1zLmhkci52aWRfbW9kZTsKLQlib290bG9hZGVyX3R5cGUgPSBib290X3BhcmFtcy5oZHIudHlwZV9vZl9sb2FkZXI7Ci0KLSNpZmRlZiBDT05GSUdfQkxLX0RFVl9SQU0KLQlyZF9pbWFnZV9zdGFydCA9IGJvb3RfcGFyYW1zLmhkci5yYW1fc2l6ZSAmIFJBTURJU0tfSU1BR0VfU1RBUlRfTUFTSzsKLQlyZF9wcm9tcHQgPSAoKGJvb3RfcGFyYW1zLmhkci5yYW1fc2l6ZSAmIFJBTURJU0tfUFJPTVBUX0ZMQUcpICE9IDApOwotCXJkX2RvbG9hZCA9ICgoYm9vdF9wYXJhbXMuaGRyLnJhbV9zaXplICYgUkFNRElTS19MT0FEX0ZMQUcpICE9IDApOwotI2VuZGlmCi0jaWZkZWYgQ09ORklHX0VGSQotCWlmICghc3RybmNtcCgoY2hhciAqKSZib290X3BhcmFtcy5lZmlfaW5mby5lZmlfbG9hZGVyX3NpZ25hdHVyZSwKLQkJICAgICAiRUw2NCIsIDQpKQotCQllZmlfZW5hYmxlZCA9IDE7Ci0jZW5kaWYKLQotCUFSQ0hfU0VUVVAKLQotCW1lbW9yeV9zZXR1cCgpOwotCWNvcHlfZWRkKCk7Ci0KLQlpZiAoIWJvb3RfcGFyYW1zLmhkci5yb290X2ZsYWdzKQotCQlyb290X21vdW50ZmxhZ3MgJj0gfk1TX1JET05MWTsKLQlpbml0X21tLnN0YXJ0X2NvZGUgPSAodW5zaWduZWQgbG9uZykgJl90ZXh0OwotCWluaXRfbW0uZW5kX2NvZGUgPSAodW5zaWduZWQgbG9uZykgJl9ldGV4dDsKLQlpbml0X21tLmVuZF9kYXRhID0gKHVuc2lnbmVkIGxvbmcpICZfZWRhdGE7Ci0JaW5pdF9tbS5icmsgPSAodW5zaWduZWQgbG9uZykgJl9lbmQ7Ci0KLQljb2RlX3Jlc291cmNlLnN0YXJ0ID0gdmlydF90b19waHlzKCZfdGV4dCk7Ci0JY29kZV9yZXNvdXJjZS5lbmQgPSB2aXJ0X3RvX3BoeXMoJl9ldGV4dCktMTsKLQlkYXRhX3Jlc291cmNlLnN0YXJ0ID0gdmlydF90b19waHlzKCZfZXRleHQpOwotCWRhdGFfcmVzb3VyY2UuZW5kID0gdmlydF90b19waHlzKCZfZWRhdGEpLTE7Ci0JYnNzX3Jlc291cmNlLnN0YXJ0ID0gdmlydF90b19waHlzKCZfX2Jzc19zdGFydCk7Ci0JYnNzX3Jlc291cmNlLmVuZCA9IHZpcnRfdG9fcGh5cygmX19ic3Nfc3RvcCktMTsKLQotCWVhcmx5X2lkZW50aWZ5X2NwdSgmYm9vdF9jcHVfZGF0YSk7Ci0KLQlzdHJsY3B5KGNvbW1hbmRfbGluZSwgYm9vdF9jb21tYW5kX2xpbmUsIENPTU1BTkRfTElORV9TSVpFKTsKLQkqY21kbGluZV9wID0gY29tbWFuZF9saW5lOwotCi0JcGFyc2Vfc2V0dXBfZGF0YSgpOwotCi0JcGFyc2VfZWFybHlfcGFyYW0oKTsKLQotI2lmZGVmIENPTkZJR19QUk9WSURFX09IQ0kxMzk0X0RNQV9JTklUCi0JaWYgKGluaXRfb2hjaTEzOTRfZG1hX2Vhcmx5KQotCQlpbml0X29oY2kxMzk0X2RtYV9vbl9hbGxfY29udHJvbGxlcnMoKTsKLSNlbmRpZgotCi0JZmluaXNoX2U4MjBfcGFyc2luZygpOwotCi0JLyogYWZ0ZXIgcGFyc2VfZWFybHlfcGFyYW0sIHNvIGNvdWxkIGRlYnVnIGl0ICovCi0JaW5zZXJ0X3Jlc291cmNlKCZpb21lbV9yZXNvdXJjZSwgJmNvZGVfcmVzb3VyY2UpOwotCWluc2VydF9yZXNvdXJjZSgmaW9tZW1fcmVzb3VyY2UsICZkYXRhX3Jlc291cmNlKTsKLQlpbnNlcnRfcmVzb3VyY2UoJmlvbWVtX3Jlc291cmNlLCAmYnNzX3Jlc291cmNlKTsKLQotCWVhcmx5X2dhcnRfaW9tbXVfY2hlY2soKTsKLQotCWU4MjBfcmVnaXN0ZXJfYWN0aXZlX3JlZ2lvbnMoMCwgMCwgLTFVTCk7Ci0JLyoKLQkgKiBwYXJ0aWFsbHkgdXNlZCBwYWdlcyBhcmUgbm90IHVzYWJsZSAtIHRodXMKLQkgKiB3ZSBhcmUgcm91bmRpbmcgdXB3YXJkczoKLQkgKi8KLQllbmRfcGZuID0gZTgyMF9lbmRfb2ZfcmFtKCk7Ci0JLyogdXBkYXRlIGU4MjAgZm9yIG1lbW9yeSBub3QgY292ZXJlZCBieSBXQiBNVFJScyAqLwotCW10cnJfYnBfaW5pdCgpOwotCWlmIChtdHJyX3RyaW1fdW5jYWNoZWRfbWVtb3J5KGVuZF9wZm4pKSB7Ci0JCWU4MjBfcmVnaXN0ZXJfYWN0aXZlX3JlZ2lvbnMoMCwgMCwgLTFVTCk7Ci0JCWVuZF9wZm4gPSBlODIwX2VuZF9vZl9yYW0oKTsKLQl9Ci0KLQludW1fcGh5c3BhZ2VzID0gZW5kX3BmbjsKLQotCWNoZWNrX2VmZXIoKTsKLQotCW1heF9wZm5fbWFwcGVkID0gaW5pdF9tZW1vcnlfbWFwcGluZygwLCAobWF4X3Bmbl9tYXBwZWQgPDwgUEFHRV9TSElGVCkpOwotCWlmIChlZmlfZW5hYmxlZCkKLQkJZWZpX2luaXQoKTsKLQotCXZzbXBfaW5pdCgpOwotCi0JZG1pX3NjYW5fbWFjaGluZSgpOwotCi0JaW9fZGVsYXlfaW5pdCgpOwotCi0jaWZkZWYgQ09ORklHX0tWTV9DTE9DSwotCWt2bWNsb2NrX2luaXQoKTsKLSNlbmRpZgotCi0jaWZkZWYgQ09ORklHX1NNUAotCS8qIHNldHVwIHRvIHVzZSB0aGUgZWFybHkgc3RhdGljIGluaXQgdGFibGVzIGR1cmluZyBrZXJuZWwgc3RhcnR1cCAqLwotCXg4Nl9jcHVfdG9fYXBpY2lkX2Vhcmx5X3B0ciA9ICh2b2lkICopeDg2X2NwdV90b19hcGljaWRfaW5pdDsKLQl4ODZfYmlvc19jcHVfYXBpY2lkX2Vhcmx5X3B0ciA9ICh2b2lkICopeDg2X2Jpb3NfY3B1X2FwaWNpZF9pbml0OwotI2lmZGVmIENPTkZJR19OVU1BCi0JeDg2X2NwdV90b19ub2RlX21hcF9lYXJseV9wdHIgPSAodm9pZCAqKXg4Nl9jcHVfdG9fbm9kZV9tYXBfaW5pdDsKLSNlbmRpZgotI2VuZGlmCi0KLSNpZmRlZiBDT05GSUdfQUNQSQotCS8qCi0JICogSW5pdGlhbGl6ZSB0aGUgQUNQSSBib290LXRpbWUgdGFibGUgcGFyc2VyIChnZXRzIHRoZSBSU0RQIGFuZCBTRFQpLgotCSAqIENhbGwgdGhpcyBlYXJseSBmb3IgU1JBVCBub2RlIHNldHVwLgotCSAqLwotCWFjcGlfYm9vdF90YWJsZV9pbml0KCk7Ci0jZW5kaWYKLQotCS8qIEhvdyBtYW55IGVuZC1vZi1tZW1vcnkgdmFyaWFibGVzIHlvdSBoYXZlLCBncmFuZG1hISAqLwotCW1heF9sb3dfcGZuID0gZW5kX3BmbjsKLQltYXhfcGZuID0gZW5kX3BmbjsKLQloaWdoX21lbW9yeSA9ICh2b2lkICopX192YShlbmRfcGZuICogUEFHRV9TSVpFIC0gMSkgKyAxOwotCi0JLyogUmVtb3ZlIGFjdGl2ZSByYW5nZXMgc28gcmVkaXNjb3Zlcnkgd2l0aCBOVU1BLWF3YXJlbmVzcyBoYXBwZW5zICovCi0JcmVtb3ZlX2FsbF9hY3RpdmVfcmFuZ2VzKCk7Ci0KLSNpZmRlZiBDT05GSUdfQUNQSV9OVU1BCi0JLyoKLQkgKiBQYXJzZSBTUkFUIHRvIGRpc2NvdmVyIG5vZGVzLgotCSAqLwotCWFjcGlfbnVtYV9pbml0KCk7Ci0jZW5kaWYKLQotI2lmZGVmIENPTkZJR19OVU1BCi0JbnVtYV9pbml0bWVtX2luaXQoMCwgZW5kX3Bmbik7Ci0jZWxzZQotCWNvbnRpZ19pbml0bWVtX2luaXQoMCwgZW5kX3Bmbik7Ci0jZW5kaWYKLQotCWRtYTMyX3Jlc2VydmVfYm9vdG1lbSgpOwotCi0jaWZkZWYgQ09ORklHX0FDUElfU0xFRVAKLQkvKgotCSAqIFJlc2VydmUgbG93IG1lbW9yeSByZWdpb24gZm9yIHNsZWVwIHN1cHBvcnQuCi0JICovCi0gICAgICAgYWNwaV9yZXNlcnZlX2Jvb3RtZW0oKTsKLSNlbmRpZgotCi0JaWYgKGVmaV9lbmFibGVkKQotCQllZmlfcmVzZXJ2ZV9ib290bWVtKCk7Ci0KLSAgICAgICAvKgotCSogRmluZCBhbmQgcmVzZXJ2ZSBwb3NzaWJsZSBib290LXRpbWUgU01QIGNvbmZpZ3VyYXRpb246Ci0JKi8KLQlmaW5kX3NtcF9jb25maWcoKTsKLSNpZmRlZiBDT05GSUdfQkxLX0RFVl9JTklUUkQKLQlpZiAoYm9vdF9wYXJhbXMuaGRyLnR5cGVfb2ZfbG9hZGVyICYmIGJvb3RfcGFyYW1zLmhkci5yYW1kaXNrX2ltYWdlKSB7Ci0JCXVuc2lnbmVkIGxvbmcgcmFtZGlza19pbWFnZSA9IGJvb3RfcGFyYW1zLmhkci5yYW1kaXNrX2ltYWdlOwotCQl1bnNpZ25lZCBsb25nIHJhbWRpc2tfc2l6ZSAgPSBib290X3BhcmFtcy5oZHIucmFtZGlza19zaXplOwotCQl1bnNpZ25lZCBsb25nIHJhbWRpc2tfZW5kICAgPSByYW1kaXNrX2ltYWdlICsgcmFtZGlza19zaXplOwotCQl1bnNpZ25lZCBsb25nIGVuZF9vZl9tZW0gICAgPSBlbmRfcGZuIDw8IFBBR0VfU0hJRlQ7Ci0KLQkJaWYgKHJhbWRpc2tfZW5kIDw9IGVuZF9vZl9tZW0pIHsKLQkJCS8qCi0JCQkgKiBkb24ndCBuZWVkIHRvIHJlc2VydmUgYWdhaW4sIGFscmVhZHkgcmVzZXJ2ZWQgZWFybHkKLQkJCSAqIGluIHg4Nl82NF9zdGFydF9rZXJuZWwsIGFuZCBlYXJseV9yZXNfdG9fYm9vdG1lbQotCQkJICogY29udmVydCB0aGF0IHRvIHJlc2VydmVkIGluIGJvb3RtZW0KLQkJCSAqLwotCQkJaW5pdHJkX3N0YXJ0ID0gcmFtZGlza19pbWFnZSArIFBBR0VfT0ZGU0VUOwotCQkJaW5pdHJkX2VuZCA9IGluaXRyZF9zdGFydCtyYW1kaXNrX3NpemU7Ci0JCX0gZWxzZSB7Ci0JCQlmcmVlX2Jvb3RtZW0ocmFtZGlza19pbWFnZSwgcmFtZGlza19zaXplKTsKLQkJCXByaW50ayhLRVJOX0VSUiAiaW5pdHJkIGV4dGVuZHMgYmV5b25kIGVuZCBvZiBtZW1vcnkgIgotCQkJICAgICAgICIoMHglMDhseCA+IDB4JTA4bHgpXG5kaXNhYmxpbmcgaW5pdHJkXG4iLAotCQkJICAgICAgIHJhbWRpc2tfZW5kLCBlbmRfb2ZfbWVtKTsKLQkJCWluaXRyZF9zdGFydCA9IDA7Ci0JCX0KLQl9Ci0jZW5kaWYKLQlyZXNlcnZlX2NyYXNoa2VybmVsKCk7Ci0KLQlyZXNlcnZlX2liZnRfcmVnaW9uKCk7Ci0KLQlwYWdpbmdfaW5pdCgpOwotCW1hcF92c3lzY2FsbCgpOwotCi0JZWFybHlfcXVpcmtzKCk7Ci0KLSNpZmRlZiBDT05GSUdfQUNQSQotCS8qCi0JICogUmVhZCBBUElDIGFuZCBzb21lIG90aGVyIGVhcmx5IGluZm9ybWF0aW9uIGZyb20gQUNQSSB0YWJsZXMuCi0JICovCi0JYWNwaV9ib290X2luaXQoKTsKLSNlbmRpZgotCi0JaW5pdF9jcHVfdG9fbm9kZSgpOwotCi0JLyoKLQkgKiBnZXQgYm9vdC10aW1lIFNNUCBjb25maWd1cmF0aW9uOgotCSAqLwotCWlmIChzbXBfZm91bmRfY29uZmlnKQotCQlnZXRfc21wX2NvbmZpZygpOwotCWluaXRfYXBpY19tYXBwaW5ncygpOwotCWlvYXBpY19pbml0X21hcHBpbmdzKCk7Ci0KLQlrdm1fZ3Vlc3RfaW5pdCgpOwotCi0JLyoKLQkgKiBXZSB0cnVzdCBlODIwIGNvbXBsZXRlbHkuIE5vIGV4cGxpY2l0IFJPTSBwcm9iaW5nIGluIG1lbW9yeS4KLQkgKi8KLQllODIwX3Jlc2VydmVfcmVzb3VyY2VzKCk7Ci0JZTgyMF9tYXJrX25vc2F2ZV9yZWdpb25zKCk7Ci0KLQkvKiByZXF1ZXN0IEkvTyBzcGFjZSBmb3IgZGV2aWNlcyB1c2VkIG9uIGFsbCBpWzM0NV04NiBQQ3MgKi8KLQlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShzdGFuZGFyZF9pb19yZXNvdXJjZXMpOyBpKyspCi0JCXJlcXVlc3RfcmVzb3VyY2UoJmlvcG9ydF9yZXNvdXJjZSwgJnN0YW5kYXJkX2lvX3Jlc291cmNlc1tpXSk7Ci0KLQllODIwX3NldHVwX2dhcCgpOwotCi0jaWZkZWYgQ09ORklHX1ZUCi0jaWYgZGVmaW5lZChDT05GSUdfVkdBX0NPTlNPTEUpCi0JaWYgKCFlZmlfZW5hYmxlZCB8fCAoZWZpX21lbV90eXBlKDB4YTAwMDApICE9IEVGSV9DT05WRU5USU9OQUxfTUVNT1JZKSkKLQkJY29uc3dpdGNocCA9ICZ2Z2FfY29uOwotI2VsaWYgZGVmaW5lZChDT05GSUdfRFVNTVlfQ09OU09MRSkKLQljb25zd2l0Y2hwID0gJmR1bW15X2NvbjsKLSNlbmRpZgotI2VuZGlmCi0KLQkvKiBkbyB0aGlzIGJlZm9yZSBpZGVudGlmeV9jcHUgZm9yIGJvb3QgY3B1ICovCi0JY2hlY2tfZW5hYmxlX2FtZF9tbWNvbmZfZG1pKCk7Ci19Ci0KLXN0YXRpYyBpbnQgX19jcHVpbml0IGdldF9tb2RlbF9uYW1lKHN0cnVjdCBjcHVpbmZvX3g4NiAqYykKLXsKLQl1bnNpZ25lZCBpbnQgKnY7Ci0KLQlpZiAoYy0+ZXh0ZW5kZWRfY3B1aWRfbGV2ZWwgPCAweDgwMDAwMDA0KQotCQlyZXR1cm4gMDsKLQotCXYgPSAodW5zaWduZWQgaW50ICopIGMtPng4Nl9tb2RlbF9pZDsKLQljcHVpZCgweDgwMDAwMDAyLCAmdlswXSwgJnZbMV0sICZ2WzJdLCAmdlszXSk7Ci0JY3B1aWQoMHg4MDAwMDAwMywgJnZbNF0sICZ2WzVdLCAmdls2XSwgJnZbN10pOwotCWNwdWlkKDB4ODAwMDAwMDQsICZ2WzhdLCAmdls5XSwgJnZbMTBdLCAmdlsxMV0pOwotCWMtPng4Nl9tb2RlbF9pZFs0OF0gPSAwOwotCXJldHVybiAxOwotfQotCi0KLXN0YXRpYyB2b2lkIF9fY3B1aW5pdCBkaXNwbGF5X2NhY2hlaW5mbyhzdHJ1Y3QgY3B1aW5mb194ODYgKmMpCi17Ci0JdW5zaWduZWQgaW50IG4sIGR1bW15LCBlYXgsIGVieCwgZWN4LCBlZHg7Ci0KLQluID0gYy0+ZXh0ZW5kZWRfY3B1aWRfbGV2ZWw7Ci0KLQlpZiAobiA+PSAweDgwMDAwMDA1KSB7Ci0JCWNwdWlkKDB4ODAwMDAwMDUsICZkdW1teSwgJmVieCwgJmVjeCwgJmVkeCk7Ci0JCXByaW50ayhLRVJOX0lORk8gIkNQVTogTDEgSSBDYWNoZTogJWRLICglZCBieXRlcy9saW5lKSwgIgotCQkgICAgICAgIkQgY2FjaGUgJWRLICglZCBieXRlcy9saW5lKVxuIiwKLQkJICAgICAgIGVkeD4+MjQsIGVkeCYweEZGLCBlY3g+PjI0LCBlY3gmMHhGRik7Ci0JCWMtPng4Nl9jYWNoZV9zaXplID0gKGVjeD4+MjQpICsgKGVkeD4+MjQpOwotCQkvKiBPbiBLOCBMMSBUTEIgaXMgaW5jbHVzaXZlLCBzbyBkb24ndCBjb3VudCBpdCAqLwotCQljLT54ODZfdGxic2l6ZSA9IDA7Ci0JfQotCi0JaWYgKG4gPj0gMHg4MDAwMDAwNikgewotCQljcHVpZCgweDgwMDAwMDA2LCAmZHVtbXksICZlYngsICZlY3gsICZlZHgpOwotCQllY3ggPSBjcHVpZF9lY3goMHg4MDAwMDAwNik7Ci0JCWMtPng4Nl9jYWNoZV9zaXplID0gZWN4ID4+IDE2OwotCQljLT54ODZfdGxic2l6ZSArPSAoKGVieCA+PiAxNikgJiAweGZmZikgKyAoZWJ4ICYgMHhmZmYpOwotCi0JCXByaW50ayhLRVJOX0lORk8gIkNQVTogTDIgQ2FjaGU6ICVkSyAoJWQgYnl0ZXMvbGluZSlcbiIsCi0JCWMtPng4Nl9jYWNoZV9zaXplLCBlY3ggJiAweEZGKTsKLQl9Ci0JaWYgKG4gPj0gMHg4MDAwMDAwOCkgewotCQljcHVpZCgweDgwMDAwMDA4LCAmZWF4LCAmZHVtbXksICZkdW1teSwgJmR1bW15KTsKLQkJYy0+eDg2X3ZpcnRfYml0cyA9IChlYXggPj4gOCkgJiAweGZmOwotCQljLT54ODZfcGh5c19iaXRzID0gZWF4ICYgMHhmZjsKLQl9Ci19Ci0KLSNpZmRlZiBDT05GSUdfTlVNQQotc3RhdGljIGludCBfX2NwdWluaXQgbmVhcmJ5X25vZGUoaW50IGFwaWNpZCkKLXsKLQlpbnQgaSwgbm9kZTsKLQotCWZvciAoaSA9IGFwaWNpZCAtIDE7IGkgPj0gMDsgaS0tKSB7Ci0JCW5vZGUgPSBhcGljaWRfdG9fbm9kZVtpXTsKLQkJaWYgKG5vZGUgIT0gTlVNQV9OT19OT0RFICYmIG5vZGVfb25saW5lKG5vZGUpKQotCQkJcmV0dXJuIG5vZGU7Ci0JfQotCWZvciAoaSA9IGFwaWNpZCArIDE7IGkgPCBNQVhfTE9DQUxfQVBJQzsgaSsrKSB7Ci0JCW5vZGUgPSBhcGljaWRfdG9fbm9kZVtpXTsKLQkJaWYgKG5vZGUgIT0gTlVNQV9OT19OT0RFICYmIG5vZGVfb25saW5lKG5vZGUpKQotCQkJcmV0dXJuIG5vZGU7Ci0JfQotCXJldHVybiBmaXJzdF9ub2RlKG5vZGVfb25saW5lX21hcCk7IC8qIFNob3VsZG4ndCBoYXBwZW4gKi8KLX0KLSNlbmRpZgotCi0vKgotICogT24gYSBBTUQgZHVhbCBjb3JlIHNldHVwIHRoZSBsb3dlciBiaXRzIG9mIHRoZSBBUElDIGlkIGRpc3Rpbmd1c2ggdGhlIGNvcmVzLgotICogQXNzdW1lcyBudW1iZXIgb2YgY29yZXMgaXMgYSBwb3dlciBvZiB0d28uCi0gKi8KLXN0YXRpYyB2b2lkIF9fY3B1aW5pdCBhbWRfZGV0ZWN0X2NtcChzdHJ1Y3QgY3B1aW5mb194ODYgKmMpCi17Ci0jaWZkZWYgQ09ORklHX1NNUAotCXVuc2lnbmVkIGJpdHM7Ci0jaWZkZWYgQ09ORklHX05VTUEKLQlpbnQgY3B1ID0gc21wX3Byb2Nlc3Nvcl9pZCgpOwotCWludCBub2RlID0gMDsKLQl1bnNpZ25lZCBhcGljaWQgPSBoYXJkX3NtcF9wcm9jZXNzb3JfaWQoKTsKLSNlbmRpZgotCWJpdHMgPSBjLT54ODZfY29yZWlkX2JpdHM7Ci0KLQkvKiBMb3cgb3JkZXIgYml0cyBkZWZpbmUgdGhlIGNvcmUgaWQgKGluZGV4IG9mIGNvcmUgaW4gc29ja2V0KSAqLwotCWMtPmNwdV9jb3JlX2lkID0gYy0+aW5pdGlhbF9hcGljaWQgJiAoKDEgPDwgYml0cyktMSk7Ci0JLyogQ29udmVydCB0aGUgaW5pdGlhbCBBUElDIElEIGludG8gdGhlIHNvY2tldCBJRCAqLwotCWMtPnBoeXNfcHJvY19pZCA9IGMtPmluaXRpYWxfYXBpY2lkID4+IGJpdHM7Ci0KLSNpZmRlZiBDT05GSUdfTlVNQQotCW5vZGUgPSBjLT5waHlzX3Byb2NfaWQ7Ci0JaWYgKGFwaWNpZF90b19ub2RlW2FwaWNpZF0gIT0gTlVNQV9OT19OT0RFKQotCQlub2RlID0gYXBpY2lkX3RvX25vZGVbYXBpY2lkXTsKLQlpZiAoIW5vZGVfb25saW5lKG5vZGUpKSB7Ci0JCS8qIFR3byBwb3NzaWJpbGl0aWVzIGhlcmU6Ci0JCSAgIC0gVGhlIENQVSBpcyBtaXNzaW5nIG1lbW9yeSBhbmQgbm8gbm9kZSB3YXMgY3JlYXRlZC4KLQkJICAgSW4gdGhhdCBjYXNlIHRyeSBwaWNraW5nIG9uZSBmcm9tIGEgbmVhcmJ5IENQVQotCQkgICAtIFRoZSBBUElDIElEcyBkaWZmZXIgZnJvbSB0aGUgSHlwZXJUcmFuc3BvcnQgbm9kZSBJRHMKLQkJICAgd2hpY2ggdGhlIEs4IG5vcnRoYnJpZGdlIHBhcnNpbmcgZmlsbHMgaW4uCi0JCSAgIEFzc3VtZSB0aGV5IGFyZSBhbGwgaW5jcmVhc2VkIGJ5IGEgY29uc3RhbnQgb2Zmc2V0LAotCQkgICBidXQgaW4gdGhlIHNhbWUgb3JkZXIgYXMgdGhlIEhUIG5vZGVpZHMuCi0JCSAgIElmIHRoYXQgZG9lc24ndCByZXN1bHQgaW4gYSB1c2FibGUgbm9kZSBmYWxsIGJhY2sgdG8gdGhlCi0JCSAgIHBhdGggZm9yIHRoZSBwcmV2aW91cyBjYXNlLiAgKi8KLQotCQlpbnQgaHRfbm9kZWlkID0gYy0+aW5pdGlhbF9hcGljaWQ7Ci0KLQkJaWYgKGh0X25vZGVpZCA+PSAwICYmCi0JCSAgICBhcGljaWRfdG9fbm9kZVtodF9ub2RlaWRdICE9IE5VTUFfTk9fTk9ERSkKLQkJCW5vZGUgPSBhcGljaWRfdG9fbm9kZVtodF9ub2RlaWRdOwotCQkvKiBQaWNrIGEgbmVhcmJ5IG5vZGUgKi8KLQkJaWYgKCFub2RlX29ubGluZShub2RlKSkKLQkJCW5vZGUgPSBuZWFyYnlfbm9kZShhcGljaWQpOwotCX0KLQludW1hX3NldF9ub2RlKGNwdSwgbm9kZSk7Ci0KLQlwcmludGsoS0VSTl9JTkZPICJDUFUgJWQvJXggLT4gTm9kZSAlZFxuIiwgY3B1LCBhcGljaWQsIG5vZGUpOwotI2VuZGlmCi0jZW5kaWYKLX0KLQotc3RhdGljIHZvaWQgX19jcHVpbml0IGVhcmx5X2luaXRfYW1kX21jKHN0cnVjdCBjcHVpbmZvX3g4NiAqYykKLXsKLSNpZmRlZiBDT05GSUdfU01QCi0JdW5zaWduZWQgYml0cywgZWN4OwotCi0JLyogTXVsdGkgY29yZSBDUFU/ICovCi0JaWYgKGMtPmV4dGVuZGVkX2NwdWlkX2xldmVsIDwgMHg4MDAwMDAwOCkKLQkJcmV0dXJuOwotCi0JZWN4ID0gY3B1aWRfZWN4KDB4ODAwMDAwMDgpOwotCi0JYy0+eDg2X21heF9jb3JlcyA9IChlY3ggJiAweGZmKSArIDE7Ci0KLQkvKiBDUFUgdGVsbGluZyB1cyB0aGUgY29yZSBpZCBiaXRzIHNoaWZ0PyAqLwotCWJpdHMgPSAoZWN4ID4+IDEyKSAmIDB4RjsKLQotCS8qIE90aGVyd2lzZSByZWNvbXB1dGUgKi8KLQlpZiAoYml0cyA9PSAwKSB7Ci0JCXdoaWxlICgoMSA8PCBiaXRzKSA8IGMtPng4Nl9tYXhfY29yZXMpCi0JCQliaXRzKys7Ci0JfQotCi0JYy0+eDg2X2NvcmVpZF9iaXRzID0gYml0czsKLQotI2VuZGlmCi19Ci0KLSNkZWZpbmUgRU5BQkxFX0MxRV9NQVNLCQkweDE4MDAwMDAwCi0jZGVmaW5lIENQVUlEX1BST0NFU1NPUl9TSUdOQVRVUkUJMQotI2RlZmluZSBDUFVJRF9YRkFNCQkweDBmZjAwMDAwCi0jZGVmaW5lIENQVUlEX1hGQU1fSzgJCTB4MDAwMDAwMDAKLSNkZWZpbmUgQ1BVSURfWEZBTV8xMEgJCTB4MDAxMDAwMDAKLSNkZWZpbmUgQ1BVSURfWEZBTV8xMUgJCTB4MDAyMDAwMDAKLSNkZWZpbmUgQ1BVSURfWE1PRAkJMHgwMDBmMDAwMAotI2RlZmluZSBDUFVJRF9YTU9EX1JFVl9GCTB4MDAwNDAwMDAKLQotLyogQU1EIHN5c3RlbXMgd2l0aCBDMUUgZG9uJ3QgaGF2ZSBhIHdvcmtpbmcgbEFQSUMgdGltZXIuIENoZWNrIGZvciB0aGF0LiAqLwotc3RhdGljIF9fY3B1aW5pdCBpbnQgYW1kX2FwaWNfdGltZXJfYnJva2VuKHZvaWQpCi17Ci0JdTMyIGxvLCBoaSwgZWF4ID0gY3B1aWRfZWF4KENQVUlEX1BST0NFU1NPUl9TSUdOQVRVUkUpOwotCi0Jc3dpdGNoIChlYXggJiBDUFVJRF9YRkFNKSB7Ci0JY2FzZSBDUFVJRF9YRkFNX0s4OgotCQlpZiAoKGVheCAmIENQVUlEX1hNT0QpIDwgQ1BVSURfWE1PRF9SRVZfRikKLQkJCWJyZWFrOwotCWNhc2UgQ1BVSURfWEZBTV8xMEg6Ci0JY2FzZSBDUFVJRF9YRkFNXzExSDoKLQkJcmRtc3IoTVNSX0s4X0VOQUJMRV9DMUUsIGxvLCBoaSk7Ci0JCWlmIChsbyAmIEVOQUJMRV9DMUVfTUFTSykKLQkJCXJldHVybiAxOwotCQlicmVhazsKLQlkZWZhdWx0OgotCQkvKiBlcnIgb24gdGhlIHNpZGUgb2YgY2F1dGlvbiAqLwotCQlyZXR1cm4gMTsKLQl9Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyB2b2lkIF9fY3B1aW5pdCBlYXJseV9pbml0X2FtZChzdHJ1Y3QgY3B1aW5mb194ODYgKmMpCi17Ci0JZWFybHlfaW5pdF9hbWRfbWMoYyk7Ci0KLSAJLyogYy0+eDg2X3Bvd2VyIGlzIDgwMDBfMDAwNyBlZHguIEJpdCA4IGlzIGNvbnN0YW50IFRTQyAqLwotCWlmIChjLT54ODZfcG93ZXIgJiAoMTw8OCkpCi0JCXNldF9jcHVfY2FwKGMsIFg4Nl9GRUFUVVJFX0NPTlNUQU5UX1RTQyk7Ci19Ci0KLXN0YXRpYyB2b2lkIF9fY3B1aW5pdCBpbml0X2FtZChzdHJ1Y3QgY3B1aW5mb194ODYgKmMpCi17Ci0JdW5zaWduZWQgbGV2ZWw7Ci0KLSNpZmRlZiBDT05GSUdfU01QCi0JdW5zaWduZWQgbG9uZyB2YWx1ZTsKLQotCS8qCi0JICogRGlzYWJsZSBUTEIgZmx1c2ggZmlsdGVyIGJ5IHNldHRpbmcgSFdDUi5GRkRJUyBvbiBLOAotCSAqIGJpdCA2IG9mIG1zciBDMDAxXzAwMTUKLQkgKgotCSAqIEVycmF0YSA2MyBmb3IgU0gtQjMgc3RlcHBpbmdzCi0JICogRXJyYXRhIDEyMiBmb3IgYWxsIHN0ZXBwaW5ncyAoRisgaGF2ZSBpdCBkaXNhYmxlZCBieSBkZWZhdWx0KQotCSAqLwotCWlmIChjLT54ODYgPT0gMTUpIHsKLQkJcmRtc3JsKE1TUl9LOF9IV0NSLCB2YWx1ZSk7Ci0JCXZhbHVlIHw9IDEgPDwgNjsKLQkJd3Jtc3JsKE1TUl9LOF9IV0NSLCB2YWx1ZSk7Ci0JfQotI2VuZGlmCi0KLQkvKiBCaXQgMzEgaW4gbm9ybWFsIENQVUlEIHVzZWQgZm9yIG5vbnN0YW5kYXJkIDNETm93IElEOwotCSAgIDNETm93IGlzIElEZCBieSBiaXQgMzEgaW4gZXh0ZW5kZWQgQ1BVSUQgKDEqMzIrMzEpIGFueXdheSAqLwotCWNsZWFyX2NwdV9jYXAoYywgMCozMiszMSk7Ci0KLQkvKiBPbiBDKyBzdGVwcGluZyBLOCByZXAgbWljcm9jb2RlIHdvcmtzIHdlbGwgZm9yIGNvcHkvbWVtc2V0ICovCi0JbGV2ZWwgPSBjcHVpZF9lYXgoMSk7Ci0JaWYgKGMtPng4NiA9PSAxNSAmJiAoKGxldmVsID49IDB4MGY0OCAmJiBsZXZlbCA8IDB4MGY1MCkgfHwKLQkJCSAgICAgbGV2ZWwgPj0gMHgwZjU4KSkKLQkJc2V0X2NwdV9jYXAoYywgWDg2X0ZFQVRVUkVfUkVQX0dPT0QpOwotCWlmIChjLT54ODYgPT0gMHgxMCB8fCBjLT54ODYgPT0gMHgxMSkKLQkJc2V0X2NwdV9jYXAoYywgWDg2X0ZFQVRVUkVfUkVQX0dPT0QpOwotCi0JLyogRW5hYmxlIHdvcmthcm91bmQgZm9yIEZYU0FWRSBsZWFrICovCi0JaWYgKGMtPng4NiA+PSA2KQotCQlzZXRfY3B1X2NhcChjLCBYODZfRkVBVFVSRV9GWFNBVkVfTEVBSyk7Ci0KLQlsZXZlbCA9IGdldF9tb2RlbF9uYW1lKGMpOwotCWlmICghbGV2ZWwpIHsKLQkJc3dpdGNoIChjLT54ODYpIHsKLQkJY2FzZSAxNToKLQkJCS8qIFNob3VsZCBkaXN0aW5ndWlzaCBNb2RlbHMgaGVyZSwgYnV0IHRoaXMgaXMgb25seQotCQkJICAgYSBmYWxsYmFjayBhbnl3YXlzLiAqLwotCQkJc3RyY3B5KGMtPng4Nl9tb2RlbF9pZCwgIkhhbW1lciIpOwotCQkJYnJlYWs7Ci0JCX0KLQl9Ci0JZGlzcGxheV9jYWNoZWluZm8oYyk7Ci0KLQkvKiBNdWx0aSBjb3JlIENQVT8gKi8KLQlpZiAoYy0+ZXh0ZW5kZWRfY3B1aWRfbGV2ZWwgPj0gMHg4MDAwMDAwOCkKLQkJYW1kX2RldGVjdF9jbXAoYyk7Ci0KLQlpZiAoYy0+ZXh0ZW5kZWRfY3B1aWRfbGV2ZWwgPj0gMHg4MDAwMDAwNiAmJgotCQkoY3B1aWRfZWR4KDB4ODAwMDAwMDYpICYgMHhmMDAwKSkKLQkJbnVtX2NhY2hlX2xlYXZlcyA9IDQ7Ci0JZWxzZQotCQludW1fY2FjaGVfbGVhdmVzID0gMzsKLQotCWlmIChjLT54ODYgPT0gMHhmIHx8IGMtPng4NiA9PSAweDEwIHx8IGMtPng4NiA9PSAweDExKQotCQlzZXRfY3B1X2NhcChjLCBYODZfRkVBVFVSRV9LOCk7Ci0KLQkvKiBNRkVOQ0Ugc3RvcHMgUkRUU0Mgc3BlY3VsYXRpb24gKi8KLQlzZXRfY3B1X2NhcChjLCBYODZfRkVBVFVSRV9NRkVOQ0VfUkRUU0MpOwotCi0JaWYgKGMtPng4NiA9PSAweDEwKQotCQlmYW0xMGhfY2hlY2tfZW5hYmxlX21tY2ZnKCk7Ci0KLQlpZiAoYW1kX2FwaWNfdGltZXJfYnJva2VuKCkpCi0JCWRpc2FibGVfYXBpY190aW1lciA9IDE7Ci0KLQlpZiAoYyA9PSAmYm9vdF9jcHVfZGF0YSAmJiBjLT54ODYgPj0gMHhmICYmIGMtPng4NiA8PSAweDExKSB7Ci0JCXVuc2lnbmVkIGxvbmcgbG9uZyB0c2VnOwotCi0JCS8qCi0JCSAqIFNwbGl0IHVwIGRpcmVjdCBtYXBwaW5nIGFyb3VuZCB0aGUgVFNFRyBTTU0gYXJlYS4KLQkJICogRG9uJ3QgZG8gaXQgZm9yIGdicGFnZXMgYmVjYXVzZSB0aGVyZSBzZWVtcyB2ZXJ5IGxpdHRsZQotCQkgKiBiZW5lZml0IGluIGRvaW5nIHNvLgotCQkgKi8KLQkJaWYgKCFyZG1zcmxfc2FmZShNU1JfSzhfVFNFR19BRERSLCAmdHNlZykgJiYKLQkJKHRzZWcgPj4gUE1EX1NISUZUKSA8IChtYXhfcGZuX21hcHBlZCA+PiAoUE1EX1NISUZULVBBR0VfU0hJRlQpKSkKLQkJCXNldF9tZW1vcnlfNGsoKHVuc2lnbmVkIGxvbmcpX192YSh0c2VnKSwgMSk7Ci0JfQotfQotCi12b2lkIF9fY3B1aW5pdCBkZXRlY3RfaHQoc3RydWN0IGNwdWluZm9feDg2ICpjKQotewotI2lmZGVmIENPTkZJR19TTVAKLQl1MzIgZWF4LCBlYngsIGVjeCwgZWR4OwotCWludCBpbmRleF9tc2IsIGNvcmVfYml0czsKLQotCWNwdWlkKDEsICZlYXgsICZlYngsICZlY3gsICZlZHgpOwotCi0KLQlpZiAoIWNwdV9oYXMoYywgWDg2X0ZFQVRVUkVfSFQpKQotCQlyZXR1cm47Ci0JaWYgKGNwdV9oYXMoYywgWDg2X0ZFQVRVUkVfQ01QX0xFR0FDWSkpCi0JCWdvdG8gb3V0OwotCi0Jc21wX251bV9zaWJsaW5ncyA9IChlYnggJiAweGZmMDAwMCkgPj4gMTY7Ci0KLQlpZiAoc21wX251bV9zaWJsaW5ncyA9PSAxKSB7Ci0JCXByaW50ayhLRVJOX0lORk8gICJDUFU6IEh5cGVyLVRocmVhZGluZyBpcyBkaXNhYmxlZFxuIik7Ci0JfSBlbHNlIGlmIChzbXBfbnVtX3NpYmxpbmdzID4gMSkgewotCi0JCWlmIChzbXBfbnVtX3NpYmxpbmdzID4gTlJfQ1BVUykgewotCQkJcHJpbnRrKEtFUk5fV0FSTklORyAiQ1BVOiBVbnN1cHBvcnRlZCBudW1iZXIgb2YgIgotCQkJICAgICAgICJzaWJsaW5ncyAlZCIsIHNtcF9udW1fc2libGluZ3MpOwotCQkJc21wX251bV9zaWJsaW5ncyA9IDE7Ci0JCQlyZXR1cm47Ci0JCX0KLQotCQlpbmRleF9tc2IgPSBnZXRfY291bnRfb3JkZXIoc21wX251bV9zaWJsaW5ncyk7Ci0JCWMtPnBoeXNfcHJvY19pZCA9IHBoeXNfcGtnX2lkKGluZGV4X21zYik7Ci0KLQkJc21wX251bV9zaWJsaW5ncyA9IHNtcF9udW1fc2libGluZ3MgLyBjLT54ODZfbWF4X2NvcmVzOwotCi0JCWluZGV4X21zYiA9IGdldF9jb3VudF9vcmRlcihzbXBfbnVtX3NpYmxpbmdzKTsKLQotCQljb3JlX2JpdHMgPSBnZXRfY291bnRfb3JkZXIoYy0+eDg2X21heF9jb3Jlcyk7Ci0KLQkJYy0+Y3B1X2NvcmVfaWQgPSBwaHlzX3BrZ19pZChpbmRleF9tc2IpICYKLQkJCQkJICAgICAgICgoMSA8PCBjb3JlX2JpdHMpIC0gMSk7Ci0JfQotb3V0OgotCWlmICgoYy0+eDg2X21heF9jb3JlcyAqIHNtcF9udW1fc2libGluZ3MpID4gMSkgewotCQlwcmludGsoS0VSTl9JTkZPICAiQ1BVOiBQaHlzaWNhbCBQcm9jZXNzb3IgSUQ6ICVkXG4iLAotCQkgICAgICAgYy0+cGh5c19wcm9jX2lkKTsKLQkJcHJpbnRrKEtFUk5fSU5GTyAgIkNQVTogUHJvY2Vzc29yIENvcmUgSUQ6ICVkXG4iLAotCQkgICAgICAgYy0+Y3B1X2NvcmVfaWQpOwotCX0KLQotI2VuZGlmCi19Ci0KLS8qCi0gKiBmaW5kIG91dCB0aGUgbnVtYmVyIG9mIHByb2Nlc3NvciBjb3JlcyBvbiB0aGUgZGllCi0gKi8KLXN0YXRpYyBpbnQgX19jcHVpbml0IGludGVsX251bV9jcHVfY29yZXMoc3RydWN0IGNwdWluZm9feDg2ICpjKQotewotCXVuc2lnbmVkIGludCBlYXgsIHQ7Ci0KLQlpZiAoYy0+Y3B1aWRfbGV2ZWwgPCA0KQotCQlyZXR1cm4gMTsKLQotCWNwdWlkX2NvdW50KDQsIDAsICZlYXgsICZ0LCAmdCwgJnQpOwotCi0JaWYgKGVheCAmIDB4MWYpCi0JCXJldHVybiAoKGVheCA+PiAyNikgKyAxKTsKLQllbHNlCi0JCXJldHVybiAxOwotfQotCi1zdGF0aWMgdm9pZCBfX2NwdWluaXQgc3JhdF9kZXRlY3Rfbm9kZSh2b2lkKQotewotI2lmZGVmIENPTkZJR19OVU1BCi0JdW5zaWduZWQgbm9kZTsKLQlpbnQgY3B1ID0gc21wX3Byb2Nlc3Nvcl9pZCgpOwotCWludCBhcGljaWQgPSBoYXJkX3NtcF9wcm9jZXNzb3JfaWQoKTsKLQotCS8qIERvbid0IGRvIHRoZSBmdW5reSBmYWxsYmFjayBoZXVyaXN0aWNzIHRoZSBBTUQgdmVyc2lvbiBlbXBsb3lzCi0JICAgZm9yIG5vdy4gKi8KLQlub2RlID0gYXBpY2lkX3RvX25vZGVbYXBpY2lkXTsKLQlpZiAobm9kZSA9PSBOVU1BX05PX05PREUgfHwgIW5vZGVfb25saW5lKG5vZGUpKQotCQlub2RlID0gZmlyc3Rfbm9kZShub2RlX29ubGluZV9tYXApOwotCW51bWFfc2V0X25vZGUoY3B1LCBub2RlKTsKLQotCXByaW50ayhLRVJOX0lORk8gIkNQVSAlZC8leCAtPiBOb2RlICVkXG4iLCBjcHUsIGFwaWNpZCwgbm9kZSk7Ci0jZW5kaWYKLX0KLQotc3RhdGljIHZvaWQgX19jcHVpbml0IGVhcmx5X2luaXRfaW50ZWwoc3RydWN0IGNwdWluZm9feDg2ICpjKQotewotCWlmICgoYy0+eDg2ID09IDB4ZiAmJiBjLT54ODZfbW9kZWwgPj0gMHgwMykgfHwKLQkgICAgKGMtPng4NiA9PSAweDYgJiYgYy0+eDg2X21vZGVsID49IDB4MGUpKQotCQlzZXRfY3B1X2NhcChjLCBYODZfRkVBVFVSRV9DT05TVEFOVF9UU0MpOwotfQotCi1zdGF0aWMgdm9pZCBfX2NwdWluaXQgaW5pdF9pbnRlbChzdHJ1Y3QgY3B1aW5mb194ODYgKmMpCi17Ci0JLyogQ2FjaGUgc2l6ZXMgKi8KLQl1bnNpZ25lZCBuOwotCi0JaW5pdF9pbnRlbF9jYWNoZWluZm8oYyk7Ci0JaWYgKGMtPmNwdWlkX2xldmVsID4gOSkgewotCQl1bnNpZ25lZCBlYXggPSBjcHVpZF9lYXgoMTApOwotCQkvKiBDaGVjayBmb3IgdmVyc2lvbiBhbmQgdGhlIG51bWJlciBvZiBjb3VudGVycyAqLwotCQlpZiAoKGVheCAmIDB4ZmYpICYmICgoKGVheD4+OCkgJiAweGZmKSA+IDEpKQotCQkJc2V0X2NwdV9jYXAoYywgWDg2X0ZFQVRVUkVfQVJDSF9QRVJGTU9OKTsKLQl9Ci0KLQlpZiAoY3B1X2hhc19kcykgewotCQl1bnNpZ25lZCBpbnQgbDEsIGwyOwotCQlyZG1zcihNU1JfSUEzMl9NSVNDX0VOQUJMRSwgbDEsIGwyKTsKLQkJaWYgKCEobDEgJiAoMTw8MTEpKSkKLQkJCXNldF9jcHVfY2FwKGMsIFg4Nl9GRUFUVVJFX0JUUyk7Ci0JCWlmICghKGwxICYgKDE8PDEyKSkpCi0JCQlzZXRfY3B1X2NhcChjLCBYODZfRkVBVFVSRV9QRUJTKTsKLQl9Ci0KLQotCWlmIChjcHVfaGFzX2J0cykKLQkJZHNfaW5pdF9pbnRlbChjKTsKLQotCW4gPSBjLT5leHRlbmRlZF9jcHVpZF9sZXZlbDsKLQlpZiAobiA+PSAweDgwMDAwMDA4KSB7Ci0JCXVuc2lnbmVkIGVheCA9IGNwdWlkX2VheCgweDgwMDAwMDA4KTsKLQkJYy0+eDg2X3ZpcnRfYml0cyA9IChlYXggPj4gOCkgJiAweGZmOwotCQljLT54ODZfcGh5c19iaXRzID0gZWF4ICYgMHhmZjsKLQkJLyogQ1BVSUQgd29ya2Fyb3VuZCBmb3IgSW50ZWwgMEYzNCBDUFUgKi8KLQkJaWYgKGMtPng4Nl92ZW5kb3IgPT0gWDg2X1ZFTkRPUl9JTlRFTCAmJgotCQkgICAgYy0+eDg2ID09IDB4RiAmJiBjLT54ODZfbW9kZWwgPT0gMHgzICYmCi0JCSAgICBjLT54ODZfbWFzayA9PSAweDQpCi0JCQljLT54ODZfcGh5c19iaXRzID0gMzY7Ci0JfQotCi0JaWYgKGMtPng4NiA9PSAxNSkKLQkJYy0+eDg2X2NhY2hlX2FsaWdubWVudCA9IGMtPng4Nl9jbGZsdXNoX3NpemUgKiAyOwotCWlmIChjLT54ODYgPT0gNikKLQkJc2V0X2NwdV9jYXAoYywgWDg2X0ZFQVRVUkVfUkVQX0dPT0QpOwotCXNldF9jcHVfY2FwKGMsIFg4Nl9GRUFUVVJFX0xGRU5DRV9SRFRTQyk7Ci0JYy0+eDg2X21heF9jb3JlcyA9IGludGVsX251bV9jcHVfY29yZXMoYyk7Ci0KLQlzcmF0X2RldGVjdF9ub2RlKCk7Ci19Ci0KLXN0YXRpYyB2b2lkIF9fY3B1aW5pdCBlYXJseV9pbml0X2NlbnRhdXIoc3RydWN0IGNwdWluZm9feDg2ICpjKQotewotCWlmIChjLT54ODYgPT0gMHg2ICYmIGMtPng4Nl9tb2RlbCA+PSAweGYpCi0JCXNldF9jcHVfY2FwKGMsIFg4Nl9GRUFUVVJFX0NPTlNUQU5UX1RTQyk7Ci19Ci0KLXN0YXRpYyB2b2lkIF9fY3B1aW5pdCBpbml0X2NlbnRhdXIoc3RydWN0IGNwdWluZm9feDg2ICpjKQotewotCS8qIENhY2hlIHNpemVzICovCi0JdW5zaWduZWQgbjsKLQotCW4gPSBjLT5leHRlbmRlZF9jcHVpZF9sZXZlbDsKLQlpZiAobiA+PSAweDgwMDAwMDA4KSB7Ci0JCXVuc2lnbmVkIGVheCA9IGNwdWlkX2VheCgweDgwMDAwMDA4KTsKLQkJYy0+eDg2X3ZpcnRfYml0cyA9IChlYXggPj4gOCkgJiAweGZmOwotCQljLT54ODZfcGh5c19iaXRzID0gZWF4ICYgMHhmZjsKLQl9Ci0KLQlpZiAoYy0+eDg2ID09IDB4NiAmJiBjLT54ODZfbW9kZWwgPj0gMHhmKSB7Ci0JCWMtPng4Nl9jYWNoZV9hbGlnbm1lbnQgPSBjLT54ODZfY2xmbHVzaF9zaXplICogMjsKLQkJc2V0X2NwdV9jYXAoYywgWDg2X0ZFQVRVUkVfQ09OU1RBTlRfVFNDKTsKLQkJc2V0X2NwdV9jYXAoYywgWDg2X0ZFQVRVUkVfUkVQX0dPT0QpOwotCX0KLQlzZXRfY3B1X2NhcChjLCBYODZfRkVBVFVSRV9MRkVOQ0VfUkRUU0MpOwotfQotCi1zdGF0aWMgdm9pZCBfX2NwdWluaXQgZ2V0X2NwdV92ZW5kb3Ioc3RydWN0IGNwdWluZm9feDg2ICpjKQotewotCWNoYXIgKnYgPSBjLT54ODZfdmVuZG9yX2lkOwotCi0JaWYgKCFzdHJjbXAodiwgIkF1dGhlbnRpY0FNRCIpKQotCQljLT54ODZfdmVuZG9yID0gWDg2X1ZFTkRPUl9BTUQ7Ci0JZWxzZSBpZiAoIXN0cmNtcCh2LCAiR2VudWluZUludGVsIikpCi0JCWMtPng4Nl92ZW5kb3IgPSBYODZfVkVORE9SX0lOVEVMOwotCWVsc2UgaWYgKCFzdHJjbXAodiwgIkNlbnRhdXJIYXVscyIpKQotCQljLT54ODZfdmVuZG9yID0gWDg2X1ZFTkRPUl9DRU5UQVVSOwotCWVsc2UKLQkJYy0+eDg2X3ZlbmRvciA9IFg4Nl9WRU5ET1JfVU5LTk9XTjsKLX0KLQotLyogRG8gc29tZSBlYXJseSBjcHVpZCBvbiB0aGUgYm9vdCBDUFUgdG8gZ2V0IHNvbWUgcGFyYW1ldGVyIHRoYXQgYXJlCi0gICBuZWVkZWQgYmVmb3JlIGNoZWNrX2J1Z3MuIEV2ZXJ5dGhpbmcgYWR2YW5jZWQgaXMgaW4gaWRlbnRpZnlfY3B1Ci0gICBiZWxvdy4gKi8KLXN0YXRpYyB2b2lkIF9fY3B1aW5pdCBlYXJseV9pZGVudGlmeV9jcHUoc3RydWN0IGNwdWluZm9feDg2ICpjKQotewotCXUzMiB0Zm1zLCB4bHZsOwotCi0JYy0+bG9vcHNfcGVyX2ppZmZ5ID0gbG9vcHNfcGVyX2ppZmZ5OwotCWMtPng4Nl9jYWNoZV9zaXplID0gLTE7Ci0JYy0+eDg2X3ZlbmRvciA9IFg4Nl9WRU5ET1JfVU5LTk9XTjsKLQljLT54ODZfbW9kZWwgPSBjLT54ODZfbWFzayA9IDA7CS8qIFNvIGZhciB1bmtub3duLi4uICovCi0JYy0+eDg2X3ZlbmRvcl9pZFswXSA9ICdcMCc7IC8qIFVuc2V0ICovCi0JYy0+eDg2X21vZGVsX2lkWzBdID0gJ1wwJzsgIC8qIFVuc2V0ICovCi0JYy0+eDg2X2NsZmx1c2hfc2l6ZSA9IDY0OwotCWMtPng4Nl9jYWNoZV9hbGlnbm1lbnQgPSBjLT54ODZfY2xmbHVzaF9zaXplOwotCWMtPng4Nl9tYXhfY29yZXMgPSAxOwotCWMtPng4Nl9jb3JlaWRfYml0cyA9IDA7Ci0JYy0+ZXh0ZW5kZWRfY3B1aWRfbGV2ZWwgPSAwOwotCW1lbXNldCgmYy0+eDg2X2NhcGFiaWxpdHksIDAsIHNpemVvZiBjLT54ODZfY2FwYWJpbGl0eSk7Ci0KLQkvKiBHZXQgdmVuZG9yIG5hbWUgKi8KLQljcHVpZCgweDAwMDAwMDAwLCAodW5zaWduZWQgaW50ICopJmMtPmNwdWlkX2xldmVsLAotCSAgICAgICh1bnNpZ25lZCBpbnQgKikmYy0+eDg2X3ZlbmRvcl9pZFswXSwKLQkgICAgICAodW5zaWduZWQgaW50ICopJmMtPng4Nl92ZW5kb3JfaWRbOF0sCi0JICAgICAgKHVuc2lnbmVkIGludCAqKSZjLT54ODZfdmVuZG9yX2lkWzRdKTsKLQotCWdldF9jcHVfdmVuZG9yKGMpOwotCi0JLyogSW5pdGlhbGl6ZSB0aGUgc3RhbmRhcmQgc2V0IG9mIGNhcGFiaWxpdGllcyAqLwotCS8qIE5vdGUgdGhhdCB0aGUgdmVuZG9yLXNwZWNpZmljIGNvZGUgYmVsb3cgbWlnaHQgb3ZlcnJpZGUgKi8KLQotCS8qIEludGVsLWRlZmluZWQgZmxhZ3M6IGxldmVsIDB4MDAwMDAwMDEgKi8KLQlpZiAoYy0+Y3B1aWRfbGV2ZWwgPj0gMHgwMDAwMDAwMSkgewotCQlfX3UzMiBtaXNjOwotCQljcHVpZCgweDAwMDAwMDAxLCAmdGZtcywgJm1pc2MsICZjLT54ODZfY2FwYWJpbGl0eVs0XSwKLQkJICAgICAgJmMtPng4Nl9jYXBhYmlsaXR5WzBdKTsKLQkJYy0+eDg2ID0gKHRmbXMgPj4gOCkgJiAweGY7Ci0JCWMtPng4Nl9tb2RlbCA9ICh0Zm1zID4+IDQpICYgMHhmOwotCQljLT54ODZfbWFzayA9IHRmbXMgJiAweGY7Ci0JCWlmIChjLT54ODYgPT0gMHhmKQotCQkJYy0+eDg2ICs9ICh0Zm1zID4+IDIwKSAmIDB4ZmY7Ci0JCWlmIChjLT54ODYgPj0gMHg2KQotCQkJYy0+eDg2X21vZGVsICs9ICgodGZtcyA+PiAxNikgJiAweEYpIDw8IDQ7Ci0JCWlmICh0ZXN0X2NwdV9jYXAoYywgWDg2X0ZFQVRVUkVfQ0xGTFNIKSkKLQkJCWMtPng4Nl9jbGZsdXNoX3NpemUgPSAoKG1pc2MgPj4gOCkgJiAweGZmKSAqIDg7Ci0JfSBlbHNlIHsKLQkJLyogSGF2ZSBDUFVJRCBsZXZlbCAwIG9ubHkgLSB1bmhlYXJkIG9mICovCi0JCWMtPng4NiA9IDQ7Ci0JfQotCi0JYy0+aW5pdGlhbF9hcGljaWQgPSAoY3B1aWRfZWJ4KDEpID4+IDI0KSAmIDB4ZmY7Ci0jaWZkZWYgQ09ORklHX1NNUAotCWMtPnBoeXNfcHJvY19pZCA9IGMtPmluaXRpYWxfYXBpY2lkOwotI2VuZGlmCi0JLyogQU1ELWRlZmluZWQgZmxhZ3M6IGxldmVsIDB4ODAwMDAwMDEgKi8KLQl4bHZsID0gY3B1aWRfZWF4KDB4ODAwMDAwMDApOwotCWMtPmV4dGVuZGVkX2NwdWlkX2xldmVsID0geGx2bDsKLQlpZiAoKHhsdmwgJiAweGZmZmYwMDAwKSA9PSAweDgwMDAwMDAwKSB7Ci0JCWlmICh4bHZsID49IDB4ODAwMDAwMDEpIHsKLQkJCWMtPng4Nl9jYXBhYmlsaXR5WzFdID0gY3B1aWRfZWR4KDB4ODAwMDAwMDEpOwotCQkJYy0+eDg2X2NhcGFiaWxpdHlbNl0gPSBjcHVpZF9lY3goMHg4MDAwMDAwMSk7Ci0JCX0KLQkJaWYgKHhsdmwgPj0gMHg4MDAwMDAwNCkKLQkJCWdldF9tb2RlbF9uYW1lKGMpOyAvKiBEZWZhdWx0IG5hbWUgKi8KLQl9Ci0KLQkvKiBUcmFuc21ldGEtZGVmaW5lZCBmbGFnczogbGV2ZWwgMHg4MDg2MDAwMSAqLwotCXhsdmwgPSBjcHVpZF9lYXgoMHg4MDg2MDAwMCk7Ci0JaWYgKCh4bHZsICYgMHhmZmZmMDAwMCkgPT0gMHg4MDg2MDAwMCkgewotCQkvKiBEb24ndCBzZXQgeDg2X2NwdWlkX2xldmVsIGhlcmUgZm9yIG5vdyB0byBub3QgY29uZnVzZS4gKi8KLQkJaWYgKHhsdmwgPj0gMHg4MDg2MDAwMSkKLQkJCWMtPng4Nl9jYXBhYmlsaXR5WzJdID0gY3B1aWRfZWR4KDB4ODA4NjAwMDEpOwotCX0KLQotCWMtPmV4dGVuZGVkX2NwdWlkX2xldmVsID0gY3B1aWRfZWF4KDB4ODAwMDAwMDApOwotCWlmIChjLT5leHRlbmRlZF9jcHVpZF9sZXZlbCA+PSAweDgwMDAwMDA3KQotCQljLT54ODZfcG93ZXIgPSBjcHVpZF9lZHgoMHg4MDAwMDAwNyk7Ci0KLQlzd2l0Y2ggKGMtPng4Nl92ZW5kb3IpIHsKLQljYXNlIFg4Nl9WRU5ET1JfQU1EOgotCQllYXJseV9pbml0X2FtZChjKTsKLQkJYnJlYWs7Ci0JY2FzZSBYODZfVkVORE9SX0lOVEVMOgotCQllYXJseV9pbml0X2ludGVsKGMpOwotCQlicmVhazsKLQljYXNlIFg4Nl9WRU5ET1JfQ0VOVEFVUjoKLQkJZWFybHlfaW5pdF9jZW50YXVyKGMpOwotCQlicmVhazsKLQl9Ci0KLQl2YWxpZGF0ZV9wYXRfc3VwcG9ydChjKTsKLX0KLQotLyoKLSAqIFRoaXMgZG9lcyB0aGUgaGFyZCB3b3JrIG9mIGFjdHVhbGx5IHBpY2tpbmcgYXBhcnQgdGhlIENQVSBzdHVmZi4uLgotICovCi12b2lkIF9fY3B1aW5pdCBpZGVudGlmeV9jcHUoc3RydWN0IGNwdWluZm9feDg2ICpjKQotewotCWludCBpOwotCi0JZWFybHlfaWRlbnRpZnlfY3B1KGMpOwotCi0JaW5pdF9zY2F0dGVyZWRfY3B1aWRfZmVhdHVyZXMoYyk7Ci0KLQljLT5hcGljaWQgPSBwaHlzX3BrZ19pZCgwKTsKLQotCS8qCi0JICogVmVuZG9yLXNwZWNpZmljIGluaXRpYWxpemF0aW9uLiAgSW4gdGhpcyBzZWN0aW9uIHdlCi0JICogY2Fub25pY2FsaXplIHRoZSBmZWF0dXJlIGZsYWdzLCBtZWFuaW5nIGlmIHRoZXJlIGFyZQotCSAqIGZlYXR1cmVzIGEgY2VydGFpbiBDUFUgc3VwcG9ydHMgd2hpY2ggQ1BVSUQgZG9lc24ndAotCSAqIHRlbGwgdXMsIENQVUlEIGNsYWltaW5nIGluY29ycmVjdCBmbGFncywgb3Igb3RoZXIgYnVncywKLQkgKiB3ZSBoYW5kbGUgdGhlbSBoZXJlLgotCSAqCi0JICogQXQgdGhlIGVuZCBvZiB0aGlzIHNlY3Rpb24sIGMtPng4Nl9jYXBhYmlsaXR5IGJldHRlcgotCSAqIGluZGljYXRlIHRoZSBmZWF0dXJlcyB0aGlzIENQVSBnZW51aW5lbHkgc3VwcG9ydHMhCi0JICovCi0Jc3dpdGNoIChjLT54ODZfdmVuZG9yKSB7Ci0JY2FzZSBYODZfVkVORE9SX0FNRDoKLQkJaW5pdF9hbWQoYyk7Ci0JCWJyZWFrOwotCi0JY2FzZSBYODZfVkVORE9SX0lOVEVMOgotCQlpbml0X2ludGVsKGMpOwotCQlicmVhazsKLQotCWNhc2UgWDg2X1ZFTkRPUl9DRU5UQVVSOgotCQlpbml0X2NlbnRhdXIoYyk7Ci0JCWJyZWFrOwotCi0JY2FzZSBYODZfVkVORE9SX1VOS05PV046Ci0JZGVmYXVsdDoKLQkJZGlzcGxheV9jYWNoZWluZm8oYyk7Ci0JCWJyZWFrOwotCX0KLQotCWRldGVjdF9odChjKTsKLQotCS8qCi0JICogT24gU01QLCBib290X2NwdV9kYXRhIGhvbGRzIHRoZSBjb21tb24gZmVhdHVyZSBzZXQgYmV0d2VlbgotCSAqIGFsbCBDUFVzOyBzbyBtYWtlIHN1cmUgdGhhdCB3ZSBpbmRpY2F0ZSB3aGljaCBmZWF0dXJlcyBhcmUKLQkgKiBjb21tb24gYmV0d2VlbiB0aGUgQ1BVcy4gIFRoZSBmaXJzdCB0aW1lIHRoaXMgcm91dGluZSBnZXRzCi0JICogZXhlY3V0ZWQsIGMgPT0gJmJvb3RfY3B1X2RhdGEuCi0JICovCi0JaWYgKGMgIT0gJmJvb3RfY3B1X2RhdGEpIHsKLQkJLyogQU5EIHRoZSBhbHJlYWR5IGFjY3VtdWxhdGVkIGZsYWdzIHdpdGggdGhlc2UgKi8KLQkJZm9yIChpID0gMDsgaSA8IE5DQVBJTlRTOyBpKyspCi0JCQlib290X2NwdV9kYXRhLng4Nl9jYXBhYmlsaXR5W2ldICY9IGMtPng4Nl9jYXBhYmlsaXR5W2ldOwotCX0KLQotCS8qIENsZWFyIGFsbCBmbGFncyBvdmVycmlkZW4gYnkgb3B0aW9ucyAqLwotCWZvciAoaSA9IDA7IGkgPCBOQ0FQSU5UUzsgaSsrKQotCQljLT54ODZfY2FwYWJpbGl0eVtpXSAmPSB+Y2xlYXJlZF9jcHVfY2Fwc1tpXTsKLQotI2lmZGVmIENPTkZJR19YODZfTUNFCi0JbWNoZWNrX2luaXQoYyk7Ci0jZW5kaWYKLQlzZWxlY3RfaWRsZV9yb3V0aW5lKGMpOwotCi0jaWZkZWYgQ09ORklHX05VTUEKLQludW1hX2FkZF9jcHUoc21wX3Byb2Nlc3Nvcl9pZCgpKTsKLSNlbmRpZgotCi19Ci0KLXZvaWQgX19jcHVpbml0IGlkZW50aWZ5X2Jvb3RfY3B1KHZvaWQpCi17Ci0JaWRlbnRpZnlfY3B1KCZib290X2NwdV9kYXRhKTsKLX0KLQotdm9pZCBfX2NwdWluaXQgaWRlbnRpZnlfc2Vjb25kYXJ5X2NwdShzdHJ1Y3QgY3B1aW5mb194ODYgKmMpCi17Ci0JQlVHX09OKGMgPT0gJmJvb3RfY3B1X2RhdGEpOwotCWlkZW50aWZ5X2NwdShjKTsKLQltdHJyX2FwX2luaXQoKTsKLX0KLQotc3RhdGljIF9faW5pdCBpbnQgc2V0dXBfbm9jbGZsdXNoKGNoYXIgKmFyZykKLXsKLQlzZXR1cF9jbGVhcl9jcHVfY2FwKFg4Nl9GRUFUVVJFX0NMRkxTSCk7Ci0JcmV0dXJuIDE7Ci19Ci1fX3NldHVwKCJub2NsZmx1c2giLCBzZXR1cF9ub2NsZmx1c2gpOwotCi12b2lkIF9fY3B1aW5pdCBwcmludF9jcHVfaW5mbyhzdHJ1Y3QgY3B1aW5mb194ODYgKmMpCi17Ci0JaWYgKGMtPng4Nl9tb2RlbF9pZFswXSkKLQkJcHJpbnRrKEtFUk5fQ09OVCAiJXMiLCBjLT54ODZfbW9kZWxfaWQpOwotCi0JaWYgKGMtPng4Nl9tYXNrIHx8IGMtPmNwdWlkX2xldmVsID49IDApCi0JCXByaW50ayhLRVJOX0NPTlQgIiBzdGVwcGluZyAlMDJ4XG4iLCBjLT54ODZfbWFzayk7Ci0JZWxzZQotCQlwcmludGsoS0VSTl9DT05UICJcbiIpOwotfQotCi1zdGF0aWMgX19pbml0IGludCBzZXR1cF9kaXNhYmxlY3B1aWQoY2hhciAqYXJnKQotewotCWludCBiaXQ7Ci0JaWYgKGdldF9vcHRpb24oJmFyZywgJmJpdCkgJiYgYml0IDwgTkNBUElOVFMqMzIpCi0JCXNldHVwX2NsZWFyX2NwdV9jYXAoYml0KTsKLQllbHNlCi0JCXJldHVybiAwOwotCXJldHVybiAxOwotfQotX19zZXR1cCgiY2xlYXJjcHVpZD0iLCBzZXR1cF9kaXNhYmxlY3B1aWQpOwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL3NldHVwX3BlcmNwdS5jIGIvYXJjaC94ODYva2VybmVsL3NldHVwX3BlcmNwdS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNhYzY4NDMKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL3g4Ni9rZXJuZWwvc2V0dXBfcGVyY3B1LmMKQEAgLTAsMCArMSwzOTkgQEAKKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvYm9vdG1lbS5oPgorI2luY2x1ZGUgPGxpbnV4L3BlcmNwdS5oPgorI2luY2x1ZGUgPGxpbnV4L2tleGVjLmg+CisjaW5jbHVkZSA8bGludXgvY3Jhc2hfZHVtcC5oPgorI2luY2x1ZGUgPGFzbS9zbXAuaD4KKyNpbmNsdWRlIDxhc20vcGVyY3B1Lmg+CisjaW5jbHVkZSA8YXNtL3NlY3Rpb25zLmg+CisjaW5jbHVkZSA8YXNtL3Byb2Nlc3Nvci5oPgorI2luY2x1ZGUgPGFzbS9zZXR1cC5oPgorI2luY2x1ZGUgPGFzbS90b3BvbG9neS5oPgorI2luY2x1ZGUgPGFzbS9tcHNwZWMuaD4KKyNpbmNsdWRlIDxhc20vYXBpY2RlZi5oPgorI2luY2x1ZGUgPGFzbS9oaWdobWVtLmg+CisKKyNpZmRlZiBDT05GSUdfWDg2X0xPQ0FMX0FQSUMKK3Vuc2lnbmVkIGludCBudW1fcHJvY2Vzc29yczsKK3Vuc2lnbmVkIGRpc2FibGVkX2NwdXMgX19jcHVpbml0ZGF0YTsKKy8qIFByb2Nlc3NvciB0aGF0IGlzIGRvaW5nIHRoZSBib290IHVwICovCit1bnNpZ25lZCBpbnQgYm9vdF9jcHVfcGh5c2ljYWxfYXBpY2lkID0gLTFVOwordW5zaWduZWQgaW50IG1heF9waHlzaWNhbF9hcGljaWQ7CitFWFBPUlRfU1lNQk9MKGJvb3RfY3B1X3BoeXNpY2FsX2FwaWNpZCk7CisKKy8qIEJpdG1hc2sgb2YgcGh5c2ljYWxseSBleGlzdGluZyBDUFVzICovCitwaHlzaWRfbWFza190IHBoeXNfY3B1X3ByZXNlbnRfbWFwOworI2VuZGlmCisKKy8qIG1hcCBjcHUgaW5kZXggdG8gcGh5c2ljYWwgQVBJQyBJRCAqLworREVGSU5FX0VBUkxZX1BFUl9DUFUodTE2LCB4ODZfY3B1X3RvX2FwaWNpZCwgQkFEX0FQSUNJRCk7CitERUZJTkVfRUFSTFlfUEVSX0NQVSh1MTYsIHg4Nl9iaW9zX2NwdV9hcGljaWQsIEJBRF9BUElDSUQpOworRVhQT1JUX0VBUkxZX1BFUl9DUFVfU1lNQk9MKHg4Nl9jcHVfdG9fYXBpY2lkKTsKK0VYUE9SVF9FQVJMWV9QRVJfQ1BVX1NZTUJPTCh4ODZfYmlvc19jcHVfYXBpY2lkKTsKKworI2lmIGRlZmluZWQoQ09ORklHX05VTUEpICYmIGRlZmluZWQoQ09ORklHX1g4Nl82NCkKKyNkZWZpbmUJWDg2XzY0X05VTUEJMQorCisvKiBtYXAgY3B1IGluZGV4IHRvIG5vZGUgaW5kZXggKi8KK0RFRklORV9FQVJMWV9QRVJfQ1BVKGludCwgeDg2X2NwdV90b19ub2RlX21hcCwgTlVNQV9OT19OT0RFKTsKK0VYUE9SVF9FQVJMWV9QRVJfQ1BVX1NZTUJPTCh4ODZfY3B1X3RvX25vZGVfbWFwKTsKKworLyogd2hpY2ggbG9naWNhbCBDUFVzIGFyZSBvbiB3aGljaCBub2RlcyAqLworY3B1bWFza190ICpub2RlX3RvX2NwdW1hc2tfbWFwOworRVhQT1JUX1NZTUJPTChub2RlX3RvX2NwdW1hc2tfbWFwKTsKKworLyogc2V0dXAgbm9kZV90b19jcHVtYXNrX21hcCAqLworc3RhdGljIHZvaWQgX19pbml0IHNldHVwX25vZGVfdG9fY3B1bWFza19tYXAodm9pZCk7CisKKyNlbHNlCitzdGF0aWMgaW5saW5lIHZvaWQgc2V0dXBfbm9kZV90b19jcHVtYXNrX21hcCh2b2lkKSB7IH0KKyNlbmRpZgorCisjaWYgZGVmaW5lZChDT05GSUdfSEFWRV9TRVRVUF9QRVJfQ1BVX0FSRUEpICYmIGRlZmluZWQoQ09ORklHX1g4Nl9TTVApCisvKgorICogQ29weSBkYXRhIHVzZWQgaW4gZWFybHkgaW5pdCByb3V0aW5lcyBmcm9tIHRoZSBpbml0aWFsIGFycmF5cyB0byB0aGUKKyAqIHBlciBjcHUgZGF0YSBhcmVhcy4gIFRoZXNlIGFycmF5cyB0aGVuIGJlY29tZSBleHBlbmRhYmxlIGFuZCB0aGUKKyAqICpfZWFybHlfcHRyJ3MgYXJlIHplcm9lZCBpbmRpY2F0aW5nIHRoYXQgdGhlIHN0YXRpYyBhcnJheXMgYXJlIGdvbmUuCisgKi8KK3N0YXRpYyB2b2lkIF9faW5pdCBzZXR1cF9wZXJfY3B1X21hcHModm9pZCkKK3sKKwlpbnQgY3B1OworCisJZm9yX2VhY2hfcG9zc2libGVfY3B1KGNwdSkgeworCQlwZXJfY3B1KHg4Nl9jcHVfdG9fYXBpY2lkLCBjcHUpID0KKwkJCQllYXJseV9wZXJfY3B1X21hcCh4ODZfY3B1X3RvX2FwaWNpZCwgY3B1KTsKKwkJcGVyX2NwdSh4ODZfYmlvc19jcHVfYXBpY2lkLCBjcHUpID0KKwkJCQllYXJseV9wZXJfY3B1X21hcCh4ODZfYmlvc19jcHVfYXBpY2lkLCBjcHUpOworI2lmZGVmIFg4Nl82NF9OVU1BCisJCXBlcl9jcHUoeDg2X2NwdV90b19ub2RlX21hcCwgY3B1KSA9CisJCQkJZWFybHlfcGVyX2NwdV9tYXAoeDg2X2NwdV90b19ub2RlX21hcCwgY3B1KTsKKyNlbmRpZgorCX0KKworCS8qIGluZGljYXRlIHRoZSBlYXJseSBzdGF0aWMgYXJyYXlzIHdpbGwgc29vbiBiZSBnb25lICovCisJZWFybHlfcGVyX2NwdV9wdHIoeDg2X2NwdV90b19hcGljaWQpID0gTlVMTDsKKwllYXJseV9wZXJfY3B1X3B0cih4ODZfYmlvc19jcHVfYXBpY2lkKSA9IE5VTEw7CisjaWZkZWYgWDg2XzY0X05VTUEKKwllYXJseV9wZXJfY3B1X3B0cih4ODZfY3B1X3RvX25vZGVfbWFwKSA9IE5VTEw7CisjZW5kaWYKK30KKworI2lmZGVmIENPTkZJR19IQVZFX0NQVU1BU0tfT0ZfQ1BVX01BUAorY3B1bWFza190ICpjcHVtYXNrX29mX2NwdV9tYXAgX19yZWFkX21vc3RseTsKK0VYUE9SVF9TWU1CT0woY3B1bWFza19vZl9jcHVfbWFwKTsKKworLyogcmVxdWlyZXMgbnJfY3B1X2lkcyB0byBiZSBpbml0aWFsaXplZCAqLworc3RhdGljIHZvaWQgX19pbml0IHNldHVwX2NwdW1hc2tfb2ZfY3B1KHZvaWQpCit7CisJaW50IGk7CisKKwkvKiBhbGxvY19ib290bWVtIHplcm9lcyBtZW1vcnkgKi8KKwljcHVtYXNrX29mX2NwdV9tYXAgPSBhbGxvY19ib290bWVtX2xvdyhzaXplb2YoY3B1bWFza190KSAqIG5yX2NwdV9pZHMpOworCWZvciAoaSA9IDA7IGkgPCBucl9jcHVfaWRzOyBpKyspCisJCWNwdV9zZXQoaSwgY3B1bWFza19vZl9jcHVfbWFwW2ldKTsKK30KKyNlbHNlCitzdGF0aWMgaW5saW5lIHZvaWQgc2V0dXBfY3B1bWFza19vZl9jcHUodm9pZCkgeyB9CisjZW5kaWYKKworI2lmZGVmIENPTkZJR19YODZfMzIKKy8qCisgKiBHcmVhdCBmdXR1cmUgbm90LXNvLWZ1dHVyaXN0aWMgcGxhbjogbWFrZSBpMzg2IGFuZCB4ODZfNjQgZG8gaXQKKyAqIHRoZSBzYW1lIHdheQorICovCit1bnNpZ25lZCBsb25nIF9fcGVyX2NwdV9vZmZzZXRbTlJfQ1BVU10gX19yZWFkX21vc3RseTsKK0VYUE9SVF9TWU1CT0woX19wZXJfY3B1X29mZnNldCk7CitzdGF0aWMgaW5saW5lIHZvaWQgc2V0dXBfY3B1X3BkYV9tYXAodm9pZCkgeyB9CisKKyNlbGlmICFkZWZpbmVkKENPTkZJR19TTVApCitzdGF0aWMgaW5saW5lIHZvaWQgc2V0dXBfY3B1X3BkYV9tYXAodm9pZCkgeyB9CisKKyNlbHNlIC8qIENPTkZJR19TTVAgJiYgQ09ORklHX1g4Nl82NCAqLworCisvKgorICogQWxsb2NhdGUgY3B1X3BkYSBwb2ludGVyIHRhYmxlIGFuZCBhcnJheSB2aWEgYWxsb2NfYm9vdG1lbS4KKyAqLworc3RhdGljIHZvaWQgX19pbml0IHNldHVwX2NwdV9wZGFfbWFwKHZvaWQpCit7CisJY2hhciAqcGRhOworCXN0cnVjdCB4ODY2NF9wZGEgKipuZXdfY3B1X3BkYTsKKwl1bnNpZ25lZCBsb25nIHNpemU7CisJaW50IGNwdTsKKworCXNpemUgPSByb3VuZHVwKHNpemVvZihzdHJ1Y3QgeDg2NjRfcGRhKSwgY2FjaGVfbGluZV9zaXplKCkpOworCisJLyogYWxsb2NhdGUgY3B1X3BkYSBhcnJheSBhbmQgcG9pbnRlciB0YWJsZSAqLworCXsKKwkJdW5zaWduZWQgbG9uZyB0c2l6ZSA9IG5yX2NwdV9pZHMgKiBzaXplb2Yodm9pZCAqKTsKKwkJdW5zaWduZWQgbG9uZyBhc2l6ZSA9IHNpemUgKiAobnJfY3B1X2lkcyAtIDEpOworCisJCXRzaXplID0gcm91bmR1cCh0c2l6ZSwgY2FjaGVfbGluZV9zaXplKCkpOworCQluZXdfY3B1X3BkYSA9IGFsbG9jX2Jvb3RtZW0odHNpemUgKyBhc2l6ZSk7CisJCXBkYSA9IChjaGFyICopbmV3X2NwdV9wZGEgKyB0c2l6ZTsKKwl9CisKKwkvKiBpbml0aWFsaXplIHBvaW50ZXIgdGFibGUgdG8gc3RhdGljIHBkYSdzICovCisJZm9yX2VhY2hfcG9zc2libGVfY3B1KGNwdSkgeworCQlpZiAoY3B1ID09IDApIHsKKwkJCS8qIGxlYXZlIGJvb3QgY3B1IHBkYSBpbiBwbGFjZSAqLworCQkJbmV3X2NwdV9wZGFbMF0gPSBjcHVfcGRhKDApOworCQkJY29udGludWU7CisJCX0KKwkJbmV3X2NwdV9wZGFbY3B1XSA9IChzdHJ1Y3QgeDg2NjRfcGRhICopcGRhOworCQluZXdfY3B1X3BkYVtjcHVdLT5pbl9ib290bWVtID0gMTsKKwkJcGRhICs9IHNpemU7CisJfQorCisJLyogcG9pbnQgdG8gbmV3IHBvaW50ZXIgdGFibGUgKi8KKwlfY3B1X3BkYSA9IG5ld19jcHVfcGRhOworfQorI2VuZGlmCisKKy8qCisgKiBHcmVhdCBmdXR1cmUgcGxhbjoKKyAqIERlY2xhcmUgUERBIGl0c2VsZiBhbmQgc3VwcG9ydCAoaXJxc3RhY2ssdHNzLHBnZCkgYXMgcGVyIGNwdSBkYXRhLgorICogQWx3YXlzIHBvaW50ICVncyB0byBpdHMgYmVnaW5uaW5nCisgKi8KK3ZvaWQgX19pbml0IHNldHVwX3Blcl9jcHVfYXJlYXModm9pZCkKK3sKKwlzc2l6ZV90IHNpemUgPSBQRVJDUFVfRU5PVUdIX1JPT007CisJY2hhciAqcHRyOworCWludCBjcHU7CisKKwkvKiBTZXR1cCBjcHVfcGRhIG1hcCAqLworCXNldHVwX2NwdV9wZGFfbWFwKCk7CisKKwkvKiBDb3B5IHNlY3Rpb24gZm9yIGVhY2ggQ1BVICh3ZSBkaXNjYXJkIHRoZSBvcmlnaW5hbCkgKi8KKwlzaXplID0gUEVSQ1BVX0VOT1VHSF9ST09NOworCXByaW50ayhLRVJOX0lORk8gIlBFUkNQVTogQWxsb2NhdGluZyAlemQgYnl0ZXMgb2YgcGVyIGNwdSBkYXRhXG4iLAorCQkJICBzaXplKTsKKworCWZvcl9lYWNoX3Bvc3NpYmxlX2NwdShjcHUpIHsKKyNpZm5kZWYgQ09ORklHX05FRURfTVVMVElQTEVfTk9ERVMKKwkJcHRyID0gYWxsb2NfYm9vdG1lbV9wYWdlcyhzaXplKTsKKyNlbHNlCisJCWludCBub2RlID0gZWFybHlfY3B1X3RvX25vZGUoY3B1KTsKKwkJaWYgKCFub2RlX29ubGluZShub2RlKSB8fCAhTk9ERV9EQVRBKG5vZGUpKSB7CisJCQlwdHIgPSBhbGxvY19ib290bWVtX3BhZ2VzKHNpemUpOworCQkJcHJpbnRrKEtFUk5fSU5GTworCQkJICAgICAgICJjcHUgJWQgaGFzIG5vIG5vZGUgJWQgb3Igbm9kZS1sb2NhbCBtZW1vcnlcbiIsCisJCQkJY3B1LCBub2RlKTsKKwkJfQorCQllbHNlCisJCQlwdHIgPSBhbGxvY19ib290bWVtX3BhZ2VzX25vZGUoTk9ERV9EQVRBKG5vZGUpLCBzaXplKTsKKyNlbmRpZgorCQlwZXJfY3B1X29mZnNldChjcHUpID0gcHRyIC0gX19wZXJfY3B1X3N0YXJ0OworCQltZW1jcHkocHRyLCBfX3Blcl9jcHVfc3RhcnQsIF9fcGVyX2NwdV9lbmQgLSBfX3Blcl9jcHVfc3RhcnQpOworCisJfQorCisJcHJpbnRrKEtFUk5fREVCVUcgIk5SX0NQVVM6ICVkLCBucl9jcHVfaWRzOiAlZCwgbnJfbm9kZV9pZHMgJWRcbiIsCisJCU5SX0NQVVMsIG5yX2NwdV9pZHMsIG5yX25vZGVfaWRzKTsKKworCS8qIFNldHVwIHBlcmNwdSBkYXRhIG1hcHMgKi8KKwlzZXR1cF9wZXJfY3B1X21hcHMoKTsKKworCS8qIFNldHVwIG5vZGUgdG8gY3B1bWFzayBtYXAgKi8KKwlzZXR1cF9ub2RlX3RvX2NwdW1hc2tfbWFwKCk7CisKKwkvKiBTZXR1cCBjcHVtYXNrX29mX2NwdSBtYXAgKi8KKwlzZXR1cF9jcHVtYXNrX29mX2NwdSgpOworfQorCisjZW5kaWYKKworI2lmZGVmIFg4Nl82NF9OVU1BCisKKy8qCisgKiBBbGxvY2F0ZSBub2RlX3RvX2NwdW1hc2tfbWFwIGJhc2VkIG9uIG51bWJlciBvZiBhdmFpbGFibGUgbm9kZXMKKyAqIFJlcXVpcmVzIG5vZGVfcG9zc2libGVfbWFwIHRvIGJlIHZhbGlkLgorICoKKyAqIE5vdGU6IG5vZGVfdG9fY3B1bWFzaygpIGlzIG5vdCB2YWxpZCB1bnRpbCBhZnRlciB0aGlzIGlzIGRvbmUuCisgKi8KK3N0YXRpYyB2b2lkIF9faW5pdCBzZXR1cF9ub2RlX3RvX2NwdW1hc2tfbWFwKHZvaWQpCit7CisJdW5zaWduZWQgaW50IG5vZGUsIG51bSA9IDA7CisJY3B1bWFza190ICptYXA7CisKKwkvKiBzZXR1cCBucl9ub2RlX2lkcyBpZiBub3QgZG9uZSB5ZXQgKi8KKwlpZiAobnJfbm9kZV9pZHMgPT0gTUFYX05VTU5PREVTKSB7CisJCWZvcl9lYWNoX25vZGVfbWFzayhub2RlLCBub2RlX3Bvc3NpYmxlX21hcCkKKwkJCW51bSA9IG5vZGU7CisJCW5yX25vZGVfaWRzID0gbnVtICsgMTsKKwl9CisKKwkvKiBhbGxvY2F0ZSB0aGUgbWFwICovCisJbWFwID0gYWxsb2NfYm9vdG1lbV9sb3cobnJfbm9kZV9pZHMgKiBzaXplb2YoY3B1bWFza190KSk7CisKKwlEcHJpbnRrKEtFUk5fREVCVUcgIk5vZGUgdG8gY3B1bWFzayBtYXAgYXQgJXAgZm9yICVkIG5vZGVzXG4iLAorCQltYXAsIG5yX25vZGVfaWRzKTsKKworCS8qIG5vZGVfdG9fY3B1bWFzaygpIHdpbGwgbm93IHdvcmsgKi8KKwlub2RlX3RvX2NwdW1hc2tfbWFwID0gbWFwOworfQorCit2b2lkIF9fY3B1aW5pdCBudW1hX3NldF9ub2RlKGludCBjcHUsIGludCBub2RlKQoreworCWludCAqY3B1X3RvX25vZGVfbWFwID0gZWFybHlfcGVyX2NwdV9wdHIoeDg2X2NwdV90b19ub2RlX21hcCk7CisKKwlpZiAoY3B1X3BkYShjcHUpICYmIG5vZGUgIT0gTlVNQV9OT19OT0RFKQorCQljcHVfcGRhKGNwdSktPm5vZGVudW1iZXIgPSBub2RlOworCisJaWYgKGNwdV90b19ub2RlX21hcCkKKwkJY3B1X3RvX25vZGVfbWFwW2NwdV0gPSBub2RlOworCisJZWxzZSBpZiAocGVyX2NwdV9vZmZzZXQoY3B1KSkKKwkJcGVyX2NwdSh4ODZfY3B1X3RvX25vZGVfbWFwLCBjcHUpID0gbm9kZTsKKworCWVsc2UKKwkJRHByaW50ayhLRVJOX0lORk8gIlNldHRpbmcgbm9kZSBmb3Igbm9uLXByZXNlbnQgY3B1ICVkXG4iLCBjcHUpOworfQorCit2b2lkIF9fY3B1aW5pdCBudW1hX2NsZWFyX25vZGUoaW50IGNwdSkKK3sKKwludW1hX3NldF9ub2RlKGNwdSwgTlVNQV9OT19OT0RFKTsKK30KKworI2lmbmRlZiBDT05GSUdfREVCVUdfUEVSX0NQVV9NQVBTCisKK3ZvaWQgX19jcHVpbml0IG51bWFfYWRkX2NwdShpbnQgY3B1KQoreworCWNwdV9zZXQoY3B1LCBub2RlX3RvX2NwdW1hc2tfbWFwW2Vhcmx5X2NwdV90b19ub2RlKGNwdSldKTsKK30KKwordm9pZCBfX2NwdWluaXQgbnVtYV9yZW1vdmVfY3B1KGludCBjcHUpCit7CisJY3B1X2NsZWFyKGNwdSwgbm9kZV90b19jcHVtYXNrX21hcFtjcHVfdG9fbm9kZShjcHUpXSk7Cit9CisKKyNlbHNlIC8qIENPTkZJR19ERUJVR19QRVJfQ1BVX01BUFMgKi8KKworLyoKKyAqIC0tLS0tLS0tLSBkZWJ1ZyB2ZXJzaW9ucyBvZiB0aGUgbnVtYSBmdW5jdGlvbnMgLS0tLS0tLS0tCisgKi8KK3N0YXRpYyB2b2lkIF9fY3B1aW5pdCBudW1hX3NldF9jcHVtYXNrKGludCBjcHUsIGludCBlbmFibGUpCit7CisJaW50IG5vZGUgPSBjcHVfdG9fbm9kZShjcHUpOworCWNwdW1hc2tfdCAqbWFzazsKKwljaGFyIGJ1Zls2NF07CisKKwlpZiAobm9kZV90b19jcHVtYXNrX21hcCA9PSBOVUxMKSB7CisJCXByaW50ayhLRVJOX0VSUiAibm9kZV90b19jcHVtYXNrX21hcCBOVUxMXG4iKTsKKwkJZHVtcF9zdGFjaygpOworCQlyZXR1cm47CisJfQorCisJbWFzayA9ICZub2RlX3RvX2NwdW1hc2tfbWFwW25vZGVdOworCWlmIChlbmFibGUpCisJCWNwdV9zZXQoY3B1LCAqbWFzayk7CisJZWxzZQorCQljcHVfY2xlYXIoY3B1LCAqbWFzayk7CisKKwljcHVsaXN0X3NjbnByaW50ZihidWYsIHNpemVvZihidWYpLCAqbWFzayk7CisJcHJpbnRrKEtFUk5fREVCVUcgIiVzIGNwdSAlZCBub2RlICVkOiBtYXNrIG5vdyAlc1xuIiwKKwkJZW5hYmxlPyAibnVtYV9hZGRfY3B1IjoibnVtYV9yZW1vdmVfY3B1IiwgY3B1LCBub2RlLCBidWYpOworIH0KKwordm9pZCBfX2NwdWluaXQgbnVtYV9hZGRfY3B1KGludCBjcHUpCit7CisJbnVtYV9zZXRfY3B1bWFzayhjcHUsIDEpOworfQorCit2b2lkIF9fY3B1aW5pdCBudW1hX3JlbW92ZV9jcHUoaW50IGNwdSkKK3sKKwludW1hX3NldF9jcHVtYXNrKGNwdSwgMCk7Cit9CisKK2ludCBjcHVfdG9fbm9kZShpbnQgY3B1KQoreworCWlmIChlYXJseV9wZXJfY3B1X3B0cih4ODZfY3B1X3RvX25vZGVfbWFwKSkgeworCQlwcmludGsoS0VSTl9XQVJOSU5HCisJCQkiY3B1X3RvX25vZGUoJWQpOiB1c2FnZSB0b28gZWFybHkhXG4iLCBjcHUpOworCQlkdW1wX3N0YWNrKCk7CisJCXJldHVybiBlYXJseV9wZXJfY3B1X3B0cih4ODZfY3B1X3RvX25vZGVfbWFwKVtjcHVdOworCX0KKwlyZXR1cm4gcGVyX2NwdSh4ODZfY3B1X3RvX25vZGVfbWFwLCBjcHUpOworfQorRVhQT1JUX1NZTUJPTChjcHVfdG9fbm9kZSk7CisKKy8qCisgKiBTYW1lIGZ1bmN0aW9uIGFzIGNwdV90b19ub2RlKCkgYnV0IHVzZWQgaWYgY2FsbGVkIGJlZm9yZSB0aGUKKyAqIHBlcl9jcHUgYXJlYXMgYXJlIHNldHVwLgorICovCitpbnQgZWFybHlfY3B1X3RvX25vZGUoaW50IGNwdSkKK3sKKwlpZiAoZWFybHlfcGVyX2NwdV9wdHIoeDg2X2NwdV90b19ub2RlX21hcCkpCisJCXJldHVybiBlYXJseV9wZXJfY3B1X3B0cih4ODZfY3B1X3RvX25vZGVfbWFwKVtjcHVdOworCisJaWYgKCFwZXJfY3B1X29mZnNldChjcHUpKSB7CisJCXByaW50ayhLRVJOX1dBUk5JTkcKKwkJCSJlYXJseV9jcHVfdG9fbm9kZSglZCk6IG5vIHBlcl9jcHUgYXJlYSFcbiIsIGNwdSk7CisJCWR1bXBfc3RhY2soKTsKKwkJcmV0dXJuIE5VTUFfTk9fTk9ERTsKKwl9CisJcmV0dXJuIHBlcl9jcHUoeDg2X2NwdV90b19ub2RlX21hcCwgY3B1KTsKK30KKworCisvKiBlbXB0eSBjcHVtYXNrICovCitzdGF0aWMgY29uc3QgY3B1bWFza190IGNwdV9tYXNrX25vbmU7CisKKy8qCisgKiBSZXR1cm5zIGEgcG9pbnRlciB0byB0aGUgYml0bWFzayBvZiBDUFVzIG9uIE5vZGUgJ25vZGUnLgorICovCitjb25zdCBjcHVtYXNrX3QgKl9ub2RlX3RvX2NwdW1hc2tfcHRyKGludCBub2RlKQoreworCWlmIChub2RlX3RvX2NwdW1hc2tfbWFwID09IE5VTEwpIHsKKwkJcHJpbnRrKEtFUk5fV0FSTklORworCQkJIl9ub2RlX3RvX2NwdW1hc2tfcHRyKCVkKTogbm8gbm9kZV90b19jcHVtYXNrX21hcCFcbiIsCisJCQlub2RlKTsKKwkJZHVtcF9zdGFjaygpOworCQlyZXR1cm4gKGNvbnN0IGNwdW1hc2tfdCAqKSZjcHVfb25saW5lX21hcDsKKwl9CisJaWYgKG5vZGUgPj0gbnJfbm9kZV9pZHMpIHsKKwkJcHJpbnRrKEtFUk5fV0FSTklORworCQkJIl9ub2RlX3RvX2NwdW1hc2tfcHRyKCVkKTogbm9kZSA+IG5yX25vZGVfaWRzKCVkKVxuIiwKKwkJCW5vZGUsIG5yX25vZGVfaWRzKTsKKwkJZHVtcF9zdGFjaygpOworCQlyZXR1cm4gJmNwdV9tYXNrX25vbmU7CisJfQorCXJldHVybiAmbm9kZV90b19jcHVtYXNrX21hcFtub2RlXTsKK30KK0VYUE9SVF9TWU1CT0woX25vZGVfdG9fY3B1bWFza19wdHIpOworCisvKgorICogUmV0dXJucyBhIGJpdG1hc2sgb2YgQ1BVcyBvbiBOb2RlICdub2RlJy4KKyAqCisgKiBTaWRlIG5vdGU6IHRoaXMgZnVuY3Rpb24gY3JlYXRlcyB0aGUgcmV0dXJuZWQgY3B1bWFzayBvbiB0aGUgc3RhY2sKKyAqIHNvIHdpdGggYSBoaWdoIE5SX0NQVVMgY291bnQsIGV4Y2Vzc2l2ZSBzdGFjayBzcGFjZSBpcyB1c2VkLiAgVGhlCisgKiBub2RlX3RvX2NwdW1hc2tfcHRyIGZ1bmN0aW9uIHNob3VsZCBiZSB1c2VkIHdoZW5ldmVyIHBvc3NpYmxlLgorICovCitjcHVtYXNrX3Qgbm9kZV90b19jcHVtYXNrKGludCBub2RlKQoreworCWlmIChub2RlX3RvX2NwdW1hc2tfbWFwID09IE5VTEwpIHsKKwkJcHJpbnRrKEtFUk5fV0FSTklORworCQkJIm5vZGVfdG9fY3B1bWFzayglZCk6IG5vIG5vZGVfdG9fY3B1bWFza19tYXAhXG4iLCBub2RlKTsKKwkJZHVtcF9zdGFjaygpOworCQlyZXR1cm4gY3B1X29ubGluZV9tYXA7CisJfQorCWlmIChub2RlID49IG5yX25vZGVfaWRzKSB7CisJCXByaW50ayhLRVJOX1dBUk5JTkcKKwkJCSJub2RlX3RvX2NwdW1hc2soJWQpOiBub2RlID4gbnJfbm9kZV9pZHMoJWQpXG4iLAorCQkJbm9kZSwgbnJfbm9kZV9pZHMpOworCQlkdW1wX3N0YWNrKCk7CisJCXJldHVybiBjcHVfbWFza19ub25lOworCX0KKwlyZXR1cm4gbm9kZV90b19jcHVtYXNrX21hcFtub2RlXTsKK30KK0VYUE9SVF9TWU1CT0wobm9kZV90b19jcHVtYXNrKTsKKworLyoKKyAqIC0tLS0tLS0tLSBlbmQgb2YgZGVidWcgdmVyc2lvbnMgb2YgdGhlIG51bWEgZnVuY3Rpb25zIC0tLS0tLS0tLQorICovCisKKyNlbmRpZiAvKiBDT05GSUdfREVCVUdfUEVSX0NQVV9NQVBTICovCisKKyNlbmRpZiAvKiBYODZfNjRfTlVNQSAqLworCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvc21wYm9vdC5jIGIvYXJjaC94ODYva2VybmVsL3NtcGJvb3QuYwppbmRleCAzZTFjZWNlLi5mMzVjMmQ4IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvc21wYm9vdC5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9zbXBib290LmMKQEAgLTU5LDcgKzU5LDYgQEAKICNpbmNsdWRlIDxhc20vcGd0YWJsZS5oPgogI2luY2x1ZGUgPGFzbS90bGJmbHVzaC5oPgogI2luY2x1ZGUgPGFzbS9tdHJyLmg+Ci0jaW5jbHVkZSA8YXNtL25taS5oPgogI2luY2x1ZGUgPGFzbS92bWkuaD4KICNpbmNsdWRlIDxhc20vZ2VuYXBpYy5oPgogI2luY2x1ZGUgPGxpbnV4L21jMTQ2ODE4cnRjLmg+CkBAIC02OCwyMiArNjcsNiBAQAogI2luY2x1ZGUgPG1hY2hfd2FrZWNwdS5oPgogI2luY2x1ZGUgPHNtcGJvb3RfaG9va3MuaD4KIAotLyoKLSAqIEZJWE1FOiBGb3IgeDg2XzY0LCB0aG9zZSBhcmUgZGVmaW5lZCBpbiBvdGhlciBmaWxlcy4gQnV0IG1vdmluZyB0aGVtIGhlcmUsCi0gKiB3b3VsZCBtYWtlIHRoZSBzZXR1cCBhcmVhcyBkZXBlbmRlbnQgb24gc21wLCB3aGljaCBpcyBhIGxvc3MuIFdoZW4gd2UKLSAqIGludGVncmF0ZSBhcGljIGJldHdlZW4gYXJjaGVzLCB3ZSBjYW4gcHJvYmFibHkgZG8gYSBiZXR0ZXIgam9iLCBidXQKLSAqIHJpZ2h0IG5vdywgdGhleSdsbCBzdGF5IGhlcmUgLS0gZ2xvbW1lcgotICovCi0KLS8qIHdoaWNoIGxvZ2ljYWwgQ1BVIG51bWJlciBtYXBzIHRvIHdoaWNoIENQVSAocGh5c2ljYWwgQVBJQyBJRCkgKi8KLXUxNiB4ODZfY3B1X3RvX2FwaWNpZF9pbml0W05SX0NQVVNdIF9faW5pdGRhdGEgPQotCQkJeyBbMCAuLi4gTlJfQ1BVUy0xXSA9IEJBRF9BUElDSUQgfTsKLXZvaWQgKng4Nl9jcHVfdG9fYXBpY2lkX2Vhcmx5X3B0cjsKLQotdTE2IHg4Nl9iaW9zX2NwdV9hcGljaWRfaW5pdFtOUl9DUFVTXSBfX2luaXRkYXRhCi0JCQkJPSB7IFswIC4uLiBOUl9DUFVTLTFdID0gQkFEX0FQSUNJRCB9Owotdm9pZCAqeDg2X2Jpb3NfY3B1X2FwaWNpZF9lYXJseV9wdHI7Ci0KICNpZmRlZiBDT05GSUdfWDg2XzMyCiB1OCBhcGljaWRfMl9ub2RlW01BWF9BUElDSURdOwogc3RhdGljIGludCBsb3dfbWFwcGluZ3M7CkBAIC0xOTgsMTMgKzE4MSwxMiBAQAogCW1hcF9jcHVfdG9fbm9kZShjcHUsIG5vZGUpOwogfQogCi1zdGF0aWMgdm9pZCB1bm1hcF9jcHVfdG9fbG9naWNhbF9hcGljaWQoaW50IGNwdSkKK3ZvaWQgbnVtYV9yZW1vdmVfY3B1KGludCBjcHUpCiB7CiAJY3B1XzJfbG9naWNhbF9hcGljaWRbY3B1XSA9IEJBRF9BUElDSUQ7CiAJdW5tYXBfY3B1X3RvX25vZGUoY3B1KTsKIH0KICNlbHNlCi0jZGVmaW5lIHVubWFwX2NwdV90b19sb2dpY2FsX2FwaWNpZChjcHUpIGRvIHt9IHdoaWxlICgwKQogI2RlZmluZSBtYXBfY3B1X3RvX2xvZ2ljYWxfYXBpY2lkKCkgIGRvIHt9IHdoaWxlICgwKQogI2VuZGlmCiAKQEAgLTM0NiwxNSArMzI4LDggQEAKIAkgKiBzbXBfY2FsbF9mdW5jdGlvbigpLgogCSAqLwogCWxvY2tfaXBpX2NhbGxfbG9jaygpOwotI2lmZGVmIENPTkZJR19YODZfNjQKLQlzcGluX2xvY2soJnZlY3Rvcl9sb2NrKTsKLQotCS8qIFNldHVwIHRoZSBwZXIgY3B1IGlycSBoYW5kbGluZyBkYXRhIHN0cnVjdHVyZXMgKi8KLQlfX3NldHVwX3ZlY3Rvcl9pcnEoc21wX3Byb2Nlc3Nvcl9pZCgpKTsKLQkvKgotCSAqIEFsbG93IHRoZSBtYXN0ZXIgdG8gY29udGludWUuCi0JICovCi0Jc3Bpbl91bmxvY2soJnZlY3Rvcl9sb2NrKTsKKyNpZmRlZiBDT05GSUdfWDg2X0lPX0FQSUMKKwlzZXR1cF92ZWN0b3JfaXJxKHNtcF9wcm9jZXNzb3JfaWQoKSk7CiAjZW5kaWYKIAljcHVfc2V0KHNtcF9wcm9jZXNzb3JfaWQoKSwgY3B1X29ubGluZV9tYXApOwogCXVubG9ja19pcGlfY2FsbF9sb2NrKCk7CkBAIC0zNjYsMzEgKzM0MSw4IEBACiAJY3B1X2lkbGUoKTsKIH0KIAotI2lmZGVmIENPTkZJR19YODZfMzIKLS8qCi0gKiBFdmVyeXRoaW5nIGhhcyBiZWVuIHNldCB1cCBmb3IgdGhlIHNlY29uZGFyeQotICogQ1BVcyAtIHRoZXkganVzdCBuZWVkIHRvIHJlbG9hZCBldmVyeXRoaW5nCi0gKiBmcm9tIHRoZSB0YXNrIHN0cnVjdHVyZQotICogVGhpcyBmdW5jdGlvbiBtdXN0IG5vdCByZXR1cm4uCi0gKi8KLXZvaWQgX19kZXZpbml0IGluaXRpYWxpemVfc2Vjb25kYXJ5KHZvaWQpCi17Ci0JLyoKLQkgKiBXZSBkb24ndCBhY3R1YWxseSBuZWVkIHRvIGxvYWQgdGhlIGZ1bGwgVFNTLAotCSAqIGJhc2ljYWxseSBqdXN0IHRoZSBzdGFjayBwb2ludGVyIGFuZCB0aGUgaXAuCi0JICovCi0KLQlhc20gdm9sYXRpbGUoCi0JCSJtb3ZsICUwLCUlZXNwXG5cdCIKLQkJImptcCAqJTEiCi0JCToKLQkJOiJtIiAoY3VycmVudC0+dGhyZWFkLnNwKSwgIm0iIChjdXJyZW50LT50aHJlYWQuaXApKTsKLX0KLSNlbmRpZgotCiBzdGF0aWMgdm9pZCBfX2NwdWluaXQgc21wX2FwcGx5X3F1aXJrcyhzdHJ1Y3QgY3B1aW5mb194ODYgKmMpCiB7Ci0jaWZkZWYgQ09ORklHX1g4Nl8zMgogCS8qCiAJICogTWFzayBCLCBQZW50aXVtLCBidXQgbm90IFBlbnRpdW0gTU1YCiAJICovCkBAIC00NDAsNyArMzkyLDYgQEAKIAogdmFsaWRfazc6CiAJOwotI2VuZGlmCiB9CiAKIHN0YXRpYyB2b2lkIF9fY3B1aW5pdCBzbXBfY2hlY2tzKHZvaWQpCkBAIC01NTUsMjMgKzUwNiw2IEBACiAJCXJldHVybiBjLT5sbGNfc2hhcmVkX21hcDsKIH0KIAotI2lmZGVmIENPTkZJR19YODZfMzIKLS8qCi0gKiBXZSBhcmUgY2FsbGVkIHZlcnkgZWFybHkgdG8gZ2V0IHRoZSBsb3cgbWVtb3J5IGZvciB0aGUKLSAqIFNNUCBib290dXAgdHJhbXBvbGluZSBwYWdlLgotICovCi12b2lkIF9faW5pdCBzbXBfYWxsb2NfbWVtb3J5KHZvaWQpCi17Ci0JdHJhbXBvbGluZV9iYXNlID0gYWxsb2NfYm9vdG1lbV9sb3dfcGFnZXMoUEFHRV9TSVpFKTsKLQkvKgotCSAqIEhhcyB0byBiZSBpbiB2ZXJ5IGxvdyBtZW1vcnkgc28gd2UgY2FuIGV4ZWN1dGUKLQkgKiByZWFsLW1vZGUgQVAgY29kZS4KLQkgKi8KLQlpZiAoX19wYSh0cmFtcG9saW5lX2Jhc2UpID49IDB4OUYwMDApCi0JCUJVRygpOwotfQotI2VuZGlmCi0KIHN0YXRpYyB2b2lkIGltcHJlc3NfZnJpZW5kcyh2b2lkKQogewogCWludCBjcHU7CkBAIC03NDgsMTEgKzY4Miw3IEBACiAJICogdGFyZ2V0IHByb2Nlc3NvciBzdGF0ZS4KIAkgKi8KIAlzdGFydHVwX2lwaV9ob29rKHBoeXNfYXBpY2lkLCAodW5zaWduZWQgbG9uZykgc3RhcnRfc2Vjb25kYXJ5LAotI2lmZGVmIENPTkZJR19YODZfNjQKLQkJCSAodW5zaWduZWQgbG9uZylpbml0X3JzcCk7Ci0jZWxzZQogCQkJICh1bnNpZ25lZCBsb25nKXN0YWNrX3N0YXJ0LnNwKTsKLSNlbmRpZgogCiAJLyoKIAkgKiBSdW4gU1RBUlRVUCBJUEkgbG9vcC4KQEAgLTgzMiw2ICs3NjIsNDUgQEAKIAljb21wbGV0ZSgmY19pZGxlLT5kb25lKTsKIH0KIAorI2lmZGVmIENPTkZJR19YODZfNjQKKy8qCisgKiBBbGxvY2F0ZSBub2RlIGxvY2FsIG1lbW9yeSBmb3IgdGhlIEFQIHBkYS4KKyAqCisgKiBNdXN0IGJlIGNhbGxlZCBhZnRlciB0aGUgX2NwdV9wZGEgcG9pbnRlciB0YWJsZSBpcyBpbml0aWFsaXplZC4KKyAqLworc3RhdGljIGludCBfX2NwdWluaXQgZ2V0X2xvY2FsX3BkYShpbnQgY3B1KQoreworCXN0cnVjdCB4ODY2NF9wZGEgKm9sZHBkYSwgKm5ld3BkYTsKKwl1bnNpZ25lZCBsb25nIHNpemUgPSBzaXplb2Yoc3RydWN0IHg4NjY0X3BkYSk7CisJaW50IG5vZGUgPSBjcHVfdG9fbm9kZShjcHUpOworCisJaWYgKGNwdV9wZGEoY3B1KSAmJiAhY3B1X3BkYShjcHUpLT5pbl9ib290bWVtKQorCQlyZXR1cm4gMDsKKworCW9sZHBkYSA9IGNwdV9wZGEoY3B1KTsKKwluZXdwZGEgPSBrbWFsbG9jX25vZGUoc2l6ZSwgR0ZQX0FUT01JQywgbm9kZSk7CisJaWYgKCFuZXdwZGEpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICJDb3VsZCBub3QgYWxsb2NhdGUgbm9kZSBsb2NhbCBQREEgIgorCQkJImZvciBDUFUgJWQgb24gbm9kZSAlZFxuIiwgY3B1LCBub2RlKTsKKworCQlpZiAob2xkcGRhKQorCQkJcmV0dXJuIDA7CS8qIGhhdmUgYSB1c2FibGUgcGRhICovCisJCWVsc2UKKwkJCXJldHVybiAtMTsKKwl9CisKKwlpZiAob2xkcGRhKSB7CisJCW1lbWNweShuZXdwZGEsIG9sZHBkYSwgc2l6ZSk7CisJCWlmICghYWZ0ZXJfYm9vdG1lbSkKKwkJCWZyZWVfYm9vdG1lbSgodW5zaWduZWQgbG9uZylvbGRwZGEsIHNpemUpOworCX0KKworCW5ld3BkYS0+aW5fYm9vdG1lbSA9IDA7CisJY3B1X3BkYShjcHUpID0gbmV3cGRhOworCXJldHVybiAwOworfQorI2VuZGlmIC8qIENPTkZJR19YODZfNjQgKi8KKwogc3RhdGljIGludCBfX2NwdWluaXQgZG9fYm9vdF9jcHUoaW50IGFwaWNpZCwgaW50IGNwdSkKIC8qCiAgKiBOT1RFIC0gb24gbW9zdCBzeXN0ZW1zIHRoaXMgaXMgYSBQSFlTSUNBTCBhcGljIElELCBidXQgb24gbXVsdGlxdWFkCkBAIC04NDgsMjggKzgxNywxNCBAQAogCQkuZG9uZSA9IENPTVBMRVRJT05fSU5JVElBTElaRVJfT05TVEFDSyhjX2lkbGUuZG9uZSksCiAJfTsKIAlJTklUX1dPUksoJmNfaWRsZS53b3JrLCBkb19mb3JrX2lkbGUpOwotI2lmZGVmIENPTkZJR19YODZfNjQKLQkvKiBhbGxvY2F0ZSBtZW1vcnkgZm9yIGdkdHMgb2Ygc2Vjb25kYXJ5IGNwdXMuIEhvdHBsdWcgaXMgY29uc2lkZXJlZCAqLwotCWlmICghY3B1X2dkdF9kZXNjcltjcHVdLmFkZHJlc3MgJiYKLQkJIShjcHVfZ2R0X2Rlc2NyW2NwdV0uYWRkcmVzcyA9IGdldF96ZXJvZWRfcGFnZShHRlBfS0VSTkVMKSkpIHsKLQkJcHJpbnRrKEtFUk5fRVJSICJGYWlsZWQgdG8gYWxsb2NhdGUgR0RUIGZvciBDUFUgJWRcbiIsIGNwdSk7Ci0JCXJldHVybiAtMTsKLQl9CiAKKyNpZmRlZiBDT05GSUdfWDg2XzY0CiAJLyogQWxsb2NhdGUgbm9kZSBsb2NhbCBtZW1vcnkgZm9yIEFQIHBkYXMgKi8KLQlpZiAoY3B1X3BkYShjcHUpID09ICZib290X2NwdV9wZGFbY3B1XSkgewotCQlzdHJ1Y3QgeDg2NjRfcGRhICpuZXdwZGEsICpwZGE7Ci0JCWludCBub2RlID0gY3B1X3RvX25vZGUoY3B1KTsKLQkJcGRhID0gY3B1X3BkYShjcHUpOwotCQluZXdwZGEgPSBrbWFsbG9jX25vZGUoc2l6ZW9mKHN0cnVjdCB4ODY2NF9wZGEpLCBHRlBfQVRPTUlDLAotCQkJCSAgICAgIG5vZGUpOwotCQlpZiAobmV3cGRhKSB7Ci0JCQltZW1jcHkobmV3cGRhLCBwZGEsIHNpemVvZihzdHJ1Y3QgeDg2NjRfcGRhKSk7Ci0JCQljcHVfcGRhKGNwdSkgPSBuZXdwZGE7Ci0JCX0gZWxzZQotCQkJcHJpbnRrKEtFUk5fRVJSCi0JCSJDb3VsZCBub3QgYWxsb2NhdGUgbm9kZSBsb2NhbCBQREEgZm9yIENQVSAlZCBvbiBub2RlICVkXG4iLAotCQkJCWNwdSwgbm9kZSk7CisJaWYgKGNwdSA+IDApIHsKKwkJYm9vdF9lcnJvciA9IGdldF9sb2NhbF9wZGEoY3B1KTsKKwkJaWYgKGJvb3RfZXJyb3IpCisJCQlnb3RvIHJlc3RvcmVfc3RhdGU7CisJCQkvKiBpZiBjYW4ndCBnZXQgcGRhIG1lbW9yeSwgY2FuJ3Qgc3RhcnQgY3B1ICovCiAJfQogI2VuZGlmCiAKQEAgLTkwNSwxOCArODYwLDE1IEBACiAjaWZkZWYgQ09ORklHX1g4Nl8zMgogCXBlcl9jcHUoY3VycmVudF90YXNrLCBjcHUpID0gY19pZGxlLmlkbGU7CiAJaW5pdF9nZHQoY3B1KTsKLQllYXJseV9nZHRfZGVzY3IuYWRkcmVzcyA9ICh1bnNpZ25lZCBsb25nKWdldF9jcHVfZ2R0X3RhYmxlKGNwdSk7Ci0JY19pZGxlLmlkbGUtPnRocmVhZC5pcCA9ICh1bnNpZ25lZCBsb25nKSBzdGFydF9zZWNvbmRhcnk7CiAJLyogU3RhY2sgZm9yIHN0YXJ0dXBfMzIgY2FuIGJlIGp1c3QgYXMgZm9yIHN0YXJ0X3NlY29uZGFyeSBvbndhcmRzICovCi0Jc3RhY2tfc3RhcnQuc3AgPSAodm9pZCAqKSBjX2lkbGUuaWRsZS0+dGhyZWFkLnNwOwogCWlycV9jdHhfaW5pdChjcHUpOwogI2Vsc2UKIAljcHVfcGRhKGNwdSktPnBjdXJyZW50ID0gY19pZGxlLmlkbGU7Ci0JaW5pdF9yc3AgPSBjX2lkbGUuaWRsZS0+dGhyZWFkLnNwOwotCWxvYWRfc3AwKCZwZXJfY3B1KGluaXRfdHNzLCBjcHUpLCAmY19pZGxlLmlkbGUtPnRocmVhZCk7Ci0JaW5pdGlhbF9jb2RlID0gKHVuc2lnbmVkIGxvbmcpc3RhcnRfc2Vjb25kYXJ5OwogCWNsZWFyX3Rza190aHJlYWRfZmxhZyhjX2lkbGUuaWRsZSwgVElGX0ZPUkspOwogI2VuZGlmCisJZWFybHlfZ2R0X2Rlc2NyLmFkZHJlc3MgPSAodW5zaWduZWQgbG9uZylnZXRfY3B1X2dkdF90YWJsZShjcHUpOworCWluaXRpYWxfY29kZSA9ICh1bnNpZ25lZCBsb25nKXN0YXJ0X3NlY29uZGFyeTsKKwlzdGFja19zdGFydC5zcCA9ICh2b2lkICopIGNfaWRsZS5pZGxlLT50aHJlYWQuc3A7CiAKIAkvKiBzdGFydF9pcCBoYWQgYmV0dGVyIGJlIHBhZ2UtYWxpZ25lZCEgKi8KIAlzdGFydF9pcCA9IHNldHVwX3RyYW1wb2xpbmUoKTsKQEAgLTk4NywxMyArOTM5LDEyIEBACiAJCQkJaW5xdWlyZV9yZW1vdGVfYXBpYyhhcGljaWQpOwogCQl9CiAJfQotCisjaWZkZWYgQ09ORklHX1g4Nl82NAorcmVzdG9yZV9zdGF0ZToKKyNlbmRpZgogCWlmIChib290X2Vycm9yKSB7CiAJCS8qIFRyeSB0byBwdXQgdGhpbmdzIGJhY2sgdGhlIHdheSB0aGV5IHdlcmUgYmVmb3JlIC4uLiAqLwotCQl1bm1hcF9jcHVfdG9fbG9naWNhbF9hcGljaWQoY3B1KTsKLSNpZmRlZiBDT05GSUdfWDg2XzY0Ci0JCWNsZWFyX25vZGVfY3B1bWFzayhjcHUpOyAvKiB3YXMgc2V0IGJ5IG51bWFfYWRkX2NwdSAqLwotI2VuZGlmCisJCW51bWFfcmVtb3ZlX2NwdShjcHUpOyAvKiB3YXMgc2V0IGJ5IG51bWFfYWRkX2NwdSAqLwogCQljcHVfY2xlYXIoY3B1LCBjcHVfY2FsbG91dF9tYXApOyAvKiB3YXMgc2V0IGJ5IGRvX2Jvb3RfY3B1KCkgKi8KIAkJY3B1X2NsZWFyKGNwdSwgY3B1X2luaXRpYWxpemVkKTsgLyogd2FzIHNldCBieSBjcHVfaW5pdCgpICovCiAJCWNwdV9jbGVhcihjcHUsIGNwdV9wcmVzZW50X21hcCk7CkBAIC0xMDg3LDE0ICsxMDM4LDEyIEBACiB7CiAJY3B1X3ByZXNlbnRfbWFwID0gY3B1bWFza19vZl9jcHUoMCk7CiAJY3B1X3Bvc3NpYmxlX21hcCA9IGNwdW1hc2tfb2ZfY3B1KDApOwotI2lmZGVmIENPTkZJR19YODZfMzIKIAlzbXBib290X2NsZWFyX2lvX2FwaWNfaXJxcygpOwotI2VuZGlmCisKIAlpZiAoc21wX2ZvdW5kX2NvbmZpZykKLQkJcGh5c19jcHVfcHJlc2VudF9tYXAgPQotCQkJCXBoeXNpZF9tYXNrX29mX3BoeXNpZChib290X2NwdV9waHlzaWNhbF9hcGljaWQpOworCQlwaHlzaWRfc2V0X21hc2tfb2ZfcGh5c2lkKGJvb3RfY3B1X3BoeXNpY2FsX2FwaWNpZCwgJnBoeXNfY3B1X3ByZXNlbnRfbWFwKTsKIAllbHNlCi0JCXBoeXNfY3B1X3ByZXNlbnRfbWFwID0gcGh5c2lkX21hc2tfb2ZfcGh5c2lkKDApOworCQlwaHlzaWRfc2V0X21hc2tfb2ZfcGh5c2lkKDAsICZwaHlzX2NwdV9wcmVzZW50X21hcCk7CiAJbWFwX2NwdV90b19sb2dpY2FsX2FwaWNpZCgpOwogCWNwdV9zZXQoMCwgcGVyX2NwdShjcHVfc2libGluZ19tYXAsIDApKTsKIAljcHVfc2V0KDAsIHBlcl9jcHUoY3B1X2NvcmVfbWFwLCAwKSk7CkBAIC0xMTU3LDEyICsxMTA2LDEyIEBACiAJICogSWYgU01QIHNob3VsZCBiZSBkaXNhYmxlZCwgdGhlbiByZWFsbHkgZGlzYWJsZSBpdCEKIAkgKi8KIAlpZiAoIW1heF9jcHVzKSB7Ci0JCXByaW50ayhLRVJOX0lORk8gIlNNUCBtb2RlIGRlYWN0aXZhdGVkLCIKLQkJCQkgImZvcmNpbmcgdXNlIG9mIGR1bW15IEFQSUMgZW11bGF0aW9uLlxuIik7CisJCXByaW50ayhLRVJOX0lORk8gIlNNUCBtb2RlIGRlYWN0aXZhdGVkLlxuIik7CiAJCXNtcGJvb3RfY2xlYXJfaW9fYXBpYygpOwotI2lmZGVmIENPTkZJR19YODZfMzIKKworCQlsb2NhbGlzZV9ubWlfd2F0Y2hkb2coKTsKKwogCQljb25uZWN0X2JzcF9BUElDKCk7Ci0jZW5kaWYKIAkJc2V0dXBfbG9jYWxfQVBJQygpOwogCQllbmRfbG9jYWxfQVBJQ19zZXR1cCgpOwogCQlyZXR1cm4gLTE7CkBAIC0xMTkwLDcgKzExMzksNiBAQAogdm9pZCBfX2luaXQgbmF0aXZlX3NtcF9wcmVwYXJlX2NwdXModW5zaWduZWQgaW50IG1heF9jcHVzKQogewogCXByZWVtcHRfZGlzYWJsZSgpOwotCW5taV93YXRjaGRvZ19kZWZhdWx0KCk7CiAJc21wX2NwdV9pbmRleF9kZWZhdWx0KCk7CiAJY3VycmVudF9jcHVfZGF0YSA9IGJvb3RfY3B1X2RhdGE7CiAJY3B1X2NhbGxpbl9tYXAgPSBjcHVtYXNrX29mX2NwdSgwKTsKQEAgLTEyMTcsOSArMTE2NSw4IEBACiAJfQogCXByZWVtcHRfZW5hYmxlKCk7CiAKLSNpZmRlZiBDT05GSUdfWDg2XzMyCiAJY29ubmVjdF9ic3BfQVBJQygpOwotI2VuZGlmCisKIAkvKgogCSAqIFN3aXRjaCBmcm9tIFBJQyB0byBBUElDIG1vZGUuCiAJICovCkBAIC0xMjU3LDggKzEyMDQsOCBAQAogCWludCBtZSA9IHNtcF9wcm9jZXNzb3JfaWQoKTsKICNpZmRlZiBDT05GSUdfWDg2XzMyCiAJaW5pdF9nZHQobWUpOwotCXN3aXRjaF90b19uZXdfZ2R0KCk7CiAjZW5kaWYKKwlzd2l0Y2hfdG9fbmV3X2dkdCgpOwogCS8qIGFscmVhZHkgc2V0IG1lIGluIGNwdV9vbmxpbmVfbWFwIGluIGJvb3RfY3B1X2luaXQoKSAqLwogCWNwdV9zZXQobWUsIGNwdV9jYWxsb3V0X21hcCk7CiAJcGVyX2NwdShjcHVfc3RhdGUsIG1lKSA9IENQVV9PTkxJTkU7CkBAIC0xMjc4LDIzICsxMjI1LDYgQEAKIAogI2lmZGVmIENPTkZJR19IT1RQTFVHX0NQVQogCi0jICBpZmRlZiBDT05GSUdfWDg2XzMyCi12b2lkIGNwdV9leGl0X2NsZWFyKHZvaWQpCi17Ci0JaW50IGNwdSA9IHJhd19zbXBfcHJvY2Vzc29yX2lkKCk7Ci0KLQlpZGxlX3Rhc2tfZXhpdCgpOwotCi0JY3B1X3VuaW5pdCgpOwotCWlycV9jdHhfZXhpdChjcHUpOwotCi0JY3B1X2NsZWFyKGNwdSwgY3B1X2NhbGxvdXRfbWFwKTsKLQljcHVfY2xlYXIoY3B1LCBjcHVfY2FsbGluX21hcCk7Ci0KLQl1bm1hcF9jcHVfdG9fbG9naWNhbF9hcGljaWQoY3B1KTsKLX0KLSMgIGVuZGlmIC8qIENPTkZJR19YODZfMzIgKi8KLQogc3RhdGljIHZvaWQgcmVtb3ZlX3NpYmxpbmdpbmZvKGludCBjcHUpCiB7CiAJaW50IHNpYmxpbmc7CkBAIC0xMzQ4LDEyICsxMjc4LDIwIEBACiAJaW50IGk7CiAJaW50IHBvc3NpYmxlOwogCisJLyogbm8gcHJvY2Vzc29yIGZyb20gbXB0YWJsZSBvciBtYWR0ICovCisJaWYgKCFudW1fcHJvY2Vzc29ycykKKwkJbnVtX3Byb2Nlc3NvcnMgPSAxOworCisjaWZkZWYgQ09ORklHX0hPVFBMVUdfQ1BVCiAJaWYgKGFkZGl0aW9uYWxfY3B1cyA9PSAtMSkgewogCQlpZiAoZGlzYWJsZWRfY3B1cyA+IDApCiAJCQlhZGRpdGlvbmFsX2NwdXMgPSBkaXNhYmxlZF9jcHVzOwogCQllbHNlCiAJCQlhZGRpdGlvbmFsX2NwdXMgPSAwOwogCX0KKyNlbHNlCisJYWRkaXRpb25hbF9jcHVzID0gMDsKKyNlbmRpZgogCXBvc3NpYmxlID0gbnVtX3Byb2Nlc3NvcnMgKyBhZGRpdGlvbmFsX2NwdXM7CiAJaWYgKHBvc3NpYmxlID4gTlJfQ1BVUykKIAkJcG9zc2libGUgPSBOUl9DUFVTOwpAQCAtMTM2MywxOCArMTMwMSwxOCBAQAogCiAJZm9yIChpID0gMDsgaSA8IHBvc3NpYmxlOyBpKyspCiAJCWNwdV9zZXQoaSwgY3B1X3Bvc3NpYmxlX21hcCk7CisKKwlucl9jcHVfaWRzID0gcG9zc2libGU7CiB9CiAKIHN0YXRpYyB2b2lkIF9fcmVmIHJlbW92ZV9jcHVfZnJvbV9tYXBzKGludCBjcHUpCiB7CiAJY3B1X2NsZWFyKGNwdSwgY3B1X29ubGluZV9tYXApOwotI2lmZGVmIENPTkZJR19YODZfNjQKIAljcHVfY2xlYXIoY3B1LCBjcHVfY2FsbG91dF9tYXApOwogCWNwdV9jbGVhcihjcHUsIGNwdV9jYWxsaW5fbWFwKTsKIAkvKiB3YXMgc2V0IGJ5IGNwdV9pbml0KCkgKi8KIAljbGVhcl9iaXQoY3B1LCAodW5zaWduZWQgbG9uZyAqKSZjcHVfaW5pdGlhbGl6ZWQpOwotCWNsZWFyX25vZGVfY3B1bWFzayhjcHUpOwotI2VuZGlmCisJbnVtYV9yZW1vdmVfY3B1KGNwdSk7CiB9CiAKIGludCBfX2NwdV9kaXNhYmxlKHZvaWQpCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvc3JhdF8zMi5jIGIvYXJjaC94ODYva2VybmVsL3NyYXRfMzIuYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzBlNGEzNy4uMDAwMDAwMAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvc3JhdF8zMi5jCisrKyAvZGV2L251bGwKQEAgLTEsMzU4ICswLDAgQEAKLS8qCi0gKiBTb21lIG9mIHRoZSBjb2RlIGluIHRoaXMgZmlsZSBoYXMgYmVlbiBnbGVhbmVkIGZyb20gdGhlIDY0IGJpdCAKLSAqIGRpc2NvbnRpZ21lbSBzdXBwb3J0IGNvZGUgYmFzZS4KLSAqCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDIsIElCTSBDb3JwLgotICoKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuICAgICAgICAgIAotICoKLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKLSAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0gKgotICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dAotICogV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICogTUVSQ0hBTlRBQklMSVRZIE9SIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLCBHT09EIFRJVExFIG9yCi0gKiBOT04gSU5GUklOR0VNRU5ULiAgU2VlIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZQotICogZGV0YWlscy4KLSAqCi0gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKLSAqIEZvdW5kYXRpb24sIEluYy4sIDY3NSBNYXNzIEF2ZSwgQ2FtYnJpZGdlLCBNQSAwMjEzOSwgVVNBLgotICoKLSAqIFNlbmQgZmVlZGJhY2sgdG8gUGF0IEdhdWdoZW4gPGdvbmVAdXMuaWJtLmNvbT4KLSAqLwotI2luY2x1ZGUgPGxpbnV4L21tLmg+Ci0jaW5jbHVkZSA8bGludXgvYm9vdG1lbS5oPgotI2luY2x1ZGUgPGxpbnV4L21tem9uZS5oPgotI2luY2x1ZGUgPGxpbnV4L2FjcGkuaD4KLSNpbmNsdWRlIDxsaW51eC9ub2RlbWFzay5oPgotI2luY2x1ZGUgPGFzbS9zcmF0Lmg+Ci0jaW5jbHVkZSA8YXNtL3RvcG9sb2d5Lmg+Ci0jaW5jbHVkZSA8YXNtL3NtcC5oPgotCi0vKgotICogcHJveGltaXR5IG1hY3JvcyBhbmQgZGVmaW5pdGlvbnMKLSAqLwotI2RlZmluZSBOT0RFX0FSUkFZX0lOREVYKHgpCSgoeCkgLyA4KQkvKiA4IGJpdHMvY2hhciAqLwotI2RlZmluZSBOT0RFX0FSUkFZX09GRlNFVCh4KQkoKHgpICUgOCkJLyogOCBiaXRzL2NoYXIgKi8KLSNkZWZpbmUgQk1BUF9TRVQoYm1hcCwgYml0KQkoKGJtYXApW05PREVfQVJSQVlfSU5ERVgoYml0KV0gfD0gMSA8PCBOT0RFX0FSUkFZX09GRlNFVChiaXQpKQotI2RlZmluZSBCTUFQX1RFU1QoYm1hcCwgYml0KQkoKGJtYXApW05PREVfQVJSQVlfSU5ERVgoYml0KV0gJiAoMSA8PCBOT0RFX0FSUkFZX09GRlNFVChiaXQpKSkKLS8qIGJpdG1hcCBsZW5ndGg7IF9QWE0gaXMgYXQgbW9zdCAyNTUgKi8KLSNkZWZpbmUgUFhNX0JJVE1BUF9MRU4gKE1BWF9QWE1fRE9NQUlOUyAvIDgpIAotc3RhdGljIHU4IHB4bV9iaXRtYXBbUFhNX0JJVE1BUF9MRU5dOwkvKiBiaXRtYXAgb2YgcHJveGltaXR5IGRvbWFpbnMgKi8KLQotI2RlZmluZSBNQVhfQ0hVTktTX1BFUl9OT0RFCTMKLSNkZWZpbmUgTUFYQ0hVTktTCQkoTUFYX0NIVU5LU19QRVJfTk9ERSAqIE1BWF9OVU1OT0RFUykKLXN0cnVjdCBub2RlX21lbW9yeV9jaHVua19zIHsKLQl1bnNpZ25lZCBsb25nCXN0YXJ0X3BmbjsKLQl1bnNpZ25lZCBsb25nCWVuZF9wZm47Ci0JdTgJcHhtOwkJLy8gcHJveGltaXR5IGRvbWFpbiBvZiBub2RlCi0JdTgJbmlkOwkJLy8gd2hpY2ggY25vZGUgY29udGFpbnMgdGhpcyBjaHVuaz8KLQl1OAliYW5rOwkJLy8gd2hpY2ggbWVtIGJhbmsgb24gdGhpcyBub2RlCi19Owotc3RhdGljIHN0cnVjdCBub2RlX21lbW9yeV9jaHVua19zIG5vZGVfbWVtb3J5X2NodW5rW01BWENIVU5LU107Ci0KLXN0YXRpYyBpbnQgbnVtX21lbW9yeV9jaHVua3M7CQkvKiB0b3RhbCBudW1iZXIgb2YgbWVtb3J5IGNodW5rcyAqLwotc3RhdGljIHU4IF9faW5pdGRhdGEgYXBpY2lkX3RvX3B4bVtNQVhfQVBJQ0lEXTsKLQotLyogSWRlbnRpZnkgQ1BVIHByb3hpbWl0eSBkb21haW5zICovCi1zdGF0aWMgdm9pZCBfX2luaXQgcGFyc2VfY3B1X2FmZmluaXR5X3N0cnVjdHVyZShjaGFyICpwKQotewotCXN0cnVjdCBhY3BpX3NyYXRfY3B1X2FmZmluaXR5ICpjcHVfYWZmaW5pdHkgPQotCQkJCShzdHJ1Y3QgYWNwaV9zcmF0X2NwdV9hZmZpbml0eSAqKSBwOwotCi0JaWYgKChjcHVfYWZmaW5pdHktPmZsYWdzICYgQUNQSV9TUkFUX0NQVV9FTkFCTEVEKSA9PSAwKQotCQlyZXR1cm47CQkvKiBlbXB0eSBlbnRyeSAqLwotCi0JLyogbWFyayB0aGlzIG5vZGUgYXMgInNlZW4iIGluIG5vZGUgYml0bWFwICovCi0JQk1BUF9TRVQocHhtX2JpdG1hcCwgY3B1X2FmZmluaXR5LT5wcm94aW1pdHlfZG9tYWluX2xvKTsKLQotCWFwaWNpZF90b19weG1bY3B1X2FmZmluaXR5LT5hcGljX2lkXSA9IGNwdV9hZmZpbml0eS0+cHJveGltaXR5X2RvbWFpbl9sbzsKLQotCXByaW50aygiQ1BVIDB4JTAyWCBpbiBwcm94aW1pdHkgZG9tYWluIDB4JTAyWFxuIiwKLQkJY3B1X2FmZmluaXR5LT5hcGljX2lkLCBjcHVfYWZmaW5pdHktPnByb3hpbWl0eV9kb21haW5fbG8pOwotfQotCi0vKgotICogSWRlbnRpZnkgbWVtb3J5IHByb3hpbWl0eSBkb21haW5zIGFuZCBob3QtcmVtb3ZlIGNhcGFiaWxpdGllcy4KLSAqIEZpbGwgbm9kZSBtZW1vcnkgY2h1bmsgbGlzdCBzdHJ1Y3R1cmUuCi0gKi8KLXN0YXRpYyB2b2lkIF9faW5pdCBwYXJzZV9tZW1vcnlfYWZmaW5pdHlfc3RydWN0dXJlIChjaGFyICpzcmF0cCkKLXsKLQl1bnNpZ25lZCBsb25nIGxvbmcgcGFkZHIsIHNpemU7Ci0JdW5zaWduZWQgbG9uZyBzdGFydF9wZm4sIGVuZF9wZm47Ci0JdTggcHhtOwotCXN0cnVjdCBub2RlX21lbW9yeV9jaHVua19zICpwLCAqcSwgKnBlbmQ7Ci0Jc3RydWN0IGFjcGlfc3JhdF9tZW1fYWZmaW5pdHkgKm1lbW9yeV9hZmZpbml0eSA9Ci0JCQkoc3RydWN0IGFjcGlfc3JhdF9tZW1fYWZmaW5pdHkgKikgc3JhdHA7Ci0KLQlpZiAoKG1lbW9yeV9hZmZpbml0eS0+ZmxhZ3MgJiBBQ1BJX1NSQVRfTUVNX0VOQUJMRUQpID09IDApCi0JCXJldHVybjsJCS8qIGVtcHR5IGVudHJ5ICovCi0KLQlweG0gPSBtZW1vcnlfYWZmaW5pdHktPnByb3hpbWl0eV9kb21haW4gJiAweGZmOwotCi0JLyogbWFyayB0aGlzIG5vZGUgYXMgInNlZW4iIGluIG5vZGUgYml0bWFwICovCi0JQk1BUF9TRVQocHhtX2JpdG1hcCwgcHhtKTsKLQotCS8qIGNhbGN1bGF0ZSBpbmZvIGZvciBtZW1vcnkgY2h1bmsgc3RydWN0dXJlICovCi0JcGFkZHIgPSBtZW1vcnlfYWZmaW5pdHktPmJhc2VfYWRkcmVzczsKLQlzaXplID0gbWVtb3J5X2FmZmluaXR5LT5sZW5ndGg7Ci0KLQlzdGFydF9wZm4gPSBwYWRkciA+PiBQQUdFX1NISUZUOwotCWVuZF9wZm4gPSAocGFkZHIgKyBzaXplKSA+PiBQQUdFX1NISUZUOwotCi0KLQlpZiAobnVtX21lbW9yeV9jaHVua3MgPj0gTUFYQ0hVTktTKSB7Ci0JCXByaW50aygiVG9vIG1hbnkgbWVtIGNodW5rcyBpbiBTUkFULiBJZ25vcmluZyAlbGxkIE1CeXRlcyBhdCAlbGx4XG4iLAotCQkJc2l6ZS8oMTAyNCoxMDI0KSwgcGFkZHIpOwotCQlyZXR1cm47Ci0JfQotCi0JLyogSW5zZXJ0aW9uIHNvcnQgYmFzZWQgb24gYmFzZSBhZGRyZXNzICovCi0JcGVuZCA9ICZub2RlX21lbW9yeV9jaHVua1tudW1fbWVtb3J5X2NodW5rc107Ci0JZm9yIChwID0gJm5vZGVfbWVtb3J5X2NodW5rWzBdOyBwIDwgcGVuZDsgcCsrKSB7Ci0JCWlmIChzdGFydF9wZm4gPCBwLT5zdGFydF9wZm4pCi0JCQlicmVhazsKLQl9Ci0JaWYgKHAgPCBwZW5kKSB7Ci0JCWZvciAocSA9IHBlbmQ7IHEgPj0gcDsgcS0tKQotCQkJKihxICsgMSkgPSAqcTsKLQl9Ci0JcC0+c3RhcnRfcGZuID0gc3RhcnRfcGZuOwotCXAtPmVuZF9wZm4gPSBlbmRfcGZuOwotCXAtPnB4bSA9IHB4bTsKLQotCW51bV9tZW1vcnlfY2h1bmtzKys7Ci0KLQlwcmludGsoIk1lbW9yeSByYW5nZSAweCVsWCB0byAweCVsWCAodHlwZSAweCVYKSBpbiBwcm94aW1pdHkgZG9tYWluIDB4JTAyWCAlc1xuIiwKLQkJc3RhcnRfcGZuLCBlbmRfcGZuLAotCQltZW1vcnlfYWZmaW5pdHktPm1lbW9yeV90eXBlLAotCQlweG0sCi0JCSgobWVtb3J5X2FmZmluaXR5LT5mbGFncyAmIEFDUElfU1JBVF9NRU1fSE9UX1BMVUdHQUJMRSkgPwotCQkgImVuYWJsZWQgYW5kIHJlbW92YWJsZSIgOiAiZW5hYmxlZCIgKSApOwotfQotCi0vKgotICogVGhlIFNSQVQgdGFibGUgYWx3YXlzIGxpc3RzIGFzY2VuZGluZyBhZGRyZXNzZXMsIHNvIGNhbiBhbHdheXMKLSAqIGFzc3VtZSB0aGF0IHRoZSBmaXJzdCAic3RhcnQiIGFkZHJlc3MgdGhhdCB5b3Ugc2VlIGlzIHRoZSByZWFsCi0gKiBzdGFydCBvZiB0aGUgbm9kZSwgYW5kIHRoYXQgdGhlIGN1cnJlbnQgImVuZCIgYWRkcmVzcyBpcyBhZnRlcgotICogdGhlIHByZXZpb3VzIG9uZS4KLSAqLwotc3RhdGljIF9faW5pdCB2b2lkIG5vZGVfcmVhZF9jaHVuayhpbnQgbmlkLCBzdHJ1Y3Qgbm9kZV9tZW1vcnlfY2h1bmtfcyAqbWVtb3J5X2NodW5rKQotewotCS8qCi0JICogT25seSBhZGQgcHJlc2VudCBtZW1vcnkgYXMgdG9sZCBieSB0aGUgZTgyMC4KLQkgKiBUaGVyZSBpcyBubyBndWFyYW50ZWUgZnJvbSB0aGUgU1JBVCB0aGF0IHRoZSBtZW1vcnkgaXQKLQkgKiBlbnVtZXJhdGVzIGlzIHByZXNlbnQgYXQgYm9vdCB0aW1lIGJlY2F1c2UgaXQgcmVwcmVzZW50cwotCSAqICpwb3NzaWJsZSogbWVtb3J5IGhvdHBsdWcgYXJlYXMgdGhlIHNhbWUgYXMgbm9ybWFsIFJBTS4KLQkgKi8KLQlpZiAobWVtb3J5X2NodW5rLT5zdGFydF9wZm4gPj0gbWF4X3BmbikgewotCQlwcmludGsgKEtFUk5fSU5GTyAiSWdub3JpbmcgU1JBVCBwZm5zOiAweCUwOGx4IC0+ICUwOGx4XG4iLAotCQkJbWVtb3J5X2NodW5rLT5zdGFydF9wZm4sIG1lbW9yeV9jaHVuay0+ZW5kX3Bmbik7Ci0JCXJldHVybjsKLQl9Ci0JaWYgKG1lbW9yeV9jaHVuay0+bmlkICE9IG5pZCkKLQkJcmV0dXJuOwotCi0JaWYgKCFub2RlX2hhc19vbmxpbmVfbWVtKG5pZCkpCi0JCW5vZGVfc3RhcnRfcGZuW25pZF0gPSBtZW1vcnlfY2h1bmstPnN0YXJ0X3BmbjsKLQotCWlmIChub2RlX3N0YXJ0X3BmbltuaWRdID4gbWVtb3J5X2NodW5rLT5zdGFydF9wZm4pCi0JCW5vZGVfc3RhcnRfcGZuW25pZF0gPSBtZW1vcnlfY2h1bmstPnN0YXJ0X3BmbjsKLQotCWlmIChub2RlX2VuZF9wZm5bbmlkXSA8IG1lbW9yeV9jaHVuay0+ZW5kX3BmbikKLQkJbm9kZV9lbmRfcGZuW25pZF0gPSBtZW1vcnlfY2h1bmstPmVuZF9wZm47Ci19Ci0KLS8qIFBhcnNlIHRoZSBBQ1BJIFN0YXRpYyBSZXNvdXJjZSBBZmZpbml0eSBUYWJsZSAqLwotc3RhdGljIGludCBfX2luaXQgYWNwaTIwX3BhcnNlX3NyYXQoc3RydWN0IGFjcGlfdGFibGVfc3JhdCAqc3JhdHApCi17Ci0JdTggKnN0YXJ0LCAqZW5kLCAqcDsKLQlpbnQgaSwgaiwgbmlkOwotCi0Jc3RhcnQgPSAodTggKikoJihzcmF0cC0+cmVzZXJ2ZWQpICsgMSk7CS8qIHNraXAgaGVhZGVyICovCi0JcCA9IHN0YXJ0OwotCWVuZCA9ICh1OCAqKXNyYXRwICsgc3JhdHAtPmhlYWRlci5sZW5ndGg7Ci0KLQltZW1zZXQocHhtX2JpdG1hcCwgMCwgc2l6ZW9mKHB4bV9iaXRtYXApKTsJLyogaW5pdCBwcm94aW1pdHkgZG9tYWluIGJpdG1hcCAqLwotCW1lbXNldChub2RlX21lbW9yeV9jaHVuaywgMCwgc2l6ZW9mKG5vZGVfbWVtb3J5X2NodW5rKSk7Ci0KLQludW1fbWVtb3J5X2NodW5rcyA9IDA7Ci0Jd2hpbGUgKHAgPCBlbmQpIHsKLQkJc3dpdGNoICgqcCkgewotCQljYXNlIEFDUElfU1JBVF9UWVBFX0NQVV9BRkZJTklUWToKLQkJCXBhcnNlX2NwdV9hZmZpbml0eV9zdHJ1Y3R1cmUocCk7Ci0JCQlicmVhazsKLQkJY2FzZSBBQ1BJX1NSQVRfVFlQRV9NRU1PUllfQUZGSU5JVFk6Ci0JCQlwYXJzZV9tZW1vcnlfYWZmaW5pdHlfc3RydWN0dXJlKHApOwotCQkJYnJlYWs7Ci0JCWRlZmF1bHQ6Ci0JCQlwcmludGsoIkFDUEkgMi4wIFNSQVQ6IHVua25vd24gZW50cnkgc2tpcHBlZDogdHlwZT0weCUwMlgsIGxlbj0lZFxuIiwgcFswXSwgcFsxXSk7Ci0JCQlicmVhazsKLQkJfQotCQlwICs9IHBbMV07Ci0JCWlmIChwWzFdID09IDApIHsKLQkJCXByaW50aygiYWNwaTIwX3BhcnNlX3NyYXQ6IEVudHJ5IGxlbmd0aCB2YWx1ZSBpcyB6ZXJvOyIKLQkJCQkiIGNhbid0IHBhcnNlIGFueSBmdXJ0aGVyIVxuIik7Ci0JCQlicmVhazsKLQkJfQotCX0KLQotCWlmIChudW1fbWVtb3J5X2NodW5rcyA9PSAwKSB7Ci0JCXByaW50aygiY291bGQgbm90IGZpbnkgYW55IEFDUEkgU1JBVCBtZW1vcnkgYXJlYXMuXG4iKTsKLQkJZ290byBvdXRfZmFpbDsKLQl9Ci0KLQkvKiBDYWxjdWxhdGUgdG90YWwgbnVtYmVyIG9mIG5vZGVzIGluIHN5c3RlbSBmcm9tIFBYTSBiaXRtYXAgYW5kIGNyZWF0ZQotCSAqIGEgc2V0IG9mIHNlcXVlbnRpYWwgbm9kZSBJRHMgc3RhcnRpbmcgYXQgemVyby4gIChBQ1BJIGRvZXNuJ3Qgc2VlbQotCSAqIHRvIHNwZWNpZnkgdGhlIHJhbmdlIG9mIF9QWE0gdmFsdWVzLikKLQkgKi8KLQkvKgotCSAqIE1DRCAtIHdlIG5vIGxvbmdlciBIQVZFIHRvIG51bWJlciBub2RlcyBzZXF1ZW50aWFsbHkuICBQWE0gZG9tYWluCi0JICogbnVtYmVycyBjb3VsZCBnbyBhcyBoaWdoIGFzIDI1NiwgYW5kIE1BWF9OVU1OT0RFUyBmb3IgaTM4NiBpcyB0eXBpY2FsbHkKLQkgKiAzMiwgc28gd2Ugd2lsbCBjb250aW51ZSBudW1iZXJpbmcgdGhlbSBpbiB0aGlzIG1hbm5lciB1bnRpbCBNQVhfTlVNTk9ERVMKLQkgKiBhcHByb2FjaGVzIE1BWF9QWE1fRE9NQUlOUyBmb3IgaTM4Ni4KLQkgKi8KLQlub2Rlc19jbGVhcihub2RlX29ubGluZV9tYXApOwotCWZvciAoaSA9IDA7IGkgPCBNQVhfUFhNX0RPTUFJTlM7IGkrKykgewotCQlpZiAoQk1BUF9URVNUKHB4bV9iaXRtYXAsIGkpKSB7Ci0JCQlpbnQgbmlkID0gYWNwaV9tYXBfcHhtX3RvX25vZGUoaSk7Ci0JCQlub2RlX3NldF9vbmxpbmUobmlkKTsKLQkJfQotCX0KLQlCVUdfT04obnVtX29ubGluZV9ub2RlcygpID09IDApOwotCi0JLyogc2V0IGNub2RlIGlkIGluIG1lbW9yeSBjaHVuayBzdHJ1Y3R1cmUgKi8KLQlmb3IgKGkgPSAwOyBpIDwgbnVtX21lbW9yeV9jaHVua3M7IGkrKykKLQkJbm9kZV9tZW1vcnlfY2h1bmtbaV0ubmlkID0gcHhtX3RvX25vZGUobm9kZV9tZW1vcnlfY2h1bmtbaV0ucHhtKTsKLQotCXByaW50aygicHhtIGJpdG1hcDogIik7Ci0JZm9yIChpID0gMDsgaSA8IHNpemVvZihweG1fYml0bWFwKTsgaSsrKSB7Ci0JCXByaW50aygiJTAyWCAiLCBweG1fYml0bWFwW2ldKTsKLQl9Ci0JcHJpbnRrKCJcbiIpOwotCXByaW50aygiTnVtYmVyIG9mIGxvZ2ljYWwgbm9kZXMgaW4gc3lzdGVtID0gJWRcbiIsIG51bV9vbmxpbmVfbm9kZXMoKSk7Ci0JcHJpbnRrKCJOdW1iZXIgb2YgbWVtb3J5IGNodW5rcyBpbiBzeXN0ZW0gPSAlZFxuIiwgbnVtX21lbW9yeV9jaHVua3MpOwotCi0JZm9yIChpID0gMDsgaSA8IE1BWF9BUElDSUQ7IGkrKykKLQkJYXBpY2lkXzJfbm9kZVtpXSA9IHB4bV90b19ub2RlKGFwaWNpZF90b19weG1baV0pOwotCi0JZm9yIChqID0gMDsgaiA8IG51bV9tZW1vcnlfY2h1bmtzOyBqKyspewotCQlzdHJ1Y3Qgbm9kZV9tZW1vcnlfY2h1bmtfcyAqIGNodW5rID0gJm5vZGVfbWVtb3J5X2NodW5rW2pdOwotCQlwcmludGsoImNodW5rICVkIG5pZCAlZCBzdGFydF9wZm4gJTA4bHggZW5kX3BmbiAlMDhseFxuIiwKLQkJICAgICAgIGosIGNodW5rLT5uaWQsIGNodW5rLT5zdGFydF9wZm4sIGNodW5rLT5lbmRfcGZuKTsKLQkJbm9kZV9yZWFkX2NodW5rKGNodW5rLT5uaWQsIGNodW5rKTsKLQkJYWRkX2FjdGl2ZV9yYW5nZShjaHVuay0+bmlkLCBjaHVuay0+c3RhcnRfcGZuLCBjaHVuay0+ZW5kX3Bmbik7Ci0JfQotIAotCWZvcl9lYWNoX29ubGluZV9ub2RlKG5pZCkgewotCQl1bnNpZ25lZCBsb25nIHN0YXJ0ID0gbm9kZV9zdGFydF9wZm5bbmlkXTsKLQkJdW5zaWduZWQgbG9uZyBlbmQgPSBub2RlX2VuZF9wZm5bbmlkXTsKLQotCQltZW1vcnlfcHJlc2VudChuaWQsIHN0YXJ0LCBlbmQpOwotCQlub2RlX3JlbWFwX3NpemVbbmlkXSA9IG5vZGVfbWVtbWFwX3NpemVfYnl0ZXMobmlkLCBzdGFydCwgZW5kKTsKLQl9Ci0JcmV0dXJuIDE7Ci1vdXRfZmFpbDoKLQlyZXR1cm4gMDsKLX0KLQotc3RydWN0IGFjcGlfc3RhdGljX3JzZHQgewotCXN0cnVjdCBhY3BpX3RhYmxlX3JzZHQgdGFibGU7Ci0JdTMyIHBhZGRpbmdbN107IC8qIEFsbG93IGZvciA3IG1vcmUgdGFibGUgZW50cmllcyAqLwotfTsKLQotaW50IF9faW5pdCBnZXRfbWVtY2ZnX2Zyb21fc3JhdCh2b2lkKQotewotCXN0cnVjdCBhY3BpX3RhYmxlX2hlYWRlciAqaGVhZGVyID0gTlVMTDsKLQlzdHJ1Y3QgYWNwaV90YWJsZV9yc2RwICpyc2RwID0gTlVMTDsKLQlzdHJ1Y3QgYWNwaV90YWJsZV9yc2R0ICpyc2R0ID0gTlVMTDsKLQlhY3BpX25hdGl2ZV91aW50IHJzZHBfYWRkcmVzcyA9IDA7Ci0Jc3RydWN0IGFjcGlfc3RhdGljX3JzZHQgc2F2ZWRfcnNkdDsKLQlpbnQgdGFibGVzID0gMDsKLQlpbnQgaSA9IDA7Ci0KLQlyc2RwX2FkZHJlc3MgPSBhY3BpX29zX2dldF9yb290X3BvaW50ZXIoKTsKLQlpZiAoIXJzZHBfYWRkcmVzcykgewotCQlwcmludGsoIiVzOiBTeXN0ZW0gZGVzY3JpcHRpb24gdGFibGVzIG5vdCBmb3VuZFxuIiwKLQkJICAgICAgIF9fZnVuY19fKTsKLQkJZ290byBvdXRfZXJyOwotCX0KLQotCXByaW50aygiJXM6IGFzc2lnbmluZyBhZGRyZXNzIHRvIHJzZHBcbiIsIF9fZnVuY19fKTsKLQlyc2RwID0gKHN0cnVjdCBhY3BpX3RhYmxlX3JzZHAgKikodTMyKXJzZHBfYWRkcmVzczsKLQlpZiAoIXJzZHApIHsKLQkJcHJpbnRrKCIlczogRGlkbid0IGZpbmQgQUNQSSByb290IVxuIiwgX19mdW5jX18pOwotCQlnb3RvIG91dF9lcnI7Ci0JfQotCi0JcHJpbnRrKEtFUk5fSU5GTyAiJS44cyB2JWQgWyUuNnNdXG4iLCByc2RwLT5zaWduYXR1cmUsIHJzZHAtPnJldmlzaW9uLAotCQlyc2RwLT5vZW1faWQpOwotCi0JaWYgKHN0cm5jbXAocnNkcC0+c2lnbmF0dXJlLCBBQ1BJX1NJR19SU0RQLHN0cmxlbihBQ1BJX1NJR19SU0RQKSkpIHsKLQkJcHJpbnRrKEtFUk5fV0FSTklORyAiJXM6IFJTRFAgdGFibGUgc2lnbmF0dXJlIGluY29ycmVjdFxuIiwgX19mdW5jX18pOwotCQlnb3RvIG91dF9lcnI7Ci0JfQotCi0JcnNkdCA9IChzdHJ1Y3QgYWNwaV90YWJsZV9yc2R0ICopCi0JICAgIGVhcmx5X2lvcmVtYXAocnNkcC0+cnNkdF9waHlzaWNhbF9hZGRyZXNzLCBzaXplb2Yoc3RydWN0IGFjcGlfdGFibGVfcnNkdCkpOwotCi0JaWYgKCFyc2R0KSB7Ci0JCXByaW50ayhLRVJOX1dBUk5JTkcKLQkJICAgICAgICIlczogQUNQSTogSW52YWxpZCByb290IHN5c3RlbSBkZXNjcmlwdGlvbiB0YWJsZXMgKFJTRFQpXG4iLAotCQkgICAgICAgX19mdW5jX18pOwotCQlnb3RvIG91dF9lcnI7Ci0JfQotCi0JaGVhZGVyID0gJnJzZHQtPmhlYWRlcjsKLQotCWlmIChzdHJuY21wKGhlYWRlci0+c2lnbmF0dXJlLCBBQ1BJX1NJR19SU0RULCBzdHJsZW4oQUNQSV9TSUdfUlNEVCkpKSB7Ci0JCXByaW50ayhLRVJOX1dBUk5JTkcgIkFDUEk6IFJTRFQgc2lnbmF0dXJlIGluY29ycmVjdFxuIik7Ci0JCWdvdG8gb3V0X2VycjsKLQl9Ci0KLQkvKiAKLQkgKiBUaGUgbnVtYmVyIG9mIHRhYmxlcyBpcyBjb21wdXRlZCBieSB0YWtpbmcgdGhlIAotCSAqIHNpemUgb2YgYWxsIGVudHJpZXMgKGhlYWRlciBzaXplIG1pbnVzIHRvdGFsIAotCSAqIHNpemUgb2YgUlNEVCkgZGl2aWRlZCBieSB0aGUgc2l6ZSBvZiBlYWNoIGVudHJ5Ci0JICogKDQtYnl0ZSB0YWJsZSBwb2ludGVycykuCi0JICovCi0JdGFibGVzID0gKGhlYWRlci0+bGVuZ3RoIC0gc2l6ZW9mKHN0cnVjdCBhY3BpX3RhYmxlX2hlYWRlcikpIC8gNDsKLQotCWlmICghdGFibGVzKQotCQlnb3RvIG91dF9lcnI7Ci0KLQltZW1jcHkoJnNhdmVkX3JzZHQsIHJzZHQsIHNpemVvZihzYXZlZF9yc2R0KSk7Ci0KLQlpZiAoc2F2ZWRfcnNkdC50YWJsZS5oZWFkZXIubGVuZ3RoID4gc2l6ZW9mKHNhdmVkX3JzZHQpKSB7Ci0JCXByaW50ayhLRVJOX1dBUk5JTkcgIkFDUEk6IFRvbyBiaWcgbGVuZ3RoIGluIFJTRFQ6ICVkXG4iLAotCQkgICAgICAgc2F2ZWRfcnNkdC50YWJsZS5oZWFkZXIubGVuZ3RoKTsKLQkJZ290byBvdXRfZXJyOwotCX0KLQotCXByaW50aygiQmVnaW4gU1JBVCB0YWJsZSBzY2FuLi4uLlxuIik7Ci0KLQlmb3IgKGkgPSAwOyBpIDwgdGFibGVzOyBpKyspIHsKLQkJLyogTWFwIGluIGhlYWRlciwgdGhlbiBtYXAgaW4gZnVsbCB0YWJsZSBsZW5ndGguICovCi0JCWhlYWRlciA9IChzdHJ1Y3QgYWNwaV90YWJsZV9oZWFkZXIgKikKLQkJCWVhcmx5X2lvcmVtYXAoc2F2ZWRfcnNkdC50YWJsZS50YWJsZV9vZmZzZXRfZW50cnlbaV0sIHNpemVvZihzdHJ1Y3QgYWNwaV90YWJsZV9oZWFkZXIpKTsKLQkJaWYgKCFoZWFkZXIpCi0JCQlicmVhazsKLQkJaGVhZGVyID0gKHN0cnVjdCBhY3BpX3RhYmxlX2hlYWRlciAqKQotCQkJZWFybHlfaW9yZW1hcChzYXZlZF9yc2R0LnRhYmxlLnRhYmxlX29mZnNldF9lbnRyeVtpXSwgaGVhZGVyLT5sZW5ndGgpOwotCQlpZiAoIWhlYWRlcikKLQkJCWJyZWFrOwotCi0JCWlmIChzdHJuY21wKChjaGFyICopICZoZWFkZXItPnNpZ25hdHVyZSwgQUNQSV9TSUdfU1JBVCwgNCkpCi0JCQljb250aW51ZTsKLQotCQkvKiB3ZSd2ZSBmb3VuZCB0aGUgc3JhdCB0YWJsZS4gZG9uJ3QgbmVlZCB0byBsb29rIGF0IGFueSBtb3JlIHRhYmxlcyAqLwotCQlyZXR1cm4gYWNwaTIwX3BhcnNlX3NyYXQoKHN0cnVjdCBhY3BpX3RhYmxlX3NyYXQgKiloZWFkZXIpOwotCX0KLW91dF9lcnI6Ci0JcmVtb3ZlX2FsbF9hY3RpdmVfcmFuZ2VzKCk7Ci0JcHJpbnRrKCJmYWlsZWQgdG8gZ2V0IE5VTUEgbWVtb3J5IGluZm9ybWF0aW9uIGZyb20gU1JBVCB0YWJsZVxuIik7Ci0JcmV0dXJuIDA7Ci19CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvc3RhY2t0cmFjZS5jIGIvYXJjaC94ODYva2VybmVsL3N0YWNrdHJhY2UuYwppbmRleCBjMjhjMzQyLi5hMDNlN2Y2IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvc3RhY2t0cmFjZS5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9zdGFja3RyYWNlLmMKQEAgLTc0LDYgKzc0LDcgQEAKIAlpZiAodHJhY2UtPm5yX2VudHJpZXMgPCB0cmFjZS0+bWF4X2VudHJpZXMpCiAJCXRyYWNlLT5lbnRyaWVzW3RyYWNlLT5ucl9lbnRyaWVzKytdID0gVUxPTkdfTUFYOwogfQorRVhQT1JUX1NZTUJPTF9HUEwoc2F2ZV9zdGFja190cmFjZSk7CiAKIHZvaWQgc2F2ZV9zdGFja190cmFjZV90c2soc3RydWN0IHRhc2tfc3RydWN0ICp0c2ssIHN0cnVjdCBzdGFja190cmFjZSAqdHJhY2UpCiB7CkBAIC04MSwzICs4Miw0IEBACiAJaWYgKHRyYWNlLT5ucl9lbnRyaWVzIDwgdHJhY2UtPm1heF9lbnRyaWVzKQogCQl0cmFjZS0+ZW50cmllc1t0cmFjZS0+bnJfZW50cmllcysrXSA9IFVMT05HX01BWDsKIH0KK0VYUE9SVF9TWU1CT0xfR1BMKHNhdmVfc3RhY2tfdHJhY2VfdHNrKTsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9zdW1taXRfMzIuYyBiL2FyY2gveDg2L2tlcm5lbC9zdW1taXRfMzIuYwppbmRleCBhZTc1MTA5Li5kNjdjZTVmIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvc3VtbWl0XzMyLmMKKysrIGIvYXJjaC94ODYva2VybmVsL3N1bW1pdF8zMi5jCkBAIC0zNiw3ICszNiw5IEBACiBzdGF0aWMgc3RydWN0IHNjYWxfZGV0YWlsICAgKnNjYWxfZGV2c1tNQVhfTlVNTk9ERVNdIF9faW5pdGRhdGE7CiBzdGF0aWMgc3RydWN0IHJpb19kZXRhaWwgICAgKnJpb19kZXZzW01BWF9OVU1OT0RFUyo0XSBfX2luaXRkYXRhOwogCisjaWZuZGVmIENPTkZJR19YODZfTlVNQVEKIHN0YXRpYyBpbnQgbXBfYnVzX2lkX3RvX25vZGVbTUFYX01QX0JVU1NFU10gX19pbml0ZGF0YTsKKyNlbmRpZgogCiBzdGF0aWMgaW50IF9faW5pdCBzZXR1cF9wY2lfbm9kZV9tYXBfZm9yX3dwZWcoaW50IHdwZWdfbnVtLCBpbnQgbGFzdF9idXMpCiB7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvc3lzX2kzODZfMzIuYyBiL2FyY2gveDg2L2tlcm5lbC9zeXNfaTM4Nl8zMi5jCmluZGV4IGQyYWI1MmMuLjcwNjZjYjggMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9zeXNfaTM4Nl8zMi5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9zeXNfaTM4Nl8zMi5jCkBAIC0xOSw4ICsxOSw4IEBACiAjaW5jbHVkZSA8bGludXgvdXRzbmFtZS5oPgogI2luY2x1ZGUgPGxpbnV4L2lwYy5oPgogCi0jaW5jbHVkZSA8YXNtL3VhY2Nlc3MuaD4KLSNpbmNsdWRlIDxhc20vdW5pc3RkLmg+CisjaW5jbHVkZSA8bGludXgvdWFjY2Vzcy5oPgorI2luY2x1ZGUgPGxpbnV4L3VuaXN0ZC5oPgogCiBhc21saW5rYWdlIGxvbmcgc3lzX21tYXAyKHVuc2lnbmVkIGxvbmcgYWRkciwgdW5zaWduZWQgbG9uZyBsZW4sCiAJCQkgIHVuc2lnbmVkIGxvbmcgcHJvdCwgdW5zaWduZWQgbG9uZyBmbGFncywKQEAgLTEwMyw3ICsxMDMsNyBAQAogICoKICAqIFRoaXMgaXMgcmVhbGx5IGhvcnJpYmx5IHVnbHkuCiAgKi8KLWFzbWxpbmthZ2UgaW50IHN5c19pcGMgKHVpbnQgY2FsbCwgaW50IGZpcnN0LCBpbnQgc2Vjb25kLAorYXNtbGlua2FnZSBpbnQgc3lzX2lwYyh1aW50IGNhbGwsIGludCBmaXJzdCwgaW50IHNlY29uZCwKIAkJCWludCB0aGlyZCwgdm9pZCBfX3VzZXIgKnB0ciwgbG9uZyBmaWZ0aCkKIHsKIAlpbnQgdmVyc2lvbiwgcmV0OwpAQCAtMTEzLDI0ICsxMTMsMjQgQEAKIAogCXN3aXRjaCAoY2FsbCkgewogCWNhc2UgU0VNT1A6Ci0JCXJldHVybiBzeXNfc2VtdGltZWRvcCAoZmlyc3QsIChzdHJ1Y3Qgc2VtYnVmIF9fdXNlciAqKXB0ciwgc2Vjb25kLCBOVUxMKTsKKwkJcmV0dXJuIHN5c19zZW10aW1lZG9wKGZpcnN0LCAoc3RydWN0IHNlbWJ1ZiBfX3VzZXIgKilwdHIsIHNlY29uZCwgTlVMTCk7CiAJY2FzZSBTRU1USU1FRE9QOgogCQlyZXR1cm4gc3lzX3NlbXRpbWVkb3AoZmlyc3QsIChzdHJ1Y3Qgc2VtYnVmIF9fdXNlciAqKXB0ciwgc2Vjb25kLAogCQkJCQkoY29uc3Qgc3RydWN0IHRpbWVzcGVjIF9fdXNlciAqKWZpZnRoKTsKIAogCWNhc2UgU0VNR0VUOgotCQlyZXR1cm4gc3lzX3NlbWdldCAoZmlyc3QsIHNlY29uZCwgdGhpcmQpOworCQlyZXR1cm4gc3lzX3NlbWdldChmaXJzdCwgc2Vjb25kLCB0aGlyZCk7CiAJY2FzZSBTRU1DVEw6IHsKIAkJdW5pb24gc2VtdW4gZm91cnRoOwogCQlpZiAoIXB0cikKIAkJCXJldHVybiAtRUlOVkFMOwogCQlpZiAoZ2V0X3VzZXIoZm91cnRoLl9fcGFkLCAodm9pZCBfX3VzZXIgKiBfX3VzZXIgKikgcHRyKSkKIAkJCXJldHVybiAtRUZBVUxUOwotCQlyZXR1cm4gc3lzX3NlbWN0bCAoZmlyc3QsIHNlY29uZCwgdGhpcmQsIGZvdXJ0aCk7CisJCXJldHVybiBzeXNfc2VtY3RsKGZpcnN0LCBzZWNvbmQsIHRoaXJkLCBmb3VydGgpOwogCX0KIAogCWNhc2UgTVNHU05EOgotCQlyZXR1cm4gc3lzX21zZ3NuZCAoZmlyc3QsIChzdHJ1Y3QgbXNnYnVmIF9fdXNlciAqKSBwdHIsIAorCQlyZXR1cm4gc3lzX21zZ3NuZChmaXJzdCwgKHN0cnVjdCBtc2didWYgX191c2VyICopIHB0ciwKIAkJCQkgICBzZWNvbmQsIHRoaXJkKTsKIAljYXNlIE1TR1JDVjoKIAkJc3dpdGNoICh2ZXJzaW9uKSB7CkBAIC0xMzgsNDUgKzEzOCw0NSBAQAogCQkJc3RydWN0IGlwY19rbHVkZ2UgdG1wOwogCQkJaWYgKCFwdHIpCiAJCQkJcmV0dXJuIC1FSU5WQUw7Ci0JCQkKKwogCQkJaWYgKGNvcHlfZnJvbV91c2VyKCZ0bXAsCi0JCQkJCSAgIChzdHJ1Y3QgaXBjX2tsdWRnZSBfX3VzZXIgKikgcHRyLCAKLQkJCQkJICAgc2l6ZW9mICh0bXApKSkKKwkJCQkJICAgKHN0cnVjdCBpcGNfa2x1ZGdlIF9fdXNlciAqKSBwdHIsCisJCQkJCSAgIHNpemVvZih0bXApKSkKIAkJCQlyZXR1cm4gLUVGQVVMVDsKLQkJCXJldHVybiBzeXNfbXNncmN2IChmaXJzdCwgdG1wLm1zZ3AsIHNlY29uZCwKKwkJCXJldHVybiBzeXNfbXNncmN2KGZpcnN0LCB0bXAubXNncCwgc2Vjb25kLAogCQkJCQkgICB0bXAubXNndHlwLCB0aGlyZCk7CiAJCX0KIAkJZGVmYXVsdDoKLQkJCXJldHVybiBzeXNfbXNncmN2IChmaXJzdCwKKwkJCXJldHVybiBzeXNfbXNncmN2KGZpcnN0LAogCQkJCQkgICAoc3RydWN0IG1zZ2J1ZiBfX3VzZXIgKikgcHRyLAogCQkJCQkgICBzZWNvbmQsIGZpZnRoLCB0aGlyZCk7CiAJCX0KIAljYXNlIE1TR0dFVDoKLQkJcmV0dXJuIHN5c19tc2dnZXQgKChrZXlfdCkgZmlyc3QsIHNlY29uZCk7CisJCXJldHVybiBzeXNfbXNnZ2V0KChrZXlfdCkgZmlyc3QsIHNlY29uZCk7CiAJY2FzZSBNU0dDVEw6Ci0JCXJldHVybiBzeXNfbXNnY3RsIChmaXJzdCwgc2Vjb25kLCAoc3RydWN0IG1zcWlkX2RzIF9fdXNlciAqKSBwdHIpOworCQlyZXR1cm4gc3lzX21zZ2N0bChmaXJzdCwgc2Vjb25kLCAoc3RydWN0IG1zcWlkX2RzIF9fdXNlciAqKSBwdHIpOwogCiAJY2FzZSBTSE1BVDoKIAkJc3dpdGNoICh2ZXJzaW9uKSB7CiAJCWRlZmF1bHQ6IHsKIAkJCXVsb25nIHJhZGRyOwotCQkJcmV0ID0gZG9fc2htYXQgKGZpcnN0LCAoY2hhciBfX3VzZXIgKikgcHRyLCBzZWNvbmQsICZyYWRkcik7CisJCQlyZXQgPSBkb19zaG1hdChmaXJzdCwgKGNoYXIgX191c2VyICopIHB0ciwgc2Vjb25kLCAmcmFkZHIpOwogCQkJaWYgKHJldCkKIAkJCQlyZXR1cm4gcmV0OwotCQkJcmV0dXJuIHB1dF91c2VyIChyYWRkciwgKHVsb25nIF9fdXNlciAqKSB0aGlyZCk7CisJCQlyZXR1cm4gcHV0X3VzZXIocmFkZHIsICh1bG9uZyBfX3VzZXIgKikgdGhpcmQpOwogCQl9CiAJCWNhc2UgMToJLyogaUJDUzIgZW11bGF0b3IgZW50cnkgcG9pbnQgKi8KIAkJCWlmICghc2VnbWVudF9lcShnZXRfZnMoKSwgZ2V0X2RzKCkpKQogCQkJCXJldHVybiAtRUlOVkFMOwogCQkJLyogVGhlICIodWxvbmcgKikgdGhpcmQiIGlzIHZhbGlkIF9vbmx5XyBiZWNhdXNlIG9mIHRoZSBrZXJuZWwgc2VnbWVudCB0aGluZyAqLwotCQkJcmV0dXJuIGRvX3NobWF0IChmaXJzdCwgKGNoYXIgX191c2VyICopIHB0ciwgc2Vjb25kLCAodWxvbmcgKikgdGhpcmQpOworCQkJcmV0dXJuIGRvX3NobWF0KGZpcnN0LCAoY2hhciBfX3VzZXIgKikgcHRyLCBzZWNvbmQsICh1bG9uZyAqKSB0aGlyZCk7CiAJCX0KLQljYXNlIFNITURUOiAKLQkJcmV0dXJuIHN5c19zaG1kdCAoKGNoYXIgX191c2VyICopcHRyKTsKKwljYXNlIFNITURUOgorCQlyZXR1cm4gc3lzX3NobWR0KChjaGFyIF9fdXNlciAqKXB0cik7CiAJY2FzZSBTSE1HRVQ6Ci0JCXJldHVybiBzeXNfc2htZ2V0IChmaXJzdCwgc2Vjb25kLCB0aGlyZCk7CisJCXJldHVybiBzeXNfc2htZ2V0KGZpcnN0LCBzZWNvbmQsIHRoaXJkKTsKIAljYXNlIFNITUNUTDoKLQkJcmV0dXJuIHN5c19zaG1jdGwgKGZpcnN0LCBzZWNvbmQsCisJCXJldHVybiBzeXNfc2htY3RsKGZpcnN0LCBzZWNvbmQsCiAJCQkJICAgKHN0cnVjdCBzaG1pZF9kcyBfX3VzZXIgKikgcHRyKTsKIAlkZWZhdWx0OgogCQlyZXR1cm4gLUVOT1NZUzsKQEAgLTE4NiwyOCArMTg2LDI4IEBACiAvKgogICogT2xkIGNydWZ0CiAgKi8KLWFzbWxpbmthZ2UgaW50IHN5c191bmFtZShzdHJ1Y3Qgb2xkX3V0c25hbWUgX191c2VyICogbmFtZSkKK2FzbWxpbmthZ2UgaW50IHN5c191bmFtZShzdHJ1Y3Qgb2xkX3V0c25hbWUgX191c2VyICpuYW1lKQogewogCWludCBlcnI7CiAJaWYgKCFuYW1lKQogCQlyZXR1cm4gLUVGQVVMVDsKIAlkb3duX3JlYWQoJnV0c19zZW0pOwotCWVyciA9IGNvcHlfdG9fdXNlcihuYW1lLCB1dHNuYW1lKCksIHNpemVvZiAoKm5hbWUpKTsKKwllcnIgPSBjb3B5X3RvX3VzZXIobmFtZSwgdXRzbmFtZSgpLCBzaXplb2YoKm5hbWUpKTsKIAl1cF9yZWFkKCZ1dHNfc2VtKTsKLQlyZXR1cm4gZXJyPy1FRkFVTFQ6MDsKKwlyZXR1cm4gZXJyPyAtRUZBVUxUOjA7CiB9CiAKLWFzbWxpbmthZ2UgaW50IHN5c19vbGR1bmFtZShzdHJ1Y3Qgb2xkb2xkX3V0c25hbWUgX191c2VyICogbmFtZSkKK2FzbWxpbmthZ2UgaW50IHN5c19vbGR1bmFtZShzdHJ1Y3Qgb2xkb2xkX3V0c25hbWUgX191c2VyICpuYW1lKQogewogCWludCBlcnJvcjsKIAogCWlmICghbmFtZSkKIAkJcmV0dXJuIC1FRkFVTFQ7Ci0JaWYgKCFhY2Nlc3Nfb2soVkVSSUZZX1dSSVRFLG5hbWUsc2l6ZW9mKHN0cnVjdCBvbGRvbGRfdXRzbmFtZSkpKQorCWlmICghYWNjZXNzX29rKFZFUklGWV9XUklURSwgbmFtZSwgc2l6ZW9mKHN0cnVjdCBvbGRvbGRfdXRzbmFtZSkpKQogCQlyZXR1cm4gLUVGQVVMVDsKLSAgCi0gIAlkb3duX3JlYWQoJnV0c19zZW0pOwotCQorCisJZG93bl9yZWFkKCZ1dHNfc2VtKTsKKwogCWVycm9yID0gX19jb3B5X3RvX3VzZXIoJm5hbWUtPnN5c25hbWUsICZ1dHNuYW1lKCktPnN5c25hbWUsCiAJCQkgICAgICAgX19PTERfVVRTX0xFTik7CiAJZXJyb3IgfD0gX19wdXRfdXNlcigwLCBuYW1lLT5zeXNuYW1lICsgX19PTERfVVRTX0xFTik7CkBAIC0yMjMsOSArMjIzLDkgQEAKIAllcnJvciB8PSBfX2NvcHlfdG9fdXNlcigmbmFtZS0+bWFjaGluZSwgJnV0c25hbWUoKS0+bWFjaGluZSwKIAkJCQlfX09MRF9VVFNfTEVOKTsKIAllcnJvciB8PSBfX3B1dF91c2VyKDAsIG5hbWUtPm1hY2hpbmUgKyBfX09MRF9VVFNfTEVOKTsKLQkKKwogCXVwX3JlYWQoJnV0c19zZW0pOwotCQorCiAJZXJyb3IgPSBlcnJvciA/IC1FRkFVTFQgOiAwOwogCiAJcmV0dXJuIGVycm9yOwpAQCAtMjQxLDYgKzI0MSw2IEBACiAJbG9uZyBfX3JlczsKIAlhc20gdm9sYXRpbGUgKCJwdXNoICUlZWJ4IDsgbW92bCAlMiwlJWVieCA7IGludCAkMHg4MCA7IHBvcCAlJWVieCIKIAk6ICI9YSIgKF9fcmVzKQotCTogIjAiIChfX05SX2V4ZWN2ZSksInJpIiAoZmlsZW5hbWUpLCJjIiAoYXJndiksICJkIiAoZW52cCkgOiAibWVtb3J5Iik7CisJOiAiMCIgKF9fTlJfZXhlY3ZlKSwgInJpIiAoZmlsZW5hbWUpLCAiYyIgKGFyZ3YpLCAiZCIgKGVudnApIDogIm1lbW9yeSIpOwogCXJldHVybiBfX3JlczsKIH0KZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC90aW1lXzMyLmMgYi9hcmNoL3g4Ni9rZXJuZWwvdGltZV8zMi5jCmluZGV4IDJmZjIxZjMuLjA1OWNhNmUgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC90aW1lXzMyLmMKKysrIGIvYXJjaC94ODYva2VybmVsL3RpbWVfMzIuYwpAQCAtMzksOSArMzksNiBAQAogCiAjaW5jbHVkZSAiZG9fdGltZXIuaCIKIAotdW5zaWduZWQgaW50IGNwdV9raHo7CS8qIERldGVjdGVkIGFzIHdlIGNhbGlicmF0ZSB0aGUgVFNDICovCi1FWFBPUlRfU1lNQk9MKGNwdV9raHopOwotCiBpbnQgdGltZXJfYWNrOwogCiB1bnNpZ25lZCBsb25nIHByb2ZpbGVfcGMoc3RydWN0IHB0X3JlZ3MgKnJlZ3MpCkBAIC04NCw4ICs4MSw3IEBACiAJaWYgKHRpbWVyX2FjaykgewogCQkvKgogCQkgKiBTdWJ0bGUsIHdoZW4gSS9PIEFQSUNzIGFyZSB1c2VkIHdlIGhhdmUgdG8gYWNrIHRpbWVyIElSUQotCQkgKiBtYW51YWxseSB0byByZXNldCB0aGUgSVJSIGJpdCBmb3IgZG9fc2xvd19nZXR0aW1lb2Zmc2V0KCkuCi0JCSAqIFRoaXMgd2lsbCBhbHNvIGRlYXNzZXJ0IE5NSSBsaW5lcyBmb3IgdGhlIHdhdGNoZG9nIGlmIHJ1bgorCQkgKiBtYW51YWxseSB0byBkZWFzc2VydCBOTUkgbGluZXMgZm9yIHRoZSB3YXRjaGRvZyBpZiBydW4KIAkJICogb24gYW4gODI0ODlEWC1iYXNlZCBzeXN0ZW0uCiAJCSAqLwogCQlzcGluX2xvY2soJmk4MjU5QV9sb2NrKTsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC90aW1lXzY0LmMgYi9hcmNoL3g4Ni9rZXJuZWwvdGltZV82NC5jCmluZGV4IGM3Mzc4NDkuLmUzZDQ5YzUgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC90aW1lXzY0LmMKKysrIGIvYXJjaC94ODYva2VybmVsL3RpbWVfNjQuYwpAQCAtNTYsNyArNTYsNyBAQAogLyogY2FsaWJyYXRlX2NwdSBpcyB1c2VkIG9uIHN5c3RlbXMgd2l0aCBmaXhlZCByYXRlIFRTQ3MgdG8gZGV0ZXJtaW5lCiAgKiBwcm9jZXNzb3IgZnJlcXVlbmN5ICovCiAjZGVmaW5lIFRJQ0tfQ09VTlQgMTAwMDAwMDAwCi11bnNpZ25lZCBsb25nIF9faW5pdCBuYXRpdmVfY2FsY3VsYXRlX2NwdV9raHoodm9pZCkKK3Vuc2lnbmVkIGxvbmcgX19pbml0IGNhbGlicmF0ZV9jcHUodm9pZCkKIHsKIAlpbnQgdHNjX3N0YXJ0LCB0c2Nfbm93OwogCWludCBpLCBub19jdHJfZnJlZTsKQEAgLTExNiwyMyArMTE2LDExIEBACiAKIHZvaWQgX19pbml0IHRpbWVfaW5pdCh2b2lkKQogewotCXRzY19jYWxpYnJhdGUoKTsKLQotCWNwdV9raHogPSB0c2Nfa2h6OwotCWlmIChjcHVfaGFzKCZib290X2NwdV9kYXRhLCBYODZfRkVBVFVSRV9DT05TVEFOVF9UU0MpICYmCi0JCShib290X2NwdV9kYXRhLng4Nl92ZW5kb3IgPT0gWDg2X1ZFTkRPUl9BTUQpKQotCQljcHVfa2h6ID0gY2FsY3VsYXRlX2NwdV9raHooKTsKLQotCWlmICh1bnN5bmNocm9uaXplZF90c2MoKSkKLQkJbWFya190c2NfdW5zdGFibGUoIlRTQ3MgdW5zeW5jaHJvbml6ZWQiKTsKLQorCXRzY19pbml0KCk7CiAJaWYgKGNwdV9oYXMoJmJvb3RfY3B1X2RhdGEsIFg4Nl9GRUFUVVJFX1JEVFNDUCkpCiAJCXZnZXRjcHVfbW9kZSA9IFZHRVRDUFVfUkRUU0NQOwogCWVsc2UKIAkJdmdldGNwdV9tb2RlID0gVkdFVENQVV9MU0w7CiAKLQlwcmludGsoS0VSTl9JTkZPICJ0aW1lLmM6IERldGVjdGVkICVkLiUwM2QgTUh6IHByb2Nlc3Nvci5cbiIsCi0JCWNwdV9raHogLyAxMDAwLCBjcHVfa2h6ICUgMTAwMCk7Ci0JaW5pdF90c2NfY2xvY2tzb3VyY2UoKTsKIAlsYXRlX3RpbWVfaW5pdCA9IGNob29zZV90aW1lX2luaXQoKTsKIH0KZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC90bGJfNjQuYyBiL2FyY2gveDg2L2tlcm5lbC90bGJfNjQuYwppbmRleCBhMWYwN2Q3Li41MDM5ZDBmIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvdGxiXzY0LmMKKysrIGIvYXJjaC94ODYva2VybmVsL3RsYl82NC5jCkBAIC0xNSw2ICsxNSw4IEBACiAjaW5jbHVkZSA8YXNtL3Byb3RvLmg+CiAjaW5jbHVkZSA8YXNtL2FwaWNkZWYuaD4KICNpbmNsdWRlIDxhc20vaWRsZS5oPgorI2luY2x1ZGUgPGFzbS91di91dl9odWIuaD4KKyNpbmNsdWRlIDxhc20vdXYvdXZfYmF1Lmg+CiAKICNpbmNsdWRlIDxtYWNoX2lwaS5oPgogLyoKQEAgLTE2Miw2ICsxNjQsOSBAQAogCXVuaW9uIHNtcF9mbHVzaF9zdGF0ZSAqZjsKIAljcHVtYXNrX3QgY3B1bWFzayA9ICpjcHVtYXNrcDsKIAorCWlmIChpc191dl9zeXN0ZW0oKSAmJiB1dl9mbHVzaF90bGJfb3RoZXJzKCZjcHVtYXNrLCBtbSwgdmEpKQorCQlyZXR1cm47CisKIAkvKiBDYWxsZXIgaGFzIGRpc2FibGVkIHByZWVtcHRpb24gKi8KIAlzZW5kZXIgPSBzbXBfcHJvY2Vzc29yX2lkKCkgJSBOVU1fSU5WQUxJREFURV9UTEJfVkVDVE9SUzsKIAlmID0gJnBlcl9jcHUoZmx1c2hfc3RhdGUsIHNlbmRlcik7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvdGxiX3V2LmMgYi9hcmNoL3g4Ni9rZXJuZWwvdGxiX3V2LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDBmYmI3NwotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gveDg2L2tlcm5lbC90bGJfdXYuYwpAQCAtMCwwICsxLDc5MiBAQAorLyoKKyAqCVNHSSBVbHRyYVZpb2xldCBUTEIgZmx1c2ggcm91dGluZXMuCisgKgorICoJKGMpIDIwMDggQ2xpZmYgV2lja21hbiA8Y3B3QHNnaS5jb20+LCBTR0kuCisgKgorICoJVGhpcyBjb2RlIGlzIHJlbGVhc2VkIHVuZGVyIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgb3IKKyAqCWxhdGVyLgorICovCisjaW5jbHVkZSA8bGludXgvbWMxNDY4MThydGMuaD4KKyNpbmNsdWRlIDxsaW51eC9wcm9jX2ZzLmg+CisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisKKyNpbmNsdWRlIDxhc20vbW11X2NvbnRleHQuaD4KKyNpbmNsdWRlIDxhc20vdXYvdXZfbW1ycy5oPgorI2luY2x1ZGUgPGFzbS91di91dl9odWIuaD4KKyNpbmNsdWRlIDxhc20vdXYvdXZfYmF1Lmg+CisjaW5jbHVkZSA8YXNtL2dlbmFwaWMuaD4KKyNpbmNsdWRlIDxhc20vaWRsZS5oPgorI2luY2x1ZGUgPGFzbS90c2MuaD4KKworI2luY2x1ZGUgPG1hY2hfYXBpYy5oPgorCitzdGF0aWMgc3RydWN0IGJhdV9jb250cm9sCSoqdXZfYmF1X3RhYmxlX2Jhc2VzIF9fcmVhZF9tb3N0bHk7CitzdGF0aWMgaW50CQkJdXZfYmF1X3JldHJ5X2xpbWl0IF9fcmVhZF9tb3N0bHk7CisKKy8qIHBvc2l0aW9uIG9mIHBub2RlICh3aGljaCBpcyBuYXNpZD4+MSk6ICovCitzdGF0aWMgaW50CQkJdXZfbnNoaWZ0IF9fcmVhZF9tb3N0bHk7CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nCQl1dl9tbWFzayBfX3JlYWRfbW9zdGx5OworCitzdGF0aWMgREVGSU5FX1BFUl9DUFUoc3RydWN0IHB0Y19zdGF0cywgcHRjc3RhdHMpOworc3RhdGljIERFRklORV9QRVJfQ1BVKHN0cnVjdCBiYXVfY29udHJvbCwgYmF1X2NvbnRyb2wpOworCisvKgorICogRnJlZSBhIHNvZnR3YXJlIGFja25vd2xlZGdlIGhhcmR3YXJlIHJlc291cmNlIGJ5IGNsZWFyaW5nIGl0cyBQZW5kaW5nCisgKiBiaXQuIFRoaXMgd2lsbCByZXR1cm4gYSByZXBseSB0byB0aGUgc2VuZGVyLgorICogSWYgdGhlIG1lc3NhZ2UgaGFzIHRpbWVkIG91dCwgYSByZXBseSBoYXMgYWxyZWFkeSBiZWVuIHNlbnQgYnkgdGhlCisgKiBoYXJkd2FyZSBidXQgdGhlIHJlc291cmNlIGhhcyBub3QgYmVlbiByZWxlYXNlZC4gSW4gdGhhdCBjYXNlIG91cgorICogY2xlYXIgb2YgdGhlIFRpbWVvdXQgYml0IChhcyB3ZWxsKSB3aWxsIGZyZWUgdGhlIHJlc291cmNlLiBObyByZXBseSB3aWxsCisgKiBiZSBzZW50ICh0aGUgaGFyZHdhcmUgd2lsbCBvbmx5IGRvIG9uZSByZXBseSBwZXIgbWVzc2FnZSkuCisgKi8KK3N0YXRpYyB2b2lkIHV2X3JlcGx5X3RvX21lc3NhZ2UoaW50IHJlc291cmNlLAorCQkJCXN0cnVjdCBiYXVfcGF5bG9hZF9xdWV1ZV9lbnRyeSAqbXNnLAorCQkJCXN0cnVjdCBiYXVfbXNnX3N0YXR1cyAqbXNwKQoreworCXVuc2lnbmVkIGxvbmcgZHc7CisKKwlkdyA9ICgxIDw8IChyZXNvdXJjZSArIFVWX1NXX0FDS19OUEVORElORykpIHwgKDEgPDwgcmVzb3VyY2UpOworCW1zZy0+cmVwbGllZF90byA9IDE7CisJbXNnLT5zd19hY2tfdmVjdG9yID0gMDsKKwlpZiAobXNwKQorCQltc3AtPnNlZW5fYnkuYml0cyA9IDA7CisJdXZfd3JpdGVfbG9jYWxfbW1yKFVWSF9MQl9CQVVfSU5URF9TT0ZUV0FSRV9BQ0tOT1dMRURHRV9BTElBUywgZHcpOworfQorCisvKgorICogRG8gYWxsIHRoZSB0aGluZ3MgYSBjcHUgc2hvdWxkIGRvIGZvciBhIFRMQiBzaG9vdGRvd24gbWVzc2FnZS4KKyAqIE90aGVyIGNwdSdzIG1heSBjb21lIGhlcmUgYXQgdGhlIHNhbWUgdGltZSBmb3IgdGhpcyBtZXNzYWdlLgorICovCitzdGF0aWMgdm9pZCB1dl9iYXVfcHJvY2Vzc19tZXNzYWdlKHN0cnVjdCBiYXVfcGF5bG9hZF9xdWV1ZV9lbnRyeSAqbXNnLAorCQkJCSAgIGludCBtc2dfc2xvdCwgaW50IHN3X2Fja19zbG90KQoreworCXVuc2lnbmVkIGxvbmcgdGhpc19jcHVfbWFzazsKKwlzdHJ1Y3QgYmF1X21zZ19zdGF0dXMgKm1zcDsKKwlpbnQgY3B1OworCisJbXNwID0gX19nZXRfY3B1X3ZhcihiYXVfY29udHJvbCkubXNnX3N0YXR1c2VzICsgbXNnX3Nsb3Q7CisJY3B1ID0gdXZfYmxhZGVfcHJvY2Vzc29yX2lkKCk7CisJbXNnLT5udW1iZXJfb2ZfY3B1cyA9CisJICAgIHV2X2JsYWRlX25yX29ubGluZV9jcHVzKHV2X25vZGVfdG9fYmxhZGVfaWQobnVtYV9ub2RlX2lkKCkpKTsKKwl0aGlzX2NwdV9tYXNrID0gMVVMIDw8IGNwdTsKKwlpZiAobXNwLT5zZWVuX2J5LmJpdHMgJiB0aGlzX2NwdV9tYXNrKQorCQlyZXR1cm47CisJYXRvbWljX29yX2xvbmcoJm1zcC0+c2Vlbl9ieS5iaXRzLCB0aGlzX2NwdV9tYXNrKTsKKworCWlmIChtc2ctPnJlcGxpZWRfdG8gPT0gMSkKKwkJcmV0dXJuOworCisJaWYgKG1zZy0+YWRkcmVzcyA9PSBUTEJfRkxVU0hfQUxMKSB7CisJCWxvY2FsX2ZsdXNoX3RsYigpOworCQlfX2dldF9jcHVfdmFyKHB0Y3N0YXRzKS5hbGx0bGIrKzsKKwl9IGVsc2UgeworCQlfX2ZsdXNoX3RsYl9vbmUobXNnLT5hZGRyZXNzKTsKKwkJX19nZXRfY3B1X3ZhcihwdGNzdGF0cykub25ldGxiKys7CisJfQorCisJX19nZXRfY3B1X3ZhcihwdGNzdGF0cykucmVxdWVzdGVlKys7CisKKwlhdG9taWNfaW5jX3Nob3J0KCZtc2ctPmFja25vd2xlZGdlX2NvdW50KTsKKwlpZiAobXNnLT5udW1iZXJfb2ZfY3B1cyA9PSBtc2ctPmFja25vd2xlZGdlX2NvdW50KQorCQl1dl9yZXBseV90b19tZXNzYWdlKHN3X2Fja19zbG90LCBtc2csIG1zcCk7Cit9CisKKy8qCisgKiBFeGFtaW5lIHRoZSBwYXlsb2FkIHF1ZXVlIG9uIG9uZSBkaXN0cmlidXRpb24gbm9kZSB0byBzZWUKKyAqIHdoaWNoIG1lc3NhZ2VzIGhhdmUgbm90IGJlZW4gc2VlbiwgYW5kIHdoaWNoIGNwdShzKSBoYXZlIG5vdCBzZWVuIHRoZW0uCisgKgorICogUmV0dXJucyB0aGUgbnVtYmVyIG9mIGNwdSdzIHRoYXQgaGF2ZSBub3QgcmVzcG9uZGVkLgorICovCitzdGF0aWMgaW50IHV2X2V4YW1pbmVfZGVzdGluYXRpb24oc3RydWN0IGJhdV9jb250cm9sICpiYXVfdGFibGVzcCwgaW50IHNlbmRlcikKK3sKKwlzdHJ1Y3QgYmF1X3BheWxvYWRfcXVldWVfZW50cnkgKm1zZzsKKwlzdHJ1Y3QgYmF1X21zZ19zdGF0dXMgKm1zcDsKKwlpbnQgY291bnQgPSAwOworCWludCBpOworCWludCBqOworCisJZm9yIChtc2cgPSBiYXVfdGFibGVzcC0+dmFfcXVldWVfZmlyc3QsIGkgPSAwOyBpIDwgREVTVF9RX1NJWkU7CisJICAgICBtc2crKywgaSsrKSB7CisJCWlmICgobXNnLT5zZW5kaW5nX2NwdSA9PSBzZW5kZXIpICYmICghbXNnLT5yZXBsaWVkX3RvKSkgeworCQkJbXNwID0gYmF1X3RhYmxlc3AtPm1zZ19zdGF0dXNlcyArIGk7CisJCQlwcmludGsoS0VSTl9ERUJVRworCQkJICAgICAgICJibGFkZSAlZDogYWRkcmVzczolI2x4ICVkIG9mICVkLCBub3QgY3B1KHMpOiAiLAorCQkJICAgICAgIGksIG1zZy0+YWRkcmVzcywgbXNnLT5hY2tub3dsZWRnZV9jb3VudCwKKwkJCSAgICAgICBtc2ctPm51bWJlcl9vZl9jcHVzKTsKKwkJCWZvciAoaiA9IDA7IGogPCBtc2ctPm51bWJlcl9vZl9jcHVzOyBqKyspIHsKKwkJCQlpZiAoISgoMUwgPDwgaikgJiBtc3AtPnNlZW5fYnkuYml0cykpIHsKKwkJCQkJY291bnQrKzsKKwkJCQkJcHJpbnRrKCIlZCAiLCBqKTsKKwkJCQl9CisJCQl9CisJCQlwcmludGsoIlxuIik7CisJCX0KKwl9CisJcmV0dXJuIGNvdW50OworfQorCisvKgorICogRXhhbWluZSB0aGUgcGF5bG9hZCBxdWV1ZSBvbiBhbGwgdGhlIGRpc3RyaWJ1dGlvbiBub2RlcyB0byBzZWUKKyAqIHdoaWNoIG1lc3NhZ2VzIGhhdmUgbm90IGJlZW4gc2VlbiwgYW5kIHdoaWNoIGNwdShzKSBoYXZlIG5vdCBzZWVuIHRoZW0uCisgKgorICogUmV0dXJucyB0aGUgbnVtYmVyIG9mIGNwdSdzIHRoYXQgaGF2ZSBub3QgcmVzcG9uZGVkLgorICovCitzdGF0aWMgaW50IHV2X2V4YW1pbmVfZGVzdGluYXRpb25zKHN0cnVjdCBiYXVfdGFyZ2V0X25vZGVtYXNrICpkaXN0cmlidXRpb24pCit7CisJaW50IHNlbmRlcjsKKwlpbnQgaTsKKwlpbnQgY291bnQgPSAwOworCisJc2VuZGVyID0gc21wX3Byb2Nlc3Nvcl9pZCgpOworCWZvciAoaSA9IDA7IGkgPCBzaXplb2Yoc3RydWN0IGJhdV90YXJnZXRfbm9kZW1hc2spICogQklUU1BFUkJZVEU7IGkrKykgeworCQlpZiAoIWJhdV9ub2RlX2lzc2V0KGksIGRpc3RyaWJ1dGlvbikpCisJCQljb250aW51ZTsKKwkJY291bnQgKz0gdXZfZXhhbWluZV9kZXN0aW5hdGlvbih1dl9iYXVfdGFibGVfYmFzZXNbaV0sIHNlbmRlcik7CisJfQorCXJldHVybiBjb3VudDsKK30KKworLyoKKyAqIHdhaXQgZm9yIGNvbXBsZXRpb24gb2YgYSBicm9hZGNhc3QgbWVzc2FnZQorICoKKyAqIHJldHVybiBDT01QTEVURSwgUkVUUlkgb3IgR0lWRVVQCisgKi8KK3N0YXRpYyBpbnQgdXZfd2FpdF9jb21wbGV0aW9uKHN0cnVjdCBiYXVfZGVzYyAqYmF1X2Rlc2MsCisJCQkgICAgICB1bnNpZ25lZCBsb25nIG1tcl9vZmZzZXQsIGludCByaWdodF9zaGlmdCkKK3sKKwlpbnQgZXhhbXMgPSAwOworCWxvbmcgZGVzdGluYXRpb25fdGltZW91dHMgPSAwOworCWxvbmcgc291cmNlX3RpbWVvdXRzID0gMDsKKwl1bnNpZ25lZCBsb25nIGRlc2NyaXB0b3Jfc3RhdHVzOworCisJd2hpbGUgKChkZXNjcmlwdG9yX3N0YXR1cyA9ICgoKHVuc2lnbmVkIGxvbmcpCisJCXV2X3JlYWRfbG9jYWxfbW1yKG1tcl9vZmZzZXQpID4+CisJCQlyaWdodF9zaGlmdCkgJiBVVl9BQ1RfU1RBVFVTX01BU0spKSAhPQorCQkJREVTQ19TVEFUVVNfSURMRSkgeworCQlpZiAoZGVzY3JpcHRvcl9zdGF0dXMgPT0gREVTQ19TVEFUVVNfU09VUkNFX1RJTUVPVVQpIHsKKwkJCXNvdXJjZV90aW1lb3V0cysrOworCQkJaWYgKHNvdXJjZV90aW1lb3V0cyA+IFNPVVJDRV9USU1FT1VUX0xJTUlUKQorCQkJCXNvdXJjZV90aW1lb3V0cyA9IDA7CisJCQlfX2dldF9jcHVfdmFyKHB0Y3N0YXRzKS5zX3JldHJ5Kys7CisJCQlyZXR1cm4gRkxVU0hfUkVUUlk7CisJCX0KKwkJLyoKKwkJICogc3BpbiBoZXJlIGxvb2tpbmcgZm9yIHByb2dyZXNzIGF0IHRoZSBkZXN0aW5hdGlvbnMKKwkJICovCisJCWlmIChkZXNjcmlwdG9yX3N0YXR1cyA9PSBERVNDX1NUQVRVU19ERVNUSU5BVElPTl9USU1FT1VUKSB7CisJCQlkZXN0aW5hdGlvbl90aW1lb3V0cysrOworCQkJaWYgKGRlc3RpbmF0aW9uX3RpbWVvdXRzID4gREVTVElOQVRJT05fVElNRU9VVF9MSU1JVCkgeworCQkJCS8qCisJCQkJICogcmV0dXJucyBudW1iZXIgb2YgY3B1cyBub3QgcmVzcG9uZGluZworCQkJCSAqLworCQkJCWlmICh1dl9leGFtaW5lX2Rlc3RpbmF0aW9ucworCQkJCSAgICAoJmJhdV9kZXNjLT5kaXN0cmlidXRpb24pID09IDApIHsKKwkJCQkJX19nZXRfY3B1X3ZhcihwdGNzdGF0cykuZF9yZXRyeSsrOworCQkJCQlyZXR1cm4gRkxVU0hfUkVUUlk7CisJCQkJfQorCQkJCWV4YW1zKys7CisJCQkJaWYgKGV4YW1zID49IHV2X2JhdV9yZXRyeV9saW1pdCkgeworCQkJCQlwcmludGsoS0VSTl9ERUJVRworCQkJCQkgICAgICAgInV2X2ZsdXNoX3RsYl9vdGhlcnMiKTsKKwkJCQkJcHJpbnRrKCJnaXZpbmcgdXAgb24gY3B1ICVkXG4iLAorCQkJCQkgICAgICAgc21wX3Byb2Nlc3Nvcl9pZCgpKTsKKwkJCQkJcmV0dXJuIEZMVVNIX0dJVkVVUDsKKwkJCQl9CisJCQkJLyoKKwkJCQkgKiBkZWxheXMgY2FuIGhhbmcgdGhlIHNpbXVsYXRvcgorCQkJCSAgIHVkZWxheSgxMDAwKTsKKwkJCQkgKi8KKwkJCQlkZXN0aW5hdGlvbl90aW1lb3V0cyA9IDA7CisJCQl9CisJCX0KKwl9CisJcmV0dXJuIEZMVVNIX0NPTVBMRVRFOworfQorCisvKioKKyAqIHV2X2ZsdXNoX3NlbmRfYW5kX3dhaXQKKyAqCisgKiBTZW5kIGEgYnJvYWRjYXN0IGFuZCB3YWl0IGZvciBhIGJyb2FkY2FzdCBtZXNzYWdlIHRvIGNvbXBsZXRlLgorICoKKyAqIFRoZSBjcHVtYXNrcCBtYXNrIGNvbnRhaW5zIHRoZSBjcHVzIHRoZSBicm9hZGNhc3Qgd2FzIHNlbnQgdG8uCisgKgorICogUmV0dXJucyAxIGlmIGFsbCByZW1vdGUgZmx1c2hpbmcgd2FzIGRvbmUuIFRoZSBtYXNrIGlzIHplcm9lZC4KKyAqIFJldHVybnMgMCBpZiBzb21lIHJlbW90ZSBmbHVzaGluZyByZW1haW5zIHRvIGJlIGRvbmUuIFRoZSBtYXNrIGlzIGxlZnQKKyAqIHVuY2hhbmdlZC4KKyAqLworaW50IHV2X2ZsdXNoX3NlbmRfYW5kX3dhaXQoaW50IGNwdSwgaW50IHRoaXNfYmxhZGUsIHN0cnVjdCBiYXVfZGVzYyAqYmF1X2Rlc2MsCisJCQkgICBjcHVtYXNrX3QgKmNwdW1hc2twKQoreworCWludCBjb21wbGV0aW9uX3N0YXR1cyA9IDA7CisJaW50IHJpZ2h0X3NoaWZ0OworCWludCB0cmllcyA9IDA7CisJaW50IGJsYWRlOworCWludCBiaXQ7CisJdW5zaWduZWQgbG9uZyBtbXJfb2Zmc2V0OworCXVuc2lnbmVkIGxvbmcgaW5kZXg7CisJY3ljbGVzX3QgdGltZTE7CisJY3ljbGVzX3QgdGltZTI7CisKKwlpZiAoY3B1IDwgVVZfQ1BVU19QRVJfQUNUX1NUQVRVUykgeworCQltbXJfb2Zmc2V0ID0gVVZIX0xCX0JBVV9TQl9BQ1RJVkFUSU9OX1NUQVRVU18wOworCQlyaWdodF9zaGlmdCA9IGNwdSAqIFVWX0FDVF9TVEFUVVNfU0laRTsKKwl9IGVsc2UgeworCQltbXJfb2Zmc2V0ID0gVVZIX0xCX0JBVV9TQl9BQ1RJVkFUSU9OX1NUQVRVU18xOworCQlyaWdodF9zaGlmdCA9CisJCSAgICAoKGNwdSAtIFVWX0NQVVNfUEVSX0FDVF9TVEFUVVMpICogVVZfQUNUX1NUQVRVU19TSVpFKTsKKwl9CisJdGltZTEgPSBnZXRfY3ljbGVzKCk7CisJZG8geworCQl0cmllcysrOworCQlpbmRleCA9ICgxVUwgPDwgVVZIX0xCX0JBVV9TQl9BQ1RJVkFUSU9OX0NPTlRST0xfUFVTSF9TSEZUKSB8CisJCQljcHU7CisJCXV2X3dyaXRlX2xvY2FsX21tcihVVkhfTEJfQkFVX1NCX0FDVElWQVRJT05fQ09OVFJPTCwgaW5kZXgpOworCQljb21wbGV0aW9uX3N0YXR1cyA9IHV2X3dhaXRfY29tcGxldGlvbihiYXVfZGVzYywgbW1yX29mZnNldCwKKwkJCQkJcmlnaHRfc2hpZnQpOworCX0gd2hpbGUgKGNvbXBsZXRpb25fc3RhdHVzID09IEZMVVNIX1JFVFJZKTsKKwl0aW1lMiA9IGdldF9jeWNsZXMoKTsKKwlfX2dldF9jcHVfdmFyKHB0Y3N0YXRzKS5zZmx1c2ggKz0gKHRpbWUyIC0gdGltZTEpOworCWlmICh0cmllcyA+IDEpCisJCV9fZ2V0X2NwdV92YXIocHRjc3RhdHMpLnJldHJpZXNvaysrOworCisJaWYgKGNvbXBsZXRpb25fc3RhdHVzID09IEZMVVNIX0dJVkVVUCkgeworCQkvKgorCQkgKiBDYXVzZSB0aGUgY2FsbGVyIHRvIGRvIGFuIElQSS1zdHlsZSBUTEIgc2hvb3Rkb3duIG9uCisJCSAqIHRoZSBjcHUncywgYWxsIG9mIHdoaWNoIGFyZSBzdGlsbCBpbiB0aGUgbWFzay4KKwkJICovCisJCV9fZ2V0X2NwdV92YXIocHRjc3RhdHMpLnB0Y19pKys7CisJCXJldHVybiAwOworCX0KKworCS8qCisJICogU3VjY2Vzcywgc28gY2xlYXIgdGhlIHJlbW90ZSBjcHUncyBmcm9tIHRoZSBtYXNrIHNvIHdlIGRvbid0CisJICogdXNlIHRoZSBJUEkgbWV0aG9kIG9mIHNob290ZG93biBvbiB0aGVtLgorCSAqLworCWZvcl9lYWNoX2NwdV9tYXNrKGJpdCwgKmNwdW1hc2twKSB7CisJCWJsYWRlID0gdXZfY3B1X3RvX2JsYWRlX2lkKGJpdCk7CisJCWlmIChibGFkZSA9PSB0aGlzX2JsYWRlKQorCQkJY29udGludWU7CisJCWNwdV9jbGVhcihiaXQsICpjcHVtYXNrcCk7CisJfQorCWlmICghY3B1c19lbXB0eSgqY3B1bWFza3ApKQorCQlyZXR1cm4gMDsKKwlyZXR1cm4gMTsKK30KKworLyoqCisgKiB1dl9mbHVzaF90bGJfb3RoZXJzIC0gZ2xvYmFsbHkgcHVyZ2UgdHJhbnNsYXRpb24gY2FjaGUgb2YgYSB2aXJ0dWFsCisgKiBhZGRyZXNzIG9yIGFsbCBUTEIncworICogQGNwdW1hc2twOiBtYXNrIG9mIGFsbCBjcHUncyBpbiB3aGljaCB0aGUgYWRkcmVzcyBpcyB0byBiZSByZW1vdmVkCisgKiBAbW06IG1tX3N0cnVjdCBjb250YWluaW5nIHZpcnR1YWwgYWRkcmVzcyByYW5nZQorICogQHZhOiB2aXJ0dWFsIGFkZHJlc3MgdG8gYmUgcmVtb3ZlZCAob3IgVExCX0ZMVVNIX0FMTCBmb3IgYWxsIFRMQidzIG9uIGNwdSkKKyAqCisgKiBUaGlzIGlzIHRoZSBlbnRyeSBwb2ludCBmb3IgaW5pdGlhdGluZyBhbnkgVVYgZ2xvYmFsIFRMQiBzaG9vdGRvd24uCisgKgorICogUHVyZ2VzIHRoZSB0cmFuc2xhdGlvbiBjYWNoZXMgb2YgYWxsIHNwZWNpZmllZCBwcm9jZXNzb3JzIG9mIHRoZSBnaXZlbgorICogdmlydHVhbCBhZGRyZXNzLCBvciBwdXJnZXMgYWxsIFRMQidzIG9uIHNwZWNpZmllZCBwcm9jZXNzb3JzLgorICoKKyAqIFRoZSBjYWxsZXIgaGFzIGRlcml2ZWQgdGhlIGNwdW1hc2twIGZyb20gdGhlIG1tX3N0cnVjdCBhbmQgaGFzIHN1YnRyYWN0ZWQKKyAqIHRoZSBsb2NhbCBjcHUgZnJvbSB0aGUgbWFzay4gIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIG9ubHkgaWYgdGhlcmUKKyAqIGFyZSBiaXRzIHNldCBpbiB0aGUgbWFzay4gKGUuZy4gZmx1c2hfdGxiX3BhZ2UoKSkKKyAqCisgKiBUaGUgY3B1bWFza3AgaXMgY29udmVydGVkIGludG8gYSBub2RlbWFzayBvZiB0aGUgbm9kZXMgY29udGFpbmluZworICogdGhlIGNwdXMuCisgKgorICogUmV0dXJucyAxIGlmIGFsbCByZW1vdGUgZmx1c2hpbmcgd2FzIGRvbmUuCisgKiBSZXR1cm5zIDAgaWYgc29tZSByZW1vdGUgZmx1c2hpbmcgcmVtYWlucyB0byBiZSBkb25lLgorICovCitpbnQgdXZfZmx1c2hfdGxiX290aGVycyhjcHVtYXNrX3QgKmNwdW1hc2twLCBzdHJ1Y3QgbW1fc3RydWN0ICptbSwKKwkJCXVuc2lnbmVkIGxvbmcgdmEpCit7CisJaW50IGk7CisJaW50IGJpdDsKKwlpbnQgYmxhZGU7CisJaW50IGNwdTsKKwlpbnQgdGhpc19ibGFkZTsKKwlpbnQgbG9jYWxzID0gMDsKKwlzdHJ1Y3QgYmF1X2Rlc2MgKmJhdV9kZXNjOworCisJY3B1ID0gdXZfYmxhZGVfcHJvY2Vzc29yX2lkKCk7CisJdGhpc19ibGFkZSA9IHV2X251bWFfYmxhZGVfaWQoKTsKKwliYXVfZGVzYyA9IF9fZ2V0X2NwdV92YXIoYmF1X2NvbnRyb2wpLmRlc2NyaXB0b3JfYmFzZTsKKwliYXVfZGVzYyArPSBVVl9JVEVNU19QRVJfREVTQ1JJUFRPUiAqIGNwdTsKKworCWJhdV9ub2Rlc19jbGVhcigmYmF1X2Rlc2MtPmRpc3RyaWJ1dGlvbiwgVVZfRElTVFJJQlVUSU9OX1NJWkUpOworCisJaSA9IDA7CisJZm9yX2VhY2hfY3B1X21hc2soYml0LCAqY3B1bWFza3ApIHsKKwkJYmxhZGUgPSB1dl9jcHVfdG9fYmxhZGVfaWQoYml0KTsKKwkJQlVHX09OKGJsYWRlID4gKFVWX0RJU1RSSUJVVElPTl9TSVpFIC0gMSkpOworCQlpZiAoYmxhZGUgPT0gdGhpc19ibGFkZSkgeworCQkJbG9jYWxzKys7CisJCQljb250aW51ZTsKKwkJfQorCQliYXVfbm9kZV9zZXQoYmxhZGUsICZiYXVfZGVzYy0+ZGlzdHJpYnV0aW9uKTsKKwkJaSsrOworCX0KKwlpZiAoaSA9PSAwKSB7CisJCS8qCisJCSAqIG5vIG9mZl9ub2RlIGZsdXNoaW5nOyByZXR1cm4gc3RhdHVzIGZvciBsb2NhbCBub2RlCisJCSAqLworCQlpZiAobG9jYWxzKQorCQkJcmV0dXJuIDA7CisJCWVsc2UKKwkJCXJldHVybiAxOworCX0KKwlfX2dldF9jcHVfdmFyKHB0Y3N0YXRzKS5yZXF1ZXN0b3IrKzsKKwlfX2dldF9jcHVfdmFyKHB0Y3N0YXRzKS5udGFyZ2V0ZWQgKz0gaTsKKworCWJhdV9kZXNjLT5wYXlsb2FkLmFkZHJlc3MgPSB2YTsKKwliYXVfZGVzYy0+cGF5bG9hZC5zZW5kaW5nX2NwdSA9IHNtcF9wcm9jZXNzb3JfaWQoKTsKKworCXJldHVybiB1dl9mbHVzaF9zZW5kX2FuZF93YWl0KGNwdSwgdGhpc19ibGFkZSwgYmF1X2Rlc2MsIGNwdW1hc2twKTsKK30KKworLyoKKyAqIFRoZSBCQVUgbWVzc2FnZSBpbnRlcnJ1cHQgY29tZXMgaGVyZS4gKHJlZ2lzdGVyZWQgYnkgc2V0X2ludHJfZ2F0ZSkKKyAqIFNlZSBlbnRyeV82NC5TCisgKgorICogV2UgcmVjZWl2ZWQgYSBicm9hZGNhc3QgYXNzaXN0IG1lc3NhZ2UuCisgKgorICogSW50ZXJydXB0cyBtYXkgaGF2ZSBiZWVuIGRpc2FibGVkOyB0aGlzIGludGVycnVwdCBjb3VsZCByZXByZXNlbnQKKyAqIHRoZSByZWNlaXB0IG9mIHNldmVyYWwgbWVzc2FnZXMuCisgKgorICogQWxsIGNvcmVzL3RocmVhZHMgb24gdGhpcyBub2RlIGdldCB0aGlzIGludGVycnVwdC4KKyAqIFRoZSBsYXN0IG9uZSB0byBzZWUgaXQgZG9lcyB0aGUgcy93IGFjay4KKyAqICh0aGUgcmVzb3VyY2Ugd2lsbCBub3QgYmUgZnJlZWQgdW50aWwgbm9uaW50ZXJydXB0YWJsZSBjcHVzIHNlZSB0aGlzCisgKiAgaW50ZXJydXB0OyBoYXJkd2FyZSB3aWxsIHRpbWVvdXQgdGhlIHMvdyBhY2sgYW5kIHJlcGx5IEVSUk9SKQorICovCit2b2lkIHV2X2JhdV9tZXNzYWdlX2ludGVycnVwdChzdHJ1Y3QgcHRfcmVncyAqcmVncykKK3sKKwlzdHJ1Y3QgYmF1X3BheWxvYWRfcXVldWVfZW50cnkgKnZhX3F1ZXVlX2ZpcnN0OworCXN0cnVjdCBiYXVfcGF5bG9hZF9xdWV1ZV9lbnRyeSAqdmFfcXVldWVfbGFzdDsKKwlzdHJ1Y3QgYmF1X3BheWxvYWRfcXVldWVfZW50cnkgKm1zZzsKKwlzdHJ1Y3QgcHRfcmVncyAqb2xkX3JlZ3MgPSBzZXRfaXJxX3JlZ3MocmVncyk7CisJY3ljbGVzX3QgdGltZTE7CisJY3ljbGVzX3QgdGltZTI7CisJaW50IG1zZ19zbG90OworCWludCBzd19hY2tfc2xvdDsKKwlpbnQgZnc7CisJaW50IGNvdW50ID0gMDsKKwl1bnNpZ25lZCBsb25nIGxvY2FsX3Bub2RlOworCisJYWNrX0FQSUNfaXJxKCk7CisJZXhpdF9pZGxlKCk7CisJaXJxX2VudGVyKCk7CisKKwl0aW1lMSA9IGdldF9jeWNsZXMoKTsKKworCWxvY2FsX3Bub2RlID0gdXZfYmxhZGVfdG9fcG5vZGUodXZfbnVtYV9ibGFkZV9pZCgpKTsKKworCXZhX3F1ZXVlX2ZpcnN0ID0gX19nZXRfY3B1X3ZhcihiYXVfY29udHJvbCkudmFfcXVldWVfZmlyc3Q7CisJdmFfcXVldWVfbGFzdCA9IF9fZ2V0X2NwdV92YXIoYmF1X2NvbnRyb2wpLnZhX3F1ZXVlX2xhc3Q7CisKKwltc2cgPSBfX2dldF9jcHVfdmFyKGJhdV9jb250cm9sKS5iYXVfbXNnX2hlYWQ7CisJd2hpbGUgKG1zZy0+c3dfYWNrX3ZlY3RvcikgeworCQljb3VudCsrOworCQlmdyA9IG1zZy0+c3dfYWNrX3ZlY3RvcjsKKwkJbXNnX3Nsb3QgPSBtc2cgLSB2YV9xdWV1ZV9maXJzdDsKKwkJc3dfYWNrX3Nsb3QgPSBmZnMoZncpIC0gMTsKKworCQl1dl9iYXVfcHJvY2Vzc19tZXNzYWdlKG1zZywgbXNnX3Nsb3QsIHN3X2Fja19zbG90KTsKKworCQltc2crKzsKKwkJaWYgKG1zZyA+IHZhX3F1ZXVlX2xhc3QpCisJCQltc2cgPSB2YV9xdWV1ZV9maXJzdDsKKwkJX19nZXRfY3B1X3ZhcihiYXVfY29udHJvbCkuYmF1X21zZ19oZWFkID0gbXNnOworCX0KKwlpZiAoIWNvdW50KQorCQlfX2dldF9jcHVfdmFyKHB0Y3N0YXRzKS5ub21zZysrOworCWVsc2UgaWYgKGNvdW50ID4gMSkKKwkJX19nZXRfY3B1X3ZhcihwdGNzdGF0cykubXVsdG1zZysrOworCisJdGltZTIgPSBnZXRfY3ljbGVzKCk7CisJX19nZXRfY3B1X3ZhcihwdGNzdGF0cykuZGZsdXNoICs9ICh0aW1lMiAtIHRpbWUxKTsKKworCWlycV9leGl0KCk7CisJc2V0X2lycV9yZWdzKG9sZF9yZWdzKTsKK30KKworc3RhdGljIHZvaWQgdXZfZW5hYmxlX3RpbWVvdXRzKHZvaWQpCit7CisJaW50IGk7CisJaW50IGJsYWRlOworCWludCBsYXN0X2JsYWRlOworCWludCBwbm9kZTsKKwlpbnQgY3VyX2NwdSA9IDA7CisJdW5zaWduZWQgbG9uZyBhcGljaWQ7CisKKwlsYXN0X2JsYWRlID0gLTE7CisJZm9yX2VhY2hfb25saW5lX25vZGUoaSkgeworCQlibGFkZSA9IHV2X25vZGVfdG9fYmxhZGVfaWQoaSk7CisJCWlmIChibGFkZSA9PSBsYXN0X2JsYWRlKQorCQkJY29udGludWU7CisJCWxhc3RfYmxhZGUgPSBibGFkZTsKKwkJYXBpY2lkID0gcGVyX2NwdSh4ODZfY3B1X3RvX2FwaWNpZCwgY3VyX2NwdSk7CisJCXBub2RlID0gdXZfYmxhZGVfdG9fcG5vZGUoYmxhZGUpOworCQljdXJfY3B1ICs9IHV2X2JsYWRlX25yX3Bvc3NpYmxlX2NwdXMoaSk7CisJfQorfQorCitzdGF0aWMgdm9pZCAqdXZfcHRjX3NlcV9zdGFydChzdHJ1Y3Qgc2VxX2ZpbGUgKmZpbGUsIGxvZmZfdCAqb2Zmc2V0KQoreworCWlmICgqb2Zmc2V0IDwgbnVtX3Bvc3NpYmxlX2NwdXMoKSkKKwkJcmV0dXJuIG9mZnNldDsKKwlyZXR1cm4gTlVMTDsKK30KKworc3RhdGljIHZvaWQgKnV2X3B0Y19zZXFfbmV4dChzdHJ1Y3Qgc2VxX2ZpbGUgKmZpbGUsIHZvaWQgKmRhdGEsIGxvZmZfdCAqb2Zmc2V0KQoreworCSgqb2Zmc2V0KSsrOworCWlmICgqb2Zmc2V0IDwgbnVtX3Bvc3NpYmxlX2NwdXMoKSkKKwkJcmV0dXJuIG9mZnNldDsKKwlyZXR1cm4gTlVMTDsKK30KKworc3RhdGljIHZvaWQgdXZfcHRjX3NlcV9zdG9wKHN0cnVjdCBzZXFfZmlsZSAqZmlsZSwgdm9pZCAqZGF0YSkKK3sKK30KKworLyoKKyAqIERpc3BsYXkgdGhlIHN0YXRpc3RpY3MgdGhydSAvcHJvYworICogZGF0YSBwb2ludHMgdG8gdGhlIGNwdSBudW1iZXIKKyAqLworc3RhdGljIGludCB1dl9wdGNfc2VxX3Nob3coc3RydWN0IHNlcV9maWxlICpmaWxlLCB2b2lkICpkYXRhKQoreworCXN0cnVjdCBwdGNfc3RhdHMgKnN0YXQ7CisJaW50IGNwdTsKKworCWNwdSA9ICoobG9mZl90ICopZGF0YTsKKworCWlmICghY3B1KSB7CisJCXNlcV9wcmludGYoZmlsZSwKKwkJIiMgY3B1IHJlcXVlc3RvciByZXF1ZXN0ZWUgb25lIGFsbCBzcmV0cnkgZHJldHJ5IHB0Y19pICIpOworCQlzZXFfcHJpbnRmKGZpbGUsCisJCSJzd19hY2sgc2ZsdXNoIGRmbHVzaCBzb2sgZG5vbXNnIGRtdWx0IHN0YXJnZXRcbiIpOworCX0KKwlpZiAoY3B1IDwgbnVtX3Bvc3NpYmxlX2NwdXMoKSAmJiBjcHVfb25saW5lKGNwdSkpIHsKKwkJc3RhdCA9ICZwZXJfY3B1KHB0Y3N0YXRzLCBjcHUpOworCQlzZXFfcHJpbnRmKGZpbGUsICJjcHUgJWQgJWxkICVsZCAlbGQgJWxkICVsZCAlbGQgJWxkICIsCisJCQkgICBjcHUsIHN0YXQtPnJlcXVlc3RvciwKKwkJCSAgIHN0YXQtPnJlcXVlc3RlZSwgc3RhdC0+b25ldGxiLCBzdGF0LT5hbGx0bGIsCisJCQkgICBzdGF0LT5zX3JldHJ5LCBzdGF0LT5kX3JldHJ5LCBzdGF0LT5wdGNfaSk7CisJCXNlcV9wcmludGYoZmlsZSwgIiVseCAlbGQgJWxkICVsZCAlbGQgJWxkICVsZFxuIiwKKwkJCSAgIHV2X3JlYWRfZ2xvYmFsX21tcjY0KHV2X2JsYWRlX3RvX3Bub2RlCisJCQkJCSh1dl9jcHVfdG9fYmxhZGVfaWQoY3B1KSksCisJCQkJCVVWSF9MQl9CQVVfSU5URF9TT0ZUV0FSRV9BQ0tOT1dMRURHRSksCisJCQkgICBzdGF0LT5zZmx1c2gsIHN0YXQtPmRmbHVzaCwKKwkJCSAgIHN0YXQtPnJldHJpZXNvaywgc3RhdC0+bm9tc2csCisJCQkgICBzdGF0LT5tdWx0bXNnLCBzdGF0LT5udGFyZ2V0ZWQpOworCX0KKworCXJldHVybiAwOworfQorCisvKgorICogIDA6IGRpc3BsYXkgbWVhbmluZyBvZiB0aGUgc3RhdGlzdGljcworICogPjA6IHJldHJ5IGxpbWl0CisgKi8KK3N0YXRpYyBzc2l6ZV90IHV2X3B0Y19wcm9jX3dyaXRlKHN0cnVjdCBmaWxlICpmaWxlLCBjb25zdCBjaGFyIF9fdXNlciAqdXNlciwKKwkJCQkgc2l6ZV90IGNvdW50LCBsb2ZmX3QgKmRhdGEpCit7CisJbG9uZyBuZXdtb2RlOworCWNoYXIgb3B0c3RyWzY0XTsKKworCWlmIChjb3VudCA9PSAwIHx8IGNvdW50ID4gc2l6ZW9mKG9wdHN0cikpCisJCXJldHVybiAtRUlOVkFMOworCWlmIChjb3B5X2Zyb21fdXNlcihvcHRzdHIsIHVzZXIsIGNvdW50KSkKKwkJcmV0dXJuIC1FRkFVTFQ7CisJb3B0c3RyW2NvdW50IC0gMV0gPSAnXDAnOworCWlmIChzdHJpY3Rfc3RydG91bChvcHRzdHIsIDEwLCAmbmV3bW9kZSkgPCAwKSB7CisJCXByaW50ayhLRVJOX0RFQlVHICIlcyBpcyBpbnZhbGlkXG4iLCBvcHRzdHIpOworCQlyZXR1cm4gLUVJTlZBTDsKKwl9CisKKwlpZiAobmV3bW9kZSA9PSAwKSB7CisJCXByaW50ayhLRVJOX0RFQlVHICIjIGNwdTogICAgICBjcHUgbnVtYmVyXG4iKTsKKwkJcHJpbnRrKEtFUk5fREVCVUcKKwkJInJlcXVlc3RvcjogIHRpbWVzIHRoaXMgY3B1IHdhcyB0aGUgZmx1c2ggcmVxdWVzdG9yXG4iKTsKKwkJcHJpbnRrKEtFUk5fREVCVUcKKwkJInJlcXVlc3RlZTogIHRpbWVzIHRoaXMgY3B1IHdhcyByZXF1ZXN0ZWQgdG8gZmx1c2ggaXRzIFRMQnNcbiIpOworCQlwcmludGsoS0VSTl9ERUJVRworCQkib25lOiAgICAgICAgdGltZXMgcmVxdWVzdGVkIHRvIGZsdXNoIGEgc2luZ2xlIGFkZHJlc3NcbiIpOworCQlwcmludGsoS0VSTl9ERUJVRworCQkiYWxsOiAgICAgICAgdGltZXMgcmVxdWVzdGVkIHRvIGZsdXNoIGFsbCBUTEInc1xuIik7CisJCXByaW50ayhLRVJOX0RFQlVHCisJCSJzcmV0cnk6ICAgICBudW1iZXIgb2YgcmV0cmllcyBvZiBzb3VyY2Utc2lkZSB0aW1lb3V0c1xuIik7CisJCXByaW50ayhLRVJOX0RFQlVHCisJCSJkcmV0cnk6ICAgICBudW1iZXIgb2YgcmV0cmllcyBvZiBkZXN0aW5hdGlvbi1zaWRlIHRpbWVvdXRzXG4iKTsKKwkJcHJpbnRrKEtFUk5fREVCVUcKKwkJInB0Y19pOiAgICAgIHRpbWVzIFVWIGZlbGwgdGhyb3VnaCB0byBJUEktc3R5bGUgZmx1c2hlc1xuIik7CisJCXByaW50ayhLRVJOX0RFQlVHCisJCSJzd19hY2s6ICAgICBpbWFnZSBvZiBVVkhfTEJfQkFVX0lOVERfU09GVFdBUkVfQUNLTk9XTEVER0VcbiIpOworCQlwcmludGsoS0VSTl9ERUJVRworCQkic2ZsdXNoX3VzOiAgY3ljbGVzIHNwZW50IGluIHV2X2ZsdXNoX3RsYl9vdGhlcnMoKVxuIik7CisJCXByaW50ayhLRVJOX0RFQlVHCisJCSJkZmx1c2hfdXM6ICBjeWNsZXMgc3BlbnQgaW4gaGFuZGxpbmcgZmx1c2ggcmVxdWVzdHNcbiIpOworCQlwcmludGsoS0VSTl9ERUJVRyAic29rOiAgICAgICAgc3VjY2Vzc2VzIG9uIHJldHJ5XG4iKTsKKwkJcHJpbnRrKEtFUk5fREVCVUcgImRub21zZzogICAgIGludGVycnVwdHMgd2l0aCBubyBtZXNzYWdlXG4iKTsKKwkJcHJpbnRrKEtFUk5fREVCVUcKKwkJImRtdWx0OiAgICAgIGludGVycnVwdHMgd2l0aCBtdWx0aXBsZSBtZXNzYWdlc1xuIik7CisJCXByaW50ayhLRVJOX0RFQlVHICJzdGFyZ2V0OiAgICBub2RlcyB0YXJnZXRlZFxuIik7CisJfSBlbHNlIHsKKwkJdXZfYmF1X3JldHJ5X2xpbWl0ID0gbmV3bW9kZTsKKwkJcHJpbnRrKEtFUk5fREVCVUcgInRpbWVvdXQgcmV0cnkgbGltaXQ6JWRcbiIsCisJCSAgICAgICB1dl9iYXVfcmV0cnlfbGltaXQpOworCX0KKworCXJldHVybiBjb3VudDsKK30KKworc3RhdGljIGNvbnN0IHN0cnVjdCBzZXFfb3BlcmF0aW9ucyB1dl9wdGNfc2VxX29wcyA9IHsKKwkuc3RhcnQJCT0gdXZfcHRjX3NlcV9zdGFydCwKKwkubmV4dAkJPSB1dl9wdGNfc2VxX25leHQsCisJLnN0b3AJCT0gdXZfcHRjX3NlcV9zdG9wLAorCS5zaG93CQk9IHV2X3B0Y19zZXFfc2hvdworfTsKKworc3RhdGljIGludCB1dl9wdGNfcHJvY19vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQoreworCXJldHVybiBzZXFfb3BlbihmaWxlLCAmdXZfcHRjX3NlcV9vcHMpOworfQorCitzdGF0aWMgY29uc3Qgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyBwcm9jX3V2X3B0Y19vcGVyYXRpb25zID0geworCS5vcGVuCQk9IHV2X3B0Y19wcm9jX29wZW4sCisJLnJlYWQJCT0gc2VxX3JlYWQsCisJLndyaXRlCQk9IHV2X3B0Y19wcm9jX3dyaXRlLAorCS5sbHNlZWsJCT0gc2VxX2xzZWVrLAorCS5yZWxlYXNlCT0gc2VxX3JlbGVhc2UsCit9OworCitzdGF0aWMgaW50IF9faW5pdCB1dl9wdGNfaW5pdCh2b2lkKQoreworCXN0cnVjdCBwcm9jX2Rpcl9lbnRyeSAqcHJvY191dl9wdGM7CisKKwlpZiAoIWlzX3V2X3N5c3RlbSgpKQorCQlyZXR1cm4gMDsKKworCWlmICghcHJvY19ta2Rpcigic2dpX3V2IiwgTlVMTCkpCisJCXJldHVybiAtRUlOVkFMOworCisJcHJvY191dl9wdGMgPSBjcmVhdGVfcHJvY19lbnRyeShVVl9QVENfQkFTRU5BTUUsIDA0NDQsIE5VTEwpOworCWlmICghcHJvY191dl9wdGMpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICJ1bmFibGUgdG8gY3JlYXRlICVzIHByb2MgZW50cnlcbiIsCisJCSAgICAgICBVVl9QVENfQkFTRU5BTUUpOworCQlyZW1vdmVfcHJvY19lbnRyeSgic2dpX3V2IiwgTlVMTCk7CisJCXJldHVybiAtRUlOVkFMOworCX0KKwlwcm9jX3V2X3B0Yy0+cHJvY19mb3BzID0gJnByb2NfdXZfcHRjX29wZXJhdGlvbnM7CisJcmV0dXJuIDA7Cit9CisKKy8qCisgKiBiZWdpbiB0aGUgaW5pdGlhbGl6YXRpb24gb2YgdGhlIHBlci1ibGFkZSBjb250cm9sIHN0cnVjdHVyZXMKKyAqLworc3RhdGljIHN0cnVjdCBiYXVfY29udHJvbCAqIF9faW5pdCB1dl90YWJsZV9iYXNlc19pbml0KGludCBibGFkZSwgaW50IG5vZGUpCit7CisJaW50IGk7CisJaW50ICppcDsKKwlzdHJ1Y3QgYmF1X21zZ19zdGF0dXMgKm1zcDsKKwlzdHJ1Y3QgYmF1X2NvbnRyb2wgKmJhdV90YWJwOworCisJYmF1X3RhYnAgPQorCSAgICBrbWFsbG9jX25vZGUoc2l6ZW9mKHN0cnVjdCBiYXVfY29udHJvbCksIEdGUF9LRVJORUwsIG5vZGUpOworCUJVR19PTighYmF1X3RhYnApOworCisJYmF1X3RhYnAtPm1zZ19zdGF0dXNlcyA9CisJICAgIGttYWxsb2Nfbm9kZShzaXplb2Yoc3RydWN0IGJhdV9tc2dfc3RhdHVzKSAqCisJCQkgREVTVF9RX1NJWkUsIEdGUF9LRVJORUwsIG5vZGUpOworCUJVR19PTighYmF1X3RhYnAtPm1zZ19zdGF0dXNlcyk7CisKKwlmb3IgKGkgPSAwLCBtc3AgPSBiYXVfdGFicC0+bXNnX3N0YXR1c2VzOyBpIDwgREVTVF9RX1NJWkU7IGkrKywgbXNwKyspCisJCWJhdV9jcHViaXRzX2NsZWFyKCZtc3AtPnNlZW5fYnksIChpbnQpCisJCQkJICB1dl9ibGFkZV9ucl9wb3NzaWJsZV9jcHVzKGJsYWRlKSk7CisKKwliYXVfdGFicC0+d2F0Y2hpbmcgPQorCSAgICBrbWFsbG9jX25vZGUoc2l6ZW9mKGludCkgKiBERVNUX05VTV9SRVNPVVJDRVMsIEdGUF9LRVJORUwsIG5vZGUpOworCUJVR19PTighYmF1X3RhYnAtPndhdGNoaW5nKTsKKworCWZvciAoaSA9IDAsIGlwID0gYmF1X3RhYnAtPndhdGNoaW5nOyBpIDwgREVTVF9RX1NJWkU7IGkrKywgaXArKykKKwkJKmlwID0gMDsKKworCXV2X2JhdV90YWJsZV9iYXNlc1tibGFkZV0gPSBiYXVfdGFicDsKKworCXJldHVybiBiYXVfdGFicDsKK30KKworLyoKKyAqIGZpbmlzaCB0aGUgaW5pdGlhbGl6YXRpb24gb2YgdGhlIHBlci1ibGFkZSBjb250cm9sIHN0cnVjdHVyZXMKKyAqLworc3RhdGljIHZvaWQgX19pbml0Cit1dl90YWJsZV9iYXNlc19maW5pc2goaW50IGJsYWRlLCBpbnQgbm9kZSwgaW50IGN1cl9jcHUsCisJCSAgICAgIHN0cnVjdCBiYXVfY29udHJvbCAqYmF1X3RhYmxlc3AsCisJCSAgICAgIHN0cnVjdCBiYXVfZGVzYyAqYWRwKQoreworCXN0cnVjdCBiYXVfY29udHJvbCAqYmNwOworCWludCBpOworCisJZm9yIChpID0gY3VyX2NwdTsgaSA8IGN1cl9jcHUgKyB1dl9ibGFkZV9ucl9wb3NzaWJsZV9jcHVzKGJsYWRlKTsgaSsrKSB7CisJCWJjcCA9IChzdHJ1Y3QgYmF1X2NvbnRyb2wgKikmcGVyX2NwdShiYXVfY29udHJvbCwgaSk7CisKKwkJYmNwLT5iYXVfbXNnX2hlYWQJPSBiYXVfdGFibGVzcC0+dmFfcXVldWVfZmlyc3Q7CisJCWJjcC0+dmFfcXVldWVfZmlyc3QJPSBiYXVfdGFibGVzcC0+dmFfcXVldWVfZmlyc3Q7CisJCWJjcC0+dmFfcXVldWVfbGFzdAk9IGJhdV90YWJsZXNwLT52YV9xdWV1ZV9sYXN0OworCQliY3AtPndhdGNoaW5nCQk9IGJhdV90YWJsZXNwLT53YXRjaGluZzsKKwkJYmNwLT5tc2dfc3RhdHVzZXMJPSBiYXVfdGFibGVzcC0+bXNnX3N0YXR1c2VzOworCQliY3AtPmRlc2NyaXB0b3JfYmFzZQk9IGFkcDsKKwl9Cit9CisKKy8qCisgKiBpbml0aWFsaXplIHRoZSBzZW5kaW5nIHNpZGUncyBzZW5kaW5nIGJ1ZmZlcnMKKyAqLworc3RhdGljIHN0cnVjdCBiYXVfZGVzYyAqIF9faW5pdAordXZfYWN0aXZhdGlvbl9kZXNjcmlwdG9yX2luaXQoaW50IG5vZGUsIGludCBwbm9kZSkKK3sKKwlpbnQgaTsKKwl1bnNpZ25lZCBsb25nIHBhOworCXVuc2lnbmVkIGxvbmcgbTsKKwl1bnNpZ25lZCBsb25nIG47CisJdW5zaWduZWQgbG9uZyBtbXJfaW1hZ2U7CisJc3RydWN0IGJhdV9kZXNjICphZHA7CisJc3RydWN0IGJhdV9kZXNjICphZDI7CisKKwlhZHAgPSAoc3RydWN0IGJhdV9kZXNjICopCisJICAgIGttYWxsb2Nfbm9kZSgxNjM4NCwgR0ZQX0tFUk5FTCwgbm9kZSk7CisJQlVHX09OKCFhZHApOworCisJcGEgPSBfX3BhKCh1bnNpZ25lZCBsb25nKWFkcCk7CisJbiA9IHBhID4+IHV2X25zaGlmdDsKKwltID0gcGEgJiB1dl9tbWFzazsKKworCW1tcl9pbWFnZSA9IHV2X3JlYWRfZ2xvYmFsX21tcjY0KHBub2RlLCBVVkhfTEJfQkFVX1NCX0RFU0NSSVBUT1JfQkFTRSk7CisJaWYgKG1tcl9pbWFnZSkgeworCQl1dl93cml0ZV9nbG9iYWxfbW1yNjQocG5vZGUsICh1bnNpZ25lZCBsb25nKQorCQkJCSAgICAgIFVWSF9MQl9CQVVfU0JfREVTQ1JJUFRPUl9CQVNFLAorCQkJCSAgICAgIChuIDw8IFVWX0RFU0NfQkFTRV9QTk9ERV9TSElGVCB8IG0pKTsKKwl9CisKKwlmb3IgKGkgPSAwLCBhZDIgPSBhZHA7IGkgPCBVVl9BQ1RJVkFUSU9OX0RFU0NSSVBUT1JfU0laRTsgaSsrLCBhZDIrKykgeworCQltZW1zZXQoYWQyLCAwLCBzaXplb2Yoc3RydWN0IGJhdV9kZXNjKSk7CisJCWFkMi0+aGVhZGVyLnN3X2Fja19mbGFnID0gMTsKKwkJYWQyLT5oZWFkZXIuYmFzZV9kZXN0X25vZGVpZCA9CisJCSAgICB1dl9ibGFkZV90b19wbm9kZSh1dl9jcHVfdG9fYmxhZGVfaWQoMCkpOworCQlhZDItPmhlYWRlci5jb21tYW5kID0gVVZfTkVUX0VORFBPSU5UX0lOVEQ7CisJCWFkMi0+aGVhZGVyLmludF9ib3RoID0gMTsKKwkJLyoKKwkJICogYWxsIG90aGVycyBuZWVkIHRvIGJlIHNldCB0byB6ZXJvOgorCQkgKiAgIGZhaXJuZXNzIGNoYWluaW5nIG11bHRpbGV2ZWwgY291bnQgcmVwbGllZF90bworCQkgKi8KKwl9CisJcmV0dXJuIGFkcDsKK30KKworLyoKKyAqIGluaXRpYWxpemUgdGhlIGRlc3RpbmF0aW9uIHNpZGUncyByZWNlaXZpbmcgYnVmZmVycworICovCitzdGF0aWMgc3RydWN0IGJhdV9wYXlsb2FkX3F1ZXVlX2VudHJ5ICogX19pbml0Cit1dl9wYXlsb2FkX3F1ZXVlX2luaXQoaW50IG5vZGUsIGludCBwbm9kZSwgc3RydWN0IGJhdV9jb250cm9sICpiYXVfdGFibGVzcCkKK3sKKwlzdHJ1Y3QgYmF1X3BheWxvYWRfcXVldWVfZW50cnkgKnBxcDsKKwljaGFyICpjcDsKKworCXBxcCA9IChzdHJ1Y3QgYmF1X3BheWxvYWRfcXVldWVfZW50cnkgKikga21hbGxvY19ub2RlKAorCQkoREVTVF9RX1NJWkUgKyAxKSAqIHNpemVvZihzdHJ1Y3QgYmF1X3BheWxvYWRfcXVldWVfZW50cnkpLAorCQlHRlBfS0VSTkVMLCBub2RlKTsKKwlCVUdfT04oIXBxcCk7CisKKwljcCA9IChjaGFyICopcHFwICsgMzE7CisJcHFwID0gKHN0cnVjdCBiYXVfcGF5bG9hZF9xdWV1ZV9lbnRyeSAqKSgoKHVuc2lnbmVkIGxvbmcpY3AgPj4gNSkgPDwgNSk7CisJYmF1X3RhYmxlc3AtPnZhX3F1ZXVlX2ZpcnN0ID0gcHFwOworCXV2X3dyaXRlX2dsb2JhbF9tbXI2NChwbm9kZSwKKwkJCSAgICAgIFVWSF9MQl9CQVVfSU5URF9QQVlMT0FEX1FVRVVFX0ZJUlNULAorCQkJICAgICAgKCh1bnNpZ25lZCBsb25nKXBub2RlIDw8CisJCQkgICAgICAgVVZfUEFZTE9BRFFfUE5PREVfU0hJRlQpIHwKKwkJCSAgICAgIHV2X3BoeXNub2RlYWRkcihwcXApKTsKKwl1dl93cml0ZV9nbG9iYWxfbW1yNjQocG5vZGUsIFVWSF9MQl9CQVVfSU5URF9QQVlMT0FEX1FVRVVFX1RBSUwsCisJCQkgICAgICB1dl9waHlzbm9kZWFkZHIocHFwKSk7CisJYmF1X3RhYmxlc3AtPnZhX3F1ZXVlX2xhc3QgPSBwcXAgKyAoREVTVF9RX1NJWkUgLSAxKTsKKwl1dl93cml0ZV9nbG9iYWxfbW1yNjQocG5vZGUsIFVWSF9MQl9CQVVfSU5URF9QQVlMT0FEX1FVRVVFX0xBU1QsCisJCQkgICAgICAodW5zaWduZWQgbG9uZykKKwkJCSAgICAgIHV2X3BoeXNub2RlYWRkcihiYXVfdGFibGVzcC0+dmFfcXVldWVfbGFzdCkpOworCW1lbXNldChwcXAsIDAsIHNpemVvZihzdHJ1Y3QgYmF1X3BheWxvYWRfcXVldWVfZW50cnkpICogREVTVF9RX1NJWkUpOworCisJcmV0dXJuIHBxcDsKK30KKworLyoKKyAqIEluaXRpYWxpemF0aW9uIG9mIGVhY2ggVVYgYmxhZGUncyBzdHJ1Y3R1cmVzCisgKi8KK3N0YXRpYyBpbnQgX19pbml0IHV2X2luaXRfYmxhZGUoaW50IGJsYWRlLCBpbnQgbm9kZSwgaW50IGN1cl9jcHUpCit7CisJaW50IHBub2RlOworCXVuc2lnbmVkIGxvbmcgcGE7CisJdW5zaWduZWQgbG9uZyBhcGljaWQ7CisJc3RydWN0IGJhdV9kZXNjICphZHA7CisJc3RydWN0IGJhdV9wYXlsb2FkX3F1ZXVlX2VudHJ5ICpwcXA7CisJc3RydWN0IGJhdV9jb250cm9sICpiYXVfdGFibGVzcDsKKworCWJhdV90YWJsZXNwID0gdXZfdGFibGVfYmFzZXNfaW5pdChibGFkZSwgbm9kZSk7CisJcG5vZGUgPSB1dl9ibGFkZV90b19wbm9kZShibGFkZSk7CisJYWRwID0gdXZfYWN0aXZhdGlvbl9kZXNjcmlwdG9yX2luaXQobm9kZSwgcG5vZGUpOworCXBxcCA9IHV2X3BheWxvYWRfcXVldWVfaW5pdChub2RlLCBwbm9kZSwgYmF1X3RhYmxlc3ApOworCXV2X3RhYmxlX2Jhc2VzX2ZpbmlzaChibGFkZSwgbm9kZSwgY3VyX2NwdSwgYmF1X3RhYmxlc3AsIGFkcCk7CisJLyoKKwkgKiB0aGUgYmVsb3cgaW5pdGlhbGl6YXRpb24gY2FuJ3QgYmUgaW4gZmlybXdhcmUgYmVjYXVzZSB0aGUKKwkgKiBtZXNzYWdpbmcgSVJRIHdpbGwgYmUgZGV0ZXJtaW5lZCBieSB0aGUgT1MKKwkgKi8KKwlhcGljaWQgPSBwZXJfY3B1KHg4Nl9jcHVfdG9fYXBpY2lkLCBjdXJfY3B1KTsKKwlwYSA9IHV2X3JlYWRfZ2xvYmFsX21tcjY0KHBub2RlLCBVVkhfQkFVX0RBVEFfQ09ORklHKTsKKwlpZiAoKHBhICYgMHhmZikgIT0gVVZfQkFVX01FU1NBR0UpIHsKKwkJdXZfd3JpdGVfZ2xvYmFsX21tcjY0KHBub2RlLCBVVkhfQkFVX0RBVEFfQ09ORklHLAorCQkJCSAgICAgICgoYXBpY2lkIDw8IDMyKSB8IFVWX0JBVV9NRVNTQUdFKSk7CisJfQorCXJldHVybiAwOworfQorCisvKgorICogSW5pdGlhbGl6YXRpb24gb2YgQkFVLXJlbGF0ZWQgc3RydWN0dXJlcworICovCitzdGF0aWMgaW50IF9faW5pdCB1dl9iYXVfaW5pdCh2b2lkKQoreworCWludCBibGFkZTsKKwlpbnQgbm9kZTsKKwlpbnQgbmJsYWRlczsKKwlpbnQgbGFzdF9ibGFkZTsKKwlpbnQgY3VyX2NwdSA9IDA7CisKKwlpZiAoIWlzX3V2X3N5c3RlbSgpKQorCQlyZXR1cm4gMDsKKworCXV2X2JhdV9yZXRyeV9saW1pdCA9IDE7CisJdXZfbnNoaWZ0ID0gdXZfaHViX2luZm8tPm5fdmFsOworCXV2X21tYXNrID0gKDFVTCA8PCB1dl9odWJfaW5mby0+bl92YWwpIC0gMTsKKwluYmxhZGVzID0gMDsKKwlsYXN0X2JsYWRlID0gLTE7CisJZm9yX2VhY2hfb25saW5lX25vZGUobm9kZSkgeworCQlibGFkZSA9IHV2X25vZGVfdG9fYmxhZGVfaWQobm9kZSk7CisJCWlmIChibGFkZSA9PSBsYXN0X2JsYWRlKQorCQkJY29udGludWU7CisJCWxhc3RfYmxhZGUgPSBibGFkZTsKKwkJbmJsYWRlcysrOworCX0KKwl1dl9iYXVfdGFibGVfYmFzZXMgPSAoc3RydWN0IGJhdV9jb250cm9sICoqKQorCSAgICBrbWFsbG9jKG5ibGFkZXMgKiBzaXplb2Yoc3RydWN0IGJhdV9jb250cm9sICopLCBHRlBfS0VSTkVMKTsKKwlCVUdfT04oIXV2X2JhdV90YWJsZV9iYXNlcyk7CisKKwlsYXN0X2JsYWRlID0gLTE7CisJZm9yX2VhY2hfb25saW5lX25vZGUobm9kZSkgeworCQlibGFkZSA9IHV2X25vZGVfdG9fYmxhZGVfaWQobm9kZSk7CisJCWlmIChibGFkZSA9PSBsYXN0X2JsYWRlKQorCQkJY29udGludWU7CisJCWxhc3RfYmxhZGUgPSBibGFkZTsKKwkJdXZfaW5pdF9ibGFkZShibGFkZSwgbm9kZSwgY3VyX2NwdSk7CisJCWN1cl9jcHUgKz0gdXZfYmxhZGVfbnJfcG9zc2libGVfY3B1cyhibGFkZSk7CisJfQorCXNldF9pbnRyX2dhdGUoVVZfQkFVX01FU1NBR0UsIHV2X2JhdV9tZXNzYWdlX2ludHIxKTsKKwl1dl9lbmFibGVfdGltZW91dHMoKTsKKworCXJldHVybiAwOworfQorX19pbml0Y2FsbCh1dl9iYXVfaW5pdCk7CitfX2luaXRjYWxsKHV2X3B0Y19pbml0KTsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC90cmFtcG9saW5lLmMgYi9hcmNoL3g4Ni9rZXJuZWwvdHJhbXBvbGluZS5jCmluZGV4IGFiYmYxOTkuLjExMDZmYWMgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC90cmFtcG9saW5lLmMKKysrIGIvYXJjaC94ODYva2VybmVsL3RyYW1wb2xpbmUuYwpAQCAtMiw3ICsyLDcgQEAKIAogI2luY2x1ZGUgPGFzbS90cmFtcG9saW5lLmg+CiAKLS8qIHJlYWR5IGZvciB4ODZfNjQsIG5vIGhhcm0gZm9yIHg4Niwgc2luY2UgaXQgd2lsbCBvdmVyd3JpdGUgYWZ0ZXIgYWxsb2MgKi8KKy8qIHJlYWR5IGZvciB4ODZfNjQgYW5kIHg4NiAqLwogdW5zaWduZWQgY2hhciAqdHJhbXBvbGluZV9iYXNlID0gX192YShUUkFNUE9MSU5FX0JBU0UpOwogCiAvKgpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL3RyYXBzXzMyLmMgYi9hcmNoL3g4Ni9rZXJuZWwvdHJhcHNfMzIuYwppbmRleCAwOGQ3NTJkLi44YTc2ODk3IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvdHJhcHNfMzIuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvdHJhcHNfMzIuYwpAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiAgQ29weXJpZ2h0IChDKSAxOTkxLCAxOTkyICBMaW51cyBUb3J2YWxkcworICogIENvcHlyaWdodCAoQykgMjAwMCwgMjAwMSwgMjAwMiBBbmRpIEtsZWVuLCBTdVNFIExhYnMKICAqCiAgKiAgUGVudGl1bSBJSUkgRlhTUiwgU1NFIHN1cHBvcnQKICAqCUdhcmV0aCBIdWdoZXMgPGdhcmV0aEB2YWxpbnV4LmNvbT4sIE1heSAyMDAwCkBAIC02MCw4ICs2MSw2IEBACiAKICNpbmNsdWRlICJtYWNoX3RyYXBzLmgiCiAKLWludCBwYW5pY19vbl91bnJlY292ZXJlZF9ubWk7Ci0KIERFQ0xBUkVfQklUTUFQKHVzZWRfdmVjdG9ycywgTlJfVkVDVE9SUyk7CiBFWFBPUlRfU1lNQk9MX0dQTCh1c2VkX3ZlY3RvcnMpOwogCkBAIC05OCwxOSArOTcsMjIgQEAKIGFzbWxpbmthZ2Ugdm9pZCBzcHVyaW91c19pbnRlcnJ1cHRfYnVnKHZvaWQpOwogYXNtbGlua2FnZSB2b2lkIG1hY2hpbmVfY2hlY2sodm9pZCk7CiAKK2ludCBwYW5pY19vbl91bnJlY292ZXJlZF9ubWk7CiBpbnQga3N0YWNrX2RlcHRoX3RvX3ByaW50ID0gMjQ7CiBzdGF0aWMgdW5zaWduZWQgaW50IGNvZGVfYnl0ZXMgPSA2NDsKK3N0YXRpYyBpbnQgaWdub3JlX25taXM7CitzdGF0aWMgaW50IGRpZV9jb3VudGVyOwogCiB2b2lkIHByaW50a19hZGRyZXNzKHVuc2lnbmVkIGxvbmcgYWRkcmVzcywgaW50IHJlbGlhYmxlKQogewogI2lmZGVmIENPTkZJR19LQUxMU1lNUwotCWNoYXIgbmFtZWJ1ZltLU1lNX05BTUVfTEVOXTsKIAl1bnNpZ25lZCBsb25nIG9mZnNldCA9IDA7CiAJdW5zaWduZWQgbG9uZyBzeW1zaXplOwogCWNvbnN0IGNoYXIgKnN5bW5hbWU7Ci0JY2hhciByZWxpYWJbNF0gPSAiIjsKLQljaGFyICpkZWxpbSA9ICI6IjsKIAljaGFyICptb2RuYW1lOworCWNoYXIgKmRlbGltID0gIjoiOworCWNoYXIgbmFtZWJ1ZltLU1lNX05BTUVfTEVOXTsKKwljaGFyIHJlbGlhYls0XSA9ICIiOwogCiAJc3ltbmFtZSA9IGthbGxzeW1zX2xvb2t1cChhZGRyZXNzLCAmc3ltc2l6ZSwgJm9mZnNldCwKIAkJCQkJJm1vZG5hbWUsIG5hbWVidWYpOwpAQCAtMTMwLDIyICsxMzIsMjMgQEAKICNlbmRpZgogfQogCi1zdGF0aWMgaW5saW5lIGludCB2YWxpZF9zdGFja19wdHIoc3RydWN0IHRocmVhZF9pbmZvICp0aW5mbywgdm9pZCAqcCwgdW5zaWduZWQgc2l6ZSkKK3N0YXRpYyBpbmxpbmUgaW50IHZhbGlkX3N0YWNrX3B0cihzdHJ1Y3QgdGhyZWFkX2luZm8gKnRpbmZvLAorCQkJdm9pZCAqcCwgdW5zaWduZWQgaW50IHNpemUpCiB7Ci0JcmV0dXJuCXAgPiAodm9pZCAqKXRpbmZvICYmCi0JCXAgPD0gKHZvaWQgKil0aW5mbyArIFRIUkVBRF9TSVpFIC0gc2l6ZTsKKwl2b2lkICp0ID0gdGluZm87CisJcmV0dXJuCXAgPiB0ICYmIHAgPD0gdCArIFRIUkVBRF9TSVpFIC0gc2l6ZTsKIH0KIAogLyogVGhlIGZvcm0gb2YgdGhlIHRvcCBvZiB0aGUgZnJhbWUgb24gdGhlIHN0YWNrICovCiBzdHJ1Y3Qgc3RhY2tfZnJhbWUgewotCXN0cnVjdCBzdGFja19mcmFtZQkqbmV4dF9mcmFtZTsKLQl1bnNpZ25lZCBsb25nCQlyZXR1cm5fYWRkcmVzczsKKwlzdHJ1Y3Qgc3RhY2tfZnJhbWUgKm5leHRfZnJhbWU7CisJdW5zaWduZWQgbG9uZyByZXR1cm5fYWRkcmVzczsKIH07CiAKIHN0YXRpYyBpbmxpbmUgdW5zaWduZWQgbG9uZwogcHJpbnRfY29udGV4dF9zdGFjayhzdHJ1Y3QgdGhyZWFkX2luZm8gKnRpbmZvLAotCQkgICAgdW5zaWduZWQgbG9uZyAqc3RhY2ssIHVuc2lnbmVkIGxvbmcgYnAsCi0JCSAgICBjb25zdCBzdHJ1Y3Qgc3RhY2t0cmFjZV9vcHMgKm9wcywgdm9pZCAqZGF0YSkKKwkJdW5zaWduZWQgbG9uZyAqc3RhY2ssIHVuc2lnbmVkIGxvbmcgYnAsCisJCWNvbnN0IHN0cnVjdCBzdGFja3RyYWNlX29wcyAqb3BzLCB2b2lkICpkYXRhKQogewogCXN0cnVjdCBzdGFja19mcmFtZSAqZnJhbWUgPSAoc3RydWN0IHN0YWNrX2ZyYW1lICopYnA7CiAKQEAgLTE2Nyw4ICsxNzAsNiBAQAogCXJldHVybiBicDsKIH0KIAotI2RlZmluZSBNU0cobXNnKQkJb3BzLT53YXJuaW5nKGRhdGEsIG1zZykKLQogdm9pZCBkdW1wX3RyYWNlKHN0cnVjdCB0YXNrX3N0cnVjdCAqdGFzaywgc3RydWN0IHB0X3JlZ3MgKnJlZ3MsCiAJCXVuc2lnbmVkIGxvbmcgKnN0YWNrLCB1bnNpZ25lZCBsb25nIGJwLAogCQljb25zdCBzdHJ1Y3Qgc3RhY2t0cmFjZV9vcHMgKm9wcywgdm9pZCAqZGF0YSkKQEAgLTE3OCw3ICsxNzksNiBAQAogCiAJaWYgKCFzdGFjaykgewogCQl1bnNpZ25lZCBsb25nIGR1bW15OwotCiAJCXN0YWNrID0gJmR1bW15OwogCQlpZiAodGFzayAhPSBjdXJyZW50KQogCQkJc3RhY2sgPSAodW5zaWduZWQgbG9uZyAqKXRhc2stPnRocmVhZC5zcDsKQEAgLTE5Niw3ICsxOTYsNyBAQAogCX0KICNlbmRpZgogCi0Jd2hpbGUgKDEpIHsKKwlmb3IgKDs7KSB7CiAJCXN0cnVjdCB0aHJlYWRfaW5mbyAqY29udGV4dDsKIAogCQljb250ZXh0ID0gKHN0cnVjdCB0aHJlYWRfaW5mbyAqKQpAQCAtMjQ4LDEwICsyNDgsMTAgQEAKIH0KIAogc3RhdGljIGNvbnN0IHN0cnVjdCBzdGFja3RyYWNlX29wcyBwcmludF90cmFjZV9vcHMgPSB7Ci0JLndhcm5pbmcJCT0gcHJpbnRfdHJhY2Vfd2FybmluZywKLQkud2FybmluZ19zeW1ib2wJCT0gcHJpbnRfdHJhY2Vfd2FybmluZ19zeW1ib2wsCi0JLnN0YWNrCQkJPSBwcmludF90cmFjZV9zdGFjaywKLQkuYWRkcmVzcwkJPSBwcmludF90cmFjZV9hZGRyZXNzLAorCS53YXJuaW5nID0gcHJpbnRfdHJhY2Vfd2FybmluZywKKwkud2FybmluZ19zeW1ib2wgPSBwcmludF90cmFjZV93YXJuaW5nX3N5bWJvbCwKKwkuc3RhY2sgPSBwcmludF90cmFjZV9zdGFjaywKKwkuYWRkcmVzcyA9IHByaW50X3RyYWNlX2FkZHJlc3MsCiB9OwogCiBzdGF0aWMgdm9pZApAQCAtMzUxLDE1ICszNTEsMTQgQEAKIAkJcHJpbnRrKEtFUk5fRU1FUkcgIkNvZGU6ICIpOwogCiAJCWlwID0gKHU4ICopcmVncy0+aXAgLSBjb2RlX3Byb2xvZ3VlOwotCQlpZiAoaXAgPCAodTggKilQQUdFX09GRlNFVCB8fAotCQkJcHJvYmVfa2VybmVsX2FkZHJlc3MoaXAsIGMpKSB7CisJCWlmIChpcCA8ICh1OCAqKVBBR0VfT0ZGU0VUIHx8IHByb2JlX2tlcm5lbF9hZGRyZXNzKGlwLCBjKSkgewogCQkJLyogdHJ5IHN0YXJ0aW5nIGF0IEVJUCAqLwogCQkJaXAgPSAodTggKilyZWdzLT5pcDsKIAkJCWNvZGVfbGVuID0gY29kZV9sZW4gLSBjb2RlX3Byb2xvZ3VlICsgMTsKIAkJfQogCQlmb3IgKGkgPSAwOyBpIDwgY29kZV9sZW47IGkrKywgaXArKykgewogCQkJaWYgKGlwIDwgKHU4ICopUEFHRV9PRkZTRVQgfHwKLQkJCQlwcm9iZV9rZXJuZWxfYWRkcmVzcyhpcCwgYykpIHsKKwkJCQkJcHJvYmVfa2VybmVsX2FkZHJlc3MoaXAsIGMpKSB7CiAJCQkJcHJpbnRrKCIgQmFkIEVJUCB2YWx1ZS4iKTsKIAkJCQlicmVhazsKIAkJCX0KQEAgLTM4NCw4ICszODMsNiBAQAogCXJldHVybiB1ZDIgPT0gMHgwYjBmOwogfQogCi1zdGF0aWMgaW50IGRpZV9jb3VudGVyOwotCiBpbnQgX19rcHJvYmVzIF9fZGllKGNvbnN0IGNoYXIgKnN0ciwgc3RydWN0IHB0X3JlZ3MgKnJlZ3MsIGxvbmcgZXJyKQogewogCXVuc2lnbmVkIHNob3J0IHNzOwpAQCAtNDAyLDI2ICszOTksMjIgQEAKIAlwcmludGsoIkRFQlVHX1BBR0VBTExPQyIpOwogI2VuZGlmCiAJcHJpbnRrKCJcbiIpOwotCiAJaWYgKG5vdGlmeV9kaWUoRElFX09PUFMsIHN0ciwgcmVncywgZXJyLAotCQkJY3VycmVudC0+dGhyZWFkLnRyYXBfbm8sIFNJR1NFR1YpICE9IE5PVElGWV9TVE9QKSB7CisJCQljdXJyZW50LT50aHJlYWQudHJhcF9ubywgU0lHU0VHVikgPT0gTk9USUZZX1NUT1ApCisJCXJldHVybiAxOwogCi0JCXNob3dfcmVnaXN0ZXJzKHJlZ3MpOwotCQkvKiBFeGVjdXRpdmUgc3VtbWFyeSBpbiBjYXNlIHRoZSBvb3BzIHNjcm9sbGVkIGF3YXkgKi8KLQkJc3AgPSAodW5zaWduZWQgbG9uZykgKCZyZWdzLT5zcCk7Ci0JCXNhdmVzZWdtZW50KHNzLCBzcyk7Ci0JCWlmICh1c2VyX21vZGUocmVncykpIHsKLQkJCXNwID0gcmVncy0+c3A7Ci0JCQlzcyA9IHJlZ3MtPnNzICYgMHhmZmZmOwotCQl9Ci0JCXByaW50ayhLRVJOX0VNRVJHICJFSVA6IFs8JTA4bHg+XSAiLCByZWdzLT5pcCk7Ci0JCXByaW50X3N5bWJvbCgiJXMiLCByZWdzLT5pcCk7Ci0JCXByaW50aygiIFNTOkVTUCAlMDR4OiUwOGx4XG4iLCBzcywgc3ApOwotCi0JCXJldHVybiAwOworCXNob3dfcmVnaXN0ZXJzKHJlZ3MpOworCS8qIEV4ZWN1dGl2ZSBzdW1tYXJ5IGluIGNhc2UgdGhlIG9vcHMgc2Nyb2xsZWQgYXdheSAqLworCXNwID0gKHVuc2lnbmVkIGxvbmcpICgmcmVncy0+c3ApOworCXNhdmVzZWdtZW50KHNzLCBzcyk7CisJaWYgKHVzZXJfbW9kZShyZWdzKSkgeworCQlzcCA9IHJlZ3MtPnNwOworCQlzcyA9IHJlZ3MtPnNzICYgMHhmZmZmOwogCX0KLQotCXJldHVybiAxOworCXByaW50ayhLRVJOX0VNRVJHICJFSVA6IFs8JTA4bHg+XSAiLCByZWdzLT5pcCk7CisJcHJpbnRfc3ltYm9sKCIlcyIsIHJlZ3MtPmlwKTsKKwlwcmludGsoIiBTUzpFU1AgJTA0eDolMDhseFxuIiwgc3MsIHNwKTsKKwlyZXR1cm4gMDsKIH0KIAogLyoKQEAgLTU0Niw3ICs1MzksNyBAQAogewkJCQkJCQkJCVwKIAl0cmFjZV9oYXJkaXJxc19maXh1cCgpOwkJCQkJCVwKIAlpZiAobm90aWZ5X2RpZShESUVfVFJBUCwgc3RyLCByZWdzLCBlcnJvcl9jb2RlLCB0cmFwbnIsIHNpZ25yKQlcCi0JCQkJCQk9PSBOT1RJRllfU1RPUCkJCVwKKwkJCQkJCQk9PSBOT1RJRllfU1RPUCkJXAogCQlyZXR1cm47CQkJCQkJCVwKIAlkb190cmFwKHRyYXBuciwgc2lnbnIsIHN0ciwgMCwgcmVncywgZXJyb3JfY29kZSwgTlVMTCk7CQlcCiB9CkBAIC01NjIsNyArNTU1LDcgQEAKIAlpbmZvLnNpX2NvZGUgPSBzaWNvZGU7CQkJCQkJXAogCWluZm8uc2lfYWRkciA9ICh2b2lkIF9fdXNlciAqKXNpYWRkcjsJCQkJXAogCWlmIChub3RpZnlfZGllKERJRV9UUkFQLCBzdHIsIHJlZ3MsIGVycm9yX2NvZGUsIHRyYXBuciwgc2lnbnIpCVwKLQkJCQkJCT09IE5PVElGWV9TVE9QKQkJXAorCQkJCQkJCT09IE5PVElGWV9TVE9QKQlcCiAJCXJldHVybjsJCQkJCQkJXAogCWRvX3RyYXAodHJhcG5yLCBzaWduciwgc3RyLCAwLCByZWdzLCBlcnJvcl9jb2RlLCAmaW5mbyk7CVwKIH0KQEAgLTU3MSw3ICs1NjQsNyBAQAogdm9pZCBkb18jI25hbWUoc3RydWN0IHB0X3JlZ3MgKnJlZ3MsIGxvbmcgZXJyb3JfY29kZSkJCQlcCiB7CQkJCQkJCQkJXAogCWlmIChub3RpZnlfZGllKERJRV9UUkFQLCBzdHIsIHJlZ3MsIGVycm9yX2NvZGUsIHRyYXBuciwgc2lnbnIpCVwKLQkJCQkJCT09IE5PVElGWV9TVE9QKQkJXAorCQkJCQkJCT09IE5PVElGWV9TVE9QKQlcCiAJCXJldHVybjsJCQkJCQkJXAogCWRvX3RyYXAodHJhcG5yLCBzaWduciwgc3RyLCAxLCByZWdzLCBlcnJvcl9jb2RlLCBOVUxMKTsJCVwKIH0KQEAgLTU4NiwyNyArNTc5LDI5IEBACiAJaW5mby5zaV9hZGRyID0gKHZvaWQgX191c2VyICopc2lhZGRyOwkJCQlcCiAJdHJhY2VfaGFyZGlycXNfZml4dXAoKTsJCQkJCQlcCiAJaWYgKG5vdGlmeV9kaWUoRElFX1RSQVAsIHN0ciwgcmVncywgZXJyb3JfY29kZSwgdHJhcG5yLCBzaWducikJXAotCQkJCQkJPT0gTk9USUZZX1NUT1ApCQlcCisJCQkJCQkJPT0gTk9USUZZX1NUT1ApCVwKIAkJcmV0dXJuOwkJCQkJCQlcCiAJZG9fdHJhcCh0cmFwbnIsIHNpZ25yLCBzdHIsIDEsIHJlZ3MsIGVycm9yX2NvZGUsICZpbmZvKTsJXAogfQogCi1ET19WTTg2X0VSUk9SX0lORk8oMCwgU0lHRlBFLCAgImRpdmlkZSBlcnJvciIsIGRpdmlkZV9lcnJvciwgRlBFX0lOVERJViwgcmVncy0+aXApCitET19WTTg2X0VSUk9SX0lORk8oMCwgU0lHRlBFLCAiZGl2aWRlIGVycm9yIiwgZGl2aWRlX2Vycm9yLCBGUEVfSU5URElWLCByZWdzLT5pcCkKICNpZm5kZWYgQ09ORklHX0tQUk9CRVMKIERPX1ZNODZfRVJST1IoMywgU0lHVFJBUCwgImludDMiLCBpbnQzKQogI2VuZGlmCiBET19WTTg2X0VSUk9SKDQsIFNJR1NFR1YsICJvdmVyZmxvdyIsIG92ZXJmbG93KQogRE9fVk04Nl9FUlJPUig1LCBTSUdTRUdWLCAiYm91bmRzIiwgYm91bmRzKQotRE9fRVJST1JfSU5GTyg2LCBTSUdJTEwsICAiaW52YWxpZCBvcGNvZGUiLCBpbnZhbGlkX29wLCBJTExfSUxMT1BOLCByZWdzLT5pcCwgMCkKLURPX0VSUk9SKDksIFNJR0ZQRSwgICJjb3Byb2Nlc3NvciBzZWdtZW50IG92ZXJydW4iLCBjb3Byb2Nlc3Nvcl9zZWdtZW50X292ZXJydW4pCitET19FUlJPUl9JTkZPKDYsIFNJR0lMTCwgImludmFsaWQgb3Bjb2RlIiwgaW52YWxpZF9vcCwgSUxMX0lMTE9QTiwgcmVncy0+aXAsIDApCitET19FUlJPUig5LCBTSUdGUEUsICJjb3Byb2Nlc3NvciBzZWdtZW50IG92ZXJydW4iLCBjb3Byb2Nlc3Nvcl9zZWdtZW50X292ZXJydW4pCiBET19FUlJPUigxMCwgU0lHU0VHViwgImludmFsaWQgVFNTIiwgaW52YWxpZF9UU1MpCi1ET19FUlJPUigxMSwgU0lHQlVTLCAgInNlZ21lbnQgbm90IHByZXNlbnQiLCBzZWdtZW50X25vdF9wcmVzZW50KQotRE9fRVJST1IoMTIsIFNJR0JVUywgICJzdGFjayBzZWdtZW50Iiwgc3RhY2tfc2VnbWVudCkKK0RPX0VSUk9SKDExLCBTSUdCVVMsICJzZWdtZW50IG5vdCBwcmVzZW50Iiwgc2VnbWVudF9ub3RfcHJlc2VudCkKK0RPX0VSUk9SKDEyLCBTSUdCVVMsICJzdGFjayBzZWdtZW50Iiwgc3RhY2tfc2VnbWVudCkKIERPX0VSUk9SX0lORk8oMTcsIFNJR0JVUywgImFsaWdubWVudCBjaGVjayIsIGFsaWdubWVudF9jaGVjaywgQlVTX0FEUkFMTiwgMCwgMCkKIERPX0VSUk9SX0lORk8oMzIsIFNJR0lMTCwgImlyZXQgZXhjZXB0aW9uIiwgaXJldF9lcnJvciwgSUxMX0JBRFNUSywgMCwgMSkKIAotdm9pZCBfX2twcm9iZXMgZG9fZ2VuZXJhbF9wcm90ZWN0aW9uKHN0cnVjdCBwdF9yZWdzICpyZWdzLCBsb25nIGVycm9yX2NvZGUpCit2b2lkIF9fa3Byb2JlcworZG9fZ2VuZXJhbF9wcm90ZWN0aW9uKHN0cnVjdCBwdF9yZWdzICpyZWdzLCBsb25nIGVycm9yX2NvZGUpCiB7CisJc3RydWN0IHRhc2tfc3RydWN0ICp0c2s7CiAJc3RydWN0IHRocmVhZF9zdHJ1Y3QgKnRocmVhZDsKIAlzdHJ1Y3QgdHNzX3N0cnVjdCAqdHNzOwogCWludCBjcHU7CkBAIC02NDcsMjMgKzY0MiwyNCBAQAogCWlmIChyZWdzLT5mbGFncyAmIFg4Nl9WTV9NQVNLKQogCQlnb3RvIGdwX2luX3ZtODY7CiAKKwl0c2sgPSBjdXJyZW50OwogCWlmICghdXNlcl9tb2RlKHJlZ3MpKQogCQlnb3RvIGdwX2luX2tlcm5lbDsKIAotCWN1cnJlbnQtPnRocmVhZC5lcnJvcl9jb2RlID0gZXJyb3JfY29kZTsKLQljdXJyZW50LT50aHJlYWQudHJhcF9ubyA9IDEzOworCXRzay0+dGhyZWFkLmVycm9yX2NvZGUgPSBlcnJvcl9jb2RlOworCXRzay0+dGhyZWFkLnRyYXBfbm8gPSAxMzsKIAotCWlmIChzaG93X3VuaGFuZGxlZF9zaWduYWxzICYmIHVuaGFuZGxlZF9zaWduYWwoY3VycmVudCwgU0lHU0VHVikgJiYKLQkgICAgcHJpbnRrX3JhdGVsaW1pdCgpKSB7CisJaWYgKHNob3dfdW5oYW5kbGVkX3NpZ25hbHMgJiYgdW5oYW5kbGVkX3NpZ25hbCh0c2ssIFNJR1NFR1YpICYmCisJCQlwcmludGtfcmF0ZWxpbWl0KCkpIHsKIAkJcHJpbnRrKEtFUk5fSU5GTwotCQkgICAgIiVzWyVkXSBnZW5lcmFsIHByb3RlY3Rpb24gaXA6JWx4IHNwOiVseCBlcnJvcjolbHgiLAotCQkgICAgY3VycmVudC0+Y29tbSwgdGFza19waWRfbnIoY3VycmVudCksCi0JCSAgICByZWdzLT5pcCwgcmVncy0+c3AsIGVycm9yX2NvZGUpOworCQkJIiVzWyVkXSBnZW5lcmFsIHByb3RlY3Rpb24gaXA6JWx4IHNwOiVseCBlcnJvcjolbHgiLAorCQkJdHNrLT5jb21tLCB0YXNrX3BpZF9ucih0c2spLAorCQkJcmVncy0+aXAsIHJlZ3MtPnNwLCBlcnJvcl9jb2RlKTsKIAkJcHJpbnRfdm1hX2FkZHIoIiBpbiAiLCByZWdzLT5pcCk7CiAJCXByaW50aygiXG4iKTsKIAl9CiAKLQlmb3JjZV9zaWcoU0lHU0VHViwgY3VycmVudCk7CisJZm9yY2Vfc2lnKFNJR1NFR1YsIHRzayk7CiAJcmV0dXJuOwogCiBncF9pbl92bTg2OgpAQCAtNjcyLDE0ICs2NjgsMTUgQEAKIAlyZXR1cm47CiAKIGdwX2luX2tlcm5lbDoKLQlpZiAoIWZpeHVwX2V4Y2VwdGlvbihyZWdzKSkgewotCQljdXJyZW50LT50aHJlYWQuZXJyb3JfY29kZSA9IGVycm9yX2NvZGU7Ci0JCWN1cnJlbnQtPnRocmVhZC50cmFwX25vID0gMTM7Ci0JCWlmIChub3RpZnlfZGllKERJRV9HUEYsICJnZW5lcmFsIHByb3RlY3Rpb24gZmF1bHQiLCByZWdzLAorCWlmIChmaXh1cF9leGNlcHRpb24ocmVncykpCisJCXJldHVybjsKKworCXRzay0+dGhyZWFkLmVycm9yX2NvZGUgPSBlcnJvcl9jb2RlOworCXRzay0+dGhyZWFkLnRyYXBfbm8gPSAxMzsKKwlpZiAobm90aWZ5X2RpZShESUVfR1BGLCAiZ2VuZXJhbCBwcm90ZWN0aW9uIGZhdWx0IiwgcmVncywKIAkJCQllcnJvcl9jb2RlLCAxMywgU0lHU0VHVikgPT0gTk9USUZZX1NUT1ApCi0JCQlyZXR1cm47Ci0JCWRpZSgiZ2VuZXJhbCBwcm90ZWN0aW9uIGZhdWx0IiwgcmVncywgZXJyb3JfY29kZSk7Ci0JfQorCQlyZXR1cm47CisJZGllKCJnZW5lcmFsIHByb3RlY3Rpb24gZmF1bHQiLCByZWdzLCBlcnJvcl9jb2RlKTsKIH0KIAogc3RhdGljIG5vdHJhY2UgX19rcHJvYmVzIHZvaWQKQEAgLTc1Niw5ICs3NTMsOSBAQAogCiBzdGF0aWMgREVGSU5FX1NQSU5MT0NLKG5taV9wcmludF9sb2NrKTsKIAotdm9pZCBub3RyYWNlIF9fa3Byb2JlcyBkaWVfbm1pKHN0cnVjdCBwdF9yZWdzICpyZWdzLCBjb25zdCBjaGFyICptc2cpCit2b2lkIG5vdHJhY2UgX19rcHJvYmVzIGRpZV9ubWkoY2hhciAqc3RyLCBzdHJ1Y3QgcHRfcmVncyAqcmVncywgaW50IGRvX3BhbmljKQogewotCWlmIChub3RpZnlfZGllKERJRV9OTUlXQVRDSERPRywgbXNnLCByZWdzLCAwLCAyLCBTSUdJTlQpID09IE5PVElGWV9TVE9QKQorCWlmIChub3RpZnlfZGllKERJRV9OTUlXQVRDSERPRywgc3RyLCByZWdzLCAwLCAyLCBTSUdJTlQpID09IE5PVElGWV9TVE9QKQogCQlyZXR1cm47CiAKIAlzcGluX2xvY2soJm5taV9wcmludF9sb2NrKTsKQEAgLTc2NywxMCArNzY0LDEyIEBACiAJKiB0byBnZXQgYSBtZXNzYWdlIG91dDoKIAkqLwogCWJ1c3Rfc3BpbmxvY2tzKDEpOwotCXByaW50ayhLRVJOX0VNRVJHICIlcyIsIG1zZyk7CisJcHJpbnRrKEtFUk5fRU1FUkcgIiVzIiwgc3RyKTsKIAlwcmludGsoIiBvbiBDUFUlZCwgaXAgJTA4bHgsIHJlZ2lzdGVyczpcbiIsCiAJCXNtcF9wcm9jZXNzb3JfaWQoKSwgcmVncy0+aXApOwogCXNob3dfcmVnaXN0ZXJzKHJlZ3MpOworCWlmIChkb19wYW5pYykKKwkJcGFuaWMoIk5vbiBtYXNrYWJsZSBpbnRlcnJ1cHQiKTsKIAljb25zb2xlX3NpbGVudCgpOwogCXNwaW5fdW5sb2NrKCZubWlfcHJpbnRfbG9jayk7CiAJYnVzdF9zcGlubG9ja3MoMCk7CkBAIC03OTAsMTQgKzc4OSwxNyBAQAogc3RhdGljIG5vdHJhY2UgX19rcHJvYmVzIHZvaWQgZGVmYXVsdF9kb19ubWkoc3RydWN0IHB0X3JlZ3MgKnJlZ3MpCiB7CiAJdW5zaWduZWQgY2hhciByZWFzb24gPSAwOworCWludCBjcHU7CiAKLQkvKiBPbmx5IHRoZSBCU1AgZ2V0cyBleHRlcm5hbCBOTUlzIGZyb20gdGhlIHN5c3RlbTogKi8KLQlpZiAoIXNtcF9wcm9jZXNzb3JfaWQoKSkKKwljcHUgPSBzbXBfcHJvY2Vzc29yX2lkKCk7CisKKwkvKiBPbmx5IHRoZSBCU1AgZ2V0cyBleHRlcm5hbCBOTUlzIGZyb20gdGhlIHN5c3RlbS4gKi8KKwlpZiAoIWNwdSkKIAkJcmVhc29uID0gZ2V0X25taV9yZWFzb24oKTsKIAogCWlmICghKHJlYXNvbiAmIDB4YzApKSB7CiAJCWlmIChub3RpZnlfZGllKERJRV9OTUlfSVBJLCAibm1pX2lwaSIsIHJlZ3MsIHJlYXNvbiwgMiwgU0lHSU5UKQotCQkJCQkJCT09IE5PVElGWV9TVE9QKQorCQkJCQkJCQk9PSBOT1RJRllfU1RPUCkKIAkJCXJldHVybjsKICNpZmRlZiBDT05GSUdfWDg2X0xPQ0FMX0FQSUMKIAkJLyoKQEAgLTgwNiw3ICs4MDgsNyBAQAogCQkgKi8KIAkJaWYgKG5taV93YXRjaGRvZ190aWNrKHJlZ3MsIHJlYXNvbikpCiAJCQlyZXR1cm47Ci0JCWlmICghZG9fbm1pX2NhbGxiYWNrKHJlZ3MsIHNtcF9wcm9jZXNzb3JfaWQoKSkpCisJCWlmICghZG9fbm1pX2NhbGxiYWNrKHJlZ3MsIGNwdSkpCiAJCQl1bmtub3duX25taV9lcnJvcihyZWFzb24sIHJlZ3MpOwogI2Vsc2UKIAkJdW5rbm93bl9ubWlfZXJyb3IocmVhc29uLCByZWdzKTsKQEAgLTgxNiw2ICs4MTgsOCBAQAogCX0KIAlpZiAobm90aWZ5X2RpZShESUVfTk1JLCAibm1pIiwgcmVncywgcmVhc29uLCAyLCBTSUdJTlQpID09IE5PVElGWV9TVE9QKQogCQlyZXR1cm47CisKKwkvKiBBSzogZm9sbG93aW5nIGNoZWNrcyBzZWVtIHRvIGJlIGJyb2tlbiBvbiBtb2Rlcm4gY2hpcHNldHMuIEZJWE1FICovCiAJaWYgKHJlYXNvbiAmIDB4ODApCiAJCW1lbV9wYXJpdHlfZXJyb3IocmVhc29uLCByZWdzKTsKIAlpZiAocmVhc29uICYgMHg0MCkKQEAgLTgyNyw4ICs4MzEsNiBAQAogCXJlYXNzZXJ0X25taSgpOwogfQogCi1zdGF0aWMgaW50IGlnbm9yZV9ubWlzOwotCiBub3RyYWNlIF9fa3Byb2JlcyB2b2lkIGRvX25taShzdHJ1Y3QgcHRfcmVncyAqcmVncywgbG9uZyBlcnJvcl9jb2RlKQogewogCWludCBjcHU7CkBAIC05MTMsNyArOTE1LDcgQEAKIAl0c2stPnRocmVhZC5kZWJ1Z2N0bG1zciA9IDA7CiAKIAlpZiAobm90aWZ5X2RpZShESUVfREVCVUcsICJkZWJ1ZyIsIHJlZ3MsIGNvbmRpdGlvbiwgZXJyb3JfY29kZSwKLQkJCQkJU0lHVFJBUCkgPT0gTk9USUZZX1NUT1ApCisJCQkJCQlTSUdUUkFQKSA9PSBOT1RJRllfU1RPUCkKIAkJcmV0dXJuOwogCS8qIEl0J3Mgc2FmZSB0byBhbGxvdyBpcnEncyBhZnRlciBEUjYgaGFzIGJlZW4gc2F2ZWQgKi8KIAlpZiAocmVncy0+ZmxhZ3MgJiBYODZfRUZMQUdTX0lGKQpAQCAtOTc0LDkgKzk3Niw4IEBACiB2b2lkIG1hdGhfZXJyb3Iodm9pZCBfX3VzZXIgKmlwKQogewogCXN0cnVjdCB0YXNrX3N0cnVjdCAqdGFzazsKLQl1bnNpZ25lZCBzaG9ydCBjd2Q7Ci0JdW5zaWduZWQgc2hvcnQgc3dkOwogCXNpZ2luZm9fdCBpbmZvOworCXVuc2lnbmVkIHNob3J0IGN3ZCwgc3dkOwogCiAJLyoKIAkgKiBTYXZlIHRoZSBpbmZvIGZvciB0aGUgZXhjZXB0aW9uIGhhbmRsZXIgYW5kIGNsZWFyIHRoZSBlcnJvci4KQEAgLTk5NSw3ICs5OTYsNyBAQAogCSAqIEMxIHJlZyB5b3UgbmVlZCBpbiBjYXNlIG9mIGEgc3RhY2sgZmF1bHQsIDB4MDQwIGlzIHRoZSBzdGFjawogCSAqIGZhdWx0IGJpdC4gIFdlIHNob3VsZCBvbmx5IGJlIHRha2luZyBvbmUgZXhjZXB0aW9uIGF0IGEgdGltZSwKIAkgKiBzbyBpZiB0aGlzIGNvbWJpbmF0aW9uIGRvZXNuJ3QgcHJvZHVjZSBhbnkgc2luZ2xlIGV4Y2VwdGlvbiwKLQkgKiB0aGVuIHdlIGhhdmUgYSBiYWQgcHJvZ3JhbSB0aGF0IGlzbid0IHN5bmNyb25pemluZyBpdHMgRlBVIHVzYWdlCisJICogdGhlbiB3ZSBoYXZlIGEgYmFkIHByb2dyYW0gdGhhdCBpc24ndCBzeW5jaHJvbml6aW5nIGl0cyBGUFUgdXNhZ2UKIAkgKiBhbmQgaXQgd2lsbCBzdWZmZXIgdGhlIGNvbnNlcXVlbmNlcyBzaW5jZSB3ZSB3b24ndCBiZSBhYmxlIHRvCiAJICogZnVsbHkgcmVwcm9kdWNlIHRoZSBjb250ZXh0IG9mIHRoZSBleGNlcHRpb24KIAkgKi8KQEAgLTEwMDQsNyArMTAwNSw3IEBACiAJc3dpdGNoIChzd2QgJiB+Y3dkICYgMHgzZikgewogCWNhc2UgMHgwMDA6IC8qIE5vIHVubWFza2VkIGV4Y2VwdGlvbiAqLwogCQlyZXR1cm47Ci0JZGVmYXVsdDogICAgLyogTXVsdGlwbGUgZXhjZXB0aW9ucyAqLworCWRlZmF1bHQ6IC8qIE11bHRpcGxlIGV4Y2VwdGlvbnMgKi8KIAkJYnJlYWs7CiAJY2FzZSAweDAwMTogLyogSW52YWxpZCBPcCAqLwogCQkvKgpAQCAtMTA0MCw4ICsxMDQxLDggQEAKIHN0YXRpYyB2b2lkIHNpbWRfbWF0aF9lcnJvcih2b2lkIF9fdXNlciAqaXApCiB7CiAJc3RydWN0IHRhc2tfc3RydWN0ICp0YXNrOwotCXVuc2lnbmVkIHNob3J0IG14Y3NyOwogCXNpZ2luZm9fdCBpbmZvOworCXVuc2lnbmVkIHNob3J0IG14Y3NyOwogCiAJLyoKIAkgKiBTYXZlIHRoZSBpbmZvIGZvciB0aGUgZXhjZXB0aW9uIGhhbmRsZXIgYW5kIGNsZWFyIHRoZSBlcnJvci4KQEAgLTExMTcsNyArMTExOCw3IEBACiAKIHVuc2lnbmVkIGxvbmcgcGF0Y2hfZXNwZml4X2Rlc2ModW5zaWduZWQgbG9uZyB1ZXNwLCB1bnNpZ25lZCBsb25nIGtlc3ApCiB7Ci0Jc3RydWN0IGRlc2Nfc3RydWN0ICpnZHQgPSBfX2dldF9jcHVfdmFyKGdkdF9wYWdlKS5nZHQ7CisJc3RydWN0IGRlc2Nfc3RydWN0ICpnZHQgPSBnZXRfY3B1X2dkdF90YWJsZShzbXBfcHJvY2Vzc29yX2lkKCkpOwogCXVuc2lnbmVkIGxvbmcgYmFzZSA9IChrZXNwIC0gdWVzcCkgJiAtVEhSRUFEX1NJWkU7CiAJdW5zaWduZWQgbG9uZyBuZXdfa2VzcCA9IGtlc3AgLSBiYXNlOwogCXVuc2lnbmVkIGxvbmcgbGltX3BhZ2VzID0gKG5ld19rZXNwIHwgKFRIUkVBRF9TSVpFIC0gMSkpID4+IFBBR0VfU0hJRlQ7CkBAIC0xMTk2LDE5ICsxMTk3LDE2IEBACiAJZWFybHlfaW91bm1hcChwLCA0KTsKICNlbmRpZgogCi0jaWZkZWYgQ09ORklHX1g4Nl9MT0NBTF9BUElDCi0JaW5pdF9hcGljX21hcHBpbmdzKCk7Ci0jZW5kaWYKLQlzZXRfdHJhcF9nYXRlKDAsICAmZGl2aWRlX2Vycm9yKTsKLQlzZXRfaW50cl9nYXRlKDEsICAmZGVidWcpOwotCXNldF9pbnRyX2dhdGUoMiwgICZubWkpOwotCXNldF9zeXN0ZW1faW50cl9nYXRlKDMsICZpbnQzKTsgLyogaW50My80IGNhbiBiZSBjYWxsZWQgZnJvbSBhbGwgKi8KLQlzZXRfc3lzdGVtX2dhdGUoNCwgJm92ZXJmbG93KTsKLQlzZXRfdHJhcF9nYXRlKDUsICAmYm91bmRzKTsKLQlzZXRfdHJhcF9nYXRlKDYsICAmaW52YWxpZF9vcCk7Ci0Jc2V0X3RyYXBfZ2F0ZSg3LCAgJmRldmljZV9ub3RfYXZhaWxhYmxlKTsKLQlzZXRfdGFza19nYXRlKDgsICBHRFRfRU5UUllfRE9VQkxFRkFVTFRfVFNTKTsKLQlzZXRfdHJhcF9nYXRlKDksICAmY29wcm9jZXNzb3Jfc2VnbWVudF9vdmVycnVuKTsKKwlzZXRfdHJhcF9nYXRlKDAsICZkaXZpZGVfZXJyb3IpOworCXNldF9pbnRyX2dhdGUoMSwgJmRlYnVnKTsKKwlzZXRfaW50cl9nYXRlKDIsICZubWkpOworCXNldF9zeXN0ZW1faW50cl9nYXRlKDMsICZpbnQzKTsgLyogaW50MyBjYW4gYmUgY2FsbGVkIGZyb20gYWxsICovCisJc2V0X3N5c3RlbV9nYXRlKDQsICZvdmVyZmxvdyk7IC8qIGludDQgY2FuIGJlIGNhbGxlZCBmcm9tIGFsbCAqLworCXNldF90cmFwX2dhdGUoNSwgJmJvdW5kcyk7CisJc2V0X3RyYXBfZ2F0ZSg2LCAmaW52YWxpZF9vcCk7CisJc2V0X3RyYXBfZ2F0ZSg3LCAmZGV2aWNlX25vdF9hdmFpbGFibGUpOworCXNldF90YXNrX2dhdGUoOCwgR0RUX0VOVFJZX0RPVUJMRUZBVUxUX1RTUyk7CisJc2V0X3RyYXBfZ2F0ZSg5LCAmY29wcm9jZXNzb3Jfc2VnbWVudF9vdmVycnVuKTsKIAlzZXRfdHJhcF9nYXRlKDEwLCAmaW52YWxpZF9UU1MpOwogCXNldF90cmFwX2dhdGUoMTEsICZzZWdtZW50X25vdF9wcmVzZW50KTsKIAlzZXRfdHJhcF9nYXRlKDEyLCAmc3RhY2tfc2VnbWVudCk7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvdHJhcHNfNjQuYyBiL2FyY2gveDg2L2tlcm5lbC90cmFwc182NC5jCmluZGV4IGFkZmY3NmUuLjI2OTZhNjggMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC90cmFwc182NC5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC90cmFwc182NC5jCkBAIC0xMCw0OSArMTAsNDkgQEAKICAqICdUcmFwcy5jJyBoYW5kbGVzIGhhcmR3YXJlIHRyYXBzIGFuZCBmYXVsdHMgYWZ0ZXIgd2UgaGF2ZSBzYXZlZCBzb21lCiAgKiBzdGF0ZSBpbiAnZW50cnkuUycuCiAgKi8KLSNpbmNsdWRlIDxsaW51eC9zY2hlZC5oPgotI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgotI2luY2x1ZGUgPGxpbnV4L3N0cmluZy5oPgotI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+Ci0jaW5jbHVkZSA8bGludXgvcHRyYWNlLmg+Ci0jaW5jbHVkZSA8bGludXgvdGltZXIuaD4KLSNpbmNsdWRlIDxsaW51eC9tbS5oPgotI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KLSNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgotI2luY2x1ZGUgPGxpbnV4L3NwaW5sb2NrLmg+CisjaW5jbHVkZSA8bGludXgvbW9kdWxlcGFyYW0uaD4KICNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KICNpbmNsdWRlIDxsaW51eC9rYWxsc3ltcy5oPgotI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgotI2luY2x1ZGUgPGxpbnV4L21vZHVsZXBhcmFtLmg+Ci0jaW5jbHVkZSA8bGludXgvbm1pLmg+CisjaW5jbHVkZSA8bGludXgvc3BpbmxvY2suaD4KICNpbmNsdWRlIDxsaW51eC9rcHJvYmVzLmg+Ci0jaW5jbHVkZSA8bGludXgva2V4ZWMuaD4KLSNpbmNsdWRlIDxsaW51eC91bndpbmQuaD4KICNpbmNsdWRlIDxsaW51eC91YWNjZXNzLmg+Ci0jaW5jbHVkZSA8bGludXgvYnVnLmg+Ci0jaW5jbHVkZSA8bGludXgva2RlYnVnLmg+CiAjaW5jbHVkZSA8bGludXgvdXRzbmFtZS5oPgotCi0jaW5jbHVkZSA8bWFjaF90cmFwcy5oPgorI2luY2x1ZGUgPGxpbnV4L2tkZWJ1Zy5oPgorI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L3B0cmFjZS5oPgorI2luY2x1ZGUgPGxpbnV4L3N0cmluZy5oPgorI2luY2x1ZGUgPGxpbnV4L3Vud2luZC5oPgorI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+CisjaW5jbHVkZSA8bGludXgvZXJybm8uaD4KKyNpbmNsdWRlIDxsaW51eC9rZXhlYy5oPgorI2luY2x1ZGUgPGxpbnV4L3NjaGVkLmg+CisjaW5jbHVkZSA8bGludXgvdGltZXIuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvYnVnLmg+CisjaW5jbHVkZSA8bGludXgvbm1pLmg+CisjaW5jbHVkZSA8bGludXgvbW0uaD4KIAogI2lmIGRlZmluZWQoQ09ORklHX0VEQUMpCiAjaW5jbHVkZSA8bGludXgvZWRhYy5oPgogI2VuZGlmCiAKLSNpbmNsdWRlIDxhc20vc3lzdGVtLmg+Ci0jaW5jbHVkZSA8YXNtL2lvLmg+Ci0jaW5jbHVkZSA8YXNtL2F0b21pYy5oPgorI2luY2x1ZGUgPGFzbS9zdGFja3RyYWNlLmg+CisjaW5jbHVkZSA8YXNtL3Byb2Nlc3Nvci5oPgogI2luY2x1ZGUgPGFzbS9kZWJ1Z3JlZy5oPgorI2luY2x1ZGUgPGFzbS9hdG9taWMuaD4KKyNpbmNsdWRlIDxhc20vc3lzdGVtLmg+CisjaW5jbHVkZSA8YXNtL3Vud2luZC5oPgogI2luY2x1ZGUgPGFzbS9kZXNjLmg+CiAjaW5jbHVkZSA8YXNtL2kzODcuaD4KLSNpbmNsdWRlIDxhc20vcHJvY2Vzc29yLmg+Ci0jaW5jbHVkZSA8YXNtL3Vud2luZC5oPgotI2luY2x1ZGUgPGFzbS9zbXAuaD4KLSNpbmNsdWRlIDxhc20vcGdhbGxvYy5oPgotI2luY2x1ZGUgPGFzbS9wZGEuaD4KLSNpbmNsdWRlIDxhc20vcHJvdG8uaD4KICNpbmNsdWRlIDxhc20vbm1pLmg+Ci0jaW5jbHVkZSA8YXNtL3N0YWNrdHJhY2UuaD4KKyNpbmNsdWRlIDxhc20vc21wLmg+CisjaW5jbHVkZSA8YXNtL2lvLmg+CisjaW5jbHVkZSA8YXNtL3BnYWxsb2MuaD4KKyNpbmNsdWRlIDxhc20vcHJvdG8uaD4KKyNpbmNsdWRlIDxhc20vcGRhLmg+CisKKyNpbmNsdWRlIDxtYWNoX3RyYXBzLmg+CiAKIGFzbWxpbmthZ2Ugdm9pZCBkaXZpZGVfZXJyb3Iodm9pZCk7CiBhc21saW5rYWdlIHZvaWQgZGVidWcodm9pZCk7CkBAIC03MSwxMiArNzEsMTUgQEAKIGFzbWxpbmthZ2Ugdm9pZCBwYWdlX2ZhdWx0KHZvaWQpOwogYXNtbGlua2FnZSB2b2lkIGNvcHJvY2Vzc29yX2Vycm9yKHZvaWQpOwogYXNtbGlua2FnZSB2b2lkIHNpbWRfY29wcm9jZXNzb3JfZXJyb3Iodm9pZCk7Ci1hc21saW5rYWdlIHZvaWQgcmVzZXJ2ZWQodm9pZCk7CiBhc21saW5rYWdlIHZvaWQgYWxpZ25tZW50X2NoZWNrKHZvaWQpOwotYXNtbGlua2FnZSB2b2lkIG1hY2hpbmVfY2hlY2sodm9pZCk7CiBhc21saW5rYWdlIHZvaWQgc3B1cmlvdXNfaW50ZXJydXB0X2J1Zyh2b2lkKTsKK2FzbWxpbmthZ2Ugdm9pZCBtYWNoaW5lX2NoZWNrKHZvaWQpOwogCitpbnQgcGFuaWNfb25fdW5yZWNvdmVyZWRfbm1pOworaW50IGtzdGFja19kZXB0aF90b19wcmludCA9IDEyOwogc3RhdGljIHVuc2lnbmVkIGludCBjb2RlX2J5dGVzID0gNjQ7CitzdGF0aWMgaW50IGlnbm9yZV9ubWlzOworc3RhdGljIGludCBkaWVfY291bnRlcjsKIAogc3RhdGljIGlubGluZSB2b2lkIGNvbmRpdGlvbmFsX3N0aShzdHJ1Y3QgcHRfcmVncyAqcmVncykKIHsKQEAgLTEwMCwzNCArMTAzLDkgQEAKIAlkZWNfcHJlZW1wdF9jb3VudCgpOwogfQogCi1pbnQga3N0YWNrX2RlcHRoX3RvX3ByaW50ID0gMTI7Ci0KIHZvaWQgcHJpbnRrX2FkZHJlc3ModW5zaWduZWQgbG9uZyBhZGRyZXNzLCBpbnQgcmVsaWFibGUpCiB7Ci0jaWZkZWYgQ09ORklHX0tBTExTWU1TCi0JdW5zaWduZWQgbG9uZyBvZmZzZXQgPSAwLCBzeW1zaXplOwotCWNvbnN0IGNoYXIgKnN5bW5hbWU7Ci0JY2hhciAqbW9kbmFtZTsKLQljaGFyICpkZWxpbSA9ICI6IjsKLQljaGFyIG5hbWVidWZbS1NZTV9OQU1FX0xFTl07Ci0JY2hhciByZWxpYWJbNF0gPSAiIjsKLQotCXN5bW5hbWUgPSBrYWxsc3ltc19sb29rdXAoYWRkcmVzcywgJnN5bXNpemUsICZvZmZzZXQsCi0JCQkJCSZtb2RuYW1lLCBuYW1lYnVmKTsKLQlpZiAoIXN5bW5hbWUpIHsKLQkJcHJpbnRrKCIgWzwlMDE2bHg+XVxuIiwgYWRkcmVzcyk7Ci0JCXJldHVybjsKLQl9Ci0JaWYgKCFyZWxpYWJsZSkKLQkJc3RyY3B5KHJlbGlhYiwgIj8gIik7Ci0KLQlpZiAoIW1vZG5hbWUpCi0JCW1vZG5hbWUgPSBkZWxpbSA9ICIiOwotCXByaW50aygiIFs8JTAxNmx4Pl0gJXMlcyVzJXMlcysweCVseC8weCVseFxuIiwKLQkJYWRkcmVzcywgcmVsaWFiLCBkZWxpbSwgbW9kbmFtZSwgZGVsaW0sIHN5bW5hbWUsIG9mZnNldCwgc3ltc2l6ZSk7Ci0jZWxzZQotCXByaW50aygiIFs8JTAxNmx4Pl1cbiIsIGFkZHJlc3MpOwotI2VuZGlmCisJcHJpbnRrKCIgWzwlMDE2bHg+XSAlcyVwU1xuIiwgYWRkcmVzcywgcmVsaWFibGUgPyAiIjogIj8gIiwgKHZvaWQgKikgYWRkcmVzcyk7CiB9CiAKIHN0YXRpYyB1bnNpZ25lZCBsb25nICppbl9leGNlcHRpb25fc3RhY2sodW5zaWduZWQgY3B1LCB1bnNpZ25lZCBsb25nIHN0YWNrLApAQCAtMjA0LDggKzE4Miw2IEBACiAJcmV0dXJuIE5VTEw7CiB9CiAKLSNkZWZpbmUgTVNHKHR4dCkgb3BzLT53YXJuaW5nKGRhdGEsIHR4dCkKLQogLyoKICAqIHg4Ni02NCBjYW4gaGF2ZSB1cCB0byB0aHJlZSBrZXJuZWwgc3RhY2tzOiAKICAqIHByb2Nlc3Mgc3RhY2sKQEAgLTIzMiwxMSArMjA4LDExIEBACiAJdW5zaWduZWQgbG9uZyByZXR1cm5fYWRkcmVzczsKIH07CiAKLQotc3RhdGljIGlubGluZSB1bnNpZ25lZCBsb25nIHByaW50X2NvbnRleHRfc3RhY2soc3RydWN0IHRocmVhZF9pbmZvICp0aW5mbywKLQkJCQl1bnNpZ25lZCBsb25nICpzdGFjaywgdW5zaWduZWQgbG9uZyBicCwKLQkJCQljb25zdCBzdHJ1Y3Qgc3RhY2t0cmFjZV9vcHMgKm9wcywgdm9pZCAqZGF0YSwKLQkJCQl1bnNpZ25lZCBsb25nICplbmQpCitzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGxvbmcKK3ByaW50X2NvbnRleHRfc3RhY2soc3RydWN0IHRocmVhZF9pbmZvICp0aW5mbywKKwkJdW5zaWduZWQgbG9uZyAqc3RhY2ssIHVuc2lnbmVkIGxvbmcgYnAsCisJCWNvbnN0IHN0cnVjdCBzdGFja3RyYWNlX29wcyAqb3BzLCB2b2lkICpkYXRhLAorCQl1bnNpZ25lZCBsb25nICplbmQpCiB7CiAJc3RydWN0IHN0YWNrX2ZyYW1lICpmcmFtZSA9IChzdHJ1Y3Qgc3RhY2tfZnJhbWUgKilicDsKIApAQCAtMjU4LDcgKzIzNCw3IEBACiAJcmV0dXJuIGJwOwogfQogCi12b2lkIGR1bXBfdHJhY2Uoc3RydWN0IHRhc2tfc3RydWN0ICp0c2ssIHN0cnVjdCBwdF9yZWdzICpyZWdzLAordm9pZCBkdW1wX3RyYWNlKHN0cnVjdCB0YXNrX3N0cnVjdCAqdGFzaywgc3RydWN0IHB0X3JlZ3MgKnJlZ3MsCiAJCXVuc2lnbmVkIGxvbmcgKnN0YWNrLCB1bnNpZ25lZCBsb25nIGJwLAogCQljb25zdCBzdHJ1Y3Qgc3RhY2t0cmFjZV9vcHMgKm9wcywgdm9pZCAqZGF0YSkKIHsKQEAgLTI2NywzNiArMjQzLDM0IEBACiAJdW5zaWduZWQgdXNlZCA9IDA7CiAJc3RydWN0IHRocmVhZF9pbmZvICp0aW5mbzsKIAotCWlmICghdHNrKQotCQl0c2sgPSBjdXJyZW50OwotCXRpbmZvID0gdGFza190aHJlYWRfaW5mbyh0c2spOworCWlmICghdGFzaykKKwkJdGFzayA9IGN1cnJlbnQ7CiAKIAlpZiAoIXN0YWNrKSB7CiAJCXVuc2lnbmVkIGxvbmcgZHVtbXk7CiAJCXN0YWNrID0gJmR1bW15OwotCQlpZiAodHNrICYmIHRzayAhPSBjdXJyZW50KQotCQkJc3RhY2sgPSAodW5zaWduZWQgbG9uZyAqKXRzay0+dGhyZWFkLnNwOworCQlpZiAodGFzayAmJiB0YXNrICE9IGN1cnJlbnQpCisJCQlzdGFjayA9ICh1bnNpZ25lZCBsb25nICopdGFzay0+dGhyZWFkLnNwOwogCX0KIAogI2lmZGVmIENPTkZJR19GUkFNRV9QT0lOVEVSCiAJaWYgKCFicCkgewotCQlpZiAodHNrID09IGN1cnJlbnQpIHsKKwkJaWYgKHRhc2sgPT0gY3VycmVudCkgewogCQkJLyogR3JhYiBicCByaWdodCBmcm9tIG91ciByZWdzICovCi0JCQlhc20oIm1vdnEgJSVyYnAsICUwIiA6ICI9ciIgKGJwKTopOworCQkJYXNtKCJtb3ZxICUlcmJwLCAlMCIgOiAiPXIiIChicCkgOik7CiAJCX0gZWxzZSB7CiAJCQkvKiBicCBpcyB0aGUgbGFzdCByZWcgcHVzaGVkIGJ5IHN3aXRjaF90byAqLwotCQkJYnAgPSAqKHVuc2lnbmVkIGxvbmcgKikgdHNrLT50aHJlYWQuc3A7CisJCQlicCA9ICoodW5zaWduZWQgbG9uZyAqKSB0YXNrLT50aHJlYWQuc3A7CiAJCX0KIAl9CiAjZW5kaWYKIAotCi0KIAkvKgogCSAqIFByaW50IGZ1bmN0aW9uIGNhbGwgZW50cmllcyBpbiBhbGwgc3RhY2tzLCBzdGFydGluZyBhdCB0aGUKIAkgKiBjdXJyZW50IHN0YWNrIGFkZHJlc3MuIElmIHRoZSBzdGFja3MgY29uc2lzdCBvZiBuZXN0ZWQKIAkgKiBleGNlcHRpb25zCiAJICovCisJdGluZm8gPSB0YXNrX3RocmVhZF9pbmZvKHRhc2spOwogCWZvciAoOzspIHsKIAkJY2hhciAqaWQ7CiAJCXVuc2lnbmVkIGxvbmcgKmVzdGFja19lbmQ7CkBAIC0zODEsMTggKzM1NSwxNyBAQAogCS5hZGRyZXNzID0gcHJpbnRfdHJhY2VfYWRkcmVzcywKIH07CiAKLXZvaWQKLXNob3dfdHJhY2Uoc3RydWN0IHRhc2tfc3RydWN0ICp0c2ssIHN0cnVjdCBwdF9yZWdzICpyZWdzLCB1bnNpZ25lZCBsb25nICpzdGFjaywKLQkJdW5zaWduZWQgbG9uZyBicCkKK3ZvaWQgc2hvd190cmFjZShzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRhc2ssIHN0cnVjdCBwdF9yZWdzICpyZWdzLAorCQl1bnNpZ25lZCBsb25nICpzdGFjaywgdW5zaWduZWQgbG9uZyBicCkKIHsKIAlwcmludGsoIlxuQ2FsbCBUcmFjZTpcbiIpOwotCWR1bXBfdHJhY2UodHNrLCByZWdzLCBzdGFjaywgYnAsICZwcmludF90cmFjZV9vcHMsIE5VTEwpOworCWR1bXBfdHJhY2UodGFzaywgcmVncywgc3RhY2ssIGJwLCAmcHJpbnRfdHJhY2Vfb3BzLCBOVUxMKTsKIAlwcmludGsoIlxuIik7CiB9CiAKIHN0YXRpYyB2b2lkCi1fc2hvd19zdGFjayhzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRzaywgc3RydWN0IHB0X3JlZ3MgKnJlZ3MsIHVuc2lnbmVkIGxvbmcgKnNwLAotCQkJCQkJCXVuc2lnbmVkIGxvbmcgYnApCitfc2hvd19zdGFjayhzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRhc2ssIHN0cnVjdCBwdF9yZWdzICpyZWdzLAorCQl1bnNpZ25lZCBsb25nICpzcCwgdW5zaWduZWQgbG9uZyBicCkKIHsKIAl1bnNpZ25lZCBsb25nICpzdGFjazsKIAlpbnQgaTsKQEAgLTQwNCwxNCArMzc3LDE0IEBACiAJLy8gYmFjayB0cmFjZSBmb3IgdGhpcyBjcHUuCiAKIAlpZiAoc3AgPT0gTlVMTCkgewotCQlpZiAodHNrKQotCQkJc3AgPSAodW5zaWduZWQgbG9uZyAqKXRzay0+dGhyZWFkLnNwOworCQlpZiAodGFzaykKKwkJCXNwID0gKHVuc2lnbmVkIGxvbmcgKil0YXNrLT50aHJlYWQuc3A7CiAJCWVsc2UKIAkJCXNwID0gKHVuc2lnbmVkIGxvbmcgKikmc3A7CiAJfQogCiAJc3RhY2sgPSBzcDsKLQlmb3IoaT0wOyBpIDwga3N0YWNrX2RlcHRoX3RvX3ByaW50OyBpKyspIHsKKwlmb3IgKGkgPSAwOyBpIDwga3N0YWNrX2RlcHRoX3RvX3ByaW50OyBpKyspIHsKIAkJaWYgKHN0YWNrID49IGlycXN0YWNrICYmIHN0YWNrIDw9IGlycXN0YWNrX2VuZCkgewogCQkJaWYgKHN0YWNrID09IGlycXN0YWNrX2VuZCkgewogCQkJCXN0YWNrID0gKHVuc2lnbmVkIGxvbmcgKikgKGlycXN0YWNrX2VuZFstMV0pOwpAQCAtNDI2LDEyICszOTksMTIgQEAKIAkJcHJpbnRrKCIgJTAxNmx4IiwgKnN0YWNrKyspOwogCQl0b3VjaF9ubWlfd2F0Y2hkb2coKTsKIAl9Ci0Jc2hvd190cmFjZSh0c2ssIHJlZ3MsIHNwLCBicCk7CisJc2hvd190cmFjZSh0YXNrLCByZWdzLCBzcCwgYnApOwogfQogCi12b2lkIHNob3dfc3RhY2soc3RydWN0IHRhc2tfc3RydWN0ICp0c2ssIHVuc2lnbmVkIGxvbmcgKiBzcCkKK3ZvaWQgc2hvd19zdGFjayhzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRhc2ssIHVuc2lnbmVkIGxvbmcgKnNwKQogewotCV9zaG93X3N0YWNrKHRzaywgTlVMTCwgc3AsIDApOworCV9zaG93X3N0YWNrKHRhc2ssIE5VTEwsIHNwLCAwKTsKIH0KIAogLyoKQEAgLTQzOSw4ICs0MTIsOCBAQAogICovCiB2b2lkIGR1bXBfc3RhY2sodm9pZCkKIHsKLQl1bnNpZ25lZCBsb25nIGR1bW15OwogCXVuc2lnbmVkIGxvbmcgYnAgPSAwOworCXVuc2lnbmVkIGxvbmcgc3RhY2s7CiAKICNpZmRlZiBDT05GSUdfRlJBTUVfUE9JTlRFUgogCWlmICghYnApCkBAIC00NTIsNyArNDI1LDcgQEAKIAkJaW5pdF91dHNuYW1lKCktPnJlbGVhc2UsCiAJCShpbnQpc3RyY3Nwbihpbml0X3V0c25hbWUoKS0+dmVyc2lvbiwgIiAiKSwKIAkJaW5pdF91dHNuYW1lKCktPnZlcnNpb24pOwotCXNob3dfdHJhY2UoTlVMTCwgTlVMTCwgJmR1bW15LCBicCk7CisJc2hvd190cmFjZShOVUxMLCBOVUxMLCAmc3RhY2ssIGJwKTsKIH0KIAogRVhQT1JUX1NZTUJPTChkdW1wX3N0YWNrKTsKQEAgLTQ2MywxMiArNDM2LDggQEAKIAl1bnNpZ25lZCBsb25nIHNwOwogCWNvbnN0IGludCBjcHUgPSBzbXBfcHJvY2Vzc29yX2lkKCk7CiAJc3RydWN0IHRhc2tfc3RydWN0ICpjdXIgPSBjcHVfcGRhKGNwdSktPnBjdXJyZW50OwotCXU4ICppcDsKLQl1bnNpZ25lZCBpbnQgY29kZV9wcm9sb2d1ZSA9IGNvZGVfYnl0ZXMgKiA0MyAvIDY0OwotCXVuc2lnbmVkIGludCBjb2RlX2xlbiA9IGNvZGVfYnl0ZXM7CiAKIAlzcCA9IHJlZ3MtPnNwOwotCWlwID0gKHU4ICopIHJlZ3MtPmlwIC0gY29kZV9wcm9sb2d1ZTsKIAlwcmludGsoIkNQVSAlZCAiLCBjcHUpOwogCV9fc2hvd19yZWdzKHJlZ3MpOwogCXByaW50aygiUHJvY2VzcyAlcyAocGlkOiAlZCwgdGhyZWFkaW5mbyAlcCwgdGFzayAlcClcbiIsCkBAIC00NzksMTUgKzQ0OCwyMSBAQAogCSAqIHRpbWUgb2YgdGhlIGZhdWx0Li4KIAkgKi8KIAlpZiAoIXVzZXJfbW9kZShyZWdzKSkgeworCQl1bnNpZ25lZCBpbnQgY29kZV9wcm9sb2d1ZSA9IGNvZGVfYnl0ZXMgKiA0MyAvIDY0OworCQl1bnNpZ25lZCBpbnQgY29kZV9sZW4gPSBjb2RlX2J5dGVzOwogCQl1bnNpZ25lZCBjaGFyIGM7CisJCXU4ICppcDsKKwogCQlwcmludGsoIlN0YWNrOiAiKTsKIAkJX3Nob3dfc3RhY2soTlVMTCwgcmVncywgKHVuc2lnbmVkIGxvbmcgKilzcCwgcmVncy0+YnApOwogCQlwcmludGsoIlxuIik7CiAKIAkJcHJpbnRrKEtFUk5fRU1FUkcgIkNvZGU6ICIpOworCisJCWlwID0gKHU4ICopcmVncy0+aXAgLSBjb2RlX3Byb2xvZ3VlOwogCQlpZiAoaXAgPCAodTggKilQQUdFX09GRlNFVCB8fCBwcm9iZV9rZXJuZWxfYWRkcmVzcyhpcCwgYykpIHsKIAkJCS8qIHRyeSBzdGFydGluZyBhdCBSSVAgKi8KLQkJCWlwID0gKHU4ICopIHJlZ3MtPmlwOworCQkJaXAgPSAodTggKilyZWdzLT5pcDsKIAkJCWNvZGVfbGVuID0gY29kZV9sZW4gLSBjb2RlX3Byb2xvZ3VlICsgMTsKIAkJfQogCQlmb3IgKGkgPSAwOyBpIDwgY29kZV9sZW47IGkrKywgaXArKykgewpAQCAtNTAzLDcgKzQ3OCw3IEBACiAJCX0KIAl9CiAJcHJpbnRrKCJcbiIpOwotfQkKK30KIAogaW50IGlzX3ZhbGlkX2J1Z2FkZHIodW5zaWduZWQgbG9uZyBpcCkKIHsKQEAgLTU2MSwxMCArNTM2LDkgQEAKIAlkb19leGl0KHNpZ25yKTsKIH0KIAotaW50IF9fa3Byb2JlcyBfX2RpZShjb25zdCBjaGFyICogc3RyLCBzdHJ1Y3QgcHRfcmVncyAqIHJlZ3MsIGxvbmcgZXJyKQoraW50IF9fa3Byb2JlcyBfX2RpZShjb25zdCBjaGFyICpzdHIsIHN0cnVjdCBwdF9yZWdzICpyZWdzLCBsb25nIGVycikKIHsKLQlzdGF0aWMgaW50IGRpZV9jb3VudGVyOwotCXByaW50ayhLRVJOX0VNRVJHICIlczogJTA0bHggWyV1XSAiLCBzdHIsIGVyciAmIDB4ZmZmZiwrK2RpZV9jb3VudGVyKTsKKwlwcmludGsoS0VSTl9FTUVSRyAiJXM6ICUwNGx4IFsldV0gIiwgc3RyLCBlcnIgJiAweGZmZmYsICsrZGllX2NvdW50ZXIpOwogI2lmZGVmIENPTkZJR19QUkVFTVBUCiAJcHJpbnRrKCJQUkVFTVBUICIpOwogI2VuZGlmCkBAIC01NzUsOCArNTQ5LDEwIEBACiAJcHJpbnRrKCJERUJVR19QQUdFQUxMT0MiKTsKICNlbmRpZgogCXByaW50aygiXG4iKTsKLQlpZiAobm90aWZ5X2RpZShESUVfT09QUywgc3RyLCByZWdzLCBlcnIsIGN1cnJlbnQtPnRocmVhZC50cmFwX25vLCBTSUdTRUdWKSA9PSBOT1RJRllfU1RPUCkKKwlpZiAobm90aWZ5X2RpZShESUVfT09QUywgc3RyLCByZWdzLCBlcnIsCisJCQljdXJyZW50LT50aHJlYWQudHJhcF9ubywgU0lHU0VHVikgPT0gTk9USUZZX1NUT1ApCiAJCXJldHVybiAxOworCiAJc2hvd19yZWdpc3RlcnMocmVncyk7CiAJYWRkX3RhaW50KFRBSU5UX0RJRSk7CiAJLyogRXhlY3V0aXZlIHN1bW1hcnkgaW4gY2FzZSB0aGUgb29wcyBzY3JvbGxlZCBhd2F5ICovCkBAIC01ODgsNyArNTY0LDcgQEAKIAlyZXR1cm4gMDsKIH0KIAotdm9pZCBkaWUoY29uc3QgY2hhciAqIHN0ciwgc3RydWN0IHB0X3JlZ3MgKiByZWdzLCBsb25nIGVycikKK3ZvaWQgZGllKGNvbnN0IGNoYXIgKnN0ciwgc3RydWN0IHB0X3JlZ3MgKnJlZ3MsIGxvbmcgZXJyKQogewogCXVuc2lnbmVkIGxvbmcgZmxhZ3MgPSBvb3BzX2JlZ2luKCk7CiAKQEAgLTYwNSw4ICs1ODEsNyBAQAogewogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAKLQlpZiAobm90aWZ5X2RpZShESUVfTk1JV0FUQ0hET0csIHN0ciwgcmVncywgMCwgMiwgU0lHSU5UKSA9PQotCSAgICBOT1RJRllfU1RPUCkKKwlpZiAobm90aWZ5X2RpZShESUVfTk1JV0FUQ0hET0csIHN0ciwgcmVncywgMCwgMiwgU0lHSU5UKSA9PSBOT1RJRllfU1RPUCkKIAkJcmV0dXJuOwogCiAJZmxhZ3MgPSBvb3BzX2JlZ2luKCk7CkBAIC02MTQsNyArNTg5LDkgQEAKIAkgKiBXZSBhcmUgaW4gdHJvdWJsZSBhbnl3YXksIGxldHMgYXQgbGVhc3QgdHJ5CiAJICogdG8gZ2V0IGEgbWVzc2FnZSBvdXQuCiAJICovCi0JcHJpbnRrKHN0ciwgc21wX3Byb2Nlc3Nvcl9pZCgpKTsKKwlwcmludGsoS0VSTl9FTUVSRyAiJXMiLCBzdHIpOworCXByaW50aygiIG9uIENQVSVkLCBpcCAlMDhseCwgcmVnaXN0ZXJzOlxuIiwKKwkJc21wX3Byb2Nlc3Nvcl9pZCgpLCByZWdzLT5pcCk7CiAJc2hvd19yZWdpc3RlcnMocmVncyk7CiAJaWYgKGtleGVjX3Nob3VsZF9jcmFzaChjdXJyZW50KSkKIAkJY3Jhc2hfa2V4ZWMocmVncyk7CkBAIC02MjYsNDQgKzYwMyw0NCBAQAogCWRvX2V4aXQoU0lHQlVTKTsKIH0KIAotc3RhdGljIHZvaWQgX19rcHJvYmVzIGRvX3RyYXAoaW50IHRyYXBuciwgaW50IHNpZ25yLCBjaGFyICpzdHIsCi0JCQkgICAgICBzdHJ1Y3QgcHRfcmVncyAqIHJlZ3MsIGxvbmcgZXJyb3JfY29kZSwKLQkJCSAgICAgIHNpZ2luZm9fdCAqaW5mbykKK3N0YXRpYyB2b2lkIF9fa3Byb2JlcworZG9fdHJhcChpbnQgdHJhcG5yLCBpbnQgc2lnbnIsIGNoYXIgKnN0ciwgc3RydWN0IHB0X3JlZ3MgKnJlZ3MsCisJbG9uZyBlcnJvcl9jb2RlLCBzaWdpbmZvX3QgKmluZm8pCiB7CiAJc3RydWN0IHRhc2tfc3RydWN0ICp0c2sgPSBjdXJyZW50OwogCi0JaWYgKHVzZXJfbW9kZShyZWdzKSkgewotCQkvKgotCQkgKiBXZSB3YW50IGVycm9yX2NvZGUgYW5kIHRyYXBfbm8gc2V0IGZvciB1c2Vyc3BhY2UKLQkJICogZmF1bHRzIGFuZCBrZXJuZWxzcGFjZSBmYXVsdHMgd2hpY2ggcmVzdWx0IGluCi0JCSAqIGRpZSgpLCBidXQgbm90IGtlcm5lbHNwYWNlIGZhdWx0cyB3aGljaCBhcmUgZml4ZWQKLQkJICogdXAuICBkaWUoKSBnaXZlcyB0aGUgcHJvY2VzcyBubyBjaGFuY2UgdG8gaGFuZGxlCi0JCSAqIHRoZSBzaWduYWwgYW5kIG5vdGljZSB0aGUga2VybmVsIGZhdWx0IGluZm9ybWF0aW9uLAotCQkgKiBzbyB0aGF0IHdvbid0IHJlc3VsdCBpbiBwb2xsdXRpbmcgdGhlIGluZm9ybWF0aW9uCi0JCSAqIGFib3V0IHByZXZpb3VzbHkgcXVldWVkLCBidXQgbm90IHlldCBkZWxpdmVyZWQsCi0JCSAqIGZhdWx0cy4gIFNlZSBhbHNvIGRvX2dlbmVyYWxfcHJvdGVjdGlvbiBiZWxvdy4KLQkJICovCi0JCXRzay0+dGhyZWFkLmVycm9yX2NvZGUgPSBlcnJvcl9jb2RlOwotCQl0c2stPnRocmVhZC50cmFwX25vID0gdHJhcG5yOworCWlmICghdXNlcl9tb2RlKHJlZ3MpKQorCQlnb3RvIGtlcm5lbF90cmFwOwogCi0JCWlmIChzaG93X3VuaGFuZGxlZF9zaWduYWxzICYmIHVuaGFuZGxlZF9zaWduYWwodHNrLCBzaWducikgJiYKLQkJICAgIHByaW50a19yYXRlbGltaXQoKSkgewotCQkJcHJpbnRrKEtFUk5fSU5GTwotCQkJICAgICAgICIlc1slZF0gdHJhcCAlcyBpcDolbHggc3A6JWx4IGVycm9yOiVseCIsCi0JCQkgICAgICAgdHNrLT5jb21tLCB0c2stPnBpZCwgc3RyLAotCQkJICAgICAgIHJlZ3MtPmlwLCByZWdzLT5zcCwgZXJyb3JfY29kZSk7Ci0JCQlwcmludF92bWFfYWRkcigiIGluICIsIHJlZ3MtPmlwKTsKLQkJCXByaW50aygiXG4iKTsKLQkJfQorCS8qCisJICogV2Ugd2FudCBlcnJvcl9jb2RlIGFuZCB0cmFwX25vIHNldCBmb3IgdXNlcnNwYWNlIGZhdWx0cyBhbmQKKwkgKiBrZXJuZWxzcGFjZSBmYXVsdHMgd2hpY2ggcmVzdWx0IGluIGRpZSgpLCBidXQgbm90CisJICoga2VybmVsc3BhY2UgZmF1bHRzIHdoaWNoIGFyZSBmaXhlZCB1cC4gIGRpZSgpIGdpdmVzIHRoZQorCSAqIHByb2Nlc3Mgbm8gY2hhbmNlIHRvIGhhbmRsZSB0aGUgc2lnbmFsIGFuZCBub3RpY2UgdGhlCisJICoga2VybmVsIGZhdWx0IGluZm9ybWF0aW9uLCBzbyB0aGF0IHdvbid0IHJlc3VsdCBpbiBwb2xsdXRpbmcKKwkgKiB0aGUgaW5mb3JtYXRpb24gYWJvdXQgcHJldmlvdXNseSBxdWV1ZWQsIGJ1dCBub3QgeWV0CisJICogZGVsaXZlcmVkLCBmYXVsdHMuICBTZWUgYWxzbyBkb19nZW5lcmFsX3Byb3RlY3Rpb24gYmVsb3cuCisJICovCisJdHNrLT50aHJlYWQuZXJyb3JfY29kZSA9IGVycm9yX2NvZGU7CisJdHNrLT50aHJlYWQudHJhcF9ubyA9IHRyYXBucjsKIAotCQlpZiAoaW5mbykKLQkJCWZvcmNlX3NpZ19pbmZvKHNpZ25yLCBpbmZvLCB0c2spOwotCQllbHNlCi0JCQlmb3JjZV9zaWcoc2lnbnIsIHRzayk7Ci0JCXJldHVybjsKKwlpZiAoc2hvd191bmhhbmRsZWRfc2lnbmFscyAmJiB1bmhhbmRsZWRfc2lnbmFsKHRzaywgc2lnbnIpICYmCisJICAgIHByaW50a19yYXRlbGltaXQoKSkgeworCQlwcmludGsoS0VSTl9JTkZPCisJCSAgICAgICAiJXNbJWRdIHRyYXAgJXMgaXA6JWx4IHNwOiVseCBlcnJvcjolbHgiLAorCQkgICAgICAgdHNrLT5jb21tLCB0c2stPnBpZCwgc3RyLAorCQkgICAgICAgcmVncy0+aXAsIHJlZ3MtPnNwLCBlcnJvcl9jb2RlKTsKKwkJcHJpbnRfdm1hX2FkZHIoIiBpbiAiLCByZWdzLT5pcCk7CisJCXByaW50aygiXG4iKTsKIAl9CiAKKwlpZiAoaW5mbykKKwkJZm9yY2Vfc2lnX2luZm8oc2lnbnIsIGluZm8sIHRzayk7CisJZWxzZQorCQlmb3JjZV9zaWcoc2lnbnIsIHRzayk7CisJcmV0dXJuOwogCitrZXJuZWxfdHJhcDoKIAlpZiAoIWZpeHVwX2V4Y2VwdGlvbihyZWdzKSkgewogCQl0c2stPnRocmVhZC5lcnJvcl9jb2RlID0gZXJyb3JfY29kZTsKIAkJdHNrLT50aHJlYWQudHJhcF9ubyA9IHRyYXBucjsKQEAgLTY3Myw0MSArNjUwLDM5IEBACiB9CiAKICNkZWZpbmUgRE9fRVJST1IodHJhcG5yLCBzaWduciwgc3RyLCBuYW1lKSBcCi1hc21saW5rYWdlIHZvaWQgZG9fIyNuYW1lKHN0cnVjdCBwdF9yZWdzICogcmVncywgbG9uZyBlcnJvcl9jb2RlKSBcCi17IFwKLQlpZiAobm90aWZ5X2RpZShESUVfVFJBUCwgc3RyLCByZWdzLCBlcnJvcl9jb2RlLCB0cmFwbnIsIHNpZ25yKSBcCi0JCQkJCQkJPT0gTk9USUZZX1NUT1ApIFwKLQkJcmV0dXJuOyBcCithc21saW5rYWdlIHZvaWQgZG9fIyNuYW1lKHN0cnVjdCBwdF9yZWdzICogcmVncywgbG9uZyBlcnJvcl9jb2RlKQlcCit7CQkJCQkJCQkJXAorCWlmIChub3RpZnlfZGllKERJRV9UUkFQLCBzdHIsIHJlZ3MsIGVycm9yX2NvZGUsIHRyYXBuciwgc2lnbnIpCVwKKwkJCQkJCQk9PSBOT1RJRllfU1RPUCkJXAorCQlyZXR1cm47CQkJCQkJCVwKIAljb25kaXRpb25hbF9zdGkocmVncyk7CQkJCQkJXAotCWRvX3RyYXAodHJhcG5yLCBzaWduciwgc3RyLCByZWdzLCBlcnJvcl9jb2RlLCBOVUxMKTsgXAorCWRvX3RyYXAodHJhcG5yLCBzaWduciwgc3RyLCByZWdzLCBlcnJvcl9jb2RlLCBOVUxMKTsJCVwKIH0KIAotI2RlZmluZSBET19FUlJPUl9JTkZPKHRyYXBuciwgc2lnbnIsIHN0ciwgbmFtZSwgc2ljb2RlLCBzaWFkZHIpIFwKLWFzbWxpbmthZ2Ugdm9pZCBkb18jI25hbWUoc3RydWN0IHB0X3JlZ3MgKiByZWdzLCBsb25nIGVycm9yX2NvZGUpIFwKLXsgXAotCXNpZ2luZm9fdCBpbmZvOyBcCi0JaW5mby5zaV9zaWdubyA9IHNpZ25yOyBcCi0JaW5mby5zaV9lcnJubyA9IDA7IFwKLQlpbmZvLnNpX2NvZGUgPSBzaWNvZGU7IFwKLQlpbmZvLnNpX2FkZHIgPSAodm9pZCBfX3VzZXIgKilzaWFkZHI7IFwKLQl0cmFjZV9oYXJkaXJxc19maXh1cCgpOyBcCi0JaWYgKG5vdGlmeV9kaWUoRElFX1RSQVAsIHN0ciwgcmVncywgZXJyb3JfY29kZSwgdHJhcG5yLCBzaWducikgXAotCQkJCQkJCT09IE5PVElGWV9TVE9QKSBcCi0JCXJldHVybjsgXAorI2RlZmluZSBET19FUlJPUl9JTkZPKHRyYXBuciwgc2lnbnIsIHN0ciwgbmFtZSwgc2ljb2RlLCBzaWFkZHIpCQlcCithc21saW5rYWdlIHZvaWQgZG9fIyNuYW1lKHN0cnVjdCBwdF9yZWdzICogcmVncywgbG9uZyBlcnJvcl9jb2RlKQlcCit7CQkJCQkJCQkJXAorCXNpZ2luZm9fdCBpbmZvOwkJCQkJCQlcCisJaW5mby5zaV9zaWdubyA9IHNpZ25yOwkJCQkJCVwKKwlpbmZvLnNpX2Vycm5vID0gMDsJCQkJCQlcCisJaW5mby5zaV9jb2RlID0gc2ljb2RlOwkJCQkJCVwKKwlpbmZvLnNpX2FkZHIgPSAodm9pZCBfX3VzZXIgKilzaWFkZHI7CQkJCVwKKwl0cmFjZV9oYXJkaXJxc19maXh1cCgpOwkJCQkJCVwKKwlpZiAobm90aWZ5X2RpZShESUVfVFJBUCwgc3RyLCByZWdzLCBlcnJvcl9jb2RlLCB0cmFwbnIsIHNpZ25yKQlcCisJCQkJCQkJPT0gTk9USUZZX1NUT1ApCVwKKwkJcmV0dXJuOwkJCQkJCQlcCiAJY29uZGl0aW9uYWxfc3RpKHJlZ3MpOwkJCQkJCVwKLQlkb190cmFwKHRyYXBuciwgc2lnbnIsIHN0ciwgcmVncywgZXJyb3JfY29kZSwgJmluZm8pOyBcCisJZG9fdHJhcCh0cmFwbnIsIHNpZ25yLCBzdHIsIHJlZ3MsIGVycm9yX2NvZGUsICZpbmZvKTsJCVwKIH0KIAotRE9fRVJST1JfSU5GTyggMCwgU0lHRlBFLCAgImRpdmlkZSBlcnJvciIsIGRpdmlkZV9lcnJvciwgRlBFX0lOVERJViwgcmVncy0+aXApCi1ET19FUlJPUiggNCwgU0lHU0VHViwgIm92ZXJmbG93Iiwgb3ZlcmZsb3cpCi1ET19FUlJPUiggNSwgU0lHU0VHViwgImJvdW5kcyIsIGJvdW5kcykKLURPX0VSUk9SX0lORk8oIDYsIFNJR0lMTCwgICJpbnZhbGlkIG9wY29kZSIsIGludmFsaWRfb3AsIElMTF9JTExPUE4sIHJlZ3MtPmlwKQotRE9fRVJST1IoIDcsIFNJR1NFR1YsICJkZXZpY2Ugbm90IGF2YWlsYWJsZSIsIGRldmljZV9ub3RfYXZhaWxhYmxlKQotRE9fRVJST1IoIDksIFNJR0ZQRSwgICJjb3Byb2Nlc3NvciBzZWdtZW50IG92ZXJydW4iLCBjb3Byb2Nlc3Nvcl9zZWdtZW50X292ZXJydW4pCitET19FUlJPUl9JTkZPKDAsIFNJR0ZQRSwgImRpdmlkZSBlcnJvciIsIGRpdmlkZV9lcnJvciwgRlBFX0lOVERJViwgcmVncy0+aXApCitET19FUlJPUig0LCBTSUdTRUdWLCAib3ZlcmZsb3ciLCBvdmVyZmxvdykKK0RPX0VSUk9SKDUsIFNJR1NFR1YsICJib3VuZHMiLCBib3VuZHMpCitET19FUlJPUl9JTkZPKDYsIFNJR0lMTCwgImludmFsaWQgb3Bjb2RlIiwgaW52YWxpZF9vcCwgSUxMX0lMTE9QTiwgcmVncy0+aXApCitET19FUlJPUig5LCBTSUdGUEUsICJjb3Byb2Nlc3NvciBzZWdtZW50IG92ZXJydW4iLCBjb3Byb2Nlc3Nvcl9zZWdtZW50X292ZXJydW4pCiBET19FUlJPUigxMCwgU0lHU0VHViwgImludmFsaWQgVFNTIiwgaW52YWxpZF9UU1MpCi1ET19FUlJPUigxMSwgU0lHQlVTLCAgInNlZ21lbnQgbm90IHByZXNlbnQiLCBzZWdtZW50X25vdF9wcmVzZW50KQorRE9fRVJST1IoMTEsIFNJR0JVUywgInNlZ21lbnQgbm90IHByZXNlbnQiLCBzZWdtZW50X25vdF9wcmVzZW50KQogRE9fRVJST1JfSU5GTygxNywgU0lHQlVTLCAiYWxpZ25tZW50IGNoZWNrIiwgYWxpZ25tZW50X2NoZWNrLCBCVVNfQURSQUxOLCAwKQotRE9fRVJST1IoMTgsIFNJR1NFR1YsICJyZXNlcnZlZCIsIHJlc2VydmVkKQogCiAvKiBSdW5zIG9uIElTVCBzdGFjayAqLwogYXNtbGlua2FnZSB2b2lkIGRvX3N0YWNrX3NlZ21lbnQoc3RydWN0IHB0X3JlZ3MgKnJlZ3MsIGxvbmcgZXJyb3JfY29kZSkKQEAgLTczNywzMSArNzEyLDM0IEBACiAJCWRpZShzdHIsIHJlZ3MsIGVycm9yX2NvZGUpOwogfQogCi1hc21saW5rYWdlIHZvaWQgX19rcHJvYmVzIGRvX2dlbmVyYWxfcHJvdGVjdGlvbihzdHJ1Y3QgcHRfcmVncyAqIHJlZ3MsCi0JCQkJCQlsb25nIGVycm9yX2NvZGUpCithc21saW5rYWdlIHZvaWQgX19rcHJvYmVzCitkb19nZW5lcmFsX3Byb3RlY3Rpb24oc3RydWN0IHB0X3JlZ3MgKnJlZ3MsIGxvbmcgZXJyb3JfY29kZSkKIHsKLQlzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRzayA9IGN1cnJlbnQ7CisJc3RydWN0IHRhc2tfc3RydWN0ICp0c2s7CiAKIAljb25kaXRpb25hbF9zdGkocmVncyk7CiAKLQlpZiAodXNlcl9tb2RlKHJlZ3MpKSB7Ci0JCXRzay0+dGhyZWFkLmVycm9yX2NvZGUgPSBlcnJvcl9jb2RlOwotCQl0c2stPnRocmVhZC50cmFwX25vID0gMTM7CisJdHNrID0gY3VycmVudDsKKwlpZiAoIXVzZXJfbW9kZShyZWdzKSkKKwkJZ290byBncF9pbl9rZXJuZWw7CiAKLQkJaWYgKHNob3dfdW5oYW5kbGVkX3NpZ25hbHMgJiYgdW5oYW5kbGVkX3NpZ25hbCh0c2ssIFNJR1NFR1YpICYmCi0JCSAgICBwcmludGtfcmF0ZWxpbWl0KCkpIHsKLQkJCXByaW50ayhLRVJOX0lORk8KLQkJICAgICAgICIlc1slZF0gZ2VuZXJhbCBwcm90ZWN0aW9uIGlwOiVseCBzcDolbHggZXJyb3I6JWx4IiwKLQkJCSAgICAgICB0c2stPmNvbW0sIHRzay0+cGlkLAotCQkJICAgICAgIHJlZ3MtPmlwLCByZWdzLT5zcCwgZXJyb3JfY29kZSk7Ci0JCQlwcmludF92bWFfYWRkcigiIGluICIsIHJlZ3MtPmlwKTsKLQkJCXByaW50aygiXG4iKTsKLQkJfQorCXRzay0+dGhyZWFkLmVycm9yX2NvZGUgPSBlcnJvcl9jb2RlOworCXRzay0+dGhyZWFkLnRyYXBfbm8gPSAxMzsKIAotCQlmb3JjZV9zaWcoU0lHU0VHViwgdHNrKTsKLQkJcmV0dXJuOwotCX0gCisJaWYgKHNob3dfdW5oYW5kbGVkX3NpZ25hbHMgJiYgdW5oYW5kbGVkX3NpZ25hbCh0c2ssIFNJR1NFR1YpICYmCisJCQlwcmludGtfcmF0ZWxpbWl0KCkpIHsKKwkJcHJpbnRrKEtFUk5fSU5GTworCQkJIiVzWyVkXSBnZW5lcmFsIHByb3RlY3Rpb24gaXA6JWx4IHNwOiVseCBlcnJvcjolbHgiLAorCQkJdHNrLT5jb21tLCB0c2stPnBpZCwKKwkJCXJlZ3MtPmlwLCByZWdzLT5zcCwgZXJyb3JfY29kZSk7CisJCXByaW50X3ZtYV9hZGRyKCIgaW4gIiwgcmVncy0+aXApOworCQlwcmludGsoIlxuIik7CisJfQogCisJZm9yY2Vfc2lnKFNJR1NFR1YsIHRzayk7CisJcmV0dXJuOworCitncF9pbl9rZXJuZWw6CiAJaWYgKGZpeHVwX2V4Y2VwdGlvbihyZWdzKSkKIAkJcmV0dXJuOwogCkBAIC03NzQsMTQgKzc1MiwxNCBAQAogfQogCiBzdGF0aWMgbm90cmFjZSBfX2twcm9iZXMgdm9pZAotbWVtX3Bhcml0eV9lcnJvcih1bnNpZ25lZCBjaGFyIHJlYXNvbiwgc3RydWN0IHB0X3JlZ3MgKiByZWdzKQorbWVtX3Bhcml0eV9lcnJvcih1bnNpZ25lZCBjaGFyIHJlYXNvbiwgc3RydWN0IHB0X3JlZ3MgKnJlZ3MpCiB7CiAJcHJpbnRrKEtFUk5fRU1FUkcgIlVoaHVoLiBOTUkgcmVjZWl2ZWQgZm9yIHVua25vd24gcmVhc29uICUwMnguXG4iLAogCQlyZWFzb24pOwogCXByaW50ayhLRVJOX0VNRVJHICJZb3UgaGF2ZSBzb21lIGhhcmR3YXJlIHByb2JsZW0sIGxpa2VseSBvbiB0aGUgUENJIGJ1cy5cbiIpOwogCiAjaWYgZGVmaW5lZChDT05GSUdfRURBQykKLQlpZihlZGFjX2hhbmRsZXJfc2V0KCkpIHsKKwlpZiAoZWRhY19oYW5kbGVyX3NldCgpKSB7CiAJCWVkYWNfYXRvbWljX2Fzc2VydF9lcnJvcigpOwogCQlyZXR1cm47CiAJfQpAQCAtNzk4LDcgKzc3Niw3IEBACiB9CiAKIHN0YXRpYyBub3RyYWNlIF9fa3Byb2JlcyB2b2lkCi1pb19jaGVja19lcnJvcih1bnNpZ25lZCBjaGFyIHJlYXNvbiwgc3RydWN0IHB0X3JlZ3MgKiByZWdzKQoraW9fY2hlY2tfZXJyb3IodW5zaWduZWQgY2hhciByZWFzb24sIHN0cnVjdCBwdF9yZWdzICpyZWdzKQogewogCXByaW50aygiTk1JOiBJT0NLIGVycm9yIChkZWJ1ZyBpbnRlcnJ1cHQ/KVxuIik7CiAJc2hvd19yZWdpc3RlcnMocmVncyk7CkBAIC04MjgsMTQgKzgwNiwxNCBAQAogCiAvKiBSdW5zIG9uIElTVCBzdGFjay4gVGhpcyBjb2RlIG11c3Qga2VlcCBpbnRlcnJ1cHRzIG9mZiBhbGwgdGhlIHRpbWUuCiAgICBOZXN0ZWQgTk1JcyBhcmUgcHJldmVudGVkIGJ5IHRoZSBDUFUuICovCi1hc21saW5rYWdlIG5vdHJhY2UgIF9fa3Byb2JlcyB2b2lkIGRlZmF1bHRfZG9fbm1pKHN0cnVjdCBwdF9yZWdzICpyZWdzKQorYXNtbGlua2FnZSBub3RyYWNlIF9fa3Byb2JlcyB2b2lkIGRlZmF1bHRfZG9fbm1pKHN0cnVjdCBwdF9yZWdzICpyZWdzKQogewogCXVuc2lnbmVkIGNoYXIgcmVhc29uID0gMDsKIAlpbnQgY3B1OwogCiAJY3B1ID0gc21wX3Byb2Nlc3Nvcl9pZCgpOwogCi0JLyogT25seSB0aGUgQlNQIGdldHMgZXh0ZXJuYWwgTk1JcyBmcm9tIHRoZSBzeXN0ZW0uICAqLworCS8qIE9ubHkgdGhlIEJTUCBnZXRzIGV4dGVybmFsIE5NSXMgZnJvbSB0aGUgc3lzdGVtLiAqLwogCWlmICghY3B1KQogCQlyZWFzb24gPSBnZXRfbm1pX3JlYXNvbigpOwogCkBAIC04NDcsMzIgKzgyNSw1NyBAQAogCQkgKiBPaywgc28gdGhpcyBpcyBub25lIG9mIHRoZSBkb2N1bWVudGVkIE5NSSBzb3VyY2VzLAogCQkgKiBzbyBpdCBtdXN0IGJlIHRoZSBOTUkgd2F0Y2hkb2cuCiAJCSAqLwotCQlpZiAobm1pX3dhdGNoZG9nX3RpY2socmVncyxyZWFzb24pKQorCQlpZiAobm1pX3dhdGNoZG9nX3RpY2socmVncywgcmVhc29uKSkKIAkJCXJldHVybjsKLQkJaWYgKCFkb19ubWlfY2FsbGJhY2socmVncyxjcHUpKQorCQlpZiAoIWRvX25taV9jYWxsYmFjayhyZWdzLCBjcHUpKQogCQkJdW5rbm93bl9ubWlfZXJyb3IocmVhc29uLCByZWdzKTsKIAogCQlyZXR1cm47CiAJfQogCWlmIChub3RpZnlfZGllKERJRV9OTUksICJubWkiLCByZWdzLCByZWFzb24sIDIsIFNJR0lOVCkgPT0gTk9USUZZX1NUT1ApCi0JCXJldHVybjsgCisJCXJldHVybjsKIAogCS8qIEFLOiBmb2xsb3dpbmcgY2hlY2tzIHNlZW0gdG8gYmUgYnJva2VuIG9uIG1vZGVybiBjaGlwc2V0cy4gRklYTUUgKi8KLQogCWlmIChyZWFzb24gJiAweDgwKQogCQltZW1fcGFyaXR5X2Vycm9yKHJlYXNvbiwgcmVncyk7CiAJaWYgKHJlYXNvbiAmIDB4NDApCiAJCWlvX2NoZWNrX2Vycm9yKHJlYXNvbiwgcmVncyk7CiB9CiAKK2FzbWxpbmthZ2Ugbm90cmFjZSBfX2twcm9iZXMgdm9pZAorZG9fbm1pKHN0cnVjdCBwdF9yZWdzICpyZWdzLCBsb25nIGVycm9yX2NvZGUpCit7CisJbm1pX2VudGVyKCk7CisKKwlhZGRfcGRhKF9fbm1pX2NvdW50LCAxKTsKKworCWlmICghaWdub3JlX25taXMpCisJCWRlZmF1bHRfZG9fbm1pKHJlZ3MpOworCisJbm1pX2V4aXQoKTsKK30KKwordm9pZCBzdG9wX25taSh2b2lkKQoreworCWFjcGlfbm1pX2Rpc2FibGUoKTsKKwlpZ25vcmVfbm1pcysrOworfQorCit2b2lkIHJlc3RhcnRfbm1pKHZvaWQpCit7CisJaWdub3JlX25taXMtLTsKKwlhY3BpX25taV9lbmFibGUoKTsKK30KKwogLyogcnVucyBvbiBJU1Qgc3RhY2suICovCi1hc21saW5rYWdlIHZvaWQgX19rcHJvYmVzIGRvX2ludDMoc3RydWN0IHB0X3JlZ3MgKiByZWdzLCBsb25nIGVycm9yX2NvZGUpCithc21saW5rYWdlIHZvaWQgX19rcHJvYmVzIGRvX2ludDMoc3RydWN0IHB0X3JlZ3MgKnJlZ3MsIGxvbmcgZXJyb3JfY29kZSkKIHsKIAl0cmFjZV9oYXJkaXJxc19maXh1cCgpOwogCi0JaWYgKG5vdGlmeV9kaWUoRElFX0lOVDMsICJpbnQzIiwgcmVncywgZXJyb3JfY29kZSwgMywgU0lHVFJBUCkgPT0gTk9USUZZX1NUT1ApIHsKKwlpZiAobm90aWZ5X2RpZShESUVfSU5UMywgImludDMiLCByZWdzLCBlcnJvcl9jb2RlLCAzLCBTSUdUUkFQKQorCQkJPT0gTk9USUZZX1NUT1ApCiAJCXJldHVybjsKLQl9CisKIAlwcmVlbXB0X2NvbmRpdGlvbmFsX3N0aShyZWdzKTsKIAlkb190cmFwKDMsIFNJR1RSQVAsICJpbnQzIiwgcmVncywgZXJyb3JfY29kZSwgTlVMTCk7CiAJcHJlZW1wdF9jb25kaXRpb25hbF9jbGkocmVncyk7CkBAIC05MDMsOCArOTA2LDggQEAKIGFzbWxpbmthZ2Ugdm9pZCBfX2twcm9iZXMgZG9fZGVidWcoc3RydWN0IHB0X3JlZ3MgKiByZWdzLAogCQkJCSAgIHVuc2lnbmVkIGxvbmcgZXJyb3JfY29kZSkKIHsKLQl1bnNpZ25lZCBsb25nIGNvbmRpdGlvbjsKIAlzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRzayA9IGN1cnJlbnQ7CisJdW5zaWduZWQgbG9uZyBjb25kaXRpb247CiAJc2lnaW5mb190IGluZm87CiAKIAl0cmFjZV9oYXJkaXJxc19maXh1cCgpOwpAQCAtOTI1LDIxICs5MjgsMTkgQEAKIAogCS8qIE1hc2sgb3V0IHNwdXJpb3VzIGRlYnVnIHRyYXBzIGR1ZSB0byBsYXp5IERSNyBzZXR0aW5nICovCiAJaWYgKGNvbmRpdGlvbiAmIChEUl9UUkFQMHxEUl9UUkFQMXxEUl9UUkFQMnxEUl9UUkFQMykpIHsKLQkJaWYgKCF0c2stPnRocmVhZC5kZWJ1Z3JlZzcpIHsgCisJCWlmICghdHNrLT50aHJlYWQuZGVidWdyZWc3KQogCQkJZ290byBjbGVhcl9kcjc7Ci0JCX0KIAl9CiAKIAl0c2stPnRocmVhZC5kZWJ1Z3JlZzYgPSBjb25kaXRpb247CiAKLQogCS8qCiAJICogU2luZ2xlLXN0ZXBwaW5nIHRocm91Z2ggVEY6IG1ha2Ugc3VyZSB3ZSBpZ25vcmUgYW55IGV2ZW50cyBpbgogCSAqIGtlcm5lbCBzcGFjZSAoYnV0IHJlLWVuYWJsZSBURiB3aGVuIHJldHVybmluZyB0byB1c2VyIG1vZGUpLgogCSAqLwogCWlmIChjb25kaXRpb24gJiBEUl9TVEVQKSB7Ci0gICAgICAgICAgICAgICAgaWYgKCF1c2VyX21vZGUocmVncykpCi0gICAgICAgICAgICAgICAgICAgICAgIGdvdG8gY2xlYXJfVEZfcmVlbmFibGU7CisJCWlmICghdXNlcl9tb2RlKHJlZ3MpKQorCQkJZ290byBjbGVhcl9URl9yZWVuYWJsZTsKIAl9CiAKIAkvKiBPaywgZmluYWxseSBzb21ldGhpbmcgd2UgY2FuIGhhbmRsZSAqLwpAQCAtOTUyLDcgKzk1Myw3IEBACiAJZm9yY2Vfc2lnX2luZm8oU0lHVFJBUCwgJmluZm8sIHRzayk7CiAKIGNsZWFyX2RyNzoKLQlzZXRfZGVidWdyZWcoMFVMLCA3KTsKKwlzZXRfZGVidWdyZWcoMCwgNyk7CiAJcHJlZW1wdF9jb25kaXRpb25hbF9jbGkocmVncyk7CiAJcmV0dXJuOwogCkBAIC05NjAsNiArOTYxLDcgQEAKIAlzZXRfdHNrX3RocmVhZF9mbGFnKHRzaywgVElGX1NJTkdMRVNURVApOwogCXJlZ3MtPmZsYWdzICY9IH5YODZfRUZMQUdTX1RGOwogCXByZWVtcHRfY29uZGl0aW9uYWxfY2xpKHJlZ3MpOworCXJldHVybjsKIH0KIAogc3RhdGljIGludCBrZXJuZWxfbWF0aF9lcnJvcihzdHJ1Y3QgcHRfcmVncyAqcmVncywgY29uc3QgY2hhciAqc3RyLCBpbnQgdHJhcG5yKQpAQCAtOTgyLDcgKzk4NCw3IEBACiBhc21saW5rYWdlIHZvaWQgZG9fY29wcm9jZXNzb3JfZXJyb3Ioc3RydWN0IHB0X3JlZ3MgKnJlZ3MpCiB7CiAJdm9pZCBfX3VzZXIgKmlwID0gKHZvaWQgX191c2VyICopKHJlZ3MtPmlwKTsKLQlzdHJ1Y3QgdGFza19zdHJ1Y3QgKiB0YXNrOworCXN0cnVjdCB0YXNrX3N0cnVjdCAqdGFzazsKIAlzaWdpbmZvX3QgaW5mbzsKIAl1bnNpZ25lZCBzaG9ydCBjd2QsIHN3ZDsKIApAQCAtMTAxNSwzMCArMTAxNywzMCBAQAogCWN3ZCA9IGdldF9mcHVfY3dkKHRhc2spOwogCXN3ZCA9IGdldF9mcHVfc3dkKHRhc2spOwogCXN3aXRjaCAoc3dkICYgfmN3ZCAmIDB4M2YpIHsKLQkJY2FzZSAweDAwMDoKLQkJZGVmYXVsdDoKLQkJCWJyZWFrOwotCQljYXNlIDB4MDAxOiAvKiBJbnZhbGlkIE9wICovCi0JCQkvKgotCQkJICogc3dkICYgMHgyNDAgPT0gMHgwNDA6IFN0YWNrIFVuZGVyZmxvdwotCQkJICogc3dkICYgMHgyNDAgPT0gMHgyNDA6IFN0YWNrIE92ZXJmbG93Ci0JCQkgKiBVc2VyIG11c3QgY2xlYXIgdGhlIFNGIGJpdCAoMHg0MCkgaWYgc2V0Ci0JCQkgKi8KLQkJCWluZm8uc2lfY29kZSA9IEZQRV9GTFRJTlY7Ci0JCQlicmVhazsKLQkJY2FzZSAweDAwMjogLyogRGVub3JtYWxpemUgKi8KLQkJY2FzZSAweDAxMDogLyogVW5kZXJmbG93ICovCi0JCQlpbmZvLnNpX2NvZGUgPSBGUEVfRkxUVU5EOwotCQkJYnJlYWs7Ci0JCWNhc2UgMHgwMDQ6IC8qIFplcm8gRGl2aWRlICovCi0JCQlpbmZvLnNpX2NvZGUgPSBGUEVfRkxURElWOwotCQkJYnJlYWs7Ci0JCWNhc2UgMHgwMDg6IC8qIE92ZXJmbG93ICovCi0JCQlpbmZvLnNpX2NvZGUgPSBGUEVfRkxUT1ZGOwotCQkJYnJlYWs7Ci0JCWNhc2UgMHgwMjA6IC8qIFByZWNpc2lvbiAqLwotCQkJaW5mby5zaV9jb2RlID0gRlBFX0ZMVFJFUzsKLQkJCWJyZWFrOworCWNhc2UgMHgwMDA6IC8qIE5vIHVubWFza2VkIGV4Y2VwdGlvbiAqLworCWRlZmF1bHQ6IC8qIE11bHRpcGxlIGV4Y2VwdGlvbnMgKi8KKwkJYnJlYWs7CisJY2FzZSAweDAwMTogLyogSW52YWxpZCBPcCAqLworCQkvKgorCQkgKiBzd2QgJiAweDI0MCA9PSAweDA0MDogU3RhY2sgVW5kZXJmbG93CisJCSAqIHN3ZCAmIDB4MjQwID09IDB4MjQwOiBTdGFjayBPdmVyZmxvdworCQkgKiBVc2VyIG11c3QgY2xlYXIgdGhlIFNGIGJpdCAoMHg0MCkgaWYgc2V0CisJCSAqLworCQlpbmZvLnNpX2NvZGUgPSBGUEVfRkxUSU5WOworCQlicmVhazsKKwljYXNlIDB4MDAyOiAvKiBEZW5vcm1hbGl6ZSAqLworCWNhc2UgMHgwMTA6IC8qIFVuZGVyZmxvdyAqLworCQlpbmZvLnNpX2NvZGUgPSBGUEVfRkxUVU5EOworCQlicmVhazsKKwljYXNlIDB4MDA0OiAvKiBaZXJvIERpdmlkZSAqLworCQlpbmZvLnNpX2NvZGUgPSBGUEVfRkxURElWOworCQlicmVhazsKKwljYXNlIDB4MDA4OiAvKiBPdmVyZmxvdyAqLworCQlpbmZvLnNpX2NvZGUgPSBGUEVfRkxUT1ZGOworCQlicmVhazsKKwljYXNlIDB4MDIwOiAvKiBQcmVjaXNpb24gKi8KKwkJaW5mby5zaV9jb2RlID0gRlBFX0ZMVFJFUzsKKwkJYnJlYWs7CiAJfQogCWZvcmNlX3NpZ19pbmZvKFNJR0ZQRSwgJmluZm8sIHRhc2spOwogfQpAQCAtMTA1MSw3ICsxMDUzLDcgQEAKIGFzbWxpbmthZ2Ugdm9pZCBkb19zaW1kX2NvcHJvY2Vzc29yX2Vycm9yKHN0cnVjdCBwdF9yZWdzICpyZWdzKQogewogCXZvaWQgX191c2VyICppcCA9ICh2b2lkIF9fdXNlciAqKShyZWdzLT5pcCk7Ci0Jc3RydWN0IHRhc2tfc3RydWN0ICogdGFzazsKKwlzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRhc2s7CiAJc2lnaW5mb190IGluZm87CiAJdW5zaWduZWQgc2hvcnQgbXhjc3I7CiAKQEAgLTEwNzksMjUgKzEwODEsMjUgQEAKIAkgKi8KIAlteGNzciA9IGdldF9mcHVfbXhjc3IodGFzayk7CiAJc3dpdGNoICh+KChteGNzciAmIDB4MWY4MCkgPj4gNykgJiAobXhjc3IgJiAweDNmKSkgewotCQljYXNlIDB4MDAwOgotCQlkZWZhdWx0OgotCQkJYnJlYWs7Ci0JCWNhc2UgMHgwMDE6IC8qIEludmFsaWQgT3AgKi8KLQkJCWluZm8uc2lfY29kZSA9IEZQRV9GTFRJTlY7Ci0JCQlicmVhazsKLQkJY2FzZSAweDAwMjogLyogRGVub3JtYWxpemUgKi8KLQkJY2FzZSAweDAxMDogLyogVW5kZXJmbG93ICovCi0JCQlpbmZvLnNpX2NvZGUgPSBGUEVfRkxUVU5EOwotCQkJYnJlYWs7Ci0JCWNhc2UgMHgwMDQ6IC8qIFplcm8gRGl2aWRlICovCi0JCQlpbmZvLnNpX2NvZGUgPSBGUEVfRkxURElWOwotCQkJYnJlYWs7Ci0JCWNhc2UgMHgwMDg6IC8qIE92ZXJmbG93ICovCi0JCQlpbmZvLnNpX2NvZGUgPSBGUEVfRkxUT1ZGOwotCQkJYnJlYWs7Ci0JCWNhc2UgMHgwMjA6IC8qIFByZWNpc2lvbiAqLwotCQkJaW5mby5zaV9jb2RlID0gRlBFX0ZMVFJFUzsKLQkJCWJyZWFrOworCWNhc2UgMHgwMDA6CisJZGVmYXVsdDoKKwkJYnJlYWs7CisJY2FzZSAweDAwMTogLyogSW52YWxpZCBPcCAqLworCQlpbmZvLnNpX2NvZGUgPSBGUEVfRkxUSU5WOworCQlicmVhazsKKwljYXNlIDB4MDAyOiAvKiBEZW5vcm1hbGl6ZSAqLworCWNhc2UgMHgwMTA6IC8qIFVuZGVyZmxvdyAqLworCQlpbmZvLnNpX2NvZGUgPSBGUEVfRkxUVU5EOworCQlicmVhazsKKwljYXNlIDB4MDA0OiAvKiBaZXJvIERpdmlkZSAqLworCQlpbmZvLnNpX2NvZGUgPSBGUEVfRkxURElWOworCQlicmVhazsKKwljYXNlIDB4MDA4OiAvKiBPdmVyZmxvdyAqLworCQlpbmZvLnNpX2NvZGUgPSBGUEVfRkxUT1ZGOworCQlicmVhazsKKwljYXNlIDB4MDIwOiAvKiBQcmVjaXNpb24gKi8KKwkJaW5mby5zaV9jb2RlID0gRlBFX0ZMVFJFUzsKKwkJYnJlYWs7CiAJfQogCWZvcmNlX3NpZ19pbmZvKFNJR0ZQRSwgJmluZm8sIHRhc2spOwogfQpAQCAtMTExNSw3ICsxMTE3LDcgQEAKIH0KIAogLyoKLSAqICAnbWF0aF9zdGF0ZV9yZXN0b3JlKCknIHNhdmVzIHRoZSBjdXJyZW50IG1hdGggaW5mb3JtYXRpb24gaW4gdGhlCisgKiAnbWF0aF9zdGF0ZV9yZXN0b3JlKCknIHNhdmVzIHRoZSBjdXJyZW50IG1hdGggaW5mb3JtYXRpb24gaW4gdGhlCiAgKiBvbGQgbWF0aCBzdGF0ZSBhcnJheSwgYW5kIGdldHMgdGhlIG5ldyBvbmVzIGZyb20gdGhlIGN1cnJlbnQgdGFzawogICoKICAqIENhcmVmdWwuLiBUaGVyZSBhcmUgcHJvYmxlbXMgd2l0aCBJQk0tZGVzaWduZWQgSVJRMTMgYmVoYXZpb3VyLgpAQCAtMTE0MCw3ICsxMTQyLDcgQEAKIAkJbG9jYWxfaXJxX2Rpc2FibGUoKTsKIAl9CiAKLQljbHRzKCk7CQkJLyogQWxsb3cgbWF0aHMgb3BzIChvciB3ZSByZWN1cnNlKSAqLworCWNsdHMoKTsJCQkJLyogQWxsb3cgbWF0aHMgb3BzIChvciB3ZSByZWN1cnNlKSAqLwogCXJlc3RvcmVfZnB1X2NoZWNraW5nKCZtZS0+dGhyZWFkLnhzdGF0ZS0+ZnhzYXZlKTsKIAl0YXNrX3RocmVhZF9pbmZvKG1lKS0+c3RhdHVzIHw9IFRTX1VTRURGUFU7CiAJbWUtPmZwdV9jb3VudGVyKys7CkBAIC0xMTQ5LDY0ICsxMTUxLDYxIEBACiAKIHZvaWQgX19pbml0IHRyYXBfaW5pdCh2b2lkKQogewotCXNldF9pbnRyX2dhdGUoMCwmZGl2aWRlX2Vycm9yKTsKLQlzZXRfaW50cl9nYXRlX2lzdCgxLCZkZWJ1ZyxERUJVR19TVEFDSyk7Ci0Jc2V0X2ludHJfZ2F0ZV9pc3QoMiwmbm1pLE5NSV9TVEFDSyk7Ci0gCXNldF9zeXN0ZW1fZ2F0ZV9pc3QoMywmaW50MyxERUJVR19TVEFDSyk7IC8qIGludDMgY2FuIGJlIGNhbGxlZCBmcm9tIGFsbCAqLwotCXNldF9zeXN0ZW1fZ2F0ZSg0LCZvdmVyZmxvdyk7CS8qIGludDQgY2FuIGJlIGNhbGxlZCBmcm9tIGFsbCAqLwotCXNldF9pbnRyX2dhdGUoNSwmYm91bmRzKTsKLQlzZXRfaW50cl9nYXRlKDYsJmludmFsaWRfb3ApOwotCXNldF9pbnRyX2dhdGUoNywmZGV2aWNlX25vdF9hdmFpbGFibGUpOwotCXNldF9pbnRyX2dhdGVfaXN0KDgsJmRvdWJsZV9mYXVsdCwgRE9VQkxFRkFVTFRfU1RBQ0spOwotCXNldF9pbnRyX2dhdGUoOSwmY29wcm9jZXNzb3Jfc2VnbWVudF9vdmVycnVuKTsKLQlzZXRfaW50cl9nYXRlKDEwLCZpbnZhbGlkX1RTUyk7Ci0Jc2V0X2ludHJfZ2F0ZSgxMSwmc2VnbWVudF9ub3RfcHJlc2VudCk7Ci0Jc2V0X2ludHJfZ2F0ZV9pc3QoMTIsJnN0YWNrX3NlZ21lbnQsU1RBQ0tGQVVMVF9TVEFDSyk7Ci0Jc2V0X2ludHJfZ2F0ZSgxMywmZ2VuZXJhbF9wcm90ZWN0aW9uKTsKLQlzZXRfaW50cl9nYXRlKDE0LCZwYWdlX2ZhdWx0KTsKLQlzZXRfaW50cl9nYXRlKDE1LCZzcHVyaW91c19pbnRlcnJ1cHRfYnVnKTsKLQlzZXRfaW50cl9nYXRlKDE2LCZjb3Byb2Nlc3Nvcl9lcnJvcik7Ci0Jc2V0X2ludHJfZ2F0ZSgxNywmYWxpZ25tZW50X2NoZWNrKTsKKwlzZXRfaW50cl9nYXRlKDAsICZkaXZpZGVfZXJyb3IpOworCXNldF9pbnRyX2dhdGVfaXN0KDEsICZkZWJ1ZywgREVCVUdfU1RBQ0spOworCXNldF9pbnRyX2dhdGVfaXN0KDIsICZubWksIE5NSV9TVEFDSyk7CisgCXNldF9zeXN0ZW1fZ2F0ZV9pc3QoMywgJmludDMsIERFQlVHX1NUQUNLKTsgLyogaW50MyBjYW4gYmUgY2FsbGVkIGZyb20gYWxsICovCisJc2V0X3N5c3RlbV9nYXRlKDQsICZvdmVyZmxvdyk7IC8qIGludDQgY2FuIGJlIGNhbGxlZCBmcm9tIGFsbCAqLworCXNldF9pbnRyX2dhdGUoNSwgJmJvdW5kcyk7CisJc2V0X2ludHJfZ2F0ZSg2LCAmaW52YWxpZF9vcCk7CisJc2V0X2ludHJfZ2F0ZSg3LCAmZGV2aWNlX25vdF9hdmFpbGFibGUpOworCXNldF9pbnRyX2dhdGVfaXN0KDgsICZkb3VibGVfZmF1bHQsIERPVUJMRUZBVUxUX1NUQUNLKTsKKwlzZXRfaW50cl9nYXRlKDksICZjb3Byb2Nlc3Nvcl9zZWdtZW50X292ZXJydW4pOworCXNldF9pbnRyX2dhdGUoMTAsICZpbnZhbGlkX1RTUyk7CisJc2V0X2ludHJfZ2F0ZSgxMSwgJnNlZ21lbnRfbm90X3ByZXNlbnQpOworCXNldF9pbnRyX2dhdGVfaXN0KDEyLCAmc3RhY2tfc2VnbWVudCwgU1RBQ0tGQVVMVF9TVEFDSyk7CisJc2V0X2ludHJfZ2F0ZSgxMywgJmdlbmVyYWxfcHJvdGVjdGlvbik7CisJc2V0X2ludHJfZ2F0ZSgxNCwgJnBhZ2VfZmF1bHQpOworCXNldF9pbnRyX2dhdGUoMTUsICZzcHVyaW91c19pbnRlcnJ1cHRfYnVnKTsKKwlzZXRfaW50cl9nYXRlKDE2LCAmY29wcm9jZXNzb3JfZXJyb3IpOworCXNldF9pbnRyX2dhdGUoMTcsICZhbGlnbm1lbnRfY2hlY2spOwogI2lmZGVmIENPTkZJR19YODZfTUNFCi0Jc2V0X2ludHJfZ2F0ZV9pc3QoMTgsJm1hY2hpbmVfY2hlY2ssIE1DRV9TVEFDSyk7IAorCXNldF9pbnRyX2dhdGVfaXN0KDE4LCAmbWFjaGluZV9jaGVjaywgTUNFX1NUQUNLKTsKICNlbmRpZgotCXNldF9pbnRyX2dhdGUoMTksJnNpbWRfY29wcm9jZXNzb3JfZXJyb3IpOworCXNldF9pbnRyX2dhdGUoMTksICZzaW1kX2NvcHJvY2Vzc29yX2Vycm9yKTsKIAogI2lmZGVmIENPTkZJR19JQTMyX0VNVUxBVElPTgogCXNldF9zeXN0ZW1fZ2F0ZShJQTMyX1NZU0NBTExfVkVDVE9SLCBpYTMyX3N5c2NhbGwpOwogI2VuZGlmCi0gICAgICAgCiAJLyoKIAkgKiBpbml0aWFsaXplIHRoZSBwZXIgdGhyZWFkIGV4dGVuZGVkIHN0YXRlOgogCSAqLwotICAgICAgICBpbml0X3RocmVhZF94c3RhdGUoKTsKKwlpbml0X3RocmVhZF94c3RhdGUoKTsKIAkvKgotCSAqIFNob3VsZCBiZSBhIGJhcnJpZXIgZm9yIGFueSBleHRlcm5hbCBDUFUgc3RhdGUuCisJICogU2hvdWxkIGJlIGEgYmFycmllciBmb3IgYW55IGV4dGVybmFsIENQVSBzdGF0ZToKIAkgKi8KIAljcHVfaW5pdCgpOwogfQogCi0KIHN0YXRpYyBpbnQgX19pbml0IG9vcHNfc2V0dXAoY2hhciAqcykKLXsgCit7CiAJaWYgKCFzKQogCQlyZXR1cm4gLUVJTlZBTDsKIAlpZiAoIXN0cmNtcChzLCAicGFuaWMiKSkKIAkJcGFuaWNfb25fb29wcyA9IDE7CiAJcmV0dXJuIDA7Ci19IAorfQogZWFybHlfcGFyYW0oIm9vcHMiLCBvb3BzX3NldHVwKTsKIAogc3RhdGljIGludCBfX2luaXQga3N0YWNrX3NldHVwKGNoYXIgKnMpCiB7CiAJaWYgKCFzKQogCQlyZXR1cm4gLUVJTlZBTDsKLQlrc3RhY2tfZGVwdGhfdG9fcHJpbnQgPSBzaW1wbGVfc3RydG91bChzLE5VTEwsMCk7CisJa3N0YWNrX2RlcHRoX3RvX3ByaW50ID0gc2ltcGxlX3N0cnRvdWwocywgTlVMTCwgMCk7CiAJcmV0dXJuIDA7CiB9CiBlYXJseV9wYXJhbSgia3N0YWNrIiwga3N0YWNrX3NldHVwKTsKIAotCiBzdGF0aWMgaW50IF9faW5pdCBjb2RlX2J5dGVzX3NldHVwKGNoYXIgKnMpCiB7CiAJY29kZV9ieXRlcyA9IHNpbXBsZV9zdHJ0b3VsKHMsIE5VTEwsIDApOwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL3RzYy5jIGIvYXJjaC94ODYva2VybmVsL3RzYy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNjMzZmOTIKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL3g4Ni9rZXJuZWwvdHNjLmMKQEAgLTAsMCArMSw1MzMgQEAKKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9zY2hlZC5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC90aW1lci5oPgorI2luY2x1ZGUgPGxpbnV4L2FjcGlfcG10bXIuaD4KKyNpbmNsdWRlIDxsaW51eC9jcHVmcmVxLmg+CisjaW5jbHVkZSA8bGludXgvZG1pLmg+CisjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KKyNpbmNsdWRlIDxsaW51eC9jbG9ja3NvdXJjZS5oPgorI2luY2x1ZGUgPGxpbnV4L3BlcmNwdS5oPgorCisjaW5jbHVkZSA8YXNtL2hwZXQuaD4KKyNpbmNsdWRlIDxhc20vdGltZXIuaD4KKyNpbmNsdWRlIDxhc20vdmd0b2QuaD4KKyNpbmNsdWRlIDxhc20vdGltZS5oPgorI2luY2x1ZGUgPGFzbS9kZWxheS5oPgorCit1bnNpZ25lZCBpbnQgY3B1X2toejsgICAgICAgICAgIC8qIFRTQyBjbG9ja3MgLyB1c2VjLCBub3QgdXNlZCBoZXJlICovCitFWFBPUlRfU1lNQk9MKGNwdV9raHopOwordW5zaWduZWQgaW50IHRzY19raHo7CitFWFBPUlRfU1lNQk9MKHRzY19raHopOworCisvKgorICogVFNDIGNhbiBiZSB1bnN0YWJsZSBkdWUgdG8gY3B1ZnJlcSBvciBkdWUgdG8gdW5zeW5jZWQgVFNDcworICovCitzdGF0aWMgaW50IHRzY191bnN0YWJsZTsKKworLyogbmF0aXZlX3NjaGVkX2Nsb2NrKCkgaXMgY2FsbGVkIGJlZm9yZSB0c2NfaW5pdCgpLCBzbworICAgd2UgbXVzdCBzdGFydCB3aXRoIHRoZSBUU0Mgc29mdCBkaXNhYmxlZCB0byBwcmV2ZW50CisgICBlcnJvbmVvdXMgcmR0c2MgdXNhZ2Ugb24gIWNwdV9oYXNfdHNjIHByb2Nlc3NvcnMgKi8KK3N0YXRpYyBpbnQgdHNjX2Rpc2FibGVkID0gLTE7CisKKy8qCisgKiBTY2hlZHVsZXIgY2xvY2sgLSByZXR1cm5zIGN1cnJlbnQgdGltZSBpbiBuYW5vc2VjIHVuaXRzLgorICovCit1NjQgbmF0aXZlX3NjaGVkX2Nsb2NrKHZvaWQpCit7CisJdTY0IHRoaXNfb2Zmc2V0OworCisJLyoKKwkgKiBGYWxsIGJhY2sgdG8gamlmZmllcyBpZiB0aGVyZSdzIG5vIFRTQyBhdmFpbGFibGU6CisJICogKCBCdXQgbm90ZSB0aGF0IHdlIHN0aWxsIHVzZSBpdCBpZiB0aGUgVFNDIGlzIG1hcmtlZAorCSAqICAgdW5zdGFibGUuIFdlIGRvIHRoaXMgYmVjYXVzZSB1bmxpa2UgVGltZSBPZiBEYXksCisJICogICB0aGUgc2NoZWR1bGVyIGNsb2NrIHRvbGVyYXRlcyBzbWFsbCBlcnJvcnMgYW5kIGl0J3MKKwkgKiAgIHZlcnkgaW1wb3J0YW50IGZvciBpdCB0byBiZSBhcyBmYXN0IGFzIHRoZSBwbGF0Zm9ybQorCSAqICAgY2FuIGFjaGl2ZSBpdC4gKQorCSAqLworCWlmICh1bmxpa2VseSh0c2NfZGlzYWJsZWQpKSB7CisJCS8qIE5vIGxvY2tpbmcgYnV0IGEgcmFyZSB3cm9uZyB2YWx1ZSBpcyBub3QgYSBiaWcgZGVhbDogKi8KKwkJcmV0dXJuIChqaWZmaWVzXzY0IC0gSU5JVElBTF9KSUZGSUVTKSAqICgxMDAwMDAwMDAwIC8gSFopOworCX0KKworCS8qIHJlYWQgdGhlIFRpbWUgU3RhbXAgQ291bnRlcjogKi8KKwlyZHRzY2xsKHRoaXNfb2Zmc2V0KTsKKworCS8qIHJldHVybiB0aGUgdmFsdWUgaW4gbnMgKi8KKwlyZXR1cm4gY3ljbGVzXzJfbnModGhpc19vZmZzZXQpOworfQorCisvKiBXZSBuZWVkIHRvIGRlZmluZSBhIHJlYWwgZnVuY3Rpb24gZm9yIHNjaGVkX2Nsb2NrLCB0byBvdmVycmlkZSB0aGUKKyAgIHdlYWsgZGVmYXVsdCB2ZXJzaW9uICovCisjaWZkZWYgQ09ORklHX1BBUkFWSVJUCit1bnNpZ25lZCBsb25nIGxvbmcgc2NoZWRfY2xvY2sodm9pZCkKK3sKKwlyZXR1cm4gcGFyYXZpcnRfc2NoZWRfY2xvY2soKTsKK30KKyNlbHNlCit1bnNpZ25lZCBsb25nIGxvbmcKK3NjaGVkX2Nsb2NrKHZvaWQpIF9fYXR0cmlidXRlX18oKGFsaWFzKCJuYXRpdmVfc2NoZWRfY2xvY2siKSkpOworI2VuZGlmCisKK2ludCBjaGVja190c2NfdW5zdGFibGUodm9pZCkKK3sKKwlyZXR1cm4gdHNjX3Vuc3RhYmxlOworfQorRVhQT1JUX1NZTUJPTF9HUEwoY2hlY2tfdHNjX3Vuc3RhYmxlKTsKKworI2lmZGVmIENPTkZJR19YODZfVFNDCitpbnQgX19pbml0IG5vdHNjX3NldHVwKGNoYXIgKnN0cikKK3sKKwlwcmludGsoS0VSTl9XQVJOSU5HICJub3RzYzogS2VybmVsIGNvbXBpbGVkIHdpdGggQ09ORklHX1g4Nl9UU0MsICIKKwkJCSJjYW5ub3QgZGlzYWJsZSBUU0MgY29tcGxldGVseS5cbiIpOworCXRzY19kaXNhYmxlZCA9IDE7CisJcmV0dXJuIDE7Cit9CisjZWxzZQorLyoKKyAqIGRpc2FibGUgZmxhZyBmb3IgdHNjLiBUYWtlcyBlZmZlY3QgYnkgY2xlYXJpbmcgdGhlIFRTQyBjcHUgZmxhZworICogaW4gY3B1L2NvbW1vbi5jCisgKi8KK2ludCBfX2luaXQgbm90c2Nfc2V0dXAoY2hhciAqc3RyKQoreworCXNldHVwX2NsZWFyX2NwdV9jYXAoWDg2X0ZFQVRVUkVfVFNDKTsKKwlyZXR1cm4gMTsKK30KKyNlbmRpZgorCitfX3NldHVwKCJub3RzYyIsIG5vdHNjX3NldHVwKTsKKworI2RlZmluZSBNQVhfUkVUUklFUyAgICAgNQorI2RlZmluZSBTTUlfVFJFU0hPTEQgICAgNTAwMDAKKworLyoKKyAqIFJlYWQgVFNDIGFuZCB0aGUgcmVmZXJlbmNlIGNvdW50ZXJzLiBUYWtlIGNhcmUgb2YgU01JIGRpc3R1cmJhbmNlCisgKi8KK3N0YXRpYyB1NjQgX19pbml0IHRzY19yZWFkX3JlZnModTY0ICpwbSwgdTY0ICpocGV0KQoreworCXU2NCB0MSwgdDI7CisJaW50IGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgTUFYX1JFVFJJRVM7IGkrKykgeworCQl0MSA9IGdldF9jeWNsZXMoKTsKKwkJaWYgKGhwZXQpCisJCQkqaHBldCA9IGhwZXRfcmVhZGwoSFBFVF9DT1VOVEVSKSAmIDB4RkZGRkZGRkY7CisJCWVsc2UKKwkJCSpwbSA9IGFjcGlfcG1fcmVhZF9lYXJseSgpOworCQl0MiA9IGdldF9jeWNsZXMoKTsKKwkJaWYgKCh0MiAtIHQxKSA8IFNNSV9UUkVTSE9MRCkKKwkJCXJldHVybiB0MjsKKwl9CisJcmV0dXJuIFVMTE9OR19NQVg7Cit9CisKKy8qKgorICogbmF0aXZlX2NhbGlicmF0ZV90c2MgLSBjYWxpYnJhdGUgdGhlIHRzYyBvbiBib290CisgKi8KK3Vuc2lnbmVkIGxvbmcgbmF0aXZlX2NhbGlicmF0ZV90c2Modm9pZCkKK3sKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCXU2NCB0c2MxLCB0c2MyLCB0cjEsIHRyMiwgZGVsdGEsIHBtMSwgcG0yLCBocGV0MSwgaHBldDI7CisJaW50IGhwZXQgPSBpc19ocGV0X2VuYWJsZWQoKTsKKwl1bnNpZ25lZCBpbnQgdHNjX2toel92YWwgPSAwOworCisJbG9jYWxfaXJxX3NhdmUoZmxhZ3MpOworCisJdHNjMSA9IHRzY19yZWFkX3JlZnMoJnBtMSwgaHBldCA/ICZocGV0MSA6IE5VTEwpOworCisJb3V0YigoaW5iKDB4NjEpICYgfjB4MDIpIHwgMHgwMSwgMHg2MSk7CisKKwlvdXRiKDB4YjAsIDB4NDMpOworCW91dGIoKENMT0NLX1RJQ0tfUkFURSAvICgxMDAwIC8gNTApKSAmIDB4ZmYsIDB4NDIpOworCW91dGIoKENMT0NLX1RJQ0tfUkFURSAvICgxMDAwIC8gNTApKSA+PiA4LCAweDQyKTsKKwl0cjEgPSBnZXRfY3ljbGVzKCk7CisJd2hpbGUgKChpbmIoMHg2MSkgJiAweDIwKSA9PSAwKTsKKwl0cjIgPSBnZXRfY3ljbGVzKCk7CisKKwl0c2MyID0gdHNjX3JlYWRfcmVmcygmcG0yLCBocGV0ID8gJmhwZXQyIDogTlVMTCk7CisKKwlsb2NhbF9pcnFfcmVzdG9yZShmbGFncyk7CisKKwkvKgorCSAqIFByZXNldCB0aGUgcmVzdWx0IHdpdGggdGhlIHJhdyBhbmQgaW5hY2N1cmF0ZSBQSVQKKwkgKiBjYWxpYnJhdGlvbiB2YWx1ZQorCSAqLworCWRlbHRhID0gKHRyMiAtIHRyMSk7CisJZG9fZGl2KGRlbHRhLCA1MCk7CisJdHNjX2toel92YWwgPSBkZWx0YTsKKworCS8qIGhwZXQgb3IgcG10aW1lciBhdmFpbGFibGUgPyAqLworCWlmICghaHBldCAmJiAhcG0xICYmICFwbTIpIHsKKwkJcHJpbnRrKEtFUk5fSU5GTyAiVFNDIGNhbGlicmF0ZWQgYWdhaW5zdCBQSVRcbiIpOworCQlnb3RvIG91dDsKKwl9CisKKwkvKiBDaGVjaywgd2hldGhlciB0aGUgc2FtcGxpbmcgd2FzIGRpc3R1cmJlZCBieSBhbiBTTUkgKi8KKwlpZiAodHNjMSA9PSBVTExPTkdfTUFYIHx8IHRzYzIgPT0gVUxMT05HX01BWCkgeworCQlwcmludGsoS0VSTl9XQVJOSU5HICJUU0MgY2FsaWJyYXRpb24gZGlzdHVyYmVkIGJ5IFNNSSwgIgorCQkJCSJ1c2luZyBQSVQgY2FsaWJyYXRpb24gcmVzdWx0XG4iKTsKKwkJZ290byBvdXQ7CisJfQorCisJdHNjMiA9ICh0c2MyIC0gdHNjMSkgKiAxMDAwMDAwTEw7CisKKwlpZiAoaHBldCkgeworCQlwcmludGsoS0VSTl9JTkZPICJUU0MgY2FsaWJyYXRlZCBhZ2FpbnN0IEhQRVRcbiIpOworCQlpZiAoaHBldDIgPCBocGV0MSkKKwkJCWhwZXQyICs9IDB4MTAwMDAwMDAwVUxMOworCQlocGV0MiAtPSBocGV0MTsKKwkJdHNjMSA9ICgodTY0KWhwZXQyICogaHBldF9yZWFkbChIUEVUX1BFUklPRCkpOworCQlkb19kaXYodHNjMSwgMTAwMDAwMCk7CisJfSBlbHNlIHsKKwkJcHJpbnRrKEtFUk5fSU5GTyAiVFNDIGNhbGlicmF0ZWQgYWdhaW5zdCBQTV9USU1FUlxuIik7CisJCWlmIChwbTIgPCBwbTEpCisJCQlwbTIgKz0gKHU2NClBQ1BJX1BNX09WUlJVTjsKKwkJcG0yIC09IHBtMTsKKwkJdHNjMSA9IHBtMiAqIDEwMDAwMDAwMDBMTDsKKwkJZG9fZGl2KHRzYzEsIFBNVE1SX1RJQ0tTX1BFUl9TRUMpOworCX0KKworCWRvX2Rpdih0c2MyLCB0c2MxKTsKKwl0c2Nfa2h6X3ZhbCA9IHRzYzI7CisKK291dDoKKwlyZXR1cm4gdHNjX2toel92YWw7Cit9CisKKworI2lmZGVmIENPTkZJR19YODZfMzIKKy8qIE9ubHkgY2FsbGVkIGZyb20gdGhlIFBvd2Vybm93IEs3IGNwdSBmcmVxIGRyaXZlciAqLworaW50IHJlY2FsaWJyYXRlX2NwdV9raHoodm9pZCkKK3sKKyNpZm5kZWYgQ09ORklHX1NNUAorCXVuc2lnbmVkIGxvbmcgY3B1X2toel9vbGQgPSBjcHVfa2h6OworCisJaWYgKGNwdV9oYXNfdHNjKSB7CisJCXRzY19raHogPSBjYWxpYnJhdGVfdHNjKCk7CisJCWNwdV9raHogPSB0c2Nfa2h6OworCQljcHVfZGF0YSgwKS5sb29wc19wZXJfamlmZnkgPQorCQkJY3B1ZnJlcV9zY2FsZShjcHVfZGF0YSgwKS5sb29wc19wZXJfamlmZnksCisJCQkJCWNwdV9raHpfb2xkLCBjcHVfa2h6KTsKKwkJcmV0dXJuIDA7CisJfSBlbHNlCisJCXJldHVybiAtRU5PREVWOworI2Vsc2UKKwlyZXR1cm4gLUVOT0RFVjsKKyNlbmRpZgorfQorCitFWFBPUlRfU1lNQk9MKHJlY2FsaWJyYXRlX2NwdV9raHopOworCisjZW5kaWYgLyogQ09ORklHX1g4Nl8zMiAqLworCisvKiBBY2NlbGVyYXRvcnMgZm9yIHNjaGVkX2Nsb2NrKCkKKyAqIGNvbnZlcnQgZnJvbSBjeWNsZXMoNjRiaXRzKSA9PiBuYW5vc2Vjb25kcyAoNjRiaXRzKQorICogIGJhc2ljIGVxdWF0aW9uOgorICogICAgICAgICAgICAgIG5zID0gY3ljbGVzIC8gKGZyZXEgLyBuc19wZXJfc2VjKQorICogICAgICAgICAgICAgIG5zID0gY3ljbGVzICogKG5zX3Blcl9zZWMgLyBmcmVxKQorICogICAgICAgICAgICAgIG5zID0gY3ljbGVzICogKDEwXjkgLyAoY3B1X2toeiAqIDEwXjMpKQorICogICAgICAgICAgICAgIG5zID0gY3ljbGVzICogKDEwXjYgLyBjcHVfa2h6KQorICoKKyAqICAgICAgVGhlbiB3ZSB1c2Ugc2NhbGluZyBtYXRoIChzdWdnZXN0ZWQgYnkgZ2VvcmdlQG12aXN0YS5jb20pIHRvIGdldDoKKyAqICAgICAgICAgICAgICBucyA9IGN5Y2xlcyAqICgxMF42ICogU0MgLyBjcHVfa2h6KSAvIFNDCisgKiAgICAgICAgICAgICAgbnMgPSBjeWNsZXMgKiBjeWMybnNfc2NhbGUgLyBTQworICoKKyAqICAgICAgQW5kIHNpbmNlIFNDIGlzIGEgY29uc3RhbnQgcG93ZXIgb2YgdHdvLCB3ZSBjYW4gY29udmVydCB0aGUgZGl2CisgKiAgaW50byBhIHNoaWZ0LgorICoKKyAqICBXZSBjYW4gdXNlIGtoeiBkaXZpc29yIGluc3RlYWQgb2YgbWh6IHRvIGtlZXAgYSBiZXR0ZXIgcHJlY2lzaW9uLCBzaW5jZQorICogIGN5YzJuc19zY2FsZSBpcyBsaW1pdGVkIHRvIDEwXjYgKiAyXjEwLCB3aGljaCBmaXRzIGluIDMyIGJpdHMuCisgKiAgKG1hdGhpZXUuZGVzbm95ZXJzQHBvbHltdGwuY2EpCisgKgorICogICAgICAgICAgICAgICAgICAgICAgLWpvaG5zdHVsQHVzLmlibS5jb20gIm1hdGggaXMgaGFyZCwgbGV0cyBnbyBzaG9wcGluZyEiCisgKi8KKworREVGSU5FX1BFUl9DUFUodW5zaWduZWQgbG9uZywgY3ljMm5zKTsKKworc3RhdGljIHZvaWQgc2V0X2N5YzJuc19zY2FsZSh1bnNpZ25lZCBsb25nIGNwdV9raHosIGludCBjcHUpCit7CisJdW5zaWduZWQgbG9uZyBsb25nIHRzY19ub3csIG5zX25vdzsKKwl1bnNpZ25lZCBsb25nIGZsYWdzLCAqc2NhbGU7CisKKwlsb2NhbF9pcnFfc2F2ZShmbGFncyk7CisJc2NoZWRfY2xvY2tfaWRsZV9zbGVlcF9ldmVudCgpOworCisJc2NhbGUgPSAmcGVyX2NwdShjeWMybnMsIGNwdSk7CisKKwlyZHRzY2xsKHRzY19ub3cpOworCW5zX25vdyA9IF9fY3ljbGVzXzJfbnModHNjX25vdyk7CisKKwlpZiAoY3B1X2toeikKKwkJKnNjYWxlID0gKE5TRUNfUEVSX01TRUMgPDwgQ1lDMk5TX1NDQUxFX0ZBQ1RPUikvY3B1X2toejsKKworCXNjaGVkX2Nsb2NrX2lkbGVfd2FrZXVwX2V2ZW50KDApOworCWxvY2FsX2lycV9yZXN0b3JlKGZsYWdzKTsKK30KKworI2lmZGVmIENPTkZJR19DUFVfRlJFUQorCisvKiBGcmVxdWVuY3kgc2NhbGluZyBzdXBwb3J0LiBBZGp1c3QgdGhlIFRTQyBiYXNlZCB0aW1lciB3aGVuIHRoZSBjcHUgZnJlcXVlbmN5CisgKiBjaGFuZ2VzLgorICoKKyAqIFJFRC1QRU46IE9uIFNNUCB3ZSBhc3N1bWUgYWxsIENQVXMgcnVuIHdpdGggdGhlIHNhbWUgZnJlcXVlbmN5LiAgSXQncworICogbm90IHRoYXQgaW1wb3J0YW50IGJlY2F1c2UgY3VycmVudCBPcHRlcm9uIHNldHVwcyBkbyBub3Qgc3VwcG9ydAorICogc2NhbGluZyBvbiBTTVAgYW55cm9hZHMuCisgKgorICogU2hvdWxkIGZpeCB1cCBsYXN0X3RzYyB0b28uIEN1cnJlbnRseSBnZXR0aW1lb2ZkYXkgaW4gdGhlCisgKiBmaXJzdCB0aWNrIGFmdGVyIHRoZSBjaGFuZ2Ugd2lsbCBiZSBzbGlnaHRseSB3cm9uZy4KKyAqLworCitzdGF0aWMgdW5zaWduZWQgaW50ICByZWZfZnJlcTsKK3N0YXRpYyB1bnNpZ25lZCBsb25nIGxvb3BzX3Blcl9qaWZmeV9yZWY7CitzdGF0aWMgdW5zaWduZWQgbG9uZyB0c2Nfa2h6X3JlZjsKKworc3RhdGljIGludCB0aW1lX2NwdWZyZXFfbm90aWZpZXIoc3RydWN0IG5vdGlmaWVyX2Jsb2NrICpuYiwgdW5zaWduZWQgbG9uZyB2YWwsCisJCQkJdm9pZCAqZGF0YSkKK3sKKwlzdHJ1Y3QgY3B1ZnJlcV9mcmVxcyAqZnJlcSA9IGRhdGE7CisJdW5zaWduZWQgbG9uZyAqbHBqLCBkdW1teTsKKworCWlmIChjcHVfaGFzKCZjcHVfZGF0YShmcmVxLT5jcHUpLCBYODZfRkVBVFVSRV9DT05TVEFOVF9UU0MpKQorCQlyZXR1cm4gMDsKKworCWxwaiA9ICZkdW1teTsKKwlpZiAoIShmcmVxLT5mbGFncyAmIENQVUZSRVFfQ09OU1RfTE9PUFMpKQorI2lmZGVmIENPTkZJR19TTVAKKwkJbHBqID0gJmNwdV9kYXRhKGZyZXEtPmNwdSkubG9vcHNfcGVyX2ppZmZ5OworI2Vsc2UKKwlscGogPSAmYm9vdF9jcHVfZGF0YS5sb29wc19wZXJfamlmZnk7CisjZW5kaWYKKworCWlmICghcmVmX2ZyZXEpIHsKKwkJcmVmX2ZyZXEgPSBmcmVxLT5vbGQ7CisJCWxvb3BzX3Blcl9qaWZmeV9yZWYgPSAqbHBqOworCQl0c2Nfa2h6X3JlZiA9IHRzY19raHo7CisJfQorCWlmICgodmFsID09IENQVUZSRVFfUFJFQ0hBTkdFICAmJiBmcmVxLT5vbGQgPCBmcmVxLT5uZXcpIHx8CisJCQkodmFsID09IENQVUZSRVFfUE9TVENIQU5HRSAmJiBmcmVxLT5vbGQgPiBmcmVxLT5uZXcpIHx8CisJCQkodmFsID09IENQVUZSRVFfUkVTVU1FQ0hBTkdFKSkgeworCQkqbHBqID0gCWNwdWZyZXFfc2NhbGUobG9vcHNfcGVyX2ppZmZ5X3JlZiwgcmVmX2ZyZXEsIGZyZXEtPm5ldyk7CisKKwkJdHNjX2toeiA9IGNwdWZyZXFfc2NhbGUodHNjX2toel9yZWYsIHJlZl9mcmVxLCBmcmVxLT5uZXcpOworCQlpZiAoIShmcmVxLT5mbGFncyAmIENQVUZSRVFfQ09OU1RfTE9PUFMpKQorCQkJbWFya190c2NfdW5zdGFibGUoImNwdWZyZXEgY2hhbmdlcyIpOworCX0KKworCXNldF9jeWMybnNfc2NhbGUodHNjX2toel9yZWYsIGZyZXEtPmNwdSk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHN0cnVjdCBub3RpZmllcl9ibG9jayB0aW1lX2NwdWZyZXFfbm90aWZpZXJfYmxvY2sgPSB7CisJLm5vdGlmaWVyX2NhbGwgID0gdGltZV9jcHVmcmVxX25vdGlmaWVyCit9OworCitzdGF0aWMgaW50IF9faW5pdCBjcHVmcmVxX3RzYyh2b2lkKQoreworCWNwdWZyZXFfcmVnaXN0ZXJfbm90aWZpZXIoJnRpbWVfY3B1ZnJlcV9ub3RpZmllcl9ibG9jaywKKwkJCQlDUFVGUkVRX1RSQU5TSVRJT05fTk9USUZJRVIpOworCXJldHVybiAwOworfQorCitjb3JlX2luaXRjYWxsKGNwdWZyZXFfdHNjKTsKKworI2VuZGlmIC8qIENPTkZJR19DUFVfRlJFUSAqLworCisvKiBjbG9ja3NvdXJjZSBjb2RlICovCisKK3N0YXRpYyBzdHJ1Y3QgY2xvY2tzb3VyY2UgY2xvY2tzb3VyY2VfdHNjOworCisvKgorICogV2UgY29tcGFyZSB0aGUgVFNDIHRvIHRoZSBjeWNsZV9sYXN0IHZhbHVlIGluIHRoZSBjbG9ja3NvdXJjZQorICogc3RydWN0dXJlIHRvIGF2b2lkIGEgbmFzdHkgdGltZS13YXJwLiBUaGlzIGNhbiBiZSBvYnNlcnZlZCBpbiBhCisgKiB2ZXJ5IHNtYWxsIHdpbmRvdyByaWdodCBhZnRlciBvbmUgQ1BVIHVwZGF0ZWQgY3ljbGVfbGFzdCB1bmRlcgorICogeHRpbWUvdnN5c2NhbGxfZ3RvZCBsb2NrIGFuZCB0aGUgb3RoZXIgQ1BVIHJlYWRzIGEgVFNDIHZhbHVlIHdoaWNoCisgKiBpcyBzbWFsbGVyIHRoYW4gdGhlIGN5Y2xlX2xhc3QgcmVmZXJlbmNlIHZhbHVlIGR1ZSB0byBhIFRTQyB3aGljaAorICogaXMgc2xpZ2h0eSBiZWhpbmQuIFRoaXMgZGVsdGEgaXMgbm93aGVyZSBlbHNlIG9ic2VydmFibGUsIGJ1dCBpbgorICogdGhhdCBjYXNlIGl0IHJlc3VsdHMgaW4gYSBmb3J3YXJkIHRpbWUganVtcCBpbiB0aGUgcmFuZ2Ugb2YgaG91cnMKKyAqIGR1ZSB0byB0aGUgdW5zaWduZWQgZGVsdGEgY2FsY3VsYXRpb24gb2YgdGhlIHRpbWUga2VlcGluZyBjb3JlCisgKiBjb2RlLCB3aGljaCBpcyBuZWNlc3NhcnkgdG8gc3VwcG9ydCB3cmFwcGluZyBjbG9ja3NvdXJjZXMgbGlrZSBwbQorICogdGltZXIuCisgKi8KK3N0YXRpYyBjeWNsZV90IHJlYWRfdHNjKHZvaWQpCit7CisJY3ljbGVfdCByZXQgPSAoY3ljbGVfdClnZXRfY3ljbGVzKCk7CisKKwlyZXR1cm4gcmV0ID49IGNsb2Nrc291cmNlX3RzYy5jeWNsZV9sYXN0ID8KKwkJcmV0IDogY2xvY2tzb3VyY2VfdHNjLmN5Y2xlX2xhc3Q7Cit9CisKK3N0YXRpYyBjeWNsZV90IF9fdnN5c2NhbGxfZm4gdnJlYWRfdHNjKHZvaWQpCit7CisJY3ljbGVfdCByZXQgPSAoY3ljbGVfdCl2Z2V0X2N5Y2xlcygpOworCisJcmV0dXJuIHJldCA+PSBfX3ZzeXNjYWxsX2d0b2RfZGF0YS5jbG9jay5jeWNsZV9sYXN0ID8KKwkJcmV0IDogX192c3lzY2FsbF9ndG9kX2RhdGEuY2xvY2suY3ljbGVfbGFzdDsKK30KKworc3RhdGljIHN0cnVjdCBjbG9ja3NvdXJjZSBjbG9ja3NvdXJjZV90c2MgPSB7CisJLm5hbWUgICAgICAgICAgICAgICAgICAgPSAidHNjIiwKKwkucmF0aW5nICAgICAgICAgICAgICAgICA9IDMwMCwKKwkucmVhZCAgICAgICAgICAgICAgICAgICA9IHJlYWRfdHNjLAorCS5tYXNrICAgICAgICAgICAgICAgICAgID0gQ0xPQ0tTT1VSQ0VfTUFTSyg2NCksCisJLnNoaWZ0ICAgICAgICAgICAgICAgICAgPSAyMiwKKwkuZmxhZ3MgICAgICAgICAgICAgICAgICA9IENMT0NLX1NPVVJDRV9JU19DT05USU5VT1VTIHwKKwkJCQkgIENMT0NLX1NPVVJDRV9NVVNUX1ZFUklGWSwKKyNpZmRlZiBDT05GSUdfWDg2XzY0CisJLnZyZWFkICAgICAgICAgICAgICAgICAgPSB2cmVhZF90c2MsCisjZW5kaWYKK307CisKK3ZvaWQgbWFya190c2NfdW5zdGFibGUoY2hhciAqcmVhc29uKQoreworCWlmICghdHNjX3Vuc3RhYmxlKSB7CisJCXRzY191bnN0YWJsZSA9IDE7CisJCXByaW50aygiTWFya2luZyBUU0MgdW5zdGFibGUgZHVlIHRvICVzXG4iLCByZWFzb24pOworCQkvKiBDaGFuZ2Ugb25seSB0aGUgcmF0aW5nLCB3aGVuIG5vdCByZWdpc3RlcmVkICovCisJCWlmIChjbG9ja3NvdXJjZV90c2MubXVsdCkKKwkJCWNsb2Nrc291cmNlX2NoYW5nZV9yYXRpbmcoJmNsb2Nrc291cmNlX3RzYywgMCk7CisJCWVsc2UKKwkJCWNsb2Nrc291cmNlX3RzYy5yYXRpbmcgPSAwOworCX0KK30KKworRVhQT1JUX1NZTUJPTF9HUEwobWFya190c2NfdW5zdGFibGUpOworCitzdGF0aWMgaW50IF9faW5pdCBkbWlfbWFya190c2NfdW5zdGFibGUoY29uc3Qgc3RydWN0IGRtaV9zeXN0ZW1faWQgKmQpCit7CisJcHJpbnRrKEtFUk5fTk9USUNFICIlcyBkZXRlY3RlZDogbWFya2luZyBUU0MgdW5zdGFibGUuXG4iLAorCQkJZC0+aWRlbnQpOworCXRzY191bnN0YWJsZSA9IDE7CisJcmV0dXJuIDA7Cit9CisKKy8qIExpc3Qgb2Ygc3lzdGVtcyB0aGF0IGhhdmUga25vd24gVFNDIHByb2JsZW1zICovCitzdGF0aWMgc3RydWN0IGRtaV9zeXN0ZW1faWQgX19pbml0ZGF0YSBiYWRfdHNjX2RtaV90YWJsZVtdID0geworCXsKKwkJLmNhbGxiYWNrID0gZG1pX21hcmtfdHNjX3Vuc3RhYmxlLAorCQkuaWRlbnQgPSAiSUJNIFRoaW5rcGFkIDM4MFhEIiwKKwkJLm1hdGNoZXMgPSB7CisJCQlETUlfTUFUQ0goRE1JX0JPQVJEX1ZFTkRPUiwgIklCTSIpLAorCQkJRE1JX01BVENIKERNSV9CT0FSRF9OQU1FLCAiMjYzNUZBMCIpLAorCQl9LAorCX0sCisJe30KK307CisKKy8qCisgKiBHZW9kZV9MWCAtIHRoZSBPTFBDIENQVSBoYXMgYSBwb3NzaWJseSBhIHZlcnkgcmVsaWFibGUgVFNDCisgKi8KKyNpZmRlZiBDT05GSUdfTUdFT0RFX0xYCisvKiBSVFNDIGNvdW50cyBkdXJpbmcgc3VzcGVuZCAqLworI2RlZmluZSBSVFNDX1NVU1AgMHgxMDAKKworc3RhdGljIHZvaWQgX19pbml0IGNoZWNrX2dlb2RlX3RzY19yZWxpYWJsZSh2b2lkKQoreworCXVuc2lnbmVkIGxvbmcgcmVzX2xvdywgcmVzX2hpZ2g7CisKKwlyZG1zcl9zYWZlKE1TUl9HRU9ERV9CVVNDT05UX0NPTkYwLCAmcmVzX2xvdywgJnJlc19oaWdoKTsKKwlpZiAocmVzX2xvdyAmIFJUU0NfU1VTUCkKKwkJY2xvY2tzb3VyY2VfdHNjLmZsYWdzICY9IH5DTE9DS19TT1VSQ0VfTVVTVF9WRVJJRlk7Cit9CisjZWxzZQorc3RhdGljIGlubGluZSB2b2lkIGNoZWNrX2dlb2RlX3RzY19yZWxpYWJsZSh2b2lkKSB7IH0KKyNlbmRpZgorCisvKgorICogTWFrZSBhbiBlZHVjYXRlZCBndWVzcyBpZiB0aGUgVFNDIGlzIHRydXN0d29ydGh5IGFuZCBzeW5jaHJvbml6ZWQKKyAqIG92ZXIgYWxsIENQVXMuCisgKi8KK19fY3B1aW5pdCBpbnQgdW5zeW5jaHJvbml6ZWRfdHNjKHZvaWQpCit7CisJaWYgKCFjcHVfaGFzX3RzYyB8fCB0c2NfdW5zdGFibGUpCisJCXJldHVybiAxOworCisjaWZkZWYgQ09ORklHX1NNUAorCWlmIChhcGljX2lzX2NsdXN0ZXJlZF9ib3goKSkKKwkJcmV0dXJuIDE7CisjZW5kaWYKKworCWlmIChib290X2NwdV9oYXMoWDg2X0ZFQVRVUkVfQ09OU1RBTlRfVFNDKSkKKwkJcmV0dXJuIDA7CisJLyoKKwkgKiBJbnRlbCBzeXN0ZW1zIGFyZSBub3JtYWxseSBhbGwgc3luY2hyb25pemVkLgorCSAqIEV4Y2VwdGlvbnMgbXVzdCBtYXJrIFRTQyBhcyB1bnN0YWJsZToKKwkgKi8KKwlpZiAoYm9vdF9jcHVfZGF0YS54ODZfdmVuZG9yICE9IFg4Nl9WRU5ET1JfSU5URUwpIHsKKwkJLyogYXNzdW1lIG11bHRpIHNvY2tldCBzeXN0ZW1zIGFyZSBub3Qgc3luY2hyb25pemVkOiAqLworCQlpZiAobnVtX3Bvc3NpYmxlX2NwdXMoKSA+IDEpCisJCQl0c2NfdW5zdGFibGUgPSAxOworCX0KKworCXJldHVybiB0c2NfdW5zdGFibGU7Cit9CisKK3N0YXRpYyB2b2lkIF9faW5pdCBpbml0X3RzY19jbG9ja3NvdXJjZSh2b2lkKQoreworCWNsb2Nrc291cmNlX3RzYy5tdWx0ID0gY2xvY2tzb3VyY2Vfa2h6Mm11bHQodHNjX2toeiwKKwkJCWNsb2Nrc291cmNlX3RzYy5zaGlmdCk7CisJLyogbG93ZXIgdGhlIHJhdGluZyBpZiB3ZSBhbHJlYWR5IGtub3cgaXRzIHVuc3RhYmxlOiAqLworCWlmIChjaGVja190c2NfdW5zdGFibGUoKSkgeworCQljbG9ja3NvdXJjZV90c2MucmF0aW5nID0gMDsKKwkJY2xvY2tzb3VyY2VfdHNjLmZsYWdzICY9IH5DTE9DS19TT1VSQ0VfSVNfQ09OVElOVU9VUzsKKwl9CisJY2xvY2tzb3VyY2VfcmVnaXN0ZXIoJmNsb2Nrc291cmNlX3RzYyk7Cit9CisKK3ZvaWQgX19pbml0IHRzY19pbml0KHZvaWQpCit7CisJdTY0IGxwajsKKwlpbnQgY3B1OworCisJaWYgKCFjcHVfaGFzX3RzYykKKwkJcmV0dXJuOworCisJdHNjX2toeiA9IGNhbGlicmF0ZV90c2MoKTsKKwljcHVfa2h6ID0gdHNjX2toejsKKworCWlmICghdHNjX2toeikgeworCQltYXJrX3RzY191bnN0YWJsZSgiY291bGQgbm90IGNhbGN1bGF0ZSBUU0Mga2h6Iik7CisJCXJldHVybjsKKwl9CisKKyNpZmRlZiBDT05GSUdfWDg2XzY0CisJaWYgKGNwdV9oYXMoJmJvb3RfY3B1X2RhdGEsIFg4Nl9GRUFUVVJFX0NPTlNUQU5UX1RTQykgJiYKKwkJCShib290X2NwdV9kYXRhLng4Nl92ZW5kb3IgPT0gWDg2X1ZFTkRPUl9BTUQpKQorCQljcHVfa2h6ID0gY2FsaWJyYXRlX2NwdSgpOworI2VuZGlmCisKKwlscGogPSAoKHU2NCl0c2Nfa2h6ICogMTAwMCk7CisJZG9fZGl2KGxwaiwgSFopOworCWxwal9maW5lID0gbHBqOworCisJcHJpbnRrKCJEZXRlY3RlZCAlbHUuJTAzbHUgTUh6IHByb2Nlc3Nvci5cbiIsCisJCQkodW5zaWduZWQgbG9uZyljcHVfa2h6IC8gMTAwMCwKKwkJCSh1bnNpZ25lZCBsb25nKWNwdV9raHogJSAxMDAwKTsKKworCS8qCisJICogU2Vjb25kYXJ5IENQVXMgZG8gbm90IHJ1biB0aHJvdWdoIHRzY19pbml0KCksIHNvIHNldCB1cAorCSAqIGFsbCB0aGUgc2NhbGUgZmFjdG9ycyBmb3IgYWxsIENQVXMsIGFzc3VtaW5nIHRoZSBzYW1lCisJICogc3BlZWQgYXMgdGhlIGJvb3R1cCBDUFUuIChjcHVmcmVxIG5vdGlmaWVycyB3aWxsIGZpeCB0aGlzCisJICogdXAgaWYgdGhlaXIgc3BlZWQgZGl2ZXJnZXMpCisJICovCisJZm9yX2VhY2hfcG9zc2libGVfY3B1KGNwdSkKKwkJc2V0X2N5YzJuc19zY2FsZShjcHVfa2h6LCBjcHUpOworCisJaWYgKHRzY19kaXNhYmxlZCA+IDApCisJCXJldHVybjsKKworCS8qIG5vdyBhbGxvdyBuYXRpdmVfc2NoZWRfY2xvY2soKSB0byB1c2UgcmR0c2MgKi8KKwl0c2NfZGlzYWJsZWQgPSAwOworCisJdXNlX3RzY19kZWxheSgpOworCS8qIENoZWNrIGFuZCBpbnN0YWxsIHRoZSBUU0MgY2xvY2tzb3VyY2UgKi8KKwlkbWlfY2hlY2tfc3lzdGVtKGJhZF90c2NfZG1pX3RhYmxlKTsKKworCWlmICh1bnN5bmNocm9uaXplZF90c2MoKSkKKwkJbWFya190c2NfdW5zdGFibGUoIlRTQ3MgdW5zeW5jaHJvbml6ZWQiKTsKKworCWNoZWNrX2dlb2RlX3RzY19yZWxpYWJsZSgpOworCWluaXRfdHNjX2Nsb2Nrc291cmNlKCk7Cit9CisKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC90c2NfMzIuYyBiL2FyY2gveDg2L2tlcm5lbC90c2NfMzIuYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjViNzA2My4uMDAwMDAwMAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvdHNjXzMyLmMKKysrIC9kZXYvbnVsbApAQCAtMSw0NTEgKzAsMCBAQAotI2luY2x1ZGUgPGxpbnV4L3NjaGVkLmg+Ci0jaW5jbHVkZSA8bGludXgvY2xvY2tzb3VyY2UuaD4KLSNpbmNsdWRlIDxsaW51eC93b3JrcXVldWUuaD4KLSNpbmNsdWRlIDxsaW51eC9jcHVmcmVxLmg+Ci0jaW5jbHVkZSA8bGludXgvamlmZmllcy5oPgotI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KLSNpbmNsdWRlIDxsaW51eC9kbWkuaD4KLSNpbmNsdWRlIDxsaW51eC9wZXJjcHUuaD4KLQotI2luY2x1ZGUgPGFzbS9kZWxheS5oPgotI2luY2x1ZGUgPGFzbS90c2MuaD4KLSNpbmNsdWRlIDxhc20vaW8uaD4KLSNpbmNsdWRlIDxhc20vdGltZXIuaD4KLQotI2luY2x1ZGUgIm1hY2hfdGltZXIuaCIKLQotLyogbmF0aXZlX3NjaGVkX2Nsb2NrKCkgaXMgY2FsbGVkIGJlZm9yZSB0c2NfaW5pdCgpLCBzbwotICAgd2UgbXVzdCBzdGFydCB3aXRoIHRoZSBUU0Mgc29mdCBkaXNhYmxlZCB0byBwcmV2ZW50Ci0gICBlcnJvbmVvdXMgcmR0c2MgdXNhZ2Ugb24gIWNwdV9oYXNfdHNjIHByb2Nlc3NvcnMgKi8KLXN0YXRpYyBpbnQgdHNjX2Rpc2FibGVkID0gLTE7Ci0KLS8qCi0gKiBPbiBzb21lIHN5c3RlbXMgdGhlIFRTQyBmcmVxdWVuY3kgZG9lcyBub3QKLSAqIGNoYW5nZSB3aXRoIHRoZSBjcHUgZnJlcXVlbmN5LiBTbyB3ZSBuZWVkCi0gKiBhbiBleHRyYSB2YWx1ZSB0byBzdG9yZSB0aGUgVFNDIGZyZXEKLSAqLwotdW5zaWduZWQgaW50IHRzY19raHo7Ci1FWFBPUlRfU1lNQk9MX0dQTCh0c2Nfa2h6KTsKLQotI2lmZGVmIENPTkZJR19YODZfVFNDCi1zdGF0aWMgaW50IF9faW5pdCB0c2Nfc2V0dXAoY2hhciAqc3RyKQotewotCXByaW50ayhLRVJOX1dBUk5JTkcgIm5vdHNjOiBLZXJuZWwgY29tcGlsZWQgd2l0aCBDT05GSUdfWDg2X1RTQywgIgotCSAgICAgICAiY2Fubm90IGRpc2FibGUgVFNDIGNvbXBsZXRlbHkuXG4iKTsKLQl0c2NfZGlzYWJsZWQgPSAxOwotCXJldHVybiAxOwotfQotI2Vsc2UKLS8qCi0gKiBkaXNhYmxlIGZsYWcgZm9yIHRzYy4gVGFrZXMgZWZmZWN0IGJ5IGNsZWFyaW5nIHRoZSBUU0MgY3B1IGZsYWcKLSAqIGluIGNwdS9jb21tb24uYwotICovCi1zdGF0aWMgaW50IF9faW5pdCB0c2Nfc2V0dXAoY2hhciAqc3RyKQotewotCXNldHVwX2NsZWFyX2NwdV9jYXAoWDg2X0ZFQVRVUkVfVFNDKTsKLQlyZXR1cm4gMTsKLX0KLSNlbmRpZgotCi1fX3NldHVwKCJub3RzYyIsIHRzY19zZXR1cCk7Ci0KLS8qCi0gKiBjb2RlIHRvIG1hcmsgYW5kIGNoZWNrIGlmIHRoZSBUU0MgaXMgdW5zdGFibGUKLSAqIGR1ZSB0byBjcHVmcmVxIG9yIGR1ZSB0byB1bnN5bmNlZCBUU0NzCi0gKi8KLXN0YXRpYyBpbnQgdHNjX3Vuc3RhYmxlOwotCi1pbnQgY2hlY2tfdHNjX3Vuc3RhYmxlKHZvaWQpCi17Ci0JcmV0dXJuIHRzY191bnN0YWJsZTsKLX0KLUVYUE9SVF9TWU1CT0xfR1BMKGNoZWNrX3RzY191bnN0YWJsZSk7Ci0KLS8qIEFjY2VsZXJhdG9ycyBmb3Igc2NoZWRfY2xvY2soKQotICogY29udmVydCBmcm9tIGN5Y2xlcyg2NGJpdHMpID0+IG5hbm9zZWNvbmRzICg2NGJpdHMpCi0gKiAgYmFzaWMgZXF1YXRpb246Ci0gKgkJbnMgPSBjeWNsZXMgLyAoZnJlcSAvIG5zX3Blcl9zZWMpCi0gKgkJbnMgPSBjeWNsZXMgKiAobnNfcGVyX3NlYyAvIGZyZXEpCi0gKgkJbnMgPSBjeWNsZXMgKiAoMTBeOSAvIChjcHVfa2h6ICogMTBeMykpCi0gKgkJbnMgPSBjeWNsZXMgKiAoMTBeNiAvIGNwdV9raHopCi0gKgotICoJVGhlbiB3ZSB1c2Ugc2NhbGluZyBtYXRoIChzdWdnZXN0ZWQgYnkgZ2VvcmdlQG12aXN0YS5jb20pIHRvIGdldDoKLSAqCQlucyA9IGN5Y2xlcyAqICgxMF42ICogU0MgLyBjcHVfa2h6KSAvIFNDCi0gKgkJbnMgPSBjeWNsZXMgKiBjeWMybnNfc2NhbGUgLyBTQwotICoKLSAqCUFuZCBzaW5jZSBTQyBpcyBhIGNvbnN0YW50IHBvd2VyIG9mIHR3bywgd2UgY2FuIGNvbnZlcnQgdGhlIGRpdgotICogIGludG8gYSBzaGlmdC4KLSAqCi0gKiAgV2UgY2FuIHVzZSBraHogZGl2aXNvciBpbnN0ZWFkIG9mIG1oeiB0byBrZWVwIGEgYmV0dGVyIHByZWNpc2lvbiwgc2luY2UKLSAqICBjeWMybnNfc2NhbGUgaXMgbGltaXRlZCB0byAxMF42ICogMl4xMCwgd2hpY2ggZml0cyBpbiAzMiBiaXRzLgotICogIChtYXRoaWV1LmRlc25veWVyc0Bwb2x5bXRsLmNhKQotICoKLSAqCQkJLWpvaG5zdHVsQHVzLmlibS5jb20gIm1hdGggaXMgaGFyZCwgbGV0cyBnbyBzaG9wcGluZyEiCi0gKi8KLQotREVGSU5FX1BFUl9DUFUodW5zaWduZWQgbG9uZywgY3ljMm5zKTsKLQotc3RhdGljIHZvaWQgc2V0X2N5YzJuc19zY2FsZSh1bnNpZ25lZCBsb25nIGNwdV9raHosIGludCBjcHUpCi17Ci0JdW5zaWduZWQgbG9uZyBsb25nIHRzY19ub3csIG5zX25vdzsKLQl1bnNpZ25lZCBsb25nIGZsYWdzLCAqc2NhbGU7Ci0KLQlsb2NhbF9pcnFfc2F2ZShmbGFncyk7Ci0Jc2NoZWRfY2xvY2tfaWRsZV9zbGVlcF9ldmVudCgpOwotCi0Jc2NhbGUgPSAmcGVyX2NwdShjeWMybnMsIGNwdSk7Ci0KLQlyZHRzY2xsKHRzY19ub3cpOwotCW5zX25vdyA9IF9fY3ljbGVzXzJfbnModHNjX25vdyk7Ci0KLQlpZiAoY3B1X2toeikKLQkJKnNjYWxlID0gKE5TRUNfUEVSX01TRUMgPDwgQ1lDMk5TX1NDQUxFX0ZBQ1RPUikvY3B1X2toejsKLQotCS8qCi0JICogU3RhcnQgc21vb3RobHkgd2l0aCB0aGUgbmV3IGZyZXF1ZW5jeToKLQkgKi8KLQlzY2hlZF9jbG9ja19pZGxlX3dha2V1cF9ldmVudCgwKTsKLQlsb2NhbF9pcnFfcmVzdG9yZShmbGFncyk7Ci19Ci0KLS8qCi0gKiBTY2hlZHVsZXIgY2xvY2sgLSByZXR1cm5zIGN1cnJlbnQgdGltZSBpbiBuYW5vc2VjIHVuaXRzLgotICovCi11bnNpZ25lZCBsb25nIGxvbmcgbmF0aXZlX3NjaGVkX2Nsb2NrKHZvaWQpCi17Ci0JdW5zaWduZWQgbG9uZyBsb25nIHRoaXNfb2Zmc2V0OwotCi0JLyoKLQkgKiBGYWxsIGJhY2sgdG8gamlmZmllcyBpZiB0aGVyZSdzIG5vIFRTQyBhdmFpbGFibGU6Ci0JICogKCBCdXQgbm90ZSB0aGF0IHdlIHN0aWxsIHVzZSBpdCBpZiB0aGUgVFNDIGlzIG1hcmtlZAotCSAqICAgdW5zdGFibGUuIFdlIGRvIHRoaXMgYmVjYXVzZSB1bmxpa2UgVGltZSBPZiBEYXksCi0JICogICB0aGUgc2NoZWR1bGVyIGNsb2NrIHRvbGVyYXRlcyBzbWFsbCBlcnJvcnMgYW5kIGl0J3MKLQkgKiAgIHZlcnkgaW1wb3J0YW50IGZvciBpdCB0byBiZSBhcyBmYXN0IGFzIHRoZSBwbGF0Zm9ybQotCSAqICAgY2FuIGFjaGl2ZSBpdC4gKQotCSAqLwotCWlmICh1bmxpa2VseSh0c2NfZGlzYWJsZWQpKQotCQkvKiBObyBsb2NraW5nIGJ1dCBhIHJhcmUgd3JvbmcgdmFsdWUgaXMgbm90IGEgYmlnIGRlYWw6ICovCi0JCXJldHVybiAoamlmZmllc182NCAtIElOSVRJQUxfSklGRklFUykgKiAoMTAwMDAwMDAwMCAvIEhaKTsKLQotCS8qIHJlYWQgdGhlIFRpbWUgU3RhbXAgQ291bnRlcjogKi8KLQlyZHRzY2xsKHRoaXNfb2Zmc2V0KTsKLQotCS8qIHJldHVybiB0aGUgdmFsdWUgaW4gbnMgKi8KLQlyZXR1cm4gY3ljbGVzXzJfbnModGhpc19vZmZzZXQpOwotfQotCi0vKiBXZSBuZWVkIHRvIGRlZmluZSBhIHJlYWwgZnVuY3Rpb24gZm9yIHNjaGVkX2Nsb2NrLCB0byBvdmVycmlkZSB0aGUKLSAgIHdlYWsgZGVmYXVsdCB2ZXJzaW9uICovCi0jaWZkZWYgQ09ORklHX1BBUkFWSVJUCi11bnNpZ25lZCBsb25nIGxvbmcgc2NoZWRfY2xvY2sodm9pZCkKLXsKLQlyZXR1cm4gcGFyYXZpcnRfc2NoZWRfY2xvY2soKTsKLX0KLSNlbHNlCi11bnNpZ25lZCBsb25nIGxvbmcgc2NoZWRfY2xvY2sodm9pZCkKLQlfX2F0dHJpYnV0ZV9fKChhbGlhcygibmF0aXZlX3NjaGVkX2Nsb2NrIikpKTsKLSNlbmRpZgotCi11bnNpZ25lZCBsb25nIG5hdGl2ZV9jYWxjdWxhdGVfY3B1X2toeih2b2lkKQotewotCXVuc2lnbmVkIGxvbmcgbG9uZyBzdGFydCwgZW5kOwotCXVuc2lnbmVkIGxvbmcgY291bnQ7Ci0JdTY0IGRlbHRhNjQgPSAodTY0KVVMTE9OR19NQVg7Ci0JaW50IGk7Ci0JdW5zaWduZWQgbG9uZyBmbGFnczsKLQotCWxvY2FsX2lycV9zYXZlKGZsYWdzKTsKLQotCS8qIHJ1biAzIHRpbWVzIHRvIGVuc3VyZSB0aGUgY2FjaGUgaXMgd2FybSBhbmQgdG8gZ2V0IGFuIGFjY3VyYXRlIHJlYWRpbmcgKi8KLQlmb3IgKGkgPSAwOyBpIDwgMzsgaSsrKSB7Ci0JCW1hY2hfcHJlcGFyZV9jb3VudGVyKCk7Ci0JCXJkdHNjbGwoc3RhcnQpOwotCQltYWNoX2NvdW50dXAoJmNvdW50KTsKLQkJcmR0c2NsbChlbmQpOwotCi0JCS8qCi0JCSAqIEVycm9yOiBFQ1RDTkVWRVJTRVQKLQkJICogVGhlIENUQyB3YXNuJ3QgcmVsaWFibGU6IHdlIGdvdCBhIGhpdCBvbiB0aGUgdmVyeSBmaXJzdCByZWFkLAotCQkgKiBvciB0aGUgQ1BVIHdhcyBzbyBmYXN0L3Nsb3cgdGhhdCB0aGUgcXVvdGllbnQgd291bGRuJ3QgZml0IGluCi0JCSAqIDMyIGJpdHMuLgotCQkgKi8KLQkJaWYgKGNvdW50IDw9IDEpCi0JCQljb250aW51ZTsKLQotCQkvKiBjcHUgZnJlcSB0b28gc2xvdzogKi8KLQkJaWYgKChlbmQgLSBzdGFydCkgPD0gQ0FMSUJSQVRFX1RJTUVfTVNFQykKLQkJCWNvbnRpbnVlOwotCi0JCS8qCi0JCSAqIFdlIHdhbnQgdGhlIG1pbmltdW0gdGltZSBvZiBhbGwgcnVucyBpbiBjYXNlIG9uZSBvZiB0aGVtCi0JCSAqIGlzIGluYWNjdXJhdGUgZHVlIHRvIFNNSSBvciBvdGhlciBkZWxheQotCQkgKi8KLQkJZGVsdGE2NCA9IG1pbihkZWx0YTY0LCAoZW5kIC0gc3RhcnQpKTsKLQl9Ci0KLQkvKiBjcHUgZnJlcSB0b28gZmFzdCAob3IgZXZlcnkgcnVuIHdhcyBiYWQpOiAqLwotCWlmIChkZWx0YTY0ID4gKDFVTEw8PDMyKSkKLQkJZ290byBlcnI7Ci0KLQlkZWx0YTY0ICs9IENBTElCUkFURV9USU1FX01TRUMvMjsgLyogcm91bmQgZm9yIGRvX2RpdiAqLwotCWRvX2RpdihkZWx0YTY0LENBTElCUkFURV9USU1FX01TRUMpOwotCi0JbG9jYWxfaXJxX3Jlc3RvcmUoZmxhZ3MpOwotCXJldHVybiAodW5zaWduZWQgbG9uZylkZWx0YTY0OwotZXJyOgotCWxvY2FsX2lycV9yZXN0b3JlKGZsYWdzKTsKLQlyZXR1cm4gMDsKLX0KLQotaW50IHJlY2FsaWJyYXRlX2NwdV9raHoodm9pZCkKLXsKLSNpZm5kZWYgQ09ORklHX1NNUAotCXVuc2lnbmVkIGxvbmcgY3B1X2toel9vbGQgPSBjcHVfa2h6OwotCi0JaWYgKGNwdV9oYXNfdHNjKSB7Ci0JCWNwdV9raHogPSBjYWxjdWxhdGVfY3B1X2toeigpOwotCQl0c2Nfa2h6ID0gY3B1X2toejsKLQkJY3B1X2RhdGEoMCkubG9vcHNfcGVyX2ppZmZ5ID0KLQkJCWNwdWZyZXFfc2NhbGUoY3B1X2RhdGEoMCkubG9vcHNfcGVyX2ppZmZ5LAotCQkJCQljcHVfa2h6X29sZCwgY3B1X2toeik7Ci0JCXJldHVybiAwOwotCX0gZWxzZQotCQlyZXR1cm4gLUVOT0RFVjsKLSNlbHNlCi0JcmV0dXJuIC1FTk9ERVY7Ci0jZW5kaWYKLX0KLQotRVhQT1JUX1NZTUJPTChyZWNhbGlicmF0ZV9jcHVfa2h6KTsKLQotI2lmZGVmIENPTkZJR19DUFVfRlJFUQotCi0vKgotICogaWYgdGhlIENQVSBmcmVxdWVuY3kgaXMgc2NhbGVkLCBUU0MtYmFzZWQgZGVsYXlzIHdpbGwgbmVlZCBhIGRpZmZlcmVudAotICogbG9vcHNfcGVyX2ppZmZ5IHZhbHVlIHRvIGZ1bmN0aW9uIHByb3Blcmx5LgotICovCi1zdGF0aWMgdW5zaWduZWQgaW50IHJlZl9mcmVxOwotc3RhdGljIHVuc2lnbmVkIGxvbmcgbG9vcHNfcGVyX2ppZmZ5X3JlZjsKLXN0YXRpYyB1bnNpZ25lZCBsb25nIGNwdV9raHpfcmVmOwotCi1zdGF0aWMgaW50Ci10aW1lX2NwdWZyZXFfbm90aWZpZXIoc3RydWN0IG5vdGlmaWVyX2Jsb2NrICpuYiwgdW5zaWduZWQgbG9uZyB2YWwsIHZvaWQgKmRhdGEpCi17Ci0Jc3RydWN0IGNwdWZyZXFfZnJlcXMgKmZyZXEgPSBkYXRhOwotCi0JaWYgKCFyZWZfZnJlcSkgewotCQlpZiAoIWZyZXEtPm9sZCl7Ci0JCQlyZWZfZnJlcSA9IGZyZXEtPm5ldzsKLQkJCXJldHVybiAwOwotCQl9Ci0JCXJlZl9mcmVxID0gZnJlcS0+b2xkOwotCQlsb29wc19wZXJfamlmZnlfcmVmID0gY3B1X2RhdGEoZnJlcS0+Y3B1KS5sb29wc19wZXJfamlmZnk7Ci0JCWNwdV9raHpfcmVmID0gY3B1X2toejsKLQl9Ci0KLQlpZiAoKHZhbCA9PSBDUFVGUkVRX1BSRUNIQU5HRSAgJiYgZnJlcS0+b2xkIDwgZnJlcS0+bmV3KSB8fAotCSAgICAodmFsID09IENQVUZSRVFfUE9TVENIQU5HRSAmJiBmcmVxLT5vbGQgPiBmcmVxLT5uZXcpIHx8Ci0JICAgICh2YWwgPT0gQ1BVRlJFUV9SRVNVTUVDSEFOR0UpKSB7Ci0JCWlmICghKGZyZXEtPmZsYWdzICYgQ1BVRlJFUV9DT05TVF9MT09QUykpCi0JCQljcHVfZGF0YShmcmVxLT5jcHUpLmxvb3BzX3Blcl9qaWZmeSA9Ci0JCQkJY3B1ZnJlcV9zY2FsZShsb29wc19wZXJfamlmZnlfcmVmLAotCQkJCQkJcmVmX2ZyZXEsIGZyZXEtPm5ldyk7Ci0KLQkJaWYgKGNwdV9raHopIHsKLQotCQkJaWYgKG51bV9vbmxpbmVfY3B1cygpID09IDEpCi0JCQkJY3B1X2toeiA9IGNwdWZyZXFfc2NhbGUoY3B1X2toel9yZWYsCi0JCQkJCQlyZWZfZnJlcSwgZnJlcS0+bmV3KTsKLQkJCWlmICghKGZyZXEtPmZsYWdzICYgQ1BVRlJFUV9DT05TVF9MT09QUykpIHsKLQkJCQl0c2Nfa2h6ID0gY3B1X2toejsKLQkJCQlzZXRfY3ljMm5zX3NjYWxlKGNwdV9raHosIGZyZXEtPmNwdSk7Ci0JCQkJLyoKLQkJCQkgKiBUU0MgYmFzZWQgc2NoZWRfY2xvY2sgdHVybnMKLQkJCQkgKiB0byBqdW5rIHcvIGNwdWZyZXEKLQkJCQkgKi8KLQkJCQltYXJrX3RzY191bnN0YWJsZSgiY3B1ZnJlcSBjaGFuZ2VzIik7Ci0JCQl9Ci0JCX0KLQl9Ci0KLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIHN0cnVjdCBub3RpZmllcl9ibG9jayB0aW1lX2NwdWZyZXFfbm90aWZpZXJfYmxvY2sgPSB7Ci0JLm5vdGlmaWVyX2NhbGwJPSB0aW1lX2NwdWZyZXFfbm90aWZpZXIKLX07Ci0KLXN0YXRpYyBpbnQgX19pbml0IGNwdWZyZXFfdHNjKHZvaWQpCi17Ci0JcmV0dXJuIGNwdWZyZXFfcmVnaXN0ZXJfbm90aWZpZXIoJnRpbWVfY3B1ZnJlcV9ub3RpZmllcl9ibG9jaywKLQkJCQkJIENQVUZSRVFfVFJBTlNJVElPTl9OT1RJRklFUik7Ci19Ci1jb3JlX2luaXRjYWxsKGNwdWZyZXFfdHNjKTsKLQotI2VuZGlmCi0KLS8qIGNsb2NrIHNvdXJjZSBjb2RlICovCi0KLXN0YXRpYyB1bnNpZ25lZCBsb25nIGN1cnJlbnRfdHNjX2toejsKLXN0YXRpYyBzdHJ1Y3QgY2xvY2tzb3VyY2UgY2xvY2tzb3VyY2VfdHNjOwotCi0vKgotICogV2UgY29tcGFyZSB0aGUgVFNDIHRvIHRoZSBjeWNsZV9sYXN0IHZhbHVlIGluIHRoZSBjbG9ja3NvdXJjZQotICogc3RydWN0dXJlIHRvIGF2b2lkIGEgbmFzdHkgdGltZS13YXJwIGlzc3VlLiBUaGlzIGNhbiBiZSBvYnNlcnZlZCBpbgotICogYSB2ZXJ5IHNtYWxsIHdpbmRvdyByaWdodCBhZnRlciBvbmUgQ1BVIHVwZGF0ZWQgY3ljbGVfbGFzdCB1bmRlcgotICogeHRpbWUgbG9jayBhbmQgdGhlIG90aGVyIENQVSByZWFkcyBhIFRTQyB2YWx1ZSB3aGljaCBpcyBzbWFsbGVyCi0gKiB0aGFuIHRoZSBjeWNsZV9sYXN0IHJlZmVyZW5jZSB2YWx1ZSBkdWUgdG8gYSBUU0Mgd2hpY2ggaXMgc2xpZ2h0eQotICogYmVoaW5kLiBUaGlzIGRlbHRhIGlzIG5vd2hlcmUgZWxzZSBvYnNlcnZhYmxlLCBidXQgaW4gdGhhdCBjYXNlIGl0Ci0gKiByZXN1bHRzIGluIGEgZm9yd2FyZCB0aW1lIGp1bXAgaW4gdGhlIHJhbmdlIG9mIGhvdXJzIGR1ZSB0byB0aGUKLSAqIHVuc2lnbmVkIGRlbHRhIGNhbGN1bGF0aW9uIG9mIHRoZSB0aW1lIGtlZXBpbmcgY29yZSBjb2RlLCB3aGljaCBpcwotICogbmVjZXNzYXJ5IHRvIHN1cHBvcnQgd3JhcHBpbmcgY2xvY2tzb3VyY2VzIGxpa2UgcG0gdGltZXIuCi0gKi8KLXN0YXRpYyBjeWNsZV90IHJlYWRfdHNjKHZvaWQpCi17Ci0JY3ljbGVfdCByZXQ7Ci0KLQlyZHRzY2xsKHJldCk7Ci0KLQlyZXR1cm4gcmV0ID49IGNsb2Nrc291cmNlX3RzYy5jeWNsZV9sYXN0ID8KLQkJcmV0IDogY2xvY2tzb3VyY2VfdHNjLmN5Y2xlX2xhc3Q7Ci19Ci0KLXN0YXRpYyBzdHJ1Y3QgY2xvY2tzb3VyY2UgY2xvY2tzb3VyY2VfdHNjID0gewotCS5uYW1lCQkJPSAidHNjIiwKLQkucmF0aW5nCQkJPSAzMDAsCi0JLnJlYWQJCQk9IHJlYWRfdHNjLAotCS5tYXNrCQkJPSBDTE9DS1NPVVJDRV9NQVNLKDY0KSwKLQkubXVsdAkJCT0gMCwgLyogdG8gYmUgc2V0ICovCi0JLnNoaWZ0CQkJPSAyMiwKLQkuZmxhZ3MJCQk9IENMT0NLX1NPVVJDRV9JU19DT05USU5VT1VTIHwKLQkJCQkgIENMT0NLX1NPVVJDRV9NVVNUX1ZFUklGWSwKLX07Ci0KLXZvaWQgbWFya190c2NfdW5zdGFibGUoY2hhciAqcmVhc29uKQotewotCWlmICghdHNjX3Vuc3RhYmxlKSB7Ci0JCXRzY191bnN0YWJsZSA9IDE7Ci0JCXByaW50aygiTWFya2luZyBUU0MgdW5zdGFibGUgZHVlIHRvOiAlcy5cbiIsIHJlYXNvbik7Ci0JCS8qIENhbiBiZSBjYWxsZWQgYmVmb3JlIHJlZ2lzdHJhdGlvbiAqLwotCQlpZiAoY2xvY2tzb3VyY2VfdHNjLm11bHQpCi0JCQljbG9ja3NvdXJjZV9jaGFuZ2VfcmF0aW5nKCZjbG9ja3NvdXJjZV90c2MsIDApOwotCQllbHNlCi0JCQljbG9ja3NvdXJjZV90c2MucmF0aW5nID0gMDsKLQl9Ci19Ci1FWFBPUlRfU1lNQk9MX0dQTChtYXJrX3RzY191bnN0YWJsZSk7Ci0KLXN0YXRpYyBpbnQgX19pbml0IGRtaV9tYXJrX3RzY191bnN0YWJsZShjb25zdCBzdHJ1Y3QgZG1pX3N5c3RlbV9pZCAqZCkKLXsKLQlwcmludGsoS0VSTl9OT1RJQ0UgIiVzIGRldGVjdGVkOiBtYXJraW5nIFRTQyB1bnN0YWJsZS5cbiIsCi0JICAgICAgIGQtPmlkZW50KTsKLQl0c2NfdW5zdGFibGUgPSAxOwotCXJldHVybiAwOwotfQotCi0vKiBMaXN0IG9mIHN5c3RlbXMgdGhhdCBoYXZlIGtub3duIFRTQyBwcm9ibGVtcyAqLwotc3RhdGljIHN0cnVjdCBkbWlfc3lzdGVtX2lkIF9faW5pdGRhdGEgYmFkX3RzY19kbWlfdGFibGVbXSA9IHsKLQl7Ci0JIC5jYWxsYmFjayA9IGRtaV9tYXJrX3RzY191bnN0YWJsZSwKLQkgLmlkZW50ID0gIklCTSBUaGlua3BhZCAzODBYRCIsCi0JIC5tYXRjaGVzID0gewotCQkgICAgIERNSV9NQVRDSChETUlfQk9BUkRfVkVORE9SLCAiSUJNIiksCi0JCSAgICAgRE1JX01BVENIKERNSV9CT0FSRF9OQU1FLCAiMjYzNUZBMCIpLAotCQkgICAgIH0sCi0JIH0sCi0JIHt9Ci19OwotCi0vKgotICogTWFrZSBhbiBlZHVjYXRlZCBndWVzcyBpZiB0aGUgVFNDIGlzIHRydXN0d29ydGh5IGFuZCBzeW5jaHJvbml6ZWQKLSAqIG92ZXIgYWxsIENQVXMuCi0gKi8KLV9fY3B1aW5pdCBpbnQgdW5zeW5jaHJvbml6ZWRfdHNjKHZvaWQpCi17Ci0JaWYgKCFjcHVfaGFzX3RzYyB8fCB0c2NfdW5zdGFibGUpCi0JCXJldHVybiAxOwotCi0JLyogQW55dGhpbmcgd2l0aCBjb25zdGFudCBUU0Mgc2hvdWxkIGJlIHN5bmNocm9uaXplZCAqLwotCWlmIChib290X2NwdV9oYXMoWDg2X0ZFQVRVUkVfQ09OU1RBTlRfVFNDKSkKLQkJcmV0dXJuIDA7Ci0KLQkvKgotCSAqIEludGVsIHN5c3RlbXMgYXJlIG5vcm1hbGx5IGFsbCBzeW5jaHJvbml6ZWQuCi0JICogRXhjZXB0aW9ucyBtdXN0IG1hcmsgVFNDIGFzIHVuc3RhYmxlOgotCSAqLwotCWlmIChib290X2NwdV9kYXRhLng4Nl92ZW5kb3IgIT0gWDg2X1ZFTkRPUl9JTlRFTCkgewotCQkvKiBhc3N1bWUgbXVsdGkgc29ja2V0IHN5c3RlbXMgYXJlIG5vdCBzeW5jaHJvbml6ZWQ6ICovCi0JCWlmIChudW1fcG9zc2libGVfY3B1cygpID4gMSkKLQkJCXRzY191bnN0YWJsZSA9IDE7Ci0JfQotCXJldHVybiB0c2NfdW5zdGFibGU7Ci19Ci0KLS8qCi0gKiBHZW9kZV9MWCAtIHRoZSBPTFBDIENQVSBoYXMgYSBwb3NzaWJseSBhIHZlcnkgcmVsaWFibGUgVFNDCi0gKi8KLSNpZmRlZiBDT05GSUdfTUdFT0RFX0xYCi0vKiBSVFNDIGNvdW50cyBkdXJpbmcgc3VzcGVuZCAqLwotI2RlZmluZSBSVFNDX1NVU1AgMHgxMDAKLQotc3RhdGljIHZvaWQgX19pbml0IGNoZWNrX2dlb2RlX3RzY19yZWxpYWJsZSh2b2lkKQotewotCXVuc2lnbmVkIGxvbmcgcmVzX2xvdywgcmVzX2hpZ2g7Ci0KLQlyZG1zcl9zYWZlKE1TUl9HRU9ERV9CVVNDT05UX0NPTkYwLCAmcmVzX2xvdywgJnJlc19oaWdoKTsKLQlpZiAocmVzX2xvdyAmIFJUU0NfU1VTUCkKLQkJY2xvY2tzb3VyY2VfdHNjLmZsYWdzICY9IH5DTE9DS19TT1VSQ0VfTVVTVF9WRVJJRlk7Ci19Ci0jZWxzZQotc3RhdGljIGlubGluZSB2b2lkIGNoZWNrX2dlb2RlX3RzY19yZWxpYWJsZSh2b2lkKSB7IH0KLSNlbmRpZgotCi0KLXZvaWQgX19pbml0IHRzY19pbml0KHZvaWQpCi17Ci0JaW50IGNwdTsKLQotCWlmICghY3B1X2hhc190c2MgfHwgdHNjX2Rpc2FibGVkID4gMCkKLQkJcmV0dXJuOwotCi0JY3B1X2toeiA9IGNhbGN1bGF0ZV9jcHVfa2h6KCk7Ci0JdHNjX2toeiA9IGNwdV9raHo7Ci0KLQlpZiAoIWNwdV9raHopIHsKLQkJbWFya190c2NfdW5zdGFibGUoImNvdWxkIG5vdCBjYWxjdWxhdGUgVFNDIGtoeiIpOwotCQlyZXR1cm47Ci0JfQotCi0JLyogbm93IGFsbG93IG5hdGl2ZV9zY2hlZF9jbG9jaygpIHRvIHVzZSByZHRzYyAqLwotCXRzY19kaXNhYmxlZCA9IDA7Ci0KLQlwcmludGsoIkRldGVjdGVkICVsdS4lMDNsdSBNSHogcHJvY2Vzc29yLlxuIiwKLQkJCQkodW5zaWduZWQgbG9uZyljcHVfa2h6IC8gMTAwMCwKLQkJCQkodW5zaWduZWQgbG9uZyljcHVfa2h6ICUgMTAwMCk7Ci0KLQkvKgotCSAqIFNlY29uZGFyeSBDUFVzIGRvIG5vdCBydW4gdGhyb3VnaCB0c2NfaW5pdCgpLCBzbyBzZXQgdXAKLQkgKiBhbGwgdGhlIHNjYWxlIGZhY3RvcnMgZm9yIGFsbCBDUFVzLCBhc3N1bWluZyB0aGUgc2FtZQotCSAqIHNwZWVkIGFzIHRoZSBib290dXAgQ1BVLiAoY3B1ZnJlcSBub3RpZmllcnMgd2lsbCBmaXggdGhpcwotCSAqIHVwIGlmIHRoZWlyIHNwZWVkIGRpdmVyZ2VzKQotCSAqLwotCWZvcl9lYWNoX3Bvc3NpYmxlX2NwdShjcHUpCi0JCXNldF9jeWMybnNfc2NhbGUoY3B1X2toeiwgY3B1KTsKLQotCXVzZV90c2NfZGVsYXkoKTsKLQotCS8qIENoZWNrIGFuZCBpbnN0YWxsIHRoZSBUU0MgY2xvY2tzb3VyY2UgKi8KLQlkbWlfY2hlY2tfc3lzdGVtKGJhZF90c2NfZG1pX3RhYmxlKTsKLQotCXVuc3luY2hyb25pemVkX3RzYygpOwotCWNoZWNrX2dlb2RlX3RzY19yZWxpYWJsZSgpOwotCWN1cnJlbnRfdHNjX2toeiA9IHRzY19raHo7Ci0JY2xvY2tzb3VyY2VfdHNjLm11bHQgPSBjbG9ja3NvdXJjZV9raHoybXVsdChjdXJyZW50X3RzY19raHosCi0JCQkJCQkJY2xvY2tzb3VyY2VfdHNjLnNoaWZ0KTsKLQkvKiBsb3dlciB0aGUgcmF0aW5nIGlmIHdlIGFscmVhZHkga25vdyBpdHMgdW5zdGFibGU6ICovCi0JaWYgKGNoZWNrX3RzY191bnN0YWJsZSgpKSB7Ci0JCWNsb2Nrc291cmNlX3RzYy5yYXRpbmcgPSAwOwotCQljbG9ja3NvdXJjZV90c2MuZmxhZ3MgJj0gfkNMT0NLX1NPVVJDRV9JU19DT05USU5VT1VTOwotCX0KLQljbG9ja3NvdXJjZV9yZWdpc3RlcigmY2xvY2tzb3VyY2VfdHNjKTsKLX0KZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC90c2NfNjQuYyBiL2FyY2gveDg2L2tlcm5lbC90c2NfNjQuYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTc4NGI4MC4uMDAwMDAwMAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvdHNjXzY0LmMKKysrIC9kZXYvbnVsbApAQCAtMSwzNTcgKzAsMCBAQAotI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgotI2luY2x1ZGUgPGxpbnV4L3NjaGVkLmg+Ci0jaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+Ci0jaW5jbHVkZSA8bGludXgvaW5pdC5oPgotI2luY2x1ZGUgPGxpbnV4L2Nsb2Nrc291cmNlLmg+Ci0jaW5jbHVkZSA8bGludXgvdGltZS5oPgotI2luY2x1ZGUgPGxpbnV4L2FjcGkuaD4KLSNpbmNsdWRlIDxsaW51eC9jcHVmcmVxLmg+Ci0jaW5jbHVkZSA8bGludXgvYWNwaV9wbXRtci5oPgotCi0jaW5jbHVkZSA8YXNtL2hwZXQuaD4KLSNpbmNsdWRlIDxhc20vdGltZXguaD4KLSNpbmNsdWRlIDxhc20vdGltZXIuaD4KLSNpbmNsdWRlIDxhc20vdmd0b2QuaD4KLQotc3RhdGljIGludCBub3RzYyBfX2luaXRkYXRhID0gMDsKLQotdW5zaWduZWQgaW50IGNwdV9raHo7CQkvKiBUU0MgY2xvY2tzIC8gdXNlYywgbm90IHVzZWQgaGVyZSAqLwotRVhQT1JUX1NZTUJPTChjcHVfa2h6KTsKLXVuc2lnbmVkIGludCB0c2Nfa2h6OwotRVhQT1JUX1NZTUJPTCh0c2Nfa2h6KTsKLQotLyogQWNjZWxlcmF0b3JzIGZvciBzY2hlZF9jbG9jaygpCi0gKiBjb252ZXJ0IGZyb20gY3ljbGVzKDY0Yml0cykgPT4gbmFub3NlY29uZHMgKDY0Yml0cykKLSAqICBiYXNpYyBlcXVhdGlvbjoKLSAqCQlucyA9IGN5Y2xlcyAvIChmcmVxIC8gbnNfcGVyX3NlYykKLSAqCQlucyA9IGN5Y2xlcyAqIChuc19wZXJfc2VjIC8gZnJlcSkKLSAqCQlucyA9IGN5Y2xlcyAqICgxMF45IC8gKGNwdV9raHogKiAxMF4zKSkKLSAqCQlucyA9IGN5Y2xlcyAqICgxMF42IC8gY3B1X2toeikKLSAqCi0gKglUaGVuIHdlIHVzZSBzY2FsaW5nIG1hdGggKHN1Z2dlc3RlZCBieSBnZW9yZ2VAbXZpc3RhLmNvbSkgdG8gZ2V0OgotICoJCW5zID0gY3ljbGVzICogKDEwXjYgKiBTQyAvIGNwdV9raHopIC8gU0MKLSAqCQlucyA9IGN5Y2xlcyAqIGN5YzJuc19zY2FsZSAvIFNDCi0gKgotICoJQW5kIHNpbmNlIFNDIGlzIGEgY29uc3RhbnQgcG93ZXIgb2YgdHdvLCB3ZSBjYW4gY29udmVydCB0aGUgZGl2Ci0gKiAgaW50byBhIHNoaWZ0LgotICoKLSAqICBXZSBjYW4gdXNlIGtoeiBkaXZpc29yIGluc3RlYWQgb2YgbWh6IHRvIGtlZXAgYSBiZXR0ZXIgcHJlY2lzaW9uLCBzaW5jZQotICogIGN5YzJuc19zY2FsZSBpcyBsaW1pdGVkIHRvIDEwXjYgKiAyXjEwLCB3aGljaCBmaXRzIGluIDMyIGJpdHMuCi0gKiAgKG1hdGhpZXUuZGVzbm95ZXJzQHBvbHltdGwuY2EpCi0gKgotICoJCQktam9obnN0dWxAdXMuaWJtLmNvbSAibWF0aCBpcyBoYXJkLCBsZXRzIGdvIHNob3BwaW5nISIKLSAqLwotREVGSU5FX1BFUl9DUFUodW5zaWduZWQgbG9uZywgY3ljMm5zKTsKLQotc3RhdGljIHZvaWQgc2V0X2N5YzJuc19zY2FsZSh1bnNpZ25lZCBsb25nIGNwdV9raHosIGludCBjcHUpCi17Ci0JdW5zaWduZWQgbG9uZyBsb25nIHRzY19ub3csIG5zX25vdzsKLQl1bnNpZ25lZCBsb25nIGZsYWdzLCAqc2NhbGU7Ci0KLQlsb2NhbF9pcnFfc2F2ZShmbGFncyk7Ci0Jc2NoZWRfY2xvY2tfaWRsZV9zbGVlcF9ldmVudCgpOwotCi0Jc2NhbGUgPSAmcGVyX2NwdShjeWMybnMsIGNwdSk7Ci0KLQlyZHRzY2xsKHRzY19ub3cpOwotCW5zX25vdyA9IF9fY3ljbGVzXzJfbnModHNjX25vdyk7Ci0KLQlpZiAoY3B1X2toeikKLQkJKnNjYWxlID0gKE5TRUNfUEVSX01TRUMgPDwgQ1lDMk5TX1NDQUxFX0ZBQ1RPUikvY3B1X2toejsKLQotCXNjaGVkX2Nsb2NrX2lkbGVfd2FrZXVwX2V2ZW50KDApOwotCWxvY2FsX2lycV9yZXN0b3JlKGZsYWdzKTsKLX0KLQotdW5zaWduZWQgbG9uZyBsb25nIG5hdGl2ZV9zY2hlZF9jbG9jayh2b2lkKQotewotCXVuc2lnbmVkIGxvbmcgYSA9IDA7Ci0KLQkvKiBDb3VsZCBkbyBDUFUgY29yZSBzeW5jIGhlcmUuIE9wdGVyb24gY2FuIGV4ZWN1dGUgcmR0c2Mgc3BlY3VsYXRpdmVseSwKLQkgKiB3aGljaCBtZWFucyBpdCBpcyBub3QgY29tcGxldGVseSBleGFjdCBhbmQgbWF5IG5vdCBiZSBtb25vdG9ub3VzCi0JICogYmV0d2VlbiBDUFVzLiBCdXQgdGhlIGVycm9ycyBzaG91bGQgYmUgdG9vIHNtYWxsIHRvIG1hdHRlciBmb3IKLQkgKiBzY2hlZHVsaW5nIHB1cnBvc2VzLgotCSAqLwotCi0JcmR0c2NsbChhKTsKLQlyZXR1cm4gY3ljbGVzXzJfbnMoYSk7Ci19Ci0KLS8qIFdlIG5lZWQgdG8gZGVmaW5lIGEgcmVhbCBmdW5jdGlvbiBmb3Igc2NoZWRfY2xvY2ssIHRvIG92ZXJyaWRlIHRoZQotICAgd2VhayBkZWZhdWx0IHZlcnNpb24gKi8KLSNpZmRlZiBDT05GSUdfUEFSQVZJUlQKLXVuc2lnbmVkIGxvbmcgbG9uZyBzY2hlZF9jbG9jayh2b2lkKQotewotCXJldHVybiBwYXJhdmlydF9zY2hlZF9jbG9jaygpOwotfQotI2Vsc2UKLXVuc2lnbmVkIGxvbmcgbG9uZwotc2NoZWRfY2xvY2sodm9pZCkgX19hdHRyaWJ1dGVfXygoYWxpYXMoIm5hdGl2ZV9zY2hlZF9jbG9jayIpKSk7Ci0jZW5kaWYKLQotCi1zdGF0aWMgaW50IHRzY191bnN0YWJsZTsKLQotaW50IGNoZWNrX3RzY191bnN0YWJsZSh2b2lkKQotewotCXJldHVybiB0c2NfdW5zdGFibGU7Ci19Ci1FWFBPUlRfU1lNQk9MX0dQTChjaGVja190c2NfdW5zdGFibGUpOwotCi0jaWZkZWYgQ09ORklHX0NQVV9GUkVRCi0KLS8qIEZyZXF1ZW5jeSBzY2FsaW5nIHN1cHBvcnQuIEFkanVzdCB0aGUgVFNDIGJhc2VkIHRpbWVyIHdoZW4gdGhlIGNwdSBmcmVxdWVuY3kKLSAqIGNoYW5nZXMuCi0gKgotICogUkVELVBFTjogT24gU01QIHdlIGFzc3VtZSBhbGwgQ1BVcyBydW4gd2l0aCB0aGUgc2FtZSBmcmVxdWVuY3kuICBJdCdzCi0gKiBub3QgdGhhdCBpbXBvcnRhbnQgYmVjYXVzZSBjdXJyZW50IE9wdGVyb24gc2V0dXBzIGRvIG5vdCBzdXBwb3J0Ci0gKiBzY2FsaW5nIG9uIFNNUCBhbnlyb2Fkcy4KLSAqCi0gKiBTaG91bGQgZml4IHVwIGxhc3RfdHNjIHRvby4gQ3VycmVudGx5IGdldHRpbWVvZmRheSBpbiB0aGUKLSAqIGZpcnN0IHRpY2sgYWZ0ZXIgdGhlIGNoYW5nZSB3aWxsIGJlIHNsaWdodGx5IHdyb25nLgotICovCi0KLXN0YXRpYyB1bnNpZ25lZCBpbnQgIHJlZl9mcmVxOwotc3RhdGljIHVuc2lnbmVkIGxvbmcgbG9vcHNfcGVyX2ppZmZ5X3JlZjsKLXN0YXRpYyB1bnNpZ25lZCBsb25nIHRzY19raHpfcmVmOwotCi1zdGF0aWMgaW50IHRpbWVfY3B1ZnJlcV9ub3RpZmllcihzdHJ1Y3Qgbm90aWZpZXJfYmxvY2sgKm5iLCB1bnNpZ25lZCBsb25nIHZhbCwKLQkJCQkgdm9pZCAqZGF0YSkKLXsKLQlzdHJ1Y3QgY3B1ZnJlcV9mcmVxcyAqZnJlcSA9IGRhdGE7Ci0JdW5zaWduZWQgbG9uZyAqbHBqLCBkdW1teTsKLQotCWlmIChjcHVfaGFzKCZjcHVfZGF0YShmcmVxLT5jcHUpLCBYODZfRkVBVFVSRV9DT05TVEFOVF9UU0MpKQotCQlyZXR1cm4gMDsKLQotCWxwaiA9ICZkdW1teTsKLQlpZiAoIShmcmVxLT5mbGFncyAmIENQVUZSRVFfQ09OU1RfTE9PUFMpKQotI2lmZGVmIENPTkZJR19TTVAKLQkJbHBqID0gJmNwdV9kYXRhKGZyZXEtPmNwdSkubG9vcHNfcGVyX2ppZmZ5OwotI2Vsc2UKLQkJbHBqID0gJmJvb3RfY3B1X2RhdGEubG9vcHNfcGVyX2ppZmZ5OwotI2VuZGlmCi0KLQlpZiAoIXJlZl9mcmVxKSB7Ci0JCXJlZl9mcmVxID0gZnJlcS0+b2xkOwotCQlsb29wc19wZXJfamlmZnlfcmVmID0gKmxwajsKLQkJdHNjX2toel9yZWYgPSB0c2Nfa2h6OwotCX0KLQlpZiAoKHZhbCA9PSBDUFVGUkVRX1BSRUNIQU5HRSAgJiYgZnJlcS0+b2xkIDwgZnJlcS0+bmV3KSB8fAotCQkodmFsID09IENQVUZSRVFfUE9TVENIQU5HRSAmJiBmcmVxLT5vbGQgPiBmcmVxLT5uZXcpIHx8Ci0JCSh2YWwgPT0gQ1BVRlJFUV9SRVNVTUVDSEFOR0UpKSB7Ci0JCSpscGogPQotCQljcHVmcmVxX3NjYWxlKGxvb3BzX3Blcl9qaWZmeV9yZWYsIHJlZl9mcmVxLCBmcmVxLT5uZXcpOwotCi0JCXRzY19raHogPSBjcHVmcmVxX3NjYWxlKHRzY19raHpfcmVmLCByZWZfZnJlcSwgZnJlcS0+bmV3KTsKLQkJaWYgKCEoZnJlcS0+ZmxhZ3MgJiBDUFVGUkVRX0NPTlNUX0xPT1BTKSkKLQkJCW1hcmtfdHNjX3Vuc3RhYmxlKCJjcHVmcmVxIGNoYW5nZXMiKTsKLQl9Ci0KLQlzZXRfY3ljMm5zX3NjYWxlKHRzY19raHpfcmVmLCBmcmVxLT5jcHUpOwotCi0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBzdHJ1Y3Qgbm90aWZpZXJfYmxvY2sgdGltZV9jcHVmcmVxX25vdGlmaWVyX2Jsb2NrID0gewotCS5ub3RpZmllcl9jYWxsICA9IHRpbWVfY3B1ZnJlcV9ub3RpZmllcgotfTsKLQotc3RhdGljIGludCBfX2luaXQgY3B1ZnJlcV90c2Modm9pZCkKLXsKLQljcHVmcmVxX3JlZ2lzdGVyX25vdGlmaWVyKCZ0aW1lX2NwdWZyZXFfbm90aWZpZXJfYmxvY2ssCi0JCQkJICBDUFVGUkVRX1RSQU5TSVRJT05fTk9USUZJRVIpOwotCXJldHVybiAwOwotfQotCi1jb3JlX2luaXRjYWxsKGNwdWZyZXFfdHNjKTsKLQotI2VuZGlmCi0KLSNkZWZpbmUgTUFYX1JFVFJJRVMJNQotI2RlZmluZSBTTUlfVFJFU0hPTEQJNTAwMDAKLQotLyoKLSAqIFJlYWQgVFNDIGFuZCB0aGUgcmVmZXJlbmNlIGNvdW50ZXJzLiBUYWtlIGNhcmUgb2YgU01JIGRpc3R1cmJhbmNlCi0gKi8KLXN0YXRpYyB1bnNpZ25lZCBsb25nIF9faW5pdCB0c2NfcmVhZF9yZWZzKHVuc2lnbmVkIGxvbmcgKnBtLAotCQkJCQkgIHVuc2lnbmVkIGxvbmcgKmhwZXQpCi17Ci0JdW5zaWduZWQgbG9uZyB0MSwgdDI7Ci0JaW50IGk7Ci0KLQlmb3IgKGkgPSAwOyBpIDwgTUFYX1JFVFJJRVM7IGkrKykgewotCQl0MSA9IGdldF9jeWNsZXMoKTsKLQkJaWYgKGhwZXQpCi0JCQkqaHBldCA9IGhwZXRfcmVhZGwoSFBFVF9DT1VOVEVSKSAmIDB4RkZGRkZGRkY7Ci0JCWVsc2UKLQkJCSpwbSA9IGFjcGlfcG1fcmVhZF9lYXJseSgpOwotCQl0MiA9IGdldF9jeWNsZXMoKTsKLQkJaWYgKCh0MiAtIHQxKSA8IFNNSV9UUkVTSE9MRCkKLQkJCXJldHVybiB0MjsKLQl9Ci0JcmV0dXJuIFVMT05HX01BWDsKLX0KLQotLyoqCi0gKiB0c2NfY2FsaWJyYXRlIC0gY2FsaWJyYXRlIHRoZSB0c2Mgb24gYm9vdAotICovCi12b2lkIF9faW5pdCB0c2NfY2FsaWJyYXRlKHZvaWQpCi17Ci0JdW5zaWduZWQgbG9uZyBmbGFncywgdHNjMSwgdHNjMiwgdHIxLCB0cjIsIHBtMSwgcG0yLCBocGV0MSwgaHBldDI7Ci0JaW50IGhwZXQgPSBpc19ocGV0X2VuYWJsZWQoKSwgY3B1OwotCi0JbG9jYWxfaXJxX3NhdmUoZmxhZ3MpOwotCi0JdHNjMSA9IHRzY19yZWFkX3JlZnMoJnBtMSwgaHBldCA/ICZocGV0MSA6IE5VTEwpOwotCi0Jb3V0YigoaW5iKDB4NjEpICYgfjB4MDIpIHwgMHgwMSwgMHg2MSk7Ci0KLQlvdXRiKDB4YjAsIDB4NDMpOwotCW91dGIoKENMT0NLX1RJQ0tfUkFURSAvICgxMDAwIC8gNTApKSAmIDB4ZmYsIDB4NDIpOwotCW91dGIoKENMT0NLX1RJQ0tfUkFURSAvICgxMDAwIC8gNTApKSA+PiA4LCAweDQyKTsKLQl0cjEgPSBnZXRfY3ljbGVzKCk7Ci0Jd2hpbGUgKChpbmIoMHg2MSkgJiAweDIwKSA9PSAwKTsKLQl0cjIgPSBnZXRfY3ljbGVzKCk7Ci0KLQl0c2MyID0gdHNjX3JlYWRfcmVmcygmcG0yLCBocGV0ID8gJmhwZXQyIDogTlVMTCk7Ci0KLQlsb2NhbF9pcnFfcmVzdG9yZShmbGFncyk7Ci0KLQkvKgotCSAqIFByZXNldCB0aGUgcmVzdWx0IHdpdGggdGhlIHJhdyBhbmQgaW5hY2N1cmF0ZSBQSVQKLQkgKiBjYWxpYnJhdGlvbiB2YWx1ZQotCSAqLwotCXRzY19raHogPSAodHIyIC0gdHIxKSAvIDUwOwotCi0JLyogaHBldCBvciBwbXRpbWVyIGF2YWlsYWJsZSA/ICovCi0JaWYgKCFocGV0ICYmICFwbTEgJiYgIXBtMikgewotCQlwcmludGsoS0VSTl9JTkZPICJUU0MgY2FsaWJyYXRlZCBhZ2FpbnN0IFBJVFxuIik7Ci0JCWdvdG8gb3V0OwotCX0KLQotCS8qIENoZWNrLCB3aGV0aGVyIHRoZSBzYW1wbGluZyB3YXMgZGlzdHVyYmVkIGJ5IGFuIFNNSSAqLwotCWlmICh0c2MxID09IFVMT05HX01BWCB8fCB0c2MyID09IFVMT05HX01BWCkgewotCQlwcmludGsoS0VSTl9XQVJOSU5HICJUU0MgY2FsaWJyYXRpb24gZGlzdHVyYmVkIGJ5IFNNSSwgIgotCQkgICAgICAgInVzaW5nIFBJVCBjYWxpYnJhdGlvbiByZXN1bHRcbiIpOwotCQlnb3RvIG91dDsKLQl9Ci0KLQl0c2MyID0gKHRzYzIgLSB0c2MxKSAqIDEwMDAwMDBMOwotCi0JaWYgKGhwZXQpIHsKLQkJcHJpbnRrKEtFUk5fSU5GTyAiVFNDIGNhbGlicmF0ZWQgYWdhaW5zdCBIUEVUXG4iKTsKLQkJaWYgKGhwZXQyIDwgaHBldDEpCi0JCQlocGV0MiArPSAweDEwMDAwMDAwMDsKLQkJaHBldDIgLT0gaHBldDE7Ci0JCXRzYzEgPSAoaHBldDIgKiBocGV0X3JlYWRsKEhQRVRfUEVSSU9EKSkgLyAxMDAwMDAwOwotCX0gZWxzZSB7Ci0JCXByaW50ayhLRVJOX0lORk8gIlRTQyBjYWxpYnJhdGVkIGFnYWluc3QgUE1fVElNRVJcbiIpOwotCQlpZiAocG0yIDwgcG0xKQotCQkJcG0yICs9IEFDUElfUE1fT1ZSUlVOOwotCQlwbTIgLT0gcG0xOwotCQl0c2MxID0gKHBtMiAqIDEwMDAwMDAwMDApIC8gUE1UTVJfVElDS1NfUEVSX1NFQzsKLQl9Ci0KLQl0c2Nfa2h6ID0gdHNjMiAvIHRzYzE7Ci0KLW91dDoKLQlmb3JfZWFjaF9wb3NzaWJsZV9jcHUoY3B1KQotCQlzZXRfY3ljMm5zX3NjYWxlKHRzY19raHosIGNwdSk7Ci19Ci0KLS8qCi0gKiBNYWtlIGFuIGVkdWNhdGVkIGd1ZXNzIGlmIHRoZSBUU0MgaXMgdHJ1c3R3b3J0aHkgYW5kIHN5bmNocm9uaXplZAotICogb3ZlciBhbGwgQ1BVcy4KLSAqLwotX19jcHVpbml0IGludCB1bnN5bmNocm9uaXplZF90c2Modm9pZCkKLXsKLQlpZiAodHNjX3Vuc3RhYmxlKQotCQlyZXR1cm4gMTsKLQotI2lmZGVmIENPTkZJR19TTVAKLQlpZiAoYXBpY19pc19jbHVzdGVyZWRfYm94KCkpCi0JCXJldHVybiAxOwotI2VuZGlmCi0KLQlpZiAoYm9vdF9jcHVfaGFzKFg4Nl9GRUFUVVJFX0NPTlNUQU5UX1RTQykpCi0JCXJldHVybiAwOwotCi0JLyogQXNzdW1lIG11bHRpIHNvY2tldCBzeXN0ZW1zIGFyZSBub3Qgc3luY2hyb25pemVkICovCi0JcmV0dXJuIG51bV9wcmVzZW50X2NwdXMoKSA+IDE7Ci19Ci0KLWludCBfX2luaXQgbm90c2Nfc2V0dXAoY2hhciAqcykKLXsKLQlub3RzYyA9IDE7Ci0JcmV0dXJuIDE7Ci19Ci0KLV9fc2V0dXAoIm5vdHNjIiwgbm90c2Nfc2V0dXApOwotCi1zdGF0aWMgc3RydWN0IGNsb2Nrc291cmNlIGNsb2Nrc291cmNlX3RzYzsKLQotLyoKLSAqIFdlIGNvbXBhcmUgdGhlIFRTQyB0byB0aGUgY3ljbGVfbGFzdCB2YWx1ZSBpbiB0aGUgY2xvY2tzb3VyY2UKLSAqIHN0cnVjdHVyZSB0byBhdm9pZCBhIG5hc3R5IHRpbWUtd2FycC4gVGhpcyBjYW4gYmUgb2JzZXJ2ZWQgaW4gYQotICogdmVyeSBzbWFsbCB3aW5kb3cgcmlnaHQgYWZ0ZXIgb25lIENQVSB1cGRhdGVkIGN5Y2xlX2xhc3QgdW5kZXIKLSAqIHh0aW1lL3ZzeXNjYWxsX2d0b2QgbG9jayBhbmQgdGhlIG90aGVyIENQVSByZWFkcyBhIFRTQyB2YWx1ZSB3aGljaAotICogaXMgc21hbGxlciB0aGFuIHRoZSBjeWNsZV9sYXN0IHJlZmVyZW5jZSB2YWx1ZSBkdWUgdG8gYSBUU0Mgd2hpY2gKLSAqIGlzIHNsaWdodHkgYmVoaW5kLiBUaGlzIGRlbHRhIGlzIG5vd2hlcmUgZWxzZSBvYnNlcnZhYmxlLCBidXQgaW4KLSAqIHRoYXQgY2FzZSBpdCByZXN1bHRzIGluIGEgZm9yd2FyZCB0aW1lIGp1bXAgaW4gdGhlIHJhbmdlIG9mIGhvdXJzCi0gKiBkdWUgdG8gdGhlIHVuc2lnbmVkIGRlbHRhIGNhbGN1bGF0aW9uIG9mIHRoZSB0aW1lIGtlZXBpbmcgY29yZQotICogY29kZSwgd2hpY2ggaXMgbmVjZXNzYXJ5IHRvIHN1cHBvcnQgd3JhcHBpbmcgY2xvY2tzb3VyY2VzIGxpa2UgcG0KLSAqIHRpbWVyLgotICovCi1zdGF0aWMgY3ljbGVfdCByZWFkX3RzYyh2b2lkKQotewotCWN5Y2xlX3QgcmV0ID0gKGN5Y2xlX3QpZ2V0X2N5Y2xlcygpOwotCi0JcmV0dXJuIHJldCA+PSBjbG9ja3NvdXJjZV90c2MuY3ljbGVfbGFzdCA/Ci0JCXJldCA6IGNsb2Nrc291cmNlX3RzYy5jeWNsZV9sYXN0OwotfQotCi1zdGF0aWMgY3ljbGVfdCBfX3ZzeXNjYWxsX2ZuIHZyZWFkX3RzYyh2b2lkKQotewotCWN5Y2xlX3QgcmV0ID0gKGN5Y2xlX3QpdmdldF9jeWNsZXMoKTsKLQotCXJldHVybiByZXQgPj0gX192c3lzY2FsbF9ndG9kX2RhdGEuY2xvY2suY3ljbGVfbGFzdCA/Ci0JCXJldCA6IF9fdnN5c2NhbGxfZ3RvZF9kYXRhLmNsb2NrLmN5Y2xlX2xhc3Q7Ci19Ci0KLXN0YXRpYyBzdHJ1Y3QgY2xvY2tzb3VyY2UgY2xvY2tzb3VyY2VfdHNjID0gewotCS5uYW1lCQkJPSAidHNjIiwKLQkucmF0aW5nCQkJPSAzMDAsCi0JLnJlYWQJCQk9IHJlYWRfdHNjLAotCS5tYXNrCQkJPSBDTE9DS1NPVVJDRV9NQVNLKDY0KSwKLQkuc2hpZnQJCQk9IDIyLAotCS5mbGFncwkJCT0gQ0xPQ0tfU09VUkNFX0lTX0NPTlRJTlVPVVMgfAotCQkJCSAgQ0xPQ0tfU09VUkNFX01VU1RfVkVSSUZZLAotCS52cmVhZAkJCT0gdnJlYWRfdHNjLAotfTsKLQotdm9pZCBtYXJrX3RzY191bnN0YWJsZShjaGFyICpyZWFzb24pCi17Ci0JaWYgKCF0c2NfdW5zdGFibGUpIHsKLQkJdHNjX3Vuc3RhYmxlID0gMTsKLQkJcHJpbnRrKCJNYXJraW5nIFRTQyB1bnN0YWJsZSBkdWUgdG8gJXNcbiIsIHJlYXNvbik7Ci0JCS8qIENoYW5nZSBvbmx5IHRoZSByYXRpbmcsIHdoZW4gbm90IHJlZ2lzdGVyZWQgKi8KLQkJaWYgKGNsb2Nrc291cmNlX3RzYy5tdWx0KQotCQkJY2xvY2tzb3VyY2VfY2hhbmdlX3JhdGluZygmY2xvY2tzb3VyY2VfdHNjLCAwKTsKLQkJZWxzZQotCQkJY2xvY2tzb3VyY2VfdHNjLnJhdGluZyA9IDA7Ci0JfQotfQotRVhQT1JUX1NZTUJPTF9HUEwobWFya190c2NfdW5zdGFibGUpOwotCi12b2lkIF9faW5pdCBpbml0X3RzY19jbG9ja3NvdXJjZSh2b2lkKQotewotCWlmICghbm90c2MpIHsKLQkJY2xvY2tzb3VyY2VfdHNjLm11bHQgPSBjbG9ja3NvdXJjZV9raHoybXVsdCh0c2Nfa2h6LAotCQkJCQkJCWNsb2Nrc291cmNlX3RzYy5zaGlmdCk7Ci0JCWlmIChjaGVja190c2NfdW5zdGFibGUoKSkKLQkJCWNsb2Nrc291cmNlX3RzYy5yYXRpbmcgPSAwOwotCi0JCWNsb2Nrc291cmNlX3JlZ2lzdGVyKCZjbG9ja3NvdXJjZV90c2MpOwotCX0KLX0KZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC92aXN3c19xdWlya3MuYyBiL2FyY2gveDg2L2tlcm5lbC92aXN3c19xdWlya3MuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lOTRiZGI2Ci0tLSAvZGV2L251bGwKKysrIGIvYXJjaC94ODYva2VybmVsL3Zpc3dzX3F1aXJrcy5jCkBAIC0wLDAgKzEsNzA5IEBACisvKgorICogIFNHSSBWaXN1YWwgV29ya3N0YXRpb24gc3VwcG9ydCBhbmQgcXVpcmtzLCB1bm1haW50YWluZWQuCisgKgorICogIFNwbGl0IG91dCBmcm9tIHNldHVwLmMgYnkgZGF2ZWpAc3VzZS5kZQorICoKKyAqCUNvcHlyaWdodCAoQykgMTk5OSBCZW50IEhhZ2VtYXJrLCBJbmdvIE1vbG5hcgorICoKKyAqICBTR0kgVmlzdWFsIFdvcmtzdGF0aW9uIGludGVycnVwdCBjb250cm9sbGVyCisgKgorICogIFRoZSBDb2JhbHQgc3lzdGVtIEFTSUMgaW4gdGhlIFZpc3VhbCBXb3Jrc3RhdGlvbiBjb250YWlucyBhICJDb2JhbHQiIEFQSUMKKyAqICB3aGljaCBzZXJ2ZXMgYXMgdGhlIG1haW4gaW50ZXJydXB0IGNvbnRyb2xsZXIgaW4gdGhlIHN5c3RlbS4gIE5vbi1sZWdhY3kKKyAqICBoYXJkd2FyZSBpbiB0aGUgc3lzdGVtIHVzZXMgdGhpcyBjb250cm9sbGVyIGRpcmVjdGx5LiAgTGVnYWN5IGRldmljZXMKKyAqICBhcmUgY29ubmVjdGVkIHRvIHRoZSBQSUlYNCB3aGljaCBpbiB0dXJuIGhhcyBpdHMgODI1OShzKSBjb25uZWN0ZWQgdG8KKyAqICBhIG9mIHRoZSBDb2JhbHQgQVBJQyBlbnRyeS4KKyAqCisgKiAgMDkvMDIvMjAwMCAtIFVwZGF0ZWQgZm9yIDIuNCBieSBqYmFybmVzQHNnaS5jb20KKyAqCisgKiAgMjUvMTEvMjAwMiAtIFVwZGF0ZWQgZm9yIDIuNSBieSBBbmRyZXkgUGFuaW4gPHBhemtlQG9yYml0YTEucnU+CisgKi8KKyNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvc21wLmg+CisKKyNpbmNsdWRlIDxhc20vdmlzd3MvY29iYWx0Lmg+CisjaW5jbHVkZSA8YXNtL3Zpc3dzL3BpaXg0Lmg+CisjaW5jbHVkZSA8YXNtL2FyY2hfaG9va3MuaD4KKyNpbmNsdWRlIDxhc20vZml4bWFwLmg+CisjaW5jbHVkZSA8YXNtL3JlYm9vdC5oPgorI2luY2x1ZGUgPGFzbS9zZXR1cC5oPgorI2luY2x1ZGUgPGFzbS9lODIwLmg+CisjaW5jbHVkZSA8YXNtL3NtcC5oPgorI2luY2x1ZGUgPGFzbS9pby5oPgorCisjaW5jbHVkZSA8bWFjaF9pcGkuaD4KKworI2luY2x1ZGUgIm1hY2hfYXBpYy5oIgorCisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcC5oPgorCisjaW5jbHVkZSA8bGludXgva2VybmVsX3N0YXQuaD4KKyNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisKKyNpbmNsdWRlIDxhc20vaW8uaD4KKyNpbmNsdWRlIDxhc20vYXBpYy5oPgorI2luY2x1ZGUgPGFzbS9pODI1OS5oPgorI2luY2x1ZGUgPGFzbS9pcnFfdmVjdG9ycy5oPgorI2luY2x1ZGUgPGFzbS92aXN3cy9jb2JhbHQuaD4KKyNpbmNsdWRlIDxhc20vdmlzd3MvbGl0aGl1bS5oPgorI2luY2x1ZGUgPGFzbS92aXN3cy9waWl4NC5oPgorCisjaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvcGNpLmg+CisjaW5jbHVkZSA8bGludXgvcGNpX2lkcy5oPgorCitleHRlcm4gaW50IG5vX2Jyb2FkY2FzdDsKKworI2luY2x1ZGUgPGFzbS9pby5oPgorI2luY2x1ZGUgPGFzbS9hcGljLmg+CisjaW5jbHVkZSA8YXNtL2FyY2hfaG9va3MuaD4KKyNpbmNsdWRlIDxhc20vdmlzd3MvY29iYWx0Lmg+CisjaW5jbHVkZSA8YXNtL3Zpc3dzL2xpdGhpdW0uaD4KKworY2hhciB2aXN3c19ib2FyZF90eXBlCT0gLTE7CitjaGFyIHZpc3dzX2JvYXJkX3Jldgk9IC0xOworCitpbnQgaXNfdmlzd3NfYm94KHZvaWQpCit7CisJcmV0dXJuIHZpc3dzX2JvYXJkX3R5cGUgPj0gMDsKK30KKworc3RhdGljIGludCBfX2luaXQgdmlzd3NfdGltZV9pbml0X3F1aXJrKHZvaWQpCit7CisJcHJpbnRrKEtFUk5fSU5GTyAiU3RhcnRpbmcgQ29iYWx0IFRpbWVyIHN5c3RlbSBjbG9ja1xuIik7CisKKwkvKiBTZXQgdGhlIGNvdW50ZG93biB2YWx1ZSAqLworCWNvX2NwdV93cml0ZShDT19DUFVfVElNRVZBTCwgQ09fVElNRV9IWi9IWik7CisKKwkvKiBTdGFydCB0aGUgdGltZXIgKi8KKwljb19jcHVfd3JpdGUoQ09fQ1BVX0NUUkwsIGNvX2NwdV9yZWFkKENPX0NQVV9DVFJMKSB8IENPX0NUUkxfVElNRVJVTik7CisKKwkvKiBFbmFibGUgKHVubWFzaykgdGhlIHRpbWVyIGludGVycnVwdCAqLworCWNvX2NwdV93cml0ZShDT19DUFVfQ1RSTCwgY29fY3B1X3JlYWQoQ09fQ1BVX0NUUkwpICYgfkNPX0NUUkxfVElNRU1BU0spOworCisJLyoKKwkgKiBaZXJvIHJldHVybiBtZWFucyB0aGUgZ2VuZXJpYyB0aW1lciBzZXR1cCBjb2RlIHdpbGwgc2V0IHVwCisJICogdGhlIHN0YW5kYXJkIHZlY3RvcjoKKwkgKi8KKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBfX2luaXQgdmlzd3NfcHJlX2ludHJfaW5pdF9xdWlyayh2b2lkKQoreworCWluaXRfVklTV1NfQVBJQ19pcnFzKCk7CisKKwkvKgorCSAqIFdlIGRvbnQgd2FudCBJU0EgaXJxcyB0byBiZSBzZXQgdXAgYnkgdGhlIGdlbmVyaWMgY29kZToKKwkgKi8KKwlyZXR1cm4gMTsKK30KKworLyogUXVpcmsgZm9yIG1hY2hpbmUgc3BlY2lmaWMgbWVtb3J5IHNldHVwLiAqLworCisjZGVmaW5lIE1CICgxMDI0ICogMTAyNCkKKwordW5zaWduZWQgbG9uZyBzZ2l2d2ZiX21lbV9waHlzOwordW5zaWduZWQgbG9uZyBzZ2l2d2ZiX21lbV9zaXplOworRVhQT1JUX1NZTUJPTChzZ2l2d2ZiX21lbV9waHlzKTsKK0VYUE9SVF9TWU1CT0woc2dpdndmYl9tZW1fc2l6ZSk7CisKK2xvbmcgbG9uZyBtZW1fc2l6ZSBfX2luaXRkYXRhID0gMDsKKworc3RhdGljIGNoYXIgKiBfX2luaXQgdmlzd3NfbWVtb3J5X3NldHVwX3F1aXJrKHZvaWQpCit7CisJbG9uZyBsb25nIGdmeF9tZW1fc2l6ZSA9IDggKiBNQjsKKworCW1lbV9zaXplID0gYm9vdF9wYXJhbXMuYWx0X21lbV9rOworCisJaWYgKCFtZW1fc2l6ZSkgeworCQlwcmludGsoS0VSTl9XQVJOSU5HICJCb290bG9hZGVyIGRpZG4ndCBzZXQgbWVtb3J5IHNpemUsIHVwZ3JhZGUgaXQgIVxuIik7CisJCW1lbV9zaXplID0gMTI4ICogTUI7CisJfQorCisJLyoKKwkgKiB0aGlzIGhhcmRjb2RlcyB0aGUgZ3JhcGhpY3MgbWVtb3J5IHRvIDggTUIKKwkgKiBpdCByZWFsbHkgc2hvdWxkIGJlIHNpemVkIGR5bmFtaWNhbGx5IChvciBhdCBsZWFzdAorCSAqIHNldCBhcyBhIGJvb3QgcGFyYW0pCisJICovCisJaWYgKCFzZ2l2d2ZiX21lbV9zaXplKSB7CisJCXByaW50ayhLRVJOX1dBUk5JTkcgIkRlZmF1bHRpbmcgdG8gOCBNQiBmcmFtZWJ1ZmZlciBzaXplXG4iKTsKKwkJc2dpdndmYl9tZW1fc2l6ZSA9IDggKiBNQjsKKwl9CisKKwkvKgorCSAqIFRyaW0gdG8gbmVhcmVzdCBNQgorCSAqLworCXNnaXZ3ZmJfbWVtX3NpemUgJj0gfigoMSA8PCAyMCkgLSAxKTsKKwlzZ2l2d2ZiX21lbV9waHlzID0gbWVtX3NpemUgLSBnZnhfbWVtX3NpemU7CisKKwllODIwX2FkZF9yZWdpb24oMCwgTE9XTUVNU0laRSgpLCBFODIwX1JBTSk7CisJZTgyMF9hZGRfcmVnaW9uKEhJR0hfTUVNT1JZLCBtZW1fc2l6ZSAtIHNnaXZ3ZmJfbWVtX3NpemUgLSBISUdIX01FTU9SWSwgRTgyMF9SQU0pOworCWU4MjBfYWRkX3JlZ2lvbihzZ2l2d2ZiX21lbV9waHlzLCBzZ2l2d2ZiX21lbV9zaXplLCBFODIwX1JFU0VSVkVEKTsKKworCXJldHVybiAiUFJPTSI7Cit9CisKK3N0YXRpYyB2b2lkIHZpc3dzX21hY2hpbmVfZW1lcmdlbmN5X3Jlc3RhcnQodm9pZCkKK3sKKwkvKgorCSAqIFZpc3VhbCBXb3Jrc3RhdGlvbnMgcmVzdGFydCBhZnRlciB0aGlzCisJICogcmVnaXN0ZXIgaXMgcG9rZWQgb24gdGhlIFBJSVg0CisJICovCisJb3V0YihQSUlYNF9SRVNFVF9WQUwsIFBJSVg0X1JFU0VUX1BPUlQpOworfQorCitzdGF0aWMgdm9pZCB2aXN3c19tYWNoaW5lX3Bvd2VyX29mZih2b2lkKQoreworCXVuc2lnbmVkIHNob3J0IHBtX3N0YXR1czsKKy8qCWV4dGVybiB1bnNpZ25lZCBpbnQgcGNpX2J1czA7ICovCisKKwl3aGlsZSAoKHBtX3N0YXR1cyA9IGludyhQTVNUU19QT1JUKSkgJiAweDEwMCkKKwkJb3V0dyhwbV9zdGF0dXMsIFBNU1RTX1BPUlQpOworCisJb3V0dyhQTV9TVVNQRU5EX0VOQUJMRSwgUE1DTlRSTF9QT1JUKTsKKworCW1kZWxheSgxMCk7CisKKyNkZWZpbmUgUENJX0NPTkYxX0FERFJFU1MoYnVzLCBkZXZmbiwgcmVnKSBcCisJKDB4ODAwMDAwMDAgfCAoYnVzIDw8IDE2KSB8IChkZXZmbiA8PCA4KSB8IChyZWcgJiB+MykpCisKKy8qCW91dGwoUENJX0NPTkYxX0FERFJFU1MocGNpX2J1czAsIFNQRUNJQUxfREVWLCBTUEVDSUFMX1JFRyksIDB4Q0Y4KTsgKi8KKwlvdXRsKFBJSVhfU1BFQ0lBTF9TVE9QLCAweENGQyk7Cit9CisKK3N0YXRpYyBpbnQgX19pbml0IHZpc3dzX2dldF9zbXBfY29uZmlnX3F1aXJrKHVuc2lnbmVkIGludCBlYXJseSkKK3sKKwkvKgorCSAqIFByZXZlbnQgTVAtdGFibGUgcGFyc2luZyBieSB0aGUgZ2VuZXJpYyBjb2RlOgorCSAqLworCXJldHVybiAxOworfQorCitleHRlcm4gdW5zaWduZWQgaW50IF9fY3B1aW5pdGRhdGEgbWF4Y3B1czsKKworLyoKKyAqIFRoZSBWaXN1YWwgV29ya3N0YXRpb24gaXMgSW50ZWwgTVAgY29tcGxpYW50IGluIHRoZSBoYXJkd2FyZQorICogc2Vuc2UsIGJ1dCBpdCBkb2Vzbid0IGhhdmUgYSBCSU9TKC1jb25maWd1cmF0aW9uIHRhYmxlKS4KKyAqIE5vIHByb2JsZW0gZm9yIExpbnV4LgorICovCisKK3N0YXRpYyB2b2lkIF9faW5pdCBNUF9wcm9jZXNzb3JfaW5mbyAoc3RydWN0IG1wY19jb25maWdfcHJvY2Vzc29yICptKQoreworCWludCB2ZXIsIGxvZ2ljYWxfYXBpY2lkOworCXBoeXNpZF9tYXNrX3QgYXBpY19jcHVzOworCisJaWYgKCEobS0+bXBjX2NwdWZsYWcgJiBDUFVfRU5BQkxFRCkpCisJCXJldHVybjsKKworCWxvZ2ljYWxfYXBpY2lkID0gbS0+bXBjX2FwaWNpZDsKKwlwcmludGsoS0VSTl9JTkZPICIlc0NQVSAjJWQgJXU6JXUgQVBJQyB2ZXJzaW9uICVkXG4iLAorCSAgICAgICBtLT5tcGNfY3B1ZmxhZyAmIENQVV9CT09UUFJPQ0VTU09SID8gIkJvb3R1cCAiIDogIiIsCisJICAgICAgIG0tPm1wY19hcGljaWQsCisJICAgICAgIChtLT5tcGNfY3B1ZmVhdHVyZSAmIENQVV9GQU1JTFlfTUFTSykgPj4gOCwKKwkgICAgICAgKG0tPm1wY19jcHVmZWF0dXJlICYgQ1BVX01PREVMX01BU0spID4+IDQsCisJICAgICAgIG0tPm1wY19hcGljdmVyKTsKKworCWlmIChtLT5tcGNfY3B1ZmxhZyAmIENQVV9CT09UUFJPQ0VTU09SKQorCQlib290X2NwdV9waHlzaWNhbF9hcGljaWQgPSBtLT5tcGNfYXBpY2lkOworCisJdmVyID0gbS0+bXBjX2FwaWN2ZXI7CisJaWYgKCh2ZXIgPj0gMHgxNCAmJiBtLT5tcGNfYXBpY2lkID49IDB4ZmYpIHx8IG0tPm1wY19hcGljaWQgPj0gMHhmKSB7CisJCXByaW50ayhLRVJOX0VSUiAiUHJvY2Vzc29yICMlZCBJTlZBTElELiAoTWF4IElEOiAlZCkuXG4iLAorCQkJbS0+bXBjX2FwaWNpZCwgTUFYX0FQSUNTKTsKKwkJcmV0dXJuOworCX0KKworCWFwaWNfY3B1cyA9IGFwaWNpZF90b19jcHVfcHJlc2VudChtLT5tcGNfYXBpY2lkKTsKKwlwaHlzaWRzX29yKHBoeXNfY3B1X3ByZXNlbnRfbWFwLCBwaHlzX2NwdV9wcmVzZW50X21hcCwgYXBpY19jcHVzKTsKKwkvKgorCSAqIFZhbGlkYXRlIHZlcnNpb24KKwkgKi8KKwlpZiAodmVyID09IDB4MCkgeworCQlwcmludGsoS0VSTl9FUlIgIkJJT1MgYnVnLCBBUElDIHZlcnNpb24gaXMgMCBmb3IgQ1BVIyVkISAiCisJCQkiZml4aW5nIHVwIHRvIDB4MTAuICh0ZWxsIHlvdXIgaHcgdmVuZG9yKVxuIiwKKwkJCW0tPm1wY19hcGljaWQpOworCQl2ZXIgPSAweDEwOworCX0KKwlhcGljX3ZlcnNpb25bbS0+bXBjX2FwaWNpZF0gPSB2ZXI7Cit9CisKK2ludCBfX2luaXQgdmlzd3NfZmluZF9zbXBfY29uZmlnX3F1aXJrKHVuc2lnbmVkIGludCByZXNlcnZlKQoreworCXN0cnVjdCBtcGNfY29uZmlnX3Byb2Nlc3NvciAqbXAgPSBwaHlzX3RvX3ZpcnQoQ09fQ1BVX1RBQl9QSFlTKTsKKwl1bnNpZ25lZCBzaG9ydCBuY3B1cyA9IHJlYWR3KHBoeXNfdG9fdmlydChDT19DUFVfTlVNX1BIWVMpKTsKKworCWlmIChuY3B1cyA+IENPX0NQVV9NQVgpIHsKKwkJcHJpbnRrKEtFUk5fV0FSTklORyAiZmluZF92aXN3c19zbXA6IGdvdCBjcHUgY291bnQgb2YgJWQgYXQgJXBcbiIsCisJCQluY3B1cywgbXApOworCisJCW5jcHVzID0gQ09fQ1BVX01BWDsKKwl9CisKKwlpZiAobmNwdXMgPiBtYXhjcHVzKQorCQluY3B1cyA9IG1heGNwdXM7CisKKyNpZmRlZiBDT05GSUdfWDg2X0xPQ0FMX0FQSUMKKwlzbXBfZm91bmRfY29uZmlnID0gMTsKKyNlbmRpZgorCXdoaWxlIChuY3B1cy0tKQorCQlNUF9wcm9jZXNzb3JfaW5mbyhtcCsrKTsKKworCW1wX2xhcGljX2FkZHIgPSBBUElDX0RFRkFVTFRfUEhZU19CQVNFOworCisJcmV0dXJuIDE7Cit9CisKK2V4dGVybiBpbnQgdmlzd3NfdHJhcF9pbml0X3F1aXJrKHZvaWQpOworCit2b2lkIF9faW5pdCB2aXN3c19lYXJseV9kZXRlY3Qodm9pZCkKK3sKKwlpbnQgcmF3OworCisJdmlzd3NfYm9hcmRfdHlwZSA9IChjaGFyKShpbmJfcChQSUlYX0dQSV9CRF9SRUcpICYgUElJWF9HUElfQkRfUkVHKQorCQkJCQkJCSA+PiBQSUlYX0dQSV9CRF9TSElGVDsKKworCWlmICh2aXN3c19ib2FyZF90eXBlIDwgMCkKKwkJcmV0dXJuOworCisJLyoKKwkgKiBJbnN0YWxsIHNwZWNpYWwgcXVpcmtzIGZvciB0aW1lciwgaW50ZXJydXB0IGFuZCBtZW1vcnkgc2V0dXA6CisJICovCisJYXJjaF90aW1lX2luaXRfcXVpcmsJCT0gdmlzd3NfdGltZV9pbml0X3F1aXJrOworCWFyY2hfcHJlX2ludHJfaW5pdF9xdWlyawk9IHZpc3dzX3ByZV9pbnRyX2luaXRfcXVpcms7CisJYXJjaF9tZW1vcnlfc2V0dXBfcXVpcmsJCT0gdmlzd3NfbWVtb3J5X3NldHVwX3F1aXJrOworCisJLyoKKwkgKiBGYWxsIGJhY2sgdG8gZ2VuZXJpYyBiZWhhdmlvciBmb3IgdHJhcHM6CisJICovCisJYXJjaF9pbnRyX2luaXRfcXVpcmsJCT0gTlVMTDsKKwlhcmNoX3RyYXBfaW5pdF9xdWlyawkJPSB2aXN3c190cmFwX2luaXRfcXVpcms7CisKKwkvKgorCSAqIEluc3RhbGwgcmVib290IHF1aXJrczoKKwkgKi8KKwlwbV9wb3dlcl9vZmYJCQk9IHZpc3dzX21hY2hpbmVfcG93ZXJfb2ZmOworCW1hY2hpbmVfb3BzLmVtZXJnZW5jeV9yZXN0YXJ0CT0gdmlzd3NfbWFjaGluZV9lbWVyZ2VuY3lfcmVzdGFydDsKKworCS8qCisJICogRG8gbm90IHVzZSBicm9hZGNhc3QgSVBJczoKKwkgKi8KKwlub19icm9hZGNhc3QgPSAwOworCisJLyoKKwkgKiBPdmVycmlkZSBnZW5lcmljIE1QLXRhYmxlIHBhcnNpbmc6CisJICovCisJbWFjaF9nZXRfc21wX2NvbmZpZ19xdWlyawk9IHZpc3dzX2dldF9zbXBfY29uZmlnX3F1aXJrOworCW1hY2hfZmluZF9zbXBfY29uZmlnX3F1aXJrCT0gdmlzd3NfZmluZF9zbXBfY29uZmlnX3F1aXJrOworCisjaWZkZWYgQ09ORklHX1g4Nl9JT19BUElDCisJLyoKKwkgKiBUdXJuIG9mZiBJTy1BUElDIGRldGVjdGlvbiBhbmQgaW5pdGlhbGl6YXRpb246CisJICovCisJc2tpcF9pb2FwaWNfc2V0dXAJCT0gMTsKKyNlbmRpZgorCisJLyoKKwkgKiBHZXQgQm9hcmQgcmV2LgorCSAqIEZpcnN0LCB3ZSBoYXZlIHRvIGluaXRpYWxpemUgdGhlIDMwNyBwYXJ0IHRvIGFsbG93IHVzIGFjY2VzcworCSAqIHRvIHRoZSBHUElPIHJlZ2lzdGVycy4gIExldCdzIG1hcCB0aGVtIGF0IDB4MGZjMCB3aGljaCBpcyByaWdodAorCSAqIGFmdGVyIHRoZSBQSUlYNCBQTSBzZWN0aW9uLgorCSAqLworCW91dGJfcChTSU9fREVWX1NFTCwgU0lPX0lOREVYKTsKKwlvdXRiX3AoU0lPX0dQX0RFViwgU0lPX0RBVEEpOwkvKiBUYWxrIHRvIEdQSU8gcmVncy4gKi8KKworCW91dGJfcChTSU9fREVWX01TQiwgU0lPX0lOREVYKTsKKwlvdXRiX3AoU0lPX0dQX01TQiwgU0lPX0RBVEEpOwkvKiBNU0Igb2YgR1BJTyBiYXNlIGFkZHJlc3MgKi8KKworCW91dGJfcChTSU9fREVWX0xTQiwgU0lPX0lOREVYKTsKKwlvdXRiX3AoU0lPX0dQX0xTQiwgU0lPX0RBVEEpOwkvKiBMU0Igb2YgR1BJTyBiYXNlIGFkZHJlc3MgKi8KKworCW91dGJfcChTSU9fREVWX0VOQiwgU0lPX0lOREVYKTsKKwlvdXRiX3AoMSwgU0lPX0RBVEEpOwkJLyogRW5hYmxlIEdQSU8gcmVnaXN0ZXJzLiAqLworCisJLyoKKwkgKiBOb3csIHdlIGhhdmUgdG8gbWFwIHRoZSBwb3dlciBtYW5hZ2VtZW50IHNlY3Rpb24gdG8gd3JpdGUKKwkgKiBhIGJpdCB3aGljaCBlbmFibGVzIGFjY2VzcyB0byB0aGUgR1BJTyByZWdpc3RlcnMuCisJICogV2hhdCBsdW5hdGljIGNhbWUgdXAgd2l0aCB0aGlzIHNoaXQ/CisJICovCisJb3V0Yl9wKFNJT19ERVZfU0VMLCBTSU9fSU5ERVgpOworCW91dGJfcChTSU9fUE1fREVWLCBTSU9fREFUQSk7CS8qIFRhbGsgdG8gR1BJTyByZWdzLiAqLworCisJb3V0Yl9wKFNJT19ERVZfTVNCLCBTSU9fSU5ERVgpOworCW91dGJfcChTSU9fUE1fTVNCLCBTSU9fREFUQSk7CS8qIE1TQiBvZiBQTSBiYXNlIGFkZHJlc3MgKi8KKworCW91dGJfcChTSU9fREVWX0xTQiwgU0lPX0lOREVYKTsKKwlvdXRiX3AoU0lPX1BNX0xTQiwgU0lPX0RBVEEpOwkvKiBMU0Igb2YgUE0gYmFzZSBhZGRyZXNzICovCisKKwlvdXRiX3AoU0lPX0RFVl9FTkIsIFNJT19JTkRFWCk7CisJb3V0Yl9wKDEsIFNJT19EQVRBKTsJCS8qIEVuYWJsZSBQTSByZWdpc3RlcnMuICovCisKKwkvKgorCSAqIE5vdywgd3JpdGUgdGhlIFBNIHJlZ2lzdGVyIHdoaWNoIGVuYWJsZXMgdGhlIEdQSU8gcmVnaXN0ZXJzLgorCSAqLworCW91dGJfcChTSU9fUE1fRkVSMiwgU0lPX1BNX0lOREVYKTsKKwlvdXRiX3AoU0lPX1BNX0dQX0VOLCBTSU9fUE1fREFUQSk7CisKKwkvKgorCSAqIE5vdywgaW5pdGlhbGl6ZSB0aGUgR1BJTyByZWdpc3RlcnMuCisJICogV2Ugd2FudCB0aGVtIGFsbCB0byBiZSBpbnB1dHMgd2hpY2ggaXMgdGhlCisJICogcG93ZXIgb24gZGVmYXVsdCwgc28gbGV0J3MgbGVhdmUgdGhlbSBhbG9uZS4KKwkgKiBTbywgbGV0J3MganVzdCByZWFkIHRoZSBib2FyZCByZXYhCisJICovCisJcmF3ID0gaW5iX3AoU0lPX0dQX0RBVEExKTsKKwlyYXcgJj0gMHg3ZjsJLyogNyBiaXRzIG9mIHZhbGlkIGJvYXJkIHJldmlzaW9uIElELiAqLworCisJaWYgKHZpc3dzX2JvYXJkX3R5cGUgPT0gVklTV1NfMzIwKSB7CisJCWlmIChyYXcgPCAweDYpIHsKKwkJCXZpc3dzX2JvYXJkX3JldiA9IDQ7CisJCX0gZWxzZSBpZiAocmF3IDwgMHhjKSB7CisJCQl2aXN3c19ib2FyZF9yZXYgPSA1OworCQl9IGVsc2UgeworCQkJdmlzd3NfYm9hcmRfcmV2ID0gNjsKKwkJfQorCX0gZWxzZSBpZiAodmlzd3NfYm9hcmRfdHlwZSA9PSBWSVNXU181NDApIHsKKwkJCXZpc3dzX2JvYXJkX3JldiA9IDI7CisJCX0gZWxzZSB7CisJCQl2aXN3c19ib2FyZF9yZXYgPSByYXc7CisJCX0KKworCXByaW50ayhLRVJOX0lORk8gIlNpbGljb24gR3JhcGhpY3MgVmlzdWFsIFdvcmtzdGF0aW9uICVzIChyZXYgJWQpIGRldGVjdGVkXG4iLAorCSAgICAgICAodmlzd3NfYm9hcmRfdHlwZSA9PSBWSVNXU18zMjAgPyAiMzIwIiA6CisJICAgICAgICh2aXN3c19ib2FyZF90eXBlID09IFZJU1dTXzU0MCA/ICI1NDAiIDoKKwkJInVua25vd24iKSksIHZpc3dzX2JvYXJkX3Jldik7Cit9CisKKyNkZWZpbmUgQTAxMjM0IChMSV9JTlRBXzAgfCBMSV9JTlRBXzEgfCBMSV9JTlRBXzIgfCBMSV9JTlRBXzMgfCBMSV9JTlRBXzQpCisjZGVmaW5lIEJDRCAoTElfSU5UQiB8IExJX0lOVEMgfCBMSV9JTlREKQorI2RlZmluZSBBTExERVZTIChBMDEyMzQgfCBCQ0QpCisKK3N0YXRpYyBfX2luaXQgdm9pZCBsaXRoaXVtX2luaXQodm9pZCkKK3sKKwlzZXRfZml4bWFwKEZJWF9MSV9QQ0lBLCBMSV9QQ0lfQV9QSFlTKTsKKwlzZXRfZml4bWFwKEZJWF9MSV9QQ0lCLCBMSV9QQ0lfQl9QSFlTKTsKKworCWlmICgobGlfcGNpYV9yZWFkMTYoUENJX1ZFTkRPUl9JRCkgIT0gUENJX1ZFTkRPUl9JRF9TR0kpIHx8CisJICAgIChsaV9wY2lhX3JlYWQxNihQQ0lfREVWSUNFX0lEKSAhPSBQQ0lfREVWSUNFX0lEX1NHSV9MSVRISVVNKSkgeworCQlwcmludGsoS0VSTl9FTUVSRyAiTGl0aGl1bSBob3N0YnJpZGdlICVjIG5vdCBmb3VuZFxuIiwgJ0EnKTsKKy8qCQlwYW5pYygiVGhpcyBtYWNoaW5lIGlzIG5vdCBTR0kgVmlzdWFsIFdvcmtzdGF0aW9uIDMyMC81NDAiKTsgKi8KKwl9CisKKwlpZiAoKGxpX3BjaWJfcmVhZDE2KFBDSV9WRU5ET1JfSUQpICE9IFBDSV9WRU5ET1JfSURfU0dJKSB8fAorCSAgICAobGlfcGNpYl9yZWFkMTYoUENJX0RFVklDRV9JRCkgIT0gUENJX0RFVklDRV9JRF9TR0lfTElUSElVTSkpIHsKKwkJcHJpbnRrKEtFUk5fRU1FUkcgIkxpdGhpdW0gaG9zdGJyaWRnZSAlYyBub3QgZm91bmRcbiIsICdCJyk7CisvKgkJcGFuaWMoIlRoaXMgbWFjaGluZSBpcyBub3QgU0dJIFZpc3VhbCBXb3Jrc3RhdGlvbiAzMjAvNTQwIik7ICovCisJfQorCisJbGlfcGNpYV93cml0ZTE2KExJX1BDSV9JTlRFTiwgQUxMREVWUyk7CisJbGlfcGNpYl93cml0ZTE2KExJX1BDSV9JTlRFTiwgQUxMREVWUyk7Cit9CisKK3N0YXRpYyBfX2luaXQgdm9pZCBjb2JhbHRfaW5pdCh2b2lkKQoreworCS8qCisJICogT24gbm9ybWFsIFNNUCBQQyB0aGlzIGlzIHVzZWQgb25seSB3aXRoIFNNUCwgYnV0IHdlIGhhdmUgdG8KKwkgKiB1c2UgaXQgYW5kIHNldCBpdCB1cCBoZXJlIHRvIHN0YXJ0IHRoZSBDb2JhbHQgY2xvY2sKKwkgKi8KKwlzZXRfZml4bWFwKEZJWF9BUElDX0JBU0UsIEFQSUNfREVGQVVMVF9QSFlTX0JBU0UpOworCXNldHVwX2xvY2FsX0FQSUMoKTsKKwlwcmludGsoS0VSTl9JTkZPICJMb2NhbCBBUElDIFZlcnNpb24gJSN4LCBJRCAlI3hcbiIsCisJCSh1bnNpZ25lZCBpbnQpYXBpY19yZWFkKEFQSUNfTFZSKSwKKwkJKHVuc2lnbmVkIGludClhcGljX3JlYWQoQVBJQ19JRCkpOworCisJc2V0X2ZpeG1hcChGSVhfQ09fQ1BVLCBDT19DUFVfUEhZUyk7CisJc2V0X2ZpeG1hcChGSVhfQ09fQVBJQywgQ09fQVBJQ19QSFlTKTsKKwlwcmludGsoS0VSTl9JTkZPICJDb2JhbHQgUmV2aXNpb24gJSNseCwgQVBJQyBJRCAlI2x4XG4iLAorCQljb19jcHVfcmVhZChDT19DUFVfUkVWKSwgY29fYXBpY19yZWFkKENPX0FQSUNfSUQpKTsKKworCS8qIEVuYWJsZSBDb2JhbHQgQVBJQyBiZWluZyBjYXJlZnVsIHRvIE5PVCBjaGFuZ2UgdGhlIElEISAqLworCWNvX2FwaWNfd3JpdGUoQ09fQVBJQ19JRCwgY29fYXBpY19yZWFkKENPX0FQSUNfSUQpIHwgQ09fQVBJQ19FTkFCTEUpOworCisJcHJpbnRrKEtFUk5fSU5GTyAiQ29iYWx0IEFQSUMgZW5hYmxlZDogSUQgcmVnICUjbHhcbiIsCisJCWNvX2FwaWNfcmVhZChDT19BUElDX0lEKSk7Cit9CisKK2ludCBfX2luaXQgdmlzd3NfdHJhcF9pbml0X3F1aXJrKHZvaWQpCit7CisJbGl0aGl1bV9pbml0KCk7CisJY29iYWx0X2luaXQoKTsKKworCXJldHVybiAxOworfQorCisvKgorICogSVJRIGNvbnRyb2xsZXIgLyBBUElDIHN1cHBvcnQ6CisgKi8KKworc3RhdGljIERFRklORV9TUElOTE9DSyhjb2JhbHRfbG9jayk7CisKKy8qCisgKiBTZXQgdGhlIGdpdmVuIENvYmFsdCBBUElDIFJlZGlyZWN0aW9uIFRhYmxlIGVudHJ5IHRvIHBvaW50CisgKiB0byB0aGUgZ2l2ZW4gSURUIHZlY3Rvci9pbmRleC4KKyAqLworc3RhdGljIGlubGluZSB2b2lkIGNvX2FwaWNfc2V0KGludCBlbnRyeSwgaW50IGlycSkKK3sKKwljb19hcGljX3dyaXRlKENPX0FQSUNfTE8oZW50cnkpLCBDT19BUElDX0xFVkVMIHwgKGlycSArIEZJUlNUX0VYVEVSTkFMX1ZFQ1RPUikpOworCWNvX2FwaWNfd3JpdGUoQ09fQVBJQ19ISShlbnRyeSksIDApOworfQorCisvKgorICogQ29iYWx0IChJTyktQVBJQyBmdW5jdGlvbnMgdG8gaGFuZGxlIFBDSSBkZXZpY2VzLgorICovCitzdGF0aWMgaW5saW5lIGludCBjb19hcGljX2lkZTBfaGFjayh2b2lkKQoreworCWV4dGVybiBjaGFyIHZpc3dzX2JvYXJkX3R5cGU7CisJZXh0ZXJuIGNoYXIgdmlzd3NfYm9hcmRfcmV2OworCisJaWYgKHZpc3dzX2JvYXJkX3R5cGUgPT0gVklTV1NfMzIwICYmIHZpc3dzX2JvYXJkX3JldiA9PSA1KQorCQlyZXR1cm4gNTsKKwlyZXR1cm4gQ09fQVBJQ19JREUwOworfQorCitzdGF0aWMgaW50IGlzX2NvX2FwaWModW5zaWduZWQgaW50IGlycSkKK3sKKwlpZiAoSVNfQ09fQVBJQyhpcnEpKQorCQlyZXR1cm4gQ09fQVBJQyhpcnEpOworCisJc3dpdGNoIChpcnEpIHsKKwkJY2FzZSAwOiByZXR1cm4gQ09fQVBJQ19DUFU7CisJCWNhc2UgQ09fSVJRX0lERTA6IHJldHVybiBjb19hcGljX2lkZTBfaGFjaygpOworCQljYXNlIENPX0lSUV9JREUxOiByZXR1cm4gQ09fQVBJQ19JREUxOworCQlkZWZhdWx0OiByZXR1cm4gLTE7CisJfQorfQorCisKKy8qCisgKiBUaGlzIGlzIHRoZSBTR0kgQ29iYWx0IChJTy0pQVBJQzoKKyAqLworCitzdGF0aWMgdm9pZCBlbmFibGVfY29iYWx0X2lycSh1bnNpZ25lZCBpbnQgaXJxKQoreworCWNvX2FwaWNfc2V0KGlzX2NvX2FwaWMoaXJxKSwgaXJxKTsKK30KKworc3RhdGljIHZvaWQgZGlzYWJsZV9jb2JhbHRfaXJxKHVuc2lnbmVkIGludCBpcnEpCit7CisJaW50IGVudHJ5ID0gaXNfY29fYXBpYyhpcnEpOworCisJY29fYXBpY193cml0ZShDT19BUElDX0xPKGVudHJ5KSwgQ09fQVBJQ19NQVNLKTsKKwljb19hcGljX3JlYWQoQ09fQVBJQ19MTyhlbnRyeSkpOworfQorCisvKgorICogImlycSIgcmVhbGx5IGp1c3Qgc2VydmVzIHRvIGlkZW50aWZ5IHRoZSBkZXZpY2UuICBIZXJlIGlzIHdoZXJlIHdlCisgKiBtYXAgdGhpcyB0byB0aGUgQ29iYWx0IEFQSUMgZW50cnkgd2hlcmUgaXQncyBwaHlzaWNhbGx5IHdpcmVkLgorICogVGhpcyBpcyBjYWxsZWQgdmlhIHJlcXVlc3RfaXJxIC0+IHNldHVwX2lycSAtPiBpcnFfZGVzYy0+c3RhcnR1cCgpCisgKi8KK3N0YXRpYyB1bnNpZ25lZCBpbnQgc3RhcnR1cF9jb2JhbHRfaXJxKHVuc2lnbmVkIGludCBpcnEpCit7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKworCXNwaW5fbG9ja19pcnFzYXZlKCZjb2JhbHRfbG9jaywgZmxhZ3MpOworCWlmICgoaXJxX2Rlc2NbaXJxXS5zdGF0dXMgJiAoSVJRX0RJU0FCTEVEIHwgSVJRX0lOUFJPR1JFU1MgfCBJUlFfV0FJVElORykpKQorCQlpcnFfZGVzY1tpcnFdLnN0YXR1cyAmPSB+KElSUV9ESVNBQkxFRCB8IElSUV9JTlBST0dSRVNTIHwgSVJRX1dBSVRJTkcpOworCWVuYWJsZV9jb2JhbHRfaXJxKGlycSk7CisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmY29iYWx0X2xvY2ssIGZsYWdzKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgYWNrX2NvYmFsdF9pcnEodW5zaWduZWQgaW50IGlycSkKK3sKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCisJc3Bpbl9sb2NrX2lycXNhdmUoJmNvYmFsdF9sb2NrLCBmbGFncyk7CisJZGlzYWJsZV9jb2JhbHRfaXJxKGlycSk7CisJYXBpY193cml0ZShBUElDX0VPSSwgQVBJQ19FSU9fQUNLKTsKKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZjb2JhbHRfbG9jaywgZmxhZ3MpOworfQorCitzdGF0aWMgdm9pZCBlbmRfY29iYWx0X2lycSh1bnNpZ25lZCBpbnQgaXJxKQoreworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisKKwlzcGluX2xvY2tfaXJxc2F2ZSgmY29iYWx0X2xvY2ssIGZsYWdzKTsKKwlpZiAoIShpcnFfZGVzY1tpcnFdLnN0YXR1cyAmIChJUlFfRElTQUJMRUQgfCBJUlFfSU5QUk9HUkVTUykpKQorCQllbmFibGVfY29iYWx0X2lycShpcnEpOworCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmNvYmFsdF9sb2NrLCBmbGFncyk7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgaXJxX2NoaXAgY29iYWx0X2lycV90eXBlID0geworCS50eXBlbmFtZSA9CSJDb2JhbHQtQVBJQyIsCisJLnN0YXJ0dXAgPQlzdGFydHVwX2NvYmFsdF9pcnEsCisJLnNodXRkb3duID0JZGlzYWJsZV9jb2JhbHRfaXJxLAorCS5lbmFibGUgPQllbmFibGVfY29iYWx0X2lycSwKKwkuZGlzYWJsZSA9CWRpc2FibGVfY29iYWx0X2lycSwKKwkuYWNrID0JCWFja19jb2JhbHRfaXJxLAorCS5lbmQgPQkJZW5kX2NvYmFsdF9pcnEsCit9OworCisKKy8qCisgKiBUaGlzIGlzIHRoZSBQSUlYNC1iYXNlZCA4MjU5IHRoYXQgaXMgd2lyZWQgdXAgaW5kaXJlY3RseSB0byBDb2JhbHQKKyAqIC0tIG5vdCB0aGUgbWFubmVyIGV4cGVjdGVkIGJ5IHRoZSBjb2RlIGluIGk4MjU5LmMuCisgKgorICogdGhlcmUgaXMgYSAnbWFzdGVyJyBwaHlzaWNhbCBpbnRlcnJ1cHQgc291cmNlIHRoYXQgZ2V0cyBzZW50IHRvCisgKiB0aGUgQ1BVLiBCdXQgaW4gdGhlIGNoaXBzZXQgdGhlcmUgYXJlIHZhcmlvdXMgJ3ZpcnR1YWwnIGludGVycnVwdHMKKyAqIHdhaXRpbmcgdG8gYmUgaGFuZGxlZC4gV2UgcmVwcmVzZW50IHRoaXMgdG8gTGludXggdGhyb3VnaCBhICdtYXN0ZXInCisgKiBpbnRlcnJ1cHQgY29udHJvbGxlciB0eXBlLCBhbmQgdGhyb3VnaCBhIHNwZWNpYWwgdmlydHVhbCBpbnRlcnJ1cHQtCisgKiBjb250cm9sbGVyLiBEZXZpY2UgZHJpdmVycyBvbmx5IHNlZSB0aGUgdmlydHVhbCBpbnRlcnJ1cHQgc291cmNlcy4KKyAqLworc3RhdGljIHVuc2lnbmVkIGludCBzdGFydHVwX3BpaXg0X21hc3Rlcl9pcnEodW5zaWduZWQgaW50IGlycSkKK3sKKwlpbml0XzgyNTlBKDApOworCisJcmV0dXJuIHN0YXJ0dXBfY29iYWx0X2lycShpcnEpOworfQorCitzdGF0aWMgdm9pZCBlbmRfcGlpeDRfbWFzdGVyX2lycSh1bnNpZ25lZCBpbnQgaXJxKQoreworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisKKwlzcGluX2xvY2tfaXJxc2F2ZSgmY29iYWx0X2xvY2ssIGZsYWdzKTsKKwllbmFibGVfY29iYWx0X2lycShpcnEpOworCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmNvYmFsdF9sb2NrLCBmbGFncyk7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgaXJxX2NoaXAgcGlpeDRfbWFzdGVyX2lycV90eXBlID0geworCS50eXBlbmFtZSA9CSJQSUlYNC1tYXN0ZXIiLAorCS5zdGFydHVwID0Jc3RhcnR1cF9waWl4NF9tYXN0ZXJfaXJxLAorCS5hY2sgPQkJYWNrX2NvYmFsdF9pcnEsCisJLmVuZCA9CQllbmRfcGlpeDRfbWFzdGVyX2lycSwKK307CisKKworc3RhdGljIHN0cnVjdCBpcnFfY2hpcCBwaWl4NF92aXJ0dWFsX2lycV90eXBlID0geworCS50eXBlbmFtZSA9CSJQSUlYNC12aXJ0dWFsIiwKKwkuc2h1dGRvd24gPQlkaXNhYmxlXzgyNTlBX2lycSwKKwkuZW5hYmxlID0JZW5hYmxlXzgyNTlBX2lycSwKKwkuZGlzYWJsZSA9CWRpc2FibGVfODI1OUFfaXJxLAorfTsKKworCisvKgorICogUElJWDQtODI1OSBtYXN0ZXIvdmlydHVhbCBmdW5jdGlvbnMgdG8gaGFuZGxlIGludGVycnVwdCByZXF1ZXN0cworICogZnJvbSBsZWdhY3kgZGV2aWNlczogZmxvcHB5LCBwYXJhbGxlbCwgc2VyaWFsLCBydGMuCisgKgorICogTm9uZSBvZiB0aGVzZSBnZXQgQ29iYWx0IEFQSUMgZW50cmllcywgbmVpdGhlciBkbyB0aGV5IGhhdmUgSURUCisgKiBlbnRyaWVzLiBUaGVzZSBpbnRlcnJ1cHRzIGFyZSBwdXJlbHkgdmlydHVhbCBhbmQgZGlzdHJpYnV0ZWQgZnJvbQorICogdGhlICdtYXN0ZXInIGludGVycnVwdCBzb3VyY2U6IENPX0lSUV84MjU5LgorICoKKyAqIFdoZW4gdGhlIDgyNTkgaW50ZXJydXB0cyBpdHMgaGFuZGxlciBmaWd1cmVzIG91dCB3aGljaCBvZiB0aGVzZQorICogZGV2aWNlcyBpcyBpbnRlcnJ1cHRpbmcgYW5kIGRpc3BhdGNoZXMgdG8gaXRzIGhhbmRsZXIuCisgKgorICogQ0FSRUZVTDogZGV2aWNlcyBzZWUgdGhlICd2aXJ0dWFsJyBpbnRlcnJ1cHQgb25seS4gVGh1cyBkaXNhYmxlLworICogZW5hYmxlX2lycSBnZXRzIHRoZSByaWdodCBpcnEuIFRoaXMgJ21hc3RlcicgaXJxIGlzIG5ldmVyIGRpcmVjdGx5CisgKiBtYW5pcHVsYXRlZCBieSBhbnkgZHJpdmVyLgorICovCitzdGF0aWMgaXJxcmV0dXJuX3QgcGlpeDRfbWFzdGVyX2ludHIoaW50IGlycSwgdm9pZCAqZGV2X2lkKQoreworCWludCByZWFsaXJxOworCWlycV9kZXNjX3QgKmRlc2M7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKworCXNwaW5fbG9ja19pcnFzYXZlKCZpODI1OUFfbG9jaywgZmxhZ3MpOworCisJLyogRmluZCBvdXQgd2hhdCdzIGludGVycnVwdGluZyBpbiB0aGUgUElJWDQgbWFzdGVyIDgyNTkgKi8KKwlvdXRiKDB4MGMsIDB4MjApOwkJLyogT0NXMyBQb2xsIGNvbW1hbmQgKi8KKwlyZWFsaXJxID0gaW5iKDB4MjApOworCisJLyoKKwkgKiBCaXQgNyA9PSAwIG1lYW5zIGludmFsaWQvc3B1cmlvdXMKKwkgKi8KKwlpZiAodW5saWtlbHkoIShyZWFsaXJxICYgMHg4MCkpKQorCQlnb3RvIG91dF91bmxvY2s7CisKKwlyZWFsaXJxICY9IDc7CisKKwlpZiAodW5saWtlbHkocmVhbGlycSA9PSAyKSkgeworCQlvdXRiKDB4MGMsIDB4YTApOworCQlyZWFsaXJxID0gaW5iKDB4YTApOworCisJCWlmICh1bmxpa2VseSghKHJlYWxpcnEgJiAweDgwKSkpCisJCQlnb3RvIG91dF91bmxvY2s7CisKKwkJcmVhbGlycSA9IChyZWFsaXJxICYgNykgKyA4OworCX0KKworCS8qIG1hc2sgYW5kIGFjayBpbnRlcnJ1cHQgKi8KKwljYWNoZWRfaXJxX21hc2sgfD0gMSA8PCByZWFsaXJxOworCWlmICh1bmxpa2VseShyZWFsaXJxID4gNykpIHsKKwkJaW5iKDB4YTEpOworCQlvdXRiKGNhY2hlZF9zbGF2ZV9tYXNrLCAweGExKTsKKwkJb3V0YigweDYwICsgKHJlYWxpcnEgJiA3KSwgMHhhMCk7CisJCW91dGIoMHg2MCArIDIsIDB4MjApOworCX0gZWxzZSB7CisJCWluYigweDIxKTsKKwkJb3V0YihjYWNoZWRfbWFzdGVyX21hc2ssIDB4MjEpOworCQlvdXRiKDB4NjAgKyByZWFsaXJxLCAweDIwKTsKKwl9CisKKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZpODI1OUFfbG9jaywgZmxhZ3MpOworCisJZGVzYyA9IGlycV9kZXNjICsgcmVhbGlycTsKKworCS8qCisJICogaGFuZGxlIHRoaXMgJ3ZpcnR1YWwgaW50ZXJydXB0JyBhcyBhIENvYmFsdCBvbmUgbm93LgorCSAqLworCWtzdGF0X2NwdShzbXBfcHJvY2Vzc29yX2lkKCkpLmlycXNbcmVhbGlycV0rKzsKKworCWlmIChsaWtlbHkoZGVzYy0+YWN0aW9uICE9IE5VTEwpKQorCQloYW5kbGVfSVJRX2V2ZW50KHJlYWxpcnEsIGRlc2MtPmFjdGlvbik7CisKKwlpZiAoIShkZXNjLT5zdGF0dXMgJiBJUlFfRElTQUJMRUQpKQorCQllbmFibGVfODI1OUFfaXJxKHJlYWxpcnEpOworCisJcmV0dXJuIElSUV9IQU5ETEVEOworCitvdXRfdW5sb2NrOgorCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmk4MjU5QV9sb2NrLCBmbGFncyk7CisJcmV0dXJuIElSUV9OT05FOworfQorCitzdGF0aWMgc3RydWN0IGlycWFjdGlvbiBtYXN0ZXJfYWN0aW9uID0geworCS5oYW5kbGVyID0JcGlpeDRfbWFzdGVyX2ludHIsCisJLm5hbWUgPQkJIlBJSVg0LTgyNTkiLAorfTsKKworc3RhdGljIHN0cnVjdCBpcnFhY3Rpb24gY2FzY2FkZV9hY3Rpb24gPSB7CisJLmhhbmRsZXIgPSAJbm9fYWN0aW9uLAorCS5uYW1lID0JCSJjYXNjYWRlIiwKK307CisKKwordm9pZCBpbml0X1ZJU1dTX0FQSUNfaXJxcyh2b2lkKQoreworCWludCBpOworCisJZm9yIChpID0gMDsgaSA8IENPX0lSUV9BUElDMCArIENPX0FQSUNfTEFTVCArIDE7IGkrKykgeworCQlpcnFfZGVzY1tpXS5zdGF0dXMgPSBJUlFfRElTQUJMRUQ7CisJCWlycV9kZXNjW2ldLmFjdGlvbiA9IDA7CisJCWlycV9kZXNjW2ldLmRlcHRoID0gMTsKKworCQlpZiAoaSA9PSAwKSB7CisJCQlpcnFfZGVzY1tpXS5jaGlwID0gJmNvYmFsdF9pcnFfdHlwZTsKKwkJfQorCQllbHNlIGlmIChpID09IENPX0lSUV9JREUwKSB7CisJCQlpcnFfZGVzY1tpXS5jaGlwID0gJmNvYmFsdF9pcnFfdHlwZTsKKwkJfQorCQllbHNlIGlmIChpID09IENPX0lSUV9JREUxKSB7CisJCQlpcnFfZGVzY1tpXS5jaGlwID0gJmNvYmFsdF9pcnFfdHlwZTsKKwkJfQorCQllbHNlIGlmIChpID09IENPX0lSUV84MjU5KSB7CisJCQlpcnFfZGVzY1tpXS5jaGlwID0gJnBpaXg0X21hc3Rlcl9pcnFfdHlwZTsKKwkJfQorCQllbHNlIGlmIChpIDwgQ09fSVJRX0FQSUMwKSB7CisJCQlpcnFfZGVzY1tpXS5jaGlwID0gJnBpaXg0X3ZpcnR1YWxfaXJxX3R5cGU7CisJCX0KKwkJZWxzZSBpZiAoSVNfQ09fQVBJQyhpKSkgeworCQkJaXJxX2Rlc2NbaV0uY2hpcCA9ICZjb2JhbHRfaXJxX3R5cGU7CisJCX0KKwl9CisKKwlzZXR1cF9pcnEoQ09fSVJRXzgyNTksICZtYXN0ZXJfYWN0aW9uKTsKKwlzZXR1cF9pcnEoMiwgJmNhc2NhZGVfYWN0aW9uKTsKK30KZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC92bWlfMzIuYyBiL2FyY2gveDg2L2tlcm5lbC92bWlfMzIuYwppbmRleCA5NTZmMzg5Li5iMTUzNDYwIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvdm1pXzMyLmMKKysrIGIvYXJjaC94ODYva2VybmVsL3ZtaV8zMi5jCkBAIC0xNTEsNyArMTUxLDcgQEAKIAkJCQkJICAgICAgaW5zbnMsIGlwKTsKIAkJY2FzZSBQQVJBVklSVF9QQVRDSChwdl9jcHVfb3BzLmlyZXQpOgogCQkJcmV0dXJuIHBhdGNoX2ludGVybmFsKFZNSV9DQUxMX0lSRVQsIGxlbiwgaW5zbnMsIGlwKTsKLQkJY2FzZSBQQVJBVklSVF9QQVRDSChwdl9jcHVfb3BzLmlycV9lbmFibGVfc3lzY2FsbF9yZXQpOgorCQljYXNlIFBBUkFWSVJUX1BBVENIKHB2X2NwdV9vcHMuaXJxX2VuYWJsZV9zeXNleGl0KToKIAkJCXJldHVybiBwYXRjaF9pbnRlcm5hbChWTUlfQ0FMTF9TWVNFWElULCBsZW4sIGluc25zLCBpcCk7CiAJCWRlZmF1bHQ6CiAJCQlicmVhazsKQEAgLTg5Niw3ICs4OTYsNyBAQAogCSAqIHRoZSBiYWNrZW5kLiAgVGhleSBhcmUgcGVyZm9ybWFuY2UgY3JpdGljYWwgYW55d2F5LCBzbyByZXF1aXJpbmcKIAkgKiBhIHBhdGNoIGlzIG5vdCBhIGJpZyBwcm9ibGVtLgogCSAqLwotCXB2X2NwdV9vcHMuaXJxX2VuYWJsZV9zeXNjYWxsX3JldCA9ICh2b2lkICopMHhmZWVkYmFiMDsKKwlwdl9jcHVfb3BzLmlycV9lbmFibGVfc3lzZXhpdCA9ICh2b2lkICopMHhmZWVkYmFiMDsKIAlwdl9jcHVfb3BzLmlyZXQgPSAodm9pZCAqKTB4YmFkYmFiMDsKIAogI2lmZGVmIENPTkZJR19TTVAKQEAgLTkzMiw3ICs5MzIsNyBAQAogCQlwdl9hcGljX29wcy5zZXR1cF9zZWNvbmRhcnlfY2xvY2sgPSB2bWlfdGltZV9hcF9pbml0OwogI2VuZGlmCiAJCXB2X3RpbWVfb3BzLnNjaGVkX2Nsb2NrID0gdm1pX3NjaGVkX2Nsb2NrOwotIAkJcHZfdGltZV9vcHMuZ2V0X2NwdV9raHogPSB2bWlfY3B1X2toejsKKwkJcHZfdGltZV9vcHMuZ2V0X3RzY19raHogPSB2bWlfdHNjX2toejsKIAogCQkvKiBXZSBoYXZlIHRydWUgd2FsbGNsb2NrIGZ1bmN0aW9uczsgZGlzYWJsZSBDTU9TIGNsb2NrIHN5bmMgKi8KIAkJbm9fc3luY19jbW9zX2Nsb2NrID0gMTsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC92bWljbG9ja18zMi5jIGIvYXJjaC94ODYva2VybmVsL3ZtaWNsb2NrXzMyLmMKaW5kZXggYTJiMDMwNy4uNjk1Mzg1OSAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL3ZtaWNsb2NrXzMyLmMKKysrIGIvYXJjaC94ODYva2VybmVsL3ZtaWNsb2NrXzMyLmMKQEAgLTMzLDggKzMzLDcgQEAKICNpbmNsdWRlIDxhc20vYXBpYy5oPgogI2luY2x1ZGUgPGFzbS90aW1lci5oPgogI2luY2x1ZGUgPGFzbS9pODI1My5oPgotCi0jaW5jbHVkZSA8aXJxX3ZlY3RvcnMuaD4KKyNpbmNsdWRlIDxhc20vaXJxX3ZlY3RvcnMuaD4KIAogI2RlZmluZSBWTUlfT05FU0hPVCAgKFZNSV9BTEFSTV9JU19PTkVTSE9UICB8IFZNSV9DWUNMRVNfUkVBTCB8IHZtaV9nZXRfYWxhcm1fd2lyaW5nKCkpCiAjZGVmaW5lIFZNSV9QRVJJT0RJQyAoVk1JX0FMQVJNX0lTX1BFUklPRElDIHwgVk1JX0NZQ0xFU19SRUFMIHwgdm1pX2dldF9hbGFybV93aXJpbmcoKSkKQEAgLTcwLDggKzY5LDggQEAKIAlyZXR1cm4gY3ljbGVzXzJfbnModm1pX3RpbWVyX29wcy5nZXRfY3ljbGVfY291bnRlcihWTUlfQ1lDTEVTX0FWQUlMQUJMRSkpOwogfQogCi0vKiBwYXJhdmlydF9vcHMuZ2V0X2NwdV9raHogPSB2bWlfY3B1X2toeiAqLwotdW5zaWduZWQgbG9uZyB2bWlfY3B1X2toeih2b2lkKQorLyogcGFyYXZpcnRfb3BzLmdldF90c2Nfa2h6ID0gdm1pX3RzY19raHogKi8KK3Vuc2lnbmVkIGxvbmcgdm1pX3RzY19raHoodm9pZCkKIHsKIAl1bnNpZ25lZCBsb25nIGxvbmcga2h6OwogCWtoeiA9IHZtaV90aW1lcl9vcHMuZ2V0X2N5Y2xlX2ZyZXF1ZW5jeSgpOwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL3ZtbGludXhfMzIubGRzLlMgYi9hcmNoL3g4Ni9rZXJuZWwvdm1saW51eF8zMi5sZHMuUwppbmRleCBjZTVlZDA4Li5jZGIyMzYzIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvdm1saW51eF8zMi5sZHMuUworKysgYi9hcmNoL3g4Ni9rZXJuZWwvdm1saW51eF8zMi5sZHMuUwpAQCAtNDksMjMgKzQ5LDE0IEBACiAgIAlfZXRleHQgPSAuOwkJCS8qIEVuZCBvZiB0ZXh0IHNlY3Rpb24gKi8KICAgfSA6dGV4dCA9IDB4OTA5MAogCisgIE5PVEVTIDp0ZXh0IDpub3RlCisKICAgLiA9IEFMSUdOKDE2KTsJCS8qIEV4Y2VwdGlvbiB0YWJsZSAqLwogICBfX2V4X3RhYmxlIDogQVQoQUREUihfX2V4X3RhYmxlKSAtIExPQURfT0ZGU0VUKSB7CiAgIAlfX3N0YXJ0X19fZXhfdGFibGUgPSAuOwogCSAqKF9fZXhfdGFibGUpCiAgIAlfX3N0b3BfX19leF90YWJsZSA9IC47Ci0gIH0KLQotICBOT1RFUyA6dGV4dCA6bm90ZQotCi0gIEJVR19UQUJMRSA6dGV4dAotCi0gIC4gPSBBTElHTig0KTsKLSAgLnRyYWNlZGF0YSA6IEFUKEFERFIoLnRyYWNlZGF0YSkgLSBMT0FEX09GRlNFVCkgewotICAJX190cmFjZWRhdGFfc3RhcnQgPSAuOwotCSooLnRyYWNlZGF0YSkKLSAgCV9fdHJhY2VkYXRhX2VuZCA9IC47Ci0gIH0KKyAgfSA6dGV4dCA9IDB4OTA5MAogCiAgIFJPREFUQQogCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvdm1saW51eF82NC5sZHMuUyBiL2FyY2gveDg2L2tlcm5lbC92bWxpbnV4XzY0Lmxkcy5TCmluZGV4IGZhZDM2NzQuLjYzZTVjMWEgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC92bWxpbnV4XzY0Lmxkcy5TCisrKyBiL2FyY2gveDg2L2tlcm5lbC92bWxpbnV4XzY0Lmxkcy5TCkBAIC0xOSw3ICsxOSw3IEBACiAJZGF0YSBQVF9MT0FEIEZMQUdTKDcpOwkvKiBSV0UgKi8KIAl1c2VyIFBUX0xPQUQgRkxBR1MoNyk7CS8qIFJXRSAqLwogCWRhdGEuaW5pdCBQVF9MT0FEIEZMQUdTKDcpOwkvKiBSV0UgKi8KLQlub3RlIFBUX05PVEUgRkxBR1MoNCk7CS8qIFJfXyAqLworCW5vdGUgUFRfTk9URSBGTEFHUygwKTsJLyogX19fICovCiB9CiBTRUNUSU9OUwogewpAQCAtNDAsMjYgKzQwLDE3IEBACiAJX2V0ZXh0ID0gLjsJCS8qIEVuZCBvZiB0ZXh0IHNlY3Rpb24gKi8KICAgfSA6dGV4dCA9IDB4OTA5MAogCisgIE5PVEVTIDp0ZXh0IDpub3RlCisKICAgLiA9IEFMSUdOKDE2KTsJCS8qIEV4Y2VwdGlvbiB0YWJsZSAqLwogICBfX2V4X3RhYmxlIDogQVQoQUREUihfX2V4X3RhYmxlKSAtIExPQURfT0ZGU0VUKSB7CiAgIAlfX3N0YXJ0X19fZXhfdGFibGUgPSAuOwogCSAqKF9fZXhfdGFibGUpCiAgIAlfX3N0b3BfX19leF90YWJsZSA9IC47Ci0gIH0KLQotICBOT1RFUyA6dGV4dCA6bm90ZQotCi0gIEJVR19UQUJMRSA6dGV4dAorICB9IDp0ZXh0ID0gMHg5MDkwCiAKICAgUk9EQVRBCiAKLSAgLiA9IEFMSUdOKDQpOwotICAudHJhY2VkYXRhIDogQVQoQUREUigudHJhY2VkYXRhKSAtIExPQURfT0ZGU0VUKSB7Ci0gIAlfX3RyYWNlZGF0YV9zdGFydCA9IC47Ci0JKigudHJhY2VkYXRhKQotICAJX190cmFjZWRhdGFfZW5kID0gLjsKLSAgfQotCiAgIC4gPSBBTElHTihQQUdFX1NJWkUpOwkJLyogQWxpZ24gZGF0YSBzZWdtZW50IHRvIHBhZ2Ugc2l6ZSBib3VuZGFyeSAqLwogCQkJCS8qIERhdGEgKi8KICAgLmRhdGEgOiBBVChBRERSKC5kYXRhKSAtIExPQURfT0ZGU0VUKSB7CkBAIC0xNzcsNiArMTY4LDcgQEAKIAkqKC5jb25faW5pdGNhbGwuaW5pdCkKICAgfQogICBfX2Nvbl9pbml0Y2FsbF9lbmQgPSAuOworICAuID0gQUxJR04oMTYpOwogICBfX3g4NmNwdXZlbmRvcl9zdGFydCA9IC47CiAgIC54ODZjcHV2ZW5kb3IuaW5pdCA6IEFUKEFERFIoLng4NmNwdXZlbmRvci5pbml0KSAtIExPQURfT0ZGU0VUKSB7CiAJKigueDg2Y3B1dmVuZG9yLmluaXQpCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvdnNtcF82NC5jIGIvYXJjaC94ODYva2VybmVsL3ZzbXBfNjQuYwppbmRleCBiYThjMGI3Li4wYzAyOWU4IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvdnNtcF82NC5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC92c21wXzY0LmMKQEAgLTE1LDkgKzE1LDEyIEBACiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgogI2luY2x1ZGUgPGxpbnV4L3BjaV9pZHMuaD4KICNpbmNsdWRlIDxsaW51eC9wY2lfcmVncy5oPgorCisjaW5jbHVkZSA8YXNtL2FwaWMuaD4KICNpbmNsdWRlIDxhc20vcGNpLWRpcmVjdC5oPgogI2luY2x1ZGUgPGFzbS9pby5oPgogI2luY2x1ZGUgPGFzbS9wYXJhdmlydC5oPgorI2luY2x1ZGUgPGFzbS9zZXR1cC5oPgogCiAjaWYgZGVmaW5lZCBDT05GSUdfUENJICYmIGRlZmluZWQgQ09ORklHX1BBUkFWSVJUCiAvKgpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL3ZzeXNjYWxsXzY0LmMgYi9hcmNoL3g4Ni9rZXJuZWwvdnN5c2NhbGxfNjQuYwppbmRleCA2MWVmYTJmLi5lNTA3NDBkIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvdnN5c2NhbGxfNjQuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvdnN5c2NhbGxfNjQuYwpAQCAtNDIsNyArNDIsOCBAQAogI2luY2x1ZGUgPGFzbS90b3BvbG9neS5oPgogI2luY2x1ZGUgPGFzbS92Z3RvZC5oPgogCi0jZGVmaW5lIF9fdnN5c2NhbGwobnIpIF9fYXR0cmlidXRlX18gKCh1bnVzZWQsX19zZWN0aW9uX18oIi52c3lzY2FsbF8iICNucikpKQorI2RlZmluZSBfX3ZzeXNjYWxsKG5yKSBcCisJCV9fYXR0cmlidXRlX18gKCh1bnVzZWQsIF9fc2VjdGlvbl9fKCIudnN5c2NhbGxfIiAjbnIpKSkgbm90cmFjZQogI2RlZmluZSBfX3N5c2NhbGxfY2xvYmJlciAicjExIiwiY3giLCJtZW1vcnkiCiAKIC8qCkBAIC0yNDksNyArMjUwLDcgQEAKICAgIGRvZXNuJ3QgdmlvbGF0ZSB0aGF0LiBXZSdsbCBmaW5kIG91dCBpZiBpdCBkb2VzLiAqLwogc3RhdGljIHZvaWQgX19jcHVpbml0IHZzeXNjYWxsX3NldF9jcHUoaW50IGNwdSkKIHsKLQl1bnNpZ25lZCBsb25nICpkOworCXVuc2lnbmVkIGxvbmcgZDsKIAl1bnNpZ25lZCBsb25nIG5vZGUgPSAwOwogI2lmZGVmIENPTkZJR19OVU1BCiAJbm9kZSA9IGNwdV90b19ub2RlKGNwdSk7CkBAIC0yNjAsMTEgKzI2MSwxMSBAQAogCS8qIFN0b3JlIGNwdSBudW1iZXIgaW4gbGltaXQgc28gdGhhdCBpdCBjYW4gYmUgbG9hZGVkIHF1aWNrbHkKIAkgICBpbiB1c2VyIHNwYWNlIGluIHZnZXRjcHUuCiAJICAgMTIgYml0cyBmb3IgdGhlIENQVSBhbmQgOCBiaXRzIGZvciB0aGUgbm9kZS4gKi8KLQlkID0gKHVuc2lnbmVkIGxvbmcgKikoZ2V0X2NwdV9nZHRfdGFibGUoY3B1KSArIEdEVF9FTlRSWV9QRVJfQ1BVKTsKLQkqZCA9IDB4MGY0MDAwMDAwMDAwMFVMTDsKLQkqZCB8PSBjcHU7Ci0JKmQgfD0gKG5vZGUgJiAweGYpIDw8IDEyOwotCSpkIHw9IChub2RlID4+IDQpIDw8IDQ4OworCWQgPSAweDBmNDAwMDAwMDAwMDBVTEw7CisJZCB8PSBjcHU7CisJZCB8PSAobm9kZSAmIDB4ZikgPDwgMTI7CisJZCB8PSAobm9kZSA+PiA0KSA8PCA0ODsKKwl3cml0ZV9nZHRfZW50cnkoZ2V0X2NwdV9nZHRfdGFibGUoY3B1KSwgR0RUX0VOVFJZX1BFUl9DUFUsICZkLCBERVNDVFlQRV9TKTsKIH0KIAogc3RhdGljIHZvaWQgX19jcHVpbml0IGNwdV92c3lzY2FsbF9pbml0KHZvaWQgKmFyZykKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC94ODY2NF9rc3ltc182NC5jIGIvYXJjaC94ODYva2VybmVsL3g4NjY0X2tzeW1zXzY0LmMKaW5kZXggZjZjMDVkMC4uYjU0NWYzNyAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL3g4NjY0X2tzeW1zXzY0LmMKKysrIGIvYXJjaC94ODYva2VybmVsL3g4NjY0X2tzeW1zXzY0LmMKQEAgLTIsMTMgKzIsMjAgQEAKICAgIEFsbCBDIGV4cG9ydHMgc2hvdWxkIGdvIGluIHRoZSByZXNwZWN0aXZlIEMgZmlsZXMuICovCiAKICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KLSNpbmNsdWRlIDxuZXQvY2hlY2tzdW0uaD4KICNpbmNsdWRlIDxsaW51eC9zbXAuaD4KIAorI2luY2x1ZGUgPG5ldC9jaGVja3N1bS5oPgorCiAjaW5jbHVkZSA8YXNtL3Byb2Nlc3Nvci5oPgotI2luY2x1ZGUgPGFzbS91YWNjZXNzLmg+CiAjaW5jbHVkZSA8YXNtL3BndGFibGUuaD4KKyNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgogI2luY2x1ZGUgPGFzbS9kZXNjLmg+CisjaW5jbHVkZSA8YXNtL2Z0cmFjZS5oPgorCisjaWZkZWYgQ09ORklHX0ZUUkFDRQorLyogbWNvdW50IGlzIGRlZmluZWQgaW4gYXNzZW1ibHkgKi8KK0VYUE9SVF9TWU1CT0wobWNvdW50KTsKKyNlbmRpZgogCiBFWFBPUlRfU1lNQk9MKGtlcm5lbF90aHJlYWQpOwogCkBAIC01Myw4ICs2MCwzIEBACiBFWFBPUlRfU1lNQk9MKGxvYWRfZ3NfaW5kZXgpOwogCiBFWFBPUlRfU1lNQk9MKF9wcm94eV9wZGEpOwotCi0jaWZkZWYgQ09ORklHX1BBUkFWSVJUCi0vKiBWaXJ0dWFsaXplZCBndWVzdHMgbWF5IHdhbnQgdG8gdXNlIGl0ICovCi1FWFBPUlRfU1lNQk9MX0dQTChjcHVfZ2R0X2Rlc2NyKTsKLSNlbmRpZgpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvbGd1ZXN0L0tjb25maWcgYi9hcmNoL3g4Ni9sZ3Vlc3QvS2NvbmZpZwppbmRleCA5NjRkZmEzLi5jNzBlMTJiIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9sZ3Vlc3QvS2NvbmZpZworKysgYi9hcmNoL3g4Ni9sZ3Vlc3QvS2NvbmZpZwpAQCAtMyw3ICszLDcgQEAKIAlzZWxlY3QgUEFSQVZJUlQKIAlkZXBlbmRzIG9uIFg4Nl8zMgogCWRlcGVuZHMgb24gIVg4Nl9QQUUKLQlkZXBlbmRzIG9uICEoWDg2X1ZJU1dTIHx8IFg4Nl9WT1lBR0VSKQorCWRlcGVuZHMgb24gIVg4Nl9WT1lBR0VSCiAJc2VsZWN0IFZJUlRJTwogCXNlbGVjdCBWSVJUSU9fUklORwogCXNlbGVjdCBWSVJUSU9fQ09OU09MRQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvbGd1ZXN0L2Jvb3QuYyBiL2FyY2gveDg2L2xndWVzdC9ib290LmMKaW5kZXggNWM3ZTJmZC4uNTBkYWQ0NCAxMDA2NDQKLS0tIGEvYXJjaC94ODYvbGd1ZXN0L2Jvb3QuYworKysgYi9hcmNoL3g4Ni9sZ3Vlc3QvYm9vdC5jCkBAIC02MDcsNyArNjA3LDcgQEAKICAqIHdoYXQgc3BlZWQgaXQgcnVucyBhdCwgb3IgMCBpZiBpdCdzIHVudXNhYmxlIGFzIGEgcmVsaWFibGUgY2xvY2sgc291cmNlLgogICogVGhpcyBtYXRjaGVzIHdoYXQgd2Ugd2FudCBoZXJlOiBpZiB3ZSByZXR1cm4gMCBmcm9tIHRoaXMgZnVuY3Rpb24sIHRoZSB4ODYKICAqIFRTQyBjbG9jayB3aWxsIGdpdmUgdXAgYW5kIG5vdCByZWdpc3RlciBpdHNlbGYuICovCi1zdGF0aWMgdW5zaWduZWQgbG9uZyBsZ3Vlc3RfY3B1X2toeih2b2lkKQorc3RhdGljIHVuc2lnbmVkIGxvbmcgbGd1ZXN0X3RzY19raHoodm9pZCkKIHsKIAlyZXR1cm4gbGd1ZXN0X2RhdGEudHNjX2toejsKIH0KQEAgLTgzNSw3ICs4MzUsNyBAQAogCiAJLyogVGhlIExpbnV4IGJvb3Rsb2FkZXIgaGVhZGVyIGNvbnRhaW5zIGFuICJlODIwIiBtZW1vcnkgbWFwOiB0aGUKIAkgKiBMYXVuY2hlciBwb3B1bGF0ZWQgdGhlIGZpcnN0IGVudHJ5IHdpdGggb3VyIG1lbW9yeSBsaW1pdC4gKi8KLQlhZGRfbWVtb3J5X3JlZ2lvbihib290X3BhcmFtcy5lODIwX21hcFswXS5hZGRyLAorCWU4MjBfYWRkX3JlZ2lvbihib290X3BhcmFtcy5lODIwX21hcFswXS5hZGRyLAogCQkJICBib290X3BhcmFtcy5lODIwX21hcFswXS5zaXplLAogCQkJICBib290X3BhcmFtcy5lODIwX21hcFswXS50eXBlKTsKIApAQCAtOTk4LDcgKzk5OCw3IEBACiAJLyogdGltZSBvcGVyYXRpb25zICovCiAJcHZfdGltZV9vcHMuZ2V0X3dhbGxjbG9jayA9IGxndWVzdF9nZXRfd2FsbGNsb2NrOwogCXB2X3RpbWVfb3BzLnRpbWVfaW5pdCA9IGxndWVzdF90aW1lX2luaXQ7Ci0JcHZfdGltZV9vcHMuZ2V0X2NwdV9raHogPSBsZ3Vlc3RfY3B1X2toejsKKwlwdl90aW1lX29wcy5nZXRfdHNjX2toeiA9IGxndWVzdF90c2Nfa2h6OwogCiAJLyogTm93IGlzIGEgZ29vZCB0aW1lIHRvIGxvb2sgYXQgdGhlIGltcGxlbWVudGF0aW9ucyBvZiB0aGVzZSBmdW5jdGlvbnMKIAkgKiBiZWZvcmUgcmV0dXJuaW5nIHRvIHRoZSByZXN0IG9mIGxndWVzdF9pbml0KCkuICovCkBAIC0xMDEyLDYgKzEwMTIsNyBAQAogCSAqIGNsb2JiZXJlZC4gIFRoZSBMYXVuY2hlciBwbGFjZXMgb3VyIGluaXRpYWwgcGFnZXRhYmxlcyBzb21ld2hlcmUgYXQKIAkgKiB0aGUgdG9wIG9mIG91ciBwaHlzaWNhbCBtZW1vcnksIHNvIHdlIGRvbid0IG5lZWQgZXh0cmEgc3BhY2U6IHNldAogCSAqIGluaXRfcGdfdGFibGVzX2VuZCB0byB0aGUgZW5kIG9mIHRoZSBrZXJuZWwuICovCisJaW5pdF9wZ190YWJsZXNfc3RhcnQgPSBfX3BhKHBnMCk7CiAJaW5pdF9wZ190YWJsZXNfZW5kID0gX19wYShwZzApOwogCiAJLyogTG9hZCB0aGUgJWZzIHNlZ21lbnQgcmVnaXN0ZXIgKHRoZSBwZXItY3B1IHNlZ21lbnQgcmVnaXN0ZXIpIHdpdGgKQEAgLTEwNjUsOSArMTA2Niw5IEBACiAJcG1fcG93ZXJfb2ZmID0gbGd1ZXN0X3Bvd2VyX29mZjsKIAltYWNoaW5lX29wcy5yZXN0YXJ0ID0gbGd1ZXN0X3Jlc3RhcnQ7CiAKLQkvKiBOb3cgd2UncmUgc2V0IHVwLCBjYWxsIHN0YXJ0X2tlcm5lbCgpIGluIGluaXQvbWFpbi5jIGFuZCB3ZSBwcm9jZWVkCisJLyogTm93IHdlJ3JlIHNldCB1cCwgY2FsbCBpMzg2X3N0YXJ0X2tlcm5lbCgpIGluIGhlYWQzMi5jIGFuZCB3ZSBwcm9jZWVkCiAJICogdG8gYm9vdCBhcyBub3JtYWwuICBJdCBuZXZlciByZXR1cm5zLiAqLwotCXN0YXJ0X2tlcm5lbCgpOworCWkzODZfc3RhcnRfa2VybmVsKCk7CiB9CiAvKgogICogVGhpcyBtYXJrcyB0aGUgZW5kIG9mIHN0YWdlIElJIG9mIG91ciBqb3VybmV5LCBUaGUgR3Vlc3QuCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9saWIvTWFrZWZpbGUgYi9hcmNoL3g4Ni9saWIvTWFrZWZpbGUKaW5kZXggNzZmNjBmNS4uYWEzZmE0MSAxMDA2NDQKLS0tIGEvYXJjaC94ODYvbGliL01ha2VmaWxlCisrKyBiL2FyY2gveDg2L2xpYi9NYWtlZmlsZQpAQCAtNCw4ICs0LDkgQEAKIAogb2JqLSQoQ09ORklHX1NNUCkgOj0gbXNyLW9uLWNwdS5vCiAKLWxpYi15IDo9IGRlbGF5XyQoQklUUykubwotbGliLXkgKz0gdXNlcmNvcHlfJChCSVRTKS5vIGdldHVzZXJfJChCSVRTKS5vIHB1dHVzZXJfJChCSVRTKS5vCitsaWIteSA6PSBkZWxheS5vCitsaWIteSArPSB0aHVua18kKEJJVFMpLm8KK2xpYi15ICs9IHVzZXJjb3B5XyQoQklUUykubyBnZXR1c2VyLm8gcHV0dXNlci5vCiBsaWIteSArPSBtZW1jcHlfJChCSVRTKS5vCiAKIGlmZXEgKCQoQ09ORklHX1g4Nl8zMikseSkKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2xpYi9jb3B5X3VzZXJfNjQuUyBiL2FyY2gveDg2L2xpYi9jb3B5X3VzZXJfNjQuUwppbmRleCBlZTFjM2Y2Li5kZmRmNDI4IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9saWIvY29weV91c2VyXzY0LlMKKysrIGIvYXJjaC94ODYvbGliL2NvcHlfdXNlcl82NC5TCkBAIC0xLDggKzEsMTAgQEAKLS8qIENvcHlyaWdodCAyMDAyIEFuZGkgS2xlZW4sIFN1U0UgTGFicy4KKy8qCisgKiBDb3B5cmlnaHQgMjAwOCBWaXRhbHkgTWF5YXRza2lraCA8dm1heWF0c2tAcmVkaGF0LmNvbT4KKyAqIENvcHlyaWdodCAyMDAyIEFuZGkgS2xlZW4sIFN1U0UgTGFicy4KICAqIFN1YmplY3QgdG8gdGhlIEdOVSBQdWJsaWMgTGljZW5zZSB2Mi4KLSAqIAotICogRnVuY3Rpb25zIHRvIGNvcHkgZnJvbSBhbmQgdG8gdXNlciBzcGFjZS4JCQotICovCQkgCisgKgorICogRnVuY3Rpb25zIHRvIGNvcHkgZnJvbSBhbmQgdG8gdXNlciBzcGFjZS4KKyAqLwogCiAjaW5jbHVkZSA8bGludXgvbGlua2FnZS5oPgogI2luY2x1ZGUgPGFzbS9kd2FyZjIuaD4KQEAgLTIwLDYwICsyMiw4OCBAQAogCS5sb25nIFxvcmlnLTFmCS8qIGJ5IGRlZmF1bHQganVtcCB0byBvcmlnICovCiAxOgogCS5zZWN0aW9uIC5hbHRpbnN0cl9yZXBsYWNlbWVudCwiYXgiCi0yOgkuYnl0ZSAweGU5CSAgICAgICAgICAgICAvKiBuZWFyIGp1bXAgd2l0aCAzMmJpdCBpbW1lZGlhdGUgKi8KKzI6CS5ieXRlIDB4ZTkJCQkvKiBuZWFyIGp1bXAgd2l0aCAzMmJpdCBpbW1lZGlhdGUgKi8KIAkubG9uZyBcYWx0LTFiIC8qIG9mZnNldCAqLyAgIC8qIG9yIGFsdGVybmF0aXZlbHkgdG8gYWx0ICovCiAJLnByZXZpb3VzCiAJLnNlY3Rpb24gLmFsdGluc3RydWN0aW9ucywiYSIKIAkuYWxpZ24gOAogCS5xdWFkICAwYgogCS5xdWFkICAyYgotCS5ieXRlICBcZmVhdHVyZQkJICAgICAvKiB3aGVuIGZlYXR1cmUgaXMgc2V0ICovCisJLmJ5dGUgIFxmZWF0dXJlCQkJLyogd2hlbiBmZWF0dXJlIGlzIHNldCAqLwogCS5ieXRlICA1CiAJLmJ5dGUgIDUKIAkucHJldmlvdXMKIAkuZW5kbQogCi0vKiBTdGFuZGFyZCBjb3B5X3RvX3VzZXIgd2l0aCBzZWdtZW50IGxpbWl0IGNoZWNraW5nICovCQkKKwkubWFjcm8gQUxJR05fREVTVElOQVRJT04KKyNpZmRlZiBGSVhfQUxJR05NRU5UCisJLyogY2hlY2sgZm9yIGJhZCBhbGlnbm1lbnQgb2YgZGVzdGluYXRpb24gKi8KKwltb3ZsICVlZGksJWVjeAorCWFuZGwgJDcsJWVjeAorCWp6IDEwMmYJCQkJLyogYWxyZWFkeSBhbGlnbmVkICovCisJc3VibCAkOCwlZWN4CisJbmVnbCAlZWN4CisJc3VibCAlZWN4LCVlZHgKKzEwMDoJbW92YiAoJXJzaSksJWFsCisxMDE6CW1vdmIgJWFsLCglcmRpKQorCWluY3EgJXJzaQorCWluY3EgJXJkaQorCWRlY2wgJWVjeAorCWpueiAxMDBiCisxMDI6CisJLnNlY3Rpb24gLmZpeHVwLCJheCIKKzEwMzoJYWRkbCAlcjhkLCVlZHgJCQkvKiBlY3ggaXMgemVyb3Jlc3QgYWxzbyAqLworCWptcCBjb3B5X3VzZXJfaGFuZGxlX3RhaWwKKwkucHJldmlvdXMKKworCS5zZWN0aW9uIF9fZXhfdGFibGUsImEiCisJLmFsaWduIDgKKwkucXVhZCAxMDBiLDEwM2IKKwkucXVhZCAxMDFiLDEwM2IKKwkucHJldmlvdXMKKyNlbmRpZgorCS5lbmRtCisKKy8qIFN0YW5kYXJkIGNvcHlfdG9fdXNlciB3aXRoIHNlZ21lbnQgbGltaXQgY2hlY2tpbmcgKi8KIEVOVFJZKGNvcHlfdG9fdXNlcikKIAlDRklfU1RBUlRQUk9DCiAJR0VUX1RIUkVBRF9JTkZPKCVyYXgpCiAJbW92cSAlcmRpLCVyY3gKIAlhZGRxICVyZHgsJXJjeAotCWpjICBiYWRfdG9fdXNlcgotCWNtcHEgdGhyZWFkaW5mb19hZGRyX2xpbWl0KCVyYXgpLCVyY3gKKwlqYyBiYWRfdG9fdXNlcgorCWNtcHEgVElfYWRkcl9saW1pdCglcmF4KSwlcmN4CiAJamFlIGJhZF90b191c2VyCi0JeG9ybCAlZWF4LCVlYXgJLyogY2xlYXIgemVybyBmbGFnICovCiAJQUxURVJOQVRJVkVfSlVNUCBYODZfRkVBVFVSRV9SRVBfR09PRCxjb3B5X3VzZXJfZ2VuZXJpY191bnJvbGxlZCxjb3B5X3VzZXJfZ2VuZXJpY19zdHJpbmcKIAlDRklfRU5EUFJPQwogCi1FTlRSWShjb3B5X3VzZXJfZ2VuZXJpYykKLQlDRklfU1RBUlRQUk9DCi0JbW92bCAkMSwlZWN4CS8qIHNldCB6ZXJvIGZsYWcgKi8KLQlBTFRFUk5BVElWRV9KVU1QIFg4Nl9GRUFUVVJFX1JFUF9HT09ELGNvcHlfdXNlcl9nZW5lcmljX3Vucm9sbGVkLGNvcHlfdXNlcl9nZW5lcmljX3N0cmluZwotCUNGSV9FTkRQUk9DCi0KLUVOVFJZKF9fY29weV9mcm9tX3VzZXJfaW5hdG9taWMpCi0JQ0ZJX1NUQVJUUFJPQwotCXhvcmwgJWVjeCwlZWN4CS8qIGNsZWFyIHplcm8gZmxhZyAqLwotCUFMVEVSTkFUSVZFX0pVTVAgWDg2X0ZFQVRVUkVfUkVQX0dPT0QsY29weV91c2VyX2dlbmVyaWNfdW5yb2xsZWQsY29weV91c2VyX2dlbmVyaWNfc3RyaW5nCi0JQ0ZJX0VORFBST0MKLQotLyogU3RhbmRhcmQgY29weV9mcm9tX3VzZXIgd2l0aCBzZWdtZW50IGxpbWl0IGNoZWNraW5nICovCQorLyogU3RhbmRhcmQgY29weV9mcm9tX3VzZXIgd2l0aCBzZWdtZW50IGxpbWl0IGNoZWNraW5nICovCiBFTlRSWShjb3B5X2Zyb21fdXNlcikKIAlDRklfU1RBUlRQUk9DCiAJR0VUX1RIUkVBRF9JTkZPKCVyYXgpCiAJbW92cSAlcnNpLCVyY3gKIAlhZGRxICVyZHgsJXJjeAotCWpjICBiYWRfZnJvbV91c2VyCi0JY21wcSB0aHJlYWRpbmZvX2FkZHJfbGltaXQoJXJheCksJXJjeAotCWphZSAgYmFkX2Zyb21fdXNlcgotCW1vdmwgJDEsJWVjeAkvKiBzZXQgemVybyBmbGFnICovCisJamMgYmFkX2Zyb21fdXNlcgorCWNtcHEgVElfYWRkcl9saW1pdCglcmF4KSwlcmN4CisJamFlIGJhZF9mcm9tX3VzZXIKIAlBTFRFUk5BVElWRV9KVU1QIFg4Nl9GRUFUVVJFX1JFUF9HT09ELGNvcHlfdXNlcl9nZW5lcmljX3Vucm9sbGVkLGNvcHlfdXNlcl9nZW5lcmljX3N0cmluZwogCUNGSV9FTkRQUk9DCiBFTkRQUk9DKGNvcHlfZnJvbV91c2VyKQotCQorCitFTlRSWShjb3B5X3VzZXJfZ2VuZXJpYykKKwlDRklfU1RBUlRQUk9DCisJQUxURVJOQVRJVkVfSlVNUCBYODZfRkVBVFVSRV9SRVBfR09PRCxjb3B5X3VzZXJfZ2VuZXJpY191bnJvbGxlZCxjb3B5X3VzZXJfZ2VuZXJpY19zdHJpbmcKKwlDRklfRU5EUFJPQworRU5EUFJPQyhjb3B5X3VzZXJfZ2VuZXJpYykKKworRU5UUlkoX19jb3B5X2Zyb21fdXNlcl9pbmF0b21pYykKKwlDRklfU1RBUlRQUk9DCisJQUxURVJOQVRJVkVfSlVNUCBYODZfRkVBVFVSRV9SRVBfR09PRCxjb3B5X3VzZXJfZ2VuZXJpY191bnJvbGxlZCxjb3B5X3VzZXJfZ2VuZXJpY19zdHJpbmcKKwlDRklfRU5EUFJPQworRU5EUFJPQyhfX2NvcHlfZnJvbV91c2VyX2luYXRvbWljKQorCiAJLnNlY3Rpb24gLmZpeHVwLCJheCIKIAkvKiBtdXN0IHplcm8gZGVzdCAqLworRU5UUlkoYmFkX2Zyb21fdXNlcikKIGJhZF9mcm9tX3VzZXI6CiAJQ0ZJX1NUQVJUUFJPQwogCW1vdmwgJWVkeCwlZWN4CkBAIC04MSwyNzEgKzExMSwxNTggQEAKIAlyZXAKIAlzdG9zYgogYmFkX3RvX3VzZXI6Ci0JbW92bAklZWR4LCVlYXgKKwltb3ZsICVlZHgsJWVheAogCXJldAogCUNGSV9FTkRQUk9DCi1FTkQoYmFkX2Zyb21fdXNlcikKK0VORFBST0MoYmFkX2Zyb21fdXNlcikKIAkucHJldmlvdXMKLQkKLQkJCisKIC8qCiAgKiBjb3B5X3VzZXJfZ2VuZXJpY191bnJvbGxlZCAtIG1lbW9yeSBjb3B5IHdpdGggZXhjZXB0aW9uIGhhbmRsaW5nLgotICogVGhpcyB2ZXJzaW9uIGlzIGZvciBDUFVzIGxpa2UgUDQgdGhhdCBkb24ndCBoYXZlIGVmZmljaWVudCBtaWNybyBjb2RlIGZvciByZXAgbW92c3EKLSAqIAkKLSAqIElucHV0OgkKKyAqIFRoaXMgdmVyc2lvbiBpcyBmb3IgQ1BVcyBsaWtlIFA0IHRoYXQgZG9uJ3QgaGF2ZSBlZmZpY2llbnQgbWljcm8KKyAqIGNvZGUgZm9yIHJlcCBtb3ZzcQorICoKKyAqIElucHV0OgogICogcmRpIGRlc3RpbmF0aW9uCiAgKiByc2kgc291cmNlCiAgKiByZHggY291bnQKLSAqIGVjeCB6ZXJvIGZsYWcgLS0gaWYgdHJ1ZSB6ZXJvIGRlc3RpbmF0aW9uIG9uIGVycm9yCiAgKgotICogT3V0cHV0OgkJCi0gKiBlYXggdW5jb3BpZWQgYnl0ZXMgb3IgMCBpZiBzdWNjZXNzZnVsLgorICogT3V0cHV0OgorICogZWF4IHVuY29waWVkIGJ5dGVzIG9yIDAgaWYgc3VjY2Vzc2Z1bGwuCiAgKi8KIEVOVFJZKGNvcHlfdXNlcl9nZW5lcmljX3Vucm9sbGVkKQogCUNGSV9TVEFSVFBST0MKLQlwdXNocSAlcmJ4Ci0JQ0ZJX0FESlVTVF9DRkFfT0ZGU0VUIDgKLQlDRklfUkVMX09GRlNFVCByYngsIDAKLQlwdXNocSAlcmN4Ci0JQ0ZJX0FESlVTVF9DRkFfT0ZGU0VUIDgKLQlDRklfUkVMX09GRlNFVCByY3gsIDAKLQl4b3JsICVlYXgsJWVheAkJLyp6ZXJvIGZvciB0aGUgZXhjZXB0aW9uIGhhbmRsZXIgKi8KLQotI2lmZGVmIEZJWF9BTElHTk1FTlQKLQkvKiBjaGVjayBmb3IgYmFkIGFsaWdubWVudCBvZiBkZXN0aW5hdGlvbiAqLwotCW1vdmwgJWVkaSwlZWN4Ci0JYW5kbCAkNywlZWN4Ci0Jam56ICAuTGJhZF9hbGlnbm1lbnQKLS5MYWZ0ZXJfYmFkX2FsaWdubWVudDoKLSNlbmRpZgotCi0JbW92cSAlcmR4LCVyY3gKLQotCW1vdmwgJDY0LCVlYngKLQlzaHJxICQ2LCVyZHgKLQlkZWNxICVyZHgKLQlqcyAgIC5MaGFuZGxlX3RhaWwKLQotCS5wMmFsaWduIDQKLS5MbG9vcDoKLS5MczE6CW1vdnEgKCVyc2kpLCVyMTEKLS5MczI6CW1vdnEgMSo4KCVyc2kpLCVyOAotLkxzMzoJbW92cSAyKjgoJXJzaSksJXI5Ci0uTHM0Ogltb3ZxIDMqOCglcnNpKSwlcjEwCi0uTGQxOgltb3ZxICVyMTEsKCVyZGkpCi0uTGQyOgltb3ZxICVyOCwxKjgoJXJkaSkKLS5MZDM6CW1vdnEgJXI5LDIqOCglcmRpKQotLkxkNDoJbW92cSAlcjEwLDMqOCglcmRpKQotCi0uTHM1Ogltb3ZxIDQqOCglcnNpKSwlcjExCi0uTHM2Ogltb3ZxIDUqOCglcnNpKSwlcjgKLS5Mczc6CW1vdnEgNio4KCVyc2kpLCVyOQotLkxzODoJbW92cSA3KjgoJXJzaSksJXIxMAotLkxkNToJbW92cSAlcjExLDQqOCglcmRpKQotLkxkNjoJbW92cSAlcjgsNSo4KCVyZGkpCi0uTGQ3Ogltb3ZxICVyOSw2KjgoJXJkaSkKLS5MZDg6CW1vdnEgJXIxMCw3KjgoJXJkaSkKLQotCWRlY3EgJXJkeAotCisJY21wbCAkOCwlZWR4CisJamIgMjBmCQkvKiBsZXNzIHRoZW4gOCBieXRlcywgZ28gdG8gYnl0ZSBjb3B5IGxvb3AgKi8KKwlBTElHTl9ERVNUSU5BVElPTgorCW1vdmwgJWVkeCwlZWN4CisJYW5kbCAkNjMsJWVkeAorCXNocmwgJDYsJWVjeAorCWp6IDE3ZgorMToJbW92cSAoJXJzaSksJXI4CisyOgltb3ZxIDEqOCglcnNpKSwlcjkKKzM6CW1vdnEgMio4KCVyc2kpLCVyMTAKKzQ6CW1vdnEgMyo4KCVyc2kpLCVyMTEKKzU6CW1vdnEgJXI4LCglcmRpKQorNjoJbW92cSAlcjksMSo4KCVyZGkpCis3Ogltb3ZxICVyMTAsMio4KCVyZGkpCis4Ogltb3ZxICVyMTEsMyo4KCVyZGkpCis5Ogltb3ZxIDQqOCglcnNpKSwlcjgKKzEwOgltb3ZxIDUqOCglcnNpKSwlcjkKKzExOgltb3ZxIDYqOCglcnNpKSwlcjEwCisxMjoJbW92cSA3KjgoJXJzaSksJXIxMQorMTM6CW1vdnEgJXI4LDQqOCglcmRpKQorMTQ6CW1vdnEgJXI5LDUqOCglcmRpKQorMTU6CW1vdnEgJXIxMCw2KjgoJXJkaSkKKzE2Ogltb3ZxICVyMTEsNyo4KCVyZGkpCiAJbGVhcSA2NCglcnNpKSwlcnNpCiAJbGVhcSA2NCglcmRpKSwlcmRpCi0KLQlqbnMgIC5MbG9vcAotCi0JLnAyYWxpZ24gNAotLkxoYW5kbGVfdGFpbDoKLQltb3ZsICVlY3gsJWVkeAotCWFuZGwgJDYzLCVlY3gKKwlkZWNsICVlY3gKKwlqbnogMWIKKzE3Ogltb3ZsICVlZHgsJWVjeAorCWFuZGwgJDcsJWVkeAogCXNocmwgJDMsJWVjeAotCWp6ICAgLkxoYW5kbGVfNwotCW1vdmwgJDgsJWVieAotCS5wMmFsaWduIDQKLS5MbG9vcF84OgotLkxzOToJbW92cSAoJXJzaSksJXI4Ci0uTGQ5Ogltb3ZxICVyOCwoJXJkaSkKLQlkZWNsICVlY3gKLQlsZWFxIDgoJXJkaSksJXJkaQorCWp6IDIwZgorMTg6CW1vdnEgKCVyc2kpLCVyOAorMTk6CW1vdnEgJXI4LCglcmRpKQogCWxlYXEgOCglcnNpKSwlcnNpCi0Jam56IC5MbG9vcF84Ci0KLS5MaGFuZGxlXzc6CisJbGVhcSA4KCVyZGkpLCVyZGkKKwlkZWNsICVlY3gKKwlqbnogMThiCisyMDoJYW5kbCAlZWR4LCVlZHgKKwlqeiAyM2YKIAltb3ZsICVlZHgsJWVjeAotCWFuZGwgJDcsJWVjeAotCWp6ICAgLkxlbmRlCi0JLnAyYWxpZ24gNAotLkxsb29wXzE6Ci0uTHMxMDoJbW92YiAoJXJzaSksJWJsCi0uTGQxMDoJbW92YiAlYmwsKCVyZGkpCi0JaW5jcSAlcmRpCisyMToJbW92YiAoJXJzaSksJWFsCisyMjoJbW92YiAlYWwsKCVyZGkpCiAJaW5jcSAlcnNpCisJaW5jcSAlcmRpCiAJZGVjbCAlZWN4Ci0Jam56IC5MbG9vcF8xCi0KLQlDRklfUkVNRU1CRVJfU1RBVEUKLS5MZW5kZToKLQlwb3BxICVyY3gKLQlDRklfQURKVVNUX0NGQV9PRkZTRVQgLTgKLQlDRklfUkVTVE9SRSByY3gKLQlwb3BxICVyYngKLQlDRklfQURKVVNUX0NGQV9PRkZTRVQgLTgKLQlDRklfUkVTVE9SRSByYngKKwlqbnogMjFiCisyMzoJeG9yICVlYXgsJWVheAogCXJldAotCUNGSV9SRVNUT1JFX1NUQVRFCiAKLSNpZmRlZiBGSVhfQUxJR05NRU5UCi0JLyogYWxpZ24gZGVzdGluYXRpb24gKi8KLQkucDJhbGlnbiA0Ci0uTGJhZF9hbGlnbm1lbnQ6Ci0JbW92bCAkOCwlcjlkCi0Jc3VibCAlZWN4LCVyOWQKLQltb3ZsICVyOWQsJWVjeAotCWNtcHEgJXI5LCVyZHgKLQlqeiAgIC5MaGFuZGxlXzcKLQlqcyAgIC5MaGFuZGxlXzcKLS5MYWxpZ25fMToKLS5MczExOgltb3ZiICglcnNpKSwlYmwKLS5MZDExOgltb3ZiICVibCwoJXJkaSkKLQlpbmNxICVyc2kKLQlpbmNxICVyZGkKLQlkZWNsICVlY3gKLQlqbnogLkxhbGlnbl8xCi0Jc3VicSAlcjksJXJkeAotCWptcCAuTGFmdGVyX2JhZF9hbGlnbm1lbnQKLSNlbmRpZgorCS5zZWN0aW9uIC5maXh1cCwiYXgiCiszMDoJc2hsbCAkNiwlZWN4CisJYWRkbCAlZWN4LCVlZHgKKwlqbXAgNjBmCis0MDoJbGVhICglcmR4LCVyY3gsOCksJXJkeAorCWptcCA2MGYKKzUwOgltb3ZsICVlY3gsJWVkeAorNjA6CWptcCBjb3B5X3VzZXJfaGFuZGxlX3RhaWwgLyogZWN4IGlzIHplcm9yZXN0IGFsc28gKi8KKwkucHJldmlvdXMKIAotCS8qIHRhYmxlIHNvcnRlZCBieSBleGNlcHRpb24gYWRkcmVzcyAqLwogCS5zZWN0aW9uIF9fZXhfdGFibGUsImEiCiAJLmFsaWduIDgKLQkucXVhZCAuTHMxLC5MczFlCS8qIExzMS1MczQgaGF2ZSBjb3BpZWQgemVybyBieXRlcyAqLwotCS5xdWFkIC5MczIsLkxzMWUKLQkucXVhZCAuTHMzLC5MczFlCi0JLnF1YWQgLkxzNCwuTHMxZQotCS5xdWFkIC5MZDEsLkxzMWUJLyogTGQxLUxkNCBoYXZlIGNvcGllZCAwLTI0IGJ5dGVzICovCi0JLnF1YWQgLkxkMiwuTHMyZQotCS5xdWFkIC5MZDMsLkxzM2UKLQkucXVhZCAuTGQ0LC5MczRlCi0JLnF1YWQgLkxzNSwuTHM1ZQkvKiBMczUtTHM4IGhhdmUgY29waWVkIDMyIGJ5dGVzICovCi0JLnF1YWQgLkxzNiwuTHM1ZQotCS5xdWFkIC5MczcsLkxzNWUKLQkucXVhZCAuTHM4LC5MczVlCi0JLnF1YWQgLkxkNSwuTHM1ZQkvKiBMZDUtTGQ4IGhhdmUgY29waWVkIDMyLTU2IGJ5dGVzICovCi0JLnF1YWQgLkxkNiwuTHM2ZQotCS5xdWFkIC5MZDcsLkxzN2UKLQkucXVhZCAuTGQ4LC5MczhlCi0JLnF1YWQgLkxzOSwuTGVfcXVhZAotCS5xdWFkIC5MZDksLkxlX3F1YWQKLQkucXVhZCAuTHMxMCwuTGVfYnl0ZQotCS5xdWFkIC5MZDEwLC5MZV9ieXRlCi0jaWZkZWYgRklYX0FMSUdOTUVOVAotCS5xdWFkIC5MczExLC5MemVyb19yZXN0Ci0JLnF1YWQgLkxkMTEsLkx6ZXJvX3Jlc3QKLSNlbmRpZgotCS5xdWFkIC5MZTUsLkxlX3plcm8KKwkucXVhZCAxYiwzMGIKKwkucXVhZCAyYiwzMGIKKwkucXVhZCAzYiwzMGIKKwkucXVhZCA0YiwzMGIKKwkucXVhZCA1YiwzMGIKKwkucXVhZCA2YiwzMGIKKwkucXVhZCA3YiwzMGIKKwkucXVhZCA4YiwzMGIKKwkucXVhZCA5YiwzMGIKKwkucXVhZCAxMGIsMzBiCisJLnF1YWQgMTFiLDMwYgorCS5xdWFkIDEyYiwzMGIKKwkucXVhZCAxM2IsMzBiCisJLnF1YWQgMTRiLDMwYgorCS5xdWFkIDE1YiwzMGIKKwkucXVhZCAxNmIsMzBiCisJLnF1YWQgMThiLDQwYgorCS5xdWFkIDE5Yiw0MGIKKwkucXVhZCAyMWIsNTBiCisJLnF1YWQgMjJiLDUwYgogCS5wcmV2aW91cwotCi0JLyogZWF4OiB6ZXJvLCBlYng6IDY0ICovCi0uTHMxZTogCWFkZGwgJDgsJWVheAkJLyogZWF4IGlzIGJ5dGVzIGxlZnQgdW5jb3BpZWQgd2l0aGluIHRoZSBsb29wIChMczFlOiA2NCAuLiBMczhlOiA4KSAqLwotLkxzMmU6IAlhZGRsICQ4LCVlYXgKLS5MczNlOiAJYWRkbCAkOCwlZWF4Ci0uTHM0ZTogCWFkZGwgJDgsJWVheAotLkxzNWU6IAlhZGRsICQ4LCVlYXgKLS5MczZlOiAJYWRkbCAkOCwlZWF4Ci0uTHM3ZTogCWFkZGwgJDgsJWVheAotLkxzOGU6IAlhZGRsICQ4LCVlYXgKLQlhZGRxICVyYngsJXJkaQkvKiArNjQgKi8KLQlzdWJxICVyYXgsJXJkaSAgLyogY29ycmVjdCBkZXN0aW5hdGlvbiB3aXRoIGNvbXB1dGVkIG9mZnNldCAqLwotCi0Jc2hscSAkNiwlcmR4CS8qIGxvb3AgY291bnRlciAqIDY0IChzdHJpZGUgbGVuZ3RoKSAqLwotCWFkZHEgJXJheCwlcmR4CS8qIGFkZCBvZmZzZXQgdG8gbG9vcGNudCAqLwotCWFuZGwgJDYzLCVlY3gJLyogcmVtYWluaW5nIGJ5dGVzICovCi0JYWRkcSAlcmN4LCVyZHgJLyogYWRkIHRoZW0gKi8KLQlqbXAgLkx6ZXJvX3Jlc3QKLQotCS8qIGV4Y2VwdGlvbiBvbiBxdWFkIHdvcmQgbG9vcCBpbiB0YWlsIGhhbmRsaW5nICovCi0JLyogZWN4Oglsb29wY250LzgsICVlZHg6IGxlbmd0aCwgcmRpOiBjb3JyZWN0ICovCi0uTGVfcXVhZDoKLQlzaGxsICQzLCVlY3gKLQlhbmRsICQ3LCVlZHgKLQlhZGRsICVlY3gsJWVkeAotCS8qIGVkeDogYnl0ZXMgdG8gemVybywgcmRpOiBkZXN0LCBlYXg6emVybyAqLwotLkx6ZXJvX3Jlc3Q6Ci0JY21wbCAkMCwoJXJzcCkKLQlqeiAgIC5MZV96ZXJvCi0JbW92cSAlcmR4LCVyY3gKLS5MZV9ieXRlOgotCXhvcmwgJWVheCwlZWF4Ci0uTGU1OglyZXAKLQlzdG9zYgotCS8qIHdoZW4gdGhlcmUgaXMgYW5vdGhlciBleGNlcHRpb24gd2hpbGUgemVyb2luZyB0aGUgcmVzdCBqdXN0IHJldHVybiAqLwotLkxlX3plcm86Ci0JbW92cSAlcmR4LCVyYXgKLQlqbXAgLkxlbmRlCiAJQ0ZJX0VORFBST0MKLUVORFBST0MoY29weV91c2VyX2dlbmVyaWMpCitFTkRQUk9DKGNvcHlfdXNlcl9nZW5lcmljX3Vucm9sbGVkKQogCi0KLQkvKiBTb21lIENQVXMgcnVuIGZhc3RlciB1c2luZyB0aGUgc3RyaW5nIGNvcHkgaW5zdHJ1Y3Rpb25zLgotCSAgIFRoaXMgaXMgYWxzbyBhIGxvdCBzaW1wbGVyLiBVc2UgdGhlbSB3aGVuIHBvc3NpYmxlLgotCSAgIFBhdGNoIGluIGptcHMgdG8gdGhpcyBjb2RlIGluc3RlYWQgb2YgY29weWluZyBpdCBmdWxseQotCSAgIHRvIGF2b2lkIHVud2FudGVkIGFsaWFzaW5nIGluIHRoZSBleGNlcHRpb24gdGFibGVzLiAqLwotCi0gLyogcmRpCWRlc3RpbmF0aW9uCi0gICogcnNpIHNvdXJjZQotICAqIHJkeCBjb3VudAotICAqIGVjeCB6ZXJvIGZsYWcKLSAgKgotICAqIE91dHB1dDoKLSAgKiBlYXggdW5jb3BpZWQgYnl0ZXMgb3IgMCBpZiBzdWNjZXNzZnVsbC4KLSAgKgotICAqIE9ubHkgNEdCIG9mIGNvcHkgaXMgc3VwcG9ydGVkLiBUaGlzIHNob3VsZG4ndCBiZSBhIHByb2JsZW0KLSAgKiBiZWNhdXNlIHRoZSBrZXJuZWwgbm9ybWFsbHkgb25seSB3cml0ZXMgZnJvbS90byBwYWdlIHNpemVkIGNodW5rcwotICAqIGV2ZW4gaWYgdXNlciBzcGFjZSBwYXNzZWQgYSBsb25nZXIgYnVmZmVyLgotICAqIEFuZCBtb3JlIHdvdWxkIGJlIGRhbmdlcm91cyBiZWNhdXNlIGJvdGggSW50ZWwgYW5kIEFNRCBoYXZlCi0gICogZXJyYXRhIHdpdGggcmVwIG1vdnNxID4gNEdCLiBJZiBzb21lb25lIGZlZWxzIHRoZSBuZWVkIHRvIGZpeAotICAqIHRoaXMgcGxlYXNlIGNvbnNpZGVyIHRoaXMuCi0gICovCisvKiBTb21lIENQVXMgcnVuIGZhc3RlciB1c2luZyB0aGUgc3RyaW5nIGNvcHkgaW5zdHJ1Y3Rpb25zLgorICogVGhpcyBpcyBhbHNvIGEgbG90IHNpbXBsZXIuIFVzZSB0aGVtIHdoZW4gcG9zc2libGUuCisgKgorICogT25seSA0R0Igb2YgY29weSBpcyBzdXBwb3J0ZWQuIFRoaXMgc2hvdWxkbid0IGJlIGEgcHJvYmxlbQorICogYmVjYXVzZSB0aGUga2VybmVsIG5vcm1hbGx5IG9ubHkgd3JpdGVzIGZyb20vdG8gcGFnZSBzaXplZCBjaHVua3MKKyAqIGV2ZW4gaWYgdXNlciBzcGFjZSBwYXNzZWQgYSBsb25nZXIgYnVmZmVyLgorICogQW5kIG1vcmUgd291bGQgYmUgZGFuZ2Vyb3VzIGJlY2F1c2UgYm90aCBJbnRlbCBhbmQgQU1EIGhhdmUKKyAqIGVycmF0YSB3aXRoIHJlcCBtb3ZzcSA+IDRHQi4gSWYgc29tZW9uZSBmZWVscyB0aGUgbmVlZCB0byBmaXgKKyAqIHRoaXMgcGxlYXNlIGNvbnNpZGVyIHRoaXMuCisgKgorICogSW5wdXQ6CisgKiByZGkgZGVzdGluYXRpb24KKyAqIHJzaSBzb3VyY2UKKyAqIHJkeCBjb3VudAorICoKKyAqIE91dHB1dDoKKyAqIGVheCB1bmNvcGllZCBieXRlcyBvciAwIGlmIHN1Y2Nlc3NmdWwuCisgKi8KIEVOVFJZKGNvcHlfdXNlcl9nZW5lcmljX3N0cmluZykKIAlDRklfU1RBUlRQUk9DCi0JbW92bCAlZWN4LCVyOGQJCS8qIHNhdmUgemVybyBmbGFnICovCisJYW5kbCAlZWR4LCVlZHgKKwlqeiA0ZgorCWNtcGwgJDgsJWVkeAorCWpiIDJmCQkvKiBsZXNzIHRoYW4gOCBieXRlcywgZ28gdG8gYnl0ZSBjb3B5IGxvb3AgKi8KKwlBTElHTl9ERVNUSU5BVElPTgogCW1vdmwgJWVkeCwlZWN4CiAJc2hybCAkMywlZWN4Ci0JYW5kbCAkNywlZWR4CQotCWp6ICAgMTBmCi0xOglyZXAgCi0JbW92c3EgCi0JbW92bCAlZWR4LCVlY3gKLTI6CXJlcAotCW1vdnNiCi05Ogltb3ZsICVlY3gsJWVheAotCXJldAotCi0JLyogbXVsdGlwbGUgb2YgOCBieXRlICovCi0xMDoJcmVwCisJYW5kbCAkNywlZWR4CisxOglyZXAKIAltb3ZzcQotCXhvciAlZWF4LCVlYXgKKzI6CW1vdmwgJWVkeCwlZWN4CiszOglyZXAKKwltb3ZzYgorNDoJeG9ybCAlZWF4LCVlYXgKIAlyZXQKIAotCS8qIGV4Y2VwdGlvbiBoYW5kbGluZyAqLwotMzogICAgICBsZWEgKCVyZHgsJXJjeCw4KSwlcmF4CS8qIGV4Y2VwdGlvbiBvbiBxdWFkIGxvb3AgKi8KLQlqbXAgNmYKLTU6CW1vdmwgJWVjeCwlZWF4CQkvKiBleGNlcHRpb24gb24gYnl0ZSBsb29wICovCi0JLyogZWF4OiBsZWZ0IG92ZXIgYnl0ZXMgKi8KLTY6CXRlc3RsICVyOGQsJXI4ZAkJLyogemVybyBmbGFnIHNldD8gKi8KLQlqeiA3ZgotCW1vdmwgJWVheCwlZWN4CQkvKiBpbml0aWFsaXplIHg4NiBsb29wIGNvdW50ZXIgKi8KLQlwdXNoICVyYXgKLQl4b3JsICVlYXgsJWVheAotODoJcmVwCi0Jc3Rvc2IgCQkJLyogemVybyB0aGUgcmVzdCAqLwotMTE6CXBvcCAlcmF4Ci03OglyZXQKLQlDRklfRU5EUFJPQwotRU5EKGNvcHlfdXNlcl9nZW5lcmljX2MpCisJLnNlY3Rpb24gLmZpeHVwLCJheCIKKzExOglsZWEgKCVyZHgsJXJjeCw4KSwlcmN4CisxMjoJbW92bCAlZWN4LCVlZHgJCS8qIGVjeCBpcyB6ZXJvcmVzdCBhbHNvICovCisJam1wIGNvcHlfdXNlcl9oYW5kbGVfdGFpbAorCS5wcmV2aW91cwogCiAJLnNlY3Rpb24gX19leF90YWJsZSwiYSIKLQkucXVhZCAxYiwzYgotCS5xdWFkIDJiLDViCi0JLnF1YWQgOGIsMTFiCi0JLnF1YWQgMTBiLDNiCisJLmFsaWduIDgKKwkucXVhZCAxYiwxMWIKKwkucXVhZCAzYiwxMmIKIAkucHJldmlvdXMKKwlDRklfRU5EUFJPQworRU5EUFJPQyhjb3B5X3VzZXJfZ2VuZXJpY19zdHJpbmcpCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9saWIvY29weV91c2VyX25vY2FjaGVfNjQuUyBiL2FyY2gveDg2L2xpYi9jb3B5X3VzZXJfbm9jYWNoZV82NC5TCmluZGV4IDlkM2QxYWIuLjQwZTBlMzAgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2xpYi9jb3B5X3VzZXJfbm9jYWNoZV82NC5TCisrKyBiL2FyY2gveDg2L2xpYi9jb3B5X3VzZXJfbm9jYWNoZV82NC5TCkBAIC0xLDQgKzEsNiBAQAotLyogQ29weXJpZ2h0IDIwMDIgQW5kaSBLbGVlbiwgU3VTRSBMYWJzLgorLyoKKyAqIENvcHlyaWdodCAyMDA4IFZpdGFseSBNYXlhdHNraWtoIDx2bWF5YXRza0ByZWRoYXQuY29tPgorICogQ29weXJpZ2h0IDIwMDIgQW5kaSBLbGVlbiwgU3VTRSBMYWJzLgogICogU3ViamVjdCB0byB0aGUgR05VIFB1YmxpYyBMaWNlbnNlIHYyLgogICoKICAqIEZ1bmN0aW9ucyB0byBjb3B5IGZyb20gYW5kIHRvIHVzZXIgc3BhY2UuCkBAIC0xMiwyMDQgKzE0LDEyNSBAQAogI2luY2x1ZGUgPGFzbS9jdXJyZW50Lmg+CiAjaW5jbHVkZSA8YXNtL2FzbS1vZmZzZXRzLmg+CiAjaW5jbHVkZSA8YXNtL3RocmVhZF9pbmZvLmg+Ci0jaW5jbHVkZSA8YXNtL2NwdWZlYXR1cmUuaD4KIAotLyoKLSAqIGNvcHlfdXNlcl9ub2NhY2hlIC0gVW5jYWNoZWQgbWVtb3J5IGNvcHkgd2l0aCBleGNlcHRpb24gaGFuZGxpbmcKLSAqIFRoaXMgd2lsbCBmb3JjZSBkZXN0aW5hdGlvbi9zb3VyY2Ugb3V0IG9mIGNhY2hlIGZvciBtb3JlIHBlcmZvcm1hbmNlLgotICoKLSAqIElucHV0OgotICogcmRpIGRlc3RpbmF0aW9uCi0gKiByc2kgc291cmNlCi0gKiByZHggY291bnQKLSAqIHJjeCB6ZXJvIGZsYWcJd2hlbiAxIHplcm8gb24gZXhjZXB0aW9uCi0gKgotICogT3V0cHV0OgotICogZWF4IHVuY29waWVkIGJ5dGVzIG9yIDAgaWYgc3VjY2Vzc2Z1bC4KLSAqLwotRU5UUlkoX19jb3B5X3VzZXJfbm9jYWNoZSkKLQlDRklfU1RBUlRQUk9DCi0JcHVzaHEgJXJieAotCUNGSV9BREpVU1RfQ0ZBX09GRlNFVCA4Ci0JQ0ZJX1JFTF9PRkZTRVQgcmJ4LCAwCi0JcHVzaHEgJXJjeAkJLyogc2F2ZSB6ZXJvIGZsYWcgKi8KLQlDRklfQURKVVNUX0NGQV9PRkZTRVQgOAotCUNGSV9SRUxfT0ZGU0VUIHJjeCwgMAotCi0JeG9ybCAlZWF4LCVlYXgJCS8qIHplcm8gZm9yIHRoZSBleGNlcHRpb24gaGFuZGxlciAqLwotCisJLm1hY3JvIEFMSUdOX0RFU1RJTkFUSU9OCiAjaWZkZWYgRklYX0FMSUdOTUVOVAogCS8qIGNoZWNrIGZvciBiYWQgYWxpZ25tZW50IG9mIGRlc3RpbmF0aW9uICovCiAJbW92bCAlZWRpLCVlY3gKIAlhbmRsICQ3LCVlY3gKLQlqbnogIC5MYmFkX2FsaWdubWVudAotLkxhZnRlcl9iYWRfYWxpZ25tZW50OgotI2VuZGlmCi0KLQltb3ZxICVyZHgsJXJjeAotCi0JbW92bCAkNjQsJWVieAotCXNocnEgJDYsJXJkeAotCWRlY3EgJXJkeAotCWpzICAgLkxoYW5kbGVfdGFpbAotCi0JLnAyYWxpZ24gNAotLkxsb29wOgotLkxzMToJbW92cSAoJXJzaSksJXIxMQotLkxzMjoJbW92cSAxKjgoJXJzaSksJXI4Ci0uTHMzOgltb3ZxIDIqOCglcnNpKSwlcjkKLS5MczQ6CW1vdnEgMyo4KCVyc2kpLCVyMTAKLS5MZDE6CW1vdm50aSAlcjExLCglcmRpKQotLkxkMjoJbW92bnRpICVyOCwxKjgoJXJkaSkKLS5MZDM6CW1vdm50aSAlcjksMio4KCVyZGkpCi0uTGQ0Ogltb3ZudGkgJXIxMCwzKjgoJXJkaSkKLQotLkxzNToJbW92cSA0KjgoJXJzaSksJXIxMQotLkxzNjoJbW92cSA1KjgoJXJzaSksJXI4Ci0uTHM3Ogltb3ZxIDYqOCglcnNpKSwlcjkKLS5Mczg6CW1vdnEgNyo4KCVyc2kpLCVyMTAKLS5MZDU6CW1vdm50aSAlcjExLDQqOCglcmRpKQotLkxkNjoJbW92bnRpICVyOCw1KjgoJXJkaSkKLS5MZDc6CW1vdm50aSAlcjksNio4KCVyZGkpCi0uTGQ4Ogltb3ZudGkgJXIxMCw3KjgoJXJkaSkKLQotCWRlYyAgJXJkeAotCi0JbGVhcSA2NCglcnNpKSwlcnNpCi0JbGVhcSA2NCglcmRpKSwlcmRpCi0KLQlqbnMgIC5MbG9vcAotCi0JLnAyYWxpZ24gNAotLkxoYW5kbGVfdGFpbDoKLQltb3ZsICVlY3gsJWVkeAotCWFuZGwgJDYzLCVlY3gKLQlzaHJsICQzLCVlY3gKLQlqeiAgIC5MaGFuZGxlXzcKLQltb3ZsICQ4LCVlYngKLQkucDJhbGlnbiA0Ci0uTGxvb3BfODoKLS5Mczk6CW1vdnEgKCVyc2kpLCVyOAotLkxkOToJbW92bnRpICVyOCwoJXJkaSkKLQlkZWNsICVlY3gKLQlsZWFxIDgoJXJkaSksJXJkaQotCWxlYXEgOCglcnNpKSwlcnNpCi0Jam56IC5MbG9vcF84Ci0KLS5MaGFuZGxlXzc6Ci0JbW92bCAlZWR4LCVlY3gKLQlhbmRsICQ3LCVlY3gKLQlqeiAgIC5MZW5kZQotCS5wMmFsaWduIDQKLS5MbG9vcF8xOgotLkxzMTA6CW1vdmIgKCVyc2kpLCVibAotLkxkMTA6CW1vdmIgJWJsLCglcmRpKQotCWluY3EgJXJkaQotCWluY3EgJXJzaQotCWRlY2wgJWVjeAotCWpueiAuTGxvb3BfMQotCi0JQ0ZJX1JFTUVNQkVSX1NUQVRFCi0uTGVuZGU6Ci0JcG9wcSAlcmN4Ci0JQ0ZJX0FESlVTVF9DRkFfT0ZGU0VUIC04Ci0JQ0ZJX1JFU1RPUkUgJXJjeAotCXBvcHEgJXJieAotCUNGSV9BREpVU1RfQ0ZBX09GRlNFVCAtOAotCUNGSV9SRVNUT1JFIHJieAotCXNmZW5jZQotCXJldAotCUNGSV9SRVNUT1JFX1NUQVRFCi0KLSNpZmRlZiBGSVhfQUxJR05NRU5UCi0JLyogYWxpZ24gZGVzdGluYXRpb24gKi8KLQkucDJhbGlnbiA0Ci0uTGJhZF9hbGlnbm1lbnQ6Ci0JbW92bCAkOCwlcjlkCi0Jc3VibCAlZWN4LCVyOWQKLQltb3ZsICVyOWQsJWVjeAotCWNtcHEgJXI5LCVyZHgKLQlqeiAgIC5MaGFuZGxlXzcKLQlqcyAgIC5MaGFuZGxlXzcKLS5MYWxpZ25fMToKLS5MczExOgltb3ZiICglcnNpKSwlYmwKLS5MZDExOgltb3ZiICVibCwoJXJkaSkKKwlqeiAxMDJmCQkJCS8qIGFscmVhZHkgYWxpZ25lZCAqLworCXN1YmwgJDgsJWVjeAorCW5lZ2wgJWVjeAorCXN1YmwgJWVjeCwlZWR4CisxMDA6CW1vdmIgKCVyc2kpLCVhbAorMTAxOgltb3ZiICVhbCwoJXJkaSkKIAlpbmNxICVyc2kKIAlpbmNxICVyZGkKIAlkZWNsICVlY3gKLQlqbnogLkxhbGlnbl8xCi0Jc3VicSAlcjksJXJkeAotCWptcCAuTGFmdGVyX2JhZF9hbGlnbm1lbnQKLSNlbmRpZgotCi0JLyogdGFibGUgc29ydGVkIGJ5IGV4Y2VwdGlvbiBhZGRyZXNzICovCi0JLnNlY3Rpb24gX19leF90YWJsZSwiYSIKLQkuYWxpZ24gOAotCS5xdWFkIC5MczEsLkxzMWUJLyogLkxzWzEtNF0gLSAwIGJ5dGVzIGNvcGllZCAqLwotCS5xdWFkIC5MczIsLkxzMWUKLQkucXVhZCAuTHMzLC5MczFlCi0JLnF1YWQgLkxzNCwuTHMxZQotCS5xdWFkIC5MZDEsLkxzMWUJLyogLkxkWzEtNF0gLSAwLi4yNCBieXRlcyBjb3BlZCAqLwotCS5xdWFkIC5MZDIsLkxzMmUKLQkucXVhZCAuTGQzLC5MczNlCi0JLnF1YWQgLkxkNCwuTHM0ZQotCS5xdWFkIC5MczUsLkxzNWUJLyogLkxzWzUtOF0gLSAzMiBieXRlcyBjb3BpZWQgKi8KLQkucXVhZCAuTHM2LC5MczVlCi0JLnF1YWQgLkxzNywuTHM1ZQotCS5xdWFkIC5MczgsLkxzNWUKLQkucXVhZCAuTGQ1LC5MczVlCS8qIC5MZFs1LThdIC0gMzIuLjU2IGJ5dGVzIGNvcGllZCAqLwotCS5xdWFkIC5MZDYsLkxzNmUKLQkucXVhZCAuTGQ3LC5MczdlCi0JLnF1YWQgLkxkOCwuTHM4ZQotCS5xdWFkIC5MczksLkxlX3F1YWQKLQkucXVhZCAuTGQ5LC5MZV9xdWFkCi0JLnF1YWQgLkxzMTAsLkxlX2J5dGUKLQkucXVhZCAuTGQxMCwuTGVfYnl0ZQotI2lmZGVmIEZJWF9BTElHTk1FTlQKLQkucXVhZCAuTHMxMSwuTHplcm9fcmVzdAotCS5xdWFkIC5MZDExLC5MemVyb19yZXN0Ci0jZW5kaWYKLQkucXVhZCAuTGU1LC5MZV96ZXJvCisJam56IDEwMGIKKzEwMjoKKwkuc2VjdGlvbiAuZml4dXAsImF4IgorMTAzOglhZGRsICVyOGQsJWVkeAkJCS8qIGVjeCBpcyB6ZXJvcmVzdCBhbHNvICovCisJam1wIGNvcHlfdXNlcl9oYW5kbGVfdGFpbAogCS5wcmV2aW91cwogCi0JLyogZWF4OiB6ZXJvLCBlYng6IDY0ICovCi0uTHMxZTogCWFkZGwgJDgsJWVheAkvKiBlYXg6IGJ5dGVzIGxlZnQgdW5jb3BpZWQ6IExzMWU6IDY0IC4uIExzOGU6IDggKi8KLS5MczJlOiAJYWRkbCAkOCwlZWF4Ci0uTHMzZTogCWFkZGwgJDgsJWVheAotLkxzNGU6IAlhZGRsICQ4LCVlYXgKLS5MczVlOiAJYWRkbCAkOCwlZWF4Ci0uTHM2ZTogCWFkZGwgJDgsJWVheAotLkxzN2U6IAlhZGRsICQ4LCVlYXgKLS5MczhlOiAJYWRkbCAkOCwlZWF4Ci0JYWRkcSAlcmJ4LCVyZGkJLyogKzY0ICovCi0Jc3VicSAlcmF4LCVyZGkgIC8qIGNvcnJlY3QgZGVzdGluYXRpb24gd2l0aCBjb21wdXRlZCBvZmZzZXQgKi8KKwkuc2VjdGlvbiBfX2V4X3RhYmxlLCJhIgorCS5hbGlnbiA4CisJLnF1YWQgMTAwYiwxMDNiCisJLnF1YWQgMTAxYiwxMDNiCisJLnByZXZpb3VzCisjZW5kaWYKKwkuZW5kbQogCi0Jc2hscSAkNiwlcmR4CS8qIGxvb3AgY291bnRlciAqIDY0IChzdHJpZGUgbGVuZ3RoKSAqLwotCWFkZHEgJXJheCwlcmR4CS8qIGFkZCBvZmZzZXQgdG8gbG9vcGNudCAqLwotCWFuZGwgJDYzLCVlY3gJLyogcmVtYWluaW5nIGJ5dGVzICovCi0JYWRkcSAlcmN4LCVyZHgJLyogYWRkIHRoZW0gKi8KLQlqbXAgLkx6ZXJvX3Jlc3QKLQotCS8qIGV4Y2VwdGlvbiBvbiBxdWFkIHdvcmQgbG9vcCBpbiB0YWlsIGhhbmRsaW5nICovCi0JLyogZWN4Oglsb29wY250LzgsICVlZHg6IGxlbmd0aCwgcmRpOiBjb3JyZWN0ICovCi0uTGVfcXVhZDoKLQlzaGxsICQzLCVlY3gKKy8qCisgKiBjb3B5X3VzZXJfbm9jYWNoZSAtIFVuY2FjaGVkIG1lbW9yeSBjb3B5IHdpdGggZXhjZXB0aW9uIGhhbmRsaW5nCisgKiBUaGlzIHdpbGwgZm9yY2UgZGVzdGluYXRpb24vc291cmNlIG91dCBvZiBjYWNoZSBmb3IgbW9yZSBwZXJmb3JtYW5jZS4KKyAqLworRU5UUlkoX19jb3B5X3VzZXJfbm9jYWNoZSkKKwlDRklfU1RBUlRQUk9DCisJY21wbCAkOCwlZWR4CisJamIgMjBmCQkvKiBsZXNzIHRoZW4gOCBieXRlcywgZ28gdG8gYnl0ZSBjb3B5IGxvb3AgKi8KKwlBTElHTl9ERVNUSU5BVElPTgorCW1vdmwgJWVkeCwlZWN4CisJYW5kbCAkNjMsJWVkeAorCXNocmwgJDYsJWVjeAorCWp6IDE3ZgorMToJbW92cSAoJXJzaSksJXI4CisyOgltb3ZxIDEqOCglcnNpKSwlcjkKKzM6CW1vdnEgMio4KCVyc2kpLCVyMTAKKzQ6CW1vdnEgMyo4KCVyc2kpLCVyMTEKKzU6CW1vdm50aSAlcjgsKCVyZGkpCis2Ogltb3ZudGkgJXI5LDEqOCglcmRpKQorNzoJbW92bnRpICVyMTAsMio4KCVyZGkpCis4Ogltb3ZudGkgJXIxMSwzKjgoJXJkaSkKKzk6CW1vdnEgNCo4KCVyc2kpLCVyOAorMTA6CW1vdnEgNSo4KCVyc2kpLCVyOQorMTE6CW1vdnEgNio4KCVyc2kpLCVyMTAKKzEyOgltb3ZxIDcqOCglcnNpKSwlcjExCisxMzoJbW92bnRpICVyOCw0KjgoJXJkaSkKKzE0Ogltb3ZudGkgJXI5LDUqOCglcmRpKQorMTU6CW1vdm50aSAlcjEwLDYqOCglcmRpKQorMTY6CW1vdm50aSAlcjExLDcqOCglcmRpKQorCWxlYXEgNjQoJXJzaSksJXJzaQorCWxlYXEgNjQoJXJkaSksJXJkaQorCWRlY2wgJWVjeAorCWpueiAxYgorMTc6CW1vdmwgJWVkeCwlZWN4CiAJYW5kbCAkNywlZWR4CisJc2hybCAkMywlZWN4CisJanogMjBmCisxODoJbW92cSAoJXJzaSksJXI4CisxOToJbW92bnRpICVyOCwoJXJkaSkKKwlsZWFxIDgoJXJzaSksJXJzaQorCWxlYXEgOCglcmRpKSwlcmRpCisJZGVjbCAlZWN4CisJam56IDE4YgorMjA6CWFuZGwgJWVkeCwlZWR4CisJanogMjNmCisJbW92bCAlZWR4LCVlY3gKKzIxOgltb3ZiICglcnNpKSwlYWwKKzIyOgltb3ZiICVhbCwoJXJkaSkKKwlpbmNxICVyc2kKKwlpbmNxICVyZGkKKwlkZWNsICVlY3gKKwlqbnogMjFiCisyMzoJeG9ybCAlZWF4LCVlYXgKKwlzZmVuY2UKKwlyZXQKKworCS5zZWN0aW9uIC5maXh1cCwiYXgiCiszMDoJc2hsbCAkNiwlZWN4CiAJYWRkbCAlZWN4LCVlZHgKLQkvKiBlZHg6IGJ5dGVzIHRvIHplcm8sIHJkaTogZGVzdCwgZWF4Onplcm8gKi8KLS5MemVyb19yZXN0OgotCWNtcGwgJDAsKCVyc3ApCS8qIHplcm8gZmxhZyBzZXQ/ICovCi0JanogICAuTGVfemVybwotCW1vdnEgJXJkeCwlcmN4Ci0uTGVfYnl0ZToKLQl4b3JsICVlYXgsJWVheAotLkxlNToJcmVwCi0Jc3Rvc2IKLQkvKiB3aGVuIHRoZXJlIGlzIGFub3RoZXIgZXhjZXB0aW9uIHdoaWxlIHplcm9pbmcgdGhlIHJlc3QganVzdCByZXR1cm4gKi8KLS5MZV96ZXJvOgotCW1vdnEgJXJkeCwlcmF4Ci0Jam1wIC5MZW5kZQorCWptcCA2MGYKKzQwOglsZWEgKCVyZHgsJXJjeCw4KSwlcmR4CisJam1wIDYwZgorNTA6CW1vdmwgJWVjeCwlZWR4Cis2MDoJc2ZlbmNlCisJbW92bCAlcjhkLCVlY3gKKwlqbXAgY29weV91c2VyX2hhbmRsZV90YWlsCisJLnByZXZpb3VzCisKKwkuc2VjdGlvbiBfX2V4X3RhYmxlLCJhIgorCS5xdWFkIDFiLDMwYgorCS5xdWFkIDJiLDMwYgorCS5xdWFkIDNiLDMwYgorCS5xdWFkIDRiLDMwYgorCS5xdWFkIDViLDMwYgorCS5xdWFkIDZiLDMwYgorCS5xdWFkIDdiLDMwYgorCS5xdWFkIDhiLDMwYgorCS5xdWFkIDliLDMwYgorCS5xdWFkIDEwYiwzMGIKKwkucXVhZCAxMWIsMzBiCisJLnF1YWQgMTJiLDMwYgorCS5xdWFkIDEzYiwzMGIKKwkucXVhZCAxNGIsMzBiCisJLnF1YWQgMTViLDMwYgorCS5xdWFkIDE2YiwzMGIKKwkucXVhZCAxOGIsNDBiCisJLnF1YWQgMTliLDQwYgorCS5xdWFkIDIxYiw1MGIKKwkucXVhZCAyMmIsNTBiCisJLnByZXZpb3VzCiAJQ0ZJX0VORFBST0MKIEVORFBST0MoX19jb3B5X3VzZXJfbm9jYWNoZSkKLQotCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9saWIvZGVsYXlfMzIuYyBiL2FyY2gveDg2L2xpYi9kZWxheS5jCnNpbWlsYXJpdHkgaW5kZXggODclCnJlbmFtZSBmcm9tIGFyY2gveDg2L2xpYi9kZWxheV8zMi5jCnJlbmFtZSB0byBhcmNoL3g4Ni9saWIvZGVsYXkuYwppbmRleCBkNzEwZjJkLi5mNDU2ODYwIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9saWIvZGVsYXlfMzIuYworKysgYi9hcmNoL3g4Ni9saWIvZGVsYXkuYwpAQCAtMyw2ICszLDcgQEAKICAqCiAgKglDb3B5cmlnaHQgKEMpIDE5OTMgTGludXMgVG9ydmFsZHMKICAqCUNvcHlyaWdodCAoQykgMTk5NyBNYXJ0aW4gTWFyZXMgPG1qQGF0cmV5Lmthcmxpbi5tZmYuY3VuaS5jej4KKyAqCUNvcHlyaWdodCAoQykgMjAwOCBKaXJpIEhsYWRreSA8aGxhZGt5IF9kb3RfIGppcmkgX2F0XyBnbWFpbCBfZG90XyBjb20+CiAgKgogICoJVGhlIF9fZGVsYXkgZnVuY3Rpb24gbXVzdCBfTk9UXyBiZSBpbmxpbmVkIGFzIGl0cyBleGVjdXRpb24gdGltZQogICoJZGVwZW5kcyB3aWxkbHkgb24gYWxpZ25tZW50IG9uIG1hbnkgeDg2IHByb2Nlc3NvcnMuIFRoZSBhZGRpdGlvbmFsCkBAIC0yOCwxNiArMjksMjIgQEAKIC8qIHNpbXBsZSBsb29wIGJhc2VkIGRlbGF5OiAqLwogc3RhdGljIHZvaWQgZGVsYXlfbG9vcCh1bnNpZ25lZCBsb25nIGxvb3BzKQogewotCWludCBkMDsKKwlhc20gdm9sYXRpbGUoCisJCSIJdGVzdCAlMCwlMAlcbiIKKwkJIglqeiAzZgkJXG4iCisJCSIJam1wIDFmCQlcbiIKIAotCV9fYXNtX18gX192b2xhdGlsZV9fKAotCQkiXHRqbXAgMWZcbiIKLQkJIi5hbGlnbiAxNlxuIgotCQkiMTpcdGptcCAyZlxuIgotCQkiLmFsaWduIDE2XG4iCi0JCSIyOlx0ZGVjbCAlMFxuXHRqbnMgMmIiCi0JCToiPSZhIiAoZDApCi0JCToiMCIgKGxvb3BzKSk7CisJCSIuYWxpZ24gMTYJCVxuIgorCQkiMToJam1wIDJmCQlcbiIKKworCQkiLmFsaWduIDE2CQlcbiIKKwkJIjI6CWRlYyAlMAkJXG4iCisJCSIJam56IDJiCQlcbiIKKwkJIjM6CWRlYyAlMAkJXG4iCisKKwkJOiAvKiB3ZSBkb24ndCBuZWVkIG91dHB1dCAqLworCQk6ImEiIChsb29wcykKKwkpOwogfQogCiAvKiBUU0MgYmFzZWQgZGVsYXk6ICovCkBAIC05MSw3ICs5OCw3IEBACiBpbnQgX19kZXZpbml0IHJlYWRfY3VycmVudF90aW1lcih1bnNpZ25lZCBsb25nICp0aW1lcl92YWwpCiB7CiAJaWYgKGRlbGF5X2ZuID09IGRlbGF5X3RzYykgewotCQlyZHRzY2woKnRpbWVyX3ZhbCk7CisJCXJkdHNjbGwoKnRpbWVyX3ZhbCk7CiAJCXJldHVybiAwOwogCX0KIAlyZXR1cm4gLTE7CkBAIC0xMDEsMzEgKzEwOCwzMCBAQAogewogCWRlbGF5X2ZuKGxvb3BzKTsKIH0KK0VYUE9SVF9TWU1CT0woX19kZWxheSk7CiAKIGlubGluZSB2b2lkIF9fY29uc3RfdWRlbGF5KHVuc2lnbmVkIGxvbmcgeGxvb3BzKQogewogCWludCBkMDsKIAogCXhsb29wcyAqPSA0OwotCV9fYXNtX18oIm11bGwgJTAiCisJYXNtKCJtdWxsICUlZWR4IgogCQk6Ij1kIiAoeGxvb3BzKSwgIj0mYSIgKGQwKQogCQk6IjEiICh4bG9vcHMpLCAiMCIKIAkJKGNwdV9kYXRhKHJhd19zbXBfcHJvY2Vzc29yX2lkKCkpLmxvb3BzX3Blcl9qaWZmeSAqIChIWi80KSkpOwogCiAJX19kZWxheSgrK3hsb29wcyk7CiB9CitFWFBPUlRfU1lNQk9MKF9fY29uc3RfdWRlbGF5KTsKIAogdm9pZCBfX3VkZWxheSh1bnNpZ25lZCBsb25nIHVzZWNzKQogewogCV9fY29uc3RfdWRlbGF5KHVzZWNzICogMHgwMDAwMTBjNyk7IC8qIDIqKjMyIC8gMTAwMDAwMCAocm91bmRlZCB1cCkgKi8KIH0KK0VYUE9SVF9TWU1CT0woX191ZGVsYXkpOwogCiB2b2lkIF9fbmRlbGF5KHVuc2lnbmVkIGxvbmcgbnNlY3MpCiB7CiAJX19jb25zdF91ZGVsYXkobnNlY3MgKiAweDAwMDA1KTsgLyogMioqMzIgLyAxMDAwMDAwMDAwIChyb3VuZGVkIHVwKSAqLwogfQotCi1FWFBPUlRfU1lNQk9MKF9fZGVsYXkpOwotRVhQT1JUX1NZTUJPTChfX2NvbnN0X3VkZWxheSk7Ci1FWFBPUlRfU1lNQk9MKF9fdWRlbGF5KTsKIEVYUE9SVF9TWU1CT0woX19uZGVsYXkpOwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvbGliL2RlbGF5XzY0LmMgYi9hcmNoL3g4Ni9saWIvZGVsYXlfNjQuYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNGM0NDFiZS4uMDAwMDAwMAotLS0gYS9hcmNoL3g4Ni9saWIvZGVsYXlfNjQuYworKysgL2Rldi9udWxsCkBAIC0xLDg1ICswLDAgQEAKLS8qCi0gKglQcmVjaXNlIERlbGF5IExvb3BzIGZvciB4ODYtNjQKLSAqCi0gKglDb3B5cmlnaHQgKEMpIDE5OTMgTGludXMgVG9ydmFsZHMKLSAqCUNvcHlyaWdodCAoQykgMTk5NyBNYXJ0aW4gTWFyZXMgPG1qQGF0cmV5Lmthcmxpbi5tZmYuY3VuaS5jej4KLSAqCi0gKglUaGUgX19kZWxheSBmdW5jdGlvbiBtdXN0IF9OT1RfIGJlIGlubGluZWQgYXMgaXRzIGV4ZWN1dGlvbiB0aW1lCi0gKglkZXBlbmRzIHdpbGRseSBvbiBhbGlnbm1lbnQgb24gbWFueSB4ODYgcHJvY2Vzc29ycy4gCi0gKi8KLQotI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgotI2luY2x1ZGUgPGxpbnV4L3NjaGVkLmg+Ci0jaW5jbHVkZSA8bGludXgvdGltZXguaD4KLSNpbmNsdWRlIDxsaW51eC9wcmVlbXB0Lmg+Ci0jaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KLSNpbmNsdWRlIDxsaW51eC9pbml0Lmg+Ci0KLSNpbmNsdWRlIDxhc20vZGVsYXkuaD4KLSNpbmNsdWRlIDxhc20vbXNyLmg+Ci0KLSNpZmRlZiBDT05GSUdfU01QCi0jaW5jbHVkZSA8YXNtL3NtcC5oPgotI2VuZGlmCi0KLWludCBfX2RldmluaXQgcmVhZF9jdXJyZW50X3RpbWVyKHVuc2lnbmVkIGxvbmcgKnRpbWVyX3ZhbHVlKQotewotCXJkdHNjbGwoKnRpbWVyX3ZhbHVlKTsKLQlyZXR1cm4gMDsKLX0KLQotdm9pZCBfX2RlbGF5KHVuc2lnbmVkIGxvbmcgbG9vcHMpCi17Ci0JdW5zaWduZWQgYmNsb2NrLCBub3c7Ci0JaW50IGNwdTsKLQotCXByZWVtcHRfZGlzYWJsZSgpOwotCWNwdSA9IHNtcF9wcm9jZXNzb3JfaWQoKTsKLQlyZHRzY2woYmNsb2NrKTsKLQlmb3IgKDs7KSB7Ci0JCXJkdHNjbChub3cpOwotCQlpZiAoKG5vdyAtIGJjbG9jaykgPj0gbG9vcHMpCi0JCQlicmVhazsKLQotCQkvKiBBbGxvdyBSVCB0YXNrcyB0byBydW4gKi8KLQkJcHJlZW1wdF9lbmFibGUoKTsKLQkJcmVwX25vcCgpOwotCQlwcmVlbXB0X2Rpc2FibGUoKTsKLQotCQkvKgotCQkgKiBJdCBpcyBwb3NzaWJsZSB0aGF0IHdlIG1vdmVkIHRvIGFub3RoZXIgQ1BVLCBhbmQKLQkJICogc2luY2UgVFNDJ3MgYXJlIHBlci1jcHUgd2UgbmVlZCB0byBjYWxjdWxhdGUKLQkJICogdGhhdC4gVGhlIGRlbGF5IG11c3QgZ3VhcmFudGVlIHRoYXQgd2Ugd2FpdCAiYXQKLQkJICogbGVhc3QiIHRoZSBhbW91bnQgb2YgdGltZS4gQmVpbmcgbW92ZWQgdG8gYW5vdGhlcgotCQkgKiBDUFUgY291bGQgbWFrZSB0aGUgd2FpdCBsb25nZXIgYnV0IHdlIGp1c3QgbmVlZCB0bwotCQkgKiBtYWtlIHN1cmUgd2Ugd2FpdGVkIGxvbmcgZW5vdWdoLiBSZWJhbGFuY2UgdGhlCi0JCSAqIGNvdW50ZXIgZm9yIHRoaXMgQ1BVLgotCQkgKi8KLQkJaWYgKHVubGlrZWx5KGNwdSAhPSBzbXBfcHJvY2Vzc29yX2lkKCkpKSB7Ci0JCQlsb29wcyAtPSAobm93IC0gYmNsb2NrKTsKLQkJCWNwdSA9IHNtcF9wcm9jZXNzb3JfaWQoKTsKLQkJCXJkdHNjbChiY2xvY2spOwotCQl9Ci0JfQotCXByZWVtcHRfZW5hYmxlKCk7Ci19Ci1FWFBPUlRfU1lNQk9MKF9fZGVsYXkpOwotCi1pbmxpbmUgdm9pZCBfX2NvbnN0X3VkZWxheSh1bnNpZ25lZCBsb25nIHhsb29wcykKLXsKLQlfX2RlbGF5KCgoeGxvb3BzICogSFogKgotCQljcHVfZGF0YShyYXdfc21wX3Byb2Nlc3Nvcl9pZCgpKS5sb29wc19wZXJfamlmZnkpID4+IDMyKSArIDEpOwotfQotRVhQT1JUX1NZTUJPTChfX2NvbnN0X3VkZWxheSk7Ci0KLXZvaWQgX191ZGVsYXkodW5zaWduZWQgbG9uZyB1c2VjcykKLXsKLQlfX2NvbnN0X3VkZWxheSh1c2VjcyAqIDB4MDAwMDEwYzcpOyAgLyogMioqMzIgLyAxMDAwMDAwIChyb3VuZGVkIHVwKSAqLwotfQotRVhQT1JUX1NZTUJPTChfX3VkZWxheSk7Ci0KLXZvaWQgX19uZGVsYXkodW5zaWduZWQgbG9uZyBuc2VjcykKLXsKLQlfX2NvbnN0X3VkZWxheShuc2VjcyAqIDB4MDAwMDUpOyAgLyogMioqMzIgLyAxMDAwMDAwMDAwIChyb3VuZGVkIHVwKSAqLwotfQotRVhQT1JUX1NZTUJPTChfX25kZWxheSk7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9saWIvZ2V0dXNlci5TIGIvYXJjaC94ODYvbGliL2dldHVzZXIuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hZDM3NDAwCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC94ODYvbGliL2dldHVzZXIuUwpAQCAtMCwwICsxLDEwNCBAQAorLyoKKyAqIF9fZ2V0X3VzZXIgZnVuY3Rpb25zLgorICoKKyAqIChDKSBDb3B5cmlnaHQgMTk5OCBMaW51cyBUb3J2YWxkcworICogKEMpIENvcHlyaWdodCAyMDA1IEFuZGkgS2xlZW4KKyAqIChDKSBDb3B5cmlnaHQgMjAwOCBHbGF1YmVyIENvc3RhCisgKgorICogVGhlc2UgZnVuY3Rpb25zIGhhdmUgYSBub24tc3RhbmRhcmQgY2FsbCBpbnRlcmZhY2UKKyAqIHRvIG1ha2UgdGhlbSBtb3JlIGVmZmljaWVudCwgZXNwZWNpYWxseSBhcyB0aGV5CisgKiByZXR1cm4gYW4gZXJyb3IgdmFsdWUgaW4gYWRkaXRpb24gdG8gdGhlICJyZWFsIgorICogcmV0dXJuIHZhbHVlLgorICovCisKKy8qCisgKiBfX2dldF91c2VyX1gKKyAqCisgKiBJbnB1dHM6CSVbcnxlXWF4IGNvbnRhaW5zIHRoZSBhZGRyZXNzLgorICoJCVRoZSByZWdpc3RlciBpcyBtb2RpZmllZCwgYnV0IGFsbCBjaGFuZ2VzIGFyZSB1bmRvbmUKKyAqCQliZWZvcmUgcmV0dXJuaW5nIGJlY2F1c2UgdGhlIEMgY29kZSBkb2Vzbid0IGtub3cgYWJvdXQgaXQuCisgKgorICogT3V0cHV0czoJJVtyfGVdYXggaXMgZXJyb3IgY29kZSAoMCBvciAtRUZBVUxUKQorICoJCSVbcnxlXWR4IGNvbnRhaW5zIHplcm8tZXh0ZW5kZWQgdmFsdWUKKyAqCisgKgorICogVGhlc2UgZnVuY3Rpb25zIHNob3VsZCBub3QgbW9kaWZ5IGFueSBvdGhlciByZWdpc3RlcnMsCisgKiBhcyB0aGV5IGdldCBjYWxsZWQgZnJvbSB3aXRoaW4gaW5saW5lIGFzc2VtYmx5LgorICovCisKKyNpbmNsdWRlIDxsaW51eC9saW5rYWdlLmg+CisjaW5jbHVkZSA8YXNtL2R3YXJmMi5oPgorI2luY2x1ZGUgPGFzbS9wYWdlLmg+CisjaW5jbHVkZSA8YXNtL2Vycm5vLmg+CisjaW5jbHVkZSA8YXNtL2FzbS1vZmZzZXRzLmg+CisjaW5jbHVkZSA8YXNtL3RocmVhZF9pbmZvLmg+CisjaW5jbHVkZSA8YXNtL2FzbS5oPgorCisJLnRleHQKK0VOVFJZKF9fZ2V0X3VzZXJfMSkKKwlDRklfU1RBUlRQUk9DCisJR0VUX1RIUkVBRF9JTkZPKCVfQVNNX0RYKQorCWNtcCBUSV9hZGRyX2xpbWl0KCVfQVNNX0RYKSwlX0FTTV9BWAorCWphZSBiYWRfZ2V0X3VzZXIKKzE6CW1vdnpiICglX0FTTV9BWCksJWVkeAorCXhvciAlZWF4LCVlYXgKKwlyZXQKKwlDRklfRU5EUFJPQworRU5EUFJPQyhfX2dldF91c2VyXzEpCisKK0VOVFJZKF9fZ2V0X3VzZXJfMikKKwlDRklfU1RBUlRQUk9DCisJYWRkICQxLCVfQVNNX0FYCisJamMgYmFkX2dldF91c2VyCisJR0VUX1RIUkVBRF9JTkZPKCVfQVNNX0RYKQorCWNtcCBUSV9hZGRyX2xpbWl0KCVfQVNNX0RYKSwlX0FTTV9BWAorCWphZSBiYWRfZ2V0X3VzZXIKKzI6CW1vdnp3bCAtMSglX0FTTV9BWCksJWVkeAorCXhvciAlZWF4LCVlYXgKKwlyZXQKKwlDRklfRU5EUFJPQworRU5EUFJPQyhfX2dldF91c2VyXzIpCisKK0VOVFJZKF9fZ2V0X3VzZXJfNCkKKwlDRklfU1RBUlRQUk9DCisJYWRkICQzLCVfQVNNX0FYCisJamMgYmFkX2dldF91c2VyCisJR0VUX1RIUkVBRF9JTkZPKCVfQVNNX0RYKQorCWNtcCBUSV9hZGRyX2xpbWl0KCVfQVNNX0RYKSwlX0FTTV9BWAorCWphZSBiYWRfZ2V0X3VzZXIKKzM6CW1vdiAtMyglX0FTTV9BWCksJWVkeAorCXhvciAlZWF4LCVlYXgKKwlyZXQKKwlDRklfRU5EUFJPQworRU5EUFJPQyhfX2dldF91c2VyXzQpCisKKyNpZmRlZiBDT05GSUdfWDg2XzY0CitFTlRSWShfX2dldF91c2VyXzgpCisJQ0ZJX1NUQVJUUFJPQworCWFkZCAkNywlX0FTTV9BWAorCWpjIGJhZF9nZXRfdXNlcgorCUdFVF9USFJFQURfSU5GTyglX0FTTV9EWCkKKwljbXAgVElfYWRkcl9saW1pdCglX0FTTV9EWCksJV9BU01fQVgKKwlqYWUJYmFkX2dldF91c2VyCis0Ogltb3ZxIC03KCVfQVNNX0FYKSwlX0FTTV9EWAorCXhvciAlZWF4LCVlYXgKKwlyZXQKKwlDRklfRU5EUFJPQworRU5EUFJPQyhfX2dldF91c2VyXzgpCisjZW5kaWYKKworYmFkX2dldF91c2VyOgorCUNGSV9TVEFSVFBST0MKKwl4b3IgJWVkeCwlZWR4CisJbW92ICQoLUVGQVVMVCksJV9BU01fQVgKKwlyZXQKKwlDRklfRU5EUFJPQworRU5EKGJhZF9nZXRfdXNlcikKKworLnNlY3Rpb24gX19leF90YWJsZSwiYSIKKwlfQVNNX1BUUiAxYixiYWRfZ2V0X3VzZXIKKwlfQVNNX1BUUiAyYixiYWRfZ2V0X3VzZXIKKwlfQVNNX1BUUiAzYixiYWRfZ2V0X3VzZXIKKyNpZmRlZiBDT05GSUdfWDg2XzY0CisJX0FTTV9QVFIgNGIsYmFkX2dldF91c2VyCisjZW5kaWYKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2xpYi9nZXR1c2VyXzMyLlMgYi9hcmNoL3g4Ni9saWIvZ2V0dXNlcl8zMi5TCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2ZDg0YjUzLi4wMDAwMDAwCi0tLSBhL2FyY2gveDg2L2xpYi9nZXR1c2VyXzMyLlMKKysrIC9kZXYvbnVsbApAQCAtMSw3OCArMCwwIEBACi0vKgotICogX19nZXRfdXNlciBmdW5jdGlvbnMuCi0gKgotICogKEMpIENvcHlyaWdodCAxOTk4IExpbnVzIFRvcnZhbGRzCi0gKgotICogVGhlc2UgZnVuY3Rpb25zIGhhdmUgYSBub24tc3RhbmRhcmQgY2FsbCBpbnRlcmZhY2UKLSAqIHRvIG1ha2UgdGhlbSBtb3JlIGVmZmljaWVudCwgZXNwZWNpYWxseSBhcyB0aGV5Ci0gKiByZXR1cm4gYW4gZXJyb3IgdmFsdWUgaW4gYWRkaXRpb24gdG8gdGhlICJyZWFsIgotICogcmV0dXJuIHZhbHVlLgotICovCi0jaW5jbHVkZSA8bGludXgvbGlua2FnZS5oPgotI2luY2x1ZGUgPGFzbS9kd2FyZjIuaD4KLSNpbmNsdWRlIDxhc20vdGhyZWFkX2luZm8uaD4KLQotCi0vKgotICogX19nZXRfdXNlcl9YCi0gKgotICogSW5wdXRzOgklZWF4IGNvbnRhaW5zIHRoZSBhZGRyZXNzCi0gKgotICogT3V0cHV0czoJJWVheCBpcyBlcnJvciBjb2RlICgwIG9yIC1FRkFVTFQpCi0gKgkJJWVkeCBjb250YWlucyB6ZXJvLWV4dGVuZGVkIHZhbHVlCi0gKgotICogVGhlc2UgZnVuY3Rpb25zIHNob3VsZCBub3QgbW9kaWZ5IGFueSBvdGhlciByZWdpc3RlcnMsCi0gKiBhcyB0aGV5IGdldCBjYWxsZWQgZnJvbSB3aXRoaW4gaW5saW5lIGFzc2VtYmx5LgotICovCi0KLS50ZXh0Ci1FTlRSWShfX2dldF91c2VyXzEpCi0JQ0ZJX1NUQVJUUFJPQwotCUdFVF9USFJFQURfSU5GTyglZWR4KQotCWNtcGwgVElfYWRkcl9saW1pdCglZWR4KSwlZWF4Ci0JamFlIGJhZF9nZXRfdXNlcgotMToJbW92emJsICglZWF4KSwlZWR4Ci0JeG9ybCAlZWF4LCVlYXgKLQlyZXQKLQlDRklfRU5EUFJPQwotRU5EUFJPQyhfX2dldF91c2VyXzEpCi0KLUVOVFJZKF9fZ2V0X3VzZXJfMikKLQlDRklfU1RBUlRQUk9DCi0JYWRkbCAkMSwlZWF4Ci0JamMgYmFkX2dldF91c2VyCi0JR0VUX1RIUkVBRF9JTkZPKCVlZHgpCi0JY21wbCBUSV9hZGRyX2xpbWl0KCVlZHgpLCVlYXgKLQlqYWUgYmFkX2dldF91c2VyCi0yOgltb3Z6d2wgLTEoJWVheCksJWVkeAotCXhvcmwgJWVheCwlZWF4Ci0JcmV0Ci0JQ0ZJX0VORFBST0MKLUVORFBST0MoX19nZXRfdXNlcl8yKQotCi1FTlRSWShfX2dldF91c2VyXzQpCi0JQ0ZJX1NUQVJUUFJPQwotCWFkZGwgJDMsJWVheAotCWpjIGJhZF9nZXRfdXNlcgotCUdFVF9USFJFQURfSU5GTyglZWR4KQotCWNtcGwgVElfYWRkcl9saW1pdCglZWR4KSwlZWF4Ci0JamFlIGJhZF9nZXRfdXNlcgotMzoJbW92bCAtMyglZWF4KSwlZWR4Ci0JeG9ybCAlZWF4LCVlYXgKLQlyZXQKLQlDRklfRU5EUFJPQwotRU5EUFJPQyhfX2dldF91c2VyXzQpCi0KLWJhZF9nZXRfdXNlcjoKLQlDRklfU1RBUlRQUk9DCi0JeG9ybCAlZWR4LCVlZHgKLQltb3ZsICQtMTQsJWVheAotCXJldAotCUNGSV9FTkRQUk9DCi1FTkQoYmFkX2dldF91c2VyKQotCi0uc2VjdGlvbiBfX2V4X3RhYmxlLCJhIgotCS5sb25nIDFiLGJhZF9nZXRfdXNlcgotCS5sb25nIDJiLGJhZF9nZXRfdXNlcgotCS5sb25nIDNiLGJhZF9nZXRfdXNlcgotLnByZXZpb3VzCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9saWIvZ2V0dXNlcl82NC5TIGIvYXJjaC94ODYvbGliL2dldHVzZXJfNjQuUwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTQ0ODg3Ni4uMDAwMDAwMAotLS0gYS9hcmNoL3g4Ni9saWIvZ2V0dXNlcl82NC5TCisrKyAvZGV2L251bGwKQEAgLTEsMTA5ICswLDAgQEAKLS8qCi0gKiBfX2dldF91c2VyIGZ1bmN0aW9ucy4KLSAqCi0gKiAoQykgQ29weXJpZ2h0IDE5OTggTGludXMgVG9ydmFsZHMKLSAqIChDKSBDb3B5cmlnaHQgMjAwNSBBbmRpIEtsZWVuCi0gKgotICogVGhlc2UgZnVuY3Rpb25zIGhhdmUgYSBub24tc3RhbmRhcmQgY2FsbCBpbnRlcmZhY2UKLSAqIHRvIG1ha2UgdGhlbSBtb3JlIGVmZmljaWVudCwgZXNwZWNpYWxseSBhcyB0aGV5Ci0gKiByZXR1cm4gYW4gZXJyb3IgdmFsdWUgaW4gYWRkaXRpb24gdG8gdGhlICJyZWFsIgotICogcmV0dXJuIHZhbHVlLgotICovCi0KLS8qCi0gKiBfX2dldF91c2VyX1gKLSAqCi0gKiBJbnB1dHM6CSVyY3ggY29udGFpbnMgdGhlIGFkZHJlc3MuCi0gKgkJVGhlIHJlZ2lzdGVyIGlzIG1vZGlmaWVkLCBidXQgYWxsIGNoYW5nZXMgYXJlIHVuZG9uZQotICoJCWJlZm9yZSByZXR1cm5pbmcgYmVjYXVzZSB0aGUgQyBjb2RlIGRvZXNuJ3Qga25vdyBhYm91dCBpdC4KLSAqCi0gKiBPdXRwdXRzOgklcmF4IGlzIGVycm9yIGNvZGUgKDAgb3IgLUVGQVVMVCkKLSAqCQklcmR4IGNvbnRhaW5zIHplcm8tZXh0ZW5kZWQgdmFsdWUKLSAqIAotICogJXI4IGlzIGRlc3Ryb3llZC4KLSAqCi0gKiBUaGVzZSBmdW5jdGlvbnMgc2hvdWxkIG5vdCBtb2RpZnkgYW55IG90aGVyIHJlZ2lzdGVycywKLSAqIGFzIHRoZXkgZ2V0IGNhbGxlZCBmcm9tIHdpdGhpbiBpbmxpbmUgYXNzZW1ibHkuCi0gKi8KLQotI2luY2x1ZGUgPGxpbnV4L2xpbmthZ2UuaD4KLSNpbmNsdWRlIDxhc20vZHdhcmYyLmg+Ci0jaW5jbHVkZSA8YXNtL3BhZ2UuaD4KLSNpbmNsdWRlIDxhc20vZXJybm8uaD4KLSNpbmNsdWRlIDxhc20vYXNtLW9mZnNldHMuaD4KLSNpbmNsdWRlIDxhc20vdGhyZWFkX2luZm8uaD4KLQotCS50ZXh0Ci1FTlRSWShfX2dldF91c2VyXzEpCi0JQ0ZJX1NUQVJUUFJPQwotCUdFVF9USFJFQURfSU5GTyglcjgpCi0JY21wcSB0aHJlYWRpbmZvX2FkZHJfbGltaXQoJXI4KSwlcmN4Ci0JamFlIGJhZF9nZXRfdXNlcgotMToJbW92emIgKCVyY3gpLCVlZHgKLQl4b3JsICVlYXgsJWVheAotCXJldAotCUNGSV9FTkRQUk9DCi1FTkRQUk9DKF9fZ2V0X3VzZXJfMSkKLQotRU5UUlkoX19nZXRfdXNlcl8yKQotCUNGSV9TVEFSVFBST0MKLQlHRVRfVEhSRUFEX0lORk8oJXI4KQotCWFkZHEgJDEsJXJjeAotCWpjIDIwZgotCWNtcHEgdGhyZWFkaW5mb19hZGRyX2xpbWl0KCVyOCksJXJjeAotCWphZSAyMGYKLQlkZWNxICAgJXJjeAotMjoJbW92endsICglcmN4KSwlZWR4Ci0JeG9ybCAlZWF4LCVlYXgKLQlyZXQKLTIwOglkZWNxICAgICVyY3gKLQlqbXAJYmFkX2dldF91c2VyCi0JQ0ZJX0VORFBST0MKLUVORFBST0MoX19nZXRfdXNlcl8yKQotCi1FTlRSWShfX2dldF91c2VyXzQpCi0JQ0ZJX1NUQVJUUFJPQwotCUdFVF9USFJFQURfSU5GTyglcjgpCi0JYWRkcSAkMywlcmN4Ci0JamMgMzBmCi0JY21wcSB0aHJlYWRpbmZvX2FkZHJfbGltaXQoJXI4KSwlcmN4Ci0JamFlIDMwZgotCXN1YnEgJDMsJXJjeAotMzoJbW92bCAoJXJjeCksJWVkeAotCXhvcmwgJWVheCwlZWF4Ci0JcmV0Ci0zMDoJc3VicSAkMywlcmN4Ci0Jam1wIGJhZF9nZXRfdXNlcgotCUNGSV9FTkRQUk9DCi1FTkRQUk9DKF9fZ2V0X3VzZXJfNCkKLQotRU5UUlkoX19nZXRfdXNlcl84KQotCUNGSV9TVEFSVFBST0MKLQlHRVRfVEhSRUFEX0lORk8oJXI4KQotCWFkZHEgJDcsJXJjeAotCWpjIDQwZgotCWNtcHEgdGhyZWFkaW5mb19hZGRyX2xpbWl0KCVyOCksJXJjeAotCWphZQk0MGYKLQlzdWJxCSQ3LCVyY3gKLTQ6CW1vdnEgKCVyY3gpLCVyZHgKLQl4b3JsICVlYXgsJWVheAotCXJldAotNDA6CXN1YnEgJDcsJXJjeAotCWptcCBiYWRfZ2V0X3VzZXIKLQlDRklfRU5EUFJPQwotRU5EUFJPQyhfX2dldF91c2VyXzgpCi0KLWJhZF9nZXRfdXNlcjoKLQlDRklfU1RBUlRQUk9DCi0JeG9ybCAlZWR4LCVlZHgKLQltb3ZxICQoLUVGQVVMVCksJXJheAotCXJldAotCUNGSV9FTkRQUk9DCi1FTkQoYmFkX2dldF91c2VyKQotCi0uc2VjdGlvbiBfX2V4X3RhYmxlLCJhIgotCS5xdWFkIDFiLGJhZF9nZXRfdXNlcgotCS5xdWFkIDJiLGJhZF9nZXRfdXNlcgotCS5xdWFkIDNiLGJhZF9nZXRfdXNlcgotCS5xdWFkIDRiLGJhZF9nZXRfdXNlcgotLnByZXZpb3VzCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9saWIvcHV0dXNlci5TIGIvYXJjaC94ODYvbGliL3B1dHVzZXIuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNmIwZDE1Ci0tLSAvZGV2L251bGwKKysrIGIvYXJjaC94ODYvbGliL3B1dHVzZXIuUwpAQCAtMCwwICsxLDk3IEBACisvKgorICogX19wdXRfdXNlciBmdW5jdGlvbnMuCisgKgorICogKEMpIENvcHlyaWdodCAyMDA1IExpbnVzIFRvcnZhbGRzCisgKiAoQykgQ29weXJpZ2h0IDIwMDUgQW5kaSBLbGVlbgorICogKEMpIENvcHlyaWdodCAyMDA4IEdsYXViZXIgQ29zdGEKKyAqCisgKiBUaGVzZSBmdW5jdGlvbnMgaGF2ZSBhIG5vbi1zdGFuZGFyZCBjYWxsIGludGVyZmFjZQorICogdG8gbWFrZSB0aGVtIG1vcmUgZWZmaWNpZW50LCBlc3BlY2lhbGx5IGFzIHRoZXkKKyAqIHJldHVybiBhbiBlcnJvciB2YWx1ZSBpbiBhZGRpdGlvbiB0byB0aGUgInJlYWwiCisgKiByZXR1cm4gdmFsdWUuCisgKi8KKyNpbmNsdWRlIDxsaW51eC9saW5rYWdlLmg+CisjaW5jbHVkZSA8YXNtL2R3YXJmMi5oPgorI2luY2x1ZGUgPGFzbS90aHJlYWRfaW5mby5oPgorI2luY2x1ZGUgPGFzbS9lcnJuby5oPgorI2luY2x1ZGUgPGFzbS9hc20uaD4KKworCisvKgorICogX19wdXRfdXNlcl9YCisgKgorICogSW5wdXRzOgklZWF4WzolZWR4XSBjb250YWlucyB0aGUgZGF0YQorICoJCSVlY3ggY29udGFpbnMgdGhlIGFkZHJlc3MKKyAqCisgKiBPdXRwdXRzOgklZWF4IGlzIGVycm9yIGNvZGUgKDAgb3IgLUVGQVVMVCkKKyAqCisgKiBUaGVzZSBmdW5jdGlvbnMgc2hvdWxkIG5vdCBtb2RpZnkgYW55IG90aGVyIHJlZ2lzdGVycywKKyAqIGFzIHRoZXkgZ2V0IGNhbGxlZCBmcm9tIHdpdGhpbiBpbmxpbmUgYXNzZW1ibHkuCisgKi8KKworI2RlZmluZSBFTlRFUglDRklfU1RBUlRQUk9DIDsgXAorCQlHRVRfVEhSRUFEX0lORk8oJV9BU01fQlgpCisjZGVmaW5lIEVYSVQJcmV0IDsgXAorCQlDRklfRU5EUFJPQworCisudGV4dAorRU5UUlkoX19wdXRfdXNlcl8xKQorCUVOVEVSCisJY21wIFRJX2FkZHJfbGltaXQoJV9BU01fQlgpLCVfQVNNX0NYCisJamFlIGJhZF9wdXRfdXNlcgorMToJbW92YiAlYWwsKCVfQVNNX0NYKQorCXhvciAlZWF4LCVlYXgKKwlFWElUCitFTkRQUk9DKF9fcHV0X3VzZXJfMSkKKworRU5UUlkoX19wdXRfdXNlcl8yKQorCUVOVEVSCisJbW92IFRJX2FkZHJfbGltaXQoJV9BU01fQlgpLCVfQVNNX0JYCisJc3ViICQxLCVfQVNNX0JYCisJY21wICVfQVNNX0JYLCVfQVNNX0NYCisJamFlIGJhZF9wdXRfdXNlcgorMjoJbW92dyAlYXgsKCVfQVNNX0NYKQorCXhvciAlZWF4LCVlYXgKKwlFWElUCitFTkRQUk9DKF9fcHV0X3VzZXJfMikKKworRU5UUlkoX19wdXRfdXNlcl80KQorCUVOVEVSCisJbW92IFRJX2FkZHJfbGltaXQoJV9BU01fQlgpLCVfQVNNX0JYCisJc3ViICQzLCVfQVNNX0JYCisJY21wICVfQVNNX0JYLCVfQVNNX0NYCisJamFlIGJhZF9wdXRfdXNlcgorMzoJbW92bCAlZWF4LCglX0FTTV9DWCkKKwl4b3IgJWVheCwlZWF4CisJRVhJVAorRU5EUFJPQyhfX3B1dF91c2VyXzQpCisKK0VOVFJZKF9fcHV0X3VzZXJfOCkKKwlFTlRFUgorCW1vdiBUSV9hZGRyX2xpbWl0KCVfQVNNX0JYKSwlX0FTTV9CWAorCXN1YiAkNywlX0FTTV9CWAorCWNtcCAlX0FTTV9CWCwlX0FTTV9DWAorCWphZSBiYWRfcHV0X3VzZXIKKzQ6CW1vdiAlX0FTTV9BWCwoJV9BU01fQ1gpCisjaWZkZWYgQ09ORklHX1g4Nl8zMgorNToJbW92bCAlZWR4LDQoJV9BU01fQ1gpCisjZW5kaWYKKwl4b3IgJWVheCwlZWF4CisJRVhJVAorRU5EUFJPQyhfX3B1dF91c2VyXzgpCisKK2JhZF9wdXRfdXNlcjoKKwlDRklfU1RBUlRQUk9DCisJbW92bCAkLUVGQVVMVCwlZWF4CisJRVhJVAorRU5EKGJhZF9wdXRfdXNlcikKKworLnNlY3Rpb24gX19leF90YWJsZSwiYSIKKwlfQVNNX1BUUiAxYixiYWRfcHV0X3VzZXIKKwlfQVNNX1BUUiAyYixiYWRfcHV0X3VzZXIKKwlfQVNNX1BUUiAzYixiYWRfcHV0X3VzZXIKKwlfQVNNX1BUUiA0YixiYWRfcHV0X3VzZXIKKyNpZmRlZiBDT05GSUdfWDg2XzMyCisJX0FTTV9QVFIgNWIsYmFkX3B1dF91c2VyCisjZW5kaWYKKy5wcmV2aW91cwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvbGliL3B1dHVzZXJfMzIuUyBiL2FyY2gveDg2L2xpYi9wdXR1c2VyXzMyLlMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGY1OGZiYTEuLjAwMDAwMDAKLS0tIGEvYXJjaC94ODYvbGliL3B1dHVzZXJfMzIuUworKysgL2Rldi9udWxsCkBAIC0xLDk4ICswLDAgQEAKLS8qCi0gKiBfX3B1dF91c2VyIGZ1bmN0aW9ucy4KLSAqCi0gKiAoQykgQ29weXJpZ2h0IDIwMDUgTGludXMgVG9ydmFsZHMKLSAqCi0gKiBUaGVzZSBmdW5jdGlvbnMgaGF2ZSBhIG5vbi1zdGFuZGFyZCBjYWxsIGludGVyZmFjZQotICogdG8gbWFrZSB0aGVtIG1vcmUgZWZmaWNpZW50LCBlc3BlY2lhbGx5IGFzIHRoZXkKLSAqIHJldHVybiBhbiBlcnJvciB2YWx1ZSBpbiBhZGRpdGlvbiB0byB0aGUgInJlYWwiCi0gKiByZXR1cm4gdmFsdWUuCi0gKi8KLSNpbmNsdWRlIDxsaW51eC9saW5rYWdlLmg+Ci0jaW5jbHVkZSA8YXNtL2R3YXJmMi5oPgotI2luY2x1ZGUgPGFzbS90aHJlYWRfaW5mby5oPgotCi0KLS8qCi0gKiBfX3B1dF91c2VyX1gKLSAqCi0gKiBJbnB1dHM6CSVlYXhbOiVlZHhdIGNvbnRhaW5zIHRoZSBkYXRhCi0gKgkJJWVjeCBjb250YWlucyB0aGUgYWRkcmVzcwotICoKLSAqIE91dHB1dHM6CSVlYXggaXMgZXJyb3IgY29kZSAoMCBvciAtRUZBVUxUKQotICoKLSAqIFRoZXNlIGZ1bmN0aW9ucyBzaG91bGQgbm90IG1vZGlmeSBhbnkgb3RoZXIgcmVnaXN0ZXJzLAotICogYXMgdGhleSBnZXQgY2FsbGVkIGZyb20gd2l0aGluIGlubGluZSBhc3NlbWJseS4KLSAqLwotCi0jZGVmaW5lIEVOVEVSCUNGSV9TVEFSVFBST0MgOyBcCi0JCXB1c2hsICVlYnggOyBcCi0JCUNGSV9BREpVU1RfQ0ZBX09GRlNFVCA0IDsgXAotCQlDRklfUkVMX09GRlNFVCBlYngsIDAgOyBcCi0JCUdFVF9USFJFQURfSU5GTyglZWJ4KQotI2RlZmluZSBFWElUCXBvcGwgJWVieCA7IFwKLQkJQ0ZJX0FESlVTVF9DRkFfT0ZGU0VUIC00IDsgXAotCQlDRklfUkVTVE9SRSBlYnggOyBcCi0JCXJldCA7IFwKLQkJQ0ZJX0VORFBST0MKLQotLnRleHQKLUVOVFJZKF9fcHV0X3VzZXJfMSkKLQlFTlRFUgotCWNtcGwgVElfYWRkcl9saW1pdCglZWJ4KSwlZWN4Ci0JamFlIGJhZF9wdXRfdXNlcgotMToJbW92YiAlYWwsKCVlY3gpCi0JeG9ybCAlZWF4LCVlYXgKLQlFWElUCi1FTkRQUk9DKF9fcHV0X3VzZXJfMSkKLQotRU5UUlkoX19wdXRfdXNlcl8yKQotCUVOVEVSCi0JbW92bCBUSV9hZGRyX2xpbWl0KCVlYngpLCVlYngKLQlzdWJsICQxLCVlYngKLQljbXBsICVlYngsJWVjeAotCWphZSBiYWRfcHV0X3VzZXIKLTI6CW1vdncgJWF4LCglZWN4KQotCXhvcmwgJWVheCwlZWF4Ci0JRVhJVAotRU5EUFJPQyhfX3B1dF91c2VyXzIpCi0KLUVOVFJZKF9fcHV0X3VzZXJfNCkKLQlFTlRFUgotCW1vdmwgVElfYWRkcl9saW1pdCglZWJ4KSwlZWJ4Ci0Jc3VibCAkMywlZWJ4Ci0JY21wbCAlZWJ4LCVlY3gKLQlqYWUgYmFkX3B1dF91c2VyCi0zOgltb3ZsICVlYXgsKCVlY3gpCi0JeG9ybCAlZWF4LCVlYXgKLQlFWElUCi1FTkRQUk9DKF9fcHV0X3VzZXJfNCkKLQotRU5UUlkoX19wdXRfdXNlcl84KQotCUVOVEVSCi0JbW92bCBUSV9hZGRyX2xpbWl0KCVlYngpLCVlYngKLQlzdWJsICQ3LCVlYngKLQljbXBsICVlYngsJWVjeAotCWphZSBiYWRfcHV0X3VzZXIKLTQ6CW1vdmwgJWVheCwoJWVjeCkKLTU6CW1vdmwgJWVkeCw0KCVlY3gpCi0JeG9ybCAlZWF4LCVlYXgKLQlFWElUCi1FTkRQUk9DKF9fcHV0X3VzZXJfOCkKLQotYmFkX3B1dF91c2VyOgotCUNGSV9TVEFSVFBST0Mgc2ltcGxlCi0JQ0ZJX0RFRl9DRkEgZXNwLCAyKjQKLQlDRklfT0ZGU0VUIGVpcCwgLTEqNAotCUNGSV9PRkZTRVQgZWJ4LCAtMio0Ci0JbW92bCAkLTE0LCVlYXgKLQlFWElUCi1FTkQoYmFkX3B1dF91c2VyKQotCi0uc2VjdGlvbiBfX2V4X3RhYmxlLCJhIgotCS5sb25nIDFiLGJhZF9wdXRfdXNlcgotCS5sb25nIDJiLGJhZF9wdXRfdXNlcgotCS5sb25nIDNiLGJhZF9wdXRfdXNlcgotCS5sb25nIDRiLGJhZF9wdXRfdXNlcgotCS5sb25nIDViLGJhZF9wdXRfdXNlcgotLnByZXZpb3VzCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9saWIvcHV0dXNlcl82NC5TIGIvYXJjaC94ODYvbGliL3B1dHVzZXJfNjQuUwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDk4OWY1YS4uMDAwMDAwMAotLS0gYS9hcmNoL3g4Ni9saWIvcHV0dXNlcl82NC5TCisrKyAvZGV2L251bGwKQEAgLTEsMTA2ICswLDAgQEAKLS8qCi0gKiBfX3B1dF91c2VyIGZ1bmN0aW9ucy4KLSAqCi0gKiAoQykgQ29weXJpZ2h0IDE5OTggTGludXMgVG9ydmFsZHMKLSAqIChDKSBDb3B5cmlnaHQgMjAwNSBBbmRpIEtsZWVuCi0gKgotICogVGhlc2UgZnVuY3Rpb25zIGhhdmUgYSBub24tc3RhbmRhcmQgY2FsbCBpbnRlcmZhY2UKLSAqIHRvIG1ha2UgdGhlbSBtb3JlIGVmZmljaWVudCwgZXNwZWNpYWxseSBhcyB0aGV5Ci0gKiByZXR1cm4gYW4gZXJyb3IgdmFsdWUgaW4gYWRkaXRpb24gdG8gdGhlICJyZWFsIgotICogcmV0dXJuIHZhbHVlLgotICovCi0KLS8qCi0gKiBfX3B1dF91c2VyX1gKLSAqCi0gKiBJbnB1dHM6CSVyY3ggY29udGFpbnMgdGhlIGFkZHJlc3MKLSAqCQklcmR4IGNvbnRhaW5zIG5ldyB2YWx1ZQotICoKLSAqIE91dHB1dHM6CSVyYXggaXMgZXJyb3IgY29kZSAoMCBvciAtRUZBVUxUKQotICoKLSAqICVyOCBpcyBkZXN0cm95ZWQuCi0gKgotICogVGhlc2UgZnVuY3Rpb25zIHNob3VsZCBub3QgbW9kaWZ5IGFueSBvdGhlciByZWdpc3RlcnMsCi0gKiBhcyB0aGV5IGdldCBjYWxsZWQgZnJvbSB3aXRoaW4gaW5saW5lIGFzc2VtYmx5LgotICovCi0KLSNpbmNsdWRlIDxsaW51eC9saW5rYWdlLmg+Ci0jaW5jbHVkZSA8YXNtL2R3YXJmMi5oPgotI2luY2x1ZGUgPGFzbS9wYWdlLmg+Ci0jaW5jbHVkZSA8YXNtL2Vycm5vLmg+Ci0jaW5jbHVkZSA8YXNtL2FzbS1vZmZzZXRzLmg+Ci0jaW5jbHVkZSA8YXNtL3RocmVhZF9pbmZvLmg+Ci0KLQkudGV4dAotRU5UUlkoX19wdXRfdXNlcl8xKQotCUNGSV9TVEFSVFBST0MKLQlHRVRfVEhSRUFEX0lORk8oJXI4KQotCWNtcHEgdGhyZWFkaW5mb19hZGRyX2xpbWl0KCVyOCksJXJjeAotCWphZSBiYWRfcHV0X3VzZXIKLTE6CW1vdmIgJWRsLCglcmN4KQotCXhvcmwgJWVheCwlZWF4Ci0JcmV0Ci0JQ0ZJX0VORFBST0MKLUVORFBST0MoX19wdXRfdXNlcl8xKQotCi1FTlRSWShfX3B1dF91c2VyXzIpCi0JQ0ZJX1NUQVJUUFJPQwotCUdFVF9USFJFQURfSU5GTyglcjgpCi0JYWRkcSAkMSwlcmN4Ci0JamMgMjBmCi0JY21wcSB0aHJlYWRpbmZvX2FkZHJfbGltaXQoJXI4KSwlcmN4Ci0JamFlIDIwZgotCWRlY3EgJXJjeAotMjoJbW92dyAlZHgsKCVyY3gpCi0JeG9ybCAlZWF4LCVlYXgKLQlyZXQKLTIwOglkZWNxICVyY3gKLQlqbXAgYmFkX3B1dF91c2VyCi0JQ0ZJX0VORFBST0MKLUVORFBST0MoX19wdXRfdXNlcl8yKQotCi1FTlRSWShfX3B1dF91c2VyXzQpCi0JQ0ZJX1NUQVJUUFJPQwotCUdFVF9USFJFQURfSU5GTyglcjgpCi0JYWRkcSAkMywlcmN4Ci0JamMgMzBmCi0JY21wcSB0aHJlYWRpbmZvX2FkZHJfbGltaXQoJXI4KSwlcmN4Ci0JamFlIDMwZgotCXN1YnEgJDMsJXJjeAotMzoJbW92bCAlZWR4LCglcmN4KQotCXhvcmwgJWVheCwlZWF4Ci0JcmV0Ci0zMDoJc3VicSAkMywlcmN4Ci0Jam1wIGJhZF9wdXRfdXNlcgotCUNGSV9FTkRQUk9DCi1FTkRQUk9DKF9fcHV0X3VzZXJfNCkKLQotRU5UUlkoX19wdXRfdXNlcl84KQotCUNGSV9TVEFSVFBST0MKLQlHRVRfVEhSRUFEX0lORk8oJXI4KQotCWFkZHEgJDcsJXJjeAotCWpjIDQwZgotCWNtcHEgdGhyZWFkaW5mb19hZGRyX2xpbWl0KCVyOCksJXJjeAotCWphZSA0MGYKLQlzdWJxICQ3LCVyY3gKLTQ6CW1vdnEgJXJkeCwoJXJjeCkKLQl4b3JsICVlYXgsJWVheAotCXJldAotNDA6CXN1YnEgJDcsJXJjeAotCWptcCBiYWRfcHV0X3VzZXIKLQlDRklfRU5EUFJPQwotRU5EUFJPQyhfX3B1dF91c2VyXzgpCi0KLWJhZF9wdXRfdXNlcjoKLQlDRklfU1RBUlRQUk9DCi0JbW92cSAkKC1FRkFVTFQpLCVyYXgKLQlyZXQKLQlDRklfRU5EUFJPQwotRU5EKGJhZF9wdXRfdXNlcikKLQotLnNlY3Rpb24gX19leF90YWJsZSwiYSIKLQkucXVhZCAxYixiYWRfcHV0X3VzZXIKLQkucXVhZCAyYixiYWRfcHV0X3VzZXIKLQkucXVhZCAzYixiYWRfcHV0X3VzZXIKLQkucXVhZCA0YixiYWRfcHV0X3VzZXIKLS5wcmV2aW91cwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvbGliL3RodW5rXzMyLlMgYi9hcmNoL3g4Ni9saWIvdGh1bmtfMzIuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NTBiMTFlCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC94ODYvbGliL3RodW5rXzMyLlMKQEAgLTAsMCArMSw0NyBAQAorLyoKKyAqIFRyYW1wb2xpbmUgdG8gdHJhY2UgaXJxcyBvZmYuIChvdGhlcndpc2UgQ0FMTEVSX0FERFIxIG1pZ2h0IGNyYXNoKQorICogQ29weXJpZ2h0IDIwMDggYnkgU3RldmVuIFJvc3RlZHQsIFJlZCBIYXQsIEluYworICogIChpbnNwaXJlZCBieSBBbmRpIEtsZWVuJ3MgdGh1bmtfNjQuUykKKyAqIFN1YmplY3QgdG8gdGhlIEdOVSBwdWJsaWMgbGljZW5zZSwgdi4yLiBObyB3YXJyYW50eSBvZiBhbnkga2luZC4KKyAqLworCisJI2luY2x1ZGUgPGxpbnV4L2xpbmthZ2UuaD4KKworI2RlZmluZSBBUkNIX1RSQUNFX0lSUVNfT04JCQlcCisJcHVzaGwgJWVheDsJCQkJXAorCXB1c2hsICVlY3g7CQkJCVwKKwlwdXNobCAlZWR4OwkJCQlcCisJY2FsbCB0cmFjZV9oYXJkaXJxc19vbjsJCQlcCisJcG9wbCAlZWR4OwkJCQlcCisJcG9wbCAlZWN4OwkJCQlcCisJcG9wbCAlZWF4OworCisjZGVmaW5lIEFSQ0hfVFJBQ0VfSVJRU19PRkYJCQlcCisJcHVzaGwgJWVheDsJCQkJXAorCXB1c2hsICVlY3g7CQkJCVwKKwlwdXNobCAlZWR4OwkJCQlcCisJY2FsbCB0cmFjZV9oYXJkaXJxc19vZmY7CQlcCisJcG9wbCAlZWR4OwkJCQlcCisJcG9wbCAlZWN4OwkJCQlcCisJcG9wbCAlZWF4OworCisjaWZkZWYgQ09ORklHX1RSQUNFX0lSUUZMQUdTCisJLyogcHV0IHJldHVybiBhZGRyZXNzIGluIGVheCAoYXJnMSkgKi8KKwkubWFjcm8gdGh1bmtfcmEgbmFtZSxmdW5jCisJLmdsb2JsIFxuYW1lCitcbmFtZToKKwlwdXNobCAlZWF4CisJcHVzaGwgJWVjeAorCXB1c2hsICVlZHgKKwkvKiBQbGFjZSBFSVAgaW4gdGhlIGFyZzEgKi8KKwltb3ZsIDMqNCglZXNwKSwgJWVheAorCWNhbGwgXGZ1bmMKKwlwb3BsICVlZHgKKwlwb3BsICVlY3gKKwlwb3BsICVlYXgKKwlyZXQKKwkuZW5kbQorCisJdGh1bmtfcmEgdHJhY2VfaGFyZGlycXNfb25fdGh1bmssdHJhY2VfaGFyZGlycXNfb25fY2FsbGVyCisJdGh1bmtfcmEgdHJhY2VfaGFyZGlycXNfb2ZmX3RodW5rLHRyYWNlX2hhcmRpcnFzX29mZl9jYWxsZXIKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvbGliL3RodW5rXzY0LlMgYi9hcmNoL3g4Ni9saWIvdGh1bmtfNjQuUwppbmRleCBlMDA5MjUxLi5iZjlhN2Q1IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9saWIvdGh1bmtfNjQuUworKysgYi9hcmNoL3g4Ni9saWIvdGh1bmtfNjQuUwpAQCAtMiw2ICsyLDcgQEAKICAqIFNhdmUgcmVnaXN0ZXJzIGJlZm9yZSBjYWxsaW5nIGFzc2VtYmx5IGZ1bmN0aW9ucy4gVGhpcyBhdm9pZHMKICAqIGRpc3R1cmJhbmNlIG9mIHJlZ2lzdGVyIGFsbG9jYXRpb24gaW4gc29tZSBpbmxpbmUgYXNzZW1ibHkgY29uc3RydWN0cy4KICAqIENvcHlyaWdodCAyMDAxLDIwMDIgYnkgQW5kaSBLbGVlbiwgU3VTRSBMYWJzLgorICogQWRkZWQgdHJhY2VfaGFyZGlycXMgY2FsbGVycyAtIENvcHlyaWdodCAyMDA3IFN0ZXZlbiBSb3N0ZWR0LCBSZWQgSGF0LCBJbmMuCiAgKiBTdWJqZWN0IHRvIHRoZSBHTlUgcHVibGljIGxpY2Vuc2UsIHYuMi4gTm8gd2FycmFudHkgb2YgYW55IGtpbmQuCiAgKi8KIApAQCAtNDIsOCArNDMsMjIgQEAKICNlbmRpZgkKIAkKICNpZmRlZiBDT05GSUdfVFJBQ0VfSVJRRkxBR1MKLQl0aHVuayB0cmFjZV9oYXJkaXJxc19vbl90aHVuayx0cmFjZV9oYXJkaXJxc19vbgotCXRodW5rIHRyYWNlX2hhcmRpcnFzX29mZl90aHVuayx0cmFjZV9oYXJkaXJxc19vZmYKKwkvKiBwdXQgcmV0dXJuIGFkZHJlc3MgaW4gcmRpIChhcmcxKSAqLworCS5tYWNybyB0aHVua19yYSBuYW1lLGZ1bmMKKwkuZ2xvYmwgXG5hbWUKK1xuYW1lOgorCUNGSV9TVEFSVFBST0MKKwlTQVZFX0FSR1MKKwkvKiBTQVZFX0FSR1MgcHVzaHMgOSBlbGVtZW50cyAqLworCS8qIHRoZSBuZXh0IGVsZW1lbnQgd291bGQgYmUgdGhlIHJpcCAqLworCW1vdnEgOSo4KCVyc3ApLCAlcmRpCisJY2FsbCBcZnVuYworCWptcCAgcmVzdG9yZQorCUNGSV9FTkRQUk9DCisJLmVuZG0KKworCXRodW5rX3JhIHRyYWNlX2hhcmRpcnFzX29uX3RodW5rLHRyYWNlX2hhcmRpcnFzX29uX2NhbGxlcgorCXRodW5rX3JhIHRyYWNlX2hhcmRpcnFzX29mZl90aHVuayx0cmFjZV9oYXJkaXJxc19vZmZfY2FsbGVyCiAjZW5kaWYKIAogI2lmZGVmIENPTkZJR19ERUJVR19MT0NLX0FMTE9DCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9saWIvdXNlcmNvcHlfNjQuYyBiL2FyY2gveDg2L2xpYi91c2VyY29weV82NC5jCmluZGV4IDBjODlkMWIuLmY0ZGY2ZTcgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2xpYi91c2VyY29weV82NC5jCisrKyBiL2FyY2gveDg2L2xpYi91c2VyY29weV82NC5jCkBAIC0xNTgsMyArMTU4LDI2IEBACiB9CiBFWFBPUlRfU1lNQk9MKGNvcHlfaW5fdXNlcik7CiAKKy8qCisgKiBUcnkgdG8gY29weSBsYXN0IGJ5dGVzIGFuZCBjbGVhciB0aGUgcmVzdCBpZiBuZWVkZWQuCisgKiBTaW5jZSBwcm90ZWN0aW9uIGZhdWx0IGluIGNvcHlfZnJvbS90b191c2VyIGlzIG5vdCBhIG5vcm1hbCBzaXR1YXRpb24sCisgKiBpdCBpcyBub3QgbmVjZXNzYXJ5IHRvIG9wdGltaXplIHRhaWwgaGFuZGxpbmcuCisgKi8KK3Vuc2lnbmVkIGxvbmcKK2NvcHlfdXNlcl9oYW5kbGVfdGFpbChjaGFyICp0bywgY2hhciAqZnJvbSwgdW5zaWduZWQgbGVuLCB1bnNpZ25lZCB6ZXJvcmVzdCkKK3sKKwljaGFyIGM7CisJdW5zaWduZWQgemVyb19sZW47CisKKwlmb3IgKDsgbGVuOyAtLWxlbikgeworCQlpZiAoX19nZXRfdXNlcl9ub2NoZWNrKGMsIGZyb20rKywgc2l6ZW9mKGNoYXIpKSkKKwkJCWJyZWFrOworCQlpZiAoX19wdXRfdXNlcl9ub2NoZWNrKGMsIHRvKyssIHNpemVvZihjaGFyKSkpCisJCQlicmVhazsKKwl9CisKKwlmb3IgKGMgPSAwLCB6ZXJvX2xlbiA9IGxlbjsgemVyb3Jlc3QgJiYgemVyb19sZW47IC0temVyb19sZW4pCisJCWlmIChfX3B1dF91c2VyX25vY2hlY2soYywgdG8rKywgc2l6ZW9mKGNoYXIpKSkKKwkJCWJyZWFrOworCXJldHVybiBsZW47Cit9CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9tYWNoLWRlZmF1bHQvc2V0dXAuYyBiL2FyY2gveDg2L21hY2gtZGVmYXVsdC9zZXR1cC5jCmluZGV4IDBjMjhhMDcuLjQ4Mjc4ZmEgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L21hY2gtZGVmYXVsdC9zZXR1cC5jCisrKyBiL2FyY2gveDg2L21hY2gtZGVmYXVsdC9zZXR1cC5jCkBAIC0xMCw2ICsxMCwxNCBAQAogI2luY2x1ZGUgPGFzbS9lODIwLmg+CiAjaW5jbHVkZSA8YXNtL3NldHVwLmg+CiAKKy8qCisgKiBBbnkgcXVpcmtzIHRvIGJlIHBlcmZvcm1lZCB0byBpbml0aWFsaXplIHRpbWVycy9pcnFzL2V0Yz8KKyAqLworaW50ICgqYXJjaF90aW1lX2luaXRfcXVpcmspKHZvaWQpOworaW50ICgqYXJjaF9wcmVfaW50cl9pbml0X3F1aXJrKSh2b2lkKTsKK2ludCAoKmFyY2hfaW50cl9pbml0X3F1aXJrKSh2b2lkKTsKK2ludCAoKmFyY2hfdHJhcF9pbml0X3F1aXJrKSh2b2lkKTsKKwogI2lmZGVmIENPTkZJR19IT1RQTFVHX0NQVQogI2RlZmluZSBERUZBVUxUX1NFTkRfSVBJCSgxKQogI2Vsc2UKQEAgLTI5LDYgKzM3LDEwIEBACiAgKiovCiB2b2lkIF9faW5pdCBwcmVfaW50cl9pbml0X2hvb2sodm9pZCkKIHsKKwlpZiAoYXJjaF9wcmVfaW50cl9pbml0X3F1aXJrKSB7CisJCWlmIChhcmNoX3ByZV9pbnRyX2luaXRfcXVpcmsoKSkKKwkJCXJldHVybjsKKwl9CiAJaW5pdF9JU0FfaXJxcygpOwogfQogCkBAIC01Miw2ICs2NCwxMCBAQAogICoqLwogdm9pZCBfX2luaXQgaW50cl9pbml0X2hvb2sodm9pZCkKIHsKKwlpZiAoYXJjaF9pbnRyX2luaXRfcXVpcmspIHsKKwkJaWYgKGFyY2hfaW50cl9pbml0X3F1aXJrKCkpCisJCQlyZXR1cm47CisJfQogI2lmZGVmIENPTkZJR19YODZfTE9DQUxfQVBJQwogCWFwaWNfaW50cl9pbml0KCk7CiAjZW5kaWYKQEAgLTY1LDcgKzgxLDcgQEAKICAqCiAgKiBEZXNjcmlwdGlvbjoKICAqCWdlbmVyYWxseSB1c2VkIHRvIGFjdGl2YXRlIGFueSBtYWNoaW5lIHNwZWNpZmljIGlkZW50aWZpY2F0aW9uCi0gKglyb3V0aW5lcyB0aGF0IG1heSBiZSBuZWVkZWQgYmVmb3JlIHNldHVwX2FyY2goKSBydW5zLiAgT24gVklTV1MKKyAqCXJvdXRpbmVzIHRoYXQgbWF5IGJlIG5lZWRlZCBiZWZvcmUgc2V0dXBfYXJjaCgpIHJ1bnMuICBPbiBWb3lhZ2VyCiAgKgl0aGlzIGlzIHVzZWQgdG8gZ2V0IHRoZSBib2FyZCByZXZpc2lvbiBhbmQgdHlwZS4KICAqKi8KIHZvaWQgX19pbml0IHByZV9zZXR1cF9hcmNoX2hvb2sodm9pZCkKQEAgLTgxLDYgKzk3LDEwIEBACiAgKiovCiB2b2lkIF9faW5pdCB0cmFwX2luaXRfaG9vayh2b2lkKQogeworCWlmIChhcmNoX3RyYXBfaW5pdF9xdWlyaykgeworCQlpZiAoYXJjaF90cmFwX2luaXRfcXVpcmsoKSkKKwkJCXJldHVybjsKKwl9CiB9CiAKIHN0YXRpYyBzdHJ1Y3QgaXJxYWN0aW9uIGlycTAgID0gewpAQCAtOTksNiArMTE5LDE2IEBACiAgKiovCiB2b2lkIF9faW5pdCB0aW1lX2luaXRfaG9vayh2b2lkKQogeworCWlmIChhcmNoX3RpbWVfaW5pdF9xdWlyaykgeworCQkvKgorCQkgKiBBIG5vbnplcm8gcmV0dXJuIGNvZGUgZG9lcyBub3QgbWVhbiBmYWlsdXJlLCBpdCBtZWFucworCQkgKiB0aGF0IHRoZSBhcmNoaXRlY3R1cmUgcXVpcmsgZG9lcyBub3Qgd2FudCBhbnkKKwkJICogZ2VuZXJpYyAodGltZXIpIHNldHVwIHRvIGJlIHBlcmZvcm1lZCBhZnRlciB0aGlzOgorCQkgKi8KKwkJaWYgKGFyY2hfdGltZV9pbml0X3F1aXJrKCkpCisJCQlyZXR1cm47CisJfQorCiAJaXJxMC5tYXNrID0gY3B1bWFza19vZl9jcHUoMCk7CiAJc2V0dXBfaXJxKDAsICZpcnEwKTsKIH0KQEAgLTE0Miw0NSArMTcyLDMgQEAKIAogbGF0ZV9pbml0Y2FsbChwcmludF9pcGlfbW9kZSk7CiAKLS8qKgotICogbWFjaGluZV9zcGVjaWZpY19tZW1vcnlfc2V0dXAgLSBIb29rIGZvciBtYWNoaW5lIHNwZWNpZmljIG1lbW9yeSBzZXR1cC4KLSAqCi0gKiBEZXNjcmlwdGlvbjoKLSAqCVRoaXMgaXMgaW5jbHVkZWQgbGF0ZSBpbiBrZXJuZWwvc2V0dXAuYyBzbyB0aGF0IGl0IGNhbiBtYWtlCi0gKgl1c2Ugb2YgYWxsIG9mIHRoZSBzdGF0aWMgZnVuY3Rpb25zLgotICoqLwotCi1jaGFyICogX19pbml0IG1hY2hpbmVfc3BlY2lmaWNfbWVtb3J5X3NldHVwKHZvaWQpCi17Ci0JY2hhciAqd2hvOwotCi0KLQl3aG8gPSAiQklPUy1lODIwIjsKLQotCS8qCi0JICogVHJ5IHRvIGNvcHkgdGhlIEJJT1Mtc3VwcGxpZWQgRTgyMC1tYXAuCi0JICoKLQkgKiBPdGhlcndpc2UgZmFrZSBhIG1lbW9yeSBtYXA7IG9uZSBzZWN0aW9uIGZyb20gMGstPjY0MGssCi0JICogdGhlIG5leHQgc2VjdGlvbiBmcm9tIDFtYi0+YXBwcm9wcmlhdGVfbWVtX2sKLQkgKi8KLQlzYW5pdGl6ZV9lODIwX21hcChib290X3BhcmFtcy5lODIwX21hcCwgJmJvb3RfcGFyYW1zLmU4MjBfZW50cmllcyk7Ci0JaWYgKGNvcHlfZTgyMF9tYXAoYm9vdF9wYXJhbXMuZTgyMF9tYXAsIGJvb3RfcGFyYW1zLmU4MjBfZW50cmllcykKLQkgICAgPCAwKSB7Ci0JCXVuc2lnbmVkIGxvbmcgbWVtX3NpemU7Ci0KLQkJLyogY29tcGFyZSByZXN1bHRzIGZyb20gb3RoZXIgbWV0aG9kcyBhbmQgdGFrZSB0aGUgZ3JlYXRlciAqLwotCQlpZiAoYm9vdF9wYXJhbXMuYWx0X21lbV9rCi0JCSAgICA8IGJvb3RfcGFyYW1zLnNjcmVlbl9pbmZvLmV4dF9tZW1faykgewotCQkJbWVtX3NpemUgPSBib290X3BhcmFtcy5zY3JlZW5faW5mby5leHRfbWVtX2s7Ci0JCQl3aG8gPSAiQklPUy04OCI7Ci0JCX0gZWxzZSB7Ci0JCQltZW1fc2l6ZSA9IGJvb3RfcGFyYW1zLmFsdF9tZW1fazsKLQkJCXdobyA9ICJCSU9TLWU4MDEiOwotCQl9Ci0KLQkJZTgyMC5ucl9tYXAgPSAwOwotCQlhZGRfbWVtb3J5X3JlZ2lvbigwLCBMT1dNRU1TSVpFKCksIEU4MjBfUkFNKTsKLQkJYWRkX21lbW9yeV9yZWdpb24oSElHSF9NRU1PUlksIG1lbV9zaXplIDw8IDEwLCBFODIwX1JBTSk7Ci0gIAl9Ci0JcmV0dXJuIHdobzsKLX0KZGlmZiAtLWdpdCBhL2FyY2gveDg2L21hY2gtZXM3MDAwL01ha2VmaWxlIGIvYXJjaC94ODYvbWFjaC1lczcwMDAvTWFrZWZpbGUKaW5kZXggNjlkZDRkYS4uM2VmOGI0MyAxMDA2NDQKLS0tIGEvYXJjaC94ODYvbWFjaC1lczcwMDAvTWFrZWZpbGUKKysrIGIvYXJjaC94ODYvbWFjaC1lczcwMDAvTWFrZWZpbGUKQEAgLTMsNCArMywzIEBACiAjCiAKIG9iai0kKENPTkZJR19YODZfRVM3MDAwKQk6PSBlczcwMDBwbGF0Lm8KLW9iai0kKENPTkZJR19YODZfR0VORVJJQ0FSQ0gpCTo9IGVzNzAwMHBsYXQubwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvbWFjaC1lczcwMDAvZXM3MDAwcGxhdC5jIGIvYXJjaC94ODYvbWFjaC1lczcwMDAvZXM3MDAwcGxhdC5jCmluZGV4IGY1ZDZmN2QuLjQzNTRjZTggMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L21hY2gtZXM3MDAwL2VzNzAwMHBsYXQuYworKysgYi9hcmNoL3g4Ni9tYWNoLWVzNzAwMC9lczcwMDBwbGF0LmMKQEAgLTUyLDYgKzUyLDggQEAKIHN0YXRpYyBpbnQgCQkJbWlwX3BvcnQ7CiBzdGF0aWMgdW5zaWduZWQgbG9uZwkJbWlwX2FkZHIsIGhvc3RfYWRkcjsKIAoraW50IGVzNzAwMF9wbGF0OworCiAvKgogICogR1NJIG92ZXJyaWRlIGZvciBFUzcwMDAgcGxhdGZvcm1zLgogICovCkBAIC0xNzUsNTMgKzE3Nyw2IEBACiB9CiAjZW5kaWYKIAotLyoKLSAqIFRoaXMgZmlsZSBhbHNvIGdldHMgY29tcGlsZWQgaWYgQ09ORklHX1g4Nl9HRU5FUklDQVJDSCBpcyBzZXQuIEdlbmVyaWMKLSAqIGFyY2ggYWxyZWFkeSBoYXMgZ290IGZvbGxvd2luZyBmdW5jdGlvbiBkZWZpbml0aW9ucyAoYXNtLWdlbmVyaWMvZXM3MDAwLmMpCi0gKiBoZW5jZSBubyBuZWVkIHRvIGRlZmluZSB0aGVzZSBmb3IgdGhhdCBjYXNlLgotICovCi0jaWZuZGVmIENPTkZJR19YODZfR0VORVJJQ0FSQ0gKLXZvaWQgZXM3MDAwX3N3X2FwaWModm9pZCk7Ci12b2lkIF9faW5pdCBlbmFibGVfYXBpY19tb2RlKHZvaWQpCi17Ci0JZXM3MDAwX3N3X2FwaWMoKTsKLQlyZXR1cm47Ci19Ci0KLV9faW5pdCBpbnQgbXBzX29lbV9jaGVjayhzdHJ1Y3QgbXBfY29uZmlnX3RhYmxlICptcGMsIGNoYXIgKm9lbSwKLQkJY2hhciAqcHJvZHVjdGlkKQotewotCWlmIChtcGMtPm1wY19vZW1wdHIpIHsKLQkJc3RydWN0IG1wX2NvbmZpZ19vZW10YWJsZSAqb2VtX3RhYmxlID0KLQkJCShzdHJ1Y3QgbXBfY29uZmlnX29lbXRhYmxlICopbXBjLT5tcGNfb2VtcHRyOwotCQlpZiAoIXN0cm5jbXAob2VtLCAiVU5JU1lTIiwgNikpCi0JCQlyZXR1cm4gcGFyc2VfdW5pc3lzX29lbSgoY2hhciAqKW9lbV90YWJsZSk7Ci0JfQotCXJldHVybiAwOwotfQotI2lmZGVmIENPTkZJR19BQ1BJCi0vKiBIb29rIGZyb20gZ2VuZXJpYyBBQ1BJIHRhYmxlcy5jICovCi1pbnQgX19pbml0IGFjcGlfbWFkdF9vZW1fY2hlY2soY2hhciAqb2VtX2lkLCBjaGFyICpvZW1fdGFibGVfaWQpCi17Ci0JdW5zaWduZWQgbG9uZyBvZW1fYWRkcjsKLQlpZiAoIWZpbmRfdW5pc3lzX2FjcGlfb2VtX3RhYmxlKCZvZW1fYWRkcikpIHsKLQkJaWYgKGVzNzAwMF9jaGVja19kc2R0KCkpCi0JCQlyZXR1cm4gcGFyc2VfdW5pc3lzX29lbSgoY2hhciAqKW9lbV9hZGRyKTsKLQkJZWxzZSB7Ci0JCQlzZXR1cF91bmlzeXMoKTsKLQkJCXJldHVybiAxOwotCQl9Ci0JfQotCXJldHVybiAwOwotfQotI2Vsc2UKLWludCBfX2luaXQgYWNwaV9tYWR0X29lbV9jaGVjayhjaGFyICpvZW1faWQsIGNoYXIgKm9lbV90YWJsZV9pZCkKLXsKLQlyZXR1cm4gMDsKLX0KLSNlbmRpZgotI2VuZGlmIC8qIENPRklHX1g4Nl9HRU5FUklDQVJDSCAqLwotCiBzdGF0aWMgdm9pZAogZXM3MDAwX3NwaW4oaW50IG4pCiB7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9tYWNoLWdlbmVyaWMvTWFrZWZpbGUgYi9hcmNoL3g4Ni9tYWNoLWdlbmVyaWMvTWFrZWZpbGUKaW5kZXggMTlkNmQ0MC4uMGRiZDc4MCAxMDA2NDQKLS0tIGEvYXJjaC94ODYvbWFjaC1nZW5lcmljL01ha2VmaWxlCisrKyBiL2FyY2gveDg2L21hY2gtZ2VuZXJpYy9NYWtlZmlsZQpAQCAtMiw3ICsyLDExIEBACiAjIE1ha2VmaWxlIGZvciB0aGUgZ2VuZXJpYyBhcmNoaXRlY3R1cmUKICMKIAotRVhUUkFfQ0ZMQUdTCTo9IC1JYXJjaC94ODYva2VybmVsCitFWFRSQV9DRkxBR1MJCQk6PSAtSWFyY2gveDg2L2tlcm5lbAogCi1vYmoteQkJOj0gcHJvYmUubyBzdW1taXQubyBiaWdzbXAubyBlczcwMDAubyBkZWZhdWx0Lm8gCi1vYmoteQkJKz0gLi4vLi4veDg2L21hY2gtZXM3MDAwLworb2JqLXkJCQkJOj0gcHJvYmUubyBkZWZhdWx0Lm8KK29iai0kKENPTkZJR19YODZfTlVNQVEpCQkrPSBudW1hcS5vCitvYmotJChDT05GSUdfWDg2X1NVTU1JVCkJKz0gc3VtbWl0Lm8KK29iai0kKENPTkZJR19YODZfQklHU01QKQkrPSBiaWdzbXAubworb2JqLSQoQ09ORklHX1g4Nl9FUzcwMDApCSs9IGVzNzAwMC5vCitvYmotJChDT05GSUdfWDg2X0VTNzAwMCkJKz0gLi4vLi4veDg2L21hY2gtZXM3MDAwLwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvbWFjaC1nZW5lcmljL2JpZ3NtcC5jIGIvYXJjaC94ODYvbWFjaC1nZW5lcmljL2JpZ3NtcC5jCmluZGV4IDk1ZmM0NjMuLjU5ZDc3MTcgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L21hY2gtZ2VuZXJpYy9iaWdzbXAuYworKysgYi9hcmNoL3g4Ni9tYWNoLWdlbmVyaWMvYmlnc21wLmMKQEAgLTIzLDEwICsyMyw4IEBACiAKIHN0YXRpYyBpbnQgaHBfaHRfYmlnc21wKGNvbnN0IHN0cnVjdCBkbWlfc3lzdGVtX2lkICpkKQogewotI2lmZGVmIENPTkZJR19YODZfR0VORVJJQ0FSQ0gKIAlwcmludGsoS0VSTl9OT1RJQ0UgIiVzIGRldGVjdGVkOiBmb3JjZSB1c2Ugb2YgYXBpYz1iaWdzbXBcbiIsIGQtPmlkZW50KTsKIAlkbWlfYmlnc21wID0gMTsKLSNlbmRpZgogCXJldHVybiAwOwogfQogCkBAIC00OCw3ICs0Niw3IEBACiBzdGF0aWMgaW50IHByb2JlX2JpZ3NtcCh2b2lkKQogewogCWlmIChkZWZfdG9fYmlnc21wKQotCWRtaV9iaWdzbXAgPSAxOworCQlkbWlfYmlnc21wID0gMTsKIAllbHNlCiAJCWRtaV9jaGVja19zeXN0ZW0oYmlnc21wX2RtaV90YWJsZSk7CiAJcmV0dXJuIGRtaV9iaWdzbXA7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9tYWNoLWdlbmVyaWMvbnVtYXEuYyBiL2FyY2gveDg2L21hY2gtZ2VuZXJpYy9udW1hcS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgwOTFlNjgKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL3g4Ni9tYWNoLWdlbmVyaWMvbnVtYXEuYwpAQCAtMCwwICsxLDQxIEBACisvKgorICogQVBJQyBkcml2ZXIgZm9yIHRoZSBJQk0gTlVNQVEgY2hpcHNldC4KKyAqLworI2RlZmluZSBBUElDX0RFRklOSVRJT04gMQorI2luY2x1ZGUgPGxpbnV4L3RocmVhZHMuaD4KKyNpbmNsdWRlIDxsaW51eC9jcHVtYXNrLmg+CisjaW5jbHVkZSA8bGludXgvc21wLmg+CisjaW5jbHVkZSA8YXNtL21wc3BlYy5oPgorI2luY2x1ZGUgPGFzbS9nZW5hcGljLmg+CisjaW5jbHVkZSA8YXNtL2ZpeG1hcC5oPgorI2luY2x1ZGUgPGFzbS9hcGljZGVmLmg+CisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvc3RyaW5nLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGFzbS9tYWNoLW51bWFxL21hY2hfYXBpYy5oPgorI2luY2x1ZGUgPGFzbS9tYWNoLW51bWFxL21hY2hfYXBpY2RlZi5oPgorI2luY2x1ZGUgPGFzbS9tYWNoLW51bWFxL21hY2hfaXBpLmg+CisjaW5jbHVkZSA8YXNtL21hY2gtbnVtYXEvbWFjaF9tcHBhcnNlLmg+CisjaW5jbHVkZSA8YXNtL21hY2gtbnVtYXEvbWFjaF93YWtlY3B1Lmg+CisjaW5jbHVkZSA8YXNtL251bWFxLmg+CisKK3N0YXRpYyBpbnQgbXBzX29lbV9jaGVjayhzdHJ1Y3QgbXBfY29uZmlnX3RhYmxlICptcGMsIGNoYXIgKm9lbSwKKwkJY2hhciAqcHJvZHVjdGlkKQoreworCW51bWFxX21wc19vZW1fY2hlY2sobXBjLCBvZW0sIHByb2R1Y3RpZCk7CisJcmV0dXJuIGZvdW5kX251bWFxOworfQorCitzdGF0aWMgaW50IHByb2JlX251bWFxKHZvaWQpCit7CisJLyogYWxyZWFkeSBrbm93IGZyb20gZ2V0X21lbWNmZ19udW1hcSgpICovCisJcmV0dXJuIGZvdW5kX251bWFxOworfQorCisvKiBIb29rIGZyb20gZ2VuZXJpYyBBQ1BJIHRhYmxlcy5jICovCitzdGF0aWMgaW50IGFjcGlfbWFkdF9vZW1fY2hlY2soY2hhciAqb2VtX2lkLCBjaGFyICpvZW1fdGFibGVfaWQpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0cnVjdCBnZW5hcGljIGFwaWNfbnVtYXEgPSBBUElDX0lOSVQoIk5VTUFRIiwgcHJvYmVfbnVtYXEpOwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvbWFjaC1nZW5lcmljL3Byb2JlLmMgYi9hcmNoL3g4Ni9tYWNoLWdlbmVyaWMvcHJvYmUuYwppbmRleCBjNWFlNzUxLi41YTdlNDYxIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9tYWNoLWdlbmVyaWMvcHJvYmUuYworKysgYi9hcmNoL3g4Ni9tYWNoLWdlbmVyaWMvcHJvYmUuYwpAQCAtMTYsNiArMTYsNyBAQAogI2luY2x1ZGUgPGFzbS9hcGljZGVmLmg+CiAjaW5jbHVkZSA8YXNtL2dlbmFwaWMuaD4KIAorZXh0ZXJuIHN0cnVjdCBnZW5hcGljIGFwaWNfbnVtYXE7CiBleHRlcm4gc3RydWN0IGdlbmFwaWMgYXBpY19zdW1taXQ7CiBleHRlcm4gc3RydWN0IGdlbmFwaWMgYXBpY19iaWdzbXA7CiBleHRlcm4gc3RydWN0IGdlbmFwaWMgYXBpY19lczcwMDA7CkBAIC0yNCw5ICsyNSwxOCBAQAogc3RydWN0IGdlbmFwaWMgKmdlbmFwaWMgPSAmYXBpY19kZWZhdWx0OwogCiBzdGF0aWMgc3RydWN0IGdlbmFwaWMgKmFwaWNfcHJvYmVbXSBfX2luaXRkYXRhID0geworI2lmZGVmIENPTkZJR19YODZfTlVNQVEKKwkmYXBpY19udW1hcSwKKyNlbmRpZgorI2lmZGVmIENPTkZJR19YODZfU1VNTUlUCiAJJmFwaWNfc3VtbWl0LAorI2VuZGlmCisjaWZkZWYgQ09ORklHX1g4Nl9CSUdTTVAKIAkmYXBpY19iaWdzbXAsCisjZW5kaWYKKyNpZmRlZiBDT05GSUdfWDg2X0VTNzAwMAogCSZhcGljX2VzNzAwMCwKKyNlbmRpZgogCSZhcGljX2RlZmF1bHQsCS8qIG11c3QgYmUgbGFzdCAqLwogCU5VTEwsCiB9OwpAQCAtNTQsNiArNjQsNyBAQAogCiB2b2lkIF9faW5pdCBnZW5lcmljX2JpZ3NtcF9wcm9iZSh2b2lkKQogeworI2lmZGVmIENPTkZJR19YODZfQklHU01QCiAJLyoKIAkgKiBUaGlzIHJvdXRpbmUgaXMgdXNlZCB0byBzd2l0Y2ggdG8gYmlnc21wIG1vZGUgd2hlbgogCSAqIC0gVGhlcmUgaXMgbm8gYXBpYz0gb3B0aW9uIHNwZWNpZmllZCBieSB0aGUgdXNlcgpAQCAtNjcsNiArNzgsNyBAQAogCQkJcHJpbnRrKEtFUk5fSU5GTyAiT3ZlcnJpZGluZyBBUElDIGRyaXZlciB3aXRoICVzXG4iLAogCQkJICAgICAgIGdlbmFwaWMtPm5hbWUpOwogCQl9CisjZW5kaWYKIH0KIAogdm9pZCBfX2luaXQgZ2VuZXJpY19hcGljX3Byb2JlKHZvaWQpCkBAIC04OCw3ICsxMDAsOCBAQAogCiAvKiBUaGVzZSBmdW5jdGlvbnMgY2FuIHN3aXRjaCB0aGUgQVBJQyBldmVuIGFmdGVyIHRoZSBpbml0aWFsIC0+cHJvYmUoKSAqLwogCi1pbnQgX19pbml0IG1wc19vZW1fY2hlY2soc3RydWN0IG1wX2NvbmZpZ190YWJsZSAqbXBjLCBjaGFyICpvZW0sIGNoYXIgKnByb2R1Y3RpZCkKK2ludCBfX2luaXQgbXBzX29lbV9jaGVjayhzdHJ1Y3QgbXBfY29uZmlnX3RhYmxlICptcGMsIGNoYXIgKm9lbSwKKwkJCQkgY2hhciAqcHJvZHVjdGlkKQogewogCWludCBpOwogCWZvciAoaSA9IDA7IGFwaWNfcHJvYmVbaV07ICsraSkgewpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvbWFjaC12aXN3cy9NYWtlZmlsZSBiL2FyY2gveDg2L21hY2gtdmlzd3MvTWFrZWZpbGUKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDgzNWZkOTYuLjAwMDAwMDAKLS0tIGEvYXJjaC94ODYvbWFjaC12aXN3cy9NYWtlZmlsZQorKysgL2Rldi9udWxsCkBAIC0xLDggKzAsMCBAQAotIwotIyBNYWtlZmlsZSBmb3IgdGhlIGxpbnV4IGtlcm5lbC4KLSMKLQotb2JqLXkJCQkJOj0gc2V0dXAubyB0cmFwcy5vIHJlYm9vdC5vCi0KLW9iai0kKENPTkZJR19YODZfVklTV1NfQVBJQykJKz0gdmlzd3NfYXBpYy5vCi1vYmotJChDT05GSUdfWDg2X0xPQ0FMX0FQSUMpCSs9IG1wcGFyc2UubwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvbWFjaC12aXN3cy9tcHBhcnNlLmMgYi9hcmNoL3g4Ni9tYWNoLXZpc3dzL21wcGFyc2UuYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTc0ODRlOS4uMDAwMDAwMAotLS0gYS9hcmNoL3g4Ni9tYWNoLXZpc3dzL21wcGFyc2UuYworKysgL2Rldi9udWxsCkBAIC0xLDg4ICswLDAgQEAKLQotI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KLSNpbmNsdWRlIDxsaW51eC9zbXAuaD4KLQotI2luY2x1ZGUgPGFzbS9zbXAuaD4KLSNpbmNsdWRlIDxhc20vaW8uaD4KLQotI2luY2x1ZGUgImNvYmFsdC5oIgotI2luY2x1ZGUgIm1hY2hfYXBpYy5oIgotCi0vKiBIYXZlIHdlIGZvdW5kIGFuIE1QIHRhYmxlICovCi1pbnQgc21wX2ZvdW5kX2NvbmZpZzsKLQotaW50IHBpY19tb2RlOwotCi1leHRlcm4gdW5zaWduZWQgaW50IF9fY3B1aW5pdGRhdGEgbWF4Y3B1czsKLQotLyoKLSAqIFRoZSBWaXN1YWwgV29ya3N0YXRpb24gaXMgSW50ZWwgTVAgY29tcGxpYW50IGluIHRoZSBoYXJkd2FyZQotICogc2Vuc2UsIGJ1dCBpdCBkb2Vzbid0IGhhdmUgYSBCSU9TKC1jb25maWd1cmF0aW9uIHRhYmxlKS4KLSAqIE5vIHByb2JsZW0gZm9yIExpbnV4LgotICovCi0KLXN0YXRpYyB2b2lkIF9faW5pdCBNUF9wcm9jZXNzb3JfaW5mbyAoc3RydWN0IG1wY19jb25maWdfcHJvY2Vzc29yICptKQotewotCWludCB2ZXIsIGxvZ2ljYWxfYXBpY2lkOwotCXBoeXNpZF9tYXNrX3QgYXBpY19jcHVzOwotCi0JaWYgKCEobS0+bXBjX2NwdWZsYWcgJiBDUFVfRU5BQkxFRCkpCi0JCXJldHVybjsKLQotCWxvZ2ljYWxfYXBpY2lkID0gbS0+bXBjX2FwaWNpZDsKLQlwcmludGsoS0VSTl9JTkZPICIlc0NQVSAjJWQgJXU6JXUgQVBJQyB2ZXJzaW9uICVkXG4iLAotCSAgICAgICBtLT5tcGNfY3B1ZmxhZyAmIENQVV9CT09UUFJPQ0VTU09SID8gIkJvb3R1cCAiIDogIiIsCi0JICAgICAgIG0tPm1wY19hcGljaWQsCi0JICAgICAgIChtLT5tcGNfY3B1ZmVhdHVyZSAmIENQVV9GQU1JTFlfTUFTSykgPj4gOCwKLQkgICAgICAgKG0tPm1wY19jcHVmZWF0dXJlICYgQ1BVX01PREVMX01BU0spID4+IDQsCi0JICAgICAgIG0tPm1wY19hcGljdmVyKTsKLQotCWlmIChtLT5tcGNfY3B1ZmxhZyAmIENQVV9CT09UUFJPQ0VTU09SKQotCQlib290X2NwdV9waHlzaWNhbF9hcGljaWQgPSBtLT5tcGNfYXBpY2lkOwotCi0JdmVyID0gbS0+bXBjX2FwaWN2ZXI7Ci0JaWYgKCh2ZXIgPj0gMHgxNCAmJiBtLT5tcGNfYXBpY2lkID49IDB4ZmYpIHx8IG0tPm1wY19hcGljaWQgPj0gMHhmKSB7Ci0JCXByaW50ayhLRVJOX0VSUiAiUHJvY2Vzc29yICMlZCBJTlZBTElELiAoTWF4IElEOiAlZCkuXG4iLAotCQkJbS0+bXBjX2FwaWNpZCwgTUFYX0FQSUNTKTsKLQkJcmV0dXJuOwotCX0KLQotCWFwaWNfY3B1cyA9IGFwaWNpZF90b19jcHVfcHJlc2VudChtLT5tcGNfYXBpY2lkKTsKLQlwaHlzaWRzX29yKHBoeXNfY3B1X3ByZXNlbnRfbWFwLCBwaHlzX2NwdV9wcmVzZW50X21hcCwgYXBpY19jcHVzKTsKLQkvKgotCSAqIFZhbGlkYXRlIHZlcnNpb24KLQkgKi8KLQlpZiAodmVyID09IDB4MCkgewotCQlwcmludGsoS0VSTl9FUlIgIkJJT1MgYnVnLCBBUElDIHZlcnNpb24gaXMgMCBmb3IgQ1BVIyVkISAiCi0JCQkiZml4aW5nIHVwIHRvIDB4MTAuICh0ZWxsIHlvdXIgaHcgdmVuZG9yKVxuIiwKLQkJCW0tPm1wY19hcGljaWQpOwotCQl2ZXIgPSAweDEwOwotCX0KLQlhcGljX3ZlcnNpb25bbS0+bXBjX2FwaWNpZF0gPSB2ZXI7Ci19Ci0KLXZvaWQgX19pbml0IGZpbmRfc21wX2NvbmZpZyh2b2lkKQotewotCXN0cnVjdCBtcGNfY29uZmlnX3Byb2Nlc3NvciAqbXAgPSBwaHlzX3RvX3ZpcnQoQ09fQ1BVX1RBQl9QSFlTKTsKLQl1bnNpZ25lZCBzaG9ydCBuY3B1cyA9IHJlYWR3KHBoeXNfdG9fdmlydChDT19DUFVfTlVNX1BIWVMpKTsKLQotCWlmIChuY3B1cyA+IENPX0NQVV9NQVgpIHsKLQkJcHJpbnRrKEtFUk5fV0FSTklORyAiZmluZF92aXN3c19zbXA6IGdvdCBjcHUgY291bnQgb2YgJWQgYXQgJXBcbiIsCi0JCQluY3B1cywgbXApOwotCi0JCW5jcHVzID0gQ09fQ1BVX01BWDsKLQl9Ci0KLQlpZiAobmNwdXMgPiBtYXhjcHVzKQotCQluY3B1cyA9IG1heGNwdXM7Ci0KLQlzbXBfZm91bmRfY29uZmlnID0gMTsKLQl3aGlsZSAobmNwdXMtLSkKLQkJTVBfcHJvY2Vzc29yX2luZm8obXArKyk7Ci0KLQltcF9sYXBpY19hZGRyID0gQVBJQ19ERUZBVUxUX1BIWVNfQkFTRTsKLX0KLQotdm9pZCBfX2luaXQgZ2V0X3NtcF9jb25maWcgKHZvaWQpCi17Ci19CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9tYWNoLXZpc3dzL3JlYm9vdC5jIGIvYXJjaC94ODYvbWFjaC12aXN3cy9yZWJvb3QuYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTkzMzJhYi4uMDAwMDAwMAotLS0gYS9hcmNoL3g4Ni9tYWNoLXZpc3dzL3JlYm9vdC5jCisrKyAvZGV2L251bGwKQEAgLTEsNTUgKzAsMCBAQAotI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgotI2luY2x1ZGUgPGxpbnV4L3NtcC5oPgotI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+Ci0KLSNpbmNsdWRlIDxhc20vaW8uaD4KLSNpbmNsdWRlICJwaWl4NC5oIgotCi12b2lkICgqcG1fcG93ZXJfb2ZmKSh2b2lkKTsKLUVYUE9SVF9TWU1CT0wocG1fcG93ZXJfb2ZmKTsKLQotdm9pZCBtYWNoaW5lX3NodXRkb3duKHZvaWQpCi17Ci0jaWZkZWYgQ09ORklHX1NNUAotCXNtcF9zZW5kX3N0b3AoKTsKLSNlbmRpZgotfQotCi12b2lkIG1hY2hpbmVfZW1lcmdlbmN5X3Jlc3RhcnQodm9pZCkKLXsKLQkvKgotCSAqIFZpc3VhbCBXb3Jrc3RhdGlvbnMgcmVzdGFydCBhZnRlciB0aGlzCi0JICogcmVnaXN0ZXIgaXMgcG9rZWQgb24gdGhlIFBJSVg0Ci0JICovCi0Jb3V0YihQSUlYNF9SRVNFVF9WQUwsIFBJSVg0X1JFU0VUX1BPUlQpOwotfQotCi12b2lkIG1hY2hpbmVfcmVzdGFydChjaGFyICogX191bnVzZWQpCi17Ci0JbWFjaGluZV9zaHV0ZG93bigpOwotCW1hY2hpbmVfZW1lcmdlbmN5X3Jlc3RhcnQoKTsKLX0KLQotdm9pZCBtYWNoaW5lX3Bvd2VyX29mZih2b2lkKQotewotCXVuc2lnbmVkIHNob3J0IHBtX3N0YXR1czsKLQlleHRlcm4gdW5zaWduZWQgaW50IHBjaV9idXMwOwotCi0Jd2hpbGUgKChwbV9zdGF0dXMgPSBpbncoUE1TVFNfUE9SVCkpICYgMHgxMDApCi0JCW91dHcocG1fc3RhdHVzLCBQTVNUU19QT1JUKTsKLQotCW91dHcoUE1fU1VTUEVORF9FTkFCTEUsIFBNQ05UUkxfUE9SVCk7Ci0KLQltZGVsYXkoMTApOwotCi0jZGVmaW5lIFBDSV9DT05GMV9BRERSRVNTKGJ1cywgZGV2Zm4sIHJlZykgXAotCSgweDgwMDAwMDAwIHwgKGJ1cyA8PCAxNikgfCAoZGV2Zm4gPDwgOCkgfCAocmVnICYgfjMpKQotCi0Jb3V0bChQQ0lfQ09ORjFfQUREUkVTUyhwY2lfYnVzMCwgU1BFQ0lBTF9ERVYsIFNQRUNJQUxfUkVHKSwgMHhDRjgpOwotCW91dGwoUElJWF9TUEVDSUFMX1NUT1AsIDB4Q0ZDKTsKLX0KLQotdm9pZCBtYWNoaW5lX2hhbHQodm9pZCkKLXsKLX0KLQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvbWFjaC12aXN3cy9zZXR1cC5jIGIvYXJjaC94ODYvbWFjaC12aXN3cy9zZXR1cC5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkZTRjOWRiLi4wMDAwMDAwCi0tLSBhL2FyY2gveDg2L21hY2gtdmlzd3Mvc2V0dXAuYworKysgL2Rldi9udWxsCkBAIC0xLDE4MyArMCwwIEBACi0vKgotICogIFVubWFpbnRhaW5lZCBTR0kgVmlzdWFsIFdvcmtzdGF0aW9uIHN1cHBvcnQuCi0gKiAgU3BsaXQgb3V0IGZyb20gc2V0dXAuYyBieSBkYXZlakBzdXNlLmRlCi0gKi8KLQotI2luY2x1ZGUgPGxpbnV4L3NtcC5oPgotI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KLSNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KLSNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KLQotI2luY2x1ZGUgPGFzbS9maXhtYXAuaD4KLSNpbmNsdWRlIDxhc20vYXJjaF9ob29rcy5oPgotI2luY2x1ZGUgPGFzbS9pby5oPgotI2luY2x1ZGUgPGFzbS9lODIwLmg+Ci0jaW5jbHVkZSA8YXNtL3NldHVwLmg+Ci0jaW5jbHVkZSAiY29iYWx0LmgiCi0jaW5jbHVkZSAicGlpeDQuaCIKLQotaW50IG5vX2Jyb2FkY2FzdDsKLQotY2hhciB2aXN3c19ib2FyZF90eXBlID0gLTE7Ci1jaGFyIHZpc3dzX2JvYXJkX3JldiA9IC0xOwotCi12b2lkIF9faW5pdCB2aXN3c19nZXRfYm9hcmRfdHlwZV9hbmRfcmV2KHZvaWQpCi17Ci0JaW50IHJhdzsKLQotCXZpc3dzX2JvYXJkX3R5cGUgPSAoY2hhcikoaW5iX3AoUElJWF9HUElfQkRfUkVHKSAmIFBJSVhfR1BJX0JEX1JFRykKLQkJCQkJCQkgPj4gUElJWF9HUElfQkRfU0hJRlQ7Ci0JLyoKLQkgKiBHZXQgQm9hcmQgcmV2LgotCSAqIEZpcnN0LCB3ZSBoYXZlIHRvIGluaXRpYWxpemUgdGhlIDMwNyBwYXJ0IHRvIGFsbG93IHVzIGFjY2VzcwotCSAqIHRvIHRoZSBHUElPIHJlZ2lzdGVycy4gIExldCdzIG1hcCB0aGVtIGF0IDB4MGZjMCB3aGljaCBpcyByaWdodAotCSAqIGFmdGVyIHRoZSBQSUlYNCBQTSBzZWN0aW9uLgotCSAqLwotCW91dGJfcChTSU9fREVWX1NFTCwgU0lPX0lOREVYKTsKLQlvdXRiX3AoU0lPX0dQX0RFViwgU0lPX0RBVEEpOwkvKiBUYWxrIHRvIEdQSU8gcmVncy4gKi8KLQotCW91dGJfcChTSU9fREVWX01TQiwgU0lPX0lOREVYKTsKLQlvdXRiX3AoU0lPX0dQX01TQiwgU0lPX0RBVEEpOwkvKiBNU0Igb2YgR1BJTyBiYXNlIGFkZHJlc3MgKi8KLQotCW91dGJfcChTSU9fREVWX0xTQiwgU0lPX0lOREVYKTsKLQlvdXRiX3AoU0lPX0dQX0xTQiwgU0lPX0RBVEEpOwkvKiBMU0Igb2YgR1BJTyBiYXNlIGFkZHJlc3MgKi8KLQotCW91dGJfcChTSU9fREVWX0VOQiwgU0lPX0lOREVYKTsKLQlvdXRiX3AoMSwgU0lPX0RBVEEpOwkJLyogRW5hYmxlIEdQSU8gcmVnaXN0ZXJzLiAqLwotCi0JLyoKLQkgKiBOb3csIHdlIGhhdmUgdG8gbWFwIHRoZSBwb3dlciBtYW5hZ2VtZW50IHNlY3Rpb24gdG8gd3JpdGUKLQkgKiBhIGJpdCB3aGljaCBlbmFibGVzIGFjY2VzcyB0byB0aGUgR1BJTyByZWdpc3RlcnMuCi0JICogV2hhdCBsdW5hdGljIGNhbWUgdXAgd2l0aCB0aGlzIHNoaXQ/Ci0JICovCi0Jb3V0Yl9wKFNJT19ERVZfU0VMLCBTSU9fSU5ERVgpOwotCW91dGJfcChTSU9fUE1fREVWLCBTSU9fREFUQSk7CS8qIFRhbGsgdG8gR1BJTyByZWdzLiAqLwotCi0Jb3V0Yl9wKFNJT19ERVZfTVNCLCBTSU9fSU5ERVgpOwotCW91dGJfcChTSU9fUE1fTVNCLCBTSU9fREFUQSk7CS8qIE1TQiBvZiBQTSBiYXNlIGFkZHJlc3MgKi8KLQotCW91dGJfcChTSU9fREVWX0xTQiwgU0lPX0lOREVYKTsKLQlvdXRiX3AoU0lPX1BNX0xTQiwgU0lPX0RBVEEpOwkvKiBMU0Igb2YgUE0gYmFzZSBhZGRyZXNzICovCi0KLQlvdXRiX3AoU0lPX0RFVl9FTkIsIFNJT19JTkRFWCk7Ci0Jb3V0Yl9wKDEsIFNJT19EQVRBKTsJCS8qIEVuYWJsZSBQTSByZWdpc3RlcnMuICovCi0KLQkvKgotCSAqIE5vdywgd3JpdGUgdGhlIFBNIHJlZ2lzdGVyIHdoaWNoIGVuYWJsZXMgdGhlIEdQSU8gcmVnaXN0ZXJzLgotCSAqLwotCW91dGJfcChTSU9fUE1fRkVSMiwgU0lPX1BNX0lOREVYKTsKLQlvdXRiX3AoU0lPX1BNX0dQX0VOLCBTSU9fUE1fREFUQSk7Ci0KLQkvKgotCSAqIE5vdywgaW5pdGlhbGl6ZSB0aGUgR1BJTyByZWdpc3RlcnMuCi0JICogV2Ugd2FudCB0aGVtIGFsbCB0byBiZSBpbnB1dHMgd2hpY2ggaXMgdGhlCi0JICogcG93ZXIgb24gZGVmYXVsdCwgc28gbGV0J3MgbGVhdmUgdGhlbSBhbG9uZS4KLQkgKiBTbywgbGV0J3MganVzdCByZWFkIHRoZSBib2FyZCByZXYhCi0JICovCi0JcmF3ID0gaW5iX3AoU0lPX0dQX0RBVEExKTsKLQlyYXcgJj0gMHg3ZjsJLyogNyBiaXRzIG9mIHZhbGlkIGJvYXJkIHJldmlzaW9uIElELiAqLwotCi0JaWYgKHZpc3dzX2JvYXJkX3R5cGUgPT0gVklTV1NfMzIwKSB7Ci0JCWlmIChyYXcgPCAweDYpIHsKLQkJCXZpc3dzX2JvYXJkX3JldiA9IDQ7Ci0JCX0gZWxzZSBpZiAocmF3IDwgMHhjKSB7Ci0JCQl2aXN3c19ib2FyZF9yZXYgPSA1OwotCQl9IGVsc2UgewotCQkJdmlzd3NfYm9hcmRfcmV2ID0gNjsKLQkJfQotCX0gZWxzZSBpZiAodmlzd3NfYm9hcmRfdHlwZSA9PSBWSVNXU181NDApIHsKLQkJCXZpc3dzX2JvYXJkX3JldiA9IDI7Ci0JCX0gZWxzZSB7Ci0JCQl2aXN3c19ib2FyZF9yZXYgPSByYXc7Ci0JCX0KLQotCXByaW50ayhLRVJOX0lORk8gIlNpbGljb24gR3JhcGhpY3MgVmlzdWFsIFdvcmtzdGF0aW9uICVzIChyZXYgJWQpIGRldGVjdGVkXG4iLAotCSAgICAgICAodmlzd3NfYm9hcmRfdHlwZSA9PSBWSVNXU18zMjAgPyAiMzIwIiA6Ci0JICAgICAgICh2aXN3c19ib2FyZF90eXBlID09IFZJU1dTXzU0MCA/ICI1NDAiIDoKLQkJInVua25vd24iKSksIHZpc3dzX2JvYXJkX3Jldik7Ci19Ci0KLXZvaWQgX19pbml0IHByZV9pbnRyX2luaXRfaG9vayh2b2lkKQotewotCWluaXRfVklTV1NfQVBJQ19pcnFzKCk7Ci19Ci0KLXZvaWQgX19pbml0IGludHJfaW5pdF9ob29rKHZvaWQpCi17Ci0jaWZkZWYgQ09ORklHX1g4Nl9MT0NBTF9BUElDCi0JYXBpY19pbnRyX2luaXQoKTsKLSNlbmRpZgotfQotCi12b2lkIF9faW5pdCBwcmVfc2V0dXBfYXJjaF9ob29rKCkKLXsKLQl2aXN3c19nZXRfYm9hcmRfdHlwZV9hbmRfcmV2KCk7Ci19Ci0KLXN0YXRpYyBzdHJ1Y3QgaXJxYWN0aW9uIGlycTAgPSB7Ci0JLmhhbmRsZXIgPQl0aW1lcl9pbnRlcnJ1cHQsCi0JLmZsYWdzID0JSVJRRl9ESVNBQkxFRCB8IElSUUZfSVJRUE9MTCwKLQkubmFtZSA9CQkidGltZXIiLAotfTsKLQotdm9pZCBfX2luaXQgdGltZV9pbml0X2hvb2sodm9pZCkKLXsKLQlwcmludGsoS0VSTl9JTkZPICJTdGFydGluZyBDb2JhbHQgVGltZXIgc3lzdGVtIGNsb2NrXG4iKTsKLQotCS8qIFNldCB0aGUgY291bnRkb3duIHZhbHVlICovCi0JY29fY3B1X3dyaXRlKENPX0NQVV9USU1FVkFMLCBDT19USU1FX0haL0haKTsKLQotCS8qIFN0YXJ0IHRoZSB0aW1lciAqLwotCWNvX2NwdV93cml0ZShDT19DUFVfQ1RSTCwgY29fY3B1X3JlYWQoQ09fQ1BVX0NUUkwpIHwgQ09fQ1RSTF9USU1FUlVOKTsKLQotCS8qIEVuYWJsZSAodW5tYXNrKSB0aGUgdGltZXIgaW50ZXJydXB0ICovCi0JY29fY3B1X3dyaXRlKENPX0NQVV9DVFJMLCBjb19jcHVfcmVhZChDT19DUFVfQ1RSTCkgJiB+Q09fQ1RSTF9USU1FTUFTSyk7Ci0KLQkvKiBXaXJlIGNwdSBJRFQgZW50cnkgdG8gcy93IGhhbmRsZXIgKGFuZCBDb2JhbHQgQVBJQyB0byBJRFQpICovCi0Jc2V0dXBfaXJxKDAsICZpcnEwKTsKLX0KLQotLyogSG9vayBmb3IgbWFjaGluZSBzcGVjaWZpYyBtZW1vcnkgc2V0dXAuICovCi0KLSNkZWZpbmUgTUIgKDEwMjQgKiAxMDI0KQotCi11bnNpZ25lZCBsb25nIHNnaXZ3ZmJfbWVtX3BoeXM7Ci11bnNpZ25lZCBsb25nIHNnaXZ3ZmJfbWVtX3NpemU7Ci1FWFBPUlRfU1lNQk9MKHNnaXZ3ZmJfbWVtX3BoeXMpOwotRVhQT1JUX1NZTUJPTChzZ2l2d2ZiX21lbV9zaXplKTsKLQotbG9uZyBsb25nIG1lbV9zaXplIF9faW5pdGRhdGEgPSAwOwotCi1jaGFyICogX19pbml0IG1hY2hpbmVfc3BlY2lmaWNfbWVtb3J5X3NldHVwKHZvaWQpCi17Ci0JbG9uZyBsb25nIGdmeF9tZW1fc2l6ZSA9IDggKiBNQjsKLQotCW1lbV9zaXplID0gYm9vdF9wYXJhbXMuYWx0X21lbV9rOwotCi0JaWYgKCFtZW1fc2l6ZSkgewotCQlwcmludGsoS0VSTl9XQVJOSU5HICJCb290bG9hZGVyIGRpZG4ndCBzZXQgbWVtb3J5IHNpemUsIHVwZ3JhZGUgaXQgIVxuIik7Ci0JCW1lbV9zaXplID0gMTI4ICogTUI7Ci0JfQotCi0JLyoKLQkgKiB0aGlzIGhhcmRjb2RlcyB0aGUgZ3JhcGhpY3MgbWVtb3J5IHRvIDggTUIKLQkgKiBpdCByZWFsbHkgc2hvdWxkIGJlIHNpemVkIGR5bmFtaWNhbGx5IChvciBhdCBsZWFzdAotCSAqIHNldCBhcyBhIGJvb3QgcGFyYW0pCi0JICovCi0JaWYgKCFzZ2l2d2ZiX21lbV9zaXplKSB7Ci0JCXByaW50ayhLRVJOX1dBUk5JTkcgIkRlZmF1bHRpbmcgdG8gOCBNQiBmcmFtZWJ1ZmZlciBzaXplXG4iKTsKLQkJc2dpdndmYl9tZW1fc2l6ZSA9IDggKiBNQjsKLQl9Ci0KLQkvKgotCSAqIFRyaW0gdG8gbmVhcmVzdCBNQgotCSAqLwotCXNnaXZ3ZmJfbWVtX3NpemUgJj0gfigoMSA8PCAyMCkgLSAxKTsKLQlzZ2l2d2ZiX21lbV9waHlzID0gbWVtX3NpemUgLSBnZnhfbWVtX3NpemU7Ci0KLQlhZGRfbWVtb3J5X3JlZ2lvbigwLCBMT1dNRU1TSVpFKCksIEU4MjBfUkFNKTsKLQlhZGRfbWVtb3J5X3JlZ2lvbihISUdIX01FTU9SWSwgbWVtX3NpemUgLSBzZ2l2d2ZiX21lbV9zaXplIC0gSElHSF9NRU1PUlksIEU4MjBfUkFNKTsKLQlhZGRfbWVtb3J5X3JlZ2lvbihzZ2l2d2ZiX21lbV9waHlzLCBzZ2l2d2ZiX21lbV9zaXplLCBFODIwX1JFU0VSVkVEKTsKLQotCXJldHVybiAiUFJPTSI7Ci19CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9tYWNoLXZpc3dzL3RyYXBzLmMgYi9hcmNoL3g4Ni9tYWNoLXZpc3dzL3RyYXBzLmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJmYWM2YmEuLjAwMDAwMDAKLS0tIGEvYXJjaC94ODYvbWFjaC12aXN3cy90cmFwcy5jCisrKyAvZGV2L251bGwKQEAgLTEsNjkgKzAsMCBAQAotLyogVklTV1MgdHJhcHMgKi8KLQotI2luY2x1ZGUgPGxpbnV4L3NjaGVkLmg+Ci0jaW5jbHVkZSA8bGludXgva2VybmVsLmg+Ci0jaW5jbHVkZSA8bGludXgvaW5pdC5oPgotI2luY2x1ZGUgPGxpbnV4L3BjaS5oPgotI2luY2x1ZGUgPGxpbnV4L3BjaV9pZHMuaD4KLQotI2luY2x1ZGUgPGFzbS9pby5oPgotI2luY2x1ZGUgPGFzbS9hcmNoX2hvb2tzLmg+Ci0jaW5jbHVkZSA8YXNtL2FwaWMuaD4KLSNpbmNsdWRlICJjb2JhbHQuaCIKLSNpbmNsdWRlICJsaXRoaXVtLmgiCi0KLQotI2RlZmluZSBBMDEyMzQgKExJX0lOVEFfMCB8IExJX0lOVEFfMSB8IExJX0lOVEFfMiB8IExJX0lOVEFfMyB8IExJX0lOVEFfNCkKLSNkZWZpbmUgQkNEIChMSV9JTlRCIHwgTElfSU5UQyB8IExJX0lOVEQpCi0jZGVmaW5lIEFMTERFVlMgKEEwMTIzNCB8IEJDRCkKLQotc3RhdGljIF9faW5pdCB2b2lkIGxpdGhpdW1faW5pdCh2b2lkKQotewotCXNldF9maXhtYXAoRklYX0xJX1BDSUEsIExJX1BDSV9BX1BIWVMpOwotCXNldF9maXhtYXAoRklYX0xJX1BDSUIsIExJX1BDSV9CX1BIWVMpOwotCi0JaWYgKChsaV9wY2lhX3JlYWQxNihQQ0lfVkVORE9SX0lEKSAhPSBQQ0lfVkVORE9SX0lEX1NHSSkgfHwKLQkgICAgKGxpX3BjaWFfcmVhZDE2KFBDSV9ERVZJQ0VfSUQpICE9IFBDSV9ERVZJQ0VfSURfU0dJX0xJVEhJVU0pKSB7Ci0JCXByaW50ayhLRVJOX0VNRVJHICJMaXRoaXVtIGhvc3RicmlkZ2UgJWMgbm90IGZvdW5kXG4iLCAnQScpOwotCQlwYW5pYygiVGhpcyBtYWNoaW5lIGlzIG5vdCBTR0kgVmlzdWFsIFdvcmtzdGF0aW9uIDMyMC81NDAiKTsKLQl9Ci0KLQlpZiAoKGxpX3BjaWJfcmVhZDE2KFBDSV9WRU5ET1JfSUQpICE9IFBDSV9WRU5ET1JfSURfU0dJKSB8fAotCSAgICAobGlfcGNpYl9yZWFkMTYoUENJX0RFVklDRV9JRCkgIT0gUENJX0RFVklDRV9JRF9TR0lfTElUSElVTSkpIHsKLQkJcHJpbnRrKEtFUk5fRU1FUkcgIkxpdGhpdW0gaG9zdGJyaWRnZSAlYyBub3QgZm91bmRcbiIsICdCJyk7Ci0JCXBhbmljKCJUaGlzIG1hY2hpbmUgaXMgbm90IFNHSSBWaXN1YWwgV29ya3N0YXRpb24gMzIwLzU0MCIpOwotCX0KLQotCWxpX3BjaWFfd3JpdGUxNihMSV9QQ0lfSU5URU4sIEFMTERFVlMpOwotCWxpX3BjaWJfd3JpdGUxNihMSV9QQ0lfSU5URU4sIEFMTERFVlMpOwotfQotCi1zdGF0aWMgX19pbml0IHZvaWQgY29iYWx0X2luaXQodm9pZCkKLXsKLQkvKgotCSAqIE9uIG5vcm1hbCBTTVAgUEMgdGhpcyBpcyB1c2VkIG9ubHkgd2l0aCBTTVAsIGJ1dCB3ZSBoYXZlIHRvCi0JICogdXNlIGl0IGFuZCBzZXQgaXQgdXAgaGVyZSB0byBzdGFydCB0aGUgQ29iYWx0IGNsb2NrCi0JICovCi0Jc2V0X2ZpeG1hcChGSVhfQVBJQ19CQVNFLCBBUElDX0RFRkFVTFRfUEhZU19CQVNFKTsKLQlzZXR1cF9sb2NhbF9BUElDKCk7Ci0JcHJpbnRrKEtFUk5fSU5GTyAiTG9jYWwgQVBJQyBWZXJzaW9uICUjeCwgSUQgJSN4XG4iLAotCQkodW5zaWduZWQgaW50KWFwaWNfcmVhZChBUElDX0xWUiksCi0JCSh1bnNpZ25lZCBpbnQpYXBpY19yZWFkKEFQSUNfSUQpKTsKLQotCXNldF9maXhtYXAoRklYX0NPX0NQVSwgQ09fQ1BVX1BIWVMpOwotCXNldF9maXhtYXAoRklYX0NPX0FQSUMsIENPX0FQSUNfUEhZUyk7Ci0JcHJpbnRrKEtFUk5fSU5GTyAiQ29iYWx0IFJldmlzaW9uICUjbHgsIEFQSUMgSUQgJSNseFxuIiwKLQkJY29fY3B1X3JlYWQoQ09fQ1BVX1JFViksIGNvX2FwaWNfcmVhZChDT19BUElDX0lEKSk7Ci0KLQkvKiBFbmFibGUgQ29iYWx0IEFQSUMgYmVpbmcgY2FyZWZ1bCB0byBOT1QgY2hhbmdlIHRoZSBJRCEgKi8KLQljb19hcGljX3dyaXRlKENPX0FQSUNfSUQsIGNvX2FwaWNfcmVhZChDT19BUElDX0lEKSB8IENPX0FQSUNfRU5BQkxFKTsKLQotCXByaW50ayhLRVJOX0lORk8gIkNvYmFsdCBBUElDIGVuYWJsZWQ6IElEIHJlZyAlI2x4XG4iLAotCQljb19hcGljX3JlYWQoQ09fQVBJQ19JRCkpOwotfQotCi12b2lkIF9faW5pdCB0cmFwX2luaXRfaG9vayh2b2lkKQotewotCWxpdGhpdW1faW5pdCgpOwotCWNvYmFsdF9pbml0KCk7Ci19CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9tYWNoLXZpc3dzL3Zpc3dzX2FwaWMuYyBiL2FyY2gveDg2L21hY2gtdmlzd3Mvdmlzd3NfYXBpYy5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjZWY5Y2IxLi4wMDAwMDAwCi0tLSBhL2FyY2gveDg2L21hY2gtdmlzd3Mvdmlzd3NfYXBpYy5jCisrKyAvZGV2L251bGwKQEAgLTEsMjk3ICswLDAgQEAKLS8qCi0gKglDb3B5cmlnaHQgKEMpIDE5OTkgQmVudCBIYWdlbWFyaywgSW5nbyBNb2xuYXIKLSAqCi0gKiAgU0dJIFZpc3VhbCBXb3Jrc3RhdGlvbiBpbnRlcnJ1cHQgY29udHJvbGxlcgotICoKLSAqICBUaGUgQ29iYWx0IHN5c3RlbSBBU0lDIGluIHRoZSBWaXN1YWwgV29ya3N0YXRpb24gY29udGFpbnMgYSAiQ29iYWx0IiBBUElDCi0gKiAgd2hpY2ggc2VydmVzIGFzIHRoZSBtYWluIGludGVycnVwdCBjb250cm9sbGVyIGluIHRoZSBzeXN0ZW0uICBOb24tbGVnYWN5Ci0gKiAgaGFyZHdhcmUgaW4gdGhlIHN5c3RlbSB1c2VzIHRoaXMgY29udHJvbGxlciBkaXJlY3RseS4gIExlZ2FjeSBkZXZpY2VzCi0gKiAgYXJlIGNvbm5lY3RlZCB0byB0aGUgUElJWDQgd2hpY2ggaW4gdHVybiBoYXMgaXRzIDgyNTkocykgY29ubmVjdGVkIHRvCi0gKiAgYSBvZiB0aGUgQ29iYWx0IEFQSUMgZW50cnkuCi0gKgotICogIDA5LzAyLzIwMDAgLSBVcGRhdGVkIGZvciAyLjQgYnkgamJhcm5lc0BzZ2kuY29tCi0gKgotICogIDI1LzExLzIwMDIgLSBVcGRhdGVkIGZvciAyLjUgYnkgQW5kcmV5IFBhbmluIDxwYXprZUBvcmJpdGExLnJ1PgotICovCi0KLSNpbmNsdWRlIDxsaW51eC9rZXJuZWxfc3RhdC5oPgotI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgotI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KLQotI2luY2x1ZGUgPGFzbS9pby5oPgotI2luY2x1ZGUgPGFzbS9hcGljLmg+Ci0jaW5jbHVkZSA8YXNtL2k4MjU5Lmg+Ci0KLSNpbmNsdWRlICJjb2JhbHQuaCIKLSNpbmNsdWRlICJpcnFfdmVjdG9ycy5oIgotCi0KLXN0YXRpYyBERUZJTkVfU1BJTkxPQ0soY29iYWx0X2xvY2spOwotCi0vKgotICogU2V0IHRoZSBnaXZlbiBDb2JhbHQgQVBJQyBSZWRpcmVjdGlvbiBUYWJsZSBlbnRyeSB0byBwb2ludAotICogdG8gdGhlIGdpdmVuIElEVCB2ZWN0b3IvaW5kZXguCi0gKi8KLXN0YXRpYyBpbmxpbmUgdm9pZCBjb19hcGljX3NldChpbnQgZW50cnksIGludCBpcnEpCi17Ci0JY29fYXBpY193cml0ZShDT19BUElDX0xPKGVudHJ5KSwgQ09fQVBJQ19MRVZFTCB8IChpcnEgKyBGSVJTVF9FWFRFUk5BTF9WRUNUT1IpKTsKLQljb19hcGljX3dyaXRlKENPX0FQSUNfSEkoZW50cnkpLCAwKTsKLX0KLQotLyoKLSAqIENvYmFsdCAoSU8pLUFQSUMgZnVuY3Rpb25zIHRvIGhhbmRsZSBQQ0kgZGV2aWNlcy4KLSAqLwotc3RhdGljIGlubGluZSBpbnQgY29fYXBpY19pZGUwX2hhY2sodm9pZCkKLXsKLQlleHRlcm4gY2hhciB2aXN3c19ib2FyZF90eXBlOwotCWV4dGVybiBjaGFyIHZpc3dzX2JvYXJkX3JldjsKLQotCWlmICh2aXN3c19ib2FyZF90eXBlID09IFZJU1dTXzMyMCAmJiB2aXN3c19ib2FyZF9yZXYgPT0gNSkKLQkJcmV0dXJuIDU7Ci0JcmV0dXJuIENPX0FQSUNfSURFMDsKLX0KLQotc3RhdGljIGludCBpc19jb19hcGljKHVuc2lnbmVkIGludCBpcnEpCi17Ci0JaWYgKElTX0NPX0FQSUMoaXJxKSkKLQkJcmV0dXJuIENPX0FQSUMoaXJxKTsKLQotCXN3aXRjaCAoaXJxKSB7Ci0JCWNhc2UgMDogcmV0dXJuIENPX0FQSUNfQ1BVOwotCQljYXNlIENPX0lSUV9JREUwOiByZXR1cm4gY29fYXBpY19pZGUwX2hhY2soKTsKLQkJY2FzZSBDT19JUlFfSURFMTogcmV0dXJuIENPX0FQSUNfSURFMTsKLQkJZGVmYXVsdDogcmV0dXJuIC0xOwotCX0KLX0KLQotCi0vKgotICogVGhpcyBpcyB0aGUgU0dJIENvYmFsdCAoSU8tKUFQSUM6Ci0gKi8KLQotc3RhdGljIHZvaWQgZW5hYmxlX2NvYmFsdF9pcnEodW5zaWduZWQgaW50IGlycSkKLXsKLQljb19hcGljX3NldChpc19jb19hcGljKGlycSksIGlycSk7Ci19Ci0KLXN0YXRpYyB2b2lkIGRpc2FibGVfY29iYWx0X2lycSh1bnNpZ25lZCBpbnQgaXJxKQotewotCWludCBlbnRyeSA9IGlzX2NvX2FwaWMoaXJxKTsKLQotCWNvX2FwaWNfd3JpdGUoQ09fQVBJQ19MTyhlbnRyeSksIENPX0FQSUNfTUFTSyk7Ci0JY29fYXBpY19yZWFkKENPX0FQSUNfTE8oZW50cnkpKTsKLX0KLQotLyoKLSAqICJpcnEiIHJlYWxseSBqdXN0IHNlcnZlcyB0byBpZGVudGlmeSB0aGUgZGV2aWNlLiAgSGVyZSBpcyB3aGVyZSB3ZQotICogbWFwIHRoaXMgdG8gdGhlIENvYmFsdCBBUElDIGVudHJ5IHdoZXJlIGl0J3MgcGh5c2ljYWxseSB3aXJlZC4KLSAqIFRoaXMgaXMgY2FsbGVkIHZpYSByZXF1ZXN0X2lycSAtPiBzZXR1cF9pcnEgLT4gaXJxX2Rlc2MtPnN0YXJ0dXAoKQotICovCi1zdGF0aWMgdW5zaWduZWQgaW50IHN0YXJ0dXBfY29iYWx0X2lycSh1bnNpZ25lZCBpbnQgaXJxKQotewotCXVuc2lnbmVkIGxvbmcgZmxhZ3M7Ci0KLQlzcGluX2xvY2tfaXJxc2F2ZSgmY29iYWx0X2xvY2ssIGZsYWdzKTsKLQlpZiAoKGlycV9kZXNjW2lycV0uc3RhdHVzICYgKElSUV9ESVNBQkxFRCB8IElSUV9JTlBST0dSRVNTIHwgSVJRX1dBSVRJTkcpKSkKLQkJaXJxX2Rlc2NbaXJxXS5zdGF0dXMgJj0gfihJUlFfRElTQUJMRUQgfCBJUlFfSU5QUk9HUkVTUyB8IElSUV9XQUlUSU5HKTsKLQllbmFibGVfY29iYWx0X2lycShpcnEpOwotCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmNvYmFsdF9sb2NrLCBmbGFncyk7Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyB2b2lkIGFja19jb2JhbHRfaXJxKHVuc2lnbmVkIGludCBpcnEpCi17Ci0JdW5zaWduZWQgbG9uZyBmbGFnczsKLQotCXNwaW5fbG9ja19pcnFzYXZlKCZjb2JhbHRfbG9jaywgZmxhZ3MpOwotCWRpc2FibGVfY29iYWx0X2lycShpcnEpOwotCWFwaWNfd3JpdGUoQVBJQ19FT0ksIEFQSUNfRUlPX0FDSyk7Ci0Jc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmY29iYWx0X2xvY2ssIGZsYWdzKTsKLX0KLQotc3RhdGljIHZvaWQgZW5kX2NvYmFsdF9pcnEodW5zaWduZWQgaW50IGlycSkKLXsKLQl1bnNpZ25lZCBsb25nIGZsYWdzOwotCi0Jc3Bpbl9sb2NrX2lycXNhdmUoJmNvYmFsdF9sb2NrLCBmbGFncyk7Ci0JaWYgKCEoaXJxX2Rlc2NbaXJxXS5zdGF0dXMgJiAoSVJRX0RJU0FCTEVEIHwgSVJRX0lOUFJPR1JFU1MpKSkKLQkJZW5hYmxlX2NvYmFsdF9pcnEoaXJxKTsKLQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZjb2JhbHRfbG9jaywgZmxhZ3MpOwotfQotCi1zdGF0aWMgc3RydWN0IGlycV9jaGlwIGNvYmFsdF9pcnFfdHlwZSA9IHsKLQkudHlwZW5hbWUgPQkiQ29iYWx0LUFQSUMiLAotCS5zdGFydHVwID0Jc3RhcnR1cF9jb2JhbHRfaXJxLAotCS5zaHV0ZG93biA9CWRpc2FibGVfY29iYWx0X2lycSwKLQkuZW5hYmxlID0JZW5hYmxlX2NvYmFsdF9pcnEsCi0JLmRpc2FibGUgPQlkaXNhYmxlX2NvYmFsdF9pcnEsCi0JLmFjayA9CQlhY2tfY29iYWx0X2lycSwKLQkuZW5kID0JCWVuZF9jb2JhbHRfaXJxLAotfTsKLQotCi0vKgotICogVGhpcyBpcyB0aGUgUElJWDQtYmFzZWQgODI1OSB0aGF0IGlzIHdpcmVkIHVwIGluZGlyZWN0bHkgdG8gQ29iYWx0Ci0gKiAtLSBub3QgdGhlIG1hbm5lciBleHBlY3RlZCBieSB0aGUgY29kZSBpbiBpODI1OS5jLgotICoKLSAqIHRoZXJlIGlzIGEgJ21hc3RlcicgcGh5c2ljYWwgaW50ZXJydXB0IHNvdXJjZSB0aGF0IGdldHMgc2VudCB0bwotICogdGhlIENQVS4gQnV0IGluIHRoZSBjaGlwc2V0IHRoZXJlIGFyZSB2YXJpb3VzICd2aXJ0dWFsJyBpbnRlcnJ1cHRzCi0gKiB3YWl0aW5nIHRvIGJlIGhhbmRsZWQuIFdlIHJlcHJlc2VudCB0aGlzIHRvIExpbnV4IHRocm91Z2ggYSAnbWFzdGVyJwotICogaW50ZXJydXB0IGNvbnRyb2xsZXIgdHlwZSwgYW5kIHRocm91Z2ggYSBzcGVjaWFsIHZpcnR1YWwgaW50ZXJydXB0LQotICogY29udHJvbGxlci4gRGV2aWNlIGRyaXZlcnMgb25seSBzZWUgdGhlIHZpcnR1YWwgaW50ZXJydXB0IHNvdXJjZXMuCi0gKi8KLXN0YXRpYyB1bnNpZ25lZCBpbnQgc3RhcnR1cF9waWl4NF9tYXN0ZXJfaXJxKHVuc2lnbmVkIGludCBpcnEpCi17Ci0JaW5pdF84MjU5QSgwKTsKLQotCXJldHVybiBzdGFydHVwX2NvYmFsdF9pcnEoaXJxKTsKLX0KLQotc3RhdGljIHZvaWQgZW5kX3BpaXg0X21hc3Rlcl9pcnEodW5zaWduZWQgaW50IGlycSkKLXsKLQl1bnNpZ25lZCBsb25nIGZsYWdzOwotCi0Jc3Bpbl9sb2NrX2lycXNhdmUoJmNvYmFsdF9sb2NrLCBmbGFncyk7Ci0JZW5hYmxlX2NvYmFsdF9pcnEoaXJxKTsKLQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZjb2JhbHRfbG9jaywgZmxhZ3MpOwotfQotCi1zdGF0aWMgc3RydWN0IGlycV9jaGlwIHBpaXg0X21hc3Rlcl9pcnFfdHlwZSA9IHsKLQkudHlwZW5hbWUgPQkiUElJWDQtbWFzdGVyIiwKLQkuc3RhcnR1cCA9CXN0YXJ0dXBfcGlpeDRfbWFzdGVyX2lycSwKLQkuYWNrID0JCWFja19jb2JhbHRfaXJxLAotCS5lbmQgPQkJZW5kX3BpaXg0X21hc3Rlcl9pcnEsCi19OwotCi0KLXN0YXRpYyBzdHJ1Y3QgaXJxX2NoaXAgcGlpeDRfdmlydHVhbF9pcnFfdHlwZSA9IHsKLQkudHlwZW5hbWUgPQkiUElJWDQtdmlydHVhbCIsCi0JLnNodXRkb3duID0JZGlzYWJsZV84MjU5QV9pcnEsCi0JLmVuYWJsZSA9CWVuYWJsZV84MjU5QV9pcnEsCi0JLmRpc2FibGUgPQlkaXNhYmxlXzgyNTlBX2lycSwKLX07Ci0KLQotLyoKLSAqIFBJSVg0LTgyNTkgbWFzdGVyL3ZpcnR1YWwgZnVuY3Rpb25zIHRvIGhhbmRsZSBpbnRlcnJ1cHQgcmVxdWVzdHMKLSAqIGZyb20gbGVnYWN5IGRldmljZXM6IGZsb3BweSwgcGFyYWxsZWwsIHNlcmlhbCwgcnRjLgotICoKLSAqIE5vbmUgb2YgdGhlc2UgZ2V0IENvYmFsdCBBUElDIGVudHJpZXMsIG5laXRoZXIgZG8gdGhleSBoYXZlIElEVAotICogZW50cmllcy4gVGhlc2UgaW50ZXJydXB0cyBhcmUgcHVyZWx5IHZpcnR1YWwgYW5kIGRpc3RyaWJ1dGVkIGZyb20KLSAqIHRoZSAnbWFzdGVyJyBpbnRlcnJ1cHQgc291cmNlOiBDT19JUlFfODI1OS4KLSAqCi0gKiBXaGVuIHRoZSA4MjU5IGludGVycnVwdHMgaXRzIGhhbmRsZXIgZmlndXJlcyBvdXQgd2hpY2ggb2YgdGhlc2UKLSAqIGRldmljZXMgaXMgaW50ZXJydXB0aW5nIGFuZCBkaXNwYXRjaGVzIHRvIGl0cyBoYW5kbGVyLgotICoKLSAqIENBUkVGVUw6IGRldmljZXMgc2VlIHRoZSAndmlydHVhbCcgaW50ZXJydXB0IG9ubHkuIFRodXMgZGlzYWJsZS8KLSAqIGVuYWJsZV9pcnEgZ2V0cyB0aGUgcmlnaHQgaXJxLiBUaGlzICdtYXN0ZXInIGlycSBpcyBuZXZlciBkaXJlY3RseQotICogbWFuaXB1bGF0ZWQgYnkgYW55IGRyaXZlci4KLSAqLwotc3RhdGljIGlycXJldHVybl90IHBpaXg0X21hc3Rlcl9pbnRyKGludCBpcnEsIHZvaWQgKmRldl9pZCkKLXsKLQlpbnQgcmVhbGlycTsKLQlpcnFfZGVzY190ICpkZXNjOwotCXVuc2lnbmVkIGxvbmcgZmxhZ3M7Ci0KLQlzcGluX2xvY2tfaXJxc2F2ZSgmaTgyNTlBX2xvY2ssIGZsYWdzKTsKLQotCS8qIEZpbmQgb3V0IHdoYXQncyBpbnRlcnJ1cHRpbmcgaW4gdGhlIFBJSVg0IG1hc3RlciA4MjU5ICovCi0Jb3V0YigweDBjLCAweDIwKTsJCS8qIE9DVzMgUG9sbCBjb21tYW5kICovCi0JcmVhbGlycSA9IGluYigweDIwKTsKLQotCS8qCi0JICogQml0IDcgPT0gMCBtZWFucyBpbnZhbGlkL3NwdXJpb3VzCi0JICovCi0JaWYgKHVubGlrZWx5KCEocmVhbGlycSAmIDB4ODApKSkKLQkJZ290byBvdXRfdW5sb2NrOwotCi0JcmVhbGlycSAmPSA3OwotCi0JaWYgKHVubGlrZWx5KHJlYWxpcnEgPT0gMikpIHsKLQkJb3V0YigweDBjLCAweGEwKTsKLQkJcmVhbGlycSA9IGluYigweGEwKTsKLQotCQlpZiAodW5saWtlbHkoIShyZWFsaXJxICYgMHg4MCkpKQotCQkJZ290byBvdXRfdW5sb2NrOwotCi0JCXJlYWxpcnEgPSAocmVhbGlycSAmIDcpICsgODsKLQl9Ci0KLQkvKiBtYXNrIGFuZCBhY2sgaW50ZXJydXB0ICovCi0JY2FjaGVkX2lycV9tYXNrIHw9IDEgPDwgcmVhbGlycTsKLQlpZiAodW5saWtlbHkocmVhbGlycSA+IDcpKSB7Ci0JCWluYigweGExKTsKLQkJb3V0YihjYWNoZWRfc2xhdmVfbWFzaywgMHhhMSk7Ci0JCW91dGIoMHg2MCArIChyZWFsaXJxICYgNyksIDB4YTApOwotCQlvdXRiKDB4NjAgKyAyLCAweDIwKTsKLQl9IGVsc2UgewotCQlpbmIoMHgyMSk7Ci0JCW91dGIoY2FjaGVkX21hc3Rlcl9tYXNrLCAweDIxKTsKLQkJb3V0YigweDYwICsgcmVhbGlycSwgMHgyMCk7Ci0JfQotCi0Jc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmaTgyNTlBX2xvY2ssIGZsYWdzKTsKLQotCWRlc2MgPSBpcnFfZGVzYyArIHJlYWxpcnE7Ci0KLQkvKgotCSAqIGhhbmRsZSB0aGlzICd2aXJ0dWFsIGludGVycnVwdCcgYXMgYSBDb2JhbHQgb25lIG5vdy4KLQkgKi8KLQlrc3RhdF9jcHUoc21wX3Byb2Nlc3Nvcl9pZCgpKS5pcnFzW3JlYWxpcnFdKys7Ci0KLQlpZiAobGlrZWx5KGRlc2MtPmFjdGlvbiAhPSBOVUxMKSkKLQkJaGFuZGxlX0lSUV9ldmVudChyZWFsaXJxLCBkZXNjLT5hY3Rpb24pOwotCi0JaWYgKCEoZGVzYy0+c3RhdHVzICYgSVJRX0RJU0FCTEVEKSkKLQkJZW5hYmxlXzgyNTlBX2lycShyZWFsaXJxKTsKLQotCXJldHVybiBJUlFfSEFORExFRDsKLQotb3V0X3VubG9jazoKLQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZpODI1OUFfbG9jaywgZmxhZ3MpOwotCXJldHVybiBJUlFfTk9ORTsKLX0KLQotc3RhdGljIHN0cnVjdCBpcnFhY3Rpb24gbWFzdGVyX2FjdGlvbiA9IHsKLQkuaGFuZGxlciA9CXBpaXg0X21hc3Rlcl9pbnRyLAotCS5uYW1lID0JCSJQSUlYNC04MjU5IiwKLX07Ci0KLXN0YXRpYyBzdHJ1Y3QgaXJxYWN0aW9uIGNhc2NhZGVfYWN0aW9uID0gewotCS5oYW5kbGVyID0gCW5vX2FjdGlvbiwKLQkubmFtZSA9CQkiY2FzY2FkZSIsCi19OwotCi0KLXZvaWQgaW5pdF9WSVNXU19BUElDX2lycXModm9pZCkKLXsKLQlpbnQgaTsKLQotCWZvciAoaSA9IDA7IGkgPCBDT19JUlFfQVBJQzAgKyBDT19BUElDX0xBU1QgKyAxOyBpKyspIHsKLQkJaXJxX2Rlc2NbaV0uc3RhdHVzID0gSVJRX0RJU0FCTEVEOwotCQlpcnFfZGVzY1tpXS5hY3Rpb24gPSAwOwotCQlpcnFfZGVzY1tpXS5kZXB0aCA9IDE7Ci0KLQkJaWYgKGkgPT0gMCkgewotCQkJaXJxX2Rlc2NbaV0uY2hpcCA9ICZjb2JhbHRfaXJxX3R5cGU7Ci0JCX0KLQkJZWxzZSBpZiAoaSA9PSBDT19JUlFfSURFMCkgewotCQkJaXJxX2Rlc2NbaV0uY2hpcCA9ICZjb2JhbHRfaXJxX3R5cGU7Ci0JCX0KLQkJZWxzZSBpZiAoaSA9PSBDT19JUlFfSURFMSkgewotCQkJaXJxX2Rlc2NbaV0uY2hpcCA9ICZjb2JhbHRfaXJxX3R5cGU7Ci0JCX0KLQkJZWxzZSBpZiAoaSA9PSBDT19JUlFfODI1OSkgewotCQkJaXJxX2Rlc2NbaV0uY2hpcCA9ICZwaWl4NF9tYXN0ZXJfaXJxX3R5cGU7Ci0JCX0KLQkJZWxzZSBpZiAoaSA8IENPX0lSUV9BUElDMCkgewotCQkJaXJxX2Rlc2NbaV0uY2hpcCA9ICZwaWl4NF92aXJ0dWFsX2lycV90eXBlOwotCQl9Ci0JCWVsc2UgaWYgKElTX0NPX0FQSUMoaSkpIHsKLQkJCWlycV9kZXNjW2ldLmNoaXAgPSAmY29iYWx0X2lycV90eXBlOwotCQl9Ci0JfQotCi0Jc2V0dXBfaXJxKENPX0lSUV84MjU5LCAmbWFzdGVyX2FjdGlvbik7Ci0Jc2V0dXBfaXJxKDIsICZjYXNjYWRlX2FjdGlvbik7Ci19CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9tYWNoLXZveWFnZXIvc2V0dXAuYyBiL2FyY2gveDg2L21hY2gtdm95YWdlci9zZXR1cC5jCmluZGV4IDVhZTU0NjYuLjZiYmRkNjMgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L21hY2gtdm95YWdlci9zZXR1cC5jCisrKyBiL2FyY2gveDg2L21hY2gtdm95YWdlci9zZXR1cC5jCkBAIC02Miw2ICs2Miw3IEBACiBjaGFyICpfX2luaXQgbWFjaGluZV9zcGVjaWZpY19tZW1vcnlfc2V0dXAodm9pZCkKIHsKIAljaGFyICp3aG87CisJaW50IG5ld19ucjsKIAogCXdobyA9ICJOT1QgVk9ZQUdFUiI7CiAKQEAgLTczLDcgKzc0LDcgQEAKIAogCQllODIwLm5yX21hcCA9IDA7CiAJCWZvciAoaSA9IDA7IHZveWFnZXJfbWVtb3J5X2RldGVjdChpLCAmYWRkciwgJmxlbmd0aCk7IGkrKykgewotCQkJYWRkX21lbW9yeV9yZWdpb24oYWRkciwgbGVuZ3RoLCBFODIwX1JBTSk7CisJCQllODIwX2FkZF9yZWdpb24oYWRkciwgbGVuZ3RoLCBFODIwX1JBTSk7CiAJCX0KIAkJcmV0dXJuIHdobzsKIAl9IGVsc2UgaWYgKHZveWFnZXJfbGV2ZWwgPT0gNCkgewpAQCAtOTEsNDMgKzkyLDE3IEBACiAJCQl0b20gPSAoYm9vdF9wYXJhbXMuc2NyZWVuX2luZm8uZXh0X21lbV9rKSA8PCAxMDsKIAkJfQogCQl3aG8gPSAiVm95YWdlci1UT00iOwotCQlhZGRfbWVtb3J5X3JlZ2lvbigwLCAweDlmMDAwLCBFODIwX1JBTSk7CisJCWU4MjBfYWRkX3JlZ2lvbigwLCAweDlmMDAwLCBFODIwX1JBTSk7CiAJCS8qIG1hcCBmcm9tIDFNIHRvIHRvcCBvZiBtZW1vcnkgKi8KLQkJYWRkX21lbW9yeV9yZWdpb24oMSAqIDEwMjQgKiAxMDI0LCB0b20gLSAxICogMTAyNCAqIDEwMjQsCisJCWU4MjBfYWRkX3JlZ2lvbigxICogMTAyNCAqIDEwMjQsIHRvbSAtIDEgKiAxMDI0ICogMTAyNCwKIAkJCQkgIEU4MjBfUkFNKTsKIAkJLyogRklYTUU6IFNob3VsZCBjaGVjayB0aGUgQVNJQ3MgdG8gc2VlIGlmIEkgbmVlZCB0bwogCQkgKiB0YWtlIG91dCB0aGUgOE0gd2luZG93LiAgSnVzdCBkbyBpdCBhdCB0aGUgbW9tZW50CiAJCSAqICovCi0JCWFkZF9tZW1vcnlfcmVnaW9uKDggKiAxMDI0ICogMTAyNCwgOCAqIDEwMjQgKiAxMDI0LAorCQllODIwX2FkZF9yZWdpb24oOCAqIDEwMjQgKiAxMDI0LCA4ICogMTAyNCAqIDEwMjQsCiAJCQkJICBFODIwX1JFU0VSVkVEKTsKIAkJcmV0dXJuIHdobzsKIAl9CiAKLQl3aG8gPSAiQklPUy1lODIwIjsKLQotCS8qCi0JICogVHJ5IHRvIGNvcHkgdGhlIEJJT1Mtc3VwcGxpZWQgRTgyMC1tYXAuCi0JICoKLQkgKiBPdGhlcndpc2UgZmFrZSBhIG1lbW9yeSBtYXA7IG9uZSBzZWN0aW9uIGZyb20gMGstPjY0MGssCi0JICogdGhlIG5leHQgc2VjdGlvbiBmcm9tIDFtYi0+YXBwcm9wcmlhdGVfbWVtX2sKLQkgKi8KLQlzYW5pdGl6ZV9lODIwX21hcChib290X3BhcmFtcy5lODIwX21hcCwgJmJvb3RfcGFyYW1zLmU4MjBfZW50cmllcyk7Ci0JaWYgKGNvcHlfZTgyMF9tYXAoYm9vdF9wYXJhbXMuZTgyMF9tYXAsIGJvb3RfcGFyYW1zLmU4MjBfZW50cmllcykKLQkgICAgPCAwKSB7Ci0JCXVuc2lnbmVkIGxvbmcgbWVtX3NpemU7Ci0KLQkJLyogY29tcGFyZSByZXN1bHRzIGZyb20gb3RoZXIgbWV0aG9kcyBhbmQgdGFrZSB0aGUgZ3JlYXRlciAqLwotCQlpZiAoYm9vdF9wYXJhbXMuYWx0X21lbV9rIDwgYm9vdF9wYXJhbXMuc2NyZWVuX2luZm8uZXh0X21lbV9rKSB7Ci0JCQltZW1fc2l6ZSA9IGJvb3RfcGFyYW1zLnNjcmVlbl9pbmZvLmV4dF9tZW1fazsKLQkJCXdobyA9ICJCSU9TLTg4IjsKLQkJfSBlbHNlIHsKLQkJCW1lbV9zaXplID0gYm9vdF9wYXJhbXMuYWx0X21lbV9rOwotCQkJd2hvID0gIkJJT1MtZTgwMSI7Ci0JCX0KLQotCQllODIwLm5yX21hcCA9IDA7Ci0JCWFkZF9tZW1vcnlfcmVnaW9uKDAsIExPV01FTVNJWkUoKSwgRTgyMF9SQU0pOwotCQlhZGRfbWVtb3J5X3JlZ2lvbihISUdIX01FTU9SWSwgbWVtX3NpemUgPDwgMTAsIEU4MjBfUkFNKTsKLQl9Ci0JcmV0dXJuIHdobzsKKwlyZXR1cm4gZGVmYXVsdF9tYWNoaW5lX3NwZWNpZmljX21lbW9yeV9zZXR1cCgpOwogfQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvbWFjaC12b3lhZ2VyL3ZveWFnZXJfc21wLmMgYi9hcmNoL3g4Ni9tYWNoLXZveWFnZXIvdm95YWdlcl9zbXAuYwppbmRleCA4YWNiZjBjLi44ZGVkZDAxIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9tYWNoLXZveWFnZXIvdm95YWdlcl9zbXAuYworKysgYi9hcmNoL3g4Ni9tYWNoLXZveWFnZXIvdm95YWdlcl9zbXAuYwpAQCAtNTksMTEgKzU5LDYgQEAKICAqIGFjdGl2aXR5IGNvdW50LiAgRmluYWxseSBleHBvcnRlZCBieSBpMzg2X2tzeW1zLmMgKi8KIHN0YXRpYyBpbnQgdm95YWdlcl9leHRlbmRlZF9jcHVzID0gMTsKIAotLyogSGF2ZSB3ZSBmb3VuZCBhbiBTTVAgYm94IC0gdXNlZCBieSB0aW1lLmMgdG8gZG8gdGhlIHByb2ZpbGluZwotICAgaW50ZXJydXB0IGZvciB0aW1lc2xpY2luZzsgZG8gbm90IHNldCB0byAxIHVudGlsIHRoZSBwZXIgQ1BVIHRpbWVyCi0gICBpbnRlcnJ1cHQgaXMgYWN0aXZlICovCi1pbnQgc21wX2ZvdW5kX2NvbmZpZyA9IDA7Ci0KIC8qIFVzZWQgZm9yIHRoZSBpbnZhbGlkYXRlIG1hcCB0aGF0J3MgYWxzbyBjaGVja2VkIGluIHRoZSBzcGlubG9jayAqLwogc3RhdGljIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcgc21wX2ludmFsaWRhdGVfbmVlZGVkOwogCkBAIC0xMTM3LDE1ICsxMTMyLDYgQEAKIAlvbl9lYWNoX2NwdShkb19mbHVzaF90bGJfYWxsLCAwLCAxLCAxKTsKIH0KIAotLyogdXNlZCB0byBzZXQgdXAgdGhlIHRyYW1wb2xpbmUgZm9yIG90aGVyIENQVXMgd2hlbiB0aGUgbWVtb3J5IG1hbmFnZXIKLSAqIGlzIHNvcnRlZCBvdXQgKi8KLXZvaWQgX19pbml0IHNtcF9hbGxvY19tZW1vcnkodm9pZCkKLXsKLQl0cmFtcG9saW5lX2Jhc2UgPSBhbGxvY19ib290bWVtX2xvd19wYWdlcyhQQUdFX1NJWkUpOwotCWlmIChfX3BhKHRyYW1wb2xpbmVfYmFzZSkgPj0gMHg5MzAwMCkKLQkJQlVHKCk7Ci19Ci0KIC8qIHNlbmQgYSByZXNjaGVkdWxlIENQSSB0byBvbmUgQ1BVIGJ5IHBoeXNpY2FsIENQVSBudW1iZXIqLwogc3RhdGljIHZvaWQgdm95YWdlcl9zbXBfc2VuZF9yZXNjaGVkdWxlKGludCBjcHUpCiB7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9tYXRoLWVtdS9yZWdfY29uc3RhbnQuYyBiL2FyY2gveDg2L21hdGgtZW11L3JlZ19jb25zdGFudC5jCmluZGV4IDA0ODY5ZTYuLjAwNTQ4MzUgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L21hdGgtZW11L3JlZ19jb25zdGFudC5jCisrKyBiL2FyY2gveDg2L21hdGgtZW11L3JlZ19jb25zdGFudC5jCkBAIC0xNiw4ICsxNiw4IEBACiAjaW5jbHVkZSAicmVnX2NvbnN0YW50LmgiCiAjaW5jbHVkZSAiY29udHJvbF93LmgiCiAKLSNkZWZpbmUgTUFLRV9SRUcocyxlLGwsaCkgeyBsLCBoLCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgKChFWFRFTkRFRF9FYmlhcysoZSkpIHwgKChTSUdOXyMjcyAhPSAwKSoweDgwMDApKSB9CisjZGVmaW5lIE1BS0VfUkVHKHMsIGUsIGwsIGgpIHsgbCwgaCwgXAorCQkoKEVYVEVOREVEX0ViaWFzKyhlKSkgfCAoKFNJR05fIyNzICE9IDApKjB4ODAwMCkpIH0KIAogRlBVX1JFRyBjb25zdCBDT05TVF8xID0gTUFLRV9SRUcoUE9TLCAwLCAweDAwMDAwMDAwLCAweDgwMDAwMDAwKTsKICNpZiAwCkBAIC00MCw3ICs0MCw3IEBACiBGUFVfUkVHIGNvbnN0IENPTlNUX1ogPSBNQUtFX1JFRyhQT1MsIEVYUF9VTkRFUiwgMHgwLCAweDApOwogCiAvKiBPbmx5IHRoZSBzaWduIGFuZCBzaWduaWZpY2FuZCAoYW5kIHRhZykgYXJlIHVzZWQgaW4gaW50ZXJuYWwgTmFOcyAqLwotLyogVGhlIDgwNDg2IG5ldmVyIGdlbmVyYXRlcyBvbmUgb2YgdGhlc2UgCisvKiBUaGUgODA0ODYgbmV2ZXIgZ2VuZXJhdGVzIG9uZSBvZiB0aGVzZQogRlBVX1JFRyBjb25zdCBDT05TVF9TTkFOID0gTUFLRV9SRUcoUE9TLCBFWFBfT1ZFUiwgMHgwMDAwMDAwMSwgMHg4MDAwMDAwMCk7CiAgKi8KIC8qIFRoaXMgaXMgdGhlIHJlYWwgaW5kZWZpbml0ZSBRTmFOICovCkBAIC00OSw3ICs0OSw3IEBACiAvKiBPbmx5IHRoZSBzaWduIChhbmQgdGFnKSBpcyB1c2VkIGluIGludGVybmFsIGluZmluaXRpZXMgKi8KIEZQVV9SRUcgY29uc3QgQ09OU1RfSU5GID0gTUFLRV9SRUcoUE9TLCBFWFBfT1ZFUiwgMHgwMDAwMDAwMCwgMHg4MDAwMDAwMCk7CiAKLXN0YXRpYyB2b2lkIGZsZF9jb25zdChGUFVfUkVHIGNvbnN0ICpjLCBpbnQgYWRqLCB1X2NoYXIgdGFnKQorc3RhdGljIHZvaWQgZmxkX2NvbnN0KEZQVV9SRUcgY29uc3QgKiBjLCBpbnQgYWRqLCB1X2NoYXIgdGFnKQogewogCUZQVV9SRUcgKnN0X25ld19wdHI7CiAKZGlmZiAtLWdpdCBhL2FyY2gveDg2L21tL01ha2VmaWxlIGIvYXJjaC94ODYvbW0vTWFrZWZpbGUKaW5kZXggYjdiM2U0Yy4uOTg3MzcxNiAxMDA2NDQKLS0tIGEvYXJjaC94ODYvbW0vTWFrZWZpbGUKKysrIGIvYXJjaC94ODYvbW0vTWFrZWZpbGUKQEAgLTgsMTAgKzgsMTYgQEAKIAogb2JqLSQoQ09ORklHX0hJR0hNRU0pCQkrPSBoaWdobWVtXzMyLm8KIAorb2JqLSQoQ09ORklHX01NSU9UUkFDRV9IT09LUykJKz0ga21taW8ubworb2JqLSQoQ09ORklHX01NSU9UUkFDRSkJCSs9IG1taW90cmFjZS5vCittbWlvdHJhY2UteQkJCTo9IHBmX2luLm8gbW1pby1tb2Qubworb2JqLSQoQ09ORklHX01NSU9UUkFDRV9URVNUKQkrPSB0ZXN0bW1pb3RyYWNlLm8KKwogaWZlcSAoJChDT05GSUdfWDg2XzMyKSx5KQogb2JqLSQoQ09ORklHX05VTUEpCQkrPSBkaXNjb250aWdfMzIubwogZWxzZQogb2JqLSQoQ09ORklHX05VTUEpCQkrPSBudW1hXzY0Lm8KIG9iai0kKENPTkZJR19LOF9OVU1BKQkJKz0gazh0b3BvbG9neV82NC5vCi1vYmotJChDT05GSUdfQUNQSV9OVU1BKQkJKz0gc3JhdF82NC5vCiBlbmRpZgorb2JqLSQoQ09ORklHX0FDUElfTlVNQSkJCSs9IHNyYXRfJChCSVRTKS5vCisKZGlmZiAtLWdpdCBhL2FyY2gveDg2L21tL2Rpc2NvbnRpZ18zMi5jIGIvYXJjaC94ODYvbW0vZGlzY29udGlnXzMyLmMKaW5kZXggOTE0Y2NmOS4uNWRmZWY5ZiAxMDA2NDQKLS0tIGEvYXJjaC94ODYvbW0vZGlzY29udGlnXzMyLmMKKysrIGIvYXJjaC94ODYvbW0vZGlzY29udGlnXzMyLmMKQEAgLTM4LDYgKzM4LDcgQEAKICNpbmNsdWRlIDxhc20vc2V0dXAuaD4KICNpbmNsdWRlIDxhc20vbW16b25lLmg+CiAjaW5jbHVkZSA8YXNtL2Jpb3NfZWJkYS5oPgorI2luY2x1ZGUgPGFzbS9wcm90by5oPgogCiBzdHJ1Y3QgcGdsaXN0X2RhdGEgKm5vZGVfZGF0YVtNQVhfTlVNTk9ERVNdIF9fcmVhZF9tb3N0bHk7CiBFWFBPUlRfU1lNQk9MKG5vZGVfZGF0YSk7CkBAIC01OSwxNCArNjAsMTQgQEAKIC8qCiAgKiA0KSBwaHlzbm9kZV9tYXAgICAgIC0gdGhlIG1hcHBpbmcgYmV0d2VlbiBhIHBmbiBhbmQgb3duaW5nIG5vZGUKICAqIHBoeXNub2RlX21hcCBrZWVwcyB0cmFjayBvZiB0aGUgcGh5c2ljYWwgbWVtb3J5IGxheW91dCBvZiBhIGdlbmVyaWMKLSAqIG51bWEgbm9kZSBvbiBhIDI1Nk1iIGJyZWFrIChlYWNoIGVsZW1lbnQgb2YgdGhlIGFycmF5IHdpbGwKLSAqIHJlcHJlc2VudCAyNTZNYiBvZiBtZW1vcnkgYW5kIHdpbGwgYmUgbWFya2VkIGJ5IHRoZSBub2RlIGlkLiAgc28sCisgKiBudW1hIG5vZGUgb24gYSA2NE1iIGJyZWFrIChlYWNoIGVsZW1lbnQgb2YgdGhlIGFycmF5IHdpbGwKKyAqIHJlcHJlc2VudCA2NE1iIG9mIG1lbW9yeSBhbmQgd2lsbCBiZSBtYXJrZWQgYnkgdGhlIG5vZGUgaWQuICBzbywKICAqIGlmIHRoZSBmaXJzdCBnaWcgaXMgb24gbm9kZSAwLCBhbmQgdGhlIHNlY29uZCBnaWcgaXMgb24gbm9kZSAxCiAgKiBwaHlzbm9kZV9tYXAgd2lsbCBjb250YWluOgogICoKLSAqICAgICBwaHlzbm9kZV9tYXBbMC0zXSA9IDA7Ci0gKiAgICAgcGh5c25vZGVfbWFwWzQtN10gPSAxOwotICogICAgIHBoeXNub2RlX21hcFs4LSBdID0gLTE7CisgKiAgICAgcGh5c25vZGVfbWFwWzAtMTVdID0gMDsKKyAqICAgICBwaHlzbm9kZV9tYXBbMTYtMzFdID0gMTsKKyAqICAgICBwaHlzbm9kZV9tYXBbMzItIF0gPSAtMTsKICAqLwogczggcGh5c25vZGVfbWFwW01BWF9FTEVNRU5UU10gX19yZWFkX21vc3RseSA9IHsgWzAgLi4uIChNQVhfRUxFTUVOVFMgLSAxKV0gPSAtMX07CiBFWFBPUlRfU1lNQk9MKHBoeXNub2RlX21hcCk7CkBAIC03NSwxNSArNzYsMTUgQEAKIHsKIAl1bnNpZ25lZCBsb25nIHBmbjsKIAotCXByaW50ayhLRVJOX0lORk8gIk5vZGU6ICVkLCBzdGFydF9wZm46ICVsZCwgZW5kX3BmbjogJWxkXG4iLAorCXByaW50ayhLRVJOX0lORk8gIk5vZGU6ICVkLCBzdGFydF9wZm46ICVseCwgZW5kX3BmbjogJWx4XG4iLAogCQkJbmlkLCBzdGFydCwgZW5kKTsKIAlwcmludGsoS0VSTl9ERUJVRyAiICBTZXR0aW5nIHBoeXNub2RlX21hcCBhcnJheSB0byBub2RlICVkIGZvciBwZm5zOlxuIiwgbmlkKTsKIAlwcmludGsoS0VSTl9ERUJVRyAiICAiKTsKIAlmb3IgKHBmbiA9IHN0YXJ0OyBwZm4gPCBlbmQ7IHBmbiArPSBQQUdFU19QRVJfRUxFTUVOVCkgewogCQlwaHlzbm9kZV9tYXBbcGZuIC8gUEFHRVNfUEVSX0VMRU1FTlRdID0gbmlkOwotCQlwcmludGsoIiVsZCAiLCBwZm4pOworCQlwcmludGsoS0VSTl9DT05UICIlbHggIiwgcGZuKTsKIAl9Ci0JcHJpbnRrKCJcbiIpOworCXByaW50ayhLRVJOX0NPTlQgIlxuIik7CiB9CiAKIHVuc2lnbmVkIGxvbmcgbm9kZV9tZW1tYXBfc2l6ZV9ieXRlcyhpbnQgbmlkLCB1bnNpZ25lZCBsb25nIHN0YXJ0X3BmbiwKQEAgLTk5LDcgKzEwMCw2IEBACiAjZW5kaWYKIAogZXh0ZXJuIHVuc2lnbmVkIGxvbmcgZmluZF9tYXhfbG93X3Bmbih2b2lkKTsKLWV4dGVybiB2b2lkIGFkZF9vbmVfaGlnaHBhZ2VfaW5pdChzdHJ1Y3QgcGFnZSAqLCBpbnQsIGludCk7CiBleHRlcm4gdW5zaWduZWQgbG9uZyBoaWdoZW5kX3BmbiwgaGlnaHN0YXJ0X3BmbjsKIAogI2RlZmluZSBMQVJHRV9QQUdFX0JZVEVTIChQVFJTX1BFUl9QVEUgKiBQQUdFX1NJWkUpCkBAIC0xMTcsMTMgKzExNywxMyBAQAogICovCiBpbnQgX19pbml0IGdldF9tZW1jZmdfbnVtYV9mbGF0KHZvaWQpCiB7Ci0JcHJpbnRrKCJOVU1BIC0gc2luZ2xlIG5vZGUsIGZsYXQgbWVtb3J5IG1vZGVcbiIpOworCXByaW50ayhLRVJOX0RFQlVHICJOVU1BIC0gc2luZ2xlIG5vZGUsIGZsYXQgbWVtb3J5IG1vZGVcbiIpOwogCi0JLyogUnVuIHRoZSBtZW1vcnkgY29uZmlndXJhdGlvbiBhbmQgZmluZCB0aGUgdG9wIG9mIG1lbW9yeS4gKi8KLQlwcm9wYWdhdGVfZTgyMF9tYXAoKTsKIAlub2RlX3N0YXJ0X3BmblswXSA9IDA7CiAJbm9kZV9lbmRfcGZuWzBdID0gbWF4X3BmbjsKKwllODIwX3JlZ2lzdGVyX2FjdGl2ZV9yZWdpb25zKDAsIDAsIG1heF9wZm4pOwogCW1lbW9yeV9wcmVzZW50KDAsIDAsIG1heF9wZm4pOworCW5vZGVfcmVtYXBfc2l6ZVswXSA9IG5vZGVfbWVtbWFwX3NpemVfYnl0ZXMoMCwgMCwgbWF4X3Bmbik7CiAKICAgICAgICAgLyogSW5kaWNhdGUgdGhlcmUgaXMgb25lIG5vZGUgYXZhaWxhYmxlLiAqLwogCW5vZGVzX2NsZWFyKG5vZGVfb25saW5lX21hcCk7CkBAIC0xNTYsMjQgKzE1NiwzMiBAQAogICovCiBzdGF0aWMgdm9pZCBfX2luaXQgYWxsb2NhdGVfcGdkYXQoaW50IG5pZCkKIHsKLQlpZiAobmlkICYmIG5vZGVfaGFzX29ubGluZV9tZW0obmlkKSkKKwljaGFyIGJ1ZlsxNl07CisKKwlpZiAobm9kZV9oYXNfb25saW5lX21lbShuaWQpICYmIG5vZGVfcmVtYXBfc3RhcnRfdmFkZHJbbmlkXSkKIAkJTk9ERV9EQVRBKG5pZCkgPSAocGdfZGF0YV90ICopbm9kZV9yZW1hcF9zdGFydF92YWRkcltuaWRdOwogCWVsc2UgewotCQlOT0RFX0RBVEEobmlkKSA9IChwZ19kYXRhX3QgKikocGZuX3RvX2thZGRyKG1pbl9sb3dfcGZuKSk7Ci0JCW1pbl9sb3dfcGZuICs9IFBGTl9VUChzaXplb2YocGdfZGF0YV90KSk7CisJCXVuc2lnbmVkIGxvbmcgcGdkYXRfcGh5czsKKwkJcGdkYXRfcGh5cyA9IGZpbmRfZTgyMF9hcmVhKG1pbl9sb3dfcGZuPDxQQUdFX1NISUZULAorCQkJCSBtYXhfcGZuX21hcHBlZDw8UEFHRV9TSElGVCwKKwkJCQkgc2l6ZW9mKHBnX2RhdGFfdCksCisJCQkJIFBBR0VfU0laRSk7CisJCU5PREVfREFUQShuaWQpID0gKHBnX2RhdGFfdCAqKShwZm5fdG9fa2FkZHIocGdkYXRfcGh5cz4+UEFHRV9TSElGVCkpOworCQltZW1zZXQoYnVmLCAwLCBzaXplb2YoYnVmKSk7CisJCXNwcmludGYoYnVmLCAiTk9ERV9EQVRBICVkIiwgIG5pZCk7CisJCXJlc2VydmVfZWFybHkocGdkYXRfcGh5cywgcGdkYXRfcGh5cyArIHNpemVvZihwZ19kYXRhX3QpLCBidWYpOwogCX0KKwlwcmludGsoS0VSTl9ERUJVRyAiYWxsb2NhdGVfcGdkYXQ6IG5vZGUgJWQgTk9ERV9EQVRBICUwOGx4XG4iLAorCQluaWQsICh1bnNpZ25lZCBsb25nKU5PREVfREFUQShuaWQpKTsKIH0KIAotI2lmZGVmIENPTkZJR19ESVNDT05USUdNRU0KIC8qCi0gKiBJbiB0aGUgZGlzY29udGlnIG1lbW9yeSBtb2RlbCwgYSBwb3J0aW9uIG9mIHRoZSBrZXJuZWwgdmlydHVhbCBhcmVhIChLVkEpCi0gKiBpcyByZXNlcnZlZCBhbmQgcG9ydGlvbnMgb2Ygbm9kZXMgYXJlIG1hcHBlZCB1c2luZyBpdC4gVGhpcyBpcyB0byBhbGxvdwotICogbm9kZS1sb2NhbCBtZW1vcnkgdG8gYmUgYWxsb2NhdGVkIGZvciBzdHJ1Y3R1cmVzIHRoYXQgd291bGQgbm9ybWFsbHkgcmVxdWlyZQotICogWk9ORV9OT1JNQUwuIFRoZSBtZW1vcnkgaXMgYWxsb2NhdGVkIHdpdGggYWxsb2NfcmVtYXAoKSBhbmQgY2FsbGVycwotICogc2hvdWxkIGJlIHByZXBhcmVkIHRvIGFsbG9jYXRlIGZyb20gdGhlIGJvb3RtZW0gYWxsb2NhdG9yIGluc3RlYWQuIFRoaXMgS1ZBCi0gKiBtZWNoYW5pc20gaXMgaW5jb21wYXRpYmxlIHdpdGggU1BBUlNFTUVNIGFzIGl0IG1ha2VzIGFzc3VtcHRpb25zIGFib3V0IHRoZQotICogbGF5b3V0IG9mIG1lbW9yeSB0aGF0IGFyZSBicm9rZW4gaWYgYWxsb2NfcmVtYXAoKSBzdWNjZWVkcyBmb3Igc29tZSBvZiB0aGUKLSAqIG1hcCBhbmQgZmFpbHMgZm9yIG90aGVycworICogSW4gdGhlIERJU0NPTlRJR01FTSBhbmQgU1BBUlNFTUVNIG1lbW9yeSBtb2RlbCwgYSBwb3J0aW9uIG9mIHRoZSBrZXJuZWwKKyAqIHZpcnR1YWwgYWRkcmVzcyBzcGFjZSAoS1ZBKSBpcyByZXNlcnZlZCBhbmQgcG9ydGlvbnMgb2Ygbm9kZXMgYXJlIG1hcHBlZAorICogdXNpbmcgaXQuIFRoaXMgaXMgdG8gYWxsb3cgbm9kZS1sb2NhbCBtZW1vcnkgdG8gYmUgYWxsb2NhdGVkIGZvcgorICogc3RydWN0dXJlcyB0aGF0IHdvdWxkIG5vcm1hbGx5IHJlcXVpcmUgWk9ORV9OT1JNQUwuIFRoZSBtZW1vcnkgaXMKKyAqIGFsbG9jYXRlZCB3aXRoIGFsbG9jX3JlbWFwKCkgYW5kIGNhbGxlcnMgc2hvdWxkIGJlIHByZXBhcmVkIHRvIGFsbG9jYXRlCisgKiBmcm9tIHRoZSBib290bWVtIGFsbG9jYXRvciBpbnN0ZWFkLgogICovCiBzdGF0aWMgdW5zaWduZWQgbG9uZyBub2RlX3JlbWFwX3N0YXJ0X3BmbltNQVhfTlVNTk9ERVNdOwogc3RhdGljIHZvaWQgKm5vZGVfcmVtYXBfZW5kX3ZhZGRyW01BWF9OVU1OT0RFU107CkBAIC0xOTUsMTUgKzIwMywxOSBAQAogCXJldHVybiBhbGxvY2F0aW9uOwogfQogCi12b2lkIF9faW5pdCByZW1hcF9udW1hX2t2YSh2b2lkKQorc3RhdGljIHZvaWQgX19pbml0IHJlbWFwX251bWFfa3ZhKHZvaWQpCiB7CiAJdm9pZCAqdmFkZHI7CiAJdW5zaWduZWQgbG9uZyBwZm47CiAJaW50IG5vZGU7CiAKIAlmb3JfZWFjaF9vbmxpbmVfbm9kZShub2RlKSB7CisJCXByaW50ayhLRVJOX0RFQlVHICJyZW1hcF9udW1hX2t2YTogbm9kZSAlZFxuIiwgbm9kZSk7CiAJCWZvciAocGZuPTA7IHBmbiA8IG5vZGVfcmVtYXBfc2l6ZVtub2RlXTsgcGZuICs9IFBUUlNfUEVSX1BURSkgewogCQkJdmFkZHIgPSBub2RlX3JlbWFwX3N0YXJ0X3ZhZGRyW25vZGVdKyhwZm48PFBBR0VfU0hJRlQpOworCQkJcHJpbnRrKEtFUk5fREVCVUcgInJlbWFwX251bWFfa3ZhOiAlMDhseCB0byBwZm4gJTA4bHhcbiIsCisJCQkJKHVuc2lnbmVkIGxvbmcpdmFkZHIsCisJCQkJbm9kZV9yZW1hcF9zdGFydF9wZm5bbm9kZV0gKyBwZm4pOwogCQkJc2V0X3BtZF9wZm4oKHVsb25nKSB2YWRkciwgCiAJCQkJbm9kZV9yZW1hcF9zdGFydF9wZm5bbm9kZV0gKyBwZm4sIAogCQkJCVBBR0VfS0VSTkVMX0xBUkdFKTsKQEAgLTIxNSwxNyArMjI3LDIxIEBACiB7CiAJaW50IG5pZDsKIAl1bnNpZ25lZCBsb25nIHNpemUsIHJlc2VydmVfcGFnZXMgPSAwOwotCXVuc2lnbmVkIGxvbmcgcGZuOwogCiAJZm9yX2VhY2hfb25saW5lX25vZGUobmlkKSB7Ci0JCXVuc2lnbmVkIG9sZF9lbmRfcGZuID0gbm9kZV9lbmRfcGZuW25pZF07CisJCXU2NCBub2RlX2t2YV90YXJnZXQ7CisJCXU2NCBub2RlX2t2YV9maW5hbDsKIAogCQkvKgogCQkgKiBUaGUgYWNwaS9zcmF0IG5vZGUgaW5mbyBjYW4gc2hvdyBob3QtYWRkIG1lbXJveSB6b25lcwogCQkgKiB3aGVyZSBtZW1vcnkgY291bGQgYmUgYWRkZWQgYnV0IG5vdCBjdXJyZW50bHkgcHJlc2VudC4KIAkJICovCisJCXByaW50ayhLRVJOX0RFQlVHICJub2RlICVkIHBmbjogWyVseCAtICVseF1cbiIsCisJCQluaWQsIG5vZGVfc3RhcnRfcGZuW25pZF0sIG5vZGVfZW5kX3BmbltuaWRdKTsKIAkJaWYgKG5vZGVfc3RhcnRfcGZuW25pZF0gPiBtYXhfcGZuKQogCQkJY29udGludWU7CisJCWlmICghbm9kZV9lbmRfcGZuW25pZF0pCisJCQljb250aW51ZTsKIAkJaWYgKG5vZGVfZW5kX3BmbltuaWRdID4gbWF4X3BmbikKIAkJCW5vZGVfZW5kX3BmbltuaWRdID0gbWF4X3BmbjsKIApAQCAtMjM3LDQxICsyNTMsNDggQEAKIAkJLyogbm93IHRoZSByb3VuZHVwIGlzIGNvcnJlY3QsIGNvbnZlcnQgdG8gUEFHRV9TSVpFIHBhZ2VzICovCiAJCXNpemUgPSBzaXplICogUFRSU19QRVJfUFRFOwogCi0JCS8qCi0JCSAqIFZhbGlkYXRlIHRoZSByZWdpb24gd2UgYXJlIGFsbG9jYXRpbmcgb25seSBjb250YWlucyB2YWxpZAotCQkgKiBwYWdlcy4KLQkJICovCi0JCWZvciAocGZuID0gbm9kZV9lbmRfcGZuW25pZF0gLSBzaXplOwotCQkgICAgIHBmbiA8IG5vZGVfZW5kX3BmbltuaWRdOyBwZm4rKykKLQkJCWlmICghcGFnZV9pc19yYW0ocGZuKSkKLQkJCQlicmVhazsKKwkJbm9kZV9rdmFfdGFyZ2V0ID0gcm91bmRfZG93bihub2RlX2VuZF9wZm5bbmlkXSAtIHNpemUsCisJCQkJCQkgUFRSU19QRVJfUFRFKTsKKwkJbm9kZV9rdmFfdGFyZ2V0IDw8PSBQQUdFX1NISUZUOworCQlkbyB7CisJCQlub2RlX2t2YV9maW5hbCA9IGZpbmRfZTgyMF9hcmVhKG5vZGVfa3ZhX3RhcmdldCwKKwkJCQkJKCh1NjQpbm9kZV9lbmRfcGZuW25pZF0pPDxQQUdFX1NISUZULAorCQkJCQkJKCh1NjQpc2l6ZSk8PFBBR0VfU0hJRlQsCisJCQkJCQlMQVJHRV9QQUdFX0JZVEVTKTsKKwkJCW5vZGVfa3ZhX3RhcmdldCAtPSBMQVJHRV9QQUdFX0JZVEVTOworCQl9IHdoaWxlIChub2RlX2t2YV9maW5hbCA9PSAtMVVMTCAmJgorCQkJIChub2RlX2t2YV90YXJnZXQ+PlBBR0VfU0hJRlQpID4gKG5vZGVfc3RhcnRfcGZuW25pZF0pKTsKIAotCQlpZiAocGZuICE9IG5vZGVfZW5kX3BmbltuaWRdKQotCQkJc2l6ZSA9IDA7CisJCWlmIChub2RlX2t2YV9maW5hbCA9PSAtMVVMTCkKKwkJCXBhbmljKCJDYW4gbm90IGdldCBrdmEgcmFtXG4iKTsKIAotCQlwcmludGsoIlJlc2VydmluZyAlbGQgcGFnZXMgb2YgS1ZBIGZvciBsbWVtX21hcCBvZiBub2RlICVkXG4iLAotCQkJCXNpemUsIG5pZCk7CiAJCW5vZGVfcmVtYXBfc2l6ZVtuaWRdID0gc2l6ZTsKIAkJbm9kZV9yZW1hcF9vZmZzZXRbbmlkXSA9IHJlc2VydmVfcGFnZXM7CiAJCXJlc2VydmVfcGFnZXMgKz0gc2l6ZTsKLQkJcHJpbnRrKCJTaHJpbmtpbmcgbm9kZSAlZCBmcm9tICVsZCBwYWdlcyB0byAlbGQgcGFnZXNcbiIsCi0JCQluaWQsIG5vZGVfZW5kX3BmbltuaWRdLCBub2RlX2VuZF9wZm5bbmlkXSAtIHNpemUpOworCQlwcmludGsoS0VSTl9ERUJVRyAiUmVzZXJ2aW5nICVsZCBwYWdlcyBvZiBLVkEgZm9yIGxtZW1fbWFwIG9mIgorCQkJCSAgIiBub2RlICVkIGF0ICVsbHhcbiIsCisJCQkJc2l6ZSwgbmlkLCBub2RlX2t2YV9maW5hbD4+UEFHRV9TSElGVCk7CiAKLQkJaWYgKG5vZGVfZW5kX3BmbltuaWRdICYgKFBUUlNfUEVSX1BURS0xKSkgewotCQkJLyoKLQkJCSAqIEFsaWduIG5vZGVfZW5kX3BmbltdIGFuZCBub2RlX3JlbWFwX3N0YXJ0X3BmbltdIHRvCi0JCQkgKiBwbWQgYm91bmRhcnkuIHJlbWFwX251bWFfa3ZhIHdpbGwgYmFyZiBvdGhlcndpc2UuCi0JCQkgKi8KLQkJCXByaW50aygiU2hyaW5raW5nIG5vZGUgJWQgZnVydGhlciBieSAlbGQgcGFnZXMgZm9yIHByb3BlciBhbGlnbm1lbnRcbiIsCi0JCQkJbmlkLCBub2RlX2VuZF9wZm5bbmlkXSAmIChQVFJTX1BFUl9QVEUtMSkpOwotCQkJc2l6ZSArPSAgbm9kZV9lbmRfcGZuW25pZF0gJiAoUFRSU19QRVJfUFRFLTEpOwotCQl9CisJCS8qCisJCSAqICBwcmV2ZW50IGt2YSBhZGRyZXNzIGJlbG93IG1heF9sb3dfcGZuIHdhbnQgaXQgb24gc3lzdGVtCisJCSAqICB3aXRoIGxlc3MgbWVtb3J5IGxhdGVyLgorCQkgKiAgbGF5b3V0IHdpbGwgYmU6IEtWQSBhZGRyZXNzICwgS1ZBIFJBTQorCQkgKgorCQkgKiAgd2UgYXJlIHN1cHBvc2VkIHRvIG9ubHkgcmVjb3JkIHRoZSBvbmUgbGVzcyB0aGVuIG1heF9sb3dfcGZuCisJCSAqICBidXQgd2UgY291bGQgaGF2ZSBzb21lIGhvbGUgaW4gaGlnaCBtZW1vcnksIGFuZCBpdCB3aWxsIG9ubHkKKwkJICogIGNoZWNrIHBhZ2VfaXNfcmFtKHBmbikgJiYgIXBhZ2VfaXNfcmVzZXJ2ZWRfZWFybHkocGZuKSB0byBkZWNpZGUKKwkJICogIHRvIHVzZSBpdCBhcyBmcmVlLgorCQkgKiAgU28gcmVzZXJ2ZV9lYXJseSBoZXJlLCBob3BlIHdlIGRvbid0IHJ1biBvdXQgb2YgdGhhdCBhcnJheQorCQkgKi8KKwkJcmVzZXJ2ZV9lYXJseShub2RlX2t2YV9maW5hbCwKKwkJCSAgICAgIG5vZGVfa3ZhX2ZpbmFsKygoKHU2NClzaXplKTw8UEFHRV9TSElGVCksCisJCQkgICAgICAiS1ZBIFJBTSIpOwogCi0JCW5vZGVfZW5kX3BmbltuaWRdIC09IHNpemU7Ci0JCW5vZGVfcmVtYXBfc3RhcnRfcGZuW25pZF0gPSBub2RlX2VuZF9wZm5bbmlkXTsKLQkJc2hyaW5rX2FjdGl2ZV9yYW5nZShuaWQsIG9sZF9lbmRfcGZuLCBub2RlX2VuZF9wZm5bbmlkXSk7CisJCW5vZGVfcmVtYXBfc3RhcnRfcGZuW25pZF0gPSBub2RlX2t2YV9maW5hbD4+UEFHRV9TSElGVDsKKwkJcmVtb3ZlX2FjdGl2ZV9yYW5nZShuaWQsIG5vZGVfcmVtYXBfc3RhcnRfcGZuW25pZF0sCisJCQkJCSBub2RlX3JlbWFwX3N0YXJ0X3BmbltuaWRdICsgc2l6ZSk7CiAJfQotCXByaW50aygiUmVzZXJ2aW5nIHRvdGFsIG9mICVsZCBwYWdlcyBmb3IgbnVtYSBLVkEgcmVtYXBcbiIsCisJcHJpbnRrKEtFUk5fSU5GTyAiUmVzZXJ2aW5nIHRvdGFsIG9mICVseCBwYWdlcyBmb3IgbnVtYSBLVkEgcmVtYXBcbiIsCiAJCQlyZXNlcnZlX3BhZ2VzKTsKIAlyZXR1cm4gcmVzZXJ2ZV9wYWdlczsKIH0KQEAgLTI4NSwzNyArMzA4LDE2IEBACiAJbm9kZV9yZW1hcF9hbGxvY192YWRkcltuaWRdID0gbm9kZV9yZW1hcF9zdGFydF92YWRkcltuaWRdICsKIAkJQUxJR04oc2l6ZW9mKHBnX2RhdGFfdCksIFBBR0VfU0laRSk7CiAKLQlwcmludGsgKCJub2RlICVkIHdpbGwgcmVtYXAgdG8gdmFkZHIgJTA4bHggLSAlMDhseFxuIiwgbmlkLAorCXByaW50ayhLRVJOX0RFQlVHICJub2RlICVkIHdpbGwgcmVtYXAgdG8gdmFkZHIgJTA4bHggLSAlMDhseFxuIiwgbmlkLAogCQkodWxvbmcpIG5vZGVfcmVtYXBfc3RhcnRfdmFkZHJbbmlkXSwKLQkJKHVsb25nKSBwZm5fdG9fa2FkZHIoaGlnaHN0YXJ0X3BmbgotCQkgICArIG5vZGVfcmVtYXBfb2Zmc2V0W25pZF0gKyBub2RlX3JlbWFwX3NpemVbbmlkXSkpOwotfQotI2Vsc2UKLXZvaWQgKmFsbG9jX3JlbWFwKGludCBuaWQsIHVuc2lnbmVkIGxvbmcgc2l6ZSkKLXsKLQlyZXR1cm4gTlVMTDsKKwkJKHVsb25nKSBub2RlX3JlbWFwX2VuZF92YWRkcltuaWRdKTsKIH0KIAotc3RhdGljIHVuc2lnbmVkIGxvbmcgY2FsY3VsYXRlX251bWFfcmVtYXBfcGFnZXModm9pZCkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIHZvaWQgaW5pdF9yZW1hcF9hbGxvY2F0b3IoaW50IG5pZCkKLXsKLX0KLQotdm9pZCBfX2luaXQgcmVtYXBfbnVtYV9rdmEodm9pZCkKLXsKLX0KLSNlbmRpZiAvKiBDT05GSUdfRElTQ09OVElHTUVNICovCi0KLWV4dGVybiB2b2lkIHNldHVwX2Jvb3RtZW1fYWxsb2NhdG9yKHZvaWQpOwotdW5zaWduZWQgbG9uZyBfX2luaXQgc2V0dXBfbWVtb3J5KHZvaWQpCit2b2lkIF9faW5pdCBpbml0bWVtX2luaXQodW5zaWduZWQgbG9uZyBzdGFydF9wZm4sCisJCQkJICB1bnNpZ25lZCBsb25nIGVuZF9wZm4pCiB7CiAJaW50IG5pZDsKLQl1bnNpZ25lZCBsb25nIHN5c3RlbV9zdGFydF9wZm4sIHN5c3RlbV9tYXhfbG93X3BmbjsKLQl1bnNpZ25lZCBsb25nIHdhc3RlZF9wYWdlczsKKwlsb25nIGt2YV90YXJnZXRfcGZuOwogCiAJLyoKIAkgKiBXaGVuIG1hcHBpbmcgYSBOVU1BIG1hY2hpbmUgd2UgYWxsb2NhdGUgdGhlIG5vZGVfbWVtX21hcCBhcnJheXMKQEAgLTMyNCwxMDkgKzMyNiw3NyBAQAogCSAqIHRoaXMgc3BhY2UgYW5kIHVzZSBpdCB0byBhZGp1c3QgdGhlIGJvdW5kYXJ5IGJldHdlZW4gWk9ORV9OT1JNQUwKIAkgKiBhbmQgWk9ORV9ISUdITUVNLgogCSAqLworCiAJZ2V0X21lbWNmZ19udW1hKCk7CiAKLQlrdmFfcGFnZXMgPSBjYWxjdWxhdGVfbnVtYV9yZW1hcF9wYWdlcygpOworCWt2YV9wYWdlcyA9IHJvdW5kX3VwKGNhbGN1bGF0ZV9udW1hX3JlbWFwX3BhZ2VzKCksIFBUUlNfUEVSX1BURSk7CiAKLQkvKiBwYXJ0aWFsbHkgdXNlZCBwYWdlcyBhcmUgbm90IHVzYWJsZSAtIHRodXMgcm91bmQgdXB3YXJkcyAqLwotCXN5c3RlbV9zdGFydF9wZm4gPSBtaW5fbG93X3BmbiA9IFBGTl9VUChpbml0X3BnX3RhYmxlc19lbmQpOworCWt2YV90YXJnZXRfcGZuID0gcm91bmRfZG93bihtYXhfbG93X3BmbiAtIGt2YV9wYWdlcywgUFRSU19QRVJfUFRFKTsKKwlkbyB7CisJCWt2YV9zdGFydF9wZm4gPSBmaW5kX2U4MjBfYXJlYShrdmFfdGFyZ2V0X3Bmbjw8UEFHRV9TSElGVCwKKwkJCQkJbWF4X2xvd19wZm48PFBBR0VfU0hJRlQsCisJCQkJCWt2YV9wYWdlczw8UEFHRV9TSElGVCwKKwkJCQkJUFRSU19QRVJfUFRFPDxQQUdFX1NISUZUKSA+PiBQQUdFX1NISUZUOworCQlrdmFfdGFyZ2V0X3BmbiAtPSBQVFJTX1BFUl9QVEU7CisJfSB3aGlsZSAoa3ZhX3N0YXJ0X3BmbiA9PSAtMVVMICYmIGt2YV90YXJnZXRfcGZuID4gbWluX2xvd19wZm4pOwogCi0Ja3ZhX3N0YXJ0X3BmbiA9IGZpbmRfbWF4X2xvd19wZm4oKSAtIGt2YV9wYWdlczsKKwlpZiAoa3ZhX3N0YXJ0X3BmbiA9PSAtMVVMKQorCQlwYW5pYygiQ2FuIG5vdCBnZXQga3ZhIHNwYWNlXG4iKTsKIAotI2lmZGVmIENPTkZJR19CTEtfREVWX0lOSVRSRAotCS8qIE51bWEga3ZhIGFyZWEgaXMgYmVsb3cgdGhlIGluaXRyZCAqLwotCWlmIChpbml0cmRfc3RhcnQpCi0JCWt2YV9zdGFydF9wZm4gPSBQRk5fRE9XTihpbml0cmRfc3RhcnQgLSBQQUdFX09GRlNFVCkKLQkJCS0ga3ZhX3BhZ2VzOwotI2VuZGlmCi0KLQkvKgotCSAqIFdlIHdhc3RlIHBhZ2VzIHBhc3QgYXQgdGhlIGVuZCBvZiB0aGUgS1ZBIGZvciBubyBnb29kIHJlYXNvbiBvdGhlcgotCSAqIHRoYW4gaG93IGl0IGlzIGxvY2F0ZWQuIFRoaXMgaXMgYmFkLgotCSAqLwotCXdhc3RlZF9wYWdlcyA9IGt2YV9zdGFydF9wZm4gJiAoUFRSU19QRVJfUFRFLTEpOwotCWt2YV9zdGFydF9wZm4gLT0gd2FzdGVkX3BhZ2VzOwotCWt2YV9wYWdlcyArPSB3YXN0ZWRfcGFnZXM7Ci0KLQlzeXN0ZW1fbWF4X2xvd19wZm4gPSBtYXhfbG93X3BmbiA9IGZpbmRfbWF4X2xvd19wZm4oKTsKLQlwcmludGsoImt2YV9zdGFydF9wZm4gfiAlbGQgZmluZF9tYXhfbG93X3BmbigpIH4gJWxkXG4iLAorCXByaW50ayhLRVJOX0lORk8gImt2YV9zdGFydF9wZm4gfiAlbHggbWF4X2xvd19wZm4gfiAlbHhcbiIsCiAJCWt2YV9zdGFydF9wZm4sIG1heF9sb3dfcGZuKTsKLQlwcmludGsoIm1heF9wZm4gPSAlbGRcbiIsIG1heF9wZm4pOworCXByaW50ayhLRVJOX0lORk8gIm1heF9wZm4gPSAlbHhcbiIsIG1heF9wZm4pOworCisJLyogYXZvaWQgY2xhc2ggd2l0aCBpbml0cmQgKi8KKwlyZXNlcnZlX2Vhcmx5KGt2YV9zdGFydF9wZm48PFBBR0VfU0hJRlQsCisJCSAgICAgIChrdmFfc3RhcnRfcGZuICsga3ZhX3BhZ2VzKTw8UEFHRV9TSElGVCwKKwkJICAgICAiS1ZBIFBHIik7CiAjaWZkZWYgQ09ORklHX0hJR0hNRU0KIAloaWdoc3RhcnRfcGZuID0gaGlnaGVuZF9wZm4gPSBtYXhfcGZuOwotCWlmIChtYXhfcGZuID4gc3lzdGVtX21heF9sb3dfcGZuKQotCQloaWdoc3RhcnRfcGZuID0gc3lzdGVtX21heF9sb3dfcGZuOworCWlmIChtYXhfcGZuID4gbWF4X2xvd19wZm4pCisJCWhpZ2hzdGFydF9wZm4gPSBtYXhfbG93X3BmbjsKIAlwcmludGsoS0VSTl9OT1RJQ0UgIiVsZE1CIEhJR0hNRU0gYXZhaWxhYmxlLlxuIiwKIAkgICAgICAgcGFnZXNfdG9fbWIoaGlnaGVuZF9wZm4gLSBoaWdoc3RhcnRfcGZuKSk7CiAJbnVtX3BoeXNwYWdlcyA9IGhpZ2hlbmRfcGZuOwogCWhpZ2hfbWVtb3J5ID0gKHZvaWQgKikgX192YShoaWdoc3RhcnRfcGZuICogUEFHRV9TSVpFIC0gMSkgKyAxOwogI2Vsc2UKLQludW1fcGh5c3BhZ2VzID0gc3lzdGVtX21heF9sb3dfcGZuOwotCWhpZ2hfbWVtb3J5ID0gKHZvaWQgKikgX192YShzeXN0ZW1fbWF4X2xvd19wZm4gKiBQQUdFX1NJWkUgLSAxKSArIDE7CisJbnVtX3BoeXNwYWdlcyA9IG1heF9sb3dfcGZuOworCWhpZ2hfbWVtb3J5ID0gKHZvaWQgKikgX192YShtYXhfbG93X3BmbiAqIFBBR0VfU0laRSAtIDEpICsgMTsKICNlbmRpZgogCXByaW50ayhLRVJOX05PVElDRSAiJWxkTUIgTE9XTUVNIGF2YWlsYWJsZS5cbiIsCi0JCQlwYWdlc190b19tYihzeXN0ZW1fbWF4X2xvd19wZm4pKTsKLQlwcmludGsoIm1pbl9sb3dfcGZuID0gJWxkLCBtYXhfbG93X3BmbiA9ICVsZCwgaGlnaHN0YXJ0X3BmbiA9ICVsZFxuIiwgCi0JCQltaW5fbG93X3BmbiwgbWF4X2xvd19wZm4sIGhpZ2hzdGFydF9wZm4pOworCQkJcGFnZXNfdG9fbWIobWF4X2xvd19wZm4pKTsKKwlwcmludGsoS0VSTl9ERUJVRyAibWF4X2xvd19wZm4gPSAlbHgsIGhpZ2hzdGFydF9wZm4gPSAlbHhcbiIsCisJCQltYXhfbG93X3BmbiwgaGlnaHN0YXJ0X3Bmbik7CiAKLQlwcmludGsoIkxvdyBtZW1vcnkgZW5kcyBhdCB2YWRkciAlMDhseFxuIiwKKwlwcmludGsoS0VSTl9ERUJVRyAiTG93IG1lbW9yeSBlbmRzIGF0IHZhZGRyICUwOGx4XG4iLAogCQkJKHVsb25nKSBwZm5fdG9fa2FkZHIobWF4X2xvd19wZm4pKTsKIAlmb3JfZWFjaF9vbmxpbmVfbm9kZShuaWQpIHsKIAkJaW5pdF9yZW1hcF9hbGxvY2F0b3IobmlkKTsKIAogCQlhbGxvY2F0ZV9wZ2RhdChuaWQpOwogCX0KLQlwcmludGsoIkhpZ2ggbWVtb3J5IHN0YXJ0cyBhdCB2YWRkciAlMDhseFxuIiwKKwlyZW1hcF9udW1hX2t2YSgpOworCisJcHJpbnRrKEtFUk5fREVCVUcgIkhpZ2ggbWVtb3J5IHN0YXJ0cyBhdCB2YWRkciAlMDhseFxuIiwKIAkJCSh1bG9uZykgcGZuX3RvX2thZGRyKGhpZ2hzdGFydF9wZm4pKTsKIAlmb3JfZWFjaF9vbmxpbmVfbm9kZShuaWQpCiAJCXByb3BhZ2F0ZV9lODIwX21hcF9ub2RlKG5pZCk7CiAKLQltZW1zZXQoTk9ERV9EQVRBKDApLCAwLCBzaXplb2Yoc3RydWN0IHBnbGlzdF9kYXRhKSk7CisJZm9yX2VhY2hfb25saW5lX25vZGUobmlkKQorCQltZW1zZXQoTk9ERV9EQVRBKG5pZCksIDAsIHNpemVvZihzdHJ1Y3QgcGdsaXN0X2RhdGEpKTsKKwogCU5PREVfREFUQSgwKS0+YmRhdGEgPSAmbm9kZTBfYmRhdGE7CiAJc2V0dXBfYm9vdG1lbV9hbGxvY2F0b3IoKTsKLQlyZXR1cm4gbWF4X2xvd19wZm47CiB9CiAKLXZvaWQgX19pbml0IG51bWFfa3ZhX3Jlc2VydmUodm9pZCkKLXsKLQlpZiAoa3ZhX3BhZ2VzKQotCQlyZXNlcnZlX2Jvb3RtZW0oUEZOX1BIWVMoa3ZhX3N0YXJ0X3BmbiksIFBGTl9QSFlTKGt2YV9wYWdlcyksCi0JCQkJQk9PVE1FTV9ERUZBVUxUKTsKLX0KLQotdm9pZCBfX2luaXQgem9uZV9zaXplc19pbml0KHZvaWQpCi17Ci0JaW50IG5pZDsKLQl1bnNpZ25lZCBsb25nIG1heF96b25lX3BmbnNbTUFYX05SX1pPTkVTXTsKLQltZW1zZXQobWF4X3pvbmVfcGZucywgMCwgc2l6ZW9mKG1heF96b25lX3BmbnMpKTsKLQltYXhfem9uZV9wZm5zW1pPTkVfRE1BXSA9Ci0JCXZpcnRfdG9fcGh5cygoY2hhciAqKU1BWF9ETUFfQUREUkVTUykgPj4gUEFHRV9TSElGVDsKLQltYXhfem9uZV9wZm5zW1pPTkVfTk9STUFMXSA9IG1heF9sb3dfcGZuOwotI2lmZGVmIENPTkZJR19ISUdITUVNCi0JbWF4X3pvbmVfcGZuc1taT05FX0hJR0hNRU1dID0gaGlnaGVuZF9wZm47Ci0jZW5kaWYKLQotCS8qIElmIFNSQVQgaGFzIG5vdCByZWdpc3RlcmVkIG1lbW9yeSwgcmVnaXN0ZXIgaXQgbm93ICovCi0JaWYgKGZpbmRfbWF4X3Bmbl93aXRoX2FjdGl2ZV9yZWdpb25zKCkgPT0gMCkgewotCQlmb3JfZWFjaF9vbmxpbmVfbm9kZShuaWQpIHsKLQkJCWlmIChub2RlX2hhc19vbmxpbmVfbWVtKG5pZCkpCi0JCQkJYWRkX2FjdGl2ZV9yYW5nZShuaWQsIG5vZGVfc3RhcnRfcGZuW25pZF0sCi0JCQkJCQkJbm9kZV9lbmRfcGZuW25pZF0pOwotCQl9Ci0JfQotCi0JZnJlZV9hcmVhX2luaXRfbm9kZXMobWF4X3pvbmVfcGZucyk7Ci0JcmV0dXJuOwotfQotCi12b2lkIF9faW5pdCBzZXRfaGlnaG1lbV9wYWdlc19pbml0KGludCBiYWRfcHBybykgCit2b2lkIF9faW5pdCBzZXRfaGlnaG1lbV9wYWdlc19pbml0KHZvaWQpCiB7CiAjaWZkZWYgQ09ORklHX0hJR0hNRU0KIAlzdHJ1Y3Qgem9uZSAqem9uZTsKLQlzdHJ1Y3QgcGFnZSAqcGFnZTsKKwlpbnQgbmlkOwogCiAJZm9yX2VhY2hfem9uZSh6b25lKSB7Ci0JCXVuc2lnbmVkIGxvbmcgbm9kZV9wZm4sIHpvbmVfc3RhcnRfcGZuLCB6b25lX2VuZF9wZm47CisJCXVuc2lnbmVkIGxvbmcgem9uZV9zdGFydF9wZm4sIHpvbmVfZW5kX3BmbjsKIAogCQlpZiAoIWlzX2hpZ2htZW0oem9uZSkpCiAJCQljb250aW51ZTsKQEAgLTQzNCwxNiArNDA0LDEyIEBACiAJCXpvbmVfc3RhcnRfcGZuID0gem9uZS0+em9uZV9zdGFydF9wZm47CiAJCXpvbmVfZW5kX3BmbiA9IHpvbmVfc3RhcnRfcGZuICsgem9uZS0+c3Bhbm5lZF9wYWdlczsKIAotCQlwcmludGsoIkluaXRpYWxpemluZyAlcyBmb3Igbm9kZSAlZCAoJTA4bHg6JTA4bHgpXG4iLAotCQkJCXpvbmUtPm5hbWUsIHpvbmVfdG9fbmlkKHpvbmUpLAotCQkJCXpvbmVfc3RhcnRfcGZuLCB6b25lX2VuZF9wZm4pOworCQluaWQgPSB6b25lX3RvX25pZCh6b25lKTsKKwkJcHJpbnRrKEtFUk5fSU5GTyAiSW5pdGlhbGl6aW5nICVzIGZvciBub2RlICVkICglMDhseDolMDhseClcbiIsCisJCQkJem9uZS0+bmFtZSwgbmlkLCB6b25lX3N0YXJ0X3Bmbiwgem9uZV9lbmRfcGZuKTsKIAotCQlmb3IgKG5vZGVfcGZuID0gem9uZV9zdGFydF9wZm47IG5vZGVfcGZuIDwgem9uZV9lbmRfcGZuOyBub2RlX3BmbisrKSB7Ci0JCQlpZiAoIXBmbl92YWxpZChub2RlX3BmbikpCi0JCQkJY29udGludWU7Ci0JCQlwYWdlID0gcGZuX3RvX3BhZ2Uobm9kZV9wZm4pOwotCQkJYWRkX29uZV9oaWdocGFnZV9pbml0KHBhZ2UsIG5vZGVfcGZuLCBiYWRfcHBybyk7Ci0JCX0KKwkJYWRkX2hpZ2hwYWdlc193aXRoX2FjdGl2ZV9yZWdpb25zKG5pZCwgem9uZV9zdGFydF9wZm4sCisJCQkJIHpvbmVfZW5kX3Bmbik7CiAJfQogCXRvdGFscmFtX3BhZ2VzICs9IHRvdGFsaGlnaF9wYWdlczsKICNlbmRpZgpAQCAtNDc2LDMgKzQ0Miw0IEBACiAKIEVYUE9SVF9TWU1CT0xfR1BMKG1lbW9yeV9hZGRfcGh5c2FkZHJfdG9fbmlkKTsKICNlbmRpZgorCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9tbS9kdW1wX3BhZ2V0YWJsZXMuYyBiL2FyY2gveDg2L21tL2R1bXBfcGFnZXRhYmxlcy5jCmluZGV4IDJjMjRiZWEuLjBiYjBjYWUgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L21tL2R1bXBfcGFnZXRhYmxlcy5jCisrKyBiL2FyY2gveDg2L21tL2R1bXBfcGFnZXRhYmxlcy5jCkBAIC00Miw3ICs0Miw3IEBACiAJeyAwLCAiVXNlciBTcGFjZSIgfSwKICNpZmRlZiBDT05GSUdfWDg2XzY0CiAJeyAweDgwMDAwMDAwMDAwMDAwMDBVTCwgIktlcm5lbCBTcGFjZSIgfSwKLQl7IDB4ZmZmZjgxMDAwMDAwMDAwMFVMLCAiTG93IEtlcm5lbCBNYXBwaW5nIiB9LAorCXsgUEFHRV9PRkZTRVQsCQkiTG93IEtlcm5lbCBNYXBwaW5nIiB9LAogCXsgVk1BTExPQ19TVEFSVCwgICAgICAgICJ2bWFsbG9jKCkgQXJlYSIgfSwKIAl7IFZNRU1NQVBfU1RBUlQsICAgICAgICAiVm1lbW1hcCIgfSwKIAl7IF9fU1RBUlRfS0VSTkVMX21hcCwgICAiSGlnaCBLZXJuZWwgTWFwcGluZyIgfSwKZGlmZiAtLWdpdCBhL2FyY2gveDg2L21tL2ZhdWx0LmMgYi9hcmNoL3g4Ni9tbS9mYXVsdC5jCmluZGV4IDhiY2I2ZjQuLjQ1NWYzZmUgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L21tL2ZhdWx0LmMKKysrIGIvYXJjaC94ODYvbW0vZmF1bHQuYwpAQCAtMTAsNiArMTAsNyBAQAogI2luY2x1ZGUgPGxpbnV4L3N0cmluZy5oPgogI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CiAjaW5jbHVkZSA8bGludXgvcHRyYWNlLmg+CisjaW5jbHVkZSA8bGludXgvbW1pb3RyYWNlLmg+CiAjaW5jbHVkZSA8bGludXgvbW1hbi5oPgogI2luY2x1ZGUgPGxpbnV4L21tLmg+CiAjaW5jbHVkZSA8bGludXgvc21wLmg+CkBAIC00OSwxNyArNTAsMjMgQEAKICNkZWZpbmUgUEZfUlNWRAkJKDE8PDMpCiAjZGVmaW5lIFBGX0lOU1RSCSgxPDw0KQogCitzdGF0aWMgaW5saW5lIGludCBrbW1pb19mYXVsdChzdHJ1Y3QgcHRfcmVncyAqcmVncywgdW5zaWduZWQgbG9uZyBhZGRyKQoreworI2lmZGVmIENPTkZJR19NTUlPVFJBQ0VfSE9PS1MKKwlpZiAodW5saWtlbHkoaXNfa21taW9fYWN0aXZlKCkpKQorCQlpZiAoa21taW9faGFuZGxlcihyZWdzLCBhZGRyKSA9PSAxKQorCQkJcmV0dXJuIC0xOworI2VuZGlmCisJcmV0dXJuIDA7Cit9CisKIHN0YXRpYyBpbmxpbmUgaW50IG5vdGlmeV9wYWdlX2ZhdWx0KHN0cnVjdCBwdF9yZWdzICpyZWdzKQogewogI2lmZGVmIENPTkZJR19LUFJPQkVTCiAJaW50IHJldCA9IDA7CiAKIAkvKiBrcHJvYmVfcnVubmluZygpIG5lZWRzIHNtcF9wcm9jZXNzb3JfaWQoKSAqLwotI2lmZGVmIENPTkZJR19YODZfMzIKIAlpZiAoIXVzZXJfbW9kZV92bShyZWdzKSkgewotI2Vsc2UKLQlpZiAoIXVzZXJfbW9kZShyZWdzKSkgewotI2VuZGlmCiAJCXByZWVtcHRfZGlzYWJsZSgpOwogCQlpZiAoa3Byb2JlX3J1bm5pbmcoKSAmJiBrcHJvYmVfZmF1bHRfaGFuZGxlcihyZWdzLCAxNCkpCiAJCQlyZXQgPSAxOwpAQCAtMzk2LDExICs0MDMsNyBAQAogCQlwcmludGsoS0VSTl9DT05UICJOVUxMIHBvaW50ZXIgZGVyZWZlcmVuY2UiKTsKIAllbHNlCiAJCXByaW50ayhLRVJOX0NPTlQgInBhZ2luZyByZXF1ZXN0Iik7Ci0jaWZkZWYgQ09ORklHX1g4Nl8zMgotCXByaW50ayhLRVJOX0NPTlQgIiBhdCAlMDhseFxuIiwgYWRkcmVzcyk7Ci0jZWxzZQotCXByaW50ayhLRVJOX0NPTlQgIiBhdCAlMDE2bHhcbiIsIGFkZHJlc3MpOwotI2VuZGlmCisJcHJpbnRrKEtFUk5fQ09OVCAiIGF0ICVwXG4iLCAodm9pZCAqKSBhZGRyZXNzKTsKIAlwcmludGsoS0VSTl9BTEVSVCAiSVA6Iik7CiAJcHJpbnRrX2FkZHJlc3MocmVncy0+aXAsIDEpOwogCWR1bXBfcGFnZXRhYmxlKGFkZHJlc3MpOwpAQCAtNjA2LDYgKzYwOSw4IEBACiAKIAlpZiAobm90aWZ5X3BhZ2VfZmF1bHQocmVncykpCiAJCXJldHVybjsKKwlpZiAodW5saWtlbHkoa21taW9fZmF1bHQocmVncywgYWRkcmVzcykpKQorCQlyZXR1cm47CiAKIAkvKgogCSAqIFdlIGZhdWx0LWluIGtlcm5lbC1zcGFjZSB2aXJ0dWFsIG1lbW9yeSBvbi1kZW1hbmQuIFRoZQpAQCAtODAwLDE0ICs4MDUsMTAgQEAKIAkJaWYgKHNob3dfdW5oYW5kbGVkX3NpZ25hbHMgJiYgdW5oYW5kbGVkX3NpZ25hbCh0c2ssIFNJR1NFR1YpICYmCiAJCSAgICBwcmludGtfcmF0ZWxpbWl0KCkpIHsKIAkJCXByaW50aygKLSNpZmRlZiBDT05GSUdfWDg2XzMyCi0JCQkiJXMlc1slZF06IHNlZ2ZhdWx0IGF0ICVseCBpcCAlMDhseCBzcCAlMDhseCBlcnJvciAlbHgiLAotI2Vsc2UKLQkJCSIlcyVzWyVkXTogc2VnZmF1bHQgYXQgJWx4IGlwICVseCBzcCAlbHggZXJyb3IgJWx4IiwKLSNlbmRpZgorCQkJIiVzJXNbJWRdOiBzZWdmYXVsdCBhdCAlbHggaXAgJXAgc3AgJXAgZXJyb3IgJWx4IiwKIAkJCXRhc2tfcGlkX25yKHRzaykgPiAxID8gS0VSTl9JTkZPIDogS0VSTl9FTUVSRywKLQkJCXRzay0+Y29tbSwgdGFza19waWRfbnIodHNrKSwgYWRkcmVzcywgcmVncy0+aXAsCi0JCQlyZWdzLT5zcCwgZXJyb3JfY29kZSk7CisJCQl0c2stPmNvbW0sIHRhc2tfcGlkX25yKHRzayksIGFkZHJlc3MsCisJCQkodm9pZCAqKSByZWdzLT5pcCwgKHZvaWQgKikgcmVncy0+c3AsIGVycm9yX2NvZGUpOwogCQkJcHJpbnRfdm1hX2FkZHIoIiBpbiAiLCByZWdzLT5pcCk7CiAJCQlwcmludGsoIlxuIik7CiAJCX0KQEAgLTkxNSwxNCArOTE2LDcgQEAKIHZvaWQgdm1hbGxvY19zeW5jX2FsbCh2b2lkKQogewogI2lmZGVmIENPTkZJR19YODZfMzIKLQkvKgotCSAqIE5vdGUgdGhhdCByYWNlcyBpbiB0aGUgdXBkYXRlcyBvZiBpbnN5bmMgYW5kIHN0YXJ0IGFyZW4ndAotCSAqIHByb2JsZW1hdGljOiBpbnN5bmMgY2FuIG9ubHkgZ2V0IHNldCBiaXRzIGFkZGVkLCBhbmQgdXBkYXRlcyB0bwotCSAqIHN0YXJ0IGFyZSBvbmx5IGltcHJvdmluZyBwZXJmb3JtYW5jZSAod2l0aG91dCBhZmZlY3RpbmcgY29ycmVjdG5lc3MKLQkgKiBpZiB1bmRvbmUpLgotCSAqLwotCXN0YXRpYyBERUNMQVJFX0JJVE1BUChpbnN5bmMsIFBUUlNfUEVSX1BHRCk7Ci0Jc3RhdGljIHVuc2lnbmVkIGxvbmcgc3RhcnQgPSBUQVNLX1NJWkU7CisJdW5zaWduZWQgbG9uZyBzdGFydCA9IFZNQUxMT0NfU1RBUlQgJiBQR0RJUl9NQVNLOwogCXVuc2lnbmVkIGxvbmcgYWRkcmVzczsKIAogCWlmIChTSEFSRURfS0VSTkVMX1BNRCkKQEAgLTkzMCw1NiArOTI0LDM4IEBACiAKIAlCVUlMRF9CVUdfT04oVEFTS19TSVpFICYgflBHRElSX01BU0spOwogCWZvciAoYWRkcmVzcyA9IHN0YXJ0OyBhZGRyZXNzID49IFRBU0tfU0laRTsgYWRkcmVzcyArPSBQR0RJUl9TSVpFKSB7Ci0JCWlmICghdGVzdF9iaXQocGdkX2luZGV4KGFkZHJlc3MpLCBpbnN5bmMpKSB7Ci0JCQl1bnNpZ25lZCBsb25nIGZsYWdzOwotCQkJc3RydWN0IHBhZ2UgKnBhZ2U7CisJCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisJCXN0cnVjdCBwYWdlICpwYWdlOwogCi0JCQlzcGluX2xvY2tfaXJxc2F2ZSgmcGdkX2xvY2ssIGZsYWdzKTsKLQkJCWxpc3RfZm9yX2VhY2hfZW50cnkocGFnZSwgJnBnZF9saXN0LCBscnUpIHsKLQkJCQlpZiAoIXZtYWxsb2Nfc3luY19vbmUocGFnZV9hZGRyZXNzKHBhZ2UpLAotCQkJCQkJICAgICAgYWRkcmVzcykpCi0JCQkJCWJyZWFrOwotCQkJfQotCQkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcGdkX2xvY2ssIGZsYWdzKTsKLQkJCWlmICghcGFnZSkKLQkJCQlzZXRfYml0KHBnZF9pbmRleChhZGRyZXNzKSwgaW5zeW5jKTsKKwkJc3Bpbl9sb2NrX2lycXNhdmUoJnBnZF9sb2NrLCBmbGFncyk7CisJCWxpc3RfZm9yX2VhY2hfZW50cnkocGFnZSwgJnBnZF9saXN0LCBscnUpIHsKKwkJCWlmICghdm1hbGxvY19zeW5jX29uZShwYWdlX2FkZHJlc3MocGFnZSksCisJCQkJCSAgICAgIGFkZHJlc3MpKQorCQkJCWJyZWFrOwogCQl9Ci0JCWlmIChhZGRyZXNzID09IHN0YXJ0ICYmIHRlc3RfYml0KHBnZF9pbmRleChhZGRyZXNzKSwgaW5zeW5jKSkKLQkJCXN0YXJ0ID0gYWRkcmVzcyArIFBHRElSX1NJWkU7CisJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnBnZF9sb2NrLCBmbGFncyk7CiAJfQogI2Vsc2UgLyogQ09ORklHX1g4Nl82NCAqLwotCS8qCi0JICogTm90ZSB0aGF0IHJhY2VzIGluIHRoZSB1cGRhdGVzIG9mIGluc3luYyBhbmQgc3RhcnQgYXJlbid0Ci0JICogcHJvYmxlbWF0aWM6IGluc3luYyBjYW4gb25seSBnZXQgc2V0IGJpdHMgYWRkZWQsIGFuZCB1cGRhdGVzIHRvCi0JICogc3RhcnQgYXJlIG9ubHkgaW1wcm92aW5nIHBlcmZvcm1hbmNlICh3aXRob3V0IGFmZmVjdGluZyBjb3JyZWN0bmVzcwotCSAqIGlmIHVuZG9uZSkuCi0JICovCi0Jc3RhdGljIERFQ0xBUkVfQklUTUFQKGluc3luYywgUFRSU19QRVJfUEdEKTsKLQlzdGF0aWMgdW5zaWduZWQgbG9uZyBzdGFydCA9IFZNQUxMT0NfU1RBUlQgJiBQR0RJUl9NQVNLOworCXVuc2lnbmVkIGxvbmcgc3RhcnQgPSBWTUFMTE9DX1NUQVJUICYgUEdESVJfTUFTSzsKIAl1bnNpZ25lZCBsb25nIGFkZHJlc3M7CiAKIAlmb3IgKGFkZHJlc3MgPSBzdGFydDsgYWRkcmVzcyA8PSBWTUFMTE9DX0VORDsgYWRkcmVzcyArPSBQR0RJUl9TSVpFKSB7Ci0JCWlmICghdGVzdF9iaXQocGdkX2luZGV4KGFkZHJlc3MpLCBpbnN5bmMpKSB7Ci0JCQljb25zdCBwZ2RfdCAqcGdkX3JlZiA9IHBnZF9vZmZzZXRfayhhZGRyZXNzKTsKLQkJCXVuc2lnbmVkIGxvbmcgZmxhZ3M7Ci0JCQlzdHJ1Y3QgcGFnZSAqcGFnZTsKKwkJY29uc3QgcGdkX3QgKnBnZF9yZWYgPSBwZ2Rfb2Zmc2V0X2soYWRkcmVzcyk7CisJCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisJCXN0cnVjdCBwYWdlICpwYWdlOwogCi0JCQlpZiAocGdkX25vbmUoKnBnZF9yZWYpKQotCQkJCWNvbnRpbnVlOwotCQkJc3Bpbl9sb2NrX2lycXNhdmUoJnBnZF9sb2NrLCBmbGFncyk7Ci0JCQlsaXN0X2Zvcl9lYWNoX2VudHJ5KHBhZ2UsICZwZ2RfbGlzdCwgbHJ1KSB7Ci0JCQkJcGdkX3QgKnBnZDsKLQkJCQlwZ2QgPSAocGdkX3QgKilwYWdlX2FkZHJlc3MocGFnZSkgKyBwZ2RfaW5kZXgoYWRkcmVzcyk7Ci0JCQkJaWYgKHBnZF9ub25lKCpwZ2QpKQotCQkJCQlzZXRfcGdkKHBnZCwgKnBnZF9yZWYpOwotCQkJCWVsc2UKLQkJCQkJQlVHX09OKHBnZF9wYWdlX3ZhZGRyKCpwZ2QpICE9IHBnZF9wYWdlX3ZhZGRyKCpwZ2RfcmVmKSk7Ci0JCQl9Ci0JCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZwZ2RfbG9jaywgZmxhZ3MpOwotCQkJc2V0X2JpdChwZ2RfaW5kZXgoYWRkcmVzcyksIGluc3luYyk7CisJCWlmIChwZ2Rfbm9uZSgqcGdkX3JlZikpCisJCQljb250aW51ZTsKKwkJc3Bpbl9sb2NrX2lycXNhdmUoJnBnZF9sb2NrLCBmbGFncyk7CisJCWxpc3RfZm9yX2VhY2hfZW50cnkocGFnZSwgJnBnZF9saXN0LCBscnUpIHsKKwkJCXBnZF90ICpwZ2Q7CisJCQlwZ2QgPSAocGdkX3QgKilwYWdlX2FkZHJlc3MocGFnZSkgKyBwZ2RfaW5kZXgoYWRkcmVzcyk7CisJCQlpZiAocGdkX25vbmUoKnBnZCkpCisJCQkJc2V0X3BnZChwZ2QsICpwZ2RfcmVmKTsKKwkJCWVsc2UKKwkJCQlCVUdfT04ocGdkX3BhZ2VfdmFkZHIoKnBnZCkgIT0gcGdkX3BhZ2VfdmFkZHIoKnBnZF9yZWYpKTsKIAkJfQotCQlpZiAoYWRkcmVzcyA9PSBzdGFydCkKLQkJCXN0YXJ0ID0gYWRkcmVzcyArIFBHRElSX1NJWkU7CisJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnBnZF9sb2NrLCBmbGFncyk7CiAJfQogI2VuZGlmCiB9CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9tbS9pbml0XzMyLmMgYi9hcmNoL3g4Ni9tbS9pbml0XzMyLmMKaW5kZXggZWMzMGQxMC4uOTY4OWE1MSAxMDA2NDQKLS0tIGEvYXJjaC94ODYvbW0vaW5pdF8zMi5jCisrKyBiL2FyY2gveDg2L21tL2luaXRfMzIuYwpAQCAtNTAsNiArNTAsNyBAQAogCiB1bnNpZ25lZCBpbnQgX19WTUFMTE9DX1JFU0VSVkUgPSAxMjggPDwgMjA7CiAKK3Vuc2lnbmVkIGxvbmcgbWF4X2xvd19wZm5fbWFwcGVkOwogdW5zaWduZWQgbG9uZyBtYXhfcGZuX21hcHBlZDsKIAogREVGSU5FX1BFUl9DUFUoc3RydWN0IG1tdV9nYXRoZXIsIG1tdV9nYXRoZXJzKTsKQEAgLTU3LDYgKzU4LDI3IEBACiAKIHN0YXRpYyBub2lubGluZSBpbnQgZG9fdGVzdF93cF9iaXQodm9pZCk7CiAKKworc3RhdGljIHVuc2lnbmVkIGxvbmcgX19pbml0ZGF0YSB0YWJsZV9zdGFydDsKK3N0YXRpYyB1bnNpZ25lZCBsb25nIF9fbWVtaW5pdGRhdGEgdGFibGVfZW5kOworc3RhdGljIHVuc2lnbmVkIGxvbmcgX19tZW1pbml0ZGF0YSB0YWJsZV90b3A7CisKK3N0YXRpYyBpbnQgX19pbml0ZGF0YSBhZnRlcl9pbml0X2Jvb3RtZW07CisKK3N0YXRpYyBfX2luaXQgdm9pZCAqYWxsb2NfbG93X3BhZ2UodW5zaWduZWQgbG9uZyAqcGh5cykKK3sKKwl1bnNpZ25lZCBsb25nIHBmbiA9IHRhYmxlX2VuZCsrOworCXZvaWQgKmFkcjsKKworCWlmIChwZm4gPj0gdGFibGVfdG9wKQorCQlwYW5pYygiYWxsb2NfbG93X3BhZ2U6IHJhbiBvdXQgb2YgbWVtb3J5Iik7CisKKwlhZHIgPSBfX3ZhKHBmbiAqIFBBR0VfU0laRSk7CisJbWVtc2V0KGFkciwgMCwgUEFHRV9TSVpFKTsKKwkqcGh5cyAgPSBwZm4gKiBQQUdFX1NJWkU7CisJcmV0dXJuIGFkcjsKK30KKwogLyoKICAqIENyZWF0ZXMgYSBtaWRkbGUgcGFnZSB0YWJsZSBhbmQgcHV0cyBhIHBvaW50ZXIgdG8gaXQgaW4gdGhlCiAgKiBnaXZlbiBnbG9iYWwgZGlyZWN0b3J5IGVudHJ5LiBUaGlzIG9ubHkgcmV0dXJucyB0aGUgZ2QgZW50cnkKQEAgLTY4LDkgKzkwLDEyIEBACiAJcG1kX3QgKnBtZF90YWJsZTsKIAogI2lmZGVmIENPTkZJR19YODZfUEFFCisJdW5zaWduZWQgbG9uZyBwaHlzOwogCWlmICghKHBnZF92YWwoKnBnZCkgJiBfUEFHRV9QUkVTRU5UKSkgewotCQlwbWRfdGFibGUgPSAocG1kX3QgKikgYWxsb2NfYm9vdG1lbV9sb3dfcGFnZXMoUEFHRV9TSVpFKTsKLQorCQlpZiAoYWZ0ZXJfaW5pdF9ib290bWVtKQorCQkJcG1kX3RhYmxlID0gKHBtZF90ICopYWxsb2NfYm9vdG1lbV9sb3dfcGFnZXMoUEFHRV9TSVpFKTsKKwkJZWxzZQorCQkJcG1kX3RhYmxlID0gKHBtZF90ICopYWxsb2NfbG93X3BhZ2UoJnBoeXMpOwogCQlwYXJhdmlydF9hbGxvY19wbWQoJmluaXRfbW0sIF9fcGEocG1kX3RhYmxlKSA+PiBQQUdFX1NISUZUKTsKIAkJc2V0X3BnZChwZ2QsIF9fcGdkKF9fcGEocG1kX3RhYmxlKSB8IF9QQUdFX1BSRVNFTlQpKTsKIAkJcHVkID0gcHVkX29mZnNldChwZ2QsIDApOwpAQCAtOTIsMTIgKzExNywxNiBAQAogCWlmICghKHBtZF92YWwoKnBtZCkgJiBfUEFHRV9QUkVTRU5UKSkgewogCQlwdGVfdCAqcGFnZV90YWJsZSA9IE5VTEw7CiAKKwkJaWYgKGFmdGVyX2luaXRfYm9vdG1lbSkgewogI2lmZGVmIENPTkZJR19ERUJVR19QQUdFQUxMT0MKLQkJcGFnZV90YWJsZSA9IChwdGVfdCAqKSBhbGxvY19ib290bWVtX3BhZ2VzKFBBR0VfU0laRSk7CisJCQlwYWdlX3RhYmxlID0gKHB0ZV90ICopIGFsbG9jX2Jvb3RtZW1fcGFnZXMoUEFHRV9TSVpFKTsKICNlbmRpZgotCQlpZiAoIXBhZ2VfdGFibGUpIHsKLQkJCXBhZ2VfdGFibGUgPQorCQkJaWYgKCFwYWdlX3RhYmxlKQorCQkJCXBhZ2VfdGFibGUgPQogCQkJCShwdGVfdCAqKWFsbG9jX2Jvb3RtZW1fbG93X3BhZ2VzKFBBR0VfU0laRSk7CisJCX0gZWxzZSB7CisJCQl1bnNpZ25lZCBsb25nIHBoeXM7CisJCQlwYWdlX3RhYmxlID0gKHB0ZV90ICopYWxsb2NfbG93X3BhZ2UoJnBoeXMpOwogCQl9CiAKIAkJcGFyYXZpcnRfYWxsb2NfcHRlKCZpbml0X21tLCBfX3BhKHBhZ2VfdGFibGUpID4+IFBBR0VfU0hJRlQpOwpAQCAtMTU1LDM4ICsxODQsNDQgQEAKICAqIG9mIG1heF9sb3dfcGZuIHBhZ2VzLCBieSBjcmVhdGluZyBwYWdlIHRhYmxlcyBzdGFydGluZyBmcm9tIGFkZHJlc3MKICAqIFBBR0VfT0ZGU0VUOgogICovCi1zdGF0aWMgdm9pZCBfX2luaXQga2VybmVsX3BoeXNpY2FsX21hcHBpbmdfaW5pdChwZ2RfdCAqcGdkX2Jhc2UpCitzdGF0aWMgdm9pZCBfX2luaXQga2VybmVsX3BoeXNpY2FsX21hcHBpbmdfaW5pdChwZ2RfdCAqcGdkX2Jhc2UsCisJCQkJCQl1bnNpZ25lZCBsb25nIHN0YXJ0X3BmbiwKKwkJCQkJCXVuc2lnbmVkIGxvbmcgZW5kX3BmbiwKKwkJCQkJCWludCB1c2VfcHNlKQogewogCWludCBwZ2RfaWR4LCBwbWRfaWR4LCBwdGVfb2ZzOwogCXVuc2lnbmVkIGxvbmcgcGZuOwogCXBnZF90ICpwZ2Q7CiAJcG1kX3QgKnBtZDsKIAlwdGVfdCAqcHRlOworCXVuc2lnbmVkIHBhZ2VzXzJtID0gMCwgcGFnZXNfNGsgPSAwOwogCi0JcGdkX2lkeCA9IHBnZF9pbmRleChQQUdFX09GRlNFVCk7CisJaWYgKCFjcHVfaGFzX3BzZSkKKwkJdXNlX3BzZSA9IDA7CisKKwlwZm4gPSBzdGFydF9wZm47CisJcGdkX2lkeCA9IHBnZF9pbmRleCgocGZuPDxQQUdFX1NISUZUKSArIFBBR0VfT0ZGU0VUKTsKIAlwZ2QgPSBwZ2RfYmFzZSArIHBnZF9pZHg7Ci0JcGZuID0gMDsKLQogCWZvciAoOyBwZ2RfaWR4IDwgUFRSU19QRVJfUEdEOyBwZ2QrKywgcGdkX2lkeCsrKSB7CiAJCXBtZCA9IG9uZV9tZF90YWJsZV9pbml0KHBnZCk7Ci0JCWlmIChwZm4gPj0gbWF4X2xvd19wZm4pCi0JCQljb250aW51ZTsKIAotCQlmb3IgKHBtZF9pZHggPSAwOwotCQkgICAgIHBtZF9pZHggPCBQVFJTX1BFUl9QTUQgJiYgcGZuIDwgbWF4X2xvd19wZm47CisJCWlmIChwZm4gPj0gZW5kX3BmbikKKwkJCWNvbnRpbnVlOworI2lmZGVmIENPTkZJR19YODZfUEFFCisJCXBtZF9pZHggPSBwbWRfaW5kZXgoKHBmbjw8UEFHRV9TSElGVCkgKyBQQUdFX09GRlNFVCk7CisJCXBtZCArPSBwbWRfaWR4OworI2Vsc2UKKwkJcG1kX2lkeCA9IDA7CisjZW5kaWYKKwkJZm9yICg7IHBtZF9pZHggPCBQVFJTX1BFUl9QTUQgJiYgcGZuIDwgZW5kX3BmbjsKIAkJICAgICBwbWQrKywgcG1kX2lkeCsrKSB7CiAJCQl1bnNpZ25lZCBpbnQgYWRkciA9IHBmbiAqIFBBR0VfU0laRSArIFBBR0VfT0ZGU0VUOwogCiAJCQkvKgogCQkJICogTWFwIHdpdGggYmlnIHBhZ2VzIGlmIHBvc3NpYmxlLCBvdGhlcndpc2UKIAkJCSAqIGNyZWF0ZSBub3JtYWwgcGFnZSB0YWJsZXM6Ci0JCQkgKgotCQkJICogRG9uJ3QgdXNlIGEgbGFyZ2UgcGFnZSBmb3IgdGhlIGZpcnN0IDIvNE1CIG9mIG1lbW9yeQotCQkJICogYmVjYXVzZSB0aGVyZSBhcmUgb2Z0ZW4gZml4ZWQgc2l6ZSBNVFJScyBpbiB0aGVyZQotCQkJICogYW5kIG92ZXJsYXBwaW5nIE1UUlJzIGludG8gbGFyZ2UgcGFnZXMgY2FuIGNhdXNlCi0JCQkgKiBzbG93ZG93bnMuCiAJCQkgKi8KLQkJCWlmIChjcHVfaGFzX3BzZSAmJiAhKHBnZF9pZHggPT0gMCAmJiBwbWRfaWR4ID09IDApKSB7CisJCQlpZiAodXNlX3BzZSkgewogCQkJCXVuc2lnbmVkIGludCBhZGRyMjsKIAkJCQlwZ3Byb3RfdCBwcm90ID0gUEFHRV9LRVJORUxfTEFSR0U7CiAKQEAgLTE5NywzNCArMjMyLDMwIEBACiAJCQkJICAgIGlzX2tlcm5lbF90ZXh0KGFkZHIyKSkKIAkJCQkJcHJvdCA9IFBBR0VfS0VSTkVMX0xBUkdFX0VYRUM7CiAKKwkJCQlwYWdlc18ybSsrOwogCQkJCXNldF9wbWQocG1kLCBwZm5fcG1kKHBmbiwgcHJvdCkpOwogCiAJCQkJcGZuICs9IFBUUlNfUEVSX1BURTsKLQkJCQltYXhfcGZuX21hcHBlZCA9IHBmbjsKIAkJCQljb250aW51ZTsKIAkJCX0KIAkJCXB0ZSA9IG9uZV9wYWdlX3RhYmxlX2luaXQocG1kKTsKIAotCQkJZm9yIChwdGVfb2ZzID0gMDsKLQkJCSAgICAgcHRlX29mcyA8IFBUUlNfUEVSX1BURSAmJiBwZm4gPCBtYXhfbG93X3BmbjsKKwkJCXB0ZV9vZnMgPSBwdGVfaW5kZXgoKHBmbjw8UEFHRV9TSElGVCkgKyBQQUdFX09GRlNFVCk7CisJCQlwdGUgKz0gcHRlX29mczsKKwkJCWZvciAoOyBwdGVfb2ZzIDwgUFRSU19QRVJfUFRFICYmIHBmbiA8IGVuZF9wZm47CiAJCQkgICAgIHB0ZSsrLCBwZm4rKywgcHRlX29mcysrLCBhZGRyICs9IFBBR0VfU0laRSkgewogCQkJCXBncHJvdF90IHByb3QgPSBQQUdFX0tFUk5FTDsKIAogCQkJCWlmIChpc19rZXJuZWxfdGV4dChhZGRyKSkKIAkJCQkJcHJvdCA9IFBBR0VfS0VSTkVMX0VYRUM7CiAKKwkJCQlwYWdlc180aysrOwogCQkJCXNldF9wdGUocHRlLCBwZm5fcHRlKHBmbiwgcHJvdCkpOwogCQkJfQotCQkJbWF4X3Bmbl9tYXBwZWQgPSBwZm47CiAJCX0KIAl9Ci19Ci0KLXN0YXRpYyBpbmxpbmUgaW50IHBhZ2Vfa2lsbHNfcHBybyh1bnNpZ25lZCBsb25nIHBhZ2VucikKLXsKLQlpZiAocGFnZW5yID49IDB4NzAwMDAgJiYgcGFnZW5yIDw9IDB4NzAwM0YpCi0JCXJldHVybiAxOwotCXJldHVybiAwOworCXVwZGF0ZV9wYWdlX2NvdW50KFBHX0xFVkVMXzJNLCBwYWdlc18ybSk7CisJdXBkYXRlX3BhZ2VfY291bnQoUEdfTEVWRUxfNEssIHBhZ2VzXzRrKTsKIH0KIAogLyoKQEAgLTI4NywyOSArMzE4LDYyIEBACiAJcGttYXBfcGFnZV90YWJsZSA9IHB0ZTsKIH0KIAotdm9pZCBfX2luaXQgYWRkX29uZV9oaWdocGFnZV9pbml0KHN0cnVjdCBwYWdlICpwYWdlLCBpbnQgcGZuLCBpbnQgYmFkX3Bwcm8pCitzdGF0aWMgdm9pZCBfX2luaXQgYWRkX29uZV9oaWdocGFnZV9pbml0KHN0cnVjdCBwYWdlICpwYWdlLCBpbnQgcGZuKQogewotCWlmIChwYWdlX2lzX3JhbShwZm4pICYmICEoYmFkX3Bwcm8gJiYgcGFnZV9raWxsc19wcHJvKHBmbikpKSB7Ci0JCUNsZWFyUGFnZVJlc2VydmVkKHBhZ2UpOwotCQlpbml0X3BhZ2VfY291bnQocGFnZSk7Ci0JCV9fZnJlZV9wYWdlKHBhZ2UpOwotCQl0b3RhbGhpZ2hfcGFnZXMrKzsKLQl9IGVsc2UKLQkJU2V0UGFnZVJlc2VydmVkKHBhZ2UpOworCUNsZWFyUGFnZVJlc2VydmVkKHBhZ2UpOworCWluaXRfcGFnZV9jb3VudChwYWdlKTsKKwlfX2ZyZWVfcGFnZShwYWdlKTsKKwl0b3RhbGhpZ2hfcGFnZXMrKzsKK30KKworc3RydWN0IGFkZF9oaWdocGFnZXNfZGF0YSB7CisJdW5zaWduZWQgbG9uZyBzdGFydF9wZm47CisJdW5zaWduZWQgbG9uZyBlbmRfcGZuOworfTsKKworc3RhdGljIGludCBfX2luaXQgYWRkX2hpZ2hwYWdlc193b3JrX2ZuKHVuc2lnbmVkIGxvbmcgc3RhcnRfcGZuLAorCQkJCQkgdW5zaWduZWQgbG9uZyBlbmRfcGZuLCB2b2lkICpkYXRheCkKK3sKKwlpbnQgbm9kZV9wZm47CisJc3RydWN0IHBhZ2UgKnBhZ2U7CisJdW5zaWduZWQgbG9uZyBmaW5hbF9zdGFydF9wZm4sIGZpbmFsX2VuZF9wZm47CisJc3RydWN0IGFkZF9oaWdocGFnZXNfZGF0YSAqZGF0YTsKKworCWRhdGEgPSAoc3RydWN0IGFkZF9oaWdocGFnZXNfZGF0YSAqKWRhdGF4OworCisJZmluYWxfc3RhcnRfcGZuID0gbWF4KHN0YXJ0X3BmbiwgZGF0YS0+c3RhcnRfcGZuKTsKKwlmaW5hbF9lbmRfcGZuID0gbWluKGVuZF9wZm4sIGRhdGEtPmVuZF9wZm4pOworCWlmIChmaW5hbF9zdGFydF9wZm4gPj0gZmluYWxfZW5kX3BmbikKKwkJcmV0dXJuIDA7CisKKwlmb3IgKG5vZGVfcGZuID0gZmluYWxfc3RhcnRfcGZuOyBub2RlX3BmbiA8IGZpbmFsX2VuZF9wZm47CisJICAgICBub2RlX3BmbisrKSB7CisJCWlmICghcGZuX3ZhbGlkKG5vZGVfcGZuKSkKKwkJCWNvbnRpbnVlOworCQlwYWdlID0gcGZuX3RvX3BhZ2Uobm9kZV9wZm4pOworCQlhZGRfb25lX2hpZ2hwYWdlX2luaXQocGFnZSwgbm9kZV9wZm4pOworCX0KKworCXJldHVybiAwOworCit9CisKK3ZvaWQgX19pbml0IGFkZF9oaWdocGFnZXNfd2l0aF9hY3RpdmVfcmVnaW9ucyhpbnQgbmlkLCB1bnNpZ25lZCBsb25nIHN0YXJ0X3BmbiwKKwkJCQkJICAgICAgdW5zaWduZWQgbG9uZyBlbmRfcGZuKQoreworCXN0cnVjdCBhZGRfaGlnaHBhZ2VzX2RhdGEgZGF0YTsKKworCWRhdGEuc3RhcnRfcGZuID0gc3RhcnRfcGZuOworCWRhdGEuZW5kX3BmbiA9IGVuZF9wZm47CisKKwl3b3JrX3dpdGhfYWN0aXZlX3JlZ2lvbnMobmlkLCBhZGRfaGlnaHBhZ2VzX3dvcmtfZm4sICZkYXRhKTsKIH0KIAogI2lmbmRlZiBDT05GSUdfTlVNQQotc3RhdGljIHZvaWQgX19pbml0IHNldF9oaWdobWVtX3BhZ2VzX2luaXQoaW50IGJhZF9wcHJvKQorc3RhdGljIHZvaWQgX19pbml0IHNldF9oaWdobWVtX3BhZ2VzX2luaXQodm9pZCkKIHsKLQlpbnQgcGZuOworCWFkZF9oaWdocGFnZXNfd2l0aF9hY3RpdmVfcmVnaW9ucygwLCBoaWdoc3RhcnRfcGZuLCBoaWdoZW5kX3Bmbik7CiAKLQlmb3IgKHBmbiA9IGhpZ2hzdGFydF9wZm47IHBmbiA8IGhpZ2hlbmRfcGZuOyBwZm4rKykgewotCQkvKgotCQkgKiBIb2xlcyB1bmRlciBzcGFyc2VtZW0gbWlnaHQgbm90IGhhdmUgbm8gbWVtX21hcFtdOgotCQkgKi8KLQkJaWYgKHBmbl92YWxpZChwZm4pKQotCQkJYWRkX29uZV9oaWdocGFnZV9pbml0KHBmbl90b19wYWdlKHBmbiksIHBmbiwgYmFkX3Bwcm8pOwotCX0KIAl0b3RhbHJhbV9wYWdlcyArPSB0b3RhbGhpZ2hfcGFnZXM7CiB9CiAjZW5kaWYgLyogIUNPTkZJR19OVU1BICovCkBAIC0zMTcsMTQgKzM4MSw5IEBACiAjZWxzZQogIyBkZWZpbmUga21hcF9pbml0KCkJCQkJZG8geyB9IHdoaWxlICgwKQogIyBkZWZpbmUgcGVybWFuZW50X2ttYXBzX2luaXQocGdkX2Jhc2UpCQlkbyB7IH0gd2hpbGUgKDApCi0jIGRlZmluZSBzZXRfaGlnaG1lbV9wYWdlc19pbml0KGJhZF9wcHJvKQlkbyB7IH0gd2hpbGUgKDApCisjIGRlZmluZSBzZXRfaGlnaG1lbV9wYWdlc19pbml0KCkJZG8geyB9IHdoaWxlICgwKQogI2VuZGlmIC8qIENPTkZJR19ISUdITUVNICovCiAKLXB0ZXZhbF90IF9fUEFHRV9LRVJORUwgPSBfUEFHRV9LRVJORUw7Ci1FWFBPUlRfU1lNQk9MKF9fUEFHRV9LRVJORUwpOwotCi1wdGV2YWxfdCBfX1BBR0VfS0VSTkVMX0VYRUMgPSBfUEFHRV9LRVJORUxfRVhFQzsKLQogdm9pZCBfX2luaXQgbmF0aXZlX3BhZ2V0YWJsZV9zZXR1cF9zdGFydChwZ2RfdCAqYmFzZSkKIHsKIAl1bnNpZ25lZCBsb25nIHBmbiwgdmE7CkBAIC0zODAsMjcgKzQzOSwxMCBAQAogICogYmUgcGFydGlhbGx5IHBvcHVsYXRlZCwgYW5kIHNvIGl0IGF2b2lkcyBzdG9tcGluZyBvbiBhbnkgZXhpc3RpbmcKICAqIG1hcHBpbmdzLgogICovCi1zdGF0aWMgdm9pZCBfX2luaXQgcGFnZXRhYmxlX2luaXQodm9pZCkKK3N0YXRpYyB2b2lkIF9faW5pdCBlYXJseV9pb3JlbWFwX3BhZ2VfdGFibGVfcmFuZ2VfaW5pdChwZ2RfdCAqcGdkX2Jhc2UpCiB7Ci0JcGdkX3QgKnBnZF9iYXNlID0gc3dhcHBlcl9wZ19kaXI7CiAJdW5zaWduZWQgbG9uZyB2YWRkciwgZW5kOwogCi0JcGFyYXZpcnRfcGFnZXRhYmxlX3NldHVwX3N0YXJ0KHBnZF9iYXNlKTsKLQotCS8qIEVuYWJsZSBQU0UgaWYgYXZhaWxhYmxlICovCi0JaWYgKGNwdV9oYXNfcHNlKQotCQlzZXRfaW5fY3I0KFg4Nl9DUjRfUFNFKTsKLQotCS8qIEVuYWJsZSBQR0UgaWYgYXZhaWxhYmxlICovCi0JaWYgKGNwdV9oYXNfcGdlKSB7Ci0JCXNldF9pbl9jcjQoWDg2X0NSNF9QR0UpOwotCQlfX1BBR0VfS0VSTkVMIHw9IF9QQUdFX0dMT0JBTDsKLQkJX19QQUdFX0tFUk5FTF9FWEVDIHw9IF9QQUdFX0dMT0JBTDsKLQl9Ci0KLQlrZXJuZWxfcGh5c2ljYWxfbWFwcGluZ19pbml0KHBnZF9iYXNlKTsKLQlyZW1hcF9udW1hX2t2YSgpOwotCiAJLyoKIAkgKiBGaXhlZCBtYXBwaW5ncywgb25seSB0aGUgcGFnZSB0YWJsZSBzdHJ1Y3R1cmUgaGFzIHRvIGJlCiAJICogY3JlYXRlZCAtIG1hcHBpbmdzIHdpbGwgYmUgc2V0IGJ5IHNldF9maXhtYXAoKToKQEAgLTQxMCw2ICs0NTIsMTMgQEAKIAllbmQgPSAoRklYQUREUl9UT1AgKyBQTURfU0laRSAtIDEpICYgUE1EX01BU0s7CiAJcGFnZV90YWJsZV9yYW5nZV9pbml0KHZhZGRyLCBlbmQsIHBnZF9iYXNlKTsKIAllYXJseV9pb3JlbWFwX3Jlc2V0KCk7Cit9CisKK3N0YXRpYyB2b2lkIF9faW5pdCBwYWdldGFibGVfaW5pdCh2b2lkKQoreworCXBnZF90ICpwZ2RfYmFzZSA9IHN3YXBwZXJfcGdfZGlyOworCisJcGFyYXZpcnRfcGFnZXRhYmxlX3NldHVwX3N0YXJ0KHBnZF9iYXNlKTsKIAogCXBlcm1hbmVudF9rbWFwc19pbml0KHBnZF9iYXNlKTsKIApAQCAtNDU2LDcgKzUwNSw3IEBACiAKIGludCBueF9lbmFibGVkOwogCi1wdGV2YWxfdCBfX3N1cHBvcnRlZF9wdGVfbWFzayBfX3JlYWRfbW9zdGx5ID0gfl9QQUdFX05YOworcHRldmFsX3QgX19zdXBwb3J0ZWRfcHRlX21hc2sgX19yZWFkX21vc3RseSA9IH4oX1BBR0VfTlggfCBfUEFHRV9HTE9CQUwpOwogRVhQT1JUX1NZTUJPTF9HUEwoX19zdXBwb3J0ZWRfcHRlX21hc2spOwogCiAjaWZkZWYgQ09ORklHX1g4Nl9QQUUKQEAgLTUwOSw2ICs1NTgsMjk2IEBACiB9CiAjZW5kaWYKIAorLyogdXNlci1kZWZpbmVkIGhpZ2htZW0gc2l6ZSAqLworc3RhdGljIHVuc2lnbmVkIGludCBoaWdobWVtX3BhZ2VzID0gLTE7CisKKy8qCisgKiBoaWdobWVtPXNpemUgZm9yY2VzIGhpZ2htZW0gdG8gYmUgZXhhY3RseSAnc2l6ZScgYnl0ZXMuCisgKiBUaGlzIHdvcmtzIGV2ZW4gb24gYm94ZXMgdGhhdCBoYXZlIG5vIGhpZ2htZW0gb3RoZXJ3aXNlLgorICogVGhpcyBhbHNvIHdvcmtzIHRvIHJlZHVjZSBoaWdobWVtIHNpemUgb24gYmlnZ2VyIGJveGVzLgorICovCitzdGF0aWMgaW50IF9faW5pdCBwYXJzZV9oaWdobWVtKGNoYXIgKmFyZykKK3sKKwlpZiAoIWFyZykKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwloaWdobWVtX3BhZ2VzID0gbWVtcGFyc2UoYXJnLCAmYXJnKSA+PiBQQUdFX1NISUZUOworCXJldHVybiAwOworfQorZWFybHlfcGFyYW0oImhpZ2htZW0iLCBwYXJzZV9oaWdobWVtKTsKKworLyoKKyAqIERldGVybWluZSBsb3cgYW5kIGhpZ2ggbWVtb3J5IHJhbmdlczoKKyAqLwordm9pZCBfX2luaXQgZmluZF9sb3dfcGZuX3JhbmdlKHZvaWQpCit7CisJLyogaXQgY291bGQgdXBkYXRlIG1heF9wZm4gKi8KKworCS8qIG1heF9sb3dfcGZuIGlzIDAsIHdlIGFscmVhZHkgaGF2ZSBlYXJseV9yZXMgc3VwcG9ydCAqLworCisJbWF4X2xvd19wZm4gPSBtYXhfcGZuOworCWlmIChtYXhfbG93X3BmbiA+IE1BWE1FTV9QRk4pIHsKKwkJaWYgKGhpZ2htZW1fcGFnZXMgPT0gLTEpCisJCQloaWdobWVtX3BhZ2VzID0gbWF4X3BmbiAtIE1BWE1FTV9QRk47CisJCWlmIChoaWdobWVtX3BhZ2VzICsgTUFYTUVNX1BGTiA8IG1heF9wZm4pCisJCQltYXhfcGZuID0gTUFYTUVNX1BGTiArIGhpZ2htZW1fcGFnZXM7CisJCWlmIChoaWdobWVtX3BhZ2VzICsgTUFYTUVNX1BGTiA+IG1heF9wZm4pIHsKKwkJCXByaW50ayhLRVJOX1dBUk5JTkcgIm9ubHkgJWx1TUIgaGlnaG1lbSBwYWdlcyAiCisJCQkJImF2YWlsYWJsZSwgaWdub3JpbmcgaGlnaG1lbSBzaXplIG9mICV1TUIuXG4iLAorCQkJCXBhZ2VzX3RvX21iKG1heF9wZm4gLSBNQVhNRU1fUEZOKSwKKwkJCQlwYWdlc190b19tYihoaWdobWVtX3BhZ2VzKSk7CisJCQloaWdobWVtX3BhZ2VzID0gMDsKKwkJfQorCQltYXhfbG93X3BmbiA9IE1BWE1FTV9QRk47CisjaWZuZGVmIENPTkZJR19ISUdITUVNCisJCS8qIE1heGltdW0gbWVtb3J5IHVzYWJsZSBpcyB3aGF0IGlzIGRpcmVjdGx5IGFkZHJlc3NhYmxlICovCisJCXByaW50ayhLRVJOX1dBUk5JTkcgIldhcm5pbmcgb25seSAlbGRNQiB3aWxsIGJlIHVzZWQuXG4iLAorCQkJCQlNQVhNRU0+PjIwKTsKKwkJaWYgKG1heF9wZm4gPiBNQVhfTk9OUEFFX1BGTikKKwkJCXByaW50ayhLRVJOX1dBUk5JTkcKKwkJCQkgIlVzZSBhIEhJR0hNRU02NEcgZW5hYmxlZCBrZXJuZWwuXG4iKTsKKwkJZWxzZQorCQkJcHJpbnRrKEtFUk5fV0FSTklORyAiVXNlIGEgSElHSE1FTSBlbmFibGVkIGtlcm5lbC5cbiIpOworCQltYXhfcGZuID0gTUFYTUVNX1BGTjsKKyNlbHNlIC8qICFDT05GSUdfSElHSE1FTSAqLworI2lmbmRlZiBDT05GSUdfSElHSE1FTTY0RworCQlpZiAobWF4X3BmbiA+IE1BWF9OT05QQUVfUEZOKSB7CisJCQltYXhfcGZuID0gTUFYX05PTlBBRV9QRk47CisJCQlwcmludGsoS0VSTl9XQVJOSU5HICJXYXJuaW5nIG9ubHkgNEdCIHdpbGwgYmUgdXNlZC4iCisJCQkJIlVzZSBhIEhJR0hNRU02NEcgZW5hYmxlZCBrZXJuZWwuXG4iKTsKKwkJfQorI2VuZGlmIC8qICFDT05GSUdfSElHSE1FTTY0RyAqLworI2VuZGlmIC8qICFDT05GSUdfSElHSE1FTSAqLworCX0gZWxzZSB7CisJCWlmIChoaWdobWVtX3BhZ2VzID09IC0xKQorCQkJaGlnaG1lbV9wYWdlcyA9IDA7CisjaWZkZWYgQ09ORklHX0hJR0hNRU0KKwkJaWYgKGhpZ2htZW1fcGFnZXMgPj0gbWF4X3BmbikgeworCQkJcHJpbnRrKEtFUk5fRVJSICJoaWdobWVtIHNpemUgc3BlY2lmaWVkICgldU1CKSBpcyAiCisJCQkJImJpZ2dlciB0aGFuIHBhZ2VzIGF2YWlsYWJsZSAoJWx1TUIpIS5cbiIsCisJCQkJcGFnZXNfdG9fbWIoaGlnaG1lbV9wYWdlcyksCisJCQkJcGFnZXNfdG9fbWIobWF4X3BmbikpOworCQkJaGlnaG1lbV9wYWdlcyA9IDA7CisJCX0KKwkJaWYgKGhpZ2htZW1fcGFnZXMpIHsKKwkJCWlmIChtYXhfbG93X3BmbiAtIGhpZ2htZW1fcGFnZXMgPAorCQkJICAgIDY0KjEwMjQqMTAyNC9QQUdFX1NJWkUpeworCQkJCXByaW50ayhLRVJOX0VSUiAiaGlnaG1lbSBzaXplICV1TUIgcmVzdWx0cyBpbiAiCisJCQkJInNtYWxsZXIgdGhhbiA2NE1CIGxvd21lbSwgaWdub3JpbmcgaXQuXG4iCisJCQkJCSwgcGFnZXNfdG9fbWIoaGlnaG1lbV9wYWdlcykpOworCQkJCWhpZ2htZW1fcGFnZXMgPSAwOworCQkJfQorCQkJbWF4X2xvd19wZm4gLT0gaGlnaG1lbV9wYWdlczsKKwkJfQorI2Vsc2UKKwkJaWYgKGhpZ2htZW1fcGFnZXMpCisJCQlwcmludGsoS0VSTl9FUlIgImlnbm9yaW5nIGhpZ2htZW0gc2l6ZSBvbiBub24taGlnaG1lbSIKKwkJCQkJIiBrZXJuZWwhXG4iKTsKKyNlbmRpZgorCX0KK30KKworI2lmbmRlZiBDT05GSUdfTkVFRF9NVUxUSVBMRV9OT0RFUwordm9pZCBfX2luaXQgaW5pdG1lbV9pbml0KHVuc2lnbmVkIGxvbmcgc3RhcnRfcGZuLAorCQkJCSAgdW5zaWduZWQgbG9uZyBlbmRfcGZuKQoreworI2lmZGVmIENPTkZJR19ISUdITUVNCisJaGlnaHN0YXJ0X3BmbiA9IGhpZ2hlbmRfcGZuID0gbWF4X3BmbjsKKwlpZiAobWF4X3BmbiA+IG1heF9sb3dfcGZuKQorCQloaWdoc3RhcnRfcGZuID0gbWF4X2xvd19wZm47CisJbWVtb3J5X3ByZXNlbnQoMCwgMCwgaGlnaGVuZF9wZm4pOworCWU4MjBfcmVnaXN0ZXJfYWN0aXZlX3JlZ2lvbnMoMCwgMCwgaGlnaGVuZF9wZm4pOworCXByaW50ayhLRVJOX05PVElDRSAiJWxkTUIgSElHSE1FTSBhdmFpbGFibGUuXG4iLAorCQlwYWdlc190b19tYihoaWdoZW5kX3BmbiAtIGhpZ2hzdGFydF9wZm4pKTsKKwludW1fcGh5c3BhZ2VzID0gaGlnaGVuZF9wZm47CisJaGlnaF9tZW1vcnkgPSAodm9pZCAqKSBfX3ZhKGhpZ2hzdGFydF9wZm4gKiBQQUdFX1NJWkUgLSAxKSArIDE7CisjZWxzZQorCW1lbW9yeV9wcmVzZW50KDAsIDAsIG1heF9sb3dfcGZuKTsKKwllODIwX3JlZ2lzdGVyX2FjdGl2ZV9yZWdpb25zKDAsIDAsIG1heF9sb3dfcGZuKTsKKwludW1fcGh5c3BhZ2VzID0gbWF4X2xvd19wZm47CisJaGlnaF9tZW1vcnkgPSAodm9pZCAqKSBfX3ZhKG1heF9sb3dfcGZuICogUEFHRV9TSVpFIC0gMSkgKyAxOworI2VuZGlmCisjaWZkZWYgQ09ORklHX0ZMQVRNRU0KKwltYXhfbWFwbnIgPSBudW1fcGh5c3BhZ2VzOworI2VuZGlmCisJcHJpbnRrKEtFUk5fTk9USUNFICIlbGRNQiBMT1dNRU0gYXZhaWxhYmxlLlxuIiwKKwkJCXBhZ2VzX3RvX21iKG1heF9sb3dfcGZuKSk7CisKKwlzZXR1cF9ib290bWVtX2FsbG9jYXRvcigpOworfQorI2VuZGlmIC8qICFDT05GSUdfTkVFRF9NVUxUSVBMRV9OT0RFUyAqLworCitzdGF0aWMgdm9pZCBfX2luaXQgem9uZV9zaXplc19pbml0KHZvaWQpCit7CisJdW5zaWduZWQgbG9uZyBtYXhfem9uZV9wZm5zW01BWF9OUl9aT05FU107CisJbWVtc2V0KG1heF96b25lX3BmbnMsIDAsIHNpemVvZihtYXhfem9uZV9wZm5zKSk7CisJbWF4X3pvbmVfcGZuc1taT05FX0RNQV0gPQorCQl2aXJ0X3RvX3BoeXMoKGNoYXIgKilNQVhfRE1BX0FERFJFU1MpID4+IFBBR0VfU0hJRlQ7CisJbWF4X3pvbmVfcGZuc1taT05FX05PUk1BTF0gPSBtYXhfbG93X3BmbjsKKyNpZmRlZiBDT05GSUdfSElHSE1FTQorCW1heF96b25lX3BmbnNbWk9ORV9ISUdITUVNXSA9IGhpZ2hlbmRfcGZuOworI2VuZGlmCisKKwlmcmVlX2FyZWFfaW5pdF9ub2RlcyhtYXhfem9uZV9wZm5zKTsKK30KKwordm9pZCBfX2luaXQgc2V0dXBfYm9vdG1lbV9hbGxvY2F0b3Iodm9pZCkKK3sKKwlpbnQgaTsKKwl1bnNpZ25lZCBsb25nIGJvb3RtYXBfc2l6ZSwgYm9vdG1hcDsKKwkvKgorCSAqIEluaXRpYWxpemUgdGhlIGJvb3QtdGltZSBhbGxvY2F0b3IgKHdpdGggbG93IG1lbW9yeSBvbmx5KToKKwkgKi8KKwlib290bWFwX3NpemUgPSBib290bWVtX2Jvb3RtYXBfcGFnZXMobWF4X2xvd19wZm4pPDxQQUdFX1NISUZUOworCWJvb3RtYXAgPSBmaW5kX2U4MjBfYXJlYShtaW5fbG93X3Bmbjw8UEFHRV9TSElGVCwKKwkJCQkgbWF4X3Bmbl9tYXBwZWQ8PFBBR0VfU0hJRlQsIGJvb3RtYXBfc2l6ZSwKKwkJCQkgUEFHRV9TSVpFKTsKKwlpZiAoYm9vdG1hcCA9PSAtMUwpCisJCXBhbmljKCJDYW5ub3QgZmluZCBib290bWVtIG1hcCBvZiBzaXplICVsZFxuIiwgYm9vdG1hcF9zaXplKTsKKwlyZXNlcnZlX2Vhcmx5KGJvb3RtYXAsIGJvb3RtYXAgKyBib290bWFwX3NpemUsICJCT09UTUFQIik7CisKKwkvKiBkb24ndCB0b3VjaCBtaW5fbG93X3BmbiAqLworCWJvb3RtYXBfc2l6ZSA9IGluaXRfYm9vdG1lbV9ub2RlKE5PREVfREFUQSgwKSwgYm9vdG1hcCA+PiBQQUdFX1NISUZULAorCQkJCQkgbWluX2xvd19wZm4sIG1heF9sb3dfcGZuKTsKKwlwcmludGsoS0VSTl9JTkZPICIgIG1hcHBlZCBsb3cgcmFtOiAwIC0gJTA4bHhcbiIsCisJCSBtYXhfcGZuX21hcHBlZDw8UEFHRV9TSElGVCk7CisJcHJpbnRrKEtFUk5fSU5GTyAiICBsb3cgcmFtOiAlMDhseCAtICUwOGx4XG4iLAorCQkgbWluX2xvd19wZm48PFBBR0VfU0hJRlQsIG1heF9sb3dfcGZuPDxQQUdFX1NISUZUKTsKKwlwcmludGsoS0VSTl9JTkZPICIgIGJvb3RtYXAgJTA4bHggLSAlMDhseFxuIiwKKwkJIGJvb3RtYXAsIGJvb3RtYXAgKyBib290bWFwX3NpemUpOworCWZvcl9lYWNoX29ubGluZV9ub2RlKGkpCisJCWZyZWVfYm9vdG1lbV93aXRoX2FjdGl2ZV9yZWdpb25zKGksIG1heF9sb3dfcGZuKTsKKwllYXJseV9yZXNfdG9fYm9vdG1lbSgwLCBtYXhfbG93X3Bmbjw8UEFHRV9TSElGVCk7CisKKwlhZnRlcl9pbml0X2Jvb3RtZW0gPSAxOworfQorCitzdGF0aWMgdm9pZCBfX2luaXQgZmluZF9lYXJseV90YWJsZV9zcGFjZSh1bnNpZ25lZCBsb25nIGVuZCkKK3sKKwl1bnNpZ25lZCBsb25nIHB1ZHMsIHBtZHMsIHB0ZXMsIHRhYmxlcywgc3RhcnQ7CisKKwlwdWRzID0gKGVuZCArIFBVRF9TSVpFIC0gMSkgPj4gUFVEX1NISUZUOworCXRhYmxlcyA9IFBBR0VfQUxJR04ocHVkcyAqIHNpemVvZihwdWRfdCkpOworCisJcG1kcyA9IChlbmQgKyBQTURfU0laRSAtIDEpID4+IFBNRF9TSElGVDsKKwl0YWJsZXMgKz0gUEFHRV9BTElHTihwbWRzICogc2l6ZW9mKHBtZF90KSk7CisKKwlpZiAoY3B1X2hhc19wc2UpIHsKKwkJdW5zaWduZWQgbG9uZyBleHRyYTsKKworCQlleHRyYSA9IGVuZCAtICgoZW5kPj5QTURfU0hJRlQpIDw8IFBNRF9TSElGVCk7CisJCWV4dHJhICs9IFBNRF9TSVpFOworCQlwdGVzID0gKGV4dHJhICsgUEFHRV9TSVpFIC0gMSkgPj4gUEFHRV9TSElGVDsKKwl9IGVsc2UKKwkJcHRlcyA9IChlbmQgKyBQQUdFX1NJWkUgLSAxKSA+PiBQQUdFX1NISUZUOworCisJdGFibGVzICs9IFBBR0VfQUxJR04ocHRlcyAqIHNpemVvZihwdGVfdCkpOworCisJLyogZm9yIGZpeG1hcCAqLworCXRhYmxlcyArPSBQQUdFX1NJWkUgKiAyOworCisJLyoKKwkgKiBSRUQtUEVOIHB1dHRpbmcgcGFnZSB0YWJsZXMgb25seSBvbiBub2RlIDAgY291bGQKKwkgKiBjYXVzZSBhIGhvdHNwb3QgYW5kIGZpbGwgdXAgWk9ORV9ETUEuIFRoZSBwYWdlIHRhYmxlcworCSAqIG5lZWQgcm91Z2hseSAwLjVLQiBwZXIgR0IuCisJICovCisJc3RhcnQgPSAweDcwMDA7CisJdGFibGVfc3RhcnQgPSBmaW5kX2U4MjBfYXJlYShzdGFydCwgbWF4X3Bmbl9tYXBwZWQ8PFBBR0VfU0hJRlQsCisJCQkJCXRhYmxlcywgUEFHRV9TSVpFKTsKKwlpZiAodGFibGVfc3RhcnQgPT0gLTFVTCkKKwkJcGFuaWMoIkNhbm5vdCBmaW5kIHNwYWNlIGZvciB0aGUga2VybmVsIHBhZ2UgdGFibGVzIik7CisKKwl0YWJsZV9zdGFydCA+Pj0gUEFHRV9TSElGVDsKKwl0YWJsZV9lbmQgPSB0YWJsZV9zdGFydDsKKwl0YWJsZV90b3AgPSB0YWJsZV9zdGFydCArICh0YWJsZXM+PlBBR0VfU0hJRlQpOworCisJcHJpbnRrKEtFUk5fREVCVUcgImtlcm5lbCBkaXJlY3QgbWFwcGluZyB0YWJsZXMgdXAgdG8gJWx4IEAgJWx4LSVseFxuIiwKKwkJZW5kLCB0YWJsZV9zdGFydCA8PCBQQUdFX1NISUZULAorCQkodGFibGVfc3RhcnQgPDwgUEFHRV9TSElGVCkgKyB0YWJsZXMpOworfQorCit1bnNpZ25lZCBsb25nIF9faW5pdF9yZWZvayBpbml0X21lbW9yeV9tYXBwaW5nKHVuc2lnbmVkIGxvbmcgc3RhcnQsCisJCQkJCQl1bnNpZ25lZCBsb25nIGVuZCkKK3sKKwlwZ2RfdCAqcGdkX2Jhc2UgPSBzd2FwcGVyX3BnX2RpcjsKKwl1bnNpZ25lZCBsb25nIHN0YXJ0X3BmbiwgZW5kX3BmbjsKKwl1bnNpZ25lZCBsb25nIGJpZ19wYWdlX3N0YXJ0OworCisJLyoKKwkgKiBGaW5kIHNwYWNlIGZvciB0aGUga2VybmVsIGRpcmVjdCBtYXBwaW5nIHRhYmxlcy4KKwkgKi8KKwlpZiAoIWFmdGVyX2luaXRfYm9vdG1lbSkKKwkJZmluZF9lYXJseV90YWJsZV9zcGFjZShlbmQpOworCisjaWZkZWYgQ09ORklHX1g4Nl9QQUUKKwlzZXRfbngoKTsKKwlpZiAobnhfZW5hYmxlZCkKKwkJcHJpbnRrKEtFUk5fSU5GTyAiTlggKEV4ZWN1dGUgRGlzYWJsZSkgcHJvdGVjdGlvbjogYWN0aXZlXG4iKTsKKyNlbmRpZgorCisJLyogRW5hYmxlIFBTRSBpZiBhdmFpbGFibGUgKi8KKwlpZiAoY3B1X2hhc19wc2UpCisJCXNldF9pbl9jcjQoWDg2X0NSNF9QU0UpOworCisJLyogRW5hYmxlIFBHRSBpZiBhdmFpbGFibGUgKi8KKwlpZiAoY3B1X2hhc19wZ2UpIHsKKwkJc2V0X2luX2NyNChYODZfQ1I0X1BHRSk7CisJCV9fc3VwcG9ydGVkX3B0ZV9tYXNrIHw9IF9QQUdFX0dMT0JBTDsKKwl9CisKKwkvKgorCSAqIERvbid0IHVzZSBhIGxhcmdlIHBhZ2UgZm9yIHRoZSBmaXJzdCAyLzRNQiBvZiBtZW1vcnkKKwkgKiBiZWNhdXNlIHRoZXJlIGFyZSBvZnRlbiBmaXhlZCBzaXplIE1UUlJzIGluIHRoZXJlCisJICogYW5kIG92ZXJsYXBwaW5nIE1UUlJzIGludG8gbGFyZ2UgcGFnZXMgY2FuIGNhdXNlCisJICogc2xvd2Rvd25zLgorCSAqLworCWJpZ19wYWdlX3N0YXJ0ID0gUE1EX1NJWkU7CisKKwlpZiAoc3RhcnQgPCBiaWdfcGFnZV9zdGFydCkgeworCQlzdGFydF9wZm4gPSBzdGFydCA+PiBQQUdFX1NISUZUOworCQllbmRfcGZuID0gbWluKGJpZ19wYWdlX3N0YXJ0Pj5QQUdFX1NISUZULCBlbmQ+PlBBR0VfU0hJRlQpOworCX0gZWxzZSB7CisJCS8qIGhlYWQgaXMgbm90IGJpZyBwYWdlIGFsaWdubWVudCA/ICovCisJCXN0YXJ0X3BmbiA9IHN0YXJ0ID4+IFBBR0VfU0hJRlQ7CisJCWVuZF9wZm4gPSAoKHN0YXJ0ICsgKFBNRF9TSVpFIC0gMSkpPj5QTURfU0hJRlQpCisJCQkJIDw8IChQTURfU0hJRlQgLSBQQUdFX1NISUZUKTsKKwl9CisJaWYgKHN0YXJ0X3BmbiA8IGVuZF9wZm4pCisJCWtlcm5lbF9waHlzaWNhbF9tYXBwaW5nX2luaXQocGdkX2Jhc2UsIHN0YXJ0X3BmbiwgZW5kX3BmbiwgMCk7CisKKwkvKiBiaWcgcGFnZSByYW5nZSAqLworCXN0YXJ0X3BmbiA9ICgoc3RhcnQgKyAoUE1EX1NJWkUgLSAxKSk+PlBNRF9TSElGVCkKKwkJCSA8PCAoUE1EX1NISUZUIC0gUEFHRV9TSElGVCk7CisJaWYgKHN0YXJ0X3BmbiA8IChiaWdfcGFnZV9zdGFydCA+PiBQQUdFX1NISUZUKSkKKwkJc3RhcnRfcGZuID0gIGJpZ19wYWdlX3N0YXJ0ID4+IFBBR0VfU0hJRlQ7CisJZW5kX3BmbiA9IChlbmQ+PlBNRF9TSElGVCkgPDwgKFBNRF9TSElGVCAtIFBBR0VfU0hJRlQpOworCWlmIChzdGFydF9wZm4gPCBlbmRfcGZuKQorCQlrZXJuZWxfcGh5c2ljYWxfbWFwcGluZ19pbml0KHBnZF9iYXNlLCBzdGFydF9wZm4sIGVuZF9wZm4sCisJCQkJCQljcHVfaGFzX3BzZSk7CisKKwkvKiB0YWlsIGlzIG5vdCBiaWcgcGFnZSBhbGlnbm1lbnQgPyAqLworCXN0YXJ0X3BmbiA9IGVuZF9wZm47CisJaWYgKHN0YXJ0X3BmbiA+IChiaWdfcGFnZV9zdGFydD4+UEFHRV9TSElGVCkpIHsKKwkJZW5kX3BmbiA9IGVuZCA+PiBQQUdFX1NISUZUOworCQlpZiAoc3RhcnRfcGZuIDwgZW5kX3BmbikKKwkJCWtlcm5lbF9waHlzaWNhbF9tYXBwaW5nX2luaXQocGdkX2Jhc2UsIHN0YXJ0X3BmbiwKKwkJCQkJCQkgZW5kX3BmbiwgMCk7CisJfQorCisJZWFybHlfaW9yZW1hcF9wYWdlX3RhYmxlX3JhbmdlX2luaXQocGdkX2Jhc2UpOworCisJbG9hZF9jcjMoc3dhcHBlcl9wZ19kaXIpOworCisJX19mbHVzaF90bGJfYWxsKCk7CisKKwlpZiAoIWFmdGVyX2luaXRfYm9vdG1lbSkKKwkJcmVzZXJ2ZV9lYXJseSh0YWJsZV9zdGFydCA8PCBQQUdFX1NISUZULAorCQkJCSB0YWJsZV9lbmQgPDwgUEFHRV9TSElGVCwgIlBHVEFCTEUiKTsKKworCXJldHVybiBlbmQgPj4gUEFHRV9TSElGVDsKK30KKworCiAvKgogICogcGFnaW5nX2luaXQoKSBzZXRzIHVwIHRoZSBwYWdlIHRhYmxlcyAtIG5vdGUgdGhhdCB0aGUgZmlyc3QgOE1CIGFyZQogICogYWxyZWFkeSBtYXBwZWQgYnkgaGVhZC5TLgpAQCAtNTE4LDE4ICs4NTcsMTkgQEAKICAqLwogdm9pZCBfX2luaXQgcGFnaW5nX2luaXQodm9pZCkKIHsKLSNpZmRlZiBDT05GSUdfWDg2X1BBRQotCXNldF9ueCgpOwotCWlmIChueF9lbmFibGVkKQotCQlwcmludGsoS0VSTl9JTkZPICJOWCAoRXhlY3V0ZSBEaXNhYmxlKSBwcm90ZWN0aW9uOiBhY3RpdmVcbiIpOwotI2VuZGlmCiAJcGFnZXRhYmxlX2luaXQoKTsKIAotCWxvYWRfY3IzKHN3YXBwZXJfcGdfZGlyKTsKLQogCV9fZmx1c2hfdGxiX2FsbCgpOwogCiAJa21hcF9pbml0KCk7CisKKwkvKgorCSAqIE5PVEU6IGF0IHRoaXMgcG9pbnQgdGhlIGJvb3RtZW0gYWxsb2NhdG9yIGlzIGZ1bGx5IGF2YWlsYWJsZS4KKwkgKi8KKwlzcGFyc2VfaW5pdCgpOworCXpvbmVfc2l6ZXNfaW5pdCgpOworCisJcGFyYXZpcnRfcG9zdF9hbGxvY2F0b3JfaW5pdCgpOwogfQogCiAvKgpAQCAtNTY0LDI0ICs5MDQsMTEgQEAKIHZvaWQgX19pbml0IG1lbV9pbml0KHZvaWQpCiB7CiAJaW50IGNvZGVzaXplLCByZXNlcnZlZHBhZ2VzLCBkYXRhc2l6ZSwgaW5pdHNpemU7Ci0JaW50IHRtcCwgYmFkX3Bwcm87CisJaW50IHRtcDsKIAogI2lmZGVmIENPTkZJR19GTEFUTUVNCiAJQlVHX09OKCFtZW1fbWFwKTsKICNlbmRpZgotCWJhZF9wcHJvID0gcHByb193aXRoX3JhbV9idWcoKTsKLQotI2lmZGVmIENPTkZJR19ISUdITUVNCi0JLyogY2hlY2sgdGhhdCBmaXhtYXAgYW5kIHBrbWFwIGRvIG5vdCBvdmVybGFwICovCi0JaWYgKFBLTUFQX0JBU0UgKyBMQVNUX1BLTUFQKlBBR0VfU0laRSA+PSBGSVhBRERSX1NUQVJUKSB7Ci0JCXByaW50ayhLRVJOX0VSUgotCQkJImZpeG1hcCBhbmQga21hcCBhcmVhcyBvdmVybGFwIC0gdGhpcyB3aWxsIGNyYXNoXG4iKTsKLQkJcHJpbnRrKEtFUk5fRVJSICJwa3N0YXJ0OiAlbHhoIHBrZW5kOiAlbHhoIGZpeHN0YXJ0ICVseGhcbiIsCi0JCQkJUEtNQVBfQkFTRSwgUEtNQVBfQkFTRSArIExBU1RfUEtNQVAqUEFHRV9TSVpFLAotCQkJCUZJWEFERFJfU1RBUlQpOwotCQlCVUcoKTsKLQl9Ci0jZW5kaWYKIAkvKiB0aGlzIHdpbGwgcHV0IGFsbCBsb3cgbWVtb3J5IG9udG8gdGhlIGZyZWVsaXN0cyAqLwogCXRvdGFscmFtX3BhZ2VzICs9IGZyZWVfYWxsX2Jvb3RtZW0oKTsKIApAQCAtNTkzLDcgKzkyMCw3IEBACiAJCWlmIChwYWdlX2lzX3JhbSh0bXApICYmIFBhZ2VSZXNlcnZlZChwZm5fdG9fcGFnZSh0bXApKSkKIAkJCXJlc2VydmVkcGFnZXMrKzsKIAotCXNldF9oaWdobWVtX3BhZ2VzX2luaXQoYmFkX3Bwcm8pOworCXNldF9oaWdobWVtX3BhZ2VzX2luaXQoKTsKIAogCWNvZGVzaXplID0gICh1bnNpZ25lZCBsb25nKSAmX2V0ZXh0IC0gKHVuc2lnbmVkIGxvbmcpICZfdGV4dDsKIAlkYXRhc2l6ZSA9ICAodW5zaWduZWQgbG9uZykgJl9lZGF0YSAtICh1bnNpZ25lZCBsb25nKSAmX2V0ZXh0OwpAQCAtNjE0LDcgKzk0MSw2IEBACiAJCSh1bnNpZ25lZCBsb25nKSAodG90YWxoaWdoX3BhZ2VzIDw8IChQQUdFX1NISUZULTEwKSkKIAkgICAgICAgKTsKIAotI2lmIDEgLyogZG91YmxlLXNhbml0eS1jaGVjayBwYXJhbm9pYSAqLwogCXByaW50ayhLRVJOX0lORk8gInZpcnR1YWwga2VybmVsIG1lbW9yeSBsYXlvdXQ6XG4iCiAJCSIgICAgZml4bWFwICA6IDB4JTA4bHggLSAweCUwOGx4ICAgKCU0bGQga0IpXG4iCiAjaWZkZWYgQ09ORklHX0hJR0hNRU0KQEAgLTY1NSw3ICs5ODEsNiBAQAogI2VuZGlmCiAJQlVHX09OKFZNQUxMT0NfU1RBUlQJCQkJPiBWTUFMTE9DX0VORCk7CiAJQlVHX09OKCh1bnNpZ25lZCBsb25nKWhpZ2hfbWVtb3J5CQk+IFZNQUxMT0NfU1RBUlQpOwotI2VuZGlmIC8qIGRvdWJsZS1zYW5pdHktY2hlY2sgcGFyYW5vaWEgKi8KIAogCWlmIChib290X2NwdV9kYXRhLndwX3dvcmtzX29rIDwgMCkKIAkJdGVzdF93cF9iaXQoKTsKQEAgLTcxMCw2ICsxMDM1LDggQEAKIAl1bnNpZ25lZCBsb25nIHN0YXJ0ID0gUEZOX0FMSUdOKF90ZXh0KTsKIAl1bnNpZ25lZCBsb25nIHNpemUgPSBQRk5fQUxJR04oX2V0ZXh0KSAtIHN0YXJ0OwogCisjaWZuZGVmIENPTkZJR19EWU5BTUlDX0ZUUkFDRQorCS8qIER5bmFtaWMgdHJhY2luZyBtb2RpZmllcyB0aGUga2VybmVsIHRleHQgc2VjdGlvbiAqLwogCXNldF9wYWdlc19ybyh2aXJ0X3RvX3BhZ2Uoc3RhcnQpLCBzaXplID4+IFBBR0VfU0hJRlQpOwogCXByaW50ayhLRVJOX0lORk8gIldyaXRlIHByb3RlY3RpbmcgdGhlIGtlcm5lbCB0ZXh0OiAlbHVrXG4iLAogCQlzaXplID4+IDEwKTsKQEAgLTcyMiw2ICsxMDQ5LDggQEAKIAlwcmludGsoS0VSTl9JTkZPICJUZXN0aW5nIENQQTogd3JpdGUgcHJvdGVjdGluZyBhZ2FpblxuIik7CiAJc2V0X3BhZ2VzX3JvKHZpcnRfdG9fcGFnZShzdGFydCksIHNpemU+PlBBR0VfU0hJRlQpOwogI2VuZGlmCisjZW5kaWYgLyogQ09ORklHX0RZTkFNSUNfRlRSQUNFICovCisKIAlzdGFydCArPSBzaXplOwogCXNpemUgPSAodW5zaWduZWQgbG9uZylfX2VuZF9yb2RhdGEgLSBzdGFydDsKIAlzZXRfcGFnZXNfcm8odmlydF90b19wYWdlKHN0YXJ0KSwgc2l6ZSA+PiBQQUdFX1NISUZUKTsKQEAgLTc4NCwzICsxMTEzLDkgQEAKIAlmcmVlX2luaXRfcGFnZXMoImluaXRyZCBtZW1vcnkiLCBzdGFydCwgZW5kKTsKIH0KICNlbmRpZgorCitpbnQgX19pbml0IHJlc2VydmVfYm9vdG1lbV9nZW5lcmljKHVuc2lnbmVkIGxvbmcgcGh5cywgdW5zaWduZWQgbG9uZyBsZW4sCisJCQkJICAgaW50IGZsYWdzKQoreworCXJldHVybiByZXNlcnZlX2Jvb3RtZW0ocGh5cywgbGVuLCBmbGFncyk7Cit9CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9tbS9pbml0XzY0LmMgYi9hcmNoL3g4Ni9tbS9pbml0XzY0LmMKaW5kZXggODE5ZGFkOS4uMjdkZTI0MyAxMDA2NDQKLS0tIGEvYXJjaC94ODYvbW0vaW5pdF82NC5jCisrKyBiL2FyY2gveDg2L21tL2luaXRfNjQuYwpAQCAtMTgsNiArMTgsNyBAQAogI2luY2x1ZGUgPGxpbnV4L3N3YXAuaD4KICNpbmNsdWRlIDxsaW51eC9zbXAuaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvaW5pdHJkLmg+CiAjaW5jbHVkZSA8bGludXgvcGFnZW1hcC5oPgogI2luY2x1ZGUgPGxpbnV4L2Jvb3RtZW0uaD4KICNpbmNsdWRlIDxsaW51eC9wcm9jX2ZzLmg+CkBAIC00Nyw2ICs0OCwxNCBAQAogI2luY2x1ZGUgPGFzbS9udW1hLmg+CiAjaW5jbHVkZSA8YXNtL2NhY2hlZmx1c2guaD4KIAorLyoKKyAqIGVuZF9wZm4gb25seSBpbmNsdWRlcyBSQU0sIHdoaWxlIG1heF9wZm5fbWFwcGVkIGluY2x1ZGVzIGFsbCBlODIwIGVudHJpZXMuCisgKiBUaGUgZGlyZWN0IG1hcHBpbmcgZXh0ZW5kcyB0byBtYXhfcGZuX21hcHBlZCwgc28gdGhhdCB3ZSBjYW4gZGlyZWN0bHkgYWNjZXNzCisgKiBhcGVydHVyZXMsIEFDUEkgYW5kIG90aGVyIHRhYmxlcyB3aXRob3V0IGhhdmluZyB0byBwbGF5IHdpdGggZml4bWFwcy4KKyAqLwordW5zaWduZWQgbG9uZyBtYXhfbG93X3Bmbl9tYXBwZWQ7Cit1bnNpZ25lZCBsb25nIG1heF9wZm5fbWFwcGVkOworCiBzdGF0aWMgdW5zaWduZWQgbG9uZyBkbWFfcmVzZXJ2ZSBfX2luaXRkYXRhOwogCiBERUZJTkVfUEVSX0NQVShzdHJ1Y3QgbW11X2dhdGhlciwgbW11X2dhdGhlcnMpOwpAQCAtMTM1LDI2ICsxNDQsMTcgQEAKIAlyZXR1cm4gcHRyOwogfQogCi1zdGF0aWMgX19pbml0IHZvaWQKLXNldF9wdGVfcGh5cyh1bnNpZ25lZCBsb25nIHZhZGRyLCB1bnNpZ25lZCBsb25nIHBoeXMsIHBncHJvdF90IHByb3QpCit2b2lkCitzZXRfcHRlX3ZhZGRyX3B1ZChwdWRfdCAqcHVkX3BhZ2UsIHVuc2lnbmVkIGxvbmcgdmFkZHIsIHB0ZV90IG5ld19wdGUpCiB7Ci0JcGdkX3QgKnBnZDsKIAlwdWRfdCAqcHVkOwogCXBtZF90ICpwbWQ7Ci0JcHRlX3QgKnB0ZSwgbmV3X3B0ZTsKKwlwdGVfdCAqcHRlOwogCi0JcHJfZGVidWcoInNldF9wdGVfcGh5cyAlbHggdG8gJWx4XG4iLCB2YWRkciwgcGh5cyk7Ci0KLQlwZ2QgPSBwZ2Rfb2Zmc2V0X2sodmFkZHIpOwotCWlmIChwZ2Rfbm9uZSgqcGdkKSkgewotCQlwcmludGsoS0VSTl9FUlIKLQkJCSJQR0QgRklYTUFQIE1JU1NJTkcsIGl0IHNob3VsZCBiZSBzZXR1cCBpbiBoZWFkLlMhXG4iKTsKLQkJcmV0dXJuOwotCX0KLQlwdWQgPSBwdWRfb2Zmc2V0KHBnZCwgdmFkZHIpOworCXB1ZCA9IHB1ZF9wYWdlICsgcHVkX2luZGV4KHZhZGRyKTsKIAlpZiAocHVkX25vbmUoKnB1ZCkpIHsKIAkJcG1kID0gKHBtZF90ICopIHNwcF9nZXRwYWdlKCk7Ci0JCXNldF9wdWQocHVkLCBfX3B1ZChfX3BhKHBtZCkgfCBfS0VSTlBHX1RBQkxFIHwgX1BBR0VfVVNFUikpOworCQlwdWRfcG9wdWxhdGUoJmluaXRfbW0sIHB1ZCwgcG1kKTsKIAkJaWYgKHBtZCAhPSBwbWRfb2Zmc2V0KHB1ZCwgMCkpIHsKIAkJCXByaW50ayhLRVJOX0VSUiAiUEFHRVRBQkxFIEJVRyAjMDEhICVwIDwtPiAlcFxuIiwKIAkJCQlwbWQsIHBtZF9vZmZzZXQocHVkLCAwKSk7CkBAIC0xNjQsMTMgKzE2NCwxMiBAQAogCXBtZCA9IHBtZF9vZmZzZXQocHVkLCB2YWRkcik7CiAJaWYgKHBtZF9ub25lKCpwbWQpKSB7CiAJCXB0ZSA9IChwdGVfdCAqKSBzcHBfZ2V0cGFnZSgpOwotCQlzZXRfcG1kKHBtZCwgX19wbWQoX19wYShwdGUpIHwgX0tFUk5QR19UQUJMRSB8IF9QQUdFX1VTRVIpKTsKKwkJcG1kX3BvcHVsYXRlX2tlcm5lbCgmaW5pdF9tbSwgcG1kLCBwdGUpOwogCQlpZiAocHRlICE9IHB0ZV9vZmZzZXRfa2VybmVsKHBtZCwgMCkpIHsKIAkJCXByaW50ayhLRVJOX0VSUiAiUEFHRVRBQkxFIEJVRyAjMDIhXG4iKTsKIAkJCXJldHVybjsKIAkJfQogCX0KLQluZXdfcHRlID0gcGZuX3B0ZShwaHlzID4+IFBBR0VfU0hJRlQsIHByb3QpOwogCiAJcHRlID0gcHRlX29mZnNldF9rZXJuZWwocG1kLCB2YWRkcik7CiAJaWYgKCFwdGVfbm9uZSgqcHRlKSAmJiBwdGVfdmFsKG5ld19wdGUpICYmCkBAIC0xODUsNiArMTg0LDY0IEBACiAJX19mbHVzaF90bGJfb25lKHZhZGRyKTsKIH0KIAordm9pZAorc2V0X3B0ZV92YWRkcih1bnNpZ25lZCBsb25nIHZhZGRyLCBwdGVfdCBwdGV2YWwpCit7CisJcGdkX3QgKnBnZDsKKwlwdWRfdCAqcHVkX3BhZ2U7CisKKwlwcl9kZWJ1Zygic2V0X3B0ZV92YWRkciAlbHggdG8gJWx4XG4iLCB2YWRkciwgbmF0aXZlX3B0ZV92YWwocHRldmFsKSk7CisKKwlwZ2QgPSBwZ2Rfb2Zmc2V0X2sodmFkZHIpOworCWlmIChwZ2Rfbm9uZSgqcGdkKSkgeworCQlwcmludGsoS0VSTl9FUlIKKwkJCSJQR0QgRklYTUFQIE1JU1NJTkcsIGl0IHNob3VsZCBiZSBzZXR1cCBpbiBoZWFkLlMhXG4iKTsKKwkJcmV0dXJuOworCX0KKwlwdWRfcGFnZSA9IChwdWRfdCopcGdkX3BhZ2VfdmFkZHIoKnBnZCk7CisJc2V0X3B0ZV92YWRkcl9wdWQocHVkX3BhZ2UsIHZhZGRyLCBwdGV2YWwpOworfQorCisvKgorICogQ3JlYXRlIGxhcmdlIHBhZ2UgdGFibGUgbWFwcGluZ3MgZm9yIGEgcmFuZ2Ugb2YgcGh5c2ljYWwgYWRkcmVzc2VzLgorICovCitzdGF0aWMgdm9pZCBfX2luaXQgX19pbml0X2V4dHJhX21hcHBpbmcodW5zaWduZWQgbG9uZyBwaHlzLCB1bnNpZ25lZCBsb25nIHNpemUsCisJCQkJCQlwZ3Byb3RfdCBwcm90KQoreworCXBnZF90ICpwZ2Q7CisJcHVkX3QgKnB1ZDsKKwlwbWRfdCAqcG1kOworCisJQlVHX09OKChwaHlzICYgflBNRF9NQVNLKSB8fCAoc2l6ZSAmIH5QTURfTUFTSykpOworCWZvciAoOyBzaXplOyBwaHlzICs9IFBNRF9TSVpFLCBzaXplIC09IFBNRF9TSVpFKSB7CisJCXBnZCA9IHBnZF9vZmZzZXRfaygodW5zaWduZWQgbG9uZylfX3ZhKHBoeXMpKTsKKwkJaWYgKHBnZF9ub25lKCpwZ2QpKSB7CisJCQlwdWQgPSAocHVkX3QgKikgc3BwX2dldHBhZ2UoKTsKKwkJCXNldF9wZ2QocGdkLCBfX3BnZChfX3BhKHB1ZCkgfCBfS0VSTlBHX1RBQkxFIHwKKwkJCQkJCV9QQUdFX1VTRVIpKTsKKwkJfQorCQlwdWQgPSBwdWRfb2Zmc2V0KHBnZCwgKHVuc2lnbmVkIGxvbmcpX192YShwaHlzKSk7CisJCWlmIChwdWRfbm9uZSgqcHVkKSkgeworCQkJcG1kID0gKHBtZF90ICopIHNwcF9nZXRwYWdlKCk7CisJCQlzZXRfcHVkKHB1ZCwgX19wdWQoX19wYShwbWQpIHwgX0tFUk5QR19UQUJMRSB8CisJCQkJCQlfUEFHRV9VU0VSKSk7CisJCX0KKwkJcG1kID0gcG1kX29mZnNldChwdWQsIHBoeXMpOworCQlCVUdfT04oIXBtZF9ub25lKCpwbWQpKTsKKwkJc2V0X3BtZChwbWQsIF9fcG1kKHBoeXMgfCBwZ3Byb3RfdmFsKHByb3QpKSk7CisJfQorfQorCit2b2lkIF9faW5pdCBpbml0X2V4dHJhX21hcHBpbmdfd2IodW5zaWduZWQgbG9uZyBwaHlzLCB1bnNpZ25lZCBsb25nIHNpemUpCit7CisJX19pbml0X2V4dHJhX21hcHBpbmcocGh5cywgc2l6ZSwgUEFHRV9LRVJORUxfTEFSR0UpOworfQorCit2b2lkIF9faW5pdCBpbml0X2V4dHJhX21hcHBpbmdfdWModW5zaWduZWQgbG9uZyBwaHlzLCB1bnNpZ25lZCBsb25nIHNpemUpCit7CisJX19pbml0X2V4dHJhX21hcHBpbmcocGh5cywgc2l6ZSwgUEFHRV9LRVJORUxfTEFSR0VfTk9DQUNIRSk7Cit9CisKIC8qCiAgKiBUaGUgaGVhZC5TIGNvZGUgc2V0cyB1cCB0aGUga2VybmVsIGhpZ2ggbWFwcGluZzoKICAqCkBAIC0yMTMsMjAgKzI3MCw5IEBACiAJfQogfQogCi0vKiBOT1RFOiB0aGlzIGlzIG1lYW50IHRvIGJlIHJ1biBvbmx5IGF0IGJvb3QgKi8KLXZvaWQgX19pbml0IF9fc2V0X2ZpeG1hcChlbnVtIGZpeGVkX2FkZHJlc3NlcyBpZHgsIHVuc2lnbmVkIGxvbmcgcGh5cywgcGdwcm90X3QgcHJvdCkKLXsKLQl1bnNpZ25lZCBsb25nIGFkZHJlc3MgPSBfX2ZpeF90b192aXJ0KGlkeCk7Ci0KLQlpZiAoaWR4ID49IF9fZW5kX29mX2ZpeGVkX2FkZHJlc3NlcykgewotCQlwcmludGsoS0VSTl9FUlIgIkludmFsaWQgX19zZXRfZml4bWFwXG4iKTsKLQkJcmV0dXJuOwotCX0KLQlzZXRfcHRlX3BoeXMoYWRkcmVzcywgcGh5cywgcHJvdCk7Ci19Ci0KIHN0YXRpYyB1bnNpZ25lZCBsb25nIF9faW5pdGRhdGEgdGFibGVfc3RhcnQ7CiBzdGF0aWMgdW5zaWduZWQgbG9uZyBfX21lbWluaXRkYXRhIHRhYmxlX2VuZDsKK3N0YXRpYyB1bnNpZ25lZCBsb25nIF9fbWVtaW5pdGRhdGEgdGFibGVfdG9wOwogCiBzdGF0aWMgX19tZW1pbml0IHZvaWQgKmFsbG9jX2xvd19wYWdlKHVuc2lnbmVkIGxvbmcgKnBoeXMpCiB7CkBAIC0yNDAsNyArMjg2LDcgQEAKIAkJcmV0dXJuIGFkcjsKIAl9CiAKLQlpZiAocGZuID49IGVuZF9wZm4pCisJaWYgKHBmbiA+PSB0YWJsZV90b3ApCiAJCXBhbmljKCJhbGxvY19sb3dfcGFnZTogcmFuIG91dCBvZiBtZW1vcnkiKTsKIAogCWFkciA9IGVhcmx5X2lvcmVtYXAocGZuICogUEFHRV9TSVpFLCBQQUdFX1NJWkUpOwpAQCAtMjU3LDY1ICszMDMsNjEgQEAKIAllYXJseV9pb3VubWFwKGFkciwgUEFHRV9TSVpFKTsKIH0KIAotLyogTXVzdCBydW4gYmVmb3JlIHphcF9sb3dfbWFwcGluZ3MgKi8KLV9fbWVtaW5pdCB2b2lkICplYXJseV9pb3JlbWFwKHVuc2lnbmVkIGxvbmcgYWRkciwgdW5zaWduZWQgbG9uZyBzaXplKQorc3RhdGljIHVuc2lnbmVkIGxvbmcgX19tZW1pbml0CitwaHlzX3B0ZV9pbml0KHB0ZV90ICpwdGVfcGFnZSwgdW5zaWduZWQgbG9uZyBhZGRyLCB1bnNpZ25lZCBsb25nIGVuZCkKIHsKLQlwbWRfdCAqcG1kLCAqbGFzdF9wbWQ7Ci0JdW5zaWduZWQgbG9uZyB2YWRkcjsKLQlpbnQgaSwgcG1kczsKKwl1bnNpZ25lZCBwYWdlcyA9IDA7CisJdW5zaWduZWQgbG9uZyBsYXN0X21hcF9hZGRyID0gZW5kOworCWludCBpOwogCi0JcG1kcyA9ICgoYWRkciAmIH5QTURfTUFTSykgKyBzaXplICsgflBNRF9NQVNLKSAvIFBNRF9TSVpFOwotCXZhZGRyID0gX19TVEFSVF9LRVJORUxfbWFwOwotCXBtZCA9IGxldmVsMl9rZXJuZWxfcGd0OwotCWxhc3RfcG1kID0gbGV2ZWwyX2tlcm5lbF9wZ3QgKyBQVFJTX1BFUl9QTUQgLSAxOworCXB0ZV90ICpwdGUgPSBwdGVfcGFnZSArIHB0ZV9pbmRleChhZGRyKTsKIAotCWZvciAoOyBwbWQgPD0gbGFzdF9wbWQ7IHBtZCsrLCB2YWRkciArPSBQTURfU0laRSkgewotCQlmb3IgKGkgPSAwOyBpIDwgcG1kczsgaSsrKSB7Ci0JCQlpZiAocG1kX3ByZXNlbnQocG1kW2ldKSkKLQkJCQlnb3RvIGNvbnRpbnVlX291dGVyX2xvb3A7CisJZm9yKGkgPSBwdGVfaW5kZXgoYWRkcik7IGkgPCBQVFJTX1BFUl9QVEU7IGkrKywgYWRkciArPSBQQUdFX1NJWkUsIHB0ZSsrKSB7CisKKwkJaWYgKGFkZHIgPj0gZW5kKSB7CisJCQlpZiAoIWFmdGVyX2Jvb3RtZW0pIHsKKwkJCQlmb3IoOyBpIDwgUFRSU19QRVJfUFRFOyBpKyssIHB0ZSsrKQorCQkJCQlzZXRfcHRlKHB0ZSwgX19wdGUoMCkpOworCQkJfQorCQkJYnJlYWs7CiAJCX0KLQkJdmFkZHIgKz0gYWRkciAmIH5QTURfTUFTSzsKLQkJYWRkciAmPSBQTURfTUFTSzsKIAotCQlmb3IgKGkgPSAwOyBpIDwgcG1kczsgaSsrLCBhZGRyICs9IFBNRF9TSVpFKQotCQkJc2V0X3BtZChwbWQraSwgX19wbWQoYWRkciB8IF9fUEFHRV9LRVJORUxfTEFSR0VfRVhFQykpOwotCQlfX2ZsdXNoX3RsYl9hbGwoKTsKKwkJaWYgKHB0ZV92YWwoKnB0ZSkpCisJCQljb250aW51ZTsKIAotCQlyZXR1cm4gKHZvaWQgKil2YWRkcjsKLWNvbnRpbnVlX291dGVyX2xvb3A6Ci0JCTsKKwkJaWYgKDApCisJCQlwcmludGsoIiAgIHB0ZT0lcCBhZGRyPSVseCBwdGU9JTAxNmx4XG4iLAorCQkJICAgICAgIHB0ZSwgYWRkciwgcGZuX3B0ZShhZGRyID4+IFBBR0VfU0hJRlQsIFBBR0VfS0VSTkVMKS5wdGUpOworCQlzZXRfcHRlKHB0ZSwgcGZuX3B0ZShhZGRyID4+IFBBR0VfU0hJRlQsIFBBR0VfS0VSTkVMKSk7CisJCWxhc3RfbWFwX2FkZHIgPSAoYWRkciAmIFBBR0VfTUFTSykgKyBQQUdFX1NJWkU7CisJCXBhZ2VzKys7CiAJfQotCXByaW50ayhLRVJOX0VSUiAiZWFybHlfaW9yZW1hcCgweCVseCwgJWx1KSBmYWlsZWRcbiIsIGFkZHIsIHNpemUpOworCXVwZGF0ZV9wYWdlX2NvdW50KFBHX0xFVkVMXzRLLCBwYWdlcyk7CiAKLQlyZXR1cm4gTlVMTDsKLX0KLQotLyoKLSAqIFRvIGF2b2lkIHZpcnR1YWwgYWxpYXNlcyBsYXRlcjoKLSAqLwotX19tZW1pbml0IHZvaWQgZWFybHlfaW91bm1hcCh2b2lkICphZGRyLCB1bnNpZ25lZCBsb25nIHNpemUpCi17Ci0JdW5zaWduZWQgbG9uZyB2YWRkcjsKLQlwbWRfdCAqcG1kOwotCWludCBpLCBwbWRzOwotCi0JdmFkZHIgPSAodW5zaWduZWQgbG9uZylhZGRyOwotCXBtZHMgPSAoKHZhZGRyICYgflBNRF9NQVNLKSArIHNpemUgKyB+UE1EX01BU0spIC8gUE1EX1NJWkU7Ci0JcG1kID0gbGV2ZWwyX2tlcm5lbF9wZ3QgKyBwbWRfaW5kZXgodmFkZHIpOwotCi0JZm9yIChpID0gMDsgaSA8IHBtZHM7IGkrKykKLQkJcG1kX2NsZWFyKHBtZCArIGkpOwotCi0JX19mbHVzaF90bGJfYWxsKCk7CisJcmV0dXJuIGxhc3RfbWFwX2FkZHI7CiB9CiAKIHN0YXRpYyB1bnNpZ25lZCBsb25nIF9fbWVtaW5pdAotcGh5c19wbWRfaW5pdChwbWRfdCAqcG1kX3BhZ2UsIHVuc2lnbmVkIGxvbmcgYWRkcmVzcywgdW5zaWduZWQgbG9uZyBlbmQpCitwaHlzX3B0ZV91cGRhdGUocG1kX3QgKnBtZCwgdW5zaWduZWQgbG9uZyBhZGRyZXNzLCB1bnNpZ25lZCBsb25nIGVuZCkKIHsKKwlwdGVfdCAqcHRlID0gKHB0ZV90ICopcG1kX3BhZ2VfdmFkZHIoKnBtZCk7CisKKwlyZXR1cm4gcGh5c19wdGVfaW5pdChwdGUsIGFkZHJlc3MsIGVuZCk7Cit9CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIF9fbWVtaW5pdAorcGh5c19wbWRfaW5pdChwbWRfdCAqcG1kX3BhZ2UsIHVuc2lnbmVkIGxvbmcgYWRkcmVzcywgdW5zaWduZWQgbG9uZyBlbmQsCisJCQkgdW5zaWduZWQgbG9uZyBwYWdlX3NpemVfbWFzaykKK3sKKwl1bnNpZ25lZCBsb25nIHBhZ2VzID0gMDsKKwl1bnNpZ25lZCBsb25nIGxhc3RfbWFwX2FkZHIgPSBlbmQ7CisKIAlpbnQgaSA9IHBtZF9pbmRleChhZGRyZXNzKTsKIAogCWZvciAoOyBpIDwgUFRSU19QRVJfUE1EOyBpKyssIGFkZHJlc3MgKz0gUE1EX1NJWkUpIHsKKwkJdW5zaWduZWQgbG9uZyBwdGVfcGh5czsKIAkJcG1kX3QgKnBtZCA9IHBtZF9wYWdlICsgcG1kX2luZGV4KGFkZHJlc3MpOworCQlwdGVfdCAqcHRlOwogCiAJCWlmIChhZGRyZXNzID49IGVuZCkgewogCQkJaWYgKCFhZnRlcl9ib290bWVtKSB7CkBAIC0zMjUsMzEgKzM2Nyw1MCBAQAogCQkJYnJlYWs7CiAJCX0KIAotCQlpZiAocG1kX3ZhbCgqcG1kKSkKKwkJaWYgKHBtZF92YWwoKnBtZCkpIHsKKwkJCWlmICghcG1kX2xhcmdlKCpwbWQpKQorCQkJCWxhc3RfbWFwX2FkZHIgPSBwaHlzX3B0ZV91cGRhdGUocG1kLCBhZGRyZXNzLAorCQkJCQkJCQkgZW5kKTsKIAkJCWNvbnRpbnVlOworCQl9CiAKLQkJc2V0X3B0ZSgocHRlX3QgKilwbWQsCi0JCQlwZm5fcHRlKGFkZHJlc3MgPj4gUEFHRV9TSElGVCwgUEFHRV9LRVJORUxfTEFSR0UpKTsKKwkJaWYgKHBhZ2Vfc2l6ZV9tYXNrICYgKDE8PFBHX0xFVkVMXzJNKSkgeworCQkJcGFnZXMrKzsKKwkJCXNldF9wdGUoKHB0ZV90ICopcG1kLAorCQkJCXBmbl9wdGUoYWRkcmVzcyA+PiBQQUdFX1NISUZULCBQQUdFX0tFUk5FTF9MQVJHRSkpOworCQkJbGFzdF9tYXBfYWRkciA9IChhZGRyZXNzICYgUE1EX01BU0spICsgUE1EX1NJWkU7CisJCQljb250aW51ZTsKKwkJfQorCisJCXB0ZSA9IGFsbG9jX2xvd19wYWdlKCZwdGVfcGh5cyk7CisJCWxhc3RfbWFwX2FkZHIgPSBwaHlzX3B0ZV9pbml0KHB0ZSwgYWRkcmVzcywgZW5kKTsKKwkJdW5tYXBfbG93X3BhZ2UocHRlKTsKKworCQlwbWRfcG9wdWxhdGVfa2VybmVsKCZpbml0X21tLCBwbWQsIF9fdmEocHRlX3BoeXMpKTsKIAl9Ci0JcmV0dXJuIGFkZHJlc3M7CisJdXBkYXRlX3BhZ2VfY291bnQoUEdfTEVWRUxfMk0sIHBhZ2VzKTsKKwlyZXR1cm4gbGFzdF9tYXBfYWRkcjsKIH0KIAogc3RhdGljIHVuc2lnbmVkIGxvbmcgX19tZW1pbml0Ci1waHlzX3BtZF91cGRhdGUocHVkX3QgKnB1ZCwgdW5zaWduZWQgbG9uZyBhZGRyZXNzLCB1bnNpZ25lZCBsb25nIGVuZCkKK3BoeXNfcG1kX3VwZGF0ZShwdWRfdCAqcHVkLCB1bnNpZ25lZCBsb25nIGFkZHJlc3MsIHVuc2lnbmVkIGxvbmcgZW5kLAorCQkJIHVuc2lnbmVkIGxvbmcgcGFnZV9zaXplX21hc2spCiB7CiAJcG1kX3QgKnBtZCA9IHBtZF9vZmZzZXQocHVkLCAwKTsKIAl1bnNpZ25lZCBsb25nIGxhc3RfbWFwX2FkZHI7CiAKIAlzcGluX2xvY2soJmluaXRfbW0ucGFnZV90YWJsZV9sb2NrKTsKLQlsYXN0X21hcF9hZGRyID0gcGh5c19wbWRfaW5pdChwbWQsIGFkZHJlc3MsIGVuZCk7CisJbGFzdF9tYXBfYWRkciA9IHBoeXNfcG1kX2luaXQocG1kLCBhZGRyZXNzLCBlbmQsIHBhZ2Vfc2l6ZV9tYXNrKTsKIAlzcGluX3VubG9jaygmaW5pdF9tbS5wYWdlX3RhYmxlX2xvY2spOwogCV9fZmx1c2hfdGxiX2FsbCgpOwogCXJldHVybiBsYXN0X21hcF9hZGRyOwogfQogCiBzdGF0aWMgdW5zaWduZWQgbG9uZyBfX21lbWluaXQKLXBoeXNfcHVkX2luaXQocHVkX3QgKnB1ZF9wYWdlLCB1bnNpZ25lZCBsb25nIGFkZHIsIHVuc2lnbmVkIGxvbmcgZW5kKQorcGh5c19wdWRfaW5pdChwdWRfdCAqcHVkX3BhZ2UsIHVuc2lnbmVkIGxvbmcgYWRkciwgdW5zaWduZWQgbG9uZyBlbmQsCisJCQkgdW5zaWduZWQgbG9uZyBwYWdlX3NpemVfbWFzaykKIHsKKwl1bnNpZ25lZCBsb25nIHBhZ2VzID0gMDsKIAl1bnNpZ25lZCBsb25nIGxhc3RfbWFwX2FkZHIgPSBlbmQ7CiAJaW50IGkgPSBwdWRfaW5kZXgoYWRkcik7CiAKQEAgLTM2OSwxMSArNDMwLDEzIEBACiAKIAkJaWYgKHB1ZF92YWwoKnB1ZCkpIHsKIAkJCWlmICghcHVkX2xhcmdlKCpwdWQpKQotCQkJCWxhc3RfbWFwX2FkZHIgPSBwaHlzX3BtZF91cGRhdGUocHVkLCBhZGRyLCBlbmQpOworCQkJCWxhc3RfbWFwX2FkZHIgPSBwaHlzX3BtZF91cGRhdGUocHVkLCBhZGRyLCBlbmQsCisJCQkJCQkJIHBhZ2Vfc2l6ZV9tYXNrKTsKIAkJCWNvbnRpbnVlOwogCQl9CiAKLQkJaWYgKGRpcmVjdF9nYnBhZ2VzKSB7CisJCWlmIChwYWdlX3NpemVfbWFzayAmICgxPDxQR19MRVZFTF8xRykpIHsKKwkJCXBhZ2VzKys7CiAJCQlzZXRfcHRlKChwdGVfdCAqKXB1ZCwKIAkJCQlwZm5fcHRlKGFkZHIgPj4gUEFHRV9TSElGVCwgUEFHRV9LRVJORUxfTEFSR0UpKTsKIAkJCWxhc3RfbWFwX2FkZHIgPSAoYWRkciAmIFBVRF9NQVNLKSArIFBVRF9TSVpFOwpAQCAtMzgzLDI3ICs0NDYsNTAgQEAKIAkJcG1kID0gYWxsb2NfbG93X3BhZ2UoJnBtZF9waHlzKTsKIAogCQlzcGluX2xvY2soJmluaXRfbW0ucGFnZV90YWJsZV9sb2NrKTsKLQkJc2V0X3B1ZChwdWQsIF9fcHVkKHBtZF9waHlzIHwgX0tFUk5QR19UQUJMRSkpOwotCQlsYXN0X21hcF9hZGRyID0gcGh5c19wbWRfaW5pdChwbWQsIGFkZHIsIGVuZCk7CisJCWxhc3RfbWFwX2FkZHIgPSBwaHlzX3BtZF9pbml0KHBtZCwgYWRkciwgZW5kLCBwYWdlX3NpemVfbWFzayk7CisJCXVubWFwX2xvd19wYWdlKHBtZCk7CisJCXB1ZF9wb3B1bGF0ZSgmaW5pdF9tbSwgcHVkLCBfX3ZhKHBtZF9waHlzKSk7CiAJCXNwaW5fdW5sb2NrKCZpbml0X21tLnBhZ2VfdGFibGVfbG9jayk7CiAKLQkJdW5tYXBfbG93X3BhZ2UocG1kKTsKIAl9CiAJX19mbHVzaF90bGJfYWxsKCk7CisJdXBkYXRlX3BhZ2VfY291bnQoUEdfTEVWRUxfMUcsIHBhZ2VzKTsKIAotCXJldHVybiBsYXN0X21hcF9hZGRyID4+IFBBR0VfU0hJRlQ7CisJcmV0dXJuIGxhc3RfbWFwX2FkZHI7Cit9CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIF9fbWVtaW5pdAorcGh5c19wdWRfdXBkYXRlKHBnZF90ICpwZ2QsIHVuc2lnbmVkIGxvbmcgYWRkciwgdW5zaWduZWQgbG9uZyBlbmQsCisJCSB1bnNpZ25lZCBsb25nIHBhZ2Vfc2l6ZV9tYXNrKQoreworCXB1ZF90ICpwdWQ7CisKKwlwdWQgPSAocHVkX3QgKilwZ2RfcGFnZV92YWRkcigqcGdkKTsKKworCXJldHVybiBwaHlzX3B1ZF9pbml0KHB1ZCwgYWRkciwgZW5kLCBwYWdlX3NpemVfbWFzayk7CiB9CiAKIHN0YXRpYyB2b2lkIF9faW5pdCBmaW5kX2Vhcmx5X3RhYmxlX3NwYWNlKHVuc2lnbmVkIGxvbmcgZW5kKQogewotCXVuc2lnbmVkIGxvbmcgcHVkcywgcG1kcywgdGFibGVzLCBzdGFydDsKKwl1bnNpZ25lZCBsb25nIHB1ZHMsIHBtZHMsIHB0ZXMsIHRhYmxlcywgc3RhcnQ7CiAKIAlwdWRzID0gKGVuZCArIFBVRF9TSVpFIC0gMSkgPj4gUFVEX1NISUZUOwogCXRhYmxlcyA9IHJvdW5kX3VwKHB1ZHMgKiBzaXplb2YocHVkX3QpLCBQQUdFX1NJWkUpOwotCWlmICghZGlyZWN0X2dicGFnZXMpIHsKKwlpZiAoZGlyZWN0X2dicGFnZXMpIHsKKwkJdW5zaWduZWQgbG9uZyBleHRyYTsKKwkJZXh0cmEgPSBlbmQgLSAoKGVuZD4+UFVEX1NISUZUKSA8PCBQVURfU0hJRlQpOworCQlwbWRzID0gKGV4dHJhICsgUE1EX1NJWkUgLSAxKSA+PiBQTURfU0hJRlQ7CisJfSBlbHNlCiAJCXBtZHMgPSAoZW5kICsgUE1EX1NJWkUgLSAxKSA+PiBQTURfU0hJRlQ7Ci0JCXRhYmxlcyArPSByb3VuZF91cChwbWRzICogc2l6ZW9mKHBtZF90KSwgUEFHRV9TSVpFKTsKLQl9CisJdGFibGVzICs9IHJvdW5kX3VwKHBtZHMgKiBzaXplb2YocG1kX3QpLCBQQUdFX1NJWkUpOworCisJaWYgKGNwdV9oYXNfcHNlKSB7CisJCXVuc2lnbmVkIGxvbmcgZXh0cmE7CisJCWV4dHJhID0gZW5kIC0gKChlbmQ+PlBNRF9TSElGVCkgPDwgUE1EX1NISUZUKTsKKwkJcHRlcyA9IChleHRyYSArIFBBR0VfU0laRSAtIDEpID4+IFBBR0VfU0hJRlQ7CisJfSBlbHNlCisJCXB0ZXMgPSAoZW5kICsgUEFHRV9TSVpFIC0gMSkgPj4gUEFHRV9TSElGVDsKKwl0YWJsZXMgKz0gcm91bmRfdXAocHRlcyAqIHNpemVvZihwdGVfdCksIFBBR0VfU0laRSk7CiAKIAkvKgogCSAqIFJFRC1QRU4gcHV0dGluZyBwYWdlIHRhYmxlcyBvbmx5IG9uIG5vZGUgMCBjb3VsZApAQCAtNDE3LDEwICs1MDMsMTAgQEAKIAogCXRhYmxlX3N0YXJ0ID4+PSBQQUdFX1NISUZUOwogCXRhYmxlX2VuZCA9IHRhYmxlX3N0YXJ0OworCXRhYmxlX3RvcCA9IHRhYmxlX3N0YXJ0ICsgKHRhYmxlcyA+PiBQQUdFX1NISUZUKTsKIAotCWVhcmx5X3ByaW50aygia2VybmVsIGRpcmVjdCBtYXBwaW5nIHRhYmxlcyB1cCB0byAlbHggQCAlbHgtJWx4XG4iLAotCQllbmQsIHRhYmxlX3N0YXJ0IDw8IFBBR0VfU0hJRlQsCi0JCSh0YWJsZV9zdGFydCA8PCBQQUdFX1NISUZUKSArIHRhYmxlcyk7CisJcHJpbnRrKEtFUk5fREVCVUcgImtlcm5lbCBkaXJlY3QgbWFwcGluZyB0YWJsZXMgdXAgdG8gJWx4IEAgJWx4LSVseFxuIiwKKwkJZW5kLCB0YWJsZV9zdGFydCA8PCBQQUdFX1NISUZULCB0YWJsZV90b3AgPDwgUEFHRV9TSElGVCk7CiB9CiAKIHN0YXRpYyB2b2lkIF9faW5pdCBpbml0X2dicGFnZXModm9pZCkKQEAgLTQzMSw3ICs1MTcsNyBAQAogCQlkaXJlY3RfZ2JwYWdlcyA9IDA7CiB9CiAKLSNpZmRlZiBDT05GSUdfTUVNVEVTVF9CT09UUEFSQU0KKyNpZmRlZiBDT05GSUdfTUVNVEVTVAogCiBzdGF0aWMgdm9pZCBfX2luaXQgbWVtdGVzdCh1bnNpZ25lZCBsb25nIHN0YXJ0X3BoeXMsIHVuc2lnbmVkIGxvbmcgc2l6ZSwKIAkJCQkgdW5zaWduZWQgcGF0dGVybikKQEAgLTQ5Myw3ICs1NzksOCBAQAogCiB9CiAKLXN0YXRpYyBpbnQgbWVtdGVzdF9wYXR0ZXJuIF9faW5pdGRhdGEgPSBDT05GSUdfTUVNVEVTVF9CT09UUEFSQU1fVkFMVUU7CisvKiBkZWZhdWx0IGlzIGRpc2FibGVkICovCitzdGF0aWMgaW50IG1lbXRlc3RfcGF0dGVybiBfX2luaXRkYXRhOwogCiBzdGF0aWMgaW50IF9faW5pdCBwYXJzZV9tZW10ZXN0KGNoYXIgKmFyZykKIHsKQEAgLTU0MiwxNSArNjI5LDg1IEBACiB9CiAjZW5kaWYKIAorc3RhdGljIHVuc2lnbmVkIGxvbmcgX19pbml0IGtlcm5lbF9waHlzaWNhbF9tYXBwaW5nX2luaXQodW5zaWduZWQgbG9uZyBzdGFydCwKKwkJCQkJCXVuc2lnbmVkIGxvbmcgZW5kLAorCQkJCQkJdW5zaWduZWQgbG9uZyBwYWdlX3NpemVfbWFzaykKK3sKKworCXVuc2lnbmVkIGxvbmcgbmV4dCwgbGFzdF9tYXBfYWRkciA9IGVuZDsKKworCXN0YXJ0ID0gKHVuc2lnbmVkIGxvbmcpX192YShzdGFydCk7CisJZW5kID0gKHVuc2lnbmVkIGxvbmcpX192YShlbmQpOworCisJZm9yICg7IHN0YXJ0IDwgZW5kOyBzdGFydCA9IG5leHQpIHsKKwkJcGdkX3QgKnBnZCA9IHBnZF9vZmZzZXRfayhzdGFydCk7CisJCXVuc2lnbmVkIGxvbmcgcHVkX3BoeXM7CisJCXB1ZF90ICpwdWQ7CisKKwkJbmV4dCA9IHN0YXJ0ICsgUEdESVJfU0laRTsKKwkJaWYgKG5leHQgPiBlbmQpCisJCQluZXh0ID0gZW5kOworCisJCWlmIChwZ2RfdmFsKCpwZ2QpKSB7CisJCQlsYXN0X21hcF9hZGRyID0gcGh5c19wdWRfdXBkYXRlKHBnZCwgX19wYShzdGFydCksCisJCQkJCQkgX19wYShlbmQpLCBwYWdlX3NpemVfbWFzayk7CisJCQljb250aW51ZTsKKwkJfQorCisJCWlmIChhZnRlcl9ib290bWVtKQorCQkJcHVkID0gcHVkX29mZnNldChwZ2QsIHN0YXJ0ICYgUEdESVJfTUFTSyk7CisJCWVsc2UKKwkJCXB1ZCA9IGFsbG9jX2xvd19wYWdlKCZwdWRfcGh5cyk7CisKKwkJbGFzdF9tYXBfYWRkciA9IHBoeXNfcHVkX2luaXQocHVkLCBfX3BhKHN0YXJ0KSwgX19wYShuZXh0KSwKKwkJCQkJCSBwYWdlX3NpemVfbWFzayk7CisJCXVubWFwX2xvd19wYWdlKHB1ZCk7CisJCXBnZF9wb3B1bGF0ZSgmaW5pdF9tbSwgcGdkX29mZnNldF9rKHN0YXJ0KSwKKwkJCSAgICAgX192YShwdWRfcGh5cykpOworCX0KKworCXJldHVybiBsYXN0X21hcF9hZGRyOworfQorCitzdHJ1Y3QgbWFwX3JhbmdlIHsKKwl1bnNpZ25lZCBsb25nIHN0YXJ0OworCXVuc2lnbmVkIGxvbmcgZW5kOworCXVuc2lnbmVkIHBhZ2Vfc2l6ZV9tYXNrOworfTsKKworI2RlZmluZSBOUl9SQU5HRV9NUiA1CisKK3N0YXRpYyBpbnQgc2F2ZV9tcihzdHJ1Y3QgbWFwX3JhbmdlICptciwgaW50IG5yX3JhbmdlLAorCQkgICB1bnNpZ25lZCBsb25nIHN0YXJ0X3BmbiwgdW5zaWduZWQgbG9uZyBlbmRfcGZuLAorCQkgICB1bnNpZ25lZCBsb25nIHBhZ2Vfc2l6ZV9tYXNrKQoreworCisJaWYgKHN0YXJ0X3BmbiA8IGVuZF9wZm4pIHsKKwkJaWYgKG5yX3JhbmdlID49IE5SX1JBTkdFX01SKQorCQkJcGFuaWMoInJ1biBvdXQgb2YgcmFuZ2UgZm9yIGluaXRfbWVtb3J5X21hcHBpbmdcbiIpOworCQltcltucl9yYW5nZV0uc3RhcnQgPSBzdGFydF9wZm48PFBBR0VfU0hJRlQ7CisJCW1yW25yX3JhbmdlXS5lbmQgICA9IGVuZF9wZm48PFBBR0VfU0hJRlQ7CisJCW1yW25yX3JhbmdlXS5wYWdlX3NpemVfbWFzayA9IHBhZ2Vfc2l6ZV9tYXNrOworCQlucl9yYW5nZSsrOworCX0KKworCXJldHVybiBucl9yYW5nZTsKK30KKwogLyoKICAqIFNldHVwIHRoZSBkaXJlY3QgbWFwcGluZyBvZiB0aGUgcGh5c2ljYWwgbWVtb3J5IGF0IFBBR0VfT0ZGU0VULgogICogVGhpcyBydW5zIGJlZm9yZSBib290bWVtIGlzIGluaXRpYWxpemVkIGFuZCBnZXRzIHBhZ2VzIGRpcmVjdGx5IGZyb20KICAqIHRoZSBwaHlzaWNhbCBtZW1vcnkuIFRvIGFjY2VzcyB0aGVtIHRoZXkgYXJlIHRlbXBvcmFyaWx5IG1hcHBlZC4KICAqLwotdW5zaWduZWQgbG9uZyBfX2luaXRfcmVmb2sgaW5pdF9tZW1vcnlfbWFwcGluZyh1bnNpZ25lZCBsb25nIHN0YXJ0LCB1bnNpZ25lZCBsb25nIGVuZCkKK3Vuc2lnbmVkIGxvbmcgX19pbml0X3JlZm9rIGluaXRfbWVtb3J5X21hcHBpbmcodW5zaWduZWQgbG9uZyBzdGFydCwKKwkJCQkJICAgICAgIHVuc2lnbmVkIGxvbmcgZW5kKQogewotCXVuc2lnbmVkIGxvbmcgbmV4dCwgbGFzdF9tYXBfYWRkciA9IGVuZDsKLQl1bnNpZ25lZCBsb25nIHN0YXJ0X3BoeXMgPSBzdGFydCwgZW5kX3BoeXMgPSBlbmQ7CisJdW5zaWduZWQgbG9uZyBsYXN0X21hcF9hZGRyID0gMDsKKwl1bnNpZ25lZCBsb25nIHBhZ2Vfc2l6ZV9tYXNrID0gMDsKKwl1bnNpZ25lZCBsb25nIHN0YXJ0X3BmbiwgZW5kX3BmbjsKKworCXN0cnVjdCBtYXBfcmFuZ2UgbXJbTlJfUkFOR0VfTVJdOworCWludCBucl9yYW5nZSwgaTsKIAogCXByaW50ayhLRVJOX0lORk8gImluaXRfbWVtb3J5X21hcHBpbmdcbiIpOwogCkBAIC01NjEsNDggKzcxOCwxMTUgQEAKIAkgKiBtZW1vcnkgbWFwcGVkLiBVbmZvcnR1bmF0ZWx5IHRoaXMgaXMgZG9uZSBjdXJyZW50bHkgYmVmb3JlIHRoZQogCSAqIG5vZGVzIGFyZSBkaXNjb3ZlcmVkLgogCSAqLwotCWlmICghYWZ0ZXJfYm9vdG1lbSkgeworCWlmICghYWZ0ZXJfYm9vdG1lbSkKIAkJaW5pdF9nYnBhZ2VzKCk7CisKKwlpZiAoZGlyZWN0X2dicGFnZXMpCisJCXBhZ2Vfc2l6ZV9tYXNrIHw9IDEgPDwgUEdfTEVWRUxfMUc7CisJaWYgKGNwdV9oYXNfcHNlKQorCQlwYWdlX3NpemVfbWFzayB8PSAxIDw8IFBHX0xFVkVMXzJNOworCisJbWVtc2V0KG1yLCAwLCBzaXplb2YobXIpKTsKKwlucl9yYW5nZSA9IDA7CisKKwkvKiBoZWFkIGlmIG5vdCBiaWcgcGFnZSBhbGlnbm1lbnQgPyovCisJc3RhcnRfcGZuID0gc3RhcnQgPj4gUEFHRV9TSElGVDsKKwllbmRfcGZuID0gKChzdGFydCArIChQTURfU0laRSAtIDEpKSA+PiBQTURfU0hJRlQpCisJCQk8PCAoUE1EX1NISUZUIC0gUEFHRV9TSElGVCk7CisJbnJfcmFuZ2UgPSBzYXZlX21yKG1yLCBucl9yYW5nZSwgc3RhcnRfcGZuLCBlbmRfcGZuLCAwKTsKKworCS8qIGJpZyBwYWdlICgyTSkgcmFuZ2UqLworCXN0YXJ0X3BmbiA9ICgoc3RhcnQgKyAoUE1EX1NJWkUgLSAxKSk+PlBNRF9TSElGVCkKKwkJCSA8PCAoUE1EX1NISUZUIC0gUEFHRV9TSElGVCk7CisJZW5kX3BmbiA9ICgoc3RhcnQgKyAoUFVEX1NJWkUgLSAxKSk+PlBVRF9TSElGVCkKKwkJCSA8PCAoUFVEX1NISUZUIC0gUEFHRV9TSElGVCk7CisJaWYgKGVuZF9wZm4gPiAoKGVuZD4+UFVEX1NISUZUKTw8KFBVRF9TSElGVCAtIFBBR0VfU0hJRlQpKSkKKwkJZW5kX3BmbiA9ICgoZW5kPj5QVURfU0hJRlQpPDwoUFVEX1NISUZUIC0gUEFHRV9TSElGVCkpOworCW5yX3JhbmdlID0gc2F2ZV9tcihtciwgbnJfcmFuZ2UsIHN0YXJ0X3BmbiwgZW5kX3BmbiwKKwkJCXBhZ2Vfc2l6ZV9tYXNrICYgKDE8PFBHX0xFVkVMXzJNKSk7CisKKwkvKiBiaWcgcGFnZSAoMUcpIHJhbmdlICovCisJc3RhcnRfcGZuID0gZW5kX3BmbjsKKwllbmRfcGZuID0gKGVuZD4+UFVEX1NISUZUKSA8PCAoUFVEX1NISUZUIC0gUEFHRV9TSElGVCk7CisJbnJfcmFuZ2UgPSBzYXZlX21yKG1yLCBucl9yYW5nZSwgc3RhcnRfcGZuLCBlbmRfcGZuLAorCQkJCXBhZ2Vfc2l6ZV9tYXNrICYKKwkJCQkgKCgxPDxQR19MRVZFTF8yTSl8KDE8PFBHX0xFVkVMXzFHKSkpOworCisJLyogdGFpbCBpcyBub3QgYmlnIHBhZ2UgKDFHKSBhbGlnbm1lbnQgKi8KKwlzdGFydF9wZm4gPSBlbmRfcGZuOworCWVuZF9wZm4gPSAoZW5kPj5QTURfU0hJRlQpIDw8IChQTURfU0hJRlQgLSBQQUdFX1NISUZUKTsKKwlucl9yYW5nZSA9IHNhdmVfbXIobXIsIG5yX3JhbmdlLCBzdGFydF9wZm4sIGVuZF9wZm4sCisJCQlwYWdlX3NpemVfbWFzayAmICgxPDxQR19MRVZFTF8yTSkpOworCisJLyogdGFpbCBpcyBub3QgYmlnIHBhZ2UgKDJNKSBhbGlnbm1lbnQgKi8KKwlzdGFydF9wZm4gPSBlbmRfcGZuOworCWVuZF9wZm4gPSBlbmQ+PlBBR0VfU0hJRlQ7CisJbnJfcmFuZ2UgPSBzYXZlX21yKG1yLCBucl9yYW5nZSwgc3RhcnRfcGZuLCBlbmRfcGZuLCAwKTsKKworCS8qIHRyeSB0byBtZXJnZSBzYW1lIHBhZ2Ugc2l6ZSBhbmQgY29udGludW91cyAqLworCWZvciAoaSA9IDA7IG5yX3JhbmdlID4gMSAmJiBpIDwgbnJfcmFuZ2UgLSAxOyBpKyspIHsKKwkJdW5zaWduZWQgbG9uZyBvbGRfc3RhcnQ7CisJCWlmIChtcltpXS5lbmQgIT0gbXJbaSsxXS5zdGFydCB8fAorCQkgICAgbXJbaV0ucGFnZV9zaXplX21hc2sgIT0gbXJbaSsxXS5wYWdlX3NpemVfbWFzaykKKwkJCWNvbnRpbnVlOworCQkvKiBtb3ZlIGl0ICovCisJCW9sZF9zdGFydCA9IG1yW2ldLnN0YXJ0OworCQltZW1tb3ZlKCZtcltpXSwgJm1yW2krMV0sCisJCQkgKG5yX3JhbmdlIC0gMSAtIGkpICogc2l6ZW9mIChzdHJ1Y3QgbWFwX3JhbmdlKSk7CisJCW1yW2ldLnN0YXJ0ID0gb2xkX3N0YXJ0OworCQlucl9yYW5nZS0tOworCX0KKworCWZvciAoaSA9IDA7IGkgPCBucl9yYW5nZTsgaSsrKQorCQlwcmludGsoS0VSTl9ERUJVRyAiICUwMTBseCAtICUwMTBseCBwYWdlICVzXG4iLAorCQkJCW1yW2ldLnN0YXJ0LCBtcltpXS5lbmQsCisJCQkobXJbaV0ucGFnZV9zaXplX21hc2sgJiAoMTw8UEdfTEVWRUxfMUcpKT8iMUciOigKKwkJCSAobXJbaV0ucGFnZV9zaXplX21hc2sgJiAoMTw8UEdfTEVWRUxfMk0pKT8iMk0iOiI0ayIpKTsKKworCWlmICghYWZ0ZXJfYm9vdG1lbSkKIAkJZmluZF9lYXJseV90YWJsZV9zcGFjZShlbmQpOwotCX0KIAotCXN0YXJ0ID0gKHVuc2lnbmVkIGxvbmcpX192YShzdGFydCk7Ci0JZW5kID0gKHVuc2lnbmVkIGxvbmcpX192YShlbmQpOwotCi0JZm9yICg7IHN0YXJ0IDwgZW5kOyBzdGFydCA9IG5leHQpIHsKLQkJcGdkX3QgKnBnZCA9IHBnZF9vZmZzZXRfayhzdGFydCk7Ci0JCXVuc2lnbmVkIGxvbmcgcHVkX3BoeXM7Ci0JCXB1ZF90ICpwdWQ7Ci0KLQkJaWYgKGFmdGVyX2Jvb3RtZW0pCi0JCQlwdWQgPSBwdWRfb2Zmc2V0KHBnZCwgc3RhcnQgJiBQR0RJUl9NQVNLKTsKLQkJZWxzZQotCQkJcHVkID0gYWxsb2NfbG93X3BhZ2UoJnB1ZF9waHlzKTsKLQotCQluZXh0ID0gc3RhcnQgKyBQR0RJUl9TSVpFOwotCQlpZiAobmV4dCA+IGVuZCkKLQkJCW5leHQgPSBlbmQ7Ci0JCWxhc3RfbWFwX2FkZHIgPSBwaHlzX3B1ZF9pbml0KHB1ZCwgX19wYShzdGFydCksIF9fcGEobmV4dCkpOwotCQlpZiAoIWFmdGVyX2Jvb3RtZW0pCi0JCQlzZXRfcGdkKHBnZF9vZmZzZXRfayhzdGFydCksIG1rX2tlcm5lbF9wZ2QocHVkX3BoeXMpKTsKLQkJdW5tYXBfbG93X3BhZ2UocHVkKTsKLQl9CisJZm9yIChpID0gMDsgaSA8IG5yX3JhbmdlOyBpKyspCisJCWxhc3RfbWFwX2FkZHIgPSBrZXJuZWxfcGh5c2ljYWxfbWFwcGluZ19pbml0KAorCQkJCQltcltpXS5zdGFydCwgbXJbaV0uZW5kLAorCQkJCQltcltpXS5wYWdlX3NpemVfbWFzayk7CiAKIAlpZiAoIWFmdGVyX2Jvb3RtZW0pCiAJCW1tdV9jcjRfZmVhdHVyZXMgPSByZWFkX2NyNCgpOwogCV9fZmx1c2hfdGxiX2FsbCgpOwogCi0JaWYgKCFhZnRlcl9ib290bWVtKQorCWlmICghYWZ0ZXJfYm9vdG1lbSAmJiB0YWJsZV9lbmQgPiB0YWJsZV9zdGFydCkKIAkJcmVzZXJ2ZV9lYXJseSh0YWJsZV9zdGFydCA8PCBQQUdFX1NISUZULAogCQkJCSB0YWJsZV9lbmQgPDwgUEFHRV9TSElGVCwgIlBHVEFCTEUiKTsKIAotCWlmICghYWZ0ZXJfYm9vdG1lbSkKLQkJZWFybHlfbWVtdGVzdChzdGFydF9waHlzLCBlbmRfcGh5cyk7CisJcHJpbnRrKEtFUk5fSU5GTyAibGFzdF9tYXBfYWRkcjogJWx4IGVuZDogJWx4XG4iLAorCQkJIGxhc3RfbWFwX2FkZHIsIGVuZCk7CiAKLQlyZXR1cm4gbGFzdF9tYXBfYWRkcjsKKwlpZiAoIWFmdGVyX2Jvb3RtZW0pCisJCWVhcmx5X21lbXRlc3Qoc3RhcnQsIGVuZCk7CisKKwlyZXR1cm4gbGFzdF9tYXBfYWRkciA+PiBQQUdFX1NISUZUOwogfQogCiAjaWZuZGVmIENPTkZJR19OVU1BCit2b2lkIF9faW5pdCBpbml0bWVtX2luaXQodW5zaWduZWQgbG9uZyBzdGFydF9wZm4sIHVuc2lnbmVkIGxvbmcgZW5kX3BmbikKK3sKKwl1bnNpZ25lZCBsb25nIGJvb3RtYXBfc2l6ZSwgYm9vdG1hcDsKKworCWJvb3RtYXBfc2l6ZSA9IGJvb3RtZW1fYm9vdG1hcF9wYWdlcyhlbmRfcGZuKTw8UEFHRV9TSElGVDsKKwlib290bWFwID0gZmluZF9lODIwX2FyZWEoMCwgZW5kX3Bmbjw8UEFHRV9TSElGVCwgYm9vdG1hcF9zaXplLAorCQkJCSBQQUdFX1NJWkUpOworCWlmIChib290bWFwID09IC0xTCkKKwkJcGFuaWMoIkNhbm5vdCBmaW5kIGJvb3RtZW0gbWFwIG9mIHNpemUgJWxkXG4iLCBib290bWFwX3NpemUpOworCS8qIGRvbid0IHRvdWNoIG1pbl9sb3dfcGZuICovCisJYm9vdG1hcF9zaXplID0gaW5pdF9ib290bWVtX25vZGUoTk9ERV9EQVRBKDApLCBib290bWFwID4+IFBBR0VfU0hJRlQsCisJCQkJCSAwLCBlbmRfcGZuKTsKKwllODIwX3JlZ2lzdGVyX2FjdGl2ZV9yZWdpb25zKDAsIHN0YXJ0X3BmbiwgZW5kX3Bmbik7CisJZnJlZV9ib290bWVtX3dpdGhfYWN0aXZlX3JlZ2lvbnMoMCwgZW5kX3Bmbik7CisJZWFybHlfcmVzX3RvX2Jvb3RtZW0oMCwgZW5kX3Bmbjw8UEFHRV9TSElGVCk7CisJcmVzZXJ2ZV9ib290bWVtKGJvb3RtYXAsIGJvb3RtYXBfc2l6ZSwgQk9PVE1FTV9ERUZBVUxUKTsKK30KKwogdm9pZCBfX2luaXQgcGFnaW5nX2luaXQodm9pZCkKIHsKIAl1bnNpZ25lZCBsb25nIG1heF96b25lX3BmbnNbTUFYX05SX1pPTkVTXTsKQEAgLTYxMCw5ICs4MzQsOSBAQAogCW1lbXNldChtYXhfem9uZV9wZm5zLCAwLCBzaXplb2YobWF4X3pvbmVfcGZucykpOwogCW1heF96b25lX3BmbnNbWk9ORV9ETUFdID0gTUFYX0RNQV9QRk47CiAJbWF4X3pvbmVfcGZuc1taT05FX0RNQTMyXSA9IE1BWF9ETUEzMl9QRk47Ci0JbWF4X3pvbmVfcGZuc1taT05FX05PUk1BTF0gPSBlbmRfcGZuOworCW1heF96b25lX3BmbnNbWk9ORV9OT1JNQUxdID0gbWF4X3BmbjsKIAotCW1lbW9yeV9wcmVzZW50KDAsIDAsIGVuZF9wZm4pOworCW1lbW9yeV9wcmVzZW50KDAsIDAsIG1heF9wZm4pOwogCXNwYXJzZV9pbml0KCk7CiAJZnJlZV9hcmVhX2luaXRfbm9kZXMobWF4X3pvbmVfcGZucyk7CiB9CkBAIC02OTQsOCArOTE4LDggQEAKICNlbHNlCiAJdG90YWxyYW1fcGFnZXMgPSBmcmVlX2FsbF9ib290bWVtKCk7CiAjZW5kaWYKLQlyZXNlcnZlZHBhZ2VzID0gZW5kX3BmbiAtIHRvdGFscmFtX3BhZ2VzIC0KLQkJCQkJYWJzZW50X3BhZ2VzX2luX3JhbmdlKDAsIGVuZF9wZm4pOworCXJlc2VydmVkcGFnZXMgPSBtYXhfcGZuIC0gdG90YWxyYW1fcGFnZXMgLQorCQkJCQlhYnNlbnRfcGFnZXNfaW5fcmFuZ2UoMCwgbWF4X3Bmbik7CiAJYWZ0ZXJfYm9vdG1lbSA9IDE7CiAKIAljb2Rlc2l6ZSA9ICAodW5zaWduZWQgbG9uZykgJl9ldGV4dCAtICh1bnNpZ25lZCBsb25nKSAmX3RleHQ7CkBAIC03MTQsNyArOTM4LDcgQEAKIAlwcmludGsoS0VSTl9JTkZPICJNZW1vcnk6ICVsdWsvJWx1ayBhdmFpbGFibGUgKCVsZGsga2VybmVsIGNvZGUsICIKIAkJCQkiJWxkayByZXNlcnZlZCwgJWxkayBkYXRhLCAlbGRrIGluaXQpXG4iLAogCQkodW5zaWduZWQgbG9uZykgbnJfZnJlZV9wYWdlcygpIDw8IChQQUdFX1NISUZULTEwKSwKLQkJZW5kX3BmbiA8PCAoUEFHRV9TSElGVC0xMCksCisJCW1heF9wZm4gPDwgKFBBR0VfU0hJRlQtMTApLAogCQljb2Rlc2l6ZSA+PiAxMCwKIAkJcmVzZXJ2ZWRwYWdlcyA8PCAoUEFHRV9TSElGVC0xMCksCiAJCWRhdGFzaXplID4+IDEwLApAQCAtNzY3LDYgKzk5MSwxMyBAQAogdm9pZCBtYXJrX3JvZGF0YV9ybyh2b2lkKQogewogCXVuc2lnbmVkIGxvbmcgc3RhcnQgPSBQRk5fQUxJR04oX3N0ZXh0KSwgZW5kID0gUEZOX0FMSUdOKF9fZW5kX3JvZGF0YSk7CisJdW5zaWduZWQgbG9uZyByb2RhdGFfc3RhcnQgPQorCQkoKHVuc2lnbmVkIGxvbmcpX19zdGFydF9yb2RhdGEgKyBQQUdFX1NJWkUgLSAxKSAmIFBBR0VfTUFTSzsKKworI2lmZGVmIENPTkZJR19EWU5BTUlDX0ZUUkFDRQorCS8qIER5bmFtaWMgdHJhY2luZyBtb2RpZmllcyB0aGUga2VybmVsIHRleHQgc2VjdGlvbiAqLworCXN0YXJ0ID0gcm9kYXRhX3N0YXJ0OworI2VuZGlmCiAKIAlwcmludGsoS0VSTl9JTkZPICJXcml0ZSBwcm90ZWN0aW5nIHRoZSBrZXJuZWwgcmVhZC1vbmx5IGRhdGE6ICVsdWtcbiIsCiAJICAgICAgIChlbmQgLSBzdGFydCkgPj4gMTApOwpAQCAtNzc2LDggKzEwMDcsNyBAQAogCSAqIFRoZSByb2RhdGEgc2VjdGlvbiAoYnV0IG5vdCB0aGUga2VybmVsIHRleHQhKSBzaG91bGQgYWxzbyBiZQogCSAqIG5vdC1leGVjdXRhYmxlLgogCSAqLwotCXN0YXJ0ID0gKCh1bnNpZ25lZCBsb25nKV9fc3RhcnRfcm9kYXRhICsgUEFHRV9TSVpFIC0gMSkgJiBQQUdFX01BU0s7Ci0Jc2V0X21lbW9yeV9ueChzdGFydCwgKGVuZCAtIHN0YXJ0KSA+PiBQQUdFX1NISUZUKTsKKwlzZXRfbWVtb3J5X254KHJvZGF0YV9zdGFydCwgKGVuZCAtIHJvZGF0YV9zdGFydCkgPj4gUEFHRV9TSElGVCk7CiAKIAlyb2RhdGFfdGVzdCgpOwogCkBAIC03OTksMjQgKzEwMjksMjYgQEAKIH0KICNlbmRpZgogCi12b2lkIF9faW5pdCByZXNlcnZlX2Jvb3RtZW1fZ2VuZXJpYyh1bnNpZ25lZCBsb25nIHBoeXMsIHVuc2lnbmVkIGxlbikKK2ludCBfX2luaXQgcmVzZXJ2ZV9ib290bWVtX2dlbmVyaWModW5zaWduZWQgbG9uZyBwaHlzLCB1bnNpZ25lZCBsb25nIGxlbiwKKwkJCQkgICBpbnQgZmxhZ3MpCiB7CiAjaWZkZWYgQ09ORklHX05VTUEKIAlpbnQgbmlkLCBuZXh0X25pZDsKKwlpbnQgcmV0OwogI2VuZGlmCiAJdW5zaWduZWQgbG9uZyBwZm4gPSBwaHlzID4+IFBBR0VfU0hJRlQ7CiAKLQlpZiAocGZuID49IGVuZF9wZm4pIHsKKwlpZiAocGZuID49IG1heF9wZm4pIHsKIAkJLyoKIAkJICogVGhpcyBjYW4gaGFwcGVuIHdpdGgga2R1bXAga2VybmVscyB3aGVuIGFjY2Vzc2luZwogCQkgKiBmaXJtd2FyZSB0YWJsZXM6CiAJCSAqLwogCQlpZiAocGZuIDwgbWF4X3Bmbl9tYXBwZWQpCi0JCQlyZXR1cm47CisJCQlyZXR1cm4gLUVGQVVMVDsKIAotCQlwcmludGsoS0VSTl9FUlIgInJlc2VydmVfYm9vdG1lbTogaWxsZWdhbCByZXNlcnZlICVseCAldVxuIiwKKwkJcHJpbnRrKEtFUk5fRVJSICJyZXNlcnZlX2Jvb3RtZW06IGlsbGVnYWwgcmVzZXJ2ZSAlbHggJWx1XG4iLAogCQkJCXBoeXMsIGxlbik7Ci0JCXJldHVybjsKKwkJcmV0dXJuIC1FRkFVTFQ7CiAJfQogCiAJLyogU2hvdWxkIGNoZWNrIGhlcmUgYWdhaW5zdCB0aGUgZTgyMCBtYXAgdG8gYXZvaWQgZG91YmxlIGZyZWUgKi8KQEAgLTgyNCw5ICsxMDU2LDEzIEBACiAJbmlkID0gcGh5c190b19uaWQocGh5cyk7CiAJbmV4dF9uaWQgPSBwaHlzX3RvX25pZChwaHlzICsgbGVuIC0gMSk7CiAJaWYgKG5pZCA9PSBuZXh0X25pZCkKLQkJcmVzZXJ2ZV9ib290bWVtX25vZGUoTk9ERV9EQVRBKG5pZCksIHBoeXMsIGxlbiwgQk9PVE1FTV9ERUZBVUxUKTsKKwkJcmV0ID0gcmVzZXJ2ZV9ib290bWVtX25vZGUoTk9ERV9EQVRBKG5pZCksIHBoeXMsIGxlbiwgZmxhZ3MpOwogCWVsc2UKLQkJcmVzZXJ2ZV9ib290bWVtKHBoeXMsIGxlbiwgQk9PVE1FTV9ERUZBVUxUKTsKKwkJcmV0ID0gcmVzZXJ2ZV9ib290bWVtKHBoeXMsIGxlbiwgZmxhZ3MpOworCisJaWYgKHJldCAhPSAwKQorCQlyZXR1cm4gcmV0OworCiAjZWxzZQogCXJlc2VydmVfYm9vdG1lbShwaHlzLCBsZW4sIEJPT1RNRU1fREVGQVVMVCk7CiAjZW5kaWYKQEAgLTgzNSw2ICsxMDcxLDggQEAKIAkJZG1hX3Jlc2VydmUgKz0gbGVuIC8gUEFHRV9TSVpFOwogCQlzZXRfZG1hX3Jlc2VydmUoZG1hX3Jlc2VydmUpOwogCX0KKworCXJldHVybiAwOwogfQogCiBpbnQga2Vybl9hZGRyX3ZhbGlkKHVuc2lnbmVkIGxvbmcgYWRkcikKQEAgLTkzOSw3ICsxMTc3LDcgQEAKIAlwbWRfdCAqcG1kOwogCiAJZm9yICg7IGFkZHIgPCBlbmQ7IGFkZHIgPSBuZXh0KSB7Ci0JCW5leHQgPSBwbWRfYWRkcl9lbmQoYWRkciwgZW5kKTsKKwkJdm9pZCAqcCA9IE5VTEw7CiAKIAkJcGdkID0gdm1lbW1hcF9wZ2RfcG9wdWxhdGUoYWRkciwgbm9kZSk7CiAJCWlmICghcGdkKQpAQCAtOTQ5LDMzICsxMTg3LDUxIEBACiAJCWlmICghcHVkKQogCQkJcmV0dXJuIC1FTk9NRU07CiAKLQkJcG1kID0gcG1kX29mZnNldChwdWQsIGFkZHIpOwotCQlpZiAocG1kX25vbmUoKnBtZCkpIHsKLQkJCXB0ZV90IGVudHJ5OwotCQkJdm9pZCAqcDsKKwkJaWYgKCFjcHVfaGFzX3BzZSkgeworCQkJbmV4dCA9IChhZGRyICsgUEFHRV9TSVpFKSAmIFBBR0VfTUFTSzsKKwkJCXBtZCA9IHZtZW1tYXBfcG1kX3BvcHVsYXRlKHB1ZCwgYWRkciwgbm9kZSk7CiAKLQkJCXAgPSB2bWVtbWFwX2FsbG9jX2Jsb2NrKFBNRF9TSVpFLCBub2RlKTsKKwkJCWlmICghcG1kKQorCQkJCXJldHVybiAtRU5PTUVNOworCisJCQlwID0gdm1lbW1hcF9wdGVfcG9wdWxhdGUocG1kLCBhZGRyLCBub2RlKTsKKwogCQkJaWYgKCFwKQogCQkJCXJldHVybiAtRU5PTUVNOwogCi0JCQllbnRyeSA9IHBmbl9wdGUoX19wYShwKSA+PiBQQUdFX1NISUZULAotCQkJCQkJCVBBR0VfS0VSTkVMX0xBUkdFKTsKLQkJCXNldF9wbWQocG1kLCBfX3BtZChwdGVfdmFsKGVudHJ5KSkpOwotCi0JCQkvKiBjaGVjayB0byBzZWUgaWYgd2UgaGF2ZSBjb250aWd1b3VzIGJsb2NrcyAqLwotCQkJaWYgKHBfZW5kICE9IHAgfHwgbm9kZV9zdGFydCAhPSBub2RlKSB7Ci0JCQkJaWYgKHBfc3RhcnQpCi0JCQkJCXByaW50ayhLRVJOX0RFQlVHICIgWyVseC0lbHhdIFBNRCAtPiBbJXAtJXBdIG9uIG5vZGUgJWRcbiIsCi0JCQkJCQlhZGRyX3N0YXJ0LCBhZGRyX2VuZC0xLCBwX3N0YXJ0LCBwX2VuZC0xLCBub2RlX3N0YXJ0KTsKLQkJCQlhZGRyX3N0YXJ0ID0gYWRkcjsKLQkJCQlub2RlX3N0YXJ0ID0gbm9kZTsKLQkJCQlwX3N0YXJ0ID0gcDsKLQkJCX0KLQkJCWFkZHJfZW5kID0gYWRkciArIFBNRF9TSVpFOwotCQkJcF9lbmQgPSBwICsgUE1EX1NJWkU7CisJCQlhZGRyX2VuZCA9IGFkZHIgKyBQQUdFX1NJWkU7CisJCQlwX2VuZCA9IHAgKyBQQUdFX1NJWkU7CiAJCX0gZWxzZSB7Ci0JCQl2bWVtbWFwX3ZlcmlmeSgocHRlX3QgKilwbWQsIG5vZGUsIGFkZHIsIG5leHQpOworCQkJbmV4dCA9IHBtZF9hZGRyX2VuZChhZGRyLCBlbmQpOworCisJCQlwbWQgPSBwbWRfb2Zmc2V0KHB1ZCwgYWRkcik7CisJCQlpZiAocG1kX25vbmUoKnBtZCkpIHsKKwkJCQlwdGVfdCBlbnRyeTsKKworCQkJCXAgPSB2bWVtbWFwX2FsbG9jX2Jsb2NrKFBNRF9TSVpFLCBub2RlKTsKKwkJCQlpZiAoIXApCisJCQkJCXJldHVybiAtRU5PTUVNOworCisJCQkJZW50cnkgPSBwZm5fcHRlKF9fcGEocCkgPj4gUEFHRV9TSElGVCwKKwkJCQkJCVBBR0VfS0VSTkVMX0xBUkdFKTsKKwkJCQlzZXRfcG1kKHBtZCwgX19wbWQocHRlX3ZhbChlbnRyeSkpKTsKKworCQkJCS8qIGNoZWNrIHRvIHNlZSBpZiB3ZSBoYXZlIGNvbnRpZ3VvdXMgYmxvY2tzICovCisJCQkJaWYgKHBfZW5kICE9IHAgfHwgbm9kZV9zdGFydCAhPSBub2RlKSB7CisJCQkJCWlmIChwX3N0YXJ0KQorCQkJCQkJcHJpbnRrKEtFUk5fREVCVUcgIiBbJWx4LSVseF0gUE1EIC0+IFslcC0lcF0gb24gbm9kZSAlZFxuIiwKKwkJCQkJCSAgICAgICBhZGRyX3N0YXJ0LCBhZGRyX2VuZC0xLCBwX3N0YXJ0LCBwX2VuZC0xLCBub2RlX3N0YXJ0KTsKKwkJCQkJYWRkcl9zdGFydCA9IGFkZHI7CisJCQkJCW5vZGVfc3RhcnQgPSBub2RlOworCQkJCQlwX3N0YXJ0ID0gcDsKKwkJCQl9CisKKwkJCQlhZGRyX2VuZCA9IGFkZHIgKyBQTURfU0laRTsKKwkJCQlwX2VuZCA9IHAgKyBQTURfU0laRTsKKwkJCX0gZWxzZQorCQkJCXZtZW1tYXBfdmVyaWZ5KChwdGVfdCAqKXBtZCwgbm9kZSwgYWRkciwgbmV4dCk7CiAJCX0KKwogCX0KIAlyZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL2FyY2gveDg2L21tL2lvcmVtYXAuYyBiL2FyY2gveDg2L21tL2lvcmVtYXAuYwppbmRleCBkMWI4NjcxLi4yNGMxZDNjIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9tbS9pb3JlbWFwLmMKKysrIGIvYXJjaC94ODYvbW0vaW9yZW1hcC5jCkBAIC0xMiw2ICsxMiw3IEBACiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CiAjaW5jbHVkZSA8bGludXgvc2xhYi5oPgogI2luY2x1ZGUgPGxpbnV4L3ZtYWxsb2MuaD4KKyNpbmNsdWRlIDxsaW51eC9tbWlvdHJhY2UuaD4KIAogI2luY2x1ZGUgPGFzbS9jYWNoZWZsdXNoLmg+CiAjaW5jbHVkZSA8YXNtL2U4MjAuaD4KQEAgLTEyMiwxMCArMTIzLDEzIEBACiB7CiAJdW5zaWduZWQgbG9uZyBwZm4sIG9mZnNldCwgdmFkZHI7CiAJcmVzb3VyY2Vfc2l6ZV90IGxhc3RfYWRkcjsKKwljb25zdCByZXNvdXJjZV9zaXplX3QgdW5hbGlnbmVkX3BoeXNfYWRkciA9IHBoeXNfYWRkcjsKKwljb25zdCB1bnNpZ25lZCBsb25nIHVuYWxpZ25lZF9zaXplID0gc2l6ZTsKIAlzdHJ1Y3Qgdm1fc3RydWN0ICphcmVhOwogCXVuc2lnbmVkIGxvbmcgbmV3X3Byb3RfdmFsOwogCXBncHJvdF90IHByb3Q7CiAJaW50IHJldHZhbDsKKwl2b2lkIF9faW9tZW0gKnJldF9hZGRyOwogCiAJLyogRG9uJ3QgYWxsb3cgd3JhcGFyb3VuZCBvciB6ZXJvIHNpemUgKi8KIAlsYXN0X2FkZHIgPSBwaHlzX2FkZHIgKyBzaXplIC0gMTsKQEAgLTE0Miw3ICsxNDYsNyBAQAogCS8qCiAJICogRG9uJ3QgcmVtYXAgdGhlIGxvdyBQQ0kvSVNBIGFyZWEsIGl0J3MgYWx3YXlzIG1hcHBlZC4uCiAJICovCi0JaWYgKHBoeXNfYWRkciA+PSBJU0FfU1RBUlRfQUREUkVTUyAmJiBsYXN0X2FkZHIgPCBJU0FfRU5EX0FERFJFU1MpCisJaWYgKGlzX0lTQV9yYW5nZShwaHlzX2FkZHIsIGxhc3RfYWRkcikpCiAJCXJldHVybiAoX19mb3JjZSB2b2lkIF9faW9tZW0gKilwaHlzX3RvX3ZpcnQocGh5c19hZGRyKTsKIAogCS8qCkBAIC0yMzMsNyArMjM3LDEwIEBACiAJCXJldHVybiBOVUxMOwogCX0KIAotCXJldHVybiAodm9pZCBfX2lvbWVtICopICh2YWRkciArIG9mZnNldCk7CisJcmV0X2FkZHIgPSAodm9pZCBfX2lvbWVtICopICh2YWRkciArIG9mZnNldCk7CisJbW1pb3RyYWNlX2lvcmVtYXAodW5hbGlnbmVkX3BoeXNfYWRkciwgdW5hbGlnbmVkX3NpemUsIHJldF9hZGRyKTsKKworCXJldHVybiByZXRfYWRkcjsKIH0KIAogLyoqCkBAIC0yNjEsNyArMjY4LDcgQEAKIHsKIAkvKgogCSAqIElkZWFsbHksIHRoaXMgc2hvdWxkIGJlOgotCSAqCXBhdF93Y19lbmFibGVkID8gX1BBR0VfQ0FDSEVfVUMgOiBfUEFHRV9DQUNIRV9VQ19NSU5VUzsKKwkgKglwYXRfZW5hYmxlZCA/IF9QQUdFX0NBQ0hFX1VDIDogX1BBR0VfQ0FDSEVfVUNfTUlOVVM7CiAJICoKIAkgKiBUaWxsIHdlIGZpeCBhbGwgWCBkcml2ZXJzIHRvIHVzZSBpb3JlbWFwX3djKCksIHdlIHdpbGwgdXNlCiAJICogVUMgTUlOVVMuCkBAIC0yODUsNyArMjkyLDcgQEAKICAqLwogdm9pZCBfX2lvbWVtICppb3JlbWFwX3djKHVuc2lnbmVkIGxvbmcgcGh5c19hZGRyLCB1bnNpZ25lZCBsb25nIHNpemUpCiB7Ci0JaWYgKHBhdF93Y19lbmFibGVkKQorCWlmIChwYXRfZW5hYmxlZCkKIAkJcmV0dXJuIF9faW9yZW1hcF9jYWxsZXIocGh5c19hZGRyLCBzaXplLCBfUEFHRV9DQUNIRV9XQywKIAkJCQkJX19idWlsdGluX3JldHVybl9hZGRyZXNzKDApKTsKIAllbHNlCkBAIC0zNDEsMTMgKzM0OCwxNSBAQAogCSAqIHZtX2FyZWEgYW5kIGJ5IHNpbXBseSByZXR1cm5pbmcgYW4gYWRkcmVzcyBpbnRvIHRoZSBrZXJuZWwgbWFwcGluZwogCSAqIG9mIElTQSBzcGFjZS4gICBTbyBoYW5kbGUgdGhhdCBoZXJlLgogCSAqLwotCWlmIChhZGRyID49IHBoeXNfdG9fdmlydChJU0FfU1RBUlRfQUREUkVTUykgJiYKLQkgICAgYWRkciA8IHBoeXNfdG9fdmlydChJU0FfRU5EX0FERFJFU1MpKQorCWlmICgodm9pZCBfX2ZvcmNlICopYWRkciA+PSBwaHlzX3RvX3ZpcnQoSVNBX1NUQVJUX0FERFJFU1MpICYmCisJICAgICh2b2lkIF9fZm9yY2UgKilhZGRyIDwgcGh5c190b192aXJ0KElTQV9FTkRfQUREUkVTUykpCiAJCXJldHVybjsKIAogCWFkZHIgPSAodm9sYXRpbGUgdm9pZCBfX2lvbWVtICopCiAJCShQQUdFX01BU0sgJiAodW5zaWduZWQgbG9uZyBfX2ZvcmNlKWFkZHIpOwogCisJbW1pb3RyYWNlX2lvdW5tYXAoYWRkcik7CisKIAkvKiBVc2UgdGhlIHZtIGFyZWEgdW5sb2NrZWQsIGFzc3VtaW5nIHRoZSBjYWxsZXIKIAkgICBlbnN1cmVzIHRoZXJlIGlzbid0IGFub3RoZXIgaW91bm1hcCBmb3IgdGhlIHNhbWUgYWRkcmVzcwogCSAgIGluIHBhcmFsbGVsLiBSZXVzZSBvZiB0aGUgdmlydHVhbCBhZGRyZXNzIGlzIHByZXZlbnRlZCBieQpAQCAtMzU1LDcgKzM2NCw3IEBACiAJICAgY3BhIHRha2VzIGNhcmUgb2YgdGhlIGRpcmVjdCBtYXBwaW5ncy4gKi8KIAlyZWFkX2xvY2soJnZtbGlzdF9sb2NrKTsKIAlmb3IgKHAgPSB2bWxpc3Q7IHA7IHAgPSBwLT5uZXh0KSB7Ci0JCWlmIChwLT5hZGRyID09IGFkZHIpCisJCWlmIChwLT5hZGRyID09ICh2b2lkIF9fZm9yY2UgKilhZGRyKQogCQkJYnJlYWs7CiAJfQogCXJlYWRfdW5sb2NrKCZ2bWxpc3RfbG9jayk7CkBAIC0zNjksNyArMzc4LDcgQEAKIAlmcmVlX21lbXR5cGUocC0+cGh5c19hZGRyLCBwLT5waHlzX2FkZHIgKyBnZXRfdm1fYXJlYV9zaXplKHApKTsKIAogCS8qIEZpbmFsbHkgcmVtb3ZlIGl0ICovCi0JbyA9IHJlbW92ZV92bV9hcmVhKCh2b2lkICopYWRkcik7CisJbyA9IHJlbW92ZV92bV9hcmVhKCh2b2lkIF9fZm9yY2UgKilhZGRyKTsKIAlCVUdfT04ocCAhPSBvIHx8IG8gPT0gTlVMTCk7CiAJa2ZyZWUocCk7CiB9CkBAIC0zODgsNyArMzk3LDcgQEAKIAlpZiAocGFnZV9pc19yYW0oc3RhcnQgPj4gUEFHRV9TSElGVCkpCiAJCXJldHVybiBfX3ZhKHBoeXMpOwogCi0JYWRkciA9ICh2b2lkICopaW9yZW1hcF9kZWZhdWx0KHN0YXJ0LCBQQUdFX1NJWkUpOworCWFkZHIgPSAodm9pZCBfX2ZvcmNlICopaW9yZW1hcF9kZWZhdWx0KHN0YXJ0LCBQQUdFX1NJWkUpOwogCWlmIChhZGRyKQogCQlhZGRyID0gKHZvaWQgKikoKHVuc2lnbmVkIGxvbmcpYWRkciB8IChwaHlzICYgflBBR0VfTUFTSykpOwogCkBAIC00MDQsOCArNDEzLDYgQEAKIAlyZXR1cm47CiB9CiAKLSNpZmRlZiBDT05GSUdfWDg2XzMyCi0KIGludCBfX2luaXRkYXRhIGVhcmx5X2lvcmVtYXBfZGVidWc7CiAKIHN0YXRpYyBpbnQgX19pbml0IGVhcmx5X2lvcmVtYXBfZGVidWdfc2V0dXAoY2hhciAqc3RyKQpAQCAtNDE3LDggKzQyNCw3IEBACiBlYXJseV9wYXJhbSgiZWFybHlfaW9yZW1hcF9kZWJ1ZyIsIGVhcmx5X2lvcmVtYXBfZGVidWdfc2V0dXApOwogCiBzdGF0aWMgX19pbml0ZGF0YSBpbnQgYWZ0ZXJfcGFnaW5nX2luaXQ7Ci1zdGF0aWMgcHRlX3QgYm1fcHRlW1BBR0VfU0laRS9zaXplb2YocHRlX3QpXQotCQlfX3NlY3Rpb24oLmJzcy5wYWdlX2FsaWduZWQpOworc3RhdGljIHB0ZV90IGJtX3B0ZVtQQUdFX1NJWkUvc2l6ZW9mKHB0ZV90KV0gX19wYWdlX2FsaWduZWRfYnNzOwogCiBzdGF0aWMgaW5saW5lIHBtZF90ICogX19pbml0IGVhcmx5X2lvcmVtYXBfcG1kKHVuc2lnbmVkIGxvbmcgYWRkcikKIHsKQEAgLTUwNywxMCArNTEzLDExIEBACiAJCXJldHVybjsKIAl9CiAJcHRlID0gZWFybHlfaW9yZW1hcF9wdGUoYWRkcik7CisKIAlpZiAocGdwcm90X3ZhbChmbGFncykpCiAJCXNldF9wdGUocHRlLCBwZm5fcHRlKHBoeXMgPj4gUEFHRV9TSElGVCwgZmxhZ3MpKTsKIAllbHNlCi0JCXB0ZV9jbGVhcihOVUxMLCBhZGRyLCBwdGUpOworCQlwdGVfY2xlYXIoJmluaXRfbW0sIGFkZHIsIHB0ZSk7CiAJX19mbHVzaF90bGJfb25lKGFkZHIpOwogfQogCkBAIC02NDgsNSArNjU1LDMgQEAKIHsKIAlXQVJOX09OKDEpOwogfQotCi0jZW5kaWYgLyogQ09ORklHX1g4Nl8zMiAqLwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvbW0vazh0b3BvbG9neV82NC5jIGIvYXJjaC94ODYvbW0vazh0b3BvbG9neV82NC5jCmluZGV4IDFmNDc2ZTQuLjQxZjFiNWMgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L21tL2s4dG9wb2xvZ3lfNjQuYworKysgYi9hcmNoL3g4Ni9tbS9rOHRvcG9sb2d5XzY0LmMKQEAgLTIyLDYgKzIyLDcgQEAKICNpbmNsdWRlIDxhc20vbnVtYS5oPgogI2luY2x1ZGUgPGFzbS9tcHNwZWMuaD4KICNpbmNsdWRlIDxhc20vYXBpYy5oPgorI2luY2x1ZGUgPGFzbS9rOC5oPgogCiBzdGF0aWMgX19pbml0IGludCBmaW5kX25vcnRoYnJpZGdlKHZvaWQpCiB7CkBAIC01NiwzNCArNTcsMzMgQEAKIAkvKgogCSAqIEZpbmQgcG9zc2libGUgYm9vdC10aW1lIFNNUCBjb25maWd1cmF0aW9uOgogCSAqLworI2lmZGVmIENPTkZJR19YODZfTVBQQVJTRQogCWVhcmx5X2ZpbmRfc21wX2NvbmZpZygpOworI2VuZGlmCiAjaWZkZWYgQ09ORklHX0FDUEkKIAkvKgogCSAqIFJlYWQgQVBJQyBpbmZvcm1hdGlvbiBmcm9tIEFDUEkgdGFibGVzLgogCSAqLwogCWVhcmx5X2FjcGlfYm9vdF9pbml0KCk7CiAjZW5kaWYKKyNpZmRlZiBDT05GSUdfWDg2X01QUEFSU0UKIAkvKgogCSAqIGdldCBib290LXRpbWUgU01QIGNvbmZpZ3VyYXRpb246CiAJICovCiAJaWYgKHNtcF9mb3VuZF9jb25maWcpCiAJCWVhcmx5X2dldF9zbXBfY29uZmlnKCk7CisjZW5kaWYKIAllYXJseV9pbml0X2xhcGljX21hcHBpbmcoKTsKIH0KIAogaW50IF9faW5pdCBrOF9zY2FuX25vZGVzKHVuc2lnbmVkIGxvbmcgc3RhcnQsIHVuc2lnbmVkIGxvbmcgZW5kKQogeworCXVuc2lnbmVkIG51bW5vZGVzLCBjb3JlcywgYml0cywgYXBpY2lkX2Jhc2U7CiAJdW5zaWduZWQgbG9uZyBwcmV2YmFzZTsKIAlzdHJ1Y3QgYm9vdG5vZGUgbm9kZXNbOF07Ci0JaW50IG5vZGVpZCwgaSwgbmI7CiAJdW5zaWduZWQgY2hhciBub2RlaWRzWzhdOwotCWludCBmb3VuZCA9IDA7Ci0JdTMyIHJlZzsKLQl1bnNpZ25lZCBudW1ub2RlczsKLQl1bnNpZ25lZCBjb3JlczsKLQl1bnNpZ25lZCBiaXRzOwotCWludCBqOwotCXVuc2lnbmVkIGFwaWNpZF9iYXNlOworCWludCBpLCBqLCBuYiwgZm91bmQgPSAwOworCXUzMiBub2RlaWQsIHJlZzsKIAogCWlmICghZWFybHlfcGNpX2FsbG93ZWQoKSkKIAkJcmV0dXJuIC0xOwpAQCAtMTA1LDcgKzEwNSw2IEBACiAJcHJldmJhc2UgPSAwOwogCWZvciAoaSA9IDA7IGkgPCA4OyBpKyspIHsKIAkJdW5zaWduZWQgbG9uZyBiYXNlLCBsaW1pdDsKLQkJdTMyIG5vZGVpZDsKIAogCQliYXNlID0gcmVhZF9wY2lfY29uZmlnKDAsIG5iLCAxLCAweDQwICsgaSo4KTsKIAkJbGltaXQgPSByZWFkX3BjaV9jb25maWcoMCwgbmIsIDEsIDB4NDQgKyBpKjgpOwpAQCAtMTQ0LDggKzE0Myw4IEBACiAJCWxpbWl0IHw9ICgxPDwyNCktMTsKIAkJbGltaXQrKzsKIAotCQlpZiAobGltaXQgPiBlbmRfcGZuIDw8IFBBR0VfU0hJRlQpCi0JCQlsaW1pdCA9IGVuZF9wZm4gPDwgUEFHRV9TSElGVDsKKwkJaWYgKGxpbWl0ID4gbWF4X3BmbiA8PCBQQUdFX1NISUZUKQorCQkJbGltaXQgPSBtYXhfcGZuIDw8IFBBR0VfU0hJRlQ7CiAJCWlmIChsaW1pdCA8PSBiYXNlKQogCQkJY29udGludWU7CiAKZGlmZiAtLWdpdCBhL2FyY2gveDg2L21tL2ttbWlvLmMgYi9hcmNoL3g4Ni9tbS9rbW1pby5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkzZDgyMDMKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL3g4Ni9tbS9rbW1pby5jCkBAIC0wLDAgKzEsNTEwIEBACisvKiBTdXBwb3J0IGZvciBNTUlPIHByb2Jlcy4KKyAqIEJlbmZpdCBtYW55IGNvZGUgZnJvbSBrcHJvYmVzCisgKiAoQykgMjAwMiBMb3VpcyBaaHVhbmcgPGxvdWlzLnpodWFuZ0BpbnRlbC5jb20+LgorICogICAgIDIwMDcgQWxleGFuZGVyIEVpY2huZXIKKyAqICAgICAyMDA4IFBla2thIFBhYWxhbmVuIDxwcUBpa2kuZmk+CisgKi8KKworI2luY2x1ZGUgPGxpbnV4L2xpc3QuaD4KKyNpbmNsdWRlIDxsaW51eC9yY3VsaXN0Lmg+CisjaW5jbHVkZSA8bGludXgvc3BpbmxvY2suaD4KKyNpbmNsdWRlIDxsaW51eC9oYXNoLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L3VhY2Nlc3MuaD4KKyNpbmNsdWRlIDxsaW51eC9wdHJhY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9wcmVlbXB0Lmg+CisjaW5jbHVkZSA8bGludXgvcGVyY3B1Lmg+CisjaW5jbHVkZSA8bGludXgva2RlYnVnLmg+CisjaW5jbHVkZSA8bGludXgvbXV0ZXguaD4KKyNpbmNsdWRlIDxsaW51eC9pby5oPgorI2luY2x1ZGUgPGFzbS9jYWNoZWZsdXNoLmg+CisjaW5jbHVkZSA8YXNtL3RsYmZsdXNoLmg+CisjaW5jbHVkZSA8bGludXgvZXJybm8uaD4KKyNpbmNsdWRlIDxhc20vZGVidWdyZWcuaD4KKyNpbmNsdWRlIDxsaW51eC9tbWlvdHJhY2UuaD4KKworI2RlZmluZSBLTU1JT19QQUdFX0hBU0hfQklUUyA0CisjZGVmaW5lIEtNTUlPX1BBR0VfVEFCTEVfU0laRSAoMSA8PCBLTU1JT19QQUdFX0hBU0hfQklUUykKKworc3RydWN0IGttbWlvX2ZhdWx0X3BhZ2UgeworCXN0cnVjdCBsaXN0X2hlYWQgbGlzdDsKKwlzdHJ1Y3Qga21taW9fZmF1bHRfcGFnZSAqcmVsZWFzZV9uZXh0OworCXVuc2lnbmVkIGxvbmcgcGFnZTsgLyogbG9jYXRpb24gb2YgdGhlIGZhdWx0IHBhZ2UgKi8KKworCS8qCisJICogTnVtYmVyIG9mIHRpbWVzIHRoaXMgcGFnZSBoYXMgYmVlbiByZWdpc3RlcmVkIGFzIGEgcGFydAorCSAqIG9mIGEgcHJvYmUuIElmIHplcm8sIHBhZ2UgaXMgZGlzYXJtZWQgYW5kIHRoaXMgbWF5IGJlIGZyZWVkLgorCSAqIFVzZWQgb25seSBieSB3cml0ZXJzIChSQ1UpLgorCSAqLworCWludCBjb3VudDsKK307CisKK3N0cnVjdCBrbW1pb19kZWxheWVkX3JlbGVhc2UgeworCXN0cnVjdCByY3VfaGVhZCByY3U7CisJc3RydWN0IGttbWlvX2ZhdWx0X3BhZ2UgKnJlbGVhc2VfbGlzdDsKK307CisKK3N0cnVjdCBrbW1pb19jb250ZXh0IHsKKwlzdHJ1Y3Qga21taW9fZmF1bHRfcGFnZSAqZnBhZ2U7CisJc3RydWN0IGttbWlvX3Byb2JlICpwcm9iZTsKKwl1bnNpZ25lZCBsb25nIHNhdmVkX2ZsYWdzOworCXVuc2lnbmVkIGxvbmcgYWRkcjsKKwlpbnQgYWN0aXZlOworfTsKKworc3RhdGljIERFRklORV9TUElOTE9DSyhrbW1pb19sb2NrKTsKKworLyogUHJvdGVjdGVkIGJ5IGttbWlvX2xvY2sgKi8KK3Vuc2lnbmVkIGludCBrbW1pb19jb3VudDsKKworLyogUmVhZC1wcm90ZWN0ZWQgYnkgUkNVLCB3cml0ZS1wcm90ZWN0ZWQgYnkga21taW9fbG9jay4gKi8KK3N0YXRpYyBzdHJ1Y3QgbGlzdF9oZWFkIGttbWlvX3BhZ2VfdGFibGVbS01NSU9fUEFHRV9UQUJMRV9TSVpFXTsKK3N0YXRpYyBMSVNUX0hFQUQoa21taW9fcHJvYmVzKTsKKworc3RhdGljIHN0cnVjdCBsaXN0X2hlYWQgKmttbWlvX3BhZ2VfbGlzdCh1bnNpZ25lZCBsb25nIHBhZ2UpCit7CisJcmV0dXJuICZrbW1pb19wYWdlX3RhYmxlW2hhc2hfbG9uZyhwYWdlLCBLTU1JT19QQUdFX0hBU0hfQklUUyldOworfQorCisvKiBBY2Nlc3NlZCBwZXItY3B1ICovCitzdGF0aWMgREVGSU5FX1BFUl9DUFUoc3RydWN0IGttbWlvX2NvbnRleHQsIGttbWlvX2N0eCk7CisKKy8qCisgKiB0aGlzIGlzIGJhc2ljYWxseSBhIGR5bmFtaWMgc3RhYmJpbmcgcHJvYmxlbToKKyAqIENvdWxkIHVzZSB0aGUgZXhpc3RpbmcgcHJpbyB0cmVlIGNvZGUgb3IKKyAqIFBvc3NpYmxlIGJldHRlciBpbXBsZW1lbnRhdGlvbnM6CisgKiBUaGUgSW50ZXJ2YWwgU2tpcCBMaXN0OiBBIERhdGEgU3RydWN0dXJlIGZvciBGaW5kaW5nIEFsbCBJbnRlcnZhbHMgVGhhdAorICogT3ZlcmxhcCBhIFBvaW50IChtaWdodCBiZSBzaW1wbGUpCisgKiBTcGFjZSBFZmZpY2llbnQgRHluYW1pYyBTdGFiYmluZyB3aXRoIEZhc3QgUXVlcmllcyAtIE1pa2tlbCBUaG9ydXAKKyAqLworLyogR2V0IHRoZSBrbW1pbyBhdCB0aGlzIGFkZHIgKGlmIGFueSkuIFlvdSBtdXN0IGJlIGhvbGRpbmcgUkNVIHJlYWQgbG9jay4gKi8KK3N0YXRpYyBzdHJ1Y3Qga21taW9fcHJvYmUgKmdldF9rbW1pb19wcm9iZSh1bnNpZ25lZCBsb25nIGFkZHIpCit7CisJc3RydWN0IGttbWlvX3Byb2JlICpwOworCWxpc3RfZm9yX2VhY2hfZW50cnlfcmN1KHAsICZrbW1pb19wcm9iZXMsIGxpc3QpIHsKKwkJaWYgKGFkZHIgPj0gcC0+YWRkciAmJiBhZGRyIDw9IChwLT5hZGRyICsgcC0+bGVuKSkKKwkJCXJldHVybiBwOworCX0KKwlyZXR1cm4gTlVMTDsKK30KKworLyogWW91IG11c3QgYmUgaG9sZGluZyBSQ1UgcmVhZCBsb2NrLiAqLworc3RhdGljIHN0cnVjdCBrbW1pb19mYXVsdF9wYWdlICpnZXRfa21taW9fZmF1bHRfcGFnZSh1bnNpZ25lZCBsb25nIHBhZ2UpCit7CisJc3RydWN0IGxpc3RfaGVhZCAqaGVhZDsKKwlzdHJ1Y3Qga21taW9fZmF1bHRfcGFnZSAqcDsKKworCXBhZ2UgJj0gUEFHRV9NQVNLOworCWhlYWQgPSBrbW1pb19wYWdlX2xpc3QocGFnZSk7CisJbGlzdF9mb3JfZWFjaF9lbnRyeV9yY3UocCwgaGVhZCwgbGlzdCkgeworCQlpZiAocC0+cGFnZSA9PSBwYWdlKQorCQkJcmV0dXJuIHA7CisJfQorCXJldHVybiBOVUxMOworfQorCitzdGF0aWMgdm9pZCBzZXRfcGFnZV9wcmVzZW50KHVuc2lnbmVkIGxvbmcgYWRkciwgYm9vbCBwcmVzZW50LAorCQkJCQkJCXVuc2lnbmVkIGludCAqcGdsZXZlbCkKK3sKKwlwdGV2YWxfdCBwdGV2YWw7CisJcG1kdmFsX3QgcG1kdmFsOworCXVuc2lnbmVkIGludCBsZXZlbDsKKwlwbWRfdCAqcG1kOworCXB0ZV90ICpwdGUgPSBsb29rdXBfYWRkcmVzcyhhZGRyLCAmbGV2ZWwpOworCisJaWYgKCFwdGUpIHsKKwkJcHJfZXJyKCJrbW1pbzogbm8gcHRlIGZvciBwYWdlIDB4JTA4bHhcbiIsIGFkZHIpOworCQlyZXR1cm47CisJfQorCisJaWYgKHBnbGV2ZWwpCisJCSpwZ2xldmVsID0gbGV2ZWw7CisKKwlzd2l0Y2ggKGxldmVsKSB7CisJY2FzZSBQR19MRVZFTF8yTToKKwkJcG1kID0gKHBtZF90ICopcHRlOworCQlwbWR2YWwgPSBwbWRfdmFsKCpwbWQpICYgfl9QQUdFX1BSRVNFTlQ7CisJCWlmIChwcmVzZW50KQorCQkJcG1kdmFsIHw9IF9QQUdFX1BSRVNFTlQ7CisJCXNldF9wbWQocG1kLCBfX3BtZChwbWR2YWwpKTsKKwkJYnJlYWs7CisKKwljYXNlIFBHX0xFVkVMXzRLOgorCQlwdGV2YWwgPSBwdGVfdmFsKCpwdGUpICYgfl9QQUdFX1BSRVNFTlQ7CisJCWlmIChwcmVzZW50KQorCQkJcHRldmFsIHw9IF9QQUdFX1BSRVNFTlQ7CisJCXNldF9wdGVfYXRvbWljKHB0ZSwgX19wdGUocHRldmFsKSk7CisJCWJyZWFrOworCisJZGVmYXVsdDoKKwkJcHJfZXJyKCJrbW1pbzogdW5leHBlY3RlZCBwYWdlIGxldmVsIDB4JXguXG4iLCBsZXZlbCk7CisJCXJldHVybjsKKwl9CisKKwlfX2ZsdXNoX3RsYl9vbmUoYWRkcik7Cit9CisKKy8qKiBNYXJrIHRoZSBnaXZlbiBwYWdlIGFzIG5vdCBwcmVzZW50LiBBY2Nlc3MgdG8gaXQgd2lsbCB0cmlnZ2VyIGEgZmF1bHQuICovCitzdGF0aWMgdm9pZCBhcm1fa21taW9fZmF1bHRfcGFnZSh1bnNpZ25lZCBsb25nIHBhZ2UsIHVuc2lnbmVkIGludCAqcGdsZXZlbCkKK3sKKwlzZXRfcGFnZV9wcmVzZW50KHBhZ2UgJiBQQUdFX01BU0ssIGZhbHNlLCBwZ2xldmVsKTsKK30KKworLyoqIE1hcmsgdGhlIGdpdmVuIHBhZ2UgYXMgcHJlc2VudC4gKi8KK3N0YXRpYyB2b2lkIGRpc2FybV9rbW1pb19mYXVsdF9wYWdlKHVuc2lnbmVkIGxvbmcgcGFnZSwgdW5zaWduZWQgaW50ICpwZ2xldmVsKQoreworCXNldF9wYWdlX3ByZXNlbnQocGFnZSAmIFBBR0VfTUFTSywgdHJ1ZSwgcGdsZXZlbCk7Cit9CisKKy8qCisgKiBUaGlzIGlzIGJlaW5nIGNhbGxlZCBmcm9tIGRvX3BhZ2VfZmF1bHQoKS4KKyAqCisgKiBXZSBtYXkgYmUgaW4gYW4gaW50ZXJydXB0IG9yIGEgY3JpdGljYWwgc2VjdGlvbi4gQWxzbyBwcmVmZWN0aGluZyBtYXkKKyAqIHRyaWdnZXIgYSBwYWdlIGZhdWx0LiBXZSBtYXkgYmUgaW4gdGhlIG1pZGRsZSBvZiBwcm9jZXNzIHN3aXRjaC4KKyAqIFdlIGNhbm5vdCB0YWtlIGFueSBsb2NrcywgYmVjYXVzZSB3ZSBjb3VsZCBiZSBleGVjdXRpbmcgZXNwZWNpYWxseQorICogd2l0aGluIGEga21taW8gY3JpdGljYWwgc2VjdGlvbi4KKyAqCisgKiBMb2NhbCBpbnRlcnJ1cHRzIGFyZSBkaXNhYmxlZCwgc28gcHJlZW1wdGlvbiBjYW5ub3QgaGFwcGVuLgorICogRG8gbm90IGVuYWJsZSBpbnRlcnJ1cHRzLCBkbyBub3Qgc2xlZXAsIGFuZCB3YXRjaCBvdXQgZm9yIG90aGVyIENQVXMuCisgKi8KKy8qCisgKiBJbnRlcnJ1cHRzIGFyZSBkaXNhYmxlZCBvbiBlbnRyeSBhcyB0cmFwMyBpcyBhbiBpbnRlcnJ1cHQgZ2F0ZQorICogYW5kIHRoZXkgcmVtYWluIGRpc2FibGVkIHRob3JvdWdoIG91dCB0aGlzIGZ1bmN0aW9uLgorICovCitpbnQga21taW9faGFuZGxlcihzdHJ1Y3QgcHRfcmVncyAqcmVncywgdW5zaWduZWQgbG9uZyBhZGRyKQoreworCXN0cnVjdCBrbW1pb19jb250ZXh0ICpjdHg7CisJc3RydWN0IGttbWlvX2ZhdWx0X3BhZ2UgKmZhdWx0cGFnZTsKKwlpbnQgcmV0ID0gMDsgLyogZGVmYXVsdCB0byBmYXVsdCBub3QgaGFuZGxlZCAqLworCisJLyoKKwkgKiBQcmVlbXB0aW9uIGlzIG5vdyBkaXNhYmxlZCB0byBwcmV2ZW50IHByb2Nlc3Mgc3dpdGNoIGR1cmluZworCSAqIHNpbmdsZSBzdGVwcGluZy4gV2UgY2FuIG9ubHkgaGFuZGxlIG9uZSBhY3RpdmUga21taW8gdHJhY2UKKwkgKiBwZXIgY3B1LCBzbyBlbnN1cmUgdGhhdCB3ZSBmaW5pc2ggaXQgYmVmb3JlIHNvbWV0aGluZyBlbHNlCisJICogZ2V0cyB0byBydW4uIFdlIGFsc28gaG9sZCB0aGUgUkNVIHJlYWQgbG9jayBvdmVyIHNpbmdsZQorCSAqIHN0ZXBwaW5nIHRvIGF2b2lkIGxvb2tpbmcgdXAgdGhlIHByb2JlIGFuZCBrbW1pb19mYXVsdF9wYWdlCisJICogYWdhaW4uCisJICovCisJcHJlZW1wdF9kaXNhYmxlKCk7CisJcmN1X3JlYWRfbG9jaygpOworCisJZmF1bHRwYWdlID0gZ2V0X2ttbWlvX2ZhdWx0X3BhZ2UoYWRkcik7CisJaWYgKCFmYXVsdHBhZ2UpIHsKKwkJLyoKKwkJICogRWl0aGVyIHRoaXMgcGFnZSBmYXVsdCBpcyBub3QgY2F1c2VkIGJ5IGttbWlvLCBvcgorCQkgKiBhbm90aGVyIENQVSBqdXN0IHB1bGxlZCB0aGUga21taW8gcHJvYmUgZnJvbSB1bmRlcgorCQkgKiBvdXIgZmVldC4gVGhlIGxhdHRlciBjYXNlIHNob3VsZCBub3QgYmUgcG9zc2libGUuCisJCSAqLworCQlnb3RvIG5vX2ttbWlvOworCX0KKworCWN0eCA9ICZnZXRfY3B1X3ZhcihrbW1pb19jdHgpOworCWlmIChjdHgtPmFjdGl2ZSkgeworCQlkaXNhcm1fa21taW9fZmF1bHRfcGFnZShmYXVsdHBhZ2UtPnBhZ2UsIE5VTEwpOworCQlpZiAoYWRkciA9PSBjdHgtPmFkZHIpIHsKKwkJCS8qCisJCQkgKiBPbiBTTVAgd2Ugc29tZXRpbWVzIGdldCByZWN1cnNpdmUgcHJvYmUgaGl0cyBvbiB0aGUKKwkJCSAqIHNhbWUgYWRkcmVzcy4gQ29udGV4dCBpcyBhbHJlYWR5IHNhdmVkLCBmYWxsIG91dC4KKwkJCSAqLworCQkJcHJfZGVidWcoImttbWlvOiBkdXBsaWNhdGUgcHJvYmUgaGl0IG9uIENQVSAlZCwgZm9yICIKKwkJCQkJCSJhZGRyZXNzIDB4JTA4bHguXG4iLAorCQkJCQkJc21wX3Byb2Nlc3Nvcl9pZCgpLCBhZGRyKTsKKwkJCXJldCA9IDE7CisJCQlnb3RvIG5vX2ttbWlvX2N0eDsKKwkJfQorCQkvKgorCQkgKiBQcmV2ZW50IG92ZXJ3cml0aW5nIGFscmVhZHkgaW4tZmxpZ2h0IGNvbnRleHQuCisJCSAqIFRoaXMgc2hvdWxkIG5vdCBoYXBwZW4sIGxldCdzIGhvcGUgZGlzYXJtaW5nIGF0IGxlYXN0CisJCSAqIHByZXZlbnRzIGEgcGFuaWMuCisJCSAqLworCQlwcl9lbWVyZygia21taW86IHJlY3Vyc2l2ZSBwcm9iZSBoaXQgb24gQ1BVICVkLCAiCisJCQkJCSJmb3IgYWRkcmVzcyAweCUwOGx4LiBJZ25vcmluZy5cbiIsCisJCQkJCXNtcF9wcm9jZXNzb3JfaWQoKSwgYWRkcik7CisJCXByX2VtZXJnKCJrbW1pbzogcHJldmlvdXMgaGl0IHdhcyBhdCAweCUwOGx4LlxuIiwKKwkJCQkJY3R4LT5hZGRyKTsKKwkJZ290byBub19rbW1pb19jdHg7CisJfQorCWN0eC0+YWN0aXZlKys7CisKKwljdHgtPmZwYWdlID0gZmF1bHRwYWdlOworCWN0eC0+cHJvYmUgPSBnZXRfa21taW9fcHJvYmUoYWRkcik7CisJY3R4LT5zYXZlZF9mbGFncyA9IChyZWdzLT5mbGFncyAmIChYODZfRUZMQUdTX1RGIHwgWDg2X0VGTEFHU19JRikpOworCWN0eC0+YWRkciA9IGFkZHI7CisKKwlpZiAoY3R4LT5wcm9iZSAmJiBjdHgtPnByb2JlLT5wcmVfaGFuZGxlcikKKwkJY3R4LT5wcm9iZS0+cHJlX2hhbmRsZXIoY3R4LT5wcm9iZSwgcmVncywgYWRkcik7CisKKwkvKgorCSAqIEVuYWJsZSBzaW5nbGUtc3RlcHBpbmcgYW5kIGRpc2FibGUgaW50ZXJydXB0cyBmb3IgdGhlIGZhdWx0aW5nCisJICogY29udGV4dC4gTG9jYWwgaW50ZXJydXB0cyBtdXN0IG5vdCBnZXQgZW5hYmxlZCBkdXJpbmcgc3RlcHBpbmcuCisJICovCisJcmVncy0+ZmxhZ3MgfD0gWDg2X0VGTEFHU19URjsKKwlyZWdzLT5mbGFncyAmPSB+WDg2X0VGTEFHU19JRjsKKworCS8qIE5vdyB3ZSBzZXQgcHJlc2VudCBiaXQgaW4gUFRFIGFuZCBzaW5nbGUgc3RlcC4gKi8KKwlkaXNhcm1fa21taW9fZmF1bHRfcGFnZShjdHgtPmZwYWdlLT5wYWdlLCBOVUxMKTsKKworCS8qCisJICogSWYgYW5vdGhlciBjcHUgYWNjZXNzZXMgdGhlIHNhbWUgcGFnZSB3aGlsZSB3ZSBhcmUgc3RlcHBpbmcsCisJICogdGhlIGFjY2VzcyB3aWxsIG5vdCBiZSBjYXVnaHQuIEl0IHdpbGwgc2ltcGx5IHN1Y2NlZWQgYW5kIHRoZQorCSAqIG9ubHkgZG93bnNpZGUgaXMgd2UgbG9zZSB0aGUgZXZlbnQuIElmIHRoaXMgYmVjb21lcyBhIHByb2JsZW0sCisJICogdGhlIHVzZXIgc2hvdWxkIGRyb3AgdG8gc2luZ2xlIGNwdSBiZWZvcmUgdHJhY2luZy4KKwkgKi8KKworCXB1dF9jcHVfdmFyKGttbWlvX2N0eCk7CisJcmV0dXJuIDE7IC8qIGZhdWx0IGhhbmRsZWQgKi8KKworbm9fa21taW9fY3R4OgorCXB1dF9jcHVfdmFyKGttbWlvX2N0eCk7Citub19rbW1pbzoKKwlyY3VfcmVhZF91bmxvY2soKTsKKwlwcmVlbXB0X2VuYWJsZV9ub19yZXNjaGVkKCk7CisJcmV0dXJuIHJldDsKK30KKworLyoKKyAqIEludGVycnVwdHMgYXJlIGRpc2FibGVkIG9uIGVudHJ5IGFzIHRyYXAxIGlzIGFuIGludGVycnVwdCBnYXRlCisgKiBhbmQgdGhleSByZW1haW4gZGlzYWJsZWQgdGhvcm91Z2ggb3V0IHRoaXMgZnVuY3Rpb24uCisgKiBUaGlzIG11c3QgYWx3YXlzIGdldCBjYWxsZWQgYXMgdGhlIHBhaXIgdG8ga21taW9faGFuZGxlcigpLgorICovCitzdGF0aWMgaW50IHBvc3Rfa21taW9faGFuZGxlcih1bnNpZ25lZCBsb25nIGNvbmRpdGlvbiwgc3RydWN0IHB0X3JlZ3MgKnJlZ3MpCit7CisJaW50IHJldCA9IDA7CisJc3RydWN0IGttbWlvX2NvbnRleHQgKmN0eCA9ICZnZXRfY3B1X3ZhcihrbW1pb19jdHgpOworCisJaWYgKCFjdHgtPmFjdGl2ZSkgeworCQlwcl9kZWJ1Zygia21taW86IHNwdXJpb3VzIGRlYnVnIHRyYXAgb24gQ1BVICVkLlxuIiwKKwkJCQkJCQlzbXBfcHJvY2Vzc29yX2lkKCkpOworCQlnb3RvIG91dDsKKwl9CisKKwlpZiAoY3R4LT5wcm9iZSAmJiBjdHgtPnByb2JlLT5wb3N0X2hhbmRsZXIpCisJCWN0eC0+cHJvYmUtPnBvc3RfaGFuZGxlcihjdHgtPnByb2JlLCBjb25kaXRpb24sIHJlZ3MpOworCisJYXJtX2ttbWlvX2ZhdWx0X3BhZ2UoY3R4LT5mcGFnZS0+cGFnZSwgTlVMTCk7CisKKwlyZWdzLT5mbGFncyAmPSB+WDg2X0VGTEFHU19URjsKKwlyZWdzLT5mbGFncyB8PSBjdHgtPnNhdmVkX2ZsYWdzOworCisJLyogVGhlc2Ugd2VyZSBhY3F1aXJlZCBpbiBrbW1pb19oYW5kbGVyKCkuICovCisJY3R4LT5hY3RpdmUtLTsKKwlCVUdfT04oY3R4LT5hY3RpdmUpOworCXJjdV9yZWFkX3VubG9jaygpOworCXByZWVtcHRfZW5hYmxlX25vX3Jlc2NoZWQoKTsKKworCS8qCisJICogaWYgc29tZWJvZHkgZWxzZSBpcyBzaW5nbGVzdGVwcGluZyBhY3Jvc3MgYSBwcm9iZSBwb2ludCwgZmxhZ3MKKwkgKiB3aWxsIGhhdmUgVEYgc2V0LCBpbiB3aGljaCBjYXNlLCBjb250aW51ZSB0aGUgcmVtYWluaW5nIHByb2Nlc3NpbmcKKwkgKiBvZiBkb19kZWJ1ZywgYXMgaWYgdGhpcyBpcyBub3QgYSBwcm9iZSBoaXQuCisJICovCisJaWYgKCEocmVncy0+ZmxhZ3MgJiBYODZfRUZMQUdTX1RGKSkKKwkJcmV0ID0gMTsKK291dDoKKwlwdXRfY3B1X3ZhcihrbW1pb19jdHgpOworCXJldHVybiByZXQ7Cit9CisKKy8qIFlvdSBtdXN0IGJlIGhvbGRpbmcga21taW9fbG9jay4gKi8KK3N0YXRpYyBpbnQgYWRkX2ttbWlvX2ZhdWx0X3BhZ2UodW5zaWduZWQgbG9uZyBwYWdlKQoreworCXN0cnVjdCBrbW1pb19mYXVsdF9wYWdlICpmOworCisJcGFnZSAmPSBQQUdFX01BU0s7CisJZiA9IGdldF9rbW1pb19mYXVsdF9wYWdlKHBhZ2UpOworCWlmIChmKSB7CisJCWlmICghZi0+Y291bnQpCisJCQlhcm1fa21taW9fZmF1bHRfcGFnZShmLT5wYWdlLCBOVUxMKTsKKwkJZi0+Y291bnQrKzsKKwkJcmV0dXJuIDA7CisJfQorCisJZiA9IGttYWxsb2Moc2l6ZW9mKCpmKSwgR0ZQX0FUT01JQyk7CisJaWYgKCFmKQorCQlyZXR1cm4gLTE7CisKKwlmLT5jb3VudCA9IDE7CisJZi0+cGFnZSA9IHBhZ2U7CisJbGlzdF9hZGRfcmN1KCZmLT5saXN0LCBrbW1pb19wYWdlX2xpc3QoZi0+cGFnZSkpOworCisJYXJtX2ttbWlvX2ZhdWx0X3BhZ2UoZi0+cGFnZSwgTlVMTCk7CisKKwlyZXR1cm4gMDsKK30KKworLyogWW91IG11c3QgYmUgaG9sZGluZyBrbW1pb19sb2NrLiAqLworc3RhdGljIHZvaWQgcmVsZWFzZV9rbW1pb19mYXVsdF9wYWdlKHVuc2lnbmVkIGxvbmcgcGFnZSwKKwkJCQlzdHJ1Y3Qga21taW9fZmF1bHRfcGFnZSAqKnJlbGVhc2VfbGlzdCkKK3sKKwlzdHJ1Y3Qga21taW9fZmF1bHRfcGFnZSAqZjsKKworCXBhZ2UgJj0gUEFHRV9NQVNLOworCWYgPSBnZXRfa21taW9fZmF1bHRfcGFnZShwYWdlKTsKKwlpZiAoIWYpCisJCXJldHVybjsKKworCWYtPmNvdW50LS07CisJQlVHX09OKGYtPmNvdW50IDwgMCk7CisJaWYgKCFmLT5jb3VudCkgeworCQlkaXNhcm1fa21taW9fZmF1bHRfcGFnZShmLT5wYWdlLCBOVUxMKTsKKwkJZi0+cmVsZWFzZV9uZXh0ID0gKnJlbGVhc2VfbGlzdDsKKwkJKnJlbGVhc2VfbGlzdCA9IGY7CisJfQorfQorCisvKgorICogV2l0aCBwYWdlLXVuYWxpZ25lZCBpb3JlbWFwcywgb25lIG9yIHR3byBhcm1lZCBwYWdlcyBtYXkgY29udGFpbgorICogYWRkcmVzc2VzIGZyb20gb3V0c2lkZSB0aGUgaW50ZW5kZWQgbWFwcGluZy4gRXZlbnRzIGZvciB0aGVzZSBhZGRyZXNzZXMKKyAqIGFyZSBjdXJyZW50bHkgc2lsZW50bHkgZHJvcHBlZC4gVGhlIGV2ZW50cyBtYXkgcmVzdWx0IG9ubHkgZnJvbSBwcm9ncmFtbWluZworICogbWlzdGFrZXMgYnkgYWNjZXNzaW5nIGFkZHJlc3NlcyBiZWZvcmUgdGhlIGJlZ2lubmluZyBvciBwYXN0IHRoZSBlbmQgb2YgYQorICogbWFwcGluZy4KKyAqLworaW50IHJlZ2lzdGVyX2ttbWlvX3Byb2JlKHN0cnVjdCBrbW1pb19wcm9iZSAqcCkKK3sKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCWludCByZXQgPSAwOworCXVuc2lnbmVkIGxvbmcgc2l6ZSA9IDA7CisJY29uc3QgdW5zaWduZWQgbG9uZyBzaXplX2xpbSA9IHAtPmxlbiArIChwLT5hZGRyICYgflBBR0VfTUFTSyk7CisKKwlzcGluX2xvY2tfaXJxc2F2ZSgma21taW9fbG9jaywgZmxhZ3MpOworCWlmIChnZXRfa21taW9fcHJvYmUocC0+YWRkcikpIHsKKwkJcmV0ID0gLUVFWElTVDsKKwkJZ290byBvdXQ7CisJfQorCWttbWlvX2NvdW50Kys7CisJbGlzdF9hZGRfcmN1KCZwLT5saXN0LCAma21taW9fcHJvYmVzKTsKKwl3aGlsZSAoc2l6ZSA8IHNpemVfbGltKSB7CisJCWlmIChhZGRfa21taW9fZmF1bHRfcGFnZShwLT5hZGRyICsgc2l6ZSkpCisJCQlwcl9lcnIoImttbWlvOiBVbmFibGUgdG8gc2V0IHBhZ2UgZmF1bHQuXG4iKTsKKwkJc2l6ZSArPSBQQUdFX1NJWkU7CisJfQorb3V0OgorCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmttbWlvX2xvY2ssIGZsYWdzKTsKKwkvKgorCSAqIFhYWDogV2hhdCBzaG91bGQgSSBkbyBoZXJlPworCSAqIEhlcmUgd2FzIGEgY2FsbCB0byBnbG9iYWxfZmx1c2hfdGxiKCksIGJ1dCBpdCBkb2VzIG5vdCBleGlzdAorCSAqIGFueW1vcmUuIEl0IHNlZW1zIGl0J3Mgbm90IG5lZWRlZCBhZnRlciBhbGwuCisJICovCisJcmV0dXJuIHJldDsKK30KK0VYUE9SVF9TWU1CT0wocmVnaXN0ZXJfa21taW9fcHJvYmUpOworCitzdGF0aWMgdm9pZCByY3VfZnJlZV9rbW1pb19mYXVsdF9wYWdlcyhzdHJ1Y3QgcmN1X2hlYWQgKmhlYWQpCit7CisJc3RydWN0IGttbWlvX2RlbGF5ZWRfcmVsZWFzZSAqZHIgPSBjb250YWluZXJfb2YoCisJCQkJCQloZWFkLAorCQkJCQkJc3RydWN0IGttbWlvX2RlbGF5ZWRfcmVsZWFzZSwKKwkJCQkJCXJjdSk7CisJc3RydWN0IGttbWlvX2ZhdWx0X3BhZ2UgKnAgPSBkci0+cmVsZWFzZV9saXN0OworCXdoaWxlIChwKSB7CisJCXN0cnVjdCBrbW1pb19mYXVsdF9wYWdlICpuZXh0ID0gcC0+cmVsZWFzZV9uZXh0OworCQlCVUdfT04ocC0+Y291bnQpOworCQlrZnJlZShwKTsKKwkJcCA9IG5leHQ7CisJfQorCWtmcmVlKGRyKTsKK30KKworc3RhdGljIHZvaWQgcmVtb3ZlX2ttbWlvX2ZhdWx0X3BhZ2VzKHN0cnVjdCByY3VfaGVhZCAqaGVhZCkKK3sKKwlzdHJ1Y3Qga21taW9fZGVsYXllZF9yZWxlYXNlICpkciA9IGNvbnRhaW5lcl9vZigKKwkJCQkJCWhlYWQsCisJCQkJCQlzdHJ1Y3Qga21taW9fZGVsYXllZF9yZWxlYXNlLAorCQkJCQkJcmN1KTsKKwlzdHJ1Y3Qga21taW9fZmF1bHRfcGFnZSAqcCA9IGRyLT5yZWxlYXNlX2xpc3Q7CisJc3RydWN0IGttbWlvX2ZhdWx0X3BhZ2UgKipwcmV2cCA9ICZkci0+cmVsZWFzZV9saXN0OworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisJc3Bpbl9sb2NrX2lycXNhdmUoJmttbWlvX2xvY2ssIGZsYWdzKTsKKwl3aGlsZSAocCkgeworCQlpZiAoIXAtPmNvdW50KQorCQkJbGlzdF9kZWxfcmN1KCZwLT5saXN0KTsKKwkJZWxzZQorCQkJKnByZXZwID0gcC0+cmVsZWFzZV9uZXh0OworCQlwcmV2cCA9ICZwLT5yZWxlYXNlX25leHQ7CisJCXAgPSBwLT5yZWxlYXNlX25leHQ7CisJfQorCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmttbWlvX2xvY2ssIGZsYWdzKTsKKwkvKiBUaGlzIGlzIHRoZSByZWFsIFJDVSBkZXN0cm95IGNhbGwuICovCisJY2FsbF9yY3UoJmRyLT5yY3UsIHJjdV9mcmVlX2ttbWlvX2ZhdWx0X3BhZ2VzKTsKK30KKworLyoKKyAqIFJlbW92ZSBhIGttbWlvIHByb2JlLiBZb3UgaGF2ZSB0byBzeW5jaHJvbml6ZV9yY3UoKSBiZWZvcmUgeW91IGNhbiBiZQorICogc3VyZSB0aGF0IHRoZSBjYWxsYmFja3Mgd2lsbCBub3QgYmUgY2FsbGVkIGFueW1vcmUuIE9ubHkgYWZ0ZXIgdGhhdAorICogeW91IG1heSBhY3R1YWxseSByZWxlYXNlIHlvdXIgc3RydWN0IGttbWlvX3Byb2JlLgorICoKKyAqIFVucmVnaXN0ZXJpbmcgYSBrbW1pbyBmYXVsdCBwYWdlIGhhcyB0aHJlZSBzdGVwczoKKyAqIDEuIHJlbGVhc2Vfa21taW9fZmF1bHRfcGFnZSgpCisgKiAgICBEaXNhcm0gdGhlIHBhZ2UsIHdhaXQgYSBncmFjZSBwZXJpb2QgdG8gbGV0IGFsbCBmYXVsdHMgZmluaXNoLgorICogMi4gcmVtb3ZlX2ttbWlvX2ZhdWx0X3BhZ2VzKCkKKyAqICAgIFJlbW92ZSB0aGUgcGFnZXMgZnJvbSBrbW1pb19wYWdlX3RhYmxlLgorICogMy4gcmN1X2ZyZWVfa21taW9fZmF1bHRfcGFnZXMoKQorICogICAgQWN0YWxseSBmcmVlIHRoZSBrbW1pb19mYXVsdF9wYWdlIHN0cnVjdHMgYXMgd2l0aCBSQ1UuCisgKi8KK3ZvaWQgdW5yZWdpc3Rlcl9rbW1pb19wcm9iZShzdHJ1Y3Qga21taW9fcHJvYmUgKnApCit7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKwl1bnNpZ25lZCBsb25nIHNpemUgPSAwOworCWNvbnN0IHVuc2lnbmVkIGxvbmcgc2l6ZV9saW0gPSBwLT5sZW4gKyAocC0+YWRkciAmIH5QQUdFX01BU0spOworCXN0cnVjdCBrbW1pb19mYXVsdF9wYWdlICpyZWxlYXNlX2xpc3QgPSBOVUxMOworCXN0cnVjdCBrbW1pb19kZWxheWVkX3JlbGVhc2UgKmRyZWxlYXNlOworCisJc3Bpbl9sb2NrX2lycXNhdmUoJmttbWlvX2xvY2ssIGZsYWdzKTsKKwl3aGlsZSAoc2l6ZSA8IHNpemVfbGltKSB7CisJCXJlbGVhc2Vfa21taW9fZmF1bHRfcGFnZShwLT5hZGRyICsgc2l6ZSwgJnJlbGVhc2VfbGlzdCk7CisJCXNpemUgKz0gUEFHRV9TSVpFOworCX0KKwlsaXN0X2RlbF9yY3UoJnAtPmxpc3QpOworCWttbWlvX2NvdW50LS07CisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgma21taW9fbG9jaywgZmxhZ3MpOworCisJZHJlbGVhc2UgPSBrbWFsbG9jKHNpemVvZigqZHJlbGVhc2UpLCBHRlBfQVRPTUlDKTsKKwlpZiAoIWRyZWxlYXNlKSB7CisJCXByX2NyaXQoImttbWlvOiBsZWFraW5nIGttbWlvX2ZhdWx0X3BhZ2Ugb2JqZWN0cy5cbiIpOworCQlyZXR1cm47CisJfQorCWRyZWxlYXNlLT5yZWxlYXNlX2xpc3QgPSByZWxlYXNlX2xpc3Q7CisKKwkvKgorCSAqIFRoaXMgaXMgbm90IHJlYWxseSBSQ1UgaGVyZS4gV2UgaGF2ZSBqdXN0IGRpc2FybWVkIGEgc2V0IG9mCisJICogcGFnZXMgc28gdGhhdCB0aGV5IGNhbm5vdCB0cmlnZ2VyIHBhZ2UgZmF1bHRzIGFueW1vcmUuIEhvd2V2ZXIsCisJICogd2UgY2Fubm90IHJlbW92ZSB0aGUgcGFnZXMgZnJvbSBrbW1pb19wYWdlX3RhYmxlLAorCSAqIGJlY2F1c2UgYSBwcm9iZSBoaXQgbWlnaHQgYmUgaW4gZmxpZ2h0IG9uIGFub3RoZXIgQ1BVLiBUaGUKKwkgKiBwYWdlcyBhcmUgY29sbGVjdGVkIGludG8gYSBsaXN0LCBhbmQgdGhleSB3aWxsIGJlIHJlbW92ZWQgZnJvbQorCSAqIGttbWlvX3BhZ2VfdGFibGUgd2hlbiBpdCBpcyBjZXJ0YWluIHRoYXQgbm8gcHJvYmUgaGl0IHJlbGF0ZWQgdG8KKwkgKiB0aGVzZSBwYWdlcyBjYW4gYmUgaW4gZmxpZ2h0LiBSQ1UgZ3JhY2UgcGVyaW9kIHNvdW5kcyBsaWtlIGEKKwkgKiBnb29kIGNob2ljZS4KKwkgKgorCSAqIElmIHdlIHJlbW92ZWQgdGhlIHBhZ2VzIHRvbyBlYXJseSwga21taW8gcGFnZSBmYXVsdCBoYW5kbGVyIG1pZ2h0CisJICogbm90IGZpbmQgdGhlIHJlc3BlY3RpdmUga21taW9fZmF1bHRfcGFnZSBhbmQgZGV0ZXJtaW5lIGl0J3Mgbm90CisJICogYSBrbW1pbyBmYXVsdCwgd2hlbiBpdCBhY3R1YWxseSBpcy4gVGhpcyB3b3VsZCBsZWFkIHRvIG1hZG5lc3MuCisJICovCisJY2FsbF9yY3UoJmRyZWxlYXNlLT5yY3UsIHJlbW92ZV9rbW1pb19mYXVsdF9wYWdlcyk7Cit9CitFWFBPUlRfU1lNQk9MKHVucmVnaXN0ZXJfa21taW9fcHJvYmUpOworCitzdGF0aWMgaW50IGttbWlvX2RpZV9ub3RpZmllcihzdHJ1Y3Qgbm90aWZpZXJfYmxvY2sgKm5iLCB1bnNpZ25lZCBsb25nIHZhbCwKKwkJCQkJCQkJdm9pZCAqYXJncykKK3sKKwlzdHJ1Y3QgZGllX2FyZ3MgKmFyZyA9IGFyZ3M7CisKKwlpZiAodmFsID09IERJRV9ERUJVRyAmJiAoYXJnLT5lcnIgJiBEUl9TVEVQKSkKKwkJaWYgKHBvc3Rfa21taW9faGFuZGxlcihhcmctPmVyciwgYXJnLT5yZWdzKSA9PSAxKQorCQkJcmV0dXJuIE5PVElGWV9TVE9QOworCisJcmV0dXJuIE5PVElGWV9ET05FOworfQorCitzdGF0aWMgc3RydWN0IG5vdGlmaWVyX2Jsb2NrIG5iX2RpZSA9IHsKKwkubm90aWZpZXJfY2FsbCA9IGttbWlvX2RpZV9ub3RpZmllcgorfTsKKworc3RhdGljIGludCBfX2luaXQgaW5pdF9rbW1pbyh2b2lkKQoreworCWludCBpOworCWZvciAoaSA9IDA7IGkgPCBLTU1JT19QQUdFX1RBQkxFX1NJWkU7IGkrKykKKwkJSU5JVF9MSVNUX0hFQUQoJmttbWlvX3BhZ2VfdGFibGVbaV0pOworCXJldHVybiByZWdpc3Rlcl9kaWVfbm90aWZpZXIoJm5iX2RpZSk7Cit9Citmc19pbml0Y2FsbChpbml0X2ttbWlvKTsgLyogc2hvdWxkIGJlIGJlZm9yZSBkZXZpY2VfaW5pdGNhbGwoKSAqLwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvbW0vbW1pby1tb2QuYyBiL2FyY2gveDg2L21tL21taW8tbW9kLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTczOTdlMQotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gveDg2L21tL21taW8tbW9kLmMKQEAgLTAsMCArMSw1MTUgQEAKKy8qCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisgKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UgLSBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNywgVVNBLgorICoKKyAqIENvcHlyaWdodCAoQykgSUJNIENvcnBvcmF0aW9uLCAyMDA1CisgKiAgICAgICAgICAgICAgIEplZmYgTXVpemVsYWFyLCAyMDA2LCAyMDA3CisgKiAgICAgICAgICAgICAgIFBla2thIFBhYWxhbmVuLCAyMDA4IDxwcUBpa2kuZmk+CisgKgorICogRGVyaXZlZCBmcm9tIHRoZSByZWFkLW1vZCBleGFtcGxlIGZyb20gcmVsYXktZXhhbXBsZXMgYnkgVG9tIFphbnVzc2kuCisgKi8KKyNkZWZpbmUgREVCVUcgMQorCisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvZGVidWdmcy5oPgorI2luY2x1ZGUgPGxpbnV4L3VhY2Nlc3MuaD4KKyNpbmNsdWRlIDxsaW51eC9pby5oPgorI2luY2x1ZGUgPGxpbnV4L3ZlcnNpb24uaD4KKyNpbmNsdWRlIDxsaW51eC9rYWxsc3ltcy5oPgorI2luY2x1ZGUgPGFzbS9wZ3RhYmxlLmg+CisjaW5jbHVkZSA8bGludXgvbW1pb3RyYWNlLmg+CisjaW5jbHVkZSA8YXNtL2U4MjAuaD4gLyogZm9yIElTQV9TVEFSVF9BRERSRVNTICovCisjaW5jbHVkZSA8YXNtL2F0b21pYy5oPgorI2luY2x1ZGUgPGxpbnV4L3BlcmNwdS5oPgorI2luY2x1ZGUgPGxpbnV4L2NwdS5oPgorCisjaW5jbHVkZSAicGZfaW4uaCIKKworI2RlZmluZSBOQU1FICJtbWlvdHJhY2U6ICIKKworc3RydWN0IHRyYXBfcmVhc29uIHsKKwl1bnNpZ25lZCBsb25nIGFkZHI7CisJdW5zaWduZWQgbG9uZyBpcDsKKwllbnVtIHJlYXNvbl90eXBlIHR5cGU7CisJaW50IGFjdGl2ZV90cmFjZXM7Cit9OworCitzdHJ1Y3QgcmVtYXBfdHJhY2UgeworCXN0cnVjdCBsaXN0X2hlYWQgbGlzdDsKKwlzdHJ1Y3Qga21taW9fcHJvYmUgcHJvYmU7CisJcmVzb3VyY2Vfc2l6ZV90IHBoeXM7CisJdW5zaWduZWQgbG9uZyBpZDsKK307CisKKy8qIEFjY2Vzc2VkIHBlci1jcHUuICovCitzdGF0aWMgREVGSU5FX1BFUl9DUFUoc3RydWN0IHRyYXBfcmVhc29uLCBwZl9yZWFzb24pOworc3RhdGljIERFRklORV9QRVJfQ1BVKHN0cnVjdCBtbWlvdHJhY2VfcncsIGNwdV90cmFjZSk7CisKKyNpZiAwIC8qIFhYWDogbm8gd2F5IGdhdGhlciB0aGlzIGluZm8gYW55bW9yZSAqLworLyogQWNjZXNzIHRvIHRoaXMgaXMgbm90IHBlci1jcHUuICovCitzdGF0aWMgREVGSU5FX1BFUl9DUFUoYXRvbWljX3QsIGRyb3BwZWQpOworI2VuZGlmCisKK3N0YXRpYyBzdHJ1Y3QgZGVudHJ5ICptYXJrZXJfZmlsZTsKKworc3RhdGljIERFRklORV9NVVRFWChtbWlvdHJhY2VfbXV0ZXgpOworc3RhdGljIERFRklORV9TUElOTE9DSyh0cmFjZV9sb2NrKTsKK3N0YXRpYyBhdG9taWNfdCBtbWlvdHJhY2VfZW5hYmxlZDsKK3N0YXRpYyBMSVNUX0hFQUQodHJhY2VfbGlzdCk7CQkvKiBzdHJ1Y3QgcmVtYXBfdHJhY2UgKi8KKworLyoKKyAqIExvY2tpbmcgaW4gdGhpcyBmaWxlOgorICogLSBtbWlvdHJhY2VfbXV0ZXggZW5mb3JjZXMgZW5hYmxlL2Rpc2FibGVfbW1pb3RyYWNlKCkgY3JpdGljYWwgc2VjdGlvbnMuCisgKiAtIG1taW90cmFjZV9lbmFibGVkIG1heSBiZSBtb2RpZmllZCBvbmx5IHdoZW4gaG9sZGluZyBtbWlvdHJhY2VfbXV0ZXgKKyAqICAgYW5kIHRyYWNlX2xvY2suCisgKiAtIFJvdXRpbmVzIGRlcGVuZGluZyBvbiBpc19lbmFibGVkKCkgbXVzdCB0YWtlIHRyYWNlX2xvY2suCisgKiAtIHRyYWNlX2xpc3QgdXNlcnMgbXVzdCBob2xkIHRyYWNlX2xvY2suCisgKiAtIGlzX2VuYWJsZWQoKSBndWFyYW50ZWVzIHRoYXQgbW1pb190cmFjZV9yZWNvcmQgaXMgYWxsb3dlZC4KKyAqIC0gcHJlL3Bvc3QgY2FsbGJhY2tzIGFzc3VtZSB0aGUgZWZmZWN0IG9mIGlzX2VuYWJsZWQoKSBiZWluZyB0cnVlLgorICovCisKKy8qIG1vZHVsZSBwYXJhbWV0ZXJzICovCitzdGF0aWMgdW5zaWduZWQgbG9uZwlmaWx0ZXJfb2Zmc2V0Oworc3RhdGljIGludAkJbm9tbWlvdHJhY2U7CitzdGF0aWMgaW50CQl0cmFjZV9wYzsKKworbW9kdWxlX3BhcmFtKGZpbHRlcl9vZmZzZXQsIHVsb25nLCAwKTsKK21vZHVsZV9wYXJhbShub21taW90cmFjZSwgYm9vbCwgMCk7Cittb2R1bGVfcGFyYW0odHJhY2VfcGMsIGJvb2wsIDApOworCitNT0RVTEVfUEFSTV9ERVNDKGZpbHRlcl9vZmZzZXQsICJTdGFydCBhZGRyZXNzIG9mIHRyYWNlZCBtYXBwaW5ncy4iKTsKK01PRFVMRV9QQVJNX0RFU0Mobm9tbWlvdHJhY2UsICJEaXNhYmxlIGFjdHVhbCBNTUlPIHRyYWNpbmcuIik7CitNT0RVTEVfUEFSTV9ERVNDKHRyYWNlX3BjLCAiUmVjb3JkIGFkZHJlc3Mgb2YgZmF1bHRpbmcgaW5zdHJ1Y3Rpb25zLiIpOworCitzdGF0aWMgYm9vbCBpc19lbmFibGVkKHZvaWQpCit7CisJcmV0dXJuIGF0b21pY19yZWFkKCZtbWlvdHJhY2VfZW5hYmxlZCk7Cit9CisKKyNpZiAwIC8qIFhYWDogbmVlZHMgcmV3cml0ZSAqLworLyoKKyAqIFdyaXRlIGNhbGxiYWNrIGZvciB0aGUgZGVidWdmcyBlbnRyeToKKyAqIFJlYWQgYSBtYXJrZXIgYW5kIHdyaXRlIGl0IHRvIHRoZSBtbWlvIHRyYWNlIGxvZworICovCitzdGF0aWMgc3NpemVfdCB3cml0ZV9tYXJrZXIoc3RydWN0IGZpbGUgKmZpbGUsIGNvbnN0IGNoYXIgX191c2VyICpidWZmZXIsCisJCQkJCQlzaXplX3QgY291bnQsIGxvZmZfdCAqcHBvcykKK3sKKwljaGFyICpldmVudCA9IE5VTEw7CisJc3RydWN0IG1tX2lvX2hlYWRlciAqaGVhZHA7CisJc3NpemVfdCBsZW4gPSAoY291bnQgPiA2NTUzNSkgPyA2NTUzNSA6IGNvdW50OworCisJZXZlbnQgPSBremFsbG9jKHNpemVvZigqaGVhZHApICsgbGVuLCBHRlBfS0VSTkVMKTsKKwlpZiAoIWV2ZW50KQorCQlyZXR1cm4gLUVOT01FTTsKKworCWhlYWRwID0gKHN0cnVjdCBtbV9pb19oZWFkZXIgKilldmVudDsKKwloZWFkcC0+dHlwZSA9IE1NSU9fTUFHSUMgfCAoTU1JT19NQVJLRVIgPDwgTU1JT19PUENPREVfU0hJRlQpOworCWhlYWRwLT5kYXRhX2xlbiA9IGxlbjsKKworCWlmIChjb3B5X2Zyb21fdXNlcihldmVudCArIHNpemVvZigqaGVhZHApLCBidWZmZXIsIGxlbikpIHsKKwkJa2ZyZWUoZXZlbnQpOworCQlyZXR1cm4gLUVGQVVMVDsKKwl9CisKKwlzcGluX2xvY2tfaXJxKCZ0cmFjZV9sb2NrKTsKKyNpZiAwIC8qIFhYWDogY29udmVydCB0aGlzIHRvIHVzZSB0cmFjaW5nICovCisJaWYgKGlzX2VuYWJsZWQoKSkKKwkJcmVsYXlfd3JpdGUoY2hhbiwgZXZlbnQsIHNpemVvZigqaGVhZHApICsgbGVuKTsKKwllbHNlCisjZW5kaWYKKwkJbGVuID0gLUVJTlZBTDsKKwlzcGluX3VubG9ja19pcnEoJnRyYWNlX2xvY2spOworCWtmcmVlKGV2ZW50KTsKKwlyZXR1cm4gbGVuOworfQorI2VuZGlmCisKK3N0YXRpYyB2b2lkIHByaW50X3B0ZSh1bnNpZ25lZCBsb25nIGFkZHJlc3MpCit7CisJdW5zaWduZWQgaW50IGxldmVsOworCXB0ZV90ICpwdGUgPSBsb29rdXBfYWRkcmVzcyhhZGRyZXNzLCAmbGV2ZWwpOworCisJaWYgKCFwdGUpIHsKKwkJcHJfZXJyKE5BTUUgIkVycm9yIGluICVzOiBubyBwdGUgZm9yIHBhZ2UgMHglMDhseFxuIiwKKwkJCQkJCQlfX2Z1bmNfXywgYWRkcmVzcyk7CisJCXJldHVybjsKKwl9CisKKwlpZiAobGV2ZWwgPT0gUEdfTEVWRUxfMk0pIHsKKwkJcHJfZW1lcmcoTkFNRSAiNE1CIHBhZ2VzIGFyZSBub3QgY3VycmVudGx5IHN1cHBvcnRlZDogIgorCQkJCQkJCSIweCUwOGx4XG4iLCBhZGRyZXNzKTsKKwkJQlVHKCk7CisJfQorCXByX2luZm8oTkFNRSAicHRlIGZvciAweCVseDogMHglbGx4IDB4JWxseFxuIiwgYWRkcmVzcywKKwkJKHVuc2lnbmVkIGxvbmcgbG9uZylwdGVfdmFsKCpwdGUpLAorCQkodW5zaWduZWQgbG9uZyBsb25nKXB0ZV92YWwoKnB0ZSkgJiBfUEFHRV9QUkVTRU5UKTsKK30KKworLyoKKyAqIEZvciBzb21lIHJlYXNvbiB0aGUgcHJlL3Bvc3QgcGFpcnMgaGF2ZSBiZWVuIGNhbGxlZCBpbiBhbgorICogdW5tYXRjaGVkIG9yZGVyLiBSZXBvcnQgYW5kIGRpZS4KKyAqLworc3RhdGljIHZvaWQgZGllX2ttbWlvX25lc3RpbmdfZXJyb3Ioc3RydWN0IHB0X3JlZ3MgKnJlZ3MsIHVuc2lnbmVkIGxvbmcgYWRkcikKK3sKKwljb25zdCBzdHJ1Y3QgdHJhcF9yZWFzb24gKm15X3JlYXNvbiA9ICZnZXRfY3B1X3ZhcihwZl9yZWFzb24pOworCXByX2VtZXJnKE5BTUUgInVuZXhwZWN0ZWQgZmF1bHQgZm9yIGFkZHJlc3M6IDB4JTA4bHgsICIKKwkJCQkJImxhc3QgZmF1bHQgZm9yIGFkZHJlc3M6IDB4JTA4bHhcbiIsCisJCQkJCWFkZHIsIG15X3JlYXNvbi0+YWRkcik7CisJcHJpbnRfcHRlKGFkZHIpOworCXByaW50X3N5bWJvbChLRVJOX0VNRVJHICJmYXVsdGluZyBJUCBpcyBhdCAlc1xuIiwgcmVncy0+aXApOworCXByaW50X3N5bWJvbChLRVJOX0VNRVJHICJsYXN0IGZhdWx0aW5nIElQIHdhcyBhdCAlc1xuIiwgbXlfcmVhc29uLT5pcCk7CisjaWZkZWYgX19pMzg2X18KKwlwcl9lbWVyZygiZWF4OiAlMDhseCAgIGVieDogJTA4bHggICBlY3g6ICUwOGx4ICAgZWR4OiAlMDhseFxuIiwKKwkJCXJlZ3MtPmF4LCByZWdzLT5ieCwgcmVncy0+Y3gsIHJlZ3MtPmR4KTsKKwlwcl9lbWVyZygiZXNpOiAlMDhseCAgIGVkaTogJTA4bHggICBlYnA6ICUwOGx4ICAgZXNwOiAlMDhseFxuIiwKKwkJCXJlZ3MtPnNpLCByZWdzLT5kaSwgcmVncy0+YnAsIHJlZ3MtPnNwKTsKKyNlbHNlCisJcHJfZW1lcmcoInJheDogJTAxNmx4ICAgcmN4OiAlMDE2bHggICByZHg6ICUwMTZseFxuIiwKKwkJCQkJcmVncy0+YXgsIHJlZ3MtPmN4LCByZWdzLT5keCk7CisJcHJfZW1lcmcoInJzaTogJTAxNmx4ICAgcmRpOiAlMDE2bHggICByYnA6ICUwMTZseCAgIHJzcDogJTAxNmx4XG4iLAorCQkJCXJlZ3MtPnNpLCByZWdzLT5kaSwgcmVncy0+YnAsIHJlZ3MtPnNwKTsKKyNlbmRpZgorCXB1dF9jcHVfdmFyKHBmX3JlYXNvbik7CisJQlVHKCk7Cit9CisKK3N0YXRpYyB2b2lkIHByZShzdHJ1Y3Qga21taW9fcHJvYmUgKnAsIHN0cnVjdCBwdF9yZWdzICpyZWdzLAorCQkJCQkJdW5zaWduZWQgbG9uZyBhZGRyKQoreworCXN0cnVjdCB0cmFwX3JlYXNvbiAqbXlfcmVhc29uID0gJmdldF9jcHVfdmFyKHBmX3JlYXNvbik7CisJc3RydWN0IG1taW90cmFjZV9ydyAqbXlfdHJhY2UgPSAmZ2V0X2NwdV92YXIoY3B1X3RyYWNlKTsKKwljb25zdCB1bnNpZ25lZCBsb25nIGluc3RwdHIgPSBpbnN0cnVjdGlvbl9wb2ludGVyKHJlZ3MpOworCWNvbnN0IGVudW0gcmVhc29uX3R5cGUgdHlwZSA9IGdldF9pbnNfdHlwZShpbnN0cHRyKTsKKwlzdHJ1Y3QgcmVtYXBfdHJhY2UgKnRyYWNlID0gcC0+cHJpdmF0ZTsKKworCS8qIGl0IGRvZXNuJ3QgbWFrZSBzZW5zZSB0byBoYXZlIG1vcmUgdGhhbiBvbmUgYWN0aXZlIHRyYWNlIHBlciBjcHUgKi8KKwlpZiAobXlfcmVhc29uLT5hY3RpdmVfdHJhY2VzKQorCQlkaWVfa21taW9fbmVzdGluZ19lcnJvcihyZWdzLCBhZGRyKTsKKwllbHNlCisJCW15X3JlYXNvbi0+YWN0aXZlX3RyYWNlcysrOworCisJbXlfcmVhc29uLT50eXBlID0gdHlwZTsKKwlteV9yZWFzb24tPmFkZHIgPSBhZGRyOworCW15X3JlYXNvbi0+aXAgPSBpbnN0cHRyOworCisJbXlfdHJhY2UtPnBoeXMgPSBhZGRyIC0gdHJhY2UtPnByb2JlLmFkZHIgKyB0cmFjZS0+cGh5czsKKwlteV90cmFjZS0+bWFwX2lkID0gdHJhY2UtPmlkOworCisJLyoKKwkgKiBPbmx5IHJlY29yZCB0aGUgcHJvZ3JhbSBjb3VudGVyIHdoZW4gcmVxdWVzdGVkLgorCSAqIEl0IG1heSB0YWludCBjbGVhbi1yb29tIHJldmVyc2UgZW5naW5lZXJpbmcuCisJICovCisJaWYgKHRyYWNlX3BjKQorCQlteV90cmFjZS0+cGMgPSBpbnN0cHRyOworCWVsc2UKKwkJbXlfdHJhY2UtPnBjID0gMDsKKworCS8qCisJICogWFhYOiB0aGUgdGltZXN0YW1wIHJlY29yZGVkIHdpbGwgYmUgKmFmdGVyKiB0aGUgdHJhY2luZyBoYXMgYmVlbgorCSAqIGRvbmUsIG5vdCBhdCB0aGUgdGltZSB3ZSBoaXQgdGhlIGluc3RydWN0aW9uLiBTTVAgaW1wbGljYXRpb25zCisJICogb24gZXZlbnQgb3JkZXJpbmc/CisJICovCisKKwlzd2l0Y2ggKHR5cGUpIHsKKwljYXNlIFJFR19SRUFEOgorCQlteV90cmFjZS0+b3Bjb2RlID0gTU1JT19SRUFEOworCQlteV90cmFjZS0+d2lkdGggPSBnZXRfaW5zX21lbV93aWR0aChpbnN0cHRyKTsKKwkJYnJlYWs7CisJY2FzZSBSRUdfV1JJVEU6CisJCW15X3RyYWNlLT5vcGNvZGUgPSBNTUlPX1dSSVRFOworCQlteV90cmFjZS0+d2lkdGggPSBnZXRfaW5zX21lbV93aWR0aChpbnN0cHRyKTsKKwkJbXlfdHJhY2UtPnZhbHVlID0gZ2V0X2luc19yZWdfdmFsKGluc3RwdHIsIHJlZ3MpOworCQlicmVhazsKKwljYXNlIElNTV9XUklURToKKwkJbXlfdHJhY2UtPm9wY29kZSA9IE1NSU9fV1JJVEU7CisJCW15X3RyYWNlLT53aWR0aCA9IGdldF9pbnNfbWVtX3dpZHRoKGluc3RwdHIpOworCQlteV90cmFjZS0+dmFsdWUgPSBnZXRfaW5zX2ltbV92YWwoaW5zdHB0cik7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCXsKKwkJCXVuc2lnbmVkIGNoYXIgKmlwID0gKHVuc2lnbmVkIGNoYXIgKilpbnN0cHRyOworCQkJbXlfdHJhY2UtPm9wY29kZSA9IE1NSU9fVU5LTk9XTl9PUDsKKwkJCW15X3RyYWNlLT53aWR0aCA9IDA7CisJCQlteV90cmFjZS0+dmFsdWUgPSAoKmlwKSA8PCAxNiB8ICooaXAgKyAxKSA8PCA4IHwKKwkJCQkJCQkJKihpcCArIDIpOworCQl9CisJfQorCXB1dF9jcHVfdmFyKGNwdV90cmFjZSk7CisJcHV0X2NwdV92YXIocGZfcmVhc29uKTsKK30KKworc3RhdGljIHZvaWQgcG9zdChzdHJ1Y3Qga21taW9fcHJvYmUgKnAsIHVuc2lnbmVkIGxvbmcgY29uZGl0aW9uLAorCQkJCQkJCXN0cnVjdCBwdF9yZWdzICpyZWdzKQoreworCXN0cnVjdCB0cmFwX3JlYXNvbiAqbXlfcmVhc29uID0gJmdldF9jcHVfdmFyKHBmX3JlYXNvbik7CisJc3RydWN0IG1taW90cmFjZV9ydyAqbXlfdHJhY2UgPSAmZ2V0X2NwdV92YXIoY3B1X3RyYWNlKTsKKworCS8qIHRoaXMgc2hvdWxkIGFsd2F5cyByZXR1cm4gdGhlIGFjdGl2ZV90cmFjZSBjb3VudCB0byAwICovCisJbXlfcmVhc29uLT5hY3RpdmVfdHJhY2VzLS07CisJaWYgKG15X3JlYXNvbi0+YWN0aXZlX3RyYWNlcykgeworCQlwcl9lbWVyZyhOQU1FICJ1bmV4cGVjdGVkIHBvc3QgaGFuZGxlciIpOworCQlCVUcoKTsKKwl9CisKKwlzd2l0Y2ggKG15X3JlYXNvbi0+dHlwZSkgeworCWNhc2UgUkVHX1JFQUQ6CisJCW15X3RyYWNlLT52YWx1ZSA9IGdldF9pbnNfcmVnX3ZhbChteV9yZWFzb24tPmlwLCByZWdzKTsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJYnJlYWs7CisJfQorCisJbW1pb190cmFjZV9ydyhteV90cmFjZSk7CisJcHV0X2NwdV92YXIoY3B1X3RyYWNlKTsKKwlwdXRfY3B1X3ZhcihwZl9yZWFzb24pOworfQorCitzdGF0aWMgdm9pZCBpb3JlbWFwX3RyYWNlX2NvcmUocmVzb3VyY2Vfc2l6ZV90IG9mZnNldCwgdW5zaWduZWQgbG9uZyBzaXplLAorCQkJCQkJCXZvaWQgX19pb21lbSAqYWRkcikKK3sKKwlzdGF0aWMgYXRvbWljX3QgbmV4dF9pZDsKKwlzdHJ1Y3QgcmVtYXBfdHJhY2UgKnRyYWNlID0ga21hbGxvYyhzaXplb2YoKnRyYWNlKSwgR0ZQX0tFUk5FTCk7CisJLyogVGhlc2UgYXJlIHBhZ2UtdW5hbGlnbmVkLiAqLworCXN0cnVjdCBtbWlvdHJhY2VfbWFwIG1hcCA9IHsKKwkJLnBoeXMgPSBvZmZzZXQsCisJCS52aXJ0ID0gKHVuc2lnbmVkIGxvbmcpYWRkciwKKwkJLmxlbiA9IHNpemUsCisJCS5vcGNvZGUgPSBNTUlPX1BST0JFCisJfTsKKworCWlmICghdHJhY2UpIHsKKwkJcHJfZXJyKE5BTUUgImttYWxsb2MgZmFpbGVkIGluIGlvcmVtYXBcbiIpOworCQlyZXR1cm47CisJfQorCisJKnRyYWNlID0gKHN0cnVjdCByZW1hcF90cmFjZSkgeworCQkucHJvYmUgPSB7CisJCQkuYWRkciA9ICh1bnNpZ25lZCBsb25nKWFkZHIsCisJCQkubGVuID0gc2l6ZSwKKwkJCS5wcmVfaGFuZGxlciA9IHByZSwKKwkJCS5wb3N0X2hhbmRsZXIgPSBwb3N0LAorCQkJLnByaXZhdGUgPSB0cmFjZQorCQl9LAorCQkucGh5cyA9IG9mZnNldCwKKwkJLmlkID0gYXRvbWljX2luY19yZXR1cm4oJm5leHRfaWQpCisJfTsKKwltYXAubWFwX2lkID0gdHJhY2UtPmlkOworCisJc3Bpbl9sb2NrX2lycSgmdHJhY2VfbG9jayk7CisJaWYgKCFpc19lbmFibGVkKCkpCisJCWdvdG8gbm90X2VuYWJsZWQ7CisKKwltbWlvX3RyYWNlX21hcHBpbmcoJm1hcCk7CisJbGlzdF9hZGRfdGFpbCgmdHJhY2UtPmxpc3QsICZ0cmFjZV9saXN0KTsKKwlpZiAoIW5vbW1pb3RyYWNlKQorCQlyZWdpc3Rlcl9rbW1pb19wcm9iZSgmdHJhY2UtPnByb2JlKTsKKworbm90X2VuYWJsZWQ6CisJc3Bpbl91bmxvY2tfaXJxKCZ0cmFjZV9sb2NrKTsKK30KKwordm9pZCBtbWlvdHJhY2VfaW9yZW1hcChyZXNvdXJjZV9zaXplX3Qgb2Zmc2V0LCB1bnNpZ25lZCBsb25nIHNpemUsCisJCQkJCQl2b2lkIF9faW9tZW0gKmFkZHIpCit7CisJaWYgKCFpc19lbmFibGVkKCkpIC8qIHJlY2hlY2sgYW5kIHByb3BlciBsb2NraW5nIGluICpfY29yZSgpICovCisJCXJldHVybjsKKworCXByX2RlYnVnKE5BTUUgImlvcmVtYXBfKigweCVsbHgsIDB4JWx4KSA9ICVwXG4iLAorCQkJCSh1bnNpZ25lZCBsb25nIGxvbmcpb2Zmc2V0LCBzaXplLCBhZGRyKTsKKwlpZiAoKGZpbHRlcl9vZmZzZXQpICYmIChvZmZzZXQgIT0gZmlsdGVyX29mZnNldCkpCisJCXJldHVybjsKKwlpb3JlbWFwX3RyYWNlX2NvcmUob2Zmc2V0LCBzaXplLCBhZGRyKTsKK30KKworc3RhdGljIHZvaWQgaW91bm1hcF90cmFjZV9jb3JlKHZvbGF0aWxlIHZvaWQgX19pb21lbSAqYWRkcikKK3sKKwlzdHJ1Y3QgbW1pb3RyYWNlX21hcCBtYXAgPSB7CisJCS5waHlzID0gMCwKKwkJLnZpcnQgPSAodW5zaWduZWQgbG9uZylhZGRyLAorCQkubGVuID0gMCwKKwkJLm9wY29kZSA9IE1NSU9fVU5QUk9CRQorCX07CisJc3RydWN0IHJlbWFwX3RyYWNlICp0cmFjZTsKKwlzdHJ1Y3QgcmVtYXBfdHJhY2UgKnRtcDsKKwlzdHJ1Y3QgcmVtYXBfdHJhY2UgKmZvdW5kX3RyYWNlID0gTlVMTDsKKworCXByX2RlYnVnKE5BTUUgIlVubWFwcGluZyAlcC5cbiIsIGFkZHIpOworCisJc3Bpbl9sb2NrX2lycSgmdHJhY2VfbG9jayk7CisJaWYgKCFpc19lbmFibGVkKCkpCisJCWdvdG8gbm90X2VuYWJsZWQ7CisKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUodHJhY2UsIHRtcCwgJnRyYWNlX2xpc3QsIGxpc3QpIHsKKwkJaWYgKCh1bnNpZ25lZCBsb25nKWFkZHIgPT0gdHJhY2UtPnByb2JlLmFkZHIpIHsKKwkJCWlmICghbm9tbWlvdHJhY2UpCisJCQkJdW5yZWdpc3Rlcl9rbW1pb19wcm9iZSgmdHJhY2UtPnByb2JlKTsKKwkJCWxpc3RfZGVsKCZ0cmFjZS0+bGlzdCk7CisJCQlmb3VuZF90cmFjZSA9IHRyYWNlOworCQkJYnJlYWs7CisJCX0KKwl9CisJbWFwLm1hcF9pZCA9IChmb3VuZF90cmFjZSkgPyBmb3VuZF90cmFjZS0+aWQgOiAtMTsKKwltbWlvX3RyYWNlX21hcHBpbmcoJm1hcCk7CisKK25vdF9lbmFibGVkOgorCXNwaW5fdW5sb2NrX2lycSgmdHJhY2VfbG9jayk7CisJaWYgKGZvdW5kX3RyYWNlKSB7CisJCXN5bmNocm9uaXplX3JjdSgpOyAvKiB1bnJlZ2lzdGVyX2ttbWlvX3Byb2JlKCkgcmVxdWlyZW1lbnQgKi8KKwkJa2ZyZWUoZm91bmRfdHJhY2UpOworCX0KK30KKwordm9pZCBtbWlvdHJhY2VfaW91bm1hcCh2b2xhdGlsZSB2b2lkIF9faW9tZW0gKmFkZHIpCit7CisJbWlnaHRfc2xlZXAoKTsKKwlpZiAoaXNfZW5hYmxlZCgpKSAvKiByZWNoZWNrIGFuZCBwcm9wZXIgbG9ja2luZyBpbiAqX2NvcmUoKSAqLworCQlpb3VubWFwX3RyYWNlX2NvcmUoYWRkcik7Cit9CisKK3N0YXRpYyB2b2lkIGNsZWFyX3RyYWNlX2xpc3Qodm9pZCkKK3sKKwlzdHJ1Y3QgcmVtYXBfdHJhY2UgKnRyYWNlOworCXN0cnVjdCByZW1hcF90cmFjZSAqdG1wOworCisJLyoKKwkgKiBObyBsb2NraW5nIHJlcXVpcmVkLCBiZWNhdXNlIHRoZSBjYWxsZXIgZW5zdXJlcyB3ZSBhcmUgaW4gYQorCSAqIGNyaXRpY2FsIHNlY3Rpb24gdmlhIG11dGV4LCBhbmQgaXNfZW5hYmxlZCgpIGlzIGZhbHNlLAorCSAqIGkuZS4gbm90aGluZyBjYW4gdHJhdmVyc2Ugb3IgbW9kaWZ5IHRoaXMgbGlzdC4KKwkgKiBDYWxsZXIgYWxzbyBlbnN1cmVzIGlzX2VuYWJsZWQoKSBjYW5ub3QgY2hhbmdlLgorCSAqLworCWxpc3RfZm9yX2VhY2hfZW50cnkodHJhY2UsICZ0cmFjZV9saXN0LCBsaXN0KSB7CisJCXByX25vdGljZShOQU1FICJwdXJnaW5nIG5vbi1pb3VubWFwcGVkICIKKwkJCQkJInRyYWNlIEAweCUwOGx4LCBzaXplIDB4JWx4LlxuIiwKKwkJCQkJdHJhY2UtPnByb2JlLmFkZHIsIHRyYWNlLT5wcm9iZS5sZW4pOworCQlpZiAoIW5vbW1pb3RyYWNlKQorCQkJdW5yZWdpc3Rlcl9rbW1pb19wcm9iZSgmdHJhY2UtPnByb2JlKTsKKwl9CisJc3luY2hyb25pemVfcmN1KCk7IC8qIHVucmVnaXN0ZXJfa21taW9fcHJvYmUoKSByZXF1aXJlbWVudCAqLworCisJbGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZlKHRyYWNlLCB0bXAsICZ0cmFjZV9saXN0LCBsaXN0KSB7CisJCWxpc3RfZGVsKCZ0cmFjZS0+bGlzdCk7CisJCWtmcmVlKHRyYWNlKTsKKwl9Cit9CisKKyNpZmRlZiBDT05GSUdfSE9UUExVR19DUFUKK3N0YXRpYyBjcHVtYXNrX3QgZG93bmVkX2NwdXM7CisKK3N0YXRpYyB2b2lkIGVudGVyX3VuaXByb2Nlc3Nvcih2b2lkKQoreworCWludCBjcHU7CisJaW50IGVycjsKKworCWdldF9vbmxpbmVfY3B1cygpOworCWRvd25lZF9jcHVzID0gY3B1X29ubGluZV9tYXA7CisJY3B1X2NsZWFyKGZpcnN0X2NwdShjcHVfb25saW5lX21hcCksIGRvd25lZF9jcHVzKTsKKwlpZiAobnVtX29ubGluZV9jcHVzKCkgPiAxKQorCQlwcl9ub3RpY2UoTkFNRSAiRGlzYWJsaW5nIG5vbi1ib290IENQVXMuLi5cbiIpOworCXB1dF9vbmxpbmVfY3B1cygpOworCisJZm9yX2VhY2hfY3B1X21hc2soY3B1LCBkb3duZWRfY3B1cykgeworCQllcnIgPSBjcHVfZG93bihjcHUpOworCQlpZiAoIWVycikKKwkJCXByX2luZm8oTkFNRSAiQ1BVJWQgaXMgZG93bi5cbiIsIGNwdSk7CisJCWVsc2UKKwkJCXByX2VycihOQU1FICJFcnJvciB0YWtpbmcgQ1BVJWQgZG93bjogJWRcbiIsIGNwdSwgZXJyKTsKKwl9CisJaWYgKG51bV9vbmxpbmVfY3B1cygpID4gMSkKKwkJcHJfd2FybmluZyhOQU1FICJtdWx0aXBsZSBDUFVzIHN0aWxsIG9ubGluZSwgIgorCQkJCQkJIm1heSBtaXNzIGV2ZW50cy5cbiIpOworfQorCitzdGF0aWMgdm9pZCBsZWF2ZV91bmlwcm9jZXNzb3Iodm9pZCkKK3sKKwlpbnQgY3B1OworCWludCBlcnI7CisKKwlpZiAoY3B1c193ZWlnaHQoZG93bmVkX2NwdXMpID09IDApCisJCXJldHVybjsKKwlwcl9ub3RpY2UoTkFNRSAiUmUtZW5hYmxpbmcgQ1BVcy4uLlxuIik7CisJZm9yX2VhY2hfY3B1X21hc2soY3B1LCBkb3duZWRfY3B1cykgeworCQllcnIgPSBjcHVfdXAoY3B1KTsKKwkJaWYgKCFlcnIpCisJCQlwcl9pbmZvKE5BTUUgImVuYWJsZWQgQ1BVJWQuXG4iLCBjcHUpOworCQllbHNlCisJCQlwcl9lcnIoTkFNRSAiY2Fubm90IHJlLWVuYWJsZSBDUFUlZDogJWRcbiIsIGNwdSwgZXJyKTsKKwl9Cit9CisKKyNlbHNlIC8qICFDT05GSUdfSE9UUExVR19DUFUgKi8KK3N0YXRpYyB2b2lkIGVudGVyX3VuaXByb2Nlc3Nvcih2b2lkKQoreworCWlmIChudW1fb25saW5lX2NwdXMoKSA+IDEpCisJCXByX3dhcm5pbmcoTkFNRSAibXVsdGlwbGUgQ1BVcyBhcmUgb25saW5lLCBtYXkgbWlzcyBldmVudHMuICIKKwkJCSJTdWdnZXN0IGJvb3Rpbmcgd2l0aCBtYXhjcHVzPTEga2VybmVsIGFyZ3VtZW50LlxuIik7Cit9CisKK3N0YXRpYyB2b2lkIGxlYXZlX3VuaXByb2Nlc3Nvcih2b2lkKQoreworfQorI2VuZGlmCisKKyNpZiAwIC8qIFhYWDogb3V0IG9mIG9yZGVyICovCitzdGF0aWMgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyBmb3BzX21hcmtlciA9IHsKKwkub3duZXIgPQlUSElTX01PRFVMRSwKKwkud3JpdGUgPQl3cml0ZV9tYXJrZXIKK307CisjZW5kaWYKKwordm9pZCBlbmFibGVfbW1pb3RyYWNlKHZvaWQpCit7CisJbXV0ZXhfbG9jaygmbW1pb3RyYWNlX211dGV4KTsKKwlpZiAoaXNfZW5hYmxlZCgpKQorCQlnb3RvIG91dDsKKworI2lmIDAgLyogWFhYOiB0cmFjaW5nIGRvZXMgbm90IHN1cHBvcnQgdGV4dCBlbnRyaWVzICovCisJbWFya2VyX2ZpbGUgPSBkZWJ1Z2ZzX2NyZWF0ZV9maWxlKCJtYXJrZXIiLCAwNjYwLCBkaXIsIE5VTEwsCisJCQkJCQkJCSZmb3BzX21hcmtlcik7CisJaWYgKCFtYXJrZXJfZmlsZSkKKwkJcHJfZXJyKE5BTUUgIm1hcmtlciBmaWxlIGNyZWF0aW9uIGZhaWxlZC5cbiIpOworI2VuZGlmCisKKwlpZiAobm9tbWlvdHJhY2UpCisJCXByX2luZm8oTkFNRSAiTU1JTyB0cmFjaW5nIGRpc2FibGVkLlxuIik7CisJZW50ZXJfdW5pcHJvY2Vzc29yKCk7CisJc3Bpbl9sb2NrX2lycSgmdHJhY2VfbG9jayk7CisJYXRvbWljX2luYygmbW1pb3RyYWNlX2VuYWJsZWQpOworCXNwaW5fdW5sb2NrX2lycSgmdHJhY2VfbG9jayk7CisJcHJfaW5mbyhOQU1FICJlbmFibGVkLlxuIik7CitvdXQ6CisJbXV0ZXhfdW5sb2NrKCZtbWlvdHJhY2VfbXV0ZXgpOworfQorCit2b2lkIGRpc2FibGVfbW1pb3RyYWNlKHZvaWQpCit7CisJbXV0ZXhfbG9jaygmbW1pb3RyYWNlX211dGV4KTsKKwlpZiAoIWlzX2VuYWJsZWQoKSkKKwkJZ290byBvdXQ7CisKKwlzcGluX2xvY2tfaXJxKCZ0cmFjZV9sb2NrKTsKKwlhdG9taWNfZGVjKCZtbWlvdHJhY2VfZW5hYmxlZCk7CisJQlVHX09OKGlzX2VuYWJsZWQoKSk7CisJc3Bpbl91bmxvY2tfaXJxKCZ0cmFjZV9sb2NrKTsKKworCWNsZWFyX3RyYWNlX2xpc3QoKTsgLyogZ3VhcmFudGVlczogbm8gbW9yZSBrbW1pbyBjYWxsYmFja3MgKi8KKwlsZWF2ZV91bmlwcm9jZXNzb3IoKTsKKwlpZiAobWFya2VyX2ZpbGUpIHsKKwkJZGVidWdmc19yZW1vdmUobWFya2VyX2ZpbGUpOworCQltYXJrZXJfZmlsZSA9IE5VTEw7CisJfQorCisJcHJfaW5mbyhOQU1FICJkaXNhYmxlZC5cbiIpOworb3V0OgorCW11dGV4X3VubG9jaygmbW1pb3RyYWNlX211dGV4KTsKK30KZGlmZiAtLWdpdCBhL2FyY2gveDg2L21tL251bWFfNjQuYyBiL2FyY2gveDg2L21tL251bWFfNjQuYwppbmRleCBjNTA2NmQ1Li5iNDMyZDU3IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9tbS9udW1hXzY0LmMKKysrIGIvYXJjaC94ODYvbW0vbnVtYV82NC5jCkBAIC0yNywzMCArMjcsMTcgQEAKIHN0cnVjdCBwZ2xpc3RfZGF0YSAqbm9kZV9kYXRhW01BWF9OVU1OT0RFU10gX19yZWFkX21vc3RseTsKIEVYUE9SVF9TWU1CT0wobm9kZV9kYXRhKTsKIAotYm9vdG1lbV9kYXRhX3QgcGxhdF9ub2RlX2JkYXRhW01BWF9OVU1OT0RFU107CitzdGF0aWMgYm9vdG1lbV9kYXRhX3QgcGxhdF9ub2RlX2JkYXRhW01BWF9OVU1OT0RFU107CiAKIHN0cnVjdCBtZW1ub2RlIG1lbW5vZGU7CiAKLSNpZmRlZiBDT05GSUdfU01QCi1pbnQgeDg2X2NwdV90b19ub2RlX21hcF9pbml0W05SX0NQVVNdID0gewotCVswIC4uLiBOUl9DUFVTLTFdID0gTlVNQV9OT19OT0RFCi19Owotdm9pZCAqeDg2X2NwdV90b19ub2RlX21hcF9lYXJseV9wdHI7Ci1FWFBPUlRfU1lNQk9MKHg4Nl9jcHVfdG9fbm9kZV9tYXBfZWFybHlfcHRyKTsKLSNlbmRpZgotREVGSU5FX1BFUl9DUFUoaW50LCB4ODZfY3B1X3RvX25vZGVfbWFwKSA9IE5VTUFfTk9fTk9ERTsKLUVYUE9SVF9QRVJfQ1BVX1NZTUJPTCh4ODZfY3B1X3RvX25vZGVfbWFwKTsKLQogczE2IGFwaWNpZF90b19ub2RlW01BWF9MT0NBTF9BUElDXSBfX2NwdWluaXRkYXRhID0gewogCVswIC4uLiBNQVhfTE9DQUxfQVBJQy0xXSA9IE5VTUFfTk9fTk9ERQogfTsKIAotY3B1bWFza190IG5vZGVfdG9fY3B1bWFza19tYXBbTUFYX05VTU5PREVTXSBfX3JlYWRfbW9zdGx5OwotRVhQT1JUX1NZTUJPTChub2RlX3RvX2NwdW1hc2tfbWFwKTsKLQogaW50IG51bWFfb2ZmIF9faW5pdGRhdGE7Ci11bnNpZ25lZCBsb25nIF9faW5pdGRhdGEgbm9kZW1hcF9hZGRyOwotdW5zaWduZWQgbG9uZyBfX2luaXRkYXRhIG5vZGVtYXBfc2l6ZTsKK3N0YXRpYyB1bnNpZ25lZCBsb25nIF9faW5pdGRhdGEgbm9kZW1hcF9hZGRyOworc3RhdGljIHVuc2lnbmVkIGxvbmcgX19pbml0ZGF0YSBub2RlbWFwX3NpemU7CiAKIC8qCiAgKiBHaXZlbiBhIHNoaWZ0IHZhbHVlLCB0cnkgdG8gcG9wdWxhdGUgbWVtbm9kZW1hcFtdCkBAIC05OSw3ICs4Niw3IEBACiAKIAlhZGRyID0gMHg4MDAwOwogCW5vZGVtYXBfc2l6ZSA9IHJvdW5kX3VwKHNpemVvZihzMTYpICogbWVtbm9kZW1hcHNpemUsIEwxX0NBQ0hFX0JZVEVTKTsKLQlub2RlbWFwX2FkZHIgPSBmaW5kX2U4MjBfYXJlYShhZGRyLCBlbmRfcGZuPDxQQUdFX1NISUZULAorCW5vZGVtYXBfYWRkciA9IGZpbmRfZTgyMF9hcmVhKGFkZHIsIG1heF9wZm48PFBBR0VfU0hJRlQsCiAJCQkJICAgICAgbm9kZW1hcF9zaXplLCBMMV9DQUNIRV9CWVRFUyk7CiAJaWYgKG5vZGVtYXBfYWRkciA9PSAtMVVMKSB7CiAJCXByaW50ayhLRVJOX0VSUgpAQCAtMTkyLDcgKzE3OSw3IEBACiB2b2lkIF9faW5pdCBzZXR1cF9ub2RlX2Jvb3RtZW0oaW50IG5vZGVpZCwgdW5zaWduZWQgbG9uZyBzdGFydCwKIAkJCSAgICAgICB1bnNpZ25lZCBsb25nIGVuZCkKIHsKLQl1bnNpZ25lZCBsb25nIHN0YXJ0X3BmbiwgZW5kX3BmbiwgYm9vdG1hcF9wYWdlcywgYm9vdG1hcF9zaXplOworCXVuc2lnbmVkIGxvbmcgc3RhcnRfcGZuLCBsYXN0X3BmbiwgYm9vdG1hcF9wYWdlcywgYm9vdG1hcF9zaXplOwogCXVuc2lnbmVkIGxvbmcgYm9vdG1hcF9zdGFydCwgbm9kZWRhdGFfcGh5czsKIAl2b2lkICpib290bWFwOwogCWNvbnN0IGludCBwZ2RhdF9zaXplID0gcm91bmRfdXAoc2l6ZW9mKHBnX2RhdGFfdCksIFBBR0VfU0laRSk7CkBAIC0yMDQsNyArMTkxLDcgQEAKIAkgICAgICAgc3RhcnQsIGVuZCk7CiAKIAlzdGFydF9wZm4gPSBzdGFydCA+PiBQQUdFX1NISUZUOwotCWVuZF9wZm4gPSBlbmQgPj4gUEFHRV9TSElGVDsKKwlsYXN0X3BmbiA9IGVuZCA+PiBQQUdFX1NISUZUOwogCiAJbm9kZV9kYXRhW25vZGVpZF0gPSBlYXJseV9ub2RlX21lbShub2RlaWQsIHN0YXJ0LCBlbmQsIHBnZGF0X3NpemUsCiAJCQkJCSAgIFNNUF9DQUNIRV9CWVRFUyk7CkBAIC0yMTcsNyArMjA0LDcgQEAKIAltZW1zZXQoTk9ERV9EQVRBKG5vZGVpZCksIDAsIHNpemVvZihwZ19kYXRhX3QpKTsKIAlOT0RFX0RBVEEobm9kZWlkKS0+YmRhdGEgPSAmcGxhdF9ub2RlX2JkYXRhW25vZGVpZF07CiAJTk9ERV9EQVRBKG5vZGVpZCktPm5vZGVfc3RhcnRfcGZuID0gc3RhcnRfcGZuOwotCU5PREVfREFUQShub2RlaWQpLT5ub2RlX3NwYW5uZWRfcGFnZXMgPSBlbmRfcGZuIC0gc3RhcnRfcGZuOworCU5PREVfREFUQShub2RlaWQpLT5ub2RlX3NwYW5uZWRfcGFnZXMgPSBsYXN0X3BmbiAtIHN0YXJ0X3BmbjsKIAogCS8qCiAJICogRmluZCBhIHBsYWNlIGZvciB0aGUgYm9vdG1lbSBtYXAKQEAgLTIyNiwxNCArMjEzLDE0IEBACiAJICogZWFybHlfbm9kZV9tZW0gd2lsbCBnZXQgdGhhdCB3aXRoIGZpbmRfZTgyMF9hcmVhIGluc3RlYWQKIAkgKiBvZiBhbGxvY19ib290bWVtLCB0aGF0IGNvdWxkIGNsYXNoIHdpdGggcmVzZXJ2ZWQgcmFuZ2UKIAkgKi8KLQlib290bWFwX3BhZ2VzID0gYm9vdG1lbV9ib290bWFwX3BhZ2VzKGVuZF9wZm4gLSBzdGFydF9wZm4pOworCWJvb3RtYXBfcGFnZXMgPSBib290bWVtX2Jvb3RtYXBfcGFnZXMobGFzdF9wZm4gLSBzdGFydF9wZm4pOwogCW5pZCA9IHBoeXNfdG9fbmlkKG5vZGVkYXRhX3BoeXMpOwogCWlmIChuaWQgPT0gbm9kZWlkKQogCQlib290bWFwX3N0YXJ0ID0gcm91bmRfdXAobm9kZWRhdGFfcGh5cyArIHBnZGF0X3NpemUsIFBBR0VfU0laRSk7CiAJZWxzZQogCQlib290bWFwX3N0YXJ0ID0gcm91bmRfdXAoc3RhcnQsIFBBR0VfU0laRSk7CiAJLyoKLQkgKiBTTVBfQ0FIQ0VfQllURVMgY291bGQgYmUgZW5vdWdoLCBidXQgaW5pdF9ib290bWVtX25vZGUgbGlrZQorCSAqIFNNUF9DQUNIRV9CWVRFUyBjb3VsZCBiZSBlbm91Z2gsIGJ1dCBpbml0X2Jvb3RtZW1fbm9kZSBsaWtlCiAJICogdG8gdXNlIHRoYXQgdG8gYWxpZ24gdG8gUEFHRV9TSVpFCiAJICovCiAJYm9vdG1hcCA9IGVhcmx5X25vZGVfbWVtKG5vZGVpZCwgYm9vdG1hcF9zdGFydCwgZW5kLApAQCAtMjQ4LDcgKzIzNSw3IEBACiAKIAlib290bWFwX3NpemUgPSBpbml0X2Jvb3RtZW1fbm9kZShOT0RFX0RBVEEobm9kZWlkKSwKIAkJCQkJIGJvb3RtYXBfc3RhcnQgPj4gUEFHRV9TSElGVCwKLQkJCQkJIHN0YXJ0X3BmbiwgZW5kX3Bmbik7CisJCQkJCSBzdGFydF9wZm4sIGxhc3RfcGZuKTsKIAogCXByaW50ayhLRVJOX0lORk8gIiAgYm9vdG1hcCBbJTAxNmx4IC0gICUwMTZseF0gcGFnZXMgJWx4XG4iLAogCQkgYm9vdG1hcF9zdGFydCwgYm9vdG1hcF9zdGFydCArIGJvb3RtYXBfc2l6ZSAtIDEsCkBAIC0zMDksNyArMjk2LDcgQEAKIAogI2lmZGVmIENPTkZJR19OVU1BX0VNVQogLyogTnVtYSBlbXVsYXRpb24gKi8KLWNoYXIgKmNtZGxpbmUgX19pbml0ZGF0YTsKK3N0YXRpYyBjaGFyICpjbWRsaW5lIF9faW5pdGRhdGE7CiAKIC8qCiAgKiBTZXR1cHMgdXAgbmlkIHRvIHJhbmdlIGZyb20gYWRkciB0byBhZGRyICsgc2l6ZS4gIElmIHRoZSBlbmQKQEAgLTQxMywxNSArNDAwLDE1IEBACiB9CiAKIC8qCi0gKiBTZXRzIHVwIHRoZSBzeXN0ZW0gUkFNIGFyZWEgZnJvbSBzdGFydF9wZm4gdG8gZW5kX3BmbiBhY2NvcmRpbmcgdG8gdGhlCisgKiBTZXRzIHVwIHRoZSBzeXN0ZW0gUkFNIGFyZWEgZnJvbSBzdGFydF9wZm4gdG8gbGFzdF9wZm4gYWNjb3JkaW5nIHRvIHRoZQogICogbnVtYT1mYWtlIGNvbW1hbmQtbGluZSBvcHRpb24uCiAgKi8KIHN0YXRpYyBzdHJ1Y3QgYm9vdG5vZGUgbm9kZXNbTUFYX05VTU5PREVTXSBfX2luaXRkYXRhOwogCi1zdGF0aWMgaW50IF9faW5pdCBudW1hX2VtdWxhdGlvbih1bnNpZ25lZCBsb25nIHN0YXJ0X3BmbiwgdW5zaWduZWQgbG9uZyBlbmRfcGZuKQorc3RhdGljIGludCBfX2luaXQgbnVtYV9lbXVsYXRpb24odW5zaWduZWQgbG9uZyBzdGFydF9wZm4sIHVuc2lnbmVkIGxvbmcgbGFzdF9wZm4pCiB7CiAJdTY0IHNpemUsIGFkZHIgPSBzdGFydF9wZm4gPDwgUEFHRV9TSElGVDsKLQl1NjQgbWF4X2FkZHIgPSBlbmRfcGZuIDw8IFBBR0VfU0hJRlQ7CisJdTY0IG1heF9hZGRyID0gbGFzdF9wZm4gPDwgUEFHRV9TSElGVDsKIAlpbnQgbnVtX25vZGVzID0gMCwgbnVtID0gMCwgY29lZmZfZmxhZywgY29lZmYgPSAtMSwgaTsKIAogCW1lbXNldCgmbm9kZXMsIDAsIHNpemVvZihub2RlcykpOwpAQCAtNTI3LDcgKzUxNCw3IEBACiB9CiAjZW5kaWYgLyogQ09ORklHX05VTUFfRU1VICovCiAKLXZvaWQgX19pbml0IG51bWFfaW5pdG1lbV9pbml0KHVuc2lnbmVkIGxvbmcgc3RhcnRfcGZuLCB1bnNpZ25lZCBsb25nIGVuZF9wZm4pCit2b2lkIF9faW5pdCBpbml0bWVtX2luaXQodW5zaWduZWQgbG9uZyBzdGFydF9wZm4sIHVuc2lnbmVkIGxvbmcgbGFzdF9wZm4pCiB7CiAJaW50IGk7CiAKQEAgLTUzNSw3ICs1MjIsNyBAQAogCW5vZGVzX2NsZWFyKG5vZGVfb25saW5lX21hcCk7CiAKICNpZmRlZiBDT05GSUdfTlVNQV9FTVUKLQlpZiAoY21kbGluZSAmJiAhbnVtYV9lbXVsYXRpb24oc3RhcnRfcGZuLCBlbmRfcGZuKSkKKwlpZiAoY21kbGluZSAmJiAhbnVtYV9lbXVsYXRpb24oc3RhcnRfcGZuLCBsYXN0X3BmbikpCiAJCXJldHVybjsKIAlub2Rlc19jbGVhcihub2RlX3Bvc3NpYmxlX21hcCk7CiAJbm9kZXNfY2xlYXIobm9kZV9vbmxpbmVfbWFwKTsKQEAgLTU0Myw3ICs1MzAsNyBAQAogCiAjaWZkZWYgQ09ORklHX0FDUElfTlVNQQogCWlmICghbnVtYV9vZmYgJiYgIWFjcGlfc2Nhbl9ub2RlcyhzdGFydF9wZm4gPDwgUEFHRV9TSElGVCwKLQkJCQkJICBlbmRfcGZuIDw8IFBBR0VfU0hJRlQpKQorCQkJCQkgIGxhc3RfcGZuIDw8IFBBR0VfU0hJRlQpKQogCQlyZXR1cm47CiAJbm9kZXNfY2xlYXIobm9kZV9wb3NzaWJsZV9tYXApOwogCW5vZGVzX2NsZWFyKG5vZGVfb25saW5lX21hcCk7CkBAIC01NTEsNyArNTM4LDcgQEAKIAogI2lmZGVmIENPTkZJR19LOF9OVU1BCiAJaWYgKCFudW1hX29mZiAmJiAhazhfc2Nhbl9ub2RlcyhzdGFydF9wZm48PFBBR0VfU0hJRlQsCi0JCQkJCWVuZF9wZm48PFBBR0VfU0hJRlQpKQorCQkJCQlsYXN0X3Bmbjw8UEFHRV9TSElGVCkpCiAJCXJldHVybjsKIAlub2Rlc19jbGVhcihub2RlX3Bvc3NpYmxlX21hcCk7CiAJbm9kZXNfY2xlYXIobm9kZV9vbmxpbmVfbWFwKTsKQEAgLTU2MSw3ICs1NDgsNyBAQAogCiAJcHJpbnRrKEtFUk5fSU5GTyAiRmFraW5nIGEgbm9kZSBhdCAlMDE2bHgtJTAxNmx4XG4iLAogCSAgICAgICBzdGFydF9wZm4gPDwgUEFHRV9TSElGVCwKLQkgICAgICAgZW5kX3BmbiA8PCBQQUdFX1NISUZUKTsKKwkgICAgICAgbGFzdF9wZm4gPDwgUEFHRV9TSElGVCk7CiAJLyogc2V0dXAgZHVtbXkgbm9kZSBjb3ZlcmluZyBhbGwgbWVtb3J5ICovCiAJbWVtbm9kZV9zaGlmdCA9IDYzOwogCW1lbW5vZGVtYXAgPSBtZW1ub2RlLmVtYmVkZGVkX21hcDsKQEAgLTU3MCwyOSArNTU3LDggQEAKIAlub2RlX3NldCgwLCBub2RlX3Bvc3NpYmxlX21hcCk7CiAJZm9yIChpID0gMDsgaSA8IE5SX0NQVVM7IGkrKykKIAkJbnVtYV9zZXRfbm9kZShpLCAwKTsKLQkvKiBjcHVtYXNrX29mX2NwdSgpIG1heSBub3QgYmUgYXZhaWxhYmxlIGR1cmluZyBlYXJseSBzdGFydHVwICovCi0JbWVtc2V0KCZub2RlX3RvX2NwdW1hc2tfbWFwWzBdLCAwLCBzaXplb2Yobm9kZV90b19jcHVtYXNrX21hcFswXSkpOwotCWNwdV9zZXQoMCwgbm9kZV90b19jcHVtYXNrX21hcFswXSk7Ci0JZTgyMF9yZWdpc3Rlcl9hY3RpdmVfcmVnaW9ucygwLCBzdGFydF9wZm4sIGVuZF9wZm4pOwotCXNldHVwX25vZGVfYm9vdG1lbSgwLCBzdGFydF9wZm4gPDwgUEFHRV9TSElGVCwgZW5kX3BmbiA8PCBQQUdFX1NISUZUKTsKLX0KLQotX19jcHVpbml0IHZvaWQgbnVtYV9hZGRfY3B1KGludCBjcHUpCi17Ci0Jc2V0X2JpdChjcHUsCi0JCSh1bnNpZ25lZCBsb25nICopJm5vZGVfdG9fY3B1bWFza19tYXBbZWFybHlfY3B1X3RvX25vZGUoY3B1KV0pOwotfQotCi12b2lkIF9fY3B1aW5pdCBudW1hX3NldF9ub2RlKGludCBjcHUsIGludCBub2RlKQotewotCWludCAqY3B1X3RvX25vZGVfbWFwID0geDg2X2NwdV90b19ub2RlX21hcF9lYXJseV9wdHI7Ci0KLQlpZihjcHVfdG9fbm9kZV9tYXApCi0JCWNwdV90b19ub2RlX21hcFtjcHVdID0gbm9kZTsKLQllbHNlIGlmKHBlcl9jcHVfb2Zmc2V0KGNwdSkpCi0JCXBlcl9jcHUoeDg2X2NwdV90b19ub2RlX21hcCwgY3B1KSA9IG5vZGU7Ci0JZWxzZQotCQlEcHJpbnRrKEtFUk5fSU5GTyAiU2V0dGluZyBub2RlIGZvciBub24tcHJlc2VudCBjcHUgJWRcbiIsIGNwdSk7CisJZTgyMF9yZWdpc3Rlcl9hY3RpdmVfcmVnaW9ucygwLCBzdGFydF9wZm4sIGxhc3RfcGZuKTsKKwlzZXR1cF9ub2RlX2Jvb3RtZW0oMCwgc3RhcnRfcGZuIDw8IFBBR0VfU0hJRlQsIGxhc3RfcGZuIDw8IFBBR0VfU0hJRlQpOwogfQogCiB1bnNpZ25lZCBsb25nIF9faW5pdCBudW1hX2ZyZWVfYWxsX2Jvb3RtZW0odm9pZCkKQEAgLTYxMyw3ICs1NzksNyBAQAogCW1lbXNldChtYXhfem9uZV9wZm5zLCAwLCBzaXplb2YobWF4X3pvbmVfcGZucykpOwogCW1heF96b25lX3BmbnNbWk9ORV9ETUFdID0gTUFYX0RNQV9QRk47CiAJbWF4X3pvbmVfcGZuc1taT05FX0RNQTMyXSA9IE1BWF9ETUEzMl9QRk47Ci0JbWF4X3pvbmVfcGZuc1taT05FX05PUk1BTF0gPSBlbmRfcGZuOworCW1heF96b25lX3BmbnNbWk9ORV9OT1JNQUxdID0gbWF4X3BmbjsKIAogCXNwYXJzZV9tZW1vcnlfcHJlc2VudF93aXRoX2FjdGl2ZV9yZWdpb25zKE1BWF9OVU1OT0RFUyk7CiAJc3BhcnNlX2luaXQoKTsKQEAgLTY0MSw2ICs2MDcsNyBAQAogfQogZWFybHlfcGFyYW0oIm51bWEiLCBudW1hX3NldHVwKTsKIAorI2lmZGVmIENPTkZJR19OVU1BCiAvKgogICogU2V0dXAgZWFybHkgY3B1X3RvX25vZGUuCiAgKgpAQCAtNjUyLDE0ICs2MTksMTkgQEAKICAqIGlzIGFscmVhZHkgaW5pdGlhbGl6ZWQgaW4gYSByb3VuZCByb2JpbiBtYW5uZXIgYXQgbnVtYV9pbml0X2FycmF5LAogICogcHJpb3IgdG8gdGhpcyBjYWxsLCBhbmQgdGhpcyBpbml0aWFsaXphdGlvbiBpcyBnb29kIGVub3VnaAogICogZm9yIHRoZSBmYWtlIE5VTUEgY2FzZXMuCisgKgorICogQ2FsbGVkIGJlZm9yZSB0aGUgcGVyX2NwdSBhcmVhcyBhcmUgc2V0dXAuCiAgKi8KIHZvaWQgX19pbml0IGluaXRfY3B1X3RvX25vZGUodm9pZCkKIHsKLQlpbnQgaTsKKwlpbnQgY3B1OworCXUxNiAqY3B1X3RvX2FwaWNpZCA9IGVhcmx5X3Blcl9jcHVfcHRyKHg4Nl9jcHVfdG9fYXBpY2lkKTsKIAotCWZvciAoaSA9IDA7IGkgPCBOUl9DUFVTOyBpKyspIHsKKwlCVUdfT04oY3B1X3RvX2FwaWNpZCA9PSBOVUxMKTsKKworCWZvcl9lYWNoX3Bvc3NpYmxlX2NwdShjcHUpIHsKIAkJaW50IG5vZGU7Ci0JCXUxNiBhcGljaWQgPSB4ODZfY3B1X3RvX2FwaWNpZF9pbml0W2ldOworCQl1MTYgYXBpY2lkID0gY3B1X3RvX2FwaWNpZFtjcHVdOwogCiAJCWlmIChhcGljaWQgPT0gQkFEX0FQSUNJRCkKIAkJCWNvbnRpbnVlOwpAQCAtNjY4LDggKzY0MCw5IEBACiAJCQljb250aW51ZTsKIAkJaWYgKCFub2RlX29ubGluZShub2RlKSkKIAkJCWNvbnRpbnVlOwotCQludW1hX3NldF9ub2RlKGksIG5vZGUpOworCQludW1hX3NldF9ub2RlKGNwdSwgbm9kZSk7CiAJfQogfQorI2VuZGlmCiAKIApkaWZmIC0tZ2l0IGEvYXJjaC94ODYvbW0vcGFnZWF0dHItdGVzdC5jIGIvYXJjaC94ODYvbW0vcGFnZWF0dHItdGVzdC5jCmluZGV4IDc1ZjFiMTAuLjBkY2Q0MmUgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L21tL3BhZ2VhdHRyLXRlc3QuYworKysgYi9hcmNoL3g4Ni9tbS9wYWdlYXR0ci10ZXN0LmMKQEAgLTEsOCArMSw4IEBACiAvKgogICogc2VsZiB0ZXN0IGZvciBjaGFuZ2VfcGFnZV9hdHRyLgogICoKLSAqIENsZWFycyB0aGUgZ2xvYmFsIGJpdCBvbiByYW5kb20gcGFnZXMgaW4gdGhlIGRpcmVjdCBtYXBwaW5nLCB0aGVuIHJldmVydHMKLSAqIGFuZCBjb21wYXJlcyBwYWdlIHRhYmxlcyBmb3J3YXJkcyBhbmQgYWZ0ZXJ3YXJkcy4KKyAqIENsZWFycyB0aGUgYSB0ZXN0IHB0ZSBiaXQgb24gcmFuZG9tIHBhZ2VzIGluIHRoZSBkaXJlY3QgbWFwcGluZywKKyAqIHRoZW4gcmV2ZXJ0cyBhbmQgY29tcGFyZXMgcGFnZSB0YWJsZXMgZm9yd2FyZHMgYW5kIGFmdGVyd2FyZHMuCiAgKi8KICNpbmNsdWRlIDxsaW51eC9ib290bWVtLmg+CiAjaW5jbHVkZSA8bGludXgva3RocmVhZC5oPgpAQCAtMzIsNiArMzIsMTMgQEAKIAlHUFMJCQk9ICgxPDwzMCkKIH07CiAKKyNkZWZpbmUgUEFHRV9URVNUQklUCV9fcGdwcm90KF9QQUdFX1VOVVNFRDEpCisKK3N0YXRpYyBpbnQgcHRlX3Rlc3RiaXQocHRlX3QgcHRlKQoreworCXJldHVybiBwdGVfZmxhZ3MocHRlKSAmIF9QQUdFX1VOVVNFRDE7Cit9CisKIHN0cnVjdCBzcGxpdF9zdGF0ZSB7CiAJbG9uZyBscGcsIGdwZywgc3BnLCBleGVjOwogCWxvbmcgbWluX2V4ZWMsIG1heF9leGVjOwpAQCAtMTY1LDE1ICsxNzIsMTQgQEAKIAkJCWNvbnRpbnVlOwogCQl9CiAKLQkJZXJyID0gY2hhbmdlX3BhZ2VfYXR0cl9jbGVhcihhZGRyW2ldLCBsZW5baV0sCi0JCQkJCSAgICAgICBfX3BncHJvdChfUEFHRV9HTE9CQUwpKTsKKwkJZXJyID0gY2hhbmdlX3BhZ2VfYXR0cl9zZXQoYWRkcltpXSwgbGVuW2ldLCBQQUdFX1RFU1RCSVQpOwogCQlpZiAoZXJyIDwgMCkgewogCQkJcHJpbnRrKEtFUk5fRVJSICJDUEEgJWQgZmFpbGVkICVkXG4iLCBpLCBlcnIpOwogCQkJZmFpbGVkKys7CiAJCX0KIAogCQlwdGUgPSBsb29rdXBfYWRkcmVzcyhhZGRyW2ldLCAmbGV2ZWwpOwotCQlpZiAoIXB0ZSB8fCBwdGVfZ2xvYmFsKCpwdGUpIHx8IHB0ZV9odWdlKCpwdGUpKSB7CisJCWlmICghcHRlIHx8ICFwdGVfdGVzdGJpdCgqcHRlKSB8fCBwdGVfaHVnZSgqcHRlKSkgewogCQkJcHJpbnRrKEtFUk5fRVJSICJDUEEgJWx4OiBiYWQgcHRlICVMeFxuIiwgYWRkcltpXSwKIAkJCQlwdGUgPyAodTY0KXB0ZV92YWwoKnB0ZSkgOiAwVUxMKTsKIAkJCWZhaWxlZCsrOwpAQCAtMTk4LDE0ICsyMDQsMTMgQEAKIAkJCWZhaWxlZCsrOwogCQkJY29udGludWU7CiAJCX0KLQkJZXJyID0gY2hhbmdlX3BhZ2VfYXR0cl9zZXQoYWRkcltpXSwgbGVuW2ldLAotCQkJCQkgICAgIF9fcGdwcm90KF9QQUdFX0dMT0JBTCkpOworCQllcnIgPSBjaGFuZ2VfcGFnZV9hdHRyX2NsZWFyKGFkZHJbaV0sIGxlbltpXSwgUEFHRV9URVNUQklUKTsKIAkJaWYgKGVyciA8IDApIHsKIAkJCXByaW50ayhLRVJOX0VSUiAiQ1BBIHJldmVydGluZyBmYWlsZWQ6ICVkXG4iLCBlcnIpOwogCQkJZmFpbGVkKys7CiAJCX0KIAkJcHRlID0gbG9va3VwX2FkZHJlc3MoYWRkcltpXSwgJmxldmVsKTsKLQkJaWYgKCFwdGUgfHwgIXB0ZV9nbG9iYWwoKnB0ZSkpIHsKKwkJaWYgKCFwdGUgfHwgcHRlX3Rlc3RiaXQoKnB0ZSkpIHsKIAkJCXByaW50ayhLRVJOX0VSUiAiQ1BBICVseDogYmFkIHB0ZSBhZnRlciByZXZlcnQgJUx4XG4iLAogCQkJCWFkZHJbaV0sIHB0ZSA/ICh1NjQpcHRlX3ZhbCgqcHRlKSA6IDBVTEwpOwogCQkJZmFpbGVkKys7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9tbS9wYWdlYXR0ci5jIGIvYXJjaC94ODYvbW0vcGFnZWF0dHIuYwppbmRleCA2MGJjYjViLi40N2Y0ZTJlIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9tbS9wYWdlYXR0ci5jCisrKyBiL2FyY2gveDg2L21tL3BhZ2VhdHRyLmMKQEAgLTM0LDYgKzM0LDQxIEBACiAJdW5zaWduZWQJZm9yY2Vfc3BsaXQgOiAxOwogfTsKIAorI2lmZGVmIENPTkZJR19QUk9DX0ZTCitzdGF0aWMgdW5zaWduZWQgbG9uZyBkaXJlY3RfcGFnZXNfY291bnRbUEdfTEVWRUxfTlVNXTsKKwordm9pZCB1cGRhdGVfcGFnZV9jb3VudChpbnQgbGV2ZWwsIHVuc2lnbmVkIGxvbmcgcGFnZXMpCit7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKworCS8qIFByb3RlY3QgYWdhaW5zdCBDUEEgKi8KKwlzcGluX2xvY2tfaXJxc2F2ZSgmcGdkX2xvY2ssIGZsYWdzKTsKKwlkaXJlY3RfcGFnZXNfY291bnRbbGV2ZWxdICs9IHBhZ2VzOworCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnBnZF9sb2NrLCBmbGFncyk7Cit9CisKK3N0YXRpYyB2b2lkIHNwbGl0X3BhZ2VfY291bnQoaW50IGxldmVsKQoreworCWRpcmVjdF9wYWdlc19jb3VudFtsZXZlbF0tLTsKKwlkaXJlY3RfcGFnZXNfY291bnRbbGV2ZWwgLSAxXSArPSBQVFJTX1BFUl9QVEU7Cit9CisKK2ludCBhcmNoX3JlcG9ydF9tZW1pbmZvKGNoYXIgKnBhZ2UpCit7CisJaW50IG4gPSBzcHJpbnRmKHBhZ2UsICJEaXJlY3RNYXA0azogICU4bHVcbiIKKwkJCSJEaXJlY3RNYXAyTTogICU4bHVcbiIsCisJCQlkaXJlY3RfcGFnZXNfY291bnRbUEdfTEVWRUxfNEtdLAorCQkJZGlyZWN0X3BhZ2VzX2NvdW50W1BHX0xFVkVMXzJNXSk7CisjaWZkZWYgQ09ORklHX1g4Nl82NAorCW4gKz0gc3ByaW50ZihwYWdlICsgbiwgIkRpcmVjdE1hcDFHOiAgJThsdVxuIiwKKwkJICAgICBkaXJlY3RfcGFnZXNfY291bnRbUEdfTEVWRUxfMUddKTsKKyNlbmRpZgorCXJldHVybiBuOworfQorI2Vsc2UKK3N0YXRpYyBpbmxpbmUgdm9pZCBzcGxpdF9wYWdlX2NvdW50KGludCBsZXZlbCkgeyB9CisjZW5kaWYKKwogI2lmZGVmIENPTkZJR19YODZfNjQKIAogc3RhdGljIGlubGluZSB1bnNpZ25lZCBsb25nIGhpZ2htYXBfc3RhcnRfcGZuKHZvaWQpCkBAIC0yMjcsNiArMjYyLDcgQEAKIAogCXJldHVybiBwdGVfb2Zmc2V0X2tlcm5lbChwbWQsIGFkZHJlc3MpOwogfQorRVhQT1JUX1NZTUJPTF9HUEwobG9va3VwX2FkZHJlc3MpOwogCiAvKgogICogU2V0IHRoZSBuZXcgcG1kIGluIGFsbCB0aGUgcGdkcyB3ZSBrbm93IGFib3V0OgpAQCAtNTAwLDYgKzUzNiwxNiBAQAogCWZvciAoaSA9IDA7IGkgPCBQVFJTX1BFUl9QVEU7IGkrKywgcGZuICs9IHBmbmluYykKIAkJc2V0X3B0ZSgmcGJhc2VbaV0sIHBmbl9wdGUocGZuLCByZWZfcHJvdCkpOwogCisJaWYgKGFkZHJlc3MgPj0gKHVuc2lnbmVkIGxvbmcpX192YSgwKSAmJgorCQlhZGRyZXNzIDwgKHVuc2lnbmVkIGxvbmcpX192YShtYXhfbG93X3Bmbl9tYXBwZWQgPDwgUEFHRV9TSElGVCkpCisJCXNwbGl0X3BhZ2VfY291bnQobGV2ZWwpOworCisjaWZkZWYgQ09ORklHX1g4Nl82NAorCWlmIChhZGRyZXNzID49ICh1bnNpZ25lZCBsb25nKV9fdmEoMVVMPDwzMikgJiYKKwkJYWRkcmVzcyA8ICh1bnNpZ25lZCBsb25nKV9fdmEobWF4X3Bmbl9tYXBwZWQgPDwgUEFHRV9TSElGVCkpCisJCXNwbGl0X3BhZ2VfY291bnQobGV2ZWwpOworI2VuZGlmCisKIAkvKgogCSAqIEluc3RhbGwgdGhlIG5ldywgc3BsaXQgdXAgcGFnZXRhYmxlLiBJbXBvcnRhbnQgZGV0YWlscyBoZXJlOgogCSAqCkBAIC02MTMsMTUgKzY1OSwyNCBAQAogCXN0cnVjdCBjcGFfZGF0YSBhbGlhc19jcGE7CiAJaW50IHJldCA9IDA7CiAKLQlpZiAoY3BhLT5wZm4gPiBtYXhfcGZuX21hcHBlZCkKKwlpZiAoY3BhLT5wZm4gPj0gbWF4X3Bmbl9tYXBwZWQpCiAJCXJldHVybiAwOwogCisjaWZkZWYgQ09ORklHX1g4Nl82NAorCWlmIChjcGEtPnBmbiA+PSBtYXhfbG93X3Bmbl9tYXBwZWQgJiYgY3BhLT5wZm4gPCAoMVVMPDwoMzItUEFHRV9TSElGVCkpKQorCQlyZXR1cm4gMDsKKyNlbmRpZgogCS8qCiAJICogTm8gbmVlZCB0byByZWRvLCB3aGVuIHRoZSBwcmltYXJ5IGNhbGwgdG91Y2hlZCB0aGUgZGlyZWN0CiAJICogbWFwcGluZyBhbHJlYWR5OgogCSAqLwotCWlmICghd2l0aGluKGNwYS0+dmFkZHIsIFBBR0VfT0ZGU0VULAotCQkgICAgUEFHRV9PRkZTRVQgKyAobWF4X3Bmbl9tYXBwZWQgPDwgUEFHRV9TSElGVCkpKSB7CisJaWYgKCEod2l0aGluKGNwYS0+dmFkZHIsIFBBR0VfT0ZGU0VULAorCQkgICAgUEFHRV9PRkZTRVQgKyAobWF4X2xvd19wZm5fbWFwcGVkIDw8IFBBR0VfU0hJRlQpKQorI2lmZGVmIENPTkZJR19YODZfNjQKKwkJfHwgd2l0aGluKGNwYS0+dmFkZHIsIFBBR0VfT0ZGU0VUICsgKDFVTDw8MzIpLAorCQkgICAgUEFHRV9PRkZTRVQgKyAobWF4X3Bmbl9tYXBwZWQgPDwgUEFHRV9TSElGVCkpCisjZW5kaWYKKwkpKSB7CiAKIAkJYWxpYXNfY3BhID0gKmNwYTsKIAkJYWxpYXNfY3BhLnZhZGRyID0gKHVuc2lnbmVkIGxvbmcpIF9fdmEoY3BhLT5wZm4gPDwgUEFHRV9TSElGVCk7CkBAIC04MDUsNyArODYwLDcgQEAKIAogaW50IHNldF9tZW1vcnlfd2ModW5zaWduZWQgbG9uZyBhZGRyLCBpbnQgbnVtcGFnZXMpCiB7Ci0JaWYgKCFwYXRfd2NfZW5hYmxlZCkKKwlpZiAoIXBhdF9lbmFibGVkKQogCQlyZXR1cm4gc2V0X21lbW9yeV91YyhhZGRyLCBudW1wYWdlcyk7CiAKIAlpZiAocmVzZXJ2ZV9tZW10eXBlKGFkZHIsIGFkZHIgKyBudW1wYWdlcyAqIFBBR0VfU0laRSwKZGlmZiAtLWdpdCBhL2FyY2gveDg2L21tL3BhdC5jIGIvYXJjaC94ODYvbW0vcGF0LmMKaW5kZXggMDZiN2ExYy4uZDQ1ODUwNyAxMDA2NDQKLS0tIGEvYXJjaC94ODYvbW0vcGF0LmMKKysrIGIvYXJjaC94ODYvbW0vcGF0LmMKQEAgLTI2LDExICsyNiwxMSBAQAogI2luY2x1ZGUgPGFzbS9pby5oPgogCiAjaWZkZWYgQ09ORklHX1g4Nl9QQVQKLWludCBfX3JlYWRfbW9zdGx5IHBhdF93Y19lbmFibGVkID0gMTsKK2ludCBfX3JlYWRfbW9zdGx5IHBhdF9lbmFibGVkID0gMTsKIAogdm9pZCBfX2NwdWluaXQgcGF0X2Rpc2FibGUoY2hhciAqcmVhc29uKQogewotCXBhdF93Y19lbmFibGVkID0gMDsKKwlwYXRfZW5hYmxlZCA9IDA7CiAJcHJpbnRrKEtFUk5fSU5GTyAiJXNcbiIsIHJlYXNvbik7CiB9CiAKQEAgLTQyLDYgKzQyLDE5IEBACiBlYXJseV9wYXJhbSgibm9wYXQiLCBub3BhdCk7CiAjZW5kaWYKIAorCitzdGF0aWMgaW50IGRlYnVnX2VuYWJsZTsKK3N0YXRpYyBpbnQgX19pbml0IHBhdF9kZWJ1Z19zZXR1cChjaGFyICpzdHIpCit7CisJZGVidWdfZW5hYmxlID0gMTsKKwlyZXR1cm4gMDsKK30KK19fc2V0dXAoImRlYnVncGF0IiwgcGF0X2RlYnVnX3NldHVwKTsKKworI2RlZmluZSBkcHJpbnRrKGZtdCwgYXJnLi4uKSBcCisJZG8geyBpZiAoZGVidWdfZW5hYmxlKSBwcmludGsoS0VSTl9JTkZPIGZtdCwgIyNhcmcpOyB9IHdoaWxlICgwKQorCisKIHN0YXRpYyB1NjQgX19yZWFkX21vc3RseSBib290X3BhdF9zdGF0ZTsKIAogZW51bSB7CkBAIC01MywyNCArNjYsMjUgQEAKIAlQQVRfVUNfTUlOVVMgPSA3LAkvKiBVQywgYnV0IGNhbiBiZSBvdmVycmlkZW4gYnkgTVRSUiAqLwogfTsKIAotI2RlZmluZSBQQVQoeCx5KQkoKHU2NClQQVRfICMjIHkgPDwgKCh4KSo4KSkKKyNkZWZpbmUgUEFUKHgsIHkpCSgodTY0KVBBVF8gIyMgeSA8PCAoKHgpKjgpKQogCiB2b2lkIHBhdF9pbml0KHZvaWQpCiB7CiAJdTY0IHBhdDsKIAotCWlmICghcGF0X3djX2VuYWJsZWQpCisJaWYgKCFwYXRfZW5hYmxlZCkKIAkJcmV0dXJuOwogCiAJLyogUGFyYW5vaWEgY2hlY2suICovCi0JaWYgKCFjcHVfaGFzX3BhdCkgewotCQlwcmludGsoS0VSTl9FUlIgIlBBVCBlbmFibGVkLCBidXQgQ1BVIGZlYXR1cmUgY2xlYXJlZFxuIik7CisJaWYgKCFjcHVfaGFzX3BhdCAmJiBib290X3BhdF9zdGF0ZSkgewogCQkvKgotCQkgKiBQYW5pYyBpZiB0aGlzIGhhcHBlbnMgb24gdGhlIHNlY29uZGFyeSBDUFUsIGFuZCB3ZQorCQkgKiBJZiB0aGlzIGhhcHBlbnMgd2UgYXJlIG9uIGEgc2Vjb25kYXJ5IENQVSwgYnV0CiAJCSAqIHN3aXRjaGVkIHRvIFBBVCBvbiB0aGUgYm9vdCBDUFUuIFdlIGhhdmUgbm8gd2F5IHRvCiAJCSAqIHVuZG8gUEFULgotCQkqLwotCQlCVUdfT04oYm9vdF9wYXRfc3RhdGUpOworCQkgKi8KKwkJcHJpbnRrKEtFUk5fRVJSICJQQVQgZW5hYmxlZCwgIgorCQkgICAgICAgImJ1dCBub3Qgc3VwcG9ydGVkIGJ5IHNlY29uZGFyeSBDUFVcbiIpOworCQlCVUcoKTsKIAl9CiAKIAkvKiBTZXQgUFdUIHRvIFdyaXRlLUNvbWJpbmluZy4gQWxsIG90aGVyIGJpdHMgc3RheSB0aGUgc2FtZSAqLwpAQCAtODYsOCArMTAwLDggQEAKIAkgKiAgICAgIDAxMSBVQwkJX1BBR0VfQ0FDSEVfVUMKIAkgKiBQQVQgYml0IHVudXNlZAogCSAqLwotCXBhdCA9IFBBVCgwLFdCKSB8IFBBVCgxLFdDKSB8IFBBVCgyLFVDX01JTlVTKSB8IFBBVCgzLFVDKSB8Ci0JICAgICAgUEFUKDQsV0IpIHwgUEFUKDUsV0MpIHwgUEFUKDYsVUNfTUlOVVMpIHwgUEFUKDcsVUMpOworCXBhdCA9IFBBVCgwLCBXQikgfCBQQVQoMSwgV0MpIHwgUEFUKDIsIFVDX01JTlVTKSB8IFBBVCgzLCBVQykgfAorCSAgICAgIFBBVCg0LCBXQikgfCBQQVQoNSwgV0MpIHwgUEFUKDYsIFVDX01JTlVTKSB8IFBBVCg3LCBVQyk7CiAKIAkvKiBCb290IENQVSBjaGVjayAqLwogCWlmICghYm9vdF9wYXRfc3RhdGUpCkBAIC0xMDMsMTEgKzExNywxMSBAQAogc3RhdGljIGNoYXIgKmNhdHRyX25hbWUodW5zaWduZWQgbG9uZyBmbGFncykKIHsKIAlzd2l0Y2ggKGZsYWdzICYgX1BBR0VfQ0FDSEVfTUFTSykgewotCQljYXNlIF9QQUdFX0NBQ0hFX1VDOgkJcmV0dXJuICJ1bmNhY2hlZCI7Ci0JCWNhc2UgX1BBR0VfQ0FDSEVfVUNfTUlOVVM6CXJldHVybiAidW5jYWNoZWQtbWludXMiOwotCQljYXNlIF9QQUdFX0NBQ0hFX1dCOgkJcmV0dXJuICJ3cml0ZS1iYWNrIjsKLQkJY2FzZSBfUEFHRV9DQUNIRV9XQzoJCXJldHVybiAid3JpdGUtY29tYmluaW5nIjsKLQkJZGVmYXVsdDoJCQlyZXR1cm4gImJyb2tlbiI7CisJY2FzZSBfUEFHRV9DQUNIRV9VQzoJCXJldHVybiAidW5jYWNoZWQiOworCWNhc2UgX1BBR0VfQ0FDSEVfVUNfTUlOVVM6CXJldHVybiAidW5jYWNoZWQtbWludXMiOworCWNhc2UgX1BBR0VfQ0FDSEVfV0I6CQlyZXR1cm4gIndyaXRlLWJhY2siOworCWNhc2UgX1BBR0VfQ0FDSEVfV0M6CQlyZXR1cm4gIndyaXRlLWNvbWJpbmluZyI7CisJZGVmYXVsdDoJCQlyZXR1cm4gImJyb2tlbiI7CiAJfQogfQogCkBAIC0xNDUsNDcgKzE1OSw1MCBAQAogICogVGhlIGludGVyc2VjdGlvbiBpcyBiYXNlZCBvbiAiRWZmZWN0aXZlIE1lbW9yeSBUeXBlIiB0YWJsZXMgaW4gSUEtMzIKICAqIFNETSB2b2wgM2EKICAqLwotc3RhdGljIGludCBwYXRfeF9tdHJyX3R5cGUodTY0IHN0YXJ0LCB1NjQgZW5kLCB1bnNpZ25lZCBsb25nIHByb3QsCi0JCQkJdW5zaWduZWQgbG9uZyAqcmV0X3Byb3QpCitzdGF0aWMgdW5zaWduZWQgbG9uZyBwYXRfeF9tdHJyX3R5cGUodTY0IHN0YXJ0LCB1NjQgZW5kLCB1bnNpZ25lZCBsb25nIHJlcV90eXBlKQogewotCXVuc2lnbmVkIGxvbmcgcGF0X3R5cGU7Ci0JdTggbXRycl90eXBlOwotCi0JcGF0X3R5cGUgPSBwcm90ICYgX1BBR0VfQ0FDSEVfTUFTSzsKLQlwcm90ICY9ICh+X1BBR0VfQ0FDSEVfTUFTSyk7Ci0KLQkvKgotCSAqIFdlIHJldHVybiB0aGUgUEFUIHJlcXVlc3QgZGlyZWN0bHkgZm9yIHR5cGVzIHdoZXJlIFBBVCB0YWtlcwotCSAqIHByZWNlZGVuY2Ugd2l0aCByZXNwZWN0IHRvIE1UUlIgYW5kIGZvciBVQ19NSU5VUy4KLQkgKiBDb25zaXN0ZW5jeSBjaGVja3Mgd2l0aCBvdGhlciBQQVQgcmVxdWVzdHMgaXMgZG9uZSBsYXRlcgotCSAqIHdoaWxlIGdvaW5nIHRocm91Z2ggbWVtdHlwZSBsaXN0LgotCSAqLwotCWlmIChwYXRfdHlwZSA9PSBfUEFHRV9DQUNIRV9XQykgewotCQkqcmV0X3Byb3QgPSBwcm90IHwgX1BBR0VfQ0FDSEVfV0M7Ci0JCXJldHVybiAwOwotCX0gZWxzZSBpZiAocGF0X3R5cGUgPT0gX1BBR0VfQ0FDSEVfVUNfTUlOVVMpIHsKLQkJKnJldF9wcm90ID0gcHJvdCB8IF9QQUdFX0NBQ0hFX1VDX01JTlVTOwotCQlyZXR1cm4gMDsKLQl9IGVsc2UgaWYgKHBhdF90eXBlID09IF9QQUdFX0NBQ0hFX1VDKSB7Ci0JCSpyZXRfcHJvdCA9IHByb3QgfCBfUEFHRV9DQUNIRV9VQzsKLQkJcmV0dXJuIDA7Ci0JfQotCiAJLyoKIAkgKiBMb29rIGZvciBNVFJSIGhpbnQgdG8gZ2V0IHRoZSBlZmZlY3RpdmUgdHlwZSBpbiBjYXNlIHdoZXJlIFBBVAogCSAqIHJlcXVlc3QgaXMgZm9yIFdCLgogCSAqLwotCW10cnJfdHlwZSA9IG10cnJfdHlwZV9sb29rdXAoc3RhcnQsIGVuZCk7CisJaWYgKHJlcV90eXBlID09IF9QQUdFX0NBQ0hFX1dCKSB7CisJCXU4IG10cnJfdHlwZTsKIAotCWlmIChtdHJyX3R5cGUgPT0gTVRSUl9UWVBFX1VOQ0FDSEFCTEUpIHsKLQkJKnJldF9wcm90ID0gcHJvdCB8IF9QQUdFX0NBQ0hFX1VDOwotCX0gZWxzZSBpZiAobXRycl90eXBlID09IE1UUlJfVFlQRV9XUkNPTUIpIHsKLQkJKnJldF9wcm90ID0gcHJvdCB8IF9QQUdFX0NBQ0hFX1dDOwotCX0gZWxzZSB7Ci0JCSpyZXRfcHJvdCA9IHByb3QgfCBfUEFHRV9DQUNIRV9XQjsKKwkJbXRycl90eXBlID0gbXRycl90eXBlX2xvb2t1cChzdGFydCwgZW5kKTsKKwkJaWYgKG10cnJfdHlwZSA9PSBNVFJSX1RZUEVfVU5DQUNIQUJMRSkKKwkJCXJldHVybiBfUEFHRV9DQUNIRV9VQzsKKwkJaWYgKG10cnJfdHlwZSA9PSBNVFJSX1RZUEVfV1JDT01CKQorCQkJcmV0dXJuIF9QQUdFX0NBQ0hFX1dDOwogCX0KIAorCXJldHVybiByZXFfdHlwZTsKK30KKworc3RhdGljIGludCBjaGtfY29uZmxpY3Qoc3RydWN0IG1lbXR5cGUgKm5ldywgc3RydWN0IG1lbXR5cGUgKmVudHJ5LAorCQkJdW5zaWduZWQgbG9uZyAqdHlwZSkKK3sKKwlpZiAobmV3LT50eXBlICE9IGVudHJ5LT50eXBlKSB7CisJCWlmICh0eXBlKSB7CisJCQluZXctPnR5cGUgPSBlbnRyeS0+dHlwZTsKKwkJCSp0eXBlID0gZW50cnktPnR5cGU7CisJCX0gZWxzZQorCQkJZ290byBjb25mbGljdDsKKwl9CisKKwkgLyogY2hlY2sgb3ZlcmxhcHMgd2l0aCBtb3JlIHRoYW4gb25lIGVudHJ5IGluIHRoZSBsaXN0ICovCisJbGlzdF9mb3JfZWFjaF9lbnRyeV9jb250aW51ZShlbnRyeSwgJm1lbXR5cGVfbGlzdCwgbmQpIHsKKwkJaWYgKG5ldy0+ZW5kIDw9IGVudHJ5LT5zdGFydCkKKwkJCWJyZWFrOworCQllbHNlIGlmIChuZXctPnR5cGUgIT0gZW50cnktPnR5cGUpCisJCQlnb3RvIGNvbmZsaWN0OworCX0KIAlyZXR1cm4gMDsKKworIGNvbmZsaWN0OgorCXByaW50ayhLRVJOX0lORk8gIiVzOiVkIGNvbmZsaWN0aW5nIG1lbW9yeSB0eXBlcyAiCisJICAgICAgICIlTHgtJUx4ICVzPC0+JXNcbiIsIGN1cnJlbnQtPmNvbW0sIGN1cnJlbnQtPnBpZCwgbmV3LT5zdGFydCwKKwkgICAgICAgbmV3LT5lbmQsIGNhdHRyX25hbWUobmV3LT50eXBlKSwgY2F0dHJfbmFtZShlbnRyeS0+dHlwZSkpOworCXJldHVybiAtRUJVU1k7CiB9CiAKIC8qCkBAIC0xOTgsMzcgKzIxNSwzNiBAQAogICogcmVxX3R5cGUgd2lsbCBoYXZlIGEgc3BlY2lhbCBjYXNlIHZhbHVlICctMScsIHdoZW4gcmVxdWVzdGVyIHdhbnQgdG8gaW5oZXJpdAogICogdGhlIG1lbW9yeSB0eXBlIGZyb20gbXRyciAoaWYgV0IpLCBleGlzdGluZyBQQVQsIGRlZmF1bHRpbmcgdG8gVUNfTUlOVVMuCiAgKgotICogSWYgcmV0X3R5cGUgaXMgTlVMTCwgZnVuY3Rpb24gd2lsbCByZXR1cm4gYW4gZXJyb3IgaWYgaXQgY2Fubm90IHJlc2VydmUgdGhlCi0gKiByZWdpb24gd2l0aCByZXFfdHlwZS4gSWYgcmV0X3R5cGUgaXMgbm9uLW51bGwsIGZ1bmN0aW9uIHdpbGwgcmV0dXJuCi0gKiBhdmFpbGFibGUgdHlwZSBpbiByZXRfdHlwZSBpbiBjYXNlIG9mIG5vIGVycm9yLiBJbiBjYXNlIG9mIGFueSBlcnJvcgorICogSWYgbmV3X3R5cGUgaXMgTlVMTCwgZnVuY3Rpb24gd2lsbCByZXR1cm4gYW4gZXJyb3IgaWYgaXQgY2Fubm90IHJlc2VydmUgdGhlCisgKiByZWdpb24gd2l0aCByZXFfdHlwZS4gSWYgbmV3X3R5cGUgaXMgbm9uLU5VTEwsIGZ1bmN0aW9uIHdpbGwgcmV0dXJuCisgKiBhdmFpbGFibGUgdHlwZSBpbiBuZXdfdHlwZSBpbiBjYXNlIG9mIG5vIGVycm9yLiBJbiBjYXNlIG9mIGFueSBlcnJvcgogICogaXQgd2lsbCByZXR1cm4gYSBuZWdhdGl2ZSByZXR1cm4gdmFsdWUuCiAgKi8KIGludCByZXNlcnZlX21lbXR5cGUodTY0IHN0YXJ0LCB1NjQgZW5kLCB1bnNpZ25lZCBsb25nIHJlcV90eXBlLAotCQkJdW5zaWduZWQgbG9uZyAqcmV0X3R5cGUpCisJCQl1bnNpZ25lZCBsb25nICpuZXdfdHlwZSkKIHsKLQlzdHJ1Y3QgbWVtdHlwZSAqbmV3X2VudHJ5ID0gTlVMTDsKLQlzdHJ1Y3QgbWVtdHlwZSAqcGFyc2U7CisJc3RydWN0IG1lbXR5cGUgKm5ldywgKmVudHJ5OwogCXVuc2lnbmVkIGxvbmcgYWN0dWFsX3R5cGU7CisJc3RydWN0IGxpc3RfaGVhZCAqd2hlcmU7CiAJaW50IGVyciA9IDA7CiAKLQkvKiBPbmx5IHRyYWNrIHdoZW4gcGF0X3djX2VuYWJsZWQgKi8KLQlpZiAoIXBhdF93Y19lbmFibGVkKSB7CisgCUJVR19PTihzdGFydCA+PSBlbmQpOyAvKiBlbmQgaXMgZXhjbHVzaXZlICovCisKKwlpZiAoIXBhdF9lbmFibGVkKSB7CiAJCS8qIFRoaXMgaXMgaWRlbnRpY2FsIHRvIHBhZ2UgdGFibGUgc2V0dGluZyB3aXRob3V0IFBBVCAqLwotCQlpZiAocmV0X3R5cGUpIHsKLQkJCWlmIChyZXFfdHlwZSA9PSAtMSkgewotCQkJCSpyZXRfdHlwZSA9IF9QQUdFX0NBQ0hFX1dCOwotCQkJfSBlbHNlIHsKLQkJCQkqcmV0X3R5cGUgPSByZXFfdHlwZTsKLQkJCX0KKwkJaWYgKG5ld190eXBlKSB7CisJCQlpZiAocmVxX3R5cGUgPT0gLTEpCisJCQkJKm5ld190eXBlID0gX1BBR0VfQ0FDSEVfV0I7CisJCQllbHNlCisJCQkJKm5ld190eXBlID0gcmVxX3R5cGUgJiBfUEFHRV9DQUNIRV9NQVNLOwogCQl9CiAJCXJldHVybiAwOwogCX0KIAogCS8qIExvdyBJU0EgcmVnaW9uIGlzIGFsd2F5cyBtYXBwZWQgV0IgaW4gcGFnZSB0YWJsZS4gTm8gbmVlZCB0byB0cmFjayAqLwotCWlmIChzdGFydCA+PSBJU0FfU1RBUlRfQUREUkVTUyAmJiAoZW5kIC0gMSkgPD0gSVNBX0VORF9BRERSRVNTKSB7Ci0JCWlmIChyZXRfdHlwZSkKLQkJCSpyZXRfdHlwZSA9IF9QQUdFX0NBQ0hFX1dCOwotCisJaWYgKGlzX0lTQV9yYW5nZShzdGFydCwgZW5kIC0gMSkpIHsKKwkJaWYgKG5ld190eXBlKQorCQkJKm5ld190eXBlID0gX1BBR0VfQ0FDSEVfV0I7CiAJCXJldHVybiAwOwogCX0KIApAQCAtMjQxLDIwNiArMjU3LDkyIEBACiAJCSAqLwogCQl1OCBtdHJyX3R5cGUgPSBtdHJyX3R5cGVfbG9va3VwKHN0YXJ0LCBlbmQpOwogCi0JCWlmIChtdHJyX3R5cGUgPT0gTVRSUl9UWVBFX1dSQkFDSykgewotCQkJcmVxX3R5cGUgPSBfUEFHRV9DQUNIRV9XQjsKKwkJaWYgKG10cnJfdHlwZSA9PSBNVFJSX1RZUEVfV1JCQUNLKQogCQkJYWN0dWFsX3R5cGUgPSBfUEFHRV9DQUNIRV9XQjsKLQkJfSBlbHNlIHsKLQkJCXJlcV90eXBlID0gX1BBR0VfQ0FDSEVfVUNfTUlOVVM7CisJCWVsc2UKIAkJCWFjdHVhbF90eXBlID0gX1BBR0VfQ0FDSEVfVUNfTUlOVVM7Ci0JCX0KLQl9IGVsc2UgewotCQlyZXFfdHlwZSAmPSBfUEFHRV9DQUNIRV9NQVNLOwotCQllcnIgPSBwYXRfeF9tdHJyX3R5cGUoc3RhcnQsIGVuZCwgcmVxX3R5cGUsICZhY3R1YWxfdHlwZSk7Ci0JfQorCX0gZWxzZQorCQlhY3R1YWxfdHlwZSA9IHBhdF94X210cnJfdHlwZShzdGFydCwgZW5kLAorCQkJCQkgICAgICByZXFfdHlwZSAmIF9QQUdFX0NBQ0hFX01BU0spOwogCi0JaWYgKGVycikgewotCQlpZiAocmV0X3R5cGUpCi0JCQkqcmV0X3R5cGUgPSBhY3R1YWxfdHlwZTsKLQotCQlyZXR1cm4gLUVJTlZBTDsKLQl9Ci0KLQluZXdfZW50cnkgID0ga21hbGxvYyhzaXplb2Yoc3RydWN0IG1lbXR5cGUpLCBHRlBfS0VSTkVMKTsKLQlpZiAoIW5ld19lbnRyeSkKKwluZXcgID0ga21hbGxvYyhzaXplb2Yoc3RydWN0IG1lbXR5cGUpLCBHRlBfS0VSTkVMKTsKKwlpZiAoIW5ldykKIAkJcmV0dXJuIC1FTk9NRU07CiAKLQluZXdfZW50cnktPnN0YXJ0ID0gc3RhcnQ7Ci0JbmV3X2VudHJ5LT5lbmQgPSBlbmQ7Ci0JbmV3X2VudHJ5LT50eXBlID0gYWN0dWFsX3R5cGU7CisJbmV3LT5zdGFydCA9IHN0YXJ0OworCW5ldy0+ZW5kID0gZW5kOworCW5ldy0+dHlwZSA9IGFjdHVhbF90eXBlOwogCi0JaWYgKHJldF90eXBlKQotCQkqcmV0X3R5cGUgPSBhY3R1YWxfdHlwZTsKKwlpZiAobmV3X3R5cGUpCisJCSpuZXdfdHlwZSA9IGFjdHVhbF90eXBlOwogCiAJc3Bpbl9sb2NrKCZtZW10eXBlX2xvY2spOwogCiAJLyogU2VhcmNoIGZvciBleGlzdGluZyBtYXBwaW5nIHRoYXQgb3ZlcmxhcHMgdGhlIGN1cnJlbnQgcmFuZ2UgKi8KLQlsaXN0X2Zvcl9lYWNoX2VudHJ5KHBhcnNlLCAmbWVtdHlwZV9saXN0LCBuZCkgewotCQlzdHJ1Y3QgbWVtdHlwZSAqc2F2ZWRfcHRyOwotCi0JCWlmIChwYXJzZS0+c3RhcnQgPj0gZW5kKSB7Ci0JCQlwcl9kZWJ1ZygiTmV3IEVudHJ5XG4iKTsKLQkJCWxpc3RfYWRkKCZuZXdfZW50cnktPm5kLCBwYXJzZS0+bmQucHJldik7Ci0JCQluZXdfZW50cnkgPSBOVUxMOworCXdoZXJlID0gTlVMTDsKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5KGVudHJ5LCAmbWVtdHlwZV9saXN0LCBuZCkgeworCQlpZiAoZW5kIDw9IGVudHJ5LT5zdGFydCkgeworCQkJd2hlcmUgPSBlbnRyeS0+bmQucHJldjsKIAkJCWJyZWFrOwotCQl9Ci0KLQkJaWYgKHN0YXJ0IDw9IHBhcnNlLT5zdGFydCAmJiBlbmQgPj0gcGFyc2UtPnN0YXJ0KSB7Ci0JCQlpZiAoYWN0dWFsX3R5cGUgIT0gcGFyc2UtPnR5cGUgJiYgcmV0X3R5cGUpIHsKLQkJCQlhY3R1YWxfdHlwZSA9IHBhcnNlLT50eXBlOwotCQkJCSpyZXRfdHlwZSA9IGFjdHVhbF90eXBlOwotCQkJCW5ld19lbnRyeS0+dHlwZSA9IGFjdHVhbF90eXBlOworCQl9IGVsc2UgaWYgKHN0YXJ0IDw9IGVudHJ5LT5zdGFydCkgeyAvKiBlbmQgPiBlbnRyeS0+c3RhcnQgKi8KKwkJCWVyciA9IGNoa19jb25mbGljdChuZXcsIGVudHJ5LCBuZXdfdHlwZSk7CisJCQlpZiAoIWVycikgeworCQkJCWRwcmludGsoIk92ZXJsYXAgYXQgMHglTHgtMHglTHhcbiIsCisJCQkJCWVudHJ5LT5zdGFydCwgZW50cnktPmVuZCk7CisJCQkJd2hlcmUgPSBlbnRyeS0+bmQucHJldjsKIAkJCX0KLQotCQkJaWYgKGFjdHVhbF90eXBlICE9IHBhcnNlLT50eXBlKSB7Ci0JCQkJcHJpbnRrKAotCQlLRVJOX0lORk8gIiVzOiVkIGNvbmZsaWN0aW5nIG1lbW9yeSB0eXBlcyAlTHgtJUx4ICVzPC0+JXNcbiIsCi0JCQkJCWN1cnJlbnQtPmNvbW0sIGN1cnJlbnQtPnBpZCwKLQkJCQkJc3RhcnQsIGVuZCwKLQkJCQkJY2F0dHJfbmFtZShhY3R1YWxfdHlwZSksCi0JCQkJCWNhdHRyX25hbWUocGFyc2UtPnR5cGUpKTsKLQkJCQllcnIgPSAtRUJVU1k7Ci0JCQkJYnJlYWs7Ci0JCQl9Ci0KLQkJCXNhdmVkX3B0ciA9IHBhcnNlOwotCQkJLyoKLQkJCSAqIENoZWNrIHRvIHNlZSB3aGV0aGVyIHRoZSByZXF1ZXN0IG92ZXJsYXBzIG1vcmUKLQkJCSAqIHRoYW4gb25lIGVudHJ5IGluIHRoZSBsaXN0Ci0JCQkgKi8KLQkJCWxpc3RfZm9yX2VhY2hfZW50cnlfY29udGludWUocGFyc2UsICZtZW10eXBlX2xpc3QsIG5kKSB7Ci0JCQkJaWYgKGVuZCA8PSBwYXJzZS0+c3RhcnQpIHsKLQkJCQkJYnJlYWs7Ci0JCQkJfQotCi0JCQkJaWYgKGFjdHVhbF90eXBlICE9IHBhcnNlLT50eXBlKSB7Ci0JCQkJCXByaW50aygKLQkJS0VSTl9JTkZPICIlczolZCBjb25mbGljdGluZyBtZW1vcnkgdHlwZXMgJUx4LSVMeCAlczwtPiVzXG4iLAotCQkJCQkJY3VycmVudC0+Y29tbSwgY3VycmVudC0+cGlkLAotCQkJCQkJc3RhcnQsIGVuZCwKLQkJCQkJCWNhdHRyX25hbWUoYWN0dWFsX3R5cGUpLAotCQkJCQkJY2F0dHJfbmFtZShwYXJzZS0+dHlwZSkpOwotCQkJCQllcnIgPSAtRUJVU1k7Ci0JCQkJCWJyZWFrOwotCQkJCX0KLQkJCX0KLQotCQkJaWYgKGVycikgewotCQkJCWJyZWFrOwotCQkJfQotCi0JCQlwcl9kZWJ1ZygiT3ZlcmxhcCBhdCAweCVMeC0weCVMeFxuIiwKLQkJCSAgICAgICBzYXZlZF9wdHItPnN0YXJ0LCBzYXZlZF9wdHItPmVuZCk7Ci0JCQkvKiBObyBjb25mbGljdC4gR28gYWhlYWQgYW5kIGFkZCB0aGlzIG5ldyBlbnRyeSAqLwotCQkJbGlzdF9hZGQoJm5ld19lbnRyeS0+bmQsIHNhdmVkX3B0ci0+bmQucHJldik7Ci0JCQluZXdfZW50cnkgPSBOVUxMOwogCQkJYnJlYWs7Ci0JCX0KLQotCQlpZiAoc3RhcnQgPCBwYXJzZS0+ZW5kKSB7Ci0JCQlpZiAoYWN0dWFsX3R5cGUgIT0gcGFyc2UtPnR5cGUgJiYgcmV0X3R5cGUpIHsKLQkJCQlhY3R1YWxfdHlwZSA9IHBhcnNlLT50eXBlOwotCQkJCSpyZXRfdHlwZSA9IGFjdHVhbF90eXBlOwotCQkJCW5ld19lbnRyeS0+dHlwZSA9IGFjdHVhbF90eXBlOworCQl9IGVsc2UgaWYgKHN0YXJ0IDwgZW50cnktPmVuZCkgeyAvKiBzdGFydCA+IGVudHJ5LT5zdGFydCAqLworCQkJZXJyID0gY2hrX2NvbmZsaWN0KG5ldywgZW50cnksIG5ld190eXBlKTsKKwkJCWlmICghZXJyKSB7CisJCQkJZHByaW50aygiT3ZlcmxhcCBhdCAweCVMeC0weCVMeFxuIiwKKwkJCQkJZW50cnktPnN0YXJ0LCBlbnRyeS0+ZW5kKTsKKwkJCQl3aGVyZSA9ICZlbnRyeS0+bmQ7CiAJCQl9Ci0KLQkJCWlmIChhY3R1YWxfdHlwZSAhPSBwYXJzZS0+dHlwZSkgewotCQkJCXByaW50aygKLQkJS0VSTl9JTkZPICIlczolZCBjb25mbGljdGluZyBtZW1vcnkgdHlwZXMgJUx4LSVMeCAlczwtPiVzXG4iLAotCQkJCQljdXJyZW50LT5jb21tLCBjdXJyZW50LT5waWQsCi0JCQkJCXN0YXJ0LCBlbmQsCi0JCQkJCWNhdHRyX25hbWUoYWN0dWFsX3R5cGUpLAotCQkJCQljYXR0cl9uYW1lKHBhcnNlLT50eXBlKSk7Ci0JCQkJZXJyID0gLUVCVVNZOwotCQkJCWJyZWFrOwotCQkJfQotCi0JCQlzYXZlZF9wdHIgPSBwYXJzZTsKLQkJCS8qCi0JCQkgKiBDaGVjayB0byBzZWUgd2hldGhlciB0aGUgcmVxdWVzdCBvdmVybGFwcyBtb3JlCi0JCQkgKiB0aGFuIG9uZSBlbnRyeSBpbiB0aGUgbGlzdAotCQkJICovCi0JCQlsaXN0X2Zvcl9lYWNoX2VudHJ5X2NvbnRpbnVlKHBhcnNlLCAmbWVtdHlwZV9saXN0LCBuZCkgewotCQkJCWlmIChlbmQgPD0gcGFyc2UtPnN0YXJ0KSB7Ci0JCQkJCWJyZWFrOwotCQkJCX0KLQotCQkJCWlmIChhY3R1YWxfdHlwZSAhPSBwYXJzZS0+dHlwZSkgewotCQkJCQlwcmludGsoCi0JCUtFUk5fSU5GTyAiJXM6JWQgY29uZmxpY3RpbmcgbWVtb3J5IHR5cGVzICVMeC0lTHggJXM8LT4lc1xuIiwKLQkJCQkJCWN1cnJlbnQtPmNvbW0sIGN1cnJlbnQtPnBpZCwKLQkJCQkJCXN0YXJ0LCBlbmQsCi0JCQkJCQljYXR0cl9uYW1lKGFjdHVhbF90eXBlKSwKLQkJCQkJCWNhdHRyX25hbWUocGFyc2UtPnR5cGUpKTsKLQkJCQkJZXJyID0gLUVCVVNZOwotCQkJCQlicmVhazsKLQkJCQl9Ci0JCQl9Ci0KLQkJCWlmIChlcnIpIHsKLQkJCQlicmVhazsKLQkJCX0KLQotCQkJcHJfZGVidWcoS0VSTl9JTkZPICJPdmVybGFwIGF0IDB4JUx4LTB4JUx4XG4iLAotCQkJCSBzYXZlZF9wdHItPnN0YXJ0LCBzYXZlZF9wdHItPmVuZCk7Ci0JCQkvKiBObyBjb25mbGljdC4gR28gYWhlYWQgYW5kIGFkZCB0aGlzIG5ldyBlbnRyeSAqLwotCQkJbGlzdF9hZGQoJm5ld19lbnRyeS0+bmQsICZzYXZlZF9wdHItPm5kKTsKLQkJCW5ld19lbnRyeSA9IE5VTEw7CiAJCQlicmVhazsKIAkJfQogCX0KIAogCWlmIChlcnIpIHsKLQkJcHJpbnRrKEtFUk5fSU5GTwotCSJyZXNlcnZlX21lbXR5cGUgZmFpbGVkIDB4JUx4LTB4JUx4LCB0cmFjayAlcywgcmVxICVzXG4iLAotCQkJc3RhcnQsIGVuZCwgY2F0dHJfbmFtZShuZXdfZW50cnktPnR5cGUpLAotCQkJY2F0dHJfbmFtZShyZXFfdHlwZSkpOwotCQlrZnJlZShuZXdfZW50cnkpOworCQlwcmludGsoS0VSTl9JTkZPICJyZXNlcnZlX21lbXR5cGUgZmFpbGVkIDB4JUx4LTB4JUx4LCAiCisJCSAgICAgICAidHJhY2sgJXMsIHJlcSAlc1xuIiwKKwkJICAgICAgIHN0YXJ0LCBlbmQsIGNhdHRyX25hbWUobmV3LT50eXBlKSwgY2F0dHJfbmFtZShyZXFfdHlwZSkpOworCQlrZnJlZShuZXcpOwogCQlzcGluX3VubG9jaygmbWVtdHlwZV9sb2NrKTsKIAkJcmV0dXJuIGVycjsKIAl9CiAKLQlpZiAobmV3X2VudHJ5KSB7Ci0JCS8qIE5vIGNvbmZsaWN0LiBOb3QgeWV0IGFkZGVkIHRvIHRoZSBsaXN0LiBBZGQgdG8gdGhlIHRhaWwgKi8KLQkJbGlzdF9hZGRfdGFpbCgmbmV3X2VudHJ5LT5uZCwgJm1lbXR5cGVfbGlzdCk7Ci0JCXByX2RlYnVnKCJOZXcgRW50cnlcbiIpOwotCX0KLQotCWlmIChyZXRfdHlwZSkgewotCQlwcl9kZWJ1ZygKLQkicmVzZXJ2ZV9tZW10eXBlIGFkZGVkIDB4JUx4LTB4JUx4LCB0cmFjayAlcywgcmVxICVzLCByZXQgJXNcbiIsCi0JCQlzdGFydCwgZW5kLCBjYXR0cl9uYW1lKGFjdHVhbF90eXBlKSwKLQkJCWNhdHRyX25hbWUocmVxX3R5cGUpLCBjYXR0cl9uYW1lKCpyZXRfdHlwZSkpOwotCX0gZWxzZSB7Ci0JCXByX2RlYnVnKAotCSJyZXNlcnZlX21lbXR5cGUgYWRkZWQgMHglTHgtMHglTHgsIHRyYWNrICVzLCByZXEgJXNcbiIsCi0JCQlzdGFydCwgZW5kLCBjYXR0cl9uYW1lKGFjdHVhbF90eXBlKSwKLQkJCWNhdHRyX25hbWUocmVxX3R5cGUpKTsKLQl9CisJaWYgKHdoZXJlKQorCQlsaXN0X2FkZCgmbmV3LT5uZCwgd2hlcmUpOworCWVsc2UKKwkJbGlzdF9hZGRfdGFpbCgmbmV3LT5uZCwgJm1lbXR5cGVfbGlzdCk7CiAKIAlzcGluX3VubG9jaygmbWVtdHlwZV9sb2NrKTsKKworCWRwcmludGsoInJlc2VydmVfbWVtdHlwZSBhZGRlZCAweCVMeC0weCVMeCwgdHJhY2sgJXMsIHJlcSAlcywgcmV0ICVzXG4iLAorCQlzdGFydCwgZW5kLCBjYXR0cl9uYW1lKG5ldy0+dHlwZSksIGNhdHRyX25hbWUocmVxX3R5cGUpLAorCQluZXdfdHlwZSA/IGNhdHRyX25hbWUoKm5ld190eXBlKSA6ICItIik7CisKIAlyZXR1cm4gZXJyOwogfQogCiBpbnQgZnJlZV9tZW10eXBlKHU2NCBzdGFydCwgdTY0IGVuZCkKIHsKLQlzdHJ1Y3QgbWVtdHlwZSAqbWw7CisJc3RydWN0IG1lbXR5cGUgKmVudHJ5OwogCWludCBlcnIgPSAtRUlOVkFMOwogCi0JLyogT25seSB0cmFjayB3aGVuIHBhdF93Y19lbmFibGVkICovCi0JaWYgKCFwYXRfd2NfZW5hYmxlZCkgeworCWlmICghcGF0X2VuYWJsZWQpCiAJCXJldHVybiAwOwotCX0KIAogCS8qIExvdyBJU0EgcmVnaW9uIGlzIGFsd2F5cyBtYXBwZWQgV0IuIE5vIG5lZWQgdG8gdHJhY2sgKi8KLQlpZiAoc3RhcnQgPj0gSVNBX1NUQVJUX0FERFJFU1MgJiYgZW5kIDw9IElTQV9FTkRfQUREUkVTUykgeworCWlmIChpc19JU0FfcmFuZ2Uoc3RhcnQsIGVuZCAtIDEpKQogCQlyZXR1cm4gMDsKLQl9CiAKIAlzcGluX2xvY2soJm1lbXR5cGVfbG9jayk7Ci0JbGlzdF9mb3JfZWFjaF9lbnRyeShtbCwgJm1lbXR5cGVfbGlzdCwgbmQpIHsKLQkJaWYgKG1sLT5zdGFydCA9PSBzdGFydCAmJiBtbC0+ZW5kID09IGVuZCkgewotCQkJbGlzdF9kZWwoJm1sLT5uZCk7Ci0JCQlrZnJlZShtbCk7CisJbGlzdF9mb3JfZWFjaF9lbnRyeShlbnRyeSwgJm1lbXR5cGVfbGlzdCwgbmQpIHsKKwkJaWYgKGVudHJ5LT5zdGFydCA9PSBzdGFydCAmJiBlbnRyeS0+ZW5kID09IGVuZCkgeworCQkJbGlzdF9kZWwoJmVudHJ5LT5uZCk7CisJCQlrZnJlZShlbnRyeSk7CiAJCQllcnIgPSAwOwogCQkJYnJlYWs7CiAJCX0KQEAgLTQ1Miw3ICszNTQsNyBAQAogCQkJY3VycmVudC0+Y29tbSwgY3VycmVudC0+cGlkLCBzdGFydCwgZW5kKTsKIAl9CiAKLQlwcl9kZWJ1ZygiZnJlZV9tZW10eXBlIHJlcXVlc3QgMHglTHgtMHglTHhcbiIsIHN0YXJ0LCBlbmQpOworCWRwcmludGsoImZyZWVfbWVtdHlwZSByZXF1ZXN0IDB4JUx4LTB4JUx4XG4iLCBzdGFydCwgZW5kKTsKIAlyZXR1cm4gZXJyOwogfQogCkBAIC01MjEsMTIgKzQyMywxMiBAQAogCSAqIGNhY2hpbmcgZm9yIHRoZSBoaWdoIGFkZHJlc3NlcyB0aHJvdWdoIHRoZSBLRU4gcGluLCBidXQKIAkgKiB3ZSBtYWludGFpbiB0aGUgdHJhZGl0aW9uIG9mIHBhcmFub2lhIGluIHRoaXMgY29kZS4KIAkgKi8KLQlpZiAoIXBhdF93Y19lbmFibGVkICYmCi0JICAgICEgKCB0ZXN0X2JpdChYODZfRkVBVFVSRV9NVFJSLCBib290X2NwdV9kYXRhLng4Nl9jYXBhYmlsaXR5KSB8fAotCQl0ZXN0X2JpdChYODZfRkVBVFVSRV9LNl9NVFJSLCBib290X2NwdV9kYXRhLng4Nl9jYXBhYmlsaXR5KSB8fAotCQl0ZXN0X2JpdChYODZfRkVBVFVSRV9DWVJJWF9BUlIsIGJvb3RfY3B1X2RhdGEueDg2X2NhcGFiaWxpdHkpIHx8Ci0JCXRlc3RfYml0KFg4Nl9GRUFUVVJFX0NFTlRBVVJfTUNSLCBib290X2NwdV9kYXRhLng4Nl9jYXBhYmlsaXR5KSkgJiYKLQkgICAocGZuIDw8IFBBR0VfU0hJRlQpID49IF9fcGEoaGlnaF9tZW1vcnkpKSB7CisJaWYgKCFwYXRfZW5hYmxlZCAmJgorCSAgICAhKGJvb3RfY3B1X2hhcyhYODZfRkVBVFVSRV9NVFJSKSB8fAorCSAgICAgIGJvb3RfY3B1X2hhcyhYODZfRkVBVFVSRV9LNl9NVFJSKSB8fAorCSAgICAgIGJvb3RfY3B1X2hhcyhYODZfRkVBVFVSRV9DWVJJWF9BUlIpIHx8CisJICAgICAgYm9vdF9jcHVfaGFzKFg4Nl9GRUFUVVJFX0NFTlRBVVJfTUNSKSkgJiYKKwkgICAgKHBmbiA8PCBQQUdFX1NISUZUKSA+PSBfX3BhKGhpZ2hfbWVtb3J5KSkgewogCQlmbGFncyA9IF9QQUdFX0NBQ0hFX1VDOwogCX0KICNlbmRpZgpAQCAtNTQ3LDggKzQ0OSw5IEBACiAJaWYgKHJldHZhbCA8IDApCiAJCXJldHVybiAwOwogCi0JaWYgKHBmbiA8PSBtYXhfcGZuX21hcHBlZCAmJgotICAgICAgICAgICAgaW9yZW1hcF9jaGFuZ2VfYXR0cigodW5zaWduZWQgbG9uZylfX3ZhKG9mZnNldCksIHNpemUsIGZsYWdzKSA8IDApIHsKKwlpZiAoKChwZm4gPCBtYXhfbG93X3Bmbl9tYXBwZWQpIHx8CisJICAgICAocGZuID49ICgxVUw8PCgzMiAtIFBBR0VfU0hJRlQpKSAmJiBwZm4gPCBtYXhfcGZuX21hcHBlZCkpICYmCisJICAgIGlvcmVtYXBfY2hhbmdlX2F0dHIoKHVuc2lnbmVkIGxvbmcpX192YShvZmZzZXQpLCBzaXplLCBmbGFncykgPCAwKSB7CiAJCWZyZWVfbWVtdHlwZShvZmZzZXQsIG9mZnNldCArIHNpemUpOwogCQlwcmludGsoS0VSTl9JTkZPCiAJCSIlczolZCAvZGV2L21lbSBpb3JlbWFwX2NoYW5nZV9hdHRyIGZhaWxlZCAlcyBmb3IgJUx4LSVMeFxuIiwKQEAgLTU4Niw0ICs0ODksMyBAQAogCiAJZnJlZV9tZW10eXBlKGFkZHIsIGFkZHIgKyBzaXplKTsKIH0KLQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvbW0vcGZfaW4uYyBiL2FyY2gveDg2L21tL3BmX2luLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWZhMTkxMQotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gveDg2L21tL3BmX2luLmMKQEAgLTAsMCArMSw0ODkgQEAKKy8qCisgKiAgRmF1bHQgSW5qZWN0aW9uIFRlc3QgaGFybmVzcyAoRkkpCisgKiAgQ29weXJpZ2h0IChDKSBJbnRlbCBDcm9wLgorICoKKyAqICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqICBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMgorICogIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiAgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlIC0gU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3LAorICogIFVTQS4KKyAqCisgKi8KKworLyogIElkOiBwZl9pbi5jLHYgMS4xLjEuMSAyMDAyLzExLzEyIDA1OjU2OjMyIGJybG9jayBFeHAKKyAqICBDb3B5cmlnaHQgYnkgSW50ZWwgQ3JvcC4sIDIwMDIKKyAqICBMb3VpcyBaaHVhbmcgKGxvdWlzLnpodWFuZ0BpbnRlbC5jb20pCisgKgorICogIEJqb3JuIFN0ZWluYnJpbmsgKEIuU3RlaW5icmlua0BnbXguZGUpLCAyMDA3CisgKi8KKworI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L3B0cmFjZS5oPiAvKiBzdHJ1Y3QgcHRfcmVncyAqLworI2luY2x1ZGUgInBmX2luLmgiCisKKyNpZmRlZiBfX2kzODZfXworLyogSUEzMiBNYW51YWwgMywgMi0xICovCitzdGF0aWMgdW5zaWduZWQgY2hhciBwcmVmaXhfY29kZXNbXSA9IHsKKwkweEYwLCAweEYyLCAweEYzLCAweDJFLCAweDM2LCAweDNFLCAweDI2LCAweDY0LAorCTB4NjUsIDB4MkUsIDB4M0UsIDB4NjYsIDB4NjcKK307CisvKiBJQTMyIE1hbnVhbCAzLCAzLTQzMiovCitzdGF0aWMgdW5zaWduZWQgaW50IHJlZ19yb3BbXSA9IHsKKwkweDhBLCAweDhCLCAweEI2MEYsIDB4QjcwRiwgMHhCRTBGLCAweEJGMEYKK307CitzdGF0aWMgdW5zaWduZWQgaW50IHJlZ193b3BbXSA9IHsgMHg4OCwgMHg4OSB9Oworc3RhdGljIHVuc2lnbmVkIGludCBpbW1fd29wW10gPSB7IDB4QzYsIDB4QzcgfTsKKy8qIElBMzIgTWFudWFsIDMsIDMtNDMyKi8KK3N0YXRpYyB1bnNpZ25lZCBpbnQgcnc4W10gPSB7IDB4ODgsIDB4OEEsIDB4QzYgfTsKK3N0YXRpYyB1bnNpZ25lZCBpbnQgcnczMltdID0geworCTB4ODksIDB4OEIsIDB4QzcsIDB4QjYwRiwgMHhCNzBGLCAweEJFMEYsIDB4QkYwRgorfTsKK3N0YXRpYyB1bnNpZ25lZCBpbnQgbXc4W10gPSB7IDB4ODgsIDB4OEEsIDB4QzYsIDB4QjYwRiwgMHhCRTBGIH07CitzdGF0aWMgdW5zaWduZWQgaW50IG13MTZbXSA9IHsgMHhCNzBGLCAweEJGMEYgfTsKK3N0YXRpYyB1bnNpZ25lZCBpbnQgbXczMltdID0geyAweDg5LCAweDhCLCAweEM3IH07CitzdGF0aWMgdW5zaWduZWQgaW50IG13NjRbXSA9IHt9OworI2Vsc2UgLyogbm90IF9faTM4Nl9fICovCitzdGF0aWMgdW5zaWduZWQgY2hhciBwcmVmaXhfY29kZXNbXSA9IHsKKwkweDY2LCAweDY3LCAweDJFLCAweDNFLCAweDI2LCAweDY0LCAweDY1LCAweDM2LAorCTB4RjAsIDB4RjMsIDB4RjIsCisJLyogUkVYIFByZWZpeGVzICovCisJMHg0MCwgMHg0MSwgMHg0MiwgMHg0MywgMHg0NCwgMHg0NSwgMHg0NiwgMHg0NywKKwkweDQ4LCAweDQ5LCAweDRhLCAweDRiLCAweDRjLCAweDRkLCAweDRlLCAweDRmCit9OworLyogQU1ENjQgTWFudWFsIDMsIEFwcGVuZGl4IEEqLworc3RhdGljIHVuc2lnbmVkIGludCByZWdfcm9wW10gPSB7CisJMHg4QSwgMHg4QiwgMHhCNjBGLCAweEI3MEYsIDB4QkUwRiwgMHhCRjBGCit9Oworc3RhdGljIHVuc2lnbmVkIGludCByZWdfd29wW10gPSB7IDB4ODgsIDB4ODkgfTsKK3N0YXRpYyB1bnNpZ25lZCBpbnQgaW1tX3dvcFtdID0geyAweEM2LCAweEM3IH07CitzdGF0aWMgdW5zaWduZWQgaW50IHJ3OFtdID0geyAweEM2LCAweDg4LCAweDhBIH07CitzdGF0aWMgdW5zaWduZWQgaW50IHJ3MzJbXSA9IHsKKwkweEM3LCAweDg5LCAweDhCLCAweEI2MEYsIDB4QjcwRiwgMHhCRTBGLCAweEJGMEYKK307CisvKiA4IGJpdCBvbmx5ICovCitzdGF0aWMgdW5zaWduZWQgaW50IG13OFtdID0geyAweEM2LCAweDg4LCAweDhBLCAweEI2MEYsIDB4QkUwRiB9OworLyogMTYgYml0IG9ubHkgKi8KK3N0YXRpYyB1bnNpZ25lZCBpbnQgbXcxNltdID0geyAweEI3MEYsIDB4QkYwRiB9OworLyogMTYgb3IgMzIgYml0ICovCitzdGF0aWMgdW5zaWduZWQgaW50IG13MzJbXSA9IHsgMHhDNyB9OworLyogMTYsIDMyIG9yIDY0IGJpdCAqLworc3RhdGljIHVuc2lnbmVkIGludCBtdzY0W10gPSB7IDB4ODksIDB4OEIgfTsKKyNlbmRpZiAvKiBub3QgX19pMzg2X18gKi8KKworc3RhdGljIGludCBza2lwX3ByZWZpeCh1bnNpZ25lZCBjaGFyICphZGRyLCBpbnQgKnNob3J0ZWQsIGludCAqZW5sYXJnZWQsCisJCQkJCQkJCWludCAqcmV4cikKK3sKKwlpbnQgaTsKKwl1bnNpZ25lZCBjaGFyICpwID0gYWRkcjsKKwkqc2hvcnRlZCA9IDA7CisJKmVubGFyZ2VkID0gMDsKKwkqcmV4ciA9IDA7CisKK3Jlc3RhcnQ6CisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUocHJlZml4X2NvZGVzKTsgaSsrKSB7CisJCWlmICgqcCA9PSBwcmVmaXhfY29kZXNbaV0pIHsKKwkJCWlmICgqcCA9PSAweDY2KQorCQkJCSpzaG9ydGVkID0gMTsKKyNpZmRlZiBfX2FtZDY0X18KKwkJCWlmICgoKnAgJiAweGY4KSA9PSAweDQ4KQorCQkJCSplbmxhcmdlZCA9IDE7CisJCQlpZiAoKCpwICYgMHhmNCkgPT0gMHg0NCkKKwkJCQkqcmV4ciA9IDE7CisjZW5kaWYKKwkJCXArKzsKKwkJCWdvdG8gcmVzdGFydDsKKwkJfQorCX0KKworCXJldHVybiAocCAtIGFkZHIpOworfQorCitzdGF0aWMgaW50IGdldF9vcGNvZGUodW5zaWduZWQgY2hhciAqYWRkciwgdW5zaWduZWQgaW50ICpvcGNvZGUpCit7CisJaW50IGxlbjsKKworCWlmICgqYWRkciA9PSAweDBGKSB7CisJCS8qIDB4MEYgaXMgZXh0ZW5zaW9uIGluc3RydWN0aW9uICovCisJCSpvcGNvZGUgPSAqKHVuc2lnbmVkIHNob3J0ICopYWRkcjsKKwkJbGVuID0gMjsKKwl9IGVsc2UgeworCQkqb3Bjb2RlID0gKmFkZHI7CisJCWxlbiA9IDE7CisJfQorCisJcmV0dXJuIGxlbjsKK30KKworI2RlZmluZSBDSEVDS19PUF9UWVBFKG9wY29kZSwgYXJyYXksIHR5cGUpIFwKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShhcnJheSk7IGkrKykgeyBcCisJCWlmIChhcnJheVtpXSA9PSBvcGNvZGUpIHsgXAorCQkJcnYgPSB0eXBlOyBcCisJCQlnb3RvIGV4aXQ7IFwKKwkJfSBcCisJfQorCitlbnVtIHJlYXNvbl90eXBlIGdldF9pbnNfdHlwZSh1bnNpZ25lZCBsb25nIGluc19hZGRyKQoreworCXVuc2lnbmVkIGludCBvcGNvZGU7CisJdW5zaWduZWQgY2hhciAqcDsKKwlpbnQgc2hvcnRlZCwgZW5sYXJnZWQsIHJleHI7CisJaW50IGk7CisJZW51bSByZWFzb25fdHlwZSBydiA9IE9USEVSUzsKKworCXAgPSAodW5zaWduZWQgY2hhciAqKWluc19hZGRyOworCXAgKz0gc2tpcF9wcmVmaXgocCwgJnNob3J0ZWQsICZlbmxhcmdlZCwgJnJleHIpOworCXAgKz0gZ2V0X29wY29kZShwLCAmb3Bjb2RlKTsKKworCUNIRUNLX09QX1RZUEUob3Bjb2RlLCByZWdfcm9wLCBSRUdfUkVBRCk7CisJQ0hFQ0tfT1BfVFlQRShvcGNvZGUsIHJlZ193b3AsIFJFR19XUklURSk7CisJQ0hFQ0tfT1BfVFlQRShvcGNvZGUsIGltbV93b3AsIElNTV9XUklURSk7CisKK2V4aXQ6CisJcmV0dXJuIHJ2OworfQorI3VuZGVmIENIRUNLX09QX1RZUEUKKworc3RhdGljIHVuc2lnbmVkIGludCBnZXRfaW5zX3JlZ193aWR0aCh1bnNpZ25lZCBsb25nIGluc19hZGRyKQoreworCXVuc2lnbmVkIGludCBvcGNvZGU7CisJdW5zaWduZWQgY2hhciAqcDsKKwlpbnQgaSwgc2hvcnRlZCwgZW5sYXJnZWQsIHJleHI7CisKKwlwID0gKHVuc2lnbmVkIGNoYXIgKilpbnNfYWRkcjsKKwlwICs9IHNraXBfcHJlZml4KHAsICZzaG9ydGVkLCAmZW5sYXJnZWQsICZyZXhyKTsKKwlwICs9IGdldF9vcGNvZGUocCwgJm9wY29kZSk7CisKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShydzgpOyBpKyspCisJCWlmIChydzhbaV0gPT0gb3Bjb2RlKQorCQkJcmV0dXJuIDE7CisKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShydzMyKTsgaSsrKQorCQlpZiAocnczMltpXSA9PSBvcGNvZGUpCisJCQlyZXR1cm4gKHNob3J0ZWQgPyAyIDogKGVubGFyZ2VkID8gOCA6IDQpKTsKKworCXByaW50ayhLRVJOX0VSUiAibW1pb3RyYWNlOiBVbmtub3duIG9wY29kZSAweCUwMnhcbiIsIG9wY29kZSk7CisJcmV0dXJuIDA7Cit9CisKK3Vuc2lnbmVkIGludCBnZXRfaW5zX21lbV93aWR0aCh1bnNpZ25lZCBsb25nIGluc19hZGRyKQoreworCXVuc2lnbmVkIGludCBvcGNvZGU7CisJdW5zaWduZWQgY2hhciAqcDsKKwlpbnQgaSwgc2hvcnRlZCwgZW5sYXJnZWQsIHJleHI7CisKKwlwID0gKHVuc2lnbmVkIGNoYXIgKilpbnNfYWRkcjsKKwlwICs9IHNraXBfcHJlZml4KHAsICZzaG9ydGVkLCAmZW5sYXJnZWQsICZyZXhyKTsKKwlwICs9IGdldF9vcGNvZGUocCwgJm9wY29kZSk7CisKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShtdzgpOyBpKyspCisJCWlmIChtdzhbaV0gPT0gb3Bjb2RlKQorCQkJcmV0dXJuIDE7CisKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShtdzE2KTsgaSsrKQorCQlpZiAobXcxNltpXSA9PSBvcGNvZGUpCisJCQlyZXR1cm4gMjsKKworCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKG13MzIpOyBpKyspCisJCWlmIChtdzMyW2ldID09IG9wY29kZSkKKwkJCXJldHVybiBzaG9ydGVkID8gMiA6IDQ7CisKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShtdzY0KTsgaSsrKQorCQlpZiAobXc2NFtpXSA9PSBvcGNvZGUpCisJCQlyZXR1cm4gc2hvcnRlZCA/IDIgOiAoZW5sYXJnZWQgPyA4IDogNCk7CisKKwlwcmludGsoS0VSTl9FUlIgIm1taW90cmFjZTogVW5rbm93biBvcGNvZGUgMHglMDJ4XG4iLCBvcGNvZGUpOworCXJldHVybiAwOworfQorCisvKgorICogRGVmaW5lIHJlZ2lzdGVyIGlkZW50IGluIG1vZC9ybSBieXRlLgorICogTm90ZTogdGhlc2UgYXJlIE5PVCB0aGUgc2FtZSBhcyBpbiBwdHJhY2UtYWJpLmguCisgKi8KK2VudW0geworCWFyZ19BTCA9IDAsCisJYXJnX0NMID0gMSwKKwlhcmdfREwgPSAyLAorCWFyZ19CTCA9IDMsCisJYXJnX0FIID0gNCwKKwlhcmdfQ0ggPSA1LAorCWFyZ19ESCA9IDYsCisJYXJnX0JIID0gNywKKworCWFyZ19BWCA9IDAsCisJYXJnX0NYID0gMSwKKwlhcmdfRFggPSAyLAorCWFyZ19CWCA9IDMsCisJYXJnX1NQID0gNCwKKwlhcmdfQlAgPSA1LAorCWFyZ19TSSA9IDYsCisJYXJnX0RJID0gNywKKyNpZmRlZiBfX2FtZDY0X18KKwlhcmdfUjggID0gOCwKKwlhcmdfUjkgID0gOSwKKwlhcmdfUjEwID0gMTAsCisJYXJnX1IxMSA9IDExLAorCWFyZ19SMTIgPSAxMiwKKwlhcmdfUjEzID0gMTMsCisJYXJnX1IxNCA9IDE0LAorCWFyZ19SMTUgPSAxNQorI2VuZGlmCit9OworCitzdGF0aWMgdW5zaWduZWQgY2hhciAqZ2V0X3JlZ193OChpbnQgbm8sIHN0cnVjdCBwdF9yZWdzICpyZWdzKQoreworCXVuc2lnbmVkIGNoYXIgKnJ2ID0gTlVMTDsKKworCXN3aXRjaCAobm8pIHsKKwljYXNlIGFyZ19BTDoKKwkJcnYgPSAodW5zaWduZWQgY2hhciAqKSZyZWdzLT5heDsKKwkJYnJlYWs7CisJY2FzZSBhcmdfQkw6CisJCXJ2ID0gKHVuc2lnbmVkIGNoYXIgKikmcmVncy0+Yng7CisJCWJyZWFrOworCWNhc2UgYXJnX0NMOgorCQlydiA9ICh1bnNpZ25lZCBjaGFyICopJnJlZ3MtPmN4OworCQlicmVhazsKKwljYXNlIGFyZ19ETDoKKwkJcnYgPSAodW5zaWduZWQgY2hhciAqKSZyZWdzLT5keDsKKwkJYnJlYWs7CisJY2FzZSBhcmdfQUg6CisJCXJ2ID0gMSArICh1bnNpZ25lZCBjaGFyICopJnJlZ3MtPmF4OworCQlicmVhazsKKwljYXNlIGFyZ19CSDoKKwkJcnYgPSAxICsgKHVuc2lnbmVkIGNoYXIgKikmcmVncy0+Yng7CisJCWJyZWFrOworCWNhc2UgYXJnX0NIOgorCQlydiA9IDEgKyAodW5zaWduZWQgY2hhciAqKSZyZWdzLT5jeDsKKwkJYnJlYWs7CisJY2FzZSBhcmdfREg6CisJCXJ2ID0gMSArICh1bnNpZ25lZCBjaGFyICopJnJlZ3MtPmR4OworCQlicmVhazsKKyNpZmRlZiBfX2FtZDY0X18KKwljYXNlIGFyZ19SODoKKwkJcnYgPSAodW5zaWduZWQgY2hhciAqKSZyZWdzLT5yODsKKwkJYnJlYWs7CisJY2FzZSBhcmdfUjk6CisJCXJ2ID0gKHVuc2lnbmVkIGNoYXIgKikmcmVncy0+cjk7CisJCWJyZWFrOworCWNhc2UgYXJnX1IxMDoKKwkJcnYgPSAodW5zaWduZWQgY2hhciAqKSZyZWdzLT5yMTA7CisJCWJyZWFrOworCWNhc2UgYXJnX1IxMToKKwkJcnYgPSAodW5zaWduZWQgY2hhciAqKSZyZWdzLT5yMTE7CisJCWJyZWFrOworCWNhc2UgYXJnX1IxMjoKKwkJcnYgPSAodW5zaWduZWQgY2hhciAqKSZyZWdzLT5yMTI7CisJCWJyZWFrOworCWNhc2UgYXJnX1IxMzoKKwkJcnYgPSAodW5zaWduZWQgY2hhciAqKSZyZWdzLT5yMTM7CisJCWJyZWFrOworCWNhc2UgYXJnX1IxNDoKKwkJcnYgPSAodW5zaWduZWQgY2hhciAqKSZyZWdzLT5yMTQ7CisJCWJyZWFrOworCWNhc2UgYXJnX1IxNToKKwkJcnYgPSAodW5zaWduZWQgY2hhciAqKSZyZWdzLT5yMTU7CisJCWJyZWFrOworI2VuZGlmCisJZGVmYXVsdDoKKwkJcHJpbnRrKEtFUk5fRVJSICJtbWlvdHJhY2U6IEVycm9yIHJlZyBubyMgJWRcbiIsIG5vKTsKKwkJYnJlYWs7CisJfQorCXJldHVybiBydjsKK30KKworc3RhdGljIHVuc2lnbmVkIGxvbmcgKmdldF9yZWdfdzMyKGludCBubywgc3RydWN0IHB0X3JlZ3MgKnJlZ3MpCit7CisJdW5zaWduZWQgbG9uZyAqcnYgPSBOVUxMOworCisJc3dpdGNoIChubykgeworCWNhc2UgYXJnX0FYOgorCQlydiA9ICZyZWdzLT5heDsKKwkJYnJlYWs7CisJY2FzZSBhcmdfQlg6CisJCXJ2ID0gJnJlZ3MtPmJ4OworCQlicmVhazsKKwljYXNlIGFyZ19DWDoKKwkJcnYgPSAmcmVncy0+Y3g7CisJCWJyZWFrOworCWNhc2UgYXJnX0RYOgorCQlydiA9ICZyZWdzLT5keDsKKwkJYnJlYWs7CisJY2FzZSBhcmdfU1A6CisJCXJ2ID0gJnJlZ3MtPnNwOworCQlicmVhazsKKwljYXNlIGFyZ19CUDoKKwkJcnYgPSAmcmVncy0+YnA7CisJCWJyZWFrOworCWNhc2UgYXJnX1NJOgorCQlydiA9ICZyZWdzLT5zaTsKKwkJYnJlYWs7CisJY2FzZSBhcmdfREk6CisJCXJ2ID0gJnJlZ3MtPmRpOworCQlicmVhazsKKyNpZmRlZiBfX2FtZDY0X18KKwljYXNlIGFyZ19SODoKKwkJcnYgPSAmcmVncy0+cjg7CisJCWJyZWFrOworCWNhc2UgYXJnX1I5OgorCQlydiA9ICZyZWdzLT5yOTsKKwkJYnJlYWs7CisJY2FzZSBhcmdfUjEwOgorCQlydiA9ICZyZWdzLT5yMTA7CisJCWJyZWFrOworCWNhc2UgYXJnX1IxMToKKwkJcnYgPSAmcmVncy0+cjExOworCQlicmVhazsKKwljYXNlIGFyZ19SMTI6CisJCXJ2ID0gJnJlZ3MtPnIxMjsKKwkJYnJlYWs7CisJY2FzZSBhcmdfUjEzOgorCQlydiA9ICZyZWdzLT5yMTM7CisJCWJyZWFrOworCWNhc2UgYXJnX1IxNDoKKwkJcnYgPSAmcmVncy0+cjE0OworCQlicmVhazsKKwljYXNlIGFyZ19SMTU6CisJCXJ2ID0gJnJlZ3MtPnIxNTsKKwkJYnJlYWs7CisjZW5kaWYKKwlkZWZhdWx0OgorCQlwcmludGsoS0VSTl9FUlIgIm1taW90cmFjZTogRXJyb3IgcmVnIG5vIyAlZFxuIiwgbm8pOworCX0KKworCXJldHVybiBydjsKK30KKwordW5zaWduZWQgbG9uZyBnZXRfaW5zX3JlZ192YWwodW5zaWduZWQgbG9uZyBpbnNfYWRkciwgc3RydWN0IHB0X3JlZ3MgKnJlZ3MpCit7CisJdW5zaWduZWQgaW50IG9wY29kZTsKKwl1bnNpZ25lZCBjaGFyIG1vZF9ybTsKKwlpbnQgcmVnOworCXVuc2lnbmVkIGNoYXIgKnA7CisJaW50IGksIHNob3J0ZWQsIGVubGFyZ2VkLCByZXhyOworCXVuc2lnbmVkIGxvbmcgcnY7CisKKwlwID0gKHVuc2lnbmVkIGNoYXIgKilpbnNfYWRkcjsKKwlwICs9IHNraXBfcHJlZml4KHAsICZzaG9ydGVkLCAmZW5sYXJnZWQsICZyZXhyKTsKKwlwICs9IGdldF9vcGNvZGUocCwgJm9wY29kZSk7CisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUocmVnX3JvcCk7IGkrKykKKwkJaWYgKHJlZ19yb3BbaV0gPT0gb3Bjb2RlKSB7CisJCQlydiA9IFJFR19SRUFEOworCQkJZ290byBkb193b3JrOworCQl9CisKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShyZWdfd29wKTsgaSsrKQorCQlpZiAocmVnX3dvcFtpXSA9PSBvcGNvZGUpIHsKKwkJCXJ2ID0gUkVHX1dSSVRFOworCQkJZ290byBkb193b3JrOworCQl9CisKKwlwcmludGsoS0VSTl9FUlIgIm1taW90cmFjZTogTm90IGEgcmVnaXN0ZXIgaW5zdHJ1Y3Rpb24sIG9wY29kZSAiCisJCQkJCQkJIjB4JTAyeFxuIiwgb3Bjb2RlKTsKKwlnb3RvIGVycjsKKworZG9fd29yazoKKwltb2Rfcm0gPSAqcDsKKwlyZWcgPSAoKG1vZF9ybSA+PiAzKSAmIDB4NykgfCAocmV4ciA8PCAzKTsKKwlzd2l0Y2ggKGdldF9pbnNfcmVnX3dpZHRoKGluc19hZGRyKSkgeworCWNhc2UgMToKKwkJcmV0dXJuICpnZXRfcmVnX3c4KHJlZywgcmVncyk7CisKKwljYXNlIDI6CisJCXJldHVybiAqKHVuc2lnbmVkIHNob3J0ICopZ2V0X3JlZ193MzIocmVnLCByZWdzKTsKKworCWNhc2UgNDoKKwkJcmV0dXJuICoodW5zaWduZWQgaW50ICopZ2V0X3JlZ193MzIocmVnLCByZWdzKTsKKworI2lmZGVmIF9fYW1kNjRfXworCWNhc2UgODoKKwkJcmV0dXJuICoodW5zaWduZWQgbG9uZyAqKWdldF9yZWdfdzMyKHJlZywgcmVncyk7CisjZW5kaWYKKworCWRlZmF1bHQ6CisJCXByaW50ayhLRVJOX0VSUiAibW1pb3RyYWNlOiBFcnJvciB3aWR0aCMgJWRcbiIsIHJlZyk7CisJfQorCitlcnI6CisJcmV0dXJuIDA7Cit9CisKK3Vuc2lnbmVkIGxvbmcgZ2V0X2luc19pbW1fdmFsKHVuc2lnbmVkIGxvbmcgaW5zX2FkZHIpCit7CisJdW5zaWduZWQgaW50IG9wY29kZTsKKwl1bnNpZ25lZCBjaGFyIG1vZF9ybTsKKwl1bnNpZ25lZCBjaGFyIG1vZDsKKwl1bnNpZ25lZCBjaGFyICpwOworCWludCBpLCBzaG9ydGVkLCBlbmxhcmdlZCwgcmV4cjsKKwl1bnNpZ25lZCBsb25nIHJ2OworCisJcCA9ICh1bnNpZ25lZCBjaGFyICopaW5zX2FkZHI7CisJcCArPSBza2lwX3ByZWZpeChwLCAmc2hvcnRlZCwgJmVubGFyZ2VkLCAmcmV4cik7CisJcCArPSBnZXRfb3Bjb2RlKHAsICZvcGNvZGUpOworCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKGltbV93b3ApOyBpKyspCisJCWlmIChpbW1fd29wW2ldID09IG9wY29kZSkgeworCQkJcnYgPSBJTU1fV1JJVEU7CisJCQlnb3RvIGRvX3dvcms7CisJCX0KKworCXByaW50ayhLRVJOX0VSUiAibW1pb3RyYWNlOiBOb3QgYW4gaW1tZWRpYXRlIGluc3RydWN0aW9uLCBvcGNvZGUgIgorCQkJCQkJCSIweCUwMnhcbiIsIG9wY29kZSk7CisJZ290byBlcnI7CisKK2RvX3dvcms6CisJbW9kX3JtID0gKnA7CisJbW9kID0gbW9kX3JtID4+IDY7CisJcCsrOworCXN3aXRjaCAobW9kKSB7CisJY2FzZSAwOgorCQkvKiBpZiByL20gaXMgNSB3ZSBoYXZlIGEgMzIgZGlzcCAoSUEzMiBNYW51YWwgMywgVGFibGUgMi0yKSAgKi8KKwkJLyogQU1ENjQ6IFhYWCBDaGVjayBmb3IgYWRkcmVzcyBzaXplIHByZWZpeD8gKi8KKwkJaWYgKChtb2Rfcm0gJiAweDcpID09IDB4NSkKKwkJCXAgKz0gNDsKKwkJYnJlYWs7CisKKwljYXNlIDE6CisJCXAgKz0gMTsKKwkJYnJlYWs7CisKKwljYXNlIDI6CisJCXAgKz0gNDsKKwkJYnJlYWs7CisKKwljYXNlIDM6CisJZGVmYXVsdDoKKwkJcHJpbnRrKEtFUk5fRVJSICJtbWlvdHJhY2U6IG5vdCBhIG1lbW9yeSBhY2Nlc3MgaW5zdHJ1Y3Rpb24gIgorCQkJCQkJImF0IDB4JWx4LCBybV9tb2Q9MHglMDJ4XG4iLAorCQkJCQkJaW5zX2FkZHIsIG1vZF9ybSk7CisJfQorCisJc3dpdGNoIChnZXRfaW5zX3JlZ193aWR0aChpbnNfYWRkcikpIHsKKwljYXNlIDE6CisJCXJldHVybiAqKHVuc2lnbmVkIGNoYXIgKilwOworCisJY2FzZSAyOgorCQlyZXR1cm4gKih1bnNpZ25lZCBzaG9ydCAqKXA7CisKKwljYXNlIDQ6CisJCXJldHVybiAqKHVuc2lnbmVkIGludCAqKXA7CisKKyNpZmRlZiBfX2FtZDY0X18KKwljYXNlIDg6CisJCXJldHVybiAqKHVuc2lnbmVkIGxvbmcgKilwOworI2VuZGlmCisKKwlkZWZhdWx0OgorCQlwcmludGsoS0VSTl9FUlIgIm1taW90cmFjZTogRXJyb3I6IHdpZHRoLlxuIik7CisJfQorCitlcnI6CisJcmV0dXJuIDA7Cit9CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9tbS9wZl9pbi5oIGIvYXJjaC94ODYvbW0vcGZfaW4uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMDUzNDFhCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC94ODYvbW0vcGZfaW4uaApAQCAtMCwwICsxLDM5IEBACisvKgorICogIEZhdWx0IEluamVjdGlvbiBUZXN0IGhhcm5lc3MgKEZJKQorICogIENvcHlyaWdodCAoQykgSW50ZWwgQ3JvcC4KKyAqCisgKiAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiAgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIKKyAqICBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSAtIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAgMDIxMTEtMTMwNywKKyAqICBVU0EuCisgKgorICovCisKKyNpZm5kZWYgX19QRl9IXworI2RlZmluZSBfX1BGX0hfCisKK2VudW0gcmVhc29uX3R5cGUgeworCU5PVF9NRSwJLyogcGFnZSBmYXVsdCBpcyBub3QgaW4gcmVnaW9ucyAqLworCU5PVEhJTkcsCS8qIGFjY2VzcyBvdGhlcnMgcG9pbnQgaW4gcmVnaW9ucyAqLworCVJFR19SRUFELAkvKiByZWFkIGZyb20gYWRkciB0byByZWcgKi8KKwlSRUdfV1JJVEUsCS8qIHdyaXRlIGZyb20gcmVnIHRvIGFkZHIgKi8KKwlJTU1fV1JJVEUsCS8qIHdyaXRlIGZyb20gaW1tIHRvIGFkZHIgKi8KKwlPVEhFUlMJLyogT3RoZXIgaW5zdHJ1Y3Rpb25zIGNhbiBub3QgaW50ZXJjZXB0ICovCit9OworCitlbnVtIHJlYXNvbl90eXBlIGdldF9pbnNfdHlwZSh1bnNpZ25lZCBsb25nIGluc19hZGRyKTsKK3Vuc2lnbmVkIGludCBnZXRfaW5zX21lbV93aWR0aCh1bnNpZ25lZCBsb25nIGluc19hZGRyKTsKK3Vuc2lnbmVkIGxvbmcgZ2V0X2luc19yZWdfdmFsKHVuc2lnbmVkIGxvbmcgaW5zX2FkZHIsIHN0cnVjdCBwdF9yZWdzICpyZWdzKTsKK3Vuc2lnbmVkIGxvbmcgZ2V0X2luc19pbW1fdmFsKHVuc2lnbmVkIGxvbmcgaW5zX2FkZHIpOworCisjZW5kaWYgLyogX19QRl9IXyAqLwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvbW0vcGd0YWJsZS5jIGIvYXJjaC94ODYvbW0vcGd0YWJsZS5jCmluZGV4IDUwMTU5NzYuLjU1N2IyYWIgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L21tL3BndGFibGUuYworKysgYi9hcmNoL3g4Ni9tbS9wZ3RhYmxlLmMKQEAgLTIsNiArMiw3IEBACiAjaW5jbHVkZSA8YXNtL3BnYWxsb2MuaD4KICNpbmNsdWRlIDxhc20vcGd0YWJsZS5oPgogI2luY2x1ZGUgPGFzbS90bGIuaD4KKyNpbmNsdWRlIDxhc20vZml4bWFwLmg+CiAKIHB0ZV90ICpwdGVfYWxsb2Nfb25lX2tlcm5lbChzdHJ1Y3QgbW1fc3RydWN0ICptbSwgdW5zaWduZWQgbG9uZyBhZGRyZXNzKQogewpAQCAtNjUsMTIgKzY2LDYgQEAKIHN0YXRpYyB2b2lkIHBnZF9jdG9yKHZvaWQgKnApCiB7CiAJcGdkX3QgKnBnZCA9IHA7Ci0JdW5zaWduZWQgbG9uZyBmbGFnczsKLQotCS8qIENsZWFyIHVzZXJtb2RlIHBhcnRzIG9mIFBHRCAqLwotCW1lbXNldChwZ2QsIDAsIEtFUk5FTF9QR0RfQk9VTkRBUlkqc2l6ZW9mKHBnZF90KSk7Ci0KLQlzcGluX2xvY2tfaXJxc2F2ZSgmcGdkX2xvY2ssIGZsYWdzKTsKIAogCS8qIElmIHRoZSBwZ2QgcG9pbnRzIHRvIGEgc2hhcmVkIHBhZ2V0YWJsZSBsZXZlbCAoZWl0aGVyIHRoZQogCSAgIHB0ZXMgaW4gbm9uLVBBRSwgb3Igc2hhcmVkIFBNRCBpbiBQQUUpLCB0aGVuIGp1c3QgY29weSB0aGUKQEAgLTkwLDggKzg1LDYgQEAKIAkvKiBsaXN0IHJlcXVpcmVkIHRvIHN5bmMga2VybmVsIG1hcHBpbmcgdXBkYXRlcyAqLwogCWlmICghU0hBUkVEX0tFUk5FTF9QTUQpCiAJCXBnZF9saXN0X2FkZChwZ2QpOwotCi0Jc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcGdkX2xvY2ssIGZsYWdzKTsKIH0KIAogc3RhdGljIHZvaWQgcGdkX2R0b3Iodm9pZCAqcGdkKQpAQCAtMTE5LDMwICsxMTIsNiBAQAogCiAjaWZkZWYgQ09ORklHX1g4Nl9QQUUKIC8qCi0gKiBNb3AgdXAgYW55IHBtZCBwYWdlcyB3aGljaCBtYXkgc3RpbGwgYmUgYXR0YWNoZWQgdG8gdGhlIHBnZC4KLSAqIE5vcm1hbGx5IHRoZXkgd2lsbCBiZSBmcmVlZCBieSBtdW5tYXAvZXhpdF9tbWFwLCBidXQgYW55IHBtZCB3ZQotICogcHJlYWxsb2NhdGUgd2hpY2ggbmV2ZXIgZ290IGEgY29ycmVzcG9uZGluZyB2bWEgd2lsbCBuZWVkIHRvIGJlCi0gKiBmcmVlZCBtYW51YWxseS4KLSAqLwotc3RhdGljIHZvaWQgcGdkX21vcF91cF9wbWRzKHN0cnVjdCBtbV9zdHJ1Y3QgKm1tLCBwZ2RfdCAqcGdkcCkKLXsKLQlpbnQgaTsKLQotCWZvcihpID0gMDsgaSA8IFVOU0hBUkVEX1BUUlNfUEVSX1BHRDsgaSsrKSB7Ci0JCXBnZF90IHBnZCA9IHBnZHBbaV07Ci0KLQkJaWYgKHBnZF92YWwocGdkKSAhPSAwKSB7Ci0JCQlwbWRfdCAqcG1kID0gKHBtZF90ICopcGdkX3BhZ2VfdmFkZHIocGdkKTsKLQotCQkJcGdkcFtpXSA9IG5hdGl2ZV9tYWtlX3BnZCgwKTsKLQotCQkJcGFyYXZpcnRfcmVsZWFzZV9wbWQocGdkX3ZhbChwZ2QpID4+IFBBR0VfU0hJRlQpOwotCQkJcG1kX2ZyZWUobW0sIHBtZCk7Ci0JCX0KLQl9Ci19Ci0KLS8qCiAgKiBJbiBQQUUgbW9kZSwgd2UgbmVlZCB0byBkbyBhIGNyMyByZWxvYWQgKD10bGIgZmx1c2gpIHdoZW4KICAqIHVwZGF0aW5nIHRoZSB0b3AtbGV2ZWwgcGFnZXRhYmxlIGVudHJpZXMgdG8gZ3VhcmFudGVlIHRoZQogICogcHJvY2Vzc29yIG5vdGljZXMgdGhlIHVwZGF0ZS4gIFNpbmNlIHRoaXMgaXMgZXhwZW5zaXZlLCBhbmQKQEAgLTE1MywzMSArMTIyLDcgQEAKICAqIG5vdCBzaGFyZWQgYmV0d2VlbiBwYWdldGFibGVzICghU0hBUkVEX0tFUk5FTF9QTURTKSwgd2UgYWxsb2NhdGUKICAqIGFuZCBpbml0aWFsaXplIHRoZSBrZXJuZWwgcG1kcyBoZXJlLgogICovCi1zdGF0aWMgaW50IHBnZF9wcmVwb3B1bGF0ZV9wbWQoc3RydWN0IG1tX3N0cnVjdCAqbW0sIHBnZF90ICpwZ2QpCi17Ci0JcHVkX3QgKnB1ZDsKLQl1bnNpZ25lZCBsb25nIGFkZHI7Ci0JaW50IGk7Ci0KLQlwdWQgPSBwdWRfb2Zmc2V0KHBnZCwgMCk7Ci0gCWZvciAoYWRkciA9IGkgPSAwOyBpIDwgVU5TSEFSRURfUFRSU19QRVJfUEdEOwotCSAgICAgaSsrLCBwdWQrKywgYWRkciArPSBQVURfU0laRSkgewotCQlwbWRfdCAqcG1kID0gcG1kX2FsbG9jX29uZShtbSwgYWRkcik7Ci0KLQkJaWYgKCFwbWQpIHsKLQkJCXBnZF9tb3BfdXBfcG1kcyhtbSwgcGdkKTsKLQkJCXJldHVybiAwOwotCQl9Ci0KLQkJaWYgKGkgPj0gS0VSTkVMX1BHRF9CT1VOREFSWSkKLQkJCW1lbWNweShwbWQsIChwbWRfdCAqKXBnZF9wYWdlX3ZhZGRyKHN3YXBwZXJfcGdfZGlyW2ldKSwKLQkJCSAgICAgICBzaXplb2YocG1kX3QpICogUFRSU19QRVJfUE1EKTsKLQotCQlwdWRfcG9wdWxhdGUobW0sIHB1ZCwgcG1kKTsKLQl9Ci0KLQlyZXR1cm4gMTsKLX0KKyNkZWZpbmUgUFJFQUxMT0NBVEVEX1BNRFMJVU5TSEFSRURfUFRSU19QRVJfUEdECiAKIHZvaWQgcHVkX3BvcHVsYXRlKHN0cnVjdCBtbV9zdHJ1Y3QgKm1tLCBwdWRfdCAqcHVkcCwgcG1kX3QgKnBtZCkKIHsKQEAgLTE5NywzOSArMTQyLDEzMSBAQAogCQl3cml0ZV9jcjMocmVhZF9jcjMoKSk7CiB9CiAjZWxzZSAgLyogIUNPTkZJR19YODZfUEFFICovCisKIC8qIE5vIG5lZWQgdG8gcHJlcG9wdWxhdGUgYW55IHBhZ2V0YWJsZSBlbnRyaWVzIGluIG5vbi1QQUUgbW9kZXMuICovCi1zdGF0aWMgaW50IHBnZF9wcmVwb3B1bGF0ZV9wbWQoc3RydWN0IG1tX3N0cnVjdCAqbW0sIHBnZF90ICpwZ2QpCisjZGVmaW5lIFBSRUFMTE9DQVRFRF9QTURTCTAKKworI2VuZGlmCS8qIENPTkZJR19YODZfUEFFICovCisKK3N0YXRpYyB2b2lkIGZyZWVfcG1kcyhwbWRfdCAqcG1kc1tdKQogewotCXJldHVybiAxOworCWludCBpOworCisJZm9yKGkgPSAwOyBpIDwgUFJFQUxMT0NBVEVEX1BNRFM7IGkrKykKKwkJaWYgKHBtZHNbaV0pCisJCQlmcmVlX3BhZ2UoKHVuc2lnbmVkIGxvbmcpcG1kc1tpXSk7CiB9CiAKLXN0YXRpYyB2b2lkIHBnZF9tb3BfdXBfcG1kcyhzdHJ1Y3QgbW1fc3RydWN0ICptbSwgcGdkX3QgKnBnZCkKK3N0YXRpYyBpbnQgcHJlYWxsb2NhdGVfcG1kcyhwbWRfdCAqcG1kc1tdKQogeworCWludCBpOworCWJvb2wgZmFpbGVkID0gZmFsc2U7CisKKwlmb3IoaSA9IDA7IGkgPCBQUkVBTExPQ0FURURfUE1EUzsgaSsrKSB7CisJCXBtZF90ICpwbWQgPSAocG1kX3QgKilnZXRfemVyb2VkX3BhZ2UoR0ZQX0tFUk5FTHxfX0dGUF9SRVBFQVQpOworCQlpZiAocG1kID09IE5VTEwpCisJCQlmYWlsZWQgPSB0cnVlOworCQlwbWRzW2ldID0gcG1kOworCX0KKworCWlmIChmYWlsZWQpIHsKKwkJZnJlZV9wbWRzKHBtZHMpOworCQlyZXR1cm4gLUVOT01FTTsKKwl9CisKKwlyZXR1cm4gMDsKIH0KLSNlbmRpZgkvKiBDT05GSUdfWDg2X1BBRSAqLworCisvKgorICogTW9wIHVwIGFueSBwbWQgcGFnZXMgd2hpY2ggbWF5IHN0aWxsIGJlIGF0dGFjaGVkIHRvIHRoZSBwZ2QuCisgKiBOb3JtYWxseSB0aGV5IHdpbGwgYmUgZnJlZWQgYnkgbXVubWFwL2V4aXRfbW1hcCwgYnV0IGFueSBwbWQgd2UKKyAqIHByZWFsbG9jYXRlIHdoaWNoIG5ldmVyIGdvdCBhIGNvcnJlc3BvbmRpbmcgdm1hIHdpbGwgbmVlZCB0byBiZQorICogZnJlZWQgbWFudWFsbHkuCisgKi8KK3N0YXRpYyB2b2lkIHBnZF9tb3BfdXBfcG1kcyhzdHJ1Y3QgbW1fc3RydWN0ICptbSwgcGdkX3QgKnBnZHApCit7CisJaW50IGk7CisKKwlmb3IoaSA9IDA7IGkgPCBQUkVBTExPQ0FURURfUE1EUzsgaSsrKSB7CisJCXBnZF90IHBnZCA9IHBnZHBbaV07CisKKwkJaWYgKHBnZF92YWwocGdkKSAhPSAwKSB7CisJCQlwbWRfdCAqcG1kID0gKHBtZF90ICopcGdkX3BhZ2VfdmFkZHIocGdkKTsKKworCQkJcGdkcFtpXSA9IG5hdGl2ZV9tYWtlX3BnZCgwKTsKKworCQkJcGFyYXZpcnRfcmVsZWFzZV9wbWQocGdkX3ZhbChwZ2QpID4+IFBBR0VfU0hJRlQpOworCQkJcG1kX2ZyZWUobW0sIHBtZCk7CisJCX0KKwl9Cit9CisKK3N0YXRpYyB2b2lkIHBnZF9wcmVwb3B1bGF0ZV9wbWQoc3RydWN0IG1tX3N0cnVjdCAqbW0sIHBnZF90ICpwZ2QsIHBtZF90ICpwbWRzW10pCit7CisJcHVkX3QgKnB1ZDsKKwl1bnNpZ25lZCBsb25nIGFkZHI7CisJaW50IGk7CisKKwlwdWQgPSBwdWRfb2Zmc2V0KHBnZCwgMCk7CisKKyAJZm9yIChhZGRyID0gaSA9IDA7IGkgPCBQUkVBTExPQ0FURURfUE1EUzsKKwkgICAgIGkrKywgcHVkKyssIGFkZHIgKz0gUFVEX1NJWkUpIHsKKwkJcG1kX3QgKnBtZCA9IHBtZHNbaV07CisKKwkJaWYgKGkgPj0gS0VSTkVMX1BHRF9CT1VOREFSWSkKKwkJCW1lbWNweShwbWQsIChwbWRfdCAqKXBnZF9wYWdlX3ZhZGRyKHN3YXBwZXJfcGdfZGlyW2ldKSwKKwkJCSAgICAgICBzaXplb2YocG1kX3QpICogUFRSU19QRVJfUE1EKTsKKworCQlwdWRfcG9wdWxhdGUobW0sIHB1ZCwgcG1kKTsKKwl9Cit9CiAKIHBnZF90ICpwZ2RfYWxsb2Moc3RydWN0IG1tX3N0cnVjdCAqbW0pCiB7Ci0JcGdkX3QgKnBnZCA9IChwZ2RfdCAqKV9fZ2V0X2ZyZWVfcGFnZShHRlBfS0VSTkVMIHwgX19HRlBfWkVSTyk7CisJcGdkX3QgKnBnZDsKKwlwbWRfdCAqcG1kc1tQUkVBTExPQ0FURURfUE1EU107CisJdW5zaWduZWQgbG9uZyBmbGFnczsKIAotCS8qIHNvIHRoYXQgYWxsb2NfcG1kIGNhbiB1c2UgaXQgKi8KKwlwZ2QgPSAocGdkX3QgKilfX2dldF9mcmVlX3BhZ2UoR0ZQX0tFUk5FTCB8IF9fR0ZQX1pFUk8pOworCisJaWYgKHBnZCA9PSBOVUxMKQorCQlnb3RvIG91dDsKKwogCW1tLT5wZ2QgPSBwZ2Q7Ci0JaWYgKHBnZCkKLQkJcGdkX2N0b3IocGdkKTsKIAotCWlmIChwZ2QgJiYgIXBnZF9wcmVwb3B1bGF0ZV9wbWQobW0sIHBnZCkpIHsKLQkJcGdkX2R0b3IocGdkKTsKLQkJZnJlZV9wYWdlKCh1bnNpZ25lZCBsb25nKXBnZCk7Ci0JCXBnZCA9IE5VTEw7Ci0JfQorCWlmIChwcmVhbGxvY2F0ZV9wbWRzKHBtZHMpICE9IDApCisJCWdvdG8gb3V0X2ZyZWVfcGdkOworCisJaWYgKHBhcmF2aXJ0X3BnZF9hbGxvYyhtbSkgIT0gMCkKKwkJZ290byBvdXRfZnJlZV9wbWRzOworCisJLyoKKwkgKiBNYWtlIHN1cmUgdGhhdCBwcmUtcG9wdWxhdGluZyB0aGUgcG1kcyBpcyBhdG9taWMgd2l0aAorCSAqIHJlc3BlY3QgdG8gYW55dGhpbmcgd2Fsa2luZyB0aGUgcGdkX2xpc3QsIHNvIHRoYXQgdGhleQorCSAqIG5ldmVyIHNlZSBhIHBhcnRpYWxseSBwb3B1bGF0ZWQgcGdkLgorCSAqLworCXNwaW5fbG9ja19pcnFzYXZlKCZwZ2RfbG9jaywgZmxhZ3MpOworCisJcGdkX2N0b3IocGdkKTsKKwlwZ2RfcHJlcG9wdWxhdGVfcG1kKG1tLCBwZ2QsIHBtZHMpOworCisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcGdkX2xvY2ssIGZsYWdzKTsKIAogCXJldHVybiBwZ2Q7CisKK291dF9mcmVlX3BtZHM6CisJZnJlZV9wbWRzKHBtZHMpOworb3V0X2ZyZWVfcGdkOgorCWZyZWVfcGFnZSgodW5zaWduZWQgbG9uZylwZ2QpOworb3V0OgorCXJldHVybiBOVUxMOwogfQogCiB2b2lkIHBnZF9mcmVlKHN0cnVjdCBtbV9zdHJ1Y3QgKm1tLCBwZ2RfdCAqcGdkKQogewogCXBnZF9tb3BfdXBfcG1kcyhtbSwgcGdkKTsKIAlwZ2RfZHRvcihwZ2QpOworCXBhcmF2aXJ0X3BnZF9mcmVlKG1tLCBwZ2QpOwogCWZyZWVfcGFnZSgodW5zaWduZWQgbG9uZylwZ2QpOwogfQogCkBAIC0yNTUsNyArMjkyLDcgQEAKIAogCWlmIChwdGVfeW91bmcoKnB0ZXApKQogCQlyZXQgPSB0ZXN0X2FuZF9jbGVhcl9iaXQoX1BBR0VfQklUX0FDQ0VTU0VELAotCQkJCQkgJnB0ZXAtPnB0ZSk7CisJCQkJCSAodW5zaWduZWQgbG9uZyAqKSAmcHRlcC0+cHRlKTsKIAogCWlmIChyZXQpCiAJCXB0ZV91cGRhdGUodm1hLT52bV9tbSwgYWRkciwgcHRlcCk7CkBAIC0yNzQsMyArMzExLDIyIEBACiAKIAlyZXR1cm4geW91bmc7CiB9CisKK2ludCBmaXhtYXBzX3NldDsKKwordm9pZCBfX25hdGl2ZV9zZXRfZml4bWFwKGVudW0gZml4ZWRfYWRkcmVzc2VzIGlkeCwgcHRlX3QgcHRlKQoreworCXVuc2lnbmVkIGxvbmcgYWRkcmVzcyA9IF9fZml4X3RvX3ZpcnQoaWR4KTsKKworCWlmIChpZHggPj0gX19lbmRfb2ZfZml4ZWRfYWRkcmVzc2VzKSB7CisJCUJVRygpOworCQlyZXR1cm47CisJfQorCXNldF9wdGVfdmFkZHIoYWRkcmVzcywgcHRlKTsKKwlmaXhtYXBzX3NldCsrOworfQorCit2b2lkIG5hdGl2ZV9zZXRfZml4bWFwKGVudW0gZml4ZWRfYWRkcmVzc2VzIGlkeCwgdW5zaWduZWQgbG9uZyBwaHlzLCBwZ3Byb3RfdCBmbGFncykKK3sKKwlfX25hdGl2ZV9zZXRfZml4bWFwKGlkeCwgcGZuX3B0ZShwaHlzID4+IFBBR0VfU0hJRlQsIGZsYWdzKSk7Cit9CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9tbS9wZ3RhYmxlXzMyLmMgYi9hcmNoL3g4Ni9tbS9wZ3RhYmxlXzMyLmMKaW5kZXggMzY5Y2YwNi4uYjRiZWNiZiAxMDA2NDQKLS0tIGEvYXJjaC94ODYvbW0vcGd0YWJsZV8zMi5jCisrKyBiL2FyY2gveDg2L21tL3BndGFibGVfMzIuYwpAQCAtNzEsNyArNzEsNyBAQAogICogQXNzb2NpYXRlIGEgdmlydHVhbCBwYWdlIGZyYW1lIHdpdGggYSBnaXZlbiBwaHlzaWNhbCBwYWdlIGZyYW1lIAogICogYW5kIHByb3RlY3Rpb24gZmxhZ3MgZm9yIHRoYXQgZnJhbWUuCiAgKi8gCi1zdGF0aWMgdm9pZCBzZXRfcHRlX3Bmbih1bnNpZ25lZCBsb25nIHZhZGRyLCB1bnNpZ25lZCBsb25nIHBmbiwgcGdwcm90X3QgZmxhZ3MpCit2b2lkIHNldF9wdGVfdmFkZHIodW5zaWduZWQgbG9uZyB2YWRkciwgcHRlX3QgcHRldmFsKQogewogCXBnZF90ICpwZ2Q7CiAJcHVkX3QgKnB1ZDsKQEAgLTk0LDggKzk0LDggQEAKIAkJcmV0dXJuOwogCX0KIAlwdGUgPSBwdGVfb2Zmc2V0X2tlcm5lbChwbWQsIHZhZGRyKTsKLQlpZiAocGdwcm90X3ZhbChmbGFncykpCi0JCXNldF9wdGVfcHJlc2VudCgmaW5pdF9tbSwgdmFkZHIsIHB0ZSwgcGZuX3B0ZShwZm4sIGZsYWdzKSk7CisJaWYgKHB0ZV92YWwocHRldmFsKSkKKwkJc2V0X3B0ZV9wcmVzZW50KCZpbml0X21tLCB2YWRkciwgcHRlLCBwdGV2YWwpOwogCWVsc2UKIAkJcHRlX2NsZWFyKCZpbml0X21tLCB2YWRkciwgcHRlKTsKIApAQCAtMTQxLDIyICsxNDEsOSBAQAogCV9fZmx1c2hfdGxiX29uZSh2YWRkcik7CiB9CiAKLXN0YXRpYyBpbnQgZml4bWFwczsKIHVuc2lnbmVkIGxvbmcgX19GSVhBRERSX1RPUCA9IDB4ZmZmZmYwMDA7CiBFWFBPUlRfU1lNQk9MKF9fRklYQUREUl9UT1ApOwogCi12b2lkIF9fc2V0X2ZpeG1hcCAoZW51bSBmaXhlZF9hZGRyZXNzZXMgaWR4LCB1bnNpZ25lZCBsb25nIHBoeXMsIHBncHJvdF90IGZsYWdzKQotewotCXVuc2lnbmVkIGxvbmcgYWRkcmVzcyA9IF9fZml4X3RvX3ZpcnQoaWR4KTsKLQotCWlmIChpZHggPj0gX19lbmRfb2ZfZml4ZWRfYWRkcmVzc2VzKSB7Ci0JCUJVRygpOwotCQlyZXR1cm47Ci0JfQotCXNldF9wdGVfcGZuKGFkZHJlc3MsIHBoeXMgPj4gUEFHRV9TSElGVCwgZmxhZ3MpOwotCWZpeG1hcHMrKzsKLX0KLQogLyoqCiAgKiByZXNlcnZlX3RvcF9hZGRyZXNzIC0gcmVzZXJ2ZXMgYSBob2xlIGluIHRoZSB0b3Agb2Yga2VybmVsIGFkZHJlc3Mgc3BhY2UKICAqIEByZXNlcnZlIC0gc2l6ZSBvZiBob2xlIHRvIHJlc2VydmUKQEAgLTE2NCwxMSArMTUxLDQ0IEBACiAgKiBDYW4gYmUgdXNlZCB0byByZWxvY2F0ZSB0aGUgZml4bWFwIGFyZWEgYW5kIHBva2UgYSBob2xlIGluIHRoZSB0b3AKICAqIG9mIGtlcm5lbCBhZGRyZXNzIHNwYWNlIHRvIG1ha2Ugcm9vbSBmb3IgYSBoeXBlcnZpc29yLgogICovCi12b2lkIHJlc2VydmVfdG9wX2FkZHJlc3ModW5zaWduZWQgbG9uZyByZXNlcnZlKQordm9pZCBfX2luaXQgcmVzZXJ2ZV90b3BfYWRkcmVzcyh1bnNpZ25lZCBsb25nIHJlc2VydmUpCiB7Ci0JQlVHX09OKGZpeG1hcHMgPiAwKTsKKwlCVUdfT04oZml4bWFwc19zZXQgPiAwKTsKIAlwcmludGsoS0VSTl9JTkZPICJSZXNlcnZpbmcgdmlydHVhbCBhZGRyZXNzIHNwYWNlIGFib3ZlIDB4JTA4eFxuIiwKIAkgICAgICAgKGludCktcmVzZXJ2ZSk7CiAJX19GSVhBRERSX1RPUCA9IC1yZXNlcnZlIC0gUEFHRV9TSVpFOwogCV9fVk1BTExPQ19SRVNFUlZFICs9IHJlc2VydmU7CiB9CisKKy8qCisgKiB2bWFsbG9jPXNpemUgZm9yY2VzIHRoZSB2bWFsbG9jIGFyZWEgdG8gYmUgZXhhY3RseSAnc2l6ZScKKyAqIGJ5dGVzLiBUaGlzIGNhbiBiZSB1c2VkIHRvIGluY3JlYXNlIChvciBkZWNyZWFzZSkgdGhlCisgKiB2bWFsbG9jIGFyZWEgLSB0aGUgZGVmYXVsdCBpcyAxMjhtLgorICovCitzdGF0aWMgaW50IF9faW5pdCBwYXJzZV92bWFsbG9jKGNoYXIgKmFyZykKK3sKKwlpZiAoIWFyZykKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlfX1ZNQUxMT0NfUkVTRVJWRSA9IG1lbXBhcnNlKGFyZywgJmFyZyk7CisJcmV0dXJuIDA7Cit9CitlYXJseV9wYXJhbSgidm1hbGxvYyIsIHBhcnNlX3ZtYWxsb2MpOworCisvKgorICogcmVzZXJ2ZXRvcD1zaXplIHJlc2VydmVzIGEgaG9sZSBhdCB0aGUgdG9wIG9mIHRoZSBrZXJuZWwgYWRkcmVzcyBzcGFjZSB3aGljaAorICogYSBoeXBlcnZpc29yIGNhbiBsb2FkIGludG8gbGF0ZXIuICBOZWVkZWQgZm9yIGR5bmFtaWNhbGx5IGxvYWRlZCBoeXBlcnZpc29ycywKKyAqIHNvIHJlbG9jYXRpbmcgdGhlIGZpeG1hcCBjYW4gYmUgZG9uZSBiZWZvcmUgcGFnaW5nIGluaXRpYWxpemF0aW9uLgorICovCitzdGF0aWMgaW50IF9faW5pdCBwYXJzZV9yZXNlcnZldG9wKGNoYXIgKmFyZykKK3sKKwl1bnNpZ25lZCBsb25nIGFkZHJlc3M7CisKKwlpZiAoIWFyZykKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlhZGRyZXNzID0gbWVtcGFyc2UoYXJnLCAmYXJnKTsKKwlyZXNlcnZlX3RvcF9hZGRyZXNzKGFkZHJlc3MpOworCXJldHVybiAwOworfQorZWFybHlfcGFyYW0oInJlc2VydmV0b3AiLCBwYXJzZV9yZXNlcnZldG9wKTsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L21tL3NyYXRfMzIuYyBiL2FyY2gveDg2L21tL3NyYXRfMzIuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNDFkNjdmCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC94ODYvbW0vc3JhdF8zMi5jCkBAIC0wLDAgKzEsMjgwIEBACisvKgorICogU29tZSBvZiB0aGUgY29kZSBpbiB0aGlzIGZpbGUgaGFzIGJlZW4gZ2xlYW5lZCBmcm9tIHRoZSA2NCBiaXQgCisgKiBkaXNjb250aWdtZW0gc3VwcG9ydCBjb2RlIGJhc2UuCisgKgorICogQ29weXJpZ2h0IChDKSAyMDAyLCBJQk0gQ29ycC4KKyAqCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLiAgICAgICAgICAKKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisgKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQKKyAqIFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBPUiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSwgR09PRCBUSVRMRSBvcgorICogTk9OIElORlJJTkdFTUVOVC4gIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUKKyAqIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA2NzUgTWFzcyBBdmUsIENhbWJyaWRnZSwgTUEgMDIxMzksIFVTQS4KKyAqCisgKiBTZW5kIGZlZWRiYWNrIHRvIFBhdCBHYXVnaGVuIDxnb25lQHVzLmlibS5jb20+CisgKi8KKyNpbmNsdWRlIDxsaW51eC9tbS5oPgorI2luY2x1ZGUgPGxpbnV4L2Jvb3RtZW0uaD4KKyNpbmNsdWRlIDxsaW51eC9tbXpvbmUuaD4KKyNpbmNsdWRlIDxsaW51eC9hY3BpLmg+CisjaW5jbHVkZSA8bGludXgvbm9kZW1hc2suaD4KKyNpbmNsdWRlIDxhc20vc3JhdC5oPgorI2luY2x1ZGUgPGFzbS90b3BvbG9neS5oPgorI2luY2x1ZGUgPGFzbS9zbXAuaD4KKyNpbmNsdWRlIDxhc20vZTgyMC5oPgorCisvKgorICogcHJveGltaXR5IG1hY3JvcyBhbmQgZGVmaW5pdGlvbnMKKyAqLworI2RlZmluZSBOT0RFX0FSUkFZX0lOREVYKHgpCSgoeCkgLyA4KQkvKiA4IGJpdHMvY2hhciAqLworI2RlZmluZSBOT0RFX0FSUkFZX09GRlNFVCh4KQkoKHgpICUgOCkJLyogOCBiaXRzL2NoYXIgKi8KKyNkZWZpbmUgQk1BUF9TRVQoYm1hcCwgYml0KQkoKGJtYXApW05PREVfQVJSQVlfSU5ERVgoYml0KV0gfD0gMSA8PCBOT0RFX0FSUkFZX09GRlNFVChiaXQpKQorI2RlZmluZSBCTUFQX1RFU1QoYm1hcCwgYml0KQkoKGJtYXApW05PREVfQVJSQVlfSU5ERVgoYml0KV0gJiAoMSA8PCBOT0RFX0FSUkFZX09GRlNFVChiaXQpKSkKKy8qIGJpdG1hcCBsZW5ndGg7IF9QWE0gaXMgYXQgbW9zdCAyNTUgKi8KKyNkZWZpbmUgUFhNX0JJVE1BUF9MRU4gKE1BWF9QWE1fRE9NQUlOUyAvIDgpIAorc3RhdGljIHU4IF9faW5pdGRhdGEgcHhtX2JpdG1hcFtQWE1fQklUTUFQX0xFTl07CS8qIGJpdG1hcCBvZiBwcm94aW1pdHkgZG9tYWlucyAqLworCisjZGVmaW5lIE1BWF9DSFVOS1NfUEVSX05PREUJMworI2RlZmluZSBNQVhDSFVOS1MJCShNQVhfQ0hVTktTX1BFUl9OT0RFICogTUFYX05VTU5PREVTKQorc3RydWN0IG5vZGVfbWVtb3J5X2NodW5rX3MgeworCXVuc2lnbmVkIGxvbmcJc3RhcnRfcGZuOworCXVuc2lnbmVkIGxvbmcJZW5kX3BmbjsKKwl1OAlweG07CQkvLyBwcm94aW1pdHkgZG9tYWluIG9mIG5vZGUKKwl1OAluaWQ7CQkvLyB3aGljaCBjbm9kZSBjb250YWlucyB0aGlzIGNodW5rPworCXU4CWJhbms7CQkvLyB3aGljaCBtZW0gYmFuayBvbiB0aGlzIG5vZGUKK307CitzdGF0aWMgc3RydWN0IG5vZGVfbWVtb3J5X2NodW5rX3MgX19pbml0ZGF0YSBub2RlX21lbW9yeV9jaHVua1tNQVhDSFVOS1NdOworCitzdGF0aWMgaW50IF9faW5pdGRhdGEgbnVtX21lbW9yeV9jaHVua3M7IC8qIHRvdGFsIG51bWJlciBvZiBtZW1vcnkgY2h1bmtzICovCitzdGF0aWMgdTggX19pbml0ZGF0YSBhcGljaWRfdG9fcHhtW01BWF9BUElDSURdOworCitpbnQgbnVtYV9vZmYgX19pbml0ZGF0YTsKK2ludCBhY3BpX251bWEgX19pbml0ZGF0YTsKKworc3RhdGljIF9faW5pdCB2b2lkIGJhZF9zcmF0KHZvaWQpCit7CisgICAgICAgIHByaW50ayhLRVJOX0VSUiAiU1JBVDogU1JBVCBub3QgdXNlZC5cbiIpOworICAgICAgICBhY3BpX251bWEgPSAtMTsKKwludW1fbWVtb3J5X2NodW5rcyA9IDA7Cit9CisKK3N0YXRpYyBfX2luaXQgaW5saW5lIGludCBzcmF0X2Rpc2FibGVkKHZvaWQpCit7CisJcmV0dXJuIG51bWFfb2ZmIHx8IGFjcGlfbnVtYSA8IDA7Cit9CisKKy8qIElkZW50aWZ5IENQVSBwcm94aW1pdHkgZG9tYWlucyAqLwordm9pZCBfX2luaXQKK2FjcGlfbnVtYV9wcm9jZXNzb3JfYWZmaW5pdHlfaW5pdChzdHJ1Y3QgYWNwaV9zcmF0X2NwdV9hZmZpbml0eSAqY3B1X2FmZmluaXR5KQoreworCWlmIChzcmF0X2Rpc2FibGVkKCkpCisJCXJldHVybjsKKwlpZiAoY3B1X2FmZmluaXR5LT5oZWFkZXIubGVuZ3RoICE9CisJICAgICBzaXplb2Yoc3RydWN0IGFjcGlfc3JhdF9jcHVfYWZmaW5pdHkpKSB7CisJCWJhZF9zcmF0KCk7CisJCXJldHVybjsKKwl9CisKKwlpZiAoKGNwdV9hZmZpbml0eS0+ZmxhZ3MgJiBBQ1BJX1NSQVRfQ1BVX0VOQUJMRUQpID09IDApCisJCXJldHVybjsJCS8qIGVtcHR5IGVudHJ5ICovCisKKwkvKiBtYXJrIHRoaXMgbm9kZSBhcyAic2VlbiIgaW4gbm9kZSBiaXRtYXAgKi8KKwlCTUFQX1NFVChweG1fYml0bWFwLCBjcHVfYWZmaW5pdHktPnByb3hpbWl0eV9kb21haW5fbG8pOworCisJYXBpY2lkX3RvX3B4bVtjcHVfYWZmaW5pdHktPmFwaWNfaWRdID0gY3B1X2FmZmluaXR5LT5wcm94aW1pdHlfZG9tYWluX2xvOworCisJcHJpbnRrKEtFUk5fREVCVUcgIkNQVSAlMDJ4IGluIHByb3hpbWl0eSBkb21haW4gJTAyeFxuIiwKKwkJY3B1X2FmZmluaXR5LT5hcGljX2lkLCBjcHVfYWZmaW5pdHktPnByb3hpbWl0eV9kb21haW5fbG8pOworfQorCisvKgorICogSWRlbnRpZnkgbWVtb3J5IHByb3hpbWl0eSBkb21haW5zIGFuZCBob3QtcmVtb3ZlIGNhcGFiaWxpdGllcy4KKyAqIEZpbGwgbm9kZSBtZW1vcnkgY2h1bmsgbGlzdCBzdHJ1Y3R1cmUuCisgKi8KK3ZvaWQgX19pbml0CithY3BpX251bWFfbWVtb3J5X2FmZmluaXR5X2luaXQoc3RydWN0IGFjcGlfc3JhdF9tZW1fYWZmaW5pdHkgKm1lbW9yeV9hZmZpbml0eSkKK3sKKwl1bnNpZ25lZCBsb25nIGxvbmcgcGFkZHIsIHNpemU7CisJdW5zaWduZWQgbG9uZyBzdGFydF9wZm4sIGVuZF9wZm47CisJdTggcHhtOworCXN0cnVjdCBub2RlX21lbW9yeV9jaHVua19zICpwLCAqcSwgKnBlbmQ7CisKKwlpZiAoc3JhdF9kaXNhYmxlZCgpKQorCQlyZXR1cm47CisJaWYgKG1lbW9yeV9hZmZpbml0eS0+aGVhZGVyLmxlbmd0aCAhPQorCSAgICAgc2l6ZW9mKHN0cnVjdCBhY3BpX3NyYXRfbWVtX2FmZmluaXR5KSkgeworCQliYWRfc3JhdCgpOworCQlyZXR1cm47CisJfQorCisJaWYgKChtZW1vcnlfYWZmaW5pdHktPmZsYWdzICYgQUNQSV9TUkFUX01FTV9FTkFCTEVEKSA9PSAwKQorCQlyZXR1cm47CQkvKiBlbXB0eSBlbnRyeSAqLworCisJcHhtID0gbWVtb3J5X2FmZmluaXR5LT5wcm94aW1pdHlfZG9tYWluICYgMHhmZjsKKworCS8qIG1hcmsgdGhpcyBub2RlIGFzICJzZWVuIiBpbiBub2RlIGJpdG1hcCAqLworCUJNQVBfU0VUKHB4bV9iaXRtYXAsIHB4bSk7CisKKwkvKiBjYWxjdWxhdGUgaW5mbyBmb3IgbWVtb3J5IGNodW5rIHN0cnVjdHVyZSAqLworCXBhZGRyID0gbWVtb3J5X2FmZmluaXR5LT5iYXNlX2FkZHJlc3M7CisJc2l6ZSA9IG1lbW9yeV9hZmZpbml0eS0+bGVuZ3RoOworCisJc3RhcnRfcGZuID0gcGFkZHIgPj4gUEFHRV9TSElGVDsKKwllbmRfcGZuID0gKHBhZGRyICsgc2l6ZSkgPj4gUEFHRV9TSElGVDsKKworCisJaWYgKG51bV9tZW1vcnlfY2h1bmtzID49IE1BWENIVU5LUykgeworCQlwcmludGsoS0VSTl9XQVJOSU5HICJUb28gbWFueSBtZW0gY2h1bmtzIGluIFNSQVQuIgorCQkJIiBJZ25vcmluZyAlbGxkIE1CeXRlcyBhdCAlbGx4XG4iLAorCQkJc2l6ZS8oMTAyNCoxMDI0KSwgcGFkZHIpOworCQlyZXR1cm47CisJfQorCisJLyogSW5zZXJ0aW9uIHNvcnQgYmFzZWQgb24gYmFzZSBhZGRyZXNzICovCisJcGVuZCA9ICZub2RlX21lbW9yeV9jaHVua1tudW1fbWVtb3J5X2NodW5rc107CisJZm9yIChwID0gJm5vZGVfbWVtb3J5X2NodW5rWzBdOyBwIDwgcGVuZDsgcCsrKSB7CisJCWlmIChzdGFydF9wZm4gPCBwLT5zdGFydF9wZm4pCisJCQlicmVhazsKKwl9CisJaWYgKHAgPCBwZW5kKSB7CisJCWZvciAocSA9IHBlbmQ7IHEgPj0gcDsgcS0tKQorCQkJKihxICsgMSkgPSAqcTsKKwl9CisJcC0+c3RhcnRfcGZuID0gc3RhcnRfcGZuOworCXAtPmVuZF9wZm4gPSBlbmRfcGZuOworCXAtPnB4bSA9IHB4bTsKKworCW51bV9tZW1vcnlfY2h1bmtzKys7CisKKwlwcmludGsoS0VSTl9ERUJVRyAiTWVtb3J5IHJhbmdlICUwOGx4IHRvICUwOGx4ICh0eXBlICV4KSIKKwkJCSAgIiBpbiBwcm94aW1pdHkgZG9tYWluICUwMnggJXNcbiIsCisJCXN0YXJ0X3BmbiwgZW5kX3BmbiwKKwkJbWVtb3J5X2FmZmluaXR5LT5tZW1vcnlfdHlwZSwKKwkJcHhtLAorCQkoKG1lbW9yeV9hZmZpbml0eS0+ZmxhZ3MgJiBBQ1BJX1NSQVRfTUVNX0hPVF9QTFVHR0FCTEUpID8KKwkJICJlbmFibGVkIGFuZCByZW1vdmFibGUiIDogImVuYWJsZWQiICkgKTsKK30KKworLyogQ2FsbGJhY2sgZm9yIFNMSVQgcGFyc2luZyAqLwordm9pZCBfX2luaXQgYWNwaV9udW1hX3NsaXRfaW5pdChzdHJ1Y3QgYWNwaV90YWJsZV9zbGl0ICpzbGl0KQoreworfQorCit2b2lkIGFjcGlfbnVtYV9hcmNoX2ZpeHVwKHZvaWQpCit7Cit9CisvKgorICogVGhlIFNSQVQgdGFibGUgYWx3YXlzIGxpc3RzIGFzY2VuZGluZyBhZGRyZXNzZXMsIHNvIGNhbiBhbHdheXMKKyAqIGFzc3VtZSB0aGF0IHRoZSBmaXJzdCAic3RhcnQiIGFkZHJlc3MgdGhhdCB5b3Ugc2VlIGlzIHRoZSByZWFsCisgKiBzdGFydCBvZiB0aGUgbm9kZSwgYW5kIHRoYXQgdGhlIGN1cnJlbnQgImVuZCIgYWRkcmVzcyBpcyBhZnRlcgorICogdGhlIHByZXZpb3VzIG9uZS4KKyAqLworc3RhdGljIF9faW5pdCB2b2lkIG5vZGVfcmVhZF9jaHVuayhpbnQgbmlkLCBzdHJ1Y3Qgbm9kZV9tZW1vcnlfY2h1bmtfcyAqbWVtb3J5X2NodW5rKQoreworCS8qCisJICogT25seSBhZGQgcHJlc2VudCBtZW1vcnkgYXMgdG9sZCBieSB0aGUgZTgyMC4KKwkgKiBUaGVyZSBpcyBubyBndWFyYW50ZWUgZnJvbSB0aGUgU1JBVCB0aGF0IHRoZSBtZW1vcnkgaXQKKwkgKiBlbnVtZXJhdGVzIGlzIHByZXNlbnQgYXQgYm9vdCB0aW1lIGJlY2F1c2UgaXQgcmVwcmVzZW50cworCSAqICpwb3NzaWJsZSogbWVtb3J5IGhvdHBsdWcgYXJlYXMgdGhlIHNhbWUgYXMgbm9ybWFsIFJBTS4KKwkgKi8KKwlpZiAobWVtb3J5X2NodW5rLT5zdGFydF9wZm4gPj0gbWF4X3BmbikgeworCQlwcmludGsoS0VSTl9JTkZPICJJZ25vcmluZyBTUkFUIHBmbnM6ICUwOGx4IC0gJTA4bHhcbiIsCisJCQltZW1vcnlfY2h1bmstPnN0YXJ0X3BmbiwgbWVtb3J5X2NodW5rLT5lbmRfcGZuKTsKKwkJcmV0dXJuOworCX0KKwlpZiAobWVtb3J5X2NodW5rLT5uaWQgIT0gbmlkKQorCQlyZXR1cm47CisKKwlpZiAoIW5vZGVfaGFzX29ubGluZV9tZW0obmlkKSkKKwkJbm9kZV9zdGFydF9wZm5bbmlkXSA9IG1lbW9yeV9jaHVuay0+c3RhcnRfcGZuOworCisJaWYgKG5vZGVfc3RhcnRfcGZuW25pZF0gPiBtZW1vcnlfY2h1bmstPnN0YXJ0X3BmbikKKwkJbm9kZV9zdGFydF9wZm5bbmlkXSA9IG1lbW9yeV9jaHVuay0+c3RhcnRfcGZuOworCisJaWYgKG5vZGVfZW5kX3BmbltuaWRdIDwgbWVtb3J5X2NodW5rLT5lbmRfcGZuKQorCQlub2RlX2VuZF9wZm5bbmlkXSA9IG1lbW9yeV9jaHVuay0+ZW5kX3BmbjsKK30KKworaW50IF9faW5pdCBnZXRfbWVtY2ZnX2Zyb21fc3JhdCh2b2lkKQoreworCWludCBpLCBqLCBuaWQ7CisKKworCWlmIChzcmF0X2Rpc2FibGVkKCkpCisJCWdvdG8gb3V0X2ZhaWw7CisKKwlpZiAobnVtX21lbW9yeV9jaHVua3MgPT0gMCkgeworCQlwcmludGsoS0VSTl9XQVJOSU5HCisJCQkgImNvdWxkIG5vdCBmaW55IGFueSBBQ1BJIFNSQVQgbWVtb3J5IGFyZWFzLlxuIik7CisJCWdvdG8gb3V0X2ZhaWw7CisJfQorCisJLyogQ2FsY3VsYXRlIHRvdGFsIG51bWJlciBvZiBub2RlcyBpbiBzeXN0ZW0gZnJvbSBQWE0gYml0bWFwIGFuZCBjcmVhdGUKKwkgKiBhIHNldCBvZiBzZXF1ZW50aWFsIG5vZGUgSURzIHN0YXJ0aW5nIGF0IHplcm8uICAoQUNQSSBkb2Vzbid0IHNlZW0KKwkgKiB0byBzcGVjaWZ5IHRoZSByYW5nZSBvZiBfUFhNIHZhbHVlcy4pCisJICovCisJLyoKKwkgKiBNQ0QgLSB3ZSBubyBsb25nZXIgSEFWRSB0byBudW1iZXIgbm9kZXMgc2VxdWVudGlhbGx5LiAgUFhNIGRvbWFpbgorCSAqIG51bWJlcnMgY291bGQgZ28gYXMgaGlnaCBhcyAyNTYsIGFuZCBNQVhfTlVNTk9ERVMgZm9yIGkzODYgaXMgdHlwaWNhbGx5CisJICogMzIsIHNvIHdlIHdpbGwgY29udGludWUgbnVtYmVyaW5nIHRoZW0gaW4gdGhpcyBtYW5uZXIgdW50aWwgTUFYX05VTU5PREVTCisJICogYXBwcm9hY2hlcyBNQVhfUFhNX0RPTUFJTlMgZm9yIGkzODYuCisJICovCisJbm9kZXNfY2xlYXIobm9kZV9vbmxpbmVfbWFwKTsKKwlmb3IgKGkgPSAwOyBpIDwgTUFYX1BYTV9ET01BSU5TOyBpKyspIHsKKwkJaWYgKEJNQVBfVEVTVChweG1fYml0bWFwLCBpKSkgeworCQkJaW50IG5pZCA9IGFjcGlfbWFwX3B4bV90b19ub2RlKGkpOworCQkJbm9kZV9zZXRfb25saW5lKG5pZCk7CisJCX0KKwl9CisJQlVHX09OKG51bV9vbmxpbmVfbm9kZXMoKSA9PSAwKTsKKworCS8qIHNldCBjbm9kZSBpZCBpbiBtZW1vcnkgY2h1bmsgc3RydWN0dXJlICovCisJZm9yIChpID0gMDsgaSA8IG51bV9tZW1vcnlfY2h1bmtzOyBpKyspCisJCW5vZGVfbWVtb3J5X2NodW5rW2ldLm5pZCA9IHB4bV90b19ub2RlKG5vZGVfbWVtb3J5X2NodW5rW2ldLnB4bSk7CisKKwlwcmludGsoS0VSTl9ERUJVRyAicHhtIGJpdG1hcDogIik7CisJZm9yIChpID0gMDsgaSA8IHNpemVvZihweG1fYml0bWFwKTsgaSsrKSB7CisJCXByaW50ayhLRVJOX0NPTlQgIiUwMnggIiwgcHhtX2JpdG1hcFtpXSk7CisJfQorCXByaW50ayhLRVJOX0NPTlQgIlxuIik7CisJcHJpbnRrKEtFUk5fREVCVUcgIk51bWJlciBvZiBsb2dpY2FsIG5vZGVzIGluIHN5c3RlbSA9ICVkXG4iLAorCQkJIG51bV9vbmxpbmVfbm9kZXMoKSk7CisJcHJpbnRrKEtFUk5fREVCVUcgIk51bWJlciBvZiBtZW1vcnkgY2h1bmtzIGluIHN5c3RlbSA9ICVkXG4iLAorCQkJIG51bV9tZW1vcnlfY2h1bmtzKTsKKworCWZvciAoaSA9IDA7IGkgPCBNQVhfQVBJQ0lEOyBpKyspCisJCWFwaWNpZF8yX25vZGVbaV0gPSBweG1fdG9fbm9kZShhcGljaWRfdG9fcHhtW2ldKTsKKworCWZvciAoaiA9IDA7IGogPCBudW1fbWVtb3J5X2NodW5rczsgaisrKXsKKwkJc3RydWN0IG5vZGVfbWVtb3J5X2NodW5rX3MgKiBjaHVuayA9ICZub2RlX21lbW9yeV9jaHVua1tqXTsKKwkJcHJpbnRrKEtFUk5fREVCVUcKKwkJCSJjaHVuayAlZCBuaWQgJWQgc3RhcnRfcGZuICUwOGx4IGVuZF9wZm4gJTA4bHhcbiIsCisJCSAgICAgICBqLCBjaHVuay0+bmlkLCBjaHVuay0+c3RhcnRfcGZuLCBjaHVuay0+ZW5kX3Bmbik7CisJCW5vZGVfcmVhZF9jaHVuayhjaHVuay0+bmlkLCBjaHVuayk7CisJCWU4MjBfcmVnaXN0ZXJfYWN0aXZlX3JlZ2lvbnMoY2h1bmstPm5pZCwgY2h1bmstPnN0YXJ0X3BmbiwKKwkJCQkJICAgICBtaW4oY2h1bmstPmVuZF9wZm4sIG1heF9wZm4pKTsKKwl9CisKKwlmb3JfZWFjaF9vbmxpbmVfbm9kZShuaWQpIHsKKwkJdW5zaWduZWQgbG9uZyBzdGFydCA9IG5vZGVfc3RhcnRfcGZuW25pZF07CisJCXVuc2lnbmVkIGxvbmcgZW5kID0gbWluKG5vZGVfZW5kX3BmbltuaWRdLCBtYXhfcGZuKTsKKworCQltZW1vcnlfcHJlc2VudChuaWQsIHN0YXJ0LCBlbmQpOworCQlub2RlX3JlbWFwX3NpemVbbmlkXSA9IG5vZGVfbWVtbWFwX3NpemVfYnl0ZXMobmlkLCBzdGFydCwgZW5kKTsKKwl9CisJcmV0dXJuIDE7CitvdXRfZmFpbDoKKwlwcmludGsoS0VSTl9FUlIgImZhaWxlZCB0byBnZXQgTlVNQSBtZW1vcnkgaW5mb3JtYXRpb24gZnJvbSBTUkFUIgorCQkJIiB0YWJsZVxuIik7CisJcmV0dXJuIDA7Cit9CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9tbS9zcmF0XzY0LmMgYi9hcmNoL3g4Ni9tbS9zcmF0XzY0LmMKaW5kZXggOTk2NDlkYy4uMWI0NzYzZSAxMDA2NDQKLS0tIGEvYXJjaC94ODYvbW0vc3JhdF82NC5jCisrKyBiL2FyY2gveDg2L21tL3NyYXRfNjQuYwpAQCAtMTAwLDcgKzEwMCwxOSBAQAogLyogQ2FsbGJhY2sgZm9yIFNMSVQgcGFyc2luZyAqLwogdm9pZCBfX2luaXQgYWNwaV9udW1hX3NsaXRfaW5pdChzdHJ1Y3QgYWNwaV90YWJsZV9zbGl0ICpzbGl0KQogewotCWFjcGlfc2xpdCA9IHNsaXQ7CisJdW5zaWduZWQgbGVuZ3RoOworCXVuc2lnbmVkIGxvbmcgcGh5czsKKworCWxlbmd0aCA9IHNsaXQtPmhlYWRlci5sZW5ndGg7CisJcGh5cyA9IGZpbmRfZTgyMF9hcmVhKDAsIG1heF9wZm5fbWFwcGVkPDxQQUdFX1NISUZULCBsZW5ndGgsCisJCSBQQUdFX1NJWkUpOworCisJaWYgKHBoeXMgPT0gLTFMKQorCQlwYW5pYygiIENhbiBub3Qgc2F2ZSBzbGl0IVxuIik7CisKKwlhY3BpX3NsaXQgPSBfX3ZhKHBoeXMpOworCW1lbWNweShhY3BpX3NsaXQsIHNsaXQsIGxlbmd0aCk7CisJcmVzZXJ2ZV9lYXJseShwaHlzLCBwaHlzICsgbGVuZ3RoLCAiQUNQSSBTTElUIik7CiB9CiAKIC8qIENhbGxiYWNrIGZvciBQcm94aW1pdHkgRG9tYWluIC0+IExBUElDIG1hcHBpbmcgKi8KQEAgLTI5OSw3ICszMTEsNyBAQAogCQkJcHhtcmFtID0gMDsKIAl9CiAKLQllODIwcmFtID0gZW5kX3BmbiAtIGFic2VudF9wYWdlc19pbl9yYW5nZSgwLCBlbmRfcGZuKTsKKwllODIwcmFtID0gbWF4X3BmbiAtIGFic2VudF9wYWdlc19pbl9yYW5nZSgwLCBtYXhfcGZuKTsKIAkvKiBXZSBzZWVtIHRvIGxvc2UgMyBwYWdlcyBzb21ld2hlcmUuIEFsbG93IGEgYml0IG9mIHNsYWNrLiAqLwogCWlmICgobG9uZykoZTgyMHJhbSAtIHB4bXJhbSkgPj0gMSoxMDI0KjEwMjQpIHsKIAkJcHJpbnRrKEtFUk5fRVJSCkBAIC0zNzYsNyArMzg4LDcgQEAKIAkJaWYgKG5vZGUgPT0gTlVNQV9OT19OT0RFKQogCQkJY29udGludWU7CiAJCWlmICghbm9kZV9pc3NldChub2RlLCBub2RlX3Bvc3NpYmxlX21hcCkpCi0JCQludW1hX3NldF9ub2RlKGksIE5VTUFfTk9fTk9ERSk7CisJCQludW1hX2NsZWFyX25vZGUoaSk7CiAJfQogCW51bWFfaW5pdF9hcnJheSgpOwogCXJldHVybiAwOwpAQCAtNDk1LDYgKzUwNyw3IEBACiAKIEVYUE9SVF9TWU1CT0woX19ub2RlX2Rpc3RhbmNlKTsKIAorI2lmIGRlZmluZWQoQ09ORklHX01FTU9SWV9IT1RQTFVHX1NQQVJTRSkgfHwgZGVmaW5lZChDT05GSUdfQUNQSV9IT1RQTFVHX01FTU9SWSkKIGludCBtZW1vcnlfYWRkX3BoeXNhZGRyX3RvX25pZCh1NjQgc3RhcnQpCiB7CiAJaW50IGksIHJldCA9IDA7CkBAIC01MDYsNCArNTE5LDQgQEAKIAlyZXR1cm4gcmV0OwogfQogRVhQT1JUX1NZTUJPTF9HUEwobWVtb3J5X2FkZF9waHlzYWRkcl90b19uaWQpOwotCisjZW5kaWYKZGlmZiAtLWdpdCBhL2FyY2gveDg2L21tL3Rlc3RtbWlvdHJhY2UuYyBiL2FyY2gveDg2L21tL3Rlc3RtbWlvdHJhY2UuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kODc3YzViCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC94ODYvbW0vdGVzdG1taW90cmFjZS5jCkBAIC0wLDAgKzEsNzEgQEAKKy8qCisgKiBXcml0dGVuIGJ5IFBla2thIFBhYWxhbmVuLCAyMDA4IDxwcUBpa2kuZmk+CisgKi8KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9pby5oPgorCisjZGVmaW5lIE1PRFVMRV9OQU1FICJ0ZXN0bW1pb3RyYWNlIgorCitzdGF0aWMgdW5zaWduZWQgbG9uZyBtbWlvX2FkZHJlc3M7Cittb2R1bGVfcGFyYW0obW1pb19hZGRyZXNzLCB1bG9uZywgMCk7CitNT0RVTEVfUEFSTV9ERVNDKG1taW9fYWRkcmVzcywgIlN0YXJ0IGFkZHJlc3Mgb2YgdGhlIG1hcHBpbmcgb2YgMTYga0IuIik7CisKK3N0YXRpYyB2b2lkIGRvX3dyaXRlX3Rlc3Qodm9pZCBfX2lvbWVtICpwKQoreworCXVuc2lnbmVkIGludCBpOworCWZvciAoaSA9IDA7IGkgPCAyNTY7IGkrKykKKwkJaW93cml0ZTgoaSwgcCArIGkpOworCWZvciAoaSA9IDEwMjQ7IGkgPCAoNSAqIDEwMjQpOyBpICs9IDIpCisJCWlvd3JpdGUxNihpICogMTIgKyA3LCBwICsgaSk7CisJZm9yIChpID0gKDUgKiAxMDI0KTsgaSA8ICgxNiAqIDEwMjQpOyBpICs9IDQpCisJCWlvd3JpdGUzMihpICogMjEyMzcxICsgMTMsIHAgKyBpKTsKK30KKworc3RhdGljIHZvaWQgZG9fcmVhZF90ZXN0KHZvaWQgX19pb21lbSAqcCkKK3sKKwl1bnNpZ25lZCBpbnQgaTsKKwlmb3IgKGkgPSAwOyBpIDwgMjU2OyBpKyspCisJCWlvcmVhZDgocCArIGkpOworCWZvciAoaSA9IDEwMjQ7IGkgPCAoNSAqIDEwMjQpOyBpICs9IDIpCisJCWlvcmVhZDE2KHAgKyBpKTsKKwlmb3IgKGkgPSAoNSAqIDEwMjQpOyBpIDwgKDE2ICogMTAyNCk7IGkgKz0gNCkKKwkJaW9yZWFkMzIocCArIGkpOworfQorCitzdGF0aWMgdm9pZCBkb190ZXN0KHZvaWQpCit7CisJdm9pZCBfX2lvbWVtICpwID0gaW9yZW1hcF9ub2NhY2hlKG1taW9fYWRkcmVzcywgMHg0MDAwKTsKKwlpZiAoIXApIHsKKwkJcHJfZXJyKE1PRFVMRV9OQU1FICI6IGNvdWxkIG5vdCBpb3JlbWFwLCBhYm9ydGluZy5cbiIpOworCQlyZXR1cm47CisJfQorCWRvX3dyaXRlX3Rlc3QocCk7CisJZG9fcmVhZF90ZXN0KHApOworCWlvdW5tYXAocCk7Cit9CisKK3N0YXRpYyBpbnQgX19pbml0IGluaXQodm9pZCkKK3sKKwlpZiAobW1pb19hZGRyZXNzID09IDApIHsKKwkJcHJfZXJyKE1PRFVMRV9OQU1FICI6IHlvdSBoYXZlIHRvIHVzZSB0aGUgbW9kdWxlIGFyZ3VtZW50ICIKKwkJCQkJCQkibW1pb19hZGRyZXNzLlxuIik7CisJCXByX2VycihNT0RVTEVfTkFNRSAiOiBETyBOT1QgTE9BRCBUSElTIE1PRFVMRSBVTkxFU1MiCisJCQkJIiBZT1UgUkVBTExZIEtOT1cgV0hBVCBZT1UgQVJFIERPSU5HIVxuIik7CisJCXJldHVybiAtRU5YSU87CisJfQorCisJcHJfd2FybmluZyhNT0RVTEVfTkFNRSAiOiBXQVJOSU5HOiBtYXBwaW5nIDE2IGtCIEAgMHglMDhseCAiCisJCQkJCSJpbiBQQ0kgYWRkcmVzcyBzcGFjZSwgYW5kIHdyaXRpbmcgIgorCQkJCQkicnViYmlzaCBpbiB0aGVyZS5cbiIsIG1taW9fYWRkcmVzcyk7CisJZG9fdGVzdCgpOworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBfX2V4aXQgY2xlYW51cCh2b2lkKQoreworCXByX2RlYnVnKE1PRFVMRV9OQU1FICI6IHVubG9hZGVkLlxuIik7Cit9CisKK21vZHVsZV9pbml0KGluaXQpOworbW9kdWxlX2V4aXQoY2xlYW51cCk7CitNT0RVTEVfTElDRU5TRSgiR1BMIik7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9vcHJvZmlsZS9ubWlfaW50LmMgYi9hcmNoL3g4Ni9vcHJvZmlsZS9ubWlfaW50LmMKaW5kZXggY2M0OGQzZi4uMmI2YWQ1YiAxMDA2NDQKLS0tIGEvYXJjaC94ODYvb3Byb2ZpbGUvbm1pX2ludC5jCisrKyBiL2FyY2gveDg2L29wcm9maWxlL25taV9pbnQuYwpAQCAtMjY5LDEyICsyNjksMTMgQEAKIAogc3RhdGljIHZvaWQgbm1pX3NodXRkb3duKHZvaWQpCiB7Ci0Jc3RydWN0IG9wX21zcnMgKm1zcnMgPSAmX19nZXRfY3B1X3ZhcihjcHVfbXNycyk7CisJc3RydWN0IG9wX21zcnMgKm1zcnMgPSAmZ2V0X2NwdV92YXIoY3B1X21zcnMpOwogCW5taV9lbmFibGVkID0gMDsKIAlvbl9lYWNoX2NwdShubWlfY3B1X3NodXRkb3duLCBOVUxMLCAwLCAxKTsKIAl1bnJlZ2lzdGVyX2RpZV9ub3RpZmllcigmcHJvZmlsZV9leGNlcHRpb25zX25iKTsKIAltb2RlbC0+c2h1dGRvd24obXNycyk7CiAJZnJlZV9tc3JzKCk7CisJcHV0X2NwdV92YXIoY3B1X21zcnMpOwogfQogCiBzdGF0aWMgdm9pZCBubWlfY3B1X3N0YXJ0KHZvaWQgKmR1bW15KQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvcGNpL01ha2VmaWxlIGIvYXJjaC94ODYvcGNpL01ha2VmaWxlCmluZGV4IGM1YzhlNDguLmU1MTVlOGQgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L3BjaS9NYWtlZmlsZQorKysgYi9hcmNoL3g4Ni9wY2kvTWFrZWZpbGUKQEAgLTEsNSArMSwxNyBAQAotaWZlcSAoJChDT05GSUdfWDg2XzMyKSx5KQotaW5jbHVkZSAke3NyY3RyZWV9L2FyY2gveDg2L3BjaS9NYWtlZmlsZV8zMgotZWxzZQotaW5jbHVkZSAke3NyY3RyZWV9L2FyY2gveDg2L3BjaS9NYWtlZmlsZV82NAotZW5kaWYKK29iai15CQkJCTo9IGkzODYubyBpbml0Lm8KKworb2JqLSQoQ09ORklHX1BDSV9CSU9TKQkJKz0gcGNiaW9zLm8KK29iai0kKENPTkZJR19QQ0lfTU1DT05GSUcpCSs9IG1tY29uZmlnXyQoQklUUykubyBkaXJlY3QubyBtbWNvbmZpZy1zaGFyZWQubworb2JqLSQoQ09ORklHX1BDSV9ESVJFQ1QpCSs9IGRpcmVjdC5vCitvYmotJChDT05GSUdfUENJX09MUEMpCQkrPSBvbHBjLm8KKworcGNpLXkJCQkJOj0gZml4dXAubworcGNpLSQoQ09ORklHX0FDUEkpCQkrPSBhY3BpLm8KK3BjaS15CQkJCSs9IGxlZ2FjeS5vIGlycS5vCisKK3BjaS0kKENPTkZJR19YODZfVklTV1MpCQkrPSB2aXN3cy5vCisKK3BjaS0kKENPTkZJR19YODZfTlVNQVEpCQkrPSBudW1hLm8KKworb2JqLXkJCQkJKz0gJChwY2kteSkgY29tbW9uLm8gZWFybHkubworb2JqLXkJCQkJKz0gYW1kX2J1cy5vCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9wY2kvTWFrZWZpbGVfMzIgYi9hcmNoL3g4Ni9wY2kvTWFrZWZpbGVfMzIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg5ZWMzNWQuLjAwMDAwMDAKLS0tIGEvYXJjaC94ODYvcGNpL01ha2VmaWxlXzMyCisrKyAvZGV2L251bGwKQEAgLTEsMjQgKzAsMCBAQAotb2JqLXkJCQkJOj0gaTM4Ni5vIGluaXQubwotCi1vYmotJChDT05GSUdfUENJX0JJT1MpCQkrPSBwY2Jpb3Mubwotb2JqLSQoQ09ORklHX1BDSV9NTUNPTkZJRykJKz0gbW1jb25maWdfMzIubyBkaXJlY3QubyBtbWNvbmZpZy1zaGFyZWQubwotb2JqLSQoQ09ORklHX1BDSV9ESVJFQ1QpCSs9IGRpcmVjdC5vCi1vYmotJChDT05GSUdfUENJX09MUEMpCQkrPSBvbHBjLm8KLQotcGNpLXkJCQkJOj0gZml4dXAubwotCi0jIERvIG5vdCBjaGFuZ2UgdGhlIG9yZGVyaW5nIGhlcmUuIFRoZXJlIGlzIGEgbmFzdHkgaW5pdCBmdW5jdGlvbgotIyBvcmRlcmluZyBkZXBlbmRlbmN5IHdoaWNoIGJyZWFrcyB3aGVuIHlvdSBtb3ZlIGFjcGkubyBiZWxvdwotIyBsZWdhY3kvaXJxLm8KLXBjaS0kKENPTkZJR19BQ1BJKQkJKz0gYWNwaS5vCi1wY2kteQkJCQkrPSBsZWdhY3kubyBpcnEubwotCi0jIENhcmVmdWw6IFZJU1dTIGFuZCBOVU1BUSBvdmVycnVsZSB0aGUgcGNpLXkgYWJvdmUuIFRoZSBjb2xvbnMgYXJlCi0jIHRoZXJlZm9yIGNvcnJlY3QuIFRoaXMgbmVlZHMgYSBwcm9wZXIgZml4IGJ5IGRpc3RhbmdsaW5nIHRoZSBjb2RlLgotcGNpLSQoQ09ORklHX1g4Nl9WSVNXUykJCTo9IHZpc3dzLm8gZml4dXAubwotcGNpLSQoQ09ORklHX1g4Nl9OVU1BUSkJCTo9IG51bWEubyBpcnEubwotCi0jIE5lY2Vzc2FyeSBmb3IgTlVNQVEgYXMgd2VsbAotcGNpLSQoQ09ORklHX05VTUEpCQkrPSBtcF9idXNfdG9fbm9kZS5vCi0KLW9iai15CQkJCSs9ICQocGNpLXkpIGNvbW1vbi5vIGVhcmx5Lm8KZGlmZiAtLWdpdCBhL2FyY2gveDg2L3BjaS9NYWtlZmlsZV82NCBiL2FyY2gveDg2L3BjaS9NYWtlZmlsZV82NApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGZiZDE5OC4uMDAwMDAwMAotLS0gYS9hcmNoL3g4Ni9wY2kvTWFrZWZpbGVfNjQKKysrIC9kZXYvbnVsbApAQCAtMSwxNyArMCwwIEBACi0jCi0jIE1ha2VmaWxlIGZvciBYODZfNjQgc3BlY2lmaWMgUENJIHJvdXRpbmVzCi0jCi0jIFJldXNlIHRoZSBpMzg2IFBDSSBzdWJzeXN0ZW0KLSMKLUVYVFJBX0NGTEFHUyArPSAtSWFyY2gveDg2L3BjaQotCi1vYmoteQkJOj0gaTM4Ni5vCi1vYmotJChDT05GSUdfUENJX0RJUkVDVCkrPSBkaXJlY3Qubwotb2JqLXkJCSs9IGZpeHVwLm8gaW5pdC5vCi1vYmotJChDT05GSUdfQUNQSSkJKz0gYWNwaS5vCi1vYmoteQkJCSs9IGxlZ2FjeS5vIGlycS5vIGNvbW1vbi5vIGVhcmx5Lm8KLSMgbW1jb25maWcgaGFzIGEgNjRiaXQgc3BlY2lhbAotb2JqLSQoQ09ORklHX1BDSV9NTUNPTkZJRykgKz0gbW1jb25maWdfNjQubyBkaXJlY3QubyBtbWNvbmZpZy1zaGFyZWQubwotCi1vYmoteQkJKz0gazgtYnVzXzY0Lm8KLQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvcGNpL2FjcGkuYyBiL2FyY2gveDg2L3BjaS9hY3BpLmMKaW5kZXggZDk1ZGUyZi4uMTlhZjA2OSAxMDA2NDQKLS0tIGEvYXJjaC94ODYvcGNpL2FjcGkuYworKysgYi9hcmNoL3g4Ni9wY2kvYWNwaS5jCkBAIC0xNzEsOCArMTcxLDExIEBACiAJaWYgKG5vZGUgIT0gLTEpCiAJCXNldF9tcF9idXNfdG9fbm9kZShidXNudW0sIG5vZGUpOwogCWVsc2UKLQkJbm9kZSA9IGdldF9tcF9idXNfdG9fbm9kZShidXNudW0pOwogI2VuZGlmCisJCW5vZGUgPSBnZXRfbXBfYnVzX3RvX25vZGUoYnVzbnVtKTsKKworCWlmIChub2RlICE9IC0xICYmICFub2RlX29ubGluZShub2RlKSkKKwkJbm9kZSA9IC0xOwogCiAJLyogQWxsb2NhdGUgcGVyLXJvb3QtYnVzIChub3QgcGVyIGJ1cykgYXJjaC1zcGVjaWZpYyBkYXRhLgogCSAqIFRPRE86IGxlYWs7IHRoaXMgbWVtb3J5IGlzIG5ldmVyIGZyZWVkLgpAQCAtMjA0LDIyICsyMDcsMjMgQEAKIAlpZiAoIWJ1cykKIAkJa2ZyZWUoc2QpOwogCisJaWYgKGJ1cyAmJiBub2RlICE9IC0xKSB7CiAjaWZkZWYgQ09ORklHX0FDUElfTlVNQQotCWlmIChidXMpIHsKLQkJaWYgKHB4bSA+PSAwKSB7CisJCWlmIChweG0gPj0gMCkKIAkJCXByaW50ayhLRVJOX0RFQlVHICJidXMgJTAyeCAtPiBweG0gJWQgLT4gbm9kZSAlZFxuIiwKLQkJCQlidXNudW0sIHB4bSwgcHhtX3RvX25vZGUocHhtKSk7Ci0JCX0KLQl9CisJCQkJYnVzbnVtLCBweG0sIG5vZGUpOworI2Vsc2UKKwkJcHJpbnRrKEtFUk5fREVCVUcgImJ1cyAlMDJ4IC0+IG5vZGUgJWRcbiIsCisJCQlidXNudW0sIG5vZGUpOwogI2VuZGlmCisJfQogCiAJaWYgKGJ1cyAmJiAocGNpX3Byb2JlICYgUENJX1VTRV9fQ1JTKSkKIAkJZ2V0X2N1cnJlbnRfcmVzb3VyY2VzKGRldmljZSwgYnVzbnVtLCBkb21haW4sIGJ1cyk7CiAJcmV0dXJuIGJ1czsKIH0KIAotZXh0ZXJuIGludCBwY2lfcm91dGVpcnE7Ci1zdGF0aWMgaW50IF9faW5pdCBwY2lfYWNwaV9pbml0KHZvaWQpCitpbnQgX19pbml0IHBjaV9hY3BpX2luaXQodm9pZCkKIHsKIAlzdHJ1Y3QgcGNpX2RldiAqZGV2ID0gTlVMTDsKIApAQCAtMjUzLDQgKzI1NywzIEBACiAKIAlyZXR1cm4gMDsKIH0KLXN1YnN5c19pbml0Y2FsbChwY2lfYWNwaV9pbml0KTsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L3BjaS9rOC1idXNfNjQuYyBiL2FyY2gveDg2L3BjaS9hbWRfYnVzLmMKc2ltaWxhcml0eSBpbmRleCA5MCUKcmVuYW1lIGZyb20gYXJjaC94ODYvcGNpL2s4LWJ1c182NC5jCnJlbmFtZSB0byBhcmNoL3g4Ni9wY2kvYW1kX2J1cy5jCmluZGV4IDVjMjc5OWMuLmExODE0MWEgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L3BjaS9rOC1idXNfNjQuYworKysgYi9hcmNoL3g4Ni9wY2kvYW1kX2J1cy5jCkBAIC0xLDQwICsxLDI1IEBACiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgogI2luY2x1ZGUgPGxpbnV4L3BjaS5oPgorI2luY2x1ZGUgPGxpbnV4L3RvcG9sb2d5Lmg+CisjaW5jbHVkZSAicGNpLmgiCisKKyNpZmRlZiBDT05GSUdfWDg2XzY0CiAjaW5jbHVkZSA8YXNtL3BjaS1kaXJlY3QuaD4KICNpbmNsdWRlIDxhc20vbXBzcGVjLmg+CiAjaW5jbHVkZSA8bGludXgvY3B1bWFzay5oPgotI2luY2x1ZGUgPGxpbnV4L3RvcG9sb2d5Lmg+CisjZW5kaWYKIAogLyoKICAqIFRoaXMgZGlzY292ZXJzIHRoZSBwY2lidXMgPC0+IG5vZGUgbWFwcGluZyBvbiBBTUQgSzguCiAgKiBhbHNvIGdldCBwZWVyIHJvb3QgYnVzIHJlc291cmNlIGZvciBpbyxtbWlvCiAgKi8KIAotCi0vKgotICogc3ViIGJ1cyAodHJhbnNwYXJlbnQpIHdpbGwgdXNlIGVudHJlcyBmcm9tIDMgdG8gc3RvcmUgZXh0cmEgZnJvbSByb290LAotICogc28gbmVlZCB0byBtYWtlIHN1cmUgaGF2ZSBlbm91Z2h0IHNsb3QgdGhlcmUsIGluY3JlYXNlIFBDSV9CVVNfTlVNX1JFU09VUkNFUz8KLSAqLwotI2RlZmluZSBSRVNfTlVNIDE2Ci1zdHJ1Y3QgcGNpX3Jvb3RfaW5mbyB7Ci0JY2hhciBuYW1lWzEyXTsKLQl1bnNpZ25lZCBpbnQgcmVzX251bTsKLQlzdHJ1Y3QgcmVzb3VyY2UgcmVzW1JFU19OVU1dOwotCWludCBidXNfbWluOwotCWludCBidXNfbWF4OwotCWludCBub2RlOwotCWludCBsaW5rOwotfTsKLQotLyogNCBhdCB0aGlzIHRpbWUsIGl0IG1heSBiZWNvbWUgdG8gMzIgKi8KLSNkZWZpbmUgUENJX1JPT1RfTlIgNAotc3RhdGljIGludCBwY2lfcm9vdF9udW07Ci1zdGF0aWMgc3RydWN0IHBjaV9yb290X2luZm8gcGNpX3Jvb3RfaW5mb1tQQ0lfUk9PVF9OUl07Ci0KICNpZmRlZiBDT05GSUdfTlVNQQogCiAjZGVmaW5lIEJVU19OUiAyNTYKIAorI2lmZGVmIENPTkZJR19YODZfNjQKKwogc3RhdGljIGludCBtcF9idXNfdG9fbm9kZVtCVVNfTlJdOwogCiB2b2lkIHNldF9tcF9idXNfdG9fbm9kZShpbnQgYnVzbnVtLCBpbnQgbm9kZSkKQEAgLTYxLDcgKzQ2LDUyIEBACiAKIAlyZXR1cm4gbm9kZTsKIH0KLSNlbmRpZgorCisjZWxzZSAvKiBDT05GSUdfWDg2XzMyICovCisKK3N0YXRpYyB1bnNpZ25lZCBjaGFyIG1wX2J1c190b19ub2RlW0JVU19OUl07CisKK3ZvaWQgc2V0X21wX2J1c190b19ub2RlKGludCBidXNudW0sIGludCBub2RlKQoreworCWlmIChidXNudW0gPj0gMCAmJiAgYnVzbnVtIDwgQlVTX05SKQorCW1wX2J1c190b19ub2RlW2J1c251bV0gPSAodW5zaWduZWQgY2hhcikgbm9kZTsKK30KKworaW50IGdldF9tcF9idXNfdG9fbm9kZShpbnQgYnVzbnVtKQoreworCWludCBub2RlOworCisJaWYgKGJ1c251bSA8IDAgfHwgYnVzbnVtID4gKEJVU19OUiAtIDEpKQorCQlyZXR1cm4gMDsKKwlub2RlID0gbXBfYnVzX3RvX25vZGVbYnVzbnVtXTsKKwlyZXR1cm4gbm9kZTsKK30KKworI2VuZGlmIC8qIENPTkZJR19YODZfMzIgKi8KKworI2VuZGlmIC8qIENPTkZJR19OVU1BICovCisKKyNpZmRlZiBDT05GSUdfWDg2XzY0CisKKy8qCisgKiBzdWIgYnVzICh0cmFuc3BhcmVudCkgd2lsbCB1c2UgZW50cmVzIGZyb20gMyB0byBzdG9yZSBleHRyYSBmcm9tIHJvb3QsCisgKiBzbyBuZWVkIHRvIG1ha2Ugc3VyZSBoYXZlIGVub3VnaHQgc2xvdCB0aGVyZSwgaW5jcmVhc2UgUENJX0JVU19OVU1fUkVTT1VSQ0VTPworICovCisjZGVmaW5lIFJFU19OVU0gMTYKK3N0cnVjdCBwY2lfcm9vdF9pbmZvIHsKKwljaGFyIG5hbWVbMTJdOworCXVuc2lnbmVkIGludCByZXNfbnVtOworCXN0cnVjdCByZXNvdXJjZSByZXNbUkVTX05VTV07CisJaW50IGJ1c19taW47CisJaW50IGJ1c19tYXg7CisJaW50IG5vZGU7CisJaW50IGxpbms7Cit9OworCisvKiA0IGF0IHRoaXMgdGltZSwgaXQgbWF5IGJlY29tZSB0byAzMiAqLworI2RlZmluZSBQQ0lfUk9PVF9OUiA0CitzdGF0aWMgaW50IHBjaV9yb290X251bTsKK3N0YXRpYyBzdHJ1Y3QgcGNpX3Jvb3RfaW5mbyBwY2lfcm9vdF9pbmZvW1BDSV9ST09UX05SXTsKIAogdm9pZCBzZXRfcGNpX2J1c19yZXNvdXJjZXNfYXJjaF9kZWZhdWx0KHN0cnVjdCBwY2lfYnVzICpiKQogewpAQCAtMzg0LDcgKzQxNCw3IEBACiAJLyogbmVlZCB0byB0YWtlIG91dCBbMCwgVE9NKSBmb3IgUkFNKi8KIAlhZGRyZXNzID0gTVNSX0s4X1RPUF9NRU0xOwogCXJkbXNybChhZGRyZXNzLCB2YWwpOwotCWVuZCA9ICh2YWwgJiAweGZmZmZmZjgwMDAwMDBVTEwpOworCWVuZCA9ICh2YWwgJiAweGZmZmZmZjgwMDAwMFVMTCk7CiAJcHJpbnRrKEtFUk5fSU5GTyAiVE9NOiAlMDE2bHggYWthICVsZE1cbiIsIGVuZCwgZW5kPj4yMCk7CiAJaWYgKGVuZCA8ICgxVUxMPDwzMikpCiAJCXVwZGF0ZV9yYW5nZShyYW5nZSwgMCwgZW5kIC0gMSk7CkBAIC00NzgsNyArNTA4LDcgQEAKIAkJLyogVE9QX01FTTIgKi8KIAkJYWRkcmVzcyA9IE1TUl9LOF9UT1BfTUVNMjsKIAkJcmRtc3JsKGFkZHJlc3MsIHZhbCk7Ci0JCWVuZCA9ICh2YWwgJiAweGZmZmZmZjgwMDAwMDBVTEwpOworCQllbmQgPSAodmFsICYgMHhmZmZmZmY4MDAwMDBVTEwpOwogCQlwcmludGsoS0VSTl9JTkZPICJUT00yOiAlMDE2bHggYWthICVsZE1cbiIsIGVuZCwgZW5kPj4yMCk7CiAJCXVwZGF0ZV9yYW5nZShyYW5nZSwgMVVMTDw8MzIsIGVuZCAtIDEpOwogCX0KQEAgLTUyNiwzICs1NTYsMzEgQEAKIH0KIAogcG9zdGNvcmVfaW5pdGNhbGwoZWFybHlfZmlsbF9tcF9idXNfaW5mbyk7CisKKyNlbmRpZgorCisvKiBjb21tb24gMzIvNjQgYml0IGNvZGUgKi8KKworI2RlZmluZSBFTkFCTEVfQ0Y4X0VYVF9DRkcgICAgICAoMVVMTCA8PCA0NikKKworc3RhdGljIHZvaWQgZW5hYmxlX3BjaV9pb19lY3NfcGVyX2NwdSh2b2lkICp1bnVzZWQpCit7CisJdTY0IHJlZzsKKwlyZG1zcmwoTVNSX0FNRDY0X05CX0NGRywgcmVnKTsKKwlpZiAoIShyZWcgJiBFTkFCTEVfQ0Y4X0VYVF9DRkcpKSB7CisJCXJlZyB8PSBFTkFCTEVfQ0Y4X0VYVF9DRkc7CisJCXdybXNybChNU1JfQU1ENjRfTkJfQ0ZHLCByZWcpOworCX0KK30KKworc3RhdGljIGludCBfX2luaXQgZW5hYmxlX3BjaV9pb19lY3Modm9pZCkKK3sKKwkvKiBhc3N1bWUgYWxsIGNwdXMgZnJvbSBmYW0xMGggaGF2ZSBJTyBFQ1MgKi8KKyAgICAgICAgaWYgKGJvb3RfY3B1X2RhdGEueDg2IDwgMHgxMCkKKwkJcmV0dXJuIDA7CisJb25fZWFjaF9jcHUoZW5hYmxlX3BjaV9pb19lY3NfcGVyX2NwdSwgTlVMTCwgMSwgMSk7CisJcGNpX3Byb2JlIHw9IFBDSV9IQVNfSU9fRUNTOworCXJldHVybiAwOworfQorCitwb3N0Y29yZV9pbml0Y2FsbChlbmFibGVfcGNpX2lvX2Vjcyk7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9wY2kvY29tbW9uLmMgYi9hcmNoL3g4Ni9wY2kvY29tbW9uLmMKaW5kZXggNmU2NGFhZi4uMjBiOWY1OSAxMDA2NDQKLS0tIGEvYXJjaC94ODYvcGNpL2NvbW1vbi5jCisrKyBiL2FyY2gveDg2L3BjaS9jb21tb24uYwpAQCAtMzg0LDcgKzM4NCw3IEBACiAKIGV4dGVybiB1OCBwY2lfY2FjaGVfbGluZV9zaXplOwogCi1zdGF0aWMgaW50IF9faW5pdCBwY2liaW9zX2luaXQodm9pZCkKK2ludCBfX2luaXQgcGNpYmlvc19pbml0KHZvaWQpCiB7CiAJc3RydWN0IGNwdWluZm9feDg2ICpjID0gJmJvb3RfY3B1X2RhdGE7CiAKQEAgLTQxMSw4ICs0MTEsNiBAQAogCXJldHVybiAwOwogfQogCi1zdWJzeXNfaW5pdGNhbGwocGNpYmlvc19pbml0KTsKLQogY2hhciAqIF9fZGV2aW5pdCAgcGNpYmlvc19zZXR1cChjaGFyICpzdHIpCiB7CiAJaWYgKCFzdHJjbXAoc3RyLCAib2ZmIikpIHsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L3BjaS9kaXJlY3QuYyBiL2FyY2gveDg2L3BjaS9kaXJlY3QuYwppbmRleCAyMWQxZTBlLi45OTE1MjkzIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9wY2kvZGlyZWN0LmMKKysrIGIvYXJjaC94ODYvcGNpL2RpcmVjdC5jCkBAIC04LDE4ICs4LDIxIEBACiAjaW5jbHVkZSAicGNpLmgiCiAKIC8qCi0gKiBGdW5jdGlvbnMgZm9yIGFjY2Vzc2luZyBQQ0kgY29uZmlndXJhdGlvbiBzcGFjZSB3aXRoIHR5cGUgMSBhY2Nlc3NlcworICogRnVuY3Rpb25zIGZvciBhY2Nlc3NpbmcgUENJIGJhc2UgKGZpcnN0IDI1NiBieXRlcykgYW5kIGV4dGVuZGVkCisgKiAoNDA5NiBieXRlcyBwZXIgUENJIGZ1bmN0aW9uKSBjb25maWd1cmF0aW9uIHNwYWNlIHdpdGggdHlwZSAxCisgKiBhY2Nlc3Nlcy4KICAqLwogCiAjZGVmaW5lIFBDSV9DT05GMV9BRERSRVNTKGJ1cywgZGV2Zm4sIHJlZykgXAotCSgweDgwMDAwMDAwIHwgKGJ1cyA8PCAxNikgfCAoZGV2Zm4gPDwgOCkgfCAocmVnICYgfjMpKQorCSgweDgwMDAwMDAwIHwgKChyZWcgJiAweEYwMCkgPDwgMTYpIHwgKGJ1cyA8PCAxNikgXAorCXwgKGRldmZuIDw8IDgpIHwgKHJlZyAmIDB4RkMpKQogCiBzdGF0aWMgaW50IHBjaV9jb25mMV9yZWFkKHVuc2lnbmVkIGludCBzZWcsIHVuc2lnbmVkIGludCBidXMsCiAJCQkgIHVuc2lnbmVkIGludCBkZXZmbiwgaW50IHJlZywgaW50IGxlbiwgdTMyICp2YWx1ZSkKIHsKIAl1bnNpZ25lZCBsb25nIGZsYWdzOwogCi0JaWYgKChidXMgPiAyNTUpIHx8IChkZXZmbiA+IDI1NSkgfHwgKHJlZyA+IDI1NSkpIHsKKwlpZiAoKGJ1cyA+IDI1NSkgfHwgKGRldmZuID4gMjU1KSB8fCAocmVnID4gNDA5NSkpIHsKIAkJKnZhbHVlID0gLTE7CiAJCXJldHVybiAtRUlOVkFMOwogCX0KQEAgLTUwLDcgKzUzLDcgQEAKIHsKIAl1bnNpZ25lZCBsb25nIGZsYWdzOwogCi0JaWYgKChidXMgPiAyNTUpIHx8IChkZXZmbiA+IDI1NSkgfHwgKHJlZyA+IDI1NSkpIAorCWlmICgoYnVzID4gMjU1KSB8fCAoZGV2Zm4gPiAyNTUpIHx8IChyZWcgPiA0MDk1KSkKIAkJcmV0dXJuIC1FSU5WQUw7CiAKIAlzcGluX2xvY2tfaXJxc2F2ZSgmcGNpX2NvbmZpZ19sb2NrLCBmbGFncyk7CkBAIC0yNjAsMTAgKzI2MywxOCBAQAogCQlyZXR1cm47CiAJcHJpbnRrKEtFUk5fSU5GTyAiUENJOiBVc2luZyBjb25maWd1cmF0aW9uIHR5cGUgJWQgZm9yIGJhc2UgYWNjZXNzXG4iLAogCQkgdHlwZSk7Ci0JaWYgKHR5cGUgPT0gMSkKKwlpZiAodHlwZSA9PSAxKSB7CiAJCXJhd19wY2lfb3BzID0gJnBjaV9kaXJlY3RfY29uZjE7Ci0JZWxzZQotCQlyYXdfcGNpX29wcyA9ICZwY2lfZGlyZWN0X2NvbmYyOworCQlpZiAocmF3X3BjaV9leHRfb3BzKQorCQkJcmV0dXJuOworCQlpZiAoIShwY2lfcHJvYmUgJiBQQ0lfSEFTX0lPX0VDUykpCisJCQlyZXR1cm47CisJCXByaW50ayhLRVJOX0lORk8gIlBDSTogVXNpbmcgY29uZmlndXJhdGlvbiB0eXBlIDEgIgorCQkgICAgICAgImZvciBleHRlbmRlZCBhY2Nlc3NcbiIpOworCQlyYXdfcGNpX2V4dF9vcHMgPSAmcGNpX2RpcmVjdF9jb25mMTsKKwkJcmV0dXJuOworCX0KKwlyYXdfcGNpX29wcyA9ICZwY2lfZGlyZWN0X2NvbmYyOwogfQogCiBpbnQgX19pbml0IHBjaV9kaXJlY3RfcHJvYmUodm9pZCkKZGlmZiAtLWdpdCBhL2FyY2gveDg2L3BjaS9pMzg2LmMgYi9hcmNoL3g4Ni9wY2kvaTM4Ni5jCmluZGV4IDEwZmIzMDguLjJhYWZiNjcgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L3BjaS9pMzg2LmMKKysrIGIvYXJjaC94ODYvcGNpL2kzODYuYwpAQCAtMjk5LDkgKzI5OSw5IEBACiAJCXJldHVybiAtRUlOVkFMOwogCiAJcHJvdCA9IHBncHJvdF92YWwodm1hLT52bV9wYWdlX3Byb3QpOwotCWlmIChwYXRfd2NfZW5hYmxlZCAmJiB3cml0ZV9jb21iaW5lKQorCWlmIChwYXRfZW5hYmxlZCAmJiB3cml0ZV9jb21iaW5lKQogCQlwcm90IHw9IF9QQUdFX0NBQ0hFX1dDOwotCWVsc2UgaWYgKHBhdF93Y19lbmFibGVkIHx8IGJvb3RfY3B1X2RhdGEueDg2ID4gMykKKwllbHNlIGlmIChwYXRfZW5hYmxlZCB8fCBib290X2NwdV9kYXRhLng4NiA+IDMpCiAJCS8qCiAJCSAqIGlvcmVtYXAoKSBhbmQgaW9yZW1hcF9ub2NhY2hlKCkgZGVmYXVsdHMgdG8gVUMgTUlOVVMgZm9yIG5vdy4KIAkJICogVG8gYXZvaWQgYXR0cmlidXRlIGNvbmZsaWN0cywgcmVxdWVzdCBVQyBNSU5VUyBoZXJlCkBAIC0zMzQsNyArMzM0LDkgQEAKIAkJZmxhZ3MgPSBuZXdfZmxhZ3M7CiAJfQogCi0JaWYgKHZtYS0+dm1fcGdvZmYgPD0gbWF4X3Bmbl9tYXBwZWQgJiYKKwlpZiAoKCh2bWEtPnZtX3Bnb2ZmIDwgbWF4X2xvd19wZm5fbWFwcGVkKSB8fAorCSAgICAgKHZtYS0+dm1fcGdvZmYgPj0gKDFVTDw8KDMyIC0gUEFHRV9TSElGVCkpICYmCisJICAgICAgdm1hLT52bV9wZ29mZiA8IG1heF9wZm5fbWFwcGVkKSkgJiYKIAkgICAgaW9yZW1hcF9jaGFuZ2VfYXR0cigodW5zaWduZWQgbG9uZylfX3ZhKGFkZHIpLCBsZW4sIGZsYWdzKSkgewogCQlmcmVlX21lbXR5cGUoYWRkciwgYWRkciArIGxlbik7CiAJCXJldHVybiAtRUlOVkFMOwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvcGNpL2luaXQuYyBiL2FyY2gveDg2L3BjaS9pbml0LmMKaW5kZXggYjgyMWY0NC4uZDZjOTUwZiAxMDA2NDQKLS0tIGEvYXJjaC94ODYvcGNpL2luaXQuYworKysgYi9hcmNoL3g4Ni9wY2kvaW5pdC5jCkBAIC00LDcgKzQsNyBAQAogCiAvKiBhcmNoX2luaXRjYWxsIGhhcyB0b28gcmFuZG9tIG9yZGVyaW5nLCBzbyBjYWxsIHRoZSBpbml0aWFsaXplcnMKICAgIGluIHRoZSByaWdodCBzZXF1ZW5jZSBmcm9tIGhlcmUuICovCi1zdGF0aWMgX19pbml0IGludCBwY2lfYWNjZXNzX2luaXQodm9pZCkKK3N0YXRpYyBfX2luaXQgaW50IHBjaV9hcmNoX2luaXQodm9pZCkKIHsKICNpZmRlZiBDT05GSUdfUENJX0RJUkVDVAogCWludCB0eXBlID0gMDsKQEAgLTQwLDQgKzQwLDQgQEAKIAogCXJldHVybiAwOwogfQotYXJjaF9pbml0Y2FsbChwY2lfYWNjZXNzX2luaXQpOworYXJjaF9pbml0Y2FsbChwY2lfYXJjaF9pbml0KTsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L3BjaS9pcnEuYyBiL2FyY2gveDg2L3BjaS9pcnEuYwppbmRleCBjYThkZjljLi5kYzU2OGM2IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9wY2kvaXJxLmMKKysrIGIvYXJjaC94ODYvcGNpL2lycS5jCkBAIC0xMSw4ICsxMSw4IEBACiAjaW5jbHVkZSA8bGludXgvc2xhYi5oPgogI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgogI2luY2x1ZGUgPGxpbnV4L2RtaS5oPgotI2luY2x1ZGUgPGFzbS9pby5oPgotI2luY2x1ZGUgPGFzbS9zbXAuaD4KKyNpbmNsdWRlIDxsaW51eC9pby5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcC5oPgogI2luY2x1ZGUgPGFzbS9pb19hcGljLmg+CiAjaW5jbHVkZSA8bGludXgvaXJxLmg+CiAjaW5jbHVkZSA8bGludXgvYWNwaS5oPgpAQCAtNjEsNyArNjEsNyBAQAogICogIGFuZCBwZXJmb3JtIGNoZWNrc3VtIHZlcmlmaWNhdGlvbi4KICAqLwogCi1zdGF0aWMgaW5saW5lIHN0cnVjdCBpcnFfcm91dGluZ190YWJsZSAqIHBpcnFfY2hlY2tfcm91dGluZ190YWJsZSh1OCAqYWRkcikKK3N0YXRpYyBpbmxpbmUgc3RydWN0IGlycV9yb3V0aW5nX3RhYmxlICpwaXJxX2NoZWNrX3JvdXRpbmdfdGFibGUodTggKmFkZHIpCiB7CiAJc3RydWN0IGlycV9yb3V0aW5nX3RhYmxlICpydDsKIAlpbnQgaTsKQEAgLTc0LDcgKzc0LDcgQEAKIAkgICAgcnQtPnNpemUgPCBzaXplb2Yoc3RydWN0IGlycV9yb3V0aW5nX3RhYmxlKSkKIAkJcmV0dXJuIE5VTEw7CiAJc3VtID0gMDsKLQlmb3IgKGk9MDsgaSA8IHJ0LT5zaXplOyBpKyspCisJZm9yIChpID0gMDsgaSA8IHJ0LT5zaXplOyBpKyspCiAJCXN1bSArPSBhZGRyW2ldOwogCWlmICghc3VtKSB7CiAJCURCRyhLRVJOX0RFQlVHICJQQ0k6IEludGVycnVwdCBSb3V0aW5nIFRhYmxlIGZvdW5kIGF0IDB4JXBcbiIsIHJ0KTsKQEAgLTEwMCw3ICsxMDAsNyBAQAogCQkJcmV0dXJuIHJ0OwogCQlwcmludGsoS0VSTl9XQVJOSU5HICJQQ0k6IFBJUlEgdGFibGUgTk9UIGZvdW5kIGF0IHBpcnFhZGRyXG4iKTsKIAl9Ci0JZm9yKGFkZHIgPSAodTggKikgX192YSgweGYwMDAwKTsgYWRkciA8ICh1OCAqKSBfX3ZhKDB4MTAwMDAwKTsgYWRkciArPSAxNikgeworCWZvciAoYWRkciA9ICh1OCAqKSBfX3ZhKDB4ZjAwMDApOyBhZGRyIDwgKHU4ICopIF9fdmEoMHgxMDAwMDApOyBhZGRyICs9IDE2KSB7CiAJCXJ0ID0gcGlycV9jaGVja19yb3V0aW5nX3RhYmxlKGFkZHIpOwogCQlpZiAocnQpCiAJCQlyZXR1cm4gcnQ7CkBAIC0xMjIsMjAgKzEyMiwyMCBAQAogCXN0cnVjdCBpcnFfaW5mbyAqZTsKIAogCW1lbXNldChidXNtYXAsIDAsIHNpemVvZihidXNtYXApKTsKLQlmb3IoaT0wOyBpIDwgKHJ0LT5zaXplIC0gc2l6ZW9mKHN0cnVjdCBpcnFfcm91dGluZ190YWJsZSkpIC8gc2l6ZW9mKHN0cnVjdCBpcnFfaW5mbyk7IGkrKykgeworCWZvciAoaSA9IDA7IGkgPCAocnQtPnNpemUgLSBzaXplb2Yoc3RydWN0IGlycV9yb3V0aW5nX3RhYmxlKSkgLyBzaXplb2Yoc3RydWN0IGlycV9pbmZvKTsgaSsrKSB7CiAJCWUgPSAmcnQtPnNsb3RzW2ldOwogI2lmZGVmIERFQlVHCiAJCXsKIAkJCWludCBqOwogCQkJREJHKEtFUk5fREVCVUcgIiUwMng6JTAyeCBzbG90PSUwMngiLCBlLT5idXMsIGUtPmRldmZuLzgsIGUtPnNsb3QpOwotCQkJZm9yKGo9MDsgajw0OyBqKyspCisJCQlmb3IgKGogPSAwOyBqIDwgNDsgaisrKQogCQkJCURCRygiICVkOiUwMngvJTA0eCIsIGosIGUtPmlycVtqXS5saW5rLCBlLT5pcnFbal0uYml0bWFwKTsKIAkJCURCRygiXG4iKTsKIAkJfQogI2VuZGlmCiAJCWJ1c21hcFtlLT5idXNdID0gMTsKIAl9Ci0JZm9yKGkgPSAxOyBpIDwgMjU2OyBpKyspIHsKKwlmb3IgKGkgPSAxOyBpIDwgMjU2OyBpKyspIHsKIAkJaW50IG5vZGU7CiAJCWlmICghYnVzbWFwW2ldIHx8IHBjaV9maW5kX2J1cygwLCBpKSkKIAkJCWNvbnRpbnVlOwpAQCAtMjg1LDcgKzI4NSw3IEBACiAJc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgcGlycW1hcFs0XSA9IHsgMSwgMCwgMiwgMyB9OwogCiAJV0FSTl9PTl9PTkNFKHBpcnEgPiA0KTsKLQlyZXR1cm4gcmVhZF9jb25maWdfbnliYmxlKHJvdXRlciwweDQzLCBwaXJxbWFwW3BpcnEtMV0pOworCXJldHVybiByZWFkX2NvbmZpZ19ueWJibGUocm91dGVyLCAweDQzLCBwaXJxbWFwW3BpcnEtMV0pOwogfQogCiBzdGF0aWMgaW50IHBpcnFfaXRlX3NldChzdHJ1Y3QgcGNpX2RldiAqcm91dGVyLCBzdHJ1Y3QgcGNpX2RldiAqZGV2LCBpbnQgcGlycSwgaW50IGlycSkKQEAgLTMxNCw3ICszMTQsNyBAQAogCiAvKgogICogQ3lyaXg6IG5pYmJsZSBvZmZzZXQgMHg1QwotICogMHg1QyBiaXRzIDc6NCBpcyBJTlRCIGJpdHMgMzowIGlzIElOVEEgCisgKiAweDVDIGJpdHMgNzo0IGlzIElOVEIgYml0cyAzOjAgaXMgSU5UQQogICogMHg1RCBiaXRzIDc6NCBpcyBJTlREIGJpdHMgMzowIGlzIElOVEMKICAqLwogc3RhdGljIGludCBwaXJxX2N5cml4X2dldChzdHJ1Y3QgcGNpX2RldiAqcm91dGVyLCBzdHJ1Y3QgcGNpX2RldiAqZGV2LCBpbnQgcGlycSkKQEAgLTM1MCw3ICszNTAsNyBAQAogICoJQXBwYXJlbnRseSB0aGVyZSBhcmUgc3lzdGVtcyBpbXBsZW1lbnRpbmcgUENJIHJvdXRpbmcgdGFibGUgdXNpbmcKICAqCWxpbmsgdmFsdWVzIDB4MDEtMHgwNCBhbmQgb3RoZXJzIHVzaW5nIDB4NDEtMHg0NCBmb3IgUENJIElOVEEuLkQuCiAgKglXZSB0cnkgb3VyIGJlc3QgdG8gaGFuZGxlIGJvdGggbGluayBtYXBwaW5ncy4KLSAqCQorICoKICAqCUN1cnJlbnRseSAoMjAwMy0wNS0yMSkgaXQgYXBwZWFycyBtb3N0IFNpUyBjaGlwc2V0cyBmb2xsb3cgdGhlCiAgKglkZWZpbml0aW9uIG9mIHJvdXRpbmcgcmVnaXN0ZXJzIGZyb20gdGhlIFNpUy01NTk1IHNvdXRoYnJpZGdlLgogICoJQWNjb3JkaW5nIHRvIHRoZSBTaVMgNTU5NSBkYXRhc2hlZXRzIHRoZSByZXZpc2lvbiBpZCdzIG9mIHRoZQpAQCAtMzcwLDcgKzM3MCw3IEBACiAgKgogICoJMHg2MjoJVVNCSVJROgogICoJCWJpdCA2IE9IQ0kgZnVuY3Rpb24gZGlzYWJsZWQgKDApLCBlbmFibGVkICgxKQotICoJCisgKgogICoJMHg2YToJQUNQSS9TQ0kgSVJROiBiaXRzIDQtNiByZXNlcnZlZAogICoKICAqCTB4N2U6CURhdGEgQWNxLiBNb2R1bGUgSVJRIC0gYml0cyA0LTYgcmVzZXJ2ZWQKQEAgLTQ4Nyw5ICs0ODcsNyBAQAogCXU4IGlycTsKIAlpcnEgPSAwOwogCWlmIChwaXJxIDw9IDQpCi0JewogCQlpcnEgPSByZWFkX2NvbmZpZ19ueWJibGUocm91dGVyLCAweDU2LCBwaXJxIC0gMSk7Ci0JfQogCXByaW50ayhLRVJOX0lORk8gIkFNRDc1NjogZGV2ICUwNHg6JTA0eCwgcm91dGVyIHBpcnEgOiAlZCBnZXQgaXJxIDogJTJkXG4iLAogCQlkZXYtPnZlbmRvciwgZGV2LT5kZXZpY2UsIHBpcnEsIGlycSk7CiAJcmV0dXJuIGlycTsKQEAgLTQ5NywxMiArNDk1LDEwIEBACiAKIHN0YXRpYyBpbnQgcGlycV9hbWQ3NTZfc2V0KHN0cnVjdCBwY2lfZGV2ICpyb3V0ZXIsIHN0cnVjdCBwY2lfZGV2ICpkZXYsIGludCBwaXJxLCBpbnQgaXJxKQogewotCXByaW50ayhLRVJOX0lORk8gIkFNRDc1NjogZGV2ICUwNHg6JTA0eCwgcm91dGVyIHBpcnEgOiAlZCBTRVQgaXJxIDogJTJkXG4iLCAKKwlwcmludGsoS0VSTl9JTkZPICJBTUQ3NTY6IGRldiAlMDR4OiUwNHgsIHJvdXRlciBwaXJxIDogJWQgU0VUIGlycSA6ICUyZFxuIiwKIAkJZGV2LT52ZW5kb3IsIGRldi0+ZGV2aWNlLCBwaXJxLCBpcnEpOwogCWlmIChwaXJxIDw9IDQpCi0JewogCQl3cml0ZV9jb25maWdfbnliYmxlKHJvdXRlciwgMHg1NiwgcGlycSAtIDEsIGlycSk7Ci0JfQogCXJldHVybiAxOwogfQogCkBAIC01NDksNTAgKzU0NSw0OSBAQAogCWlmIChwY2lfZGV2X3ByZXNlbnQocGlycV80NDBneCkpCiAJCXJldHVybiAwOwogCi0Jc3dpdGNoKGRldmljZSkKLQl7Ci0JCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF84MjM3MUZCXzA6Ci0JCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF84MjM3MVNCXzA6Ci0JCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF84MjM3MUFCXzA6Ci0JCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF84MjM3MU1YOgotCQljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfODI0NDNNWF8wOgotCQljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfODI4MDFBQV8wOgotCQljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfODI4MDFBQl8wOgotCQljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfODI4MDFCQV8wOgotCQljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfODI4MDFCQV8xMDoKLQkJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMXzgyODAxQ0FfMDoKLQkJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMXzgyODAxQ0FfMTI6Ci0JCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF84MjgwMURCXzA6Ci0JCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF84MjgwMUVfMDoKLQkJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMXzgyODAxRUJfMDoKLQkJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMX0VTQl8xOgotCQljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfSUNINl8wOgotCQljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfSUNINl8xOgotCQljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfSUNIN18wOgotCQljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfSUNIN18xOgotCQljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfSUNIN18zMDoKLQkJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMX0lDSDdfMzE6Ci0JCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF9FU0IyXzA6Ci0JCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF9JQ0g4XzA6Ci0JCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF9JQ0g4XzE6Ci0JCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF9JQ0g4XzI6Ci0JCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF9JQ0g4XzM6Ci0JCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF9JQ0g4XzQ6Ci0JCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF9JQ0g5XzA6Ci0JCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF9JQ0g5XzE6Ci0JCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF9JQ0g5XzI6Ci0JCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF9JQ0g5XzM6Ci0JCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF9JQ0g5XzQ6Ci0JCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF9JQ0g5XzU6Ci0JCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF9UT0xBUEFJXzA6Ci0JCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF9JQ0gxMF8wOgotCQljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfSUNIMTBfMToKLQkJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMX0lDSDEwXzI6Ci0JCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF9JQ0gxMF8zOgotCQkJci0+bmFtZSA9ICJQSUlYL0lDSCI7Ci0JCQlyLT5nZXQgPSBwaXJxX3BpaXhfZ2V0OwotCQkJci0+c2V0ID0gcGlycV9waWl4X3NldDsKLQkJCXJldHVybiAxOworCXN3aXRjaCAoZGV2aWNlKSB7CisJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMXzgyMzcxRkJfMDoKKwljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfODIzNzFTQl8wOgorCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF84MjM3MUFCXzA6CisJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMXzgyMzcxTVg6CisJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMXzgyNDQzTVhfMDoKKwljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfODI4MDFBQV8wOgorCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF84MjgwMUFCXzA6CisJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMXzgyODAxQkFfMDoKKwljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfODI4MDFCQV8xMDoKKwljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfODI4MDFDQV8wOgorCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF84MjgwMUNBXzEyOgorCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF84MjgwMURCXzA6CisJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMXzgyODAxRV8wOgorCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF84MjgwMUVCXzA6CisJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMX0VTQl8xOgorCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF9JQ0g2XzA6CisJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMX0lDSDZfMToKKwljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfSUNIN18wOgorCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF9JQ0g3XzE6CisJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMX0lDSDdfMzA6CisJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMX0lDSDdfMzE6CisJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMX0VTQjJfMDoKKwljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfSUNIOF8wOgorCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF9JQ0g4XzE6CisJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMX0lDSDhfMjoKKwljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfSUNIOF8zOgorCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF9JQ0g4XzQ6CisJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMX0lDSDlfMDoKKwljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfSUNIOV8xOgorCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF9JQ0g5XzI6CisJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMX0lDSDlfMzoKKwljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfSUNIOV80OgorCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF9JQ0g5XzU6CisJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMX1RPTEFQQUlfMDoKKwljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfSUNIMTBfMDoKKwljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfSUNIMTBfMToKKwljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfSUNIMTBfMjoKKwljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfSUNIMTBfMzoKKwkJci0+bmFtZSA9ICJQSUlYL0lDSCI7CisJCXItPmdldCA9IHBpcnFfcGlpeF9nZXQ7CisJCXItPnNldCA9IHBpcnFfcGlpeF9zZXQ7CisJCXJldHVybiAxOwogCX0KIAlyZXR1cm4gMDsKIH0KQEAgLTYwNiw3ICs2MDEsNyBAQAogCSAqIHdvcmthcm91bmRzIGZvciBzb21lIGJ1Z2d5IEJJT1NlcwogCSAqLwogCWlmIChkZXZpY2UgPT0gUENJX0RFVklDRV9JRF9WSUFfODJDNTg2XzApIHsKLQkJc3dpdGNoKHJvdXRlci0+ZGV2aWNlKSB7CisJCXN3aXRjaCAocm91dGVyLT5kZXZpY2UpIHsKIAkJY2FzZSBQQ0lfREVWSUNFX0lEX1ZJQV84MkM2ODY6CiAJCQkvKgogCQkJICogQXN1cyBrN20gYmlvcyB3cm9uZ2x5IHJlcG9ydHMgODJDNjg2QQpAQCAtNjMxLDcgKzYyNiw3IEBACiAJCX0KIAl9CiAKLQlzd2l0Y2goZGV2aWNlKSB7CisJc3dpdGNoIChkZXZpY2UpIHsKIAljYXNlIFBDSV9ERVZJQ0VfSURfVklBXzgyQzU4Nl8wOgogCQlyLT5uYW1lID0gIlZJQSI7CiAJCXItPmdldCA9IHBpcnFfdmlhNTg2X2dldDsKQEAgLTY1NCwxMyArNjQ5LDEyIEBACiAKIHN0YXRpYyBfX2luaXQgaW50IHZsc2lfcm91dGVyX3Byb2JlKHN0cnVjdCBpcnFfcm91dGVyICpyLCBzdHJ1Y3QgcGNpX2RldiAqcm91dGVyLCB1MTYgZGV2aWNlKQogewotCXN3aXRjaChkZXZpY2UpCi0JewotCQljYXNlIFBDSV9ERVZJQ0VfSURfVkxTSV84MkM1MzQ6Ci0JCQlyLT5uYW1lID0gIlZMU0kgODJDNTM0IjsKLQkJCXItPmdldCA9IHBpcnFfdmxzaV9nZXQ7Ci0JCQlyLT5zZXQgPSBwaXJxX3Zsc2lfc2V0OwotCQkJcmV0dXJuIDE7CisJc3dpdGNoIChkZXZpY2UpIHsKKwljYXNlIFBDSV9ERVZJQ0VfSURfVkxTSV84MkM1MzQ6CisJCXItPm5hbWUgPSAiVkxTSSA4MkM1MzQiOworCQlyLT5nZXQgPSBwaXJxX3Zsc2lfZ2V0OworCQlyLT5zZXQgPSBwaXJxX3Zsc2lfc2V0OworCQlyZXR1cm4gMTsKIAl9CiAJcmV0dXJuIDA7CiB9CkBAIC02NjgsMTQgKzY2MiwxMyBAQAogCiBzdGF0aWMgX19pbml0IGludCBzZXJ2ZXJ3b3Jrc19yb3V0ZXJfcHJvYmUoc3RydWN0IGlycV9yb3V0ZXIgKnIsIHN0cnVjdCBwY2lfZGV2ICpyb3V0ZXIsIHUxNiBkZXZpY2UpCiB7Ci0Jc3dpdGNoKGRldmljZSkKLQl7Ci0JCWNhc2UgUENJX0RFVklDRV9JRF9TRVJWRVJXT1JLU19PU0I0OgotCQljYXNlIFBDSV9ERVZJQ0VfSURfU0VSVkVSV09SS1NfQ1NCNToKLQkJCXItPm5hbWUgPSAiU2VydmVyV29ya3MiOwotCQkJci0+Z2V0ID0gcGlycV9zZXJ2ZXJ3b3Jrc19nZXQ7Ci0JCQlyLT5zZXQgPSBwaXJxX3NlcnZlcndvcmtzX3NldDsKLQkJCXJldHVybiAxOworCXN3aXRjaCAoZGV2aWNlKSB7CisJY2FzZSBQQ0lfREVWSUNFX0lEX1NFUlZFUldPUktTX09TQjQ6CisJY2FzZSBQQ0lfREVWSUNFX0lEX1NFUlZFUldPUktTX0NTQjU6CisJCXItPm5hbWUgPSAiU2VydmVyV29ya3MiOworCQlyLT5nZXQgPSBwaXJxX3NlcnZlcndvcmtzX2dldDsKKwkJci0+c2V0ID0gcGlycV9zZXJ2ZXJ3b3Jrc19zZXQ7CisJCXJldHVybiAxOwogCX0KIAlyZXR1cm4gMDsKIH0KQEAgLTY4NCw3ICs2NzcsNyBAQAogewogCWlmIChkZXZpY2UgIT0gUENJX0RFVklDRV9JRF9TSV81MDMpCiAJCXJldHVybiAwOwotCQkKKwogCXItPm5hbWUgPSAiU0lTIjsKIAlyLT5nZXQgPSBwaXJxX3Npc19nZXQ7CiAJci0+c2V0ID0gcGlycV9zaXNfc2V0OwpAQCAtNjkzLDQ3ICs2ODYsNDMgQEAKIAogc3RhdGljIF9faW5pdCBpbnQgY3lyaXhfcm91dGVyX3Byb2JlKHN0cnVjdCBpcnFfcm91dGVyICpyLCBzdHJ1Y3QgcGNpX2RldiAqcm91dGVyLCB1MTYgZGV2aWNlKQogewotCXN3aXRjaChkZXZpY2UpCi0JewotCQljYXNlIFBDSV9ERVZJQ0VfSURfQ1lSSVhfNTUyMDoKLQkJCXItPm5hbWUgPSAiTmF0U2VtaSI7Ci0JCQlyLT5nZXQgPSBwaXJxX2N5cml4X2dldDsKLQkJCXItPnNldCA9IHBpcnFfY3lyaXhfc2V0OwotCQkJcmV0dXJuIDE7CisJc3dpdGNoIChkZXZpY2UpIHsKKwljYXNlIFBDSV9ERVZJQ0VfSURfQ1lSSVhfNTUyMDoKKwkJci0+bmFtZSA9ICJOYXRTZW1pIjsKKwkJci0+Z2V0ID0gcGlycV9jeXJpeF9nZXQ7CisJCXItPnNldCA9IHBpcnFfY3lyaXhfc2V0OworCQlyZXR1cm4gMTsKIAl9CiAJcmV0dXJuIDA7CiB9CiAKIHN0YXRpYyBfX2luaXQgaW50IG9wdGlfcm91dGVyX3Byb2JlKHN0cnVjdCBpcnFfcm91dGVyICpyLCBzdHJ1Y3QgcGNpX2RldiAqcm91dGVyLCB1MTYgZGV2aWNlKQogewotCXN3aXRjaChkZXZpY2UpCi0JewotCQljYXNlIFBDSV9ERVZJQ0VfSURfT1BUSV84MkM3MDA6Ci0JCQlyLT5uYW1lID0gIk9QVEkiOwotCQkJci0+Z2V0ID0gcGlycV9vcHRpX2dldDsKLQkJCXItPnNldCA9IHBpcnFfb3B0aV9zZXQ7Ci0JCQlyZXR1cm4gMTsKKwlzd2l0Y2ggKGRldmljZSkgeworCWNhc2UgUENJX0RFVklDRV9JRF9PUFRJXzgyQzcwMDoKKwkJci0+bmFtZSA9ICJPUFRJIjsKKwkJci0+Z2V0ID0gcGlycV9vcHRpX2dldDsKKwkJci0+c2V0ID0gcGlycV9vcHRpX3NldDsKKwkJcmV0dXJuIDE7CiAJfQogCXJldHVybiAwOwogfQogCiBzdGF0aWMgX19pbml0IGludCBpdGVfcm91dGVyX3Byb2JlKHN0cnVjdCBpcnFfcm91dGVyICpyLCBzdHJ1Y3QgcGNpX2RldiAqcm91dGVyLCB1MTYgZGV2aWNlKQogewotCXN3aXRjaChkZXZpY2UpCi0JewotCQljYXNlIFBDSV9ERVZJQ0VfSURfSVRFX0lUODMzMEdfMDoKLQkJCXItPm5hbWUgPSAiSVRFIjsKLQkJCXItPmdldCA9IHBpcnFfaXRlX2dldDsKLQkJCXItPnNldCA9IHBpcnFfaXRlX3NldDsKLQkJCXJldHVybiAxOworCXN3aXRjaCAoZGV2aWNlKSB7CisJY2FzZSBQQ0lfREVWSUNFX0lEX0lURV9JVDgzMzBHXzA6CisJCXItPm5hbWUgPSAiSVRFIjsKKwkJci0+Z2V0ID0gcGlycV9pdGVfZ2V0OworCQlyLT5zZXQgPSBwaXJxX2l0ZV9zZXQ7CisJCXJldHVybiAxOwogCX0KIAlyZXR1cm4gMDsKIH0KIAogc3RhdGljIF9faW5pdCBpbnQgYWxpX3JvdXRlcl9wcm9iZShzdHJ1Y3QgaXJxX3JvdXRlciAqciwgc3RydWN0IHBjaV9kZXYgKnJvdXRlciwgdTE2IGRldmljZSkKIHsKLQlzd2l0Y2goZGV2aWNlKQotCXsKKwlzd2l0Y2ggKGRldmljZSkgewogCWNhc2UgUENJX0RFVklDRV9JRF9BTF9NMTUzMzoKIAljYXNlIFBDSV9ERVZJQ0VfSURfQUxfTTE1NjM6CiAJCXByaW50ayhLRVJOX0RFQlVHICJQQ0k6IFVzaW5nIEFMSSBJUlEgUm91dGVyXG4iKTsKQEAgLTc0NywyNSArNzM2LDI0IEBACiAKIHN0YXRpYyBfX2luaXQgaW50IGFtZF9yb3V0ZXJfcHJvYmUoc3RydWN0IGlycV9yb3V0ZXIgKnIsIHN0cnVjdCBwY2lfZGV2ICpyb3V0ZXIsIHUxNiBkZXZpY2UpCiB7Ci0Jc3dpdGNoKGRldmljZSkKLQl7Ci0JCWNhc2UgUENJX0RFVklDRV9JRF9BTURfVklQRVJfNzQwQjoKLQkJCXItPm5hbWUgPSAiQU1ENzU2IjsKLQkJCWJyZWFrOwotCQljYXNlIFBDSV9ERVZJQ0VfSURfQU1EX1ZJUEVSXzc0MTM6Ci0JCQlyLT5uYW1lID0gIkFNRDc2NiI7Ci0JCQlicmVhazsKLQkJY2FzZSBQQ0lfREVWSUNFX0lEX0FNRF9WSVBFUl83NDQzOgotCQkJci0+bmFtZSA9ICJBTUQ3NjgiOwotCQkJYnJlYWs7Ci0JCWRlZmF1bHQ6Ci0JCQlyZXR1cm4gMDsKKwlzd2l0Y2ggKGRldmljZSkgeworCWNhc2UgUENJX0RFVklDRV9JRF9BTURfVklQRVJfNzQwQjoKKwkJci0+bmFtZSA9ICJBTUQ3NTYiOworCQlicmVhazsKKwljYXNlIFBDSV9ERVZJQ0VfSURfQU1EX1ZJUEVSXzc0MTM6CisJCXItPm5hbWUgPSAiQU1ENzY2IjsKKwkJYnJlYWs7CisJY2FzZSBQQ0lfREVWSUNFX0lEX0FNRF9WSVBFUl83NDQzOgorCQlyLT5uYW1lID0gIkFNRDc2OCI7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCXJldHVybiAwOwogCX0KIAlyLT5nZXQgPSBwaXJxX2FtZDc1Nl9nZXQ7CiAJci0+c2V0ID0gcGlycV9hbWQ3NTZfc2V0OwogCXJldHVybiAxOwogfQotCQkKKwogc3RhdGljIF9faW5pdCBpbnQgcGljb19yb3V0ZXJfcHJvYmUoc3RydWN0IGlycV9yb3V0ZXIgKnIsIHN0cnVjdCBwY2lfZGV2ICpyb3V0ZXIsIHUxNiBkZXZpY2UpCiB7CiAJc3dpdGNoIChkZXZpY2UpIHsKQEAgLTgwNyw3ICs3OTUsNyBAQAogICoJRklYTUU6IHNob3VsZCB3ZSBoYXZlIGFuIG9wdGlvbiB0byBzYXkgImdlbmVyaWMgZm9yCiAgKgljaGlwc2V0IiA/CiAgKi8KLSAKKwogc3RhdGljIHZvaWQgX19pbml0IHBpcnFfZmluZF9yb3V0ZXIoc3RydWN0IGlycV9yb3V0ZXIgKnIpCiB7CiAJc3RydWN0IGlycV9yb3V0aW5nX3RhYmxlICpydCA9IHBpcnFfdGFibGU7CkBAIC04MjYsNyArODE0LDcgQEAKIAlyLT5uYW1lID0gImRlZmF1bHQiOwogCXItPmdldCA9IE5VTEw7CiAJci0+c2V0ID0gTlVMTDsKLQkKKwogCURCRyhLRVJOX0RFQlVHICJQQ0k6IEF0dGVtcHRpbmcgdG8gZmluZCBJUlEgcm91dGVyIGZvciAlMDR4OiUwNHhcbiIsCiAJICAgIHJ0LT5ydHJfdmVuZG9yLCBydC0+cnRyX2RldmljZSk7CiAKQEAgLTgzNyw3ICs4MjUsNyBAQAogCQlyZXR1cm47CiAJfQogCi0JZm9yKCBoID0gcGlycV9yb3V0ZXJzOyBoLT52ZW5kb3I7IGgrKykgeworCWZvciAoaCA9IHBpcnFfcm91dGVyczsgaC0+dmVuZG9yOyBoKyspIHsKIAkJLyogRmlyc3QgbG9vayBmb3IgYSByb3V0ZXIgbWF0Y2ggKi8KIAkJaWYgKHJ0LT5ydHJfdmVuZG9yID09IGgtPnZlbmRvciAmJiBoLT5wcm9iZShyLCBwaXJxX3JvdXRlcl9kZXYsIHJ0LT5ydHJfZGV2aWNlKSkKIAkJCWJyZWFrOwpAQCAtODg5LDcgKzg3Nyw3IEBACiAKIAlpZiAoIXBpcnFfdGFibGUpCiAJCXJldHVybiAwOwotCQorCiAJREJHKEtFUk5fREVCVUcgIklSUSBmb3IgJXNbJWNdIiwgcGNpX25hbWUoZGV2KSwgJ0EnICsgcGluKTsKIAlpbmZvID0gcGlycV9nZXRfaW5mbyhkZXYpOwogCWlmICghaW5mbykgewpAQCAtOTI4LDggKzkxNiwxMCBAQAogCSAqLwogCW5ld2lycSA9IGRldi0+aXJxOwogCWlmIChuZXdpcnEgJiYgISgoMSA8PCBuZXdpcnEpICYgbWFzaykpIHsKLQkJaWYgKCBwY2lfcHJvYmUgJiBQQ0lfVVNFX1BJUlFfTUFTSykgbmV3aXJxID0gMDsKLQkJZWxzZSBwcmludGsoIlxuIiBLRVJOX1dBUk5JTkcKKwkJaWYgKHBjaV9wcm9iZSAmIFBDSV9VU0VfUElSUV9NQVNLKQorCQkJbmV3aXJxID0gMDsKKwkJZWxzZQorCQkJcHJpbnRrKCJcbiIgS0VSTl9XQVJOSU5HCiAJCQkiUENJOiBJUlEgJWkgZm9yIGRldmljZSAlcyBkb2Vzbid0IG1hdGNoIFBJUlEgbWFzayAiCiAJCQkiLSB0cnkgcGNpPXVzZXBpcnFtYXNrXG4iIEtFUk5fREVCVUcsIG5ld2lycSwKIAkJCXBjaV9uYW1lKGRldikpOwpAQCAtOTQ5LDggKzkzOSw4IEBACiAJCWlycSA9IHBpcnEgJiAweGY7CiAJCURCRygiIC0+IGhhcmRjb2RlZCBJUlEgJWRcbiIsIGlycSk7CiAJCW1zZyA9ICJIYXJkY29kZWQiOwotCX0gZWxzZSBpZiAoIHItPmdldCAmJiAoaXJxID0gci0+Z2V0KHBpcnFfcm91dGVyX2RldiwgZGV2LCBwaXJxKSkgJiYgXAotCSgoIShwY2lfcHJvYmUgJiBQQ0lfVVNFX1BJUlFfTUFTSykpIHx8ICgoMSA8PCBpcnEpICYgbWFzaykpICkgeworCX0gZWxzZSBpZiAoci0+Z2V0ICYmIChpcnEgPSByLT5nZXQocGlycV9yb3V0ZXJfZGV2LCBkZXYsIHBpcnEpKSAmJiBcCisJKCghKHBjaV9wcm9iZSAmIFBDSV9VU0VfUElSUV9NQVNLKSkgfHwgKCgxIDw8IGlycSkgJiBtYXNrKSkpIHsKIAkJREJHKCIgLT4gZ290IElSUSAlZFxuIiwgaXJxKTsKIAkJbXNnID0gIkZvdW5kIjsKIAkJZWlzYV9zZXRfbGV2ZWxfaXJxKGlycSk7CkBAIC05ODUsMTUgKzk3NSwxNSBAQAogCQkJY29udGludWU7CiAJCWlmIChpbmZvLT5pcnFbcGluXS5saW5rID09IHBpcnEpIHsKIAkJCS8qIFdlIHJlZnVzZSB0byBvdmVycmlkZSB0aGUgZGV2LT5pcnEgaW5mb3JtYXRpb24uIEdpdmUgYSB3YXJuaW5nISAqLwotCQkgICAgCWlmICggZGV2Mi0+aXJxICYmIGRldjItPmlycSAhPSBpcnEgJiYgXAorCQkJaWYgKGRldjItPmlycSAmJiBkZXYyLT5pcnEgIT0gaXJxICYmIFwKIAkJCSghKHBjaV9wcm9iZSAmIFBDSV9VU0VfUElSUV9NQVNLKSB8fCBcCi0JCQkoKDEgPDwgZGV2Mi0+aXJxKSAmIG1hc2spKSApIHsKKwkJCSgoMSA8PCBkZXYyLT5pcnEpICYgbWFzaykpKSB7CiAjaWZuZGVmIENPTkZJR19QQ0lfTVNJCi0JCSAgICAJCXByaW50ayhLRVJOX0lORk8gIklSUSByb3V0aW5nIGNvbmZsaWN0IGZvciAlcywgaGF2ZSBpcnEgJWQsIHdhbnQgaXJxICVkXG4iLAorCQkJCXByaW50ayhLRVJOX0lORk8gIklSUSByb3V0aW5nIGNvbmZsaWN0IGZvciAlcywgaGF2ZSBpcnEgJWQsIHdhbnQgaXJxICVkXG4iLAogCQkJCSAgICAgICBwY2lfbmFtZShkZXYyKSwgZGV2Mi0+aXJxLCBpcnEpOwogI2VuZGlmCi0JCSAgICAJCWNvbnRpbnVlOwotCQkgICAgCX0KKwkJCQljb250aW51ZTsKKwkJCX0KIAkJCWRldjItPmlycSA9IGlycTsKIAkJCXBpcnFfcGVuYWx0eVtpcnFdKys7CiAJCQlpZiAoZGV2ICE9IGRldjIpCkBAIC0xMDMxLDggKzEwMjEsNyBAQAogCQkvKgogCQkgKiBSZWNhbGN1bGF0ZSBJUlEgbnVtYmVycyBpZiB3ZSB1c2UgdGhlIEkvTyBBUElDLgogCQkgKi8KLQkJaWYgKGlvX2FwaWNfYXNzaWduX3BjaV9pcnFzKQotCQl7CisJCWlmIChpb19hcGljX2Fzc2lnbl9wY2lfaXJxcykgewogCQkJaW50IGlycTsKIAogCQkJaWYgKHBpbikgewpAQCAtMTA0NSwxMCArMTAzNCwxMCBAQAogCSAqIGJ1c3NlcyBpdHNlbGYgc28gd2Ugc2hvdWxkIGdldCBpbnRvIHRoaXMgYnJhbmNoIHJlbGlhYmx5LgogCSAqLwogCQkJCWlmIChpcnEgPCAwICYmIGRldi0+YnVzLT5wYXJlbnQpIHsgLyogZ28gYmFjayB0byB0aGUgYnJpZGdlICovCi0JCQkJCXN0cnVjdCBwY2lfZGV2ICogYnJpZGdlID0gZGV2LT5idXMtPnNlbGY7CisJCQkJCXN0cnVjdCBwY2lfZGV2ICpicmlkZ2UgPSBkZXYtPmJ1cy0+c2VsZjsKIAogCQkJCQlwaW4gPSAocGluICsgUENJX1NMT1QoZGV2LT5kZXZmbikpICUgNDsKLQkJCQkJaXJxID0gSU9fQVBJQ19nZXRfUENJX2lycV92ZWN0b3IoYnJpZGdlLT5idXMtPm51bWJlciwgCisJCQkJCWlycSA9IElPX0FQSUNfZ2V0X1BDSV9pcnFfdmVjdG9yKGJyaWRnZS0+YnVzLT5udW1iZXIsCiAJCQkJCQkJUENJX1NMT1QoYnJpZGdlLT5kZXZmbiksIHBpbik7CiAJCQkJCWlmIChpcnEgPj0gMCkKIAkJCQkJCXByaW50ayhLRVJOX1dBUk5JTkcgIlBDSTogdXNpbmcgUFBCICVzWyVjXSB0byBnZXQgaXJxICVkXG4iLApAQCAtMTExOCw3ICsxMTA3LDcgQEAKIAl7IH0KIH07CiAKLXN0YXRpYyBpbnQgX19pbml0IHBjaWJpb3NfaXJxX2luaXQodm9pZCkKK2ludCBfX2luaXQgcGNpYmlvc19pcnFfaW5pdCh2b2lkKQogewogCURCRyhLRVJOX0RFQlVHICJQQ0k6IElSUSBpbml0XG4iKTsKIApAQCAtMTEzOCw3ICsxMTI3LDcgQEAKIAkJcGlycV9maW5kX3JvdXRlcigmcGlycV9yb3V0ZXIpOwogCQlpZiAocGlycV90YWJsZS0+ZXhjbHVzaXZlX2lycXMpIHsKIAkJCWludCBpOwotCQkJZm9yIChpPTA7IGk8MTY7IGkrKykKKwkJCWZvciAoaSA9IDA7IGkgPCAxNjsgaSsrKQogCQkJCWlmICghKHBpcnFfdGFibGUtPmV4Y2x1c2l2ZV9pcnFzICYgKDEgPDwgaSkpKQogCQkJCQlwaXJxX3BlbmFsdHlbaV0gKz0gMTAwOwogCQl9CkBAIC0xMTUzLDkgKzExNDIsNiBAQAogCXJldHVybiAwOwogfQogCi1zdWJzeXNfaW5pdGNhbGwocGNpYmlvc19pcnFfaW5pdCk7Ci0KLQogc3RhdGljIHZvaWQgcGlycV9wZW5hbGl6ZV9pc2FfaXJxKGludCBpcnEsIGludCBhY3RpdmUpCiB7CiAJLyoKQEAgLTEyMDMsMTAgKzExODksMTAgQEAKIAkJCSAqLwogCQkJdGVtcF9kZXYgPSBkZXY7CiAJCQl3aGlsZSAoaXJxIDwgMCAmJiBkZXYtPmJ1cy0+cGFyZW50KSB7IC8qIGdvIGJhY2sgdG8gdGhlIGJyaWRnZSAqLwotCQkJCXN0cnVjdCBwY2lfZGV2ICogYnJpZGdlID0gZGV2LT5idXMtPnNlbGY7CisJCQkJc3RydWN0IHBjaV9kZXYgKmJyaWRnZSA9IGRldi0+YnVzLT5zZWxmOwogCiAJCQkJcGluID0gKHBpbiArIFBDSV9TTE9UKGRldi0+ZGV2Zm4pKSAlIDQ7Ci0JCQkJaXJxID0gSU9fQVBJQ19nZXRfUENJX2lycV92ZWN0b3IoYnJpZGdlLT5idXMtPm51bWJlciwgCisJCQkJaXJxID0gSU9fQVBJQ19nZXRfUENJX2lycV92ZWN0b3IoYnJpZGdlLT5idXMtPm51bWJlciwKIAkJCQkJCVBDSV9TTE9UKGJyaWRnZS0+ZGV2Zm4pLCBwaW4pOwogCQkJCWlmIChpcnEgPj0gMCkKIAkJCQkJcHJpbnRrKEtFUk5fV0FSTklORyAiUENJOiB1c2luZyBQUEIgJXNbJWNdIHRvIGdldCBpcnEgJWRcbiIsCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9wY2kvbGVnYWN5LmMgYi9hcmNoL3g4Ni9wY2kvbGVnYWN5LmMKaW5kZXggYTY3OTIxYy4uMTMyODc2YyAxMDA2NDQKLS0tIGEvYXJjaC94ODYvcGNpL2xlZ2FjeS5jCisrKyBiL2FyY2gveDg2L3BjaS9sZWdhY3kuYwpAQCAtNTUsNCArNTUsMTggQEAKIAlyZXR1cm4gMDsKIH0KIAotc3Vic3lzX2luaXRjYWxsKHBjaV9sZWdhY3lfaW5pdCk7CitpbnQgX19pbml0IHBjaV9zdWJzeXNfaW5pdCh2b2lkKQoreworI2lmZGVmIENPTkZJR19BQ1BJCisJcGNpX2FjcGlfaW5pdCgpOworI2VuZGlmCisJcGNpX2xlZ2FjeV9pbml0KCk7CisJcGNpYmlvc19pcnFfaW5pdCgpOworI2lmZGVmIENPTkZJR19YODZfTlVNQVEKKwlwY2lfbnVtYV9pbml0KCk7CisjZW5kaWYKKwlwY2liaW9zX2luaXQoKTsKKworCXJldHVybiAwOworfQorc3Vic3lzX2luaXRjYWxsKHBjaV9zdWJzeXNfaW5pdCk7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9wY2kvbW1jb25maWctc2hhcmVkLmMgYi9hcmNoL3g4Ni9wY2kvbW1jb25maWctc2hhcmVkLmMKaW5kZXggMGNmZWJlYy4uMjNmYWFhOCAxMDA2NDQKLS0tIGEvYXJjaC94ODYvcGNpL21tY29uZmlnLXNoYXJlZC5jCisrKyBiL2FyY2gveDg2L3BjaS9tbWNvbmZpZy1zaGFyZWQuYwpAQCAtMzc0LDcgKzM3NCw3IEBACiAKIHN0YXRpYyBpbnQgX19pbml0ZGF0YSBrbm93bl9icmlkZ2U7CiAKLXZvaWQgX19pbml0IF9fcGNpX21tY2ZnX2luaXQoaW50IGVhcmx5KQorc3RhdGljIHZvaWQgX19pbml0IF9fcGNpX21tY2ZnX2luaXQoaW50IGVhcmx5KQogewogCS8qIE1NQ09ORklHIGRpc2FibGVkICovCiAJaWYgKChwY2lfcHJvYmUgJiBQQ0lfUFJPQkVfTU1DT05GKSA9PSAwKQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvcGNpL21wX2J1c190b19ub2RlLmMgYi9hcmNoL3g4Ni9wY2kvbXBfYnVzX3RvX25vZGUuYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDIyOTQzOS4uMDAwMDAwMAotLS0gYS9hcmNoL3g4Ni9wY2kvbXBfYnVzX3RvX25vZGUuYworKysgL2Rldi9udWxsCkBAIC0xLDIzICswLDAgQEAKLSNpbmNsdWRlIDxsaW51eC9wY2kuaD4KLSNpbmNsdWRlIDxsaW51eC9pbml0Lmg+Ci0jaW5jbHVkZSA8bGludXgvdG9wb2xvZ3kuaD4KLQotI2RlZmluZSBCVVNfTlIgMjU2Ci0KLXN0YXRpYyB1bnNpZ25lZCBjaGFyIG1wX2J1c190b19ub2RlW0JVU19OUl07Ci0KLXZvaWQgc2V0X21wX2J1c190b19ub2RlKGludCBidXNudW0sIGludCBub2RlKQotewotCWlmIChidXNudW0gPj0gMCAmJiAgYnVzbnVtIDwgQlVTX05SKQotCW1wX2J1c190b19ub2RlW2J1c251bV0gPSAodW5zaWduZWQgY2hhcikgbm9kZTsKLX0KLQotaW50IGdldF9tcF9idXNfdG9fbm9kZShpbnQgYnVzbnVtKQotewotCWludCBub2RlOwotCi0JaWYgKGJ1c251bSA8IDAgfHwgYnVzbnVtID4gKEJVU19OUiAtIDEpKQotCQlyZXR1cm4gMDsKLQlub2RlID0gbXBfYnVzX3RvX25vZGVbYnVzbnVtXTsKLQlyZXR1cm4gbm9kZTsKLX0KZGlmZiAtLWdpdCBhL2FyY2gveDg2L3BjaS9udW1hLmMgYi9hcmNoL3g4Ni9wY2kvbnVtYS5jCmluZGV4IGQ5YWZiYWUuLjhiNWNhMTkgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L3BjaS9udW1hLmMKKysrIGIvYXJjaC94ODYvcGNpL251bWEuYwpAQCAtNiw0NSArNiwyMSBAQAogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KICNpbmNsdWRlIDxsaW51eC9ub2RlbWFzay5oPgogI2luY2x1ZGUgPG1hY2hfYXBpYy5oPgorI2luY2x1ZGUgPGFzbS9tcHNwZWMuaD4KICNpbmNsdWRlICJwY2kuaCIKIAogI2RlZmluZSBYUVVBRF9QT1JUSU9fQkFTRSAweGZlNDAwMDAwCiAjZGVmaW5lIFhRVUFEX1BPUlRJT19RVUFEIDB4NDAwMDAgIC8qIDI1NmsgcGVyIHF1YWQuICovCiAKLWludCBtcF9idXNfaWRfdG9fbm9kZVtNQVhfTVBfQlVTU0VTXTsKICNkZWZpbmUgQlVTMlFVQUQoZ2xvYmFsKSAobXBfYnVzX2lkX3RvX25vZGVbZ2xvYmFsXSkKIAotaW50IG1wX2J1c19pZF90b19sb2NhbFtNQVhfTVBfQlVTU0VTXTsKICNkZWZpbmUgQlVTMkxPQ0FMKGdsb2JhbCkgKG1wX2J1c19pZF90b19sb2NhbFtnbG9iYWxdKQogCi12b2lkIG1wY19vZW1fYnVzX2luZm8oc3RydWN0IG1wY19jb25maWdfYnVzICptLCBjaGFyICpuYW1lLAotCXN0cnVjdCBtcGNfY29uZmlnX3RyYW5zbGF0aW9uICp0cmFuc2xhdGlvbikKLXsKLQlpbnQgcXVhZCA9IHRyYW5zbGF0aW9uLT50cmFuc19xdWFkOwotCWludCBsb2NhbCA9IHRyYW5zbGF0aW9uLT50cmFuc19sb2NhbDsKLQotCW1wX2J1c19pZF90b19ub2RlW20tPm1wY19idXNpZF0gPSBxdWFkOwotCW1wX2J1c19pZF90b19sb2NhbFttLT5tcGNfYnVzaWRdID0gbG9jYWw7Ci0JcHJpbnRrKEtFUk5fSU5GTyAiQnVzICMlZCBpcyAlcyAobm9kZSAlZClcbiIsCi0JICAgICAgIG0tPm1wY19idXNpZCwgbmFtZSwgcXVhZCk7Ci19Ci0KLWludCBxdWFkX2xvY2FsX3RvX21wX2J1c19pZCBbTlJfQ1BVUy80XVs0XTsKICNkZWZpbmUgUVVBRExPQ0FMMkJVUyhxdWFkLGxvY2FsKSAocXVhZF9sb2NhbF90b19tcF9idXNfaWRbcXVhZF1bbG9jYWxdKQotdm9pZCBtcGNfb2VtX3BjaV9idXMoc3RydWN0IG1wY19jb25maWdfYnVzICptLAotCXN0cnVjdCBtcGNfY29uZmlnX3RyYW5zbGF0aW9uICp0cmFuc2xhdGlvbikKLXsKLQlpbnQgcXVhZCA9IHRyYW5zbGF0aW9uLT50cmFuc19xdWFkOwotCWludCBsb2NhbCA9IHRyYW5zbGF0aW9uLT50cmFuc19sb2NhbDsKLQotCXF1YWRfbG9jYWxfdG9fbXBfYnVzX2lkW3F1YWRdW2xvY2FsXSA9IG0tPm1wY19idXNpZDsKLX0KIAogLyogV2hlcmUgdGhlIElPIGFyZWEgd2FzIG1hcHBlZCBvbiBtdWx0aXF1YWQsIGFsd2F5cyAwIG90aGVyd2lzZSAqLwogdm9pZCAqeHF1YWRfcG9ydGlvOwotI2lmZGVmIENPTkZJR19YODZfTlVNQVEKIEVYUE9SVF9TWU1CT0woeHF1YWRfcG9ydGlvKTsKLSNlbmRpZgogCiAjZGVmaW5lIFhRVUFEX1BPUlRfQUREUihwb3J0LCBxdWFkKSAoeHF1YWRfcG9ydGlvICsgKFhRVUFEX1BPUlRJT19RVUFEKnF1YWQpICsgcG9ydCkKIApAQCAtMTc1LDEwICsxNTEsMTMgQEAKIH0KIERFQ0xBUkVfUENJX0ZJWFVQX0hFQURFUihQQ0lfVkVORE9SX0lEX0lOVEVMLCBQQ0lfREVWSUNFX0lEX0lOVEVMXzgyNDUxTlgsIHBjaV9maXh1cF9pNDUwbngpOwogCi1zdGF0aWMgaW50IF9faW5pdCBwY2lfbnVtYV9pbml0KHZvaWQpCitpbnQgX19pbml0IHBjaV9udW1hX2luaXQodm9pZCkKIHsKIAlpbnQgcXVhZDsKIAorCWlmICghZm91bmRfbnVtYXEpCisJCXJldHVybiAwOworCiAJcmF3X3BjaV9vcHMgPSAmcGNpX2RpcmVjdF9jb25mMV9tcTsKIAogCWlmIChwY2liaW9zX3NjYW5uZWQrKykKQEAgLTE5Nyw1ICsxNzYsMyBAQAogCQl9CiAJcmV0dXJuIDA7CiB9Ci0KLXN1YnN5c19pbml0Y2FsbChwY2lfbnVtYV9pbml0KTsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L3BjaS9wY2kuaCBiL2FyY2gveDg2L3BjaS9wY2kuaAppbmRleCA3MjBjNGM1Li5iMjI3MGE1IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9wY2kvcGNpLmgKKysrIGIvYXJjaC94ODYvcGNpL3BjaS5oCkBAIC0yNyw2ICsyNyw3IEBACiAjZGVmaW5lIFBDSV9DQU5fU0tJUF9JU0FfQUxJR04JMHg4MDAwCiAjZGVmaW5lIFBDSV9VU0VfX0NSUwkJMHgxMDAwMAogI2RlZmluZSBQQ0lfQ0hFQ0tfRU5BQkxFX0FNRF9NTUNPTkYJMHgyMDAwMAorI2RlZmluZSBQQ0lfSEFTX0lPX0VDUwkJMHg0MDAwMAogCiBleHRlcm4gdW5zaWduZWQgaW50IHBjaV9wcm9iZTsKIGV4dGVybiB1bnNpZ25lZCBsb25nIHBpcnFfdGFibGVfYWRkcjsKQEAgLTM4LDkgKzM5LDYgQEAKIAlwY2lfZG1pX2JmLAogfTsKIAotZXh0ZXJuIHZvaWQgX19pbml0IGRtaV9jaGVja19wY2lwcm9iZSh2b2lkKTsKLWV4dGVybiB2b2lkIF9faW5pdCBkbWlfY2hlY2tfc2tpcF9pc2FfYWxpZ24odm9pZCk7Ci0KIC8qIHBjaS1pMzg2LmMgKi8KIAogZXh0ZXJuIHVuc2lnbmVkIGludCBwY2liaW9zX21heF9sYXRlbmN5OwpAQCAtOTgsMTAgKzk2LDE5IEBACiAKIGV4dGVybiBzdHJ1Y3QgcGNpX3Jhd19vcHMgcGNpX2RpcmVjdF9jb25mMTsKIAorLyogYXJjaF9pbml0Y2FsbCBsZXZlbCAqLwogZXh0ZXJuIGludCBwY2lfZGlyZWN0X3Byb2JlKHZvaWQpOwogZXh0ZXJuIHZvaWQgcGNpX2RpcmVjdF9pbml0KGludCB0eXBlKTsKIGV4dGVybiB2b2lkIHBjaV9wY2Jpb3NfaW5pdCh2b2lkKTsKIGV4dGVybiBpbnQgcGNpX29scGNfaW5pdCh2b2lkKTsKK2V4dGVybiB2b2lkIF9faW5pdCBkbWlfY2hlY2tfcGNpcHJvYmUodm9pZCk7CitleHRlcm4gdm9pZCBfX2luaXQgZG1pX2NoZWNrX3NraXBfaXNhX2FsaWduKHZvaWQpOworCisvKiBzb21lIGNvbW1vbiB1c2VkIHN1YnN5c19pbml0Y2FsbHMgKi8KK2V4dGVybiBpbnQgX19pbml0IHBjaV9hY3BpX2luaXQodm9pZCk7CitleHRlcm4gaW50IF9faW5pdCBwY2liaW9zX2lycV9pbml0KHZvaWQpOworZXh0ZXJuIGludCBfX2luaXQgcGNpX251bWFfaW5pdCh2b2lkKTsKK2V4dGVybiBpbnQgX19pbml0IHBjaWJpb3NfaW5pdCh2b2lkKTsKIAogLyogcGNpLW1tY29uZmlnLmMgKi8KIApkaWZmIC0tZ2l0IGEvYXJjaC94ODYvcGNpL3Zpc3dzLmMgYi9hcmNoL3g4Ni9wY2kvdmlzd3MuYwppbmRleCBjMmRmNGU5Li4xYTdiZWQ0IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9wY2kvdmlzd3MuYworKysgYi9hcmNoL3g4Ni9wY2kvdmlzd3MuYwpAQCAtOCwxOCArOCwxOSBAQAogI2luY2x1ZGUgPGxpbnV4L3BjaS5oPgogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KIAotI2luY2x1ZGUgImNvYmFsdC5oIgotI2luY2x1ZGUgImxpdGhpdW0uaCIKKyNpbmNsdWRlIDxhc20vc2V0dXAuaD4KKyNpbmNsdWRlIDxhc20vdmlzd3MvY29iYWx0Lmg+CisjaW5jbHVkZSA8YXNtL3Zpc3dzL2xpdGhpdW0uaD4KIAogI2luY2x1ZGUgInBjaS5oIgogCiBzdGF0aWMgaW50IHBjaV92aXN3c19lbmFibGVfaXJxKHN0cnVjdCBwY2lfZGV2ICpkZXYpIHsgcmV0dXJuIDA7IH0KIHN0YXRpYyB2b2lkIHBjaV92aXN3c19kaXNhYmxlX2lycShzdHJ1Y3QgcGNpX2RldiAqZGV2KSB7IH0KIAotaW50ICgqcGNpYmlvc19lbmFibGVfaXJxKShzdHJ1Y3QgcGNpX2RldiAqZGV2KSA9ICZwY2lfdmlzd3NfZW5hYmxlX2lycTsKLXZvaWQgKCpwY2liaW9zX2Rpc2FibGVfaXJxKShzdHJ1Y3QgcGNpX2RldiAqZGV2KSA9ICZwY2lfdmlzd3NfZGlzYWJsZV9pcnE7CisvKiBpbnQgKCpwY2liaW9zX2VuYWJsZV9pcnEpKHN0cnVjdCBwY2lfZGV2ICpkZXYpID0gJnBjaV92aXN3c19lbmFibGVfaXJxOyAqLworLyogdm9pZCAoKnBjaWJpb3NfZGlzYWJsZV9pcnEpKHN0cnVjdCBwY2lfZGV2ICpkZXYpID0gJnBjaV92aXN3c19kaXNhYmxlX2lycTsgKi8KIAotdm9pZCBfX2luaXQgcGNpYmlvc19wZW5hbGl6ZV9pc2FfaXJxKGludCBpcnEsIGludCBhY3RpdmUpIHt9CisvKiB2b2lkIF9faW5pdCBwY2liaW9zX3BlbmFsaXplX2lzYV9pcnEoaW50IGlycSwgaW50IGFjdGl2ZSkge30gKi8KIAogCiB1bnNpZ25lZCBpbnQgcGNpX2J1czAsIHBjaV9idXMxOwpAQCAtODUsNyArODYsNyBAQAogCXBjaV93cml0ZV9jb25maWdfYnl0ZShkZXYsIFBDSV9JTlRFUlJVUFRfTElORSwgaXJxKTsKIH0KIAotc3RhdGljIGludCBfX2luaXQgcGNpYmlvc19pbml0KHZvaWQpCitzdGF0aWMgaW50IF9faW5pdCBwY2lfdmlzd3NfaW5pdCh2b2lkKQogewogCS8qIFRoZSBWSVNXUyBzdXBwb3J0cyBjb25maWd1cmF0aW9uIGFjY2VzcyB0eXBlIDEgb25seSAqLwogCXBjaV9wcm9iZSA9IChwY2lfcHJvYmUgfCBQQ0lfUFJPQkVfQ09ORjEpICYKQEAgLTEwNSw0ICsxMDYsMTcgQEAKIAlyZXR1cm4gMDsKIH0KIAotc3Vic3lzX2luaXRjYWxsKHBjaWJpb3NfaW5pdCk7CitzdGF0aWMgX19pbml0IGludCBwY2lfc3Vic3lzX2luaXQodm9pZCkKK3sKKwlpZiAoIWlzX3Zpc3dzX2JveCgpKQorCQlyZXR1cm4gLTE7CisKKwlwY2liaW9zX2VuYWJsZV9pcnEgPSAmcGNpX3Zpc3dzX2VuYWJsZV9pcnE7CisJcGNpYmlvc19kaXNhYmxlX2lycSA9ICZwY2lfdmlzd3NfZGlzYWJsZV9pcnE7CisKKwlwY2lfdmlzd3NfaW5pdCgpOworCXBjaWJpb3NfaW5pdCgpOworCisJcmV0dXJuIDA7Cit9CitzdWJzeXNfaW5pdGNhbGwocGNpX3N1YnN5c19pbml0KTsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L3Bvd2VyL2hpYmVybmF0ZV82NC5jIGIvYXJjaC94ODYvcG93ZXIvaGliZXJuYXRlXzY0LmMKaW5kZXggYjU0MjM1NS4uNmRkMDAwZCAxMDA2NDQKLS0tIGEvYXJjaC94ODYvcG93ZXIvaGliZXJuYXRlXzY0LmMKKysrIGIvYXJjaC94ODYvcG93ZXIvaGliZXJuYXRlXzY0LmMKQEAgLTgzLDcgKzgzLDcgQEAKIAogCS8qIFNldCB1cCB0aGUgZGlyZWN0IG1hcHBpbmcgZnJvbSBzY3JhdGNoICovCiAJc3RhcnQgPSAodW5zaWduZWQgbG9uZylwZm5fdG9fa2FkZHIoMCk7Ci0JZW5kID0gKHVuc2lnbmVkIGxvbmcpcGZuX3RvX2thZGRyKGVuZF9wZm4pOworCWVuZCA9ICh1bnNpZ25lZCBsb25nKXBmbl90b19rYWRkcihtYXhfcGZuKTsKIAogCWZvciAoOyBzdGFydCA8IGVuZDsgc3RhcnQgPSBuZXh0KSB7CiAJCXB1ZF90ICpwdWQgPSAocHVkX3QgKilnZXRfc2FmZV9wYWdlKEdGUF9BVE9NSUMpOwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvdmRzby92Y2xvY2tfZ2V0dGltZS5jIGIvYXJjaC94ODYvdmRzby92Y2xvY2tfZ2V0dGltZS5jCmluZGV4IGVmYTJiYTcuLjFlZjBmOTAgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L3Zkc28vdmNsb2NrX2dldHRpbWUuYworKysgYi9hcmNoL3g4Ni92ZHNvL3ZjbG9ja19nZXR0aW1lLmMKQEAgLTIzLDcgKzIzLDcgQEAKIAogI2RlZmluZSBndG9kIHZkc29fdnN5c2NhbGxfZ3RvZF9kYXRhCiAKLXN0YXRpYyBsb25nIHZkc29fZmFsbGJhY2tfZ2V0dGltZShsb25nIGNsb2NrLCBzdHJ1Y3QgdGltZXNwZWMgKnRzKQorbm90cmFjZSBzdGF0aWMgbG9uZyB2ZHNvX2ZhbGxiYWNrX2dldHRpbWUobG9uZyBjbG9jaywgc3RydWN0IHRpbWVzcGVjICp0cykKIHsKIAlsb25nIHJldDsKIAlhc20oInN5c2NhbGwiIDogIj1hIiAocmV0KSA6CkBAIC0zMSw3ICszMSw3IEBACiAJcmV0dXJuIHJldDsKIH0KIAotc3RhdGljIGlubGluZSBsb25nIHZnZXRucyh2b2lkKQorbm90cmFjZSBzdGF0aWMgaW5saW5lIGxvbmcgdmdldG5zKHZvaWQpCiB7CiAJbG9uZyB2OwogCWN5Y2xlc190ICgqdnJlYWQpKHZvaWQpOwpAQCAtNDAsNyArNDAsNyBAQAogCXJldHVybiAodiAqIGd0b2QtPmNsb2NrLm11bHQpID4+IGd0b2QtPmNsb2NrLnNoaWZ0OwogfQogCi1zdGF0aWMgbm9pbmxpbmUgaW50IGRvX3JlYWx0aW1lKHN0cnVjdCB0aW1lc3BlYyAqdHMpCitub3RyYWNlIHN0YXRpYyBub2lubGluZSBpbnQgZG9fcmVhbHRpbWUoc3RydWN0IHRpbWVzcGVjICp0cykKIHsKIAl1bnNpZ25lZCBsb25nIHNlcSwgbnM7CiAJZG8gewpAQCAtNTQsNyArNTQsOCBAQAogfQogCiAvKiBDb3B5IG9mIHRoZSB2ZXJzaW9uIGluIGtlcm5lbC90aW1lLmMgd2hpY2ggd2UgY2Fubm90IGRpcmVjdGx5IGFjY2VzcyAqLwotc3RhdGljIHZvaWQgdnNldF9ub3JtYWxpemVkX3RpbWVzcGVjKHN0cnVjdCB0aW1lc3BlYyAqdHMsIGxvbmcgc2VjLCBsb25nIG5zZWMpCitub3RyYWNlIHN0YXRpYyB2b2lkCit2c2V0X25vcm1hbGl6ZWRfdGltZXNwZWMoc3RydWN0IHRpbWVzcGVjICp0cywgbG9uZyBzZWMsIGxvbmcgbnNlYykKIHsKIAl3aGlsZSAobnNlYyA+PSBOU0VDX1BFUl9TRUMpIHsKIAkJbnNlYyAtPSBOU0VDX1BFUl9TRUM7CkBAIC02OCw3ICs2OSw3IEBACiAJdHMtPnR2X25zZWMgPSBuc2VjOwogfQogCi1zdGF0aWMgbm9pbmxpbmUgaW50IGRvX21vbm90b25pYyhzdHJ1Y3QgdGltZXNwZWMgKnRzKQorbm90cmFjZSBzdGF0aWMgbm9pbmxpbmUgaW50IGRvX21vbm90b25pYyhzdHJ1Y3QgdGltZXNwZWMgKnRzKQogewogCXVuc2lnbmVkIGxvbmcgc2VxLCBucywgc2VjczsKIAlkbyB7CkBAIC04Miw3ICs4Myw3IEBACiAJcmV0dXJuIDA7CiB9CiAKLWludCBfX3Zkc29fY2xvY2tfZ2V0dGltZShjbG9ja2lkX3QgY2xvY2ssIHN0cnVjdCB0aW1lc3BlYyAqdHMpCitub3RyYWNlIGludCBfX3Zkc29fY2xvY2tfZ2V0dGltZShjbG9ja2lkX3QgY2xvY2ssIHN0cnVjdCB0aW1lc3BlYyAqdHMpCiB7CiAJaWYgKGxpa2VseShndG9kLT5zeXNjdGxfZW5hYmxlZCAmJiBndG9kLT5jbG9jay52cmVhZCkpCiAJCXN3aXRjaCAoY2xvY2spIHsKQEAgLTk2LDcgKzk3LDcgQEAKIGludCBjbG9ja19nZXR0aW1lKGNsb2NraWRfdCwgc3RydWN0IHRpbWVzcGVjICopCiAJX19hdHRyaWJ1dGVfXygod2VhaywgYWxpYXMoIl9fdmRzb19jbG9ja19nZXR0aW1lIikpKTsKIAotaW50IF9fdmRzb19nZXR0aW1lb2ZkYXkoc3RydWN0IHRpbWV2YWwgKnR2LCBzdHJ1Y3QgdGltZXpvbmUgKnR6KQorbm90cmFjZSBpbnQgX192ZHNvX2dldHRpbWVvZmRheShzdHJ1Y3QgdGltZXZhbCAqdHYsIHN0cnVjdCB0aW1lem9uZSAqdHopCiB7CiAJbG9uZyByZXQ7CiAJaWYgKGxpa2VseShndG9kLT5zeXNjdGxfZW5hYmxlZCAmJiBndG9kLT5jbG9jay52cmVhZCkpIHsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L3Zkc28vdmRzbzMyLXNldHVwLmMgYi9hcmNoL3g4Ni92ZHNvL3Zkc28zMi1zZXR1cC5jCmluZGV4IGNmMDU4ZmUuLjBiY2U1NDIgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L3Zkc28vdmRzbzMyLXNldHVwLmMKKysrIGIvYXJjaC94ODYvdmRzby92ZHNvMzItc2V0dXAuYwpAQCAtMjAzLDIwICsyMDMsMTEgQEAKIAogI2lmZGVmIENPTkZJR19YODZfNjQKIAotc3RhdGljIGludCB1c2Vfc3lzZW50ZXIgX19yZWFkX21vc3RseSA9IC0xOwotCi0jZGVmaW5lCXZkc28zMl9zeXNlbnRlcigpCSh1c2Vfc3lzZW50ZXIgPiAwKQorI2RlZmluZQl2ZHNvMzJfc3lzZW50ZXIoKQkoYm9vdF9jcHVfaGFzKFg4Nl9GRUFUVVJFX1NZU0VOVEVSMzIpKQogCiAvKiBNYXkgbm90IGJlIF9faW5pdDogY2FsbGVkIGR1cmluZyByZXN1bWUgKi8KIHZvaWQgc3lzY2FsbDMyX2NwdV9pbml0KHZvaWQpCiB7Ci0JaWYgKHVzZV9zeXNlbnRlciA8IDApIHsKLQkJaWYgKGJvb3RfY3B1X2RhdGEueDg2X3ZlbmRvciA9PSBYODZfVkVORE9SX0lOVEVMKQotCQkJdXNlX3N5c2VudGVyID0gMTsKLQkJaWYgKGJvb3RfY3B1X2RhdGEueDg2X3ZlbmRvciA9PSBYODZfVkVORE9SX0NFTlRBVVIpCi0JCQl1c2Vfc3lzZW50ZXIgPSAxOwotCX0KLQogCS8qIExvYWQgdGhlc2UgYWx3YXlzIGluIGNhc2Ugc29tZSBmdXR1cmUgQU1EIENQVSBzdXBwb3J0cwogCSAgIFNZU0VOVEVSIGZyb20gY29tcGF0IG1vZGUgdG9vLiAqLwogCWNoZWNraW5nX3dybXNybChNU1JfSUEzMl9TWVNFTlRFUl9DUywgKHU2NClfX0tFUk5FTF9DUyk7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni92ZHNvL3ZnZXRjcHUuYyBiL2FyY2gveDg2L3Zkc28vdmdldGNwdS5jCmluZGV4IGM4MDk3ZjEuLjlmYmM2YjIgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L3Zkc28vdmdldGNwdS5jCisrKyBiL2FyY2gveDg2L3Zkc28vdmdldGNwdS5jCkBAIC0xMyw3ICsxMyw4IEBACiAjaW5jbHVkZSA8YXNtL3ZndG9kLmg+CiAjaW5jbHVkZSAidmV4dGVybi5oIgogCi1sb25nIF9fdmRzb19nZXRjcHUodW5zaWduZWQgKmNwdSwgdW5zaWduZWQgKm5vZGUsIHN0cnVjdCBnZXRjcHVfY2FjaGUgKnVudXNlZCkKK25vdHJhY2UgbG9uZworX192ZHNvX2dldGNwdSh1bnNpZ25lZCAqY3B1LCB1bnNpZ25lZCAqbm9kZSwgc3RydWN0IGdldGNwdV9jYWNoZSAqdW51c2VkKQogewogCXVuc2lnbmVkIGludCBwOwogCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni92ZHNvL3ZtYS5jIGIvYXJjaC94ODYvdmRzby92bWEuYwppbmRleCAzZmRkNTE0Li4xOWE2Y2ZhIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni92ZHNvL3ZtYS5jCisrKyBiL2FyY2gveDg2L3Zkc28vdm1hLmMKQEAgLTE2LDcgKzE2LDcgQEAKICNpbmNsdWRlICJ2ZXh0ZXJuLmgiCQkvKiBKdXN0IGZvciBWTUFHSUMuICAqLwogI3VuZGVmIFZFWFRFUk4KIAotaW50IHZkc29fZW5hYmxlZCA9IDE7Cit1bnNpZ25lZCBpbnQgX19yZWFkX21vc3RseSB2ZHNvX2VuYWJsZWQgPSAxOwogCiBleHRlcm4gY2hhciB2ZHNvX3N0YXJ0W10sIHZkc29fZW5kW107CiBleHRlcm4gdW5zaWduZWQgc2hvcnQgdmRzb19zeW5jX2NwdWlkOwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYveGVuL0tjb25maWcgYi9hcmNoL3g4Ni94ZW4vS2NvbmZpZwppbmRleCA2YzM4OGU1Li5jMmNjOTk1IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni94ZW4vS2NvbmZpZworKysgYi9hcmNoL3g4Ni94ZW4vS2NvbmZpZwpAQCAtMTIsMyArMTIsMTMgQEAKIAkgIFRoaXMgaXMgdGhlIExpbnV4IFhlbiBwb3J0LiAgRW5hYmxpbmcgdGhpcyB3aWxsIGFsbG93IHRoZQogCSAga2VybmVsIHRvIGJvb3QgaW4gYSBwYXJhdmlydHVhbGl6ZWQgZW52aXJvbm1lbnQgdW5kZXIgdGhlCiAJICBYZW4gaHlwZXJ2aXNvci4KKworY29uZmlnIFhFTl9NQVhfRE9NQUlOX01FTU9SWQorICAgICAgIGludCAiTWF4aW11bSBhbGxvd2VkIHNpemUgb2YgYSBkb21haW4gaW4gZ2lnYWJ5dGVzIgorICAgICAgIGRlZmF1bHQgOAorICAgICAgIGRlcGVuZHMgb24gWEVOCisgICAgICAgaGVscAorICAgICAgICAgVGhlIHBzZXVkby1waHlzaWNhbCB0byBtYWNoaW5lIGFkZHJlc3MgYXJyYXkgaXMgc2l6ZWQKKyAgICAgICAgIGFjY29yZGluZyB0byB0aGUgbWF4aW11bSBwb3NzaWJsZSBtZW1vcnkgc2l6ZSBvZiBhIFhlbgorICAgICAgICAgZG9tYWluLiAgVGhpcyBhcnJheSB1c2VzIDEgcGFnZSBwZXIgZ2lnYWJ5dGUsIHNvIHRoZXJlJ3Mgbm8KKyAgICAgICAgIG5lZWQgdG8gYmUgdG9vIHN0aW5neSBoZXJlLgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2FyY2gveDg2L3hlbi9NYWtlZmlsZSBiL2FyY2gveDg2L3hlbi9NYWtlZmlsZQppbmRleCAzZDhkZjk4Li4yYmEyZDE2IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni94ZW4vTWFrZWZpbGUKKysrIGIvYXJjaC94ODYveGVuL01ha2VmaWxlCkBAIC0xLDQgKzEsNCBAQAogb2JqLXkJCTo9IGVubGlnaHRlbi5vIHNldHVwLm8gbXVsdGljYWxscy5vIG1tdS5vIFwKLQkJCXRpbWUubyBtYW5hZ2UubyB4ZW4tYXNtLm8gZ3JhbnQtdGFibGUubworCQkJdGltZS5vIHhlbi1hc20ubyBncmFudC10YWJsZS5vIHN1c3BlbmQubwogCiBvYmotJChDT05GSUdfU01QKQkrPSBzbXAubwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYveGVuL2VubGlnaHRlbi5jIGIvYXJjaC94ODYveGVuL2VubGlnaHRlbi5jCmluZGV4IGYwOWMxYzYuLmRjZDRlNTEgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L3hlbi9lbmxpZ2h0ZW4uYworKysgYi9hcmNoL3g4Ni94ZW4vZW5saWdodGVuLmMKQEAgLTQ1LDYgKzQ1LDcgQEAKICNpbmNsdWRlIDxhc20vcGd0YWJsZS5oPgogI2luY2x1ZGUgPGFzbS90bGJmbHVzaC5oPgogI2luY2x1ZGUgPGFzbS9yZWJvb3QuaD4KKyNpbmNsdWRlIDxhc20vcGdhbGxvYy5oPgogCiAjaW5jbHVkZSAieGVuLW9wcy5oIgogI2luY2x1ZGUgIm1tdS5oIgpAQCAtNzUsMTMgKzc2LDEzIEBACiBzdHJ1Y3Qgc3RhcnRfaW5mbyAqeGVuX3N0YXJ0X2luZm87CiBFWFBPUlRfU1lNQk9MX0dQTCh4ZW5fc3RhcnRfaW5mbyk7CiAKLXN0YXRpYyAvKiBfX2luaXRkYXRhICovIHN0cnVjdCBzaGFyZWRfaW5mbyBkdW1teV9zaGFyZWRfaW5mbzsKK3N0cnVjdCBzaGFyZWRfaW5mbyB4ZW5fZHVtbXlfc2hhcmVkX2luZm87CiAKIC8qCiAgKiBQb2ludCBhdCBzb21lIGVtcHR5IG1lbW9yeSB0byBzdGFydCB3aXRoLiBXZSBtYXAgdGhlIHJlYWwgc2hhcmVkX2luZm8KICAqIHBhZ2UgYXMgc29vbiBhcyBmaXhtYXAgaXMgdXAgYW5kIHJ1bm5pbmcuCiAgKi8KLXN0cnVjdCBzaGFyZWRfaW5mbyAqSFlQRVJWSVNPUl9zaGFyZWRfaW5mbyA9ICh2b2lkICopJmR1bW15X3NoYXJlZF9pbmZvOworc3RydWN0IHNoYXJlZF9pbmZvICpIWVBFUlZJU09SX3NoYXJlZF9pbmZvID0gKHZvaWQgKikmeGVuX2R1bW15X3NoYXJlZF9pbmZvOwogCiAvKgogICogRmxhZyB0byBkZXRlcm1pbmUgd2hldGhlciB2Y3B1IGluZm8gcGxhY2VtZW50IGlzIGF2YWlsYWJsZSBvbiBhbGwKQEAgLTk4LDEzICs5OSwxMyBAQAogICovCiBzdGF0aWMgaW50IGhhdmVfdmNwdV9pbmZvX3BsYWNlbWVudCA9IDE7CiAKLXN0YXRpYyB2b2lkIF9faW5pdCB4ZW5fdmNwdV9zZXR1cChpbnQgY3B1KQorc3RhdGljIHZvaWQgeGVuX3ZjcHVfc2V0dXAoaW50IGNwdSkKIHsKIAlzdHJ1Y3QgdmNwdV9yZWdpc3Rlcl92Y3B1X2luZm8gaW5mbzsKIAlpbnQgZXJyOwogCXN0cnVjdCB2Y3B1X2luZm8gKnZjcHVwOwogCi0JQlVHX09OKEhZUEVSVklTT1Jfc2hhcmVkX2luZm8gPT0gJmR1bW15X3NoYXJlZF9pbmZvKTsKKwlCVUdfT04oSFlQRVJWSVNPUl9zaGFyZWRfaW5mbyA9PSAmeGVuX2R1bW15X3NoYXJlZF9pbmZvKTsKIAlwZXJfY3B1KHhlbl92Y3B1LCBjcHUpID0gJkhZUEVSVklTT1Jfc2hhcmVkX2luZm8tPnZjcHVfaW5mb1tjcHVdOwogCiAJaWYgKCFoYXZlX3ZjcHVfaW5mb19wbGFjZW1lbnQpCkBAIC0xMzYsMTEgKzEzNyw0MSBAQAogCX0KIH0KIAorLyoKKyAqIE9uIHJlc3RvcmUsIHNldCB0aGUgdmNwdSBwbGFjZW1lbnQgdXAgYWdhaW4uCisgKiBJZiBpdCBmYWlscywgdGhlbiB3ZSdyZSBpbiBhIGJhZCBzdGF0ZSwgc2luY2UKKyAqIHdlIGNhbid0IGJhY2sgb3V0IGZyb20gdXNpbmcgaXQuLi4KKyAqLwordm9pZCB4ZW5fdmNwdV9yZXN0b3JlKHZvaWQpCit7CisJaWYgKGhhdmVfdmNwdV9pbmZvX3BsYWNlbWVudCkgeworCQlpbnQgY3B1OworCisJCWZvcl9lYWNoX29ubGluZV9jcHUoY3B1KSB7CisJCQlib29sIG90aGVyX2NwdSA9IChjcHUgIT0gc21wX3Byb2Nlc3Nvcl9pZCgpKTsKKworCQkJaWYgKG90aGVyX2NwdSAmJgorCQkJICAgIEhZUEVSVklTT1JfdmNwdV9vcChWQ1BVT1BfZG93biwgY3B1LCBOVUxMKSkKKwkJCQlCVUcoKTsKKworCQkJeGVuX3ZjcHVfc2V0dXAoY3B1KTsKKworCQkJaWYgKG90aGVyX2NwdSAmJgorCQkJICAgIEhZUEVSVklTT1JfdmNwdV9vcChWQ1BVT1BfdXAsIGNwdSwgTlVMTCkpCisJCQkJQlVHKCk7CisJCX0KKworCQlCVUdfT04oIWhhdmVfdmNwdV9pbmZvX3BsYWNlbWVudCk7CisJfQorfQorCiBzdGF0aWMgdm9pZCBfX2luaXQgeGVuX2Jhbm5lcih2b2lkKQogewogCXByaW50ayhLRVJOX0lORk8gIkJvb3RpbmcgcGFyYXZpcnR1YWxpemVkIGtlcm5lbCBvbiAlc1xuIiwKIAkgICAgICAgcHZfaW5mby5uYW1lKTsKLQlwcmludGsoS0VSTl9JTkZPICJIeXBlcnZpc29yIHNpZ25hdHVyZTogJXNcbiIsIHhlbl9zdGFydF9pbmZvLT5tYWdpYyk7CisJcHJpbnRrKEtFUk5fSU5GTyAiSHlwZXJ2aXNvciBzaWduYXR1cmU6ICVzJXNcbiIsCisJICAgICAgIHhlbl9zdGFydF9pbmZvLT5tYWdpYywKKwkgICAgICAgeGVuX2ZlYXR1cmUoWEVORkVBVF9tbXVfcHRfdXBkYXRlX3ByZXNlcnZlX2FkKSA/ICIgKHByZXNlcnZlLUFEKSIgOiAiIik7CiB9CiAKIHN0YXRpYyB2b2lkIHhlbl9jcHVpZCh1bnNpZ25lZCBpbnQgKmF4LCB1bnNpZ25lZCBpbnQgKmJ4LApAQCAtMjM1LDEzICsyNjYsMTMgQEAKIHsKIAlzdHJ1Y3QgdmNwdV9pbmZvICp2Y3B1OwogCi0JLyogVGhlcmUncyBhIG9uZSBpbnN0cnVjdGlvbiBwcmVlbXB0IHdpbmRvdyBoZXJlLiAgV2UgbmVlZCB0bwotCSAgIG1ha2Ugc3VyZSB3ZSdyZSBkb24ndCBzd2l0Y2ggQ1BVcyBiZXR3ZWVuIGdldHRpbmcgdGhlIHZjcHUKLQkgICBwb2ludGVyIGFuZCB1cGRhdGluZyB0aGUgbWFzay4gKi8KLQlwcmVlbXB0X2Rpc2FibGUoKTsKKwkvKiBXZSBkb24ndCBuZWVkIHRvIHdvcnJ5IGFib3V0IGJlaW5nIHByZWVtcHRlZCBoZXJlLCBzaW5jZQorCSAgIGVpdGhlciBhKSBpbnRlcnJ1cHRzIGFyZSBkaXNhYmxlZCwgc28gbm8gcHJlZW1wdGlvbiwgb3IgYikKKwkgICB0aGUgY2FsbGVyIGlzIGNvbmZ1c2VkIGFuZCBpcyB0cnlpbmcgdG8gcmUtZW5hYmxlIGludGVycnVwdHMKKwkgICBvbiBhbiBpbmRldGVybWluYXRlIHByb2Nlc3Nvci4gKi8KKwogCXZjcHUgPSB4ODZfcmVhZF9wZXJjcHUoeGVuX3ZjcHUpOwogCXZjcHUtPmV2dGNobl91cGNhbGxfbWFzayA9IDA7Ci0JcHJlZW1wdF9lbmFibGVfbm9fcmVzY2hlZCgpOwogCiAJLyogRG9lc24ndCBtYXR0ZXIgaWYgd2UgZ2V0IHByZWVtcHRlZCBoZXJlLCBiZWNhdXNlIGFueQogCSAgIHBlbmRpbmcgZXZlbnQgd2lsbCBnZXQgZGVhbHQgd2l0aCBhbnl3YXkuICovCkBAIC0yNTQsNyArMjg1LDcgQEAKIHN0YXRpYyB2b2lkIHhlbl9zYWZlX2hhbHQodm9pZCkKIHsKIAkvKiBCbG9ja2luZyBpbmNsdWRlcyBhbiBpbXBsaWNpdCBsb2NhbF9pcnFfZW5hYmxlKCkuICovCi0JaWYgKEhZUEVSVklTT1Jfc2NoZWRfb3AoU0NIRURPUF9ibG9jaywgMCkgIT0gMCkKKwlpZiAoSFlQRVJWSVNPUl9zY2hlZF9vcChTQ0hFRE9QX2Jsb2NrLCBOVUxMKSAhPSAwKQogCQlCVUcoKTsKIH0KIApAQCAtNjA3LDYgKzYzOCwzMCBAQAogCXhlbl9tY19pc3N1ZShQQVJBVklSVF9MQVpZX01NVSk7CiB9CiAKK3N0YXRpYyB2b2lkIHhlbl9jbHRzKHZvaWQpCit7CisJc3RydWN0IG11bHRpY2FsbF9zcGFjZSBtY3M7CisKKwltY3MgPSB4ZW5fbWNfZW50cnkoMCk7CisKKwlNVUxUSV9mcHVfdGFza3N3aXRjaChtY3MubWMsIDApOworCisJeGVuX21jX2lzc3VlKFBBUkFWSVJUX0xBWllfQ1BVKTsKK30KKworc3RhdGljIHZvaWQgeGVuX3dyaXRlX2NyMCh1bnNpZ25lZCBsb25nIGNyMCkKK3sKKwlzdHJ1Y3QgbXVsdGljYWxsX3NwYWNlIG1jczsKKworCS8qIE9ubHkgcGF5IGF0dGVudGlvbiB0byBjcjAuVFM7IGV2ZXJ5dGhpbmcgZWxzZSBpcworCSAgIGlnbm9yZWQuICovCisJbWNzID0geGVuX21jX2VudHJ5KDApOworCisJTVVMVElfZnB1X3Rhc2tzd2l0Y2gobWNzLm1jLCAoY3IwICYgWDg2X0NSMF9UUykgIT0gMCk7CisKKwl4ZW5fbWNfaXNzdWUoUEFSQVZJUlRfTEFaWV9DUFUpOworfQorCiBzdGF0aWMgdm9pZCB4ZW5fd3JpdGVfY3IyKHVuc2lnbmVkIGxvbmcgY3IyKQogewogCXg4Nl9yZWFkX3BlcmNwdSh4ZW5fdmNwdSktPmFyY2guY3IyID0gY3IyOwpAQCAtNjI0LDggKzY3OSwxMCBAQAogCiBzdGF0aWMgdm9pZCB4ZW5fd3JpdGVfY3I0KHVuc2lnbmVkIGxvbmcgY3I0KQogewotCS8qIEp1c3QgaWdub3JlIGNyNCBjaGFuZ2VzOyBYZW4gZG9lc24ndCBhbGxvdyB1cyB0byBkbwotCSAgIGFueXRoaW5nIGFueXdheS4gKi8KKwljcjQgJj0gflg4Nl9DUjRfUEdFOworCWNyNCAmPSB+WDg2X0NSNF9QU0U7CisKKwluYXRpdmVfd3JpdGVfY3I0KGNyNCk7CiB9CiAKIHN0YXRpYyB1bnNpZ25lZCBsb25nIHhlbl9yZWFkX2NyMyh2b2lkKQpAQCAtODMxLDcgKzg4OCw3IEBACiAJCQkgIFBGTl9ET1dOKF9fcGEoeGVuX3N0YXJ0X2luZm8tPnB0X2Jhc2UpKSk7CiB9CiAKLXN0YXRpYyBfX2luaXQgdm9pZCBzZXR1cF9zaGFyZWRfaW5mbyh2b2lkKQordm9pZCB4ZW5fc2V0dXBfc2hhcmVkX2luZm8odm9pZCkKIHsKIAlpZiAoIXhlbl9mZWF0dXJlKFhFTkZFQVRfYXV0b190cmFuc2xhdGVkX3BoeXNtYXApKSB7CiAJCXVuc2lnbmVkIGxvbmcgYWRkciA9IGZpeF90b192aXJ0KEZJWF9QQVJBVklSVF9CT09UTUFQKTsKQEAgLTg1NCw2ICs5MTEsOCBAQAogCS8qIEluIFVQIHRoaXMgaXMgYXMgZ29vZCBhIHBsYWNlIGFzIGFueSB0byBzZXQgdXAgc2hhcmVkIGluZm8gKi8KIAl4ZW5fc2V0dXBfdmNwdV9pbmZvX3BsYWNlbWVudCgpOwogI2VuZGlmCisKKwl4ZW5fc2V0dXBfbWZuX2xpc3RfbGlzdCgpOwogfQogCiBzdGF0aWMgX19pbml0IHZvaWQgeGVuX3BhZ2V0YWJsZV9zZXR1cF9kb25lKHBnZF90ICpiYXNlKQpAQCAtODY2LDE1ICs5MjUsMjMgQEAKIAlwdl9tbXVfb3BzLnJlbGVhc2VfcG1kID0geGVuX3JlbGVhc2VfcG1kOwogCXB2X21tdV9vcHMuc2V0X3B0ZSA9IHhlbl9zZXRfcHRlOwogCi0Jc2V0dXBfc2hhcmVkX2luZm8oKTsKKwl4ZW5fc2V0dXBfc2hhcmVkX2luZm8oKTsKIAogCS8qIEFjdHVhbGx5IHBpbiB0aGUgcGFnZXRhYmxlIGRvd24sIGJ1dCB3ZSBjYW4ndCBzZXQgUEdfcGlubmVkCiAJICAgeWV0IGJlY2F1c2UgdGhlIHBhZ2Ugc3RydWN0dXJlcyBkb24ndCBleGlzdCB5ZXQuICovCiAJcGluX3BhZ2V0YWJsZV9wZm4oTU1VRVhUX1BJTl9MM19UQUJMRSwgUEZOX0RPV04oX19wYShiYXNlKSkpOwogfQogCitzdGF0aWMgX19pbml0IHZvaWQgeGVuX3Bvc3RfYWxsb2NhdG9yX2luaXQodm9pZCkKK3sKKwlwdl9tbXVfb3BzLnNldF9wbWQgPSB4ZW5fc2V0X3BtZDsKKwlwdl9tbXVfb3BzLnNldF9wdWQgPSB4ZW5fc2V0X3B1ZDsKKworCXhlbl9tYXJrX2luaXRfbW1fcGlubmVkKCk7Cit9CisKIC8qIFRoaXMgaXMgY2FsbGVkIG9uY2Ugd2UgaGF2ZSB0aGUgY3B1X3Bvc3NpYmxlX21hcCAqLwotdm9pZCBfX2luaXQgeGVuX3NldHVwX3ZjcHVfaW5mb19wbGFjZW1lbnQodm9pZCkKK3ZvaWQgeGVuX3NldHVwX3ZjcHVfaW5mb19wbGFjZW1lbnQodm9pZCkKIHsKIAlpbnQgY3B1OwogCkBAIC05NDcsNiArMTAxNCwzMyBAQAogCXJldHVybiByZXQ7CiB9CiAKK3N0YXRpYyB2b2lkIHhlbl9zZXRfZml4bWFwKHVuc2lnbmVkIGlkeCwgdW5zaWduZWQgbG9uZyBwaHlzLCBwZ3Byb3RfdCBwcm90KQoreworCXB0ZV90IHB0ZTsKKworCXBoeXMgPj49IFBBR0VfU0hJRlQ7CisKKwlzd2l0Y2ggKGlkeCkgeworCWNhc2UgRklYX0JUTUFQX0VORCAuLi4gRklYX0JUTUFQX0JFR0lOOgorI2lmZGVmIENPTkZJR19YODZfRjAwRl9CVUcKKwljYXNlIEZJWF9GMDBGX0lEVDoKKyNlbmRpZgorCWNhc2UgRklYX1dQX1RFU1Q6CisJY2FzZSBGSVhfVkRTTzoKKyNpZmRlZiBDT05GSUdfWDg2X0xPQ0FMX0FQSUMKKwljYXNlIEZJWF9BUElDX0JBU0U6CS8qIG1hcHMgZHVtbXkgbG9jYWwgQVBJQyAqLworI2VuZGlmCisJCXB0ZSA9IHBmbl9wdGUocGh5cywgcHJvdCk7CisJCWJyZWFrOworCisJZGVmYXVsdDoKKwkJcHRlID0gbWZuX3B0ZShwaHlzLCBwcm90KTsKKwkJYnJlYWs7CisJfQorCisJX19uYXRpdmVfc2V0X2ZpeG1hcChpZHgsIHB0ZSk7Cit9CisKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgcHZfaW5mbyB4ZW5faW5mbyBfX2luaXRkYXRhID0gewogCS5wYXJhdmlydF9lbmFibGVkID0gMSwKIAkuc2hhcmVkX2tlcm5lbF9wbWQgPSAwLApAQCAtOTYwLDcgKzEwNTQsNyBAQAogCS5iYW5uZXIgPSB4ZW5fYmFubmVyLAogCS5tZW1vcnlfc2V0dXAgPSB4ZW5fbWVtb3J5X3NldHVwLAogCS5hcmNoX3NldHVwID0geGVuX2FyY2hfc2V0dXAsCi0JLnBvc3RfYWxsb2NhdG9yX2luaXQgPSB4ZW5fbWFya19pbml0X21tX3Bpbm5lZCwKKwkucG9zdF9hbGxvY2F0b3JfaW5pdCA9IHhlbl9wb3N0X2FsbG9jYXRvcl9pbml0LAogfTsKIAogc3RhdGljIGNvbnN0IHN0cnVjdCBwdl90aW1lX29wcyB4ZW5fdGltZV9vcHMgX19pbml0ZGF0YSA9IHsKQEAgLTk2OCw3ICsxMDYyLDcgQEAKIAogCS5zZXRfd2FsbGNsb2NrID0geGVuX3NldF93YWxsY2xvY2ssCiAJLmdldF93YWxsY2xvY2sgPSB4ZW5fZ2V0X3dhbGxjbG9jaywKLQkuZ2V0X2NwdV9raHogPSB4ZW5fY3B1X2toeiwKKwkuZ2V0X3RzY19raHogPSB4ZW5fdHNjX2toeiwKIAkuc2NoZWRfY2xvY2sgPSB4ZW5fc2NoZWRfY2xvY2ssCiB9OwogCkBAIC05NzgsMTAgKzEwNzIsMTAgQEAKIAkuc2V0X2RlYnVncmVnID0geGVuX3NldF9kZWJ1Z3JlZywKIAkuZ2V0X2RlYnVncmVnID0geGVuX2dldF9kZWJ1Z3JlZywKIAotCS5jbHRzID0gbmF0aXZlX2NsdHMsCisJLmNsdHMgPSB4ZW5fY2x0cywKIAogCS5yZWFkX2NyMCA9IG5hdGl2ZV9yZWFkX2NyMCwKLQkud3JpdGVfY3IwID0gbmF0aXZlX3dyaXRlX2NyMCwKKwkud3JpdGVfY3IwID0geGVuX3dyaXRlX2NyMCwKIAogCS5yZWFkX2NyNCA9IG5hdGl2ZV9yZWFkX2NyNCwKIAkucmVhZF9jcjRfc2FmZSA9IG5hdGl2ZV9yZWFkX2NyNF9zYWZlLApAQCAtOTk1LDcgKzEwODksNyBAQAogCS5yZWFkX3BtYyA9IG5hdGl2ZV9yZWFkX3BtYywKIAogCS5pcmV0ID0geGVuX2lyZXQsCi0JLmlycV9lbmFibGVfc3lzY2FsbF9yZXQgPSB4ZW5fc3lzZXhpdCwKKwkuaXJxX2VuYWJsZV9zeXNleGl0ID0geGVuX3N5c2V4aXQsCiAKIAkubG9hZF90cl9kZXNjID0gcGFyYXZpcnRfbm9wLAogCS5zZXRfbGR0ID0geGVuX3NldF9sZHQsCkBAIC0xMDI5LDYgKzExMjMsOSBAQAogCS5pcnFfZW5hYmxlID0geGVuX2lycV9lbmFibGUsCiAJLnNhZmVfaGFsdCA9IHhlbl9zYWZlX2hhbHQsCiAJLmhhbHQgPSB4ZW5faGFsdCwKKyNpZmRlZiBDT05GSUdfWDg2XzY0CisJLmFkanVzdF9leGNlcHRpb25fZnJhbWUgPSBwYXJhdmlydF9ub3AsCisjZW5kaWYKIH07CiAKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgcHZfYXBpY19vcHMgeGVuX2FwaWNfb3BzIF9faW5pdGRhdGEgPSB7CkBAIC0xMDYwLDYgKzExNTcsOSBAQAogCS5wdGVfdXBkYXRlID0gcGFyYXZpcnRfbm9wLAogCS5wdGVfdXBkYXRlX2RlZmVyID0gcGFyYXZpcnRfbm9wLAogCisJLnBnZF9hbGxvYyA9IF9fcGFyYXZpcnRfcGdkX2FsbG9jLAorCS5wZ2RfZnJlZSA9IHBhcmF2aXJ0X25vcCwKKwogCS5hbGxvY19wdGUgPSB4ZW5fYWxsb2NfcHRlX2luaXQsCiAJLnJlbGVhc2VfcHRlID0geGVuX3JlbGVhc2VfcHRlX2luaXQsCiAJLmFsbG9jX3BtZCA9IHhlbl9hbGxvY19wdGVfaW5pdCwKQEAgLTEwNzIsOSArMTE3MiwxMyBAQAogCiAJLnNldF9wdGUgPSBOVUxMLAkvKiBzZWUgeGVuX3BhZ2V0YWJsZV9zZXR1cF8qICovCiAJLnNldF9wdGVfYXQgPSB4ZW5fc2V0X3B0ZV9hdCwKLQkuc2V0X3BtZCA9IHhlbl9zZXRfcG1kLAorCS5zZXRfcG1kID0geGVuX3NldF9wbWRfaHlwZXIsCisKKwkucHRlcF9tb2RpZnlfcHJvdF9zdGFydCA9IF9fcHRlcF9tb2RpZnlfcHJvdF9zdGFydCwKKwkucHRlcF9tb2RpZnlfcHJvdF9jb21taXQgPSBfX3B0ZXBfbW9kaWZ5X3Byb3RfY29tbWl0LAogCiAJLnB0ZV92YWwgPSB4ZW5fcHRlX3ZhbCwKKwkucHRlX2ZsYWdzID0gbmF0aXZlX3B0ZV92YWwsCiAJLnBnZF92YWwgPSB4ZW5fcGdkX3ZhbCwKIAogCS5tYWtlX3B0ZSA9IHhlbl9tYWtlX3B0ZSwKQEAgLTEwODIsNyArMTE4Niw3IEBACiAKIAkuc2V0X3B0ZV9hdG9taWMgPSB4ZW5fc2V0X3B0ZV9hdG9taWMsCiAJLnNldF9wdGVfcHJlc2VudCA9IHhlbl9zZXRfcHRlX2F0LAotCS5zZXRfcHVkID0geGVuX3NldF9wdWQsCisJLnNldF9wdWQgPSB4ZW5fc2V0X3B1ZF9oeXBlciwKIAkucHRlX2NsZWFyID0geGVuX3B0ZV9jbGVhciwKIAkucG1kX2NsZWFyID0geGVuX3BtZF9jbGVhciwKIApAQCAtMTA5Nyw2ICsxMjAxLDggQEAKIAkJLmVudGVyID0gcGFyYXZpcnRfZW50ZXJfbGF6eV9tbXUsCiAJCS5sZWF2ZSA9IHhlbl9sZWF2ZV9sYXp5LAogCX0sCisKKwkuc2V0X2ZpeG1hcCA9IHhlbl9zZXRfZml4bWFwLAogfTsKIAogI2lmZGVmIENPTkZJR19TTVAKQEAgLTExMTQsMTEgKzEyMjAsMTMgQEAKIAogc3RhdGljIHZvaWQgeGVuX3JlYm9vdChpbnQgcmVhc29uKQogeworCXN0cnVjdCBzY2hlZF9zaHV0ZG93biByID0geyAucmVhc29uID0gcmVhc29uIH07CisKICNpZmRlZiBDT05GSUdfU01QCiAJc21wX3NlbmRfc3RvcCgpOwogI2VuZGlmCiAKLQlpZiAoSFlQRVJWSVNPUl9zY2hlZF9vcChTQ0hFRE9QX3NodXRkb3duLCByZWFzb24pKQorCWlmIChIWVBFUlZJU09SX3NjaGVkX29wKFNDSEVET1Bfc2h1dGRvd24sICZyKSkKIAkJQlVHKCk7CiB9CiAKQEAgLTExNzMsNiArMTI4MSw4IEBACiAKIAlCVUdfT04obWVtY21wKHhlbl9zdGFydF9pbmZvLT5tYWdpYywgInhlbi0zIiwgNSkgIT0gMCk7CiAKKwl4ZW5fc2V0dXBfZmVhdHVyZXMoKTsKKwogCS8qIEluc3RhbGwgWGVuIHBhcmF2aXJ0IG9wcyAqLwogCXB2X2luZm8gPSB4ZW5faW5mbzsKIAlwdl9pbml0X29wcyA9IHhlbl9pbml0X29wczsKQEAgLTExODIsMjEgKzEyOTIsMjYgQEAKIAlwdl9hcGljX29wcyA9IHhlbl9hcGljX29wczsKIAlwdl9tbXVfb3BzID0geGVuX21tdV9vcHM7CiAKKwlpZiAoeGVuX2ZlYXR1cmUoWEVORkVBVF9tbXVfcHRfdXBkYXRlX3ByZXNlcnZlX2FkKSkgeworCQlwdl9tbXVfb3BzLnB0ZXBfbW9kaWZ5X3Byb3Rfc3RhcnQgPSB4ZW5fcHRlcF9tb2RpZnlfcHJvdF9zdGFydDsKKwkJcHZfbW11X29wcy5wdGVwX21vZGlmeV9wcm90X2NvbW1pdCA9IHhlbl9wdGVwX21vZGlmeV9wcm90X2NvbW1pdDsKKwl9CisKIAltYWNoaW5lX29wcyA9IHhlbl9tYWNoaW5lX29wczsKIAogI2lmZGVmIENPTkZJR19TTVAKIAlzbXBfb3BzID0geGVuX3NtcF9vcHM7CiAjZW5kaWYKIAotCXhlbl9zZXR1cF9mZWF0dXJlcygpOwotCiAJLyogR2V0IG1mbiBsaXN0ICovCiAJaWYgKCF4ZW5fZmVhdHVyZShYRU5GRUFUX2F1dG9fdHJhbnNsYXRlZF9waHlzbWFwKSkKLQkJcGh5c190b19tYWNoaW5lX21hcHBpbmcgPSAodW5zaWduZWQgbG9uZyAqKXhlbl9zdGFydF9pbmZvLT5tZm5fbGlzdDsKKwkJeGVuX2J1aWxkX2R5bmFtaWNfcGh5c190b19tYWNoaW5lKCk7CiAKIAlwZ2QgPSAocGdkX3QgKil4ZW5fc3RhcnRfaW5mby0+cHRfYmFzZTsKIAorCWluaXRfcGdfdGFibGVzX3N0YXJ0ID0gX19wYShwZ2QpOwogCWluaXRfcGdfdGFibGVzX2VuZCA9IF9fcGEocGdkKSArIHhlbl9zdGFydF9pbmZvLT5ucl9wdF9mcmFtZXMqUEFHRV9TSVpFOworCW1heF9wZm5fbWFwcGVkID0gKGluaXRfcGdfdGFibGVzX2VuZCArIDUxMioxMDI0KSA+PiBQQUdFX1NISUZUOwogCiAJaW5pdF9tbS5wZ2QgPSBwZ2Q7IC8qIHVzZSB0aGUgWGVuIHBhZ2V0YWJsZXMgdG8gc3RhcnQgKi8KIApAQCAtMTIzMiw5ICsxMzQ3LDEyIEBACiAJCT8gX19wYSh4ZW5fc3RhcnRfaW5mby0+bW9kX3N0YXJ0KSA6IDA7CiAJYm9vdF9wYXJhbXMuaGRyLnJhbWRpc2tfc2l6ZSA9IHhlbl9zdGFydF9pbmZvLT5tb2RfbGVuOwogCi0JaWYgKCFpc19pbml0aWFsX3hlbmRvbWFpbigpKQorCWlmICghaXNfaW5pdGlhbF94ZW5kb21haW4oKSkgeworCQlhZGRfcHJlZmVycmVkX2NvbnNvbGUoInhlbmJvb3QiLCAwLCBOVUxMKTsKKwkJYWRkX3ByZWZlcnJlZF9jb25zb2xlKCJ0dHkiLCAwLCBOVUxMKTsKIAkJYWRkX3ByZWZlcnJlZF9jb25zb2xlKCJodmMiLCAwLCBOVUxMKTsKKwl9CiAKIAkvKiBTdGFydCB0aGUgd29ybGQgKi8KLQlzdGFydF9rZXJuZWwoKTsKKwlpMzg2X3N0YXJ0X2tlcm5lbCgpOwogfQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYveGVuL21hbmFnZS5jIGIvYXJjaC94ODYveGVuL21hbmFnZS5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhYTdhZjllLi4wMDAwMDAwCi0tLSBhL2FyY2gveDg2L3hlbi9tYW5hZ2UuYworKysgL2Rldi9udWxsCkBAIC0xLDE0MyArMCwwIEBACi0vKgotICogSGFuZGxlIGV4dGVybiByZXF1ZXN0cyBmb3Igc2h1dGRvd24sIHJlYm9vdCBhbmQgc3lzcnEKLSAqLwotI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgotI2luY2x1ZGUgPGxpbnV4L2Vyci5oPgotI2luY2x1ZGUgPGxpbnV4L3JlYm9vdC5oPgotI2luY2x1ZGUgPGxpbnV4L3N5c3JxLmg+Ci0KLSNpbmNsdWRlIDx4ZW4veGVuYnVzLmg+Ci0KLSNkZWZpbmUgU0hVVERPV05fSU5WQUxJRCAgLTEKLSNkZWZpbmUgU0hVVERPV05fUE9XRVJPRkYgIDAKLSNkZWZpbmUgU0hVVERPV05fU1VTUEVORCAgIDIKLS8qIENvZGUgMyBpcyBTSFVURE9XTl9DUkFTSCwgd2hpY2ggd2UgZG9uJ3QgdXNlIGJlY2F1c2UgdGhlIGRvbWFpbiBjYW4gb25seQotICogcmVwb3J0IGEgY3Jhc2gsIG5vdCBiZSBpbnN0cnVjdGVkIHRvIGNyYXNoIQotICogSEFMVCBpcyB0aGUgc2FtZSBhcyBQT1dFUk9GRiwgYXMgZmFyIGFzIHdlJ3JlIGNvbmNlcm5lZC4gIFRoZSB0b29scyB1c2UKLSAqIHRoZSBkaXN0aW5jdGlvbiB3aGVuIHdlIHJldHVybiB0aGUgcmVhc29uIGNvZGUgdG8gdGhlbS4KLSAqLwotI2RlZmluZSBTSFVURE9XTl9IQUxUICAgICAgNAotCi0vKiBJZ25vcmUgbXVsdGlwbGUgc2h1dGRvd24gcmVxdWVzdHMuICovCi1zdGF0aWMgaW50IHNodXR0aW5nX2Rvd24gPSBTSFVURE9XTl9JTlZBTElEOwotCi1zdGF0aWMgdm9pZCBzaHV0ZG93bl9oYW5kbGVyKHN0cnVjdCB4ZW5idXNfd2F0Y2ggKndhdGNoLAotCQkJICAgICBjb25zdCBjaGFyICoqdmVjLCB1bnNpZ25lZCBpbnQgbGVuKQotewotCWNoYXIgKnN0cjsKLQlzdHJ1Y3QgeGVuYnVzX3RyYW5zYWN0aW9uIHhidDsKLQlpbnQgZXJyOwotCi0JaWYgKHNodXR0aW5nX2Rvd24gIT0gU0hVVERPV05fSU5WQUxJRCkKLQkJcmV0dXJuOwotCi0gYWdhaW46Ci0JZXJyID0geGVuYnVzX3RyYW5zYWN0aW9uX3N0YXJ0KCZ4YnQpOwotCWlmIChlcnIpCi0JCXJldHVybjsKLQotCXN0ciA9IChjaGFyICopeGVuYnVzX3JlYWQoeGJ0LCAiY29udHJvbCIsICJzaHV0ZG93biIsIE5VTEwpOwotCS8qIElnbm9yZSByZWFkIGVycm9ycyBhbmQgZW1wdHkgcmVhZHMuICovCi0JaWYgKFhFTkJVU19JU19FUlJfUkVBRChzdHIpKSB7Ci0JCXhlbmJ1c190cmFuc2FjdGlvbl9lbmQoeGJ0LCAxKTsKLQkJcmV0dXJuOwotCX0KLQotCXhlbmJ1c193cml0ZSh4YnQsICJjb250cm9sIiwgInNodXRkb3duIiwgIiIpOwotCi0JZXJyID0geGVuYnVzX3RyYW5zYWN0aW9uX2VuZCh4YnQsIDApOwotCWlmIChlcnIgPT0gLUVBR0FJTikgewotCQlrZnJlZShzdHIpOwotCQlnb3RvIGFnYWluOwotCX0KLQotCWlmIChzdHJjbXAoc3RyLCAicG93ZXJvZmYiKSA9PSAwIHx8Ci0JICAgIHN0cmNtcChzdHIsICJoYWx0IikgPT0gMCkKLQkJb3JkZXJseV9wb3dlcm9mZihmYWxzZSk7Ci0JZWxzZSBpZiAoc3RyY21wKHN0ciwgInJlYm9vdCIpID09IDApCi0JCWN0cmxfYWx0X2RlbCgpOwotCWVsc2UgewotCQlwcmludGsoS0VSTl9JTkZPICJJZ25vcmluZyBzaHV0ZG93biByZXF1ZXN0OiAlc1xuIiwgc3RyKTsKLQkJc2h1dHRpbmdfZG93biA9IFNIVVRET1dOX0lOVkFMSUQ7Ci0JfQotCi0Ja2ZyZWUoc3RyKTsKLX0KLQotc3RhdGljIHZvaWQgc3lzcnFfaGFuZGxlcihzdHJ1Y3QgeGVuYnVzX3dhdGNoICp3YXRjaCwgY29uc3QgY2hhciAqKnZlYywKLQkJCSAgdW5zaWduZWQgaW50IGxlbikKLXsKLQljaGFyIHN5c3JxX2tleSA9ICdcMCc7Ci0Jc3RydWN0IHhlbmJ1c190cmFuc2FjdGlvbiB4YnQ7Ci0JaW50IGVycjsKLQotIGFnYWluOgotCWVyciA9IHhlbmJ1c190cmFuc2FjdGlvbl9zdGFydCgmeGJ0KTsKLQlpZiAoZXJyKQotCQlyZXR1cm47Ci0JaWYgKCF4ZW5idXNfc2NhbmYoeGJ0LCAiY29udHJvbCIsICJzeXNycSIsICIlYyIsICZzeXNycV9rZXkpKSB7Ci0JCXByaW50ayhLRVJOX0VSUiAiVW5hYmxlIHRvIHJlYWQgc3lzcnEgY29kZSBpbiAiCi0JCSAgICAgICAiY29udHJvbC9zeXNycVxuIik7Ci0JCXhlbmJ1c190cmFuc2FjdGlvbl9lbmQoeGJ0LCAxKTsKLQkJcmV0dXJuOwotCX0KLQotCWlmIChzeXNycV9rZXkgIT0gJ1wwJykKLQkJeGVuYnVzX3ByaW50Zih4YnQsICJjb250cm9sIiwgInN5c3JxIiwgIiVjIiwgJ1wwJyk7Ci0KLQllcnIgPSB4ZW5idXNfdHJhbnNhY3Rpb25fZW5kKHhidCwgMCk7Ci0JaWYgKGVyciA9PSAtRUFHQUlOKQotCQlnb3RvIGFnYWluOwotCi0JaWYgKHN5c3JxX2tleSAhPSAnXDAnKQotCQloYW5kbGVfc3lzcnEoc3lzcnFfa2V5LCBOVUxMKTsKLX0KLQotc3RhdGljIHN0cnVjdCB4ZW5idXNfd2F0Y2ggc2h1dGRvd25fd2F0Y2ggPSB7Ci0JLm5vZGUgPSAiY29udHJvbC9zaHV0ZG93biIsCi0JLmNhbGxiYWNrID0gc2h1dGRvd25faGFuZGxlcgotfTsKLQotc3RhdGljIHN0cnVjdCB4ZW5idXNfd2F0Y2ggc3lzcnFfd2F0Y2ggPSB7Ci0JLm5vZGUgPSAiY29udHJvbC9zeXNycSIsCi0JLmNhbGxiYWNrID0gc3lzcnFfaGFuZGxlcgotfTsKLQotc3RhdGljIGludCBzZXR1cF9zaHV0ZG93bl93YXRjaGVyKHZvaWQpCi17Ci0JaW50IGVycjsKLQotCWVyciA9IHJlZ2lzdGVyX3hlbmJ1c193YXRjaCgmc2h1dGRvd25fd2F0Y2gpOwotCWlmIChlcnIpIHsKLQkJcHJpbnRrKEtFUk5fRVJSICJGYWlsZWQgdG8gc2V0IHNodXRkb3duIHdhdGNoZXJcbiIpOwotCQlyZXR1cm4gZXJyOwotCX0KLQotCWVyciA9IHJlZ2lzdGVyX3hlbmJ1c193YXRjaCgmc3lzcnFfd2F0Y2gpOwotCWlmIChlcnIpIHsKLQkJcHJpbnRrKEtFUk5fRVJSICJGYWlsZWQgdG8gc2V0IHN5c3JxIHdhdGNoZXJcbiIpOwotCQlyZXR1cm4gZXJyOwotCX0KLQotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IHNodXRkb3duX2V2ZW50KHN0cnVjdCBub3RpZmllcl9ibG9jayAqbm90aWZpZXIsCi0JCQkgIHVuc2lnbmVkIGxvbmcgZXZlbnQsCi0JCQkgIHZvaWQgKmRhdGEpCi17Ci0Jc2V0dXBfc2h1dGRvd25fd2F0Y2hlcigpOwotCXJldHVybiBOT1RJRllfRE9ORTsKLX0KLQotc3RhdGljIGludCBfX2luaXQgc2V0dXBfc2h1dGRvd25fZXZlbnQodm9pZCkKLXsKLQlzdGF0aWMgc3RydWN0IG5vdGlmaWVyX2Jsb2NrIHhlbnN0b3JlX25vdGlmaWVyID0gewotCQkubm90aWZpZXJfY2FsbCA9IHNodXRkb3duX2V2ZW50Ci0JfTsKLQlyZWdpc3Rlcl94ZW5zdG9yZV9ub3RpZmllcigmeGVuc3RvcmVfbm90aWZpZXIpOwotCi0JcmV0dXJuIDA7Ci19Ci0KLXN1YnN5c19pbml0Y2FsbChzZXR1cF9zaHV0ZG93bl9ldmVudCk7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni94ZW4vbW11LmMgYi9hcmNoL3g4Ni94ZW4vbW11LmMKaW5kZXggNGU1MjdlNy4uNDJiM2I5ZSAxMDA2NDQKLS0tIGEvYXJjaC94ODYveGVuL21tdS5jCisrKyBiL2FyY2gveDg2L3hlbi9tbXUuYwpAQCAtNTYsNiArNTYsMTMxIEBACiAjaW5jbHVkZSAibXVsdGljYWxscy5oIgogI2luY2x1ZGUgIm1tdS5oIgogCisjZGVmaW5lIFAyTV9FTlRSSUVTX1BFUl9QQUdFCShQQUdFX1NJWkUgLyBzaXplb2YodW5zaWduZWQgbG9uZykpCisjZGVmaW5lIFRPUF9FTlRSSUVTCQkoTUFYX0RPTUFJTl9QQUdFUyAvIFAyTV9FTlRSSUVTX1BFUl9QQUdFKQorCisvKiBQbGFjZWhvbGRlciBmb3IgaG9sZXMgaW4gdGhlIGFkZHJlc3Mgc3BhY2UgKi8KK3N0YXRpYyB1bnNpZ25lZCBsb25nIHAybV9taXNzaW5nW1AyTV9FTlRSSUVTX1BFUl9QQUdFXQorCV9fYXR0cmlidXRlX18oKHNlY3Rpb24oIi5kYXRhLnBhZ2VfYWxpZ25lZCIpKSkgPQorCQl7IFsgMCAuLi4gUDJNX0VOVFJJRVNfUEVSX1BBR0UtMSBdID0gfjBVTCB9OworCisgLyogQXJyYXkgb2YgcG9pbnRlcnMgdG8gcGFnZXMgY29udGFpbmluZyBwMm0gZW50cmllcyAqLworc3RhdGljIHVuc2lnbmVkIGxvbmcgKnAybV90b3BbVE9QX0VOVFJJRVNdCisJX19hdHRyaWJ1dGVfXygoc2VjdGlvbigiLmRhdGEucGFnZV9hbGlnbmVkIikpKSA9CisJCXsgWyAwIC4uLiBUT1BfRU5UUklFUyAtIDFdID0gJnAybV9taXNzaW5nWzBdIH07CisKKy8qIEFycmF5cyBvZiBwMm0gYXJyYXlzIGV4cHJlc3NlZCBpbiBtZm5zIHVzZWQgZm9yIHNhdmUvcmVzdG9yZSAqLworc3RhdGljIHVuc2lnbmVkIGxvbmcgcDJtX3RvcF9tZm5bVE9QX0VOVFJJRVNdCisJX19hdHRyaWJ1dGVfXygoc2VjdGlvbigiLmJzcy5wYWdlX2FsaWduZWQiKSkpOworCitzdGF0aWMgdW5zaWduZWQgbG9uZyBwMm1fdG9wX21mbl9saXN0WworCQkJUEFHRV9BTElHTihUT1BfRU5UUklFUyAvIFAyTV9FTlRSSUVTX1BFUl9QQUdFKV0KKwlfX2F0dHJpYnV0ZV9fKChzZWN0aW9uKCIuYnNzLnBhZ2VfYWxpZ25lZCIpKSk7CisKK3N0YXRpYyBpbmxpbmUgdW5zaWduZWQgcDJtX3RvcF9pbmRleCh1bnNpZ25lZCBsb25nIHBmbikKK3sKKwlCVUdfT04ocGZuID49IE1BWF9ET01BSU5fUEFHRVMpOworCXJldHVybiBwZm4gLyBQMk1fRU5UUklFU19QRVJfUEFHRTsKK30KKworc3RhdGljIGlubGluZSB1bnNpZ25lZCBwMm1faW5kZXgodW5zaWduZWQgbG9uZyBwZm4pCit7CisJcmV0dXJuIHBmbiAlIFAyTV9FTlRSSUVTX1BFUl9QQUdFOworfQorCisvKiBCdWlsZCB0aGUgcGFyYWxsZWwgcDJtX3RvcF9tZm4gc3RydWN0dXJlcyAqLwordm9pZCB4ZW5fc2V0dXBfbWZuX2xpc3RfbGlzdCh2b2lkKQoreworCXVuc2lnbmVkIHBmbiwgaWR4OworCisJZm9yKHBmbiA9IDA7IHBmbiA8IE1BWF9ET01BSU5fUEFHRVM7IHBmbiArPSBQMk1fRU5UUklFU19QRVJfUEFHRSkgeworCQl1bnNpZ25lZCB0b3BpZHggPSBwMm1fdG9wX2luZGV4KHBmbik7CisKKwkJcDJtX3RvcF9tZm5bdG9waWR4XSA9IHZpcnRfdG9fbWZuKHAybV90b3BbdG9waWR4XSk7CisJfQorCisJZm9yKGlkeCA9IDA7IGlkeCA8IEFSUkFZX1NJWkUocDJtX3RvcF9tZm5fbGlzdCk7IGlkeCsrKSB7CisJCXVuc2lnbmVkIHRvcGlkeCA9IGlkeCAqIFAyTV9FTlRSSUVTX1BFUl9QQUdFOworCQlwMm1fdG9wX21mbl9saXN0W2lkeF0gPSB2aXJ0X3RvX21mbigmcDJtX3RvcF9tZm5bdG9waWR4XSk7CisJfQorCisJQlVHX09OKEhZUEVSVklTT1Jfc2hhcmVkX2luZm8gPT0gJnhlbl9kdW1teV9zaGFyZWRfaW5mbyk7CisKKwlIWVBFUlZJU09SX3NoYXJlZF9pbmZvLT5hcmNoLnBmbl90b19tZm5fZnJhbWVfbGlzdF9saXN0ID0KKwkJdmlydF90b19tZm4ocDJtX3RvcF9tZm5fbGlzdCk7CisJSFlQRVJWSVNPUl9zaGFyZWRfaW5mby0+YXJjaC5tYXhfcGZuID0geGVuX3N0YXJ0X2luZm8tPm5yX3BhZ2VzOworfQorCisvKiBTZXQgdXAgcDJtX3RvcCB0byBwb2ludCB0byB0aGUgZG9tYWluLWJ1aWxkZXIgcHJvdmlkZWQgcDJtIHBhZ2VzICovCit2b2lkIF9faW5pdCB4ZW5fYnVpbGRfZHluYW1pY19waHlzX3RvX21hY2hpbmUodm9pZCkKK3sKKwl1bnNpZ25lZCBsb25nICptZm5fbGlzdCA9ICh1bnNpZ25lZCBsb25nICopeGVuX3N0YXJ0X2luZm8tPm1mbl9saXN0OworCXVuc2lnbmVkIGxvbmcgbWF4X3BmbiA9IG1pbihNQVhfRE9NQUlOX1BBR0VTLCB4ZW5fc3RhcnRfaW5mby0+bnJfcGFnZXMpOworCXVuc2lnbmVkIHBmbjsKKworCWZvcihwZm4gPSAwOyBwZm4gPCBtYXhfcGZuOyBwZm4gKz0gUDJNX0VOVFJJRVNfUEVSX1BBR0UpIHsKKwkJdW5zaWduZWQgdG9waWR4ID0gcDJtX3RvcF9pbmRleChwZm4pOworCisJCXAybV90b3BbdG9waWR4XSA9ICZtZm5fbGlzdFtwZm5dOworCX0KK30KKwordW5zaWduZWQgbG9uZyBnZXRfcGh5c190b19tYWNoaW5lKHVuc2lnbmVkIGxvbmcgcGZuKQoreworCXVuc2lnbmVkIHRvcGlkeCwgaWR4OworCisJaWYgKHVubGlrZWx5KHBmbiA+PSBNQVhfRE9NQUlOX1BBR0VTKSkKKwkJcmV0dXJuIElOVkFMSURfUDJNX0VOVFJZOworCisJdG9waWR4ID0gcDJtX3RvcF9pbmRleChwZm4pOworCWlkeCA9IHAybV9pbmRleChwZm4pOworCXJldHVybiBwMm1fdG9wW3RvcGlkeF1baWR4XTsKK30KK0VYUE9SVF9TWU1CT0xfR1BMKGdldF9waHlzX3RvX21hY2hpbmUpOworCitzdGF0aWMgdm9pZCBhbGxvY19wMm0odW5zaWduZWQgbG9uZyAqKnBwLCB1bnNpZ25lZCBsb25nICptZm5wKQoreworCXVuc2lnbmVkIGxvbmcgKnA7CisJdW5zaWduZWQgaTsKKworCXAgPSAodm9pZCAqKV9fZ2V0X2ZyZWVfcGFnZShHRlBfS0VSTkVMIHwgX19HRlBfTk9GQUlMKTsKKwlCVUdfT04ocCA9PSBOVUxMKTsKKworCWZvcihpID0gMDsgaSA8IFAyTV9FTlRSSUVTX1BFUl9QQUdFOyBpKyspCisJCXBbaV0gPSBJTlZBTElEX1AyTV9FTlRSWTsKKworCWlmIChjbXB4Y2hnKHBwLCBwMm1fbWlzc2luZywgcCkgIT0gcDJtX21pc3NpbmcpCisJCWZyZWVfcGFnZSgodW5zaWduZWQgbG9uZylwKTsKKwllbHNlCisJCSptZm5wID0gdmlydF90b19tZm4ocCk7Cit9CisKK3ZvaWQgc2V0X3BoeXNfdG9fbWFjaGluZSh1bnNpZ25lZCBsb25nIHBmbiwgdW5zaWduZWQgbG9uZyBtZm4pCit7CisJdW5zaWduZWQgdG9waWR4LCBpZHg7CisKKwlpZiAodW5saWtlbHkoeGVuX2ZlYXR1cmUoWEVORkVBVF9hdXRvX3RyYW5zbGF0ZWRfcGh5c21hcCkpKSB7CisJCUJVR19PTihwZm4gIT0gbWZuICYmIG1mbiAhPSBJTlZBTElEX1AyTV9FTlRSWSk7CisJCXJldHVybjsKKwl9CisKKwlpZiAodW5saWtlbHkocGZuID49IE1BWF9ET01BSU5fUEFHRVMpKSB7CisJCUJVR19PTihtZm4gIT0gSU5WQUxJRF9QMk1fRU5UUlkpOworCQlyZXR1cm47CisJfQorCisJdG9waWR4ID0gcDJtX3RvcF9pbmRleChwZm4pOworCWlmIChwMm1fdG9wW3RvcGlkeF0gPT0gcDJtX21pc3NpbmcpIHsKKwkJLyogbm8gbmVlZCB0byBhbGxvY2F0ZSBhIHBhZ2UgdG8gc3RvcmUgYW4gaW52YWxpZCBlbnRyeSAqLworCQlpZiAobWZuID09IElOVkFMSURfUDJNX0VOVFJZKQorCQkJcmV0dXJuOworCQlhbGxvY19wMm0oJnAybV90b3BbdG9waWR4XSwgJnAybV90b3BfbWZuW3RvcGlkeF0pOworCX0KKworCWlkeCA9IHAybV9pbmRleChwZm4pOworCXAybV90b3BbdG9waWR4XVtpZHhdID0gbWZuOworfQorCiB4bWFkZHJfdCBhcmJpdHJhcnlfdmlydF90b19tYWNoaW5lKHVuc2lnbmVkIGxvbmcgYWRkcmVzcykKIHsKIAl1bnNpZ25lZCBpbnQgbGV2ZWw7CkBAIC05OCwyNCArMjIzLDYwIEBACiB9CiAKIAotdm9pZCB4ZW5fc2V0X3BtZChwbWRfdCAqcHRyLCBwbWRfdCB2YWwpCitzdGF0aWMgYm9vbCBwYWdlX3Bpbm5lZCh2b2lkICpwdHIpCit7CisJc3RydWN0IHBhZ2UgKnBhZ2UgPSB2aXJ0X3RvX3BhZ2UocHRyKTsKKworCXJldHVybiBQYWdlUGlubmVkKHBhZ2UpOworfQorCitzdGF0aWMgdm9pZCBleHRlbmRfbW11X3VwZGF0ZShjb25zdCBzdHJ1Y3QgbW11X3VwZGF0ZSAqdXBkYXRlKQogewogCXN0cnVjdCBtdWx0aWNhbGxfc3BhY2UgbWNzOwogCXN0cnVjdCBtbXVfdXBkYXRlICp1OwogCisJbWNzID0geGVuX21jX2V4dGVuZF9hcmdzKF9fSFlQRVJWSVNPUl9tbXVfdXBkYXRlLCBzaXplb2YoKnUpKTsKKworCWlmIChtY3MubWMgIT0gTlVMTCkKKwkJbWNzLm1jLT5hcmdzWzFdKys7CisJZWxzZSB7CisJCW1jcyA9IF9feGVuX21jX2VudHJ5KHNpemVvZigqdSkpOworCQlNVUxUSV9tbXVfdXBkYXRlKG1jcy5tYywgbWNzLmFyZ3MsIDEsIE5VTEwsIERPTUlEX1NFTEYpOworCX0KKworCXUgPSBtY3MuYXJnczsKKwkqdSA9ICp1cGRhdGU7Cit9CisKK3ZvaWQgeGVuX3NldF9wbWRfaHlwZXIocG1kX3QgKnB0ciwgcG1kX3QgdmFsKQoreworCXN0cnVjdCBtbXVfdXBkYXRlIHU7CisKIAlwcmVlbXB0X2Rpc2FibGUoKTsKIAotCW1jcyA9IHhlbl9tY19lbnRyeShzaXplb2YoKnUpKTsKLQl1ID0gbWNzLmFyZ3M7Ci0JdS0+cHRyID0gdmlydF90b19tYWNoaW5lKHB0cikubWFkZHI7Ci0JdS0+dmFsID0gcG1kX3ZhbF9tYSh2YWwpOwotCU1VTFRJX21tdV91cGRhdGUobWNzLm1jLCB1LCAxLCBOVUxMLCBET01JRF9TRUxGKTsKKwl4ZW5fbWNfYmF0Y2goKTsKKworCXUucHRyID0gdmlydF90b19tYWNoaW5lKHB0cikubWFkZHI7CisJdS52YWwgPSBwbWRfdmFsX21hKHZhbCk7CisJZXh0ZW5kX21tdV91cGRhdGUoJnUpOwogCiAJeGVuX21jX2lzc3VlKFBBUkFWSVJUX0xBWllfTU1VKTsKIAogCXByZWVtcHRfZW5hYmxlKCk7CiB9CiAKK3ZvaWQgeGVuX3NldF9wbWQocG1kX3QgKnB0ciwgcG1kX3QgdmFsKQoreworCS8qIElmIHBhZ2UgaXMgbm90IHBpbm5lZCwgd2UgY2FuIGp1c3QgdXBkYXRlIHRoZSBlbnRyeQorCSAgIGRpcmVjdGx5ICovCisJaWYgKCFwYWdlX3Bpbm5lZChwdHIpKSB7CisJCSpwdHIgPSB2YWw7CisJCXJldHVybjsKKwl9CisKKwl4ZW5fc2V0X3BtZF9oeXBlcihwdHIsIHZhbCk7Cit9CisKIC8qCiAgKiBBc3NvY2lhdGUgYSB2aXJ0dWFsIHBhZ2UgZnJhbWUgd2l0aCBhIGdpdmVuIHBoeXNpY2FsIHBhZ2UgZnJhbWUKICAqIGFuZCBwcm90ZWN0aW9uIGZsYWdzIGZvciB0aGF0IGZyYW1lLgpAQCAtMTc5LDYgKzM0MCwyNiBAQAogCQlwcmVlbXB0X2VuYWJsZSgpOwogfQogCitwdGVfdCB4ZW5fcHRlcF9tb2RpZnlfcHJvdF9zdGFydChzdHJ1Y3QgbW1fc3RydWN0ICptbSwgdW5zaWduZWQgbG9uZyBhZGRyLCBwdGVfdCAqcHRlcCkKK3sKKwkvKiBKdXN0IHJldHVybiB0aGUgcHRlIGFzLWlzLiAgV2UgcHJlc2VydmUgdGhlIGJpdHMgb24gY29tbWl0ICovCisJcmV0dXJuICpwdGVwOworfQorCit2b2lkIHhlbl9wdGVwX21vZGlmeV9wcm90X2NvbW1pdChzdHJ1Y3QgbW1fc3RydWN0ICptbSwgdW5zaWduZWQgbG9uZyBhZGRyLAorCQkJCSBwdGVfdCAqcHRlcCwgcHRlX3QgcHRlKQoreworCXN0cnVjdCBtbXVfdXBkYXRlIHU7CisKKwl4ZW5fbWNfYmF0Y2goKTsKKworCXUucHRyID0gdmlydF90b19tYWNoaW5lKHB0ZXApLm1hZGRyIHwgTU1VX1BUX1VQREFURV9QUkVTRVJWRV9BRDsKKwl1LnZhbCA9IHB0ZV92YWxfbWEocHRlKTsKKwlleHRlbmRfbW11X3VwZGF0ZSgmdSk7CisKKwl4ZW5fbWNfaXNzdWUoUEFSQVZJUlRfTEFaWV9NTVUpOworfQorCiAvKiBBc3N1bWUgcHRldmFsX3QgaXMgZXF1aXZhbGVudCB0byBhbGwgdGhlIG90aGVyICp2YWxfdCB0eXBlcy4gKi8KIHN0YXRpYyBwdGV2YWxfdCBwdGVfbWZuX3RvX3BmbihwdGV2YWxfdCB2YWwpCiB7CkBAIC0yMjksMjQgKzQxMCwzNSBAQAogCXJldHVybiBwdGVfbWZuX3RvX3BmbihwbWQucG1kKTsKIH0KIAotdm9pZCB4ZW5fc2V0X3B1ZChwdWRfdCAqcHRyLCBwdWRfdCB2YWwpCit2b2lkIHhlbl9zZXRfcHVkX2h5cGVyKHB1ZF90ICpwdHIsIHB1ZF90IHZhbCkKIHsKLQlzdHJ1Y3QgbXVsdGljYWxsX3NwYWNlIG1jczsKLQlzdHJ1Y3QgbW11X3VwZGF0ZSAqdTsKKwlzdHJ1Y3QgbW11X3VwZGF0ZSB1OwogCiAJcHJlZW1wdF9kaXNhYmxlKCk7CiAKLQltY3MgPSB4ZW5fbWNfZW50cnkoc2l6ZW9mKCp1KSk7Ci0JdSA9IG1jcy5hcmdzOwotCXUtPnB0ciA9IHZpcnRfdG9fbWFjaGluZShwdHIpLm1hZGRyOwotCXUtPnZhbCA9IHB1ZF92YWxfbWEodmFsKTsKLQlNVUxUSV9tbXVfdXBkYXRlKG1jcy5tYywgdSwgMSwgTlVMTCwgRE9NSURfU0VMRik7CisJeGVuX21jX2JhdGNoKCk7CisKKwl1LnB0ciA9IHZpcnRfdG9fbWFjaGluZShwdHIpLm1hZGRyOworCXUudmFsID0gcHVkX3ZhbF9tYSh2YWwpOworCWV4dGVuZF9tbXVfdXBkYXRlKCZ1KTsKIAogCXhlbl9tY19pc3N1ZShQQVJBVklSVF9MQVpZX01NVSk7CiAKIAlwcmVlbXB0X2VuYWJsZSgpOwogfQogCit2b2lkIHhlbl9zZXRfcHVkKHB1ZF90ICpwdHIsIHB1ZF90IHZhbCkKK3sKKwkvKiBJZiBwYWdlIGlzIG5vdCBwaW5uZWQsIHdlIGNhbiBqdXN0IHVwZGF0ZSB0aGUgZW50cnkKKwkgICBkaXJlY3RseSAqLworCWlmICghcGFnZV9waW5uZWQocHRyKSkgeworCQkqcHRyID0gdmFsOworCQlyZXR1cm47CisJfQorCisJeGVuX3NldF9wdWRfaHlwZXIocHRyLCB2YWwpOworfQorCiB2b2lkIHhlbl9zZXRfcHRlKHB0ZV90ICpwdGVwLCBwdGVfdCBwdGUpCiB7CiAJcHRlcC0+cHRlX2hpZ2ggPSBwdGUucHRlX2hpZ2g7CkBAIC0yNjgsNyArNDYwLDcgQEAKIAogdm9pZCB4ZW5fcG1kX2NsZWFyKHBtZF90ICpwbWRwKQogewotCXhlbl9zZXRfcG1kKHBtZHAsIF9fcG1kKDApKTsKKwlzZXRfcG1kKHBtZHAsIF9fcG1kKDApKTsKIH0KIAogcG1kX3QgeGVuX21ha2VfcG1kKHBtZHZhbF90IHBtZCkKQEAgLTQ0MSw2ICs2MzMsMjkgQEAKIAl4ZW5fbWNfaXNzdWUoMCk7CiB9CiAKKy8qCisgKiBPbiBzYXZlLCB3ZSBuZWVkIHRvIHBpbiBhbGwgcGFnZXRhYmxlcyB0byBtYWtlIHN1cmUgdGhleSBnZXQgdGhlaXIKKyAqIG1mbnMgdHVybmVkIGludG8gcGZucy4gIFNlYXJjaCB0aGUgbGlzdCBmb3IgYW55IHVucGlubmVkIHBnZHMgYW5kIHBpbgorICogdGhlbSAodW5waW5uZWQgcGdkcyBhcmUgbm90IGN1cnJlbnRseSBpbiB1c2UsIHByb2JhYmx5IGJlY2F1c2UgdGhlCisgKiBwcm9jZXNzIGlzIHVuZGVyIGNvbnN0cnVjdGlvbiBvciBkZXN0cnVjdGlvbikuCisgKi8KK3ZvaWQgeGVuX21tX3Bpbl9hbGwodm9pZCkKK3sKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCXN0cnVjdCBwYWdlICpwYWdlOworCisJc3Bpbl9sb2NrX2lycXNhdmUoJnBnZF9sb2NrLCBmbGFncyk7CisKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5KHBhZ2UsICZwZ2RfbGlzdCwgbHJ1KSB7CisJCWlmICghUGFnZVBpbm5lZChwYWdlKSkgeworCQkJeGVuX3BnZF9waW4oKHBnZF90ICopcGFnZV9hZGRyZXNzKHBhZ2UpKTsKKwkJCVNldFBhZ2VTYXZlUGlubmVkKHBhZ2UpOworCQl9CisJfQorCisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcGdkX2xvY2ssIGZsYWdzKTsKK30KKwogLyogVGhlIGluaXRfbW0gcGFnZXRhYmxlIGlzIHJlYWxseSBwaW5uZWQgYXMgc29vbiBhcyBpdHMgY3JlYXRlZCwgYnV0CiAgICB0aGF0J3MgYmVmb3JlIHdlIGhhdmUgcGFnZSBzdHJ1Y3R1cmVzIHRvIHN0b3JlIHRoZSBiaXRzLiAgU28gZG8gYWxsCiAgICB0aGUgYm9vay1rZWVwaW5nIG5vdy4gKi8KQEAgLTQ5OCw2ICs3MTMsMjkgQEAKIAl4ZW5fbWNfaXNzdWUoMCk7CiB9CiAKKy8qCisgKiBPbiByZXN1bWUsIHVuZG8gYW55IHBpbm5pbmcgZG9uZSBhdCBzYXZlLCBzbyB0aGF0IHRoZSByZXN0IG9mIHRoZQorICoga2VybmVsIGRvZXNuJ3Qgc2VlIGFueSB1bmV4cGVjdGVkIHBpbm5lZCBwYWdldGFibGVzLgorICovCit2b2lkIHhlbl9tbV91bnBpbl9hbGwodm9pZCkKK3sKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCXN0cnVjdCBwYWdlICpwYWdlOworCisJc3Bpbl9sb2NrX2lycXNhdmUoJnBnZF9sb2NrLCBmbGFncyk7CisKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5KHBhZ2UsICZwZ2RfbGlzdCwgbHJ1KSB7CisJCWlmIChQYWdlU2F2ZVBpbm5lZChwYWdlKSkgeworCQkJQlVHX09OKCFQYWdlUGlubmVkKHBhZ2UpKTsKKwkJCXByaW50aygidW5waW5uaW5nIHBpbm5lZCAlcFxuIiwgcGFnZV9hZGRyZXNzKHBhZ2UpKTsKKwkJCXhlbl9wZ2RfdW5waW4oKHBnZF90ICopcGFnZV9hZGRyZXNzKHBhZ2UpKTsKKwkJCUNsZWFyUGFnZVNhdmVQaW5uZWQocGFnZSk7CisJCX0KKwl9CisKKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZwZ2RfbG9jaywgZmxhZ3MpOworfQorCiB2b2lkIHhlbl9hY3RpdmF0ZV9tbShzdHJ1Y3QgbW1fc3RydWN0ICpwcmV2LCBzdHJ1Y3QgbW1fc3RydWN0ICpuZXh0KQogewogCXNwaW5fbG9jaygmbmV4dC0+cGFnZV90YWJsZV9sb2NrKTsKQEAgLTU5MSw3ICs4MjksNyBAQAogCXNwaW5fbG9jaygmbW0tPnBhZ2VfdGFibGVfbG9jayk7CiAKIAkvKiBwZ2QgbWF5IG5vdCBiZSBwaW5uZWQgaW4gdGhlIGVycm9yIGV4aXQgcGF0aCBvZiBleGVjdmUgKi8KLQlpZiAoUGFnZVBpbm5lZCh2aXJ0X3RvX3BhZ2UobW0tPnBnZCkpKQorCWlmIChwYWdlX3Bpbm5lZChtbS0+cGdkKSkKIAkJeGVuX3BnZF91bnBpbihtbS0+cGdkKTsKIAogCXNwaW5fdW5sb2NrKCZtbS0+cGFnZV90YWJsZV9sb2NrKTsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L3hlbi9tbXUuaCBiL2FyY2gveDg2L3hlbi9tbXUuaAppbmRleCA1ZmU5NjFjLi4yOTdiZjlmIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni94ZW4vbW11LmgKKysrIGIvYXJjaC94ODYveGVuL21tdS5oCkBAIC0yNSwxMCArMjUsNiBAQAogCiB2b2lkIHNldF9wdGVfbWZuKHVuc2lnbmVkIGxvbmcgdmFkZHIsIHVuc2lnbmVkIGxvbmcgcGZuLCBwZ3Byb3RfdCBmbGFncyk7CiAKLXZvaWQgeGVuX3NldF9wdGUocHRlX3QgKnB0ZXAsIHB0ZV90IHB0ZXZhbCk7Ci12b2lkIHhlbl9zZXRfcHRlX2F0KHN0cnVjdCBtbV9zdHJ1Y3QgKm1tLCB1bnNpZ25lZCBsb25nIGFkZHIsCi0JCSAgICBwdGVfdCAqcHRlcCwgcHRlX3QgcHRldmFsKTsKLXZvaWQgeGVuX3NldF9wbWQocG1kX3QgKnBtZHAsIHBtZF90IHBtZHZhbCk7CiAKIHZvaWQgeGVuX2FjdGl2YXRlX21tKHN0cnVjdCBtbV9zdHJ1Y3QgKnByZXYsIHN0cnVjdCBtbV9zdHJ1Y3QgKm5leHQpOwogdm9pZCB4ZW5fZHVwX21tYXAoc3RydWN0IG1tX3N0cnVjdCAqb2xkbW0sIHN0cnVjdCBtbV9zdHJ1Y3QgKm1tKTsKQEAgLTQ1LDExICs0MSwxOSBAQAogcG1kX3QgeGVuX21ha2VfcG1kKHBtZHZhbF90KTsKIHBnZF90IHhlbl9tYWtlX3BnZChwZ2R2YWxfdCk7CiAKK3ZvaWQgeGVuX3NldF9wdGUocHRlX3QgKnB0ZXAsIHB0ZV90IHB0ZXZhbCk7CiB2b2lkIHhlbl9zZXRfcHRlX2F0KHN0cnVjdCBtbV9zdHJ1Y3QgKm1tLCB1bnNpZ25lZCBsb25nIGFkZHIsCiAJCSAgICBwdGVfdCAqcHRlcCwgcHRlX3QgcHRldmFsKTsKIHZvaWQgeGVuX3NldF9wdGVfYXRvbWljKHB0ZV90ICpwdGVwLCBwdGVfdCBwdGUpOwordm9pZCB4ZW5fc2V0X3BtZChwbWRfdCAqcG1kcCwgcG1kX3QgcG1kdmFsKTsKIHZvaWQgeGVuX3NldF9wdWQocHVkX3QgKnB0ciwgcHVkX3QgdmFsKTsKK3ZvaWQgeGVuX3NldF9wbWRfaHlwZXIocG1kX3QgKnBtZHAsIHBtZF90IHBtZHZhbCk7Cit2b2lkIHhlbl9zZXRfcHVkX2h5cGVyKHB1ZF90ICpwdHIsIHB1ZF90IHZhbCk7CiB2b2lkIHhlbl9wdGVfY2xlYXIoc3RydWN0IG1tX3N0cnVjdCAqbW0sIHVuc2lnbmVkIGxvbmcgYWRkciwgcHRlX3QgKnB0ZXApOwogdm9pZCB4ZW5fcG1kX2NsZWFyKHBtZF90ICpwbWRwKTsKIAorcHRlX3QgeGVuX3B0ZXBfbW9kaWZ5X3Byb3Rfc3RhcnQoc3RydWN0IG1tX3N0cnVjdCAqbW0sIHVuc2lnbmVkIGxvbmcgYWRkciwgcHRlX3QgKnB0ZXApOwordm9pZCAgeGVuX3B0ZXBfbW9kaWZ5X3Byb3RfY29tbWl0KHN0cnVjdCBtbV9zdHJ1Y3QgKm1tLCB1bnNpZ25lZCBsb25nIGFkZHIsCisJCQkJICBwdGVfdCAqcHRlcCwgcHRlX3QgcHRlKTsKKwogI2VuZGlmCS8qIF9YRU5fTU1VX0ggKi8KZGlmZiAtLWdpdCBhL2FyY2gveDg2L3hlbi9tdWx0aWNhbGxzLmMgYi9hcmNoL3g4Ni94ZW4vbXVsdGljYWxscy5jCmluZGV4IDU3OTFlYjIuLjNjNjNjNGQgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L3hlbi9tdWx0aWNhbGxzLmMKKysrIGIvYXJjaC94ODYveGVuL211bHRpY2FsbHMuYwpAQCAtMjksMTQgKzI5LDE0IEBACiAjZGVmaW5lIE1DX0RFQlVHCTEKIAogI2RlZmluZSBNQ19CQVRDSAkzMgotI2RlZmluZSBNQ19BUkdTCQkoTUNfQkFUQ0ggKiAxNiAvIHNpemVvZih1NjQpKQorI2RlZmluZSBNQ19BUkdTCQkoTUNfQkFUQ0ggKiAxNikKIAogc3RydWN0IG1jX2J1ZmZlciB7CiAJc3RydWN0IG11bHRpY2FsbF9lbnRyeSBlbnRyaWVzW01DX0JBVENIXTsKICNpZiBNQ19ERUJVRwogCXN0cnVjdCBtdWx0aWNhbGxfZW50cnkgZGVidWdbTUNfQkFUQ0hdOwogI2VuZGlmCi0JdTY0IGFyZ3NbTUNfQVJHU107CisJdW5zaWduZWQgY2hhciBhcmdzW01DX0FSR1NdOwogCXN0cnVjdCBjYWxsYmFjayB7CiAJCXZvaWQgKCpmbikodm9pZCAqKTsKIAkJdm9pZCAqZGF0YTsKQEAgLTEwNywyMCArMTA3LDQ4IEBACiB7CiAJc3RydWN0IG1jX2J1ZmZlciAqYiA9ICZfX2dldF9jcHVfdmFyKG1jX2J1ZmZlcik7CiAJc3RydWN0IG11bHRpY2FsbF9zcGFjZSByZXQ7Ci0JdW5zaWduZWQgYXJnc3BhY2UgPSAoYXJncyArIHNpemVvZih1NjQpIC0gMSkgLyBzaXplb2YodTY0KTsKKwl1bnNpZ25lZCBhcmdpZHggPSByb3VuZHVwKGItPmFyZ2lkeCwgc2l6ZW9mKHU2NCkpOwogCiAJQlVHX09OKHByZWVtcHRpYmxlKCkpOwotCUJVR19PTihhcmdzcGFjZSA+IE1DX0FSR1MpOworCUJVR19PTihiLT5hcmdpZHggPiBNQ19BUkdTKTsKIAogCWlmIChiLT5tY2lkeCA9PSBNQ19CQVRDSCB8fAotCSAgICAoYi0+YXJnaWR4ICsgYXJnc3BhY2UpID4gTUNfQVJHUykKKwkgICAgKGFyZ2lkeCArIGFyZ3MpID4gTUNfQVJHUykgewogCQl4ZW5fbWNfZmx1c2goKTsKKwkJYXJnaWR4ID0gcm91bmR1cChiLT5hcmdpZHgsIHNpemVvZih1NjQpKTsKKwl9CiAKIAlyZXQubWMgPSAmYi0+ZW50cmllc1tiLT5tY2lkeF07CiAJYi0+bWNpZHgrKzsKLQlyZXQuYXJncyA9ICZiLT5hcmdzW2ItPmFyZ2lkeF07Ci0JYi0+YXJnaWR4ICs9IGFyZ3NwYWNlOworCXJldC5hcmdzID0gJmItPmFyZ3NbYXJnaWR4XTsKKwliLT5hcmdpZHggPSBhcmdpZHggKyBhcmdzOwogCisJQlVHX09OKGItPmFyZ2lkeCA+IE1DX0FSR1MpOworCXJldHVybiByZXQ7Cit9CisKK3N0cnVjdCBtdWx0aWNhbGxfc3BhY2UgeGVuX21jX2V4dGVuZF9hcmdzKHVuc2lnbmVkIGxvbmcgb3AsIHNpemVfdCBzaXplKQoreworCXN0cnVjdCBtY19idWZmZXIgKmIgPSAmX19nZXRfY3B1X3ZhcihtY19idWZmZXIpOworCXN0cnVjdCBtdWx0aWNhbGxfc3BhY2UgcmV0ID0geyBOVUxMLCBOVUxMIH07CisKKwlCVUdfT04ocHJlZW1wdGlibGUoKSk7CisJQlVHX09OKGItPmFyZ2lkeCA+IE1DX0FSR1MpOworCisJaWYgKGItPm1jaWR4ID09IDApCisJCXJldHVybiByZXQ7CisKKwlpZiAoYi0+ZW50cmllc1tiLT5tY2lkeCAtIDFdLm9wICE9IG9wKQorCQlyZXR1cm4gcmV0OworCisJaWYgKChiLT5hcmdpZHggKyBzaXplKSA+IE1DX0FSR1MpCisJCXJldHVybiByZXQ7CisKKwlyZXQubWMgPSAmYi0+ZW50cmllc1tiLT5tY2lkeCAtIDFdOworCXJldC5hcmdzID0gJmItPmFyZ3NbYi0+YXJnaWR4XTsKKwliLT5hcmdpZHggKz0gc2l6ZTsKKworCUJVR19PTihiLT5hcmdpZHggPiBNQ19BUkdTKTsKIAlyZXR1cm4gcmV0OwogfQogCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni94ZW4vbXVsdGljYWxscy5oIGIvYXJjaC94ODYveGVuL211bHRpY2FsbHMuaAppbmRleCA4YmFlOTk2Li44NTg5MzgyIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni94ZW4vbXVsdGljYWxscy5oCisrKyBiL2FyY2gveDg2L3hlbi9tdWx0aWNhbGxzLmgKQEAgLTQ1LDQgKzQ1LDE2IEBACiAvKiBTZXQgdXAgYSBjYWxsYmFjayB0byBiZSBjYWxsZWQgd2hlbiB0aGUgY3VycmVudCBiYXRjaCBpcyBmbHVzaGVkICovCiB2b2lkIHhlbl9tY19jYWxsYmFjayh2b2lkICgqZm4pKHZvaWQgKiksIHZvaWQgKmRhdGEpOwogCisvKgorICogVHJ5IHRvIGV4dGVuZCB0aGUgYXJndW1lbnRzIG9mIHRoZSBwcmV2aW91cyBtdWx0aWNhbGwgY29tbWFuZC4gIFRoZQorICogcHJldmlvdXMgY29tbWFuZCdzIG9wIG11c3QgbWF0Y2guICBJZiBpdCBkb2VzLCB0aGVuIGl0IGF0dGVtcHRzIHRvCisgKiBleHRlbmQgdGhlIGFyZ3VtZW50IHNwYWNlIGFsbG9jYXRlZCB0byB0aGUgbXVsdGljYWxsIGVudHJ5IGJ5CisgKiBhcmdfc2l6ZSBieXRlcy4KKyAqCisgKiBUaGUgcmV0dXJuZWQgbXVsdGljYWxsX3NwYWNlIHdpbGwgcmV0dXJuIHdpdGggbWMgcG9pbnRpbmcgdG8gdGhlCisgKiBjb21tYW5kIG9uIHN1Y2Nlc3MsIG9yIE5VTEwgb24gZmFpbHVyZSwgYW5kIGFyZ3MgcG9pbnRpbmcgdG8gdGhlCisgKiBuZXdseSBhbGxvY2F0ZWQgc3BhY2UuCisgKi8KK3N0cnVjdCBtdWx0aWNhbGxfc3BhY2UgeGVuX21jX2V4dGVuZF9hcmdzKHVuc2lnbmVkIGxvbmcgb3AsIHNpemVfdCBhcmdfc2l6ZSk7CisKICNlbmRpZiAvKiBfWEVOX01VTFRJQ0FMTFNfSCAqLwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYveGVuL3NldHVwLmMgYi9hcmNoL3g4Ni94ZW4vc2V0dXAuYwppbmRleCA4MjUxN2U0Li5lMGEzOTU5IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni94ZW4vc2V0dXAuYworKysgYi9hcmNoL3g4Ni94ZW4vc2V0dXAuYwpAQCAtMTMsOSArMTMsMTEgQEAKICNpbmNsdWRlIDxhc20vdmRzby5oPgogI2luY2x1ZGUgPGFzbS9lODIwLmg+CiAjaW5jbHVkZSA8YXNtL3NldHVwLmg+CisjaW5jbHVkZSA8YXNtL2FjcGkuaD4KICNpbmNsdWRlIDxhc20veGVuL2h5cGVydmlzb3IuaD4KICNpbmNsdWRlIDxhc20veGVuL2h5cGVyY2FsbC5oPgogCisjaW5jbHVkZSA8eGVuL3BhZ2UuaD4KICNpbmNsdWRlIDx4ZW4vaW50ZXJmYWNlL2NhbGxiYWNrLmg+CiAjaW5jbHVkZSA8eGVuL2ludGVyZmFjZS9waHlzZGV2Lmg+CiAjaW5jbHVkZSA8eGVuL2ZlYXR1cmVzLmg+CkBAIC0yNyw4ICsyOSw2IEBACiBleHRlcm4gY29uc3QgY2hhciB4ZW5faHlwZXJ2aXNvcl9jYWxsYmFja1tdOwogZXh0ZXJuIGNvbnN0IGNoYXIgeGVuX2ZhaWxzYWZlX2NhbGxiYWNrW107CiAKLXVuc2lnbmVkIGxvbmcgKnBoeXNfdG9fbWFjaGluZV9tYXBwaW5nOwotRVhQT1JUX1NZTUJPTChwaHlzX3RvX21hY2hpbmVfbWFwcGluZyk7CiAKIC8qKgogICogbWFjaGluZV9zcGVjaWZpY19tZW1vcnlfc2V0dXAgLSBIb29rIGZvciBtYWNoaW5lIHNwZWNpZmljIG1lbW9yeSBzZXR1cC4KQEAgLTM4LDkgKzM4LDMxIEBACiB7CiAJdW5zaWduZWQgbG9uZyBtYXhfcGZuID0geGVuX3N0YXJ0X2luZm8tPm5yX3BhZ2VzOwogCisJbWF4X3BmbiA9IG1pbihNQVhfRE9NQUlOX1BBR0VTLCBtYXhfcGZuKTsKKwogCWU4MjAubnJfbWFwID0gMDsKLQlhZGRfbWVtb3J5X3JlZ2lvbigwLCBMT1dNRU1TSVpFKCksIEU4MjBfUkFNKTsKLQlhZGRfbWVtb3J5X3JlZ2lvbihISUdIX01FTU9SWSwgUEZOX1BIWVMobWF4X3BmbiktSElHSF9NRU1PUlksIEU4MjBfUkFNKTsKKworCWU4MjBfYWRkX3JlZ2lvbigwLCBQRk5fUEhZUyhtYXhfcGZuKSwgRTgyMF9SQU0pOworCisJLyoKKwkgKiBFdmVuIHRob3VnaCB0aGlzIGlzIG5vcm1hbCwgdXNhYmxlIG1lbW9yeSB1bmRlciBYZW4sIHJlc2VydmUKKwkgKiBJU0EgbWVtb3J5IGFueXdheSBiZWNhdXNlIHRvbyBtYW55IHRoaW5ncyB0aGluayB0aGV5IGNhbiBwb2tlCisJICogYWJvdXQgaW4gdGhlcmUuCisJICovCisJZTgyMF9hZGRfcmVnaW9uKElTQV9TVEFSVF9BRERSRVNTLCBJU0FfRU5EX0FERFJFU1MgLSBJU0FfU1RBUlRfQUREUkVTUywKKwkJCUU4MjBfUkVTRVJWRUQpOworCisJLyoKKwkgKiBSZXNlcnZlIFhlbiBiaXRzOgorCSAqICAtIG1mbl9saXN0CisJICogIC0geGVuX3N0YXJ0X2luZm8KKwkgKiBTZWUgY29tbWVudCBhYm92ZSAic3RydWN0IHN0YXJ0X2luZm8iIGluIDx4ZW4vaW50ZXJmYWNlL3hlbi5oPgorCSAqLworCWU4MjBfYWRkX3JlZ2lvbihfX3BhKHhlbl9zdGFydF9pbmZvLT5tZm5fbGlzdCksCisJCQl4ZW5fc3RhcnRfaW5mby0+cHRfYmFzZSAtIHhlbl9zdGFydF9pbmZvLT5tZm5fbGlzdCwKKwkJCUU4MjBfUkVTRVJWRUQpOworCisJc2FuaXRpemVfZTgyMF9tYXAoZTgyMC5tYXAsIEFSUkFZX1NJWkUoZTgyMC5tYXApLCAmZTgyMC5ucl9tYXApOwogCiAJcmV0dXJuICJYZW4iOwogfQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYveGVuL3NtcC5jIGIvYXJjaC94ODYveGVuL3NtcC5jCmluZGV4IDk0ZTY5MDAuLmQyZTNjMjAgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L3hlbi9zbXAuYworKysgYi9hcmNoL3g4Ni94ZW4vc21wLmMKQEAgLTM1LDcgKzM1LDcgQEAKICNpbmNsdWRlICJ4ZW4tb3BzLmgiCiAjaW5jbHVkZSAibW11LmgiCiAKLXN0YXRpYyBjcHVtYXNrX3QgeGVuX2NwdV9pbml0aWFsaXplZF9tYXA7CitjcHVtYXNrX3QgeGVuX2NwdV9pbml0aWFsaXplZF9tYXA7CiBzdGF0aWMgREVGSU5FX1BFUl9DUFUoaW50LCByZXNjaGVkX2lycSkgPSAtMTsKIHN0YXRpYyBERUZJTkVfUEVSX0NQVShpbnQsIGNhbGxmdW5jX2lycSkgPSAtMTsKIHN0YXRpYyBERUZJTkVfUEVSX0NQVShpbnQsIGRlYnVnX2lycSkgPSAtMTsKQEAgLTY1LDYgKzY1LDEyIEBACiAgKi8KIHN0YXRpYyBpcnFyZXR1cm5fdCB4ZW5fcmVzY2hlZHVsZV9pbnRlcnJ1cHQoaW50IGlycSwgdm9pZCAqZGV2X2lkKQogeworI2lmZGVmIENPTkZJR19YODZfMzIKKwlfX2dldF9jcHVfdmFyKGlycV9zdGF0KS5pcnFfcmVzY2hlZF9jb3VudCsrOworI2Vsc2UKKwlhZGRfcGRhKGlycV9yZXNjaGVkX2NvdW50LCAxKTsKKyNlbmRpZgorCiAJcmV0dXJuIElSUV9IQU5ETEVEOwogfQogCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni94ZW4vc3VzcGVuZC5jIGIvYXJjaC94ODYveGVuL3N1c3BlbmQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNTE2NjlhCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC94ODYveGVuL3N1c3BlbmQuYwpAQCAtMCwwICsxLDQ1IEBACisjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KKworI2luY2x1ZGUgPHhlbi9pbnRlcmZhY2UveGVuLmg+CisjaW5jbHVkZSA8eGVuL2dyYW50X3RhYmxlLmg+CisjaW5jbHVkZSA8eGVuL2V2ZW50cy5oPgorCisjaW5jbHVkZSA8YXNtL3hlbi9oeXBlcmNhbGwuaD4KKyNpbmNsdWRlIDxhc20veGVuL3BhZ2UuaD4KKworI2luY2x1ZGUgInhlbi1vcHMuaCIKKyNpbmNsdWRlICJtbXUuaCIKKwordm9pZCB4ZW5fcHJlX3N1c3BlbmQodm9pZCkKK3sKKwl4ZW5fc3RhcnRfaW5mby0+c3RvcmVfbWZuID0gbWZuX3RvX3Bmbih4ZW5fc3RhcnRfaW5mby0+c3RvcmVfbWZuKTsKKwl4ZW5fc3RhcnRfaW5mby0+Y29uc29sZS5kb21VLm1mbiA9CisJCW1mbl90b19wZm4oeGVuX3N0YXJ0X2luZm8tPmNvbnNvbGUuZG9tVS5tZm4pOworCisJQlVHX09OKCFpcnFzX2Rpc2FibGVkKCkpOworCisJSFlQRVJWSVNPUl9zaGFyZWRfaW5mbyA9ICZ4ZW5fZHVtbXlfc2hhcmVkX2luZm87CisJaWYgKEhZUEVSVklTT1JfdXBkYXRlX3ZhX21hcHBpbmcoZml4X3RvX3ZpcnQoRklYX1BBUkFWSVJUX0JPT1RNQVApLAorCQkJCQkgX19wdGVfbWEoMCksIDApKQorCQlCVUcoKTsKK30KKwordm9pZCB4ZW5fcG9zdF9zdXNwZW5kKGludCBzdXNwZW5kX2NhbmNlbGxlZCkKK3sKKwl4ZW5fc2V0dXBfc2hhcmVkX2luZm8oKTsKKworCWlmIChzdXNwZW5kX2NhbmNlbGxlZCkgeworCQl4ZW5fc3RhcnRfaW5mby0+c3RvcmVfbWZuID0KKwkJCXBmbl90b19tZm4oeGVuX3N0YXJ0X2luZm8tPnN0b3JlX21mbik7CisJCXhlbl9zdGFydF9pbmZvLT5jb25zb2xlLmRvbVUubWZuID0KKwkJCXBmbl90b19tZm4oeGVuX3N0YXJ0X2luZm8tPmNvbnNvbGUuZG9tVS5tZm4pOworCX0gZWxzZSB7CisjaWZkZWYgQ09ORklHX1NNUAorCQl4ZW5fY3B1X2luaXRpYWxpemVkX21hcCA9IGNwdV9vbmxpbmVfbWFwOworI2VuZGlmCisJCXhlbl92Y3B1X3Jlc3RvcmUoKTsKKwkJeGVuX3RpbWVyX3Jlc3VtZSgpOworCX0KKworfQorCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni94ZW4vdGltZS5jIGIvYXJjaC94ODYveGVuL3RpbWUuYwppbmRleCA0MWUyMTc1Li42ODViNzc0IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni94ZW4vdGltZS5jCisrKyBiL2FyY2gveDg2L3hlbi90aW1lLmMKQEAgLTE5Nyw4ICsxOTcsOCBAQAogfQogCiAKLS8qIEdldCB0aGUgQ1BVIHNwZWVkIGZyb20gWGVuICovCi11bnNpZ25lZCBsb25nIHhlbl9jcHVfa2h6KHZvaWQpCisvKiBHZXQgdGhlIFRTQyBzcGVlZCBmcm9tIFhlbiAqLwordW5zaWduZWQgbG9uZyB4ZW5fdHNjX2toeih2b2lkKQogewogCXU2NCB4ZW5fa2h6ID0gMTAwMDAwMFVMTCA8PCAzMjsKIAljb25zdCBzdHJ1Y3QgcHZjbG9ja192Y3B1X3RpbWVfaW5mbyAqaW5mbyA9CkBAIC00NTksNiArNDU5LDE5IEBACiAJY2xvY2tldmVudHNfcmVnaXN0ZXJfZGV2aWNlKCZfX2dldF9jcHVfdmFyKHhlbl9jbG9ja19ldmVudHMpKTsKIH0KIAordm9pZCB4ZW5fdGltZXJfcmVzdW1lKHZvaWQpCit7CisJaW50IGNwdTsKKworCWlmICh4ZW5fY2xvY2tldmVudCAhPSAmeGVuX3ZjcHVvcF9jbG9ja2V2ZW50KQorCQlyZXR1cm47CisKKwlmb3JfZWFjaF9vbmxpbmVfY3B1KGNwdSkgeworCQlpZiAoSFlQRVJWSVNPUl92Y3B1X29wKFZDUFVPUF9zdG9wX3BlcmlvZGljX3RpbWVyLCBjcHUsIE5VTEwpKQorCQkJQlVHKCk7CisJfQorfQorCiBfX2luaXQgdm9pZCB4ZW5fdGltZV9pbml0KHZvaWQpCiB7CiAJaW50IGNwdSA9IHNtcF9wcm9jZXNzb3JfaWQoKTsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L3hlbi94ZW4taGVhZC5TIGIvYXJjaC94ODYveGVuL3hlbi1oZWFkLlMKaW5kZXggNmVjM2I0Zi4uN2MwY2Y2MyAxMDA2NDQKLS0tIGEvYXJjaC94ODYveGVuL3hlbi1oZWFkLlMKKysrIGIvYXJjaC94ODYveGVuL3hlbi1oZWFkLlMKQEAgLTcsNiArNyw3IEBACiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgogI2luY2x1ZGUgPGFzbS9ib290Lmg+CiAjaW5jbHVkZSA8eGVuL2ludGVyZmFjZS9lbGZub3RlLmg+CisjaW5jbHVkZSA8YXNtL3hlbi9pbnRlcmZhY2UuaD4KIAogCV9fSU5JVAogRU5UUlkoc3RhcnR1cF94ZW4pCkBAIC0zMiw1ICszMyw5IEBACiAJRUxGTk9URShYZW4sIFhFTl9FTEZOT1RFX0ZFQVRVUkVTLCAgICAgICAuYXNjaXogIiF3cml0YWJsZV9wYWdlX3RhYmxlc3xwYWVfcGdkaXJfYWJvdmVfNGdiIikKIAlFTEZOT1RFKFhlbiwgWEVOX0VMRk5PVEVfUEFFX01PREUsICAgICAgIC5hc2NpeiAieWVzIikKIAlFTEZOT1RFKFhlbiwgWEVOX0VMRk5PVEVfTE9BREVSLCAgICAgICAgIC5hc2NpeiAiZ2VuZXJpYyIpCisJRUxGTk9URShYZW4sIFhFTl9FTEZOT1RFX0wxX01GTl9WQUxJRCwKKwkJLnF1YWQgX1BBR0VfUFJFU0VOVDsgLnF1YWQgX1BBR0VfUFJFU0VOVCkKKwlFTEZOT1RFKFhlbiwgWEVOX0VMRk5PVEVfU1VTUEVORF9DQU5DRUwsIC5sb25nIDEpCisJRUxGTk9URShYZW4sIFhFTl9FTEZOT1RFX0hWX1NUQVJUX0xPVywgICAubG9uZyBfX0hZUEVSVklTT1JfVklSVF9TVEFSVCkKIAogI2VuZGlmIC8qQ09ORklHX1hFTiAqLwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYveGVuL3hlbi1vcHMuaCBiL2FyY2gveDg2L3hlbi94ZW4tb3BzLmgKaW5kZXggZjEwNjNhZS4uZDg1MmRkYiAxMDA2NDQKLS0tIGEvYXJjaC94ODYveGVuL3hlbi1vcHMuaAorKysgYi9hcmNoL3g4Ni94ZW4veGVuLW9wcy5oCkBAIC05LDI2ICs5LDM1IEBACiBleHRlcm4gY29uc3QgY2hhciB4ZW5faHlwZXJ2aXNvcl9jYWxsYmFja1tdOwogZXh0ZXJuIGNvbnN0IGNoYXIgeGVuX2ZhaWxzYWZlX2NhbGxiYWNrW107CiAKK3N0cnVjdCB0cmFwX2luZm87CiB2b2lkIHhlbl9jb3B5X3RyYXBfaW5mbyhzdHJ1Y3QgdHJhcF9pbmZvICp0cmFwcyk7CiAKIERFQ0xBUkVfUEVSX0NQVSh1bnNpZ25lZCBsb25nLCB4ZW5fY3IzKTsKIERFQ0xBUkVfUEVSX0NQVSh1bnNpZ25lZCBsb25nLCB4ZW5fY3VycmVudF9jcjMpOwogCiBleHRlcm4gc3RydWN0IHN0YXJ0X2luZm8gKnhlbl9zdGFydF9pbmZvOworZXh0ZXJuIHN0cnVjdCBzaGFyZWRfaW5mbyB4ZW5fZHVtbXlfc2hhcmVkX2luZm87CiBleHRlcm4gc3RydWN0IHNoYXJlZF9pbmZvICpIWVBFUlZJU09SX3NoYXJlZF9pbmZvOwogCit2b2lkIHhlbl9zZXR1cF9tZm5fbGlzdF9saXN0KHZvaWQpOwordm9pZCB4ZW5fc2V0dXBfc2hhcmVkX2luZm8odm9pZCk7CisKIGNoYXIgKiBfX2luaXQgeGVuX21lbW9yeV9zZXR1cCh2b2lkKTsKIHZvaWQgX19pbml0IHhlbl9hcmNoX3NldHVwKHZvaWQpOwogdm9pZCBfX2luaXQgeGVuX2luaXRfSVJRKHZvaWQpOwogdm9pZCB4ZW5fZW5hYmxlX3N5c2VudGVyKHZvaWQpOwordm9pZCB4ZW5fdmNwdV9yZXN0b3JlKHZvaWQpOworCit2b2lkIF9faW5pdCB4ZW5fYnVpbGRfZHluYW1pY19waHlzX3RvX21hY2hpbmUodm9pZCk7CiAKIHZvaWQgeGVuX3NldHVwX3RpbWVyKGludCBjcHUpOwogdm9pZCB4ZW5fc2V0dXBfY3B1X2Nsb2NrZXZlbnRzKHZvaWQpOwotdW5zaWduZWQgbG9uZyB4ZW5fY3B1X2toeih2b2lkKTsKK3Vuc2lnbmVkIGxvbmcgeGVuX3RzY19raHoodm9pZCk7CiB2b2lkIF9faW5pdCB4ZW5fdGltZV9pbml0KHZvaWQpOwogdW5zaWduZWQgbG9uZyB4ZW5fZ2V0X3dhbGxjbG9jayh2b2lkKTsKIGludCB4ZW5fc2V0X3dhbGxjbG9jayh1bnNpZ25lZCBsb25nIHRpbWUpOwogdW5zaWduZWQgbG9uZyBsb25nIHhlbl9zY2hlZF9jbG9jayh2b2lkKTsKK3ZvaWQgeGVuX3RpbWVyX3Jlc3VtZSh2b2lkKTsKIAogaXJxcmV0dXJuX3QgeGVuX2RlYnVnX2ludGVycnVwdChpbnQgaXJxLCB2b2lkICpkZXZfaWQpOwogCkBAIC01NCw2ICs2Myw4IEBACiBpbnQgeGVuX3NtcF9jYWxsX2Z1bmN0aW9uX21hc2soY3B1bWFza190IG1hc2ssIHZvaWQgKCpmdW5jKSh2b2lkICopLAogCQkJICAgICAgIHZvaWQgKmluZm8sIGludCB3YWl0KTsKIAorZXh0ZXJuIGNwdW1hc2tfdCB4ZW5fY3B1X2luaXRpYWxpemVkX21hcDsKKwogCiAvKiBEZWNsYXJlIGFuIGFzbSBmdW5jdGlvbiwgYWxvbmcgd2l0aCBzeW1ib2xzIG5lZWRlZCB0byBtYWtlIGl0CiAgICBpbmxpbmVhYmxlICovCmRpZmYgLS1naXQgYS9ibG9jay9LY29uZmlnIGIvYmxvY2svS2NvbmZpZwppbmRleCAzZTk3ZjJiLi4xYWI3YzE1IDEwMDY0NAotLS0gYS9ibG9jay9LY29uZmlnCisrKyBiL2Jsb2NrL0tjb25maWcKQEAgLTgxLDYgKzgxLDE4IEBACiAKIAkgIElmIHVuc3VyZSwgc2F5IE4uCiAKK2NvbmZpZyBCTEtfREVWX0lOVEVHUklUWQorCWJvb2wgIkJsb2NrIGxheWVyIGRhdGEgaW50ZWdyaXR5IHN1cHBvcnQiCisJLS0taGVscC0tLQorCVNvbWUgc3RvcmFnZSBkZXZpY2VzIGFsbG93IGV4dHJhIGluZm9ybWF0aW9uIHRvIGJlCisJc3RvcmVkL3JldHJpZXZlZCB0byBoZWxwIHByb3RlY3QgdGhlIGRhdGEuICBUaGUgYmxvY2sgbGF5ZXIKKwlkYXRhIGludGVncml0eSBvcHRpb24gcHJvdmlkZXMgaG9va3Mgd2hpY2ggY2FuIGJlIHVzZWQgYnkKKwlmaWxlc3lzdGVtcyB0byBlbnN1cmUgYmV0dGVyIGRhdGEgaW50ZWdyaXR5LgorCisJU2F5IHllcyBoZXJlIGlmIHlvdSBoYXZlIGEgc3RvcmFnZSBkZXZpY2UgdGhhdCBwcm92aWRlcyB0aGUKKwlUMTAvU0NTSSBEYXRhIEludGVncml0eSBGaWVsZCBvciB0aGUgVDEzL0FUQSBFeHRlcm5hbCBQYXRoCisJUHJvdGVjdGlvbi4gIElmIGluIGRvdWJ0LCBzYXkgTi4KKwogZW5kaWYgIyBCTE9DSwogCiBjb25maWcgQkxPQ0tfQ09NUEFUCmRpZmYgLS1naXQgYS9ibG9jay9NYWtlZmlsZSBiL2Jsb2NrL01ha2VmaWxlCmluZGV4IDVhNDNjN2QuLjIwODAwMGIgMTAwNjQ0Ci0tLSBhL2Jsb2NrL01ha2VmaWxlCisrKyBiL2Jsb2NrL01ha2VmaWxlCkBAIC00LDcgKzQsOCBAQAogCiBvYmotJChDT05GSUdfQkxPQ0spIDo9IGVsZXZhdG9yLm8gYmxrLWNvcmUubyBibGstdGFnLm8gYmxrLXN5c2ZzLm8gXAogCQkJYmxrLWJhcnJpZXIubyBibGstc2V0dGluZ3MubyBibGstaW9jLm8gYmxrLW1hcC5vIFwKLQkJCWJsay1leGVjLm8gYmxrLW1lcmdlLm8gaW9jdGwubyBnZW5oZC5vIHNjc2lfaW9jdGwubworCQkJYmxrLWV4ZWMubyBibGstbWVyZ2UubyBpb2N0bC5vIGdlbmhkLm8gc2NzaV9pb2N0bC5vIFwKKwkJCWNtZC1maWx0ZXIubwogCiBvYmotJChDT05GSUdfQkxLX0RFVl9CU0cpCSs9IGJzZy5vCiBvYmotJChDT05GSUdfSU9TQ0hFRF9OT09QKQkrPSBub29wLWlvc2NoZWQubwpAQCAtMTQsMyArMTUsNCBAQAogCiBvYmotJChDT05GSUdfQkxLX0RFVl9JT19UUkFDRSkJKz0gYmxrdHJhY2Uubwogb2JqLSQoQ09ORklHX0JMT0NLX0NPTVBBVCkJKz0gY29tcGF0X2lvY3RsLm8KK29iai0kKENPTkZJR19CTEtfREVWX0lOVEVHUklUWSkJKz0gYmxrLWludGVncml0eS5vCmRpZmYgLS1naXQgYS9ibG9jay9hcy1pb3NjaGVkLmMgYi9ibG9jay9hcy1pb3NjaGVkLmMKaW5kZXggNzQzZjMzYS4uOTczNWFjYiAxMDA2NDQKLS0tIGEvYmxvY2svYXMtaW9zY2hlZC5jCisrKyBiL2Jsb2NrL2FzLWlvc2NoZWQuYwpAQCAtMTUxLDYgKzE1MSw3IEBACiAKIHN0YXRpYyBERUZJTkVfUEVSX0NQVSh1bnNpZ25lZCBsb25nLCBpb2NfY291bnQpOwogc3RhdGljIHN0cnVjdCBjb21wbGV0aW9uICppb2NfZ29uZTsKK3N0YXRpYyBERUZJTkVfU1BJTkxPQ0soaW9jX2dvbmVfbG9jayk7CiAKIHN0YXRpYyB2b2lkIGFzX21vdmVfdG9fZGlzcGF0Y2goc3RydWN0IGFzX2RhdGEgKmFkLCBzdHJ1Y3QgcmVxdWVzdCAqcnEpOwogc3RhdGljIHZvaWQgYXNfYW50aWNfc3RvcChzdHJ1Y3QgYXNfZGF0YSAqYWQpOwpAQCAtMTY0LDggKzE2NSwxOSBAQAogewogCWtmcmVlKGFpYyk7CiAJZWx2X2lvY19jb3VudF9kZWMoaW9jX2NvdW50KTsKLQlpZiAoaW9jX2dvbmUgJiYgIWVsdl9pb2NfY291bnRfcmVhZChpb2NfY291bnQpKQotCQljb21wbGV0ZShpb2NfZ29uZSk7CisJaWYgKGlvY19nb25lKSB7CisJCS8qCisJCSAqIEFTIHNjaGVkdWxlciBpcyBleGl0aW5nLCBncmFiIGV4aXQgbG9jayBhbmQgY2hlY2sKKwkJICogdGhlIHBlbmRpbmcgaW8gY29udGV4dCBjb3VudC4gSWYgaXQgaGl0cyB6ZXJvLAorCQkgKiBjb21wbGV0ZSBpb2NfZ29uZSBhbmQgc2V0IGl0IGJhY2sgdG8gTlVMTC4KKwkJICovCisJCXNwaW5fbG9jaygmaW9jX2dvbmVfbG9jayk7CisJCWlmIChpb2NfZ29uZSAmJiAhZWx2X2lvY19jb3VudF9yZWFkKGlvY19jb3VudCkpIHsKKwkJCWNvbXBsZXRlKGlvY19nb25lKTsKKwkJCWlvY19nb25lID0gTlVMTDsKKwkJfQorCQlzcGluX3VubG9jaygmaW9jX2dvbmVfbG9jayk7CisJfQogfQogCiBzdGF0aWMgdm9pZCBhc190cmltKHN0cnVjdCBpb19jb250ZXh0ICppb2MpCkBAIC0xNDkzLDcgKzE1MDUsNyBAQAogCS8qIGlvY19nb25lJ3MgdXBkYXRlIG11c3QgYmUgdmlzaWJsZSBiZWZvcmUgcmVhZGluZyBpb2NfY291bnQgKi8KIAlzbXBfd21iKCk7CiAJaWYgKGVsdl9pb2NfY291bnRfcmVhZChpb2NfY291bnQpKQotCQl3YWl0X2Zvcl9jb21wbGV0aW9uKGlvY19nb25lKTsKKwkJd2FpdF9mb3JfY29tcGxldGlvbigmYWxsX2dvbmUpOwogCXN5bmNocm9uaXplX3JjdSgpOwogfQogCmRpZmYgLS1naXQgYS9ibG9jay9ibGstY29yZS5jIGIvYmxvY2svYmxrLWNvcmUuYwppbmRleCAxOTA1YWFiLi5mZWY3OWNjIDEwMDY0NAotLS0gYS9ibG9jay9ibGstY29yZS5jCisrKyBiL2Jsb2NrL2Jsay1jb3JlLmMKQEAgLTE0Myw2ICsxNDMsMTAgQEAKIAogCQliaW8tPmJpX3NpemUgLT0gbmJ5dGVzOwogCQliaW8tPmJpX3NlY3RvciArPSAobmJ5dGVzID4+IDkpOworCisJCWlmIChiaW9faW50ZWdyaXR5KGJpbykpCisJCQliaW9faW50ZWdyaXR5X2FkdmFuY2UoYmlvLCBuYnl0ZXMpOworCiAJCWlmIChiaW8tPmJpX3NpemUgPT0gMCkKIAkJCWJpb19lbmRpbyhiaW8sIGVycm9yKTsKIAl9IGVsc2UgewpAQCAtMjAxLDggKzIwNSw3IEBACiAJaWYgKGJsa19xdWV1ZV9zdG9wcGVkKHEpKQogCQlyZXR1cm47CiAKLQlpZiAoIXRlc3RfYml0KFFVRVVFX0ZMQUdfUExVR0dFRCwgJnEtPnF1ZXVlX2ZsYWdzKSkgewotCQlfX3NldF9iaXQoUVVFVUVfRkxBR19QTFVHR0VELCAmcS0+cXVldWVfZmxhZ3MpOworCWlmICghcXVldWVfZmxhZ190ZXN0X2FuZF9zZXQoUVVFVUVfRkxBR19QTFVHR0VELCBxKSkgewogCQltb2RfdGltZXIoJnEtPnVucGx1Z190aW1lciwgamlmZmllcyArIHEtPnVucGx1Z19kZWxheSk7CiAJCWJsa19hZGRfdHJhY2VfZ2VuZXJpYyhxLCBOVUxMLCAwLCBCTEtfVEFfUExVRyk7CiAJfQpAQCAtMjE3LDEwICsyMjAsOSBAQAogewogCVdBUk5fT04oIWlycXNfZGlzYWJsZWQoKSk7CiAKLQlpZiAoIXRlc3RfYml0KFFVRVVFX0ZMQUdfUExVR0dFRCwgJnEtPnF1ZXVlX2ZsYWdzKSkKKwlpZiAoIXF1ZXVlX2ZsYWdfdGVzdF9hbmRfY2xlYXIoUVVFVUVfRkxBR19QTFVHR0VELCBxKSkKIAkJcmV0dXJuIDA7CiAKLQlxdWV1ZV9mbGFnX2NsZWFyKFFVRVVFX0ZMQUdfUExVR0dFRCwgcSk7CiAJZGVsX3RpbWVyKCZxLT51bnBsdWdfdGltZXIpOwogCXJldHVybiAxOwogfQpAQCAtMzI0LDggKzMyNiw3IEBACiAJICogb25lIGxldmVsIG9mIHJlY3Vyc2lvbiBpcyBvayBhbmQgaXMgbXVjaCBmYXN0ZXIgdGhhbiBraWNraW5nCiAJICogdGhlIHVucGx1ZyBoYW5kbGluZwogCSAqLwotCWlmICghdGVzdF9iaXQoUVVFVUVfRkxBR19SRUVOVEVSLCAmcS0+cXVldWVfZmxhZ3MpKSB7Ci0JCXF1ZXVlX2ZsYWdfc2V0KFFVRVVFX0ZMQUdfUkVFTlRFUiwgcSk7CisJaWYgKCFxdWV1ZV9mbGFnX3Rlc3RfYW5kX3NldChRVUVVRV9GTEFHX1JFRU5URVIsIHEpKSB7CiAJCXEtPnJlcXVlc3RfZm4ocSk7CiAJCXF1ZXVlX2ZsYWdfY2xlYXIoUVVFVUVfRkxBR19SRUVOVEVSLCBxKTsKIAl9IGVsc2UgewpAQCAtMzkwLDggKzM5MSw3IEBACiAJICogaGFuZGxpbmcgcmVpbnZva2UgdGhlIGhhbmRsZXIgc2hvcnRseSBpZiB3ZSBhbHJlYWR5IGdvdCB0aGVyZS4KIAkgKi8KIAlpZiAoIWVsdl9xdWV1ZV9lbXB0eShxKSkgewotCQlpZiAoIXRlc3RfYml0KFFVRVVFX0ZMQUdfUkVFTlRFUiwgJnEtPnF1ZXVlX2ZsYWdzKSkgewotCQkJcXVldWVfZmxhZ19zZXQoUVVFVUVfRkxBR19SRUVOVEVSLCBxKTsKKwkJaWYgKCFxdWV1ZV9mbGFnX3Rlc3RfYW5kX3NldChRVUVVRV9GTEFHX1JFRU5URVIsIHEpKSB7CiAJCQlxLT5yZXF1ZXN0X2ZuKHEpOwogCQkJcXVldWVfZmxhZ19jbGVhcihRVUVVRV9GTEFHX1JFRU5URVIsIHEpOwogCQl9IGVsc2UgewpAQCAtMTA0MiwxNSArMTA0Miw5IEBACiAJdW5zaWduZWQgbG9uZyBmbGFnczsKIAlzdHJ1Y3QgcmVxdWVzdF9xdWV1ZSAqcSA9IHJlcS0+cTsKIAotCS8qCi0JICogR2VlLCBJREUgY2FsbHMgaW4gdy8gTlVMTCBxLiAgRml4IElERSBhbmQgcmVtb3ZlIHRoZQotCSAqIGZvbGxvd2luZyBpZiAocSkgdGVzdC4KLQkgKi8KLQlpZiAocSkgewotCQlzcGluX2xvY2tfaXJxc2F2ZShxLT5xdWV1ZV9sb2NrLCBmbGFncyk7Ci0JCV9fYmxrX3B1dF9yZXF1ZXN0KHEsIHJlcSk7Ci0JCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUocS0+cXVldWVfbG9jaywgZmxhZ3MpOwotCX0KKwlzcGluX2xvY2tfaXJxc2F2ZShxLT5xdWV1ZV9sb2NrLCBmbGFncyk7CisJX19ibGtfcHV0X3JlcXVlc3QocSwgcmVxKTsKKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKHEtPnF1ZXVlX2xvY2ssIGZsYWdzKTsKIH0KIEVYUE9SVF9TWU1CT0woYmxrX3B1dF9yZXF1ZXN0KTsKIApAQCAtMTM4MSw2ICsxMzc1LDkgQEAKIAkJICovCiAJCWJsa19wYXJ0aXRpb25fcmVtYXAoYmlvKTsKIAorCQlpZiAoYmlvX2ludGVncml0eV9lbmFibGVkKGJpbykgJiYgYmlvX2ludGVncml0eV9wcmVwKGJpbykpCisJCQlnb3RvIGVuZF9pbzsKKwogCQlpZiAob2xkX3NlY3RvciAhPSAtMSkKIAkJCWJsa19hZGRfdHJhY2VfcmVtYXAocSwgYmlvLCBvbGRfZGV2LCBiaW8tPmJpX3NlY3RvciwKIAkJCQkJICAgIG9sZF9zZWN0b3IpOwpAQCAtMjA0NSw3ICsyMDQyLDcgQEAKIAlmb3JfZWFjaF9wb3NzaWJsZV9jcHUoaSkKIAkJSU5JVF9MSVNUX0hFQUQoJnBlcl9jcHUoYmxrX2NwdV9kb25lLCBpKSk7CiAKLQlvcGVuX3NvZnRpcnEoQkxPQ0tfU09GVElSUSwgYmxrX2RvbmVfc29mdGlycSwgTlVMTCk7CisJb3Blbl9zb2Z0aXJxKEJMT0NLX1NPRlRJUlEsIGJsa19kb25lX3NvZnRpcnEpOwogCXJlZ2lzdGVyX2hvdGNwdV9ub3RpZmllcigmYmxrX2NwdV9ub3RpZmllcik7CiAKIAlyZXR1cm4gMDsKZGlmZiAtLWdpdCBhL2Jsb2NrL2Jsay1leGVjLmMgYi9ibG9jay9ibGstZXhlYy5jCmluZGV4IDM5MWRkNjIuLjliY2VmZjcgMTAwNjQ0Ci0tLSBhL2Jsb2NrL2Jsay1leGVjLmMKKysrIGIvYmxvY2svYmxrLWV4ZWMuYwpAQCAtMTgsNyArMTgsNyBAQAogICogQHJxOiByZXF1ZXN0IHRvIGNvbXBsZXRlCiAgKiBAZXJyb3I6IGVuZCBpbyBzdGF0dXMgb2YgdGhlIHJlcXVlc3QKICAqLwotdm9pZCBibGtfZW5kX3N5bmNfcnEoc3RydWN0IHJlcXVlc3QgKnJxLCBpbnQgZXJyb3IpCitzdGF0aWMgdm9pZCBibGtfZW5kX3N5bmNfcnEoc3RydWN0IHJlcXVlc3QgKnJxLCBpbnQgZXJyb3IpCiB7CiAJc3RydWN0IGNvbXBsZXRpb24gKndhaXRpbmcgPSBycS0+ZW5kX2lvX2RhdGE7CiAKQEAgLTMxLDcgKzMxLDYgQEAKIAkgKi8KIAljb21wbGV0ZSh3YWl0aW5nKTsKIH0KLUVYUE9SVF9TWU1CT0woYmxrX2VuZF9zeW5jX3JxKTsKIAogLyoqCiAgKiBibGtfZXhlY3V0ZV9ycV9ub3dhaXQgLSBpbnNlcnQgYSByZXF1ZXN0IGludG8gcXVldWUgZm9yIGV4ZWN1dGlvbgpAQCAtNTgsNiArNTcsOSBAQAogCXNwaW5fbG9ja19pcnEocS0+cXVldWVfbG9jayk7CiAJX19lbHZfYWRkX3JlcXVlc3QocSwgcnEsIHdoZXJlLCAxKTsKIAlfX2dlbmVyaWNfdW5wbHVnX2RldmljZShxKTsKKwkvKiB0aGUgcXVldWUgaXMgc3RvcHBlZCBzbyBpdCB3b24ndCBiZSBwbHVnZ2VkK3VucGx1Z2dlZCAqLworCWlmIChibGtfcG1fcmVzdW1lX3JlcXVlc3QocnEpKQorCQlxLT5yZXF1ZXN0X2ZuKHEpOwogCXNwaW5fdW5sb2NrX2lycShxLT5xdWV1ZV9sb2NrKTsKIH0KIEVYUE9SVF9TWU1CT0xfR1BMKGJsa19leGVjdXRlX3JxX25vd2FpdCk7CmRpZmYgLS1naXQgYS9ibG9jay9ibGstaW50ZWdyaXR5LmMgYi9ibG9jay9ibGstaW50ZWdyaXR5LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2YxYTg0NwotLS0gL2Rldi9udWxsCisrKyBiL2Jsb2NrL2Jsay1pbnRlZ3JpdHkuYwpAQCAtMCwwICsxLDM4MSBAQAorLyoKKyAqIGJsay1pbnRlZ3JpdHkuYyAtIEJsb2NrIGxheWVyIGRhdGEgaW50ZWdyaXR5IGV4dGVuc2lvbnMKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDcsIDIwMDggT3JhY2xlIENvcnBvcmF0aW9uCisgKiBXcml0dGVuIGJ5OiBNYXJ0aW4gSy4gUGV0ZXJzZW4gPG1hcnRpbi5wZXRlcnNlbkBvcmFjbGUuY29tPgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24KKyAqIDIgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dAorICogV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IHNlZSB0aGUgZmlsZSBDT1BZSU5HLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgNjc1IE1hc3MgQXZlLCBDYW1icmlkZ2UsIE1BIDAyMTM5LAorICogVVNBLgorICoKKyAqLworCisjaW5jbHVkZSA8bGludXgvYmxrZGV2Lmg+CisjaW5jbHVkZSA8bGludXgvbWVtcG9vbC5oPgorI2luY2x1ZGUgPGxpbnV4L2Jpby5oPgorI2luY2x1ZGUgPGxpbnV4L3NjYXR0ZXJsaXN0Lmg+CisKKyNpbmNsdWRlICJibGsuaCIKKworc3RhdGljIHN0cnVjdCBrbWVtX2NhY2hlICppbnRlZ3JpdHlfY2FjaGVwOworCisvKioKKyAqIGJsa19ycV9jb3VudF9pbnRlZ3JpdHlfc2cgLSBDb3VudCBudW1iZXIgb2YgaW50ZWdyaXR5IHNjYXR0ZXJsaXN0IGVsZW1lbnRzCisgKiBAcnE6CQlyZXF1ZXN0IHdpdGggaW50ZWdyaXR5IG1ldGFkYXRhIGF0dGFjaGVkCisgKgorICogRGVzY3JpcHRpb246IFJldHVybnMgdGhlIG51bWJlciBvZiBlbGVtZW50cyByZXF1aXJlZCBpbiBhCisgKiBzY2F0dGVybGlzdCBjb3JyZXNwb25kaW5nIHRvIHRoZSBpbnRlZ3JpdHkgbWV0YWRhdGEgaW4gYSByZXF1ZXN0LgorICovCitpbnQgYmxrX3JxX2NvdW50X2ludGVncml0eV9zZyhzdHJ1Y3QgcmVxdWVzdCAqcnEpCit7CisJc3RydWN0IGJpb192ZWMgKml2LCAqaXZwcnY7CisJc3RydWN0IHJlcV9pdGVyYXRvciBpdGVyOworCXVuc2lnbmVkIGludCBzZWdtZW50czsKKworCWl2cHJ2ID0gTlVMTDsKKwlzZWdtZW50cyA9IDA7CisKKwlycV9mb3JfZWFjaF9pbnRlZ3JpdHlfc2VnbWVudChpdiwgcnEsIGl0ZXIpIHsKKworCQlpZiAoIWl2cHJ2IHx8ICFCSU9WRUNfUEhZU19NRVJHRUFCTEUoaXZwcnYsIGl2KSkKKwkJCXNlZ21lbnRzKys7CisKKwkJaXZwcnYgPSBpdjsKKwl9CisKKwlyZXR1cm4gc2VnbWVudHM7Cit9CitFWFBPUlRfU1lNQk9MKGJsa19ycV9jb3VudF9pbnRlZ3JpdHlfc2cpOworCisvKioKKyAqIGJsa19ycV9tYXBfaW50ZWdyaXR5X3NnIC0gTWFwIGludGVncml0eSBtZXRhZGF0YSBpbnRvIGEgc2NhdHRlcmxpc3QKKyAqIEBycToJCXJlcXVlc3Qgd2l0aCBpbnRlZ3JpdHkgbWV0YWRhdGEgYXR0YWNoZWQKKyAqIEBzZ2xpc3Q6CXRhcmdldCBzY2F0dGVybGlzdAorICoKKyAqIERlc2NyaXB0aW9uOiBNYXAgdGhlIGludGVncml0eSB2ZWN0b3JzIGluIHJlcXVlc3QgaW50byBhCisgKiBzY2F0dGVybGlzdC4gIFRoZSBzY2F0dGVybGlzdCBtdXN0IGJlIGJpZyBlbm91Z2ggdG8gaG9sZCBhbGwKKyAqIGVsZW1lbnRzLiAgSS5lLiBzaXplZCB1c2luZyBibGtfcnFfY291bnRfaW50ZWdyaXR5X3NnKCkuCisgKi8KK2ludCBibGtfcnFfbWFwX2ludGVncml0eV9zZyhzdHJ1Y3QgcmVxdWVzdCAqcnEsIHN0cnVjdCBzY2F0dGVybGlzdCAqc2dsaXN0KQoreworCXN0cnVjdCBiaW9fdmVjICppdiwgKml2cHJ2OworCXN0cnVjdCByZXFfaXRlcmF0b3IgaXRlcjsKKwlzdHJ1Y3Qgc2NhdHRlcmxpc3QgKnNnOworCXVuc2lnbmVkIGludCBzZWdtZW50czsKKworCWl2cHJ2ID0gTlVMTDsKKwlzZyA9IE5VTEw7CisJc2VnbWVudHMgPSAwOworCisJcnFfZm9yX2VhY2hfaW50ZWdyaXR5X3NlZ21lbnQoaXYsIHJxLCBpdGVyKSB7CisKKwkJaWYgKGl2cHJ2KSB7CisJCQlpZiAoIUJJT1ZFQ19QSFlTX01FUkdFQUJMRShpdnBydiwgaXYpKQorCQkJCWdvdG8gbmV3X3NlZ21lbnQ7CisKKwkJCXNnLT5sZW5ndGggKz0gaXYtPmJ2X2xlbjsKKwkJfSBlbHNlIHsKK25ld19zZWdtZW50OgorCQkJaWYgKCFzZykKKwkJCQlzZyA9IHNnbGlzdDsKKwkJCWVsc2UgeworCQkJCXNnLT5wYWdlX2xpbmsgJj0gfjB4MDI7CisJCQkJc2cgPSBzZ19uZXh0KHNnKTsKKwkJCX0KKworCQkJc2dfc2V0X3BhZ2Uoc2csIGl2LT5idl9wYWdlLCBpdi0+YnZfbGVuLCBpdi0+YnZfb2Zmc2V0KTsKKwkJCXNlZ21lbnRzKys7CisJCX0KKworCQlpdnBydiA9IGl2OworCX0KKworCWlmIChzZykKKwkJc2dfbWFya19lbmQoc2cpOworCisJcmV0dXJuIHNlZ21lbnRzOworfQorRVhQT1JUX1NZTUJPTChibGtfcnFfbWFwX2ludGVncml0eV9zZyk7CisKKy8qKgorICogYmxrX2ludGVncml0eV9jb21wYXJlIC0gQ29tcGFyZSBpbnRlZ3JpdHkgcHJvZmlsZSBvZiB0d28gYmxvY2sgZGV2aWNlcworICogQGIxOgkJRGV2aWNlIHRvIGNvbXBhcmUKKyAqIEBiMjoJCURldmljZSB0byBjb21wYXJlCisgKgorICogRGVzY3JpcHRpb246IE1ldGEtZGV2aWNlcyBsaWtlIERNIGFuZCBNRCBuZWVkIHRvIHZlcmlmeSB0aGF0IGFsbAorICogc3ViLWRldmljZXMgdXNlIHRoZSBzYW1lIGludGVncml0eSBmb3JtYXQgYmVmb3JlIGFkdmVydGlzaW5nIHRvCisgKiB1cHBlciBsYXllcnMgdGhhdCB0aGV5IGNhbiBzZW5kL3JlY2VpdmUgaW50ZWdyaXR5IG1ldGFkYXRhLiAgVGhpcworICogZnVuY3Rpb24gY2FuIGJlIHVzZWQgdG8gY2hlY2sgd2hldGhlciB0d28gYmxvY2sgZGV2aWNlcyBoYXZlCisgKiBjb21wYXRpYmxlIGludGVncml0eSBmb3JtYXRzLgorICovCitpbnQgYmxrX2ludGVncml0eV9jb21wYXJlKHN0cnVjdCBibG9ja19kZXZpY2UgKmJkMSwgc3RydWN0IGJsb2NrX2RldmljZSAqYmQyKQoreworCXN0cnVjdCBibGtfaW50ZWdyaXR5ICpiMSA9IGJkMS0+YmRfZGlzay0+aW50ZWdyaXR5OworCXN0cnVjdCBibGtfaW50ZWdyaXR5ICpiMiA9IGJkMi0+YmRfZGlzay0+aW50ZWdyaXR5OworCisJQlVHX09OKGJkMS0+YmRfZGlzayA9PSBOVUxMKTsKKwlCVUdfT04oYmQyLT5iZF9kaXNrID09IE5VTEwpOworCisJaWYgKCFiMSB8fCAhYjIpCisJCXJldHVybiAwOworCisJaWYgKGIxLT5zZWN0b3Jfc2l6ZSAhPSBiMi0+c2VjdG9yX3NpemUpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICIlczogJXMvJXMgc2VjdG9yIHN6ICV1ICE9ICV1XG4iLCBfX2Z1bmNfXywKKwkJICAgICAgIGJkMS0+YmRfZGlzay0+ZGlza19uYW1lLCBiZDItPmJkX2Rpc2stPmRpc2tfbmFtZSwKKwkJICAgICAgIGIxLT5zZWN0b3Jfc2l6ZSwgYjItPnNlY3Rvcl9zaXplKTsKKwkJcmV0dXJuIC0xOworCX0KKworCWlmIChiMS0+dHVwbGVfc2l6ZSAhPSBiMi0+dHVwbGVfc2l6ZSkgeworCQlwcmludGsoS0VSTl9FUlIgIiVzOiAlcy8lcyB0dXBsZSBzeiAldSAhPSAldVxuIiwgX19mdW5jX18sCisJCSAgICAgICBiZDEtPmJkX2Rpc2stPmRpc2tfbmFtZSwgYmQyLT5iZF9kaXNrLT5kaXNrX25hbWUsCisJCSAgICAgICBiMS0+dHVwbGVfc2l6ZSwgYjItPnR1cGxlX3NpemUpOworCQlyZXR1cm4gLTE7CisJfQorCisJaWYgKGIxLT50YWdfc2l6ZSAmJiBiMi0+dGFnX3NpemUgJiYgKGIxLT50YWdfc2l6ZSAhPSBiMi0+dGFnX3NpemUpKSB7CisJCXByaW50ayhLRVJOX0VSUiAiJXM6ICVzLyVzIHRhZyBzeiAldSAhPSAldVxuIiwgX19mdW5jX18sCisJCSAgICAgICBiZDEtPmJkX2Rpc2stPmRpc2tfbmFtZSwgYmQyLT5iZF9kaXNrLT5kaXNrX25hbWUsCisJCSAgICAgICBiMS0+dGFnX3NpemUsIGIyLT50YWdfc2l6ZSk7CisJCXJldHVybiAtMTsKKwl9CisKKwlpZiAoc3RyY21wKGIxLT5uYW1lLCBiMi0+bmFtZSkpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICIlczogJXMvJXMgdHlwZSAlcyAhPSAlc1xuIiwgX19mdW5jX18sCisJCSAgICAgICBiZDEtPmJkX2Rpc2stPmRpc2tfbmFtZSwgYmQyLT5iZF9kaXNrLT5kaXNrX25hbWUsCisJCSAgICAgICBiMS0+bmFtZSwgYjItPm5hbWUpOworCQlyZXR1cm4gLTE7CisJfQorCisJcmV0dXJuIDA7Cit9CitFWFBPUlRfU1lNQk9MKGJsa19pbnRlZ3JpdHlfY29tcGFyZSk7CisKK3N0cnVjdCBpbnRlZ3JpdHlfc3lzZnNfZW50cnkgeworCXN0cnVjdCBhdHRyaWJ1dGUgYXR0cjsKKwlzc2l6ZV90ICgqc2hvdykoc3RydWN0IGJsa19pbnRlZ3JpdHkgKiwgY2hhciAqKTsKKwlzc2l6ZV90ICgqc3RvcmUpKHN0cnVjdCBibGtfaW50ZWdyaXR5ICosIGNvbnN0IGNoYXIgKiwgc2l6ZV90KTsKK307CisKK3N0YXRpYyBzc2l6ZV90IGludGVncml0eV9hdHRyX3Nob3coc3RydWN0IGtvYmplY3QgKmtvYmosIHN0cnVjdCBhdHRyaWJ1dGUgKmF0dHIsCisJCQkJICAgY2hhciAqcGFnZSkKK3sKKwlzdHJ1Y3QgYmxrX2ludGVncml0eSAqYmkgPQorCQljb250YWluZXJfb2Yoa29iaiwgc3RydWN0IGJsa19pbnRlZ3JpdHksIGtvYmopOworCXN0cnVjdCBpbnRlZ3JpdHlfc3lzZnNfZW50cnkgKmVudHJ5ID0KKwkJY29udGFpbmVyX29mKGF0dHIsIHN0cnVjdCBpbnRlZ3JpdHlfc3lzZnNfZW50cnksIGF0dHIpOworCisJcmV0dXJuIGVudHJ5LT5zaG93KGJpLCBwYWdlKTsKK30KKworc3RhdGljIHNzaXplX3QgaW50ZWdyaXR5X2F0dHJfc3RvcmUoc3RydWN0IGtvYmplY3QgKmtvYmosCisJCQkJICAgIHN0cnVjdCBhdHRyaWJ1dGUgKmF0dHIsIGNvbnN0IGNoYXIgKnBhZ2UsCisJCQkJICAgIHNpemVfdCBjb3VudCkKK3sKKwlzdHJ1Y3QgYmxrX2ludGVncml0eSAqYmkgPQorCQljb250YWluZXJfb2Yoa29iaiwgc3RydWN0IGJsa19pbnRlZ3JpdHksIGtvYmopOworCXN0cnVjdCBpbnRlZ3JpdHlfc3lzZnNfZW50cnkgKmVudHJ5ID0KKwkJY29udGFpbmVyX29mKGF0dHIsIHN0cnVjdCBpbnRlZ3JpdHlfc3lzZnNfZW50cnksIGF0dHIpOworCXNzaXplX3QgcmV0ID0gMDsKKworCWlmIChlbnRyeS0+c3RvcmUpCisJCXJldCA9IGVudHJ5LT5zdG9yZShiaSwgcGFnZSwgY291bnQpOworCisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIHNzaXplX3QgaW50ZWdyaXR5X2Zvcm1hdF9zaG93KHN0cnVjdCBibGtfaW50ZWdyaXR5ICpiaSwgY2hhciAqcGFnZSkKK3sKKwlpZiAoYmkgIT0gTlVMTCAmJiBiaS0+bmFtZSAhPSBOVUxMKQorCQlyZXR1cm4gc3ByaW50ZihwYWdlLCAiJXNcbiIsIGJpLT5uYW1lKTsKKwllbHNlCisJCXJldHVybiBzcHJpbnRmKHBhZ2UsICJub25lXG4iKTsKK30KKworc3RhdGljIHNzaXplX3QgaW50ZWdyaXR5X3RhZ19zaXplX3Nob3coc3RydWN0IGJsa19pbnRlZ3JpdHkgKmJpLCBjaGFyICpwYWdlKQoreworCWlmIChiaSAhPSBOVUxMKQorCQlyZXR1cm4gc3ByaW50ZihwYWdlLCAiJXVcbiIsIGJpLT50YWdfc2l6ZSk7CisJZWxzZQorCQlyZXR1cm4gc3ByaW50ZihwYWdlLCAiMFxuIik7Cit9CisKK3N0YXRpYyBzc2l6ZV90IGludGVncml0eV9yZWFkX3N0b3JlKHN0cnVjdCBibGtfaW50ZWdyaXR5ICpiaSwKKwkJCQkgICAgY29uc3QgY2hhciAqcGFnZSwgc2l6ZV90IGNvdW50KQoreworCWNoYXIgKnAgPSAoY2hhciAqKSBwYWdlOworCXVuc2lnbmVkIGxvbmcgdmFsID0gc2ltcGxlX3N0cnRvdWwocCwgJnAsIDEwKTsKKworCWlmICh2YWwpCisJCWJpLT5mbGFncyB8PSBJTlRFR1JJVFlfRkxBR19SRUFEOworCWVsc2UKKwkJYmktPmZsYWdzICY9IH5JTlRFR1JJVFlfRkxBR19SRUFEOworCisJcmV0dXJuIGNvdW50OworfQorCitzdGF0aWMgc3NpemVfdCBpbnRlZ3JpdHlfcmVhZF9zaG93KHN0cnVjdCBibGtfaW50ZWdyaXR5ICpiaSwgY2hhciAqcGFnZSkKK3sKKwlyZXR1cm4gc3ByaW50ZihwYWdlLCAiJWRcbiIsIChiaS0+ZmxhZ3MgJiBJTlRFR1JJVFlfRkxBR19SRUFEKSAhPSAwKTsKK30KKworc3RhdGljIHNzaXplX3QgaW50ZWdyaXR5X3dyaXRlX3N0b3JlKHN0cnVjdCBibGtfaW50ZWdyaXR5ICpiaSwKKwkJCQkgICAgIGNvbnN0IGNoYXIgKnBhZ2UsIHNpemVfdCBjb3VudCkKK3sKKwljaGFyICpwID0gKGNoYXIgKikgcGFnZTsKKwl1bnNpZ25lZCBsb25nIHZhbCA9IHNpbXBsZV9zdHJ0b3VsKHAsICZwLCAxMCk7CisKKwlpZiAodmFsKQorCQliaS0+ZmxhZ3MgfD0gSU5URUdSSVRZX0ZMQUdfV1JJVEU7CisJZWxzZQorCQliaS0+ZmxhZ3MgJj0gfklOVEVHUklUWV9GTEFHX1dSSVRFOworCisJcmV0dXJuIGNvdW50OworfQorCitzdGF0aWMgc3NpemVfdCBpbnRlZ3JpdHlfd3JpdGVfc2hvdyhzdHJ1Y3QgYmxrX2ludGVncml0eSAqYmksIGNoYXIgKnBhZ2UpCit7CisJcmV0dXJuIHNwcmludGYocGFnZSwgIiVkXG4iLCAoYmktPmZsYWdzICYgSU5URUdSSVRZX0ZMQUdfV1JJVEUpICE9IDApOworfQorCitzdGF0aWMgc3RydWN0IGludGVncml0eV9zeXNmc19lbnRyeSBpbnRlZ3JpdHlfZm9ybWF0X2VudHJ5ID0geworCS5hdHRyID0geyAubmFtZSA9ICJmb3JtYXQiLCAubW9kZSA9IFNfSVJVR08gfSwKKwkuc2hvdyA9IGludGVncml0eV9mb3JtYXRfc2hvdywKK307CisKK3N0YXRpYyBzdHJ1Y3QgaW50ZWdyaXR5X3N5c2ZzX2VudHJ5IGludGVncml0eV90YWdfc2l6ZV9lbnRyeSA9IHsKKwkuYXR0ciA9IHsgLm5hbWUgPSAidGFnX3NpemUiLCAubW9kZSA9IFNfSVJVR08gfSwKKwkuc2hvdyA9IGludGVncml0eV90YWdfc2l6ZV9zaG93LAorfTsKKworc3RhdGljIHN0cnVjdCBpbnRlZ3JpdHlfc3lzZnNfZW50cnkgaW50ZWdyaXR5X3JlYWRfZW50cnkgPSB7CisJLmF0dHIgPSB7IC5uYW1lID0gInJlYWRfdmVyaWZ5IiwgLm1vZGUgPSBTX0lSVUdPIHwgU19JV1VTUiB9LAorCS5zaG93ID0gaW50ZWdyaXR5X3JlYWRfc2hvdywKKwkuc3RvcmUgPSBpbnRlZ3JpdHlfcmVhZF9zdG9yZSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgaW50ZWdyaXR5X3N5c2ZzX2VudHJ5IGludGVncml0eV93cml0ZV9lbnRyeSA9IHsKKwkuYXR0ciA9IHsgLm5hbWUgPSAid3JpdGVfZ2VuZXJhdGUiLCAubW9kZSA9IFNfSVJVR08gfCBTX0lXVVNSIH0sCisJLnNob3cgPSBpbnRlZ3JpdHlfd3JpdGVfc2hvdywKKwkuc3RvcmUgPSBpbnRlZ3JpdHlfd3JpdGVfc3RvcmUsCit9OworCitzdGF0aWMgc3RydWN0IGF0dHJpYnV0ZSAqaW50ZWdyaXR5X2F0dHJzW10gPSB7CisJJmludGVncml0eV9mb3JtYXRfZW50cnkuYXR0ciwKKwkmaW50ZWdyaXR5X3RhZ19zaXplX2VudHJ5LmF0dHIsCisJJmludGVncml0eV9yZWFkX2VudHJ5LmF0dHIsCisJJmludGVncml0eV93cml0ZV9lbnRyeS5hdHRyLAorCU5VTEwsCit9OworCitzdGF0aWMgc3RydWN0IHN5c2ZzX29wcyBpbnRlZ3JpdHlfb3BzID0geworCS5zaG93CT0gJmludGVncml0eV9hdHRyX3Nob3csCisJLnN0b3JlCT0gJmludGVncml0eV9hdHRyX3N0b3JlLAorfTsKKworc3RhdGljIGludCBfX2luaXQgYmxrX2Rldl9pbnRlZ3JpdHlfaW5pdCh2b2lkKQoreworCWludGVncml0eV9jYWNoZXAgPSBrbWVtX2NhY2hlX2NyZWF0ZSgiYmxrZGV2X2ludGVncml0eSIsCisJCQkJCSAgICAgc2l6ZW9mKHN0cnVjdCBibGtfaW50ZWdyaXR5KSwKKwkJCQkJICAgICAwLCBTTEFCX1BBTklDLCBOVUxMKTsKKwlyZXR1cm4gMDsKK30KK3N1YnN5c19pbml0Y2FsbChibGtfZGV2X2ludGVncml0eV9pbml0KTsKKworc3RhdGljIHZvaWQgYmxrX2ludGVncml0eV9yZWxlYXNlKHN0cnVjdCBrb2JqZWN0ICprb2JqKQoreworCXN0cnVjdCBibGtfaW50ZWdyaXR5ICpiaSA9CisJCWNvbnRhaW5lcl9vZihrb2JqLCBzdHJ1Y3QgYmxrX2ludGVncml0eSwga29iaik7CisKKwlrbWVtX2NhY2hlX2ZyZWUoaW50ZWdyaXR5X2NhY2hlcCwgYmkpOworfQorCitzdGF0aWMgc3RydWN0IGtvYmpfdHlwZSBpbnRlZ3JpdHlfa3R5cGUgPSB7CisJLmRlZmF1bHRfYXR0cnMJPSBpbnRlZ3JpdHlfYXR0cnMsCisJLnN5c2ZzX29wcwk9ICZpbnRlZ3JpdHlfb3BzLAorCS5yZWxlYXNlCT0gYmxrX2ludGVncml0eV9yZWxlYXNlLAorfTsKKworLyoqCisgKiBibGtfaW50ZWdyaXR5X3JlZ2lzdGVyIC0gUmVnaXN0ZXIgYSBnZW5kaXNrIGFzIGJlaW5nIGludGVncml0eS1jYXBhYmxlCisgKiBAZGlzazoJc3RydWN0IGdlbmRpc2sgcG9pbnRlciB0byBtYWtlIGludGVncml0eS1hd2FyZQorICogQHRlbXBsYXRlOglpbnRlZ3JpdHkgcHJvZmlsZQorICoKKyAqIERlc2NyaXB0aW9uOiBXaGVuIGEgZGV2aWNlIG5lZWRzIHRvIGFkdmVydGlzZSBpdHNlbGYgYXMgYmVpbmcgYWJsZQorICogdG8gc2VuZC9yZWNlaXZlIGludGVncml0eSBtZXRhZGF0YSBpdCBtdXN0IHVzZSB0aGlzIGZ1bmN0aW9uIHRvCisgKiByZWdpc3RlciB0aGUgY2FwYWJpbGl0eSB3aXRoIHRoZSBibG9jayBsYXllci4gIFRoZSB0ZW1wbGF0ZSBpcyBhCisgKiBibGtfaW50ZWdyaXR5IHN0cnVjdCB3aXRoIHZhbHVlcyBhcHByb3ByaWF0ZSBmb3IgdGhlIHVuZGVybHlpbmcKKyAqIGhhcmR3YXJlLiAgU2VlIERvY3VtZW50YXRpb24vYmxvY2svZGF0YS1pbnRlZ3JpdHkudHh0LgorICovCitpbnQgYmxrX2ludGVncml0eV9yZWdpc3RlcihzdHJ1Y3QgZ2VuZGlzayAqZGlzaywgc3RydWN0IGJsa19pbnRlZ3JpdHkgKnRlbXBsYXRlKQoreworCXN0cnVjdCBibGtfaW50ZWdyaXR5ICpiaTsKKworCUJVR19PTihkaXNrID09IE5VTEwpOworCUJVR19PTih0ZW1wbGF0ZSA9PSBOVUxMKTsKKworCWlmIChkaXNrLT5pbnRlZ3JpdHkgPT0gTlVMTCkgeworCQliaSA9IGttZW1fY2FjaGVfYWxsb2MoaW50ZWdyaXR5X2NhY2hlcCwKKwkJCQkJCUdGUF9LRVJORUwgfCBfX0dGUF9aRVJPKTsKKwkJaWYgKCFiaSkKKwkJCXJldHVybiAtMTsKKworCQlpZiAoa29iamVjdF9pbml0X2FuZF9hZGQoJmJpLT5rb2JqLCAmaW50ZWdyaXR5X2t0eXBlLAorCQkJCQkgJmRpc2stPmRldi5rb2JqLCAiJXMiLCAiaW50ZWdyaXR5IikpIHsKKwkJCWttZW1fY2FjaGVfZnJlZShpbnRlZ3JpdHlfY2FjaGVwLCBiaSk7CisJCQlyZXR1cm4gLTE7CisJCX0KKworCQlrb2JqZWN0X3VldmVudCgmYmktPmtvYmosIEtPQkpfQUREKTsKKworCQliaS0+ZmxhZ3MgfD0gSU5URUdSSVRZX0ZMQUdfUkVBRCB8IElOVEVHUklUWV9GTEFHX1dSSVRFOworCQliaS0+c2VjdG9yX3NpemUgPSBkaXNrLT5xdWV1ZS0+aGFyZHNlY3Rfc2l6ZTsKKwkJZGlzay0+aW50ZWdyaXR5ID0gYmk7CisJfSBlbHNlCisJCWJpID0gZGlzay0+aW50ZWdyaXR5OworCisJLyogVXNlIHRoZSBwcm92aWRlZCBwcm9maWxlIGFzIHRlbXBsYXRlICovCisJYmktPm5hbWUgPSB0ZW1wbGF0ZS0+bmFtZTsKKwliaS0+Z2VuZXJhdGVfZm4gPSB0ZW1wbGF0ZS0+Z2VuZXJhdGVfZm47CisJYmktPnZlcmlmeV9mbiA9IHRlbXBsYXRlLT52ZXJpZnlfZm47CisJYmktPnR1cGxlX3NpemUgPSB0ZW1wbGF0ZS0+dHVwbGVfc2l6ZTsKKwliaS0+c2V0X3RhZ19mbiA9IHRlbXBsYXRlLT5zZXRfdGFnX2ZuOworCWJpLT5nZXRfdGFnX2ZuID0gdGVtcGxhdGUtPmdldF90YWdfZm47CisJYmktPnRhZ19zaXplID0gdGVtcGxhdGUtPnRhZ19zaXplOworCisJcmV0dXJuIDA7Cit9CitFWFBPUlRfU1lNQk9MKGJsa19pbnRlZ3JpdHlfcmVnaXN0ZXIpOworCisvKioKKyAqIGJsa19pbnRlZ3JpdHlfdW5yZWdpc3RlciAtIFJlbW92ZSBibG9jayBpbnRlZ3JpdHkgcHJvZmlsZQorICogQGRpc2s6CWRpc2sgd2hvc2UgaW50ZWdyaXR5IHByb2ZpbGUgdG8gZGVhbGxvY2F0ZQorICoKKyAqIERlc2NyaXB0aW9uOiBUaGlzIGZ1bmN0aW9uIGZyZWVzIGFsbCBtZW1vcnkgdXNlZCBieSB0aGUgYmxvY2sKKyAqIGludGVncml0eSBwcm9maWxlLiAgVG8gYmUgY2FsbGVkIGF0IGRldmljZSB0ZWFyZG93bi4KKyAqLwordm9pZCBibGtfaW50ZWdyaXR5X3VucmVnaXN0ZXIoc3RydWN0IGdlbmRpc2sgKmRpc2spCit7CisJc3RydWN0IGJsa19pbnRlZ3JpdHkgKmJpOworCisJaWYgKCFkaXNrIHx8ICFkaXNrLT5pbnRlZ3JpdHkpCisJCXJldHVybjsKKworCWJpID0gZGlzay0+aW50ZWdyaXR5OworCisJa29iamVjdF91ZXZlbnQoJmJpLT5rb2JqLCBLT0JKX1JFTU9WRSk7CisJa29iamVjdF9kZWwoJmJpLT5rb2JqKTsKKwlrb2JqZWN0X3B1dCgmZGlzay0+ZGV2LmtvYmopOworCWttZW1fY2FjaGVfZnJlZShpbnRlZ3JpdHlfY2FjaGVwLCBiaSk7Cit9CitFWFBPUlRfU1lNQk9MKGJsa19pbnRlZ3JpdHlfdW5yZWdpc3Rlcik7CmRpZmYgLS1naXQgYS9ibG9jay9ibGstbWFwLmMgYi9ibG9jay9ibGstbWFwLmMKaW5kZXggMGIxYWY1YS4uZGRkOTZmYiAxMDA2NDQKLS0tIGEvYmxvY2svYmxrLW1hcC5jCisrKyBiL2Jsb2NrL2Jsay1tYXAuYwpAQCAtMjEwLDYgKzIxMCw3IEBACiAJaWYgKCFiaW9fZmxhZ2dlZChiaW8sIEJJT19VU0VSX01BUFBFRCkpCiAJCXJxLT5jbWRfZmxhZ3MgfD0gUkVRX0NPUFlfVVNFUjsKIAorCWJsa19xdWV1ZV9ib3VuY2UocSwgJmJpbyk7CiAJYmlvX2dldChiaW8pOwogCWJsa19ycV9iaW9fcHJlcChxLCBycSwgYmlvKTsKIAlycS0+YnVmZmVyID0gcnEtPmRhdGEgPSBOVUxMOwpAQCAtMjY4LDYgKzI2OSw3IEBACiAJaW50IHJlYWRpbmcgPSBycV9kYXRhX2RpcihycSkgPT0gUkVBRDsKIAlpbnQgZG9fY29weSA9IDA7CiAJc3RydWN0IGJpbyAqYmlvOworCXVuc2lnbmVkIGxvbmcgc3RhY2tfbWFzayA9IH4oVEhSRUFEX1NJWkUgLSAxKTsKIAogCWlmIChsZW4gPiAocS0+bWF4X2h3X3NlY3RvcnMgPDwgOSkpCiAJCXJldHVybiAtRUlOVkFMOwpAQCAtMjc4LDYgKzI4MCwxMCBAQAogCWFsaWdubWVudCA9IHF1ZXVlX2RtYV9hbGlnbm1lbnQocSkgfCBxLT5kbWFfcGFkX21hc2s7CiAJZG9fY29weSA9ICgoa2FkZHIgJiBhbGlnbm1lbnQpIHx8IChsZW4gJiBhbGlnbm1lbnQpKTsKIAorCWlmICghKChrYWRkciAmIHN0YWNrX21hc2spIF4KKwkgICAgICAoKHVuc2lnbmVkIGxvbmcpY3VycmVudC0+c3RhY2sgJiBzdGFja19tYXNrKSkpCisJCWRvX2NvcHkgPSAxOworCiAJaWYgKGRvX2NvcHkpCiAJCWJpbyA9IGJpb19jb3B5X2tlcm4ocSwga2J1ZiwgbGVuLCBnZnBfbWFzaywgcmVhZGluZyk7CiAJZWxzZQpkaWZmIC0tZ2l0IGEvYmxvY2svYmxrLW1lcmdlLmMgYi9ibG9jay9ibGstbWVyZ2UuYwppbmRleCA2NTExMzZhLi41ZWZjOWU3IDEwMDY0NAotLS0gYS9ibG9jay9ibGstbWVyZ2UuYworKysgYi9ibG9jay9ibGstbWVyZ2UuYwpAQCAtNDQxLDYgKzQ0MSw5IEBACiAJICAgIHx8IG5leHQtPnNwZWNpYWwpCiAJCXJldHVybiAwOwogCisJaWYgKGJsa19pbnRlZ3JpdHlfcnEocmVxKSAhPSBibGtfaW50ZWdyaXR5X3JxKG5leHQpKQorCQlyZXR1cm4gMDsKKwogCS8qCiAJICogSWYgd2UgYXJlIGFsbG93ZWQgdG8gbWVyZ2UsIHRoZW4gYXBwZW5kIGJpbyBsaXN0CiAJICogZnJvbSBuZXh0IHRvIHJxIGFuZCByZWxlYXNlIG5leHQuIG1lcmdlX3JlcXVlc3RzX2ZuCmRpZmYgLS1naXQgYS9ibG9jay9ibGstc2V0dGluZ3MuYyBiL2Jsb2NrL2Jsay1zZXR0aW5ncy5jCmluZGV4IDhkZDg2NDEuLmRmYzc3MDEgMTAwNjQ0Ci0tLSBhL2Jsb2NrL2Jsay1zZXR0aW5ncy5jCisrKyBiL2Jsb2NrL2Jsay1zZXR0aW5ncy5jCkBAIC0zMDIsMTEgKzMwMiwxMCBAQAogICogQHE6ICAgICB0aGUgcmVxdWVzdCBxdWV1ZSBmb3IgdGhlIGRldmljZQogICogQG1hc2s6ICBwYWQgbWFzawogICoKLSAqIFNldCBwYWQgbWFzay4gIERpcmVjdCBJTyByZXF1ZXN0cyBhcmUgcGFkZGVkIHRvIHRoZSBtYXNrIHNwZWNpZmllZC4KKyAqIFNldCBkbWEgcGFkIG1hc2suCiAgKgotICogQXBwZW5kaW5nIHBhZCBidWZmZXIgdG8gYSByZXF1ZXN0IG1vZGlmaWVzIC0+ZGF0YV9sZW4gc3VjaCB0aGF0IGl0Ci0gKiBpbmNsdWRlcyB0aGUgcGFkIGJ1ZmZlci4gIFRoZSBvcmlnaW5hbCByZXF1ZXN0ZWQgZGF0YSBsZW5ndGggY2FuIGJlCi0gKiBvYnRhaW5lZCB1c2luZyBibGtfcnFfcmF3X2RhdGFfbGVuKCkuCisgKiBBcHBlbmRpbmcgcGFkIGJ1ZmZlciB0byBhIHJlcXVlc3QgbW9kaWZpZXMgdGhlIGxhc3QgZW50cnkgb2YgYQorICogc2NhdHRlciBsaXN0IHN1Y2ggdGhhdCBpdCBpbmNsdWRlcyB0aGUgcGFkIGJ1ZmZlci4KICAqKi8KIHZvaWQgYmxrX3F1ZXVlX2RtYV9wYWQoc3RydWN0IHJlcXVlc3RfcXVldWUgKnEsIHVuc2lnbmVkIGludCBtYXNrKQogewpAQCAtMzE1LDYgKzMxNCwyMyBAQAogRVhQT1JUX1NZTUJPTChibGtfcXVldWVfZG1hX3BhZCk7CiAKIC8qKgorICogYmxrX3F1ZXVlX3VwZGF0ZV9kbWFfcGFkIC0gdXBkYXRlIHBhZCBtYXNrCisgKiBAcTogICAgIHRoZSByZXF1ZXN0IHF1ZXVlIGZvciB0aGUgZGV2aWNlCisgKiBAbWFzazogIHBhZCBtYXNrCisgKgorICogVXBkYXRlIGRtYSBwYWQgbWFzay4KKyAqCisgKiBBcHBlbmRpbmcgcGFkIGJ1ZmZlciB0byBhIHJlcXVlc3QgbW9kaWZpZXMgdGhlIGxhc3QgZW50cnkgb2YgYQorICogc2NhdHRlciBsaXN0IHN1Y2ggdGhhdCBpdCBpbmNsdWRlcyB0aGUgcGFkIGJ1ZmZlci4KKyAqKi8KK3ZvaWQgYmxrX3F1ZXVlX3VwZGF0ZV9kbWFfcGFkKHN0cnVjdCByZXF1ZXN0X3F1ZXVlICpxLCB1bnNpZ25lZCBpbnQgbWFzaykKK3sKKwlpZiAobWFzayA+IHEtPmRtYV9wYWRfbWFzaykKKwkJcS0+ZG1hX3BhZF9tYXNrID0gbWFzazsKK30KK0VYUE9SVF9TWU1CT0woYmxrX3F1ZXVlX3VwZGF0ZV9kbWFfcGFkKTsKKworLyoqCiAgKiBibGtfcXVldWVfZG1hX2RyYWluIC0gU2V0IHVwIGEgZHJhaW4gYnVmZmVyIGZvciBleGNlc3MgZG1hLgogICogQHE6ICB0aGUgcmVxdWVzdCBxdWV1ZSBmb3IgdGhlIGRldmljZQogICogQGRtYV9kcmFpbl9uZWVkZWQ6IGZuIHdoaWNoIHJldHVybnMgbm9uLXplcm8gaWYgZHJhaW4gaXMgbmVjZXNzYXJ5CmRpZmYgLS1naXQgYS9ibG9jay9ibGsuaCBiL2Jsb2NrL2Jsay5oCmluZGV4IDU5Nzc2YWIuLmM3OWYzMGUgMTAwNjQ0Ci0tLSBhL2Jsb2NrL2Jsay5oCisrKyBiL2Jsb2NrL2Jsay5oCkBAIC01MSw0ICs1MSwxMiBAQAogCXJldHVybiBxLT5ucl9jb25nZXN0aW9uX29mZjsKIH0KIAorI2lmIGRlZmluZWQoQ09ORklHX0JMS19ERVZfSU5URUdSSVRZKQorCisjZGVmaW5lIHJxX2Zvcl9lYWNoX2ludGVncml0eV9zZWdtZW50KGJ2bCwgX3JxLCBfaXRlcikJCVwKKwlfX3JxX2Zvcl9lYWNoX2JpbyhfaXRlci5iaW8sIF9ycSkJCQlcCisJCWJpcF9mb3JfZWFjaF92ZWMoYnZsLCBfaXRlci5iaW8tPmJpX2ludGVncml0eSwgX2l0ZXIuaSkKKworI2VuZGlmIC8qIEJMS19ERVZfSU5URUdSSVRZICovCisKICNlbmRpZgpkaWZmIC0tZ2l0IGEvYmxvY2svYmxrdHJhY2UuYyBiL2Jsb2NrL2Jsa3RyYWNlLmMKaW5kZXggOGQzYTI3Ny4uZWI5NjUxYyAxMDA2NDQKLS0tIGEvYmxvY2svYmxrdHJhY2UuYworKysgYi9ibG9jay9ibGt0cmFjZS5jCkBAIC0yNDQsNiArMjQ0LDcgQEAKIHN0YXRpYyB2b2lkIGJsa190cmFjZV9jbGVhbnVwKHN0cnVjdCBibGtfdHJhY2UgKmJ0KQogewogCXJlbGF5X2Nsb3NlKGJ0LT5yY2hhbik7CisJZGVidWdmc19yZW1vdmUoYnQtPm1zZ19maWxlKTsKIAlkZWJ1Z2ZzX3JlbW92ZShidC0+ZHJvcHBlZF9maWxlKTsKIAlibGtfcmVtb3ZlX3RyZWUoYnQtPmRpcik7CiAJZnJlZV9wZXJjcHUoYnQtPnNlcXVlbmNlKTsKQEAgLTI5MSw2ICsyOTIsNDQgQEAKIAkucmVhZCA9CQlibGtfZHJvcHBlZF9yZWFkLAogfTsKIAorc3RhdGljIGludCBibGtfbXNnX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbHApCit7CisJZmlscC0+cHJpdmF0ZV9kYXRhID0gaW5vZGUtPmlfcHJpdmF0ZTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgc3NpemVfdCBibGtfbXNnX3dyaXRlKHN0cnVjdCBmaWxlICpmaWxwLCBjb25zdCBjaGFyIF9fdXNlciAqYnVmZmVyLAorCQkJCXNpemVfdCBjb3VudCwgbG9mZl90ICpwcG9zKQoreworCWNoYXIgKm1zZzsKKwlzdHJ1Y3QgYmxrX3RyYWNlICpidDsKKworCWlmIChjb3VudCA+IEJMS19UTl9NQVhfTVNHKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCW1zZyA9IGttYWxsb2MoY291bnQsIEdGUF9LRVJORUwpOworCWlmIChtc2cgPT0gTlVMTCkKKwkJcmV0dXJuIC1FTk9NRU07CisKKwlpZiAoY29weV9mcm9tX3VzZXIobXNnLCBidWZmZXIsIGNvdW50KSkgeworCQlrZnJlZShtc2cpOworCQlyZXR1cm4gLUVGQVVMVDsKKwl9CisKKwlidCA9IGZpbHAtPnByaXZhdGVfZGF0YTsKKwlfX3RyYWNlX25vdGVfbWVzc2FnZShidCwgIiVzIiwgbXNnKTsKKwlrZnJlZShtc2cpOworCisJcmV0dXJuIGNvdW50OworfQorCitzdGF0aWMgY29uc3Qgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyBibGtfbXNnX2ZvcHMgPSB7CisJLm93bmVyID0JVEhJU19NT0RVTEUsCisJLm9wZW4gPQkJYmxrX21zZ19vcGVuLAorCS53cml0ZSA9CWJsa19tc2dfd3JpdGUsCit9OworCiAvKgogICogS2VlcCB0cmFjayBvZiBob3cgbWFueSB0aW1lcyB3ZSBlbmNvdW50ZXJlZCBhIGZ1bGwgc3ViYnVmZmVyLCB0byBhaWQKICAqIHRoZSB1c2VyIHNwYWNlIGFwcCBpbiB0ZWxsaW5nIGhvdyBtYW55IGxvc3QgZXZlbnRzIHRoZXJlIHdlcmUuCkBAIC0zODAsNiArNDE5LDEwIEBACiAJaWYgKCFidC0+ZHJvcHBlZF9maWxlKQogCQlnb3RvIGVycjsKIAorCWJ0LT5tc2dfZmlsZSA9IGRlYnVnZnNfY3JlYXRlX2ZpbGUoIm1zZyIsIDAyMjIsIGRpciwgYnQsICZibGtfbXNnX2ZvcHMpOworCWlmICghYnQtPm1zZ19maWxlKQorCQlnb3RvIGVycjsKKwogCWJ0LT5yY2hhbiA9IHJlbGF5X29wZW4oInRyYWNlIiwgZGlyLCBidXRzLT5idWZfc2l6ZSwKIAkJCQlidXRzLT5idWZfbnIsICZibGtfcmVsYXlfY2FsbGJhY2tzLCBidCk7CiAJaWYgKCFidC0+cmNoYW4pCkBAIC00MDksNiArNDUyLDggQEAKIAlpZiAoZGlyKQogCQlibGtfcmVtb3ZlX3RyZWUoZGlyKTsKIAlpZiAoYnQpIHsKKwkJaWYgKGJ0LT5tc2dfZmlsZSkKKwkJCWRlYnVnZnNfcmVtb3ZlKGJ0LT5tc2dfZmlsZSk7CiAJCWlmIChidC0+ZHJvcHBlZF9maWxlKQogCQkJZGVidWdmc19yZW1vdmUoYnQtPmRyb3BwZWRfZmlsZSk7CiAJCWZyZWVfcGVyY3B1KGJ0LT5zZXF1ZW5jZSk7CmRpZmYgLS1naXQgYS9ibG9jay9ic2cuYyBiL2Jsb2NrL2JzZy5jCmluZGV4IDU0ZDYxN2YuLjBiM2IyODIgMTAwNjQ0Ci0tLSBhL2Jsb2NrL2JzZy5jCisrKyBiL2Jsb2NrL2JzZy5jCkBAIC0xOSw2ICsxOSw3IEBACiAjaW5jbHVkZSA8bGludXgvdWlvLmg+CiAjaW5jbHVkZSA8bGludXgvaWRyLmg+CiAjaW5jbHVkZSA8bGludXgvYnNnLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KIAogI2luY2x1ZGUgPHNjc2kvc2NzaS5oPgogI2luY2x1ZGUgPHNjc2kvc2NzaV9pb2N0bC5oPgpAQCAtNDQsMTEgKzQ1LDEyIEBACiAJY2hhciBuYW1lW0JVU19JRF9TSVpFXTsKIAlpbnQgbWF4X3F1ZXVlOwogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisJc3RydWN0IGJsa19zY3NpX2NtZF9maWx0ZXIgKmNtZF9maWx0ZXI7CisJbW9kZV90ICpmX21vZGU7CiB9OwogCiBlbnVtIHsKIAlCU0dfRl9CTE9DSwkJPSAxLAotCUJTR19GX1dSSVRFX1BFUk0JPSAyLAogfTsKIAogI2RlZmluZSBCU0dfREVGQVVMVF9DTURTCTY0CkBAIC0xNzIsNyArMTc0LDcgQEAKIH0KIAogc3RhdGljIGludCBibGtfZmlsbF9zZ3Y0X2hkcl9ycShzdHJ1Y3QgcmVxdWVzdF9xdWV1ZSAqcSwgc3RydWN0IHJlcXVlc3QgKnJxLAotCQkJCXN0cnVjdCBzZ19pb192NCAqaGRyLCBpbnQgaGFzX3dyaXRlX3Blcm0pCisJCQkJc3RydWN0IHNnX2lvX3Y0ICpoZHIsIHN0cnVjdCBic2dfZGV2aWNlICpiZCkKIHsKIAlpZiAoaGRyLT5yZXF1ZXN0X2xlbiA+IEJMS19NQVhfQ0RCKSB7CiAJCXJxLT5jbWQgPSBremFsbG9jKGhkci0+cmVxdWVzdF9sZW4sIEdGUF9LRVJORUwpOwpAQCAtMTg1LDcgKzE4Nyw4IEBACiAJCXJldHVybiAtRUZBVUxUOwogCiAJaWYgKGhkci0+c3VicHJvdG9jb2wgPT0gQlNHX1NVQl9QUk9UT0NPTF9TQ1NJX0NNRCkgewotCQlpZiAoYmxrX3ZlcmlmeV9jb21tYW5kKHJxLT5jbWQsIGhhc193cml0ZV9wZXJtKSkKKwkJaWYgKGJsa19jbWRfZmlsdGVyX3ZlcmlmeV9jb21tYW5kKGJkLT5jbWRfZmlsdGVyLCBycS0+Y21kLAorCQkJCQkJIGJkLT5mX21vZGUpKQogCQkJcmV0dXJuIC1FUEVSTTsKIAl9IGVsc2UgaWYgKCFjYXBhYmxlKENBUF9TWVNfUkFXSU8pKQogCQlyZXR1cm4gLUVQRVJNOwpAQCAtMjYzLDggKzI2Niw3IEBACiAJcnEgPSBibGtfZ2V0X3JlcXVlc3QocSwgcncsIEdGUF9LRVJORUwpOwogCWlmICghcnEpCiAJCXJldHVybiBFUlJfUFRSKC1FTk9NRU0pOwotCXJldCA9IGJsa19maWxsX3NndjRfaGRyX3JxKHEsIHJxLCBoZHIsIHRlc3RfYml0KEJTR19GX1dSSVRFX1BFUk0sCi0JCQkJCQkgICAgICAgJmJkLT5mbGFncykpOworCXJldCA9IGJsa19maWxsX3NndjRfaGRyX3JxKHEsIHJxLCBoZHIsIGJkKTsKIAlpZiAocmV0KQogCQlnb3RvIG91dDsKIApAQCAtNTY2LDEyICs1NjgsMjMgQEAKIAkJc2V0X2JpdChCU0dfRl9CTE9DSywgJmJkLT5mbGFncyk7CiB9CiAKLXN0YXRpYyBpbmxpbmUgdm9pZCBic2dfc2V0X3dyaXRlX3Blcm0oc3RydWN0IGJzZ19kZXZpY2UgKmJkLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKK3N0YXRpYyB2b2lkIGJzZ19zZXRfY21kX2ZpbHRlcihzdHJ1Y3QgYnNnX2RldmljZSAqYmQsCisJCQkgICBzdHJ1Y3QgZmlsZSAqZmlsZSkKIHsKLQlpZiAoZmlsZS0+Zl9tb2RlICYgRk1PREVfV1JJVEUpCi0JCXNldF9iaXQoQlNHX0ZfV1JJVEVfUEVSTSwgJmJkLT5mbGFncyk7Ci0JZWxzZQotCQljbGVhcl9iaXQoQlNHX0ZfV1JJVEVfUEVSTSwgJmJkLT5mbGFncyk7CisJc3RydWN0IGlub2RlICppbm9kZTsKKwlzdHJ1Y3QgZ2VuZGlzayAqZGlzazsKKworCWlmICghZmlsZSkKKwkJcmV0dXJuOworCisJaW5vZGUgPSBmaWxlLT5mX2RlbnRyeS0+ZF9pbm9kZTsKKwlpZiAoIWlub2RlKQorCQlyZXR1cm47CisKKwlkaXNrID0gaW5vZGUtPmlfYmRldi0+YmRfZGlzazsKKworCWJkLT5jbWRfZmlsdGVyID0gJmRpc2stPmNtZF9maWx0ZXI7CisJYmQtPmZfbW9kZSA9ICZmaWxlLT5mX21vZGU7CiB9CiAKIC8qCkBAIC01OTUsNiArNjA4LDggQEAKIAlkcHJpbnRrKCIlczogcmVhZCAlWmQgYnl0ZXNcbiIsIGJkLT5uYW1lLCBjb3VudCk7CiAKIAlic2dfc2V0X2Jsb2NrKGJkLCBmaWxlKTsKKwlic2dfc2V0X2NtZF9maWx0ZXIoYmQsIGZpbGUpOworCiAJYnl0ZXNfcmVhZCA9IDA7CiAJcmV0ID0gX19ic2dfcmVhZChidWYsIGNvdW50LCBiZCwgTlVMTCwgJmJ5dGVzX3JlYWQpOwogCSpwcG9zID0gYnl0ZXNfcmVhZDsKQEAgLTY2OCw3ICs2ODMsNyBAQAogCWRwcmludGsoIiVzOiB3cml0ZSAlWmQgYnl0ZXNcbiIsIGJkLT5uYW1lLCBjb3VudCk7CiAKIAlic2dfc2V0X2Jsb2NrKGJkLCBmaWxlKTsKLQlic2dfc2V0X3dyaXRlX3Blcm0oYmQsIGZpbGUpOworCWJzZ19zZXRfY21kX2ZpbHRlcihiZCwgZmlsZSk7CiAKIAlieXRlc193cml0dGVuID0gMDsKIAlyZXQgPSBfX2JzZ193cml0ZShiZCwgYnVmLCBjb3VudCwgJmJ5dGVzX3dyaXR0ZW4pOwpAQCAtNzcyLDcgKzc4Nyw5IEBACiAJfQogCiAJYmQtPnF1ZXVlID0gcnE7CisKIAlic2dfc2V0X2Jsb2NrKGJkLCBmaWxlKTsKKwlic2dfc2V0X2NtZF9maWx0ZXIoYmQsIGZpbGUpOwogCiAJYXRvbWljX3NldCgmYmQtPnJlZl9jb3VudCwgMSk7CiAJbXV0ZXhfbG9jaygmYnNnX211dGV4KTsKQEAgLTgzNSw3ICs4NTIsMTEgQEAKIAogc3RhdGljIGludCBic2dfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKIHsKLQlzdHJ1Y3QgYnNnX2RldmljZSAqYmQgPSBic2dfZ2V0X2RldmljZShpbm9kZSwgZmlsZSk7CisJc3RydWN0IGJzZ19kZXZpY2UgKmJkOworCisJbG9ja19rZXJuZWwoKTsKKwliZCA9IGJzZ19nZXRfZGV2aWNlKGlub2RlLCBmaWxlKTsKKwl1bmxvY2tfa2VybmVsKCk7CiAKIAlpZiAoSVNfRVJSKGJkKSkKIAkJcmV0dXJuIFBUUl9FUlIoYmQpOwpkaWZmIC0tZ2l0IGEvYmxvY2svY2ZxLWlvc2NoZWQuYyBiL2Jsb2NrL2NmcS1pb3NjaGVkLmMKaW5kZXggZDAxYjQxMS4uMWUyYWZmOCAxMDA2NDQKLS0tIGEvYmxvY2svY2ZxLWlvc2NoZWQuYworKysgYi9ibG9jay9jZnEtaW9zY2hlZC5jCkBAIC0xMSw2ICsxMSw3IEBACiAjaW5jbHVkZSA8bGludXgvZWxldmF0b3IuaD4KICNpbmNsdWRlIDxsaW51eC9yYnRyZWUuaD4KICNpbmNsdWRlIDxsaW51eC9pb3ByaW8uaD4KKyNpbmNsdWRlIDxsaW51eC9ibGt0cmFjZV9hcGkuaD4KIAogLyoKICAqIHR1bmFibGVzCkBAIC00MSwxMyArNDIsMTQgQEAKIAogI2RlZmluZSBSUV9DSUMocnEpCQlcCiAJKChzdHJ1Y3QgY2ZxX2lvX2NvbnRleHQgKikgKHJxKS0+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+Y3JhX2hhc2guZGlnZXN0c2l6ZSk7Cit9CisKK2NvbnN0IHN0cnVjdCBjcnlwdG9fdHlwZSBjcnlwdG9fYWhhc2hfdHlwZSA9IHsKKwkuY3R4c2l6ZSA9IGNyeXB0b19haGFzaF9jdHhzaXplLAorCS5pbml0ID0gY3J5cHRvX2luaXRfYWhhc2hfb3BzLAorI2lmZGVmIENPTkZJR19QUk9DX0ZTCisJLnNob3cgPSBjcnlwdG9fYWhhc2hfc2hvdywKKyNlbmRpZgorfTsKK0VYUE9SVF9TWU1CT0xfR1BMKGNyeXB0b19haGFzaF90eXBlKTsKKworTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOworTU9EVUxFX0RFU0NSSVBUSU9OKCJBc3luY2hyb25vdXMgY3J5cHRvZ3JhcGhpYyBoYXNoIHR5cGUiKTsKZGlmZiAtLWdpdCBhL2NyeXB0by9hcGkuYyBiL2NyeXB0by9hcGkuYwppbmRleCAwYTBmNDFlLi5kMDZlMzMyIDEwMDY0NAotLS0gYS9jcnlwdG8vYXBpLmMKKysrIGIvY3J5cHRvL2FwaS5jCkBAIC0yMzUsOCArMjM1LDEyIEBACiAJCXJldHVybiBjcnlwdG9faW5pdF9jaXBoZXJfb3BzKHRmbSk7CiAJCQogCWNhc2UgQ1JZUFRPX0FMR19UWVBFX0RJR0VTVDoKLQkJcmV0dXJuIGNyeXB0b19pbml0X2RpZ2VzdF9vcHModGZtKTsKLQkJCisJCWlmICgobWFzayAmIENSWVBUT19BTEdfVFlQRV9IQVNIX01BU0spICE9CisJCSAgICBDUllQVE9fQUxHX1RZUEVfSEFTSF9NQVNLKQorCQkJcmV0dXJuIGNyeXB0b19pbml0X2RpZ2VzdF9vcHNfYXN5bmModGZtKTsKKwkJZWxzZQorCQkJcmV0dXJuIGNyeXB0b19pbml0X2RpZ2VzdF9vcHModGZtKTsKKwogCWNhc2UgQ1JZUFRPX0FMR19UWVBFX0NPTVBSRVNTOgogCQlyZXR1cm4gY3J5cHRvX2luaXRfY29tcHJlc3Nfb3BzKHRmbSk7CiAJCmRpZmYgLS1naXQgYS9jcnlwdG8vY2FtZWxsaWEuYyBiL2NyeXB0by9jYW1lbGxpYS5jCmluZGV4IDQ5M2ZlZTcuLmIxY2M0ZGUgMTAwNjQ0Ci0tLSBhL2NyeXB0by9jYW1lbGxpYS5jCisrKyBiL2NyeXB0by9jYW1lbGxpYS5jCkBAIC0zNSw2ICszNSw4IEBACiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgogI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L2JpdG9wcy5oPgorI2luY2x1ZGUgPGFzbS91bmFsaWduZWQuaD4KIAogc3RhdGljIGNvbnN0IHUzMiBjYW1lbGxpYV9zcDExMTBbMjU2XSA9IHsKIAkweDcwNzA3MDAwLDB4ODI4MjgyMDAsMHgyYzJjMmMwMCwweGVjZWNlYzAwLApAQCAtMzM1LDIwICszMzcsNiBAQAogLyoKICAqICBtYWNyb3MKICAqLwotI2RlZmluZSBHRVRVMzIodiwgcHQpIFwKLSAgICBkbyB7IFwKLQkvKiBsYXRlc3QgYnJlZWQgb2YgZ2NjIGlzIGNsZXZlciBlbm91Z2ggdG8gdXNlIG1vdmUgKi8gXAotCW1lbWNweSgmKHYpLCAocHQpLCA0KTsgXAotCSh2KSA9IGJlMzJfdG9fY3B1KHYpOyBcCi0gICAgfSB3aGlsZSgwKQotCi0vKiByb3RhdGlvbiByaWdodCBzaGlmdCAxYnl0ZSAqLwotI2RlZmluZSBST1I4KHgpICgoKHgpID4+IDgpICsgKCh4KSA8PCAyNCkpCi0vKiByb3RhdGlvbiBsZWZ0IHNoaWZ0IDFiaXQgKi8KLSNkZWZpbmUgUk9MMSh4KSAoKCh4KSA8PCAxKSArICgoeCkgPj4gMzEpKQotLyogcm90YXRpb24gbGVmdCBzaGlmdCAxYnl0ZSAqLwotI2RlZmluZSBST0w4KHgpICgoKHgpIDw8IDgpICsgKCh4KSA+PiAyNCkpCi0KICNkZWZpbmUgUk9MRFEobGwsIGxyLCBybCwgcnIsIHcwLCB3MSwgYml0cykJCVwKICAgICBkbyB7CQkJCQkJXAogCXcwID0gbGw7CQkJCQlcCkBAIC0zODMsNyArMzcxLDcgQEAKIAkgICBeIGNhbWVsbGlhX3NwMzAzM1sodTgpKGlsID4+IDgpXQkJCVwKIAkgICBeIGNhbWVsbGlhX3NwNDQwNFsodTgpKGlsICAgICApXTsJCQlcCiAJeWwgXj0geXI7CQkJCQkJXAotCXlyID0gUk9SOCh5cik7CQkJCQkJXAorCXlyID0gcm9yMzIoeXIsIDgpOwkJCQkJXAogCXlyIF49IHlsOwkJCQkJCVwKICAgICB9IHdoaWxlKDApCiAKQEAgLTQwNSw3ICszOTMsNyBAQAogCXN1YkxbN10gXj0gc3ViTFsxXTsgc3ViUls3XSBePSBzdWJSWzFdOwogCXN1YkxbMV0gXj0gc3ViUlsxXSAmIH5zdWJSWzldOwogCWR3ID0gc3ViTFsxXSAmIHN1YkxbOV0sCi0JCXN1YlJbMV0gXj0gUk9MMShkdyk7IC8qIG1vZGlmaWVkIGZvciBGTGludihrbDIpICovCisJCXN1YlJbMV0gXj0gcm9sMzIoZHcsIDEpOyAvKiBtb2RpZmllZCBmb3IgRkxpbnYoa2wyKSAqLwogCS8qIHJvdW5kIDggKi8KIAlzdWJMWzExXSBePSBzdWJMWzFdOyBzdWJSWzExXSBePSBzdWJSWzFdOwogCS8qIHJvdW5kIDEwICovCkBAIC00MTQsNyArNDAyLDcgQEAKIAlzdWJMWzE1XSBePSBzdWJMWzFdOyBzdWJSWzE1XSBePSBzdWJSWzFdOwogCXN1YkxbMV0gXj0gc3ViUlsxXSAmIH5zdWJSWzE3XTsKIAlkdyA9IHN1YkxbMV0gJiBzdWJMWzE3XSwKLQkJc3ViUlsxXSBePSBST0wxKGR3KTsgLyogbW9kaWZpZWQgZm9yIEZMaW52KGtsNCkgKi8KKwkJc3ViUlsxXSBePSByb2wzMihkdywgMSk7IC8qIG1vZGlmaWVkIGZvciBGTGludihrbDQpICovCiAJLyogcm91bmQgMTQgKi8KIAlzdWJMWzE5XSBePSBzdWJMWzFdOyBzdWJSWzE5XSBePSBzdWJSWzFdOwogCS8qIHJvdW5kIDE2ICovCkBAIC00MzAsNyArNDE4LDcgQEAKIAl9IGVsc2UgewogCQlzdWJMWzFdIF49IHN1YlJbMV0gJiB+c3ViUlsyNV07CiAJCWR3ID0gc3ViTFsxXSAmIHN1YkxbMjVdLAotCQkJc3ViUlsxXSBePSBST0wxKGR3KTsgLyogbW9kaWZpZWQgZm9yIEZMaW52KGtsNikgKi8KKwkJCXN1YlJbMV0gXj0gcm9sMzIoZHcsIDEpOyAvKiBtb2RpZmllZCBmb3IgRkxpbnYoa2w2KSAqLwogCQkvKiByb3VuZCAyMCAqLwogCQlzdWJMWzI3XSBePSBzdWJMWzFdOyBzdWJSWzI3XSBePSBzdWJSWzFdOwogCQkvKiByb3VuZCAyMiAqLwpAQCAtNDUwLDcgKzQzOCw3IEBACiAJCXN1YkxbMjZdIF49IGt3NGw7IHN1YlJbMjZdIF49IGt3NHI7CiAJCWt3NGwgXj0ga3c0ciAmIH5zdWJSWzI0XTsKIAkJZHcgPSBrdzRsICYgc3ViTFsyNF0sCi0JCQlrdzRyIF49IFJPTDEoZHcpOyAvKiBtb2RpZmllZCBmb3IgRkwoa2w1KSAqLworCQkJa3c0ciBePSByb2wzMihkdywgMSk7IC8qIG1vZGlmaWVkIGZvciBGTChrbDUpICovCiAJfQogCS8qIHJvdW5kIDE3ICovCiAJc3ViTFsyMl0gXj0ga3c0bDsgc3ViUlsyMl0gXj0ga3c0cjsKQEAgLTQ2MCw3ICs0NDgsNyBAQAogCXN1YkxbMThdIF49IGt3NGw7IHN1YlJbMThdIF49IGt3NHI7CiAJa3c0bCBePSBrdzRyICYgfnN1YlJbMTZdOwogCWR3ID0ga3c0bCAmIHN1YkxbMTZdLAotCQlrdzRyIF49IFJPTDEoZHcpOyAvKiBtb2RpZmllZCBmb3IgRkwoa2wzKSAqLworCQlrdzRyIF49IHJvbDMyKGR3LCAxKTsgLyogbW9kaWZpZWQgZm9yIEZMKGtsMykgKi8KIAkvKiByb3VuZCAxMSAqLwogCXN1YkxbMTRdIF49IGt3NGw7IHN1YlJbMTRdIF49IGt3NHI7CiAJLyogcm91bmQgOSAqLwpAQCAtNDY5LDcgKzQ1Nyw3IEBACiAJc3ViTFsxMF0gXj0ga3c0bDsgc3ViUlsxMF0gXj0ga3c0cjsKIAlrdzRsIF49IGt3NHIgJiB+c3ViUls4XTsKIAlkdyA9IGt3NGwgJiBzdWJMWzhdLAotCQlrdzRyIF49IFJPTDEoZHcpOyAvKiBtb2RpZmllZCBmb3IgRkwoa2wxKSAqLworCQlrdzRyIF49IHJvbDMyKGR3LCAxKTsgLyogbW9kaWZpZWQgZm9yIEZMKGtsMSkgKi8KIAkvKiByb3VuZCA1ICovCiAJc3ViTFs2XSBePSBrdzRsOyBzdWJSWzZdIF49IGt3NHI7CiAJLyogcm91bmQgMyAqLwpAQCAtNDk0LDcgKzQ4Miw3IEBACiAJU1VCS0VZX1IoNikgPSBzdWJSWzVdIF4gc3ViUls3XTsKIAl0bCA9IHN1YkxbMTBdIF4gKHN1YlJbMTBdICYgfnN1YlJbOF0pOwogCWR3ID0gdGwgJiBzdWJMWzhdLCAgLyogRkwoa2wxKSAqLwotCQl0ciA9IHN1YlJbMTBdIF4gUk9MMShkdyk7CisJCXRyID0gc3ViUlsxMF0gXiByb2wzMihkdywgMSk7CiAJU1VCS0VZX0woNykgPSBzdWJMWzZdIF4gdGw7IC8qIHJvdW5kIDYgKi8KIAlTVUJLRVlfUig3KSA9IHN1YlJbNl0gXiB0cjsKIAlTVUJLRVlfTCg4KSA9IHN1YkxbOF07ICAgICAgIC8qIEZMKGtsMSkgKi8KQEAgLTUwMyw3ICs0OTEsNyBAQAogCVNVQktFWV9SKDkpID0gc3ViUls5XTsKIAl0bCA9IHN1YkxbN10gXiAoc3ViUls3XSAmIH5zdWJSWzldKTsKIAlkdyA9IHRsICYgc3ViTFs5XSwgIC8qIEZMaW52KGtsMikgKi8KLQkJdHIgPSBzdWJSWzddIF4gUk9MMShkdyk7CisJCXRyID0gc3ViUls3XSBeIHJvbDMyKGR3LCAxKTsKIAlTVUJLRVlfTCgxMCkgPSB0bCBeIHN1YkxbMTFdOyAvKiByb3VuZCA3ICovCiAJU1VCS0VZX1IoMTApID0gdHIgXiBzdWJSWzExXTsKIAlTVUJLRVlfTCgxMSkgPSBzdWJMWzEwXSBeIHN1YkxbMTJdOyAvKiByb3VuZCA4ICovCkBAIC01MTYsNyArNTA0LDcgQEAKIAlTVUJLRVlfUigxNCkgPSBzdWJSWzEzXSBeIHN1YlJbMTVdOwogCXRsID0gc3ViTFsxOF0gXiAoc3ViUlsxOF0gJiB+c3ViUlsxNl0pOwogCWR3ID0gdGwgJiBzdWJMWzE2XSwgLyogRkwoa2wzKSAqLwotCQl0ciA9IHN1YlJbMThdIF4gUk9MMShkdyk7CisJCXRyID0gc3ViUlsxOF0gXiByb2wzMihkdywgMSk7CiAJU1VCS0VZX0woMTUpID0gc3ViTFsxNF0gXiB0bDsgLyogcm91bmQgMTIgKi8KIAlTVUJLRVlfUigxNSkgPSBzdWJSWzE0XSBeIHRyOwogCVNVQktFWV9MKDE2KSA9IHN1YkxbMTZdOyAgICAgLyogRkwoa2wzKSAqLwpAQCAtNTI1LDcgKzUxMyw3IEBACiAJU1VCS0VZX1IoMTcpID0gc3ViUlsxN107CiAJdGwgPSBzdWJMWzE1XSBeIChzdWJSWzE1XSAmIH5zdWJSWzE3XSk7CiAJZHcgPSB0bCAmIHN1YkxbMTddLCAvKiBGTGludihrbDQpICovCi0JCXRyID0gc3ViUlsxNV0gXiBST0wxKGR3KTsKKwkJdHIgPSBzdWJSWzE1XSBeIHJvbDMyKGR3LCAxKTsKIAlTVUJLRVlfTCgxOCkgPSB0bCBeIHN1YkxbMTldOyAvKiByb3VuZCAxMyAqLwogCVNVQktFWV9SKDE4KSA9IHRyIF4gc3ViUlsxOV07CiAJU1VCS0VZX0woMTkpID0gc3ViTFsxOF0gXiBzdWJMWzIwXTsgLyogcm91bmQgMTQgKi8KQEAgLTU0NCw3ICs1MzIsNyBAQAogCX0gZWxzZSB7CiAJCXRsID0gc3ViTFsyNl0gXiAoc3ViUlsyNl0gJiB+c3ViUlsyNF0pOwogCQlkdyA9IHRsICYgc3ViTFsyNF0sIC8qIEZMKGtsNSkgKi8KLQkJCXRyID0gc3ViUlsyNl0gXiBST0wxKGR3KTsKKwkJCXRyID0gc3ViUlsyNl0gXiByb2wzMihkdywgMSk7CiAJCVNVQktFWV9MKDIzKSA9IHN1YkxbMjJdIF4gdGw7IC8qIHJvdW5kIDE4ICovCiAJCVNVQktFWV9SKDIzKSA9IHN1YlJbMjJdIF4gdHI7CiAJCVNVQktFWV9MKDI0KSA9IHN1YkxbMjRdOyAgICAgLyogRkwoa2w1KSAqLwpAQCAtNTUzLDcgKzU0MSw3IEBACiAJCVNVQktFWV9SKDI1KSA9IHN1YlJbMjVdOwogCQl0bCA9IHN1YkxbMjNdIF4gKHN1YlJbMjNdICYgfnN1YlJbMjVdKTsKIAkJZHcgPSB0bCAmIHN1YkxbMjVdLCAvKiBGTGludihrbDYpICovCi0JCQl0ciA9IHN1YlJbMjNdIF4gUk9MMShkdyk7CisJCQl0ciA9IHN1YlJbMjNdIF4gcm9sMzIoZHcsIDEpOwogCQlTVUJLRVlfTCgyNikgPSB0bCBeIHN1YkxbMjddOyAvKiByb3VuZCAxOSAqLwogCQlTVUJLRVlfUigyNikgPSB0ciBeIHN1YlJbMjddOwogCQlTVUJLRVlfTCgyNykgPSBzdWJMWzI2XSBeIHN1YkxbMjhdOyAvKiByb3VuZCAyMCAqLwpAQCAtNTczLDE3ICs1NjEsMTcgQEAKIAkvKiBhcHBseSB0aGUgaW52ZXJzZSBvZiB0aGUgbGFzdCBoYWxmIG9mIFAtZnVuY3Rpb24gKi8KIAlpID0gMjsKIAlkbyB7Ci0JCWR3ID0gU1VCS0VZX0woaSArIDApIF4gU1VCS0VZX1IoaSArIDApOyBkdyA9IFJPTDgoZHcpOy8qIHJvdW5kIDEgKi8KKwkJZHcgPSBTVUJLRVlfTChpICsgMCkgXiBTVUJLRVlfUihpICsgMCk7IGR3ID0gcm9sMzIoZHcsIDgpOy8qIHJvdW5kIDEgKi8KIAkJU1VCS0VZX1IoaSArIDApID0gU1VCS0VZX0woaSArIDApIF4gZHc7IFNVQktFWV9MKGkgKyAwKSA9IGR3OwotCQlkdyA9IFNVQktFWV9MKGkgKyAxKSBeIFNVQktFWV9SKGkgKyAxKTsgZHcgPSBST0w4KGR3KTsvKiByb3VuZCAyICovCisJCWR3ID0gU1VCS0VZX0woaSArIDEpIF4gU1VCS0VZX1IoaSArIDEpOyBkdyA9IHJvbDMyKGR3LCA4KTsvKiByb3VuZCAyICovCiAJCVNVQktFWV9SKGkgKyAxKSA9IFNVQktFWV9MKGkgKyAxKSBeIGR3OyBTVUJLRVlfTChpICsgMSkgPSBkdzsKLQkJZHcgPSBTVUJLRVlfTChpICsgMikgXiBTVUJLRVlfUihpICsgMik7IGR3ID0gUk9MOChkdyk7Lyogcm91bmQgMyAqLworCQlkdyA9IFNVQktFWV9MKGkgKyAyKSBeIFNVQktFWV9SKGkgKyAyKTsgZHcgPSByb2wzMihkdywgOCk7Lyogcm91bmQgMyAqLwogCQlTVUJLRVlfUihpICsgMikgPSBTVUJLRVlfTChpICsgMikgXiBkdzsgU1VCS0VZX0woaSArIDIpID0gZHc7Ci0JCWR3ID0gU1VCS0VZX0woaSArIDMpIF4gU1VCS0VZX1IoaSArIDMpOyBkdyA9IFJPTDgoZHcpOy8qIHJvdW5kIDQgKi8KKwkJZHcgPSBTVUJLRVlfTChpICsgMykgXiBTVUJLRVlfUihpICsgMyk7IGR3ID0gcm9sMzIoZHcsIDgpOy8qIHJvdW5kIDQgKi8KIAkJU1VCS0VZX1IoaSArIDMpID0gU1VCS0VZX0woaSArIDMpIF4gZHc7IFNVQktFWV9MKGkgKyAzKSA9IGR3OwotCQlkdyA9IFNVQktFWV9MKGkgKyA0KSBeIFNVQktFWV9SKGkgKyA0KTsgZHcgPSBST0w4KGR3KTsvKiByb3VuZCA1ICovCisJCWR3ID0gU1VCS0VZX0woaSArIDQpIF4gU1VCS0VZX1IoaSArIDQpOyBkdyA9IHJvbDMyKGR3LCA5KTsvKiByb3VuZCA1ICovCiAJCVNVQktFWV9SKGkgKyA0KSA9IFNVQktFWV9MKGkgKyA0KSBeIGR3OyBTVUJLRVlfTChpICsgNCkgPSBkdzsKLQkJZHcgPSBTVUJLRVlfTChpICsgNSkgXiBTVUJLRVlfUihpICsgNSk7IGR3ID0gUk9MOChkdyk7Lyogcm91bmQgNiAqLworCQlkdyA9IFNVQktFWV9MKGkgKyA1KSBeIFNVQktFWV9SKGkgKyA1KTsgZHcgPSByb2wzMihkdywgOCk7Lyogcm91bmQgNiAqLwogCQlTVUJLRVlfUihpICsgNSkgPSBTVUJLRVlfTChpICsgNSkgXiBkdzsgU1VCS0VZX0woaSArIDUpID0gZHc7CiAJCWkgKz0gODsKIAl9IHdoaWxlIChpIDwgbWF4KTsKQEAgLTU5OSwxMCArNTg3LDEwIEBACiAJLyoqCiAJICogIGsgPT0ga2xsIHx8IGtsciB8fCBrcmwgfHwga3JyICh8fCBpcyBjb25jYXRlbmF0aW9uKQogCSAqLwotCUdFVFUzMihrbGwsIGtleSAgICAgKTsKLQlHRVRVMzIoa2xyLCBrZXkgKyAgNCk7Ci0JR0VUVTMyKGtybCwga2V5ICsgIDgpOwotCUdFVFUzMihrcnIsIGtleSArIDEyKTsKKwlrbGwgPSBnZXRfdW5hbGlnbmVkX2JlMzIoa2V5KTsKKwlrbHIgPSBnZXRfdW5hbGlnbmVkX2JlMzIoa2V5ICsgNCk7CisJa3JsID0gZ2V0X3VuYWxpZ25lZF9iZTMyKGtleSArIDgpOworCWtyciA9IGdldF91bmFsaWduZWRfYmUzMihrZXkgKyAxMik7CiAKIAkvKiBnZW5lcmF0ZSBLTCBkZXBlbmRlbnQgc3Via2V5cyAqLwogCS8qIGt3MSAqLwpAQCAtNzA3LDE0ICs2OTUsMTQgQEAKIAkgKiAga2V5ID0gKGtsbCB8fCBrbHIgfHwga3JsIHx8IGtyciB8fCBrcmxsIHx8IGtybHIgfHwga3JybCB8fCBrcnJyKQogCSAqICAofHwgaXMgY29uY2F0ZW5hdGlvbikKIAkgKi8KLQlHRVRVMzIoa2xsLCAga2V5ICAgICApOwotCUdFVFUzMihrbHIsICBrZXkgKyAgNCk7Ci0JR0VUVTMyKGtybCwgIGtleSArICA4KTsKLQlHRVRVMzIoa3JyLCAga2V5ICsgMTIpOwotCUdFVFUzMihrcmxsLCBrZXkgKyAxNik7Ci0JR0VUVTMyKGtybHIsIGtleSArIDIwKTsKLQlHRVRVMzIoa3JybCwga2V5ICsgMjQpOwotCUdFVFUzMihrcnJyLCBrZXkgKyAyOCk7CisJa2xsID0gZ2V0X3VuYWxpZ25lZF9iZTMyKGtleSk7CisJa2xyID0gZ2V0X3VuYWxpZ25lZF9iZTMyKGtleSArIDQpOworCWtybCA9IGdldF91bmFsaWduZWRfYmUzMihrZXkgKyA4KTsKKwlrcnIgPSBnZXRfdW5hbGlnbmVkX2JlMzIoa2V5ICsgMTIpOworCWtybGwgPSBnZXRfdW5hbGlnbmVkX2JlMzIoa2V5ICsgMTYpOworCWtybHIgPSBnZXRfdW5hbGlnbmVkX2JlMzIoa2V5ICsgMjApOworCWtycmwgPSBnZXRfdW5hbGlnbmVkX2JlMzIoa2V5ICsgMjQpOworCWtycnIgPSBnZXRfdW5hbGlnbmVkX2JlMzIoa2V5ICsgMjgpOwogCiAJLyogZ2VuZXJhdGUgS0wgZGVwZW5kZW50IHN1YmtleXMgKi8KIAkvKiBrdzEgKi8KQEAgLTg3MCwxMyArODU4LDEzIEBACiAJdDAgJj0gbGw7CQkJCQkJCVwKIAl0MiB8PSBycjsJCQkJCQkJXAogCXJsIF49IHQyOwkJCQkJCQlcCi0JbHIgXj0gUk9MMSh0MCk7CQkJCQkJCVwKKwlsciBePSByb2wzMih0MCwgMSk7CQkJCQkJXAogCXQzID0ga3JsOwkJCQkJCQlcCiAJdDEgPSBrbHI7CQkJCQkJCVwKIAl0MyAmPSBybDsJCQkJCQkJXAogCXQxIHw9IGxyOwkJCQkJCQlcCiAJbGwgXj0gdDE7CQkJCQkJCVwKLQlyciBePSBST0wxKHQzKTsJCQkJCQkJXAorCXJyIF49IHJvbDMyKHQzLCAxKTsJCQkJCQlcCiAgICAgfSB3aGlsZSgwKQogCiAjZGVmaW5lIENBTUVMTElBX1JPVU5EU00oeGwsIHhyLCBrbCwga3IsIHlsLCB5ciwgaWwsIGlyKQkJXApAQCAtODkyLDcgKzg4MCw3IEBACiAJaWwgXj0ga2w7CQkJCQkJCVwKIAlpciBePSBpbCBeIGtyOwkJCQkJCQlcCiAJeWwgXj0gaXI7CQkJCQkJCVwKLQl5ciBePSBST1I4KGlsKSBeIGlyOwkJCQkJCVwKKwl5ciBePSByb3IzMihpbCwgOCkgXiBpcjsJCQkJCQlcCiAgICAgfSB3aGlsZSgwKQogCiAvKiBtYXggPSAyNDogMTI4Yml0IGVuY3J5cHQsIG1heCA9IDMyOiAyNTZiaXQgZW5jcnlwdCAqLwpkaWZmIC0tZ2l0IGEvY3J5cHRvL2NyYzMyYy5jIGIvY3J5cHRvL2NyYzMyYy5jCmluZGV4IDBkY2Y2NGEuLmE4ODJkOWUgMTAwNjQ0Ci0tLSBhL2NyeXB0by9jcmMzMmMuYworKysgYi9jcnlwdG8vY3JjMzJjLmMKQEAgLTUsMjAgKzUsMjMgQEAKICAqCiAgKiBUaGlzIG1vZHVsZSBmaWxlIGlzIGEgd3JhcHBlciB0byBpbnZva2UgdGhlIGxpYi9jcmMzMmMgcm91dGluZXMuCiAgKgorICogQ29weXJpZ2h0IChjKSAyMDA4IEhlcmJlcnQgWHUgPGhlcmJlcnRAZ29uZG9yLmFwYW5hLm9yZy5hdT4KKyAqCiAgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdAogICogdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUKICAqIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgCiAgKiBhbnkgbGF0ZXIgdmVyc2lvbi4KICAqCiAgKi8KKworI2luY2x1ZGUgPGNyeXB0by9pbnRlcm5hbC9oYXNoLmg+CiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogI2luY2x1ZGUgPGxpbnV4L3N0cmluZy5oPgotI2luY2x1ZGUgPGxpbnV4L2NyeXB0by5oPgogI2luY2x1ZGUgPGxpbnV4L2NyYzMyYy5oPgogI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgogCi0jZGVmaW5lIENIS1NVTV9CTE9DS19TSVpFCTMyCisjZGVmaW5lIENIS1NVTV9CTE9DS19TSVpFCTEKICNkZWZpbmUgQ0hLU1VNX0RJR0VTVF9TSVpFCTQKIAogc3RydWN0IGNoa3N1bV9jdHggewpAQCAtNzEsNyArNzQsNyBAQAogCSooX19sZTMyICopb3V0ID0gfmNwdV90b19sZTMyKG1jdHgtPmNyYyk7CiB9CiAKLXN0YXRpYyBpbnQgY3JjMzJjX2NyYV9pbml0KHN0cnVjdCBjcnlwdG9fdGZtICp0Zm0pCitzdGF0aWMgaW50IGNyYzMyY19jcmFfaW5pdF9vbGQoc3RydWN0IGNyeXB0b190Zm0gKnRmbSkKIHsKIAlzdHJ1Y3QgY2hrc3VtX2N0eCAqbWN0eCA9IGNyeXB0b190Zm1fY3R4KHRmbSk7CiAKQEAgLTc5LDE0ICs4MiwxNCBAQAogCXJldHVybiAwOwogfQogCi1zdGF0aWMgc3RydWN0IGNyeXB0b19hbGcgYWxnID0geworc3RhdGljIHN0cnVjdCBjcnlwdG9fYWxnIG9sZF9hbGcgPSB7CiAJLmNyYV9uYW1lCT0JImNyYzMyYyIsCiAJLmNyYV9mbGFncwk9CUNSWVBUT19BTEdfVFlQRV9ESUdFU1QsCiAJLmNyYV9ibG9ja3NpemUJPQlDSEtTVU1fQkxPQ0tfU0laRSwKIAkuY3JhX2N0eHNpemUJPQlzaXplb2Yoc3RydWN0IGNoa3N1bV9jdHgpLAogCS5jcmFfbW9kdWxlCT0JVEhJU19NT0RVTEUsCi0JLmNyYV9saXN0CT0JTElTVF9IRUFEX0lOSVQoYWxnLmNyYV9saXN0KSwKLQkuY3JhX2luaXQJPQljcmMzMmNfY3JhX2luaXQsCisJLmNyYV9saXN0CT0JTElTVF9IRUFEX0lOSVQob2xkX2FsZy5jcmFfbGlzdCksCisJLmNyYV9pbml0CT0JY3JjMzJjX2NyYV9pbml0X29sZCwKIAkuY3JhX3UJCT0JewogCQkuZGlnZXN0ID0gewogCQkJIC5kaWFfZGlnZXN0c2l6ZT0JQ0hLU1VNX0RJR0VTVF9TSVpFLApAQCAtOTgsMTQgKzEwMSwxMjUgQEAKIAl9CiB9OwogCisvKgorICogU2V0dGluZyB0aGUgc2VlZCBhbGxvd3MgYXJiaXRyYXJ5IGFjY3VtdWxhdG9ycyBhbmQgZmxleGlibGUgWE9SIHBvbGljeQorICogSWYgeW91ciBhbGdvcml0aG0gc3RhcnRzIHdpdGggfjAsIHRoZW4gWE9SIHdpdGggfjAgYmVmb3JlIHlvdSBzZXQKKyAqIHRoZSBzZWVkLgorICovCitzdGF0aWMgaW50IGNyYzMyY19zZXRrZXkoc3RydWN0IGNyeXB0b19haGFzaCAqaGFzaCwgY29uc3QgdTggKmtleSwKKwkJCSB1bnNpZ25lZCBpbnQga2V5bGVuKQoreworCXUzMiAqbWN0eCA9IGNyeXB0b19haGFzaF9jdHgoaGFzaCk7CisKKwlpZiAoa2V5bGVuICE9IHNpemVvZih1MzIpKSB7CisJCWNyeXB0b19haGFzaF9zZXRfZmxhZ3MoaGFzaCwgQ1JZUFRPX1RGTV9SRVNfQkFEX0tFWV9MRU4pOworCQlyZXR1cm4gLUVJTlZBTDsKKwl9CisJKm1jdHggPSBsZTMyX3RvX2NwdXAoKF9fbGUzMiAqKWtleSk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY3JjMzJjX2luaXQoc3RydWN0IGFoYXNoX3JlcXVlc3QgKnJlcSkKK3sKKwl1MzIgKm1jdHggPSBjcnlwdG9fYWhhc2hfY3R4KGNyeXB0b19haGFzaF9yZXF0Zm0ocmVxKSk7CisJdTMyICpjcmNwID0gYWhhc2hfcmVxdWVzdF9jdHgocmVxKTsKKworCSpjcmNwID0gKm1jdHg7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY3JjMzJjX3VwZGF0ZShzdHJ1Y3QgYWhhc2hfcmVxdWVzdCAqcmVxKQoreworCXN0cnVjdCBjcnlwdG9faGFzaF93YWxrIHdhbGs7CisJdTMyICpjcmNwID0gYWhhc2hfcmVxdWVzdF9jdHgocmVxKTsKKwl1MzIgY3JjID0gKmNyY3A7CisJaW50IG5ieXRlczsKKworCWZvciAobmJ5dGVzID0gY3J5cHRvX2hhc2hfd2Fsa19maXJzdChyZXEsICZ3YWxrKTsgbmJ5dGVzOworCSAgICAgbmJ5dGVzID0gY3J5cHRvX2hhc2hfd2Fsa19kb25lKCZ3YWxrLCAwKSkKKwkJY3JjID0gY3JjMzJjKGNyYywgd2Fsay5kYXRhLCBuYnl0ZXMpOworCisJKmNyY3AgPSBjcmM7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY3JjMzJjX2ZpbmFsKHN0cnVjdCBhaGFzaF9yZXF1ZXN0ICpyZXEpCit7CisJdTMyICpjcmNwID0gYWhhc2hfcmVxdWVzdF9jdHgocmVxKTsKKwkKKwkqKF9fbGUzMiAqKXJlcS0+cmVzdWx0ID0gfmNwdV90b19sZTMycChjcmNwKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjcmMzMmNfZGlnZXN0KHN0cnVjdCBhaGFzaF9yZXF1ZXN0ICpyZXEpCit7CisJc3RydWN0IGNyeXB0b19oYXNoX3dhbGsgd2FsazsKKwl1MzIgKm1jdHggPSBjcnlwdG9fYWhhc2hfY3R4KGNyeXB0b19haGFzaF9yZXF0Zm0ocmVxKSk7CisJdTMyIGNyYyA9ICptY3R4OworCWludCBuYnl0ZXM7CisKKwlmb3IgKG5ieXRlcyA9IGNyeXB0b19oYXNoX3dhbGtfZmlyc3QocmVxLCAmd2Fsayk7IG5ieXRlczsKKwkgICAgIG5ieXRlcyA9IGNyeXB0b19oYXNoX3dhbGtfZG9uZSgmd2FsaywgMCkpCisJCWNyYyA9IGNyYzMyYyhjcmMsIHdhbGsuZGF0YSwgbmJ5dGVzKTsKKworCSooX19sZTMyICopcmVxLT5yZXN1bHQgPSB+Y3B1X3RvX2xlMzIoY3JjKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjcmMzMmNfY3JhX2luaXQoc3RydWN0IGNyeXB0b190Zm0gKnRmbSkKK3sKKwl1MzIgKmtleSA9IGNyeXB0b190Zm1fY3R4KHRmbSk7CisKKwkqa2V5ID0gfjA7CisKKwl0Zm0tPmNydF9haGFzaC5yZXFzaXplID0gc2l6ZW9mKHUzMik7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHN0cnVjdCBjcnlwdG9fYWxnIGFsZyA9IHsKKwkuY3JhX25hbWUJCT0JImNyYzMyYyIsCisJLmNyYV9kcml2ZXJfbmFtZQk9CSJjcmMzMmMtZ2VuZXJpYyIsCisJLmNyYV9wcmlvcml0eQkJPQkxMDAsCisJLmNyYV9mbGFncwkJPQlDUllQVE9fQUxHX1RZUEVfQUhBU0gsCisJLmNyYV9ibG9ja3NpemUJCT0JQ0hLU1VNX0JMT0NLX1NJWkUsCisJLmNyYV9hbGlnbm1hc2sJCT0JMywKKwkuY3JhX2N0eHNpemUJCT0Jc2l6ZW9mKHUzMiksCisJLmNyYV9tb2R1bGUJCT0JVEhJU19NT0RVTEUsCisJLmNyYV9saXN0CQk9CUxJU1RfSEVBRF9JTklUKGFsZy5jcmFfbGlzdCksCisJLmNyYV9pbml0CQk9CWNyYzMyY19jcmFfaW5pdCwKKwkuY3JhX3R5cGUJCT0JJmNyeXB0b19haGFzaF90eXBlLAorCS5jcmFfdQkJCT0JeworCQkuYWhhc2ggPSB7CisJCQkgLmRpZ2VzdHNpemUJPQlDSEtTVU1fRElHRVNUX1NJWkUsCisJCQkgLnNldGtleQk9CWNyYzMyY19zZXRrZXksCisJCQkgLmluaXQgICAJPSAJY3JjMzJjX2luaXQsCisJCQkgLnVwZGF0ZSAJPQljcmMzMmNfdXBkYXRlLAorCQkJIC5maW5hbCAgCT0JY3JjMzJjX2ZpbmFsLAorCQkJIC5kaWdlc3QgIAk9CWNyYzMyY19kaWdlc3QsCisJCSB9CisJfQorfTsKKwogc3RhdGljIGludCBfX2luaXQgY3JjMzJjX21vZF9pbml0KHZvaWQpCiB7Ci0JcmV0dXJuIGNyeXB0b19yZWdpc3Rlcl9hbGcoJmFsZyk7CisJaW50IGVycjsKKworCWVyciA9IGNyeXB0b19yZWdpc3Rlcl9hbGcoJm9sZF9hbGcpOworCWlmIChlcnIpCisJCXJldHVybiBlcnI7CisKKwllcnIgPSBjcnlwdG9fcmVnaXN0ZXJfYWxnKCZhbGcpOworCWlmIChlcnIpCisJCWNyeXB0b191bnJlZ2lzdGVyX2FsZygmb2xkX2FsZyk7CisKKwlyZXR1cm4gZXJyOwogfQogCiBzdGF0aWMgdm9pZCBfX2V4aXQgY3JjMzJjX21vZF9maW5pKHZvaWQpCiB7CiAJY3J5cHRvX3VucmVnaXN0ZXJfYWxnKCZhbGcpOworCWNyeXB0b191bnJlZ2lzdGVyX2FsZygmb2xkX2FsZyk7CiB9CiAKIG1vZHVsZV9pbml0KGNyYzMyY19tb2RfaW5pdCk7CmRpZmYgLS1naXQgYS9jcnlwdG8vY3J5cHRkLmMgYi9jcnlwdG8vY3J5cHRkLmMKaW5kZXggYjE1MGRlNS4uZDI5ZTA2YiAxMDA2NDQKLS0tIGEvY3J5cHRvL2NyeXB0ZC5jCisrKyBiL2NyeXB0by9jcnlwdGQuYwpAQCAtMTEsNiArMTEsNyBAQAogICovCiAKICNpbmNsdWRlIDxjcnlwdG8vYWxnYXBpLmg+CisjaW5jbHVkZSA8Y3J5cHRvL2ludGVybmFsL2hhc2guaD4KICNpbmNsdWRlIDxsaW51eC9lcnIuaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CkBAIC00NSw2ICs0NiwxMyBAQAogCWNyeXB0b19jb21wbGV0aW9uX3QgY29tcGxldGU7CiB9OwogCitzdHJ1Y3QgY3J5cHRkX2hhc2hfY3R4IHsKKwlzdHJ1Y3QgY3J5cHRvX2hhc2ggKmNoaWxkOworfTsKKworc3RydWN0IGNyeXB0ZF9oYXNoX3JlcXVlc3RfY3R4IHsKKwljcnlwdG9fY29tcGxldGlvbl90IGNvbXBsZXRlOworfTsKIAogc3RhdGljIGlubGluZSBzdHJ1Y3QgY3J5cHRkX3N0YXRlICpjcnlwdGRfZ2V0X3N0YXRlKHN0cnVjdCBjcnlwdG9fdGZtICp0Zm0pCiB7CkBAIC04MiwxMCArOTAsOCBAQAogCiAJcmN0eCA9IGFibGtjaXBoZXJfcmVxdWVzdF9jdHgocmVxKTsKIAotCWlmICh1bmxpa2VseShlcnIgPT0gLUVJTlBST0dSRVNTKSkgewotCQlyY3R4LT5jb21wbGV0ZSgmcmVxLT5iYXNlLCBlcnIpOwotCQlyZXR1cm47Ci0JfQorCWlmICh1bmxpa2VseShlcnIgPT0gLUVJTlBST0dSRVNTKSkKKwkJZ290byBvdXQ7CiAKIAlkZXNjLnRmbSA9IGNoaWxkOwogCWRlc2MuaW5mbyA9IHJlcS0+aW5mbzsKQEAgLTk1LDggKzEwMSw5IEBACiAKIAlyZXEtPmJhc2UuY29tcGxldGUgPSByY3R4LT5jb21wbGV0ZTsKIAorb3V0OgogCWxvY2FsX2JoX2Rpc2FibGUoKTsKLQlyZXEtPmJhc2UuY29tcGxldGUoJnJlcS0+YmFzZSwgZXJyKTsKKwlyY3R4LT5jb21wbGV0ZSgmcmVxLT5iYXNlLCBlcnIpOwogCWxvY2FsX2JoX2VuYWJsZSgpOwogfQogCkBAIC0yNjEsNiArMjY4LDI0MCBAQAogCXJldHVybiBpbnN0OwogfQogCitzdGF0aWMgaW50IGNyeXB0ZF9oYXNoX2luaXRfdGZtKHN0cnVjdCBjcnlwdG9fdGZtICp0Zm0pCit7CisJc3RydWN0IGNyeXB0b19pbnN0YW5jZSAqaW5zdCA9IGNyeXB0b190Zm1fYWxnX2luc3RhbmNlKHRmbSk7CisJc3RydWN0IGNyeXB0ZF9pbnN0YW5jZV9jdHggKmljdHggPSBjcnlwdG9faW5zdGFuY2VfY3R4KGluc3QpOworCXN0cnVjdCBjcnlwdG9fc3Bhd24gKnNwYXduID0gJmljdHgtPnNwYXduOworCXN0cnVjdCBjcnlwdGRfaGFzaF9jdHggKmN0eCA9IGNyeXB0b190Zm1fY3R4KHRmbSk7CisJc3RydWN0IGNyeXB0b19oYXNoICpjaXBoZXI7CisKKwljaXBoZXIgPSBjcnlwdG9fc3Bhd25faGFzaChzcGF3bik7CisJaWYgKElTX0VSUihjaXBoZXIpKQorCQlyZXR1cm4gUFRSX0VSUihjaXBoZXIpOworCisJY3R4LT5jaGlsZCA9IGNpcGhlcjsKKwl0Zm0tPmNydF9haGFzaC5yZXFzaXplID0KKwkJc2l6ZW9mKHN0cnVjdCBjcnlwdGRfaGFzaF9yZXF1ZXN0X2N0eCk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIGNyeXB0ZF9oYXNoX2V4aXRfdGZtKHN0cnVjdCBjcnlwdG9fdGZtICp0Zm0pCit7CisJc3RydWN0IGNyeXB0ZF9oYXNoX2N0eCAqY3R4ID0gY3J5cHRvX3RmbV9jdHgodGZtKTsKKwlzdHJ1Y3QgY3J5cHRkX3N0YXRlICpzdGF0ZSA9IGNyeXB0ZF9nZXRfc3RhdGUodGZtKTsKKwlpbnQgYWN0aXZlOworCisJbXV0ZXhfbG9jaygmc3RhdGUtPm11dGV4KTsKKwlhY3RpdmUgPSBhaGFzaF90Zm1faW5fcXVldWUoJnN0YXRlLT5xdWV1ZSwKKwkJCQlfX2NyeXB0b19haGFzaF9jYXN0KHRmbSkpOworCW11dGV4X3VubG9jaygmc3RhdGUtPm11dGV4KTsKKworCUJVR19PTihhY3RpdmUpOworCisJY3J5cHRvX2ZyZWVfaGFzaChjdHgtPmNoaWxkKTsKK30KKworc3RhdGljIGludCBjcnlwdGRfaGFzaF9zZXRrZXkoc3RydWN0IGNyeXB0b19haGFzaCAqcGFyZW50LAorCQkJCSAgIGNvbnN0IHU4ICprZXksIHVuc2lnbmVkIGludCBrZXlsZW4pCit7CisJc3RydWN0IGNyeXB0ZF9oYXNoX2N0eCAqY3R4ICAgPSBjcnlwdG9fYWhhc2hfY3R4KHBhcmVudCk7CisJc3RydWN0IGNyeXB0b19oYXNoICAgICAqY2hpbGQgPSBjdHgtPmNoaWxkOworCWludCBlcnI7CisKKwljcnlwdG9faGFzaF9jbGVhcl9mbGFncyhjaGlsZCwgQ1JZUFRPX1RGTV9SRVFfTUFTSyk7CisJY3J5cHRvX2hhc2hfc2V0X2ZsYWdzKGNoaWxkLCBjcnlwdG9fYWhhc2hfZ2V0X2ZsYWdzKHBhcmVudCkgJgorCQkJCQkgIENSWVBUT19URk1fUkVRX01BU0spOworCWVyciA9IGNyeXB0b19oYXNoX3NldGtleShjaGlsZCwga2V5LCBrZXlsZW4pOworCWNyeXB0b19haGFzaF9zZXRfZmxhZ3MocGFyZW50LCBjcnlwdG9faGFzaF9nZXRfZmxhZ3MoY2hpbGQpICYKKwkJCQkJICAgIENSWVBUT19URk1fUkVTX01BU0spOworCXJldHVybiBlcnI7Cit9CisKK3N0YXRpYyBpbnQgY3J5cHRkX2hhc2hfZW5xdWV1ZShzdHJ1Y3QgYWhhc2hfcmVxdWVzdCAqcmVxLAorCQkJCWNyeXB0b19jb21wbGV0aW9uX3QgY29tcGxldGUpCit7CisJc3RydWN0IGNyeXB0ZF9oYXNoX3JlcXVlc3RfY3R4ICpyY3R4ID0gYWhhc2hfcmVxdWVzdF9jdHgocmVxKTsKKwlzdHJ1Y3QgY3J5cHRvX2FoYXNoICp0Zm0gPSBjcnlwdG9fYWhhc2hfcmVxdGZtKHJlcSk7CisJc3RydWN0IGNyeXB0ZF9zdGF0ZSAqc3RhdGUgPQorCQljcnlwdGRfZ2V0X3N0YXRlKGNyeXB0b19haGFzaF90Zm0odGZtKSk7CisJaW50IGVycjsKKworCXJjdHgtPmNvbXBsZXRlID0gcmVxLT5iYXNlLmNvbXBsZXRlOworCXJlcS0+YmFzZS5jb21wbGV0ZSA9IGNvbXBsZXRlOworCisJc3Bpbl9sb2NrX2JoKCZzdGF0ZS0+bG9jayk7CisJZXJyID0gYWhhc2hfZW5xdWV1ZV9yZXF1ZXN0KCZzdGF0ZS0+cXVldWUsIHJlcSk7CisJc3Bpbl91bmxvY2tfYmgoJnN0YXRlLT5sb2NrKTsKKworCXdha2VfdXBfcHJvY2VzcyhzdGF0ZS0+dGFzayk7CisJcmV0dXJuIGVycjsKK30KKworc3RhdGljIHZvaWQgY3J5cHRkX2hhc2hfaW5pdChzdHJ1Y3QgY3J5cHRvX2FzeW5jX3JlcXVlc3QgKnJlcV9hc3luYywgaW50IGVycikKK3sKKwlzdHJ1Y3QgY3J5cHRkX2hhc2hfY3R4ICpjdHggICA9IGNyeXB0b190Zm1fY3R4KHJlcV9hc3luYy0+dGZtKTsKKwlzdHJ1Y3QgY3J5cHRvX2hhc2ggICAgICpjaGlsZCA9IGN0eC0+Y2hpbGQ7CisJc3RydWN0IGFoYXNoX3JlcXVlc3QgICAgKnJlcSA9IGFoYXNoX3JlcXVlc3RfY2FzdChyZXFfYXN5bmMpOworCXN0cnVjdCBjcnlwdGRfaGFzaF9yZXF1ZXN0X2N0eCAqcmN0eDsKKwlzdHJ1Y3QgaGFzaF9kZXNjIGRlc2M7CisKKwlyY3R4ID0gYWhhc2hfcmVxdWVzdF9jdHgocmVxKTsKKworCWlmICh1bmxpa2VseShlcnIgPT0gLUVJTlBST0dSRVNTKSkKKwkJZ290byBvdXQ7CisKKwlkZXNjLnRmbSA9IGNoaWxkOworCWRlc2MuZmxhZ3MgPSBDUllQVE9fVEZNX1JFUV9NQVlfU0xFRVA7CisKKwllcnIgPSBjcnlwdG9faGFzaF9jcnQoY2hpbGQpLT5pbml0KCZkZXNjKTsKKworCXJlcS0+YmFzZS5jb21wbGV0ZSA9IHJjdHgtPmNvbXBsZXRlOworCitvdXQ6CisJbG9jYWxfYmhfZGlzYWJsZSgpOworCXJjdHgtPmNvbXBsZXRlKCZyZXEtPmJhc2UsIGVycik7CisJbG9jYWxfYmhfZW5hYmxlKCk7Cit9CisKK3N0YXRpYyBpbnQgY3J5cHRkX2hhc2hfaW5pdF9lbnF1ZXVlKHN0cnVjdCBhaGFzaF9yZXF1ZXN0ICpyZXEpCit7CisJcmV0dXJuIGNyeXB0ZF9oYXNoX2VucXVldWUocmVxLCBjcnlwdGRfaGFzaF9pbml0KTsKK30KKworc3RhdGljIHZvaWQgY3J5cHRkX2hhc2hfdXBkYXRlKHN0cnVjdCBjcnlwdG9fYXN5bmNfcmVxdWVzdCAqcmVxX2FzeW5jLCBpbnQgZXJyKQoreworCXN0cnVjdCBjcnlwdGRfaGFzaF9jdHggKmN0eCAgID0gY3J5cHRvX3RmbV9jdHgocmVxX2FzeW5jLT50Zm0pOworCXN0cnVjdCBjcnlwdG9faGFzaCAgICAgKmNoaWxkID0gY3R4LT5jaGlsZDsKKwlzdHJ1Y3QgYWhhc2hfcmVxdWVzdCAgICAqcmVxID0gYWhhc2hfcmVxdWVzdF9jYXN0KHJlcV9hc3luYyk7CisJc3RydWN0IGNyeXB0ZF9oYXNoX3JlcXVlc3RfY3R4ICpyY3R4OworCXN0cnVjdCBoYXNoX2Rlc2MgZGVzYzsKKworCXJjdHggPSBhaGFzaF9yZXF1ZXN0X2N0eChyZXEpOworCisJaWYgKHVubGlrZWx5KGVyciA9PSAtRUlOUFJPR1JFU1MpKQorCQlnb3RvIG91dDsKKworCWRlc2MudGZtID0gY2hpbGQ7CisJZGVzYy5mbGFncyA9IENSWVBUT19URk1fUkVRX01BWV9TTEVFUDsKKworCWVyciA9IGNyeXB0b19oYXNoX2NydChjaGlsZCktPnVwZGF0ZSgmZGVzYywKKwkJCQkJCXJlcS0+c3JjLAorCQkJCQkJcmVxLT5uYnl0ZXMpOworCisJcmVxLT5iYXNlLmNvbXBsZXRlID0gcmN0eC0+Y29tcGxldGU7CisKK291dDoKKwlsb2NhbF9iaF9kaXNhYmxlKCk7CisJcmN0eC0+Y29tcGxldGUoJnJlcS0+YmFzZSwgZXJyKTsKKwlsb2NhbF9iaF9lbmFibGUoKTsKK30KKworc3RhdGljIGludCBjcnlwdGRfaGFzaF91cGRhdGVfZW5xdWV1ZShzdHJ1Y3QgYWhhc2hfcmVxdWVzdCAqcmVxKQoreworCXJldHVybiBjcnlwdGRfaGFzaF9lbnF1ZXVlKHJlcSwgY3J5cHRkX2hhc2hfdXBkYXRlKTsKK30KKworc3RhdGljIHZvaWQgY3J5cHRkX2hhc2hfZmluYWwoc3RydWN0IGNyeXB0b19hc3luY19yZXF1ZXN0ICpyZXFfYXN5bmMsIGludCBlcnIpCit7CisJc3RydWN0IGNyeXB0ZF9oYXNoX2N0eCAqY3R4ICAgPSBjcnlwdG9fdGZtX2N0eChyZXFfYXN5bmMtPnRmbSk7CisJc3RydWN0IGNyeXB0b19oYXNoICAgICAqY2hpbGQgPSBjdHgtPmNoaWxkOworCXN0cnVjdCBhaGFzaF9yZXF1ZXN0ICAgICpyZXEgPSBhaGFzaF9yZXF1ZXN0X2Nhc3QocmVxX2FzeW5jKTsKKwlzdHJ1Y3QgY3J5cHRkX2hhc2hfcmVxdWVzdF9jdHggKnJjdHg7CisJc3RydWN0IGhhc2hfZGVzYyBkZXNjOworCisJcmN0eCA9IGFoYXNoX3JlcXVlc3RfY3R4KHJlcSk7CisKKwlpZiAodW5saWtlbHkoZXJyID09IC1FSU5QUk9HUkVTUykpCisJCWdvdG8gb3V0OworCisJZGVzYy50Zm0gPSBjaGlsZDsKKwlkZXNjLmZsYWdzID0gQ1JZUFRPX1RGTV9SRVFfTUFZX1NMRUVQOworCisJZXJyID0gY3J5cHRvX2hhc2hfY3J0KGNoaWxkKS0+ZmluYWwoJmRlc2MsIHJlcS0+cmVzdWx0KTsKKworCXJlcS0+YmFzZS5jb21wbGV0ZSA9IHJjdHgtPmNvbXBsZXRlOworCitvdXQ6CisJbG9jYWxfYmhfZGlzYWJsZSgpOworCXJjdHgtPmNvbXBsZXRlKCZyZXEtPmJhc2UsIGVycik7CisJbG9jYWxfYmhfZW5hYmxlKCk7Cit9CisKK3N0YXRpYyBpbnQgY3J5cHRkX2hhc2hfZmluYWxfZW5xdWV1ZShzdHJ1Y3QgYWhhc2hfcmVxdWVzdCAqcmVxKQoreworCXJldHVybiBjcnlwdGRfaGFzaF9lbnF1ZXVlKHJlcSwgY3J5cHRkX2hhc2hfZmluYWwpOworfQorCitzdGF0aWMgdm9pZCBjcnlwdGRfaGFzaF9kaWdlc3Qoc3RydWN0IGNyeXB0b19hc3luY19yZXF1ZXN0ICpyZXFfYXN5bmMsIGludCBlcnIpCit7CisJc3RydWN0IGNyeXB0ZF9oYXNoX2N0eCAqY3R4ICAgPSBjcnlwdG9fdGZtX2N0eChyZXFfYXN5bmMtPnRmbSk7CisJc3RydWN0IGNyeXB0b19oYXNoICAgICAqY2hpbGQgPSBjdHgtPmNoaWxkOworCXN0cnVjdCBhaGFzaF9yZXF1ZXN0ICAgICpyZXEgPSBhaGFzaF9yZXF1ZXN0X2Nhc3QocmVxX2FzeW5jKTsKKwlzdHJ1Y3QgY3J5cHRkX2hhc2hfcmVxdWVzdF9jdHggKnJjdHg7CisJc3RydWN0IGhhc2hfZGVzYyBkZXNjOworCisJcmN0eCA9IGFoYXNoX3JlcXVlc3RfY3R4KHJlcSk7CisKKwlpZiAodW5saWtlbHkoZXJyID09IC1FSU5QUk9HUkVTUykpCisJCWdvdG8gb3V0OworCisJZGVzYy50Zm0gPSBjaGlsZDsKKwlkZXNjLmZsYWdzID0gQ1JZUFRPX1RGTV9SRVFfTUFZX1NMRUVQOworCisJZXJyID0gY3J5cHRvX2hhc2hfY3J0KGNoaWxkKS0+ZGlnZXN0KCZkZXNjLAorCQkJCQkJcmVxLT5zcmMsCisJCQkJCQlyZXEtPm5ieXRlcywKKwkJCQkJCXJlcS0+cmVzdWx0KTsKKworCXJlcS0+YmFzZS5jb21wbGV0ZSA9IHJjdHgtPmNvbXBsZXRlOworCitvdXQ6CisJbG9jYWxfYmhfZGlzYWJsZSgpOworCXJjdHgtPmNvbXBsZXRlKCZyZXEtPmJhc2UsIGVycik7CisJbG9jYWxfYmhfZW5hYmxlKCk7Cit9CisKK3N0YXRpYyBpbnQgY3J5cHRkX2hhc2hfZGlnZXN0X2VucXVldWUoc3RydWN0IGFoYXNoX3JlcXVlc3QgKnJlcSkKK3sKKwlyZXR1cm4gY3J5cHRkX2hhc2hfZW5xdWV1ZShyZXEsIGNyeXB0ZF9oYXNoX2RpZ2VzdCk7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgY3J5cHRvX2luc3RhbmNlICpjcnlwdGRfYWxsb2NfaGFzaCgKKwlzdHJ1Y3QgcnRhdHRyICoqdGIsIHN0cnVjdCBjcnlwdGRfc3RhdGUgKnN0YXRlKQoreworCXN0cnVjdCBjcnlwdG9faW5zdGFuY2UgKmluc3Q7CisJc3RydWN0IGNyeXB0b19hbGcgKmFsZzsKKworCWFsZyA9IGNyeXB0b19nZXRfYXR0cl9hbGcodGIsIENSWVBUT19BTEdfVFlQRV9IQVNILAorCQkJCSAgQ1JZUFRPX0FMR19UWVBFX0hBU0hfTUFTSyk7CisJaWYgKElTX0VSUihhbGcpKQorCQlyZXR1cm4gRVJSX1BUUihQVFJfRVJSKGFsZykpOworCisJaW5zdCA9IGNyeXB0ZF9hbGxvY19pbnN0YW5jZShhbGcsIHN0YXRlKTsKKwlpZiAoSVNfRVJSKGluc3QpKQorCQlnb3RvIG91dF9wdXRfYWxnOworCisJaW5zdC0+YWxnLmNyYV9mbGFncyA9IENSWVBUT19BTEdfVFlQRV9BSEFTSCB8IENSWVBUT19BTEdfQVNZTkM7CisJaW5zdC0+YWxnLmNyYV90eXBlID0gJmNyeXB0b19haGFzaF90eXBlOworCisJaW5zdC0+YWxnLmNyYV9haGFzaC5kaWdlc3RzaXplID0gYWxnLT5jcmFfaGFzaC5kaWdlc3RzaXplOworCWluc3QtPmFsZy5jcmFfY3R4c2l6ZSA9IHNpemVvZihzdHJ1Y3QgY3J5cHRkX2hhc2hfY3R4KTsKKworCWluc3QtPmFsZy5jcmFfaW5pdCA9IGNyeXB0ZF9oYXNoX2luaXRfdGZtOworCWluc3QtPmFsZy5jcmFfZXhpdCA9IGNyeXB0ZF9oYXNoX2V4aXRfdGZtOworCisJaW5zdC0+YWxnLmNyYV9haGFzaC5pbml0ICAgPSBjcnlwdGRfaGFzaF9pbml0X2VucXVldWU7CisJaW5zdC0+YWxnLmNyYV9haGFzaC51cGRhdGUgPSBjcnlwdGRfaGFzaF91cGRhdGVfZW5xdWV1ZTsKKwlpbnN0LT5hbGcuY3JhX2FoYXNoLmZpbmFsICA9IGNyeXB0ZF9oYXNoX2ZpbmFsX2VucXVldWU7CisJaW5zdC0+YWxnLmNyYV9haGFzaC5zZXRrZXkgPSBjcnlwdGRfaGFzaF9zZXRrZXk7CisJaW5zdC0+YWxnLmNyYV9haGFzaC5kaWdlc3QgPSBjcnlwdGRfaGFzaF9kaWdlc3RfZW5xdWV1ZTsKKworb3V0X3B1dF9hbGc6CisJY3J5cHRvX21vZF9wdXQoYWxnKTsKKwlyZXR1cm4gaW5zdDsKK30KKwogc3RhdGljIHN0cnVjdCBjcnlwdGRfc3RhdGUgc3RhdGU7CiAKIHN0YXRpYyBzdHJ1Y3QgY3J5cHRvX2luc3RhbmNlICpjcnlwdGRfYWxsb2Moc3RydWN0IHJ0YXR0ciAqKnRiKQpAQCAtMjc0LDYgKzUxNSw4IEBACiAJc3dpdGNoIChhbGd0LT50eXBlICYgYWxndC0+bWFzayAmIENSWVBUT19BTEdfVFlQRV9NQVNLKSB7CiAJY2FzZSBDUllQVE9fQUxHX1RZUEVfQkxLQ0lQSEVSOgogCQlyZXR1cm4gY3J5cHRkX2FsbG9jX2Jsa2NpcGhlcih0YiwgJnN0YXRlKTsKKwljYXNlIENSWVBUT19BTEdfVFlQRV9ESUdFU1Q6CisJCXJldHVybiBjcnlwdGRfYWxsb2NfaGFzaCh0YiwgJnN0YXRlKTsKIAl9CiAKIAlyZXR1cm4gRVJSX1BUUigtRUlOVkFMKTsKZGlmZiAtLWdpdCBhL2NyeXB0by9kaWdlc3QuYyBiL2NyeXB0by9kaWdlc3QuYwppbmRleCBiNTI2Y2MzLi5hYzA5MTk0IDEwMDY0NAotLS0gYS9jcnlwdG8vZGlnZXN0LmMKKysrIGIvY3J5cHRvL2RpZ2VzdC5jCkBAIC0xMiw2ICsxMiw3IEBACiAgKgogICovCiAKKyNpbmNsdWRlIDxjcnlwdG8vaW50ZXJuYWwvaGFzaC5oPgogI2luY2x1ZGUgPGNyeXB0by9zY2F0dGVyd2Fsay5oPgogI2luY2x1ZGUgPGxpbnV4L21tLmg+CiAjaW5jbHVkZSA8bGludXgvZXJybm8uaD4KQEAgLTE0MSw3ICsxNDIsNyBAQAogCXN0cnVjdCBoYXNoX3RmbSAqb3BzID0gJnRmbS0+Y3J0X2hhc2g7CiAJc3RydWN0IGRpZ2VzdF9hbGcgKmRhbGcgPSAmdGZtLT5fX2NydF9hbGctPmNyYV9kaWdlc3Q7CiAKLQlpZiAoZGFsZy0+ZGlhX2RpZ2VzdHNpemUgPiBjcnlwdG9fdGZtX2FsZ19ibG9ja3NpemUodGZtKSkKKwlpZiAoZGFsZy0+ZGlhX2RpZ2VzdHNpemUgPiBQQUdFX1NJWkUgLyA4KQogCQlyZXR1cm4gLUVJTlZBTDsKIAkKIAlvcHMtPmluaXQJPSBpbml0OwpAQCAtMTU3LDMgKzE1OCw4MyBAQAogdm9pZCBjcnlwdG9fZXhpdF9kaWdlc3Rfb3BzKHN0cnVjdCBjcnlwdG9fdGZtICp0Zm0pCiB7CiB9CisKK3N0YXRpYyBpbnQgZGlnZXN0X2FzeW5jX25vc2V0a2V5KHN0cnVjdCBjcnlwdG9fYWhhc2ggKnRmbV9hc3luYywgY29uc3QgdTggKmtleSwKKwkJCXVuc2lnbmVkIGludCBrZXlsZW4pCit7CisJY3J5cHRvX2FoYXNoX2NsZWFyX2ZsYWdzKHRmbV9hc3luYywgQ1JZUFRPX1RGTV9SRVNfTUFTSyk7CisJcmV0dXJuIC1FTk9TWVM7Cit9CisKK3N0YXRpYyBpbnQgZGlnZXN0X2FzeW5jX3NldGtleShzdHJ1Y3QgY3J5cHRvX2FoYXNoICp0Zm1fYXN5bmMsIGNvbnN0IHU4ICprZXksCisJCQl1bnNpZ25lZCBpbnQga2V5bGVuKQoreworCXN0cnVjdCBjcnlwdG9fdGZtICAgICp0Zm0gICAgICAgID0gY3J5cHRvX2FoYXNoX3RmbSh0Zm1fYXN5bmMpOworCXN0cnVjdCBkaWdlc3RfYWxnICAgICpkYWxnICAgICAgID0gJnRmbS0+X19jcnRfYWxnLT5jcmFfZGlnZXN0OworCisJY3J5cHRvX2FoYXNoX2NsZWFyX2ZsYWdzKHRmbV9hc3luYywgQ1JZUFRPX1RGTV9SRVNfTUFTSyk7CisJcmV0dXJuIGRhbGctPmRpYV9zZXRrZXkodGZtLCBrZXksIGtleWxlbik7Cit9CisKK3N0YXRpYyBpbnQgZGlnZXN0X2FzeW5jX2luaXQoc3RydWN0IGFoYXNoX3JlcXVlc3QgKnJlcSkKK3sKKwlzdHJ1Y3QgY3J5cHRvX3RmbSAqdGZtICA9IHJlcS0+YmFzZS50Zm07CisJc3RydWN0IGRpZ2VzdF9hbGcgKmRhbGcgPSAmdGZtLT5fX2NydF9hbGctPmNyYV9kaWdlc3Q7CisKKwlkYWxnLT5kaWFfaW5pdCh0Zm0pOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGRpZ2VzdF9hc3luY191cGRhdGUoc3RydWN0IGFoYXNoX3JlcXVlc3QgKnJlcSkKK3sKKwlzdHJ1Y3QgY3J5cHRvX3RmbSAqdGZtID0gcmVxLT5iYXNlLnRmbTsKKwlzdHJ1Y3QgaGFzaF9kZXNjICBkZXNjID0geworCQkudGZtICAgPSBfX2NyeXB0b19oYXNoX2Nhc3QodGZtKSwKKwkJLmZsYWdzID0gcmVxLT5iYXNlLmZsYWdzLAorCX07CisKKwl1cGRhdGUoJmRlc2MsIHJlcS0+c3JjLCByZXEtPm5ieXRlcyk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgZGlnZXN0X2FzeW5jX2ZpbmFsKHN0cnVjdCBhaGFzaF9yZXF1ZXN0ICpyZXEpCit7CisJc3RydWN0IGNyeXB0b190Zm0gKnRmbSAgPSByZXEtPmJhc2UudGZtOworCXN0cnVjdCBoYXNoX2Rlc2MgIGRlc2MgPSB7CisJCS50Zm0gICA9IF9fY3J5cHRvX2hhc2hfY2FzdCh0Zm0pLAorCQkuZmxhZ3MgPSByZXEtPmJhc2UuZmxhZ3MsCisJfTsKKworCWZpbmFsKCZkZXNjLCByZXEtPnJlc3VsdCk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgZGlnZXN0X2FzeW5jX2RpZ2VzdChzdHJ1Y3QgYWhhc2hfcmVxdWVzdCAqcmVxKQoreworCXN0cnVjdCBjcnlwdG9fdGZtICp0Zm0gID0gcmVxLT5iYXNlLnRmbTsKKwlzdHJ1Y3QgaGFzaF9kZXNjICBkZXNjID0geworCQkudGZtICAgPSBfX2NyeXB0b19oYXNoX2Nhc3QodGZtKSwKKwkJLmZsYWdzID0gcmVxLT5iYXNlLmZsYWdzLAorCX07CisKKwlyZXR1cm4gZGlnZXN0KCZkZXNjLCByZXEtPnNyYywgcmVxLT5uYnl0ZXMsIHJlcS0+cmVzdWx0KTsKK30KKworaW50IGNyeXB0b19pbml0X2RpZ2VzdF9vcHNfYXN5bmMoc3RydWN0IGNyeXB0b190Zm0gKnRmbSkKK3sKKwlzdHJ1Y3QgYWhhc2hfdGZtICAqY3J0ICA9ICZ0Zm0tPmNydF9haGFzaDsKKwlzdHJ1Y3QgZGlnZXN0X2FsZyAqZGFsZyA9ICZ0Zm0tPl9fY3J0X2FsZy0+Y3JhX2RpZ2VzdDsKKworCWlmIChkYWxnLT5kaWFfZGlnZXN0c2l6ZSA+IGNyeXB0b190Zm1fYWxnX2Jsb2Nrc2l6ZSh0Zm0pKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWNydC0+aW5pdCAgICAgICA9IGRpZ2VzdF9hc3luY19pbml0OworCWNydC0+dXBkYXRlICAgICA9IGRpZ2VzdF9hc3luY191cGRhdGU7CisJY3J0LT5maW5hbCAgICAgID0gZGlnZXN0X2FzeW5jX2ZpbmFsOworCWNydC0+ZGlnZXN0ICAgICA9IGRpZ2VzdF9hc3luY19kaWdlc3Q7CisJY3J0LT5zZXRrZXkgICAgID0gZGFsZy0+ZGlhX3NldGtleSA/IGRpZ2VzdF9hc3luY19zZXRrZXkgOgorCQkJCQkJZGlnZXN0X2FzeW5jX25vc2V0a2V5OworCWNydC0+ZGlnZXN0c2l6ZSA9IGRhbGctPmRpYV9kaWdlc3RzaXplOworCisJcmV0dXJuIDA7Cit9CmRpZmYgLS1naXQgYS9jcnlwdG8vaGFzaC5jIGIvY3J5cHRvL2hhc2guYwppbmRleCA3ZGNmZjY3Li5jYjg2YjE5IDEwMDY0NAotLS0gYS9jcnlwdG8vaGFzaC5jCisrKyBiL2NyeXB0by9oYXNoLmMKQEAgLTksNiArOSw3IEBACiAgKiBhbnkgbGF0ZXIgdmVyc2lvbi4KICAqLwogCisjaW5jbHVkZSA8Y3J5cHRvL2ludGVybmFsL2hhc2guaD4KICNpbmNsdWRlIDxsaW51eC9lcnJuby5oPgogI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgpAQCAtNTksMjQgKzYwLDEwNyBAQAogCXJldHVybiBhbGctPnNldGtleShjcnQsIGtleSwga2V5bGVuKTsKIH0KIAotc3RhdGljIGludCBjcnlwdG9faW5pdF9oYXNoX29wcyhzdHJ1Y3QgY3J5cHRvX3RmbSAqdGZtLCB1MzIgdHlwZSwgdTMyIG1hc2spCitzdGF0aWMgaW50IGhhc2hfYXN5bmNfc2V0a2V5KHN0cnVjdCBjcnlwdG9fYWhhc2ggKnRmbV9hc3luYywgY29uc3QgdTggKmtleSwKKwkJCXVuc2lnbmVkIGludCBrZXlsZW4pCit7CisJc3RydWN0IGNyeXB0b190Zm0gICp0Zm0gICAgICA9IGNyeXB0b19haGFzaF90Zm0odGZtX2FzeW5jKTsKKwlzdHJ1Y3QgY3J5cHRvX2hhc2ggKnRmbV9oYXNoID0gX19jcnlwdG9faGFzaF9jYXN0KHRmbSk7CisJc3RydWN0IGhhc2hfYWxnICAgICphbGcgICAgICA9ICZ0Zm0tPl9fY3J0X2FsZy0+Y3JhX2hhc2g7CisKKwlyZXR1cm4gYWxnLT5zZXRrZXkodGZtX2hhc2gsIGtleSwga2V5bGVuKTsKK30KKworc3RhdGljIGludCBoYXNoX2FzeW5jX2luaXQoc3RydWN0IGFoYXNoX3JlcXVlc3QgKnJlcSkKK3sKKwlzdHJ1Y3QgY3J5cHRvX3RmbSAqdGZtID0gcmVxLT5iYXNlLnRmbTsKKwlzdHJ1Y3QgaGFzaF9hbGcgICAqYWxnID0gJnRmbS0+X19jcnRfYWxnLT5jcmFfaGFzaDsKKwlzdHJ1Y3QgaGFzaF9kZXNjICBkZXNjID0geworCQkudGZtID0gX19jcnlwdG9faGFzaF9jYXN0KHRmbSksCisJCS5mbGFncyA9IHJlcS0+YmFzZS5mbGFncywKKwl9OworCisJcmV0dXJuIGFsZy0+aW5pdCgmZGVzYyk7Cit9CisKK3N0YXRpYyBpbnQgaGFzaF9hc3luY191cGRhdGUoc3RydWN0IGFoYXNoX3JlcXVlc3QgKnJlcSkKK3sKKwlzdHJ1Y3QgY3J5cHRvX3RmbSAqdGZtID0gcmVxLT5iYXNlLnRmbTsKKwlzdHJ1Y3QgaGFzaF9hbGcgICAqYWxnID0gJnRmbS0+X19jcnRfYWxnLT5jcmFfaGFzaDsKKwlzdHJ1Y3QgaGFzaF9kZXNjICBkZXNjID0geworCQkudGZtID0gX19jcnlwdG9faGFzaF9jYXN0KHRmbSksCisJCS5mbGFncyA9IHJlcS0+YmFzZS5mbGFncywKKwl9OworCisJcmV0dXJuIGFsZy0+dXBkYXRlKCZkZXNjLCByZXEtPnNyYywgcmVxLT5uYnl0ZXMpOworfQorCitzdGF0aWMgaW50IGhhc2hfYXN5bmNfZmluYWwoc3RydWN0IGFoYXNoX3JlcXVlc3QgKnJlcSkKK3sKKwlzdHJ1Y3QgY3J5cHRvX3RmbSAqdGZtID0gcmVxLT5iYXNlLnRmbTsKKwlzdHJ1Y3QgaGFzaF9hbGcgICAqYWxnID0gJnRmbS0+X19jcnRfYWxnLT5jcmFfaGFzaDsKKwlzdHJ1Y3QgaGFzaF9kZXNjICBkZXNjID0geworCQkudGZtID0gX19jcnlwdG9faGFzaF9jYXN0KHRmbSksCisJCS5mbGFncyA9IHJlcS0+YmFzZS5mbGFncywKKwl9OworCisJcmV0dXJuIGFsZy0+ZmluYWwoJmRlc2MsIHJlcS0+cmVzdWx0KTsKK30KKworc3RhdGljIGludCBoYXNoX2FzeW5jX2RpZ2VzdChzdHJ1Y3QgYWhhc2hfcmVxdWVzdCAqcmVxKQoreworCXN0cnVjdCBjcnlwdG9fdGZtICp0Zm0gPSByZXEtPmJhc2UudGZtOworCXN0cnVjdCBoYXNoX2FsZyAgICphbGcgPSAmdGZtLT5fX2NydF9hbGctPmNyYV9oYXNoOworCXN0cnVjdCBoYXNoX2Rlc2MgIGRlc2MgPSB7CisJCS50Zm0gPSBfX2NyeXB0b19oYXNoX2Nhc3QodGZtKSwKKwkJLmZsYWdzID0gcmVxLT5iYXNlLmZsYWdzLAorCX07CisKKwlyZXR1cm4gYWxnLT5kaWdlc3QoJmRlc2MsIHJlcS0+c3JjLCByZXEtPm5ieXRlcywgcmVxLT5yZXN1bHQpOworfQorCitzdGF0aWMgaW50IGNyeXB0b19pbml0X2hhc2hfb3BzX2FzeW5jKHN0cnVjdCBjcnlwdG9fdGZtICp0Zm0pCit7CisJc3RydWN0IGFoYXNoX3RmbSAqY3J0ID0gJnRmbS0+Y3J0X2FoYXNoOworCXN0cnVjdCBoYXNoX2FsZyAgKmFsZyA9ICZ0Zm0tPl9fY3J0X2FsZy0+Y3JhX2hhc2g7CisKKwljcnQtPmluaXQgICAgICAgPSBoYXNoX2FzeW5jX2luaXQ7CisJY3J0LT51cGRhdGUgICAgID0gaGFzaF9hc3luY191cGRhdGU7CisJY3J0LT5maW5hbCAgICAgID0gaGFzaF9hc3luY19maW5hbDsKKwljcnQtPmRpZ2VzdCAgICAgPSBoYXNoX2FzeW5jX2RpZ2VzdDsKKwljcnQtPnNldGtleSAgICAgPSBoYXNoX2FzeW5jX3NldGtleTsKKwljcnQtPmRpZ2VzdHNpemUgPSBhbGctPmRpZ2VzdHNpemU7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjcnlwdG9faW5pdF9oYXNoX29wc19zeW5jKHN0cnVjdCBjcnlwdG9fdGZtICp0Zm0pCiB7CiAJc3RydWN0IGhhc2hfdGZtICpjcnQgPSAmdGZtLT5jcnRfaGFzaDsKIAlzdHJ1Y3QgaGFzaF9hbGcgKmFsZyA9ICZ0Zm0tPl9fY3J0X2FsZy0+Y3JhX2hhc2g7CiAKLQlpZiAoYWxnLT5kaWdlc3RzaXplID4gY3J5cHRvX3RmbV9hbGdfYmxvY2tzaXplKHRmbSkpCi0JCXJldHVybiAtRUlOVkFMOwotCi0JY3J0LT5pbml0ID0gYWxnLT5pbml0OwotCWNydC0+dXBkYXRlID0gYWxnLT51cGRhdGU7Ci0JY3J0LT5maW5hbCA9IGFsZy0+ZmluYWw7Ci0JY3J0LT5kaWdlc3QgPSBhbGctPmRpZ2VzdDsKLQljcnQtPnNldGtleSA9IGhhc2hfc2V0a2V5OworCWNydC0+aW5pdCAgICAgICA9IGFsZy0+aW5pdDsKKwljcnQtPnVwZGF0ZSAgICAgPSBhbGctPnVwZGF0ZTsKKwljcnQtPmZpbmFsICAgICAgPSBhbGctPmZpbmFsOworCWNydC0+ZGlnZXN0ICAgICA9IGFsZy0+ZGlnZXN0OworCWNydC0+c2V0a2V5ICAgICA9IGhhc2hfc2V0a2V5OwogCWNydC0+ZGlnZXN0c2l6ZSA9IGFsZy0+ZGlnZXN0c2l6ZTsKIAogCXJldHVybiAwOwogfQogCitzdGF0aWMgaW50IGNyeXB0b19pbml0X2hhc2hfb3BzKHN0cnVjdCBjcnlwdG9fdGZtICp0Zm0sIHUzMiB0eXBlLCB1MzIgbWFzaykKK3sKKwlzdHJ1Y3QgaGFzaF9hbGcgKmFsZyA9ICZ0Zm0tPl9fY3J0X2FsZy0+Y3JhX2hhc2g7CisKKwlpZiAoYWxnLT5kaWdlc3RzaXplID4gUEFHRV9TSVpFIC8gOCkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlpZiAoKG1hc2sgJiBDUllQVE9fQUxHX1RZUEVfSEFTSF9NQVNLKSAhPSBDUllQVE9fQUxHX1RZUEVfSEFTSF9NQVNLKQorCQlyZXR1cm4gY3J5cHRvX2luaXRfaGFzaF9vcHNfYXN5bmModGZtKTsKKwllbHNlCisJCXJldHVybiBjcnlwdG9faW5pdF9oYXNoX29wc19zeW5jKHRmbSk7Cit9CisKIHN0YXRpYyB2b2lkIGNyeXB0b19oYXNoX3Nob3coc3RydWN0IHNlcV9maWxlICptLCBzdHJ1Y3QgY3J5cHRvX2FsZyAqYWxnKQogCV9fYXR0cmlidXRlX18gKCh1bnVzZWQpKTsKIHN0YXRpYyB2b2lkIGNyeXB0b19oYXNoX3Nob3coc3RydWN0IHNlcV9maWxlICptLCBzdHJ1Y3QgY3J5cHRvX2FsZyAqYWxnKQpkaWZmIC0tZ2l0IGEvY3J5cHRvL2htYWMuYyBiL2NyeXB0by9obWFjLmMKaW5kZXggMTRjNjM1MS4uN2ZmMmQ2YSAxMDA2NDQKLS0tIGEvY3J5cHRvL2htYWMuYworKysgYi9jcnlwdG8vaG1hYy5jCkBAIC0yMjYsNiArMjI2LDcgQEAKIAlzdHJ1Y3QgY3J5cHRvX2luc3RhbmNlICppbnN0OwogCXN0cnVjdCBjcnlwdG9fYWxnICphbGc7CiAJaW50IGVycjsKKwlpbnQgZHM7CiAKIAllcnIgPSBjcnlwdG9fY2hlY2tfYXR0cl90eXBlKHRiLCBDUllQVE9fQUxHX1RZUEVfSEFTSCk7CiAJaWYgKGVycikKQEAgLTIzNiw2ICsyMzcsMTMgQEAKIAlpZiAoSVNfRVJSKGFsZykpCiAJCXJldHVybiBFUlJfQ0FTVChhbGcpOwogCisJaW5zdCA9IEVSUl9QVFIoLUVJTlZBTCk7CisJZHMgPSAoYWxnLT5jcmFfZmxhZ3MgJiBDUllQVE9fQUxHX1RZUEVfTUFTSykgPT0KKwkgICAgIENSWVBUT19BTEdfVFlQRV9IQVNIID8gYWxnLT5jcmFfaGFzaC5kaWdlc3RzaXplIDoKKwkJCQkgICAgYWxnLT5jcmFfZGlnZXN0LmRpYV9kaWdlc3RzaXplOworCWlmIChkcyA+IGFsZy0+Y3JhX2Jsb2Nrc2l6ZSkKKwkJZ290byBvdXRfcHV0X2FsZzsKKwogCWluc3QgPSBjcnlwdG9fYWxsb2NfaW5zdGFuY2UoImhtYWMiLCBhbGcpOwogCWlmIChJU19FUlIoaW5zdCkpCiAJCWdvdG8gb3V0X3B1dF9hbGc7CkBAIC0yNDYsMTQgKzI1NCwxMCBAQAogCWluc3QtPmFsZy5jcmFfYWxpZ25tYXNrID0gYWxnLT5jcmFfYWxpZ25tYXNrOwogCWluc3QtPmFsZy5jcmFfdHlwZSA9ICZjcnlwdG9faGFzaF90eXBlOwogCi0JaW5zdC0+YWxnLmNyYV9oYXNoLmRpZ2VzdHNpemUgPQotCQkoYWxnLT5jcmFfZmxhZ3MgJiBDUllQVE9fQUxHX1RZUEVfTUFTSykgPT0KLQkJQ1JZUFRPX0FMR19UWVBFX0hBU0ggPyBhbGctPmNyYV9oYXNoLmRpZ2VzdHNpemUgOgotCQkJCSAgICAgICBhbGctPmNyYV9kaWdlc3QuZGlhX2RpZ2VzdHNpemU7CisJaW5zdC0+YWxnLmNyYV9oYXNoLmRpZ2VzdHNpemUgPSBkczsKIAogCWluc3QtPmFsZy5jcmFfY3R4c2l6ZSA9IHNpemVvZihzdHJ1Y3QgaG1hY19jdHgpICsKLQkJCQlBTElHTihpbnN0LT5hbGcuY3JhX2Jsb2Nrc2l6ZSAqIDIgKwotCQkJCSAgICAgIGluc3QtPmFsZy5jcmFfaGFzaC5kaWdlc3RzaXplLAorCQkJCUFMSUdOKGluc3QtPmFsZy5jcmFfYmxvY2tzaXplICogMiArIGRzLAogCQkJCSAgICAgIHNpemVvZih2b2lkICopKTsKIAogCWluc3QtPmFsZy5jcmFfaW5pdCA9IGhtYWNfaW5pdF90Zm07CmRpZmYgLS1naXQgYS9jcnlwdG8vaW50ZXJuYWwuaCBiL2NyeXB0by9pbnRlcm5hbC5oCmluZGV4IDMyZjRjMjEuLjY4M2ZjYjIgMTAwNjQ0Ci0tLSBhL2NyeXB0by9pbnRlcm5hbC5oCisrKyBiL2NyeXB0by9pbnRlcm5hbC5oCkBAIC04Niw2ICs4Niw3IEBACiBzdHJ1Y3QgY3J5cHRvX2FsZyAqY3J5cHRvX2FsZ19tb2RfbG9va3VwKGNvbnN0IGNoYXIgKm5hbWUsIHUzMiB0eXBlLCB1MzIgbWFzayk7CiAKIGludCBjcnlwdG9faW5pdF9kaWdlc3Rfb3BzKHN0cnVjdCBjcnlwdG9fdGZtICp0Zm0pOworaW50IGNyeXB0b19pbml0X2RpZ2VzdF9vcHNfYXN5bmMoc3RydWN0IGNyeXB0b190Zm0gKnRmbSk7CiBpbnQgY3J5cHRvX2luaXRfY2lwaGVyX29wcyhzdHJ1Y3QgY3J5cHRvX3RmbSAqdGZtKTsKIGludCBjcnlwdG9faW5pdF9jb21wcmVzc19vcHMoc3RydWN0IGNyeXB0b190Zm0gKnRmbSk7CiAKZGlmZiAtLWdpdCBhL2NyeXB0by9wcm5nLmMgYi9jcnlwdG8vcHJuZy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI0ZTRmMzIKLS0tIC9kZXYvbnVsbAorKysgYi9jcnlwdG8vcHJuZy5jCkBAIC0wLDAgKzEsNDEwIEBACisvKgorICogUFJORzogUHNldWRvIFJhbmRvbSBOdW1iZXIgR2VuZXJhdG9yCisgKiAgICAgICBCYXNlZCBvbiBOSVNUIFJlY29tbWVuZGVkIFBSTkcgRnJvbSBBTlNJIFg5LjMxIEFwcGVuZGl4IEEuMi40IHVzaW5nCisgKiAgICAgICBBRVMgMTI4IGNpcGhlciBpbiBSRkMzNjg2IGN0ciBtb2RlCisgKgorICogIChDKSBOZWlsIEhvcm1hbiA8bmhvcm1hbkB0dXhkcml2ZXIuY29tPgorICoKKyAqICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdAorICogIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZQorICogIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIKKyAqICBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKgorICovCisKKyNpbmNsdWRlIDxsaW51eC9lcnIuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvbW0uaD4KKyNpbmNsdWRlIDxsaW51eC9zbGFiLmg+CisjaW5jbHVkZSA8bGludXgvZnMuaD4KKyNpbmNsdWRlIDxsaW51eC9zY2F0dGVybGlzdC5oPgorI2luY2x1ZGUgPGxpbnV4L3N0cmluZy5oPgorI2luY2x1ZGUgPGxpbnV4L2NyeXB0by5oPgorI2luY2x1ZGUgPGxpbnV4L2hpZ2htZW0uaD4KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGVwYXJhbS5oPgorI2luY2x1ZGUgPGxpbnV4L2ppZmZpZXMuaD4KKyNpbmNsdWRlIDxsaW51eC90aW1leC5oPgorI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgorI2luY2x1ZGUgPGxpbnV4L21pc2NkZXZpY2UuaD4KKyNpbmNsdWRlICJwcm5nLmgiCisKKyNkZWZpbmUgVEVTVF9QUk5HX09OX1NUQVJUIDAKKworI2RlZmluZSBERUZBVUxUX1BSTkdfS0VZICIwMTIzNDU2Nzg5YWJjZGVmMTAxMSIKKyNkZWZpbmUgREVGQVVMVF9QUk5HX0tTWiAyMAorI2RlZmluZSBERUZBVUxUX1BSTkdfSVYgImRlZmF1bHR2IgorI2RlZmluZSBERUZBVUxUX1BSTkdfSVZTWiA4CisjZGVmaW5lIERFRkFVTFRfQkxLX1NaIDE2CisjZGVmaW5lIERFRkFVTFRfVl9TRUVEICJ6YXlieGN3ZHZldWZ0Z3NoIgorCisvKgorICogRmxhZ3MgZm9yIHRoZSBwcm5nX2NvbnRleHQgZmxhZ3MgZmllbGQKKyAqLworCisjZGVmaW5lIFBSTkdfRklYRURfU0laRSAweDEKKyNkZWZpbmUgUFJOR19ORUVEX1JFU0VUIDB4MgorCisvKgorICogTm90ZTogRFQgaXMgb3VyIGNvdW50ZXIgdmFsdWUKKyAqIAkgSSBpcyBvdXIgaW50ZXJtZWRpYXRlIHZhbHVlCisgKgkgViBpcyBvdXIgc2VlZCB2ZWN0b3IKKyAqIFNlZSBodHRwOi8vY3NyYy5uaXN0Lmdvdi9ncm91cHMvU1RNL2NhdnAvZG9jdW1lbnRzL3JuZy85MzFybmdleHQucGRmCisgKiBmb3IgaW1wbGVtZW50YXRpb24gZGV0YWlscworICovCisKKworc3RydWN0IHBybmdfY29udGV4dCB7CisJY2hhciAqcHJuZ19rZXk7CisJY2hhciAqcHJuZ19pdjsKKwlzcGlubG9ja190IHBybmdfbG9jazsKKwl1bnNpZ25lZCBjaGFyIHJhbmRfZGF0YVtERUZBVUxUX0JMS19TWl07CisJdW5zaWduZWQgY2hhciBsYXN0X3JhbmRfZGF0YVtERUZBVUxUX0JMS19TWl07CisJdW5zaWduZWQgY2hhciBEVFtERUZBVUxUX0JMS19TWl07CisJdW5zaWduZWQgY2hhciBJW0RFRkFVTFRfQkxLX1NaXTsKKwl1bnNpZ25lZCBjaGFyIFZbREVGQVVMVF9CTEtfU1pdOworCXUzMiByYW5kX2RhdGFfdmFsaWQ7CisJc3RydWN0IGNyeXB0b19ibGtjaXBoZXIgKnRmbTsKKwl1MzIgZmxhZ3M7Cit9OworCitzdGF0aWMgaW50IGRiZzsKKworc3RhdGljIHZvaWQgaGV4ZHVtcChjaGFyICpub3RlLCB1bnNpZ25lZCBjaGFyICpidWYsIHVuc2lnbmVkIGludCBsZW4pCit7CisJaWYgKGRiZykgeworCQlwcmludGsoS0VSTl9DUklUICIlcyIsIG5vdGUpOworCQlwcmludF9oZXhfZHVtcChLRVJOX0NPTlQsICIiLCBEVU1QX1BSRUZJWF9PRkZTRVQsCisJCQkJMTYsIDEsCisJCQkJYnVmLCBsZW4sIGZhbHNlKTsKKwl9Cit9CisKKyNkZWZpbmUgZGJncHJpbnQoZm9ybWF0LCBhcmdzLi4uKSBkbyB7aWYoZGJnKSBwcmludGsoZm9ybWF0LCAjI2FyZ3MpO30gd2hpbGUoMCkKKworc3RhdGljIHZvaWQgeG9yX3ZlY3RvcnModW5zaWduZWQgY2hhciAqaW4xLCB1bnNpZ25lZCBjaGFyICppbjIsCisJCSAgICAgICAgdW5zaWduZWQgY2hhciAqb3V0LCB1bnNpZ25lZCBpbnQgc2l6ZSkKK3sKKwlpbnQgaTsKKworCWZvciAoaT0wO2k8c2l6ZTtpKyspCisJCW91dFtpXSA9IGluMVtpXSBeIGluMltpXTsKKworfQorLyoKKyAqIFJldHVybnMgREVGQVVMVF9CTEtfU1ogYnl0ZXMgb2YgcmFuZG9tIGRhdGEgcGVyIGNhbGwKKyAqIHJldHVybnMgMCBpZiBnZW5lcmF0aW9uIHN1Y2NlZGVkLCA8MCBpZiBzb21ldGhpbmcgd2VudCB3cm9uZworICovCitzdGF0aWMgaW50IF9nZXRfbW9yZV9wcm5nX2J5dGVzKHN0cnVjdCBwcm5nX2NvbnRleHQgKmN0eCkKK3sKKwlpbnQgaTsKKwlzdHJ1Y3QgYmxrY2lwaGVyX2Rlc2MgZGVzYzsKKwlzdHJ1Y3Qgc2NhdHRlcmxpc3Qgc2dfaW4sIHNnX291dDsKKwlpbnQgcmV0OworCXVuc2lnbmVkIGNoYXIgdG1wW0RFRkFVTFRfQkxLX1NaXTsKKworCWRlc2MudGZtID0gY3R4LT50Zm07CisJZGVzYy5mbGFncyA9IDA7CisKKworCWRiZ3ByaW50KEtFUk5fQ1JJVCAiQ2FsbGluZyBfZ2V0X21vcmVfcHJuZ19ieXRlcyBmb3IgY29udGV4dCAlcFxuIixjdHgpOworCisJaGV4ZHVtcCgiSW5wdXQgRFQ6ICIsIGN0eC0+RFQsIERFRkFVTFRfQkxLX1NaKTsKKwloZXhkdW1wKCJJbnB1dCBJOiAiLCBjdHgtPkksIERFRkFVTFRfQkxLX1NaKTsKKwloZXhkdW1wKCJJbnB1dCBWOiAiLCBjdHgtPlYsIERFRkFVTFRfQkxLX1NaKTsKKworCS8qCisJICogVGhpcyBhbGdvcml0aG0gaXMgYSAzIHN0YWdlIHN0YXRlIG1hY2hpbmUKKwkgKi8KKwlmb3IgKGk9MDtpPDM7aSsrKSB7CisKKwkJZGVzYy50Zm0gPSBjdHgtPnRmbTsKKwkJZGVzYy5mbGFncyA9IDA7CisJCXN3aXRjaCAoaSkgeworCQkJY2FzZSAwOgorCQkJCS8qCisJCQkJICogU3RhcnQgYnkgZW5jcnlwdGluZyB0aGUgY291bnRlciB2YWx1ZQorCQkJCSAqIFRoaXMgZ2l2ZXMgdXMgYW4gaW50ZXJtZWRpYXRlIHZhbHVlIEkKKwkJCQkgKi8KKwkJCQltZW1jcHkodG1wLCBjdHgtPkRULCBERUZBVUxUX0JMS19TWik7CisJCQkJc2dfaW5pdF9vbmUoJnNnX291dCwgJmN0eC0+SVswXSwgREVGQVVMVF9CTEtfU1opOworCQkJCWhleGR1bXAoInRtcCBzdGFnZSAwOiAiLCB0bXAsIERFRkFVTFRfQkxLX1NaKTsKKwkJCQlicmVhazsKKwkJCWNhc2UgMToKKworCQkJCS8qCisJCQkJICogTmV4dCB4b3IgSSB3aXRoIG91ciBzZWNyZXQgdmVjdG9yIFYKKwkJCQkgKiBlbmNyeXB0IHRoYXQgcmVzdWx0IHRvIG9idGFpbiBvdXIKKwkJCQkgKiBwc2V1ZG8gcmFuZG9tIGRhdGEgd2hpY2ggd2Ugb3V0cHV0CisJCQkJICovCisJCQkJeG9yX3ZlY3RvcnMoY3R4LT5JLCBjdHgtPlYsIHRtcCwgREVGQVVMVF9CTEtfU1opOworCQkJCXNnX2luaXRfb25lKCZzZ19vdXQsICZjdHgtPnJhbmRfZGF0YVswXSwgREVGQVVMVF9CTEtfU1opOworCQkJCWhleGR1bXAoInRtcCBzdGFnZSAxOiAiLCB0bXAsIERFRkFVTFRfQkxLX1NaKTsKKwkJCQlicmVhazsKKwkJCWNhc2UgMjoKKwkJCQkvKgorCQkJCSAqIEZpcnN0IGNoZWNrIHRoYXQgd2UgZGlkbid0IHByb2R1Y2UgdGhlIHNhbWUgcmFuZG9tIGRhdGEKKwkJCQkgKiB0aGF0IHdlIGRpZCBsYXN0IHRpbWUgYXJvdW5kIHRocm91Z2ggdGhpcworCQkJCSAqLworCQkJCWlmICghbWVtY21wKGN0eC0+cmFuZF9kYXRhLCBjdHgtPmxhc3RfcmFuZF9kYXRhLCBERUZBVUxUX0JMS19TWikpIHsKKwkJCQkJcHJpbnRrKEtFUk5fRVJSICJjdHggJXAgRmFpbGVkIHJlcGV0aXRpb24gY2hlY2shXG4iLAorCQkJCQkJY3R4KTsKKwkJCQkJY3R4LT5mbGFncyB8PSBQUk5HX05FRURfUkVTRVQ7CisJCQkJCXJldHVybiAtMTsKKwkJCQl9CisJCQkJbWVtY3B5KGN0eC0+bGFzdF9yYW5kX2RhdGEsIGN0eC0+cmFuZF9kYXRhLCBERUZBVUxUX0JMS19TWik7CisKKwkJCQkvKgorCQkJCSAqIExhc3RseSB4b3IgdGhlIHJhbmRvbSBkYXRhIHdpdGggSQorCQkJCSAqIGFuZCBlbmNyeXB0IHRoYXQgdG8gb2J0YWluIGEgbmV3IHNlY3JldCB2ZWN0b3IgVgorCQkJCSAqLworCQkJCXhvcl92ZWN0b3JzKGN0eC0+cmFuZF9kYXRhLCBjdHgtPkksIHRtcCwgREVGQVVMVF9CTEtfU1opOworCQkJCXNnX2luaXRfb25lKCZzZ19vdXQsICZjdHgtPlZbMF0sIERFRkFVTFRfQkxLX1NaKTsKKwkJCQloZXhkdW1wKCJ0bXAgc3RhZ2UgMjogIiwgdG1wLCBERUZBVUxUX0JMS19TWik7CisJCQkJYnJlYWs7CisJCX0KKworCQkvKiBJbml0aWFsaXplIG91ciBpbnB1dCBidWZmZXIgKi8KKwkJc2dfaW5pdF9vbmUoJnNnX2luLCAmdG1wWzBdLCBERUZBVUxUX0JMS19TWik7CisKKwkJLyogZG8gdGhlIGVuY3J5cHRpb24gKi8KKwkJcmV0ID0gY3J5cHRvX2Jsa2NpcGhlcl9lbmNyeXB0KCZkZXNjLCAmc2dfb3V0LCAmc2dfaW4sIERFRkFVTFRfQkxLX1NaKTsKKworCQkvKiBBbmQgY2hlY2sgdGhlIHJlc3VsdCAqLworCQlpZiAocmV0KSB7CisJCQlkYmdwcmludChLRVJOX0NSSVQgIkVuY3J5cHRpb24gb2YgbmV3IGJsb2NrIGZhaWxlZCBmb3IgY29udGV4dCAlcFxuIixjdHgpOworCQkJY3R4LT5yYW5kX2RhdGFfdmFsaWQgPSBERUZBVUxUX0JMS19TWjsKKwkJCXJldHVybiAtMTsKKwkJfQorCisJfQorCisJLyoKKwkgKiBOb3cgdXBkYXRlIG91ciBEVCB2YWx1ZQorCSAqLworCWZvciAoaT1ERUZBVUxUX0JMS19TWi0xO2k+MDtpLS0pIHsKKwkJY3R4LT5EVFtpXSA9IGN0eC0+RFRbaS0xXTsKKwl9CisJY3R4LT5EVFswXSArPSAxOworCisJZGJncHJpbnQoIlJldHVybmluZyBuZXcgYmxvY2sgZm9yIGNvbnRleHQgJXBcbiIsY3R4KTsKKwljdHgtPnJhbmRfZGF0YV92YWxpZCA9IDA7CisKKwloZXhkdW1wKCJPdXRwdXQgRFQ6ICIsIGN0eC0+RFQsIERFRkFVTFRfQkxLX1NaKTsKKwloZXhkdW1wKCJPdXRwdXQgSTogIiwgY3R4LT5JLCBERUZBVUxUX0JMS19TWik7CisJaGV4ZHVtcCgiT3V0cHV0IFY6ICIsIGN0eC0+ViwgREVGQVVMVF9CTEtfU1opOworCWhleGR1bXAoIk5ldyBSYW5kb20gRGF0YTogIiwgY3R4LT5yYW5kX2RhdGEsIERFRkFVTFRfQkxLX1NaKTsKKworCXJldHVybiAwOworfQorCisvKiBPdXIgZXhwb3J0ZWQgZnVuY3Rpb25zICovCitpbnQgZ2V0X3BybmdfYnl0ZXMoY2hhciAqYnVmLCBpbnQgbmJ5dGVzLCBzdHJ1Y3QgcHJuZ19jb250ZXh0ICpjdHgpCit7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKwl1bnNpZ25lZCBjaGFyICpwdHIgPSBidWY7CisJdW5zaWduZWQgaW50IGJ5dGVfY291bnQgPSAodW5zaWduZWQgaW50KW5ieXRlczsKKwlpbnQgZXJyOworCisKKwlpZiAobmJ5dGVzIDwgMCkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlzcGluX2xvY2tfaXJxc2F2ZSgmY3R4LT5wcm5nX2xvY2ssIGZsYWdzKTsKKworCWVyciA9IC1FRkFVTFQ7CisJaWYgKGN0eC0+ZmxhZ3MgJiBQUk5HX05FRURfUkVTRVQpCisJCWdvdG8gZG9uZTsKKworCS8qCisJICogSWYgdGhlIEZJWEVEX1NJWkUgZmxhZyBpcyBvbiwgb25seSByZXR1cm4gd2hvbGUgYmxvY2tzIG9mCisJICogcHNldWRvIHJhbmRvbSBkYXRhCisJICovCisJZXJyID0gLUVJTlZBTDsKKwlpZiAoY3R4LT5mbGFncyAmIFBSTkdfRklYRURfU0laRSkgeworCQlpZiAobmJ5dGVzIDwgREVGQVVMVF9CTEtfU1opCisJCQlnb3RvIGRvbmU7CisJCWJ5dGVfY291bnQgPSBERUZBVUxUX0JMS19TWjsKKwl9CisKKwllcnIgPSBieXRlX2NvdW50OworCisJZGJncHJpbnQoS0VSTl9DUklUICJnZXR0aW5nICVkIHJhbmRvbSBieXRlcyBmb3IgY29udGV4dCAlcFxuIixieXRlX2NvdW50LCBjdHgpOworCisKK3JlbWFpbmRlcjoKKwlpZiAoY3R4LT5yYW5kX2RhdGFfdmFsaWQgPT0gREVGQVVMVF9CTEtfU1opIHsKKwkJaWYgKF9nZXRfbW9yZV9wcm5nX2J5dGVzKGN0eCkgPCAwKSB7CisJCQltZW1zZXQoYnVmLCAwLCBuYnl0ZXMpOworCQkJZXJyID0gLUVGQVVMVDsKKwkJCWdvdG8gZG9uZTsKKwkJfQorCX0KKworCS8qCisJICogQ29weSB1cCB0byB0aGUgbmV4dCB3aG9sZSBibG9jayBzaXplCisJICovCisJaWYgKGJ5dGVfY291bnQgPCBERUZBVUxUX0JMS19TWikgeworCQlmb3IgKDtjdHgtPnJhbmRfZGF0YV92YWxpZCA8IERFRkFVTFRfQkxLX1NaOyBjdHgtPnJhbmRfZGF0YV92YWxpZCsrKSB7CisJCQkqcHRyID0gY3R4LT5yYW5kX2RhdGFbY3R4LT5yYW5kX2RhdGFfdmFsaWRdOworCQkJcHRyKys7CisJCQlieXRlX2NvdW50LS07CisJCQlpZiAoYnl0ZV9jb3VudCA9PSAwKQorCQkJCWdvdG8gZG9uZTsKKwkJfQorCX0KKworCS8qCisJICogTm93IGNvcHkgd2hvbGUgYmxvY2tzCisJICovCisJZm9yKDtieXRlX2NvdW50ID49IERFRkFVTFRfQkxLX1NaOyBieXRlX2NvdW50IC09IERFRkFVTFRfQkxLX1NaKSB7CisJCWlmIChfZ2V0X21vcmVfcHJuZ19ieXRlcyhjdHgpIDwgMCkgeworCQkJbWVtc2V0KGJ1ZiwgMCwgbmJ5dGVzKTsKKwkJCWVyciA9IC0xOworCQkJZ290byBkb25lOworCQl9CisJCW1lbWNweShwdHIsIGN0eC0+cmFuZF9kYXRhLCBERUZBVUxUX0JMS19TWik7CisJCWN0eC0+cmFuZF9kYXRhX3ZhbGlkICs9IERFRkFVTFRfQkxLX1NaOworCQlwdHIgKz0gREVGQVVMVF9CTEtfU1o7CisJfQorCisJLyoKKwkgKiBOb3cgY29weSBhbnkgZXh0cmEgcGFydGlhbCBkYXRhCisJICovCisJaWYgKGJ5dGVfY291bnQpCisJCWdvdG8gcmVtYWluZGVyOworCitkb25lOgorCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmN0eC0+cHJuZ19sb2NrLCBmbGFncyk7CisJZGJncHJpbnQoS0VSTl9DUklUICJyZXR1cm5pbmcgJWQgZnJvbSBnZXRfcHJuZ19ieXRlcyBpbiBjb250ZXh0ICVwXG4iLGVyciwgY3R4KTsKKwlyZXR1cm4gZXJyOworfQorRVhQT1JUX1NZTUJPTF9HUEwoZ2V0X3BybmdfYnl0ZXMpOworCitzdHJ1Y3QgcHJuZ19jb250ZXh0ICphbGxvY19wcm5nX2NvbnRleHQodm9pZCkKK3sKKwlzdHJ1Y3QgcHJuZ19jb250ZXh0ICpjdHg9a3phbGxvYyhzaXplb2Yoc3RydWN0IHBybmdfY29udGV4dCksIEdGUF9LRVJORUwpOworCisJc3Bpbl9sb2NrX2luaXQoJmN0eC0+cHJuZ19sb2NrKTsKKworCWlmIChyZXNldF9wcm5nX2NvbnRleHQoY3R4LCBOVUxMLCBOVUxMLCBOVUxMLCBOVUxMKSkgeworCQlrZnJlZShjdHgpOworCQljdHggPSBOVUxMOworCX0KKworCWRiZ3ByaW50KEtFUk5fQ1JJVCAicmV0dXJuaW5nIGNvbnRleHQgJXBcbiIsY3R4KTsKKwlyZXR1cm4gY3R4OworfQorCitFWFBPUlRfU1lNQk9MX0dQTChhbGxvY19wcm5nX2NvbnRleHQpOworCit2b2lkIGZyZWVfcHJuZ19jb250ZXh0KHN0cnVjdCBwcm5nX2NvbnRleHQgKmN0eCkKK3sKKwljcnlwdG9fZnJlZV9ibGtjaXBoZXIoY3R4LT50Zm0pOworCWtmcmVlKGN0eCk7Cit9CitFWFBPUlRfU1lNQk9MX0dQTChmcmVlX3BybmdfY29udGV4dCk7CisKK2ludCByZXNldF9wcm5nX2NvbnRleHQoc3RydWN0IHBybmdfY29udGV4dCAqY3R4LAorCQkgICAgICAgdW5zaWduZWQgY2hhciAqa2V5LCB1bnNpZ25lZCBjaGFyICppdiwKKwkJICAgICAgIHVuc2lnbmVkIGNoYXIgKlYsIHVuc2lnbmVkIGNoYXIgKkRUKQoreworCWludCByZXQ7CisJaW50IGl2X2xlbjsKKwlpbnQgcmMgPSAtRUZBVUxUOworCisJc3Bpbl9sb2NrKCZjdHgtPnBybmdfbG9jayk7CisJY3R4LT5mbGFncyB8PSBQUk5HX05FRURfUkVTRVQ7CisKKwlpZiAoa2V5KQorCQltZW1jcHkoY3R4LT5wcm5nX2tleSxrZXksc3RybGVuKGN0eC0+cHJuZ19rZXkpKTsKKwllbHNlCisJCWN0eC0+cHJuZ19rZXkgPSBERUZBVUxUX1BSTkdfS0VZOworCisJaWYgKGl2KQorCQltZW1jcHkoY3R4LT5wcm5nX2l2LGl2LCBzdHJsZW4oY3R4LT5wcm5nX2l2KSk7CisJZWxzZQorCQljdHgtPnBybmdfaXYgPSBERUZBVUxUX1BSTkdfSVY7CisKKwlpZiAoVikKKwkJbWVtY3B5KGN0eC0+VixWLERFRkFVTFRfQkxLX1NaKTsKKwllbHNlCisJCW1lbWNweShjdHgtPlYsREVGQVVMVF9WX1NFRUQsREVGQVVMVF9CTEtfU1opOworCisJaWYgKERUKQorCQltZW1jcHkoY3R4LT5EVCwgRFQsIERFRkFVTFRfQkxLX1NaKTsKKwllbHNlCisJCW1lbXNldChjdHgtPkRULCAwLCBERUZBVUxUX0JMS19TWik7CisKKwltZW1zZXQoY3R4LT5yYW5kX2RhdGEsMCxERUZBVUxUX0JMS19TWik7CisJbWVtc2V0KGN0eC0+bGFzdF9yYW5kX2RhdGEsMCxERUZBVUxUX0JMS19TWik7CisKKwlpZiAoY3R4LT50Zm0pCisJCWNyeXB0b19mcmVlX2Jsa2NpcGhlcihjdHgtPnRmbSk7CisKKwljdHgtPnRmbSA9IGNyeXB0b19hbGxvY19ibGtjaXBoZXIoInJmYzM2ODYoY3RyKGFlcykpIiwwLDApOworCWlmICghY3R4LT50Zm0pIHsKKwkJZGJncHJpbnQoS0VSTl9DUklUICJGYWlsZWQgdG8gYWxsb2MgY3J5cHRvIHRmbSBmb3IgY29udGV4dCAlcFxuIixjdHgtPnRmbSk7CisJCWdvdG8gb3V0OworCX0KKworCWN0eC0+cmFuZF9kYXRhX3ZhbGlkID0gREVGQVVMVF9CTEtfU1o7CisKKwlyZXQgPSBjcnlwdG9fYmxrY2lwaGVyX3NldGtleShjdHgtPnRmbSwgY3R4LT5wcm5nX2tleSwgc3RybGVuKGN0eC0+cHJuZ19rZXkpKTsKKwlpZiAocmV0KSB7CisJCWRiZ3ByaW50KEtFUk5fQ1JJVCAiUFJORzogc2V0a2V5KCkgZmFpbGVkIGZsYWdzPSV4XG4iLAorCQkJY3J5cHRvX2Jsa2NpcGhlcl9nZXRfZmxhZ3MoY3R4LT50Zm0pKTsKKwkJY3J5cHRvX2ZyZWVfYmxrY2lwaGVyKGN0eC0+dGZtKTsKKwkJZ290byBvdXQ7CisJfQorCisJaXZfbGVuID0gY3J5cHRvX2Jsa2NpcGhlcl9pdnNpemUoY3R4LT50Zm0pOworCWlmIChpdl9sZW4pIHsKKwkJY3J5cHRvX2Jsa2NpcGhlcl9zZXRfaXYoY3R4LT50Zm0sIGN0eC0+cHJuZ19pdiwgaXZfbGVuKTsKKwl9CisJcmMgPSAwOworCWN0eC0+ZmxhZ3MgJj0gflBSTkdfTkVFRF9SRVNFVDsKK291dDoKKwlzcGluX3VubG9jaygmY3R4LT5wcm5nX2xvY2spOworCisJcmV0dXJuIHJjOworCit9CitFWFBPUlRfU1lNQk9MX0dQTChyZXNldF9wcm5nX2NvbnRleHQpOworCisvKiBNb2R1bGUgaW5pdGFsaXphdGlvbiAqLworc3RhdGljIGludCBfX2luaXQgcHJuZ19tb2RfaW5pdCh2b2lkKQoreworCisjaWZkZWYgVEVTVF9QUk5HX09OX1NUQVJUCisJaW50IGk7CisJdW5zaWduZWQgY2hhciB0bXBidWZbREVGQVVMVF9CTEtfU1pdOworCisJc3RydWN0IHBybmdfY29udGV4dCAqY3R4ID0gYWxsb2NfcHJuZ19jb250ZXh0KCk7CisJaWYgKGN0eCA9PSBOVUxMKQorCQlyZXR1cm4gLUVGQVVMVDsKKwlmb3IgKGk9MDtpPDE2O2krKykgeworCQlpZiAoZ2V0X3BybmdfYnl0ZXModG1wYnVmLCBERUZBVUxUX0JMS19TWiwgY3R4KSA8IDApIHsKKwkJCWZyZWVfcHJuZ19jb250ZXh0KGN0eCk7CisJCQlyZXR1cm4gLUVGQVVMVDsKKwkJfQorCX0KKwlmcmVlX3BybmdfY29udGV4dChjdHgpOworI2VuZGlmCisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgX19leGl0IHBybmdfbW9kX2Zpbmkodm9pZCkKK3sKKwlyZXR1cm47Cit9CisKK01PRFVMRV9MSUNFTlNFKCJHUEwiKTsKK01PRFVMRV9ERVNDUklQVElPTigiU29mdHdhcmUgUHNldWRvIFJhbmRvbSBOdW1iZXIgR2VuZXJhdG9yIik7CitNT0RVTEVfQVVUSE9SKCJOZWlsIEhvcm1hbiA8bmhvcm1hbkB0dXhkcml2ZXIuY29tPiIpOworbW9kdWxlX3BhcmFtKGRiZywgaW50LCAwKTsKK01PRFVMRV9QQVJNX0RFU0MoZGJnLCAiQm9vbGVhbiB0byBlbmFibGUgZGVidWdnaW5nICgwLzEgPT0gb2ZmL29uKSIpOworbW9kdWxlX2luaXQocHJuZ19tb2RfaW5pdCk7Cittb2R1bGVfZXhpdChwcm5nX21vZF9maW5pKTsKZGlmZiAtLWdpdCBhL2NyeXB0by9wcm5nLmggYi9jcnlwdG8vcHJuZy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFhYzliZTUKLS0tIC9kZXYvbnVsbAorKysgYi9jcnlwdG8vcHJuZy5oCkBAIC0wLDAgKzEsMjcgQEAKKy8qCisgKiBQUk5HOiBQc2V1ZG8gUmFuZG9tIE51bWJlciBHZW5lcmF0b3IKKyAqCisgKiAgKEMpIE5laWwgSG9ybWFuIDxuaG9ybWFuQHR1eGRyaXZlci5jb20+CisgKgorICogIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0CisgKiAgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlCisgKiAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91cgorICogIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqCisgKi8KKworI2lmbmRlZiBfUFJOR19IXworI2RlZmluZSBfUFJOR19IXworc3RydWN0IHBybmdfY29udGV4dDsKKworaW50IGdldF9wcm5nX2J5dGVzKGNoYXIgKmJ1ZiwgaW50IG5ieXRlcywgc3RydWN0IHBybmdfY29udGV4dCAqY3R4KTsKK3N0cnVjdCBwcm5nX2NvbnRleHQgKmFsbG9jX3BybmdfY29udGV4dCh2b2lkKTsKK2ludCByZXNldF9wcm5nX2NvbnRleHQoc3RydWN0IHBybmdfY29udGV4dCAqY3R4LAorCQkJdW5zaWduZWQgY2hhciAqa2V5LCB1bnNpZ25lZCBjaGFyICppdiwKKwkJCXVuc2lnbmVkIGNoYXIgKlYsCisJCQl1bnNpZ25lZCBjaGFyICpEVCk7Cit2b2lkIGZyZWVfcHJuZ19jb250ZXh0KHN0cnVjdCBwcm5nX2NvbnRleHQgKmN0eCk7CisKKyNlbmRpZgorCmRpZmYgLS1naXQgYS9jcnlwdG8vcmlwZW1kLmggYi9jcnlwdG8vcmlwZW1kLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzU3YTJkNAotLS0gL2Rldi9udWxsCisrKyBiL2NyeXB0by9yaXBlbWQuaApAQCAtMCwwICsxLDQzIEBACisvKgorICogQ29tbW9uIHZhbHVlcyBmb3IgUklQRU1EIGFsZ29yaXRobXMKKyAqLworCisjaWZuZGVmIF9DUllQVE9fUk1EX0gKKyNkZWZpbmUgX0NSWVBUT19STURfSAorCisjZGVmaW5lIFJNRDEyOF9ESUdFU1RfU0laRSAgICAgIDE2CisjZGVmaW5lIFJNRDEyOF9CTE9DS19TSVpFICAgICAgIDY0CisKKyNkZWZpbmUgUk1EMTYwX0RJR0VTVF9TSVpFICAgICAgMjAKKyNkZWZpbmUgUk1EMTYwX0JMT0NLX1NJWkUgICAgICAgNjQKKworI2RlZmluZSBSTUQyNTZfRElHRVNUX1NJWkUgICAgICAzMgorI2RlZmluZSBSTUQyNTZfQkxPQ0tfU0laRSAgICAgICA2NAorCisjZGVmaW5lIFJNRDMyMF9ESUdFU1RfU0laRSAgICAgIDQwCisjZGVmaW5lIFJNRDMyMF9CTE9DS19TSVpFICAgICAgIDY0CisKKy8qIGluaXRpYWwgdmFsdWVzICAqLworI2RlZmluZSBSTURfSDAgIDB4Njc0NTIzMDFVTAorI2RlZmluZSBSTURfSDEgIDB4ZWZjZGFiODlVTAorI2RlZmluZSBSTURfSDIgIDB4OThiYWRjZmVVTAorI2RlZmluZSBSTURfSDMgIDB4MTAzMjU0NzZVTAorI2RlZmluZSBSTURfSDQgIDB4YzNkMmUxZjBVTAorI2RlZmluZSBSTURfSDUgIDB4NzY1NDMyMTBVTAorI2RlZmluZSBSTURfSDYgIDB4ZmVkY2JhOThVTAorI2RlZmluZSBSTURfSDcgIDB4ODlhYmNkZWZVTAorI2RlZmluZSBSTURfSDggIDB4MDEyMzQ1NjdVTAorI2RlZmluZSBSTURfSDkgIDB4M2MyZDFlMGZVTAorCisvKiBjb25zdGFudHMgKi8KKyNkZWZpbmUgUk1EX0sxICAweDAwMDAwMDAwVUwKKyNkZWZpbmUgUk1EX0syICAweDVhODI3OTk5VUwKKyNkZWZpbmUgUk1EX0szICAweDZlZDllYmExVUwKKyNkZWZpbmUgUk1EX0s0ICAweDhmMWJiY2RjVUwKKyNkZWZpbmUgUk1EX0s1ICAweGE5NTNmZDRlVUwKKyNkZWZpbmUgUk1EX0s2ICAweDUwYTI4YmU2VUwKKyNkZWZpbmUgUk1EX0s3ICAweDVjNGRkMTI0VUwKKyNkZWZpbmUgUk1EX0s4ICAweDZkNzAzZWYzVUwKKyNkZWZpbmUgUk1EX0s5ICAweDdhNmQ3NmU5VUwKKworI2VuZGlmCmRpZmYgLS1naXQgYS9jcnlwdG8vcm1kMTI4LmMgYi9jcnlwdG8vcm1kMTI4LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWRlNmZhMgotLS0gL2Rldi9udWxsCisrKyBiL2NyeXB0by9ybWQxMjguYwpAQCAtMCwwICsxLDMyNSBAQAorLyoKKyAqIENyeXB0b2dyYXBoaWMgQVBJLgorICoKKyAqIFJJUEVNRC0xMjggLSBSQUNFIEludGVncml0eSBQcmltaXRpdmVzIEV2YWx1YXRpb24gTWVzc2FnZSBEaWdlc3QuCisgKgorICogQmFzZWQgb24gdGhlIHJlZmVyZW5jZSBpbXBsZW1lbnRhdGlvbiBieSBBbnRvb24gQm9zc2VsYWVycywgRVNBVC1DT1NJQworICoKKyAqIENvcHlyaWdodCAoYykgMjAwOCBBZHJpYW4tS2VuIFJ1ZWVnc2VnZ2VyIDxydWVlZ3NlZ2dlciAoYXQpIHN3aXNzLWl0LmNoPgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0CisgKiB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZQorICogU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKQorICogYW55IGxhdGVyIHZlcnNpb24uCisgKgorICovCisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L21tLmg+CisjaW5jbHVkZSA8bGludXgvY3J5cHRvLmg+CisjaW5jbHVkZSA8bGludXgvY3J5cHRvaGFzaC5oPgorI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CisjaW5jbHVkZSA8YXNtL2J5dGVvcmRlci5oPgorCisjaW5jbHVkZSAicmlwZW1kLmgiCisKK3N0cnVjdCBybWQxMjhfY3R4IHsKKwl1NjQgYnl0ZV9jb3VudDsKKwl1MzIgc3RhdGVbNF07CisJX19sZTMyIGJ1ZmZlclsxNl07Cit9OworCisjZGVmaW5lIEsxICBSTURfSzEKKyNkZWZpbmUgSzIgIFJNRF9LMgorI2RlZmluZSBLMyAgUk1EX0szCisjZGVmaW5lIEs0ICBSTURfSzQKKyNkZWZpbmUgS0sxIFJNRF9LNgorI2RlZmluZSBLSzIgUk1EX0s3CisjZGVmaW5lIEtLMyBSTURfSzgKKyNkZWZpbmUgS0s0IFJNRF9LMQorCisjZGVmaW5lIEYxKHgsIHksIHopICh4IF4geSBeIHopCQkvKiBYT1IgKi8KKyNkZWZpbmUgRjIoeCwgeSwgeikgKHogXiAoeCAmICh5IF4geikpKQkvKiB4ID8geSA6IHogKi8KKyNkZWZpbmUgRjMoeCwgeSwgeikgKCh4IHwgfnkpIF4geikKKyNkZWZpbmUgRjQoeCwgeSwgeikgKHkgXiAoeiAmICh4IF4geSkpKQkvKiB6ID8geCA6IHkgKi8KKworI2RlZmluZSBST1VORChhLCBiLCBjLCBkLCBmLCBrLCB4LCBzKSAgeyBcCisJKGEpICs9IGYoKGIpLCAoYyksIChkKSkgKyBsZTMyX3RvX2NwdXAoJih4KSkgKyAoayk7CVwKKwkoYSkgPSByb2wzMigoYSksIChzKSk7IFwKK30KKworc3RhdGljIHZvaWQgcm1kMTI4X3RyYW5zZm9ybSh1MzIgKnN0YXRlLCBjb25zdCBfX2xlMzIgKmluKQoreworCXUzMiBhYSwgYmIsIGNjLCBkZCwgYWFhLCBiYmIsIGNjYywgZGRkOworCisJLyogSW5pdGlhbGl6ZSBsZWZ0IGxhbmUgKi8KKwlhYSA9IHN0YXRlWzBdOworCWJiID0gc3RhdGVbMV07CisJY2MgPSBzdGF0ZVsyXTsKKwlkZCA9IHN0YXRlWzNdOworCisJLyogSW5pdGlhbGl6ZSByaWdodCBsYW5lICovCisJYWFhID0gc3RhdGVbMF07CisJYmJiID0gc3RhdGVbMV07CisJY2NjID0gc3RhdGVbMl07CisJZGRkID0gc3RhdGVbM107CisKKwkvKiByb3VuZCAxOiBsZWZ0IGxhbmUgKi8KKwlST1VORChhYSwgYmIsIGNjLCBkZCwgRjEsIEsxLCBpblswXSwgIDExKTsKKwlST1VORChkZCwgYWEsIGJiLCBjYywgRjEsIEsxLCBpblsxXSwgIDE0KTsKKwlST1VORChjYywgZGQsIGFhLCBiYiwgRjEsIEsxLCBpblsyXSwgIDE1KTsKKwlST1VORChiYiwgY2MsIGRkLCBhYSwgRjEsIEsxLCBpblszXSwgIDEyKTsKKwlST1VORChhYSwgYmIsIGNjLCBkZCwgRjEsIEsxLCBpbls0XSwgICA1KTsKKwlST1VORChkZCwgYWEsIGJiLCBjYywgRjEsIEsxLCBpbls1XSwgICA4KTsKKwlST1VORChjYywgZGQsIGFhLCBiYiwgRjEsIEsxLCBpbls2XSwgICA3KTsKKwlST1VORChiYiwgY2MsIGRkLCBhYSwgRjEsIEsxLCBpbls3XSwgICA5KTsKKwlST1VORChhYSwgYmIsIGNjLCBkZCwgRjEsIEsxLCBpbls4XSwgIDExKTsKKwlST1VORChkZCwgYWEsIGJiLCBjYywgRjEsIEsxLCBpbls5XSwgIDEzKTsKKwlST1VORChjYywgZGQsIGFhLCBiYiwgRjEsIEsxLCBpblsxMF0sIDE0KTsKKwlST1VORChiYiwgY2MsIGRkLCBhYSwgRjEsIEsxLCBpblsxMV0sIDE1KTsKKwlST1VORChhYSwgYmIsIGNjLCBkZCwgRjEsIEsxLCBpblsxMl0sICA2KTsKKwlST1VORChkZCwgYWEsIGJiLCBjYywgRjEsIEsxLCBpblsxM10sICA3KTsKKwlST1VORChjYywgZGQsIGFhLCBiYiwgRjEsIEsxLCBpblsxNF0sICA5KTsKKwlST1VORChiYiwgY2MsIGRkLCBhYSwgRjEsIEsxLCBpblsxNV0sICA4KTsKKworCS8qIHJvdW5kIDI6IGxlZnQgbGFuZSAqLworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBGMiwgSzIsIGluWzddLCAgIDcpOworCVJPVU5EKGRkLCBhYSwgYmIsIGNjLCBGMiwgSzIsIGluWzRdLCAgIDYpOworCVJPVU5EKGNjLCBkZCwgYWEsIGJiLCBGMiwgSzIsIGluWzEzXSwgIDgpOworCVJPVU5EKGJiLCBjYywgZGQsIGFhLCBGMiwgSzIsIGluWzFdLCAgMTMpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBGMiwgSzIsIGluWzEwXSwgMTEpOworCVJPVU5EKGRkLCBhYSwgYmIsIGNjLCBGMiwgSzIsIGluWzZdLCAgIDkpOworCVJPVU5EKGNjLCBkZCwgYWEsIGJiLCBGMiwgSzIsIGluWzE1XSwgIDcpOworCVJPVU5EKGJiLCBjYywgZGQsIGFhLCBGMiwgSzIsIGluWzNdLCAgMTUpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBGMiwgSzIsIGluWzEyXSwgIDcpOworCVJPVU5EKGRkLCBhYSwgYmIsIGNjLCBGMiwgSzIsIGluWzBdLCAgMTIpOworCVJPVU5EKGNjLCBkZCwgYWEsIGJiLCBGMiwgSzIsIGluWzldLCAgMTUpOworCVJPVU5EKGJiLCBjYywgZGQsIGFhLCBGMiwgSzIsIGluWzVdLCAgIDkpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBGMiwgSzIsIGluWzJdLCAgMTEpOworCVJPVU5EKGRkLCBhYSwgYmIsIGNjLCBGMiwgSzIsIGluWzE0XSwgIDcpOworCVJPVU5EKGNjLCBkZCwgYWEsIGJiLCBGMiwgSzIsIGluWzExXSwgMTMpOworCVJPVU5EKGJiLCBjYywgZGQsIGFhLCBGMiwgSzIsIGluWzhdLCAgMTIpOworCisJLyogcm91bmQgMzogbGVmdCBsYW5lICovCisJUk9VTkQoYWEsIGJiLCBjYywgZGQsIEYzLCBLMywgaW5bM10sICAxMSk7CisJUk9VTkQoZGQsIGFhLCBiYiwgY2MsIEYzLCBLMywgaW5bMTBdLCAxMyk7CisJUk9VTkQoY2MsIGRkLCBhYSwgYmIsIEYzLCBLMywgaW5bMTRdLCAgNik7CisJUk9VTkQoYmIsIGNjLCBkZCwgYWEsIEYzLCBLMywgaW5bNF0sICAgNyk7CisJUk9VTkQoYWEsIGJiLCBjYywgZGQsIEYzLCBLMywgaW5bOV0sICAxNCk7CisJUk9VTkQoZGQsIGFhLCBiYiwgY2MsIEYzLCBLMywgaW5bMTVdLCAgOSk7CisJUk9VTkQoY2MsIGRkLCBhYSwgYmIsIEYzLCBLMywgaW5bOF0sICAxMyk7CisJUk9VTkQoYmIsIGNjLCBkZCwgYWEsIEYzLCBLMywgaW5bMV0sICAxNSk7CisJUk9VTkQoYWEsIGJiLCBjYywgZGQsIEYzLCBLMywgaW5bMl0sICAxNCk7CisJUk9VTkQoZGQsIGFhLCBiYiwgY2MsIEYzLCBLMywgaW5bN10sICAgOCk7CisJUk9VTkQoY2MsIGRkLCBhYSwgYmIsIEYzLCBLMywgaW5bMF0sICAxMyk7CisJUk9VTkQoYmIsIGNjLCBkZCwgYWEsIEYzLCBLMywgaW5bNl0sICAgNik7CisJUk9VTkQoYWEsIGJiLCBjYywgZGQsIEYzLCBLMywgaW5bMTNdLCAgNSk7CisJUk9VTkQoZGQsIGFhLCBiYiwgY2MsIEYzLCBLMywgaW5bMTFdLCAxMik7CisJUk9VTkQoY2MsIGRkLCBhYSwgYmIsIEYzLCBLMywgaW5bNV0sICAgNyk7CisJUk9VTkQoYmIsIGNjLCBkZCwgYWEsIEYzLCBLMywgaW5bMTJdLCAgNSk7CisKKwkvKiByb3VuZCA0OiBsZWZ0IGxhbmUgKi8KKwlST1VORChhYSwgYmIsIGNjLCBkZCwgRjQsIEs0LCBpblsxXSwgIDExKTsKKwlST1VORChkZCwgYWEsIGJiLCBjYywgRjQsIEs0LCBpbls5XSwgIDEyKTsKKwlST1VORChjYywgZGQsIGFhLCBiYiwgRjQsIEs0LCBpblsxMV0sIDE0KTsKKwlST1VORChiYiwgY2MsIGRkLCBhYSwgRjQsIEs0LCBpblsxMF0sIDE1KTsKKwlST1VORChhYSwgYmIsIGNjLCBkZCwgRjQsIEs0LCBpblswXSwgIDE0KTsKKwlST1VORChkZCwgYWEsIGJiLCBjYywgRjQsIEs0LCBpbls4XSwgIDE1KTsKKwlST1VORChjYywgZGQsIGFhLCBiYiwgRjQsIEs0LCBpblsxMl0sICA5KTsKKwlST1VORChiYiwgY2MsIGRkLCBhYSwgRjQsIEs0LCBpbls0XSwgICA4KTsKKwlST1VORChhYSwgYmIsIGNjLCBkZCwgRjQsIEs0LCBpblsxM10sICA5KTsKKwlST1VORChkZCwgYWEsIGJiLCBjYywgRjQsIEs0LCBpblszXSwgIDE0KTsKKwlST1VORChjYywgZGQsIGFhLCBiYiwgRjQsIEs0LCBpbls3XSwgICA1KTsKKwlST1VORChiYiwgY2MsIGRkLCBhYSwgRjQsIEs0LCBpblsxNV0sICA2KTsKKwlST1VORChhYSwgYmIsIGNjLCBkZCwgRjQsIEs0LCBpblsxNF0sICA4KTsKKwlST1VORChkZCwgYWEsIGJiLCBjYywgRjQsIEs0LCBpbls1XSwgICA2KTsKKwlST1VORChjYywgZGQsIGFhLCBiYiwgRjQsIEs0LCBpbls2XSwgICA1KTsKKwlST1VORChiYiwgY2MsIGRkLCBhYSwgRjQsIEs0LCBpblsyXSwgIDEyKTsKKworCS8qIHJvdW5kIDE6IHJpZ2h0IGxhbmUgKi8KKwlST1VORChhYWEsIGJiYiwgY2NjLCBkZGQsIEY0LCBLSzEsIGluWzVdLCAgIDgpOworCVJPVU5EKGRkZCwgYWFhLCBiYmIsIGNjYywgRjQsIEtLMSwgaW5bMTRdLCAgOSk7CisJUk9VTkQoY2NjLCBkZGQsIGFhYSwgYmJiLCBGNCwgS0sxLCBpbls3XSwgICA5KTsKKwlST1VORChiYmIsIGNjYywgZGRkLCBhYWEsIEY0LCBLSzEsIGluWzBdLCAgMTEpOworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgRjQsIEtLMSwgaW5bOV0sICAxMyk7CisJUk9VTkQoZGRkLCBhYWEsIGJiYiwgY2NjLCBGNCwgS0sxLCBpblsyXSwgIDE1KTsKKwlST1VORChjY2MsIGRkZCwgYWFhLCBiYmIsIEY0LCBLSzEsIGluWzExXSwgMTUpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGFhYSwgRjQsIEtLMSwgaW5bNF0sICAgNSk7CisJUk9VTkQoYWFhLCBiYmIsIGNjYywgZGRkLCBGNCwgS0sxLCBpblsxM10sICA3KTsKKwlST1VORChkZGQsIGFhYSwgYmJiLCBjY2MsIEY0LCBLSzEsIGluWzZdLCAgIDcpOworCVJPVU5EKGNjYywgZGRkLCBhYWEsIGJiYiwgRjQsIEtLMSwgaW5bMTVdLCAgOCk7CisJUk9VTkQoYmJiLCBjY2MsIGRkZCwgYWFhLCBGNCwgS0sxLCBpbls4XSwgIDExKTsKKwlST1VORChhYWEsIGJiYiwgY2NjLCBkZGQsIEY0LCBLSzEsIGluWzFdLCAgMTQpOworCVJPVU5EKGRkZCwgYWFhLCBiYmIsIGNjYywgRjQsIEtLMSwgaW5bMTBdLCAxNCk7CisJUk9VTkQoY2NjLCBkZGQsIGFhYSwgYmJiLCBGNCwgS0sxLCBpblszXSwgIDEyKTsKKwlST1VORChiYmIsIGNjYywgZGRkLCBhYWEsIEY0LCBLSzEsIGluWzEyXSwgIDYpOworCisJLyogcm91bmQgMjogcmlnaHQgbGFuZSAqLworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgRjMsIEtLMiwgaW5bNl0sICAgOSk7CisJUk9VTkQoZGRkLCBhYWEsIGJiYiwgY2NjLCBGMywgS0syLCBpblsxMV0sIDEzKTsKKwlST1VORChjY2MsIGRkZCwgYWFhLCBiYmIsIEYzLCBLSzIsIGluWzNdLCAgMTUpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGFhYSwgRjMsIEtLMiwgaW5bN10sICAgNyk7CisJUk9VTkQoYWFhLCBiYmIsIGNjYywgZGRkLCBGMywgS0syLCBpblswXSwgIDEyKTsKKwlST1VORChkZGQsIGFhYSwgYmJiLCBjY2MsIEYzLCBLSzIsIGluWzEzXSwgIDgpOworCVJPVU5EKGNjYywgZGRkLCBhYWEsIGJiYiwgRjMsIEtLMiwgaW5bNV0sICAgOSk7CisJUk9VTkQoYmJiLCBjY2MsIGRkZCwgYWFhLCBGMywgS0syLCBpblsxMF0sIDExKTsKKwlST1VORChhYWEsIGJiYiwgY2NjLCBkZGQsIEYzLCBLSzIsIGluWzE0XSwgIDcpOworCVJPVU5EKGRkZCwgYWFhLCBiYmIsIGNjYywgRjMsIEtLMiwgaW5bMTVdLCAgNyk7CisJUk9VTkQoY2NjLCBkZGQsIGFhYSwgYmJiLCBGMywgS0syLCBpbls4XSwgIDEyKTsKKwlST1VORChiYmIsIGNjYywgZGRkLCBhYWEsIEYzLCBLSzIsIGluWzEyXSwgIDcpOworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgRjMsIEtLMiwgaW5bNF0sICAgNik7CisJUk9VTkQoZGRkLCBhYWEsIGJiYiwgY2NjLCBGMywgS0syLCBpbls5XSwgIDE1KTsKKwlST1VORChjY2MsIGRkZCwgYWFhLCBiYmIsIEYzLCBLSzIsIGluWzFdLCAgMTMpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGFhYSwgRjMsIEtLMiwgaW5bMl0sICAxMSk7CisKKwkvKiByb3VuZCAzOiByaWdodCBsYW5lICovCisJUk9VTkQoYWFhLCBiYmIsIGNjYywgZGRkLCBGMiwgS0szLCBpblsxNV0sICA5KTsKKwlST1VORChkZGQsIGFhYSwgYmJiLCBjY2MsIEYyLCBLSzMsIGluWzVdLCAgIDcpOworCVJPVU5EKGNjYywgZGRkLCBhYWEsIGJiYiwgRjIsIEtLMywgaW5bMV0sICAxNSk7CisJUk9VTkQoYmJiLCBjY2MsIGRkZCwgYWFhLCBGMiwgS0szLCBpblszXSwgIDExKTsKKwlST1VORChhYWEsIGJiYiwgY2NjLCBkZGQsIEYyLCBLSzMsIGluWzddLCAgIDgpOworCVJPVU5EKGRkZCwgYWFhLCBiYmIsIGNjYywgRjIsIEtLMywgaW5bMTRdLCAgNik7CisJUk9VTkQoY2NjLCBkZGQsIGFhYSwgYmJiLCBGMiwgS0szLCBpbls2XSwgICA2KTsKKwlST1VORChiYmIsIGNjYywgZGRkLCBhYWEsIEYyLCBLSzMsIGluWzldLCAgMTQpOworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgRjIsIEtLMywgaW5bMTFdLCAxMik7CisJUk9VTkQoZGRkLCBhYWEsIGJiYiwgY2NjLCBGMiwgS0szLCBpbls4XSwgIDEzKTsKKwlST1VORChjY2MsIGRkZCwgYWFhLCBiYmIsIEYyLCBLSzMsIGluWzEyXSwgIDUpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGFhYSwgRjIsIEtLMywgaW5bMl0sICAxNCk7CisJUk9VTkQoYWFhLCBiYmIsIGNjYywgZGRkLCBGMiwgS0szLCBpblsxMF0sIDEzKTsKKwlST1VORChkZGQsIGFhYSwgYmJiLCBjY2MsIEYyLCBLSzMsIGluWzBdLCAgMTMpOworCVJPVU5EKGNjYywgZGRkLCBhYWEsIGJiYiwgRjIsIEtLMywgaW5bNF0sICAgNyk7CisJUk9VTkQoYmJiLCBjY2MsIGRkZCwgYWFhLCBGMiwgS0szLCBpblsxM10sICA1KTsKKworCS8qIHJvdW5kIDQ6IHJpZ2h0IGxhbmUgKi8KKwlST1VORChhYWEsIGJiYiwgY2NjLCBkZGQsIEYxLCBLSzQsIGluWzhdLCAgMTUpOworCVJPVU5EKGRkZCwgYWFhLCBiYmIsIGNjYywgRjEsIEtLNCwgaW5bNl0sICAgNSk7CisJUk9VTkQoY2NjLCBkZGQsIGFhYSwgYmJiLCBGMSwgS0s0LCBpbls0XSwgICA4KTsKKwlST1VORChiYmIsIGNjYywgZGRkLCBhYWEsIEYxLCBLSzQsIGluWzFdLCAgMTEpOworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgRjEsIEtLNCwgaW5bM10sICAxNCk7CisJUk9VTkQoZGRkLCBhYWEsIGJiYiwgY2NjLCBGMSwgS0s0LCBpblsxMV0sIDE0KTsKKwlST1VORChjY2MsIGRkZCwgYWFhLCBiYmIsIEYxLCBLSzQsIGluWzE1XSwgIDYpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGFhYSwgRjEsIEtLNCwgaW5bMF0sICAxNCk7CisJUk9VTkQoYWFhLCBiYmIsIGNjYywgZGRkLCBGMSwgS0s0LCBpbls1XSwgICA2KTsKKwlST1VORChkZGQsIGFhYSwgYmJiLCBjY2MsIEYxLCBLSzQsIGluWzEyXSwgIDkpOworCVJPVU5EKGNjYywgZGRkLCBhYWEsIGJiYiwgRjEsIEtLNCwgaW5bMl0sICAxMik7CisJUk9VTkQoYmJiLCBjY2MsIGRkZCwgYWFhLCBGMSwgS0s0LCBpblsxM10sICA5KTsKKwlST1VORChhYWEsIGJiYiwgY2NjLCBkZGQsIEYxLCBLSzQsIGluWzldLCAgMTIpOworCVJPVU5EKGRkZCwgYWFhLCBiYmIsIGNjYywgRjEsIEtLNCwgaW5bN10sICAgNSk7CisJUk9VTkQoY2NjLCBkZGQsIGFhYSwgYmJiLCBGMSwgS0s0LCBpblsxMF0sIDE1KTsKKwlST1VORChiYmIsIGNjYywgZGRkLCBhYWEsIEYxLCBLSzQsIGluWzE0XSwgIDgpOworCisJLyogY29tYmluZSByZXN1bHRzICovCisJZGRkICs9IGNjICsgc3RhdGVbMV07CQkvKiBmaW5hbCByZXN1bHQgZm9yIHN0YXRlWzBdICovCisJc3RhdGVbMV0gPSBzdGF0ZVsyXSArIGRkICsgYWFhOworCXN0YXRlWzJdID0gc3RhdGVbM10gKyBhYSArIGJiYjsKKwlzdGF0ZVszXSA9IHN0YXRlWzBdICsgYmIgKyBjY2M7CisJc3RhdGVbMF0gPSBkZGQ7CisKKwlyZXR1cm47Cit9CisKK3N0YXRpYyB2b2lkIHJtZDEyOF9pbml0KHN0cnVjdCBjcnlwdG9fdGZtICp0Zm0pCit7CisJc3RydWN0IHJtZDEyOF9jdHggKnJjdHggPSBjcnlwdG9fdGZtX2N0eCh0Zm0pOworCisJcmN0eC0+Ynl0ZV9jb3VudCA9IDA7CisKKwlyY3R4LT5zdGF0ZVswXSA9IFJNRF9IMDsKKwlyY3R4LT5zdGF0ZVsxXSA9IFJNRF9IMTsKKwlyY3R4LT5zdGF0ZVsyXSA9IFJNRF9IMjsKKwlyY3R4LT5zdGF0ZVszXSA9IFJNRF9IMzsKKworCW1lbXNldChyY3R4LT5idWZmZXIsIDAsIHNpemVvZihyY3R4LT5idWZmZXIpKTsKK30KKworc3RhdGljIHZvaWQgcm1kMTI4X3VwZGF0ZShzdHJ1Y3QgY3J5cHRvX3RmbSAqdGZtLCBjb25zdCB1OCAqZGF0YSwKKwkJCSAgdW5zaWduZWQgaW50IGxlbikKK3sKKwlzdHJ1Y3Qgcm1kMTI4X2N0eCAqcmN0eCA9IGNyeXB0b190Zm1fY3R4KHRmbSk7CisJY29uc3QgdTMyIGF2YWlsID0gc2l6ZW9mKHJjdHgtPmJ1ZmZlcikgLSAocmN0eC0+Ynl0ZV9jb3VudCAmIDB4M2YpOworCisJcmN0eC0+Ynl0ZV9jb3VudCArPSBsZW47CisKKwkvKiBFbm91Z2ggc3BhY2UgaW4gYnVmZmVyPyBJZiBzbyBjb3B5IGFuZCB3ZSdyZSBkb25lICovCisJaWYgKGF2YWlsID4gbGVuKSB7CisJCW1lbWNweSgoY2hhciAqKXJjdHgtPmJ1ZmZlciArIChzaXplb2YocmN0eC0+YnVmZmVyKSAtIGF2YWlsKSwKKwkJICAgICAgIGRhdGEsIGxlbik7CisJCXJldHVybjsKKwl9CisKKwltZW1jcHkoKGNoYXIgKilyY3R4LT5idWZmZXIgKyAoc2l6ZW9mKHJjdHgtPmJ1ZmZlcikgLSBhdmFpbCksCisJICAgICAgIGRhdGEsIGF2YWlsKTsKKworCXJtZDEyOF90cmFuc2Zvcm0ocmN0eC0+c3RhdGUsIHJjdHgtPmJ1ZmZlcik7CisJZGF0YSArPSBhdmFpbDsKKwlsZW4gLT0gYXZhaWw7CisKKwl3aGlsZSAobGVuID49IHNpemVvZihyY3R4LT5idWZmZXIpKSB7CisJCW1lbWNweShyY3R4LT5idWZmZXIsIGRhdGEsIHNpemVvZihyY3R4LT5idWZmZXIpKTsKKwkJcm1kMTI4X3RyYW5zZm9ybShyY3R4LT5zdGF0ZSwgcmN0eC0+YnVmZmVyKTsKKwkJZGF0YSArPSBzaXplb2YocmN0eC0+YnVmZmVyKTsKKwkJbGVuIC09IHNpemVvZihyY3R4LT5idWZmZXIpOworCX0KKworCW1lbWNweShyY3R4LT5idWZmZXIsIGRhdGEsIGxlbik7Cit9CisKKy8qIEFkZCBwYWRkaW5nIGFuZCByZXR1cm4gdGhlIG1lc3NhZ2UgZGlnZXN0LiAqLworc3RhdGljIHZvaWQgcm1kMTI4X2ZpbmFsKHN0cnVjdCBjcnlwdG9fdGZtICp0Zm0sIHU4ICpvdXQpCit7CisJc3RydWN0IHJtZDEyOF9jdHggKnJjdHggPSBjcnlwdG9fdGZtX2N0eCh0Zm0pOworCXUzMiBpLCBpbmRleCwgcGFkbGVuOworCV9fbGU2NCBiaXRzOworCV9fbGUzMiAqZHN0ID0gKF9fbGUzMiAqKW91dDsKKwlzdGF0aWMgY29uc3QgdTggcGFkZGluZ1s2NF0gPSB7IDB4ODAsIH07CisKKwliaXRzID0gY3B1X3RvX2xlNjQocmN0eC0+Ynl0ZV9jb3VudCA8PCAzKTsKKworCS8qIFBhZCBvdXQgdG8gNTYgbW9kIDY0ICovCisJaW5kZXggPSByY3R4LT5ieXRlX2NvdW50ICYgMHgzZjsKKwlwYWRsZW4gPSAoaW5kZXggPCA1NikgPyAoNTYgLSBpbmRleCkgOiAoKDY0KzU2KSAtIGluZGV4KTsKKwlybWQxMjhfdXBkYXRlKHRmbSwgcGFkZGluZywgcGFkbGVuKTsKKworCS8qIEFwcGVuZCBsZW5ndGggKi8KKwlybWQxMjhfdXBkYXRlKHRmbSwgKGNvbnN0IHU4ICopJmJpdHMsIHNpemVvZihiaXRzKSk7CisKKwkvKiBTdG9yZSBzdGF0ZSBpbiBkaWdlc3QgKi8KKwlmb3IgKGkgPSAwOyBpIDwgNDsgaSsrKQorCQlkc3RbaV0gPSBjcHVfdG9fbGUzMnAoJnJjdHgtPnN0YXRlW2ldKTsKKworCS8qIFdpcGUgY29udGV4dCAqLworCW1lbXNldChyY3R4LCAwLCBzaXplb2YoKnJjdHgpKTsKK30KKworc3RhdGljIHN0cnVjdCBjcnlwdG9fYWxnIGFsZyA9IHsKKwkuY3JhX25hbWUJID0JInJtZDEyOCIsCisJLmNyYV9kcml2ZXJfbmFtZSA9CSJybWQxMjgiLAorCS5jcmFfZmxhZ3MJID0JQ1JZUFRPX0FMR19UWVBFX0RJR0VTVCwKKwkuY3JhX2Jsb2Nrc2l6ZQkgPQlSTUQxMjhfQkxPQ0tfU0laRSwKKwkuY3JhX2N0eHNpemUJID0Jc2l6ZW9mKHN0cnVjdCBybWQxMjhfY3R4KSwKKwkuY3JhX21vZHVsZQkgPQlUSElTX01PRFVMRSwKKwkuY3JhX2xpc3QJID0JTElTVF9IRUFEX0lOSVQoYWxnLmNyYV9saXN0KSwKKwkuY3JhX3UJCSA9CXsgLmRpZ2VzdCA9IHsKKwkuZGlhX2RpZ2VzdHNpemUJID0JUk1EMTI4X0RJR0VTVF9TSVpFLAorCS5kaWFfaW5pdAkgPQlybWQxMjhfaW5pdCwKKwkuZGlhX3VwZGF0ZQkgPQlybWQxMjhfdXBkYXRlLAorCS5kaWFfZmluYWwJID0Jcm1kMTI4X2ZpbmFsIH0gfQorfTsKKworc3RhdGljIGludCBfX2luaXQgcm1kMTI4X21vZF9pbml0KHZvaWQpCit7CisJcmV0dXJuIGNyeXB0b19yZWdpc3Rlcl9hbGcoJmFsZyk7Cit9CisKK3N0YXRpYyB2b2lkIF9fZXhpdCBybWQxMjhfbW9kX2Zpbmkodm9pZCkKK3sKKwljcnlwdG9fdW5yZWdpc3Rlcl9hbGcoJmFsZyk7Cit9CisKK21vZHVsZV9pbml0KHJtZDEyOF9tb2RfaW5pdCk7Cittb2R1bGVfZXhpdChybWQxMjhfbW9kX2ZpbmkpOworCitNT0RVTEVfTElDRU5TRSgiR1BMIik7CitNT0RVTEVfREVTQ1JJUFRJT04oIlJJUEVNRC0xMjggTWVzc2FnZSBEaWdlc3QiKTsKKworTU9EVUxFX0FMSUFTKCJybWQxMjgiKTsKZGlmZiAtLWdpdCBhL2NyeXB0by9ybWQxNjAuYyBiL2NyeXB0by9ybWQxNjAuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMDAxZWM3Ci0tLSAvZGV2L251bGwKKysrIGIvY3J5cHRvL3JtZDE2MC5jCkBAIC0wLDAgKzEsMzY5IEBACisvKgorICogQ3J5cHRvZ3JhcGhpYyBBUEkuCisgKgorICogUklQRU1ELTE2MCAtIFJBQ0UgSW50ZWdyaXR5IFByaW1pdGl2ZXMgRXZhbHVhdGlvbiBNZXNzYWdlIERpZ2VzdC4KKyAqCisgKiBCYXNlZCBvbiB0aGUgcmVmZXJlbmNlIGltcGxlbWVudGF0aW9uIGJ5IEFudG9vbiBCb3NzZWxhZXJzLCBFU0FULUNPU0lDCisgKgorICogQ29weXJpZ2h0IChjKSAyMDA4IEFkcmlhbi1LZW4gUnVlZWdzZWdnZXIgPHJ1ZWVnc2VnZ2VyIChhdCkgc3dpc3MtaXQuY2g+CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQKKyAqIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlCisgKiBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pCisgKiBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKi8KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvbW0uaD4KKyNpbmNsdWRlIDxsaW51eC9jcnlwdG8uaD4KKyNpbmNsdWRlIDxsaW51eC9jcnlwdG9oYXNoLmg+CisjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KKyNpbmNsdWRlIDxhc20vYnl0ZW9yZGVyLmg+CisKKyNpbmNsdWRlICJyaXBlbWQuaCIKKworc3RydWN0IHJtZDE2MF9jdHggeworCXU2NCBieXRlX2NvdW50OworCXUzMiBzdGF0ZVs1XTsKKwlfX2xlMzIgYnVmZmVyWzE2XTsKK307CisKKyNkZWZpbmUgSzEgIFJNRF9LMQorI2RlZmluZSBLMiAgUk1EX0syCisjZGVmaW5lIEszICBSTURfSzMKKyNkZWZpbmUgSzQgIFJNRF9LNAorI2RlZmluZSBLNSAgUk1EX0s1CisjZGVmaW5lIEtLMSBSTURfSzYKKyNkZWZpbmUgS0syIFJNRF9LNworI2RlZmluZSBLSzMgUk1EX0s4CisjZGVmaW5lIEtLNCBSTURfSzkKKyNkZWZpbmUgS0s1IFJNRF9LMQorCisjZGVmaW5lIEYxKHgsIHksIHopICh4IF4geSBeIHopCQkvKiBYT1IgKi8KKyNkZWZpbmUgRjIoeCwgeSwgeikgKHogXiAoeCAmICh5IF4geikpKQkvKiB4ID8geSA6IHogKi8KKyNkZWZpbmUgRjMoeCwgeSwgeikgKCh4IHwgfnkpIF4geikKKyNkZWZpbmUgRjQoeCwgeSwgeikgKHkgXiAoeiAmICh4IF4geSkpKQkvKiB6ID8geCA6IHkgKi8KKyNkZWZpbmUgRjUoeCwgeSwgeikgKHggXiAoeSB8IH56KSkKKworI2RlZmluZSBST1VORChhLCBiLCBjLCBkLCBlLCBmLCBrLCB4LCBzKSAgeyBcCisJKGEpICs9IGYoKGIpLCAoYyksIChkKSkgKyBsZTMyX3RvX2NwdXAoJih4KSkgKyAoayk7IFwKKwkoYSkgPSByb2wzMigoYSksIChzKSkgKyAoZSk7IFwKKwkoYykgPSByb2wzMigoYyksIDEwKTsgXAorfQorCitzdGF0aWMgdm9pZCBybWQxNjBfdHJhbnNmb3JtKHUzMiAqc3RhdGUsIGNvbnN0IF9fbGUzMiAqaW4pCit7CisJdTMyIGFhLCBiYiwgY2MsIGRkLCBlZSwgYWFhLCBiYmIsIGNjYywgZGRkLCBlZWU7CisKKwkvKiBJbml0aWFsaXplIGxlZnQgbGFuZSAqLworCWFhID0gc3RhdGVbMF07CisJYmIgPSBzdGF0ZVsxXTsKKwljYyA9IHN0YXRlWzJdOworCWRkID0gc3RhdGVbM107CisJZWUgPSBzdGF0ZVs0XTsKKworCS8qIEluaXRpYWxpemUgcmlnaHQgbGFuZSAqLworCWFhYSA9IHN0YXRlWzBdOworCWJiYiA9IHN0YXRlWzFdOworCWNjYyA9IHN0YXRlWzJdOworCWRkZCA9IHN0YXRlWzNdOworCWVlZSA9IHN0YXRlWzRdOworCisJLyogcm91bmQgMTogbGVmdCBsYW5lICovCisJUk9VTkQoYWEsIGJiLCBjYywgZGQsIGVlLCBGMSwgSzEsIGluWzBdLCAgMTEpOworCVJPVU5EKGVlLCBhYSwgYmIsIGNjLCBkZCwgRjEsIEsxLCBpblsxXSwgIDE0KTsKKwlST1VORChkZCwgZWUsIGFhLCBiYiwgY2MsIEYxLCBLMSwgaW5bMl0sICAxNSk7CisJUk9VTkQoY2MsIGRkLCBlZSwgYWEsIGJiLCBGMSwgSzEsIGluWzNdLCAgMTIpOworCVJPVU5EKGJiLCBjYywgZGQsIGVlLCBhYSwgRjEsIEsxLCBpbls0XSwgICA1KTsKKwlST1VORChhYSwgYmIsIGNjLCBkZCwgZWUsIEYxLCBLMSwgaW5bNV0sICAgOCk7CisJUk9VTkQoZWUsIGFhLCBiYiwgY2MsIGRkLCBGMSwgSzEsIGluWzZdLCAgIDcpOworCVJPVU5EKGRkLCBlZSwgYWEsIGJiLCBjYywgRjEsIEsxLCBpbls3XSwgICA5KTsKKwlST1VORChjYywgZGQsIGVlLCBhYSwgYmIsIEYxLCBLMSwgaW5bOF0sICAxMSk7CisJUk9VTkQoYmIsIGNjLCBkZCwgZWUsIGFhLCBGMSwgSzEsIGluWzldLCAgMTMpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBlZSwgRjEsIEsxLCBpblsxMF0sIDE0KTsKKwlST1VORChlZSwgYWEsIGJiLCBjYywgZGQsIEYxLCBLMSwgaW5bMTFdLCAxNSk7CisJUk9VTkQoZGQsIGVlLCBhYSwgYmIsIGNjLCBGMSwgSzEsIGluWzEyXSwgIDYpOworCVJPVU5EKGNjLCBkZCwgZWUsIGFhLCBiYiwgRjEsIEsxLCBpblsxM10sICA3KTsKKwlST1VORChiYiwgY2MsIGRkLCBlZSwgYWEsIEYxLCBLMSwgaW5bMTRdLCAgOSk7CisJUk9VTkQoYWEsIGJiLCBjYywgZGQsIGVlLCBGMSwgSzEsIGluWzE1XSwgIDgpOworCisJLyogcm91bmQgMjogbGVmdCBsYW5lIiAqLworCVJPVU5EKGVlLCBhYSwgYmIsIGNjLCBkZCwgRjIsIEsyLCBpbls3XSwgICA3KTsKKwlST1VORChkZCwgZWUsIGFhLCBiYiwgY2MsIEYyLCBLMiwgaW5bNF0sICAgNik7CisJUk9VTkQoY2MsIGRkLCBlZSwgYWEsIGJiLCBGMiwgSzIsIGluWzEzXSwgIDgpOworCVJPVU5EKGJiLCBjYywgZGQsIGVlLCBhYSwgRjIsIEsyLCBpblsxXSwgIDEzKTsKKwlST1VORChhYSwgYmIsIGNjLCBkZCwgZWUsIEYyLCBLMiwgaW5bMTBdLCAxMSk7CisJUk9VTkQoZWUsIGFhLCBiYiwgY2MsIGRkLCBGMiwgSzIsIGluWzZdLCAgIDkpOworCVJPVU5EKGRkLCBlZSwgYWEsIGJiLCBjYywgRjIsIEsyLCBpblsxNV0sICA3KTsKKwlST1VORChjYywgZGQsIGVlLCBhYSwgYmIsIEYyLCBLMiwgaW5bM10sICAxNSk7CisJUk9VTkQoYmIsIGNjLCBkZCwgZWUsIGFhLCBGMiwgSzIsIGluWzEyXSwgIDcpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBlZSwgRjIsIEsyLCBpblswXSwgIDEyKTsKKwlST1VORChlZSwgYWEsIGJiLCBjYywgZGQsIEYyLCBLMiwgaW5bOV0sICAxNSk7CisJUk9VTkQoZGQsIGVlLCBhYSwgYmIsIGNjLCBGMiwgSzIsIGluWzVdLCAgIDkpOworCVJPVU5EKGNjLCBkZCwgZWUsIGFhLCBiYiwgRjIsIEsyLCBpblsyXSwgIDExKTsKKwlST1VORChiYiwgY2MsIGRkLCBlZSwgYWEsIEYyLCBLMiwgaW5bMTRdLCAgNyk7CisJUk9VTkQoYWEsIGJiLCBjYywgZGQsIGVlLCBGMiwgSzIsIGluWzExXSwgMTMpOworCVJPVU5EKGVlLCBhYSwgYmIsIGNjLCBkZCwgRjIsIEsyLCBpbls4XSwgIDEyKTsKKworCS8qIHJvdW5kIDM6IGxlZnQgbGFuZSIgKi8KKwlST1VORChkZCwgZWUsIGFhLCBiYiwgY2MsIEYzLCBLMywgaW5bM10sICAxMSk7CisJUk9VTkQoY2MsIGRkLCBlZSwgYWEsIGJiLCBGMywgSzMsIGluWzEwXSwgMTMpOworCVJPVU5EKGJiLCBjYywgZGQsIGVlLCBhYSwgRjMsIEszLCBpblsxNF0sICA2KTsKKwlST1VORChhYSwgYmIsIGNjLCBkZCwgZWUsIEYzLCBLMywgaW5bNF0sICAgNyk7CisJUk9VTkQoZWUsIGFhLCBiYiwgY2MsIGRkLCBGMywgSzMsIGluWzldLCAgMTQpOworCVJPVU5EKGRkLCBlZSwgYWEsIGJiLCBjYywgRjMsIEszLCBpblsxNV0sICA5KTsKKwlST1VORChjYywgZGQsIGVlLCBhYSwgYmIsIEYzLCBLMywgaW5bOF0sICAxMyk7CisJUk9VTkQoYmIsIGNjLCBkZCwgZWUsIGFhLCBGMywgSzMsIGluWzFdLCAgMTUpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBlZSwgRjMsIEszLCBpblsyXSwgIDE0KTsKKwlST1VORChlZSwgYWEsIGJiLCBjYywgZGQsIEYzLCBLMywgaW5bN10sICAgOCk7CisJUk9VTkQoZGQsIGVlLCBhYSwgYmIsIGNjLCBGMywgSzMsIGluWzBdLCAgMTMpOworCVJPVU5EKGNjLCBkZCwgZWUsIGFhLCBiYiwgRjMsIEszLCBpbls2XSwgICA2KTsKKwlST1VORChiYiwgY2MsIGRkLCBlZSwgYWEsIEYzLCBLMywgaW5bMTNdLCAgNSk7CisJUk9VTkQoYWEsIGJiLCBjYywgZGQsIGVlLCBGMywgSzMsIGluWzExXSwgMTIpOworCVJPVU5EKGVlLCBhYSwgYmIsIGNjLCBkZCwgRjMsIEszLCBpbls1XSwgICA3KTsKKwlST1VORChkZCwgZWUsIGFhLCBiYiwgY2MsIEYzLCBLMywgaW5bMTJdLCAgNSk7CisKKwkvKiByb3VuZCA0OiBsZWZ0IGxhbmUiICovCisJUk9VTkQoY2MsIGRkLCBlZSwgYWEsIGJiLCBGNCwgSzQsIGluWzFdLCAgMTEpOworCVJPVU5EKGJiLCBjYywgZGQsIGVlLCBhYSwgRjQsIEs0LCBpbls5XSwgIDEyKTsKKwlST1VORChhYSwgYmIsIGNjLCBkZCwgZWUsIEY0LCBLNCwgaW5bMTFdLCAxNCk7CisJUk9VTkQoZWUsIGFhLCBiYiwgY2MsIGRkLCBGNCwgSzQsIGluWzEwXSwgMTUpOworCVJPVU5EKGRkLCBlZSwgYWEsIGJiLCBjYywgRjQsIEs0LCBpblswXSwgIDE0KTsKKwlST1VORChjYywgZGQsIGVlLCBhYSwgYmIsIEY0LCBLNCwgaW5bOF0sICAxNSk7CisJUk9VTkQoYmIsIGNjLCBkZCwgZWUsIGFhLCBGNCwgSzQsIGluWzEyXSwgIDkpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBlZSwgRjQsIEs0LCBpbls0XSwgICA4KTsKKwlST1VORChlZSwgYWEsIGJiLCBjYywgZGQsIEY0LCBLNCwgaW5bMTNdLCAgOSk7CisJUk9VTkQoZGQsIGVlLCBhYSwgYmIsIGNjLCBGNCwgSzQsIGluWzNdLCAgMTQpOworCVJPVU5EKGNjLCBkZCwgZWUsIGFhLCBiYiwgRjQsIEs0LCBpbls3XSwgICA1KTsKKwlST1VORChiYiwgY2MsIGRkLCBlZSwgYWEsIEY0LCBLNCwgaW5bMTVdLCAgNik7CisJUk9VTkQoYWEsIGJiLCBjYywgZGQsIGVlLCBGNCwgSzQsIGluWzE0XSwgIDgpOworCVJPVU5EKGVlLCBhYSwgYmIsIGNjLCBkZCwgRjQsIEs0LCBpbls1XSwgICA2KTsKKwlST1VORChkZCwgZWUsIGFhLCBiYiwgY2MsIEY0LCBLNCwgaW5bNl0sICAgNSk7CisJUk9VTkQoY2MsIGRkLCBlZSwgYWEsIGJiLCBGNCwgSzQsIGluWzJdLCAgMTIpOworCisJLyogcm91bmQgNTogbGVmdCBsYW5lIiAqLworCVJPVU5EKGJiLCBjYywgZGQsIGVlLCBhYSwgRjUsIEs1LCBpbls0XSwgICA5KTsKKwlST1VORChhYSwgYmIsIGNjLCBkZCwgZWUsIEY1LCBLNSwgaW5bMF0sICAxNSk7CisJUk9VTkQoZWUsIGFhLCBiYiwgY2MsIGRkLCBGNSwgSzUsIGluWzVdLCAgIDUpOworCVJPVU5EKGRkLCBlZSwgYWEsIGJiLCBjYywgRjUsIEs1LCBpbls5XSwgIDExKTsKKwlST1VORChjYywgZGQsIGVlLCBhYSwgYmIsIEY1LCBLNSwgaW5bN10sICAgNik7CisJUk9VTkQoYmIsIGNjLCBkZCwgZWUsIGFhLCBGNSwgSzUsIGluWzEyXSwgIDgpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBlZSwgRjUsIEs1LCBpblsyXSwgIDEzKTsKKwlST1VORChlZSwgYWEsIGJiLCBjYywgZGQsIEY1LCBLNSwgaW5bMTBdLCAxMik7CisJUk9VTkQoZGQsIGVlLCBhYSwgYmIsIGNjLCBGNSwgSzUsIGluWzE0XSwgIDUpOworCVJPVU5EKGNjLCBkZCwgZWUsIGFhLCBiYiwgRjUsIEs1LCBpblsxXSwgIDEyKTsKKwlST1VORChiYiwgY2MsIGRkLCBlZSwgYWEsIEY1LCBLNSwgaW5bM10sICAxMyk7CisJUk9VTkQoYWEsIGJiLCBjYywgZGQsIGVlLCBGNSwgSzUsIGluWzhdLCAgMTQpOworCVJPVU5EKGVlLCBhYSwgYmIsIGNjLCBkZCwgRjUsIEs1LCBpblsxMV0sIDExKTsKKwlST1VORChkZCwgZWUsIGFhLCBiYiwgY2MsIEY1LCBLNSwgaW5bNl0sICAgOCk7CisJUk9VTkQoY2MsIGRkLCBlZSwgYWEsIGJiLCBGNSwgSzUsIGluWzE1XSwgIDUpOworCVJPVU5EKGJiLCBjYywgZGQsIGVlLCBhYSwgRjUsIEs1LCBpblsxM10sICA2KTsKKworCS8qIHJvdW5kIDE6IHJpZ2h0IGxhbmUgKi8KKwlST1VORChhYWEsIGJiYiwgY2NjLCBkZGQsIGVlZSwgRjUsIEtLMSwgaW5bNV0sICAgOCk7CisJUk9VTkQoZWVlLCBhYWEsIGJiYiwgY2NjLCBkZGQsIEY1LCBLSzEsIGluWzE0XSwgIDkpOworCVJPVU5EKGRkZCwgZWVlLCBhYWEsIGJiYiwgY2NjLCBGNSwgS0sxLCBpbls3XSwgICA5KTsKKwlST1VORChjY2MsIGRkZCwgZWVlLCBhYWEsIGJiYiwgRjUsIEtLMSwgaW5bMF0sICAxMSk7CisJUk9VTkQoYmJiLCBjY2MsIGRkZCwgZWVlLCBhYWEsIEY1LCBLSzEsIGluWzldLCAgMTMpOworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgZWVlLCBGNSwgS0sxLCBpblsyXSwgIDE1KTsKKwlST1VORChlZWUsIGFhYSwgYmJiLCBjY2MsIGRkZCwgRjUsIEtLMSwgaW5bMTFdLCAxNSk7CisJUk9VTkQoZGRkLCBlZWUsIGFhYSwgYmJiLCBjY2MsIEY1LCBLSzEsIGluWzRdLCAgIDUpOworCVJPVU5EKGNjYywgZGRkLCBlZWUsIGFhYSwgYmJiLCBGNSwgS0sxLCBpblsxM10sICA3KTsKKwlST1VORChiYmIsIGNjYywgZGRkLCBlZWUsIGFhYSwgRjUsIEtLMSwgaW5bNl0sICAgNyk7CisJUk9VTkQoYWFhLCBiYmIsIGNjYywgZGRkLCBlZWUsIEY1LCBLSzEsIGluWzE1XSwgIDgpOworCVJPVU5EKGVlZSwgYWFhLCBiYmIsIGNjYywgZGRkLCBGNSwgS0sxLCBpbls4XSwgIDExKTsKKwlST1VORChkZGQsIGVlZSwgYWFhLCBiYmIsIGNjYywgRjUsIEtLMSwgaW5bMV0sICAxNCk7CisJUk9VTkQoY2NjLCBkZGQsIGVlZSwgYWFhLCBiYmIsIEY1LCBLSzEsIGluWzEwXSwgMTQpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGVlZSwgYWFhLCBGNSwgS0sxLCBpblszXSwgIDEyKTsKKwlST1VORChhYWEsIGJiYiwgY2NjLCBkZGQsIGVlZSwgRjUsIEtLMSwgaW5bMTJdLCAgNik7CisKKwkvKiByb3VuZCAyOiByaWdodCBsYW5lICovCisJUk9VTkQoZWVlLCBhYWEsIGJiYiwgY2NjLCBkZGQsIEY0LCBLSzIsIGluWzZdLCAgIDkpOworCVJPVU5EKGRkZCwgZWVlLCBhYWEsIGJiYiwgY2NjLCBGNCwgS0syLCBpblsxMV0sIDEzKTsKKwlST1VORChjY2MsIGRkZCwgZWVlLCBhYWEsIGJiYiwgRjQsIEtLMiwgaW5bM10sICAxNSk7CisJUk9VTkQoYmJiLCBjY2MsIGRkZCwgZWVlLCBhYWEsIEY0LCBLSzIsIGluWzddLCAgIDcpOworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgZWVlLCBGNCwgS0syLCBpblswXSwgIDEyKTsKKwlST1VORChlZWUsIGFhYSwgYmJiLCBjY2MsIGRkZCwgRjQsIEtLMiwgaW5bMTNdLCAgOCk7CisJUk9VTkQoZGRkLCBlZWUsIGFhYSwgYmJiLCBjY2MsIEY0LCBLSzIsIGluWzVdLCAgIDkpOworCVJPVU5EKGNjYywgZGRkLCBlZWUsIGFhYSwgYmJiLCBGNCwgS0syLCBpblsxMF0sIDExKTsKKwlST1VORChiYmIsIGNjYywgZGRkLCBlZWUsIGFhYSwgRjQsIEtLMiwgaW5bMTRdLCAgNyk7CisJUk9VTkQoYWFhLCBiYmIsIGNjYywgZGRkLCBlZWUsIEY0LCBLSzIsIGluWzE1XSwgIDcpOworCVJPVU5EKGVlZSwgYWFhLCBiYmIsIGNjYywgZGRkLCBGNCwgS0syLCBpbls4XSwgIDEyKTsKKwlST1VORChkZGQsIGVlZSwgYWFhLCBiYmIsIGNjYywgRjQsIEtLMiwgaW5bMTJdLCAgNyk7CisJUk9VTkQoY2NjLCBkZGQsIGVlZSwgYWFhLCBiYmIsIEY0LCBLSzIsIGluWzRdLCAgIDYpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGVlZSwgYWFhLCBGNCwgS0syLCBpbls5XSwgIDE1KTsKKwlST1VORChhYWEsIGJiYiwgY2NjLCBkZGQsIGVlZSwgRjQsIEtLMiwgaW5bMV0sICAxMyk7CisJUk9VTkQoZWVlLCBhYWEsIGJiYiwgY2NjLCBkZGQsIEY0LCBLSzIsIGluWzJdLCAgMTEpOworCisJLyogcm91bmQgMzogcmlnaHQgbGFuZSAqLworCVJPVU5EKGRkZCwgZWVlLCBhYWEsIGJiYiwgY2NjLCBGMywgS0szLCBpblsxNV0sICA5KTsKKwlST1VORChjY2MsIGRkZCwgZWVlLCBhYWEsIGJiYiwgRjMsIEtLMywgaW5bNV0sICAgNyk7CisJUk9VTkQoYmJiLCBjY2MsIGRkZCwgZWVlLCBhYWEsIEYzLCBLSzMsIGluWzFdLCAgMTUpOworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgZWVlLCBGMywgS0szLCBpblszXSwgIDExKTsKKwlST1VORChlZWUsIGFhYSwgYmJiLCBjY2MsIGRkZCwgRjMsIEtLMywgaW5bN10sICAgOCk7CisJUk9VTkQoZGRkLCBlZWUsIGFhYSwgYmJiLCBjY2MsIEYzLCBLSzMsIGluWzE0XSwgIDYpOworCVJPVU5EKGNjYywgZGRkLCBlZWUsIGFhYSwgYmJiLCBGMywgS0szLCBpbls2XSwgICA2KTsKKwlST1VORChiYmIsIGNjYywgZGRkLCBlZWUsIGFhYSwgRjMsIEtLMywgaW5bOV0sICAxNCk7CisJUk9VTkQoYWFhLCBiYmIsIGNjYywgZGRkLCBlZWUsIEYzLCBLSzMsIGluWzExXSwgMTIpOworCVJPVU5EKGVlZSwgYWFhLCBiYmIsIGNjYywgZGRkLCBGMywgS0szLCBpbls4XSwgIDEzKTsKKwlST1VORChkZGQsIGVlZSwgYWFhLCBiYmIsIGNjYywgRjMsIEtLMywgaW5bMTJdLCAgNSk7CisJUk9VTkQoY2NjLCBkZGQsIGVlZSwgYWFhLCBiYmIsIEYzLCBLSzMsIGluWzJdLCAgMTQpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGVlZSwgYWFhLCBGMywgS0szLCBpblsxMF0sIDEzKTsKKwlST1VORChhYWEsIGJiYiwgY2NjLCBkZGQsIGVlZSwgRjMsIEtLMywgaW5bMF0sICAxMyk7CisJUk9VTkQoZWVlLCBhYWEsIGJiYiwgY2NjLCBkZGQsIEYzLCBLSzMsIGluWzRdLCAgIDcpOworCVJPVU5EKGRkZCwgZWVlLCBhYWEsIGJiYiwgY2NjLCBGMywgS0szLCBpblsxM10sICA1KTsKKworCS8qIHJvdW5kIDQ6IHJpZ2h0IGxhbmUgKi8KKwlST1VORChjY2MsIGRkZCwgZWVlLCBhYWEsIGJiYiwgRjIsIEtLNCwgaW5bOF0sICAxNSk7CisJUk9VTkQoYmJiLCBjY2MsIGRkZCwgZWVlLCBhYWEsIEYyLCBLSzQsIGluWzZdLCAgIDUpOworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgZWVlLCBGMiwgS0s0LCBpbls0XSwgICA4KTsKKwlST1VORChlZWUsIGFhYSwgYmJiLCBjY2MsIGRkZCwgRjIsIEtLNCwgaW5bMV0sICAxMSk7CisJUk9VTkQoZGRkLCBlZWUsIGFhYSwgYmJiLCBjY2MsIEYyLCBLSzQsIGluWzNdLCAgMTQpOworCVJPVU5EKGNjYywgZGRkLCBlZWUsIGFhYSwgYmJiLCBGMiwgS0s0LCBpblsxMV0sIDE0KTsKKwlST1VORChiYmIsIGNjYywgZGRkLCBlZWUsIGFhYSwgRjIsIEtLNCwgaW5bMTVdLCAgNik7CisJUk9VTkQoYWFhLCBiYmIsIGNjYywgZGRkLCBlZWUsIEYyLCBLSzQsIGluWzBdLCAgMTQpOworCVJPVU5EKGVlZSwgYWFhLCBiYmIsIGNjYywgZGRkLCBGMiwgS0s0LCBpbls1XSwgICA2KTsKKwlST1VORChkZGQsIGVlZSwgYWFhLCBiYmIsIGNjYywgRjIsIEtLNCwgaW5bMTJdLCAgOSk7CisJUk9VTkQoY2NjLCBkZGQsIGVlZSwgYWFhLCBiYmIsIEYyLCBLSzQsIGluWzJdLCAgMTIpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGVlZSwgYWFhLCBGMiwgS0s0LCBpblsxM10sICA5KTsKKwlST1VORChhYWEsIGJiYiwgY2NjLCBkZGQsIGVlZSwgRjIsIEtLNCwgaW5bOV0sICAxMik7CisJUk9VTkQoZWVlLCBhYWEsIGJiYiwgY2NjLCBkZGQsIEYyLCBLSzQsIGluWzddLCAgIDUpOworCVJPVU5EKGRkZCwgZWVlLCBhYWEsIGJiYiwgY2NjLCBGMiwgS0s0LCBpblsxMF0sIDE1KTsKKwlST1VORChjY2MsIGRkZCwgZWVlLCBhYWEsIGJiYiwgRjIsIEtLNCwgaW5bMTRdLCAgOCk7CisKKwkvKiByb3VuZCA1OiByaWdodCBsYW5lICovCisJUk9VTkQoYmJiLCBjY2MsIGRkZCwgZWVlLCBhYWEsIEYxLCBLSzUsIGluWzEyXSwgIDgpOworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgZWVlLCBGMSwgS0s1LCBpblsxNV0sICA1KTsKKwlST1VORChlZWUsIGFhYSwgYmJiLCBjY2MsIGRkZCwgRjEsIEtLNSwgaW5bMTBdLCAxMik7CisJUk9VTkQoZGRkLCBlZWUsIGFhYSwgYmJiLCBjY2MsIEYxLCBLSzUsIGluWzRdLCAgIDkpOworCVJPVU5EKGNjYywgZGRkLCBlZWUsIGFhYSwgYmJiLCBGMSwgS0s1LCBpblsxXSwgIDEyKTsKKwlST1VORChiYmIsIGNjYywgZGRkLCBlZWUsIGFhYSwgRjEsIEtLNSwgaW5bNV0sICAgNSk7CisJUk9VTkQoYWFhLCBiYmIsIGNjYywgZGRkLCBlZWUsIEYxLCBLSzUsIGluWzhdLCAgMTQpOworCVJPVU5EKGVlZSwgYWFhLCBiYmIsIGNjYywgZGRkLCBGMSwgS0s1LCBpbls3XSwgICA2KTsKKwlST1VORChkZGQsIGVlZSwgYWFhLCBiYmIsIGNjYywgRjEsIEtLNSwgaW5bNl0sICAgOCk7CisJUk9VTkQoY2NjLCBkZGQsIGVlZSwgYWFhLCBiYmIsIEYxLCBLSzUsIGluWzJdLCAgMTMpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGVlZSwgYWFhLCBGMSwgS0s1LCBpblsxM10sICA2KTsKKwlST1VORChhYWEsIGJiYiwgY2NjLCBkZGQsIGVlZSwgRjEsIEtLNSwgaW5bMTRdLCAgNSk7CisJUk9VTkQoZWVlLCBhYWEsIGJiYiwgY2NjLCBkZGQsIEYxLCBLSzUsIGluWzBdLCAgMTUpOworCVJPVU5EKGRkZCwgZWVlLCBhYWEsIGJiYiwgY2NjLCBGMSwgS0s1LCBpblszXSwgIDEzKTsKKwlST1VORChjY2MsIGRkZCwgZWVlLCBhYWEsIGJiYiwgRjEsIEtLNSwgaW5bOV0sICAxMSk7CisJUk9VTkQoYmJiLCBjY2MsIGRkZCwgZWVlLCBhYWEsIEYxLCBLSzUsIGluWzExXSwgMTEpOworCisJLyogY29tYmluZSByZXN1bHRzICovCisJZGRkICs9IGNjICsgc3RhdGVbMV07CQkvKiBmaW5hbCByZXN1bHQgZm9yIHN0YXRlWzBdICovCisJc3RhdGVbMV0gPSBzdGF0ZVsyXSArIGRkICsgZWVlOworCXN0YXRlWzJdID0gc3RhdGVbM10gKyBlZSArIGFhYTsKKwlzdGF0ZVszXSA9IHN0YXRlWzRdICsgYWEgKyBiYmI7CisJc3RhdGVbNF0gPSBzdGF0ZVswXSArIGJiICsgY2NjOworCXN0YXRlWzBdID0gZGRkOworCisJcmV0dXJuOworfQorCitzdGF0aWMgdm9pZCBybWQxNjBfaW5pdChzdHJ1Y3QgY3J5cHRvX3RmbSAqdGZtKQoreworCXN0cnVjdCBybWQxNjBfY3R4ICpyY3R4ID0gY3J5cHRvX3RmbV9jdHgodGZtKTsKKworCXJjdHgtPmJ5dGVfY291bnQgPSAwOworCisJcmN0eC0+c3RhdGVbMF0gPSBSTURfSDA7CisJcmN0eC0+c3RhdGVbMV0gPSBSTURfSDE7CisJcmN0eC0+c3RhdGVbMl0gPSBSTURfSDI7CisJcmN0eC0+c3RhdGVbM10gPSBSTURfSDM7CisJcmN0eC0+c3RhdGVbNF0gPSBSTURfSDQ7CisKKwltZW1zZXQocmN0eC0+YnVmZmVyLCAwLCBzaXplb2YocmN0eC0+YnVmZmVyKSk7Cit9CisKK3N0YXRpYyB2b2lkIHJtZDE2MF91cGRhdGUoc3RydWN0IGNyeXB0b190Zm0gKnRmbSwgY29uc3QgdTggKmRhdGEsCisJCQkgIHVuc2lnbmVkIGludCBsZW4pCit7CisJc3RydWN0IHJtZDE2MF9jdHggKnJjdHggPSBjcnlwdG9fdGZtX2N0eCh0Zm0pOworCWNvbnN0IHUzMiBhdmFpbCA9IHNpemVvZihyY3R4LT5idWZmZXIpIC0gKHJjdHgtPmJ5dGVfY291bnQgJiAweDNmKTsKKworCXJjdHgtPmJ5dGVfY291bnQgKz0gbGVuOworCisJLyogRW5vdWdoIHNwYWNlIGluIGJ1ZmZlcj8gSWYgc28gY29weSBhbmQgd2UncmUgZG9uZSAqLworCWlmIChhdmFpbCA+IGxlbikgeworCQltZW1jcHkoKGNoYXIgKilyY3R4LT5idWZmZXIgKyAoc2l6ZW9mKHJjdHgtPmJ1ZmZlcikgLSBhdmFpbCksCisJCSAgICAgICBkYXRhLCBsZW4pOworCQlyZXR1cm47CisJfQorCisJbWVtY3B5KChjaGFyICopcmN0eC0+YnVmZmVyICsgKHNpemVvZihyY3R4LT5idWZmZXIpIC0gYXZhaWwpLAorCSAgICAgICBkYXRhLCBhdmFpbCk7CisKKwlybWQxNjBfdHJhbnNmb3JtKHJjdHgtPnN0YXRlLCByY3R4LT5idWZmZXIpOworCWRhdGEgKz0gYXZhaWw7CisJbGVuIC09IGF2YWlsOworCisJd2hpbGUgKGxlbiA+PSBzaXplb2YocmN0eC0+YnVmZmVyKSkgeworCQltZW1jcHkocmN0eC0+YnVmZmVyLCBkYXRhLCBzaXplb2YocmN0eC0+YnVmZmVyKSk7CisJCXJtZDE2MF90cmFuc2Zvcm0ocmN0eC0+c3RhdGUsIHJjdHgtPmJ1ZmZlcik7CisJCWRhdGEgKz0gc2l6ZW9mKHJjdHgtPmJ1ZmZlcik7CisJCWxlbiAtPSBzaXplb2YocmN0eC0+YnVmZmVyKTsKKwl9CisKKwltZW1jcHkocmN0eC0+YnVmZmVyLCBkYXRhLCBsZW4pOworfQorCisvKiBBZGQgcGFkZGluZyBhbmQgcmV0dXJuIHRoZSBtZXNzYWdlIGRpZ2VzdC4gKi8KK3N0YXRpYyB2b2lkIHJtZDE2MF9maW5hbChzdHJ1Y3QgY3J5cHRvX3RmbSAqdGZtLCB1OCAqb3V0KQoreworCXN0cnVjdCBybWQxNjBfY3R4ICpyY3R4ID0gY3J5cHRvX3RmbV9jdHgodGZtKTsKKwl1MzIgaSwgaW5kZXgsIHBhZGxlbjsKKwlfX2xlNjQgYml0czsKKwlfX2xlMzIgKmRzdCA9IChfX2xlMzIgKilvdXQ7CisJc3RhdGljIGNvbnN0IHU4IHBhZGRpbmdbNjRdID0geyAweDgwLCB9OworCisJYml0cyA9IGNwdV90b19sZTY0KHJjdHgtPmJ5dGVfY291bnQgPDwgMyk7CisKKwkvKiBQYWQgb3V0IHRvIDU2IG1vZCA2NCAqLworCWluZGV4ID0gcmN0eC0+Ynl0ZV9jb3VudCAmIDB4M2Y7CisJcGFkbGVuID0gKGluZGV4IDwgNTYpID8gKDU2IC0gaW5kZXgpIDogKCg2NCs1NikgLSBpbmRleCk7CisJcm1kMTYwX3VwZGF0ZSh0Zm0sIHBhZGRpbmcsIHBhZGxlbik7CisKKwkvKiBBcHBlbmQgbGVuZ3RoICovCisJcm1kMTYwX3VwZGF0ZSh0Zm0sIChjb25zdCB1OCAqKSZiaXRzLCBzaXplb2YoYml0cykpOworCisJLyogU3RvcmUgc3RhdGUgaW4gZGlnZXN0ICovCisJZm9yIChpID0gMDsgaSA8IDU7IGkrKykKKwkJZHN0W2ldID0gY3B1X3RvX2xlMzJwKCZyY3R4LT5zdGF0ZVtpXSk7CisKKwkvKiBXaXBlIGNvbnRleHQgKi8KKwltZW1zZXQocmN0eCwgMCwgc2l6ZW9mKCpyY3R4KSk7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgY3J5cHRvX2FsZyBhbGcgPSB7CisJLmNyYV9uYW1lCSA9CSJybWQxNjAiLAorCS5jcmFfZHJpdmVyX25hbWUgPQkicm1kMTYwIiwKKwkuY3JhX2ZsYWdzCSA9CUNSWVBUT19BTEdfVFlQRV9ESUdFU1QsCisJLmNyYV9ibG9ja3NpemUJID0JUk1EMTYwX0JMT0NLX1NJWkUsCisJLmNyYV9jdHhzaXplCSA9CXNpemVvZihzdHJ1Y3Qgcm1kMTYwX2N0eCksCisJLmNyYV9tb2R1bGUJID0JVEhJU19NT0RVTEUsCisJLmNyYV9saXN0CSA9CUxJU1RfSEVBRF9JTklUKGFsZy5jcmFfbGlzdCksCisJLmNyYV91CQkgPQl7IC5kaWdlc3QgPSB7CisJLmRpYV9kaWdlc3RzaXplCSA9CVJNRDE2MF9ESUdFU1RfU0laRSwKKwkuZGlhX2luaXQJID0Jcm1kMTYwX2luaXQsCisJLmRpYV91cGRhdGUJID0Jcm1kMTYwX3VwZGF0ZSwKKwkuZGlhX2ZpbmFsCSA9CXJtZDE2MF9maW5hbCB9IH0KK307CisKK3N0YXRpYyBpbnQgX19pbml0IHJtZDE2MF9tb2RfaW5pdCh2b2lkKQoreworCXJldHVybiBjcnlwdG9fcmVnaXN0ZXJfYWxnKCZhbGcpOworfQorCitzdGF0aWMgdm9pZCBfX2V4aXQgcm1kMTYwX21vZF9maW5pKHZvaWQpCit7CisJY3J5cHRvX3VucmVnaXN0ZXJfYWxnKCZhbGcpOworfQorCittb2R1bGVfaW5pdChybWQxNjBfbW9kX2luaXQpOworbW9kdWxlX2V4aXQocm1kMTYwX21vZF9maW5pKTsKKworTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOworTU9EVUxFX0RFU0NSSVBUSU9OKCJSSVBFTUQtMTYwIE1lc3NhZ2UgRGlnZXN0Iik7CisKK01PRFVMRV9BTElBUygicm1kMTYwIik7CmRpZmYgLS1naXQgYS9jcnlwdG8vcm1kMjU2LmMgYi9jcnlwdG8vcm1kMjU2LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTNkZTViNAotLS0gL2Rldi9udWxsCisrKyBiL2NyeXB0by9ybWQyNTYuYwpAQCAtMCwwICsxLDM0NCBAQAorLyoKKyAqIENyeXB0b2dyYXBoaWMgQVBJLgorICoKKyAqIFJJUEVNRC0yNTYgLSBSQUNFIEludGVncml0eSBQcmltaXRpdmVzIEV2YWx1YXRpb24gTWVzc2FnZSBEaWdlc3QuCisgKgorICogQmFzZWQgb24gdGhlIHJlZmVyZW5jZSBpbXBsZW1lbnRhdGlvbiBieSBBbnRvb24gQm9zc2VsYWVycywgRVNBVC1DT1NJQworICoKKyAqIENvcHlyaWdodCAoYykgMjAwOCBBZHJpYW4tS2VuIFJ1ZWVnc2VnZ2VyIDxydWVlZ3NlZ2dlciAoYXQpIHN3aXNzLWl0LmNoPgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0CisgKiB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZQorICogU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKQorICogYW55IGxhdGVyIHZlcnNpb24uCisgKgorICovCisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L21tLmg+CisjaW5jbHVkZSA8bGludXgvY3J5cHRvLmg+CisjaW5jbHVkZSA8bGludXgvY3J5cHRvaGFzaC5oPgorI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CisjaW5jbHVkZSA8YXNtL2J5dGVvcmRlci5oPgorCisjaW5jbHVkZSAicmlwZW1kLmgiCisKK3N0cnVjdCBybWQyNTZfY3R4IHsKKwl1NjQgYnl0ZV9jb3VudDsKKwl1MzIgc3RhdGVbOF07CisJX19sZTMyIGJ1ZmZlclsxNl07Cit9OworCisjZGVmaW5lIEsxICBSTURfSzEKKyNkZWZpbmUgSzIgIFJNRF9LMgorI2RlZmluZSBLMyAgUk1EX0szCisjZGVmaW5lIEs0ICBSTURfSzQKKyNkZWZpbmUgS0sxIFJNRF9LNgorI2RlZmluZSBLSzIgUk1EX0s3CisjZGVmaW5lIEtLMyBSTURfSzgKKyNkZWZpbmUgS0s0IFJNRF9LMQorCisjZGVmaW5lIEYxKHgsIHksIHopICh4IF4geSBeIHopCQkvKiBYT1IgKi8KKyNkZWZpbmUgRjIoeCwgeSwgeikgKHogXiAoeCAmICh5IF4geikpKQkvKiB4ID8geSA6IHogKi8KKyNkZWZpbmUgRjMoeCwgeSwgeikgKCh4IHwgfnkpIF4geikKKyNkZWZpbmUgRjQoeCwgeSwgeikgKHkgXiAoeiAmICh4IF4geSkpKQkvKiB6ID8geCA6IHkgKi8KKworI2RlZmluZSBST1VORChhLCBiLCBjLCBkLCBmLCBrLCB4LCBzKSAgeyBcCisJKGEpICs9IGYoKGIpLCAoYyksIChkKSkgKyBsZTMyX3RvX2NwdXAoJih4KSkgKyAoayk7IFwKKwkoYSkgPSByb2wzMigoYSksIChzKSk7IFwKK30KKworc3RhdGljIHZvaWQgcm1kMjU2X3RyYW5zZm9ybSh1MzIgKnN0YXRlLCBjb25zdCBfX2xlMzIgKmluKQoreworCXUzMiBhYSwgYmIsIGNjLCBkZCwgYWFhLCBiYmIsIGNjYywgZGRkLCB0bXA7CisKKwkvKiBJbml0aWFsaXplIGxlZnQgbGFuZSAqLworCWFhID0gc3RhdGVbMF07CisJYmIgPSBzdGF0ZVsxXTsKKwljYyA9IHN0YXRlWzJdOworCWRkID0gc3RhdGVbM107CisKKwkvKiBJbml0aWFsaXplIHJpZ2h0IGxhbmUgKi8KKwlhYWEgPSBzdGF0ZVs0XTsKKwliYmIgPSBzdGF0ZVs1XTsKKwljY2MgPSBzdGF0ZVs2XTsKKwlkZGQgPSBzdGF0ZVs3XTsKKworCS8qIHJvdW5kIDE6IGxlZnQgbGFuZSAqLworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBGMSwgSzEsIGluWzBdLCAgMTEpOworCVJPVU5EKGRkLCBhYSwgYmIsIGNjLCBGMSwgSzEsIGluWzFdLCAgMTQpOworCVJPVU5EKGNjLCBkZCwgYWEsIGJiLCBGMSwgSzEsIGluWzJdLCAgMTUpOworCVJPVU5EKGJiLCBjYywgZGQsIGFhLCBGMSwgSzEsIGluWzNdLCAgMTIpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBGMSwgSzEsIGluWzRdLCAgIDUpOworCVJPVU5EKGRkLCBhYSwgYmIsIGNjLCBGMSwgSzEsIGluWzVdLCAgIDgpOworCVJPVU5EKGNjLCBkZCwgYWEsIGJiLCBGMSwgSzEsIGluWzZdLCAgIDcpOworCVJPVU5EKGJiLCBjYywgZGQsIGFhLCBGMSwgSzEsIGluWzddLCAgIDkpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBGMSwgSzEsIGluWzhdLCAgMTEpOworCVJPVU5EKGRkLCBhYSwgYmIsIGNjLCBGMSwgSzEsIGluWzldLCAgMTMpOworCVJPVU5EKGNjLCBkZCwgYWEsIGJiLCBGMSwgSzEsIGluWzEwXSwgMTQpOworCVJPVU5EKGJiLCBjYywgZGQsIGFhLCBGMSwgSzEsIGluWzExXSwgMTUpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBGMSwgSzEsIGluWzEyXSwgIDYpOworCVJPVU5EKGRkLCBhYSwgYmIsIGNjLCBGMSwgSzEsIGluWzEzXSwgIDcpOworCVJPVU5EKGNjLCBkZCwgYWEsIGJiLCBGMSwgSzEsIGluWzE0XSwgIDkpOworCVJPVU5EKGJiLCBjYywgZGQsIGFhLCBGMSwgSzEsIGluWzE1XSwgIDgpOworCisJLyogcm91bmQgMTogcmlnaHQgbGFuZSAqLworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgRjQsIEtLMSwgaW5bNV0sICAgOCk7CisJUk9VTkQoZGRkLCBhYWEsIGJiYiwgY2NjLCBGNCwgS0sxLCBpblsxNF0sICA5KTsKKwlST1VORChjY2MsIGRkZCwgYWFhLCBiYmIsIEY0LCBLSzEsIGluWzddLCAgIDkpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGFhYSwgRjQsIEtLMSwgaW5bMF0sICAxMSk7CisJUk9VTkQoYWFhLCBiYmIsIGNjYywgZGRkLCBGNCwgS0sxLCBpbls5XSwgIDEzKTsKKwlST1VORChkZGQsIGFhYSwgYmJiLCBjY2MsIEY0LCBLSzEsIGluWzJdLCAgMTUpOworCVJPVU5EKGNjYywgZGRkLCBhYWEsIGJiYiwgRjQsIEtLMSwgaW5bMTFdLCAxNSk7CisJUk9VTkQoYmJiLCBjY2MsIGRkZCwgYWFhLCBGNCwgS0sxLCBpbls0XSwgICA1KTsKKwlST1VORChhYWEsIGJiYiwgY2NjLCBkZGQsIEY0LCBLSzEsIGluWzEzXSwgIDcpOworCVJPVU5EKGRkZCwgYWFhLCBiYmIsIGNjYywgRjQsIEtLMSwgaW5bNl0sICAgNyk7CisJUk9VTkQoY2NjLCBkZGQsIGFhYSwgYmJiLCBGNCwgS0sxLCBpblsxNV0sICA4KTsKKwlST1VORChiYmIsIGNjYywgZGRkLCBhYWEsIEY0LCBLSzEsIGluWzhdLCAgMTEpOworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgRjQsIEtLMSwgaW5bMV0sICAxNCk7CisJUk9VTkQoZGRkLCBhYWEsIGJiYiwgY2NjLCBGNCwgS0sxLCBpblsxMF0sIDE0KTsKKwlST1VORChjY2MsIGRkZCwgYWFhLCBiYmIsIEY0LCBLSzEsIGluWzNdLCAgMTIpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGFhYSwgRjQsIEtLMSwgaW5bMTJdLCAgNik7CisKKwkvKiBTd2FwIGNvbnRlbnRzIG9mICJhIiByZWdpc3RlcnMgKi8KKwl0bXAgPSBhYTsgYWEgPSBhYWE7IGFhYSA9IHRtcDsKKworCS8qIHJvdW5kIDI6IGxlZnQgbGFuZSAqLworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBGMiwgSzIsIGluWzddLCAgIDcpOworCVJPVU5EKGRkLCBhYSwgYmIsIGNjLCBGMiwgSzIsIGluWzRdLCAgIDYpOworCVJPVU5EKGNjLCBkZCwgYWEsIGJiLCBGMiwgSzIsIGluWzEzXSwgIDgpOworCVJPVU5EKGJiLCBjYywgZGQsIGFhLCBGMiwgSzIsIGluWzFdLCAgMTMpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBGMiwgSzIsIGluWzEwXSwgMTEpOworCVJPVU5EKGRkLCBhYSwgYmIsIGNjLCBGMiwgSzIsIGluWzZdLCAgIDkpOworCVJPVU5EKGNjLCBkZCwgYWEsIGJiLCBGMiwgSzIsIGluWzE1XSwgIDcpOworCVJPVU5EKGJiLCBjYywgZGQsIGFhLCBGMiwgSzIsIGluWzNdLCAgMTUpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBGMiwgSzIsIGluWzEyXSwgIDcpOworCVJPVU5EKGRkLCBhYSwgYmIsIGNjLCBGMiwgSzIsIGluWzBdLCAgMTIpOworCVJPVU5EKGNjLCBkZCwgYWEsIGJiLCBGMiwgSzIsIGluWzldLCAgMTUpOworCVJPVU5EKGJiLCBjYywgZGQsIGFhLCBGMiwgSzIsIGluWzVdLCAgIDkpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBGMiwgSzIsIGluWzJdLCAgMTEpOworCVJPVU5EKGRkLCBhYSwgYmIsIGNjLCBGMiwgSzIsIGluWzE0XSwgIDcpOworCVJPVU5EKGNjLCBkZCwgYWEsIGJiLCBGMiwgSzIsIGluWzExXSwgMTMpOworCVJPVU5EKGJiLCBjYywgZGQsIGFhLCBGMiwgSzIsIGluWzhdLCAgMTIpOworCisJLyogcm91bmQgMjogcmlnaHQgbGFuZSAqLworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgRjMsIEtLMiwgaW5bNl0sICAgOSk7CisJUk9VTkQoZGRkLCBhYWEsIGJiYiwgY2NjLCBGMywgS0syLCBpblsxMV0sIDEzKTsKKwlST1VORChjY2MsIGRkZCwgYWFhLCBiYmIsIEYzLCBLSzIsIGluWzNdLCAgMTUpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGFhYSwgRjMsIEtLMiwgaW5bN10sICAgNyk7CisJUk9VTkQoYWFhLCBiYmIsIGNjYywgZGRkLCBGMywgS0syLCBpblswXSwgIDEyKTsKKwlST1VORChkZGQsIGFhYSwgYmJiLCBjY2MsIEYzLCBLSzIsIGluWzEzXSwgIDgpOworCVJPVU5EKGNjYywgZGRkLCBhYWEsIGJiYiwgRjMsIEtLMiwgaW5bNV0sICAgOSk7CisJUk9VTkQoYmJiLCBjY2MsIGRkZCwgYWFhLCBGMywgS0syLCBpblsxMF0sIDExKTsKKwlST1VORChhYWEsIGJiYiwgY2NjLCBkZGQsIEYzLCBLSzIsIGluWzE0XSwgIDcpOworCVJPVU5EKGRkZCwgYWFhLCBiYmIsIGNjYywgRjMsIEtLMiwgaW5bMTVdLCAgNyk7CisJUk9VTkQoY2NjLCBkZGQsIGFhYSwgYmJiLCBGMywgS0syLCBpbls4XSwgIDEyKTsKKwlST1VORChiYmIsIGNjYywgZGRkLCBhYWEsIEYzLCBLSzIsIGluWzEyXSwgIDcpOworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgRjMsIEtLMiwgaW5bNF0sICAgNik7CisJUk9VTkQoZGRkLCBhYWEsIGJiYiwgY2NjLCBGMywgS0syLCBpbls5XSwgIDE1KTsKKwlST1VORChjY2MsIGRkZCwgYWFhLCBiYmIsIEYzLCBLSzIsIGluWzFdLCAgMTMpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGFhYSwgRjMsIEtLMiwgaW5bMl0sICAxMSk7CisKKwkvKiBTd2FwIGNvbnRlbnRzIG9mICJiIiByZWdpc3RlcnMgKi8KKwl0bXAgPSBiYjsgYmIgPSBiYmI7IGJiYiA9IHRtcDsKKworCS8qIHJvdW5kIDM6IGxlZnQgbGFuZSAqLworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBGMywgSzMsIGluWzNdLCAgMTEpOworCVJPVU5EKGRkLCBhYSwgYmIsIGNjLCBGMywgSzMsIGluWzEwXSwgMTMpOworCVJPVU5EKGNjLCBkZCwgYWEsIGJiLCBGMywgSzMsIGluWzE0XSwgIDYpOworCVJPVU5EKGJiLCBjYywgZGQsIGFhLCBGMywgSzMsIGluWzRdLCAgIDcpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBGMywgSzMsIGluWzldLCAgMTQpOworCVJPVU5EKGRkLCBhYSwgYmIsIGNjLCBGMywgSzMsIGluWzE1XSwgIDkpOworCVJPVU5EKGNjLCBkZCwgYWEsIGJiLCBGMywgSzMsIGluWzhdLCAgMTMpOworCVJPVU5EKGJiLCBjYywgZGQsIGFhLCBGMywgSzMsIGluWzFdLCAgMTUpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBGMywgSzMsIGluWzJdLCAgMTQpOworCVJPVU5EKGRkLCBhYSwgYmIsIGNjLCBGMywgSzMsIGluWzddLCAgIDgpOworCVJPVU5EKGNjLCBkZCwgYWEsIGJiLCBGMywgSzMsIGluWzBdLCAgMTMpOworCVJPVU5EKGJiLCBjYywgZGQsIGFhLCBGMywgSzMsIGluWzZdLCAgIDYpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBGMywgSzMsIGluWzEzXSwgIDUpOworCVJPVU5EKGRkLCBhYSwgYmIsIGNjLCBGMywgSzMsIGluWzExXSwgMTIpOworCVJPVU5EKGNjLCBkZCwgYWEsIGJiLCBGMywgSzMsIGluWzVdLCAgIDcpOworCVJPVU5EKGJiLCBjYywgZGQsIGFhLCBGMywgSzMsIGluWzEyXSwgIDUpOworCisJLyogcm91bmQgMzogcmlnaHQgbGFuZSAqLworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgRjIsIEtLMywgaW5bMTVdLCAgOSk7CisJUk9VTkQoZGRkLCBhYWEsIGJiYiwgY2NjLCBGMiwgS0szLCBpbls1XSwgICA3KTsKKwlST1VORChjY2MsIGRkZCwgYWFhLCBiYmIsIEYyLCBLSzMsIGluWzFdLCAgMTUpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGFhYSwgRjIsIEtLMywgaW5bM10sICAxMSk7CisJUk9VTkQoYWFhLCBiYmIsIGNjYywgZGRkLCBGMiwgS0szLCBpbls3XSwgICA4KTsKKwlST1VORChkZGQsIGFhYSwgYmJiLCBjY2MsIEYyLCBLSzMsIGluWzE0XSwgIDYpOworCVJPVU5EKGNjYywgZGRkLCBhYWEsIGJiYiwgRjIsIEtLMywgaW5bNl0sICAgNik7CisJUk9VTkQoYmJiLCBjY2MsIGRkZCwgYWFhLCBGMiwgS0szLCBpbls5XSwgIDE0KTsKKwlST1VORChhYWEsIGJiYiwgY2NjLCBkZGQsIEYyLCBLSzMsIGluWzExXSwgMTIpOworCVJPVU5EKGRkZCwgYWFhLCBiYmIsIGNjYywgRjIsIEtLMywgaW5bOF0sICAxMyk7CisJUk9VTkQoY2NjLCBkZGQsIGFhYSwgYmJiLCBGMiwgS0szLCBpblsxMl0sICA1KTsKKwlST1VORChiYmIsIGNjYywgZGRkLCBhYWEsIEYyLCBLSzMsIGluWzJdLCAgMTQpOworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgRjIsIEtLMywgaW5bMTBdLCAxMyk7CisJUk9VTkQoZGRkLCBhYWEsIGJiYiwgY2NjLCBGMiwgS0szLCBpblswXSwgIDEzKTsKKwlST1VORChjY2MsIGRkZCwgYWFhLCBiYmIsIEYyLCBLSzMsIGluWzRdLCAgIDcpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGFhYSwgRjIsIEtLMywgaW5bMTNdLCAgNSk7CisKKwkvKiBTd2FwIGNvbnRlbnRzIG9mICJjIiByZWdpc3RlcnMgKi8KKwl0bXAgPSBjYzsgY2MgPSBjY2M7IGNjYyA9IHRtcDsKKworCS8qIHJvdW5kIDQ6IGxlZnQgbGFuZSAqLworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBGNCwgSzQsIGluWzFdLCAgMTEpOworCVJPVU5EKGRkLCBhYSwgYmIsIGNjLCBGNCwgSzQsIGluWzldLCAgMTIpOworCVJPVU5EKGNjLCBkZCwgYWEsIGJiLCBGNCwgSzQsIGluWzExXSwgMTQpOworCVJPVU5EKGJiLCBjYywgZGQsIGFhLCBGNCwgSzQsIGluWzEwXSwgMTUpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBGNCwgSzQsIGluWzBdLCAgMTQpOworCVJPVU5EKGRkLCBhYSwgYmIsIGNjLCBGNCwgSzQsIGluWzhdLCAgMTUpOworCVJPVU5EKGNjLCBkZCwgYWEsIGJiLCBGNCwgSzQsIGluWzEyXSwgIDkpOworCVJPVU5EKGJiLCBjYywgZGQsIGFhLCBGNCwgSzQsIGluWzRdLCAgIDgpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBGNCwgSzQsIGluWzEzXSwgIDkpOworCVJPVU5EKGRkLCBhYSwgYmIsIGNjLCBGNCwgSzQsIGluWzNdLCAgMTQpOworCVJPVU5EKGNjLCBkZCwgYWEsIGJiLCBGNCwgSzQsIGluWzddLCAgIDUpOworCVJPVU5EKGJiLCBjYywgZGQsIGFhLCBGNCwgSzQsIGluWzE1XSwgIDYpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBGNCwgSzQsIGluWzE0XSwgIDgpOworCVJPVU5EKGRkLCBhYSwgYmIsIGNjLCBGNCwgSzQsIGluWzVdLCAgIDYpOworCVJPVU5EKGNjLCBkZCwgYWEsIGJiLCBGNCwgSzQsIGluWzZdLCAgIDUpOworCVJPVU5EKGJiLCBjYywgZGQsIGFhLCBGNCwgSzQsIGluWzJdLCAgMTIpOworCisJLyogcm91bmQgNDogcmlnaHQgbGFuZSAqLworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgRjEsIEtLNCwgaW5bOF0sICAxNSk7CisJUk9VTkQoZGRkLCBhYWEsIGJiYiwgY2NjLCBGMSwgS0s0LCBpbls2XSwgICA1KTsKKwlST1VORChjY2MsIGRkZCwgYWFhLCBiYmIsIEYxLCBLSzQsIGluWzRdLCAgIDgpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGFhYSwgRjEsIEtLNCwgaW5bMV0sICAxMSk7CisJUk9VTkQoYWFhLCBiYmIsIGNjYywgZGRkLCBGMSwgS0s0LCBpblszXSwgIDE0KTsKKwlST1VORChkZGQsIGFhYSwgYmJiLCBjY2MsIEYxLCBLSzQsIGluWzExXSwgMTQpOworCVJPVU5EKGNjYywgZGRkLCBhYWEsIGJiYiwgRjEsIEtLNCwgaW5bMTVdLCAgNik7CisJUk9VTkQoYmJiLCBjY2MsIGRkZCwgYWFhLCBGMSwgS0s0LCBpblswXSwgIDE0KTsKKwlST1VORChhYWEsIGJiYiwgY2NjLCBkZGQsIEYxLCBLSzQsIGluWzVdLCAgIDYpOworCVJPVU5EKGRkZCwgYWFhLCBiYmIsIGNjYywgRjEsIEtLNCwgaW5bMTJdLCAgOSk7CisJUk9VTkQoY2NjLCBkZGQsIGFhYSwgYmJiLCBGMSwgS0s0LCBpblsyXSwgIDEyKTsKKwlST1VORChiYmIsIGNjYywgZGRkLCBhYWEsIEYxLCBLSzQsIGluWzEzXSwgIDkpOworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgRjEsIEtLNCwgaW5bOV0sICAxMik7CisJUk9VTkQoZGRkLCBhYWEsIGJiYiwgY2NjLCBGMSwgS0s0LCBpbls3XSwgICA1KTsKKwlST1VORChjY2MsIGRkZCwgYWFhLCBiYmIsIEYxLCBLSzQsIGluWzEwXSwgMTUpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGFhYSwgRjEsIEtLNCwgaW5bMTRdLCAgOCk7CisKKwkvKiBTd2FwIGNvbnRlbnRzIG9mICJkIiByZWdpc3RlcnMgKi8KKwl0bXAgPSBkZDsgZGQgPSBkZGQ7IGRkZCA9IHRtcDsKKworCS8qIGNvbWJpbmUgcmVzdWx0cyAqLworCXN0YXRlWzBdICs9IGFhOworCXN0YXRlWzFdICs9IGJiOworCXN0YXRlWzJdICs9IGNjOworCXN0YXRlWzNdICs9IGRkOworCXN0YXRlWzRdICs9IGFhYTsKKwlzdGF0ZVs1XSArPSBiYmI7CisJc3RhdGVbNl0gKz0gY2NjOworCXN0YXRlWzddICs9IGRkZDsKKworCXJldHVybjsKK30KKworc3RhdGljIHZvaWQgcm1kMjU2X2luaXQoc3RydWN0IGNyeXB0b190Zm0gKnRmbSkKK3sKKwlzdHJ1Y3Qgcm1kMjU2X2N0eCAqcmN0eCA9IGNyeXB0b190Zm1fY3R4KHRmbSk7CisKKwlyY3R4LT5ieXRlX2NvdW50ID0gMDsKKworCXJjdHgtPnN0YXRlWzBdID0gUk1EX0gwOworCXJjdHgtPnN0YXRlWzFdID0gUk1EX0gxOworCXJjdHgtPnN0YXRlWzJdID0gUk1EX0gyOworCXJjdHgtPnN0YXRlWzNdID0gUk1EX0gzOworCXJjdHgtPnN0YXRlWzRdID0gUk1EX0g1OworCXJjdHgtPnN0YXRlWzVdID0gUk1EX0g2OworCXJjdHgtPnN0YXRlWzZdID0gUk1EX0g3OworCXJjdHgtPnN0YXRlWzddID0gUk1EX0g4OworCisJbWVtc2V0KHJjdHgtPmJ1ZmZlciwgMCwgc2l6ZW9mKHJjdHgtPmJ1ZmZlcikpOworfQorCitzdGF0aWMgdm9pZCBybWQyNTZfdXBkYXRlKHN0cnVjdCBjcnlwdG9fdGZtICp0Zm0sIGNvbnN0IHU4ICpkYXRhLAorCQkJICB1bnNpZ25lZCBpbnQgbGVuKQoreworCXN0cnVjdCBybWQyNTZfY3R4ICpyY3R4ID0gY3J5cHRvX3RmbV9jdHgodGZtKTsKKwljb25zdCB1MzIgYXZhaWwgPSBzaXplb2YocmN0eC0+YnVmZmVyKSAtIChyY3R4LT5ieXRlX2NvdW50ICYgMHgzZik7CisKKwlyY3R4LT5ieXRlX2NvdW50ICs9IGxlbjsKKworCS8qIEVub3VnaCBzcGFjZSBpbiBidWZmZXI/IElmIHNvIGNvcHkgYW5kIHdlJ3JlIGRvbmUgKi8KKwlpZiAoYXZhaWwgPiBsZW4pIHsKKwkJbWVtY3B5KChjaGFyICopcmN0eC0+YnVmZmVyICsgKHNpemVvZihyY3R4LT5idWZmZXIpIC0gYXZhaWwpLAorCQkgICAgICAgZGF0YSwgbGVuKTsKKwkJcmV0dXJuOworCX0KKworCW1lbWNweSgoY2hhciAqKXJjdHgtPmJ1ZmZlciArIChzaXplb2YocmN0eC0+YnVmZmVyKSAtIGF2YWlsKSwKKwkgICAgICAgZGF0YSwgYXZhaWwpOworCisJcm1kMjU2X3RyYW5zZm9ybShyY3R4LT5zdGF0ZSwgcmN0eC0+YnVmZmVyKTsKKwlkYXRhICs9IGF2YWlsOworCWxlbiAtPSBhdmFpbDsKKworCXdoaWxlIChsZW4gPj0gc2l6ZW9mKHJjdHgtPmJ1ZmZlcikpIHsKKwkJbWVtY3B5KHJjdHgtPmJ1ZmZlciwgZGF0YSwgc2l6ZW9mKHJjdHgtPmJ1ZmZlcikpOworCQlybWQyNTZfdHJhbnNmb3JtKHJjdHgtPnN0YXRlLCByY3R4LT5idWZmZXIpOworCQlkYXRhICs9IHNpemVvZihyY3R4LT5idWZmZXIpOworCQlsZW4gLT0gc2l6ZW9mKHJjdHgtPmJ1ZmZlcik7CisJfQorCisJbWVtY3B5KHJjdHgtPmJ1ZmZlciwgZGF0YSwgbGVuKTsKK30KKworLyogQWRkIHBhZGRpbmcgYW5kIHJldHVybiB0aGUgbWVzc2FnZSBkaWdlc3QuICovCitzdGF0aWMgdm9pZCBybWQyNTZfZmluYWwoc3RydWN0IGNyeXB0b190Zm0gKnRmbSwgdTggKm91dCkKK3sKKwlzdHJ1Y3Qgcm1kMjU2X2N0eCAqcmN0eCA9IGNyeXB0b190Zm1fY3R4KHRmbSk7CisJdTMyIGksIGluZGV4LCBwYWRsZW47CisJX19sZTY0IGJpdHM7CisJX19sZTMyICpkc3QgPSAoX19sZTMyICopb3V0OworCXN0YXRpYyBjb25zdCB1OCBwYWRkaW5nWzY0XSA9IHsgMHg4MCwgfTsKKworCWJpdHMgPSBjcHVfdG9fbGU2NChyY3R4LT5ieXRlX2NvdW50IDw8IDMpOworCisJLyogUGFkIG91dCB0byA1NiBtb2QgNjQgKi8KKwlpbmRleCA9IHJjdHgtPmJ5dGVfY291bnQgJiAweDNmOworCXBhZGxlbiA9IChpbmRleCA8IDU2KSA/ICg1NiAtIGluZGV4KSA6ICgoNjQrNTYpIC0gaW5kZXgpOworCXJtZDI1Nl91cGRhdGUodGZtLCBwYWRkaW5nLCBwYWRsZW4pOworCisJLyogQXBwZW5kIGxlbmd0aCAqLworCXJtZDI1Nl91cGRhdGUodGZtLCAoY29uc3QgdTggKikmYml0cywgc2l6ZW9mKGJpdHMpKTsKKworCS8qIFN0b3JlIHN0YXRlIGluIGRpZ2VzdCAqLworCWZvciAoaSA9IDA7IGkgPCA4OyBpKyspCisJCWRzdFtpXSA9IGNwdV90b19sZTMycCgmcmN0eC0+c3RhdGVbaV0pOworCisJLyogV2lwZSBjb250ZXh0ICovCisJbWVtc2V0KHJjdHgsIDAsIHNpemVvZigqcmN0eCkpOworfQorCitzdGF0aWMgc3RydWN0IGNyeXB0b19hbGcgYWxnID0geworCS5jcmFfbmFtZQkgPQkicm1kMjU2IiwKKwkuY3JhX2RyaXZlcl9uYW1lID0JInJtZDI1NiIsCisJLmNyYV9mbGFncwkgPQlDUllQVE9fQUxHX1RZUEVfRElHRVNULAorCS5jcmFfYmxvY2tzaXplCSA9CVJNRDI1Nl9CTE9DS19TSVpFLAorCS5jcmFfY3R4c2l6ZQkgPQlzaXplb2Yoc3RydWN0IHJtZDI1Nl9jdHgpLAorCS5jcmFfbW9kdWxlCSA9CVRISVNfTU9EVUxFLAorCS5jcmFfbGlzdAkgPQlMSVNUX0hFQURfSU5JVChhbGcuY3JhX2xpc3QpLAorCS5jcmFfdQkJID0JeyAuZGlnZXN0ID0geworCS5kaWFfZGlnZXN0c2l6ZQkgPQlSTUQyNTZfRElHRVNUX1NJWkUsCisJLmRpYV9pbml0CSA9CXJtZDI1Nl9pbml0LAorCS5kaWFfdXBkYXRlCSA9CXJtZDI1Nl91cGRhdGUsCisJLmRpYV9maW5hbAkgPQlybWQyNTZfZmluYWwgfSB9Cit9OworCitzdGF0aWMgaW50IF9faW5pdCBybWQyNTZfbW9kX2luaXQodm9pZCkKK3sKKwlyZXR1cm4gY3J5cHRvX3JlZ2lzdGVyX2FsZygmYWxnKTsKK30KKworc3RhdGljIHZvaWQgX19leGl0IHJtZDI1Nl9tb2RfZmluaSh2b2lkKQoreworCWNyeXB0b191bnJlZ2lzdGVyX2FsZygmYWxnKTsKK30KKworbW9kdWxlX2luaXQocm1kMjU2X21vZF9pbml0KTsKK21vZHVsZV9leGl0KHJtZDI1Nl9tb2RfZmluaSk7CisKK01PRFVMRV9MSUNFTlNFKCJHUEwiKTsKK01PRFVMRV9ERVNDUklQVElPTigiUklQRU1ELTI1NiBNZXNzYWdlIERpZ2VzdCIpOworCitNT0RVTEVfQUxJQVMoInJtZDI1NiIpOwpkaWZmIC0tZ2l0IGEvY3J5cHRvL3JtZDMyMC5jIGIvY3J5cHRvL3JtZDMyMC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIxNDNkNjYKLS0tIC9kZXYvbnVsbAorKysgYi9jcnlwdG8vcm1kMzIwLmMKQEAgLTAsMCArMSwzOTMgQEAKKy8qCisgKiBDcnlwdG9ncmFwaGljIEFQSS4KKyAqCisgKiBSSVBFTUQtMzIwIC0gUkFDRSBJbnRlZ3JpdHkgUHJpbWl0aXZlcyBFdmFsdWF0aW9uIE1lc3NhZ2UgRGlnZXN0LgorICoKKyAqIEJhc2VkIG9uIHRoZSByZWZlcmVuY2UgaW1wbGVtZW50YXRpb24gYnkgQW50b29uIEJvc3NlbGFlcnMsIEVTQVQtQ09TSUMKKyAqCisgKiBDb3B5cmlnaHQgKGMpIDIwMDggQWRyaWFuLUtlbiBSdWVlZ3NlZ2dlciA8cnVlZWdzZWdnZXIgKGF0KSBzd2lzcy1pdC5jaD4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdAorICogdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUKKyAqIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikKKyAqIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqLworI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9tbS5oPgorI2luY2x1ZGUgPGxpbnV4L2NyeXB0by5oPgorI2luY2x1ZGUgPGxpbnV4L2NyeXB0b2hhc2guaD4KKyNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgorI2luY2x1ZGUgPGFzbS9ieXRlb3JkZXIuaD4KKworI2luY2x1ZGUgInJpcGVtZC5oIgorCitzdHJ1Y3Qgcm1kMzIwX2N0eCB7CisJdTY0IGJ5dGVfY291bnQ7CisJdTMyIHN0YXRlWzEwXTsKKwlfX2xlMzIgYnVmZmVyWzE2XTsKK307CisKKyNkZWZpbmUgSzEgIFJNRF9LMQorI2RlZmluZSBLMiAgUk1EX0syCisjZGVmaW5lIEszICBSTURfSzMKKyNkZWZpbmUgSzQgIFJNRF9LNAorI2RlZmluZSBLNSAgUk1EX0s1CisjZGVmaW5lIEtLMSBSTURfSzYKKyNkZWZpbmUgS0syIFJNRF9LNworI2RlZmluZSBLSzMgUk1EX0s4CisjZGVmaW5lIEtLNCBSTURfSzkKKyNkZWZpbmUgS0s1IFJNRF9LMQorCisjZGVmaW5lIEYxKHgsIHksIHopICh4IF4geSBeIHopCQkvKiBYT1IgKi8KKyNkZWZpbmUgRjIoeCwgeSwgeikgKHogXiAoeCAmICh5IF4geikpKQkvKiB4ID8geSA6IHogKi8KKyNkZWZpbmUgRjMoeCwgeSwgeikgKCh4IHwgfnkpIF4geikKKyNkZWZpbmUgRjQoeCwgeSwgeikgKHkgXiAoeiAmICh4IF4geSkpKQkvKiB6ID8geCA6IHkgKi8KKyNkZWZpbmUgRjUoeCwgeSwgeikgKHggXiAoeSB8IH56KSkKKworI2RlZmluZSBST1VORChhLCBiLCBjLCBkLCBlLCBmLCBrLCB4LCBzKSAgeyBcCisJKGEpICs9IGYoKGIpLCAoYyksIChkKSkgKyBsZTMyX3RvX2NwdXAoJih4KSkgKyAoayk7IFwKKwkoYSkgPSByb2wzMigoYSksIChzKSkgKyAoZSk7IFwKKwkoYykgPSByb2wzMigoYyksIDEwKTsgXAorfQorCitzdGF0aWMgdm9pZCBybWQzMjBfdHJhbnNmb3JtKHUzMiAqc3RhdGUsIGNvbnN0IF9fbGUzMiAqaW4pCit7CisJdTMyIGFhLCBiYiwgY2MsIGRkLCBlZSwgYWFhLCBiYmIsIGNjYywgZGRkLCBlZWUsIHRtcDsKKworCS8qIEluaXRpYWxpemUgbGVmdCBsYW5lICovCisJYWEgPSBzdGF0ZVswXTsKKwliYiA9IHN0YXRlWzFdOworCWNjID0gc3RhdGVbMl07CisJZGQgPSBzdGF0ZVszXTsKKwllZSA9IHN0YXRlWzRdOworCisJLyogSW5pdGlhbGl6ZSByaWdodCBsYW5lICovCisJYWFhID0gc3RhdGVbNV07CisJYmJiID0gc3RhdGVbNl07CisJY2NjID0gc3RhdGVbN107CisJZGRkID0gc3RhdGVbOF07CisJZWVlID0gc3RhdGVbOV07CisKKwkvKiByb3VuZCAxOiBsZWZ0IGxhbmUgKi8KKwlST1VORChhYSwgYmIsIGNjLCBkZCwgZWUsIEYxLCBLMSwgaW5bMF0sICAxMSk7CisJUk9VTkQoZWUsIGFhLCBiYiwgY2MsIGRkLCBGMSwgSzEsIGluWzFdLCAgMTQpOworCVJPVU5EKGRkLCBlZSwgYWEsIGJiLCBjYywgRjEsIEsxLCBpblsyXSwgIDE1KTsKKwlST1VORChjYywgZGQsIGVlLCBhYSwgYmIsIEYxLCBLMSwgaW5bM10sICAxMik7CisJUk9VTkQoYmIsIGNjLCBkZCwgZWUsIGFhLCBGMSwgSzEsIGluWzRdLCAgIDUpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBlZSwgRjEsIEsxLCBpbls1XSwgICA4KTsKKwlST1VORChlZSwgYWEsIGJiLCBjYywgZGQsIEYxLCBLMSwgaW5bNl0sICAgNyk7CisJUk9VTkQoZGQsIGVlLCBhYSwgYmIsIGNjLCBGMSwgSzEsIGluWzddLCAgIDkpOworCVJPVU5EKGNjLCBkZCwgZWUsIGFhLCBiYiwgRjEsIEsxLCBpbls4XSwgIDExKTsKKwlST1VORChiYiwgY2MsIGRkLCBlZSwgYWEsIEYxLCBLMSwgaW5bOV0sICAxMyk7CisJUk9VTkQoYWEsIGJiLCBjYywgZGQsIGVlLCBGMSwgSzEsIGluWzEwXSwgMTQpOworCVJPVU5EKGVlLCBhYSwgYmIsIGNjLCBkZCwgRjEsIEsxLCBpblsxMV0sIDE1KTsKKwlST1VORChkZCwgZWUsIGFhLCBiYiwgY2MsIEYxLCBLMSwgaW5bMTJdLCAgNik7CisJUk9VTkQoY2MsIGRkLCBlZSwgYWEsIGJiLCBGMSwgSzEsIGluWzEzXSwgIDcpOworCVJPVU5EKGJiLCBjYywgZGQsIGVlLCBhYSwgRjEsIEsxLCBpblsxNF0sICA5KTsKKwlST1VORChhYSwgYmIsIGNjLCBkZCwgZWUsIEYxLCBLMSwgaW5bMTVdLCAgOCk7CisKKwkvKiByb3VuZCAxOiByaWdodCBsYW5lICovCisJUk9VTkQoYWFhLCBiYmIsIGNjYywgZGRkLCBlZWUsIEY1LCBLSzEsIGluWzVdLCAgIDgpOworCVJPVU5EKGVlZSwgYWFhLCBiYmIsIGNjYywgZGRkLCBGNSwgS0sxLCBpblsxNF0sICA5KTsKKwlST1VORChkZGQsIGVlZSwgYWFhLCBiYmIsIGNjYywgRjUsIEtLMSwgaW5bN10sICAgOSk7CisJUk9VTkQoY2NjLCBkZGQsIGVlZSwgYWFhLCBiYmIsIEY1LCBLSzEsIGluWzBdLCAgMTEpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGVlZSwgYWFhLCBGNSwgS0sxLCBpbls5XSwgIDEzKTsKKwlST1VORChhYWEsIGJiYiwgY2NjLCBkZGQsIGVlZSwgRjUsIEtLMSwgaW5bMl0sICAxNSk7CisJUk9VTkQoZWVlLCBhYWEsIGJiYiwgY2NjLCBkZGQsIEY1LCBLSzEsIGluWzExXSwgMTUpOworCVJPVU5EKGRkZCwgZWVlLCBhYWEsIGJiYiwgY2NjLCBGNSwgS0sxLCBpbls0XSwgICA1KTsKKwlST1VORChjY2MsIGRkZCwgZWVlLCBhYWEsIGJiYiwgRjUsIEtLMSwgaW5bMTNdLCAgNyk7CisJUk9VTkQoYmJiLCBjY2MsIGRkZCwgZWVlLCBhYWEsIEY1LCBLSzEsIGluWzZdLCAgIDcpOworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgZWVlLCBGNSwgS0sxLCBpblsxNV0sICA4KTsKKwlST1VORChlZWUsIGFhYSwgYmJiLCBjY2MsIGRkZCwgRjUsIEtLMSwgaW5bOF0sICAxMSk7CisJUk9VTkQoZGRkLCBlZWUsIGFhYSwgYmJiLCBjY2MsIEY1LCBLSzEsIGluWzFdLCAgMTQpOworCVJPVU5EKGNjYywgZGRkLCBlZWUsIGFhYSwgYmJiLCBGNSwgS0sxLCBpblsxMF0sIDE0KTsKKwlST1VORChiYmIsIGNjYywgZGRkLCBlZWUsIGFhYSwgRjUsIEtLMSwgaW5bM10sICAxMik7CisJUk9VTkQoYWFhLCBiYmIsIGNjYywgZGRkLCBlZWUsIEY1LCBLSzEsIGluWzEyXSwgIDYpOworCisJLyogU3dhcCBjb250ZW50cyBvZiAiYSIgcmVnaXN0ZXJzICovCisJdG1wID0gYWE7IGFhID0gYWFhOyBhYWEgPSB0bXA7CisKKwkvKiByb3VuZCAyOiBsZWZ0IGxhbmUiICovCisJUk9VTkQoZWUsIGFhLCBiYiwgY2MsIGRkLCBGMiwgSzIsIGluWzddLCAgIDcpOworCVJPVU5EKGRkLCBlZSwgYWEsIGJiLCBjYywgRjIsIEsyLCBpbls0XSwgICA2KTsKKwlST1VORChjYywgZGQsIGVlLCBhYSwgYmIsIEYyLCBLMiwgaW5bMTNdLCAgOCk7CisJUk9VTkQoYmIsIGNjLCBkZCwgZWUsIGFhLCBGMiwgSzIsIGluWzFdLCAgMTMpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBlZSwgRjIsIEsyLCBpblsxMF0sIDExKTsKKwlST1VORChlZSwgYWEsIGJiLCBjYywgZGQsIEYyLCBLMiwgaW5bNl0sICAgOSk7CisJUk9VTkQoZGQsIGVlLCBhYSwgYmIsIGNjLCBGMiwgSzIsIGluWzE1XSwgIDcpOworCVJPVU5EKGNjLCBkZCwgZWUsIGFhLCBiYiwgRjIsIEsyLCBpblszXSwgIDE1KTsKKwlST1VORChiYiwgY2MsIGRkLCBlZSwgYWEsIEYyLCBLMiwgaW5bMTJdLCAgNyk7CisJUk9VTkQoYWEsIGJiLCBjYywgZGQsIGVlLCBGMiwgSzIsIGluWzBdLCAgMTIpOworCVJPVU5EKGVlLCBhYSwgYmIsIGNjLCBkZCwgRjIsIEsyLCBpbls5XSwgIDE1KTsKKwlST1VORChkZCwgZWUsIGFhLCBiYiwgY2MsIEYyLCBLMiwgaW5bNV0sICAgOSk7CisJUk9VTkQoY2MsIGRkLCBlZSwgYWEsIGJiLCBGMiwgSzIsIGluWzJdLCAgMTEpOworCVJPVU5EKGJiLCBjYywgZGQsIGVlLCBhYSwgRjIsIEsyLCBpblsxNF0sICA3KTsKKwlST1VORChhYSwgYmIsIGNjLCBkZCwgZWUsIEYyLCBLMiwgaW5bMTFdLCAxMyk7CisJUk9VTkQoZWUsIGFhLCBiYiwgY2MsIGRkLCBGMiwgSzIsIGluWzhdLCAgMTIpOworCisJLyogcm91bmQgMjogcmlnaHQgbGFuZSAqLworCVJPVU5EKGVlZSwgYWFhLCBiYmIsIGNjYywgZGRkLCBGNCwgS0syLCBpbls2XSwgICA5KTsKKwlST1VORChkZGQsIGVlZSwgYWFhLCBiYmIsIGNjYywgRjQsIEtLMiwgaW5bMTFdLCAxMyk7CisJUk9VTkQoY2NjLCBkZGQsIGVlZSwgYWFhLCBiYmIsIEY0LCBLSzIsIGluWzNdLCAgMTUpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGVlZSwgYWFhLCBGNCwgS0syLCBpbls3XSwgICA3KTsKKwlST1VORChhYWEsIGJiYiwgY2NjLCBkZGQsIGVlZSwgRjQsIEtLMiwgaW5bMF0sICAxMik7CisJUk9VTkQoZWVlLCBhYWEsIGJiYiwgY2NjLCBkZGQsIEY0LCBLSzIsIGluWzEzXSwgIDgpOworCVJPVU5EKGRkZCwgZWVlLCBhYWEsIGJiYiwgY2NjLCBGNCwgS0syLCBpbls1XSwgICA5KTsKKwlST1VORChjY2MsIGRkZCwgZWVlLCBhYWEsIGJiYiwgRjQsIEtLMiwgaW5bMTBdLCAxMSk7CisJUk9VTkQoYmJiLCBjY2MsIGRkZCwgZWVlLCBhYWEsIEY0LCBLSzIsIGluWzE0XSwgIDcpOworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgZWVlLCBGNCwgS0syLCBpblsxNV0sICA3KTsKKwlST1VORChlZWUsIGFhYSwgYmJiLCBjY2MsIGRkZCwgRjQsIEtLMiwgaW5bOF0sICAxMik7CisJUk9VTkQoZGRkLCBlZWUsIGFhYSwgYmJiLCBjY2MsIEY0LCBLSzIsIGluWzEyXSwgIDcpOworCVJPVU5EKGNjYywgZGRkLCBlZWUsIGFhYSwgYmJiLCBGNCwgS0syLCBpbls0XSwgICA2KTsKKwlST1VORChiYmIsIGNjYywgZGRkLCBlZWUsIGFhYSwgRjQsIEtLMiwgaW5bOV0sICAxNSk7CisJUk9VTkQoYWFhLCBiYmIsIGNjYywgZGRkLCBlZWUsIEY0LCBLSzIsIGluWzFdLCAgMTMpOworCVJPVU5EKGVlZSwgYWFhLCBiYmIsIGNjYywgZGRkLCBGNCwgS0syLCBpblsyXSwgIDExKTsKKworCS8qIFN3YXAgY29udGVudHMgb2YgImIiIHJlZ2lzdGVycyAqLworCXRtcCA9IGJiOyBiYiA9IGJiYjsgYmJiID0gdG1wOworCisJLyogcm91bmQgMzogbGVmdCBsYW5lIiAqLworCVJPVU5EKGRkLCBlZSwgYWEsIGJiLCBjYywgRjMsIEszLCBpblszXSwgIDExKTsKKwlST1VORChjYywgZGQsIGVlLCBhYSwgYmIsIEYzLCBLMywgaW5bMTBdLCAxMyk7CisJUk9VTkQoYmIsIGNjLCBkZCwgZWUsIGFhLCBGMywgSzMsIGluWzE0XSwgIDYpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBlZSwgRjMsIEszLCBpbls0XSwgICA3KTsKKwlST1VORChlZSwgYWEsIGJiLCBjYywgZGQsIEYzLCBLMywgaW5bOV0sICAxNCk7CisJUk9VTkQoZGQsIGVlLCBhYSwgYmIsIGNjLCBGMywgSzMsIGluWzE1XSwgIDkpOworCVJPVU5EKGNjLCBkZCwgZWUsIGFhLCBiYiwgRjMsIEszLCBpbls4XSwgIDEzKTsKKwlST1VORChiYiwgY2MsIGRkLCBlZSwgYWEsIEYzLCBLMywgaW5bMV0sICAxNSk7CisJUk9VTkQoYWEsIGJiLCBjYywgZGQsIGVlLCBGMywgSzMsIGluWzJdLCAgMTQpOworCVJPVU5EKGVlLCBhYSwgYmIsIGNjLCBkZCwgRjMsIEszLCBpbls3XSwgICA4KTsKKwlST1VORChkZCwgZWUsIGFhLCBiYiwgY2MsIEYzLCBLMywgaW5bMF0sICAxMyk7CisJUk9VTkQoY2MsIGRkLCBlZSwgYWEsIGJiLCBGMywgSzMsIGluWzZdLCAgIDYpOworCVJPVU5EKGJiLCBjYywgZGQsIGVlLCBhYSwgRjMsIEszLCBpblsxM10sICA1KTsKKwlST1VORChhYSwgYmIsIGNjLCBkZCwgZWUsIEYzLCBLMywgaW5bMTFdLCAxMik7CisJUk9VTkQoZWUsIGFhLCBiYiwgY2MsIGRkLCBGMywgSzMsIGluWzVdLCAgIDcpOworCVJPVU5EKGRkLCBlZSwgYWEsIGJiLCBjYywgRjMsIEszLCBpblsxMl0sICA1KTsKKworCS8qIHJvdW5kIDM6IHJpZ2h0IGxhbmUgKi8KKwlST1VORChkZGQsIGVlZSwgYWFhLCBiYmIsIGNjYywgRjMsIEtLMywgaW5bMTVdLCAgOSk7CisJUk9VTkQoY2NjLCBkZGQsIGVlZSwgYWFhLCBiYmIsIEYzLCBLSzMsIGluWzVdLCAgIDcpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGVlZSwgYWFhLCBGMywgS0szLCBpblsxXSwgIDE1KTsKKwlST1VORChhYWEsIGJiYiwgY2NjLCBkZGQsIGVlZSwgRjMsIEtLMywgaW5bM10sICAxMSk7CisJUk9VTkQoZWVlLCBhYWEsIGJiYiwgY2NjLCBkZGQsIEYzLCBLSzMsIGluWzddLCAgIDgpOworCVJPVU5EKGRkZCwgZWVlLCBhYWEsIGJiYiwgY2NjLCBGMywgS0szLCBpblsxNF0sICA2KTsKKwlST1VORChjY2MsIGRkZCwgZWVlLCBhYWEsIGJiYiwgRjMsIEtLMywgaW5bNl0sICAgNik7CisJUk9VTkQoYmJiLCBjY2MsIGRkZCwgZWVlLCBhYWEsIEYzLCBLSzMsIGluWzldLCAgMTQpOworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgZWVlLCBGMywgS0szLCBpblsxMV0sIDEyKTsKKwlST1VORChlZWUsIGFhYSwgYmJiLCBjY2MsIGRkZCwgRjMsIEtLMywgaW5bOF0sICAxMyk7CisJUk9VTkQoZGRkLCBlZWUsIGFhYSwgYmJiLCBjY2MsIEYzLCBLSzMsIGluWzEyXSwgIDUpOworCVJPVU5EKGNjYywgZGRkLCBlZWUsIGFhYSwgYmJiLCBGMywgS0szLCBpblsyXSwgIDE0KTsKKwlST1VORChiYmIsIGNjYywgZGRkLCBlZWUsIGFhYSwgRjMsIEtLMywgaW5bMTBdLCAxMyk7CisJUk9VTkQoYWFhLCBiYmIsIGNjYywgZGRkLCBlZWUsIEYzLCBLSzMsIGluWzBdLCAgMTMpOworCVJPVU5EKGVlZSwgYWFhLCBiYmIsIGNjYywgZGRkLCBGMywgS0szLCBpbls0XSwgICA3KTsKKwlST1VORChkZGQsIGVlZSwgYWFhLCBiYmIsIGNjYywgRjMsIEtLMywgaW5bMTNdLCAgNSk7CisKKwkvKiBTd2FwIGNvbnRlbnRzIG9mICJjIiByZWdpc3RlcnMgKi8KKwl0bXAgPSBjYzsgY2MgPSBjY2M7IGNjYyA9IHRtcDsKKworCS8qIHJvdW5kIDQ6IGxlZnQgbGFuZSIgKi8KKwlST1VORChjYywgZGQsIGVlLCBhYSwgYmIsIEY0LCBLNCwgaW5bMV0sICAxMSk7CisJUk9VTkQoYmIsIGNjLCBkZCwgZWUsIGFhLCBGNCwgSzQsIGluWzldLCAgMTIpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBlZSwgRjQsIEs0LCBpblsxMV0sIDE0KTsKKwlST1VORChlZSwgYWEsIGJiLCBjYywgZGQsIEY0LCBLNCwgaW5bMTBdLCAxNSk7CisJUk9VTkQoZGQsIGVlLCBhYSwgYmIsIGNjLCBGNCwgSzQsIGluWzBdLCAgMTQpOworCVJPVU5EKGNjLCBkZCwgZWUsIGFhLCBiYiwgRjQsIEs0LCBpbls4XSwgIDE1KTsKKwlST1VORChiYiwgY2MsIGRkLCBlZSwgYWEsIEY0LCBLNCwgaW5bMTJdLCAgOSk7CisJUk9VTkQoYWEsIGJiLCBjYywgZGQsIGVlLCBGNCwgSzQsIGluWzRdLCAgIDgpOworCVJPVU5EKGVlLCBhYSwgYmIsIGNjLCBkZCwgRjQsIEs0LCBpblsxM10sICA5KTsKKwlST1VORChkZCwgZWUsIGFhLCBiYiwgY2MsIEY0LCBLNCwgaW5bM10sICAxNCk7CisJUk9VTkQoY2MsIGRkLCBlZSwgYWEsIGJiLCBGNCwgSzQsIGluWzddLCAgIDUpOworCVJPVU5EKGJiLCBjYywgZGQsIGVlLCBhYSwgRjQsIEs0LCBpblsxNV0sICA2KTsKKwlST1VORChhYSwgYmIsIGNjLCBkZCwgZWUsIEY0LCBLNCwgaW5bMTRdLCAgOCk7CisJUk9VTkQoZWUsIGFhLCBiYiwgY2MsIGRkLCBGNCwgSzQsIGluWzVdLCAgIDYpOworCVJPVU5EKGRkLCBlZSwgYWEsIGJiLCBjYywgRjQsIEs0LCBpbls2XSwgICA1KTsKKwlST1VORChjYywgZGQsIGVlLCBhYSwgYmIsIEY0LCBLNCwgaW5bMl0sICAxMik7CisKKwkvKiByb3VuZCA0OiByaWdodCBsYW5lICovCisJUk9VTkQoY2NjLCBkZGQsIGVlZSwgYWFhLCBiYmIsIEYyLCBLSzQsIGluWzhdLCAgMTUpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGVlZSwgYWFhLCBGMiwgS0s0LCBpbls2XSwgICA1KTsKKwlST1VORChhYWEsIGJiYiwgY2NjLCBkZGQsIGVlZSwgRjIsIEtLNCwgaW5bNF0sICAgOCk7CisJUk9VTkQoZWVlLCBhYWEsIGJiYiwgY2NjLCBkZGQsIEYyLCBLSzQsIGluWzFdLCAgMTEpOworCVJPVU5EKGRkZCwgZWVlLCBhYWEsIGJiYiwgY2NjLCBGMiwgS0s0LCBpblszXSwgIDE0KTsKKwlST1VORChjY2MsIGRkZCwgZWVlLCBhYWEsIGJiYiwgRjIsIEtLNCwgaW5bMTFdLCAxNCk7CisJUk9VTkQoYmJiLCBjY2MsIGRkZCwgZWVlLCBhYWEsIEYyLCBLSzQsIGluWzE1XSwgIDYpOworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgZWVlLCBGMiwgS0s0LCBpblswXSwgIDE0KTsKKwlST1VORChlZWUsIGFhYSwgYmJiLCBjY2MsIGRkZCwgRjIsIEtLNCwgaW5bNV0sICAgNik7CisJUk9VTkQoZGRkLCBlZWUsIGFhYSwgYmJiLCBjY2MsIEYyLCBLSzQsIGluWzEyXSwgIDkpOworCVJPVU5EKGNjYywgZGRkLCBlZWUsIGFhYSwgYmJiLCBGMiwgS0s0LCBpblsyXSwgIDEyKTsKKwlST1VORChiYmIsIGNjYywgZGRkLCBlZWUsIGFhYSwgRjIsIEtLNCwgaW5bMTNdLCAgOSk7CisJUk9VTkQoYWFhLCBiYmIsIGNjYywgZGRkLCBlZWUsIEYyLCBLSzQsIGluWzldLCAgMTIpOworCVJPVU5EKGVlZSwgYWFhLCBiYmIsIGNjYywgZGRkLCBGMiwgS0s0LCBpbls3XSwgICA1KTsKKwlST1VORChkZGQsIGVlZSwgYWFhLCBiYmIsIGNjYywgRjIsIEtLNCwgaW5bMTBdLCAxNSk7CisJUk9VTkQoY2NjLCBkZGQsIGVlZSwgYWFhLCBiYmIsIEYyLCBLSzQsIGluWzE0XSwgIDgpOworCisJLyogU3dhcCBjb250ZW50cyBvZiAiZCIgcmVnaXN0ZXJzICovCisJdG1wID0gZGQ7IGRkID0gZGRkOyBkZGQgPSB0bXA7CisKKwkvKiByb3VuZCA1OiBsZWZ0IGxhbmUiICovCisJUk9VTkQoYmIsIGNjLCBkZCwgZWUsIGFhLCBGNSwgSzUsIGluWzRdLCAgIDkpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBlZSwgRjUsIEs1LCBpblswXSwgIDE1KTsKKwlST1VORChlZSwgYWEsIGJiLCBjYywgZGQsIEY1LCBLNSwgaW5bNV0sICAgNSk7CisJUk9VTkQoZGQsIGVlLCBhYSwgYmIsIGNjLCBGNSwgSzUsIGluWzldLCAgMTEpOworCVJPVU5EKGNjLCBkZCwgZWUsIGFhLCBiYiwgRjUsIEs1LCBpbls3XSwgICA2KTsKKwlST1VORChiYiwgY2MsIGRkLCBlZSwgYWEsIEY1LCBLNSwgaW5bMTJdLCAgOCk7CisJUk9VTkQoYWEsIGJiLCBjYywgZGQsIGVlLCBGNSwgSzUsIGluWzJdLCAgMTMpOworCVJPVU5EKGVlLCBhYSwgYmIsIGNjLCBkZCwgRjUsIEs1LCBpblsxMF0sIDEyKTsKKwlST1VORChkZCwgZWUsIGFhLCBiYiwgY2MsIEY1LCBLNSwgaW5bMTRdLCAgNSk7CisJUk9VTkQoY2MsIGRkLCBlZSwgYWEsIGJiLCBGNSwgSzUsIGluWzFdLCAgMTIpOworCVJPVU5EKGJiLCBjYywgZGQsIGVlLCBhYSwgRjUsIEs1LCBpblszXSwgIDEzKTsKKwlST1VORChhYSwgYmIsIGNjLCBkZCwgZWUsIEY1LCBLNSwgaW5bOF0sICAxNCk7CisJUk9VTkQoZWUsIGFhLCBiYiwgY2MsIGRkLCBGNSwgSzUsIGluWzExXSwgMTEpOworCVJPVU5EKGRkLCBlZSwgYWEsIGJiLCBjYywgRjUsIEs1LCBpbls2XSwgICA4KTsKKwlST1VORChjYywgZGQsIGVlLCBhYSwgYmIsIEY1LCBLNSwgaW5bMTVdLCAgNSk7CisJUk9VTkQoYmIsIGNjLCBkZCwgZWUsIGFhLCBGNSwgSzUsIGluWzEzXSwgIDYpOworCisJLyogcm91bmQgNTogcmlnaHQgbGFuZSAqLworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGVlZSwgYWFhLCBGMSwgS0s1LCBpblsxMl0sICA4KTsKKwlST1VORChhYWEsIGJiYiwgY2NjLCBkZGQsIGVlZSwgRjEsIEtLNSwgaW5bMTVdLCAgNSk7CisJUk9VTkQoZWVlLCBhYWEsIGJiYiwgY2NjLCBkZGQsIEYxLCBLSzUsIGluWzEwXSwgMTIpOworCVJPVU5EKGRkZCwgZWVlLCBhYWEsIGJiYiwgY2NjLCBGMSwgS0s1LCBpbls0XSwgICA5KTsKKwlST1VORChjY2MsIGRkZCwgZWVlLCBhYWEsIGJiYiwgRjEsIEtLNSwgaW5bMV0sICAxMik7CisJUk9VTkQoYmJiLCBjY2MsIGRkZCwgZWVlLCBhYWEsIEYxLCBLSzUsIGluWzVdLCAgIDUpOworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgZWVlLCBGMSwgS0s1LCBpbls4XSwgIDE0KTsKKwlST1VORChlZWUsIGFhYSwgYmJiLCBjY2MsIGRkZCwgRjEsIEtLNSwgaW5bN10sICAgNik7CisJUk9VTkQoZGRkLCBlZWUsIGFhYSwgYmJiLCBjY2MsIEYxLCBLSzUsIGluWzZdLCAgIDgpOworCVJPVU5EKGNjYywgZGRkLCBlZWUsIGFhYSwgYmJiLCBGMSwgS0s1LCBpblsyXSwgIDEzKTsKKwlST1VORChiYmIsIGNjYywgZGRkLCBlZWUsIGFhYSwgRjEsIEtLNSwgaW5bMTNdLCAgNik7CisJUk9VTkQoYWFhLCBiYmIsIGNjYywgZGRkLCBlZWUsIEYxLCBLSzUsIGluWzE0XSwgIDUpOworCVJPVU5EKGVlZSwgYWFhLCBiYmIsIGNjYywgZGRkLCBGMSwgS0s1LCBpblswXSwgIDE1KTsKKwlST1VORChkZGQsIGVlZSwgYWFhLCBiYmIsIGNjYywgRjEsIEtLNSwgaW5bM10sICAxMyk7CisJUk9VTkQoY2NjLCBkZGQsIGVlZSwgYWFhLCBiYmIsIEYxLCBLSzUsIGluWzldLCAgMTEpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGVlZSwgYWFhLCBGMSwgS0s1LCBpblsxMV0sIDExKTsKKworCS8qIFN3YXAgY29udGVudHMgb2YgImUiIHJlZ2lzdGVycyAqLworCXRtcCA9IGVlOyBlZSA9IGVlZTsgZWVlID0gdG1wOworCisJLyogY29tYmluZSByZXN1bHRzICovCisJc3RhdGVbMF0gKz0gYWE7CisJc3RhdGVbMV0gKz0gYmI7CisJc3RhdGVbMl0gKz0gY2M7CisJc3RhdGVbM10gKz0gZGQ7CisJc3RhdGVbNF0gKz0gZWU7CisJc3RhdGVbNV0gKz0gYWFhOworCXN0YXRlWzZdICs9IGJiYjsKKwlzdGF0ZVs3XSArPSBjY2M7CisJc3RhdGVbOF0gKz0gZGRkOworCXN0YXRlWzldICs9IGVlZTsKKworCXJldHVybjsKK30KKworc3RhdGljIHZvaWQgcm1kMzIwX2luaXQoc3RydWN0IGNyeXB0b190Zm0gKnRmbSkKK3sKKwlzdHJ1Y3Qgcm1kMzIwX2N0eCAqcmN0eCA9IGNyeXB0b190Zm1fY3R4KHRmbSk7CisKKwlyY3R4LT5ieXRlX2NvdW50ID0gMDsKKworCXJjdHgtPnN0YXRlWzBdID0gUk1EX0gwOworCXJjdHgtPnN0YXRlWzFdID0gUk1EX0gxOworCXJjdHgtPnN0YXRlWzJdID0gUk1EX0gyOworCXJjdHgtPnN0YXRlWzNdID0gUk1EX0gzOworCXJjdHgtPnN0YXRlWzRdID0gUk1EX0g0OworCXJjdHgtPnN0YXRlWzVdID0gUk1EX0g1OworCXJjdHgtPnN0YXRlWzZdID0gUk1EX0g2OworCXJjdHgtPnN0YXRlWzddID0gUk1EX0g3OworCXJjdHgtPnN0YXRlWzhdID0gUk1EX0g4OworCXJjdHgtPnN0YXRlWzldID0gUk1EX0g5OworCisJbWVtc2V0KHJjdHgtPmJ1ZmZlciwgMCwgc2l6ZW9mKHJjdHgtPmJ1ZmZlcikpOworfQorCitzdGF0aWMgdm9pZCBybWQzMjBfdXBkYXRlKHN0cnVjdCBjcnlwdG9fdGZtICp0Zm0sIGNvbnN0IHU4ICpkYXRhLAorCQkJICB1bnNpZ25lZCBpbnQgbGVuKQoreworCXN0cnVjdCBybWQzMjBfY3R4ICpyY3R4ID0gY3J5cHRvX3RmbV9jdHgodGZtKTsKKwljb25zdCB1MzIgYXZhaWwgPSBzaXplb2YocmN0eC0+YnVmZmVyKSAtIChyY3R4LT5ieXRlX2NvdW50ICYgMHgzZik7CisKKwlyY3R4LT5ieXRlX2NvdW50ICs9IGxlbjsKKworCS8qIEVub3VnaCBzcGFjZSBpbiBidWZmZXI/IElmIHNvIGNvcHkgYW5kIHdlJ3JlIGRvbmUgKi8KKwlpZiAoYXZhaWwgPiBsZW4pIHsKKwkJbWVtY3B5KChjaGFyICopcmN0eC0+YnVmZmVyICsgKHNpemVvZihyY3R4LT5idWZmZXIpIC0gYXZhaWwpLAorCQkgICAgICAgZGF0YSwgbGVuKTsKKwkJcmV0dXJuOworCX0KKworCW1lbWNweSgoY2hhciAqKXJjdHgtPmJ1ZmZlciArIChzaXplb2YocmN0eC0+YnVmZmVyKSAtIGF2YWlsKSwKKwkgICAgICAgZGF0YSwgYXZhaWwpOworCisJcm1kMzIwX3RyYW5zZm9ybShyY3R4LT5zdGF0ZSwgcmN0eC0+YnVmZmVyKTsKKwlkYXRhICs9IGF2YWlsOworCWxlbiAtPSBhdmFpbDsKKworCXdoaWxlIChsZW4gPj0gc2l6ZW9mKHJjdHgtPmJ1ZmZlcikpIHsKKwkJbWVtY3B5KHJjdHgtPmJ1ZmZlciwgZGF0YSwgc2l6ZW9mKHJjdHgtPmJ1ZmZlcikpOworCQlybWQzMjBfdHJhbnNmb3JtKHJjdHgtPnN0YXRlLCByY3R4LT5idWZmZXIpOworCQlkYXRhICs9IHNpemVvZihyY3R4LT5idWZmZXIpOworCQlsZW4gLT0gc2l6ZW9mKHJjdHgtPmJ1ZmZlcik7CisJfQorCisJbWVtY3B5KHJjdHgtPmJ1ZmZlciwgZGF0YSwgbGVuKTsKK30KKworLyogQWRkIHBhZGRpbmcgYW5kIHJldHVybiB0aGUgbWVzc2FnZSBkaWdlc3QuICovCitzdGF0aWMgdm9pZCBybWQzMjBfZmluYWwoc3RydWN0IGNyeXB0b190Zm0gKnRmbSwgdTggKm91dCkKK3sKKwlzdHJ1Y3Qgcm1kMzIwX2N0eCAqcmN0eCA9IGNyeXB0b190Zm1fY3R4KHRmbSk7CisJdTMyIGksIGluZGV4LCBwYWRsZW47CisJX19sZTY0IGJpdHM7CisJX19sZTMyICpkc3QgPSAoX19sZTMyICopb3V0OworCXN0YXRpYyBjb25zdCB1OCBwYWRkaW5nWzY0XSA9IHsgMHg4MCwgfTsKKworCWJpdHMgPSBjcHVfdG9fbGU2NChyY3R4LT5ieXRlX2NvdW50IDw8IDMpOworCisJLyogUGFkIG91dCB0byA1NiBtb2QgNjQgKi8KKwlpbmRleCA9IHJjdHgtPmJ5dGVfY291bnQgJiAweDNmOworCXBhZGxlbiA9IChpbmRleCA8IDU2KSA/ICg1NiAtIGluZGV4KSA6ICgoNjQrNTYpIC0gaW5kZXgpOworCXJtZDMyMF91cGRhdGUodGZtLCBwYWRkaW5nLCBwYWRsZW4pOworCisJLyogQXBwZW5kIGxlbmd0aCAqLworCXJtZDMyMF91cGRhdGUodGZtLCAoY29uc3QgdTggKikmYml0cywgc2l6ZW9mKGJpdHMpKTsKKworCS8qIFN0b3JlIHN0YXRlIGluIGRpZ2VzdCAqLworCWZvciAoaSA9IDA7IGkgPCAxMDsgaSsrKQorCQlkc3RbaV0gPSBjcHVfdG9fbGUzMnAoJnJjdHgtPnN0YXRlW2ldKTsKKworCS8qIFdpcGUgY29udGV4dCAqLworCW1lbXNldChyY3R4LCAwLCBzaXplb2YoKnJjdHgpKTsKK30KKworc3RhdGljIHN0cnVjdCBjcnlwdG9fYWxnIGFsZyA9IHsKKwkuY3JhX25hbWUJID0JInJtZDMyMCIsCisJLmNyYV9kcml2ZXJfbmFtZSA9CSJybWQzMjAiLAorCS5jcmFfZmxhZ3MJID0JQ1JZUFRPX0FMR19UWVBFX0RJR0VTVCwKKwkuY3JhX2Jsb2Nrc2l6ZQkgPQlSTUQzMjBfQkxPQ0tfU0laRSwKKwkuY3JhX2N0eHNpemUJID0Jc2l6ZW9mKHN0cnVjdCBybWQzMjBfY3R4KSwKKwkuY3JhX21vZHVsZQkgPQlUSElTX01PRFVMRSwKKwkuY3JhX2xpc3QJID0JTElTVF9IRUFEX0lOSVQoYWxnLmNyYV9saXN0KSwKKwkuY3JhX3UJCSA9CXsgLmRpZ2VzdCA9IHsKKwkuZGlhX2RpZ2VzdHNpemUJID0JUk1EMzIwX0RJR0VTVF9TSVpFLAorCS5kaWFfaW5pdAkgPQlybWQzMjBfaW5pdCwKKwkuZGlhX3VwZGF0ZQkgPQlybWQzMjBfdXBkYXRlLAorCS5kaWFfZmluYWwJID0Jcm1kMzIwX2ZpbmFsIH0gfQorfTsKKworc3RhdGljIGludCBfX2luaXQgcm1kMzIwX21vZF9pbml0KHZvaWQpCit7CisJcmV0dXJuIGNyeXB0b19yZWdpc3Rlcl9hbGcoJmFsZyk7Cit9CisKK3N0YXRpYyB2b2lkIF9fZXhpdCBybWQzMjBfbW9kX2Zpbmkodm9pZCkKK3sKKwljcnlwdG9fdW5yZWdpc3Rlcl9hbGcoJmFsZyk7Cit9CisKK21vZHVsZV9pbml0KHJtZDMyMF9tb2RfaW5pdCk7Cittb2R1bGVfZXhpdChybWQzMjBfbW9kX2ZpbmkpOworCitNT0RVTEVfTElDRU5TRSgiR1BMIik7CitNT0RVTEVfREVTQ1JJUFRJT04oIlJJUEVNRC0zMjAgTWVzc2FnZSBEaWdlc3QiKTsKKworTU9EVUxFX0FMSUFTKCJybWQzMjAiKTsKZGlmZiAtLWdpdCBhL2NyeXB0by90Y3J5cHQuYyBiL2NyeXB0by90Y3J5cHQuYwppbmRleCBlNDdmNmUwLi41OTgyMWEyIDEwMDY0NAotLS0gYS9jcnlwdG8vdGNyeXB0LmMKKysrIGIvY3J5cHRvL3RjcnlwdC5jCkBAIC0xMywxNSArMTMsOSBAQAogICogU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKQogICogYW55IGxhdGVyIHZlcnNpb24uCiAgKgotICogMjAwNy0xMS0xMyBBZGRlZCBHQ00gdGVzdHMKLSAqIDIwMDctMTEtMTMgQWRkZWQgQUVBRCBzdXBwb3J0Ci0gKiAyMDA3LTExLTA2IEFkZGVkIFNIQS0yMjQgYW5kIFNIQS0yMjQtSE1BQyB0ZXN0cwotICogMjAwNi0xMi0wNyBBZGRlZCBTSEEzODQgSE1BQyBhbmQgU0hBNTEyIEhNQUMgdGVzdHMKLSAqIDIwMDQtMDgtMDkgQWRkZWQgY2lwaGVyIHNwZWVkIHRlc3RzIChSZXlrIEZsb2V0ZXIgPHJleWtAdmFudHJvbml4Lm5ldD4pCi0gKiAyMDAzLTA5LTE0IFJld3JpdHRlbiBieSBLYXJ0aWtleSBNYWhlbmRyYSBCaGF0dAotICoKICAqLwogCisjaW5jbHVkZSA8Y3J5cHRvL2hhc2guaD4KICNpbmNsdWRlIDxsaW51eC9lcnIuaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CkBAIC0zMCw3ICsyNCw2IEBACiAjaW5jbHVkZSA8bGludXgvc2NhdHRlcmxpc3QuaD4KICNpbmNsdWRlIDxsaW51eC9zdHJpbmcuaD4KICNpbmNsdWRlIDxsaW51eC9jcnlwdG8uaD4KLSNpbmNsdWRlIDxsaW51eC9oaWdobWVtLmg+CiAjaW5jbHVkZSA8bGludXgvbW9kdWxlcGFyYW0uaD4KICNpbmNsdWRlIDxsaW51eC9qaWZmaWVzLmg+CiAjaW5jbHVkZSA8bGludXgvdGltZXguaD4KQEAgLTM4LDcgKzMxLDcgQEAKICNpbmNsdWRlICJ0Y3J5cHQuaCIKIAogLyoKLSAqIE5lZWQgdG8ga21hbGxvYygpIG1lbW9yeSBmb3IgdGVzdGluZyBrbWFwKCkuCisgKiBOZWVkIHRvIGttYWxsb2MoKSBtZW1vcnkgZm9yIHRlc3RpbmcuCiAgKi8KICNkZWZpbmUgVFZNRU1TSVpFCTE2Mzg0CiAjZGVmaW5lIFhCVUZTSVpFCTMyNzY4CkBAIC00Niw3ICszOSw3IEBACiAvKgogICogSW5kZXhlcyBpbnRvIHRoZSB4YnVmIHRvIHNpbXVsYXRlIGNyb3NzLXBhZ2UgYWNjZXNzLgogICovCi0jZGVmaW5lIElEWDEJCTM3CisjZGVmaW5lIElEWDEJCTMyCiAjZGVmaW5lIElEWDIJCTMyNDAwCiAjZGVmaW5lIElEWDMJCTEKICNkZWZpbmUgSURYNAkJODE5MwpAQCAtODMsNyArNzYsOCBAQAogCSJibG93ZmlzaCIsICJ0d29maXNoIiwgInNlcnBlbnQiLCAic2hhMzg0IiwgInNoYTUxMiIsICJtZDQiLCAiYWVzIiwKIAkiY2FzdDYiLCAiYXJjNCIsICJtaWNoYWVsX21pYyIsICJkZWZsYXRlIiwgImNyYzMyYyIsICJ0ZWEiLCAieHRlYSIsCiAJImtoYXphZCIsICJ3cDUxMiIsICJ3cDM4NCIsICJ3cDI1NiIsICJ0bmVwcmVzIiwgInhldGEiLCAgImZjcnlwdCIsCi0JImNhbWVsbGlhIiwgInNlZWQiLCAic2Fsc2EyMCIsICJsem8iLCAiY3RzIiwgTlVMTAorCSJjYW1lbGxpYSIsICJzZWVkIiwgInNhbHNhMjAiLCAicm1kMTI4IiwgInJtZDE2MCIsICJybWQyNTYiLCAicm1kMzIwIiwKKwkibHpvIiwgImN0cyIsIE5VTEwKIH07CiAKIHN0YXRpYyB2b2lkIGhleGR1bXAodW5zaWduZWQgY2hhciAqYnVmLCB1bnNpZ25lZCBpbnQgbGVuKQpAQCAtMTEwLDIyICsxMDQsMzAgQEAKIAl1bnNpZ25lZCBpbnQgaSwgaiwgaywgdGVtcDsKIAlzdHJ1Y3Qgc2NhdHRlcmxpc3Qgc2dbOF07CiAJY2hhciByZXN1bHRbNjRdOwotCXN0cnVjdCBjcnlwdG9faGFzaCAqdGZtOwotCXN0cnVjdCBoYXNoX2Rlc2MgZGVzYzsKKwlzdHJ1Y3QgY3J5cHRvX2FoYXNoICp0Zm07CisJc3RydWN0IGFoYXNoX3JlcXVlc3QgKnJlcTsKKwlzdHJ1Y3QgdGNyeXB0X3Jlc3VsdCB0cmVzdWx0OwogCWludCByZXQ7CiAJdm9pZCAqaGFzaF9idWZmOwogCiAJcHJpbnRrKCJcbnRlc3RpbmcgJXNcbiIsIGFsZ28pOwogCi0JdGZtID0gY3J5cHRvX2FsbG9jX2hhc2goYWxnbywgMCwgQ1JZUFRPX0FMR19BU1lOQyk7CisJaW5pdF9jb21wbGV0aW9uKCZ0cmVzdWx0LmNvbXBsZXRpb24pOworCisJdGZtID0gY3J5cHRvX2FsbG9jX2FoYXNoKGFsZ28sIDAsIDApOwogCWlmIChJU19FUlIodGZtKSkgewogCQlwcmludGsoImZhaWxlZCB0byBsb2FkIHRyYW5zZm9ybSBmb3IgJXM6ICVsZFxuIiwgYWxnbywKIAkJICAgICAgIFBUUl9FUlIodGZtKSk7CiAJCXJldHVybjsKIAl9CiAKLQlkZXNjLnRmbSA9IHRmbTsKLQlkZXNjLmZsYWdzID0gMDsKKwlyZXEgPSBhaGFzaF9yZXF1ZXN0X2FsbG9jKHRmbSwgR0ZQX0tFUk5FTCk7CisJaWYgKCFyZXEpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICJmYWlsZWQgdG8gYWxsb2NhdGUgcmVxdWVzdCBmb3IgJXNcbiIsIGFsZ28pOworCQlnb3RvIG91dF9ub3JlcTsKKwl9CisJYWhhc2hfcmVxdWVzdF9zZXRfY2FsbGJhY2socmVxLCBDUllQVE9fVEZNX1JFUV9NQVlfQkFDS0xPRywKKwkJCQkgICB0Y3J5cHRfY29tcGxldGUsICZ0cmVzdWx0KTsKIAogCWZvciAoaSA9IDA7IGkgPCB0Y291bnQ7IGkrKykgewogCQlwcmludGsoInRlc3QgJXU6XG4iLCBpICsgMSk7CkBAIC0xMzksOCArMTQxLDkgQEAKIAkJc2dfaW5pdF9vbmUoJnNnWzBdLCBoYXNoX2J1ZmYsIHRlbXBsYXRlW2ldLnBzaXplKTsKIAogCQlpZiAodGVtcGxhdGVbaV0ua3NpemUpIHsKLQkJCXJldCA9IGNyeXB0b19oYXNoX3NldGtleSh0Zm0sIHRlbXBsYXRlW2ldLmtleSwKLQkJCQkJCSB0ZW1wbGF0ZVtpXS5rc2l6ZSk7CisJCQljcnlwdG9fYWhhc2hfY2xlYXJfZmxhZ3ModGZtLCB+MCk7CisJCQlyZXQgPSBjcnlwdG9fYWhhc2hfc2V0a2V5KHRmbSwgdGVtcGxhdGVbaV0ua2V5LAorCQkJCQkJICB0ZW1wbGF0ZVtpXS5rc2l6ZSk7CiAJCQlpZiAocmV0KSB7CiAJCQkJcHJpbnRrKCJzZXRrZXkoKSBmYWlsZWQgcmV0PSVkXG4iLCByZXQpOwogCQkJCWtmcmVlKGhhc2hfYnVmZik7CkBAIC0xNDgsMTcgKzE1MSwzMCBAQAogCQkJfQogCQl9CiAKLQkJcmV0ID0gY3J5cHRvX2hhc2hfZGlnZXN0KCZkZXNjLCBzZywgdGVtcGxhdGVbaV0ucHNpemUsIHJlc3VsdCk7Ci0JCWlmIChyZXQpIHsKKwkJYWhhc2hfcmVxdWVzdF9zZXRfY3J5cHQocmVxLCBzZywgcmVzdWx0LCB0ZW1wbGF0ZVtpXS5wc2l6ZSk7CisJCXJldCA9IGNyeXB0b19haGFzaF9kaWdlc3QocmVxKTsKKwkJc3dpdGNoIChyZXQpIHsKKwkJY2FzZSAwOgorCQkJYnJlYWs7CisJCWNhc2UgLUVJTlBST0dSRVNTOgorCQljYXNlIC1FQlVTWToKKwkJCXJldCA9IHdhaXRfZm9yX2NvbXBsZXRpb25faW50ZXJydXB0aWJsZSgKKwkJCQkmdHJlc3VsdC5jb21wbGV0aW9uKTsKKwkJCWlmICghcmV0ICYmICEocmV0ID0gdHJlc3VsdC5lcnIpKSB7CisJCQkJSU5JVF9DT01QTEVUSU9OKHRyZXN1bHQuY29tcGxldGlvbik7CisJCQkJYnJlYWs7CisJCQl9CisJCQkvKiBmYWxsIHRocm91Z2ggKi8KKwkJZGVmYXVsdDoKIAkJCXByaW50aygiZGlnZXN0ICgpIGZhaWxlZCByZXQ9JWRcbiIsIHJldCk7CiAJCQlrZnJlZShoYXNoX2J1ZmYpOwogCQkJZ290byBvdXQ7CiAJCX0KIAotCQloZXhkdW1wKHJlc3VsdCwgY3J5cHRvX2hhc2hfZGlnZXN0c2l6ZSh0Zm0pKTsKKwkJaGV4ZHVtcChyZXN1bHQsIGNyeXB0b19haGFzaF9kaWdlc3RzaXplKHRmbSkpOwogCQlwcmludGsoIiVzXG4iLAogCQkgICAgICAgbWVtY21wKHJlc3VsdCwgdGVtcGxhdGVbaV0uZGlnZXN0LAotCQkJICAgICAgY3J5cHRvX2hhc2hfZGlnZXN0c2l6ZSh0Zm0pKSA/CisJCQkgICAgICBjcnlwdG9fYWhhc2hfZGlnZXN0c2l6ZSh0Zm0pKSA/CiAJCSAgICAgICAiZmFpbCIgOiAicGFzcyIpOwogCQlrZnJlZShoYXNoX2J1ZmYpOwogCX0KQEAgLTE4Nyw4ICsyMDMsOSBAQAogCQkJfQogCiAJCQlpZiAodGVtcGxhdGVbaV0ua3NpemUpIHsKLQkJCQlyZXQgPSBjcnlwdG9faGFzaF9zZXRrZXkodGZtLCB0ZW1wbGF0ZVtpXS5rZXksCi0JCQkJCQkJIHRlbXBsYXRlW2ldLmtzaXplKTsKKwkJCQljcnlwdG9fYWhhc2hfY2xlYXJfZmxhZ3ModGZtLCB+MCk7CisJCQkJcmV0ID0gY3J5cHRvX2FoYXNoX3NldGtleSh0Zm0sIHRlbXBsYXRlW2ldLmtleSwKKwkJCQkJCQkgIHRlbXBsYXRlW2ldLmtzaXplKTsKIAogCQkJCWlmIChyZXQpIHsKIAkJCQkJcHJpbnRrKCJzZXRrZXkoKSBmYWlsZWQgcmV0PSVkXG4iLCByZXQpOwpAQCAtMTk2LDI5ICsyMTMsNDQgQEAKIAkJCQl9CiAJCQl9CiAKLQkJCXJldCA9IGNyeXB0b19oYXNoX2RpZ2VzdCgmZGVzYywgc2csIHRlbXBsYXRlW2ldLnBzaXplLAotCQkJCQkJIHJlc3VsdCk7Ci0JCQlpZiAocmV0KSB7CisJCQlhaGFzaF9yZXF1ZXN0X3NldF9jcnlwdChyZXEsIHNnLCByZXN1bHQsCisJCQkJCQl0ZW1wbGF0ZVtpXS5wc2l6ZSk7CisJCQlyZXQgPSBjcnlwdG9fYWhhc2hfZGlnZXN0KHJlcSk7CisJCQlzd2l0Y2ggKHJldCkgeworCQkJY2FzZSAwOgorCQkJCWJyZWFrOworCQkJY2FzZSAtRUlOUFJPR1JFU1M6CisJCQljYXNlIC1FQlVTWToKKwkJCQlyZXQgPSB3YWl0X2Zvcl9jb21wbGV0aW9uX2ludGVycnVwdGlibGUoCisJCQkJCSZ0cmVzdWx0LmNvbXBsZXRpb24pOworCQkJCWlmICghcmV0ICYmICEocmV0ID0gdHJlc3VsdC5lcnIpKSB7CisJCQkJCUlOSVRfQ09NUExFVElPTih0cmVzdWx0LmNvbXBsZXRpb24pOworCQkJCQlicmVhazsKKwkJCQl9CisJCQkJLyogZmFsbCB0aHJvdWdoICovCisJCQlkZWZhdWx0OgogCQkJCXByaW50aygiZGlnZXN0ICgpIGZhaWxlZCByZXQ9JWRcbiIsIHJldCk7CiAJCQkJZ290byBvdXQ7CiAJCQl9CiAKLQkJCWhleGR1bXAocmVzdWx0LCBjcnlwdG9faGFzaF9kaWdlc3RzaXplKHRmbSkpOworCQkJaGV4ZHVtcChyZXN1bHQsIGNyeXB0b19haGFzaF9kaWdlc3RzaXplKHRmbSkpOwogCQkJcHJpbnRrKCIlc1xuIiwKIAkJCSAgICAgICBtZW1jbXAocmVzdWx0LCB0ZW1wbGF0ZVtpXS5kaWdlc3QsCi0JCQkJICAgICAgY3J5cHRvX2hhc2hfZGlnZXN0c2l6ZSh0Zm0pKSA/CisJCQkJICAgICAgY3J5cHRvX2FoYXNoX2RpZ2VzdHNpemUodGZtKSkgPwogCQkJICAgICAgICJmYWlsIiA6ICJwYXNzIik7CiAJCX0KIAl9CiAKIG91dDoKLQljcnlwdG9fZnJlZV9oYXNoKHRmbSk7CisJYWhhc2hfcmVxdWVzdF9mcmVlKHJlcSk7CitvdXRfbm9yZXE6CisJY3J5cHRvX2ZyZWVfYWhhc2godGZtKTsKIH0KIAogc3RhdGljIHZvaWQgdGVzdF9hZWFkKGNoYXIgKmFsZ28sIGludCBlbmMsIHN0cnVjdCBhZWFkX3Rlc3R2ZWMgKnRlbXBsYXRlLAogCQkgICAgICB1bnNpZ25lZCBpbnQgdGNvdW50KQogewotCXVuc2lnbmVkIGludCByZXQsIGksIGosIGssIHRlbXA7CisJdW5zaWduZWQgaW50IHJldCwgaSwgaiwgaywgbiwgdGVtcDsKIAljaGFyICpxOwogCXN0cnVjdCBjcnlwdG9fYWVhZCAqdGZtOwogCWNoYXIgKmtleTsKQEAgLTM0NCwxMyArMzc2LDEyIEBACiAJCQkJZ290byBuZXh0X29uZTsKIAkJCX0KIAotCQkJcSA9IGttYXAoc2dfcGFnZSgmc2dbMF0pKSArIHNnWzBdLm9mZnNldDsKKwkJCXEgPSBpbnB1dDsKIAkJCWhleGR1bXAocSwgdGVtcGxhdGVbaV0ucmxlbik7CiAKIAkJCXByaW50ayhLRVJOX0lORk8gImVuYy9kZWM6ICVzXG4iLAogCQkJICAgICAgIG1lbWNtcChxLCB0ZW1wbGF0ZVtpXS5yZXN1bHQsCiAJCQkJICAgICAgdGVtcGxhdGVbaV0ucmxlbikgPyAiZmFpbCIgOiAicGFzcyIpOwotCQkJa3VubWFwKHNnX3BhZ2UoJnNnWzBdKSk7CiBuZXh0X29uZToKIAkJCWlmICghdGVtcGxhdGVbaV0ua2V5KQogCQkJCWtmcmVlKGtleSk7CkBAIC0zNjAsNyArMzkxLDYgQEAKIAl9CiAKIAlwcmludGsoS0VSTl9JTkZPICJcbnRlc3RpbmcgJXMgJXMgYWNyb3NzIHBhZ2VzIChjaHVua2luZylcbiIsIGFsZ28sIGUpOwotCW1lbXNldCh4YnVmLCAwLCBYQlVGU0laRSk7CiAJbWVtc2V0KGF4YnVmLCAwLCBYQlVGU0laRSk7CiAKIAlmb3IgKGkgPSAwLCBqID0gMDsgaSA8IHRjb3VudDsgaSsrKSB7CkBAIC0zODgsNiArNDE4LDcgQEAKIAkJCQkJZ290byBvdXQ7CiAJCQl9CiAKKwkJCW1lbXNldCh4YnVmLCAwLCBYQlVGU0laRSk7CiAJCQlzZ19pbml0X3RhYmxlKHNnLCB0ZW1wbGF0ZVtpXS5ucCk7CiAJCQlmb3IgKGsgPSAwLCB0ZW1wID0gMDsgayA8IHRlbXBsYXRlW2ldLm5wOyBrKyspIHsKIAkJCQltZW1jcHkoJnhidWZbSURYW2tdXSwKQEAgLTQ1MCw3ICs0ODEsNyBAQAogCiAJCQlmb3IgKGsgPSAwLCB0ZW1wID0gMDsgayA8IHRlbXBsYXRlW2ldLm5wOyBrKyspIHsKIAkJCQlwcmludGsoS0VSTl9JTkZPICJwYWdlICV1XG4iLCBrKTsKLQkJCQlxID0ga21hcChzZ19wYWdlKCZzZ1trXSkpICsgc2dba10ub2Zmc2V0OworCQkJCXEgPSAmYXhidWZbSURYW2tdXTsKIAkJCQloZXhkdW1wKHEsIHRlbXBsYXRlW2ldLnRhcFtrXSk7CiAJCQkJcHJpbnRrKEtFUk5fSU5GTyAiJXNcbiIsCiAJCQkJICAgICAgIG1lbWNtcChxLCB0ZW1wbGF0ZVtpXS5yZXN1bHQgKyB0ZW1wLApAQCAtNDU5LDggKzQ5MCwxNSBAQAogCQkJCQkgICAgICAgMCA6IGF1dGhzaXplKSkgPwogCQkJCSAgICAgICAiZmFpbCIgOiAicGFzcyIpOwogCisJCQkJZm9yIChuID0gMDsgcVt0ZW1wbGF0ZVtpXS50YXBba10gKyBuXTsgbisrKQorCQkJCQk7CisJCQkJaWYgKG4pIHsKKwkJCQkJcHJpbnRrKCJSZXN1bHQgYnVmZmVyIGNvcnJ1cHRpb24gJXUgIgorCQkJCQkgICAgICAgImJ5dGVzOlxuIiwgbik7CisJCQkJCWhleGR1bXAoJnFbdGVtcGxhdGVbaV0udGFwW2tdXSwgbik7CisJCQkJfQorCiAJCQkJdGVtcCArPSB0ZW1wbGF0ZVtpXS50YXBba107Ci0JCQkJa3VubWFwKHNnX3BhZ2UoJnNnW2tdKSk7CiAJCQl9CiAJCX0KIAl9CkBAIC00NzMsNyArNTExLDcgQEAKIHN0YXRpYyB2b2lkIHRlc3RfY2lwaGVyKGNoYXIgKmFsZ28sIGludCBlbmMsCiAJCQlzdHJ1Y3QgY2lwaGVyX3Rlc3R2ZWMgKnRlbXBsYXRlLCB1bnNpZ25lZCBpbnQgdGNvdW50KQogewotCXVuc2lnbmVkIGludCByZXQsIGksIGosIGssIHRlbXA7CisJdW5zaWduZWQgaW50IHJldCwgaSwgaiwgaywgbiwgdGVtcDsKIAljaGFyICpxOwogCXN0cnVjdCBjcnlwdG9fYWJsa2NpcGhlciAqdGZtOwogCXN0cnVjdCBhYmxrY2lwaGVyX3JlcXVlc3QgKnJlcTsKQEAgLTU2OSwxOSArNjA3LDE3IEBACiAJCQkJZ290byBvdXQ7CiAJCQl9CiAKLQkJCXEgPSBrbWFwKHNnX3BhZ2UoJnNnWzBdKSkgKyBzZ1swXS5vZmZzZXQ7CisJCQlxID0gZGF0YTsKIAkJCWhleGR1bXAocSwgdGVtcGxhdGVbaV0ucmxlbik7CiAKIAkJCXByaW50aygiJXNcbiIsCiAJCQkgICAgICAgbWVtY21wKHEsIHRlbXBsYXRlW2ldLnJlc3VsdCwKIAkJCQkgICAgICB0ZW1wbGF0ZVtpXS5ybGVuKSA/ICJmYWlsIiA6ICJwYXNzIik7Ci0JCQlrdW5tYXAoc2dfcGFnZSgmc2dbMF0pKTsKIAkJfQogCQlrZnJlZShkYXRhKTsKIAl9CiAKIAlwcmludGsoIlxudGVzdGluZyAlcyAlcyBhY3Jvc3MgcGFnZXMgKGNodW5raW5nKVxuIiwgYWxnbywgZSk7Ci0JbWVtc2V0KHhidWYsIDAsIFhCVUZTSVpFKTsKIAogCWogPSAwOwogCWZvciAoaSA9IDA7IGkgPCB0Y291bnQ7IGkrKykgewpAQCAtNTk2LDYgKzYzMiw3IEBACiAJCQlwcmludGsoInRlc3QgJXUgKCVkIGJpdCBrZXkpOlxuIiwKIAkJCWosIHRlbXBsYXRlW2ldLmtsZW4gKiA4KTsKIAorCQkJbWVtc2V0KHhidWYsIDAsIFhCVUZTSVpFKTsKIAkJCWNyeXB0b19hYmxrY2lwaGVyX2NsZWFyX2ZsYWdzKHRmbSwgfjApOwogCQkJaWYgKHRlbXBsYXRlW2ldLndrKQogCQkJCWNyeXB0b19hYmxrY2lwaGVyX3NldF9mbGFncygKQEAgLTY0OSwxNCArNjg2LDIxIEBACiAJCQl0ZW1wID0gMDsKIAkJCWZvciAoayA9IDA7IGsgPCB0ZW1wbGF0ZVtpXS5ucDsgaysrKSB7CiAJCQkJcHJpbnRrKCJwYWdlICV1XG4iLCBrKTsKLQkJCQlxID0ga21hcChzZ19wYWdlKCZzZ1trXSkpICsgc2dba10ub2Zmc2V0OworCQkJCXEgPSAmeGJ1ZltJRFhba11dOwogCQkJCWhleGR1bXAocSwgdGVtcGxhdGVbaV0udGFwW2tdKTsKIAkJCQlwcmludGsoIiVzXG4iLAogCQkJCQltZW1jbXAocSwgdGVtcGxhdGVbaV0ucmVzdWx0ICsgdGVtcCwKIAkJCQkJCXRlbXBsYXRlW2ldLnRhcFtrXSkgPyAiZmFpbCIgOgogCQkJCQkicGFzcyIpOworCisJCQkJZm9yIChuID0gMDsgcVt0ZW1wbGF0ZVtpXS50YXBba10gKyBuXTsgbisrKQorCQkJCQk7CisJCQkJaWYgKG4pIHsKKwkJCQkJcHJpbnRrKCJSZXN1bHQgYnVmZmVyIGNvcnJ1cHRpb24gJXUgIgorCQkJCQkgICAgICAgImJ5dGVzOlxuIiwgbik7CisJCQkJCWhleGR1bXAoJnFbdGVtcGxhdGVbaV0udGFwW2tdXSwgbik7CisJCQkJfQogCQkJCXRlbXAgKz0gdGVtcGxhdGVbaV0udGFwW2tdOwotCQkJCWt1bm1hcChzZ19wYWdlKCZzZ1trXSkpOwogCQkJfQogCQl9CiAJfQpAQCAtMTE3Miw2ICsxMjE2LDE0IEBACiAJCXRlc3RfY2lwaGVyKCJlY2IoZGVzM19lZGUpIiwgREVDUllQVCwgZGVzM19lZGVfZGVjX3R2X3RlbXBsYXRlLAogCQkJICAgIERFUzNfRURFX0RFQ19URVNUX1ZFQ1RPUlMpOwogCisJCXRlc3RfY2lwaGVyKCJjYmMoZGVzM19lZGUpIiwgRU5DUllQVCwKKwkJCSAgICBkZXMzX2VkZV9jYmNfZW5jX3R2X3RlbXBsYXRlLAorCQkJICAgIERFUzNfRURFX0NCQ19FTkNfVEVTVF9WRUNUT1JTKTsKKworCQl0ZXN0X2NpcGhlcigiY2JjKGRlczNfZWRlKSIsIERFQ1JZUFQsCisJCQkgICAgZGVzM19lZGVfY2JjX2RlY190dl90ZW1wbGF0ZSwKKwkJCSAgICBERVMzX0VERV9DQkNfREVDX1RFU1RfVkVDVE9SUyk7CisKIAkJdGVzdF9oYXNoKCJtZDQiLCBtZDRfdHZfdGVtcGxhdGUsIE1ENF9URVNUX1ZFQ1RPUlMpOwogCiAJCXRlc3RfaGFzaCgic2hhMjI0Iiwgc2hhMjI0X3R2X3RlbXBsYXRlLCBTSEEyMjRfVEVTVF9WRUNUT1JTKTsKQEAgLTEzODIsNiArMTQzNCwxNCBAQAogCQkJICAgIERFUzNfRURFX0VOQ19URVNUX1ZFQ1RPUlMpOwogCQl0ZXN0X2NpcGhlcigiZWNiKGRlczNfZWRlKSIsIERFQ1JZUFQsIGRlczNfZWRlX2RlY190dl90ZW1wbGF0ZSwKIAkJCSAgICBERVMzX0VERV9ERUNfVEVTVF9WRUNUT1JTKTsKKworCQl0ZXN0X2NpcGhlcigiY2JjKGRlczNfZWRlKSIsIEVOQ1JZUFQsCisJCQkgICAgZGVzM19lZGVfY2JjX2VuY190dl90ZW1wbGF0ZSwKKwkJCSAgICBERVMzX0VERV9DQkNfRU5DX1RFU1RfVkVDVE9SUyk7CisKKwkJdGVzdF9jaXBoZXIoImNiYyhkZXMzX2VkZSkiLCBERUNSWVBULAorCQkJICAgIGRlczNfZWRlX2NiY19kZWNfdHZfdGVtcGxhdGUsCisJCQkgICAgREVTM19FREVfQ0JDX0RFQ19URVNUX1ZFQ1RPUlMpOwogCQlicmVhazsKIAogCWNhc2UgNToKQEAgLTE1NTAsNyArMTYxMCw3IEBACiAJY2FzZSAyOToKIAkJdGVzdF9oYXNoKCJ0Z3IxMjgiLCB0Z3IxMjhfdHZfdGVtcGxhdGUsIFRHUjEyOF9URVNUX1ZFQ1RPUlMpOwogCQlicmVhazsKLQkJCisKIAljYXNlIDMwOgogCQl0ZXN0X2NpcGhlcigiZWNiKHhldGEpIiwgRU5DUllQVCwgeGV0YV9lbmNfdHZfdGVtcGxhdGUsCiAJCQkgICAgWEVUQV9FTkNfVEVTVF9WRUNUT1JTKTsKQEAgLTE2MTUsNiArMTY3NSwyMiBAQAogCQkJICAgIENUU19NT0RFX0RFQ19URVNUX1ZFQ1RPUlMpOwogCQlicmVhazsKIAorICAgICAgICBjYXNlIDM5OgorCQl0ZXN0X2hhc2goInJtZDEyOCIsIHJtZDEyOF90dl90ZW1wbGF0ZSwgUk1EMTI4X1RFU1RfVkVDVE9SUyk7CisJCWJyZWFrOworCisgICAgICAgIGNhc2UgNDA6CisJCXRlc3RfaGFzaCgicm1kMTYwIiwgcm1kMTYwX3R2X3RlbXBsYXRlLCBSTUQxNjBfVEVTVF9WRUNUT1JTKTsKKwkJYnJlYWs7CisKKwljYXNlIDQxOgorCQl0ZXN0X2hhc2goInJtZDI1NiIsIHJtZDI1Nl90dl90ZW1wbGF0ZSwgUk1EMjU2X1RFU1RfVkVDVE9SUyk7CisJCWJyZWFrOworCisJY2FzZSA0MjoKKwkJdGVzdF9oYXNoKCJybWQzMjAiLCBybWQzMjBfdHZfdGVtcGxhdGUsIFJNRDMyMF9URVNUX1ZFQ1RPUlMpOworCQlicmVhazsKKwogCWNhc2UgMTAwOgogCQl0ZXN0X2hhc2goImhtYWMobWQ1KSIsIGhtYWNfbWQ1X3R2X3RlbXBsYXRlLAogCQkJICBITUFDX01ENV9URVNUX1ZFQ1RPUlMpOwpAQCAtMTY1MCw2ICsxNzI2LDE2IEBACiAJCQkgIFhDQkNfQUVTX1RFU1RfVkVDVE9SUyk7CiAJCWJyZWFrOwogCisJY2FzZSAxMDc6CisJCXRlc3RfaGFzaCgiaG1hYyhybWQxMjgpIiwgaG1hY19ybWQxMjhfdHZfdGVtcGxhdGUsCisJCQkgIEhNQUNfUk1EMTI4X1RFU1RfVkVDVE9SUyk7CisJCWJyZWFrOworCisJY2FzZSAxMDg6CisJCXRlc3RfaGFzaCgiaG1hYyhybWQxNjApIiwgaG1hY19ybWQxNjBfdHZfdGVtcGxhdGUsCisJCQkgIEhNQUNfUk1EMTYwX1RFU1RfVkVDVE9SUyk7CisJCWJyZWFrOworCiAJY2FzZSAyMDA6CiAJCXRlc3RfY2lwaGVyX3NwZWVkKCJlY2IoYWVzKSIsIEVOQ1JZUFQsIHNlYywgTlVMTCwgMCwKIAkJCQlzcGVlZF90ZW1wbGF0ZV8xNl8yNF8zMik7CkBAIC0xNzg4LDYgKzE4NzQsMjIgQEAKIAkJdGVzdF9oYXNoX3NwZWVkKCJzaGEyMjQiLCBzZWMsIGdlbmVyaWNfaGFzaF9zcGVlZF90ZW1wbGF0ZSk7CiAJCWlmIChtb2RlID4gMzAwICYmIG1vZGUgPCA0MDApIGJyZWFrOwogCisJY2FzZSAzMTQ6CisJCXRlc3RfaGFzaF9zcGVlZCgicm1kMTI4Iiwgc2VjLCBnZW5lcmljX2hhc2hfc3BlZWRfdGVtcGxhdGUpOworCQlpZiAobW9kZSA+IDMwMCAmJiBtb2RlIDwgNDAwKSBicmVhazsKKworCWNhc2UgMzE1OgorCQl0ZXN0X2hhc2hfc3BlZWQoInJtZDE2MCIsIHNlYywgZ2VuZXJpY19oYXNoX3NwZWVkX3RlbXBsYXRlKTsKKwkJaWYgKG1vZGUgPiAzMDAgJiYgbW9kZSA8IDQwMCkgYnJlYWs7CisKKwljYXNlIDMxNjoKKwkJdGVzdF9oYXNoX3NwZWVkKCJybWQyNTYiLCBzZWMsIGdlbmVyaWNfaGFzaF9zcGVlZF90ZW1wbGF0ZSk7CisJCWlmIChtb2RlID4gMzAwICYmIG1vZGUgPCA0MDApIGJyZWFrOworCisJY2FzZSAzMTc6CisJCXRlc3RfaGFzaF9zcGVlZCgicm1kMzIwIiwgc2VjLCBnZW5lcmljX2hhc2hfc3BlZWRfdGVtcGxhdGUpOworCQlpZiAobW9kZSA+IDMwMCAmJiBtb2RlIDwgNDAwKSBicmVhazsKKwogCWNhc2UgMzk5OgogCQlicmVhazsKIApkaWZmIC0tZ2l0IGEvY3J5cHRvL3RjcnlwdC5oIGIvY3J5cHRvL3RjcnlwdC5oCmluZGV4IDQ3YmMwZWMuLjgwMWUwYzIgMTAwNjQ0Ci0tLSBhL2NyeXB0by90Y3J5cHQuaAorKysgYi9jcnlwdG8vdGNyeXB0LmgKQEAgLTEzLDEyICsxMyw2IEBACiAgKiBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pCiAgKiBhbnkgbGF0ZXIgdmVyc2lvbi4KICAqCi0gKiAyMDA3LTExLTEzIEFkZGVkIEdDTSB0ZXN0cwotICogMjAwNy0xMS0xMyBBZGRlZCBBRUFEIHN1cHBvcnQKLSAqIDIwMDYtMTItMDcgQWRkZWQgU0hBMzg0IEhNQUMgYW5kIFNIQTUxMiBITUFDIHRlc3RzCi0gKiAyMDA0LTA4LTA5IENpcGhlciBzcGVlZCB0ZXN0cyBieSBSZXlrIEZsb2V0ZXIgPHJleWtAdmFudHJvbml4Lm5ldD4KLSAqIDIwMDMtMDktMTQgQ2hhbmdlcyBieSBLYXJ0aWtleSBNYWhlbmRyYSBCaGF0dAotICoKICAqLwogI2lmbmRlZiBfQ1JZUFRPX1RDUllQVF9ICiAjZGVmaW5lIF9DUllQVE9fVENSWVBUX0gKQEAgLTE2OCw2ICsxNjIsMjcxIEBACiAJCS5kaWdlc3QJPSAiXHg1N1x4ZWRceGY0XHhhMlx4MmJceGUzXHhjOVx4NTUiCiAJCQkgICJceGFjXHg0OVx4ZGFceDJlXHgyMVx4MDdceGI2XHg3YSIsCiAJfQorCit9OworCisvKgorICogUklQRU1ELTEyOCB0ZXN0IHZlY3RvcnMgZnJvbSBJU08vSUVDIDEwMTE4LTM6MjAwNChFKQorICovCisjZGVmaW5lIFJNRDEyOF9URVNUX1ZFQ1RPUlMgICAgIDEwCisKK3N0YXRpYyBzdHJ1Y3QgaGFzaF90ZXN0dmVjIHJtZDEyOF90dl90ZW1wbGF0ZVtdID0geworCXsKKwkJLmRpZ2VzdAk9ICJceGNkXHhmMlx4NjJceDEzXHhhMVx4NTBceGRjXHgzZSIKKwkJCSAgIlx4Y2JceDYxXHgwZlx4MThceGY2XHhiM1x4OGJceDQ2IiwKKwl9LCB7CisJCS5wbGFpbnRleHQgPSAiYSIsCisJCS5wc2l6ZQk9IDEsCisJCS5kaWdlc3QJPSAiXHg4Nlx4YmVceDdhXHhmYVx4MzNceDlkXHgwZlx4YzciCisJCQkgICJceGNmXHhjN1x4ODVceGU3XHgyZlx4NTdceDhkXHgzMyIsCisJfSwgeworCQkucGxhaW50ZXh0ID0gImFiYyIsCisJCS5wc2l6ZQk9IDMsCisJCS5kaWdlc3QJPSAiXHhjMVx4NGFceDEyXHgxOVx4OWNceDY2XHhlNFx4YmEiCisJCQkgICJceDg0XHg2M1x4NmJceDBmXHg2OVx4MTRceDRjXHg3NyIsCisJfSwgeworCQkucGxhaW50ZXh0ID0gIm1lc3NhZ2UgZGlnZXN0IiwKKwkJLnBzaXplCT0gMTQsCisJCS5kaWdlc3QJPSAiXHg5ZVx4MzJceDdiXHgzZFx4NmVceDUyXHgzMFx4NjIiCisJCQkgICJceGFmXHhjMVx4MTNceDJkXHg3ZFx4ZjlceGQxXHhiOCIsCisJfSwgeworCQkucGxhaW50ZXh0ID0gImFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6IiwKKwkJLnBzaXplCT0gMjYsCisJCS5kaWdlc3QJPSAiXHhmZFx4MmFceGE2XHgwN1x4ZjdceDFkXHhjOFx4ZjUiCisJCQkgICJceDEwXHg3MVx4NDlceDIyXHhiM1x4NzFceDgzXHg0ZSIsCisJfSwgeworCQkucGxhaW50ZXh0ID0gIkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGUiCisJCQkgICAgICJmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5IiwKKwkJLnBzaXplCT0gNjIsCisJCS5kaWdlc3QJPSAiXHhkMVx4ZTlceDU5XHhlYlx4MTdceDljXHg5MVx4MWYiCisJCQkgICJceGFlXHhhNFx4NjJceDRjXHg2MFx4YzVceGM3XHgwMiIsCisJfSwgeworCQkucGxhaW50ZXh0ID0gIjEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAiCisJCQkgICAgICIxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwIiwKKwkJLnBzaXplCT0gODAsCisJCS5kaWdlc3QJPSAiXHgzZlx4NDVceGVmXHgxOVx4NDdceDMyXHhjMlx4ZGIiCisJCQkgICJceGIyXHhjNFx4YTJceGM3XHg2OVx4NzlceDVmXHhhMyIsCisgICAgICAgIH0sIHsKKwkJLnBsYWludGV4dCA9ICJhYmNkYmNkZWNkZWZkZWZnZWZnaGZnaGlnaGlqIgorCQkJICAgICAiaGlqa2lqa2xqa2xta2xtbmxtbm9tbm9wbm9wcSIsCisJCS5wc2l6ZQk9IDU2LAorCQkuZGlnZXN0CT0gIlx4YTFceGFhXHgwNlx4ODlceGQwXHhmYVx4ZmFceDJkIgorCQkJICAiXHhkY1x4MjJceGU4XHg4Ylx4NDlceDEzXHgzYVx4MDYiLAorCQkubnAJPSAyLAorCQkudGFwCT0geyAyOCwgMjggfSwKKwl9LCB7CisJCS5wbGFpbnRleHQgPSAiYWJjZGVmZ2hiY2RlZmdoaWNkZWZnaGlqZGVmZ2hpamtlZmdoaWprbGZnaGkiCisJCQkgICAgICJqa2xtZ2hpamtsbW5oaWprbG1ub2lqa2xtbm9wamtsbW5vcHFrbG1ub3BxciIKKwkJCSAgICAgImxtbm9wcXJzbW5vcHFyc3Rub3BxcnN0dSIsCisJCS5wc2l6ZQk9IDExMiwKKwkJLmRpZ2VzdAk9ICJceGQ0XHhlY1x4YzlceDEzXHhlMVx4ZGZceDc3XHg2YiIKKwkJCSAgIlx4ZjRceDhkXHhlOVx4ZDVceDViXHgxZlx4MjVceDQ2IiwKKwl9LCB7CisJCS5wbGFpbnRleHQgPSAiYWJjZGJjZGVjZGVmZGVmZ2VmZ2hmZ2hpZ2hpamhpamsiLAorCQkucHNpemUJPSAzMiwKKwkJLmRpZ2VzdAk9ICJceDEzXHhmY1x4MTNceGU4XHhlZlx4ZmZceDM0XHg3ZCIKKwkJCSAgIlx4ZTFceDkzXHhmZlx4NDZceGRiXHhhY1x4Y2ZceGQ0IiwKKwl9Cit9OworCisvKgorICogUklQRU1ELTE2MCB0ZXN0IHZlY3RvcnMgZnJvbSBJU08vSUVDIDEwMTE4LTM6MjAwNChFKQorICovCisjZGVmaW5lIFJNRDE2MF9URVNUX1ZFQ1RPUlMgICAgIDEwCisKK3N0YXRpYyBzdHJ1Y3QgaGFzaF90ZXN0dmVjIHJtZDE2MF90dl90ZW1wbGF0ZVtdID0geworCXsKKwkJLmRpZ2VzdAk9ICJceDljXHgxMVx4ODVceGE1XHhjNVx4ZTlceGZjXHg1NFx4NjFceDI4IgorCQkJICAiXHgwOFx4OTdceDdlXHhlOFx4ZjVceDQ4XHhiMlx4MjVceDhkXHgzMSIsCisJfSwgeworCQkucGxhaW50ZXh0ID0gImEiLAorCQkucHNpemUJPSAxLAorCQkuZGlnZXN0CT0gIlx4MGJceGRjXHg5ZFx4MmRceDI1XHg2Ylx4M2VceGU5XHhkYVx4YWUiCisJCQkgICJceDM0XHg3Ylx4ZTZceGY0XHhkY1x4ODNceDVhXHg0Nlx4N2ZceGZlIiwKKwl9LCB7CisJCS5wbGFpbnRleHQgPSAiYWJjIiwKKwkJLnBzaXplCT0gMywKKwkJLmRpZ2VzdAk9ICJceDhlXHhiMlx4MDhceGY3XHhlMFx4NWRceDk4XHg3YVx4OWJceDA0IgorCQkJICAiXHg0YVx4OGVceDk4XHhjNlx4YjBceDg3XHhmMVx4NWFceDBiXHhmYyIsCisJfSwgeworCQkucGxhaW50ZXh0ID0gIm1lc3NhZ2UgZGlnZXN0IiwKKwkJLnBzaXplCT0gMTQsCisJCS5kaWdlc3QJPSAiXHg1ZFx4MDZceDg5XHhlZlx4NDlceGQyXHhmYVx4ZTVceDcyXHhiOCIKKwkJCSAgIlx4ODFceGIxXHgyM1x4YThceDVmXHhmYVx4MjFceDU5XHg1Zlx4MzYiLAorCX0sIHsKKwkJLnBsYWludGV4dCA9ICJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5eiIsCisJCS5wc2l6ZQk9IDI2LAorCQkuZGlnZXN0CT0gIlx4ZjdceDFjXHgyN1x4MTBceDljXHg2OVx4MmNceDFiXHg1Nlx4YmIiCisJCQkgICJceGRjXHhlYlx4NWJceDlkXHgyOFx4NjVceGIzXHg3MFx4OGRceGJjIiwKKwl9LCB7CisJCS5wbGFpbnRleHQgPSAiQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZSIKKwkJCSAgICAgImZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkiLAorCQkucHNpemUJPSA2MiwKKwkJLmRpZ2VzdAk9ICJceGIwXHhlMlx4MGJceDZlXHgzMVx4MTZceDY0XHgwMlx4ODZceGVkIgorCQkJICAiXHgzYVx4ODdceGE1XHg3MVx4MzBceDc5XHhiMlx4MWZceDUxXHg4OSIsCisJfSwgeworCQkucGxhaW50ZXh0ID0gIjEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAiCisJCQkgICAgICIxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwIiwKKwkJLnBzaXplCT0gODAsCisJCS5kaWdlc3QJPSAiXHg5Ylx4NzVceDJlXHg0NVx4NTdceDNkXHg0Ylx4MzlceGY0XHhkYiIKKwkJCSAgIlx4ZDNceDMyXHgzY1x4YWJceDgyXHhiZlx4NjNceDMyXHg2Ylx4ZmIiLAorICAgICAgICB9LCB7CisJCS5wbGFpbnRleHQgPSAiYWJjZGJjZGVjZGVmZGVmZ2VmZ2hmZ2hpZ2hpaiIKKwkJCSAgICAgImhpamtpamtsamtsbWtsbW5sbW5vbW5vcG5vcHEiLAorCQkucHNpemUJPSA1NiwKKwkJLmRpZ2VzdAk9ICJceDEyXHhhMFx4NTNceDM4XHg0YVx4OWNceDBjXHg4OFx4ZTRceDA1IgorCQkJICAiXHhhMFx4NmNceDI3XHhkY1x4ZjRceDlhXHhkYVx4NjJceGViXHgyYiIsCisJCS5ucAk9IDIsCisJCS50YXAJPSB7IDI4LCAyOCB9LAorCX0sIHsKKwkJLnBsYWludGV4dCA9ICJhYmNkZWZnaGJjZGVmZ2hpY2RlZmdoaWpkZWZnaGlqa2VmZ2hpamtsZmdoaSIKKwkJCSAgICAgImprbG1naGlqa2xtbmhpamtsbW5vaWprbG1ub3Bqa2xtbm9wcWtsbW5vcHFyIgorCQkJICAgICAibG1ub3BxcnNtbm9wcXJzdG5vcHFyc3R1IiwKKwkJLnBzaXplCT0gMTEyLAorCQkuZGlnZXN0CT0gIlx4NmZceDNmXHhhM1x4OWJceDZiXHg1MFx4M2NceDM4XHg0Zlx4OTEiCisJCQkgICJceDlhXHg0OVx4YTdceGFhXHg1Y1x4MmNceDA4XHhiZFx4ZmJceDQ1IiwKKwl9LCB7CisJCS5wbGFpbnRleHQgPSAiYWJjZGJjZGVjZGVmZGVmZ2VmZ2hmZ2hpZ2hpamhpamsiLAorCQkucHNpemUJPSAzMiwKKwkJLmRpZ2VzdAk9ICJceDk0XHhjMlx4NjRceDExXHg1NFx4MDRceGU2XHgzM1x4NzlceDBkIgorCQkJICAiXHhmY1x4YzhceDdiXHg1OFx4N2RceDM2XHg3N1x4MDZceDdkXHg5ZiIsCisJfQorfTsKKworLyoKKyAqIFJJUEVNRC0yNTYgdGVzdCB2ZWN0b3JzCisgKi8KKyNkZWZpbmUgUk1EMjU2X1RFU1RfVkVDVE9SUyAgICAgOAorCitzdGF0aWMgc3RydWN0IGhhc2hfdGVzdHZlYyBybWQyNTZfdHZfdGVtcGxhdGVbXSA9IHsKKwl7CisJCS5kaWdlc3QJPSAiXHgwMlx4YmFceDRjXHg0ZVx4NWZceDhlXHhjZFx4MTgiCisJCQkgICJceDc3XHhmY1x4NTJceGQ2XHg0ZFx4MzBceGUzXHg3YSIKKwkJCSAgIlx4MmRceDk3XHg3NFx4ZmJceDFlXHg1ZFx4MDJceDYzIgorCQkJICAiXHg4MFx4YWVceDAxXHg2OFx4ZTNceGM1XHg1Mlx4MmQiLAorCX0sIHsKKwkJLnBsYWludGV4dCA9ICJhIiwKKwkJLnBzaXplCT0gMSwKKwkJLmRpZ2VzdAk9ICJceGY5XHgzM1x4M2VceDQ1XHhkOFx4NTdceGY1XHhkOSIKKwkJCSAgIlx4MGFceDkxXHhiYVx4YjdceDBhXHgxZVx4YmFceDBjIgorCQkJICAiXHhmYlx4MWJceGU0XHhiMFx4NzhceDNjXHg5YVx4Y2YiCisJCQkgICJceGNkXHg4OFx4M2FceDkxXHgzNFx4NjlceDI5XHgyNSIsCisJfSwgeworCQkucGxhaW50ZXh0ID0gImFiYyIsCisJCS5wc2l6ZQk9IDMsCisJCS5kaWdlc3QJPSAiXHhhZlx4YmRceDZlXHgyMlx4OGJceDlkXHg4Y1x4YmIiCisJCQkgICJceGNlXHhmNVx4Y2FceDJkXHgwM1x4ZTZceGRiXHhhMSIKKwkJCSAgIlx4MGFceGMwXHhiY1x4N2RceGNiXHhlNFx4NjhceDBlIgorCQkJICAiXHgxZVx4NDJceGQyXHhlOVx4NzVceDQ1XHg5Ylx4NjUiLAorCX0sIHsKKwkJLnBsYWludGV4dCA9ICJtZXNzYWdlIGRpZ2VzdCIsCisJCS5wc2l6ZQk9IDE0LAorCQkuZGlnZXN0CT0gIlx4ODdceGU5XHg3MVx4NzVceDlhXHgxY1x4ZTRceDdhIgorCQkJICAiXHg1MVx4NGRceDVjXHg5MVx4NGNceDM5XHgyY1x4OTAiCisJCQkgICJceDE4XHhjN1x4YzRceDZiXHhjMVx4NDRceDY1XHg1NSIKKwkJCSAgIlx4NGFceGZjXHhkZlx4NTRceGE1XHgwN1x4MGNceDBlIiwKKwl9LCB7CisJCS5wbGFpbnRleHQgPSAiYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXoiLAorCQkucHNpemUJPSAyNiwKKwkJLmRpZ2VzdAk9ICJceDY0XHg5ZFx4MzBceDM0XHg3NVx4MWVceGEyXHgxNiIKKwkJCSAgIlx4NzdceDZiXHhmOVx4YTFceDhhXHhjY1x4ODFceGJjIgorCQkJICAiXHg3OFx4OTZceDExXHg4YVx4NTFceDk3XHg5Nlx4ODciCisJCQkgICJceDgyXHhkZFx4MWZceGQ5XHg3ZFx4OGRceDUxXHgzMyIsCisJfSwgeworCQkucGxhaW50ZXh0ID0gIkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGUiCisJCQkgICAgICJmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5IiwKKwkJLnBzaXplCT0gNjIsCisJCS5kaWdlc3QJPSAiXHg1N1x4NDBceGE0XHgwOFx4YWNceDE2XHhiN1x4MjAiCisJCQkgICJceGI4XHg0NFx4MjRceGFlXHg5M1x4MWNceGJiXHgxZiIKKwkJCSAgIlx4ZTNceDYzXHhkMVx4ZDBceGJmXHg0MFx4MTdceGYxIgorCQkJICAiXHhhOFx4OWZceDdlXHhhNlx4ZGVceDc3XHhhMFx4YjgiLAorCX0sIHsKKwkJLnBsYWludGV4dCA9ICIxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwIgorCQkJICAgICAiMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MCIsCisJCS5wc2l6ZQk9IDgwLAorCQkuZGlnZXN0CT0gIlx4MDZceGZkXHhjY1x4N2FceDQwXHg5NVx4NDhceGFhIgorCQkJICAiXHhmOVx4MTNceDY4XHhjMFx4NmFceDYyXHg3NVx4YjUiCisJCQkgICJceDUzXHhlM1x4ZjBceDk5XHhiZlx4MGVceGE0XHhlZCIKKwkJCSAgIlx4ZmRceDY3XHg3OFx4ZGZceDg5XHhhOFx4OTBceGRkIiwKKyAgICAgICAgfSwgeworCQkucGxhaW50ZXh0ID0gImFiY2RiY2RlY2RlZmRlZmdlZmdoZmdoaWdoaWoiCisJCQkgICAgICJoaWpraWprbGprbG1rbG1ubG1ub21ub3Bub3BxIiwKKwkJLnBzaXplCT0gNTYsCisJCS5kaWdlc3QJPSAiXHgzOFx4NDNceDA0XHg1NVx4ODNceGFhXHhjNlx4YzgiCisJCQkgICJceGM4XHhkOVx4MTJceDg1XHg3M1x4ZTdceGE5XHg4MCIKKwkJCSAgIlx4OWFceGZiXHgyYVx4MGZceDM0XHhjY1x4YzNceDZlIgorCQkJICAiXHhhOVx4ZTdceDJmXHgxNlx4ZjZceDM2XHg4ZVx4M2YiLAorCQkubnAJPSAyLAorCQkudGFwCT0geyAyOCwgMjggfSwKKwl9Cit9OworCisvKgorICogUklQRU1ELTMyMCB0ZXN0IHZlY3RvcnMKKyAqLworI2RlZmluZSBSTUQzMjBfVEVTVF9WRUNUT1JTICAgICA4CisKK3N0YXRpYyBzdHJ1Y3QgaGFzaF90ZXN0dmVjIHJtZDMyMF90dl90ZW1wbGF0ZVtdID0geworCXsKKwkJLmRpZ2VzdAk9ICJceDIyXHhkNlx4NWRceDU2XHg2MVx4NTNceDZjXHhkY1x4NzVceGMxIgorCQkJICAiXHhmZFx4ZjVceGM2XHhkZVx4N2JceDQxXHhiOVx4ZjJceDczXHgyNSIKKwkJCSAgIlx4ZWJceGM2XHgxZVx4ODVceDU3XHgxN1x4N2RceDcwXHg1YVx4MGUiCisJCQkgICJceGM4XHg4MFx4MTVceDFjXHgzYVx4MzJceGEwXHgwOFx4OTlceGI4IiwKKwl9LCB7CisJCS5wbGFpbnRleHQgPSAiYSIsCisJCS5wc2l6ZQk9IDEsCisJCS5kaWdlc3QJPSAiXHhjZVx4NzhceDg1XHgwNlx4MzhceGY5XHgyNlx4NThceGE1XHhhNSIKKwkJCSAgIlx4ODVceDA5XHg3NVx4NzlceDkyXHg2ZFx4ZGFceDY2XHg3YVx4NTciCisJCQkgICJceDE2XHg1Nlx4MmNceGZjXHhmNlx4ZmJceGU3XHg3Zlx4NjNceDU0IgorCQkJICAiXHgyZlx4OTlceGIwXHg0N1x4MDVceGQ2XHg5N1x4MGRceGZmXHg1ZCIsCisJfSwgeworCQkucGxhaW50ZXh0ID0gImFiYyIsCisJCS5wc2l6ZQk9IDMsCisJCS5kaWdlc3QJPSAiXHhkZVx4NGNceDAxXHhiM1x4MDVceDRmXHg4OVx4MzBceGE3XHg5ZCIKKwkJCSAgIlx4MDlceGFlXHg3M1x4OGVceDkyXHgzMFx4MWVceDVhXHgxN1x4MDgiCisJCQkgICJceDViXHhlZlx4ZmRceGMxXHhiOFx4ZDFceDE2XHg3MVx4M2VceDc0IgorCQkJICAiXHhmOFx4MmZceGE5XHg0Mlx4ZDZceDRjXHhkYlx4YzRceDY4XHgyZCIsCisJfSwgeworCQkucGxhaW50ZXh0ID0gIm1lc3NhZ2UgZGlnZXN0IiwKKwkJLnBzaXplCT0gMTQsCisJCS5kaWdlc3QJPSAiXHgzYVx4OGVceDI4XHg1MFx4MmVceGQ0XHg1ZFx4NDJceDJmXHg2OCIKKwkJCSAgIlx4ODRceDRmXHg5ZFx4ZDNceDE2XHhlN1x4YjlceDg1XHgzM1x4ZmEiCisJCQkgICJceDNmXHgyYVx4OTFceGQyXHg5Zlx4ODRceGQ0XHgyNVx4YzhceDhkIgorCQkJICAiXHg2Ylx4NGVceGZmXHg3Mlx4N2RceGY2XHg2YVx4N2NceDAxXHg5NyIsCisJfSwgeworCQkucGxhaW50ZXh0ID0gImFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6IiwKKwkJLnBzaXplCT0gMjYsCisJCS5kaWdlc3QJPSAiXHhjYVx4YmRceGIxXHg4MVx4MGJceDkyXHg0N1x4MGFceDIwXHg5MyIKKwkJCSAgIlx4YWFceDZiXHhjZVx4MDVceDk1XHgyY1x4MjhceDM0XHg4Y1x4ZjQiCisJCQkgICJceDNmXHhmNlx4MDhceDQxXHg5N1x4NTFceDY2XHhiYlx4NDBceGVkIgorCQkJICAiXHgyM1x4NDBceDA0XHhiOFx4ODJceDQ0XHg2M1x4ZTZceGIwXHgwOSIsCisJfSwgeworCQkucGxhaW50ZXh0ID0gIkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGUiCisJCQkgICAgICJmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5IiwKKwkJLnBzaXplCT0gNjIsCisJCS5kaWdlc3QJPSAiXHhlZFx4NTRceDQ5XHg0MFx4YzhceDZkXHg2N1x4ZjJceDUwXHhkMiIKKwkJCSAgIlx4MzJceGMzXHgwYlx4N2JceDNlXHg1N1x4NzBceGUwXHhjNlx4MGMiCisJCQkgICJceDhjXHhiOVx4YTRceGNhXHhmZVx4M2JceDExXHgzOFx4OGFceGY5IgorCQkJICAiXHg5Mlx4MGVceDFiXHg5OVx4MjNceDBiXHg4NFx4M2NceDg2XHhhNCIsCisJfSwgeworCQkucGxhaW50ZXh0ID0gIjEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAiCisJCQkgICAgICIxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwIiwKKwkJLnBzaXplCT0gODAsCisJCS5kaWdlc3QJPSAiXHg1NVx4NzhceDg4XHhhZlx4NWZceDZkXHg4ZVx4ZDZceDJhXHhiNiIKKwkJCSAgIlx4NjlceDQ1XHhjNlx4ZDJceGEwXHhhNFx4N2VceGNkXHg1M1x4NDEiCisJCQkgICJceGU5XHgxNVx4ZWJceDhmXHhlYVx4MWRceDA1XHgyNFx4OTVceDVmIgorCQkJICAiXHg4Mlx4NWRceGM3XHgxN1x4ZTRceGEwXHgwOFx4YWJceDJkXHg0MiIsCisgICAgICAgIH0sIHsKKwkJLnBsYWludGV4dCA9ICJhYmNkYmNkZWNkZWZkZWZnZWZnaGZnaGlnaGlqIgorCQkJICAgICAiaGlqa2lqa2xqa2xta2xtbmxtbm9tbm9wbm9wcSIsCisJCS5wc2l6ZQk9IDU2LAorCQkuZGlnZXN0CT0gIlx4ZDBceDM0XHhhN1x4OTVceDBjXHhmN1x4MjJceDAyXHgxYlx4YTQiCisJCQkgICJceGI4XHg0ZFx4ZjdceDY5XHhhNVx4ZGVceDIwXHg2MFx4ZTJceDU5IgorCQkJICAiXHhkZlx4NGNceDliXHhiNFx4YTRceDI2XHg4Y1x4MGVceDkzXHg1YiIKKwkJCSAgIlx4YmNceDc0XHg3MFx4YTlceDY5XHhjOVx4ZDBceDcyXHhhMVx4YWMiLAorCQkubnAJPSAyLAorCQkudGFwCT0geyAyOCwgMjggfSwKKwl9CiB9OwogCiAvKgpAQCAtODE3LDYgKzEwNzYsMTY4IEBACiB9OwogCiAvKgorICogSE1BQy1SSVBFTUQxMjggdGVzdCB2ZWN0b3JzIGZyb20gUkZDMjI4NgorICovCisjZGVmaW5lIEhNQUNfUk1EMTI4X1RFU1RfVkVDVE9SUwk3CisKK3N0YXRpYyBzdHJ1Y3QgaGFzaF90ZXN0dmVjIGhtYWNfcm1kMTI4X3R2X3RlbXBsYXRlW10gPSB7CisJeworCQkua2V5CT0gIlx4MGJceDBiXHgwYlx4MGJceDBiXHgwYlx4MGJceDBiXHgwYlx4MGJceDBiXHgwYlx4MGJceDBiXHgwYlx4MGIiLAorCQkua3NpemUJPSAxNiwKKwkJLnBsYWludGV4dCA9ICJIaSBUaGVyZSIsCisJCS5wc2l6ZQk9IDgsCisJCS5kaWdlc3QJPSAiXHhmYlx4ZjZceDFmXHg5NFx4OTJceGFhXHg0Ylx4YmYiCisJCQkgICJceDgxXHhjMVx4NzJceGU4XHg0ZVx4MDdceDM0XHhkYiIsCisJfSwgeworCQkua2V5CT0gIkplZmUiLAorCQkua3NpemUJPSA0LAorCQkucGxhaW50ZXh0ID0gIndoYXQgZG8geWEgd2FudCBmb3Igbm90aGluZz8iLAorCQkucHNpemUJPSAyOCwKKwkJLmRpZ2VzdAk9ICJceDg3XHg1Zlx4ODJceDg4XHg2Mlx4YjZceGIzXHgzNCIKKwkJCSAgIlx4YjRceDI3XHhjNVx4NWZceDlmXHg3Zlx4ZjBceDliIiwKKwkJLm5wCT0gMiwKKwkJLnRhcAk9IHsgMTQsIDE0IH0sCisJfSwgeworCQkua2V5CT0gIlx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWEiLAorCQkua3NpemUJPSAxNiwKKwkJLnBsYWludGV4dCA9ICJceGRkXHhkZFx4ZGRceGRkXHhkZFx4ZGRceGRkXHhkZFx4ZGRceGRkXHhkZFx4ZGQiCisJCQkiXHhkZFx4ZGRceGRkXHhkZFx4ZGRceGRkXHhkZFx4ZGRceGRkXHhkZFx4ZGRceGRkXHhkZCIKKwkJCSJceGRkXHhkZFx4ZGRceGRkXHhkZFx4ZGRceGRkXHhkZFx4ZGRceGRkXHhkZFx4ZGRceGRkIgorCQkJIlx4ZGRceGRkXHhkZFx4ZGRceGRkXHhkZFx4ZGRceGRkXHhkZFx4ZGRceGRkXHhkZCIsCisJCS5wc2l6ZQk9IDUwLAorCQkuZGlnZXN0CT0gIlx4MDlceGYwXHhiMlx4ODRceDZkXHgyZlx4NTRceDNkIgorCQkJICAiXHhhM1x4NjNceGNiXHhlY1x4OGRceDYyXHhhM1x4OGQiLAorCX0sIHsKKwkJLmtleQk9ICJceDAxXHgwMlx4MDNceDA0XHgwNVx4MDZceDA3XHgwOCIKKwkJCSAgIlx4MDlceDBhXHgwYlx4MGNceDBkXHgwZVx4MGZceDEwIgorCQkJICAiXHgxMVx4MTJceDEzXHgxNFx4MTVceDE2XHgxN1x4MThceDE5IiwKKwkJLmtzaXplCT0gMjUsCisJCS5wbGFpbnRleHQgPSAiXHhjZFx4Y2RceGNkXHhjZFx4Y2RceGNkXHhjZFx4Y2RceGNkXHhjZFx4Y2RceGNkIgorCQkJIlx4Y2RceGNkXHhjZFx4Y2RceGNkXHhjZFx4Y2RceGNkXHhjZFx4Y2RceGNkXHhjZFx4Y2QiCisJCQkiXHhjZFx4Y2RceGNkXHhjZFx4Y2RceGNkXHhjZFx4Y2RceGNkXHhjZFx4Y2RceGNkXHhjZCIKKwkJCSJceGNkXHhjZFx4Y2RceGNkXHhjZFx4Y2RceGNkXHhjZFx4Y2RceGNkXHhjZFx4Y2QiLAorCQkucHNpemUJPSA1MCwKKwkJLmRpZ2VzdAk9ICJceGJkXHhiYlx4ZDdceGNmXHgwM1x4ZTRceDRiXHg1YSIKKwkJCSAgIlx4YTZceDBhXHhmOFx4MTVceGJlXHg0ZFx4MjJceDk0IiwKKwl9LCB7CisJCS5rZXkJPSAiXHgwY1x4MGNceDBjXHgwY1x4MGNceDBjXHgwY1x4MGNceDBjXHgwY1x4MGNceDBjXHgwY1x4MGNceDBjXHgwYyIsCisJCS5rc2l6ZQk9IDE2LAorCQkucGxhaW50ZXh0ID0gIlRlc3QgV2l0aCBUcnVuY2F0aW9uIiwKKwkJLnBzaXplCT0gMjAsCisJCS5kaWdlc3QJPSAiXHhlN1x4OThceDA4XHhmMlx4NGJceDI1XHhmZFx4MDMiCisJCQkgICJceDFjXHgxNVx4NWZceDBkXHg1NVx4MWRceDlhXHgzYSIsCisJfSwgeworCQkua2V5CT0gIlx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWEiCisJCQkiXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYSIKKwkJCSJceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhIgorCQkJIlx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWEiCisJCQkiXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYSIKKwkJCSJceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhIgorCQkJIlx4YWFceGFhIiwKKwkJLmtzaXplCT0gODAsCisJCS5wbGFpbnRleHQgPSAiVGVzdCBVc2luZyBMYXJnZXIgVGhhbiBCbG9jay1TaXplIEtleSAtIEhhc2ggS2V5IEZpcnN0IiwKKwkJLnBzaXplCT0gNTQsCisJCS5kaWdlc3QJPSAiXHhkY1x4NzNceDI5XHgyOFx4ZGVceDk4XHgxMFx4NGEiCisJCQkgICJceDFmXHg1OVx4ZDNceDczXHhjMVx4NTBceGFjXHhiYiIsCisJfSwgeworCQkua2V5CT0gIlx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWEiCisJCQkiXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYSIKKwkJCSJceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhIgorCQkJIlx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWEiCisJCQkiXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYSIKKwkJCSJceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhIgorCQkJIlx4YWFceGFhIiwKKwkJLmtzaXplCT0gODAsCisJCS5wbGFpbnRleHQgPSAiVGVzdCBVc2luZyBMYXJnZXIgVGhhbiBCbG9jay1TaXplIEtleSBhbmQgTGFyZ2VyIFRoYW4gT25lICIKKwkJCSAgICJCbG9jay1TaXplIERhdGEiLAorCQkucHNpemUJPSA3MywKKwkJLmRpZ2VzdAk9ICJceDVjXHg2Ylx4ZWNceDk2XHg3OVx4M2VceDE2XHhkNCIKKwkJCSAgIlx4MDZceDkwXHhjMlx4MzdceDYzXHg1Zlx4MzBceGM1IiwKKwl9LAorfTsKKworLyoKKyAqIEhNQUMtUklQRU1EMTYwIHRlc3QgdmVjdG9ycyBmcm9tIFJGQzIyODYKKyAqLworI2RlZmluZSBITUFDX1JNRDE2MF9URVNUX1ZFQ1RPUlMJNworCitzdGF0aWMgc3RydWN0IGhhc2hfdGVzdHZlYyBobWFjX3JtZDE2MF90dl90ZW1wbGF0ZVtdID0geworCXsKKwkJLmtleQk9ICJceDBiXHgwYlx4MGJceDBiXHgwYlx4MGJceDBiXHgwYlx4MGJceDBiXHgwYlx4MGJceDBiXHgwYlx4MGJceDBiXHgwYlx4MGJceDBiXHgwYiIsCisJCS5rc2l6ZQk9IDIwLAorCQkucGxhaW50ZXh0ID0gIkhpIFRoZXJlIiwKKwkJLnBzaXplCT0gOCwKKwkJLmRpZ2VzdAk9ICJceDI0XHhjYlx4NGJceGQ2XHg3ZFx4MjBceGZjXHgxYVx4NWRceDJlIgorCQkJICAiXHhkN1x4NzNceDJkXHhjY1x4MzlceDM3XHg3Zlx4MGFceDU2XHg2OCIsCisJfSwgeworCQkua2V5CT0gIkplZmUiLAorCQkua3NpemUJPSA0LAorCQkucGxhaW50ZXh0ID0gIndoYXQgZG8geWEgd2FudCBmb3Igbm90aGluZz8iLAorCQkucHNpemUJPSAyOCwKKwkJLmRpZ2VzdAk9ICJceGRkXHhhNlx4YzBceDIxXHgzYVx4NDhceDVhXHg5ZVx4MjRceGY0IgorCQkJICAiXHg3NFx4MjBceDY0XHhhN1x4ZjBceDMzXHhiNFx4M2NceDQwXHg2OSIsCisJCS5ucAk9IDIsCisJCS50YXAJPSB7IDE0LCAxNCB9LAorCX0sIHsKKwkJLmtleQk9ICJceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYSIsCisJCS5rc2l6ZQk9IDIwLAorCQkucGxhaW50ZXh0ID0gIlx4ZGRceGRkXHhkZFx4ZGRceGRkXHhkZFx4ZGRceGRkXHhkZFx4ZGRceGRkXHhkZCIKKwkJCSJceGRkXHhkZFx4ZGRceGRkXHhkZFx4ZGRceGRkXHhkZFx4ZGRceGRkXHhkZFx4ZGRceGRkIgorCQkJIlx4ZGRceGRkXHhkZFx4ZGRceGRkXHhkZFx4ZGRceGRkXHhkZFx4ZGRceGRkXHhkZFx4ZGQiCisJCQkiXHhkZFx4ZGRceGRkXHhkZFx4ZGRceGRkXHhkZFx4ZGRceGRkXHhkZFx4ZGRceGRkIiwKKwkJLnBzaXplCT0gNTAsCisJCS5kaWdlc3QJPSAiXHhiMFx4YjFceDA1XHgzNlx4MGRceGU3XHg1OVx4OTZceDBhXHhiNCIKKwkJCSAgIlx4ZjNceDUyXHg5OFx4ZTFceDE2XHhlMlx4OTVceGQ4XHhlN1x4YzEiLAorCX0sIHsKKwkJLmtleQk9ICJceDAxXHgwMlx4MDNceDA0XHgwNVx4MDZceDA3XHgwOCIKKwkJCSAgIlx4MDlceDBhXHgwYlx4MGNceDBkXHgwZVx4MGZceDEwIgorCQkJICAiXHgxMVx4MTJceDEzXHgxNFx4MTVceDE2XHgxN1x4MThceDE5IiwKKwkJLmtzaXplCT0gMjUsCisJCS5wbGFpbnRleHQgPSAiXHhjZFx4Y2RceGNkXHhjZFx4Y2RceGNkXHhjZFx4Y2RceGNkXHhjZFx4Y2RceGNkIgorCQkJIlx4Y2RceGNkXHhjZFx4Y2RceGNkXHhjZFx4Y2RceGNkXHhjZFx4Y2RceGNkXHhjZFx4Y2QiCisJCQkiXHhjZFx4Y2RceGNkXHhjZFx4Y2RceGNkXHhjZFx4Y2RceGNkXHhjZFx4Y2RceGNkXHhjZCIKKwkJCSJceGNkXHhjZFx4Y2RceGNkXHhjZFx4Y2RceGNkXHhjZFx4Y2RceGNkXHhjZFx4Y2QiLAorCQkucHNpemUJPSA1MCwKKwkJLmRpZ2VzdAk9ICJceGQ1XHhjYVx4ODZceDJmXHg0ZFx4MjFceGQ1XHhlNlx4MTBceGUxIgorCQkJICAiXHg4Ylx4NGNceGYxXHhiZVx4YjlceDdhXHg0M1x4NjVceGVjXHhmNCIsCisJfSwgeworCQkua2V5CT0gIlx4MGNceDBjXHgwY1x4MGNceDBjXHgwY1x4MGNceDBjXHgwY1x4MGNceDBjXHgwY1x4MGNceDBjXHgwY1x4MGNceDBjXHgwY1x4MGNceDBjIiwKKwkJLmtzaXplCT0gMjAsCisJCS5wbGFpbnRleHQgPSAiVGVzdCBXaXRoIFRydW5jYXRpb24iLAorCQkucHNpemUJPSAyMCwKKwkJLmRpZ2VzdAk9ICJceDc2XHgxOVx4NjlceDM5XHg3OFx4ZjlceDFkXHg5MFx4NTNceDlhIgorCQkJICAiXHhlN1x4ODZceDUwXHgwZlx4ZjNceGQ4XHhlMFx4NTFceDhlXHgzOSIsCisJfSwgeworCQkua2V5CT0gIlx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWEiCisJCQkiXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYSIKKwkJCSJceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhIgorCQkJIlx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWEiCisJCQkiXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYSIKKwkJCSJceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhIgorCQkJIlx4YWFceGFhIiwKKwkJLmtzaXplCT0gODAsCisJCS5wbGFpbnRleHQgPSAiVGVzdCBVc2luZyBMYXJnZXIgVGhhbiBCbG9jay1TaXplIEtleSAtIEhhc2ggS2V5IEZpcnN0IiwKKwkJLnBzaXplCT0gNTQsCisJCS5kaWdlc3QJPSAiXHg2NFx4NjZceGNhXHgwN1x4YWNceDVlXHhhY1x4MjlceGUxXHhiZCIKKwkJCSAgIlx4NTJceDNlXHg1YVx4ZGFceDc2XHgwNVx4YjdceDkxXHhmZFx4OGIiLAorCX0sIHsKKwkJLmtleQk9ICJceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhIgorCQkJIlx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWEiCisJCQkiXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYSIKKwkJCSJceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhIgorCQkJIlx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWEiCisJCQkiXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYSIKKwkJCSJceGFhXHhhYSIsCisJCS5rc2l6ZQk9IDgwLAorCQkucGxhaW50ZXh0ID0gIlRlc3QgVXNpbmcgTGFyZ2VyIFRoYW4gQmxvY2stU2l6ZSBLZXkgYW5kIExhcmdlciBUaGFuIE9uZSAiCisJCQkgICAiQmxvY2stU2l6ZSBEYXRhIiwKKwkJLnBzaXplCT0gNzMsCisJCS5kaWdlc3QJPSAiXHg2OVx4ZWFceDYwXHg3OVx4OGRceDcxXHg2MVx4NmNceGNlXHg1ZiIKKwkJCSAgIlx4ZDBceDg3XHgxZVx4MjNceDc1XHg0Y1x4ZDdceDVkXHg1YVx4MGEiLAorCX0sCit9OworCisvKgogICogSE1BQy1TSEExIHRlc3QgdmVjdG9ycyBmcm9tIFJGQzIyMDIKICAqLwogI2RlZmluZSBITUFDX1NIQTFfVEVTVF9WRUNUT1JTCTcKQEAgLTE0NDIsNiArMTg2Myw4IEBACiAjZGVmaW5lIERFU19DQkNfREVDX1RFU1RfVkVDVE9SUwk0CiAjZGVmaW5lIERFUzNfRURFX0VOQ19URVNUX1ZFQ1RPUlMJMwogI2RlZmluZSBERVMzX0VERV9ERUNfVEVTVF9WRUNUT1JTCTMKKyNkZWZpbmUgREVTM19FREVfQ0JDX0VOQ19URVNUX1ZFQ1RPUlMJMQorI2RlZmluZSBERVMzX0VERV9DQkNfREVDX1RFU1RfVkVDVE9SUwkxCiAKIHN0YXRpYyBzdHJ1Y3QgY2lwaGVyX3Rlc3R2ZWMgZGVzX2VuY190dl90ZW1wbGF0ZVtdID0gewogCXsgLyogRnJvbSBBcHBsaWVkIENyeXB0b2dyYXBoeSAqLwpAQCAtMTY4MCw5ICsyMTAzLDYgQEAKIAl9LAogfTsKIAotLyoKLSAqIFdlIHJlYWxseSBuZWVkIHNvbWUgbW9yZSB0ZXN0IHZlY3RvcnMsIGVzcGVjaWFsbHkgZm9yIERFUzMgQ0JDLgotICovCiBzdGF0aWMgc3RydWN0IGNpcGhlcl90ZXN0dmVjIGRlczNfZWRlX2VuY190dl90ZW1wbGF0ZVtdID0gewogCXsgLyogVGhlc2UgYXJlIGZyb20gb3BlbnNzbCAqLwogCQkua2V5CT0gIlx4MDFceDIzXHg0NVx4NjdceDg5XHhhYlx4Y2RceGVmIgpAQCAtMTc0NSw2ICsyMTY1LDk0IEBACiAJfSwKIH07CiAKK3N0YXRpYyBzdHJ1Y3QgY2lwaGVyX3Rlc3R2ZWMgZGVzM19lZGVfY2JjX2VuY190dl90ZW1wbGF0ZVtdID0geworCXsgLyogR2VuZXJhdGVkIGZyb20gb3BlbnNzbCAqLworCQkua2V5CT0gIlx4RTlceEMwXHhGRlx4MkVceDc2XHgwQlx4NjRceDI0IgorCQkJICAiXHg0NFx4NERceDk5XHg1QVx4MTJceEQ2XHg0MFx4QzAiCisJCQkgICJceEVBXHhDMlx4ODRceEU4XHgxNFx4OTVceERCXHhFOCIsCisJCS5rbGVuCT0gMjQsCisJCS5pdgk9ICJceDdEXHgzM1x4ODhceDkzXHgwRlx4OTNceEIyXHg0MiIsCisJCS5pbnB1dAk9ICJceDZmXHg1NFx4MjBceDZmXHg2MVx4NGRceDc5XHg2ZSIKKwkJCSAgIlx4NTNceDIwXHg2M1x4NjVceDY1XHg3Mlx4NzNceDc0IgorCQkJICAiXHg1NFx4MjBceDZmXHg2Zlx4NGRceDIwXHg2ZVx4NjEiCisJCQkgICJceDIwXHg3OVx4NjVceDUzXHg3Mlx4NjNceDc0XHg2NSIKKwkJCSAgIlx4MjBceDczXHg2Zlx4NTRceDIwXHg2Zlx4NjFceDRkIgorCQkJICAiXHg3OVx4NmVceDUzXHgyMFx4NjNceDY1XHg2NVx4NzIiCisJCQkgICJceDczXHg3NFx4NTRceDIwXHg2Zlx4NmZceDRkXHgyMCIKKwkJCSAgIlx4NmVceDYxXHgyMFx4NzlceDY1XHg1M1x4NzJceDYzIgorCQkJICAiXHg3NFx4NjVceDIwXHg3M1x4NmZceDU0XHgyMFx4NmYiCisJCQkgICJceDYxXHg0ZFx4NzlceDZlXHg1M1x4MjBceDYzXHg2NSIKKwkJCSAgIlx4NjVceDcyXHg3M1x4NzRceDU0XHgyMFx4NmZceDZmIgorCQkJICAiXHg0ZFx4MjBceDZlXHg2MVx4MjBceDc5XHg2NVx4NTMiCisJCQkgICJceDcyXHg2M1x4NzRceDY1XHgyMFx4NzNceDZmXHg1NCIKKwkJCSAgIlx4MjBceDZmXHg2MVx4NGRceDc5XHg2ZVx4NTNceDIwIgorCQkJICAiXHg2M1x4NjVceDY1XHg3Mlx4NzNceDc0XHg1NFx4MjAiCisJCQkgICJceDZmXHg2Zlx4NGRceDIwXHg2ZVx4NjFceDBhXHg3OSIsCisJCS5pbGVuCT0gMTI4LAorCQkucmVzdWx0CT0gIlx4MGVceDJkXHhiNlx4OTdceDNjXHg1Nlx4MzNceGY0IgorCQkJICAiXHg2N1x4MTdceDIxXHhjN1x4NmVceDhhXHhkNVx4NDkiCisJCQkgICJceDc0XHhiM1x4NDlceDA1XHhjNVx4MWNceGQwXHhlZCIKKwkJCSAgIlx4MTJceDU2XHg1Y1x4NTNceDk2XHhiNlx4MDBceDdkIgorCQkJICAiXHg5MFx4NDhceGZjXHhmNVx4OGRceDI5XHgzOVx4Y2MiCisJCQkgICJceDhhXHhkNVx4MzVceDE4XHgzNlx4MjNceDRlXHhkNyIKKwkJCSAgIlx4NzZceGQxXHhkYVx4MGNceDk0XHg2N1x4YmJceDA0IgorCQkJICAiXHg4Ylx4ZjJceDAzXHg2Y1x4YThceGNmXHhiNlx4ZWEiCisJCQkgICJceDIyXHg2NFx4NDdceGFhXHg4Zlx4NzVceDEzXHhiZiIKKwkJCSAgIlx4OWZceGMyXHhjM1x4ZjBceGM5XHg1Nlx4YzVceDdhIgorCQkJICAiXHg3MVx4NjNceDJlXHg4OVx4N2JceDFlXHgxMlx4Y2EiCisJCQkgICJceGUyXHg1Zlx4YWZceGQ4XHhhNFx4ZjhceGM5XHg3YSIKKwkJCSAgIlx4ZDZceGY5XHgyMVx4MzFceDYyXHg0NFx4NDVceGE2IgorCQkJICAiXHhkNlx4YmNceDVhXHhkM1x4MmRceDU0XHg0M1x4Y2MiCisJCQkgICJceDlkXHhkZVx4YTVceDcwXHhlOVx4NDJceDQ1XHg4YSIKKwkJCSAgIlx4NmJceGZhXHhiMVx4OTFceDEzXHhiMFx4ZDlceDE5IiwKKwkJLnJsZW4JPSAxMjgsCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2lwaGVyX3Rlc3R2ZWMgZGVzM19lZGVfY2JjX2RlY190dl90ZW1wbGF0ZVtdID0geworCXsgLyogR2VuZXJhdGVkIGZyb20gb3BlbnNzbCAqLworCQkua2V5CT0gIlx4RTlceEMwXHhGRlx4MkVceDc2XHgwQlx4NjRceDI0IgorCQkJICAiXHg0NFx4NERceDk5XHg1QVx4MTJceEQ2XHg0MFx4QzAiCisJCQkgICJceEVBXHhDMlx4ODRceEU4XHgxNFx4OTVceERCXHhFOCIsCisJCS5rbGVuCT0gMjQsCisJCS5pdgk9ICJceDdEXHgzM1x4ODhceDkzXHgwRlx4OTNceEIyXHg0MiIsCisJCS5pbnB1dAk9ICJceDBlXHgyZFx4YjZceDk3XHgzY1x4NTZceDMzXHhmNCIKKwkJCSAgIlx4NjdceDE3XHgyMVx4YzdceDZlXHg4YVx4ZDVceDQ5IgorCQkJICAiXHg3NFx4YjNceDQ5XHgwNVx4YzVceDFjXHhkMFx4ZWQiCisJCQkgICJceDEyXHg1Nlx4NWNceDUzXHg5Nlx4YjZceDAwXHg3ZCIKKwkJCSAgIlx4OTBceDQ4XHhmY1x4ZjVceDhkXHgyOVx4MzlceGNjIgorCQkJICAiXHg4YVx4ZDVceDM1XHgxOFx4MzZceDIzXHg0ZVx4ZDciCisJCQkgICJceDc2XHhkMVx4ZGFceDBjXHg5NFx4NjdceGJiXHgwNCIKKwkJCSAgIlx4OGJceGYyXHgwM1x4NmNceGE4XHhjZlx4YjZceGVhIgorCQkJICAiXHgyMlx4NjRceDQ3XHhhYVx4OGZceDc1XHgxM1x4YmYiCisJCQkgICJceDlmXHhjMlx4YzNceGYwXHhjOVx4NTZceGM1XHg3YSIKKwkJCSAgIlx4NzFceDYzXHgyZVx4ODlceDdiXHgxZVx4MTJceGNhIgorCQkJICAiXHhlMlx4NWZceGFmXHhkOFx4YTRceGY4XHhjOVx4N2EiCisJCQkgICJceGQ2XHhmOVx4MjFceDMxXHg2Mlx4NDRceDQ1XHhhNiIKKwkJCSAgIlx4ZDZceGJjXHg1YVx4ZDNceDJkXHg1NFx4NDNceGNjIgorCQkJICAiXHg5ZFx4ZGVceGE1XHg3MFx4ZTlceDQyXHg0NVx4OGEiCisJCQkgICJceDZiXHhmYVx4YjFceDkxXHgxM1x4YjBceGQ5XHgxOSIsCisJCS5pbGVuCT0gMTI4LAorCQkucmVzdWx0CT0gIlx4NmZceDU0XHgyMFx4NmZceDYxXHg0ZFx4NzlceDZlIgorCQkJICAiXHg1M1x4MjBceDYzXHg2NVx4NjVceDcyXHg3M1x4NzQiCisJCQkgICJceDU0XHgyMFx4NmZceDZmXHg0ZFx4MjBceDZlXHg2MSIKKwkJCSAgIlx4MjBceDc5XHg2NVx4NTNceDcyXHg2M1x4NzRceDY1IgorCQkJICAiXHgyMFx4NzNceDZmXHg1NFx4MjBceDZmXHg2MVx4NGQiCisJCQkgICJceDc5XHg2ZVx4NTNceDIwXHg2M1x4NjVceDY1XHg3MiIKKwkJCSAgIlx4NzNceDc0XHg1NFx4MjBceDZmXHg2Zlx4NGRceDIwIgorCQkJICAiXHg2ZVx4NjFceDIwXHg3OVx4NjVceDUzXHg3Mlx4NjMiCisJCQkgICJceDc0XHg2NVx4MjBceDczXHg2Zlx4NTRceDIwXHg2ZiIKKwkJCSAgIlx4NjFceDRkXHg3OVx4NmVceDUzXHgyMFx4NjNceDY1IgorCQkJICAiXHg2NVx4NzJceDczXHg3NFx4NTRceDIwXHg2Zlx4NmYiCisJCQkgICJceDRkXHgyMFx4NmVceDYxXHgyMFx4NzlceDY1XHg1MyIKKwkJCSAgIlx4NzJceDYzXHg3NFx4NjVceDIwXHg3M1x4NmZceDU0IgorCQkJICAiXHgyMFx4NmZceDYxXHg0ZFx4NzlceDZlXHg1M1x4MjAiCisJCQkgICJceDYzXHg2NVx4NjVceDcyXHg3M1x4NzRceDU0XHgyMCIKKwkJCSAgIlx4NmZceDZmXHg0ZFx4MjBceDZlXHg2MVx4MGFceDc5IiwKKwkJLnJsZW4JPSAxMjgsCisJfSwKK307CisKIC8qCiAgKiBCbG93ZmlzaCB0ZXN0IHZlY3RvcnMuCiAgKi8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvTWFrZWZpbGUgYi9kcml2ZXJzL01ha2VmaWxlCmluZGV4IGY2NWRlZGEuLmZkYTQ0NjcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvTWFrZWZpbGUKKysrIGIvZHJpdmVycy9NYWtlZmlsZQpAQCAtMTAsNiArMTAsNyBAQAogb2JqLSQoQ09ORklHX1BBUklTQykJCSs9IHBhcmlzYy8KIG9iai0kKENPTkZJR19SQVBJRElPKQkJKz0gcmFwaWRpby8KIG9iai15CQkJCSs9IHZpZGVvLworb2JqLXkJCQkJKz0gZ3B1Lwogb2JqLSQoQ09ORklHX0FDUEkpCQkrPSBhY3BpLwogIyBQblAgbXVzdCBjb21lIGFmdGVyIEFDUEkgc2luY2UgaXQgd2lsbCBldmVudHVhbGx5IG5lZWQgdG8gY2hlY2sgaWYgYWNwaQogIyB3YXMgdXNlZCBhbmQgZG8gbm90aGluZyBpZiBzbwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9hY29ybi9jaGFyL01ha2VmaWxlIGIvZHJpdmVycy9hY29ybi9jaGFyL01ha2VmaWxlCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkMDA2YzlmLi4wMDAwMDAwCi0tLSBhL2RyaXZlcnMvYWNvcm4vY2hhci9NYWtlZmlsZQorKysgL2Rldi9udWxsCkBAIC0xLDUgKzAsMCBAQAotIwotIyBNYWtlZmlsZSBmb3IgdGhlIGFjb3JuIGNoYXJhY3RlciBkZXZpY2UgZHJpdmVycy4KLSMKLQotb2JqLSQoQ09ORklHX0w3MjAwX0tFWUIpCSs9IGRlZmtleW1hcC1sNzIwMC5vIGtleWJfbDcyMDAubwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9hY29ybi9jaGFyL2RlZmtleW1hcC1sNzIwMC5jIGIvZHJpdmVycy9hY29ybi9jaGFyL2RlZmtleW1hcC1sNzIwMC5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5M2Q4MGExLi4wMDAwMDAwCi0tLSBhL2RyaXZlcnMvYWNvcm4vY2hhci9kZWZrZXltYXAtbDcyMDAuYworKysgL2Rldi9udWxsCkBAIC0xLDM4NiArMCwwIEBACi0vKgotICogbGludXgvZHJpdmVycy9hY29ybi9jaGFyL2RlZmtleW1hcC1sNzIwMC5jCi0gKgotICogRGVmYXVsdCBrZXlib2FyZCBtYXBzIGZvciBMaW5rVXAgU3lzdGVtcyBMNzIwMCBib2FyZAotICoKLSAqIENvcHlyaWdodCAoQykgMjAwMCBTdGV2ZSBIaWxsIChzamhpbGxAY290dy5jb20pCi0gKgotICogQ2hhbmdlbG9nOgotICogICAwOC0wNC0yMDAwIFNKSCAgICAgQ3JlYXRlZCBmaWxlCi0gKi8KLQotI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+Ci0jaW5jbHVkZSA8bGludXgva2V5Ym9hcmQuaD4KLSNpbmNsdWRlIDxsaW51eC9rZC5oPgotCi0vKiBOb3JtYWwgKG1hcHMgMToxIHdpdGggbm8gcHJvY2Vzc2luZykgKi8KLSNkZWZpbmUgS1RuCTB4RjAKLS8qIEZ1bmN0aW9uIGtleXMgKi8KLSNkZWZpbmUgS1RmCTB4RjEKLS8qIFNwZWNpYWwgKFBlcmZvcm1zIHNwZWNpYWwgaG91c2Uta2VlcGluZyBmdW5jcykgKi8KLSNkZWZpbmUgS1RzCTB4RjIKLSNkZWZpbmUgS0lHTk9SRQkJSyhLVHMsIDApCS8qIElnbm9yZSAqLwotI2RlZmluZSBLRU5URVIJCUsoS1RzLCAxKQkvKiBFbnRlciAqLwotI2RlZmluZSBLUkVHUwkJSyhLVHMsIDIpCS8qIFJlZ3MgKi8KLSNkZWZpbmUgS01FTQkJSyhLVHMsIDMpCS8qIE1lbSAqLwotI2RlZmluZSBLU1RBVAkJSyhLVHMsIDQpCS8qIFN0YXRlICovCi0jZGVmaW5lIEtJTlRSCQlLKEtUcywgNSkJLyogSW50ciAqLwotI2RlZmluZSBLc2wJNgkvKiBMYXN0IGNvbnNvbGUgKi8KLSNkZWZpbmUgS0NBUFNMSwkJSyhLVHMsIDcpCS8qIENhcHMgbG9jayAqLwotI2RlZmluZSBLTlVNTEsJCUsoS1RzLCA4KQkvKiBOdW0tbG9jayAqLwotI2RlZmluZSBLU0NSTExLCQlLKEtUcywgOSkJLyogU2Nyb2xsLWxvY2sgKi8KLSNkZWZpbmUgS1NDUkxGT1IJSyhLVHMsMTApCS8qIFNjcm9sbCBmb3J3YXJkICovCi0jZGVmaW5lIEtTQ1JMQkFLCUsoS1RzLDExKQkvKiBTY3JvbGwgYmFjayAqLwotI2RlZmluZSBLUkVCT09UCQlLKEtUcywxMikJLyogUmVib290ICovCi0jZGVmaW5lIEtDQVBTT04JCUsoS1RzLDEzKQkvKiBDYXBzIG9uICovCi0jZGVmaW5lIEtDT01QT1NFCUsoS1RzLDE0KQkvKiBDb21wb3NlICovCi0jZGVmaW5lIEtTQUsJCUsoS1RzLDE1KQkvKiBTQUsgKi8KLSNkZWZpbmUgQ09OU19ERUMJSyhLVHMsMTYpCS8qIERlYyBjb25zb2xlICovCi0jZGVmaW5lIENPTlNfSU5DCUsoS1RzLDE3KQkvKiBJbmNyIGNvbnNvbGUgKi8KLSNkZWZpbmUgS0ZMT1BQWQkJSyhLVHMsMTgpCS8qIEZsb3BweSAqLwotLyogS2V5IHBhZCAoMC05ID0gZGlnaXRzLCAxMD0rLCAxMT0tLCAxMj0qLCAxMz0vLCAxND1lbnRlciwgMTY9LiwgMTc9IyAqLwotI2RlZmluZSBLVHAJMHhGMwotI2RlZmluZSBLUEFEXzAJCUsoS1RwLCAwICkKLSNkZWZpbmUgS1BBRF8xICAJSyhLVHAsIDEgKQotI2RlZmluZSBLUEFEXzIJCUsoS1RwLCAyICkKLSNkZWZpbmUgS1BBRF8zCQlLKEtUcCwgMyApCi0jZGVmaW5lIEtQQURfNAkJSyhLVHAsIDQgKQotI2RlZmluZSBLUEFEXzUJCUsoS1RwLCA1ICkKLSNkZWZpbmUgS1BBRF82CQlLKEtUcCwgNiApCi0jZGVmaW5lIEtQQURfNwkJSyhLVHAsIDcgKQotI2RlZmluZSBLUEFEXzgJCUsoS1RwLCA4ICkKLSNkZWZpbmUgS1BBRF85CQlLKEtUcCwgOSApCi0jZGVmaW5lIEtQQURfUEwJCUsoS1RwLDEwICkKLSNkZWZpbmUgS1BBRF9NSQkJSyhLVHAsMTEgKQotI2RlZmluZSBLUEFEX01MCQlLKEtUcCwxMiApCi0jZGVmaW5lIEtQQURfRFYJCUsoS1RwLDEzICkKLSNkZWZpbmUgS1BBRF9FTgkJSyhLVHAsMTQgKQotI2RlZmluZSBLUEFEX0RUCQlLKEtUcCwxNiApCi0jZGVmaW5lIEtQQURfSFMJCUsoS1RwLDIwICkKLS8qIENvbnNvbGUgc3dpdGNoaW5nICovCi0jZGVmaW5lIEtDbgkweEY1Ci0vKiBDdXJzb3IgKi8KLSNkZWZpbmUgS1RjCTB4RjYKLSNkZWZpbmUgS2NkCTAJLyogQ3Vyc29yIGRvd24gKi8KLSNkZWZpbmUgS2NsCTEJLyogQ3Vyc29yIGxlZnQgKi8KLSNkZWZpbmUgS2NyCTIJLyogQ3Vyc29yIHJpZ2h0ICovCi0jZGVmaW5lIEtjdQkzCS8qIEN1cnNvciB1cCAqLwotLyogU2hpZnQvYWx0IG1vZGlmaWVycyBldGMgKi8KLSNkZWZpbmUgS01kCTB4RjcKLSNkZWZpbmUgS1NISUZUCQlLKEtNZCwgMCApCi0jZGVmaW5lIEtBTFRHUgkJSyhLTWQsIDEgKQotI2RlZmluZSBLQ1RSTAkJSyhLTWQsIDIgKQotI2RlZmluZSBLQUxUCQlLKEtNZCwgMyApCi0vKiBNZXRhICovCi0jZGVmaW5lIEtNdAkweEY4Ci0jZGVmaW5lIEtBcwkweEY5Ci0jZGVmaW5lIEtQQURBXzAJCUsoS0FzLCAwICkKLSNkZWZpbmUgS1BBREFfMQkJSyhLQXMsIDEgKQotI2RlZmluZSBLUEFEQV8yCQlLKEtBcywgMiApCi0jZGVmaW5lIEtQQURBXzMJCUsoS0FzLCAzICkKLSNkZWZpbmUgS1BBREFfNAkJSyhLQXMsIDQgKQotI2RlZmluZSBLUEFEQV81CQlLKEtBcywgNSApCi0jZGVmaW5lIEtQQURBXzYJCUsoS0FzLCA2ICkKLSNkZWZpbmUgS1BBREFfNwkJSyhLQXMsIDcgKQotI2RlZmluZSBLUEFEQV84CQlLKEtBcywgOCApCi0jZGVmaW5lIEtQQURBXzkJCUsoS0FzLCA5ICkKLSNkZWZpbmUgS1BBREJfMAkJSyhLQXMsMTAgKQotI2RlZmluZSBLUEFEQl8xCQlLKEtBcywxMSApCi0jZGVmaW5lIEtQQURCXzIJCUsoS0FzLDEyICkKLSNkZWZpbmUgS1BBREJfMwkJSyhLQXMsMTMgKQotI2RlZmluZSBLUEFEQl80CQlLKEtBcywxNCApCi0jZGVmaW5lIEtQQURCXzUJCUsoS0FzLDE1ICkKLSNkZWZpbmUgS1BBREJfNgkJSyhLQXMsMTYgKQotI2RlZmluZSBLUEFEQl83CQlLKEtBcywxNyApCi0jZGVmaW5lIEtQQURCXzgJCUsoS0FzLDE4ICkKLSNkZWZpbmUgS1BBREJfOQkJSyhLQXMsMTkgKQotLyogTG9ja2luZyBrZXlzICovCi0jZGVmaW5lIEtMawkweEZBCi0vKiBMZXR0ZXJzICovCi0jZGVmaW5lIEtUbAkweEZCCi0KLS8qCi0gKiBIZXJlIGlzIHRoZSBsYXlvdXQgb2YgdGhlIGtleXMgZm9yIHRoZSBGdWppdHN1IFFXRVJUWQotICogc3R5bGUga2V5Ym9hcmQ6Ci0gKgotICoJc3RhdGljIGNoYXIgRnVqaXRzdV9LZXlfVGFibGVbXSA9Ci0gKgl7Ci0gKiAgICAgICAgS0FMVCwgJ2AnICwgS05VTCwgS0NUTCwgS0ZVTiwgS0VTQywgJzEnICwgJzInICwKLSAqCSAgJzknICwgJzAnICwgJy0nICwgJz0nICwgS05VTCwgS0JTUCwgS05VTCwgS05VTCwKLSAqCSAgS05VTCwgS0JTTCwgS1NIRiwgS05VTCwgS05VTCwgS0RFTCwgS05VTCwgJ3QnICwKLSAqCSAgJ3knICwgJ3UnICwgJ2knICwgS1JFVCwgS1NIRiwgS1BHRCwgS05VTCwgS05VTCwKLSAqCSAgS05VTCwgS1RBQiwgS05VTCwgS05VTCwgS05VTCwgJ3EnICwgJ3cnICwgJ2UnICwKLSAqCSAgJ3InICwgJ28nICwgJ3AnICwgJ1snICwgS05VTCwgJ10nICwgS05VTCwgS05VTCwKLSAqCSAgS05VTCwgJ3onICwgS05VTCwgS05VTCwgS05VTCwgS1NITCwgS05VTCwgS05VTCwKLSAqCSAgJ2snICwgJ2wnICwgJzsnICwgS1NRVCwgS05VTCwgS1BHVSwgS05VTCwgS05VTCwKLSAqCSAgS05VTCwgJ2EnICwgS05VTCwgS05VTCwgS05VTCwgJ3MnICwgJ2QnICwgJ2YnICwKLSAqCSAgJ2cnICwgJ2gnICwgJ2onICwgJy8nICwgS05VTCwgS0hNRSwgS05VTCwgS05VTCwKLSAqCSAgS05VTCwgJ3gnICwgS05VTCwgS05VTCwgS05VTCwgJ2MnICwgJ3YnICwgJ2InICwKLSAqCSAgJ24nICwgJ20nICwgJywnICwgJy4nICwgS05VTCwgJyAnICwgS05VTCwgS05VTCwKLSAqCSAgS05VTCwgS05VTCwgS05VTCwgS05VTCwgS05VTCwgJzMnICwgJzQnICwgJzUnICwKLSAqCSAgJzYnICwgJzcnICwgJzgnICwgS05VTCwgS1BSRywgS05VTCwgS0VORCwgS05VTCwKLSAqCX07Ci0gKi8KLQotdV9zaG9ydCBwbGFpbl9tYXBbTlJfS0VZU109Ci17Ci0JMHhmNzAzLCAweGYwNjAsIDB4ZjIwMCwgMHhmNzAyLCAweGYyMDAsIDB4ZjAxYiwgMHhmMDMxLCAweGYwMzIsCi0JMHhmMDM5LCAweGYwMzAsIDB4ZjAyZCwgMHhmMDNkLCAweGYyMDAsIDB4ZjA3ZiwgMHhmMjAwLCAweGYyMDAsCi0JMHhmMjAwLCAweGYwNWMsIDB4ZjcwMCwgMHhmMjAwLCAweGYyMDAsIDB4ZjExNiwgMHhmMDAwLCAweGZiNzQsCi0JMHhmYjc5LCAweGZiNzUsIDB4ZmI2OSwgMHhmMjAxLCAweGY3MDAsIDB4ZjYwMCwgMHhmMjAwLCAweGYyMDAsCi0JMHhmMjAwLCAweGYwMDksIDB4ZjIwMCwgMHhmMjAwLCAweGYyMDAsIDB4ZmI3MSwgMHhmYjc3LCAweGZiNjUsCi0JMHhmYjcyLCAweGZiNmYsIDB4ZmI3MCwgMHhmMDViLCAweGYyMDAsIDB4ZjA1ZCwgMHhmMjAwLCAweGYyMDAsCi0JMHhmMjAwLCAweGZiN2EsIDB4ZjIwMCwgMHhmMjAwLCAweGYyMDAsIDB4ZjIwNywgMHhmMjAwLCAweGYyMDAsCi0JMHhmYjZiLCAweGZiNmMsIDB4ZjAzYiwgMHhmMDI3LCAweGYyMDAsIDB4ZjYwMywgMHhmMjAwLCAweGYyMDAsCi0JMHhmMjAwLCAweGZiNjEsIDB4ZjIwMCwgMHhmMjAwLCAweGYyMDAsIDB4ZmI3MywgMHhmYjY0LCAweGZiNjYsCi0JMHhmYjY3LCAweGZiNjgsIDB4ZmI2YSwgMHhmMDJmLCAweGYyMDAsIDB4ZjYwMSwgMHhmMjAwLCAweGYyMDAsCi0JMHhmMjAwLCAweGZiNzgsIDB4ZjIwMCwgMHhmMjAwLCAweGYyMDAsIDB4ZmI2MywgMHhmYjc2LCAweGZiNjIsCi0JMHhmYjZlLCAweGZiNmQsIDB4ZjAyYywgMHhmMDJlLCAweGYyMDAsIDB4ZjAyMCwgMHhmMjAwLCAweGYyMDAsCi0JMHhmMjAwLCAweGYyMDAsIDB4ZjIwMCwgMHhmMjAwLCAweGYyMDAsIDB4ZjAzMywgMHhmMDM0LCAweGYwMzUsIAotCTB4ZjAzNiwgMHhmMDM3LCAweGYwMzgsIDB4ZjIwMCwgMHhmMjAwLCAweGYyMDAsIDB4ZjYwMiwgMHhmMjAwLCAKLQkweGYyMDAsIDB4ZjIwMCwgMHhmMjAwLCAweGYyMDAsIDB4ZjIwMCwgMHhmMjAwLCAweGYyMDAsIDB4ZjIwMCwgCi0JMHhmMjAwLCAweGYyMDAsIDB4ZjIwMCwgMHhmMjAwLCAweGYyMDAsIDB4ZjIwMCwgMHhmMjAwLCAweGYyMDAsIAotfTsKLQotdV9zaG9ydCBzaGlmdF9tYXBbTlJfS0VZU109Ci17Ci0JMHhmNzAzLCAweGYwN2UsIDB4ZjIwMCwgMHhmNzAyLCAweGYyMDAsIDB4ZjAxYiwgMHhmMDIxLCAweGYwNDAsCi0JMHhmMDI4LCAweGYwMjksIDB4ZjA1ZiwgMHhmMDJiLCAweGYyMDAsIDB4ZjA3ZiwgMHhmMjAwLCAweGYyMDAsCi0JMHhmMjAwLCAweGYwN2MsIDB4ZjcwMCwgMHhmMjAwLCAweGYyMDAsIDB4ZjExNiwgMHhmMDAwLCAweGZiNTQsCi0JMHhmYjU5LCAweGZiNTUsIDB4ZmI0OSwgMHhmMjAxLCAweGY3MDAsIDB4ZjYwMCwgMHhmMjAwLCAweGYyMDAsCi0gCTB4ZjIwMCwgMHhmMDA5LCAweGYyMDAsIDB4ZjIwMCwgMHhmMjAwLCAweGZiNTEsIDB4ZmI1NywgMHhmYjQ1LAotCTB4ZmI1MiwgMHhmYjRmLCAweGZiNTAsIDB4ZjA3YiwgMHhmMjAwLCAweGYwN2QsIDB4ZjIwMCwgMHhmMjAwLAotCTB4ZjIwMCwgMHhmYjVhLCAweGYyMDAsIDB4ZjIwMCwgMHhmMjAwLCAweGYyMDcsIDB4ZjIwMCwgMHhmMjAwLAotCTB4ZmI0YiwgMHhmYjRjLCAweGYwM2EsIDB4ZjAyMiwgMHhmMjAwLCAweGY2MDMsIDB4ZjIwMCwgMHhmMjAwLAotCTB4ZjIwMCwgMHhmYjQxLCAweGYyMDAsIDB4ZjIwMCwgMHhmMjAwLCAweGZiNTMsIDB4ZmI0NCwgMHhmYjQ2LAotCTB4ZmI0NywgMHhmYjQ4LCAweGZiNGEsIDB4ZjAzZiwgMHhmMjAwLCAweGY2MDEsIDB4ZjIwMCwgMHhmMjAwLAotCTB4ZjIwMCwgMHhmYjU4LCAweGYyMDAsIDB4ZjIwMCwgMHhmMjAwLCAweGZiNDMsIDB4ZmI1NiwgMHhmYjQyLAotCTB4ZmI0ZSwgMHhmYjRkLCAweGYwM2MsIDB4ZjAzZSwgMHhmMjAwLCAweGYwMjAsIDB4ZjIwMCwgMHhmMjAwLAotCTB4ZjIwMCwgMHhmMjAwLCAweGYyMDAsIDB4ZjIwMCwgMHhmMjAwLCAweGYwMjMsIDB4ZjAyNCwgMHhmMDI1LCAKLQkweGYwNWUsIDB4ZjAyNiwgMHhmMDJhLCAweGYyMDAsIDB4ZjIwMCwgMHhmMjAwLCAweGY2MDIsIDB4ZjIwMCwgCi0JMHhmMjAwLCAweGYyMDAsIDB4ZjIwMCwgMHhmMjAwLCAweGYyMDAsIDB4ZjIwMCwgMHhmMjAwLCAweGYyMDAsIAotCTB4ZjIwMCwgMHhmMjAwLCAweGYyMDAsIDB4ZjIwMCwgMHhmMjAwLCAweGYyMDAsIDB4ZjIwMCwgMHhmMjAwLCAKLX07Ci0KLXVfc2hvcnQgYWx0Z3JfbWFwW05SX0tFWVNdPQotewotICBLSUdOT1JFICAgLEsoS0NuLDEyICksSyhLQ24sMTMgKSxLKEtDbiwxNCAgKSxLKEtDbiwxNSApLEsoS0NuLDE2ICksSyhLQ24sMTcgICksSyhLQ24sIDE4KSwKLSAgSyhLQ24sIDE5KSxLKEtDbiwyMCApLEsoS0NuLDIxICksSyhLQ24sMjIgICksSyhLQ24sMjMgKSxLSUdOT1JFICAgLEtSRUdTICAgICAgLEtJTlRSICAgICAsCi0gIEtJR05PUkUgICAsS0lHTk9SRSAgICxLKEtUbiwnQCcpLEtJR05PUkUgICAgLEsoS1RuLCckJyksS0lHTk9SRSAgICxLSUdOT1JFICAgICxLKEtUbiwneycpLAotICBLKEtUbiwnWycpLEsoS1RuLCddJyksSyhLVG4sJ30nKSxLKEtUbiwnXFwnKSxLSUdOT1JFICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICAsSyhLVGYsMjEgKSwKLSAgSyhLVGYsMjAgKSxLKEtUZiwyNCApLEtOVU1MSyAgICAsS1BBRF9EViAgICAsS1BBRF9NTCAgICxLUEFEX0hTICAgLEtJR05PUkUgICAgLEsoS1RsLCdxJyksCi0gIEsoS1RsLCd3JyksSyhLVGwsJ2UnKSxLKEtUbCwncicpLEsoS1RsLCd0JyApLEsoS1RsLCd5JyksSyhLVGwsJ3UnKSxLKEtUbCwnaScgKSxLKEtUbCwnbycpLAotICBLKEtUbCwncCcpLEtJR05PUkUgICAsSyhLVG4sJ34nKSxLSUdOT1JFICAgICxLKEtUZiwyMiApLEsoS1RmLDIzICksSyhLVGYsMjUgICksS1BBREJfNyAgICwKLSAgS1BBREJfOCAgICxLUEFEQl85ICAgLEtQQURfTUkgICAsS0NUUkwgICAgICAsSyhLQXMsMjAgKSxLKEtUbCwncycpLEsoS0FzLDIzICApLEsoS0FzLDI1ICksCi0gIEsoS1RsLCdnJyksSyhLVGwsJ2gnKSxLKEtUbCwnaicpLEsoS1RsLCdrJyApLEsoS1RsLCdsJyksS0lHTk9SRSAgICxLSUdOT1JFICAgICxLRU5URVIgICAgLAotICBLUEFEQl80ICAgLEtQQURCXzUgICAsS1BBREJfNiAgICxLUEFEX1BMICAgICxLU0hJRlQgICAgLEtJR05PUkUgICAsSyhLVGwsJ3onICksSyhLVGwsJ3gnKSwKLSAgSyhLQXMsMjIgKSxLKEtUbCwndicpLEsoS1RsLDIxICksSyhLVGwsJ24nICksSyhLVGwsJ20nKSxLSUdOT1JFICAgLEtJR05PUkUgICAgLEtJR05PUkUgICAsCi0gIEtTSElGVCAgICAsSyhLVGMsS2N1KSxLUEFEQl8xICAgLEtQQURCXzIgICAgLEtQQURCXzMgICAsS0NBUFNMSyAgICxLQUxUICAgICAgICxLSUdOT1JFICAgLAotICBLQUxUR1IgICAgLEtDVFJMICAgICAsSyhLVGMsS2NsKSxLKEtUYyxLY2QgKSxLKEtUYyxLY3IpLEtQQURCXzAgICAsS1BBRF9EVCAgICAsS1BBRF9FTiAgICwKLSAgS0lHTk9SRSAgICxLSUdOT1JFICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgLEtJR05PUkUgICAgLEtJR05PUkUgICAsCi0gIEtJR05PUkUgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgLEtJR05PUkUgICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgICxLSUdOT1JFICAgLAotICBLSUdOT1JFICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgICxLSUdOT1JFICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICAsS0lHTk9SRSAgICwKLX07Ci0KLXVfc2hvcnQgY3RybF9tYXBbTlJfS0VZU109Ci17Ci0JMHhmNzAzLCAweGYyMDAsIDB4ZjIwMCwgMHhmNzAyLCAweGYyMDAsIDB4ZjIwMCwgMHhmMDAxLCAweGYwMDIsCi0JMHhmMDA5LCAweGYwMDAsIDB4ZjAzMSwgMHhmMjAwLCAweGYyMDAsIDB4ZjA3ZiwgMHhmMjAwLCAweGYyMDAsCi0JMHhmMjAwLCAweGYwMWMsIDB4ZjcwMCwgMHhmMjAwLCAweGYyMDAsIDB4ZjExNiwgMHhmMDAwLCAweGYwMjAsCi0JMHhmMDE5LCAweGYwMTUsIDB4ZjAwOSwgMHhmMjAxLCAweGY3MDAsIDB4ZjYwMCwgMHhmMjAwLCAweGYyMDAsCi0JMHhmMjAwLCAweGYwMDksIDB4ZjIwMCwgMHhmMjAwLCAweGYyMDAsIDB4ZjAxMSwgMHhmMDE3LCAweGYwMDUsCi0JMHhmMDEyLCAweGYwMGYsIDB4ZjAxMCwgMHhmMDFiLCAweGYyMDAsIDB4ZjAxZCwgMHhmMjAwLCAweGYyMDAsCi0JMHhmMjAwLCAweGYwMWEsIDB4ZjIwMCwgMHhmMjAwLCAweGYyMDAsIDB4ZjIwNywgMHhmMjAwLCAweGYyMDAsCi0JMHhmMDBiLCAweGYwMGMsIDB4ZjIwMCwgMHhmMDA3LCAweGYyMDAsIDB4ZjYwMywgMHhmMjAwLCAweGYyMDAsCi0JMHhmMjAwLCAweGYwMDEsIDB4ZjIwMCwgMHhmMjAwLCAweGYyMDAsIDB4ZjAwMSwgMHhmMDEzLCAweGYwMDYsCi0JMHhmMDA3LCAweGYwMDgsIDB4ZjAwYSwgMHhmMDdmLCAweGYyMDAsIDB4ZjYwMSwgMHhmMjAwLCAweGYyMDAsCi0JMHhmMjAwLCAweGYwMTgsIDB4ZjIwMCwgMHhmMjAwLCAweGYyMDAsIDB4ZjAwMywgMHhmMDE2LCAweGYwMDIsCi0JMHhmMDBlLCAweGYwMGQsIDB4ZjIwMCwgMHhmMjAwLCAweGYyMDAsIDB4ZjAwMCwgMHhmMjAwLCAweGYyMDAsCi0JMHhmMjAwLCAweGYyMDAsIDB4ZjIwMCwgMHhmMjAwLCAweGYyMDAsIDB4ZjAxYiwgMHhmMDFjLCAweGYwMWQsIAotCTB4ZjAzNiwgMHhmMDM3LCAweGYwMzgsIDB4ZjIwMCwgMHhmMjAwLCAweGYyMDAsIDB4ZjYwMiwgMHhmMjAwLCAKLQkweGYyMDAsIDB4ZjIwMCwgMHhmMjAwLCAweGYyMDAsIDB4ZjIwMCwgMHhmMjAwLCAweGYyMDAsIDB4ZjIwMCwgCi0JMHhmMjAwLCAweGYyMDAsIDB4ZjIwMCwgMHhmMjAwLCAweGYyMDAsIDB4ZjIwMCwgMHhmNjAyLCAweGYyMDAsIAotfTsKLQotdV9zaG9ydCBzaGlmdF9jdHJsX21hcFtOUl9LRVlTXT0KLXsKLSAgS0lHTk9SRSAgICxLSUdOT1JFICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgLEtJR05PUkUgICAgLEtJR05PUkUgICAsCi0gIEtJR05PUkUgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgLEtJR05PUkUgICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICxLRkxPUFBZICAgICxLSU5UUiAgICAgLAotICBLSUdOT1JFICAgLEtJR05PUkUgICAsSyhLVG4sIDAgKSxLSUdOT1JFICAgICxLSUdOT1JFICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICAsS0lHTk9SRSAgICwKLSAgS0lHTk9SRSAgICxLSUdOT1JFICAgLEtJR05PUkUgICAsSyhLVG4sMzEgICksS0lHTk9SRSAgICxLSUdOT1JFICAgLEtJR05PUkUgICAgLEsoS1RmLDIxICksCi0gIEsoS1RmLDIwICksSyhLVGYsMjQgKSxLTlVNTEsgICAgLEtQQURfRFYgICAgLEtQQURfTUwgICAsS1BBRF9IUyAgICxLSUdOT1JFICAgICxLKEtUbiwxNyApLAotICBLKEtUbiwyMyApLEsoS1RuLCA1ICksSyhLVG4sMTggKSxLKEtUbiwyMCAgKSxLKEtUbiwyNSApLEsoS1RuLDIxICksSyhLVG4sIDkgICksSyhLVG4sMTUgKSwKLSAgSyhLVG4sMTYgKSxLSUdOT1JFICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICAsSyhLVGYsMjIgKSxLKEtUZiwyMyApLEsoS1RmLDI1ICApLEtQQURfNyAgICAsCi0gIEtQQURfOCAgICAsS1BBRF85ICAgICxLUEFEX01JICAgLEtDVFJMICAgICAgLEsoS1RuLCAxICksSyhLVG4sMTkgKSxLKEtUbiwgNCAgKSxLKEtUbiwgNiApLAotICBLKEtUbiwgNyApLEsoS1RuLCA4ICksSyhLVG4sMTAgKSxLKEtUbiwxMSAgKSxLKEtUbiwxMiApLEtJR05PUkUgICAsSyhLVG4sIDcgICksS0VOVEVSICAgICwKLSAgS1BBRF80ICAgICxLUEFEXzUgICAgLEtQQURfNiAgICAsS1BBRF9QTCAgICAsS1NISUZUICAgICxLSUdOT1JFICAgLEsoS1RuLDI2ICApLEsoS1RuLDI0ICksCi0gIEsoS1RuLCAzICksSyhLVG4sMjIgKSxLKEtUbiwgMiApLEsoS1RuLDE0ICApLEsoS1RuLDEzICksS0lHTk9SRSAgICxLSUdOT1JFICAgICxLSUdOT1JFICAgLAotICBLU0hJRlQgICAgLEsoS1RjLEtjdSksS1BBRF8xICAgICxLUEFEXzIgICAgICxLUEFEXzMgICAgLEtDQVBTTEsgICAsS0FMVCAgICAgICAsSyhLVG4sIDAgKSwKLSAgS0FMVEdSICAgICxLQ1RSTCAgICAgLEsoS1RjLEtjbCksSyhLVGMsS2NkICksSyhLVGMsS2NyKSxLUEFEXzAgICAgLEtQQURfRFQgICAgLEtQQURfRU4gICAsCi0gIEtJR05PUkUgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgLEtJR05PUkUgICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgICxLSUdOT1JFICAgLAotICBLSUdOT1JFICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgICxLSUdOT1JFICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICAsS0lHTk9SRSAgICwKLSAgS0lHTk9SRSAgICxLSUdOT1JFICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgLEtJR05PUkUgICAgLEtJR05PUkUgICAsCi19OwotCi11X3Nob3J0IGFsdF9tYXBbTlJfS0VZU109Ci17Ci0gIEsoS010LDI3ICksSyhLQ24sIDAgKSxLKEtDbiwgMSApLEsoS0NuLCAyICApLEsoS0NuLCAzICksSyhLQ24sIDQgKSxLKEtDbiwgNSAgKSxLKEtDbiwgNiApLAotICBLKEtDbiwgNyApLEsoS0NuLCA4ICksSyhLQ24sIDkgKSxLKEtDbiwxMCAgKSxLKEtDbiwxMSApLEtJR05PUkUgICAsS1NDUkxMSyAgICAsS0lOVFIgICAgICwKLSAgSyhLTXQsJ2AnKSxLKEtNdCwnMScpLEsoS010LCcyJyksSyhLTXQsJzMnICksSyhLTXQsJzQnKSxLKEtNdCwnNScpLEsoS010LCc2JyApLEsoS010LCc3JyksCi0gIEsoS010LCc4JyksSyhLTXQsJzknKSxLKEtNdCwnMCcpLEsoS010LCctJyApLEsoS010LCc9JyksSyhLTXQsJ6MnKSxLKEtNdCwxMjcgKSxLKEtUZiwyMSApLAotICBLKEtUZiwyMCApLEsoS1RmLDI0ICksS05VTUxLICAgICxLUEFEX0RWICAgICxLUEFEX01MICAgLEtQQURfSFMgICAsSyhLTXQsIDkgICksSyhLTXQsJ3EnKSwKLSAgSyhLTXQsJ3cnKSxLKEtNdCwnZScpLEsoS010LCdyJyksSyhLTXQsJ3QnICksSyhLTXQsJ3knKSxLKEtNdCwndScpLEsoS010LCdpJyApLEsoS010LCdvJyksCi0gIEsoS010LCdwJyksSyhLTXQsJ1snKSxLKEtNdCwnXScpLEsoS010LCdcXCcpLEsoS1RmLDIyICksSyhLVGYsMjMgKSxLKEtUZiwyNSAgKSxLUEFEQV83ICAgLAotICBLUEFEQV84ICAgLEtQQURBXzkgICAsS1BBRF9NSSAgICxLQ1RSTCAgICAgICxLKEtNdCwnYScpLEsoS010LCdzJyksSyhLTXQsJ2QnICksSyhLTXQsJ2YnKSwKLSAgSyhLTXQsJ2cnKSxLKEtNdCwnaCcpLEsoS010LCdqJyksSyhLTXQsJ2snICksSyhLTXQsJ2wnKSxLKEtNdCwnOycpLEsoS010LCdcJycpLEsoS010LDEzICksCi0gIEtQQURBXzQgICAsS1BBREFfNSAgICxLUEFEQV82ICAgLEtQQURfUEwgICAgLEtTSElGVCAgICAsS0lHTk9SRSAgICxLKEtNdCwneicgKSxLKEtNdCwneCcpLAotICBLKEtNdCwnYycpLEsoS010LCd2JyksSyhLTXQsJ2InKSxLKEtNdCwnbicgKSxLKEtNdCwnbScpLEsoS010LCcsJyksSyhLTXQsJy4nICksS0lHTk9SRSAgICwKLSAgS1NISUZUICAgICxLKEtUYyxLY3UpLEtQQURBXzEgICAsS1BBREFfMiAgICAsS1BBREFfMyAgICxLQ0FQU0xLICAgLEtBTFQgICAgICAgLEsoS010LCcgJyksCi0gIEtBTFRHUiAgICAsS0NUUkwgICAgICxDT05TX0RFQyAgLEsoS1RjLEtjZCApLENPTlNfSU5DICAsS1BBREFfMCAgICxLUEFEX0RUICAgICxLUEFEX0VOICAgLAotICBLSUdOT1JFICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgICxLSUdOT1JFICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICAsS0lHTk9SRSAgICwKLSAgS0lHTk9SRSAgICxLSUdOT1JFICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgLEtJR05PUkUgICAgLEtJR05PUkUgICAsCi0gIEtJR05PUkUgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgLEtJR05PUkUgICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgICxLSUdOT1JFICAgLAotfTsKLQotdV9zaG9ydCBjdHJsX2FsdF9tYXBbTlJfS0VZU109Ci17Ci0gIEtJR05PUkUgICAsSyhLQ24sIDAgKSxLKEtDbiwgMSApLEsoS0NuLCAyICApLEsoS0NuLCAzICksSyhLQ24sIDQgKSxLKEtDbiwgNSAgKSxLKEtDbiwgNiApLAotICBLKEtDbiwgNyApLEsoS0NuLCA4ICksSyhLQ24sIDkgKSxLKEtDbiwxMCAgKSxLKEtDbiwxMSApLEtJR05PUkUgICAsS0lHTk9SRSAgICAsS0lOVFIgICAgICwKLSAgS0lHTk9SRSAgICxLSUdOT1JFICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgLEtJR05PUkUgICAgLEtJR05PUkUgICAsCi0gIEtJR05PUkUgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgLEtJR05PUkUgICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgICxLKEtUZiwyMSApLAotICBLKEtUZiwyMCApLEsoS1RmLDI0ICksS05VTUxLICAgICxLUEFEX0RWICAgICxLUEFEX01MICAgLEtQQURfSFMgICAsS0lHTk9SRSAgICAsSyhLTXQsMTcgKSwKLSAgSyhLTXQsMjMgKSxLKEtNdCwgNSApLEsoS010LDE4ICksSyhLTXQsMjAgICksSyhLTXQsMjUgKSxLKEtNdCwyMSApLEsoS010LCA5ICApLEsoS010LDE1ICksCi0gIEsoS010LDE2ICksS0lHTk9SRSAgICxLSUdOT1JFICAgLEtJR05PUkUgICAgLEtSRUJPT1QgICAsSyhLVGYsMjMgKSxLKEtUZiwyNSAgKSxLUEFEXzcgICAgLAotICBLUEFEXzggICAgLEtQQURfOSAgICAsS1BBRF9NSSAgICxLQ1RSTCAgICAgICxLKEtNdCwgMSApLEsoS010LDE5ICksSyhLTXQsIDQgICksSyhLTXQsIDYgKSwKLSAgSyhLTXQsIDcgKSxLKEtNdCwgOCApLEsoS010LDEwICksSyhLTXQsMTEgICksSyhLTXQsMTIgKSxLSUdOT1JFICAgLEtJR05PUkUgICAgLEtFTlRFUiAgICAsCi0gIEtQQURfNCAgICAsS1BBRF81ICAgICxLUEFEXzYgICAgLEtQQURfUEwgICAgLEtTSElGVCAgICAsS0lHTk9SRSAgICxLKEtNdCwyNiAgKSxLKEtNdCwyNCApLAotICBLKEtNdCwgMyApLEsoS010LDIyICksSyhLTXQsIDIgKSxLKEtNdCwxNCAgKSxLKEtNdCwxMyApLEtJR05PUkUgICAsS0lHTk9SRSAgICAsS0lHTk9SRSAgICwKLSAgS1NISUZUICAgICxLKEtUYyxLY3UpLEtQQURfMSAgICAsS1BBRF8yICAgICAsS1BBRF8zICAgICxLQ0FQU0xLICAgLEtBTFQgICAgICAgLEtJR05PUkUgICAsCi0gIEtBTFRHUiAgICAsS0NUUkwgICAgICxLKEtUYyxLY2wpLEsoS1RjLEtjZCApLEsoS1RjLEtjciksS1BBRF8wICAgICxLUkVCT09UICAgICxLUEFEX0VOICAgLAotICBLSUdOT1JFICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgICxLSUdOT1JFICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICAsS0lHTk9SRSAgICwKLSAgS0lHTk9SRSAgICxLSUdOT1JFICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgLEtJR05PUkUgICAgLEtJR05PUkUgICAsCi0gIEtJR05PUkUgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgLEtJR05PUkUgICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgICxLSUdOT1JFICAgLAotfTsKLQotdXNob3J0ICprZXlfbWFwc1tNQVhfTlJfS0VZTUFQU10gPSB7Ci0JcGxhaW5fbWFwLCBzaGlmdF9tYXAsIGFsdGdyX21hcCwgMCwKLQljdHJsX21hcCwgc2hpZnRfY3RybF9tYXAsIDAsIDAsCi0JYWx0X21hcCwgMCwgMCwgMCwKLQljdHJsX2FsdF9tYXAsCTAKLX07Ci0KLXVuc2lnbmVkIGludCBrZXltYXBfY291bnQgPSA3OwotCi0vKgotICogUGhpbG9zb3BoeTogbW9zdCBwZW9wbGUgZG8gbm90IGRlZmluZSBtb3JlIHN0cmluZ3MsIGJ1dCB0aGV5IHdobyBkbwotICogb2Z0ZW4gd2FudCBxdWl0ZSBhIGxvdCBvZiBzdHJpbmcgc3BhY2UuIFNvLCB3ZSBzdGF0aWNhbGx5IGFsbG9jYXRlCi0gKiB0aGUgZGVmYXVsdCBhbmQgYWxsb2NhdGUgZHluYW1pY2FsbHkgaW4gY2h1bmtzIG9mIDUxMiBieXRlcy4KLSAqLwotCi1jaGFyIGZ1bmNfYnVmW10gPSB7Ci0JJ1wwMzMnLCAnWycsICdbJywgJ0EnLCAwLAotCSdcMDMzJywgJ1snLCAnWycsICdCJywgMCwKLQknXDAzMycsICdbJywgJ1snLCAnQycsIDAsCi0JJ1wwMzMnLCAnWycsICdbJywgJ0QnLCAwLAotCSdcMDMzJywgJ1snLCAnWycsICdFJywgMCwKLQknXDAzMycsICdbJywgJzEnLCAnNycsICd+JywgMCwKLQknXDAzMycsICdbJywgJzEnLCAnOCcsICd+JywgMCwKLQknXDAzMycsICdbJywgJzEnLCAnOScsICd+JywgMCwKLQknXDAzMycsICdbJywgJzInLCAnMCcsICd+JywgMCwKLQknXDAzMycsICdbJywgJzInLCAnMScsICd+JywgMCwKLQknXDAzMycsICdbJywgJzInLCAnMycsICd+JywgMCwKLQknXDAzMycsICdbJywgJzInLCAnNCcsICd+JywgMCwKLQknXDAzMycsICdbJywgJzInLCAnNScsICd+JywgMCwKLQknXDAzMycsICdbJywgJzInLCAnNicsICd+JywgMCwKLQknXDAzMycsICdbJywgJzInLCAnOCcsICd+JywgMCwKLQknXDAzMycsICdbJywgJzInLCAnOScsICd+JywgMCwKLQknXDAzMycsICdbJywgJzMnLCAnMScsICd+JywgMCwKLQknXDAzMycsICdbJywgJzMnLCAnMicsICd+JywgMCwKLQknXDAzMycsICdbJywgJzMnLCAnMycsICd+JywgMCwKLQknXDAzMycsICdbJywgJzMnLCAnNCcsICd+JywgMCwKLQknXDAzMycsICdbJywgJzEnLCAnficsIDAsCi0JJ1wwMzMnLCAnWycsICcyJywgJ34nLCAwLAotCSdcMDMzJywgJ1snLCAnMycsICd+JywgMCwKLQknXDAzMycsICdbJywgJzQnLCAnficsIDAsCi0JJ1wwMzMnLCAnWycsICc1JywgJ34nLCAwLAotCSdcMDMzJywgJ1snLCAnNicsICd+JywgMCwKLQknXDAzMycsICdbJywgJ00nLCAwLAotCSdcMDMzJywgJ1snLCAnUCcsIDAsCi19OwotCi1jaGFyICpmdW5jYnVmcHRyID0gZnVuY19idWY7Ci1pbnQgZnVuY2J1ZnNpemUgPSBzaXplb2YoZnVuY19idWYpOwotaW50IGZ1bmNidWZsZWZ0ID0gMDsgICAgICAgICAgLyogc3BhY2UgbGVmdCAqLwotCi1jaGFyICpmdW5jX3RhYmxlW01BWF9OUl9GVU5DXSA9IHsKLQlmdW5jX2J1ZiArIDAsCi0JZnVuY19idWYgKyA1LAotCWZ1bmNfYnVmICsgMTAsCi0JZnVuY19idWYgKyAxNSwKLQlmdW5jX2J1ZiArIDIwLAotCWZ1bmNfYnVmICsgMjUsCi0JZnVuY19idWYgKyAzMSwKLQlmdW5jX2J1ZiArIDM3LAotCWZ1bmNfYnVmICsgNDMsCi0JZnVuY19idWYgKyA0OSwKLQlmdW5jX2J1ZiArIDU1LAotCWZ1bmNfYnVmICsgNjEsCi0JZnVuY19idWYgKyA2NywKLQlmdW5jX2J1ZiArIDczLAotCWZ1bmNfYnVmICsgNzksCi0JZnVuY19idWYgKyA4NSwKLQlmdW5jX2J1ZiArIDkxLAotCWZ1bmNfYnVmICsgOTcsCi0JZnVuY19idWYgKyAxMDMsCi0JZnVuY19idWYgKyAxMDksCi0JZnVuY19idWYgKyAxMTUsCi0JZnVuY19idWYgKyAxMjAsCi0JZnVuY19idWYgKyAxMjUsCi0JZnVuY19idWYgKyAxMzAsCi0JZnVuY19idWYgKyAxMzUsCi0JZnVuY19idWYgKyAxNDAsCi0JZnVuY19idWYgKyAxNDUsCi0JMCwKLQkwLAotCWZ1bmNfYnVmICsgMTQ5LAotCTAsCi19OwotCi1zdHJ1Y3Qga2JkaWFjcnVjIGFjY2VudF90YWJsZVtNQVhfRElBQ1JdID0gewotCXsnYCcsICdBJywgMDMwMH0sCXsnYCcsICdhJywgMDM0MH0sCi0JeydcJycsICdBJywgMDMwMX0sCXsnXCcnLCAnYScsIDAzNDF9LAotCXsnXicsICdBJywgMDMwMn0sCXsnXicsICdhJywgMDM0Mn0sCi0Jeyd+JywgJ0EnLCAwMzAzfSwJeyd+JywgJ2EnLCAwMzQzfSwKLQl7JyInLCAnQScsIDAzMDR9LAl7JyInLCAnYScsIDAzNDR9LAotCXsnTycsICdBJywgMDMwNX0sCXsnbycsICdhJywgMDM0NX0sCi0JeycwJywgJ0EnLCAwMzA1fSwJeycwJywgJ2EnLCAwMzQ1fSwKLQl7J0EnLCAnQScsIDAzMDV9LAl7J2EnLCAnYScsIDAzNDV9LAotCXsnQScsICdFJywgMDMwNn0sCXsnYScsICdlJywgMDM0Nn0sCi0JeycsJywgJ0MnLCAwMzA3fSwJeycsJywgJ2MnLCAwMzQ3fSwKLQl7J2AnLCAnRScsIDAzMTB9LAl7J2AnLCAnZScsIDAzNTB9LAotCXsnXCcnLCAnRScsIDAzMTF9LAl7J1wnJywgJ2UnLCAwMzUxfSwKLQl7J14nLCAnRScsIDAzMTJ9LAl7J14nLCAnZScsIDAzNTJ9LAotCXsnIicsICdFJywgMDMxM30sCXsnIicsICdlJywgMDM1M30sCi0JeydgJywgJ0knLCAwMzE0fSwJeydgJywgJ2knLCAwMzU0fSwKLQl7J1wnJywgJ0knLCAwMzE1fSwJeydcJycsICdpJywgMDM1NX0sCi0JeydeJywgJ0knLCAwMzE2fSwJeydeJywgJ2knLCAwMzU2fSwKLQl7JyInLCAnSScsIDAzMTd9LAl7JyInLCAnaScsIDAzNTd9LAotCXsnLScsICdEJywgMDMyMH0sCXsnLScsICdkJywgMDM2MH0sCi0Jeyd+JywgJ04nLCAwMzIxfSwJeyd+JywgJ24nLCAwMzYxfSwKLQl7J2AnLCAnTycsIDAzMjJ9LAl7J2AnLCAnbycsIDAzNjJ9LAotCXsnXCcnLCAnTycsIDAzMjN9LAl7J1wnJywgJ28nLCAwMzYzfSwKLQl7J14nLCAnTycsIDAzMjR9LAl7J14nLCAnbycsIDAzNjR9LAotCXsnficsICdPJywgMDMyNX0sCXsnficsICdvJywgMDM2NX0sCi0JeyciJywgJ08nLCAwMzI2fSwJeyciJywgJ28nLCAwMzY2fSwKLQl7Jy8nLCAnTycsIDAzMzB9LAl7Jy8nLCAnbycsIDAzNzB9LAotCXsnYCcsICdVJywgMDMzMX0sCXsnYCcsICd1JywgMDM3MX0sCi0JeydcJycsICdVJywgMDMzMn0sCXsnXCcnLCAndScsIDAzNzJ9LAotCXsnXicsICdVJywgMDMzM30sCXsnXicsICd1JywgMDM3M30sCi0JeyciJywgJ1UnLCAwMzM0fSwJeyciJywgJ3UnLCAwMzc0fSwKLQl7J1wnJywgJ1knLCAwMzM1fSwJeydcJycsICd5JywgMDM3NX0sCi0JeydUJywgJ0gnLCAwMzM2fSwJeyd0JywgJ2gnLCAwMzc2fSwKLQl7J3MnLCAncycsIDAzMzd9LAl7JyInLCAneScsIDAzNzd9LAotCXsncycsICd6JywgMDMzN30sCXsnaScsICdqJywgMDM3N30sCi19OwotCi11bnNpZ25lZCBpbnQgYWNjZW50X3RhYmxlX3NpemUgPSA2ODsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvYWNwaS9LY29uZmlnIGIvZHJpdmVycy9hY3BpL0tjb25maWcKaW5kZXggYzUyZmNhOC4uYmJhODY3MyAxMDA2NDQKLS0tIGEvZHJpdmVycy9hY3BpL0tjb25maWcKKysrIGIvZHJpdmVycy9hY3BpL0tjb25maWcKQEAgLTQsOCArNCw2IEBACiAKIG1lbnVjb25maWcgQUNQSQogCWJvb2wgIkFDUEkgKEFkdmFuY2VkIENvbmZpZ3VyYXRpb24gYW5kIFBvd2VyIEludGVyZmFjZSkgU3VwcG9ydCIKLQlkZXBlbmRzIG9uICFYODZfTlVNQVEKLQlkZXBlbmRzIG9uICFYODZfVklTV1MKIAlkZXBlbmRzIG9uICFJQTY0X0hQX1NJTQogCWRlcGVuZHMgb24gSUE2NCB8fCBYODYKIAlkZXBlbmRzIG9uIFBDSQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9hdGEvYWhjaS5jIGIvZHJpdmVycy9hdGEvYWhjaS5jCmluZGV4IDVlNjQ2OGEuLmRjNzU5NmYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvYXRhL2FoY2kuYworKysgYi9kcml2ZXJzL2F0YS9haGNpLmMKQEAgLTU2LDYgKzU2LDEyIEBACiBzdGF0aWMgaW50IGFoY2lfZW5hYmxlX2FscG0oc3RydWN0IGF0YV9wb3J0ICphcCwKIAkJZW51bSBsaW5rX3BtIHBvbGljeSk7CiBzdGF0aWMgdm9pZCBhaGNpX2Rpc2FibGVfYWxwbShzdHJ1Y3QgYXRhX3BvcnQgKmFwKTsKK3N0YXRpYyBzc2l6ZV90IGFoY2lfbGVkX3Nob3coc3RydWN0IGF0YV9wb3J0ICphcCwgY2hhciAqYnVmKTsKK3N0YXRpYyBzc2l6ZV90IGFoY2lfbGVkX3N0b3JlKHN0cnVjdCBhdGFfcG9ydCAqYXAsIGNvbnN0IGNoYXIgKmJ1ZiwKKwkJCSAgICAgIHNpemVfdCBzaXplKTsKK3N0YXRpYyBzc2l6ZV90IGFoY2lfdHJhbnNtaXRfbGVkX21lc3NhZ2Uoc3RydWN0IGF0YV9wb3J0ICphcCwgdTMyIHN0YXRlLAorCQkJCQlzc2l6ZV90IHNpemUpOworI2RlZmluZSBNQVhfU0xPVFMgOAogCiBlbnVtIHsKIAlBSENJX1BDSV9CQVIJCT0gNSwKQEAgLTk4LDYgKzEwNCw4IEBACiAJSE9TVF9JUlFfU1RBVAkJPSAweDA4LCAvKiBpbnRlcnJ1cHQgc3RhdHVzICovCiAJSE9TVF9QT1JUU19JTVBMCQk9IDB4MGMsIC8qIGJpdG1hcCBvZiBpbXBsZW1lbnRlZCBwb3J0cyAqLwogCUhPU1RfVkVSU0lPTgkJPSAweDEwLCAvKiBBSENJIHNwZWMuIHZlcnNpb24gY29tcGxpYW5jeSAqLworCUhPU1RfRU1fTE9DCQk9IDB4MWMsIC8qIEVuY2xvc3VyZSBNYW5hZ2VtZW50IGxvY2F0aW9uICovCisJSE9TVF9FTV9DVEwJCT0gMHgyMCwgLyogRW5jbG9zdXJlIE1hbmFnZW1lbnQgQ29udHJvbCAqLwogCiAJLyogSE9TVF9DVEwgYml0cyAqLwogCUhPU1RfUkVTRVQJCT0gKDEgPDwgMCksICAvKiByZXNldCBjb250cm9sbGVyOyBzZWxmLWNsZWFyICovCkBAIC0xMDUsNiArMTEzLDcgQEAKIAlIT1NUX0FIQ0lfRU4JCT0gKDEgPDwgMzEpLCAvKiBBSENJIGVuYWJsZWQgKi8KIAogCS8qIEhPU1RfQ0FQIGJpdHMgKi8KKwlIT1NUX0NBUF9FTVMJCT0gKDEgPDwgNiksICAvKiBFbmNsb3N1cmUgTWFuYWdlbWVudCBzdXBwb3J0ICovCiAJSE9TVF9DQVBfU1NDCQk9ICgxIDw8IDE0KSwgLyogU2x1bWJlciBjYXBhYmxlICovCiAJSE9TVF9DQVBfUE1QCQk9ICgxIDw8IDE3KSwgLyogUG9ydCBNdWx0aXBsaWVyIHN1cHBvcnQgKi8KIAlIT1NUX0NBUF9DTE8JCT0gKDEgPDwgMjQpLCAvKiBDb21tYW5kIExpc3QgT3ZlcnJpZGUgc3VwcG9ydCAqLwpAQCAtMjAyLDYgKzIxMSwxMSBAQAogCQkJCQkgIEFUQV9GTEFHX0lQTSwKIAogCUlDSF9NQVAJCQkJPSAweDkwLCAvKiBJQ0ggTUFQIHJlZ2lzdGVyICovCisKKwkvKiBlbV9jdGwgYml0cyAqLworCUVNX0NUTF9SU1QJCQk9ICgxIDw8IDkpLCAvKiBSZXNldCAqLworCUVNX0NUTF9UTQkJCT0gKDEgPDwgOCksIC8qIFRyYW5zbWl0IE1lc3NhZ2UgKi8KKwlFTV9DVExfQUxIRAkJCT0gKDEgPDwgMjYpLCAvKiBBY3Rpdml0eSBMRUQgKi8KIH07CiAKIHN0cnVjdCBhaGNpX2NtZF9oZHIgewpAQCAtMjE5LDEyICsyMzMsMjEgQEAKIAlfX2xlMzIJCQlmbGFnc19zaXplOwogfTsKIAorc3RydWN0IGFoY2lfZW1fcHJpdiB7CisJZW51bSBzd19hY3Rpdml0eSBibGlua19wb2xpY3k7CisJc3RydWN0IHRpbWVyX2xpc3QgdGltZXI7CisJdW5zaWduZWQgbG9uZyBzYXZlZF9hY3Rpdml0eTsKKwl1bnNpZ25lZCBsb25nIGFjdGl2aXR5OworCXVuc2lnbmVkIGxvbmcgbGVkX3N0YXRlOworfTsKKwogc3RydWN0IGFoY2lfaG9zdF9wcml2IHsKIAl1bnNpZ25lZCBpbnQJCWZsYWdzOwkJLyogQUhDSV9IRkxBR18qICovCiAJdTMyCQkJY2FwOwkJLyogY2FwIHRvIHVzZSAqLwogCXUzMgkJCXBvcnRfbWFwOwkvKiBwb3J0IG1hcCB0byB1c2UgKi8KIAl1MzIJCQlzYXZlZF9jYXA7CS8qIHNhdmVkIGluaXRpYWwgY2FwICovCiAJdTMyCQkJc2F2ZWRfcG9ydF9tYXA7CS8qIHNhdmVkIGluaXRpYWwgcG9ydF9tYXAgKi8KKwl1MzIgCQkJZW1fbG9jOyAvKiBlbmNsb3N1cmUgbWFuYWdlbWVudCBsb2NhdGlvbiAqLwogfTsKIAogc3RydWN0IGFoY2lfcG9ydF9wcml2IHsKQEAgLTI0MCw2ICsyNjMsOCBAQAogCXVuc2lnbmVkIGludAkJbmNxX3Nhd19kbWFzOjE7CiAJdW5zaWduZWQgaW50CQluY3Ffc2F3X3NkYjoxOwogCXUzMiAJCQlpbnRyX21hc2s7CS8qIGludGVycnVwdHMgdG8gZW5hYmxlICovCisJc3RydWN0IGFoY2lfZW1fcHJpdgllbV9wcml2W01BWF9TTE9UU107LyogZW5jbG9zdXJlIG1hbmFnZW1lbnQgaW5mbworCQkJCQkgCSAqIHBlciBQTSBzbG90ICovCiB9OwogCiBzdGF0aWMgaW50IGFoY2lfc2NyX3JlYWQoc3RydWN0IGF0YV9wb3J0ICphcCwgdW5zaWduZWQgaW50IHNjX3JlZywgdTMyICp2YWwpOwpAQCAtMjc3LDkgKzMwMiwyMCBAQAogc3RhdGljIGludCBhaGNpX3BjaV9kZXZpY2Vfc3VzcGVuZChzdHJ1Y3QgcGNpX2RldiAqcGRldiwgcG1fbWVzc2FnZV90IG1lc2cpOwogc3RhdGljIGludCBhaGNpX3BjaV9kZXZpY2VfcmVzdW1lKHN0cnVjdCBwY2lfZGV2ICpwZGV2KTsKICNlbmRpZgorc3RhdGljIHNzaXplX3QgYWhjaV9hY3Rpdml0eV9zaG93KHN0cnVjdCBhdGFfZGV2aWNlICpkZXYsIGNoYXIgKmJ1Zik7CitzdGF0aWMgc3NpemVfdCBhaGNpX2FjdGl2aXR5X3N0b3JlKHN0cnVjdCBhdGFfZGV2aWNlICpkZXYsCisJCQkJICAgZW51bSBzd19hY3Rpdml0eSB2YWwpOworc3RhdGljIHZvaWQgYWhjaV9pbml0X3N3X2FjdGl2aXR5KHN0cnVjdCBhdGFfbGluayAqbGluayk7CiAKIHN0YXRpYyBzdHJ1Y3QgZGV2aWNlX2F0dHJpYnV0ZSAqYWhjaV9zaG9zdF9hdHRyc1tdID0gewogCSZkZXZfYXR0cl9saW5rX3Bvd2VyX21hbmFnZW1lbnRfcG9saWN5LAorCSZkZXZfYXR0cl9lbV9tZXNzYWdlX3R5cGUsCisJJmRldl9hdHRyX2VtX21lc3NhZ2UsCisJTlVMTAorfTsKKworc3RhdGljIHN0cnVjdCBkZXZpY2VfYXR0cmlidXRlICphaGNpX3NkZXZfYXR0cnNbXSA9IHsKKwkmZGV2X2F0dHJfc3dfYWN0aXZpdHksCiAJTlVMTAogfTsKIApAQCAtMjg5LDYgKzMyNSw3IEBACiAJLnNnX3RhYmxlc2l6ZQkJPSBBSENJX01BWF9TRywKIAkuZG1hX2JvdW5kYXJ5CQk9IEFIQ0lfRE1BX0JPVU5EQVJZLAogCS5zaG9zdF9hdHRycwkJPSBhaGNpX3Nob3N0X2F0dHJzLAorCS5zZGV2X2F0dHJzCQk9IGFoY2lfc2Rldl9hdHRycywKIH07CiAKIHN0YXRpYyBzdHJ1Y3QgYXRhX3BvcnRfb3BlcmF0aW9ucyBhaGNpX29wcyA9IHsKQEAgLTMxNiw2ICszNTMsMTAgQEAKIAogCS5lbmFibGVfcG0JCT0gYWhjaV9lbmFibGVfYWxwbSwKIAkuZGlzYWJsZV9wbQkJPSBhaGNpX2Rpc2FibGVfYWxwbSwKKwkuZW1fc2hvdwkJPSBhaGNpX2xlZF9zaG93LAorCS5lbV9zdG9yZQkJPSBhaGNpX2xlZF9zdG9yZSwKKwkuc3dfYWN0aXZpdHlfc2hvdwk9IGFoY2lfYWN0aXZpdHlfc2hvdywKKwkuc3dfYWN0aXZpdHlfc3RvcmUJPSBhaGNpX2FjdGl2aXR5X3N0b3JlLAogI2lmZGVmIENPTkZJR19QTQogCS5wb3J0X3N1c3BlbmQJCT0gYWhjaV9wb3J0X3N1c3BlbmQsCiAJLnBvcnRfcmVzdW1lCQk9IGFoY2lfcG9ydF9yZXN1bWUsCkBAIC01NjEsNiArNjAyLDExIEBACiAjZW5kaWYKIH07CiAKK3N0YXRpYyBpbnQgYWhjaV9lbV9tZXNzYWdlcyA9IDE7Cittb2R1bGVfcGFyYW0oYWhjaV9lbV9tZXNzYWdlcywgaW50LCAwNDQ0KTsKKy8qIGFkZCBvdGhlciBMRUQgcHJvdG9jb2wgdHlwZXMgd2hlbiB0aGV5IGJlY29tZSBzdXBwb3J0ZWQgKi8KK01PRFVMRV9QQVJNX0RFU0MoYWhjaV9lbV9tZXNzYWdlcywKKwkiU2V0IEFIQ0kgRW5jbG9zdXJlIE1hbmFnZW1lbnQgTWVzc2FnZSB0eXBlICgwID0gZGlzYWJsZWQsIDEgPSBMRUQiKTsKIAogc3RhdGljIGlubGluZSBpbnQgYWhjaV9ucl9wb3J0cyh1MzIgY2FwKQogewpAQCAtMTAzMSwxMSArMTA3NywyOCBAQAogCiBzdGF0aWMgdm9pZCBhaGNpX3N0YXJ0X3BvcnQoc3RydWN0IGF0YV9wb3J0ICphcCkKIHsKKwlzdHJ1Y3QgYWhjaV9wb3J0X3ByaXYgKnBwID0gYXAtPnByaXZhdGVfZGF0YTsKKwlzdHJ1Y3QgYXRhX2xpbmsgKmxpbms7CisJc3RydWN0IGFoY2lfZW1fcHJpdiAqZW1wOworCiAJLyogZW5hYmxlIEZJUyByZWNlcHRpb24gKi8KIAlhaGNpX3N0YXJ0X2Zpc19yeChhcCk7CiAKIAkvKiBlbmFibGUgRE1BICovCiAJYWhjaV9zdGFydF9lbmdpbmUoYXApOworCisJLyogdHVybiBvbiBMRURzICovCisJaWYgKGFwLT5mbGFncyAmIEFUQV9GTEFHX0VNKSB7CisJCWF0YV9wb3J0X2Zvcl9lYWNoX2xpbmsobGluaywgYXApIHsKKwkJCWVtcCA9ICZwcC0+ZW1fcHJpdltsaW5rLT5wbXBdOworCQkJYWhjaV90cmFuc21pdF9sZWRfbWVzc2FnZShhcCwgZW1wLT5sZWRfc3RhdGUsIDQpOworCQl9CisJfQorCisJaWYgKGFwLT5mbGFncyAmIEFUQV9GTEFHX1NXX0FDVElWSVRZKQorCQlhdGFfcG9ydF9mb3JfZWFjaF9saW5rKGxpbmssIGFwKQorCQkJYWhjaV9pbml0X3N3X2FjdGl2aXR5KGxpbmspOworCiB9CiAKIHN0YXRpYyBpbnQgYWhjaV9kZWluaXRfcG9ydChzdHJ1Y3QgYXRhX3BvcnQgKmFwLCBjb25zdCBjaGFyICoqZW1zZykKQEAgLTEwNzksMTIgKzExNDIsMTUgQEAKIAkJCXJlYWRsKG1taW8gKyBIT1NUX0NUTCk7IC8qIGZsdXNoICovCiAJCX0KIAotCQkvKiByZXNldCBtdXN0IGNvbXBsZXRlIHdpdGhpbiAxIHNlY29uZCwgb3IKKwkJLyoKKwkJICogdG8gcGVyZm9ybSBob3N0IHJlc2V0LCBPUyBzaG91bGQgc2V0IEhPU1RfUkVTRVQKKwkJICogYW5kIHBvbGwgdW50aWwgdGhpcyBiaXQgaXMgcmVhZCB0byBiZSAiMCIuCisJCSAqIHJlc2V0IG11c3QgY29tcGxldGUgd2l0aGluIDEgc2Vjb25kLCBvcgogCQkgKiB0aGUgaGFyZHdhcmUgc2hvdWxkIGJlIGNvbnNpZGVyZWQgZnJpZWQuCiAJCSAqLwotCQlzc2xlZXAoMSk7CisJCXRtcCA9IGF0YV93YWl0X3JlZ2lzdGVyKG1taW8gKyBIT1NUX0NUTCwgSE9TVF9SRVNFVCwKKwkJCQkJSE9TVF9SRVNFVCwgMTAsIDEwMDApOwogCi0JCXRtcCA9IHJlYWRsKG1taW8gKyBIT1NUX0NUTCk7CiAJCWlmICh0bXAgJiBIT1NUX1JFU0VUKSB7CiAJCQlkZXZfcHJpbnRrKEtFUk5fRVJSLCBob3N0LT5kZXYsCiAJCQkJICAgImNvbnRyb2xsZXIgcmVzZXQgZmFpbGVkICgweCV4KVxuIiwgdG1wKTsKQEAgLTExMTYsNiArMTE4MiwyMzAgQEAKIAlyZXR1cm4gMDsKIH0KIAorc3RhdGljIHZvaWQgYWhjaV9zd19hY3Rpdml0eShzdHJ1Y3QgYXRhX2xpbmsgKmxpbmspCit7CisJc3RydWN0IGF0YV9wb3J0ICphcCA9IGxpbmstPmFwOworCXN0cnVjdCBhaGNpX3BvcnRfcHJpdiAqcHAgPSBhcC0+cHJpdmF0ZV9kYXRhOworCXN0cnVjdCBhaGNpX2VtX3ByaXYgKmVtcCA9ICZwcC0+ZW1fcHJpdltsaW5rLT5wbXBdOworCisJaWYgKCEobGluay0+ZmxhZ3MgJiBBVEFfTEZMQUdfU1dfQUNUSVZJVFkpKQorCQlyZXR1cm47CisKKwllbXAtPmFjdGl2aXR5Kys7CisJaWYgKCF0aW1lcl9wZW5kaW5nKCZlbXAtPnRpbWVyKSkKKwkJbW9kX3RpbWVyKCZlbXAtPnRpbWVyLCBqaWZmaWVzICsgbXNlY3NfdG9famlmZmllcygxMCkpOworfQorCitzdGF0aWMgdm9pZCBhaGNpX3N3X2FjdGl2aXR5X2JsaW5rKHVuc2lnbmVkIGxvbmcgYXJnKQoreworCXN0cnVjdCBhdGFfbGluayAqbGluayA9IChzdHJ1Y3QgYXRhX2xpbmsgKilhcmc7CisJc3RydWN0IGF0YV9wb3J0ICphcCA9IGxpbmstPmFwOworCXN0cnVjdCBhaGNpX3BvcnRfcHJpdiAqcHAgPSBhcC0+cHJpdmF0ZV9kYXRhOworCXN0cnVjdCBhaGNpX2VtX3ByaXYgKmVtcCA9ICZwcC0+ZW1fcHJpdltsaW5rLT5wbXBdOworCXVuc2lnbmVkIGxvbmcgbGVkX21lc3NhZ2UgPSBlbXAtPmxlZF9zdGF0ZTsKKwl1MzIgYWN0aXZpdHlfbGVkX3N0YXRlOworCisJbGVkX21lc3NhZ2UgJj0gMHhmZmZmMDAwMDsKKwlsZWRfbWVzc2FnZSB8PSBhcC0+cG9ydF9ubyB8IChsaW5rLT5wbXAgPDwgOCk7CisKKwkvKiBjaGVjayB0byBzZWUgaWYgd2UndmUgaGFkIGFjdGl2aXR5LiAgSWYgc28sCisJICogdG9nZ2xlIHN0YXRlIG9mIExFRCBhbmQgcmVzZXQgdGltZXIuICBJZiBub3QsCisJICogdHVybiBMRUQgdG8gZGVzaXJlZCBpZGxlIHN0YXRlLgorCSAqLworCWlmIChlbXAtPnNhdmVkX2FjdGl2aXR5ICE9IGVtcC0+YWN0aXZpdHkpIHsKKwkJZW1wLT5zYXZlZF9hY3Rpdml0eSA9IGVtcC0+YWN0aXZpdHk7CisJCS8qIGdldCB0aGUgY3VycmVudCBMRUQgc3RhdGUgKi8KKwkJYWN0aXZpdHlfbGVkX3N0YXRlID0gbGVkX21lc3NhZ2UgJiAweDAwMDEwMDAwOworCisJCWlmIChhY3Rpdml0eV9sZWRfc3RhdGUpCisJCQlhY3Rpdml0eV9sZWRfc3RhdGUgPSAwOworCQllbHNlCisJCQlhY3Rpdml0eV9sZWRfc3RhdGUgPSAxOworCisJCS8qIGNsZWFyIG9sZCBzdGF0ZSAqLworCQlsZWRfbWVzc2FnZSAmPSAweGZmZjhmZmZmOworCisJCS8qIHRvZ2dsZSBzdGF0ZSAqLworCQlsZWRfbWVzc2FnZSB8PSAoYWN0aXZpdHlfbGVkX3N0YXRlIDw8IDE2KTsKKwkJbW9kX3RpbWVyKCZlbXAtPnRpbWVyLCBqaWZmaWVzICsgbXNlY3NfdG9famlmZmllcygxMDApKTsKKwl9IGVsc2UgeworCQkvKiBzd2l0Y2ggdG8gaWRsZSAqLworCQlsZWRfbWVzc2FnZSAmPSAweGZmZjhmZmZmOworCQlpZiAoZW1wLT5ibGlua19wb2xpY3kgPT0gQkxJTktfT0ZGKQorCQkJbGVkX21lc3NhZ2UgfD0gKDEgPDwgMTYpOworCX0KKwlhaGNpX3RyYW5zbWl0X2xlZF9tZXNzYWdlKGFwLCBsZWRfbWVzc2FnZSwgNCk7Cit9CisKK3N0YXRpYyB2b2lkIGFoY2lfaW5pdF9zd19hY3Rpdml0eShzdHJ1Y3QgYXRhX2xpbmsgKmxpbmspCit7CisJc3RydWN0IGF0YV9wb3J0ICphcCA9IGxpbmstPmFwOworCXN0cnVjdCBhaGNpX3BvcnRfcHJpdiAqcHAgPSBhcC0+cHJpdmF0ZV9kYXRhOworCXN0cnVjdCBhaGNpX2VtX3ByaXYgKmVtcCA9ICZwcC0+ZW1fcHJpdltsaW5rLT5wbXBdOworCisJLyogaW5pdCBhY3Rpdml0eSBzdGF0cywgc2V0dXAgdGltZXIgKi8KKwllbXAtPnNhdmVkX2FjdGl2aXR5ID0gZW1wLT5hY3Rpdml0eSA9IDA7CisJc2V0dXBfdGltZXIoJmVtcC0+dGltZXIsIGFoY2lfc3dfYWN0aXZpdHlfYmxpbmssICh1bnNpZ25lZCBsb25nKWxpbmspOworCisJLyogY2hlY2sgb3VyIGJsaW5rIHBvbGljeSBhbmQgc2V0IGZsYWcgZm9yIGxpbmsgaWYgaXQncyBlbmFibGVkICovCisJaWYgKGVtcC0+YmxpbmtfcG9saWN5KQorCQlsaW5rLT5mbGFncyB8PSBBVEFfTEZMQUdfU1dfQUNUSVZJVFk7Cit9CisKK3N0YXRpYyBpbnQgYWhjaV9yZXNldF9lbShzdHJ1Y3QgYXRhX2hvc3QgKmhvc3QpCit7CisJdm9pZCBfX2lvbWVtICptbWlvID0gaG9zdC0+aW9tYXBbQUhDSV9QQ0lfQkFSXTsKKwl1MzIgZW1fY3RsOworCisJZW1fY3RsID0gcmVhZGwobW1pbyArIEhPU1RfRU1fQ1RMKTsKKwlpZiAoKGVtX2N0bCAmIEVNX0NUTF9UTSkgfHwgKGVtX2N0bCAmIEVNX0NUTF9SU1QpKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCXdyaXRlbChlbV9jdGwgfCBFTV9DVExfUlNULCBtbWlvICsgSE9TVF9FTV9DVEwpOworCXJldHVybiAwOworfQorCitzdGF0aWMgc3NpemVfdCBhaGNpX3RyYW5zbWl0X2xlZF9tZXNzYWdlKHN0cnVjdCBhdGFfcG9ydCAqYXAsIHUzMiBzdGF0ZSwKKwkJCQkJc3NpemVfdCBzaXplKQoreworCXN0cnVjdCBhaGNpX2hvc3RfcHJpdiAqaHByaXYgPSBhcC0+aG9zdC0+cHJpdmF0ZV9kYXRhOworCXN0cnVjdCBhaGNpX3BvcnRfcHJpdiAqcHAgPSBhcC0+cHJpdmF0ZV9kYXRhOworCXZvaWQgX19pb21lbSAqbW1pbyA9IGFwLT5ob3N0LT5pb21hcFtBSENJX1BDSV9CQVJdOworCXUzMiBlbV9jdGw7CisJdTMyIG1lc3NhZ2VbXSA9IHswLCAwfTsKKwl1bnNpZ25lZCBpbnQgZmxhZ3M7CisJaW50IHBtcDsKKwlzdHJ1Y3QgYWhjaV9lbV9wcml2ICplbXA7CisKKwkvKiBnZXQgdGhlIHNsb3QgbnVtYmVyIGZyb20gdGhlIG1lc3NhZ2UgKi8KKwlwbXAgPSAoc3RhdGUgJiAweDAwMDBmZjAwKSA+PiA4OworCWlmIChwbXAgPCBNQVhfU0xPVFMpCisJCWVtcCA9ICZwcC0+ZW1fcHJpdltwbXBdOworCWVsc2UKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlzcGluX2xvY2tfaXJxc2F2ZShhcC0+bG9jaywgZmxhZ3MpOworCisJLyoKKwkgKiBpZiB3ZSBhcmUgc3RpbGwgYnVzeSB0cmFuc21pdHRpbmcgYSBwcmV2aW91cyBtZXNzYWdlLAorCSAqIGRvIG5vdCBhbGxvdworCSAqLworCWVtX2N0bCA9IHJlYWRsKG1taW8gKyBIT1NUX0VNX0NUTCk7CisJaWYgKGVtX2N0bCAmIEVNX0NUTF9UTSkgeworCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKGFwLT5sb2NrLCBmbGFncyk7CisJCXJldHVybiAtRUlOVkFMOworCX0KKworCS8qCisJICogY3JlYXRlIG1lc3NhZ2UgaGVhZGVyIC0gdGhpcyBpcyBhbGwgemVybyBleGNlcHQgZm9yCisJICogdGhlIG1lc3NhZ2Ugc2l6ZSwgd2hpY2ggaXMgNCBieXRlcy4KKwkgKi8KKwltZXNzYWdlWzBdIHw9ICg0IDw8IDgpOworCisJLyogaWdub3JlIDA6NCBvZiBieXRlIHplcm8sIGZpbGwgaW4gcG9ydCBpbmZvIHlvdXJzZWxmICovCisJbWVzc2FnZVsxXSA9ICgoc3RhdGUgJiAweGZmZmZmZmYwKSB8IGFwLT5wb3J0X25vKTsKKworCS8qIHdyaXRlIG1lc3NhZ2UgdG8gRU1fTE9DICovCisJd3JpdGVsKG1lc3NhZ2VbMF0sIG1taW8gKyBocHJpdi0+ZW1fbG9jKTsKKwl3cml0ZWwobWVzc2FnZVsxXSwgbW1pbyArIGhwcml2LT5lbV9sb2MrNCk7CisKKwkvKiBzYXZlIG9mZiBuZXcgbGVkIHN0YXRlIGZvciBwb3J0L3Nsb3QgKi8KKwllbXAtPmxlZF9zdGF0ZSA9IG1lc3NhZ2VbMV07CisKKwkvKgorCSAqIHRlbGwgaGFyZHdhcmUgdG8gdHJhbnNtaXQgdGhlIG1lc3NhZ2UKKwkgKi8KKwl3cml0ZWwoZW1fY3RsIHwgRU1fQ1RMX1RNLCBtbWlvICsgSE9TVF9FTV9DVEwpOworCisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZShhcC0+bG9jaywgZmxhZ3MpOworCXJldHVybiBzaXplOworfQorCitzdGF0aWMgc3NpemVfdCBhaGNpX2xlZF9zaG93KHN0cnVjdCBhdGFfcG9ydCAqYXAsIGNoYXIgKmJ1ZikKK3sKKwlzdHJ1Y3QgYWhjaV9wb3J0X3ByaXYgKnBwID0gYXAtPnByaXZhdGVfZGF0YTsKKwlzdHJ1Y3QgYXRhX2xpbmsgKmxpbms7CisJc3RydWN0IGFoY2lfZW1fcHJpdiAqZW1wOworCWludCByYyA9IDA7CisKKwlhdGFfcG9ydF9mb3JfZWFjaF9saW5rKGxpbmssIGFwKSB7CisJCWVtcCA9ICZwcC0+ZW1fcHJpdltsaW5rLT5wbXBdOworCQlyYyArPSBzcHJpbnRmKGJ1ZiwgIiVseFxuIiwgZW1wLT5sZWRfc3RhdGUpOworCX0KKwlyZXR1cm4gcmM7Cit9CisKK3N0YXRpYyBzc2l6ZV90IGFoY2lfbGVkX3N0b3JlKHN0cnVjdCBhdGFfcG9ydCAqYXAsIGNvbnN0IGNoYXIgKmJ1ZiwKKwkJCQlzaXplX3Qgc2l6ZSkKK3sKKwlpbnQgc3RhdGU7CisJaW50IHBtcDsKKwlzdHJ1Y3QgYWhjaV9wb3J0X3ByaXYgKnBwID0gYXAtPnByaXZhdGVfZGF0YTsKKwlzdHJ1Y3QgYWhjaV9lbV9wcml2ICplbXA7CisKKwlzdGF0ZSA9IHNpbXBsZV9zdHJ0b3VsKGJ1ZiwgTlVMTCwgMCk7CisKKwkvKiBnZXQgdGhlIHNsb3QgbnVtYmVyIGZyb20gdGhlIG1lc3NhZ2UgKi8KKwlwbXAgPSAoc3RhdGUgJiAweDAwMDBmZjAwKSA+PiA4OworCWlmIChwbXAgPCBNQVhfU0xPVFMpCisJCWVtcCA9ICZwcC0+ZW1fcHJpdltwbXBdOworCWVsc2UKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwkvKiBtYXNrIG9mZiB0aGUgYWN0aXZpdHkgYml0cyBpZiB3ZSBhcmUgaW4gc3dfYWN0aXZpdHkKKwkgKiBtb2RlLCB1c2VyIHNob3VsZCB0dXJuIG9mZiBzd19hY3Rpdml0eSBiZWZvcmUgc2V0dGluZworCSAqIGFjdGl2aXR5IGxlZCB0aHJvdWdoIGVtX21lc3NhZ2UKKwkgKi8KKwlpZiAoZW1wLT5ibGlua19wb2xpY3kpCisJCXN0YXRlICY9IDB4ZmZmOGZmZmY7CisKKwlyZXR1cm4gYWhjaV90cmFuc21pdF9sZWRfbWVzc2FnZShhcCwgc3RhdGUsIHNpemUpOworfQorCitzdGF0aWMgc3NpemVfdCBhaGNpX2FjdGl2aXR5X3N0b3JlKHN0cnVjdCBhdGFfZGV2aWNlICpkZXYsIGVudW0gc3dfYWN0aXZpdHkgdmFsKQoreworCXN0cnVjdCBhdGFfbGluayAqbGluayA9IGRldi0+bGluazsKKwlzdHJ1Y3QgYXRhX3BvcnQgKmFwID0gbGluay0+YXA7CisJc3RydWN0IGFoY2lfcG9ydF9wcml2ICpwcCA9IGFwLT5wcml2YXRlX2RhdGE7CisJc3RydWN0IGFoY2lfZW1fcHJpdiAqZW1wID0gJnBwLT5lbV9wcml2W2xpbmstPnBtcF07CisJdTMyIHBvcnRfbGVkX3N0YXRlID0gZW1wLT5sZWRfc3RhdGU7CisKKwkvKiBzYXZlIHRoZSBkZXNpcmVkIEFjdGl2aXR5IExFRCBiZWhhdmlvciAqLworCWlmICh2YWwgPT0gT0ZGKSB7CisJCS8qIGNsZWFyIExGTEFHICovCisJCWxpbmstPmZsYWdzICY9IH4oQVRBX0xGTEFHX1NXX0FDVElWSVRZKTsKKworCQkvKiBzZXQgdGhlIExFRCB0byBPRkYgKi8KKwkJcG9ydF9sZWRfc3RhdGUgJj0gMHhmZmY4MDAwMDsKKwkJcG9ydF9sZWRfc3RhdGUgfD0gKGFwLT5wb3J0X25vIHwgKGxpbmstPnBtcCA8PCA4KSk7CisJCWFoY2lfdHJhbnNtaXRfbGVkX21lc3NhZ2UoYXAsIHBvcnRfbGVkX3N0YXRlLCA0KTsKKwl9IGVsc2UgeworCQlsaW5rLT5mbGFncyB8PSBBVEFfTEZMQUdfU1dfQUNUSVZJVFk7CisJCWlmICh2YWwgPT0gQkxJTktfT0ZGKSB7CisJCQkvKiBzZXQgTEVEIHRvIE9OIGZvciBpZGxlICovCisJCQlwb3J0X2xlZF9zdGF0ZSAmPSAweGZmZjgwMDAwOworCQkJcG9ydF9sZWRfc3RhdGUgfD0gKGFwLT5wb3J0X25vIHwgKGxpbmstPnBtcCA8PCA4KSk7CisJCQlwb3J0X2xlZF9zdGF0ZSB8PSAweDAwMDEwMDAwOyAvKiBjaGVjayB0aGlzICovCisJCQlhaGNpX3RyYW5zbWl0X2xlZF9tZXNzYWdlKGFwLCBwb3J0X2xlZF9zdGF0ZSwgNCk7CisJCX0KKwl9CisJZW1wLT5ibGlua19wb2xpY3kgPSB2YWw7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBzc2l6ZV90IGFoY2lfYWN0aXZpdHlfc2hvdyhzdHJ1Y3QgYXRhX2RldmljZSAqZGV2LCBjaGFyICpidWYpCit7CisJc3RydWN0IGF0YV9saW5rICpsaW5rID0gZGV2LT5saW5rOworCXN0cnVjdCBhdGFfcG9ydCAqYXAgPSBsaW5rLT5hcDsKKwlzdHJ1Y3QgYWhjaV9wb3J0X3ByaXYgKnBwID0gYXAtPnByaXZhdGVfZGF0YTsKKwlzdHJ1Y3QgYWhjaV9lbV9wcml2ICplbXAgPSAmcHAtPmVtX3ByaXZbbGluay0+cG1wXTsKKworCS8qIGRpc3BsYXkgdGhlIHNhdmVkIHZhbHVlIG9mIGFjdGl2aXR5IGJlaGF2aW9yIGZvciB0aGlzCisJICogZGlzay4KKwkgKi8KKwlyZXR1cm4gc3ByaW50ZihidWYsICIlZFxuIiwgZW1wLT5ibGlua19wb2xpY3kpOworfQorCiBzdGF0aWMgdm9pZCBhaGNpX3BvcnRfaW5pdChzdHJ1Y3QgcGNpX2RldiAqcGRldiwgc3RydWN0IGF0YV9wb3J0ICphcCwKIAkJCSAgIGludCBwb3J0X25vLCB2b2lkIF9faW9tZW0gKm1taW8sCiAJCQkgICB2b2lkIF9faW9tZW0gKnBvcnRfbW1pbykKQEAgLTE4NDYsNyArMjEzNiw4IEBACiAJaWYgKHFjLT50Zi5wcm90b2NvbCA9PSBBVEFfUFJPVF9OQ1EpCiAJCXdyaXRlbCgxIDw8IHFjLT50YWcsIHBvcnRfbW1pbyArIFBPUlRfU0NSX0FDVCk7CiAJd3JpdGVsKDEgPDwgcWMtPnRhZywgcG9ydF9tbWlvICsgUE9SVF9DTURfSVNTVUUpOwotCXJlYWRsKHBvcnRfbW1pbyArIFBPUlRfQ01EX0lTU1VFKTsJLyogZmx1c2ggKi8KKworCWFoY2lfc3dfYWN0aXZpdHkocWMtPmRldi0+bGluayk7CiAKIAlyZXR1cm4gMDsKIH0KQEAgLTIxNTQsNyArMjQ0NSw4IEBACiAJZGV2X3ByaW50ayhLRVJOX0lORk8sICZwZGV2LT5kZXYsCiAJCSJmbGFnczogIgogCQkiJXMlcyVzJXMlcyVzJXMiCi0JCSIlcyVzJXMlcyVzJXMlc1xuIgorCQkiJXMlcyVzJXMlcyVzJXMiCisJCSIlc1xuIgogCQksCiAKIAkJY2FwICYgKDEgPDwgMzEpID8gIjY0Yml0ICIgOiAiIiwKQEAgLTIxNzEsNyArMjQ2Myw4IEBACiAJCWNhcCAmICgxIDw8IDE3KSA/ICJwbXAgIiA6ICIiLAogCQljYXAgJiAoMSA8PCAxNSkgPyAicGlvICIgOiAiIiwKIAkJY2FwICYgKDEgPDwgMTQpID8gInNsdW0gIiA6ICIiLAotCQljYXAgJiAoMSA8PCAxMykgPyAicGFydCAiIDogIiIKKwkJY2FwICYgKDEgPDwgMTMpID8gInBhcnQgIiA6ICIiLAorCQljYXAgJiAoMSA8PCA2KSA/ICJlbXMgIjogIiIKIAkJKTsKIH0KIApAQCAtMjI5MSw2ICsyNTg0LDI0IEBACiAJaWYgKGhwcml2LT5jYXAgJiBIT1NUX0NBUF9QTVApCiAJCXBpLmZsYWdzIHw9IEFUQV9GTEFHX1BNUDsKIAorCWlmIChhaGNpX2VtX21lc3NhZ2VzICYmIChocHJpdi0+Y2FwICYgSE9TVF9DQVBfRU1TKSkgeworCQl1OCBtZXNzYWdlczsKKwkJdm9pZCBfX2lvbWVtICptbWlvID0gcGNpbV9pb21hcF90YWJsZShwZGV2KVtBSENJX1BDSV9CQVJdOworCQl1MzIgZW1fbG9jID0gcmVhZGwobW1pbyArIEhPU1RfRU1fTE9DKTsKKwkJdTMyIGVtX2N0bCA9IHJlYWRsKG1taW8gKyBIT1NUX0VNX0NUTCk7CisKKwkJbWVzc2FnZXMgPSAoZW1fY3RsICYgMHgwMDBmMDAwMCkgPj4gMTY7CisKKwkJLyogd2Ugb25seSBzdXBwb3J0IExFRCBtZXNzYWdlIHR5cGUgcmlnaHQgbm93ICovCisJCWlmICgobWVzc2FnZXMgJiAweDAxKSAmJiAoYWhjaV9lbV9tZXNzYWdlcyA9PSAxKSkgeworCQkJLyogc3RvcmUgZW1fbG9jICovCisJCQlocHJpdi0+ZW1fbG9jID0gKChlbV9sb2MgPj4gMTYpICogNCk7CisJCQlwaS5mbGFncyB8PSBBVEFfRkxBR19FTTsKKwkJCWlmICghKGVtX2N0bCAmIEVNX0NUTF9BTEhEKSkKKwkJCQlwaS5mbGFncyB8PSBBVEFfRkxBR19TV19BQ1RJVklUWTsKKwkJfQorCX0KKwogCS8qIENBUC5OUCBzb21ldGltZXMgaW5kaWNhdGUgdGhlIGluZGV4IG9mIHRoZSBsYXN0IGVuYWJsZWQKIAkgKiBwb3J0LCBhdCBvdGhlciB0aW1lcywgdGhhdCBvZiB0aGUgbGFzdCBwb3NzaWJsZSBwb3J0LCBzbwogCSAqIGRldGVybWluaW5nIHRoZSBtYXhpbXVtIHBvcnQgbnVtYmVyIHJlcXVpcmVzIGxvb2tpbmcgYXQKQEAgLTIzMDQsNiArMjYxNSw5IEBACiAJaG9zdC0+aW9tYXAgPSBwY2ltX2lvbWFwX3RhYmxlKHBkZXYpOwogCWhvc3QtPnByaXZhdGVfZGF0YSA9IGhwcml2OwogCisJaWYgKHBpLmZsYWdzICYgQVRBX0ZMQUdfRU0pCisJCWFoY2lfcmVzZXRfZW0oaG9zdCk7CisKIAlmb3IgKGkgPSAwOyBpIDwgaG9zdC0+bl9wb3J0czsgaSsrKSB7CiAJCXN0cnVjdCBhdGFfcG9ydCAqYXAgPSBob3N0LT5wb3J0c1tpXTsKIApAQCAtMjMxNCw2ICsyNjI4LDExIEBACiAJCS8qIHNldCBpbml0aWFsIGxpbmsgcG0gcG9saWN5ICovCiAJCWFwLT5wbV9wb2xpY3kgPSBOT1RfQVZBSUxBQkxFOwogCisJCS8qIHNldCBlbmNsb3N1cmUgbWFuYWdlbWVudCBtZXNzYWdlIHR5cGUgKi8KKwkJaWYgKGFwLT5mbGFncyAmIEFUQV9GTEFHX0VNKQorCQkJYXAtPmVtX21lc3NhZ2VfdHlwZSA9IGFoY2lfZW1fbWVzc2FnZXM7CisKKwogCQkvKiBkaXNhYmxlZC9ub3QtaW1wbGVtZW50ZWQgcG9ydCAqLwogCQlpZiAoIShocHJpdi0+cG9ydF9tYXAgJiAoMSA8PCBpKSkpCiAJCQlhcC0+b3BzID0gJmF0YV9kdW1teV9wb3J0X29wczsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvYXRhL2xpYmF0YS1jb3JlLmMgYi9kcml2ZXJzL2F0YS9saWJhdGEtY29yZS5jCmluZGV4IDMwM2ZjMGQuLjliZWYxYTggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvYXRhL2xpYmF0YS1jb3JlLmMKKysrIGIvZHJpdmVycy9hdGEvbGliYXRhLWNvcmUuYwpAQCAtNTQsNyArNTQsNiBAQAogI2luY2x1ZGUgPGxpbnV4L2NvbXBsZXRpb24uaD4KICNpbmNsdWRlIDxsaW51eC9zdXNwZW5kLmg+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+IDIpOwogCiAJCWlmICh1bmxpa2VseShzbG9wKSkgewotCQkJdTMyIHBhZDsKKwkJCV9fbGUzMiBwYWQ7CiAJCQlpZiAocncgPT0gUkVBRCkgewogCQkJCXBhZCA9IGNwdV90b19sZTMyKGlvcmVhZDMyKGFwLT5pb2FkZHIuZGF0YV9hZGRyKSk7CiAJCQkJbWVtY3B5KGJ1ZiArIGJ1ZmxlbiAtIHNsb3AsICZwYWQsIHNsb3ApOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9hdGEvcGF0YV9zY2MuYyBiL2RyaXZlcnMvYXRhL3BhdGFfc2NjLmMKaW5kZXggYmJmNWFhMy4uMTY2NzNkMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9hdGEvcGF0YV9zY2MuYworKysgYi9kcml2ZXJzL2F0YS9wYXRhX3NjYy5jCkBAIC02OTYsNyArNjk2LDcgQEAKIAogCQlpZiAocmVnICYgSU5UU1RTX0JNU0lOVCkgewogCQkJdW5zaWduZWQgaW50IGNsYXNzZXM7Ci0JCQl1bnNpZ25lZCBsb25nIGRlYWRsaW5lID0gamlmZmllcyArIEFUQV9UTU9VVF9CT09UOworCQkJdW5zaWduZWQgbG9uZyBkZWFkbGluZSA9IGF0YV9kZWFkbGluZShqaWZmaWVzLCBBVEFfVE1PVVRfQk9PVCk7CiAJCQlwcmludGsoS0VSTl9XQVJOSU5HICIlczogSW50ZXJuYWwgQnVzIEVycm9yXG4iLCBEUlZfTkFNRSk7CiAJCQlvdXRfYmUzMihibWlkX2Jhc2UgKyBTQ0NfRE1BX0lOVFNULCBJTlRTVFNfQk1TSU5UKTsKIAkJCS8qIFRCRDogU1cgcmVzZXQgKi8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvYXRhL3BhdGFfd2luYm9uZC5jIGIvZHJpdmVycy9hdGEvcGF0YV93aW5ib25kLmMKaW5kZXggNDc0NTI4Zi4uYTc2MDZiMCAxMDA2NDQKLS0tIGEvZHJpdmVycy9hdGEvcGF0YV93aW5ib25kLmMKKysrIGIvZHJpdmVycy9hdGEvcGF0YV93aW5ib25kLmMKQEAgLTEwNSw3ICsxMDUsNyBAQAogCQkJaW93cml0ZTMyX3JlcChhcC0+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+CiAjaW5jbHVkZSAiYWdwLmgiCkBAIC02NzcsNiArNjc4LDcgQEAKIAlzdHJ1Y3QgYWdwX2NsaWVudCAqY2xpZW50OwogCWludCByYyA9IC1FTlhJTzsKIAorCWxvY2tfa2VybmVsKCk7CiAJbXV0ZXhfbG9jaygmKGFncF9mZS5hZ3BfbXV0ZXgpKTsKIAogCWlmIChtaW5vciAhPSBBR1BHQVJUX01JTk9SKQpAQCAtNzAzLDEyICs3MDUsMTQgQEAKIAlhZ3BfaW5zZXJ0X2ZpbGVfcHJpdmF0ZShwcml2KTsKIAlEQkcoInByaXZhdGU9JXAsIGNsaWVudD0lcCIsIHByaXYsIGNsaWVudCk7CiAJbXV0ZXhfdW5sb2NrKCYoYWdwX2ZlLmFncF9tdXRleCkpOworCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gMDsKIAogZXJyX291dF9ub21lbToKIAlyYyA9IC1FTk9NRU07CiBlcnJfb3V0OgogCW11dGV4X3VubG9jaygmKGFncF9mZS5hZ3BfbXV0ZXgpKTsKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIHJjOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvYXBtLWVtdWxhdGlvbi5jIGIvZHJpdmVycy9jaGFyL2FwbS1lbXVsYXRpb24uYwppbmRleCBjZGQ4NzZkLi5kYThhMTY1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2NoYXIvYXBtLWVtdWxhdGlvbi5jCisrKyBiL2RyaXZlcnMvY2hhci9hcG0tZW11bGF0aW9uLmMKQEAgLTEzLDYgKzEzLDcgQEAKICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KICNpbmNsdWRlIDxsaW51eC9wb2xsLmg+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+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KIAogc3RydWN0IGlwbWlfZmlsZV9wcml2YXRlCiB7CkBAIC0xMDAsNyArMTAxLDkgQEAKIAlzdHJ1Y3QgaXBtaV9maWxlX3ByaXZhdGUgKnByaXYgPSBmaWxlLT5wcml2YXRlX2RhdGE7CiAJaW50ICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdDsKIAorCWxvY2tfa2VybmVsKCk7IC8qIGNvdWxkIHJhY2UgYWdhaW5zdCBvcGVuKCkgb3RoZXJ3aXNlICovCiAJcmVzdWx0ID0gZmFzeW5jX2hlbHBlcihmZCwgZmlsZSwgb24sICZwcml2LT5mYXN5bmNfcXVldWUpOworCXVubG9ja19rZXJuZWwoKTsKIAogCXJldHVybiAocmVzdWx0KTsKIH0KQEAgLTEyMSw2ICsxMjQsNyBAQAogCWlmICghcHJpdikKIAkJcmV0dXJuIC1FTk9NRU07CiAKKwlsb2NrX2tlcm5lbCgpOwogCXByaXYtPmZpbGUgPSBmaWxlOwogCiAJcnYgPSBpcG1pX2NyZWF0ZV91c2VyKGlmX251bSwKQEAgLTEyOSw3ICsxMzMsNyBAQAogCQkJICAgICAgJihwcml2LT51c2VyKSk7CiAJaWYgKHJ2KSB7CiAJCWtmcmVlKHByaXYpOwotCQlyZXR1cm4gcnY7CisJCWdvdG8gb3V0OwogCX0KIAogCWZpbGUtPnByaXZhdGVfZGF0YSA9IHByaXY7CkBAIC0xNDQsNyArMTQ4LDkgQEAKIAlwcml2LT5kZWZhdWx0X3JldHJpZXMgPSAtMTsKIAlwcml2LT5kZWZhdWx0X3JldHJ5X3RpbWVfbXMgPSAwOwogCi0JcmV0dXJuIDA7CitvdXQ6CisJdW5sb2NrX2tlcm5lbCgpOworCXJldHVybiBydjsKIH0KIAogc3RhdGljIGludCBpcG1pX3JlbGVhc2Uoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvaXBtaS9pcG1pX3dhdGNoZG9nLmMgYi9kcml2ZXJzL2NoYXIvaXBtaS9pcG1pX3dhdGNoZG9nLmMKaW5kZXggMGU2ZGYyOC4uMjM1ZmFiMCAxMDA2NDQKLS0tIGEvZHJpdmVycy9jaGFyL2lwbWkvaXBtaV93YXRjaGRvZy5jCisrKyBiL2RyaXZlcnMvY2hhci9pcG1pL2lwbWlfd2F0Y2hkb2cuYwpAQCAtMzUsNiArMzUsNyBAQAogI2luY2x1ZGUgPGxpbnV4L21vZHVsZXBhcmFtLmg+CiAjaW5jbHVkZSA8bGludXgvaXBtaS5oPgogI2luY2x1ZGUgPGxpbnV4L2lwbWlfc21pLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxsaW51eC93YXRjaGRvZy5oPgogI2luY2x1ZGUgPGxpbnV4L21pc2NkZXZpY2UuaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CkBAIC04MTgsNiArODE5LDggQEAKIAkJaWYgKHRlc3RfYW5kX3NldF9iaXQoMCwgJmlwbWlfd2RvZ19vcGVuKSkKIAkJCXJldHVybiAtRUJVU1k7CiAKKwkJY3ljbGVfa2VybmVsX2xvY2soKTsKKwogCQkvKgogCQkgKiBEb24ndCBzdGFydCB0aGUgdGltZXIgbm93LCBsZXQgaXQgc3RhcnQgb24gdGhlCiAJCSAqIGZpcnN0IGhlYXJ0YmVhdC4KZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9sY2QuYyBiL2RyaXZlcnMvY2hhci9sY2QuYwppbmRleCA0ZmU5MjA2Li4xYzI5YjIwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2NoYXIvbGNkLmMKKysrIGIvZHJpdmVycy9jaGFyL2xjZC5jCkBAIC0yMCw2ICsyMCw3IEBACiAjaW5jbHVkZSA8bGludXgvbWMxNDY4MThydGMuaD4KICNpbmNsdWRlIDxsaW51eC9uZXRkZXZpY2UuaD4KICNpbmNsdWRlIDxsaW51eC9zY2hlZC5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+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+b3BlbiA9IDE7CkBAIC00NzMsNyArNDgxLDEwIEBACiAJbW9kX3RpbWVyKCZkZXYtPnBvbGxfdGltZXIsIGppZmZpZXMgKyBQT0xMX1BFUklPRCk7CiAKIAlERUJVR1AoMiwgZGV2LCAiPC0gY200MDQwX29wZW4gKHN1Y2Nlc3NmdWxseSlcbiIpOwotCXJldHVybiBub25zZWVrYWJsZV9vcGVuKGlub2RlLCBmaWxwKTsKKwlyZXQgPSBub25zZWVrYWJsZV9vcGVuKGlub2RlLCBmaWxwKTsKK291dDoKKwl1bmxvY2tfa2VybmVsKCk7CisJcmV0dXJuIHJldDsKIH0KIAogc3RhdGljIGludCBjbTQwNDBfY2xvc2Uoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbHApCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvcGNtY2lhL2lwd2lyZWxlc3MvbWFpbi5jIGIvZHJpdmVycy9jaGFyL3BjbWNpYS9pcHdpcmVsZXNzL21haW4uYwppbmRleCAwMGM3Zjg0Li5jYzdkY2VhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2NoYXIvcGNtY2lhL2lwd2lyZWxlc3MvbWFpbi5jCisrKyBiL2RyaXZlcnMvY2hhci9wY21jaWEvaXB3aXJlbGVzcy9tYWluLmMKQEAgLTI4LDcgKzI4LDYgQEAKICNpbmNsdWRlIDxsaW51eC9zY2hlZC5oPgogI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KIAotI2luY2x1ZGUgPHBjbWNpYS92ZXJzaW9uLmg+CiAjaW5jbHVkZSA8cGNtY2lhL2Npc3JlZy5oPgogI2luY2x1ZGUgPHBjbWNpYS9kZXZpY2VfaWQuaD4KICNpbmNsdWRlIDxwY21jaWEvc3MuaD4KZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9wcGRldi5jIGIvZHJpdmVycy9jaGFyL3BwZGV2LmMKaW5kZXggM2FhYjgzNy4uZjZlNmFjYSAxMDA2NDQKLS0tIGEvZHJpdmVycy9jaGFyL3BwZGV2LmMKKysrIGIvZHJpdmVycy9jaGFyL3BwZGV2LmMKQEAgLTY2LDYgKzY2LDcgQEAKICNpbmNsdWRlIDxsaW51eC9wb2xsLmg+CiAjaW5jbHVkZSA8bGludXgvbWFqb3IuaD4KICNpbmNsdWRlIDxsaW51eC9wcGRldi5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8YXNtL3VhY2Nlc3MuaD4KIAogI2RlZmluZSBQUF9WRVJTSU9OICJwcGRldjogdXNlci1zcGFjZSBwYXJhbGxlbCBwb3J0IGRyaXZlciIKQEAgLTYzOCw2ICs2MzksNyBAQAogCXVuc2lnbmVkIGludCBtaW5vciA9IGltaW5vcihpbm9kZSk7CiAJc3RydWN0IHBwX3N0cnVjdCAqcHA7CiAKKwljeWNsZV9rZXJuZWxfbG9jaygpOwogCWlmIChtaW5vciA+PSBQQVJQT1JUX01BWCkKIAkJcmV0dXJuIC1FTlhJTzsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL3Jhdy5jIGIvZHJpdmVycy9jaGFyL3Jhdy5jCmluZGV4IGJiZmEwZTIuLjUwNWZjYmUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvY2hhci9yYXcuYworKysgYi9kcml2ZXJzL2NoYXIvcmF3LmMKQEAgLTE5LDYgKzE5LDcgQEAKICNpbmNsdWRlIDxsaW51eC9jZGV2Lmg+CiAjaW5jbHVkZSA8bGludXgvZGV2aWNlLmg+CiAjaW5jbHVkZSA8bGludXgvbXV0ZXguaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogCiAjaW5jbHVkZSA8YXNtL3VhY2Nlc3MuaD4KIApAQCAtNTMsNiArNTQsNyBAQAogCQlyZXR1cm4gMDsKIAl9CiAKKwlsb2NrX2tlcm5lbCgpOwogCW11dGV4X2xvY2soJnJhd19tdXRleCk7CiAKIAkvKgpAQCAtNzksNiArODEsNyBAQAogCQkJYmRldi0+YmRfaW5vZGUtPmlfbWFwcGluZzsKIAlmaWxwLT5wcml2YXRlX2RhdGEgPSBiZGV2OwogCW11dGV4X3VubG9jaygmcmF3X211dGV4KTsKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIDA7CiAKIG91dDI6CmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvcnRjLmMgYi9kcml2ZXJzL2NoYXIvcnRjLmMKaW5kZXggOTA5Y2FjOS4uZmE5MmE4YSAxMDA2NDQKLS0tIGEvZHJpdmVycy9jaGFyL3J0Yy5jCisrKyBiL2RyaXZlcnMvY2hhci9ydGMuYwpAQCAtNzMsNiArNzMsNyBAQAogI2luY2x1ZGUgPGxpbnV4L3Byb2NfZnMuaD4KICNpbmNsdWRlIDxsaW51eC9zZXFfZmlsZS5oPgogI2luY2x1ZGUgPGxpbnV4L3NwaW5sb2NrLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxsaW51eC9zeXNjdGwuaD4KICNpbmNsdWRlIDxsaW51eC93YWl0Lmg+CiAjaW5jbHVkZSA8bGludXgvYmNkLmg+CkBAIC03MzQsNiArNzM1LDcgQEAKICAqIG5lZWRlZCBoZXJlLiBPciBhbnl3aGVyZSBlbHNlIGluIHRoaXMgZHJpdmVyLiAqLwogc3RhdGljIGludCBydGNfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKIHsKKwlsb2NrX2tlcm5lbCgpOwogCXNwaW5fbG9ja19pcnEoJnJ0Y19sb2NrKTsKIAogCWlmIChydGNfc3RhdHVzICYgUlRDX0lTX09QRU4pCkBAIC03NDMsMTAgKzc0NSwxMiBAQAogCiAJcnRjX2lycV9kYXRhID0gMDsKIAlzcGluX3VubG9ja19pcnEoJnJ0Y19sb2NrKTsKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIDA7CiAKIG91dF9idXN5OgogCXNwaW5fdW5sb2NrX2lycSgmcnRjX2xvY2spOworCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gLUVCVVNZOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvc2N4MjAwX2dwaW8uYyBiL2RyaXZlcnMvY2hhci9zY3gyMDBfZ3Bpby5jCmluZGV4IDk5ZTUyNzIuLjFkOTEwMDUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvY2hhci9zY3gyMDBfZ3Bpby5jCisrKyBiL2RyaXZlcnMvY2hhci9zY3gyMDBfZ3Bpby5jCkBAIC0xMiw2ICsxMiw3IEBACiAjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgogI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8YXNtL3VhY2Nlc3MuaD4KICNpbmNsdWRlIDxhc20vaW8uaD4KIApAQCAtNTEsNiArNTIsNyBAQAogCXVuc2lnbmVkIG0gPSBpbWlub3IoaW5vZGUpOwogCWZpbGUtPnByaXZhdGVfZGF0YSA9ICZzY3gyMDBfZ3Bpb19vcHM7CiAKKwljeWNsZV9rZXJuZWxfbG9jaygpOwogCWlmIChtID49IE1BWF9QSU5TKQogCQlyZXR1cm4gLUVJTlZBTDsKIAlyZXR1cm4gbm9uc2Vla2FibGVfb3Blbihpbm9kZSwgZmlsZSk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvc25zYy5jIGIvZHJpdmVycy9jaGFyL3Nuc2MuYwppbmRleCA4ZmUwOTlhLi4wYjc5OWFjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2NoYXIvc25zYy5jCisrKyBiL2RyaXZlcnMvY2hhci9zbnNjLmMKQEAgLTIxLDYgKzIxLDcgQEAKICNpbmNsdWRlIDxsaW51eC9wb2xsLmg+CiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CiAjaW5jbHVkZSA8bGludXgvc2xhYi5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8YXNtL3NuL2lvLmg+CiAjaW5jbHVkZSA8YXNtL3NuL3NuX3NhbC5oPgogI2luY2x1ZGUgPGFzbS9zbi9tb2R1bGUuaD4KQEAgLTEwNCw2ICsxMDUsNyBAQAogCWZpbGUtPnByaXZhdGVfZGF0YSA9IHNkOwogCiAJLyogaG9vayB0aGlzIHN1YmNoYW5uZWwgdXAgdG8gdGhlIHN5c3RlbSBjb250cm9sbGVyIGludGVycnVwdCAqLworCWxvY2tfa2VybmVsKCk7CiAJcnYgPSByZXF1ZXN0X2lycShTR0lfVUFSVF9WRUNUT1IsIHNjZHJ2X2ludGVycnVwdCwKIAkJCSBJUlFGX1NIQVJFRCB8IElSUUZfRElTQUJMRUQsCiAJCQkgU1lTQ1RMX0JBU0VOQU1FLCBzZCk7CkBAIC0xMTEsOSArMTEzLDEwIEBACiAJCWlhNjRfc25faXJ0cl9jbG9zZShzZC0+c2RfbmFzaWQsIHNkLT5zZF9zdWJjaCk7CiAJCWtmcmVlKHNkKTsKIAkJcHJpbnRrKCIlczogaXJxIHJlcXVlc3QgZmFpbGVkICglZClcbiIsIF9fZnVuY19fLCBydik7CisJCXVubG9ja19rZXJuZWwoKTsKIAkJcmV0dXJuIC1FQlVTWTsKIAl9Ci0KKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIDA7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9zb255cGkuYyBiL2RyaXZlcnMvY2hhci9zb255cGkuYwppbmRleCA1ODUzM2RlLi44NWUwZWI3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2NoYXIvc29ueXBpLmMKKysrIGIvZHJpdmVycy9jaGFyL3NvbnlwaS5jCkBAIC00OSw2ICs0OSw3IEBACiAjaW5jbHVkZSA8bGludXgvZXJyLmg+CiAjaW5jbHVkZSA8bGludXgva2ZpZm8uaD4KICNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogCiAjaW5jbHVkZSA8YXNtL3VhY2Nlc3MuaD4KICNpbmNsdWRlIDxhc20vaW8uaD4KQEAgLTkwNiwxMiArOTA3LDE0IEBACiAKIHN0YXRpYyBpbnQgc29ueXBpX21pc2Nfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKIHsKKwlsb2NrX2tlcm5lbCgpOwogCW11dGV4X2xvY2soJnNvbnlwaV9kZXZpY2UubG9jayk7CiAJLyogRmx1c2ggaW5wdXQgcXVldWUgb24gZmlyc3Qgb3BlbiAqLwogCWlmICghc29ueXBpX2RldmljZS5vcGVuX2NvdW50KQogCQlrZmlmb19yZXNldChzb255cGlfZGV2aWNlLmZpZm8pOwogCXNvbnlwaV9kZXZpY2Uub3Blbl9jb3VudCsrOwogCW11dGV4X3VubG9jaygmc29ueXBpX2RldmljZS5sb2NrKTsKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIDA7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci90YjAyMTkuYyBiL2RyaXZlcnMvY2hhci90YjAyMTkuYwppbmRleCA0YzQzMWNiLi42MDYyYjYyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2NoYXIvdGIwMjE5LmMKKysrIGIvZHJpdmVycy9jaGFyL3RiMDIxOS5jCkBAIC0yMSw2ICsyMSw3IEBACiAjaW5jbHVkZSA8bGludXgvZnMuaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KIAogI2luY2x1ZGUgPGFzbS9pby5oPgogI2luY2x1ZGUgPGFzbS9yZWJvb3QuaD4KQEAgLTIzNiw2ICsyMzcsNyBAQAogewogCXVuc2lnbmVkIGludCBtaW5vcjsKIAorCWN5Y2xlX2tlcm5lbF9sb2NrKCk7CiAJbWlub3IgPSBpbWlub3IoaW5vZGUpOwogCXN3aXRjaCAobWlub3IpIHsKIAljYXNlIDA6CmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvdGxjbGsuYyBiL2RyaXZlcnMvY2hhci90bGNsay5jCmluZGV4IDM1ZTU4MDMuLjhmMjI4NGIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvY2hhci90bGNsay5jCisrKyBiL2RyaXZlcnMvY2hhci90bGNsay5jCkBAIC0zNiw2ICszNiw3IEBACiAjaW5jbHVkZSA8bGludXgvaW9wb3J0Lmg+CiAjaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+CiAjaW5jbHVkZSA8bGludXgvc3BpbmxvY2suaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L3RpbWVyLmg+CiAjaW5jbHVkZSA8bGludXgvc3lzZnMuaD4KICNpbmNsdWRlIDxsaW51eC9kZXZpY2UuaD4KQEAgLTIwNCwxMSArMjA1LDE0IEBACiB7CiAJaW50IHJlc3VsdDsKIAotCWlmICh0ZXN0X2FuZF9zZXRfYml0KDAsICZ1c2VmbGFncykpCi0JCXJldHVybiAtRUJVU1k7CisJbG9ja19rZXJuZWwoKTsKKwlpZiAodGVzdF9hbmRfc2V0X2JpdCgwLCAmdXNlZmxhZ3MpKSB7CisJCXJlc3VsdCA9IC1FQlVTWTsKIAkJLyogdGhpcyBsZWdhY3kgZGV2aWNlIGlzIGFsd2F5cyBvbmUgcGVyIHN5c3RlbSBhbmQgaXQgZG9lc24ndAogCQkgKiBrbm93IGhvdyB0byBoYW5kbGUgbXVsdGlwbGUgY29uY3VycmVudCBjbGllbnRzLgogCQkgKi8KKwkJZ290byBvdXQ7CisJfQogCiAJLyogTWFrZSBzdXJlIHRoZXJlIGlzIG5vIGludGVycnVwdCBwZW5kaW5nIHdoaWxlCiAJICogaW5pdGlhbGlzaW5nIGludGVycnVwdCBoYW5kbGVyICovCkBAIC0yMTgsMTMgKzIyMiwxNCBAQAogCSAqIHdlIGNhbid0IHNoYXJlIHRoaXMgSVJRICovCiAJcmVzdWx0ID0gcmVxdWVzdF9pcnEodGVsY2xrX2ludGVycnVwdCwgJnRsY2xrX2ludGVycnVwdCwKIAkJCSAgICAgSVJRRl9ESVNBQkxFRCwgInRlbGNvX2Nsb2NrIiwgdGxjbGtfaW50ZXJydXB0KTsKLQlpZiAocmVzdWx0ID09IC1FQlVTWSkgeworCWlmIChyZXN1bHQgPT0gLUVCVVNZKQogCQlwcmludGsoS0VSTl9FUlIgInRsY2xrOiBJbnRlcnJ1cHQgY2FuJ3QgYmUgcmVzZXJ2ZWQuXG4iKTsKLQkJcmV0dXJuIC1FQlVTWTsKLQl9Ci0JaW5iKFRMQ0xLX1JFRzYpOwkvKiBDbGVhciBpbnRlcnJ1cHQgZXZlbnRzICovCisJZWxzZQorCQlpbmIoVExDTEtfUkVHNik7CS8qIENsZWFyIGludGVycnVwdCBldmVudHMgKi8KIAotCXJldHVybiAwOworb3V0OgorCXVubG9ja19rZXJuZWwoKTsKKwlyZXR1cm4gcmVzdWx0OwogfQogCiBzdGF0aWMgaW50IHRsY2xrX3JlbGVhc2Uoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbHApCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvdHBtL3RwbS5jIGIvZHJpdmVycy9jaGFyL3RwbS90cG0uYwppbmRleCBhNWQ4YmNiLi5lMWZjMTkzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2NoYXIvdHBtL3RwbS5jCisrKyBiL2RyaXZlcnMvY2hhci90cG0vdHBtLmMKQEAgLTI2LDYgKzI2LDcgQEAKICNpbmNsdWRlIDxsaW51eC9wb2xsLmg+CiAjaW5jbHVkZSA8bGludXgvbXV0ZXguaD4KICNpbmNsdWRlIDxsaW51eC9zcGlubG9jay5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAKICNpbmNsdWRlICJ0cG0uaCIKIApAQCAtODk3LDYgKzg5OCw3IEBACiAJaW50IHJjID0gMCwgbWlub3IgPSBpbWlub3IoaW5vZGUpOwogCXN0cnVjdCB0cG1fY2hpcCAqY2hpcCA9IE5VTEwsICpwb3M7CiAKKwlsb2NrX2tlcm5lbCgpOwogCXNwaW5fbG9jaygmZHJpdmVyX2xvY2spOwogCiAJbGlzdF9mb3JfZWFjaF9lbnRyeShwb3MsICZ0cG1fY2hpcF9saXN0LCBsaXN0KSB7CkBAIC05MjYsMTYgKzkyOCwxOSBAQAogCWlmIChjaGlwLT5kYXRhX2J1ZmZlciA9PSBOVUxMKSB7CiAJCWNoaXAtPm51bV9vcGVucy0tOwogCQlwdXRfZGV2aWNlKGNoaXAtPmRldik7CisJCXVubG9ja19rZXJuZWwoKTsKIAkJcmV0dXJuIC1FTk9NRU07CiAJfQogCiAJYXRvbWljX3NldCgmY2hpcC0+ZGF0YV9wZW5kaW5nLCAwKTsKIAogCWZpbGUtPnByaXZhdGVfZGF0YSA9IGNoaXA7CisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiAwOwogCiBlcnJfb3V0OgogCXNwaW5fdW5sb2NrKCZkcml2ZXJfbG9jayk7CisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiByYzsKIH0KIEVYUE9SVF9TWU1CT0xfR1BMKHRwbV9vcGVuKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci90dHlfaW8uYyBiL2RyaXZlcnMvY2hhci90dHlfaW8uYwppbmRleCA3NTAxMzEwLi4wNDdhMTczIDEwMDY0NAotLS0gYS9kcml2ZXJzL2NoYXIvdHR5X2lvLmMKKysrIGIvZHJpdmVycy9jaGFyL3R0eV9pby5jCkBAIC0yNjY1LDcgKzI2NjUsNyBAQAogICoJCSAtPnNpZ2xvY2sgcHJvdGVjdHMgLT5zaWduYWwvLT5zaWdoYW5kCiAgKi8KIAotc3RhdGljIGludCB0dHlfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlscCkKK3N0YXRpYyBpbnQgX190dHlfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlscCkKIHsKIAlzdHJ1Y3QgdHR5X3N0cnVjdCAqdHR5OwogCWludCBub2N0dHksIHJldHZhbDsKQEAgLTI3NzksNiArMjc3OSwxOSBAQAogCXJldHVybiAwOwogfQogCisvKiBCS0wgcHVzaGRvd246IHNjYXJ5IGNvZGUgYXZvaWRhbmNlIHdyYXBwZXIgKi8KK3N0YXRpYyBpbnQgdHR5X29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbHApCit7CisJaW50IHJldDsKKworCWxvY2tfa2VybmVsKCk7CisJcmV0ID0gX190dHlfb3Blbihpbm9kZSwgZmlscCk7CisJdW5sb2NrX2tlcm5lbCgpOworCXJldHVybiByZXQ7Cit9CisKKworCiAjaWZkZWYgQ09ORklHX1VOSVg5OF9QVFlTCiAvKioKICAqCXB0bXhfb3BlbgkJLQlvcGVuIGEgdW5peCA5OCBwdHkgbWFzdGVyCkBAIC0yNzkyLDcgKzI4MDUsNyBAQAogICoJCWFsbG9jYXRlZF9wdHlzX2xvY2sgaGFuZGxlcyB0aGUgbGlzdCBvZiBmcmVlIHB0eSBudW1iZXJzCiAgKi8KIAotc3RhdGljIGludCBwdG14X29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbHApCitzdGF0aWMgaW50IF9fcHRteF9vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxwKQogewogCXN0cnVjdCB0dHlfc3RydWN0ICp0dHk7CiAJaW50IHJldHZhbDsKQEAgLTI4MzEsNiArMjg0NCwxNiBAQAogCWRldnB0c19raWxsX2luZGV4KGluZGV4KTsKIAlyZXR1cm4gcmV0dmFsOwogfQorCitzdGF0aWMgaW50IHB0bXhfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlscCkKK3sKKwlpbnQgcmV0OworCisJbG9ja19rZXJuZWwoKTsKKwlyZXQgPSBfX3B0bXhfb3Blbihpbm9kZSwgZmlscCk7CisJdW5sb2NrX2tlcm5lbCgpOworCXJldHVybiByZXQ7Cit9CiAjZW5kaWYKIAogLyoqCkBAIC0yODg2LDE1ICsyOTA5LDE2IEBACiB7CiAJc3RydWN0IHR0eV9zdHJ1Y3QgKnR0eTsKIAl1bnNpZ25lZCBsb25nIGZsYWdzOwotCWludCByZXR2YWw7CisJaW50IHJldHZhbCA9IDA7CiAKKwlsb2NrX2tlcm5lbCgpOwogCXR0eSA9IChzdHJ1Y3QgdHR5X3N0cnVjdCAqKWZpbHAtPnByaXZhdGVfZGF0YTsKIAlpZiAodHR5X3BhcmFub2lhX2NoZWNrKHR0eSwgZmlscC0+Zl9wYXRoLmRlbnRyeS0+ZF9pbm9kZSwgInR0eV9mYXN5bmMiKSkKLQkJcmV0dXJuIDA7CisJCWdvdG8gb3V0OwogCiAJcmV0dmFsID0gZmFzeW5jX2hlbHBlcihmZCwgZmlscCwgb24sICZ0dHktPmZhc3luYyk7CiAJaWYgKHJldHZhbCA8PSAwKQotCQlyZXR1cm4gcmV0dmFsOworCQlnb3RvIG91dDsKIAogCWlmIChvbikgewogCQllbnVtIHBpZF90eXBlIHR5cGU7CkBAIC0yOTEyLDEyICsyOTM2LDE1IEBACiAJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnR0eS0+Y3RybF9sb2NrLCBmbGFncyk7CiAJCXJldHZhbCA9IF9fZl9zZXRvd24oZmlscCwgcGlkLCB0eXBlLCAwKTsKIAkJaWYgKHJldHZhbCkKLQkJCXJldHVybiByZXR2YWw7CisJCQlnb3RvIG91dDsKIAl9IGVsc2UgewogCQlpZiAoIXR0eS0+ZmFzeW5jICYmICF3YWl0cXVldWVfYWN0aXZlKCZ0dHktPnJlYWRfd2FpdCkpCiAJCQl0dHktPm1pbmltdW1fdG9fd2FrZSA9IE5fVFRZX0JVRl9TSVpFOwogCX0KLQlyZXR1cm4gMDsKKwlyZXR2YWwgPSAwOworb3V0OgorCXVubG9ja19rZXJuZWwoKTsKKwlyZXR1cm4gcmV0dmFsOwogfQogCiAvKioKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci92Y19zY3JlZW4uYyBiL2RyaXZlcnMvY2hhci92Y19zY3JlZW4uYwppbmRleCA4M2FlZWRkLi5lZWJmYWQyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2NoYXIvdmNfc2NyZWVuLmMKKysrIGIvZHJpdmVycy9jaGFyL3ZjX3NjcmVlbi5jCkBAIC0zNCw2ICszNCw3IEBACiAjaW5jbHVkZSA8bGludXgva2JkX2tlcm4uaD4KICNpbmNsdWRlIDxsaW51eC9jb25zb2xlLmg+CiAjaW5jbHVkZSA8bGludXgvZGV2aWNlLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KIAogI2luY2x1ZGUgPGFzbS91YWNjZXNzLmg+CiAjaW5jbHVkZSA8YXNtL2J5dGVvcmRlci5oPgpAQCAtNDYwLDkgKzQ2MSwxMyBAQAogdmNzX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbHApCiB7CiAJdW5zaWduZWQgaW50IGN1cnJjb25zID0gaW1pbm9yKGlub2RlKSAmIDEyNzsKKwlpbnQgcmV0ID0gMDsKKwkKKwlsb2NrX2tlcm5lbCgpOwogCWlmKGN1cnJjb25zICYmICF2Y19jb25zX2FsbG9jYXRlZChjdXJyY29ucy0xKSkKLQkJcmV0dXJuIC1FTlhJTzsKLQlyZXR1cm4gMDsKKwkJcmV0ID0gLUVOWElPOworCXVubG9ja19rZXJuZWwoKTsKKwlyZXR1cm4gcmV0OwogfQogCiBzdGF0aWMgY29uc3Qgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyB2Y3NfZm9wcyA9IHsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci92aW90YXBlLmMgYi9kcml2ZXJzL2NoYXIvdmlvdGFwZS5jCmluZGV4IGMzOWRkYWYuLjk3N2Y3ZDMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvY2hhci92aW90YXBlLmMKKysrIGIvZHJpdmVycy9jaGFyL3Zpb3RhcGUuYwpAQCAtNDYsNiArNDYsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2NvbXBsZXRpb24uaD4KICNpbmNsdWRlIDxsaW51eC9wcm9jX2ZzLmg+CiAjaW5jbHVkZSA8bGludXgvc2VxX2ZpbGUuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogCiAjaW5jbHVkZSA8YXNtL3VhY2Nlc3MuaD4KICNpbmNsdWRlIDxhc20vaW9jdGxzLmg+CkBAIC02ODcsNiArNjg4LDcgQEAKIAlpZiAob3AgPT0gTlVMTCkKIAkJcmV0dXJuIC1FTk9NRU07CiAKKwlsb2NrX2tlcm5lbCgpOwogCWdldF9kZXZfaW5mbyhmaWxlLT5mX3BhdGguZGVudHJ5LT5kX2lub2RlLCAmZGV2aSk7CiAKIAkvKiBOb3RlOiBXZSBjdXJyZW50bHkgb25seSBzdXBwb3J0IG9uZSBtb2RlISAqLwpAQCAtNzE3LDYgKzcxOSw3IEBACiAKIGZyZWVfb3A6CiAJZnJlZV9vcF9zdHJ1Y3Qob3ApOworCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gcmV0OwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvdnI0MXh4X2dpdS5jIGIvZHJpdmVycy9jaGFyL3ZyNDF4eF9naXUuYwppbmRleCBlNWVkMDkxLi5mZmU5YjRlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2NoYXIvdnI0MXh4X2dpdS5jCisrKyBiL2RyaXZlcnMvY2hhci92cjQxeHhfZ2l1LmMKQEAgLTI3LDYgKzI3LDcgQEAKICNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KICNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L3NwaW5sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KIApAQCAtNTQ3LDYgKzU0OCw3IEBACiB7CiAJdW5zaWduZWQgaW50IHBpbjsKIAorCWN5Y2xlX2tlcm5lbF9sb2NrKCk7CiAJcGluID0gaW1pbm9yKGlub2RlKTsKIAlpZiAocGluID49IGdpdV9ucl9waW5zKQogCQlyZXR1cm4gLUVCQURGOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL3hpbGlueF9od2ljYXAveGlsaW54X2h3aWNhcC5jIGIvZHJpdmVycy9jaGFyL3hpbGlueF9od2ljYXAveGlsaW54X2h3aWNhcC5jCmluZGV4IDNlZGYxZmMuLjFlMWI4MWUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvY2hhci94aWxpbnhfaHdpY2FwL3hpbGlueF9od2ljYXAuYworKysgYi9kcml2ZXJzL2NoYXIveGlsaW54X2h3aWNhcC94aWxpbnhfaHdpY2FwLmMKQEAgLTg1LDYgKzg1LDcgQEAKICNpbmNsdWRlIDxsaW51eC9wb2xsLmg+CiAjaW5jbHVkZSA8bGludXgvcHJvY19mcy5oPgogI2luY2x1ZGUgPGxpbnV4L211dGV4Lmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxsaW51eC9zeXNjdGwuaD4KICNpbmNsdWRlIDxsaW51eC92ZXJzaW9uLmg+CiAjaW5jbHVkZSA8bGludXgvZnMuaD4KQEAgLTUwNCwxMSArNTA1LDEyIEBACiAJc3RydWN0IGh3aWNhcF9kcnZkYXRhICpkcnZkYXRhOwogCWludCBzdGF0dXM7CiAKKwlsb2NrX2tlcm5lbCgpOwogCWRydmRhdGEgPSBjb250YWluZXJfb2YoaW5vZGUtPmlfY2Rldiwgc3RydWN0IGh3aWNhcF9kcnZkYXRhLCBjZGV2KTsKIAogCXN0YXR1cyA9IG11dGV4X2xvY2tfaW50ZXJydXB0aWJsZSgmZHJ2ZGF0YS0+c2VtKTsKIAlpZiAoc3RhdHVzKQotCQlyZXR1cm4gc3RhdHVzOworCQlnb3RvIG91dDsKIAogCWlmIChkcnZkYXRhLT5pc19vcGVuKSB7CiAJCXN0YXR1cyA9IC1FQlVTWTsKQEAgLTUyOCw2ICs1MzAsOCBAQAogCiAgZXJyb3I6CiAJbXV0ZXhfdW5sb2NrKCZkcnZkYXRhLT5zZW0pOworIG91dDoKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIHN0YXR1czsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9jbG9ja3NvdXJjZS9hY3BpX3BtLmMgYi9kcml2ZXJzL2Nsb2Nrc291cmNlL2FjcGlfcG0uYwppbmRleCA3YjQ2ZmFmLi41Y2ExZDgwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2Nsb2Nrc291cmNlL2FjcGlfcG0uYworKysgYi9kcml2ZXJzL2Nsb2Nrc291cmNlL2FjcGlfcG0uYwpAQCAtMjE1LDMgKzIxNSwyMiBAQAogICogYnV0IHdlIHN0aWxsIG5lZWQgdG8gbG9hZCBiZWZvcmUgZGV2aWNlX2luaXRjYWxsCiAgKi8KIGZzX2luaXRjYWxsKGluaXRfYWNwaV9wbV9jbG9ja3NvdXJjZSk7CisKKy8qCisgKiBBbGxvdyBhbiBvdmVycmlkZSBvZiB0aGUgSU9Qb3J0LiBTdHVwaWQgQklPU2VzIGRvIG5vdCB0ZWxsIHVzIGFib3V0CisgKiB0aGUgUE1UaW1lciwgYnV0IHdlIG1pZ2h0IGtub3cgd2hlcmUgaXQgaXMuCisgKi8KK3N0YXRpYyBpbnQgX19pbml0IHBhcnNlX3BtdG1yKGNoYXIgKmFyZykKK3sKKwl1bnNpZ25lZCBsb25nIGJhc2U7CisKKwlpZiAoc3RyaWN0X3N0cnRvdWwoYXJnLCAxNiwgJmJhc2UpKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCXByaW50ayhLRVJOX0lORk8gIlBNVE1SIElPUG9ydCBvdmVycmlkZTogMHglMDR4IC0+IDB4JTA0bHhcbiIsCisJICAgICAgICh1bnNpZ25lZCBpbnQpcG10bXJfaW9wb3J0LCBiYXNlKTsKKwlwbXRtcl9pb3BvcnQgPSBiYXNlOworCisJcmV0dXJuIDE7Cit9CitfX3NldHVwKCJwbXRtcj0iLCBwYXJzZV9wbXRtcik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2NyeXB0by9LY29uZmlnIGIvZHJpdmVycy9jcnlwdG8vS2NvbmZpZwppbmRleCA0M2I3MWI2Li5lNTIyMTQ0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2NyeXB0by9LY29uZmlnCisrKyBiL2RyaXZlcnMvY3J5cHRvL0tjb25maWcKQEAgLTE3NCw0ICsxNzQsMzAgQEAKIAkgIFNlbGVjdCB0aGlzIG9wdGlvbiBpZiB5b3Ugd2FudCB0byBlbmFibGUgdGhlIHJhbmRvbSBudW1iZXIgZ2VuZXJhdG9yCiAJICBvbiB0aGUgSElGTiA3OTV4IGNyeXB0byBhZGFwdGVycy4KIAorY29uZmlnIENSWVBUT19ERVZfVEFMSVRPUworCXRyaXN0YXRlICJUYWxpdG9zIEZyZWVzY2FsZSBTZWN1cml0eSBFbmdpbmUgKFNFQykiCisJc2VsZWN0IENSWVBUT19BTEdBUEkKKwlzZWxlY3QgQ1JZUFRPX0FVVEhFTkMKKwlzZWxlY3QgSFdfUkFORE9NCisJZGVwZW5kcyBvbiBGU0xfU09DCisJaGVscAorCSAgU2F5ICdZJyBoZXJlIHRvIHVzZSB0aGUgRnJlZXNjYWxlIFNlY3VyaXR5IEVuZ2luZSAoU0VDKQorCSAgdG8gb2ZmbG9hZCBjcnlwdG9ncmFwaGljIGFsZ29yaXRobSBjb21wdXRhdGlvbi4KKworCSAgVGhlIEZyZWVzY2FsZSBTRUMgaXMgcHJlc2VudCBvbiBQb3dlclFVSUNDICdFJyBwcm9jZXNzb3JzLCBzdWNoCisJICBhcyB0aGUgTVBDODM0OUUgYW5kIE1QQzg1NDhFLgorCisJICBUbyBjb21waWxlIHRoaXMgZHJpdmVyIGFzIGEgbW9kdWxlLCBjaG9vc2UgTSBoZXJlOiB0aGUgbW9kdWxlCisJICB3aWxsIGJlIGNhbGxlZCB0YWxpdG9zLgorCitjb25maWcgQ1JZUFRPX0RFVl9JWFA0WFgKKwl0cmlzdGF0ZSAiRHJpdmVyIGZvciBJWFA0eHggY3J5cHRvIGhhcmR3YXJlIGFjY2VsZXJhdGlvbiIKKwlkZXBlbmRzIG9uIEFSQ0hfSVhQNFhYCisJc2VsZWN0IENSWVBUT19ERVMKKwlzZWxlY3QgQ1JZUFRPX0FMR0FQSQorCXNlbGVjdCBDUllQVE9fQVVUSEVOQworCXNlbGVjdCBDUllQVE9fQkxLQ0lQSEVSCisJaGVscAorCSAgRHJpdmVyIGZvciB0aGUgSVhQNHh4IE5QRSBjcnlwdG8gZW5naW5lLgorCiBlbmRpZiAjIENSWVBUT19IVwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jcnlwdG8vTWFrZWZpbGUgYi9kcml2ZXJzL2NyeXB0by9NYWtlZmlsZQppbmRleCBjMDMyN2YwLi43MzU1N2IyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2NyeXB0by9NYWtlZmlsZQorKysgYi9kcml2ZXJzL2NyeXB0by9NYWtlZmlsZQpAQCAtMiwzICsyLDUgQEAKIG9iai0kKENPTkZJR19DUllQVE9fREVWX1BBRExPQ0tfU0hBKSArPSBwYWRsb2NrLXNoYS5vCiBvYmotJChDT05GSUdfQ1JZUFRPX0RFVl9HRU9ERSkgKz0gZ2VvZGUtYWVzLm8KIG9iai0kKENPTkZJR19DUllQVE9fREVWX0hJRk5fNzk1WCkgKz0gaGlmbl83OTV4Lm8KK29iai0kKENPTkZJR19DUllQVE9fREVWX1RBTElUT1MpICs9IHRhbGl0b3Mubworb2JqLSQoQ09ORklHX0NSWVBUT19ERVZfSVhQNFhYKSArPSBpeHA0eHhfY3J5cHRvLm8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvY3J5cHRvL2hpZm5fNzk1eC5jIGIvZHJpdmVycy9jcnlwdG8vaGlmbl83OTV4LmMKaW5kZXggODFmM2Y5NS4uNGQyMmIyMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9jcnlwdG8vaGlmbl83OTV4LmMKKysrIGIvZHJpdmVycy9jcnlwdG8vaGlmbl83OTV4LmMKQEAgLTI5LDcgKzI5LDYgQEAKICNpbmNsdWRlIDxsaW51eC9kbWEtbWFwcGluZy5oPgogI2luY2x1ZGUgPGxpbnV4L3NjYXR0ZXJsaXN0Lmg+CiAjaW5jbHVkZSA8bGludXgvaGlnaG1lbS5oPgotI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgogI2luY2x1ZGUgPGxpbnV4L2NyeXB0by5oPgogI2luY2x1ZGUgPGxpbnV4L2h3X3JhbmRvbS5oPgogI2luY2x1ZGUgPGxpbnV4L2t0aW1lLmg+CkBAIC0zNjksNyArMzY4LDkgQEAKICNkZWZpbmUJSElGTl9EX0RTVF9SU0laRQkJODAqNAogI2RlZmluZQlISUZOX0RfUkVTX1JTSVpFCQkyNCo0CiAKLSNkZWZpbmUgSElGTl9RVUVVRV9MRU5HVEgJCUhJRk5fRF9DTURfUlNJWkUtNQorI2RlZmluZSBISUZOX0RfRFNUX0RBTElHTgkJNAorCisjZGVmaW5lIEhJRk5fUVVFVUVfTEVOR1RICQlISUZOX0RfQ01EX1JTSVpFLTEKIAogI2RlZmluZSBBRVNfTUlOX0tFWV9TSVpFCQkxNgogI2RlZmluZSBBRVNfTUFYX0tFWV9TSVpFCQkzMgpAQCAtNTM1LDEwICs1MzYsMTAgQEAKICAqLwogc3RydWN0IGhpZm5fbWFjX2NvbW1hbmQKIHsKLQl2b2xhdGlsZSB1MTYgCQltYXNrczsKLQl2b2xhdGlsZSB1MTYgCQloZWFkZXJfc2tpcDsKLQl2b2xhdGlsZSB1MTYgCQlzb3VyY2VfY291bnQ7Ci0Jdm9sYXRpbGUgdTE2IAkJcmVzZXJ2ZWQ7CisJdm9sYXRpbGUgX19sZTE2IAltYXNrczsKKwl2b2xhdGlsZSBfX2xlMTYgCWhlYWRlcl9za2lwOworCXZvbGF0aWxlIF9fbGUxNiAJc291cmNlX2NvdW50OworCXZvbGF0aWxlIF9fbGUxNiAJcmVzZXJ2ZWQ7CiB9OwogCiAjZGVmaW5lCUhJRk5fTUFDX0NNRF9BTEdfTUFTSwkJMHgwMDAxCkBAIC01NjQsMTAgKzU2NSwxMCBAQAogCiBzdHJ1Y3QgaGlmbl9jb21wX2NvbW1hbmQKIHsKLQl2b2xhdGlsZSB1MTYgCQltYXNrczsKLQl2b2xhdGlsZSB1MTYgCQloZWFkZXJfc2tpcDsKLQl2b2xhdGlsZSB1MTYgCQlzb3VyY2VfY291bnQ7Ci0Jdm9sYXRpbGUgdTE2IAkJcmVzZXJ2ZWQ7CisJdm9sYXRpbGUgX19sZTE2IAltYXNrczsKKwl2b2xhdGlsZSBfX2xlMTYgCWhlYWRlcl9za2lwOworCXZvbGF0aWxlIF9fbGUxNiAJc291cmNlX2NvdW50OworCXZvbGF0aWxlIF9fbGUxNiAJcmVzZXJ2ZWQ7CiB9OwogCiAjZGVmaW5lCUhJRk5fQ09NUF9DTURfU1JDTEVOX00JCTB4YzAwMApAQCAtNTgzLDEwICs1ODQsMTAgQEAKIAogc3RydWN0IGhpZm5fYmFzZV9yZXN1bHQKIHsKLQl2b2xhdGlsZSB1MTYgCQlmbGFnczsKLQl2b2xhdGlsZSB1MTYgCQlzZXNzaW9uOwotCXZvbGF0aWxlIHUxNiAJCXNyY19jbnQ7CQkvKiAxNTowIG9mIHNvdXJjZSBjb3VudCAqLwotCXZvbGF0aWxlIHUxNiAJCWRzdF9jbnQ7CQkvKiAxNTowIG9mIGRlc3QgY291bnQgKi8KKwl2b2xhdGlsZSBfX2xlMTYgCWZsYWdzOworCXZvbGF0aWxlIF9fbGUxNiAJc2Vzc2lvbjsKKwl2b2xhdGlsZSBfX2xlMTYgCXNyY19jbnQ7CQkvKiAxNTowIG9mIHNvdXJjZSBjb3VudCAqLworCXZvbGF0aWxlIF9fbGUxNiAJZHN0X2NudDsJCS8qIDE1OjAgb2YgZGVzdCBjb3VudCAqLwogfTsKIAogI2RlZmluZQlISUZOX0JBU0VfUkVTX0RTVE9WRVJSVU4JMHgwMjAwCS8qIGRlc3RpbmF0aW9uIG92ZXJydW4gKi8KQEAgLTU5Nyw4ICs1OTgsOCBAQAogCiBzdHJ1Y3QgaGlmbl9jb21wX3Jlc3VsdAogewotCXZvbGF0aWxlIHUxNiAJCWZsYWdzOwotCXZvbGF0aWxlIHUxNiAJCWNyYzsKKwl2b2xhdGlsZSBfX2xlMTYJCWZsYWdzOworCXZvbGF0aWxlIF9fbGUxNgkJY3JjOwogfTsKIAogI2RlZmluZQlISUZOX0NPTVBfUkVTX0xDQl9NCQkweGZmMDAJLyogbG9uZ2l0dWRpbmFsIGNoZWNrIGJ5dGUgKi8KQEAgLTYwOSw4ICs2MTAsOCBAQAogCiBzdHJ1Y3QgaGlmbl9tYWNfcmVzdWx0CiB7Ci0Jdm9sYXRpbGUgdTE2IAkJZmxhZ3M7Ci0Jdm9sYXRpbGUgdTE2IAkJcmVzZXJ2ZWQ7CisJdm9sYXRpbGUgX19sZTE2IAlmbGFnczsKKwl2b2xhdGlsZSBfX2xlMTYgCXJlc2VydmVkOwogCS8qIGZvbGxvd2VkIGJ5IDAsIDYsIDgsIG9yIDEwIHUxNidzIG9mIHRoZSBNQUMsIHRoZW4gY3J5cHQgKi8KIH07CiAKQEAgLTYxOSw4ICs2MjAsOCBAQAogCiBzdHJ1Y3QgaGlmbl9jcnlwdF9yZXN1bHQKIHsKLQl2b2xhdGlsZSB1MTYgCQlmbGFnczsKLQl2b2xhdGlsZSB1MTYgCQlyZXNlcnZlZDsKKwl2b2xhdGlsZSBfX2xlMTYJCWZsYWdzOworCXZvbGF0aWxlIF9fbGUxNgkJcmVzZXJ2ZWQ7CiB9OwogCiAjZGVmaW5lCUhJRk5fQ1JZUFRfUkVTX1NSQ19OT1RaRVJPCTB4MDAwMQkvKiBzb3VyY2UgZXhwaXJlZCAqLwpAQCAtNjg2LDEyICs2ODcsMTIgQEAKIAogc3RhdGljIGlubGluZSB2b2lkIGhpZm5fd3JpdGVfMChzdHJ1Y3QgaGlmbl9kZXZpY2UgKmRldiwgdTMyIHJlZywgdTMyIHZhbCkKIHsKLQl3cml0ZWwodmFsLCBkZXYtPmJhclswXSArIHJlZyk7CisJd3JpdGVsKChfX2ZvcmNlIHUzMiljcHVfdG9fbGUzMih2YWwpLCBkZXYtPmJhclswXSArIHJlZyk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgdm9pZCBoaWZuX3dyaXRlXzEoc3RydWN0IGhpZm5fZGV2aWNlICpkZXYsIHUzMiByZWcsIHUzMiB2YWwpCiB7Ci0Jd3JpdGVsKHZhbCwgZGV2LT5iYXJbMV0gKyByZWcpOworCXdyaXRlbCgoX19mb3JjZSB1MzIpY3B1X3RvX2xlMzIodmFsKSwgZGV2LT5iYXJbMV0gKyByZWcpOwogfQogCiBzdGF0aWMgdm9pZCBoaWZuX3dhaXRfcHVjKHN0cnVjdCBoaWZuX2RldmljZSAqZGV2KQpAQCAtODk0LDcgKzg5NSw3IEBACiAJY2hhciAqb2ZmdGJsID0gTlVMTDsKIAlpbnQgaTsKIAotCWZvciAoaSA9IDA7IGkgPCBzaXplb2YocGNpMmlkKS9zaXplb2YocGNpMmlkWzBdKTsgaSsrKSB7CisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUocGNpMmlkKTsgaSsrKSB7CiAJCWlmIChwY2kyaWRbaV0ucGNpX3ZlbmRvciA9PSBkZXYtPnBkZXYtPnZlbmRvciAmJgogCQkJCXBjaTJpZFtpXS5wY2lfcHJvZCA9PSBkZXYtPnBkZXYtPmRldmljZSkgewogCQkJb2ZmdGJsID0gcGNpMmlkW2ldLmNhcmRfaWQ7CkBAIC0xMDM3LDE0ICsxMDM4LDE0IEBACiAJaGlmbl93cml0ZV8wKGRldiwgSElGTl8wX1BVSUVSLCBISUZOX1BVSUVSX0RTVE9WRVIpOwogCiAJLyogd3JpdGUgYWxsIDQgcmluZyBhZGRyZXNzIHJlZ2lzdGVycyAqLwotCWhpZm5fd3JpdGVfMShkZXYsIEhJRk5fMV9ETUFfQ1JBUiwgX19jcHVfdG9fbGUzMihkcHRyICsKLQkJCQlvZmZzZXRvZihzdHJ1Y3QgaGlmbl9kbWEsIGNtZHJbMF0pKSk7Ci0JaGlmbl93cml0ZV8xKGRldiwgSElGTl8xX0RNQV9TUkFSLCBfX2NwdV90b19sZTMyKGRwdHIgKwotCQkJCW9mZnNldG9mKHN0cnVjdCBoaWZuX2RtYSwgc3JjclswXSkpKTsKLQloaWZuX3dyaXRlXzEoZGV2LCBISUZOXzFfRE1BX0RSQVIsIF9fY3B1X3RvX2xlMzIoZHB0ciArCi0JCQkJb2Zmc2V0b2Yoc3RydWN0IGhpZm5fZG1hLCBkc3RyWzBdKSkpOwotCWhpZm5fd3JpdGVfMShkZXYsIEhJRk5fMV9ETUFfUlJBUiwgX19jcHVfdG9fbGUzMihkcHRyICsKLQkJCQlvZmZzZXRvZihzdHJ1Y3QgaGlmbl9kbWEsIHJlc3JbMF0pKSk7CisJaGlmbl93cml0ZV8xKGRldiwgSElGTl8xX0RNQV9DUkFSLCBkcHRyICsKKwkJCQlvZmZzZXRvZihzdHJ1Y3QgaGlmbl9kbWEsIGNtZHJbMF0pKTsKKwloaWZuX3dyaXRlXzEoZGV2LCBISUZOXzFfRE1BX1NSQVIsIGRwdHIgKworCQkJCW9mZnNldG9mKHN0cnVjdCBoaWZuX2RtYSwgc3JjclswXSkpOworCWhpZm5fd3JpdGVfMShkZXYsIEhJRk5fMV9ETUFfRFJBUiwgZHB0ciArCisJCQkJb2Zmc2V0b2Yoc3RydWN0IGhpZm5fZG1hLCBkc3RyWzBdKSk7CisJaGlmbl93cml0ZV8xKGRldiwgSElGTl8xX0RNQV9SUkFSLCBkcHRyICsKKwkJCQlvZmZzZXRvZihzdHJ1Y3QgaGlmbl9kbWEsIHJlc3JbMF0pKTsKIAogCW1kZWxheSgyKTsKICNpZiAwCkBAIC0xMTY2LDEwOSArMTE2NywxNSBAQAogCXJldHVybiBjbWRfbGVuOwogfQogCi1zdGF0aWMgaW50IGhpZm5fc2V0dXBfc3JjX2Rlc2Moc3RydWN0IGhpZm5fZGV2aWNlICpkZXYsIHN0cnVjdCBwYWdlICpwYWdlLAotCQl1bnNpZ25lZCBpbnQgb2Zmc2V0LCB1bnNpZ25lZCBpbnQgc2l6ZSkKLXsKLQlzdHJ1Y3QgaGlmbl9kbWEgKmRtYSA9IChzdHJ1Y3QgaGlmbl9kbWEgKilkZXYtPmRlc2NfdmlydDsKLQlpbnQgaWR4OwotCWRtYV9hZGRyX3QgYWRkcjsKLQotCWFkZHIgPSBwY2lfbWFwX3BhZ2UoZGV2LT5wZGV2LCBwYWdlLCBvZmZzZXQsIHNpemUsIFBDSV9ETUFfVE9ERVZJQ0UpOwotCi0JaWR4ID0gZG1hLT5zcmNpOwotCi0JZG1hLT5zcmNyW2lkeF0ucCA9IF9fY3B1X3RvX2xlMzIoYWRkcik7Ci0JZG1hLT5zcmNyW2lkeF0ubCA9IF9fY3B1X3RvX2xlMzIoc2l6ZSkgfCBISUZOX0RfVkFMSUQgfAotCQkJSElGTl9EX01BU0tET05FSVJRIHwgSElGTl9EX05PSU5WQUxJRCB8IEhJRk5fRF9MQVNUOwotCi0JaWYgKCsraWR4ID09IEhJRk5fRF9TUkNfUlNJWkUpIHsKLQkJZG1hLT5zcmNyW2lkeF0ubCA9IF9fY3B1X3RvX2xlMzIoSElGTl9EX1ZBTElEIHwKLQkJCQlISUZOX0RfSlVNUCB8Ci0JCQkJSElGTl9EX01BU0tET05FSVJRIHwgSElGTl9EX0xBU1QpOwotCQlpZHggPSAwOwotCX0KLQotCWRtYS0+c3JjaSA9IGlkeDsKLQlkbWEtPnNyY3UrKzsKLQotCWlmICghKGRldi0+ZmxhZ3MgJiBISUZOX0ZMQUdfU1JDX0JVU1kpKSB7Ci0JCWhpZm5fd3JpdGVfMShkZXYsIEhJRk5fMV9ETUFfQ1NSLCBISUZOX0RNQUNTUl9TX0NUUkxfRU5BKTsKLQkJZGV2LT5mbGFncyB8PSBISUZOX0ZMQUdfU1JDX0JVU1k7Ci0JfQotCi0JcmV0dXJuIHNpemU7Ci19Ci0KLXN0YXRpYyB2b2lkIGhpZm5fc2V0dXBfcmVzX2Rlc2Moc3RydWN0IGhpZm5fZGV2aWNlICpkZXYpCi17Ci0Jc3RydWN0IGhpZm5fZG1hICpkbWEgPSAoc3RydWN0IGhpZm5fZG1hICopZGV2LT5kZXNjX3ZpcnQ7Ci0KLQlkbWEtPnJlc3JbZG1hLT5yZXNpXS5sID0gX19jcHVfdG9fbGUzMihISUZOX1VTRURfUkVTVUxUIHwKLQkJCUhJRk5fRF9WQUxJRCB8IEhJRk5fRF9MQVNUKTsKLQkvKgotCSAqIGRtYS0+cmVzcltkbWEtPnJlc2ldLmwgPSBfX2NwdV90b19sZTMyKEhJRk5fTUFYX1JFU1VMVCB8IEhJRk5fRF9WQUxJRCB8Ci0JICoJCQkJCUhJRk5fRF9MQVNUIHwgSElGTl9EX05PSU5WQUxJRCk7Ci0JICovCi0KLQlpZiAoKytkbWEtPnJlc2kgPT0gSElGTl9EX1JFU19SU0laRSkgewotCQlkbWEtPnJlc3JbSElGTl9EX1JFU19SU0laRV0ubCA9IF9fY3B1X3RvX2xlMzIoSElGTl9EX1ZBTElEIHwKLQkJCQlISUZOX0RfSlVNUCB8IEhJRk5fRF9NQVNLRE9ORUlSUSB8IEhJRk5fRF9MQVNUKTsKLQkJZG1hLT5yZXNpID0gMDsKLQl9Ci0KLQlkbWEtPnJlc3UrKzsKLQotCWlmICghKGRldi0+ZmxhZ3MgJiBISUZOX0ZMQUdfUkVTX0JVU1kpKSB7Ci0JCWhpZm5fd3JpdGVfMShkZXYsIEhJRk5fMV9ETUFfQ1NSLCBISUZOX0RNQUNTUl9SX0NUUkxfRU5BKTsKLQkJZGV2LT5mbGFncyB8PSBISUZOX0ZMQUdfUkVTX0JVU1k7Ci0JfQotfQotCi1zdGF0aWMgdm9pZCBoaWZuX3NldHVwX2RzdF9kZXNjKHN0cnVjdCBoaWZuX2RldmljZSAqZGV2LCBzdHJ1Y3QgcGFnZSAqcGFnZSwKLQkJdW5zaWduZWQgb2Zmc2V0LCB1bnNpZ25lZCBzaXplKQotewotCXN0cnVjdCBoaWZuX2RtYSAqZG1hID0gKHN0cnVjdCBoaWZuX2RtYSAqKWRldi0+ZGVzY192aXJ0OwotCWludCBpZHg7Ci0JZG1hX2FkZHJfdCBhZGRyOwotCi0JYWRkciA9IHBjaV9tYXBfcGFnZShkZXYtPnBkZXYsIHBhZ2UsIG9mZnNldCwgc2l6ZSwgUENJX0RNQV9GUk9NREVWSUNFKTsKLQotCWlkeCA9IGRtYS0+ZHN0aTsKLQlkbWEtPmRzdHJbaWR4XS5wID0gX19jcHVfdG9fbGUzMihhZGRyKTsKLQlkbWEtPmRzdHJbaWR4XS5sID0gX19jcHVfdG9fbGUzMihzaXplIHwJSElGTl9EX1ZBTElEIHwKLQkJCUhJRk5fRF9NQVNLRE9ORUlSUSB8IEhJRk5fRF9OT0lOVkFMSUQgfCBISUZOX0RfTEFTVCk7Ci0KLQlpZiAoKytpZHggPT0gSElGTl9EX0RTVF9SU0laRSkgewotCQlkbWEtPmRzdHJbaWR4XS5sID0gX19jcHVfdG9fbGUzMihISUZOX0RfVkFMSUQgfAotCQkJCUhJRk5fRF9KVU1QIHwgSElGTl9EX01BU0tET05FSVJRIHwKLQkJCQlISUZOX0RfTEFTVCB8IEhJRk5fRF9OT0lOVkFMSUQpOwotCQlpZHggPSAwOwotCX0KLQlkbWEtPmRzdGkgPSBpZHg7Ci0JZG1hLT5kc3R1Kys7Ci0KLQlpZiAoIShkZXYtPmZsYWdzICYgSElGTl9GTEFHX0RTVF9CVVNZKSkgewotCQloaWZuX3dyaXRlXzEoZGV2LCBISUZOXzFfRE1BX0NTUiwgSElGTl9ETUFDU1JfRF9DVFJMX0VOQSk7Ci0JCWRldi0+ZmxhZ3MgfD0gSElGTl9GTEFHX0RTVF9CVVNZOwotCX0KLX0KLQotc3RhdGljIGludCBoaWZuX3NldHVwX2RtYShzdHJ1Y3QgaGlmbl9kZXZpY2UgKmRldiwgc3RydWN0IHBhZ2UgKnNwYWdlLCB1bnNpZ25lZCBpbnQgc29mZiwKLQkJc3RydWN0IHBhZ2UgKmRwYWdlLCB1bnNpZ25lZCBpbnQgZG9mZiwgdW5zaWduZWQgaW50IG5ieXRlcywgdm9pZCAqcHJpdiwKLQkJc3RydWN0IGhpZm5fY29udGV4dCAqY3R4KQorc3RhdGljIGludCBoaWZuX3NldHVwX2NtZF9kZXNjKHN0cnVjdCBoaWZuX2RldmljZSAqZGV2LAorCQlzdHJ1Y3QgaGlmbl9jb250ZXh0ICpjdHgsIHZvaWQgKnByaXYsIHVuc2lnbmVkIGludCBuYnl0ZXMpCiB7CiAJc3RydWN0IGhpZm5fZG1hICpkbWEgPSAoc3RydWN0IGhpZm5fZG1hICopZGV2LT5kZXNjX3ZpcnQ7CiAJaW50IGNtZF9sZW4sIHNhX2lkeDsKIAl1OCAqYnVmLCAqYnVmX3BvczsKIAl1MTYgbWFzazsKIAotCWRwcmludGsoIiVzOiBzcGFnZTogJXAsIHNvZmZzZXQ6ICV1LCBkcGFnZTogJXAsIGRvZmZzZXQ6ICV1LCBuYnl0ZXM6ICV1LCBwcml2OiAlcCwgY3R4OiAlcC5cbiIsCi0JCQlkZXYtPm5hbWUsIHNwYWdlLCBzb2ZmLCBkcGFnZSwgZG9mZiwgbmJ5dGVzLCBwcml2LCBjdHgpOwotCi0Jc2FfaWR4ID0gZG1hLT5yZXNpOwotCi0JaGlmbl9zZXR1cF9zcmNfZGVzYyhkZXYsIHNwYWdlLCBzb2ZmLCBuYnl0ZXMpOwotCisJc2FfaWR4ID0gZG1hLT5jbWRpOwogCWJ1Zl9wb3MgPSBidWYgPSBkbWEtPmNvbW1hbmRfYnVmc1tkbWEtPmNtZGldOwogCiAJbWFzayA9IDA7CkBAIC0xMzcwLDE2ICsxMjc3LDExMyBAQAogCQloaWZuX3dyaXRlXzEoZGV2LCBISUZOXzFfRE1BX0NTUiwgSElGTl9ETUFDU1JfQ19DVFJMX0VOQSk7CiAJCWRldi0+ZmxhZ3MgfD0gSElGTl9GTEFHX0NNRF9CVVNZOwogCX0KLQotCWhpZm5fc2V0dXBfZHN0X2Rlc2MoZGV2LCBkcGFnZSwgZG9mZiwgbmJ5dGVzKTsKLQloaWZuX3NldHVwX3Jlc19kZXNjKGRldik7Ci0KIAlyZXR1cm4gMDsKIAogZXJyX291dDoKIAlyZXR1cm4gLUVJTlZBTDsKIH0KIAorc3RhdGljIGludCBoaWZuX3NldHVwX3NyY19kZXNjKHN0cnVjdCBoaWZuX2RldmljZSAqZGV2LCBzdHJ1Y3QgcGFnZSAqcGFnZSwKKwkJdW5zaWduZWQgaW50IG9mZnNldCwgdW5zaWduZWQgaW50IHNpemUpCit7CisJc3RydWN0IGhpZm5fZG1hICpkbWEgPSAoc3RydWN0IGhpZm5fZG1hICopZGV2LT5kZXNjX3ZpcnQ7CisJaW50IGlkeDsKKwlkbWFfYWRkcl90IGFkZHI7CisKKwlhZGRyID0gcGNpX21hcF9wYWdlKGRldi0+cGRldiwgcGFnZSwgb2Zmc2V0LCBzaXplLCBQQ0lfRE1BX1RPREVWSUNFKTsKKworCWlkeCA9IGRtYS0+c3JjaTsKKworCWRtYS0+c3JjcltpZHhdLnAgPSBfX2NwdV90b19sZTMyKGFkZHIpOworCWRtYS0+c3JjcltpZHhdLmwgPSBfX2NwdV90b19sZTMyKHNpemUgfCBISUZOX0RfVkFMSUQgfAorCQkJSElGTl9EX01BU0tET05FSVJRIHwgSElGTl9EX0xBU1QpOworCisJaWYgKCsraWR4ID09IEhJRk5fRF9TUkNfUlNJWkUpIHsKKwkJZG1hLT5zcmNyW2lkeF0ubCA9IF9fY3B1X3RvX2xlMzIoSElGTl9EX1ZBTElEIHwKKwkJCQlISUZOX0RfSlVNUCB8CisJCQkJSElGTl9EX01BU0tET05FSVJRIHwgSElGTl9EX0xBU1QpOworCQlpZHggPSAwOworCX0KKworCWRtYS0+c3JjaSA9IGlkeDsKKwlkbWEtPnNyY3UrKzsKKworCWlmICghKGRldi0+ZmxhZ3MgJiBISUZOX0ZMQUdfU1JDX0JVU1kpKSB7CisJCWhpZm5fd3JpdGVfMShkZXYsIEhJRk5fMV9ETUFfQ1NSLCBISUZOX0RNQUNTUl9TX0NUUkxfRU5BKTsKKwkJZGV2LT5mbGFncyB8PSBISUZOX0ZMQUdfU1JDX0JVU1k7CisJfQorCisJcmV0dXJuIHNpemU7Cit9CisKK3N0YXRpYyB2b2lkIGhpZm5fc2V0dXBfcmVzX2Rlc2Moc3RydWN0IGhpZm5fZGV2aWNlICpkZXYpCit7CisJc3RydWN0IGhpZm5fZG1hICpkbWEgPSAoc3RydWN0IGhpZm5fZG1hICopZGV2LT5kZXNjX3ZpcnQ7CisKKwlkbWEtPnJlc3JbZG1hLT5yZXNpXS5sID0gX19jcHVfdG9fbGUzMihISUZOX1VTRURfUkVTVUxUIHwKKwkJCUhJRk5fRF9WQUxJRCB8IEhJRk5fRF9MQVNUKTsKKwkvKgorCSAqIGRtYS0+cmVzcltkbWEtPnJlc2ldLmwgPSBfX2NwdV90b19sZTMyKEhJRk5fTUFYX1JFU1VMVCB8IEhJRk5fRF9WQUxJRCB8CisJICoJCQkJCUhJRk5fRF9MQVNUKTsKKwkgKi8KKworCWlmICgrK2RtYS0+cmVzaSA9PSBISUZOX0RfUkVTX1JTSVpFKSB7CisJCWRtYS0+cmVzcltISUZOX0RfUkVTX1JTSVpFXS5sID0gX19jcHVfdG9fbGUzMihISUZOX0RfVkFMSUQgfAorCQkJCUhJRk5fRF9KVU1QIHwgSElGTl9EX01BU0tET05FSVJRIHwgSElGTl9EX0xBU1QpOworCQlkbWEtPnJlc2kgPSAwOworCX0KKworCWRtYS0+cmVzdSsrOworCisJaWYgKCEoZGV2LT5mbGFncyAmIEhJRk5fRkxBR19SRVNfQlVTWSkpIHsKKwkJaGlmbl93cml0ZV8xKGRldiwgSElGTl8xX0RNQV9DU1IsIEhJRk5fRE1BQ1NSX1JfQ1RSTF9FTkEpOworCQlkZXYtPmZsYWdzIHw9IEhJRk5fRkxBR19SRVNfQlVTWTsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIGhpZm5fc2V0dXBfZHN0X2Rlc2Moc3RydWN0IGhpZm5fZGV2aWNlICpkZXYsIHN0cnVjdCBwYWdlICpwYWdlLAorCQl1bnNpZ25lZCBvZmZzZXQsIHVuc2lnbmVkIHNpemUpCit7CisJc3RydWN0IGhpZm5fZG1hICpkbWEgPSAoc3RydWN0IGhpZm5fZG1hICopZGV2LT5kZXNjX3ZpcnQ7CisJaW50IGlkeDsKKwlkbWFfYWRkcl90IGFkZHI7CisKKwlhZGRyID0gcGNpX21hcF9wYWdlKGRldi0+cGRldiwgcGFnZSwgb2Zmc2V0LCBzaXplLCBQQ0lfRE1BX0ZST01ERVZJQ0UpOworCisJaWR4ID0gZG1hLT5kc3RpOworCWRtYS0+ZHN0cltpZHhdLnAgPSBfX2NwdV90b19sZTMyKGFkZHIpOworCWRtYS0+ZHN0cltpZHhdLmwgPSBfX2NwdV90b19sZTMyKHNpemUgfAlISUZOX0RfVkFMSUQgfAorCQkJSElGTl9EX01BU0tET05FSVJRIHwgSElGTl9EX0xBU1QpOworCisJaWYgKCsraWR4ID09IEhJRk5fRF9EU1RfUlNJWkUpIHsKKwkJZG1hLT5kc3RyW2lkeF0ubCA9IF9fY3B1X3RvX2xlMzIoSElGTl9EX1ZBTElEIHwKKwkJCQlISUZOX0RfSlVNUCB8IEhJRk5fRF9NQVNLRE9ORUlSUSB8CisJCQkJSElGTl9EX0xBU1QpOworCQlpZHggPSAwOworCX0KKwlkbWEtPmRzdGkgPSBpZHg7CisJZG1hLT5kc3R1Kys7CisKKwlpZiAoIShkZXYtPmZsYWdzICYgSElGTl9GTEFHX0RTVF9CVVNZKSkgeworCQloaWZuX3dyaXRlXzEoZGV2LCBISUZOXzFfRE1BX0NTUiwgSElGTl9ETUFDU1JfRF9DVFJMX0VOQSk7CisJCWRldi0+ZmxhZ3MgfD0gSElGTl9GTEFHX0RTVF9CVVNZOworCX0KK30KKworc3RhdGljIGludCBoaWZuX3NldHVwX2RtYShzdHJ1Y3QgaGlmbl9kZXZpY2UgKmRldiwgc3RydWN0IHBhZ2UgKnNwYWdlLCB1bnNpZ25lZCBpbnQgc29mZiwKKwkJc3RydWN0IHBhZ2UgKmRwYWdlLCB1bnNpZ25lZCBpbnQgZG9mZiwgdW5zaWduZWQgaW50IG5ieXRlcywgdm9pZCAqcHJpdiwKKwkJc3RydWN0IGhpZm5fY29udGV4dCAqY3R4KQoreworCWRwcmludGsoIiVzOiBzcGFnZTogJXAsIHNvZmZzZXQ6ICV1LCBkcGFnZTogJXAsIGRvZmZzZXQ6ICV1LCBuYnl0ZXM6ICV1LCBwcml2OiAlcCwgY3R4OiAlcC5cbiIsCisJCQlkZXYtPm5hbWUsIHNwYWdlLCBzb2ZmLCBkcGFnZSwgZG9mZiwgbmJ5dGVzLCBwcml2LCBjdHgpOworCisJaGlmbl9zZXR1cF9zcmNfZGVzYyhkZXYsIHNwYWdlLCBzb2ZmLCBuYnl0ZXMpOworCWhpZm5fc2V0dXBfY21kX2Rlc2MoZGV2LCBjdHgsIHByaXYsIG5ieXRlcyk7CisJaGlmbl9zZXR1cF9kc3RfZGVzYyhkZXYsIGRwYWdlLCBkb2ZmLCBuYnl0ZXMpOworCWhpZm5fc2V0dXBfcmVzX2Rlc2MoZGV2KTsKKwlyZXR1cm4gMDsKK30KKwogc3RhdGljIGludCBhYmxrY2lwaGVyX3dhbGtfaW5pdChzdHJ1Y3QgYWJsa2NpcGhlcl93YWxrICp3LAogCQlpbnQgbnVtLCBnZnBfdCBnZnBfZmxhZ3MpCiB7CkBAIC0xNDMxLDcgKzE0MzUsNyBAQAogCQlyZXR1cm4gLUVJTlZBTDsKIAogCXdoaWxlIChzaXplKSB7Ci0JCWNvcHkgPSBtaW4oZHJlc3QsIHNyYy0+bGVuZ3RoKTsKKwkJY29weSA9IG1pbihkcmVzdCwgbWluKHNpemUsIHNyYy0+bGVuZ3RoKSk7CiAKIAkJc2FkZHIgPSBrbWFwX2F0b21pYyhzZ19wYWdlKHNyYyksIEtNX1NPRlRJUlExKTsKIAkJbWVtY3B5KGRhZGRyLCBzYWRkciArIHNyYy0+b2Zmc2V0LCBjb3B5KTsKQEAgLTE0NTgsMTAgKzE0NjIsNiBAQAogc3RhdGljIGludCBhYmxrY2lwaGVyX3dhbGsoc3RydWN0IGFibGtjaXBoZXJfcmVxdWVzdCAqcmVxLAogCQlzdHJ1Y3QgYWJsa2NpcGhlcl93YWxrICp3KQogewotCXVuc2lnbmVkIGJsb2Nrc2l6ZSA9Ci0JCWNyeXB0b19hYmxrY2lwaGVyX2Jsb2Nrc2l6ZShjcnlwdG9fYWJsa2NpcGhlcl9yZXF0Zm0ocmVxKSk7Ci0JdW5zaWduZWQgYWxpZ25tYXNrID0KLQkJY3J5cHRvX2FibGtjaXBoZXJfYWxpZ25tYXNrKGNyeXB0b19hYmxrY2lwaGVyX3JlcXRmbShyZXEpKTsKIAlzdHJ1Y3Qgc2NhdHRlcmxpc3QgKnNyYywgKmRzdCwgKnQ7CiAJdm9pZCAqZGFkZHI7CiAJdW5zaWduZWQgaW50IG5ieXRlcyA9IHJlcS0+bmJ5dGVzLCBvZmZzZXQsIGNvcHksIGRpZmY7CkBAIC0xNDc3LDE2ICsxNDc3LDE0IEBACiAJCWRzdCA9ICZyZXEtPmRzdFtpZHhdOwogCiAJCWRwcmludGsoIlxuJXM6IHNsZW46ICV1LCBkbGVuOiAldSwgc29mZjogJXUsIGRvZmY6ICV1LCBvZmZzZXQ6ICV1LCAiCi0JCQkJImJsb2Nrc2l6ZTogJXUsIG5ieXRlczogJXUuXG4iLAorCQkJCSJuYnl0ZXM6ICV1LlxuIiwKIAkJCQlfX2Z1bmNfXywgc3JjLT5sZW5ndGgsIGRzdC0+bGVuZ3RoLCBzcmMtPm9mZnNldCwKLQkJCQlkc3QtPm9mZnNldCwgb2Zmc2V0LCBibG9ja3NpemUsIG5ieXRlcyk7CisJCQkJZHN0LT5vZmZzZXQsIG9mZnNldCwgbmJ5dGVzKTsKIAotCQlpZiAoc3JjLT5sZW5ndGggJiAoYmxvY2tzaXplIC0gMSkgfHwKLQkJCQlzcmMtPm9mZnNldCAmIChhbGlnbm1hc2sgLSAxKSB8fAotCQkJCWRzdC0+bGVuZ3RoICYgKGJsb2Nrc2l6ZSAtIDEpIHx8Ci0JCQkJZHN0LT5vZmZzZXQgJiAoYWxpZ25tYXNrIC0gMSkgfHwKLQkJCQlvZmZzZXQpIHsKLQkJCXVuc2lnbmVkIHNsZW4gPSBzcmMtPmxlbmd0aCAtIG9mZnNldDsKKwkJaWYgKCFJU19BTElHTkVEKGRzdC0+b2Zmc2V0LCBISUZOX0RfRFNUX0RBTElHTikgfHwKKwkJICAgICFJU19BTElHTkVEKGRzdC0+bGVuZ3RoLCBISUZOX0RfRFNUX0RBTElHTikgfHwKKwkJICAgIG9mZnNldCkgeworCQkJdW5zaWduZWQgc2xlbiA9IG1pbihzcmMtPmxlbmd0aCAtIG9mZnNldCwgbmJ5dGVzKTsKIAkJCXVuc2lnbmVkIGRsZW4gPSBQQUdFX1NJWkU7CiAKIAkJCXQgPSAmdy0+Y2FjaGVbaWR4XTsKQEAgLTE0OTgsOCArMTQ5Niw4IEBACiAKIAkJCWlkeCArPSBlcnI7CiAKLQkJCWNvcHkgPSBzbGVuICYgfihibG9ja3NpemUgLSAxKTsKLQkJCWRpZmYgPSBzbGVuICYgKGJsb2Nrc2l6ZSAtIDEpOworCQkJY29weSA9IHNsZW4gJiB+KEhJRk5fRF9EU1RfREFMSUdOIC0gMSk7CisJCQlkaWZmID0gc2xlbiAmIChISUZOX0RfRFNUX0RBTElHTiAtIDEpOwogCiAJCQlpZiAoZGxlbiA8IG5ieXRlcykgewogCQkJCS8qCkBAIC0xNTA3LDcgKzE1MDUsNyBAQAogCQkJCSAqIHRvIHB1dCB0aGVyZSBhZGRpdGlvbmFsIGJsb2Nrc2l6ZWQgY2h1bmssCiAJCQkJICogc28gd2UgbWFyayB0aGF0IHBhZ2UgYXMgY29udGFpbmluZyBvbmx5CiAJCQkJICogYmxvY2tzaXplIGFsaWduZWQgY2h1bmtzOgotCQkJCSAqIAl0LT5sZW5ndGggPSAoc2xlbiAmIH4oYmxvY2tzaXplIC0gMSkpOworCQkJCSAqIAl0LT5sZW5ndGggPSAoc2xlbiAmIH4oSElGTl9EX0RTVF9EQUxJR04gLSAxKSk7CiAJCQkJICogYW5kIGluY3JlYXNlIG51bWJlciBvZiBieXRlcyB0byBiZSBwcm9jZXNzZWQKIAkJCQkgKiBpbiBuZXh0IGNodW5rOgogCQkJCSAqIAluYnl0ZXMgKz0gZGlmZjsKQEAgLTE1NDQsNyArMTU0Miw3IEBACiAKIAkJCWt1bm1hcF9hdG9taWMoZGFkZHIsIEtNX1NPRlRJUlEwKTsKIAkJfSBlbHNlIHsKLQkJCW5ieXRlcyAtPSBzcmMtPmxlbmd0aDsKKwkJCW5ieXRlcyAtPSBtaW4oc3JjLT5sZW5ndGgsIG5ieXRlcyk7CiAJCQlpZHgrKzsKIAkJfQogCkBAIC0xNTYzLDE0ICsxNTYxLDEwIEBACiAJc3RydWN0IGhpZm5fY29udGV4dCAqY3R4ID0gY3J5cHRvX3RmbV9jdHgocmVxLT5iYXNlLnRmbSk7CiAJc3RydWN0IGhpZm5fZGV2aWNlICpkZXYgPSBjdHgtPmRldjsKIAlzdHJ1Y3QgcGFnZSAqc3BhZ2UsICpkcGFnZTsKLQl1bnNpZ25lZCBsb25nIHNvZmYsIGRvZmYsIGZsYWdzOworCXVuc2lnbmVkIGxvbmcgc29mZiwgZG9mZiwgZGxlbiwgZmxhZ3M7CiAJdW5zaWduZWQgaW50IG5ieXRlcyA9IHJlcS0+bmJ5dGVzLCBpZHggPSAwLCBsZW47CiAJaW50IGVyciA9IC1FSU5WQUwsIHNnX251bTsKIAlzdHJ1Y3Qgc2NhdHRlcmxpc3QgKnNyYywgKmRzdCwgKnQ7Ci0JdW5zaWduZWQgYmxvY2tzaXplID0KLQkJY3J5cHRvX2FibGtjaXBoZXJfYmxvY2tzaXplKGNyeXB0b19hYmxrY2lwaGVyX3JlcXRmbShyZXEpKTsKLQl1bnNpZ25lZCBhbGlnbm1hc2sgPQotCQljcnlwdG9fYWJsa2NpcGhlcl9hbGlnbm1hc2soY3J5cHRvX2FibGtjaXBoZXJfcmVxdGZtKHJlcSkpOwogCiAJaWYgKGN0eC0+aXYgJiYgIWN0eC0+aXZzaXplICYmIGN0eC0+bW9kZSAhPSBBQ1JZUFRPX01PREVfRUNCKQogCQlnb3RvIGVycl9vdXRfZXhpdDsKQEAgLTE1NzgsMTcgKzE1NzIsMTQgQEAKIAljdHgtPndhbGsuZmxhZ3MgPSAwOwogCiAJd2hpbGUgKG5ieXRlcykgewotCQlzcmMgPSAmcmVxLT5zcmNbaWR4XTsKIAkJZHN0ID0gJnJlcS0+ZHN0W2lkeF07CisJCWRsZW4gPSBtaW4oZHN0LT5sZW5ndGgsIG5ieXRlcyk7CiAKLQkJaWYgKHNyYy0+bGVuZ3RoICYgKGJsb2Nrc2l6ZSAtIDEpIHx8Ci0JCQkJc3JjLT5vZmZzZXQgJiAoYWxpZ25tYXNrIC0gMSkgfHwKLQkJCQlkc3QtPmxlbmd0aCAmIChibG9ja3NpemUgLSAxKSB8fAotCQkJCWRzdC0+b2Zmc2V0ICYgKGFsaWdubWFzayAtIDEpKSB7CisJCWlmICghSVNfQUxJR05FRChkc3QtPm9mZnNldCwgSElGTl9EX0RTVF9EQUxJR04pIHx8CisJCSAgICAhSVNfQUxJR05FRChkbGVuLCBISUZOX0RfRFNUX0RBTElHTikpCiAJCQljdHgtPndhbGsuZmxhZ3MgfD0gQVNZTkNfRkxBR1NfTUlTQUxJR05FRDsKLQkJfQogCi0JCW5ieXRlcyAtPSBzcmMtPmxlbmd0aDsKKwkJbmJ5dGVzIC09IGRsZW47CiAJCWlkeCsrOwogCX0KIApAQCAtMTYwMiw3ICsxNTkzLDEwIEBACiAJaWR4ID0gMDsKIAogCXNnX251bSA9IGFibGtjaXBoZXJfd2FsayhyZXEsICZjdHgtPndhbGspOwotCisJaWYgKHNnX251bSA8IDApIHsKKwkJZXJyID0gc2dfbnVtOworCQlnb3RvIGVycl9vdXRfZXhpdDsKKwl9CiAJYXRvbWljX3NldCgmY3R4LT5zZ19udW0sIHNnX251bSk7CiAKIAlzcGluX2xvY2tfaXJxc2F2ZSgmZGV2LT5sb2NrLCBmbGFncyk7CkBAIC0xNjQwLDcgKzE2MzQsNyBAQAogCQlpZiAoZXJyKQogCQkJZ290byBlcnJfb3V0OwogCi0JCW5ieXRlcyAtPSBsZW47CisJCW5ieXRlcyAtPSBtaW4obGVuLCBuYnl0ZXMpOwogCX0KIAogCWRldi0+YWN0aXZlID0gSElGTl9ERUZBVUxUX0FDVElWRV9OVU07CkBAIC0xNjUxLDcgKzE2NDUsNyBAQAogZXJyX291dDoKIAlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZkZXYtPmxvY2ssIGZsYWdzKTsKIGVycl9vdXRfZXhpdDoKLQlpZiAoZXJyICYmIHByaW50a19yYXRlbGltaXQoKSkKKwlpZiAoZXJyKQogCQlkcHJpbnRrKCIlczogaXY6ICVwIFslZF0sIGtleTogJXAgWyVkXSwgbW9kZTogJXUsIG9wOiAldSwgIgogCQkJCSJ0eXBlOiAldSwgZXJyOiAlZC5cbiIsCiAJCQlkZXYtPm5hbWUsIGN0eC0+aXYsIGN0eC0+aXZzaXplLApAQCAtMTc0NSw4ICsxNzM5LDcgQEAKIAkJcmV0dXJuIC1FSU5WQUw7CiAKIAl3aGlsZSAoc2l6ZSkgewotCi0JCWNvcHkgPSBtaW4oZHN0LT5sZW5ndGgsIHNyZXN0KTsKKwkJY29weSA9IG1pbihzcmVzdCwgbWluKGRzdC0+bGVuZ3RoLCBzaXplKSk7CiAKIAkJZGFkZHIgPSBrbWFwX2F0b21pYyhzZ19wYWdlKGRzdCksIEtNX0lSUTApOwogCQltZW1jcHkoZGFkZHIgKyBkc3QtPm9mZnNldCArIG9mZnNldCwgc2FkZHIsIGNvcHkpOwpAQCAtMTgwMyw3ICsxNzk2LDcgQEAKIAkJCQkJc2dfcGFnZShkc3QpLCBkc3QtPmxlbmd0aCwgbmJ5dGVzKTsKIAogCQkJCWlmICghdC0+bGVuZ3RoKSB7Ci0JCQkJCW5ieXRlcyAtPSBkc3QtPmxlbmd0aDsKKwkJCQkJbmJ5dGVzIC09IG1pbihkc3QtPmxlbmd0aCwgbmJ5dGVzKTsKIAkJCQkJaWR4Kys7CiAJCQkJCWNvbnRpbnVlOwogCQkJCX0KQEAgLTIyMDIsOSArMjE5NSw5IEBACiAJCXJldHVybiBlcnI7CiAKIAlpZiAoZGV2LT5zdGFydGVkIDwgSElGTl9RVUVVRV9MRU5HVEggJiYJZGV2LT5xdWV1ZS5xbGVuKQotCQllcnIgPSBoaWZuX3Byb2Nlc3NfcXVldWUoZGV2KTsKKwkJaGlmbl9wcm9jZXNzX3F1ZXVlKGRldik7CiAKLQlyZXR1cm4gZXJyOworCXJldHVybiAtRUlOUFJPR1JFU1M7CiB9CiAKIC8qCkBAIC0yMzY0LDcgKzIzNTcsNyBAQAogCSAqIDNERVMgRUNCLCBDQkMsIENGQiBhbmQgT0ZCIG1vZGVzLgogCSAqLwogCXsKLQkJLm5hbWUgPSAiY2ZiKGRlczNfZWRlKSIsIC5kcnZfbmFtZSA9ICJoaWZuLTNkZXMiLCAuYnNpemUgPSA4LAorCQkubmFtZSA9ICJjZmIoZGVzM19lZGUpIiwgLmRydl9uYW1lID0gImNmYi0zZGVzIiwgLmJzaXplID0gOCwKIAkJLmFibGtjaXBoZXIgPSB7CiAJCQkubWluX2tleXNpemUJPQlISUZOXzNERVNfS0VZX0xFTkdUSCwKIAkJCS5tYXhfa2V5c2l6ZQk9CUhJRk5fM0RFU19LRVlfTEVOR1RILApAQCAtMjM3NCw3ICsyMzY3LDcgQEAKIAkJfSwKIAl9LAogCXsKLQkJLm5hbWUgPSAib2ZiKGRlczNfZWRlKSIsIC5kcnZfbmFtZSA9ICJoaWZuLTNkZXMiLCAuYnNpemUgPSA4LAorCQkubmFtZSA9ICJvZmIoZGVzM19lZGUpIiwgLmRydl9uYW1lID0gIm9mYi0zZGVzIiwgLmJzaXplID0gOCwKIAkJLmFibGtjaXBoZXIgPSB7CiAJCQkubWluX2tleXNpemUJPQlISUZOXzNERVNfS0VZX0xFTkdUSCwKIAkJCS5tYXhfa2V5c2l6ZQk9CUhJRk5fM0RFU19LRVlfTEVOR1RILApAQCAtMjM4NCw4ICsyMzc3LDkgQEAKIAkJfSwKIAl9LAogCXsKLQkJLm5hbWUgPSAiY2JjKGRlczNfZWRlKSIsIC5kcnZfbmFtZSA9ICJoaWZuLTNkZXMiLCAuYnNpemUgPSA4LAorCQkubmFtZSA9ICJjYmMoZGVzM19lZGUpIiwgLmRydl9uYW1lID0gImNiYy0zZGVzIiwgLmJzaXplID0gOCwKIAkJLmFibGtjaXBoZXIgPSB7CisJCQkuaXZzaXplCQk9CUhJRk5fSVZfTEVOR1RILAogCQkJLm1pbl9rZXlzaXplCT0JSElGTl8zREVTX0tFWV9MRU5HVEgsCiAJCQkubWF4X2tleXNpemUJPQlISUZOXzNERVNfS0VZX0xFTkdUSCwKIAkJCS5zZXRrZXkJCT0JaGlmbl9zZXRrZXksCkBAIC0yMzk0LDcgKzIzODgsNyBAQAogCQl9LAogCX0sCiAJewotCQkubmFtZSA9ICJlY2IoZGVzM19lZGUpIiwgLmRydl9uYW1lID0gImhpZm4tM2RlcyIsIC5ic2l6ZSA9IDgsCisJCS5uYW1lID0gImVjYihkZXMzX2VkZSkiLCAuZHJ2X25hbWUgPSAiZWNiLTNkZXMiLCAuYnNpemUgPSA4LAogCQkuYWJsa2NpcGhlciA9IHsKIAkJCS5taW5fa2V5c2l6ZQk9CUhJRk5fM0RFU19LRVlfTEVOR1RILAogCQkJLm1heF9rZXlzaXplCT0JSElGTl8zREVTX0tFWV9MRU5HVEgsCkBAIC0yNDA4LDcgKzI0MDIsNyBAQAogCSAqIERFUyBFQ0IsIENCQywgQ0ZCIGFuZCBPRkIgbW9kZXMuCiAJICovCiAJewotCQkubmFtZSA9ICJjZmIoZGVzKSIsIC5kcnZfbmFtZSA9ICJoaWZuLWRlcyIsIC5ic2l6ZSA9IDgsCisJCS5uYW1lID0gImNmYihkZXMpIiwgLmRydl9uYW1lID0gImNmYi1kZXMiLCAuYnNpemUgPSA4LAogCQkuYWJsa2NpcGhlciA9IHsKIAkJCS5taW5fa2V5c2l6ZQk9CUhJRk5fREVTX0tFWV9MRU5HVEgsCiAJCQkubWF4X2tleXNpemUJPQlISUZOX0RFU19LRVlfTEVOR1RILApAQCAtMjQxOCw3ICsyNDEyLDcgQEAKIAkJfSwKIAl9LAogCXsKLQkJLm5hbWUgPSAib2ZiKGRlcykiLCAuZHJ2X25hbWUgPSAiaGlmbi1kZXMiLCAuYnNpemUgPSA4LAorCQkubmFtZSA9ICJvZmIoZGVzKSIsIC5kcnZfbmFtZSA9ICJvZmItZGVzIiwgLmJzaXplID0gOCwKIAkJLmFibGtjaXBoZXIgPSB7CiAJCQkubWluX2tleXNpemUJPQlISUZOX0RFU19LRVlfTEVOR1RILAogCQkJLm1heF9rZXlzaXplCT0JSElGTl9ERVNfS0VZX0xFTkdUSCwKQEAgLTI0MjgsOCArMjQyMiw5IEBACiAJCX0sCiAJfSwKIAl7Ci0JCS5uYW1lID0gImNiYyhkZXMpIiwgLmRydl9uYW1lID0gImhpZm4tZGVzIiwgLmJzaXplID0gOCwKKwkJLm5hbWUgPSAiY2JjKGRlcykiLCAuZHJ2X25hbWUgPSAiY2JjLWRlcyIsIC5ic2l6ZSA9IDgsCiAJCS5hYmxrY2lwaGVyID0geworCQkJLml2c2l6ZQkJPQlISUZOX0lWX0xFTkdUSCwKIAkJCS5taW5fa2V5c2l6ZQk9CUhJRk5fREVTX0tFWV9MRU5HVEgsCiAJCQkubWF4X2tleXNpemUJPQlISUZOX0RFU19LRVlfTEVOR1RILAogCQkJLnNldGtleQkJPQloaWZuX3NldGtleSwKQEAgLTI0MzgsNyArMjQzMyw3IEBACiAJCX0sCiAJfSwKIAl7Ci0JCS5uYW1lID0gImVjYihkZXMpIiwgLmRydl9uYW1lID0gImhpZm4tZGVzIiwgLmJzaXplID0gOCwKKwkJLm5hbWUgPSAiZWNiKGRlcykiLCAuZHJ2X25hbWUgPSAiZWNiLWRlcyIsIC5ic2l6ZSA9IDgsCiAJCS5hYmxrY2lwaGVyID0gewogCQkJLm1pbl9rZXlzaXplCT0JSElGTl9ERVNfS0VZX0xFTkdUSCwKIAkJCS5tYXhfa2V5c2l6ZQk9CUhJRk5fREVTX0tFWV9MRU5HVEgsCkBAIC0yNDUyLDcgKzI0NDcsNyBAQAogCSAqIEFFUyBFQ0IsIENCQywgQ0ZCIGFuZCBPRkIgbW9kZXMuCiAJICovCiAJewotCQkubmFtZSA9ICJlY2IoYWVzKSIsIC5kcnZfbmFtZSA9ICJoaWZuLWFlcyIsIC5ic2l6ZSA9IDE2LAorCQkubmFtZSA9ICJlY2IoYWVzKSIsIC5kcnZfbmFtZSA9ICJlY2ItYWVzIiwgLmJzaXplID0gMTYsCiAJCS5hYmxrY2lwaGVyID0gewogCQkJLm1pbl9rZXlzaXplCT0JQUVTX01JTl9LRVlfU0laRSwKIAkJCS5tYXhfa2V5c2l6ZQk9CUFFU19NQVhfS0VZX1NJWkUsCkBAIC0yNDYyLDggKzI0NTcsOSBAQAogCQl9LAogCX0sCiAJewotCQkubmFtZSA9ICJjYmMoYWVzKSIsIC5kcnZfbmFtZSA9ICJoaWZuLWFlcyIsIC5ic2l6ZSA9IDE2LAorCQkubmFtZSA9ICJjYmMoYWVzKSIsIC5kcnZfbmFtZSA9ICJjYmMtYWVzIiwgLmJzaXplID0gMTYsCiAJCS5hYmxrY2lwaGVyID0geworCQkJLml2c2l6ZQkJPQlISUZOX0FFU19JVl9MRU5HVEgsCiAJCQkubWluX2tleXNpemUJPQlBRVNfTUlOX0tFWV9TSVpFLAogCQkJLm1heF9rZXlzaXplCT0JQUVTX01BWF9LRVlfU0laRSwKIAkJCS5zZXRrZXkJCT0JaGlmbl9zZXRrZXksCkBAIC0yNDcyLDcgKzI0NjgsNyBAQAogCQl9LAogCX0sCiAJewotCQkubmFtZSA9ICJjZmIoYWVzKSIsIC5kcnZfbmFtZSA9ICJoaWZuLWFlcyIsIC5ic2l6ZSA9IDE2LAorCQkubmFtZSA9ICJjZmIoYWVzKSIsIC5kcnZfbmFtZSA9ICJjZmItYWVzIiwgLmJzaXplID0gMTYsCiAJCS5hYmxrY2lwaGVyID0gewogCQkJLm1pbl9rZXlzaXplCT0JQUVTX01JTl9LRVlfU0laRSwKIAkJCS5tYXhfa2V5c2l6ZQk9CUFFU19NQVhfS0VZX1NJWkUsCkBAIC0yNDgyLDcgKzI0NzgsNyBAQAogCQl9LAogCX0sCiAJewotCQkubmFtZSA9ICJvZmIoYWVzKSIsIC5kcnZfbmFtZSA9ICJoaWZuLWFlcyIsIC5ic2l6ZSA9IDE2LAorCQkubmFtZSA9ICJvZmIoYWVzKSIsIC5kcnZfbmFtZSA9ICJvZmItYWVzIiwgLmJzaXplID0gMTYsCiAJCS5hYmxrY2lwaGVyID0gewogCQkJLm1pbl9rZXlzaXplCT0JQUVTX01JTl9LRVlfU0laRSwKIAkJCS5tYXhfa2V5c2l6ZQk9CUFFU19NQVhfS0VZX1NJWkUsCkBAIC0yNTE0LDE1ICsyNTEwLDE0IEBACiAJCXJldHVybiAtRU5PTUVNOwogCiAJc25wcmludGYoYWxnLT5hbGcuY3JhX25hbWUsIENSWVBUT19NQVhfQUxHX05BTUUsICIlcyIsIHQtPm5hbWUpOwotCXNucHJpbnRmKGFsZy0+YWxnLmNyYV9kcml2ZXJfbmFtZSwgQ1JZUFRPX01BWF9BTEdfTkFNRSwgIiVzIiwgdC0+ZHJ2X25hbWUpOworCXNucHJpbnRmKGFsZy0+YWxnLmNyYV9kcml2ZXJfbmFtZSwgQ1JZUFRPX01BWF9BTEdfTkFNRSwgIiVzLSVzIiwKKwkJIHQtPmRydl9uYW1lLCBkZXYtPm5hbWUpOwogCiAJYWxnLT5hbGcuY3JhX3ByaW9yaXR5ID0gMzAwOwogCWFsZy0+YWxnLmNyYV9mbGFncyA9IENSWVBUT19BTEdfVFlQRV9BQkxLQ0lQSEVSIHwgQ1JZUFRPX0FMR19BU1lOQzsKIAlhbGctPmFsZy5jcmFfYmxvY2tzaXplID0gdC0+YnNpemU7CiAJYWxnLT5hbGcuY3JhX2N0eHNpemUgPSBzaXplb2Yoc3RydWN0IGhpZm5fY29udGV4dCk7Ci0JYWxnLT5hbGcuY3JhX2FsaWdubWFzayA9IDE1OwotCWlmICh0LT5ic2l6ZSA9PSA4KQotCQlhbGctPmFsZy5jcmFfYWxpZ25tYXNrID0gMzsKKwlhbGctPmFsZy5jcmFfYWxpZ25tYXNrID0gMDsKIAlhbGctPmFsZy5jcmFfdHlwZSA9ICZjcnlwdG9fYWJsa2NpcGhlcl90eXBlOwogCWFsZy0+YWxnLmNyYV9tb2R1bGUgPSBUSElTX01PRFVMRTsKIAlhbGctPmFsZy5jcmFfdS5hYmxrY2lwaGVyID0gdC0+YWJsa2NpcGhlcjsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY3J5cHRvL2l4cDR4eF9jcnlwdG8uYyBiL2RyaXZlcnMvY3J5cHRvL2l4cDR4eF9jcnlwdG8uYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MmExMDdmCi0tLSAvZGV2L251bGwKKysrIGIvZHJpdmVycy9jcnlwdG8vaXhwNHh4X2NyeXB0by5jCkBAIC0wLDAgKzEsMTUwNiBAQAorLyoKKyAqIEludGVsIElYUDR4eCBOUEUtQyBjcnlwdG8gZHJpdmVyCisgKgorICogQ29weXJpZ2h0IChDKSAyMDA4IENocmlzdGlhbiBIb2huc3RhZWR0IDxjaG9obnN0YWVkdEBpbm5vbWluYXRlLmNvbT4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdAorICogdW5kZXIgdGhlIHRlcm1zIG9mIHZlcnNpb24gMiBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorICoKKyAqLworCisjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CisjaW5jbHVkZSA8bGludXgvZG1hLW1hcHBpbmcuaD4KKyNpbmNsdWRlIDxsaW51eC9kbWFwb29sLmg+CisjaW5jbHVkZSA8bGludXgvY3J5cHRvLmg+CisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvcnRuZXRsaW5rLmg+CisjaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+CisjaW5jbHVkZSA8bGludXgvc3BpbmxvY2suaD4KKworI2luY2x1ZGUgPGNyeXB0by9jdHIuaD4KKyNpbmNsdWRlIDxjcnlwdG8vZGVzLmg+CisjaW5jbHVkZSA8Y3J5cHRvL2Flcy5oPgorI2luY2x1ZGUgPGNyeXB0by9zaGEuaD4KKyNpbmNsdWRlIDxjcnlwdG8vYWxnYXBpLmg+CisjaW5jbHVkZSA8Y3J5cHRvL2FlYWQuaD4KKyNpbmNsdWRlIDxjcnlwdG8vYXV0aGVuYy5oPgorI2luY2x1ZGUgPGNyeXB0by9zY2F0dGVyd2Fsay5oPgorCisjaW5jbHVkZSA8YXNtL2FyY2gvbnBlLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvcW1nci5oPgorCisjZGVmaW5lIE1BWF9LRVlMRU4gMzIKKworLyogaGFzaDogY2Znd29yZCArIDIgKiBkaWdlc3RsZW47IGNyeXB0OiBrZXlsZW4gKyBjZmd3b3JkICovCisjZGVmaW5lIE5QRV9DVFhfTEVOIDgwCisjZGVmaW5lIEFFU19CTE9DSzEyOCAxNgorCisjZGVmaW5lIE5QRV9PUF9IQVNIX1ZFUklGWSAgIDB4MDEKKyNkZWZpbmUgTlBFX09QX0NDTV9FTkFCTEUgICAgMHgwNAorI2RlZmluZSBOUEVfT1BfQ1JZUFRfRU5BQkxFICAweDA4CisjZGVmaW5lIE5QRV9PUF9IQVNIX0VOQUJMRSAgIDB4MTAKKyNkZWZpbmUgTlBFX09QX05PVF9JTl9QTEFDRSAgMHgyMAorI2RlZmluZSBOUEVfT1BfSE1BQ19ESVNBQkxFICAweDQwCisjZGVmaW5lIE5QRV9PUF9DUllQVF9FTkNSWVBUIDB4ODAKKworI2RlZmluZSBOUEVfT1BfQ0NNX0dFTl9NSUMgICAweGNjCisjZGVmaW5lIE5QRV9PUF9IQVNIX0dFTl9JQ1YgIDB4NTAKKyNkZWZpbmUgTlBFX09QX0VOQ19HRU5fS0VZICAgMHhjOQorCisjZGVmaW5lIE1PRF9FQ0IgICAgIDB4MDAwMAorI2RlZmluZSBNT0RfQ1RSICAgICAweDEwMDAKKyNkZWZpbmUgTU9EX0NCQ19FTkMgMHgyMDAwCisjZGVmaW5lIE1PRF9DQkNfREVDIDB4MzAwMAorI2RlZmluZSBNT0RfQ0NNX0VOQyAweDQwMDAKKyNkZWZpbmUgTU9EX0NDTV9ERUMgMHg1MDAwCisKKyNkZWZpbmUgS0VZTEVOXzEyOCAgNAorI2RlZmluZSBLRVlMRU5fMTkyICA2CisjZGVmaW5lIEtFWUxFTl8yNTYgIDgKKworI2RlZmluZSBDSVBIX0RFQ1IgICAweDAwMDAKKyNkZWZpbmUgQ0lQSF9FTkNSICAgMHgwNDAwCisKKyNkZWZpbmUgTU9EX0RFUyAgICAgMHgwMDAwCisjZGVmaW5lIE1PRF9UREVBMiAgIDB4MDEwMAorI2RlZmluZSBNT0RfM0RFUyAgIDB4MDIwMAorI2RlZmluZSBNT0RfQUVTICAgICAweDA4MDAKKyNkZWZpbmUgTU9EX0FFUzEyOCAgKDB4MDgwMCB8IEtFWUxFTl8xMjgpCisjZGVmaW5lIE1PRF9BRVMxOTIgICgweDA5MDAgfCBLRVlMRU5fMTkyKQorI2RlZmluZSBNT0RfQUVTMjU2ICAoMHgwYTAwIHwgS0VZTEVOXzI1NikKKworI2RlZmluZSBNQVhfSVZMRU4gICAxNgorI2RlZmluZSBOUEVfSUQgICAgICAyICAvKiBOUEUgQyAqLworI2RlZmluZSBOUEVfUUxFTiAgICAxNgorLyogU3BhY2UgZm9yIHJlZ2lzdGVyaW5nIHdoZW4gdGhlIGZpcnN0CisgKiBOUEVfUUxFTiBjcnlwdF9jdGwgYXJlIGJ1c3kgKi8KKyNkZWZpbmUgTlBFX1FMRU5fVE9UQUwgNjQKKworI2RlZmluZSBTRU5EX1FJRCAgICAyOQorI2RlZmluZSBSRUNWX1FJRCAgICAzMAorCisjZGVmaW5lIENUTF9GTEFHX1VOVVNFRAkJMHgwMDAwCisjZGVmaW5lIENUTF9GTEFHX1VTRUQJCTB4MTAwMAorI2RlZmluZSBDVExfRkxBR19QRVJGT1JNX0FCTEsJMHgwMDAxCisjZGVmaW5lIENUTF9GTEFHX0dFTl9JQ1YJMHgwMDAyCisjZGVmaW5lIENUTF9GTEFHX0dFTl9SRVZBRVMJMHgwMDA0CisjZGVmaW5lIENUTF9GTEFHX1BFUkZPUk1fQUVBRAkweDAwMDgKKyNkZWZpbmUgQ1RMX0ZMQUdfTUFTSwkJMHgwMDBmCisKKyNkZWZpbmUgSE1BQ19JUEFEX1ZBTFVFICAgMHgzNgorI2RlZmluZSBITUFDX09QQURfVkFMVUUgICAweDVDCisjZGVmaW5lIEhNQUNfUEFEX0JMT0NLTEVOIFNIQTFfQkxPQ0tfU0laRQorCisjZGVmaW5lIE1ENV9ESUdFU1RfU0laRSAgIDE2CisKK3N0cnVjdCBidWZmZXJfZGVzYyB7CisJdTMyIHBoeXNfbmV4dDsKKwl1MTYgYnVmX2xlbjsKKwl1MTYgcGt0X2xlbjsKKwl1MzIgcGh5c19hZGRyOworCXUzMiBfX3Jlc2VydmVkWzRdOworCXN0cnVjdCBidWZmZXJfZGVzYyAqbmV4dDsKK307CisKK3N0cnVjdCBjcnlwdF9jdGwgeworCXU4IG1vZGU7CQkvKiBOUEVfT1BfKiAgb3BlcmF0aW9uIG1vZGUgKi8KKwl1OCBpbml0X2xlbjsKKwl1MTYgcmVzZXJ2ZWQ7CisJdTggaXZbTUFYX0lWTEVOXTsJLyogSVYgZm9yIENCQyBtb2RlIG9yIENUUiBJViBmb3IgQ1RSIG1vZGUgKi8KKwl1MzIgaWN2X3Jldl9hZXM7CS8qIGljdiBvciByZXYgYWVzICovCisJdTMyIHNyY19idWY7CisJdTMyIGRzdF9idWY7CisJdTE2IGF1dGhfb2ZmczsJCS8qIEF1dGhlbnRpY2F0aW9uIHN0YXJ0IG9mZnNldCAqLworCXUxNiBhdXRoX2xlbjsJCS8qIEF1dGhlbnRpY2F0aW9uIGRhdGEgbGVuZ3RoICovCisJdTE2IGNyeXB0X29mZnM7CQkvKiBDcnlwdGlvbiBzdGFydCBvZmZzZXQgKi8KKwl1MTYgY3J5cHRfbGVuOwkJLyogQ3J5cHRpb24gZGF0YSBsZW5ndGggKi8KKwl1MzIgYWFkQWRkcjsJCS8qIEFkZGl0aW9uYWwgQXV0aCBEYXRhIEFkZHIgZm9yIENDTSBtb2RlICovCisJdTMyIGNyeXB0b19jdHg7CQkvKiBOUEUgQ3J5cHRvIFBhcmFtIHN0cnVjdHVyZSBhZGRyZXNzICovCisKKwkvKiBVc2VkIGJ5IEhvc3Q6IDQqNCBieXRlcyovCisJdW5zaWduZWQgY3RsX2ZsYWdzOworCXVuaW9uIHsKKwkJc3RydWN0IGFibGtjaXBoZXJfcmVxdWVzdCAqYWJsa19yZXE7CisJCXN0cnVjdCBhZWFkX3JlcXVlc3QgKmFlYWRfcmVxOworCQlzdHJ1Y3QgY3J5cHRvX3RmbSAqdGZtOworCX0gZGF0YTsKKwlzdHJ1Y3QgYnVmZmVyX2Rlc2MgKnJlZ2lzdF9idWY7CisJdTggKnJlZ2lzdF9wdHI7Cit9OworCitzdHJ1Y3QgYWJsa19jdHggeworCXN0cnVjdCBidWZmZXJfZGVzYyAqc3JjOworCXN0cnVjdCBidWZmZXJfZGVzYyAqZHN0OworCXVuc2lnbmVkIHNyY19uZW50czsKKwl1bnNpZ25lZCBkc3RfbmVudHM7Cit9OworCitzdHJ1Y3QgYWVhZF9jdHggeworCXN0cnVjdCBidWZmZXJfZGVzYyAqYnVmZmVyOworCXVuc2lnbmVkIHNob3J0IGFzc29jX25lbnRzOworCXVuc2lnbmVkIHNob3J0IHNyY19uZW50czsKKwlzdHJ1Y3Qgc2NhdHRlcmxpc3QgaXZsaXN0OworCS8qIHVzZWQgd2hlbiB0aGUgaG1hYyBpcyBub3Qgb24gb25lIHNnIGVudHJ5ICovCisJdTggKmhtYWNfdmlydDsKKwlpbnQgZW5jcnlwdDsKK307CisKK3N0cnVjdCBpeF9oYXNoX2FsZ28geworCXUzMiBjZmd3b3JkOworCXVuc2lnbmVkIGNoYXIgKmljdjsKK307CisKK3N0cnVjdCBpeF9zYV9kaXIgeworCXVuc2lnbmVkIGNoYXIgKm5wZV9jdHg7CisJZG1hX2FkZHJfdCBucGVfY3R4X3BoeXM7CisJaW50IG5wZV9jdHhfaWR4OworCXU4IG5wZV9tb2RlOworfTsKKworc3RydWN0IGl4cF9jdHggeworCXN0cnVjdCBpeF9zYV9kaXIgZW5jcnlwdDsKKwlzdHJ1Y3QgaXhfc2FfZGlyIGRlY3J5cHQ7CisJaW50IGF1dGhrZXlfbGVuOworCXU4IGF1dGhrZXlbTUFYX0tFWUxFTl07CisJaW50IGVuY2tleV9sZW47CisJdTggZW5ja2V5W01BWF9LRVlMRU5dOworCXU4IHNhbHRbTUFYX0lWTEVOXTsKKwl1OCBub25jZVtDVFJfUkZDMzY4Nl9OT05DRV9TSVpFXTsKKwl1bnNpZ25lZCBzYWx0ZWQ7CisJYXRvbWljX3QgY29uZmlndXJpbmc7CisJc3RydWN0IGNvbXBsZXRpb24gY29tcGxldGlvbjsKK307CisKK3N0cnVjdCBpeHBfYWxnIHsKKwlzdHJ1Y3QgY3J5cHRvX2FsZyBjcnlwdG87CisJY29uc3Qgc3RydWN0IGl4X2hhc2hfYWxnbyAqaGFzaDsKKwl1MzIgY2ZnX2VuYzsKKwl1MzIgY2ZnX2RlYzsKKworCWludCByZWdpc3RlcmVkOworfTsKKworc3RhdGljIGNvbnN0IHN0cnVjdCBpeF9oYXNoX2FsZ28gaGFzaF9hbGdfbWQ1ID0geworCS5jZmd3b3JkCT0gMHhBQTAxMDAwNCwKKwkuaWN2CQk9ICJceDAxXHgyM1x4NDVceDY3XHg4OVx4QUJceENEXHhFRiIKKwkJCSAgIlx4RkVceERDXHhCQVx4OThceDc2XHg1NFx4MzJceDEwIiwKK307CitzdGF0aWMgY29uc3Qgc3RydWN0IGl4X2hhc2hfYWxnbyBoYXNoX2FsZ19zaGExID0geworCS5jZmd3b3JkCT0gMHgwMDAwMDAwNSwKKwkuaWN2CQk9ICJceDY3XHg0NVx4MjNceDAxXHhFRlx4Q0RceEFCXHg4OVx4OThceEJBIgorCQkJICAiXHhEQ1x4RkVceDEwXHgzMlx4NTRceDc2XHhDM1x4RDJceEUxXHhGMCIsCit9OworCitzdGF0aWMgc3RydWN0IG5wZSAqbnBlX2M7CitzdGF0aWMgc3RydWN0IGRtYV9wb29sICpidWZmZXJfcG9vbCA9IE5VTEw7CitzdGF0aWMgc3RydWN0IGRtYV9wb29sICpjdHhfcG9vbCA9IE5VTEw7CisKK3N0YXRpYyBzdHJ1Y3QgY3J5cHRfY3RsICpjcnlwdF92aXJ0ID0gTlVMTDsKK3N0YXRpYyBkbWFfYWRkcl90IGNyeXB0X3BoeXM7CisKK3N0YXRpYyBpbnQgc3VwcG9ydF9hZXMgPSAxOworCitzdGF0aWMgdm9pZCBkZXZfcmVsZWFzZShzdHJ1Y3QgZGV2aWNlICpkZXYpCit7CisJcmV0dXJuOworfQorCisjZGVmaW5lIERSSVZFUl9OQU1FICJpeHA0eHhfY3J5cHRvIgorc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgcHNldWRvX2RldiA9IHsKKwkubmFtZSA9IERSSVZFUl9OQU1FLAorCS5pZCAgID0gMCwKKwkubnVtX3Jlc291cmNlcyA9IDAsCisJLmRldiAgPSB7CisJCS5jb2hlcmVudF9kbWFfbWFzayA9IERNQV8zMkJJVF9NQVNLLAorCQkucmVsZWFzZSA9IGRldl9yZWxlYXNlLAorCX0KK307CisKK3N0YXRpYyBzdHJ1Y3QgZGV2aWNlICpkZXYgPSAmcHNldWRvX2Rldi5kZXY7CisKK3N0YXRpYyBpbmxpbmUgZG1hX2FkZHJfdCBjcnlwdF92aXJ0MnBoeXMoc3RydWN0IGNyeXB0X2N0bCAqdmlydCkKK3sKKwlyZXR1cm4gY3J5cHRfcGh5cyArICh2aXJ0IC0gY3J5cHRfdmlydCkgKiBzaXplb2Yoc3RydWN0IGNyeXB0X2N0bCk7Cit9CisKK3N0YXRpYyBpbmxpbmUgc3RydWN0IGNyeXB0X2N0bCAqY3J5cHRfcGh5czJ2aXJ0KGRtYV9hZGRyX3QgcGh5cykKK3sKKwlyZXR1cm4gY3J5cHRfdmlydCArIChwaHlzIC0gY3J5cHRfcGh5cykgLyBzaXplb2Yoc3RydWN0IGNyeXB0X2N0bCk7Cit9CisKK3N0YXRpYyBpbmxpbmUgdTMyIGNpcGhlcl9jZmdfZW5jKHN0cnVjdCBjcnlwdG9fdGZtICp0Zm0pCit7CisJcmV0dXJuIGNvbnRhaW5lcl9vZih0Zm0tPl9fY3J0X2FsZywgc3RydWN0IGl4cF9hbGcsY3J5cHRvKS0+Y2ZnX2VuYzsKK30KKworc3RhdGljIGlubGluZSB1MzIgY2lwaGVyX2NmZ19kZWMoc3RydWN0IGNyeXB0b190Zm0gKnRmbSkKK3sKKwlyZXR1cm4gY29udGFpbmVyX29mKHRmbS0+X19jcnRfYWxnLCBzdHJ1Y3QgaXhwX2FsZyxjcnlwdG8pLT5jZmdfZGVjOworfQorCitzdGF0aWMgaW5saW5lIGNvbnN0IHN0cnVjdCBpeF9oYXNoX2FsZ28gKml4X2hhc2goc3RydWN0IGNyeXB0b190Zm0gKnRmbSkKK3sKKwlyZXR1cm4gY29udGFpbmVyX29mKHRmbS0+X19jcnRfYWxnLCBzdHJ1Y3QgaXhwX2FsZywgY3J5cHRvKS0+aGFzaDsKK30KKworc3RhdGljIGludCBzZXR1cF9jcnlwdF9kZXNjKHZvaWQpCit7CisJQlVJTERfQlVHX09OKHNpemVvZihzdHJ1Y3QgY3J5cHRfY3RsKSAhPSA2NCk7CisJY3J5cHRfdmlydCA9IGRtYV9hbGxvY19jb2hlcmVudChkZXYsCisJCQlOUEVfUUxFTiAqIHNpemVvZihzdHJ1Y3QgY3J5cHRfY3RsKSwKKwkJCSZjcnlwdF9waHlzLCBHRlBfS0VSTkVMKTsKKwlpZiAoIWNyeXB0X3ZpcnQpCisJCXJldHVybiAtRU5PTUVNOworCW1lbXNldChjcnlwdF92aXJ0LCAwLCBOUEVfUUxFTiAqIHNpemVvZihzdHJ1Y3QgY3J5cHRfY3RsKSk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBzcGlubG9ja190IGRlc2NfbG9jazsKK3N0YXRpYyBzdHJ1Y3QgY3J5cHRfY3RsICpnZXRfY3J5cHRfZGVzYyh2b2lkKQoreworCWludCBpOworCXN0YXRpYyBpbnQgaWR4ID0gMDsKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCisJc3Bpbl9sb2NrX2lycXNhdmUoJmRlc2NfbG9jaywgZmxhZ3MpOworCisJaWYgKHVubGlrZWx5KCFjcnlwdF92aXJ0KSkKKwkJc2V0dXBfY3J5cHRfZGVzYygpOworCWlmICh1bmxpa2VseSghY3J5cHRfdmlydCkpIHsKKwkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZGVzY19sb2NrLCBmbGFncyk7CisJCXJldHVybiBOVUxMOworCX0KKwlpID0gaWR4OworCWlmIChjcnlwdF92aXJ0W2ldLmN0bF9mbGFncyA9PSBDVExfRkxBR19VTlVTRUQpIHsKKwkJaWYgKCsraWR4ID49IE5QRV9RTEVOKQorCQkJaWR4ID0gMDsKKwkJY3J5cHRfdmlydFtpXS5jdGxfZmxhZ3MgPSBDVExfRkxBR19VU0VEOworCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZkZXNjX2xvY2ssIGZsYWdzKTsKKwkJcmV0dXJuIGNyeXB0X3ZpcnQgK2k7CisJfSBlbHNlIHsKKwkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZGVzY19sb2NrLCBmbGFncyk7CisJCXJldHVybiBOVUxMOworCX0KK30KKworc3RhdGljIHNwaW5sb2NrX3QgZW1lcmdfbG9jazsKK3N0YXRpYyBzdHJ1Y3QgY3J5cHRfY3RsICpnZXRfY3J5cHRfZGVzY19lbWVyZyh2b2lkKQoreworCWludCBpOworCXN0YXRpYyBpbnQgaWR4ID0gTlBFX1FMRU47CisJc3RydWN0IGNyeXB0X2N0bCAqZGVzYzsKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCisJZGVzYyA9IGdldF9jcnlwdF9kZXNjKCk7CisJaWYgKGRlc2MpCisJCXJldHVybiBkZXNjOworCWlmICh1bmxpa2VseSghY3J5cHRfdmlydCkpCisJCXJldHVybiBOVUxMOworCisJc3Bpbl9sb2NrX2lycXNhdmUoJmVtZXJnX2xvY2ssIGZsYWdzKTsKKwlpID0gaWR4OworCWlmIChjcnlwdF92aXJ0W2ldLmN0bF9mbGFncyA9PSBDVExfRkxBR19VTlVTRUQpIHsKKwkJaWYgKCsraWR4ID49IE5QRV9RTEVOX1RPVEFMKQorCQkJaWR4ID0gTlBFX1FMRU47CisJCWNyeXB0X3ZpcnRbaV0uY3RsX2ZsYWdzID0gQ1RMX0ZMQUdfVVNFRDsKKwkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZW1lcmdfbG9jaywgZmxhZ3MpOworCQlyZXR1cm4gY3J5cHRfdmlydCAraTsKKwl9IGVsc2UgeworCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZlbWVyZ19sb2NrLCBmbGFncyk7CisJCXJldHVybiBOVUxMOworCX0KK30KKworc3RhdGljIHZvaWQgZnJlZV9idWZfY2hhaW4oc3RydWN0IGJ1ZmZlcl9kZXNjICpidWYsIHUzMiBwaHlzKQoreworCXdoaWxlIChidWYpIHsKKwkJc3RydWN0IGJ1ZmZlcl9kZXNjICpidWYxOworCQl1MzIgcGh5czE7CisKKwkJYnVmMSA9IGJ1Zi0+bmV4dDsKKwkJcGh5czEgPSBidWYtPnBoeXNfbmV4dDsKKwkJZG1hX3Bvb2xfZnJlZShidWZmZXJfcG9vbCwgYnVmLCBwaHlzKTsKKwkJYnVmID0gYnVmMTsKKwkJcGh5cyA9IHBoeXMxOworCX0KK30KKworc3RhdGljIHN0cnVjdCB0YXNrbGV0X3N0cnVjdCBjcnlwdG9fZG9uZV90YXNrbGV0OworCitzdGF0aWMgdm9pZCBmaW5pc2hfc2NhdHRlcmVkX2htYWMoc3RydWN0IGNyeXB0X2N0bCAqY3J5cHQpCit7CisJc3RydWN0IGFlYWRfcmVxdWVzdCAqcmVxID0gY3J5cHQtPmRhdGEuYWVhZF9yZXE7CisJc3RydWN0IGFlYWRfY3R4ICpyZXFfY3R4ID0gYWVhZF9yZXF1ZXN0X2N0eChyZXEpOworCXN0cnVjdCBjcnlwdG9fYWVhZCAqdGZtID0gY3J5cHRvX2FlYWRfcmVxdGZtKHJlcSk7CisJaW50IGF1dGhzaXplID0gY3J5cHRvX2FlYWRfYXV0aHNpemUodGZtKTsKKwlpbnQgZGVjcnlwdGxlbiA9IHJlcS0+Y3J5cHRsZW4gLSBhdXRoc2l6ZTsKKworCWlmIChyZXFfY3R4LT5lbmNyeXB0KSB7CisJCXNjYXR0ZXJ3YWxrX21hcF9hbmRfY29weShyZXFfY3R4LT5obWFjX3ZpcnQsCisJCQlyZXEtPnNyYywgZGVjcnlwdGxlbiwgYXV0aHNpemUsIDEpOworCX0KKwlkbWFfcG9vbF9mcmVlKGJ1ZmZlcl9wb29sLCByZXFfY3R4LT5obWFjX3ZpcnQsIGNyeXB0LT5pY3ZfcmV2X2Flcyk7Cit9CisKK3N0YXRpYyB2b2lkIG9uZV9wYWNrZXQoZG1hX2FkZHJfdCBwaHlzKQoreworCXN0cnVjdCBjcnlwdF9jdGwgKmNyeXB0OworCXN0cnVjdCBpeHBfY3R4ICpjdHg7CisJaW50IGZhaWxlZDsKKwllbnVtIGRtYV9kYXRhX2RpcmVjdGlvbiBzcmNfZGlyZWN0aW9uID0gRE1BX0JJRElSRUNUSU9OQUw7CisKKwlmYWlsZWQgPSBwaHlzICYgMHgxID8gLUVCQURNU0cgOiAwOworCXBoeXMgJj0gfjB4MzsKKwljcnlwdCA9IGNyeXB0X3BoeXMydmlydChwaHlzKTsKKworCXN3aXRjaCAoY3J5cHQtPmN0bF9mbGFncyAmIENUTF9GTEFHX01BU0spIHsKKwljYXNlIENUTF9GTEFHX1BFUkZPUk1fQUVBRDogeworCQlzdHJ1Y3QgYWVhZF9yZXF1ZXN0ICpyZXEgPSBjcnlwdC0+ZGF0YS5hZWFkX3JlcTsKKwkJc3RydWN0IGFlYWRfY3R4ICpyZXFfY3R4ID0gYWVhZF9yZXF1ZXN0X2N0eChyZXEpOworCQlkbWFfdW5tYXBfc2coZGV2LCByZXEtPmFzc29jLCByZXFfY3R4LT5hc3NvY19uZW50cywKKwkJCQlETUFfVE9fREVWSUNFKTsKKwkJZG1hX3VubWFwX3NnKGRldiwgJnJlcV9jdHgtPml2bGlzdCwgMSwgRE1BX0JJRElSRUNUSU9OQUwpOworCQlkbWFfdW5tYXBfc2coZGV2LCByZXEtPnNyYywgcmVxX2N0eC0+c3JjX25lbnRzLAorCQkJCURNQV9CSURJUkVDVElPTkFMKTsKKworCQlmcmVlX2J1Zl9jaGFpbihyZXFfY3R4LT5idWZmZXIsIGNyeXB0LT5zcmNfYnVmKTsKKwkJaWYgKHJlcV9jdHgtPmhtYWNfdmlydCkgeworCQkJZmluaXNoX3NjYXR0ZXJlZF9obWFjKGNyeXB0KTsKKwkJfQorCQlyZXEtPmJhc2UuY29tcGxldGUoJnJlcS0+YmFzZSwgZmFpbGVkKTsKKwkJYnJlYWs7CisJfQorCWNhc2UgQ1RMX0ZMQUdfUEVSRk9STV9BQkxLOiB7CisJCXN0cnVjdCBhYmxrY2lwaGVyX3JlcXVlc3QgKnJlcSA9IGNyeXB0LT5kYXRhLmFibGtfcmVxOworCQlzdHJ1Y3QgYWJsa19jdHggKnJlcV9jdHggPSBhYmxrY2lwaGVyX3JlcXVlc3RfY3R4KHJlcSk7CisJCWludCBuZW50czsKKwkJaWYgKHJlcV9jdHgtPmRzdCkgeworCQkJbmVudHMgPSByZXFfY3R4LT5kc3RfbmVudHM7CisJCQlkbWFfdW5tYXBfc2coZGV2LCByZXEtPmRzdCwgbmVudHMsIERNQV9GUk9NX0RFVklDRSk7CisJCQlmcmVlX2J1Zl9jaGFpbihyZXFfY3R4LT5kc3QsIGNyeXB0LT5kc3RfYnVmKTsKKwkJCXNyY19kaXJlY3Rpb24gPSBETUFfVE9fREVWSUNFOworCQl9CisJCW5lbnRzID0gcmVxX2N0eC0+c3JjX25lbnRzOworCQlkbWFfdW5tYXBfc2coZGV2LCByZXEtPnNyYywgbmVudHMsIHNyY19kaXJlY3Rpb24pOworCQlmcmVlX2J1Zl9jaGFpbihyZXFfY3R4LT5zcmMsIGNyeXB0LT5zcmNfYnVmKTsKKwkJcmVxLT5iYXNlLmNvbXBsZXRlKCZyZXEtPmJhc2UsIGZhaWxlZCk7CisJCWJyZWFrOworCX0KKwljYXNlIENUTF9GTEFHX0dFTl9JQ1Y6CisJCWN0eCA9IGNyeXB0b190Zm1fY3R4KGNyeXB0LT5kYXRhLnRmbSk7CisJCWRtYV9wb29sX2ZyZWUoY3R4X3Bvb2wsIGNyeXB0LT5yZWdpc3RfcHRyLAorCQkJCWNyeXB0LT5yZWdpc3RfYnVmLT5waHlzX2FkZHIpOworCQlkbWFfcG9vbF9mcmVlKGJ1ZmZlcl9wb29sLCBjcnlwdC0+cmVnaXN0X2J1ZiwgY3J5cHQtPnNyY19idWYpOworCQlpZiAoYXRvbWljX2RlY19hbmRfdGVzdCgmY3R4LT5jb25maWd1cmluZykpCisJCQljb21wbGV0ZSgmY3R4LT5jb21wbGV0aW9uKTsKKwkJYnJlYWs7CisJY2FzZSBDVExfRkxBR19HRU5fUkVWQUVTOgorCQljdHggPSBjcnlwdG9fdGZtX2N0eChjcnlwdC0+ZGF0YS50Zm0pOworCQkqKHUzMiopY3R4LT5kZWNyeXB0Lm5wZV9jdHggJj0gY3B1X3RvX2JlMzIofkNJUEhfRU5DUik7CisJCWlmIChhdG9taWNfZGVjX2FuZF90ZXN0KCZjdHgtPmNvbmZpZ3VyaW5nKSkKKwkJCWNvbXBsZXRlKCZjdHgtPmNvbXBsZXRpb24pOworCQlicmVhazsKKwlkZWZhdWx0OgorCQlCVUcoKTsKKwl9CisJY3J5cHQtPmN0bF9mbGFncyA9IENUTF9GTEFHX1VOVVNFRDsKK30KKworc3RhdGljIHZvaWQgaXJxaGFuZGxlcih2b2lkICpfdW51c2VkKQoreworCXRhc2tsZXRfc2NoZWR1bGUoJmNyeXB0b19kb25lX3Rhc2tsZXQpOworfQorCitzdGF0aWMgdm9pZCBjcnlwdG9fZG9uZV9hY3Rpb24odW5zaWduZWQgbG9uZyBhcmcpCit7CisJaW50IGk7CisKKwlmb3IoaT0wOyBpPDQ7IGkrKykgeworCQlkbWFfYWRkcl90IHBoeXMgPSBxbWdyX2dldF9lbnRyeShSRUNWX1FJRCk7CisJCWlmICghcGh5cykKKwkJCXJldHVybjsKKwkJb25lX3BhY2tldChwaHlzKTsKKwl9CisJdGFza2xldF9zY2hlZHVsZSgmY3J5cHRvX2RvbmVfdGFza2xldCk7Cit9CisKK3N0YXRpYyBpbnQgaW5pdF9peHBfY3J5cHRvKHZvaWQpCit7CisJaW50IHJldCA9IC1FTk9ERVY7CisKKwlpZiAoISAoIH4oKklYUDRYWF9FWFBfQ0ZHMikgJiAoSVhQNFhYX0ZFQVRVUkVfSEFTSCB8CisJCQkJSVhQNFhYX0ZFQVRVUkVfQUVTIHwgSVhQNFhYX0ZFQVRVUkVfREVTKSkpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICJpeHBfY3J5cHRvOiBObyBIVyBjcnlwdG8gYXZhaWxhYmxlXG4iKTsKKwkJcmV0dXJuIHJldDsKKwl9CisJbnBlX2MgPSBucGVfcmVxdWVzdChOUEVfSUQpOworCWlmICghbnBlX2MpCisJCXJldHVybiByZXQ7CisKKwlpZiAoIW5wZV9ydW5uaW5nKG5wZV9jKSkgeworCQlucGVfbG9hZF9maXJtd2FyZShucGVfYywgbnBlX25hbWUobnBlX2MpLCBkZXYpOworCX0KKworCS8qIGJ1ZmZlcl9wb29sIHdpbGwgYWxzbyBiZSB1c2VkIHRvIHNvbWV0aW1lcyBzdG9yZSB0aGUgaG1hYywKKwkgKiBzbyBhc3N1cmUgaXQgaXMgbGFyZ2UgZW5vdWdoCisJICovCisJQlVJTERfQlVHX09OKFNIQTFfRElHRVNUX1NJWkUgPiBzaXplb2Yoc3RydWN0IGJ1ZmZlcl9kZXNjKSk7CisJYnVmZmVyX3Bvb2wgPSBkbWFfcG9vbF9jcmVhdGUoImJ1ZmZlciIsIGRldiwKKwkJCXNpemVvZihzdHJ1Y3QgYnVmZmVyX2Rlc2MpLCAzMiwgMCk7CisJcmV0ID0gLUVOT01FTTsKKwlpZiAoIWJ1ZmZlcl9wb29sKSB7CisJCWdvdG8gZXJyOworCX0KKwljdHhfcG9vbCA9IGRtYV9wb29sX2NyZWF0ZSgiY29udGV4dCIsIGRldiwKKwkJCU5QRV9DVFhfTEVOLCAxNiwgMCk7CisJaWYgKCFjdHhfcG9vbCkgeworCQlnb3RvIGVycjsKKwl9CisJcmV0ID0gcW1ncl9yZXF1ZXN0X3F1ZXVlKFNFTkRfUUlELCBOUEVfUUxFTl9UT1RBTCwgMCwgMCk7CisJaWYgKHJldCkKKwkJZ290byBlcnI7CisJcmV0ID0gcW1ncl9yZXF1ZXN0X3F1ZXVlKFJFQ1ZfUUlELCBOUEVfUUxFTiwgMCwgMCk7CisJaWYgKHJldCkgeworCQlxbWdyX3JlbGVhc2VfcXVldWUoU0VORF9RSUQpOworCQlnb3RvIGVycjsKKwl9CisJcW1ncl9zZXRfaXJxKFJFQ1ZfUUlELCBRVUVVRV9JUlFfU1JDX05PVF9FTVBUWSwgaXJxaGFuZGxlciwgTlVMTCk7CisJdGFza2xldF9pbml0KCZjcnlwdG9fZG9uZV90YXNrbGV0LCBjcnlwdG9fZG9uZV9hY3Rpb24sIDApOworCisJcW1ncl9lbmFibGVfaXJxKFJFQ1ZfUUlEKTsKKwlyZXR1cm4gMDsKK2VycjoKKwlpZiAoY3R4X3Bvb2wpCisJCWRtYV9wb29sX2Rlc3Ryb3koY3R4X3Bvb2wpOworCWlmIChidWZmZXJfcG9vbCkKKwkJZG1hX3Bvb2xfZGVzdHJveShidWZmZXJfcG9vbCk7CisJbnBlX3JlbGVhc2UobnBlX2MpOworCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyB2b2lkIHJlbGVhc2VfaXhwX2NyeXB0byh2b2lkKQoreworCXFtZ3JfZGlzYWJsZV9pcnEoUkVDVl9RSUQpOworCXRhc2tsZXRfa2lsbCgmY3J5cHRvX2RvbmVfdGFza2xldCk7CisKKwlxbWdyX3JlbGVhc2VfcXVldWUoU0VORF9RSUQpOworCXFtZ3JfcmVsZWFzZV9xdWV1ZShSRUNWX1FJRCk7CisKKwlkbWFfcG9vbF9kZXN0cm95KGN0eF9wb29sKTsKKwlkbWFfcG9vbF9kZXN0cm95KGJ1ZmZlcl9wb29sKTsKKworCW5wZV9yZWxlYXNlKG5wZV9jKTsKKworCWlmIChjcnlwdF92aXJ0KSB7CisJCWRtYV9mcmVlX2NvaGVyZW50KGRldiwKKwkJCU5QRV9RTEVOX1RPVEFMICogc2l6ZW9mKCBzdHJ1Y3QgY3J5cHRfY3RsKSwKKwkJCWNyeXB0X3ZpcnQsIGNyeXB0X3BoeXMpOworCX0KKwlyZXR1cm47Cit9CisKK3N0YXRpYyB2b2lkIHJlc2V0X3NhX2RpcihzdHJ1Y3QgaXhfc2FfZGlyICpkaXIpCit7CisJbWVtc2V0KGRpci0+bnBlX2N0eCwgMCwgTlBFX0NUWF9MRU4pOworCWRpci0+bnBlX2N0eF9pZHggPSAwOworCWRpci0+bnBlX21vZGUgPSAwOworfQorCitzdGF0aWMgaW50IGluaXRfc2FfZGlyKHN0cnVjdCBpeF9zYV9kaXIgKmRpcikKK3sKKwlkaXItPm5wZV9jdHggPSBkbWFfcG9vbF9hbGxvYyhjdHhfcG9vbCwgR0ZQX0tFUk5FTCwgJmRpci0+bnBlX2N0eF9waHlzKTsKKwlpZiAoIWRpci0+bnBlX2N0eCkgeworCQlyZXR1cm4gLUVOT01FTTsKKwl9CisJcmVzZXRfc2FfZGlyKGRpcik7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIGZyZWVfc2FfZGlyKHN0cnVjdCBpeF9zYV9kaXIgKmRpcikKK3sKKwltZW1zZXQoZGlyLT5ucGVfY3R4LCAwLCBOUEVfQ1RYX0xFTik7CisJZG1hX3Bvb2xfZnJlZShjdHhfcG9vbCwgZGlyLT5ucGVfY3R4LCBkaXItPm5wZV9jdHhfcGh5cyk7Cit9CisKK3N0YXRpYyBpbnQgaW5pdF90Zm0oc3RydWN0IGNyeXB0b190Zm0gKnRmbSkKK3sKKwlzdHJ1Y3QgaXhwX2N0eCAqY3R4ID0gY3J5cHRvX3RmbV9jdHgodGZtKTsKKwlpbnQgcmV0OworCisJYXRvbWljX3NldCgmY3R4LT5jb25maWd1cmluZywgMCk7CisJcmV0ID0gaW5pdF9zYV9kaXIoJmN0eC0+ZW5jcnlwdCk7CisJaWYgKHJldCkKKwkJcmV0dXJuIHJldDsKKwlyZXQgPSBpbml0X3NhX2RpcigmY3R4LT5kZWNyeXB0KTsKKwlpZiAocmV0KSB7CisJCWZyZWVfc2FfZGlyKCZjdHgtPmVuY3J5cHQpOworCX0KKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgaW50IGluaXRfdGZtX2FibGsoc3RydWN0IGNyeXB0b190Zm0gKnRmbSkKK3sKKwl0Zm0tPmNydF9hYmxrY2lwaGVyLnJlcXNpemUgPSBzaXplb2Yoc3RydWN0IGFibGtfY3R4KTsKKwlyZXR1cm4gaW5pdF90Zm0odGZtKTsKK30KKworc3RhdGljIGludCBpbml0X3RmbV9hZWFkKHN0cnVjdCBjcnlwdG9fdGZtICp0Zm0pCit7CisJdGZtLT5jcnRfYWVhZC5yZXFzaXplID0gc2l6ZW9mKHN0cnVjdCBhZWFkX2N0eCk7CisJcmV0dXJuIGluaXRfdGZtKHRmbSk7Cit9CisKK3N0YXRpYyB2b2lkIGV4aXRfdGZtKHN0cnVjdCBjcnlwdG9fdGZtICp0Zm0pCit7CisJc3RydWN0IGl4cF9jdHggKmN0eCA9IGNyeXB0b190Zm1fY3R4KHRmbSk7CisJZnJlZV9zYV9kaXIoJmN0eC0+ZW5jcnlwdCk7CisJZnJlZV9zYV9kaXIoJmN0eC0+ZGVjcnlwdCk7Cit9CisKK3N0YXRpYyBpbnQgcmVnaXN0ZXJfY2hhaW5fdmFyKHN0cnVjdCBjcnlwdG9fdGZtICp0Zm0sIHU4IHhwYWQsIHUzMiB0YXJnZXQsCisJCWludCBpbml0X2xlbiwgdTMyIGN0eF9hZGRyLCBjb25zdCB1OCAqa2V5LCBpbnQga2V5X2xlbikKK3sKKwlzdHJ1Y3QgaXhwX2N0eCAqY3R4ID0gY3J5cHRvX3RmbV9jdHgodGZtKTsKKwlzdHJ1Y3QgY3J5cHRfY3RsICpjcnlwdDsKKwlzdHJ1Y3QgYnVmZmVyX2Rlc2MgKmJ1ZjsKKwlpbnQgaTsKKwl1OCAqcGFkOworCXUzMiBwYWRfcGh5cywgYnVmX3BoeXM7CisKKwlCVUlMRF9CVUdfT04oTlBFX0NUWF9MRU4gPCBITUFDX1BBRF9CTE9DS0xFTik7CisJcGFkID0gZG1hX3Bvb2xfYWxsb2MoY3R4X3Bvb2wsIEdGUF9LRVJORUwsICZwYWRfcGh5cyk7CisJaWYgKCFwYWQpCisJCXJldHVybiAtRU5PTUVNOworCWJ1ZiA9IGRtYV9wb29sX2FsbG9jKGJ1ZmZlcl9wb29sLCBHRlBfS0VSTkVMLCAmYnVmX3BoeXMpOworCWlmICghYnVmKSB7CisJCWRtYV9wb29sX2ZyZWUoY3R4X3Bvb2wsIHBhZCwgcGFkX3BoeXMpOworCQlyZXR1cm4gLUVOT01FTTsKKwl9CisJY3J5cHQgPSBnZXRfY3J5cHRfZGVzY19lbWVyZygpOworCWlmICghY3J5cHQpIHsKKwkJZG1hX3Bvb2xfZnJlZShjdHhfcG9vbCwgcGFkLCBwYWRfcGh5cyk7CisJCWRtYV9wb29sX2ZyZWUoYnVmZmVyX3Bvb2wsIGJ1ZiwgYnVmX3BoeXMpOworCQlyZXR1cm4gLUVBR0FJTjsKKwl9CisKKwltZW1jcHkocGFkLCBrZXksIGtleV9sZW4pOworCW1lbXNldChwYWQgKyBrZXlfbGVuLCAwLCBITUFDX1BBRF9CTE9DS0xFTiAtIGtleV9sZW4pOworCWZvciAoaSA9IDA7IGkgPCBITUFDX1BBRF9CTE9DS0xFTjsgaSsrKSB7CisJCXBhZFtpXSBePSB4cGFkOworCX0KKworCWNyeXB0LT5kYXRhLnRmbSA9IHRmbTsKKwljcnlwdC0+cmVnaXN0X3B0ciA9IHBhZDsKKwljcnlwdC0+cmVnaXN0X2J1ZiA9IGJ1ZjsKKworCWNyeXB0LT5hdXRoX29mZnMgPSAwOworCWNyeXB0LT5hdXRoX2xlbiA9IEhNQUNfUEFEX0JMT0NLTEVOOworCWNyeXB0LT5jcnlwdG9fY3R4ID0gY3R4X2FkZHI7CisJY3J5cHQtPnNyY19idWYgPSBidWZfcGh5czsKKwljcnlwdC0+aWN2X3Jldl9hZXMgPSB0YXJnZXQ7CisJY3J5cHQtPm1vZGUgPSBOUEVfT1BfSEFTSF9HRU5fSUNWOworCWNyeXB0LT5pbml0X2xlbiA9IGluaXRfbGVuOworCWNyeXB0LT5jdGxfZmxhZ3MgfD0gQ1RMX0ZMQUdfR0VOX0lDVjsKKworCWJ1Zi0+bmV4dCA9IDA7CisJYnVmLT5idWZfbGVuID0gSE1BQ19QQURfQkxPQ0tMRU47CisJYnVmLT5wa3RfbGVuID0gMDsKKwlidWYtPnBoeXNfYWRkciA9IHBhZF9waHlzOworCisJYXRvbWljX2luYygmY3R4LT5jb25maWd1cmluZyk7CisJcW1ncl9wdXRfZW50cnkoU0VORF9RSUQsIGNyeXB0X3ZpcnQycGh5cyhjcnlwdCkpOworCUJVR19PTihxbWdyX3N0YXRfb3ZlcmZsb3coU0VORF9RSUQpKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBzZXR1cF9hdXRoKHN0cnVjdCBjcnlwdG9fdGZtICp0Zm0sIGludCBlbmNyeXB0LCB1bnNpZ25lZCBhdXRoc2l6ZSwKKwkJY29uc3QgdTggKmtleSwgaW50IGtleV9sZW4sIHVuc2lnbmVkIGRpZ2VzdF9sZW4pCit7CisJdTMyIGl0YXJnZXQsIG90YXJnZXQsIG5wZV9jdHhfYWRkcjsKKwl1bnNpZ25lZCBjaGFyICpjaW5mbzsKKwlpbnQgaW5pdF9sZW4sIHJldCA9IDA7CisJdTMyIGNmZ3dvcmQ7CisJc3RydWN0IGl4X3NhX2RpciAqZGlyOworCXN0cnVjdCBpeHBfY3R4ICpjdHggPSBjcnlwdG9fdGZtX2N0eCh0Zm0pOworCWNvbnN0IHN0cnVjdCBpeF9oYXNoX2FsZ28gKmFsZ287CisKKwlkaXIgPSBlbmNyeXB0ID8gJmN0eC0+ZW5jcnlwdCA6ICZjdHgtPmRlY3J5cHQ7CisJY2luZm8gPSBkaXItPm5wZV9jdHggKyBkaXItPm5wZV9jdHhfaWR4OworCWFsZ28gPSBpeF9oYXNoKHRmbSk7CisKKwkvKiB3cml0ZSBjZmcgd29yZCB0byBjcnlwdGluZm8gKi8KKwljZmd3b3JkID0gYWxnby0+Y2Znd29yZCB8ICggYXV0aHNpemUgPDwgNik7IC8qIChhdXRoc2l6ZS80KSA8PCA4ICovCisJKih1MzIqKWNpbmZvID0gY3B1X3RvX2JlMzIoY2Znd29yZCk7CisJY2luZm8gKz0gc2l6ZW9mKGNmZ3dvcmQpOworCisJLyogd3JpdGUgSUNWIHRvIGNyeXB0aW5mbyAqLworCW1lbWNweShjaW5mbywgYWxnby0+aWN2LCBkaWdlc3RfbGVuKTsKKwljaW5mbyArPSBkaWdlc3RfbGVuOworCisJaXRhcmdldCA9IGRpci0+bnBlX2N0eF9waHlzICsgZGlyLT5ucGVfY3R4X2lkeAorCQkJCSsgc2l6ZW9mKGFsZ28tPmNmZ3dvcmQpOworCW90YXJnZXQgPSBpdGFyZ2V0ICsgZGlnZXN0X2xlbjsKKwlpbml0X2xlbiA9IGNpbmZvIC0gKGRpci0+bnBlX2N0eCArIGRpci0+bnBlX2N0eF9pZHgpOworCW5wZV9jdHhfYWRkciA9IGRpci0+bnBlX2N0eF9waHlzICsgZGlyLT5ucGVfY3R4X2lkeDsKKworCWRpci0+bnBlX2N0eF9pZHggKz0gaW5pdF9sZW47CisJZGlyLT5ucGVfbW9kZSB8PSBOUEVfT1BfSEFTSF9FTkFCTEU7CisKKwlpZiAoIWVuY3J5cHQpCisJCWRpci0+bnBlX21vZGUgfD0gTlBFX09QX0hBU0hfVkVSSUZZOworCisJcmV0ID0gcmVnaXN0ZXJfY2hhaW5fdmFyKHRmbSwgSE1BQ19PUEFEX1ZBTFVFLCBvdGFyZ2V0LAorCQkJaW5pdF9sZW4sIG5wZV9jdHhfYWRkciwga2V5LCBrZXlfbGVuKTsKKwlpZiAocmV0KQorCQlyZXR1cm4gcmV0OworCXJldHVybiByZWdpc3Rlcl9jaGFpbl92YXIodGZtLCBITUFDX0lQQURfVkFMVUUsIGl0YXJnZXQsCisJCQlpbml0X2xlbiwgbnBlX2N0eF9hZGRyLCBrZXksIGtleV9sZW4pOworfQorCitzdGF0aWMgaW50IGdlbl9yZXZfYWVzX2tleShzdHJ1Y3QgY3J5cHRvX3RmbSAqdGZtKQoreworCXN0cnVjdCBjcnlwdF9jdGwgKmNyeXB0OworCXN0cnVjdCBpeHBfY3R4ICpjdHggPSBjcnlwdG9fdGZtX2N0eCh0Zm0pOworCXN0cnVjdCBpeF9zYV9kaXIgKmRpciA9ICZjdHgtPmRlY3J5cHQ7CisKKwljcnlwdCA9IGdldF9jcnlwdF9kZXNjX2VtZXJnKCk7CisJaWYgKCFjcnlwdCkgeworCQlyZXR1cm4gLUVBR0FJTjsKKwl9CisJKih1MzIqKWRpci0+bnBlX2N0eCB8PSBjcHVfdG9fYmUzMihDSVBIX0VOQ1IpOworCisJY3J5cHQtPmRhdGEudGZtID0gdGZtOworCWNyeXB0LT5jcnlwdF9vZmZzID0gMDsKKwljcnlwdC0+Y3J5cHRfbGVuID0gQUVTX0JMT0NLMTI4OworCWNyeXB0LT5zcmNfYnVmID0gMDsKKwljcnlwdC0+Y3J5cHRvX2N0eCA9IGRpci0+bnBlX2N0eF9waHlzOworCWNyeXB0LT5pY3ZfcmV2X2FlcyA9IGRpci0+bnBlX2N0eF9waHlzICsgc2l6ZW9mKHUzMik7CisJY3J5cHQtPm1vZGUgPSBOUEVfT1BfRU5DX0dFTl9LRVk7CisJY3J5cHQtPmluaXRfbGVuID0gZGlyLT5ucGVfY3R4X2lkeDsKKwljcnlwdC0+Y3RsX2ZsYWdzIHw9IENUTF9GTEFHX0dFTl9SRVZBRVM7CisKKwlhdG9taWNfaW5jKCZjdHgtPmNvbmZpZ3VyaW5nKTsKKwlxbWdyX3B1dF9lbnRyeShTRU5EX1FJRCwgY3J5cHRfdmlydDJwaHlzKGNyeXB0KSk7CisJQlVHX09OKHFtZ3Jfc3RhdF9vdmVyZmxvdyhTRU5EX1FJRCkpOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHNldHVwX2NpcGhlcihzdHJ1Y3QgY3J5cHRvX3RmbSAqdGZtLCBpbnQgZW5jcnlwdCwKKwkJY29uc3QgdTggKmtleSwgaW50IGtleV9sZW4pCit7CisJdTggKmNpbmZvOworCXUzMiBjaXBoZXJfY2ZnOworCXUzMiBrZXlsZW5fY2ZnID0gMDsKKwlzdHJ1Y3QgaXhfc2FfZGlyICpkaXI7CisJc3RydWN0IGl4cF9jdHggKmN0eCA9IGNyeXB0b190Zm1fY3R4KHRmbSk7CisJdTMyICpmbGFncyA9ICZ0Zm0tPmNydF9mbGFnczsKKworCWRpciA9IGVuY3J5cHQgPyAmY3R4LT5lbmNyeXB0IDogJmN0eC0+ZGVjcnlwdDsKKwljaW5mbyA9IGRpci0+bnBlX2N0eDsKKworCWlmIChlbmNyeXB0KSB7CisJCWNpcGhlcl9jZmcgPSBjaXBoZXJfY2ZnX2VuYyh0Zm0pOworCQlkaXItPm5wZV9tb2RlIHw9IE5QRV9PUF9DUllQVF9FTkNSWVBUOworCX0gZWxzZSB7CisJCWNpcGhlcl9jZmcgPSBjaXBoZXJfY2ZnX2RlYyh0Zm0pOworCX0KKwlpZiAoY2lwaGVyX2NmZyAmIE1PRF9BRVMpIHsKKwkJc3dpdGNoIChrZXlfbGVuKSB7CisJCQljYXNlIDE2OiBrZXlsZW5fY2ZnID0gTU9EX0FFUzEyOCB8IEtFWUxFTl8xMjg7IGJyZWFrOworCQkJY2FzZSAyNDoga2V5bGVuX2NmZyA9IE1PRF9BRVMxOTIgfCBLRVlMRU5fMTkyOyBicmVhazsKKwkJCWNhc2UgMzI6IGtleWxlbl9jZmcgPSBNT0RfQUVTMjU2IHwgS0VZTEVOXzI1NjsgYnJlYWs7CisJCQlkZWZhdWx0OgorCQkJCSpmbGFncyB8PSBDUllQVE9fVEZNX1JFU19CQURfS0VZX0xFTjsKKwkJCQlyZXR1cm4gLUVJTlZBTDsKKwkJfQorCQljaXBoZXJfY2ZnIHw9IGtleWxlbl9jZmc7CisJfSBlbHNlIGlmIChjaXBoZXJfY2ZnICYgTU9EXzNERVMpIHsKKwkJY29uc3QgdTMyICpLID0gKGNvbnN0IHUzMiAqKWtleTsKKwkJaWYgKHVubGlrZWx5KCEoKEtbMF0gXiBLWzJdKSB8IChLWzFdIF4gS1szXSkpIHx8CisJCQkgICAgICEoKEtbMl0gXiBLWzRdKSB8IChLWzNdIF4gS1s1XSkpKSkKKwkJeworCQkJKmZsYWdzIHw9IENSWVBUT19URk1fUkVTX0JBRF9LRVlfU0NIRUQ7CisJCQlyZXR1cm4gLUVJTlZBTDsKKwkJfQorCX0gZWxzZSB7CisJCXUzMiB0bXBbREVTX0VYUEtFWV9XT1JEU107CisJCWlmIChkZXNfZWtleSh0bXAsIGtleSkgPT0gMCkgeworCQkJKmZsYWdzIHw9IENSWVBUT19URk1fUkVTX1dFQUtfS0VZOworCQl9CisJfQorCS8qIHdyaXRlIGNmZyB3b3JkIHRvIGNyeXB0aW5mbyAqLworCSoodTMyKiljaW5mbyA9IGNwdV90b19iZTMyKGNpcGhlcl9jZmcpOworCWNpbmZvICs9IHNpemVvZihjaXBoZXJfY2ZnKTsKKworCS8qIHdyaXRlIGNpcGhlciBrZXkgdG8gY3J5cHRpbmZvICovCisJbWVtY3B5KGNpbmZvLCBrZXksIGtleV9sZW4pOworCS8qIE5QRSB3YW50cyBrZXlsZW4gc2V0IHRvIERFUzNfRURFX0tFWV9TSVpFIGV2ZW4gZm9yIHNpbmdsZSBERVMgKi8KKwlpZiAoa2V5X2xlbiA8IERFUzNfRURFX0tFWV9TSVpFICYmICEoY2lwaGVyX2NmZyAmIE1PRF9BRVMpKSB7CisJCW1lbXNldChjaW5mbyArIGtleV9sZW4sIDAsIERFUzNfRURFX0tFWV9TSVpFIC1rZXlfbGVuKTsKKwkJa2V5X2xlbiA9IERFUzNfRURFX0tFWV9TSVpFOworCX0KKwlkaXItPm5wZV9jdHhfaWR4ID0gc2l6ZW9mKGNpcGhlcl9jZmcpICsga2V5X2xlbjsKKwlkaXItPm5wZV9tb2RlIHw9IE5QRV9PUF9DUllQVF9FTkFCTEU7CisJaWYgKChjaXBoZXJfY2ZnICYgTU9EX0FFUykgJiYgIWVuY3J5cHQpIHsKKwkJcmV0dXJuIGdlbl9yZXZfYWVzX2tleSh0Zm0pOworCX0KKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjb3VudF9zZyhzdHJ1Y3Qgc2NhdHRlcmxpc3QgKnNnLCBpbnQgbmJ5dGVzKQoreworCWludCBpOworCWZvciAoaSA9IDA7IG5ieXRlcyA+IDA7IGkrKywgc2cgPSBzZ19uZXh0KHNnKSkKKwkJbmJ5dGVzIC09IHNnLT5sZW5ndGg7CisJcmV0dXJuIGk7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgYnVmZmVyX2Rlc2MgKmNoYWludXBfYnVmZmVycyhzdHJ1Y3Qgc2NhdHRlcmxpc3QgKnNnLAorCQkJdW5zaWduZWQgbmJ5dGVzLCBzdHJ1Y3QgYnVmZmVyX2Rlc2MgKmJ1ZiwgZ2ZwX3QgZmxhZ3MpCit7CisJaW50IG5lbnRzID0gMDsKKworCXdoaWxlIChuYnl0ZXMgPiAwKSB7CisJCXN0cnVjdCBidWZmZXJfZGVzYyAqbmV4dF9idWY7CisJCXUzMiBuZXh0X2J1Zl9waHlzOworCQl1bnNpZ25lZCBsZW4gPSBtaW4obmJ5dGVzLCBzZ19kbWFfbGVuKHNnKSk7CisKKwkJbmVudHMrKzsKKwkJbmJ5dGVzIC09IGxlbjsKKwkJaWYgKCFidWYtPnBoeXNfYWRkcikgeworCQkJYnVmLT5waHlzX2FkZHIgPSBzZ19kbWFfYWRkcmVzcyhzZyk7CisJCQlidWYtPmJ1Zl9sZW4gPSBsZW47CisJCQlidWYtPm5leHQgPSBOVUxMOworCQkJYnVmLT5waHlzX25leHQgPSAwOworCQkJZ290byBuZXh0OworCQl9CisJCS8qIFR3byBjb25zZWN1dGl2ZSBjaHVua3Mgb24gb25lIHBhZ2UgbWF5IGJlIGhhbmRsZWQgYnkgdGhlIG9sZAorCQkgKiBidWZmZXIgZGVzY3JpcHRvciwgaW5jcmVhc2VkIGJ5IHRoZSBsZW5ndGggb2YgdGhlIG5ldyBvbmUKKwkJICovCisJCWlmIChzZ19kbWFfYWRkcmVzcyhzZykgPT0gYnVmLT5waHlzX2FkZHIgKyBidWYtPmJ1Zl9sZW4pIHsKKwkJCWJ1Zi0+YnVmX2xlbiArPSBsZW47CisJCQlnb3RvIG5leHQ7CisJCX0KKwkJbmV4dF9idWYgPSBkbWFfcG9vbF9hbGxvYyhidWZmZXJfcG9vbCwgZmxhZ3MsICZuZXh0X2J1Zl9waHlzKTsKKwkJaWYgKCFuZXh0X2J1ZikKKwkJCXJldHVybiBOVUxMOworCQlidWYtPm5leHQgPSBuZXh0X2J1ZjsKKwkJYnVmLT5waHlzX25leHQgPSBuZXh0X2J1Zl9waHlzOworCisJCWJ1ZiA9IG5leHRfYnVmOworCQlidWYtPm5leHQgPSBOVUxMOworCQlidWYtPnBoeXNfbmV4dCA9IDA7CisJCWJ1Zi0+cGh5c19hZGRyID0gc2dfZG1hX2FkZHJlc3Moc2cpOworCQlidWYtPmJ1Zl9sZW4gPSBsZW47CituZXh0OgorCQlpZiAobmJ5dGVzID4gMCkgeworCQkJc2cgPSBzZ19uZXh0KHNnKTsKKwkJfQorCX0KKwlyZXR1cm4gYnVmOworfQorCitzdGF0aWMgaW50IGFibGtfc2V0a2V5KHN0cnVjdCBjcnlwdG9fYWJsa2NpcGhlciAqdGZtLCBjb25zdCB1OCAqa2V5LAorCQkJdW5zaWduZWQgaW50IGtleV9sZW4pCit7CisJc3RydWN0IGl4cF9jdHggKmN0eCA9IGNyeXB0b19hYmxrY2lwaGVyX2N0eCh0Zm0pOworCXUzMiAqZmxhZ3MgPSAmdGZtLT5iYXNlLmNydF9mbGFnczsKKwlpbnQgcmV0OworCisJaW5pdF9jb21wbGV0aW9uKCZjdHgtPmNvbXBsZXRpb24pOworCWF0b21pY19pbmMoJmN0eC0+Y29uZmlndXJpbmcpOworCisJcmVzZXRfc2FfZGlyKCZjdHgtPmVuY3J5cHQpOworCXJlc2V0X3NhX2RpcigmY3R4LT5kZWNyeXB0KTsKKworCWN0eC0+ZW5jcnlwdC5ucGVfbW9kZSA9IE5QRV9PUF9ITUFDX0RJU0FCTEU7CisJY3R4LT5kZWNyeXB0Lm5wZV9tb2RlID0gTlBFX09QX0hNQUNfRElTQUJMRTsKKworCXJldCA9IHNldHVwX2NpcGhlcigmdGZtLT5iYXNlLCAwLCBrZXksIGtleV9sZW4pOworCWlmIChyZXQpCisJCWdvdG8gb3V0OworCXJldCA9IHNldHVwX2NpcGhlcigmdGZtLT5iYXNlLCAxLCBrZXksIGtleV9sZW4pOworCWlmIChyZXQpCisJCWdvdG8gb3V0OworCisJaWYgKCpmbGFncyAmIENSWVBUT19URk1fUkVTX1dFQUtfS0VZKSB7CisJCWlmICgqZmxhZ3MgJiBDUllQVE9fVEZNX1JFUV9XRUFLX0tFWSkgeworCQkJcmV0ID0gLUVJTlZBTDsKKwkJfSBlbHNlIHsKKwkJCSpmbGFncyAmPSB+Q1JZUFRPX1RGTV9SRVNfV0VBS19LRVk7CisJCX0KKwl9CitvdXQ6CisJaWYgKCFhdG9taWNfZGVjX2FuZF90ZXN0KCZjdHgtPmNvbmZpZ3VyaW5nKSkKKwkJd2FpdF9mb3JfY29tcGxldGlvbigmY3R4LT5jb21wbGV0aW9uKTsKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgaW50IGFibGtfcmZjMzY4Nl9zZXRrZXkoc3RydWN0IGNyeXB0b19hYmxrY2lwaGVyICp0Zm0sIGNvbnN0IHU4ICprZXksCisJCXVuc2lnbmVkIGludCBrZXlfbGVuKQoreworCXN0cnVjdCBpeHBfY3R4ICpjdHggPSBjcnlwdG9fYWJsa2NpcGhlcl9jdHgodGZtKTsKKworCS8qIHRoZSBub25jZSBpcyBzdG9yZWQgaW4gYnl0ZXMgYXQgZW5kIG9mIGtleSAqLworCWlmIChrZXlfbGVuIDwgQ1RSX1JGQzM2ODZfTk9OQ0VfU0laRSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwltZW1jcHkoY3R4LT5ub25jZSwga2V5ICsgKGtleV9sZW4gLSBDVFJfUkZDMzY4Nl9OT05DRV9TSVpFKSwKKwkJCUNUUl9SRkMzNjg2X05PTkNFX1NJWkUpOworCisJa2V5X2xlbiAtPSBDVFJfUkZDMzY4Nl9OT05DRV9TSVpFOworCXJldHVybiBhYmxrX3NldGtleSh0Zm0sIGtleSwga2V5X2xlbik7Cit9CisKK3N0YXRpYyBpbnQgYWJsa19wZXJmb3JtKHN0cnVjdCBhYmxrY2lwaGVyX3JlcXVlc3QgKnJlcSwgaW50IGVuY3J5cHQpCit7CisJc3RydWN0IGNyeXB0b19hYmxrY2lwaGVyICp0Zm0gPSBjcnlwdG9fYWJsa2NpcGhlcl9yZXF0Zm0ocmVxKTsKKwlzdHJ1Y3QgaXhwX2N0eCAqY3R4ID0gY3J5cHRvX2FibGtjaXBoZXJfY3R4KHRmbSk7CisJdW5zaWduZWQgaXZzaXplID0gY3J5cHRvX2FibGtjaXBoZXJfaXZzaXplKHRmbSk7CisJaW50IHJldCA9IC1FTk9NRU07CisJc3RydWN0IGl4X3NhX2RpciAqZGlyOworCXN0cnVjdCBjcnlwdF9jdGwgKmNyeXB0OworCXVuc2lnbmVkIGludCBuYnl0ZXMgPSByZXEtPm5ieXRlcywgbmVudHM7CisJZW51bSBkbWFfZGF0YV9kaXJlY3Rpb24gc3JjX2RpcmVjdGlvbiA9IERNQV9CSURJUkVDVElPTkFMOworCXN0cnVjdCBhYmxrX2N0eCAqcmVxX2N0eCA9IGFibGtjaXBoZXJfcmVxdWVzdF9jdHgocmVxKTsKKwlnZnBfdCBmbGFncyA9IHJlcS0+YmFzZS5mbGFncyAmIENSWVBUT19URk1fUkVRX01BWV9TTEVFUCA/CisJCQkJR0ZQX0tFUk5FTCA6IEdGUF9BVE9NSUM7CisKKwlpZiAocW1ncl9zdGF0X2Z1bGwoU0VORF9RSUQpKQorCQlyZXR1cm4gLUVBR0FJTjsKKwlpZiAoYXRvbWljX3JlYWQoJmN0eC0+Y29uZmlndXJpbmcpKQorCQlyZXR1cm4gLUVBR0FJTjsKKworCWRpciA9IGVuY3J5cHQgPyAmY3R4LT5lbmNyeXB0IDogJmN0eC0+ZGVjcnlwdDsKKworCWNyeXB0ID0gZ2V0X2NyeXB0X2Rlc2MoKTsKKwlpZiAoIWNyeXB0KQorCQlyZXR1cm4gcmV0OworCisJY3J5cHQtPmRhdGEuYWJsa19yZXEgPSByZXE7CisJY3J5cHQtPmNyeXB0b19jdHggPSBkaXItPm5wZV9jdHhfcGh5czsKKwljcnlwdC0+bW9kZSA9IGRpci0+bnBlX21vZGU7CisJY3J5cHQtPmluaXRfbGVuID0gZGlyLT5ucGVfY3R4X2lkeDsKKworCWNyeXB0LT5jcnlwdF9vZmZzID0gMDsKKwljcnlwdC0+Y3J5cHRfbGVuID0gbmJ5dGVzOworCisJQlVHX09OKGl2c2l6ZSAmJiAhcmVxLT5pbmZvKTsKKwltZW1jcHkoY3J5cHQtPml2LCByZXEtPmluZm8sIGl2c2l6ZSk7CisJaWYgKHJlcS0+c3JjICE9IHJlcS0+ZHN0KSB7CisJCWNyeXB0LT5tb2RlIHw9IE5QRV9PUF9OT1RfSU5fUExBQ0U7CisJCW5lbnRzID0gY291bnRfc2cocmVxLT5kc3QsIG5ieXRlcyk7CisJCS8qIFRoaXMgd2FzIG5ldmVyIHRlc3RlZCBieSBJbnRlbAorCQkgKiBmb3IgbW9yZSB0aGFuIG9uZSBkc3QgYnVmZmVyLCBJIHRoaW5rLiAqLworCQlCVUdfT04obmVudHMgIT0gMSk7CisJCXJlcV9jdHgtPmRzdF9uZW50cyA9IG5lbnRzOworCQlkbWFfbWFwX3NnKGRldiwgcmVxLT5kc3QsIG5lbnRzLCBETUFfRlJPTV9ERVZJQ0UpOworCQlyZXFfY3R4LT5kc3QgPSBkbWFfcG9vbF9hbGxvYyhidWZmZXJfcG9vbCwgZmxhZ3MsJmNyeXB0LT5kc3RfYnVmKTsKKwkJaWYgKCFyZXFfY3R4LT5kc3QpCisJCQlnb3RvIHVubWFwX3NnX2Rlc3Q7CisJCXJlcV9jdHgtPmRzdC0+cGh5c19hZGRyID0gMDsKKwkJaWYgKCFjaGFpbnVwX2J1ZmZlcnMocmVxLT5kc3QsIG5ieXRlcywgcmVxX2N0eC0+ZHN0LCBmbGFncykpCisJCQlnb3RvIGZyZWVfYnVmX2Rlc3Q7CisJCXNyY19kaXJlY3Rpb24gPSBETUFfVE9fREVWSUNFOworCX0gZWxzZSB7CisJCXJlcV9jdHgtPmRzdCA9IE5VTEw7CisJCXJlcV9jdHgtPmRzdF9uZW50cyA9IDA7CisJfQorCW5lbnRzID0gY291bnRfc2cocmVxLT5zcmMsIG5ieXRlcyk7CisJcmVxX2N0eC0+c3JjX25lbnRzID0gbmVudHM7CisJZG1hX21hcF9zZyhkZXYsIHJlcS0+c3JjLCBuZW50cywgc3JjX2RpcmVjdGlvbik7CisKKwlyZXFfY3R4LT5zcmMgPSBkbWFfcG9vbF9hbGxvYyhidWZmZXJfcG9vbCwgZmxhZ3MsICZjcnlwdC0+c3JjX2J1Zik7CisJaWYgKCFyZXFfY3R4LT5zcmMpCisJCWdvdG8gdW5tYXBfc2dfc3JjOworCXJlcV9jdHgtPnNyYy0+cGh5c19hZGRyID0gMDsKKwlpZiAoIWNoYWludXBfYnVmZmVycyhyZXEtPnNyYywgbmJ5dGVzLCByZXFfY3R4LT5zcmMsIGZsYWdzKSkKKwkJZ290byBmcmVlX2J1Zl9zcmM7CisKKwljcnlwdC0+Y3RsX2ZsYWdzIHw9IENUTF9GTEFHX1BFUkZPUk1fQUJMSzsKKwlxbWdyX3B1dF9lbnRyeShTRU5EX1FJRCwgY3J5cHRfdmlydDJwaHlzKGNyeXB0KSk7CisJQlVHX09OKHFtZ3Jfc3RhdF9vdmVyZmxvdyhTRU5EX1FJRCkpOworCXJldHVybiAtRUlOUFJPR1JFU1M7CisKK2ZyZWVfYnVmX3NyYzoKKwlmcmVlX2J1Zl9jaGFpbihyZXFfY3R4LT5zcmMsIGNyeXB0LT5zcmNfYnVmKTsKK3VubWFwX3NnX3NyYzoKKwlkbWFfdW5tYXBfc2coZGV2LCByZXEtPnNyYywgcmVxX2N0eC0+c3JjX25lbnRzLCBzcmNfZGlyZWN0aW9uKTsKK2ZyZWVfYnVmX2Rlc3Q6CisJaWYgKHJlcS0+c3JjICE9IHJlcS0+ZHN0KSB7CisJCWZyZWVfYnVmX2NoYWluKHJlcV9jdHgtPmRzdCwgY3J5cHQtPmRzdF9idWYpOwordW5tYXBfc2dfZGVzdDoKKwkJZG1hX3VubWFwX3NnKGRldiwgcmVxLT5zcmMsIHJlcV9jdHgtPmRzdF9uZW50cywKKwkJCURNQV9GUk9NX0RFVklDRSk7CisJfQorCWNyeXB0LT5jdGxfZmxhZ3MgPSBDVExfRkxBR19VTlVTRUQ7CisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIGludCBhYmxrX2VuY3J5cHQoc3RydWN0IGFibGtjaXBoZXJfcmVxdWVzdCAqcmVxKQoreworCXJldHVybiBhYmxrX3BlcmZvcm0ocmVxLCAxKTsKK30KKworc3RhdGljIGludCBhYmxrX2RlY3J5cHQoc3RydWN0IGFibGtjaXBoZXJfcmVxdWVzdCAqcmVxKQoreworCXJldHVybiBhYmxrX3BlcmZvcm0ocmVxLCAwKTsKK30KKworc3RhdGljIGludCBhYmxrX3JmYzM2ODZfY3J5cHQoc3RydWN0IGFibGtjaXBoZXJfcmVxdWVzdCAqcmVxKQoreworCXN0cnVjdCBjcnlwdG9fYWJsa2NpcGhlciAqdGZtID0gY3J5cHRvX2FibGtjaXBoZXJfcmVxdGZtKHJlcSk7CisJc3RydWN0IGl4cF9jdHggKmN0eCA9IGNyeXB0b19hYmxrY2lwaGVyX2N0eCh0Zm0pOworCXU4IGl2W0NUUl9SRkMzNjg2X0JMT0NLX1NJWkVdOworCXU4ICppbmZvID0gcmVxLT5pbmZvOworCWludCByZXQ7CisKKwkvKiBzZXQgdXAgY291bnRlciBibG9jayAqLworICAgICAgICBtZW1jcHkoaXYsIGN0eC0+bm9uY2UsIENUUl9SRkMzNjg2X05PTkNFX1NJWkUpOworCW1lbWNweShpdiArIENUUl9SRkMzNjg2X05PTkNFX1NJWkUsIGluZm8sIENUUl9SRkMzNjg2X0lWX1NJWkUpOworCisJLyogaW5pdGlhbGl6ZSBjb3VudGVyIHBvcnRpb24gb2YgY291bnRlciBibG9jayAqLworCSooX19iZTMyICopKGl2ICsgQ1RSX1JGQzM2ODZfTk9OQ0VfU0laRSArIENUUl9SRkMzNjg2X0lWX1NJWkUpID0KKwkJY3B1X3RvX2JlMzIoMSk7CisKKwlyZXEtPmluZm8gPSBpdjsKKwlyZXQgPSBhYmxrX3BlcmZvcm0ocmVxLCAxKTsKKwlyZXEtPmluZm8gPSBpbmZvOworCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBpbnQgaG1hY19pbmNvbnNpc3RlbnQoc3RydWN0IHNjYXR0ZXJsaXN0ICpzZywgdW5zaWduZWQgc3RhcnQsCisJCXVuc2lnbmVkIGludCBuYnl0ZXMpCit7CisJaW50IG9mZnNldCA9IDA7CisKKwlpZiAoIW5ieXRlcykKKwkJcmV0dXJuIDA7CisKKwlmb3IgKDs7KSB7CisJCWlmIChzdGFydCA8IG9mZnNldCArIHNnLT5sZW5ndGgpCisJCQlicmVhazsKKworCQlvZmZzZXQgKz0gc2ctPmxlbmd0aDsKKwkJc2cgPSBzZ19uZXh0KHNnKTsKKwl9CisJcmV0dXJuIChzdGFydCArIG5ieXRlcyA+IG9mZnNldCArIHNnLT5sZW5ndGgpOworfQorCitzdGF0aWMgaW50IGFlYWRfcGVyZm9ybShzdHJ1Y3QgYWVhZF9yZXF1ZXN0ICpyZXEsIGludCBlbmNyeXB0LAorCQlpbnQgY3J5cHRvZmZzZXQsIGludCBlZmZfY3J5cHRsZW4sIHU4ICppdikKK3sKKwlzdHJ1Y3QgY3J5cHRvX2FlYWQgKnRmbSA9IGNyeXB0b19hZWFkX3JlcXRmbShyZXEpOworCXN0cnVjdCBpeHBfY3R4ICpjdHggPSBjcnlwdG9fYWVhZF9jdHgodGZtKTsKKwl1bnNpZ25lZCBpdnNpemUgPSBjcnlwdG9fYWVhZF9pdnNpemUodGZtKTsKKwl1bnNpZ25lZCBhdXRoc2l6ZSA9IGNyeXB0b19hZWFkX2F1dGhzaXplKHRmbSk7CisJaW50IHJldCA9IC1FTk9NRU07CisJc3RydWN0IGl4X3NhX2RpciAqZGlyOworCXN0cnVjdCBjcnlwdF9jdGwgKmNyeXB0OworCXVuc2lnbmVkIGludCBjcnlwdGxlbiwgbmVudHM7CisJc3RydWN0IGJ1ZmZlcl9kZXNjICpidWY7CisJc3RydWN0IGFlYWRfY3R4ICpyZXFfY3R4ID0gYWVhZF9yZXF1ZXN0X2N0eChyZXEpOworCWdmcF90IGZsYWdzID0gcmVxLT5iYXNlLmZsYWdzICYgQ1JZUFRPX1RGTV9SRVFfTUFZX1NMRUVQID8KKwkJCQlHRlBfS0VSTkVMIDogR0ZQX0FUT01JQzsKKworCWlmIChxbWdyX3N0YXRfZnVsbChTRU5EX1FJRCkpCisJCXJldHVybiAtRUFHQUlOOworCWlmIChhdG9taWNfcmVhZCgmY3R4LT5jb25maWd1cmluZykpCisJCXJldHVybiAtRUFHQUlOOworCisJaWYgKGVuY3J5cHQpIHsKKwkJZGlyID0gJmN0eC0+ZW5jcnlwdDsKKwkJY3J5cHRsZW4gPSByZXEtPmNyeXB0bGVuOworCX0gZWxzZSB7CisJCWRpciA9ICZjdHgtPmRlY3J5cHQ7CisJCS8qIHJlcS0+Y3J5cHRsZW4gaW5jbHVkZXMgdGhlIGF1dGhzaXplIHdoZW4gZGVjcnlwdGluZyAqLworCQljcnlwdGxlbiA9IHJlcS0+Y3J5cHRsZW4gLWF1dGhzaXplOworCQllZmZfY3J5cHRsZW4gLT0gYXV0aHNpemU7CisJfQorCWNyeXB0ID0gZ2V0X2NyeXB0X2Rlc2MoKTsKKwlpZiAoIWNyeXB0KQorCQlyZXR1cm4gcmV0OworCisJY3J5cHQtPmRhdGEuYWVhZF9yZXEgPSByZXE7CisJY3J5cHQtPmNyeXB0b19jdHggPSBkaXItPm5wZV9jdHhfcGh5czsKKwljcnlwdC0+bW9kZSA9IGRpci0+bnBlX21vZGU7CisJY3J5cHQtPmluaXRfbGVuID0gZGlyLT5ucGVfY3R4X2lkeDsKKworCWNyeXB0LT5jcnlwdF9vZmZzID0gY3J5cHRvZmZzZXQ7CisJY3J5cHQtPmNyeXB0X2xlbiA9IGVmZl9jcnlwdGxlbjsKKworCWNyeXB0LT5hdXRoX29mZnMgPSAwOworCWNyeXB0LT5hdXRoX2xlbiA9IHJlcS0+YXNzb2NsZW4gKyBpdnNpemUgKyBjcnlwdGxlbjsKKwlCVUdfT04oaXZzaXplICYmICFyZXEtPml2KTsKKwltZW1jcHkoY3J5cHQtPml2LCByZXEtPml2LCBpdnNpemUpOworCisJaWYgKHJlcS0+c3JjICE9IHJlcS0+ZHN0KSB7CisJCUJVRygpOyAvKiAtRU5PVFNVUCBiZWNhdXNlIG9mIG15IGxhenluZXNzICovCisJfQorCisJcmVxX2N0eC0+YnVmZmVyID0gZG1hX3Bvb2xfYWxsb2MoYnVmZmVyX3Bvb2wsIGZsYWdzLCAmY3J5cHQtPnNyY19idWYpOworCWlmICghcmVxX2N0eC0+YnVmZmVyKQorCQlnb3RvIG91dDsKKwlyZXFfY3R4LT5idWZmZXItPnBoeXNfYWRkciA9IDA7CisJLyogQVNTT0MgZGF0YSAqLworCW5lbnRzID0gY291bnRfc2cocmVxLT5hc3NvYywgcmVxLT5hc3NvY2xlbik7CisJcmVxX2N0eC0+YXNzb2NfbmVudHMgPSBuZW50czsKKwlkbWFfbWFwX3NnKGRldiwgcmVxLT5hc3NvYywgbmVudHMsIERNQV9UT19ERVZJQ0UpOworCWJ1ZiA9IGNoYWludXBfYnVmZmVycyhyZXEtPmFzc29jLCByZXEtPmFzc29jbGVuLCByZXFfY3R4LT5idWZmZXIsZmxhZ3MpOworCWlmICghYnVmKQorCQlnb3RvIHVubWFwX3NnX2Fzc29jOworCS8qIElWICovCisJc2dfaW5pdF90YWJsZSgmcmVxX2N0eC0+aXZsaXN0LCAxKTsKKwlzZ19zZXRfYnVmKCZyZXFfY3R4LT5pdmxpc3QsIGl2LCBpdnNpemUpOworCWRtYV9tYXBfc2coZGV2LCAmcmVxX2N0eC0+aXZsaXN0LCAxLCBETUFfQklESVJFQ1RJT05BTCk7CisJYnVmID0gY2hhaW51cF9idWZmZXJzKCZyZXFfY3R4LT5pdmxpc3QsIGl2c2l6ZSwgYnVmLCBmbGFncyk7CisJaWYgKCFidWYpCisJCWdvdG8gdW5tYXBfc2dfaXY7CisJaWYgKHVubGlrZWx5KGhtYWNfaW5jb25zaXN0ZW50KHJlcS0+c3JjLCBjcnlwdGxlbiwgYXV0aHNpemUpKSkgeworCQkvKiBUaGUgMTIgaG1hYyBieXRlcyBhcmUgc2NhdHRlcmVkLAorCQkgKiB3ZSBuZWVkIHRvIGNvcHkgdGhlbSBpbnRvIGEgc2FmZSBidWZmZXIgKi8KKwkJcmVxX2N0eC0+aG1hY192aXJ0ID0gZG1hX3Bvb2xfYWxsb2MoYnVmZmVyX3Bvb2wsIGZsYWdzLAorCQkJCSZjcnlwdC0+aWN2X3Jldl9hZXMpOworCQlpZiAodW5saWtlbHkoIXJlcV9jdHgtPmhtYWNfdmlydCkpCisJCQlnb3RvIHVubWFwX3NnX2l2OworCQlpZiAoIWVuY3J5cHQpIHsKKwkJCXNjYXR0ZXJ3YWxrX21hcF9hbmRfY29weShyZXFfY3R4LT5obWFjX3ZpcnQsCisJCQkJcmVxLT5zcmMsIGNyeXB0bGVuLCBhdXRoc2l6ZSwgMCk7CisJCX0KKwkJcmVxX2N0eC0+ZW5jcnlwdCA9IGVuY3J5cHQ7CisJfSBlbHNlIHsKKwkJcmVxX2N0eC0+aG1hY192aXJ0ID0gTlVMTDsKKwl9CisJLyogQ3J5cHQgKi8KKwluZW50cyA9IGNvdW50X3NnKHJlcS0+c3JjLCBjcnlwdGxlbiArIGF1dGhzaXplKTsKKwlyZXFfY3R4LT5zcmNfbmVudHMgPSBuZW50czsKKwlkbWFfbWFwX3NnKGRldiwgcmVxLT5zcmMsIG5lbnRzLCBETUFfQklESVJFQ1RJT05BTCk7CisJYnVmID0gY2hhaW51cF9idWZmZXJzKHJlcS0+c3JjLCBjcnlwdGxlbiArIGF1dGhzaXplLCBidWYsIGZsYWdzKTsKKwlpZiAoIWJ1ZikKKwkJZ290byB1bm1hcF9zZ19zcmM7CisJaWYgKCFyZXFfY3R4LT5obWFjX3ZpcnQpIHsKKwkJY3J5cHQtPmljdl9yZXZfYWVzID0gYnVmLT5waHlzX2FkZHIgKyBidWYtPmJ1Zl9sZW4gLSBhdXRoc2l6ZTsKKwl9CisJY3J5cHQtPmN0bF9mbGFncyB8PSBDVExfRkxBR19QRVJGT1JNX0FFQUQ7CisJcW1ncl9wdXRfZW50cnkoU0VORF9RSUQsIGNyeXB0X3ZpcnQycGh5cyhjcnlwdCkpOworCUJVR19PTihxbWdyX3N0YXRfb3ZlcmZsb3coU0VORF9RSUQpKTsKKwlyZXR1cm4gLUVJTlBST0dSRVNTOwordW5tYXBfc2dfc3JjOgorCWRtYV91bm1hcF9zZyhkZXYsIHJlcS0+c3JjLCByZXFfY3R4LT5zcmNfbmVudHMsIERNQV9CSURJUkVDVElPTkFMKTsKKwlpZiAocmVxX2N0eC0+aG1hY192aXJ0KSB7CisJCWRtYV9wb29sX2ZyZWUoYnVmZmVyX3Bvb2wsIHJlcV9jdHgtPmhtYWNfdmlydCwKKwkJCQljcnlwdC0+aWN2X3Jldl9hZXMpOworCX0KK3VubWFwX3NnX2l2OgorCWRtYV91bm1hcF9zZyhkZXYsICZyZXFfY3R4LT5pdmxpc3QsIDEsIERNQV9CSURJUkVDVElPTkFMKTsKK3VubWFwX3NnX2Fzc29jOgorCWRtYV91bm1hcF9zZyhkZXYsIHJlcS0+YXNzb2MsIHJlcV9jdHgtPmFzc29jX25lbnRzLCBETUFfVE9fREVWSUNFKTsKKwlmcmVlX2J1Zl9jaGFpbihyZXFfY3R4LT5idWZmZXIsIGNyeXB0LT5zcmNfYnVmKTsKK291dDoKKwljcnlwdC0+Y3RsX2ZsYWdzID0gQ1RMX0ZMQUdfVU5VU0VEOworCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBpbnQgYWVhZF9zZXR1cChzdHJ1Y3QgY3J5cHRvX2FlYWQgKnRmbSwgdW5zaWduZWQgaW50IGF1dGhzaXplKQoreworCXN0cnVjdCBpeHBfY3R4ICpjdHggPSBjcnlwdG9fYWVhZF9jdHgodGZtKTsKKwl1MzIgKmZsYWdzID0gJnRmbS0+YmFzZS5jcnRfZmxhZ3M7CisJdW5zaWduZWQgZGlnZXN0X2xlbiA9IGNyeXB0b19hZWFkX2FsZyh0Zm0pLT5tYXhhdXRoc2l6ZTsKKwlpbnQgcmV0OworCisJaWYgKCFjdHgtPmVuY2tleV9sZW4gJiYgIWN0eC0+YXV0aGtleV9sZW4pCisJCXJldHVybiAwOworCWluaXRfY29tcGxldGlvbigmY3R4LT5jb21wbGV0aW9uKTsKKwlhdG9taWNfaW5jKCZjdHgtPmNvbmZpZ3VyaW5nKTsKKworCXJlc2V0X3NhX2RpcigmY3R4LT5lbmNyeXB0KTsKKwlyZXNldF9zYV9kaXIoJmN0eC0+ZGVjcnlwdCk7CisKKwlyZXQgPSBzZXR1cF9jaXBoZXIoJnRmbS0+YmFzZSwgMCwgY3R4LT5lbmNrZXksIGN0eC0+ZW5ja2V5X2xlbik7CisJaWYgKHJldCkKKwkJZ290byBvdXQ7CisJcmV0ID0gc2V0dXBfY2lwaGVyKCZ0Zm0tPmJhc2UsIDEsIGN0eC0+ZW5ja2V5LCBjdHgtPmVuY2tleV9sZW4pOworCWlmIChyZXQpCisJCWdvdG8gb3V0OworCXJldCA9IHNldHVwX2F1dGgoJnRmbS0+YmFzZSwgMCwgYXV0aHNpemUsIGN0eC0+YXV0aGtleSwKKwkJCWN0eC0+YXV0aGtleV9sZW4sIGRpZ2VzdF9sZW4pOworCWlmIChyZXQpCisJCWdvdG8gb3V0OworCXJldCA9IHNldHVwX2F1dGgoJnRmbS0+YmFzZSwgMSwgYXV0aHNpemUsICBjdHgtPmF1dGhrZXksCisJCQljdHgtPmF1dGhrZXlfbGVuLCBkaWdlc3RfbGVuKTsKKwlpZiAocmV0KQorCQlnb3RvIG91dDsKKworCWlmICgqZmxhZ3MgJiBDUllQVE9fVEZNX1JFU19XRUFLX0tFWSkgeworCQlpZiAoKmZsYWdzICYgQ1JZUFRPX1RGTV9SRVFfV0VBS19LRVkpIHsKKwkJCXJldCA9IC1FSU5WQUw7CisJCQlnb3RvIG91dDsKKwkJfSBlbHNlIHsKKwkJCSpmbGFncyAmPSB+Q1JZUFRPX1RGTV9SRVNfV0VBS19LRVk7CisJCX0KKwl9CitvdXQ6CisJaWYgKCFhdG9taWNfZGVjX2FuZF90ZXN0KCZjdHgtPmNvbmZpZ3VyaW5nKSkKKwkJd2FpdF9mb3JfY29tcGxldGlvbigmY3R4LT5jb21wbGV0aW9uKTsKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgaW50IGFlYWRfc2V0YXV0aHNpemUoc3RydWN0IGNyeXB0b19hZWFkICp0Zm0sIHVuc2lnbmVkIGludCBhdXRoc2l6ZSkKK3sKKwlpbnQgbWF4ID0gY3J5cHRvX2FlYWRfYWxnKHRmbSktPm1heGF1dGhzaXplID4+IDI7CisKKwlpZiAoKGF1dGhzaXplPj4yKSA8IDEgfHwgKGF1dGhzaXplPj4yKSA+IG1heCB8fCAoYXV0aHNpemUgJiAzKSkKKwkJcmV0dXJuIC1FSU5WQUw7CisJcmV0dXJuIGFlYWRfc2V0dXAodGZtLCBhdXRoc2l6ZSk7Cit9CisKK3N0YXRpYyBpbnQgYWVhZF9zZXRrZXkoc3RydWN0IGNyeXB0b19hZWFkICp0Zm0sIGNvbnN0IHU4ICprZXksCisJCQl1bnNpZ25lZCBpbnQga2V5bGVuKQoreworCXN0cnVjdCBpeHBfY3R4ICpjdHggPSBjcnlwdG9fYWVhZF9jdHgodGZtKTsKKwlzdHJ1Y3QgcnRhdHRyICpydGEgPSAoc3RydWN0IHJ0YXR0ciAqKWtleTsKKwlzdHJ1Y3QgY3J5cHRvX2F1dGhlbmNfa2V5X3BhcmFtICpwYXJhbTsKKworCWlmICghUlRBX09LKHJ0YSwga2V5bGVuKSkKKwkJZ290byBiYWRrZXk7CisJaWYgKHJ0YS0+cnRhX3R5cGUgIT0gQ1JZUFRPX0FVVEhFTkNfS0VZQV9QQVJBTSkKKwkJZ290byBiYWRrZXk7CisJaWYgKFJUQV9QQVlMT0FEKHJ0YSkgPCBzaXplb2YoKnBhcmFtKSkKKwkJZ290byBiYWRrZXk7CisKKwlwYXJhbSA9IFJUQV9EQVRBKHJ0YSk7CisJY3R4LT5lbmNrZXlfbGVuID0gYmUzMl90b19jcHUocGFyYW0tPmVuY2tleWxlbik7CisKKwlrZXkgKz0gUlRBX0FMSUdOKHJ0YS0+cnRhX2xlbik7CisJa2V5bGVuIC09IFJUQV9BTElHTihydGEtPnJ0YV9sZW4pOworCisJaWYgKGtleWxlbiA8IGN0eC0+ZW5ja2V5X2xlbikKKwkJZ290byBiYWRrZXk7CisKKwljdHgtPmF1dGhrZXlfbGVuID0ga2V5bGVuIC0gY3R4LT5lbmNrZXlfbGVuOworCW1lbWNweShjdHgtPmVuY2tleSwga2V5ICsgY3R4LT5hdXRoa2V5X2xlbiwgY3R4LT5lbmNrZXlfbGVuKTsKKwltZW1jcHkoY3R4LT5hdXRoa2V5LCBrZXksIGN0eC0+YXV0aGtleV9sZW4pOworCisJcmV0dXJuIGFlYWRfc2V0dXAodGZtLCBjcnlwdG9fYWVhZF9hdXRoc2l6ZSh0Zm0pKTsKK2JhZGtleToKKwljdHgtPmVuY2tleV9sZW4gPSAwOworCWNyeXB0b19hZWFkX3NldF9mbGFncyh0Zm0sIENSWVBUT19URk1fUkVTX0JBRF9LRVlfTEVOKTsKKwlyZXR1cm4gLUVJTlZBTDsKK30KKworc3RhdGljIGludCBhZWFkX2VuY3J5cHQoc3RydWN0IGFlYWRfcmVxdWVzdCAqcmVxKQoreworCXVuc2lnbmVkIGl2c2l6ZSA9IGNyeXB0b19hZWFkX2l2c2l6ZShjcnlwdG9fYWVhZF9yZXF0Zm0ocmVxKSk7CisJcmV0dXJuIGFlYWRfcGVyZm9ybShyZXEsIDEsIHJlcS0+YXNzb2NsZW4gKyBpdnNpemUsCisJCQlyZXEtPmNyeXB0bGVuLCByZXEtPml2KTsKK30KKworc3RhdGljIGludCBhZWFkX2RlY3J5cHQoc3RydWN0IGFlYWRfcmVxdWVzdCAqcmVxKQoreworCXVuc2lnbmVkIGl2c2l6ZSA9IGNyeXB0b19hZWFkX2l2c2l6ZShjcnlwdG9fYWVhZF9yZXF0Zm0ocmVxKSk7CisJcmV0dXJuIGFlYWRfcGVyZm9ybShyZXEsIDAsIHJlcS0+YXNzb2NsZW4gKyBpdnNpemUsCisJCQlyZXEtPmNyeXB0bGVuLCByZXEtPml2KTsKK30KKworc3RhdGljIGludCBhZWFkX2dpdmVuY3J5cHQoc3RydWN0IGFlYWRfZ2l2Y3J5cHRfcmVxdWVzdCAqcmVxKQoreworCXN0cnVjdCBjcnlwdG9fYWVhZCAqdGZtID0gYWVhZF9naXZjcnlwdF9yZXF0Zm0ocmVxKTsKKwlzdHJ1Y3QgaXhwX2N0eCAqY3R4ID0gY3J5cHRvX2FlYWRfY3R4KHRmbSk7CisJdW5zaWduZWQgbGVuLCBpdnNpemUgPSBjcnlwdG9fYWVhZF9pdnNpemUodGZtKTsKKwlfX2JlNjQgc2VxOworCisJLyogY29waWVkIGZyb20gZXNlcWl2LmMgKi8KKwlpZiAoIWN0eC0+c2FsdGVkKSB7CisJCWdldF9yYW5kb21fYnl0ZXMoY3R4LT5zYWx0LCBpdnNpemUpOworCQljdHgtPnNhbHRlZCA9IDE7CisJfQorCW1lbWNweShyZXEtPmFyZXEuaXYsIGN0eC0+c2FsdCwgaXZzaXplKTsKKwlsZW4gPSBpdnNpemU7CisJaWYgKGl2c2l6ZSA+IHNpemVvZih1NjQpKSB7CisJCW1lbXNldChyZXEtPmdpdiwgMCwgaXZzaXplIC0gc2l6ZW9mKHU2NCkpOworCQlsZW4gPSBzaXplb2YodTY0KTsKKwl9CisJc2VxID0gY3B1X3RvX2JlNjQocmVxLT5zZXEpOworCW1lbWNweShyZXEtPmdpdiArIGl2c2l6ZSAtIGxlbiwgJnNlcSwgbGVuKTsKKwlyZXR1cm4gYWVhZF9wZXJmb3JtKCZyZXEtPmFyZXEsIDEsIHJlcS0+YXJlcS5hc3NvY2xlbiwKKwkJCXJlcS0+YXJlcS5jcnlwdGxlbiAraXZzaXplLCByZXEtPmdpdik7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgaXhwX2FsZyBpeHA0eHhfYWxnb3NbXSA9IHsKK3sKKwkuY3J5cHRvCT0geworCQkuY3JhX25hbWUJPSAiY2JjKGRlcykiLAorCQkuY3JhX2Jsb2Nrc2l6ZQk9IERFU19CTE9DS19TSVpFLAorCQkuY3JhX3UJCT0geyAuYWJsa2NpcGhlciA9IHsKKwkJCS5taW5fa2V5c2l6ZQk9IERFU19LRVlfU0laRSwKKwkJCS5tYXhfa2V5c2l6ZQk9IERFU19LRVlfU0laRSwKKwkJCS5pdnNpemUJCT0gREVTX0JMT0NLX1NJWkUsCisJCQkuZ2VuaXYJCT0gImVzZXFpdiIsCisJCQl9CisJCX0KKwl9LAorCS5jZmdfZW5jID0gQ0lQSF9FTkNSIHwgTU9EX0RFUyB8IE1PRF9DQkNfRU5DIHwgS0VZTEVOXzE5MiwKKwkuY2ZnX2RlYyA9IENJUEhfREVDUiB8IE1PRF9ERVMgfCBNT0RfQ0JDX0RFQyB8IEtFWUxFTl8xOTIsCisKK30sIHsKKwkuY3J5cHRvCT0geworCQkuY3JhX25hbWUJPSAiZWNiKGRlcykiLAorCQkuY3JhX2Jsb2Nrc2l6ZQk9IERFU19CTE9DS19TSVpFLAorCQkuY3JhX3UJCT0geyAuYWJsa2NpcGhlciA9IHsKKwkJCS5taW5fa2V5c2l6ZQk9IERFU19LRVlfU0laRSwKKwkJCS5tYXhfa2V5c2l6ZQk9IERFU19LRVlfU0laRSwKKwkJCX0KKwkJfQorCX0sCisJLmNmZ19lbmMgPSBDSVBIX0VOQ1IgfCBNT0RfREVTIHwgTU9EX0VDQiB8IEtFWUxFTl8xOTIsCisJLmNmZ19kZWMgPSBDSVBIX0RFQ1IgfCBNT0RfREVTIHwgTU9EX0VDQiB8IEtFWUxFTl8xOTIsCit9LCB7CisJLmNyeXB0bwk9IHsKKwkJLmNyYV9uYW1lCT0gImNiYyhkZXMzX2VkZSkiLAorCQkuY3JhX2Jsb2Nrc2l6ZQk9IERFUzNfRURFX0JMT0NLX1NJWkUsCisJCS5jcmFfdQkJPSB7IC5hYmxrY2lwaGVyID0geworCQkJLm1pbl9rZXlzaXplCT0gREVTM19FREVfS0VZX1NJWkUsCisJCQkubWF4X2tleXNpemUJPSBERVMzX0VERV9LRVlfU0laRSwKKwkJCS5pdnNpemUJCT0gREVTM19FREVfQkxPQ0tfU0laRSwKKwkJCS5nZW5pdgkJPSAiZXNlcWl2IiwKKwkJCX0KKwkJfQorCX0sCisJLmNmZ19lbmMgPSBDSVBIX0VOQ1IgfCBNT0RfM0RFUyB8IE1PRF9DQkNfRU5DIHwgS0VZTEVOXzE5MiwKKwkuY2ZnX2RlYyA9IENJUEhfREVDUiB8IE1PRF8zREVTIHwgTU9EX0NCQ19ERUMgfCBLRVlMRU5fMTkyLAorfSwgeworCS5jcnlwdG8JPSB7CisJCS5jcmFfbmFtZQk9ICJlY2IoZGVzM19lZGUpIiwKKwkJLmNyYV9ibG9ja3NpemUJPSBERVMzX0VERV9CTE9DS19TSVpFLAorCQkuY3JhX3UJCT0geyAuYWJsa2NpcGhlciA9IHsKKwkJCS5taW5fa2V5c2l6ZQk9IERFUzNfRURFX0tFWV9TSVpFLAorCQkJLm1heF9rZXlzaXplCT0gREVTM19FREVfS0VZX1NJWkUsCisJCQl9CisJCX0KKwl9LAorCS5jZmdfZW5jID0gQ0lQSF9FTkNSIHwgTU9EXzNERVMgfCBNT0RfRUNCIHwgS0VZTEVOXzE5MiwKKwkuY2ZnX2RlYyA9IENJUEhfREVDUiB8IE1PRF8zREVTIHwgTU9EX0VDQiB8IEtFWUxFTl8xOTIsCit9LCB7CisJLmNyeXB0bwk9IHsKKwkJLmNyYV9uYW1lCT0gImNiYyhhZXMpIiwKKwkJLmNyYV9ibG9ja3NpemUJPSBBRVNfQkxPQ0tfU0laRSwKKwkJLmNyYV91CQk9IHsgLmFibGtjaXBoZXIgPSB7CisJCQkubWluX2tleXNpemUJPSBBRVNfTUlOX0tFWV9TSVpFLAorCQkJLm1heF9rZXlzaXplCT0gQUVTX01BWF9LRVlfU0laRSwKKwkJCS5pdnNpemUJCT0gQUVTX0JMT0NLX1NJWkUsCisJCQkuZ2VuaXYJCT0gImVzZXFpdiIsCisJCQl9CisJCX0KKwl9LAorCS5jZmdfZW5jID0gQ0lQSF9FTkNSIHwgTU9EX0FFUyB8IE1PRF9DQkNfRU5DLAorCS5jZmdfZGVjID0gQ0lQSF9ERUNSIHwgTU9EX0FFUyB8IE1PRF9DQkNfREVDLAorfSwgeworCS5jcnlwdG8JPSB7CisJCS5jcmFfbmFtZQk9ICJlY2IoYWVzKSIsCisJCS5jcmFfYmxvY2tzaXplCT0gQUVTX0JMT0NLX1NJWkUsCisJCS5jcmFfdQkJPSB7IC5hYmxrY2lwaGVyID0geworCQkJLm1pbl9rZXlzaXplCT0gQUVTX01JTl9LRVlfU0laRSwKKwkJCS5tYXhfa2V5c2l6ZQk9IEFFU19NQVhfS0VZX1NJWkUsCisJCQl9CisJCX0KKwl9LAorCS5jZmdfZW5jID0gQ0lQSF9FTkNSIHwgTU9EX0FFUyB8IE1PRF9FQ0IsCisJLmNmZ19kZWMgPSBDSVBIX0RFQ1IgfCBNT0RfQUVTIHwgTU9EX0VDQiwKK30sIHsKKwkuY3J5cHRvCT0geworCQkuY3JhX25hbWUJPSAiY3RyKGFlcykiLAorCQkuY3JhX2Jsb2Nrc2l6ZQk9IEFFU19CTE9DS19TSVpFLAorCQkuY3JhX3UJCT0geyAuYWJsa2NpcGhlciA9IHsKKwkJCS5taW5fa2V5c2l6ZQk9IEFFU19NSU5fS0VZX1NJWkUsCisJCQkubWF4X2tleXNpemUJPSBBRVNfTUFYX0tFWV9TSVpFLAorCQkJLml2c2l6ZQkJPSBBRVNfQkxPQ0tfU0laRSwKKwkJCS5nZW5pdgkJPSAiZXNlcWl2IiwKKwkJCX0KKwkJfQorCX0sCisJLmNmZ19lbmMgPSBDSVBIX0VOQ1IgfCBNT0RfQUVTIHwgTU9EX0NUUiwKKwkuY2ZnX2RlYyA9IENJUEhfRU5DUiB8IE1PRF9BRVMgfCBNT0RfQ1RSLAorfSwgeworCS5jcnlwdG8JPSB7CisJCS5jcmFfbmFtZQk9ICJyZmMzNjg2KGN0cihhZXMpKSIsCisJCS5jcmFfYmxvY2tzaXplCT0gQUVTX0JMT0NLX1NJWkUsCisJCS5jcmFfdQkJPSB7IC5hYmxrY2lwaGVyID0geworCQkJLm1pbl9rZXlzaXplCT0gQUVTX01JTl9LRVlfU0laRSwKKwkJCS5tYXhfa2V5c2l6ZQk9IEFFU19NQVhfS0VZX1NJWkUsCisJCQkuaXZzaXplCQk9IEFFU19CTE9DS19TSVpFLAorCQkJLmdlbml2CQk9ICJlc2VxaXYiLAorCQkJLnNldGtleQkJPSBhYmxrX3JmYzM2ODZfc2V0a2V5LAorCQkJLmVuY3J5cHQJPSBhYmxrX3JmYzM2ODZfY3J5cHQsCisJCQkuZGVjcnlwdAk9IGFibGtfcmZjMzY4Nl9jcnlwdCB9CisJCX0KKwl9LAorCS5jZmdfZW5jID0gQ0lQSF9FTkNSIHwgTU9EX0FFUyB8IE1PRF9DVFIsCisJLmNmZ19kZWMgPSBDSVBIX0VOQ1IgfCBNT0RfQUVTIHwgTU9EX0NUUiwKK30sIHsKKwkuY3J5cHRvCT0geworCQkuY3JhX25hbWUJPSAiYXV0aGVuYyhobWFjKG1kNSksY2JjKGRlcykpIiwKKwkJLmNyYV9ibG9ja3NpemUJPSBERVNfQkxPQ0tfU0laRSwKKwkJLmNyYV91CQk9IHsgLmFlYWQgPSB7CisJCQkuaXZzaXplCQk9IERFU19CTE9DS19TSVpFLAorCQkJLm1heGF1dGhzaXplCT0gTUQ1X0RJR0VTVF9TSVpFLAorCQkJfQorCQl9CisJfSwKKwkuaGFzaCA9ICZoYXNoX2FsZ19tZDUsCisJLmNmZ19lbmMgPSBDSVBIX0VOQ1IgfCBNT0RfREVTIHwgTU9EX0NCQ19FTkMgfCBLRVlMRU5fMTkyLAorCS5jZmdfZGVjID0gQ0lQSF9ERUNSIHwgTU9EX0RFUyB8IE1PRF9DQkNfREVDIHwgS0VZTEVOXzE5MiwKK30sIHsKKwkuY3J5cHRvCT0geworCQkuY3JhX25hbWUJPSAiYXV0aGVuYyhobWFjKG1kNSksY2JjKGRlczNfZWRlKSkiLAorCQkuY3JhX2Jsb2Nrc2l6ZQk9IERFUzNfRURFX0JMT0NLX1NJWkUsCisJCS5jcmFfdQkJPSB7IC5hZWFkID0geworCQkJLml2c2l6ZQkJPSBERVMzX0VERV9CTE9DS19TSVpFLAorCQkJLm1heGF1dGhzaXplCT0gTUQ1X0RJR0VTVF9TSVpFLAorCQkJfQorCQl9CisJfSwKKwkuaGFzaCA9ICZoYXNoX2FsZ19tZDUsCisJLmNmZ19lbmMgPSBDSVBIX0VOQ1IgfCBNT0RfM0RFUyB8IE1PRF9DQkNfRU5DIHwgS0VZTEVOXzE5MiwKKwkuY2ZnX2RlYyA9IENJUEhfREVDUiB8IE1PRF8zREVTIHwgTU9EX0NCQ19ERUMgfCBLRVlMRU5fMTkyLAorfSwgeworCS5jcnlwdG8JPSB7CisJCS5jcmFfbmFtZQk9ICJhdXRoZW5jKGhtYWMoc2hhMSksY2JjKGRlcykpIiwKKwkJLmNyYV9ibG9ja3NpemUJPSBERVNfQkxPQ0tfU0laRSwKKwkJLmNyYV91CQk9IHsgLmFlYWQgPSB7CisJCQkuaXZzaXplCQk9IERFU19CTE9DS19TSVpFLAorCQkJLm1heGF1dGhzaXplCT0gU0hBMV9ESUdFU1RfU0laRSwKKwkJCX0KKwkJfQorCX0sCisJLmhhc2ggPSAmaGFzaF9hbGdfc2hhMSwKKwkuY2ZnX2VuYyA9IENJUEhfRU5DUiB8IE1PRF9ERVMgfCBNT0RfQ0JDX0VOQyB8IEtFWUxFTl8xOTIsCisJLmNmZ19kZWMgPSBDSVBIX0RFQ1IgfCBNT0RfREVTIHwgTU9EX0NCQ19ERUMgfCBLRVlMRU5fMTkyLAorfSwgeworCS5jcnlwdG8JPSB7CisJCS5jcmFfbmFtZQk9ICJhdXRoZW5jKGhtYWMoc2hhMSksY2JjKGRlczNfZWRlKSkiLAorCQkuY3JhX2Jsb2Nrc2l6ZQk9IERFUzNfRURFX0JMT0NLX1NJWkUsCisJCS5jcmFfdQkJPSB7IC5hZWFkID0geworCQkJLml2c2l6ZQkJPSBERVMzX0VERV9CTE9DS19TSVpFLAorCQkJLm1heGF1dGhzaXplCT0gU0hBMV9ESUdFU1RfU0laRSwKKwkJCX0KKwkJfQorCX0sCisJLmhhc2ggPSAmaGFzaF9hbGdfc2hhMSwKKwkuY2ZnX2VuYyA9IENJUEhfRU5DUiB8IE1PRF8zREVTIHwgTU9EX0NCQ19FTkMgfCBLRVlMRU5fMTkyLAorCS5jZmdfZGVjID0gQ0lQSF9ERUNSIHwgTU9EXzNERVMgfCBNT0RfQ0JDX0RFQyB8IEtFWUxFTl8xOTIsCit9LCB7CisJLmNyeXB0bwk9IHsKKwkJLmNyYV9uYW1lCT0gImF1dGhlbmMoaG1hYyhtZDUpLGNiYyhhZXMpKSIsCisJCS5jcmFfYmxvY2tzaXplCT0gQUVTX0JMT0NLX1NJWkUsCisJCS5jcmFfdQkJPSB7IC5hZWFkID0geworCQkJLml2c2l6ZQkJPSBBRVNfQkxPQ0tfU0laRSwKKwkJCS5tYXhhdXRoc2l6ZQk9IE1ENV9ESUdFU1RfU0laRSwKKwkJCX0KKwkJfQorCX0sCisJLmhhc2ggPSAmaGFzaF9hbGdfbWQ1LAorCS5jZmdfZW5jID0gQ0lQSF9FTkNSIHwgTU9EX0FFUyB8IE1PRF9DQkNfRU5DLAorCS5jZmdfZGVjID0gQ0lQSF9ERUNSIHwgTU9EX0FFUyB8IE1PRF9DQkNfREVDLAorfSwgeworCS5jcnlwdG8JPSB7CisJCS5jcmFfbmFtZQk9ICJhdXRoZW5jKGhtYWMoc2hhMSksY2JjKGFlcykpIiwKKwkJLmNyYV9ibG9ja3NpemUJPSBBRVNfQkxPQ0tfU0laRSwKKwkJLmNyYV91CQk9IHsgLmFlYWQgPSB7CisJCQkuaXZzaXplCQk9IEFFU19CTE9DS19TSVpFLAorCQkJLm1heGF1dGhzaXplCT0gU0hBMV9ESUdFU1RfU0laRSwKKwkJCX0KKwkJfQorCX0sCisJLmhhc2ggPSAmaGFzaF9hbGdfc2hhMSwKKwkuY2ZnX2VuYyA9IENJUEhfRU5DUiB8IE1PRF9BRVMgfCBNT0RfQ0JDX0VOQywKKwkuY2ZnX2RlYyA9IENJUEhfREVDUiB8IE1PRF9BRVMgfCBNT0RfQ0JDX0RFQywKK30gfTsKKworI2RlZmluZSBJWFBfUE9TVEZJWCAiLWl4cDR4eCIKK3N0YXRpYyBpbnQgX19pbml0IGl4cF9tb2R1bGVfaW5pdCh2b2lkKQoreworCWludCBudW0gPSBBUlJBWV9TSVpFKGl4cDR4eF9hbGdvcyk7CisJaW50IGksZXJyIDsKKworCWlmIChwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJnBzZXVkb19kZXYpKQorCQlyZXR1cm4gLUVOT0RFVjsKKworCXNwaW5fbG9ja19pbml0KCZkZXNjX2xvY2spOworCXNwaW5fbG9ja19pbml0KCZlbWVyZ19sb2NrKTsKKworCWVyciA9IGluaXRfaXhwX2NyeXB0bygpOworCWlmIChlcnIpIHsKKwkJcGxhdGZvcm1fZGV2aWNlX3VucmVnaXN0ZXIoJnBzZXVkb19kZXYpOworCQlyZXR1cm4gZXJyOworCX0KKwlmb3IgKGk9MDsgaTwgbnVtOyBpKyspIHsKKwkJc3RydWN0IGNyeXB0b19hbGcgKmNyYSA9ICZpeHA0eHhfYWxnb3NbaV0uY3J5cHRvOworCisJCWlmIChzbnByaW50ZihjcmEtPmNyYV9kcml2ZXJfbmFtZSwgQ1JZUFRPX01BWF9BTEdfTkFNRSwKKwkJCSIlcyJJWFBfUE9TVEZJWCwgY3JhLT5jcmFfbmFtZSkgPj0KKwkJCUNSWVBUT19NQVhfQUxHX05BTUUpCisJCXsKKwkJCWNvbnRpbnVlOworCQl9CisJCWlmICghc3VwcG9ydF9hZXMgJiYgKGl4cDR4eF9hbGdvc1tpXS5jZmdfZW5jICYgTU9EX0FFUykpIHsKKwkJCWNvbnRpbnVlOworCQl9CisJCWlmICghaXhwNHh4X2FsZ29zW2ldLmhhc2gpIHsKKwkJCS8qIGJsb2NrIGNpcGhlcnMgKi8KKwkJCWNyYS0+Y3JhX3R5cGUgPSAmY3J5cHRvX2FibGtjaXBoZXJfdHlwZTsKKwkJCWNyYS0+Y3JhX2ZsYWdzID0gQ1JZUFRPX0FMR19UWVBFX0FCTEtDSVBIRVIgfAorCQkJCQkgQ1JZUFRPX0FMR19BU1lOQzsKKwkJCWlmICghY3JhLT5jcmFfYWJsa2NpcGhlci5zZXRrZXkpCisJCQkJY3JhLT5jcmFfYWJsa2NpcGhlci5zZXRrZXkgPSBhYmxrX3NldGtleTsKKwkJCWlmICghY3JhLT5jcmFfYWJsa2NpcGhlci5lbmNyeXB0KQorCQkJCWNyYS0+Y3JhX2FibGtjaXBoZXIuZW5jcnlwdCA9IGFibGtfZW5jcnlwdDsKKwkJCWlmICghY3JhLT5jcmFfYWJsa2NpcGhlci5kZWNyeXB0KQorCQkJCWNyYS0+Y3JhX2FibGtjaXBoZXIuZGVjcnlwdCA9IGFibGtfZGVjcnlwdDsKKwkJCWNyYS0+Y3JhX2luaXQgPSBpbml0X3RmbV9hYmxrOworCQl9IGVsc2UgeworCQkJLyogYXV0aGVuYyAqLworCQkJY3JhLT5jcmFfdHlwZSA9ICZjcnlwdG9fYWVhZF90eXBlOworCQkJY3JhLT5jcmFfZmxhZ3MgPSBDUllQVE9fQUxHX1RZUEVfQUVBRCB8CisJCQkJCSBDUllQVE9fQUxHX0FTWU5DOworCQkJY3JhLT5jcmFfYWVhZC5zZXRrZXkgPSBhZWFkX3NldGtleTsKKwkJCWNyYS0+Y3JhX2FlYWQuc2V0YXV0aHNpemUgPSBhZWFkX3NldGF1dGhzaXplOworCQkJY3JhLT5jcmFfYWVhZC5lbmNyeXB0ID0gYWVhZF9lbmNyeXB0OworCQkJY3JhLT5jcmFfYWVhZC5kZWNyeXB0ID0gYWVhZF9kZWNyeXB0OworCQkJY3JhLT5jcmFfYWVhZC5naXZlbmNyeXB0ID0gYWVhZF9naXZlbmNyeXB0OworCQkJY3JhLT5jcmFfaW5pdCA9IGluaXRfdGZtX2FlYWQ7CisJCX0KKwkJY3JhLT5jcmFfY3R4c2l6ZSA9IHNpemVvZihzdHJ1Y3QgaXhwX2N0eCk7CisJCWNyYS0+Y3JhX21vZHVsZSA9IFRISVNfTU9EVUxFOworCQljcmEtPmNyYV9hbGlnbm1hc2sgPSAzOworCQljcmEtPmNyYV9wcmlvcml0eSA9IDMwMDsKKwkJY3JhLT5jcmFfZXhpdCA9IGV4aXRfdGZtOworCQlpZiAoY3J5cHRvX3JlZ2lzdGVyX2FsZyhjcmEpKQorCQkJcHJpbnRrKEtFUk5fRVJSICJGYWlsZWQgdG8gcmVnaXN0ZXIgJyVzJ1xuIiwKKwkJCQljcmEtPmNyYV9uYW1lKTsKKwkJZWxzZQorCQkJaXhwNHh4X2FsZ29zW2ldLnJlZ2lzdGVyZWQgPSAxOworCX0KKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgX19leGl0IGl4cF9tb2R1bGVfZXhpdCh2b2lkKQoreworCWludCBudW0gPSBBUlJBWV9TSVpFKGl4cDR4eF9hbGdvcyk7CisJaW50IGk7CisKKwlmb3IgKGk9MDsgaTwgbnVtOyBpKyspIHsKKwkJaWYgKGl4cDR4eF9hbGdvc1tpXS5yZWdpc3RlcmVkKQorCQkJY3J5cHRvX3VucmVnaXN0ZXJfYWxnKCZpeHA0eHhfYWxnb3NbaV0uY3J5cHRvKTsKKwl9CisJcmVsZWFzZV9peHBfY3J5cHRvKCk7CisJcGxhdGZvcm1fZGV2aWNlX3VucmVnaXN0ZXIoJnBzZXVkb19kZXYpOworfQorCittb2R1bGVfaW5pdChpeHBfbW9kdWxlX2luaXQpOworbW9kdWxlX2V4aXQoaXhwX21vZHVsZV9leGl0KTsKKworTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOworTU9EVUxFX0FVVEhPUigiQ2hyaXN0aWFuIEhvaG5zdGFlZHQgPGNob2huc3RhZWR0QGlubm9taW5hdGUuY29tPiIpOworTU9EVUxFX0RFU0NSSVBUSU9OKCJJWFA0eHggaGFyZHdhcmUgY3J5cHRvIik7CisKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY3J5cHRvL3BhZGxvY2stYWVzLmMgYi9kcml2ZXJzL2NyeXB0by9wYWRsb2NrLWFlcy5jCmluZGV4IGJiMzBlYjkuLjU0YTJhMTYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvY3J5cHRvL3BhZGxvY2stYWVzLmMKKysrIGIvZHJpdmVycy9jcnlwdG8vcGFkbG9jay1hZXMuYwpAQCAtMzg1LDEyICszODUsMTIgQEAKIAlpbnQgcmV0OwogCiAJaWYgKCFjcHVfaGFzX3hjcnlwdCkgewotCQlwcmludGsoS0VSTl9FUlIgUEZYICJWSUEgUGFkTG9jayBub3QgZGV0ZWN0ZWQuXG4iKTsKKwkJcHJpbnRrKEtFUk5fTk9USUNFIFBGWCAiVklBIFBhZExvY2sgbm90IGRldGVjdGVkLlxuIik7CiAJCXJldHVybiAtRU5PREVWOwogCX0KIAogCWlmICghY3B1X2hhc194Y3J5cHRfZW5hYmxlZCkgewotCQlwcmludGsoS0VSTl9FUlIgUEZYICJWSUEgUGFkTG9jayBkZXRlY3RlZCwgYnV0IG5vdCBlbmFibGVkLiBIbW0sIHN0cmFuZ2UuLi5cbiIpOworCQlwcmludGsoS0VSTl9OT1RJQ0UgUEZYICJWSUEgUGFkTG9jayBkZXRlY3RlZCwgYnV0IG5vdCBlbmFibGVkLiBIbW0sIHN0cmFuZ2UuLi5cbiIpOwogCQlyZXR1cm4gLUVOT0RFVjsKIAl9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY3J5cHRvL3BhZGxvY2stc2hhLmMgYi9kcml2ZXJzL2NyeXB0by9wYWRsb2NrLXNoYS5jCmluZGV4IGM2NjZiNGUuLjQwZDU2ODAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvY3J5cHRvL3BhZGxvY2stc2hhLmMKKysrIGIvZHJpdmVycy9jcnlwdG8vcGFkbG9jay1zaGEuYwpAQCAtMjU0LDEyICsyNTQsMTIgQEAKIAlpbnQgcmMgPSAtRU5PREVWOwogCiAJaWYgKCFjcHVfaGFzX3BoZSkgewotCQlwcmludGsoS0VSTl9FUlIgUEZYICJWSUEgUGFkTG9jayBIYXNoIEVuZ2luZSBub3QgZGV0ZWN0ZWQuXG4iKTsKKwkJcHJpbnRrKEtFUk5fTk9USUNFIFBGWCAiVklBIFBhZExvY2sgSGFzaCBFbmdpbmUgbm90IGRldGVjdGVkLlxuIik7CiAJCXJldHVybiAtRU5PREVWOwogCX0KIAogCWlmICghY3B1X2hhc19waGVfZW5hYmxlZCkgewotCQlwcmludGsoS0VSTl9FUlIgUEZYICJWSUEgUGFkTG9jayBkZXRlY3RlZCwgYnV0IG5vdCBlbmFibGVkLiBIbW0sIHN0cmFuZ2UuLi5cbiIpOworCQlwcmludGsoS0VSTl9OT1RJQ0UgUEZYICJWSUEgUGFkTG9jayBkZXRlY3RlZCwgYnV0IG5vdCBlbmFibGVkLiBIbW0sIHN0cmFuZ2UuLi5cbiIpOwogCQlyZXR1cm4gLUVOT0RFVjsKIAl9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY3J5cHRvL3RhbGl0b3MuYyBiL2RyaXZlcnMvY3J5cHRvL3RhbGl0b3MuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMTE5NDNkCi0tLSAvZGV2L251bGwKKysrIGIvZHJpdmVycy9jcnlwdG8vdGFsaXRvcy5jCkBAIC0wLDAgKzEsMTU5NyBAQAorLyoKKyAqIHRhbGl0b3MgLSBGcmVlc2NhbGUgSW50ZWdyYXRlZCBTZWN1cml0eSBFbmdpbmUgKFNFQykgZGV2aWNlIGRyaXZlcgorICoKKyAqIENvcHlyaWdodCAoYykgMjAwOCBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLgorICoKKyAqIFNjYXR0ZXJsaXN0IENyeXB0byBBUEkgZ2x1ZSBjb2RlIGNvcGllZCBmcm9tIGZpbGVzIHdpdGggdGhlIGZvbGxvd2luZzoKKyAqIENvcHlyaWdodCAoYykgMjAwNi0yMDA3IEhlcmJlcnQgWHUgPGhlcmJlcnRAZ29uZG9yLmFwYW5hLm9yZy5hdT4KKyAqCisgKiBDcnlwdG8gYWxnb3JpdGhtIHJlZ2lzdHJhdGlvbiBjb2RlIGNvcGllZCBmcm9tIGhpZm4gZHJpdmVyOgorICogMjAwNysgQ29weXJpZ2h0IChjKSBFdmdlbml5IFBvbHlha292IDxqb2hucG9sQDJrYS5taXB0LnJ1PgorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisgKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAgMDIxMTEtMTMwNyAgVVNBCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L21vZF9kZXZpY2V0YWJsZS5oPgorI2luY2x1ZGUgPGxpbnV4L2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgorI2luY2x1ZGUgPGxpbnV4L2NyeXB0by5oPgorI2luY2x1ZGUgPGxpbnV4L2h3X3JhbmRvbS5oPgorI2luY2x1ZGUgPGxpbnV4L29mX3BsYXRmb3JtLmg+CisjaW5jbHVkZSA8bGludXgvZG1hLW1hcHBpbmcuaD4KKyNpbmNsdWRlIDxsaW51eC9pby5oPgorI2luY2x1ZGUgPGxpbnV4L3NwaW5sb2NrLmg+CisjaW5jbHVkZSA8bGludXgvcnRuZXRsaW5rLmg+CisKKyNpbmNsdWRlIDxjcnlwdG8vYWxnYXBpLmg+CisjaW5jbHVkZSA8Y3J5cHRvL2Flcy5oPgorI2luY2x1ZGUgPGNyeXB0by9kZXMuaD4KKyNpbmNsdWRlIDxjcnlwdG8vc2hhLmg+CisjaW5jbHVkZSA8Y3J5cHRvL2FlYWQuaD4KKyNpbmNsdWRlIDxjcnlwdG8vYXV0aGVuYy5oPgorCisjaW5jbHVkZSAidGFsaXRvcy5oIgorCisjZGVmaW5lIFRBTElUT1NfVElNRU9VVCAxMDAwMDAKKyNkZWZpbmUgVEFMSVRPU19NQVhfREFUQV9MRU4gNjU1MzUKKworI2RlZmluZSBERVNDX1RZUEUoZGVzY19oZHIpICgoYmUzMl90b19jcHUoZGVzY19oZHIpID4+IDMpICYgMHgxZikKKyNkZWZpbmUgUFJJTUFSWV9FVShkZXNjX2hkcikgKChiZTMyX3RvX2NwdShkZXNjX2hkcikgPj4gMjgpICYgMHhmKQorI2RlZmluZSBTRUNPTkRBUllfRVUoZGVzY19oZHIpICgoYmUzMl90b19jcHUoZGVzY19oZHIpID4+IDE2KSAmIDB4ZikKKworLyogZGVzY3JpcHRvciBwb2ludGVyIGVudHJ5ICovCitzdHJ1Y3QgdGFsaXRvc19wdHIgeworCV9fYmUxNiBsZW47CS8qIGxlbmd0aCAqLworCXU4IGpfZXh0ZW50OwkvKiBqdW1wIHRvIHNnIGxpbmsgdGFibGUgYW5kL29yIGV4dGVudCAqLworCXU4IGVwdHI7CS8qIGV4dGVuZGVkIGFkZHJlc3MgKi8KKwlfX2JlMzIgcHRyOwkvKiBhZGRyZXNzICovCit9OworCisvKiBkZXNjcmlwdG9yICovCitzdHJ1Y3QgdGFsaXRvc19kZXNjIHsKKwlfX2JlMzIgaGRyOwkJCS8qIGhlYWRlciBoaWdoIGJpdHMgKi8KKwlfX2JlMzIgaGRyX2xvOwkJCS8qIGhlYWRlciBsb3cgYml0cyAqLworCXN0cnVjdCB0YWxpdG9zX3B0ciBwdHJbN107CS8qIHB0ci9sZW4gcGFpciBhcnJheSAqLworfTsKKworLyoqCisgKiB0YWxpdG9zX3JlcXVlc3QgLSBkZXNjcmlwdG9yIHN1Ym1pc3Npb24gcmVxdWVzdAorICogQGRlc2M6IGRlc2NyaXB0b3IgcG9pbnRlciAoa2VybmVsIHZpcnR1YWwpCisgKiBAZG1hX2Rlc2M6IGRlc2NyaXB0b3IncyBwaHlzaWNhbCBidXMgYWRkcmVzcworICogQGNhbGxiYWNrOiB3aG9tIHRvIGNhbGwgd2hlbiBkZXNjcmlwdG9yIHByb2Nlc3NpbmcgaXMgZG9uZQorICogQGNvbnRleHQ6IGNhbGxlciBjb250ZXh0IChvcHRpb25hbCkKKyAqLworc3RydWN0IHRhbGl0b3NfcmVxdWVzdCB7CisJc3RydWN0IHRhbGl0b3NfZGVzYyAqZGVzYzsKKwlkbWFfYWRkcl90IGRtYV9kZXNjOworCXZvaWQgKCpjYWxsYmFjaykgKHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IHRhbGl0b3NfZGVzYyAqZGVzYywKKwkgICAgICAgICAgICAgICAgICB2b2lkICpjb250ZXh0LCBpbnQgZXJyb3IpOworCXZvaWQgKmNvbnRleHQ7Cit9OworCitzdHJ1Y3QgdGFsaXRvc19wcml2YXRlIHsKKwlzdHJ1Y3QgZGV2aWNlICpkZXY7CisJc3RydWN0IG9mX2RldmljZSAqb2ZkZXY7CisJdm9pZCBfX2lvbWVtICpyZWc7CisJaW50IGlycTsKKworCS8qIFNFQyB2ZXJzaW9uIGdlb21ldHJ5IChmcm9tIGRldmljZSB0cmVlIG5vZGUpICovCisJdW5zaWduZWQgaW50IG51bV9jaGFubmVsczsKKwl1bnNpZ25lZCBpbnQgY2hmaWZvX2xlbjsKKwl1bnNpZ25lZCBpbnQgZXhlY191bml0czsKKwl1bnNpZ25lZCBpbnQgZGVzY190eXBlczsKKworCS8qIG5leHQgY2hhbm5lbCB0byBiZSBhc3NpZ25lZCBuZXh0IGluY29taW5nIGRlc2NyaXB0b3IgKi8KKwlhdG9taWNfdCBsYXN0X2NoYW47CisKKwkvKiBwZXItY2hhbm5lbCByZXF1ZXN0IGZpZm8gKi8KKwlzdHJ1Y3QgdGFsaXRvc19yZXF1ZXN0ICoqZmlmbzsKKworCS8qCisJICogbGVuZ3RoIG9mIHRoZSByZXF1ZXN0IGZpZm8KKwkgKiBmaWZvX2xlbiBpcyBjaGZpZm9fbGVuIHJvdW5kZWQgdXAgdG8gbmV4dCBwb3dlciBvZiAyCisJICogc28gd2UgY2FuIHVzZSBiaXR3aXNlIG9wcyB0byB3cmFwCisJICovCisJdW5zaWduZWQgaW50IGZpZm9fbGVuOworCisJLyogcGVyLWNoYW5uZWwgaW5kZXggdG8gbmV4dCBmcmVlIGRlc2NyaXB0b3IgcmVxdWVzdCAqLworCWludCAqaGVhZDsKKworCS8qIHBlci1jaGFubmVsIGluZGV4IHRvIG5leHQgaW4tcHJvZ3Jlc3MvZG9uZSBkZXNjcmlwdG9yIHJlcXVlc3QgKi8KKwlpbnQgKnRhaWw7CisKKwkvKiBwZXItY2hhbm5lbCByZXF1ZXN0IHN1Ym1pc3Npb24gKGhlYWQpIGFuZCByZWxlYXNlICh0YWlsKSBsb2NrcyAqLworCXNwaW5sb2NrX3QgKmhlYWRfbG9jazsKKwlzcGlubG9ja190ICp0YWlsX2xvY2s7CisKKwkvKiByZXF1ZXN0IGNhbGxiYWNrIHRhc2tsZXQgKi8KKwlzdHJ1Y3QgdGFza2xldF9zdHJ1Y3QgZG9uZV90YXNrOworCXN0cnVjdCB0YXNrbGV0X3N0cnVjdCBlcnJvcl90YXNrOworCisJLyogbGlzdCBvZiByZWdpc3RlcmVkIGFsZ29yaXRobXMgKi8KKwlzdHJ1Y3QgbGlzdF9oZWFkIGFsZ19saXN0OworCisJLyogaHdybmcgZGV2aWNlICovCisJc3RydWN0IGh3cm5nIHJuZzsKK307CisKKy8qCisgKiBtYXAgdmlydHVhbCBzaW5nbGUgKGNvbnRpZ3VvdXMpIHBvaW50ZXIgdG8gaC93IGRlc2NyaXB0b3IgcG9pbnRlcgorICovCitzdGF0aWMgdm9pZCBtYXBfc2luZ2xlX3RhbGl0b3NfcHRyKHN0cnVjdCBkZXZpY2UgKmRldiwKKwkJCQkgICBzdHJ1Y3QgdGFsaXRvc19wdHIgKnRhbGl0b3NfcHRyLAorCQkJCSAgIHVuc2lnbmVkIHNob3J0IGxlbiwgdm9pZCAqZGF0YSwKKwkJCQkgICB1bnNpZ25lZCBjaGFyIGV4dGVudCwKKwkJCQkgICBlbnVtIGRtYV9kYXRhX2RpcmVjdGlvbiBkaXIpCit7CisJdGFsaXRvc19wdHItPmxlbiA9IGNwdV90b19iZTE2KGxlbik7CisJdGFsaXRvc19wdHItPnB0ciA9IGNwdV90b19iZTMyKGRtYV9tYXBfc2luZ2xlKGRldiwgZGF0YSwgbGVuLCBkaXIpKTsKKwl0YWxpdG9zX3B0ci0+al9leHRlbnQgPSBleHRlbnQ7Cit9CisKKy8qCisgKiB1bm1hcCBidXMgc2luZ2xlIChjb250aWd1b3VzKSBoL3cgZGVzY3JpcHRvciBwb2ludGVyCisgKi8KK3N0YXRpYyB2b2lkIHVubWFwX3NpbmdsZV90YWxpdG9zX3B0cihzdHJ1Y3QgZGV2aWNlICpkZXYsCisJCQkJICAgICBzdHJ1Y3QgdGFsaXRvc19wdHIgKnRhbGl0b3NfcHRyLAorCQkJCSAgICAgZW51bSBkbWFfZGF0YV9kaXJlY3Rpb24gZGlyKQoreworCWRtYV91bm1hcF9zaW5nbGUoZGV2LCBiZTMyX3RvX2NwdSh0YWxpdG9zX3B0ci0+cHRyKSwKKwkJCSBiZTE2X3RvX2NwdSh0YWxpdG9zX3B0ci0+bGVuKSwgZGlyKTsKK30KKworc3RhdGljIGludCByZXNldF9jaGFubmVsKHN0cnVjdCBkZXZpY2UgKmRldiwgaW50IGNoKQoreworCXN0cnVjdCB0YWxpdG9zX3ByaXZhdGUgKnByaXYgPSBkZXZfZ2V0X2RydmRhdGEoZGV2KTsKKwl1bnNpZ25lZCBpbnQgdGltZW91dCA9IFRBTElUT1NfVElNRU9VVDsKKworCXNldGJpdHMzMihwcml2LT5yZWcgKyBUQUxJVE9TX0NDQ1IoY2gpLCBUQUxJVE9TX0NDQ1JfUkVTRVQpOworCisJd2hpbGUgKChpbl9iZTMyKHByaXYtPnJlZyArIFRBTElUT1NfQ0NDUihjaCkpICYgVEFMSVRPU19DQ0NSX1JFU0VUKQorCSAgICAgICAmJiAtLXRpbWVvdXQpCisJCWNwdV9yZWxheCgpOworCisJaWYgKHRpbWVvdXQgPT0gMCkgeworCQlkZXZfZXJyKGRldiwgImZhaWxlZCB0byByZXNldCBjaGFubmVsICVkXG4iLCBjaCk7CisJCXJldHVybiAtRUlPOworCX0KKworCS8qIHNldCBkb25lIHdyaXRlYmFjayBhbmQgSVJRICovCisJc2V0Yml0czMyKHByaXYtPnJlZyArIFRBTElUT1NfQ0NDUl9MTyhjaCksIFRBTElUT1NfQ0NDUl9MT19DRFdFIHwKKwkJICBUQUxJVE9TX0NDQ1JfTE9fQ0RJRSk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCByZXNldF9kZXZpY2Uoc3RydWN0IGRldmljZSAqZGV2KQoreworCXN0cnVjdCB0YWxpdG9zX3ByaXZhdGUgKnByaXYgPSBkZXZfZ2V0X2RydmRhdGEoZGV2KTsKKwl1bnNpZ25lZCBpbnQgdGltZW91dCA9IFRBTElUT1NfVElNRU9VVDsKKworCXNldGJpdHMzMihwcml2LT5yZWcgKyBUQUxJVE9TX01DUiwgVEFMSVRPU19NQ1JfU1dSKTsKKworCXdoaWxlICgoaW5fYmUzMihwcml2LT5yZWcgKyBUQUxJVE9TX01DUikgJiBUQUxJVE9TX01DUl9TV1IpCisJICAgICAgICYmIC0tdGltZW91dCkKKwkJY3B1X3JlbGF4KCk7CisKKwlpZiAodGltZW91dCA9PSAwKSB7CisJCWRldl9lcnIoZGV2LCAiZmFpbGVkIHRvIHJlc2V0IGRldmljZVxuIik7CisJCXJldHVybiAtRUlPOworCX0KKworCXJldHVybiAwOworfQorCisvKgorICogUmVzZXQgYW5kIGluaXRpYWxpemUgdGhlIGRldmljZQorICovCitzdGF0aWMgaW50IGluaXRfZGV2aWNlKHN0cnVjdCBkZXZpY2UgKmRldikKK3sKKwlzdHJ1Y3QgdGFsaXRvc19wcml2YXRlICpwcml2ID0gZGV2X2dldF9kcnZkYXRhKGRldik7CisJaW50IGNoLCBlcnI7CisKKwkvKgorCSAqIE1hc3RlciByZXNldAorCSAqIGVycmF0YSBkb2N1bWVudGF0aW9uOiB3YXJuaW5nOiBjZXJ0YWluIFNFQyBpbnRlcnJ1cHRzCisJICogYXJlIG5vdCBmdWxseSBjbGVhcmVkIGJ5IHdyaXRpbmcgdGhlIE1DUjpTV1IgYml0LAorCSAqIHNldCBiaXQgdHdpY2UgdG8gY29tcGxldGVseSByZXNldAorCSAqLworCWVyciA9IHJlc2V0X2RldmljZShkZXYpOworCWlmIChlcnIpCisJCXJldHVybiBlcnI7CisKKwllcnIgPSByZXNldF9kZXZpY2UoZGV2KTsKKwlpZiAoZXJyKQorCQlyZXR1cm4gZXJyOworCisJLyogcmVzZXQgY2hhbm5lbHMgKi8KKwlmb3IgKGNoID0gMDsgY2ggPCBwcml2LT5udW1fY2hhbm5lbHM7IGNoKyspIHsKKwkJZXJyID0gcmVzZXRfY2hhbm5lbChkZXYsIGNoKTsKKwkJaWYgKGVycikKKwkJCXJldHVybiBlcnI7CisJfQorCisJLyogZW5hYmxlIGNoYW5uZWwgZG9uZSBhbmQgZXJyb3IgaW50ZXJydXB0cyAqLworCXNldGJpdHMzMihwcml2LT5yZWcgKyBUQUxJVE9TX0lNUiwgVEFMSVRPU19JTVJfSU5JVCk7CisJc2V0Yml0czMyKHByaXYtPnJlZyArIFRBTElUT1NfSU1SX0xPLCBUQUxJVE9TX0lNUl9MT19JTklUKTsKKworCXJldHVybiAwOworfQorCisvKioKKyAqIHRhbGl0b3Nfc3VibWl0IC0gc3VibWl0cyBhIGRlc2NyaXB0b3IgdG8gdGhlIGRldmljZSBmb3IgcHJvY2Vzc2luZworICogQGRldjoJdGhlIFNFQyBkZXZpY2UgdG8gYmUgdXNlZAorICogQGRlc2M6CXRoZSBkZXNjcmlwdG9yIHRvIGJlIHByb2Nlc3NlZCBieSB0aGUgZGV2aWNlCisgKiBAY2FsbGJhY2s6CXdob20gdG8gY2FsbCB3aGVuIHByb2Nlc3NpbmcgaXMgY29tcGxldGUKKyAqIEBjb250ZXh0OglhIGhhbmRsZSBmb3IgdXNlIGJ5IGNhbGxlciAob3B0aW9uYWwpCisgKgorICogZGVzYyBtdXN0IGNvbnRhaW4gdmFsaWQgZG1hLW1hcHBlZCAoYnVzIHBoeXNpY2FsKSBhZGRyZXNzIHBvaW50ZXJzLgorICogY2FsbGJhY2sgbXVzdCBjaGVjayBlcnIgYW5kIGZlZWRiYWNrIGluIGRlc2NyaXB0b3IgaGVhZGVyCisgKiBmb3IgZGV2aWNlIHByb2Nlc3Npbmcgc3RhdHVzLgorICovCitzdGF0aWMgaW50IHRhbGl0b3Nfc3VibWl0KHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IHRhbGl0b3NfZGVzYyAqZGVzYywKKwkJCSAgdm9pZCAoKmNhbGxiYWNrKShzdHJ1Y3QgZGV2aWNlICpkZXYsCisJCQkJCSAgIHN0cnVjdCB0YWxpdG9zX2Rlc2MgKmRlc2MsCisJCQkJCSAgIHZvaWQgKmNvbnRleHQsIGludCBlcnJvciksCisJCQkgIHZvaWQgKmNvbnRleHQpCit7CisJc3RydWN0IHRhbGl0b3NfcHJpdmF0ZSAqcHJpdiA9IGRldl9nZXRfZHJ2ZGF0YShkZXYpOworCXN0cnVjdCB0YWxpdG9zX3JlcXVlc3QgKnJlcXVlc3Q7CisJdW5zaWduZWQgbG9uZyBmbGFncywgY2g7CisJaW50IGhlYWQ7CisKKwkvKiBzZWxlY3QgZG9uZSBub3RpZmljYXRpb24gKi8KKwlkZXNjLT5oZHIgfD0gREVTQ19IRFJfRE9ORV9OT1RJRlk7CisKKwkvKiBlbXVsYXRlIFNFQydzIHJvdW5kLXJvYmluIGNoYW5uZWwgZmlmbyBwb2xsaW5nIHNjaGVtZSAqLworCWNoID0gYXRvbWljX2luY19yZXR1cm4oJnByaXYtPmxhc3RfY2hhbikgJiAocHJpdi0+bnVtX2NoYW5uZWxzIC0gMSk7CisKKwlzcGluX2xvY2tfaXJxc2F2ZSgmcHJpdi0+aGVhZF9sb2NrW2NoXSwgZmxhZ3MpOworCisJaGVhZCA9IHByaXYtPmhlYWRbY2hdOworCXJlcXVlc3QgPSAmcHJpdi0+Zmlmb1tjaF1baGVhZF07CisKKwlpZiAocmVxdWVzdC0+ZGVzYykgeworCQkvKiByZXF1ZXN0IHF1ZXVlIGlzIGZ1bGwgKi8KKwkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcHJpdi0+aGVhZF9sb2NrW2NoXSwgZmxhZ3MpOworCQlyZXR1cm4gLUVBR0FJTjsKKwl9CisKKwkvKiBtYXAgZGVzY3JpcHRvciBhbmQgc2F2ZSBjYWxsZXIgZGF0YSAqLworCXJlcXVlc3QtPmRtYV9kZXNjID0gZG1hX21hcF9zaW5nbGUoZGV2LCBkZXNjLCBzaXplb2YoKmRlc2MpLAorCQkJCQkgICBETUFfQklESVJFQ1RJT05BTCk7CisJcmVxdWVzdC0+Y2FsbGJhY2sgPSBjYWxsYmFjazsKKwlyZXF1ZXN0LT5jb250ZXh0ID0gY29udGV4dDsKKworCS8qIGluY3JlbWVudCBmaWZvIGhlYWQgKi8KKwlwcml2LT5oZWFkW2NoXSA9IChwcml2LT5oZWFkW2NoXSArIDEpICYgKHByaXYtPmZpZm9fbGVuIC0gMSk7CisKKwlzbXBfd21iKCk7CisJcmVxdWVzdC0+ZGVzYyA9IGRlc2M7CisKKwkvKiBHTyEgKi8KKwl3bWIoKTsKKwlvdXRfYmUzMihwcml2LT5yZWcgKyBUQUxJVE9TX0ZGX0xPKGNoKSwgcmVxdWVzdC0+ZG1hX2Rlc2MpOworCisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcHJpdi0+aGVhZF9sb2NrW2NoXSwgZmxhZ3MpOworCisJcmV0dXJuIC1FSU5QUk9HUkVTUzsKK30KKworLyoKKyAqIHByb2Nlc3Mgd2hhdCB3YXMgZG9uZSwgbm90aWZ5IGNhbGxiYWNrIG9mIGVycm9yIGlmIG5vdAorICovCitzdGF0aWMgdm9pZCBmbHVzaF9jaGFubmVsKHN0cnVjdCBkZXZpY2UgKmRldiwgaW50IGNoLCBpbnQgZXJyb3IsIGludCByZXNldF9jaCkKK3sKKwlzdHJ1Y3QgdGFsaXRvc19wcml2YXRlICpwcml2ID0gZGV2X2dldF9kcnZkYXRhKGRldik7CisJc3RydWN0IHRhbGl0b3NfcmVxdWVzdCAqcmVxdWVzdCwgc2F2ZWRfcmVxOworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisJaW50IHRhaWwsIHN0YXR1czsKKworCXNwaW5fbG9ja19pcnFzYXZlKCZwcml2LT50YWlsX2xvY2tbY2hdLCBmbGFncyk7CisKKwl0YWlsID0gcHJpdi0+dGFpbFtjaF07CisJd2hpbGUgKHByaXYtPmZpZm9bY2hdW3RhaWxdLmRlc2MpIHsKKwkJcmVxdWVzdCA9ICZwcml2LT5maWZvW2NoXVt0YWlsXTsKKworCQkvKiBkZXNjcmlwdG9ycyB3aXRoIHRoZWlyIGRvbmUgYml0cyBzZXQgZG9uJ3QgZ2V0IHRoZSBlcnJvciAqLworCQlybWIoKTsKKwkJaWYgKChyZXF1ZXN0LT5kZXNjLT5oZHIgJiBERVNDX0hEUl9ET05FKSA9PSBERVNDX0hEUl9ET05FKQorCQkJc3RhdHVzID0gMDsKKwkJZWxzZQorCQkJaWYgKCFlcnJvcikKKwkJCQlicmVhazsKKwkJCWVsc2UKKwkJCQlzdGF0dXMgPSBlcnJvcjsKKworCQlkbWFfdW5tYXBfc2luZ2xlKGRldiwgcmVxdWVzdC0+ZG1hX2Rlc2MsCisJCQlzaXplb2Yoc3RydWN0IHRhbGl0b3NfZGVzYyksIERNQV9CSURJUkVDVElPTkFMKTsKKworCQkvKiBjb3B5IGVudHJpZXMgc28gd2UgY2FuIGNhbGwgY2FsbGJhY2sgb3V0c2lkZSBsb2NrICovCisJCXNhdmVkX3JlcS5kZXNjID0gcmVxdWVzdC0+ZGVzYzsKKwkJc2F2ZWRfcmVxLmNhbGxiYWNrID0gcmVxdWVzdC0+Y2FsbGJhY2s7CisJCXNhdmVkX3JlcS5jb250ZXh0ID0gcmVxdWVzdC0+Y29udGV4dDsKKworCQkvKiByZWxlYXNlIHJlcXVlc3QgZW50cnkgaW4gZmlmbyAqLworCQlzbXBfd21iKCk7CisJCXJlcXVlc3QtPmRlc2MgPSBOVUxMOworCisJCS8qIGluY3JlbWVudCBmaWZvIHRhaWwgKi8KKwkJcHJpdi0+dGFpbFtjaF0gPSAodGFpbCArIDEpICYgKHByaXYtPmZpZm9fbGVuIC0gMSk7CisKKwkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcHJpdi0+dGFpbF9sb2NrW2NoXSwgZmxhZ3MpOworCQlzYXZlZF9yZXEuY2FsbGJhY2soZGV2LCBzYXZlZF9yZXEuZGVzYywgc2F2ZWRfcmVxLmNvbnRleHQsCisJCQkJICAgc3RhdHVzKTsKKwkJLyogY2hhbm5lbCBtYXkgcmVzdW1lIHByb2Nlc3NpbmcgaW4gc2luZ2xlIGRlc2MgZXJyb3IgY2FzZSAqLworCQlpZiAoZXJyb3IgJiYgIXJlc2V0X2NoICYmIHN0YXR1cyA9PSBlcnJvcikKKwkJCXJldHVybjsKKwkJc3Bpbl9sb2NrX2lycXNhdmUoJnByaXYtPnRhaWxfbG9ja1tjaF0sIGZsYWdzKTsKKwkJdGFpbCA9IHByaXYtPnRhaWxbY2hdOworCX0KKworCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnByaXYtPnRhaWxfbG9ja1tjaF0sIGZsYWdzKTsKK30KKworLyoKKyAqIHByb2Nlc3MgY29tcGxldGVkIHJlcXVlc3RzIGZvciBjaGFubmVscyB0aGF0IGhhdmUgZG9uZSBzdGF0dXMKKyAqLworc3RhdGljIHZvaWQgdGFsaXRvc19kb25lKHVuc2lnbmVkIGxvbmcgZGF0YSkKK3sKKwlzdHJ1Y3QgZGV2aWNlICpkZXYgPSAoc3RydWN0IGRldmljZSAqKWRhdGE7CisJc3RydWN0IHRhbGl0b3NfcHJpdmF0ZSAqcHJpdiA9IGRldl9nZXRfZHJ2ZGF0YShkZXYpOworCWludCBjaDsKKworCWZvciAoY2ggPSAwOyBjaCA8IHByaXYtPm51bV9jaGFubmVsczsgY2grKykKKwkJZmx1c2hfY2hhbm5lbChkZXYsIGNoLCAwLCAwKTsKK30KKworLyoKKyAqIGxvY2F0ZSBjdXJyZW50IChvZmZlbmRpbmcpIGRlc2NyaXB0b3IKKyAqLworc3RhdGljIHN0cnVjdCB0YWxpdG9zX2Rlc2MgKmN1cnJlbnRfZGVzYyhzdHJ1Y3QgZGV2aWNlICpkZXYsIGludCBjaCkKK3sKKwlzdHJ1Y3QgdGFsaXRvc19wcml2YXRlICpwcml2ID0gZGV2X2dldF9kcnZkYXRhKGRldik7CisJaW50IHRhaWwgPSBwcml2LT50YWlsW2NoXTsKKwlkbWFfYWRkcl90IGN1cl9kZXNjOworCisJY3VyX2Rlc2MgPSBpbl9iZTMyKHByaXYtPnJlZyArIFRBTElUT1NfQ0RQUl9MTyhjaCkpOworCisJd2hpbGUgKHByaXYtPmZpZm9bY2hdW3RhaWxdLmRtYV9kZXNjICE9IGN1cl9kZXNjKSB7CisJCXRhaWwgPSAodGFpbCArIDEpICYgKHByaXYtPmZpZm9fbGVuIC0gMSk7CisJCWlmICh0YWlsID09IHByaXYtPnRhaWxbY2hdKSB7CisJCQlkZXZfZXJyKGRldiwgImNvdWxkbid0IGxvY2F0ZSBjdXJyZW50IGRlc2NyaXB0b3JcbiIpOworCQkJcmV0dXJuIE5VTEw7CisJCX0KKwl9CisKKwlyZXR1cm4gcHJpdi0+Zmlmb1tjaF1bdGFpbF0uZGVzYzsKK30KKworLyoKKyAqIHVzZXIgZGlhZ25vc3RpY3M7IHJlcG9ydCByb290IGNhdXNlIG9mIGVycm9yIGJhc2VkIG9uIGV4ZWN1dGlvbiB1bml0IHN0YXR1cworICovCitzdGF0aWMgdm9pZCByZXBvcnRfZXVfZXJyb3Ioc3RydWN0IGRldmljZSAqZGV2LCBpbnQgY2gsIHN0cnVjdCB0YWxpdG9zX2Rlc2MgKmRlc2MpCit7CisJc3RydWN0IHRhbGl0b3NfcHJpdmF0ZSAqcHJpdiA9IGRldl9nZXRfZHJ2ZGF0YShkZXYpOworCWludCBpOworCisJc3dpdGNoIChkZXNjLT5oZHIgJiBERVNDX0hEUl9TRUwwX01BU0spIHsKKwljYXNlIERFU0NfSERSX1NFTDBfQUZFVToKKwkJZGV2X2VycihkZXYsICJBRkVVSVNSIDB4JTA4eF8lMDh4XG4iLAorCQkJaW5fYmUzMihwcml2LT5yZWcgKyBUQUxJVE9TX0FGRVVJU1IpLAorCQkJaW5fYmUzMihwcml2LT5yZWcgKyBUQUxJVE9TX0FGRVVJU1JfTE8pKTsKKwkJYnJlYWs7CisJY2FzZSBERVNDX0hEUl9TRUwwX0RFVToKKwkJZGV2X2VycihkZXYsICJERVVJU1IgMHglMDh4XyUwOHhcbiIsCisJCQlpbl9iZTMyKHByaXYtPnJlZyArIFRBTElUT1NfREVVSVNSKSwKKwkJCWluX2JlMzIocHJpdi0+cmVnICsgVEFMSVRPU19ERVVJU1JfTE8pKTsKKwkJYnJlYWs7CisJY2FzZSBERVNDX0hEUl9TRUwwX01ERVVBOgorCWNhc2UgREVTQ19IRFJfU0VMMF9NREVVQjoKKwkJZGV2X2VycihkZXYsICJNREVVSVNSIDB4JTA4eF8lMDh4XG4iLAorCQkJaW5fYmUzMihwcml2LT5yZWcgKyBUQUxJVE9TX01ERVVJU1IpLAorCQkJaW5fYmUzMihwcml2LT5yZWcgKyBUQUxJVE9TX01ERVVJU1JfTE8pKTsKKwkJYnJlYWs7CisJY2FzZSBERVNDX0hEUl9TRUwwX1JORzoKKwkJZGV2X2VycihkZXYsICJSTkdVSVNSIDB4JTA4eF8lMDh4XG4iLAorCQkJaW5fYmUzMihwcml2LT5yZWcgKyBUQUxJVE9TX1JOR1VJU1IpLAorCQkJaW5fYmUzMihwcml2LT5yZWcgKyBUQUxJVE9TX1JOR1VJU1JfTE8pKTsKKwkJYnJlYWs7CisJY2FzZSBERVNDX0hEUl9TRUwwX1BLRVU6CisJCWRldl9lcnIoZGV2LCAiUEtFVUlTUiAweCUwOHhfJTA4eFxuIiwKKwkJCWluX2JlMzIocHJpdi0+cmVnICsgVEFMSVRPU19QS0VVSVNSKSwKKwkJCWluX2JlMzIocHJpdi0+cmVnICsgVEFMSVRPU19QS0VVSVNSX0xPKSk7CisJCWJyZWFrOworCWNhc2UgREVTQ19IRFJfU0VMMF9BRVNVOgorCQlkZXZfZXJyKGRldiwgIkFFU1VJU1IgMHglMDh4XyUwOHhcbiIsCisJCQlpbl9iZTMyKHByaXYtPnJlZyArIFRBTElUT1NfQUVTVUlTUiksCisJCQlpbl9iZTMyKHByaXYtPnJlZyArIFRBTElUT1NfQUVTVUlTUl9MTykpOworCQlicmVhazsKKwljYXNlIERFU0NfSERSX1NFTDBfQ1JDVToKKwkJZGV2X2VycihkZXYsICJDUkNVSVNSIDB4JTA4eF8lMDh4XG4iLAorCQkJaW5fYmUzMihwcml2LT5yZWcgKyBUQUxJVE9TX0NSQ1VJU1IpLAorCQkJaW5fYmUzMihwcml2LT5yZWcgKyBUQUxJVE9TX0NSQ1VJU1JfTE8pKTsKKwkJYnJlYWs7CisJY2FzZSBERVNDX0hEUl9TRUwwX0tFVToKKwkJZGV2X2VycihkZXYsICJLRVVJU1IgMHglMDh4XyUwOHhcbiIsCisJCQlpbl9iZTMyKHByaXYtPnJlZyArIFRBTElUT1NfS0VVSVNSKSwKKwkJCWluX2JlMzIocHJpdi0+cmVnICsgVEFMSVRPU19LRVVJU1JfTE8pKTsKKwkJYnJlYWs7CisJfQorCisJc3dpdGNoIChkZXNjLT5oZHIgJiBERVNDX0hEUl9TRUwxX01BU0spIHsKKwljYXNlIERFU0NfSERSX1NFTDFfTURFVUE6CisJY2FzZSBERVNDX0hEUl9TRUwxX01ERVVCOgorCQlkZXZfZXJyKGRldiwgIk1ERVVJU1IgMHglMDh4XyUwOHhcbiIsCisJCQlpbl9iZTMyKHByaXYtPnJlZyArIFRBTElUT1NfTURFVUlTUiksCisJCQlpbl9iZTMyKHByaXYtPnJlZyArIFRBTElUT1NfTURFVUlTUl9MTykpOworCQlicmVhazsKKwljYXNlIERFU0NfSERSX1NFTDFfQ1JDVToKKwkJZGV2X2VycihkZXYsICJDUkNVSVNSIDB4JTA4eF8lMDh4XG4iLAorCQkJaW5fYmUzMihwcml2LT5yZWcgKyBUQUxJVE9TX0NSQ1VJU1IpLAorCQkJaW5fYmUzMihwcml2LT5yZWcgKyBUQUxJVE9TX0NSQ1VJU1JfTE8pKTsKKwkJYnJlYWs7CisJfQorCisJZm9yIChpID0gMDsgaSA8IDg7IGkrKykKKwkJZGV2X2VycihkZXYsICJERVNDQlVGIDB4JTA4eF8lMDh4XG4iLAorCQkJaW5fYmUzMihwcml2LT5yZWcgKyBUQUxJVE9TX0RFU0NCVUYoY2gpICsgOCppKSwKKwkJCWluX2JlMzIocHJpdi0+cmVnICsgVEFMSVRPU19ERVNDQlVGX0xPKGNoKSArIDgqaSkpOworfQorCisvKgorICogcmVjb3ZlciBmcm9tIGVycm9yIGludGVycnVwdHMKKyAqLworc3RhdGljIHZvaWQgdGFsaXRvc19lcnJvcih1bnNpZ25lZCBsb25nIGRhdGEpCit7CisJc3RydWN0IGRldmljZSAqZGV2ID0gKHN0cnVjdCBkZXZpY2UgKilkYXRhOworCXN0cnVjdCB0YWxpdG9zX3ByaXZhdGUgKnByaXYgPSBkZXZfZ2V0X2RydmRhdGEoZGV2KTsKKwl1bnNpZ25lZCBpbnQgdGltZW91dCA9IFRBTElUT1NfVElNRU9VVDsKKwlpbnQgY2gsIGVycm9yLCByZXNldF9kZXYgPSAwLCByZXNldF9jaCA9IDA7CisJdTMyIGlzciwgaXNyX2xvLCB2LCB2X2xvOworCisJaXNyID0gaW5fYmUzMihwcml2LT5yZWcgKyBUQUxJVE9TX0lTUik7CisJaXNyX2xvID0gaW5fYmUzMihwcml2LT5yZWcgKyBUQUxJVE9TX0lTUl9MTyk7CisKKwlmb3IgKGNoID0gMDsgY2ggPCBwcml2LT5udW1fY2hhbm5lbHM7IGNoKyspIHsKKwkJLyogc2tpcCBjaGFubmVscyB3aXRob3V0IGVycm9ycyAqLworCQlpZiAoIShpc3IgJiAoMSA8PCAoY2ggKiAyICsgMSkpKSkKKwkJCWNvbnRpbnVlOworCisJCWVycm9yID0gLUVJTlZBTDsKKworCQl2ID0gaW5fYmUzMihwcml2LT5yZWcgKyBUQUxJVE9TX0NDUFNSKGNoKSk7CisJCXZfbG8gPSBpbl9iZTMyKHByaXYtPnJlZyArIFRBTElUT1NfQ0NQU1JfTE8oY2gpKTsKKworCQlpZiAodl9sbyAmIFRBTElUT1NfQ0NQU1JfTE9fRE9GKSB7CisJCQlkZXZfZXJyKGRldiwgImRvdWJsZSBmZXRjaCBmaWZvIG92ZXJmbG93IGVycm9yXG4iKTsKKwkJCWVycm9yID0gLUVBR0FJTjsKKwkJCXJlc2V0X2NoID0gMTsKKwkJfQorCQlpZiAodl9sbyAmIFRBTElUT1NfQ0NQU1JfTE9fU09GKSB7CisJCQkvKiBoL3cgZHJvcHBlZCBkZXNjcmlwdG9yICovCisJCQlkZXZfZXJyKGRldiwgInNpbmdsZSBmZXRjaCBmaWZvIG92ZXJmbG93IGVycm9yXG4iKTsKKwkJCWVycm9yID0gLUVBR0FJTjsKKwkJfQorCQlpZiAodl9sbyAmIFRBTElUT1NfQ0NQU1JfTE9fTURURSkKKwkJCWRldl9lcnIoZGV2LCAibWFzdGVyIGRhdGEgdHJhbnNmZXIgZXJyb3JcbiIpOworCQlpZiAodl9sbyAmIFRBTElUT1NfQ0NQU1JfTE9fU0dETFopCisJCQlkZXZfZXJyKGRldiwgInMvZyBkYXRhIGxlbmd0aCB6ZXJvIGVycm9yXG4iKTsKKwkJaWYgKHZfbG8gJiBUQUxJVE9TX0NDUFNSX0xPX0ZQWikKKwkJCWRldl9lcnIoZGV2LCAiZmV0Y2ggcG9pbnRlciB6ZXJvIGVycm9yXG4iKTsKKwkJaWYgKHZfbG8gJiBUQUxJVE9TX0NDUFNSX0xPX0lESCkKKwkJCWRldl9lcnIoZGV2LCAiaWxsZWdhbCBkZXNjcmlwdG9yIGhlYWRlciBlcnJvclxuIik7CisJCWlmICh2X2xvICYgVEFMSVRPU19DQ1BTUl9MT19JRVUpCisJCQlkZXZfZXJyKGRldiwgImludmFsaWQgZXhlY3V0aW9uIHVuaXQgZXJyb3JcbiIpOworCQlpZiAodl9sbyAmIFRBTElUT1NfQ0NQU1JfTE9fRVUpCisJCQlyZXBvcnRfZXVfZXJyb3IoZGV2LCBjaCwgY3VycmVudF9kZXNjKGRldiwgY2gpKTsKKwkJaWYgKHZfbG8gJiBUQUxJVE9TX0NDUFNSX0xPX0dCKQorCQkJZGV2X2VycihkZXYsICJnYXRoZXIgYm91bmRhcnkgZXJyb3JcbiIpOworCQlpZiAodl9sbyAmIFRBTElUT1NfQ0NQU1JfTE9fR1JMKQorCQkJZGV2X2VycihkZXYsICJnYXRoZXIgcmV0dXJuL2xlbmd0aCBlcnJvclxuIik7CisJCWlmICh2X2xvICYgVEFMSVRPU19DQ1BTUl9MT19TQikKKwkJCWRldl9lcnIoZGV2LCAic2NhdHRlciBib3VuZGFyeSBlcnJvclxuIik7CisJCWlmICh2X2xvICYgVEFMSVRPU19DQ1BTUl9MT19TUkwpCisJCQlkZXZfZXJyKGRldiwgInNjYXR0ZXIgcmV0dXJuL2xlbmd0aCBlcnJvclxuIik7CisKKwkJZmx1c2hfY2hhbm5lbChkZXYsIGNoLCBlcnJvciwgcmVzZXRfY2gpOworCisJCWlmIChyZXNldF9jaCkgeworCQkJcmVzZXRfY2hhbm5lbChkZXYsIGNoKTsKKwkJfSBlbHNlIHsKKwkJCXNldGJpdHMzMihwcml2LT5yZWcgKyBUQUxJVE9TX0NDQ1IoY2gpLAorCQkJCSAgVEFMSVRPU19DQ0NSX0NPTlQpOworCQkJc2V0Yml0czMyKHByaXYtPnJlZyArIFRBTElUT1NfQ0NDUl9MTyhjaCksIDApOworCQkJd2hpbGUgKChpbl9iZTMyKHByaXYtPnJlZyArIFRBTElUT1NfQ0NDUihjaCkpICYKKwkJCSAgICAgICBUQUxJVE9TX0NDQ1JfQ09OVCkgJiYgLS10aW1lb3V0KQorCQkJCWNwdV9yZWxheCgpOworCQkJaWYgKHRpbWVvdXQgPT0gMCkgeworCQkJCWRldl9lcnIoZGV2LCAiZmFpbGVkIHRvIHJlc3RhcnQgY2hhbm5lbCAlZFxuIiwKKwkJCQkJY2gpOworCQkJCXJlc2V0X2RldiA9IDE7CisJCQl9CisJCX0KKwl9CisJaWYgKHJlc2V0X2RldiB8fCBpc3IgJiB+VEFMSVRPU19JU1JfQ0hFUlIgfHwgaXNyX2xvKSB7CisJCWRldl9lcnIoZGV2LCAiZG9uZSBvdmVyZmxvdywgaW50ZXJuYWwgdGltZSBvdXQsIG9yIHJuZ3UgZXJyb3I6ICIKKwkJICAgICAgICAiSVNSIDB4JTA4eF8lMDh4XG4iLCBpc3IsIGlzcl9sbyk7CisKKwkJLyogcHVyZ2UgcmVxdWVzdCBxdWV1ZXMgKi8KKwkJZm9yIChjaCA9IDA7IGNoIDwgcHJpdi0+bnVtX2NoYW5uZWxzOyBjaCsrKQorCQkJZmx1c2hfY2hhbm5lbChkZXYsIGNoLCAtRUlPLCAxKTsKKworCQkvKiByZXNldCBhbmQgcmVpbml0aWFsaXplIHRoZSBkZXZpY2UgKi8KKwkJaW5pdF9kZXZpY2UoZGV2KTsKKwl9Cit9CisKK3N0YXRpYyBpcnFyZXR1cm5fdCB0YWxpdG9zX2ludGVycnVwdChpbnQgaXJxLCB2b2lkICpkYXRhKQoreworCXN0cnVjdCBkZXZpY2UgKmRldiA9IGRhdGE7CisJc3RydWN0IHRhbGl0b3NfcHJpdmF0ZSAqcHJpdiA9IGRldl9nZXRfZHJ2ZGF0YShkZXYpOworCXUzMiBpc3IsIGlzcl9sbzsKKworCWlzciA9IGluX2JlMzIocHJpdi0+cmVnICsgVEFMSVRPU19JU1IpOworCWlzcl9sbyA9IGluX2JlMzIocHJpdi0+cmVnICsgVEFMSVRPU19JU1JfTE8pOworCisJLyogYWNrICovCisJb3V0X2JlMzIocHJpdi0+cmVnICsgVEFMSVRPU19JQ1IsIGlzcik7CisJb3V0X2JlMzIocHJpdi0+cmVnICsgVEFMSVRPU19JQ1JfTE8sIGlzcl9sbyk7CisKKwlpZiAodW5saWtlbHkoKGlzciAmIH5UQUxJVE9TX0lTUl9DSERPTkUpIHx8IGlzcl9sbykpCisJCXRhbGl0b3NfZXJyb3IoKHVuc2lnbmVkIGxvbmcpZGF0YSk7CisJZWxzZQorCQlpZiAobGlrZWx5KGlzciAmIFRBTElUT1NfSVNSX0NIRE9ORSkpCisJCQl0YXNrbGV0X3NjaGVkdWxlKCZwcml2LT5kb25lX3Rhc2spOworCisJcmV0dXJuIChpc3IgfHwgaXNyX2xvKSA/IElSUV9IQU5ETEVEIDogSVJRX05PTkU7Cit9CisKKy8qCisgKiBod3JuZworICovCitzdGF0aWMgaW50IHRhbGl0b3Nfcm5nX2RhdGFfcHJlc2VudChzdHJ1Y3QgaHdybmcgKnJuZywgaW50IHdhaXQpCit7CisJc3RydWN0IGRldmljZSAqZGV2ID0gKHN0cnVjdCBkZXZpY2UgKilybmctPnByaXY7CisJc3RydWN0IHRhbGl0b3NfcHJpdmF0ZSAqcHJpdiA9IGRldl9nZXRfZHJ2ZGF0YShkZXYpOworCXUzMiBvZmw7CisJaW50IGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgMjA7IGkrKykgeworCQlvZmwgPSBpbl9iZTMyKHByaXYtPnJlZyArIFRBTElUT1NfUk5HVVNSX0xPKSAmCisJCSAgICAgIFRBTElUT1NfUk5HVVNSX0xPX09GTDsKKwkJaWYgKG9mbCB8fCAhd2FpdCkKKwkJCWJyZWFrOworCQl1ZGVsYXkoMTApOworCX0KKworCXJldHVybiAhIW9mbDsKK30KKworc3RhdGljIGludCB0YWxpdG9zX3JuZ19kYXRhX3JlYWQoc3RydWN0IGh3cm5nICpybmcsIHUzMiAqZGF0YSkKK3sKKwlzdHJ1Y3QgZGV2aWNlICpkZXYgPSAoc3RydWN0IGRldmljZSAqKXJuZy0+cHJpdjsKKwlzdHJ1Y3QgdGFsaXRvc19wcml2YXRlICpwcml2ID0gZGV2X2dldF9kcnZkYXRhKGRldik7CisKKwkvKiBybmcgZmlmbyByZXF1aXJlcyA2NC1iaXQgYWNjZXNzZXMgKi8KKwkqZGF0YSA9IGluX2JlMzIocHJpdi0+cmVnICsgVEFMSVRPU19STkdVX0ZJRk8pOworCSpkYXRhID0gaW5fYmUzMihwcml2LT5yZWcgKyBUQUxJVE9TX1JOR1VfRklGT19MTyk7CisKKwlyZXR1cm4gc2l6ZW9mKHUzMik7Cit9CisKK3N0YXRpYyBpbnQgdGFsaXRvc19ybmdfaW5pdChzdHJ1Y3QgaHdybmcgKnJuZykKK3sKKwlzdHJ1Y3QgZGV2aWNlICpkZXYgPSAoc3RydWN0IGRldmljZSAqKXJuZy0+cHJpdjsKKwlzdHJ1Y3QgdGFsaXRvc19wcml2YXRlICpwcml2ID0gZGV2X2dldF9kcnZkYXRhKGRldik7CisJdW5zaWduZWQgaW50IHRpbWVvdXQgPSBUQUxJVE9TX1RJTUVPVVQ7CisKKwlzZXRiaXRzMzIocHJpdi0+cmVnICsgVEFMSVRPU19STkdVUkNSX0xPLCBUQUxJVE9TX1JOR1VSQ1JfTE9fU1IpOworCXdoaWxlICghKGluX2JlMzIocHJpdi0+cmVnICsgVEFMSVRPU19STkdVU1JfTE8pICYgVEFMSVRPU19STkdVU1JfTE9fUkQpCisJICAgICAgICYmIC0tdGltZW91dCkKKwkJY3B1X3JlbGF4KCk7CisJaWYgKHRpbWVvdXQgPT0gMCkgeworCQlkZXZfZXJyKGRldiwgImZhaWxlZCB0byByZXNldCBybmcgaHdcbiIpOworCQlyZXR1cm4gLUVOT0RFVjsKKwl9CisKKwkvKiBzdGFydCBnZW5lcmF0aW5nICovCisJc2V0Yml0czMyKHByaXYtPnJlZyArIFRBTElUT1NfUk5HVURTUl9MTywgMCk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCB0YWxpdG9zX3JlZ2lzdGVyX3JuZyhzdHJ1Y3QgZGV2aWNlICpkZXYpCit7CisJc3RydWN0IHRhbGl0b3NfcHJpdmF0ZSAqcHJpdiA9IGRldl9nZXRfZHJ2ZGF0YShkZXYpOworCisJcHJpdi0+cm5nLm5hbWUJCT0gZGV2X2RyaXZlcl9zdHJpbmcoZGV2KSwKKwlwcml2LT5ybmcuaW5pdAkJPSB0YWxpdG9zX3JuZ19pbml0LAorCXByaXYtPnJuZy5kYXRhX3ByZXNlbnQJPSB0YWxpdG9zX3JuZ19kYXRhX3ByZXNlbnQsCisJcHJpdi0+cm5nLmRhdGFfcmVhZAk9IHRhbGl0b3Nfcm5nX2RhdGFfcmVhZCwKKwlwcml2LT5ybmcucHJpdgkJPSAodW5zaWduZWQgbG9uZylkZXY7CisKKwlyZXR1cm4gaHdybmdfcmVnaXN0ZXIoJnByaXYtPnJuZyk7Cit9CisKK3N0YXRpYyB2b2lkIHRhbGl0b3NfdW5yZWdpc3Rlcl9ybmcoc3RydWN0IGRldmljZSAqZGV2KQoreworCXN0cnVjdCB0YWxpdG9zX3ByaXZhdGUgKnByaXYgPSBkZXZfZ2V0X2RydmRhdGEoZGV2KTsKKworCWh3cm5nX3VucmVnaXN0ZXIoJnByaXYtPnJuZyk7Cit9CisKKy8qCisgKiBjcnlwdG8gYWxnCisgKi8KKyNkZWZpbmUgVEFMSVRPU19DUkFfUFJJT1JJVFkJCTMwMDAKKyNkZWZpbmUgVEFMSVRPU19NQVhfS0VZX1NJWkUJCTY0CisjZGVmaW5lIFRBTElUT1NfTUFYX0lWX0xFTkdUSAkJMTYgLyogbWF4IG9mIEFFU19CTE9DS19TSVpFLCBERVMzX0VERV9CTE9DS19TSVpFICovCisKKyNkZWZpbmUgTUQ1X0RJR0VTVF9TSVpFICAgMTYKKworc3RydWN0IHRhbGl0b3NfY3R4IHsKKwlzdHJ1Y3QgZGV2aWNlICpkZXY7CisJX19iZTMyIGRlc2NfaGRyX3RlbXBsYXRlOworCXU4IGtleVtUQUxJVE9TX01BWF9LRVlfU0laRV07CisJdTggaXZbVEFMSVRPU19NQVhfSVZfTEVOR1RIXTsKKwl1bnNpZ25lZCBpbnQga2V5bGVuOworCXVuc2lnbmVkIGludCBlbmNrZXlsZW47CisJdW5zaWduZWQgaW50IGF1dGhrZXlsZW47CisJdW5zaWduZWQgaW50IGF1dGhzaXplOworfTsKKworc3RhdGljIGludCBhZWFkX2F1dGhlbmNfc2V0YXV0aHNpemUoc3RydWN0IGNyeXB0b19hZWFkICphdXRoZW5jLAorCQkJCQkJIHVuc2lnbmVkIGludCBhdXRoc2l6ZSkKK3sKKwlzdHJ1Y3QgdGFsaXRvc19jdHggKmN0eCA9IGNyeXB0b19hZWFkX2N0eChhdXRoZW5jKTsKKworCWN0eC0+YXV0aHNpemUgPSBhdXRoc2l6ZTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGFlYWRfYXV0aGVuY19zZXRrZXkoc3RydWN0IGNyeXB0b19hZWFkICphdXRoZW5jLAorCQkJCQkgICAgY29uc3QgdTggKmtleSwgdW5zaWduZWQgaW50IGtleWxlbikKK3sKKwlzdHJ1Y3QgdGFsaXRvc19jdHggKmN0eCA9IGNyeXB0b19hZWFkX2N0eChhdXRoZW5jKTsKKwlzdHJ1Y3QgcnRhdHRyICpydGEgPSAodm9pZCAqKWtleTsKKwlzdHJ1Y3QgY3J5cHRvX2F1dGhlbmNfa2V5X3BhcmFtICpwYXJhbTsKKwl1bnNpZ25lZCBpbnQgYXV0aGtleWxlbjsKKwl1bnNpZ25lZCBpbnQgZW5ja2V5bGVuOworCisJaWYgKCFSVEFfT0socnRhLCBrZXlsZW4pKQorCQlnb3RvIGJhZGtleTsKKworCWlmIChydGEtPnJ0YV90eXBlICE9IENSWVBUT19BVVRIRU5DX0tFWUFfUEFSQU0pCisJCWdvdG8gYmFka2V5OworCisJaWYgKFJUQV9QQVlMT0FEKHJ0YSkgPCBzaXplb2YoKnBhcmFtKSkKKwkJZ290byBiYWRrZXk7CisKKwlwYXJhbSA9IFJUQV9EQVRBKHJ0YSk7CisJZW5ja2V5bGVuID0gYmUzMl90b19jcHUocGFyYW0tPmVuY2tleWxlbik7CisKKwlrZXkgKz0gUlRBX0FMSUdOKHJ0YS0+cnRhX2xlbik7CisJa2V5bGVuIC09IFJUQV9BTElHTihydGEtPnJ0YV9sZW4pOworCisJaWYgKGtleWxlbiA8IGVuY2tleWxlbikKKwkJZ290byBiYWRrZXk7CisKKwlhdXRoa2V5bGVuID0ga2V5bGVuIC0gZW5ja2V5bGVuOworCisJaWYgKGtleWxlbiA+IFRBTElUT1NfTUFYX0tFWV9TSVpFKQorCQlnb3RvIGJhZGtleTsKKworCW1lbWNweSgmY3R4LT5rZXksIGtleSwga2V5bGVuKTsKKworCWN0eC0+a2V5bGVuID0ga2V5bGVuOworCWN0eC0+ZW5ja2V5bGVuID0gZW5ja2V5bGVuOworCWN0eC0+YXV0aGtleWxlbiA9IGF1dGhrZXlsZW47CisKKwlyZXR1cm4gMDsKKworYmFka2V5OgorCWNyeXB0b19hZWFkX3NldF9mbGFncyhhdXRoZW5jLCBDUllQVE9fVEZNX1JFU19CQURfS0VZX0xFTik7CisJcmV0dXJuIC1FSU5WQUw7Cit9CisKKy8qCisgKiBpcHNlY19lc3BfZWRlc2MgLSBzL3ctZXh0ZW5kZWQgaXBzZWNfZXNwIGRlc2NyaXB0b3IKKyAqIEBzcmNfbmVudHM6IG51bWJlciBvZiBzZWdtZW50cyBpbiBpbnB1dCBzY2F0dGVybGlzdAorICogQGRzdF9uZW50czogbnVtYmVyIG9mIHNlZ21lbnRzIGluIG91dHB1dCBzY2F0dGVybGlzdAorICogQGRtYV9sZW46IGxlbmd0aCBvZiBkbWEgbWFwcGVkIGxpbmtfdGJsIHNwYWNlCisgKiBAZG1hX2xpbmtfdGJsOiBidXMgcGh5c2ljYWwgYWRkcmVzcyBvZiBsaW5rX3RibAorICogQGRlc2M6IGgvdyBkZXNjcmlwdG9yCisgKiBAbGlua190Ymw6IGlucHV0IGFuZCBvdXRwdXQgaC93IGxpbmsgdGFibGVzIChpZiB7c3JjLGRzdH1fbmVudHMgPiAxKQorICoKKyAqIGlmIGRlY3J5cHRpbmcgKHdpdGggYXV0aGNoZWNrKSwgb3IgZWl0aGVyIG9uZSBvZiBzcmNfbmVudHMgb3IgZHN0X25lbnRzCisgKiBpcyBncmVhdGVyIHRoYW4gMSwgYW4gaW50ZWdyaXR5IGNoZWNrIHZhbHVlIGlzIGNvbmNhdGVuYXRlZCB0byB0aGUgZW5kCisgKiBvZiBsaW5rX3RibCBkYXRhCisgKi8KK3N0cnVjdCBpcHNlY19lc3BfZWRlc2MgeworCWludCBzcmNfbmVudHM7CisJaW50IGRzdF9uZW50czsKKwlpbnQgZG1hX2xlbjsKKwlkbWFfYWRkcl90IGRtYV9saW5rX3RibDsKKwlzdHJ1Y3QgdGFsaXRvc19kZXNjIGRlc2M7CisJc3RydWN0IHRhbGl0b3NfcHRyIGxpbmtfdGJsWzBdOworfTsKKworc3RhdGljIHZvaWQgaXBzZWNfZXNwX3VubWFwKHN0cnVjdCBkZXZpY2UgKmRldiwKKwkJCSAgICBzdHJ1Y3QgaXBzZWNfZXNwX2VkZXNjICplZGVzYywKKwkJCSAgICBzdHJ1Y3QgYWVhZF9yZXF1ZXN0ICphcmVxKQoreworCXVubWFwX3NpbmdsZV90YWxpdG9zX3B0cihkZXYsICZlZGVzYy0+ZGVzYy5wdHJbNl0sIERNQV9GUk9NX0RFVklDRSk7CisJdW5tYXBfc2luZ2xlX3RhbGl0b3NfcHRyKGRldiwgJmVkZXNjLT5kZXNjLnB0clszXSwgRE1BX1RPX0RFVklDRSk7CisJdW5tYXBfc2luZ2xlX3RhbGl0b3NfcHRyKGRldiwgJmVkZXNjLT5kZXNjLnB0clsyXSwgRE1BX1RPX0RFVklDRSk7CisJdW5tYXBfc2luZ2xlX3RhbGl0b3NfcHRyKGRldiwgJmVkZXNjLT5kZXNjLnB0clswXSwgRE1BX1RPX0RFVklDRSk7CisKKwlkbWFfdW5tYXBfc2coZGV2LCBhcmVxLT5hc3NvYywgMSwgRE1BX1RPX0RFVklDRSk7CisKKwlpZiAoYXJlcS0+c3JjICE9IGFyZXEtPmRzdCkgeworCQlkbWFfdW5tYXBfc2coZGV2LCBhcmVxLT5zcmMsIGVkZXNjLT5zcmNfbmVudHMgPyA6IDEsCisJCQkgICAgIERNQV9UT19ERVZJQ0UpOworCQlkbWFfdW5tYXBfc2coZGV2LCBhcmVxLT5kc3QsIGVkZXNjLT5kc3RfbmVudHMgPyA6IDEsCisJCQkgICAgIERNQV9GUk9NX0RFVklDRSk7CisJfSBlbHNlIHsKKwkJZG1hX3VubWFwX3NnKGRldiwgYXJlcS0+c3JjLCBlZGVzYy0+c3JjX25lbnRzID8gOiAxLAorCQkJICAgICBETUFfQklESVJFQ1RJT05BTCk7CisJfQorCisJaWYgKGVkZXNjLT5kbWFfbGVuKQorCQlkbWFfdW5tYXBfc2luZ2xlKGRldiwgZWRlc2MtPmRtYV9saW5rX3RibCwgZWRlc2MtPmRtYV9sZW4sCisJCQkJIERNQV9CSURJUkVDVElPTkFMKTsKK30KKworLyoKKyAqIGlwc2VjX2VzcCBkZXNjcmlwdG9yIGNhbGxiYWNrcworICovCitzdGF0aWMgdm9pZCBpcHNlY19lc3BfZW5jcnlwdF9kb25lKHN0cnVjdCBkZXZpY2UgKmRldiwKKwkJCQkgICBzdHJ1Y3QgdGFsaXRvc19kZXNjICpkZXNjLCB2b2lkICpjb250ZXh0LAorCQkJCSAgIGludCBlcnIpCit7CisJc3RydWN0IGFlYWRfcmVxdWVzdCAqYXJlcSA9IGNvbnRleHQ7CisJc3RydWN0IGlwc2VjX2VzcF9lZGVzYyAqZWRlc2MgPQorCQkgY29udGFpbmVyX29mKGRlc2MsIHN0cnVjdCBpcHNlY19lc3BfZWRlc2MsIGRlc2MpOworCXN0cnVjdCBjcnlwdG9fYWVhZCAqYXV0aGVuYyA9IGNyeXB0b19hZWFkX3JlcXRmbShhcmVxKTsKKwlzdHJ1Y3QgdGFsaXRvc19jdHggKmN0eCA9IGNyeXB0b19hZWFkX2N0eChhdXRoZW5jKTsKKwlzdHJ1Y3Qgc2NhdHRlcmxpc3QgKnNnOworCXZvaWQgKmljdmRhdGE7CisKKwlpcHNlY19lc3BfdW5tYXAoZGV2LCBlZGVzYywgYXJlcSk7CisKKwkvKiBjb3B5IHRoZSBnZW5lcmF0ZWQgSUNWIHRvIGRzdCAqLworCWlmIChlZGVzYy0+ZG1hX2xlbikgeworCQlpY3ZkYXRhID0gJmVkZXNjLT5saW5rX3RibFtlZGVzYy0+c3JjX25lbnRzICsKKwkJCQkJICAgZWRlc2MtPmRzdF9uZW50cyArIDFdOworCQlzZyA9IHNnX2xhc3QoYXJlcS0+ZHN0LCBlZGVzYy0+ZHN0X25lbnRzKTsKKwkJbWVtY3B5KChjaGFyICopc2dfdmlydChzZykgKyBzZy0+bGVuZ3RoIC0gY3R4LT5hdXRoc2l6ZSwKKwkJICAgICAgIGljdmRhdGEsIGN0eC0+YXV0aHNpemUpOworCX0KKworCWtmcmVlKGVkZXNjKTsKKworCWFlYWRfcmVxdWVzdF9jb21wbGV0ZShhcmVxLCBlcnIpOworfQorCitzdGF0aWMgdm9pZCBpcHNlY19lc3BfZGVjcnlwdF9kb25lKHN0cnVjdCBkZXZpY2UgKmRldiwKKwkJCQkgICBzdHJ1Y3QgdGFsaXRvc19kZXNjICpkZXNjLCB2b2lkICpjb250ZXh0LAorCQkJCSAgIGludCBlcnIpCit7CisJc3RydWN0IGFlYWRfcmVxdWVzdCAqcmVxID0gY29udGV4dDsKKwlzdHJ1Y3QgaXBzZWNfZXNwX2VkZXNjICplZGVzYyA9CisJCSBjb250YWluZXJfb2YoZGVzYywgc3RydWN0IGlwc2VjX2VzcF9lZGVzYywgZGVzYyk7CisJc3RydWN0IGNyeXB0b19hZWFkICphdXRoZW5jID0gY3J5cHRvX2FlYWRfcmVxdGZtKHJlcSk7CisJc3RydWN0IHRhbGl0b3NfY3R4ICpjdHggPSBjcnlwdG9fYWVhZF9jdHgoYXV0aGVuYyk7CisJc3RydWN0IHNjYXR0ZXJsaXN0ICpzZzsKKwl2b2lkICppY3ZkYXRhOworCisJaXBzZWNfZXNwX3VubWFwKGRldiwgZWRlc2MsIHJlcSk7CisKKwlpZiAoIWVycikgeworCQkvKiBhdXRoIGNoZWNrICovCisJCWlmIChlZGVzYy0+ZG1hX2xlbikKKwkJCWljdmRhdGEgPSAmZWRlc2MtPmxpbmtfdGJsW2VkZXNjLT5zcmNfbmVudHMgKworCQkJCQkJICAgZWRlc2MtPmRzdF9uZW50cyArIDFdOworCQllbHNlCisJCQlpY3ZkYXRhID0gJmVkZXNjLT5saW5rX3RibFswXTsKKworCQlzZyA9IHNnX2xhc3QocmVxLT5kc3QsIGVkZXNjLT5kc3RfbmVudHMgPyA6IDEpOworCQllcnIgPSBtZW1jbXAoaWN2ZGF0YSwgKGNoYXIgKilzZ192aXJ0KHNnKSArIHNnLT5sZW5ndGggLQorCQkJICAgICBjdHgtPmF1dGhzaXplLCBjdHgtPmF1dGhzaXplKSA/IC1FQkFETVNHIDogMDsKKwl9CisKKwlrZnJlZShlZGVzYyk7CisKKwlhZWFkX3JlcXVlc3RfY29tcGxldGUocmVxLCBlcnIpOworfQorCisvKgorICogY29udmVydCBzY2F0dGVybGlzdCB0byBTRUMgaC93IGxpbmsgdGFibGUgZm9ybWF0CisgKiBzdG9wIGF0IGNyeXB0bGVuIGJ5dGVzCisgKi8KK3N0YXRpYyBpbnQgc2dfdG9fbGlua190Ymwoc3RydWN0IHNjYXR0ZXJsaXN0ICpzZywgaW50IHNnX2NvdW50LAorCQkJICAgaW50IGNyeXB0bGVuLCBzdHJ1Y3QgdGFsaXRvc19wdHIgKmxpbmtfdGJsX3B0cikKK3sKKwlpbnQgbl9zZyA9IHNnX2NvdW50OworCisJd2hpbGUgKG5fc2ctLSkgeworCQlsaW5rX3RibF9wdHItPnB0ciA9IGNwdV90b19iZTMyKHNnX2RtYV9hZGRyZXNzKHNnKSk7CisJCWxpbmtfdGJsX3B0ci0+bGVuID0gY3B1X3RvX2JlMTYoc2dfZG1hX2xlbihzZykpOworCQlsaW5rX3RibF9wdHItPmpfZXh0ZW50ID0gMDsKKwkJbGlua190YmxfcHRyKys7CisJCWNyeXB0bGVuIC09IHNnX2RtYV9sZW4oc2cpOworCQlzZyA9IHNnX25leHQoc2cpOworCX0KKworCS8qIGFkanVzdCAoZGVjcmVhc2UpIGxhc3Qgb25lIChvciB0d28pIGVudHJ5J3MgbGVuIHRvIGNyeXB0bGVuICovCisJbGlua190YmxfcHRyLS07CisJd2hpbGUgKGxpbmtfdGJsX3B0ci0+bGVuIDw9ICgtY3J5cHRsZW4pKSB7CisJCS8qIEVtcHR5IHRoaXMgZW50cnksIGFuZCBtb3ZlIHRvIHByZXZpb3VzIG9uZSAqLworCQljcnlwdGxlbiArPSBiZTE2X3RvX2NwdShsaW5rX3RibF9wdHItPmxlbik7CisJCWxpbmtfdGJsX3B0ci0+bGVuID0gMDsKKwkJc2dfY291bnQtLTsKKwkJbGlua190YmxfcHRyLS07CisJfQorCWxpbmtfdGJsX3B0ci0+bGVuID0gY3B1X3RvX2JlMTYoYmUxNl90b19jcHUobGlua190YmxfcHRyLT5sZW4pCisJCQkJCSsgY3J5cHRsZW4pOworCisJLyogdGFnIGVuZCBvZiBsaW5rIHRhYmxlICovCisJbGlua190YmxfcHRyLT5qX2V4dGVudCA9IERFU0NfUFRSX0xOS1RCTF9SRVRVUk47CisKKwlyZXR1cm4gc2dfY291bnQ7Cit9CisKKy8qCisgKiBmaWxsIGluIGFuZCBzdWJtaXQgaXBzZWNfZXNwIGRlc2NyaXB0b3IKKyAqLworc3RhdGljIGludCBpcHNlY19lc3Aoc3RydWN0IGlwc2VjX2VzcF9lZGVzYyAqZWRlc2MsIHN0cnVjdCBhZWFkX3JlcXVlc3QgKmFyZXEsCisJCSAgICAgdTggKmdpdiwgdTY0IHNlcSwKKwkJICAgICB2b2lkICgqY2FsbGJhY2spIChzdHJ1Y3QgZGV2aWNlICpkZXYsCisJCQkJICAgICAgIHN0cnVjdCB0YWxpdG9zX2Rlc2MgKmRlc2MsCisJCQkJICAgICAgIHZvaWQgKmNvbnRleHQsIGludCBlcnJvcikpCit7CisJc3RydWN0IGNyeXB0b19hZWFkICphZWFkID0gY3J5cHRvX2FlYWRfcmVxdGZtKGFyZXEpOworCXN0cnVjdCB0YWxpdG9zX2N0eCAqY3R4ID0gY3J5cHRvX2FlYWRfY3R4KGFlYWQpOworCXN0cnVjdCBkZXZpY2UgKmRldiA9IGN0eC0+ZGV2OworCXN0cnVjdCB0YWxpdG9zX2Rlc2MgKmRlc2MgPSAmZWRlc2MtPmRlc2M7CisJdW5zaWduZWQgaW50IGNyeXB0bGVuID0gYXJlcS0+Y3J5cHRsZW47CisJdW5zaWduZWQgaW50IGF1dGhzaXplID0gY3R4LT5hdXRoc2l6ZTsKKwl1bnNpZ25lZCBpbnQgaXZzaXplOworCWludCBzZ19jb3VudDsKKworCS8qIGhtYWMga2V5ICovCisJbWFwX3NpbmdsZV90YWxpdG9zX3B0cihkZXYsICZkZXNjLT5wdHJbMF0sIGN0eC0+YXV0aGtleWxlbiwgJmN0eC0+a2V5LAorCQkJICAgICAgIDAsIERNQV9UT19ERVZJQ0UpOworCS8qIGhtYWMgZGF0YSAqLworCW1hcF9zaW5nbGVfdGFsaXRvc19wdHIoZGV2LCAmZGVzYy0+cHRyWzFdLCBzZ192aXJ0KGFyZXEtPnNyYykgLQorCQkJICAgICAgIHNnX3ZpcnQoYXJlcS0+YXNzb2MpLCBzZ192aXJ0KGFyZXEtPmFzc29jKSwgMCwKKwkJCSAgICAgICBETUFfVE9fREVWSUNFKTsKKwkvKiBjaXBoZXIgaXYgKi8KKwlpdnNpemUgPSBjcnlwdG9fYWVhZF9pdnNpemUoYWVhZCk7CisJbWFwX3NpbmdsZV90YWxpdG9zX3B0cihkZXYsICZkZXNjLT5wdHJbMl0sIGl2c2l6ZSwgZ2l2ID86IGFyZXEtPml2LCAwLAorCQkJICAgICAgIERNQV9UT19ERVZJQ0UpOworCisJLyogY2lwaGVyIGtleSAqLworCW1hcF9zaW5nbGVfdGFsaXRvc19wdHIoZGV2LCAmZGVzYy0+cHRyWzNdLCBjdHgtPmVuY2tleWxlbiwKKwkJCSAgICAgICAoY2hhciAqKSZjdHgtPmtleSArIGN0eC0+YXV0aGtleWxlbiwgMCwKKwkJCSAgICAgICBETUFfVE9fREVWSUNFKTsKKworCS8qCisJICogY2lwaGVyIGluCisJICogbWFwIGFuZCBhZGp1c3QgY2lwaGVyIGxlbiB0byBhZWFkIHJlcXVlc3QgY3J5cHRsZW4uCisJICogZXh0ZW50IGlzIGJ5dGVzIG9mIEhNQUMgcG9zdHBlbmRlZCB0byBjaXBoZXJ0ZXh0LAorCSAqIHR5cGljYWxseSAxMiBmb3IgaXBzZWMKKwkgKi8KKwlkZXNjLT5wdHJbNF0ubGVuID0gY3B1X3RvX2JlMTYoY3J5cHRsZW4pOworCWRlc2MtPnB0cls0XS5qX2V4dGVudCA9IGF1dGhzaXplOworCisJaWYgKGFyZXEtPnNyYyA9PSBhcmVxLT5kc3QpCisJCXNnX2NvdW50ID0gZG1hX21hcF9zZyhkZXYsIGFyZXEtPnNyYywgZWRlc2MtPnNyY19uZW50cyA/IDogMSwKKwkJCQkgICAgICBETUFfQklESVJFQ1RJT05BTCk7CisJZWxzZQorCQlzZ19jb3VudCA9IGRtYV9tYXBfc2coZGV2LCBhcmVxLT5zcmMsIGVkZXNjLT5zcmNfbmVudHMgPyA6IDEsCisJCQkJICAgICAgRE1BX1RPX0RFVklDRSk7CisKKwlpZiAoc2dfY291bnQgPT0gMSkgeworCQlkZXNjLT5wdHJbNF0ucHRyID0gY3B1X3RvX2JlMzIoc2dfZG1hX2FkZHJlc3MoYXJlcS0+c3JjKSk7CisJfSBlbHNlIHsKKwkJc2dfY291bnQgPSBzZ190b19saW5rX3RibChhcmVxLT5zcmMsIHNnX2NvdW50LCBjcnlwdGxlbiwKKwkJCQkJICAmZWRlc2MtPmxpbmtfdGJsWzBdKTsKKwkJaWYgKHNnX2NvdW50ID4gMSkgeworCQkJZGVzYy0+cHRyWzRdLmpfZXh0ZW50IHw9IERFU0NfUFRSX0xOS1RCTF9KVU1QOworCQkJZGVzYy0+cHRyWzRdLnB0ciA9IGNwdV90b19iZTMyKGVkZXNjLT5kbWFfbGlua190YmwpOworCQkJZG1hX3N5bmNfc2luZ2xlX2Zvcl9kZXZpY2UoY3R4LT5kZXYsIGVkZXNjLT5kbWFfbGlua190YmwsCisJCQkJCQkgICBlZGVzYy0+ZG1hX2xlbiwgRE1BX0JJRElSRUNUSU9OQUwpOworCQl9IGVsc2UgeworCQkJLyogT25seSBvbmUgc2VnbWVudCBub3csIHNvIG5vIGxpbmsgdGJsIG5lZWRlZCAqLworCQkJZGVzYy0+cHRyWzRdLnB0ciA9IGNwdV90b19iZTMyKHNnX2RtYV9hZGRyZXNzKGFyZXEtPnNyYykpOworCQl9CisJfQorCisJLyogY2lwaGVyIG91dCAqLworCWRlc2MtPnB0cls1XS5sZW4gPSBjcHVfdG9fYmUxNihjcnlwdGxlbik7CisJZGVzYy0+cHRyWzVdLmpfZXh0ZW50ID0gYXV0aHNpemU7CisKKwlpZiAoYXJlcS0+c3JjICE9IGFyZXEtPmRzdCkgeworCQlzZ19jb3VudCA9IGRtYV9tYXBfc2coZGV2LCBhcmVxLT5kc3QsIGVkZXNjLT5kc3RfbmVudHMgPyA6IDEsCisJCQkJICAgICAgRE1BX0ZST01fREVWSUNFKTsKKwl9CisKKwlpZiAoc2dfY291bnQgPT0gMSkgeworCQlkZXNjLT5wdHJbNV0ucHRyID0gY3B1X3RvX2JlMzIoc2dfZG1hX2FkZHJlc3MoYXJlcS0+ZHN0KSk7CisJfSBlbHNlIHsKKwkJc3RydWN0IHRhbGl0b3NfcHRyICpsaW5rX3RibF9wdHIgPQorCQkJJmVkZXNjLT5saW5rX3RibFtlZGVzYy0+c3JjX25lbnRzXTsKKwkJc3RydWN0IHNjYXR0ZXJsaXN0ICpzZzsKKworCQlkZXNjLT5wdHJbNV0ucHRyID0gY3B1X3RvX2JlMzIoKHN0cnVjdCB0YWxpdG9zX3B0ciAqKQorCQkJCQkgICAgICAgZWRlc2MtPmRtYV9saW5rX3RibCArCisJCQkJCSAgICAgICBlZGVzYy0+c3JjX25lbnRzKTsKKwkJaWYgKGFyZXEtPnNyYyA9PSBhcmVxLT5kc3QpIHsKKwkJCW1lbWNweShsaW5rX3RibF9wdHIsICZlZGVzYy0+bGlua190YmxbMF0sCisJCQkgICAgICAgZWRlc2MtPnNyY19uZW50cyAqIHNpemVvZihzdHJ1Y3QgdGFsaXRvc19wdHIpKTsKKwkJfSBlbHNlIHsKKwkJCXNnX2NvdW50ID0gc2dfdG9fbGlua190YmwoYXJlcS0+ZHN0LCBzZ19jb3VudCwgY3J5cHRsZW4sCisJCQkJCQkgIGxpbmtfdGJsX3B0cik7CisJCX0KKwkJbGlua190YmxfcHRyICs9IHNnX2NvdW50IC0gMTsKKworCQkvKiBoYW5kbGUgY2FzZSB3aGVyZSBzZ19sYXN0IGNvbnRhaW5zIHRoZSBJQ1YgZXhjbHVzaXZlbHkgKi8KKwkJc2cgPSBzZ19sYXN0KGFyZXEtPmRzdCwgZWRlc2MtPmRzdF9uZW50cyk7CisJCWlmIChzZy0+bGVuZ3RoID09IGN0eC0+YXV0aHNpemUpCisJCQlsaW5rX3RibF9wdHItLTsKKworCQlsaW5rX3RibF9wdHItPmpfZXh0ZW50ID0gMDsKKwkJbGlua190YmxfcHRyKys7CisJCWxpbmtfdGJsX3B0ci0+al9leHRlbnQgPSBERVNDX1BUUl9MTktUQkxfUkVUVVJOOworCQlsaW5rX3RibF9wdHItPmxlbiA9IGNwdV90b19iZTE2KGF1dGhzaXplKTsKKworCQkvKiBpY3YgZGF0YSBmb2xsb3dzIGxpbmsgdGFibGVzICovCisJCWxpbmtfdGJsX3B0ci0+cHRyID0gY3B1X3RvX2JlMzIoKHN0cnVjdCB0YWxpdG9zX3B0ciAqKQorCQkJCQkJZWRlc2MtPmRtYV9saW5rX3RibCArCisJCQkJCSAgICAgICAgZWRlc2MtPnNyY19uZW50cyArCisJCQkJCQllZGVzYy0+ZHN0X25lbnRzICsgMSk7CisKKwkJZGVzYy0+cHRyWzVdLmpfZXh0ZW50IHw9IERFU0NfUFRSX0xOS1RCTF9KVU1QOworCQlkbWFfc3luY19zaW5nbGVfZm9yX2RldmljZShjdHgtPmRldiwgZWRlc2MtPmRtYV9saW5rX3RibCwKKwkJCQkJICAgZWRlc2MtPmRtYV9sZW4sIERNQV9CSURJUkVDVElPTkFMKTsKKwl9CisKKwkvKiBpdiBvdXQgKi8KKwltYXBfc2luZ2xlX3RhbGl0b3NfcHRyKGRldiwgJmRlc2MtPnB0cls2XSwgaXZzaXplLCBjdHgtPml2LCAwLAorCQkJICAgICAgIERNQV9GUk9NX0RFVklDRSk7CisKKwlyZXR1cm4gdGFsaXRvc19zdWJtaXQoZGV2LCBkZXNjLCBjYWxsYmFjaywgYXJlcSk7Cit9CisKKworLyoKKyAqIGRlcml2ZSBudW1iZXIgb2YgZWxlbWVudHMgaW4gc2NhdHRlcmxpc3QKKyAqLworc3RhdGljIGludCBzZ19jb3VudChzdHJ1Y3Qgc2NhdHRlcmxpc3QgKnNnX2xpc3QsIGludCBuYnl0ZXMpCit7CisJc3RydWN0IHNjYXR0ZXJsaXN0ICpzZyA9IHNnX2xpc3Q7CisJaW50IHNnX25lbnRzID0gMDsKKworCXdoaWxlIChuYnl0ZXMpIHsKKwkJc2dfbmVudHMrKzsKKwkJbmJ5dGVzIC09IHNnLT5sZW5ndGg7CisJCXNnID0gc2dfbmV4dChzZyk7CisJfQorCisJcmV0dXJuIHNnX25lbnRzOworfQorCisvKgorICogYWxsb2NhdGUgYW5kIG1hcCB0aGUgaXBzZWNfZXNwIGV4dGVuZGVkIGRlc2NyaXB0b3IKKyAqLworc3RhdGljIHN0cnVjdCBpcHNlY19lc3BfZWRlc2MgKmlwc2VjX2VzcF9lZGVzY19hbGxvYyhzdHJ1Y3QgYWVhZF9yZXF1ZXN0ICphcmVxLAorCQkJCQkJICAgICBpbnQgaWN2X3N0YXNoaW5nKQoreworCXN0cnVjdCBjcnlwdG9fYWVhZCAqYXV0aGVuYyA9IGNyeXB0b19hZWFkX3JlcXRmbShhcmVxKTsKKwlzdHJ1Y3QgdGFsaXRvc19jdHggKmN0eCA9IGNyeXB0b19hZWFkX2N0eChhdXRoZW5jKTsKKwlzdHJ1Y3QgaXBzZWNfZXNwX2VkZXNjICplZGVzYzsKKwlpbnQgc3JjX25lbnRzLCBkc3RfbmVudHMsIGFsbG9jX2xlbiwgZG1hX2xlbjsKKworCWlmIChhcmVxLT5jcnlwdGxlbiArIGN0eC0+YXV0aHNpemUgPiBUQUxJVE9TX01BWF9EQVRBX0xFTikgeworCQlkZXZfZXJyKGN0eC0+ZGV2LCAiY3J5cHRsZW4gZXhjZWVkcyBoL3cgbWF4IGxpbWl0XG4iKTsKKwkJcmV0dXJuIEVSUl9QVFIoLUVJTlZBTCk7CisJfQorCisJc3JjX25lbnRzID0gc2dfY291bnQoYXJlcS0+c3JjLCBhcmVxLT5jcnlwdGxlbiArIGN0eC0+YXV0aHNpemUpOworCXNyY19uZW50cyA9IChzcmNfbmVudHMgPT0gMSkgPyAwIDogc3JjX25lbnRzOworCisJaWYgKGFyZXEtPmRzdCA9PSBhcmVxLT5zcmMpIHsKKwkJZHN0X25lbnRzID0gc3JjX25lbnRzOworCX0gZWxzZSB7CisJCWRzdF9uZW50cyA9IHNnX2NvdW50KGFyZXEtPmRzdCwgYXJlcS0+Y3J5cHRsZW4gKyBjdHgtPmF1dGhzaXplKTsKKwkJZHN0X25lbnRzID0gKGRzdF9uZW50cyA9PSAxKSA/IDAgOiBzcmNfbmVudHM7CisJfQorCisJLyoKKwkgKiBhbGxvY2F0ZSBzcGFjZSBmb3IgYmFzZSBlZGVzYyBwbHVzIHRoZSBsaW5rIHRhYmxlcywKKwkgKiBhbGxvd2luZyBmb3IgYSBzZXBhcmF0ZSBlbnRyeSBmb3IgdGhlIGdlbmVyYXRlZCBJQ1YgKCsgMSksCisJICogYW5kIHRoZSBJQ1YgZGF0YSBpdHNlbGYKKwkgKi8KKwlhbGxvY19sZW4gPSBzaXplb2Yoc3RydWN0IGlwc2VjX2VzcF9lZGVzYyk7CisJaWYgKHNyY19uZW50cyB8fCBkc3RfbmVudHMpIHsKKwkJZG1hX2xlbiA9IChzcmNfbmVudHMgKyBkc3RfbmVudHMgKyAxKSAqCisJCQkJIHNpemVvZihzdHJ1Y3QgdGFsaXRvc19wdHIpICsgY3R4LT5hdXRoc2l6ZTsKKwkJYWxsb2NfbGVuICs9IGRtYV9sZW47CisJfSBlbHNlIHsKKwkJZG1hX2xlbiA9IDA7CisJCWFsbG9jX2xlbiArPSBpY3Zfc3Rhc2hpbmcgPyBjdHgtPmF1dGhzaXplIDogMDsKKwl9CisKKwllZGVzYyA9IGttYWxsb2MoYWxsb2NfbGVuLCBHRlBfRE1BKTsKKwlpZiAoIWVkZXNjKSB7CisJCWRldl9lcnIoY3R4LT5kZXYsICJjb3VsZCBub3QgYWxsb2NhdGUgZWRlc2NyaXB0b3JcbiIpOworCQlyZXR1cm4gRVJSX1BUUigtRU5PTUVNKTsKKwl9CisKKwllZGVzYy0+c3JjX25lbnRzID0gc3JjX25lbnRzOworCWVkZXNjLT5kc3RfbmVudHMgPSBkc3RfbmVudHM7CisJZWRlc2MtPmRtYV9sZW4gPSBkbWFfbGVuOworCWVkZXNjLT5kbWFfbGlua190YmwgPSBkbWFfbWFwX3NpbmdsZShjdHgtPmRldiwgJmVkZXNjLT5saW5rX3RibFswXSwKKwkJCQkJICAgICBlZGVzYy0+ZG1hX2xlbiwgRE1BX0JJRElSRUNUSU9OQUwpOworCisJcmV0dXJuIGVkZXNjOworfQorCitzdGF0aWMgaW50IGFlYWRfYXV0aGVuY19lbmNyeXB0KHN0cnVjdCBhZWFkX3JlcXVlc3QgKnJlcSkKK3sKKwlzdHJ1Y3QgY3J5cHRvX2FlYWQgKmF1dGhlbmMgPSBjcnlwdG9fYWVhZF9yZXF0Zm0ocmVxKTsKKwlzdHJ1Y3QgdGFsaXRvc19jdHggKmN0eCA9IGNyeXB0b19hZWFkX2N0eChhdXRoZW5jKTsKKwlzdHJ1Y3QgaXBzZWNfZXNwX2VkZXNjICplZGVzYzsKKworCS8qIGFsbG9jYXRlIGV4dGVuZGVkIGRlc2NyaXB0b3IgKi8KKwllZGVzYyA9IGlwc2VjX2VzcF9lZGVzY19hbGxvYyhyZXEsIDApOworCWlmIChJU19FUlIoZWRlc2MpKQorCQlyZXR1cm4gUFRSX0VSUihlZGVzYyk7CisKKwkvKiBzZXQgZW5jcnlwdCAqLworCWVkZXNjLT5kZXNjLmhkciA9IGN0eC0+ZGVzY19oZHJfdGVtcGxhdGUgfCBERVNDX0hEUl9NT0RFMF9FTkNSWVBUOworCisJcmV0dXJuIGlwc2VjX2VzcChlZGVzYywgcmVxLCBOVUxMLCAwLCBpcHNlY19lc3BfZW5jcnlwdF9kb25lKTsKK30KKworc3RhdGljIGludCBhZWFkX2F1dGhlbmNfZGVjcnlwdChzdHJ1Y3QgYWVhZF9yZXF1ZXN0ICpyZXEpCit7CisJc3RydWN0IGNyeXB0b19hZWFkICphdXRoZW5jID0gY3J5cHRvX2FlYWRfcmVxdGZtKHJlcSk7CisJc3RydWN0IHRhbGl0b3NfY3R4ICpjdHggPSBjcnlwdG9fYWVhZF9jdHgoYXV0aGVuYyk7CisJdW5zaWduZWQgaW50IGF1dGhzaXplID0gY3R4LT5hdXRoc2l6ZTsKKwlzdHJ1Y3QgaXBzZWNfZXNwX2VkZXNjICplZGVzYzsKKwlzdHJ1Y3Qgc2NhdHRlcmxpc3QgKnNnOworCXZvaWQgKmljdmRhdGE7CisKKwlyZXEtPmNyeXB0bGVuIC09IGF1dGhzaXplOworCisJLyogYWxsb2NhdGUgZXh0ZW5kZWQgZGVzY3JpcHRvciAqLworCWVkZXNjID0gaXBzZWNfZXNwX2VkZXNjX2FsbG9jKHJlcSwgMSk7CisJaWYgKElTX0VSUihlZGVzYykpCisJCXJldHVybiBQVFJfRVJSKGVkZXNjKTsKKworCS8qIHN0YXNoIGluY29taW5nIElDViBmb3IgbGF0ZXIgY21wIHdpdGggSUNWIGdlbmVyYXRlZCBieSB0aGUgaC93ICovCisJaWYgKGVkZXNjLT5kbWFfbGVuKQorCQlpY3ZkYXRhID0gJmVkZXNjLT5saW5rX3RibFtlZGVzYy0+c3JjX25lbnRzICsKKwkJCQkJICAgZWRlc2MtPmRzdF9uZW50cyArIDFdOworCWVsc2UKKwkJaWN2ZGF0YSA9ICZlZGVzYy0+bGlua190YmxbMF07CisKKwlzZyA9IHNnX2xhc3QocmVxLT5zcmMsIGVkZXNjLT5zcmNfbmVudHMgPyA6IDEpOworCisJbWVtY3B5KGljdmRhdGEsIChjaGFyICopc2dfdmlydChzZykgKyBzZy0+bGVuZ3RoIC0gY3R4LT5hdXRoc2l6ZSwKKwkgICAgICAgY3R4LT5hdXRoc2l6ZSk7CisKKwkvKiBkZWNyeXB0ICovCisJZWRlc2MtPmRlc2MuaGRyID0gY3R4LT5kZXNjX2hkcl90ZW1wbGF0ZSB8IERFU0NfSERSX0RJUl9JTkJPVU5EOworCisJcmV0dXJuIGlwc2VjX2VzcChlZGVzYywgcmVxLCBOVUxMLCAwLCBpcHNlY19lc3BfZGVjcnlwdF9kb25lKTsKK30KKworc3RhdGljIGludCBhZWFkX2F1dGhlbmNfZ2l2ZW5jcnlwdCgKKwlzdHJ1Y3QgYWVhZF9naXZjcnlwdF9yZXF1ZXN0ICpyZXEpCit7CisJc3RydWN0IGFlYWRfcmVxdWVzdCAqYXJlcSA9ICZyZXEtPmFyZXE7CisJc3RydWN0IGNyeXB0b19hZWFkICphdXRoZW5jID0gY3J5cHRvX2FlYWRfcmVxdGZtKGFyZXEpOworCXN0cnVjdCB0YWxpdG9zX2N0eCAqY3R4ID0gY3J5cHRvX2FlYWRfY3R4KGF1dGhlbmMpOworCXN0cnVjdCBpcHNlY19lc3BfZWRlc2MgKmVkZXNjOworCisJLyogYWxsb2NhdGUgZXh0ZW5kZWQgZGVzY3JpcHRvciAqLworCWVkZXNjID0gaXBzZWNfZXNwX2VkZXNjX2FsbG9jKGFyZXEsIDApOworCWlmIChJU19FUlIoZWRlc2MpKQorCQlyZXR1cm4gUFRSX0VSUihlZGVzYyk7CisKKwkvKiBzZXQgZW5jcnlwdCAqLworCWVkZXNjLT5kZXNjLmhkciA9IGN0eC0+ZGVzY19oZHJfdGVtcGxhdGUgfCBERVNDX0hEUl9NT0RFMF9FTkNSWVBUOworCisJbWVtY3B5KHJlcS0+Z2l2LCBjdHgtPml2LCBjcnlwdG9fYWVhZF9pdnNpemUoYXV0aGVuYykpOworCisJcmV0dXJuIGlwc2VjX2VzcChlZGVzYywgYXJlcSwgcmVxLT5naXYsIHJlcS0+c2VxLAorCQkJIGlwc2VjX2VzcF9lbmNyeXB0X2RvbmUpOworfQorCitzdHJ1Y3QgdGFsaXRvc19hbGdfdGVtcGxhdGUgeworCWNoYXIgbmFtZVtDUllQVE9fTUFYX0FMR19OQU1FXTsKKwljaGFyIGRyaXZlcl9uYW1lW0NSWVBUT19NQVhfQUxHX05BTUVdOworCXVuc2lnbmVkIGludCBibG9ja3NpemU7CisJc3RydWN0IGFlYWRfYWxnIGFlYWQ7CisJc3RydWN0IGRldmljZSAqZGV2OworCV9fYmUzMiBkZXNjX2hkcl90ZW1wbGF0ZTsKK307CisKK3N0YXRpYyBzdHJ1Y3QgdGFsaXRvc19hbGdfdGVtcGxhdGUgZHJpdmVyX2FsZ3NbXSA9IHsKKwkvKiBzaW5nbGUtcGFzcyBpcHNlY19lc3AgZGVzY3JpcHRvciAqLworCXsKKwkJLm5hbWUgPSAiYXV0aGVuYyhobWFjKHNoYTEpLGNiYyhhZXMpKSIsCisJCS5kcml2ZXJfbmFtZSA9ICJhdXRoZW5jLWhtYWMtc2hhMS1jYmMtYWVzLXRhbGl0b3MiLAorCQkuYmxvY2tzaXplID0gQUVTX0JMT0NLX1NJWkUsCisJCS5hZWFkID0geworCQkJLnNldGtleSA9IGFlYWRfYXV0aGVuY19zZXRrZXksCisJCQkuc2V0YXV0aHNpemUgPSBhZWFkX2F1dGhlbmNfc2V0YXV0aHNpemUsCisJCQkuZW5jcnlwdCA9IGFlYWRfYXV0aGVuY19lbmNyeXB0LAorCQkJLmRlY3J5cHQgPSBhZWFkX2F1dGhlbmNfZGVjcnlwdCwKKwkJCS5naXZlbmNyeXB0ID0gYWVhZF9hdXRoZW5jX2dpdmVuY3J5cHQsCisJCQkuZ2VuaXYgPSAiPGJ1aWx0LWluPiIsCisJCQkuaXZzaXplID0gQUVTX0JMT0NLX1NJWkUsCisJCQkubWF4YXV0aHNpemUgPSBTSEExX0RJR0VTVF9TSVpFLAorCQkJfSwKKwkJLmRlc2NfaGRyX3RlbXBsYXRlID0gREVTQ19IRFJfVFlQRV9JUFNFQ19FU1AgfAorCQkJICAgICAgICAgICAgIERFU0NfSERSX1NFTDBfQUVTVSB8CisJCSAgICAgICAgICAgICAgICAgICAgIERFU0NfSERSX01PREUwX0FFU1VfQ0JDIHwKKwkJICAgICAgICAgICAgICAgICAgICAgREVTQ19IRFJfU0VMMV9NREVVQSB8CisJCSAgICAgICAgICAgICAgICAgICAgIERFU0NfSERSX01PREUxX01ERVVfSU5JVCB8CisJCSAgICAgICAgICAgICAgICAgICAgIERFU0NfSERSX01PREUxX01ERVVfUEFEIHwKKwkJICAgICAgICAgICAgICAgICAgICAgREVTQ19IRFJfTU9ERTFfTURFVV9TSEExX0hNQUMsCisJfSwKKwl7CisJCS5uYW1lID0gImF1dGhlbmMoaG1hYyhzaGExKSxjYmMoZGVzM19lZGUpKSIsCisJCS5kcml2ZXJfbmFtZSA9ICJhdXRoZW5jLWhtYWMtc2hhMS1jYmMtM2Rlcy10YWxpdG9zIiwKKwkJLmJsb2Nrc2l6ZSA9IERFUzNfRURFX0JMT0NLX1NJWkUsCisJCS5hZWFkID0geworCQkJLnNldGtleSA9IGFlYWRfYXV0aGVuY19zZXRrZXksCisJCQkuc2V0YXV0aHNpemUgPSBhZWFkX2F1dGhlbmNfc2V0YXV0aHNpemUsCisJCQkuZW5jcnlwdCA9IGFlYWRfYXV0aGVuY19lbmNyeXB0LAorCQkJLmRlY3J5cHQgPSBhZWFkX2F1dGhlbmNfZGVjcnlwdCwKKwkJCS5naXZlbmNyeXB0ID0gYWVhZF9hdXRoZW5jX2dpdmVuY3J5cHQsCisJCQkuZ2VuaXYgPSAiPGJ1aWx0LWluPiIsCisJCQkuaXZzaXplID0gREVTM19FREVfQkxPQ0tfU0laRSwKKwkJCS5tYXhhdXRoc2l6ZSA9IFNIQTFfRElHRVNUX1NJWkUsCisJCQl9LAorCQkuZGVzY19oZHJfdGVtcGxhdGUgPSBERVNDX0hEUl9UWVBFX0lQU0VDX0VTUCB8CisJCQkgICAgICAgICAgICAgREVTQ19IRFJfU0VMMF9ERVUgfAorCQkgICAgICAgICAgICAgICAgICAgICBERVNDX0hEUl9NT0RFMF9ERVVfQ0JDIHwKKwkJICAgICAgICAgICAgICAgICAgICAgREVTQ19IRFJfTU9ERTBfREVVXzNERVMgfAorCQkgICAgICAgICAgICAgICAgICAgICBERVNDX0hEUl9TRUwxX01ERVVBIHwKKwkJICAgICAgICAgICAgICAgICAgICAgREVTQ19IRFJfTU9ERTFfTURFVV9JTklUIHwKKwkJICAgICAgICAgICAgICAgICAgICAgREVTQ19IRFJfTU9ERTFfTURFVV9QQUQgfAorCQkgICAgICAgICAgICAgICAgICAgICBERVNDX0hEUl9NT0RFMV9NREVVX1NIQTFfSE1BQywKKwl9LAorCXsKKwkJLm5hbWUgPSAiYXV0aGVuYyhobWFjKHNoYTI1NiksY2JjKGFlcykpIiwKKwkJLmRyaXZlcl9uYW1lID0gImF1dGhlbmMtaG1hYy1zaGEyNTYtY2JjLWFlcy10YWxpdG9zIiwKKwkJLmJsb2Nrc2l6ZSA9IEFFU19CTE9DS19TSVpFLAorCQkuYWVhZCA9IHsKKwkJCS5zZXRrZXkgPSBhZWFkX2F1dGhlbmNfc2V0a2V5LAorCQkJLnNldGF1dGhzaXplID0gYWVhZF9hdXRoZW5jX3NldGF1dGhzaXplLAorCQkJLmVuY3J5cHQgPSBhZWFkX2F1dGhlbmNfZW5jcnlwdCwKKwkJCS5kZWNyeXB0ID0gYWVhZF9hdXRoZW5jX2RlY3J5cHQsCisJCQkuZ2l2ZW5jcnlwdCA9IGFlYWRfYXV0aGVuY19naXZlbmNyeXB0LAorCQkJLmdlbml2ID0gIjxidWlsdC1pbj4iLAorCQkJLml2c2l6ZSA9IEFFU19CTE9DS19TSVpFLAorCQkJLm1heGF1dGhzaXplID0gU0hBMjU2X0RJR0VTVF9TSVpFLAorCQkJfSwKKwkJLmRlc2NfaGRyX3RlbXBsYXRlID0gREVTQ19IRFJfVFlQRV9JUFNFQ19FU1AgfAorCQkJICAgICAgICAgICAgIERFU0NfSERSX1NFTDBfQUVTVSB8CisJCSAgICAgICAgICAgICAgICAgICAgIERFU0NfSERSX01PREUwX0FFU1VfQ0JDIHwKKwkJICAgICAgICAgICAgICAgICAgICAgREVTQ19IRFJfU0VMMV9NREVVQSB8CisJCSAgICAgICAgICAgICAgICAgICAgIERFU0NfSERSX01PREUxX01ERVVfSU5JVCB8CisJCSAgICAgICAgICAgICAgICAgICAgIERFU0NfSERSX01PREUxX01ERVVfUEFEIHwKKwkJICAgICAgICAgICAgICAgICAgICAgREVTQ19IRFJfTU9ERTFfTURFVV9TSEEyNTZfSE1BQywKKwl9LAorCXsKKwkJLm5hbWUgPSAiYXV0aGVuYyhobWFjKHNoYTI1NiksY2JjKGRlczNfZWRlKSkiLAorCQkuZHJpdmVyX25hbWUgPSAiYXV0aGVuYy1obWFjLXNoYTI1Ni1jYmMtM2Rlcy10YWxpdG9zIiwKKwkJLmJsb2Nrc2l6ZSA9IERFUzNfRURFX0JMT0NLX1NJWkUsCisJCS5hZWFkID0geworCQkJLnNldGtleSA9IGFlYWRfYXV0aGVuY19zZXRrZXksCisJCQkuc2V0YXV0aHNpemUgPSBhZWFkX2F1dGhlbmNfc2V0YXV0aHNpemUsCisJCQkuZW5jcnlwdCA9IGFlYWRfYXV0aGVuY19lbmNyeXB0LAorCQkJLmRlY3J5cHQgPSBhZWFkX2F1dGhlbmNfZGVjcnlwdCwKKwkJCS5naXZlbmNyeXB0ID0gYWVhZF9hdXRoZW5jX2dpdmVuY3J5cHQsCisJCQkuZ2VuaXYgPSAiPGJ1aWx0LWluPiIsCisJCQkuaXZzaXplID0gREVTM19FREVfQkxPQ0tfU0laRSwKKwkJCS5tYXhhdXRoc2l6ZSA9IFNIQTI1Nl9ESUdFU1RfU0laRSwKKwkJCX0sCisJCS5kZXNjX2hkcl90ZW1wbGF0ZSA9IERFU0NfSERSX1RZUEVfSVBTRUNfRVNQIHwKKwkJCSAgICAgICAgICAgICBERVNDX0hEUl9TRUwwX0RFVSB8CisJCSAgICAgICAgICAgICAgICAgICAgIERFU0NfSERSX01PREUwX0RFVV9DQkMgfAorCQkgICAgICAgICAgICAgICAgICAgICBERVNDX0hEUl9NT0RFMF9ERVVfM0RFUyB8CisJCSAgICAgICAgICAgICAgICAgICAgIERFU0NfSERSX1NFTDFfTURFVUEgfAorCQkgICAgICAgICAgICAgICAgICAgICBERVNDX0hEUl9NT0RFMV9NREVVX0lOSVQgfAorCQkgICAgICAgICAgICAgICAgICAgICBERVNDX0hEUl9NT0RFMV9NREVVX1BBRCB8CisJCSAgICAgICAgICAgICAgICAgICAgIERFU0NfSERSX01PREUxX01ERVVfU0hBMjU2X0hNQUMsCisJfSwKKwl7CisJCS5uYW1lID0gImF1dGhlbmMoaG1hYyhtZDUpLGNiYyhhZXMpKSIsCisJCS5kcml2ZXJfbmFtZSA9ICJhdXRoZW5jLWhtYWMtbWQ1LWNiYy1hZXMtdGFsaXRvcyIsCisJCS5ibG9ja3NpemUgPSBBRVNfQkxPQ0tfU0laRSwKKwkJLmFlYWQgPSB7CisJCQkuc2V0a2V5ID0gYWVhZF9hdXRoZW5jX3NldGtleSwKKwkJCS5zZXRhdXRoc2l6ZSA9IGFlYWRfYXV0aGVuY19zZXRhdXRoc2l6ZSwKKwkJCS5lbmNyeXB0ID0gYWVhZF9hdXRoZW5jX2VuY3J5cHQsCisJCQkuZGVjcnlwdCA9IGFlYWRfYXV0aGVuY19kZWNyeXB0LAorCQkJLmdpdmVuY3J5cHQgPSBhZWFkX2F1dGhlbmNfZ2l2ZW5jcnlwdCwKKwkJCS5nZW5pdiA9ICI8YnVpbHQtaW4+IiwKKwkJCS5pdnNpemUgPSBBRVNfQkxPQ0tfU0laRSwKKwkJCS5tYXhhdXRoc2l6ZSA9IE1ENV9ESUdFU1RfU0laRSwKKwkJCX0sCisJCS5kZXNjX2hkcl90ZW1wbGF0ZSA9IERFU0NfSERSX1RZUEVfSVBTRUNfRVNQIHwKKwkJCSAgICAgICAgICAgICBERVNDX0hEUl9TRUwwX0FFU1UgfAorCQkgICAgICAgICAgICAgICAgICAgICBERVNDX0hEUl9NT0RFMF9BRVNVX0NCQyB8CisJCSAgICAgICAgICAgICAgICAgICAgIERFU0NfSERSX1NFTDFfTURFVUEgfAorCQkgICAgICAgICAgICAgICAgICAgICBERVNDX0hEUl9NT0RFMV9NREVVX0lOSVQgfAorCQkgICAgICAgICAgICAgICAgICAgICBERVNDX0hEUl9NT0RFMV9NREVVX1BBRCB8CisJCSAgICAgICAgICAgICAgICAgICAgIERFU0NfSERSX01PREUxX01ERVVfTUQ1X0hNQUMsCisJfSwKKwl7CisJCS5uYW1lID0gImF1dGhlbmMoaG1hYyhtZDUpLGNiYyhkZXMzX2VkZSkpIiwKKwkJLmRyaXZlcl9uYW1lID0gImF1dGhlbmMtaG1hYy1tZDUtY2JjLTNkZXMtdGFsaXRvcyIsCisJCS5ibG9ja3NpemUgPSBERVMzX0VERV9CTE9DS19TSVpFLAorCQkuYWVhZCA9IHsKKwkJCS5zZXRrZXkgPSBhZWFkX2F1dGhlbmNfc2V0a2V5LAorCQkJLnNldGF1dGhzaXplID0gYWVhZF9hdXRoZW5jX3NldGF1dGhzaXplLAorCQkJLmVuY3J5cHQgPSBhZWFkX2F1dGhlbmNfZW5jcnlwdCwKKwkJCS5kZWNyeXB0ID0gYWVhZF9hdXRoZW5jX2RlY3J5cHQsCisJCQkuZ2l2ZW5jcnlwdCA9IGFlYWRfYXV0aGVuY19naXZlbmNyeXB0LAorCQkJLmdlbml2ID0gIjxidWlsdC1pbj4iLAorCQkJLml2c2l6ZSA9IERFUzNfRURFX0JMT0NLX1NJWkUsCisJCQkubWF4YXV0aHNpemUgPSBNRDVfRElHRVNUX1NJWkUsCisJCQl9LAorCQkuZGVzY19oZHJfdGVtcGxhdGUgPSBERVNDX0hEUl9UWVBFX0lQU0VDX0VTUCB8CisJCQkgICAgICAgICAgICAgREVTQ19IRFJfU0VMMF9ERVUgfAorCQkgICAgICAgICAgICAgICAgICAgICBERVNDX0hEUl9NT0RFMF9ERVVfQ0JDIHwKKwkJICAgICAgICAgICAgICAgICAgICAgREVTQ19IRFJfTU9ERTBfREVVXzNERVMgfAorCQkgICAgICAgICAgICAgICAgICAgICBERVNDX0hEUl9TRUwxX01ERVVBIHwKKwkJICAgICAgICAgICAgICAgICAgICAgREVTQ19IRFJfTU9ERTFfTURFVV9JTklUIHwKKwkJICAgICAgICAgICAgICAgICAgICAgREVTQ19IRFJfTU9ERTFfTURFVV9QQUQgfAorCQkgICAgICAgICAgICAgICAgICAgICBERVNDX0hEUl9NT0RFMV9NREVVX01ENV9ITUFDLAorCX0KK307CisKK3N0cnVjdCB0YWxpdG9zX2NyeXB0b19hbGcgeworCXN0cnVjdCBsaXN0X2hlYWQgZW50cnk7CisJc3RydWN0IGRldmljZSAqZGV2OworCV9fYmUzMiBkZXNjX2hkcl90ZW1wbGF0ZTsKKwlzdHJ1Y3QgY3J5cHRvX2FsZyBjcnlwdG9fYWxnOworfTsKKworc3RhdGljIGludCB0YWxpdG9zX2NyYV9pbml0KHN0cnVjdCBjcnlwdG9fdGZtICp0Zm0pCit7CisJc3RydWN0IGNyeXB0b19hbGcgKmFsZyA9IHRmbS0+X19jcnRfYWxnOworCXN0cnVjdCB0YWxpdG9zX2NyeXB0b19hbGcgKnRhbGl0b3NfYWxnID0KKwkJIGNvbnRhaW5lcl9vZihhbGcsIHN0cnVjdCB0YWxpdG9zX2NyeXB0b19hbGcsIGNyeXB0b19hbGcpOworCXN0cnVjdCB0YWxpdG9zX2N0eCAqY3R4ID0gY3J5cHRvX3RmbV9jdHgodGZtKTsKKworCS8qIHVwZGF0ZSBjb250ZXh0IHdpdGggcHRyIHRvIGRldiAqLworCWN0eC0+ZGV2ID0gdGFsaXRvc19hbGctPmRldjsKKwkvKiBjb3B5IGRlc2NyaXB0b3IgaGVhZGVyIHRlbXBsYXRlIHZhbHVlICovCisJY3R4LT5kZXNjX2hkcl90ZW1wbGF0ZSA9IHRhbGl0b3NfYWxnLT5kZXNjX2hkcl90ZW1wbGF0ZTsKKworCS8qIHJhbmRvbSBmaXJzdCBJViAqLworCWdldF9yYW5kb21fYnl0ZXMoY3R4LT5pdiwgVEFMSVRPU19NQVhfSVZfTEVOR1RIKTsKKworCXJldHVybiAwOworfQorCisvKgorICogZ2l2ZW4gdGhlIGFsZydzIGRlc2NyaXB0b3IgaGVhZGVyIHRlbXBsYXRlLCBkZXRlcm1pbmUgd2hldGhlciBkZXNjcmlwdG9yCisgKiB0eXBlIGFuZCBwcmltYXJ5L3NlY29uZGFyeSBleGVjdXRpb24gdW5pdHMgcmVxdWlyZWQgbWF0Y2ggdGhlIGh3CisgKiBjYXBhYmlsaXRpZXMgZGVzY3JpcHRpb24gcHJvdmlkZWQgaW4gdGhlIGRldmljZSB0cmVlIG5vZGUuCisgKi8KK3N0YXRpYyBpbnQgaHdfc3VwcG9ydHMoc3RydWN0IGRldmljZSAqZGV2LCBfX2JlMzIgZGVzY19oZHJfdGVtcGxhdGUpCit7CisJc3RydWN0IHRhbGl0b3NfcHJpdmF0ZSAqcHJpdiA9IGRldl9nZXRfZHJ2ZGF0YShkZXYpOworCWludCByZXQ7CisKKwlyZXQgPSAoMSA8PCBERVNDX1RZUEUoZGVzY19oZHJfdGVtcGxhdGUpICYgcHJpdi0+ZGVzY190eXBlcykgJiYKKwkgICAgICAoMSA8PCBQUklNQVJZX0VVKGRlc2NfaGRyX3RlbXBsYXRlKSAmIHByaXYtPmV4ZWNfdW5pdHMpOworCisJaWYgKFNFQ09OREFSWV9FVShkZXNjX2hkcl90ZW1wbGF0ZSkpCisJCXJldCA9IHJldCAmJiAoMSA8PCBTRUNPTkRBUllfRVUoZGVzY19oZHJfdGVtcGxhdGUpCisJCSAgICAgICAgICAgICAgJiBwcml2LT5leGVjX3VuaXRzKTsKKworCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBpbnQgX19kZXZleGl0IHRhbGl0b3NfcmVtb3ZlKHN0cnVjdCBvZl9kZXZpY2UgKm9mZGV2KQoreworCXN0cnVjdCBkZXZpY2UgKmRldiA9ICZvZmRldi0+ZGV2OworCXN0cnVjdCB0YWxpdG9zX3ByaXZhdGUgKnByaXYgPSBkZXZfZ2V0X2RydmRhdGEoZGV2KTsKKwlzdHJ1Y3QgdGFsaXRvc19jcnlwdG9fYWxnICp0X2FsZywgKm47CisJaW50IGk7CisKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUodF9hbGcsIG4sICZwcml2LT5hbGdfbGlzdCwgZW50cnkpIHsKKwkJY3J5cHRvX3VucmVnaXN0ZXJfYWxnKCZ0X2FsZy0+Y3J5cHRvX2FsZyk7CisJCWxpc3RfZGVsKCZ0X2FsZy0+ZW50cnkpOworCQlrZnJlZSh0X2FsZyk7CisJfQorCisJaWYgKGh3X3N1cHBvcnRzKGRldiwgREVTQ19IRFJfU0VMMF9STkcpKQorCQl0YWxpdG9zX3VucmVnaXN0ZXJfcm5nKGRldik7CisKKwlrZnJlZShwcml2LT50YWlsKTsKKwlrZnJlZShwcml2LT5oZWFkKTsKKworCWlmIChwcml2LT5maWZvKQorCQlmb3IgKGkgPSAwOyBpIDwgcHJpdi0+bnVtX2NoYW5uZWxzOyBpKyspCisJCQlrZnJlZShwcml2LT5maWZvW2ldKTsKKworCWtmcmVlKHByaXYtPmZpZm8pOworCWtmcmVlKHByaXYtPmhlYWRfbG9jayk7CisJa2ZyZWUocHJpdi0+dGFpbF9sb2NrKTsKKworCWlmIChwcml2LT5pcnEgIT0gTk9fSVJRKSB7CisJCWZyZWVfaXJxKHByaXYtPmlycSwgZGV2KTsKKwkJaXJxX2Rpc3Bvc2VfbWFwcGluZyhwcml2LT5pcnEpOworCX0KKworCXRhc2tsZXRfa2lsbCgmcHJpdi0+ZG9uZV90YXNrKTsKKwl0YXNrbGV0X2tpbGwoJnByaXYtPmVycm9yX3Rhc2spOworCisJaW91bm1hcChwcml2LT5yZWcpOworCisJZGV2X3NldF9kcnZkYXRhKGRldiwgTlVMTCk7CisKKwlrZnJlZShwcml2KTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgc3RydWN0IHRhbGl0b3NfY3J5cHRvX2FsZyAqdGFsaXRvc19hbGdfYWxsb2Moc3RydWN0IGRldmljZSAqZGV2LAorCQkJCQkJICAgIHN0cnVjdCB0YWxpdG9zX2FsZ190ZW1wbGF0ZQorCQkJCQkJICAgICAgICAgICAqdGVtcGxhdGUpCit7CisJc3RydWN0IHRhbGl0b3NfY3J5cHRvX2FsZyAqdF9hbGc7CisJc3RydWN0IGNyeXB0b19hbGcgKmFsZzsKKworCXRfYWxnID0ga3phbGxvYyhzaXplb2Yoc3RydWN0IHRhbGl0b3NfY3J5cHRvX2FsZyksIEdGUF9LRVJORUwpOworCWlmICghdF9hbGcpCisJCXJldHVybiBFUlJfUFRSKC1FTk9NRU0pOworCisJYWxnID0gJnRfYWxnLT5jcnlwdG9fYWxnOworCisJc25wcmludGYoYWxnLT5jcmFfbmFtZSwgQ1JZUFRPX01BWF9BTEdfTkFNRSwgIiVzIiwgdGVtcGxhdGUtPm5hbWUpOworCXNucHJpbnRmKGFsZy0+Y3JhX2RyaXZlcl9uYW1lLCBDUllQVE9fTUFYX0FMR19OQU1FLCAiJXMiLAorCQkgdGVtcGxhdGUtPmRyaXZlcl9uYW1lKTsKKwlhbGctPmNyYV9tb2R1bGUgPSBUSElTX01PRFVMRTsKKwlhbGctPmNyYV9pbml0ID0gdGFsaXRvc19jcmFfaW5pdDsKKwlhbGctPmNyYV9wcmlvcml0eSA9IFRBTElUT1NfQ1JBX1BSSU9SSVRZOworCWFsZy0+Y3JhX2ZsYWdzID0gQ1JZUFRPX0FMR19UWVBFX0FFQUQgfCBDUllQVE9fQUxHX0FTWU5DOworCWFsZy0+Y3JhX2Jsb2Nrc2l6ZSA9IHRlbXBsYXRlLT5ibG9ja3NpemU7CisJYWxnLT5jcmFfYWxpZ25tYXNrID0gMDsKKwlhbGctPmNyYV90eXBlID0gJmNyeXB0b19hZWFkX3R5cGU7CisJYWxnLT5jcmFfY3R4c2l6ZSA9IHNpemVvZihzdHJ1Y3QgdGFsaXRvc19jdHgpOworCWFsZy0+Y3JhX3UuYWVhZCA9IHRlbXBsYXRlLT5hZWFkOworCisJdF9hbGctPmRlc2NfaGRyX3RlbXBsYXRlID0gdGVtcGxhdGUtPmRlc2NfaGRyX3RlbXBsYXRlOworCXRfYWxnLT5kZXYgPSBkZXY7CisKKwlyZXR1cm4gdF9hbGc7Cit9CisKK3N0YXRpYyBpbnQgdGFsaXRvc19wcm9iZShzdHJ1Y3Qgb2ZfZGV2aWNlICpvZmRldiwKKwkJCSBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkICptYXRjaCkKK3sKKwlzdHJ1Y3QgZGV2aWNlICpkZXYgPSAmb2ZkZXYtPmRldjsKKwlzdHJ1Y3QgZGV2aWNlX25vZGUgKm5wID0gb2ZkZXYtPm5vZGU7CisJc3RydWN0IHRhbGl0b3NfcHJpdmF0ZSAqcHJpdjsKKwljb25zdCB1bnNpZ25lZCBpbnQgKnByb3A7CisJaW50IGksIGVycjsKKworCXByaXYgPSBremFsbG9jKHNpemVvZihzdHJ1Y3QgdGFsaXRvc19wcml2YXRlKSwgR0ZQX0tFUk5FTCk7CisJaWYgKCFwcml2KQorCQlyZXR1cm4gLUVOT01FTTsKKworCWRldl9zZXRfZHJ2ZGF0YShkZXYsIHByaXYpOworCisJcHJpdi0+b2ZkZXYgPSBvZmRldjsKKworCXRhc2tsZXRfaW5pdCgmcHJpdi0+ZG9uZV90YXNrLCB0YWxpdG9zX2RvbmUsICh1bnNpZ25lZCBsb25nKWRldik7CisJdGFza2xldF9pbml0KCZwcml2LT5lcnJvcl90YXNrLCB0YWxpdG9zX2Vycm9yLCAodW5zaWduZWQgbG9uZylkZXYpOworCisJcHJpdi0+aXJxID0gaXJxX29mX3BhcnNlX2FuZF9tYXAobnAsIDApOworCisJaWYgKHByaXYtPmlycSA9PSBOT19JUlEpIHsKKwkJZGV2X2VycihkZXYsICJmYWlsZWQgdG8gbWFwIGlycVxuIik7CisJCWVyciA9IC1FSU5WQUw7CisJCWdvdG8gZXJyX291dDsKKwl9CisKKwkvKiBnZXQgdGhlIGlycSBsaW5lICovCisJZXJyID0gcmVxdWVzdF9pcnEocHJpdi0+aXJxLCB0YWxpdG9zX2ludGVycnVwdCwgMCwKKwkJCSAgZGV2X2RyaXZlcl9zdHJpbmcoZGV2KSwgZGV2KTsKKwlpZiAoZXJyKSB7CisJCWRldl9lcnIoZGV2LCAiZmFpbGVkIHRvIHJlcXVlc3QgaXJxICVkXG4iLCBwcml2LT5pcnEpOworCQlpcnFfZGlzcG9zZV9tYXBwaW5nKHByaXYtPmlycSk7CisJCXByaXYtPmlycSA9IE5PX0lSUTsKKwkJZ290byBlcnJfb3V0OworCX0KKworCXByaXYtPnJlZyA9IG9mX2lvbWFwKG5wLCAwKTsKKwlpZiAoIXByaXYtPnJlZykgeworCQlkZXZfZXJyKGRldiwgImZhaWxlZCB0byBvZl9pb21hcFxuIik7CisJCWVyciA9IC1FTk9NRU07CisJCWdvdG8gZXJyX291dDsKKwl9CisKKwkvKiBnZXQgU0VDIHZlcnNpb24gY2FwYWJpbGl0aWVzIGZyb20gZGV2aWNlIHRyZWUgKi8KKwlwcm9wID0gb2ZfZ2V0X3Byb3BlcnR5KG5wLCAiZnNsLG51bS1jaGFubmVscyIsIE5VTEwpOworCWlmIChwcm9wKQorCQlwcml2LT5udW1fY2hhbm5lbHMgPSAqcHJvcDsKKworCXByb3AgPSBvZl9nZXRfcHJvcGVydHkobnAsICJmc2wsY2hhbm5lbC1maWZvLWxlbiIsIE5VTEwpOworCWlmIChwcm9wKQorCQlwcml2LT5jaGZpZm9fbGVuID0gKnByb3A7CisKKwlwcm9wID0gb2ZfZ2V0X3Byb3BlcnR5KG5wLCAiZnNsLGV4ZWMtdW5pdHMtbWFzayIsIE5VTEwpOworCWlmIChwcm9wKQorCQlwcml2LT5leGVjX3VuaXRzID0gKnByb3A7CisKKwlwcm9wID0gb2ZfZ2V0X3Byb3BlcnR5KG5wLCAiZnNsLGRlc2NyaXB0b3ItdHlwZXMtbWFzayIsIE5VTEwpOworCWlmIChwcm9wKQorCQlwcml2LT5kZXNjX3R5cGVzID0gKnByb3A7CisKKwlpZiAoIWlzX3Bvd2VyX29mXzIocHJpdi0+bnVtX2NoYW5uZWxzKSB8fCAhcHJpdi0+Y2hmaWZvX2xlbiB8fAorCSAgICAhcHJpdi0+ZXhlY191bml0cyB8fCAhcHJpdi0+ZGVzY190eXBlcykgeworCQlkZXZfZXJyKGRldiwgImludmFsaWQgcHJvcGVydHkgZGF0YSBpbiBkZXZpY2UgdHJlZSBub2RlXG4iKTsKKwkJZXJyID0gLUVJTlZBTDsKKwkJZ290byBlcnJfb3V0OworCX0KKworCW9mX25vZGVfcHV0KG5wKTsKKwlucCA9IE5VTEw7CisKKwlwcml2LT5oZWFkX2xvY2sgPSBrbWFsbG9jKHNpemVvZihzcGlubG9ja190KSAqIHByaXYtPm51bV9jaGFubmVscywKKwkJCQkgIEdGUF9LRVJORUwpOworCXByaXYtPnRhaWxfbG9jayA9IGttYWxsb2Moc2l6ZW9mKHNwaW5sb2NrX3QpICogcHJpdi0+bnVtX2NoYW5uZWxzLAorCQkJCSAgR0ZQX0tFUk5FTCk7CisJaWYgKCFwcml2LT5oZWFkX2xvY2sgfHwgIXByaXYtPnRhaWxfbG9jaykgeworCQlkZXZfZXJyKGRldiwgImZhaWxlZCB0byBhbGxvY2F0ZSBmaWZvIGxvY2tzXG4iKTsKKwkJZXJyID0gLUVOT01FTTsKKwkJZ290byBlcnJfb3V0OworCX0KKworCWZvciAoaSA9IDA7IGkgPCBwcml2LT5udW1fY2hhbm5lbHM7IGkrKykgeworCQlzcGluX2xvY2tfaW5pdCgmcHJpdi0+aGVhZF9sb2NrW2ldKTsKKwkJc3Bpbl9sb2NrX2luaXQoJnByaXYtPnRhaWxfbG9ja1tpXSk7CisJfQorCisJcHJpdi0+ZmlmbyA9IGttYWxsb2Moc2l6ZW9mKHN0cnVjdCB0YWxpdG9zX3JlcXVlc3QgKikgKgorCQkJICAgICBwcml2LT5udW1fY2hhbm5lbHMsIEdGUF9LRVJORUwpOworCWlmICghcHJpdi0+ZmlmbykgeworCQlkZXZfZXJyKGRldiwgImZhaWxlZCB0byBhbGxvY2F0ZSByZXF1ZXN0IGZpZm9cbiIpOworCQllcnIgPSAtRU5PTUVNOworCQlnb3RvIGVycl9vdXQ7CisJfQorCisJcHJpdi0+Zmlmb19sZW4gPSByb3VuZHVwX3Bvd19vZl90d28ocHJpdi0+Y2hmaWZvX2xlbik7CisKKwlmb3IgKGkgPSAwOyBpIDwgcHJpdi0+bnVtX2NoYW5uZWxzOyBpKyspIHsKKwkJcHJpdi0+Zmlmb1tpXSA9IGt6YWxsb2Moc2l6ZW9mKHN0cnVjdCB0YWxpdG9zX3JlcXVlc3QpICoKKwkJCQkJcHJpdi0+Zmlmb19sZW4sIEdGUF9LRVJORUwpOworCQlpZiAoIXByaXYtPmZpZm9baV0pIHsKKwkJCWRldl9lcnIoZGV2LCAiZmFpbGVkIHRvIGFsbG9jYXRlIHJlcXVlc3QgZmlmbyAlZFxuIiwgaSk7CisJCQllcnIgPSAtRU5PTUVNOworCQkJZ290byBlcnJfb3V0OworCQl9CisJfQorCisJcHJpdi0+aGVhZCA9IGt6YWxsb2Moc2l6ZW9mKGludCkgKiBwcml2LT5udW1fY2hhbm5lbHMsIEdGUF9LRVJORUwpOworCXByaXYtPnRhaWwgPSBremFsbG9jKHNpemVvZihpbnQpICogcHJpdi0+bnVtX2NoYW5uZWxzLCBHRlBfS0VSTkVMKTsKKwlpZiAoIXByaXYtPmhlYWQgfHwgIXByaXYtPnRhaWwpIHsKKwkJZGV2X2VycihkZXYsICJmYWlsZWQgdG8gYWxsb2NhdGUgcmVxdWVzdCBpbmRleCBzcGFjZVxuIik7CisJCWVyciA9IC1FTk9NRU07CisJCWdvdG8gZXJyX291dDsKKwl9CisKKwkvKiByZXNldCBhbmQgaW5pdGlhbGl6ZSB0aGUgaC93ICovCisJZXJyID0gaW5pdF9kZXZpY2UoZGV2KTsKKwlpZiAoZXJyKSB7CisJCWRldl9lcnIoZGV2LCAiZmFpbGVkIHRvIGluaXRpYWxpemUgZGV2aWNlXG4iKTsKKwkJZ290byBlcnJfb3V0OworCX0KKworCS8qIHJlZ2lzdGVyIHRoZSBSTkcsIGlmIGF2YWlsYWJsZSAqLworCWlmIChod19zdXBwb3J0cyhkZXYsIERFU0NfSERSX1NFTDBfUk5HKSkgeworCQllcnIgPSB0YWxpdG9zX3JlZ2lzdGVyX3JuZyhkZXYpOworCQlpZiAoZXJyKSB7CisJCQlkZXZfZXJyKGRldiwgImZhaWxlZCB0byByZWdpc3RlciBod3JuZzogJWRcbiIsIGVycik7CisJCQlnb3RvIGVycl9vdXQ7CisJCX0gZWxzZQorCQkJZGV2X2luZm8oZGV2LCAiaHdybmdcbiIpOworCX0KKworCS8qIHJlZ2lzdGVyIGNyeXB0byBhbGdvcml0aG1zIHRoZSBkZXZpY2Ugc3VwcG9ydHMgKi8KKwlJTklUX0xJU1RfSEVBRCgmcHJpdi0+YWxnX2xpc3QpOworCisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoZHJpdmVyX2FsZ3MpOyBpKyspIHsKKwkJaWYgKGh3X3N1cHBvcnRzKGRldiwgZHJpdmVyX2FsZ3NbaV0uZGVzY19oZHJfdGVtcGxhdGUpKSB7CisJCQlzdHJ1Y3QgdGFsaXRvc19jcnlwdG9fYWxnICp0X2FsZzsKKworCQkJdF9hbGcgPSB0YWxpdG9zX2FsZ19hbGxvYyhkZXYsICZkcml2ZXJfYWxnc1tpXSk7CisJCQlpZiAoSVNfRVJSKHRfYWxnKSkgeworCQkJCWVyciA9IFBUUl9FUlIodF9hbGcpOworCQkJCWdvdG8gZXJyX291dDsKKwkJCX0KKworCQkJZXJyID0gY3J5cHRvX3JlZ2lzdGVyX2FsZygmdF9hbGctPmNyeXB0b19hbGcpOworCQkJaWYgKGVycikgeworCQkJCWRldl9lcnIoZGV2LCAiJXMgYWxnIHJlZ2lzdHJhdGlvbiBmYWlsZWRcbiIsCisJCQkJCXRfYWxnLT5jcnlwdG9fYWxnLmNyYV9kcml2ZXJfbmFtZSk7CisJCQkJa2ZyZWUodF9hbGcpOworCQkJfSBlbHNlIHsKKwkJCQlsaXN0X2FkZF90YWlsKCZ0X2FsZy0+ZW50cnksICZwcml2LT5hbGdfbGlzdCk7CisJCQkJZGV2X2luZm8oZGV2LCAiJXNcbiIsCisJCQkJCSB0X2FsZy0+Y3J5cHRvX2FsZy5jcmFfZHJpdmVyX25hbWUpOworCQkJfQorCQl9CisJfQorCisJcmV0dXJuIDA7CisKK2Vycl9vdXQ6CisJdGFsaXRvc19yZW1vdmUob2ZkZXYpOworCWlmIChucCkKKwkJb2Zfbm9kZV9wdXQobnApOworCisJcmV0dXJuIGVycjsKK30KKworc3RhdGljIHN0cnVjdCBvZl9kZXZpY2VfaWQgdGFsaXRvc19tYXRjaFtdID0geworCXsKKwkJLmNvbXBhdGlibGUgPSAiZnNsLHNlYzIuMCIsCisJfSwKKwl7fSwKK307CitNT0RVTEVfREVWSUNFX1RBQkxFKG9mLCB0YWxpdG9zX21hdGNoKTsKKworc3RhdGljIHN0cnVjdCBvZl9wbGF0Zm9ybV9kcml2ZXIgdGFsaXRvc19kcml2ZXIgPSB7CisJLm5hbWUgPSAidGFsaXRvcyIsCisJLm1hdGNoX3RhYmxlID0gdGFsaXRvc19tYXRjaCwKKwkucHJvYmUgPSB0YWxpdG9zX3Byb2JlLAorCS5yZW1vdmUgPSBfX2RldmV4aXRfcCh0YWxpdG9zX3JlbW92ZSksCit9OworCitzdGF0aWMgaW50IF9faW5pdCB0YWxpdG9zX2luaXQodm9pZCkKK3sKKwlyZXR1cm4gb2ZfcmVnaXN0ZXJfcGxhdGZvcm1fZHJpdmVyKCZ0YWxpdG9zX2RyaXZlcik7Cit9Cittb2R1bGVfaW5pdCh0YWxpdG9zX2luaXQpOworCitzdGF0aWMgdm9pZCBfX2V4aXQgdGFsaXRvc19leGl0KHZvaWQpCit7CisJb2ZfdW5yZWdpc3Rlcl9wbGF0Zm9ybV9kcml2ZXIoJnRhbGl0b3NfZHJpdmVyKTsKK30KK21vZHVsZV9leGl0KHRhbGl0b3NfZXhpdCk7CisKK01PRFVMRV9MSUNFTlNFKCJHUEwiKTsKK01PRFVMRV9BVVRIT1IoIktpbSBQaGlsbGlwcyA8a2ltLnBoaWxsaXBzQGZyZWVzY2FsZS5jb20+Iik7CitNT0RVTEVfREVTQ1JJUFRJT04oIkZyZWVzY2FsZSBpbnRlZ3JhdGVkIHNlY3VyaXR5IGVuZ2luZSAoU0VDKSBkcml2ZXIiKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY3J5cHRvL3RhbGl0b3MuaCBiL2RyaXZlcnMvY3J5cHRvL3RhbGl0b3MuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNDhhNDA1Ci0tLSAvZGV2L251bGwKKysrIGIvZHJpdmVycy9jcnlwdG8vdGFsaXRvcy5oCkBAIC0wLDAgKzEsMTk5IEBACisvKgorICogRnJlZXNjYWxlIFNFQyAodGFsaXRvcykgZGV2aWNlIHJlZ2lzdGVyIGFuZCBkZXNjcmlwdG9yIGhlYWRlciBkZWZpbmVzCisgKgorICogQ29weXJpZ2h0IChjKSAyMDA2LTIwMDggRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAzLiBUaGUgbmFtZSBvZiB0aGUgYXV0aG9yIG1heSBub3QgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMKKyAqICAgIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIEFVVEhPUiBgYEFTIElTJycgQU5EIEFOWSBFWFBSRVNTIE9SCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTCisgKiBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELgorICogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULAorICogSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUCisgKiBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqCisgKi8KKworLyoKKyAqIFRBTElUT1NfeHh4X0xPIGFkZHJlc3NlcyBwb2ludCB0byB0aGUgbG93IGRhdGEgYml0cyAoMzItNjMpIG9mIHRoZSByZWdpc3RlcgorICovCisKKy8qIGdsb2JhbCByZWdpc3RlciBvZmZzZXQgYWRkcmVzc2VzICovCisjZGVmaW5lIFRBTElUT1NfTUNSCQkJMHgxMDMwICAvKiBtYXN0ZXIgY29udHJvbCByZWdpc3RlciAqLworI2RlZmluZSBUQUxJVE9TX01DUl9MTwkJCTB4MTAzOAorI2RlZmluZSAgIFRBTElUT1NfTUNSX1NXUgkJMHgxICAgICAvKiBzL3cgcmVzZXQgKi8KKyNkZWZpbmUgVEFMSVRPU19JTVIJCQkweDEwMDggIC8qIGludGVycnVwdCBtYXNrIHJlZ2lzdGVyICovCisjZGVmaW5lICAgVEFMSVRPU19JTVJfSU5JVAkJMHgxMGZmZiAvKiBlbmFibGUgY2hhbm5lbCBJUlFzICovCisjZGVmaW5lIFRBTElUT1NfSU1SX0xPCQkJMHgxMDBDCisjZGVmaW5lICAgVEFMSVRPU19JTVJfTE9fSU5JVAkJMHgyMDAwMCAvKiBhbGxvdyBSTkdVIGVycm9yIElSUXMgKi8KKyNkZWZpbmUgVEFMSVRPU19JU1IJCQkweDEwMTAgIC8qIGludGVycnVwdCBzdGF0dXMgcmVnaXN0ZXIgKi8KKyNkZWZpbmUgICBUQUxJVE9TX0lTUl9DSEVSUgkJMHhhYSAgICAvKiBjaGFubmVsIGVycm9ycyBtYXNrICovCisjZGVmaW5lICAgVEFMSVRPU19JU1JfQ0hET05FCQkweDU1ICAgIC8qIGNoYW5uZWwgZG9uZSBtYXNrICovCisjZGVmaW5lIFRBTElUT1NfSVNSX0xPCQkJMHgxMDE0CisjZGVmaW5lIFRBTElUT1NfSUNSCQkJMHgxMDE4ICAvKiBpbnRlcnJ1cHQgY2xlYXIgcmVnaXN0ZXIgKi8KKyNkZWZpbmUgVEFMSVRPU19JQ1JfTE8JCQkweDEwMUMKKworLyogY2hhbm5lbCByZWdpc3RlciBhZGRyZXNzIHN0cmlkZSAqLworI2RlZmluZSBUQUxJVE9TX0NIX1NUUklERQkJMHgxMDAKKworLyogY2hhbm5lbCBjb25maWd1cmF0aW9uIHJlZ2lzdGVyICAqLworI2RlZmluZSBUQUxJVE9TX0NDQ1IoY2gpCQkoY2ggKiBUQUxJVE9TX0NIX1NUUklERSArIDB4MTEwOCkKKyNkZWZpbmUgICBUQUxJVE9TX0NDQ1JfQ09OVAkJMHgyICAgIC8qIGNoYW5uZWwgY29udGludWUgKi8KKyNkZWZpbmUgICBUQUxJVE9TX0NDQ1JfUkVTRVQJCTB4MSAgICAvKiBjaGFubmVsIHJlc2V0ICovCisjZGVmaW5lIFRBTElUT1NfQ0NDUl9MTyhjaCkJCShjaCAqIFRBTElUT1NfQ0hfU1RSSURFICsgMHgxMTBjKQorI2RlZmluZSAgIFRBTElUT1NfQ0NDUl9MT19DRFdFCQkweDEwICAgLyogY2hhbi4gZG9uZSB3cml0ZWJhY2sgZW5hYi4gKi8KKyNkZWZpbmUgICBUQUxJVE9TX0NDQ1JfTE9fTlQJCTB4NCAgICAvKiBub3RpZmljYXRpb24gdHlwZSAqLworI2RlZmluZSAgIFRBTElUT1NfQ0NDUl9MT19DRElFCQkweDIgICAgLyogY2hhbm5lbCBkb25lIElSUSBlbmFibGUgKi8KKworLyogQ0NQU1I6IGNoYW5uZWwgcG9pbnRlciBzdGF0dXMgcmVnaXN0ZXIgKi8KKyNkZWZpbmUgVEFMSVRPU19DQ1BTUihjaCkJCShjaCAqIFRBTElUT1NfQ0hfU1RSSURFICsgMHgxMTEwKQorI2RlZmluZSBUQUxJVE9TX0NDUFNSX0xPKGNoKQkJKGNoICogVEFMSVRPU19DSF9TVFJJREUgKyAweDExMTQpCisjZGVmaW5lICAgVEFMSVRPU19DQ1BTUl9MT19ET0YJCTB4ODAwMCAvKiBkb3VibGUgRkYgd3JpdGUgb2Zsb3cgZXJyb3IgKi8KKyNkZWZpbmUgICBUQUxJVE9TX0NDUFNSX0xPX1NPRgkJMHg0MDAwIC8qIHNpbmdsZSBGRiB3cml0ZSBvZmxvdyBlcnJvciAqLworI2RlZmluZSAgIFRBTElUT1NfQ0NQU1JfTE9fTURURQkJMHgyMDAwIC8qIG1hc3RlciBkYXRhIHRyYW5zZmVyIGVycm9yICovCisjZGVmaW5lICAgVEFMSVRPU19DQ1BTUl9MT19TR0RMWgkweDEwMDAgLyogcy9nIGRhdGEgbGVuIHplcm8gZXJyb3IgKi8KKyNkZWZpbmUgICBUQUxJVE9TX0NDUFNSX0xPX0ZQWgkJMHgwODAwIC8qIGZldGNoIHB0ciB6ZXJvIGVycm9yICovCisjZGVmaW5lICAgVEFMSVRPU19DQ1BTUl9MT19JREgJCTB4MDQwMCAvKiBpbGxlZ2FsIGRlc2MgaGRyIGVycm9yICovCisjZGVmaW5lICAgVEFMSVRPU19DQ1BTUl9MT19JRVUJCTB4MDIwMCAvKiBpbnZhbGlkIEVVIGVycm9yICovCisjZGVmaW5lICAgVEFMSVRPU19DQ1BTUl9MT19FVQkJMHgwMTAwIC8qIEVVIGVycm9yIGRldGVjdGVkICovCisjZGVmaW5lICAgVEFMSVRPU19DQ1BTUl9MT19HQgkJMHgwMDgwIC8qIGdhdGhlciBib3VuZGFyeSBlcnJvciAqLworI2RlZmluZSAgIFRBTElUT1NfQ0NQU1JfTE9fR1JMCQkweDAwNDAgLyogZ2F0aGVyIHJldHVybi9sZW5ndGggZXJyb3IgKi8KKyNkZWZpbmUgICBUQUxJVE9TX0NDUFNSX0xPX1NCCQkweDAwMjAgLyogc2NhdHRlciBib3VuZGFyeSBlcnJvciAqLworI2RlZmluZSAgIFRBTElUT1NfQ0NQU1JfTE9fU1JMCQkweDAwMTAgLyogc2NhdHRlciByZXR1cm4vbGVuZ3RoIGVycm9yICovCisKKy8qIGNoYW5uZWwgZmV0Y2ggZmlmbyByZWdpc3RlciAqLworI2RlZmluZSBUQUxJVE9TX0ZGKGNoKQkJCShjaCAqIFRBTElUT1NfQ0hfU1RSSURFICsgMHgxMTQ4KQorI2RlZmluZSBUQUxJVE9TX0ZGX0xPKGNoKQkJKGNoICogVEFMSVRPU19DSF9TVFJJREUgKyAweDExNGMpCisKKy8qIGN1cnJlbnQgZGVzY3JpcHRvciBwb2ludGVyIHJlZ2lzdGVyICovCisjZGVmaW5lIFRBTElUT1NfQ0RQUihjaCkJCShjaCAqIFRBTElUT1NfQ0hfU1RSSURFICsgMHgxMTQwKQorI2RlZmluZSBUQUxJVE9TX0NEUFJfTE8oY2gpCQkoY2ggKiBUQUxJVE9TX0NIX1NUUklERSArIDB4MTE0NCkKKworLyogZGVzY3JpcHRvciBidWZmZXIgcmVnaXN0ZXIgKi8KKyNkZWZpbmUgVEFMSVRPU19ERVNDQlVGKGNoKQkJKGNoICogVEFMSVRPU19DSF9TVFJJREUgKyAweDExODApCisjZGVmaW5lIFRBTElUT1NfREVTQ0JVRl9MTyhjaCkJCShjaCAqIFRBTElUT1NfQ0hfU1RSSURFICsgMHgxMTg0KQorCisvKiBnYXRoZXIgbGluayB0YWJsZSAqLworI2RlZmluZSBUQUxJVE9TX0dBVEhFUihjaCkJCShjaCAqIFRBTElUT1NfQ0hfU1RSSURFICsgMHgxMWMwKQorI2RlZmluZSBUQUxJVE9TX0dBVEhFUl9MTyhjaCkJCShjaCAqIFRBTElUT1NfQ0hfU1RSSURFICsgMHgxMWM0KQorCisvKiBzY2F0dGVyIGxpbmsgdGFibGUgKi8KKyNkZWZpbmUgVEFMSVRPU19TQ0FUVEVSKGNoKQkJKGNoICogVEFMSVRPU19DSF9TVFJJREUgKyAweDExZTApCisjZGVmaW5lIFRBTElUT1NfU0NBVFRFUl9MTyhjaCkJCShjaCAqIFRBTElUT1NfQ0hfU1RSSURFICsgMHgxMWU0KQorCisvKiBleGVjdXRpb24gdW5pdCBpbnRlcnJ1cHQgc3RhdHVzIHJlZ2lzdGVycyAqLworI2RlZmluZSBUQUxJVE9TX0RFVUlTUgkJCTB4MjAzMCAvKiBERVMgdW5pdCAqLworI2RlZmluZSBUQUxJVE9TX0RFVUlTUl9MTwkJMHgyMDM0CisjZGVmaW5lIFRBTElUT1NfQUVTVUlTUgkJCTB4NDAzMCAvKiBBRVMgdW5pdCAqLworI2RlZmluZSBUQUxJVE9TX0FFU1VJU1JfTE8JCTB4NDAzNAorI2RlZmluZSBUQUxJVE9TX01ERVVJU1IJCQkweDYwMzAgLyogbWVzc2FnZSBkaWdlc3QgdW5pdCAqLworI2RlZmluZSBUQUxJVE9TX01ERVVJU1JfTE8JCTB4NjAzNAorI2RlZmluZSBUQUxJVE9TX0FGRVVJU1IJCQkweDgwMzAgLyogYXJjNCB1bml0ICovCisjZGVmaW5lIFRBTElUT1NfQUZFVUlTUl9MTwkJMHg4MDM0CisjZGVmaW5lIFRBTElUT1NfUk5HVUlTUgkJCTB4YTAzMCAvKiByYW5kb20gbnVtYmVyIHVuaXQgKi8KKyNkZWZpbmUgVEFMSVRPU19STkdVSVNSX0xPCQkweGEwMzQKKyNkZWZpbmUgVEFMSVRPU19STkdVU1IJCQkweGEwMjggLyogcm5nIHN0YXR1cyAqLworI2RlZmluZSBUQUxJVE9TX1JOR1VTUl9MTwkJMHhhMDJjCisjZGVmaW5lICAgVEFMSVRPU19STkdVU1JfTE9fUkQJCTB4MQkvKiByZXNldCBkb25lICovCisjZGVmaW5lICAgVEFMSVRPU19STkdVU1JfTE9fT0ZMCQkweGZmMDAwMC8qIG91dHB1dCBGSUZPIGxlbmd0aCAqLworI2RlZmluZSBUQUxJVE9TX1JOR1VEU1IJCQkweGEwMTAJLyogZGF0YSBzaXplICovCisjZGVmaW5lIFRBTElUT1NfUk5HVURTUl9MTwkJMHhhMDE0CisjZGVmaW5lIFRBTElUT1NfUk5HVV9GSUZPCQkweGE4MDAJLyogb3V0cHV0IEZJRk8gKi8KKyNkZWZpbmUgVEFMSVRPU19STkdVX0ZJRk9fTE8JCTB4YTgwNAkvKiBvdXRwdXQgRklGTyAqLworI2RlZmluZSBUQUxJVE9TX1JOR1VSQ1IJCQkweGEwMTgJLyogcmVzZXQgY29udHJvbCAqLworI2RlZmluZSBUQUxJVE9TX1JOR1VSQ1JfTE8JCTB4YTAxYworI2RlZmluZSAgIFRBTElUT1NfUk5HVVJDUl9MT19TUgkJMHgxCS8qIHNvZnR3YXJlIHJlc2V0ICovCisjZGVmaW5lIFRBTElUT1NfUEtFVUlTUgkJCTB4YzAzMCAvKiBwdWJsaWMga2V5IHVuaXQgKi8KKyNkZWZpbmUgVEFMSVRPU19QS0VVSVNSX0xPCQkweGMwMzQKKyNkZWZpbmUgVEFMSVRPU19LRVVJU1IJCQkweGUwMzAgLyoga2FzdW1pIHVuaXQgKi8KKyNkZWZpbmUgVEFMSVRPU19LRVVJU1JfTE8JCTB4ZTAzNAorI2RlZmluZSBUQUxJVE9TX0NSQ1VJU1IJCQkweGYwMzAgLyogY3ljbGljIHJlZHVuZGFuY3kgY2hlY2sgdW5pdCovCisjZGVmaW5lIFRBTElUT1NfQ1JDVUlTUl9MTwkJMHhmMDM0CisKKy8qCisgKiB0YWxpdG9zIGRlc2NyaXB0b3IgaGVhZGVyIChoZHIpIGJpdHMKKyAqLworCisvKiB3cml0dGVuIGJhY2sgd2hlbiBkb25lICovCisjZGVmaW5lIERFU0NfSERSX0RPTkUJCQlfX2NvbnN0YW50X2NwdV90b19iZTMyKDB4ZmYwMDAwMDApCisKKy8qIHByaW1hcnkgZXhlY3V0aW9uIHVuaXQgc2VsZWN0ICovCisjZGVmaW5lCURFU0NfSERSX1NFTDBfTUFTSwkJX19jb25zdGFudF9jcHVfdG9fYmUzMigweGYwMDAwMDAwKQorI2RlZmluZQlERVNDX0hEUl9TRUwwX0FGRVUJCV9fY29uc3RhbnRfY3B1X3RvX2JlMzIoMHgxMDAwMDAwMCkKKyNkZWZpbmUJREVTQ19IRFJfU0VMMF9ERVUJCV9fY29uc3RhbnRfY3B1X3RvX2JlMzIoMHgyMDAwMDAwMCkKKyNkZWZpbmUJREVTQ19IRFJfU0VMMF9NREVVQQkJX19jb25zdGFudF9jcHVfdG9fYmUzMigweDMwMDAwMDAwKQorI2RlZmluZQlERVNDX0hEUl9TRUwwX01ERVVCCQlfX2NvbnN0YW50X2NwdV90b19iZTMyKDB4YjAwMDAwMDApCisjZGVmaW5lCURFU0NfSERSX1NFTDBfUk5HCQlfX2NvbnN0YW50X2NwdV90b19iZTMyKDB4NDAwMDAwMDApCisjZGVmaW5lCURFU0NfSERSX1NFTDBfUEtFVQkJX19jb25zdGFudF9jcHVfdG9fYmUzMigweDUwMDAwMDAwKQorI2RlZmluZQlERVNDX0hEUl9TRUwwX0FFU1UJCV9fY29uc3RhbnRfY3B1X3RvX2JlMzIoMHg2MDAwMDAwMCkKKyNkZWZpbmUJREVTQ19IRFJfU0VMMF9LRVUJCV9fY29uc3RhbnRfY3B1X3RvX2JlMzIoMHg3MDAwMDAwMCkKKyNkZWZpbmUJREVTQ19IRFJfU0VMMF9DUkNVCQlfX2NvbnN0YW50X2NwdV90b19iZTMyKDB4ODAwMDAwMDApCisKKy8qIHByaW1hcnkgZXhlY3V0aW9uIHVuaXQgbW9kZSAoTU9ERTApIGFuZCBkZXJpdmF0aXZlcyAqLworI2RlZmluZQlERVNDX0hEUl9NT0RFMF9FTkNSWVBUCQlfX2NvbnN0YW50X2NwdV90b19iZTMyKDB4MDAxMDAwMDApCisjZGVmaW5lCURFU0NfSERSX01PREUwX0FFU1VfQ0JDCQlfX2NvbnN0YW50X2NwdV90b19iZTMyKDB4MDAyMDAwMDApCisjZGVmaW5lCURFU0NfSERSX01PREUwX0RFVV9DQkMJCV9fY29uc3RhbnRfY3B1X3RvX2JlMzIoMHgwMDQwMDAwMCkKKyNkZWZpbmUJREVTQ19IRFJfTU9ERTBfREVVXzNERVMJCV9fY29uc3RhbnRfY3B1X3RvX2JlMzIoMHgwMDIwMDAwMCkKKyNkZWZpbmUJREVTQ19IRFJfTU9ERTBfTURFVV9JTklUCV9fY29uc3RhbnRfY3B1X3RvX2JlMzIoMHgwMTAwMDAwMCkKKyNkZWZpbmUJREVTQ19IRFJfTU9ERTBfTURFVV9ITUFDCV9fY29uc3RhbnRfY3B1X3RvX2JlMzIoMHgwMDgwMDAwMCkKKyNkZWZpbmUJREVTQ19IRFJfTU9ERTBfTURFVV9QQUQJCV9fY29uc3RhbnRfY3B1X3RvX2JlMzIoMHgwMDQwMDAwMCkKKyNkZWZpbmUJREVTQ19IRFJfTU9ERTBfTURFVV9NRDUJCV9fY29uc3RhbnRfY3B1X3RvX2JlMzIoMHgwMDIwMDAwMCkKKyNkZWZpbmUJREVTQ19IRFJfTU9ERTBfTURFVV9TSEEyNTYJX19jb25zdGFudF9jcHVfdG9fYmUzMigweDAwMTAwMDAwKQorI2RlZmluZQlERVNDX0hEUl9NT0RFMF9NREVVX1NIQTEJX19jb25zdGFudF9jcHVfdG9fYmUzMigweDAwMDAwMDAwKQorI2RlZmluZQlERVNDX0hEUl9NT0RFMF9NREVVX01ENV9ITUFDCShERVNDX0hEUl9NT0RFMF9NREVVX01ENSB8IFwKKwkJCQkJIERFU0NfSERSX01PREUwX01ERVVfSE1BQykKKyNkZWZpbmUJREVTQ19IRFJfTU9ERTBfTURFVV9TSEEyNTZfSE1BQwkoREVTQ19IRFJfTU9ERTBfTURFVV9TSEEyNTYgfCBcCisJCQkJCSBERVNDX0hEUl9NT0RFMF9NREVVX0hNQUMpCisjZGVmaW5lCURFU0NfSERSX01PREUwX01ERVVfU0hBMV9ITUFDCShERVNDX0hEUl9NT0RFMF9NREVVX1NIQTEgfCBcCisJCQkJCSBERVNDX0hEUl9NT0RFMF9NREVVX0hNQUMpCisKKy8qIHNlY29uZGFyeSBleGVjdXRpb24gdW5pdCBzZWxlY3QgKFNFTDEpICovCisjZGVmaW5lCURFU0NfSERSX1NFTDFfTUFTSwkJX19jb25zdGFudF9jcHVfdG9fYmUzMigweDAwMGYwMDAwKQorI2RlZmluZQlERVNDX0hEUl9TRUwxX01ERVVBCQlfX2NvbnN0YW50X2NwdV90b19iZTMyKDB4MDAwMzAwMDApCisjZGVmaW5lCURFU0NfSERSX1NFTDFfTURFVUIJCV9fY29uc3RhbnRfY3B1X3RvX2JlMzIoMHgwMDBiMDAwMCkKKyNkZWZpbmUJREVTQ19IRFJfU0VMMV9DUkNVCQlfX2NvbnN0YW50X2NwdV90b19iZTMyKDB4MDAwODAwMDApCisKKy8qIHNlY29uZGFyeSBleGVjdXRpb24gdW5pdCBtb2RlIChNT0RFMSkgYW5kIGRlcml2YXRpdmVzICovCisjZGVmaW5lCURFU0NfSERSX01PREUxX01ERVVfSU5JVAlfX2NvbnN0YW50X2NwdV90b19iZTMyKDB4MDAwMDEwMDApCisjZGVmaW5lCURFU0NfSERSX01PREUxX01ERVVfSE1BQwlfX2NvbnN0YW50X2NwdV90b19iZTMyKDB4MDAwMDA4MDApCisjZGVmaW5lCURFU0NfSERSX01PREUxX01ERVVfUEFECQlfX2NvbnN0YW50X2NwdV90b19iZTMyKDB4MDAwMDA0MDApCisjZGVmaW5lCURFU0NfSERSX01PREUxX01ERVVfTUQ1CQlfX2NvbnN0YW50X2NwdV90b19iZTMyKDB4MDAwMDAyMDApCisjZGVmaW5lCURFU0NfSERSX01PREUxX01ERVVfU0hBMjU2CV9fY29uc3RhbnRfY3B1X3RvX2JlMzIoMHgwMDAwMDEwMCkKKyNkZWZpbmUJREVTQ19IRFJfTU9ERTFfTURFVV9TSEExCV9fY29uc3RhbnRfY3B1X3RvX2JlMzIoMHgwMDAwMDAwMCkKKyNkZWZpbmUJREVTQ19IRFJfTU9ERTFfTURFVV9NRDVfSE1BQwkoREVTQ19IRFJfTU9ERTFfTURFVV9NRDUgfCBcCisJCQkJCSBERVNDX0hEUl9NT0RFMV9NREVVX0hNQUMpCisjZGVmaW5lCURFU0NfSERSX01PREUxX01ERVVfU0hBMjU2X0hNQUMJKERFU0NfSERSX01PREUxX01ERVVfU0hBMjU2IHwgXAorCQkJCQkgREVTQ19IRFJfTU9ERTFfTURFVV9ITUFDKQorI2RlZmluZQlERVNDX0hEUl9NT0RFMV9NREVVX1NIQTFfSE1BQwkoREVTQ19IRFJfTU9ERTFfTURFVV9TSEExIHwgXAorCQkJCQkgREVTQ19IRFJfTU9ERTFfTURFVV9ITUFDKQorCisvKiBkaXJlY3Rpb24gb2Ygb3ZlcmFsbCBkYXRhIGZsb3cgKERJUikgKi8KKyNkZWZpbmUJREVTQ19IRFJfRElSX0lOQk9VTkQJCV9fY29uc3RhbnRfY3B1X3RvX2JlMzIoMHgwMDAwMDAwMikKKworLyogcmVxdWVzdCBkb25lIG5vdGlmaWNhdGlvbiAoRE4pICovCisjZGVmaW5lCURFU0NfSERSX0RPTkVfTk9USUZZCQlfX2NvbnN0YW50X2NwdV90b19iZTMyKDB4MDAwMDAwMDEpCisKKy8qIGRlc2NyaXB0b3IgdHlwZXMgKi8KKyNkZWZpbmUgREVTQ19IRFJfVFlQRV9BRVNVX0NUUl9OT05TTk9PUAkJX19jb25zdGFudF9jcHVfdG9fYmUzMigwIDw8IDMpCisjZGVmaW5lIERFU0NfSERSX1RZUEVfSVBTRUNfRVNQCQkJX19jb25zdGFudF9jcHVfdG9fYmUzMigxIDw8IDMpCisjZGVmaW5lIERFU0NfSERSX1RZUEVfQ09NTU9OX05PTlNOT09QX05PX0FGRVUJX19jb25zdGFudF9jcHVfdG9fYmUzMigyIDw8IDMpCisjZGVmaW5lIERFU0NfSERSX1RZUEVfSE1BQ19TTk9PUF9OT19BRkVVCV9fY29uc3RhbnRfY3B1X3RvX2JlMzIoNCA8PCAzKQorCisvKiBsaW5rIHRhYmxlIGV4dGVudCBmaWVsZCBiaXRzICovCisjZGVmaW5lIERFU0NfUFRSX0xOS1RCTF9KVU1QCQkJMHg4MAorI2RlZmluZSBERVNDX1BUUl9MTktUQkxfUkVUVVJOCQkJMHgwMgorI2RlZmluZSBERVNDX1BUUl9MTktUQkxfTkVYVAkJCTB4MDEKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZmlyZXdpcmUvZnctY2FyZC5jIGIvZHJpdmVycy9maXJld2lyZS9mdy1jYXJkLmMKaW5kZXggNWI0YzBkOS4uZGE4NzNkNyAxMDA2NDQKLS0tIGEvZHJpdmVycy9maXJld2lyZS9mdy1jYXJkLmMKKysrIGIvZHJpdmVycy9maXJld2lyZS9mdy1jYXJkLmMKQEAgLTE2LDEyICsxNiwxNSBAQAogICogSW5jLiwgNTkgVGVtcGxlIFBsYWNlIC0gU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcsIFVTQS4KICAqLwogCi0jaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+Ci0jaW5jbHVkZSA8bGludXgvZXJybm8uaD4KKyNpbmNsdWRlIDxsaW51eC9jb21wbGV0aW9uLmg+CisjaW5jbHVkZSA8bGludXgvY3JjLWl0dS10Lmg+CiAjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KICNpbmNsdWRlIDxsaW51eC9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9lcnJuby5oPgorI2luY2x1ZGUgPGxpbnV4L2tyZWYuaD4KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KICNpbmNsdWRlIDxsaW51eC9tdXRleC5oPgotI2luY2x1ZGUgPGxpbnV4L2NyYy1pdHUtdC5oPgorCiAjaW5jbHVkZSAiZnctdHJhbnNhY3Rpb24uaCIKICNpbmNsdWRlICJmdy10b3BvbG9neS5oIgogI2luY2x1ZGUgImZ3LWRldmljZS5oIgpAQCAtMzk2LDE0ICszOTksMTYgQEAKIHsKIAlzdGF0aWMgYXRvbWljX3QgaW5kZXggPSBBVE9NSUNfSU5JVCgtMSk7CiAKLQlhdG9taWNfc2V0KCZjYXJkLT5kZXZpY2VfY291bnQsIDApOwogCWNhcmQtPmluZGV4ID0gYXRvbWljX2luY19yZXR1cm4oJmluZGV4KTsKIAljYXJkLT5kcml2ZXIgPSBkcml2ZXI7CiAJY2FyZC0+ZGV2aWNlID0gZGV2aWNlOwogCWNhcmQtPmN1cnJlbnRfdGxhYmVsID0gMDsKIAljYXJkLT50bGFiZWxfbWFzayA9IDA7CiAJY2FyZC0+Y29sb3IgPSAwOworCWNhcmQtPmJyb2FkY2FzdF9jaGFubmVsID0gQlJPQURDQVNUX0NIQU5ORUxfSU5JVElBTDsKIAorCWtyZWZfaW5pdCgmY2FyZC0+a3JlZik7CisJaW5pdF9jb21wbGV0aW9uKCZjYXJkLT5kb25lKTsKIAlJTklUX0xJU1RfSEVBRCgmY2FyZC0+dHJhbnNhY3Rpb25fbGlzdCk7CiAJc3Bpbl9sb2NrX2luaXQoJmNhcmQtPmxvY2spOwogCXNldHVwX3RpbWVyKCZjYXJkLT5mbHVzaF90aW1lciwKQEAgLTQ5Niw3ICs1MDEsNiBAQAogfQogCiBzdGF0aWMgc3RydWN0IGZ3X2NhcmRfZHJpdmVyIGR1bW15X2RyaXZlciA9IHsKLQkubmFtZSAgICAgICAgICAgID0gImR1bW15IiwKIAkuZW5hYmxlICAgICAgICAgID0gZHVtbXlfZW5hYmxlLAogCS51cGRhdGVfcGh5X3JlZyAgPSBkdW1teV91cGRhdGVfcGh5X3JlZywKIAkuc2V0X2NvbmZpZ19yb20gID0gZHVtbXlfc2V0X2NvbmZpZ19yb20sCkBAIC01MDcsNiArNTExLDE0IEBACiB9OwogCiB2b2lkCitmd19jYXJkX3JlbGVhc2Uoc3RydWN0IGtyZWYgKmtyZWYpCit7CisJc3RydWN0IGZ3X2NhcmQgKmNhcmQgPSBjb250YWluZXJfb2Yoa3JlZiwgc3RydWN0IGZ3X2NhcmQsIGtyZWYpOworCisJY29tcGxldGUoJmNhcmQtPmRvbmUpOworfQorCit2b2lkCiBmd19jb3JlX3JlbW92ZV9jYXJkKHN0cnVjdCBmd19jYXJkICpjYXJkKQogewogCWNhcmQtPmRyaXZlci0+dXBkYXRlX3BoeV9yZWcoY2FyZCwgNCwKQEAgLTUyMSwxMiArNTMzLDEwIEBACiAJY2FyZC0+ZHJpdmVyID0gJmR1bW15X2RyaXZlcjsKIAogCWZ3X2Rlc3Ryb3lfbm9kZXMoY2FyZCk7Ci0JLyoKLQkgKiBXYWl0IGZvciBhbGwgZGV2aWNlIHdvcmtxdWV1ZSBqb2JzIHRvIGZpbmlzaC4gIE90aGVyd2lzZSB0aGUKLQkgKiBmaXJld2lyZS1jb3JlIG1vZHVsZSBjb3VsZCBiZSB1bmxvYWRlZCBiZWZvcmUgdGhlIGpvYnMgcmFuLgotCSAqLwotCXdoaWxlIChhdG9taWNfcmVhZCgmY2FyZC0+ZGV2aWNlX2NvdW50KSA+IDApCi0JCW1zbGVlcCgxMDApOworCisJLyogV2FpdCBmb3IgYWxsIHVzZXJzLCBlc3BlY2lhbGx5IGRldmljZSB3b3JrcXVldWUgam9icywgdG8gZmluaXNoLiAqLworCWZ3X2NhcmRfcHV0KGNhcmQpOworCXdhaXRfZm9yX2NvbXBsZXRpb24oJmNhcmQtPmRvbmUpOwogCiAJY2FuY2VsX2RlbGF5ZWRfd29ya19zeW5jKCZjYXJkLT53b3JrKTsKIAlmd19mbHVzaF90cmFuc2FjdGlvbnMoY2FyZCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2ZpcmV3aXJlL2Z3LWRldmljZS5jIGIvZHJpdmVycy9maXJld2lyZS9mdy1kZXZpY2UuYwppbmRleCBkOWM4ZGFmLi4wODU1ZmI1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2ZpcmV3aXJlL2Z3LWRldmljZS5jCisrKyBiL2RyaXZlcnMvZmlyZXdpcmUvZnctZGV2aWNlLmMKQEAgLTE2OCw3ICsxNjgsNyBAQAogCWZ3X25vZGVfcHV0KGRldmljZS0+bm9kZSk7CiAJa2ZyZWUoZGV2aWNlLT5jb25maWdfcm9tKTsKIAlrZnJlZShkZXZpY2UpOwotCWF0b21pY19kZWMoJmNhcmQtPmRldmljZV9jb3VudCk7CisJZndfY2FyZF9wdXQoY2FyZCk7CiB9CiAKIGludCBmd19kZXZpY2VfZW5hYmxlX3BoeXNfZG1hKHN0cnVjdCBmd19kZXZpY2UgKmRldmljZSkKQEAgLTk0Niw4ICs5NDYsNyBAQAogCQkgKi8KIAkJZGV2aWNlX2luaXRpYWxpemUoJmRldmljZS0+ZGV2aWNlKTsKIAkJYXRvbWljX3NldCgmZGV2aWNlLT5zdGF0ZSwgRldfREVWSUNFX0lOSVRJQUxJWklORyk7Ci0JCWF0b21pY19pbmMoJmNhcmQtPmRldmljZV9jb3VudCk7Ci0JCWRldmljZS0+Y2FyZCA9IGNhcmQ7CisJCWRldmljZS0+Y2FyZCA9IGZ3X2NhcmRfZ2V0KGNhcmQpOwogCQlkZXZpY2UtPm5vZGUgPSBmd19ub2RlX2dldChub2RlKTsKIAkJZGV2aWNlLT5ub2RlX2lkID0gbm9kZS0+bm9kZV9pZDsKIAkJZGV2aWNlLT5nZW5lcmF0aW9uID0gY2FyZC0+Z2VuZXJhdGlvbjsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZmlyZXdpcmUvZnctZGV2aWNlLmggYi9kcml2ZXJzL2ZpcmV3aXJlL2Z3LWRldmljZS5oCmluZGV4IDVmMTMxZjUuLjQyMzA1YmIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZmlyZXdpcmUvZnctZGV2aWNlLmgKKysrIGIvZHJpdmVycy9maXJld2lyZS9mdy1kZXZpY2UuaApAQCAtNjIsNyArNjIsNiBAQAogCWJvb2wgY21jOwogCXN0cnVjdCBmd19jYXJkICpjYXJkOwogCXN0cnVjdCBkZXZpY2UgZGV2aWNlOwotCXN0cnVjdCBsaXN0X2hlYWQgbGluazsKIAlzdHJ1Y3QgbGlzdF9oZWFkIGNsaWVudF9saXN0OwogCXUzMiAqY29uZmlnX3JvbTsKIAlzaXplX3QgY29uZmlnX3JvbV9sZW5ndGg7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2ZpcmV3aXJlL2Z3LW9oY2kuYyBiL2RyaXZlcnMvZmlyZXdpcmUvZnctb2hjaS5jCmluZGV4IDBiNjYzMDYuLjMzM2IxMjUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZmlyZXdpcmUvZnctb2hjaS5jCisrKyBiL2RyaXZlcnMvZmlyZXdpcmUvZnctb2hjaS5jCkBAIC0yMjkyLDcgKzIyOTIsNiBAQAogfQogCiBzdGF0aWMgY29uc3Qgc3RydWN0IGZ3X2NhcmRfZHJpdmVyIG9oY2lfZHJpdmVyID0gewotCS5uYW1lCQkJPSBvaGNpX2RyaXZlcl9uYW1lLAogCS5lbmFibGUJCQk9IG9oY2lfZW5hYmxlLAogCS51cGRhdGVfcGh5X3JlZwkJPSBvaGNpX3VwZGF0ZV9waHlfcmVnLAogCS5zZXRfY29uZmlnX3JvbQkJPSBvaGNpX3NldF9jb25maWdfcm9tLApkaWZmIC0tZ2l0IGEvZHJpdmVycy9maXJld2lyZS9mdy10cmFuc2FjdGlvbi5jIGIvZHJpdmVycy9maXJld2lyZS9mdy10cmFuc2FjdGlvbi5jCmluZGV4IDAzYWU4YTcuLjQwZGI4MDcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZmlyZXdpcmUvZnctdHJhbnNhY3Rpb24uYworKysgYi9kcml2ZXJzL2ZpcmV3aXJlL2Z3LXRyYW5zYWN0aW9uLmMKQEAgLTU1LDYgKzU1LDkgQEAKICNkZWZpbmUgSEVBREVSX0dFVF9EQVRBX0xFTkdUSChxKQkoKChxKSA+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+Z2FydF9pbmZvLnRhYmxlX3NpemU7CiAKLQkJCWRybV9jb3JlX2lvcmVtYXAoJmRldl9wcml2LT5nYXJ0X2luZm8ubWFwcGluZywgZGV2KTsKKwkJCWRybV9jb3JlX2lvcmVtYXBfd2MoJmRldl9wcml2LT5nYXJ0X2luZm8ubWFwcGluZywgZGV2KTsKIAkJCWRldl9wcml2LT5nYXJ0X2luZm8uYWRkciA9CiAJCQkgICAgZGV2X3ByaXYtPmdhcnRfaW5mby5tYXBwaW5nLmhhbmRsZTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9yYWRlb25fZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9kcnYuYwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9yYWRlb25fZHJ2LmMKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2Rydi5jCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL3JhZGVvbl9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2Rydi5oCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL3JhZGVvbl9kcnYuaApyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fZHJ2LmgKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vcmFkZW9uX2lvYzMyLmMgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9pb2MzMi5jCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL3JhZGVvbl9pb2MzMi5jCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9pb2MzMi5jCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL3JhZGVvbl9pcnEuYyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2lycS5jCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL3JhZGVvbl9pcnEuYwpyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25faXJxLmMKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vcmFkZW9uX21lbS5jIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fbWVtLmMKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vcmFkZW9uX21lbS5jCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9tZW0uYwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9yYWRlb25fbWljcm9jb2RlLmggYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9taWNyb2NvZGUuaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9yYWRlb25fbWljcm9jb2RlLmgKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX21pY3JvY29kZS5oCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL3JhZGVvbl9zdGF0ZS5jIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fc3RhdGUuYwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9yYWRlb25fc3RhdGUuYwpyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fc3RhdGUuYwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3NhdmFnZS9NYWtlZmlsZSBiL2RyaXZlcnMvZ3B1L2RybS9zYXZhZ2UvTWFrZWZpbGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDhmODRhYwotLS0gL2Rldi9udWxsCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9zYXZhZ2UvTWFrZWZpbGUKQEAgLTAsMCArMSw5IEBACisjCisjIE1ha2VmaWxlIGZvciB0aGUgZHJtIGRldmljZSBkcml2ZXIuICBUaGlzIGRyaXZlciBwcm92aWRlcyBzdXBwb3J0IGZvciB0aGUKKyMgRGlyZWN0IFJlbmRlcmluZyBJbmZyYXN0cnVjdHVyZSAoRFJJKSBpbiBYRnJlZTg2IDQuMS4wIGFuZCBoaWdoZXIuCisKK2NjZmxhZ3MteSA9IC1JaW5jbHVkZS9kcm0KK3NhdmFnZS15IDo9IHNhdmFnZV9kcnYubyBzYXZhZ2VfYmNpLm8gc2F2YWdlX3N0YXRlLm8KKworb2JqLSQoQ09ORklHX0RSTV9TQVZBR0UpKz0gc2F2YWdlLm8KKwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9zYXZhZ2VfYmNpLmMgYi9kcml2ZXJzL2dwdS9kcm0vc2F2YWdlL3NhdmFnZV9iY2kuYwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9zYXZhZ2VfYmNpLmMKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS9zYXZhZ2Uvc2F2YWdlX2JjaS5jCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL3NhdmFnZV9kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS9zYXZhZ2Uvc2F2YWdlX2Rydi5jCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL3NhdmFnZV9kcnYuYwpyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL3NhdmFnZS9zYXZhZ2VfZHJ2LmMKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vc2F2YWdlX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL3NhdmFnZS9zYXZhZ2VfZHJ2LmgKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vc2F2YWdlX2Rydi5oCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vc2F2YWdlL3NhdmFnZV9kcnYuaApkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9zYXZhZ2Vfc3RhdGUuYyBiL2RyaXZlcnMvZ3B1L2RybS9zYXZhZ2Uvc2F2YWdlX3N0YXRlLmMKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vc2F2YWdlX3N0YXRlLmMKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS9zYXZhZ2Uvc2F2YWdlX3N0YXRlLmMKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9zaXMvTWFrZWZpbGUgYi9kcml2ZXJzL2dwdS9kcm0vc2lzL01ha2VmaWxlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ0MWMwNjEKLS0tIC9kZXYvbnVsbAorKysgYi9kcml2ZXJzL2dwdS9kcm0vc2lzL01ha2VmaWxlCkBAIC0wLDAgKzEsMTAgQEAKKyMKKyMgTWFrZWZpbGUgZm9yIHRoZSBkcm0gZGV2aWNlIGRyaXZlci4gIFRoaXMgZHJpdmVyIHByb3ZpZGVzIHN1cHBvcnQgZm9yIHRoZQorIyBEaXJlY3QgUmVuZGVyaW5nIEluZnJhc3RydWN0dXJlIChEUkkpIGluIFhGcmVlODYgNC4xLjAgYW5kIGhpZ2hlci4KKworY2NmbGFncy15ID0gLUlpbmNsdWRlL2RybQorc2lzLXkgOj0gc2lzX2Rydi5vIHNpc19tbS5vCisKK29iai0kKENPTkZJR19EUk1fU0lTKSAgICs9IHNpcy5vCisKKwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9zaXNfZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0vc2lzL3Npc19kcnYuYwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9zaXNfZHJ2LmMKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS9zaXMvc2lzX2Rydi5jCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL3Npc19kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9zaXMvc2lzX2Rydi5oCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL3Npc19kcnYuaApyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL3Npcy9zaXNfZHJ2LmgKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vc2lzX21tLmMgYi9kcml2ZXJzL2dwdS9kcm0vc2lzL3Npc19tbS5jCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL3Npc19tbS5jCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vc2lzL3Npc19tbS5jCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdGRmeC9NYWtlZmlsZSBiL2RyaXZlcnMvZ3B1L2RybS90ZGZ4L01ha2VmaWxlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAzNzlmMjkKLS0tIC9kZXYvbnVsbAorKysgYi9kcml2ZXJzL2dwdS9kcm0vdGRmeC9NYWtlZmlsZQpAQCAtMCwwICsxLDggQEAKKyMKKyMgTWFrZWZpbGUgZm9yIHRoZSBkcm0gZGV2aWNlIGRyaXZlci4gIFRoaXMgZHJpdmVyIHByb3ZpZGVzIHN1cHBvcnQgZm9yIHRoZQorIyBEaXJlY3QgUmVuZGVyaW5nIEluZnJhc3RydWN0dXJlIChEUkkpIGluIFhGcmVlODYgNC4xLjAgYW5kIGhpZ2hlci4KKworY2NmbGFncy15IDo9IC1JaW5jbHVkZS9kcm0KK3RkZngteSA6PSB0ZGZ4X2Rydi5vCisKK29iai0kKENPTkZJR19EUk1fVERGWCkJKz0gdGRmeC5vCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL3RkZnhfZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0vdGRmeC90ZGZ4X2Rydi5jCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL3RkZnhfZHJ2LmMKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS90ZGZ4L3RkZnhfZHJ2LmMKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vdGRmeF9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS90ZGZ4L3RkZnhfZHJ2LmgKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vdGRmeF9kcnYuaApyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL3RkZngvdGRmeF9kcnYuaApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3ZpYS9NYWtlZmlsZSBiL2RyaXZlcnMvZ3B1L2RybS92aWEvTWFrZWZpbGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDU5ZTI1OAotLS0gL2Rldi9udWxsCisrKyBiL2RyaXZlcnMvZ3B1L2RybS92aWEvTWFrZWZpbGUKQEAgLTAsMCArMSw4IEBACisjCisjIE1ha2VmaWxlIGZvciB0aGUgZHJtIGRldmljZSBkcml2ZXIuICBUaGlzIGRyaXZlciBwcm92aWRlcyBzdXBwb3J0IGZvciB0aGUKKyMgRGlyZWN0IFJlbmRlcmluZyBJbmZyYXN0cnVjdHVyZSAoRFJJKSBpbiBYRnJlZTg2IDQuMS4wIGFuZCBoaWdoZXIuCisKK2NjZmxhZ3MteSA6PSAtSWluY2x1ZGUvZHJtCit2aWEteSAgICA6PSB2aWFfaXJxLm8gdmlhX2Rydi5vIHZpYV9tYXAubyB2aWFfbW0ubyB2aWFfZG1hLm8gdmlhX3ZlcmlmaWVyLm8gdmlhX3ZpZGVvLm8gdmlhX2RtYWJsaXQubworCitvYmotJChDT05GSUdfRFJNX1ZJQSkJKz12aWEubwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS92aWFfM2RfcmVnLmggYi9kcml2ZXJzL2dwdS9kcm0vdmlhL3ZpYV8zZF9yZWcuaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS92aWFfM2RfcmVnLmgKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS92aWEvdmlhXzNkX3JlZy5oCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL3ZpYV9kbWEuYyBiL2RyaXZlcnMvZ3B1L2RybS92aWEvdmlhX2RtYS5jCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL3ZpYV9kbWEuYwpyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL3ZpYS92aWFfZG1hLmMKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vdmlhX2RtYWJsaXQuYyBiL2RyaXZlcnMvZ3B1L2RybS92aWEvdmlhX2RtYWJsaXQuYwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS92aWFfZG1hYmxpdC5jCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vdmlhL3ZpYV9kbWFibGl0LmMKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vdmlhX2RtYWJsaXQuaCBiL2RyaXZlcnMvZ3B1L2RybS92aWEvdmlhX2RtYWJsaXQuaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS92aWFfZG1hYmxpdC5oCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vdmlhL3ZpYV9kbWFibGl0LmgKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vdmlhX2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL3ZpYS92aWFfZHJ2LmMKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vdmlhX2Rydi5jCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vdmlhL3ZpYV9kcnYuYwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS92aWFfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vdmlhL3ZpYV9kcnYuaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS92aWFfZHJ2LmgKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS92aWEvdmlhX2Rydi5oCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL3ZpYV9pcnEuYyBiL2RyaXZlcnMvZ3B1L2RybS92aWEvdmlhX2lycS5jCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL3ZpYV9pcnEuYwpyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL3ZpYS92aWFfaXJxLmMKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vdmlhX21hcC5jIGIvZHJpdmVycy9ncHUvZHJtL3ZpYS92aWFfbWFwLmMKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vdmlhX21hcC5jCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vdmlhL3ZpYV9tYXAuYwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS92aWFfbW0uYyBiL2RyaXZlcnMvZ3B1L2RybS92aWEvdmlhX21tLmMKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vdmlhX21tLmMKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS92aWEvdmlhX21tLmMKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vdmlhX3ZlcmlmaWVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vdmlhL3ZpYV92ZXJpZmllci5jCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL3ZpYV92ZXJpZmllci5jCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vdmlhL3ZpYV92ZXJpZmllci5jCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL3ZpYV92ZXJpZmllci5oIGIvZHJpdmVycy9ncHUvZHJtL3ZpYS92aWFfdmVyaWZpZXIuaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS92aWFfdmVyaWZpZXIuaApyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL3ZpYS92aWFfdmVyaWZpZXIuaApkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS92aWFfdmlkZW8uYyBiL2RyaXZlcnMvZ3B1L2RybS92aWEvdmlhX3ZpZGVvLmMKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vdmlhX3ZpZGVvLmMKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS92aWEvdmlhX3ZpZGVvLmMKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaGlkL2hpZHJhdy5jIGIvZHJpdmVycy9oaWQvaGlkcmF3LmMKaW5kZXggMWNhNmY0Ni4uMmZkZTZjNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9oaWQvaGlkcmF3LmMKKysrIGIvZHJpdmVycy9oaWQvaGlkcmF3LmMKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlIDxsaW51eC9tYWpvci5oPgogI2luY2x1ZGUgPGxpbnV4L2hpZC5oPgogI2luY2x1ZGUgPGxpbnV4L211dGV4Lmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KIAogI2luY2x1ZGUgPGxpbnV4L2hpZHJhdy5oPgogCkBAIC0xNTcsNiArMTU4LDcgQEAKIAlzdHJ1Y3QgaGlkcmF3X2xpc3QgKmxpc3Q7CiAJaW50IGVyciA9IDA7CiAKKwlsb2NrX2tlcm5lbCgpOwogCWlmICghKGxpc3QgPSBremFsbG9jKHNpemVvZihzdHJ1Y3QgaGlkcmF3X2xpc3QpLCBHRlBfS0VSTkVMKSkpIHsKIAkJZXJyID0gLUVOT01FTTsKIAkJZ290byBvdXQ7CkBAIC0xODMsNiArMTg1LDcgQEAKIG91dF91bmxvY2s6CiAJc3Bpbl91bmxvY2soJm1pbm9yc19sb2NrKTsKIG91dDoKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIGVycjsKIAogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pMmMvYWxnb3MvaTJjLWFsZ28tYml0LmMgYi9kcml2ZXJzL2kyYy9hbGdvcy9pMmMtYWxnby1iaXQuYwppbmRleCAzNTgxMjgyLi5lYjhmNzJjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2kyYy9hbGdvcy9pMmMtYWxnby1iaXQuYworKysgYi9kcml2ZXJzL2kyYy9hbGdvcy9pMmMtYWxnby1iaXQuYwpAQCAtMzIwLDcgKzMyMCw3IEBACiAJCSAgICAgICB1bnNpZ25lZCBjaGFyIGFkZHIsIGludCByZXRyaWVzKQogewogCXN0cnVjdCBpMmNfYWxnb19iaXRfZGF0YSAqYWRhcCA9IGkyY19hZGFwLT5hbGdvX2RhdGE7Ci0JaW50IGksIHJldCA9IC0xOworCWludCBpLCByZXQgPSAwOwogCiAJZm9yIChpID0gMDsgaSA8PSByZXRyaWVzOyBpKyspIHsKIAkJcmV0ID0gaTJjX291dGIoaTJjX2FkYXAsIGFkZHIpOwpAQCAtNTA4LDcgKzUwOCw3IEBACiAJCQlhZGRyIF49IDE7CiAJCXJldCA9IHRyeV9hZGRyZXNzKGkyY19hZGFwLCBhZGRyLCByZXRyaWVzKTsKIAkJaWYgKChyZXQgIT0gMSkgJiYgIW5ha19vaykKLQkJCXJldHVybiAtRVJFTU9URUlPOworCQkJcmV0dXJuIC1FTlhJTzsKIAl9CiAKIAlyZXR1cm4gMDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaTJjL2FsZ29zL2kyYy1hbGdvLXBjYS5jIGIvZHJpdmVycy9pMmMvYWxnb3MvaTJjLWFsZ28tcGNhLmMKaW5kZXggZTk1NGEyMGIuLmQ1MGIzMjkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaTJjL2FsZ29zL2kyYy1hbGdvLXBjYS5jCisrKyBiL2RyaXZlcnMvaTJjL2FsZ29zL2kyYy1hbGdvLXBjYS5jCkBAIC0xODIsNyArMTgyLDcgQEAKIAl9CiAJaWYgKHN0YXRlICE9IDB4ZjgpIHsKIAkJZGV2X2RiZygmaTJjX2FkYXAtPmRldiwgImJ1cyBpcyBub3QgaWRsZS4gc3RhdHVzIGlzICUjMDR4XG4iLCBzdGF0ZSk7Ci0JCXJldHVybiAtRUlPOworCQlyZXR1cm4gLUVBR0FJTjsKIAl9CiAKIAlERUIxKCJ7e3sgWEZFUiAlZCBtZXNzYWdlc1xuIiwgbnVtKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaTJjL2FsZ29zL2kyYy1hbGdvLXBjZi5jIGIvZHJpdmVycy9pMmMvYWxnb3MvaTJjLWFsZ28tcGNmLmMKaW5kZXggODkwN2IwMS4uMWUzMjhkMTkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaTJjL2FsZ29zL2kyYy1hbGdvLXBjZi5jCisrKyBiL2RyaXZlcnMvaTJjL2FsZ29zL2kyYy1hbGdvLXBjZi5jCkBAIC03OCw2ICs3OCwzNiBAQAogCXNldF9wY2YoYWRhcCwgMSwgSTJDX1BDRl9TVE9QKTsKIH0KIAorc3RhdGljIHZvaWQgaGFuZGxlX2xhYihzdHJ1Y3QgaTJjX2FsZ29fcGNmX2RhdGEgKmFkYXAsIGNvbnN0IGludCAqc3RhdHVzKQoreworCURFQjIocHJpbnRrKEtFUk5fSU5GTworCQkiaTJjLWFsZ28tcGNmLm86IGxvc3QgYXJiaXRyYXRpb24gKENTUiAweCUwMngpXG4iLAorCQkgKnN0YXR1cykpOworCisJLyogQ2xlYW51cCBmcm9tIExBQiAtLSByZXNldCBhbmQgZW5hYmxlIEVTTy4KKwkgKiBUaGlzIHJlc2V0cyB0aGUgUENGODU4NDsgc2luY2Ugd2UndmUgbG9zdCB0aGUgYnVzLCBubworCSAqIGZ1cnRoZXIgYXR0ZW1wdHMgc2hvdWxkIGJlIG1hZGUgYnkgY2FsbGVycyB0byBjbGVhbiB1cAorCSAqIChubyBpMmNfc3RvcCgpIGV0Yy4pCisJICovCisJc2V0X3BjZihhZGFwLCAxLCBJMkNfUENGX1BJTik7CisJc2V0X3BjZihhZGFwLCAxLCBJMkNfUENGX0VTTyk7CisKKwkvKiBXZSBwYXVzZSBmb3IgYSB0aW1lIHBlcmlvZCBzdWZmaWNpZW50IGZvciBhbnkgcnVubmluZworCSAqIEkyQyB0cmFuc2FjdGlvbiB0byBjb21wbGV0ZSAtLSB0aGUgYXJiaXRyYXRpb24gbG9naWMgd29uJ3QKKwkgKiB3b3JrIHByb3Blcmx5IHVudGlsIHRoZSBuZXh0IFNUQVJUIGlzIHNlZW4uCisJICogSXQgaXMgYXNzdW1lZCB0aGUgYnVzIGRyaXZlciBvciBjbGllbnQgaGFzIHNldCBhIHByb3BlciB2YWx1ZS4KKwkgKgorCSAqIFJFVklTSVQ6IHNob3VsZCBwcm9iYWJseSB1c2UgbXNsZWVwIGluc3RlYWQgb2YgbWRlbGF5IGlmIHdlCisJICoga25vdyB3ZSBjYW4gc2xlZXAuCisJICovCisJaWYgKGFkYXAtPmxhYl9tZGVsYXkpCisJCW1kZWxheShhZGFwLT5sYWJfbWRlbGF5KTsKKworCURFQjIocHJpbnRrKEtFUk5fSU5GTworCQkiaTJjLWFsZ28tcGNmLm86IHJlc2V0IExBQiBjb25kaXRpb24gKENTUiAweCUwMngpXG4iLAorCQlnZXRfcGNmKGFkYXAsIDEpKSk7Cit9CisKIHN0YXRpYyBpbnQgd2FpdF9mb3JfYmIoc3RydWN0IGkyY19hbGdvX3BjZl9kYXRhICphZGFwKSB7CiAKIAlpbnQgdGltZW91dCA9IERFRl9USU1FT1VUOwpAQCAtMTA5LDIzICsxMzksNyBAQAogCQkqc3RhdHVzID0gZ2V0X3BjZihhZGFwLCAxKTsKIAl9CiAJaWYgKCpzdGF0dXMgJiBJMkNfUENGX0xBQikgewotCQlERUIyKHByaW50ayhLRVJOX0lORk8gCi0JCQkiaTJjLWFsZ28tcGNmLm86IGxvc3QgYXJiaXRyYXRpb24gKENTUiAweCUwMngpXG4iLAotCQkJICpzdGF0dXMpKTsKLQkJLyogQ2xlYW51cCBmcm9tIExBQi0tIHJlc2V0IGFuZCBlbmFibGUgRVNPLgotCQkgKiBUaGlzIHJlc2V0cyB0aGUgUENGODU4NDsgc2luY2Ugd2UndmUgbG9zdCB0aGUgYnVzLCBubwotCQkgKiBmdXJ0aGVyIGF0dGVtcHRzIHNob3VsZCBiZSBtYWRlIGJ5IGNhbGxlcnMgdG8gY2xlYW4gdXAgCi0JCSAqIChubyBpMmNfc3RvcCgpIGV0Yy4pCi0JCSAqLwotCQlzZXRfcGNmKGFkYXAsIDEsIEkyQ19QQ0ZfUElOKTsKLQkJc2V0X3BjZihhZGFwLCAxLCBJMkNfUENGX0VTTyk7Ci0JCS8qIFRPRE86IHdlIHNob3VsZCBwYXVzZSBmb3IgYSB0aW1lIHBlcmlvZCBzdWZmaWNpZW50IGZvciBhbnkKLQkJICogcnVubmluZyBJMkMgdHJhbnNhY3Rpb24gdG8gY29tcGxldGUtLSB0aGUgYXJiaXRyYXRpb24KLQkJICogbG9naWMgd29uJ3Qgd29yayBwcm9wZXJseSB1bnRpbCB0aGUgbmV4dCBTVEFSVCBpcyBzZWVuLgotCQkgKi8KLQkJREVCMihwcmludGsoS0VSTl9JTkZPIAotCQkJImkyYy1hbGdvLXBjZi5vOiByZXNldCBMQUIgY29uZGl0aW9uIChDU1IgMHglMDJ4KVxuIiwgCi0JCQlnZXRfcGNmKGFkYXAsMSkpKTsKKwkJaGFuZGxlX2xhYihhZGFwLCBzdGF0dXMpOwogCQlyZXR1cm4oLUVJTlRSKTsKIAl9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9LY29uZmlnIGIvZHJpdmVycy9pMmMvYnVzc2VzL0tjb25maWcKaW5kZXggNDg0MzhjYy4uNmVlOTk3YiAxMDA2NDQKLS0tIGEvZHJpdmVycy9pMmMvYnVzc2VzL0tjb25maWcKKysrIGIvZHJpdmVycy9pMmMvYnVzc2VzL0tjb25maWcKQEAgLTQsNiArNCw5IEBACiAKIG1lbnUgIkkyQyBIYXJkd2FyZSBCdXMgc3VwcG9ydCIKIAorY29tbWVudCAiUEMgU01CdXMgaG9zdCBjb250cm9sbGVyIGRyaXZlcnMiCisJZGVwZW5kcyBvbiBQQ0kKKwogY29uZmlnIEkyQ19BTEkxNTM1CiAJdHJpc3RhdGUgIkFMSSAxNTM1IgogCWRlcGVuZHMgb24gUENJCkBAIC03Myw2ICs3NiwxODYgQEAKIAkgIFRoaXMgZHJpdmVyIGNhbiBhbHNvIGJlIGJ1aWx0IGFzIGEgbW9kdWxlLiAgSWYgc28sIHRoZSBtb2R1bGUKIAkgIHdpbGwgYmUgY2FsbGVkIGkyYy1hbWQ4MTExLgogCitjb25maWcgSTJDX0k4MDEKKwl0cmlzdGF0ZSAiSW50ZWwgODI4MDEgKElDSCkiCisJZGVwZW5kcyBvbiBQQ0kKKwloZWxwCisJICBJZiB5b3Ugc2F5IHllcyB0byB0aGlzIG9wdGlvbiwgc3VwcG9ydCB3aWxsIGJlIGluY2x1ZGVkIGZvciB0aGUgSW50ZWwKKwkgIDgwMSBmYW1pbHkgb2YgbWFpbmJvYXJkIEkyQyBpbnRlcmZhY2VzLiAgU3BlY2lmaWNhbGx5LCB0aGUgZm9sbG93aW5nCisJICB2ZXJzaW9ucyBvZiB0aGUgY2hpcHNldCBhcmUgc3VwcG9ydGVkOgorCSAgICA4MjgwMUFBCisJICAgIDgyODAxQUIKKwkgICAgODI4MDFCQQorCSAgICA4MjgwMUNBL0NBTQorCSAgICA4MjgwMURCCisJICAgIDgyODAxRUIvRVIgKElDSDUvSUNINVIpCisJICAgIDYzMDBFU0IKKwkgICAgSUNINgorCSAgICBJQ0g3CisJICAgIEVTQjIKKwkgICAgSUNIOAorCSAgICBJQ0g5CisJICAgIFRvbGFwYWkKKwkgICAgSUNIMTAKKworCSAgVGhpcyBkcml2ZXIgY2FuIGFsc28gYmUgYnVpbHQgYXMgYSBtb2R1bGUuICBJZiBzbywgdGhlIG1vZHVsZQorCSAgd2lsbCBiZSBjYWxsZWQgaTJjLWk4MDEuCisKK2NvbmZpZyBJMkNfSVNDSAorCXRyaXN0YXRlICJJbnRlbCBTQ0ggU01CdXMgMS4wIgorCWRlcGVuZHMgb24gUENJCisJaGVscAorCSAgU2F5IFkgaGVyZSBpZiB5b3Ugd2FudCB0byB1c2UgU01CdXMgY29udHJvbGxlciBvbiB0aGUgSW50ZWwgU0NICisJICBiYXNlZCBzeXN0ZW1zLgorCisJICBUaGlzIGRyaXZlciBjYW4gYWxzbyBiZSBidWlsdCBhcyBhIG1vZHVsZS4gSWYgc28sIHRoZSBtb2R1bGUKKwkgIHdpbGwgYmUgY2FsbGVkIGkyYy1pc2NoLgorCitjb25maWcgSTJDX1BJSVg0CisJdHJpc3RhdGUgIkludGVsIFBJSVg0IGFuZCBjb21wYXRpYmxlIChBVEkvU2VydmVyd29ya3MvQnJvYWRjb20vU01TQykiCisJZGVwZW5kcyBvbiBQQ0kKKwloZWxwCisJICBJZiB5b3Ugc2F5IHllcyB0byB0aGlzIG9wdGlvbiwgc3VwcG9ydCB3aWxsIGJlIGluY2x1ZGVkIGZvciB0aGUgSW50ZWwKKwkgIFBJSVg0IGZhbWlseSBvZiBtYWluYm9hcmQgSTJDIGludGVyZmFjZXMuICBTcGVjaWZpY2FsbHksIHRoZSBmb2xsb3dpbmcKKwkgIHZlcnNpb25zIG9mIHRoZSBjaGlwc2V0IGFyZSBzdXBwb3J0ZWQgKG5vdGUgdGhhdCBTZXJ2ZXJ3b3JrcyBpcyBwYXJ0CisJICBvZiBCcm9hZGNvbSk6CisJICAgIEludGVsIFBJSVg0CisJICAgIEludGVsIDQ0ME1YCisJICAgIEFUSSBJWFAyMDAKKwkgICAgQVRJIElYUDMwMAorCSAgICBBVEkgSVhQNDAwCisJICAgIEFUSSBTQjYwMAorCSAgICBBVEkgU0I3MDAKKwkgICAgQVRJIFNCODAwCisJICAgIFNlcnZlcndvcmtzIE9TQjQKKwkgICAgU2VydmVyd29ya3MgQ1NCNQorCSAgICBTZXJ2ZXJ3b3JrcyBDU0I2CisJICAgIFNlcnZlcndvcmtzIEhULTEwMDAKKwkgICAgU01TQyBWaWN0b3J5NjYKKworCSAgVGhpcyBkcml2ZXIgY2FuIGFsc28gYmUgYnVpbHQgYXMgYSBtb2R1bGUuICBJZiBzbywgdGhlIG1vZHVsZQorCSAgd2lsbCBiZSBjYWxsZWQgaTJjLXBpaXg0LgorCitjb25maWcgSTJDX05GT1JDRTIKKwl0cmlzdGF0ZSAiTnZpZGlhIG5Gb3JjZTIsIG5Gb3JjZTMgYW5kIG5Gb3JjZTQiCisJZGVwZW5kcyBvbiBQQ0kKKwloZWxwCisJICBJZiB5b3Ugc2F5IHllcyB0byB0aGlzIG9wdGlvbiwgc3VwcG9ydCB3aWxsIGJlIGluY2x1ZGVkIGZvciB0aGUgTnZpZGlhCisJICBuRm9yY2UyLCBuRm9yY2UzIGFuZCBuRm9yY2U0IGZhbWlsaWVzIG9mIG1haW5ib2FyZCBJMkMgaW50ZXJmYWNlcy4KKworCSAgVGhpcyBkcml2ZXIgY2FuIGFsc28gYmUgYnVpbHQgYXMgYSBtb2R1bGUuICBJZiBzbywgdGhlIG1vZHVsZQorCSAgd2lsbCBiZSBjYWxsZWQgaTJjLW5mb3JjZTIuCisKK2NvbmZpZyBJMkNfTkZPUkNFMl9TNDk4NQorCXRyaXN0YXRlICJTTUJ1cyBtdWx0aXBsZXhpbmcgb24gdGhlIFR5YW4gUzQ5ODUiCisJZGVwZW5kcyBvbiBJMkNfTkZPUkNFMiAmJiBFWFBFUklNRU5UQUwKKwloZWxwCisJICBFbmFibGluZyB0aGlzIG9wdGlvbiB3aWxsIGFkZCBzcGVjaWZpYyBTTUJ1cyBzdXBwb3J0IGZvciB0aGUgVHlhbgorCSAgUzQ5ODUgbW90aGVyYm9hcmQuICBPbiB0aGlzIDQtQ1BVIGJvYXJkLCB0aGUgU01CdXMgaXMgbXVsdGlwbGV4ZWQKKwkgIG92ZXIgNCBkaWZmZXJlbnQgY2hhbm5lbHMsIHdoZXJlIHRoZSB2YXJpb3VzIG1lbW9yeSBtb2R1bGUgRUVQUk9NcworCSAgbGl2ZS4gIFNheWluZyB5ZXMgaGVyZSB3aWxsIGdpdmUgeW91IGFjY2VzcyB0byB0aGVzZSBpbiBhZGRpdGlvbgorCSAgdG8gdGhlIHRydW5rLgorCisJICBUaGlzIGRyaXZlciBjYW4gYWxzbyBiZSBidWlsdCBhcyBhIG1vZHVsZS4gIElmIHNvLCB0aGUgbW9kdWxlCisJICB3aWxsIGJlIGNhbGxlZCBpMmMtbmZvcmNlMi1zNDk4NS4KKworY29uZmlnIEkyQ19TSVM1NTk1CisJdHJpc3RhdGUgIlNpUyA1NTk1IgorCWRlcGVuZHMgb24gUENJCisJaGVscAorCSAgSWYgeW91IHNheSB5ZXMgdG8gdGhpcyBvcHRpb24sIHN1cHBvcnQgd2lsbCBiZSBpbmNsdWRlZCBmb3IgdGhlCisJICBTaVM1NTk1IFNNQnVzIChhIHN1YnNldCBvZiBJMkMpIGludGVyZmFjZS4KKworCSAgVGhpcyBkcml2ZXIgY2FuIGFsc28gYmUgYnVpbHQgYXMgYSBtb2R1bGUuICBJZiBzbywgdGhlIG1vZHVsZQorCSAgd2lsbCBiZSBjYWxsZWQgaTJjLXNpczU1OTUuCisKK2NvbmZpZyBJMkNfU0lTNjMwCisJdHJpc3RhdGUgIlNpUyA2MzAvNzMwIgorCWRlcGVuZHMgb24gUENJCisJaGVscAorCSAgSWYgeW91IHNheSB5ZXMgdG8gdGhpcyBvcHRpb24sIHN1cHBvcnQgd2lsbCBiZSBpbmNsdWRlZCBmb3IgdGhlCisJICBTaVM2MzAgYW5kIFNpUzczMCBTTUJ1cyAoYSBzdWJzZXQgb2YgSTJDKSBpbnRlcmZhY2UuCisKKwkgIFRoaXMgZHJpdmVyIGNhbiBhbHNvIGJlIGJ1aWx0IGFzIGEgbW9kdWxlLiAgSWYgc28sIHRoZSBtb2R1bGUKKwkgIHdpbGwgYmUgY2FsbGVkIGkyYy1zaXM2MzAuCisKK2NvbmZpZyBJMkNfU0lTOTZYCisJdHJpc3RhdGUgIlNpUyA5NngiCisJZGVwZW5kcyBvbiBQQ0kKKwloZWxwCisJICBJZiB5b3Ugc2F5IHllcyB0byB0aGlzIG9wdGlvbiwgc3VwcG9ydCB3aWxsIGJlIGluY2x1ZGVkIGZvciB0aGUgU2lTCisJICA5NnggU01CdXMgKGEgc3Vic2V0IG9mIEkyQykgaW50ZXJmYWNlcy4gIFNwZWNpZmljYWxseSwgdGhlIGZvbGxvd2luZworCSAgY2hpcHNldHMgYXJlIHN1cHBvcnRlZDoKKwkgICAgNjQ1Lzk2MQorCSAgICA2NDVEWC85NjEKKwkgICAgNjQ1RFgvOTYyCisJICAgIDY0OC85NjEKKwkgICAgNjUwLzk2MQorCSAgICA3MzUKKwkgICAgNzQ1CisKKwkgIFRoaXMgZHJpdmVyIGNhbiBhbHNvIGJlIGJ1aWx0IGFzIGEgbW9kdWxlLiAgSWYgc28sIHRoZSBtb2R1bGUKKwkgIHdpbGwgYmUgY2FsbGVkIGkyYy1zaXM5NnguCisKK2NvbmZpZyBJMkNfVklBCisJdHJpc3RhdGUgIlZJQSBWVDgyQzU4NkIiCisJZGVwZW5kcyBvbiBQQ0kgJiYgRVhQRVJJTUVOVEFMCisJc2VsZWN0IEkyQ19BTEdPQklUCisJaGVscAorCSAgSWYgeW91IHNheSB5ZXMgdG8gdGhpcyBvcHRpb24sIHN1cHBvcnQgd2lsbCBiZSBpbmNsdWRlZCBmb3IgdGhlIFZJQQorICAgICAgICAgIDgyQzU4NkIgSTJDIGludGVyZmFjZQorCisJICBUaGlzIGRyaXZlciBjYW4gYWxzbyBiZSBidWlsdCBhcyBhIG1vZHVsZS4gIElmIHNvLCB0aGUgbW9kdWxlCisJICB3aWxsIGJlIGNhbGxlZCBpMmMtdmlhLgorCitjb25maWcgSTJDX1ZJQVBSTworCXRyaXN0YXRlICJWSUEgVlQ4MkM1OTYvODJDNjg2LzgyeHggYW5kIENYNzAwIgorCWRlcGVuZHMgb24gUENJCisJaGVscAorCSAgSWYgeW91IHNheSB5ZXMgdG8gdGhpcyBvcHRpb24sIHN1cHBvcnQgd2lsbCBiZSBpbmNsdWRlZCBmb3IgdGhlIFZJQQorCSAgVlQ4MkM1OTYgYW5kIGxhdGVyIFNNQnVzIGludGVyZmFjZS4gIFNwZWNpZmljYWxseSwgdGhlIGZvbGxvd2luZworCSAgY2hpcHNldHMgYXJlIHN1cHBvcnRlZDoKKwkgICAgVlQ4MkM1OTZBL0IKKwkgICAgVlQ4MkM2ODZBL0IKKwkgICAgVlQ4MjMxCisJICAgIFZUODIzMy9BCisJICAgIFZUODIzNQorCSAgICBWVDgyMzdSL0EvUworCSAgICBWVDgyNTEKKwkgICAgQ1g3MDAKKworCSAgVGhpcyBkcml2ZXIgY2FuIGFsc28gYmUgYnVpbHQgYXMgYSBtb2R1bGUuICBJZiBzbywgdGhlIG1vZHVsZQorCSAgd2lsbCBiZSBjYWxsZWQgaTJjLXZpYXByby4KKworY29tbWVudCAiTWFjIFNNQnVzIGhvc3QgY29udHJvbGxlciBkcml2ZXJzIgorCWRlcGVuZHMgb24gUFBDX0NIUlAgfHwgUFBDX1BNQUMKKworY29uZmlnIEkyQ19IWURSQQorCXRyaXN0YXRlICJDSFJQIEFwcGxlIEh5ZHJhIE1hYyBJL08gSTJDIGludGVyZmFjZSIKKwlkZXBlbmRzIG9uIFBDSSAmJiBQUENfQ0hSUCAmJiBFWFBFUklNRU5UQUwKKwlzZWxlY3QgSTJDX0FMR09CSVQKKwloZWxwCisJICBUaGlzIHN1cHBvcnRzIHRoZSB1c2Ugb2YgdGhlIEkyQyBpbnRlcmZhY2UgaW4gdGhlIEFwcGxlIEh5ZHJhIE1hYworCSAgSS9PIGNoaXAgb24gc29tZSBDSFJQIG1hY2hpbmVzIChlLmcuIHRoZSBMb25nVHJhaWwpLiAgU2F5IFkgaWYgeW91CisJICBoYXZlIHN1Y2ggYSBtYWNoaW5lLgorCisJICBUaGlzIHN1cHBvcnQgaXMgYWxzbyBhdmFpbGFibGUgYXMgYSBtb2R1bGUuICBJZiBzbywgdGhlIG1vZHVsZQorCSAgd2lsbCBiZSBjYWxsZWQgaTJjLWh5ZHJhLgorCitjb25maWcgSTJDX1BPV0VSTUFDCisJdHJpc3RhdGUgIlBvd2VybWFjIEkyQyBpbnRlcmZhY2UiCisJZGVwZW5kcyBvbiBQUENfUE1BQworCWRlZmF1bHQgeQorCWhlbHAKKwkgIFRoaXMgZXhwb3NlcyB0aGUgdmFyaW91cyBQb3dlck1hYyBpMmMgaW50ZXJmYWNlcyB0byB0aGUgbGludXggaTJjCisJICBsYXllciBhbmQgdG8gdXNlcmxhbmQuIEl0IGlzIHVzZWQgYnkgdmFyaW91cyBkcml2ZXJzIG9uIHRoZSBQb3dlck1hYworCSAgcGxhdGZvcm0sIGFuZCBzaG91bGQgZ2VuZXJhbGx5IGJlIGVuYWJsZWQuCisKKwkgIFRoaXMgc3VwcG9ydCBpcyBhbHNvIGF2YWlsYWJsZSBhcyBhIG1vZHVsZS4gIElmIHNvLCB0aGUgbW9kdWxlCisJICB3aWxsIGJlIGNhbGxlZCBpMmMtcG93ZXJtYWMuCisKK2NvbW1lbnQgIkkyQyBzeXN0ZW0gYnVzIGRyaXZlcnMgKG1vc3RseSBlbWJlZGRlZCAvIHN5c3RlbS1vbi1jaGlwKSIKKwogY29uZmlnIEkyQ19BVDkxCiAJdHJpc3RhdGUgIkF0bWVsIEFUOTEgSTJDIFR3by1XaXJlIGludGVyZmFjZSAoVFdJKSIKIAlkZXBlbmRzIG9uIEFSQ0hfQVQ5MSAmJiBFWFBFUklNRU5UQUwgJiYgQlJPS0VOCkBAIC0xMDEsMTAgKzI4NCw5IEBACiBjb25maWcgSTJDX0JMQUNLRklOX1RXSQogCXRyaXN0YXRlICJCbGFja2ZpbiBUV0kgSTJDIHN1cHBvcnQiCiAJZGVwZW5kcyBvbiBCTEFDS0ZJTgorCWRlcGVuZHMgb24gIUJGNTYxICYmICFCRjUzMSAmJiAhQkY1MzIgJiYgIUJGNTMzCiAJaGVscAotCSAgVGhpcyBpcyB0aGUgVFdJIEkyQyBkZXZpY2UgZHJpdmVyIGZvciBCbGFja2ZpbiBCRjUyMiwgQkY1MjUsCi0JICBCRjUyNywgQkY1MzQsIEJGNTM2LCBCRjUzNyBhbmQgQkY1NHguIEZvciBvdGhlciBCbGFja2ZpbiBwcm9jZXNzb3JzLAotCSAgcGxlYXNlIGRvbid0IHVzZSB0aGlzIGRyaXZlci4KKwkgIFRoaXMgaXMgdGhlIEkyQyBidXMgZHJpdmVyIGZvciBCbGFja2ZpbiBvbi1jaGlwIFRXSSBpbnRlcmZhY2UuCiAKIAkgIFRoaXMgZHJpdmVyIGNhbiBhbHNvIGJlIGJ1aWx0IGFzIGEgbW9kdWxlLiAgSWYgc28sIHRoZSBtb2R1bGUKIAkgIHdpbGwgYmUgY2FsbGVkIGkyYy1iZmluLXR3aS4KQEAgLTExNyw2ICsyOTksMTYgQEAKIAloZWxwCiAJICBUaGUgdW5pdCBvZiB0aGUgVFdJIGNsb2NrIGlzIGtIei4KIAorY29uZmlnIEkyQ19DUE0KKwl0cmlzdGF0ZSAiRnJlZXNjYWxlIENQTTEgb3IgQ1BNMiAoTVBDOHh4LzgyNngpIgorCWRlcGVuZHMgb24gKENQTTEgfHwgQ1BNMikgJiYgT0ZfSTJDCisJaGVscAorCSAgVGhpcyBzdXBwb3J0cyB0aGUgdXNlIG9mIHRoZSBJMkMgaW50ZXJmYWNlIG9uIEZyZWVzY2FsZQorCSAgcHJvY2Vzc29ycyB3aXRoIENQTTEgb3IgQ1BNMi4KKworCSAgVGhpcyBkcml2ZXIgY2FuIGFsc28gYmUgYnVpbHQgYXMgYSBtb2R1bGUuICBJZiBzbywgdGhlIG1vZHVsZQorCSAgd2lsbCBiZSBjYWxsZWQgaTJjLWNwbS4KKwogY29uZmlnIEkyQ19EQVZJTkNJCiAJdHJpc3RhdGUgIkRhVmluY2kgSTJDIGRyaXZlciIKIAlkZXBlbmRzIG9uIEFSQ0hfREFWSU5DSQpAQCAtMTMwLDE3ICszMjIsNiBAQAogCSAgZGV2aWNlcyBzdWNoIGFzIERhVmluY2kgTklDLgogCSAgRm9yIGRldGFpbHMgcGxlYXNlIHNlZSBodHRwOi8vd3d3LnRpLmNvbS9kYXZpbmNpCiAKLWNvbmZpZyBJMkNfRUxFS1RPUgotCXRyaXN0YXRlICJFbGVrdG9yIElTQSBjYXJkIgotCWRlcGVuZHMgb24gSVNBICYmIEJST0tFTl9PTl9TTVAKLQlzZWxlY3QgSTJDX0FMR09QQ0YKLQloZWxwCi0JICBUaGlzIHN1cHBvcnRzIHRoZSBQQ0Y4NTg0IElTQSBidXMgSTJDIGFkYXB0ZXIuICBTYXkgWSBpZiB5b3Ugb3duCi0JICBzdWNoIGFuIGFkYXB0ZXIuCi0KLQkgIFRoaXMgc3VwcG9ydCBpcyBhbHNvIGF2YWlsYWJsZSBhcyBhIG1vZHVsZS4gIElmIHNvLCB0aGUgbW9kdWxlCi0JICB3aWxsIGJlIGNhbGxlZCBpMmMtZWxla3Rvci4KLQogY29uZmlnIEkyQ19HUElPCiAJdHJpc3RhdGUgIkdQSU8tYmFzZWQgYml0YmFuZ2luZyBJMkMiCiAJZGVwZW5kcyBvbiBHRU5FUklDX0dQSU8KQEAgLTE0OSwxMDQgKzMzMCw2IEBACiAJICBUaGlzIGlzIGEgdmVyeSBzaW1wbGUgYml0YmFuZ2luZyBJMkMgZHJpdmVyIHV0aWxpemluZyB0aGUKIAkgIGFyY2gtbmV1dHJhbCBHUElPIEFQSSB0byBjb250cm9sIHRoZSBTQ0wgYW5kIFNEQSBsaW5lcy4KIAotY29uZmlnIEkyQ19IWURSQQotCXRyaXN0YXRlICJDSFJQIEFwcGxlIEh5ZHJhIE1hYyBJL08gSTJDIGludGVyZmFjZSIKLQlkZXBlbmRzIG9uIFBDSSAmJiBQUENfQ0hSUCAmJiBFWFBFUklNRU5UQUwKLQlzZWxlY3QgSTJDX0FMR09CSVQKLQloZWxwCi0JICBUaGlzIHN1cHBvcnRzIHRoZSB1c2Ugb2YgdGhlIEkyQyBpbnRlcmZhY2UgaW4gdGhlIEFwcGxlIEh5ZHJhIE1hYwotCSAgSS9PIGNoaXAgb24gc29tZSBDSFJQIG1hY2hpbmVzIChlLmcuIHRoZSBMb25nVHJhaWwpLiAgU2F5IFkgaWYgeW91Ci0JICBoYXZlIHN1Y2ggYSBtYWNoaW5lLgotCi0JICBUaGlzIHN1cHBvcnQgaXMgYWxzbyBhdmFpbGFibGUgYXMgYSBtb2R1bGUuICBJZiBzbywgdGhlIG1vZHVsZQotCSAgd2lsbCBiZSBjYWxsZWQgaTJjLWh5ZHJhLgotCi1jb25maWcgSTJDX0k4MDEKLQl0cmlzdGF0ZSAiSW50ZWwgODI4MDEgKElDSCkiCi0JZGVwZW5kcyBvbiBQQ0kKLQloZWxwCi0JICBJZiB5b3Ugc2F5IHllcyB0byB0aGlzIG9wdGlvbiwgc3VwcG9ydCB3aWxsIGJlIGluY2x1ZGVkIGZvciB0aGUgSW50ZWwKLQkgIDgwMSBmYW1pbHkgb2YgbWFpbmJvYXJkIEkyQyBpbnRlcmZhY2VzLiAgU3BlY2lmaWNhbGx5LCB0aGUgZm9sbG93aW5nCi0JICB2ZXJzaW9ucyBvZiB0aGUgY2hpcHNldCBhcmUgc3VwcG9ydGVkOgotCSAgICA4MjgwMUFBCi0JICAgIDgyODAxQUIKLQkgICAgODI4MDFCQQotCSAgICA4MjgwMUNBL0NBTQotCSAgICA4MjgwMURCCi0JICAgIDgyODAxRUIvRVIgKElDSDUvSUNINVIpCi0JICAgIDYzMDBFU0IKLQkgICAgSUNINgotCSAgICBJQ0g3Ci0JICAgIEVTQjIKLQkgICAgSUNIOAotCSAgICBJQ0g5Ci0JICAgIFRvbGFwYWkKLQkgICAgSUNIMTAKLQotCSAgVGhpcyBkcml2ZXIgY2FuIGFsc28gYmUgYnVpbHQgYXMgYSBtb2R1bGUuICBJZiBzbywgdGhlIG1vZHVsZQotCSAgd2lsbCBiZSBjYWxsZWQgaTJjLWk4MDEuCi0KLWNvbmZpZyBJMkNfSTgxMAotCXRyaXN0YXRlICJJbnRlbCA4MTAvODE1IChERVBSRUNBVEVEKSIKLQlkZWZhdWx0IG4KLQlkZXBlbmRzIG9uIFBDSQotCXNlbGVjdCBJMkNfQUxHT0JJVAotCWhlbHAKLQkgIElmIHlvdSBzYXkgeWVzIHRvIHRoaXMgb3B0aW9uLCBzdXBwb3J0IHdpbGwgYmUgaW5jbHVkZWQgZm9yIHRoZSBJbnRlbAotCSAgODEwLzgxNSBmYW1pbHkgb2YgbWFpbmJvYXJkIEkyQyBpbnRlcmZhY2VzLiAgU3BlY2lmaWNhbGx5LCB0aGUKLQkgIGZvbGxvd2luZyB2ZXJzaW9ucyBvZiB0aGUgY2hpcHNldCBhcmUgc3VwcG9ydGVkOgotCSAgICBpODEwQUEKLQkgICAgaTgxMEFCCi0JICAgIGk4MTBFCi0JICAgIGk4MTUKLQkgICAgaTg0NUcKLQotCSAgVGhpcyBkcml2ZXIgaXMgZGVwcmVjYXRlZCBpbiBmYXZvciBvZiB0aGUgaTgxMGZiIGFuZCBpbnRlbGZiIGRyaXZlcnMuCi0KLQkgIFRoaXMgZHJpdmVyIGNhbiBhbHNvIGJlIGJ1aWx0IGFzIGEgbW9kdWxlLiAgSWYgc28sIHRoZSBtb2R1bGUKLQkgIHdpbGwgYmUgY2FsbGVkIGkyYy1pODEwLgotCi1jb25maWcgSTJDX1BYQQotCXRyaXN0YXRlICJJbnRlbCBQWEEyWFggSTJDIGFkYXB0ZXIgKEVYUEVSSU1FTlRBTCkiCi0JZGVwZW5kcyBvbiBFWFBFUklNRU5UQUwgJiYgQVJDSF9QWEEKLQloZWxwCi0JICBJZiB5b3UgaGF2ZSBkZXZpY2VzIGluIHRoZSBQWEEgSTJDIGJ1cywgc2F5IHllcyB0byB0aGlzIG9wdGlvbi4KLQkgIFRoaXMgZHJpdmVyIGNhbiBhbHNvIGJlIGJ1aWx0IGFzIGEgbW9kdWxlLiAgSWYgc28sIHRoZSBtb2R1bGUKLQkgIHdpbGwgYmUgY2FsbGVkIGkyYy1weGEuCi0KLWNvbmZpZyBJMkNfUFhBX1NMQVZFCi0JYm9vbCAiSW50ZWwgUFhBMlhYIEkyQyBTbGF2ZSBjb21tcyBzdXBwb3J0IgotCWRlcGVuZHMgb24gSTJDX1BYQQotCWhlbHAKLQkgIFN1cHBvcnQgSTJDIHNsYXZlIG1vZGUgY29tbXVuaWNhdGlvbnMgb24gdGhlIFBYQSBJMkMgYnVzLiAgVGhpcwotCSAgaXMgbmVjZXNzYXJ5IGZvciBzeXN0ZW1zIHdoZXJlIHRoZSBQWEEgbWF5IGJlIGEgdGFyZ2V0IG9uIHRoZQotCSAgSTJDIGJ1cy4KLQotY29uZmlnIEkyQ19QSUlYNAotCXRyaXN0YXRlICJJbnRlbCBQSUlYNCBhbmQgY29tcGF0aWJsZSAoQVRJL1NlcnZlcndvcmtzL0Jyb2FkY29tL1NNU0MpIgotCWRlcGVuZHMgb24gUENJCi0JaGVscAotCSAgSWYgeW91IHNheSB5ZXMgdG8gdGhpcyBvcHRpb24sIHN1cHBvcnQgd2lsbCBiZSBpbmNsdWRlZCBmb3IgdGhlIEludGVsCi0JICBQSUlYNCBmYW1pbHkgb2YgbWFpbmJvYXJkIEkyQyBpbnRlcmZhY2VzLiAgU3BlY2lmaWNhbGx5LCB0aGUgZm9sbG93aW5nCi0JICB2ZXJzaW9ucyBvZiB0aGUgY2hpcHNldCBhcmUgc3VwcG9ydGVkIChub3RlIHRoYXQgU2VydmVyd29ya3MgaXMgcGFydAotCSAgb2YgQnJvYWRjb20pOgotCSAgICBJbnRlbCBQSUlYNAotCSAgICBJbnRlbCA0NDBNWAotCSAgICBBVEkgSVhQMjAwCi0JICAgIEFUSSBJWFAzMDAKLQkgICAgQVRJIElYUDQwMAotCSAgICBBVEkgU0I2MDAKLQkgICAgQVRJIFNCNzAwCi0JICAgIEFUSSBTQjgwMAotCSAgICBTZXJ2ZXJ3b3JrcyBPU0I0Ci0JICAgIFNlcnZlcndvcmtzIENTQjUKLQkgICAgU2VydmVyd29ya3MgQ1NCNgotCSAgICBTZXJ2ZXJ3b3JrcyBIVC0xMDAwCi0JICAgIFNNU0MgVmljdG9yeTY2Ci0KLQkgIFRoaXMgZHJpdmVyIGNhbiBhbHNvIGJlIGJ1aWx0IGFzIGEgbW9kdWxlLiAgSWYgc28sIHRoZSBtb2R1bGUKLQkgIHdpbGwgYmUgY2FsbGVkIGkyYy1waWl4NC4KLQogY29uZmlnIEkyQ19JQk1fSUlDCiAJdHJpc3RhdGUgIklCTSBQUEMgNHh4IG9uLWNoaXAgSTJDIGludGVyZmFjZSIKIAlkZXBlbmRzIG9uIDR4eApAQCAtMjgxLDE4ICszNjQsNiBAQAogCSAgVGhpcyBkcml2ZXIgaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSBkcm9wcGVkIHNvb24uIFVzZSBpMmMtZ3BpbwogCSAgaW5zdGVhZC4KIAotY29uZmlnIEkyQ19QT1dFUk1BQwotCXRyaXN0YXRlICJQb3dlcm1hYyBJMkMgaW50ZXJmYWNlIgotCWRlcGVuZHMgb24gUFBDX1BNQUMKLQlkZWZhdWx0IHkKLQloZWxwCi0JICBUaGlzIGV4cG9zZXMgdGhlIHZhcmlvdXMgUG93ZXJNYWMgaTJjIGludGVyZmFjZXMgdG8gdGhlIGxpbnV4IGkyYwotCSAgbGF5ZXIgYW5kIHRvIHVzZXJsYW5kLiBJdCBpcyB1c2VkIGJ5IHZhcmlvdXMgZHJpdmVycyBvbiB0aGUgUG93ZXJNYWMKLQkgIHBsYXRmb3JtLCBhbmQgc2hvdWxkIGdlbmVyYWxseSBiZSBlbmFibGVkLgotCi0JICBUaGlzIHN1cHBvcnQgaXMgYWxzbyBhdmFpbGFibGUgYXMgYSBtb2R1bGUuICBJZiBzbywgdGhlIG1vZHVsZQotCSAgd2lsbCBiZSBjYWxsZWQgaTJjLXBvd2VybWFjLgotCiBjb25maWcgSTJDX01QQwogCXRyaXN0YXRlICJNUEMxMDcvODI0eC84NXh4LzUyeHgvODZ4eCIKIAlkZXBlbmRzIG9uIFBQQzMyCkBAIC0zMDUsMTUgKzM3NiwxNSBAQAogCSAgVGhpcyBkcml2ZXIgY2FuIGFsc28gYmUgYnVpbHQgYXMgYSBtb2R1bGUuICBJZiBzbywgdGhlIG1vZHVsZQogCSAgd2lsbCBiZSBjYWxsZWQgaTJjLW1wYy4KIAotY29uZmlnIEkyQ19ORk9SQ0UyCi0JdHJpc3RhdGUgIk52aWRpYSBuRm9yY2UyLCBuRm9yY2UzIGFuZCBuRm9yY2U0IgotCWRlcGVuZHMgb24gUENJCitjb25maWcgSTJDX01WNjRYWFgKKwl0cmlzdGF0ZSAiTWFydmVsbCBtdjY0eHh4IEkyQyBDb250cm9sbGVyIgorCWRlcGVuZHMgb24gKE1WNjRYNjAgfHwgUExBVF9PUklPTikgJiYgRVhQRVJJTUVOVEFMCiAJaGVscAotCSAgSWYgeW91IHNheSB5ZXMgdG8gdGhpcyBvcHRpb24sIHN1cHBvcnQgd2lsbCBiZSBpbmNsdWRlZCBmb3IgdGhlIE52aWRpYQotCSAgbkZvcmNlMiwgbkZvcmNlMyBhbmQgbkZvcmNlNCBmYW1pbGllcyBvZiBtYWluYm9hcmQgSTJDIGludGVyZmFjZXMuCisJICBJZiB5b3Ugc2F5IHllcyB0byB0aGlzIG9wdGlvbiwgc3VwcG9ydCB3aWxsIGJlIGluY2x1ZGVkIGZvciB0aGUKKwkgIGJ1aWx0LWluIEkyQyBpbnRlcmZhY2Ugb24gdGhlIE1hcnZlbGwgNjR4eHggbGluZSBvZiBob3N0IGJyaWRnZXMuCiAKIAkgIFRoaXMgZHJpdmVyIGNhbiBhbHNvIGJlIGJ1aWx0IGFzIGEgbW9kdWxlLiAgSWYgc28sIHRoZSBtb2R1bGUKLQkgIHdpbGwgYmUgY2FsbGVkIGkyYy1uZm9yY2UyLgorCSAgd2lsbCBiZSBjYWxsZWQgaTJjLW12NjR4eHguCiAKIGNvbmZpZyBJMkNfT0NPUkVTCiAJdHJpc3RhdGUgIk9wZW5Db3JlcyBJMkMgQ29udHJvbGxlciIKQEAgLTMzNiw2ICs0MDcsODkgQEAKIAkgIExpa2UgT01BUDE1MTAvMTYxMC8xNzEwLzU5MTIgYW5kIE9NQVAyNDJ4LgogCSAgRm9yIGRldGFpbHMgc2VlIGh0dHA6Ly93d3cudGkuY29tL29tYXAuCiAKK2NvbmZpZyBJMkNfUEFTRU1JCisJdHJpc3RhdGUgIlBBIFNlbWkgU01CdXMgaW50ZXJmYWNlIgorCWRlcGVuZHMgb24gUFBDX1BBU0VNSSAmJiBQQ0kKKwloZWxwCisJICBTdXBwb3J0cyB0aGUgUEEgU2VtaSBQV1JmaWNpZW50IG9uLWNoaXAgU01CdXMgaW50ZXJmYWNlcy4KKworY29uZmlnIEkyQ19QTlgKKwl0cmlzdGF0ZSAiSTJDIGJ1cyBzdXBwb3J0IGZvciBQaGlsaXBzIFBOWCB0YXJnZXRzIgorCWRlcGVuZHMgb24gQVJDSF9QTlg0MDA4CisJaGVscAorCSAgVGhpcyBkcml2ZXIgc3VwcG9ydHMgdGhlIFBoaWxpcHMgSVAzMjA0IEkyQyBJUCBibG9jayBtYXN0ZXIgYW5kL29yCisJICBzbGF2ZSBjb250cm9sbGVyCisKKwkgIFRoaXMgZHJpdmVyIGNhbiBhbHNvIGJlIGJ1aWx0IGFzIGEgbW9kdWxlLiAgSWYgc28sIHRoZSBtb2R1bGUKKwkgIHdpbGwgYmUgY2FsbGVkIGkyYy1wbnguCisKK2NvbmZpZyBJMkNfUFhBCisJdHJpc3RhdGUgIkludGVsIFBYQTJYWCBJMkMgYWRhcHRlciAoRVhQRVJJTUVOVEFMKSIKKwlkZXBlbmRzIG9uIEVYUEVSSU1FTlRBTCAmJiBBUkNIX1BYQQorCWhlbHAKKwkgIElmIHlvdSBoYXZlIGRldmljZXMgaW4gdGhlIFBYQSBJMkMgYnVzLCBzYXkgeWVzIHRvIHRoaXMgb3B0aW9uLgorCSAgVGhpcyBkcml2ZXIgY2FuIGFsc28gYmUgYnVpbHQgYXMgYSBtb2R1bGUuICBJZiBzbywgdGhlIG1vZHVsZQorCSAgd2lsbCBiZSBjYWxsZWQgaTJjLXB4YS4KKworY29uZmlnIEkyQ19QWEFfU0xBVkUKKwlib29sICJJbnRlbCBQWEEyWFggSTJDIFNsYXZlIGNvbW1zIHN1cHBvcnQiCisJZGVwZW5kcyBvbiBJMkNfUFhBCisJaGVscAorCSAgU3VwcG9ydCBJMkMgc2xhdmUgbW9kZSBjb21tdW5pY2F0aW9ucyBvbiB0aGUgUFhBIEkyQyBidXMuICBUaGlzCisJICBpcyBuZWNlc3NhcnkgZm9yIHN5c3RlbXMgd2hlcmUgdGhlIFBYQSBtYXkgYmUgYSB0YXJnZXQgb24gdGhlCisJICBJMkMgYnVzLgorCitjb25maWcgSTJDX1MzQzI0MTAKKwl0cmlzdGF0ZSAiUzNDMjQxMCBJMkMgRHJpdmVyIgorCWRlcGVuZHMgb24gQVJDSF9TM0MyNDEwCisJaGVscAorCSAgU2F5IFkgaGVyZSB0byBpbmNsdWRlIHN1cHBvcnQgZm9yIEkyQyBjb250cm9sbGVyIGluIHRoZQorCSAgU2Ftc3VuZyBTM0MyNDEwIGJhc2VkIFN5c3RlbS1vbi1DaGlwIGRldmljZXMuCisKK2NvbmZpZyBJMkNfU0g3NzYwCisJdHJpc3RhdGUgIlJlbmVzYXMgU0g3NzYwIEkyQyBDb250cm9sbGVyIgorCWRlcGVuZHMgb24gQ1BVX1NVQlRZUEVfU0g3NzYwCisJaGVscAorCSAgVGhpcyBkcml2ZXIgc3VwcG9ydHMgdGhlIDIgSTJDIGludGVyZmFjZXMgb24gdGhlIFJlbmVzYXMgU0g3NzYwLgorCisJICBUaGlzIGRyaXZlciBjYW4gYWxzbyBiZSBidWlsdCBhcyBhIG1vZHVsZS4gIElmIHNvLCB0aGUgbW9kdWxlCisJICB3aWxsIGJlIGNhbGxlZCBpMmMtc2g3NzYwLgorCitjb25maWcgSTJDX1NIX01PQklMRQorCXRyaXN0YXRlICJTdXBlckggTW9iaWxlIEkyQyBDb250cm9sbGVyIgorCWRlcGVuZHMgb24gU1VQRVJICisJaGVscAorCSAgSWYgeW91IHNheSB5ZXMgdG8gdGhpcyBvcHRpb24sIHN1cHBvcnQgd2lsbCBiZSBpbmNsdWRlZCBmb3IgdGhlCisJICBidWlsdC1pbiBJMkMgaW50ZXJmYWNlIG9uIHRoZSBSZW5lc2FzIFNILU1vYmlsZSBwcm9jZXNzb3IuCisKKwkgIFRoaXMgZHJpdmVyIGNhbiBhbHNvIGJlIGJ1aWx0IGFzIGEgbW9kdWxlLiAgSWYgc28sIHRoZSBtb2R1bGUKKwkgIHdpbGwgYmUgY2FsbGVkIGkyYy1zaF9tb2JpbGUuCisKK2NvbmZpZyBJMkNfU0lNVEVDCisJdHJpc3RhdGUgIlNpbXRlYyBHZW5lcmljIEkyQyBpbnRlcmZhY2UiCisJc2VsZWN0IEkyQ19BTEdPQklUCisJaGVscAorCSAgSWYgeW91IHNheSB5ZXMgdG8gdGhpcyBvcHRpb24sIHN1cHBvcnQgd2lsbCBiZSBpbmNsdWRlZCBmb3IKKwkgIHRoZSBTaW10ZWMgR2VuZXJpYyBJMkMgaW50ZXJmYWNlLiBUaGlzIGRyaXZlciBpcyBmb3IgdGhlCisJICBzaW1wbGUgSTJDIGJ1cyB1c2VkIG9uIG5ld2VyIFNpbXRlYyBwcm9kdWN0cyBmb3IgZ2VuZXJhbAorCSAgSTJDLCBzdWNoIGFzIEREQyBvbiB0aGUgU2ltdGVjIEJCRDIwMTZBLgorCisJICBUaGlzIGRyaXZlciBjYW4gYWxzbyBiZSBidWlsdCBhcyBhIG1vZHVsZS4gSWYgc28sIHRoZSBtb2R1bGUKKwkgIHdpbGwgYmUgY2FsbGVkIGkyYy1zaW10ZWMuCisKK2NvbmZpZyBJMkNfVkVSU0FUSUxFCisJdHJpc3RhdGUgIkFSTSBWZXJzYXRpbGUvUmVhbHZpZXcgSTJDIGJ1cyBzdXBwb3J0IgorCWRlcGVuZHMgb24gQVJDSF9WRVJTQVRJTEUgfHwgQVJDSF9SRUFMVklFVworCXNlbGVjdCBJMkNfQUxHT0JJVAorCWhlbHAKKwkgIFNheSB5ZXMgaWYgeW91IHdhbnQgdG8gc3VwcG9ydCB0aGUgSTJDIHNlcmlhbCBidXMgb24gQVJNcyBWZXJzYXRpbGUKKwkgIHJhbmdlIG9mIHBsYXRmb3Jtcy4KKworCSAgVGhpcyBkcml2ZXIgY2FuIGFsc28gYmUgYnVpbHQgYXMgYSBtb2R1bGUuICBJZiBzbywgdGhlIG1vZHVsZQorCSAgd2lsbCBiZSBjYWxsZWQgaTJjLXZlcnNhdGlsZS4KKworY29tbWVudCAiRXh0ZXJuYWwgSTJDL1NNQnVzIGFkYXB0ZXIgZHJpdmVycyIKKwogY29uZmlnIEkyQ19QQVJQT1JUCiAJdHJpc3RhdGUgIlBhcmFsbGVsIHBvcnQgYWRhcHRlciIKIAlkZXBlbmRzIG9uIFBBUlBPUlQKQEAgLTM4Myw1MCArNTM3LDEwNiBAQAogCSAgVGhpcyBzdXBwb3J0IGlzIGFsc28gYXZhaWxhYmxlIGFzIGEgbW9kdWxlLiAgSWYgc28sIHRoZSBtb2R1bGUKIAkgIHdpbGwgYmUgY2FsbGVkIGkyYy1wYXJwb3J0LWxpZ2h0LgogCi1jb25maWcgSTJDX1BBU0VNSQotCXRyaXN0YXRlICJQQSBTZW1pIFNNQnVzIGludGVyZmFjZSIKLQlkZXBlbmRzIG9uIFBQQ19QQVNFTUkgJiYgUENJCi0JaGVscAotCSAgU3VwcG9ydHMgdGhlIFBBIFNlbWkgUFdSZmljaWVudCBvbi1jaGlwIFNNQnVzIGludGVyZmFjZXMuCi0KLWNvbmZpZyBJMkNfUFJPU0FWQUdFCi0JdHJpc3RhdGUgIlMzL1ZJQSAoUHJvKVNhdmFnZSAoREVQUkVDQVRFRCkiCitjb25maWcgSTJDX1RBT1NfRVZNCisJdHJpc3RhdGUgIlRBT1MgZXZhbHVhdGlvbiBtb2R1bGUiCisJZGVwZW5kcyBvbiBFWFBFUklNRU5UQUwKKwlzZWxlY3QgU0VSSU8KKwlzZWxlY3QgU0VSSU9fU0VSUE9SVAogCWRlZmF1bHQgbgotCWRlcGVuZHMgb24gUENJCi0Jc2VsZWN0IEkyQ19BTEdPQklUCiAJaGVscAotCSAgSWYgeW91IHNheSB5ZXMgdG8gdGhpcyBvcHRpb24sIHN1cHBvcnQgd2lsbCBiZSBpbmNsdWRlZCBmb3IgdGhlCi0JICBJMkMgYnVzIGFuZCBEREMgYnVzIG9mIHRoZSBTM1ZJQSBlbWJlZGRlZCBTYXZhZ2U0IGFuZCBQcm9TYXZhZ2U4Ci0JICBncmFwaGljcyBwcm9jZXNzb3JzLgotCSAgY2hpcHNldHMgc3VwcG9ydGVkOgotCSAgICBTMy9WSUEgS00yNjYvVlQ4Mzc1IGFrYSBQcm9TYXZhZ2U4Ci0JICAgIFMzL1ZJQSBLTTEzMy9WVDgzNjUgYWthIFNhdmFnZTQKKwkgIFRoaXMgc3VwcG9ydHMgVEFPUyBldmFsdWF0aW9uIG1vZHVsZXMgb24gc2VyaWFsIHBvcnQuIEluIG9yZGVyIHRvCisJICB1c2UgdGhpcyBkcml2ZXIsIHlvdSB3aWxsIG5lZWQgdGhlIGlucHV0YXR0YWNoIHRvb2wsIHdoaWNoIGlzIHBhcnQKKwkgIG9mIHRoZSBpbnB1dC11dGlscyBwYWNrYWdlLgogCi0JICBUaGlzIGRyaXZlciBpcyBkZXByZWNhdGVkIGluIGZhdm9yIG9mIHRoZSBzYXZhZ2VmYiBkcml2ZXIuCisJICBJZiB1bnN1cmUsIHNheSBOLgogCiAJICBUaGlzIHN1cHBvcnQgaXMgYWxzbyBhdmFpbGFibGUgYXMgYSBtb2R1bGUuICBJZiBzbywgdGhlIG1vZHVsZQotCSAgd2lsbCBiZSBjYWxsZWQgaTJjLXByb3NhdmFnZS4KKwkgIHdpbGwgYmUgY2FsbGVkIGkyYy10YW9zLWV2bS4KIAotY29uZmlnIEkyQ19TM0MyNDEwCi0JdHJpc3RhdGUgIlMzQzI0MTAgSTJDIERyaXZlciIKLQlkZXBlbmRzIG9uIEFSQ0hfUzNDMjQxMAorY29uZmlnIEkyQ19USU5ZX1VTQgorCXRyaXN0YXRlICJUaW55LVVTQiBhZGFwdGVyIgorCWRlcGVuZHMgb24gVVNCCiAJaGVscAotCSAgU2F5IFkgaGVyZSB0byBpbmNsdWRlIHN1cHBvcnQgZm9yIEkyQyBjb250cm9sbGVyIGluIHRoZQotCSAgU2Ftc3VuZyBTM0MyNDEwIGJhc2VkIFN5c3RlbS1vbi1DaGlwIGRldmljZXMuCisJICBJZiB5b3Ugc2F5IHllcyB0byB0aGlzIG9wdGlvbiwgc3VwcG9ydCB3aWxsIGJlIGluY2x1ZGVkIGZvciB0aGUKKwkgIGkyYy10aW55LXVzYiwgYSBzaW1wbGUgZG8taXQteW91cnNlbGYgVVNCIHRvIEkyQyBpbnRlcmZhY2UuIFNlZQorCSAgaHR0cDovL3d3dy5oYXJiYXVtLm9yZy90aWxsL2kyY190aW55X3VzYiBmb3IgaGFyZHdhcmUgZGV0YWlscy4KIAotY29uZmlnIEkyQ19TQVZBR0U0Ci0JdHJpc3RhdGUgIlMzIFNhdmFnZSA0IChERVBSRUNBVEVEKSIKLQlkZWZhdWx0IG4KKwkgIFRoaXMgZHJpdmVyIGNhbiBhbHNvIGJlIGJ1aWx0IGFzIGEgbW9kdWxlLiAgSWYgc28sIHRoZSBtb2R1bGUKKwkgIHdpbGwgYmUgY2FsbGVkIGkyYy10aW55LXVzYi4KKworY29tbWVudCAiR3JhcGhpY3MgYWRhcHRlciBJMkMvRERDIGNoYW5uZWwgZHJpdmVycyIKKwlkZXBlbmRzIG9uIFBDSQorCitjb25maWcgSTJDX1ZPT0RPTzMKKwl0cmlzdGF0ZSAiVm9vZG9vIDMiCiAJZGVwZW5kcyBvbiBQQ0kKIAlzZWxlY3QgSTJDX0FMR09CSVQKIAloZWxwCiAJICBJZiB5b3Ugc2F5IHllcyB0byB0aGlzIG9wdGlvbiwgc3VwcG9ydCB3aWxsIGJlIGluY2x1ZGVkIGZvciB0aGUKLQkgIFMzIFNhdmFnZSA0IEkyQyBpbnRlcmZhY2UuCi0KLQkgIFRoaXMgZHJpdmVyIGlzIGRlcHJlY2F0ZWQgaW4gZmF2b3Igb2YgdGhlIHNhdmFnZWZiIGRyaXZlci4KKwkgIFZvb2RvbyAzIEkyQyBpbnRlcmZhY2UuCiAKIAkgIFRoaXMgZHJpdmVyIGNhbiBhbHNvIGJlIGJ1aWx0IGFzIGEgbW9kdWxlLiAgSWYgc28sIHRoZSBtb2R1bGUKLQkgIHdpbGwgYmUgY2FsbGVkIGkyYy1zYXZhZ2U0LgorCSAgd2lsbCBiZSBjYWxsZWQgaTJjLXZvb2RvbzMuCisKK2NvbW1lbnQgIk90aGVyIEkyQy9TTUJ1cyBidXMgZHJpdmVycyIKKworY29uZmlnIEkyQ19BQ09STgorCXRyaXN0YXRlICJBY29ybiBJT0MvSU9NRCBJMkMgYnVzIHN1cHBvcnQiCisJZGVwZW5kcyBvbiBBUkNIX0FDT1JOCisJZGVmYXVsdCB5CisJc2VsZWN0IEkyQ19BTEdPQklUCisJaGVscAorCSAgU2F5IHllcyBpZiB5b3Ugd2FudCB0byBzdXBwb3J0IHRoZSBJMkMgYnVzIG9uIEFjb3JuIHBsYXRmb3Jtcy4KKworCSAgSWYgeW91IGRvbid0IGtub3csIHNheSBZLgorCitjb25maWcgSTJDX0VMRUtUT1IKKwl0cmlzdGF0ZSAiRWxla3RvciBJU0EgY2FyZCIKKwlkZXBlbmRzIG9uIElTQSAmJiBCUk9LRU5fT05fU01QCisJc2VsZWN0IEkyQ19BTEdPUENGCisJaGVscAorCSAgVGhpcyBzdXBwb3J0cyB0aGUgUENGODU4NCBJU0EgYnVzIEkyQyBhZGFwdGVyLiAgU2F5IFkgaWYgeW91IG93bgorCSAgc3VjaCBhbiBhZGFwdGVyLgorCisJICBUaGlzIHN1cHBvcnQgaXMgYWxzbyBhdmFpbGFibGUgYXMgYSBtb2R1bGUuICBJZiBzbywgdGhlIG1vZHVsZQorCSAgd2lsbCBiZSBjYWxsZWQgaTJjLWVsZWt0b3IuCisKK2NvbmZpZyBJMkNfUENBX0lTQQorCXRyaXN0YXRlICJQQ0E5NTY0IG9uIGFuIElTQSBidXMiCisJZGVwZW5kcyBvbiBJU0EKKwlzZWxlY3QgSTJDX0FMR09QQ0EKKwlkZWZhdWx0IG4KKwloZWxwCisJICBUaGlzIGRyaXZlciBzdXBwb3J0cyBJU0EgYm9hcmRzIHVzaW5nIHRoZSBQaGlsaXBzIFBDQTk1NjQKKwkgIHBhcmFsbGVsIGJ1cyB0byBJMkMgYnVzIGNvbnRyb2xsZXIuCisKKwkgIFRoaXMgZHJpdmVyIGNhbiBhbHNvIGJlIGJ1aWx0IGFzIGEgbW9kdWxlLiAgSWYgc28sIHRoZSBtb2R1bGUKKwkgIHdpbGwgYmUgY2FsbGVkIGkyYy1wY2EtaXNhLgorCisJICBUaGlzIGRldmljZSBpcyBhbG1vc3QgdW5kZXRlY3RhYmxlIGFuZCB1c2luZyB0aGlzIGRyaXZlciBvbiBhCisJICBzeXN0ZW0gd2hpY2ggZG9lc24ndCBoYXZlIHRoaXMgZGV2aWNlIHdpbGwgcmVzdWx0IGluIGxvbmcKKwkgIGRlbGF5cyB3aGVuIEkyQy9TTUJ1cyBjaGlwIGRyaXZlcnMgYXJlIGxvYWRlZCAoZS5nLiBhdCBib290CisJICB0aW1lKS4gIElmIHVuc3VyZSwgc2F5IE4uCisKK2NvbmZpZyBJMkNfUENBX1BMQVRGT1JNCisJdHJpc3RhdGUgIlBDQTk1NjQgYXMgcGxhdGZvcm0gZGV2aWNlIgorCXNlbGVjdCBJMkNfQUxHT1BDQQorCWRlZmF1bHQgbgorCWhlbHAKKwkgIFRoaXMgZHJpdmVyIHN1cHBvcnRzIGEgbWVtb3J5IG1hcHBlZCBQaGlsaXBzIFBDQTk1NjQKKwkgIHBhcmFsbGVsIGJ1cyB0byBJMkMgYnVzIGNvbnRyb2xsZXIuCisKKwkgIFRoaXMgZHJpdmVyIGNhbiBhbHNvIGJlIGJ1aWx0IGFzIGEgbW9kdWxlLiAgSWYgc28sIHRoZSBtb2R1bGUKKwkgIHdpbGwgYmUgY2FsbGVkIGkyYy1wY2EtcGxhdGZvcm0uCisKK2NvbmZpZyBJMkNfUE1DTVNQCisJdHJpc3RhdGUgIlBNQyBNU1AgSTJDIFRXSSBDb250cm9sbGVyIgorCWRlcGVuZHMgb24gUE1DX01TUAorCWhlbHAKKwkgIFRoaXMgZHJpdmVyIHN1cHBvcnRzIHRoZSBQTUMgVFdJIGNvbnRyb2xsZXIgb24gTVNQIGRldmljZXMuCisKKwkgIFRoaXMgZHJpdmVyIGNhbiBhbHNvIGJlIGJ1aWx0IGFzIG1vZHVsZS4gSWYgc28sIHRoZSBtb2R1bGUKKwkgIHdpbGwgYmUgY2FsbGVkIGkyYy1wbWNtc3AuCiAKIGNvbmZpZyBJMkNfU0lCWVRFCiAJdHJpc3RhdGUgIlNpQnl0ZSBTTUJ1cyBpbnRlcmZhY2UiCkBAIC00MzQsMTcgKzY0NCwxOCBAQAogCWhlbHAKIAkgIFN1cHBvcnRzIHRoZSBTaUJ5dGUgU09DIG9uLWNoaXAgSTJDIGludGVyZmFjZXMgKDIgY2hhbm5lbHMpLgogCi1jb25maWcgSTJDX1NJTVRFQwotCXRyaXN0YXRlICJTaW10ZWMgR2VuZXJpYyBJMkMgaW50ZXJmYWNlIgotCXNlbGVjdCBJMkNfQUxHT0JJVAorY29uZmlnIEkyQ19TVFVCCisJdHJpc3RhdGUgIkkyQy9TTUJ1cyBUZXN0IFN0dWIiCisJZGVwZW5kcyBvbiBFWFBFUklNRU5UQUwgJiYgbQorCWRlZmF1bHQgJ24nCiAJaGVscAotCSAgSWYgeW91IHNheSB5ZXMgdG8gdGhpcyBvcHRpb24sIHN1cHBvcnQgd2lsbCBiZSBpbmNsdWRlZCBmb3IKLQkgIHRoZSBTaW10ZWMgR2VuZXJpYyBJMkMgaW50ZXJmYWNlLiBUaGlzIGRyaXZlciBpcyBmb3IgdGhlCi0JICBzaW1wbGUgSTJDIGJ1cyB1c2VkIG9uIG5ld2VyIFNpbXRlYyBwcm9kdWN0cyBmb3IgZ2VuZXJhbAotCSAgSTJDLCBzdWNoIGFzIEREQyBvbiB0aGUgU2ltdGVjIEJCRDIwMTZBLgorCSAgVGhpcyBtb2R1bGUgbWF5IGJlIHVzZWZ1bCB0byBkZXZlbG9wZXJzIG9mIFNNQnVzIGNsaWVudCBkcml2ZXJzLAorCSAgZXNwZWNpYWxseSBmb3IgY2VydGFpbiBraW5kcyBvZiBzZW5zb3IgY2hpcHMuCiAKLQkgIFRoaXMgZHJpdmVyIGNhbiBhbHNvIGJlIGJ1aWx0IGFzIGEgbW9kdWxlLiBJZiBzbywgdGhlIG1vZHVsZQotCSAgd2lsbCBiZSBjYWxsZWQgaTJjLXNpbXRlYy4KKwkgIElmIHlvdSBkbyBidWlsZCB0aGlzIG1vZHVsZSwgYmUgc3VyZSB0byByZWFkIHRoZSBub3RlcyBhbmQgd2FybmluZ3MKKwkgIGluIDxmaWxlOkRvY3VtZW50YXRpb24vaTJjL2kyYy1zdHViPi4KKworCSAgSWYgeW91IGRvbid0IGtub3cgd2hhdCB0byBkbyBoZXJlLCBkZWZpbml0ZWx5IHNheSBOLgogCiBjb25maWcgU0N4MjAwX0kyQwogCXRyaXN0YXRlICJOYXRTZW1pIFNDeDIwMCBJMkMgdXNpbmcgR1BJTyBwaW5zIChERVBSRUNBVEVEKSIKQEAgLTQ4OSwyMjAgKzcwMCw0IEBACiAJICBUaGlzIHN1cHBvcnQgaXMgYWxzbyBhdmFpbGFibGUgYXMgYSBtb2R1bGUuICBJZiBzbywgdGhlIG1vZHVsZQogCSAgd2lsbCBiZSBjYWxsZWQgc2N4MjAwX2FjYi4KIAotY29uZmlnIEkyQ19TSVM1NTk1Ci0JdHJpc3RhdGUgIlNpUyA1NTk1IgotCWRlcGVuZHMgb24gUENJCi0JaGVscAotCSAgSWYgeW91IHNheSB5ZXMgdG8gdGhpcyBvcHRpb24sIHN1cHBvcnQgd2lsbCBiZSBpbmNsdWRlZCBmb3IgdGhlCi0JICBTaVM1NTk1IFNNQnVzIChhIHN1YnNldCBvZiBJMkMpIGludGVyZmFjZS4KLQotCSAgVGhpcyBkcml2ZXIgY2FuIGFsc28gYmUgYnVpbHQgYXMgYSBtb2R1bGUuICBJZiBzbywgdGhlIG1vZHVsZQotCSAgd2lsbCBiZSBjYWxsZWQgaTJjLXNpczU1OTUuCi0KLWNvbmZpZyBJMkNfU0lTNjMwCi0JdHJpc3RhdGUgIlNpUyA2MzAvNzMwIgotCWRlcGVuZHMgb24gUENJCi0JaGVscAotCSAgSWYgeW91IHNheSB5ZXMgdG8gdGhpcyBvcHRpb24sIHN1cHBvcnQgd2lsbCBiZSBpbmNsdWRlZCBmb3IgdGhlCi0JICBTaVM2MzAgYW5kIFNpUzczMCBTTUJ1cyAoYSBzdWJzZXQgb2YgSTJDKSBpbnRlcmZhY2UuCi0KLQkgIFRoaXMgZHJpdmVyIGNhbiBhbHNvIGJlIGJ1aWx0IGFzIGEgbW9kdWxlLiAgSWYgc28sIHRoZSBtb2R1bGUKLQkgIHdpbGwgYmUgY2FsbGVkIGkyYy1zaXM2MzAuCi0KLWNvbmZpZyBJMkNfU0lTOTZYCi0JdHJpc3RhdGUgIlNpUyA5NngiCi0JZGVwZW5kcyBvbiBQQ0kKLQloZWxwCi0JICBJZiB5b3Ugc2F5IHllcyB0byB0aGlzIG9wdGlvbiwgc3VwcG9ydCB3aWxsIGJlIGluY2x1ZGVkIGZvciB0aGUgU2lTCi0JICA5NnggU01CdXMgKGEgc3Vic2V0IG9mIEkyQykgaW50ZXJmYWNlcy4gIFNwZWNpZmljYWxseSwgdGhlIGZvbGxvd2luZwotCSAgY2hpcHNldHMgYXJlIHN1cHBvcnRlZDoKLQkgICAgNjQ1Lzk2MQotCSAgICA2NDVEWC85NjEKLQkgICAgNjQ1RFgvOTYyCi0JICAgIDY0OC85NjEKLQkgICAgNjUwLzk2MQotCSAgICA3MzUKLQkgICAgNzQ1Ci0KLQkgIFRoaXMgZHJpdmVyIGNhbiBhbHNvIGJlIGJ1aWx0IGFzIGEgbW9kdWxlLiAgSWYgc28sIHRoZSBtb2R1bGUKLQkgIHdpbGwgYmUgY2FsbGVkIGkyYy1zaXM5NnguCi0KLWNvbmZpZyBJMkNfVEFPU19FVk0KLQl0cmlzdGF0ZSAiVEFPUyBldmFsdWF0aW9uIG1vZHVsZSIKLQlkZXBlbmRzIG9uIEVYUEVSSU1FTlRBTAotCXNlbGVjdCBTRVJJTwotCXNlbGVjdCBTRVJJT19TRVJQT1JUCi0JZGVmYXVsdCBuCi0JaGVscAotCSAgVGhpcyBzdXBwb3J0cyBUQU9TIGV2YWx1YXRpb24gbW9kdWxlcyBvbiBzZXJpYWwgcG9ydC4gSW4gb3JkZXIgdG8KLQkgIHVzZSB0aGlzIGRyaXZlciwgeW91IHdpbGwgbmVlZCB0aGUgaW5wdXRhdHRhY2ggdG9vbCwgd2hpY2ggaXMgcGFydAotCSAgb2YgdGhlIGlucHV0LXV0aWxzIHBhY2thZ2UuCi0KLQkgIElmIHVuc3VyZSwgc2F5IE4uCi0KLQkgIFRoaXMgc3VwcG9ydCBpcyBhbHNvIGF2YWlsYWJsZSBhcyBhIG1vZHVsZS4gIElmIHNvLCB0aGUgbW9kdWxlCi0JICB3aWxsIGJlIGNhbGxlZCBpMmMtdGFvcy1ldm0uCi0KLWNvbmZpZyBJMkNfU1RVQgotCXRyaXN0YXRlICJJMkMvU01CdXMgVGVzdCBTdHViIgotCWRlcGVuZHMgb24gRVhQRVJJTUVOVEFMICYmIG0KLQlkZWZhdWx0ICduJwotCWhlbHAKLQkgIFRoaXMgbW9kdWxlIG1heSBiZSB1c2VmdWwgdG8gZGV2ZWxvcGVycyBvZiBTTUJ1cyBjbGllbnQgZHJpdmVycywKLQkgIGVzcGVjaWFsbHkgZm9yIGNlcnRhaW4ga2luZHMgb2Ygc2Vuc29yIGNoaXBzLgotCi0JICBJZiB5b3UgZG8gYnVpbGQgdGhpcyBtb2R1bGUsIGJlIHN1cmUgdG8gcmVhZCB0aGUgbm90ZXMgYW5kIHdhcm5pbmdzCi0JICBpbiA8ZmlsZTpEb2N1bWVudGF0aW9uL2kyYy9pMmMtc3R1Yj4uCi0KLQkgIElmIHlvdSBkb24ndCBrbm93IHdoYXQgdG8gZG8gaGVyZSwgZGVmaW5pdGVseSBzYXkgTi4KLQotY29uZmlnIEkyQ19USU5ZX1VTQgotCXRyaXN0YXRlICJJMkMtVGlueS1VU0IiCi0JZGVwZW5kcyBvbiBVU0IKLQloZWxwCi0JICBJZiB5b3Ugc2F5IHllcyB0byB0aGlzIG9wdGlvbiwgc3VwcG9ydCB3aWxsIGJlIGluY2x1ZGVkIGZvciB0aGUKLQkgIGkyYy10aW55LXVzYiwgYSBzaW1wbGUgZG8taXQteW91cnNlbGYgVVNCIHRvIEkyQyBpbnRlcmZhY2UuIFNlZQotCSAgaHR0cDovL3d3dy5oYXJiYXVtLm9yZy90aWxsL2kyY190aW55X3VzYiBmb3IgaGFyZHdhcmUgZGV0YWlscy4KLQotCSAgVGhpcyBkcml2ZXIgY2FuIGFsc28gYmUgYnVpbHQgYXMgYSBtb2R1bGUuICBJZiBzbywgdGhlIG1vZHVsZQotCSAgd2lsbCBiZSBjYWxsZWQgaTJjLXRpbnktdXNiLgotCi1jb25maWcgSTJDX1ZFUlNBVElMRQotCXRyaXN0YXRlICJBUk0gVmVyc2F0aWxlL1JlYWx2aWV3IEkyQyBidXMgc3VwcG9ydCIKLQlkZXBlbmRzIG9uIEFSQ0hfVkVSU0FUSUxFIHx8IEFSQ0hfUkVBTFZJRVcKLQlzZWxlY3QgSTJDX0FMR09CSVQKLQloZWxwCi0JICBTYXkgeWVzIGlmIHlvdSB3YW50IHRvIHN1cHBvcnQgdGhlIEkyQyBzZXJpYWwgYnVzIG9uIEFSTXMgVmVyc2F0aWxlCi0JICByYW5nZSBvZiBwbGF0Zm9ybXMuCi0KLQkgIFRoaXMgZHJpdmVyIGNhbiBhbHNvIGJlIGJ1aWx0IGFzIGEgbW9kdWxlLiAgSWYgc28sIHRoZSBtb2R1bGUKLQkgIHdpbGwgYmUgY2FsbGVkIGkyYy12ZXJzYXRpbGUuCi0KLWNvbmZpZyBJMkNfQUNPUk4KLQl0cmlzdGF0ZSAiQWNvcm4gSU9DL0lPTUQgSTJDIGJ1cyBzdXBwb3J0IgotCWRlcGVuZHMgb24gQVJDSF9BQ09STgotCWRlZmF1bHQgeQotCXNlbGVjdCBJMkNfQUxHT0JJVAotCWhlbHAKLQkgIFNheSB5ZXMgaWYgeW91IHdhbnQgdG8gc3VwcG9ydCB0aGUgSTJDIGJ1cyBvbiBBY29ybiBwbGF0Zm9ybXMuCi0KLQkgIElmIHlvdSBkb24ndCBrbm93LCBzYXkgWS4KLQotY29uZmlnIEkyQ19WSUEKLQl0cmlzdGF0ZSAiVklBIDgyQzU4NkIiCi0JZGVwZW5kcyBvbiBQQ0kgJiYgRVhQRVJJTUVOVEFMCi0Jc2VsZWN0IEkyQ19BTEdPQklUCi0JaGVscAotCSAgSWYgeW91IHNheSB5ZXMgdG8gdGhpcyBvcHRpb24sIHN1cHBvcnQgd2lsbCBiZSBpbmNsdWRlZCBmb3IgdGhlIFZJQQotICAgICAgICAgIDgyQzU4NkIgSTJDIGludGVyZmFjZQotCi0JICBUaGlzIGRyaXZlciBjYW4gYWxzbyBiZSBidWlsdCBhcyBhIG1vZHVsZS4gIElmIHNvLCB0aGUgbW9kdWxlCi0JICB3aWxsIGJlIGNhbGxlZCBpMmMtdmlhLgotCi1jb25maWcgSTJDX1ZJQVBSTwotCXRyaXN0YXRlICJWSUEgVlQ4MkM1OTYvODJDNjg2LzgyeHggYW5kIENYNzAwIgotCWRlcGVuZHMgb24gUENJCi0JaGVscAotCSAgSWYgeW91IHNheSB5ZXMgdG8gdGhpcyBvcHRpb24sIHN1cHBvcnQgd2lsbCBiZSBpbmNsdWRlZCBmb3IgdGhlIFZJQQotCSAgVlQ4MkM1OTYgYW5kIGxhdGVyIFNNQnVzIGludGVyZmFjZS4gIFNwZWNpZmljYWxseSwgdGhlIGZvbGxvd2luZwotCSAgY2hpcHNldHMgYXJlIHN1cHBvcnRlZDoKLQkgICAgVlQ4MkM1OTZBL0IKLQkgICAgVlQ4MkM2ODZBL0IKLQkgICAgVlQ4MjMxCi0JICAgIFZUODIzMy9BCi0JICAgIFZUODIzNQotCSAgICBWVDgyMzdSL0EvUwotCSAgICBWVDgyNTEKLQkgICAgQ1g3MDAKLQotCSAgVGhpcyBkcml2ZXIgY2FuIGFsc28gYmUgYnVpbHQgYXMgYSBtb2R1bGUuICBJZiBzbywgdGhlIG1vZHVsZQotCSAgd2lsbCBiZSBjYWxsZWQgaTJjLXZpYXByby4KLQotY29uZmlnIEkyQ19WT09ET08zCi0JdHJpc3RhdGUgIlZvb2RvbyAzIgotCWRlcGVuZHMgb24gUENJCi0Jc2VsZWN0IEkyQ19BTEdPQklUCi0JaGVscAotCSAgSWYgeW91IHNheSB5ZXMgdG8gdGhpcyBvcHRpb24sIHN1cHBvcnQgd2lsbCBiZSBpbmNsdWRlZCBmb3IgdGhlCi0JICBWb29kb28gMyBJMkMgaW50ZXJmYWNlLgotCi0JICBUaGlzIGRyaXZlciBjYW4gYWxzbyBiZSBidWlsdCBhcyBhIG1vZHVsZS4gIElmIHNvLCB0aGUgbW9kdWxlCi0JICB3aWxsIGJlIGNhbGxlZCBpMmMtdm9vZG9vMy4KLQotY29uZmlnIEkyQ19QQ0FfSVNBCi0JdHJpc3RhdGUgIlBDQTk1NjQgb24gYW4gSVNBIGJ1cyIKLQlkZXBlbmRzIG9uIElTQQotCXNlbGVjdCBJMkNfQUxHT1BDQQotCWRlZmF1bHQgbgotCWhlbHAKLQkgIFRoaXMgZHJpdmVyIHN1cHBvcnRzIElTQSBib2FyZHMgdXNpbmcgdGhlIFBoaWxpcHMgUENBOTU2NAotCSAgcGFyYWxsZWwgYnVzIHRvIEkyQyBidXMgY29udHJvbGxlci4KLQotCSAgVGhpcyBkcml2ZXIgY2FuIGFsc28gYmUgYnVpbHQgYXMgYSBtb2R1bGUuICBJZiBzbywgdGhlIG1vZHVsZQotCSAgd2lsbCBiZSBjYWxsZWQgaTJjLXBjYS1pc2EuCi0KLQkgIFRoaXMgZGV2aWNlIGlzIGFsbW9zdCB1bmRldGVjdGFibGUgYW5kIHVzaW5nIHRoaXMgZHJpdmVyIG9uIGEKLQkgIHN5c3RlbSB3aGljaCBkb2Vzbid0IGhhdmUgdGhpcyBkZXZpY2Ugd2lsbCByZXN1bHQgaW4gbG9uZwotCSAgZGVsYXlzIHdoZW4gSTJDL1NNQnVzIGNoaXAgZHJpdmVycyBhcmUgbG9hZGVkIChlLmcuIGF0IGJvb3QKLQkgIHRpbWUpLiAgSWYgdW5zdXJlLCBzYXkgTi4KLQotY29uZmlnIEkyQ19QQ0FfUExBVEZPUk0KLQl0cmlzdGF0ZSAiUENBOTU2NCBhcyBwbGF0Zm9ybSBkZXZpY2UiCi0Jc2VsZWN0IEkyQ19BTEdPUENBCi0JZGVmYXVsdCBuCi0JaGVscAotCSAgVGhpcyBkcml2ZXIgc3VwcG9ydHMgYSBtZW1vcnkgbWFwcGVkIFBoaWxpcHMgUENBOTU2NAotCSAgcGFyYWxsZWwgYnVzIHRvIEkyQyBidXMgY29udHJvbGxlci4KLQotCSAgVGhpcyBkcml2ZXIgY2FuIGFsc28gYmUgYnVpbHQgYXMgYSBtb2R1bGUuICBJZiBzbywgdGhlIG1vZHVsZQotCSAgd2lsbCBiZSBjYWxsZWQgaTJjLXBjYS1wbGF0Zm9ybS4KLQotY29uZmlnIEkyQ19NVjY0WFhYCi0JdHJpc3RhdGUgIk1hcnZlbGwgbXY2NHh4eCBJMkMgQ29udHJvbGxlciIKLQlkZXBlbmRzIG9uIChNVjY0WDYwIHx8IFBMQVRfT1JJT04pICYmIEVYUEVSSU1FTlRBTAotCWhlbHAKLQkgIElmIHlvdSBzYXkgeWVzIHRvIHRoaXMgb3B0aW9uLCBzdXBwb3J0IHdpbGwgYmUgaW5jbHVkZWQgZm9yIHRoZQotCSAgYnVpbHQtaW4gSTJDIGludGVyZmFjZSBvbiB0aGUgTWFydmVsbCA2NHh4eCBsaW5lIG9mIGhvc3QgYnJpZGdlcy4KLQotCSAgVGhpcyBkcml2ZXIgY2FuIGFsc28gYmUgYnVpbHQgYXMgYSBtb2R1bGUuICBJZiBzbywgdGhlIG1vZHVsZQotCSAgd2lsbCBiZSBjYWxsZWQgaTJjLW12NjR4eHguCi0KLWNvbmZpZyBJMkNfUE5YCi0JdHJpc3RhdGUgIkkyQyBidXMgc3VwcG9ydCBmb3IgUGhpbGlwcyBQTlggdGFyZ2V0cyIKLQlkZXBlbmRzIG9uIEFSQ0hfUE5YNDAwOAotCWhlbHAKLQkgIFRoaXMgZHJpdmVyIHN1cHBvcnRzIHRoZSBQaGlsaXBzIElQMzIwNCBJMkMgSVAgYmxvY2sgbWFzdGVyIGFuZC9vcgotCSAgc2xhdmUgY29udHJvbGxlcgotCi0JICBUaGlzIGRyaXZlciBjYW4gYWxzbyBiZSBidWlsdCBhcyBhIG1vZHVsZS4gIElmIHNvLCB0aGUgbW9kdWxlCi0JICB3aWxsIGJlIGNhbGxlZCBpMmMtcG54LgotCi1jb25maWcgSTJDX1BNQ01TUAotCXRyaXN0YXRlICJQTUMgTVNQIEkyQyBUV0kgQ29udHJvbGxlciIKLQlkZXBlbmRzIG9uIFBNQ19NU1AKLQloZWxwCi0JICBUaGlzIGRyaXZlciBzdXBwb3J0cyB0aGUgUE1DIFRXSSBjb250cm9sbGVyIG9uIE1TUCBkZXZpY2VzLgotCi0JICBUaGlzIGRyaXZlciBjYW4gYWxzbyBiZSBidWlsdCBhcyBtb2R1bGUuIElmIHNvLCB0aGUgbW9kdWxlCi0JICB3aWxsIGJlIGNhbGxlZCBpMmMtcG1jbXNwLgotCi1jb25maWcgSTJDX1NINzc2MAotCXRyaXN0YXRlICJSZW5lc2FzIFNINzc2MCBJMkMgQ29udHJvbGxlciIKLQlkZXBlbmRzIG9uIENQVV9TVUJUWVBFX1NINzc2MAotCWhlbHAKLQkgIFRoaXMgZHJpdmVyIHN1cHBvcnRzIHRoZSAyIEkyQyBpbnRlcmZhY2VzIG9uIHRoZSBSZW5lc2FzIFNINzc2MC4KLQotCSAgVGhpcyBkcml2ZXIgY2FuIGFsc28gYmUgYnVpbHQgYXMgYSBtb2R1bGUuICBJZiBzbywgdGhlIG1vZHVsZQotCSAgd2lsbCBiZSBjYWxsZWQgaTJjLXNoNzc2MC4KLQotY29uZmlnIEkyQ19TSF9NT0JJTEUKLQl0cmlzdGF0ZSAiU3VwZXJIIE1vYmlsZSBJMkMgQ29udHJvbGxlciIKLQlkZXBlbmRzIG9uIFNVUEVSSAotCWhlbHAKLQkgIElmIHlvdSBzYXkgeWVzIHRvIHRoaXMgb3B0aW9uLCBzdXBwb3J0IHdpbGwgYmUgaW5jbHVkZWQgZm9yIHRoZQotCSAgYnVpbHQtaW4gSTJDIGludGVyZmFjZSBvbiB0aGUgUmVuZXNhcyBTSC1Nb2JpbGUgcHJvY2Vzc29yLgotCi0JICBUaGlzIGRyaXZlciBjYW4gYWxzbyBiZSBidWlsdCBhcyBhIG1vZHVsZS4gIElmIHNvLCB0aGUgbW9kdWxlCi0JICB3aWxsIGJlIGNhbGxlZCBpMmMtc2hfbW9iaWxlLgotCiBlbmRtZW51CmRpZmYgLS1naXQgYS9kcml2ZXJzL2kyYy9idXNzZXMvTWFrZWZpbGUgYi9kcml2ZXJzL2kyYy9idXNzZXMvTWFrZWZpbGUKaW5kZXggZThjODgyYS4uOTdkYmZhMiAxMDA2NDQKLS0tIGEvZHJpdmVycy9pMmMvYnVzc2VzL01ha2VmaWxlCisrKyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9NYWtlZmlsZQpAQCAtMiw1NyArMiw2OCBAQAogIyBNYWtlZmlsZSBmb3IgdGhlIGkyYyBidXMgZHJpdmVycy4KICMKIAorIyBQQyBTTUJ1cyBob3N0IGNvbnRyb2xsZXIgZHJpdmVycwogb2JqLSQoQ09ORklHX0kyQ19BTEkxNTM1KQkrPSBpMmMtYWxpMTUzNS5vCiBvYmotJChDT05GSUdfSTJDX0FMSTE1NjMpCSs9IGkyYy1hbGkxNTYzLm8KIG9iai0kKENPTkZJR19JMkNfQUxJMTVYMykJKz0gaTJjLWFsaTE1eDMubwogb2JqLSQoQ09ORklHX0kyQ19BTUQ3NTYpCSs9IGkyYy1hbWQ3NTYubwogb2JqLSQoQ09ORklHX0kyQ19BTUQ3NTZfUzQ4ODIpCSs9IGkyYy1hbWQ3NTYtczQ4ODIubwogb2JqLSQoQ09ORklHX0kyQ19BTUQ4MTExKQkrPSBpMmMtYW1kODExMS5vCi1vYmotJChDT05GSUdfSTJDX0FUOTEpCQkrPSBpMmMtYXQ5MS5vCi1vYmotJChDT05GSUdfSTJDX0FVMTU1MCkJKz0gaTJjLWF1MTU1MC5vCi1vYmotJChDT05GSUdfSTJDX0JMQUNLRklOX1RXSSkJKz0gaTJjLWJmaW4tdHdpLm8KLW9iai0kKENPTkZJR19JMkNfREFWSU5DSSkJKz0gaTJjLWRhdmluY2kubwotb2JqLSQoQ09ORklHX0kyQ19FTEVLVE9SKQkrPSBpMmMtZWxla3Rvci5vCi1vYmotJChDT05GSUdfSTJDX0dQSU8pCQkrPSBpMmMtZ3Bpby5vCi1vYmotJChDT05GSUdfSTJDX0hZRFJBKQkJKz0gaTJjLWh5ZHJhLm8KIG9iai0kKENPTkZJR19JMkNfSTgwMSkJCSs9IGkyYy1pODAxLm8KLW9iai0kKENPTkZJR19JMkNfSTgxMCkJCSs9IGkyYy1pODEwLm8KLW9iai0kKENPTkZJR19JMkNfSUJNX0lJQykJKz0gaTJjLWlibV9paWMubwotb2JqLSQoQ09ORklHX0kyQ19JT1AzWFgpCSs9IGkyYy1pb3AzeHgubwotb2JqLSQoQ09ORklHX0kyQ19JWFAyMDAwKQkrPSBpMmMtaXhwMjAwMC5vCi1vYmotJChDT05GSUdfSTJDX1BPV0VSTUFDKQkrPSBpMmMtcG93ZXJtYWMubwotb2JqLSQoQ09ORklHX0kyQ19NUEMpCQkrPSBpMmMtbXBjLm8KLW9iai0kKENPTkZJR19JMkNfTVY2NFhYWCkJKz0gaTJjLW12NjR4eHgubworb2JqLSQoQ09ORklHX0kyQ19JU0NIKQkJKz0gaTJjLWlzY2gubwogb2JqLSQoQ09ORklHX0kyQ19ORk9SQ0UyKQkrPSBpMmMtbmZvcmNlMi5vCi1vYmotJChDT05GSUdfSTJDX09DT1JFUykJKz0gaTJjLW9jb3Jlcy5vCi1vYmotJChDT05GSUdfSTJDX09NQVApCQkrPSBpMmMtb21hcC5vCi1vYmotJChDT05GSUdfSTJDX1BBUlBPUlQpCSs9IGkyYy1wYXJwb3J0Lm8KLW9iai0kKENPTkZJR19JMkNfUEFSUE9SVF9MSUdIVCkJKz0gaTJjLXBhcnBvcnQtbGlnaHQubwotb2JqLSQoQ09ORklHX0kyQ19QQVNFTUkpCSs9IGkyYy1wYXNlbWkubwotb2JqLSQoQ09ORklHX0kyQ19QQ0FfSVNBKQkrPSBpMmMtcGNhLWlzYS5vCi1vYmotJChDT05GSUdfSTJDX1BDQV9QTEFURk9STSkJKz0gaTJjLXBjYS1wbGF0Zm9ybS5vCitvYmotJChDT05GSUdfSTJDX05GT1JDRTJfUzQ5ODUpCSs9IGkyYy1uZm9yY2UyLXM0OTg1Lm8KIG9iai0kKENPTkZJR19JMkNfUElJWDQpCQkrPSBpMmMtcGlpeDQubwotb2JqLSQoQ09ORklHX0kyQ19QTUNNU1ApCSs9IGkyYy1wbWNtc3Aubwotb2JqLSQoQ09ORklHX0kyQ19QTlgpCQkrPSBpMmMtcG54Lm8KLW9iai0kKENPTkZJR19JMkNfUFJPU0FWQUdFKQkrPSBpMmMtcHJvc2F2YWdlLm8KLW9iai0kKENPTkZJR19JMkNfUFhBKQkJKz0gaTJjLXB4YS5vCi1vYmotJChDT05GSUdfSTJDX1MzQzI0MTApCSs9IGkyYy1zM2MyNDEwLm8KLW9iai0kKENPTkZJR19JMkNfU0FWQUdFNCkJKz0gaTJjLXNhdmFnZTQubwotb2JqLSQoQ09ORklHX0kyQ19TSDc3NjApCSs9IGkyYy1zaDc3NjAubwotb2JqLSQoQ09ORklHX0kyQ19TSF9NT0JJTEUpCSs9IGkyYy1zaF9tb2JpbGUubwotb2JqLSQoQ09ORklHX0kyQ19TSUJZVEUpCSs9IGkyYy1zaWJ5dGUubwotb2JqLSQoQ09ORklHX0kyQ19TSU1URUMpCSs9IGkyYy1zaW10ZWMubwogb2JqLSQoQ09ORklHX0kyQ19TSVM1NTk1KQkrPSBpMmMtc2lzNTU5NS5vCiBvYmotJChDT05GSUdfSTJDX1NJUzYzMCkJKz0gaTJjLXNpczYzMC5vCiBvYmotJChDT05GSUdfSTJDX1NJUzk2WCkJKz0gaTJjLXNpczk2eC5vCi1vYmotJChDT05GSUdfSTJDX1NUVUIpCQkrPSBpMmMtc3R1Yi5vCi1vYmotJChDT05GSUdfSTJDX1RBT1NfRVZNKQkrPSBpMmMtdGFvcy1ldm0ubwotb2JqLSQoQ09ORklHX0kyQ19USU5ZX1VTQikJKz0gaTJjLXRpbnktdXNiLm8KLW9iai0kKENPTkZJR19JMkNfVkVSU0FUSUxFKQkrPSBpMmMtdmVyc2F0aWxlLm8KLW9iai0kKENPTkZJR19JMkNfQUNPUk4pCQkrPSBpMmMtYWNvcm4ubwogb2JqLSQoQ09ORklHX0kyQ19WSUEpCQkrPSBpMmMtdmlhLm8KIG9iai0kKENPTkZJR19JMkNfVklBUFJPKQkrPSBpMmMtdmlhcHJvLm8KKworIyBNYWMgU01CdXMgaG9zdCBjb250cm9sbGVyIGRyaXZlcnMKK29iai0kKENPTkZJR19JMkNfSFlEUkEpCQkrPSBpMmMtaHlkcmEubworb2JqLSQoQ09ORklHX0kyQ19QT1dFUk1BQykJKz0gaTJjLXBvd2VybWFjLm8KKworIyBFbWJlYmJlZCBzeXN0ZW0gSTJDL1NNQnVzIGhvc3QgY29udHJvbGxlciBkcml2ZXJzCitvYmotJChDT05GSUdfSTJDX0FUOTEpCQkrPSBpMmMtYXQ5MS5vCitvYmotJChDT05GSUdfSTJDX0FVMTU1MCkJKz0gaTJjLWF1MTU1MC5vCitvYmotJChDT05GSUdfSTJDX0JMQUNLRklOX1RXSSkJKz0gaTJjLWJmaW4tdHdpLm8KK29iai0kKENPTkZJR19JMkNfQ1BNKQkJKz0gaTJjLWNwbS5vCitvYmotJChDT05GSUdfSTJDX0RBVklOQ0kpCSs9IGkyYy1kYXZpbmNpLm8KK29iai0kKENPTkZJR19JMkNfR1BJTykJCSs9IGkyYy1ncGlvLm8KK29iai0kKENPTkZJR19JMkNfSUJNX0lJQykJKz0gaTJjLWlibV9paWMubworb2JqLSQoQ09ORklHX0kyQ19JT1AzWFgpCSs9IGkyYy1pb3AzeHgubworb2JqLSQoQ09ORklHX0kyQ19JWFAyMDAwKQkrPSBpMmMtaXhwMjAwMC5vCitvYmotJChDT05GSUdfSTJDX01QQykJCSs9IGkyYy1tcGMubworb2JqLSQoQ09ORklHX0kyQ19NVjY0WFhYKQkrPSBpMmMtbXY2NHh4eC5vCitvYmotJChDT05GSUdfSTJDX09DT1JFUykJKz0gaTJjLW9jb3Jlcy5vCitvYmotJChDT05GSUdfSTJDX09NQVApCQkrPSBpMmMtb21hcC5vCitvYmotJChDT05GSUdfSTJDX1BBU0VNSSkJKz0gaTJjLXBhc2VtaS5vCitvYmotJChDT05GSUdfSTJDX1BOWCkJCSs9IGkyYy1wbngubworb2JqLSQoQ09ORklHX0kyQ19QWEEpCQkrPSBpMmMtcHhhLm8KK29iai0kKENPTkZJR19JMkNfUzNDMjQxMCkJKz0gaTJjLXMzYzI0MTAubworb2JqLSQoQ09ORklHX0kyQ19TSDc3NjApCSs9IGkyYy1zaDc3NjAubworb2JqLSQoQ09ORklHX0kyQ19TSF9NT0JJTEUpCSs9IGkyYy1zaF9tb2JpbGUubworb2JqLSQoQ09ORklHX0kyQ19TSU1URUMpCSs9IGkyYy1zaW10ZWMubworb2JqLSQoQ09ORklHX0kyQ19WRVJTQVRJTEUpCSs9IGkyYy12ZXJzYXRpbGUubworCisjIEV4dGVybmFsIEkyQy9TTUJ1cyBhZGFwdGVyIGRyaXZlcnMKK29iai0kKENPTkZJR19JMkNfUEFSUE9SVCkJKz0gaTJjLXBhcnBvcnQubworb2JqLSQoQ09ORklHX0kyQ19QQVJQT1JUX0xJR0hUKQkrPSBpMmMtcGFycG9ydC1saWdodC5vCitvYmotJChDT05GSUdfSTJDX1RBT1NfRVZNKQkrPSBpMmMtdGFvcy1ldm0ubworb2JqLSQoQ09ORklHX0kyQ19USU5ZX1VTQikJKz0gaTJjLXRpbnktdXNiLm8KKworIyBHcmFwaGljcyBhZGFwdGVyIEkyQy9EREMgY2hhbm5lbCBkcml2ZXJzCiBvYmotJChDT05GSUdfSTJDX1ZPT0RPTzMpCSs9IGkyYy12b29kb28zLm8KKworIyBPdGhlciBJMkMvU01CdXMgYnVzIGRyaXZlcnMKK29iai0kKENPTkZJR19JMkNfQUNPUk4pCQkrPSBpMmMtYWNvcm4ubworb2JqLSQoQ09ORklHX0kyQ19FTEVLVE9SKQkrPSBpMmMtZWxla3Rvci5vCitvYmotJChDT05GSUdfSTJDX1BDQV9JU0EpCSs9IGkyYy1wY2EtaXNhLm8KK29iai0kKENPTkZJR19JMkNfUENBX1BMQVRGT1JNKQkrPSBpMmMtcGNhLXBsYXRmb3JtLm8KK29iai0kKENPTkZJR19JMkNfUE1DTVNQKQkrPSBpMmMtcG1jbXNwLm8KK29iai0kKENPTkZJR19JMkNfU0lCWVRFKQkrPSBpMmMtc2lieXRlLm8KK29iai0kKENPTkZJR19JMkNfU1RVQikJCSs9IGkyYy1zdHViLm8KIG9iai0kKENPTkZJR19TQ3gyMDBfQUNCKQkrPSBzY3gyMDBfYWNiLm8KIG9iai0kKENPTkZJR19TQ3gyMDBfSTJDKQkrPSBzY3gyMDBfaTJjLm8KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1hbGkxNTM1LmMgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWFsaTE1MzUuYwppbmRleCBmMTQzNzJhLi45Y2VhZDliIDEwMDY0NAotLS0gYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWFsaTE1MzUuYworKysgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWFsaTE1MzUuYwpAQCAtMSw2ICsxLDQgQEAKIC8qCi0gICAgaTJjLWFsaTE1MzUuYyAtIFBhcnQgb2YgbG1fc2Vuc29ycywgTGludXgga2VybmVsIG1vZHVsZXMgZm9yIGhhcmR3YXJlCi0gICAgICAgICAgICAgICAgICAgIG1vbml0b3JpbmcKICAgICBDb3B5cmlnaHQgKGMpIDIwMDAgIEZyb2RvIExvb2lqYWFyZCA8ZnJvZG9sQGRkcy5ubD4sIAogICAgICAgICAgICAgICAgICAgICAgICAgUGhpbGlwIEVkZWxicm9jayA8cGhpbEBuZXRyb2VkZ2UuY29tPiwgCiAgICAgICAgICAgICAgICAgICAgICAgICBNYXJrIEQuIFN0dWRlYmFrZXIgPG1kc3h5ejEyM0B5YWhvby5jb20+LApAQCAtNjEsNiArNTksNyBAQAogI2luY2x1ZGUgPGxpbnV4L2lvcG9ydC5oPgogI2luY2x1ZGUgPGxpbnV4L2kyYy5oPgogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9hY3BpLmg+CiAjaW5jbHVkZSA8YXNtL2lvLmg+CiAKIApAQCAtMTU5LDYgKzE1OCwxMSBAQAogCQlnb3RvIGV4aXQ7CiAJfQogCisJcmV0dmFsID0gYWNwaV9jaGVja19yZWdpb24oYWxpMTUzNV9zbWJhLCBBTEkxNTM1X1NNQl9JT1NJWkUsCisJCQkJICAgYWxpMTUzNV9kcml2ZXIubmFtZSk7CisJaWYgKHJldHZhbCkKKwkJZ290byBleGl0OworCiAJaWYgKCFyZXF1ZXN0X3JlZ2lvbihhbGkxNTM1X3NtYmEsIEFMSTE1MzVfU01CX0lPU0laRSwKIAkJCSAgICBhbGkxNTM1X2RyaXZlci5uYW1lKSkgewogCQlkZXZfZXJyKCZkZXYtPmRldiwgIkFMSTE1MzVfc21iIHJlZ2lvbiAweCV4IGFscmVhZHkgaW4gdXNlIVxuIiwKQEAgLTI1OSw3ICsyNjMsNyBAQAogCQkJZGV2X2VycigmYWRhcC0+ZGV2LAogCQkJCSJTTUJ1cyByZXNldCBmYWlsZWQhICgweCUwMngpIC0gY29udHJvbGxlciBvciAiCiAJCQkJImRldmljZSBvbiBidXMgaXMgcHJvYmFibHkgaHVuZ1xuIiwgdGVtcCk7Ci0JCQlyZXR1cm4gLTE7CisJCQlyZXR1cm4gLUVCVVNZOwogCQl9CiAJfSBlbHNlIHsKIAkJLyogY2hlY2sgYW5kIGNsZWFyIGRvbmUgYml0ICovCkBAIC0yODEsMTIgKzI4NSwxMiBAQAogCiAJLyogSWYgdGhlIFNNQnVzIGlzIHN0aWxsIGJ1c3ksIHdlIGdpdmUgdXAgKi8KIAlpZiAodGltZW91dCA+PSBNQVhfVElNRU9VVCkgewotCQlyZXN1bHQgPSAtMTsKKwkJcmVzdWx0ID0gLUVUSU1FRE9VVDsKIAkJZGV2X2VycigmYWRhcC0+ZGV2LCAiU01CdXMgVGltZW91dCFcbiIpOwogCX0KIAogCWlmICh0ZW1wICYgQUxJMTUzNV9TVFNfRkFJTCkgewotCQlyZXN1bHQgPSAtMTsKKwkJcmVzdWx0ID0gLUVJTzsKIAkJZGV2X2RiZygmYWRhcC0+ZGV2LCAiRXJyb3I6IEZhaWxlZCBidXMgdHJhbnNhY3Rpb25cbiIpOwogCX0KIApAQCAtMjk1LDcgKzI5OSw3IEBACiAJICogZG8gYSBwcmludGsuICBUaGlzIG1lYW5zIHRoYXQgYnVzIGNvbGxpc2lvbnMgZ28gdW5yZXBvcnRlZC4KIAkgKi8KIAlpZiAodGVtcCAmIEFMSTE1MzVfU1RTX0JVU0VSUikgewotCQlyZXN1bHQgPSAtMTsKKwkJcmVzdWx0ID0gLUVOWElPOwogCQlkZXZfZGJnKCZhZGFwLT5kZXYsCiAJCQkiRXJyb3I6IG5vIHJlc3BvbnNlIG9yIGJ1cyBjb2xsaXNpb24gQUREPSUwMnhcbiIsCiAJCQlpbmJfcChTTUJIU1RBREQpKTsKQEAgLTMwMywxMyArMzA3LDEzIEBACiAKIAkvKiBoYXZlbid0IGV2ZXIgc2VlbiB0aGlzICovCiAJaWYgKHRlbXAgJiBBTEkxNTM1X1NUU19ERVYpIHsKLQkJcmVzdWx0ID0gLTE7CisJCXJlc3VsdCA9IC1FSU87CiAJCWRldl9lcnIoJmFkYXAtPmRldiwgIkVycm9yOiBkZXZpY2UgZXJyb3JcbiIpOwogCX0KIAogCS8qIGNoZWNrIHRvIHNlZSBpZiB0aGUgImNvbW1hbmQgY29tcGxldGUiIGluZGljYXRpb24gaXMgc2V0ICovCiAJaWYgKCEodGVtcCAmIEFMSTE1MzVfU1RTX0RPTkUpKSB7Ci0JCXJlc3VsdCA9IC0xOworCQlyZXN1bHQgPSAtRVRJTUVET1VUOwogCQlkZXZfZXJyKCZhZGFwLT5kZXYsICJFcnJvcjogY29tbWFuZCBuZXZlciBjb21wbGV0ZWRcbiIpOwogCX0KIApAQCAtMzMyLDcgKzMzNiw3IEBACiAJcmV0dXJuIHJlc3VsdDsKIH0KIAotLyogUmV0dXJuIC0xIG9uIGVycm9yLiAqLworLyogUmV0dXJuIG5lZ2F0aXZlIGVycm5vIG9uIGVycm9yLiAqLwogc3RhdGljIHMzMiBhbGkxNTM1X2FjY2VzcyhzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXAsIHUxNiBhZGRyLAogCQkJICB1bnNpZ25lZCBzaG9ydCBmbGFncywgY2hhciByZWFkX3dyaXRlLCB1OCBjb21tYW5kLAogCQkJICBpbnQgc2l6ZSwgdW5pb24gaTJjX3NtYnVzX2RhdGEgKmRhdGEpCkBAIC0zNTcsMTAgKzM2MSw2IEBACiAJb3V0Yl9wKDB4RkYsIFNNQkhTVFNUUyk7CiAKIAlzd2l0Y2ggKHNpemUpIHsKLQljYXNlIEkyQ19TTUJVU19QUk9DX0NBTEw6Ci0JCWRldl9lcnIoJmFkYXAtPmRldiwgIkkyQ19TTUJVU19QUk9DX0NBTEwgbm90IHN1cHBvcnRlZCFcbiIpOwotCQlyZXN1bHQgPSAtMTsKLQkJZ290byBFWElUOwogCWNhc2UgSTJDX1NNQlVTX1FVSUNLOgogCQlvdXRiX3AoKChhZGRyICYgMHg3ZikgPDwgMSkgfCAocmVhZF93cml0ZSAmIDB4MDEpLAogCQkgICAgICAgU01CSFNUQUREKTsKQEAgLTQxOCwxNCArNDE4LDE2IEBACiAJCQkJb3V0Yl9wKGRhdGEtPmJsb2NrW2ldLCBTTUJCTEtEQVQpOwogCQl9CiAJCWJyZWFrOwotCX0KLQotCWlmIChhbGkxNTM1X3RyYW5zYWN0aW9uKGFkYXApKSB7Ci0JCS8qIEVycm9yIGluIHRyYW5zYWN0aW9uICovCi0JCXJlc3VsdCA9IC0xOworCWRlZmF1bHQ6CisJCWRldl93YXJuKCZhZGFwLT5kZXYsICJVbnN1cHBvcnRlZCB0cmFuc2FjdGlvbiAlZFxuIiwgc2l6ZSk7CisJCXJlc3VsdCA9IC1FT1BOT1RTVVBQOwogCQlnb3RvIEVYSVQ7CiAJfQogCisJcmVzdWx0ID0gYWxpMTUzNV90cmFuc2FjdGlvbihhZGFwKTsKKwlpZiAocmVzdWx0KQorCQlnb3RvIEVYSVQ7CisKIAlpZiAoKHJlYWRfd3JpdGUgPT0gSTJDX1NNQlVTX1dSSVRFKSB8fCAoc2l6ZSA9PSBBTEkxNTM1X1FVSUNLKSkgewogCQlyZXN1bHQgPSAwOwogCQlnb3RvIEVYSVQ7CkBAIC00NzUsNyArNDc3LDcgQEAKIHN0YXRpYyBzdHJ1Y3QgaTJjX2FkYXB0ZXIgYWxpMTUzNV9hZGFwdGVyID0gewogCS5vd25lcgkJPSBUSElTX01PRFVMRSwKIAkuaWQJCT0gSTJDX0hXX1NNQlVTX0FMSTE1MzUsCi0JLmNsYXNzICAgICAgICAgID0gSTJDX0NMQVNTX0hXTU9OLAorCS5jbGFzcyAgICAgICAgICA9IEkyQ19DTEFTU19IV01PTiB8IEkyQ19DTEFTU19TUEQsCiAJLmFsZ28JCT0gJnNtYnVzX2FsZ29yaXRobSwKIH07CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtYWxpMTU2My5jIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1hbGkxNTYzLmMKaW5kZXggNmI2ODA3NC4uZmMzZTViMCAxMDA2NDQKLS0tIGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1hbGkxNTYzLmMKKysrIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1hbGkxNTYzLmMKQEAgLTIxLDYgKzIxLDcgQEAKICNpbmNsdWRlIDxsaW51eC9pMmMuaD4KICNpbmNsdWRlIDxsaW51eC9wY2kuaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvYWNwaS5oPgogCiAjZGVmaW5lIEFMSTE1NjNfTUFYX1RJTUVPVVQJNTAwCiAjZGVmaW5lCUFMSTE1NjNfU01CQkEJCTB4ODAKQEAgLTY3LDYgKzY4LDcgQEAKIHsKIAl1MzIgZGF0YTsKIAlpbnQgdGltZW91dDsKKwlpbnQgc3RhdHVzID0gLUVJTzsKIAogCWRldl9kYmcoJmEtPmRldiwgIlRyYW5zYWN0aW9uIChwcmUpOiBTVFM9JTAyeCwgQ05UTDE9JTAyeCwgIgogCQkiQ05UTDI9JTAyeCwgQ01EPSUwMngsIEFERD0lMDJ4LCBEQVQwPSUwMngsIERBVDE9JTAyeFxuIiwKQEAgLTEwMywxMyArMTA1LDE1IEBACiAJCS8qIElzc3VlICdraWxsJyB0byBob3N0IGNvbnRyb2xsZXIgKi8KIAkJb3V0Yl9wKEhTVF9DTlRMMl9LSUxMLFNNQl9IU1RfQ05UTDIpOwogCQlkYXRhID0gaW5iX3AoU01CX0hTVF9TVFMpOworCQlzdGF0dXMgPSAtRVRJTUVET1VUOwogIAl9CiAKIAkvKiBkZXZpY2UgZXJyb3IgLSBubyByZXNwb25zZSwgaWdub3JlIHRoZSBhdXRvZGV0ZWN0aW9uIGNhc2UgKi8KLQlpZiAoKGRhdGEgJiBIU1RfU1RTX0RFVkVSUikgJiYgKHNpemUgIT0gSFNUX0NOVEwyX1FVSUNLKSkgewotCQlkZXZfZXJyKCZhLT5kZXYsICJEZXZpY2UgZXJyb3IhXG4iKTsKKwlpZiAoZGF0YSAmIEhTVF9TVFNfREVWRVJSKSB7CisJCWlmIChzaXplICE9IEhTVF9DTlRMMl9RVUlDSykKKwkJCWRldl9lcnIoJmEtPmRldiwgIkRldmljZSBlcnJvciFcbiIpOworCQlzdGF0dXMgPSAtRU5YSU87CiAJfQotCiAJLyogYnVzIGNvbGxpc2lvbiAqLwogCWlmIChkYXRhICYgSFNUX1NUU19CVVNFUlIpIHsKIAkJZGV2X2VycigmYS0+ZGV2LCAiQnVzIGNvbGxpc2lvbiFcbiIpOwpAQCAtMTIyLDEzICsxMjYsMTQgQEAKIAkJb3V0Yl9wKDB4MCxTTUJfSFNUX0NOVEwyKTsKIAl9CiAKLQlyZXR1cm4gLTE7CisJcmV0dXJuIHN0YXR1czsKIH0KIAogc3RhdGljIGludCBhbGkxNTYzX2Jsb2NrX3N0YXJ0KHN0cnVjdCBpMmNfYWRhcHRlciAqIGEpCiB7CiAJdTMyIGRhdGE7CiAJaW50IHRpbWVvdXQ7CisJaW50IHN0YXR1cyA9IC1FSU87CiAKIAlkZXZfZGJnKCZhLT5kZXYsICJCbG9jayAocHJlKTogU1RTPSUwMngsIENOVEwxPSUwMngsICIKIAkJIkNOVEwyPSUwMngsIENNRD0lMDJ4LCBBREQ9JTAyeCwgREFUMD0lMDJ4LCBEQVQxPSUwMnhcbiIsCkBAIC0xNjQsMTMgKzE2OSwyMCBAQAogCiAJaWYgKHRpbWVvdXQgJiYgIShkYXRhICYgSFNUX1NUU19CQUQpKQogCQlyZXR1cm4gMDsKKworCWlmICh0aW1lb3V0ID09IDApCisJCXN0YXR1cyA9IC1FVElNRURPVVQ7CisKKwlpZiAoZGF0YSAmIEhTVF9TVFNfREVWRVJSKQorCQlzdGF0dXMgPSAtRU5YSU87CisKIAlkZXZfZXJyKCZhLT5kZXYsICJTTUJ1cyBFcnJvcjogJXMlcyVzJXMlc1xuIiwKLQkJdGltZW91dCA/ICJUaW1lb3V0ICIgOiAiIiwKKwkJdGltZW91dCA/ICIiIDogIlRpbWVvdXQgIiwKIAkJZGF0YSAmIEhTVF9TVFNfRkFJTCA/ICJUcmFuc2FjdGlvbiBGYWlsZWQgIiA6ICIiLAogCQlkYXRhICYgSFNUX1NUU19CVVNFUlIgPyAiTm8gcmVzcG9uc2Ugb3IgQnVzIENvbGxpc2lvbiAiIDogIiIsCiAJCWRhdGEgJiBIU1RfU1RTX0RFVkVSUiA/ICJEZXZpY2UgRXJyb3IgIiA6ICIiLAogCQkhKGRhdGEgJiBIU1RfU1RTX0RPTkUpID8gIlRyYW5zYWN0aW9uIE5ldmVyIEZpbmlzaGVkICIgOiAiIik7Ci0JcmV0dXJuIC0xOworCXJldHVybiBzdGF0dXM7CiB9CiAKIHN0YXRpYyBpbnQgYWxpMTU2M19ibG9jayhzdHJ1Y3QgaTJjX2FkYXB0ZXIgKiBhLCB1bmlvbiBpMmNfc21idXNfZGF0YSAqIGRhdGEsIHU4IHJ3KQpAQCAtMjM1LDEwICsyNDcsNiBAQAogCiAJLyogTWFwIHRoZSBzaXplIHRvIHdoYXQgdGhlIGNoaXAgdW5kZXJzdGFuZHMgKi8KIAlzd2l0Y2ggKHNpemUpIHsKLQljYXNlIEkyQ19TTUJVU19QUk9DX0NBTEw6Ci0JCWRldl9lcnIoJmEtPmRldiwgIkkyQ19TTUJVU19QUk9DX0NBTEwgbm90IHN1cHBvcnRlZCFcbiIpOwotCQllcnJvciA9IC1FSU5WQUw7Ci0JCWJyZWFrOwogCWNhc2UgSTJDX1NNQlVTX1FVSUNLOgogCQlzaXplID0gSFNUX0NOVEwyX1FVSUNLOwogCQlicmVhazsKQEAgLTI1NCw2ICsyNjIsMTAgQEAKIAljYXNlIEkyQ19TTUJVU19CTE9DS19EQVRBOgogCQlzaXplID0gSFNUX0NOVEwyX0JMT0NLOwogCQlicmVhazsKKwlkZWZhdWx0OgorCQlkZXZfd2FybigmYS0+ZGV2LCAiVW5zdXBwb3J0ZWQgdHJhbnNhY3Rpb24gJWRcbiIsIHNpemUpOworCQllcnJvciA9IC1FT1BOT1RTVVBQOworCQlnb3RvIERvbmU7CiAJfQogCiAJb3V0Yl9wKCgoYWRkciAmIDB4N2YpIDw8IDEpIHwgKHJ3ICYgMHgwMSksIFNNQl9IU1RfQUREKTsKQEAgLTM0NSw2ICszNTcsMTAgQEAKIAkJfQogCX0KIAorCWlmIChhY3BpX2NoZWNrX3JlZ2lvbihhbGkxNTYzX3NtYmEsIEFMSTE1NjNfU01CX0lPU0laRSwKKwkJCSAgICAgIGFsaTE1NjNfcGNpX2RyaXZlci5uYW1lKSkKKwkJZ290byBFcnI7CisKIAlpZiAoIXJlcXVlc3RfcmVnaW9uKGFsaTE1NjNfc21iYSwgQUxJMTU2M19TTUJfSU9TSVpFLAogCQkJICAgIGFsaTE1NjNfcGNpX2RyaXZlci5uYW1lKSkgewogCQlkZXZfZXJyKCZkZXYtPmRldiwgIkNvdWxkIG5vdCBhbGxvY2F0ZSBJL08gc3BhY2UgYXQgMHglMDR4XG4iLApAQCAtMzcxLDcgKzM4Nyw3IEBACiBzdGF0aWMgc3RydWN0IGkyY19hZGFwdGVyIGFsaTE1NjNfYWRhcHRlciA9IHsKIAkub3duZXIJPSBUSElTX01PRFVMRSwKIAkuaWQJPSBJMkNfSFdfU01CVVNfQUxJMTU2MywKLQkuY2xhc3MJPSBJMkNfQ0xBU1NfSFdNT04sCisJLmNsYXNzCT0gSTJDX0NMQVNTX0hXTU9OIHwgSTJDX0NMQVNTX1NQRCwKIAkuYWxnbwk9ICZhbGkxNTYzX2FsZ29yaXRobSwKIH07CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtYWxpMTV4My5jIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1hbGkxNXgzLmMKaW5kZXggOTNiZjg3ZC4uMjM0ZmRkZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1hbGkxNXgzLmMKKysrIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1hbGkxNXgzLmMKQEAgLTEsNiArMSw0IEBACiAvKgotICAgIGFsaTE1eDMuYyAtIFBhcnQgb2YgbG1fc2Vuc29ycywgTGludXgga2VybmVsIG1vZHVsZXMgZm9yIGhhcmR3YXJlCi0gICAgICAgICAgICAgIG1vbml0b3JpbmcKICAgICBDb3B5cmlnaHQgKGMpIDE5OTkgIEZyb2RvIExvb2lqYWFyZCA8ZnJvZG9sQGRkcy5ubD4gYW5kCiAgICAgUGhpbGlwIEVkZWxicm9jayA8cGhpbEBuZXRyb2VkZ2UuY29tPiBhbmQKICAgICBNYXJrIEQuIFN0dWRlYmFrZXIgPG1kc3h5ejEyM0B5YWhvby5jb20+CkBAIC02OCw2ICs2Niw3IEBACiAjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KICNpbmNsdWRlIDxsaW51eC9pMmMuaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvYWNwaS5oPgogI2luY2x1ZGUgPGFzbS9pby5oPgogCiAvKiBBTEkxNVgzIFNNQnVzIGFkZHJlc3Mgb2Zmc2V0cyAqLwpAQCAtMTY2LDYgKzE2NSwxMCBAQAogCWlmKGZvcmNlX2FkZHIpCiAJCWFsaTE1eDNfc21iYSA9IGZvcmNlX2FkZHIgJiB+KEFMSTE1WDNfU01CX0lPU0laRSAtIDEpOwogCisJaWYgKGFjcGlfY2hlY2tfcmVnaW9uKGFsaTE1eDNfc21iYSwgQUxJMTVYM19TTUJfSU9TSVpFLAorCQkJICAgICAgYWxpMTV4M19kcml2ZXIubmFtZSkpCisJCXJldHVybiAtRUJVU1k7CisKIAlpZiAoIXJlcXVlc3RfcmVnaW9uKGFsaTE1eDNfc21iYSwgQUxJMTVYM19TTUJfSU9TSVpFLAogCQkJICAgIGFsaTE1eDNfZHJpdmVyLm5hbWUpKSB7CiAJCWRldl9lcnIoJkFMSTE1WDNfZGV2LT5kZXYsCkBAIC0yODIsNyArMjg1LDcgQEAKIAkJCWRldl9lcnIoJmFkYXAtPmRldiwgIlNNQnVzIHJlc2V0IGZhaWxlZCEgKDB4JTAyeCkgLSAiCiAJCQkJImNvbnRyb2xsZXIgb3IgZGV2aWNlIG9uIGJ1cyBpcyBwcm9iYWJseSBodW5nXG4iLAogCQkJCXRlbXApOwotCQkJcmV0dXJuIC0xOworCQkJcmV0dXJuIC1FQlVTWTsKIAkJfQogCX0gZWxzZSB7CiAJCS8qIGNoZWNrIGFuZCBjbGVhciBkb25lIGJpdCAqLwpAQCAtMzA0LDEyICszMDcsMTIgQEAKIAogCS8qIElmIHRoZSBTTUJ1cyBpcyBzdGlsbCBidXN5LCB3ZSBnaXZlIHVwICovCiAJaWYgKHRpbWVvdXQgPj0gTUFYX1RJTUVPVVQpIHsKLQkJcmVzdWx0ID0gLTE7CisJCXJlc3VsdCA9IC1FVElNRURPVVQ7CiAJCWRldl9lcnIoJmFkYXAtPmRldiwgIlNNQnVzIFRpbWVvdXQhXG4iKTsKIAl9CiAKIAlpZiAodGVtcCAmIEFMSTE1WDNfU1RTX1RFUk0pIHsKLQkJcmVzdWx0ID0gLTE7CisJCXJlc3VsdCA9IC1FSU87CiAJCWRldl9kYmcoJmFkYXAtPmRldiwgIkVycm9yOiBGYWlsZWQgYnVzIHRyYW5zYWN0aW9uXG4iKTsKIAl9CiAKQEAgLTMyMCw3ICszMjMsNyBAQAogCSAgVGhpcyBtZWFucyB0aGF0IGJ1cyBjb2xsaXNpb25zIGdvIHVucmVwb3J0ZWQuCiAJKi8KIAlpZiAodGVtcCAmIEFMSTE1WDNfU1RTX0NPTEwpIHsKLQkJcmVzdWx0ID0gLTE7CisJCXJlc3VsdCA9IC1FTlhJTzsKIAkJZGV2X2RiZygmYWRhcC0+ZGV2LAogCQkJIkVycm9yOiBubyByZXNwb25zZSBvciBidXMgY29sbGlzaW9uIEFERD0lMDJ4XG4iLAogCQkJaW5iX3AoU01CSFNUQUREKSk7CkBAIC0zMjgsNyArMzMxLDcgQEAKIAogCS8qIGhhdmVuJ3QgZXZlciBzZWVuIHRoaXMgKi8KIAlpZiAodGVtcCAmIEFMSTE1WDNfU1RTX0RFVikgewotCQlyZXN1bHQgPSAtMTsKKwkJcmVzdWx0ID0gLUVJTzsKIAkJZGV2X2VycigmYWRhcC0+ZGV2LCAiRXJyb3I6IGRldmljZSBlcnJvclxuIik7CiAJfQogCWRldl9kYmcoJmFkYXAtPmRldiwgIlRyYW5zYWN0aW9uIChwb3N0KTogU1RTPSUwMngsIENOVD0lMDJ4LCBDTUQ9JTAyeCwgIgpAQCAtMzM4LDcgKzM0MSw3IEBACiAJcmV0dXJuIHJlc3VsdDsKIH0KIAotLyogUmV0dXJuIC0xIG9uIGVycm9yLiAqLworLyogUmV0dXJuIG5lZ2F0aXZlIGVycm5vIG9uIGVycm9yLiAqLwogc3RhdGljIHMzMiBhbGkxNXgzX2FjY2VzcyhzdHJ1Y3QgaTJjX2FkYXB0ZXIgKiBhZGFwLCB1MTYgYWRkciwKIAkJICAgdW5zaWduZWQgc2hvcnQgZmxhZ3MsIGNoYXIgcmVhZF93cml0ZSwgdTggY29tbWFuZCwKIAkJICAgaW50IHNpemUsIHVuaW9uIGkyY19zbWJ1c19kYXRhICogZGF0YSkKQEAgLTM2Miw5ICszNjUsNiBAQAogCX0KIAogCXN3aXRjaCAoc2l6ZSkgewotCWNhc2UgSTJDX1NNQlVTX1BST0NfQ0FMTDoKLQkJZGV2X2VycigmYWRhcC0+ZGV2LCAiSTJDX1NNQlVTX1BST0NfQ0FMTCBub3Qgc3VwcG9ydGVkIVxuIik7Ci0JCXJldHVybiAtMTsKIAljYXNlIEkyQ19TTUJVU19RVUlDSzoKIAkJb3V0Yl9wKCgoYWRkciAmIDB4N2YpIDw8IDEpIHwgKHJlYWRfd3JpdGUgJiAweDAxKSwKIAkJICAgICAgIFNNQkhTVEFERCk7CkBAIC00MTcsMTIgKzQxNywxNiBAQAogCQl9CiAJCXNpemUgPSBBTEkxNVgzX0JMT0NLX0RBVEE7CiAJCWJyZWFrOworCWRlZmF1bHQ6CisJCWRldl93YXJuKCZhZGFwLT5kZXYsICJVbnN1cHBvcnRlZCB0cmFuc2FjdGlvbiAlZFxuIiwgc2l6ZSk7CisJCXJldHVybiAtRU9QTk9UU1VQUDsKIAl9CiAKIAlvdXRiX3Aoc2l6ZSwgU01CSFNUQ05UKTsJLyogb3V0cHV0IGNvbW1hbmQgKi8KIAotCWlmIChhbGkxNXgzX3RyYW5zYWN0aW9uKGFkYXApKQkvKiBFcnJvciBpbiB0cmFuc2FjdGlvbiAqLwotCQlyZXR1cm4gLTE7CisJdGVtcCA9IGFsaTE1eDNfdHJhbnNhY3Rpb24oYWRhcCk7CisJaWYgKHRlbXApCisJCXJldHVybiB0ZW1wOwogCiAJaWYgKChyZWFkX3dyaXRlID09IEkyQ19TTUJVU19XUklURSkgfHwgKHNpemUgPT0gQUxJMTVYM19RVUlDSykpCiAJCXJldHVybiAwOwpAQCAtNDcwLDcgKzQ3NCw3IEBACiBzdGF0aWMgc3RydWN0IGkyY19hZGFwdGVyIGFsaTE1eDNfYWRhcHRlciA9IHsKIAkub3duZXIJCT0gVEhJU19NT0RVTEUsCiAJLmlkCQk9IEkyQ19IV19TTUJVU19BTEkxNVgzLAotCS5jbGFzcyAgICAgICAgICA9IEkyQ19DTEFTU19IV01PTiwKKwkuY2xhc3MgICAgICAgICAgPSBJMkNfQ0xBU1NfSFdNT04gfCBJMkNfQ0xBU1NfU1BELAogCS5hbGdvCQk9ICZzbWJ1c19hbGdvcml0aG0sCiB9OwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWFtZDc1Ni1zNDg4Mi5jIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1hbWQ3NTYtczQ4ODIuYwppbmRleCBjMzhhMGExLi4yZjE1MGUzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWFtZDc1Ni1zNDg4Mi5jCisrKyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtYW1kNzU2LXM0ODgyLmMKQEAgLTU4LDcgKzU4LDcgQEAKIAkvKiBXZSBleGNsdWRlIHRoZSBtdWx0aXBsZXhlZCBhZGRyZXNzZXMgKi8KIAlpZiAoYWRkciA9PSAweDRjIHx8IChhZGRyICYgMHhmYykgPT0gMHg1MCB8fCAoYWRkciAmIDB4ZmMpID09IDB4MzAKIAkgfHwgYWRkciA9PSAweDE4KQotCQlyZXR1cm4gLTE7CisJCXJldHVybiAtRU5YSU87CiAKIAltdXRleF9sb2NrKCZhbWQ3NTZfbG9jayk7CiAKQEAgLTg2LDcgKzg2LDcgQEAKIAogCS8qIFdlIGV4Y2x1ZGUgdGhlIG5vbi1tdWx0aXBsZXhlZCBhZGRyZXNzZXMgKi8KIAlpZiAoYWRkciAhPSAweDRjICYmIChhZGRyICYgMHhmYykgIT0gMHg1MCAmJiAoYWRkciAmIDB4ZmMpICE9IDB4MzApCi0JCXJldHVybiAtMTsKKwkJcmV0dXJuIC1FTlhJTzsKIAogCW11dGV4X2xvY2soJmFtZDc1Nl9sb2NrKTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1hbWQ3NTYuYyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtYW1kNzU2LmMKaW5kZXggNDM1MDhkNi4uMWVhMzkyNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1hbWQ3NTYuYworKysgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWFtZDc1Ni5jCkBAIC0xLDcgKzEsNCBAQAogLyoKLSAgICBhbWQ3NTYuYyAtIFBhcnQgb2YgbG1fc2Vuc29ycywgTGludXgga2VybmVsIG1vZHVsZXMgZm9yIGhhcmR3YXJlCi0gICAgICAgICAgICAgIG1vbml0b3JpbmcKLQogICAgIENvcHlyaWdodCAoYykgMTk5OS0yMDAyIE1lcmxpbiBIdWdoZXMgPG1lcmxpbkBtZXJsaW4ub3JnPgogCiAgICAgU2hhbWVsZXNzbHkgcmlwcGVkIGZyb20gaTJjLXBpaXg0LmM6CkBAIC00NSw2ICs0Miw3IEBACiAjaW5jbHVkZSA8bGludXgvaW9wb3J0Lmg+CiAjaW5jbHVkZSA8bGludXgvaTJjLmg+CiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L2FjcGkuaD4KICNpbmNsdWRlIDxhc20vaW8uaD4KIAogLyogQU1ENzU2IFNNQnVzIGFkZHJlc3Mgb2Zmc2V0cyAqLwpAQCAtMTUxLDE3ICsxNDksMTcgQEAKIAl9CiAKIAlpZiAodGVtcCAmIEdTX1BSRVJSX1NUUykgewotCQlyZXN1bHQgPSAtMTsKKwkJcmVzdWx0ID0gLUVOWElPOwogCQlkZXZfZGJnKCZhZGFwLT5kZXYsICJTTUJ1cyBQcm90b2NvbCBlcnJvciAobm8gcmVzcG9uc2UpIVxuIik7CiAJfQogCiAJaWYgKHRlbXAgJiBHU19DT0xfU1RTKSB7Ci0JCXJlc3VsdCA9IC0xOworCQlyZXN1bHQgPSAtRUlPOwogCQlkZXZfd2FybigmYWRhcC0+ZGV2LCAiU01CdXMgY29sbGlzaW9uIVxuIik7CiAJfQogCiAJaWYgKHRlbXAgJiBHU19UT19TVFMpIHsKLQkJcmVzdWx0ID0gLTE7CisJCXJlc3VsdCA9IC1FVElNRURPVVQ7CiAJCWRldl9kYmcoJmFkYXAtPmRldiwgIlNNQnVzIHByb3RvY29sIHRpbWVvdXQhXG4iKTsKIAl9CiAKQEAgLTE4OSwyMiArMTg3LDE4IEBACiAJb3V0d19wKGludyhTTUJfR0xPQkFMX0VOQUJMRSkgfCBHRV9BQk9SVCwgU01CX0dMT0JBTF9FTkFCTEUpOwogCW1zbGVlcCgxMDApOwogCW91dHdfcChHU19DTEVBUl9TVFMsIFNNQl9HTE9CQUxfU1RBVFVTKTsKLQlyZXR1cm4gLTE7CisJcmV0dXJuIC1FSU87CiB9CiAKLS8qIFJldHVybiAtMSBvbiBlcnJvci4gKi8KKy8qIFJldHVybiBuZWdhdGl2ZSBlcnJubyBvbiBlcnJvci4gKi8KIHN0YXRpYyBzMzIgYW1kNzU2X2FjY2VzcyhzdHJ1Y3QgaTJjX2FkYXB0ZXIgKiBhZGFwLCB1MTYgYWRkciwKIAkJICB1bnNpZ25lZCBzaG9ydCBmbGFncywgY2hhciByZWFkX3dyaXRlLAogCQkgIHU4IGNvbW1hbmQsIGludCBzaXplLCB1bmlvbiBpMmNfc21idXNfZGF0YSAqIGRhdGEpCiB7CiAJaW50IGksIGxlbjsKKwlpbnQgc3RhdHVzOwogCi0JLyoqIFRPRE86IFNob3VsZCBJIHN1cHBvcnRlIHRoZSAxMC1iaXQgdHJhbnNmZXJzPyAqLwogCXN3aXRjaCAoc2l6ZSkgewotCWNhc2UgSTJDX1NNQlVTX1BST0NfQ0FMTDoKLQkJZGV2X2RiZygmYWRhcC0+ZGV2LCAiSTJDX1NNQlVTX1BST0NfQ0FMTCBub3Qgc3VwcG9ydGVkIVxuIik7Ci0JCS8qIFRPRE86IFdlbGwuLi4gSXQgaXMgc3VwcG9ydGVkLCBJJ20ganVzdCBub3Qgc3VyZSB3aGF0IHRvIGRvIGhlcmUuLi4gKi8KLQkJcmV0dXJuIC0xOwogCWNhc2UgSTJDX1NNQlVTX1FVSUNLOgogCQlvdXR3X3AoKChhZGRyICYgMHg3ZikgPDwgMSkgfCAocmVhZF93cml0ZSAmIDB4MDEpLAogCQkgICAgICAgU01CX0hPU1RfQUREUkVTUyk7CkBAIC0yNTEsMTMgKzI0NSwxNyBAQAogCQl9CiAJCXNpemUgPSBBTUQ3NTZfQkxPQ0tfREFUQTsKIAkJYnJlYWs7CisJZGVmYXVsdDoKKwkJZGV2X3dhcm4oJmFkYXAtPmRldiwgIlVuc3VwcG9ydGVkIHRyYW5zYWN0aW9uICVkXG4iLCBzaXplKTsKKwkJcmV0dXJuIC1FT1BOT1RTVVBQOwogCX0KIAogCS8qIEhvdyBhYm91dCBlbmFibGluZyBpbnRlcnJ1cHRzLi4uICovCiAJb3V0d19wKHNpemUgJiBHRV9DWUNfVFlQRV9NQVNLLCBTTUJfR0xPQkFMX0VOQUJMRSk7CiAKLQlpZiAoYW1kNzU2X3RyYW5zYWN0aW9uKGFkYXApKQkvKiBFcnJvciBpbiB0cmFuc2FjdGlvbiAqLwotCQlyZXR1cm4gLTE7CisJc3RhdHVzID0gYW1kNzU2X3RyYW5zYWN0aW9uKGFkYXApOworCWlmIChzdGF0dXMpCisJCXJldHVybiBzdGF0dXM7CiAKIAlpZiAoKHJlYWRfd3JpdGUgPT0gSTJDX1NNQlVTX1dSSVRFKSB8fCAoc2l6ZSA9PSBBTUQ3NTZfUVVJQ0spKQogCQlyZXR1cm4gMDsKQEAgLTMwMSw3ICsyOTksNyBAQAogc3RydWN0IGkyY19hZGFwdGVyIGFtZDc1Nl9zbWJ1cyA9IHsKIAkub3duZXIJCT0gVEhJU19NT0RVTEUsCiAJLmlkCQk9IEkyQ19IV19TTUJVU19BTUQ3NTYsCi0JLmNsYXNzICAgICAgICAgID0gSTJDX0NMQVNTX0hXTU9OLAorCS5jbGFzcyAgICAgICAgICA9IEkyQ19DTEFTU19IV01PTiB8IEkyQ19DTEFTU19TUEQsCiAJLmFsZ28JCT0gJnNtYnVzX2FsZ29yaXRobSwKIH07CiAKQEAgLTM2OCw2ICszNjYsMTEgQEAKIAkJYW1kNzU2X2lvcG9ydCArPSBTTUJfQUREUl9PRkZTRVQ7CiAJfQogCisJZXJyb3IgPSBhY3BpX2NoZWNrX3JlZ2lvbihhbWQ3NTZfaW9wb3J0LCBTTUJfSU9TSVpFLAorCQkJCSAgYW1kNzU2X2RyaXZlci5uYW1lKTsKKwlpZiAoZXJyb3IpCisJCXJldHVybiBlcnJvcjsKKwogCWlmICghcmVxdWVzdF9yZWdpb24oYW1kNzU2X2lvcG9ydCwgU01CX0lPU0laRSwgYW1kNzU2X2RyaXZlci5uYW1lKSkgewogCQlkZXZfZXJyKCZwZGV2LT5kZXYsICJTTUIgcmVnaW9uIDB4JXggYWxyZWFkeSBpbiB1c2UhXG4iLAogCQkJYW1kNzU2X2lvcG9ydCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWFtZDgxMTEuYyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtYW1kODExMS5jCmluZGV4IDVkMWEyN2UuLjM5NzIyMDggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtYW1kODExMS5jCisrKyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtYW1kODExMS5jCkBAIC0xNiw2ICsxNiw3IEBACiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgogI2luY2x1ZGUgPGxpbnV4L2kyYy5oPgogI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+CisjaW5jbHVkZSA8bGludXgvYWNwaS5oPgogI2luY2x1ZGUgPGFzbS9pby5oPgogCiBNT0RVTEVfTElDRU5TRSgiR1BMIik7CkBAIC03Nyw3ICs3OCw3IEBACiAJaWYgKCF0aW1lb3V0KSB7CiAJCWRldl93YXJuKCZzbWJ1cy0+ZGV2LT5kZXYsCiAJCQkgIlRpbWVvdXQgd2hpbGUgd2FpdGluZyBmb3IgSUJGIHRvIGNsZWFyXG4iKTsKLQkJcmV0dXJuIC0xOworCQlyZXR1cm4gLUVUSU1FRE9VVDsKIAl9CiAKIAlyZXR1cm4gMDsKQEAgLTkzLDcgKzk0LDcgQEAKIAlpZiAoIXRpbWVvdXQpIHsKIAkJZGV2X3dhcm4oJnNtYnVzLT5kZXYtPmRldiwKIAkJCSAiVGltZW91dCB3aGlsZSB3YWl0aW5nIGZvciBPQkYgdG8gc2V0XG4iKTsKLQkJcmV0dXJuIC0xOworCQlyZXR1cm4gLUVUSU1FRE9VVDsKIAl9CiAKIAlyZXR1cm4gMDsKQEAgLTEwMiwxNiArMTAzLDIxIEBACiBzdGF0aWMgdW5zaWduZWQgaW50IGFtZF9lY19yZWFkKHN0cnVjdCBhbWRfc21idXMgKnNtYnVzLCB1bnNpZ25lZCBjaGFyIGFkZHJlc3MsCiAJCXVuc2lnbmVkIGNoYXIgKmRhdGEpCiB7Ci0JaWYgKGFtZF9lY193YWl0X3dyaXRlKHNtYnVzKSkKLQkJcmV0dXJuIC0xOworCWludCBzdGF0dXM7CisKKwlzdGF0dXMgPSBhbWRfZWNfd2FpdF93cml0ZShzbWJ1cyk7CisJaWYgKHN0YXR1cykKKwkJcmV0dXJuIHN0YXR1czsKIAlvdXRiKEFNRF9FQ19DTURfUkQsIHNtYnVzLT5iYXNlICsgQU1EX0VDX0NNRCk7CiAKLQlpZiAoYW1kX2VjX3dhaXRfd3JpdGUoc21idXMpKQotCQlyZXR1cm4gLTE7CisJc3RhdHVzID0gYW1kX2VjX3dhaXRfd3JpdGUoc21idXMpOworCWlmIChzdGF0dXMpCisJCXJldHVybiBzdGF0dXM7CiAJb3V0YihhZGRyZXNzLCBzbWJ1cy0+YmFzZSArIEFNRF9FQ19EQVRBKTsKIAotCWlmIChhbWRfZWNfd2FpdF9yZWFkKHNtYnVzKSkKLQkJcmV0dXJuIC0xOworCXN0YXR1cyA9IGFtZF9lY193YWl0X3JlYWQoc21idXMpOworCWlmIChzdGF0dXMpCisJCXJldHVybiBzdGF0dXM7CiAJKmRhdGEgPSBpbmIoc21idXMtPmJhc2UgKyBBTURfRUNfREFUQSk7CiAKIAlyZXR1cm4gMDsKQEAgLTEyMCwxNiArMTI2LDIxIEBACiBzdGF0aWMgdW5zaWduZWQgaW50IGFtZF9lY193cml0ZShzdHJ1Y3QgYW1kX3NtYnVzICpzbWJ1cywgdW5zaWduZWQgY2hhciBhZGRyZXNzLAogCQl1bnNpZ25lZCBjaGFyIGRhdGEpCiB7Ci0JaWYgKGFtZF9lY193YWl0X3dyaXRlKHNtYnVzKSkKLQkJcmV0dXJuIC0xOworCWludCBzdGF0dXM7CisKKwlzdGF0dXMgPSBhbWRfZWNfd2FpdF93cml0ZShzbWJ1cyk7CisJaWYgKHN0YXR1cykKKwkJcmV0dXJuIHN0YXR1czsKIAlvdXRiKEFNRF9FQ19DTURfV1IsIHNtYnVzLT5iYXNlICsgQU1EX0VDX0NNRCk7CiAKLQlpZiAoYW1kX2VjX3dhaXRfd3JpdGUoc21idXMpKQotCQlyZXR1cm4gLTE7CisJc3RhdHVzID0gYW1kX2VjX3dhaXRfd3JpdGUoc21idXMpOworCWlmIChzdGF0dXMpCisJCXJldHVybiBzdGF0dXM7CiAJb3V0YihhZGRyZXNzLCBzbWJ1cy0+YmFzZSArIEFNRF9FQ19EQVRBKTsKIAotCWlmIChhbWRfZWNfd2FpdF93cml0ZShzbWJ1cykpCi0JCXJldHVybiAtMTsKKwlzdGF0dXMgPSBhbWRfZWNfd2FpdF93cml0ZShzbWJ1cyk7CisJaWYgKHN0YXR1cykKKwkJcmV0dXJuIHN0YXR1czsKIAlvdXRiKGRhdGEsIHNtYnVzLT5iYXNlICsgQU1EX0VDX0RBVEEpOwogCiAJcmV0dXJuIDA7CkBAIC0yNjcsMTIgKzI3OCwxNyBAQAogCiAJCWRlZmF1bHQ6CiAJCQlkZXZfd2FybigmYWRhcC0+ZGV2LCAiVW5zdXBwb3J0ZWQgdHJhbnNhY3Rpb24gJWRcbiIsIHNpemUpOwotCQkJcmV0dXJuIC0xOworCQkJcmV0dXJuIC1FT1BOT1RTVVBQOwogCX0KIAogCWFtZF9lY193cml0ZShzbWJ1cywgQU1EX1NNQl9BRERSLCBhZGRyIDw8IDEpOwogCWFtZF9lY193cml0ZShzbWJ1cywgQU1EX1NNQl9QUlRDTCwgcHJvdG9jb2wpOwogCisJLyogRklYTUUgdGhpcyBkaXNjYXJkcyBzdGF0dXMgZnJvbSBlY19yZWFkKCk7IHNvIHRlbXBbMF0gd2lsbAorCSAqIGhvbGQgc3RhY2sgZ2FyYmFnZSAuLi4gdGhlIHJlc3Qgb2YgdGhpcyByb3V0aW5lIHdpbGwgYWN0CisJICogbm9uc2Vuc2ljYWxseS4gIElnbm9yZWQgZWNfd3JpdGUoKSBzdGF0dXMgbWlnaHQgZXhwbGFpbgorCSAqIHNvbWUgc3VjaCBmYWlsdXJlcy4uLgorCSAqLwogCWFtZF9lY19yZWFkKHNtYnVzLCBBTURfU01CX1NUUywgdGVtcCArIDApOwogCiAJaWYgKH50ZW1wWzBdICYgQU1EX1NNQl9TVFNfRE9ORSkgewpAQCAtMjg2LDcgKzMwMiw3IEBACiAJfQogCiAJaWYgKCh+dGVtcFswXSAmIEFNRF9TTUJfU1RTX0RPTkUpIHx8ICh0ZW1wWzBdICYgQU1EX1NNQl9TVFNfU1RBVFVTKSkKLQkJcmV0dXJuIC0xOworCQlyZXR1cm4gLUVJTzsKIAogCWlmIChyZWFkX3dyaXRlID09IEkyQ19TTUJVU19XUklURSkKIAkJcmV0dXJuIDA7CkBAIC0zNTksNiArMzc1LDEwIEBACiAJc21idXMtPmJhc2UgPSBwY2lfcmVzb3VyY2Vfc3RhcnQoZGV2LCAwKTsKIAlzbWJ1cy0+c2l6ZSA9IHBjaV9yZXNvdXJjZV9sZW4oZGV2LCAwKTsKIAorCWVycm9yID0gYWNwaV9jaGVja19yZXNvdXJjZV9jb25mbGljdCgmZGV2LT5yZXNvdXJjZVswXSk7CisJaWYgKGVycm9yKQorCQlnb3RvIG91dF9rZnJlZTsKKwogCWlmICghcmVxdWVzdF9yZWdpb24oc21idXMtPmJhc2UsIHNtYnVzLT5zaXplLCBhbWQ4MTExX2RyaXZlci5uYW1lKSkgewogCQllcnJvciA9IC1FQlVTWTsKIAkJZ290byBvdXRfa2ZyZWU7CkBAIC0zNjgsNyArMzg4LDcgQEAKIAlzbnByaW50ZihzbWJ1cy0+YWRhcHRlci5uYW1lLCBzaXplb2Yoc21idXMtPmFkYXB0ZXIubmFtZSksCiAJCSJTTUJ1czIgQU1EODExMSBhZGFwdGVyIGF0ICUwNHgiLCBzbWJ1cy0+YmFzZSk7CiAJc21idXMtPmFkYXB0ZXIuaWQgPSBJMkNfSFdfU01CVVNfQU1EODExMTsKLQlzbWJ1cy0+YWRhcHRlci5jbGFzcyA9IEkyQ19DTEFTU19IV01PTjsKKwlzbWJ1cy0+YWRhcHRlci5jbGFzcyA9IEkyQ19DTEFTU19IV01PTiB8IEkyQ19DTEFTU19TUEQ7CiAJc21idXMtPmFkYXB0ZXIuYWxnbyA9ICZzbWJ1c19hbGdvcml0aG07CiAJc21idXMtPmFkYXB0ZXIuYWxnb19kYXRhID0gc21idXM7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtYXUxNTUwLmMgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWF1MTU1MC5jCmluZGV4IGNhZTlkYzguLjY2YTA0YzIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtYXUxNTUwLmMKKysrIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1hdTE1NTAuYwpAQCAtMjY5LDkgKzI2OSwxMyBAQAogYXUxNTUwX3hmZXIoc3RydWN0IGkyY19hZGFwdGVyICppMmNfYWRhcCwgc3RydWN0IGkyY19tc2cgKm1zZ3MsIGludCBudW0pCiB7CiAJc3RydWN0IGkyY19hdTE1NTBfZGF0YSAqYWRhcCA9IGkyY19hZGFwLT5hbGdvX2RhdGE7CisJdm9sYXRpbGUgcHNjX3NtYl90ICpzcCA9ICh2b2xhdGlsZSBwc2Nfc21iX3QgKilhZGFwLT5wc2NfYmFzZTsKIAlzdHJ1Y3QgaTJjX21zZyAqcDsKIAlpbnQgaSwgZXJyID0gMDsKIAorCXNwLT5wc2NfY3RybCA9IFBTQ19DVFJMX0VOQUJMRTsKKwlhdV9zeW5jKCk7CisKIAlmb3IgKGkgPSAwOyAhZXJyICYmIGkgPCBudW07IGkrKykgewogCQlwID0gJm1zZ3NbaV07CiAJCWVyciA9IGRvX2FkZHJlc3MoYWRhcCwgcC0+YWRkciwgcC0+ZmxhZ3MgJiBJMkNfTV9SRCwKQEAgLTI4OCw2ICsyOTIsMTAgQEAKIAkqLwogCWlmIChlcnIgPT0gMCkKIAkJZXJyID0gbnVtOworCisJc3AtPnBzY19jdHJsID0gUFNDX0NUUkxfU1VTUEVORDsKKwlhdV9zeW5jKCk7CisKIAlyZXR1cm4gZXJyOwogfQogCkBAIC0zMDIsNTMgKzMxMCwxMSBAQAogCS5mdW5jdGlvbmFsaXR5CT0gYXUxNTUwX2Z1bmMsCiB9OwogCi0vKgotICogcmVnaXN0ZXJpbmcgZnVuY3Rpb25zIHRvIGxvYWQgYWxnb3JpdGhtcyBhdCBydW50aW1lCi0gKiBQcmlvciB0byBjYWxsaW5nIHVzLCB0aGUgNTBNSHogY2xvY2sgZnJlcXVlbmN5IGFuZCByb3V0aW5nCi0gKiBtdXN0IGhhdmUgYmVlbiBzZXQgdXAgZm9yIHRoZSBQU0MgaW5kaWNhdGVkIGJ5IHRoZSBhZGFwdGVyLgotICovCi1zdGF0aWMgaW50IF9fZGV2aW5pdAotaTJjX2F1MTU1MF9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQorc3RhdGljIHZvaWQgaTJjX2F1MTU1MF9zZXR1cChzdHJ1Y3QgaTJjX2F1MTU1MF9kYXRhICpwcml2KQogewotCXN0cnVjdCBpMmNfYXUxNTUwX2RhdGEgKnByaXY7Ci0Jdm9sYXRpbGUgcHNjX3NtYl90ICpzcDsKLQlzdHJ1Y3QgcmVzb3VyY2UgKnI7CisJdm9sYXRpbGUgcHNjX3NtYl90ICpzcCA9ICh2b2xhdGlsZSBwc2Nfc21iX3QgKilwcml2LT5wc2NfYmFzZTsKIAl1MzIgc3RhdDsKLQlpbnQgcmV0OwogCi0JciA9IHBsYXRmb3JtX2dldF9yZXNvdXJjZShwZGV2LCBJT1JFU09VUkNFX01FTSwgMCk7Ci0JaWYgKCFyKSB7Ci0JCXJldCA9IC1FTk9ERVY7Ci0JCWdvdG8gb3V0OwotCX0KLQotCXByaXYgPSBremFsbG9jKHNpemVvZihzdHJ1Y3QgaTJjX2F1MTU1MF9kYXRhKSwgR0ZQX0tFUk5FTCk7Ci0JaWYgKCFwcml2KSB7Ci0JCXJldCA9IC1FTk9NRU07Ci0JCWdvdG8gb3V0OwotCX0KLQotCXByaXYtPmlvYXJlYSA9IHJlcXVlc3RfbWVtX3JlZ2lvbihyLT5zdGFydCwgci0+ZW5kIC0gci0+c3RhcnQgKyAxLAotCQkJCQkgIHBkZXYtPm5hbWUpOwotCWlmICghcHJpdi0+aW9hcmVhKSB7Ci0JCXJldCA9IC1FQlVTWTsKLQkJZ290byBvdXRfbWVtOwotCX0KLQotCXByaXYtPnBzY19iYXNlID0gQ0tTRUcxQUREUihyLT5zdGFydCk7Ci0JcHJpdi0+eGZlcl90aW1lb3V0ID0gMjAwOwotCXByaXYtPmFja190aW1lb3V0ID0gMjAwOwotCi0JcHJpdi0+YWRhcC5pZCA9IEkyQ19IV19BVTE1NTBfUFNDOwotCXByaXYtPmFkYXAubnIgPSBwZGV2LT5pZDsKLQlwcml2LT5hZGFwLmFsZ28gPSAmYXUxNTUwX2FsZ287Ci0JcHJpdi0+YWRhcC5hbGdvX2RhdGEgPSBwcml2OwotCXByaXYtPmFkYXAuZGV2LnBhcmVudCA9ICZwZGV2LT5kZXY7Ci0Jc3RybGNweShwcml2LT5hZGFwLm5hbWUsICJBdTF4eHggUFNDIEkyQyIsIHNpemVvZihwcml2LT5hZGFwLm5hbWUpKTsKLQotCS8qIE5vdywgc2V0IHVwIHRoZSBQU0MgZm9yIFNNQnVzIFBJTyBtb2RlLgotCSovCi0Jc3AgPSAodm9sYXRpbGUgcHNjX3NtYl90ICopcHJpdi0+cHNjX2Jhc2U7CiAJc3AtPnBzY19jdHJsID0gUFNDX0NUUkxfRElTQUJMRTsKIAlhdV9zeW5jKCk7CiAJc3AtPnBzY19zZWwgPSBQU0NfU0VMX1BTX1NNQlVTTU9ERTsKQEAgLTM4NCw3ICszNTAsNjYgQEAKIAlkbyB7CiAJCXN0YXQgPSBzcC0+cHNjX3NtYnN0YXQ7CiAJCWF1X3N5bmMoKTsKLQl9IHdoaWxlICgoc3RhdCAmIFBTQ19TTUJTVEFUX0RSKSA9PSAwKTsKKwl9IHdoaWxlICgoc3RhdCAmIFBTQ19TTUJTVEFUX1NSKSA9PSAwKTsKKworCXNwLT5wc2NfY3RybCA9IFBTQ19DVFJMX1NVU1BFTkQ7CisJYXVfc3luYygpOworfQorCitzdGF0aWMgdm9pZCBpMmNfYXUxNTUwX2Rpc2FibGUoc3RydWN0IGkyY19hdTE1NTBfZGF0YSAqcHJpdikKK3sKKwl2b2xhdGlsZSBwc2Nfc21iX3QgKnNwID0gKHZvbGF0aWxlIHBzY19zbWJfdCAqKXByaXYtPnBzY19iYXNlOworCisJc3AtPnBzY19zbWJjZmcgPSAwOworCXNwLT5wc2NfY3RybCA9IFBTQ19DVFJMX0RJU0FCTEU7CisJYXVfc3luYygpOworfQorCisvKgorICogcmVnaXN0ZXJpbmcgZnVuY3Rpb25zIHRvIGxvYWQgYWxnb3JpdGhtcyBhdCBydW50aW1lCisgKiBQcmlvciB0byBjYWxsaW5nIHVzLCB0aGUgNTBNSHogY2xvY2sgZnJlcXVlbmN5IGFuZCByb3V0aW5nCisgKiBtdXN0IGhhdmUgYmVlbiBzZXQgdXAgZm9yIHRoZSBQU0MgaW5kaWNhdGVkIGJ5IHRoZSBhZGFwdGVyLgorICovCitzdGF0aWMgaW50IF9fZGV2aW5pdAoraTJjX2F1MTU1MF9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQoreworCXN0cnVjdCBpMmNfYXUxNTUwX2RhdGEgKnByaXY7CisJc3RydWN0IHJlc291cmNlICpyOworCWludCByZXQ7CisKKwlyID0gcGxhdGZvcm1fZ2V0X3Jlc291cmNlKHBkZXYsIElPUkVTT1VSQ0VfTUVNLCAwKTsKKwlpZiAoIXIpIHsKKwkJcmV0ID0gLUVOT0RFVjsKKwkJZ290byBvdXQ7CisJfQorCisJcHJpdiA9IGt6YWxsb2Moc2l6ZW9mKHN0cnVjdCBpMmNfYXUxNTUwX2RhdGEpLCBHRlBfS0VSTkVMKTsKKwlpZiAoIXByaXYpIHsKKwkJcmV0ID0gLUVOT01FTTsKKwkJZ290byBvdXQ7CisJfQorCisJcHJpdi0+aW9hcmVhID0gcmVxdWVzdF9tZW1fcmVnaW9uKHItPnN0YXJ0LCByLT5lbmQgLSByLT5zdGFydCArIDEsCisJCQkJCSAgcGRldi0+bmFtZSk7CisJaWYgKCFwcml2LT5pb2FyZWEpIHsKKwkJcmV0ID0gLUVCVVNZOworCQlnb3RvIG91dF9tZW07CisJfQorCisJcHJpdi0+cHNjX2Jhc2UgPSBDS1NFRzFBRERSKHItPnN0YXJ0KTsKKwlwcml2LT54ZmVyX3RpbWVvdXQgPSAyMDA7CisJcHJpdi0+YWNrX3RpbWVvdXQgPSAyMDA7CisKKwlwcml2LT5hZGFwLmlkID0gSTJDX0hXX0FVMTU1MF9QU0M7CisJcHJpdi0+YWRhcC5uciA9IHBkZXYtPmlkOworCXByaXYtPmFkYXAuYWxnbyA9ICZhdTE1NTBfYWxnbzsKKwlwcml2LT5hZGFwLmFsZ29fZGF0YSA9IHByaXY7CisJcHJpdi0+YWRhcC5kZXYucGFyZW50ID0gJnBkZXYtPmRldjsKKwlzdHJsY3B5KHByaXYtPmFkYXAubmFtZSwgIkF1MXh4eCBQU0MgSTJDIiwgc2l6ZW9mKHByaXYtPmFkYXAubmFtZSkpOworCisJLyogTm93LCBzZXQgdXAgdGhlIFBTQyBmb3IgU01CdXMgUElPIG1vZGUuCisJKi8KKwlpMmNfYXUxNTUwX3NldHVwKHByaXYpOwogCiAJcmV0ID0gaTJjX2FkZF9udW1iZXJlZF9hZGFwdGVyKCZwcml2LT5hZGFwKTsKIAlpZiAocmV0ID09IDApIHsKQEAgLTM5MiwxMCArNDE3LDcgQEAKIAkJcmV0dXJuIDA7CiAJfQogCi0JLyogZGlzYWJsZSB0aGUgUFNDICovCi0Jc3AtPnBzY19zbWJjZmcgPSAwOwotCXNwLT5wc2NfY3RybCA9IFBTQ19DVFJMX0RJU0FCTEU7Ci0JYXVfc3luYygpOworCWkyY19hdTE1NTBfZGlzYWJsZShwcml2KTsKIAogCXJlbGVhc2VfcmVzb3VyY2UocHJpdi0+aW9hcmVhKTsKIAlrZnJlZShwcml2LT5pb2FyZWEpOwpAQCAtNDA5LDI3ICs0MzEsMjQgQEAKIGkyY19hdTE1NTBfcmVtb3ZlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCiB7CiAJc3RydWN0IGkyY19hdTE1NTBfZGF0YSAqcHJpdiA9IHBsYXRmb3JtX2dldF9kcnZkYXRhKHBkZXYpOwotCXZvbGF0aWxlIHBzY19zbWJfdCAqc3AgPSAodm9sYXRpbGUgcHNjX3NtYl90ICopcHJpdi0+cHNjX2Jhc2U7CiAKIAlwbGF0Zm9ybV9zZXRfZHJ2ZGF0YShwZGV2LCBOVUxMKTsKIAlpMmNfZGVsX2FkYXB0ZXIoJnByaXYtPmFkYXApOwotCXNwLT5wc2Nfc21iY2ZnID0gMDsKLQlzcC0+cHNjX2N0cmwgPSBQU0NfQ1RSTF9ESVNBQkxFOwotCWF1X3N5bmMoKTsKKwlpMmNfYXUxNTUwX2Rpc2FibGUocHJpdik7CiAJcmVsZWFzZV9yZXNvdXJjZShwcml2LT5pb2FyZWEpOwogCWtmcmVlKHByaXYtPmlvYXJlYSk7CiAJa2ZyZWUocHJpdik7CiAJcmV0dXJuIDA7CiB9CiAKKyNpZmRlZiBDT05GSUdfUE0KIHN0YXRpYyBpbnQKIGkyY19hdTE1NTBfc3VzcGVuZChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LCBwbV9tZXNzYWdlX3Qgc3RhdGUpCiB7CiAJc3RydWN0IGkyY19hdTE1NTBfZGF0YSAqcHJpdiA9IHBsYXRmb3JtX2dldF9kcnZkYXRhKHBkZXYpOwotCXZvbGF0aWxlIHBzY19zbWJfdCAqc3AgPSAodm9sYXRpbGUgcHNjX3NtYl90ICopcHJpdi0+cHNjX2Jhc2U7CiAKLQlzcC0+cHNjX2N0cmwgPSBQU0NfQ1RSTF9TVVNQRU5EOwotCWF1X3N5bmMoKTsKKwlpMmNfYXUxNTUwX2Rpc2FibGUocHJpdik7CisKIAlyZXR1cm4gMDsKIH0KIApAQCAtNDM3LDE0ICs0NTYsMTUgQEAKIGkyY19hdTE1NTBfcmVzdW1lKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCiB7CiAJc3RydWN0IGkyY19hdTE1NTBfZGF0YSAqcHJpdiA9IHBsYXRmb3JtX2dldF9kcnZkYXRhKHBkZXYpOwotCXZvbGF0aWxlIHBzY19zbWJfdCAqc3AgPSAodm9sYXRpbGUgcHNjX3NtYl90ICopcHJpdi0+cHNjX2Jhc2U7CiAKLQlzcC0+cHNjX2N0cmwgPSBQU0NfQ1RSTF9FTkFCTEU7Ci0JYXVfc3luYygpOwotCXdoaWxlICghKHNwLT5wc2Nfc21ic3RhdCAmIFBTQ19TTUJTVEFUX1NSKSkKLQkJYXVfc3luYygpOworCWkyY19hdTE1NTBfc2V0dXAocHJpdik7CisKIAlyZXR1cm4gMDsKIH0KKyNlbHNlCisjZGVmaW5lIGkyY19hdTE1NTBfc3VzcGVuZAlOVUxMCisjZGVmaW5lIGkyY19hdTE1NTBfcmVzdW1lCU5VTEwKKyNlbmRpZgogCiBzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RyaXZlciBhdTF4cHNjX3NtYnVzX2RyaXZlciA9IHsKIAkuZHJpdmVyID0gewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1jcG0uYyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtY3BtLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODE2NGRlMQotLS0gL2Rldi9udWxsCisrKyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtY3BtLmMKQEAgLTAsMCArMSw3NDUgQEAKKy8qCisgKiBGcmVlc2NhbGUgQ1BNMS9DUE0yIEkyQyBpbnRlcmZhY2UuCisgKiBDb3B5cmlnaHQgKGMpIDE5OTkgRGFuIE1hbGVrIChkbWFsZWtAamxjLm5ldCkuCisgKgorICogbW92ZWQgaW50byBwcm9wZXIgaTJjIGludGVyZmFjZTsKKyAqIEJyYWQgUGFya2VyIChicmFkQGhlZWx0b2UuY29tKQorICoKKyAqIFBhcnRzIGZyb20gZGJveDJfaTJjLmMgKGN2cy50dXhib3gub3JnKQorICogKEMpIDIwMDAtMjAwMSBGZWxpeCBEb21rZSAodG1iaW5jQGdteC5uZXQpLCBHaWxsZW0gKGh0b2FAZ214Lm5ldCkKKyAqCisgKiAoQykgMjAwNyBNb250YXZpc3RhIFNvZnR3YXJlLCBJbmMuCisgKiBWaXRhbHkgQm9yZHVnIDx2aXRiQGtlcm5lbC5jcmFzaGluZy5vcmc+CisgKgorICogQ29udmVydGVkIHRvIG9mX3BsYXRmb3JtX2RldmljZS4gUmVuYW1lZCB0byBpMmMtY3BtLmMuCisgKiAoQykgMjAwNywyMDA4IEpvY2hlbiBGcmllZHJpY2ggPGpvY2hlbkBzY3JhbS5kZT4KKyAqCisgKiAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICogIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisgKiAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogIEZvdW5kYXRpb24sIEluYy4sIDY3NSBNYXNzIEF2ZSwgQ2FtYnJpZGdlLCBNQSAwMjEzOSwgVVNBLgorICovCisKKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgorI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+CisjaW5jbHVkZSA8bGludXgvZXJybm8uaD4KKyNpbmNsdWRlIDxsaW51eC9zdGRkZWYuaD4KKyNpbmNsdWRlIDxsaW51eC9pMmMuaD4KKyNpbmNsdWRlIDxsaW51eC9pby5oPgorI2luY2x1ZGUgPGxpbnV4L2RtYS1tYXBwaW5nLmg+CisjaW5jbHVkZSA8bGludXgvb2ZfZGV2aWNlLmg+CisjaW5jbHVkZSA8bGludXgvb2ZfcGxhdGZvcm0uaD4KKyNpbmNsdWRlIDxsaW51eC9vZl9pMmMuaD4KKyNpbmNsdWRlIDxzeXNkZXYvZnNsX3NvYy5oPgorI2luY2x1ZGUgPGFzbS9jcG0uaD4KKworLyogVHJ5IHRvIGRlZmluZSB0aGlzIGlmIHlvdSBoYXZlIGFuIG9sZGVyIENQVSAoZWFybGllciB0aGFuIHJldiBENCkgKi8KKy8qIEhvd2V2ZXIsIGJldHRlciB1c2UgYSBHUElPIGJhc2VkIGJpdGJhbmcgZHJpdmVyIGluIHRoaXMgY2FzZSA6LyAgICovCisjdW5kZWYJSTJDX0NISVBfRVJSQVRBCisKKyNkZWZpbmUgQ1BNX01BWF9SRUFEICAgIDUxMworI2RlZmluZSBDUE1fTUFYQkQgICAgICAgNAorCisjZGVmaW5lIEkyQ19FQgkJCSgweDEwKSAvKiBCaWcgZW5kaWFuIG1vZGUgKi8KKyNkZWZpbmUgSTJDX0VCX0NQTTIJCSgweDMwKSAvKiBCaWcgZW5kaWFuIG1vZGUsIG1lbW9yeSBzbm9vcCAqLworCisjZGVmaW5lIERQUkFNX0JBU0UJCSgodTggX19pb21lbSBfX2ZvcmNlICopY3BtX211cmFtX2FkZHIoMCkpCisKKy8qIEkyQyBwYXJhbWV0ZXIgUkFNLiAqLworc3RydWN0IGkyY19yYW0geworCXVzaG9ydCAgcmJhc2U7CQkvKiBSeCBCdWZmZXIgZGVzY3JpcHRvciBiYXNlIGFkZHJlc3MgKi8KKwl1c2hvcnQgIHRiYXNlOwkJLyogVHggQnVmZmVyIGRlc2NyaXB0b3IgYmFzZSBhZGRyZXNzICovCisJdV9jaGFyICByZmNyOwkJLyogUnggZnVuY3Rpb24gY29kZSAqLworCXVfY2hhciAgdGZjcjsJCS8qIFR4IGZ1bmN0aW9uIGNvZGUgKi8KKwl1c2hvcnQgIG1yYmxyOwkJLyogTWF4IHJlY2VpdmUgYnVmZmVyIGxlbmd0aCAqLworCXVpbnQgICAgcnN0YXRlOwkJLyogSW50ZXJuYWwgKi8KKwl1aW50ICAgIHJkcDsJCS8qIEludGVybmFsICovCisJdXNob3J0ICByYnB0cjsJCS8qIFJ4IEJ1ZmZlciBkZXNjcmlwdG9yIHBvaW50ZXIgKi8KKwl1c2hvcnQgIHJiYzsJCS8qIEludGVybmFsICovCisJdWludCAgICByeHRtcDsJCS8qIEludGVybmFsICovCisJdWludCAgICB0c3RhdGU7CQkvKiBJbnRlcm5hbCAqLworCXVpbnQgICAgdGRwOwkJLyogSW50ZXJuYWwgKi8KKwl1c2hvcnQgIHRicHRyOwkJLyogVHggQnVmZmVyIGRlc2NyaXB0b3IgcG9pbnRlciAqLworCXVzaG9ydCAgdGJjOwkJLyogSW50ZXJuYWwgKi8KKwl1aW50ICAgIHR4dG1wOwkJLyogSW50ZXJuYWwgKi8KKwljaGFyICAgIHJlczFbNF07CS8qIFJlc2VydmVkICovCisJdXNob3J0ICBycGJhc2U7CQkvKiBSZWxvY2F0aW9uIHBvaW50ZXIgKi8KKwljaGFyICAgIHJlczJbMl07CS8qIFJlc2VydmVkICovCit9OworCisjZGVmaW5lIEkyQ09NX1NUQVJUCTB4ODAKKyNkZWZpbmUgSTJDT01fTUFTVEVSCTB4MDEKKyNkZWZpbmUgSTJDRVJfVFhFCTB4MTAKKyNkZWZpbmUgSTJDRVJfQlVTWQkweDA0CisjZGVmaW5lIEkyQ0VSX1RYQgkweDAyCisjZGVmaW5lIEkyQ0VSX1JYQgkweDAxCisjZGVmaW5lIEkyTU9EX0VOCTB4MDEKKworLyogSTJDIFJlZ2lzdGVycyAqLworc3RydWN0IGkyY19yZWcgeworCXU4CWkybW9kOworCXU4CXJlczFbM107CisJdTgJaTJhZGQ7CisJdTgJcmVzMlszXTsKKwl1OAlpMmJyZzsKKwl1OAlyZXMzWzNdOworCXU4CWkyY29tOworCXU4CXJlczRbM107CisJdTgJaTJjZXI7CisJdTgJcmVzNVszXTsKKwl1OAlpMmNtcjsKK307CisKK3N0cnVjdCBjcG1faTJjIHsKKwljaGFyICpiYXNlOworCXN0cnVjdCBvZl9kZXZpY2UgKm9mZGV2OworCXN0cnVjdCBpMmNfYWRhcHRlciBhZGFwOworCXVpbnQgZHBfYWRkcjsKKwlpbnQgdmVyc2lvbjsgLyogQ1BNMT0xLCBDUE0yPTIgKi8KKwlpbnQgaXJxOworCWludCBjcF9jb21tYW5kOworCWludCBmcmVxOworCXN0cnVjdCBpMmNfcmVnIF9faW9tZW0gKmkyY19yZWc7CisJc3RydWN0IGkyY19yYW0gX19pb21lbSAqaTJjX3JhbTsKKwl1MTYgaTJjX2FkZHI7CisJd2FpdF9xdWV1ZV9oZWFkX3QgaTJjX3dhaXQ7CisJY2JkX3QgX19pb21lbSAqdGJhc2U7CisJY2JkX3QgX19pb21lbSAqcmJhc2U7CisJdV9jaGFyICp0eGJ1ZltDUE1fTUFYQkRdOworCXVfY2hhciAqcnhidWZbQ1BNX01BWEJEXTsKKwl1MzIgdHhkbWFbQ1BNX01BWEJEXTsKKwl1MzIgcnhkbWFbQ1BNX01BWEJEXTsKK307CisKK3N0YXRpYyBpcnFyZXR1cm5fdCBjcG1faTJjX2ludGVycnVwdChpbnQgaXJxLCB2b2lkICpkZXZfaWQpCit7CisJc3RydWN0IGNwbV9pMmMgKmNwbTsKKwlzdHJ1Y3QgaTJjX3JlZyBfX2lvbWVtICppMmNfcmVnOworCXN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcCA9IGRldl9pZDsKKwlpbnQgaTsKKworCWNwbSA9IGkyY19nZXRfYWRhcGRhdGEoZGV2X2lkKTsKKwlpMmNfcmVnID0gY3BtLT5pMmNfcmVnOworCisJLyogQ2xlYXIgaW50ZXJydXB0LiAqLworCWkgPSBpbl84KCZpMmNfcmVnLT5pMmNlcik7CisJb3V0XzgoJmkyY19yZWctPmkyY2VyLCBpKTsKKworCWRldl9kYmcoJmFkYXAtPmRldiwgIkludGVycnVwdDogJXhcbiIsIGkpOworCisJd2FrZV91cF9pbnRlcnJ1cHRpYmxlKCZjcG0tPmkyY193YWl0KTsKKworCXJldHVybiBpID8gSVJRX0hBTkRMRUQgOiBJUlFfTk9ORTsKK30KKworc3RhdGljIHZvaWQgY3BtX3Jlc2V0X2kyY19wYXJhbXMoc3RydWN0IGNwbV9pMmMgKmNwbSkKK3sKKwlzdHJ1Y3QgaTJjX3JhbSBfX2lvbWVtICppMmNfcmFtID0gY3BtLT5pMmNfcmFtOworCisJLyogU2V0IHVwIHRoZSBJMkMgcGFyYW1ldGVycyBpbiB0aGUgcGFyYW1ldGVyIHJhbS4gKi8KKwlvdXRfYmUxNigmaTJjX3JhbS0+dGJhc2UsICh1OCBfX2lvbWVtICopY3BtLT50YmFzZSAtIERQUkFNX0JBU0UpOworCW91dF9iZTE2KCZpMmNfcmFtLT5yYmFzZSwgKHU4IF9faW9tZW0gKiljcG0tPnJiYXNlIC0gRFBSQU1fQkFTRSk7CisKKwlpZiAoY3BtLT52ZXJzaW9uID09IDEpIHsKKwkJb3V0XzgoJmkyY19yYW0tPnRmY3IsIEkyQ19FQik7CisJCW91dF84KCZpMmNfcmFtLT5yZmNyLCBJMkNfRUIpOworCX0gZWxzZSB7CisJCW91dF84KCZpMmNfcmFtLT50ZmNyLCBJMkNfRUJfQ1BNMik7CisJCW91dF84KCZpMmNfcmFtLT5yZmNyLCBJMkNfRUJfQ1BNMik7CisJfQorCisJb3V0X2JlMTYoJmkyY19yYW0tPm1yYmxyLCBDUE1fTUFYX1JFQUQpOworCisJb3V0X2JlMzIoJmkyY19yYW0tPnJzdGF0ZSwgMCk7CisJb3V0X2JlMzIoJmkyY19yYW0tPnJkcCwgMCk7CisJb3V0X2JlMTYoJmkyY19yYW0tPnJicHRyLCAwKTsKKwlvdXRfYmUxNigmaTJjX3JhbS0+cmJjLCAwKTsKKwlvdXRfYmUzMigmaTJjX3JhbS0+cnh0bXAsIDApOworCW91dF9iZTMyKCZpMmNfcmFtLT50c3RhdGUsIDApOworCW91dF9iZTMyKCZpMmNfcmFtLT50ZHAsIDApOworCW91dF9iZTE2KCZpMmNfcmFtLT50YnB0ciwgMCk7CisJb3V0X2JlMTYoJmkyY19yYW0tPnRiYywgMCk7CisJb3V0X2JlMzIoJmkyY19yYW0tPnR4dG1wLCAwKTsKK30KKworc3RhdGljIHZvaWQgY3BtX2kyY19mb3JjZV9jbG9zZShzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXApCit7CisJc3RydWN0IGNwbV9pMmMgKmNwbSA9IGkyY19nZXRfYWRhcGRhdGEoYWRhcCk7CisJc3RydWN0IGkyY19yZWcgX19pb21lbSAqaTJjX3JlZyA9IGNwbS0+aTJjX3JlZzsKKworCWRldl9kYmcoJmFkYXAtPmRldiwgImNwbV9pMmNfZm9yY2VfY2xvc2UoKVxuIik7CisKKwljcG1fY29tbWFuZChjcG0tPmNwX2NvbW1hbmQsIENQTV9DUl9DTE9TRV9SWF9CRCk7CisKKwlvdXRfOCgmaTJjX3JlZy0+aTJjbXIsIDB4MDApOwkvKiBEaXNhYmxlIGFsbCBpbnRlcnJ1cHRzICovCisJb3V0XzgoJmkyY19yZWctPmkyY2VyLCAweGZmKTsKK30KKworc3RhdGljIHZvaWQgY3BtX2kyY19wYXJzZV9tZXNzYWdlKHN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcCwKKwlzdHJ1Y3QgaTJjX21zZyAqcG1zZywgaW50IG51bSwgaW50IHR4LCBpbnQgcngpCit7CisJY2JkX3QgX19pb21lbSAqdGJkZjsKKwljYmRfdCBfX2lvbWVtICpyYmRmOworCXVfY2hhciBhZGRyOworCXVfY2hhciAqdGI7CisJdV9jaGFyICpyYjsKKwlzdHJ1Y3QgY3BtX2kyYyAqY3BtID0gaTJjX2dldF9hZGFwZGF0YShhZGFwKTsKKworCXRiZGYgPSBjcG0tPnRiYXNlICsgdHg7CisJcmJkZiA9IGNwbS0+cmJhc2UgKyByeDsKKworCWFkZHIgPSBwbXNnLT5hZGRyIDw8IDE7CisJaWYgKHBtc2ctPmZsYWdzICYgSTJDX01fUkQpCisJCWFkZHIgfD0gMTsKKworCXRiID0gY3BtLT50eGJ1Zlt0eF07CisJcmIgPSBjcG0tPnJ4YnVmW3J4XTsKKworCS8qIEFsaWduIHJlYWQgYnVmZmVyICovCisJcmIgPSAodV9jaGFyICopICgoKHVsb25nKSByYiArIDEpICYgfjEpOworCisJdGJbMF0gPSBhZGRyOwkJLyogRGV2aWNlIGFkZHJlc3MgYnl0ZSB3L3J3IGZsYWcgKi8KKworCW91dF9iZTE2KCZ0YmRmLT5jYmRfZGF0bGVuLCBwbXNnLT5sZW4gKyAxKTsKKwlvdXRfYmUxNigmdGJkZi0+Y2JkX3NjLCAwKTsKKworCWlmICghKHBtc2ctPmZsYWdzICYgSTJDX01fTk9TVEFSVCkpCisJCXNldGJpdHMxNigmdGJkZi0+Y2JkX3NjLCBCRF9JMkNfU1RBUlQpOworCisJaWYgKHR4ICsgMSA9PSBudW0pCisJCXNldGJpdHMxNigmdGJkZi0+Y2JkX3NjLCBCRF9TQ19MQVNUIHwgQkRfU0NfV1JBUCk7CisKKwlpZiAocG1zZy0+ZmxhZ3MgJiBJMkNfTV9SRCkgeworCQkvKgorCQkgKiBUbyByZWFkLCB3ZSBuZWVkIGFuIGVtcHR5IGJ1ZmZlciBvZiB0aGUgcHJvcGVyIGxlbmd0aC4KKwkJICogQWxsIHRoYXQgaXMgdXNlZCBpcyB0aGUgZmlyc3QgYnl0ZSBmb3IgYWRkcmVzcywgdGhlIHJlbWFpbmRlcgorCQkgKiBpcyBqdXN0IHVzZWQgZm9yIHRpbWluZyAoYW5kIGRvZXNuJ3QgcmVhbGx5IGhhdmUgdG8gZXhpc3QpLgorCQkgKi8KKworCQlkZXZfZGJnKCZhZGFwLT5kZXYsICJjcG1faTJjX3JlYWQoYWJ5dGU9MHgleClcbiIsIGFkZHIpOworCisJCW91dF9iZTE2KCZyYmRmLT5jYmRfZGF0bGVuLCAwKTsKKwkJb3V0X2JlMTYoJnJiZGYtPmNiZF9zYywgQkRfU0NfRU1QVFkgfCBCRF9TQ19JTlRSUFQpOworCisJCWlmIChyeCArIDEgPT0gQ1BNX01BWEJEKQorCQkJc2V0Yml0czE2KCZyYmRmLT5jYmRfc2MsIEJEX1NDX1dSQVApOworCisJCWVpZWlvKCk7CisJCXNldGJpdHMxNigmdGJkZi0+Y2JkX3NjLCBCRF9TQ19SRUFEWSk7CisJfSBlbHNlIHsKKwkJZGV2X2RiZygmYWRhcC0+ZGV2LCAiY3BtX2kyY193cml0ZShhYnl0ZT0weCV4KVxuIiwgYWRkcik7CisKKwkJbWVtY3B5KHRiKzEsIHBtc2ctPmJ1ZiwgcG1zZy0+bGVuKTsKKworCQllaWVpbygpOworCQlzZXRiaXRzMTYoJnRiZGYtPmNiZF9zYywgQkRfU0NfUkVBRFkgfCBCRF9TQ19JTlRSUFQpOworCX0KK30KKworc3RhdGljIGludCBjcG1faTJjX2NoZWNrX21lc3NhZ2Uoc3RydWN0IGkyY19hZGFwdGVyICphZGFwLAorCXN0cnVjdCBpMmNfbXNnICpwbXNnLCBpbnQgdHgsIGludCByeCkKK3sKKwljYmRfdCBfX2lvbWVtICp0YmRmOworCWNiZF90IF9faW9tZW0gKnJiZGY7CisJdV9jaGFyICp0YjsKKwl1X2NoYXIgKnJiOworCXN0cnVjdCBjcG1faTJjICpjcG0gPSBpMmNfZ2V0X2FkYXBkYXRhKGFkYXApOworCisJdGJkZiA9IGNwbS0+dGJhc2UgKyB0eDsKKwlyYmRmID0gY3BtLT5yYmFzZSArIHJ4OworCisJdGIgPSBjcG0tPnR4YnVmW3R4XTsKKwlyYiA9IGNwbS0+cnhidWZbcnhdOworCisJLyogQWxpZ24gcmVhZCBidWZmZXIgKi8KKwlyYiA9ICh1X2NoYXIgKikgKCgodWludCkgcmIgKyAxKSAmIH4xKTsKKworCWVpZWlvKCk7CisJaWYgKHBtc2ctPmZsYWdzICYgSTJDX01fUkQpIHsKKwkJZGV2X2RiZygmYWRhcC0+ZGV2LCAidHggc2MgMHglMDR4LCByeCBzYyAweCUwNHhcbiIsCisJCQlpbl9iZTE2KCZ0YmRmLT5jYmRfc2MpLCBpbl9iZTE2KCZyYmRmLT5jYmRfc2MpKTsKKworCQlpZiAoaW5fYmUxNigmdGJkZi0+Y2JkX3NjKSAmIEJEX1NDX05BSykgeworCQkJZGV2X2RiZygmYWRhcC0+ZGV2LCAiSTJDIHJlYWQ7IE5vIGFja1xuIik7CisJCQlyZXR1cm4gLUVOWElPOworCQl9CisJCWlmIChpbl9iZTE2KCZyYmRmLT5jYmRfc2MpICYgQkRfU0NfRU1QVFkpIHsKKwkJCWRldl9lcnIoJmFkYXAtPmRldiwKKwkJCQkiSTJDIHJlYWQ7IGNvbXBsZXRlIGJ1dCByYnVmIGVtcHR5XG4iKTsKKwkJCXJldHVybiAtRVJFTU9URUlPOworCQl9CisJCWlmIChpbl9iZTE2KCZyYmRmLT5jYmRfc2MpICYgQkRfU0NfT1YpIHsKKwkJCWRldl9lcnIoJmFkYXAtPmRldiwgIkkyQyByZWFkOyBPdmVycnVuXG4iKTsKKwkJCXJldHVybiAtRVJFTU9URUlPOworCQl9CisJCW1lbWNweShwbXNnLT5idWYsIHJiLCBwbXNnLT5sZW4pOworCX0gZWxzZSB7CisJCWRldl9kYmcoJmFkYXAtPmRldiwgInR4IHNjICVkIDB4JTA0eFxuIiwgdHgsCisJCQlpbl9iZTE2KCZ0YmRmLT5jYmRfc2MpKTsKKworCQlpZiAoaW5fYmUxNigmdGJkZi0+Y2JkX3NjKSAmIEJEX1NDX05BSykgeworCQkJZGV2X2RiZygmYWRhcC0+ZGV2LCAiSTJDIHdyaXRlOyBObyBhY2tcbiIpOworCQkJcmV0dXJuIC1FTlhJTzsKKwkJfQorCQlpZiAoaW5fYmUxNigmdGJkZi0+Y2JkX3NjKSAmIEJEX1NDX1VOKSB7CisJCQlkZXZfZXJyKCZhZGFwLT5kZXYsICJJMkMgd3JpdGU7IFVuZGVycnVuXG4iKTsKKwkJCXJldHVybiAtRUlPOworCQl9CisJCWlmIChpbl9iZTE2KCZ0YmRmLT5jYmRfc2MpICYgQkRfU0NfQ0wpIHsKKwkJCWRldl9lcnIoJmFkYXAtPmRldiwgIkkyQyB3cml0ZTsgQ29sbGlzaW9uXG4iKTsKKwkJCXJldHVybiAtRUlPOworCQl9CisJfQorCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNwbV9pMmNfeGZlcihzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXAsIHN0cnVjdCBpMmNfbXNnICptc2dzLCBpbnQgbnVtKQoreworCXN0cnVjdCBjcG1faTJjICpjcG0gPSBpMmNfZ2V0X2FkYXBkYXRhKGFkYXApOworCXN0cnVjdCBpMmNfcmVnIF9faW9tZW0gKmkyY19yZWcgPSBjcG0tPmkyY19yZWc7CisJc3RydWN0IGkyY19yYW0gX19pb21lbSAqaTJjX3JhbSA9IGNwbS0+aTJjX3JhbTsKKwlzdHJ1Y3QgaTJjX21zZyAqcG1zZzsKKwlpbnQgcmV0LCBpOworCWludCB0cHRyOworCWludCBycHRyOworCWNiZF90IF9faW9tZW0gKnRiZGY7CisJY2JkX3QgX19pb21lbSAqcmJkZjsKKworCWlmIChudW0gPiBDUE1fTUFYQkQpCisJCXJldHVybiAtRUlOVkFMOworCisJLyogQ2hlY2sgaWYgd2UgaGF2ZSBhbnkgb3ZlcnNpemVkIFJFQUQgcmVxdWVzdHMgKi8KKwlmb3IgKGkgPSAwOyBpIDwgbnVtOyBpKyspIHsKKwkJcG1zZyA9ICZtc2dzW2ldOworCQlpZiAocG1zZy0+bGVuID49IENQTV9NQVhfUkVBRCkKKwkJCXJldHVybiAtRUlOVkFMOworCX0KKworCS8qIFJlc2V0IHRvIHVzZSBmaXJzdCBidWZmZXIgKi8KKwlvdXRfYmUxNigmaTJjX3JhbS0+cmJwdHIsIGluX2JlMTYoJmkyY19yYW0tPnJiYXNlKSk7CisJb3V0X2JlMTYoJmkyY19yYW0tPnRicHRyLCBpbl9iZTE2KCZpMmNfcmFtLT50YmFzZSkpOworCisJdGJkZiA9IGNwbS0+dGJhc2U7CisJcmJkZiA9IGNwbS0+cmJhc2U7CisKKwl0cHRyID0gMDsKKwlycHRyID0gMDsKKworCXdoaWxlICh0cHRyIDwgbnVtKSB7CisJCXBtc2cgPSAmbXNnc1t0cHRyXTsKKwkJZGV2X2RiZygmYWRhcC0+ZGV2LCAiUjogJWQgVDogJWRcbiIsIHJwdHIsIHRwdHIpOworCisJCWNwbV9pMmNfcGFyc2VfbWVzc2FnZShhZGFwLCBwbXNnLCBudW0sIHRwdHIsIHJwdHIpOworCQlpZiAocG1zZy0+ZmxhZ3MgJiBJMkNfTV9SRCkKKwkJCXJwdHIrKzsKKwkJdHB0cisrOworCX0KKwkvKiBTdGFydCB0cmFuc2ZlciBub3cgKi8KKwkvKiBFbmFibGUgUlgvVFgvRXJyb3IgaW50ZXJ1cHRzICovCisJb3V0XzgoJmkyY19yZWctPmkyY21yLCBJMkNFUl9UWEUgfCBJMkNFUl9UWEIgfCBJMkNFUl9SWEIpOworCW91dF84KCZpMmNfcmVnLT5pMmNlciwgMHhmZik7CS8qIENsZWFyIGludGVycnVwdCBzdGF0dXMgKi8KKwkvKiBDaGlwIGJ1Zywgc2V0IGVuYWJsZSBoZXJlICovCisJc2V0Yml0czgoJmkyY19yZWctPmkybW9kLCBJMk1PRF9FTik7CS8qIEVuYWJsZSAqLworCS8qIEJlZ2luIHRyYW5zbWlzc2lvbiAqLworCXNldGJpdHM4KCZpMmNfcmVnLT5pMmNvbSwgSTJDT01fU1RBUlQpOworCisJdHB0ciA9IDA7CisJcnB0ciA9IDA7CisKKwl3aGlsZSAodHB0ciA8IG51bSkgeworCQkvKiBDaGVjayBmb3Igb3V0c3RhbmRpbmcgbWVzc2FnZXMgKi8KKwkJZGV2X2RiZygmYWRhcC0+ZGV2LCAidGVzdCByZWFkeS5cbiIpOworCQlwbXNnID0gJm1zZ3NbdHB0cl07CisJCWlmIChwbXNnLT5mbGFncyAmIEkyQ19NX1JEKQorCQkJcmV0ID0gd2FpdF9ldmVudF9pbnRlcnJ1cHRpYmxlX3RpbWVvdXQoY3BtLT5pMmNfd2FpdCwKKwkJCQkhKGluX2JlMTYoJnJiZGZbcnB0cl0uY2JkX3NjKSAmIEJEX1NDX0VNUFRZKSwKKwkJCQkxICogSFopOworCQllbHNlCisJCQlyZXQgPSB3YWl0X2V2ZW50X2ludGVycnVwdGlibGVfdGltZW91dChjcG0tPmkyY193YWl0LAorCQkJCSEoaW5fYmUxNigmdGJkZlt0cHRyXS5jYmRfc2MpICYgQkRfU0NfUkVBRFkpLAorCQkJCTEgKiBIWik7CisJCWlmIChyZXQgPT0gMCkgeworCQkJcmV0ID0gLUVSRU1PVEVJTzsKKwkJCWRldl9lcnIoJmFkYXAtPmRldiwgIkkyQyB0cmFuc2ZlcjogdGltZW91dFxuIik7CisJCQlnb3RvIG91dF9lcnI7CisJCX0KKwkJaWYgKHJldCA+IDApIHsKKwkJCWRldl9kYmcoJmFkYXAtPmRldiwgInJlYWR5LlxuIik7CisJCQlyZXQgPSBjcG1faTJjX2NoZWNrX21lc3NhZ2UoYWRhcCwgcG1zZywgdHB0ciwgcnB0cik7CisJCQl0cHRyKys7CisJCQlpZiAocG1zZy0+ZmxhZ3MgJiBJMkNfTV9SRCkKKwkJCQlycHRyKys7CisJCQlpZiAocmV0KQorCQkJCWdvdG8gb3V0X2VycjsKKwkJfQorCX0KKyNpZmRlZiBJMkNfQ0hJUF9FUlJBVEEKKwkvKgorCSAqIENoaXAgZXJyYXRhLCBjbGVhciBlbmFibGUuIFRoaXMgaXMgbm90IG5lZWRlZCBvbiByZXYgRDQgQ1BVcy4KKwkgKiBEaXNhYmxpbmcgSTJDIHRvbyBlYXJseSBtYXkgY2F1c2UgdG9vIHNob3J0IHN0b3AgY29uZGl0aW9uCisJICovCisJdWRlbGF5KDQpOworCWNscmJpdHM4KCZpMmNfcmVnLT5pMm1vZCwgSTJNT0RfRU4pOworI2VuZGlmCisJcmV0dXJuIChudW0pOworCitvdXRfZXJyOgorCWNwbV9pMmNfZm9yY2VfY2xvc2UoYWRhcCk7CisjaWZkZWYgSTJDX0NISVBfRVJSQVRBCisJLyoKKwkgKiBDaGlwIGVycmF0YSwgY2xlYXIgZW5hYmxlLiBUaGlzIGlzIG5vdCBuZWVkZWQgb24gcmV2IEQ0IENQVXMuCisJICovCisJY2xyYml0czgoJmkyY19yZWctPmkybW9kLCBJMk1PRF9FTik7CisjZW5kaWYKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgdTMyIGNwbV9pMmNfZnVuYyhzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXApCit7CisJcmV0dXJuIEkyQ19GVU5DX0kyQyB8IChJMkNfRlVOQ19TTUJVU19FTVVMICYgfkkyQ19GVU5DX1NNQlVTX1FVSUNLKTsKK30KKworLyogLS0tLS1leHBvcnRlZCBhbGdvcml0aG0gZGF0YTogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQkqLworCitzdGF0aWMgY29uc3Qgc3RydWN0IGkyY19hbGdvcml0aG0gY3BtX2kyY19hbGdvID0geworCS5tYXN0ZXJfeGZlciA9IGNwbV9pMmNfeGZlciwKKwkuZnVuY3Rpb25hbGl0eSA9IGNwbV9pMmNfZnVuYywKK307CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgaTJjX2FkYXB0ZXIgY3BtX29wcyA9IHsKKwkub3duZXIJCT0gVEhJU19NT0RVTEUsCisJLm5hbWUJCT0gImkyYy1jcG0iLAorCS5hbGdvCQk9ICZjcG1faTJjX2FsZ28sCisJLmNsYXNzCQk9IEkyQ19DTEFTU19IV01PTiB8IEkyQ19DTEFTU19TUEQsCit9OworCitzdGF0aWMgaW50IF9fZGV2aW5pdCBjcG1faTJjX3NldHVwKHN0cnVjdCBjcG1faTJjICpjcG0pCit7CisJc3RydWN0IG9mX2RldmljZSAqb2ZkZXYgPSBjcG0tPm9mZGV2OworCWNvbnN0IHUzMiAqZGF0YTsKKwlpbnQgbGVuLCByZXQsIGk7CisJdm9pZCBfX2lvbWVtICppMmNfYmFzZTsKKwljYmRfdCBfX2lvbWVtICp0YmRmOworCWNiZF90IF9faW9tZW0gKnJiZGY7CisJdW5zaWduZWQgY2hhciBicmc7CisKKwlkZXZfZGJnKCZjcG0tPm9mZGV2LT5kZXYsICJjcG1faTJjX3NldHVwKClcbiIpOworCisJaW5pdF93YWl0cXVldWVfaGVhZCgmY3BtLT5pMmNfd2FpdCk7CisKKwljcG0tPmlycSA9IG9mX2lycV90b19yZXNvdXJjZShvZmRldi0+bm9kZSwgMCwgTlVMTCk7CisJaWYgKGNwbS0+aXJxID09IE5PX0lSUSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwkvKiBJbnN0YWxsIGludGVycnVwdCBoYW5kbGVyLiAqLworCXJldCA9IHJlcXVlc3RfaXJxKGNwbS0+aXJxLCBjcG1faTJjX2ludGVycnVwdCwgMCwgImNwbV9pMmMiLAorCQkJICAmY3BtLT5hZGFwKTsKKwlpZiAocmV0KQorCQlyZXR1cm4gcmV0OworCisJLyogSTJDIHBhcmFtZXRlciBSQU0gKi8KKwlpMmNfYmFzZSA9IG9mX2lvbWFwKG9mZGV2LT5ub2RlLCAxKTsKKwlpZiAoaTJjX2Jhc2UgPT0gTlVMTCkgeworCQlyZXQgPSAtRUlOVkFMOworCQlnb3RvIG91dF9pcnE7CisJfQorCisJaWYgKG9mX2RldmljZV9pc19jb21wYXRpYmxlKG9mZGV2LT5ub2RlLCAiZnNsLGNwbTEtaTJjIikpIHsKKworCQkvKiBDaGVjayBmb3IgYW5kIHVzZSBhIG1pY3JvY29kZSByZWxvY2F0aW9uIHBhdGNoLiAqLworCQljcG0tPmkyY19yYW0gPSBpMmNfYmFzZTsKKwkJY3BtLT5pMmNfYWRkciA9IGluX2JlMTYoJmNwbS0+aTJjX3JhbS0+cnBiYXNlKTsKKworCQkvKgorCQkgKiBNYXliZSBzaG91bGQgdXNlIGNwbV9tdXJhbV9hbGxvYyBpbnN0ZWFkIG9mIGhhcmRjb2RpbmcKKwkJICogdGhpcyBpbiBtaWNyb3BhdGNoLmMKKwkJICovCisJCWlmIChjcG0tPmkyY19hZGRyKSB7CisJCQljcG0tPmkyY19yYW0gPSBjcG1fbXVyYW1fYWRkcihjcG0tPmkyY19hZGRyKTsKKwkJCWlvdW5tYXAoaTJjX2Jhc2UpOworCQl9CisKKwkJY3BtLT52ZXJzaW9uID0gMTsKKworCX0gZWxzZSBpZiAob2ZfZGV2aWNlX2lzX2NvbXBhdGlibGUob2ZkZXYtPm5vZGUsICJmc2wsY3BtMi1pMmMiKSkgeworCQljcG0tPmkyY19hZGRyID0gY3BtX211cmFtX2FsbG9jKHNpemVvZihzdHJ1Y3QgaTJjX3JhbSksIDY0KTsKKwkJY3BtLT5pMmNfcmFtID0gY3BtX211cmFtX2FkZHIoY3BtLT5pMmNfYWRkcik7CisJCW91dF9iZTE2KGkyY19iYXNlLCBjcG0tPmkyY19hZGRyKTsKKwkJaW91bm1hcChpMmNfYmFzZSk7CisKKwkJY3BtLT52ZXJzaW9uID0gMjsKKworCX0gZWxzZSB7CisJCWlvdW5tYXAoaTJjX2Jhc2UpOworCQlyZXQgPSAtRUlOVkFMOworCQlnb3RvIG91dF9pcnE7CisJfQorCisJLyogSTJDIGNvbnRyb2wvc3RhdHVzIHJlZ2lzdGVycyAqLworCWNwbS0+aTJjX3JlZyA9IG9mX2lvbWFwKG9mZGV2LT5ub2RlLCAwKTsKKwlpZiAoY3BtLT5pMmNfcmVnID09IE5VTEwpIHsKKwkJcmV0ID0gLUVJTlZBTDsKKwkJZ290byBvdXRfcmFtOworCX0KKworCWRhdGEgPSBvZl9nZXRfcHJvcGVydHkob2ZkZXYtPm5vZGUsICJmc2wsY3BtLWNvbW1hbmQiLCAmbGVuKTsKKwlpZiAoIWRhdGEgfHwgbGVuICE9IDQpIHsKKwkJcmV0ID0gLUVJTlZBTDsKKwkJZ290byBvdXRfcmVnOworCX0KKwljcG0tPmNwX2NvbW1hbmQgPSAqZGF0YTsKKworCWRhdGEgPSBvZl9nZXRfcHJvcGVydHkob2ZkZXYtPm5vZGUsICJsaW51eCxpMmMtY2xhc3MiLCAmbGVuKTsKKwlpZiAoZGF0YSAmJiBsZW4gPT0gNCkKKwkJY3BtLT5hZGFwLmNsYXNzID0gKmRhdGE7CisKKwlkYXRhID0gb2ZfZ2V0X3Byb3BlcnR5KG9mZGV2LT5ub2RlLCAiY2xvY2stZnJlcXVlbmN5IiwgJmxlbik7CisJaWYgKGRhdGEgJiYgbGVuID09IDQpCisJCWNwbS0+ZnJlcSA9ICpkYXRhOworCWVsc2UKKwkJY3BtLT5mcmVxID0gNjAwMDA7IC8qIHVzZSA2MGtIeiBpMmMgY2xvY2sgYnkgZGVmYXVsdCAqLworCisJLyoKKwkgKiBBbGxvY2F0ZSBzcGFjZSBmb3IgQ1BNX01BWEJEIHRyYW5zbWl0IGFuZCByZWNlaXZlIGJ1ZmZlcgorCSAqIGRlc2NyaXB0b3JzIGluIHRoZSBEUCByYW0uCisJICovCisJY3BtLT5kcF9hZGRyID0gY3BtX211cmFtX2FsbG9jKHNpemVvZihjYmRfdCkgKiAyICogQ1BNX01BWEJELCA4KTsKKwlpZiAoIWNwbS0+ZHBfYWRkcikgeworCQlyZXQgPSAtRU5PTUVNOworCQlnb3RvIG91dF9yZWc7CisJfQorCisJY3BtLT50YmFzZSA9IGNwbV9tdXJhbV9hZGRyKGNwbS0+ZHBfYWRkcik7CisJY3BtLT5yYmFzZSA9IGNwbV9tdXJhbV9hZGRyKGNwbS0+ZHBfYWRkciArIHNpemVvZihjYmRfdCkgKiBDUE1fTUFYQkQpOworCisJLyogQWxsb2NhdGUgVFggYW5kIFJYIGJ1ZmZlcnMgKi8KKworCXRiZGYgPSBjcG0tPnRiYXNlOworCXJiZGYgPSBjcG0tPnJiYXNlOworCisJZm9yIChpID0gMDsgaSA8IENQTV9NQVhCRDsgaSsrKSB7CisJCWNwbS0+cnhidWZbaV0gPSBkbWFfYWxsb2NfY29oZXJlbnQoCisJCQlOVUxMLCBDUE1fTUFYX1JFQUQgKyAxLCAmY3BtLT5yeGRtYVtpXSwgR0ZQX0tFUk5FTCk7CisJCWlmICghY3BtLT5yeGJ1ZltpXSkgeworCQkJcmV0ID0gLUVOT01FTTsKKwkJCWdvdG8gb3V0X211cmFtOworCQl9CisJCW91dF9iZTMyKCZyYmRmW2ldLmNiZF9idWZhZGRyLCAoKGNwbS0+cnhkbWFbaV0gKyAxKSAmIH4xKSk7CisKKwkJY3BtLT50eGJ1ZltpXSA9ICh1bnNpZ25lZCBjaGFyICopZG1hX2FsbG9jX2NvaGVyZW50KAorCQkJTlVMTCwgQ1BNX01BWF9SRUFEICsgMSwgJmNwbS0+dHhkbWFbaV0sIEdGUF9LRVJORUwpOworCQlpZiAoIWNwbS0+dHhidWZbaV0pIHsKKwkJCXJldCA9IC1FTk9NRU07CisJCQlnb3RvIG91dF9tdXJhbTsKKwkJfQorCQlvdXRfYmUzMigmdGJkZltpXS5jYmRfYnVmYWRkciwgY3BtLT50eGRtYVtpXSk7CisJfQorCisJLyogSW5pdGlhbGl6ZSBUeC9SeCBwYXJhbWV0ZXJzLiAqLworCisJY3BtX3Jlc2V0X2kyY19wYXJhbXMoY3BtKTsKKworCWRldl9kYmcoJmNwbS0+b2ZkZXYtPmRldiwgImkyY19yYW0gMHglcCwgaTJjX2FkZHIgMHglMDR4LCBmcmVxICVkXG4iLAorCQljcG0tPmkyY19yYW0sIGNwbS0+aTJjX2FkZHIsIGNwbS0+ZnJlcSk7CisJZGV2X2RiZygmY3BtLT5vZmRldi0+ZGV2LCAidGJhc2UgMHglMDR4LCByYmFzZSAweCUwNHhcbiIsCisJCSh1OCBfX2lvbWVtICopY3BtLT50YmFzZSAtIERQUkFNX0JBU0UsCisJCSh1OCBfX2lvbWVtICopY3BtLT5yYmFzZSAtIERQUkFNX0JBU0UpOworCisJY3BtX2NvbW1hbmQoY3BtLT5jcF9jb21tYW5kLCBDUE1fQ1JfSU5JVF9UUlgpOworCisJLyoKKwkgKiBTZWxlY3QgYW4gaW52YWxpZCBhZGRyZXNzLiBKdXN0IG1ha2Ugc3VyZSB3ZSBkb24ndCB1c2UgbG9vcGJhY2sgbW9kZQorCSAqLworCW91dF84KCZjcG0tPmkyY19yZWctPmkyYWRkLCAweDdmIDw8IDEpOworCisJLyoKKwkgKiBQRElWIGlzIHNldCB0byAwMCBpbiBpMm1vZCwgc28gYnJnY2xrLzMyIGlzIHVzZWQgYXMgaW5wdXQgdG8gdGhlCisJICogaTJjIGJhdWQgcmF0ZSBnZW5lcmF0b3IuIFRoaXMgaXMgZGl2aWRlZCBieSAyIHggKERJViArIDMpIHRvIGdldAorCSAqIHRoZSBhY3R1YWwgaTJjIGJ1cyBmcmVxdWVuY3kuCisJICovCisJYnJnID0gZ2V0X2JyZ2ZyZXEoKSAvICgzMiAqIDIgKiBjcG0tPmZyZXEpIC0gMzsKKwlvdXRfOCgmY3BtLT5pMmNfcmVnLT5pMmJyZywgYnJnKTsKKworCW91dF84KCZjcG0tPmkyY19yZWctPmkybW9kLCAweDAwKTsKKwlvdXRfOCgmY3BtLT5pMmNfcmVnLT5pMmNvbSwgSTJDT01fTUFTVEVSKTsJLyogTWFzdGVyIG1vZGUgKi8KKworCS8qIERpc2FibGUgaW50ZXJydXB0cy4gKi8KKwlvdXRfOCgmY3BtLT5pMmNfcmVnLT5pMmNtciwgMCk7CisJb3V0XzgoJmNwbS0+aTJjX3JlZy0+aTJjZXIsIDB4ZmYpOworCisJcmV0dXJuIDA7CisKK291dF9tdXJhbToKKwlmb3IgKGkgPSAwOyBpIDwgQ1BNX01BWEJEOyBpKyspIHsKKwkJaWYgKGNwbS0+cnhidWZbaV0pCisJCQlkbWFfZnJlZV9jb2hlcmVudChOVUxMLCBDUE1fTUFYX1JFQUQgKyAxLAorCQkJCWNwbS0+cnhidWZbaV0sIGNwbS0+cnhkbWFbaV0pOworCQlpZiAoY3BtLT50eGJ1ZltpXSkKKwkJCWRtYV9mcmVlX2NvaGVyZW50KE5VTEwsIENQTV9NQVhfUkVBRCArIDEsCisJCQkJY3BtLT50eGJ1ZltpXSwgY3BtLT50eGRtYVtpXSk7CisJfQorCWNwbV9tdXJhbV9mcmVlKGNwbS0+ZHBfYWRkcik7CitvdXRfcmVnOgorCWlvdW5tYXAoY3BtLT5pMmNfcmVnKTsKK291dF9yYW06CisJaWYgKChjcG0tPnZlcnNpb24gPT0gMSkgJiYgKCFjcG0tPmkyY19hZGRyKSkKKwkJaW91bm1hcChjcG0tPmkyY19yYW0pOworCWlmIChjcG0tPnZlcnNpb24gPT0gMikKKwkJY3BtX211cmFtX2ZyZWUoY3BtLT5pMmNfYWRkcik7CitvdXRfaXJxOgorCWZyZWVfaXJxKGNwbS0+aXJxLCAmY3BtLT5hZGFwKTsKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgdm9pZCBjcG1faTJjX3NodXRkb3duKHN0cnVjdCBjcG1faTJjICpjcG0pCit7CisJaW50IGk7CisKKwkvKiBTaHV0IGRvd24gSTJDLiAqLworCWNscmJpdHM4KCZjcG0tPmkyY19yZWctPmkybW9kLCBJMk1PRF9FTik7CisKKwkvKiBEaXNhYmxlIGludGVycnVwdHMgKi8KKwlvdXRfOCgmY3BtLT5pMmNfcmVnLT5pMmNtciwgMCk7CisJb3V0XzgoJmNwbS0+aTJjX3JlZy0+aTJjZXIsIDB4ZmYpOworCisJZnJlZV9pcnEoY3BtLT5pcnEsICZjcG0tPmFkYXApOworCisJLyogRnJlZSBhbGwgbWVtb3J5ICovCisJZm9yIChpID0gMDsgaSA8IENQTV9NQVhCRDsgaSsrKSB7CisJCWRtYV9mcmVlX2NvaGVyZW50KE5VTEwsIENQTV9NQVhfUkVBRCArIDEsCisJCQljcG0tPnJ4YnVmW2ldLCBjcG0tPnJ4ZG1hW2ldKTsKKwkJZG1hX2ZyZWVfY29oZXJlbnQoTlVMTCwgQ1BNX01BWF9SRUFEICsgMSwKKwkJCWNwbS0+dHhidWZbaV0sIGNwbS0+dHhkbWFbaV0pOworCX0KKworCWNwbV9tdXJhbV9mcmVlKGNwbS0+ZHBfYWRkcik7CisJaW91bm1hcChjcG0tPmkyY19yZWcpOworCisJaWYgKChjcG0tPnZlcnNpb24gPT0gMSkgJiYgKCFjcG0tPmkyY19hZGRyKSkKKwkJaW91bm1hcChjcG0tPmkyY19yYW0pOworCWlmIChjcG0tPnZlcnNpb24gPT0gMikKKwkJY3BtX211cmFtX2ZyZWUoY3BtLT5pMmNfYWRkcik7Cit9CisKK3N0YXRpYyBpbnQgX19kZXZpbml0IGNwbV9pMmNfcHJvYmUoc3RydWN0IG9mX2RldmljZSAqb2ZkZXYsCisJCQkgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCAqbWF0Y2gpCit7CisJaW50IHJlc3VsdCwgbGVuOworCXN0cnVjdCBjcG1faTJjICpjcG07CisJY29uc3QgdTMyICpkYXRhOworCisJY3BtID0ga3phbGxvYyhzaXplb2Yoc3RydWN0IGNwbV9pMmMpLCBHRlBfS0VSTkVMKTsKKwlpZiAoIWNwbSkKKwkJcmV0dXJuIC1FTk9NRU07CisKKwljcG0tPm9mZGV2ID0gb2ZkZXY7CisKKwlkZXZfc2V0X2RydmRhdGEoJm9mZGV2LT5kZXYsIGNwbSk7CisKKwljcG0tPmFkYXAgPSBjcG1fb3BzOworCWkyY19zZXRfYWRhcGRhdGEoJmNwbS0+YWRhcCwgY3BtKTsKKwljcG0tPmFkYXAuZGV2LnBhcmVudCA9ICZvZmRldi0+ZGV2OworCisJcmVzdWx0ID0gY3BtX2kyY19zZXR1cChjcG0pOworCWlmIChyZXN1bHQpIHsKKwkJZGV2X2Vycigmb2ZkZXYtPmRldiwgIlVuYWJsZSB0byBpbml0IGhhcmR3YXJlXG4iKTsKKwkJZ290byBvdXRfZnJlZTsKKwl9CisKKwkvKiByZWdpc3RlciBuZXcgYWRhcHRlciB0byBpMmMgbW9kdWxlLi4uICovCisKKwlkYXRhID0gb2ZfZ2V0X3Byb3BlcnR5KG9mZGV2LT5ub2RlLCAibGludXgsaTJjLWluZGV4IiwgJmxlbik7CisJaWYgKGRhdGEgJiYgbGVuID09IDQpIHsKKwkJY3BtLT5hZGFwLm5yID0gKmRhdGE7CisJCXJlc3VsdCA9IGkyY19hZGRfbnVtYmVyZWRfYWRhcHRlcigmY3BtLT5hZGFwKTsKKwl9IGVsc2UKKwkJcmVzdWx0ID0gaTJjX2FkZF9hZGFwdGVyKCZjcG0tPmFkYXApOworCisJaWYgKHJlc3VsdCA8IDApIHsKKwkJZGV2X2Vycigmb2ZkZXYtPmRldiwgIlVuYWJsZSB0byByZWdpc3RlciB3aXRoIEkyQ1xuIik7CisJCWdvdG8gb3V0X3NodXQ7CisJfQorCisJZGV2X2RiZygmb2ZkZXYtPmRldiwgImh3IHJvdXRpbmVzIGZvciAlcyByZWdpc3RlcmVkLlxuIiwKKwkJY3BtLT5hZGFwLm5hbWUpOworCisJLyoKKwkgKiByZWdpc3RlciBPRiBJMkMgZGV2aWNlcworCSAqLworCW9mX3JlZ2lzdGVyX2kyY19kZXZpY2VzKCZjcG0tPmFkYXAsIG9mZGV2LT5ub2RlKTsKKworCXJldHVybiAwOworb3V0X3NodXQ6CisJY3BtX2kyY19zaHV0ZG93bihjcG0pOworb3V0X2ZyZWU6CisJZGV2X3NldF9kcnZkYXRhKCZvZmRldi0+ZGV2LCBOVUxMKTsKKwlrZnJlZShjcG0pOworCisJcmV0dXJuIHJlc3VsdDsKK30KKworc3RhdGljIGludCBfX2RldmV4aXQgY3BtX2kyY19yZW1vdmUoc3RydWN0IG9mX2RldmljZSAqb2ZkZXYpCit7CisJc3RydWN0IGNwbV9pMmMgKmNwbSA9IGRldl9nZXRfZHJ2ZGF0YSgmb2ZkZXYtPmRldik7CisKKwlpMmNfZGVsX2FkYXB0ZXIoJmNwbS0+YWRhcCk7CisKKwljcG1faTJjX3NodXRkb3duKGNwbSk7CisKKwlkZXZfc2V0X2RydmRhdGEoJm9mZGV2LT5kZXYsIE5VTEwpOworCWtmcmVlKGNwbSk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgY3BtX2kyY19tYXRjaFtdID0geworCXsKKwkJLmNvbXBhdGlibGUgPSAiZnNsLGNwbTEtaTJjIiwKKwl9LAorCXsKKwkJLmNvbXBhdGlibGUgPSAiZnNsLGNwbTItaTJjIiwKKwl9LAorCXt9LAorfTsKKworTU9EVUxFX0RFVklDRV9UQUJMRShvZiwgY3BtX2kyY19tYXRjaCk7CisKK3N0YXRpYyBzdHJ1Y3Qgb2ZfcGxhdGZvcm1fZHJpdmVyIGNwbV9pMmNfZHJpdmVyID0geworCS5tYXRjaF90YWJsZQk9IGNwbV9pMmNfbWF0Y2gsCisJLnByb2JlCQk9IGNwbV9pMmNfcHJvYmUsCisJLnJlbW92ZQkJPSBfX2RldmV4aXRfcChjcG1faTJjX3JlbW92ZSksCisJLmRyaXZlcgkJPSB7CisJCS5uYW1lCT0gImZzbC1pMmMtY3BtIiwKKwkJLm93bmVyCT0gVEhJU19NT0RVTEUsCisJfQorfTsKKworc3RhdGljIGludCBfX2luaXQgY3BtX2kyY19pbml0KHZvaWQpCit7CisJcmV0dXJuIG9mX3JlZ2lzdGVyX3BsYXRmb3JtX2RyaXZlcigmY3BtX2kyY19kcml2ZXIpOworfQorCitzdGF0aWMgdm9pZCBfX2V4aXQgY3BtX2kyY19leGl0KHZvaWQpCit7CisJb2ZfdW5yZWdpc3Rlcl9wbGF0Zm9ybV9kcml2ZXIoJmNwbV9pMmNfZHJpdmVyKTsKK30KKworbW9kdWxlX2luaXQoY3BtX2kyY19pbml0KTsKK21vZHVsZV9leGl0KGNwbV9pMmNfZXhpdCk7CisKK01PRFVMRV9BVVRIT1IoIkpvY2hlbiBGcmllZHJpY2ggPGpvY2hlbkBzY3JhbS5kZT4iKTsKK01PRFVMRV9ERVNDUklQVElPTigiSTJDLUJ1cyBhZGFwdGVyIHJvdXRpbmVzIGZvciBDUE0gYm9hcmRzIik7CitNT0RVTEVfTElDRU5TRSgiR1BMIik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWRhdmluY2kuYyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtZGF2aW5jaS5jCmluZGV4IDdlY2JmYzQuLmFmMzg0NmUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtZGF2aW5jaS5jCisrKyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtZGF2aW5jaS5jCkBAIC04NSw2ICs4NSw3IEBACiAjZGVmaW5lIERBVklOQ0lfSTJDX01EUl9NU1QJKDEgPDwgMTApCiAjZGVmaW5lIERBVklOQ0lfSTJDX01EUl9UUlgJKDEgPDwgOSkKICNkZWZpbmUgREFWSU5DSV9JMkNfTURSX1hBCSgxIDw8IDgpCisjZGVmaW5lIERBVklOQ0lfSTJDX01EUl9STQkoMSA8PCA3KQogI2RlZmluZSBEQVZJTkNJX0kyQ19NRFJfSVJTCSgxIDw8IDUpCiAKICNkZWZpbmUgREFWSU5DSV9JMkNfSU1SX0FBUwkoMSA8PCA2KQpAQCAtMTEyLDYgKzExMyw3IEBACiAJdTgJCQkqYnVmOwogCXNpemVfdAkJCWJ1Zl9sZW47CiAJaW50CQkJaXJxOworCXU4CQkJdGVybWluYXRlOwogCXN0cnVjdCBpMmNfYWRhcHRlcglhZGFwdGVyOwogfTsKIApAQCAtMTQyLDYgKzE0NCw3IEBACiAJc3RydWN0IGRhdmluY2lfaTJjX3BsYXRmb3JtX2RhdGEgKnBkYXRhID0gZGV2LT5kZXYtPnBsYXRmb3JtX2RhdGE7CiAJdTE2IHBzYzsKIAl1MzIgY2xrOworCXUzMiBkOwogCXUzMiBjbGtoOwogCXUzMiBjbGtsOwogCXUzMiBpbnB1dF9jbG9jayA9IGNsa19nZXRfcmF0ZShkZXYtPmNsayk7CkBAIC0xNzEsMjMgKzE3NCwyOSBAQAogCSAqICAgICAgIGlmIFBTQyA+IDEgLCBkID0gNQogCSAqLwogCi0JcHNjID0gMjY7IC8qIFRvIGdldCAxTUh6IGNsb2NrICovCisJLyogZ2V0IG1pbmltdW0gb2YgNyBNSHogY2xvY2ssIGJ1dCBtYXggb2YgMTIgTUh6ICovCisJcHNjID0gKGlucHV0X2Nsb2NrIC8gNzAwMDAwMCkgLSAxOworCWlmICgoaW5wdXRfY2xvY2sgLyAocHNjICsgMSkpID4gMTIwMDAwMDApCisJCXBzYysrOwkvKiBiZXR0ZXIgdG8gcnVuIHVuZGVyIHNwZWMgdGhhbiBvdmVyICovCisJZCA9IChwc2MgPj0gMikgPyA1IDogNyAtIHBzYzsKIAotCWNsayA9ICgoaW5wdXRfY2xvY2sgLyAocHNjICsgMSkpIC8gKHBkYXRhLT5idXNfZnJlcSAqIDEwMDApKSAtIDEwOwotCWNsa2ggPSAoNTAgKiBjbGspIC8gMTAwOworCWNsayA9ICgoaW5wdXRfY2xvY2sgLyAocHNjICsgMSkpIC8gKHBkYXRhLT5idXNfZnJlcSAqIDEwMDApKSAtIChkIDw8IDEpOworCWNsa2ggPSBjbGsgPj4gMTsKIAljbGtsID0gY2xrIC0gY2xraDsKIAogCWRhdmluY2lfaTJjX3dyaXRlX3JlZyhkZXYsIERBVklOQ0lfSTJDX1BTQ19SRUcsIHBzYyk7CiAJZGF2aW5jaV9pMmNfd3JpdGVfcmVnKGRldiwgREFWSU5DSV9JMkNfQ0xLSF9SRUcsIGNsa2gpOwogCWRhdmluY2lfaTJjX3dyaXRlX3JlZyhkZXYsIERBVklOQ0lfSTJDX0NMS0xfUkVHLCBjbGtsKTsKIAotCWRldl9kYmcoZGV2LT5kZXYsICJDTEsgID0gJWRcbiIsIGNsayk7CisJZGV2X2RiZyhkZXYtPmRldiwgImlucHV0X2Nsb2NrID0gJWQsIENMSyA9ICVkXG4iLCBpbnB1dF9jbG9jaywgY2xrKTsKIAlkZXZfZGJnKGRldi0+ZGV2LCAiUFNDICA9ICVkXG4iLAogCQlkYXZpbmNpX2kyY19yZWFkX3JlZyhkZXYsIERBVklOQ0lfSTJDX1BTQ19SRUcpKTsKIAlkZXZfZGJnKGRldi0+ZGV2LCAiQ0xLTCA9ICVkXG4iLAogCQlkYXZpbmNpX2kyY19yZWFkX3JlZyhkZXYsIERBVklOQ0lfSTJDX0NMS0xfUkVHKSk7CiAJZGV2X2RiZyhkZXYtPmRldiwgIkNMS0ggPSAlZFxuIiwKIAkJZGF2aW5jaV9pMmNfcmVhZF9yZWcoZGV2LCBEQVZJTkNJX0kyQ19DTEtIX1JFRykpOworCWRldl9kYmcoZGV2LT5kZXYsICJidXNfZnJlcSA9ICVka0h6LCBidXNfZGVsYXkgPSAlZFxuIiwKKwkJcGRhdGEtPmJ1c19mcmVxLCBwZGF0YS0+YnVzX2RlbGF5KTsKIAogCS8qIFRha2UgdGhlIEkyQyBtb2R1bGUgb3V0IG9mIHJlc2V0OiAqLwogCXcgPSBkYXZpbmNpX2kyY19yZWFkX3JlZyhkZXYsIERBVklOQ0lfSTJDX01EUl9SRUcpOwpAQCAtMjMzLDcgKzI0Miw2IEBACiAJc3RydWN0IGRhdmluY2lfaTJjX2RldiAqZGV2ID0gaTJjX2dldF9hZGFwZGF0YShhZGFwKTsKIAlzdHJ1Y3QgZGF2aW5jaV9pMmNfcGxhdGZvcm1fZGF0YSAqcGRhdGEgPSBkZXYtPmRldi0+cGxhdGZvcm1fZGF0YTsKIAl1MzIgZmxhZzsKLQl1MzIgc3RhdDsKIAl1MTYgdzsKIAlpbnQgcjsKIApAQCAtMjU0LDEyICsyNjIsOSBAQAogCiAJZGF2aW5jaV9pMmNfd3JpdGVfcmVnKGRldiwgREFWSU5DSV9JMkNfQ05UX1JFRywgZGV2LT5idWZfbGVuKTsKIAotCWluaXRfY29tcGxldGlvbigmZGV2LT5jbWRfY29tcGxldGUpOworCUlOSVRfQ09NUExFVElPTihkZXYtPmNtZF9jb21wbGV0ZSk7CiAJZGV2LT5jbWRfZXJyID0gMDsKIAotCS8qIENsZWFyIGFueSBwZW5kaW5nIGludGVycnVwdHMgYnkgcmVhZGluZyB0aGUgSVZSICovCi0Jc3RhdCA9IGRhdmluY2lfaTJjX3JlYWRfcmVnKGRldiwgREFWSU5DSV9JMkNfSVZSX1JFRyk7Ci0KIAkvKiBUYWtlIEkyQyBvdXQgb2YgcmVzZXQsIGNvbmZpZ3VyZSBpdCBhcyBtYXN0ZXIgYW5kIHNldCB0aGUKIAkgKiBzdGFydCBiaXQgKi8KIAlmbGFnID0gREFWSU5DSV9JMkNfTURSX0lSUyB8IERBVklOQ0lfSTJDX01EUl9NU1QgfCBEQVZJTkNJX0kyQ19NRFJfU1RUOwpAQCAtMjgwLDIwICsyODUsMzQgQEAKIAkJTU9EX1JFR19CSVQodywgREFWSU5DSV9JMkNfSU1SX1hSRFksIDEpOwogCWRhdmluY2lfaTJjX3dyaXRlX3JlZyhkZXYsIERBVklOQ0lfSTJDX0lNUl9SRUcsIHcpOwogCisJZGV2LT50ZXJtaW5hdGUgPSAwOwogCS8qIHdyaXRlIHRoZSBkYXRhIGludG8gbW9kZSByZWdpc3RlciAqLwogCWRhdmluY2lfaTJjX3dyaXRlX3JlZyhkZXYsIERBVklOQ0lfSTJDX01EUl9SRUcsIGZsYWcpOwogCiAJciA9IHdhaXRfZm9yX2NvbXBsZXRpb25faW50ZXJydXB0aWJsZV90aW1lb3V0KCZkZXYtPmNtZF9jb21wbGV0ZSwKIAkJCQkJCSAgICAgIERBVklOQ0lfSTJDX1RJTUVPVVQpOwotCWRldi0+YnVmX2xlbiA9IDA7Ci0JaWYgKHIgPCAwKQotCQlyZXR1cm4gcjsKLQogCWlmIChyID09IDApIHsKIAkJZGV2X2VycihkZXYtPmRldiwgImNvbnRyb2xsZXIgdGltZWQgb3V0XG4iKTsKIAkJaTJjX2RhdmluY2lfaW5pdChkZXYpOworCQlkZXYtPmJ1Zl9sZW4gPSAwOwogCQlyZXR1cm4gLUVUSU1FRE9VVDsKIAl9CisJaWYgKGRldi0+YnVmX2xlbikgeworCQkvKiBUaGlzIHNob3VsZCBiZSAwIGlmIGFsbCBieXRlcyB3ZXJlIHRyYW5zZmVycmVkCisJCSAqIG9yIGRldi0+Y21kX2VyciBkZW5vdGVzIGFuIGVycm9yLgorCQkgKiBBIHNpZ25hbCBtYXkgaGF2ZSBhYm9ydGVkIHRoZSB0cmFuc2Zlci4KKwkJICovCisJCWlmIChyID49IDApIHsKKwkJCWRldl9lcnIoZGV2LT5kZXYsICJhYm5vcm1hbCB0ZXJtaW5hdGlvbiBidWZfbGVuPSVpXG4iLAorCQkJCWRldi0+YnVmX2xlbik7CisJCQlyID0gLUVSRU1PVEVJTzsKKwkJfQorCQlkZXYtPnRlcm1pbmF0ZSA9IDE7CisJCXdtYigpOworCQlkZXYtPmJ1Zl9sZW4gPSAwOworCX0KKwlpZiAociA8IDApCisJCXJldHVybiByOwogCiAJLyogbm8gZXJyb3IgKi8KIAlpZiAobGlrZWx5KCFkZXYtPmNtZF9lcnIpKQpAQCAtMzM4LDEyICszNTcsMTEgQEAKIAogCWZvciAoaSA9IDA7IGkgPCBudW07IGkrKykgewogCQlyZXQgPSBpMmNfZGF2aW5jaV94ZmVyX21zZyhhZGFwLCAmbXNnc1tpXSwgKGkgPT0gKG51bSAtIDEpKSk7CisJCWRldl9kYmcoZGV2LT5kZXYsICIlcyBbJWQvJWRdIHJldDogJWRcbiIsIF9fZnVuY19fLCBpICsgMSwgbnVtLAorCQkJcmV0KTsKIAkJaWYgKHJldCA8IDApCiAJCQlyZXR1cm4gcmV0OwogCX0KLQotCWRldl9kYmcoZGV2LT5kZXYsICIlczolZCByZXQ6ICVkXG4iLCBfX2Z1bmNfXywgX19MSU5FX18sIHJldCk7Ci0KIAlyZXR1cm4gbnVtOwogfQogCkBAIC0zNTIsNiArMzcwLDI3IEBACiAJcmV0dXJuIEkyQ19GVU5DX0kyQyB8IChJMkNfRlVOQ19TTUJVU19FTVVMICYgfkkyQ19GVU5DX1NNQlVTX1FVSUNLKTsKIH0KIAorc3RhdGljIHZvaWQgdGVybWluYXRlX3JlYWQoc3RydWN0IGRhdmluY2lfaTJjX2RldiAqZGV2KQoreworCXUxNiB3ID0gZGF2aW5jaV9pMmNfcmVhZF9yZWcoZGV2LCBEQVZJTkNJX0kyQ19NRFJfUkVHKTsKKwl3IHw9IERBVklOQ0lfSTJDX01EUl9OQUNLOworCWRhdmluY2lfaTJjX3dyaXRlX3JlZyhkZXYsIERBVklOQ0lfSTJDX01EUl9SRUcsIHcpOworCisJLyogVGhyb3cgYXdheSBkYXRhICovCisJZGF2aW5jaV9pMmNfcmVhZF9yZWcoZGV2LCBEQVZJTkNJX0kyQ19EUlJfUkVHKTsKKwlpZiAoIWRldi0+dGVybWluYXRlKQorCQlkZXZfZXJyKGRldi0+ZGV2LCAiUkRSIElSUSB3aGlsZSBubyBkYXRhIHJlcXVlc3RlZFxuIik7Cit9CitzdGF0aWMgdm9pZCB0ZXJtaW5hdGVfd3JpdGUoc3RydWN0IGRhdmluY2lfaTJjX2RldiAqZGV2KQoreworCXUxNiB3ID0gZGF2aW5jaV9pMmNfcmVhZF9yZWcoZGV2LCBEQVZJTkNJX0kyQ19NRFJfUkVHKTsKKwl3IHw9IERBVklOQ0lfSTJDX01EUl9STSB8IERBVklOQ0lfSTJDX01EUl9TVFA7CisJZGF2aW5jaV9pMmNfd3JpdGVfcmVnKGRldiwgREFWSU5DSV9JMkNfTURSX1JFRywgdyk7CisKKwlpZiAoIWRldi0+dGVybWluYXRlKQorCQlkZXZfZXJyKGRldi0+ZGV2LCAiVERSIElSUSB3aGlsZSBubyBkYXRhIHRvIHNlbmRcbiIpOworfQorCiAvKgogICogSW50ZXJydXB0IHNlcnZpY2Ugcm91dGluZS4gVGhpcyBnZXRzIGNhbGxlZCB3aGVuZXZlciBhbiBJMkMgaW50ZXJydXB0CiAgKiBvY2N1cnMuCkBAIC0zNzIsMTIgKzQxMSwxNSBAQAogCiAJCXN3aXRjaCAoc3RhdCkgewogCQljYXNlIERBVklOQ0lfSTJDX0lWUl9BTDoKKwkJCS8qIEFyYml0cmF0aW9uIGxvc3QsIG11c3QgcmV0cnkgKi8KIAkJCWRldi0+Y21kX2VyciB8PSBEQVZJTkNJX0kyQ19TVFJfQUw7CisJCQlkZXYtPmJ1Zl9sZW4gPSAwOwogCQkJY29tcGxldGUoJmRldi0+Y21kX2NvbXBsZXRlKTsKIAkJCWJyZWFrOwogCiAJCWNhc2UgREFWSU5DSV9JMkNfSVZSX05BQ0s6CiAJCQlkZXYtPmNtZF9lcnIgfD0gREFWSU5DSV9JMkNfU1RSX05BQ0s7CisJCQlkZXYtPmJ1Zl9sZW4gPSAwOwogCQkJY29tcGxldGUoJmRldi0+Y21kX2NvbXBsZXRlKTsKIAkJCWJyZWFrOwogCkBAIC0zOTksOSArNDQxLDEwIEBACiAJCQkJZGF2aW5jaV9pMmNfd3JpdGVfcmVnKGRldiwKIAkJCQkJREFWSU5DSV9JMkNfU1RSX1JFRywKIAkJCQkJREFWSU5DSV9JMkNfSU1SX1JSRFkpOwotCQkJfSBlbHNlCi0JCQkJZGV2X2VycihkZXYtPmRldiwgIlJEUiBJUlEgd2hpbGUgbm8gIgotCQkJCQkiZGF0YSByZXF1ZXN0ZWRcbiIpOworCQkJfSBlbHNlIHsKKwkJCQkvKiBzaWduYWwgY2FuIHRlcm1pbmF0ZSB0cmFuc2ZlciAqLworCQkJCXRlcm1pbmF0ZV9yZWFkKGRldik7CisJCQl9CiAJCQlicmVhazsKIAogCQljYXNlIERBVklOQ0lfSTJDX0lWUl9YUkRZOgpAQCAtNDE4LDkgKzQ2MSwxMCBAQAogCQkJCWRhdmluY2lfaTJjX3dyaXRlX3JlZyhkZXYsCiAJCQkJCQkgICAgICBEQVZJTkNJX0kyQ19JTVJfUkVHLAogCQkJCQkJICAgICAgdyk7Ci0JCQl9IGVsc2UKLQkJCQlkZXZfZXJyKGRldi0+ZGV2LCAiVERSIElSUSB3aGlsZSBubyBkYXRhIHRvICIKLQkJCQkJInNlbmRcbiIpOworCQkJfSBlbHNlIHsKKwkJCQkvKiBzaWduYWwgY2FuIHRlcm1pbmF0ZSB0cmFuc2ZlciAqLworCQkJCXRlcm1pbmF0ZV93cml0ZShkZXYpOworCQkJfQogCQkJYnJlYWs7CiAKIAkJY2FzZSBEQVZJTkNJX0kyQ19JVlJfU0NEOgpAQCAtNDc1LDYgKzUxOSw3IEBACiAJCWdvdG8gZXJyX3JlbGVhc2VfcmVnaW9uOwogCX0KIAorCWluaXRfY29tcGxldGlvbigmZGV2LT5jbWRfY29tcGxldGUpOwogCWRldi0+ZGV2ID0gZ2V0X2RldmljZSgmcGRldi0+ZGV2KTsKIAlkZXYtPmlycSA9IGlycS0+c3RhcnQ7CiAJcGxhdGZvcm1fc2V0X2RydmRhdGEocGRldiwgZGV2KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtZWxla3Rvci5jIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1lbGVrdG9yLmMKaW5kZXggYjdhOTk3Ny4uN2YzOGMwMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1lbGVrdG9yLmMKKysrIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1lbGVrdG9yLmMKQEAgLTE5NiwxMyArMTk2LDExIEBACiAJLmdldG93bgkgICAgPSBwY2ZfaXNhX2dldG93biwKIAkuZ2V0Y2xvY2sgICA9IHBjZl9pc2FfZ2V0Y2xvY2ssCiAJLndhaXRmb3JwaW4gPSBwY2ZfaXNhX3dhaXRmb3JwaW4sCi0JLnVkZWxheQkgICAgPSAxMCwKLQkudGltZW91dCAgICA9IDEwMCwKIH07CiAKIHN0YXRpYyBzdHJ1Y3QgaTJjX2FkYXB0ZXIgcGNmX2lzYV9vcHMgPSB7CiAJLm93bmVyCQk9IFRISVNfTU9EVUxFLAotCS5jbGFzcwkJPSBJMkNfQ0xBU1NfSFdNT04sCisJLmNsYXNzCQk9IEkyQ19DTEFTU19IV01PTiB8IEkyQ19DTEFTU19TUEQsCiAJLmlkCQk9IEkyQ19IV19QX0VMRUssCiAJLmFsZ29fZGF0YQk9ICZwY2ZfaXNhX2RhdGEsCiAJLm5hbWUJCT0gImkyYy1lbGVrdG9yIiwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtZ3Bpby5jIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1ncGlvLmMKaW5kZXggN2MxYjc2Mi4uNzliNDU1YSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1ncGlvLmMKKysrIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1ncGlvLmMKQEAgLTE0MCw3ICsxNDAsNyBAQAogCWFkYXAtPm93bmVyID0gVEhJU19NT0RVTEU7CiAJc25wcmludGYoYWRhcC0+bmFtZSwgc2l6ZW9mKGFkYXAtPm5hbWUpLCAiaTJjLWdwaW8lZCIsIHBkZXYtPmlkKTsKIAlhZGFwLT5hbGdvX2RhdGEgPSBiaXRfZGF0YTsKLQlhZGFwLT5jbGFzcyA9IEkyQ19DTEFTU19IV01PTjsKKwlhZGFwLT5jbGFzcyA9IEkyQ19DTEFTU19IV01PTiB8IEkyQ19DTEFTU19TUEQ7CiAJYWRhcC0+ZGV2LnBhcmVudCA9ICZwZGV2LT5kZXY7CiAKIAkvKgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1oeWRyYS5jIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1oeWRyYS5jCmluZGV4IGY5OTcyZjkuLjEwOThmMjEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtaHlkcmEuYworKysgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWh5ZHJhLmMKQEAgLTEsNyArMSw0IEBACiAvKgotICAgIGkyYy1oeWRyYS5jIC0gUGFydCBvZiBsbV9zZW5zb3JzLCAgTGludXgga2VybmVsIG1vZHVsZXMKLSAgICAgICAgICAgICAgICAgIGZvciBoYXJkd2FyZSBtb25pdG9yaW5nCi0KICAgICBpMmMgU3VwcG9ydCBmb3IgdGhlIEFwcGxlIGBIeWRyYScgTWFjIEkvTwogCiAgICAgQ29weXJpZ2h0IChjKSAxOTk5LTIwMDQgR2VlcnQgVXl0dGVyaG9ldmVuIDxnZWVydEBsaW51eC1tNjhrLm9yZz4KZGlmZiAtLWdpdCBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtaTgwMS5jIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1pODAxLmMKaW5kZXggYjBmNzcxZi4uZGM3ZWEzMiAxMDA2NDQKLS0tIGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1pODAxLmMKKysrIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1pODAxLmMKQEAgLTEsMTAgKzEsOCBAQAogLyoKLSAgICBpMmMtaTgwMS5jIC0gUGFydCBvZiBsbV9zZW5zb3JzLCBMaW51eCBrZXJuZWwgbW9kdWxlcyBmb3IgaGFyZHdhcmUKLSAgICAgICAgICAgICAgbW9uaXRvcmluZwogICAgIENvcHlyaWdodCAoYykgMTk5OCAtIDIwMDIgIEZyb2RvIExvb2lqYWFyZCA8ZnJvZG9sQGRkcy5ubD4sCiAgICAgUGhpbGlwIEVkZWxicm9jayA8cGhpbEBuZXRyb2VkZ2UuY29tPiwgYW5kIE1hcmsgRC4gU3R1ZGViYWtlcgogICAgIDxtZHN4eXoxMjNAeWFob28uY29tPgotICAgIENvcHlyaWdodCAoQykgMjAwNyAgICAgICAgIEplYW4gRGVsdmFyZSA8a2hhbGlAbGludXgtZnIub3JnPgorICAgIENvcHlyaWdodCAoQykgMjAwNywgMjAwOCAgIEplYW4gRGVsdmFyZSA8a2hhbGlAbGludXgtZnIub3JnPgogCiAgICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKICAgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQpAQCAtNjQsNiArNjIsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2lvcG9ydC5oPgogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KICNpbmNsdWRlIDxsaW51eC9pMmMuaD4KKyNpbmNsdWRlIDxsaW51eC9hY3BpLmg+CiAjaW5jbHVkZSA8YXNtL2lvLmg+CiAKIC8qIEk4MDEgU01CdXMgYWRkcmVzcyBvZmZzZXRzICovCkBAIC0xMjEsNiArMTIwLDEwIEBACiAjZGVmaW5lIFNNQkhTVFNUU19JTlRSCQkweDAyCiAjZGVmaW5lIFNNQkhTVFNUU19IT1NUX0JVU1kJMHgwMQogCisjZGVmaW5lIFNUQVRVU19GTEFHUwkJKFNNQkhTVFNUU19CWVRFX0RPTkUgfCBTTUJIU1RTVFNfRkFJTEVEIHwgXAorCQkJCSBTTUJIU1RTVFNfQlVTX0VSUiB8IFNNQkhTVFNUU19ERVZfRVJSIHwgXAorCQkJCSBTTUJIU1RTVFNfSU5UUikKKwogc3RhdGljIHVuc2lnbmVkIGxvbmcgaTgwMV9zbWJhOwogc3RhdGljIHVuc2lnbmVkIGNoYXIgaTgwMV9vcmlnaW5hbF9oc3RjZmc7CiBzdGF0aWMgc3RydWN0IHBjaV9kcml2ZXIgaTgwMV9kcml2ZXI7CkBAIC0xMzIsMzEgKzEzNSw5NiBAQAogI2RlZmluZSBGRUFUVVJFX0kyQ19CTE9DS19SRUFECSgxIDw8IDMpCiBzdGF0aWMgdW5zaWduZWQgaW50IGk4MDFfZmVhdHVyZXM7CiAKLXN0YXRpYyBpbnQgaTgwMV90cmFuc2FjdGlvbihpbnQgeGFjdCkKKy8qIE1ha2Ugc3VyZSB0aGUgU01CdXMgaG9zdCBpcyByZWFkeSB0byBzdGFydCB0cmFuc21pdHRpbmcuCisgICBSZXR1cm4gMCBpZiBpdCBpcywgLUVCVVNZIGlmIGl0IGlzIG5vdC4gKi8KK3N0YXRpYyBpbnQgaTgwMV9jaGVja19wcmUodm9pZCkKIHsKLQlpbnQgdGVtcDsKLQlpbnQgcmVzdWx0ID0gMDsKLQlpbnQgdGltZW91dCA9IDA7CisJaW50IHN0YXR1czsKIAotCWRldl9kYmcoJkk4MDFfZGV2LT5kZXYsICJUcmFuc2FjdGlvbiAocHJlKTogQ05UPSUwMngsIENNRD0lMDJ4LCAiCi0JCSJBREQ9JTAyeCwgREFUMD0lMDJ4LCBEQVQxPSUwMnhcbiIsIGluYl9wKFNNQkhTVENOVCksCi0JCWluYl9wKFNNQkhTVENNRCksIGluYl9wKFNNQkhTVEFERCksIGluYl9wKFNNQkhTVERBVDApLAotCQlpbmJfcChTTUJIU1REQVQxKSk7CisJc3RhdHVzID0gaW5iX3AoU01CSFNUU1RTKTsKKwlpZiAoc3RhdHVzICYgU01CSFNUU1RTX0hPU1RfQlVTWSkgeworCQlkZXZfZXJyKCZJODAxX2Rldi0+ZGV2LCAiU01CdXMgaXMgYnVzeSwgY2FuJ3QgdXNlIGl0IVxuIik7CisJCXJldHVybiAtRUJVU1k7CisJfQogCi0JLyogTWFrZSBzdXJlIHRoZSBTTUJ1cyBob3N0IGlzIHJlYWR5IHRvIHN0YXJ0IHRyYW5zbWl0dGluZyAqLwotCS8qIDB4MWYgPSBGYWlsZWQsIEJ1c19FcnIsIERldl9FcnIsIEludHIsIEhvc3RfQnVzeSAqLwotCWlmICgodGVtcCA9ICgweDFmICYgaW5iX3AoU01CSFNUU1RTKSkpICE9IDB4MDApIHsKLQkJZGV2X2RiZygmSTgwMV9kZXYtPmRldiwgIlNNQnVzIGJ1c3kgKCUwMngpLiBSZXNldHRpbmcuLi5cbiIsCi0JCQl0ZW1wKTsKLQkJb3V0Yl9wKHRlbXAsIFNNQkhTVFNUUyk7Ci0JCWlmICgodGVtcCA9ICgweDFmICYgaW5iX3AoU01CSFNUU1RTKSkpICE9IDB4MDApIHsKLQkJCWRldl9kYmcoJkk4MDFfZGV2LT5kZXYsICJGYWlsZWQhICglMDJ4KVxuIiwgdGVtcCk7Ci0JCQlyZXR1cm4gLTE7Ci0JCX0gZWxzZSB7Ci0JCQlkZXZfZGJnKCZJODAxX2Rldi0+ZGV2LCAiU3VjY2Vzc2Z1bCFcbiIpOworCXN0YXR1cyAmPSBTVEFUVVNfRkxBR1M7CisJaWYgKHN0YXR1cykgeworCQlkZXZfZGJnKCZJODAxX2Rldi0+ZGV2LCAiQ2xlYXJpbmcgc3RhdHVzIGZsYWdzICglMDJ4KVxuIiwKKwkJCXN0YXR1cyk7CisJCW91dGJfcChzdGF0dXMsIFNNQkhTVFNUUyk7CisJCXN0YXR1cyA9IGluYl9wKFNNQkhTVFNUUykgJiBTVEFUVVNfRkxBR1M7CisJCWlmIChzdGF0dXMpIHsKKwkJCWRldl9lcnIoJkk4MDFfZGV2LT5kZXYsCisJCQkJIkZhaWxlZCBjbGVhcmluZyBzdGF0dXMgZmxhZ3MgKCUwMngpXG4iLAorCQkJCXN0YXR1cyk7CisJCQlyZXR1cm4gLUVCVVNZOwogCQl9CiAJfQogCisJcmV0dXJuIDA7Cit9CisKKy8qIENvbnZlcnQgdGhlIHN0YXR1cyByZWdpc3RlciB0byBhbiBlcnJvciBjb2RlLCBhbmQgY2xlYXIgaXQuICovCitzdGF0aWMgaW50IGk4MDFfY2hlY2tfcG9zdChpbnQgc3RhdHVzLCBpbnQgdGltZW91dCkKK3sKKwlpbnQgcmVzdWx0ID0gMDsKKworCS8qIElmIHRoZSBTTUJ1cyBpcyBzdGlsbCBidXN5LCB3ZSBnaXZlIHVwICovCisJaWYgKHRpbWVvdXQpIHsKKwkJZGV2X2VycigmSTgwMV9kZXYtPmRldiwgIlRyYW5zYWN0aW9uIHRpbWVvdXRcbiIpOworCQkvKiB0cnkgdG8gc3RvcCB0aGUgY3VycmVudCBjb21tYW5kICovCisJCWRldl9kYmcoJkk4MDFfZGV2LT5kZXYsICJUZXJtaW5hdGluZyB0aGUgY3VycmVudCBvcGVyYXRpb25cbiIpOworCQlvdXRiX3AoaW5iX3AoU01CSFNUQ05UKSB8IFNNQkhTVENOVF9LSUxMLCBTTUJIU1RDTlQpOworCQltc2xlZXAoMSk7CisJCW91dGJfcChpbmJfcChTTUJIU1RDTlQpICYgKH5TTUJIU1RDTlRfS0lMTCksIFNNQkhTVENOVCk7CisKKwkJLyogQ2hlY2sgaWYgaXQgd29ya2VkICovCisJCXN0YXR1cyA9IGluYl9wKFNNQkhTVFNUUyk7CisJCWlmICgoc3RhdHVzICYgU01CSFNUU1RTX0hPU1RfQlVTWSkgfHwKKwkJICAgICEoc3RhdHVzICYgU01CSFNUU1RTX0ZBSUxFRCkpCisJCQlkZXZfZXJyKCZJODAxX2Rldi0+ZGV2LAorCQkJCSJGYWlsZWQgdGVybWluYXRpbmcgdGhlIHRyYW5zYWN0aW9uXG4iKTsKKwkJb3V0Yl9wKFNUQVRVU19GTEFHUywgU01CSFNUU1RTKTsKKwkJcmV0dXJuIC1FVElNRURPVVQ7CisJfQorCisJaWYgKHN0YXR1cyAmIFNNQkhTVFNUU19GQUlMRUQpIHsKKwkJcmVzdWx0ID0gLUVJTzsKKwkJZGV2X2VycigmSTgwMV9kZXYtPmRldiwgIlRyYW5zYWN0aW9uIGZhaWxlZFxuIik7CisJfQorCWlmIChzdGF0dXMgJiBTTUJIU1RTVFNfREVWX0VSUikgeworCQlyZXN1bHQgPSAtRU5YSU87CisJCWRldl9kYmcoJkk4MDFfZGV2LT5kZXYsICJObyByZXNwb25zZVxuIik7CisJfQorCWlmIChzdGF0dXMgJiBTTUJIU1RTVFNfQlVTX0VSUikgeworCQlyZXN1bHQgPSAtRUFHQUlOOworCQlkZXZfZGJnKCZJODAxX2Rldi0+ZGV2LCAiTG9zdCBhcmJpdHJhdGlvblxuIik7CisJfQorCisJaWYgKHJlc3VsdCkgeworCQkvKiBDbGVhciBlcnJvciBmbGFncyAqLworCQlvdXRiX3Aoc3RhdHVzICYgU1RBVFVTX0ZMQUdTLCBTTUJIU1RTVFMpOworCQlzdGF0dXMgPSBpbmJfcChTTUJIU1RTVFMpICYgU1RBVFVTX0ZMQUdTOworCQlpZiAoc3RhdHVzKSB7CisJCQlkZXZfd2FybigmSTgwMV9kZXYtPmRldiwgIkZhaWxlZCBjbGVhcmluZyBzdGF0dXMgIgorCQkJCSAiZmxhZ3MgYXQgZW5kIG9mIHRyYW5zYWN0aW9uICglMDJ4KVxuIiwKKwkJCQkgc3RhdHVzKTsKKwkJfQorCX0KKworCXJldHVybiByZXN1bHQ7Cit9CisKK3N0YXRpYyBpbnQgaTgwMV90cmFuc2FjdGlvbihpbnQgeGFjdCkKK3sKKwlpbnQgc3RhdHVzOworCWludCByZXN1bHQ7CisJaW50IHRpbWVvdXQgPSAwOworCisJcmVzdWx0ID0gaTgwMV9jaGVja19wcmUoKTsKKwlpZiAocmVzdWx0IDwgMCkKKwkJcmV0dXJuIHJlc3VsdDsKKwogCS8qIHRoZSBjdXJyZW50IGNvbnRlbnRzIG9mIFNNQkhTVENOVCBjYW4gYmUgb3ZlcndyaXR0ZW4sIHNpbmNlIFBFQywKIAkgKiBJTlRSRU4sIFNNQlNDTUQgYXJlIHBhc3NlZCBpbiB4YWN0ICovCiAJb3V0Yl9wKHhhY3QgfCBJODAxX1NUQVJULCBTTUJIU1RDTlQpOwpAQCAtMTY0LDczICsyMzIsNDAgQEAKIAkvKiBXZSB3aWxsIGFsd2F5cyB3YWl0IGZvciBhIGZyYWN0aW9uIG9mIGEgc2Vjb25kISAqLwogCWRvIHsKIAkJbXNsZWVwKDEpOwotCQl0ZW1wID0gaW5iX3AoU01CSFNUU1RTKTsKLQl9IHdoaWxlICgodGVtcCAmIFNNQkhTVFNUU19IT1NUX0JVU1kpICYmICh0aW1lb3V0KysgPCBNQVhfVElNRU9VVCkpOworCQlzdGF0dXMgPSBpbmJfcChTTUJIU1RTVFMpOworCX0gd2hpbGUgKChzdGF0dXMgJiBTTUJIU1RTVFNfSE9TVF9CVVNZKSAmJiAodGltZW91dCsrIDwgTUFYX1RJTUVPVVQpKTsKIAotCS8qIElmIHRoZSBTTUJ1cyBpcyBzdGlsbCBidXN5LCB3ZSBnaXZlIHVwICovCi0JaWYgKHRpbWVvdXQgPj0gTUFYX1RJTUVPVVQpIHsKLQkJZGV2X2RiZygmSTgwMV9kZXYtPmRldiwgIlNNQnVzIFRpbWVvdXQhXG4iKTsKLQkJcmVzdWx0ID0gLTE7Ci0JCS8qIHRyeSB0byBzdG9wIHRoZSBjdXJyZW50IGNvbW1hbmQgKi8KLQkJZGV2X2RiZygmSTgwMV9kZXYtPmRldiwgIlRlcm1pbmF0aW5nIHRoZSBjdXJyZW50IG9wZXJhdGlvblxuIik7Ci0JCW91dGJfcChpbmJfcChTTUJIU1RDTlQpIHwgU01CSFNUQ05UX0tJTEwsIFNNQkhTVENOVCk7Ci0JCW1zbGVlcCgxKTsKLQkJb3V0Yl9wKGluYl9wKFNNQkhTVENOVCkgJiAoflNNQkhTVENOVF9LSUxMKSwgU01CSFNUQ05UKTsKLQl9CisJcmVzdWx0ID0gaTgwMV9jaGVja19wb3N0KHN0YXR1cywgdGltZW91dCA+PSBNQVhfVElNRU9VVCk7CisJaWYgKHJlc3VsdCA8IDApCisJCXJldHVybiByZXN1bHQ7CiAKLQlpZiAodGVtcCAmIFNNQkhTVFNUU19GQUlMRUQpIHsKLQkJcmVzdWx0ID0gLTE7Ci0JCWRldl9kYmcoJkk4MDFfZGV2LT5kZXYsICJFcnJvcjogRmFpbGVkIGJ1cyB0cmFuc2FjdGlvblxuIik7Ci0JfQotCi0JaWYgKHRlbXAgJiBTTUJIU1RTVFNfQlVTX0VSUikgewotCQlyZXN1bHQgPSAtMTsKLQkJZGV2X2VycigmSTgwMV9kZXYtPmRldiwgIkJ1cyBjb2xsaXNpb24hIFNNQnVzIG1heSBiZSBsb2NrZWQgIgotCQkJInVudGlsIG5leHQgaGFyZCByZXNldC4gKHNvcnJ5ISlcbiIpOwotCQkvKiBDbG9jayBzdG9wcyBhbmQgc2xhdmUgaXMgc3R1Y2sgaW4gbWlkLXRyYW5zbWlzc2lvbiAqLwotCX0KLQotCWlmICh0ZW1wICYgU01CSFNUU1RTX0RFVl9FUlIpIHsKLQkJcmVzdWx0ID0gLTE7Ci0JCWRldl9kYmcoJkk4MDFfZGV2LT5kZXYsICJFcnJvcjogbm8gcmVzcG9uc2UhXG4iKTsKLQl9Ci0KLQlpZiAoKGluYl9wKFNNQkhTVFNUUykgJiAweDFmKSAhPSAweDAwKQotCQlvdXRiX3AoaW5iKFNNQkhTVFNUUyksIFNNQkhTVFNUUyk7Ci0KLQlpZiAoKHRlbXAgPSAoMHgxZiAmIGluYl9wKFNNQkhTVFNUUykpKSAhPSAweDAwKSB7Ci0JCWRldl9kYmcoJkk4MDFfZGV2LT5kZXYsICJGYWlsZWQgcmVzZXQgYXQgZW5kIG9mIHRyYW5zYWN0aW9uICIKLQkJCSIoJTAyeClcbiIsIHRlbXApOwotCX0KLQlkZXZfZGJnKCZJODAxX2Rldi0+ZGV2LCAiVHJhbnNhY3Rpb24gKHBvc3QpOiBDTlQ9JTAyeCwgQ01EPSUwMngsICIKLQkJIkFERD0lMDJ4LCBEQVQwPSUwMngsIERBVDE9JTAyeFxuIiwgaW5iX3AoU01CSFNUQ05UKSwKLQkJaW5iX3AoU01CSFNUQ01EKSwgaW5iX3AoU01CSFNUQUREKSwgaW5iX3AoU01CSFNUREFUMCksCi0JCWluYl9wKFNNQkhTVERBVDEpKTsKLQlyZXR1cm4gcmVzdWx0OworCW91dGJfcChTTUJIU1RTVFNfSU5UUiwgU01CSFNUU1RTKTsKKwlyZXR1cm4gMDsKIH0KIAogLyogd2FpdCBmb3IgSU5UUiBiaXQgYXMgYWR2aXNlZCBieSBJbnRlbCAqLwogc3RhdGljIHZvaWQgaTgwMV93YWl0X2h3cGVjKHZvaWQpCiB7CiAJaW50IHRpbWVvdXQgPSAwOwotCWludCB0ZW1wOworCWludCBzdGF0dXM7CiAKIAlkbyB7CiAJCW1zbGVlcCgxKTsKLQkJdGVtcCA9IGluYl9wKFNNQkhTVFNUUyk7Ci0JfSB3aGlsZSAoKCEodGVtcCAmIFNNQkhTVFNUU19JTlRSKSkKKwkJc3RhdHVzID0gaW5iX3AoU01CSFNUU1RTKTsKKwl9IHdoaWxlICgoIShzdGF0dXMgJiBTTUJIU1RTVFNfSU5UUikpCiAJCSAmJiAodGltZW91dCsrIDwgTUFYX1RJTUVPVVQpKTsKIAogCWlmICh0aW1lb3V0ID49IE1BWF9USU1FT1VUKSB7CiAJCWRldl9kYmcoJkk4MDFfZGV2LT5kZXYsICJQRUMgVGltZW91dCFcbiIpOwogCX0KLQlvdXRiX3AodGVtcCwgU01CSFNUU1RTKTsKKwlvdXRiX3Aoc3RhdHVzLCBTTUJIU1RTVFMpOwogfQogCiBzdGF0aWMgaW50IGk4MDFfYmxvY2tfdHJhbnNhY3Rpb25fYnlfYmxvY2sodW5pb24gaTJjX3NtYnVzX2RhdGEgKmRhdGEsCiAJCQkJCSAgIGNoYXIgcmVhZF93cml0ZSwgaW50IGh3cGVjKQogewogCWludCBpLCBsZW47CisJaW50IHN0YXR1czsKIAogCWluYl9wKFNNQkhTVENOVCk7IC8qIHJlc2V0IHRoZSBkYXRhIGJ1ZmZlciBpbmRleCAqLwogCkBAIC0yNDIsMTQgKzI3NywxNSBAQAogCQkJb3V0Yl9wKGRhdGEtPmJsb2NrW2krMV0sIFNNQkJMS0RBVCk7CiAJfQogCi0JaWYgKGk4MDFfdHJhbnNhY3Rpb24oSTgwMV9CTE9DS19EQVRBIHwgRU5BQkxFX0lOVDkgfAotCQkJICAgICBJODAxX1BFQ19FTiAqIGh3cGVjKSkKLQkJcmV0dXJuIC0xOworCXN0YXR1cyA9IGk4MDFfdHJhbnNhY3Rpb24oSTgwMV9CTE9DS19EQVRBIHwgRU5BQkxFX0lOVDkgfAorCQkJCSAgSTgwMV9QRUNfRU4gKiBod3BlYyk7CisJaWYgKHN0YXR1cykKKwkJcmV0dXJuIHN0YXR1czsKIAogCWlmIChyZWFkX3dyaXRlID09IEkyQ19TTUJVU19SRUFEKSB7CiAJCWxlbiA9IGluYl9wKFNNQkhTVERBVDApOwogCQlpZiAobGVuIDwgMSB8fCBsZW4gPiBJMkNfU01CVVNfQkxPQ0tfTUFYKQotCQkJcmV0dXJuIC0xOworCQkJcmV0dXJuIC1FUFJPVE87CiAKIAkJZGF0YS0+YmxvY2tbMF0gPSBsZW47CiAJCWZvciAoaSA9IDA7IGkgPCBsZW47IGkrKykKQEAgLTI2NCwxMCArMzAwLDEzIEBACiB7CiAJaW50IGksIGxlbjsKIAlpbnQgc21iY21kOwotCWludCB0ZW1wOwotCWludCByZXN1bHQgPSAwOworCWludCBzdGF0dXM7CisJaW50IHJlc3VsdDsKIAlpbnQgdGltZW91dDsKLQl1bnNpZ25lZCBjaGFyIGVycm1hc2s7CisKKwlyZXN1bHQgPSBpODAxX2NoZWNrX3ByZSgpOworCWlmIChyZXN1bHQgPCAwKQorCQlyZXR1cm4gcmVzdWx0OwogCiAJbGVuID0gZGF0YS0+YmxvY2tbMF07CiAKQEAgLTI5MSwzNiArMzMwLDYgQEAKIAkJfQogCQlvdXRiX3Aoc21iY21kIHwgRU5BQkxFX0lOVDksIFNNQkhTVENOVCk7CiAKLQkJZGV2X2RiZygmSTgwMV9kZXYtPmRldiwgIkJsb2NrIChwcmUgJWQpOiBDTlQ9JTAyeCwgQ01EPSUwMngsICIKLQkJCSJBREQ9JTAyeCwgREFUMD0lMDJ4LCBEQVQxPSUwMngsIEJMS0RBVD0lMDJ4XG4iLCBpLAotCQkJaW5iX3AoU01CSFNUQ05UKSwgaW5iX3AoU01CSFNUQ01EKSwgaW5iX3AoU01CSFNUQUREKSwKLQkJCWluYl9wKFNNQkhTVERBVDApLCBpbmJfcChTTUJIU1REQVQxKSwgaW5iX3AoU01CQkxLREFUKSk7Ci0KLQkJLyogTWFrZSBzdXJlIHRoZSBTTUJ1cyBob3N0IGlzIHJlYWR5IHRvIHN0YXJ0IHRyYW5zbWl0dGluZyAqLwotCQl0ZW1wID0gaW5iX3AoU01CSFNUU1RTKTsKLQkJaWYgKGkgPT0gMSkgewotCQkJLyogRXJyb25lb3VzIGNvbmRpdGlvbnMgYmVmb3JlIHRyYW5zYWN0aW9uOgotCQkJICogQnl0ZV9Eb25lLCBGYWlsZWQsIEJ1c19FcnIsIERldl9FcnIsIEludHIsIEhvc3RfQnVzeSAqLwotCQkJZXJybWFzayA9IDB4OWY7Ci0JCX0gZWxzZSB7Ci0JCQkvKiBFcnJvbmVvdXMgY29uZGl0aW9ucyBkdXJpbmcgdHJhbnNhY3Rpb246Ci0JCQkgKiBGYWlsZWQsIEJ1c19FcnIsIERldl9FcnIsIEludHIgKi8KLQkJCWVycm1hc2sgPSAweDFlOwotCQl9Ci0JCWlmICh0ZW1wICYgZXJybWFzaykgewotCQkJZGV2X2RiZygmSTgwMV9kZXYtPmRldiwgIlNNQnVzIGJ1c3kgKCUwMngpLiAiCi0JCQkJIlJlc2V0dGluZy4uLlxuIiwgdGVtcCk7Ci0JCQlvdXRiX3AodGVtcCwgU01CSFNUU1RTKTsKLQkJCWlmICgoKHRlbXAgPSBpbmJfcChTTUJIU1RTVFMpKSAmIGVycm1hc2spICE9IDB4MDApIHsKLQkJCQlkZXZfZXJyKCZJODAxX2Rldi0+ZGV2LAotCQkJCQkiUmVzZXQgZmFpbGVkISAoJTAyeClcbiIsIHRlbXApOwotCQkJCXJldHVybiAtMTsKLQkJCX0KLQkJCWlmIChpICE9IDEpCi0JCQkJLyogaWYgZGllIGluIG1pZGRsZSBvZiBibG9jayB0cmFuc2FjdGlvbiwgZmFpbCAqLwotCQkJCXJldHVybiAtMTsKLQkJfQotCiAJCWlmIChpID09IDEpCiAJCQlvdXRiX3AoaW5iKFNNQkhTVENOVCkgfCBJODAxX1NUQVJULCBTTUJIU1RDTlQpOwogCkBAIC0zMjgsNDEgKzMzNywyOCBAQAogCQl0aW1lb3V0ID0gMDsKIAkJZG8gewogCQkJbXNsZWVwKDEpOwotCQkJdGVtcCA9IGluYl9wKFNNQkhTVFNUUyk7CisJCQlzdGF0dXMgPSBpbmJfcChTTUJIU1RTVFMpOwogCQl9Ci0JCXdoaWxlICgoISh0ZW1wICYgU01CSFNUU1RTX0JZVEVfRE9ORSkpCisJCXdoaWxlICgoIShzdGF0dXMgJiBTTUJIU1RTVFNfQllURV9ET05FKSkKIAkJICAgICAgICYmICh0aW1lb3V0KysgPCBNQVhfVElNRU9VVCkpOwogCi0JCS8qIElmIHRoZSBTTUJ1cyBpcyBzdGlsbCBidXN5LCB3ZSBnaXZlIHVwICovCi0JCWlmICh0aW1lb3V0ID49IE1BWF9USU1FT1VUKSB7Ci0JCQkvKiB0cnkgdG8gc3RvcCB0aGUgY3VycmVudCBjb21tYW5kICovCi0JCQlkZXZfZGJnKCZJODAxX2Rldi0+ZGV2LCAiVGVybWluYXRpbmcgdGhlIGN1cnJlbnQgIgotCQkJCQkJIm9wZXJhdGlvblxuIik7Ci0JCQlvdXRiX3AoaW5iX3AoU01CSFNUQ05UKSB8IFNNQkhTVENOVF9LSUxMLCBTTUJIU1RDTlQpOwotCQkJbXNsZWVwKDEpOwotCQkJb3V0Yl9wKGluYl9wKFNNQkhTVENOVCkgJiAoflNNQkhTVENOVF9LSUxMKSwKLQkJCQlTTUJIU1RDTlQpOwotCQkJcmVzdWx0ID0gLTE7Ci0JCQlkZXZfZGJnKCZJODAxX2Rldi0+ZGV2LCAiU01CdXMgVGltZW91dCFcbiIpOwotCQl9Ci0KLQkJaWYgKHRlbXAgJiBTTUJIU1RTVFNfRkFJTEVEKSB7Ci0JCQlyZXN1bHQgPSAtMTsKLQkJCWRldl9kYmcoJkk4MDFfZGV2LT5kZXYsCi0JCQkJIkVycm9yOiBGYWlsZWQgYnVzIHRyYW5zYWN0aW9uXG4iKTsKLQkJfSBlbHNlIGlmICh0ZW1wICYgU01CSFNUU1RTX0JVU19FUlIpIHsKLQkJCXJlc3VsdCA9IC0xOwotCQkJZGV2X2VycigmSTgwMV9kZXYtPmRldiwgIkJ1cyBjb2xsaXNpb24hXG4iKTsKLQkJfSBlbHNlIGlmICh0ZW1wICYgU01CSFNUU1RTX0RFVl9FUlIpIHsKLQkJCXJlc3VsdCA9IC0xOwotCQkJZGV2X2RiZygmSTgwMV9kZXYtPmRldiwgIkVycm9yOiBubyByZXNwb25zZSFcbiIpOwotCQl9CisJCXJlc3VsdCA9IGk4MDFfY2hlY2tfcG9zdChzdGF0dXMsIHRpbWVvdXQgPj0gTUFYX1RJTUVPVVQpOworCQlpZiAocmVzdWx0IDwgMCkKKwkJCXJldHVybiByZXN1bHQ7CiAKIAkJaWYgKGkgPT0gMSAmJiByZWFkX3dyaXRlID09IEkyQ19TTUJVU19SRUFECiAJCSAmJiBjb21tYW5kICE9IEkyQ19TTUJVU19JMkNfQkxPQ0tfREFUQSkgewogCQkJbGVuID0gaW5iX3AoU01CSFNUREFUMCk7Ci0JCQlpZiAobGVuIDwgMSB8fCBsZW4gPiBJMkNfU01CVVNfQkxPQ0tfTUFYKQotCQkJCXJldHVybiAtMTsKKwkJCWlmIChsZW4gPCAxIHx8IGxlbiA+IEkyQ19TTUJVU19CTE9DS19NQVgpIHsKKwkJCQlkZXZfZXJyKCZJODAxX2Rldi0+ZGV2LAorCQkJCQkiSWxsZWdhbCBTTUJ1cyBibG9jayByZWFkIHNpemUgJWRcbiIsCisJCQkJCWxlbik7CisJCQkJLyogUmVjb3ZlciAqLworCQkJCXdoaWxlIChpbmJfcChTTUJIU1RTVFMpICYgU01CSFNUU1RTX0hPU1RfQlVTWSkKKwkJCQkJb3V0Yl9wKFNNQkhTVFNUU19CWVRFX0RPTkUsIFNNQkhTVFNUUyk7CisJCQkJb3V0Yl9wKFNNQkhTVFNUU19JTlRSLCBTTUJIU1RTVFMpOworCQkJCXJldHVybiAtRVBST1RPOworCQkJfQogCQkJZGF0YS0+YmxvY2tbMF0gPSBsZW47CiAJCX0KIApAQCAtMzcxLDMwICszNjcsMTkgQEAKIAkJCWRhdGEtPmJsb2NrW2ldID0gaW5iX3AoU01CQkxLREFUKTsKIAkJaWYgKHJlYWRfd3JpdGUgPT0gSTJDX1NNQlVTX1dSSVRFICYmIGkrMSA8PSBsZW4pCiAJCQlvdXRiX3AoZGF0YS0+YmxvY2tbaSsxXSwgU01CQkxLREFUKTsKLQkJaWYgKCh0ZW1wICYgMHg5ZSkgIT0gMHgwMCkKLQkJCW91dGJfcCh0ZW1wLCBTTUJIU1RTVFMpOyAgLyogc2lnbmFscyBTTUJCTEtEQVQgcmVhZHkgKi8KIAotCQlpZiAoKHRlbXAgPSAoMHgxZSAmIGluYl9wKFNNQkhTVFNUUykpKSAhPSAweDAwKSB7Ci0JCQlkZXZfZGJnKCZJODAxX2Rldi0+ZGV2LAotCQkJCSJCYWQgc3RhdHVzICglMDJ4KSBhdCBlbmQgb2YgdHJhbnNhY3Rpb25cbiIsCi0JCQkJdGVtcCk7Ci0JCX0KLQkJZGV2X2RiZygmSTgwMV9kZXYtPmRldiwgIkJsb2NrIChwb3N0ICVkKTogQ05UPSUwMngsIENNRD0lMDJ4LCAiCi0JCQkiQUREPSUwMngsIERBVDA9JTAyeCwgREFUMT0lMDJ4LCBCTEtEQVQ9JTAyeFxuIiwgaSwKLQkJCWluYl9wKFNNQkhTVENOVCksIGluYl9wKFNNQkhTVENNRCksIGluYl9wKFNNQkhTVEFERCksCi0JCQlpbmJfcChTTUJIU1REQVQwKSwgaW5iX3AoU01CSFNUREFUMSksIGluYl9wKFNNQkJMS0RBVCkpOwotCi0JCWlmIChyZXN1bHQgPCAwKQotCQkJcmV0dXJuIHJlc3VsdDsKKwkJLyogc2lnbmFscyBTTUJCTEtEQVQgcmVhZHkgKi8KKwkJb3V0Yl9wKFNNQkhTVFNUU19CWVRFX0RPTkUgfCBTTUJIU1RTVFNfSU5UUiwgU01CSFNUU1RTKTsKIAl9Ci0JcmV0dXJuIHJlc3VsdDsKKworCXJldHVybiAwOwogfQogCiBzdGF0aWMgaW50IGk4MDFfc2V0X2Jsb2NrX2J1ZmZlcl9tb2RlKHZvaWQpCiB7CiAJb3V0Yl9wKGluYl9wKFNNQkFVWENUTCkgfCBTTUJBVVhDVExfRTMyQiwgU01CQVVYQ1RMKTsKIAlpZiAoKGluYl9wKFNNQkFVWENUTCkgJiBTTUJBVVhDVExfRTMyQikgPT0gMCkKLQkJcmV0dXJuIC0xOworCQlyZXR1cm4gLUVJTzsKIAlyZXR1cm4gMDsKIH0KIApAQCAtNDE0LDcgKzM5OSw3IEBACiAJCX0gZWxzZSBpZiAoIShpODAxX2ZlYXR1cmVzICYgRkVBVFVSRV9JMkNfQkxPQ0tfUkVBRCkpIHsKIAkJCWRldl9lcnIoJkk4MDFfZGV2LT5kZXYsCiAJCQkJIkkyQyBibG9jayByZWFkIGlzIHVuc3VwcG9ydGVkIVxuIik7Ci0JCQlyZXR1cm4gLTE7CisJCQlyZXR1cm4gLUVPUE5PVFNVUFA7CiAJCX0KIAl9CiAKQEAgLTQ0OSw3ICs0MzQsNyBAQAogCXJldHVybiByZXN1bHQ7CiB9CiAKLS8qIFJldHVybiAtMSBvbiBlcnJvci4gKi8KKy8qIFJldHVybiBuZWdhdGl2ZSBlcnJubyBvbiBlcnJvci4gKi8KIHN0YXRpYyBzMzIgaTgwMV9hY2Nlc3Moc3RydWN0IGkyY19hZGFwdGVyICogYWRhcCwgdTE2IGFkZHIsCiAJCSAgICAgICB1bnNpZ25lZCBzaG9ydCBmbGFncywgY2hhciByZWFkX3dyaXRlLCB1OCBjb21tYW5kLAogCQkgICAgICAgaW50IHNpemUsIHVuaW9uIGkyY19zbWJ1c19kYXRhICogZGF0YSkKQEAgLTUxMSwxMCArNDk2LDkgQEAKIAkJCW91dGJfcChjb21tYW5kLCBTTUJIU1RDTUQpOwogCQlibG9jayA9IDE7CiAJCWJyZWFrOwotCWNhc2UgSTJDX1NNQlVTX1BST0NfQ0FMTDoKIAlkZWZhdWx0OgogCQlkZXZfZXJyKCZJODAxX2Rldi0+ZGV2LCAiVW5zdXBwb3J0ZWQgdHJhbnNhY3Rpb24gJWRcbiIsIHNpemUpOwotCQlyZXR1cm4gLTE7CisJCXJldHVybiAtRU9QTk9UU1VQUDsKIAl9CiAKIAlpZiAoaHdwZWMpCS8qIGVuYWJsZS9kaXNhYmxlIGhhcmR3YXJlIFBFQyAqLwpAQCAtNTM3LDcgKzUyMSw3IEBACiAJaWYoYmxvY2spCiAJCXJldHVybiByZXQ7CiAJaWYocmV0KQotCQlyZXR1cm4gLTE7CisJCXJldHVybiByZXQ7CiAJaWYgKChyZWFkX3dyaXRlID09IEkyQ19TTUJVU19XUklURSkgfHwgKHhhY3QgPT0gSTgwMV9RVUlDSykpCiAJCXJldHVybiAwOwogCkBAIC01NzIsNyArNTU2LDcgQEAKIHN0YXRpYyBzdHJ1Y3QgaTJjX2FkYXB0ZXIgaTgwMV9hZGFwdGVyID0gewogCS5vd25lcgkJPSBUSElTX01PRFVMRSwKIAkuaWQJCT0gSTJDX0hXX1NNQlVTX0k4MDEsCi0JLmNsYXNzCQk9IEkyQ19DTEFTU19IV01PTiwKKwkuY2xhc3MJCT0gSTJDX0NMQVNTX0hXTU9OIHwgSTJDX0NMQVNTX1NQRCwKIAkuYWxnbwkJPSAmc21idXNfYWxnb3JpdGhtLAogfTsKIApAQCAtNjM5LDYgKzYyMywxMCBAQAogCQlnb3RvIGV4aXQ7CiAJfQogCisJZXJyID0gYWNwaV9jaGVja19yZXNvdXJjZV9jb25mbGljdCgmZGV2LT5yZXNvdXJjZVtTTUJCQVJdKTsKKwlpZiAoZXJyKQorCQlnb3RvIGV4aXQ7CisKIAllcnIgPSBwY2lfcmVxdWVzdF9yZWdpb24oZGV2LCBTTUJCQVIsIGk4MDFfZHJpdmVyLm5hbWUpOwogCWlmIChlcnIpIHsKIAkJZGV2X2VycigmZGV2LT5kZXYsICJGYWlsZWQgdG8gcmVxdWVzdCBTTUJ1cyByZWdpb24gIgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1pODEwLmMgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWk4MTAuYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDJlOGQ5NC4uMDAwMDAwMAotLS0gYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWk4MTAuYworKysgL2Rldi9udWxsCkBAIC0xLDI2MCArMCwwIEBACi0vKgotICAgIGkyYy1pODEwLmMgLSBQYXJ0IG9mIGxtX3NlbnNvcnMsIExpbnV4IGtlcm5lbCBtb2R1bGVzIGZvciBoYXJkd2FyZQotICAgICAgICAgICAgICBtb25pdG9yaW5nCi0gICAgQ29weXJpZ2h0IChjKSAxOTk4LCAxOTk5LCAyMDAwICBGcm9kbyBMb29pamFhcmQgPGZyb2RvbEBkZHMubmw+LAotICAgIFBoaWxpcCBFZGVsYnJvY2sgPHBoaWxAbmV0cm9lZGdlLmNvbT4sCi0gICAgUmFscGggTWV0emxlciA8cmprbUB0aHAudW5pLWtvZWxuLmRlPiwgYW5kCi0gICAgTWFyayBELiBTdHVkZWJha2VyIDxtZHN4eXoxMjNAeWFob28uY29tPgotICAgIAotICAgIEJhc2VkIG9uIGNvZGUgd3JpdHRlbiBieSBSYWxwaCBNZXR6bGVyIDxyamttQHRocC51bmkta29lbG4uZGU+IGFuZAotICAgIFNpbW9uIFZvZ2wKLQotICAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0gICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLSAgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgotICAgIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0KLSAgICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKLSAgICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotCi0gICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSAgICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQotICAgIEZvdW5kYXRpb24sIEluYy4sIDY3NSBNYXNzIEF2ZSwgQ2FtYnJpZGdlLCBNQSAwMjEzOSwgVVNBLgotKi8KLS8qCi0gICBUaGlzIGludGVyZmFjZXMgdG8gdGhlIEk4MTAvSTgxNSB0byBwcm92aWRlIGFjY2VzcyB0bwotICAgdGhlIEREQyBCdXMgYW5kIHRoZSBJMkMgQnVzLgotCi0gICBTVVBQT1JURUQgREVWSUNFUwlQQ0kgSUQKLSAgIGk4MTBBQQkJNzEyMSAgICAgICAgICAgCi0gICBpODEwQUIJCTcxMjMgICAgICAgICAgIAotICAgaTgxMEUJCTcxMjUgICAgICAgICAgIAotICAgaTgxNQkJCTExMzIgICAgICAgICAgIAotICAgaTg0NUcJCTI1NjIKLSovCi0KLSNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KLSNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KLSNpbmNsdWRlIDxsaW51eC9pbml0Lmg+Ci0jaW5jbHVkZSA8bGludXgvcGNpLmg+Ci0jaW5jbHVkZSA8bGludXgvaTJjLmg+Ci0jaW5jbHVkZSA8bGludXgvaTJjLWFsZ28tYml0Lmg+Ci0jaW5jbHVkZSA8YXNtL2lvLmg+Ci0KLS8qIEdQSU8gcmVnaXN0ZXIgbG9jYXRpb25zICovCi0jZGVmaW5lIEk4MTBfSU9DT05UUk9MX09GRlNFVAkweDUwMDAKLSNkZWZpbmUgSTgxMF9IVlNZTkMJCTB4MDAJLyogbm90IHVzZWQgKi8KLSNkZWZpbmUgSTgxMF9HUElPQQkJMHgxMAotI2RlZmluZSBJODEwX0dQSU9CCQkweDE0Ci0KLS8qIGJpdCBsb2NhdGlvbnMgaW4gdGhlIHJlZ2lzdGVycyAqLwotI2RlZmluZSBTQ0xfRElSX01BU0sJCTB4MDAwMQotI2RlZmluZSBTQ0xfRElSCQkJMHgwMDAyCi0jZGVmaW5lIFNDTF9WQUxfTUFTSwkJMHgwMDA0Ci0jZGVmaW5lIFNDTF9WQUxfT1VUCQkweDAwMDgKLSNkZWZpbmUgU0NMX1ZBTF9JTgkJMHgwMDEwCi0jZGVmaW5lIFNEQV9ESVJfTUFTSwkJMHgwMTAwCi0jZGVmaW5lIFNEQV9ESVIJCQkweDAyMDAKLSNkZWZpbmUgU0RBX1ZBTF9NQVNLCQkweDA0MDAKLSNkZWZpbmUgU0RBX1ZBTF9PVVQJCTB4MDgwMAotI2RlZmluZSBTREFfVkFMX0lOCQkweDEwMDAKLQotLyogaW5pdGlhbGl6YXRpb24gc3RhdGVzICovCi0jZGVmaW5lIElOSVQxCQkJMHgxCi0jZGVmaW5lIElOSVQyCQkJMHgyCi0jZGVmaW5lIElOSVQzCQkJMHg0Ci0KLS8qIGRlbGF5cyAqLwotI2RlZmluZSBDWUNMRV9ERUxBWQkJMTAKLSNkZWZpbmUgVElNRU9VVAkJCShIWiAvIDIpCi0KLXN0YXRpYyB2b2lkIF9faW9tZW0gKmlvYWRkcjsKLQotLyogVGhlIGk4MTAgR1BJTyByZWdpc3RlcnMgaGF2ZSBpbmRpdmlkdWFsIG1hc2tzIGZvciBlYWNoIGJpdAotICAgc28gd2UgbmV2ZXIgaGF2ZSB0byByZWFkIGJlZm9yZSB3cml0aW5nLiBOaWNlLiAqLwotCi1zdGF0aWMgdm9pZCBiaXRfaTgxMGkyY19zZXRzY2wodm9pZCAqZGF0YSwgaW50IHZhbCkKLXsKLQl3cml0ZWwoKHZhbCA/IFNDTF9WQUxfT1VUIDogMCkgfCBTQ0xfRElSIHwgU0NMX0RJUl9NQVNLIHwgU0NMX1ZBTF9NQVNLLAotCSAgICAgaW9hZGRyICsgSTgxMF9HUElPQik7Ci0JcmVhZGwoaW9hZGRyICsgSTgxMF9HUElPQik7CS8qIGZsdXNoIHBvc3RlZCB3cml0ZSAqLwotfQotCi1zdGF0aWMgdm9pZCBiaXRfaTgxMGkyY19zZXRzZGEodm9pZCAqZGF0YSwgaW50IHZhbCkKLXsKLSAJd3JpdGVsKCh2YWwgPyBTREFfVkFMX09VVCA6IDApIHwgU0RBX0RJUiB8IFNEQV9ESVJfTUFTSyB8IFNEQV9WQUxfTUFTSywKLQkgICAgIGlvYWRkciArIEk4MTBfR1BJT0IpOwotCXJlYWRsKGlvYWRkciArIEk4MTBfR1BJT0IpOwkvKiBmbHVzaCBwb3N0ZWQgd3JpdGUgKi8KLX0KLQotLyogVGhlIEdQSU8gcGlucyBhcmUgb3BlbiBkcmFpbiwgc28gdGhlIHBpbnMgY291bGQgYWx3YXlzIHJlbWFpbiBvdXRwdXRzLgotICAgSG93ZXZlciwgc29tZSBjaGlwIHZlcnNpb25zIGRvbid0IGxhdGNoIHRoZSBpbnB1dHMgdW5sZXNzIHRoZXkKLSAgIGFyZSBzZXQgYXMgaW5wdXRzLgotICAgV2UgcmVseSBvbiB0aGUgaTJjLWFsZ28tYml0IHJvdXRpbmVzIHRvIHNldCB0aGUgcGlucyBoaWdoIGJlZm9yZQotICAgcmVhZGluZyB0aGUgaW5wdXQgZnJvbSBvdGhlciBjaGlwcy4gRm9sbG93aW5nIGd1aWRhbmNlIGluIHRoZSA4MTUKLSAgIHByb2cuIHJlZi4gZ3VpZGUsIHdlIGRvIGEgImR1bW15IHdyaXRlIiBvZiAwIHRvIHRoZSByZWdpc3RlciBiZWZvcmUKLSAgIHJlYWRpbmcgd2hpY2ggZm9yY2VzIHRoZSBpbnB1dCB2YWx1ZSB0byBiZSBsYXRjaGVkLiBXZSBwcmVzdW1lIHRoaXMKLSAgIGFwcGxpZXMgdG8gdGhlIDgxMCBhcyB3ZWxsOyBzaG91bGRuJ3QgaHVydCBhbnl3YXkuIFRoaXMgaXMgbmVjZXNzYXJ5IHRvIGdldAotICAgaTJjX2FsZ29fYml0IGJpdF90ZXN0PTEgdG8gcGFzcy4gKi8KLQotc3RhdGljIGludCBiaXRfaTgxMGkyY19nZXRzY2wodm9pZCAqZGF0YSkKLXsKLQl3cml0ZWwoU0NMX0RJUl9NQVNLLCBpb2FkZHIgKyBJODEwX0dQSU9CKTsKLQl3cml0ZWwoMCwgaW9hZGRyICsgSTgxMF9HUElPQik7Ci0JcmV0dXJuICgwICE9IChyZWFkbChpb2FkZHIgKyBJODEwX0dQSU9CKSAmIFNDTF9WQUxfSU4pKTsKLX0KLQotc3RhdGljIGludCBiaXRfaTgxMGkyY19nZXRzZGEodm9pZCAqZGF0YSkKLXsKLQl3cml0ZWwoU0RBX0RJUl9NQVNLLCBpb2FkZHIgKyBJODEwX0dQSU9CKTsKLQl3cml0ZWwoMCwgaW9hZGRyICsgSTgxMF9HUElPQik7Ci0JcmV0dXJuICgwICE9IChyZWFkbChpb2FkZHIgKyBJODEwX0dQSU9CKSAmIFNEQV9WQUxfSU4pKTsKLX0KLQotc3RhdGljIHZvaWQgYml0X2k4MTBkZGNfc2V0c2NsKHZvaWQgKmRhdGEsIGludCB2YWwpCi17Ci0Jd3JpdGVsKCh2YWwgPyBTQ0xfVkFMX09VVCA6IDApIHwgU0NMX0RJUiB8IFNDTF9ESVJfTUFTSyB8IFNDTF9WQUxfTUFTSywKLQkgICAgIGlvYWRkciArIEk4MTBfR1BJT0EpOwotCXJlYWRsKGlvYWRkciArIEk4MTBfR1BJT0EpOwkvKiBmbHVzaCBwb3N0ZWQgd3JpdGUgKi8KLX0KLQotc3RhdGljIHZvaWQgYml0X2k4MTBkZGNfc2V0c2RhKHZvaWQgKmRhdGEsIGludCB2YWwpCi17Ci0gCXdyaXRlbCgodmFsID8gU0RBX1ZBTF9PVVQgOiAwKSB8IFNEQV9ESVIgfCBTREFfRElSX01BU0sgfCBTREFfVkFMX01BU0ssCi0JICAgICBpb2FkZHIgKyBJODEwX0dQSU9BKTsKLQlyZWFkbChpb2FkZHIgKyBJODEwX0dQSU9BKTsJLyogZmx1c2ggcG9zdGVkIHdyaXRlICovCi19Ci0KLXN0YXRpYyBpbnQgYml0X2k4MTBkZGNfZ2V0c2NsKHZvaWQgKmRhdGEpCi17Ci0Jd3JpdGVsKFNDTF9ESVJfTUFTSywgaW9hZGRyICsgSTgxMF9HUElPQSk7Ci0Jd3JpdGVsKDAsIGlvYWRkciArIEk4MTBfR1BJT0EpOwotCXJldHVybiAoMCAhPSAocmVhZGwoaW9hZGRyICsgSTgxMF9HUElPQSkgJiBTQ0xfVkFMX0lOKSk7Ci19Ci0KLXN0YXRpYyBpbnQgYml0X2k4MTBkZGNfZ2V0c2RhKHZvaWQgKmRhdGEpCi17Ci0Jd3JpdGVsKFNEQV9ESVJfTUFTSywgaW9hZGRyICsgSTgxMF9HUElPQSk7Ci0Jd3JpdGVsKDAsIGlvYWRkciArIEk4MTBfR1BJT0EpOwotCXJldHVybiAoMCAhPSAocmVhZGwoaW9hZGRyICsgSTgxMF9HUElPQSkgJiBTREFfVkFMX0lOKSk7Ci19Ci0KLXN0YXRpYyBpbnQgY29uZmlnX2k4MTAoc3RydWN0IHBjaV9kZXYgKmRldikKLXsKLQl1bnNpZ25lZCBsb25nIGNhZHI7Ci0KLQkvKiBtYXAgSTgxMCBtZW1vcnkgKi8KLQljYWRyID0gZGV2LT5yZXNvdXJjZVsxXS5zdGFydDsKLQljYWRyICs9IEk4MTBfSU9DT05UUk9MX09GRlNFVDsKLQljYWRyICY9IFBDSV9CQVNFX0FERFJFU1NfTUVNX01BU0s7Ci0JaW9hZGRyID0gaW9yZW1hcF9ub2NhY2hlKGNhZHIsIDB4MTAwMCk7Ci0JaWYgKGlvYWRkcikgewotCQliaXRfaTgxMGkyY19zZXRzY2woTlVMTCwgMSk7Ci0JCWJpdF9pODEwaTJjX3NldHNkYShOVUxMLCAxKTsKLQkJYml0X2k4MTBkZGNfc2V0c2NsKE5VTEwsIDEpOwotCQliaXRfaTgxMGRkY19zZXRzZGEoTlVMTCwgMSk7Ci0JCXJldHVybiAwOwotCX0KLQlyZXR1cm4gLUVOT0RFVjsKLX0KLQotc3RhdGljIHN0cnVjdCBpMmNfYWxnb19iaXRfZGF0YSBpODEwX2kyY19iaXRfZGF0YSA9IHsKLQkuc2V0c2RhCQk9IGJpdF9pODEwaTJjX3NldHNkYSwKLQkuc2V0c2NsCQk9IGJpdF9pODEwaTJjX3NldHNjbCwKLQkuZ2V0c2RhCQk9IGJpdF9pODEwaTJjX2dldHNkYSwKLQkuZ2V0c2NsCQk9IGJpdF9pODEwaTJjX2dldHNjbCwKLQkudWRlbGF5CQk9IENZQ0xFX0RFTEFZLAotCS50aW1lb3V0CT0gVElNRU9VVCwKLX07Ci0KLXN0YXRpYyBzdHJ1Y3QgaTJjX2FkYXB0ZXIgaTgxMF9pMmNfYWRhcHRlciA9IHsKLQkub3duZXIJCT0gVEhJU19NT0RVTEUsCi0JLmlkCQk9IEkyQ19IV19CX0k4MTAsCi0JLm5hbWUJCT0gIkk4MTAvSTgxNSBJMkMgQWRhcHRlciIsCi0JLmFsZ29fZGF0YQk9ICZpODEwX2kyY19iaXRfZGF0YSwKLX07Ci0KLXN0YXRpYyBzdHJ1Y3QgaTJjX2FsZ29fYml0X2RhdGEgaTgxMF9kZGNfYml0X2RhdGEgPSB7Ci0JLnNldHNkYQkJPSBiaXRfaTgxMGRkY19zZXRzZGEsCi0JLnNldHNjbAkJPSBiaXRfaTgxMGRkY19zZXRzY2wsCi0JLmdldHNkYQkJPSBiaXRfaTgxMGRkY19nZXRzZGEsCi0JLmdldHNjbAkJPSBiaXRfaTgxMGRkY19nZXRzY2wsCi0JLnVkZWxheQkJPSBDWUNMRV9ERUxBWSwKLQkudGltZW91dAk9IFRJTUVPVVQsCi19OwotCi1zdGF0aWMgc3RydWN0IGkyY19hZGFwdGVyIGk4MTBfZGRjX2FkYXB0ZXIgPSB7Ci0JLm93bmVyCQk9IFRISVNfTU9EVUxFLAotCS5pZAkJPSBJMkNfSFdfQl9JODEwLAotCS5uYW1lCQk9ICJJODEwL0k4MTUgRERDIEFkYXB0ZXIiLAotCS5hbGdvX2RhdGEJPSAmaTgxMF9kZGNfYml0X2RhdGEsCi19OwotCi1zdGF0aWMgc3RydWN0IHBjaV9kZXZpY2VfaWQgaTgxMF9pZHNbXSBfX2RldmluaXRkYXRhID0gewotCXsgUENJX0RFVklDRShQQ0lfVkVORE9SX0lEX0lOVEVMLCBQQ0lfREVWSUNFX0lEX0lOVEVMXzgyODEwX0lHMSkgfSwKLQl7IFBDSV9ERVZJQ0UoUENJX1ZFTkRPUl9JRF9JTlRFTCwgUENJX0RFVklDRV9JRF9JTlRFTF84MjgxMF9JRzMpIH0sCi0JeyBQQ0lfREVWSUNFKFBDSV9WRU5ET1JfSURfSU5URUwsIFBDSV9ERVZJQ0VfSURfSU5URUxfODI4MTBFX0lHKSB9LAotCXsgUENJX0RFVklDRShQQ0lfVkVORE9SX0lEX0lOVEVMLCBQQ0lfREVWSUNFX0lEX0lOVEVMXzgyODE1X0NHQykgfSwKLQl7IFBDSV9ERVZJQ0UoUENJX1ZFTkRPUl9JRF9JTlRFTCwgUENJX0RFVklDRV9JRF9JTlRFTF84Mjg0NUdfSUcpIH0sCi0JeyAwLCB9LAotfTsKLQotTU9EVUxFX0RFVklDRV9UQUJMRSAocGNpLCBpODEwX2lkcyk7Ci0KLXN0YXRpYyBpbnQgX19kZXZpbml0IGk4MTBfcHJvYmUoc3RydWN0IHBjaV9kZXYgKmRldiwgY29uc3Qgc3RydWN0IHBjaV9kZXZpY2VfaWQgKmlkKQotewotCWludCByZXR2YWw7Ci0KLQlyZXR2YWwgPSBjb25maWdfaTgxMChkZXYpOwotCWlmIChyZXR2YWwpCi0JCXJldHVybiByZXR2YWw7Ci0JZGV2X2luZm8oJmRldi0+ZGV2LCAiaTgxMC9pODE1IGkyYyBkZXZpY2UgZm91bmQuXG4iKTsKLQotCS8qIHNldCB1cCB0aGUgc3lzZnMgbGlua2FnZSB0byBvdXIgcGFyZW50IGRldmljZSAqLwotCWk4MTBfaTJjX2FkYXB0ZXIuZGV2LnBhcmVudCA9ICZkZXYtPmRldjsKLQlpODEwX2RkY19hZGFwdGVyLmRldi5wYXJlbnQgPSAmZGV2LT5kZXY7Ci0KLQlyZXR2YWwgPSBpMmNfYml0X2FkZF9idXMoJmk4MTBfaTJjX2FkYXB0ZXIpOwotCWlmIChyZXR2YWwpCi0JCXJldHVybiByZXR2YWw7Ci0JcmV0dmFsID0gaTJjX2JpdF9hZGRfYnVzKCZpODEwX2RkY19hZGFwdGVyKTsKLQlpZiAocmV0dmFsKQotCQlpMmNfZGVsX2FkYXB0ZXIoJmk4MTBfaTJjX2FkYXB0ZXIpOwotCXJldHVybiByZXR2YWw7Ci19Ci0KLXN0YXRpYyB2b2lkIF9fZGV2ZXhpdCBpODEwX3JlbW92ZShzdHJ1Y3QgcGNpX2RldiAqZGV2KQotewotCWkyY19kZWxfYWRhcHRlcigmaTgxMF9kZGNfYWRhcHRlcik7Ci0JaTJjX2RlbF9hZGFwdGVyKCZpODEwX2kyY19hZGFwdGVyKTsKLQlpb3VubWFwKGlvYWRkcik7Ci19Ci0KLXN0YXRpYyBzdHJ1Y3QgcGNpX2RyaXZlciBpODEwX2RyaXZlciA9IHsKLQkubmFtZQkJPSAiaTgxMF9zbWJ1cyIsCi0JLmlkX3RhYmxlCT0gaTgxMF9pZHMsCi0JLnByb2JlCQk9IGk4MTBfcHJvYmUsCi0JLnJlbW92ZQkJPSBfX2RldmV4aXRfcChpODEwX3JlbW92ZSksCi19OwotCi1zdGF0aWMgaW50IF9faW5pdCBpMmNfaTgxMF9pbml0KHZvaWQpCi17Ci0JcmV0dXJuIHBjaV9yZWdpc3Rlcl9kcml2ZXIoJmk4MTBfZHJpdmVyKTsKLX0KLQotc3RhdGljIHZvaWQgX19leGl0IGkyY19pODEwX2V4aXQodm9pZCkKLXsKLQlwY2lfdW5yZWdpc3Rlcl9kcml2ZXIoJmk4MTBfZHJpdmVyKTsKLX0KLQotTU9EVUxFX0FVVEhPUigiRnJvZG8gTG9vaWphYXJkIDxmcm9kb2xAZGRzLm5sPiwgIgotCQkiUGhpbGlwIEVkZWxicm9jayA8cGhpbEBuZXRyb2VkZ2UuY29tPiwgIgotCQkiUmFscGggTWV0emxlciA8cmprbUB0aHAudW5pLWtvZWxuLmRlPiwgIgotCQkiYW5kIE1hcmsgRC4gU3R1ZGViYWtlciA8bWRzeHl6MTIzQHlhaG9vLmNvbT4iKTsKLU1PRFVMRV9ERVNDUklQVElPTigiSTgxMC9JODE1IEkyQy9EREMgZHJpdmVyIik7Ci1NT0RVTEVfTElDRU5TRSgiR1BMIik7Ci0KLW1vZHVsZV9pbml0KGkyY19pODEwX2luaXQpOwotbW9kdWxlX2V4aXQoaTJjX2k4MTBfZXhpdCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWlibV9paWMuYyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtaWJtX2lpYy5jCmluZGV4IDg1ZGJmMzQuLjY1MWYyZjEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtaWJtX2lpYy5jCisrKyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtaWJtX2lpYy5jCkBAIC00MiwxMyArNDIsOCBAQAogI2luY2x1ZGUgPGFzbS9pby5oPgogI2luY2x1ZGUgPGxpbnV4L2kyYy5oPgogI2luY2x1ZGUgPGxpbnV4L2kyYy1pZC5oPgotCi0jaWZkZWYgQ09ORklHX0lCTV9PQ1AKLSNpbmNsdWRlIDxhc20vb2NwLmg+Ci0jaW5jbHVkZSA8YXNtL2libTR4eC5oPgotI2Vsc2UKICNpbmNsdWRlIDxsaW51eC9vZl9wbGF0Zm9ybS5oPgotI2VuZGlmCisjaW5jbHVkZSA8bGludXgvb2ZfaTJjLmg+CiAKICNpbmNsdWRlICJpMmMtaWJtX2lpYy5oIgogCkBAIC02NjUsMTgwICs2NjAsNiBAQAogCXJldHVybiAodTgpKChvcGIgKyA5KSAvIDEwIC0gMSk7CiB9CiAKLSNpZmRlZiBDT05GSUdfSUJNX09DUAotLyoKLSAqIFJlZ2lzdGVyIHNpbmdsZSBJSUMgaW50ZXJmYWNlCi0gKi8KLXN0YXRpYyBpbnQgX19kZXZpbml0IGlpY19wcm9iZShzdHJ1Y3Qgb2NwX2RldmljZSAqb2NwKXsKLQotCXN0cnVjdCBpYm1faWljX3ByaXZhdGUqIGRldjsKLQlzdHJ1Y3QgaTJjX2FkYXB0ZXIqIGFkYXA7Ci0Jc3RydWN0IG9jcF9mdW5jX2lpY19kYXRhKiBpaWNfZGF0YSA9IG9jcC0+ZGVmLT5hZGRpdGlvbnM7Ci0JaW50IHJldDsKLQotCWlmICghaWljX2RhdGEpCi0JCXByaW50ayhLRVJOX1dBUk5JTkciaWJtLWlpYyVkOiBtaXNzaW5nIGFkZGl0aW9uYWwgZGF0YSFcbiIsCi0JCQlvY3AtPmRlZi0+aW5kZXgpOwotCi0JaWYgKCEoZGV2ID0ga3phbGxvYyhzaXplb2YoKmRldiksIEdGUF9LRVJORUwpKSkgewotCQlwcmludGsoS0VSTl9FUlIgImlibS1paWMlZDogZmFpbGVkIHRvIGFsbG9jYXRlIGRldmljZSBkYXRhXG4iLAotCQkJb2NwLT5kZWYtPmluZGV4KTsKLQkJcmV0dXJuIC1FTk9NRU07Ci0JfQotCi0JZGV2LT5pZHggPSBvY3AtPmRlZi0+aW5kZXg7Ci0Jb2NwX3NldF9kcnZkYXRhKG9jcCwgZGV2KTsKLQotCWlmICghcmVxdWVzdF9tZW1fcmVnaW9uKG9jcC0+ZGVmLT5wYWRkciwgc2l6ZW9mKHN0cnVjdCBpaWNfcmVncyksCi0JCQkJImlibV9paWMiKSkgewotCQlyZXQgPSAtRUJVU1k7Ci0JCWdvdG8gZmFpbDE7Ci0JfQotCi0JaWYgKCEoZGV2LT52YWRkciA9IGlvcmVtYXAob2NwLT5kZWYtPnBhZGRyLCBzaXplb2Yoc3RydWN0IGlpY19yZWdzKSkpKXsKLQkJcHJpbnRrKEtFUk5fRVJSICJpYm0taWljJWQ6IGZhaWxlZCB0byBpb3JlbWFwIGRldmljZSByZWdpc3RlcnNcbiIsCi0JCQlkZXYtPmlkeCk7Ci0JCXJldCA9IC1FTlhJTzsKLQkJZ290byBmYWlsMjsKLQl9Ci0KLQlpbml0X3dhaXRxdWV1ZV9oZWFkKCZkZXYtPndxKTsKLQotCWRldi0+aXJxID0gaWljX2ZvcmNlX3BvbGwgPyAtMSA6IG9jcC0+ZGVmLT5pcnE7Ci0JaWYgKGRldi0+aXJxID49IDApewotCQkvKiBEaXNhYmxlIGludGVycnVwdHMgdW50aWwgd2UgZmluaXNoIGluaXRpYWxpemF0aW9uLAotCQkgICBhc3N1bWVzIGxldmVsLXNlbnNpdGl2ZSBJUlEgc2V0dXAuLi4KLQkJICovCi0JCWlpY19pbnRlcnJ1cHRfbW9kZShkZXYsIDApOwotCQlpZiAocmVxdWVzdF9pcnEoZGV2LT5pcnEsIGlpY19oYW5kbGVyLCAwLCAiSUJNIElJQyIsIGRldikpewotCQkJcHJpbnRrKEtFUk5fRVJSICJpYm0taWljJWQ6IHJlcXVlc3RfaXJxICVkIGZhaWxlZFxuIiwKLQkJCQlkZXYtPmlkeCwgZGV2LT5pcnEpOwotCQkJLyogRmFsbGJhY2sgdG8gdGhlIHBvbGxpbmcgbW9kZSAqLwotCQkJZGV2LT5pcnEgPSAtMTsKLQkJfQotCX0KLQotCWlmIChkZXYtPmlycSA8IDApCi0JCXByaW50ayhLRVJOX1dBUk5JTkcgImlibS1paWMlZDogdXNpbmcgcG9sbGluZyBtb2RlXG4iLAotCQkJZGV2LT5pZHgpOwotCi0JLyogQm9hcmQgc3BlY2lmaWMgc2V0dGluZ3MgKi8KLQlkZXYtPmZhc3RfbW9kZSA9IGlpY19mb3JjZV9mYXN0ID8gMSA6IChpaWNfZGF0YSA/IGlpY19kYXRhLT5mYXN0X21vZGUgOiAwKTsKLQotCS8qIGNsY2tkaXYgaXMgdGhlIHNhbWUgZm9yICphbGwqIElJQyBpbnRlcmZhY2VzLAotCSAqIGJ1dCBJJ2QgcmF0aGVyIG1ha2UgYSBjb3B5IHRoYW4gaW50cm9kdWNlIGFub3RoZXIgZ2xvYmFsLiAtLWVicwotCSAqLwotCWRldi0+Y2xja2RpdiA9IGlpY19jbGNrZGl2KG9jcF9zeXNfaW5mby5vcGJfYnVzX2ZyZXEpOwotCURCRygiJWQ6IGNsY2tkaXYgPSAlZFxuIiwgZGV2LT5pZHgsIGRldi0+Y2xja2Rpdik7Ci0KLQkvKiBJbml0aWFsaXplIElJQyBpbnRlcmZhY2UgKi8KLQlpaWNfZGV2X2luaXQoZGV2KTsKLQotCS8qIFJlZ2lzdGVyIGl0IHdpdGggaTJjIGxheWVyICovCi0JYWRhcCA9ICZkZXYtPmFkYXA7Ci0JYWRhcC0+ZGV2LnBhcmVudCA9ICZvY3AtPmRldjsKLQlzdHJjcHkoYWRhcC0+bmFtZSwgIklCTSBJSUMiKTsKLQlpMmNfc2V0X2FkYXBkYXRhKGFkYXAsIGRldik7Ci0JYWRhcC0+aWQgPSBJMkNfSFdfT0NQOwotCWFkYXAtPmNsYXNzID0gSTJDX0NMQVNTX0hXTU9OOwotCWFkYXAtPmFsZ28gPSAmaWljX2FsZ287Ci0JYWRhcC0+Y2xpZW50X3JlZ2lzdGVyID0gTlVMTDsKLQlhZGFwLT5jbGllbnRfdW5yZWdpc3RlciA9IE5VTEw7Ci0JYWRhcC0+dGltZW91dCA9IDE7Ci0KLQkvKgotCSAqIElmICJkZXYtPmlkeCIgaXMgbmVnYXRpdmUgd2UgY29uc2lkZXIgaXQgYXMgemVyby4KLQkgKiBUaGUgcmVhc29uIHRvIGRvIHNvIGlzIHRvIGF2b2lkIHN5c2ZzIG5hbWVzIHRoYXQgb25seSBtYWtlCi0JICogc2Vuc2Ugd2hlbiB0aGVyZSBhcmUgbXVsdGlwbGUgYWRhcHRlcnMuCi0JICovCi0JYWRhcC0+bnIgPSBkZXYtPmlkeCA+PSAwID8gZGV2LT5pZHggOiAwOwotCi0JaWYgKChyZXQgPSBpMmNfYWRkX251bWJlcmVkX2FkYXB0ZXIoYWRhcCkpIDwgMCkgewotCQlwcmludGsoS0VSTl9FUlIgImlibS1paWMlZDogZmFpbGVkIHRvIHJlZ2lzdGVyIGkyYyBhZGFwdGVyXG4iLAotCQkJZGV2LT5pZHgpOwotCQlnb3RvIGZhaWw7Ci0JfQotCi0JcHJpbnRrKEtFUk5fSU5GTyAiaWJtLWlpYyVkOiB1c2luZyAlcyBtb2RlXG4iLCBkZXYtPmlkeCwKLQkJZGV2LT5mYXN0X21vZGUgPyAiZmFzdCAoNDAwIGtIeikiIDogInN0YW5kYXJkICgxMDAga0h6KSIpOwotCi0JcmV0dXJuIDA7Ci0KLWZhaWw6Ci0JaWYgKGRldi0+aXJxID49IDApewotCQlpaWNfaW50ZXJydXB0X21vZGUoZGV2LCAwKTsKLQkJZnJlZV9pcnEoZGV2LT5pcnEsIGRldik7Ci0JfQotCi0JaW91bm1hcChkZXYtPnZhZGRyKTsKLWZhaWwyOgotCXJlbGVhc2VfbWVtX3JlZ2lvbihvY3AtPmRlZi0+cGFkZHIsIHNpemVvZihzdHJ1Y3QgaWljX3JlZ3MpKTsKLWZhaWwxOgotCW9jcF9zZXRfZHJ2ZGF0YShvY3AsIE5VTEwpOwotCWtmcmVlKGRldik7Ci0JcmV0dXJuIHJldDsKLX0KLQotLyoKLSAqIENsZWFudXAgaW5pdGlhbGl6ZWQgSUlDIGludGVyZmFjZQotICovCi1zdGF0aWMgdm9pZCBfX2RldmV4aXQgaWljX3JlbW92ZShzdHJ1Y3Qgb2NwX2RldmljZSAqb2NwKQotewotCXN0cnVjdCBpYm1faWljX3ByaXZhdGUqIGRldiA9IChzdHJ1Y3QgaWJtX2lpY19wcml2YXRlKilvY3BfZ2V0X2RydmRhdGEob2NwKTsKLQlCVUdfT04oZGV2ID09IE5VTEwpOwotCWlmIChpMmNfZGVsX2FkYXB0ZXIoJmRldi0+YWRhcCkpewotCQlwcmludGsoS0VSTl9FUlIgImlibS1paWMlZDogZmFpbGVkIHRvIGRlbGV0ZSBpMmMgYWRhcHRlciA6KFxuIiwKLQkJCWRldi0+aWR4KTsKLQkJLyogVGhhdCdzICp2ZXJ5KiBiYWQsIGp1c3Qgc2h1dGRvd24gSVJRIC4uLiAqLwotCQlpZiAoZGV2LT5pcnEgPj0gMCl7Ci0JCSAgICBpaWNfaW50ZXJydXB0X21vZGUoZGV2LCAwKTsKLQkJICAgIGZyZWVfaXJxKGRldi0+aXJxLCBkZXYpOwotCQkgICAgZGV2LT5pcnEgPSAtMTsKLQkJfQotCX0gZWxzZSB7Ci0JCWlmIChkZXYtPmlycSA+PSAwKXsKLQkJICAgIGlpY19pbnRlcnJ1cHRfbW9kZShkZXYsIDApOwotCQkgICAgZnJlZV9pcnEoZGV2LT5pcnEsIGRldik7Ci0JCX0KLQkJaW91bm1hcChkZXYtPnZhZGRyKTsKLQkJcmVsZWFzZV9tZW1fcmVnaW9uKG9jcC0+ZGVmLT5wYWRkciwgc2l6ZW9mKHN0cnVjdCBpaWNfcmVncykpOwotCQlrZnJlZShkZXYpOwotCX0KLX0KLQotc3RhdGljIHN0cnVjdCBvY3BfZGV2aWNlX2lkIGlibV9paWNfaWRzW10gX19kZXZpbml0ZGF0YSA9Ci17Ci0JeyAudmVuZG9yID0gT0NQX1ZFTkRPUl9JQk0sIC5mdW5jdGlvbiA9IE9DUF9GVU5DX0lJQyB9LAotCXsgLnZlbmRvciA9IE9DUF9WRU5ET1JfSU5WQUxJRCB9Ci19OwotCi1NT0RVTEVfREVWSUNFX1RBQkxFKG9jcCwgaWJtX2lpY19pZHMpOwotCi1zdGF0aWMgc3RydWN0IG9jcF9kcml2ZXIgaWJtX2lpY19kcml2ZXIgPQotewotCS5uYW1lIAkJPSAiaWljIiwKLQkuaWRfdGFibGUJPSBpYm1faWljX2lkcywKLQkucHJvYmUJCT0gaWljX3Byb2JlLAotCS5yZW1vdmUJCT0gX19kZXZleGl0X3AoaWljX3JlbW92ZSksCi0jaWYgZGVmaW5lZChDT05GSUdfUE0pCi0JLnN1c3BlbmQJPSBOVUxMLAotCS5yZXN1bWUJCT0gTlVMTCwKLSNlbmRpZgotfTsKLQotc3RhdGljIGludCBfX2luaXQgaWljX2luaXQodm9pZCkKLXsKLQlwcmludGsoS0VSTl9JTkZPICJJQk0gSUlDIGRyaXZlciB2IiBEUklWRVJfVkVSU0lPTiAiXG4iKTsKLQlyZXR1cm4gb2NwX3JlZ2lzdGVyX2RyaXZlcigmaWJtX2lpY19kcml2ZXIpOwotfQotCi1zdGF0aWMgdm9pZCBfX2V4aXQgaWljX2V4aXQodm9pZCkKLXsKLQlvY3BfdW5yZWdpc3Rlcl9kcml2ZXIoJmlibV9paWNfZHJpdmVyKTsKLX0KLQotI2Vsc2UgIC8qICFDT05GSUdfSUJNX09DUCAqLwotCiBzdGF0aWMgaW50IF9fZGV2aW5pdCBpaWNfcmVxdWVzdF9pcnEoc3RydWN0IG9mX2RldmljZSAqb2ZkZXYsCiAJCQkJICAgICBzdHJ1Y3QgaWJtX2lpY19wcml2YXRlICpkZXYpCiB7CkBAIC04NzYsNyArNjk3LDcgQEAKIAlzdHJ1Y3QgZGV2aWNlX25vZGUgKm5wID0gb2ZkZXYtPm5vZGU7CiAJc3RydWN0IGlibV9paWNfcHJpdmF0ZSAqZGV2OwogCXN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcDsKLQljb25zdCB1MzIgKmluZGV4cCwgKmZyZXE7CisJY29uc3QgdTMyICpmcmVxOwogCWludCByZXQ7CiAKIAlkZXYgPSBremFsbG9jKHNpemVvZigqZGV2KSwgR0ZQX0tFUk5FTCk7CkBAIC04ODcsMTQgKzcwOCw2IEBACiAKIAlkZXZfc2V0X2RydmRhdGEoJm9mZGV2LT5kZXYsIGRldik7CiAKLQlpbmRleHAgPSBvZl9nZXRfcHJvcGVydHkobnAsICJpbmRleCIsIE5VTEwpOwotCWlmICghaW5kZXhwKSB7Ci0JCWRldl9lcnIoJm9mZGV2LT5kZXYsICJubyBpbmRleCBzcGVjaWZpZWRcbiIpOwotCQlyZXQgPSAtRUlOVkFMOwotCQlnb3RvIGVycm9yX2NsZWFudXA7Ci0JfQotCWRldi0+aWR4ID0gKmluZGV4cDsKLQogCWRldi0+dmFkZHIgPSBvZl9pb21hcChucCwgMCk7CiAJaWYgKGRldi0+dmFkZHIgPT0gTlVMTCkgewogCQlkZXZfZXJyKCZvZmRldi0+ZGV2LCAiZmFpbGVkIHRvIGlvbWFwIGRldmljZVxuIik7CkBAIC05MzQsMTcgKzc0NywxOSBAQAogCXN0cmxjcHkoYWRhcC0+bmFtZSwgIklCTSBJSUMiLCBzaXplb2YoYWRhcC0+bmFtZSkpOwogCWkyY19zZXRfYWRhcGRhdGEoYWRhcCwgZGV2KTsKIAlhZGFwLT5pZCA9IEkyQ19IV19PQ1A7Ci0JYWRhcC0+Y2xhc3MgPSBJMkNfQ0xBU1NfSFdNT047CisJYWRhcC0+Y2xhc3MgPSBJMkNfQ0xBU1NfSFdNT04gfCBJMkNfQ0xBU1NfU1BEOwogCWFkYXAtPmFsZ28gPSAmaWljX2FsZ287CiAJYWRhcC0+dGltZW91dCA9IDE7Ci0JYWRhcC0+bnIgPSBkZXYtPmlkeDsKIAotCXJldCA9IGkyY19hZGRfbnVtYmVyZWRfYWRhcHRlcihhZGFwKTsKKwlyZXQgPSBpMmNfYWRkX2FkYXB0ZXIoYWRhcCk7CiAJaWYgKHJldCAgPCAwKSB7CiAJCWRldl9lcnIoJm9mZGV2LT5kZXYsICJmYWlsZWQgdG8gcmVnaXN0ZXIgaTJjIGFkYXB0ZXJcbiIpOwogCQlnb3RvIGVycm9yX2NsZWFudXA7CiAJfQogCisJLyogTm93IHJlZ2lzdGVyIGFsbCB0aGUgY2hpbGQgbm9kZXMgKi8KKwlvZl9yZWdpc3Rlcl9pMmNfZGV2aWNlcyhhZGFwLCBucCk7CisKIAlkZXZfaW5mbygmb2ZkZXYtPmRldiwgInVzaW5nICVzIG1vZGVcbiIsCiAJCSBkZXYtPmZhc3RfbW9kZSA/ICJmYXN0ICg0MDAga0h6KSIgOiAic3RhbmRhcmQgKDEwMCBrSHopIik7CiAKQEAgLTk4NywxMSArODAyLDcgQEAKIH0KIAogc3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgaWJtX2lpY19tYXRjaFtdID0gewotCXsgLmNvbXBhdGlibGUgPSAiaWJtLGlpYy00MDVleCIsIH0sCi0JeyAuY29tcGF0aWJsZSA9ICJpYm0saWljLTQwNWdwIiwgfSwKLQl7IC5jb21wYXRpYmxlID0gImlibSxpaWMtNDQwZ3AiLCB9LAotCXsgLmNvbXBhdGlibGUgPSAiaWJtLGlpYy00NDBncHgiLCB9LAotCXsgLmNvbXBhdGlibGUgPSAiaWJtLGlpYy00NDBncngiLCB9LAorCXsgLmNvbXBhdGlibGUgPSAiaWJtLGlpYyIsIH0sCiAJe30KIH07CiAKQEAgLTEwMTEsNyArODIyLDYgQEAKIHsKIAlvZl91bnJlZ2lzdGVyX3BsYXRmb3JtX2RyaXZlcigmaWJtX2lpY19kcml2ZXIpOwogfQotI2VuZGlmIC8qIENPTkZJR19JQk1fT0NQICovCiAKIG1vZHVsZV9pbml0KGlpY19pbml0KTsKIG1vZHVsZV9leGl0KGlpY19leGl0KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtaW9wM3h4LmMgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWlvcDN4eC5jCmluZGV4IDM5ODg0ZTcuLmZjMjcxNGEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtaW9wM3h4LmMKKysrIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1pb3AzeHguYwpAQCAtNDgyLDcgKzQ4Miw3IEBACiAJbWVtY3B5KG5ld19hZGFwdGVyLT5uYW1lLCBwZGV2LT5uYW1lLCBzdHJsZW4ocGRldi0+bmFtZSkpOwogCW5ld19hZGFwdGVyLT5pZCA9IEkyQ19IV19JT1AzWFg7CiAJbmV3X2FkYXB0ZXItPm93bmVyID0gVEhJU19NT0RVTEU7Ci0JbmV3X2FkYXB0ZXItPmNsYXNzID0gSTJDX0NMQVNTX0hXTU9OOworCW5ld19hZGFwdGVyLT5jbGFzcyA9IEkyQ19DTEFTU19IV01PTiB8IEkyQ19DTEFTU19TUEQ7CiAJbmV3X2FkYXB0ZXItPmRldi5wYXJlbnQgPSAmcGRldi0+ZGV2OwogCW5ld19hZGFwdGVyLT5uciA9IHBkZXYtPmlkOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWlzY2guYyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtaXNjaC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI5YzAxYWEKLS0tIC9kZXYvbnVsbAorKysgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWlzY2guYwpAQCAtMCwwICsxLDMzOSBAQAorLyoKKyAgICBpMmMtaXNjaC5jIC0gTGludXgga2VybmVsIGRyaXZlciBmb3IgSW50ZWwgU0NIIGNoaXBzZXQgU01CdXMKKyAgICAtIEJhc2VkIG9uIGkyYy1waWl4NC5jCisgICAgQ29weXJpZ2h0IChjKSAxOTk4IC0gMjAwMiBGcm9kbyBMb29pamFhcmQgPGZyb2RvbEBkZHMubmw+IGFuZAorICAgIFBoaWxpcCBFZGVsYnJvY2sgPHBoaWxAbmV0cm9lZGdlLmNvbT4KKyAgICAtIEludGVsIFNDSCBzdXBwb3J0CisgICAgQ29weXJpZ2h0IChjKSAyMDA3IC0gMjAwOCBKYWNvYiBKdW4gUGFuIDxqYWNvYi5qdW4ucGFuQGludGVsLmNvbT4KKworICAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMKKyAgICBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKworICAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisKKyAgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICAgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgICAgRm91bmRhdGlvbiwgSW5jLiwgNjc1IE1hc3MgQXZlLCBDYW1icmlkZ2UsIE1BIDAyMTM5LCBVU0EuCisqLworCisvKgorICAgU3VwcG9ydHM6CisJSW50ZWwgU0NIIGNoaXBzZXRzIChBRjgyVVMxNVcsIEFGODJVUzE1TCwgQUY4MlVMMTFMKQorICAgTm90ZTogd2UgYXNzdW1lIHRoZXJlIGNhbiBvbmx5IGJlIG9uZSBkZXZpY2UsIHdpdGggb25lIFNNQnVzIGludGVyZmFjZS4KKyovCisKKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9wY2kuaD4KKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgorI2luY2x1ZGUgPGxpbnV4L3N0ZGRlZi5oPgorI2luY2x1ZGUgPGxpbnV4L2lvcG9ydC5oPgorI2luY2x1ZGUgPGxpbnV4L2kyYy5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9pby5oPgorI2luY2x1ZGUgPGxpbnV4L2FjcGkuaD4KKworLyogU0NIIFNNQnVzIGFkZHJlc3Mgb2Zmc2V0cyAqLworI2RlZmluZSBTTUJIU1RDTlQJKDAgKyBzY2hfc21iYSkKKyNkZWZpbmUgU01CSFNUU1RTCSgxICsgc2NoX3NtYmEpCisjZGVmaW5lIFNNQkhTVEFERAkoNCArIHNjaF9zbWJhKSAvKiBUU0EgKi8KKyNkZWZpbmUgU01CSFNUQ01ECSg1ICsgc2NoX3NtYmEpCisjZGVmaW5lIFNNQkhTVERBVDAJKDYgKyBzY2hfc21iYSkKKyNkZWZpbmUgU01CSFNUREFUMQkoNyArIHNjaF9zbWJhKQorI2RlZmluZSBTTUJCTEtEQVQJKDB4MjAgKyBzY2hfc21iYSkKKworLyogY291bnQgZm9yIHJlcXVlc3RfcmVnaW9uICovCisjZGVmaW5lIFNNQklPU0laRQk2NAorCisvKiBQQ0kgQWRkcmVzcyBDb25zdGFudHMgKi8KKyNkZWZpbmUgU01CQkFfU0NICTB4NDAKKworLyogT3RoZXIgc2V0dGluZ3MgKi8KKyNkZWZpbmUgTUFYX1RJTUVPVVQJNTAwCisKKy8qIEkyQyBjb25zdGFudHMgKi8KKyNkZWZpbmUgU0NIX1FVSUNLCQkweDAwCisjZGVmaW5lIFNDSF9CWVRFCQkweDAxCisjZGVmaW5lIFNDSF9CWVRFX0RBVEEJCTB4MDIKKyNkZWZpbmUgU0NIX1dPUkRfREFUQQkJMHgwMworI2RlZmluZSBTQ0hfQkxPQ0tfREFUQQkJMHgwNQorCitzdGF0aWMgdW5zaWduZWQgc2hvcnQgc2NoX3NtYmE7CitzdGF0aWMgc3RydWN0IHBjaV9kcml2ZXIgc2NoX2RyaXZlcjsKK3N0YXRpYyBzdHJ1Y3QgaTJjX2FkYXB0ZXIgc2NoX2FkYXB0ZXI7CisKKy8qCisgKiBTdGFydCB0aGUgaTJjIHRyYW5zYWN0aW9uIC0tIHRoZSBpMmNfYWNjZXNzIHdpbGwgcHJlcGFyZSB0aGUgdHJhbnNhY3Rpb24KKyAqIGFuZCB0aGlzIGZ1bmN0aW9uIHdpbGwgZXhlY3V0ZSBpdC4KKyAqIHJldHVybiAwIGZvciBzdWNjZXNzIGFuZCBvdGhlcnMgZm9yIGZhaWx1cmUuCisgKi8KK3N0YXRpYyBpbnQgc2NoX3RyYW5zYWN0aW9uKHZvaWQpCit7CisJaW50IHRlbXA7CisJaW50IHJlc3VsdCA9IDA7CisJaW50IHRpbWVvdXQgPSAwOworCisJZGV2X2RiZygmc2NoX2FkYXB0ZXIuZGV2LCAiVHJhbnNhY3Rpb24gKHByZSk6IENOVD0lMDJ4LCBDTUQ9JTAyeCwgIgorCQkiQUREPSUwMngsIERBVDA9JTAyeCwgREFUMT0lMDJ4XG4iLCBpbmIoU01CSFNUQ05UKSwKKwkJaW5iKFNNQkhTVENNRCksIGluYihTTUJIU1RBREQpLCBpbmIoU01CSFNUREFUMCksCisJCWluYihTTUJIU1REQVQxKSk7CisKKwkvKiBNYWtlIHN1cmUgdGhlIFNNQnVzIGhvc3QgaXMgcmVhZHkgdG8gc3RhcnQgdHJhbnNtaXR0aW5nICovCisJdGVtcCA9IGluYihTTUJIU1RTVFMpICYgMHgwZjsKKwlpZiAodGVtcCkgeworCQkvKiBDYW4gbm90IGJlIGJ1c3kgc2luY2Ugd2UgY2hlY2tlZCBpdCBpbiBzY2hfYWNjZXNzICovCisJCWlmICh0ZW1wICYgMHgwMSkgeworCQkJZGV2X2RiZygmc2NoX2FkYXB0ZXIuZGV2LCAiQ29tcGxldGlvbiAoJTAyeCkuICIKKwkJCQkiQ2xlYXIuLi5cbiIsIHRlbXApOworCQl9CisJCWlmICh0ZW1wICYgMHgwNikgeworCQkJZGV2X2RiZygmc2NoX2FkYXB0ZXIuZGV2LCAiU01CdXMgZXJyb3IgKCUwMngpLiAiCisJCQkJIlJlc2V0dGluZy4uLlxuIiwgdGVtcCk7CisJCX0KKwkJb3V0Yih0ZW1wLCBTTUJIU1RTVFMpOworCQl0ZW1wID0gaW5iKFNNQkhTVFNUUykgJiAweDBmOworCQlpZiAodGVtcCkgeworCQkJZGV2X2Vycigmc2NoX2FkYXB0ZXIuZGV2LAorCQkJCSJTTUJ1cyBpcyBub3QgcmVhZHk6ICglMDJ4KVxuIiwgdGVtcCk7CisJCQlyZXR1cm4gLUVBR0FJTjsKKwkJfQorCX0KKworCS8qIHN0YXJ0IHRoZSB0cmFuc2FjdGlvbiBieSBzZXR0aW5nIGJpdCA0ICovCisJb3V0YihpbmIoU01CSFNUQ05UKSB8IDB4MTAsIFNNQkhTVENOVCk7CisKKwlkbyB7CisJCW1zbGVlcCgxKTsKKwkJdGVtcCA9IGluYihTTUJIU1RTVFMpICYgMHgwZjsKKwl9IHdoaWxlICgodGVtcCAmIDB4MDgpICYmICh0aW1lb3V0KysgPCBNQVhfVElNRU9VVCkpOworCisJLyogSWYgdGhlIFNNQnVzIGlzIHN0aWxsIGJ1c3ksIHdlIGdpdmUgdXAgKi8KKwlpZiAodGltZW91dCA+PSBNQVhfVElNRU9VVCkgeworCQlkZXZfZXJyKCZzY2hfYWRhcHRlci5kZXYsICJTTUJ1cyBUaW1lb3V0IVxuIik7CisJCXJlc3VsdCA9IC1FVElNRURPVVQ7CisJfQorCWlmICh0ZW1wICYgMHgwNCkgeworCQlyZXN1bHQgPSAtRUlPOworCQlkZXZfZGJnKCZzY2hfYWRhcHRlci5kZXYsICJCdXMgY29sbGlzaW9uISBTTUJ1cyBtYXkgYmUgIgorCQkJImxvY2tlZCB1bnRpbCBuZXh0IGhhcmQgcmVzZXQuIChzb3JyeSEpXG4iKTsKKwkJLyogQ2xvY2sgc3RvcHMgYW5kIHNsYXZlIGlzIHN0dWNrIGluIG1pZC10cmFuc21pc3Npb24gKi8KKwl9IGVsc2UgaWYgKHRlbXAgJiAweDAyKSB7CisJCXJlc3VsdCA9IC1FSU87CisJCWRldl9lcnIoJnNjaF9hZGFwdGVyLmRldiwgIkVycm9yOiBubyByZXNwb25zZSFcbiIpOworCX0gZWxzZSBpZiAodGVtcCAmIDB4MDEpIHsKKwkJZGV2X2RiZygmc2NoX2FkYXB0ZXIuZGV2LCAiUG9zdCBjb21wbGV0ZSFcbiIpOworCQlvdXRiKHRlbXAsIFNNQkhTVFNUUyk7CisJCXRlbXAgPSBpbmIoU01CSFNUU1RTKSAmIDB4MDc7CisJCWlmICh0ZW1wICYgMHgwNikgeworCQkJLyogQ29tcGxldGlvbiBjbGVhciBmYWlsZWQgKi8KKwkJCWRldl9kYmcoJnNjaF9hZGFwdGVyLmRldiwgIkZhaWxlZCByZXNldCBhdCBlbmQgb2YgIgorCQkJCSJ0cmFuc2FjdGlvbiAoJTAyeCksIEJ1cyBlcnJvciFcbiIsIHRlbXApOworCQl9CisJfSBlbHNlIHsKKwkJcmVzdWx0ID0gLUVOWElPOworCQlkZXZfZGJnKCZzY2hfYWRhcHRlci5kZXYsICJObyBzdWNoIGFkZHJlc3MuXG4iKTsKKwl9CisJZGV2X2RiZygmc2NoX2FkYXB0ZXIuZGV2LCAiVHJhbnNhY3Rpb24gKHBvc3QpOiBDTlQ9JTAyeCwgQ01EPSUwMngsICIKKwkJIkFERD0lMDJ4LCBEQVQwPSUwMngsIERBVDE9JTAyeFxuIiwgaW5iKFNNQkhTVENOVCksCisJCWluYihTTUJIU1RDTUQpLCBpbmIoU01CSFNUQUREKSwgaW5iKFNNQkhTVERBVDApLAorCQlpbmIoU01CSFNUREFUMSkpOworCXJldHVybiByZXN1bHQ7Cit9CisKKy8qCisgKiBUaGlzIGlzIHRoZSBtYWluIGFjY2VzcyBlbnRyeSBmb3IgaTJjLXNjaCBhY2Nlc3MKKyAqIGFkYXAgaXMgaTJjX2FkYXB0ZXIgcG9pbnRlciwgYWRkciBpcyB0aGUgaTJjIGRldmljZSBidXMgYWRkcmVzcywgcmVhZF93cml0ZQorICogKDAgZm9yIHJlYWQgYW5kIDEgZm9yIHdyaXRlKSwgc2l6ZSBpcyBpMmMgdHJhbnNhY3Rpb24gdHlwZSBhbmQgZGF0YSBpcyB0aGUKKyAqIHVuaW9uIG9mIHRyYW5zYWN0aW9uIGZvciBkYXRhIHRvIGJlIHRyYW5zZmVyZWQgb3IgZGF0YSByZWFkIGZyb20gYnVzLgorICogcmV0dXJuIDAgZm9yIHN1Y2Nlc3MgYW5kIG90aGVycyBmb3IgZmFpbHVyZS4KKyAqLworc3RhdGljIHMzMiBzY2hfYWNjZXNzKHN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcCwgdTE2IGFkZHIsCisJCSB1bnNpZ25lZCBzaG9ydCBmbGFncywgY2hhciByZWFkX3dyaXRlLAorCQkgdTggY29tbWFuZCwgaW50IHNpemUsIHVuaW9uIGkyY19zbWJ1c19kYXRhICpkYXRhKQoreworCWludCBpLCBsZW4sIHRlbXAsIHJjOworCisJLyogTWFrZSBzdXJlIHRoZSBTTUJ1cyBob3N0IGlzIG5vdCBidXN5ICovCisJdGVtcCA9IGluYihTTUJIU1RTVFMpICYgMHgwZjsKKwlpZiAodGVtcCAmIDB4MDgpIHsKKwkJZGV2X2RiZygmc2NoX2FkYXB0ZXIuZGV2LCAiU01CdXMgYnVzeSAoJTAyeClcbiIsIHRlbXApOworCQlyZXR1cm4gLUVBR0FJTjsKKwl9CisJZGV2X2RiZygmc2NoX2FkYXB0ZXIuZGV2LCAiYWNjZXNzIHNpemU6ICVkICVzXG4iLCBzaXplLAorCQkocmVhZF93cml0ZSk/IlJFQUQiOiJXUklURSIpOworCXN3aXRjaCAoc2l6ZSkgeworCWNhc2UgSTJDX1NNQlVTX1FVSUNLOgorCQlvdXRiKChhZGRyIDw8IDEpIHwgcmVhZF93cml0ZSwgU01CSFNUQUREKTsKKwkJc2l6ZSA9IFNDSF9RVUlDSzsKKwkJYnJlYWs7CisJY2FzZSBJMkNfU01CVVNfQllURToKKwkJb3V0YigoYWRkciA8PCAxKSB8IHJlYWRfd3JpdGUsIFNNQkhTVEFERCk7CisJCWlmIChyZWFkX3dyaXRlID09IEkyQ19TTUJVU19XUklURSkKKwkJCW91dGIoY29tbWFuZCwgU01CSFNUQ01EKTsKKwkJc2l6ZSA9IFNDSF9CWVRFOworCQlicmVhazsKKwljYXNlIEkyQ19TTUJVU19CWVRFX0RBVEE6CisJCW91dGIoKGFkZHIgPDwgMSkgfCByZWFkX3dyaXRlLCBTTUJIU1RBREQpOworCQlvdXRiKGNvbW1hbmQsIFNNQkhTVENNRCk7CisJCWlmIChyZWFkX3dyaXRlID09IEkyQ19TTUJVU19XUklURSkKKwkJCW91dGIoZGF0YS0+Ynl0ZSwgU01CSFNUREFUMCk7CisJCXNpemUgPSBTQ0hfQllURV9EQVRBOworCQlicmVhazsKKwljYXNlIEkyQ19TTUJVU19XT1JEX0RBVEE6CisJCW91dGIoKGFkZHIgPDwgMSkgfCByZWFkX3dyaXRlLCBTTUJIU1RBREQpOworCQlvdXRiKGNvbW1hbmQsIFNNQkhTVENNRCk7CisJCWlmIChyZWFkX3dyaXRlID09IEkyQ19TTUJVU19XUklURSkgeworCQkJb3V0YihkYXRhLT53b3JkICYgMHhmZiwgU01CSFNUREFUMCk7CisJCQlvdXRiKChkYXRhLT53b3JkICYgMHhmZjAwKSA+PiA4LCBTTUJIU1REQVQxKTsKKwkJfQorCQlzaXplID0gU0NIX1dPUkRfREFUQTsKKwkJYnJlYWs7CisJY2FzZSBJMkNfU01CVVNfQkxPQ0tfREFUQToKKwkJb3V0YigoYWRkciA8PCAxKSB8IHJlYWRfd3JpdGUsIFNNQkhTVEFERCk7CisJCW91dGIoY29tbWFuZCwgU01CSFNUQ01EKTsKKwkJaWYgKHJlYWRfd3JpdGUgPT0gSTJDX1NNQlVTX1dSSVRFKSB7CisJCQlsZW4gPSBkYXRhLT5ibG9ja1swXTsKKwkJCWlmIChsZW4gPT0gMCB8fCBsZW4gPiBJMkNfU01CVVNfQkxPQ0tfTUFYKQorCQkJCXJldHVybiAtRUlOVkFMOworCQkJb3V0YihsZW4sIFNNQkhTVERBVDApOworCQkJZm9yIChpID0gMTsgaSA8PSBsZW47IGkrKykKKwkJCQlvdXRiKGRhdGEtPmJsb2NrW2ldLCBTTUJCTEtEQVQraS0xKTsKKwkJfQorCQlzaXplID0gU0NIX0JMT0NLX0RBVEE7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCWRldl93YXJuKCZhZGFwLT5kZXYsICJVbnN1cHBvcnRlZCB0cmFuc2FjdGlvbiAlZFxuIiwgc2l6ZSk7CisJCXJldHVybiAtRU9QTk9UU1VQUDsKKwl9CisJZGV2X2RiZygmc2NoX2FkYXB0ZXIuZGV2LCAid3JpdGUgc2l6ZSAlZCB0byAweCUwNHhcbiIsIHNpemUsIFNNQkhTVENOVCk7CisJb3V0YigoaW5iKFNNQkhTVENOVCkgJiAweGIwKSB8IChzaXplICYgMHg3KSwgU01CSFNUQ05UKTsKKworCXJjID0gc2NoX3RyYW5zYWN0aW9uKCk7CisJaWYgKHJjKQkvKiBFcnJvciBpbiB0cmFuc2FjdGlvbiAqLworCQlyZXR1cm4gcmM7CisKKwlpZiAoKHJlYWRfd3JpdGUgPT0gSTJDX1NNQlVTX1dSSVRFKSB8fCAoc2l6ZSA9PSBTQ0hfUVVJQ0spKQorCQlyZXR1cm4gMDsKKworCXN3aXRjaCAoc2l6ZSkgeworCWNhc2UgU0NIX0JZVEU6CisJY2FzZSBTQ0hfQllURV9EQVRBOgorCQlkYXRhLT5ieXRlID0gaW5iKFNNQkhTVERBVDApOworCQlicmVhazsKKwljYXNlIFNDSF9XT1JEX0RBVEE6CisJCWRhdGEtPndvcmQgPSBpbmIoU01CSFNUREFUMCkgKyAoaW5iKFNNQkhTVERBVDEpIDw8IDgpOworCQlicmVhazsKKwljYXNlIFNDSF9CTE9DS19EQVRBOgorCQlkYXRhLT5ibG9ja1swXSA9IGluYihTTUJIU1REQVQwKTsKKwkJaWYgKGRhdGEtPmJsb2NrWzBdID09IDAgfHwgZGF0YS0+YmxvY2tbMF0gPiBJMkNfU01CVVNfQkxPQ0tfTUFYKQorCQkJcmV0dXJuIC1FUFJPVE87CisJCWZvciAoaSA9IDE7IGkgPD0gZGF0YS0+YmxvY2tbMF07IGkrKykKKwkJCWRhdGEtPmJsb2NrW2ldID0gaW5iKFNNQkJMS0RBVCtpLTEpOworCQlicmVhazsKKwl9CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB1MzIgc2NoX2Z1bmMoc3RydWN0IGkyY19hZGFwdGVyICphZGFwdGVyKQoreworCXJldHVybiBJMkNfRlVOQ19TTUJVU19RVUlDSyB8IEkyQ19GVU5DX1NNQlVTX0JZVEUgfAorCSAgICBJMkNfRlVOQ19TTUJVU19CWVRFX0RBVEEgfCBJMkNfRlVOQ19TTUJVU19XT1JEX0RBVEEgfAorCSAgICBJMkNfRlVOQ19TTUJVU19CTE9DS19EQVRBOworfQorCitzdGF0aWMgY29uc3Qgc3RydWN0IGkyY19hbGdvcml0aG0gc21idXNfYWxnb3JpdGhtID0geworCS5zbWJ1c194ZmVyCT0gc2NoX2FjY2VzcywKKwkuZnVuY3Rpb25hbGl0eQk9IHNjaF9mdW5jLAorfTsKKworc3RhdGljIHN0cnVjdCBpMmNfYWRhcHRlciBzY2hfYWRhcHRlciA9IHsKKwkub3duZXIJCT0gVEhJU19NT0RVTEUsCisJLmNsYXNzCQk9IEkyQ19DTEFTU19IV01PTiB8IEkyQ19DTEFTU19TUEQsCisJLmFsZ28JCT0gJnNtYnVzX2FsZ29yaXRobSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGNpX2RldmljZV9pZCBzY2hfaWRzW10gPSB7CisJeyBQQ0lfREVWSUNFKFBDSV9WRU5ET1JfSURfSU5URUwsIFBDSV9ERVZJQ0VfSURfSU5URUxfU0NIX0xQQykgfSwKKwl7IDAsIH0KK307CisKK01PRFVMRV9ERVZJQ0VfVEFCTEUocGNpLCBzY2hfaWRzKTsKKworc3RhdGljIGludCBfX2RldmluaXQgc2NoX3Byb2JlKHN0cnVjdCBwY2lfZGV2ICpkZXYsCisJCQkJY29uc3Qgc3RydWN0IHBjaV9kZXZpY2VfaWQgKmlkKQoreworCWludCByZXR2YWw7CisJdW5zaWduZWQgaW50IHNtYmE7CisKKwlwY2lfcmVhZF9jb25maWdfZHdvcmQoZGV2LCBTTUJCQV9TQ0gsICZzbWJhKTsKKwlpZiAoIShzbWJhICYgKDEgPDwgMzEpKSkgeworCQlkZXZfZXJyKCZkZXYtPmRldiwgIlNNQnVzIEkvTyBzcGFjZSBkaXNhYmxlZCFcbiIpOworCQlyZXR1cm4gLUVOT0RFVjsKKwl9CisKKwlzY2hfc21iYSA9ICh1bnNpZ25lZCBzaG9ydClzbWJhOworCWlmIChzY2hfc21iYSA9PSAwKSB7CisJCWRldl9lcnIoJmRldi0+ZGV2LCAiU01CdXMgYmFzZSBhZGRyZXNzIHVuaW5pdGlhbGl6ZWQhXG4iKTsKKwkJcmV0dXJuIC1FTk9ERVY7CisJfQorCWlmIChhY3BpX2NoZWNrX3JlZ2lvbihzY2hfc21iYSwgU01CSU9TSVpFLCBzY2hfZHJpdmVyLm5hbWUpKQorCQlyZXR1cm4gLUVCVVNZOworCWlmICghcmVxdWVzdF9yZWdpb24oc2NoX3NtYmEsIFNNQklPU0laRSwgc2NoX2RyaXZlci5uYW1lKSkgeworCQlkZXZfZXJyKCZkZXYtPmRldiwgIlNNQnVzIHJlZ2lvbiAweCV4IGFscmVhZHkgaW4gdXNlIVxuIiwKKwkJCXNjaF9zbWJhKTsKKwkJcmV0dXJuIC1FQlVTWTsKKwl9CisJZGV2X2RiZygmZGV2LT5kZXYsICJTTUJBID0gMHglWFxuIiwgc2NoX3NtYmEpOworCisJLyogc2V0IHVwIHRoZSBzeXNmcyBsaW5rYWdlIHRvIG91ciBwYXJlbnQgZGV2aWNlICovCisJc2NoX2FkYXB0ZXIuZGV2LnBhcmVudCA9ICZkZXYtPmRldjsKKworCXNucHJpbnRmKHNjaF9hZGFwdGVyLm5hbWUsIHNpemVvZihzY2hfYWRhcHRlci5uYW1lKSwKKwkJIlNNQnVzIFNDSCBhZGFwdGVyIGF0ICUwNHgiLCBzY2hfc21iYSk7CisKKwlyZXR2YWwgPSBpMmNfYWRkX2FkYXB0ZXIoJnNjaF9hZGFwdGVyKTsKKwlpZiAocmV0dmFsKSB7CisJCWRldl9lcnIoJmRldi0+ZGV2LCAiQ291bGRuJ3QgcmVnaXN0ZXIgYWRhcHRlciFcbiIpOworCQlyZWxlYXNlX3JlZ2lvbihzY2hfc21iYSwgU01CSU9TSVpFKTsKKwkJc2NoX3NtYmEgPSAwOworCX0KKworCXJldHVybiByZXR2YWw7Cit9CisKK3N0YXRpYyB2b2lkIF9fZGV2ZXhpdCBzY2hfcmVtb3ZlKHN0cnVjdCBwY2lfZGV2ICpkZXYpCit7CisJaWYgKHNjaF9zbWJhKSB7CisJCWkyY19kZWxfYWRhcHRlcigmc2NoX2FkYXB0ZXIpOworCQlyZWxlYXNlX3JlZ2lvbihzY2hfc21iYSwgU01CSU9TSVpFKTsKKwkJc2NoX3NtYmEgPSAwOworCX0KK30KKworc3RhdGljIHN0cnVjdCBwY2lfZHJpdmVyIHNjaF9kcml2ZXIgPSB7CisJLm5hbWUJCT0gImlzY2hfc21idXMiLAorCS5pZF90YWJsZQk9IHNjaF9pZHMsCisJLnByb2JlCQk9IHNjaF9wcm9iZSwKKwkucmVtb3ZlCQk9IF9fZGV2ZXhpdF9wKHNjaF9yZW1vdmUpLAorfTsKKworc3RhdGljIGludCBfX2luaXQgaTJjX3NjaF9pbml0KHZvaWQpCit7CisJcmV0dXJuIHBjaV9yZWdpc3Rlcl9kcml2ZXIoJnNjaF9kcml2ZXIpOworfQorCitzdGF0aWMgdm9pZCBfX2V4aXQgaTJjX3NjaF9leGl0KHZvaWQpCit7CisJcGNpX3VucmVnaXN0ZXJfZHJpdmVyKCZzY2hfZHJpdmVyKTsKK30KKworTU9EVUxFX0FVVEhPUigiSmFjb2IgUGFuIDxqYWNvYi5qdW4ucGFuQGludGVsLmNvbT4iKTsKK01PRFVMRV9ERVNDUklQVElPTigiSW50ZWwgU0NIIFNNQnVzIGRyaXZlciIpOworTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOworCittb2R1bGVfaW5pdChpMmNfc2NoX2luaXQpOworbW9kdWxlX2V4aXQoaTJjX3NjaF9leGl0KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtbXBjLmMgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLW1wYy5jCmluZGV4IGEwNzYxMjkuLjEwYjkzNDIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtbXBjLmMKKysrIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1tcGMuYwpAQCAtMzExLDcgKzMxMSw3IEBACiAJLm5hbWUgPSAiTVBDIGFkYXB0ZXIiLAogCS5pZCA9IEkyQ19IV19NUEMxMDcsCiAJLmFsZ28gPSAmbXBjX2FsZ28sCi0JLmNsYXNzID0gSTJDX0NMQVNTX0hXTU9OLAorCS5jbGFzcyA9IEkyQ19DTEFTU19IV01PTiB8IEkyQ19DTEFTU19TUEQsCiAJLnRpbWVvdXQgPSAxLAogfTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1tdjY0eHh4LmMgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLW12NjR4eHguYwppbmRleCAwMzZlNmE4Li45ZTgxMThkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLW12NjR4eHguYworKysgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLW12NjR4eHguYwpAQCAtNTMwLDcgKzUzMCw3IEBACiAJZHJ2X2RhdGEtPmFkYXB0ZXIuaWQgPSBJMkNfSFdfTVY2NFhYWDsKIAlkcnZfZGF0YS0+YWRhcHRlci5hbGdvID0gJm12NjR4eHhfaTJjX2FsZ287CiAJZHJ2X2RhdGEtPmFkYXB0ZXIub3duZXIgPSBUSElTX01PRFVMRTsKLQlkcnZfZGF0YS0+YWRhcHRlci5jbGFzcyA9IEkyQ19DTEFTU19IV01PTjsKKwlkcnZfZGF0YS0+YWRhcHRlci5jbGFzcyA9IEkyQ19DTEFTU19IV01PTiB8IEkyQ19DTEFTU19TUEQ7CiAJZHJ2X2RhdGEtPmFkYXB0ZXIudGltZW91dCA9IHBkYXRhLT50aW1lb3V0OwogCWRydl9kYXRhLT5hZGFwdGVyLm5yID0gcGQtPmlkOwogCXBsYXRmb3JtX3NldF9kcnZkYXRhKHBkLCBkcnZfZGF0YSk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLW5mb3JjZTItczQ5ODUuYyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtbmZvcmNlMi1zNDk4NS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZhODk5NWQKLS0tIC9kZXYvbnVsbAorKysgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLW5mb3JjZTItczQ5ODUuYwpAQCAtMCwwICsxLDI1NyBAQAorLyoKKyAqIGkyYy1uZm9yY2UyLXM0OTg1LmMgLSBpMmMtbmZvcmNlMiBleHRyYXMgZm9yIHRoZSBUeWFuIFM0OTg1IG1vdGhlcmJvYXJkCisgKgorICogQ29weXJpZ2h0IChDKSAyMDA4IEplYW4gRGVsdmFyZSA8a2hhbGlAbGludXgtZnIub3JnPgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDY3NSBNYXNzIEF2ZSwgQ2FtYnJpZGdlLCBNQSAwMjEzOSwgVVNBLgorICovCisKKy8qCisgKiBXZSBzZWxlY3QgdGhlIGNoYW5uZWxzIGJ5IHNlbmRpbmcgY29tbWFuZHMgdG8gdGhlIFBoaWxpcHMKKyAqIFBDQTk1NTYgY2hpcCBhdCBJMkMgYWRkcmVzcyAweDE4LiBUaGUgbWFpbiBhZGFwdGVyIGlzIHVzZWQgZm9yCisgKiB0aGUgbm9uLW11bHRpcGxleGVkIHBhcnQgb2YgdGhlIGJ1cywgYW5kIDQgdmlydHVhbCBhZGFwdGVycworICogYXJlIGRlZmluZWQgZm9yIHRoZSBtdWx0aXBsZXhlZCBhZGRyZXNzZXM6IDB4NTAtMHg1MyAobWVtb3J5CisgKiBtb2R1bGUgRUVQUk9NKSBsb2NhdGVkIG9uIGNoYW5uZWxzIDEtNC4gV2UgZGVmaW5lIG9uZSB2aXJ0dWFsCisgKiBhZGFwdGVyIHBlciBDUFUsIHdoaWNoIGNvcnJlc3BvbmRzIHRvIG9uZSBtdWx0aXBsZXhlZCBjaGFubmVsOgorICogICBDUFUwOiB2aXJ0dWFsIGFkYXB0ZXIgMSwgY2hhbm5lbCAxCisgKiAgIENQVTE6IHZpcnR1YWwgYWRhcHRlciAyLCBjaGFubmVsIDIKKyAqICAgQ1BVMjogdmlydHVhbCBhZGFwdGVyIDMsIGNoYW5uZWwgMworICogICBDUFUzOiB2aXJ0dWFsIGFkYXB0ZXIgNCwgY2hhbm5lbCA0CisgKi8KKworI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvaTJjLmg+CisjaW5jbHVkZSA8bGludXgvbXV0ZXguaD4KKworZXh0ZXJuIHN0cnVjdCBpMmNfYWRhcHRlciAqbmZvcmNlMl9zbWJ1czsKKworc3RhdGljIHN0cnVjdCBpMmNfYWRhcHRlciAqczQ5ODVfYWRhcHRlcjsKK3N0YXRpYyBzdHJ1Y3QgaTJjX2FsZ29yaXRobSAqczQ5ODVfYWxnbzsKKworLyogV3JhcHBlciBhY2Nlc3MgZnVuY3Rpb25zIGZvciBtdWx0aXBsZXhlZCBTTUJ1cyAqLworc3RhdGljIERFRklORV9NVVRFWChuZm9yY2UyX2xvY2spOworCitzdGF0aWMgczMyIG5mb3JjZTJfYWNjZXNzX3ZpcnQwKHN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcCwgdTE2IGFkZHIsCisJCQkJdW5zaWduZWQgc2hvcnQgZmxhZ3MsIGNoYXIgcmVhZF93cml0ZSwKKwkJCQl1OCBjb21tYW5kLCBpbnQgc2l6ZSwKKwkJCQl1bmlvbiBpMmNfc21idXNfZGF0YSAqZGF0YSkKK3sKKwlpbnQgZXJyb3I7CisKKwkvKiBXZSBleGNsdWRlIHRoZSBtdWx0aXBsZXhlZCBhZGRyZXNzZXMgKi8KKwlpZiAoKGFkZHIgJiAweGZjKSA9PSAweDUwIHx8IChhZGRyICYgMHhmYykgPT0gMHgzMAorCSB8fCBhZGRyID09IDB4MTgpCisJCXJldHVybiAtRU5YSU87CisKKwltdXRleF9sb2NrKCZuZm9yY2UyX2xvY2spOworCWVycm9yID0gbmZvcmNlMl9zbWJ1cy0+YWxnby0+c21idXNfeGZlcihhZGFwLCBhZGRyLCBmbGFncywgcmVhZF93cml0ZSwKKwkJCQkJCWNvbW1hbmQsIHNpemUsIGRhdGEpOworCW11dGV4X3VubG9jaygmbmZvcmNlMl9sb2NrKTsKKworCXJldHVybiBlcnJvcjsKK30KKworLyogV2UgcmVtZW1iZXIgdGhlIGxhc3QgdXNlZCBjaGFubmVscyBjb21iaW5hdGlvbiBzbyBhcyB0byBvbmx5IHN3aXRjaAorICAgY2hhbm5lbHMgd2hlbiBpdCBpcyByZWFsbHkgbmVlZGVkLiBUaGlzIGdyZWF0bHkgcmVkdWNlcyB0aGUgU01CdXMKKyAgIG92ZXJoZWFkLCBidXQgYWxzbyBhc3N1bWVzIHRoYXQgbm9ib2R5IHdpbGwgYmUgd3JpdGluZyB0byB0aGUgUENBOTU1NgorICAgaW4gb3VyIGJhY2suICovCitzdGF0aWMgdTggbGFzdF9jaGFubmVsczsKKworc3RhdGljIGlubGluZSBzMzIgbmZvcmNlMl9hY2Nlc3NfY2hhbm5lbChzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXAsIHUxNiBhZGRyLAorCQkJCQkgdW5zaWduZWQgc2hvcnQgZmxhZ3MsIGNoYXIgcmVhZF93cml0ZSwKKwkJCQkJIHU4IGNvbW1hbmQsIGludCBzaXplLAorCQkJCQkgdW5pb24gaTJjX3NtYnVzX2RhdGEgKmRhdGEsCisJCQkJCSB1OCBjaGFubmVscykKK3sKKwlpbnQgZXJyb3I7CisKKwkvKiBXZSBleGNsdWRlIHRoZSBub24tbXVsdGlwbGV4ZWQgYWRkcmVzc2VzICovCisJaWYgKChhZGRyICYgMHhmYykgIT0gMHg1MCAmJiAoYWRkciAmIDB4ZmMpICE9IDB4MzApCisJCXJldHVybiAtRU5YSU87CisKKwltdXRleF9sb2NrKCZuZm9yY2UyX2xvY2spOworCWlmIChsYXN0X2NoYW5uZWxzICE9IGNoYW5uZWxzKSB7CisJCXVuaW9uIGkyY19zbWJ1c19kYXRhIG1wbHhkYXRhOworCQltcGx4ZGF0YS5ieXRlID0gY2hhbm5lbHM7CisKKwkJZXJyb3IgPSBuZm9yY2UyX3NtYnVzLT5hbGdvLT5zbWJ1c194ZmVyKGFkYXAsIDB4MTgsIDAsCisJCQkJCQkJSTJDX1NNQlVTX1dSSVRFLCAweDAxLAorCQkJCQkJCUkyQ19TTUJVU19CWVRFX0RBVEEsCisJCQkJCQkJJm1wbHhkYXRhKTsKKwkJaWYgKGVycm9yKQorCQkJZ290byBVTkxPQ0s7CisJCWxhc3RfY2hhbm5lbHMgPSBjaGFubmVsczsKKwl9CisJZXJyb3IgPSBuZm9yY2UyX3NtYnVzLT5hbGdvLT5zbWJ1c194ZmVyKGFkYXAsIGFkZHIsIGZsYWdzLCByZWFkX3dyaXRlLAorCQkJCQkJY29tbWFuZCwgc2l6ZSwgZGF0YSk7CisKK1VOTE9DSzoKKwltdXRleF91bmxvY2soJm5mb3JjZTJfbG9jayk7CisJcmV0dXJuIGVycm9yOworfQorCitzdGF0aWMgczMyIG5mb3JjZTJfYWNjZXNzX3ZpcnQxKHN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcCwgdTE2IGFkZHIsCisJCQkJdW5zaWduZWQgc2hvcnQgZmxhZ3MsIGNoYXIgcmVhZF93cml0ZSwKKwkJCQl1OCBjb21tYW5kLCBpbnQgc2l6ZSwKKwkJCQl1bmlvbiBpMmNfc21idXNfZGF0YSAqZGF0YSkKK3sKKwkvKiBDUFUwOiBjaGFubmVsIDEgZW5hYmxlZCAqLworCXJldHVybiBuZm9yY2UyX2FjY2Vzc19jaGFubmVsKGFkYXAsIGFkZHIsIGZsYWdzLCByZWFkX3dyaXRlLCBjb21tYW5kLAorCQkJCSAgICAgIHNpemUsIGRhdGEsIDB4MDIpOworfQorCitzdGF0aWMgczMyIG5mb3JjZTJfYWNjZXNzX3ZpcnQyKHN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcCwgdTE2IGFkZHIsCisJCQkJdW5zaWduZWQgc2hvcnQgZmxhZ3MsIGNoYXIgcmVhZF93cml0ZSwKKwkJCQl1OCBjb21tYW5kLCBpbnQgc2l6ZSwKKwkJCQl1bmlvbiBpMmNfc21idXNfZGF0YSAqZGF0YSkKK3sKKwkvKiBDUFUxOiBjaGFubmVsIDIgZW5hYmxlZCAqLworCXJldHVybiBuZm9yY2UyX2FjY2Vzc19jaGFubmVsKGFkYXAsIGFkZHIsIGZsYWdzLCByZWFkX3dyaXRlLCBjb21tYW5kLAorCQkJCSAgICAgIHNpemUsIGRhdGEsIDB4MDQpOworfQorCitzdGF0aWMgczMyIG5mb3JjZTJfYWNjZXNzX3ZpcnQzKHN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcCwgdTE2IGFkZHIsCisJCQkJdW5zaWduZWQgc2hvcnQgZmxhZ3MsIGNoYXIgcmVhZF93cml0ZSwKKwkJCQl1OCBjb21tYW5kLCBpbnQgc2l6ZSwKKwkJCQl1bmlvbiBpMmNfc21idXNfZGF0YSAqZGF0YSkKK3sKKwkvKiBDUFUyOiBjaGFubmVsIDMgZW5hYmxlZCAqLworCXJldHVybiBuZm9yY2UyX2FjY2Vzc19jaGFubmVsKGFkYXAsIGFkZHIsIGZsYWdzLCByZWFkX3dyaXRlLCBjb21tYW5kLAorCQkJCSAgICAgIHNpemUsIGRhdGEsIDB4MDgpOworfQorCitzdGF0aWMgczMyIG5mb3JjZTJfYWNjZXNzX3ZpcnQ0KHN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcCwgdTE2IGFkZHIsCisJCQkJdW5zaWduZWQgc2hvcnQgZmxhZ3MsIGNoYXIgcmVhZF93cml0ZSwKKwkJCQl1OCBjb21tYW5kLCBpbnQgc2l6ZSwKKwkJCQl1bmlvbiBpMmNfc21idXNfZGF0YSAqZGF0YSkKK3sKKwkvKiBDUFUzOiBjaGFubmVsIDQgZW5hYmxlZCAqLworCXJldHVybiBuZm9yY2UyX2FjY2Vzc19jaGFubmVsKGFkYXAsIGFkZHIsIGZsYWdzLCByZWFkX3dyaXRlLCBjb21tYW5kLAorCQkJCSAgICAgIHNpemUsIGRhdGEsIDB4MTApOworfQorCitzdGF0aWMgaW50IF9faW5pdCBuZm9yY2UyX3M0OTg1X2luaXQodm9pZCkKK3sKKwlpbnQgaSwgZXJyb3I7CisJdW5pb24gaTJjX3NtYnVzX2RhdGEgaW9jb25maWc7CisKKwkvKiBVbnJlZ2lzdGVyIHBoeXNpY2FsIGJ1cyAqLworCWlmICghbmZvcmNlMl9zbWJ1cykKKwkJcmV0dXJuIC1FTk9ERVY7CisJZXJyb3IgPSBpMmNfZGVsX2FkYXB0ZXIobmZvcmNlMl9zbWJ1cyk7CisJaWYgKGVycm9yKSB7CisJCWRldl9lcnIoJm5mb3JjZTJfc21idXMtPmRldiwgIlBoeXNpY2FsIGJ1cyByZW1vdmFsIGZhaWxlZFxuIik7CisJCWdvdG8gRVJST1IwOworCX0KKworCXByaW50ayhLRVJOX0lORk8gIkVuYWJsaW5nIFNNQnVzIG11bHRpcGxleGluZyBmb3IgVHlhbiBTNDk4NVxuIik7CisJLyogRGVmaW5lIHRoZSA1IHZpcnR1YWwgYWRhcHRlcnMgYW5kIGFsZ29yaXRobXMgc3RydWN0dXJlcyAqLworCXM0OTg1X2FkYXB0ZXIgPSBremFsbG9jKDUgKiBzaXplb2Yoc3RydWN0IGkyY19hZGFwdGVyKSwgR0ZQX0tFUk5FTCk7CisJaWYgKCFzNDk4NV9hZGFwdGVyKSB7CisJCWVycm9yID0gLUVOT01FTTsKKwkJZ290byBFUlJPUjE7CisJfQorCXM0OTg1X2FsZ28gPSBremFsbG9jKDUgKiBzaXplb2Yoc3RydWN0IGkyY19hbGdvcml0aG0pLCBHRlBfS0VSTkVMKTsKKwlpZiAoIXM0OTg1X2FsZ28pIHsKKwkJZXJyb3IgPSAtRU5PTUVNOworCQlnb3RvIEVSUk9SMjsKKwl9CisKKwkvKiBGaWxsIGluIHRoZSBuZXcgc3RydWN0dXJlcyAqLworCXM0OTg1X2FsZ29bMF0gPSAqKG5mb3JjZTJfc21idXMtPmFsZ28pOworCXM0OTg1X2FsZ29bMF0uc21idXNfeGZlciA9IG5mb3JjZTJfYWNjZXNzX3ZpcnQwOworCXM0OTg1X2FkYXB0ZXJbMF0gPSAqbmZvcmNlMl9zbWJ1czsKKwlzNDk4NV9hZGFwdGVyWzBdLmFsZ28gPSBzNDk4NV9hbGdvOworCXM0OTg1X2FkYXB0ZXJbMF0uZGV2LnBhcmVudCA9IG5mb3JjZTJfc21idXMtPmRldi5wYXJlbnQ7CisJZm9yIChpID0gMTsgaSA8IDU7IGkrKykgeworCQlzNDk4NV9hbGdvW2ldID0gKihuZm9yY2UyX3NtYnVzLT5hbGdvKTsKKwkJczQ5ODVfYWRhcHRlcltpXSA9ICpuZm9yY2UyX3NtYnVzOworCQlzbnByaW50ZihzNDk4NV9hZGFwdGVyW2ldLm5hbWUsIHNpemVvZihzNDk4NV9hZGFwdGVyW2ldLm5hbWUpLAorCQkJICJTTUJ1cyBuRm9yY2UyIGFkYXB0ZXIgKENQVSVkKSIsIGkgLSAxKTsKKwkJczQ5ODVfYWRhcHRlcltpXS5hbGdvID0gczQ5ODVfYWxnbyArIGk7CisJCXM0OTg1X2FkYXB0ZXJbaV0uZGV2LnBhcmVudCA9IG5mb3JjZTJfc21idXMtPmRldi5wYXJlbnQ7CisJfQorCXM0OTg1X2FsZ29bMV0uc21idXNfeGZlciA9IG5mb3JjZTJfYWNjZXNzX3ZpcnQxOworCXM0OTg1X2FsZ29bMl0uc21idXNfeGZlciA9IG5mb3JjZTJfYWNjZXNzX3ZpcnQyOworCXM0OTg1X2FsZ29bM10uc21idXNfeGZlciA9IG5mb3JjZTJfYWNjZXNzX3ZpcnQzOworCXM0OTg1X2FsZ29bNF0uc21idXNfeGZlciA9IG5mb3JjZTJfYWNjZXNzX3ZpcnQ0OworCisJLyogQ29uZmlndXJlIHRoZSBQQ0E5NTU2IG11bHRpcGxleGVyICovCisJaW9jb25maWcuYnl0ZSA9IDB4MDA7IC8qIEFsbCBJL08gdG8gb3V0cHV0IG1vZGUgKi8KKwllcnJvciA9IG5mb3JjZTJfc21idXMtPmFsZ28tPnNtYnVzX3hmZXIobmZvcmNlMl9zbWJ1cywgMHgxOCwgMCwKKwkJCQkJCUkyQ19TTUJVU19XUklURSwgMHgwMywKKwkJCQkJCUkyQ19TTUJVU19CWVRFX0RBVEEsICZpb2NvbmZpZyk7CisJaWYgKGVycm9yKSB7CisJCWRldl9lcnIoJm5mb3JjZTJfc21idXMtPmRldiwgIlBDQTk1NTYgY29uZmlndXJhdGlvbiBmYWlsZWRcbiIpOworCQllcnJvciA9IC1FSU87CisJCWdvdG8gRVJST1IzOworCX0KKworCS8qIFJlZ2lzdGVyIHZpcnR1YWwgYWRhcHRlcnMgKi8KKwlmb3IgKGkgPSAwOyBpIDwgNTsgaSsrKSB7CisJCWVycm9yID0gaTJjX2FkZF9hZGFwdGVyKHM0OTg1X2FkYXB0ZXIgKyBpKTsKKwkJaWYgKGVycm9yKSB7CisJCQlkZXZfZXJyKCZuZm9yY2UyX3NtYnVzLT5kZXYsCisJCQkJIlZpcnR1YWwgYWRhcHRlciAlZCByZWdpc3RyYXRpb24gIgorCQkJCSJmYWlsZWQsIG1vZHVsZSBub3QgaW5zZXJ0ZWRcbiIsIGkpOworCQkJZm9yIChpLS07IGkgPj0gMDsgaS0tKQorCQkJCWkyY19kZWxfYWRhcHRlcihzNDk4NV9hZGFwdGVyICsgaSk7CisJCQlnb3RvIEVSUk9SMzsKKwkJfQorCX0KKworCXJldHVybiAwOworCitFUlJPUjM6CisJa2ZyZWUoczQ5ODVfYWxnbyk7CisJczQ5ODVfYWxnbyA9IE5VTEw7CitFUlJPUjI6CisJa2ZyZWUoczQ5ODVfYWRhcHRlcik7CisJczQ5ODVfYWRhcHRlciA9IE5VTEw7CitFUlJPUjE6CisJLyogUmVzdG9yZSBwaHlzaWNhbCBidXMgKi8KKwlpMmNfYWRkX2FkYXB0ZXIobmZvcmNlMl9zbWJ1cyk7CitFUlJPUjA6CisJcmV0dXJuIGVycm9yOworfQorCitzdGF0aWMgdm9pZCBfX2V4aXQgbmZvcmNlMl9zNDk4NV9leGl0KHZvaWQpCit7CisJaWYgKHM0OTg1X2FkYXB0ZXIpIHsKKwkJaW50IGk7CisKKwkJZm9yIChpID0gMDsgaSA8IDU7IGkrKykKKwkJCWkyY19kZWxfYWRhcHRlcihzNDk4NV9hZGFwdGVyK2kpOworCQlrZnJlZShzNDk4NV9hZGFwdGVyKTsKKwkJczQ5ODVfYWRhcHRlciA9IE5VTEw7CisJfQorCWtmcmVlKHM0OTg1X2FsZ28pOworCXM0OTg1X2FsZ28gPSBOVUxMOworCisJLyogUmVzdG9yZSBwaHlzaWNhbCBidXMgKi8KKwlpZiAoaTJjX2FkZF9hZGFwdGVyKG5mb3JjZTJfc21idXMpKQorCQlkZXZfZXJyKCZuZm9yY2UyX3NtYnVzLT5kZXYsICJQaHlzaWNhbCBidXMgcmVzdG9yYXRpb24gIgorCQkJImZhaWxlZFxuIik7Cit9CisKK01PRFVMRV9BVVRIT1IoIkplYW4gRGVsdmFyZSA8a2hhbGlAbGludXgtZnIub3JnPiIpOworTU9EVUxFX0RFU0NSSVBUSU9OKCJTNDk4NSBTTUJ1cyBtdWx0aXBsZXhpbmciKTsKK01PRFVMRV9MSUNFTlNFKCJHUEwiKTsKKworbW9kdWxlX2luaXQobmZvcmNlMl9zNDk4NV9pbml0KTsKK21vZHVsZV9leGl0KG5mb3JjZTJfczQ5ODVfZXhpdCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLW5mb3JjZTIuYyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtbmZvcmNlMi5jCmluZGV4IDQzYzlmOGQuLjNiMTliYzQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtbmZvcmNlMi5jCisrKyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtbmZvcmNlMi5jCkBAIC01MSw2ICs1MSw3IEBACiAjaW5jbHVkZSA8bGludXgvaTJjLmg+CiAjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KICNpbmNsdWRlIDxsaW51eC9kbWkuaD4KKyNpbmNsdWRlIDxsaW51eC9hY3BpLmg+CiAjaW5jbHVkZSA8YXNtL2lvLmg+CiAKIE1PRFVMRV9MSUNFTlNFKCJHUEwiKTsKQEAgLTEyNCw2ICsxMjUsMjAgQEAKIAogc3RhdGljIHN0cnVjdCBwY2lfZHJpdmVyIG5mb3JjZTJfZHJpdmVyOwogCisvKiBGb3IgbXVsdGlwbGV4aW5nIHN1cHBvcnQsIHdlIG5lZWQgYSBnbG9iYWwgcmVmZXJlbmNlIHRvIHRoZSAxc3QKKyAgIFNNQnVzIGNoYW5uZWwgKi8KKyNpZiBkZWZpbmVkIENPTkZJR19JMkNfTkZPUkNFMl9TNDk4NSB8fCBkZWZpbmVkIENPTkZJR19JMkNfTkZPUkNFMl9TNDk4NV9NT0RVTEUKK3N0cnVjdCBpMmNfYWRhcHRlciAqbmZvcmNlMl9zbWJ1czsKK0VYUE9SVF9TWU1CT0xfR1BMKG5mb3JjZTJfc21idXMpOworCitzdGF0aWMgdm9pZCBuZm9yY2UyX3NldF9yZWZlcmVuY2Uoc3RydWN0IGkyY19hZGFwdGVyICphZGFwKQoreworCW5mb3JjZTJfc21idXMgPSBhZGFwOworfQorI2Vsc2UKK3N0YXRpYyBpbmxpbmUgdm9pZCBuZm9yY2UyX3NldF9yZWZlcmVuY2Uoc3RydWN0IGkyY19hZGFwdGVyICphZGFwKSB7IH0KKyNlbmRpZgorCiBzdGF0aWMgdm9pZCBuZm9yY2UyX2Fib3J0KHN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcCkKIHsKIAlzdHJ1Y3QgbmZvcmNlMl9zbWJ1cyAqc21idXMgPSBhZGFwLT5hbGdvX2RhdGE7CkBAIC0xNTgsMTYgKzE3MywxNiBAQAogCQlkZXZfZGJnKCZhZGFwLT5kZXYsICJTTUJ1cyBUaW1lb3V0IVxuIik7CiAJCWlmIChzbWJ1cy0+Y2FuX2Fib3J0KQogCQkJbmZvcmNlMl9hYm9ydChhZGFwKTsKLQkJcmV0dXJuIC0xOworCQlyZXR1cm4gLUVUSU1FRE9VVDsKIAl9CiAJaWYgKCEodGVtcCAmIE5WSURJQV9TTUJfU1RTX0RPTkUpIHx8ICh0ZW1wICYgTlZJRElBX1NNQl9TVFNfU1RBVFVTKSkgewogCQlkZXZfZGJnKCZhZGFwLT5kZXYsICJUcmFuc2FjdGlvbiBmYWlsZWQgKDB4JTAyeCkhXG4iLCB0ZW1wKTsKLQkJcmV0dXJuIC0xOworCQlyZXR1cm4gLUVJTzsKIAl9CiAJcmV0dXJuIDA7CiB9CiAKLS8qIFJldHVybiAtMSBvbiBlcnJvciAqLworLyogUmV0dXJuIG5lZ2F0aXZlIGVycm5vIG9uIGVycm9yICovCiBzdGF0aWMgczMyIG5mb3JjZTJfYWNjZXNzKHN0cnVjdCBpMmNfYWRhcHRlciAqIGFkYXAsIHUxNiBhZGRyLAogCQl1bnNpZ25lZCBzaG9ydCBmbGFncywgY2hhciByZWFkX3dyaXRlLAogCQl1OCBjb21tYW5kLCBpbnQgc2l6ZSwgdW5pb24gaTJjX3NtYnVzX2RhdGEgKiBkYXRhKQpAQCAtMTc1LDcgKzE5MCw3IEBACiAJc3RydWN0IG5mb3JjZTJfc21idXMgKnNtYnVzID0gYWRhcC0+YWxnb19kYXRhOwogCXVuc2lnbmVkIGNoYXIgcHJvdG9jb2wsIHBlYzsKIAl1OCBsZW47Ci0JaW50IGk7CisJaW50IGksIHN0YXR1czsKIAogCXByb3RvY29sID0gKHJlYWRfd3JpdGUgPT0gSTJDX1NNQlVTX1JFQUQpID8gTlZJRElBX1NNQl9QUlRDTF9SRUFEIDoKIAkJTlZJRElBX1NNQl9QUlRDTF9XUklURTsKQEAgLTIxOSw3ICsyMzQsNyBAQAogCQkJCQkJIlRyYW5zYWN0aW9uIGZhaWxlZCAiCiAJCQkJCQkiKHJlcXVlc3RlZCBibG9jayBzaXplOiAlZClcbiIsCiAJCQkJCQlsZW4pOwotCQkJCQlyZXR1cm4gLTE7CisJCQkJCXJldHVybiAtRUlOVkFMOwogCQkJCX0KIAkJCQlvdXRiX3AobGVuLCBOVklESUFfU01CX0JDTlQpOwogCQkJCWZvciAoaSA9IDA7IGkgPCBJMkNfU01CVVNfQkxPQ0tfTUFYOyBpKyspCkBAIC0yMzEsMTQgKzI0NiwxNSBAQAogCiAJCWRlZmF1bHQ6CiAJCQlkZXZfZXJyKCZhZGFwLT5kZXYsICJVbnN1cHBvcnRlZCB0cmFuc2FjdGlvbiAlZFxuIiwgc2l6ZSk7Ci0JCQlyZXR1cm4gLTE7CisJCQlyZXR1cm4gLUVPUE5PVFNVUFA7CiAJfQogCiAJb3V0Yl9wKChhZGRyICYgMHg3ZikgPDwgMSwgTlZJRElBX1NNQl9BRERSKTsKIAlvdXRiX3AocHJvdG9jb2wsIE5WSURJQV9TTUJfUFJUQ0wpOwogCi0JaWYgKG5mb3JjZTJfY2hlY2tfc3RhdHVzKGFkYXApKQotCQlyZXR1cm4gLTE7CisJc3RhdHVzID0gbmZvcmNlMl9jaGVja19zdGF0dXMoYWRhcCk7CisJaWYgKHN0YXR1cykKKwkJcmV0dXJuIHN0YXR1czsKIAogCWlmIChyZWFkX3dyaXRlID09IEkyQ19TTUJVU19XUklURSkKIAkJcmV0dXJuIDA7CkBAIC0yNjAsNyArMjc2LDcgQEAKIAkJCQlkZXZfZXJyKCZhZGFwLT5kZXYsICJUcmFuc2FjdGlvbiBmYWlsZWQgIgogCQkJCQkiKHJlY2VpdmVkIGJsb2NrIHNpemU6IDB4JTAyeClcbiIsCiAJCQkJCWxlbik7Ci0JCQkJcmV0dXJuIC0xOworCQkJCXJldHVybiAtRVBST1RPOwogCQkJfQogCQkJZm9yIChpID0gMDsgaSA8IGxlbjsgaSsrKQogCQkJCWRhdGEtPmJsb2NrW2krMV0gPSBpbmJfcChOVklESUFfU01CX0RBVEEgKyBpKTsKQEAgLTMyMSwyMSArMzM3LDI2IEBACiAJCSAgICAhPSBQQ0lCSU9TX1NVQ0NFU1NGVUwpIHsKIAkJCWRldl9lcnIoJmRldi0+ZGV2LCAiRXJyb3IgcmVhZGluZyBQQ0kgY29uZmlnIGZvciAlc1xuIiwKIAkJCQluYW1lKTsKLQkJCXJldHVybiAtMTsKKwkJCXJldHVybiAtRUlPOwogCQl9CiAKIAkJc21idXMtPmJhc2UgPSBpb2Jhc2UgJiBQQ0lfQkFTRV9BRERSRVNTX0lPX01BU0s7CiAJCXNtYnVzLT5zaXplID0gNjQ7CiAJfQogCisJZXJyb3IgPSBhY3BpX2NoZWNrX3JlZ2lvbihzbWJ1cy0+YmFzZSwgc21idXMtPnNpemUsCisJCQkJICBuZm9yY2UyX2RyaXZlci5uYW1lKTsKKwlpZiAoZXJyb3IpCisJCXJldHVybiAtMTsKKwogCWlmICghcmVxdWVzdF9yZWdpb24oc21idXMtPmJhc2UsIHNtYnVzLT5zaXplLCBuZm9yY2UyX2RyaXZlci5uYW1lKSkgewogCQlkZXZfZXJyKCZzbWJ1cy0+YWRhcHRlci5kZXYsICJFcnJvciByZXF1ZXN0aW5nIHJlZ2lvbiAlMDJ4IC4uICUwMlggZm9yICVzXG4iLAogCQkJc21idXMtPmJhc2UsIHNtYnVzLT5iYXNlK3NtYnVzLT5zaXplLTEsIG5hbWUpOwotCQlyZXR1cm4gLTE7CisJCXJldHVybiAtRUJVU1k7CiAJfQogCXNtYnVzLT5hZGFwdGVyLm93bmVyID0gVEhJU19NT0RVTEU7CiAJc21idXMtPmFkYXB0ZXIuaWQgPSBJMkNfSFdfU01CVVNfTkZPUkNFMjsKLQlzbWJ1cy0+YWRhcHRlci5jbGFzcyA9IEkyQ19DTEFTU19IV01PTjsKKwlzbWJ1cy0+YWRhcHRlci5jbGFzcyA9IEkyQ19DTEFTU19IV01PTiB8IEkyQ19DTEFTU19TUEQ7CiAJc21idXMtPmFkYXB0ZXIuYWxnbyA9ICZzbWJ1c19hbGdvcml0aG07CiAJc21idXMtPmFkYXB0ZXIuYWxnb19kYXRhID0gc21idXM7CiAJc21idXMtPmFkYXB0ZXIuZGV2LnBhcmVudCA9ICZkZXYtPmRldjsKQEAgLTM0Niw3ICszNjcsNyBAQAogCWlmIChlcnJvcikgewogCQlkZXZfZXJyKCZzbWJ1cy0+YWRhcHRlci5kZXYsICJGYWlsZWQgdG8gcmVnaXN0ZXIgYWRhcHRlci5cbiIpOwogCQlyZWxlYXNlX3JlZ2lvbihzbWJ1cy0+YmFzZSwgc21idXMtPnNpemUpOwotCQlyZXR1cm4gLTE7CisJCXJldHVybiBlcnJvcjsKIAl9CiAJZGV2X2luZm8oJnNtYnVzLT5hZGFwdGVyLmRldiwgIm5Gb3JjZTIgU01CdXMgYWRhcHRlciBhdCAlI3hcbiIsIHNtYnVzLT5iYXNlKTsKIAlyZXR1cm4gMDsKQEAgLTM5OCw2ICs0MTksNyBAQAogCQlyZXR1cm4gLUVOT0RFVjsKIAl9CiAKKwluZm9yY2UyX3NldF9yZWZlcmVuY2UoJnNtYnVzZXNbMF0uYWRhcHRlcik7CiAJcmV0dXJuIDA7CiB9CiAKQEAgLTQwNiw2ICs0MjgsNyBAQAogewogCXN0cnVjdCBuZm9yY2UyX3NtYnVzICpzbWJ1c2VzID0gKHZvaWQqKSBwY2lfZ2V0X2RydmRhdGEoZGV2KTsKIAorCW5mb3JjZTJfc2V0X3JlZmVyZW5jZShOVUxMKTsKIAlpZiAoc21idXNlc1swXS5iYXNlKSB7CiAJCWkyY19kZWxfYWRhcHRlcigmc21idXNlc1swXS5hZGFwdGVyKTsKIAkJcmVsZWFzZV9yZWdpb24oc21idXNlc1swXS5iYXNlLCBzbWJ1c2VzWzBdLnNpemUpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1vY29yZXMuYyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtb2NvcmVzLmMKaW5kZXggZjE0NTY5Mi4uZTUxOTNiZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1vY29yZXMuYworKysgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLW9jb3Jlcy5jCkBAIC0yOSw2ICsyOSw3IEBACiAJaW50IHBvczsKIAlpbnQgbm1zZ3M7CiAJaW50IHN0YXRlOyAvKiBzZWUgU1RBVEVfICovCisJaW50IGNsb2NrX2toejsKIH07CiAKIC8qIHJlZ2lzdGVycyAqLwpAQCAtMTczLDggKzE3NCw3IEBACiAJCXJldHVybiAtRVRJTUVET1VUOwogfQogCi1zdGF0aWMgdm9pZCBvY29yZXNfaW5pdChzdHJ1Y3Qgb2NvcmVzX2kyYyAqaTJjLAotCQkJc3RydWN0IG9jb3Jlc19pMmNfcGxhdGZvcm1fZGF0YSAqcGRhdGEpCitzdGF0aWMgdm9pZCBvY29yZXNfaW5pdChzdHJ1Y3Qgb2NvcmVzX2kyYyAqaTJjKQogewogCWludCBwcmVzY2FsZTsKIAl1OCBjdHJsID0gb2NfZ2V0cmVnKGkyYywgT0NJMkNfQ09OVFJPTCk7CkBAIC0xODIsNyArMTgyLDcgQEAKIAkvKiBtYWtlIHN1cmUgdGhlIGRldmljZSBpcyBkaXNhYmxlZCAqLwogCW9jX3NldHJlZyhpMmMsIE9DSTJDX0NPTlRST0wsIGN0cmwgJiB+KE9DSTJDX0NUUkxfRU58T0NJMkNfQ1RSTF9JRU4pKTsKIAotCXByZXNjYWxlID0gKHBkYXRhLT5jbG9ja19raHogLyAoNSoxMDApKSAtIDE7CisJcHJlc2NhbGUgPSAoaTJjLT5jbG9ja19raHogLyAoNSoxMDApKSAtIDE7CiAJb2Nfc2V0cmVnKGkyYywgT0NJMkNfUFJFTE9XLCBwcmVzY2FsZSAmIDB4ZmYpOwogCW9jX3NldHJlZyhpMmMsIE9DSTJDX1BSRUhJR0gsIHByZXNjYWxlID4+IDgpOwogCkBAIC0yMDUsNyArMjA1LDcgQEAKIHN0YXRpYyBzdHJ1Y3QgaTJjX2FkYXB0ZXIgb2NvcmVzX2FkYXB0ZXIgPSB7CiAJLm93bmVyCQk9IFRISVNfTU9EVUxFLAogCS5uYW1lCQk9ICJpMmMtb2NvcmVzIiwKLQkuY2xhc3MJCT0gSTJDX0NMQVNTX0hXTU9OLAorCS5jbGFzcwkJPSBJMkNfQ0xBU1NfSFdNT04gfCBJMkNfQ0xBU1NfU1BELAogCS5hbGdvCQk9ICZvY29yZXNfYWxnb3JpdGhtLAogfTsKIApAQCAtMjQ4LDcgKzI0OCw4IEBACiAJfQogCiAJaTJjLT5yZWdzdGVwID0gcGRhdGEtPnJlZ3N0ZXA7Ci0Jb2NvcmVzX2luaXQoaTJjLCBwZGF0YSk7CisJaTJjLT5jbG9ja19raHogPSBwZGF0YS0+Y2xvY2tfa2h6OworCW9jb3Jlc19pbml0KGkyYyk7CiAKIAlpbml0X3dhaXRxdWV1ZV9oZWFkKCZpMmMtPndhaXQpOwogCXJldCA9IHJlcXVlc3RfaXJxKHJlczItPnN0YXJ0LCBvY29yZXNfaXNyLCAwLCBwZGV2LT5uYW1lLCBpMmMpOwpAQCAtMzEyLDEzICszMTMsNDAgQEAKIAlyZXR1cm4gMDsKIH0KIAorI2lmZGVmIENPTkZJR19QTQorc3RhdGljIGludCBvY29yZXNfaTJjX3N1c3BlbmQoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwgcG1fbWVzc2FnZV90IHN0YXRlKQoreworCXN0cnVjdCBvY29yZXNfaTJjICppMmMgPSBwbGF0Zm9ybV9nZXRfZHJ2ZGF0YShwZGV2KTsKKwl1OCBjdHJsID0gb2NfZ2V0cmVnKGkyYywgT0NJMkNfQ09OVFJPTCk7CisKKwkvKiBtYWtlIHN1cmUgdGhlIGRldmljZSBpcyBkaXNhYmxlZCAqLworCW9jX3NldHJlZyhpMmMsIE9DSTJDX0NPTlRST0wsIGN0cmwgJiB+KE9DSTJDX0NUUkxfRU58T0NJMkNfQ1RSTF9JRU4pKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IG9jb3Jlc19pMmNfcmVzdW1lKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCit7CisJc3RydWN0IG9jb3Jlc19pMmMgKmkyYyA9IHBsYXRmb3JtX2dldF9kcnZkYXRhKHBkZXYpOworCisJb2NvcmVzX2luaXQoaTJjKTsKKworCXJldHVybiAwOworfQorI2Vsc2UKKyNkZWZpbmUgb2NvcmVzX2kyY19zdXNwZW5kCU5VTEwKKyNkZWZpbmUgb2NvcmVzX2kyY19yZXN1bWUJTlVMTAorI2VuZGlmCisKIC8qIHdvcmsgd2l0aCBob3RwbHVnIGFuZCBjb2xkcGx1ZyAqLwogTU9EVUxFX0FMSUFTKCJwbGF0Zm9ybTpvY29yZXMtaTJjIik7CiAKIHN0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVyIG9jb3Jlc19pMmNfZHJpdmVyID0gewotCS5wcm9iZSAgPSBvY29yZXNfaTJjX3Byb2JlLAotCS5yZW1vdmUgPSBfX2RldmV4aXRfcChvY29yZXNfaTJjX3JlbW92ZSksCi0JLmRyaXZlciA9IHsKKwkucHJvYmUgICA9IG9jb3Jlc19pMmNfcHJvYmUsCisJLnJlbW92ZSAgPSBfX2RldmV4aXRfcChvY29yZXNfaTJjX3JlbW92ZSksCisJLnN1c3BlbmQgPSBvY29yZXNfaTJjX3N1c3BlbmQsCisJLnJlc3VtZSAgPSBvY29yZXNfaTJjX3Jlc3VtZSwKKwkuZHJpdmVyICA9IHsKIAkJLm93bmVyID0gVEhJU19NT0RVTEUsCiAJCS5uYW1lID0gIm9jb3Jlcy1pMmMiLAogCX0sCmRpZmYgLS1naXQgYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXBhc2VtaS5jIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1wYXNlbWkuYwppbmRleCAxNjAzYzgxLi5hZGYwZmJiIDEwMDY0NAotLS0gYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXBhc2VtaS5jCisrKyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtcGFzZW1pLmMKQEAgLTM2NSw3ICszNjUsNyBAQAogCXNtYnVzLT5hZGFwdGVyLm93bmVyID0gVEhJU19NT0RVTEU7CiAJc25wcmludGYoc21idXMtPmFkYXB0ZXIubmFtZSwgc2l6ZW9mKHNtYnVzLT5hZGFwdGVyLm5hbWUpLAogCQkgIlBBIFNlbWkgU01CdXMgYWRhcHRlciBhdCAweCVseCIsIHNtYnVzLT5iYXNlKTsKLQlzbWJ1cy0+YWRhcHRlci5jbGFzcyA9IEkyQ19DTEFTU19IV01PTjsKKwlzbWJ1cy0+YWRhcHRlci5jbGFzcyA9IEkyQ19DTEFTU19IV01PTiB8IEkyQ19DTEFTU19TUEQ7CiAJc21idXMtPmFkYXB0ZXIuYWxnbyA9ICZzbWJ1c19hbGdvcml0aG07CiAJc21idXMtPmFkYXB0ZXIuYWxnb19kYXRhID0gc21idXM7CiAJc21idXMtPmFkYXB0ZXIubnIgPSBQQ0lfRlVOQyhkZXYtPmRldmZuKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtcGNhLXBsYXRmb3JtLmMgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXBjYS1wbGF0Zm9ybS5jCmluZGV4IDlkNzVmNTEuLjZiYjE1YWQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtcGNhLXBsYXRmb3JtLmMKKysrIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1wY2EtcGxhdGZvcm0uYwpAQCAtMTYzLDcgKzE2Myw3IEBACiAKIAlpMmMtPnJlZ19iYXNlID0gaW9yZW1hcChyZXMtPnN0YXJ0LCByZXNfbGVuKHJlcykpOwogCWlmICghaTJjLT5yZWdfYmFzZSkgewotCQlyZXQgPSAtRUlPOworCQlyZXQgPSAtRU5PTUVNOwogCQlnb3RvIGVfcmVtYXA7CiAJfQogCWkyYy0+aW9fYmFzZSA9IHJlcy0+c3RhcnQ7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXBpaXg0LmMgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXBpaXg0LmMKaW5kZXggYWM5MTY1OS4uZWFhOWIzOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1waWl4NC5jCisrKyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtcGlpeDQuYwpAQCAtMSw2ICsxLDQgQEAKIC8qCi0gICAgcGlpeDQuYyAtIFBhcnQgb2YgbG1fc2Vuc29ycywgTGludXgga2VybmVsIG1vZHVsZXMgZm9yIGhhcmR3YXJlCi0gICAgICAgICAgICAgIG1vbml0b3JpbmcKICAgICBDb3B5cmlnaHQgKGMpIDE5OTggLSAyMDAyIEZyb2RvIExvb2lqYWFyZCA8ZnJvZG9sQGRkcy5ubD4gYW5kCiAgICAgUGhpbGlwIEVkZWxicm9jayA8cGhpbEBuZXRyb2VkZ2UuY29tPgogCkBAIC0zOSwxNiArMzcsMTAgQEAKICNpbmNsdWRlIDxsaW51eC9pMmMuaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAjaW5jbHVkZSA8bGludXgvZG1pLmg+CisjaW5jbHVkZSA8bGludXgvYWNwaS5oPgogI2luY2x1ZGUgPGFzbS9pby5oPgogCiAKLXN0cnVjdCBzZCB7Ci0JY29uc3QgdW5zaWduZWQgc2hvcnQgbWZyOwotCWNvbnN0IHVuc2lnbmVkIHNob3J0IGRldjsKLQljb25zdCB1bnNpZ25lZCBjaGFyIGZuOwotCWNvbnN0IGNoYXIgKm5hbWU7Ci19OwotCiAvKiBQSUlYNCBTTUJ1cyBhZGRyZXNzIG9mZnNldHMgKi8KICNkZWZpbmUgU01CSFNUU1RTCSgwICsgcGlpeDRfc21iYSkKICNkZWZpbmUgU01CSFNMVlNUUwkoMSArIHBpaXg0X3NtYmEpCkBAIC0xMDEsOCArOTMsNiBAQAogCQkgIkZvcmNpYmx5IGVuYWJsZSB0aGUgUElJWDQgYXQgdGhlIGdpdmVuIGFkZHJlc3MuICIKIAkJICJFWFRSRU1FTFkgREFOR0VST1VTISIpOwogCi1zdGF0aWMgaW50IHBpaXg0X3RyYW5zYWN0aW9uKHZvaWQpOwotCiBzdGF0aWMgdW5zaWduZWQgc2hvcnQgcGlpeDRfc21iYTsKIHN0YXRpYyBpbnQgc3J2cndvcmtzX2NzYjVfZGVsYXk7CiBzdGF0aWMgc3RydWN0IHBjaV9kcml2ZXIgcGlpeDRfZHJpdmVyOwpAQCAtMTQxLDggKzEzMSw2IEBACiB7CiAJdW5zaWduZWQgY2hhciB0ZW1wOwogCi0JZGV2X2luZm8oJlBJSVg0X2Rldi0+ZGV2LCAiRm91bmQgJXMgZGV2aWNlXG4iLCBwY2lfbmFtZShQSUlYNF9kZXYpKTsKLQogCWlmICgoUElJWDRfZGV2LT52ZW5kb3IgPT0gUENJX1ZFTkRPUl9JRF9TRVJWRVJXT1JLUykgJiYKIAkgICAgKFBJSVg0X2Rldi0+ZGV2aWNlID09IFBDSV9ERVZJQ0VfSURfU0VSVkVSV09SS1NfQ1NCNSkpCiAJCXNydnJ3b3Jrc19jc2I1X2RlbGF5ID0gMTsKQEAgLTE3MiwxNyArMTYwLDIwIEBACiAJCXBjaV9yZWFkX2NvbmZpZ193b3JkKFBJSVg0X2RldiwgU01CQkEsICZwaWl4NF9zbWJhKTsKIAkJcGlpeDRfc21iYSAmPSAweGZmZjA7CiAJCWlmKHBpaXg0X3NtYmEgPT0gMCkgewotCQkJZGV2X2VycigmUElJWDRfZGV2LT5kZXYsICJTTUIgYmFzZSBhZGRyZXNzICIKKwkJCWRldl9lcnIoJlBJSVg0X2Rldi0+ZGV2LCAiU01CdXMgYmFzZSBhZGRyZXNzICIKIAkJCQkidW5pbml0aWFsaXplZCAtIHVwZ3JhZGUgQklPUyBvciB1c2UgIgogCQkJCSJmb3JjZV9hZGRyPTB4YWRkclxuIik7CiAJCQlyZXR1cm4gLUVOT0RFVjsKIAkJfQogCX0KIAorCWlmIChhY3BpX2NoZWNrX3JlZ2lvbihwaWl4NF9zbWJhLCBTTUJJT1NJWkUsIHBpaXg0X2RyaXZlci5uYW1lKSkKKwkJcmV0dXJuIC1FQlVTWTsKKwogCWlmICghcmVxdWVzdF9yZWdpb24ocGlpeDRfc21iYSwgU01CSU9TSVpFLCBwaWl4NF9kcml2ZXIubmFtZSkpIHsKLQkJZGV2X2VycigmUElJWDRfZGV2LT5kZXYsICJTTUIgcmVnaW9uIDB4JXggYWxyZWFkeSBpbiB1c2UhXG4iLAorCQlkZXZfZXJyKCZQSUlYNF9kZXYtPmRldiwgIlNNQnVzIHJlZ2lvbiAweCV4IGFscmVhZHkgaW4gdXNlIVxuIiwKIAkJCXBpaXg0X3NtYmEpOwotCQlyZXR1cm4gLUVOT0RFVjsKKwkJcmV0dXJuIC1FQlVTWTsKIAl9CiAKIAlwY2lfcmVhZF9jb25maWdfYnl0ZShQSUlYNF9kZXYsIFNNQkhTVENGRywgJnRlbXApOwpAQCAtMjI4LDEzICsyMTksMTMgQEAKIAkJCSIob3IgY29kZSBvdXQgb2YgZGF0ZSkhXG4iKTsKIAogCXBjaV9yZWFkX2NvbmZpZ19ieXRlKFBJSVg0X2RldiwgU01CUkVWLCAmdGVtcCk7Ci0JZGV2X2RiZygmUElJWDRfZGV2LT5kZXYsICJTTUJSRVYgPSAweCVYXG4iLCB0ZW1wKTsKLQlkZXZfZGJnKCZQSUlYNF9kZXYtPmRldiwgIlNNQkEgPSAweCVYXG4iLCBwaWl4NF9zbWJhKTsKKwlkZXZfaW5mbygmUElJWDRfZGV2LT5kZXYsCisJCSAiU01CdXMgSG9zdCBDb250cm9sbGVyIGF0IDB4JXgsIHJldmlzaW9uICVkXG4iLAorCQkgcGlpeDRfc21iYSwgdGVtcCk7CiAKIAlyZXR1cm4gMDsKIH0KIAotLyogQW5vdGhlciBpbnRlcm5hbGx5IHVzZWQgZnVuY3Rpb24gKi8KIHN0YXRpYyBpbnQgcGlpeDRfdHJhbnNhY3Rpb24odm9pZCkKIHsKIAlpbnQgdGVtcDsKQEAgLTI1Myw3ICsyNDQsNyBAQAogCQlvdXRiX3AodGVtcCwgU01CSFNUU1RTKTsKIAkJaWYgKCh0ZW1wID0gaW5iX3AoU01CSFNUU1RTKSkgIT0gMHgwMCkgewogCQkJZGV2X2VycigmcGlpeDRfYWRhcHRlci5kZXYsICJGYWlsZWQhICglMDJ4KVxuIiwgdGVtcCk7Ci0JCQlyZXR1cm4gLTE7CisJCQlyZXR1cm4gLUVCVVNZOwogCQl9IGVsc2UgewogCQkJZGV2X2RiZygmcGlpeDRfYWRhcHRlci5kZXYsICJTdWNjZXNzZnVsIVxuIik7CiAJCX0KQEAgLTI3NSwyMyArMjY2LDIzIEBACiAJLyogSWYgdGhlIFNNQnVzIGlzIHN0aWxsIGJ1c3ksIHdlIGdpdmUgdXAgKi8KIAlpZiAodGltZW91dCA+PSBNQVhfVElNRU9VVCkgewogCQlkZXZfZXJyKCZwaWl4NF9hZGFwdGVyLmRldiwgIlNNQnVzIFRpbWVvdXQhXG4iKTsKLQkJcmVzdWx0ID0gLTE7CisJCXJlc3VsdCA9IC1FVElNRURPVVQ7CiAJfQogCiAJaWYgKHRlbXAgJiAweDEwKSB7Ci0JCXJlc3VsdCA9IC0xOworCQlyZXN1bHQgPSAtRUlPOwogCQlkZXZfZXJyKCZwaWl4NF9hZGFwdGVyLmRldiwgIkVycm9yOiBGYWlsZWQgYnVzIHRyYW5zYWN0aW9uXG4iKTsKIAl9CiAKIAlpZiAodGVtcCAmIDB4MDgpIHsKLQkJcmVzdWx0ID0gLTE7CisJCXJlc3VsdCA9IC1FSU87CiAJCWRldl9kYmcoJnBpaXg0X2FkYXB0ZXIuZGV2LCAiQnVzIGNvbGxpc2lvbiEgU01CdXMgbWF5IGJlICIKIAkJCSJsb2NrZWQgdW50aWwgbmV4dCBoYXJkIHJlc2V0LiAoc29ycnkhKVxuIik7CiAJCS8qIENsb2NrIHN0b3BzIGFuZCBzbGF2ZSBpcyBzdHVjayBpbiBtaWQtdHJhbnNtaXNzaW9uICovCiAJfQogCiAJaWYgKHRlbXAgJiAweDA0KSB7Ci0JCXJlc3VsdCA9IC0xOworCQlyZXN1bHQgPSAtRU5YSU87CiAJCWRldl9kYmcoJnBpaXg0X2FkYXB0ZXIuZGV2LCAiRXJyb3I6IG5vIHJlc3BvbnNlIVxuIik7CiAJfQogCkBAIC0zMDksMzEgKzMwMCwyOSBAQAogCXJldHVybiByZXN1bHQ7CiB9CiAKLS8qIFJldHVybiAtMSBvbiBlcnJvci4gKi8KKy8qIFJldHVybiBuZWdhdGl2ZSBlcnJubyBvbiBlcnJvci4gKi8KIHN0YXRpYyBzMzIgcGlpeDRfYWNjZXNzKHN0cnVjdCBpMmNfYWRhcHRlciAqIGFkYXAsIHUxNiBhZGRyLAogCQkgdW5zaWduZWQgc2hvcnQgZmxhZ3MsIGNoYXIgcmVhZF93cml0ZSwKIAkJIHU4IGNvbW1hbmQsIGludCBzaXplLCB1bmlvbiBpMmNfc21idXNfZGF0YSAqIGRhdGEpCiB7CiAJaW50IGksIGxlbjsKKwlpbnQgc3RhdHVzOwogCiAJc3dpdGNoIChzaXplKSB7Ci0JY2FzZSBJMkNfU01CVVNfUFJPQ19DQUxMOgotCQlkZXZfZXJyKCZhZGFwLT5kZXYsICJJMkNfU01CVVNfUFJPQ19DQUxMIG5vdCBzdXBwb3J0ZWQhXG4iKTsKLQkJcmV0dXJuIC0xOwogCWNhc2UgSTJDX1NNQlVTX1FVSUNLOgotCQlvdXRiX3AoKChhZGRyICYgMHg3ZikgPDwgMSkgfCAocmVhZF93cml0ZSAmIDB4MDEpLAorCQlvdXRiX3AoKGFkZHIgPDwgMSkgfCByZWFkX3dyaXRlLAogCQkgICAgICAgU01CSFNUQUREKTsKIAkJc2l6ZSA9IFBJSVg0X1FVSUNLOwogCQlicmVhazsKIAljYXNlIEkyQ19TTUJVU19CWVRFOgotCQlvdXRiX3AoKChhZGRyICYgMHg3ZikgPDwgMSkgfCAocmVhZF93cml0ZSAmIDB4MDEpLAorCQlvdXRiX3AoKGFkZHIgPDwgMSkgfCByZWFkX3dyaXRlLAogCQkgICAgICAgU01CSFNUQUREKTsKIAkJaWYgKHJlYWRfd3JpdGUgPT0gSTJDX1NNQlVTX1dSSVRFKQogCQkJb3V0Yl9wKGNvbW1hbmQsIFNNQkhTVENNRCk7CiAJCXNpemUgPSBQSUlYNF9CWVRFOwogCQlicmVhazsKIAljYXNlIEkyQ19TTUJVU19CWVRFX0RBVEE6Ci0JCW91dGJfcCgoKGFkZHIgJiAweDdmKSA8PCAxKSB8IChyZWFkX3dyaXRlICYgMHgwMSksCisJCW91dGJfcCgoYWRkciA8PCAxKSB8IHJlYWRfd3JpdGUsCiAJCSAgICAgICBTTUJIU1RBREQpOwogCQlvdXRiX3AoY29tbWFuZCwgU01CSFNUQ01EKTsKIAkJaWYgKHJlYWRfd3JpdGUgPT0gSTJDX1NNQlVTX1dSSVRFKQpAQCAtMzQxLDcgKzMzMCw3IEBACiAJCXNpemUgPSBQSUlYNF9CWVRFX0RBVEE7CiAJCWJyZWFrOwogCWNhc2UgSTJDX1NNQlVTX1dPUkRfREFUQToKLQkJb3V0Yl9wKCgoYWRkciAmIDB4N2YpIDw8IDEpIHwgKHJlYWRfd3JpdGUgJiAweDAxKSwKKwkJb3V0Yl9wKChhZGRyIDw8IDEpIHwgcmVhZF93cml0ZSwKIAkJICAgICAgIFNNQkhTVEFERCk7CiAJCW91dGJfcChjb21tYW5kLCBTTUJIU1RDTUQpOwogCQlpZiAocmVhZF93cml0ZSA9PSBJMkNfU01CVVNfV1JJVEUpIHsKQEAgLTM1MSwxNSArMzQwLDEzIEBACiAJCXNpemUgPSBQSUlYNF9XT1JEX0RBVEE7CiAJCWJyZWFrOwogCWNhc2UgSTJDX1NNQlVTX0JMT0NLX0RBVEE6Ci0JCW91dGJfcCgoKGFkZHIgJiAweDdmKSA8PCAxKSB8IChyZWFkX3dyaXRlICYgMHgwMSksCisJCW91dGJfcCgoYWRkciA8PCAxKSB8IHJlYWRfd3JpdGUsCiAJCSAgICAgICBTTUJIU1RBREQpOwogCQlvdXRiX3AoY29tbWFuZCwgU01CSFNUQ01EKTsKIAkJaWYgKHJlYWRfd3JpdGUgPT0gSTJDX1NNQlVTX1dSSVRFKSB7CiAJCQlsZW4gPSBkYXRhLT5ibG9ja1swXTsKLQkJCWlmIChsZW4gPCAwKQotCQkJCWxlbiA9IDA7Ci0JCQlpZiAobGVuID4gMzIpCi0JCQkJbGVuID0gMzI7CisJCQlpZiAobGVuID09IDAgfHwgbGVuID4gSTJDX1NNQlVTX0JMT0NLX01BWCkKKwkJCQlyZXR1cm4gLUVJTlZBTDsKIAkJCW91dGJfcChsZW4sIFNNQkhTVERBVDApOwogCQkJaSA9IGluYl9wKFNNQkhTVENOVCk7CS8qIFJlc2V0IFNNQkJMS0RBVCAqLwogCQkJZm9yIChpID0gMTsgaSA8PSBsZW47IGkrKykKQEAgLTM2NywxMiArMzU0LDE2IEBACiAJCX0KIAkJc2l6ZSA9IFBJSVg0X0JMT0NLX0RBVEE7CiAJCWJyZWFrOworCWRlZmF1bHQ6CisJCWRldl93YXJuKCZhZGFwLT5kZXYsICJVbnN1cHBvcnRlZCB0cmFuc2FjdGlvbiAlZFxuIiwgc2l6ZSk7CisJCXJldHVybiAtRU9QTk9UU1VQUDsKIAl9CiAKIAlvdXRiX3AoKHNpemUgJiAweDFDKSArIChFTkFCTEVfSU5UOSAmIDEpLCBTTUJIU1RDTlQpOwogCi0JaWYgKHBpaXg0X3RyYW5zYWN0aW9uKCkpCS8qIEVycm9yIGluIHRyYW5zYWN0aW9uICovCi0JCXJldHVybiAtMTsKKwlzdGF0dXMgPSBwaWl4NF90cmFuc2FjdGlvbigpOworCWlmIChzdGF0dXMpCisJCXJldHVybiBzdGF0dXM7CiAKIAlpZiAoKHJlYWRfd3JpdGUgPT0gSTJDX1NNQlVTX1dSSVRFKSB8fCAoc2l6ZSA9PSBQSUlYNF9RVUlDSykpCiAJCXJldHVybiAwOwpAQCAtMzg4LDYgKzM3OSw4IEBACiAJCWJyZWFrOwogCWNhc2UgUElJWDRfQkxPQ0tfREFUQToKIAkJZGF0YS0+YmxvY2tbMF0gPSBpbmJfcChTTUJIU1REQVQwKTsKKwkJaWYgKGRhdGEtPmJsb2NrWzBdID09IDAgfHwgZGF0YS0+YmxvY2tbMF0gPiBJMkNfU01CVVNfQkxPQ0tfTUFYKQorCQkJcmV0dXJuIC1FUFJPVE87CiAJCWkgPSBpbmJfcChTTUJIU1RDTlQpOwkvKiBSZXNldCBTTUJCTEtEQVQgKi8KIAkJZm9yIChpID0gMTsgaSA8PSBkYXRhLT5ibG9ja1swXTsgaSsrKQogCQkJZGF0YS0+YmxvY2tbaV0gPSBpbmJfcChTTUJCTEtEQVQpOwpAQCAtNDExLDcgKzQwNCw3IEBACiBzdGF0aWMgc3RydWN0IGkyY19hZGFwdGVyIHBpaXg0X2FkYXB0ZXIgPSB7CiAJLm93bmVyCQk9IFRISVNfTU9EVUxFLAogCS5pZAkJPSBJMkNfSFdfU01CVVNfUElJWDQsCi0JLmNsYXNzCQk9IEkyQ19DTEFTU19IV01PTiwKKwkuY2xhc3MJCT0gSTJDX0NMQVNTX0hXTU9OIHwgSTJDX0NMQVNTX1NQRCwKIAkuYWxnbwkJPSAmc21idXNfYWxnb3JpdGhtLAogfTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1wbWNtc3AuYyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtcG1jbXNwLmMKaW5kZXggNjNiM2UyYy4uZGNmMjA0NSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1wbWNtc3AuYworKysgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXBtY21zcC5jCkBAIC02MjIsNyArNjIyLDcgQEAKIAogc3RhdGljIHN0cnVjdCBpMmNfYWRhcHRlciBwbWNtc3B0d2lfYWRhcHRlciA9IHsKIAkub3duZXIJCT0gVEhJU19NT0RVTEUsCi0JLmNsYXNzCQk9IEkyQ19DTEFTU19IV01PTiwKKwkuY2xhc3MJCT0gSTJDX0NMQVNTX0hXTU9OIHwgSTJDX0NMQVNTX1NQRCwKIAkuYWxnbwkJPSAmcG1jbXNwdHdpX2FsZ28sCiAJLm5hbWUJCT0gRFJWX05BTUUsCiB9OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1wcm9zYXZhZ2UuYyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtcHJvc2F2YWdlLmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA3YzFmMWUuLjAwMDAwMDAKLS0tIGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1wcm9zYXZhZ2UuYworKysgL2Rldi9udWxsCkBAIC0xLDMyNSArMCwwIEBACi0vKgotICogICAga2VybmVsL2J1c3Nlcy9pMmMtcHJvc2F2YWdlLmMKLSAqCi0gKiAgICBpMmMgYnVzIGRyaXZlciBmb3IgUzMvVklBIDgzNjUvODM3NSBncmFwaGljcyBwcm9jZXNzb3IuCi0gKiAgICBDb3B5cmlnaHQgKGMpIDIwMDMgSGVuayBWZXJnb25ldCA8aGVua0Bnb2QuZHluZG5zLm9yZz4KLSAqICAgIEJhc2VkIG9uIGNvZGUgd3JpdHRlbiBieToKLSAqCUZyb2RvIExvb2lqYWFyZCA8ZnJvZG9sQGRkcy5ubD4sCi0gKglQaGlsaXAgRWRlbGJyb2NrIDxwaGlsQG5ldHJvZWRnZS5jb20+LAotICoJUmFscGggTWV0emxlciA8cmprbUB0aHAudW5pLWtvZWxuLmRlPiwgYW5kCi0gKglNYXJrIEQuIFN0dWRlYmFrZXIgPG1kc3h5ejEyM0B5YWhvby5jb20+Ci0gKglTaW1vbiBWb2dsCi0gKglhbmQgb3RoZXJzCi0gKgotICogICAgUGxlYXNlIHJlYWQgdGhlIGxtX3NlbnNvcnMgZG9jdW1lbnRhdGlvbiBmb3IgZGV0YWlscyBvbiB1c2UuCi0gKgotICogICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKLSAqICAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci0gKiAgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgotICogICAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiAgICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqICAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiAgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCi0gKiAgICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICoKLSAqICAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gKiAgICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQotICogICAgRm91bmRhdGlvbiwgSW5jLiwgNjc1IE1hc3MgQXZlLCBDYW1icmlkZ2UsIE1BIDAyMTM5LCBVU0EuCi0gKgotICovCi0vKiAgMTgtMDUtMjAwMyBIVkUgLSBjcmVhdGVkCi0gKiAgMTQtMDYtMjAwMyBIVkUgLSBhZGFwdGVkIGZvciBsbV9zZW5zb3JzMgotICogIDE3LTA2LTIwMDMgSFZFIC0gbGludXggMi41Lnh4IGNvbXBhdGlibGUKLSAqICAxOC0wNi0yMDAzIEhWRSAtIGNvZGluZ3N0eWxlCi0gKiAgMjEtMDYtMjAwMyBIVkUgLSBjb21wYXRpYmlsaXR5IGxtX3NlbnNvcnMyIGFuZCBsaW51eCAyLjUueHgKLSAqCQkgICAgIGNvZGluZ3N0eWxlLCBtbWlvIGVuYWJsZWQKLSAqCi0gKiAgVGhpcyBkcml2ZXIgaW50ZXJmYWNlcyB0byB0aGUgSTJDIGJ1cyBvZiB0aGUgVklBIG5vcnRoIGJyaWRnZSBlbWJlZGRlZAotICogIFByb1NhdmFnZTQvOCBkZXZpY2VzLiBVc2VmdWxsIGZvciBnYWluaW5nIGFjY2VzcyB0byB0aGUgVFYgRW5jb2RlciBjaGlwcy4KLSAqCi0gKiAgR3JhcGhpY3MgY29yZXM6Ci0gKiAgIFMzL1ZJQSBLTTI2Ni9WVDgzNzUgYWthIFByb1NhdmFnZTgKLSAqICAgUzMvVklBIEtNMTMzL1ZUODM2NSBha2EgU2F2YWdlNAotICoKLSAqICBUd28gc2VyaWFsIGJ1c3NlcyBhcmUgaW1wbGVtZW50ZWQ6Ci0gKiAgIFNFUklBTDEgLSBJMkMgc2VyaWFsIGNvbW11bmljYXRpb25zIGludGVyZmFjZQotICogICBTRVJJQUwyIC0gRERDMiBtb25pdG9yIGNvbW11bmljYXRpb25zIGludGVyZmFjZQotICoKLSAqICBUZXN0ZWQgb24gYSBGWDQxIG1haW5ib2FyZCwgc2VlIGh0dHA6Ly93d3cuc2h1dHRsZS5jb20KLSAqIAotICoKLSAqICBUT0RPOgotICogIC0gaW50ZWdyYXRpb24gd2l0aCBwcm9zYXZhZ2UgZnJhbWVidWZmZXIgZGV2aWNlCi0gKiAgICAoQWRkaXRpb25hbCBkb2N1bWVudGF0aW9uIG5lZWRlZCA6KAotICovCi0KLSNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KLSNpbmNsdWRlIDxsaW51eC9pbml0Lmg+Ci0jaW5jbHVkZSA8bGludXgvcGNpLmg+Ci0jaW5jbHVkZSA8bGludXgvaTJjLmg+Ci0jaW5jbHVkZSA8bGludXgvaTJjLWFsZ28tYml0Lmg+Ci0jaW5jbHVkZSA8YXNtL2lvLmg+Ci0KLS8qCi0gKiBkcml2ZXIgY29uZmlndXJhdGlvbgotICovCi0jZGVmaW5lIE1BWF9CVVNTRVMJMgotCi1zdHJ1Y3Qgc19pMmNfYnVzIHsKLQl2b2lkIF9faW9tZW0gKm1tdmdhOwotCWludAlpMmNfcmVnOwotCWludAlhZGFwX29rOwotCXN0cnVjdCBpMmNfYWRhcHRlcgkJYWRhcDsKLQlzdHJ1Y3QgaTJjX2FsZ29fYml0X2RhdGEJYWxnbzsKLX07Ci0KLXN0cnVjdCBzX2kyY19jaGlwIHsKLQl2b2lkIF9faW9tZW0gKm1taW87Ci0Jc3RydWN0IHNfaTJjX2J1cwlpMmNfYnVzW01BWF9CVVNTRVNdOwotfTsKLQotCi0vKgotICogaTJjIGNvbmZpZ3VyYXRpb24KLSAqLwotI2RlZmluZSBDWUNMRV9ERUxBWQkxMAotI2RlZmluZSBUSU1FT1VUCQkoSFogLyAyKQotCi0KLS8qIAotICogUzMvVklBIDgzNjUvODM3NSByZWdpc3RlcnMKLSAqLwotI2RlZmluZSBWR0FfQ1JfSVgJMHgzZDQKLSNkZWZpbmUgVkdBX0NSX0RBVEEJMHgzZDUKLQotI2RlZmluZSBDUl9TRVJJQUwxCTB4YTAJLyogSTJDIHNlcmlhbCBjb21tdW5pY2F0aW9ucyBpbnRlcmZhY2UgKi8KLSNkZWZpbmUgTU1fU0VSSUFMMQkweGZmMjAKLSNkZWZpbmUgQ1JfU0VSSUFMMgkweGIxCS8qIEREQzIgbW9uaXRvciBjb21tdW5pY2F0aW9ucyBpbnRlcmZhY2UgKi8KLQotLyogYmFzZWQgb24gdnQ4MzY1IGRvY3VtZW50YXRpb24gKi8KLSNkZWZpbmUgSTJDX0VOQUIJMHgxMAotI2RlZmluZSBJMkNfU0NMX09VVAkweDAxCi0jZGVmaW5lIEkyQ19TREFfT1VUCTB4MDIKLSNkZWZpbmUgSTJDX1NDTF9JTgkweDA0Ci0jZGVmaW5lIEkyQ19TREFfSU4JMHgwOAotCi0jZGVmaW5lIFNFVF9DUl9JWChwLCB2YWwpCXdyaXRlYigodmFsKSwgKHApLT5tbXZnYSArIFZHQV9DUl9JWCkKLSNkZWZpbmUgU0VUX0NSX0RBVEEocCwgdmFsKQl3cml0ZWIoKHZhbCksIChwKS0+bW12Z2EgKyBWR0FfQ1JfREFUQSkKLSNkZWZpbmUgR0VUX0NSX0RBVEEocCkJCXJlYWRiKChwKS0+bW12Z2EgKyBWR0FfQ1JfREFUQSkKLQotCi0vKgotICogU2VyaWFsIGJ1cyBsaW5lIGhhbmRsaW5nCi0gKgotICogc2VyaWFsIGNvbW11bmljYXRpb25zIHJlZ2lzdGVyIGFzIHBhcmFtZXRlciBpbiBwcml2YXRlIGRhdGEKLSAqCi0gKiBUT0RPOiBsb2NrcyB3aXRoIG90aGVyIGNvZGUgc2VjdGlvbnMgYWNjZXNzaW5nIHZpZGVvIHJlZ2lzdGVycz8KLSAqLwotc3RhdGljIHZvaWQgYml0X3MzdmlhX3NldHNjbCh2b2lkICpidXMsIGludCB2YWwpCi17Ci0Jc3RydWN0IHNfaTJjX2J1cyAqcCA9IChzdHJ1Y3Qgc19pMmNfYnVzICopYnVzOwotCXVuc2lnbmVkIGludCByOwotCi0JU0VUX0NSX0lYKHAsIHAtPmkyY19yZWcpOwotCXIgPSBHRVRfQ1JfREFUQShwKTsKLQlyIHw9IEkyQ19FTkFCOwotCWlmICh2YWwpIHsKLQkJciB8PSBJMkNfU0NMX09VVDsKLQl9IGVsc2UgewotCQlyICY9IH5JMkNfU0NMX09VVDsKLQl9Ci0JU0VUX0NSX0RBVEEocCwgcik7Ci19Ci0KLXN0YXRpYyB2b2lkIGJpdF9zM3ZpYV9zZXRzZGEodm9pZCAqYnVzLCBpbnQgdmFsKQotewotCXN0cnVjdCBzX2kyY19idXMgKnAgPSAoc3RydWN0IHNfaTJjX2J1cyAqKWJ1czsKLQl1bnNpZ25lZCBpbnQgcjsKLQkKLQlTRVRfQ1JfSVgocCwgcC0+aTJjX3JlZyk7Ci0JciA9IEdFVF9DUl9EQVRBKHApOwotCXIgfD0gSTJDX0VOQUI7Ci0JaWYgKHZhbCkgewotCQlyIHw9IEkyQ19TREFfT1VUOwotCX0gZWxzZSB7Ci0JCXIgJj0gfkkyQ19TREFfT1VUOwotCX0KLQlTRVRfQ1JfREFUQShwLCByKTsKLX0KLQotc3RhdGljIGludCBiaXRfczN2aWFfZ2V0c2NsKHZvaWQgKmJ1cykKLXsKLQlzdHJ1Y3Qgc19pMmNfYnVzICpwID0gKHN0cnVjdCBzX2kyY19idXMgKilidXM7Ci0KLQlTRVRfQ1JfSVgocCwgcC0+aTJjX3JlZyk7Ci0JcmV0dXJuICgwICE9IChHRVRfQ1JfREFUQShwKSAmIEkyQ19TQ0xfSU4pKTsKLX0KLQotc3RhdGljIGludCBiaXRfczN2aWFfZ2V0c2RhKHZvaWQgKmJ1cykKLXsKLQlzdHJ1Y3Qgc19pMmNfYnVzICpwID0gKHN0cnVjdCBzX2kyY19idXMgKilidXM7Ci0KLQlTRVRfQ1JfSVgocCwgcC0+aTJjX3JlZyk7Ci0JcmV0dXJuICgwICE9IChHRVRfQ1JfREFUQShwKSAmIEkyQ19TREFfSU4pKTsKLX0KLQotCi0vKgotICogYWRhcHRlciBpbml0aWFsaXNhdGlvbgotICovCi1zdGF0aWMgaW50IGkyY19yZWdpc3Rlcl9idXMoc3RydWN0IHBjaV9kZXYgKmRldiwgc3RydWN0IHNfaTJjX2J1cyAqcCwgdm9pZCBfX2lvbWVtICptbXZnYSwgdTMyIGkyY19yZWcpCi17Ci0JaW50IHJldDsKLQlwLT5hZGFwLm93bmVyCSAgPSBUSElTX01PRFVMRTsKLQlwLT5hZGFwLmlkCSAgPSBJMkNfSFdfQl9TM1ZJQTsKLQlwLT5hZGFwLmFsZ29fZGF0YSA9ICZwLT5hbGdvOwotCXAtPmFkYXAuZGV2LnBhcmVudCA9ICZkZXYtPmRldjsKLQlwLT5hbGdvLnNldHNkYQkgID0gYml0X3MzdmlhX3NldHNkYTsKLQlwLT5hbGdvLnNldHNjbAkgID0gYml0X3MzdmlhX3NldHNjbDsKLQlwLT5hbGdvLmdldHNkYQkgID0gYml0X3MzdmlhX2dldHNkYTsKLQlwLT5hbGdvLmdldHNjbAkgID0gYml0X3MzdmlhX2dldHNjbDsKLQlwLT5hbGdvLnVkZWxheQkgID0gQ1lDTEVfREVMQVk7Ci0JcC0+YWxnby50aW1lb3V0CSAgPSBUSU1FT1VUOwotCXAtPmFsZ28uZGF0YQkgID0gcDsKLQlwLT5tbXZnYQkgID0gbW12Z2E7Ci0JcC0+aTJjX3JlZwkgID0gaTJjX3JlZzsKLSAgICAKLQlyZXQgPSBpMmNfYml0X2FkZF9idXMoJnAtPmFkYXApOwotCWlmIChyZXQpIHsKLQkJcmV0dXJuIHJldDsKLQl9Ci0KLQlwLT5hZGFwX29rID0gMTsKLQlyZXR1cm4gMDsKLX0KLQotCi0vKgotICogQ2xlYW51cCBzdHVmZgotICovCi1zdGF0aWMgdm9pZCBwcm9zYXZhZ2VfcmVtb3ZlKHN0cnVjdCBwY2lfZGV2ICpkZXYpCi17Ci0Jc3RydWN0IHNfaTJjX2NoaXAgKmNoaXA7Ci0JaW50IGksIHJldDsKLQotCWNoaXAgPSAoc3RydWN0IHNfaTJjX2NoaXAgKilwY2lfZ2V0X2RydmRhdGEoZGV2KTsKLQotCWlmICghY2hpcCkgewotCQlyZXR1cm47Ci0JfQotCWZvciAoaSA9IE1BWF9CVVNTRVMgLSAxOyBpID49IDA7IGktLSkgewotCQlpZiAoY2hpcC0+aTJjX2J1c1tpXS5hZGFwX29rID09IDApCi0JCQljb250aW51ZTsKLQotCQlyZXQgPSBpMmNfZGVsX2FkYXB0ZXIoJmNoaXAtPmkyY19idXNbaV0uYWRhcCk7Ci0JICAgICAgICBpZiAocmV0KSB7Ci0JCQlkZXZfZXJyKCZkZXYtPmRldiwgIiVzIG5vdCByZW1vdmVkXG4iLAotCQkJCWNoaXAtPmkyY19idXNbaV0uYWRhcC5uYW1lKTsKLQkJfQotCX0KLQlpZiAoY2hpcC0+bW1pbykgewotCQlpb3VubWFwKGNoaXAtPm1taW8pOwotCX0KLQlrZnJlZShjaGlwKTsKLX0KLQotCi0vKgotICogRGV0ZWN0IGNoaXAgYW5kIGluaXRpYWxpemUgaXQKLSAqLwotc3RhdGljIGludCBfX2RldmluaXQgcHJvc2F2YWdlX3Byb2JlKHN0cnVjdCBwY2lfZGV2ICpkZXYsIGNvbnN0IHN0cnVjdCBwY2lfZGV2aWNlX2lkICppZCkKLXsKLQlpbnQgcmV0OwotCXVuc2lnbmVkIGxvbmcgYmFzZSwgbGVuOwotCXN0cnVjdCBzX2kyY19jaGlwICpjaGlwOwotCXN0cnVjdCBzX2kyY19idXMgICpidXM7Ci0KLQlwY2lfc2V0X2RydmRhdGEoZGV2LCBremFsbG9jKHNpemVvZihzdHJ1Y3Qgc19pMmNfY2hpcCksIEdGUF9LRVJORUwpKTsKLQljaGlwID0gKHN0cnVjdCBzX2kyY19jaGlwICopcGNpX2dldF9kcnZkYXRhKGRldik7Ci0JaWYgKGNoaXAgPT0gTlVMTCkgewotCQlyZXR1cm4gLUVOT01FTTsKLQl9Ci0KLQliYXNlID0gZGV2LT5yZXNvdXJjZVswXS5zdGFydCAmIFBDSV9CQVNFX0FERFJFU1NfTUVNX01BU0s7Ci0JbGVuICA9IGRldi0+cmVzb3VyY2VbMF0uZW5kIC0gYmFzZSArIDE7Ci0JY2hpcC0+bW1pbyA9IGlvcmVtYXBfbm9jYWNoZShiYXNlLCBsZW4pOwotCi0JaWYgKGNoaXAtPm1taW8gPT0gTlVMTCkgewotCQlkZXZfZXJyKCZkZXYtPmRldiwgImlvcmVtYXAgZmFpbGVkXG4iKTsKLQkJcHJvc2F2YWdlX3JlbW92ZShkZXYpOwotCQlyZXR1cm4gLUVOT0RFVjsKLQl9Ci0KLQotCS8qCi0JICogQ2hpcCBpbml0aWFsaXNhdGlvbgotCSAqLwotCS8qIFVubG9jayBFeHRlbmRlZCBJTyBTcGFjZSA/Pz8gKi8KLQotCi0JLyoKLQkgKiBpMmMgYnVzIHJlZ2lzdHJhdGlvbgotCSAqLwotCWJ1cyA9ICZjaGlwLT5pMmNfYnVzWzBdOwotCXNucHJpbnRmKGJ1cy0+YWRhcC5uYW1lLCBzaXplb2YoYnVzLT5hZGFwLm5hbWUpLAotCQkiUHJvU2F2YWdlIEkyQyBidXMgYXQgJTAyeDolMDJ4LiV4IiwKLQkJZGV2LT5idXMtPm51bWJlciwgUENJX1NMT1QoZGV2LT5kZXZmbiksIFBDSV9GVU5DKGRldi0+ZGV2Zm4pKTsKLQlyZXQgPSBpMmNfcmVnaXN0ZXJfYnVzKGRldiwgYnVzLCBjaGlwLT5tbWlvICsgMHg4MDAwLCBDUl9TRVJJQUwxKTsKLQlpZiAocmV0KSB7Ci0JCWdvdG8gZXJyX2FkYXA7Ci0JfQotCS8qCi0JICogZGRjIGJ1cyByZWdpc3RyYXRpb24KLQkgKi8KLQlidXMgPSAmY2hpcC0+aTJjX2J1c1sxXTsKLQlzbnByaW50ZihidXMtPmFkYXAubmFtZSwgc2l6ZW9mKGJ1cy0+YWRhcC5uYW1lKSwKLQkJIlByb1NhdmFnZSBEREMgYnVzIGF0ICUwMng6JTAyeC4leCIsCi0JCWRldi0+YnVzLT5udW1iZXIsIFBDSV9TTE9UKGRldi0+ZGV2Zm4pLCBQQ0lfRlVOQyhkZXYtPmRldmZuKSk7Ci0JcmV0ID0gaTJjX3JlZ2lzdGVyX2J1cyhkZXYsIGJ1cywgY2hpcC0+bW1pbyArIDB4ODAwMCwgQ1JfU0VSSUFMMik7Ci0JaWYgKHJldCkgewotCQlnb3RvIGVycl9hZGFwOwotCX0KLQlyZXR1cm4gMDsKLWVycl9hZGFwOgotCWRldl9lcnIoJmRldi0+ZGV2LCAiJXMgZmFpbGVkXG4iLCBidXMtPmFkYXAubmFtZSk7Ci0JcHJvc2F2YWdlX3JlbW92ZShkZXYpOwotCXJldHVybiByZXQ7Ci19Ci0KLQotLyoKLSAqIERhdGEgZm9yIFBDSSBkcml2ZXIgaW50ZXJmYWNlCi0gKi8KLXN0YXRpYyBzdHJ1Y3QgcGNpX2RldmljZV9pZCBwcm9zYXZhZ2VfcGNpX3RibFtdID0gewotCXsgUENJX0RFVklDRShQQ0lfVkVORE9SX0lEX1MzLCBQQ0lfREVWSUNFX0lEX1MzX1NBVkFHRTQpIH0sCi0JeyBQQ0lfREVWSUNFKFBDSV9WRU5ET1JfSURfUzMsIFBDSV9ERVZJQ0VfSURfUzNfUFJPU0FWQUdFOCkgfSwKLQl7IDAsIH0sCi19OwotCi1NT0RVTEVfREVWSUNFX1RBQkxFIChwY2ksIHByb3NhdmFnZV9wY2lfdGJsKTsKLQotc3RhdGljIHN0cnVjdCBwY2lfZHJpdmVyIHByb3NhdmFnZV9kcml2ZXIgPSB7Ci0JLm5hbWUJCT0JInByb3NhdmFnZV9zbWJ1cyIsCi0JLmlkX3RhYmxlCT0JcHJvc2F2YWdlX3BjaV90YmwsCi0JLnByb2JlCQk9CXByb3NhdmFnZV9wcm9iZSwKLQkucmVtb3ZlCQk9CXByb3NhdmFnZV9yZW1vdmUsCi19OwotCi1zdGF0aWMgaW50IF9faW5pdCBpMmNfcHJvc2F2YWdlX2luaXQodm9pZCkKLXsKLQlyZXR1cm4gcGNpX3JlZ2lzdGVyX2RyaXZlcigmcHJvc2F2YWdlX2RyaXZlcik7Ci19Ci0KLXN0YXRpYyB2b2lkIF9fZXhpdCBpMmNfcHJvc2F2YWdlX2V4aXQodm9pZCkKLXsKLQlwY2lfdW5yZWdpc3Rlcl9kcml2ZXIoJnByb3NhdmFnZV9kcml2ZXIpOwotfQotCi1NT0RVTEVfREVWSUNFX1RBQkxFKHBjaSwgcHJvc2F2YWdlX3BjaV90YmwpOwotTU9EVUxFX0FVVEhPUigiSGVuayBWZXJnb25ldCIpOwotTU9EVUxFX0RFU0NSSVBUSU9OKCJQcm9TYXZhZ2UgVklBIDgzNjUvODM3NSBzbWJ1cyBkcml2ZXIiKTsKLU1PRFVMRV9MSUNFTlNFKCJHUEwiKTsKLQotbW9kdWxlX2luaXQgKGkyY19wcm9zYXZhZ2VfaW5pdCk7Ci1tb2R1bGVfZXhpdCAoaTJjX3Byb3NhdmFnZV9leGl0KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtcHhhLmMgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXB4YS5jCmluZGV4IGViNjlmYmEuLmFmOWU2MDMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtcHhhLmMKKysrIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1weGEuYwpAQCAtMzksNyArMzksNiBAQAogI2luY2x1ZGUgPGFzbS9pby5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL2kyYy5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL3B4YS1yZWdzLmg+Ci0jaW5jbHVkZSA8YXNtL2FyY2gvcHhhMnh4LWdwaW8uaD4KIAogc3RydWN0IHB4YV9pMmMgewogCXNwaW5sb2NrX3QJCWxvY2s7CkBAIC05NDUsMzIgKzk0NCw2IEBACiAJLmZ1bmN0aW9uYWxpdHkJPSBpMmNfcHhhX2Z1bmN0aW9uYWxpdHksCiB9OwogCi1zdGF0aWMgdm9pZCBpMmNfcHhhX2VuYWJsZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpkZXYpCi17Ci0JaWYgKGNwdV9pc19weGEyN3goKSkgewotCQlzd2l0Y2ggKGRldi0+aWQpIHsKLQkJY2FzZSAwOgotCQkJcHhhX2dwaW9fbW9kZShHUElPMTE3X0kyQ1NDTF9NRCk7Ci0JCQlweGFfZ3Bpb19tb2RlKEdQSU8xMThfSTJDU0RBX01EKTsKLQkJCWJyZWFrOwotCQljYXNlIDE6Ci0JCQlsb2NhbF9pcnFfZGlzYWJsZSgpOwotCQkJUENGUiB8PSBQQ0ZSX1BJMkNFTjsKLQkJCWxvY2FsX2lycV9lbmFibGUoKTsKLQkJCWJyZWFrOwotCQl9Ci0JfQotfQotCi1zdGF0aWMgdm9pZCBpMmNfcHhhX2Rpc2FibGUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqZGV2KQotewotCWlmIChjcHVfaXNfcHhhMjd4KCkgJiYgZGV2LT5pZCA9PSAxKSB7Ci0JCWxvY2FsX2lycV9kaXNhYmxlKCk7Ci0JCVBDRlIgJj0gflBDRlJfUEkyQ0VOOwotCQlsb2NhbF9pcnFfZW5hYmxlKCk7Ci0JfQotfQotCiAjZGVmaW5lIHJlc19sZW4ocikJCSgociktPmVuZCAtIChyKS0+c3RhcnQgKyAxKQogc3RhdGljIGludCBpMmNfcHhhX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKmRldikKIHsKQEAgLTEwMzYsNyArMTAwOSw2IEBACiAjZW5kaWYKIAogCWNsa19lbmFibGUoaTJjLT5jbGspOwotCWkyY19weGFfZW5hYmxlKGRldik7CiAKIAlpZiAocGxhdCkgewogCQlpMmMtPmFkYXAuY2xhc3MgPSBwbGF0LT5jbGFzczsKQEAgLTEwODAsNyArMTA1Miw2IEBACiAJCWZyZWVfaXJxKGlycSwgaTJjKTsKIGVyZXFpcnE6CiAJY2xrX2Rpc2FibGUoaTJjLT5jbGspOwotCWkyY19weGFfZGlzYWJsZShkZXYpOwogCWlvdW5tYXAoaTJjLT5yZWdfYmFzZSk7CiBlcmVtYXA6CiAJY2xrX3B1dChpMmMtPmNsayk7CkBAIC0xMTAzLDcgKzEwNzQsNiBAQAogCiAJY2xrX2Rpc2FibGUoaTJjLT5jbGspOwogCWNsa19wdXQoaTJjLT5jbGspOwotCWkyY19weGFfZGlzYWJsZShkZXYpOwogCiAJaW91bm1hcChpMmMtPnJlZ19iYXNlKTsKIAlyZWxlYXNlX21lbV9yZWdpb24oaTJjLT5pb2Jhc2UsIGkyYy0+aW9zaXplKTsKQEAgLTExMzQsNSArMTEwNCw1IEBACiBNT0RVTEVfTElDRU5TRSgiR1BMIik7CiBNT0RVTEVfQUxJQVMoInBsYXRmb3JtOnB4YTJ4eC1pMmMiKTsKIAotbW9kdWxlX2luaXQoaTJjX2FkYXBfcHhhX2luaXQpOworc3Vic3lzX2luaXRjYWxsKGkyY19hZGFwX3B4YV9pbml0KTsKIG1vZHVsZV9leGl0KGkyY19hZGFwX3B4YV9leGl0KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtczNjMjQxMC5jIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1zM2MyNDEwLmMKaW5kZXggOWU4Yzg3NS4uMDA3MzkwYSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1zM2MyNDEwLmMKKysrIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1zM2MyNDEwLmMKQEAgLTU5MCw3ICs1OTAsNyBAQAogCQkub3duZXIJCQk9IFRISVNfTU9EVUxFLAogCQkuYWxnbwkJCT0gJnMzYzI0eHhfaTJjX2FsZ29yaXRobSwKIAkJLnJldHJpZXMJCT0gMiwKLQkJLmNsYXNzCQkJPSBJMkNfQ0xBU1NfSFdNT04sCisJCS5jbGFzcwkJCT0gSTJDX0NMQVNTX0hXTU9OIHwgSTJDX0NMQVNTX1NQRCwKIAl9LAogfTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1zYXZhZ2U0LmMgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXNhdmFnZTQuYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGFkZjRhYi4uMDAwMDAwMAotLS0gYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXNhdmFnZTQuYworKysgL2Rldi9udWxsCkBAIC0xLDE4NSArMCwwIEBACi0vKgotICAgIGkyYy1zYXZhZ2U0LmMgLSBQYXJ0IG9mIGxtX3NlbnNvcnMsIExpbnV4IGtlcm5lbCBtb2R1bGVzIGZvciBoYXJkd2FyZQotICAgICAgICAgICAgICBtb25pdG9yaW5nCi0gICAgQ29weXJpZ2h0IChDKSAxOTk4LTIwMDMgIFRoZSBMTSBTZW5zb3JzIFRlYW0KLSAgICBBbGV4YW5kZXIgV29sZCA8YXdvbGRAYmlnZm9vdC5jb20+Ci0gICAgTWFyayBELiBTdHVkZWJha2VyIDxtZHN4eXoxMjNAeWFob28uY29tPgotICAgIAotICAgIEJhc2VkIG9uIGkyYy12b29kb28zLmMuCi0KLSAgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQotICAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci0gICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKLSAgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotCi0gICAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCi0gICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLQotICAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gICAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKLSAgICBGb3VuZGF0aW9uLCBJbmMuLCA2NzUgTWFzcyBBdmUsIENhbWJyaWRnZSwgTUEgMDIxMzksIFVTQS4KLSovCi0KLS8qIFRoaXMgaW50ZXJmYWNlcyB0byB0aGUgSTJDIGJ1cyBvZiB0aGUgU2F2YWdlNCB0byBnYWluIGFjY2VzcyB0bwotICAgdGhlIEJUODY5IGFuZCBwb3NzaWJseSBvdGhlciBJMkMgZGV2aWNlcy4gVGhlIEREQyBidXMgaXMgbm90Ci0gICB5ZXQgc3VwcG9ydGVkIGJlY2F1c2UgaXRzIHJlZ2lzdGVyIGlzIG5vdCBtZW1vcnktbWFwcGVkLgotKi8KLQotI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgotI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgotI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KLSNpbmNsdWRlIDxsaW51eC9wY2kuaD4KLSNpbmNsdWRlIDxsaW51eC9pMmMuaD4KLSNpbmNsdWRlIDxsaW51eC9pMmMtYWxnby1iaXQuaD4KLSNpbmNsdWRlIDxhc20vaW8uaD4KLQotLyogZGV2aWNlIElEcyAqLwotI2RlZmluZSBQQ0lfQ0hJUF9TQVZBR0U0CTB4OEEyMgotI2RlZmluZSBQQ0lfQ0hJUF9TQVZBR0UyMDAwCTB4OTEwMgotCi0jZGVmaW5lIFJFRwkJCTB4ZmYyMAkvKiBTZXJpYWwgUG9ydCAxIFJlZ2lzdGVyICovCi0KLS8qIGJpdCBsb2NhdGlvbnMgaW4gdGhlIHJlZ2lzdGVyICovCi0jZGVmaW5lIEkyQ19FTkFCCQkweDAwMDAwMDIwCi0jZGVmaW5lIEkyQ19TQ0xfT1VUCQkweDAwMDAwMDAxCi0jZGVmaW5lIEkyQ19TREFfT1VUCQkweDAwMDAwMDAyCi0jZGVmaW5lIEkyQ19TQ0xfSU4JCTB4MDAwMDAwMDgKLSNkZWZpbmUgSTJDX1NEQV9JTgkJMHgwMDAwMDAxMAotCi0vKiBkZWxheXMgKi8KLSNkZWZpbmUgQ1lDTEVfREVMQVkJCTEwCi0jZGVmaW5lIFRJTUVPVVQJCQkoSFogLyAyKQotCi0KLXN0YXRpYyB2b2lkIF9faW9tZW0gKmlvYWRkcjsKLQotLyogVGhlIHNhdiBHUElPIHJlZ2lzdGVycyBkb24ndCBoYXZlIGluZGl2aWR1YWwgbWFza3MgZm9yIGVhY2ggYml0Ci0gICBzbyB3ZSBhbHdheXMgaGF2ZSB0byByZWFkIGJlZm9yZSB3cml0aW5nLiAqLwotCi1zdGF0aWMgdm9pZCBiaXRfc2F2aTJjX3NldHNjbCh2b2lkICpkYXRhLCBpbnQgdmFsKQotewotCXVuc2lnbmVkIGludCByOwotCXIgPSByZWFkbChpb2FkZHIgKyBSRUcpOwotCWlmKHZhbCkKLQkJciB8PSBJMkNfU0NMX09VVDsKLQllbHNlCi0JCXIgJj0gfkkyQ19TQ0xfT1VUOwotCXdyaXRlbChyLCBpb2FkZHIgKyBSRUcpOwotCXJlYWRsKGlvYWRkciArIFJFRyk7CS8qIGZsdXNoIHBvc3RlZCB3cml0ZSAqLwotfQotCi1zdGF0aWMgdm9pZCBiaXRfc2F2aTJjX3NldHNkYSh2b2lkICpkYXRhLCBpbnQgdmFsKQotewotCXVuc2lnbmVkIGludCByOwotCXIgPSByZWFkbChpb2FkZHIgKyBSRUcpOwotCWlmKHZhbCkKLQkJciB8PSBJMkNfU0RBX09VVDsKLQllbHNlCi0JCXIgJj0gfkkyQ19TREFfT1VUOwotCXdyaXRlbChyLCBpb2FkZHIgKyBSRUcpOwotCXJlYWRsKGlvYWRkciArIFJFRyk7CS8qIGZsdXNoIHBvc3RlZCB3cml0ZSAqLwotfQotCi0vKiBUaGUgR1BJTyBwaW5zIGFyZSBvcGVuIGRyYWluLCBzbyB0aGUgcGlucyBhbHdheXMgcmVtYWluIG91dHB1dHMuCi0gICBXZSByZWx5IG9uIHRoZSBpMmMtYWxnby1iaXQgcm91dGluZXMgdG8gc2V0IHRoZSBwaW5zIGhpZ2ggYmVmb3JlCi0gICByZWFkaW5nIHRoZSBpbnB1dCBmcm9tIG90aGVyIGNoaXBzLiAqLwotCi1zdGF0aWMgaW50IGJpdF9zYXZpMmNfZ2V0c2NsKHZvaWQgKmRhdGEpCi17Ci0JcmV0dXJuICgwICE9IChyZWFkbChpb2FkZHIgKyBSRUcpICYgSTJDX1NDTF9JTikpOwotfQotCi1zdGF0aWMgaW50IGJpdF9zYXZpMmNfZ2V0c2RhKHZvaWQgKmRhdGEpCi17Ci0JcmV0dXJuICgwICE9IChyZWFkbChpb2FkZHIgKyBSRUcpICYgSTJDX1NEQV9JTikpOwotfQotCi0vKiBDb25maWd1cmVzIHRoZSBjaGlwICovCi0KLXN0YXRpYyBpbnQgY29uZmlnX3M0KHN0cnVjdCBwY2lfZGV2ICpkZXYpCi17Ci0JdW5zaWduZWQgbG9uZyBjYWRyOwotCi0JLyogbWFwIG1lbW9yeSAqLwotCWNhZHIgPSBkZXYtPnJlc291cmNlWzBdLnN0YXJ0OwotCWNhZHIgJj0gUENJX0JBU0VfQUREUkVTU19NRU1fTUFTSzsKLQlpb2FkZHIgPSBpb3JlbWFwX25vY2FjaGUoY2FkciwgMHgwMDgwMDAwKTsKLQlpZiAoaW9hZGRyKSB7Ci0JCS8qIHdyaXRlbCgweDgxNjAsIGlvYWRkciArIFJFRzIpOyAqLwotCQl3cml0ZWwoMHgwMDAwMDAyMCwgaW9hZGRyICsgUkVHKTsKLQkJZGV2X2luZm8oJmRldi0+ZGV2LCAiVXNpbmcgU2F2YWdlNCBhdCAlcFxuIiwgaW9hZGRyKTsKLQkJcmV0dXJuIDA7Ci0JfQotCXJldHVybiAtRU5PREVWOwotfQotCi1zdGF0aWMgc3RydWN0IGkyY19hbGdvX2JpdF9kYXRhIHNhdl9pMmNfYml0X2RhdGEgPSB7Ci0JLnNldHNkYQkJPSBiaXRfc2F2aTJjX3NldHNkYSwKLQkuc2V0c2NsCQk9IGJpdF9zYXZpMmNfc2V0c2NsLAotCS5nZXRzZGEJCT0gYml0X3NhdmkyY19nZXRzZGEsCi0JLmdldHNjbAkJPSBiaXRfc2F2aTJjX2dldHNjbCwKLQkudWRlbGF5CQk9IENZQ0xFX0RFTEFZLAotCS50aW1lb3V0CT0gVElNRU9VVAotfTsKLQotc3RhdGljIHN0cnVjdCBpMmNfYWRhcHRlciBzYXZhZ2U0X2kyY19hZGFwdGVyID0gewotCS5vd25lcgkJPSBUSElTX01PRFVMRSwKLQkuaWQJCT0gSTJDX0hXX0JfU0FWQUdFLAotCS5uYW1lCQk9ICJJMkMgU2F2YWdlNCBhZGFwdGVyIiwKLQkuYWxnb19kYXRhCT0gJnNhdl9pMmNfYml0X2RhdGEsCi19OwotCi1zdGF0aWMgc3RydWN0IHBjaV9kZXZpY2VfaWQgc2F2YWdlNF9pZHNbXSBfX2RldmluaXRkYXRhID0gewotCXsgUENJX0RFVklDRShQQ0lfVkVORE9SX0lEX1MzLCBQQ0lfQ0hJUF9TQVZBR0U0KSB9LAotCXsgUENJX0RFVklDRShQQ0lfVkVORE9SX0lEX1MzLCBQQ0lfQ0hJUF9TQVZBR0UyMDAwKSB9LAotCXsgMCwgfQotfTsKLQotTU9EVUxFX0RFVklDRV9UQUJMRSAocGNpLCBzYXZhZ2U0X2lkcyk7Ci0KLXN0YXRpYyBpbnQgX19kZXZpbml0IHNhdmFnZTRfcHJvYmUoc3RydWN0IHBjaV9kZXYgKmRldiwgY29uc3Qgc3RydWN0IHBjaV9kZXZpY2VfaWQgKmlkKQotewotCWludCByZXR2YWw7Ci0KLQlyZXR2YWwgPSBjb25maWdfczQoZGV2KTsKLQlpZiAocmV0dmFsKQotCQlyZXR1cm4gcmV0dmFsOwotCi0JLyogc2V0IHVwIHRoZSBzeXNmcyBsaW5rYWdlIHRvIG91ciBwYXJlbnQgZGV2aWNlICovCi0Jc2F2YWdlNF9pMmNfYWRhcHRlci5kZXYucGFyZW50ID0gJmRldi0+ZGV2OwotCi0JcmV0dXJuIGkyY19iaXRfYWRkX2J1cygmc2F2YWdlNF9pMmNfYWRhcHRlcik7Ci19Ci0KLXN0YXRpYyB2b2lkIF9fZGV2ZXhpdCBzYXZhZ2U0X3JlbW92ZShzdHJ1Y3QgcGNpX2RldiAqZGV2KQotewotCWkyY19kZWxfYWRhcHRlcigmc2F2YWdlNF9pMmNfYWRhcHRlcik7Ci0JaW91bm1hcChpb2FkZHIpOwotfQotCi1zdGF0aWMgc3RydWN0IHBjaV9kcml2ZXIgc2F2YWdlNF9kcml2ZXIgPSB7Ci0JLm5hbWUJCT0gInNhdmFnZTRfc21idXMiLAotCS5pZF90YWJsZQk9IHNhdmFnZTRfaWRzLAotCS5wcm9iZQkJPSBzYXZhZ2U0X3Byb2JlLAotCS5yZW1vdmUJCT0gX19kZXZleGl0X3Aoc2F2YWdlNF9yZW1vdmUpLAotfTsKLQotc3RhdGljIGludCBfX2luaXQgaTJjX3NhdmFnZTRfaW5pdCh2b2lkKQotewotCXJldHVybiBwY2lfcmVnaXN0ZXJfZHJpdmVyKCZzYXZhZ2U0X2RyaXZlcik7Ci19Ci0KLXN0YXRpYyB2b2lkIF9fZXhpdCBpMmNfc2F2YWdlNF9leGl0KHZvaWQpCi17Ci0JcGNpX3VucmVnaXN0ZXJfZHJpdmVyKCZzYXZhZ2U0X2RyaXZlcik7Ci19Ci0KLU1PRFVMRV9BVVRIT1IoIkFsZXhhbmRlciBXb2xkIDxhd29sZEBiaWdmb290LmNvbT4gIgotCQkiYW5kIE1hcmsgRC4gU3R1ZGViYWtlciA8bWRzeHl6MTIzQHlhaG9vLmNvbT4iKTsKLU1PRFVMRV9ERVNDUklQVElPTigiU2F2YWdlNCBJMkMvU01CdXMgZHJpdmVyIik7Ci1NT0RVTEVfTElDRU5TRSgiR1BMIik7Ci0KLW1vZHVsZV9pbml0KGkyY19zYXZhZ2U0X2luaXQpOwotbW9kdWxlX2V4aXQoaTJjX3NhdmFnZTRfZXhpdCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXNpYnl0ZS5jIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1zaWJ5dGUuYwppbmRleCAxMTQ2MzRkLi40ZGRlZmJmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXNpYnl0ZS5jCisrKyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtc2lieXRlLmMKQEAgLTE0Myw3ICsxNDMsNyBAQAogCWNzcl9vdXQzMihzcGVlZCwgU01CX0NTUihhZGFwLFJfU01CX0ZSRVEpKTsKIAljc3Jfb3V0MzIoMCwgU01CX0NTUihhZGFwLFJfU01CX0NPTlRST0wpKTsKIAotCXJldHVybiBpMmNfYWRkX2FkYXB0ZXIoaTJjX2FkYXApOworCXJldHVybiBpMmNfYWRkX251bWJlcmVkX2FkYXB0ZXIoaTJjX2FkYXApOwogfQogCiAKQEAgLTE1NiwxNyArMTU2LDE5IEBACiAJewogCQkub3duZXIJCT0gVEhJU19NT0RVTEUsCiAJCS5pZAkJPSBJMkNfSFdfU0lCWVRFLAotCQkuY2xhc3MJCT0gSTJDX0NMQVNTX0hXTU9OLAorCQkuY2xhc3MJCT0gSTJDX0NMQVNTX0hXTU9OIHwgSTJDX0NMQVNTX1NQRCwKIAkJLmFsZ28JCT0gTlVMTCwKIAkJLmFsZ29fZGF0YQk9ICZzaWJ5dGVfYm9hcmRfZGF0YVswXSwKKwkJLm5yCQk9IDAsCiAJCS5uYW1lCQk9ICJTaUJ5dGUgU01CdXMgMCIsCiAJfSwKIAl7CiAJCS5vd25lcgkJPSBUSElTX01PRFVMRSwKIAkJLmlkCQk9IEkyQ19IV19TSUJZVEUsCi0JCS5jbGFzcwkJPSBJMkNfQ0xBU1NfSFdNT04sCisJCS5jbGFzcwkJPSBJMkNfQ0xBU1NfSFdNT04gfCBJMkNfQ0xBU1NfU1BELAogCQkuYWxnbwkJPSBOVUxMLAogCQkuYWxnb19kYXRhCT0gJnNpYnl0ZV9ib2FyZF9kYXRhWzFdLAorCQkubnIJCT0gMSwKIAkJLm5hbWUJCT0gIlNpQnl0ZSBTTUJ1cyAxIiwKIAl9LAogfTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtc2lzNTU5NS5jIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1zaXM1NTk1LmMKaW5kZXggOWNhOGY5MS4uZGZjMmQ1ZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1zaXM1NTk1LmMKKysrIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1zaXM1NTk1LmMKQEAgLTEsNiArMSw0IEBACiAvKgotICAgIHNpczU1OTUuYyAtIFBhcnQgb2YgbG1fc2Vuc29ycywgTGludXgga2VybmVsIG1vZHVsZXMgZm9yIGhhcmR3YXJlCi0gICAgICAgICAgICAgIG1vbml0b3JpbmcKICAgICBDb3B5cmlnaHQgKGMpIDE5OTgsIDE5OTkgIEZyb2RvIExvb2lqYWFyZCA8ZnJvZG9sQGRkcy5ubD4gYW5kCiAgICAgUGhpbGlwIEVkZWxicm9jayA8cGhpbEBuZXRyb2VkZ2UuY29tPgogCkBAIC02Miw2ICs2MCw3IEBACiAjaW5jbHVkZSA8bGludXgvaW9wb3J0Lmg+CiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgogI2luY2x1ZGUgPGxpbnV4L2kyYy5oPgorI2luY2x1ZGUgPGxpbnV4L2FjcGkuaD4KICNpbmNsdWRlIDxhc20vaW8uaD4KIAogc3RhdGljIGludCBibGFja2xpc3RbXSA9IHsKQEAgLTE3NCw2ICsxNzMsMTEgQEAKIAogCS8qIE5COiBXZSBncmFiIGp1c3QgdGhlIHR3byBTTUJ1cyByZWdpc3RlcnMgaGVyZSwgYnV0IHRoaXMgbWF5IHN0aWxsCiAJICogaW50ZXJmZXJlIHdpdGggQUNQSSA6LSggICovCisJcmV0dmFsID0gYWNwaV9jaGVja19yZWdpb24oc2lzNTU5NV9iYXNlICsgU01CX0lOREVYLCAyLAorCQkJCSAgIHNpczU1OTVfZHJpdmVyLm5hbWUpOworCWlmIChyZXR2YWwpCisJCXJldHVybiByZXR2YWw7CisKIAlpZiAoIXJlcXVlc3RfcmVnaW9uKHNpczU1OTVfYmFzZSArIFNNQl9JTkRFWCwgMiwKIAkJCSAgICBzaXM1NTk1X2RyaXZlci5uYW1lKSkgewogCQlkZXZfZXJyKCZTSVM1NTk1X2Rldi0+ZGV2LCAiU01CdXMgcmVnaXN0ZXJzIDB4JTA0eC0weCUwNHggYWxyZWFkeSBpbiB1c2UhXG4iLApAQCAtMjM2LDcgKzI0MCw3IEBACiAJCXNpczU1OTVfd3JpdGUoU01CX1NUU19ISSwgdGVtcCA+PiA4KTsKIAkJaWYgKCh0ZW1wID0gc2lzNTU5NV9yZWFkKFNNQl9TVFNfTE8pICsgKHNpczU1OTVfcmVhZChTTUJfU1RTX0hJKSA8PCA4KSkgIT0gMHgwMCkgewogCQkJZGV2X2RiZygmYWRhcC0+ZGV2LCAiRmFpbGVkISAoJTAyeClcbiIsIHRlbXApOwotCQkJcmV0dXJuIC0xOworCQkJcmV0dXJuIC1FQlVTWTsKIAkJfSBlbHNlIHsKIAkJCWRldl9kYmcoJmFkYXAtPmRldiwgIlN1Y2Nlc3NmdWwhXG4iKTsKIAkJfQpAQCAtMjU0LDE5ICsyNTgsMTkgQEAKIAkvKiBJZiB0aGUgU01CdXMgaXMgc3RpbGwgYnVzeSwgd2UgZ2l2ZSB1cCAqLwogCWlmICh0aW1lb3V0ID49IE1BWF9USU1FT1VUKSB7CiAJCWRldl9kYmcoJmFkYXAtPmRldiwgIlNNQnVzIFRpbWVvdXQhXG4iKTsKLQkJcmVzdWx0ID0gLTE7CisJCXJlc3VsdCA9IC1FVElNRURPVVQ7CiAJfQogCiAJaWYgKHRlbXAgJiAweDEwKSB7CiAJCWRldl9kYmcoJmFkYXAtPmRldiwgIkVycm9yOiBGYWlsZWQgYnVzIHRyYW5zYWN0aW9uXG4iKTsKLQkJcmVzdWx0ID0gLTE7CisJCXJlc3VsdCA9IC1FTlhJTzsKIAl9CiAKIAlpZiAodGVtcCAmIDB4MjApIHsKIAkJZGV2X2VycigmYWRhcC0+ZGV2LCAiQnVzIGNvbGxpc2lvbiEgU01CdXMgbWF5IGJlIGxvY2tlZCB1bnRpbCAiCiAJCQkibmV4dCBoYXJkIHJlc2V0IChvciBub3QuLi4pXG4iKTsKIAkJLyogQ2xvY2sgc3RvcHMgYW5kIHNsYXZlIGlzIHN0dWNrIGluIG1pZC10cmFuc21pc3Npb24gKi8KLQkJcmVzdWx0ID0gLTE7CisJCXJlc3VsdCA9IC1FSU87CiAJfQogCiAJdGVtcCA9IHNpczU1OTVfcmVhZChTTUJfU1RTX0xPKSArIChzaXM1NTk1X3JlYWQoU01CX1NUU19ISSkgPDwgOCk7CkBAIC0yODIsMTEgKzI4NiwxMyBAQAogCXJldHVybiByZXN1bHQ7CiB9CiAKLS8qIFJldHVybiAtMSBvbiBlcnJvci4gKi8KKy8qIFJldHVybiBuZWdhdGl2ZSBlcnJubyBvbiBlcnJvci4gKi8KIHN0YXRpYyBzMzIgc2lzNTU5NV9hY2Nlc3Moc3RydWN0IGkyY19hZGFwdGVyICphZGFwLCB1MTYgYWRkciwKIAkJCSAgdW5zaWduZWQgc2hvcnQgZmxhZ3MsIGNoYXIgcmVhZF93cml0ZSwKIAkJCSAgdTggY29tbWFuZCwgaW50IHNpemUsIHVuaW9uIGkyY19zbWJ1c19kYXRhICpkYXRhKQogeworCWludCBzdGF0dXM7CisKIAlzd2l0Y2ggKHNpemUpIHsKIAljYXNlIEkyQ19TTUJVU19RVUlDSzoKIAkJc2lzNTU5NV93cml0ZShTTUJfQUREUiwgKChhZGRyICYgMHg3ZikgPDwgMSkgfCAocmVhZF93cml0ZSAmIDB4MDEpKTsKQEAgLTMxOCwxMyArMzI0LDE0IEBACiAJCWJyZWFrOwogCWRlZmF1bHQ6CiAJCWRldl93YXJuKCZhZGFwLT5kZXYsICJVbnN1cHBvcnRlZCB0cmFuc2FjdGlvbiAlZFxuIiwgc2l6ZSk7Ci0JCXJldHVybiAtMTsKKwkJcmV0dXJuIC1FT1BOT1RTVVBQOwogCX0KIAogCXNpczU1OTVfd3JpdGUoU01CX0NUTF9MTywgKChzaXplICYgMHgwRSkpKTsKIAotCWlmIChzaXM1NTk1X3RyYW5zYWN0aW9uKGFkYXApKQotCQlyZXR1cm4gLTE7CisJc3RhdHVzID0gc2lzNTU5NV90cmFuc2FjdGlvbihhZGFwKTsKKwlpZiAoc3RhdHVzKQorCQlyZXR1cm4gc3RhdHVzOwogCiAJaWYgKChzaXplICE9IFNJUzU1OTVfUFJPQ19DQUxMKSAmJgogCSAgICAoKHJlYWRfd3JpdGUgPT0gSTJDX1NNQlVTX1dSSVRFKSB8fCAoc2l6ZSA9PSBTSVM1NTk1X1FVSUNLKSkpCkBAIC0zNTksNyArMzY2LDcgQEAKIHN0YXRpYyBzdHJ1Y3QgaTJjX2FkYXB0ZXIgc2lzNTU5NV9hZGFwdGVyID0gewogCS5vd25lcgkJPSBUSElTX01PRFVMRSwKIAkuaWQJCT0gSTJDX0hXX1NNQlVTX1NJUzU1OTUsCi0JLmNsYXNzICAgICAgICAgID0gSTJDX0NMQVNTX0hXTU9OLAorCS5jbGFzcyAgICAgICAgICA9IEkyQ19DTEFTU19IV01PTiB8IEkyQ19DTEFTU19TUEQsCiAJLmFsZ28JCT0gJnNtYnVzX2FsZ29yaXRobSwKIH07CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtc2lzNjMwLmMgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXNpczYzMC5jCmluZGV4IDM3NjVkZDcuLmU3YzRiNzkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtc2lzNjMwLmMKKysrIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1zaXM2MzAuYwpAQCAtMSw3ICsxLDQgQEAKIC8qCi0gICAgaTJjLXNpczYzMC5jIC0gUGFydCBvZiBsbV9zZW5zb3JzLCBMaW51eCBrZXJuZWwgbW9kdWxlcyBmb3IgaGFyZHdhcmUKLSAgICAgICAgICAgICAgbW9uaXRvcmluZwotCiAgICAgQ29weXJpZ2h0IChjKSAyMDAyLDIwMDMgQWxleGFuZGVyIE1hbHlzaCA8YW1hbHlzaEB3ZWIuZGU+CiAKICAgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQpAQCAtNTUsNiArNTIsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2lvcG9ydC5oPgogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KICNpbmNsdWRlIDxsaW51eC9pMmMuaD4KKyNpbmNsdWRlIDxsaW51eC9hY3BpLmg+CiAjaW5jbHVkZSA8YXNtL2lvLmg+CiAKIC8qIFNJUzYzMCBTTUJ1cyByZWdpc3RlcnMgKi8KQEAgLTEzNCw3ICsxMzIsNyBAQAogCiAJCWlmICgodGVtcCA9IHNpczYzMF9yZWFkKFNNQl9DTlQpICYgMHgwMykgIT0gMHgwMCkgewogCQkJZGV2X2RiZygmYWRhcC0+ZGV2LCAiRmFpbGVkISAoJTAyeClcbiIsIHRlbXApOwotCQkJcmV0dXJuIC0xOworCQkJcmV0dXJuIC1FQlVTWTsKICAgICAgICAgICAgICAgICB9IGVsc2UgewogCQkJZGV2X2RiZygmYWRhcC0+ZGV2LCAiU3VjY2Vzc2Z1bCFcbiIpOwogCQl9CkBAIC0xNzcsMTcgKzE3NSwxNyBAQAogCS8qIElmIHRoZSBTTUJ1cyBpcyBzdGlsbCBidXN5LCB3ZSBnaXZlIHVwICovCiAJaWYgKHRpbWVvdXQgPj0gTUFYX1RJTUVPVVQpIHsKIAkJZGV2X2RiZygmYWRhcC0+ZGV2LCAiU01CdXMgVGltZW91dCFcbiIpOwotCQlyZXN1bHQgPSAtMTsKKwkJcmVzdWx0ID0gLUVUSU1FRE9VVDsKIAl9CiAKIAlpZiAodGVtcCAmIDB4MDIpIHsKIAkJZGV2X2RiZygmYWRhcC0+ZGV2LCAiRXJyb3I6IEZhaWxlZCBidXMgdHJhbnNhY3Rpb25cbiIpOwotCQlyZXN1bHQgPSAtMTsKKwkJcmVzdWx0ID0gLUVOWElPOwogCX0KIAogCWlmICh0ZW1wICYgMHgwNCkgewogCQlkZXZfZXJyKCZhZGFwLT5kZXYsICJCdXMgY29sbGlzaW9uIVxuIik7Ci0JCXJlc3VsdCA9IC0xOworCQlyZXN1bHQgPSAtRUlPOwogCQkvKgogCQkgIFRCRDogRGF0YXNoZWV0IHNheToKIAkJICB0aGUgc29mdHdhcmUgc2hvdWxkIGNsZWFyIHRoaXMgYml0IGFuZCByZXN0YXJ0IFNNQlVTIG9wZXJhdGlvbi4KQEAgLTI1MCw4ICsyNDgsMTAgQEAKIAkJCWlmIChpPT04IHx8IChsZW48OCAmJiBpPT1sZW4pKSB7CiAJCQkJZGV2X2RiZygmYWRhcC0+ZGV2LCAic3RhcnQgdHJhbnMgbGVuPSVkIGk9JWRcbiIsbGVuICxpKTsKIAkJCQkvKiBmaXJzdCB0cmFuc2FjdGlvbiAqLwotCQkJCWlmIChzaXM2MzBfdHJhbnNhY3Rpb25fc3RhcnQoYWRhcCwgU0lTNjMwX0JMT0NLX0RBVEEsICZvbGRjbG9jaykpCi0JCQkJCXJldHVybiAtMTsKKwkJCQlyYyA9IHNpczYzMF90cmFuc2FjdGlvbl9zdGFydChhZGFwLAorCQkJCQkJU0lTNjMwX0JMT0NLX0RBVEEsICZvbGRjbG9jayk7CisJCQkJaWYgKHJjKQorCQkJCQlyZXR1cm4gcmM7CiAJCQl9CiAJCQllbHNlIGlmICgoaS0xKSU4ID09IDcgfHwgaT09bGVuKSB7CiAJCQkJZGV2X2RiZygmYWRhcC0+ZGV2LCAidHJhbnNfd2FpdCBsZW49JWQgaT0lZFxuIixsZW4saSk7CkBAIC0yNjQsOSArMjY0LDEwIEBACiAJCQkJCSovCiAJCQkJCXNpczYzMF93cml0ZShTTUJfU1RTLDB4MTApOwogCQkJCX0KLQkJCQlpZiAoc2lzNjMwX3RyYW5zYWN0aW9uX3dhaXQoYWRhcCwgU0lTNjMwX0JMT0NLX0RBVEEpKSB7CisJCQkJcmMgPSBzaXM2MzBfdHJhbnNhY3Rpb25fd2FpdChhZGFwLAorCQkJCQkJU0lTNjMwX0JMT0NLX0RBVEEpOworCQkJCWlmIChyYykgewogCQkJCQlkZXZfZGJnKCZhZGFwLT5kZXYsICJ0cmFuc193YWl0IGZhaWxlZFxuIik7Ci0JCQkJCXJjID0gLTE7CiAJCQkJCWJyZWFrOwogCQkJCX0KIAkJCX0KQEAgLTI3NSwxMyArMjc2LDE0IEBACiAJZWxzZSB7CiAJCS8qIHJlYWQgcmVxdWVzdCAqLwogCQlkYXRhLT5ibG9ja1swXSA9IGxlbiA9IDA7Ci0JCWlmIChzaXM2MzBfdHJhbnNhY3Rpb25fc3RhcnQoYWRhcCwgU0lTNjMwX0JMT0NLX0RBVEEsICZvbGRjbG9jaykpIHsKLQkJCXJldHVybiAtMTsKLQkJfQorCQlyYyA9IHNpczYzMF90cmFuc2FjdGlvbl9zdGFydChhZGFwLAorCQkJCVNJUzYzMF9CTE9DS19EQVRBLCAmb2xkY2xvY2spOworCQlpZiAocmMpCisJCQlyZXR1cm4gcmM7CiAJCWRvIHsKLQkJCWlmIChzaXM2MzBfdHJhbnNhY3Rpb25fd2FpdChhZGFwLCBTSVM2MzBfQkxPQ0tfREFUQSkpIHsKKwkJCXJjID0gc2lzNjMwX3RyYW5zYWN0aW9uX3dhaXQoYWRhcCwgU0lTNjMwX0JMT0NLX0RBVEEpOworCQkJaWYgKHJjKSB7CiAJCQkJZGV2X2RiZygmYWRhcC0+ZGV2LCAidHJhbnNfd2FpdCBmYWlsZWRcbiIpOwotCQkJCXJjID0gLTE7CiAJCQkJYnJlYWs7CiAJCQl9CiAJCQkvKiBpZiB0aGlzIGZpcnN0IHRyYW5zYWN0aW9uIHRoZW4gcmVhZCBieXRlIGNvdW50ICovCkBAIC0zMTEsMTEgKzMxMywxMyBAQAogCXJldHVybiByYzsKIH0KIAotLyogUmV0dXJuIC0xIG9uIGVycm9yLiAqLworLyogUmV0dXJuIG5lZ2F0aXZlIGVycm5vIG9uIGVycm9yLiAqLwogc3RhdGljIHMzMiBzaXM2MzBfYWNjZXNzKHN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcCwgdTE2IGFkZHIsCiAJCQkgdW5zaWduZWQgc2hvcnQgZmxhZ3MsIGNoYXIgcmVhZF93cml0ZSwKIAkJCSB1OCBjb21tYW5kLCBpbnQgc2l6ZSwgdW5pb24gaTJjX3NtYnVzX2RhdGEgKmRhdGEpCiB7CisJaW50IHN0YXR1czsKKwogCXN3aXRjaCAoc2l6ZSkgewogCQljYXNlIEkyQ19TTUJVU19RVUlDSzoKIAkJCXNpczYzMF93cml0ZShTTUJfQUREUiwgKChhZGRyICYgMHg3ZikgPDwgMSkgfCAocmVhZF93cml0ZSAmIDB4MDEpKTsKQEAgLTM1MCwxMyArMzU0LDE0IEBACiAJCQlzaXplID0gU0lTNjMwX0JMT0NLX0RBVEE7CiAJCQlyZXR1cm4gc2lzNjMwX2Jsb2NrX2RhdGEoYWRhcCwgZGF0YSwgcmVhZF93cml0ZSk7CiAJCWRlZmF1bHQ6Ci0JCQlwcmludGsoIlVuc3VwcG9ydGVkIEkyQyBzaXplXG4iKTsKLQkJCXJldHVybiAtMTsKLQkJCWJyZWFrOworCQkJZGV2X3dhcm4oJmFkYXAtPmRldiwgIlVuc3VwcG9ydGVkIHRyYW5zYWN0aW9uICVkXG4iLAorCQkJCSBzaXplKTsKKwkJCXJldHVybiAtRU9QTk9UU1VQUDsKIAl9CiAKLQlpZiAoc2lzNjMwX3RyYW5zYWN0aW9uKGFkYXAsIHNpemUpKQotCQlyZXR1cm4gLTE7CisJc3RhdHVzID0gc2lzNjMwX3RyYW5zYWN0aW9uKGFkYXAsIHNpemUpOworCWlmIChzdGF0dXMpCisJCXJldHVybiBzdGF0dXM7CiAKIAlpZiAoKHNpemUgIT0gU0lTNjMwX1BDQUxMKSAmJgogCQkoKHJlYWRfd3JpdGUgPT0gSTJDX1NNQlVTX1dSSVRFKSB8fCAoc2l6ZSA9PSBTSVM2MzBfUVVJQ0spKSkgewpAQCAtMzcyLDkgKzM3Nyw2IEBACiAJCWNhc2UgU0lTNjMwX1dPUkRfREFUQToKIAkJCWRhdGEtPndvcmQgPSBzaXM2MzBfcmVhZChTTUJfQllURSkgKyAoc2lzNjMwX3JlYWQoU01CX0JZVEUgKyAxKSA8PCA4KTsKIAkJCWJyZWFrOwotCQlkZWZhdWx0OgotCQkJcmV0dXJuIC0xOwotCQkJYnJlYWs7CiAJfQogCiAJcmV0dXJuIDA7CkBAIC00MzMsNiArNDM1LDExIEBACiAKIAlkZXZfZGJnKCZzaXM2MzBfZGV2LT5kZXYsICJBQ1BJIGJhc2UgYXQgMHglMDR4XG4iLCBhY3BpX2Jhc2UpOwogCisJcmV0dmFsID0gYWNwaV9jaGVja19yZWdpb24oYWNwaV9iYXNlICsgU01CX1NUUywgU0lTNjMwX1NNQl9JT1JFR0lPTiwKKwkJCQkgICBzaXM2MzBfZHJpdmVyLm5hbWUpOworCWlmIChyZXR2YWwpCisJCWdvdG8gZXhpdDsKKwogCS8qIEV2ZXJ5dGhpbmcgaXMgaGFwcHksIGxldCdzIGdyYWIgdGhlIG1lbW9yeSBhbmQgc2V0IHRoaW5ncyB1cC4gKi8KIAlpZiAoIXJlcXVlc3RfcmVnaW9uKGFjcGlfYmFzZSArIFNNQl9TVFMsIFNJUzYzMF9TTUJfSU9SRUdJT04sCiAJCQkgICAgc2lzNjMwX2RyaXZlci5uYW1lKSkgewpAQCAtNDU4LDcgKzQ2NSw3IEBACiBzdGF0aWMgc3RydWN0IGkyY19hZGFwdGVyIHNpczYzMF9hZGFwdGVyID0gewogCS5vd25lcgkJPSBUSElTX01PRFVMRSwKIAkuaWQJCT0gSTJDX0hXX1NNQlVTX1NJUzYzMCwKLQkuY2xhc3MJCT0gSTJDX0NMQVNTX0hXTU9OLAorCS5jbGFzcwkJPSBJMkNfQ0xBU1NfSFdNT04gfCBJMkNfQ0xBU1NfU1BELAogCS5hbGdvCQk9ICZzbWJ1c19hbGdvcml0aG0sCiB9OwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXNpczk2eC5jIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1zaXM5NnguYwppbmRleCBkYzIzNWJiLi5mMWJiYTYzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXNpczk2eC5jCisrKyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtc2lzOTZ4LmMKQEAgLTEsNyArMSw0IEBACiAvKgotICAgIHNpczk2eC5jIC0gUGFydCBvZiBsbV9zZW5zb3JzLCBMaW51eCBrZXJuZWwgbW9kdWxlcyBmb3IgaGFyZHdhcmUKLSAgICAgICAgICAgICAgbW9uaXRvcmluZwotCiAgICAgQ29weXJpZ2h0IChjKSAyMDAzIE1hcmsgTS4gSG9mZm1hbiA8bWhvZmZtYW5AbGlnaHRsaW5rLmNvbT4KIAogICAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CkBAIC00MCw2ICszNyw3IEBACiAjaW5jbHVkZSA8bGludXgvaW9wb3J0Lmg+CiAjaW5jbHVkZSA8bGludXgvaTJjLmg+CiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L2FjcGkuaD4KICNpbmNsdWRlIDxhc20vaW8uaD4KIAogLyogYmFzZSBhZGRyZXNzIHJlZ2lzdGVyIGluIFBDSSBjb25maWcgc3BhY2UgKi8KQEAgLTExMSw3ICsxMDksNyBAQAogCQkvKiBjaGVjayBpdCBhZ2FpbiAqLwogCQlpZiAoKCh0ZW1wID0gc2lzOTZ4X3JlYWQoU01CX0NOVCkpICYgMHgwMykgIT0gMHgwMCkgewogCQkJZGV2X2RiZygmc2lzOTZ4X2FkYXB0ZXIuZGV2LCAiRmFpbGVkICgweCUwMngpXG4iLCB0ZW1wKTsKLQkJCXJldHVybiAtMTsKKwkJCXJldHVybiAtRUJVU1k7CiAJCX0gZWxzZSB7CiAJCQlkZXZfZGJnKCZzaXM5NnhfYWRhcHRlci5kZXYsICJTdWNjZXNzZnVsXG4iKTsKIAkJfQpAQCAtMTM2LDE5ICsxMzQsMTkgQEAKIAkvKiBJZiB0aGUgU01CdXMgaXMgc3RpbGwgYnVzeSwgd2UgZ2l2ZSB1cCAqLwogCWlmICh0aW1lb3V0ID49IE1BWF9USU1FT1VUKSB7CiAJCWRldl9kYmcoJnNpczk2eF9hZGFwdGVyLmRldiwgIlNNQnVzIFRpbWVvdXQhICgweCUwMngpXG4iLCB0ZW1wKTsKLQkJcmVzdWx0ID0gLTE7CisJCXJlc3VsdCA9IC1FVElNRURPVVQ7CiAJfQogCiAJLyogZGV2aWNlIGVycm9yIC0gcHJvYmFibHkgbWlzc2luZyBBQ0sgKi8KIAlpZiAodGVtcCAmIDB4MDIpIHsKIAkJZGV2X2RiZygmc2lzOTZ4X2FkYXB0ZXIuZGV2LCAiRmFpbGVkIGJ1cyB0cmFuc2FjdGlvbiFcbiIpOwotCQlyZXN1bHQgPSAtMTsKKwkJcmVzdWx0ID0gLUVOWElPOwogCX0KIAogCS8qIGJ1cyBjb2xsaXNpb24gKi8KIAlpZiAodGVtcCAmIDB4MDQpIHsKIAkJZGV2X2RiZygmc2lzOTZ4X2FkYXB0ZXIuZGV2LCAiQnVzIGNvbGxpc2lvbiFcbiIpOwotCQlyZXN1bHQgPSAtMTsKKwkJcmVzdWx0ID0gLUVJTzsKIAl9CiAKIAkvKiBGaW5pc2ggdXAgYnkgcmVzZXR0aW5nIHRoZSBidXMgKi8KQEAgLTE2MSwxMSArMTU5LDEyIEBACiAJcmV0dXJuIHJlc3VsdDsKIH0KIAotLyogUmV0dXJuIC0xIG9uIGVycm9yLiAqLworLyogUmV0dXJuIG5lZ2F0aXZlIGVycm5vIG9uIGVycm9yLiAqLwogc3RhdGljIHMzMiBzaXM5NnhfYWNjZXNzKHN0cnVjdCBpMmNfYWRhcHRlciAqIGFkYXAsIHUxNiBhZGRyLAogCQkJIHVuc2lnbmVkIHNob3J0IGZsYWdzLCBjaGFyIHJlYWRfd3JpdGUsCiAJCQkgdTggY29tbWFuZCwgaW50IHNpemUsIHVuaW9uIGkyY19zbWJ1c19kYXRhICogZGF0YSkKIHsKKwlpbnQgc3RhdHVzOwogCiAJc3dpdGNoIChzaXplKSB7CiAJY2FzZSBJMkNfU01CVVNfUVVJQ0s6CkBAIC0yMDAsMjAgKzE5OSwxNCBAQAogCQkJU0lTOTZ4X1BST0NfQ0FMTCA6IFNJUzk2eF9XT1JEX0RBVEEpOwogCQlicmVhazsKIAotCWNhc2UgSTJDX1NNQlVTX0JMT0NLX0RBVEE6Ci0JCS8qIFRPIERPOiAqLwotCQlkZXZfaW5mbygmYWRhcC0+ZGV2LCAiU01CdXMgYmxvY2sgbm90IGltcGxlbWVudGVkIVxuIik7Ci0JCXJldHVybiAtMTsKLQkJYnJlYWs7Ci0KIAlkZWZhdWx0OgotCQlkZXZfaW5mbygmYWRhcC0+ZGV2LCAiVW5zdXBwb3J0ZWQgSTJDIHNpemVcbiIpOwotCQlyZXR1cm4gLTE7Ci0JCWJyZWFrOworCQlkZXZfd2FybigmYWRhcC0+ZGV2LCAiVW5zdXBwb3J0ZWQgdHJhbnNhY3Rpb24gJWRcbiIsIHNpemUpOworCQlyZXR1cm4gLUVPUE5PVFNVUFA7CiAJfQogCi0JaWYgKHNpczk2eF90cmFuc2FjdGlvbihzaXplKSkKLQkJcmV0dXJuIC0xOworCXN0YXR1cyA9IHNpczk2eF90cmFuc2FjdGlvbihzaXplKTsKKwlpZiAoc3RhdHVzKQorCQlyZXR1cm4gc3RhdHVzOwogCiAJaWYgKChzaXplICE9IFNJUzk2eF9QUk9DX0NBTEwpICYmCiAJCSgocmVhZF93cml0ZSA9PSBJMkNfU01CVVNfV1JJVEUpIHx8IChzaXplID09IFNJUzk2eF9RVUlDSykpKQpAQCAtMjQ5LDcgKzI0Miw3IEBACiBzdGF0aWMgc3RydWN0IGkyY19hZGFwdGVyIHNpczk2eF9hZGFwdGVyID0gewogCS5vd25lcgkJPSBUSElTX01PRFVMRSwKIAkuaWQJCT0gSTJDX0hXX1NNQlVTX1NJUzk2WCwKLQkuY2xhc3MJCT0gSTJDX0NMQVNTX0hXTU9OLAorCS5jbGFzcwkJPSBJMkNfQ0xBU1NfSFdNT04gfCBJMkNfQ0xBU1NfU1BELAogCS5hbGdvCQk9ICZzbWJ1c19hbGdvcml0aG0sCiB9OwogCkBAIC0yODYsNiArMjc5LDEwIEBACiAJZGV2X2luZm8oJmRldi0+ZGV2LCAiU2lTOTZ4IFNNQnVzIGJhc2UgYWRkcmVzczogMHglMDR4XG4iLAogCQkJc2lzOTZ4X3NtYnVzX2Jhc2UpOwogCisJcmV0dmFsID0gYWNwaV9jaGVja19yZXNvdXJjZV9jb25mbGljdCgmZGV2LT5yZXNvdXJjZVtTSVM5NnhfQkFSXSk7CisJaWYgKHJldHZhbCkKKwkJcmV0dXJuIHJldHZhbDsKKwogCS8qIEV2ZXJ5dGhpbmcgaXMgaGFwcHksIGxldCdzIGdyYWIgdGhlIG1lbW9yeSBhbmQgc2V0IHRoaW5ncyB1cC4gKi8KIAlpZiAoIXJlcXVlc3RfcmVnaW9uKHNpczk2eF9zbWJ1c19iYXNlLCBTTUJfSU9TSVpFLAogCQkJICAgIHNpczk2eF9kcml2ZXIubmFtZSkpIHsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtc3R1Yi5jIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1zdHViLmMKaW5kZXggZDA4ZWVlYy4uMWI3YjJhZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1zdHViLmMKKysrIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1zdHViLmMKQEAgLTQzLDcgKzQzLDcgQEAKIAogc3RhdGljIHN0cnVjdCBzdHViX2NoaXAgKnN0dWJfY2hpcHM7CiAKLS8qIFJldHVybiAtMSBvbiBlcnJvci4gKi8KKy8qIFJldHVybiBuZWdhdGl2ZSBlcnJubyBvbiBlcnJvci4gKi8KIHN0YXRpYyBzMzIgc3R1Yl94ZmVyKHN0cnVjdCBpMmNfYWRhcHRlciAqIGFkYXAsIHUxNiBhZGRyLCB1bnNpZ25lZCBzaG9ydCBmbGFncywKIAljaGFyIHJlYWRfd3JpdGUsIHU4IGNvbW1hbmQsIGludCBzaXplLCB1bmlvbiBpMmNfc21idXNfZGF0YSAqIGRhdGEpCiB7CkBAIC0xMjAsNyArMTIwLDcgQEAKIAogCWRlZmF1bHQ6CiAJCWRldl9kYmcoJmFkYXAtPmRldiwgIlVuc3VwcG9ydGVkIEkyQy9TTUJ1cyBjb21tYW5kXG4iKTsKLQkJcmV0ID0gLTE7CisJCXJldCA9IC1FT1BOT1RTVVBQOwogCQlicmVhazsKIAl9IC8qIHN3aXRjaCAoc2l6ZSkgKi8KIApAQCAtMTQwLDcgKzE0MCw3IEBACiAKIHN0YXRpYyBzdHJ1Y3QgaTJjX2FkYXB0ZXIgc3R1Yl9hZGFwdGVyID0gewogCS5vd25lcgkJPSBUSElTX01PRFVMRSwKLQkuY2xhc3MJCT0gSTJDX0NMQVNTX0hXTU9OLAorCS5jbGFzcwkJPSBJMkNfQ0xBU1NfSFdNT04gfCBJMkNfQ0xBU1NfU1BELAogCS5hbGdvCQk9ICZzbWJ1c19hbGdvcml0aG0sCiAJLm5hbWUJCT0gIlNNQnVzIHN0dWIgZHJpdmVyIiwKIH07CmRpZmYgLS1naXQgYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXRhb3MtZXZtLmMgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXRhb3MtZXZtLmMKaW5kZXggZGU5ZGI0OS4uMjI0YWExMiAxMDA2NDQKLS0tIGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy10YW9zLWV2bS5jCisrKyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtdGFvcy1ldm0uYwpAQCAtOTYsOSArOTYsOCBAQAogCQkJc3ByaW50ZihwLCAiJCUwMlgiLCBjb21tYW5kKTsKIAkJYnJlYWs7CiAJZGVmYXVsdDoKLQkJZGV2X2RiZygmYWRhcHRlci0+ZGV2LCAiVW5zdXBwb3J0ZWQgdHJhbnNhY3Rpb24gc2l6ZSAlZFxuIiwKLQkJCXNpemUpOwotCQlyZXR1cm4gLUVJTlZBTDsKKwkJZGV2X3dhcm4oJmFkYXB0ZXItPmRldiwgIlVuc3VwcG9ydGVkIHRyYW5zYWN0aW9uICVkXG4iLCBzaXplKTsKKwkJcmV0dXJuIC1FT1BOT1RTVVBQOwogCX0KIAogCS8qIFNlbmQgdGhlIHRyYW5zYWN0aW9uIHRvIHRoZSBUQU9TIEVWTSAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy12aWEuYyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtdmlhLmMKaW5kZXggNjE3MTZmNi4uMjljZWYwNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy12aWEuYworKysgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXZpYS5jCkBAIC0xLDcgKzEsNCBAQAogLyoKLSAgICBpMmMtdmlhLmMgLSBQYXJ0IG9mIGxtX3NlbnNvcnMsICBMaW51eCBrZXJuZWwgbW9kdWxlcwotICAgICAgICAgICAgICAgIGZvciBoYXJkd2FyZSBtb25pdG9yaW5nCi0KICAgICBpMmMgU3VwcG9ydCBmb3IgVmlhIFRlY2hub2xvZ2llcyA4MkM1ODZCIFNvdXRoIEJyaWRnZQogCiAgICAgQ29weXJpZ2h0IChjKSAxOTk4LCAxOTk5IEt5w7ZzdGkgTcOkbGtraSA8a21hbGtraUBjYy5odXQuZmk+CkBAIC04Nyw3ICs4NCw3IEBACiBzdGF0aWMgc3RydWN0IGkyY19hZGFwdGVyIHZ0NTg2Yl9hZGFwdGVyID0gewogCS5vd25lcgkJPSBUSElTX01PRFVMRSwKIAkuaWQJCT0gSTJDX0hXX0JfVklBLAotCS5jbGFzcyAgICAgICAgICA9IEkyQ19DTEFTU19IV01PTiwKKwkuY2xhc3MgICAgICAgICAgPSBJMkNfQ0xBU1NfSFdNT04gfCBJMkNfQ0xBU1NfU1BELAogCS5uYW1lCQk9ICJWSUEgaTJjIiwKIAkuYWxnb19kYXRhCT0gJmJpdF9kYXRhLAogfTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtdmlhcHJvLmMgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXZpYXByby5jCmluZGV4IDc3YjEzZDAuLjg2MmViMzUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtdmlhcHJvLmMKKysrIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy12aWFwcm8uYwpAQCAtMSw2ICsxLDQgQEAKIC8qCi0gICAgaTJjLXZpYXByby5jIC0gUGFydCBvZiBsbV9zZW5zb3JzLCBMaW51eCBrZXJuZWwgbW9kdWxlcyBmb3IgaGFyZHdhcmUKLSAgICAgICAgICAgICAgbW9uaXRvcmluZwogICAgIENvcHlyaWdodCAoYykgMTk5OCAtIDIwMDIgIEZyb2RvIExvb2lqYWFyZCA8ZnJvZG9sQGRkcy5ubD4sCiAgICAgUGhpbGlwIEVkZWxicm9jayA8cGhpbEBuZXRyb2VkZ2UuY29tPiwgS3nDtnN0aSBNw6Rsa2tpIDxrbWFsa2tpQGNjLmh1dC5maT4sCiAgICAgTWFyayBELiBTdHVkZWJha2VyIDxtZHN4eXoxMjNAeWFob28uY29tPgpAQCAtNTAsNiArNDgsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2lvcG9ydC5oPgogI2luY2x1ZGUgPGxpbnV4L2kyYy5oPgogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9hY3BpLmg+CiAjaW5jbHVkZSA8YXNtL2lvLmg+CiAKIHN0YXRpYyBzdHJ1Y3QgcGNpX2RldiAqdnQ1OTZfcGRldjsKQEAgLTE1Miw3ICsxNTEsNyBAQAogCQlpZiAoKHRlbXAgPSBpbmJfcChTTUJIU1RTVFMpKSAmIDB4MUYpIHsKIAkJCWRldl9lcnIoJnZ0NTk2X2FkYXB0ZXIuZGV2LCAiU01CdXMgcmVzZXQgZmFpbGVkISAiCiAJCQkJIigweCUwMngpXG4iLCB0ZW1wKTsKLQkJCXJldHVybiAtMTsKKwkJCXJldHVybiAtRUJVU1k7CiAJCX0KIAl9CiAKQEAgLTE2NywyNCArMTY2LDI0IEBACiAKIAkvKiBJZiB0aGUgU01CdXMgaXMgc3RpbGwgYnVzeSwgd2UgZ2l2ZSB1cCAqLwogCWlmICh0aW1lb3V0ID49IE1BWF9USU1FT1VUKSB7Ci0JCXJlc3VsdCA9IC0xOworCQlyZXN1bHQgPSAtRVRJTUVET1VUOwogCQlkZXZfZXJyKCZ2dDU5Nl9hZGFwdGVyLmRldiwgIlNNQnVzIHRpbWVvdXQhXG4iKTsKIAl9CiAKIAlpZiAodGVtcCAmIDB4MTApIHsKLQkJcmVzdWx0ID0gLTE7CisJCXJlc3VsdCA9IC1FSU87CiAJCWRldl9lcnIoJnZ0NTk2X2FkYXB0ZXIuZGV2LCAiVHJhbnNhY3Rpb24gZmFpbGVkICgweCUwMngpXG4iLAogCQkJc2l6ZSk7CiAJfQogCiAJaWYgKHRlbXAgJiAweDA4KSB7Ci0JCXJlc3VsdCA9IC0xOworCQlyZXN1bHQgPSAtRUlPOwogCQlkZXZfZXJyKCZ2dDU5Nl9hZGFwdGVyLmRldiwgIlNNQnVzIGNvbGxpc2lvbiFcbiIpOwogCX0KIAogCWlmICh0ZW1wICYgMHgwNCkgewogCQlpbnQgcmVhZCA9IGluYl9wKFNNQkhTVEFERCkgJiAweDAxOwotCQlyZXN1bHQgPSAtMTsKKwkJcmVzdWx0ID0gLUVOWElPOwogCQkvKiBUaGUgcXVpY2sgYW5kIHJlY2VpdmUgYnl0ZSBjb21tYW5kcyBhcmUgdXNlZCB0byBwcm9iZQogCQkgICBmb3IgY2hpcHMsIHNvIGVycm9ycyBhcmUgZXhwZWN0ZWQsIGFuZCB3ZSBkb24ndCB3YW50CiAJCSAgIHRvIGZyaWdodGVuIHRoZSB1c2VyLiAqLwpAQCAtMjAyLDEyICsyMDEsMTMgQEAKIAlyZXR1cm4gcmVzdWx0OwogfQogCi0vKiBSZXR1cm4gLTEgb24gZXJyb3IsIDAgb24gc3VjY2VzcyAqLworLyogUmV0dXJuIG5lZ2F0aXZlIGVycm5vIG9uIGVycm9yLCAwIG9uIHN1Y2Nlc3MgKi8KIHN0YXRpYyBzMzIgdnQ1OTZfYWNjZXNzKHN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcCwgdTE2IGFkZHIsCiAJCXVuc2lnbmVkIHNob3J0IGZsYWdzLCBjaGFyIHJlYWRfd3JpdGUsIHU4IGNvbW1hbmQsCiAJCWludCBzaXplLCB1bmlvbiBpMmNfc21idXNfZGF0YSAqZGF0YSkKIHsKIAlpbnQgaTsKKwlpbnQgc3RhdHVzOwogCiAJc3dpdGNoIChzaXplKSB7CiAJY2FzZSBJMkNfU01CVVNfUVVJQ0s6CkBAIC0yNTgsOCArMjU4LDkgQEAKIAogCW91dGJfcCgoKGFkZHIgJiAweDdmKSA8PCAxKSB8IHJlYWRfd3JpdGUsIFNNQkhTVEFERCk7CiAKLQlpZiAodnQ1OTZfdHJhbnNhY3Rpb24oc2l6ZSkpIC8qIEVycm9yIGluIHRyYW5zYWN0aW9uICovCi0JCXJldHVybiAtMTsKKwlzdGF0dXMgPSB2dDU5Nl90cmFuc2FjdGlvbihzaXplKTsKKwlpZiAoc3RhdHVzKQorCQlyZXR1cm4gc3RhdHVzOwogCiAJaWYgKChyZWFkX3dyaXRlID09IEkyQ19TTUJVU19XUklURSkgfHwgKHNpemUgPT0gVlQ1OTZfUVVJQ0spKQogCQlyZXR1cm4gMDsKQEAgLTI4NSw5ICsyODYsOSBAQAogCXJldHVybiAwOwogCiBleGl0X3Vuc3VwcG9ydGVkOgotCWRldl93YXJuKCZ2dDU5Nl9hZGFwdGVyLmRldiwgIlVuc3VwcG9ydGVkIGNvbW1hbmQgaW52b2tlZCEgKDB4JTAyeClcbiIsCisJZGV2X3dhcm4oJnZ0NTk2X2FkYXB0ZXIuZGV2LCAiVW5zdXBwb3J0ZWQgdHJhbnNhY3Rpb24gJWRcbiIsCiAJCSBzaXplKTsKLQlyZXR1cm4gLTE7CisJcmV0dXJuIC1FT1BOT1RTVVBQOwogfQogCiBzdGF0aWMgdTMyIHZ0NTk2X2Z1bmMoc3RydWN0IGkyY19hZGFwdGVyICphZGFwdGVyKQpAQCAtMzA5LDcgKzMxMCw3IEBACiBzdGF0aWMgc3RydWN0IGkyY19hZGFwdGVyIHZ0NTk2X2FkYXB0ZXIgPSB7CiAJLm93bmVyCQk9IFRISVNfTU9EVUxFLAogCS5pZAkJPSBJMkNfSFdfU01CVVNfVklBMiwKLQkuY2xhc3MJCT0gSTJDX0NMQVNTX0hXTU9OLAorCS5jbGFzcwkJPSBJMkNfQ0xBU1NfSFdNT04gfCBJMkNfQ0xBU1NfU1BELAogCS5hbGdvCQk9ICZzbWJ1c19hbGdvcml0aG0sCiB9OwogCkBAIC0zNTQsNiArMzU1LDEwIEBACiAJfQogCiBmb3VuZDoKKwllcnJvciA9IGFjcGlfY2hlY2tfcmVnaW9uKHZ0NTk2X3NtYmEsIDgsIHZ0NTk2X2RyaXZlci5uYW1lKTsKKwlpZiAoZXJyb3IpCisJCXJldHVybiBlcnJvcjsKKwogCWlmICghcmVxdWVzdF9yZWdpb24odnQ1OTZfc21iYSwgOCwgdnQ1OTZfZHJpdmVyLm5hbWUpKSB7CiAJCWRldl9lcnIoJnBkZXYtPmRldiwgIlNNQnVzIHJlZ2lvbiAweCV4IGFscmVhZHkgaW4gdXNlIVxuIiwKIAkJCXZ0NTk2X3NtYmEpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy12b29kb28zLmMgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXZvb2RvbzMuYwppbmRleCA4OGEzNDQ3Li4xZDRhZTI2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXZvb2RvbzMuYworKysgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXZvb2RvbzMuYwpAQCAtMSw2ICsxLDQgQEAKIC8qCi0gICAgdm9vZG9vMy5jIC0gUGFydCBvZiBsbV9zZW5zb3JzLCBMaW51eCBrZXJuZWwgbW9kdWxlcyBmb3IgaGFyZHdhcmUKLSAgICAgICAgICAgICAgbW9uaXRvcmluZwogICAgIENvcHlyaWdodCAoYykgMTk5OCwgMTk5OSAgRnJvZG8gTG9vaWphYXJkIDxmcm9kb2xAZGRzLm5sPiwKICAgICBQaGlsaXAgRWRlbGJyb2NrIDxwaGlsQG5ldHJvZWRnZS5jb20+LAogICAgIFJhbHBoIE1ldHpsZXIgPHJqa21AdGhwLnVuaS1rb2Vsbi5kZT4sIGFuZApkaWZmIC0tZ2l0IGEvZHJpdmVycy9pMmMvYnVzc2VzL3NjeDIwMF9hY2IuYyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9zY3gyMDBfYWNiLmMKaW5kZXggNjFhYmUwZi4uZWQ3OTRiMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pMmMvYnVzc2VzL3NjeDIwMF9hY2IuYworKysgYi9kcml2ZXJzL2kyYy9idXNzZXMvc2N4MjAwX2FjYi5jCkBAIC00NDIsNyArNDQyLDcgQEAKIAlhZGFwdGVyLT5vd25lciA9IFRISVNfTU9EVUxFOwogCWFkYXB0ZXItPmlkID0gSTJDX0hXX1NNQlVTX1NDWDIwMDsKIAlhZGFwdGVyLT5hbGdvID0gJnNjeDIwMF9hY2JfYWxnb3JpdGhtOwotCWFkYXB0ZXItPmNsYXNzID0gSTJDX0NMQVNTX0hXTU9OOworCWFkYXB0ZXItPmNsYXNzID0gSTJDX0NMQVNTX0hXTU9OIHwgSTJDX0NMQVNTX1NQRDsKIAlhZGFwdGVyLT5kZXYucGFyZW50ID0gZGV2OwogCiAJbXV0ZXhfaW5pdCgmaWZhY2UtPm11dGV4KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaTJjL2NoaXBzL0tjb25maWcgYi9kcml2ZXJzL2kyYy9jaGlwcy9LY29uZmlnCmluZGV4IDJkYTJlZGYuLjUwZTBhNDYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaTJjL2NoaXBzL0tjb25maWcKKysrIGIvZHJpdmVycy9pMmMvY2hpcHMvS2NvbmZpZwpAQCAtMTQsNiArMTQsMzIgQEAKIAkgIFRoaXMgZHJpdmVyIGNhbiBhbHNvIGJlIGJ1aWx0IGFzIGEgbW9kdWxlLiAgSWYgc28sIHRoZSBtb2R1bGUKIAkgIHdpbGwgYmUgY2FsbGVkIGRzMTY4Mi4KIAorY29uZmlnIEFUMjQKKwl0cmlzdGF0ZSAiRUVQUk9NcyBmcm9tIG1vc3QgdmVuZG9ycyIKKwlkZXBlbmRzIG9uIFNZU0ZTICYmIEVYUEVSSU1FTlRBTAorCWhlbHAKKwkgIEVuYWJsZSB0aGlzIGRyaXZlciB0byBnZXQgcmVhZC93cml0ZSBzdXBwb3J0IHRvIG1vc3QgSTJDIEVFUFJPTXMsCisJICBhZnRlciB5b3UgY29uZmlndXJlIHRoZSBkcml2ZXIgdG8ga25vdyBhYm91dCBlYWNoIEVFUFJPTSBvbgorCSAgeW91ciB0YXJnZXQgYm9hcmQuICBVc2UgdGhlc2UgZ2VuZXJpYyBjaGlwIG5hbWVzLCBpbnN0ZWFkIG9mCisJICB2ZW5kb3Itc3BlY2lmaWMgb25lcyBsaWtlIGF0MjRjNjQgb3IgMjRsYzAyOgorCisJICAgICAyNGMwMCwgMjRjMDEsIDI0YzAyLCBzcGQgKHJlYWRvbmx5IDI0YzAyKSwgMjRjMDQsIDI0YzA4LAorCSAgICAgMjRjMTYsIDI0YzMyLCAyNGM2NCwgMjRjMTI4LCAyNGMyNTYsIDI0YzUxMiwgMjRjMTAyNAorCisJICBVbmxlc3MgeW91IGxpa2UgZGF0YSBsb3NzIHB1enpsZXMsIGFsd2F5cyBiZSBzdXJlIHRoYXQgYW55IGNoaXAKKwkgIHlvdSBjb25maWd1cmUgYXMgYSAyNGMzMiAoMzIga2JpdCkgb3IgbGFyZ2VyIGlzIE5PVCByZWFsbHkgYQorCSAgMjRjMTYgKDE2IGtiaXQpIG9yIHNtYWxsZXIsIGFuZCB2aWNlIHZlcnNhLiBNYXJraW5nIHRoZSBjaGlwCisJICBhcyByZWFkLW9ubHkgd29uJ3QgaGVscCByZWNvdmVyIGZyb20gdGhpcy4gQWxzbywgaWYgeW91ciBjaGlwCisJICBoYXMgYW55IHNvZnR3YXJlIHdyaXRlLXByb3RlY3QgbWVjaGFuaXNtIHlvdSBtYXkgd2FudCB0byByZXZpZXcgdGhlCisJICBjb2RlIHRvIG1ha2Ugc3VyZSB0aGlzIGRyaXZlciB3b24ndCB0dXJuIGl0IG9uIGJ5IGFjY2lkZW50LgorCisJICBJZiB5b3UgdXNlIHRoaXMgd2l0aCBhbiBTTUJ1cyBhZGFwdGVyIGluc3RlYWQgb2YgYW4gSTJDIGFkYXB0ZXIsCisJICBmdWxsIGZ1bmN0aW9uYWxpdHkgaXMgbm90IGF2YWlsYWJsZS4gIE9ubHkgc21hbGxlciBkZXZpY2VzIGFyZQorCSAgc3VwcG9ydGVkICgyNGMxNiBhbmQgYmVsb3csIG1heCA0IGtCeXRlKS4KKworCSAgVGhpcyBkcml2ZXIgY2FuIGFsc28gYmUgYnVpbHQgYXMgYSBtb2R1bGUuICBJZiBzbywgdGhlIG1vZHVsZQorCSAgd2lsbCBiZSBjYWxsZWQgYXQyNC4KKwogY29uZmlnIFNFTlNPUlNfRUVQUk9NCiAJdHJpc3RhdGUgIkVFUFJPTSByZWFkZXIiCiAJZGVwZW5kcyBvbiBFWFBFUklNRU5UQUwKQEAgLTI2LDggKzUyLDggQEAKIAkgIHdpbGwgYmUgY2FsbGVkIGVlcHJvbS4KIAogY29uZmlnIFNFTlNPUlNfUENGODU3NAotCXRyaXN0YXRlICJQaGlsaXBzIFBDRjg1NzQgYW5kIFBDRjg1NzRBIgotCWRlcGVuZHMgb24gRVhQRVJJTUVOVEFMCisJdHJpc3RhdGUgIlBoaWxpcHMgUENGODU3NCBhbmQgUENGODU3NEEgKERFUFJFQ0FURUQpIgorCWRlcGVuZHMgb24gRVhQRVJJTUVOVEFMICYmIEdQSU9fUENGODU3WCA9ICJuIgogCWRlZmF1bHQgbgogCWhlbHAKIAkgIElmIHlvdSBzYXkgeWVzIGhlcmUgeW91IGdldCBzdXBwb3J0IGZvciBQaGlsaXBzIFBDRjg1NzQgYW5kIApAQCAtMzYsMTIgKzYyLDE2IEBACiAJICBUaGlzIGRyaXZlciBjYW4gYWxzbyBiZSBidWlsdCBhcyBhIG1vZHVsZS4gIElmIHNvLCB0aGUgbW9kdWxlCiAJICB3aWxsIGJlIGNhbGxlZCBwY2Y4NTc0LgogCisJICBUaGlzIGRyaXZlciBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIGRyb3BwZWQgc29vbi4gVXNlCisJICBkcml2ZXJzL2dwaW8vcGNmODU3eC5jIGluc3RlYWQuCisKIAkgIFRoZXNlIGRldmljZXMgYXJlIGhhcmQgdG8gZGV0ZWN0IGFuZCByYXJlbHkgZm91bmQgb24gbWFpbnN0cmVhbQogCSAgaGFyZHdhcmUuICBJZiB1bnN1cmUsIHNheSBOLgogCiBjb25maWcgUENGODU3NQotCXRyaXN0YXRlICJQaGlsaXBzIFBDRjg1NzUiCisJdHJpc3RhdGUgIlBoaWxpcHMgUENGODU3NSAoREVQUkVDQVRFRCkiCiAJZGVmYXVsdCBuCisJZGVwZW5kcyBvbiBHUElPX1BDRjg1N1ggPSAibiIKIAloZWxwCiAJICBJZiB5b3Ugc2F5IHllcyBoZXJlIHlvdSBnZXQgc3VwcG9ydCBmb3IgUGhpbGlwcyBQQ0Y4NTc1IGNoaXAuCiAJICBUaGlzIGNoaXAgaXMgYSAxNi1iaXQgSS9PIGV4cGFuZGVyIGZvciB0aGUgSTJDIGJ1cy4gIFNldmVyYWwgb3RoZXIKQEAgLTUwLDEyICs4MCwxNSBAQAogCSAgVGhpcyBkcml2ZXIgY2FuIGFsc28gYmUgYnVpbHQgYXMgYSBtb2R1bGUuICBJZiBzbywgdGhlIG1vZHVsZQogCSAgd2lsbCBiZSBjYWxsZWQgcGNmODU3NS4KIAorCSAgVGhpcyBkcml2ZXIgaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSBkcm9wcGVkIHNvb24uIFVzZQorCSAgZHJpdmVycy9ncGlvL3BjZjg1N3guYyBpbnN0ZWFkLgorCiAJICBUaGlzIGRldmljZSBpcyBoYXJkIHRvIGRldGVjdCBhbmQgaXMgcmFyZWx5IGZvdW5kIG9uIG1haW5zdHJlYW0KIAkgIGhhcmR3YXJlLiAgSWYgdW5zdXJlLCBzYXkgTi4KIAogY29uZmlnIFNFTlNPUlNfUENBOTUzOQogCXRyaXN0YXRlICJQaGlsaXBzIFBDQTk1MzkgMTYtYml0IEkvTyBwb3J0IChERVBSRUNBVEVEKSIKLQlkZXBlbmRzIG9uIEVYUEVSSU1FTlRBTCAmJiBHUElPX1BDQTk1MzkgPSAibiIKKwlkZXBlbmRzIG9uIEVYUEVSSU1FTlRBTCAmJiBHUElPX1BDQTk1M1ggPSAibiIKIAloZWxwCiAJICBJZiB5b3Ugc2F5IHllcyBoZXJlIHlvdSBnZXQgc3VwcG9ydCBmb3IgdGhlIFBoaWxpcHMgUENBOTUzOQogCSAgMTYtYml0IEkvTyBwb3J0LgpAQCAtNjQsNyArOTcsNyBAQAogCSAgd2lsbCBiZSBjYWxsZWQgcGNhOTUzOS4KIAogCSAgVGhpcyBkcml2ZXIgaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSBkcm9wcGVkIHNvb24uIFVzZQotCSAgZHJpdmVycy9ncGlvL3BjYTk1MzkuYyBpbnN0ZWFkLgorCSAgZHJpdmVycy9ncGlvL3BjYTk1M3guYyBpbnN0ZWFkLgogCiBjb25maWcgU0VOU09SU19QQ0Y4NTkxCiAJdHJpc3RhdGUgIlBoaWxpcHMgUENGODU5MSIKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaTJjL2NoaXBzL01ha2VmaWxlIGIvZHJpdmVycy9pMmMvY2hpcHMvTWFrZWZpbGUKaW5kZXggZTQ3YWNhMC4uMzllM2U2OSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pMmMvY2hpcHMvTWFrZWZpbGUKKysrIGIvZHJpdmVycy9pMmMvY2hpcHMvTWFrZWZpbGUKQEAgLTEwLDYgKzEwLDcgQEAKICMKIAogb2JqLSQoQ09ORklHX0RTMTY4MikJCSs9IGRzMTY4Mi5vCitvYmotJChDT05GSUdfQVQyNCkJCSs9IGF0MjQubwogb2JqLSQoQ09ORklHX1NFTlNPUlNfRUVQUk9NKQkrPSBlZXByb20ubwogb2JqLSQoQ09ORklHX1NFTlNPUlNfTUFYNjg3NSkJKz0gbWF4Njg3NS5vCiBvYmotJChDT05GSUdfU0VOU09SU19QQ0E5NTM5KQkrPSBwY2E5NTM5Lm8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvaTJjL2NoaXBzL2F0MjQuYyBiL2RyaXZlcnMvaTJjL2NoaXBzL2F0MjQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNzY0Yzk0Ci0tLSAvZGV2L251bGwKKysrIGIvZHJpdmVycy9pMmMvY2hpcHMvYXQyNC5jCkBAIC0wLDAgKzEsNTgzIEBACisvKgorICogYXQyNC5jIC0gaGFuZGxlIG1vc3QgSTJDIEVFUFJPTXMKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDUtMjAwNyBEYXZpZCBCcm93bmVsbAorICogQ29weXJpZ2h0IChDKSAyMDA4IFdvbGZyYW0gU2FuZywgUGVuZ3V0cm9uaXgKKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisgKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICovCisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KKyNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgorI2luY2x1ZGUgPGxpbnV4L211dGV4Lmg+CisjaW5jbHVkZSA8bGludXgvc3lzZnMuaD4KKyNpbmNsdWRlIDxsaW51eC9tb2RfZGV2aWNldGFibGUuaD4KKyNpbmNsdWRlIDxsaW51eC9sb2cyLmg+CisjaW5jbHVkZSA8bGludXgvYml0b3BzLmg+CisjaW5jbHVkZSA8bGludXgvamlmZmllcy5oPgorI2luY2x1ZGUgPGxpbnV4L2kyYy5oPgorI2luY2x1ZGUgPGxpbnV4L2kyYy9hdDI0Lmg+CisKKy8qCisgKiBJMkMgRUVQUk9NcyBmcm9tIG1vc3QgdmVuZG9ycyBhcmUgaW5leHBlbnNpdmUgYW5kIG1vc3RseSBpbnRlcmNoYW5nZWFibGUuCisgKiBEaWZmZXJlbmNlcyBiZXR3ZWVuIGRpZmZlcmVudCB2ZW5kb3IgcHJvZHVjdCBsaW5lcyAobGlrZSBBdG1lbCBBVDI0QyBvcgorICogTWljcm9DaGlwIDI0TEMsIGV0Yykgd29uJ3QgbXVjaCBtYXR0ZXIgZm9yIHR5cGljYWwgcmVhZC93cml0ZSBhY2Nlc3MuCisgKiBUaGVyZSBhcmUgYWxzbyBJMkMgUkFNIGNoaXBzLCBsaWtld2lzZSBpbnRlcmNoYW5nZWFibGUuIE9uZSBleGFtcGxlCisgKiB3b3VsZCBiZSB0aGUgUENGODU3MCwgd2hpY2ggYWN0cyBsaWtlIGEgMjRjMDIgRUVQUk9NICgyNTYgYnl0ZXMpLgorICoKKyAqIEhvd2V2ZXIsIG1pc2NvbmZpZ3VyYXRpb24gY2FuIGxvc2UgZGF0YS4gIlNldCAxNi1iaXQgbWVtb3J5IGFkZHJlc3MiCisgKiB0byBhIHBhcnQgd2l0aCA4LWJpdCBhZGRyZXNzaW5nIHdpbGwgb3ZlcndyaXRlIGRhdGEuIFdyaXRpbmcgd2l0aCB0b28KKyAqIGJpZyBhIHBhZ2Ugc2l6ZSBhbHNvIGxvc2VzIGRhdGEuIEFuZCBpdCdzIG5vdCBzYWZlIHRvIGFzc3VtZSB0aGF0IHRoZQorICogY29udmVudGlvbmFsIGFkZHJlc3NlcyAweDUwLi4weDU3IG9ubHkgaG9sZCBlZXByb21zOyBhIFBDRjg1NjMgUlRDCisgKiB1c2VzIDB4NTEsIGZvciBqdXN0IG9uZSBleGFtcGxlLgorICoKKyAqIEFjY29yZGluZ2x5LCBleHBsaWNpdCBib2FyZC1zcGVjaWZpYyBjb25maWd1cmF0aW9uIGRhdGEgc2hvdWxkIGJlIHVzZWQKKyAqIGluIGFsbW9zdCBhbGwgY2FzZXMuIChPbmUgcGFydGlhbCBleGNlcHRpb24gaXMgYW4gU01CdXMgdXNlZCB0byBhY2Nlc3MKKyAqICJTUEQiIGRhdGEgZm9yIERSQU0gc3RpY2tzLiBUaG9zZSBvbmx5IHVzZSAyNGMwMiBFRVBST01zLikKKyAqCisgKiBTbyB0aGlzIGRyaXZlciB1c2VzICJuZXcgc3R5bGUiIEkyQyBkcml2ZXIgYmluZGluZywgZXhwZWN0aW5nIHRvIGJlCisgKiB0b2xkIHdoYXQgZGV2aWNlcyBleGlzdC4gVGhhdCBtYXkgYmUgaW4gYXJjaC9YL21hY2gtWS9ib2FyZC1aLmMgb3IKKyAqIHNpbWlsYXIga2VybmVsLXJlc2lkZW50IHRhYmxlczsgb3IsIGNvbmZpZ3VyYXRpb24gZGF0YSBjb21pbmcgZnJvbQorICogYSBib290bG9hZGVyLgorICoKKyAqIE90aGVyIHRoYW4gYmluZGluZyBtb2RlbCwgY3VycmVudCBkaWZmZXJlbmNlcyBmcm9tICJlZXByb20iIGRyaXZlciBhcmUKKyAqIHRoYXQgdGhpcyBvbmUgaGFuZGxlcyB3cml0ZSBhY2Nlc3MgYW5kIGlzbid0IHJlc3RyaWN0ZWQgdG8gMjRjMDIgZGV2aWNlcy4KKyAqIEl0IGFsc28gaGFuZGxlcyBsYXJnZXIgZGV2aWNlcyAoMzIga2JpdCBhbmQgdXApIHdpdGggdHdvLWJ5dGUgYWRkcmVzc2VzLAorICogd2hpY2ggd29uJ3Qgd29yayBvbiBwdXJlIFNNQnVzIHN5c3RlbXMuCisgKi8KKworc3RydWN0IGF0MjRfZGF0YSB7CisJc3RydWN0IGF0MjRfcGxhdGZvcm1fZGF0YSBjaGlwOworCWJvb2wgdXNlX3NtYnVzOworCisJLyoKKwkgKiBMb2NrIHByb3RlY3RzIGFnYWluc3QgYWN0aXZpdGllcyBmcm9tIG90aGVyIExpbnV4IHRhc2tzLAorCSAqIGJ1dCBub3QgZnJvbSBjaGFuZ2VzIGJ5IG90aGVyIEkyQyBtYXN0ZXJzLgorCSAqLworCXN0cnVjdCBtdXRleCBsb2NrOworCXN0cnVjdCBiaW5fYXR0cmlidXRlIGJpbjsKKworCXU4ICp3cml0ZWJ1ZjsKKwl1bnNpZ25lZCB3cml0ZV9tYXg7CisJdW5zaWduZWQgbnVtX2FkZHJlc3NlczsKKworCS8qCisJICogU29tZSBjaGlwcyB0aWUgdXAgbXVsdGlwbGUgSTJDIGFkZHJlc3NlczsgZHVtbXkgZGV2aWNlcyByZXNlcnZlCisJICogdGhlbSBmb3IgdXMsIGFuZCB3ZSdsbCB1c2UgdGhlbSB3aXRoIFNNQnVzIGNhbGxzLgorCSAqLworCXN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnRbXTsKK307CisKKy8qCisgKiBUaGlzIHBhcmFtZXRlciBpcyB0byBoZWxwIHRoaXMgZHJpdmVyIGF2b2lkIGJsb2NraW5nIG90aGVyIGRyaXZlcnMgb3V0CisgKiBvZiBJMkMgZm9yIHBvdGVudGlhbGx5IHRyb3VibGVzb21lIGFtb3VudHMgb2YgdGltZS4gV2l0aCBhIDEwMCBrSHogSTJDCisgKiBjbG9jaywgb25lIDI1NiBieXRlIHJlYWQgdGFrZXMgYWJvdXQgMS80MyBzZWNvbmQgd2hpY2ggaXMgZXhjZXNzaXZlOworICogYnV0IHRoZSAxLzE3MCBzZWNvbmQgaXQgdGFrZXMgYXQgNDAwIGtIeiBtYXkgYmUgcXVpdGUgcmVhc29uYWJsZTsgYW5kCisgKiBhdCAxIE1IeiAoRm0rKSBhIDEvNDMwIHNlY29uZCBkZWxheSBjb3VsZCBlYXNpbHkgYmUgaW52aXNpYmxlLgorICoKKyAqIFRoaXMgdmFsdWUgaXMgZm9yY2VkIHRvIGJlIGEgcG93ZXIgb2YgdHdvIHNvIHRoYXQgd3JpdGVzIGFsaWduIG9uIHBhZ2VzLgorICovCitzdGF0aWMgdW5zaWduZWQgaW9fbGltaXQgPSAxMjg7Cittb2R1bGVfcGFyYW0oaW9fbGltaXQsIHVpbnQsIDApOworTU9EVUxFX1BBUk1fREVTQyhpb19saW1pdCwgIk1heGltdW0gYnl0ZXMgcGVyIEkvTyAoZGVmYXVsdCAxMjgpIik7CisKKy8qCisgKiBTcGVjcyBvZnRlbiBhbGxvdyA1IG1zZWMgZm9yIGEgcGFnZSB3cml0ZSwgc29tZXRpbWVzIDIwIG1zZWM7CisgKiBpdCdzIGltcG9ydGFudCB0byByZWNvdmVyIGZyb20gd3JpdGUgdGltZW91dHMuCisgKi8KK3N0YXRpYyB1bnNpZ25lZCB3cml0ZV90aW1lb3V0ID0gMjU7Cittb2R1bGVfcGFyYW0od3JpdGVfdGltZW91dCwgdWludCwgMCk7CitNT0RVTEVfUEFSTV9ERVNDKHdyaXRlX3RpbWVvdXQsICJUaW1lIChpbiBtcykgdG8gdHJ5IHdyaXRlcyAoZGVmYXVsdCAyNSkiKTsKKworI2RlZmluZSBBVDI0X1NJWkVfQllURUxFTiA1CisjZGVmaW5lIEFUMjRfU0laRV9GTEFHUyA4CisKKyNkZWZpbmUgQVQyNF9CSVRNQVNLKHgpIChCSVQoeCkgLSAxKQorCisvKiBjcmVhdGUgbm9uLXplcm8gbWFnaWMgdmFsdWUgZm9yIGdpdmVuIGVlcHJvbSBwYXJhbWV0ZXJzICovCisjZGVmaW5lIEFUMjRfREVWSUNFX01BR0lDKF9sZW4sIF9mbGFncykgCQlcCisJKCgxIDw8IEFUMjRfU0laRV9GTEFHUyB8IChfZmxhZ3MpKSAJCVwKKwkgICAgPDwgQVQyNF9TSVpFX0JZVEVMRU4gfCBpbG9nMihfbGVuKSkKKworc3RhdGljIGNvbnN0IHN0cnVjdCBpMmNfZGV2aWNlX2lkIGF0MjRfaWRzW10gPSB7CisJLyogbmVlZHMgOCBhZGRyZXNzZXMgYXMgQTAtQTIgYXJlIGlnbm9yZWQgKi8KKwl7ICIyNGMwMCIsIEFUMjRfREVWSUNFX01BR0lDKDEyOCAvIDgsIEFUMjRfRkxBR19UQUtFOEFERFIpIH0sCisJLyogb2xkIHZhcmlhbnRzIGNhbid0IGJlIGhhbmRsZWQgd2l0aCB0aGlzIGdlbmVyaWMgZW50cnkhICovCisJeyAiMjRjMDEiLCBBVDI0X0RFVklDRV9NQUdJQygxMDI0IC8gOCwgMCkgfSwKKwl7ICIyNGMwMiIsIEFUMjRfREVWSUNFX01BR0lDKDIwNDggLyA4LCAwKSB9LAorCS8qIHNwZCBpcyBhIDI0YzAyIGluIG1lbW9yeSBESU1NcyAqLworCXsgInNwZCIsIEFUMjRfREVWSUNFX01BR0lDKDIwNDggLyA4LAorCQlBVDI0X0ZMQUdfUkVBRE9OTFkgfCBBVDI0X0ZMQUdfSVJVR08pIH0sCisJeyAiMjRjMDQiLCBBVDI0X0RFVklDRV9NQUdJQyg0MDk2IC8gOCwgMCkgfSwKKwkvKiAyNHJmMDggcXVpcmsgaXMgaGFuZGxlZCBhdCBpMmMtY29yZSAqLworCXsgIjI0YzA4IiwgQVQyNF9ERVZJQ0VfTUFHSUMoODE5MiAvIDgsIDApIH0sCisJeyAiMjRjMTYiLCBBVDI0X0RFVklDRV9NQUdJQygxNjM4NCAvIDgsIDApIH0sCisJeyAiMjRjMzIiLCBBVDI0X0RFVklDRV9NQUdJQygzMjc2OCAvIDgsIEFUMjRfRkxBR19BRERSMTYpIH0sCisJeyAiMjRjNjQiLCBBVDI0X0RFVklDRV9NQUdJQyg2NTUzNiAvIDgsIEFUMjRfRkxBR19BRERSMTYpIH0sCisJeyAiMjRjMTI4IiwgQVQyNF9ERVZJQ0VfTUFHSUMoMTMxMDcyIC8gOCwgQVQyNF9GTEFHX0FERFIxNikgfSwKKwl7ICIyNGMyNTYiLCBBVDI0X0RFVklDRV9NQUdJQygyNjIxNDQgLyA4LCBBVDI0X0ZMQUdfQUREUjE2KSB9LAorCXsgIjI0YzUxMiIsIEFUMjRfREVWSUNFX01BR0lDKDUyNDI4OCAvIDgsIEFUMjRfRkxBR19BRERSMTYpIH0sCisJeyAiMjRjMTAyNCIsIEFUMjRfREVWSUNFX01BR0lDKDEwNDg1NzYgLyA4LCBBVDI0X0ZMQUdfQUREUjE2KSB9LAorCXsgImF0MjQiLCAwIH0sCisJeyAvKiBFTkQgT0YgTElTVCAqLyB9Cit9OworTU9EVUxFX0RFVklDRV9UQUJMRShpMmMsIGF0MjRfaWRzKTsKKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworLyoKKyAqIFRoaXMgcm91dGluZSBzdXBwb3J0cyBjaGlwcyB3aGljaCBjb25zdW1lIG11bHRpcGxlIEkyQyBhZGRyZXNzZXMuIEl0CisgKiBjb21wdXRlcyB0aGUgYWRkcmVzc2luZyBpbmZvcm1hdGlvbiB0byBiZSB1c2VkIGZvciBhIGdpdmVuIHIvdyByZXF1ZXN0LgorICogQXNzdW1lcyB0aGF0IHNhbml0eSBjaGVja3MgZm9yIG9mZnNldCBoYXBwZW5lZCBhdCBzeXNmcy1sYXllci4KKyAqLworc3RhdGljIHN0cnVjdCBpMmNfY2xpZW50ICphdDI0X3RyYW5zbGF0ZV9vZmZzZXQoc3RydWN0IGF0MjRfZGF0YSAqYXQyNCwKKwkJdW5zaWduZWQgKm9mZnNldCkKK3sKKwl1bnNpZ25lZCBpOworCisJaWYgKGF0MjQtPmNoaXAuZmxhZ3MgJiBBVDI0X0ZMQUdfQUREUjE2KSB7CisJCWkgPSAqb2Zmc2V0ID4+IDE2OworCQkqb2Zmc2V0ICY9IDB4ZmZmZjsKKwl9IGVsc2UgeworCQlpID0gKm9mZnNldCA+PiA4OworCQkqb2Zmc2V0ICY9IDB4ZmY7CisJfQorCisJcmV0dXJuIGF0MjQtPmNsaWVudFtpXTsKK30KKworc3RhdGljIHNzaXplX3QgYXQyNF9lZXByb21fcmVhZChzdHJ1Y3QgYXQyNF9kYXRhICphdDI0LCBjaGFyICpidWYsCisJCXVuc2lnbmVkIG9mZnNldCwgc2l6ZV90IGNvdW50KQoreworCXN0cnVjdCBpMmNfbXNnIG1zZ1syXTsKKwl1OCBtc2didWZbMl07CisJc3RydWN0IGkyY19jbGllbnQgKmNsaWVudDsKKwlpbnQgc3RhdHVzLCBpOworCisJbWVtc2V0KG1zZywgMCwgc2l6ZW9mKG1zZykpOworCisJLyoKKwkgKiBSRVZJU0lUIHNvbWUgbXVsdGktYWRkcmVzcyBjaGlwcyBkb24ndCByb2xsb3ZlciBwYWdlIHJlYWRzIHRvCisJICogdGhlIG5leHQgc2xhdmUgYWRkcmVzcywgc28gd2UgbWF5IG5lZWQgdG8gdHJ1bmNhdGUgdGhlIGNvdW50LgorCSAqIFRob3NlIGNoaXBzIG1pZ2h0IG5lZWQgYW5vdGhlciBxdWlyayBmbGFnLgorCSAqCisJICogSWYgdGhlIHJlYWwgaGFyZHdhcmUgdXNlZCBmb3VyIGFkamFjZW50IDI0YzAyIGNoaXBzIGFuZCB0aGF0CisJICogd2VyZSBtaXNjb25maWd1cmVkIGFzIG9uZSAyNGMwOCwgdGhhdCB3b3VsZCBiZSBhIHNpbWlsYXIgZWZmZWN0OgorCSAqIG9uZSAiZWVwcm9tIiBmaWxlIG5vdCBmb3VyLCBidXQgbGFyZ2VyIHJlYWRzIHdvdWxkIGZhaWwgd2hlbgorCSAqIHRoZXkgY3Jvc3NlZCBjZXJ0YWluIHBhZ2VzLgorCSAqLworCisJLyoKKwkgKiBTbGF2ZSBhZGRyZXNzIGFuZCBieXRlIG9mZnNldCBkZXJpdmUgZnJvbSB0aGUgb2Zmc2V0LiBBbHdheXMKKwkgKiBzZXQgdGhlIGJ5dGUgYWRkcmVzczsgb24gYSBtdWx0aS1tYXN0ZXIgYm9hcmQsIGFub3RoZXIgbWFzdGVyCisJICogbWF5IGhhdmUgY2hhbmdlZCB0aGUgY2hpcCdzICJjdXJyZW50IiBhZGRyZXNzIHBvaW50ZXIuCisJICovCisJY2xpZW50ID0gYXQyNF90cmFuc2xhdGVfb2Zmc2V0KGF0MjQsICZvZmZzZXQpOworCisJaWYgKGNvdW50ID4gaW9fbGltaXQpCisJCWNvdW50ID0gaW9fbGltaXQ7CisKKwkvKiBTbWFsbGVyIGVlcHJvbXMgY2FuIHdvcmsgZ2l2ZW4gc29tZSBTTUJ1cyBleHRlbnNpb24gY2FsbHMgKi8KKwlpZiAoYXQyNC0+dXNlX3NtYnVzKSB7CisJCWlmIChjb3VudCA+IEkyQ19TTUJVU19CTE9DS19NQVgpCisJCQljb3VudCA9IEkyQ19TTUJVU19CTE9DS19NQVg7CisJCXN0YXR1cyA9IGkyY19zbWJ1c19yZWFkX2kyY19ibG9ja19kYXRhKGNsaWVudCwgb2Zmc2V0LAorCQkJCWNvdW50LCBidWYpOworCQlkZXZfZGJnKCZjbGllbnQtPmRldiwgInNtYnVzIHJlYWQgJXpkQCVkIC0tPiAlZFxuIiwKKwkJCQljb3VudCwgb2Zmc2V0LCBzdGF0dXMpOworCQlyZXR1cm4gKHN0YXR1cyA8IDApID8gLUVJTyA6IHN0YXR1czsKKwl9CisKKwkvKgorCSAqIFdoZW4gd2UgaGF2ZSBhIGJldHRlciBjaG9pY2UgdGhhbiBTTUJ1cyBjYWxscywgdXNlIGEgY29tYmluZWQKKwkgKiBJMkMgbWVzc2FnZS4gV3JpdGUgYWRkcmVzczsgdGhlbiByZWFkIHVwIHRvIGlvX2xpbWl0IGRhdGEgYnl0ZXMuCisJICogTm90ZSB0aGF0IHJlYWQgcGFnZSByb2xsb3ZlciBoZWxwcyB1cyBoZXJlICh1bmxpa2Ugd3JpdGVzKS4KKwkgKiBtc2didWYgaXMgdTggYW5kIHdpbGwgY2FzdCB0byBvdXIgbmVlZHMuCisJICovCisJaSA9IDA7CisJaWYgKGF0MjQtPmNoaXAuZmxhZ3MgJiBBVDI0X0ZMQUdfQUREUjE2KQorCQltc2didWZbaSsrXSA9IG9mZnNldCA+PiA4OworCW1zZ2J1ZltpKytdID0gb2Zmc2V0OworCisJbXNnWzBdLmFkZHIgPSBjbGllbnQtPmFkZHI7CisJbXNnWzBdLmJ1ZiA9IG1zZ2J1ZjsKKwltc2dbMF0ubGVuID0gaTsKKworCW1zZ1sxXS5hZGRyID0gY2xpZW50LT5hZGRyOworCW1zZ1sxXS5mbGFncyA9IEkyQ19NX1JEOworCW1zZ1sxXS5idWYgPSBidWY7CisJbXNnWzFdLmxlbiA9IGNvdW50OworCisJc3RhdHVzID0gaTJjX3RyYW5zZmVyKGNsaWVudC0+YWRhcHRlciwgbXNnLCAyKTsKKwlkZXZfZGJnKCZjbGllbnQtPmRldiwgImkyYyByZWFkICV6ZEAlZCAtLT4gJWRcbiIsCisJCQljb3VudCwgb2Zmc2V0LCBzdGF0dXMpOworCisJaWYgKHN0YXR1cyA9PSAyKQorCQlyZXR1cm4gY291bnQ7CisJZWxzZSBpZiAoc3RhdHVzID49IDApCisJCXJldHVybiAtRUlPOworCWVsc2UKKwkJcmV0dXJuIHN0YXR1czsKK30KKworc3RhdGljIHNzaXplX3QgYXQyNF9iaW5fcmVhZChzdHJ1Y3Qga29iamVjdCAqa29iaiwgc3RydWN0IGJpbl9hdHRyaWJ1dGUgKmF0dHIsCisJCWNoYXIgKmJ1ZiwgbG9mZl90IG9mZiwgc2l6ZV90IGNvdW50KQoreworCXN0cnVjdCBhdDI0X2RhdGEgKmF0MjQ7CisJc3NpemVfdCByZXR2YWwgPSAwOworCisJYXQyNCA9IGRldl9nZXRfZHJ2ZGF0YShjb250YWluZXJfb2Yoa29iaiwgc3RydWN0IGRldmljZSwga29iaikpOworCisJaWYgKHVubGlrZWx5KCFjb3VudCkpCisJCXJldHVybiBjb3VudDsKKworCS8qCisJICogUmVhZCBkYXRhIGZyb20gY2hpcCwgcHJvdGVjdGluZyBhZ2FpbnN0IGNvbmN1cnJlbnQgdXBkYXRlcworCSAqIGZyb20gdGhpcyBob3N0LCBidXQgbm90IGZyb20gb3RoZXIgSTJDIG1hc3RlcnMuCisJICovCisJbXV0ZXhfbG9jaygmYXQyNC0+bG9jayk7CisKKwl3aGlsZSAoY291bnQpIHsKKwkJc3NpemVfdAlzdGF0dXM7CisKKwkJc3RhdHVzID0gYXQyNF9lZXByb21fcmVhZChhdDI0LCBidWYsIG9mZiwgY291bnQpOworCQlpZiAoc3RhdHVzIDw9IDApIHsKKwkJCWlmIChyZXR2YWwgPT0gMCkKKwkJCQlyZXR2YWwgPSBzdGF0dXM7CisJCQlicmVhazsKKwkJfQorCQlidWYgKz0gc3RhdHVzOworCQlvZmYgKz0gc3RhdHVzOworCQljb3VudCAtPSBzdGF0dXM7CisJCXJldHZhbCArPSBzdGF0dXM7CisJfQorCisJbXV0ZXhfdW5sb2NrKCZhdDI0LT5sb2NrKTsKKworCXJldHVybiByZXR2YWw7Cit9CisKKworLyoKKyAqIFJFVklTSVQ6IGV4cG9ydCBhdDI0X2JpbntyZWFkLHdyaXRlfSgpIHRvIGxldCBvdGhlciBrZXJuZWwgY29kZSB1c2UKKyAqIGVlcHJvbSBkYXRhLiBGb3IgZXhhbXBsZSwgaXQgbWlnaHQgaG9sZCBhIGJvYXJkJ3MgRXRoZXJuZXQgYWRkcmVzcywgb3IKKyAqIGJvYXJkLXNwZWNpZmljIGNhbGlicmF0aW9uIGRhdGEgZ2VuZXJhdGVkIG9uIHRoZSBtYW51ZmFjdHVyaW5nIGZsb29yLgorICovCisKKworLyoKKyAqIE5vdGUgdGhhdCBpZiB0aGUgaGFyZHdhcmUgd3JpdGUtcHJvdGVjdCBwaW4gaXMgcHVsbGVkIGhpZ2gsIHRoZSB3aG9sZQorICogY2hpcCBpcyBub3JtYWxseSB3cml0ZSBwcm90ZWN0ZWQuIEJ1dCB0aGVyZSBhcmUgcGxlbnR5IG9mIHByb2R1Y3QKKyAqIHZhcmlhbnRzIGhlcmUsIGluY2x1ZGluZyBPVFAgZnVzZXMgYW5kIHBhcnRpYWwgY2hpcCBwcm90ZWN0LgorICoKKyAqIFdlIG9ubHkgdXNlIHBhZ2UgbW9kZSB3cml0ZXM7IHRoZSBhbHRlcm5hdGl2ZSBpcyBzbG9vb293LiBUaGlzIHJvdXRpbmUKKyAqIHdyaXRlcyBhdCBtb3N0IG9uZSBwYWdlLgorICovCitzdGF0aWMgc3NpemVfdCBhdDI0X2VlcHJvbV93cml0ZShzdHJ1Y3QgYXQyNF9kYXRhICphdDI0LCBjaGFyICpidWYsCisJCXVuc2lnbmVkIG9mZnNldCwgc2l6ZV90IGNvdW50KQoreworCXN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQ7CisJc3RydWN0IGkyY19tc2cgbXNnOworCXNzaXplX3Qgc3RhdHVzOworCXVuc2lnbmVkIGxvbmcgdGltZW91dCwgd3JpdGVfdGltZTsKKwl1bnNpZ25lZCBuZXh0X3BhZ2U7CisKKwkvKiBHZXQgY29ycmVzcG9uZGluZyBJMkMgYWRkcmVzcyBhbmQgYWRqdXN0IG9mZnNldCAqLworCWNsaWVudCA9IGF0MjRfdHJhbnNsYXRlX29mZnNldChhdDI0LCAmb2Zmc2V0KTsKKworCS8qIHdyaXRlX21heCBpcyBhdCBtb3N0IGEgcGFnZSAqLworCWlmIChjb3VudCA+IGF0MjQtPndyaXRlX21heCkKKwkJY291bnQgPSBhdDI0LT53cml0ZV9tYXg7CisKKwkvKiBOZXZlciByb2xsIG92ZXIgYmFja3dhcmRzLCB0byB0aGUgc3RhcnQgb2YgdGhpcyBwYWdlICovCisJbmV4dF9wYWdlID0gcm91bmR1cChvZmZzZXQgKyAxLCBhdDI0LT5jaGlwLnBhZ2Vfc2l6ZSk7CisJaWYgKG9mZnNldCArIGNvdW50ID4gbmV4dF9wYWdlKQorCQljb3VudCA9IG5leHRfcGFnZSAtIG9mZnNldDsKKworCS8qIElmIHdlJ2xsIHVzZSBJMkMgY2FsbHMgZm9yIEkvTywgc2V0IHVwIHRoZSBtZXNzYWdlICovCisJaWYgKCFhdDI0LT51c2Vfc21idXMpIHsKKwkJaW50IGkgPSAwOworCisJCW1zZy5hZGRyID0gY2xpZW50LT5hZGRyOworCQltc2cuZmxhZ3MgPSAwOworCisJCS8qIG1zZy5idWYgaXMgdTggYW5kIGNhc3RzIHdpbGwgbWFzayB0aGUgdmFsdWVzICovCisJCW1zZy5idWYgPSBhdDI0LT53cml0ZWJ1ZjsKKwkJaWYgKGF0MjQtPmNoaXAuZmxhZ3MgJiBBVDI0X0ZMQUdfQUREUjE2KQorCQkJbXNnLmJ1ZltpKytdID0gb2Zmc2V0ID4+IDg7CisKKwkJbXNnLmJ1ZltpKytdID0gb2Zmc2V0OworCQltZW1jcHkoJm1zZy5idWZbaV0sIGJ1ZiwgY291bnQpOworCQltc2cubGVuID0gaSArIGNvdW50OworCX0KKworCS8qCisJICogV3JpdGVzIGZhaWwgaWYgdGhlIHByZXZpb3VzIG9uZSBkaWRuJ3QgY29tcGxldGUgeWV0LiBXZSBtYXkKKwkgKiBsb29wIGEgZmV3IHRpbWVzIHVudGlsIHRoaXMgb25lIHN1Y2NlZWRzLCB3YWl0aW5nIGF0IGxlYXN0CisJICogbG9uZyBlbm91Z2ggZm9yIG9uZSBlbnRpcmUgcGFnZSB3cml0ZSB0byB3b3JrLgorCSAqLworCXRpbWVvdXQgPSBqaWZmaWVzICsgbXNlY3NfdG9famlmZmllcyh3cml0ZV90aW1lb3V0KTsKKwlkbyB7CisJCXdyaXRlX3RpbWUgPSBqaWZmaWVzOworCQlpZiAoYXQyNC0+dXNlX3NtYnVzKSB7CisJCQlzdGF0dXMgPSBpMmNfc21idXNfd3JpdGVfaTJjX2Jsb2NrX2RhdGEoY2xpZW50LAorCQkJCQlvZmZzZXQsIGNvdW50LCBidWYpOworCQkJaWYgKHN0YXR1cyA9PSAwKQorCQkJCXN0YXR1cyA9IGNvdW50OworCQl9IGVsc2UgeworCQkJc3RhdHVzID0gaTJjX3RyYW5zZmVyKGNsaWVudC0+YWRhcHRlciwgJm1zZywgMSk7CisJCQlpZiAoc3RhdHVzID09IDEpCisJCQkJc3RhdHVzID0gY291bnQ7CisJCX0KKwkJZGV2X2RiZygmY2xpZW50LT5kZXYsICJ3cml0ZSAlemRAJWQgLS0+ICV6ZCAoJWxkKVxuIiwKKwkJCQljb3VudCwgb2Zmc2V0LCBzdGF0dXMsIGppZmZpZXMpOworCisJCWlmIChzdGF0dXMgPT0gY291bnQpCisJCQlyZXR1cm4gY291bnQ7CisKKwkJLyogUkVWSVNJVDogYXQgSFo9MTAwLCB0aGlzIGlzIHNsb29vb3cgKi8KKwkJbXNsZWVwKDEpOworCX0gd2hpbGUgKHRpbWVfYmVmb3JlKHdyaXRlX3RpbWUsIHRpbWVvdXQpKTsKKworCXJldHVybiAtRVRJTUVET1VUOworfQorCitzdGF0aWMgc3NpemVfdCBhdDI0X2Jpbl93cml0ZShzdHJ1Y3Qga29iamVjdCAqa29iaiwgc3RydWN0IGJpbl9hdHRyaWJ1dGUgKmF0dHIsCisJCWNoYXIgKmJ1ZiwgbG9mZl90IG9mZiwgc2l6ZV90IGNvdW50KQoreworCXN0cnVjdCBhdDI0X2RhdGEgKmF0MjQ7CisJc3NpemVfdCByZXR2YWwgPSAwOworCisJYXQyNCA9IGRldl9nZXRfZHJ2ZGF0YShjb250YWluZXJfb2Yoa29iaiwgc3RydWN0IGRldmljZSwga29iaikpOworCisJaWYgKHVubGlrZWx5KCFjb3VudCkpCisJCXJldHVybiBjb3VudDsKKworCS8qCisJICogV3JpdGUgZGF0YSB0byBjaGlwLCBwcm90ZWN0aW5nIGFnYWluc3QgY29uY3VycmVudCB1cGRhdGVzCisJICogZnJvbSB0aGlzIGhvc3QsIGJ1dCBub3QgZnJvbSBvdGhlciBJMkMgbWFzdGVycy4KKwkgKi8KKwltdXRleF9sb2NrKCZhdDI0LT5sb2NrKTsKKworCXdoaWxlIChjb3VudCkgeworCQlzc2l6ZV90CXN0YXR1czsKKworCQlzdGF0dXMgPSBhdDI0X2VlcHJvbV93cml0ZShhdDI0LCBidWYsIG9mZiwgY291bnQpOworCQlpZiAoc3RhdHVzIDw9IDApIHsKKwkJCWlmIChyZXR2YWwgPT0gMCkKKwkJCQlyZXR2YWwgPSBzdGF0dXM7CisJCQlicmVhazsKKwkJfQorCQlidWYgKz0gc3RhdHVzOworCQlvZmYgKz0gc3RhdHVzOworCQljb3VudCAtPSBzdGF0dXM7CisJCXJldHZhbCArPSBzdGF0dXM7CisJfQorCisJbXV0ZXhfdW5sb2NrKCZhdDI0LT5sb2NrKTsKKworCXJldHVybiByZXR2YWw7Cit9CisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKK3N0YXRpYyBpbnQgYXQyNF9wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50LCBjb25zdCBzdHJ1Y3QgaTJjX2RldmljZV9pZCAqaWQpCit7CisJc3RydWN0IGF0MjRfcGxhdGZvcm1fZGF0YSBjaGlwOworCWJvb2wgd3JpdGFibGU7CisJYm9vbCB1c2Vfc21idXMgPSBmYWxzZTsKKwlzdHJ1Y3QgYXQyNF9kYXRhICphdDI0OworCWludCBlcnI7CisJdW5zaWduZWQgaSwgbnVtX2FkZHJlc3NlczsKKwlrZXJuZWxfdWxvbmdfdCBtYWdpYzsKKworCWlmIChjbGllbnQtPmRldi5wbGF0Zm9ybV9kYXRhKSB7CisJCWNoaXAgPSAqKHN0cnVjdCBhdDI0X3BsYXRmb3JtX2RhdGEgKiljbGllbnQtPmRldi5wbGF0Zm9ybV9kYXRhOworCX0gZWxzZSB7CisJCWlmICghaWQtPmRyaXZlcl9kYXRhKSB7CisJCQllcnIgPSAtRU5PREVWOworCQkJZ290byBlcnJfb3V0OworCQl9CisJCW1hZ2ljID0gaWQtPmRyaXZlcl9kYXRhOworCQljaGlwLmJ5dGVfbGVuID0gQklUKG1hZ2ljICYgQVQyNF9CSVRNQVNLKEFUMjRfU0laRV9CWVRFTEVOKSk7CisJCW1hZ2ljID4+PSBBVDI0X1NJWkVfQllURUxFTjsKKwkJY2hpcC5mbGFncyA9IG1hZ2ljICYgQVQyNF9CSVRNQVNLKEFUMjRfU0laRV9GTEFHUyk7CisJCS8qCisJCSAqIFRoaXMgaXMgc2xvdywgYnV0IHdlIGNhbid0IGtub3cgYWxsIGVlcHJvbXMsIHNvIHdlIGJldHRlcgorCQkgKiBwbGF5IHNhZmUuIFNwZWNpZnlpbmcgY3VzdG9tIGVlcHJvbS10eXBlcyB2aWEgcGxhdGZvcm1fZGF0YQorCQkgKiBpcyByZWNvbW1lbmRlZCBhbnlob3cuCisJCSAqLworCQljaGlwLnBhZ2Vfc2l6ZSA9IDE7CisJfQorCisJaWYgKCFpc19wb3dlcl9vZl8yKGNoaXAuYnl0ZV9sZW4pKQorCQlkZXZfd2FybigmY2xpZW50LT5kZXYsCisJCQkiYnl0ZV9sZW4gbG9va3Mgc3VzcGljaW91cyAobm8gcG93ZXIgb2YgMikhXG4iKTsKKwlpZiAoIWlzX3Bvd2VyX29mXzIoY2hpcC5wYWdlX3NpemUpKQorCQlkZXZfd2FybigmY2xpZW50LT5kZXYsCisJCQkicGFnZV9zaXplIGxvb2tzIHN1c3BpY2lvdXMgKG5vIHBvd2VyIG9mIDIpIVxuIik7CisKKwkvKiBVc2UgSTJDIG9wZXJhdGlvbnMgdW5sZXNzIHdlJ3JlIHN0dWNrIHdpdGggU01CdXMgZXh0ZW5zaW9ucy4gKi8KKwlpZiAoIWkyY19jaGVja19mdW5jdGlvbmFsaXR5KGNsaWVudC0+YWRhcHRlciwgSTJDX0ZVTkNfSTJDKSkgeworCQlpZiAoY2hpcC5mbGFncyAmIEFUMjRfRkxBR19BRERSMTYpIHsKKwkJCWVyciA9IC1FUEZOT1NVUFBPUlQ7CisJCQlnb3RvIGVycl9vdXQ7CisJCX0KKwkJaWYgKCFpMmNfY2hlY2tfZnVuY3Rpb25hbGl0eShjbGllbnQtPmFkYXB0ZXIsCisJCQkJSTJDX0ZVTkNfU01CVVNfUkVBRF9JMkNfQkxPQ0spKSB7CisJCQllcnIgPSAtRVBGTk9TVVBQT1JUOworCQkJZ290byBlcnJfb3V0OworCQl9CisJCXVzZV9zbWJ1cyA9IHRydWU7CisJfQorCisJaWYgKGNoaXAuZmxhZ3MgJiBBVDI0X0ZMQUdfVEFLRThBRERSKQorCQludW1fYWRkcmVzc2VzID0gODsKKwllbHNlCisJCW51bV9hZGRyZXNzZXMgPQlESVZfUk9VTkRfVVAoY2hpcC5ieXRlX2xlbiwKKwkJCShjaGlwLmZsYWdzICYgQVQyNF9GTEFHX0FERFIxNikgPyA2NTUzNiA6IDI1Nik7CisKKwlhdDI0ID0ga3phbGxvYyhzaXplb2Yoc3RydWN0IGF0MjRfZGF0YSkgKworCQludW1fYWRkcmVzc2VzICogc2l6ZW9mKHN0cnVjdCBpMmNfY2xpZW50ICopLCBHRlBfS0VSTkVMKTsKKwlpZiAoIWF0MjQpIHsKKwkJZXJyID0gLUVOT01FTTsKKwkJZ290byBlcnJfb3V0OworCX0KKworCW11dGV4X2luaXQoJmF0MjQtPmxvY2spOworCWF0MjQtPnVzZV9zbWJ1cyA9IHVzZV9zbWJ1czsKKwlhdDI0LT5jaGlwID0gY2hpcDsKKwlhdDI0LT5udW1fYWRkcmVzc2VzID0gbnVtX2FkZHJlc3NlczsKKworCS8qCisJICogRXhwb3J0IHRoZSBFRVBST00gYnl0ZXMgdGhyb3VnaCBzeXNmcywgc2luY2UgdGhhdCdzIGNvbnZlbmllbnQuCisJICogQnkgZGVmYXVsdCwgb25seSByb290IHNob3VsZCBzZWUgdGhlIGRhdGEgKG1heWJlIHBhc3N3b3JkcyBldGMpCisJICovCisJYXQyNC0+YmluLmF0dHIubmFtZSA9ICJlZXByb20iOworCWF0MjQtPmJpbi5hdHRyLm1vZGUgPSBjaGlwLmZsYWdzICYgQVQyNF9GTEFHX0lSVUdPID8gU19JUlVHTyA6IFNfSVJVU1I7CisJYXQyNC0+YmluLmF0dHIub3duZXIgPSBUSElTX01PRFVMRTsKKwlhdDI0LT5iaW4ucmVhZCA9IGF0MjRfYmluX3JlYWQ7CisJYXQyNC0+YmluLnNpemUgPSBjaGlwLmJ5dGVfbGVuOworCisJd3JpdGFibGUgPSAhKGNoaXAuZmxhZ3MgJiBBVDI0X0ZMQUdfUkVBRE9OTFkpOworCWlmICh3cml0YWJsZSkgeworCQlpZiAoIXVzZV9zbWJ1cyB8fCBpMmNfY2hlY2tfZnVuY3Rpb25hbGl0eShjbGllbnQtPmFkYXB0ZXIsCisJCQkJSTJDX0ZVTkNfU01CVVNfV1JJVEVfSTJDX0JMT0NLKSkgeworCisJCQl1bnNpZ25lZCB3cml0ZV9tYXggPSBjaGlwLnBhZ2Vfc2l6ZTsKKworCQkJYXQyNC0+YmluLndyaXRlID0gYXQyNF9iaW5fd3JpdGU7CisJCQlhdDI0LT5iaW4uYXR0ci5tb2RlIHw9IFNfSVdVU1I7CisKKwkJCWlmICh3cml0ZV9tYXggPiBpb19saW1pdCkKKwkJCQl3cml0ZV9tYXggPSBpb19saW1pdDsKKwkJCWlmICh1c2Vfc21idXMgJiYgd3JpdGVfbWF4ID4gSTJDX1NNQlVTX0JMT0NLX01BWCkKKwkJCQl3cml0ZV9tYXggPSBJMkNfU01CVVNfQkxPQ0tfTUFYOworCQkJYXQyNC0+d3JpdGVfbWF4ID0gd3JpdGVfbWF4OworCisJCQkvKiBidWZmZXIgKGRhdGEgKyBhZGRyZXNzIGF0IHRoZSBiZWdpbm5pbmcpICovCisJCQlhdDI0LT53cml0ZWJ1ZiA9IGttYWxsb2Mod3JpdGVfbWF4ICsgMiwgR0ZQX0tFUk5FTCk7CisJCQlpZiAoIWF0MjQtPndyaXRlYnVmKSB7CisJCQkJZXJyID0gLUVOT01FTTsKKwkJCQlnb3RvIGVycl9zdHJ1Y3Q7CisJCQl9CisJCX0gZWxzZSB7CisJCQlkZXZfd2FybigmY2xpZW50LT5kZXYsCisJCQkJImNhbm5vdCB3cml0ZSBkdWUgdG8gY29udHJvbGxlciByZXN0cmljdGlvbnMuIik7CisJCX0KKwl9CisKKwlhdDI0LT5jbGllbnRbMF0gPSBjbGllbnQ7CisKKwkvKiB1c2UgZHVtbXkgZGV2aWNlcyBmb3IgbXVsdGlwbGUtYWRkcmVzcyBjaGlwcyAqLworCWZvciAoaSA9IDE7IGkgPCBudW1fYWRkcmVzc2VzOyBpKyspIHsKKwkJYXQyNC0+Y2xpZW50W2ldID0gaTJjX25ld19kdW1teShjbGllbnQtPmFkYXB0ZXIsCisJCQkJCWNsaWVudC0+YWRkciArIGkpOworCQlpZiAoIWF0MjQtPmNsaWVudFtpXSkgeworCQkJZGV2X2VycigmY2xpZW50LT5kZXYsICJhZGRyZXNzIDB4JTAyeCB1bmF2YWlsYWJsZVxuIiwKKwkJCQkJY2xpZW50LT5hZGRyICsgaSk7CisJCQllcnIgPSAtRUFERFJJTlVTRTsKKwkJCWdvdG8gZXJyX2NsaWVudHM7CisJCX0KKwl9CisKKwllcnIgPSBzeXNmc19jcmVhdGVfYmluX2ZpbGUoJmNsaWVudC0+ZGV2LmtvYmosICZhdDI0LT5iaW4pOworCWlmIChlcnIpCisJCWdvdG8gZXJyX2NsaWVudHM7CisKKwlpMmNfc2V0X2NsaWVudGRhdGEoY2xpZW50LCBhdDI0KTsKKworCWRldl9pbmZvKCZjbGllbnQtPmRldiwgIiVaZCBieXRlICVzIEVFUFJPTSAlc1xuIiwKKwkJYXQyNC0+YmluLnNpemUsIGNsaWVudC0+bmFtZSwKKwkJd3JpdGFibGUgPyAiKHdyaXRhYmxlKSIgOiAiKHJlYWQtb25seSkiKTsKKwlkZXZfZGJnKCZjbGllbnQtPmRldiwKKwkJInBhZ2Vfc2l6ZSAlZCwgbnVtX2FkZHJlc3NlcyAlZCwgd3JpdGVfbWF4ICVkJXNcbiIsCisJCWNoaXAucGFnZV9zaXplLCBudW1fYWRkcmVzc2VzLAorCQlhdDI0LT53cml0ZV9tYXgsCisJCXVzZV9zbWJ1cyA/ICIsIHVzZV9zbWJ1cyIgOiAiIik7CisKKwlyZXR1cm4gMDsKKworZXJyX2NsaWVudHM6CisJZm9yIChpID0gMTsgaSA8IG51bV9hZGRyZXNzZXM7IGkrKykKKwkJaWYgKGF0MjQtPmNsaWVudFtpXSkKKwkJCWkyY191bnJlZ2lzdGVyX2RldmljZShhdDI0LT5jbGllbnRbaV0pOworCisJa2ZyZWUoYXQyNC0+d3JpdGVidWYpOworZXJyX3N0cnVjdDoKKwlrZnJlZShhdDI0KTsKK2Vycl9vdXQ6CisJZGV2X2RiZygmY2xpZW50LT5kZXYsICJwcm9iZSBlcnJvciAlZFxuIiwgZXJyKTsKKwlyZXR1cm4gZXJyOworfQorCitzdGF0aWMgaW50IF9fZGV2ZXhpdCBhdDI0X3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQoreworCXN0cnVjdCBhdDI0X2RhdGEgKmF0MjQ7CisJaW50IGk7CisKKwlhdDI0ID0gaTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCk7CisJc3lzZnNfcmVtb3ZlX2Jpbl9maWxlKCZjbGllbnQtPmRldi5rb2JqLCAmYXQyNC0+YmluKTsKKworCWZvciAoaSA9IDE7IGkgPCBhdDI0LT5udW1fYWRkcmVzc2VzOyBpKyspCisJCWkyY191bnJlZ2lzdGVyX2RldmljZShhdDI0LT5jbGllbnRbaV0pOworCisJa2ZyZWUoYXQyNC0+d3JpdGVidWYpOworCWtmcmVlKGF0MjQpOworCWkyY19zZXRfY2xpZW50ZGF0YShjbGllbnQsIE5VTEwpOworCXJldHVybiAwOworfQorCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCitzdGF0aWMgc3RydWN0IGkyY19kcml2ZXIgYXQyNF9kcml2ZXIgPSB7CisJLmRyaXZlciA9IHsKKwkJLm5hbWUgPSAiYXQyNCIsCisJCS5vd25lciA9IFRISVNfTU9EVUxFLAorCX0sCisJLnByb2JlID0gYXQyNF9wcm9iZSwKKwkucmVtb3ZlID0gX19kZXZleGl0X3AoYXQyNF9yZW1vdmUpLAorCS5pZF90YWJsZSA9IGF0MjRfaWRzLAorfTsKKworc3RhdGljIGludCBfX2luaXQgYXQyNF9pbml0KHZvaWQpCit7CisJaW9fbGltaXQgPSByb3VuZGRvd25fcG93X29mX3R3byhpb19saW1pdCk7CisJcmV0dXJuIGkyY19hZGRfZHJpdmVyKCZhdDI0X2RyaXZlcik7Cit9Cittb2R1bGVfaW5pdChhdDI0X2luaXQpOworCitzdGF0aWMgdm9pZCBfX2V4aXQgYXQyNF9leGl0KHZvaWQpCit7CisJaTJjX2RlbF9kcml2ZXIoJmF0MjRfZHJpdmVyKTsKK30KK21vZHVsZV9leGl0KGF0MjRfZXhpdCk7CisKK01PRFVMRV9ERVNDUklQVElPTigiRHJpdmVyIGZvciBtb3N0IEkyQyBFRVBST01zIik7CitNT0RVTEVfQVVUSE9SKCJEYXZpZCBCcm93bmVsbCBhbmQgV29sZnJhbSBTYW5nIik7CitNT0RVTEVfTElDRU5TRSgiR1BMIik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2kyYy9jaGlwcy9lZXByb20uYyBiL2RyaXZlcnMvaTJjL2NoaXBzL2VlcHJvbS5jCmluZGV4IDdkZWUwMDFlLi4zNzNlYThkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2kyYy9jaGlwcy9lZXByb20uYworKysgYi9kcml2ZXJzL2kyYy9jaGlwcy9lZXByb20uYwpAQCAtMSwxNSArMSw5IEBACiAvKgotICAgIGVlcHJvbS5jIC0gUGFydCBvZiBsbV9zZW5zb3JzLCBMaW51eCBrZXJuZWwgbW9kdWxlcyBmb3IgaGFyZHdhcmUKLSAgICAgICAgICAgICAgIG1vbml0b3JpbmcKICAgICBDb3B5cmlnaHQgKEMpIDE5OTgsIDE5OTkgIEZyb2RvIExvb2lqYWFyZCA8ZnJvZG9sQGRkcy5ubD4gYW5kCiAJCQkgICAgICAgUGhpbGlwIEVkZWxicm9jayA8cGhpbEBuZXRyb2VkZ2UuY29tPgogICAgIENvcHlyaWdodCAoQykgMjAwMyBHcmVnIEtyb2FoLUhhcnRtYW4gPGdyZWdAa3JvYWguY29tPgogICAgIENvcHlyaWdodCAoQykgMjAwMyBJQk0gQ29ycC4KLQotICAgIDIwMDQtMDEtMTYgIEplYW4gRGVsdmFyZSA8a2hhbGlAbGludXgtZnIub3JnPgotICAgIERpdmlkZSB0aGUgZWVwcm9tIGluIDMyLWJ5dGUgKGFyYml0cmFyeSkgc2xpY2VzLiBUaGlzIHNpZ25pZmljYW50bHkKLSAgICBzcGVlZHMgc2Vuc29ycyB1cCwgYXMgd2VsbCBhcyB2YXJpb3VzIHNjcmlwdHMgdXNpbmcgdGhlIGVlcHJvbQotICAgIG1vZHVsZS4KKyAgICBDb3B5cmlnaHQgKEMpIDIwMDQgSmVhbiBEZWx2YXJlIDxraGFsaUBsaW51eC1mci5vcmc+CiAKICAgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQogICAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CkBAIC03OCw3ICs3Miw3IEBACiBzdGF0aWMgdm9pZCBlZXByb21fdXBkYXRlX2NsaWVudChzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50LCB1OCBzbGljZSkKIHsKIAlzdHJ1Y3QgZWVwcm9tX2RhdGEgKmRhdGEgPSBpMmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50KTsKLQlpbnQgaSwgajsKKwlpbnQgaTsKIAogCW11dGV4X2xvY2soJmRhdGEtPnVwZGF0ZV9sb2NrKTsKIApAQCAtOTMsMTUgKzg3LDEyIEBACiAJCQkJCQkJIT0gMzIpCiAJCQkJCWdvdG8gZXhpdDsKIAkJfSBlbHNlIHsKLQkJCWlmIChpMmNfc21idXNfd3JpdGVfYnl0ZShjbGllbnQsIHNsaWNlIDw8IDUpKSB7Ci0JCQkJZGV2X2RiZygmY2xpZW50LT5kZXYsICJlZXByb20gcmVhZCBzdGFydCBoYXMgZmFpbGVkIVxuIik7Ci0JCQkJZ290byBleGl0OwotCQkJfQotCQkJZm9yIChpID0gc2xpY2UgPDwgNTsgaSA8IChzbGljZSArIDEpIDw8IDU7IGkrKykgewotCQkJCWogPSBpMmNfc21idXNfcmVhZF9ieXRlKGNsaWVudCk7Ci0JCQkJaWYgKGogPCAwKQorCQkJZm9yIChpID0gc2xpY2UgPDwgNTsgaSA8IChzbGljZSArIDEpIDw8IDU7IGkgKz0gMikgeworCQkJCWludCB3b3JkID0gaTJjX3NtYnVzX3JlYWRfd29yZF9kYXRhKGNsaWVudCwgaSk7CisJCQkJaWYgKHdvcmQgPCAwKQogCQkJCQlnb3RvIGV4aXQ7Ci0JCQkJZGF0YS0+ZGF0YVtpXSA9ICh1OCkgajsKKwkJCQlkYXRhLT5kYXRhW2ldID0gd29yZCAmIDB4ZmY7CisJCQkJZGF0YS0+ZGF0YVtpICsgMV0gPSB3b3JkID4+IDg7CiAJCQl9CiAJCX0KIAkJZGF0YS0+bGFzdF91cGRhdGVkW3NsaWNlXSA9IGppZmZpZXM7CkBAIC0xNTksMjQgKzE1MCwzMyBAQAogCiBzdGF0aWMgaW50IGVlcHJvbV9hdHRhY2hfYWRhcHRlcihzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXB0ZXIpCiB7CisJaWYgKCEoYWRhcHRlci0+Y2xhc3MgJiAoSTJDX0NMQVNTX0REQyB8IEkyQ19DTEFTU19TUEQpKSkKKwkJcmV0dXJuIDA7CiAJcmV0dXJuIGkyY19wcm9iZShhZGFwdGVyLCAmYWRkcl9kYXRhLCBlZXByb21fZGV0ZWN0KTsKIH0KIAogLyogVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgYnkgaTJjX3Byb2JlICovCiBzdGF0aWMgaW50IGVlcHJvbV9kZXRlY3Qoc3RydWN0IGkyY19hZGFwdGVyICphZGFwdGVyLCBpbnQgYWRkcmVzcywgaW50IGtpbmQpCiB7Ci0Jc3RydWN0IGkyY19jbGllbnQgKm5ld19jbGllbnQ7CisJc3RydWN0IGkyY19jbGllbnQgKmNsaWVudDsKIAlzdHJ1Y3QgZWVwcm9tX2RhdGEgKmRhdGE7CiAJaW50IGVyciA9IDA7CiAKLQkvKiBUaGVyZSBhcmUgdGhyZWUgd2F5cyB3ZSBjYW4gcmVhZCB0aGUgRUVQUk9NIGRhdGE6CisJLyogRURJRCBFRVBST01zIGFyZSBvZnRlbiAyNEMwMCBFRVBST01zLCB3aGljaCBhbnN3ZXIgdG8gYWxsCisJICAgYWRkcmVzc2VzIDB4NTAtMHg1NywgYnV0IHdlIG9ubHkgY2FyZSBhYm91dCAweDUwLiBTbyBkZWNsaW5lCisJICAgYXR0YWNoaW5nIHRvIGFkZHJlc3NlcyA+PSAweDUxIG9uIEREQyBidXNlcyAqLworCWlmICghKGFkYXB0ZXItPmNsYXNzICYgSTJDX0NMQVNTX1NQRCkgJiYgYWRkcmVzcyA+PSAweDUxKQorCQlnb3RvIGV4aXQ7CisKKwkvKiBUaGVyZSBhcmUgZm91ciB3YXlzIHdlIGNhbiByZWFkIHRoZSBFRVBST00gZGF0YToKIAkgICAoMSkgSTJDIGJsb2NrIHJlYWRzIChmYXN0ZXIsIGJ1dCB1bnN1cHBvcnRlZCBieSBtb3N0IGFkYXB0ZXJzKQotCSAgICgyKSBDb25zZWN1dGl2ZSBieXRlIHJlYWRzICgxMDAlIG92ZXJoZWFkKQotCSAgICgzKSBSZWd1bGFyIGJ5dGUgZGF0YSByZWFkcyAoMjAwJSBvdmVyaGVhZCkKLQkgICBUaGUgdGhpcmQgbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZCBieSB0aGlzIGRyaXZlciBiZWNhdXNlIGFsbAotCSAgIGtub3duIGFkYXB0ZXJzIHN1cHBvcnQgYXQgbGVhc3QgdGhlIHNlY29uZC4gKi8KLQlpZiAoIWkyY19jaGVja19mdW5jdGlvbmFsaXR5KGFkYXB0ZXIsIEkyQ19GVU5DX1NNQlVTX1JFQURfQllURV9EQVRBCi0JCQkJCSAgICB8IEkyQ19GVU5DX1NNQlVTX0JZVEUpKQorCSAgICgyKSBXb3JkIHJlYWRzICgxMjglIG92ZXJoZWFkKQorCSAgICgzKSBDb25zZWN1dGl2ZSBieXRlIHJlYWRzICg4OCUgb3ZlcmhlYWQsIHVuc2FmZSkKKwkgICAoNCkgUmVndWxhciBieXRlIGRhdGEgcmVhZHMgKDI2NSUgb3ZlcmhlYWQpCisJICAgVGhlIHRoaXJkIGFuZCBmb3VydGggbWV0aG9kcyBhcmUgbm90IGltcGxlbWVudGVkIGJ5IHRoaXMgZHJpdmVyCisJICAgYmVjYXVzZSBhbGwga25vd24gYWRhcHRlcnMgc3VwcG9ydCBvbmUgb2YgdGhlIGZpcnN0IHR3by4gKi8KKwlpZiAoIWkyY19jaGVja19mdW5jdGlvbmFsaXR5KGFkYXB0ZXIsIEkyQ19GVU5DX1NNQlVTX1JFQURfV09SRF9EQVRBKQorCSAmJiAhaTJjX2NoZWNrX2Z1bmN0aW9uYWxpdHkoYWRhcHRlciwgSTJDX0ZVTkNfU01CVVNfUkVBRF9JMkNfQkxPQ0spKQogCQlnb3RvIGV4aXQ7CiAKIAlpZiAoIShkYXRhID0ga3phbGxvYyhzaXplb2Yoc3RydWN0IGVlcHJvbV9kYXRhKSwgR0ZQX0tFUk5FTCkpKSB7CkBAIC0xODQsNTAgKzE4NCw0OSBAQAogCQlnb3RvIGV4aXQ7CiAJfQogCi0JbmV3X2NsaWVudCA9ICZkYXRhLT5jbGllbnQ7CisJY2xpZW50ID0gJmRhdGEtPmNsaWVudDsKIAltZW1zZXQoZGF0YS0+ZGF0YSwgMHhmZiwgRUVQUk9NX1NJWkUpOwotCWkyY19zZXRfY2xpZW50ZGF0YShuZXdfY2xpZW50LCBkYXRhKTsKLQluZXdfY2xpZW50LT5hZGRyID0gYWRkcmVzczsKLQluZXdfY2xpZW50LT5hZGFwdGVyID0gYWRhcHRlcjsKLQluZXdfY2xpZW50LT5kcml2ZXIgPSAmZWVwcm9tX2RyaXZlcjsKLQluZXdfY2xpZW50LT5mbGFncyA9IDA7CisJaTJjX3NldF9jbGllbnRkYXRhKGNsaWVudCwgZGF0YSk7CisJY2xpZW50LT5hZGRyID0gYWRkcmVzczsKKwljbGllbnQtPmFkYXB0ZXIgPSBhZGFwdGVyOworCWNsaWVudC0+ZHJpdmVyID0gJmVlcHJvbV9kcml2ZXI7CiAKIAkvKiBGaWxsIGluIHRoZSByZW1haW5pbmcgY2xpZW50IGZpZWxkcyAqLwotCXN0cmxjcHkobmV3X2NsaWVudC0+bmFtZSwgImVlcHJvbSIsIEkyQ19OQU1FX1NJWkUpOwotCWRhdGEtPnZhbGlkID0gMDsKKwlzdHJsY3B5KGNsaWVudC0+bmFtZSwgImVlcHJvbSIsIEkyQ19OQU1FX1NJWkUpOwogCW11dGV4X2luaXQoJmRhdGEtPnVwZGF0ZV9sb2NrKTsKIAlkYXRhLT5uYXR1cmUgPSBVTktOT1dOOwogCiAJLyogVGVsbCB0aGUgSTJDIGxheWVyIGEgbmV3IGNsaWVudCBoYXMgYXJyaXZlZCAqLwotCWlmICgoZXJyID0gaTJjX2F0dGFjaF9jbGllbnQobmV3X2NsaWVudCkpKQorCWlmICgoZXJyID0gaTJjX2F0dGFjaF9jbGllbnQoY2xpZW50KSkpCiAJCWdvdG8gZXhpdF9rZnJlZTsKIAogCS8qIERldGVjdCB0aGUgVmFpbyBuYXR1cmUgb2YgRUVQUk9Ncy4KIAkgICBXZSB1c2UgdGhlICJQQ0ctIiBvciAiVkdOLSIgcHJlZml4IGFzIHRoZSBzaWduYXR1cmUuICovCi0JaWYgKGFkZHJlc3MgPT0gMHg1NykgeworCWlmIChhZGRyZXNzID09IDB4NTcKKwkgJiYgaTJjX2NoZWNrX2Z1bmN0aW9uYWxpdHkoYWRhcHRlciwgSTJDX0ZVTkNfU01CVVNfUkVBRF9CWVRFX0RBVEEpKSB7CiAJCWNoYXIgbmFtZVs0XTsKIAotCQluYW1lWzBdID0gaTJjX3NtYnVzX3JlYWRfYnl0ZV9kYXRhKG5ld19jbGllbnQsIDB4ODApOwotCQluYW1lWzFdID0gaTJjX3NtYnVzX3JlYWRfYnl0ZShuZXdfY2xpZW50KTsKLQkJbmFtZVsyXSA9IGkyY19zbWJ1c19yZWFkX2J5dGUobmV3X2NsaWVudCk7Ci0JCW5hbWVbM10gPSBpMmNfc21idXNfcmVhZF9ieXRlKG5ld19jbGllbnQpOworCQluYW1lWzBdID0gaTJjX3NtYnVzX3JlYWRfYnl0ZV9kYXRhKGNsaWVudCwgMHg4MCk7CisJCW5hbWVbMV0gPSBpMmNfc21idXNfcmVhZF9ieXRlX2RhdGEoY2xpZW50LCAweDgxKTsKKwkJbmFtZVsyXSA9IGkyY19zbWJ1c19yZWFkX2J5dGVfZGF0YShjbGllbnQsIDB4ODIpOworCQluYW1lWzNdID0gaTJjX3NtYnVzX3JlYWRfYnl0ZV9kYXRhKGNsaWVudCwgMHg4Myk7CiAKIAkJaWYgKCFtZW1jbXAobmFtZSwgIlBDRy0iLCA0KSB8fCAhbWVtY21wKG5hbWUsICJWR04tIiwgNCkpIHsKLQkJCWRldl9pbmZvKCZuZXdfY2xpZW50LT5kZXYsICJWYWlvIEVFUFJPTSBkZXRlY3RlZCwgIgorCQkJZGV2X2luZm8oJmNsaWVudC0+ZGV2LCAiVmFpbyBFRVBST00gZGV0ZWN0ZWQsICIKIAkJCQkgImVuYWJsaW5nIHByaXZhY3kgcHJvdGVjdGlvblxuIik7CiAJCQlkYXRhLT5uYXR1cmUgPSBWQUlPOwogCQl9CiAJfQogCiAJLyogY3JlYXRlIHRoZSBzeXNmcyBlZXByb20gZmlsZSAqLwotCWVyciA9IHN5c2ZzX2NyZWF0ZV9iaW5fZmlsZSgmbmV3X2NsaWVudC0+ZGV2LmtvYmosICZlZXByb21fYXR0cik7CisJZXJyID0gc3lzZnNfY3JlYXRlX2Jpbl9maWxlKCZjbGllbnQtPmRldi5rb2JqLCAmZWVwcm9tX2F0dHIpOwogCWlmIChlcnIpCiAJCWdvdG8gZXhpdF9kZXRhY2g7CiAKIAlyZXR1cm4gMDsKIAogZXhpdF9kZXRhY2g6Ci0JaTJjX2RldGFjaF9jbGllbnQobmV3X2NsaWVudCk7CisJaTJjX2RldGFjaF9jbGllbnQoY2xpZW50KTsKIGV4aXRfa2ZyZWU6CiAJa2ZyZWUoZGF0YSk7CiBleGl0OgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pMmMvY2hpcHMvaXNwMTMwMV9vbWFwLmMgYi9kcml2ZXJzL2kyYy9jaGlwcy9pc3AxMzAxX29tYXAuYwppbmRleCBiMWI0NWRkLi4wM2EzM2YxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2kyYy9jaGlwcy9pc3AxMzAxX29tYXAuYworKysgYi9kcml2ZXJzL2kyYy9jaGlwcy9pc3AxMzAxX29tYXAuYwpAQCAtNzIsNyArNzIsNyBAQAogfTsKIAogCi0vKiBiaXRzIGluIE9UR19DVFJMX1JFRyAqLworLyogYml0cyBpbiBPVEdfQ1RSTCAqLwogCiAjZGVmaW5lCU9UR19YQ0VJVl9PVVRQVVRTIFwKIAkoT1RHX0FTRVNTVkxEfE9UR19CU0VTU0VORHxPVEdfQlNFU1NWTER8T1RHX1ZCVVNWTER8T1RHX0lEKQpAQCAtMTg2LDggKzE4Niw4IEBACiAKIC8qIG9wZXJhdGlvbmFsIHJlZ2lzdGVycyAqLwogI2RlZmluZQlJU1AxMzAxX01PREVfQ09OVFJPTF8xCQkweDA0CS8qIHU4IHJlYWQsIHNldCwgKzEgY2xlYXIgKi8KLSMJZGVmaW5lCU1DMV9TUEVFRF9SRUcJCSgxIDw8IDApCi0jCWRlZmluZQlNQzFfU1VTUEVORF9SRUcJCSgxIDw8IDEpCisjCWRlZmluZQlNQzFfU1BFRUQJCSgxIDw8IDApCisjCWRlZmluZQlNQzFfU1VTUEVORAkJKDEgPDwgMSkKICMJZGVmaW5lCU1DMV9EQVRfU0UwCQkoMSA8PCAyKQogIwlkZWZpbmUJTUMxX1RSQU5TUEFSRU5UCQkoMSA8PCAzKQogIwlkZWZpbmUJTUMxX0JESVNfQUNPTl9FTgkoMSA8PCA0KQpAQCAtMjc0LDcgKzI3NCw3IEBACiAJaXNwLT5vdGcuc3RhdGUgPSBPVEdfU1RBVEVfVU5ERUZJTkVEOwogCiAJLy8gaXNwMTMwMV9zZXRfYml0cyhpc3AsIElTUDEzMDFfTU9ERV9DT05UUk9MXzIsIE1DMl9HTE9CQUxfUFdSX0ROKTsKLQlpc3AxMzAxX3NldF9iaXRzKGlzcCwgSVNQMTMwMV9NT0RFX0NPTlRST0xfMSwgTUMxX1NVU1BFTkRfUkVHKTsKKwlpc3AxMzAxX3NldF9iaXRzKGlzcCwgSVNQMTMwMV9NT0RFX0NPTlRST0xfMSwgTUMxX1NVU1BFTkQpOwogCiAJaXNwMTMwMV9jbGVhcl9iaXRzKGlzcCwgSVNQMTMwMV9PVEdfQ09OVFJPTF8xLCBPVEcxX0lEX1BVTExET1dOKTsKIAlpc3AxMzAxX2NsZWFyX2JpdHMoaXNwLCBJU1AxMzAxX01PREVfQ09OVFJPTF8xLCBNQzFfREFUX1NFMCk7CkBAIC0yODMsNyArMjgzLDcgQEAKIHN0YXRpYyB2b2lkIHBvd2VyX3VwKHN0cnVjdCBpc3AxMzAxICppc3ApCiB7CiAJLy8gaXNwMTMwMV9jbGVhcl9iaXRzKGlzcCwgSVNQMTMwMV9NT0RFX0NPTlRST0xfMiwgTUMyX0dMT0JBTF9QV1JfRE4pOwotCWlzcDEzMDFfY2xlYXJfYml0cyhpc3AsIElTUDEzMDFfTU9ERV9DT05UUk9MXzEsIE1DMV9TVVNQRU5EX1JFRyk7CisJaXNwMTMwMV9jbGVhcl9iaXRzKGlzcCwgSVNQMTMwMV9NT0RFX0NPTlRST0xfMSwgTUMxX1NVU1BFTkQpOwogCiAJLyogZG8gdGhpcyBvbmx5IHdoZW4gY3B1IGlzIGRyaXZpbmcgdHJhbnNjZWl2ZXIsCiAJICogc28gaG9zdCB3b24ndCBzZWUgYSBsb3cgc3BlZWQgZGV2aWNlLi4uCkBAIC0zNjAsNiArMzYwLDggQEAKIC8qIGNhbGxlZCBmcm9tIGlycSBoYW5kbGVycyAqLwogc3RhdGljIHZvaWQgYV9pZGxlKHN0cnVjdCBpc3AxMzAxICppc3AsIGNvbnN0IGNoYXIgKnRhZykKIHsKKwl1MzIgbDsKKwogCWlmIChpc3AtPm90Zy5zdGF0ZSA9PSBPVEdfU1RBVEVfQV9JRExFKQogCQlyZXR1cm47CiAKQEAgLTM3MywxMyArMzc1LDE3IEBACiAJCWdhZGdldF9zdXNwZW5kKGlzcCk7CiAJfQogCWlzcC0+b3RnLnN0YXRlID0gT1RHX1NUQVRFX0FfSURMRTsKLQlpc3AtPmxhc3Rfb3RnX2N0cmwgPSBPVEdfQ1RSTF9SRUcgPSBPVEdfQ1RSTF9SRUcgJiBPVEdfWENFSVZfT1VUUFVUUzsKKwlsID0gb21hcF9yZWFkbChPVEdfQ1RSTCkgJiBPVEdfWENFSVZfT1VUUFVUUzsKKwlvbWFwX3dyaXRlbChsLCBPVEdfQ1RSTCk7CisJaXNwLT5sYXN0X290Z19jdHJsID0gbDsKIAlwcl9kZWJ1ZygiICAtLT4gJXMvJXNcbiIsIHN0YXRlX25hbWUoaXNwKSwgdGFnKTsKIH0KIAogLyogY2FsbGVkIGZyb20gaXJxIGhhbmRsZXJzICovCiBzdGF0aWMgdm9pZCBiX2lkbGUoc3RydWN0IGlzcDEzMDEgKmlzcCwgY29uc3QgY2hhciAqdGFnKQogeworCXUzMiBsOworCiAJaWYgKGlzcC0+b3RnLnN0YXRlID09IE9UR19TVEFURV9CX0lETEUpCiAJCXJldHVybjsKIApAQCAtMzkzLDcgKzM5OSw5IEBACiAJCWdhZGdldF9zdXNwZW5kKGlzcCk7CiAJfQogCWlzcC0+b3RnLnN0YXRlID0gT1RHX1NUQVRFX0JfSURMRTsKLQlpc3AtPmxhc3Rfb3RnX2N0cmwgPSBPVEdfQ1RSTF9SRUcgPSBPVEdfQ1RSTF9SRUcgJiBPVEdfWENFSVZfT1VUUFVUUzsKKwlsID0gb21hcF9yZWFkbChPVEdfQ1RSTCkgJiBPVEdfWENFSVZfT1VUUFVUUzsKKwlvbWFwX3dyaXRlbChsLCBPVEdfQ1RSTCk7CisJaXNwLT5sYXN0X290Z19jdHJsID0gbDsKIAlwcl9kZWJ1ZygiICAtLT4gJXMvJXNcbiIsIHN0YXRlX25hbWUoaXNwKSwgdGFnKTsKIH0KIApAQCAtNDA2LDcgKzQxNCw3IEBACiAJdTgJc3JjID0gaXNwMTMwMV9nZXRfdTgoaXNwLCBJU1AxMzAxX0lOVEVSUlVQVF9TT1VSQ0UpOwogCiAJcHJfZGVidWcoIm90ZzogJTA2eCwgJXMgJXMsIG90Zy8lMDJ4IHN0YXQvJTAyeC4lMDJ4XG4iLAotCQlPVEdfQ1RSTF9SRUcsIGxhYmVsLCBzdGF0ZV9uYW1lKGlzcCksCisJCW9tYXBfcmVhZGwoT1RHX0NUUkwpLCBsYWJlbCwgc3RhdGVfbmFtZShpc3ApLAogCQljdHJsLCBzdGF0dXMsIHNyYyk7CiAJLyogbW9kZSBjb250cm9sIGFuZCBpcnEgZW5hYmxlcyBkb24ndCBjaGFuZ2UgbXVjaCAqLwogI2VuZGlmCkBAIC00MjksNyArNDM3LDcgQEAKIHN0YXRpYyB2b2lkIGNoZWNrX3N0YXRlKHN0cnVjdCBpc3AxMzAxICppc3AsIGNvbnN0IGNoYXIgKnRhZykKIHsKIAllbnVtIHVzYl9vdGdfc3RhdGUJc3RhdGUgPSBPVEdfU1RBVEVfVU5ERUZJTkVEOwotCXU4CQkJZnNtID0gT1RHX1RFU1RfUkVHICYgMHgwZmY7CisJdTgJCQlmc20gPSBvbWFwX3JlYWR3KE9UR19URVNUKSAmIDB4MGZmOwogCXVuc2lnbmVkCQlleHRyYSA9IDA7CiAKIAlzd2l0Y2ggKGZzbSkgewpAQCAtNDk0LDcgKzUwMiw4IEBACiAJaWYgKGlzcC0+b3RnLnN0YXRlID09IHN0YXRlICYmICFleHRyYSkKIAkJcmV0dXJuOwogCXByX2RlYnVnKCJvdGc6ICVzIEZTTSAlcy8lMDJ4LCAlcywgJTA2eFxuIiwgdGFnLAotCQlzdGF0ZV9zdHJpbmcoc3RhdGUpLCBmc20sIHN0YXRlX25hbWUoaXNwKSwgT1RHX0NUUkxfUkVHKTsKKwkJc3RhdGVfc3RyaW5nKHN0YXRlKSwgZnNtLCBzdGF0ZV9uYW1lKGlzcCksCisJCW9tYXBfcmVhZGwoT1RHX0NUUkwpKTsKIH0KIAogI2Vsc2UKQEAgLTUwOCwxMCArNTE3LDExIEBACiB7CiAJdTMyCW90Z19jdHJsOwogCi0Jb3RnX2N0cmwgPSBPVEdfQ1RSTF9SRUcKLQkJCSYgT1RHX0NUUkxfTUFTSwotCQkJJiB+T1RHX1hDRUlWX0lOUFVUUwotCQkJJiB+KE9UR19JRHxPVEdfQVNFU1NWTER8T1RHX1ZCVVNWTEQpOworCW90Z19jdHJsID0gb21hcF9yZWFkbChPVEdfQ1RSTCkgJiBPVEdfQ1RSTF9NQVNLOworCW90Z19jdHJsICY9IH5PVEdfWENFSVZfSU5QVVRTOworCW90Z19jdHJsICY9IH4oT1RHX0lEfE9UR19BU0VTU1ZMRHxPVEdfVkJVU1ZMRCk7CisKKwogCWlmIChpbnRfc3JjICYgSU5UUl9TRVNTX1ZMRCkKIAkJb3RnX2N0cmwgfD0gT1RHX0FTRVNTVkxEOwogCWVsc2UgaWYgKGlzcC0+b3RnLnN0YXRlID09IE9UR19TVEFURV9BX1dBSVRfVkZBTEwpIHsKQEAgLTUzNCw3ICs1NDQsNyBAQAogCQkJcmV0dXJuOwogCQl9CiAJfQotCU9UR19DVFJMX1JFRyA9IG90Z19jdHJsOworCW9tYXBfd3JpdGVsKG90Z19jdHJsLCBPVEdfQ1RSTCk7CiB9CiAKIC8qIG91dHB1dHMgZnJvbSBJU1AxMzAxX09UR19TVEFUVVMgKi8KQEAgLTU0MiwxNSArNTUyLDE0IEBACiB7CiAJdTMyCW90Z19jdHJsOwogCi0Jb3RnX2N0cmwgPSBPVEdfQ1RSTF9SRUcKLQkJCSYgT1RHX0NUUkxfTUFTSwotCQkJJiB+T1RHX1hDRUlWX0lOUFVUUwotCQkJJiB+KE9UR19CU0VTU1ZMRHxPVEdfQlNFU1NFTkQpOworCW90Z19jdHJsID0gb21hcF9yZWFkbChPVEdfQ1RSTCkgJiBPVEdfQ1RSTF9NQVNLOworCW90Z19jdHJsICY9IH5PVEdfWENFSVZfSU5QVVRTOworCW90Z19jdHJsICY9IH4oT1RHX0JTRVNTVkxEIHwgT1RHX0JTRVNTRU5EKTsKIAlpZiAob3RnX3N0YXR1cyAmIE9UR19CX1NFU1NfVkxEKQogCQlvdGdfY3RybCB8PSBPVEdfQlNFU1NWTEQ7CiAJZWxzZSBpZiAob3RnX3N0YXR1cyAmIE9UR19CX1NFU1NfRU5EKQogCQlvdGdfY3RybCB8PSBPVEdfQlNFU1NFTkQ7Ci0JT1RHX0NUUkxfUkVHID0gb3RnX2N0cmw7CisJb21hcF93cml0ZWwob3RnX2N0cmwsIE9UR19DVFJMKTsKIH0KIAogLyogaW5wdXRzIGdvaW5nIHRvIElTUDEzMDEgKi8KQEAgLTU1OSw3ICs1NjgsNyBAQAogCXUzMglvdGdfY3RybCwgb3RnX2NoYW5nZTsKIAl1OAlzZXQgPSBPVEcxX0RNX1BVTExET1dOLCBjbHIgPSBPVEcxX0RNX1BVTExVUDsKIAotCW90Z19jdHJsID0gT1RHX0NUUkxfUkVHOworCW90Z19jdHJsID0gb21hcF9yZWFkbChPVEdfQ1RSTCk7CiAJb3RnX2NoYW5nZSA9IG90Z19jdHJsIF4gaXNwLT5sYXN0X290Z19jdHJsOwogCWlzcC0+bGFzdF9vdGdfY3RybCA9IG90Z19jdHJsOwogCW90Z19jdHJsID0gb3RnX2N0cmwgJiBPVEdfWENFSVZfSU5QVVRTOwpAQCAtNjM5LDYgKzY0OCw4IEBACiAKIAkvKiBITlAgc3dpdGNoIHRvIGhvc3Qgb3IgcGVyaXBoZXJhbDsgYW5kIFNSUCAqLwogCWlmIChvdGdfY2hhbmdlICYgT1RHX1BVTExVUCkgeworCQl1MzIgbDsKKwogCQlzd2l0Y2ggKGlzcC0+b3RnLnN0YXRlKSB7CiAJCWNhc2UgT1RHX1NUQVRFX0JfSURMRToKIAkJCWlmIChjbHIgJiBPVEcxX0RQX1BVTExVUCkKQEAgLTY1NSw3ICs2NjYsOSBAQAogCQlkZWZhdWx0OgogCQkJYnJlYWs7CiAJCX0KLQkJT1RHX0NUUkxfUkVHIHw9IE9UR19QVUxMVVA7CisJCWwgPSBvbWFwX3JlYWRsKE9UR19DVFJMKTsKKwkJbCB8PSBPVEdfUFVMTFVQOworCQlvbWFwX3dyaXRlbChsLCBPVEdfQ1RSTCk7CiAJfQogCiAJY2hlY2tfc3RhdGUoaXNwLCBfX2Z1bmNfXyk7CkBAIC02NjQsMjAgKzY3NywyMCBAQAogCiBzdGF0aWMgaXJxcmV0dXJuX3Qgb21hcF9vdGdfaXJxKGludCBpcnEsIHZvaWQgKl9pc3ApCiB7Ci0JdTE2CQlvdGdfaXJxID0gT1RHX0lSUV9TUkNfUkVHOworCXUxNgkJb3RnX2lycSA9IG9tYXBfcmVhZHcoT1RHX0lSUV9TUkMpOwogCXUzMgkJb3RnX2N0cmw7CiAJaW50CQlyZXQgPSBJUlFfTk9ORTsKIAlzdHJ1Y3QgaXNwMTMwMQkqaXNwID0gX2lzcDsKIAogCS8qIHVwZGF0ZSBJU1AxMzAxIHRyYW5zY2lldmVyIGZyb20gT1RHIGNvbnRyb2xsZXIgKi8KIAlpZiAob3RnX2lycSAmIE9QUlRfQ0hHKSB7Ci0JCU9UR19JUlFfU1JDX1JFRyA9IE9QUlRfQ0hHOworCQlvbWFwX3dyaXRldyhPUFJUX0NIRywgT1RHX0lSUV9TUkMpOwogCQlpc3AxMzAxX2RlZmVyX3dvcmsoaXNwLCBXT1JLX1VQREFURV9JU1ApOwogCQlyZXQgPSBJUlFfSEFORExFRDsKIAogCS8qIFNSUCB0byBiZWNvbWUgYl9wZXJpcGhlcmFsIGZhaWxlZCAqLwogCX0gZWxzZSBpZiAob3RnX2lycSAmIEJfU1JQX1RNUk9VVCkgewotCQlwcl9kZWJ1Zygib3RnOiBCX1NSUF9USU1FT1VULCAlMDZ4XG4iLCBPVEdfQ1RSTF9SRUcpOworCQlwcl9kZWJ1Zygib3RnOiBCX1NSUF9USU1FT1VULCAlMDZ4XG4iLCBvbWFwX3JlYWRsKE9UR19DVFJMKSk7CiAJCW5vdHJlc3BvbmRpbmcoaXNwKTsKIAogCQkvKiBnYWRnZXQgZHJpdmVycyB0aGF0IGNhcmUgc2hvdWxkIG1vbml0b3IgYWxsIGtpbmRzIG9mCkBAIC02ODcsMzEgKzcwMCwzMSBAQAogCQlpZiAoaXNwLT5vdGcuc3RhdGUgPT0gT1RHX1NUQVRFX0JfU1JQX0lOSVQpCiAJCQliX2lkbGUoaXNwLCAic3JwX3RpbWVvdXQiKTsKIAotCQlPVEdfSVJRX1NSQ19SRUcgPSBCX1NSUF9UTVJPVVQ7CisJCW9tYXBfd3JpdGV3KEJfU1JQX1RNUk9VVCwgT1RHX0lSUV9TUkMpOwogCQlyZXQgPSBJUlFfSEFORExFRDsKIAogCS8qIEhOUCB0byBiZWNvbWUgYl9ob3N0IGZhaWxlZCAqLwogCX0gZWxzZSBpZiAob3RnX2lycSAmIEJfSE5QX0ZBSUwpIHsKIAkJcHJfZGVidWcoIm90ZzogJXMgQl9ITlBfRkFJTCwgJTA2eFxuIiwKLQkJCQlzdGF0ZV9uYW1lKGlzcCksIE9UR19DVFJMX1JFRyk7CisJCQkJc3RhdGVfbmFtZShpc3ApLCBvbWFwX3JlYWRsKE9UR19DVFJMKSk7CiAJCW5vdHJlc3BvbmRpbmcoaXNwKTsKIAotCQlvdGdfY3RybCA9IE9UR19DVFJMX1JFRzsKKwkJb3RnX2N0cmwgPSBvbWFwX3JlYWRsKE9UR19DVFJMKTsKIAkJb3RnX2N0cmwgfD0gT1RHX0JVU0RST1A7CiAJCW90Z19jdHJsICY9IE9UR19DVFJMX01BU0sgJiB+T1RHX1hDRUlWX0lOUFVUUzsKLQkJT1RHX0NUUkxfUkVHID0gb3RnX2N0cmw7CisJCW9tYXBfd3JpdGVsKG90Z19jdHJsLCBPVEdfQ1RSTCk7CiAKIAkJLyogc3Vic2V0IG9mIGJfcGVyaXBoZXJhbCgpLi4uICovCiAJCWlzcC0+b3RnLnN0YXRlID0gT1RHX1NUQVRFX0JfUEVSSVBIRVJBTDsKIAkJcHJfZGVidWcoIiAgLS0+IGJfcGVyaXBoZXJhbFxuIik7CiAKLQkJT1RHX0lSUV9TUkNfUkVHID0gQl9ITlBfRkFJTDsKKwkJb21hcF93cml0ZXcoQl9ITlBfRkFJTCwgT1RHX0lSUV9TUkMpOwogCQlyZXQgPSBJUlFfSEFORExFRDsKIAogCS8qIGRldGVjdCBTUlAgZnJvbSBCLWRldmljZSAuLi4gKi8KIAl9IGVsc2UgaWYgKG90Z19pcnEgJiBBX1NSUF9ERVRFQ1QpIHsKIAkJcHJfZGVidWcoIm90ZzogJXMgU1JQX0RFVEVDVCwgJTA2eFxuIiwKLQkJCQlzdGF0ZV9uYW1lKGlzcCksIE9UR19DVFJMX1JFRyk7CisJCQkJc3RhdGVfbmFtZShpc3ApLCBvbWFwX3JlYWRsKE9UR19DVFJMKSk7CiAKIAkJaXNwMTMwMV9kZWZlcl93b3JrKGlzcCwgV09SS19VUERBVEVfT1RHKTsKIAkJc3dpdGNoIChpc3AtPm90Zy5zdGF0ZSkgewpAQCAtNzE5LDQ5ICs3MzIsNDkgQEAKIAkJCWlmICghaXNwLT5vdGcuaG9zdCkKIAkJCQlicmVhazsKIAkJCWlzcDEzMDFfZGVmZXJfd29yayhpc3AsIFdPUktfSE9TVF9SRVNVTUUpOwotCQkJb3RnX2N0cmwgPSBPVEdfQ1RSTF9SRUc7CisJCQlvdGdfY3RybCA9IG9tYXBfcmVhZGwoT1RHX0NUUkwpOwogCQkJb3RnX2N0cmwgfD0gT1RHX0FfQlVTUkVROwogCQkJb3RnX2N0cmwgJj0gfihPVEdfQlVTRFJPUHxPVEdfQl9CVVNSRVEpCiAJCQkJCSYgfk9UR19YQ0VJVl9JTlBVVFMKIAkJCQkJJiBPVEdfQ1RSTF9NQVNLOwotCQkJT1RHX0NUUkxfUkVHID0gb3RnX2N0cmw7CisJCQlvbWFwX3dyaXRlbChvdGdfY3RybCwgT1RHX0NUUkwpOwogCQkJYnJlYWs7CiAJCWRlZmF1bHQ6CiAJCQlicmVhazsKIAkJfQogCi0JCU9UR19JUlFfU1JDX1JFRyA9IEFfU1JQX0RFVEVDVDsKKwkJb21hcF93cml0ZXcoQV9TUlBfREVURUNULCBPVEdfSVJRX1NSQyk7CiAJCXJldCA9IElSUV9IQU5ETEVEOwogCiAJLyogdGltZXIgZXhwaXJlZDogIFQoYV93YWl0X2Jjb24pIGFuZCBtYXliZSBUKGFfd2FpdF92cmlzZSkKIAkgKiB3ZSBkb24ndCB0cmFjayB0aGVtIHNlcGFyYXRlbHkKIAkgKi8KIAl9IGVsc2UgaWYgKG90Z19pcnEgJiBBX1JFUV9UTVJPVVQpIHsKLQkJb3RnX2N0cmwgPSBPVEdfQ1RSTF9SRUc7CisJCW90Z19jdHJsID0gb21hcF9yZWFkbChPVEdfQ1RSTCk7CiAJCXByX2luZm8oIm90ZzogQkNPTl9UTU9VVCBmcm9tICVzLCAlMDZ4XG4iLAogCQkJCXN0YXRlX25hbWUoaXNwKSwgb3RnX2N0cmwpOwogCQlub3RyZXNwb25kaW5nKGlzcCk7CiAKIAkJb3RnX2N0cmwgfD0gT1RHX0JVU0RST1A7CiAJCW90Z19jdHJsICY9IH5PVEdfQV9CVVNSRVEgJiBPVEdfQ1RSTF9NQVNLICYgfk9UR19YQ0VJVl9JTlBVVFM7Ci0JCU9UR19DVFJMX1JFRyA9IG90Z19jdHJsOworCQlvbWFwX3dyaXRlbChvdGdfY3RybCwgT1RHX0NUUkwpOwogCQlpc3AtPm90Zy5zdGF0ZSA9IE9UR19TVEFURV9BX1dBSVRfVkZBTEw7CiAKLQkJT1RHX0lSUV9TUkNfUkVHID0gQV9SRVFfVE1ST1VUOworCQlvbWFwX3dyaXRldyhBX1JFUV9UTVJPVVQsIE9UR19JUlFfU1JDKTsKIAkJcmV0ID0gSVJRX0hBTkRMRUQ7CiAKIAkvKiBBLXN1cHBsaWVkIHZvbHRhZ2UgZmVsbCB0b28gbG93OyBvdmVyY3VycmVudCAqLwogCX0gZWxzZSBpZiAob3RnX2lycSAmIEFfVkJVU19FUlIpIHsKLQkJb3RnX2N0cmwgPSBPVEdfQ1RSTF9SRUc7CisJCW90Z19jdHJsID0gb21hcF9yZWFkbChPVEdfQ1RSTCk7CiAJCXByaW50ayhLRVJOX0VSUiAib3RnOiAlcywgVkJVU19FUlIgJTA0eCBjdHJsICUwNnhcbiIsCiAJCQlzdGF0ZV9uYW1lKGlzcCksIG90Z19pcnEsIG90Z19jdHJsKTsKIAogCQlvdGdfY3RybCB8PSBPVEdfQlVTRFJPUDsKIAkJb3RnX2N0cmwgJj0gfk9UR19BX0JVU1JFUSAmIE9UR19DVFJMX01BU0sgJiB+T1RHX1hDRUlWX0lOUFVUUzsKLQkJT1RHX0NUUkxfUkVHID0gb3RnX2N0cmw7CisJCW9tYXBfd3JpdGVsKG90Z19jdHJsLCBPVEdfQ1RSTCk7CiAJCWlzcC0+b3RnLnN0YXRlID0gT1RHX1NUQVRFX0FfVkJVU19FUlI7CiAKLQkJT1RHX0lSUV9TUkNfUkVHID0gQV9WQlVTX0VSUjsKKwkJb21hcF93cml0ZXcoQV9WQlVTX0VSUiwgT1RHX0lSUV9TUkMpOwogCQlyZXQgPSBJUlFfSEFORExFRDsKIAogCS8qIHN3aXRjaCBkcml2ZXI7IHRoZSB0cmFuc2NpZXZlciBjb2RlIGFjdGl2YXRlcyBpdCwKQEAgLTc3MCw3ICs3ODMsNyBAQAogCX0gZWxzZSBpZiAob3RnX2lycSAmIERSSVZFUl9TV0lUQ0gpIHsKIAkJaW50CWtpY2sgPSAwOwogCi0JCW90Z19jdHJsID0gT1RHX0NUUkxfUkVHOworCQlvdGdfY3RybCA9IG9tYXBfcmVhZGwoT1RHX0NUUkwpOwogCQlwcmludGsoS0VSTl9OT1RJQ0UgIm90ZzogJXMsIFNXSVRDSCB0byAlcywgY3RybCAlMDZ4XG4iLAogCQkJCXN0YXRlX25hbWUoaXNwKSwKIAkJCQkob3RnX2N0cmwgJiBPVEdfRFJJVkVSX1NFTCkKQEAgLTc5Myw3ICs4MDYsNyBAQAogCQl9IGVsc2UgewogCQkJaWYgKCEob3RnX2N0cmwgJiBPVEdfSUQpKSB7CiAJCQkJb3RnX2N0cmwgJj0gT1RHX0NUUkxfTUFTSyAmIH5PVEdfWENFSVZfSU5QVVRTOwotCQkJCU9UR19DVFJMX1JFRyA9IG90Z19jdHJsIHwgT1RHX0FfQlVTUkVROworCQkJCW9tYXBfd3JpdGVsKG90Z19jdHJsIHwgT1RHX0FfQlVTUkVRLCBPVEdfQ1RSTCk7CiAJCQl9CiAKIAkJCWlmIChpc3AtPm90Zy5ob3N0KSB7CkBAIC04MTgsNyArODMxLDcgQEAKIAkJCX0KIAkJfQogCi0JCU9UR19JUlFfU1JDX1JFRyA9IERSSVZFUl9TV0lUQ0g7CisJCW9tYXBfd3JpdGV3KERSSVZFUl9TV0lUQ0gsIE9UR19JUlFfU1JDKTsKIAkJcmV0ID0gSVJRX0hBTkRMRUQ7CiAKIAkJaWYgKGtpY2spCkBAIC04MzQsMTIgKzg0NywxNSBAQAogCiBzdGF0aWMgaW50IG90Z19pbml0KHN0cnVjdCBpc3AxMzAxICppc3ApCiB7CisJdTMyIGw7CisKIAlpZiAoIW90Z19kZXYpCiAJCXJldHVybiAtRU5PREVWOwogCiAJZHVtcF9yZWdzKGlzcCwgX19mdW5jX18pOwogCS8qIHNvbWUgb2YgdGhlc2UgdmFsdWVzIGFyZSBib2FyZC1zcGVjaWZpYy4uLiAqLwotCU9UR19TWVNDT05fMl9SRUcgfD0gT1RHX0VOCisJbCA9IG9tYXBfcmVhZGwoT1RHX1NZU0NPTl8yKTsKKwlsIHw9IE9UR19FTgogCQkvKiBmb3IgQi1kZXZpY2U6ICovCiAJCXwgU1JQX0dQREFUQQkJLyogOW1zZWMgQmRldiBEKyBwdWxzZSAqLwogCQl8IFNSUF9HUERWQlVTCQkvKiBkaXNjaGFyZ2UgYWZ0ZXIgVkJVUyBwdWxzZSAqLwpAQCAtODQ5LDE4ICs4NjUsMjIgQEAKIAkJfCBTUlBfRFBXCQkvKiBkZXRlY3QgMTY3K25zIFNSUCBwdWxzZXMgKi8KIAkJfCBTUlBfREFUQSB8IFNSUF9WQlVTCS8qIGFjY2VwdCBib3RoIGtpbmRzIG9mIFNSUCBwdWxzZSAqLwogCQk7CisJb21hcF93cml0ZWwobCwgT1RHX1NZU0NPTl8yKTsKIAogCXVwZGF0ZV9vdGcxKGlzcCwgaXNwMTMwMV9nZXRfdTgoaXNwLCBJU1AxMzAxX0lOVEVSUlVQVF9TT1VSQ0UpKTsKIAl1cGRhdGVfb3RnMihpc3AsIGlzcDEzMDFfZ2V0X3U4KGlzcCwgSVNQMTMwMV9PVEdfU1RBVFVTKSk7CiAKIAljaGVja19zdGF0ZShpc3AsIF9fZnVuY19fKTsKIAlwcl9kZWJ1Zygib3RnOiAlcywgJXMgJTA2eFxuIiwKLQkJCXN0YXRlX25hbWUoaXNwKSwgX19mdW5jX18sIE9UR19DVFJMX1JFRyk7CisJCQlzdGF0ZV9uYW1lKGlzcCksIF9fZnVuY19fLCBvbWFwX3JlYWRsKE9UR19DVFJMKSk7CiAKLQlPVEdfSVJRX0VOX1JFRyA9IERSSVZFUl9TV0lUQ0ggfCBPUFJUX0NIRworCW9tYXBfd3JpdGV3KERSSVZFUl9TV0lUQ0ggfCBPUFJUX0NIRwogCQkJfCBCX1NSUF9UTVJPVVQgfCBCX0hOUF9GQUlMCi0JCQl8IEFfVkJVU19FUlIgfCBBX1NSUF9ERVRFQ1QgfCBBX1JFUV9UTVJPVVQ7Ci0JT1RHX1NZU0NPTl8yX1JFRyB8PSBPVEdfRU47CisJCQl8IEFfVkJVU19FUlIgfCBBX1NSUF9ERVRFQ1QgfCBBX1JFUV9UTVJPVVQsIE9UR19JUlFfRU4pOworCisJbCA9IG9tYXBfcmVhZGwoT1RHX1NZU0NPTl8yKTsKKwlsIHw9IE9UR19FTjsKKwlvbWFwX3dyaXRlbChsLCBPVEdfU1lTQ09OXzIpOwogCiAJcmV0dXJuIDA7CiB9CkBAIC05MjcsNyArOTQ3LDExIEBACiAKIHN0YXRpYyB2b2lkIGJfcGVyaXBoZXJhbChzdHJ1Y3QgaXNwMTMwMSAqaXNwKQogewotCU9UR19DVFJMX1JFRyA9IE9UR19DVFJMX1JFRyAmIE9UR19YQ0VJVl9PVVRQVVRTOworCXUzMiBsOworCisJbCA9IG9tYXBfcmVhZGwoT1RHX0NUUkwpICYgT1RHX1hDRUlWX09VVFBVVFM7CisJb21hcF93cml0ZWwobCwgT1RHX0NUUkwpOworCiAJdXNiX2dhZGdldF92YnVzX2Nvbm5lY3QoaXNwLT5vdGcuZ2FkZ2V0KTsKIAogI2lmZGVmCUNPTkZJR19VU0JfT1RHCkBAIC05OTksNiArMTAyMyw4IEBACiAJCQlpc3BfYnN0YXQgPSAwOwogCQl9CiAJfSBlbHNlIHsKKwkJdTMyIGw7CisKIAkJLyogaWYgdXNlciB1bnBsdWdnZWQgbWluaS1BIGVuZCBvZiBjYWJsZSwKIAkJICogZG9uJ3QgYnlwYXNzIEFfV0FJVF9WRkFMTC4KIAkJICovCkBAIC0xMDE5LDggKzEwNDUsOSBAQAogCQkJCWlzcDEzMDFfY2xlYXJfYml0cyhpc3AsIElTUDEzMDFfTU9ERV9DT05UUk9MXzEsCiAJCQkJCQlNQzFfQkRJU19BQ09OX0VOKTsKIAkJCQlpc3AtPm90Zy5zdGF0ZSA9IE9UR19TVEFURV9CX0lETEU7Ci0JCQkJT1RHX0NUUkxfUkVHICY9IE9UR19DVFJMX1JFRyAmIE9UR19DVFJMX01BU0sKLQkJCQkJCSYgfk9UR19DVFJMX0JJVFM7CisJCQkJbCA9IG9tYXBfcmVhZGwoT1RHX0NUUkwpICYgT1RHX0NUUkxfTUFTSzsKKwkJCQlsICY9IH5PVEdfQ1RSTF9CSVRTOworCQkJCW9tYXBfd3JpdGVsKGwsIE9UR19DVFJMKTsKIAkJCQlicmVhazsKIAkJCWNhc2UgT1RHX1NUQVRFX0JfSURMRToKIAkJCQlicmVhazsKQEAgLTEwNDYsNyArMTA3Myw4IEBACiAJCQkvKiBGQUxMVEhST1VHSCAqLwogCQljYXNlIE9UR19TVEFURV9CX1NSUF9JTklUOgogCQkJYl9pZGxlKGlzcCwgX19mdW5jX18pOwotCQkJT1RHX0NUUkxfUkVHICY9IE9UR19DVFJMX1JFRyAmIE9UR19YQ0VJVl9PVVRQVVRTOworCQkJbCA9IG9tYXBfcmVhZGwoT1RHX0NUUkwpICYgT1RHX1hDRUlWX09VVFBVVFM7CisJCQlvbWFwX3dyaXRlbChsLCBPVEdfQ1RSTCk7CiAJCQkvKiBGQUxMVEhST1VHSCAqLwogCQljYXNlIE9UR19TVEFURV9CX0lETEU6CiAJCQlpZiAoaXNwLT5vdGcuZ2FkZ2V0ICYmIChpc3BfYnN0YXQgJiBPVEdfQl9TRVNTX1ZMRCkpIHsKQEAgLTExMzAsMTEgKzExNTgsMTEgQEAKIAkJCWNhc2UgT1RHX1NUQVRFX0FfV0FJVF9WUklTRToKIAkJCQlpc3AtPm90Zy5zdGF0ZSA9IE9UR19TVEFURV9BX0hPU1Q7CiAJCQkJcHJfZGVidWcoIiAgLS0+IGFfaG9zdFxuIik7Ci0JCQkJb3RnX2N0cmwgPSBPVEdfQ1RSTF9SRUc7CisJCQkJb3RnX2N0cmwgPSBvbWFwX3JlYWRsKE9UR19DVFJMKTsKIAkJCQlvdGdfY3RybCB8PSBPVEdfQV9CVVNSRVE7CiAJCQkJb3RnX2N0cmwgJj0gfihPVEdfQlVTRFJPUHxPVEdfQl9CVVNSRVEpCiAJCQkJCQkmIE9UR19DVFJMX01BU0s7Ci0JCQkJT1RHX0NUUkxfUkVHID0gb3RnX2N0cmw7CisJCQkJb21hcF93cml0ZWwob3RnX2N0cmwsIE9UR19DVFJMKTsKIAkJCQlicmVhazsKIAkJCWNhc2UgT1RHX1NUQVRFX0JfV0FJVF9BQ09OOgogCQkJCWlzcC0+b3RnLnN0YXRlID0gT1RHX1NUQVRFX0JfSE9TVDsKQEAgLTEyNzQsNyArMTMwMiw3IEBACiAJCXJldHVybiAtRU5PREVWOwogCiAJaWYgKCFob3N0KSB7Ci0JCU9UR19JUlFfRU5fUkVHID0gMDsKKwkJb21hcF93cml0ZXcoMCwgT1RHX0lSUV9FTik7CiAJCXBvd2VyX2Rvd24oaXNwKTsKIAkJaXNwLT5vdGcuaG9zdCA9IDA7CiAJCXJldHVybiAwOwpAQCAtMTMyNSwxMiArMTM1MywxMyBAQAogaXNwMTMwMV9zZXRfcGVyaXBoZXJhbChzdHJ1Y3Qgb3RnX3RyYW5zY2VpdmVyICpvdGcsIHN0cnVjdCB1c2JfZ2FkZ2V0ICpnYWRnZXQpCiB7CiAJc3RydWN0IGlzcDEzMDEJKmlzcCA9IGNvbnRhaW5lcl9vZihvdGcsIHN0cnVjdCBpc3AxMzAxLCBvdGcpOworCXUzMiBsOwogCiAJaWYgKCFvdGcgfHwgaXNwICE9IHRoZV90cmFuc2NlaXZlcikKIAkJcmV0dXJuIC1FTk9ERVY7CiAKIAlpZiAoIWdhZGdldCkgewotCQlPVEdfSVJRX0VOX1JFRyA9IDA7CisJCW9tYXBfd3JpdGV3KDAsIE9UR19JUlFfRU4pOwogCQlpZiAoIWlzcC0+b3RnLmRlZmF1bHRfYSkKIAkJCWVuYWJsZV92YnVzX2RyYXcoaXNwLCAwKTsKIAkJdXNiX2dhZGdldF92YnVzX2Rpc2Nvbm5lY3QoaXNwLT5vdGcuZ2FkZ2V0KTsKQEAgLTEzNTEsOSArMTM4MCwxMSBAQAogCWlzcC0+b3RnLmdhZGdldCA9IGdhZGdldDsKIAkvLyBGSVhNRSB1cGRhdGUgaXRzIHJlZmNvdW50CiAKLQlPVEdfQ1RSTF9SRUcgPSAoT1RHX0NUUkxfUkVHICYgT1RHX0NUUkxfTUFTSwotCQkJCSYgfihPVEdfWENFSVZfT1VUUFVUU3xPVEdfQ1RSTF9CSVRTKSkKLQkJCXwgT1RHX0lEOworCWwgPSBvbWFwX3JlYWRsKE9UR19DVFJMKSAmIE9UR19DVFJMX01BU0s7CisJbCAmPSB+KE9UR19YQ0VJVl9PVVRQVVRTfE9UR19DVFJMX0JJVFMpOworCWwgfD0gT1RHX0lEOworCW9tYXBfd3JpdGVsKGwsIE9UR19DVFJMKTsKKwogCXBvd2VyX3VwKGlzcCk7CiAJaXNwLT5vdGcuc3RhdGUgPSBPVEdfU1RBVEVfQl9JRExFOwogCkBAIC0xNDA1LDE2ICsxNDM2LDE3IEBACiAJCQl8fCBpc3AtPm90Zy5zdGF0ZSAhPSBPVEdfU1RBVEVfQl9JRExFKQogCQlyZXR1cm4gLUVOT0RFVjsKIAotCW90Z19jdHJsID0gT1RHX0NUUkxfUkVHOworCW90Z19jdHJsID0gb21hcF9yZWFkbChPVEdfQ1RSTCk7CiAJaWYgKCEob3RnX2N0cmwgJiBPVEdfQlNFU1NFTkQpKQogCQlyZXR1cm4gLUVJTlZBTDsKIAogCW90Z19jdHJsIHw9IE9UR19CX0JVU1JFUTsKIAlvdGdfY3RybCAmPSB+T1RHX0FfQlVTUkVRICYgT1RHX0NUUkxfTUFTSzsKLQlPVEdfQ1RSTF9SRUcgPSBvdGdfY3RybDsKKwlvbWFwX3dyaXRlbChvdGdfY3RybCwgT1RHX0NUUkwpOwogCWlzcC0+b3RnLnN0YXRlID0gT1RHX1NUQVRFX0JfU1JQX0lOSVQ7CiAKLQlwcl9kZWJ1Zygib3RnOiBTUlAsICVzIC4uLiAlMDZ4XG4iLCBzdGF0ZV9uYW1lKGlzcCksIE9UR19DVFJMX1JFRyk7CisJcHJfZGVidWcoIm90ZzogU1JQLCAlcyAuLi4gJTA2eFxuIiwgc3RhdGVfbmFtZShpc3ApLAorCQkJb21hcF9yZWFkbChPVEdfQ1RSTCkpOwogI2lmZGVmCUNPTkZJR19VU0JfT1RHCiAJY2hlY2tfc3RhdGUoaXNwLCBfX2Z1bmNfXyk7CiAjZW5kaWYKQEAgLTE0MjYsNiArMTQ1OCw3IEBACiB7CiAjaWZkZWYJQ09ORklHX1VTQl9PVEcKIAlzdHJ1Y3QgaXNwMTMwMQkqaXNwID0gY29udGFpbmVyX29mKGRldiwgc3RydWN0IGlzcDEzMDEsIG90Zyk7CisJdTMyIGw7CiAKIAlpZiAoIWRldiB8fCBpc3AgIT0gdGhlX3RyYW5zY2VpdmVyKQogCQlyZXR1cm4gLUVOT0RFVjsKQEAgLTE0NTIsNyArMTQ4NSw5IEBACiAjZW5kaWYKIAkJLyogY2FsbGVyIG11c3Qgc3VzcGVuZCB0aGVuIGNsZWFyIEFfQlVTUkVRICovCiAJCXVzYl9nYWRnZXRfdmJ1c19jb25uZWN0KGlzcC0+b3RnLmdhZGdldCk7Ci0JCU9UR19DVFJMX1JFRyB8PSBPVEdfQV9TRVRCX0hOUEVOOworCQlsID0gb21hcF9yZWFkbChPVEdfQ1RSTCk7CisJCWwgfD0gT1RHX0FfU0VUQl9ITlBFTjsKKwkJb21hcF93cml0ZWwobCwgT1RHX0NUUkwpOwogCiAJCWJyZWFrOwogCWNhc2UgT1RHX1NUQVRFX0FfUEVSSVBIRVJBTDoKQEAgLTE0NjIsNyArMTQ5Nyw3IEBACiAJCXJldHVybiAtRUlMU0VROwogCX0KIAlwcl9kZWJ1Zygib3RnOiBITlAgJXMsICUwNnggLi4uXG4iLAotCQlzdGF0ZV9uYW1lKGlzcCksIE9UR19DVFJMX1JFRyk7CisJCXN0YXRlX25hbWUoaXNwKSwgb21hcF9yZWFkbChPVEdfQ1RSTCkpOwogCWNoZWNrX3N0YXRlKGlzcCwgX19mdW5jX18pOwogCXJldHVybiAwOwogI2Vsc2UKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaTJjL2NoaXBzL21heDY4NzUuYyBiL2RyaXZlcnMvaTJjL2NoaXBzL21heDY4NzUuYwppbmRleCBjZjUwN2IzLi41YTAyODVkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2kyYy9jaGlwcy9tYXg2ODc1LmMKKysrIGIvZHJpdmVycy9pMmMvY2hpcHMvbWF4Njg3NS5jCkBAIC0xNzAsNyArMTcwLDcgQEAKIAlzdHJ1Y3QgaTJjX2NsaWVudCAqcmVhbF9jbGllbnQ7CiAJc3RydWN0IGkyY19jbGllbnQgKmZha2VfY2xpZW50OwogCXN0cnVjdCBtYXg2ODc1X2RhdGEgKmRhdGE7Ci0JaW50IGVyciA9IDA7CisJaW50IGVycjsKIAogCWlmICghaTJjX2NoZWNrX2Z1bmN0aW9uYWxpdHkoYWRhcHRlciwgSTJDX0ZVTkNfU01CVVNfV1JJVEVfQllURV9EQVRBCiAJCQkJICAgICB8IEkyQ19GVU5DX1NNQlVTX1JFQURfQllURSkpCkBAIC0xOTUsNyArMTk1LDYgQEAKIAlyZWFsX2NsaWVudC0+YWRkciA9IGFkZHJlc3M7CiAJcmVhbF9jbGllbnQtPmFkYXB0ZXIgPSBhZGFwdGVyOwogCXJlYWxfY2xpZW50LT5kcml2ZXIgPSAmbWF4Njg3NV9kcml2ZXI7Ci0JcmVhbF9jbGllbnQtPmZsYWdzID0gMDsKIAlzdHJsY3B5KHJlYWxfY2xpZW50LT5uYW1lLCAibWF4Njg3NSIsIEkyQ19OQU1FX1NJWkUpOwogCW11dGV4X2luaXQoJmRhdGEtPnVwZGF0ZV9sb2NrKTsKIApAQCAtMjA0LDcgKzIwMyw2IEBACiAJZmFrZV9jbGllbnQtPmFkZHIgPSBhZGRyZXNzIHwgMTsKIAlmYWtlX2NsaWVudC0+YWRhcHRlciA9IGFkYXB0ZXI7CiAJZmFrZV9jbGllbnQtPmRyaXZlciA9ICZtYXg2ODc1X2RyaXZlcjsKLQlmYWtlX2NsaWVudC0+ZmxhZ3MgPSAwOwogCXN0cmxjcHkoZmFrZV9jbGllbnQtPm5hbWUsICJtYXg2ODc1IHN1YmNsaWVudCIsIEkyQ19OQU1FX1NJWkUpOwogCiAJaWYgKChlcnIgPSBpMmNfYXR0YWNoX2NsaWVudChyZWFsX2NsaWVudCkpICE9IDApCmRpZmYgLS1naXQgYS9kcml2ZXJzL2kyYy9jaGlwcy9wY2E5NTM5LmMgYi9kcml2ZXJzL2kyYy9jaGlwcy9wY2E5NTM5LmMKaW5kZXggZjQzYzRlNy4uNThhYjdmMiAxMDA2NDQKLS0tIGEvZHJpdmVycy9pMmMvY2hpcHMvcGNhOTUzOS5jCisrKyBiL2RyaXZlcnMvaTJjL2NoaXBzL3BjYTk1MzkuYwpAQCAtMTEzLDcgKzExMyw3IEBACiAvKiBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCBieSBpMmNfcHJvYmUgKi8KIHN0YXRpYyBpbnQgcGNhOTUzOV9kZXRlY3Qoc3RydWN0IGkyY19hZGFwdGVyICphZGFwdGVyLCBpbnQgYWRkcmVzcywgaW50IGtpbmQpCiB7Ci0Jc3RydWN0IGkyY19jbGllbnQgKm5ld19jbGllbnQ7CisJc3RydWN0IGkyY19jbGllbnQgKmNsaWVudDsKIAlzdHJ1Y3QgcGNhOTUzOV9kYXRhICpkYXRhOwogCWludCBlcnIgPSAwOwogCkBAIC0xMjcsMjkgKzEyNywyOCBAQAogCQlnb3RvIGV4aXQ7CiAJfQogCi0JbmV3X2NsaWVudCA9ICZkYXRhLT5jbGllbnQ7Ci0JaTJjX3NldF9jbGllbnRkYXRhKG5ld19jbGllbnQsIGRhdGEpOwotCW5ld19jbGllbnQtPmFkZHIgPSBhZGRyZXNzOwotCW5ld19jbGllbnQtPmFkYXB0ZXIgPSBhZGFwdGVyOwotCW5ld19jbGllbnQtPmRyaXZlciA9ICZwY2E5NTM5X2RyaXZlcjsKLQluZXdfY2xpZW50LT5mbGFncyA9IDA7CisJY2xpZW50ID0gJmRhdGEtPmNsaWVudDsKKwlpMmNfc2V0X2NsaWVudGRhdGEoY2xpZW50LCBkYXRhKTsKKwljbGllbnQtPmFkZHIgPSBhZGRyZXNzOworCWNsaWVudC0+YWRhcHRlciA9IGFkYXB0ZXI7CisJY2xpZW50LT5kcml2ZXIgPSAmcGNhOTUzOV9kcml2ZXI7CiAKIAlpZiAoa2luZCA8IDApIHsKIAkJLyogRGV0ZWN0aW9uOiB0aGUgcGNhOTUzOSBvbmx5IGhhcyA4IHJlZ2lzdGVycyAoMC03KS4KIAkJICAgQSByZWFkIG9mIDcgc2hvdWxkIHN1Y2NlZWQsIGJ1dCBhIHJlYWQgb2YgOCBzaG91bGQgZmFpbC4gKi8KLQkJaWYgKChpMmNfc21idXNfcmVhZF9ieXRlX2RhdGEobmV3X2NsaWVudCwgNykgPCAwKSB8fAotCQkgICAgKGkyY19zbWJ1c19yZWFkX2J5dGVfZGF0YShuZXdfY2xpZW50LCA4KSA+PSAwKSkKKwkJaWYgKChpMmNfc21idXNfcmVhZF9ieXRlX2RhdGEoY2xpZW50LCA3KSA8IDApIHx8CisJCSAgICAoaTJjX3NtYnVzX3JlYWRfYnl0ZV9kYXRhKGNsaWVudCwgOCkgPj0gMCkpCiAJCQlnb3RvIGV4aXRfa2ZyZWU7CiAJfQogCi0Jc3RybGNweShuZXdfY2xpZW50LT5uYW1lLCAicGNhOTUzOSIsIEkyQ19OQU1FX1NJWkUpOworCXN0cmxjcHkoY2xpZW50LT5uYW1lLCAicGNhOTUzOSIsIEkyQ19OQU1FX1NJWkUpOwogCiAJLyogVGVsbCB0aGUgSTJDIGxheWVyIGEgbmV3IGNsaWVudCBoYXMgYXJyaXZlZCAqLwotCWlmICgoZXJyID0gaTJjX2F0dGFjaF9jbGllbnQobmV3X2NsaWVudCkpKQorCWlmICgoZXJyID0gaTJjX2F0dGFjaF9jbGllbnQoY2xpZW50KSkpCiAJCWdvdG8gZXhpdF9rZnJlZTsKIAogCS8qIFJlZ2lzdGVyIHN5c2ZzIGhvb2tzICovCi0JZXJyID0gc3lzZnNfY3JlYXRlX2dyb3VwKCZuZXdfY2xpZW50LT5kZXYua29iaiwKKwllcnIgPSBzeXNmc19jcmVhdGVfZ3JvdXAoJmNsaWVudC0+ZGV2LmtvYmosCiAJCQkJICZwY2E5NTM5X2RlZmF0dHJfZ3JvdXApOwogCWlmIChlcnIpCiAJCWdvdG8gZXhpdF9kZXRhY2g7CkBAIC0xNTcsNyArMTU2LDcgQEAKIAlyZXR1cm4gMDsKIAogZXhpdF9kZXRhY2g6Ci0JaTJjX2RldGFjaF9jbGllbnQobmV3X2NsaWVudCk7CisJaTJjX2RldGFjaF9jbGllbnQoY2xpZW50KTsKIGV4aXRfa2ZyZWU6CiAJa2ZyZWUoZGF0YSk7CiBleGl0OgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pMmMvY2hpcHMvcGNmODU3NC5jIGIvZHJpdmVycy9pMmMvY2hpcHMvcGNmODU3NC5jCmluZGV4IGU1YjMxMzIuLjFiM2RiMmIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaTJjL2NoaXBzL3BjZjg1NzQuYworKysgYi9kcml2ZXJzL2kyYy9jaGlwcy9wY2Y4NTc0LmMKQEAgLTEsNiArMSw0IEBACiAvKgotICAgIHBjZjg1NzQuYyAtIFBhcnQgb2YgbG1fc2Vuc29ycywgTGludXgga2VybmVsIG1vZHVsZXMgZm9yIGhhcmR3YXJlCi0gICAgICAgICAgICAgbW9uaXRvcmluZwogICAgIENvcHlyaWdodCAoYykgMjAwMCAgRnJvZG8gTG9vaWphYXJkIDxmcm9kb2xAZGRzLm5sPiwgCiAgICAgICAgICAgICAgICAgICAgICAgICBQaGlsaXAgRWRlbGJyb2NrIDxwaGlsQG5ldHJvZWRnZS5jb20+LAogICAgICAgICAgICAgICAgICAgICAgICAgRGFuIEVhdG9uIDxkYW4uZWF0b25Acm9ja2V0bG9naXguY29tPgpAQCAtMTI5LDcgKzEyNyw3IEBACiAvKiBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCBieSBpMmNfcHJvYmUgKi8KIHN0YXRpYyBpbnQgcGNmODU3NF9kZXRlY3Qoc3RydWN0IGkyY19hZGFwdGVyICphZGFwdGVyLCBpbnQgYWRkcmVzcywgaW50IGtpbmQpCiB7Ci0Jc3RydWN0IGkyY19jbGllbnQgKm5ld19jbGllbnQ7CisJc3RydWN0IGkyY19jbGllbnQgKmNsaWVudDsKIAlzdHJ1Y3QgcGNmODU3NF9kYXRhICpkYXRhOwogCWludCBlcnIgPSAwOwogCWNvbnN0IGNoYXIgKmNsaWVudF9uYW1lID0gIiI7CkBAIC0xNDQsMTIgKzE0MiwxMSBAQAogCQlnb3RvIGV4aXQ7CiAJfQogCi0JbmV3X2NsaWVudCA9ICZkYXRhLT5jbGllbnQ7Ci0JaTJjX3NldF9jbGllbnRkYXRhKG5ld19jbGllbnQsIGRhdGEpOwotCW5ld19jbGllbnQtPmFkZHIgPSBhZGRyZXNzOwotCW5ld19jbGllbnQtPmFkYXB0ZXIgPSBhZGFwdGVyOwotCW5ld19jbGllbnQtPmRyaXZlciA9ICZwY2Y4NTc0X2RyaXZlcjsKLQluZXdfY2xpZW50LT5mbGFncyA9IDA7CisJY2xpZW50ID0gJmRhdGEtPmNsaWVudDsKKwlpMmNfc2V0X2NsaWVudGRhdGEoY2xpZW50LCBkYXRhKTsKKwljbGllbnQtPmFkZHIgPSBhZGRyZXNzOworCWNsaWVudC0+YWRhcHRlciA9IGFkYXB0ZXI7CisJY2xpZW50LT5kcml2ZXIgPSAmcGNmODU3NF9kcml2ZXI7CiAKIAkvKiBOb3csIHdlIHdvdWxkIGRvIHRoZSByZW1haW5pbmcgZGV0ZWN0aW9uLiBCdXQgdGhlIFBDRjg1NzQgaXMgcGxhaW5seQogCSAgIGltcG9zc2libGUgdG8gZGV0ZWN0ISBTdHVwaWQgY2hpcC4gKi8KQEAgLTE2OCwyMyArMTY1LDIzIEBACiAJCWNsaWVudF9uYW1lID0gInBjZjg1NzQiOwogCiAJLyogRmlsbCBpbiB0aGUgcmVtYWluaW5nIGNsaWVudCBmaWVsZHMgYW5kIHB1dCBpdCBpbnRvIHRoZSBnbG9iYWwgbGlzdCAqLwotCXN0cmxjcHkobmV3X2NsaWVudC0+bmFtZSwgY2xpZW50X25hbWUsIEkyQ19OQU1FX1NJWkUpOworCXN0cmxjcHkoY2xpZW50LT5uYW1lLCBjbGllbnRfbmFtZSwgSTJDX05BTUVfU0laRSk7CiAKIAkvKiBUZWxsIHRoZSBJMkMgbGF5ZXIgYSBuZXcgY2xpZW50IGhhcyBhcnJpdmVkICovCi0JaWYgKChlcnIgPSBpMmNfYXR0YWNoX2NsaWVudChuZXdfY2xpZW50KSkpCisJaWYgKChlcnIgPSBpMmNfYXR0YWNoX2NsaWVudChjbGllbnQpKSkKIAkJZ290byBleGl0X2ZyZWU7CiAJCiAJLyogSW5pdGlhbGl6ZSB0aGUgUENGODU3NCBjaGlwICovCi0JcGNmODU3NF9pbml0X2NsaWVudChuZXdfY2xpZW50KTsKKwlwY2Y4NTc0X2luaXRfY2xpZW50KGNsaWVudCk7CiAKIAkvKiBSZWdpc3RlciBzeXNmcyBob29rcyAqLwotCWVyciA9IHN5c2ZzX2NyZWF0ZV9ncm91cCgmbmV3X2NsaWVudC0+ZGV2LmtvYmosICZwY2Y4NTc0X2F0dHJfZ3JvdXApOworCWVyciA9IHN5c2ZzX2NyZWF0ZV9ncm91cCgmY2xpZW50LT5kZXYua29iaiwgJnBjZjg1NzRfYXR0cl9ncm91cCk7CiAJaWYgKGVycikKIAkJZ290byBleGl0X2RldGFjaDsKIAlyZXR1cm4gMDsKIAogICAgICAgZXhpdF9kZXRhY2g6Ci0JaTJjX2RldGFjaF9jbGllbnQobmV3X2NsaWVudCk7CisJaTJjX2RldGFjaF9jbGllbnQoY2xpZW50KTsKICAgICAgIGV4aXRfZnJlZToKIAlrZnJlZShkYXRhKTsKICAgICAgIGV4aXQ6CmRpZmYgLS1naXQgYS9kcml2ZXJzL2kyYy9jaGlwcy9wY2Y4NTkxLmMgYi9kcml2ZXJzL2kyYy9jaGlwcy9wY2Y4NTkxLmMKaW5kZXggNjZjN2MzYi4uZGI3MzUzNyAxMDA2NDQKLS0tIGEvZHJpdmVycy9pMmMvY2hpcHMvcGNmODU5MS5jCisrKyBiL2RyaXZlcnMvaTJjL2NoaXBzL3BjZjg1OTEuYwpAQCAtMSw2ICsxLDQgQEAKIC8qCi0gICAgcGNmODU5MS5jIC0gUGFydCBvZiBsbV9zZW5zb3JzLCBMaW51eCBrZXJuZWwgbW9kdWxlcyBmb3IgaGFyZHdhcmUKLSAgICAgICAgICAgICAgICBtb25pdG9yaW5nCiAgICAgQ29weXJpZ2h0IChDKSAyMDAxLTIwMDQgQXVyZWxpZW4gSmFybm8gPGF1cmVsaWVuQGF1cmVsMzIubmV0PgogICAgIFBvcnRlZCB0byBMaW51eCAyLjYgYnkgQXVyZWxpZW4gSmFybm8gPGF1cmVsaWVuQGF1cmVsMzIubmV0PiB3aXRoIAogICAgIHRoZSBoZWxwIG9mIEplYW4gRGVsdmFyZSA8a2hhbGlAbGludXgtZnIub3JnPgpAQCAtMTkwLDcgKzE4OCw3IEBACiAvKiBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCBieSBpMmNfcHJvYmUgKi8KIHN0YXRpYyBpbnQgcGNmODU5MV9kZXRlY3Qoc3RydWN0IGkyY19hZGFwdGVyICphZGFwdGVyLCBpbnQgYWRkcmVzcywgaW50IGtpbmQpCiB7Ci0Jc3RydWN0IGkyY19jbGllbnQgKm5ld19jbGllbnQ7CisJc3RydWN0IGkyY19jbGllbnQgKmNsaWVudDsKIAlzdHJ1Y3QgcGNmODU5MV9kYXRhICpkYXRhOwogCWludCBlcnIgPSAwOwogCkBAIC0yMDUsMTIgKzIwMywxMSBAQAogCQlnb3RvIGV4aXQ7CiAJfQogCQotCW5ld19jbGllbnQgPSAmZGF0YS0+Y2xpZW50OwotCWkyY19zZXRfY2xpZW50ZGF0YShuZXdfY2xpZW50LCBkYXRhKTsKLQluZXdfY2xpZW50LT5hZGRyID0gYWRkcmVzczsKLQluZXdfY2xpZW50LT5hZGFwdGVyID0gYWRhcHRlcjsKLQluZXdfY2xpZW50LT5kcml2ZXIgPSAmcGNmODU5MV9kcml2ZXI7Ci0JbmV3X2NsaWVudC0+ZmxhZ3MgPSAwOworCWNsaWVudCA9ICZkYXRhLT5jbGllbnQ7CisJaTJjX3NldF9jbGllbnRkYXRhKGNsaWVudCwgZGF0YSk7CisJY2xpZW50LT5hZGRyID0gYWRkcmVzczsKKwljbGllbnQtPmFkYXB0ZXIgPSBhZGFwdGVyOworCWNsaWVudC0+ZHJpdmVyID0gJnBjZjg1OTFfZHJpdmVyOwogCiAJLyogTm93LCB3ZSB3b3VsZCBkbyB0aGUgcmVtYWluaW5nIGRldGVjdGlvbi4gQnV0IHRoZSBQQ0Y4NTkxIGlzIHBsYWlubHkKIAkgICBpbXBvc3NpYmxlIHRvIGRldGVjdCEgU3R1cGlkIGNoaXAuICovCkBAIC0yMjEsMzEgKzIxOCwzMSBAQAogCiAJLyogRmlsbCBpbiB0aGUgcmVtYWluaW5nIGNsaWVudCBmaWVsZHMgYW5kIHB1dCBpdCBpbnRvIHRoZSBnbG9iYWwgCiAJICAgbGlzdCAqLwotCXN0cmxjcHkobmV3X2NsaWVudC0+bmFtZSwgInBjZjg1OTEiLCBJMkNfTkFNRV9TSVpFKTsKKwlzdHJsY3B5KGNsaWVudC0+bmFtZSwgInBjZjg1OTEiLCBJMkNfTkFNRV9TSVpFKTsKIAltdXRleF9pbml0KCZkYXRhLT51cGRhdGVfbG9jayk7CiAKIAkvKiBUZWxsIHRoZSBJMkMgbGF5ZXIgYSBuZXcgY2xpZW50IGhhcyBhcnJpdmVkICovCi0JaWYgKChlcnIgPSBpMmNfYXR0YWNoX2NsaWVudChuZXdfY2xpZW50KSkpCisJaWYgKChlcnIgPSBpMmNfYXR0YWNoX2NsaWVudChjbGllbnQpKSkKIAkJZ290byBleGl0X2tmcmVlOwogCiAJLyogSW5pdGlhbGl6ZSB0aGUgUENGODU5MSBjaGlwICovCi0JcGNmODU5MV9pbml0X2NsaWVudChuZXdfY2xpZW50KTsKKwlwY2Y4NTkxX2luaXRfY2xpZW50KGNsaWVudCk7CiAKIAkvKiBSZWdpc3RlciBzeXNmcyBob29rcyAqLwotCWVyciA9IHN5c2ZzX2NyZWF0ZV9ncm91cCgmbmV3X2NsaWVudC0+ZGV2LmtvYmosICZwY2Y4NTkxX2F0dHJfZ3JvdXApOworCWVyciA9IHN5c2ZzX2NyZWF0ZV9ncm91cCgmY2xpZW50LT5kZXYua29iaiwgJnBjZjg1OTFfYXR0cl9ncm91cCk7CiAJaWYgKGVycikKIAkJZ290byBleGl0X2RldGFjaDsKIAogCS8qIFJlZ2lzdGVyIGlucHV0MiBpZiBub3QgaW4gInR3byBkaWZmZXJlbnRpYWwgaW5wdXRzIiBtb2RlICovCiAJaWYgKGlucHV0X21vZGUgIT0gMykgewotCQlpZiAoKGVyciA9IGRldmljZV9jcmVhdGVfZmlsZSgmbmV3X2NsaWVudC0+ZGV2LAorCQlpZiAoKGVyciA9IGRldmljZV9jcmVhdGVfZmlsZSgmY2xpZW50LT5kZXYsCiAJCQkJCSAgICAgICZkZXZfYXR0cl9pbjJfaW5wdXQpKSkKIAkJCWdvdG8gZXhpdF9zeXNmc19yZW1vdmU7CiAJfQogCiAJLyogUmVnaXN0ZXIgaW5wdXQzIG9ubHkgaW4gImZvdXIgc2luZ2xlIGVuZGVkIGlucHV0cyIgbW9kZSAqLwogCWlmIChpbnB1dF9tb2RlID09IDApIHsKLQkJaWYgKChlcnIgPSBkZXZpY2VfY3JlYXRlX2ZpbGUoJm5ld19jbGllbnQtPmRldiwKKwkJaWYgKChlcnIgPSBkZXZpY2VfY3JlYXRlX2ZpbGUoJmNsaWVudC0+ZGV2LAogCQkJCQkgICAgICAmZGV2X2F0dHJfaW4zX2lucHV0KSkpCiAJCQlnb3RvIGV4aXRfc3lzZnNfcmVtb3ZlOwogCX0KQEAgLTI1MywxMCArMjUwLDEwIEBACiAJcmV0dXJuIDA7CiAKIGV4aXRfc3lzZnNfcmVtb3ZlOgotCXN5c2ZzX3JlbW92ZV9ncm91cCgmbmV3X2NsaWVudC0+ZGV2LmtvYmosICZwY2Y4NTkxX2F0dHJfZ3JvdXBfb3B0KTsKLQlzeXNmc19yZW1vdmVfZ3JvdXAoJm5ld19jbGllbnQtPmRldi5rb2JqLCAmcGNmODU5MV9hdHRyX2dyb3VwKTsKKwlzeXNmc19yZW1vdmVfZ3JvdXAoJmNsaWVudC0+ZGV2LmtvYmosICZwY2Y4NTkxX2F0dHJfZ3JvdXBfb3B0KTsKKwlzeXNmc19yZW1vdmVfZ3JvdXAoJmNsaWVudC0+ZGV2LmtvYmosICZwY2Y4NTkxX2F0dHJfZ3JvdXApOwogZXhpdF9kZXRhY2g6Ci0JaTJjX2RldGFjaF9jbGllbnQobmV3X2NsaWVudCk7CisJaTJjX2RldGFjaF9jbGllbnQoY2xpZW50KTsKIGV4aXRfa2ZyZWU6CiAJa2ZyZWUoZGF0YSk7CiBleGl0OgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pMmMvaTJjLWNvcmUuYyBiL2RyaXZlcnMvaTJjL2kyYy1jb3JlLmMKaW5kZXggZDAxNzVmNC4uMGE3OWY3NiAxMDA2NDQKLS0tIGEvZHJpdmVycy9pMmMvaTJjLWNvcmUuYworKysgYi9kcml2ZXJzL2kyYy9pMmMtY29yZS5jCkBAIC0yOSwxMyArMjksMTEgQEAKICNpbmNsdWRlIDxsaW51eC9pMmMuaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAjaW5jbHVkZSA8bGludXgvaWRyLmg+Ci0jaW5jbHVkZSA8bGludXgvc2VxX2ZpbGUuaD4KICNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KICNpbmNsdWRlIDxsaW51eC9tdXRleC5oPgogI2luY2x1ZGUgPGxpbnV4L2NvbXBsZXRpb24uaD4KICNpbmNsdWRlIDxsaW51eC9oYXJkaXJxLmg+CiAjaW5jbHVkZSA8bGludXgvaXJxZmxhZ3MuaD4KLSNpbmNsdWRlIDxsaW51eC9zZW1hcGhvcmUuaD4KICNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgogCiAjaW5jbHVkZSAiaTJjLWNvcmUuaCIKQEAgLTQ0LDcgKzQyLDkgQEAKIHN0YXRpYyBERUZJTkVfTVVURVgoY29yZV9sb2NrKTsKIHN0YXRpYyBERUZJTkVfSURSKGkyY19hZGFwdGVyX2lkcik7CiAKLSNkZWZpbmUgaXNfbmV3c3R5bGVfZHJpdmVyKGQpICgoZCktPnByb2JlIHx8IChkKS0+cmVtb3ZlKQorI2RlZmluZSBpc19uZXdzdHlsZV9kcml2ZXIoZCkgKChkKS0+cHJvYmUgfHwgKGQpLT5yZW1vdmUgfHwgKGQpLT5kZXRlY3QpCisKK3N0YXRpYyBpbnQgaTJjX2RldGVjdChzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXB0ZXIsIHN0cnVjdCBpMmNfZHJpdmVyICpkcml2ZXIpOwogCiAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCiAKQEAgLTEwMywxOSArMTAzLDE0IEBACiB7CiAJc3RydWN0IGkyY19jbGllbnQJKmNsaWVudCA9IHRvX2kyY19jbGllbnQoZGV2KTsKIAlzdHJ1Y3QgaTJjX2RyaXZlcgkqZHJpdmVyID0gdG9faTJjX2RyaXZlcihkZXYtPmRyaXZlcik7Ci0JY29uc3Qgc3RydWN0IGkyY19kZXZpY2VfaWQgKmlkOwogCWludCBzdGF0dXM7CiAKLQlpZiAoIWRyaXZlci0+cHJvYmUpCisJaWYgKCFkcml2ZXItPnByb2JlIHx8ICFkcml2ZXItPmlkX3RhYmxlKQogCQlyZXR1cm4gLUVOT0RFVjsKIAljbGllbnQtPmRyaXZlciA9IGRyaXZlcjsKIAlkZXZfZGJnKGRldiwgInByb2JlXG4iKTsKIAotCWlmIChkcml2ZXItPmlkX3RhYmxlKQotCQlpZCA9IGkyY19tYXRjaF9pZChkcml2ZXItPmlkX3RhYmxlLCBjbGllbnQpOwotCWVsc2UKLQkJaWQgPSBOVUxMOwotCXN0YXR1cyA9IGRyaXZlci0+cHJvYmUoY2xpZW50LCBpZCk7CisJc3RhdHVzID0gZHJpdmVyLT5wcm9iZShjbGllbnQsIGkyY19tYXRjaF9pZChkcml2ZXItPmlkX3RhYmxlLCBjbGllbnQpKTsKIAlpZiAoc3RhdHVzKQogCQljbGllbnQtPmRyaXZlciA9IE5VTEw7CiAJcmV0dXJuIHN0YXR1czsKQEAgLTIwOCw3ICsyMDMsNyBAQAogCXsgfSwKIH07CiAKLXN0YXRpYyBzdHJ1Y3QgYnVzX3R5cGUgaTJjX2J1c190eXBlID0geworc3RydWN0IGJ1c190eXBlIGkyY19idXNfdHlwZSA9IHsKIAkubmFtZQkJPSAiaTJjIiwKIAkuZGV2X2F0dHJzCT0gaTJjX2Rldl9hdHRycywKIAkubWF0Y2gJCT0gaTJjX2RldmljZV9tYXRjaCwKQEAgLTIxOSw2ICsyMTQsNyBAQAogCS5zdXNwZW5kCT0gaTJjX2RldmljZV9zdXNwZW5kLAogCS5yZXN1bWUJCT0gaTJjX2RldmljZV9yZXN1bWUsCiB9OworRVhQT1JUX1NZTUJPTF9HUEwoaTJjX2J1c190eXBlKTsKIAogCiAvKioKQEAgLTMwNiw2ICszMDIsMTQgQEAKIAkJcmV0dXJuOwogCX0KIAorCWlmIChhZGFwdGVyLT5jbGllbnRfdW5yZWdpc3RlcikgeworCQlpZiAoYWRhcHRlci0+Y2xpZW50X3VucmVnaXN0ZXIoY2xpZW50KSkgeworCQkJZGV2X3dhcm4oJmNsaWVudC0+ZGV2LAorCQkJCSAiY2xpZW50X3VucmVnaXN0ZXIgWyVzXSBmYWlsZWRcbiIsCisJCQkJIGNsaWVudC0+bmFtZSk7CisJCX0KKwl9CisKIAltdXRleF9sb2NrKCZhZGFwdGVyLT5jbGlzdF9sb2NrKTsKIAlsaXN0X2RlbCgmY2xpZW50LT5saXN0KTsKIAltdXRleF91bmxvY2soJmFkYXB0ZXItPmNsaXN0X2xvY2spOwpAQCAtNDE2LDYgKzQyMCwxMCBAQAogCXN0cnVjdCBpMmNfZHJpdmVyICpkcml2ZXIgPSB0b19pMmNfZHJpdmVyKGQpOwogCXN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcCA9IGRhdGE7CiAKKwkvKiBEZXRlY3Qgc3VwcG9ydGVkIGRldmljZXMgb24gdGhhdCBidXMsIGFuZCBpbnN0YW50aWF0ZSB0aGVtICovCisJaTJjX2RldGVjdChhZGFwLCBkcml2ZXIpOworCisJLyogTGV0IGxlZ2FjeSBkcml2ZXJzIHNjYW4gdGhpcyBidXMgZm9yIG1hdGNoaW5nIGRldmljZXMgKi8KIAlpZiAoZHJpdmVyLT5hdHRhY2hfYWRhcHRlcikgewogCQkvKiBXZSBpZ25vcmUgdGhlIHJldHVybiBjb2RlOyBpZiBpdCBmYWlscywgdG9vIGJhZCAqLwogCQlkcml2ZXItPmF0dGFjaF9hZGFwdGVyKGFkYXApOwpAQCAtNDU1LDcgKzQ2Myw3IEBACiAJaWYgKGFkYXAtPm5yIDwgX19pMmNfZmlyc3RfZHluYW1pY19idXNfbnVtKQogCQlpMmNfc2Nhbl9zdGF0aWNfYm9hcmRfaW5mbyhhZGFwKTsKIAotCS8qIGxldCBsZWdhY3kgZHJpdmVycyBzY2FuIHRoaXMgYnVzIGZvciBtYXRjaGluZyBkZXZpY2VzICovCisJLyogTm90aWZ5IGRyaXZlcnMgKi8KIAlkdW1teSA9IGJ1c19mb3JfZWFjaF9kcnYoJmkyY19idXNfdHlwZSwgTlVMTCwgYWRhcCwKIAkJCQkgaTJjX2RvX2FkZF9hZGFwdGVyKTsKIApAQCAtNTYxLDggKzU2OSwxOSBAQAogewogCXN0cnVjdCBpMmNfZHJpdmVyICpkcml2ZXIgPSB0b19pMmNfZHJpdmVyKGQpOwogCXN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcHRlciA9IGRhdGE7CisJc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCwgKl9uOwogCWludCByZXM7CiAKKwkvKiBSZW1vdmUgdGhlIGRldmljZXMgd2UgY3JlYXRlZCBvdXJzZWx2ZXMgKi8KKwlsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUoY2xpZW50LCBfbiwgJmRyaXZlci0+Y2xpZW50cywgZGV0ZWN0ZWQpIHsKKwkJaWYgKGNsaWVudC0+YWRhcHRlciA9PSBhZGFwdGVyKSB7CisJCQlkZXZfZGJnKCZhZGFwdGVyLT5kZXYsICJSZW1vdmluZyAlcyBhdCAweCV4XG4iLAorCQkJCWNsaWVudC0+bmFtZSwgY2xpZW50LT5hZGRyKTsKKwkJCWxpc3RfZGVsKCZjbGllbnQtPmRldGVjdGVkKTsKKwkJCWkyY191bnJlZ2lzdGVyX2RldmljZShjbGllbnQpOworCQl9CisJfQorCiAJaWYgKCFkcml2ZXItPmRldGFjaF9hZGFwdGVyKQogCQlyZXR1cm4gMDsKIAlyZXMgPSBkcml2ZXItPmRldGFjaF9hZGFwdGVyKGFkYXB0ZXIpOwpAQCAtNTgyLDggKzYwMSw3IEBACiAgKi8KIGludCBpMmNfZGVsX2FkYXB0ZXIoc3RydWN0IGkyY19hZGFwdGVyICphZGFwKQogewotCXN0cnVjdCBsaXN0X2hlYWQgICppdGVtLCAqX247Ci0Jc3RydWN0IGkyY19jbGllbnQgKmNsaWVudDsKKwlzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50LCAqX247CiAJaW50IHJlcyA9IDA7CiAKIAltdXRleF9sb2NrKCZjb3JlX2xvY2spOwpAQCAtNjA0LDEwICs2MjIsOSBAQAogCiAJLyogZGV0YWNoIGFueSBhY3RpdmUgY2xpZW50cy4gVGhpcyBtdXN0IGJlIGRvbmUgZmlyc3QsIGJlY2F1c2UKIAkgKiBpdCBjYW4gZmFpbDsgaW4gd2hpY2ggY2FzZSB3ZSBnaXZlIHVwLiAqLwotCWxpc3RfZm9yX2VhY2hfc2FmZShpdGVtLCBfbiwgJmFkYXAtPmNsaWVudHMpIHsKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUoY2xpZW50LCBfbiwgJmFkYXAtPmNsaWVudHMsIGxpc3QpIHsKIAkJc3RydWN0IGkyY19kcml2ZXIJKmRyaXZlcjsKIAotCQljbGllbnQgPSBsaXN0X2VudHJ5KGl0ZW0sIHN0cnVjdCBpMmNfY2xpZW50LCBsaXN0KTsKIAkJZHJpdmVyID0gY2xpZW50LT5kcml2ZXI7CiAKIAkJLyogbmV3IHN0eWxlLCBmb2xsb3cgc3RhbmRhcmQgZHJpdmVyIG1vZGVsICovCkBAIC02NDYsNiArNjYzLDIwIEBACiAKIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KIAorc3RhdGljIGludCBfX2F0dGFjaF9hZGFwdGVyKHN0cnVjdCBkZXZpY2UgKmRldiwgdm9pZCAqZGF0YSkKK3sKKwlzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXB0ZXIgPSB0b19pMmNfYWRhcHRlcihkZXYpOworCXN0cnVjdCBpMmNfZHJpdmVyICpkcml2ZXIgPSBkYXRhOworCisJaTJjX2RldGVjdChhZGFwdGVyLCBkcml2ZXIpOworCisJLyogTGVnYWN5IGRyaXZlcnMgc2NhbiBpMmMgYnVzc2VzIGRpcmVjdGx5ICovCisJaWYgKGRyaXZlci0+YXR0YWNoX2FkYXB0ZXIpCisJCWRyaXZlci0+YXR0YWNoX2FkYXB0ZXIoYWRhcHRlcik7CisKKwlyZXR1cm4gMDsKK30KKwogLyoKICAqIEFuIGkyY19kcml2ZXIgaXMgdXNlZCB3aXRoIG9uZSBvciBtb3JlIGkyY19jbGllbnQgKGRldmljZSkgbm9kZXMgdG8gYWNjZXNzCiAgKiBpMmMgc2xhdmUgY2hpcHMsIG9uIGEgYnVzIGluc3RhbmNlIGFzc29jaWF0ZWQgd2l0aCBzb21lIGkyY19hZGFwdGVyLiAgVGhlcmUKQEAgLTY4NSwyMyArNzE2LDU5IEBACiAKIAlwcl9kZWJ1ZygiaTJjLWNvcmU6IGRyaXZlciBbJXNdIHJlZ2lzdGVyZWRcbiIsIGRyaXZlci0+ZHJpdmVyLm5hbWUpOwogCi0JLyogbGVnYWN5IGRyaXZlcnMgc2NhbiBpMmMgYnVzc2VzIGRpcmVjdGx5ICovCi0JaWYgKGRyaXZlci0+YXR0YWNoX2FkYXB0ZXIpIHsKLQkJc3RydWN0IGkyY19hZGFwdGVyICphZGFwdGVyOwotCi0JCWRvd24oJmkyY19hZGFwdGVyX2NsYXNzLnNlbSk7Ci0JCWxpc3RfZm9yX2VhY2hfZW50cnkoYWRhcHRlciwgJmkyY19hZGFwdGVyX2NsYXNzLmRldmljZXMsCi0JCQkJICAgIGRldi5ub2RlKSB7Ci0JCQlkcml2ZXItPmF0dGFjaF9hZGFwdGVyKGFkYXB0ZXIpOwotCQl9Ci0JCXVwKCZpMmNfYWRhcHRlcl9jbGFzcy5zZW0pOwotCX0KKwlJTklUX0xJU1RfSEVBRCgmZHJpdmVyLT5jbGllbnRzKTsKKwkvKiBXYWxrIHRoZSBhZGFwdGVycyB0aGF0IGFyZSBhbHJlYWR5IHByZXNlbnQgKi8KKwljbGFzc19mb3JfZWFjaF9kZXZpY2UoJmkyY19hZGFwdGVyX2NsYXNzLCBkcml2ZXIsIF9fYXR0YWNoX2FkYXB0ZXIpOwogCiAJbXV0ZXhfdW5sb2NrKCZjb3JlX2xvY2spOwogCXJldHVybiAwOwogfQogRVhQT1JUX1NZTUJPTChpMmNfcmVnaXN0ZXJfZHJpdmVyKTsKIAorc3RhdGljIGludCBfX2RldGFjaF9hZGFwdGVyKHN0cnVjdCBkZXZpY2UgKmRldiwgdm9pZCAqZGF0YSkKK3sKKwlzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXB0ZXIgPSB0b19pMmNfYWRhcHRlcihkZXYpOworCXN0cnVjdCBpMmNfZHJpdmVyICpkcml2ZXIgPSBkYXRhOworCXN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQsICpfbjsKKworCWxpc3RfZm9yX2VhY2hfZW50cnlfc2FmZShjbGllbnQsIF9uLCAmZHJpdmVyLT5jbGllbnRzLCBkZXRlY3RlZCkgeworCQlkZXZfZGJnKCZhZGFwdGVyLT5kZXYsICJSZW1vdmluZyAlcyBhdCAweCV4XG4iLAorCQkJY2xpZW50LT5uYW1lLCBjbGllbnQtPmFkZHIpOworCQlsaXN0X2RlbCgmY2xpZW50LT5kZXRlY3RlZCk7CisJCWkyY191bnJlZ2lzdGVyX2RldmljZShjbGllbnQpOworCX0KKworCWlmIChpc19uZXdzdHlsZV9kcml2ZXIoZHJpdmVyKSkKKwkJcmV0dXJuIDA7CisKKwkvKiBIYXZlIGEgbG9vayBhdCBlYWNoIGFkYXB0ZXIsIGlmIGNsaWVudHMgb2YgdGhpcyBkcml2ZXIgYXJlIHN0aWxsCisJICogYXR0YWNoZWQuIElmIHNvLCBkZXRhY2ggdGhlbSB0byBiZSBhYmxlIHRvIGtpbGwgdGhlIGRyaXZlcgorCSAqIGFmdGVyd2FyZHMuCisJICovCisJaWYgKGRyaXZlci0+ZGV0YWNoX2FkYXB0ZXIpIHsKKwkJaWYgKGRyaXZlci0+ZGV0YWNoX2FkYXB0ZXIoYWRhcHRlcikpCisJCQlkZXZfZXJyKCZhZGFwdGVyLT5kZXYsCisJCQkJImRldGFjaF9hZGFwdGVyIGZhaWxlZCBmb3IgZHJpdmVyIFslc11cbiIsCisJCQkJZHJpdmVyLT5kcml2ZXIubmFtZSk7CisJfSBlbHNlIHsKKwkJc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCwgKl9uOworCisJCWxpc3RfZm9yX2VhY2hfZW50cnlfc2FmZShjbGllbnQsIF9uLCAmYWRhcHRlci0+Y2xpZW50cywgbGlzdCkgeworCQkJaWYgKGNsaWVudC0+ZHJpdmVyICE9IGRyaXZlcikKKwkJCQljb250aW51ZTsKKwkJCWRldl9kYmcoJmFkYXB0ZXItPmRldiwKKwkJCQkiZGV0YWNoaW5nIGNsaWVudCBbJXNdIGF0IDB4JTAyeFxuIiwKKwkJCQljbGllbnQtPm5hbWUsIGNsaWVudC0+YWRkcik7CisJCQlpZiAoZHJpdmVyLT5kZXRhY2hfY2xpZW50KGNsaWVudCkpCisJCQkJZGV2X2VycigmYWRhcHRlci0+ZGV2LCAiZGV0YWNoX2NsaWVudCAiCisJCQkJCSJmYWlsZWQgZm9yIGNsaWVudCBbJXNdIGF0IDB4JTAyeFxuIiwKKwkJCQkJY2xpZW50LT5uYW1lLCBjbGllbnQtPmFkZHIpOworCQl9CisJfQorCisJcmV0dXJuIDA7Cit9CisKIC8qKgogICogaTJjX2RlbF9kcml2ZXIgLSB1bnJlZ2lzdGVyIEkyQyBkcml2ZXIKICAqIEBkcml2ZXI6IHRoZSBkcml2ZXIgYmVpbmcgdW5yZWdpc3RlcmVkCkBAIC03MDksNDggKzc3NiwxMCBAQAogICovCiB2b2lkIGkyY19kZWxfZHJpdmVyKHN0cnVjdCBpMmNfZHJpdmVyICpkcml2ZXIpCiB7Ci0Jc3RydWN0IGxpc3RfaGVhZCAgICppdGVtMiwgKl9uOwotCXN0cnVjdCBpMmNfY2xpZW50ICAqY2xpZW50OwotCXN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcDsKLQogCW11dGV4X2xvY2soJmNvcmVfbG9jayk7CiAKLQkvKiBuZXctc3R5bGUgZHJpdmVyPyAqLwotCWlmIChpc19uZXdzdHlsZV9kcml2ZXIoZHJpdmVyKSkKLQkJZ290byB1bnJlZ2lzdGVyOworCWNsYXNzX2Zvcl9lYWNoX2RldmljZSgmaTJjX2FkYXB0ZXJfY2xhc3MsIGRyaXZlciwgX19kZXRhY2hfYWRhcHRlcik7CiAKLQkvKiBIYXZlIGEgbG9vayBhdCBlYWNoIGFkYXB0ZXIsIGlmIGNsaWVudHMgb2YgdGhpcyBkcml2ZXIgYXJlIHN0aWxsCi0JICogYXR0YWNoZWQuIElmIHNvLCBkZXRhY2ggdGhlbSB0byBiZSBhYmxlIHRvIGtpbGwgdGhlIGRyaXZlcgotCSAqIGFmdGVyd2FyZHMuCi0JICovCi0JZG93bigmaTJjX2FkYXB0ZXJfY2xhc3Muc2VtKTsKLQlsaXN0X2Zvcl9lYWNoX2VudHJ5KGFkYXAsICZpMmNfYWRhcHRlcl9jbGFzcy5kZXZpY2VzLCBkZXYubm9kZSkgewotCQlpZiAoZHJpdmVyLT5kZXRhY2hfYWRhcHRlcikgewotCQkJaWYgKGRyaXZlci0+ZGV0YWNoX2FkYXB0ZXIoYWRhcCkpIHsKLQkJCQlkZXZfZXJyKCZhZGFwLT5kZXYsICJkZXRhY2hfYWRhcHRlciBmYWlsZWQgIgotCQkJCQkiZm9yIGRyaXZlciBbJXNdXG4iLAotCQkJCQlkcml2ZXItPmRyaXZlci5uYW1lKTsKLQkJCX0KLQkJfSBlbHNlIHsKLQkJCWxpc3RfZm9yX2VhY2hfc2FmZShpdGVtMiwgX24sICZhZGFwLT5jbGllbnRzKSB7Ci0JCQkJY2xpZW50ID0gbGlzdF9lbnRyeShpdGVtMiwgc3RydWN0IGkyY19jbGllbnQsIGxpc3QpOwotCQkJCWlmIChjbGllbnQtPmRyaXZlciAhPSBkcml2ZXIpCi0JCQkJCWNvbnRpbnVlOwotCQkJCWRldl9kYmcoJmFkYXAtPmRldiwgImRldGFjaGluZyBjbGllbnQgWyVzXSAiCi0JCQkJCSJhdCAweCUwMnhcbiIsIGNsaWVudC0+bmFtZSwKLQkJCQkJY2xpZW50LT5hZGRyKTsKLQkJCQlpZiAoZHJpdmVyLT5kZXRhY2hfY2xpZW50KGNsaWVudCkpIHsKLQkJCQkJZGV2X2VycigmYWRhcC0+ZGV2LCAiZGV0YWNoX2NsaWVudCAiCi0JCQkJCQkiZmFpbGVkIGZvciBjbGllbnQgWyVzXSBhdCAiCi0JCQkJCQkiMHglMDJ4XG4iLCBjbGllbnQtPm5hbWUsCi0JCQkJCQljbGllbnQtPmFkZHIpOwotCQkJCX0KLQkJCX0KLQkJfQotCX0KLQl1cCgmaTJjX2FkYXB0ZXJfY2xhc3Muc2VtKTsKLQotIHVucmVnaXN0ZXI6CiAJZHJpdmVyX3VucmVnaXN0ZXIoJmRyaXZlci0+ZHJpdmVyKTsKIAlwcl9kZWJ1ZygiaTJjLWNvcmU6IGRyaXZlciBbJXNdIHVucmVnaXN0ZXJlZFxuIiwgZHJpdmVyLT5kcml2ZXIubmFtZSk7CiAKQEAgLTg2Myw4ICs4OTIsOSBAQAogICovCiBzdHJ1Y3QgaTJjX2NsaWVudCAqaTJjX3VzZV9jbGllbnQoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKIHsKLQlnZXRfZGV2aWNlKCZjbGllbnQtPmRldik7Ci0JcmV0dXJuIGNsaWVudDsKKwlpZiAoY2xpZW50ICYmIGdldF9kZXZpY2UoJmNsaWVudC0+ZGV2KSkKKwkJcmV0dXJuIGNsaWVudDsKKwlyZXR1cm4gTlVMTDsKIH0KIEVYUE9SVF9TWU1CT0woaTJjX3VzZV9jbGllbnQpOwogCkBAIC04NzYsNyArOTA2LDggQEAKICAqLwogdm9pZCBpMmNfcmVsZWFzZV9jbGllbnQoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKIHsKLQlwdXRfZGV2aWNlKCZjbGllbnQtPmRldik7CisJaWYgKGNsaWVudCkKKwkJcHV0X2RldmljZSgmY2xpZW50LT5kZXYpOwogfQogRVhQT1JUX1NZTUJPTChpMmNfcmVsZWFzZV9jbGllbnQpOwogCkBAIC05NDIsMTAgKzk3MywzOSBAQAogICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICovCiAKKy8qKgorICogaTJjX3RyYW5zZmVyIC0gZXhlY3V0ZSBhIHNpbmdsZSBvciBjb21iaW5lZCBJMkMgbWVzc2FnZQorICogQGFkYXA6IEhhbmRsZSB0byBJMkMgYnVzCisgKiBAbXNnczogT25lIG9yIG1vcmUgbWVzc2FnZXMgdG8gZXhlY3V0ZSBiZWZvcmUgU1RPUCBpcyBpc3N1ZWQgdG8KKyAqCXRlcm1pbmF0ZSB0aGUgb3BlcmF0aW9uOyBlYWNoIG1lc3NhZ2UgYmVnaW5zIHdpdGggYSBTVEFSVC4KKyAqIEBudW06IE51bWJlciBvZiBtZXNzYWdlcyB0byBiZSBleGVjdXRlZC4KKyAqCisgKiBSZXR1cm5zIG5lZ2F0aXZlIGVycm5vLCBlbHNlIHRoZSBudW1iZXIgb2YgbWVzc2FnZXMgZXhlY3V0ZWQuCisgKgorICogTm90ZSB0aGF0IHRoZXJlIGlzIG5vIHJlcXVpcmVtZW50IHRoYXQgZWFjaCBtZXNzYWdlIGJlIHNlbnQgdG8KKyAqIHRoZSBzYW1lIHNsYXZlIGFkZHJlc3MsIGFsdGhvdWdoIHRoYXQgaXMgdGhlIG1vc3QgY29tbW9uIG1vZGVsLgorICovCiBpbnQgaTJjX3RyYW5zZmVyKHN0cnVjdCBpMmNfYWRhcHRlciAqIGFkYXAsIHN0cnVjdCBpMmNfbXNnICptc2dzLCBpbnQgbnVtKQogewogCWludCByZXQ7CiAKKwkvKiBSRVZJU0lUIHRoZSBmYXVsdCByZXBvcnRpbmcgbW9kZWwgaGVyZSBpcyB3ZWFrOgorCSAqCisJICogIC0gV2hlbiB3ZSBnZXQgYW4gZXJyb3IgYWZ0ZXIgcmVjZWl2aW5nIE4gYnl0ZXMgZnJvbSBhIHNsYXZlLAorCSAqICAgIHRoZXJlIGlzIG5vIHdheSB0byByZXBvcnQgIk4iLgorCSAqCisJICogIC0gV2hlbiB3ZSBnZXQgYSBOQUsgYWZ0ZXIgdHJhbnNtaXR0aW5nIE4gYnl0ZXMgdG8gYSBzbGF2ZSwKKwkgKiAgICB0aGVyZSBpcyBubyB3YXkgdG8gcmVwb3J0ICJOIiAuLi4gb3IgdG8gbGV0IHRoZSBtYXN0ZXIKKwkgKiAgICBjb250aW51ZSBleGVjdXRpbmcgdGhlIHJlc3Qgb2YgdGhpcyBjb21iaW5lZCBtZXNzYWdlLCBpZgorCSAqICAgIHRoYXQncyB0aGUgYXBwcm9wcmlhdGUgcmVzcG9uc2UuCisJICoKKwkgKiAgLSBXaGVuIGZvciBleGFtcGxlICJudW0iIGlzIHR3byBhbmQgd2Ugc3VjY2Vzc2Z1bGx5IGNvbXBsZXRlCisJICogICAgdGhlIGZpcnN0IG1lc3NhZ2UgYnV0IGdldCBhbiBlcnJvciBwYXJ0IHdheSB0aHJvdWdoIHRoZQorCSAqICAgIHNlY29uZCwgaXQncyB1bmNsZWFyIHdoZXRoZXIgdGhhdCBzaG91bGQgYmUgcmVwb3J0ZWQgYXMKKwkgKiAgICBvbmUgKGRpc2NhcmRpbmcgc3RhdHVzIG9uIHRoZSBzZWNvbmQgbWVzc2FnZSkgb3IgZXJybm8KKwkgKiAgICAoZGlzY2FyZGluZyBzdGF0dXMgb24gdGhlIGZpcnN0IG9uZSkuCisJICovCisKIAlpZiAoYWRhcC0+YWxnby0+bWFzdGVyX3hmZXIpIHsKICNpZmRlZiBERUJVRwogCQlmb3IgKHJldCA9IDA7IHJldCA8IG51bTsgcmV0KyspIHsKQEAgLTk3MSwxMSArMTAzMSwxOSBAQAogCQlyZXR1cm4gcmV0OwogCX0gZWxzZSB7CiAJCWRldl9kYmcoJmFkYXAtPmRldiwgIkkyQyBsZXZlbCB0cmFuc2ZlcnMgbm90IHN1cHBvcnRlZFxuIik7Ci0JCXJldHVybiAtRU5PU1lTOworCQlyZXR1cm4gLUVPUE5PVFNVUFA7CiAJfQogfQogRVhQT1JUX1NZTUJPTChpMmNfdHJhbnNmZXIpOwogCisvKioKKyAqIGkyY19tYXN0ZXJfc2VuZCAtIGlzc3VlIGEgc2luZ2xlIEkyQyBtZXNzYWdlIGluIG1hc3RlciB0cmFuc21pdCBtb2RlCisgKiBAY2xpZW50OiBIYW5kbGUgdG8gc2xhdmUgZGV2aWNlCisgKiBAYnVmOiBEYXRhIHRoYXQgd2lsbCBiZSB3cml0dGVuIHRvIHRoZSBzbGF2ZQorICogQGNvdW50OiBIb3cgbWFueSBieXRlcyB0byB3cml0ZQorICoKKyAqIFJldHVybnMgbmVnYXRpdmUgZXJybm8sIG9yIGVsc2UgdGhlIG51bWJlciBvZiBieXRlcyB3cml0dGVuLgorICovCiBpbnQgaTJjX21hc3Rlcl9zZW5kKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQsY29uc3QgY2hhciAqYnVmICxpbnQgY291bnQpCiB7CiAJaW50IHJldDsKQEAgLTk5NSw2ICsxMDYzLDE0IEBACiB9CiBFWFBPUlRfU1lNQk9MKGkyY19tYXN0ZXJfc2VuZCk7CiAKKy8qKgorICogaTJjX21hc3Rlcl9yZWN2IC0gaXNzdWUgYSBzaW5nbGUgSTJDIG1lc3NhZ2UgaW4gbWFzdGVyIHJlY2VpdmUgbW9kZQorICogQGNsaWVudDogSGFuZGxlIHRvIHNsYXZlIGRldmljZQorICogQGJ1ZjogV2hlcmUgdG8gc3RvcmUgZGF0YSByZWFkIGZyb20gc2xhdmUKKyAqIEBjb3VudDogSG93IG1hbnkgYnl0ZXMgdG8gcmVhZAorICoKKyAqIFJldHVybnMgbmVnYXRpdmUgZXJybm8sIG9yIGVsc2UgdGhlIG51bWJlciBvZiBieXRlcyByZWFkLgorICovCiBpbnQgaTJjX21hc3Rlcl9yZWN2KHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQsIGNoYXIgKmJ1ZiAsaW50IGNvdW50KQogewogCXN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcD1jbGllbnQtPmFkYXB0ZXI7CkBAIC0xMTAzLDcgKzExNzksNyBAQAogCiAJCWRldl93YXJuKCZhZGFwdGVyLT5kZXYsICJTTUJ1cyBRdWljayBjb21tYW5kIG5vdCBzdXBwb3J0ZWQsICIKIAkJCSAiY2FuJ3QgcHJvYmUgZm9yIGNoaXBzXG4iKTsKLQkJcmV0dXJuIC0xOworCQlyZXR1cm4gLUVPUE5PVFNVUFA7CiAJfQogCiAJLyogUHJvYmUgZW50cmllcyBhcmUgZG9uZSBzZWNvbmQsIGFuZCBhcmUgbm90IGFmZmVjdGVkIGJ5IGlnbm9yZQpAQCAtMTE1Nyw2ICsxMjMzLDE3OSBAQAogfQogRVhQT1JUX1NZTUJPTChpMmNfcHJvYmUpOwogCisvKiBTZXBhcmF0ZSBkZXRlY3Rpb24gZnVuY3Rpb24gZm9yIG5ldy1zdHlsZSBkcml2ZXJzICovCitzdGF0aWMgaW50IGkyY19kZXRlY3RfYWRkcmVzcyhzdHJ1Y3QgaTJjX2NsaWVudCAqdGVtcF9jbGllbnQsIGludCBraW5kLAorCQkJICAgICAgc3RydWN0IGkyY19kcml2ZXIgKmRyaXZlcikKK3sKKwlzdHJ1Y3QgaTJjX2JvYXJkX2luZm8gaW5mbzsKKwlzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXB0ZXIgPSB0ZW1wX2NsaWVudC0+YWRhcHRlcjsKKwlpbnQgYWRkciA9IHRlbXBfY2xpZW50LT5hZGRyOworCWludCBlcnI7CisKKwkvKiBNYWtlIHN1cmUgdGhlIGFkZHJlc3MgaXMgdmFsaWQgKi8KKwlpZiAoYWRkciA8IDB4MDMgfHwgYWRkciA+IDB4NzcpIHsKKwkJZGV2X3dhcm4oJmFkYXB0ZXItPmRldiwgIkludmFsaWQgcHJvYmUgYWRkcmVzcyAweCUwMnhcbiIsCisJCQkgYWRkcik7CisJCXJldHVybiAtRUlOVkFMOworCX0KKworCS8qIFNraXAgaWYgYWxyZWFkeSBpbiB1c2UgKi8KKwlpZiAoaTJjX2NoZWNrX2FkZHIoYWRhcHRlciwgYWRkcikpCisJCXJldHVybiAwOworCisJLyogTWFrZSBzdXJlIHRoZXJlIGlzIHNvbWV0aGluZyBhdCB0aGlzIGFkZHJlc3MsIHVubGVzcyBmb3JjZWQgKi8KKwlpZiAoa2luZCA8IDApIHsKKwkJaWYgKGkyY19zbWJ1c194ZmVyKGFkYXB0ZXIsIGFkZHIsIDAsIDAsIDAsCisJCQkJICAgSTJDX1NNQlVTX1FVSUNLLCBOVUxMKSA8IDApCisJCQlyZXR1cm4gMDsKKworCQkvKiBwcmV2ZW50IDI0UkYwOCBjb3JydXB0aW9uICovCisJCWlmICgoYWRkciAmIH4weDBmKSA9PSAweDUwKQorCQkJaTJjX3NtYnVzX3hmZXIoYWRhcHRlciwgYWRkciwgMCwgMCwgMCwKKwkJCQkgICAgICAgSTJDX1NNQlVTX1FVSUNLLCBOVUxMKTsKKwl9CisKKwkvKiBGaW5hbGx5IGNhbGwgdGhlIGN1c3RvbSBkZXRlY3Rpb24gZnVuY3Rpb24gKi8KKwltZW1zZXQoJmluZm8sIDAsIHNpemVvZihzdHJ1Y3QgaTJjX2JvYXJkX2luZm8pKTsKKwlpbmZvLmFkZHIgPSBhZGRyOworCWVyciA9IGRyaXZlci0+ZGV0ZWN0KHRlbXBfY2xpZW50LCBraW5kLCAmaW5mbyk7CisJaWYgKGVycikgeworCQkvKiAtRU5PREVWIGlzIHJldHVybmVkIGlmIHRoZSBkZXRlY3Rpb24gZmFpbHMuIFdlIGNhdGNoIGl0CisJCSAgIGhlcmUgYXMgdGhpcyBpc24ndCBhbiBlcnJvci4gKi8KKwkJcmV0dXJuIGVyciA9PSAtRU5PREVWID8gMCA6IGVycjsKKwl9CisKKwkvKiBDb25zaXN0ZW5jeSBjaGVjayAqLworCWlmIChpbmZvLnR5cGVbMF0gPT0gJ1wwJykgeworCQlkZXZfZXJyKCZhZGFwdGVyLT5kZXYsICIlcyBkZXRlY3Rpb24gZnVuY3Rpb24gcHJvdmlkZWQgIgorCQkJIm5vIG5hbWUgZm9yIDB4JXhcbiIsIGRyaXZlci0+ZHJpdmVyLm5hbWUsCisJCQlhZGRyKTsKKwl9IGVsc2UgeworCQlzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50OworCisJCS8qIERldGVjdGlvbiBzdWNjZWVkZWQsIGluc3RhbnRpYXRlIHRoZSBkZXZpY2UgKi8KKwkJZGV2X2RiZygmYWRhcHRlci0+ZGV2LCAiQ3JlYXRpbmcgJXMgYXQgMHglMDJ4XG4iLAorCQkJaW5mby50eXBlLCBpbmZvLmFkZHIpOworCQljbGllbnQgPSBpMmNfbmV3X2RldmljZShhZGFwdGVyLCAmaW5mbyk7CisJCWlmIChjbGllbnQpCisJCQlsaXN0X2FkZF90YWlsKCZjbGllbnQtPmRldGVjdGVkLCAmZHJpdmVyLT5jbGllbnRzKTsKKwkJZWxzZQorCQkJZGV2X2VycigmYWRhcHRlci0+ZGV2LCAiRmFpbGVkIGNyZWF0aW5nICVzIGF0IDB4JTAyeFxuIiwKKwkJCQlpbmZvLnR5cGUsIGluZm8uYWRkcik7CisJfQorCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGkyY19kZXRlY3Qoc3RydWN0IGkyY19hZGFwdGVyICphZGFwdGVyLCBzdHJ1Y3QgaTJjX2RyaXZlciAqZHJpdmVyKQoreworCWNvbnN0IHN0cnVjdCBpMmNfY2xpZW50X2FkZHJlc3NfZGF0YSAqYWRkcmVzc19kYXRhOworCXN0cnVjdCBpMmNfY2xpZW50ICp0ZW1wX2NsaWVudDsKKwlpbnQgaSwgZXJyID0gMDsKKwlpbnQgYWRhcF9pZCA9IGkyY19hZGFwdGVyX2lkKGFkYXB0ZXIpOworCisJYWRkcmVzc19kYXRhID0gZHJpdmVyLT5hZGRyZXNzX2RhdGE7CisJaWYgKCFkcml2ZXItPmRldGVjdCB8fCAhYWRkcmVzc19kYXRhKQorCQlyZXR1cm4gMDsKKworCS8qIFNldCB1cCBhIHRlbXBvcmFyeSBjbGllbnQgdG8gaGVscCBkZXRlY3QgY2FsbGJhY2sgKi8KKwl0ZW1wX2NsaWVudCA9IGt6YWxsb2Moc2l6ZW9mKHN0cnVjdCBpMmNfY2xpZW50KSwgR0ZQX0tFUk5FTCk7CisJaWYgKCF0ZW1wX2NsaWVudCkKKwkJcmV0dXJuIC1FTk9NRU07CisJdGVtcF9jbGllbnQtPmFkYXB0ZXIgPSBhZGFwdGVyOworCisJLyogRm9yY2UgZW50cmllcyBhcmUgZG9uZSBmaXJzdCwgYW5kIGFyZSBub3QgYWZmZWN0ZWQgYnkgaWdub3JlCisJICAgZW50cmllcyAqLworCWlmIChhZGRyZXNzX2RhdGEtPmZvcmNlcykgeworCQljb25zdCB1bnNpZ25lZCBzaG9ydCAqIGNvbnN0ICpmb3JjZXMgPSBhZGRyZXNzX2RhdGEtPmZvcmNlczsKKwkJaW50IGtpbmQ7CisKKwkJZm9yIChraW5kID0gMDsgZm9yY2VzW2tpbmRdOyBraW5kKyspIHsKKwkJCWZvciAoaSA9IDA7IGZvcmNlc1traW5kXVtpXSAhPSBJMkNfQ0xJRU5UX0VORDsKKwkJCSAgICAgaSArPSAyKSB7CisJCQkJaWYgKGZvcmNlc1traW5kXVtpXSA9PSBhZGFwX2lkCisJCQkJIHx8IGZvcmNlc1traW5kXVtpXSA9PSBBTllfSTJDX0JVUykgeworCQkJCQlkZXZfZGJnKCZhZGFwdGVyLT5kZXYsICJmb3VuZCBmb3JjZSAiCisJCQkJCQkicGFyYW1ldGVyIGZvciBhZGFwdGVyICVkLCAiCisJCQkJCQkiYWRkciAweCUwMngsIGtpbmQgJWRcbiIsCisJCQkJCQlhZGFwX2lkLCBmb3JjZXNba2luZF1baSArIDFdLAorCQkJCQkJa2luZCk7CisJCQkJCXRlbXBfY2xpZW50LT5hZGRyID0gZm9yY2VzW2tpbmRdW2kgKyAxXTsKKwkJCQkJZXJyID0gaTJjX2RldGVjdF9hZGRyZXNzKHRlbXBfY2xpZW50LAorCQkJCQkJa2luZCwgZHJpdmVyKTsKKwkJCQkJaWYgKGVycikKKwkJCQkJCWdvdG8gZXhpdF9mcmVlOworCQkJCX0KKwkJCX0KKwkJfQorCX0KKworCS8qIFN0b3AgaGVyZSBpZiB3ZSBjYW4ndCB1c2UgU01CVVNfUVVJQ0sgKi8KKwlpZiAoIWkyY19jaGVja19mdW5jdGlvbmFsaXR5KGFkYXB0ZXIsIEkyQ19GVU5DX1NNQlVTX1FVSUNLKSkgeworCQlpZiAoYWRkcmVzc19kYXRhLT5wcm9iZVswXSA9PSBJMkNfQ0xJRU5UX0VORAorCQkgJiYgYWRkcmVzc19kYXRhLT5ub3JtYWxfaTJjWzBdID09IEkyQ19DTElFTlRfRU5EKQorCQkJZ290byBleGl0X2ZyZWU7CisKKwkJZGV2X3dhcm4oJmFkYXB0ZXItPmRldiwgIlNNQnVzIFF1aWNrIGNvbW1hbmQgbm90IHN1cHBvcnRlZCwgIgorCQkJICJjYW4ndCBwcm9iZSBmb3IgY2hpcHNcbiIpOworCQllcnIgPSAtRU9QTk9UU1VQUDsKKwkJZ290byBleGl0X2ZyZWU7CisJfQorCisJLyogU3RvcCBoZXJlIGlmIHRoZSBjbGFzc2VzIGRvIG5vdCBtYXRjaCAqLworCWlmICghKGFkYXB0ZXItPmNsYXNzICYgZHJpdmVyLT5jbGFzcykpCisJCWdvdG8gZXhpdF9mcmVlOworCisJLyogUHJvYmUgZW50cmllcyBhcmUgZG9uZSBzZWNvbmQsIGFuZCBhcmUgbm90IGFmZmVjdGVkIGJ5IGlnbm9yZQorCSAgIGVudHJpZXMgZWl0aGVyICovCisJZm9yIChpID0gMDsgYWRkcmVzc19kYXRhLT5wcm9iZVtpXSAhPSBJMkNfQ0xJRU5UX0VORDsgaSArPSAyKSB7CisJCWlmIChhZGRyZXNzX2RhdGEtPnByb2JlW2ldID09IGFkYXBfaWQKKwkJIHx8IGFkZHJlc3NfZGF0YS0+cHJvYmVbaV0gPT0gQU5ZX0kyQ19CVVMpIHsKKwkJCWRldl9kYmcoJmFkYXB0ZXItPmRldiwgImZvdW5kIHByb2JlIHBhcmFtZXRlciBmb3IgIgorCQkJCSJhZGFwdGVyICVkLCBhZGRyIDB4JTAyeFxuIiwgYWRhcF9pZCwKKwkJCQlhZGRyZXNzX2RhdGEtPnByb2JlW2kgKyAxXSk7CisJCQl0ZW1wX2NsaWVudC0+YWRkciA9IGFkZHJlc3NfZGF0YS0+cHJvYmVbaSArIDFdOworCQkJZXJyID0gaTJjX2RldGVjdF9hZGRyZXNzKHRlbXBfY2xpZW50LCAtMSwgZHJpdmVyKTsKKwkJCWlmIChlcnIpCisJCQkJZ290byBleGl0X2ZyZWU7CisJCX0KKwl9CisKKwkvKiBOb3JtYWwgZW50cmllcyBhcmUgZG9uZSBsYXN0LCB1bmxlc3Mgc2hhZG93ZWQgYnkgYW4gaWdub3JlIGVudHJ5ICovCisJZm9yIChpID0gMDsgYWRkcmVzc19kYXRhLT5ub3JtYWxfaTJjW2ldICE9IEkyQ19DTElFTlRfRU5EOyBpICs9IDEpIHsKKwkJaW50IGosIGlnbm9yZTsKKworCQlpZ25vcmUgPSAwOworCQlmb3IgKGogPSAwOyBhZGRyZXNzX2RhdGEtPmlnbm9yZVtqXSAhPSBJMkNfQ0xJRU5UX0VORDsKKwkJICAgICBqICs9IDIpIHsKKwkJCWlmICgoYWRkcmVzc19kYXRhLT5pZ25vcmVbal0gPT0gYWRhcF9pZCB8fAorCQkJICAgICBhZGRyZXNzX2RhdGEtPmlnbm9yZVtqXSA9PSBBTllfSTJDX0JVUykKKwkJCSAmJiBhZGRyZXNzX2RhdGEtPmlnbm9yZVtqICsgMV0KKwkJCSAgICA9PSBhZGRyZXNzX2RhdGEtPm5vcm1hbF9pMmNbaV0pIHsKKwkJCQlkZXZfZGJnKCZhZGFwdGVyLT5kZXYsICJmb3VuZCBpZ25vcmUgIgorCQkJCQkicGFyYW1ldGVyIGZvciBhZGFwdGVyICVkLCAiCisJCQkJCSJhZGRyIDB4JTAyeFxuIiwgYWRhcF9pZCwKKwkJCQkJYWRkcmVzc19kYXRhLT5pZ25vcmVbaiArIDFdKTsKKwkJCQlpZ25vcmUgPSAxOworCQkJCWJyZWFrOworCQkJfQorCQl9CisJCWlmIChpZ25vcmUpCisJCQljb250aW51ZTsKKworCQlkZXZfZGJnKCZhZGFwdGVyLT5kZXYsICJmb3VuZCBub3JtYWwgZW50cnkgZm9yIGFkYXB0ZXIgJWQsICIKKwkJCSJhZGRyIDB4JTAyeFxuIiwgYWRhcF9pZCwKKwkJCWFkZHJlc3NfZGF0YS0+bm9ybWFsX2kyY1tpXSk7CisJCXRlbXBfY2xpZW50LT5hZGRyID0gYWRkcmVzc19kYXRhLT5ub3JtYWxfaTJjW2ldOworCQllcnIgPSBpMmNfZGV0ZWN0X2FkZHJlc3ModGVtcF9jbGllbnQsIC0xLCBkcml2ZXIpOworCQlpZiAoZXJyKQorCQkJZ290byBleGl0X2ZyZWU7CisJfQorCisgZXhpdF9mcmVlOgorCWtmcmVlKHRlbXBfY2xpZW50KTsKKwlyZXR1cm4gZXJyOworfQorCiBzdHJ1Y3QgaTJjX2NsaWVudCAqCiBpMmNfbmV3X3Byb2JlZF9kZXZpY2Uoc3RydWN0IGkyY19hZGFwdGVyICphZGFwLAogCQkgICAgICBzdHJ1Y3QgaTJjX2JvYXJkX2luZm8gKmluZm8sCkBAIC0xMjk1LDI5ICsxNTQ0LDM4IEBACiAJaWYgKHJwZWMgIT0gY3BlYykgewogCQlwcl9kZWJ1ZygiaTJjLWNvcmU6IEJhZCBQRUMgMHglMDJ4IHZzLiAweCUwMnhcbiIsCiAJCQlycGVjLCBjcGVjKTsKLQkJcmV0dXJuIC0xOworCQlyZXR1cm4gLUVCQURNU0c7CiAJfQogCXJldHVybiAwOwogfQogCi1zMzIgaTJjX3NtYnVzX3dyaXRlX3F1aWNrKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQsIHU4IHZhbHVlKQotewotCXJldHVybiBpMmNfc21idXNfeGZlcihjbGllbnQtPmFkYXB0ZXIsY2xpZW50LT5hZGRyLGNsaWVudC0+ZmxhZ3MsCi0JICAgICAgICAgICAgICAgICAgICAgIHZhbHVlLDAsSTJDX1NNQlVTX1FVSUNLLE5VTEwpOwotfQotRVhQT1JUX1NZTUJPTChpMmNfc21idXNfd3JpdGVfcXVpY2spOwotCisvKioKKyAqIGkyY19zbWJ1c19yZWFkX2J5dGUgLSBTTUJ1cyAicmVjZWl2ZSBieXRlIiBwcm90b2NvbAorICogQGNsaWVudDogSGFuZGxlIHRvIHNsYXZlIGRldmljZQorICoKKyAqIFRoaXMgZXhlY3V0ZXMgdGhlIFNNQnVzICJyZWNlaXZlIGJ5dGUiIHByb3RvY29sLCByZXR1cm5pbmcgbmVnYXRpdmUgZXJybm8KKyAqIGVsc2UgdGhlIGJ5dGUgcmVjZWl2ZWQgZnJvbSB0aGUgZGV2aWNlLgorICovCiBzMzIgaTJjX3NtYnVzX3JlYWRfYnl0ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQogewogCXVuaW9uIGkyY19zbWJ1c19kYXRhIGRhdGE7Ci0JaWYgKGkyY19zbWJ1c194ZmVyKGNsaWVudC0+YWRhcHRlcixjbGllbnQtPmFkZHIsY2xpZW50LT5mbGFncywKLQkgICAgICAgICAgICAgICAgICAgSTJDX1NNQlVTX1JFQUQsMCxJMkNfU01CVVNfQllURSwgJmRhdGEpKQotCQlyZXR1cm4gLTE7Ci0JZWxzZQotCQlyZXR1cm4gZGF0YS5ieXRlOworCWludCBzdGF0dXM7CisKKwlzdGF0dXMgPSBpMmNfc21idXNfeGZlcihjbGllbnQtPmFkYXB0ZXIsIGNsaWVudC0+YWRkciwgY2xpZW50LT5mbGFncywKKwkJCQlJMkNfU01CVVNfUkVBRCwgMCwKKwkJCQlJMkNfU01CVVNfQllURSwgJmRhdGEpOworCXJldHVybiAoc3RhdHVzIDwgMCkgPyBzdGF0dXMgOiBkYXRhLmJ5dGU7CiB9CiBFWFBPUlRfU1lNQk9MKGkyY19zbWJ1c19yZWFkX2J5dGUpOwogCisvKioKKyAqIGkyY19zbWJ1c193cml0ZV9ieXRlIC0gU01CdXMgInNlbmQgYnl0ZSIgcHJvdG9jb2wKKyAqIEBjbGllbnQ6IEhhbmRsZSB0byBzbGF2ZSBkZXZpY2UKKyAqIEB2YWx1ZTogQnl0ZSB0byBiZSBzZW50CisgKgorICogVGhpcyBleGVjdXRlcyB0aGUgU01CdXMgInNlbmQgYnl0ZSIgcHJvdG9jb2wsIHJldHVybmluZyBuZWdhdGl2ZSBlcnJubworICogZWxzZSB6ZXJvIG9uIHN1Y2Nlc3MuCisgKi8KIHMzMiBpMmNfc21idXNfd3JpdGVfYnl0ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50LCB1OCB2YWx1ZSkKIHsKIAlyZXR1cm4gaTJjX3NtYnVzX3hmZXIoY2xpZW50LT5hZGFwdGVyLGNsaWVudC0+YWRkcixjbGllbnQtPmZsYWdzLApAQCAtMTMyNSwxNyArMTU4MywzNSBAQAogfQogRVhQT1JUX1NZTUJPTChpMmNfc21idXNfd3JpdGVfYnl0ZSk7CiAKKy8qKgorICogaTJjX3NtYnVzX3JlYWRfYnl0ZV9kYXRhIC0gU01CdXMgInJlYWQgYnl0ZSIgcHJvdG9jb2wKKyAqIEBjbGllbnQ6IEhhbmRsZSB0byBzbGF2ZSBkZXZpY2UKKyAqIEBjb21tYW5kOiBCeXRlIGludGVycHJldGVkIGJ5IHNsYXZlCisgKgorICogVGhpcyBleGVjdXRlcyB0aGUgU01CdXMgInJlYWQgYnl0ZSIgcHJvdG9jb2wsIHJldHVybmluZyBuZWdhdGl2ZSBlcnJubworICogZWxzZSBhIGRhdGEgYnl0ZSByZWNlaXZlZCBmcm9tIHRoZSBkZXZpY2UuCisgKi8KIHMzMiBpMmNfc21idXNfcmVhZF9ieXRlX2RhdGEoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCwgdTggY29tbWFuZCkKIHsKIAl1bmlvbiBpMmNfc21idXNfZGF0YSBkYXRhOwotCWlmIChpMmNfc21idXNfeGZlcihjbGllbnQtPmFkYXB0ZXIsY2xpZW50LT5hZGRyLGNsaWVudC0+ZmxhZ3MsCi0JICAgICAgICAgICAgICAgICAgIEkyQ19TTUJVU19SRUFELGNvbW1hbmQsIEkyQ19TTUJVU19CWVRFX0RBVEEsJmRhdGEpKQotCQlyZXR1cm4gLTE7Ci0JZWxzZQotCQlyZXR1cm4gZGF0YS5ieXRlOworCWludCBzdGF0dXM7CisKKwlzdGF0dXMgPSBpMmNfc21idXNfeGZlcihjbGllbnQtPmFkYXB0ZXIsIGNsaWVudC0+YWRkciwgY2xpZW50LT5mbGFncywKKwkJCQlJMkNfU01CVVNfUkVBRCwgY29tbWFuZCwKKwkJCQlJMkNfU01CVVNfQllURV9EQVRBLCAmZGF0YSk7CisJcmV0dXJuIChzdGF0dXMgPCAwKSA/IHN0YXR1cyA6IGRhdGEuYnl0ZTsKIH0KIEVYUE9SVF9TWU1CT0woaTJjX3NtYnVzX3JlYWRfYnl0ZV9kYXRhKTsKIAorLyoqCisgKiBpMmNfc21idXNfd3JpdGVfYnl0ZV9kYXRhIC0gU01CdXMgIndyaXRlIGJ5dGUiIHByb3RvY29sCisgKiBAY2xpZW50OiBIYW5kbGUgdG8gc2xhdmUgZGV2aWNlCisgKiBAY29tbWFuZDogQnl0ZSBpbnRlcnByZXRlZCBieSBzbGF2ZQorICogQHZhbHVlOiBCeXRlIGJlaW5nIHdyaXR0ZW4KKyAqCisgKiBUaGlzIGV4ZWN1dGVzIHRoZSBTTUJ1cyAid3JpdGUgYnl0ZSIgcHJvdG9jb2wsIHJldHVybmluZyBuZWdhdGl2ZSBlcnJubworICogZWxzZSB6ZXJvIG9uIHN1Y2Nlc3MuCisgKi8KIHMzMiBpMmNfc21idXNfd3JpdGVfYnl0ZV9kYXRhKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQsIHU4IGNvbW1hbmQsIHU4IHZhbHVlKQogewogCXVuaW9uIGkyY19zbWJ1c19kYXRhIGRhdGE7CkBAIC0xMzQ2LDE3ICsxNjIyLDM1IEBACiB9CiBFWFBPUlRfU1lNQk9MKGkyY19zbWJ1c193cml0ZV9ieXRlX2RhdGEpOwogCisvKioKKyAqIGkyY19zbWJ1c19yZWFkX3dvcmRfZGF0YSAtIFNNQnVzICJyZWFkIHdvcmQiIHByb3RvY29sCisgKiBAY2xpZW50OiBIYW5kbGUgdG8gc2xhdmUgZGV2aWNlCisgKiBAY29tbWFuZDogQnl0ZSBpbnRlcnByZXRlZCBieSBzbGF2ZQorICoKKyAqIFRoaXMgZXhlY3V0ZXMgdGhlIFNNQnVzICJyZWFkIHdvcmQiIHByb3RvY29sLCByZXR1cm5pbmcgbmVnYXRpdmUgZXJybm8KKyAqIGVsc2UgYSAxNi1iaXQgdW5zaWduZWQgIndvcmQiIHJlY2VpdmVkIGZyb20gdGhlIGRldmljZS4KKyAqLwogczMyIGkyY19zbWJ1c19yZWFkX3dvcmRfZGF0YShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50LCB1OCBjb21tYW5kKQogewogCXVuaW9uIGkyY19zbWJ1c19kYXRhIGRhdGE7Ci0JaWYgKGkyY19zbWJ1c194ZmVyKGNsaWVudC0+YWRhcHRlcixjbGllbnQtPmFkZHIsY2xpZW50LT5mbGFncywKLQkgICAgICAgICAgICAgICAgICAgSTJDX1NNQlVTX1JFQUQsY29tbWFuZCwgSTJDX1NNQlVTX1dPUkRfREFUQSwgJmRhdGEpKQotCQlyZXR1cm4gLTE7Ci0JZWxzZQotCQlyZXR1cm4gZGF0YS53b3JkOworCWludCBzdGF0dXM7CisKKwlzdGF0dXMgPSBpMmNfc21idXNfeGZlcihjbGllbnQtPmFkYXB0ZXIsIGNsaWVudC0+YWRkciwgY2xpZW50LT5mbGFncywKKwkJCQlJMkNfU01CVVNfUkVBRCwgY29tbWFuZCwKKwkJCQlJMkNfU01CVVNfV09SRF9EQVRBLCAmZGF0YSk7CisJcmV0dXJuIChzdGF0dXMgPCAwKSA/IHN0YXR1cyA6IGRhdGEud29yZDsKIH0KIEVYUE9SVF9TWU1CT0woaTJjX3NtYnVzX3JlYWRfd29yZF9kYXRhKTsKIAorLyoqCisgKiBpMmNfc21idXNfd3JpdGVfd29yZF9kYXRhIC0gU01CdXMgIndyaXRlIHdvcmQiIHByb3RvY29sCisgKiBAY2xpZW50OiBIYW5kbGUgdG8gc2xhdmUgZGV2aWNlCisgKiBAY29tbWFuZDogQnl0ZSBpbnRlcnByZXRlZCBieSBzbGF2ZQorICogQHZhbHVlOiAxNi1iaXQgIndvcmQiIGJlaW5nIHdyaXR0ZW4KKyAqCisgKiBUaGlzIGV4ZWN1dGVzIHRoZSBTTUJ1cyAid3JpdGUgd29yZCIgcHJvdG9jb2wsIHJldHVybmluZyBuZWdhdGl2ZSBlcnJubworICogZWxzZSB6ZXJvIG9uIHN1Y2Nlc3MuCisgKi8KIHMzMiBpMmNfc21idXNfd3JpdGVfd29yZF9kYXRhKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQsIHU4IGNvbW1hbmQsIHUxNiB2YWx1ZSkKIHsKIAl1bmlvbiBpMmNfc21idXNfZGF0YSBkYXRhOwpAQCAtMTM2OCwxNSArMTY2MiwxNCBAQAogRVhQT1JUX1NZTUJPTChpMmNfc21idXNfd3JpdGVfd29yZF9kYXRhKTsKIAogLyoqCi0gKiBpMmNfc21idXNfcmVhZF9ibG9ja19kYXRhIC0gU01CdXMgYmxvY2sgcmVhZCByZXF1ZXN0CisgKiBpMmNfc21idXNfcmVhZF9ibG9ja19kYXRhIC0gU01CdXMgImJsb2NrIHJlYWQiIHByb3RvY29sCiAgKiBAY2xpZW50OiBIYW5kbGUgdG8gc2xhdmUgZGV2aWNlCi0gKiBAY29tbWFuZDogQ29tbWFuZCBieXRlIGlzc3VlZCB0byBsZXQgdGhlIHNsYXZlIGtub3cgd2hhdCBkYXRhIHNob3VsZAotICoJYmUgcmV0dXJuZWQKKyAqIEBjb21tYW5kOiBCeXRlIGludGVycHJldGVkIGJ5IHNsYXZlCiAgKiBAdmFsdWVzOiBCeXRlIGFycmF5IGludG8gd2hpY2ggZGF0YSB3aWxsIGJlIHJlYWQ7IGJpZyBlbm91Z2ggdG8gaG9sZAogICoJdGhlIGRhdGEgcmV0dXJuZWQgYnkgdGhlIHNsYXZlLiAgU01CdXMgYWxsb3dzIGF0IG1vc3QgMzIgYnl0ZXMuCiAgKgotICogUmV0dXJucyB0aGUgbnVtYmVyIG9mIGJ5dGVzIHJlYWQgaW4gdGhlIHNsYXZlJ3MgcmVzcG9uc2UsIGVsc2UgYQotICogbmVnYXRpdmUgbnVtYmVyIHRvIGluZGljYXRlIHNvbWUga2luZCBvZiBlcnJvci4KKyAqIFRoaXMgZXhlY3V0ZXMgdGhlIFNNQnVzICJibG9jayByZWFkIiBwcm90b2NvbCwgcmV0dXJuaW5nIG5lZ2F0aXZlIGVycm5vCisgKiBlbHNlIHRoZSBudW1iZXIgb2YgZGF0YSBieXRlcyBpbiB0aGUgc2xhdmUncyByZXNwb25zZS4KICAqCiAgKiBOb3RlIHRoYXQgdXNpbmcgdGhpcyBmdW5jdGlvbiByZXF1aXJlcyB0aGF0IHRoZSBjbGllbnQncyBhZGFwdGVyIHN1cHBvcnQKICAqIHRoZSBJMkNfRlVOQ19TTUJVU19SRUFEX0JMT0NLX0RBVEEgZnVuY3Rpb25hbGl0eS4gIE5vdCBhbGwgYWRhcHRlciBkcml2ZXJzCkBAIC0xMzg3LDE3ICsxNjgwLDI5IEBACiAJCQkgICAgICB1OCAqdmFsdWVzKQogewogCXVuaW9uIGkyY19zbWJ1c19kYXRhIGRhdGE7CisJaW50IHN0YXR1czsKIAotCWlmIChpMmNfc21idXNfeGZlcihjbGllbnQtPmFkYXB0ZXIsIGNsaWVudC0+YWRkciwgY2xpZW50LT5mbGFncywKLQkgICAgICAgICAgICAgICAgICAgSTJDX1NNQlVTX1JFQUQsIGNvbW1hbmQsCi0JICAgICAgICAgICAgICAgICAgIEkyQ19TTUJVU19CTE9DS19EQVRBLCAmZGF0YSkpCi0JCXJldHVybiAtMTsKKwlzdGF0dXMgPSBpMmNfc21idXNfeGZlcihjbGllbnQtPmFkYXB0ZXIsIGNsaWVudC0+YWRkciwgY2xpZW50LT5mbGFncywKKwkJCQlJMkNfU01CVVNfUkVBRCwgY29tbWFuZCwKKwkJCQlJMkNfU01CVVNfQkxPQ0tfREFUQSwgJmRhdGEpOworCWlmIChzdGF0dXMpCisJCXJldHVybiBzdGF0dXM7CiAKIAltZW1jcHkodmFsdWVzLCAmZGF0YS5ibG9ja1sxXSwgZGF0YS5ibG9ja1swXSk7CiAJcmV0dXJuIGRhdGEuYmxvY2tbMF07CiB9CiBFWFBPUlRfU1lNQk9MKGkyY19zbWJ1c19yZWFkX2Jsb2NrX2RhdGEpOwogCisvKioKKyAqIGkyY19zbWJ1c193cml0ZV9ibG9ja19kYXRhIC0gU01CdXMgImJsb2NrIHdyaXRlIiBwcm90b2NvbAorICogQGNsaWVudDogSGFuZGxlIHRvIHNsYXZlIGRldmljZQorICogQGNvbW1hbmQ6IEJ5dGUgaW50ZXJwcmV0ZWQgYnkgc2xhdmUKKyAqIEBsZW5ndGg6IFNpemUgb2YgZGF0YSBibG9jazsgU01CdXMgYWxsb3dzIGF0IG1vc3QgMzIgYnl0ZXMKKyAqIEB2YWx1ZXM6IEJ5dGUgYXJyYXkgd2hpY2ggd2lsbCBiZSB3cml0dGVuLgorICoKKyAqIFRoaXMgZXhlY3V0ZXMgdGhlIFNNQnVzICJibG9jayB3cml0ZSIgcHJvdG9jb2wsIHJldHVybmluZyBuZWdhdGl2ZSBlcnJubworICogZWxzZSB6ZXJvIG9uIHN1Y2Nlc3MuCisgKi8KIHMzMiBpMmNfc21idXNfd3JpdGVfYmxvY2tfZGF0YShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50LCB1OCBjb21tYW5kLAogCQkJICAgICAgIHU4IGxlbmd0aCwgY29uc3QgdTggKnZhbHVlcykKIHsKQEAgLTE0MTgsMTQgKzE3MjMsMTYgQEAKIAkJCQkgIHU4IGxlbmd0aCwgdTggKnZhbHVlcykKIHsKIAl1bmlvbiBpMmNfc21idXNfZGF0YSBkYXRhOworCWludCBzdGF0dXM7CiAKIAlpZiAobGVuZ3RoID4gSTJDX1NNQlVTX0JMT0NLX01BWCkKIAkJbGVuZ3RoID0gSTJDX1NNQlVTX0JMT0NLX01BWDsKIAlkYXRhLmJsb2NrWzBdID0gbGVuZ3RoOwotCWlmIChpMmNfc21idXNfeGZlcihjbGllbnQtPmFkYXB0ZXIsY2xpZW50LT5hZGRyLGNsaWVudC0+ZmxhZ3MsCi0JICAgICAgICAgICAgICAgICAgICAgIEkyQ19TTUJVU19SRUFELGNvbW1hbmQsCi0JICAgICAgICAgICAgICAgICAgICAgIEkyQ19TTUJVU19JMkNfQkxPQ0tfREFUQSwmZGF0YSkpCi0JCXJldHVybiAtMTsKKwlzdGF0dXMgPSBpMmNfc21idXNfeGZlcihjbGllbnQtPmFkYXB0ZXIsIGNsaWVudC0+YWRkciwgY2xpZW50LT5mbGFncywKKwkJCQlJMkNfU01CVVNfUkVBRCwgY29tbWFuZCwKKwkJCQlJMkNfU01CVVNfSTJDX0JMT0NLX0RBVEEsICZkYXRhKTsKKwlpZiAoc3RhdHVzIDwgMCkKKwkJcmV0dXJuIHN0YXR1czsKIAogCW1lbWNweSh2YWx1ZXMsICZkYXRhLmJsb2NrWzFdLCBkYXRhLmJsb2NrWzBdKTsKIAlyZXR1cm4gZGF0YS5ibG9ja1swXTsKQEAgLTE0NjYsNiArMTc3Myw3IEBACiAJICAgICAgICAgICAgICAgICAgICAgICAgfTsKIAlpbnQgaTsKIAl1OCBwYXJ0aWFsX3BlYyA9IDA7CisJaW50IHN0YXR1czsKIAogCW1zZ2J1ZjBbMF0gPSBjb21tYW5kOwogCXN3aXRjaChzaXplKSB7CkBAIC0xNTE1LDEwICsxODIzLDEwIEBACiAJCX0gZWxzZSB7CiAJCQltc2dbMF0ubGVuID0gZGF0YS0+YmxvY2tbMF0gKyAyOwogCQkJaWYgKG1zZ1swXS5sZW4gPiBJMkNfU01CVVNfQkxPQ0tfTUFYICsgMikgewotCQkJCWRldl9lcnIoJmFkYXB0ZXItPmRldiwgInNtYnVzX2FjY2VzcyBjYWxsZWQgd2l0aCAiCi0JCQkJICAgICAgICJpbnZhbGlkIGJsb2NrIHdyaXRlIHNpemUgKCVkKVxuIiwKLQkJCQkgICAgICAgZGF0YS0+YmxvY2tbMF0pOwotCQkJCXJldHVybiAtMTsKKwkJCQlkZXZfZXJyKCZhZGFwdGVyLT5kZXYsCisJCQkJCSJJbnZhbGlkIGJsb2NrIHdyaXRlIHNpemUgJWRcbiIsCisJCQkJCWRhdGEtPmJsb2NrWzBdKTsKKwkJCQlyZXR1cm4gLUVJTlZBTDsKIAkJCX0KIAkJCWZvciAoaSA9IDE7IGkgPCBtc2dbMF0ubGVuOyBpKyspCiAJCQkJbXNnYnVmMFtpXSA9IGRhdGEtPmJsb2NrW2ktMV07CkBAIC0xNTI4LDEwICsxODM2LDEwIEBACiAJCW51bSA9IDI7IC8qIEFub3RoZXIgc3BlY2lhbCBjYXNlICovCiAJCXJlYWRfd3JpdGUgPSBJMkNfU01CVVNfUkVBRDsKIAkJaWYgKGRhdGEtPmJsb2NrWzBdID4gSTJDX1NNQlVTX0JMT0NLX01BWCkgewotCQkJZGV2X2VycigmYWRhcHRlci0+ZGV2LCAiJXMgY2FsbGVkIHdpdGggaW52YWxpZCAiCi0JCQkJImJsb2NrIHByb2MgY2FsbCBzaXplICglZClcbiIsIF9fZnVuY19fLAorCQkJZGV2X2VycigmYWRhcHRlci0+ZGV2LAorCQkJCSJJbnZhbGlkIGJsb2NrIHdyaXRlIHNpemUgJWRcbiIsCiAJCQkJZGF0YS0+YmxvY2tbMF0pOwotCQkJcmV0dXJuIC0xOworCQkJcmV0dXJuIC1FSU5WQUw7CiAJCX0KIAkJbXNnWzBdLmxlbiA9IGRhdGEtPmJsb2NrWzBdICsgMjsKIAkJZm9yIChpID0gMTsgaSA8IG1zZ1swXS5sZW47IGkrKykKQEAgLTE1NDYsMTkgKzE4NTQsMTggQEAKIAkJfSBlbHNlIHsKIAkJCW1zZ1swXS5sZW4gPSBkYXRhLT5ibG9ja1swXSArIDE7CiAJCQlpZiAobXNnWzBdLmxlbiA+IEkyQ19TTUJVU19CTE9DS19NQVggKyAxKSB7Ci0JCQkJZGV2X2VycigmYWRhcHRlci0+ZGV2LCAiaTJjX3NtYnVzX3hmZXJfZW11bGF0ZWQgY2FsbGVkIHdpdGggIgotCQkJCSAgICAgICAiaW52YWxpZCBibG9jayB3cml0ZSBzaXplICglZClcbiIsCi0JCQkJICAgICAgIGRhdGEtPmJsb2NrWzBdKTsKLQkJCQlyZXR1cm4gLTE7CisJCQkJZGV2X2VycigmYWRhcHRlci0+ZGV2LAorCQkJCQkiSW52YWxpZCBibG9jayB3cml0ZSBzaXplICVkXG4iLAorCQkJCQlkYXRhLT5ibG9ja1swXSk7CisJCQkJcmV0dXJuIC1FSU5WQUw7CiAJCQl9CiAJCQlmb3IgKGkgPSAxOyBpIDw9IGRhdGEtPmJsb2NrWzBdOyBpKyspCiAJCQkJbXNnYnVmMFtpXSA9IGRhdGEtPmJsb2NrW2ldOwogCQl9CiAJCWJyZWFrOwogCWRlZmF1bHQ6Ci0JCWRldl9lcnIoJmFkYXB0ZXItPmRldiwgInNtYnVzX2FjY2VzcyBjYWxsZWQgd2l0aCBpbnZhbGlkIHNpemUgKCVkKVxuIiwKLQkJICAgICAgIHNpemUpOwotCQlyZXR1cm4gLTE7CisJCWRldl9lcnIoJmFkYXB0ZXItPmRldiwgIlVuc3VwcG9ydGVkIHRyYW5zYWN0aW9uICVkXG4iLCBzaXplKTsKKwkJcmV0dXJuIC1FT1BOT1RTVVBQOwogCX0KIAogCWkgPSAoKGZsYWdzICYgSTJDX0NMSUVOVF9QRUMpICYmIHNpemUgIT0gSTJDX1NNQlVTX1FVSUNLCkBAIC0xNTc2LDEzICsxODgzLDE1IEBACiAJCQltc2dbbnVtLTFdLmxlbisrOwogCX0KIAotCWlmIChpMmNfdHJhbnNmZXIoYWRhcHRlciwgbXNnLCBudW0pIDwgMCkKLQkJcmV0dXJuIC0xOworCXN0YXR1cyA9IGkyY190cmFuc2ZlcihhZGFwdGVyLCBtc2csIG51bSk7CisJaWYgKHN0YXR1cyA8IDApCisJCXJldHVybiBzdGF0dXM7CiAKIAkvKiBDaGVjayBQRUMgaWYgbGFzdCBtZXNzYWdlIGlzIGEgcmVhZCAqLwogCWlmIChpICYmIChtc2dbbnVtLTFdLmZsYWdzICYgSTJDX01fUkQpKSB7Ci0JCWlmIChpMmNfc21idXNfY2hlY2tfcGVjKHBhcnRpYWxfcGVjLCAmbXNnW251bS0xXSkgPCAwKQotCQkJcmV0dXJuIC0xOworCQlzdGF0dXMgPSBpMmNfc21idXNfY2hlY2tfcGVjKHBhcnRpYWxfcGVjLCAmbXNnW251bS0xXSk7CisJCWlmIChzdGF0dXMgPCAwKQorCQkJcmV0dXJuIHN0YXR1czsKIAl9CiAKIAlpZiAocmVhZF93cml0ZSA9PSBJMkNfU01CVVNfUkVBRCkKQEAgLTE2MTAsOSArMTkxOSwyMSBAQAogCXJldHVybiAwOwogfQogCi0KKy8qKgorICogaTJjX3NtYnVzX3hmZXIgLSBleGVjdXRlIFNNQnVzIHByb3RvY29sIG9wZXJhdGlvbnMKKyAqIEBhZGFwdGVyOiBIYW5kbGUgdG8gSTJDIGJ1cworICogQGFkZHI6IEFkZHJlc3Mgb2YgU01CdXMgc2xhdmUgb24gdGhhdCBidXMKKyAqIEBmbGFnczogSTJDX0NMSUVOVF8qIGZsYWdzICh1c3VhbGx5IHplcm8gb3IgSTJDX0NMSUVOVF9QRUMpCisgKiBAcmVhZF93cml0ZTogSTJDX1NNQlVTX1JFQUQgb3IgSTJDX1NNQlVTX1dSSVRFCisgKiBAY29tbWFuZDogQnl0ZSBpbnRlcnByZXRlZCBieSBzbGF2ZSwgZm9yIHByb3RvY29scyB3aGljaCB1c2Ugc3VjaCBieXRlcworICogQHByb3RvY29sOiBTTUJ1cyBwcm90b2NvbCBvcGVyYXRpb24gdG8gZXhlY3V0ZSwgc3VjaCBhcyBJMkNfU01CVVNfUFJPQ19DQUxMCisgKiBAZGF0YTogRGF0YSB0byBiZSByZWFkIG9yIHdyaXR0ZW4KKyAqCisgKiBUaGlzIGV4ZWN1dGVzIGFuIFNNQnVzIHByb3RvY29sIG9wZXJhdGlvbiwgYW5kIHJldHVybnMgYSBuZWdhdGl2ZQorICogZXJybm8gY29kZSBlbHNlIHplcm8gb24gc3VjY2Vzcy4KKyAqLwogczMyIGkyY19zbWJ1c194ZmVyKHN0cnVjdCBpMmNfYWRhcHRlciAqIGFkYXB0ZXIsIHUxNiBhZGRyLCB1bnNpZ25lZCBzaG9ydCBmbGFncywKLSAgICAgICAgICAgICAgICAgICBjaGFyIHJlYWRfd3JpdGUsIHU4IGNvbW1hbmQsIGludCBzaXplLAorCQkgICBjaGFyIHJlYWRfd3JpdGUsIHU4IGNvbW1hbmQsIGludCBwcm90b2NvbCwKICAgICAgICAgICAgICAgICAgICB1bmlvbiBpMmNfc21idXNfZGF0YSAqIGRhdGEpCiB7CiAJczMyIHJlczsKQEAgLTE2MjIsMTEgKzE5NDMsMTEgQEAKIAlpZiAoYWRhcHRlci0+YWxnby0+c21idXNfeGZlcikgewogCQltdXRleF9sb2NrKCZhZGFwdGVyLT5idXNfbG9jayk7CiAJCXJlcyA9IGFkYXB0ZXItPmFsZ28tPnNtYnVzX3hmZXIoYWRhcHRlcixhZGRyLGZsYWdzLHJlYWRfd3JpdGUsCi0JCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tbWFuZCxzaXplLGRhdGEpOworCQkJCQkJY29tbWFuZCwgcHJvdG9jb2wsIGRhdGEpOwogCQltdXRleF91bmxvY2soJmFkYXB0ZXItPmJ1c19sb2NrKTsKIAl9IGVsc2UKIAkJcmVzID0gaTJjX3NtYnVzX3hmZXJfZW11bGF0ZWQoYWRhcHRlcixhZGRyLGZsYWdzLHJlYWRfd3JpdGUsCi0JICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21tYW5kLHNpemUsZGF0YSk7CisJCQkJCSAgICAgIGNvbW1hbmQsIHByb3RvY29sLCBkYXRhKTsKIAogCXJldHVybiByZXM7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2kyYy9pMmMtZGV2LmMgYi9kcml2ZXJzL2kyYy9pMmMtZGV2LmMKaW5kZXggZDM0YzE0Yy4uODY3MjdmYSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pMmMvaTJjLWRldi5jCisrKyBiL2RyaXZlcnMvaTJjL2kyYy1kZXYuYwpAQCAtMzQsNiArMzQsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2xpc3QuaD4KICNpbmNsdWRlIDxsaW51eC9pMmMuaD4KICNpbmNsdWRlIDxsaW51eC9pMmMtZGV2Lmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgogCiBzdGF0aWMgc3RydWN0IGkyY19kcml2ZXIgaTJjZGV2X2RyaXZlcjsKQEAgLTM2Niw4ICszNjcsNyBAQAogCXJldHVybiByZXM7CiB9CiAKLXN0YXRpYyBpbnQgaTJjZGV2X2lvY3RsKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlLAotCQl1bnNpZ25lZCBpbnQgY21kLCB1bnNpZ25lZCBsb25nIGFyZykKK3N0YXRpYyBsb25nIGkyY2Rldl9pb2N0bChzdHJ1Y3QgZmlsZSAqZmlsZSwgdW5zaWduZWQgaW50IGNtZCwgdW5zaWduZWQgbG9uZyBhcmcpCiB7CiAJc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCA9IChzdHJ1Y3QgaTJjX2NsaWVudCAqKWZpbGUtPnByaXZhdGVfZGF0YTsKIAl1bnNpZ25lZCBsb25nIGZ1bmNzOwpAQCAtNDQxLDE0ICs0NDEsMjAgQEAKIAlzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50OwogCXN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcDsKIAlzdHJ1Y3QgaTJjX2RldiAqaTJjX2RldjsKKwlpbnQgcmV0ID0gMDsKIAorCWxvY2tfa2VybmVsKCk7CiAJaTJjX2RldiA9IGkyY19kZXZfZ2V0X2J5X21pbm9yKG1pbm9yKTsKLQlpZiAoIWkyY19kZXYpCi0JCXJldHVybiAtRU5PREVWOworCWlmICghaTJjX2RldikgeworCQlyZXQgPSAtRU5PREVWOworCQlnb3RvIG91dDsKKwl9CiAKIAlhZGFwID0gaTJjX2dldF9hZGFwdGVyKGkyY19kZXYtPmFkYXAtPm5yKTsKLQlpZiAoIWFkYXApCi0JCXJldHVybiAtRU5PREVWOworCWlmICghYWRhcCkgeworCQlyZXQgPSAtRU5PREVWOworCQlnb3RvIG91dDsKKwl9CiAKIAkvKiBUaGlzIGNyZWF0ZXMgYW4gYW5vbnltb3VzIGkyY19jbGllbnQsIHdoaWNoIG1heSBsYXRlciBiZQogCSAqIHBvaW50ZWQgdG8gc29tZSBhZGRyZXNzIHVzaW5nIEkyQ19TTEFWRSBvciBJMkNfU0xBVkVfRk9SQ0UuCkBAIC00NjAsNyArNDY2LDggQEAKIAljbGllbnQgPSBremFsbG9jKHNpemVvZigqY2xpZW50KSwgR0ZQX0tFUk5FTCk7CiAJaWYgKCFjbGllbnQpIHsKIAkJaTJjX3B1dF9hZGFwdGVyKGFkYXApOwotCQlyZXR1cm4gLUVOT01FTTsKKwkJcmV0ID0gLUVOT01FTTsKKwkJZ290byBvdXQ7CiAJfQogCXNucHJpbnRmKGNsaWVudC0+bmFtZSwgSTJDX05BTUVfU0laRSwgImkyYy1kZXYgJWQiLCBhZGFwLT5ucik7CiAJY2xpZW50LT5kcml2ZXIgPSAmaTJjZGV2X2RyaXZlcjsKQEAgLTQ2OCw3ICs0NzUsOSBAQAogCWNsaWVudC0+YWRhcHRlciA9IGFkYXA7CiAJZmlsZS0+cHJpdmF0ZV9kYXRhID0gY2xpZW50OwogCi0JcmV0dXJuIDA7CitvdXQ6CisJdW5sb2NrX2tlcm5lbCgpOworCXJldHVybiByZXQ7CiB9CiAKIHN0YXRpYyBpbnQgaTJjZGV2X3JlbGVhc2Uoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCkBAIC00ODcsNyArNDk2LDcgQEAKIAkubGxzZWVrCQk9IG5vX2xsc2VlaywKIAkucmVhZAkJPSBpMmNkZXZfcmVhZCwKIAkud3JpdGUJCT0gaTJjZGV2X3dyaXRlLAotCS5pb2N0bAkJPSBpMmNkZXZfaW9jdGwsCisJLnVubG9ja2VkX2lvY3RsCT0gaTJjZGV2X2lvY3RsLAogCS5vcGVuCQk9IGkyY2Rldl9vcGVuLAogCS5yZWxlYXNlCT0gaTJjZGV2X3JlbGVhc2UsCiB9OwpAQCAtNTQ5LDE5ICs1NTgsMTIgQEAKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIGludCBpMmNkZXZfZGV0YWNoX2NsaWVudChzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQotewotCXJldHVybiAwOwotfQotCiBzdGF0aWMgc3RydWN0IGkyY19kcml2ZXIgaTJjZGV2X2RyaXZlciA9IHsKIAkuZHJpdmVyID0gewogCQkubmFtZQk9ICJkZXZfZHJpdmVyIiwKIAl9LAotCS5pZAkJPSBJMkNfRFJJVkVSSURfSTJDREVWLAogCS5hdHRhY2hfYWRhcHRlcgk9IGkyY2Rldl9hdHRhY2hfYWRhcHRlciwKIAkuZGV0YWNoX2FkYXB0ZXIJPSBpMmNkZXZfZGV0YWNoX2FkYXB0ZXIsCi0JLmRldGFjaF9jbGllbnQJPSBpMmNkZXZfZGV0YWNoX2NsaWVudCwKIH07CiAKIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvaWRlL0tjb25maWcgYi9kcml2ZXJzL2lkZS9LY29uZmlnCmluZGV4IDE2MDc1MzYuLmNmNzA3YzggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaWRlL0tjb25maWcKKysrIGIvZHJpdmVycy9pZGUvS2NvbmZpZwpAQCAtOTgsNiArOTgsOSBAQAogCiBjb21tZW50ICJQbGVhc2Ugc2VlIERvY3VtZW50YXRpb24vaWRlL2lkZS50eHQgZm9yIGhlbHAvaW5mbyBvbiBJREUgZHJpdmVzIgogCitjb25maWcgSURFX0FUQVBJCisJYm9vbAorCiBjb25maWcgQkxLX0RFVl9JREVfU0FUQQogCWJvb2wgIlN1cHBvcnQgZm9yIFNBVEEgKGRlcHJlY2F0ZWQ7IGNvbmZsaWN0cyB3aXRoIGxpYmF0YSBTQVRBIGRyaXZlcikiCiAJZGVmYXVsdCBuCkBAIC0yMDEsNiArMjA0LDcgQEAKIAogY29uZmlnIEJMS19ERVZfSURFVEFQRQogCXRyaXN0YXRlICJJbmNsdWRlIElERS9BVEFQSSBUQVBFIHN1cHBvcnQiCisJc2VsZWN0IElERV9BVEFQSQogCWhlbHAKIAkgIElmIHlvdSBoYXZlIGFuIElERSB0YXBlIGRyaXZlIHVzaW5nIHRoZSBBVEFQSSBwcm90b2NvbCwgc2F5IFkuCiAJICBBVEFQSSBpcyBhIG5ld2VyIHByb3RvY29sIHVzZWQgYnkgSURFIHRhcGUgYW5kIENELVJPTSBkcml2ZXMsCkBAIC0yMjMsNiArMjI3LDcgQEAKIAogY29uZmlnIEJMS19ERVZfSURFRkxPUFBZCiAJdHJpc3RhdGUgIkluY2x1ZGUgSURFL0FUQVBJIEZMT1BQWSBzdXBwb3J0IgorCXNlbGVjdCBJREVfQVRBUEkKIAktLS1oZWxwLS0tCiAJICBJZiB5b3UgaGF2ZSBhbiBJREUgZmxvcHB5IGRyaXZlIHdoaWNoIHVzZXMgdGhlIEFUQVBJIHByb3RvY29sLAogCSAgYW5zd2VyIFkuICBBVEFQSSBpcyBhIG5ld2VyIHByb3RvY29sIHVzZWQgYnkgSURFIENELVJPTS90YXBlL2Zsb3BweQpAQCAtMjQ2LDYgKzI1MSw3IEBACiBjb25maWcgQkxLX0RFVl9JREVTQ1NJCiAJdHJpc3RhdGUgIlNDU0kgZW11bGF0aW9uIHN1cHBvcnQiCiAJZGVwZW5kcyBvbiBTQ1NJCisJc2VsZWN0IElERV9BVEFQSQogCS0tLWhlbHAtLS0KIAkgIFdBUk5JTkc6IGlkZS1zY3NpIGlzIG5vIGxvbmdlciBuZWVkZWQgZm9yIGNkIHdyaXRpbmcgYXBwbGljYXRpb25zIQogCSAgVGhlIDIuNiBrZXJuZWwgc3VwcG9ydHMgZGlyZWN0IHdyaXRpbmcgdG8gaWRlLWNkLCB3aGljaCBlbGltaW5hdGVzCmRpZmYgLS1naXQgYS9kcml2ZXJzL2lkZS9NYWtlZmlsZSBiL2RyaXZlcnMvaWRlL01ha2VmaWxlCmluZGV4IGY5NGI2NzkuLmEyYjNmODQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaWRlL01ha2VmaWxlCisrKyBiL2RyaXZlcnMvaWRlL01ha2VmaWxlCkBAIC0xNCw2ICsxNCw3IEBACiBpZGUtY29yZS15ICs9IGlkZS5vIGlkZS1pby5vIGlkZS1pb3BzLm8gaWRlLWxpYi5vIGlkZS1wcm9iZS5vIGlkZS10YXNrZmlsZS5vCiAKICMgY29yZSBJREUgY29kZQoraWRlLWNvcmUtJChDT05GSUdfSURFX0FUQVBJKQkJKz0gaWRlLWF0YXBpLm8KIGlkZS1jb3JlLSQoQ09ORklHX0JMS19ERVZfSURFUENJKQkrPSBzZXR1cC1wY2kubwogaWRlLWNvcmUtJChDT05GSUdfQkxLX0RFVl9JREVETUEpCSs9IGlkZS1kbWEubwogaWRlLWNvcmUtJChDT05GSUdfSURFX1BST0NfRlMpCQkrPSBpZGUtcHJvYy5vCmRpZmYgLS1naXQgYS9kcml2ZXJzL2lkZS9hcm0vcGFsbV9iazM3MTAuYyBiL2RyaXZlcnMvaWRlL2FybS9wYWxtX2JrMzcxMC5jCmluZGV4IDJmMmI0ZjQuLjM4MzlmNTcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaWRlL2FybS9wYWxtX2JrMzcxMC5jCisrKyBiL2RyaXZlcnMvaWRlL2FybS9wYWxtX2JrMzcxMC5jCkBAIC04Myw3ICs4Myw3IEBACiAJezEyNSwgMTYwfSwJCS8qIFVETUEgTW9kZSAxICovCiAJezEwMCwgMTIwfSwJCS8qIFVETUEgTW9kZSAyICovCiAJezEwMCwgOTB9LAkJLyogVURNQSBNb2RlIDMgKi8KLQl7ODUsICA2MH0sCQkvKiBVRE1BIE1vZGUgNCAqLworCXsxMDAsIDYwfSwJCS8qIFVETUEgTW9kZSA0ICovCiB9OwogCiBzdGF0aWMgdm9pZCBwYWxtX2JrMzcxMF9zZXR1ZG1hbW9kZSh2b2lkIF9faW9tZW0gKmJhc2UsIHVuc2lnbmVkIGludCBkZXYsCkBAIC00MDUsNyArNDA1LDYgQEAKIAlpZGVfaW5pdF9wb3J0X2RhdGEoaHdpZiwgaSk7CiAJaWRlX2luaXRfcG9ydF9odyhod2lmLCAmaHcpOwogCi0JaHdpZi0+bW1pbyA9IDE7CiAJZGVmYXVsdF9od2lmX21taW9wcyhod2lmKTsKIAogCWlkeFswXSA9IGk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2lkZS9oODMwMC9pZGUtaDgzMDAuYyBiL2RyaXZlcnMvaWRlL2g4MzAwL2lkZS1oODMwMC5jCmluZGV4IGVjZjUzYmIuLmFlMzdlZTUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaWRlL2g4MzAwL2lkZS1oODMwMC5jCisrKyBiL2RyaXZlcnMvaWRlL2g4MzAwL2lkZS1oODMwMC5jCkBAIC01Miw4ICs1Miw2IEBACiAJaWYgKHRhc2stPnRmX2ZsYWdzICYgSURFX1RGTEFHX0ZMQUdHRUQpCiAJCUhJSEkgPSAweEZGOwogCi0JaWRlX3NldF9pcnEoZHJpdmUsIDEpOwotCiAJaWYgKHRhc2stPnRmX2ZsYWdzICYgSURFX1RGTEFHX09VVF9EQVRBKQogCQltbV9vdXR3KCh0Zi0+aG9iX2RhdGEgPDwgOCkgfCB0Zi0+ZGF0YSwgaW9fcG9ydHMtPmRhdGFfYWRkcik7CiAKQEAgLTk4LDcgKzk2LDcgQEAKIAl9CiAKIAkvKiBiZSBzdXJlIHdlJ3JlIGxvb2tpbmcgYXQgdGhlIGxvdyBvcmRlciBiaXRzICovCi0Jb3V0Yihkcml2ZS0+Y3RsICYgfjB4ODAsIGlvX3BvcnRzLT5jdGxfYWRkcik7CisJb3V0YihBVEFfREVWQ1RMX09CUyAmIH4weDgwLCBpb19wb3J0cy0+Y3RsX2FkZHIpOwogCiAJaWYgKHRhc2stPnRmX2ZsYWdzICYgSURFX1RGTEFHX0lOX05TRUNUKQogCQl0Zi0+bnNlY3QgID0gaW5iKGlvX3BvcnRzLT5uc2VjdF9hZGRyKTsKQEAgLTExMiw3ICsxMTAsNyBAQAogCQl0Zi0+ZGV2aWNlID0gaW5iKGlvX3BvcnRzLT5kZXZpY2VfYWRkcik7CiAKIAlpZiAodGFzay0+dGZfZmxhZ3MgJiBJREVfVEZMQUdfTEJBNDgpIHsKLQkJb3V0Yihkcml2ZS0+Y3RsIHwgMHg4MCwgaW9fcG9ydHMtPmN0bF9hZGRyKTsKKwkJb3V0YihBVEFfREVWQ1RMX09CUyB8IDB4ODAsIGlvX3BvcnRzLT5jdGxfYWRkcik7CiAKIAkJaWYgKHRhc2stPnRmX2ZsYWdzICYgSURFX1RGTEFHX0lOX0hPQl9GRUFUVVJFKQogCQkJdGYtPmhvYl9mZWF0dXJlID0gaW5iKGlvX3BvcnRzLT5mZWF0dXJlX2FkZHIpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pZGUvaWRlLWFjcGkuYyBiL2RyaXZlcnMvaWRlL2lkZS1hY3BpLmMKaW5kZXggOWQzNjAxZi4uNmY3MDQ2MiAxMDA2NDQKLS0tIGEvZHJpdmVycy9pZGUvaWRlLWFjcGkuYworKysgYi9kcml2ZXJzL2lkZS9pZGUtYWNwaS5jCkBAIC02MCwxNSArNjAsMTUgQEAKICNkZWZpbmUgREVCUFJJTlQoZm10LCBhcmdzLi4uKQlkbyB7fSB3aGlsZSAoMCkKICNlbmRpZgkvKiBERUJVR0dJTkcgKi8KIAotaW50IGlkZV9ub2FjcGk7CitzdGF0aWMgaW50IGlkZV9ub2FjcGk7CiBtb2R1bGVfcGFyYW1fbmFtZWQobm9hY3BpLCBpZGVfbm9hY3BpLCBib29sLCAwKTsKIE1PRFVMRV9QQVJNX0RFU0Mobm9hY3BpLCAiZGlzYWJsZSBJREUgQUNQSSBzdXBwb3J0Iik7CiAKLWludCBpZGVfYWNwaWd0ZjsKK3N0YXRpYyBpbnQgaWRlX2FjcGlndGY7CiBtb2R1bGVfcGFyYW1fbmFtZWQoYWNwaWd0ZiwgaWRlX2FjcGlndGYsIGJvb2wsIDApOwogTU9EVUxFX1BBUk1fREVTQyhhY3BpZ3RmLCAiZW5hYmxlIElERSBBQ1BJIF9HVEYgc3VwcG9ydCIpOwogCi1pbnQgaWRlX2FjcGlvbmJvb3Q7CitzdGF0aWMgaW50IGlkZV9hY3Bpb25ib290OwogbW9kdWxlX3BhcmFtX25hbWVkKGFjcGlvbmJvb3QsIGlkZV9hY3Bpb25ib290LCBib29sLCAwKTsKIE1PRFVMRV9QQVJNX0RFU0MoYWNwaW9uYm9vdCwgImNhbGwgSURFIEFDUEkgbWV0aG9kcyBvbiBib290Iik7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaWRlL2lkZS1hdGFwaS5jIGIvZHJpdmVycy9pZGUvaWRlLWF0YXBpLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjgwMjAzMQotLS0gL2Rldi9udWxsCisrKyBiL2RyaXZlcnMvaWRlL2lkZS1hdGFwaS5jCkBAIC0wLDAgKzEsMjk2IEBACisvKgorICogQVRBUEkgc3VwcG9ydC4KKyAqLworCisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KKyNpbmNsdWRlIDxsaW51eC9pZGUuaD4KKyNpbmNsdWRlIDxzY3NpL3Njc2kuaD4KKworI2lmZGVmIERFQlVHCisjZGVmaW5lIGRlYnVnX2xvZyhmbXQsIGFyZ3MuLi4pIFwKKwlwcmludGsoS0VSTl9JTkZPICJpZGU6ICIgZm10LCAjIyBhcmdzKQorI2Vsc2UKKyNkZWZpbmUgZGVidWdfbG9nKGZtdCwgYXJncy4uLikgZG8ge30gd2hpbGUgKDApCisjZW5kaWYKKworLyogVE9ETzogdW5pZnkgdGhlIGNvZGUgdGh1cyBtYWtpbmcgc29tZSBhcmd1bWVudHMgZ28gYXdheSAqLworaWRlX3N0YXJ0c3RvcF90IGlkZV9wY19pbnRyKGlkZV9kcml2ZV90ICpkcml2ZSwgc3RydWN0IGlkZV9hdGFwaV9wYyAqcGMsCisJaWRlX2hhbmRsZXJfdCAqaGFuZGxlciwgdW5zaWduZWQgaW50IHRpbWVvdXQsIGlkZV9leHBpcnlfdCAqZXhwaXJ5LAorCXZvaWQgKCp1cGRhdGVfYnVmZmVycykoaWRlX2RyaXZlX3QgKiwgc3RydWN0IGlkZV9hdGFwaV9wYyAqKSwKKwl2b2lkICgqcmV0cnlfcGMpKGlkZV9kcml2ZV90ICopLCB2b2lkICgqZHNjX2hhbmRsZSkoaWRlX2RyaXZlX3QgKiksCisJdm9pZCAoKmlvX2J1ZmZlcnMpKGlkZV9kcml2ZV90ICosIHN0cnVjdCBpZGVfYXRhcGlfcGMgKiwgdW5zaWduZWQsIGludCkpCit7CisJaWRlX2h3aWZfdCAqaHdpZiA9IGRyaXZlLT5od2lmOworCXhmZXJfZnVuY190ICp4ZmVyZnVuYzsKKwl1bnNpZ25lZCBpbnQgdGVtcDsKKwl1MTYgYmNvdW50OworCXU4IHN0YXQsIGlyZWFzb24sIHNjc2kgPSBkcml2ZS0+c2NzaTsKKworCWRlYnVnX2xvZygiRW50ZXIgJXMgLSBpbnRlcnJ1cHQgaGFuZGxlclxuIiwgX19mdW5jX18pOworCisJaWYgKHBjLT5mbGFncyAmIFBDX0ZMQUdfVElNRURPVVQpIHsKKwkJcGMtPmNhbGxiYWNrKGRyaXZlKTsKKwkJcmV0dXJuIGlkZV9zdG9wcGVkOworCX0KKworCS8qIENsZWFyIHRoZSBpbnRlcnJ1cHQgKi8KKwlzdGF0ID0gaWRlX3JlYWRfc3RhdHVzKGRyaXZlKTsKKworCWlmIChwYy0+ZmxhZ3MgJiBQQ19GTEFHX0RNQV9JTl9QUk9HUkVTUykgeworCQlpZiAoaHdpZi0+ZG1hX29wcy0+ZG1hX2VuZChkcml2ZSkgfHwKKwkJICAgIChkcml2ZS0+bWVkaWEgPT0gaWRlX3RhcGUgJiYgIXNjc2kgJiYgKHN0YXQgJiBFUlJfU1RBVCkpKSB7CisJCQlpZiAoZHJpdmUtPm1lZGlhID09IGlkZV9mbG9wcHkgJiYgIXNjc2kpCisJCQkJcHJpbnRrKEtFUk5fRVJSICIlczogRE1BICVzIGVycm9yXG4iLAorCQkJCQlkcml2ZS0+bmFtZSwgcnFfZGF0YV9kaXIocGMtPnJxKQorCQkJCQkJICAgICA/ICJ3cml0ZSIgOiAicmVhZCIpOworCQkJcGMtPmZsYWdzIHw9IFBDX0ZMQUdfRE1BX0VSUk9SOworCQl9IGVsc2UgeworCQkJcGMtPnhmZXJyZWQgPSBwYy0+cmVxX3hmZXI7CisJCQlpZiAodXBkYXRlX2J1ZmZlcnMpCisJCQkJdXBkYXRlX2J1ZmZlcnMoZHJpdmUsIHBjKTsKKwkJfQorCQlkZWJ1Z19sb2coIiVzOiBETUEgZmluaXNoZWRcbiIsIGRyaXZlLT5uYW1lKTsKKwl9CisKKwkvKiBObyBtb3JlIGludGVycnVwdHMgKi8KKwlpZiAoKHN0YXQgJiBEUlFfU1RBVCkgPT0gMCkgeworCQlkZWJ1Z19sb2coIlBhY2tldCBjb21tYW5kIGNvbXBsZXRlZCwgJWQgYnl0ZXMgdHJhbnNmZXJyZWRcbiIsCisJCQkgIHBjLT54ZmVycmVkKTsKKworCQlwYy0+ZmxhZ3MgJj0gflBDX0ZMQUdfRE1BX0lOX1BST0dSRVNTOworCisJCWxvY2FsX2lycV9lbmFibGVfaW5faGFyZGlycSgpOworCisJCWlmIChkcml2ZS0+bWVkaWEgPT0gaWRlX3RhcGUgJiYgIXNjc2kgJiYKKwkJICAgIChzdGF0ICYgRVJSX1NUQVQpICYmIHBjLT5jWzBdID09IFJFUVVFU1RfU0VOU0UpCisJCQlzdGF0ICY9IH5FUlJfU1RBVDsKKwkJaWYgKChzdGF0ICYgRVJSX1NUQVQpIHx8IChwYy0+ZmxhZ3MgJiBQQ19GTEFHX0RNQV9FUlJPUikpIHsKKwkJCS8qIEVycm9yIGRldGVjdGVkICovCisJCQlkZWJ1Z19sb2coIiVzOiBJL08gZXJyb3JcbiIsIGRyaXZlLT5uYW1lKTsKKworCQkJaWYgKGRyaXZlLT5tZWRpYSAhPSBpZGVfdGFwZSB8fCBzY3NpKSB7CisJCQkJcGMtPnJxLT5lcnJvcnMrKzsKKwkJCQlpZiAoc2NzaSkKKwkJCQkJZ290byBjbWRfZmluaXNoZWQ7CisJCQl9CisKKwkJCWlmIChwYy0+Y1swXSA9PSBSRVFVRVNUX1NFTlNFKSB7CisJCQkJcHJpbnRrKEtFUk5fRVJSICIlczogSS9PIGVycm9yIGluIHJlcXVlc3Qgc2Vuc2UiCisJCQkJCQkiIGNvbW1hbmRcbiIsIGRyaXZlLT5uYW1lKTsKKwkJCQlyZXR1cm4gaWRlX2RvX3Jlc2V0KGRyaXZlKTsKKwkJCX0KKworCQkJZGVidWdfbG9nKCJbY21kICV4XTogY2hlY2sgY29uZGl0aW9uXG4iLCBwYy0+Y1swXSk7CisKKwkJCS8qIFJldHJ5IG9wZXJhdGlvbiAqLworCQkJcmV0cnlfcGMoZHJpdmUpOworCQkJLyogcXVldWVkLCBidXQgbm90IHN0YXJ0ZWQgKi8KKwkJCXJldHVybiBpZGVfc3RvcHBlZDsKKwkJfQorY21kX2ZpbmlzaGVkOgorCQlwYy0+ZXJyb3IgPSAwOworCQlpZiAoKHBjLT5mbGFncyAmIFBDX0ZMQUdfV0FJVF9GT1JfRFNDKSAmJgorCQkgICAgKHN0YXQgJiBTRUVLX1NUQVQpID09IDApIHsKKwkJCWRzY19oYW5kbGUoZHJpdmUpOworCQkJcmV0dXJuIGlkZV9zdG9wcGVkOworCQl9CisJCS8qIENvbW1hbmQgZmluaXNoZWQgLSBDYWxsIHRoZSBjYWxsYmFjayBmdW5jdGlvbiAqLworCQlwYy0+Y2FsbGJhY2soZHJpdmUpOworCQlyZXR1cm4gaWRlX3N0b3BwZWQ7CisJfQorCisJaWYgKHBjLT5mbGFncyAmIFBDX0ZMQUdfRE1BX0lOX1BST0dSRVNTKSB7CisJCXBjLT5mbGFncyAmPSB+UENfRkxBR19ETUFfSU5fUFJPR1JFU1M7CisJCXByaW50ayhLRVJOX0VSUiAiJXM6IFRoZSBkZXZpY2Ugd2FudHMgdG8gaXNzdWUgbW9yZSBpbnRlcnJ1cHRzICIKKwkJCQkiaW4gRE1BIG1vZGVcbiIsIGRyaXZlLT5uYW1lKTsKKwkJaWRlX2RtYV9vZmYoZHJpdmUpOworCQlyZXR1cm4gaWRlX2RvX3Jlc2V0KGRyaXZlKTsKKwl9CisJLyogR2V0IHRoZSBudW1iZXIgb2YgYnl0ZXMgdG8gdHJhbnNmZXIgb24gdGhpcyBpbnRlcnJ1cHQuICovCisJYmNvdW50ID0gKGh3aWYtPklOQihod2lmLT5pb19wb3J0cy5sYmFoX2FkZHIpIDw8IDgpIHwKKwkJICBod2lmLT5JTkIoaHdpZi0+aW9fcG9ydHMubGJhbV9hZGRyKTsKKworCWlyZWFzb24gPSBod2lmLT5JTkIoaHdpZi0+aW9fcG9ydHMubnNlY3RfYWRkcik7CisKKwlpZiAoaXJlYXNvbiAmIENEKSB7CisJCXByaW50ayhLRVJOX0VSUiAiJXM6IENvRCAhPSAwIGluICVzXG4iLCBkcml2ZS0+bmFtZSwgX19mdW5jX18pOworCQlyZXR1cm4gaWRlX2RvX3Jlc2V0KGRyaXZlKTsKKwl9CisJaWYgKCgoaXJlYXNvbiAmIElPKSA9PSBJTykgPT0gISEocGMtPmZsYWdzICYgUENfRkxBR19XUklUSU5HKSkgeworCQkvKiBIb3BlZnVsbHksIHdlIHdpbGwgbmV2ZXIgZ2V0IGhlcmUgKi8KKwkJcHJpbnRrKEtFUk5fRVJSICIlczogV2Ugd2FudGVkIHRvICVzLCBidXQgdGhlIGRldmljZSB3YW50cyB1cyAiCisJCQkJInRvICVzIVxuIiwgZHJpdmUtPm5hbWUsCisJCQkJKGlyZWFzb24gJiBJTykgPyAiV3JpdGUiIDogIlJlYWQiLAorCQkJCShpcmVhc29uICYgSU8pID8gIlJlYWQiIDogIldyaXRlIik7CisJCXJldHVybiBpZGVfZG9fcmVzZXQoZHJpdmUpOworCX0KKwlpZiAoIShwYy0+ZmxhZ3MgJiBQQ19GTEFHX1dSSVRJTkcpKSB7CisJCS8qIFJlYWRpbmcgLSBDaGVjayB0aGF0IHdlIGhhdmUgZW5vdWdoIHNwYWNlICovCisJCXRlbXAgPSBwYy0+eGZlcnJlZCArIGJjb3VudDsKKwkJaWYgKHRlbXAgPiBwYy0+cmVxX3hmZXIpIHsKKwkJCWlmICh0ZW1wID4gcGMtPmJ1Zl9zaXplKSB7CisJCQkJcHJpbnRrKEtFUk5fRVJSICIlczogVGhlIGRldmljZSB3YW50cyB0byBzZW5kICIKKwkJCQkJCSJ1cyBtb3JlIGRhdGEgdGhhbiBleHBlY3RlZCAtICIKKwkJCQkJCSJkaXNjYXJkaW5nIGRhdGFcbiIsCisJCQkJCQlkcml2ZS0+bmFtZSk7CisJCQkJaWYgKHNjc2kpCisJCQkJCXRlbXAgPSBwYy0+YnVmX3NpemUgLSBwYy0+eGZlcnJlZDsKKwkJCQllbHNlCisJCQkJCXRlbXAgPSAwOworCQkJCWlmICh0ZW1wKSB7CisJCQkJCWlmIChwYy0+c2cpCisJCQkJCQlpb19idWZmZXJzKGRyaXZlLCBwYywgdGVtcCwgMCk7CisJCQkJCWVsc2UKKwkJCQkJCWh3aWYtPmlucHV0X2RhdGEoZHJpdmUsIE5VTEwsCisJCQkJCQkJcGMtPmN1cl9wb3MsIHRlbXApOworCQkJCQlwcmludGsoS0VSTl9FUlIgIiVzOiB0cmFuc2ZlcnJlZCAlZCBvZiAiCisJCQkJCQkJIiVkIGJ5dGVzXG4iLAorCQkJCQkJCWRyaXZlLT5uYW1lLAorCQkJCQkJCXRlbXAsIGJjb3VudCk7CisJCQkJfQorCQkJCXBjLT54ZmVycmVkICs9IHRlbXA7CisJCQkJcGMtPmN1cl9wb3MgKz0gdGVtcDsKKwkJCQlpZGVfcGFkX3RyYW5zZmVyKGRyaXZlLCAwLCBiY291bnQgLSB0ZW1wKTsKKwkJCQlpZGVfc2V0X2hhbmRsZXIoZHJpdmUsIGhhbmRsZXIsIHRpbWVvdXQsCisJCQkJCQlleHBpcnkpOworCQkJCXJldHVybiBpZGVfc3RhcnRlZDsKKwkJCX0KKwkJCWRlYnVnX2xvZygiVGhlIGRldmljZSB3YW50cyB0byBzZW5kIHVzIG1vcmUgZGF0YSB0aGFuICIKKwkJCQkgICJleHBlY3RlZCAtIGFsbG93aW5nIHRyYW5zZmVyXG4iKTsKKwkJfQorCQl4ZmVyZnVuYyA9IGh3aWYtPmlucHV0X2RhdGE7CisJfSBlbHNlCisJCXhmZXJmdW5jID0gaHdpZi0+b3V0cHV0X2RhdGE7CisKKwlpZiAoKGRyaXZlLT5tZWRpYSA9PSBpZGVfZmxvcHB5ICYmICFzY3NpICYmICFwYy0+YnVmKSB8fAorCSAgICAoZHJpdmUtPm1lZGlhID09IGlkZV90YXBlICYmICFzY3NpICYmIHBjLT5iaCkgfHwKKwkgICAgKHNjc2kgJiYgcGMtPnNnKSkKKwkJaW9fYnVmZmVycyhkcml2ZSwgcGMsIGJjb3VudCwgISEocGMtPmZsYWdzICYgUENfRkxBR19XUklUSU5HKSk7CisJZWxzZQorCQl4ZmVyZnVuYyhkcml2ZSwgTlVMTCwgcGMtPmN1cl9wb3MsIGJjb3VudCk7CisKKwkvKiBVcGRhdGUgdGhlIGN1cnJlbnQgcG9zaXRpb24gKi8KKwlwYy0+eGZlcnJlZCArPSBiY291bnQ7CisJcGMtPmN1cl9wb3MgKz0gYmNvdW50OworCisJZGVidWdfbG9nKCJbY21kICV4XSB0cmFuc2ZlcnJlZCAlZCBieXRlcyBvbiB0aGF0IGludHIuXG4iLAorCQkgIHBjLT5jWzBdLCBiY291bnQpOworCisJLyogQW5kIHNldCB0aGUgaW50ZXJydXB0IGhhbmRsZXIgYWdhaW4gKi8KKwlpZGVfc2V0X2hhbmRsZXIoZHJpdmUsIGhhbmRsZXIsIHRpbWVvdXQsIGV4cGlyeSk7CisJcmV0dXJuIGlkZV9zdGFydGVkOworfQorRVhQT1JUX1NZTUJPTF9HUEwoaWRlX3BjX2ludHIpOworCitzdGF0aWMgdTggaWRlX3dhaXRfaXJlYXNvbihpZGVfZHJpdmVfdCAqZHJpdmUsIHU4IGlyZWFzb24pCit7CisJaWRlX2h3aWZfdCAqaHdpZiA9IGRyaXZlLT5od2lmOworCWludCByZXRyaWVzID0gMTAwOworCisJd2hpbGUgKHJldHJpZXMtLSAmJiAoKGlyZWFzb24gJiBDRCkgPT0gMCB8fCAoaXJlYXNvbiAmIElPKSkpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICIlczogKElPLENvRCAhPSAoMCwxKSB3aGlsZSBpc3N1aW5nICIKKwkJCQkiYSBwYWNrZXQgY29tbWFuZCwgcmV0cnlpbmdcbiIsIGRyaXZlLT5uYW1lKTsKKwkJdWRlbGF5KDEwMCk7CisJCWlyZWFzb24gPSBod2lmLT5JTkIoaHdpZi0+aW9fcG9ydHMubnNlY3RfYWRkcik7CisJCWlmIChyZXRyaWVzID09IDApIHsKKwkJCXByaW50ayhLRVJOX0VSUiAiJXM6IChJTyxDb0QgIT0gKDAsMSkgd2hpbGUgaXNzdWluZyAiCisJCQkJCSJhIHBhY2tldCBjb21tYW5kLCBpZ25vcmluZ1xuIiwKKwkJCQkJZHJpdmUtPm5hbWUpOworCQkJaXJlYXNvbiB8PSBDRDsKKwkJCWlyZWFzb24gJj0gfklPOworCQl9CisJfQorCisJcmV0dXJuIGlyZWFzb247Cit9CisKK2lkZV9zdGFydHN0b3BfdCBpZGVfdHJhbnNmZXJfcGMoaWRlX2RyaXZlX3QgKmRyaXZlLCBzdHJ1Y3QgaWRlX2F0YXBpX3BjICpwYywKKwkJCQlpZGVfaGFuZGxlcl90ICpoYW5kbGVyLCB1bnNpZ25lZCBpbnQgdGltZW91dCwKKwkJCQlpZGVfZXhwaXJ5X3QgKmV4cGlyeSkKK3sKKwlpZGVfaHdpZl90ICpod2lmID0gZHJpdmUtPmh3aWY7CisJaWRlX3N0YXJ0c3RvcF90IHN0YXJ0c3RvcDsKKwl1OCBpcmVhc29uOworCisJaWYgKGlkZV93YWl0X3N0YXQoJnN0YXJ0c3RvcCwgZHJpdmUsIERSUV9TVEFULCBCVVNZX1NUQVQsIFdBSVRfUkVBRFkpKSB7CisJCXByaW50ayhLRVJOX0VSUiAiJXM6IFN0cmFuZ2UsIHBhY2tldCBjb21tYW5kIGluaXRpYXRlZCB5ZXQgIgorCQkJCSJEUlEgaXNuJ3QgYXNzZXJ0ZWRcbiIsIGRyaXZlLT5uYW1lKTsKKwkJcmV0dXJuIHN0YXJ0c3RvcDsKKwl9CisKKwlpcmVhc29uID0gaHdpZi0+SU5CKGh3aWYtPmlvX3BvcnRzLm5zZWN0X2FkZHIpOworCWlmIChkcml2ZS0+bWVkaWEgPT0gaWRlX3RhcGUgJiYgIWRyaXZlLT5zY3NpKQorCQlpcmVhc29uID0gaWRlX3dhaXRfaXJlYXNvbihkcml2ZSwgaXJlYXNvbik7CisKKwlpZiAoKGlyZWFzb24gJiBDRCkgPT0gMCB8fCAoaXJlYXNvbiAmIElPKSkgeworCQlwcmludGsoS0VSTl9FUlIgIiVzOiAoSU8sQ29EKSAhPSAoMCwxKSB3aGlsZSBpc3N1aW5nICIKKwkJCQkiYSBwYWNrZXQgY29tbWFuZFxuIiwgZHJpdmUtPm5hbWUpOworCQlyZXR1cm4gaWRlX2RvX3Jlc2V0KGRyaXZlKTsKKwl9CisKKwkvKiBTZXQgdGhlIGludGVycnVwdCByb3V0aW5lICovCisJaWRlX3NldF9oYW5kbGVyKGRyaXZlLCBoYW5kbGVyLCB0aW1lb3V0LCBleHBpcnkpOworCisJLyogQmVnaW4gRE1BLCBpZiBuZWNlc3NhcnkgKi8KKwlpZiAocGMtPmZsYWdzICYgUENfRkxBR19ETUFfT0spIHsKKwkJcGMtPmZsYWdzIHw9IFBDX0ZMQUdfRE1BX0lOX1BST0dSRVNTOworCQlod2lmLT5kbWFfb3BzLT5kbWFfc3RhcnQoZHJpdmUpOworCX0KKworCS8qIFNlbmQgdGhlIGFjdHVhbCBwYWNrZXQgKi8KKwlpZiAoKHBjLT5mbGFncyAmIFBDX0ZMQUdfWklQX0RSSVZFKSA9PSAwKQorCQlod2lmLT5vdXRwdXRfZGF0YShkcml2ZSwgTlVMTCwgcGMtPmMsIDEyKTsKKworCXJldHVybiBpZGVfc3RhcnRlZDsKK30KK0VYUE9SVF9TWU1CT0xfR1BMKGlkZV90cmFuc2Zlcl9wYyk7CisKK2lkZV9zdGFydHN0b3BfdCBpZGVfaXNzdWVfcGMoaWRlX2RyaXZlX3QgKmRyaXZlLCBzdHJ1Y3QgaWRlX2F0YXBpX3BjICpwYywKKwkJCSAgICAgaWRlX2hhbmRsZXJfdCAqaGFuZGxlciwgdW5zaWduZWQgaW50IHRpbWVvdXQsCisJCQkgICAgIGlkZV9leHBpcnlfdCAqZXhwaXJ5KQoreworCWlkZV9od2lmX3QgKmh3aWYgPSBkcml2ZS0+aHdpZjsKKwl1MTYgYmNvdW50OworCXU4IGRtYSA9IDA7CisKKwkvKiBXZSBoYXZlbid0IHRyYW5zZmVycmVkIGFueSBkYXRhIHlldCAqLworCXBjLT54ZmVycmVkID0gMDsKKwlwYy0+Y3VyX3BvcyA9IHBjLT5idWY7CisKKwkvKiBSZXF1ZXN0IHRvIHRyYW5zZmVyIHRoZSBlbnRpcmUgYnVmZmVyIGF0IG9uY2UgKi8KKwlpZiAoZHJpdmUtPm1lZGlhID09IGlkZV90YXBlICYmICFkcml2ZS0+c2NzaSkKKwkJYmNvdW50ID0gcGMtPnJlcV94ZmVyOworCWVsc2UKKwkJYmNvdW50ID0gbWluKHBjLT5yZXFfeGZlciwgNjMgKiAxMDI0KTsKKworCWlmIChwYy0+ZmxhZ3MgJiBQQ19GTEFHX0RNQV9FUlJPUikgeworCQlwYy0+ZmxhZ3MgJj0gflBDX0ZMQUdfRE1BX0VSUk9SOworCQlpZGVfZG1hX29mZihkcml2ZSk7CisJfQorCisJaWYgKChwYy0+ZmxhZ3MgJiBQQ19GTEFHX0RNQV9PSykgJiYgZHJpdmUtPnVzaW5nX2RtYSkgeworCQlpZiAoZHJpdmUtPnNjc2kpCisJCQlod2lmLT5zZ19tYXBwZWQgPSAxOworCQlkbWEgPSAhaHdpZi0+ZG1hX29wcy0+ZG1hX3NldHVwKGRyaXZlKTsKKwkJaWYgKGRyaXZlLT5zY3NpKQorCQkJaHdpZi0+c2dfbWFwcGVkID0gMDsKKwl9CisKKwlpZiAoIWRtYSkKKwkJcGMtPmZsYWdzICY9IH5QQ19GTEFHX0RNQV9PSzsKKworCWlkZV9wa3RjbWRfdGZfbG9hZChkcml2ZSwgZHJpdmUtPnNjc2kgPyAwIDogSURFX1RGTEFHX09VVF9ERVZJQ0UsCisJCQkgICBiY291bnQsIGRtYSk7CisKKwkvKiBJc3N1ZSB0aGUgcGFja2V0IGNvbW1hbmQgKi8KKwlpZiAocGMtPmZsYWdzICYgUENfRkxBR19EUlFfSU5URVJSVVBUKSB7CisJCWlkZV9leGVjdXRlX2NvbW1hbmQoZHJpdmUsIFdJTl9QQUNLRVRDTUQsIGhhbmRsZXIsCisJCQkJICAgIHRpbWVvdXQsIE5VTEwpOworCQlyZXR1cm4gaWRlX3N0YXJ0ZWQ7CisJfSBlbHNlIHsKKwkJaWRlX2V4ZWN1dGVfcGt0X2NtZChkcml2ZSk7CisJCXJldHVybiAoKmhhbmRsZXIpKGRyaXZlKTsKKwl9Cit9CitFWFBPUlRfU1lNQk9MX0dQTChpZGVfaXNzdWVfcGMpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pZGUvaWRlLWNkLmMgYi9kcml2ZXJzL2lkZS9pZGUtY2QuYwppbmRleCA2OGU3ZjE5Li5kOTk4NDcxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2lkZS9pZGUtY2QuYworKysgYi9kcml2ZXJzL2lkZS9pZGUtY2QuYwpAQCAtMTg4LDE2ICsxODgsNiBAQAogCWlkZV9jZF9sb2dfZXJyb3IoZHJpdmUtPm5hbWUsIGZhaWxlZF9jb21tYW5kLCBzZW5zZSk7CiB9CiAKLS8qIEluaXRpYWxpemUgYSBpZGUtY2QgcGFja2V0IGNvbW1hbmQgcmVxdWVzdCAqLwotdm9pZCBpZGVfY2RfaW5pdF9ycShpZGVfZHJpdmVfdCAqZHJpdmUsIHN0cnVjdCByZXF1ZXN0ICpycSkKLXsKLQlzdHJ1Y3QgY2Ryb21faW5mbyAqY2QgPSBkcml2ZS0+ZHJpdmVyX2RhdGE7Ci0KLQlpZGVfaW5pdF9kcml2ZV9jbWQocnEpOwotCXJxLT5jbWRfdHlwZSA9IFJFUV9UWVBFX0FUQV9QQzsKLQlycS0+cnFfZGlzayA9IGNkLT5kaXNrOwotfQotCiBzdGF0aWMgdm9pZCBjZHJvbV9xdWV1ZV9yZXF1ZXN0X3NlbnNlKGlkZV9kcml2ZV90ICpkcml2ZSwgdm9pZCAqc2Vuc2UsCiAJCQkJICAgICAgc3RydWN0IHJlcXVlc3QgKmZhaWxlZF9jb21tYW5kKQogewpAQCAtMjA4LDcgKzE5OCw5IEBACiAJCXNlbnNlID0gJmluZm8tPnNlbnNlX2RhdGE7CiAKIAkvKiBzdHVmZiB0aGUgc2Vuc2UgcmVxdWVzdCBpbiBmcm9udCBvZiBvdXIgY3VycmVudCByZXF1ZXN0ICovCi0JaWRlX2NkX2luaXRfcnEoZHJpdmUsIHJxKTsKKwlibGtfcnFfaW5pdChOVUxMLCBycSk7CisJcnEtPmNtZF90eXBlID0gUkVRX1RZUEVfQVRBX1BDOworCXJxLT5ycV9kaXNrID0gaW5mby0+ZGlzazsKIAogCXJxLT5kYXRhID0gc2Vuc2U7CiAJcnEtPmNtZFswXSA9IEdQQ01EX1JFUVVFU1RfU0VOU0U7CkBAIC0yMTYsMTEgKzIwOCwxMiBAQAogCXJxLT5kYXRhX2xlbiA9IDE4OwogCiAJcnEtPmNtZF90eXBlID0gUkVRX1RZUEVfU0VOU0U7CisJcnEtPmNtZF9mbGFncyB8PSBSRVFfUFJFRU1QVDsKIAogCS8qIE5PVEUhIFNhdmUgdGhlIGZhaWxlZCBjb21tYW5kIGluICJycS0+YnVmZmVyIiAqLwogCXJxLT5idWZmZXIgPSAodm9pZCAqKSBmYWlsZWRfY29tbWFuZDsKIAotCSh2b2lkKSBpZGVfZG9fZHJpdmVfY21kKGRyaXZlLCBycSwgaWRlX3ByZWVtcHQpOworCWlkZV9kb19kcml2ZV9jbWQoZHJpdmUsIHJxKTsKIH0KIAogc3RhdGljIHZvaWQgY2Ryb21fZW5kX3JlcXVlc3QoaWRlX2RyaXZlX3QgKmRyaXZlLCBpbnQgdXB0b2RhdGUpCkBAIC01MzcsOCArNTMwLDggQEAKIAkJaW5mby0+ZG1hID0gIWh3aWYtPmRtYV9vcHMtPmRtYV9zZXR1cChkcml2ZSk7CiAKIAkvKiBzZXQgdXAgdGhlIGNvbnRyb2xsZXIgcmVnaXN0ZXJzICovCi0JaWRlX3BrdGNtZF90Zl9sb2FkKGRyaXZlLCBJREVfVEZMQUdfT1VUX05TRUNUIHwgSURFX1RGTEFHX09VVF9MQkFMIHwKLQkJCSAgIElERV9URkxBR19OT19TRUxFQ1RfTUFTSywgeGZlcmxlbiwgaW5mby0+ZG1hKTsKKwlpZGVfcGt0Y21kX3RmX2xvYWQoZHJpdmUsIElERV9URkxBR19PVVRfTlNFQ1QgfCBJREVfVEZMQUdfT1VUX0xCQUwsCisJCQkgICB4ZmVybGVuLCBpbmZvLT5kbWEpOwogCiAJaWYgKGluZm8tPmNkX2ZsYWdzICYgSURFX0NEX0ZMQUdfRFJRX0lOVEVSUlVQVCkgewogCQkvKiB3YWl0aW5nIGZvciBDREIgaW50ZXJydXB0LCBub3QgRE1BIHlldC4gKi8KQEAgLTgzOCwzNCArODMxLDU0IEBACiAJCX0KIH0KIAotaW50IGlkZV9jZF9xdWV1ZV9wYyhpZGVfZHJpdmVfdCAqZHJpdmUsIHN0cnVjdCByZXF1ZXN0ICpycSkKK2ludCBpZGVfY2RfcXVldWVfcGMoaWRlX2RyaXZlX3QgKmRyaXZlLCBjb25zdCB1bnNpZ25lZCBjaGFyICpjbWQsCisJCSAgICBpbnQgd3JpdGUsIHZvaWQgKmJ1ZmZlciwgdW5zaWduZWQgKmJ1ZmZsZW4sCisJCSAgICBzdHJ1Y3QgcmVxdWVzdF9zZW5zZSAqc2Vuc2UsIGludCB0aW1lb3V0LAorCQkgICAgdW5zaWduZWQgaW50IGNtZF9mbGFncykKIHsKLQlzdHJ1Y3QgcmVxdWVzdF9zZW5zZSBzZW5zZTsKKwlzdHJ1Y3QgY2Ryb21faW5mbyAqaW5mbyA9IGRyaXZlLT5kcml2ZXJfZGF0YTsKKwlzdHJ1Y3QgcmVxdWVzdF9zZW5zZSBsb2NhbF9zZW5zZTsKIAlpbnQgcmV0cmllcyA9IDEwOwotCXVuc2lnbmVkIGludCBmbGFncyA9IHJxLT5jbWRfZmxhZ3M7CisJdW5zaWduZWQgaW50IGZsYWdzID0gMDsKIAotCWlmIChycS0+c2Vuc2UgPT0gTlVMTCkKLQkJcnEtPnNlbnNlID0gJnNlbnNlOworCWlmICghc2Vuc2UpCisJCXNlbnNlID0gJmxvY2FsX3NlbnNlOwogCiAJLyogc3RhcnQgb2YgcmV0cnkgbG9vcCAqLwogCWRvIHsKKwkJc3RydWN0IHJlcXVlc3QgKnJxOwogCQlpbnQgZXJyb3I7Ci0JCXVuc2lnbmVkIGxvbmcgdGltZSA9IGppZmZpZXM7Ci0JCXJxLT5jbWRfZmxhZ3MgPSBmbGFnczsKIAotCQllcnJvciA9IGlkZV9kb19kcml2ZV9jbWQoZHJpdmUsIHJxLCBpZGVfd2FpdCk7Ci0JCXRpbWUgPSBqaWZmaWVzIC0gdGltZTsKKwkJcnEgPSBibGtfZ2V0X3JlcXVlc3QoZHJpdmUtPnF1ZXVlLCB3cml0ZSwgX19HRlBfV0FJVCk7CisKKwkJbWVtY3B5KHJxLT5jbWQsIGNtZCwgQkxLX01BWF9DREIpOworCQlycS0+Y21kX3R5cGUgPSBSRVFfVFlQRV9BVEFfUEM7CisJCXJxLT5zZW5zZSA9IHNlbnNlOworCQlycS0+Y21kX2ZsYWdzIHw9IGNtZF9mbGFnczsKKwkJcnEtPnRpbWVvdXQgPSB0aW1lb3V0OworCQlpZiAoYnVmZmVyKSB7CisJCQlycS0+ZGF0YSA9IGJ1ZmZlcjsKKwkJCXJxLT5kYXRhX2xlbiA9ICpidWZmbGVuOworCQl9CisKKwkJZXJyb3IgPSBibGtfZXhlY3V0ZV9ycShkcml2ZS0+cXVldWUsIGluZm8tPmRpc2ssIHJxLCAwKTsKKworCQlpZiAoYnVmZmVyKQorCQkJKmJ1ZmZsZW4gPSBycS0+ZGF0YV9sZW47CisKKwkJZmxhZ3MgPSBycS0+Y21kX2ZsYWdzOworCQlibGtfcHV0X3JlcXVlc3QocnEpOwogCiAJCS8qCiAJCSAqIEZJWE1FOiB3ZSBzaG91bGQgcHJvYmFibHkgYWJvcnQvcmV0cnkgb3Igc29tZXRoaW5nIGluIGNhc2Ugb2YKIAkJICogZmFpbHVyZS4KIAkJICovCi0JCWlmIChycS0+Y21kX2ZsYWdzICYgUkVRX0ZBSUxFRCkgeworCQlpZiAoZmxhZ3MgJiBSRVFfRkFJTEVEKSB7CiAJCQkvKgogCQkJICogVGhlIHJlcXVlc3QgZmFpbGVkLiAgUmV0cnkgaWYgaXQgd2FzIGR1ZSB0byBhIHVuaXQKIAkJCSAqIGF0dGVudGlvbiBzdGF0dXMgKHVzdWFsbHkgbWVhbnMgbWVkaWEgd2FzIGNoYW5nZWQpLgogCQkJICovCi0JCQlzdHJ1Y3QgcmVxdWVzdF9zZW5zZSAqcmVxYnVmID0gcnEtPnNlbnNlOworCQkJc3RydWN0IHJlcXVlc3Rfc2Vuc2UgKnJlcWJ1ZiA9IHNlbnNlOwogCiAJCQlpZiAocmVxYnVmLT5zZW5zZV9rZXkgPT0gVU5JVF9BVFRFTlRJT04pCiAJCQkJY2Ryb21fc2F3X21lZGlhX2NoYW5nZShkcml2ZSk7CkBAIC04ODUsMTAgKzg5OCwxMCBAQAogCQl9CiAKIAkJLyogZW5kIG9mIHJldHJ5IGxvb3AgKi8KLQl9IHdoaWxlICgocnEtPmNtZF9mbGFncyAmIFJFUV9GQUlMRUQpICYmIHJldHJpZXMgPj0gMCk7CisJfSB3aGlsZSAoKGZsYWdzICYgUkVRX0ZBSUxFRCkgJiYgcmV0cmllcyA+PSAwKTsKIAogCS8qIHJldHVybiBhbiBlcnJvciBpZiB0aGUgY29tbWFuZCBmYWlsZWQgKi8KLQlyZXR1cm4gKHJxLT5jbWRfZmxhZ3MgJiBSRVFfRkFJTEVEKSA/IC1FSU8gOiAwOworCXJldHVybiAoZmxhZ3MgJiBSRVFfRkFJTEVEKSA/IC1FSU8gOiAwOwogfQogCiAvKgpAQCAtMTI2OCwyMyArMTI4MSwyMCBAQAogCiBpbnQgY2Ryb21fY2hlY2tfc3RhdHVzKGlkZV9kcml2ZV90ICpkcml2ZSwgc3RydWN0IHJlcXVlc3Rfc2Vuc2UgKnNlbnNlKQogewotCXN0cnVjdCByZXF1ZXN0IHJlcTsKIAlzdHJ1Y3QgY2Ryb21faW5mbyAqaW5mbyA9IGRyaXZlLT5kcml2ZXJfZGF0YTsKIAlzdHJ1Y3QgY2Ryb21fZGV2aWNlX2luZm8gKmNkaSA9ICZpbmZvLT5kZXZpbmZvOworCXVuc2lnbmVkIGNoYXIgY21kW0JMS19NQVhfQ0RCXTsKIAotCWlkZV9jZF9pbml0X3JxKGRyaXZlLCAmcmVxKTsKLQotCXJlcS5zZW5zZSA9IHNlbnNlOwotCXJlcS5jbWRbMF0gPSBHUENNRF9URVNUX1VOSVRfUkVBRFk7Ci0JcmVxLmNtZF9mbGFncyB8PSBSRVFfUVVJRVQ7CisJbWVtc2V0KGNtZCwgMCwgQkxLX01BWF9DREIpOworCWNtZFswXSA9IEdQQ01EX1RFU1RfVU5JVF9SRUFEWTsKIAogCS8qCiAJICogU2FueW8gMyBDRCBjaGFuZ2VyIHVzZXMgYnl0ZSA3IG9mIFRFU1RfVU5JVF9SRUFEWSB0byBzd2l0Y2ggQ0RzCiAJICogaW5zdGVhZCBvZiBzdXBwb3J0aW5nIHRoZSBMT0FEX1VOTE9BRCBvcGNvZGUuCiAJICovCi0JcmVxLmNtZFs3XSA9IGNkaS0+c2FueW9fc2xvdCAlIDM7CisJY21kWzddID0gY2RpLT5zYW55b19zbG90ICUgMzsKIAotCXJldHVybiBpZGVfY2RfcXVldWVfcGMoZHJpdmUsICZyZXEpOworCXJldHVybiBpZGVfY2RfcXVldWVfcGMoZHJpdmUsIGNtZCwgMCwgTlVMTCwgMCwgc2Vuc2UsIDAsIFJFUV9RVUlFVCk7CiB9CiAKIHN0YXRpYyBpbnQgY2Ryb21fcmVhZF9jYXBhY2l0eShpZGVfZHJpdmVfdCAqZHJpdmUsIHVuc2lnbmVkIGxvbmcgKmNhcGFjaXR5LApAQCAtMTI5NywxNyArMTMwNywxNCBAQAogCX0gY2FwYnVmOwogCiAJaW50IHN0YXQ7Ci0Jc3RydWN0IHJlcXVlc3QgcmVxOworCXVuc2lnbmVkIGNoYXIgY21kW0JMS19NQVhfQ0RCXTsKKwl1bnNpZ25lZCBsZW4gPSBzaXplb2YoY2FwYnVmKTsKIAotCWlkZV9jZF9pbml0X3JxKGRyaXZlLCAmcmVxKTsKKwltZW1zZXQoY21kLCAwLCBCTEtfTUFYX0NEQik7CisJY21kWzBdID0gR1BDTURfUkVBRF9DRFZEX0NBUEFDSVRZOwogCi0JcmVxLnNlbnNlID0gc2Vuc2U7Ci0JcmVxLmNtZFswXSA9IEdQQ01EX1JFQURfQ0RWRF9DQVBBQ0lUWTsKLQlyZXEuZGF0YSA9IChjaGFyICopJmNhcGJ1ZjsKLQlyZXEuZGF0YV9sZW4gPSBzaXplb2YoY2FwYnVmKTsKLQlyZXEuY21kX2ZsYWdzIHw9IFJFUV9RVUlFVDsKLQotCXN0YXQgPSBpZGVfY2RfcXVldWVfcGMoZHJpdmUsICZyZXEpOworCXN0YXQgPSBpZGVfY2RfcXVldWVfcGMoZHJpdmUsIGNtZCwgMCwgJmNhcGJ1ZiwgJmxlbiwgc2Vuc2UsIDAsCisJCQkgICAgICAgUkVRX1FVSUVUKTsKIAlpZiAoc3RhdCA9PSAwKSB7CiAJCSpjYXBhY2l0eSA9IDEgKyBiZTMyX3RvX2NwdShjYXBidWYubGJhKTsKIAkJKnNlY3RvcnNfcGVyX2ZyYW1lID0KQEAgLTEzMjEsMjQgKzEzMjgsMjAgQEAKIAkJCQlpbnQgZm9ybWF0LCBjaGFyICpidWYsIGludCBidWZsZW4sCiAJCQkJc3RydWN0IHJlcXVlc3Rfc2Vuc2UgKnNlbnNlKQogewotCXN0cnVjdCByZXF1ZXN0IHJlcTsKKwl1bnNpZ25lZCBjaGFyIGNtZFtCTEtfTUFYX0NEQl07CiAKLQlpZGVfY2RfaW5pdF9ycShkcml2ZSwgJnJlcSk7CisJbWVtc2V0KGNtZCwgMCwgQkxLX01BWF9DREIpOwogCi0JcmVxLnNlbnNlID0gc2Vuc2U7Ci0JcmVxLmRhdGEgPSAgYnVmOwotCXJlcS5kYXRhX2xlbiA9IGJ1ZmxlbjsKLQlyZXEuY21kX2ZsYWdzIHw9IFJFUV9RVUlFVDsKLQlyZXEuY21kWzBdID0gR1BDTURfUkVBRF9UT0NfUE1BX0FUSVA7Ci0JcmVxLmNtZFs2XSA9IHRyYWNrbm87Ci0JcmVxLmNtZFs3XSA9IChidWZsZW4gPj4gOCk7Ci0JcmVxLmNtZFs4XSA9IChidWZsZW4gJiAweGZmKTsKLQlyZXEuY21kWzldID0gKGZvcm1hdCA8PCA2KTsKKwljbWRbMF0gPSBHUENNRF9SRUFEX1RPQ19QTUFfQVRJUDsKKwljbWRbNl0gPSB0cmFja25vOworCWNtZFs3XSA9IChidWZsZW4gPj4gOCk7CisJY21kWzhdID0gKGJ1ZmxlbiAmIDB4ZmYpOworCWNtZFs5XSA9IChmb3JtYXQgPDwgNik7CiAKIAlpZiAobXNmX2ZsYWcpCi0JCXJlcS5jbWRbMV0gPSAyOworCQljbWRbMV0gPSAyOwogCi0JcmV0dXJuIGlkZV9jZF9xdWV1ZV9wYyhkcml2ZSwgJnJlcSk7CisJcmV0dXJuIGlkZV9jZF9xdWV1ZV9wYyhkcml2ZSwgY21kLCAwLCBidWYsICZidWZsZW4sIHNlbnNlLCAwLCBSRVFfUVVJRVQpOwogfQogCiAvKiBUcnkgdG8gcmVhZCB0aGUgZW50aXJlIFRPQyBmb3IgdGhlIGRpc2sgaW50byBvdXIgaW50ZXJuYWwgYnVmZmVyLiAqLwpAQCAtMjEwMywxMSArMjEwNiw2IEBACiAJCQlnb3RvIGZhaWxlZDsKIAkJfQogCX0KLQlpZiAoZHJpdmUtPnNjc2kpIHsKLQkJcHJpbnRrKEtFUk5fSU5GTyAiaWRlLWNkOiBwYXNzaW5nIGRyaXZlICVzIHRvIGlkZS1zY3NpICIKLQkJCQkgImVtdWxhdGlvbi5cbiIsIGRyaXZlLT5uYW1lKTsKLQkJZ290byBmYWlsZWQ7Ci0JfQogCWluZm8gPSBremFsbG9jKHNpemVvZihzdHJ1Y3QgY2Ryb21faW5mbyksIEdGUF9LRVJORUwpOwogCWlmIChpbmZvID09IE5VTEwpIHsKIAkJcHJpbnRrKEtFUk5fRVJSICIlczogQ2FuJ3QgYWxsb2NhdGUgYSBjZHJvbSBzdHJ1Y3R1cmVcbiIsCmRpZmYgLS1naXQgYS9kcml2ZXJzL2lkZS9pZGUtY2QuaCBiL2RyaXZlcnMvaWRlL2lkZS1jZC5oCmluZGV4IGE1ODgwMWMuLmZlMGVhMzYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaWRlL2lkZS1jZC5oCisrKyBiL2RyaXZlcnMvaWRlL2lkZS1jZC5oCkBAIC0xNDMsOCArMTQzLDggQEAKIHZvaWQgaWRlX2NkX2xvZ19lcnJvcihjb25zdCBjaGFyICosIHN0cnVjdCByZXF1ZXN0ICosIHN0cnVjdCByZXF1ZXN0X3NlbnNlICopOwogCiAvKiBpZGUtY2QuYyBmdW5jdGlvbnMgdXNlZCBieSBpZGUtY2RfaW9jdGwuYyAqLwotdm9pZCBpZGVfY2RfaW5pdF9ycShpZGVfZHJpdmVfdCAqLCBzdHJ1Y3QgcmVxdWVzdCAqKTsKLWludCBpZGVfY2RfcXVldWVfcGMoaWRlX2RyaXZlX3QgKiwgc3RydWN0IHJlcXVlc3QgKik7CitpbnQgaWRlX2NkX3F1ZXVlX3BjKGlkZV9kcml2ZV90ICosIGNvbnN0IHVuc2lnbmVkIGNoYXIgKiwgaW50LCB2b2lkICosCisJCSAgICB1bnNpZ25lZCAqLCBzdHJ1Y3QgcmVxdWVzdF9zZW5zZSAqLCBpbnQsIHVuc2lnbmVkIGludCk7CiBpbnQgaWRlX2NkX3JlYWRfdG9jKGlkZV9kcml2ZV90ICosIHN0cnVjdCByZXF1ZXN0X3NlbnNlICopOwogaW50IGlkZV9jZHJvbV9nZXRfY2FwYWJpbGl0aWVzKGlkZV9kcml2ZV90ICosIHU4ICopOwogdm9pZCBpZGVfY2Ryb21fdXBkYXRlX3NwZWVkKGlkZV9kcml2ZV90ICosIHU4ICopOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pZGUvaWRlLWNkX2lvY3RsLmMgYi9kcml2ZXJzL2lkZS9pZGUtY2RfaW9jdGwuYwppbmRleCA2ZDE0N2NlLi4yNGQwMDJhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2lkZS9pZGUtY2RfaW9jdGwuYworKysgYi9kcml2ZXJzL2lkZS9pZGUtY2RfaW9jdGwuYwpAQCAtMTA0LDggKzEwNCw4IEBACiB7CiAJc3RydWN0IGNkcm9tX2luZm8gKmNkID0gZHJpdmUtPmRyaXZlcl9kYXRhOwogCXN0cnVjdCBjZHJvbV9kZXZpY2VfaW5mbyAqY2RpID0gJmNkLT5kZXZpbmZvOwotCXN0cnVjdCByZXF1ZXN0IHJlcTsKIAljaGFyIGxvZWogPSAweDAyOworCXVuc2lnbmVkIGNoYXIgY21kW0JMS19NQVhfQ0RCXTsKIAogCWlmICgoY2QtPmNkX2ZsYWdzICYgSURFX0NEX0ZMQUdfTk9fRUpFQ1QpICYmICFlamVjdGZsYWcpCiAJCXJldHVybiAtRURSSVZFX0NBTlRfRE9fVEhJUzsKQEAgLTExNCwxNyArMTE0LDE2IEBACiAJaWYgKChjZC0+Y2RfZmxhZ3MgJiBJREVfQ0RfRkxBR19ET09SX0xPQ0tFRCkgJiYgZWplY3RmbGFnKQogCQlyZXR1cm4gMDsKIAotCWlkZV9jZF9pbml0X3JxKGRyaXZlLCAmcmVxKTsKLQogCS8qIG9ubHkgdGVsbCBkcml2ZSB0byBjbG9zZSB0cmF5IGlmIG9wZW4sIGlmIGl0IGNhbiBkbyB0aGF0ICovCiAJaWYgKGVqZWN0ZmxhZyAmJiAoY2RpLT5tYXNrICYgQ0RDX0NMT1NFX1RSQVkpKQogCQlsb2VqID0gMDsKIAotCXJlcS5zZW5zZSA9IHNlbnNlOwotCXJlcS5jbWRbMF0gPSBHUENNRF9TVEFSVF9TVE9QX1VOSVQ7Ci0JcmVxLmNtZFs0XSA9IGxvZWogfCAoZWplY3RmbGFnICE9IDApOworCW1lbXNldChjbWQsIDAsIEJMS19NQVhfQ0RCKTsKIAotCXJldHVybiBpZGVfY2RfcXVldWVfcGMoZHJpdmUsICZyZXEpOworCWNtZFswXSA9IEdQQ01EX1NUQVJUX1NUT1BfVU5JVDsKKwljbWRbNF0gPSBsb2VqIHwgKGVqZWN0ZmxhZyAhPSAwKTsKKworCXJldHVybiBpZGVfY2RfcXVldWVfcGMoZHJpdmUsIGNtZCwgMCwgTlVMTCwgMCwgc2Vuc2UsIDAsIDApOwogfQogCiAvKiBMb2NrIHRoZSBkb29yIGlmIExPQ0tGTEFHIGlzIG5vbnplcm87IHVubG9jayBpdCBvdGhlcndpc2UuICovCkBAIC0xMzQsNyArMTMzLDYgQEAKIHsKIAlzdHJ1Y3QgY2Ryb21faW5mbyAqY2QgPSBkcml2ZS0+ZHJpdmVyX2RhdGE7CiAJc3RydWN0IHJlcXVlc3Rfc2Vuc2UgbXlfc2Vuc2U7Ci0Jc3RydWN0IHJlcXVlc3QgcmVxOwogCWludCBzdGF0OwogCiAJaWYgKHNlbnNlID09IE5VTEwpCkBAIC0xNDQsMTEgKzE0MiwxNSBAQAogCWlmIChjZC0+Y2RfZmxhZ3MgJiBJREVfQ0RfRkxBR19OT19ET09STE9DSykgewogCQlzdGF0ID0gMDsKIAl9IGVsc2UgewotCQlpZGVfY2RfaW5pdF9ycShkcml2ZSwgJnJlcSk7Ci0JCXJlcS5zZW5zZSA9IHNlbnNlOwotCQlyZXEuY21kWzBdID0gR1BDTURfUFJFVkVOVF9BTExPV19NRURJVU1fUkVNT1ZBTDsKLQkJcmVxLmNtZFs0XSA9IGxvY2tmbGFnID8gMSA6IDA7Ci0JCXN0YXQgPSBpZGVfY2RfcXVldWVfcGMoZHJpdmUsICZyZXEpOworCQl1bnNpZ25lZCBjaGFyIGNtZFtCTEtfTUFYX0NEQl07CisKKwkJbWVtc2V0KGNtZCwgMCwgQkxLX01BWF9DREIpOworCisJCWNtZFswXSA9IEdQQ01EX1BSRVZFTlRfQUxMT1dfTUVESVVNX1JFTU9WQUw7CisJCWNtZFs0XSA9IGxvY2tmbGFnID8gMSA6IDA7CisKKwkJc3RhdCA9IGlkZV9jZF9xdWV1ZV9wYyhkcml2ZSwgY21kLCAwLCBOVUxMLCAwLAorCQkJCSAgICAgICBzZW5zZSwgMCwgMCk7CiAJfQogCiAJLyogSWYgd2UgZ290IGFuIGlsbGVnYWwgZmllbGQgZXJyb3IsIHRoZSBkcml2ZQpAQCAtMjA2LDMyICsyMDgsMzAgQEAKIHsKIAlpZGVfZHJpdmVfdCAqZHJpdmUgPSBjZGktPmhhbmRsZTsKIAlzdHJ1Y3QgY2Ryb21faW5mbyAqY2QgPSBkcml2ZS0+ZHJpdmVyX2RhdGE7Ci0Jc3RydWN0IHJlcXVlc3QgcnE7CiAJc3RydWN0IHJlcXVlc3Rfc2Vuc2Ugc2Vuc2U7CiAJdTggYnVmW0FUQVBJX0NBUEFCSUxJVElFU19QQUdFX1NJWkVdOwogCWludCBzdGF0OwotCi0JaWRlX2NkX2luaXRfcnEoZHJpdmUsICZycSk7Ci0KLQlycS5zZW5zZSA9ICZzZW5zZTsKKwl1bnNpZ25lZCBjaGFyIGNtZFtCTEtfTUFYX0NEQl07CiAKIAlpZiAoc3BlZWQgPT0gMCkKIAkJc3BlZWQgPSAweGZmZmY7IC8qIHNldCB0byBtYXggKi8KIAllbHNlCiAJCXNwZWVkICo9IDE3NzsgICAvKiBOeCB0byBrYnl0ZXMvcyAqLwogCi0JcnEuY21kWzBdID0gR1BDTURfU0VUX1NQRUVEOworCW1lbXNldChjbWQsIDAsIEJMS19NQVhfQ0RCKTsKKworCWNtZFswXSA9IEdQQ01EX1NFVF9TUEVFRDsKIAkvKiBSZWFkIERyaXZlIHNwZWVkIGluIGtieXRlcy9zZWNvbmQgTVNCL0xTQiAqLwotCXJxLmNtZFsyXSA9IChzcGVlZCA+PiA4KSAmIDB4ZmY7Ci0JcnEuY21kWzNdID0gc3BlZWQgJiAweGZmOworCWNtZFsyXSA9IChzcGVlZCA+PiA4KSAmIDB4ZmY7CisJY21kWzNdID0gc3BlZWQgJiAweGZmOwogCWlmICgoY2RpLT5tYXNrICYgKENEQ19DRF9SIHwgQ0RDX0NEX1JXIHwgQ0RDX0RWRF9SKSkgIT0KIAkgICAgKENEQ19DRF9SIHwgQ0RDX0NEX1JXIHwgQ0RDX0RWRF9SKSkgewogCQkvKiBXcml0ZSBEcml2ZSBzcGVlZCBpbiBrYnl0ZXMvc2Vjb25kIE1TQi9MU0IgKi8KLQkJcnEuY21kWzRdID0gKHNwZWVkID4+IDgpICYgMHhmZjsKLQkJcnEuY21kWzVdID0gc3BlZWQgJiAweGZmOworCQljbWRbNF0gPSAoc3BlZWQgPj4gOCkgJiAweGZmOworCQljbWRbNV0gPSBzcGVlZCAmIDB4ZmY7CiAJfQogCi0Jc3RhdCA9IGlkZV9jZF9xdWV1ZV9wYyhkcml2ZSwgJnJxKTsKKwlzdGF0ID0gaWRlX2NkX3F1ZXVlX3BjKGRyaXZlLCBjbWQsIDAsIE5VTEwsIDAsICZzZW5zZSwgMCwgMCk7CiAKIAlpZiAoIWlkZV9jZHJvbV9nZXRfY2FwYWJpbGl0aWVzKGRyaXZlLCBidWYpKSB7CiAJCWlkZV9jZHJvbV91cGRhdGVfc3BlZWQoZHJpdmUsIGJ1Zik7CkBAIC0yNjgsMjEgKzI2OCwxOSBAQAogewogCWlkZV9kcml2ZV90ICpkcml2ZSA9IGNkaS0+aGFuZGxlOwogCWludCBzdGF0LCBtY25sZW47Ci0Jc3RydWN0IHJlcXVlc3QgcnE7CiAJY2hhciBidWZbMjRdOworCXVuc2lnbmVkIGNoYXIgY21kW0JMS19NQVhfQ0RCXTsKKwl1bnNpZ25lZCBsZW4gPSBzaXplb2YoYnVmKTsKIAotCWlkZV9jZF9pbml0X3JxKGRyaXZlLCAmcnEpOworCW1lbXNldChjbWQsIDAsIEJMS19NQVhfQ0RCKTsKIAotCXJxLmRhdGEgPSBidWY7Ci0JcnEuZGF0YV9sZW4gPSBzaXplb2YoYnVmKTsKKwljbWRbMF0gPSBHUENNRF9SRUFEX1NVQkNIQU5ORUw7CisJY21kWzFdID0gMjsJCS8qIE1TRiBhZGRyZXNzaW5nICovCisJY21kWzJdID0gMHg0MDsJLyogcmVxdWVzdCBzdWJRIGRhdGEgKi8KKwljbWRbM10gPSAyOwkJLyogZm9ybWF0ICovCisJY21kWzhdID0gbGVuOwogCi0JcnEuY21kWzBdID0gR1BDTURfUkVBRF9TVUJDSEFOTkVMOwotCXJxLmNtZFsxXSA9IDI7CQkvKiBNU0YgYWRkcmVzc2luZyAqLwotCXJxLmNtZFsyXSA9IDB4NDA7CS8qIHJlcXVlc3Qgc3ViUSBkYXRhICovCi0JcnEuY21kWzNdID0gMjsJCS8qIGZvcm1hdCAqLwotCXJxLmNtZFs4XSA9IHNpemVvZihidWYpOwotCi0Jc3RhdCA9IGlkZV9jZF9xdWV1ZV9wYyhkcml2ZSwgJnJxKTsKKwlzdGF0ID0gaWRlX2NkX3F1ZXVlX3BjKGRyaXZlLCBjbWQsIDAsIGJ1ZiwgJmxlbiwgTlVMTCwgMCwgMCk7CiAJaWYgKHN0YXQpCiAJCXJldHVybiBzdGF0OwogCkBAIC0yOTgsMTQgKzI5NiwxNCBAQAogCWlkZV9kcml2ZV90ICpkcml2ZSA9IGNkaS0+aGFuZGxlOwogCXN0cnVjdCBjZHJvbV9pbmZvICpjZCA9IGRyaXZlLT5kcml2ZXJfZGF0YTsKIAlzdHJ1Y3QgcmVxdWVzdF9zZW5zZSBzZW5zZTsKLQlzdHJ1Y3QgcmVxdWVzdCByZXE7CisJc3RydWN0IHJlcXVlc3QgKnJxOwogCWludCByZXQ7CiAKLQlpZGVfY2RfaW5pdF9ycShkcml2ZSwgJnJlcSk7Ci0JcmVxLmNtZF90eXBlID0gUkVRX1RZUEVfU1BFQ0lBTDsKLQlyZXEuY21kX2ZsYWdzID0gUkVRX1FVSUVUOwotCXJldCA9IGlkZV9kb19kcml2ZV9jbWQoZHJpdmUsICZyZXEsIGlkZV93YWl0KTsKLQorCXJxID0gYmxrX2dldF9yZXF1ZXN0KGRyaXZlLT5xdWV1ZSwgUkVBRCwgX19HRlBfV0FJVCk7CisJcnEtPmNtZF90eXBlID0gUkVRX1RZUEVfU1BFQ0lBTDsKKwlycS0+Y21kX2ZsYWdzID0gUkVRX1FVSUVUOworCXJldCA9IGJsa19leGVjdXRlX3JxKGRyaXZlLT5xdWV1ZSwgY2QtPmRpc2ssIHJxLCAwKTsKKwlibGtfcHV0X3JlcXVlc3QocnEpOwogCS8qCiAJICogQSByZXNldCB3aWxsIHVubG9jayB0aGUgZG9vci4gSWYgaXQgd2FzIHByZXZpb3VzbHkgbG9ja2VkLAogCSAqIGxvY2sgaXQgYWdhaW4uCkBAIC0zNTEsOCArMzQ5LDggQEAKIAlzdHJ1Y3QgYXRhcGlfdG9jX2VudHJ5ICpmaXJzdF90b2MsICpsYXN0X3RvYzsKIAl1bnNpZ25lZCBsb25nIGxiYV9zdGFydCwgbGJhX2VuZDsKIAlpbnQgc3RhdDsKLQlzdHJ1Y3QgcmVxdWVzdCBycTsKIAlzdHJ1Y3QgcmVxdWVzdF9zZW5zZSBzZW5zZTsKKwl1bnNpZ25lZCBjaGFyIGNtZFtCTEtfTUFYX0NEQl07CiAKIAlzdGF0ID0gaWRlX2NkX2dldF90b2NfZW50cnkoZHJpdmUsIHRpLT5jZHRpX3RyazAsICZmaXJzdF90b2MpOwogCWlmIChzdGF0KQpAQCAtMzcwLDE0ICszNjgsMTMgQEAKIAlpZiAobGJhX2VuZCA8PSBsYmFfc3RhcnQpCiAJCXJldHVybiAtRUlOVkFMOwogCi0JaWRlX2NkX2luaXRfcnEoZHJpdmUsICZycSk7CisJbWVtc2V0KGNtZCwgMCwgQkxLX01BWF9DREIpOwogCi0JcnEuc2Vuc2UgPSAmc2Vuc2U7Ci0JcnEuY21kWzBdID0gR1BDTURfUExBWV9BVURJT19NU0Y7Ci0JbGJhX3RvX21zZihsYmFfc3RhcnQsICAgJnJxLmNtZFszXSwgJnJxLmNtZFs0XSwgJnJxLmNtZFs1XSk7Ci0JbGJhX3RvX21zZihsYmFfZW5kIC0gMSwgJnJxLmNtZFs2XSwgJnJxLmNtZFs3XSwgJnJxLmNtZFs4XSk7CisJY21kWzBdID0gR1BDTURfUExBWV9BVURJT19NU0Y7CisJbGJhX3RvX21zZihsYmFfc3RhcnQsICAgJmNtZFszXSwgJmNtZFs0XSwgJmNtZFs1XSk7CisJbGJhX3RvX21zZihsYmFfZW5kIC0gMSwgJmNtZFs2XSwgJmNtZFs3XSwgJmNtZFs4XSk7CiAKLQlyZXR1cm4gaWRlX2NkX3F1ZXVlX3BjKGRyaXZlLCAmcnEpOworCXJldHVybiBpZGVfY2RfcXVldWVfcGMoZHJpdmUsIGNtZCwgMCwgTlVMTCwgMCwgJnNlbnNlLCAwLCAwKTsKIH0KIAogc3RhdGljIGludCBpZGVfY2RfcmVhZF90b2NoZHIoaWRlX2RyaXZlX3QgKmRyaXZlLCB2b2lkICphcmcpCkBAIC00NDcsOCArNDQ0LDkgQEAKIGludCBpZGVfY2Ryb21fcGFja2V0KHN0cnVjdCBjZHJvbV9kZXZpY2VfaW5mbyAqY2RpLAogCQkJICAgIHN0cnVjdCBwYWNrZXRfY29tbWFuZCAqY2djKQogewotCXN0cnVjdCByZXF1ZXN0IHJlcTsKIAlpZGVfZHJpdmVfdCAqZHJpdmUgPSBjZGktPmhhbmRsZTsKKwl1bnNpZ25lZCBpbnQgZmxhZ3MgPSAwOworCXVuc2lnbmVkIGxlbiA9IGNnYy0+YnVmbGVuOwogCiAJaWYgKGNnYy0+dGltZW91dCA8PSAwKQogCQljZ2MtPnRpbWVvdXQgPSBBVEFQSV9XQUlUX1BDOwpAQCAtNDU2LDI0ICs0NTQsMjEgQEAKIAkvKiBoZXJlIHdlIHF1ZXVlIHRoZSBjb21tYW5kcyBmcm9tIHRoZSB1bmlmb3JtIENELVJPTQogCSAgIGxheWVyLiB0aGUgcGFja2V0IG11c3QgYmUgY29tcGxldGUsIGFzIHdlIGRvIG5vdAogCSAgIHRvdWNoIGl0IGF0IGFsbC4gKi8KLQlpZGVfY2RfaW5pdF9ycShkcml2ZSwgJnJlcSk7CiAKIAlpZiAoY2djLT5kYXRhX2RpcmVjdGlvbiA9PSBDR0NfREFUQV9XUklURSkKLQkJcmVxLmNtZF9mbGFncyB8PSBSRVFfUlc7CisJCWZsYWdzIHw9IFJFUV9SVzsKIAotCW1lbWNweShyZXEuY21kLCBjZ2MtPmNtZCwgQ0RST01fUEFDS0VUX1NJWkUpOwogCWlmIChjZ2MtPnNlbnNlKQogCQltZW1zZXQoY2djLT5zZW5zZSwgMCwgc2l6ZW9mKHN0cnVjdCByZXF1ZXN0X3NlbnNlKSk7Ci0JcmVxLmRhdGEgPSBjZ2MtPmJ1ZmZlcjsKLQlyZXEuZGF0YV9sZW4gPSBjZ2MtPmJ1ZmxlbjsKLQlyZXEudGltZW91dCA9IGNnYy0+dGltZW91dDsKIAogCWlmIChjZ2MtPnF1aWV0KQotCQlyZXEuY21kX2ZsYWdzIHw9IFJFUV9RVUlFVDsKKwkJZmxhZ3MgfD0gUkVRX1FVSUVUOwogCi0JcmVxLnNlbnNlID0gY2djLT5zZW5zZTsKLQljZ2MtPnN0YXQgPSBpZGVfY2RfcXVldWVfcGMoZHJpdmUsICZyZXEpOworCWNnYy0+c3RhdCA9IGlkZV9jZF9xdWV1ZV9wYyhkcml2ZSwgY2djLT5jbWQsCisJCQkJICAgIGNnYy0+ZGF0YV9kaXJlY3Rpb24gPT0gQ0dDX0RBVEFfV1JJVEUsCisJCQkJICAgIGNnYy0+YnVmZmVyLCAmbGVuLAorCQkJCSAgICBjZ2MtPnNlbnNlLCBjZ2MtPnRpbWVvdXQsIGZsYWdzKTsKIAlpZiAoIWNnYy0+c3RhdCkKLQkJY2djLT5idWZsZW4gLT0gcmVxLmRhdGFfbGVuOworCQljZ2MtPmJ1ZmxlbiAtPSBsZW47CiAJcmV0dXJuIGNnYy0+c3RhdDsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvaWRlL2lkZS1kaXNrLmMgYi9kcml2ZXJzL2lkZS9pZGUtZGlzay5jCmluZGV4IDhlMDhkMDguLjVmNDlhNGEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaWRlL2lkZS1kaXNrLmMKKysrIGIvZHJpdmVycy9pZGUvaWRlLWRpc2suYwpAQCAtMTk4LDggKzE5OCw3IEBACiAJfQogCiAJbWVtc2V0KCZ0YXNrLCAwLCBzaXplb2YodGFzaykpOwotCXRhc2sudGZfZmxhZ3MgPSBJREVfVEZMQUdfTk9fU0VMRUNUX01BU0s7ICAvKiBGSVhNRT8gKi8KLQl0YXNrLnRmX2ZsYWdzIHw9IChJREVfVEZMQUdfVEYgfCBJREVfVEZMQUdfREVWSUNFKTsKKwl0YXNrLnRmX2ZsYWdzID0gSURFX1RGTEFHX1RGIHwgSURFX1RGTEFHX0RFVklDRTsKIAogCWlmIChkcml2ZS0+c2VsZWN0LmIubGJhKSB7CiAJCWlmIChsYmE0OCkgewpAQCAtNjE3LDcgKzYxNiw4IEBACiAgKi8KIHN0YXRpYyBpbnQgc2V0X211bHRjb3VudChpZGVfZHJpdmVfdCAqZHJpdmUsIGludCBhcmcpCiB7Ci0Jc3RydWN0IHJlcXVlc3QgcnE7CisJc3RydWN0IHJlcXVlc3QgKnJxOworCWludCBlcnJvcjsKIAogCWlmIChhcmcgPCAwIHx8IGFyZyA+IGRyaXZlLT5pZC0+bWF4X211bHRzZWN0KQogCQlyZXR1cm4gLUVJTlZBTDsKQEAgLTYyNSwxMiArNjI1LDEzIEBACiAJaWYgKGRyaXZlLT5zcGVjaWFsLmIuc2V0X211bHRtb2RlKQogCQlyZXR1cm4gLUVCVVNZOwogCi0JaWRlX2luaXRfZHJpdmVfY21kKCZycSk7Ci0JcnEuY21kX3R5cGUgPSBSRVFfVFlQRV9BVEFfVEFTS0ZJTEU7CisJcnEgPSBibGtfZ2V0X3JlcXVlc3QoZHJpdmUtPnF1ZXVlLCBSRUFELCBfX0dGUF9XQUlUKTsKKwlycS0+Y21kX3R5cGUgPSBSRVFfVFlQRV9BVEFfVEFTS0ZJTEU7CiAKIAlkcml2ZS0+bXVsdF9yZXEgPSBhcmc7CiAJZHJpdmUtPnNwZWNpYWwuYi5zZXRfbXVsdG1vZGUgPSAxOwotCSh2b2lkKWlkZV9kb19kcml2ZV9jbWQoZHJpdmUsICZycSwgaWRlX3dhaXQpOworCWVycm9yID0gYmxrX2V4ZWN1dGVfcnEoZHJpdmUtPnF1ZXVlLCBOVUxMLCBycSwgMCk7CisJYmxrX3B1dF9yZXF1ZXN0KHJxKTsKIAogCXJldHVybiAoZHJpdmUtPm11bHRfY291bnQgPT0gYXJnKSA/IDAgOiAtRUlPOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pZGUvaWRlLWRtYS5jIGIvZHJpdmVycy9pZGUvaWRlLWRtYS5jCmluZGV4IDY1M2IxYWQuLjdlZTQ0ZjggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaWRlL2lkZS1kbWEuYworKysgYi9kcml2ZXJzL2lkZS9pZGUtZG1hLmMKQEAgLTQ2Myw3ICs0NjMsNyBAQAogCX0KIAogCS8qIFBSRCB0YWJsZSAqLwotCWlmIChod2lmLT5tbWlvKQorCWlmIChod2lmLT5ob3N0X2ZsYWdzICYgSURFX0hGTEFHX01NSU8pCiAJCXdyaXRlbChod2lmLT5kbWF0YWJsZV9kbWEsCiAJCSAgICAgICAodm9pZCBfX2lvbWVtICopKGh3aWYtPmRtYV9iYXNlICsgQVRBX0RNQV9UQUJMRV9PRlMpKTsKIAllbHNlCkBAIC02OTIsNyArNjkyLDcgQEAKIAlpZGVfaHdpZl90ICpod2lmID0gZHJpdmUtPmh3aWY7CiAJdTggc3BlZWQ7CiAKLQlpZiAobm9hdXRvZG1hIHx8IGRyaXZlLT5ub2RtYSB8fCAoZHJpdmUtPmlkLT5jYXBhYmlsaXR5ICYgMSkgPT0gMCkKKwlpZiAoZHJpdmUtPm5vZG1hIHx8IChkcml2ZS0+aWQtPmNhcGFiaWxpdHkgJiAxKSA9PSAwKQogCQlyZXR1cm4gMDsKIAogCS8qIGNvbnN1bHQgdGhlIGxpc3Qgb2Yga25vd24gImJhZCIgZHJpdmVzICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL2lkZS9pZGUtZmxvcHB5LmMgYi9kcml2ZXJzL2lkZS9pZGUtZmxvcHB5LmMKaW5kZXggZjA1ZmJjMi4uYjM2ODk0MyAxMDA2NDQKLS0tIGEvZHJpdmVycy9pZGUvaWRlLWZsb3BweS5jCisrKyBiL2RyaXZlcnMvaWRlL2lkZS1mbG9wcHkuYwpAQCAtMjg2LDExICsyODYsMTIgQEAKIHsKIAlzdHJ1Y3QgaWRlX2Zsb3BweV9vYmogKmZsb3BweSA9IGRyaXZlLT5kcml2ZXJfZGF0YTsKIAotCWlkZV9pbml0X2RyaXZlX2NtZChycSk7CisJYmxrX3JxX2luaXQoTlVMTCwgcnEpOwogCXJxLT5idWZmZXIgPSAoY2hhciAqKSBwYzsKIAlycS0+Y21kX3R5cGUgPSBSRVFfVFlQRV9TUEVDSUFMOworCXJxLT5jbWRfZmxhZ3MgfD0gUkVRX1BSRUVNUFQ7CiAJcnEtPnJxX2Rpc2sgPSBmbG9wcHktPmRpc2s7Ci0JKHZvaWQpIGlkZV9kb19kcml2ZV9jbWQoZHJpdmUsIHJxLCBpZGVfcHJlZW1wdCk7CisJaWRlX2RvX2RyaXZlX2NtZChkcml2ZSwgcnEpOwogfQogCiBzdGF0aWMgc3RydWN0IGlkZV9hdGFwaV9wYyAqaWRlZmxvcHB5X25leHRfcGNfc3RvcmFnZShpZGVfZHJpdmVfdCAqZHJpdmUpCkBAIC0zMTEsNTAgKzMxMiw0MSBAQAogCXJldHVybiAoJmZsb3BweS0+cnFfc3RhY2tbZmxvcHB5LT5ycV9zdGFja19pbmRleCsrXSk7CiB9CiAKLXN0YXRpYyB2b2lkIGlkZWZsb3BweV9yZXF1ZXN0X3NlbnNlX2NhbGxiYWNrKGlkZV9kcml2ZV90ICpkcml2ZSkKK3N0YXRpYyB2b2lkIGlkZV9mbG9wcHlfY2FsbGJhY2soaWRlX2RyaXZlX3QgKmRyaXZlKQogewogCWlkZWZsb3BweV9mbG9wcHlfdCAqZmxvcHB5ID0gZHJpdmUtPmRyaXZlcl9kYXRhOwotCXU4ICpidWYgPSBmbG9wcHktPnBjLT5idWY7CisJc3RydWN0IGlkZV9hdGFwaV9wYyAqcGMgPSBmbG9wcHktPnBjOworCWludCB1cHRvZGF0ZSA9IHBjLT5lcnJvciA/IDAgOiAxOwogCiAJZGVidWdfbG9nKCJSZWFjaGVkICVzXG4iLCBfX2Z1bmNfXyk7CiAKLQlpZiAoIWZsb3BweS0+cGMtPmVycm9yKSB7Ci0JCWZsb3BweS0+c2Vuc2Vfa2V5ID0gYnVmWzJdICYgMHgwRjsKLQkJZmxvcHB5LT5hc2MgPSBidWZbMTJdOwotCQlmbG9wcHktPmFzY3EgPSBidWZbMTNdOwotCQlmbG9wcHktPnByb2dyZXNzX2luZGljYXRpb24gPSBidWZbMTVdICYgMHg4MCA/Ci0JCQkodTE2KWdldF91bmFsaWduZWQoKHUxNiAqKSZidWZbMTZdKSA6IDB4MTAwMDA7CisJaWYgKGZsb3BweS0+ZmFpbGVkX3BjID09IHBjKQorCQlmbG9wcHktPmZhaWxlZF9wYyA9IE5VTEw7CiAKLQkJaWYgKGZsb3BweS0+ZmFpbGVkX3BjKQotCQkJZGVidWdfbG9nKCJwYyA9ICV4LCBzZW5zZSBrZXkgPSAleCwgYXNjID0gJXgsIgotCQkJCQkiIGFzY3EgPSAleFxuIiwKLQkJCQkJZmxvcHB5LT5mYWlsZWRfcGMtPmNbMF0sCi0JCQkJCWZsb3BweS0+c2Vuc2Vfa2V5LAotCQkJCQlmbG9wcHktPmFzYywKLQkJCQkJZmxvcHB5LT5hc2NxKTsKLQkJZWxzZQorCWlmIChwYy0+Y1swXSA9PSBHUENNRF9SRUFEXzEwIHx8IHBjLT5jWzBdID09IEdQQ01EX1dSSVRFXzEwIHx8CisJICAgIChwYy0+cnEgJiYgYmxrX3BjX3JlcXVlc3QocGMtPnJxKSkpCisJCXVwdG9kYXRlID0gMTsgLyogRklYTUUgKi8KKwllbHNlIGlmIChwYy0+Y1swXSA9PSBHUENNRF9SRVFVRVNUX1NFTlNFKSB7CisJCXU4ICpidWYgPSBmbG9wcHktPnBjLT5idWY7CisKKwkJaWYgKCFwYy0+ZXJyb3IpIHsKKwkJCWZsb3BweS0+c2Vuc2Vfa2V5ID0gYnVmWzJdICYgMHgwRjsKKwkJCWZsb3BweS0+YXNjID0gYnVmWzEyXTsKKwkJCWZsb3BweS0+YXNjcSA9IGJ1ZlsxM107CisJCQlmbG9wcHktPnByb2dyZXNzX2luZGljYXRpb24gPSBidWZbMTVdICYgMHg4MCA/CisJCQkJKHUxNilnZXRfdW5hbGlnbmVkKCh1MTYgKikmYnVmWzE2XSkgOiAweDEwMDAwOworCisJCQlpZiAoZmxvcHB5LT5mYWlsZWRfcGMpCisJCQkJZGVidWdfbG9nKCJwYyA9ICV4LCAiLCBmbG9wcHktPmZhaWxlZF9wYy0+Y1swXSk7CisKIAkJCWRlYnVnX2xvZygic2Vuc2Uga2V5ID0gJXgsIGFzYyA9ICV4LCBhc2NxID0gJXhcbiIsCi0JCQkJCWZsb3BweS0+c2Vuc2Vfa2V5LAotCQkJCQlmbG9wcHktPmFzYywKLQkJCQkJZmxvcHB5LT5hc2NxKTsKLQotCi0JCWlkZWZsb3BweV9lbmRfcmVxdWVzdChkcml2ZSwgMSwgMCk7Ci0JfSBlbHNlIHsKLQkJcHJpbnRrKEtFUk5fRVJSICJFcnJvciBpbiBSRVFVRVNUIFNFTlNFIGl0c2VsZiAtIEFib3J0aW5nIgotCQkJCSIgcmVxdWVzdCFcbiIpOwotCQlpZGVmbG9wcHlfZW5kX3JlcXVlc3QoZHJpdmUsIDAsIDApOworCQkJCSAgZmxvcHB5LT5zZW5zZV9rZXksIGZsb3BweS0+YXNjLCBmbG9wcHktPmFzY3EpOworCQl9IGVsc2UKKwkJCXByaW50ayhLRVJOX0VSUiAiRXJyb3IgaW4gUkVRVUVTVCBTRU5TRSBpdHNlbGYgLSAiCisJCQkJCSJBYm9ydGluZyByZXF1ZXN0IVxuIik7CiAJfQotfQogCi0vKiBHZW5lcmFsIHBhY2tldCBjb21tYW5kIGNhbGxiYWNrIGZ1bmN0aW9uLiAqLwotc3RhdGljIHZvaWQgaWRlZmxvcHB5X3BjX2NhbGxiYWNrKGlkZV9kcml2ZV90ICpkcml2ZSkKLXsKLQlpZGVmbG9wcHlfZmxvcHB5X3QgKmZsb3BweSA9IGRyaXZlLT5kcml2ZXJfZGF0YTsKLQotCWRlYnVnX2xvZygiUmVhY2hlZCAlc1xuIiwgX19mdW5jX18pOwotCi0JaWRlZmxvcHB5X2VuZF9yZXF1ZXN0KGRyaXZlLCBmbG9wcHktPnBjLT5lcnJvciA/IDAgOiAxLCAwKTsKKwlpZGVmbG9wcHlfZW5kX3JlcXVlc3QoZHJpdmUsIHVwdG9kYXRlLCAwKTsKIH0KIAogc3RhdGljIHZvaWQgaWRlZmxvcHB5X2luaXRfcGMoc3RydWN0IGlkZV9hdGFwaV9wYyAqcGMpCkBAIC0zNjUsNyArMzU3LDcgQEAKIAlwYy0+cmVxX3hmZXIgPSAwOwogCXBjLT5idWYgPSBwYy0+cGNfYnVmOwogCXBjLT5idWZfc2l6ZSA9IElERUZMT1BQWV9QQ19CVUZGRVJfU0laRTsKLQlwYy0+aWRlZmxvcHB5X2NhbGxiYWNrID0gJmlkZWZsb3BweV9wY19jYWxsYmFjazsKKwlwYy0+Y2FsbGJhY2sgPSBpZGVfZmxvcHB5X2NhbGxiYWNrOwogfQogCiBzdGF0aWMgdm9pZCBpZGVmbG9wcHlfY3JlYXRlX3JlcXVlc3Rfc2Vuc2VfY21kKHN0cnVjdCBpZGVfYXRhcGlfcGMgKnBjKQpAQCAtMzc0LDcgKzM2Niw2IEBACiAJcGMtPmNbMF0gPSBHUENNRF9SRVFVRVNUX1NFTlNFOwogCXBjLT5jWzRdID0gMjU1OwogCXBjLT5yZXFfeGZlciA9IDE4OwotCXBjLT5pZGVmbG9wcHlfY2FsbGJhY2sgPSAmaWRlZmxvcHB5X3JlcXVlc3Rfc2Vuc2VfY2FsbGJhY2s7CiB9CiAKIC8qCkBAIC0zOTcsMTc0ICszODgsMTkgQEAKIHN0YXRpYyBpZGVfc3RhcnRzdG9wX3QgaWRlZmxvcHB5X3BjX2ludHIoaWRlX2RyaXZlX3QgKmRyaXZlKQogewogCWlkZWZsb3BweV9mbG9wcHlfdCAqZmxvcHB5ID0gZHJpdmUtPmRyaXZlcl9kYXRhOwotCWlkZV9od2lmX3QgKmh3aWYgPSBkcml2ZS0+aHdpZjsKLQlzdHJ1Y3QgaWRlX2F0YXBpX3BjICpwYyA9IGZsb3BweS0+cGM7Ci0Jc3RydWN0IHJlcXVlc3QgKnJxID0gcGMtPnJxOwotCXhmZXJfZnVuY190ICp4ZmVyZnVuYzsKLQl1bnNpZ25lZCBpbnQgdGVtcDsKLQlpbnQgZG1hX2Vycm9yID0gMDsKLQl1MTYgYmNvdW50OwotCXU4IHN0YXQsIGlyZWFzb247CiAKLQlkZWJ1Z19sb2coIlJlYWNoZWQgJXMgaW50ZXJydXB0IGhhbmRsZXJcbiIsIF9fZnVuY19fKTsKLQotCWlmIChwYy0+ZmxhZ3MgJiBQQ19GTEFHX0RNQV9JTl9QUk9HUkVTUykgewotCQlkbWFfZXJyb3IgPSBod2lmLT5kbWFfb3BzLT5kbWFfZW5kKGRyaXZlKTsKLQkJaWYgKGRtYV9lcnJvcikgewotCQkJcHJpbnRrKEtFUk5fRVJSICIlczogRE1BICVzIGVycm9yXG4iLCBkcml2ZS0+bmFtZSwKLQkJCQkJcnFfZGF0YV9kaXIocnEpID8gIndyaXRlIiA6ICJyZWFkIik7Ci0JCQlwYy0+ZmxhZ3MgfD0gUENfRkxBR19ETUFfRVJST1I7Ci0JCX0gZWxzZSB7Ci0JCQlwYy0+eGZlcnJlZCA9IHBjLT5yZXFfeGZlcjsKLQkJCWlkZWZsb3BweV91cGRhdGVfYnVmZmVycyhkcml2ZSwgcGMpOwotCQl9Ci0JCWRlYnVnX2xvZygiRE1BIGZpbmlzaGVkXG4iKTsKLQl9Ci0KLQkvKiBDbGVhciB0aGUgaW50ZXJydXB0ICovCi0Jc3RhdCA9IGlkZV9yZWFkX3N0YXR1cyhkcml2ZSk7Ci0KLQkvKiBObyBtb3JlIGludGVycnVwdHMgKi8KLQlpZiAoKHN0YXQgJiBEUlFfU1RBVCkgPT0gMCkgewotCQlkZWJ1Z19sb2coIlBhY2tldCBjb21tYW5kIGNvbXBsZXRlZCwgJWQgYnl0ZXMgdHJhbnNmZXJyZWRcbiIsCi0JCQkJcGMtPnhmZXJyZWQpOwotCQlwYy0+ZmxhZ3MgJj0gflBDX0ZMQUdfRE1BX0lOX1BST0dSRVNTOwotCi0JCWxvY2FsX2lycV9lbmFibGVfaW5faGFyZGlycSgpOwotCi0JCWlmICgoc3RhdCAmIEVSUl9TVEFUKSB8fCAocGMtPmZsYWdzICYgUENfRkxBR19ETUFfRVJST1IpKSB7Ci0JCQkvKiBFcnJvciBkZXRlY3RlZCAqLwotCQkJZGVidWdfbG9nKCIlczogSS9PIGVycm9yXG4iLCBkcml2ZS0+bmFtZSk7Ci0JCQlycS0+ZXJyb3JzKys7Ci0JCQlpZiAocGMtPmNbMF0gPT0gR1BDTURfUkVRVUVTVF9TRU5TRSkgewotCQkJCXByaW50ayhLRVJOX0VSUiAiaWRlLWZsb3BweTogSS9PIGVycm9yIGluICIKLQkJCQkJInJlcXVlc3Qgc2Vuc2UgY29tbWFuZFxuIik7Ci0JCQkJcmV0dXJuIGlkZV9kb19yZXNldChkcml2ZSk7Ci0JCQl9Ci0JCQkvKiBSZXRyeSBvcGVyYXRpb24gKi8KLQkJCWlkZWZsb3BweV9yZXRyeV9wYyhkcml2ZSk7Ci0JCQkvKiBxdWV1ZWQsIGJ1dCBub3Qgc3RhcnRlZCAqLwotCQkJcmV0dXJuIGlkZV9zdG9wcGVkOwotCQl9Ci0JCXBjLT5lcnJvciA9IDA7Ci0JCWlmIChmbG9wcHktPmZhaWxlZF9wYyA9PSBwYykKLQkJCWZsb3BweS0+ZmFpbGVkX3BjID0gTlVMTDsKLQkJLyogQ29tbWFuZCBmaW5pc2hlZCAtIENhbGwgdGhlIGNhbGxiYWNrIGZ1bmN0aW9uICovCi0JCXBjLT5pZGVmbG9wcHlfY2FsbGJhY2soZHJpdmUpOwotCQlyZXR1cm4gaWRlX3N0b3BwZWQ7Ci0JfQotCi0JaWYgKHBjLT5mbGFncyAmIFBDX0ZMQUdfRE1BX0lOX1BST0dSRVNTKSB7Ci0JCXBjLT5mbGFncyAmPSB+UENfRkxBR19ETUFfSU5fUFJPR1JFU1M7Ci0JCXByaW50ayhLRVJOX0VSUiAiaWRlLWZsb3BweTogVGhlIGZsb3BweSB3YW50cyB0byBpc3N1ZSAiCi0JCQkibW9yZSBpbnRlcnJ1cHRzIGluIERNQSBtb2RlXG4iKTsKLQkJaWRlX2RtYV9vZmYoZHJpdmUpOwotCQlyZXR1cm4gaWRlX2RvX3Jlc2V0KGRyaXZlKTsKLQl9Ci0KLQkvKiBHZXQgdGhlIG51bWJlciBvZiBieXRlcyB0byB0cmFuc2ZlciAqLwotCWJjb3VudCA9IChod2lmLT5JTkIoaHdpZi0+aW9fcG9ydHMubGJhaF9hZGRyKSA8PCA4KSB8Ci0JCSAgaHdpZi0+SU5CKGh3aWYtPmlvX3BvcnRzLmxiYW1fYWRkcik7Ci0JLyogb24gdGhpcyBpbnRlcnJ1cHQgKi8KLQlpcmVhc29uID0gaHdpZi0+SU5CKGh3aWYtPmlvX3BvcnRzLm5zZWN0X2FkZHIpOwotCi0JaWYgKGlyZWFzb24gJiBDRCkgewotCQlwcmludGsoS0VSTl9FUlIgImlkZS1mbG9wcHk6IENvRCAhPSAwIGluICVzXG4iLCBfX2Z1bmNfXyk7Ci0JCXJldHVybiBpZGVfZG9fcmVzZXQoZHJpdmUpOwotCX0KLQlpZiAoKChpcmVhc29uICYgSU8pID09IElPKSA9PSAhIShwYy0+ZmxhZ3MgJiBQQ19GTEFHX1dSSVRJTkcpKSB7Ci0JCS8qIEhvcGVmdWxseSwgd2Ugd2lsbCBuZXZlciBnZXQgaGVyZSAqLwotCQlwcmludGsoS0VSTl9FUlIgImlkZS1mbG9wcHk6IFdlIHdhbnRlZCB0byAlcywgIiwKLQkJCQkoaXJlYXNvbiAmIElPKSA/ICJXcml0ZSIgOiAiUmVhZCIpOwotCQlwcmludGsoS0VSTl9FUlIgImJ1dCB0aGUgZmxvcHB5IHdhbnRzIHVzIHRvICVzICFcbiIsCi0JCQkJKGlyZWFzb24gJiBJTykgPyAiUmVhZCIgOiAiV3JpdGUiKTsKLQkJcmV0dXJuIGlkZV9kb19yZXNldChkcml2ZSk7Ci0JfQotCWlmICghKHBjLT5mbGFncyAmIFBDX0ZMQUdfV1JJVElORykpIHsKLQkJLyogUmVhZGluZyAtIENoZWNrIHRoYXQgd2UgaGF2ZSBlbm91Z2ggc3BhY2UgKi8KLQkJdGVtcCA9IHBjLT54ZmVycmVkICsgYmNvdW50OwotCQlpZiAodGVtcCA+IHBjLT5yZXFfeGZlcikgewotCQkJaWYgKHRlbXAgPiBwYy0+YnVmX3NpemUpIHsKLQkJCQlwcmludGsoS0VSTl9FUlIgImlkZS1mbG9wcHk6IFRoZSBmbG9wcHkgd2FudHMgIgotCQkJCQkidG8gc2VuZCB1cyBtb3JlIGRhdGEgdGhhbiBleHBlY3RlZCAiCi0JCQkJCSItIGRpc2NhcmRpbmcgZGF0YVxuIik7Ci0JCQkJaWRlX3BhZF90cmFuc2Zlcihkcml2ZSwgMCwgYmNvdW50KTsKLQotCQkJCWlkZV9zZXRfaGFuZGxlcihkcml2ZSwKLQkJCQkJCSZpZGVmbG9wcHlfcGNfaW50ciwKLQkJCQkJCUlERUZMT1BQWV9XQUlUX0NNRCwKLQkJCQkJCU5VTEwpOwotCQkJCXJldHVybiBpZGVfc3RhcnRlZDsKLQkJCX0KLQkJCWRlYnVnX2xvZygiVGhlIGZsb3BweSB3YW50cyB0byBzZW5kIHVzIG1vcmUgZGF0YSB0aGFuIgotCQkJCQkiIGV4cGVjdGVkIC0gYWxsb3dpbmcgdHJhbnNmZXJcbiIpOwotCQl9Ci0JfQotCWlmIChwYy0+ZmxhZ3MgJiBQQ19GTEFHX1dSSVRJTkcpCi0JCXhmZXJmdW5jID0gaHdpZi0+b3V0cHV0X2RhdGE7Ci0JZWxzZQotCQl4ZmVyZnVuYyA9IGh3aWYtPmlucHV0X2RhdGE7Ci0KLQlpZiAocGMtPmJ1ZikKLQkJeGZlcmZ1bmMoZHJpdmUsIE5VTEwsIHBjLT5jdXJfcG9zLCBiY291bnQpOwotCWVsc2UKLQkJaWRlX2Zsb3BweV9pb19idWZmZXJzKGRyaXZlLCBwYywgYmNvdW50LAotCQkJCSAgICAgICEhKHBjLT5mbGFncyAmIFBDX0ZMQUdfV1JJVElORykpOwotCi0JLyogVXBkYXRlIHRoZSBjdXJyZW50IHBvc2l0aW9uICovCi0JcGMtPnhmZXJyZWQgKz0gYmNvdW50OwotCXBjLT5jdXJfcG9zICs9IGJjb3VudDsKLQotCS8qIEFuZCBzZXQgdGhlIGludGVycnVwdCBoYW5kbGVyIGFnYWluICovCi0JaWRlX3NldF9oYW5kbGVyKGRyaXZlLCAmaWRlZmxvcHB5X3BjX2ludHIsIElERUZMT1BQWV9XQUlUX0NNRCwgTlVMTCk7Ci0JcmV0dXJuIGlkZV9zdGFydGVkOworCXJldHVybiBpZGVfcGNfaW50cihkcml2ZSwgZmxvcHB5LT5wYywgaWRlZmxvcHB5X3BjX2ludHIsCisJCQkgICBJREVGTE9QUFlfV0FJVF9DTUQsIE5VTEwsIGlkZWZsb3BweV91cGRhdGVfYnVmZmVycywKKwkJCSAgIGlkZWZsb3BweV9yZXRyeV9wYywgTlVMTCwgaWRlX2Zsb3BweV9pb19idWZmZXJzKTsKIH0KIAogLyoKLSAqIFRoaXMgaXMgdGhlIG9yaWdpbmFsIHJvdXRpbmUgdGhhdCBkaWQgdGhlIHBhY2tldCB0cmFuc2Zlci4KLSAqIEl0IGZhaWxzIGF0IGhpZ2ggc3BlZWRzIG9uIHRoZSBJb21lZ2EgWklQIGRyaXZlLCBzbyB0aGVyZSdzIGEgc2xvd2VyIHZlcnNpb24KLSAqIGZvciB0aGF0IGRyaXZlIGJlbG93LiBUaGUgYWxnb3JpdGhtIGlzIGNob3NlbiBiYXNlZCBvbiBkcml2ZSB0eXBlCi0gKi8KLXN0YXRpYyBpZGVfc3RhcnRzdG9wX3QgaWRlZmxvcHB5X3RyYW5zZmVyX3BjKGlkZV9kcml2ZV90ICpkcml2ZSkKLXsKLQlpZGVfaHdpZl90ICpod2lmID0gZHJpdmUtPmh3aWY7Ci0JaWRlX3N0YXJ0c3RvcF90IHN0YXJ0c3RvcDsKLQlpZGVmbG9wcHlfZmxvcHB5X3QgKmZsb3BweSA9IGRyaXZlLT5kcml2ZXJfZGF0YTsKLQl1OCBpcmVhc29uOwotCi0JaWYgKGlkZV93YWl0X3N0YXQoJnN0YXJ0c3RvcCwgZHJpdmUsIERSUV9TVEFULCBCVVNZX1NUQVQsIFdBSVRfUkVBRFkpKSB7Ci0JCXByaW50ayhLRVJOX0VSUiAiaWRlLWZsb3BweTogU3RyYW5nZSwgcGFja2V0IGNvbW1hbmQgIgotCQkJCSJpbml0aWF0ZWQgeWV0IERSUSBpc24ndCBhc3NlcnRlZFxuIik7Ci0JCXJldHVybiBzdGFydHN0b3A7Ci0JfQotCWlyZWFzb24gPSBod2lmLT5JTkIoaHdpZi0+aW9fcG9ydHMubnNlY3RfYWRkcik7Ci0JaWYgKChpcmVhc29uICYgQ0QpID09IDAgfHwgKGlyZWFzb24gJiBJTykpIHsKLQkJcHJpbnRrKEtFUk5fRVJSICJpZGUtZmxvcHB5OiAoSU8sQ29EKSAhPSAoMCwxKSB3aGlsZSAiCi0JCQkJImlzc3VpbmcgYSBwYWNrZXQgY29tbWFuZFxuIik7Ci0JCXJldHVybiBpZGVfZG9fcmVzZXQoZHJpdmUpOwotCX0KLQotCS8qIFNldCB0aGUgaW50ZXJydXB0IHJvdXRpbmUgKi8KLQlpZGVfc2V0X2hhbmRsZXIoZHJpdmUsICZpZGVmbG9wcHlfcGNfaW50ciwgSURFRkxPUFBZX1dBSVRfQ01ELCBOVUxMKTsKLQotCS8qIFNlbmQgdGhlIGFjdHVhbCBwYWNrZXQgKi8KLQlod2lmLT5vdXRwdXRfZGF0YShkcml2ZSwgTlVMTCwgZmxvcHB5LT5wYy0+YywgMTIpOwotCi0JcmV0dXJuIGlkZV9zdGFydGVkOwotfQotCi0KLS8qCiAgKiBXaGF0IHdlIGhhdmUgaGVyZSBpcyBhIGNsYXNzaWMgY2FzZSBvZiBhIHRvcCBoYWxmIC8gYm90dG9tIGhhbGYgaW50ZXJydXB0CiAgKiBzZXJ2aWNlIHJvdXRpbmUuIEluIGludGVycnVwdCBtb2RlLCB0aGUgZGV2aWNlIHNlbmRzIGFuIGludGVycnVwdCB0byBzaWduYWwKICAqIHRoYXQgaXQgaXMgcmVhZHkgdG8gcmVjZWl2ZSBhIHBhY2tldC4gSG93ZXZlciwgd2UgbmVlZCB0byBkZWxheSBhYm91dCAyLTMKICAqIHRpY2tzIGJlZm9yZSBpc3N1aW5nIHRoZSBwYWNrZXQgb3Igd2UgZ2V0cyBpbiB0cm91YmxlLgotICoKLSAqIFNvLCBmb2xsb3cgY2FyZWZ1bGx5LiB0cmFuc2Zlcl9wYzEgaXMgY2FsbGVkIGFzIGFuIGludGVycnVwdCAob3IgZGlyZWN0bHkpLgotICogSW4gZWl0aGVyIGNhc2UsIHdoZW4gdGhlIGRldmljZSBzYXlzIGl0J3MgcmVhZHkgZm9yIGEgcGFja2V0LCB3ZSBzY2hlZHVsZQotICogdGhlIHBhY2tldCB0cmFuc2ZlciB0byBvY2N1ciBhYm91dCAyLTMgdGlja3MgbGF0ZXIgaW4gdHJhbnNmZXJfcGMyLgogICovCi1zdGF0aWMgaW50IGlkZWZsb3BweV90cmFuc2Zlcl9wYzIoaWRlX2RyaXZlX3QgKmRyaXZlKQorc3RhdGljIGludCBpZGVmbG9wcHlfdHJhbnNmZXJfcGMoaWRlX2RyaXZlX3QgKmRyaXZlKQogewogCWlkZWZsb3BweV9mbG9wcHlfdCAqZmxvcHB5ID0gZHJpdmUtPmRyaXZlcl9kYXRhOwogCkBAIC01NzUsMjQgKzQxMSwxOSBAQAogCXJldHVybiBJREVGTE9QUFlfV0FJVF9DTUQ7CiB9CiAKLXN0YXRpYyBpZGVfc3RhcnRzdG9wX3QgaWRlZmxvcHB5X3RyYW5zZmVyX3BjMShpZGVfZHJpdmVfdCAqZHJpdmUpCi17Ci0JaWRlX2h3aWZfdCAqaHdpZiA9IGRyaXZlLT5od2lmOwotCWlkZWZsb3BweV9mbG9wcHlfdCAqZmxvcHB5ID0gZHJpdmUtPmRyaXZlcl9kYXRhOwotCWlkZV9zdGFydHN0b3BfdCBzdGFydHN0b3A7Ci0JdTggaXJlYXNvbjsKIAotCWlmIChpZGVfd2FpdF9zdGF0KCZzdGFydHN0b3AsIGRyaXZlLCBEUlFfU1RBVCwgQlVTWV9TVEFULCBXQUlUX1JFQURZKSkgewotCQlwcmludGsoS0VSTl9FUlIgImlkZS1mbG9wcHk6IFN0cmFuZ2UsIHBhY2tldCBjb21tYW5kICIKLQkJCQkiaW5pdGlhdGVkIHlldCBEUlEgaXNuJ3QgYXNzZXJ0ZWRcbiIpOwotCQlyZXR1cm4gc3RhcnRzdG9wOwotCX0KLQlpcmVhc29uID0gaHdpZi0+SU5CKGh3aWYtPmlvX3BvcnRzLm5zZWN0X2FkZHIpOwotCWlmICgoaXJlYXNvbiAmIENEKSA9PSAwIHx8IChpcmVhc29uICYgSU8pKSB7Ci0JCXByaW50ayhLRVJOX0VSUiAiaWRlLWZsb3BweTogKElPLENvRCkgIT0gKDAsMSkgIgotCQkJCSJ3aGlsZSBpc3N1aW5nIGEgcGFja2V0IGNvbW1hbmRcbiIpOwotCQlyZXR1cm4gaWRlX2RvX3Jlc2V0KGRyaXZlKTsKLQl9CisvKgorICogQ2FsbGVkIGFzIGFuIGludGVycnVwdCAob3IgZGlyZWN0bHkpLiBXaGVuIHRoZSBkZXZpY2Ugc2F5cyBpdCdzIHJlYWR5IGZvciBhCisgKiBwYWNrZXQsIHdlIHNjaGVkdWxlIHRoZSBwYWNrZXQgdHJhbnNmZXIgdG8gb2NjdXIgYWJvdXQgMi0zIHRpY2tzIGxhdGVyIGluCisgKiB0cmFuc2Zlcl9wYy4KKyAqLworc3RhdGljIGlkZV9zdGFydHN0b3BfdCBpZGVmbG9wcHlfc3RhcnRfcGNfdHJhbnNmZXIoaWRlX2RyaXZlX3QgKmRyaXZlKQoreworCWlkZWZsb3BweV9mbG9wcHlfdCAqZmxvcHB5ID0gZHJpdmUtPmRyaXZlcl9kYXRhOworCXN0cnVjdCBpZGVfYXRhcGlfcGMgKnBjID0gZmxvcHB5LT5wYzsKKwlpZGVfZXhwaXJ5X3QgKmV4cGlyeTsKKwl1bnNpZ25lZCBpbnQgdGltZW91dDsKKwogCS8qCiAJICogVGhlIGZvbGxvd2luZyBkZWxheSBzb2x2ZXMgYSBwcm9ibGVtIHdpdGggQVRBUEkgWmlwIDEwMCBkcml2ZXMKIAkgKiB3aGVyZSB0aGUgQnVzeSBmbGFnIHdhcyBhcHBhcmVudGx5IGJlaW5nIGRlYXNzZXJ0ZWQgYmVmb3JlIHRoZQpAQCAtNjAxLDEwICs0MzIsMTUgQEAKIAkgKiA0MCBhbmQgNTBtc2VjIHdvcmsgd2VsbC4gaWRlZmxvcHB5X3BjX2ludHIgd2lsbCBub3QgYmUgYWN0dWFsbHkKIAkgKiB1c2VkIHVudGlsIGFmdGVyIHRoZSBwYWNrZXQgaXMgbW92ZWQgaW4gYWJvdXQgNTAgbXNlYy4KIAkgKi8KKwlpZiAocGMtPmZsYWdzICYgUENfRkxBR19aSVBfRFJJVkUpIHsKKwkJdGltZW91dCA9IGZsb3BweS0+dGlja3M7CisJCWV4cGlyeSA9ICZpZGVmbG9wcHlfdHJhbnNmZXJfcGM7CisJfSBlbHNlIHsKKwkJdGltZW91dCA9IElERUZMT1BQWV9XQUlUX0NNRDsKKwkJZXhwaXJ5ID0gTlVMTDsKKwl9CiAKLQlpZGVfc2V0X2hhbmRsZXIoZHJpdmUsICZpZGVmbG9wcHlfcGNfaW50ciwgZmxvcHB5LT50aWNrcywKLQkJCSZpZGVmbG9wcHlfdHJhbnNmZXJfcGMyKTsKLQlyZXR1cm4gaWRlX3N0YXJ0ZWQ7CisJcmV0dXJuIGlkZV90cmFuc2Zlcl9wYyhkcml2ZSwgcGMsIGlkZWZsb3BweV9wY19pbnRyLCB0aW1lb3V0LCBleHBpcnkpOwogfQogCiBzdGF0aWMgdm9pZCBpZGVfZmxvcHB5X3JlcG9ydF9lcnJvcihpZGVmbG9wcHlfZmxvcHB5X3QgKmZsb3BweSwKQEAgLTYyNywxMCArNDYzLDYgQEAKIAkJc3RydWN0IGlkZV9hdGFwaV9wYyAqcGMpCiB7CiAJaWRlZmxvcHB5X2Zsb3BweV90ICpmbG9wcHkgPSBkcml2ZS0+ZHJpdmVyX2RhdGE7Ci0JaWRlX2h3aWZfdCAqaHdpZiA9IGRyaXZlLT5od2lmOwotCWlkZV9oYW5kbGVyX3QgKnBrdF94ZmVyX3JvdXRpbmU7Ci0JdTE2IGJjb3VudDsKLQl1OCBkbWE7CiAKIAlpZiAoZmxvcHB5LT5mYWlsZWRfcGMgPT0gTlVMTCAmJgogCSAgICBwYy0+Y1swXSAhPSBHUENNRF9SRVFVRVNUX1NFTlNFKQpAQCAtNjQ1LDY1ICs0NzcsMTYgQEAKIAkJcGMtPmVycm9yID0gSURFRkxPUFBZX0VSUk9SX0dFTkVSQUw7CiAKIAkJZmxvcHB5LT5mYWlsZWRfcGMgPSBOVUxMOwotCQlwYy0+aWRlZmxvcHB5X2NhbGxiYWNrKGRyaXZlKTsKKwkJcGMtPmNhbGxiYWNrKGRyaXZlKTsKIAkJcmV0dXJuIGlkZV9zdG9wcGVkOwogCX0KIAogCWRlYnVnX2xvZygiUmV0cnkgbnVtYmVyIC0gJWRcbiIsIHBjLT5yZXRyaWVzKTsKIAogCXBjLT5yZXRyaWVzKys7Ci0JLyogV2UgaGF2ZW4ndCB0cmFuc2ZlcnJlZCBhbnkgZGF0YSB5ZXQgKi8KLQlwYy0+eGZlcnJlZCA9IDA7Ci0JcGMtPmN1cl9wb3MgPSBwYy0+YnVmOwotCWJjb3VudCA9IG1pbihwYy0+cmVxX3hmZXIsIDYzICogMTAyNCk7CiAKLQlpZiAocGMtPmZsYWdzICYgUENfRkxBR19ETUFfRVJST1IpIHsKLQkJcGMtPmZsYWdzICY9IH5QQ19GTEFHX0RNQV9FUlJPUjsKLQkJaWRlX2RtYV9vZmYoZHJpdmUpOwotCX0KLQlkbWEgPSAwOwotCi0JaWYgKChwYy0+ZmxhZ3MgJiBQQ19GTEFHX0RNQV9SRUNPTU1FTkRFRCkgJiYgZHJpdmUtPnVzaW5nX2RtYSkKLQkJZG1hID0gIWh3aWYtPmRtYV9vcHMtPmRtYV9zZXR1cChkcml2ZSk7Ci0KLQlpZGVfcGt0Y21kX3RmX2xvYWQoZHJpdmUsIElERV9URkxBR19OT19TRUxFQ1RfTUFTSyB8Ci0JCQkgICBJREVfVEZMQUdfT1VUX0RFVklDRSwgYmNvdW50LCBkbWEpOwotCi0JaWYgKGRtYSkgewotCQkvKiBCZWdpbiBETUEsIGlmIG5lY2Vzc2FyeSAqLwotCQlwYy0+ZmxhZ3MgfD0gUENfRkxBR19ETUFfSU5fUFJPR1JFU1M7Ci0JCWh3aWYtPmRtYV9vcHMtPmRtYV9zdGFydChkcml2ZSk7Ci0JfQotCi0JLyogQ2FuIHdlIHRyYW5zZmVyIHRoZSBwYWNrZXQgd2hlbiB3ZSBnZXQgdGhlIGludGVycnVwdCBvciB3YWl0PyAqLwotCWlmIChmbG9wcHktPmZsYWdzICYgSURFRkxPUFBZX0ZMQUdfWklQX0RSSVZFKSB7Ci0JCS8qIHdhaXQgKi8KLQkJcGt0X3hmZXJfcm91dGluZSA9ICZpZGVmbG9wcHlfdHJhbnNmZXJfcGMxOwotCX0gZWxzZSB7Ci0JCS8qIGltbWVkaWF0ZSAqLwotCQlwa3RfeGZlcl9yb3V0aW5lID0gJmlkZWZsb3BweV90cmFuc2Zlcl9wYzsKLQl9Ci0KLQlpZiAoZmxvcHB5LT5mbGFncyAmIElERUZMT1BQWV9GTEFHX0RSUV9JTlRFUlJVUFQpIHsKLQkJLyogSXNzdWUgdGhlIHBhY2tldCBjb21tYW5kICovCi0JCWlkZV9leGVjdXRlX2NvbW1hbmQoZHJpdmUsIFdJTl9QQUNLRVRDTUQsCi0JCQkJcGt0X3hmZXJfcm91dGluZSwKLQkJCQlJREVGTE9QUFlfV0FJVF9DTUQsCi0JCQkJTlVMTCk7Ci0JCXJldHVybiBpZGVfc3RhcnRlZDsKLQl9IGVsc2UgewotCQkvKiBJc3N1ZSB0aGUgcGFja2V0IGNvbW1hbmQgKi8KLQkJaWRlX2V4ZWN1dGVfcGt0X2NtZChkcml2ZSk7Ci0JCXJldHVybiAoKnBrdF94ZmVyX3JvdXRpbmUpIChkcml2ZSk7Ci0JfQotfQotCi1zdGF0aWMgdm9pZCBpZGVmbG9wcHlfcndfY2FsbGJhY2soaWRlX2RyaXZlX3QgKmRyaXZlKQotewotCWRlYnVnX2xvZygiUmVhY2hlZCAlc1xuIiwgX19mdW5jX18pOwotCi0JaWRlZmxvcHB5X2VuZF9yZXF1ZXN0KGRyaXZlLCAxLCAwKTsKLQlyZXR1cm47CisJcmV0dXJuIGlkZV9pc3N1ZV9wYyhkcml2ZSwgcGMsIGlkZWZsb3BweV9zdGFydF9wY190cmFuc2ZlciwKKwkJCSAgICBJREVGTE9QUFlfV0FJVF9DTUQsIE5VTEwpOwogfQogCiBzdGF0aWMgdm9pZCBpZGVmbG9wcHlfY3JlYXRlX3ByZXZlbnRfY21kKHN0cnVjdCBpZGVfYXRhcGlfcGMgKnBjLCBpbnQgcHJldmVudCkKQEAgLTgwMCwyMSArNTgzLDE5IEBACiAJcHV0X3VuYWxpZ25lZChjcHVfdG9fYmUxNihibG9ja3MpLCAodW5zaWduZWQgc2hvcnQgKikmcGMtPmNbN10pOwogCXB1dF91bmFsaWduZWQoY3B1X3RvX2JlMzIoYmxvY2spLCAodW5zaWduZWQgaW50ICopICZwYy0+Y1syXSk7CiAKLQlwYy0+aWRlZmxvcHB5X2NhbGxiYWNrID0gJmlkZWZsb3BweV9yd19jYWxsYmFjazsKIAlwYy0+cnEgPSBycTsKIAlwYy0+Yl9jb3VudCA9IGNtZCA9PSBSRUFEID8gMCA6IHJxLT5iaW8tPmJpX3NpemU7CiAJaWYgKHJxLT5jbWRfZmxhZ3MgJiBSRVFfUlcpCiAJCXBjLT5mbGFncyB8PSBQQ19GTEFHX1dSSVRJTkc7CiAJcGMtPmJ1ZiA9IE5VTEw7CiAJcGMtPnJlcV94ZmVyID0gcGMtPmJ1Zl9zaXplID0gYmxvY2tzICogZmxvcHB5LT5ibG9ja19zaXplOwotCXBjLT5mbGFncyB8PSBQQ19GTEFHX0RNQV9SRUNPTU1FTkRFRDsKKwlwYy0+ZmxhZ3MgfD0gUENfRkxBR19ETUFfT0s7CiB9CiAKIHN0YXRpYyB2b2lkIGlkZWZsb3BweV9ibG9ja3BjX2NtZChpZGVmbG9wcHlfZmxvcHB5X3QgKmZsb3BweSwKIAkJc3RydWN0IGlkZV9hdGFwaV9wYyAqcGMsIHN0cnVjdCByZXF1ZXN0ICpycSkKIHsKIAlpZGVmbG9wcHlfaW5pdF9wYyhwYyk7Ci0JcGMtPmlkZWZsb3BweV9jYWxsYmFjayA9ICZpZGVmbG9wcHlfcndfY2FsbGJhY2s7CiAJbWVtY3B5KHBjLT5jLCBycS0+Y21kLCBzaXplb2YocGMtPmMpKTsKIAlwYy0+cnEgPSBycTsKIAlwYy0+Yl9jb3VudCA9IHJxLT5kYXRhX2xlbjsKQEAgLTgyMiw3ICs2MDMsNyBAQAogCQlwYy0+ZmxhZ3MgfD0gUENfRkxBR19XUklUSU5HOwogCXBjLT5idWYgPSBycS0+ZGF0YTsKIAlpZiAocnEtPmJpbykKLQkJcGMtPmZsYWdzIHw9IFBDX0ZMQUdfRE1BX1JFQ09NTUVOREVEOworCQlwYy0+ZmxhZ3MgfD0gUENfRkxBR19ETUFfT0s7CiAJLyoKIAkgKiBwb3NzaWJseSBwcm9ibGVtYXRpYywgZG9lc24ndCBsb29rIGxpa2UgaWRlLWZsb3BweSBjb3JyZWN0bHkKIAkgKiBoYW5kbGVkIHNjYXR0ZXJlZCByZXF1ZXN0cyBpZiBkbWEgZmFpbHMuLi4KQEAgLTg3NSw3ICs2NTYsMTQgQEAKIAkJcmV0dXJuIGlkZV9zdG9wcGVkOwogCX0KIAorCWlmIChmbG9wcHktPmZsYWdzICYgSURFRkxPUFBZX0ZMQUdfRFJRX0lOVEVSUlVQVCkKKwkJcGMtPmZsYWdzIHw9IFBDX0ZMQUdfRFJRX0lOVEVSUlVQVDsKKworCWlmIChmbG9wcHktPmZsYWdzICYgSURFRkxPUFBZX0ZMQUdfWklQX0RSSVZFKQorCQlwYy0+ZmxhZ3MgfD0gUENfRkxBR19aSVBfRFJJVkU7CisKIAlwYy0+cnEgPSBycTsKKwogCXJldHVybiBpZGVmbG9wcHlfaXNzdWVfcGMoZHJpdmUsIHBjKTsKIH0KIApAQCAtODg2LDE0ICs2NzQsMTYgQEAKIHN0YXRpYyBpbnQgaWRlZmxvcHB5X3F1ZXVlX3BjX3RhaWwoaWRlX2RyaXZlX3QgKmRyaXZlLCBzdHJ1Y3QgaWRlX2F0YXBpX3BjICpwYykKIHsKIAlzdHJ1Y3QgaWRlX2Zsb3BweV9vYmogKmZsb3BweSA9IGRyaXZlLT5kcml2ZXJfZGF0YTsKLQlzdHJ1Y3QgcmVxdWVzdCBycTsKKwlzdHJ1Y3QgcmVxdWVzdCAqcnE7CisJaW50IGVycm9yOwogCi0JaWRlX2luaXRfZHJpdmVfY21kKCZycSk7Ci0JcnEuYnVmZmVyID0gKGNoYXIgKikgcGM7Ci0JcnEuY21kX3R5cGUgPSBSRVFfVFlQRV9TUEVDSUFMOwotCXJxLnJxX2Rpc2sgPSBmbG9wcHktPmRpc2s7CisJcnEgPSBibGtfZ2V0X3JlcXVlc3QoZHJpdmUtPnF1ZXVlLCBSRUFELCBfX0dGUF9XQUlUKTsKKwlycS0+YnVmZmVyID0gKGNoYXIgKikgcGM7CisJcnEtPmNtZF90eXBlID0gUkVRX1RZUEVfU1BFQ0lBTDsKKwllcnJvciA9IGJsa19leGVjdXRlX3JxKGRyaXZlLT5xdWV1ZSwgZmxvcHB5LT5kaXNrLCBycSwgMCk7CisJYmxrX3B1dF9yZXF1ZXN0KHJxKTsKIAotCXJldHVybiBpZGVfZG9fZHJpdmVfY21kKGRyaXZlLCAmcnEsIGlkZV93YWl0KTsKKwlyZXR1cm4gZXJyb3I7CiB9CiAKIC8qCkBAIC0xNjIyLDExICsxNDEyLDYgQEAKIAkJCQkiIG9mIGlkZS1mbG9wcHlcbiIsIGRyaXZlLT5uYW1lKTsKIAkJZ290byBmYWlsZWQ7CiAJfQotCWlmIChkcml2ZS0+c2NzaSkgewotCQlwcmludGsoS0VSTl9JTkZPICJpZGUtZmxvcHB5OiBwYXNzaW5nIGRyaXZlICVzIHRvIGlkZS1zY3NpIgotCQkJCSIgZW11bGF0aW9uLlxuIiwgZHJpdmUtPm5hbWUpOwotCQlnb3RvIGZhaWxlZDsKLQl9CiAJZmxvcHB5ID0ga3phbGxvYyhzaXplb2YoaWRlZmxvcHB5X2Zsb3BweV90KSwgR0ZQX0tFUk5FTCk7CiAJaWYgKCFmbG9wcHkpIHsKIAkJcHJpbnRrKEtFUk5fRVJSICJpZGUtZmxvcHB5OiAlczogQ2FuJ3QgYWxsb2NhdGUgYSBmbG9wcHkiCmRpZmYgLS1naXQgYS9kcml2ZXJzL2lkZS9pZGUtaW8uYyBiL2RyaXZlcnMvaWRlL2lkZS1pby5jCmluZGV4IDY5NjUyNTMuLjI4MDU3NzQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaWRlL2lkZS1pby5jCisrKyBiL2RyaXZlcnMvaWRlL2lkZS1pby5jCkBAIC0zNTgsMzEgKzM1OCw2IEBACiAKIEVYUE9SVF9TWU1CT0woaWRlX2VuZF9kcml2ZV9jbWQpOwogCi0vKioKLSAqCXRyeV90b19mbHVzaF9sZWZ0b3Zlcl9kYXRhCS0JZmx1c2gganVuawotICoJQGRyaXZlOiBkcml2ZSB0byBmbHVzaAotICoKLSAqCXRyeV90b19mbHVzaF9sZWZ0b3Zlcl9kYXRhKCkgaXMgaW52b2tlZCBpbiByZXNwb25zZSB0byBhIGRyaXZlCi0gKgl1bmV4cGVjdGVkbHkgaGF2aW5nIGl0cyBEUlFfU1RBVCBiaXQgc2V0LiAgQXMgYW4gYWx0ZXJuYXRpdmUgdG8KLSAqCXJlc2V0dGluZyB0aGUgZHJpdmUsIHRoaXMgcm91dGluZSB0cmllcyB0byBjbGVhciB0aGUgY29uZGl0aW9uCi0gKglieSByZWFkIGEgc2VjdG9yJ3Mgd29ydGggb2YgZGF0YSBmcm9tIHRoZSBkcml2ZS4gIE9mIGNvdXJzZSwKLSAqCXRoaXMgbWF5IG5vdCBoZWxwIGlmIHRoZSBkcml2ZSBpcyAqd2FpdGluZyogZm9yIGRhdGEgZnJvbSAqdXMqLgotICovCi1zdGF0aWMgdm9pZCB0cnlfdG9fZmx1c2hfbGVmdG92ZXJfZGF0YSAoaWRlX2RyaXZlX3QgKmRyaXZlKQotewotCWludCBpID0gKGRyaXZlLT5tdWx0X2NvdW50ID8gZHJpdmUtPm11bHRfY291bnQgOiAxKSAqIFNFQ1RPUl9XT1JEUzsKLQotCWlmIChkcml2ZS0+bWVkaWEgIT0gaWRlX2Rpc2spCi0JCXJldHVybjsKLQl3aGlsZSAoaSA+IDApIHsKLQkJdTMyIGJ1ZmZlclsxNl07Ci0JCXUzMiB3Y291bnQgPSAoaSA+IDE2KSA/IDE2IDogaTsKLQotCQlpIC09IHdjb3VudDsKLQkJZHJpdmUtPmh3aWYtPmlucHV0X2RhdGEoZHJpdmUsIE5VTEwsIGJ1ZmZlciwgd2NvdW50ICogNCk7Ci0JfQotfQotCiBzdGF0aWMgdm9pZCBpZGVfa2lsbF9ycShpZGVfZHJpdmVfdCAqZHJpdmUsIHN0cnVjdCByZXF1ZXN0ICpycSkKIHsKIAlpZiAocnEtPnJxX2Rpc2spIHsKQEAgLTQyMiw4ICszOTcsMTEgQEAKIAl9CiAKIAlpZiAoKHN0YXQgJiBEUlFfU1RBVCkgJiYgcnFfZGF0YV9kaXIocnEpID09IFJFQUQgJiYKLQkgICAgKGh3aWYtPmhvc3RfZmxhZ3MgJiBJREVfSEZMQUdfRVJST1JfU1RPUFNfRklGTykgPT0gMCkKLQkJdHJ5X3RvX2ZsdXNoX2xlZnRvdmVyX2RhdGEoZHJpdmUpOworCSAgICAoaHdpZi0+aG9zdF9mbGFncyAmIElERV9IRkxBR19FUlJPUl9TVE9QU19GSUZPKSA9PSAwKSB7CisJCWludCBuc2VjdCA9IGRyaXZlLT5tdWx0X2NvdW50ID8gZHJpdmUtPm11bHRfY291bnQgOiAxOworCisJCWlkZV9wYWRfdHJhbnNmZXIoZHJpdmUsIFJFQUQsIG5zZWN0ICogU0VDVE9SX1NJWkUpOworCX0KIAogCWlmIChycS0+ZXJyb3JzID49IEVSUk9SX01BWCB8fCBibGtfbm9yZXRyeV9yZXF1ZXN0KHJxKSkgewogCQlpZGVfa2lsbF9ycShkcml2ZSwgcnEpOwpAQCAtNDU5LDcgKzQzNyw3IEBACiAKIAlpZiAoaWRlX3JlYWRfc3RhdHVzKGRyaXZlKSAmIChCVVNZX1NUQVQgfCBEUlFfU1RBVCkpCiAJCS8qIGZvcmNlIGFuIGFib3J0ICovCi0JCWh3aWYtPk9VVEJTWU5DKGRyaXZlLCBXSU5fSURMRUlNTUVESUFURSwKKwkJaHdpZi0+T1VUQlNZTkMoaHdpZiwgV0lOX0lETEVJTU1FRElBVEUsCiAJCQkgICAgICAgaHdpZi0+aW9fcG9ydHMuY29tbWFuZF9hZGRyKTsKIAogCWlmIChycS0+ZXJyb3JzID49IEVSUk9SX01BWCkgewpAQCAtMTUzOSw4OCArMTUxNywzMCBAQAogfQogCiAvKioKLSAqCWlkZV9pbml0X2RyaXZlX2NtZAktCWluaXRpYWxpemUgYSBkcml2ZSBjb21tYW5kIHJlcXVlc3QKLSAqCUBycTogcmVxdWVzdCBvYmplY3QKLSAqCi0gKglJbml0aWFsaXplIGEgcmVxdWVzdCBiZWZvcmUgd2UgZmlsbCBpdCBpbiBhbmQgc2VuZCBpdCBkb3duIHRvCi0gKglpZGVfZG9fZHJpdmVfY21kLiBDb21tYW5kcyBtdXN0IGJlIHNldCB1cCBieSB0aGlzIGZ1bmN0aW9uLiBSaWdodAotICoJbm93IGl0IGRvZXNuJ3QgZG8gYSBsb3QsIGJ1dCBpZiB0aGF0IGNoYW5nZXMgYWJ1c2VycyB3aWxsIGhhdmUgYQotICoJbmFzdHkgc3VycHJpc2UuCi0gKi8KLQotdm9pZCBpZGVfaW5pdF9kcml2ZV9jbWQgKHN0cnVjdCByZXF1ZXN0ICpycSkKLXsKLQlibGtfcnFfaW5pdChOVUxMLCBycSk7Ci19Ci0KLUVYUE9SVF9TWU1CT0woaWRlX2luaXRfZHJpdmVfY21kKTsKLQotLyoqCiAgKglpZGVfZG9fZHJpdmVfY21kCS0JaXNzdWUgSURFIHNwZWNpYWwgY29tbWFuZAogICoJQGRyaXZlOiBkZXZpY2UgdG8gaXNzdWUgY29tbWFuZAogICoJQHJxOiByZXF1ZXN0IHRvIGlzc3VlCi0gKglAYWN0aW9uOiBhY3Rpb24gZm9yIHByb2Nlc3NpbmcKICAqCiAgKglUaGlzIGZ1bmN0aW9uIGlzc3VlcyBhIHNwZWNpYWwgSURFIGRldmljZSByZXF1ZXN0CiAgKglvbnRvIHRoZSByZXF1ZXN0IHF1ZXVlLgogICoKLSAqCUlmIGFjdGlvbiBpcyBpZGVfd2FpdCwgdGhlbiB0aGUgcnEgaXMgcXVldWVkIGF0IHRoZSBlbmQgb2YgdGhlCi0gKglyZXF1ZXN0IHF1ZXVlLCBhbmQgdGhlIGZ1bmN0aW9uIHNsZWVwcyB1bnRpbCBpdCBoYXMgYmVlbiBwcm9jZXNzZWQuCi0gKglUaGlzIGlzIGZvciB1c2Ugd2hlbiBpbnZva2VkIGZyb20gYW4gaW9jdGwgaGFuZGxlci4KLSAqCi0gKglJZiBhY3Rpb24gaXMgaWRlX3ByZWVtcHQsIHRoZW4gdGhlIHJxIGlzIHF1ZXVlZCBhdCB0aGUgaGVhZCBvZgotICoJdGhlIHJlcXVlc3QgcXVldWUsIGRpc3BsYWNpbmcgdGhlIGN1cnJlbnRseS1iZWluZy1wcm9jZXNzZWQKLSAqCXJlcXVlc3QgYW5kIHRoaXMgZnVuY3Rpb24gcmV0dXJucyBpbW1lZGlhdGVseSB3aXRob3V0IHdhaXRpbmcKLSAqCWZvciB0aGUgbmV3IHJxIHRvIGJlIGNvbXBsZXRlZC4gIFRoaXMgaXMgVkVSWSBEQU5HRVJPVVMsIGFuZCBpcwotICoJaW50ZW5kZWQgZm9yIGNhcmVmdWwgdXNlIGJ5IHRoZSBBVEFQSSB0YXBlL2Nkcm9tIGRyaXZlciBjb2RlLgotICoKLSAqCUlmIGFjdGlvbiBpcyBpZGVfZW5kLCB0aGVuIHRoZSBycSBpcyBxdWV1ZWQgYXQgdGhlIGVuZCBvZiB0aGUKLSAqCXJlcXVlc3QgcXVldWUsIGFuZCB0aGUgZnVuY3Rpb24gcmV0dXJucyBpbW1lZGlhdGVseSB3aXRob3V0IHdhaXRpbmcKLSAqCWZvciB0aGUgbmV3IHJxIHRvIGJlIGNvbXBsZXRlZC4gVGhpcyBpcyBhZ2FpbiBpbnRlbmRlZCBmb3IgY2FyZWZ1bAotICoJdXNlIGJ5IHRoZSBBVEFQSSB0YXBlL2Nkcm9tIGRyaXZlciBjb2RlLgorICoJdGhlIHJxIGlzIHF1ZXVlZCBhdCB0aGUgaGVhZCBvZiB0aGUgcmVxdWVzdCBxdWV1ZSwgZGlzcGxhY2luZworICoJdGhlIGN1cnJlbnRseS1iZWluZy1wcm9jZXNzZWQgcmVxdWVzdCBhbmQgdGhpcyBmdW5jdGlvbgorICoJcmV0dXJucyBpbW1lZGlhdGVseSB3aXRob3V0IHdhaXRpbmcgZm9yIHRoZSBuZXcgcnEgdG8gYmUKKyAqCWNvbXBsZXRlZC4gIFRoaXMgaXMgVkVSWSBEQU5HRVJPVVMsIGFuZCBpcyBpbnRlbmRlZCBmb3IKKyAqCWNhcmVmdWwgdXNlIGJ5IHRoZSBBVEFQSSB0YXBlL2Nkcm9tIGRyaXZlciBjb2RlLgogICovCi0gCi1pbnQgaWRlX2RvX2RyaXZlX2NtZCAoaWRlX2RyaXZlX3QgKmRyaXZlLCBzdHJ1Y3QgcmVxdWVzdCAqcnEsIGlkZV9hY3Rpb25fdCBhY3Rpb24pCisKK3ZvaWQgaWRlX2RvX2RyaXZlX2NtZChpZGVfZHJpdmVfdCAqZHJpdmUsIHN0cnVjdCByZXF1ZXN0ICpycSkKIHsKIAl1bnNpZ25lZCBsb25nIGZsYWdzOwogCWlkZV9od2dyb3VwX3QgKmh3Z3JvdXAgPSBIV0dST1VQKGRyaXZlKTsKLQlERUNMQVJFX0NPTVBMRVRJT05fT05TVEFDSyh3YWl0KTsKLQlpbnQgd2hlcmUgPSBFTEVWQVRPUl9JTlNFUlRfQkFDSywgZXJyOwotCWludCBtdXN0X3dhaXQgPSAoYWN0aW9uID09IGlkZV93YWl0IHx8IGFjdGlvbiA9PSBpZGVfaGVhZF93YWl0KTsKLQotCXJxLT5lcnJvcnMgPSAwOwotCi0JLyoKLQkgKiB3ZSBuZWVkIHRvIGhvbGQgYW4gZXh0cmEgcmVmZXJlbmNlIHRvIHJlcXVlc3QgZm9yIHNhZmUgaW5zcGVjdGlvbgotCSAqIGFmdGVyIGNvbXBsZXRpb24KLQkgKi8KLQlpZiAobXVzdF93YWl0KSB7Ci0JCXJxLT5yZWZfY291bnQrKzsKLQkJcnEtPmVuZF9pb19kYXRhID0gJndhaXQ7Ci0JCXJxLT5lbmRfaW8gPSBibGtfZW5kX3N5bmNfcnE7Ci0JfQogCiAJc3Bpbl9sb2NrX2lycXNhdmUoJmlkZV9sb2NrLCBmbGFncyk7Ci0JaWYgKGFjdGlvbiA9PSBpZGVfcHJlZW1wdCkKLQkJaHdncm91cC0+cnEgPSBOVUxMOwotCWlmIChhY3Rpb24gPT0gaWRlX3ByZWVtcHQgfHwgYWN0aW9uID09IGlkZV9oZWFkX3dhaXQpIHsKLQkJd2hlcmUgPSBFTEVWQVRPUl9JTlNFUlRfRlJPTlQ7Ci0JCXJxLT5jbWRfZmxhZ3MgfD0gUkVRX1BSRUVNUFQ7Ci0JfQotCV9fZWx2X2FkZF9yZXF1ZXN0KGRyaXZlLT5xdWV1ZSwgcnEsIHdoZXJlLCAwKTsKLQlpZGVfZG9fcmVxdWVzdChod2dyb3VwLCBJREVfTk9fSVJRKTsKKwlod2dyb3VwLT5ycSA9IE5VTEw7CisJX19lbHZfYWRkX3JlcXVlc3QoZHJpdmUtPnF1ZXVlLCBycSwgRUxFVkFUT1JfSU5TRVJUX0ZST05ULCAxKTsKKwlfX2dlbmVyaWNfdW5wbHVnX2RldmljZShkcml2ZS0+cXVldWUpOwogCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmlkZV9sb2NrLCBmbGFncyk7Ci0KLQllcnIgPSAwOwotCWlmIChtdXN0X3dhaXQpIHsKLQkJd2FpdF9mb3JfY29tcGxldGlvbigmd2FpdCk7Ci0JCWlmIChycS0+ZXJyb3JzKQotCQkJZXJyID0gLUVJTzsKLQotCQlibGtfcHV0X3JlcXVlc3QocnEpOwotCX0KLQotCXJldHVybiBlcnI7CiB9CiAKIEVYUE9SVF9TWU1CT0woaWRlX2RvX2RyaXZlX2NtZCk7CkBAIC0xNjM3LDYgKzE1NTcsOCBAQAogCXRhc2sudGYubGJhaCAgICA9IChiY291bnQgPj4gOCkgJiAweGZmOwogCiAJaWRlX3RmX2R1bXAoZHJpdmUtPm5hbWUsICZ0YXNrLnRmKTsKKwlpZGVfc2V0X2lycShkcml2ZSwgMSk7CisJU0VMRUNUX01BU0soZHJpdmUsIDApOwogCWRyaXZlLT5od2lmLT50Zl9sb2FkKGRyaXZlLCAmdGFzayk7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaWRlL2lkZS1pb3BzLmMgYi9kcml2ZXJzL2lkZS9pZGUtaW9wcy5jCmluZGV4IDBkYWY5MjMuLjgwYWQ0ZjIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaWRlL2lkZS1pb3BzLmMKKysrIGIvZHJpdmVycy9pZGUvaWRlLWlvcHMuYwpAQCAtNDIsNyArNDIsNyBAQAogCW91dGIodmFsLCBwb3J0KTsKIH0KIAotc3RhdGljIHZvaWQgaWRlX291dGJzeW5jIChpZGVfZHJpdmVfdCAqZHJpdmUsIHU4IGFkZHIsIHVuc2lnbmVkIGxvbmcgcG9ydCkKK3N0YXRpYyB2b2lkIGlkZV9vdXRic3luYyhpZGVfaHdpZl90ICpod2lmLCB1OCBhZGRyLCB1bnNpZ25lZCBsb25nIHBvcnQpCiB7CiAJb3V0YihhZGRyLCBwb3J0KTsKIH0KQEAgLTY4LDcgKzY4LDcgQEAKIAl3cml0ZWIodmFsdWUsICh2b2lkIF9faW9tZW0gKikgcG9ydCk7CiB9CiAKLXN0YXRpYyB2b2lkIGlkZV9tbV9vdXRic3luYyAoaWRlX2RyaXZlX3QgKmRyaXZlLCB1OCB2YWx1ZSwgdW5zaWduZWQgbG9uZyBwb3J0KQorc3RhdGljIHZvaWQgaWRlX21tX291dGJzeW5jKGlkZV9od2lmX3QgKmh3aWYsIHU4IHZhbHVlLCB1bnNpZ25lZCBsb25nIHBvcnQpCiB7CiAJd3JpdGViKHZhbHVlLCAodm9pZCBfX2lvbWVtICopIHBvcnQpOwogfQpAQCAtOTUsNyArOTUsNyBAQAogCWh3aWYtPk9VVEIoZHJpdmUtPnNlbGVjdC5hbGwsIGh3aWYtPmlvX3BvcnRzLmRldmljZV9hZGRyKTsKIH0KIAotc3RhdGljIHZvaWQgU0VMRUNUX01BU0soaWRlX2RyaXZlX3QgKmRyaXZlLCBpbnQgbWFzaykKK3ZvaWQgU0VMRUNUX01BU0soaWRlX2RyaXZlX3QgKmRyaXZlLCBpbnQgbWFzaykKIHsKIAljb25zdCBzdHJ1Y3QgaWRlX3BvcnRfb3BzICpwb3J0X29wcyA9IGRyaXZlLT5od2lmLT5wb3J0X29wczsKIApAQCAtMTIwLDExICsxMjAsNiBAQAogCWlmICh0YXNrLT50Zl9mbGFncyAmIElERV9URkxBR19GTEFHR0VEKQogCQlISUhJID0gMHhGRjsKIAotCWlkZV9zZXRfaXJxKGRyaXZlLCAxKTsKLQotCWlmICgodGFzay0+dGZfZmxhZ3MgJiBJREVfVEZMQUdfTk9fU0VMRUNUX01BU0spID09IDApCi0JCVNFTEVDVF9NQVNLKGRyaXZlLCAwKTsKLQogCWlmICh0YXNrLT50Zl9mbGFncyAmIElERV9URkxBR19PVVRfREFUQSkgewogCQl1MTYgZGF0YSA9ICh0Zi0+aG9iX2RhdGEgPDwgOCkgfCB0Zi0+ZGF0YTsKIApAQCAtMTkxLDcgKzE4Niw3IEBACiAJfQogCiAJLyogYmUgc3VyZSB3ZSdyZSBsb29raW5nIGF0IHRoZSBsb3cgb3JkZXIgYml0cyAqLwotCXRmX291dGIoZHJpdmUtPmN0bCAmIH4weDgwLCBpb19wb3J0cy0+Y3RsX2FkZHIpOworCXRmX291dGIoQVRBX0RFVkNUTF9PQlMgJiB+MHg4MCwgaW9fcG9ydHMtPmN0bF9hZGRyKTsKIAogCWlmICh0YXNrLT50Zl9mbGFncyAmIElERV9URkxBR19JTl9OU0VDVCkKIAkJdGYtPm5zZWN0ICA9IHRmX2luYihpb19wb3J0cy0+bnNlY3RfYWRkcik7CkBAIC0yMDUsNyArMjAwLDcgQEAKIAkJdGYtPmRldmljZSA9IHRmX2luYihpb19wb3J0cy0+ZGV2aWNlX2FkZHIpOwogCiAJaWYgKHRhc2stPnRmX2ZsYWdzICYgSURFX1RGTEFHX0xCQTQ4KSB7Ci0JCXRmX291dGIoZHJpdmUtPmN0bCB8IDB4ODAsIGlvX3BvcnRzLT5jdGxfYWRkcik7CisJCXRmX291dGIoQVRBX0RFVkNUTF9PQlMgfCAweDgwLCBpb19wb3J0cy0+Y3RsX2FkZHIpOwogCiAJCWlmICh0YXNrLT50Zl9mbGFncyAmIElERV9URkxBR19JTl9IT0JfRkVBVFVSRSkKIAkJCXRmLT5ob2JfZmVhdHVyZSA9IHRmX2luYihpb19wb3J0cy0+ZmVhdHVyZV9hZGRyKTsKQEAgLTY4OSw5ICs2ODQsOSBAQAogCSAqLwogCiAJU0VMRUNUX01BU0soZHJpdmUsIDEpOwotCWlkZV9zZXRfaXJxKGRyaXZlLCAxKTsKKwlpZGVfc2V0X2lycShkcml2ZSwgMCk7CiAJbXNsZWVwKDUwKTsKLQlod2lmLT5PVVRCU1lOQyhkcml2ZSwgV0lOX0lERU5USUZZLCBod2lmLT5pb19wb3J0cy5jb21tYW5kX2FkZHIpOworCWh3aWYtPk9VVEJTWU5DKGh3aWYsIFdJTl9JREVOVElGWSwgaHdpZi0+aW9fcG9ydHMuY29tbWFuZF9hZGRyKTsKIAl0aW1lb3V0ID0gamlmZmllcyArIFdBSVRfV09SU1RDQVNFOwogCWRvIHsKIAkJaWYgKHRpbWVfYWZ0ZXIoamlmZmllcywgdGltZW91dCkpIHsKQEAgLTc0NCw5ICs3MzksNiBAQAogCWludCBlcnJvciA9IDA7CiAJdTggc3RhdDsKIAotLy8Jd2hpbGUgKEhXR1JPVVAoZHJpdmUpLT5idXN5KQotLy8JCW1zbGVlcCg1MCk7Ci0KICNpZmRlZiBDT05GSUdfQkxLX0RFVl9JREVETUEKIAlpZiAoaHdpZi0+ZG1hX29wcykJLyogY2hlY2sgaWYgaG9zdCBzdXBwb3J0cyBETUEgKi8KIAkJaHdpZi0+ZG1hX29wcy0+ZG1hX2hvc3Rfc2V0KGRyaXZlLCAwKTsKQEAgLTc4MSw3ICs3NzMsNyBAQAogCWlkZV9zZXRfaXJxKGRyaXZlLCAwKTsKIAlod2lmLT5PVVRCKHNwZWVkLCBpb19wb3J0cy0+bnNlY3RfYWRkcik7CiAJaHdpZi0+T1VUQihTRVRGRUFUVVJFU19YRkVSLCBpb19wb3J0cy0+ZmVhdHVyZV9hZGRyKTsKLQlod2lmLT5PVVRCU1lOQyhkcml2ZSwgV0lOX1NFVEZFQVRVUkVTLCBpb19wb3J0cy0+Y29tbWFuZF9hZGRyKTsKKwlod2lmLT5PVVRCU1lOQyhod2lmLCBXSU5fU0VURkVBVFVSRVMsIGlvX3BvcnRzLT5jb21tYW5kX2FkZHIpOwogCWlmIChkcml2ZS0+cXVpcmtfbGlzdCA9PSAyKQogCQlpZGVfc2V0X2lycShkcml2ZSwgMSk7CiAKQEAgLTg4OSw3ICs4ODEsNyBAQAogCiAJc3Bpbl9sb2NrX2lycXNhdmUoJmlkZV9sb2NrLCBmbGFncyk7CiAJX19pZGVfc2V0X2hhbmRsZXIoZHJpdmUsIGhhbmRsZXIsIHRpbWVvdXQsIGV4cGlyeSk7Ci0JaHdpZi0+T1VUQlNZTkMoZHJpdmUsIGNtZCwgaHdpZi0+aW9fcG9ydHMuY29tbWFuZF9hZGRyKTsKKwlod2lmLT5PVVRCU1lOQyhod2lmLCBjbWQsIGh3aWYtPmlvX3BvcnRzLmNvbW1hbmRfYWRkcik7CiAJLyoKIAkgKiBEcml2ZSB0YWtlcyA0MDBuUyB0byByZXNwb25kLCB3ZSBtdXN0IGF2b2lkIHRoZSBJUlEgYmVpbmcKIAkgKiBzZXJ2aWNlZCBiZWZvcmUgdGhhdC4KQEAgLTkwNyw3ICs4OTksNyBAQAogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAKIAlzcGluX2xvY2tfaXJxc2F2ZSgmaWRlX2xvY2ssIGZsYWdzKTsKLQlod2lmLT5PVVRCU1lOQyhkcml2ZSwgV0lOX1BBQ0tFVENNRCwgaHdpZi0+aW9fcG9ydHMuY29tbWFuZF9hZGRyKTsKKwlod2lmLT5PVVRCU1lOQyhod2lmLCBXSU5fUEFDS0VUQ01ELCBod2lmLT5pb19wb3J0cy5jb21tYW5kX2FkZHIpOwogCW5kZWxheSg0MDApOwogCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmlkZV9sb2NrLCBmbGFncyk7CiB9CkBAIC0xMTAyLDcgKzEwOTQsNyBAQAogCQlwcmVfcmVzZXQoZHJpdmUpOwogCQlTRUxFQ1RfRFJJVkUoZHJpdmUpOwogCQl1ZGVsYXkgKDIwKTsKLQkJaHdpZi0+T1VUQlNZTkMoZHJpdmUsIFdJTl9TUlNULCBpb19wb3J0cy0+Y29tbWFuZF9hZGRyKTsKKwkJaHdpZi0+T1VUQlNZTkMoaHdpZiwgV0lOX1NSU1QsIGlvX3BvcnRzLT5jb21tYW5kX2FkZHIpOwogCQluZGVsYXkoNDAwKTsKIAkJaHdncm91cC0+cG9sbF90aW1lb3V0ID0gamlmZmllcyArIFdBSVRfV09SU1RDQVNFOwogCQlod2dyb3VwLT5wb2xsaW5nID0gMTsKQEAgLTExMzMsMTQgKzExMjUsMTQgQEAKIAkgKiByZWNvdmVyIGZyb20gcmVzZXQgdmVyeSBxdWlja2x5LCBzYXZpbmcgdXMgdGhlIGZpcnN0IDUwbXMgd2FpdCB0aW1lLgogCSAqLwogCS8qIHNldCBTUlNUIGFuZCBuSUVOICovCi0JaHdpZi0+T1VUQlNZTkMoZHJpdmUsIGRyaXZlLT5jdGx8NiwgaW9fcG9ydHMtPmN0bF9hZGRyKTsKKwlod2lmLT5PVVRCU1lOQyhod2lmLCBBVEFfREVWQ1RMX09CUyB8IDYsIGlvX3BvcnRzLT5jdGxfYWRkcik7CiAJLyogbW9yZSB0aGFuIGVub3VnaCB0aW1lICovCiAJdWRlbGF5KDEwKTsKIAlpZiAoZHJpdmUtPnF1aXJrX2xpc3QgPT0gMikKLQkJY3RsID0gZHJpdmUtPmN0bDsJLyogY2xlYXIgU1JTVCBhbmQgbklFTiAqLworCQljdGwgPSBBVEFfREVWQ1RMX09CUzsJCS8qIGNsZWFyIFNSU1QgYW5kIG5JRU4gKi8KIAllbHNlCi0JCWN0bCA9IGRyaXZlLT5jdGwgfCAyOwkvKiBjbGVhciBTUlNULCBsZWF2ZSBuSUVOICovCi0JaHdpZi0+T1VUQlNZTkMoZHJpdmUsIGN0bCwgaW9fcG9ydHMtPmN0bF9hZGRyKTsKKwkJY3RsID0gQVRBX0RFVkNUTF9PQlMgfCAyOwkvKiBjbGVhciBTUlNULCBsZWF2ZSBuSUVOICovCisJaHdpZi0+T1VUQlNZTkMoaHdpZiwgY3RsLCBpb19wb3J0cy0+Y3RsX2FkZHIpOwogCS8qIG1vcmUgdGhhbiBlbm91Z2ggdGltZSAqLwogCXVkZWxheSgxMCk7CiAJaHdncm91cC0+cG9sbF90aW1lb3V0ID0gamlmZmllcyArIFdBSVRfV09SU1RDQVNFOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pZGUvaWRlLXByb2JlLmMgYi9kcml2ZXJzL2lkZS9pZGUtcHJvYmUuYwppbmRleCAyNmU2OGI2Li5kMjFlNTFhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2lkZS9pZGUtcHJvYmUuYworKysgYi9kcml2ZXJzL2lkZS9pZGUtcHJvYmUuYwpAQCAtMjkzLDcgKzI5Myw3IEBACiAJCWh3aWYtPk9VVEIoMCwgaW9fcG9ydHMtPmZlYXR1cmVfYWRkcik7CiAKIAkvKiBhc2sgZHJpdmUgZm9yIElEICovCi0JaHdpZi0+T1VUQlNZTkMoZHJpdmUsIGNtZCwgaW9fcG9ydHMtPmNvbW1hbmRfYWRkcik7CisJaHdpZi0+T1VUQlNZTkMoaHdpZiwgY21kLCBod2lmLT5pb19wb3J0cy5jb21tYW5kX2FkZHIpOwogCiAJdGltZW91dCA9ICgoY21kID09IFdJTl9JREVOVElGWSkgPyBXQUlUX1dPUlNUQ0FTRSA6IFdBSVRfUElERU5USUZZKSAvIDI7CiAJdGltZW91dCArPSBqaWZmaWVzOwpAQCAtNDc4LDkgKzQ3OCw5IEBACiAJCQlwcmludGsoS0VSTl9FUlIgIiVzOiBubyByZXNwb25zZSAoc3RhdHVzID0gMHglMDJ4KSwgIgogCQkJCQkicmVzZXR0aW5nIGRyaXZlXG4iLCBkcml2ZS0+bmFtZSwgc3RhdCk7CiAJCQltc2xlZXAoNTApOwotCQkJaHdpZi0+T1VUQihkcml2ZS0+c2VsZWN0LmFsbCwgaW9fcG9ydHMtPmRldmljZV9hZGRyKTsKKwkJCVNFTEVDVF9EUklWRShkcml2ZSk7CiAJCQltc2xlZXAoNTApOwotCQkJaHdpZi0+T1VUQlNZTkMoZHJpdmUsIFdJTl9TUlNULCBpb19wb3J0cy0+Y29tbWFuZF9hZGRyKTsKKwkJCWh3aWYtPk9VVEJTWU5DKGh3aWYsIFdJTl9TUlNULCBpb19wb3J0cy0+Y29tbWFuZF9hZGRyKTsKIAkJCSh2b2lkKWlkZV9idXN5X3NsZWVwKGh3aWYpOwogCQkJcmMgPSB0cnlfdG9faWRlbnRpZnkoZHJpdmUsIGNtZCk7CiAJCX0KQEAgLTUxNiw3ICs1MTYsNyBAQAogCXByaW50aygiJXM6IGVuYWJsaW5nICVzIC0tICIsIGh3aWYtPm5hbWUsIGRyaXZlLT5pZC0+bW9kZWwpOwogCVNFTEVDVF9EUklWRShkcml2ZSk7CiAJbXNsZWVwKDUwKTsKLQlod2lmLT5PVVRCU1lOQyhkcml2ZSwgRVhBQllURV9FTkFCTEVfTkVTVCwgaHdpZi0+aW9fcG9ydHMuY29tbWFuZF9hZGRyKTsKKwlod2lmLT5PVVRCU1lOQyhod2lmLCBFWEFCWVRFX0VOQUJMRV9ORVNULCBod2lmLT5pb19wb3J0cy5jb21tYW5kX2FkZHIpOwogCiAJaWYgKGlkZV9idXN5X3NsZWVwKGh3aWYpKSB7CiAJCXByaW50ayhLRVJOX0NPTlQgImZhaWxlZCAodGltZW91dClcbiIpOwpAQCAtMTA2NSw3ICsxMDY1LDcgQEAKIAogCQlpZiAoaW9fcG9ydHMtPmN0bF9hZGRyKQogCQkJLyogY2xlYXIgbklFTiAqLwotCQkJaHdpZi0+T1VUQigweDA4LCBpb19wb3J0cy0+Y3RsX2FkZHIpOworCQkJaHdpZi0+T1VUQlNZTkMoaHdpZiwgQVRBX0RFVkNUTF9PQlMsIGlvX3BvcnRzLT5jdGxfYWRkcik7CiAKIAkJaWYgKHJlcXVlc3RfaXJxKGh3aWYtPmlycSwmaWRlX2ludHIsc2EsaHdpZi0+bmFtZSxod2dyb3VwKSkKIAkgICAgICAgCQlnb3RvIG91dF91bmxpbms7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2lkZS9pZGUtdGFwZS5jIGIvZHJpdmVycy9pZGUvaWRlLXRhcGUuYwppbmRleCAxZTFmMjYzLi5mOWNmMTY3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2lkZS9pZGUtdGFwZS5jCisrKyBiL2RyaXZlcnMvaWRlL2lkZS10YXBlLmMKQEAgLTE0NCw5ICsxNDQsNiBAQAogCiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqIEVuZCBvZiB0dW5hYmxlIHBhcmFtZXRlcnMgKioqKioqKioqKioqKioqKioqKioqKiovCiAKLS8qIFJlYWQvV3JpdGUgZXJyb3Igc2ltdWxhdGlvbiAqLwotI2RlZmluZSBTSU1VTEFURV9FUlJPUlMJCQkwCi0KIC8qIHRhcGUgZGlyZWN0aW9ucyAqLwogZW51bSB7CiAJSURFVEFQRV9ESVJfTk9ORSAgPSAoMSA8PCAwKSwKQEAgLTQ0Miw3ICs0MzksNyBAQAogCX0KIH0KIAotc3RhdGljIHZvaWQgaWRldGFwZV91cGRhdGVfYnVmZmVycyhzdHJ1Y3QgaWRlX2F0YXBpX3BjICpwYykKK3N0YXRpYyB2b2lkIGlkZXRhcGVfdXBkYXRlX2J1ZmZlcnMoaWRlX2RyaXZlX3QgKmRyaXZlLCBzdHJ1Y3QgaWRlX2F0YXBpX3BjICpwYykKIHsKIAlzdHJ1Y3QgaWRldGFwZV9iaCAqYmggPSBwYy0+Ymg7CiAJaW50IGNvdW50OwpAQCAtNTA2LDE4ICs1MDMsNiBAQAogCXJldHVybiAoJnRhcGUtPnJxX3N0YWNrW3RhcGUtPnJxX3N0YWNrX2luZGV4KytdKTsKIH0KIAotc3RhdGljIHZvaWQgaWRldGFwZV9pbml0X3BjKHN0cnVjdCBpZGVfYXRhcGlfcGMgKnBjKQotewotCW1lbXNldChwYy0+YywgMCwgMTIpOwotCXBjLT5yZXRyaWVzID0gMDsKLQlwYy0+ZmxhZ3MgPSAwOwotCXBjLT5yZXFfeGZlciA9IDA7Ci0JcGMtPmJ1ZiA9IHBjLT5wY19idWY7Ci0JcGMtPmJ1Zl9zaXplID0gSURFVEFQRV9QQ19CVUZGRVJfU0laRTsKLQlwYy0+YmggPSBOVUxMOwotCXBjLT5iX2RhdGEgPSBOVUxMOwotfQotCiAvKgogICogY2FsbGVkIG9uIGVhY2ggZmFpbGVkIHBhY2tldCBjb21tYW5kIHJldHJ5IHRvIGFuYWx5emUgdGhlIHJlcXVlc3Qgc2Vuc2UuIFdlCiAgKiBjdXJyZW50bHkgZG8gbm90IHV0aWxpemUgdGhpcyBpbmZvcm1hdGlvbi4KQEAgLTUzOCw4ICs1MjMsOCBAQAogCWlmIChwYy0+ZmxhZ3MgJiBQQ19GTEFHX0RNQV9FUlJPUikgewogCQlwYy0+eGZlcnJlZCA9IHBjLT5yZXFfeGZlciAtCiAJCQl0YXBlLT5ibGtfc2l6ZSAqCi0JCQliZTMyX3RvX2NwdShnZXRfdW5hbGlnbmVkKCh1MzIgKikmc2Vuc2VbM10pKTsKLQkJaWRldGFwZV91cGRhdGVfYnVmZmVycyhwYyk7CisJCQlnZXRfdW5hbGlnbmVkX2JlMzIoJnNlbnNlWzNdKTsKKwkJaWRldGFwZV91cGRhdGVfYnVmZmVycyhkcml2ZSwgcGMpOwogCX0KIAogCS8qCkBAIC02MzQsMjEgKzYxOSw3OCBAQAogCXJldHVybiAwOwogfQogCi1zdGF0aWMgaWRlX3N0YXJ0c3RvcF90IGlkZXRhcGVfcmVxdWVzdF9zZW5zZV9jYWxsYmFjayhpZGVfZHJpdmVfdCAqZHJpdmUpCitzdGF0aWMgdm9pZCBpZGVfdGFwZV9jYWxsYmFjayhpZGVfZHJpdmVfdCAqZHJpdmUpCiB7CiAJaWRldGFwZV90YXBlX3QgKnRhcGUgPSBkcml2ZS0+ZHJpdmVyX2RhdGE7CisJc3RydWN0IGlkZV9hdGFwaV9wYyAqcGMgPSB0YXBlLT5wYzsKKwlpbnQgdXB0b2RhdGUgPSBwYy0+ZXJyb3IgPyAwIDogMTsKIAogCWRlYnVnX2xvZyhEQkdfUFJPQ1MsICJFbnRlciAlc1xuIiwgX19mdW5jX18pOwogCi0JaWYgKCF0YXBlLT5wYy0+ZXJyb3IpIHsKLQkJaWRldGFwZV9hbmFseXplX2Vycm9yKGRyaXZlLCB0YXBlLT5wYy0+YnVmKTsKLQkJaWRldGFwZV9lbmRfcmVxdWVzdChkcml2ZSwgMSwgMCk7Ci0JfSBlbHNlIHsKLQkJcHJpbnRrKEtFUk5fRVJSICJpZGUtdGFwZTogRXJyb3IgaW4gUkVRVUVTVCBTRU5TRSBpdHNlbGYgLSAiCi0JCQkJIkFib3J0aW5nIHJlcXVlc3QhXG4iKTsKLQkJaWRldGFwZV9lbmRfcmVxdWVzdChkcml2ZSwgMCwgMCk7CisJaWYgKHRhcGUtPmZhaWxlZF9wYyA9PSBwYykKKwkJdGFwZS0+ZmFpbGVkX3BjID0gTlVMTDsKKworCWlmIChwYy0+Y1swXSA9PSBSRVFVRVNUX1NFTlNFKSB7CisJCWlmICh1cHRvZGF0ZSkKKwkJCWlkZXRhcGVfYW5hbHl6ZV9lcnJvcihkcml2ZSwgcGMtPmJ1Zik7CisJCWVsc2UKKwkJCXByaW50ayhLRVJOX0VSUiAiaWRlLXRhcGU6IEVycm9yIGluIFJFUVVFU1QgU0VOU0UgIgorCQkJCQkiaXRzZWxmIC0gQWJvcnRpbmcgcmVxdWVzdCFcbiIpOworCX0gZWxzZSBpZiAocGMtPmNbMF0gPT0gUkVBRF82IHx8IHBjLT5jWzBdID09IFdSSVRFXzYpIHsKKwkJc3RydWN0IHJlcXVlc3QgKnJxID0gZHJpdmUtPmh3aWYtPmh3Z3JvdXAtPnJxOworCQlpbnQgYmxvY2tzID0gcGMtPnhmZXJyZWQgLyB0YXBlLT5ibGtfc2l6ZTsKKworCQl0YXBlLT5hdmdfc2l6ZSArPSBibG9ja3MgKiB0YXBlLT5ibGtfc2l6ZTsKKworCQlpZiAodGltZV9hZnRlcl9lcShqaWZmaWVzLCB0YXBlLT5hdmdfdGltZSArIEhaKSkgeworCQkJdGFwZS0+YXZnX3NwZWVkID0gdGFwZS0+YXZnX3NpemUgKiBIWiAvCisJCQkJKGppZmZpZXMgLSB0YXBlLT5hdmdfdGltZSkgLyAxMDI0OworCQkJdGFwZS0+YXZnX3NpemUgPSAwOworCQkJdGFwZS0+YXZnX3RpbWUgPSBqaWZmaWVzOworCQl9CisKKwkJdGFwZS0+Zmlyc3RfZnJhbWUgKz0gYmxvY2tzOworCQlycS0+Y3VycmVudF9ucl9zZWN0b3JzIC09IGJsb2NrczsKKworCQlpZiAocGMtPmVycm9yKQorCQkJdXB0b2RhdGUgPSBwYy0+ZXJyb3I7CisJfSBlbHNlIGlmIChwYy0+Y1swXSA9PSBSRUFEX1BPU0lUSU9OICYmIHVwdG9kYXRlKSB7CisJCXU4ICpyZWFkcG9zID0gdGFwZS0+cGMtPmJ1ZjsKKworCQlkZWJ1Z19sb2coREJHX1NFTlNFLCAiQk9QIC0gJXNcbiIsCisJCQkJKHJlYWRwb3NbMF0gJiAweDgwKSA/ICJZZXMiIDogIk5vIik7CisJCWRlYnVnX2xvZyhEQkdfU0VOU0UsICJFT1AgLSAlc1xuIiwKKwkJCQkocmVhZHBvc1swXSAmIDB4NDApID8gIlllcyIgOiAiTm8iKTsKKworCQlpZiAocmVhZHBvc1swXSAmIDB4NCkgeworCQkJcHJpbnRrKEtFUk5fSU5GTyAiaWRlLXRhcGU6IEJsb2NrIGxvY2F0aW9uIGlzIHVua25vd24iCisJCQkJCSAidG8gdGhlIHRhcGVcbiIpOworCQkJY2xlYXJfYml0KElERVRBUEVfRkxBR19BRERSRVNTX1ZBTElELCAmdGFwZS0+ZmxhZ3MpOworCQkJdXB0b2RhdGUgPSAwOworCQl9IGVsc2UgeworCQkJZGVidWdfbG9nKERCR19TRU5TRSwgIkJsb2NrIExvY2F0aW9uIC0gJXVcbiIsCisJCQkJCWJlMzJfdG9fY3B1KCoodTMyICopJnJlYWRwb3NbNF0pKTsKKworCQkJdGFwZS0+cGFydGl0aW9uID0gcmVhZHBvc1sxXTsKKwkJCXRhcGUtPmZpcnN0X2ZyYW1lID0gYmUzMl90b19jcHUoKih1MzIgKikmcmVhZHBvc1s0XSk7CisJCQlzZXRfYml0KElERVRBUEVfRkxBR19BRERSRVNTX1ZBTElELCAmdGFwZS0+ZmxhZ3MpOworCQl9CiAJfQotCXJldHVybiBpZGVfc3RvcHBlZDsKKworCWlkZXRhcGVfZW5kX3JlcXVlc3QoZHJpdmUsIHVwdG9kYXRlLCAwKTsKK30KKworc3RhdGljIHZvaWQgaWRldGFwZV9pbml0X3BjKHN0cnVjdCBpZGVfYXRhcGlfcGMgKnBjKQoreworCW1lbXNldChwYy0+YywgMCwgMTIpOworCXBjLT5yZXRyaWVzID0gMDsKKwlwYy0+ZmxhZ3MgPSAwOworCXBjLT5yZXFfeGZlciA9IDA7CisJcGMtPmJ1ZiA9IHBjLT5wY19idWY7CisJcGMtPmJ1Zl9zaXplID0gSURFVEFQRV9QQ19CVUZGRVJfU0laRTsKKwlwYy0+YmggPSBOVUxMOworCXBjLT5iX2RhdGEgPSBOVUxMOworCXBjLT5jYWxsYmFjayA9IGlkZV90YXBlX2NhbGxiYWNrOwogfQogCiBzdGF0aWMgdm9pZCBpZGV0YXBlX2NyZWF0ZV9yZXF1ZXN0X3NlbnNlX2NtZChzdHJ1Y3QgaWRlX2F0YXBpX3BjICpwYykKQEAgLTY1Nyw3ICs2OTksNiBAQAogCXBjLT5jWzBdID0gUkVRVUVTVF9TRU5TRTsKIAlwYy0+Y1s0XSA9IDIwOwogCXBjLT5yZXFfeGZlciA9IDIwOwotCXBjLT5pZGV0YXBlX2NhbGxiYWNrID0gJmlkZXRhcGVfcmVxdWVzdF9zZW5zZV9jYWxsYmFjazsKIH0KIAogc3RhdGljIHZvaWQgaWRldGFwZV9pbml0X3JxKHN0cnVjdCByZXF1ZXN0ICpycSwgdTggY21kKQpAQCAtNjg4LDkgKzcyOSwxMCBAQAogCXN0cnVjdCBpZGVfdGFwZV9vYmogKnRhcGUgPSBkcml2ZS0+ZHJpdmVyX2RhdGE7CiAKIAlpZGV0YXBlX2luaXRfcnEocnEsIFJFUV9JREVUQVBFX1BDMSk7CisJcnEtPmNtZF9mbGFncyB8PSBSRVFfUFJFRU1QVDsKIAlycS0+YnVmZmVyID0gKGNoYXIgKikgcGM7CiAJcnEtPnJxX2Rpc2sgPSB0YXBlLT5kaXNrOwotCSh2b2lkKSBpZGVfZG9fZHJpdmVfY21kKGRyaXZlLCBycSwgaWRlX3ByZWVtcHQpOworCWlkZV9kb19kcml2ZV9jbWQoZHJpdmUsIHJxKTsKIH0KIAogLyoKQEAgLTY5OCw3ICs3NDAsNyBAQAogICoJbGFzdCBwYWNrZXQgY29tbWFuZC4gV2UgcXVldWUgYSByZXF1ZXN0IHNlbnNlIHBhY2tldCBjb21tYW5kIGluCiAgKgl0aGUgaGVhZCBvZiB0aGUgcmVxdWVzdCBsaXN0LgogICovCi1zdGF0aWMgaWRlX3N0YXJ0c3RvcF90IGlkZXRhcGVfcmV0cnlfcGMgKGlkZV9kcml2ZV90ICpkcml2ZSkKK3N0YXRpYyB2b2lkIGlkZXRhcGVfcmV0cnlfcGMoaWRlX2RyaXZlX3QgKmRyaXZlKQogewogCWlkZXRhcGVfdGFwZV90ICp0YXBlID0gZHJpdmUtPmRyaXZlcl9kYXRhOwogCXN0cnVjdCBpZGVfYXRhcGlfcGMgKnBjOwpAQCAtNzEwLDcgKzc1Miw2IEBACiAJaWRldGFwZV9jcmVhdGVfcmVxdWVzdF9zZW5zZV9jbWQocGMpOwogCXNldF9iaXQoSURFVEFQRV9GTEFHX0lHTk9SRV9EU0MsICZ0YXBlLT5mbGFncyk7CiAJaWRldGFwZV9xdWV1ZV9wY19oZWFkKGRyaXZlLCBwYywgcnEpOwotCXJldHVybiBpZGVfc3RvcHBlZDsKIH0KIAogLyoKQEAgLTcyNyw3ICs3NjgsMjYgQEAKIAlpZGVfc3RhbGxfcXVldWUoZHJpdmUsIHRhcGUtPmRzY19wb2xsX2ZyZXEpOwogfQogCi10eXBlZGVmIHZvaWQgaWRldGFwZV9pb19idWYoaWRlX2RyaXZlX3QgKiwgc3RydWN0IGlkZV9hdGFwaV9wYyAqLCB1bnNpZ25lZCBpbnQpOworc3RhdGljIHZvaWQgaWRlX3RhcGVfaGFuZGxlX2RzYyhpZGVfZHJpdmVfdCAqZHJpdmUpCit7CisJaWRldGFwZV90YXBlX3QgKnRhcGUgPSBkcml2ZS0+ZHJpdmVyX2RhdGE7CisKKwkvKiBNZWRpYSBhY2Nlc3MgY29tbWFuZCAqLworCXRhcGUtPmRzY19wb2xsaW5nX3N0YXJ0ID0gamlmZmllczsKKwl0YXBlLT5kc2NfcG9sbF9mcmVxID0gSURFVEFQRV9EU0NfTUFfRkFTVDsKKwl0YXBlLT5kc2NfdGltZW91dCA9IGppZmZpZXMgKyBJREVUQVBFX0RTQ19NQV9USU1FT1VUOworCS8qIEFsbG93IGlkZS5jIHRvIGhhbmRsZSBvdGhlciByZXF1ZXN0cyAqLworCWlkZXRhcGVfcG9zdHBvbmVfcmVxdWVzdChkcml2ZSk7Cit9CisKK3N0YXRpYyB2b2lkIGlkZV90YXBlX2lvX2J1ZmZlcnMoaWRlX2RyaXZlX3QgKmRyaXZlLCBzdHJ1Y3QgaWRlX2F0YXBpX3BjICpwYywKKwkJCQl1bnNpZ25lZCBpbnQgYmNvdW50LCBpbnQgd3JpdGUpCit7CisJaWYgKHdyaXRlKQorCQlpZGV0YXBlX291dHB1dF9idWZmZXJzKGRyaXZlLCBwYywgYmNvdW50KTsKKwllbHNlCisJCWlkZXRhcGVfaW5wdXRfYnVmZmVycyhkcml2ZSwgcGMsIGJjb3VudCk7Cit9CiAKIC8qCiAgKiBUaGlzIGlzIHRoZSB1c3VhbCBpbnRlcnJ1cHQgaGFuZGxlciB3aGljaCB3aWxsIGJlIGNhbGxlZCBkdXJpbmcgYSBwYWNrZXQKQEAgLTczOCwxNjkgKzc5OCwxMSBAQAogICovCiBzdGF0aWMgaWRlX3N0YXJ0c3RvcF90IGlkZXRhcGVfcGNfaW50cihpZGVfZHJpdmVfdCAqZHJpdmUpCiB7Ci0JaWRlX2h3aWZfdCAqaHdpZiA9IGRyaXZlLT5od2lmOwogCWlkZXRhcGVfdGFwZV90ICp0YXBlID0gZHJpdmUtPmRyaXZlcl9kYXRhOwotCXN0cnVjdCBpZGVfYXRhcGlfcGMgKnBjID0gdGFwZS0+cGM7Ci0JeGZlcl9mdW5jX3QgKnhmZXJmdW5jOwotCWlkZXRhcGVfaW9fYnVmICppb2J1ZjsKLQl1bnNpZ25lZCBpbnQgdGVtcDsKLSNpZiBTSU1VTEFURV9FUlJPUlMKLQlzdGF0aWMgaW50IGVycm9yX3NpbV9jb3VudDsKLSNlbmRpZgotCXUxNiBiY291bnQ7Ci0JdTggc3RhdCwgaXJlYXNvbjsKIAotCWRlYnVnX2xvZyhEQkdfUFJPQ1MsICJFbnRlciAlcyAtIGludGVycnVwdCBoYW5kbGVyXG4iLCBfX2Z1bmNfXyk7Ci0KLQkvKiBDbGVhciB0aGUgaW50ZXJydXB0ICovCi0Jc3RhdCA9IGlkZV9yZWFkX3N0YXR1cyhkcml2ZSk7Ci0KLQlpZiAocGMtPmZsYWdzICYgUENfRkxBR19ETUFfSU5fUFJPR1JFU1MpIHsKLQkJaWYgKGh3aWYtPmRtYV9vcHMtPmRtYV9lbmQoZHJpdmUpIHx8IChzdGF0ICYgRVJSX1NUQVQpKSB7Ci0JCQkvKgotCQkJICogQSBETUEgZXJyb3IgaXMgc29tZXRpbWVzIGV4cGVjdGVkLiBGb3IgZXhhbXBsZSwKLQkJCSAqIGlmIHRoZSB0YXBlIGlzIGNyb3NzaW5nIGEgZmlsZW1hcmsgZHVyaW5nIGEKLQkJCSAqIFJFQUQgY29tbWFuZCwgaXQgd2lsbCBpc3N1ZSBhbiBpcnEgYW5kIHBvc2l0aW9uCi0JCQkgKiBpdHNlbGYgYmVmb3JlIHRoZSBmaWxlbWFyaywgc28gdGhhdCBvbmx5IGEgcGFydGlhbAotCQkJICogZGF0YSB0cmFuc2ZlciB3aWxsIG9jY3VyICh3aGljaCBjYXVzZXMgdGhlIERNQQotCQkJICogZXJyb3IpLiBJbiB0aGF0IGNhc2UsIHdlIHdpbGwgbGF0ZXIgYXNrIHRoZSB0YXBlCi0JCQkgKiBob3cgbXVjaCBieXRlcyBvZiB0aGUgb3JpZ2luYWwgcmVxdWVzdCB3ZXJlCi0JCQkgKiBhY3R1YWxseSB0cmFuc2ZlcnJlZCAod2UgY2FuJ3QgcmVjZWl2ZSB0aGF0Ci0JCQkgKiBpbmZvcm1hdGlvbiBmcm9tIHRoZSBETUEgZW5naW5lIG9uIG1vc3QgY2hpcHNldHMpLgotCQkJICovCi0KLQkJCS8qCi0JCQkgKiBPbiB0aGUgY29udHJhcnksIGEgRE1BIGVycm9yIGlzIG5ldmVyIGV4cGVjdGVkOwotCQkJICogaXQgdXN1YWxseSBpbmRpY2F0ZXMgYSBoYXJkd2FyZSBlcnJvciBvciBhYm9ydC4KLQkJCSAqIElmIHRoZSB0YXBlIGNyb3NzZXMgYSBmaWxlbWFyayBkdXJpbmcgYSBSRUFECi0JCQkgKiBjb21tYW5kLCBpdCB3aWxsIGlzc3VlIGFuIGlycSBhbmQgcG9zaXRpb24gaXRzZWxmCi0JCQkgKiBhZnRlciB0aGUgZmlsZW1hcmsgKG5vdCBiZWZvcmUpLiBPbmx5IGEgcGFydGlhbAotCQkJICogZGF0YSB0cmFuc2ZlciB3aWxsIG9jY3VyLCBidXQgbm8gRE1BIGVycm9yLgotCQkJICogKEFTLCAxOSBBcHIgMjAwMSkKLQkJCSAqLwotCQkJcGMtPmZsYWdzIHw9IFBDX0ZMQUdfRE1BX0VSUk9SOwotCQl9IGVsc2UgewotCQkJcGMtPnhmZXJyZWQgPSBwYy0+cmVxX3hmZXI7Ci0JCQlpZGV0YXBlX3VwZGF0ZV9idWZmZXJzKHBjKTsKLQkJfQotCQlkZWJ1Z19sb2coREJHX1BST0NTLCAiRE1BIGZpbmlzaGVkXG4iKTsKLQotCX0KLQotCS8qIE5vIG1vcmUgaW50ZXJydXB0cyAqLwotCWlmICgoc3RhdCAmIERSUV9TVEFUKSA9PSAwKSB7Ci0JCWRlYnVnX2xvZyhEQkdfU0VOU0UsICJQYWNrZXQgY29tbWFuZCBjb21wbGV0ZWQsICVkIGJ5dGVzIgotCQkJCSIgdHJhbnNmZXJyZWRcbiIsIHBjLT54ZmVycmVkKTsKLQotCQlwYy0+ZmxhZ3MgJj0gflBDX0ZMQUdfRE1BX0lOX1BST0dSRVNTOwotCQlsb2NhbF9pcnFfZW5hYmxlKCk7Ci0KLSNpZiBTSU1VTEFURV9FUlJPUlMKLQkJaWYgKChwYy0+Y1swXSA9PSBXUklURV82IHx8IHBjLT5jWzBdID09IFJFQURfNikgJiYKLQkJICAgICgrK2Vycm9yX3NpbV9jb3VudCAlIDEwMCkgPT0gMCkgewotCQkJcHJpbnRrKEtFUk5fSU5GTyAiaWRlLXRhcGU6ICVzOiBzaW11bGF0aW5nIGVycm9yXG4iLAotCQkJCXRhcGUtPm5hbWUpOwotCQkJc3RhdCB8PSBFUlJfU1RBVDsKLQkJfQotI2VuZGlmCi0JCWlmICgoc3RhdCAmIEVSUl9TVEFUKSAmJiBwYy0+Y1swXSA9PSBSRVFVRVNUX1NFTlNFKQotCQkJc3RhdCAmPSB+RVJSX1NUQVQ7Ci0JCWlmICgoc3RhdCAmIEVSUl9TVEFUKSB8fCAocGMtPmZsYWdzICYgUENfRkxBR19ETUFfRVJST1IpKSB7Ci0JCQkvKiBFcnJvciBkZXRlY3RlZCAqLwotCQkJZGVidWdfbG9nKERCR19FUlIsICIlczogSS9PIGVycm9yXG4iLCB0YXBlLT5uYW1lKTsKLQotCQkJaWYgKHBjLT5jWzBdID09IFJFUVVFU1RfU0VOU0UpIHsKLQkJCQlwcmludGsoS0VSTl9FUlIgImlkZS10YXBlOiBJL08gZXJyb3IgaW4gcmVxdWVzdCIKLQkJCQkJCSIgc2Vuc2UgY29tbWFuZFxuIik7Ci0JCQkJcmV0dXJuIGlkZV9kb19yZXNldChkcml2ZSk7Ci0JCQl9Ci0JCQlkZWJ1Z19sb2coREJHX0VSUiwgIltjbWQgJXhdOiBjaGVjayBjb25kaXRpb25cbiIsCi0JCQkJCXBjLT5jWzBdKTsKLQotCQkJLyogUmV0cnkgb3BlcmF0aW9uICovCi0JCQlyZXR1cm4gaWRldGFwZV9yZXRyeV9wYyhkcml2ZSk7Ci0JCX0KLQkJcGMtPmVycm9yID0gMDsKLQkJaWYgKChwYy0+ZmxhZ3MgJiBQQ19GTEFHX1dBSVRfRk9SX0RTQykgJiYKLQkJICAgIChzdGF0ICYgU0VFS19TVEFUKSA9PSAwKSB7Ci0JCQkvKiBNZWRpYSBhY2Nlc3MgY29tbWFuZCAqLwotCQkJdGFwZS0+ZHNjX3BvbGxpbmdfc3RhcnQgPSBqaWZmaWVzOwotCQkJdGFwZS0+ZHNjX3BvbGxfZnJlcSA9IElERVRBUEVfRFNDX01BX0ZBU1Q7Ci0JCQl0YXBlLT5kc2NfdGltZW91dCA9IGppZmZpZXMgKyBJREVUQVBFX0RTQ19NQV9USU1FT1VUOwotCQkJLyogQWxsb3cgaWRlLmMgdG8gaGFuZGxlIG90aGVyIHJlcXVlc3RzICovCi0JCQlpZGV0YXBlX3Bvc3Rwb25lX3JlcXVlc3QoZHJpdmUpOwotCQkJcmV0dXJuIGlkZV9zdG9wcGVkOwotCQl9Ci0JCWlmICh0YXBlLT5mYWlsZWRfcGMgPT0gcGMpCi0JCQl0YXBlLT5mYWlsZWRfcGMgPSBOVUxMOwotCQkvKiBDb21tYW5kIGZpbmlzaGVkIC0gQ2FsbCB0aGUgY2FsbGJhY2sgZnVuY3Rpb24gKi8KLQkJcmV0dXJuIHBjLT5pZGV0YXBlX2NhbGxiYWNrKGRyaXZlKTsKLQl9Ci0KLQlpZiAocGMtPmZsYWdzICYgUENfRkxBR19ETUFfSU5fUFJPR1JFU1MpIHsKLQkJcGMtPmZsYWdzICY9IH5QQ19GTEFHX0RNQV9JTl9QUk9HUkVTUzsKLQkJcHJpbnRrKEtFUk5fRVJSICJpZGUtdGFwZTogVGhlIHRhcGUgd2FudHMgdG8gaXNzdWUgbW9yZSAiCi0JCQkJImludGVycnVwdHMgaW4gRE1BIG1vZGVcbiIpOwotCQlwcmludGsoS0VSTl9FUlIgImlkZS10YXBlOiBETUEgZGlzYWJsZWQsIHJldmVydGluZyB0byBQSU9cbiIpOwotCQlpZGVfZG1hX29mZihkcml2ZSk7Ci0JCXJldHVybiBpZGVfZG9fcmVzZXQoZHJpdmUpOwotCX0KLQkvKiBHZXQgdGhlIG51bWJlciBvZiBieXRlcyB0byB0cmFuc2ZlciBvbiB0aGlzIGludGVycnVwdC4gKi8KLQliY291bnQgPSAoaHdpZi0+SU5CKGh3aWYtPmlvX3BvcnRzLmxiYWhfYWRkcikgPDwgOCkgfAotCQkgIGh3aWYtPklOQihod2lmLT5pb19wb3J0cy5sYmFtX2FkZHIpOwotCi0JaXJlYXNvbiA9IGh3aWYtPklOQihod2lmLT5pb19wb3J0cy5uc2VjdF9hZGRyKTsKLQotCWlmIChpcmVhc29uICYgQ0QpIHsKLQkJcHJpbnRrKEtFUk5fRVJSICJpZGUtdGFwZTogQ29EICE9IDAgaW4gJXNcbiIsIF9fZnVuY19fKTsKLQkJcmV0dXJuIGlkZV9kb19yZXNldChkcml2ZSk7Ci0JfQotCWlmICgoKGlyZWFzb24gJiBJTykgPT0gSU8pID09ICEhKHBjLT5mbGFncyAmIFBDX0ZMQUdfV1JJVElORykpIHsKLQkJLyogSG9wZWZ1bGx5LCB3ZSB3aWxsIG5ldmVyIGdldCBoZXJlICovCi0JCXByaW50ayhLRVJOX0VSUiAiaWRlLXRhcGU6IFdlIHdhbnRlZCB0byAlcywgIiwKLQkJCQkoaXJlYXNvbiAmIElPKSA/ICJXcml0ZSIgOiAiUmVhZCIpOwotCQlwcmludGsoS0VSTl9FUlIgImlkZS10YXBlOiBidXQgdGhlIHRhcGUgd2FudHMgdXMgdG8gJXMgIVxuIiwKLQkJCQkoaXJlYXNvbiAmIElPKSA/ICJSZWFkIiA6ICJXcml0ZSIpOwotCQlyZXR1cm4gaWRlX2RvX3Jlc2V0KGRyaXZlKTsKLQl9Ci0JaWYgKCEocGMtPmZsYWdzICYgUENfRkxBR19XUklUSU5HKSkgewotCQkvKiBSZWFkaW5nIC0gQ2hlY2sgdGhhdCB3ZSBoYXZlIGVub3VnaCBzcGFjZSAqLwotCQl0ZW1wID0gcGMtPnhmZXJyZWQgKyBiY291bnQ7Ci0JCWlmICh0ZW1wID4gcGMtPnJlcV94ZmVyKSB7Ci0JCQlpZiAodGVtcCA+IHBjLT5idWZfc2l6ZSkgewotCQkJCXByaW50ayhLRVJOX0VSUiAiaWRlLXRhcGU6IFRoZSB0YXBlIHdhbnRzIHRvICIKLQkJCQkJInNlbmQgdXMgbW9yZSBkYXRhIHRoYW4gZXhwZWN0ZWQgIgotCQkJCQkiLSBkaXNjYXJkaW5nIGRhdGFcbiIpOwotCQkJCWlkZV9wYWRfdHJhbnNmZXIoZHJpdmUsIDAsIGJjb3VudCk7Ci0JCQkJaWRlX3NldF9oYW5kbGVyKGRyaXZlLCAmaWRldGFwZV9wY19pbnRyLAotCQkJCQkJSURFVEFQRV9XQUlUX0NNRCwgTlVMTCk7Ci0JCQkJcmV0dXJuIGlkZV9zdGFydGVkOwotCQkJfQotCQkJZGVidWdfbG9nKERCR19TRU5TRSwgIlRoZSB0YXBlIHdhbnRzIHRvIHNlbmQgdXMgbW9yZSAiCi0JCQkJImRhdGEgdGhhbiBleHBlY3RlZCAtIGFsbG93aW5nIHRyYW5zZmVyXG4iKTsKLQkJfQotCQlpb2J1ZiA9ICZpZGV0YXBlX2lucHV0X2J1ZmZlcnM7Ci0JCXhmZXJmdW5jID0gaHdpZi0+aW5wdXRfZGF0YTsKLQl9IGVsc2UgewotCQlpb2J1ZiA9ICZpZGV0YXBlX291dHB1dF9idWZmZXJzOwotCQl4ZmVyZnVuYyA9IGh3aWYtPm91dHB1dF9kYXRhOwotCX0KLQotCWlmIChwYy0+YmgpCi0JCWlvYnVmKGRyaXZlLCBwYywgYmNvdW50KTsKLQllbHNlCi0JCXhmZXJmdW5jKGRyaXZlLCBOVUxMLCBwYy0+Y3VyX3BvcywgYmNvdW50KTsKLQotCS8qIFVwZGF0ZSB0aGUgY3VycmVudCBwb3NpdGlvbiAqLwotCXBjLT54ZmVycmVkICs9IGJjb3VudDsKLQlwYy0+Y3VyX3BvcyArPSBiY291bnQ7Ci0KLQlkZWJ1Z19sb2coREJHX1NFTlNFLCAiW2NtZCAleF0gdHJhbnNmZXJyZWQgJWQgYnl0ZXMgb24gdGhhdCBpbnRyLlxuIiwKLQkJCXBjLT5jWzBdLCBiY291bnQpOwotCi0JLyogQW5kIHNldCB0aGUgaW50ZXJydXB0IGhhbmRsZXIgYWdhaW4gKi8KLQlpZGVfc2V0X2hhbmRsZXIoZHJpdmUsICZpZGV0YXBlX3BjX2ludHIsIElERVRBUEVfV0FJVF9DTUQsIE5VTEwpOwotCXJldHVybiBpZGVfc3RhcnRlZDsKKwlyZXR1cm4gaWRlX3BjX2ludHIoZHJpdmUsIHRhcGUtPnBjLCBpZGV0YXBlX3BjX2ludHIsIElERVRBUEVfV0FJVF9DTUQsCisJCQkgICBOVUxMLCBpZGV0YXBlX3VwZGF0ZV9idWZmZXJzLCBpZGV0YXBlX3JldHJ5X3BjLAorCQkJICAgaWRlX3RhcGVfaGFuZGxlX2RzYywgaWRlX3RhcGVfaW9fYnVmZmVycyk7CiB9CiAKIC8qCkBAIC05NDEsNTYgKzg0MywxNiBAQAogICovCiBzdGF0aWMgaWRlX3N0YXJ0c3RvcF90IGlkZXRhcGVfdHJhbnNmZXJfcGMoaWRlX2RyaXZlX3QgKmRyaXZlKQogewotCWlkZV9od2lmX3QgKmh3aWYgPSBkcml2ZS0+aHdpZjsKIAlpZGV0YXBlX3RhcGVfdCAqdGFwZSA9IGRyaXZlLT5kcml2ZXJfZGF0YTsKLQlzdHJ1Y3QgaWRlX2F0YXBpX3BjICpwYyA9IHRhcGUtPnBjOwotCWludCByZXRyaWVzID0gMTAwOwotCWlkZV9zdGFydHN0b3BfdCBzdGFydHN0b3A7Ci0JdTggaXJlYXNvbjsKIAotCWlmIChpZGVfd2FpdF9zdGF0KCZzdGFydHN0b3AsIGRyaXZlLCBEUlFfU1RBVCwgQlVTWV9TVEFULCBXQUlUX1JFQURZKSkgewotCQlwcmludGsoS0VSTl9FUlIgImlkZS10YXBlOiBTdHJhbmdlLCBwYWNrZXQgY29tbWFuZCBpbml0aWF0ZWQgIgotCQkJCSJ5ZXQgRFJRIGlzbid0IGFzc2VydGVkXG4iKTsKLQkJcmV0dXJuIHN0YXJ0c3RvcDsKLQl9Ci0JaXJlYXNvbiA9IGh3aWYtPklOQihod2lmLT5pb19wb3J0cy5uc2VjdF9hZGRyKTsKLQl3aGlsZSAocmV0cmllcy0tICYmICgoaXJlYXNvbiAmIENEKSA9PSAwIHx8IChpcmVhc29uICYgSU8pKSkgewotCQlwcmludGsoS0VSTl9FUlIgImlkZS10YXBlOiAoSU8sQ29EICE9ICgwLDEpIHdoaWxlIGlzc3VpbmcgIgotCQkJCSJhIHBhY2tldCBjb21tYW5kLCByZXRyeWluZ1xuIik7Ci0JCXVkZWxheSgxMDApOwotCQlpcmVhc29uID0gaHdpZi0+SU5CKGh3aWYtPmlvX3BvcnRzLm5zZWN0X2FkZHIpOwotCQlpZiAocmV0cmllcyA9PSAwKSB7Ci0JCQlwcmludGsoS0VSTl9FUlIgImlkZS10YXBlOiAoSU8sQ29EICE9ICgwLDEpIHdoaWxlICIKLQkJCQkJImlzc3VpbmcgYSBwYWNrZXQgY29tbWFuZCwgaWdub3JpbmdcbiIpOwotCQkJaXJlYXNvbiB8PSBDRDsKLQkJCWlyZWFzb24gJj0gfklPOwotCQl9Ci0JfQotCWlmICgoaXJlYXNvbiAmIENEKSA9PSAwIHx8IChpcmVhc29uICYgSU8pKSB7Ci0JCXByaW50ayhLRVJOX0VSUiAiaWRlLXRhcGU6IChJTyxDb0QpICE9ICgwLDEpIHdoaWxlIGlzc3VpbmcgIgotCQkJCSJhIHBhY2tldCBjb21tYW5kXG4iKTsKLQkJcmV0dXJuIGlkZV9kb19yZXNldChkcml2ZSk7Ci0JfQotCS8qIFNldCB0aGUgaW50ZXJydXB0IHJvdXRpbmUgKi8KLQlpZGVfc2V0X2hhbmRsZXIoZHJpdmUsICZpZGV0YXBlX3BjX2ludHIsIElERVRBUEVfV0FJVF9DTUQsIE5VTEwpOwotI2lmZGVmIENPTkZJR19CTEtfREVWX0lERURNQQotCS8qIEJlZ2luIERNQSwgaWYgbmVjZXNzYXJ5ICovCi0JaWYgKHBjLT5mbGFncyAmIFBDX0ZMQUdfRE1BX0lOX1BST0dSRVNTKQotCQlod2lmLT5kbWFfb3BzLT5kbWFfc3RhcnQoZHJpdmUpOwotI2VuZGlmCi0JLyogU2VuZCB0aGUgYWN0dWFsIHBhY2tldCAqLwotCWh3aWYtPm91dHB1dF9kYXRhKGRyaXZlLCBOVUxMLCBwYy0+YywgMTIpOwotCi0JcmV0dXJuIGlkZV9zdGFydGVkOworCXJldHVybiBpZGVfdHJhbnNmZXJfcGMoZHJpdmUsIHRhcGUtPnBjLCBpZGV0YXBlX3BjX2ludHIsCisJCQkgICAgICAgSURFVEFQRV9XQUlUX0NNRCwgTlVMTCk7CiB9CiAKIHN0YXRpYyBpZGVfc3RhcnRzdG9wX3QgaWRldGFwZV9pc3N1ZV9wYyhpZGVfZHJpdmVfdCAqZHJpdmUsCiAJCXN0cnVjdCBpZGVfYXRhcGlfcGMgKnBjKQogewotCWlkZV9od2lmX3QgKmh3aWYgPSBkcml2ZS0+aHdpZjsKIAlpZGV0YXBlX3RhcGVfdCAqdGFwZSA9IGRyaXZlLT5kcml2ZXJfZGF0YTsKLQlpbnQgZG1hX29rID0gMDsKLQl1MTYgYmNvdW50OwogCiAJaWYgKHRhcGUtPnBjLT5jWzBdID09IFJFUVVFU1RfU0VOU0UgJiYKIAkgICAgcGMtPmNbMF0gPT0gUkVRVUVTVF9TRU5TRSkgewpAQCAtMTAyNSw1MCArODg3LDE1IEBACiAJCQlwYy0+ZXJyb3IgPSBJREVUQVBFX0VSUk9SX0dFTkVSQUw7CiAJCX0KIAkJdGFwZS0+ZmFpbGVkX3BjID0gTlVMTDsKLQkJcmV0dXJuIHBjLT5pZGV0YXBlX2NhbGxiYWNrKGRyaXZlKTsKKwkJcGMtPmNhbGxiYWNrKGRyaXZlKTsKKwkJcmV0dXJuIGlkZV9zdG9wcGVkOwogCX0KIAlkZWJ1Z19sb2coREJHX1NFTlNFLCAiUmV0cnkgIyVkLCBjbWQgPSAlMDJYXG4iLCBwYy0+cmV0cmllcywgcGMtPmNbMF0pOwogCiAJcGMtPnJldHJpZXMrKzsKLQkvKiBXZSBoYXZlbid0IHRyYW5zZmVycmVkIGFueSBkYXRhIHlldCAqLwotCXBjLT54ZmVycmVkID0gMDsKLQlwYy0+Y3VyX3BvcyA9IHBjLT5idWY7Ci0JLyogUmVxdWVzdCB0byB0cmFuc2ZlciB0aGUgZW50aXJlIGJ1ZmZlciBhdCBvbmNlICovCi0JYmNvdW50ID0gcGMtPnJlcV94ZmVyOwogCi0JaWYgKHBjLT5mbGFncyAmIFBDX0ZMQUdfRE1BX0VSUk9SKSB7Ci0JCXBjLT5mbGFncyAmPSB+UENfRkxBR19ETUFfRVJST1I7Ci0JCXByaW50ayhLRVJOX1dBUk5JTkcgImlkZS10YXBlOiBETUEgZGlzYWJsZWQsICIKLQkJCQkicmV2ZXJ0aW5nIHRvIFBJT1xuIik7Ci0JCWlkZV9kbWFfb2ZmKGRyaXZlKTsKLQl9Ci0JaWYgKChwYy0+ZmxhZ3MgJiBQQ19GTEFHX0RNQV9SRUNPTU1FTkRFRCkgJiYgZHJpdmUtPnVzaW5nX2RtYSkKLQkJZG1hX29rID0gIWh3aWYtPmRtYV9vcHMtPmRtYV9zZXR1cChkcml2ZSk7Ci0KLQlpZGVfcGt0Y21kX3RmX2xvYWQoZHJpdmUsIElERV9URkxBR19OT19TRUxFQ1RfTUFTSyB8Ci0JCQkgICBJREVfVEZMQUdfT1VUX0RFVklDRSwgYmNvdW50LCBkbWFfb2spOwotCi0JaWYgKGRtYV9vaykKLQkJLyogV2lsbCBiZWdpbiBETUEgbGF0ZXIgKi8KLQkJcGMtPmZsYWdzIHw9IFBDX0ZMQUdfRE1BX0lOX1BST0dSRVNTOwotCWlmICh0ZXN0X2JpdChJREVUQVBFX0ZMQUdfRFJRX0lOVEVSUlVQVCwgJnRhcGUtPmZsYWdzKSkgewotCQlpZGVfZXhlY3V0ZV9jb21tYW5kKGRyaXZlLCBXSU5fUEFDS0VUQ01ELCAmaWRldGFwZV90cmFuc2Zlcl9wYywKLQkJCQkgICAgSURFVEFQRV9XQUlUX0NNRCwgTlVMTCk7Ci0JCXJldHVybiBpZGVfc3RhcnRlZDsKLQl9IGVsc2UgewotCQlpZGVfZXhlY3V0ZV9wa3RfY21kKGRyaXZlKTsKLQkJcmV0dXJuIGlkZXRhcGVfdHJhbnNmZXJfcGMoZHJpdmUpOwotCX0KLX0KLQotc3RhdGljIGlkZV9zdGFydHN0b3BfdCBpZGV0YXBlX3BjX2NhbGxiYWNrKGlkZV9kcml2ZV90ICpkcml2ZSkKLXsKLQlpZGV0YXBlX3RhcGVfdCAqdGFwZSA9IGRyaXZlLT5kcml2ZXJfZGF0YTsKLQotCWRlYnVnX2xvZyhEQkdfUFJPQ1MsICJFbnRlciAlc1xuIiwgX19mdW5jX18pOwotCi0JaWRldGFwZV9lbmRfcmVxdWVzdChkcml2ZSwgdGFwZS0+cGMtPmVycm9yID8gMCA6IDEsIDApOwotCXJldHVybiBpZGVfc3RvcHBlZDsKKwlyZXR1cm4gaWRlX2lzc3VlX3BjKGRyaXZlLCBwYywgaWRldGFwZV90cmFuc2Zlcl9wYywKKwkJCSAgICBJREVUQVBFX1dBSVRfQ01ELCBOVUxMKTsKIH0KIAogLyogQSBtb2RlIHNlbnNlIGNvbW1hbmQgaXMgdXNlZCB0byAic2Vuc2UiIHRhcGUgcGFyYW1ldGVycy4gKi8KQEAgLTEwOTYsNyArOTIzLDYgQEAKIAkJcGMtPnJlcV94ZmVyID0gMjQ7CiAJZWxzZQogCQlwYy0+cmVxX3hmZXIgPSA1MDsKLQlwYy0+aWRldGFwZV9jYWxsYmFjayA9ICZpZGV0YXBlX3BjX2NhbGxiYWNrOwogfQogCiBzdGF0aWMgaWRlX3N0YXJ0c3RvcF90IGlkZXRhcGVfbWVkaWFfYWNjZXNzX2ZpbmlzaGVkKGlkZV9kcml2ZV90ICpkcml2ZSkKQEAgLTExMTQsODAgKzk0MCw0MSBAQAogCQkJCXByaW50ayhLRVJOX0VSUiAiaWRlLXRhcGU6ICVzOiBJL08gZXJyb3IsICIsCiAJCQkJCQl0YXBlLT5uYW1lKTsKIAkJCS8qIFJldHJ5IG9wZXJhdGlvbiAqLwotCQkJcmV0dXJuIGlkZXRhcGVfcmV0cnlfcGMoZHJpdmUpOworCQkJaWRldGFwZV9yZXRyeV9wYyhkcml2ZSk7CisJCQlyZXR1cm4gaWRlX3N0b3BwZWQ7CiAJCX0KIAkJcGMtPmVycm9yID0gMDsKLQkJaWYgKHRhcGUtPmZhaWxlZF9wYyA9PSBwYykKLQkJCXRhcGUtPmZhaWxlZF9wYyA9IE5VTEw7CiAJfSBlbHNlIHsKIAkJcGMtPmVycm9yID0gSURFVEFQRV9FUlJPUl9HRU5FUkFMOwogCQl0YXBlLT5mYWlsZWRfcGMgPSBOVUxMOwogCX0KLQlyZXR1cm4gcGMtPmlkZXRhcGVfY2FsbGJhY2soZHJpdmUpOwotfQotCi1zdGF0aWMgaWRlX3N0YXJ0c3RvcF90IGlkZXRhcGVfcndfY2FsbGJhY2soaWRlX2RyaXZlX3QgKmRyaXZlKQotewotCWlkZXRhcGVfdGFwZV90ICp0YXBlID0gZHJpdmUtPmRyaXZlcl9kYXRhOwotCXN0cnVjdCByZXF1ZXN0ICpycSA9IEhXR1JPVVAoZHJpdmUpLT5ycTsKLQlpbnQgYmxvY2tzID0gdGFwZS0+cGMtPnhmZXJyZWQgLyB0YXBlLT5ibGtfc2l6ZTsKLQotCXRhcGUtPmF2Z19zaXplICs9IGJsb2NrcyAqIHRhcGUtPmJsa19zaXplOwotCi0JaWYgKHRpbWVfYWZ0ZXJfZXEoamlmZmllcywgdGFwZS0+YXZnX3RpbWUgKyBIWikpIHsKLQkJdGFwZS0+YXZnX3NwZWVkID0gdGFwZS0+YXZnX3NpemUgKiBIWiAvCi0JCQkJKGppZmZpZXMgLSB0YXBlLT5hdmdfdGltZSkgLyAxMDI0OwotCQl0YXBlLT5hdmdfc2l6ZSA9IDA7Ci0JCXRhcGUtPmF2Z190aW1lID0gamlmZmllczsKLQl9Ci0JZGVidWdfbG9nKERCR19QUk9DUywgIkVudGVyICVzXG4iLCBfX2Z1bmNfXyk7Ci0KLQl0YXBlLT5maXJzdF9mcmFtZSArPSBibG9ja3M7Ci0JcnEtPmN1cnJlbnRfbnJfc2VjdG9ycyAtPSBibG9ja3M7Ci0KLQlpZiAoIXRhcGUtPnBjLT5lcnJvcikKLQkJaWRldGFwZV9lbmRfcmVxdWVzdChkcml2ZSwgMSwgMCk7Ci0JZWxzZQotCQlpZGV0YXBlX2VuZF9yZXF1ZXN0KGRyaXZlLCB0YXBlLT5wYy0+ZXJyb3IsIDApOworCXBjLT5jYWxsYmFjayhkcml2ZSk7CiAJcmV0dXJuIGlkZV9zdG9wcGVkOwogfQogCi1zdGF0aWMgdm9pZCBpZGV0YXBlX2NyZWF0ZV9yZWFkX2NtZChpZGV0YXBlX3RhcGVfdCAqdGFwZSwKLQkJc3RydWN0IGlkZV9hdGFwaV9wYyAqcGMsCi0JCXVuc2lnbmVkIGludCBsZW5ndGgsIHN0cnVjdCBpZGV0YXBlX2JoICpiaCkKK3N0YXRpYyB2b2lkIGlkZV90YXBlX2NyZWF0ZV9yd19jbWQoaWRldGFwZV90YXBlX3QgKnRhcGUsCisJCXN0cnVjdCBpZGVfYXRhcGlfcGMgKnBjLCB1bnNpZ25lZCBpbnQgbGVuZ3RoLAorCQlzdHJ1Y3QgaWRldGFwZV9iaCAqYmgsIHU4IG9wY29kZSkKIHsKIAlpZGV0YXBlX2luaXRfcGMocGMpOwotCXBjLT5jWzBdID0gUkVBRF82OwogCXB1dF91bmFsaWduZWQoY3B1X3RvX2JlMzIobGVuZ3RoKSwgKHVuc2lnbmVkIGludCAqKSAmcGMtPmNbMV0pOwogCXBjLT5jWzFdID0gMTsKLQlwYy0+aWRldGFwZV9jYWxsYmFjayA9ICZpZGV0YXBlX3J3X2NhbGxiYWNrOwogCXBjLT5iaCA9IGJoOwotCWF0b21pY19zZXQoJmJoLT5iX2NvdW50LCAwKTsKIAlwYy0+YnVmID0gTlVMTDsKIAlwYy0+YnVmX3NpemUgPSBsZW5ndGggKiB0YXBlLT5ibGtfc2l6ZTsKIAlwYy0+cmVxX3hmZXIgPSBwYy0+YnVmX3NpemU7CiAJaWYgKHBjLT5yZXFfeGZlciA9PSB0YXBlLT5idWZmZXJfc2l6ZSkKLQkJcGMtPmZsYWdzIHw9IFBDX0ZMQUdfRE1BX1JFQ09NTUVOREVEOwotfQorCQlwYy0+ZmxhZ3MgfD0gUENfRkxBR19ETUFfT0s7CiAKLXN0YXRpYyB2b2lkIGlkZXRhcGVfY3JlYXRlX3dyaXRlX2NtZChpZGV0YXBlX3RhcGVfdCAqdGFwZSwKLQkJc3RydWN0IGlkZV9hdGFwaV9wYyAqcGMsCi0JCXVuc2lnbmVkIGludCBsZW5ndGgsIHN0cnVjdCBpZGV0YXBlX2JoICpiaCkKLXsKLQlpZGV0YXBlX2luaXRfcGMocGMpOwotCXBjLT5jWzBdID0gV1JJVEVfNjsKLQlwdXRfdW5hbGlnbmVkKGNwdV90b19iZTMyKGxlbmd0aCksICh1bnNpZ25lZCBpbnQgKikgJnBjLT5jWzFdKTsKLQlwYy0+Y1sxXSA9IDE7Ci0JcGMtPmlkZXRhcGVfY2FsbGJhY2sgPSAmaWRldGFwZV9yd19jYWxsYmFjazsKLQlwYy0+ZmxhZ3MgfD0gUENfRkxBR19XUklUSU5HOwotCXBjLT5iaCA9IGJoOwotCXBjLT5iX2RhdGEgPSBiaC0+Yl9kYXRhOwotCXBjLT5iX2NvdW50ID0gYXRvbWljX3JlYWQoJmJoLT5iX2NvdW50KTsKLQlwYy0+YnVmID0gTlVMTDsKLQlwYy0+YnVmX3NpemUgPSBsZW5ndGggKiB0YXBlLT5ibGtfc2l6ZTsKLQlwYy0+cmVxX3hmZXIgPSBwYy0+YnVmX3NpemU7Ci0JaWYgKHBjLT5yZXFfeGZlciA9PSB0YXBlLT5idWZmZXJfc2l6ZSkKLQkJcGMtPmZsYWdzIHw9IFBDX0ZMQUdfRE1BX1JFQ09NTUVOREVEOworCWlmIChvcGNvZGUgPT0gUkVBRF82KSB7CisJCXBjLT5jWzBdID0gUkVBRF82OworCQlhdG9taWNfc2V0KCZiaC0+Yl9jb3VudCwgMCk7CisJfSBlbHNlIGlmIChvcGNvZGUgPT0gV1JJVEVfNikgeworCQlwYy0+Y1swXSA9IFdSSVRFXzY7CisJCXBjLT5mbGFncyB8PSBQQ19GTEFHX1dSSVRJTkc7CisJCXBjLT5iX2RhdGEgPSBiaC0+Yl9kYXRhOworCQlwYy0+Yl9jb3VudCA9IGF0b21pY19yZWFkKCZiaC0+Yl9jb3VudCk7CisJfQogfQogCiBzdGF0aWMgaWRlX3N0YXJ0c3RvcF90IGlkZXRhcGVfZG9fcmVxdWVzdChpZGVfZHJpdmVfdCAqZHJpdmUsCkBAIC0xMjExLDggKzk5OCwxMCBAQAogCX0KIAogCS8qIFJldHJ5IGEgZmFpbGVkIHBhY2tldCBjb21tYW5kICovCi0JaWYgKHRhcGUtPmZhaWxlZF9wYyAmJiB0YXBlLT5wYy0+Y1swXSA9PSBSRVFVRVNUX1NFTlNFKQotCQlyZXR1cm4gaWRldGFwZV9pc3N1ZV9wYyhkcml2ZSwgdGFwZS0+ZmFpbGVkX3BjKTsKKwlpZiAodGFwZS0+ZmFpbGVkX3BjICYmIHRhcGUtPnBjLT5jWzBdID09IFJFUVVFU1RfU0VOU0UpIHsKKwkJcGMgPSB0YXBlLT5mYWlsZWRfcGM7CisJCWdvdG8gb3V0OworCX0KIAogCWlmIChwb3N0cG9uZWRfcnEgIT0gTlVMTCkKIAkJaWYgKHJxICE9IHBvc3Rwb25lZF9ycSkgewpAQCAtMTI2MiwxNCArMTA1MSwxNiBAQAogCX0KIAlpZiAocnEtPmNtZFswXSAmIFJFUV9JREVUQVBFX1JFQUQpIHsKIAkJcGMgPSBpZGV0YXBlX25leHRfcGNfc3RvcmFnZShkcml2ZSk7Ci0JCWlkZXRhcGVfY3JlYXRlX3JlYWRfY21kKHRhcGUsIHBjLCBycS0+Y3VycmVudF9ucl9zZWN0b3JzLAotCQkJCQkoc3RydWN0IGlkZXRhcGVfYmggKilycS0+c3BlY2lhbCk7CisJCWlkZV90YXBlX2NyZWF0ZV9yd19jbWQodGFwZSwgcGMsIHJxLT5jdXJyZW50X25yX3NlY3RvcnMsCisJCQkJCShzdHJ1Y3QgaWRldGFwZV9iaCAqKXJxLT5zcGVjaWFsLAorCQkJCQlSRUFEXzYpOwogCQlnb3RvIG91dDsKIAl9CiAJaWYgKHJxLT5jbWRbMF0gJiBSRVFfSURFVEFQRV9XUklURSkgewogCQlwYyA9IGlkZXRhcGVfbmV4dF9wY19zdG9yYWdlKGRyaXZlKTsKLQkJaWRldGFwZV9jcmVhdGVfd3JpdGVfY21kKHRhcGUsIHBjLCBycS0+Y3VycmVudF9ucl9zZWN0b3JzLAotCQkJCQkgKHN0cnVjdCBpZGV0YXBlX2JoICopcnEtPnNwZWNpYWwpOworCQlpZGVfdGFwZV9jcmVhdGVfcndfY21kKHRhcGUsIHBjLCBycS0+Y3VycmVudF9ucl9zZWN0b3JzLAorCQkJCQkgKHN0cnVjdCBpZGV0YXBlX2JoICopcnEtPnNwZWNpYWwsCisJCQkJCSBXUklURV82KTsKIAkJZ290byBvdXQ7CiAJfQogCWlmIChycS0+Y21kWzBdICYgUkVRX0lERVRBUEVfUEMxKSB7CkBAIC0xMjg0LDYgKzEwNzUsOSBAQAogCX0KIAlCVUcoKTsKIG91dDoKKwlpZiAodGVzdF9iaXQoSURFVEFQRV9GTEFHX0RSUV9JTlRFUlJVUFQsICZ0YXBlLT5mbGFncykpCisJCXBjLT5mbGFncyB8PSBQQ19GTEFHX0RSUV9JTlRFUlJVUFQ7CisKIAlyZXR1cm4gaWRldGFwZV9pc3N1ZV9wYyhkcml2ZSwgcGMpOwogfQogCkBAIC0xNDQ3LDQwICsxMjQxLDYgQEAKIAl9CiB9CiAKLXN0YXRpYyBpZGVfc3RhcnRzdG9wX3QgaWRldGFwZV9yZWFkX3Bvc2l0aW9uX2NhbGxiYWNrKGlkZV9kcml2ZV90ICpkcml2ZSkKLXsKLQlpZGV0YXBlX3RhcGVfdCAqdGFwZSA9IGRyaXZlLT5kcml2ZXJfZGF0YTsKLQl1OCAqcmVhZHBvcyA9IHRhcGUtPnBjLT5idWY7Ci0KLQlkZWJ1Z19sb2coREJHX1BST0NTLCAiRW50ZXIgJXNcbiIsIF9fZnVuY19fKTsKLQotCWlmICghdGFwZS0+cGMtPmVycm9yKSB7Ci0JCWRlYnVnX2xvZyhEQkdfU0VOU0UsICJCT1AgLSAlc1xuIiwKLQkJCQkocmVhZHBvc1swXSAmIDB4ODApID8gIlllcyIgOiAiTm8iKTsKLQkJZGVidWdfbG9nKERCR19TRU5TRSwgIkVPUCAtICVzXG4iLAotCQkJCShyZWFkcG9zWzBdICYgMHg0MCkgPyAiWWVzIiA6ICJObyIpOwotCi0JCWlmIChyZWFkcG9zWzBdICYgMHg0KSB7Ci0JCQlwcmludGsoS0VSTl9JTkZPICJpZGUtdGFwZTogQmxvY2sgbG9jYXRpb24gaXMgdW5rbm93biIKLQkJCQkJICJ0byB0aGUgdGFwZVxuIik7Ci0JCQljbGVhcl9iaXQoSURFVEFQRV9GTEFHX0FERFJFU1NfVkFMSUQsICZ0YXBlLT5mbGFncyk7Ci0JCQlpZGV0YXBlX2VuZF9yZXF1ZXN0KGRyaXZlLCAwLCAwKTsKLQkJfSBlbHNlIHsKLQkJCWRlYnVnX2xvZyhEQkdfU0VOU0UsICJCbG9jayBMb2NhdGlvbiAtICV1XG4iLAotCQkJCQliZTMyX3RvX2NwdSgqKHUzMiAqKSZyZWFkcG9zWzRdKSk7Ci0KLQkJCXRhcGUtPnBhcnRpdGlvbiA9IHJlYWRwb3NbMV07Ci0JCQl0YXBlLT5maXJzdF9mcmFtZSA9Ci0JCQkJYmUzMl90b19jcHUoKih1MzIgKikmcmVhZHBvc1s0XSk7Ci0JCQlzZXRfYml0KElERVRBUEVfRkxBR19BRERSRVNTX1ZBTElELCAmdGFwZS0+ZmxhZ3MpOwotCQkJaWRldGFwZV9lbmRfcmVxdWVzdChkcml2ZSwgMSwgMCk7Ci0JCX0KLQl9IGVsc2UgewotCQlpZGV0YXBlX2VuZF9yZXF1ZXN0KGRyaXZlLCAwLCAwKTsKLQl9Ci0JcmV0dXJuIGlkZV9zdG9wcGVkOwotfQotCiAvKgogICogV3JpdGUgYSBmaWxlbWFyayBpZiB3cml0ZV9maWxlbWFyaz0xLiBGbHVzaCB0aGUgZGV2aWNlIGJ1ZmZlcnMgd2l0aG91dAogICogd3JpdGluZyBhIGZpbGVtYXJrIG90aGVyd2lzZS4KQEAgLTE0OTIsMTQgKzEyNTIsMTIgQEAKIAlwYy0+Y1swXSA9IFdSSVRFX0ZJTEVNQVJLUzsKIAlwYy0+Y1s0XSA9IHdyaXRlX2ZpbGVtYXJrOwogCXBjLT5mbGFncyB8PSBQQ19GTEFHX1dBSVRfRk9SX0RTQzsKLQlwYy0+aWRldGFwZV9jYWxsYmFjayA9ICZpZGV0YXBlX3BjX2NhbGxiYWNrOwogfQogCiBzdGF0aWMgdm9pZCBpZGV0YXBlX2NyZWF0ZV90ZXN0X3VuaXRfcmVhZHlfY21kKHN0cnVjdCBpZGVfYXRhcGlfcGMgKnBjKQogewogCWlkZXRhcGVfaW5pdF9wYyhwYyk7CiAJcGMtPmNbMF0gPSBURVNUX1VOSVRfUkVBRFk7Ci0JcGMtPmlkZXRhcGVfY2FsbGJhY2sgPSAmaWRldGFwZV9wY19jYWxsYmFjazsKIH0KIAogLyoKQEAgLTE1MTgsMTIgKzEyNzYsMTYgQEAKIHN0YXRpYyBpbnQgaWRldGFwZV9xdWV1ZV9wY190YWlsKGlkZV9kcml2ZV90ICpkcml2ZSwgc3RydWN0IGlkZV9hdGFwaV9wYyAqcGMpCiB7CiAJc3RydWN0IGlkZV90YXBlX29iaiAqdGFwZSA9IGRyaXZlLT5kcml2ZXJfZGF0YTsKLQlzdHJ1Y3QgcmVxdWVzdCBycTsKKwlzdHJ1Y3QgcmVxdWVzdCAqcnE7CisJaW50IGVycm9yOwogCi0JaWRldGFwZV9pbml0X3JxKCZycSwgUkVRX0lERVRBUEVfUEMxKTsKLQlycS5idWZmZXIgPSAoY2hhciAqKSBwYzsKLQlycS5ycV9kaXNrID0gdGFwZS0+ZGlzazsKLQlyZXR1cm4gaWRlX2RvX2RyaXZlX2NtZChkcml2ZSwgJnJxLCBpZGVfd2FpdCk7CisJcnEgPSBibGtfZ2V0X3JlcXVlc3QoZHJpdmUtPnF1ZXVlLCBSRUFELCBfX0dGUF9XQUlUKTsKKwlycS0+Y21kX3R5cGUgPSBSRVFfVFlQRV9TUEVDSUFMOworCXJxLT5jbWRbMF0gPSBSRVFfSURFVEFQRV9QQzE7CisJcnEtPmJ1ZmZlciA9IChjaGFyICopcGM7CisJZXJyb3IgPSBibGtfZXhlY3V0ZV9ycShkcml2ZS0+cXVldWUsIHRhcGUtPmRpc2ssIHJxLCAwKTsKKwlibGtfcHV0X3JlcXVlc3QocnEpOworCXJldHVybiBlcnJvcjsKIH0KIAogc3RhdGljIHZvaWQgaWRldGFwZV9jcmVhdGVfbG9hZF91bmxvYWRfY21kKGlkZV9kcml2ZV90ICpkcml2ZSwKQEAgLTE1MzMsNyArMTI5NSw2IEBACiAJcGMtPmNbMF0gPSBTVEFSVF9TVE9QOwogCXBjLT5jWzRdID0gY21kOwogCXBjLT5mbGFncyB8PSBQQ19GTEFHX1dBSVRfRk9SX0RTQzsKLQlwYy0+aWRldGFwZV9jYWxsYmFjayA9ICZpZGV0YXBlX3BjX2NhbGxiYWNrOwogfQogCiBzdGF0aWMgaW50IGlkZXRhcGVfd2FpdF9yZWFkeShpZGVfZHJpdmVfdCAqZHJpdmUsIHVuc2lnbmVkIGxvbmcgdGltZW91dCkKQEAgLTE1ODUsNyArMTM0Niw2IEBACiAJaWRldGFwZV9pbml0X3BjKHBjKTsKIAlwYy0+Y1swXSA9IFJFQURfUE9TSVRJT047CiAJcGMtPnJlcV94ZmVyID0gMjA7Ci0JcGMtPmlkZXRhcGVfY2FsbGJhY2sgPSAmaWRldGFwZV9yZWFkX3Bvc2l0aW9uX2NhbGxiYWNrOwogfQogCiBzdGF0aWMgaW50IGlkZXRhcGVfcmVhZF9wb3NpdGlvbihpZGVfZHJpdmVfdCAqZHJpdmUpCkBAIC0xNjEzLDcgKzEzNzMsNiBAQAogCXB1dF91bmFsaWduZWQoY3B1X3RvX2JlMzIoYmxvY2spLCAodW5zaWduZWQgaW50ICopICZwYy0+Y1szXSk7CiAJcGMtPmNbOF0gPSBwYXJ0aXRpb247CiAJcGMtPmZsYWdzIHw9IFBDX0ZMQUdfV0FJVF9GT1JfRFNDOwotCXBjLT5pZGV0YXBlX2NhbGxiYWNrID0gJmlkZXRhcGVfcGNfY2FsbGJhY2s7CiB9CiAKIHN0YXRpYyBpbnQgaWRldGFwZV9jcmVhdGVfcHJldmVudF9jbWQoaWRlX2RyaXZlX3QgKmRyaXZlLApAQCAtMTYyOCw3ICsxMzg3LDYgQEAKIAlpZGV0YXBlX2luaXRfcGMocGMpOwogCXBjLT5jWzBdID0gQUxMT1dfTUVESVVNX1JFTU9WQUw7CiAJcGMtPmNbNF0gPSBwcmV2ZW50OwotCXBjLT5pZGV0YXBlX2NhbGxiYWNrID0gJmlkZXRhcGVfcGNfY2FsbGJhY2s7CiAJcmV0dXJuIDE7CiB9CiAKQEAgLTE3MDAsMjYgKzE0NTgsMzMgQEAKIAkJCQkgc3RydWN0IGlkZXRhcGVfYmggKmJoKQogewogCWlkZXRhcGVfdGFwZV90ICp0YXBlID0gZHJpdmUtPmRyaXZlcl9kYXRhOwotCXN0cnVjdCByZXF1ZXN0IHJxOworCXN0cnVjdCByZXF1ZXN0ICpycTsKKwlpbnQgcmV0LCBlcnJvcnM7CiAKIAlkZWJ1Z19sb2coREJHX1NFTlNFLCAiJXM6IGNtZD0lZFxuIiwgX19mdW5jX18sIGNtZCk7CiAKLQlpZGV0YXBlX2luaXRfcnEoJnJxLCBjbWQpOwotCXJxLnJxX2Rpc2sgPSB0YXBlLT5kaXNrOwotCXJxLnNwZWNpYWwgPSAodm9pZCAqKWJoOwotCXJxLnNlY3RvciA9IHRhcGUtPmZpcnN0X2ZyYW1lOwotCXJxLm5yX3NlY3RvcnMJCT0gYmxvY2tzOwotCXJxLmN1cnJlbnRfbnJfc2VjdG9ycwk9IGJsb2NrczsKLQkodm9pZCkgaWRlX2RvX2RyaXZlX2NtZChkcml2ZSwgJnJxLCBpZGVfd2FpdCk7CisJcnEgPSBibGtfZ2V0X3JlcXVlc3QoZHJpdmUtPnF1ZXVlLCBSRUFELCBfX0dGUF9XQUlUKTsKKwlycS0+Y21kX3R5cGUgPSBSRVFfVFlQRV9TUEVDSUFMOworCXJxLT5jbWRbMF0gPSBjbWQ7CisJcnEtPnJxX2Rpc2sgPSB0YXBlLT5kaXNrOworCXJxLT5zcGVjaWFsID0gKHZvaWQgKiliaDsKKwlycS0+c2VjdG9yID0gdGFwZS0+Zmlyc3RfZnJhbWU7CisJcnEtPm5yX3NlY3RvcnMgPSBibG9ja3M7CisJcnEtPmN1cnJlbnRfbnJfc2VjdG9ycyA9IGJsb2NrczsKKwlibGtfZXhlY3V0ZV9ycShkcml2ZS0+cXVldWUsIHRhcGUtPmRpc2ssIHJxLCAwKTsKKworCWVycm9ycyA9IHJxLT5lcnJvcnM7CisJcmV0ID0gdGFwZS0+YmxrX3NpemUgKiAoYmxvY2tzIC0gcnEtPmN1cnJlbnRfbnJfc2VjdG9ycyk7CisJYmxrX3B1dF9yZXF1ZXN0KHJxKTsKIAogCWlmICgoY21kICYgKFJFUV9JREVUQVBFX1JFQUQgfCBSRVFfSURFVEFQRV9XUklURSkpID09IDApCiAJCXJldHVybiAwOwogCiAJaWYgKHRhcGUtPm1lcmdlX2JoKQogCQlpZGV0YXBlX2luaXRfbWVyZ2VfYnVmZmVyKHRhcGUpOwotCWlmIChycS5lcnJvcnMgPT0gSURFVEFQRV9FUlJPUl9HRU5FUkFMKQorCWlmIChlcnJvcnMgPT0gSURFVEFQRV9FUlJPUl9HRU5FUkFMKQogCQlyZXR1cm4gLUVJTzsKLQlyZXR1cm4gKHRhcGUtPmJsa19zaXplICogKGJsb2Nrcy1ycS5jdXJyZW50X25yX3NlY3RvcnMpKTsKKwlyZXR1cm4gcmV0OwogfQogCiBzdGF0aWMgdm9pZCBpZGV0YXBlX2NyZWF0ZV9pbnF1aXJ5X2NtZChzdHJ1Y3QgaWRlX2F0YXBpX3BjICpwYykKQEAgLTE3MjgsNyArMTQ5Myw2IEBACiAJcGMtPmNbMF0gPSBJTlFVSVJZOwogCXBjLT5jWzRdID0gMjU0OwogCXBjLT5yZXFfeGZlciA9IDI1NDsKLQlwYy0+aWRldGFwZV9jYWxsYmFjayA9ICZpZGV0YXBlX3BjX2NhbGxiYWNrOwogfQogCiBzdGF0aWMgdm9pZCBpZGV0YXBlX2NyZWF0ZV9yZXdpbmRfY21kKGlkZV9kcml2ZV90ICpkcml2ZSwKQEAgLTE3MzcsNyArMTUwMSw2IEBACiAJaWRldGFwZV9pbml0X3BjKHBjKTsKIAlwYy0+Y1swXSA9IFJFWkVST19VTklUOwogCXBjLT5mbGFncyB8PSBQQ19GTEFHX1dBSVRfRk9SX0RTQzsKLQlwYy0+aWRldGFwZV9jYWxsYmFjayA9ICZpZGV0YXBlX3BjX2NhbGxiYWNrOwogfQogCiBzdGF0aWMgdm9pZCBpZGV0YXBlX2NyZWF0ZV9lcmFzZV9jbWQoc3RydWN0IGlkZV9hdGFwaV9wYyAqcGMpCkBAIC0xNzQ2LDcgKzE1MDksNiBAQAogCXBjLT5jWzBdID0gRVJBU0U7CiAJcGMtPmNbMV0gPSAxOwogCXBjLT5mbGFncyB8PSBQQ19GTEFHX1dBSVRfRk9SX0RTQzsKLQlwYy0+aWRldGFwZV9jYWxsYmFjayA9ICZpZGV0YXBlX3BjX2NhbGxiYWNrOwogfQogCiBzdGF0aWMgdm9pZCBpZGV0YXBlX2NyZWF0ZV9zcGFjZV9jbWQoc3RydWN0IGlkZV9hdGFwaV9wYyAqcGMsIGludCBjb3VudCwgdTggY21kKQpAQCAtMTc1Niw3ICsxNTE4LDYgQEAKIAlwdXRfdW5hbGlnbmVkKGNwdV90b19iZTMyKGNvdW50KSwgKHVuc2lnbmVkIGludCAqKSAmcGMtPmNbMV0pOwogCXBjLT5jWzFdID0gY21kOwogCXBjLT5mbGFncyB8PSBQQ19GTEFHX1dBSVRfRk9SX0RTQzsKLQlwYy0+aWRldGFwZV9jYWxsYmFjayA9ICZpZGV0YXBlX3BjX2NhbGxiYWNrOwogfQogCiAvKiBRdWV1ZSB1cCBhIGNoYXJhY3RlciBkZXZpY2Ugb3JpZ2luYXRlZCB3cml0ZSByZXF1ZXN0LiAqLwpAQCAtMjQyMSw5ICsyMTgyLDEyIEBACiAJaWYgKGkgPj0gTUFYX0hXSUZTICogTUFYX0RSSVZFUykKIAkJcmV0dXJuIC1FTlhJTzsKIAorCWxvY2tfa2VybmVsKCk7CiAJdGFwZSA9IGlkZV90YXBlX2NocmRldl9nZXQoaSk7Ci0JaWYgKCF0YXBlKQorCWlmICghdGFwZSkgeworCQl1bmxvY2tfa2VybmVsKCk7CiAJCXJldHVybiAtRU5YSU87CisJfQogCiAJZGVidWdfbG9nKERCR19DSFJERVYsICJFbnRlciAlc1xuIiwgX19mdW5jX18pOwogCkBAIC0yNDgyLDEwICsyMjQ2LDEyIEBACiAJCQl9CiAJCX0KIAl9CisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiAwOwogCiBvdXRfcHV0X3RhcGU6CiAJaWRlX3RhcGVfcHV0KHRhcGUpOworCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gcmV0dmFsOwogfQogCkBAIC0yNzQ2LDkgKzI1MTIsOCBAQAogCSAqIEVuc3VyZSB0aGF0IHRoZSBudW1iZXIgd2UgZ290IG1ha2VzIHNlbnNlOyBsaW1pdCBpdCB3aXRoaW4KIAkgKiBJREVUQVBFX0RTQ19SV19NSU4gYW5kIElERVRBUEVfRFNDX1JXX01BWC4KIAkgKi8KLQl0YXBlLT5iZXN0X2RzY19yd19mcmVxID0gbWF4X3QodW5zaWduZWQgbG9uZywKLQkJCQltaW5fdCh1bnNpZ25lZCBsb25nLCB0LCBJREVUQVBFX0RTQ19SV19NQVgpLAotCQkJCUlERVRBUEVfRFNDX1JXX01JTik7CisJdGFwZS0+YmVzdF9kc2NfcndfZnJlcSA9IGNsYW1wX3QodW5zaWduZWQgbG9uZywgdCwgSURFVEFQRV9EU0NfUldfTUlOLAorCQkJCQkgSURFVEFQRV9EU0NfUldfTUFYKTsKIAlwcmludGsoS0VSTl9JTkZPICJpZGUtdGFwZTogJXMgPC0+ICVzOiAlZEtCcHMsICVkKiVka0IgYnVmZmVyLCAiCiAJCSIlbHVtcyB0RFNDJXNcbiIsCiAJCWRyaXZlLT5uYW1lLCB0YXBlLT5uYW1lLCAqKHUxNiAqKSZ0YXBlLT5jYXBzWzE0XSwKQEAgLTI5MDAsMTEgKzI2NjUsNiBAQAogCQkJCSIgdGhlIGRyaXZlclxuIiwgZHJpdmUtPm5hbWUpOwogCQlnb3RvIGZhaWxlZDsKIAl9Ci0JaWYgKGRyaXZlLT5zY3NpKSB7Ci0JCXByaW50ayhLRVJOX0lORk8gImlkZS10YXBlOiBwYXNzaW5nIGRyaXZlICVzIHRvIGlkZS1zY3NpIgotCQkJCSAiIGVtdWxhdGlvbi5cbiIsIGRyaXZlLT5uYW1lKTsKLQkJZ290byBmYWlsZWQ7Ci0JfQogCXRhcGUgPSBremFsbG9jKHNpemVvZihpZGV0YXBlX3RhcGVfdCksIEdGUF9LRVJORUwpOwogCWlmICh0YXBlID09IE5VTEwpIHsKIAkJcHJpbnRrKEtFUk5fRVJSICJpZGUtdGFwZTogJXM6IENhbid0IGFsbG9jYXRlIGEgdGFwZSBzdHJ1Y3RcbiIsCmRpZmYgLS1naXQgYS9kcml2ZXJzL2lkZS9pZGUtdGFza2ZpbGUuYyBiL2RyaXZlcnMvaWRlL2lkZS10YXNrZmlsZS5jCmluZGV4IGFiNTQ1ZmYuLmNmNTVhNDggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaWRlL2lkZS10YXNrZmlsZS5jCisrKyBiL2RyaXZlcnMvaWRlL2lkZS10YXNrZmlsZS5jCkBAIC0xMDksMTMgKzEwOSwxNSBAQAogCiAJaWYgKCh0YXNrLT50Zl9mbGFncyAmIElERV9URkxBR19ETUFfUElPX0ZBTExCQUNLKSA9PSAwKSB7CiAJCWlkZV90Zl9kdW1wKGRyaXZlLT5uYW1lLCB0Zik7CisJCWlkZV9zZXRfaXJxKGRyaXZlLCAxKTsKKwkJU0VMRUNUX01BU0soZHJpdmUsIDApOwogCQlod2lmLT50Zl9sb2FkKGRyaXZlLCB0YXNrKTsKIAl9CiAKIAlzd2l0Y2ggKHRhc2stPmRhdGFfcGhhc2UpIHsKIAljYXNlIFRBU0tGSUxFX01VTFRJX09VVDoKIAljYXNlIFRBU0tGSUxFX09VVDoKLQkJaHdpZi0+T1VUQlNZTkMoZHJpdmUsIHRmLT5jb21tYW5kLCBod2lmLT5pb19wb3J0cy5jb21tYW5kX2FkZHIpOworCQlod2lmLT5PVVRCU1lOQyhod2lmLCB0Zi0+Y29tbWFuZCwgaHdpZi0+aW9fcG9ydHMuY29tbWFuZF9hZGRyKTsKIAkJbmRlbGF5KDQwMCk7CS8qIEZJWE1FICovCiAJCXJldHVybiBwcmVfdGFza19vdXRfaW50cihkcml2ZSwgdGFzay0+cnEpOwogCWNhc2UgVEFTS0ZJTEVfTVVMVElfSU46CkBAIC00OTIsMTEgKzQ5NCwxMiBAQAogCiBpbnQgaWRlX3Jhd190YXNrZmlsZShpZGVfZHJpdmVfdCAqZHJpdmUsIGlkZV90YXNrX3QgKnRhc2ssIHU4ICpidWYsIHUxNiBuc2VjdCkKIHsKLQlzdHJ1Y3QgcmVxdWVzdCBycTsKKwlzdHJ1Y3QgcmVxdWVzdCAqcnE7CisJaW50IGVycm9yOwogCi0JYmxrX3JxX2luaXQoTlVMTCwgJnJxKTsKLQlycS5jbWRfdHlwZSA9IFJFUV9UWVBFX0FUQV9UQVNLRklMRTsKLQlycS5idWZmZXIgPSBidWY7CisJcnEgPSBibGtfZ2V0X3JlcXVlc3QoZHJpdmUtPnF1ZXVlLCBSRUFELCBfX0dGUF9XQUlUKTsKKwlycS0+Y21kX3R5cGUgPSBSRVFfVFlQRV9BVEFfVEFTS0ZJTEU7CisJcnEtPmJ1ZmZlciA9IGJ1ZjsKIAogCS8qCiAJICogKGtzKSBXZSB0cmFuc2ZlciBjdXJyZW50bHkgb25seSB3aG9sZSBzZWN0b3JzLgpAQCAtNTA0LDE2ICs1MDcsMTkgQEAKIAkgKiBpZiB3ZSB3b3VsZCBmaW5kIGEgc29sdXRpb24gdG8gdHJhbnNmZXIgYW55IHNpemUuCiAJICogVG8gc3VwcG9ydCBzcGVjaWFsIGNvbW1hbmRzIGxpa2UgUkVBRCBMT05HLgogCSAqLwotCXJxLmhhcmRfbnJfc2VjdG9ycyA9IHJxLm5yX3NlY3RvcnMgPSBuc2VjdDsKLQlycS5oYXJkX2N1cl9zZWN0b3JzID0gcnEuY3VycmVudF9ucl9zZWN0b3JzID0gbnNlY3Q7CisJcnEtPmhhcmRfbnJfc2VjdG9ycyA9IHJxLT5ucl9zZWN0b3JzID0gbnNlY3Q7CisJcnEtPmhhcmRfY3VyX3NlY3RvcnMgPSBycS0+Y3VycmVudF9ucl9zZWN0b3JzID0gbnNlY3Q7CiAKIAlpZiAodGFzay0+dGZfZmxhZ3MgJiBJREVfVEZMQUdfV1JJVEUpCi0JCXJxLmNtZF9mbGFncyB8PSBSRVFfUlc7CisJCXJxLT5jbWRfZmxhZ3MgfD0gUkVRX1JXOwogCi0JcnEuc3BlY2lhbCA9IHRhc2s7Ci0JdGFzay0+cnEgPSAmcnE7CisJcnEtPnNwZWNpYWwgPSB0YXNrOworCXRhc2stPnJxID0gcnE7CiAKLQlyZXR1cm4gaWRlX2RvX2RyaXZlX2NtZChkcml2ZSwgJnJxLCBpZGVfd2FpdCk7CisJZXJyb3IgPSBibGtfZXhlY3V0ZV9ycShkcml2ZS0+cXVldWUsIE5VTEwsIHJxLCAwKTsKKwlibGtfcHV0X3JlcXVlc3QocnEpOworCisJcmV0dXJuIGVycm9yOwogfQogCiBFWFBPUlRfU1lNQk9MKGlkZV9yYXdfdGFza2ZpbGUpOwpAQCAtNzM5LDEyICs3NDUsMTQgQEAKIAlzdHJ1Y3QgaGRfZHJpdmVpZCAqaWQgPSBkcml2ZS0+aWQ7CiAKIAlpZiAoTlVMTCA9PSAodm9pZCAqKSBhcmcpIHsKLQkJc3RydWN0IHJlcXVlc3QgcnE7CisJCXN0cnVjdCByZXF1ZXN0ICpycTsKIAotCQlpZGVfaW5pdF9kcml2ZV9jbWQoJnJxKTsKLQkJcnEuY21kX3R5cGUgPSBSRVFfVFlQRV9BVEFfVEFTS0ZJTEU7CisJCXJxID0gYmxrX2dldF9yZXF1ZXN0KGRyaXZlLT5xdWV1ZSwgUkVBRCwgX19HRlBfV0FJVCk7CisJCXJxLT5jbWRfdHlwZSA9IFJFUV9UWVBFX0FUQV9UQVNLRklMRTsKKwkJZXJyID0gYmxrX2V4ZWN1dGVfcnEoZHJpdmUtPnF1ZXVlLCBOVUxMLCBycSwgMCk7CisJCWJsa19wdXRfcmVxdWVzdChycSk7CiAKLQkJcmV0dXJuIGlkZV9kb19kcml2ZV9jbWQoZHJpdmUsICZycSwgaWRlX3dhaXQpOworCQlyZXR1cm4gZXJyOwogCX0KIAogCWlmIChjb3B5X2Zyb21fdXNlcihhcmdzLCAodm9pZCBfX3VzZXIgKilhcmcsIDQpKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pZGUvaWRlLXRpbWluZy5oIGIvZHJpdmVycy9pZGUvaWRlLXRpbWluZy5oCmluZGV4IDNiMTJmZmUuLjJlOTFjNTggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaWRlL2lkZS10aW1pbmcuaAorKysgYi9kcml2ZXJzL2lkZS9pZGUtdGltaW5nLmgKQEAgLTk1LDcgKzk1LDYgQEAKICNkZWZpbmUgSURFX1RJTUlOR19VRE1BCQkweDgwCiAjZGVmaW5lIElERV9USU1JTkdfQUxMCQkweGZmCiAKLSNkZWZpbmUgRklUKHYsdm1pbix2bWF4KQltYXhfdChzaG9ydCxtaW5fdChzaG9ydCx2LHZtYXgpLHZtaW4pCiAjZGVmaW5lIEVOT1VHSCh2LHVuaXQpCQkoKCh2KS0xKS8odW5pdCkrMSkKICNkZWZpbmUgRVoodix1bml0KQkJKCh2KT9FTk9VR0godix1bml0KTowKQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2lkZS9pZGUuYyBiL2RyaXZlcnMvaWRlL2lkZS5jCmluZGV4IDMwMDQzMWQuLjJiODQ1MzUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaWRlL2lkZS5jCisrKyBiL2RyaXZlcnMvaWRlL2lkZS5jCkBAIC04NiwxMyArODYsMTAgQEAKIAkJCQkJSURFNl9NQUpPUiwgSURFN19NQUpPUiwKIAkJCQkJSURFOF9NQUpPUiwgSURFOV9NQUpPUiB9OwogCi1zdGF0aWMgaW50IGlkZWJ1c19wYXJhbWV0ZXI7CS8qIGhvbGRzIHRoZSAiaWRlYnVzPSIgcGFyYW1ldGVyICovCi1zdGF0aWMgaW50IHN5c3RlbV9idXNfc3BlZWQ7CS8qIGhvbGRzIHdoYXQgd2UgdGhpbmsgaXMgVkVTQS9QQ0kgYnVzIHNwZWVkICovCi0KIERFRklORV9NVVRFWChpZGVfY2ZnX210eCk7Ci0gX19jYWNoZWxpbmVfYWxpZ25lZF9pbl9zbXAgREVGSU5FX1NQSU5MT0NLKGlkZV9sb2NrKTsKIAotaW50IG5vYXV0b2RtYSA9IDA7CitfX2NhY2hlbGluZV9hbGlnbmVkX2luX3NtcCBERUZJTkVfU1BJTkxPQ0soaWRlX2xvY2spOworRVhQT1JUX1NZTUJPTChpZGVfbG9jayk7CiAKIGlkZV9od2lmX3QgaWRlX2h3aWZzW01BWF9IV0lGU107CS8qIG1hc3RlciBkYXRhIHJlcG9zaXRvcnkgKi8KIApAQCAtMTM5LDcgKzEzNiw2IEBACiAJCWRyaXZlLT5tZWRpYQkJCT0gaWRlX2Rpc2s7CiAJCWRyaXZlLT5zZWxlY3QuYWxsCQk9ICh1bml0PDw0KXwweGEwOwogCQlkcml2ZS0+aHdpZgkJCT0gaHdpZjsKLQkJZHJpdmUtPmN0bAkJCT0gMHgwODsKIAkJZHJpdmUtPnJlYWR5X3N0YXQJCT0gUkVBRFlfU1RBVDsKIAkJZHJpdmUtPmJhZF93c3RhdAkJPSBCQURfV19TVEFUOwogCQlkcml2ZS0+c3BlY2lhbC5iLnJlY2FsaWJyYXRlCT0gMTsKQEAgLTE1NCwzMiArMTUwLDkgQEAKIAl9CiB9CiAKLS8qCi0gKiBpbml0X2lkZV9kYXRhKCkgc2V0cyByZWFzb25hYmxlIGRlZmF1bHQgdmFsdWVzIGludG8gYWxsIGZpZWxkcwotICogb2YgYWxsIGluc3RhbmNlcyBvZiB0aGUgaHdpZnMgYW5kIGRyaXZlcywgYnV0IG9ubHkgb24gdGhlIGZpcnN0IGNhbGwuCi0gKiBTdWJzZXF1ZW50IGNhbGxzIGhhdmUgbm8gZWZmZWN0ICh0aGV5IGRvbid0IHdpcGUgb3V0IGFueXRoaW5nKS4KLSAqCi0gKiBUaGlzIHJvdXRpbmUgaXMgbm9ybWFsbHkgY2FsbGVkIGF0IGRyaXZlciBpbml0aWFsaXphdGlvbiB0aW1lLAotICogYnV0IG1heSBhbHNvIGJlIGNhbGxlZCBNVUNIIGVhcmxpZXIgZHVyaW5nIGtlcm5lbCAiY29tbWFuZC1saW5lIgotICogcGFyYW1ldGVyIHByb2Nlc3NpbmcuICBBcyBzdWNoLCB3ZSBjYW5ub3QgZGVwZW5kIG9uIGFueSBvdGhlciBwYXJ0cwotICogb2YgdGhlIGtlcm5lbCAoc3VjaCBhcyBtZW1vcnkgYWxsb2NhdGlvbikgdG8gYmUgZnVuY3Rpb25pbmcgeWV0LgotICoKLSAqIFRoaXMgaXMgdG9vIGJhZCwgYXMgb3RoZXJ3aXNlIHdlIGNvdWxkIGR5bmFtaWNhbGx5IGFsbG9jYXRlIHRoZQotICogaWRlX2RyaXZlX3Qgc3RydWN0cyBhcyBuZWVkZWQsIHJhdGhlciB0aGFuIGFsd2F5cyBjb25zdW1pbmcgbWVtb3J5Ci0gKiBmb3IgdGhlIG1heCBwb3NzaWJsZSBudW1iZXIgKE1BWF9IV0lGUyAqIE1BWF9EUklWRVMpIG9mIHRoZW0uCi0gKgotICogRklYTUU6IFdlIHNob3VsZCBzdHVmZiB0aGUgc2V0dXAgZGF0YSBpbnRvIF9faW5pdCBhbmQgY29weSB0aGUKLSAqIHJlbGV2YW50IGh3aWZzL2FsbG9jYXRlIHRoZW0gcHJvcGVybHkgZHVyaW5nIGJvb3QuCi0gKi8KLSNkZWZpbmUgTUFHSUNfQ09PS0lFIDB4MTIzNDU2NzgKIHN0YXRpYyB2b2lkIF9faW5pdCBpbml0X2lkZV9kYXRhICh2b2lkKQogewogCXVuc2lnbmVkIGludCBpbmRleDsKLQlzdGF0aWMgdW5zaWduZWQgbG9uZyBtYWdpY19jb29raWUgPSBNQUdJQ19DT09LSUU7Ci0KLQlpZiAobWFnaWNfY29va2llICE9IE1BR0lDX0NPT0tJRSkKLQkJcmV0dXJuOwkJLyogYWxyZWFkeSBpbml0aWFsaXplZCAqLwotCW1hZ2ljX2Nvb2tpZSA9IDA7CiAKIAkvKiBJbml0aWFsaXNlIGFsbCBpbnRlcmZhY2Ugc3RydWN0dXJlcyAqLwogCWZvciAoaW5kZXggPSAwOyBpbmRleCA8IE1BWF9IV0lGUzsgKytpbmRleCkgewpAQCAtMTg5LDM4ICsxNjIsNiBAQAogCX0KIH0KIAotLyoqCi0gKglpZGVfc3lzdGVtX2J1c19zcGVlZAktCWd1ZXNzIGJ1cyBzcGVlZAotICoKLSAqCWlkZV9zeXN0ZW1fYnVzX3NwZWVkKCkgcmV0dXJucyB3aGF0IHdlIHRoaW5rIGlzIHRoZSBzeXN0ZW0gVkVTQS9QQ0kKLSAqCWJ1cyBzcGVlZCAoaW4gTUh6KS4gVGhpcyBpcyB1c2VkIGZvciBjYWxjdWxhdGluZyBpbnRlcmZhY2UgUElPIHRpbWluZ3MuCi0gKglUaGUgZGVmYXVsdCBpcyA0MCBmb3Iga25vd24gUENJIHN5c3RlbXMsIDUwIG90aGVyd2lzZS4KLSAqCVRoZSAiaWRlYnVzPXh4IiBwYXJhbWV0ZXIgY2FuIGJlIHVzZWQgdG8gb3ZlcnJpZGUgdGhpcyB2YWx1ZS4KLSAqCVRoZSBhY3R1YWwgdmFsdWUgdG8gYmUgdXNlZCBpcyBjb21wdXRlZC9kaXNwbGF5ZWQgdGhlIGZpcnN0IHRpbWUKLSAqCXRocm91Z2guIERyaXZlcnMgc2hvdWxkIG9ubHkgdXNlIHRoaXMgYXMgYSBsYXN0IHJlc29ydC4KLSAqCi0gKglSZXR1cm5zIGEgZ3Vlc3NlZCBzcGVlZCBpbiBNSHouCi0gKi8KLQotc3RhdGljIGludCBpZGVfc3lzdGVtX2J1c19zcGVlZCh2b2lkKQotewotI2lmZGVmIENPTkZJR19QQ0kKLQlzdGF0aWMgc3RydWN0IHBjaV9kZXZpY2VfaWQgcGNpX2RlZmF1bHRbXSA9IHsKLQkJeyBQQ0lfREVWSUNFKFBDSV9BTllfSUQsIFBDSV9BTllfSUQpIH0sCi0JCXsgfQotCX07Ci0jZWxzZQotI2RlZmluZSBwY2lfZGVmYXVsdCAwCi0jZW5kaWYgLyogQ09ORklHX1BDSSAqLwotCi0JLyogdXNlciBzdXBwbGllZCB2YWx1ZSAqLwotCWlmIChpZGVidXNfcGFyYW1ldGVyKQotCQlyZXR1cm4gaWRlYnVzX3BhcmFtZXRlcjsKLQotCS8qIHNhZmUgZGVmYXVsdCB2YWx1ZSBmb3IgUENJIG9yIFZFU0EgYW5kIFBDSSovCi0JcmV0dXJuIHBjaV9kZXZfcHJlc2VudChwY2lfZGVmYXVsdCkgPyAzMyA6IDUwOwotfQotCiB2b2lkIGlkZV9yZW1vdmVfcG9ydF9mcm9tX2h3Z3JvdXAoaWRlX2h3aWZfdCAqaHdpZikKIHsKIAlpZGVfaHdncm91cF90ICpod2dyb3VwID0gaHdpZi0+aHdncm91cDsKQEAgLTQ5OCw3ICs0MzksNyBAQAogCiBpbnQgc2V0X3Bpb19tb2RlKGlkZV9kcml2ZV90ICpkcml2ZSwgaW50IGFyZykKIHsKLQlzdHJ1Y3QgcmVxdWVzdCBycTsKKwlzdHJ1Y3QgcmVxdWVzdCAqcnE7CiAJaWRlX2h3aWZfdCAqaHdpZiA9IGRyaXZlLT5od2lmOwogCWNvbnN0IHN0cnVjdCBpZGVfcG9ydF9vcHMgKnBvcnRfb3BzID0gaHdpZi0+cG9ydF9vcHM7CiAKQEAgLTUxMiwxMiArNDUzLDE1IEBACiAJaWYgKGRyaXZlLT5zcGVjaWFsLmIuc2V0X3R1bmUpCiAJCXJldHVybiAtRUJVU1k7CiAKLQlpZGVfaW5pdF9kcml2ZV9jbWQoJnJxKTsKLQlycS5jbWRfdHlwZSA9IFJFUV9UWVBFX0FUQV9UQVNLRklMRTsKKwlycSA9IGJsa19nZXRfcmVxdWVzdChkcml2ZS0+cXVldWUsIFJFQUQsIF9fR0ZQX1dBSVQpOworCXJxLT5jbWRfdHlwZSA9IFJFUV9UWVBFX0FUQV9UQVNLRklMRTsKIAogCWRyaXZlLT50dW5lX3JlcSA9ICh1OCkgYXJnOwogCWRyaXZlLT5zcGVjaWFsLmIuc2V0X3R1bmUgPSAxOwotCSh2b2lkKSBpZGVfZG9fZHJpdmVfY21kKGRyaXZlLCAmcnEsIGlkZV93YWl0KTsKKworCWJsa19leGVjdXRlX3JxKGRyaXZlLT5xdWV1ZSwgTlVMTCwgcnEsIDApOworCWJsa19wdXRfcmVxdWVzdChycSk7CisKIAlyZXR1cm4gMDsKIH0KIApAQCAtNTM3LDI1ICs0ODEsMTEgQEAKIAlyZXR1cm4gMDsKIH0KIAotLyoqCi0gKglzeXN0ZW1fYnVzX2Nsb2NrCS0JY2xvY2sgZ3Vlc3MKLSAqCi0gKglFeHRlcm5hbCB2ZXJzaW9uIG9mIHRoZSBidXMgY2xvY2sgZ3Vlc3MgdXNlZCBieSB2ZXJ5IG9sZCBJREUgZHJpdmVycwotICoJZm9yIHRoaW5ncyBsaWtlIFZMQiB0aW1pbmdzLiBTaG91bGQgbm90IGJlIHVzZWQuCi0gKi8KLQotaW50IHN5c3RlbV9idXNfY2xvY2sgKHZvaWQpCi17Ci0JcmV0dXJuIHN5c3RlbV9idXNfc3BlZWQ7Ci19Ci0KLUVYUE9SVF9TWU1CT0woc3lzdGVtX2J1c19jbG9jayk7Ci0KIHN0YXRpYyBpbnQgZ2VuZXJpY19pZGVfc3VzcGVuZChzdHJ1Y3QgZGV2aWNlICpkZXYsIHBtX21lc3NhZ2VfdCBtZXNnKQogewogCWlkZV9kcml2ZV90ICpkcml2ZSA9IGRldi0+ZHJpdmVyX2RhdGE7CiAJaWRlX2h3aWZfdCAqaHdpZiA9IEhXSUYoZHJpdmUpOwotCXN0cnVjdCByZXF1ZXN0IHJxOworCXN0cnVjdCByZXF1ZXN0ICpycTsKIAlzdHJ1Y3QgcmVxdWVzdF9wbV9zdGF0ZSBycXBtOwogCWlkZV90YXNrX3QgYXJnczsKIAlpbnQgcmV0OwpAQCAtNTY0LDE4ICs0OTQsMTkgQEAKIAlpZiAoIShkcml2ZS0+ZG4gJSAyKSkKIAkJaWRlX2FjcGlfZ2V0X3RpbWluZyhod2lmKTsKIAotCWJsa19ycV9pbml0KE5VTEwsICZycSk7CiAJbWVtc2V0KCZycXBtLCAwLCBzaXplb2YocnFwbSkpOwogCW1lbXNldCgmYXJncywgMCwgc2l6ZW9mKGFyZ3MpKTsKLQlycS5jbWRfdHlwZSA9IFJFUV9UWVBFX1BNX1NVU1BFTkQ7Ci0JcnEuc3BlY2lhbCA9ICZhcmdzOwotCXJxLmRhdGEgPSAmcnFwbTsKKwlycSA9IGJsa19nZXRfcmVxdWVzdChkcml2ZS0+cXVldWUsIFJFQUQsIF9fR0ZQX1dBSVQpOworCXJxLT5jbWRfdHlwZSA9IFJFUV9UWVBFX1BNX1NVU1BFTkQ7CisJcnEtPnNwZWNpYWwgPSAmYXJnczsKKwlycS0+ZGF0YSA9ICZycXBtOwogCXJxcG0ucG1fc3RlcCA9IGlkZV9wbV9zdGF0ZV9zdGFydF9zdXNwZW5kOwogCWlmIChtZXNnLmV2ZW50ID09IFBNX0VWRU5UX1BSRVRIQVcpCiAJCW1lc2cuZXZlbnQgPSBQTV9FVkVOVF9GUkVFWkU7CiAJcnFwbS5wbV9zdGF0ZSA9IG1lc2cuZXZlbnQ7CiAKLQlyZXQgPSBpZGVfZG9fZHJpdmVfY21kKGRyaXZlLCAmcnEsIGlkZV93YWl0KTsKKwlyZXQgPSBibGtfZXhlY3V0ZV9ycShkcml2ZS0+cXVldWUsIE5VTEwsIHJxLCAwKTsKKwlibGtfcHV0X3JlcXVlc3QocnEpOwogCS8qIG9ubHkgY2FsbCBBQ1BJIF9QUzMgYWZ0ZXIgYm90aCBkcml2ZXJzIGFyZSBzdXNwZW5kZWQgKi8KIAlpZiAoIXJldCAmJiAoKChkcml2ZS0+ZG4gJSAyKSAmJiBod2lmLT5kcml2ZXNbMF0ucHJlc2VudAogCQkgJiYgaHdpZi0+ZHJpdmVzWzFdLnByZXNlbnQpCkBAIC01ODksNyArNTIwLDcgQEAKIHsKIAlpZGVfZHJpdmVfdCAqZHJpdmUgPSBkZXYtPmRyaXZlcl9kYXRhOwogCWlkZV9od2lmX3QgKmh3aWYgPSBIV0lGKGRyaXZlKTsKLQlzdHJ1Y3QgcmVxdWVzdCBycTsKKwlzdHJ1Y3QgcmVxdWVzdCAqcnE7CiAJc3RydWN0IHJlcXVlc3RfcG1fc3RhdGUgcnFwbTsKIAlpZGVfdGFza190IGFyZ3M7CiAJaW50IGVycjsKQEAgLTYwMiwxNiArNTMzLDE4IEBACiAKIAlpZGVfYWNwaV9leGVjX3Rmcyhkcml2ZSk7CiAKLQlibGtfcnFfaW5pdChOVUxMLCAmcnEpOwogCW1lbXNldCgmcnFwbSwgMCwgc2l6ZW9mKHJxcG0pKTsKIAltZW1zZXQoJmFyZ3MsIDAsIHNpemVvZihhcmdzKSk7Ci0JcnEuY21kX3R5cGUgPSBSRVFfVFlQRV9QTV9SRVNVTUU7Ci0JcnEuc3BlY2lhbCA9ICZhcmdzOwotCXJxLmRhdGEgPSAmcnFwbTsKKwlycSA9IGJsa19nZXRfcmVxdWVzdChkcml2ZS0+cXVldWUsIFJFQUQsIF9fR0ZQX1dBSVQpOworCXJxLT5jbWRfdHlwZSA9IFJFUV9UWVBFX1BNX1JFU1VNRTsKKwlycS0+Y21kX2ZsYWdzIHw9IFJFUV9QUkVFTVBUOworCXJxLT5zcGVjaWFsID0gJmFyZ3M7CisJcnEtPmRhdGEgPSAmcnFwbTsKIAlycXBtLnBtX3N0ZXAgPSBpZGVfcG1fc3RhdGVfc3RhcnRfcmVzdW1lOwogCXJxcG0ucG1fc3RhdGUgPSBQTV9FVkVOVF9PTjsKIAotCWVyciA9IGlkZV9kb19kcml2ZV9jbWQoZHJpdmUsICZycSwgaWRlX2hlYWRfd2FpdCk7CisJZXJyID0gYmxrX2V4ZWN1dGVfcnEoZHJpdmUtPnF1ZXVlLCBOVUxMLCBycSwgMSk7CisJYmxrX3B1dF9yZXF1ZXN0KHJxKTsKIAogCWlmIChlcnIgPT0gMCAmJiBkZXYtPmRyaXZlcikgewogCQlpZGVfZHJpdmVyX3QgKmRydiA9IHRvX2lkZV9kcml2ZXIoZGV2LT5kcml2ZXIpOwpAQCAtNzY0LDIxMiArNjk3LDYgQEAKIAogRVhQT1JUX1NZTUJPTChnZW5lcmljX2lkZV9pb2N0bCk7CiAKLS8qCi0gKiBzdHJpZHgoKSByZXR1cm5zIHRoZSBvZmZzZXQgb2YgYyB3aXRoaW4gcywKLSAqIG9yIC0xIGlmIGMgaXMgJ1wwJyBvciBub3QgZm91bmQgd2l0aGluIHMuCi0gKi8KLXN0YXRpYyBpbnQgX19pbml0IHN0cmlkeCAoY29uc3QgY2hhciAqcywgY2hhciBjKQotewotCWNoYXIgKmkgPSBzdHJjaHIocywgYyk7Ci0JcmV0dXJuIChpICYmIGMpID8gaSAtIHMgOiAtMTsKLX0KLQotLyoKLSAqIG1hdGNoX3Bhcm0oKSBkb2VzIHBhcnNpbmcgZm9yIGlkZV9zZXR1cCgpOgotICoKLSAqIDEuIHRoZSBmaXJzdCBjaGFyIG9mIHMgbXVzdCBiZSAnPScuCi0gKiAyLiBpZiB0aGUgcmVtYWluZGVyIG1hdGNoZXMgb25lIG9mIHRoZSBzdXBwbGllZCBrZXl3b3JkcywKLSAqICAgICB0aGUgaW5kZXggKDEgYmFzZWQpIG9mIHRoZSBrZXl3b3JkIGlzIG5lZ2F0ZWQgYW5kIHJldHVybmVkLgotICogMy4gaWYgdGhlIHJlbWFpbmRlciBpcyBhIHNlcmllcyBvZiBubyBtb3JlIHRoYW4gbWF4X3ZhbHMgbnVtYmVycwotICogICAgIHNlcGFyYXRlZCBieSBjb21tYXMsIHRoZSBudW1iZXJzIGFyZSBzYXZlZCBpbiB2YWxzW10gYW5kIGEKLSAqICAgICBjb3VudCBvZiBob3cgbWFueSB3ZXJlIHNhdmVkIGlzIHJldHVybmVkLiAgQmFzZTEwIGlzIGFzc3VtZWQsCi0gKiAgICAgYW5kIGJhc2UxNiBpcyBhbGxvd2VkIHdoZW4gcHJlZml4ZWQgd2l0aCAiMHgiLgotICogNC4gb3RoZXJ3aXNlLCB6ZXJvIGlzIHJldHVybmVkLgotICovCi1zdGF0aWMgaW50IF9faW5pdCBtYXRjaF9wYXJtIChjaGFyICpzLCBjb25zdCBjaGFyICprZXl3b3Jkc1tdLCBpbnQgdmFsc1tdLCBpbnQgbWF4X3ZhbHMpCi17Ci0Jc3RhdGljIGNvbnN0IGNoYXIgKmRlY2ltYWwgPSAiMDEyMzQ1Njc4OSI7Ci0Jc3RhdGljIGNvbnN0IGNoYXIgKmhleCA9ICIwMTIzNDU2Nzg5YWJjZGVmIjsKLQlpbnQgaSwgbjsKLQotCWlmICgqcysrID09ICc9JykgewotCQkvKgotCQkgKiBUcnkgbWF0Y2hpbmcgYWdhaW5zdCB0aGUgc3VwcGxpZWQga2V5d29yZHMsCi0JCSAqIGFuZCByZXR1cm4gLShpbmRleCsxKSBpZiB3ZSBtYXRjaCBvbmUKLQkJICovCi0JCWlmIChrZXl3b3JkcyAhPSBOVUxMKSB7Ci0JCQlmb3IgKGkgPSAwOyAqa2V5d29yZHMgIT0gTlVMTDsgKytpKSB7Ci0JCQkJaWYgKCFzdHJjbXAocywgKmtleXdvcmRzKyspKQotCQkJCQlyZXR1cm4gLShpKzEpOwotCQkJfQotCQl9Ci0JCS8qCi0JCSAqIExvb2sgZm9yIGEgc2VyaWVzIG9mIG5vIG1vcmUgdGhhbiAibWF4X3ZhbHMiCi0JCSAqIG51bWVyaWMgdmFsdWVzIHNlcGFyYXRlZCBieSBjb21tYXMsIGluIGJhc2UxMCwKLQkJICogb3IgYmFzZTE2IHdoZW4gcHJlZml4ZWQgd2l0aCAiMHgiLgotCQkgKiBSZXR1cm4gYSBjb3VudCBvZiBob3cgbWFueSB3ZXJlIGZvdW5kLgotCQkgKi8KLQkJZm9yIChuID0gMDsgKGkgPSBzdHJpZHgoZGVjaW1hbCwgKnMpKSA+PSAwOykgewotCQkJdmFsc1tuXSA9IGk7Ci0JCQl3aGlsZSAoKGkgPSBzdHJpZHgoZGVjaW1hbCwgKisrcykpID49IDApCi0JCQkJdmFsc1tuXSA9ICh2YWxzW25dICogMTApICsgaTsKLQkJCWlmICgqcyA9PSAneCcgJiYgIXZhbHNbbl0pIHsKLQkJCQl3aGlsZSAoKGkgPSBzdHJpZHgoaGV4LCAqKytzKSkgPj0gMCkKLQkJCQkJdmFsc1tuXSA9ICh2YWxzW25dICogMHgxMCkgKyBpOwotCQkJfQotCQkJaWYgKCsrbiA9PSBtYXhfdmFscykKLQkJCQlicmVhazsKLQkJCWlmICgqcyA9PSAnLCcgfHwgKnMgPT0gJzsnKQotCQkJCSsrczsKLQkJfQotCQlpZiAoISpzKQotCQkJcmV0dXJuIG47Ci0JfQotCXJldHVybiAwOwkvKiB6ZXJvID0gbm90aGluZyBtYXRjaGVkICovCi19Ci0KLS8qCi0gKiBpZGVfc2V0dXAoKSBnZXRzIGNhbGxlZCBWRVJZIEVBUkxZIGR1cmluZyBpbml0aWFsaXphdGlvbiwKLSAqIHRvIGhhbmRsZSBrZXJuZWwgImNvbW1hbmQgbGluZSIgc3RyaW5ncyBiZWdpbm5pbmcgd2l0aCAiaGR4PSIgb3IgImlkZSIuCi0gKgotICogUmVtZW1iZXIgdG8gdXBkYXRlIERvY3VtZW50YXRpb24vaWRlL2lkZS50eHQgaWYgeW91IGNoYW5nZSBzb21ldGhpbmcgaGVyZS4KLSAqLwotc3RhdGljIGludCBfX2luaXQgaWRlX3NldHVwKGNoYXIgKnMpCi17Ci0JaWRlX2h3aWZfdCAqaHdpZjsKLQlpZGVfZHJpdmVfdCAqZHJpdmU7Ci0JdW5zaWduZWQgaW50IGh3LCB1bml0OwotCWludCB2YWxzWzNdOwotCWNvbnN0IGNoYXIgbWF4X2RyaXZlID0gJ2EnICsgKChNQVhfSFdJRlMgKiBNQVhfRFJJVkVTKSAtIDEpOwotCi0JaWYgKHN0cm5jbXAocywiaGQiLDIpID09IDAgJiYgc1syXSA9PSAnPScpCS8qIGhkPSBpcyBmb3IgaGQuYyAgICovCi0JCXJldHVybiAwOwkJCQkvKiBkcml2ZXIgYW5kIG5vdCB1cyAqLwotCi0JaWYgKHN0cm5jbXAocywiaWRlIiwzKSAmJiBzdHJuY21wKHMsImlkZWJ1cyIsNikgJiYgc3RybmNtcChzLCJoZCIsMikpCi0JCXJldHVybiAwOwotCi0JcHJpbnRrKEtFUk5fSU5GTyAiaWRlX3NldHVwOiAlcyIsIHMpOwotCWluaXRfaWRlX2RhdGEgKCk7Ci0KLSNpZmRlZiBDT05GSUdfQkxLX0RFVl9JREVET1VCTEVSCi0JaWYgKCFzdHJjbXAocywgImlkZT1kb3VibGVyIikpIHsKLQkJZXh0ZXJuIGludCBpZGVfZG91YmxlcjsKLQotCQlwcmludGsoIiA6IEVuYWJsZWQgc3VwcG9ydCBmb3IgSURFIGRvdWJsZXJzXG4iKTsKLQkJaWRlX2RvdWJsZXIgPSAxOwotCQlnb3RvIG9ic29sZXRlX29wdGlvbjsKLQl9Ci0jZW5kaWYgLyogQ09ORklHX0JMS19ERVZfSURFRE9VQkxFUiAqLwotCi0JaWYgKCFzdHJjbXAocywgImlkZT1ub2RtYSIpKSB7Ci0JCXByaW50aygiIDogUHJldmVudGVkIERNQVxuIik7Ci0JCW5vYXV0b2RtYSA9IDE7Ci0JCWdvdG8gb2Jzb2xldGVfb3B0aW9uOwotCX0KLQotI2lmZGVmIENPTkZJR19CTEtfREVWX0lERUFDUEkKLQlpZiAoIXN0cmNtcChzLCAiaWRlPW5vYWNwaSIpKSB7Ci0JCS8vcHJpbnRrKCIgOiBEaXNhYmxlIElERSBBQ1BJIHN1cHBvcnQuXG4iKTsKLQkJaWRlX25vYWNwaSA9IDE7Ci0JCWdvdG8gb2Jzb2xldGVfb3B0aW9uOwotCX0KLQlpZiAoIXN0cmNtcChzLCAiaWRlPWFjcGlndGYiKSkgewotCQkvL3ByaW50aygiIDogRW5hYmxlIElERSBBQ1BJIF9HVEYgc3VwcG9ydC5cbiIpOwotCQlpZGVfYWNwaWd0ZiA9IDE7Ci0JCWdvdG8gb2Jzb2xldGVfb3B0aW9uOwotCX0KLQlpZiAoIXN0cmNtcChzLCAiaWRlPWFjcGlvbmJvb3QiKSkgewotCQkvL3ByaW50aygiIDogQ2FsbCBJREUgQUNQSSBtZXRob2RzIG9uIGJvb3QuXG4iKTsKLQkJaWRlX2FjcGlvbmJvb3QgPSAxOwotCQlnb3RvIG9ic29sZXRlX29wdGlvbjsKLQl9Ci0jZW5kaWYgLyogQ09ORklHX0JMS19ERVZfSURFQUNQSSAqLwotCi0JLyoKLQkgKiBMb29rIGZvciBkcml2ZSBvcHRpb25zOiAgImhkeD0iCi0JICovCi0JaWYgKHNbMF0gPT0gJ2gnICYmIHNbMV0gPT0gJ2QnICYmIHNbMl0gPj0gJ2EnICYmIHNbMl0gPD0gbWF4X2RyaXZlKSB7Ci0JCWNvbnN0IGNoYXIgKmhkX3dvcmRzW10gPSB7Ci0JCQkibm9uZSIsICJub3Byb2JlIiwgIm5vd2VyciIsICJjZHJvbSIsICJub2RtYSIsCi0JCQkiLTYiLCAiLTciLCAiLTgiLCAiLTkiLCAiLTEwIiwKLQkJCSJub2ZsdXNoIiwgInJlbWFwIiwgInJlbWFwNjMiLCAic2NzaSIsIE5VTEwgfTsKLQkJdW5pdCA9IHNbMl0gLSAnYSc7Ci0JCWh3ICAgPSB1bml0IC8gTUFYX0RSSVZFUzsKLQkJdW5pdCA9IHVuaXQgJSBNQVhfRFJJVkVTOwotCQlod2lmID0gJmlkZV9od2lmc1tod107Ci0JCWRyaXZlID0gJmh3aWYtPmRyaXZlc1t1bml0XTsKLQkJaWYgKHN0cm5jbXAocyArIDQsICJpZGUtIiwgNCkgPT0gMCkgewotCQkJc3RybGNweShkcml2ZS0+ZHJpdmVyX3JlcSwgcyArIDQsIHNpemVvZihkcml2ZS0+ZHJpdmVyX3JlcSkpOwotCQkJZ290byBvYnNvbGV0ZV9vcHRpb247Ci0JCX0KLQkJc3dpdGNoIChtYXRjaF9wYXJtKCZzWzNdLCBoZF93b3JkcywgdmFscywgMykpIHsKLQkJCWNhc2UgLTE6IC8qICJub25lIiAqLwotCQkJY2FzZSAtMjogLyogIm5vcHJvYmUiICovCi0JCQkJZHJpdmUtPm5vcHJvYmUgPSAxOwotCQkJCWdvdG8gb2Jzb2xldGVfb3B0aW9uOwotCQkJY2FzZSAtMzogLyogIm5vd2VyciIgKi8KLQkJCQlkcml2ZS0+YmFkX3dzdGF0ID0gQkFEX1JfU1RBVDsKLQkJCQlnb3RvIG9ic29sZXRlX29wdGlvbjsKLQkJCWNhc2UgLTQ6IC8qICJjZHJvbSIgKi8KLQkJCQlkcml2ZS0+cHJlc2VudCA9IDE7Ci0JCQkJZHJpdmUtPm1lZGlhID0gaWRlX2Nkcm9tOwotCQkJCS8qIGFuIEFUQVBJIGRldmljZSBpZ25vcmVzIERSRFkgKi8KLQkJCQlkcml2ZS0+cmVhZHlfc3RhdCA9IDA7Ci0JCQkJZ290byBvYnNvbGV0ZV9vcHRpb247Ci0JCQljYXNlIC01OiAvKiBub2RtYSAqLwotCQkJCWRyaXZlLT5ub2RtYSA9IDE7Ci0JCQkJZ290byBvYnNvbGV0ZV9vcHRpb247Ci0JCQljYXNlIC0xMTogLyogbm9mbHVzaCAqLwotCQkJCWRyaXZlLT5ub2ZsdXNoID0gMTsKLQkJCQlnb3RvIG9ic29sZXRlX29wdGlvbjsKLQkJCWNhc2UgLTEyOiAvKiAicmVtYXAiICovCi0JCQkJZHJpdmUtPnJlbWFwXzBfdG9fMSA9IDE7Ci0JCQkJZ290byBvYnNvbGV0ZV9vcHRpb247Ci0JCQljYXNlIC0xMzogLyogInJlbWFwNjMiICovCi0JCQkJZHJpdmUtPnNlY3QwID0gNjM7Ci0JCQkJZ290byBvYnNvbGV0ZV9vcHRpb247Ci0JCQljYXNlIC0xNDogLyogInNjc2kiICovCi0JCQkJZHJpdmUtPnNjc2kgPSAxOwotCQkJCWdvdG8gb2Jzb2xldGVfb3B0aW9uOwotCQkJY2FzZSAzOiAvKiBjeWwsaGVhZCxzZWN0ICovCi0JCQkJZHJpdmUtPm1lZGlhCT0gaWRlX2Rpc2s7Ci0JCQkJZHJpdmUtPnJlYWR5X3N0YXQgPSBSRUFEWV9TVEFUOwotCQkJCWRyaXZlLT5jeWwJPSBkcml2ZS0+Ymlvc19jeWwgID0gdmFsc1swXTsKLQkJCQlkcml2ZS0+aGVhZAk9IGRyaXZlLT5iaW9zX2hlYWQgPSB2YWxzWzFdOwotCQkJCWRyaXZlLT5zZWN0CT0gZHJpdmUtPmJpb3Nfc2VjdCA9IHZhbHNbMl07Ci0JCQkJZHJpdmUtPnByZXNlbnQJPSAxOwotCQkJCWRyaXZlLT5mb3JjZWRfZ2VvbSA9IDE7Ci0JCQkJZ290byBvYnNvbGV0ZV9vcHRpb247Ci0JCQlkZWZhdWx0OgotCQkJCWdvdG8gYmFkX29wdGlvbjsKLQkJfQotCX0KLQotCWlmIChzWzBdICE9ICdpJyB8fCBzWzFdICE9ICdkJyB8fCBzWzJdICE9ICdlJykKLQkJZ290byBiYWRfb3B0aW9uOwotCS8qCi0JICogTG9vayBmb3IgYnVzIHNwZWVkIG9wdGlvbjogICJpZGVidXM9IgotCSAqLwotCWlmIChzWzNdID09ICdiJyAmJiBzWzRdID09ICd1JyAmJiBzWzVdID09ICdzJykgewotCQlpZiAobWF0Y2hfcGFybSgmc1s2XSwgTlVMTCwgdmFscywgMSkgIT0gMSkKLQkJCWdvdG8gYmFkX29wdGlvbjsKLQkJaWYgKHZhbHNbMF0gPj0gMjAgJiYgdmFsc1swXSA8PSA2NikgewotCQkJaWRlYnVzX3BhcmFtZXRlciA9IHZhbHNbMF07Ci0JCX0gZWxzZQotCQkJcHJpbnRrKCIgLS0gQkFEIEJVUyBTUEVFRCEgRXhwZWN0ZWQgdmFsdWUgZnJvbSAyMCB0byA2NiIpOwotCQlnb3RvIG9ic29sZXRlX29wdGlvbjsKLQl9Ci0KLWJhZF9vcHRpb246Ci0JcHJpbnRrKCIgLS0gQkFEIE9QVElPTlxuIik7Ci0JcmV0dXJuIDE7Ci1vYnNvbGV0ZV9vcHRpb246Ci0JcHJpbnRrKCIgLS0gT0JTT0xFVEUgT1BUSU9OLCBXSUxMIEJFIFJFTU9WRUQgU09PTiFcbiIpOwotCXJldHVybiAxOwotfQotCi1FWFBPUlRfU1lNQk9MKGlkZV9sb2NrKTsKLQogc3RhdGljIGludCBpZGVfYnVzX21hdGNoKHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IGRldmljZV9kcml2ZXIgKmRydikKIHsKIAlyZXR1cm4gMTsKQEAgLTEyODEsMTEgKzEwMDgsNiBAQAogCWludCByZXQ7CiAKIAlwcmludGsoS0VSTl9JTkZPICJVbmlmb3JtIE11bHRpLVBsYXRmb3JtIEUtSURFIGRyaXZlclxuIik7Ci0Jc3lzdGVtX2J1c19zcGVlZCA9IGlkZV9zeXN0ZW1fYnVzX3NwZWVkKCk7Ci0KLQlwcmludGsoS0VSTl9JTkZPICJpZGU6IEFzc3VtaW5nICVkTUh6IHN5c3RlbSBidXMgc3BlZWQgIgotCQkJICJmb3IgUElPIG1vZGVzJXNcbiIsIHN5c3RlbV9idXNfc3BlZWQsCi0JCQlpZGVidXNfcGFyYW1ldGVyID8gIiIgOiAiOyBvdmVycmlkZSB3aXRoIGlkZWJ1cz14eCIpOwogCiAJcmV0ID0gYnVzX3JlZ2lzdGVyKCZpZGVfYnVzX3R5cGUpOwogCWlmIChyZXQgPCAwKSB7CkBAIC0xMzExLDMyICsxMDMzLDcgQEAKIAlyZXR1cm4gcmV0OwogfQogCi0jaWZkZWYgTU9EVUxFCi1zdGF0aWMgY2hhciAqb3B0aW9ucyA9IE5VTEw7Ci1tb2R1bGVfcGFyYW0ob3B0aW9ucywgY2hhcnAsIDApOwotTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOwotCi1zdGF0aWMgdm9pZCBfX2luaXQgcGFyc2Vfb3B0aW9ucyAoY2hhciAqbGluZSkKLXsKLQljaGFyICpuZXh0ID0gbGluZTsKLQotCWlmIChsaW5lID09IE5VTEwgfHwgISpsaW5lKQotCQlyZXR1cm47Ci0Jd2hpbGUgKChsaW5lID0gbmV4dCkgIT0gTlVMTCkgewotIAkJaWYgKChuZXh0ID0gc3RyY2hyKGxpbmUsJyAnKSkgIT0gTlVMTCkKLQkJCSpuZXh0KysgPSAwOwotCQlpZiAoIWlkZV9zZXR1cChsaW5lKSkKLQkJCXByaW50ayAoS0VSTl9JTkZPICJVbmtub3duIG9wdGlvbiAnJXMnXG4iLCBsaW5lKTsKLQl9Ci19Ci0KLWludCBfX2luaXQgaW5pdF9tb2R1bGUgKHZvaWQpCi17Ci0JcGFyc2Vfb3B0aW9ucyhvcHRpb25zKTsKLQlyZXR1cm4gaWRlX2luaXQoKTsKLX0KLQotdm9pZCBfX2V4aXQgY2xlYW51cF9tb2R1bGUgKHZvaWQpCitzdGF0aWMgdm9pZCBfX2V4aXQgaWRlX2V4aXQodm9pZCkKIHsKIAlwcm9jX2lkZV9kZXN0cm95KCk7CiAKQEAgLTEzNDUsMTAgKzEwNDIsNyBAQAogCWJ1c191bnJlZ2lzdGVyKCZpZGVfYnVzX3R5cGUpOwogfQogCi0jZWxzZSAvKiAhTU9EVUxFICovCi0KLV9fc2V0dXAoIiIsIGlkZV9zZXR1cCk7Ci0KIG1vZHVsZV9pbml0KGlkZV9pbml0KTsKK21vZHVsZV9leGl0KGlkZV9leGl0KTsKIAotI2VuZGlmIC8qIE1PRFVMRSAqLworTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pZGUvbGVnYWN5L2FsaTE0eHguYyBiL2RyaXZlcnMvaWRlL2xlZ2FjeS9hbGkxNHh4LmMKaW5kZXggOTBjNjVjZi4uMDUyMTI1ZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9pZGUvbGVnYWN5L2FsaTE0eHguYworKysgYi9kcml2ZXJzL2lkZS9sZWdhY3kvYWxpMTR4eC5jCkBAIC0xMTYsNyArMTE2LDcgQEAKIAlpbnQgdGltZTEsIHRpbWUyOwogCXU4IHBhcmFtMSwgcGFyYW0yLCBwYXJhbTMsIHBhcmFtNDsKIAl1bnNpZ25lZCBsb25nIGZsYWdzOwotCWludCBidXNfc3BlZWQgPSBpZGVfdmxiX2NsayA/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+aW5mb3MsIHNpemVvZiBpbmZvczMyKSkgewogCQlpbmZvcyA9IGNvbXBhdF9wdHIoaW5mb3MzMik7CiAJCWlmICghY29weV90b191c2VyKCZkc3QtPmluZm9zLCAmaW5mb3MsIHNpemVvZiBpbmZvcykpCi0JCQllcnIgPSByYXcxMzk0X2lvY3RsKE5VTEwsIGZpbGUsIGNtZCwgKHVuc2lnbmVkIGxvbmcpZHN0KTsKKwkJCWVyciA9IGRvX3JhdzEzOTRfaW9jdGwoZmlsZSwgY21kLCAodW5zaWduZWQgbG9uZylkc3QpOwogCX0KIAlyZXR1cm4gZXJyOwogfQpAQCAtMjczMSw3ICsyNzQxLDcgQEAKIAljYXNlIFJBVzEzOTRfSU9DX0lTT19HRVRfU1RBVFVTOgogCWNhc2UgUkFXMTM5NF9JT0NfSVNPX1NIVVRET1dOOgogCWNhc2UgUkFXMTM5NF9JT0NfSVNPX1FVRVVFX0FDVElWSVRZOgotCQllcnIgPSByYXcxMzk0X2lvY3RsKE5VTEwsIGZpbGUsIGNtZCwgYXJnKTsKKwkJZXJyID0gZG9fcmF3MTM5NF9pb2N0bChmaWxlLCBjbWQsIGFyZyk7CiAJCWJyZWFrOwogCS8qIFRoZXNlIHJlcXVlc3QgaGF2ZSBkaWZmZXJlbnQgZm9ybWF0LiAqLwogCWNhc2UgUkFXMTM5NF9JT0NfSVNPX1JFQ1ZfUEFDS0VUUzMyOgpAQCAtMjk4NCw3ICsyOTk0LDcgQEAKIAkucmVhZCA9IHJhdzEzOTRfcmVhZCwKIAkud3JpdGUgPSByYXcxMzk0X3dyaXRlLAogCS5tbWFwID0gcmF3MTM5NF9tbWFwLAotCS5pb2N0bCA9IHJhdzEzOTRfaW9jdGwsCisJLnVubG9ja2VkX2lvY3RsID0gcmF3MTM5NF9pb2N0bCwKICNpZmRlZiBDT05GSUdfQ09NUEFUCiAJLmNvbXBhdF9pb2N0bCA9IHJhdzEzOTRfY29tcGF0X2lvY3RsLAogI2VuZGlmCmRpZmYgLS1naXQgYS9kcml2ZXJzL2llZWUxMzk0L3ZpZGVvMTM5NC5jIGIvZHJpdmVycy9pZWVlMTM5NC92aWRlbzEzOTQuYwppbmRleCBlMjQ3NzJkLi4wNjliOWY2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2llZWUxMzk0L3ZpZGVvMTM5NC5jCisrKyBiL2RyaXZlcnMvaWVlZTEzOTQvdmlkZW8xMzk0LmMKQEAgLTE1MDMsNiArMTUwMyw4IEBACiB7CiAJaW50IHJldDsKIAorCWhwc2JfaW5pdF9oaWdobGV2ZWwoJnZpZGVvMTM5NF9oaWdobGV2ZWwpOworCiAJY2Rldl9pbml0KCZ2aWRlbzEzOTRfY2RldiwgJnZpZGVvMTM5NF9mb3BzKTsKIAl2aWRlbzEzOTRfY2Rldi5vd25lciA9IFRISVNfTU9EVUxFOwogCXJldCA9IGNkZXZfYWRkKCZ2aWRlbzEzOTRfY2RldiwgSUVFRTEzOTRfVklERU8xMzk0X0RFViwgMTYpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvYWRkci5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvYWRkci5jCmluZGV4IDc4MWVhNTkuLjA5YTJiZWMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL2FkZHIuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvY29yZS9hZGRyLmMKQEAgLTQsMjggKzQsMzMgQEAKICAqIENvcHlyaWdodCAoYykgMTk5OS0yMDA1LCBNZWxsYW5veCBUZWNobm9sb2dpZXMsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAoYykgMjAwNSBJbnRlbCBDb3Jwb3JhdGlvbi4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgotICogVGhpcyBTb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciBvbmUgb2YgdGhlIGZvbGxvd2luZyBsaWNlbnNlczoKKyAqIFRoaXMgc29mdHdhcmUgaXMgYXZhaWxhYmxlIHRvIHlvdSB1bmRlciBhIGNob2ljZSBvZiBvbmUgb2YgdHdvCisgKiBsaWNlbnNlcy4gIFlvdSBtYXkgY2hvb3NlIHRvIGJlIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VCisgKiBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIChHUEwpIFZlcnNpb24gMiwgYXZhaWxhYmxlIGZyb20gdGhlIGZpbGUKKyAqIENPUFlJTkcgaW4gdGhlIG1haW4gZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUsIG9yIHRoZQorICogT3BlbklCLm9yZyBCU0QgbGljZW5zZSBiZWxvdzoKICAqCi0gKiAxKSB1bmRlciB0aGUgdGVybXMgb2YgdGhlICJDb21tb24gUHVibGljIExpY2Vuc2UgMS4wIiBhIGNvcHkgb2Ygd2hpY2ggaXMKLSAqICAgIGF2YWlsYWJsZSBmcm9tIHRoZSBPcGVuIFNvdXJjZSBJbml0aWF0aXZlLCBzZWUKLSAqICAgIGh0dHA6Ly93d3cub3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvY3BsLnBocC4KKyAqICAgICBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yCisgKiAgICAgd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nCisgKiAgICAgY29uZGl0aW9ucyBhcmUgbWV0OgogICoKLSAqIDIpIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgIlRoZSBCU0QgTGljZW5zZSIgYSBjb3B5IG9mIHdoaWNoIGlzCi0gKiAgICBhdmFpbGFibGUgZnJvbSB0aGUgT3BlbiBTb3VyY2UgSW5pdGlhdGl2ZSwgc2VlCi0gKiAgICBodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL2JzZC1saWNlbnNlLnBocC4KKyAqICAgICAgLSBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlCisgKiAgICAgICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKKyAqICAgICAgICBkaXNjbGFpbWVyLgogICoKLSAqIDMpIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgIkdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIChHUEwpIFZlcnNpb24gMiIgYQotICogICAgY29weSBvZiB3aGljaCBpcyBhdmFpbGFibGUgZnJvbSB0aGUgT3BlbiBTb3VyY2UgSW5pdGlhdGl2ZSwgc2VlCi0gKiAgICBodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL2dwbC1saWNlbnNlLnBocC4KKyAqICAgICAgLSBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiAgICAgICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKKyAqICAgICAgICBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMKKyAqICAgICAgICBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCiAgKgotICogTGljZW5zZWUgaGFzIHRoZSByaWdodCB0byBjaG9vc2Ugb25lIG9mIHRoZSBhYm92ZSBsaWNlbnNlcy4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogbm90aWNlIGFuZCBvbmUgb2YgdGhlIGxpY2Vuc2Ugbm90aWNlcy4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgYm90aCB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiBub3RpY2UsIG9uZSBvZiB0aGUgbGljZW5zZSBub3RpY2VzIGluIHRoZSBkb2N1bWVudGF0aW9uCi0gKiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorICogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisgKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORAorICogTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUworICogQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOCisgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgorICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQorICogU09GVFdBUkUuCiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L211dGV4Lmg+CkBAIC0xMDAsNiArMTA1LDcgQEAKIAltZW1jcHkoZGV2X2FkZHItPmJyb2FkY2FzdCwgZGV2LT5icm9hZGNhc3QsIE1BWF9BRERSX0xFTik7CiAJaWYgKGRzdF9kZXZfYWRkcikKIAkJbWVtY3B5KGRldl9hZGRyLT5kc3RfZGV2X2FkZHIsIGRzdF9kZXZfYWRkciwgTUFYX0FERFJfTEVOKTsKKwlkZXZfYWRkci0+c3JjX2RldiA9IGRldjsKIAlyZXR1cm4gMDsKIH0KIEVYUE9SVF9TWU1CT0wocmRtYV9jb3B5X2FkZHIpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvYWdlbnQuaCBiL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL2FnZW50LmgKaW5kZXggZmI5ZWQxNC4uNjY2OTI4NyAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvYWdlbnQuaAorKysgYi9kcml2ZXJzL2luZmluaWJhbmQvY29yZS9hZ2VudC5oCkBAIC0zMiw4ICszMiw2IEBACiAgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgogICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogICogU09GVFdBUkUuCi0gKgotICogJElkOiBhZ2VudC5oIDEzODkgMjAwNC0xMi0yNyAyMjo1Njo0N1ogcm9sYW5kICQKICAqLwogCiAjaWZuZGVmIF9fQUdFTlRfSF8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL2NhY2hlLmMgYi9kcml2ZXJzL2luZmluaWJhbmQvY29yZS9jYWNoZS5jCmluZGV4IGU4NWY3MDEuLjY4ODgzNTYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL2NhY2hlLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvY2FjaGUuYwpAQCAtMzEsOCArMzEsNiBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZDogY2FjaGUuYyAxMzQ5IDIwMDQtMTItMTYgMjE6MDk6NDNaIHJvbGFuZCAkCiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvY20uYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL2NtLmMKaW5kZXggYTQ3ZmU2NC4uNTU3MzhlZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvY20uYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvY29yZS9jbS5jCkBAIC0zMSw4ICszMSw2IEBACiAgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgogICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogICogU09GVFdBUkUuCi0gKgotICogJElkOiBjbS5jIDQzMTEgMjAwNS0xMi0wNSAxODo0MjowMVogc2Vhbi5oZWZ0eSAkCiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L2NvbXBsZXRpb24uaD4KZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL2NtYS5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvY21hLmMKaW5kZXggNjcxZjEzNy4uYWUxMWQ1YyAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvY21hLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvY21hLmMKQEAgLTQsMjkgKzQsMzMgQEAKICAqIENvcHlyaWdodCAoYykgMTk5OS0yMDA1LCBNZWxsYW5veCBUZWNobm9sb2dpZXMsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAoYykgMjAwNS0yMDA2IEludGVsIENvcnBvcmF0aW9uLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCi0gKiBUaGlzIFNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIG9uZSBvZiB0aGUgZm9sbG93aW5nIGxpY2Vuc2VzOgorICogVGhpcyBzb2Z0d2FyZSBpcyBhdmFpbGFibGUgdG8geW91IHVuZGVyIGEgY2hvaWNlIG9mIG9uZSBvZiB0d28KKyAqIGxpY2Vuc2VzLiAgWW91IG1heSBjaG9vc2UgdG8gYmUgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUKKyAqIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgKEdQTCkgVmVyc2lvbiAyLCBhdmFpbGFibGUgZnJvbSB0aGUgZmlsZQorICogQ09QWUlORyBpbiB0aGUgbWFpbiBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZSwgb3IgdGhlCisgKiBPcGVuSUIub3JnIEJTRCBsaWNlbnNlIGJlbG93OgogICoKLSAqIDEpIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgIkNvbW1vbiBQdWJsaWMgTGljZW5zZSAxLjAiIGEgY29weSBvZiB3aGljaCBpcwotICogICAgYXZhaWxhYmxlIGZyb20gdGhlIE9wZW4gU291cmNlIEluaXRpYXRpdmUsIHNlZQotICogICAgaHR0cDovL3d3dy5vcGVuc291cmNlLm9yZy9saWNlbnNlcy9jcGwucGhwLgorICogICAgIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3IKKyAqICAgICB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcKKyAqICAgICBjb25kaXRpb25zIGFyZSBtZXQ6CiAgKgotICogMikgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSAiVGhlIEJTRCBMaWNlbnNlIiBhIGNvcHkgb2Ygd2hpY2ggaXMKLSAqICAgIGF2YWlsYWJsZSBmcm9tIHRoZSBPcGVuIFNvdXJjZSBJbml0aWF0aXZlLCBzZWUKLSAqICAgIGh0dHA6Ly93d3cub3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvYnNkLWxpY2Vuc2UucGhwLgorICogICAgICAtIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUKKyAqICAgICAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZworICogICAgICAgIGRpc2NsYWltZXIuCiAgKgotICogMykgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSAiR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgKEdQTCkgVmVyc2lvbiAyIiBhCi0gKiAgICBjb3B5IG9mIHdoaWNoIGlzIGF2YWlsYWJsZSBmcm9tIHRoZSBPcGVuIFNvdXJjZSBJbml0aWF0aXZlLCBzZWUKLSAqICAgIGh0dHA6Ly93d3cub3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvZ3BsLWxpY2Vuc2UucGhwLgorICogICAgICAtIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqICAgICAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZworICogICAgICAgIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscworICogICAgICAgIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KICAqCi0gKiBMaWNlbnNlZSBoYXMgdGhlIHJpZ2h0IHRvIGNob29zZSBvbmUgb2YgdGhlIGFib3ZlIGxpY2Vuc2VzLgotICoKLSAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiBub3RpY2UgYW5kIG9uZSBvZiB0aGUgbGljZW5zZSBub3RpY2VzLgotICoKLSAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSBib3RoIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqIG5vdGljZSwgb25lIG9mIHRoZSBsaWNlbnNlIG5vdGljZXMgaW4gdGhlIGRvY3VtZW50YXRpb24KLSAqIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKKyAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorICogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisgKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORAorICogTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUworICogQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOCisgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgorICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQorICogU09GVFdBUkUuCiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L2NvbXBsZXRpb24uaD4KQEAgLTEyNiw4ICsxMzAsNyBAQAogCiAJc3RydWN0IGNvbXBsZXRpb24JY29tcDsKIAlhdG9taWNfdAkJcmVmY291bnQ7Ci0Jd2FpdF9xdWV1ZV9oZWFkX3QJd2FpdF9yZW1vdmU7Ci0JYXRvbWljX3QJCWRldl9yZW1vdmU7CisJc3RydWN0IG11dGV4CQloYW5kbGVyX211dGV4OwogCiAJaW50CQkJYmFja2xvZzsKIAlpbnQJCQl0aW1lb3V0X21zOwpAQCAtMzUxLDI2ICszNTQsMTUgQEAKIAkJY29tcGxldGUoJmlkX3ByaXYtPmNvbXApOwogfQogCi1zdGF0aWMgaW50IGNtYV9kaXNhYmxlX3JlbW92ZShzdHJ1Y3QgcmRtYV9pZF9wcml2YXRlICppZF9wcml2LAorc3RhdGljIGludCBjbWFfZGlzYWJsZV9jYWxsYmFjayhzdHJ1Y3QgcmRtYV9pZF9wcml2YXRlICppZF9wcml2LAogCQkJICAgICAgZW51bSBjbWFfc3RhdGUgc3RhdGUpCiB7Ci0JdW5zaWduZWQgbG9uZyBmbGFnczsKLQlpbnQgcmV0OwotCi0Jc3Bpbl9sb2NrX2lycXNhdmUoJmlkX3ByaXYtPmxvY2ssIGZsYWdzKTsKLQlpZiAoaWRfcHJpdi0+c3RhdGUgPT0gc3RhdGUpIHsKLQkJYXRvbWljX2luYygmaWRfcHJpdi0+ZGV2X3JlbW92ZSk7Ci0JCXJldCA9IDA7Ci0JfSBlbHNlCi0JCXJldCA9IC1FSU5WQUw7Ci0Jc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmaWRfcHJpdi0+bG9jaywgZmxhZ3MpOwotCXJldHVybiByZXQ7Ci19Ci0KLXN0YXRpYyB2b2lkIGNtYV9lbmFibGVfcmVtb3ZlKHN0cnVjdCByZG1hX2lkX3ByaXZhdGUgKmlkX3ByaXYpCi17Ci0JaWYgKGF0b21pY19kZWNfYW5kX3Rlc3QoJmlkX3ByaXYtPmRldl9yZW1vdmUpKQotCQl3YWtlX3VwKCZpZF9wcml2LT53YWl0X3JlbW92ZSk7CisJbXV0ZXhfbG9jaygmaWRfcHJpdi0+aGFuZGxlcl9tdXRleCk7CisJaWYgKGlkX3ByaXYtPnN0YXRlICE9IHN0YXRlKSB7CisJCW11dGV4X3VubG9jaygmaWRfcHJpdi0+aGFuZGxlcl9tdXRleCk7CisJCXJldHVybiAtRUlOVkFMOworCX0KKwlyZXR1cm4gMDsKIH0KIAogc3RhdGljIGludCBjbWFfaGFzX2NtX2RldihzdHJ1Y3QgcmRtYV9pZF9wcml2YXRlICppZF9wcml2KQpAQCAtMzk1LDggKzM4Nyw3IEBACiAJbXV0ZXhfaW5pdCgmaWRfcHJpdi0+cXBfbXV0ZXgpOwogCWluaXRfY29tcGxldGlvbigmaWRfcHJpdi0+Y29tcCk7CiAJYXRvbWljX3NldCgmaWRfcHJpdi0+cmVmY291bnQsIDEpOwotCWluaXRfd2FpdHF1ZXVlX2hlYWQoJmlkX3ByaXYtPndhaXRfcmVtb3ZlKTsKLQlhdG9taWNfc2V0KCZpZF9wcml2LT5kZXZfcmVtb3ZlLCAwKTsKKwltdXRleF9pbml0KCZpZF9wcml2LT5oYW5kbGVyX211dGV4KTsKIAlJTklUX0xJU1RfSEVBRCgmaWRfcHJpdi0+bGlzdGVuX2xpc3QpOwogCUlOSVRfTElTVF9IRUFEKCZpZF9wcml2LT5tY19saXN0KTsKIAlnZXRfcmFuZG9tX2J5dGVzKCZpZF9wcml2LT5zZXFfbnVtLCBzaXplb2YgaWRfcHJpdi0+c2VxX251bSk7CkBAIC05MjMsNyArOTE0LDcgQEAKIAlzdHJ1Y3QgcmRtYV9jbV9ldmVudCBldmVudDsKIAlpbnQgcmV0ID0gMDsKIAotCWlmIChjbWFfZGlzYWJsZV9yZW1vdmUoaWRfcHJpdiwgQ01BX0NPTk5FQ1QpKQorCWlmIChjbWFfZGlzYWJsZV9jYWxsYmFjayhpZF9wcml2LCBDTUFfQ09OTkVDVCkpCiAJCXJldHVybiAwOwogCiAJbWVtc2V0KCZldmVudCwgMCwgc2l6ZW9mIGV2ZW50KTsKQEAgLTk3MCw3ICs5NjEsNyBAQAogCQlldmVudC5wYXJhbS5jb25uLnByaXZhdGVfZGF0YV9sZW4gPSBJQl9DTV9SRUpfUFJJVkFURV9EQVRBX1NJWkU7CiAJCWJyZWFrOwogCWRlZmF1bHQ6Ci0JCXByaW50ayhLRVJOX0VSUiAiUkRNQSBDTUE6IHVuZXhwZWN0ZWQgSUIgQ00gZXZlbnQ6ICVkIiwKKwkJcHJpbnRrKEtFUk5fRVJSICJSRE1BIENNQTogdW5leHBlY3RlZCBJQiBDTSBldmVudDogJWRcbiIsCiAJCSAgICAgICBpYl9ldmVudC0+ZXZlbnQpOwogCQlnb3RvIG91dDsKIAl9CkBAIC05ODAsMTIgKzk3MSwxMiBAQAogCQkvKiBEZXN0cm95IHRoZSBDTSBJRCBieSByZXR1cm5pbmcgYSBub24temVybyB2YWx1ZS4gKi8KIAkJaWRfcHJpdi0+Y21faWQuaWIgPSBOVUxMOwogCQljbWFfZXhjaChpZF9wcml2LCBDTUFfREVTVFJPWUlORyk7Ci0JCWNtYV9lbmFibGVfcmVtb3ZlKGlkX3ByaXYpOworCQltdXRleF91bmxvY2soJmlkX3ByaXYtPmhhbmRsZXJfbXV0ZXgpOwogCQlyZG1hX2Rlc3Ryb3lfaWQoJmlkX3ByaXYtPmlkKTsKIAkJcmV0dXJuIHJldDsKIAl9CiBvdXQ6Ci0JY21hX2VuYWJsZV9yZW1vdmUoaWRfcHJpdik7CisJbXV0ZXhfdW5sb2NrKCZpZF9wcml2LT5oYW5kbGVyX211dGV4KTsKIAlyZXR1cm4gcmV0OwogfQogCkBAIC05OTgsNiArOTg5LDcgQEAKIAl1bmlvbiBjbWFfaXBfYWRkciAqc3JjLCAqZHN0OwogCV9fYmUxNiBwb3J0OwogCXU4IGlwX3ZlcjsKKwlpbnQgcmV0OwogCiAJaWYgKGNtYV9nZXRfbmV0X2luZm8oaWJfZXZlbnQtPnByaXZhdGVfZGF0YSwgbGlzdGVuX2lkLT5wcywKIAkJCSAgICAgJmlwX3ZlciwgJnBvcnQsICZzcmMsICZkc3QpKQpAQCAtMTAyMiwxMCArMTAxNCwxMSBAQAogCWlmIChydC0+bnVtX3BhdGhzID09IDIpCiAJCXJ0LT5wYXRoX3JlY1sxXSA9ICppYl9ldmVudC0+cGFyYW0ucmVxX3JjdmQuYWx0ZXJuYXRlX3BhdGg7CiAKLQlpYl9hZGRyX3NldF9zZ2lkKCZydC0+YWRkci5kZXZfYWRkciwgJnJ0LT5wYXRoX3JlY1swXS5zZ2lkKTsKIAlpYl9hZGRyX3NldF9kZ2lkKCZydC0+YWRkci5kZXZfYWRkciwgJnJ0LT5wYXRoX3JlY1swXS5kZ2lkKTsKLQlpYl9hZGRyX3NldF9wa2V5KCZydC0+YWRkci5kZXZfYWRkciwgYmUxNl90b19jcHUocnQtPnBhdGhfcmVjWzBdLnBrZXkpKTsKLQlydC0+YWRkci5kZXZfYWRkci5kZXZfdHlwZSA9IFJETUFfTk9ERV9JQl9DQTsKKwlyZXQgPSByZG1hX3RyYW5zbGF0ZV9pcCgmaWQtPnJvdXRlLmFkZHIuc3JjX2FkZHIsCisJCQkJJmlkLT5yb3V0ZS5hZGRyLmRldl9hZGRyKTsKKwlpZiAocmV0KQorCQlnb3RvIGRlc3Ryb3lfaWQ7CiAKIAlpZF9wcml2ID0gY29udGFpbmVyX29mKGlkLCBzdHJ1Y3QgcmRtYV9pZF9wcml2YXRlLCBpZCk7CiAJaWRfcHJpdi0+c3RhdGUgPSBDTUFfQ09OTkVDVDsKQEAgLTEwOTUsNyArMTA4OCw3IEBACiAJaW50IG9mZnNldCwgcmV0OwogCiAJbGlzdGVuX2lkID0gY21faWQtPmNvbnRleHQ7Ci0JaWYgKGNtYV9kaXNhYmxlX3JlbW92ZShsaXN0ZW5faWQsIENNQV9MSVNURU4pKQorCWlmIChjbWFfZGlzYWJsZV9jYWxsYmFjayhsaXN0ZW5faWQsIENNQV9MSVNURU4pKQogCQlyZXR1cm4gLUVDT05OQUJPUlRFRDsKIAogCW1lbXNldCgmZXZlbnQsIDAsIHNpemVvZiBldmVudCk7CkBAIC0xMTE2LDcgKzExMDksNyBAQAogCQlnb3RvIG91dDsKIAl9CiAKLQlhdG9taWNfaW5jKCZjb25uX2lkLT5kZXZfcmVtb3ZlKTsKKwltdXRleF9sb2NrX25lc3RlZCgmY29ubl9pZC0+aGFuZGxlcl9tdXRleCwgU0lOR0xFX0RFUFRIX05FU1RJTkcpOwogCW11dGV4X2xvY2soJmxvY2spOwogCXJldCA9IGNtYV9hY3F1aXJlX2Rldihjb25uX2lkKTsKIAltdXRleF91bmxvY2soJmxvY2spOwpAQCAtMTEzOCw3ICsxMTMxLDcgQEAKIAkJICAgICFjbWFfaXNfdWRfcHMoY29ubl9pZC0+aWQucHMpKQogCQkJaWJfc2VuZF9jbV9tcmEoY21faWQsIENNQV9DTV9NUkFfU0VUVElORywgTlVMTCwgMCk7CiAJCW11dGV4X3VubG9jaygmbG9jayk7Ci0JCWNtYV9lbmFibGVfcmVtb3ZlKGNvbm5faWQpOworCQltdXRleF91bmxvY2soJmNvbm5faWQtPmhhbmRsZXJfbXV0ZXgpOwogCQlnb3RvIG91dDsKIAl9CiAKQEAgLTExNDcsMTEgKzExNDAsMTEgQEAKIAogcmVsZWFzZV9jb25uX2lkOgogCWNtYV9leGNoKGNvbm5faWQsIENNQV9ERVNUUk9ZSU5HKTsKLQljbWFfZW5hYmxlX3JlbW92ZShjb25uX2lkKTsKKwltdXRleF91bmxvY2soJmNvbm5faWQtPmhhbmRsZXJfbXV0ZXgpOwogCXJkbWFfZGVzdHJveV9pZCgmY29ubl9pZC0+aWQpOwogCiBvdXQ6Ci0JY21hX2VuYWJsZV9yZW1vdmUobGlzdGVuX2lkKTsKKwltdXRleF91bmxvY2soJmxpc3Rlbl9pZC0+aGFuZGxlcl9tdXRleCk7CiAJcmV0dXJuIHJldDsKIH0KIApAQCAtMTIxNyw3ICsxMjEwLDcgQEAKIAlzdHJ1Y3Qgc29ja2FkZHJfaW4gKnNpbjsKIAlpbnQgcmV0ID0gMDsKIAotCWlmIChjbWFfZGlzYWJsZV9yZW1vdmUoaWRfcHJpdiwgQ01BX0NPTk5FQ1QpKQorCWlmIChjbWFfZGlzYWJsZV9jYWxsYmFjayhpZF9wcml2LCBDTUFfQ09OTkVDVCkpCiAJCXJldHVybiAwOwogCiAJbWVtc2V0KCZldmVudCwgMCwgc2l6ZW9mIGV2ZW50KTsKQEAgLTEyNjEsMTIgKzEyNTQsMTIgQEAKIAkJLyogRGVzdHJveSB0aGUgQ00gSUQgYnkgcmV0dXJuaW5nIGEgbm9uLXplcm8gdmFsdWUuICovCiAJCWlkX3ByaXYtPmNtX2lkLml3ID0gTlVMTDsKIAkJY21hX2V4Y2goaWRfcHJpdiwgQ01BX0RFU1RST1lJTkcpOwotCQljbWFfZW5hYmxlX3JlbW92ZShpZF9wcml2KTsKKwkJbXV0ZXhfdW5sb2NrKCZpZF9wcml2LT5oYW5kbGVyX211dGV4KTsKIAkJcmRtYV9kZXN0cm95X2lkKCZpZF9wcml2LT5pZCk7CiAJCXJldHVybiByZXQ7CiAJfQogCi0JY21hX2VuYWJsZV9yZW1vdmUoaWRfcHJpdik7CisJbXV0ZXhfdW5sb2NrKCZpZF9wcml2LT5oYW5kbGVyX211dGV4KTsKIAlyZXR1cm4gcmV0OwogfQogCkBAIC0xMjgyLDcgKzEyNzUsNyBAQAogCXN0cnVjdCBpYl9kZXZpY2VfYXR0ciBhdHRyOwogCiAJbGlzdGVuX2lkID0gY21faWQtPmNvbnRleHQ7Ci0JaWYgKGNtYV9kaXNhYmxlX3JlbW92ZShsaXN0ZW5faWQsIENNQV9MSVNURU4pKQorCWlmIChjbWFfZGlzYWJsZV9jYWxsYmFjayhsaXN0ZW5faWQsIENNQV9MSVNURU4pKQogCQlyZXR1cm4gLUVDT05OQUJPUlRFRDsKIAogCS8qIENyZWF0ZSBhIG5ldyBSRE1BIGlkIGZvciB0aGUgbmV3IElXIENNIElEICovCkBAIC0xMjk0LDE5ICsxMjg3LDE5IEBACiAJCWdvdG8gb3V0OwogCX0KIAljb25uX2lkID0gY29udGFpbmVyX29mKG5ld19jbV9pZCwgc3RydWN0IHJkbWFfaWRfcHJpdmF0ZSwgaWQpOwotCWF0b21pY19pbmMoJmNvbm5faWQtPmRldl9yZW1vdmUpOworCW11dGV4X2xvY2tfbmVzdGVkKCZjb25uX2lkLT5oYW5kbGVyX211dGV4LCBTSU5HTEVfREVQVEhfTkVTVElORyk7CiAJY29ubl9pZC0+c3RhdGUgPSBDTUFfQ09OTkVDVDsKIAogCWRldiA9IGlwX2Rldl9maW5kKCZpbml0X25ldCwgaXdfZXZlbnQtPmxvY2FsX2FkZHIuc2luX2FkZHIuc19hZGRyKTsKIAlpZiAoIWRldikgewogCQlyZXQgPSAtRUFERFJOT1RBVkFJTDsKLQkJY21hX2VuYWJsZV9yZW1vdmUoY29ubl9pZCk7CisJCW11dGV4X3VubG9jaygmY29ubl9pZC0+aGFuZGxlcl9tdXRleCk7CiAJCXJkbWFfZGVzdHJveV9pZChuZXdfY21faWQpOwogCQlnb3RvIG91dDsKIAl9CiAJcmV0ID0gcmRtYV9jb3B5X2FkZHIoJmNvbm5faWQtPmlkLnJvdXRlLmFkZHIuZGV2X2FkZHIsIGRldiwgTlVMTCk7CiAJaWYgKHJldCkgewotCQljbWFfZW5hYmxlX3JlbW92ZShjb25uX2lkKTsKKwkJbXV0ZXhfdW5sb2NrKCZjb25uX2lkLT5oYW5kbGVyX211dGV4KTsKIAkJcmRtYV9kZXN0cm95X2lkKG5ld19jbV9pZCk7CiAJCWdvdG8gb3V0OwogCX0KQEAgLTEzMTUsNyArMTMwOCw3IEBACiAJcmV0ID0gY21hX2FjcXVpcmVfZGV2KGNvbm5faWQpOwogCW11dGV4X3VubG9jaygmbG9jayk7CiAJaWYgKHJldCkgewotCQljbWFfZW5hYmxlX3JlbW92ZShjb25uX2lkKTsKKwkJbXV0ZXhfdW5sb2NrKCZjb25uX2lkLT5oYW5kbGVyX211dGV4KTsKIAkJcmRtYV9kZXN0cm95X2lkKG5ld19jbV9pZCk7CiAJCWdvdG8gb3V0OwogCX0KQEAgLTEzMzEsNyArMTMyNCw3IEBACiAKIAlyZXQgPSBpYl9xdWVyeV9kZXZpY2UoY29ubl9pZC0+aWQuZGV2aWNlLCAmYXR0cik7CiAJaWYgKHJldCkgewotCQljbWFfZW5hYmxlX3JlbW92ZShjb25uX2lkKTsKKwkJbXV0ZXhfdW5sb2NrKCZjb25uX2lkLT5oYW5kbGVyX211dGV4KTsKIAkJcmRtYV9kZXN0cm95X2lkKG5ld19jbV9pZCk7CiAJCWdvdG8gb3V0OwogCX0KQEAgLTEzNDcsMTQgKzEzNDAsMTcgQEAKIAkJLyogVXNlciB3YW50cyB0byBkZXN0cm95IHRoZSBDTSBJRCAqLwogCQljb25uX2lkLT5jbV9pZC5pdyA9IE5VTEw7CiAJCWNtYV9leGNoKGNvbm5faWQsIENNQV9ERVNUUk9ZSU5HKTsKLQkJY21hX2VuYWJsZV9yZW1vdmUoY29ubl9pZCk7CisJCW11dGV4X3VubG9jaygmY29ubl9pZC0+aGFuZGxlcl9tdXRleCk7CiAJCXJkbWFfZGVzdHJveV9pZCgmY29ubl9pZC0+aWQpOworCQlnb3RvIG91dDsKIAl9CiAKKwltdXRleF91bmxvY2soJmNvbm5faWQtPmhhbmRsZXJfbXV0ZXgpOworCiBvdXQ6CiAJaWYgKGRldikKIAkJZGV2X3B1dChkZXYpOwotCWNtYV9lbmFibGVfcmVtb3ZlKGxpc3Rlbl9pZCk7CisJbXV0ZXhfdW5sb2NrKCZsaXN0ZW5faWQtPmhhbmRsZXJfbXV0ZXgpOwogCXJldHVybiByZXQ7CiB9CiAKQEAgLTE0NDYsNyArMTQ0Miw3IEBACiAJcmV0ID0gcmRtYV9saXN0ZW4oaWQsIGlkX3ByaXYtPmJhY2tsb2cpOwogCWlmIChyZXQpCiAJCXByaW50ayhLRVJOX1dBUk5JTkcgIlJETUEgQ01BOiBjbWFfbGlzdGVuX29uX2RldiwgZXJyb3IgJWQsICIKLQkJICAgICAgICJsaXN0ZW5pbmcgb24gZGV2aWNlICVzIiwgcmV0LCBjbWFfZGV2LT5kZXZpY2UtPm5hbWUpOworCQkgICAgICAgImxpc3RlbmluZyBvbiBkZXZpY2UgJXNcbiIsIHJldCwgY21hX2Rldi0+ZGV2aWNlLT5uYW1lKTsKIH0KIAogc3RhdGljIHZvaWQgY21hX2xpc3Rlbl9vbl9hbGwoc3RydWN0IHJkbWFfaWRfcHJpdmF0ZSAqaWRfcHJpdikKQEAgLTE1ODYsNyArMTU4Miw3IEBACiAJc3RydWN0IHJkbWFfaWRfcHJpdmF0ZSAqaWRfcHJpdiA9IHdvcmstPmlkOwogCWludCBkZXN0cm95ID0gMDsKIAotCWF0b21pY19pbmMoJmlkX3ByaXYtPmRldl9yZW1vdmUpOworCW11dGV4X2xvY2soJmlkX3ByaXYtPmhhbmRsZXJfbXV0ZXgpOwogCWlmICghY21hX2NvbXBfZXhjaChpZF9wcml2LCB3b3JrLT5vbGRfc3RhdGUsIHdvcmstPm5ld19zdGF0ZSkpCiAJCWdvdG8gb3V0OwogCkBAIC0xNTk1LDcgKzE1OTEsNyBAQAogCQlkZXN0cm95ID0gMTsKIAl9CiBvdXQ6Ci0JY21hX2VuYWJsZV9yZW1vdmUoaWRfcHJpdik7CisJbXV0ZXhfdW5sb2NrKCZpZF9wcml2LT5oYW5kbGVyX211dGV4KTsKIAljbWFfZGVyZWZfaWQoaWRfcHJpdik7CiAJaWYgKGRlc3Ryb3kpCiAJCXJkbWFfZGVzdHJveV9pZCgmaWRfcHJpdi0+aWQpOwpAQCAtMTc1OCw3ICsxNzU0LDcgQEAKIAlzdHJ1Y3QgcmRtYV9jbV9ldmVudCBldmVudDsKIAogCW1lbXNldCgmZXZlbnQsIDAsIHNpemVvZiBldmVudCk7Ci0JYXRvbWljX2luYygmaWRfcHJpdi0+ZGV2X3JlbW92ZSk7CisJbXV0ZXhfbG9jaygmaWRfcHJpdi0+aGFuZGxlcl9tdXRleCk7CiAKIAkvKgogCSAqIEdyYWIgbXV0ZXggdG8gYmxvY2sgcmRtYV9kZXN0cm95X2lkKCkgZnJvbSByZW1vdmluZyB0aGUgZGV2aWNlIHdoaWxlCkBAIC0xNzg3LDEzICsxNzgzLDEzIEBACiAKIAlpZiAoaWRfcHJpdi0+aWQuZXZlbnRfaGFuZGxlcigmaWRfcHJpdi0+aWQsICZldmVudCkpIHsKIAkJY21hX2V4Y2goaWRfcHJpdiwgQ01BX0RFU1RST1lJTkcpOwotCQljbWFfZW5hYmxlX3JlbW92ZShpZF9wcml2KTsKKwkJbXV0ZXhfdW5sb2NrKCZpZF9wcml2LT5oYW5kbGVyX211dGV4KTsKIAkJY21hX2RlcmVmX2lkKGlkX3ByaXYpOwogCQlyZG1hX2Rlc3Ryb3lfaWQoJmlkX3ByaXYtPmlkKTsKIAkJcmV0dXJuOwogCX0KIG91dDoKLQljbWFfZW5hYmxlX3JlbW92ZShpZF9wcml2KTsKKwltdXRleF91bmxvY2soJmlkX3ByaXYtPmhhbmRsZXJfbXV0ZXgpOwogCWNtYV9kZXJlZl9pZChpZF9wcml2KTsKIH0KIApAQCAtMjEyMCw3ICsyMTE2LDcgQEAKIAlzdHJ1Y3QgaWJfY21fc2lkcl9yZXBfZXZlbnRfcGFyYW0gKnJlcCA9ICZpYl9ldmVudC0+cGFyYW0uc2lkcl9yZXBfcmN2ZDsKIAlpbnQgcmV0ID0gMDsKIAotCWlmIChjbWFfZGlzYWJsZV9yZW1vdmUoaWRfcHJpdiwgQ01BX0NPTk5FQ1QpKQorCWlmIChjbWFfZGlzYWJsZV9jYWxsYmFjayhpZF9wcml2LCBDTUFfQ09OTkVDVCkpCiAJCXJldHVybiAwOwogCiAJbWVtc2V0KCZldmVudCwgMCwgc2l6ZW9mIGV2ZW50KTsKQEAgLTIxNTEsNyArMjE0Nyw3IEBACiAJCWV2ZW50LnN0YXR1cyA9IDA7CiAJCWJyZWFrOwogCWRlZmF1bHQ6Ci0JCXByaW50ayhLRVJOX0VSUiAiUkRNQSBDTUE6IHVuZXhwZWN0ZWQgSUIgQ00gZXZlbnQ6ICVkIiwKKwkJcHJpbnRrKEtFUk5fRVJSICJSRE1BIENNQTogdW5leHBlY3RlZCBJQiBDTSBldmVudDogJWRcbiIsCiAJCSAgICAgICBpYl9ldmVudC0+ZXZlbnQpOwogCQlnb3RvIG91dDsKIAl9CkBAIC0yMTYxLDEyICsyMTU3LDEyIEBACiAJCS8qIERlc3Ryb3kgdGhlIENNIElEIGJ5IHJldHVybmluZyBhIG5vbi16ZXJvIHZhbHVlLiAqLwogCQlpZF9wcml2LT5jbV9pZC5pYiA9IE5VTEw7CiAJCWNtYV9leGNoKGlkX3ByaXYsIENNQV9ERVNUUk9ZSU5HKTsKLQkJY21hX2VuYWJsZV9yZW1vdmUoaWRfcHJpdik7CisJCW11dGV4X3VubG9jaygmaWRfcHJpdi0+aGFuZGxlcl9tdXRleCk7CiAJCXJkbWFfZGVzdHJveV9pZCgmaWRfcHJpdi0+aWQpOwogCQlyZXR1cm4gcmV0OwogCX0KIG91dDoKLQljbWFfZW5hYmxlX3JlbW92ZShpZF9wcml2KTsKKwltdXRleF91bmxvY2soJmlkX3ByaXYtPmhhbmRsZXJfbXV0ZXgpOwogCXJldHVybiByZXQ7CiB9CiAKQEAgLTI1NjQsOCArMjU2MCw4IEBACiAJaW50IHJldDsKIAogCWlkX3ByaXYgPSBtYy0+aWRfcHJpdjsKLQlpZiAoY21hX2Rpc2FibGVfcmVtb3ZlKGlkX3ByaXYsIENNQV9BRERSX0JPVU5EKSAmJgotCSAgICBjbWFfZGlzYWJsZV9yZW1vdmUoaWRfcHJpdiwgQ01BX0FERFJfUkVTT0xWRUQpKQorCWlmIChjbWFfZGlzYWJsZV9jYWxsYmFjayhpZF9wcml2LCBDTUFfQUREUl9CT1VORCkgJiYKKwkgICAgY21hX2Rpc2FibGVfY2FsbGJhY2soaWRfcHJpdiwgQ01BX0FERFJfUkVTT0xWRUQpKQogCQlyZXR1cm4gMDsKIAogCW11dGV4X2xvY2soJmlkX3ByaXYtPnFwX211dGV4KTsKQEAgLTI1OTAsMTIgKzI1ODYsMTIgQEAKIAlyZXQgPSBpZF9wcml2LT5pZC5ldmVudF9oYW5kbGVyKCZpZF9wcml2LT5pZCwgJmV2ZW50KTsKIAlpZiAocmV0KSB7CiAJCWNtYV9leGNoKGlkX3ByaXYsIENNQV9ERVNUUk9ZSU5HKTsKLQkJY21hX2VuYWJsZV9yZW1vdmUoaWRfcHJpdik7CisJCW11dGV4X3VubG9jaygmaWRfcHJpdi0+aGFuZGxlcl9tdXRleCk7CiAJCXJkbWFfZGVzdHJveV9pZCgmaWRfcHJpdi0+aWQpOwogCQlyZXR1cm4gMDsKIAl9CiAKLQljbWFfZW5hYmxlX3JlbW92ZShpZF9wcml2KTsKKwltdXRleF91bmxvY2soJmlkX3ByaXYtPmhhbmRsZXJfbXV0ZXgpOwogCXJldHVybiAwOwogfQogCkBAIC0yNzU0LDYgKzI3NTAsNyBAQAogewogCXN0cnVjdCByZG1hX2NtX2V2ZW50IGV2ZW50OwogCWVudW0gY21hX3N0YXRlIHN0YXRlOworCWludCByZXQgPSAwOwogCiAJLyogUmVjb3JkIHRoYXQgd2Ugd2FudCB0byByZW1vdmUgdGhlIGRldmljZSAqLwogCXN0YXRlID0gY21hX2V4Y2goaWRfcHJpdiwgQ01BX0RFVklDRV9SRU1PVkFMKTsKQEAgLTI3NjEsMTUgKzI3NTgsMTggQEAKIAkJcmV0dXJuIDA7CiAKIAljbWFfY2FuY2VsX29wZXJhdGlvbihpZF9wcml2LCBzdGF0ZSk7Ci0Jd2FpdF9ldmVudChpZF9wcml2LT53YWl0X3JlbW92ZSwgIWF0b21pY19yZWFkKCZpZF9wcml2LT5kZXZfcmVtb3ZlKSk7CisJbXV0ZXhfbG9jaygmaWRfcHJpdi0+aGFuZGxlcl9tdXRleCk7CiAKIAkvKiBDaGVjayBmb3IgZGVzdHJ1Y3Rpb24gZnJvbSBhbm90aGVyIGNhbGxiYWNrLiAqLwogCWlmICghY21hX2NvbXAoaWRfcHJpdiwgQ01BX0RFVklDRV9SRU1PVkFMKSkKLQkJcmV0dXJuIDA7CisJCWdvdG8gb3V0OwogCiAJbWVtc2V0KCZldmVudCwgMCwgc2l6ZW9mIGV2ZW50KTsKIAlldmVudC5ldmVudCA9IFJETUFfQ01fRVZFTlRfREVWSUNFX1JFTU9WQUw7Ci0JcmV0dXJuIGlkX3ByaXYtPmlkLmV2ZW50X2hhbmRsZXIoJmlkX3ByaXYtPmlkLCAmZXZlbnQpOworCXJldCA9IGlkX3ByaXYtPmlkLmV2ZW50X2hhbmRsZXIoJmlkX3ByaXYtPmlkLCAmZXZlbnQpOworb3V0OgorCW11dGV4X3VubG9jaygmaWRfcHJpdi0+aGFuZGxlcl9tdXRleCk7CisJcmV0dXJuIHJldDsKIH0KIAogc3RhdGljIHZvaWQgY21hX3Byb2Nlc3NfcmVtb3ZlKHN0cnVjdCBjbWFfZGV2aWNlICpjbWFfZGV2KQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvY29yZV9wcml2LmggYi9kcml2ZXJzL2luZmluaWJhbmQvY29yZS9jb3JlX3ByaXYuaAppbmRleCA3YWQ0N2E0Li4wNWFjMzZlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvY29yZS9jb3JlX3ByaXYuaAorKysgYi9kcml2ZXJzL2luZmluaWJhbmQvY29yZS9jb3JlX3ByaXYuaApAQCAtMjgsOCArMjgsNiBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZDogY29yZV9wcml2LmggMTM0OSAyMDA0LTEyLTE2IDIxOjA5OjQzWiByb2xhbmQgJAogICovCiAKICNpZm5kZWYgX0NPUkVfUFJJVl9ICmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvY29yZS9kZXZpY2UuYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL2RldmljZS5jCmluZGV4IDVhYzVmZmUuLjc5MTNiODAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL2RldmljZS5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL2RldmljZS5jCkBAIC0yOSw4ICsyOSw2IEBACiAgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgogICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogICogU09GVFdBUkUuCi0gKgotICogJElkOiBkZXZpY2UuYyAxMzQ5IDIwMDQtMTItMTYgMjE6MDk6NDNaIHJvbGFuZCAkCiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvZm1yX3Bvb2wuYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL2Ztcl9wb29sLmMKaW5kZXggMTI4NmRjMS4uNDUwNzA0MyAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvZm1yX3Bvb2wuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvY29yZS9mbXJfcG9vbC5jCkBAIC0yOSw4ICsyOSw2IEBACiAgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgogICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogICogU09GVFdBUkUuCi0gKgotICogJElkOiBmbXJfcG9vbC5jIDI3MzAgMjAwNS0wNi0yOCAxNjo0MzowM1ogc2Vhbi5oZWZ0eSAkCiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvY29yZS9tYWRfcHJpdi5oIGIvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvbWFkX3ByaXYuaAppbmRleCA4Yjc1MDEwLi4wNWNlMzMxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvY29yZS9tYWRfcHJpdi5oCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL21hZF9wcml2LmgKQEAgLTMwLDggKzMwLDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IG1hZF9wcml2LmggNTU5NiAyMDA2LTAzLTAzIDAxOjAwOjA3WiBzZWFuLmhlZnR5ICQKICAqLwogCiAjaWZuZGVmIF9fSUJfTUFEX1BSSVZfSF9fCmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvY29yZS9tYWRfcm1wcC5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvbWFkX3JtcHAuYwppbmRleCBhNWUyYTMxLi5kMGVmN2Q2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvY29yZS9tYWRfcm1wcC5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL21hZF9ybXBwLmMKQEAgLTI5LDggKzI5LDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IG1hZF9ybXBwLmMgMTkyMSAyMDA1LTAzLTAyIDIyOjU4OjQ0WiBzZWFuLmhlZnR5ICQKICAqLwogCiAjaW5jbHVkZSAibWFkX3ByaXYuaCIKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL21hZF9ybXBwLmggYi9kcml2ZXJzL2luZmluaWJhbmQvY29yZS9tYWRfcm1wcC5oCmluZGV4IGYwNjE2ZmQuLjNkMzM2YmYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL21hZF9ybXBwLmgKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvbWFkX3JtcHAuaApAQCAtMjgsOCArMjgsNiBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZDogbWFkX3JtcHAuaCAxOTIxIDIwMDUtMDItMjUgMjI6NTg6NDRaIHNlYW4uaGVmdHkgJAogICovCiAKICNpZm5kZWYgX19NQURfUk1QUF9IX18KZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL3BhY2tlci5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvcGFja2VyLmMKaW5kZXggYzk3MmQ3Mi4uMDE5YmQ0YiAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvcGFja2VyLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvcGFja2VyLmMKQEAgLTI5LDggKzI5LDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IHBhY2tlci5jIDEzNDkgMjAwNC0xMi0xNiAyMTowOTo0M1ogcm9sYW5kICQKICAqLwogCiAjaW5jbHVkZSA8bGludXgvc3RyaW5nLmg+CmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvY29yZS9zYV9xdWVyeS5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvc2FfcXVlcnkuYwppbmRleCBjZjQ3NGVjLi4xMzQxZGU3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvY29yZS9zYV9xdWVyeS5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL3NhX3F1ZXJ5LmMKQEAgLTMwLDggKzMwLDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IHNhX3F1ZXJ5LmMgMjgxMSAyMDA1LTA3LTA2IDE4OjExOjQzWiBoYWxyICQKICAqLwogCiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CkBAIC0zNjEsNyArMzU5LDcgQEAKIHsKIAlzdHJ1Y3QgaWJfc2FfcG9ydCAqcG9ydCA9CiAJCWNvbnRhaW5lcl9vZih3b3JrLCBzdHJ1Y3QgaWJfc2FfcG9ydCwgdXBkYXRlX3Rhc2spOwotCXN0cnVjdCBpYl9zYV9zbV9haCAqbmV3X2FoLCAqb2xkX2FoOworCXN0cnVjdCBpYl9zYV9zbV9haCAqbmV3X2FoOwogCXN0cnVjdCBpYl9wb3J0X2F0dHIgcG9ydF9hdHRyOwogCXN0cnVjdCBpYl9haF9hdHRyICAgYWhfYXR0cjsKIApAQCAtMzk3LDEyICszOTUsOSBAQAogCX0KIAogCXNwaW5fbG9ja19pcnEoJnBvcnQtPmFoX2xvY2spOwotCW9sZF9haCA9IHBvcnQtPnNtX2FoOwogCXBvcnQtPnNtX2FoID0gbmV3X2FoOwogCXNwaW5fdW5sb2NrX2lycSgmcG9ydC0+YWhfbG9jayk7CiAKLQlpZiAob2xkX2FoKQotCQlrcmVmX3B1dCgmb2xkX2FoLT5yZWYsIGZyZWVfc21fYWgpOwogfQogCiBzdGF0aWMgdm9pZCBpYl9zYV9ldmVudChzdHJ1Y3QgaWJfZXZlbnRfaGFuZGxlciAqaGFuZGxlciwgc3RydWN0IGliX2V2ZW50ICpldmVudCkKQEAgLTQxMyw4ICs0MDgsMTcgQEAKIAkgICAgZXZlbnQtPmV2ZW50ID09IElCX0VWRU5UX1BLRVlfQ0hBTkdFIHx8CiAJICAgIGV2ZW50LT5ldmVudCA9PSBJQl9FVkVOVF9TTV9DSEFOR0UgICB8fAogCSAgICBldmVudC0+ZXZlbnQgPT0gSUJfRVZFTlRfQ0xJRU5UX1JFUkVHSVNURVIpIHsKLQkJc3RydWN0IGliX3NhX2RldmljZSAqc2FfZGV2OwotCQlzYV9kZXYgPSBjb250YWluZXJfb2YoaGFuZGxlciwgdHlwZW9mKCpzYV9kZXYpLCBldmVudF9oYW5kbGVyKTsKKwkJdW5zaWduZWQgbG9uZyBmbGFnczsKKwkJc3RydWN0IGliX3NhX2RldmljZSAqc2FfZGV2ID0KKwkJCWNvbnRhaW5lcl9vZihoYW5kbGVyLCB0eXBlb2YoKnNhX2RldiksIGV2ZW50X2hhbmRsZXIpOworCQlzdHJ1Y3QgaWJfc2FfcG9ydCAqcG9ydCA9CisJCQkmc2FfZGV2LT5wb3J0W2V2ZW50LT5lbGVtZW50LnBvcnRfbnVtIC0gc2FfZGV2LT5zdGFydF9wb3J0XTsKKworCQlzcGluX2xvY2tfaXJxc2F2ZSgmcG9ydC0+YWhfbG9jaywgZmxhZ3MpOworCQlpZiAocG9ydC0+c21fYWgpCisJCQlrcmVmX3B1dCgmcG9ydC0+c21fYWgtPnJlZiwgZnJlZV9zbV9haCk7CisJCXBvcnQtPnNtX2FoID0gTlVMTDsKKwkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcG9ydC0+YWhfbG9jaywgZmxhZ3MpOwogCiAJCXNjaGVkdWxlX3dvcmsoJnNhX2Rldi0+cG9ydFtldmVudC0+ZWxlbWVudC5wb3J0X251bSAtCiAJCQkJCSAgICBzYV9kZXYtPnN0YXJ0X3BvcnRdLnVwZGF0ZV90YXNrKTsKQEAgLTUxOSw2ICs1MjMsMTAgQEAKIAl1bnNpZ25lZCBsb25nIGZsYWdzOwogCiAJc3Bpbl9sb2NrX2lycXNhdmUoJnF1ZXJ5LT5wb3J0LT5haF9sb2NrLCBmbGFncyk7CisJaWYgKCFxdWVyeS0+cG9ydC0+c21fYWgpIHsKKwkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcXVlcnktPnBvcnQtPmFoX2xvY2ssIGZsYWdzKTsKKwkJcmV0dXJuIC1FQUdBSU47CisJfQogCWtyZWZfZ2V0KCZxdWVyeS0+cG9ydC0+c21fYWgtPnJlZik7CiAJcXVlcnktPnNtX2FoID0gcXVlcnktPnBvcnQtPnNtX2FoOwogCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnF1ZXJ5LT5wb3J0LT5haF9sb2NrLCBmbGFncyk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvY29yZS9zeXNmcy5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvc3lzZnMuYwppbmRleCA5NTc1NjU1Li40ZDEwNDIxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvY29yZS9zeXNmcy5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL3N5c2ZzLmMKQEAgLTMwLDggKzMwLDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IHN5c2ZzLmMgMTM0OSAyMDA0LTEyLTE2IDIxOjA5OjQzWiByb2xhbmQgJAogICovCiAKICNpbmNsdWRlICJjb3JlX3ByaXYuaCIKQEAgLTY2NSw2ICs2NjMsMTIwIEBACiAJLmRldl91ZXZlbnQgPSBpYl9kZXZpY2VfdWV2ZW50LAogfTsKIAorLyogU2hvdyBhIGdpdmVuIGFuIGF0dHJpYnV0ZSBpbiB0aGUgc3RhdGlzdGljcyBncm91cCAqLworc3RhdGljIHNzaXplX3Qgc2hvd19wcm90b2NvbF9zdGF0KGNvbnN0IHN0cnVjdCBkZXZpY2UgKmRldmljZSwKKwkJCSAgICBzdHJ1Y3QgZGV2aWNlX2F0dHJpYnV0ZSAqYXR0ciwgY2hhciAqYnVmLAorCQkJICAgIHVuc2lnbmVkIG9mZnNldCkKK3sKKwlzdHJ1Y3QgaWJfZGV2aWNlICpkZXYgPSBjb250YWluZXJfb2YoZGV2aWNlLCBzdHJ1Y3QgaWJfZGV2aWNlLCBkZXYpOworCXVuaW9uIHJkbWFfcHJvdG9jb2xfc3RhdHMgc3RhdHM7CisJc3NpemVfdCByZXQ7CisKKwlyZXQgPSBkZXYtPmdldF9wcm90b2NvbF9zdGF0cyhkZXYsICZzdGF0cyk7CisJaWYgKHJldCkKKwkJcmV0dXJuIHJldDsKKworCXJldHVybiBzcHJpbnRmKGJ1ZiwgIiVsbHVcbiIsCisJCSAgICAgICAodW5zaWduZWQgbG9uZyBsb25nKSAoKHU2NCAqKSAmc3RhdHMpW29mZnNldF0pOworfQorCisvKiBnZW5lcmF0ZSBhIHJlYWQtb25seSBpd2FycCBzdGF0aXN0aWNzIGF0dHJpYnV0ZSAqLworI2RlZmluZSBJV19TVEFUU19FTlRSWShuYW1lKQkJCQkJCVwKK3N0YXRpYyBzc2l6ZV90IHNob3dfIyNuYW1lKHN0cnVjdCBkZXZpY2UgKmRldmljZSwJCQlcCisJCQkgICBzdHJ1Y3QgZGV2aWNlX2F0dHJpYnV0ZSAqYXR0ciwgY2hhciAqYnVmKQlcCit7CQkJCQkJCQkJXAorCXJldHVybiBzaG93X3Byb3RvY29sX3N0YXQoZGV2aWNlLCBhdHRyLCBidWYsCQkJXAorCQkJCSAgb2Zmc2V0b2Yoc3RydWN0IGl3X3Byb3RvY29sX3N0YXRzLCBuYW1lKSAvIFwKKwkJCQkgIHNpemVvZiAodTY0KSk7CQkJXAorfQkJCQkJCQkJCVwKK3N0YXRpYyBERVZJQ0VfQVRUUihuYW1lLCBTX0lSVUdPLCBzaG93XyMjbmFtZSwgTlVMTCkKKworSVdfU1RBVFNfRU5UUlkoaXBJblJlY2VpdmVzKTsKK0lXX1NUQVRTX0VOVFJZKGlwSW5IZHJFcnJvcnMpOworSVdfU1RBVFNfRU5UUlkoaXBJblRvb0JpZ0Vycm9ycyk7CitJV19TVEFUU19FTlRSWShpcEluTm9Sb3V0ZXMpOworSVdfU1RBVFNfRU5UUlkoaXBJbkFkZHJFcnJvcnMpOworSVdfU1RBVFNfRU5UUlkoaXBJblVua25vd25Qcm90b3MpOworSVdfU1RBVFNfRU5UUlkoaXBJblRydW5jYXRlZFBrdHMpOworSVdfU1RBVFNfRU5UUlkoaXBJbkRpc2NhcmRzKTsKK0lXX1NUQVRTX0VOVFJZKGlwSW5EZWxpdmVycyk7CitJV19TVEFUU19FTlRSWShpcE91dEZvcndEYXRhZ3JhbXMpOworSVdfU1RBVFNfRU5UUlkoaXBPdXRSZXF1ZXN0cyk7CitJV19TVEFUU19FTlRSWShpcE91dERpc2NhcmRzKTsKK0lXX1NUQVRTX0VOVFJZKGlwT3V0Tm9Sb3V0ZXMpOworSVdfU1RBVFNfRU5UUlkoaXBSZWFzbVRpbWVvdXQpOworSVdfU1RBVFNfRU5UUlkoaXBSZWFzbVJlcWRzKTsKK0lXX1NUQVRTX0VOVFJZKGlwUmVhc21PS3MpOworSVdfU1RBVFNfRU5UUlkoaXBSZWFzbUZhaWxzKTsKK0lXX1NUQVRTX0VOVFJZKGlwRnJhZ09Lcyk7CitJV19TVEFUU19FTlRSWShpcEZyYWdGYWlscyk7CitJV19TVEFUU19FTlRSWShpcEZyYWdDcmVhdGVzKTsKK0lXX1NUQVRTX0VOVFJZKGlwSW5NY2FzdFBrdHMpOworSVdfU1RBVFNfRU5UUlkoaXBPdXRNY2FzdFBrdHMpOworSVdfU1RBVFNfRU5UUlkoaXBJbkJjYXN0UGt0cyk7CitJV19TVEFUU19FTlRSWShpcE91dEJjYXN0UGt0cyk7CitJV19TVEFUU19FTlRSWSh0Y3BSdG9BbGdvcml0aG0pOworSVdfU1RBVFNfRU5UUlkodGNwUnRvTWluKTsKK0lXX1NUQVRTX0VOVFJZKHRjcFJ0b01heCk7CitJV19TVEFUU19FTlRSWSh0Y3BNYXhDb25uKTsKK0lXX1NUQVRTX0VOVFJZKHRjcEFjdGl2ZU9wZW5zKTsKK0lXX1NUQVRTX0VOVFJZKHRjcFBhc3NpdmVPcGVucyk7CitJV19TVEFUU19FTlRSWSh0Y3BBdHRlbXB0RmFpbHMpOworSVdfU1RBVFNfRU5UUlkodGNwRXN0YWJSZXNldHMpOworSVdfU1RBVFNfRU5UUlkodGNwQ3VyckVzdGFiKTsKK0lXX1NUQVRTX0VOVFJZKHRjcEluU2Vncyk7CitJV19TVEFUU19FTlRSWSh0Y3BPdXRTZWdzKTsKK0lXX1NUQVRTX0VOVFJZKHRjcFJldHJhbnNTZWdzKTsKK0lXX1NUQVRTX0VOVFJZKHRjcEluRXJycyk7CitJV19TVEFUU19FTlRSWSh0Y3BPdXRSc3RzKTsKKworc3RhdGljIHN0cnVjdCBhdHRyaWJ1dGUgKml3X3Byb3RvX3N0YXRzX2F0dHJzW10gPSB7CisJJmRldl9hdHRyX2lwSW5SZWNlaXZlcy5hdHRyLAorCSZkZXZfYXR0cl9pcEluSGRyRXJyb3JzLmF0dHIsCisJJmRldl9hdHRyX2lwSW5Ub29CaWdFcnJvcnMuYXR0ciwKKwkmZGV2X2F0dHJfaXBJbk5vUm91dGVzLmF0dHIsCisJJmRldl9hdHRyX2lwSW5BZGRyRXJyb3JzLmF0dHIsCisJJmRldl9hdHRyX2lwSW5Vbmtub3duUHJvdG9zLmF0dHIsCisJJmRldl9hdHRyX2lwSW5UcnVuY2F0ZWRQa3RzLmF0dHIsCisJJmRldl9hdHRyX2lwSW5EaXNjYXJkcy5hdHRyLAorCSZkZXZfYXR0cl9pcEluRGVsaXZlcnMuYXR0ciwKKwkmZGV2X2F0dHJfaXBPdXRGb3J3RGF0YWdyYW1zLmF0dHIsCisJJmRldl9hdHRyX2lwT3V0UmVxdWVzdHMuYXR0ciwKKwkmZGV2X2F0dHJfaXBPdXREaXNjYXJkcy5hdHRyLAorCSZkZXZfYXR0cl9pcE91dE5vUm91dGVzLmF0dHIsCisJJmRldl9hdHRyX2lwUmVhc21UaW1lb3V0LmF0dHIsCisJJmRldl9hdHRyX2lwUmVhc21SZXFkcy5hdHRyLAorCSZkZXZfYXR0cl9pcFJlYXNtT0tzLmF0dHIsCisJJmRldl9hdHRyX2lwUmVhc21GYWlscy5hdHRyLAorCSZkZXZfYXR0cl9pcEZyYWdPS3MuYXR0ciwKKwkmZGV2X2F0dHJfaXBGcmFnRmFpbHMuYXR0ciwKKwkmZGV2X2F0dHJfaXBGcmFnQ3JlYXRlcy5hdHRyLAorCSZkZXZfYXR0cl9pcEluTWNhc3RQa3RzLmF0dHIsCisJJmRldl9hdHRyX2lwT3V0TWNhc3RQa3RzLmF0dHIsCisJJmRldl9hdHRyX2lwSW5CY2FzdFBrdHMuYXR0ciwKKwkmZGV2X2F0dHJfaXBPdXRCY2FzdFBrdHMuYXR0ciwKKwkmZGV2X2F0dHJfdGNwUnRvQWxnb3JpdGhtLmF0dHIsCisJJmRldl9hdHRyX3RjcFJ0b01pbi5hdHRyLAorCSZkZXZfYXR0cl90Y3BSdG9NYXguYXR0ciwKKwkmZGV2X2F0dHJfdGNwTWF4Q29ubi5hdHRyLAorCSZkZXZfYXR0cl90Y3BBY3RpdmVPcGVucy5hdHRyLAorCSZkZXZfYXR0cl90Y3BQYXNzaXZlT3BlbnMuYXR0ciwKKwkmZGV2X2F0dHJfdGNwQXR0ZW1wdEZhaWxzLmF0dHIsCisJJmRldl9hdHRyX3RjcEVzdGFiUmVzZXRzLmF0dHIsCisJJmRldl9hdHRyX3RjcEN1cnJFc3RhYi5hdHRyLAorCSZkZXZfYXR0cl90Y3BJblNlZ3MuYXR0ciwKKwkmZGV2X2F0dHJfdGNwT3V0U2Vncy5hdHRyLAorCSZkZXZfYXR0cl90Y3BSZXRyYW5zU2Vncy5hdHRyLAorCSZkZXZfYXR0cl90Y3BJbkVycnMuYXR0ciwKKwkmZGV2X2F0dHJfdGNwT3V0UnN0cy5hdHRyLAorCU5VTEwKK307CisKK3N0YXRpYyBzdHJ1Y3QgYXR0cmlidXRlX2dyb3VwIGl3X3N0YXRzX2dyb3VwID0geworCS5uYW1lCT0gInByb3RvX3N0YXRzIiwKKwkuYXR0cnMJPSBpd19wcm90b19zdGF0c19hdHRycywKK307CisKIGludCBpYl9kZXZpY2VfcmVnaXN0ZXJfc3lzZnMoc3RydWN0IGliX2RldmljZSAqZGV2aWNlKQogewogCXN0cnVjdCBkZXZpY2UgKmNsYXNzX2RldiA9ICZkZXZpY2UtPmRldjsKQEAgLTcwNyw2ICs4MTksMTIgQEAKIAkJfQogCX0KIAorCWlmIChkZXZpY2UtPm5vZGVfdHlwZSA9PSBSRE1BX05PREVfUk5JQyAmJiBkZXZpY2UtPmdldF9wcm90b2NvbF9zdGF0cykgeworCQlyZXQgPSBzeXNmc19jcmVhdGVfZ3JvdXAoJmNsYXNzX2Rldi0+a29iaiwgJml3X3N0YXRzX2dyb3VwKTsKKwkJaWYgKHJldCkKKwkJCWdvdG8gZXJyX3B1dDsKKwl9CisKIAlyZXR1cm4gMDsKIAogZXJyX3B1dDoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL3VjbS5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvdWNtLmMKaW5kZXggZDdhNjg4MS4uOTQ5NDAwNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvdWNtLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvdWNtLmMKQEAgLTI5LDggKzI5LDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IHVjbS5jIDQzMTEgMjAwNS0xMi0wNSAxODo0MjowMVogc2Vhbi5oZWZ0eSAkCiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L2NvbXBsZXRpb24uaD4KQEAgLTQ1LDYgKzQzLDcgQEAKICNpbmNsdWRlIDxsaW51eC9jZGV2Lmg+CiAjaW5jbHVkZSA8bGludXgvaWRyLmg+CiAjaW5jbHVkZSA8bGludXgvbXV0ZXguaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogCiAjaW5jbHVkZSA8YXNtL3VhY2Nlc3MuaD4KIApAQCAtMTE1OSw2ICsxMTU4LDcgQEAKIHsKIAlzdHJ1Y3QgaWJfdWNtX2ZpbGUgKmZpbGU7CiAKKwljeWNsZV9rZXJuZWxfbG9jaygpOwogCWZpbGUgPSBrbWFsbG9jKHNpemVvZigqZmlsZSksIEdGUF9LRVJORUwpOwogCWlmICghZmlsZSkKIAkJcmV0dXJuIC1FTk9NRU07CmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvY29yZS91Y21hLmMgYi9kcml2ZXJzL2luZmluaWJhbmQvY29yZS91Y21hLmMKaW5kZXggY2E0Y2YzYS4uMTk1Zjk3MyAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvdWNtYS5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL3VjbWEuYwpAQCAtMzgsNiArMzgsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2luLmg+CiAjaW5jbHVkZSA8bGludXgvaW42Lmg+CiAjaW5jbHVkZSA8bGludXgvbWlzY2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAKICNpbmNsdWRlIDxyZG1hL3JkbWFfdXNlcl9jbS5oPgogI2luY2x1ZGUgPHJkbWEvaWJfbWFyc2hhbGwuaD4KQEAgLTExNTYsNiArMTE1Nyw3IEBACiAJaWYgKCFmaWxlKQogCQlyZXR1cm4gLUVOT01FTTsKIAorCWxvY2tfa2VybmVsKCk7CiAJSU5JVF9MSVNUX0hFQUQoJmZpbGUtPmV2ZW50X2xpc3QpOwogCUlOSVRfTElTVF9IRUFEKCZmaWxlLT5jdHhfbGlzdCk7CiAJaW5pdF93YWl0cXVldWVfaGVhZCgmZmlsZS0+cG9sbF93YWl0KTsKQEAgLTExNjMsNiArMTE2NSw3IEBACiAKIAlmaWxwLT5wcml2YXRlX2RhdGEgPSBmaWxlOwogCWZpbGUtPmZpbHAgPSBmaWxwOworCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gMDsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvdWRfaGVhZGVyLmMgYi9kcml2ZXJzL2luZmluaWJhbmQvY29yZS91ZF9oZWFkZXIuYwppbmRleCA5OTdjMDdkLi44ZWM3ODc2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvY29yZS91ZF9oZWFkZXIuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvY29yZS91ZF9oZWFkZXIuYwpAQCAtMjksOCArMjksNiBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZDogdWRfaGVhZGVyLmMgMTM0OSAyMDA0LTEyLTE2IDIxOjA5OjQzWiByb2xhbmQgJAogICovCiAKICNpbmNsdWRlIDxsaW51eC9lcnJuby5oPgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvdW1lbS5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvdW1lbS5jCmluZGV4IGExNzY4ZGIuLjZmN2MwOTYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL3VtZW0uYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvY29yZS91bWVtLmMKQEAgLTMwLDggKzMwLDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IHV2ZXJic19tZW0uYyAyNzQzIDIwMDUtMDYtMjggMjI6Mjc6NTlaIHJvbGFuZCAkCiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L21tLmg+CmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvY29yZS91c2VyX21hZC5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvdXNlcl9tYWQuYwppbmRleCA4NDBlZGU5Li4yNjhhMmQyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvY29yZS91c2VyX21hZC5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL3VzZXJfbWFkLmMKQEAgLTMxLDggKzMxLDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IHVzZXJfbWFkLmMgNTU5NiAyMDA2LTAzLTAzIDAxOjAwOjA3WiBzZWFuLmhlZnR5ICQKICAqLwogCiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CkBAIC03NzcsNiArNzc1LDE5IEBACiB9CiAjZW5kaWYKIAorLyoKKyAqIGliX3VtYWRfb3BlbigpIGRvZXMgbm90IG5lZWQgdGhlIEJLTDoKKyAqCisgKiAgLSB1bWFkX3BvcnRbXSBhY2Nlc3NlcyBhcmUgcHJvdGVjdGVkIGJ5IHBvcnRfbG9jaywgdGhlCisgKiAgICBpYl91bWFkX3BvcnQgc3RydWN0dXJlcyBhcmUgcHJvcGVybHkgcmVmZXJlbmNlIGNvdW50ZWQsIGFuZAorICogICAgZXZlcnl0aGluZyBlbHNlIGlzIHB1cmVseSBsb2NhbCB0byB0aGUgZmlsZSBiZWluZyBjcmVhdGVkLCBzbworICogICAgcmFjZXMgYWdhaW5zdCBvdGhlciBvcGVuIGNhbGxzIGFyZSBub3QgYSBwcm9ibGVtOworICogIC0gdGhlIGlvY3RsIG1ldGhvZCBkb2VzIG5vdCBhZmZlY3QgYW55IGdsb2JhbCBzdGF0ZSBvdXRzaWRlIG9mIHRoZQorICogICAgZmlsZSBzdHJ1Y3R1cmUgYmVpbmcgb3BlcmF0ZWQgb247CisgKiAgLSB0aGUgcG9ydCBpcyBhZGRlZCB0byB1bWFkX3BvcnRbXSBhcyB0aGUgbGFzdCBwYXJ0IG9mIG1vZHVsZQorICogICAgaW5pdGlhbGl6YXRpb24gc28gdGhlIG9wZW4gbWV0aG9kIHdpbGwgZWl0aGVyIGltbWVkaWF0ZWx5IHJ1bgorICogICAgLUVOWElPLCBvciBhbGwgcmVxdWlyZWQgaW5pdGlhbGl6YXRpb24gd2lsbCBiZSBkb25lLgorICovCiBzdGF0aWMgaW50IGliX3VtYWRfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlscCkKIHsKIAlzdHJ1Y3QgaWJfdW1hZF9wb3J0ICpwb3J0OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvdXZlcmJzLmggYi9kcml2ZXJzL2luZmluaWJhbmQvY29yZS91dmVyYnMuaAppbmRleCAzNzZhNTdjLi5iM2VhOTU4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvY29yZS91dmVyYnMuaAorKysgYi9kcml2ZXJzL2luZmluaWJhbmQvY29yZS91dmVyYnMuaApAQCAtMzIsOCArMzIsNiBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZDogdXZlcmJzLmggMjU1OSAyMDA1LTA2LTA2IDE5OjQzOjE2WiByb2xhbmQgJAogICovCiAKICNpZm5kZWYgVVZFUkJTX0gKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL3V2ZXJic19jbWQuYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL3V2ZXJic19jbWQuYwppbmRleCAyYzNiZmY1Li41NmZlYWI2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvY29yZS91dmVyYnNfY21kLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvdXZlcmJzX2NtZC5jCkBAIC0zMSw4ICszMSw2IEBACiAgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgogICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogICogU09GVFdBUkUuCi0gKgotICogJElkOiB1dmVyYnNfY21kLmMgMjcwOCAyMDA1LTA2LTI0IDE3OjI3OjIxWiByb2xhbmQgJAogICovCiAKICNpbmNsdWRlIDxsaW51eC9maWxlLmg+CkBAIC05MTksNyArOTE3LDcgQEAKIAkJcmVzcC0+d2NbaV0ub3Bjb2RlIAkgICA9IHdjW2ldLm9wY29kZTsKIAkJcmVzcC0+d2NbaV0udmVuZG9yX2VyciAJICAgPSB3Y1tpXS52ZW5kb3JfZXJyOwogCQlyZXNwLT53Y1tpXS5ieXRlX2xlbiAJICAgPSB3Y1tpXS5ieXRlX2xlbjsKLQkJcmVzcC0+d2NbaV0uaW1tX2RhdGEgCSAgID0gKF9fdTMyIF9fZm9yY2UpIHdjW2ldLmltbV9kYXRhOworCQlyZXNwLT53Y1tpXS5leC5pbW1fZGF0YSAgICA9IChfX3UzMiBfX2ZvcmNlKSB3Y1tpXS5leC5pbW1fZGF0YTsKIAkJcmVzcC0+d2NbaV0ucXBfbnVtIAkgICA9IHdjW2ldLnFwLT5xcF9udW07CiAJCXJlc3AtPndjW2ldLnNyY19xcCAJICAgPSB3Y1tpXS5zcmNfcXA7CiAJCXJlc3AtPndjW2ldLndjX2ZsYWdzIAkgICA9IHdjW2ldLndjX2ZsYWdzOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvdXZlcmJzX21haW4uYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL3V2ZXJic19tYWluLmMKaW5kZXggY2FlZDQyYi4uYWVlZTg1NiAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvdXZlcmJzX21haW4uYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvY29yZS91dmVyYnNfbWFpbi5jCkBAIC0zMiw4ICszMiw2IEBACiAgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgogICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogICogU09GVFdBUkUuCi0gKgotICogJElkOiB1dmVyYnNfbWFpbi5jIDI3MzMgMjAwNS0wNi0yOCAxOToxNDozNFogcm9sYW5kICQKICAqLwogCiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CkBAIC02MTAsNiArNjA4LDE4IEBACiAJCXJldHVybiBmaWxlLT5kZXZpY2UtPmliX2Rldi0+bW1hcChmaWxlLT51Y29udGV4dCwgdm1hKTsKIH0KIAorLyoKKyAqIGliX3V2ZXJic19vcGVuKCkgZG9lcyBub3QgbmVlZCB0aGUgQktMOgorICoKKyAqICAtIGRldl90YWJsZVtdIGFjY2Vzc2VzIGFyZSBwcm90ZWN0ZWQgYnkgbWFwX2xvY2ssIHRoZQorICogICAgaWJfdXZlcmJzX2RldmljZSBzdHJ1Y3R1cmVzIGFyZSBwcm9wZXJseSByZWZlcmVuY2UgY291bnRlZCwgYW5kCisgKiAgICBldmVyeXRoaW5nIGVsc2UgaXMgcHVyZWx5IGxvY2FsIHRvIHRoZSBmaWxlIGJlaW5nIGNyZWF0ZWQsIHNvCisgKiAgICByYWNlcyBhZ2FpbnN0IG90aGVyIG9wZW4gY2FsbHMgYXJlIG5vdCBhIHByb2JsZW07CisgKiAgLSB0aGVyZSBpcyBubyBpb2N0bCBtZXRob2QgdG8gcmFjZSBhZ2FpbnN0OworICogIC0gdGhlIGRldmljZSBpcyBhZGRlZCB0byBkZXZfdGFibGVbXSBhcyB0aGUgbGFzdCBwYXJ0IG9mIG1vZHVsZQorICogICAgaW5pdGlhbGl6YXRpb24sIHRoZSBvcGVuIG1ldGhvZCB3aWxsIGVpdGhlciBpbW1lZGlhdGVseSBydW4KKyAqICAgIC1FTlhJTywgb3IgYWxsIHJlcXVpcmVkIGluaXRpYWxpemF0aW9uIHdpbGwgYmUgZG9uZS4KKyAqLwogc3RhdGljIGludCBpYl91dmVyYnNfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlscCkKIHsKIAlzdHJ1Y3QgaWJfdXZlcmJzX2RldmljZSAqZGV2OwpAQCAtNjUxLDcgKzY2MSw2IEBACiAKIGVycjoKIAlrcmVmX3B1dCgmZGV2LT5yZWYsIGliX3V2ZXJic19yZWxlYXNlX2Rldik7Ci0KIAlyZXR1cm4gcmV0OwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvY29yZS92ZXJicy5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvdmVyYnMuYwppbmRleCAwNTA0MjA4Li5hN2RhOWJlNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvdmVyYnMuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvY29yZS92ZXJicy5jCkBAIC0zNCw4ICszNCw2IEBACiAgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgogICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogICogU09GVFdBUkUuCi0gKgotICogJElkOiB2ZXJicy5jIDEzNDkgMjAwNC0xMi0xNiAyMTowOTo0M1ogcm9sYW5kICQKICAqLwogCiAjaW5jbHVkZSA8bGludXgvZXJybm8uaD4KQEAgLTMxNyw3ICszMTUsNiBAQAogfSBxcF9zdGF0ZV90YWJsZVtJQl9RUFNfRVJSICsgMV1bSUJfUVBTX0VSUiArIDFdID0gewogCVtJQl9RUFNfUkVTRVRdID0gewogCQlbSUJfUVBTX1JFU0VUXSA9IHsgLnZhbGlkID0gMSB9LAotCQlbSUJfUVBTX0VSUl0gICA9IHsgLnZhbGlkID0gMSB9LAogCQlbSUJfUVBTX0lOSVRdICA9IHsKIAkJCS52YWxpZCA9IDEsCiAJCQkucmVxX3BhcmFtID0gewpAQCAtNzU1LDYgKzc1Miw1MiBAQAogfQogRVhQT1JUX1NZTUJPTChpYl9kZXJlZ19tcik7CiAKK3N0cnVjdCBpYl9tciAqaWJfYWxsb2NfZmFzdF9yZWdfbXIoc3RydWN0IGliX3BkICpwZCwgaW50IG1heF9wYWdlX2xpc3RfbGVuKQoreworCXN0cnVjdCBpYl9tciAqbXI7CisKKwlpZiAoIXBkLT5kZXZpY2UtPmFsbG9jX2Zhc3RfcmVnX21yKQorCQlyZXR1cm4gRVJSX1BUUigtRU5PU1lTKTsKKworCW1yID0gcGQtPmRldmljZS0+YWxsb2NfZmFzdF9yZWdfbXIocGQsIG1heF9wYWdlX2xpc3RfbGVuKTsKKworCWlmICghSVNfRVJSKG1yKSkgeworCQltci0+ZGV2aWNlICA9IHBkLT5kZXZpY2U7CisJCW1yLT5wZCAgICAgID0gcGQ7CisJCW1yLT51b2JqZWN0ID0gTlVMTDsKKwkJYXRvbWljX2luYygmcGQtPnVzZWNudCk7CisJCWF0b21pY19zZXQoJm1yLT51c2VjbnQsIDApOworCX0KKworCXJldHVybiBtcjsKK30KK0VYUE9SVF9TWU1CT0woaWJfYWxsb2NfZmFzdF9yZWdfbXIpOworCitzdHJ1Y3QgaWJfZmFzdF9yZWdfcGFnZV9saXN0ICppYl9hbGxvY19mYXN0X3JlZ19wYWdlX2xpc3Qoc3RydWN0IGliX2RldmljZSAqZGV2aWNlLAorCQkJCQkJCSAgaW50IG1heF9wYWdlX2xpc3RfbGVuKQoreworCXN0cnVjdCBpYl9mYXN0X3JlZ19wYWdlX2xpc3QgKnBhZ2VfbGlzdDsKKworCWlmICghZGV2aWNlLT5hbGxvY19mYXN0X3JlZ19wYWdlX2xpc3QpCisJCXJldHVybiBFUlJfUFRSKC1FTk9TWVMpOworCisJcGFnZV9saXN0ID0gZGV2aWNlLT5hbGxvY19mYXN0X3JlZ19wYWdlX2xpc3QoZGV2aWNlLCBtYXhfcGFnZV9saXN0X2xlbik7CisKKwlpZiAoIUlTX0VSUihwYWdlX2xpc3QpKSB7CisJCXBhZ2VfbGlzdC0+ZGV2aWNlID0gZGV2aWNlOworCQlwYWdlX2xpc3QtPm1heF9wYWdlX2xpc3RfbGVuID0gbWF4X3BhZ2VfbGlzdF9sZW47CisJfQorCisJcmV0dXJuIHBhZ2VfbGlzdDsKK30KK0VYUE9SVF9TWU1CT0woaWJfYWxsb2NfZmFzdF9yZWdfcGFnZV9saXN0KTsKKwordm9pZCBpYl9mcmVlX2Zhc3RfcmVnX3BhZ2VfbGlzdChzdHJ1Y3QgaWJfZmFzdF9yZWdfcGFnZV9saXN0ICpwYWdlX2xpc3QpCit7CisJcGFnZV9saXN0LT5kZXZpY2UtPmZyZWVfZmFzdF9yZWdfcGFnZV9saXN0KHBhZ2VfbGlzdCk7Cit9CitFWFBPUlRfU1lNQk9MKGliX2ZyZWVfZmFzdF9yZWdfcGFnZV9saXN0KTsKKwogLyogTWVtb3J5IHdpbmRvd3MgKi8KIAogc3RydWN0IGliX213ICppYl9hbGxvY19tdyhzdHJ1Y3QgaWJfcGQgKnBkKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L2Ftc28xMTAwL2MyX3JuaWMuYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9hbXNvMTEwMC9jMl9ybmljLmMKaW5kZXggYjE0NDFhZWIuLmRkMDVjNDggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9hbXNvMTEwMC9jMl9ybmljLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L2Ftc28xMTAwL2MyX3JuaWMuYwpAQCAtNDU0LDcgKzQ1NCw3IEBACiAJICAgIChJQl9ERVZJQ0VfUkVTSVpFX01BWF9XUiB8CiAJICAgICBJQl9ERVZJQ0VfQ1VSUl9RUF9TVEFURV9NT0QgfAogCSAgICAgSUJfREVWSUNFX1NZU19JTUFHRV9HVUlEIHwKLQkgICAgIElCX0RFVklDRV9aRVJPX1NUQUcgfAorCSAgICAgSUJfREVWSUNFX0xPQ0FMX0RNQV9MS0VZIHwKIAkgICAgIElCX0RFVklDRV9NRU1fV0lORE9XKTsKIAogCS8qIEFsbG9jYXRlIHRoZSBxcHRyX2FycmF5ICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvY3hnYjMvY3hpb19oYWwuYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9jeGdiMy9jeGlvX2hhbC5jCmluZGV4IDNmNDQxZmMuLmY2ZDU3NDcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9jeGdiMy9jeGlvX2hhbC5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9jeGdiMy9jeGlvX2hhbC5jCkBAIC0xNDUsNyArMTQ1LDkgQEAKIAl9CiAJd3FlID0gKHN0cnVjdCB0M19tb2RpZnlfcXBfd3IgKikgc2tiX3B1dChza2IsIHNpemVvZigqd3FlKSk7CiAJbWVtc2V0KHdxZSwgMCwgc2l6ZW9mKCp3cWUpKTsKLQlidWlsZF9md19yaXdyaCgoc3RydWN0IGZ3X3Jpd3JoICopIHdxZSwgVDNfV1JfUVBfTU9ELCAzLCAwLCBxcGlkLCA3KTsKKwlidWlsZF9md19yaXdyaCgoc3RydWN0IGZ3X3Jpd3JoICopIHdxZSwgVDNfV1JfUVBfTU9ELAorCQkgICAgICAgVDNfQ09NUExFVElPTl9GTEFHIHwgVDNfTk9USUZZX0ZMQUcsIDAsIHFwaWQsIDcsCisJCSAgICAgICBUM19TT1BFT1ApOwogCXdxZS0+ZmxhZ3MgPSBjcHVfdG9fYmUzMihNT0RRUF9XUklURV9FQyk7CiAJc2dlX2NtZCA9IHFwaWQgPDwgOCB8IDM7CiAJd3FlLT5zZ2VfY21kID0gY3B1X3RvX2JlNjQoc2dlX2NtZCk7CkBAIC0yNzYsNyArMjc4LDcgQEAKIAlpZiAoIXdxLT5xcGlkKQogCQlyZXR1cm4gLUVOT01FTTsKIAotCXdxLT5ycSA9IGt6YWxsb2MoZGVwdGggKiBzaXplb2YodTY0KSwgR0ZQX0tFUk5FTCk7CisJd3EtPnJxID0ga3phbGxvYyhkZXB0aCAqIHNpemVvZihzdHJ1Y3QgdDNfc3dycSksIEdGUF9LRVJORUwpOwogCWlmICghd3EtPnJxKQogCQlnb3RvIGVycjE7CiAKQEAgLTMwMCw2ICszMDIsNyBAQAogCWlmICgha2VybmVsX2RvbWFpbikKIAkJd3EtPnVkYiA9ICh1NjQpcmRldl9wLT5ybmljX2luZm8udWRiZWxsX3BoeXNiYXNlICsKIAkJCQkJKHdxLT5xcGlkIDw8IHJkZXZfcC0+cXBzaGlmdCk7CisJd3EtPnJkZXYgPSByZGV2X3A7CiAJUERCRygiJXMgcXBpZCAweCV4IGRvb3JiZWxsIDB4JXAgdWRiIDB4JWxseFxuIiwgX19mdW5jX18sCiAJICAgICB3cS0+cXBpZCwgd3EtPmRvb3JiZWxsLCAodW5zaWduZWQgbG9uZyBsb25nKSB3cS0+dWRiKTsKIAlyZXR1cm4gMDsKQEAgLTU1OCw3ICs1NjEsNyBAQAogCXdxZSA9IChzdHJ1Y3QgdDNfbW9kaWZ5X3FwX3dyICopIHNrYl9wdXQoc2tiLCBzaXplb2YoKndxZSkpOwogCW1lbXNldCh3cWUsIDAsIHNpemVvZigqd3FlKSk7CiAJYnVpbGRfZndfcml3cmgoKHN0cnVjdCBmd19yaXdyaCAqKSB3cWUsIFQzX1dSX1FQX01PRCwgMCwgMCwKLQkJICAgICAgIFQzX0NUTF9RUF9USUQsIDcpOworCQkgICAgICAgVDNfQ1RMX1FQX1RJRCwgNywgVDNfU09QRU9QKTsKIAl3cWUtPmZsYWdzID0gY3B1X3RvX2JlMzIoTU9EUVBfV1JJVEVfRUMpOwogCXNnZV9jbWQgPSAoM1VMTCA8PCA1NikgfCBGV19SSV9TR0VFQ19TVEFSVCA8PCA4IHwgMzsKIAl3cWUtPnNnZV9jbWQgPSBjcHVfdG9fYmU2NChzZ2VfY21kKTsKQEAgLTY3NCw3ICs2NzcsNyBAQAogCQlidWlsZF9md19yaXdyaCgoc3RydWN0IGZ3X3Jpd3JoICopIHdxZSwgVDNfV1JfQlAsIGZsYWcsCiAJCQkgICAgICAgUV9HRU5CSVQocmRldl9wLT5jdHJsX3FwLndwdHIsCiAJCQkJCVQzX0NUUkxfUVBfU0laRV9MT0cyKSwgVDNfQ1RSTF9RUF9JRCwKLQkJCSAgICAgICB3cl9sZW4pOworCQkJICAgICAgIHdyX2xlbiwgVDNfU09QRU9QKTsKIAkJaWYgKGZsYWcgPT0gVDNfQ09NUExFVElPTl9GTEFHKQogCQkJcmluZ19kb29yYmVsbChyZGV2X3AtPmN0cmxfcXAuZG9vcmJlbGwsIFQzX0NUUkxfUVBfSUQpOwogCQlsZW4gLT0gOTY7CkBAIC04MTYsNiArODE5LDEzIEBACiAJCQkgICAgIDAsIDApOwogfQogCitpbnQgY3hpb19hbGxvY2F0ZV9zdGFnKHN0cnVjdCBjeGlvX3JkZXYgKnJkZXZfcCwgdTMyICpzdGFnLCB1MzIgcGRpZCwgdTMyIHBibF9zaXplLCB1MzIgcGJsX2FkZHIpCit7CisJKnN0YWcgPSBUM19TVEFHX1VOU0VUOworCXJldHVybiBfX2N4aW9fdHB0X29wKHJkZXZfcCwgMCwgc3RhZywgMCwgcGRpZCwgVFBUX05PTl9TSEFSRURfTVIsCisJCQkgICAgIDAsIDAsIDBVTEwsIDAsIDAsIHBibF9zaXplLCBwYmxfYWRkcik7Cit9CisKIGludCBjeGlvX3JkbWFfaW5pdChzdHJ1Y3QgY3hpb19yZGV2ICpyZGV2X3AsIHN0cnVjdCB0M19yZG1hX2luaXRfYXR0ciAqYXR0cikKIHsKIAlzdHJ1Y3QgdDNfcmRtYV9pbml0X3dyICp3cWU7CkBAIC0xMjU3LDEzICsxMjY3LDE2IEBACiAJCXdxLT5zcV9ycHRyID0gQ1FFX1dSSURfU1FfV1BUUigqaHdfY3FlKTsKIAkJUERCRygiJXMgY29tcGxldGluZyBzcSBpZHggJWxkXG4iLCBfX2Z1bmNfXywKIAkJICAgICBRX1BUUjJJRFgod3EtPnNxX3JwdHIsIHdxLT5zcV9zaXplX2xvZzIpKTsKLQkJKmNvb2tpZSA9ICh3cS0+c3EgKwotCQkJICAgUV9QVFIySURYKHdxLT5zcV9ycHRyLCB3cS0+c3Ffc2l6ZV9sb2cyKSktPndyX2lkOworCQkqY29va2llID0gd3EtPnNxW1FfUFRSMklEWCh3cS0+c3FfcnB0ciwgd3EtPnNxX3NpemVfbG9nMildLndyX2lkOwogCQl3cS0+c3FfcnB0cisrOwogCX0gZWxzZSB7CiAJCVBEQkcoIiVzIGNvbXBsZXRpbmcgcnEgaWR4ICVsZFxuIiwgX19mdW5jX18sCiAJCSAgICAgUV9QVFIySURYKHdxLT5ycV9ycHRyLCB3cS0+cnFfc2l6ZV9sb2cyKSk7Ci0JCSpjb29raWUgPSAqKHdxLT5ycSArIFFfUFRSMklEWCh3cS0+cnFfcnB0ciwgd3EtPnJxX3NpemVfbG9nMikpOworCQkqY29va2llID0gd3EtPnJxW1FfUFRSMklEWCh3cS0+cnFfcnB0ciwgd3EtPnJxX3NpemVfbG9nMildLndyX2lkOworCQlpZiAod3EtPnJxW1FfUFRSMklEWCh3cS0+cnFfcnB0ciwgd3EtPnJxX3NpemVfbG9nMildLnBibF9hZGRyKQorCQkJY3hpb19oYWxfcGJscG9vbF9mcmVlKHdxLT5yZGV2LAorCQkJCXdxLT5ycVtRX1BUUjJJRFgod3EtPnJxX3JwdHIsCisJCQkJd3EtPnJxX3NpemVfbG9nMildLnBibF9hZGRyLCBUM19TVEFHMF9QQkxfU0laRSk7CiAJCXdxLT5ycV9ycHRyKys7CiAJfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvY3hnYjMvY3hpb19oYWwuaCBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9jeGdiMy9jeGlvX2hhbC5oCmluZGV4IDZlMTI4ZjYuLjY1NmZlNDcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9jeGdiMy9jeGlvX2hhbC5oCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9jeGdiMy9jeGlvX2hhbC5oCkBAIC00NSwxNSArNDUsMTcgQEAKICNkZWZpbmUgVDNfQ1RSTF9RUF9TSVpFX0xPRzIgIDgKICNkZWZpbmUgVDNfQ1RSTF9DUV9JRCAgICAwCiAKLS8qIFRCRCAqLwogI2RlZmluZSBUM19NQVhfTlVNX1JJICgxPDwxNSkKICNkZWZpbmUgVDNfTUFYX05VTV9RUCAoMTw8MTUpCiAjZGVmaW5lIFQzX01BWF9OVU1fQ1EgKDE8PDE1KQogI2RlZmluZSBUM19NQVhfTlVNX1BEICgxPDwxNSkKICNkZWZpbmUgVDNfTUFYX1BCTF9TSVpFIDI1NgogI2RlZmluZSBUM19NQVhfUlFfU0laRSAxMDI0CisjZGVmaW5lIFQzX01BWF9RUF9ERVBUSCAoVDNfTUFYX1JRX1NJWkUtMSkKKyNkZWZpbmUgVDNfTUFYX0NRX0RFUFRIIDgxOTIKICNkZWZpbmUgVDNfTUFYX05VTV9TVEFHICgxPDwxNSkKICNkZWZpbmUgVDNfTUFYX01SX1NJWkUgMHgxMDAwMDAwMDBVTEwKKyNkZWZpbmUgVDNfUEFHRVNJWkVfTUFTSyAweGZmZmYwMDAgIC8qIDRLQi0xMjhNQiAqLwogCiAjZGVmaW5lIFQzX1NUQUdfVU5TRVQgMHhmZmZmZmZmZgogCkBAIC0xNjUsNiArMTY3LDcgQEAKIGludCBjeGlvX2RlcmVnX21lbShzdHJ1Y3QgY3hpb19yZGV2ICpyZGV2LCB1MzIgc3RhZywgdTMyIHBibF9zaXplLAogCQkgICB1MzIgcGJsX2FkZHIpOwogaW50IGN4aW9fYWxsb2NhdGVfd2luZG93KHN0cnVjdCBjeGlvX3JkZXYgKnJkZXYsIHUzMiAqIHN0YWcsIHUzMiBwZGlkKTsKK2ludCBjeGlvX2FsbG9jYXRlX3N0YWcoc3RydWN0IGN4aW9fcmRldiAqcmRldiwgdTMyICpzdGFnLCB1MzIgcGRpZCwgdTMyIHBibF9zaXplLCB1MzIgcGJsX2FkZHIpOwogaW50IGN4aW9fZGVhbGxvY2F0ZV93aW5kb3coc3RydWN0IGN4aW9fcmRldiAqcmRldiwgdTMyIHN0YWcpOwogaW50IGN4aW9fcmRtYV9pbml0KHN0cnVjdCBjeGlvX3JkZXYgKnJkZXYsIHN0cnVjdCB0M19yZG1hX2luaXRfYXR0ciAqYXR0cik7CiB2b2lkIGN4aW9fcmVnaXN0ZXJfZXZfY2IoY3hpb19oYWxfZXZfY2FsbGJhY2tfZnVuY190IGV2X2NiKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9jeGdiMy9jeGlvX3dyLmggYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvY3hnYjMvY3hpb193ci5oCmluZGV4IGYxYTI1YTguLjA0NjE4ZjcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9jeGdiMy9jeGlvX3dyLmgKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L2N4Z2IzL2N4aW9fd3IuaApAQCAtMzksNiArMzksOSBAQAogCiAjZGVmaW5lIFQzX01BWF9TR0UgICAgICA0CiAjZGVmaW5lIFQzX01BWF9JTkxJTkUJNjQKKyNkZWZpbmUgVDNfU1RBRzBfUEJMX1NJWkUgKDIgKiBUM19NQVhfU0dFIDw8IDMpCisjZGVmaW5lIFQzX1NUQUcwX01BWF9QQkVfTEVOICgxMjggKiAxMDI0ICogMTAyNCkKKyNkZWZpbmUgVDNfU1RBRzBfUEFHRV9TSElGVCAxNQogCiAjZGVmaW5lIFFfRU1QVFkocnB0cix3cHRyKSAoKHJwdHIpPT0od3B0cikpCiAjZGVmaW5lIFFfRlVMTChycHRyLHdwdHIsc2l6ZV9sb2cyKSAgKCAoKCh3cHRyKS0ocnB0cikpPj4oc2l6ZV9sb2cyKSkgJiYgXApAQCAtNzIsNyArNzUsOCBAQAogCVQzX1dSX0JJTkQgPSBGV19XUk9QQ09ERV9SSV9CSU5EX01XLAogCVQzX1dSX1JDViA9IEZXX1dST1BDT0RFX1JJX1JFQ0VJVkUsCiAJVDNfV1JfSU5JVCA9IEZXX1dST1BDT0RFX1JJX1JETUFfSU5JVCwKLQlUM19XUl9RUF9NT0QgPSBGV19XUk9QQ09ERV9SSV9NT0RJRllfUVAKKwlUM19XUl9RUF9NT0QgPSBGV19XUk9QQ09ERV9SSV9NT0RJRllfUVAsCisJVDNfV1JfRkFTVFJFRyA9IEZXX1dST1BDT0RFX1JJX0ZBU1RSRUdJU1RFUl9NUgogfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSk7CiAKIGVudW0gdDNfcmRtYV9vcGNvZGUgewpAQCAtODksNyArOTMsOCBAQAogCVQzX0ZBU1RfUkVHSVNURVIsCiAJVDNfTE9DQUxfSU5WLAogCVQzX1FQX01PRCwKLQlUM19CWVBBU1MKKwlUM19CWVBBU1MsCisJVDNfUkRNQV9SRUFEX1JFUV9XSVRIX0lOViwKIH0gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpOwogCiBzdGF0aWMgaW5saW5lIGVudW0gdDNfcmRtYV9vcGNvZGUgd3Iyb3Bjb2RlKGVudW0gdDNfd3Jfb3Bjb2RlIHdyb3ApCkBAIC0xMDMsNiArMTA4LDcgQEAKIAkJY2FzZSBUM19XUl9CSU5EOiByZXR1cm4gVDNfQklORF9NVzsKIAkJY2FzZSBUM19XUl9JTklUOiByZXR1cm4gVDNfUkRNQV9JTklUOwogCQljYXNlIFQzX1dSX1FQX01PRDogcmV0dXJuIFQzX1FQX01PRDsKKwkJY2FzZSBUM19XUl9GQVNUUkVHOiByZXR1cm4gVDNfRkFTVF9SRUdJU1RFUjsKIAkJZGVmYXVsdDogYnJlYWs7CiAJfQogCXJldHVybiAtMTsKQEAgLTE3MCwxMSArMTc2LDU0IEBACiAJc3RydWN0IHQzX3NnZSBzZ2xbVDNfTUFYX1NHRV07CS8qIDQrICovCiB9OwogCisjZGVmaW5lIFQzX01BWF9GQVNUUkVHX0RFUFRIIDI0CisjZGVmaW5lIFQzX01BWF9GQVNUUkVHX0ZSQUcgMTAKKworc3RydWN0IHQzX2Zhc3RyZWdfd3IgeworCXN0cnVjdCBmd19yaXdyaCB3cmg7CS8qIDAgKi8KKwl1bmlvbiB0M193cmlkIHdyaWQ7CS8qIDEgKi8KKwlfX2JlMzIgc3RhZzsJCS8qIDIgKi8KKwlfX2JlMzIgbGVuOworCV9fYmUzMiB2YV9iYXNlX2hpOwkvKiAzICovCisJX19iZTMyIHZhX2Jhc2VfbG9fZmJvOworCV9fYmUzMiBwYWdlX3R5cGVfcGVybXM7IC8qIDQgKi8KKwlfX2JlMzIgcmVzZXJ2ZWQxOworCV9fYmU2NCBwYmxfYWRkcnNbMF07CS8qIDUrICovCit9OworCisvKgorICogSWYgYSBmYXN0cmVnIHdyIHNwYW5zIG11bHRpcGxlIHdxZXMsIHRoZW4gdGhlIDJuZCBmcmFnbWVudCBsb29rIGxpa2UgdGhpcy4KKyAqLworc3RydWN0IHQzX3BibF9mcmFnIHsKKwlzdHJ1Y3QgZndfcml3cmggd3JoOwkvKiAwICovCisJX19iZTY0IHBibF9hZGRyc1sxNF07CS8qIDEuLjE0ICovCit9OworCisjZGVmaW5lIFNfRlJfUEFHRV9DT1VOVAkJMjQKKyNkZWZpbmUgTV9GUl9QQUdFX0NPVU5UCQkweGZmCisjZGVmaW5lIFZfRlJfUEFHRV9DT1VOVCh4KQkoKHgpIDw8IFNfRlJfUEFHRV9DT1VOVCkKKyNkZWZpbmUgR19GUl9QQUdFX0NPVU5UKHgpCSgoKCh4KSA+PiBTX0ZSX1BBR0VfQ09VTlQpKSAmIE1fRlJfUEFHRV9DT1VOVCkKKworI2RlZmluZSBTX0ZSX1BBR0VfU0laRQkJMTYKKyNkZWZpbmUgTV9GUl9QQUdFX1NJWkUJCTB4MWYKKyNkZWZpbmUgVl9GUl9QQUdFX1NJWkUoeCkJKCh4KSA8PCBTX0ZSX1BBR0VfU0laRSkKKyNkZWZpbmUgR19GUl9QQUdFX1NJWkUoeCkJKCgoKHgpID4+IFNfRlJfUEFHRV9TSVpFKSkgJiBNX0ZSX1BBR0VfU0laRSkKKworI2RlZmluZSBTX0ZSX1RZUEUJCTgKKyNkZWZpbmUgTV9GUl9UWVBFCQkweDEKKyNkZWZpbmUgVl9GUl9UWVBFKHgpCQkoKHgpIDw8IFNfRlJfVFlQRSkKKyNkZWZpbmUgR19GUl9UWVBFKHgpCQkoKCgoeCkgPj4gU19GUl9UWVBFKSkgJiBNX0ZSX1RZUEUpCisKKyNkZWZpbmUgU19GUl9QRVJNUwkJMAorI2RlZmluZSBNX0ZSX1BFUk1TCQkweGZmCisjZGVmaW5lIFZfRlJfUEVSTVMoeCkJCSgoeCkgPDwgU19GUl9QRVJNUykKKyNkZWZpbmUgR19GUl9QRVJNUyh4KQkJKCgoKHgpID4+IFNfRlJfUEVSTVMpKSAmIE1fRlJfUEVSTVMpCisKIHN0cnVjdCB0M19sb2NhbF9pbnZfd3IgewogCXN0cnVjdCBmd19yaXdyaCB3cmg7CS8qIDAgKi8KIAl1bmlvbiB0M193cmlkIHdyaWQ7CS8qIDEgKi8KIAlfX2JlMzIgc3RhZzsJCS8qIDIgKi8KLQlfX2JlMzIgcmVzZXJ2ZWQzOworCV9fYmUzMiByZXNlcnZlZDsKIH07CiAKIHN0cnVjdCB0M19yZG1hX3dyaXRlX3dyIHsKQEAgLTE5Myw3ICsyNDIsOCBAQAogCXN0cnVjdCBmd19yaXdyaCB3cmg7CS8qIDAgKi8KIAl1bmlvbiB0M193cmlkIHdyaWQ7CS8qIDEgKi8KIAl1OCByZG1hb3A7CQkvKiAyICovCi0JdTggcmVzZXJ2ZWRbM107CisJdTggbG9jYWxfaW52OworCXU4IHJlc2VydmVkWzJdOwogCV9fYmUzMiByZW1fc3RhZzsKIAlfX2JlNjQgcmVtX3RvOwkJLyogMyAqLwogCV9fYmUzMiBsb2NhbF9zdGFnOwkvKiA0ICovCkBAIC0yMDEsMTggKzI1MSw2IEBACiAJX19iZTY0IGxvY2FsX3RvOwkvKiA1ICovCiB9OwogCi1lbnVtIHQzX2FkZHJfdHlwZSB7Ci0JVDNfVkFfQkFTRURfVE8gPSAweDAsCi0JVDNfWkVST19CQVNFRF9UTyA9IDB4MQotfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSk7Ci0KLWVudW0gdDNfbWVtX3Blcm1zIHsKLQlUM19NRU1fQUNDRVNTX0xPQ0FMX1JFQUQgPSAweDEsCi0JVDNfTUVNX0FDQ0VTU19MT0NBTF9XUklURSA9IDB4MiwKLQlUM19NRU1fQUNDRVNTX1JFTV9SRUFEID0gMHg0LAotCVQzX01FTV9BQ0NFU1NfUkVNX1dSSVRFID0gMHg4Ci19IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKTsKLQogc3RydWN0IHQzX2JpbmRfbXdfd3IgewogCXN0cnVjdCBmd19yaXdyaCB3cmg7CS8qIDAgKi8KIAl1bmlvbiB0M193cmlkIHdyaWQ7CS8qIDEgKi8KQEAgLTMzNiw2ICszNzQsMTEgQEAKIAlfX2JlNjQgZ2VuYml0OwogfTsKIAorc3RydWN0IHQzX3dxX2luX2VyciB7CisJdTY0IGZsaXRbMTNdOworCXU2NCBlcnI7Cit9OworCiBlbnVtIHJkbWFfaW5pdF93cl9mbGFncyB7CiAJTVBBX0lOSVRJQVRPUiA9ICgxPDwwKSwKIAlQUklWX1FQID0gKDE8PDEpLApAQCAtMzQ2LDEzICszODksMTYgQEAKIAlzdHJ1Y3QgdDNfcmRtYV93cml0ZV93ciB3cml0ZTsKIAlzdHJ1Y3QgdDNfcmRtYV9yZWFkX3dyIHJlYWQ7CiAJc3RydWN0IHQzX3JlY2VpdmVfd3IgcmVjdjsKKwlzdHJ1Y3QgdDNfZmFzdHJlZ193ciBmYXN0cmVnOworCXN0cnVjdCB0M19wYmxfZnJhZyBwYmxfZnJhZzsKIAlzdHJ1Y3QgdDNfbG9jYWxfaW52X3dyIGxvY2FsX2ludjsKIAlzdHJ1Y3QgdDNfYmluZF9td193ciBiaW5kOwogCXN0cnVjdCB0M19ieXBhc3Nfd3IgYnlwYXNzOwogCXN0cnVjdCB0M19yZG1hX2luaXRfd3IgaW5pdDsKIAlzdHJ1Y3QgdDNfbW9kaWZ5X3FwX3dyIHFwX21vZDsKIAlzdHJ1Y3QgdDNfZ2VuYml0IGdlbmJpdDsKLQl1NjQgZmxpdFsxNl07CisJc3RydWN0IHQzX3dxX2luX2VyciB3cV9pbl9lcnI7CisJX19iZTY0IGZsaXRbMTZdOwogfTsKIAogI2RlZmluZSBUM19TUV9DUUVfRkxJVAkgIDEzCkBAIC0zNjYsMTIgKzQxMiwxOCBAQAogCXJldHVybiBHX0ZXX1JJV1JfT1AoYmUzMl90b19jcHUod3FlLT5vcF9zZW9wX2ZsYWdzKSk7CiB9CiAKK2VudW0gdDNfd3JfaGRyX2JpdHMgeworCVQzX0VPUCA9IDEsCisJVDNfU09QID0gMiwKKwlUM19TT1BFT1AgPSBUM19FT1B8VDNfU09QLAorfTsKKwogc3RhdGljIGlubGluZSB2b2lkIGJ1aWxkX2Z3X3Jpd3JoKHN0cnVjdCBmd19yaXdyaCAqd3FlLCBlbnVtIHQzX3dyX29wY29kZSBvcCwKIAkJCQkgIGVudW0gdDNfd3JfZmxhZ3MgZmxhZ3MsIHU4IGdlbmJpdCwgdTMyIHRpZCwKLQkJCQkgIHU4IGxlbikKKwkJCQkgIHU4IGxlbiwgdTggc29wZW9wKQogewogCXdxZS0+b3Bfc2VvcF9mbGFncyA9IGNwdV90b19iZTMyKFZfRldfUklXUl9PUChvcCkgfAotCQkJCQkgVl9GV19SSVdSX1NPUEVPUChNX0ZXX1JJV1JfU09QRU9QKSB8CisJCQkJCSBWX0ZXX1JJV1JfU09QRU9QKHNvcGVvcCkgfAogCQkJCQkgVl9GV19SSVdSX0ZMQUdTKGZsYWdzKSk7CiAJd21iKCk7CiAJd3FlLT5nZW5fdGlkX2xlbiA9IGNwdV90b19iZTMyKFZfRldfUklXUl9HRU4oZ2VuYml0KSB8CkBAIC00MDQsNiArNDU2LDcgQEAKIH07CiAKIGVudW0gdHB0X21lbV9wZXJtIHsKKwlUUFRfTVdfQklORCA9IDB4MTAsCiAJVFBUX0xPQ0FMX1JFQUQgPSAweDgsCiAJVFBUX0xPQ0FMX1dSSVRFID0gMHg0LAogCVRQVF9SRU1PVEVfUkVBRCA9IDB4MiwKQEAgLTYxNSw2ICs2NjgsMTEgQEAKIAlpbnQJCQlzaWduYWxlZDsKIH07CiAKK3N0cnVjdCB0M19zd3JxIHsKKwlfX3U2NAkJCXdyX2lkOworCV9fdTMyCQkJcGJsX2FkZHI7Cit9OworCiAvKgogICogQSBUMyBXUSBpbXBsZW1lbnRzIGJvdGggdGhlIFNRIGFuZCBSUS4KICAqLwpAQCAtNjMxLDE0ICs2ODksMTUgQEAKIAl1MzIgc3Ffd3B0cjsJCQkvKiBzcV93cHRyIC0gc3FfcnB0ciA9PSBjb3VudCBvZiAqLwogCXUzMiBzcV9ycHRyOwkJCS8qIHBlbmRpbmcgd3JzICovCiAJdTMyIHNxX3NpemVfbG9nMjsJCS8qIHNxIHNpemUgKi8KLQl1NjQgKnJxOwkJCS8qIFNXIFJRIChob2xkcyBjb25zdW1lciB3cl9pZHMgKi8KKwlzdHJ1Y3QgdDNfc3dycSAqcnE7CQkvKiBTVyBSUSAoaG9sZHMgY29uc3VtZXIgd3JfaWRzICovCiAJdTMyIHJxX3dwdHI7CQkJLyogcnFfd3B0ciAtIHJxX3JwdHIgPT0gY291bnQgb2YgKi8KIAl1MzIgcnFfcnB0cjsJCQkvKiBwZW5kaW5nIHdycyAqLwotCXU2NCAqcnFfb2xkZXN0X3dyOwkJLyogb2xkZXN0IHdyIG9uIHRoZSBTVyBSUSAqLworCXN0cnVjdCB0M19zd3JxICpycV9vbGRlc3Rfd3I7CS8qIG9sZGVzdCB3ciBvbiB0aGUgU1cgUlEgKi8KIAl1MzIgcnFfc2l6ZV9sb2cyOwkJLyogcnEgc2l6ZSAqLwogCXUzMiBycV9hZGRyOwkJCS8qIHJxIGFkYXB0ZXIgYWRkcmVzcyAqLwogCXZvaWQgX19pb21lbSAqZG9vcmJlbGw7CQkvKiBrZXJuZWwgZGIgKi8KIAl1NjQgdWRiOwkJCS8qIHVzZXIgZGIgaWYgYW55ICovCisJc3RydWN0IGN4aW9fcmRldiAqcmRldjsKIH07CiAKIHN0cnVjdCB0M19jcSB7CkBAIC02NTksNyArNzE4LDcgQEAKIAogc3RhdGljIGlubGluZSB2b2lkIGN4aW9fc2V0X3dxX2luX2Vycm9yKHN0cnVjdCB0M193cSAqd3EpCiB7Ci0Jd3EtPnF1ZXVlLT5mbGl0WzEzXSA9IDE7CisJd3EtPnF1ZXVlLT53cV9pbl9lcnIuZXJyID0gMTsKIH0KIAogc3RhdGljIGlubGluZSBzdHJ1Y3QgdDNfY3FlICpjeGlvX25leHRfaHdfY3FlKHN0cnVjdCB0M19jcSAqY3EpCmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvY3hnYjMvaXdjaC5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L2N4Z2IzL2l3Y2guYwppbmRleCA3MTU1NGVhLi40NDg5Yzg5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvY3hnYjMvaXdjaC5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9jeGdiMy9pd2NoLmMKQEAgLTcxLDE4ICs3MSwxNiBAQAogCWlkcl9pbml0KCZybmljcC0+bW1pZHIpOwogCXNwaW5fbG9ja19pbml0KCZybmljcC0+bG9jayk7CiAKLQlybmljcC0+YXR0ci52ZW5kb3JfaWQgPSAweDE2ODsKLQlybmljcC0+YXR0ci52ZW5kb3JfcGFydF9pZCA9IDc7CiAJcm5pY3AtPmF0dHIubWF4X3FwcyA9IFQzX01BWF9OVU1fUVAgLSAzMjsKLQlybmljcC0+YXR0ci5tYXhfd3JzID0gKDFVTCA8PCAyNCkgLSAxOworCXJuaWNwLT5hdHRyLm1heF93cnMgPSBUM19NQVhfUVBfREVQVEg7CiAJcm5pY3AtPmF0dHIubWF4X3NnZV9wZXJfd3IgPSBUM19NQVhfU0dFOwogCXJuaWNwLT5hdHRyLm1heF9zZ2VfcGVyX3JkbWFfd3JpdGVfd3IgPSBUM19NQVhfU0dFOwogCXJuaWNwLT5hdHRyLm1heF9jcXMgPSBUM19NQVhfTlVNX0NRIC0gMTsKLQlybmljcC0+YXR0ci5tYXhfY3Flc19wZXJfY3EgPSAoMVVMIDw8IDI0KSAtIDE7CisJcm5pY3AtPmF0dHIubWF4X2NxZXNfcGVyX2NxID0gVDNfTUFYX0NRX0RFUFRIOwogCXJuaWNwLT5hdHRyLm1heF9tZW1fcmVncyA9IGN4aW9fbnVtX3N0YWdzKCZybmljcC0+cmRldik7CiAJcm5pY3AtPmF0dHIubWF4X3BoeXNfYnVmX2VudHJpZXMgPSBUM19NQVhfUEJMX1NJWkU7CiAJcm5pY3AtPmF0dHIubWF4X3BkcyA9IFQzX01BWF9OVU1fUEQgLSAxOwotCXJuaWNwLT5hdHRyLm1lbV9wZ3NpemVzX2JpdG1hc2sgPSAweDdGRkY7CS8qIDRLQi0xMjhNQiAqLworCXJuaWNwLT5hdHRyLm1lbV9wZ3NpemVzX2JpdG1hc2sgPSBUM19QQUdFU0laRV9NQVNLOwogCXJuaWNwLT5hdHRyLm1heF9tcl9zaXplID0gVDNfTUFYX01SX1NJWkU7CiAJcm5pY3AtPmF0dHIuY2FuX3Jlc2l6ZV93cSA9IDA7CiAJcm5pY3AtPmF0dHIubWF4X3JkbWFfcmVhZHNfcGVyX3FwID0gODsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9jeGdiMy9pd2NoLmggYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvY3hnYjMvaXdjaC5oCmluZGV4IGQyNDA5YTUuLjM3NzM0NTMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9jeGdiMy9pd2NoLmgKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L2N4Z2IzL2l3Y2guaApAQCAtNDgsOCArNDgsNiBAQAogc3RydWN0IGl3Y2hfbXI7CiAKIHN0cnVjdCBpd2NoX3JuaWNfYXR0cmlidXRlcyB7Ci0JdTMyIHZlbmRvcl9pZDsKLQl1MzIgdmVuZG9yX3BhcnRfaWQ7CiAJdTMyIG1heF9xcHM7CiAJdTMyIG1heF93cnM7CQkJCS8qIE1heCBmb3IgYW55IFNRL1JRICovCiAJdTMyIG1heF9zZ2VfcGVyX3dyOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L2N4Z2IzL2l3Y2hfY3EuYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9jeGdiMy9pd2NoX2NxLmMKaW5kZXggNGVlOGNjZC4uY2Y1NDc0YSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L2N4Z2IzL2l3Y2hfY3EuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvY3hnYjMvaXdjaF9jcS5jCkBAIC04MSw2ICs4MSw3IEBACiAJd2MtPndyX2lkID0gY29va2llOwogCXdjLT5xcCA9ICZxaHAtPmlicXA7CiAJd2MtPnZlbmRvcl9lcnIgPSBDUUVfU1RBVFVTKGNxZSk7CisJd2MtPndjX2ZsYWdzID0gMDsKIAogCVBEQkcoIiVzIHFwaWQgMHgleCB0eXBlICVkIG9wY29kZSAlZCBzdGF0dXMgMHgleCB3cmlkIGhpIDB4JXggIgogCSAgICAgImxvIDB4JXggY29va2llIDB4JWxseFxuIiwgX19mdW5jX18sCkBAIC05NCw2ICs5NSwxMSBAQAogCQllbHNlCiAJCQl3Yy0+Ynl0ZV9sZW4gPSAwOwogCQl3Yy0+b3Bjb2RlID0gSUJfV0NfUkVDVjsKKwkJaWYgKENRRV9PUENPREUoY3FlKSA9PSBUM19TRU5EX1dJVEhfSU5WIHx8CisJCSAgICBDUUVfT1BDT0RFKGNxZSkgPT0gVDNfU0VORF9XSVRIX1NFX0lOVikgeworCQkJd2MtPmV4LmludmFsaWRhdGVfcmtleSA9IENRRV9XUklEX1NUQUcoY3FlKTsKKwkJCXdjLT53Y19mbGFncyB8PSBJQl9XQ19XSVRIX0lOVkFMSURBVEU7CisJCX0KIAl9IGVsc2UgewogCQlzd2l0Y2ggKENRRV9PUENPREUoY3FlKSkgewogCQljYXNlIFQzX1JETUFfV1JJVEU6CkBAIC0xMDUsMTcgKzExMSwyMCBAQAogCQkJYnJlYWs7CiAJCWNhc2UgVDNfU0VORDoKIAkJY2FzZSBUM19TRU5EX1dJVEhfU0U6CisJCWNhc2UgVDNfU0VORF9XSVRIX0lOVjoKKwkJY2FzZSBUM19TRU5EX1dJVEhfU0VfSU5WOgogCQkJd2MtPm9wY29kZSA9IElCX1dDX1NFTkQ7CiAJCQlicmVhazsKIAkJY2FzZSBUM19CSU5EX01XOgogCQkJd2MtPm9wY29kZSA9IElCX1dDX0JJTkRfTVc7CiAJCQlicmVhazsKIAotCQkvKiB0aGVzZSBhcmVuJ3Qgc3VwcG9ydGVkIHlldCAqLwotCQljYXNlIFQzX1NFTkRfV0lUSF9JTlY6Ci0JCWNhc2UgVDNfU0VORF9XSVRIX1NFX0lOVjoKIAkJY2FzZSBUM19MT0NBTF9JTlY6CisJCQl3Yy0+b3Bjb2RlID0gSUJfV0NfTE9DQUxfSU5WOworCQkJYnJlYWs7CiAJCWNhc2UgVDNfRkFTVF9SRUdJU1RFUjoKKwkJCXdjLT5vcGNvZGUgPSBJQl9XQ19GQVNUX1JFR19NUjsKKwkJCWJyZWFrOwogCQlkZWZhdWx0OgogCQkJcHJpbnRrKEtFUk5fRVJSIE1PRCAiVW5leHBlY3RlZCBvcGNvZGUgJWQgIgogCQkJICAgICAgICJpbiB0aGUgQ1FFIHJlY2VpdmVkIGZvciBRUElEPTB4JTB4XG4iLApkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L2N4Z2IzL2l3Y2hfcHJvdmlkZXIuYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9jeGdiMy9pd2NoX3Byb3ZpZGVyLmMKaW5kZXggOTVmODJjZi4uYjg5NjQwYSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L2N4Z2IzL2l3Y2hfcHJvdmlkZXIuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvY3hnYjMvaXdjaF9wcm92aWRlci5jCkBAIC01Niw2ICs1Niw3IEBACiAjaW5jbHVkZSAiaXdjaF9wcm92aWRlci5oIgogI2luY2x1ZGUgIml3Y2hfY20uaCIKICNpbmNsdWRlICJpd2NoX3VzZXIuaCIKKyNpbmNsdWRlICJjb21tb24uaCIKIAogc3RhdGljIGludCBpd2NoX21vZGlmeV9wb3J0KHN0cnVjdCBpYl9kZXZpY2UgKmliZGV2LAogCQkJICAgIHU4IHBvcnQsIGludCBwb3J0X21vZGlmeV9tYXNrLApAQCAtNzQ3LDYgKzc0OCw3IEBACiAJbWhwLT5hdHRyLnR5cGUgPSBUUFRfTVc7CiAJbWhwLT5hdHRyLnN0YWcgPSBzdGFnOwogCW1taWQgPSAoc3RhZykgPj4gODsKKwltaHAtPmlibXcucmtleSA9IHN0YWc7CiAJaW5zZXJ0X2hhbmRsZShyaHAsICZyaHAtPm1taWRyLCBtaHAsIG1taWQpOwogCVBEQkcoIiVzIG1taWQgMHgleCBtaHAgJXAgc3RhZyAweCV4XG4iLCBfX2Z1bmNfXywgbW1pZCwgbWhwLCBzdGFnKTsKIAlyZXR1cm4gJihtaHAtPmlibXcpOwpAQCAtNzY4LDYgKzc3MCw2OCBAQAogCXJldHVybiAwOwogfQogCitzdGF0aWMgc3RydWN0IGliX21yICppd2NoX2FsbG9jX2Zhc3RfcmVnX21yKHN0cnVjdCBpYl9wZCAqcGQsIGludCBwYmxfZGVwdGgpCit7CisJc3RydWN0IGl3Y2hfZGV2ICpyaHA7CisJc3RydWN0IGl3Y2hfcGQgKnBocDsKKwlzdHJ1Y3QgaXdjaF9tciAqbWhwOworCXUzMiBtbWlkOworCXUzMiBzdGFnID0gMDsKKwlpbnQgcmV0OworCisJcGhwID0gdG9faXdjaF9wZChwZCk7CisJcmhwID0gcGhwLT5yaHA7CisJbWhwID0ga3phbGxvYyhzaXplb2YoKm1ocCksIEdGUF9LRVJORUwpOworCWlmICghbWhwKQorCQlyZXR1cm4gRVJSX1BUUigtRU5PTUVNKTsKKworCW1ocC0+cmhwID0gcmhwOworCXJldCA9IGl3Y2hfYWxsb2NfcGJsKG1ocCwgcGJsX2RlcHRoKTsKKwlpZiAocmV0KSB7CisJCWtmcmVlKG1ocCk7CisJCXJldHVybiBFUlJfUFRSKHJldCk7CisJfQorCW1ocC0+YXR0ci5wYmxfc2l6ZSA9IHBibF9kZXB0aDsKKwlyZXQgPSBjeGlvX2FsbG9jYXRlX3N0YWcoJnJocC0+cmRldiwgJnN0YWcsIHBocC0+cGRpZCwKKwkJCQkgbWhwLT5hdHRyLnBibF9zaXplLCBtaHAtPmF0dHIucGJsX2FkZHIpOworCWlmIChyZXQpIHsKKwkJaXdjaF9mcmVlX3BibChtaHApOworCQlrZnJlZShtaHApOworCQlyZXR1cm4gRVJSX1BUUihyZXQpOworCX0KKwltaHAtPmF0dHIucGRpZCA9IHBocC0+cGRpZDsKKwltaHAtPmF0dHIudHlwZSA9IFRQVF9OT05fU0hBUkVEX01SOworCW1ocC0+YXR0ci5zdGFnID0gc3RhZzsKKwltaHAtPmF0dHIuc3RhdGUgPSAxOworCW1taWQgPSAoc3RhZykgPj4gODsKKwltaHAtPmlibXIucmtleSA9IG1ocC0+aWJtci5sa2V5ID0gc3RhZzsKKwlpbnNlcnRfaGFuZGxlKHJocCwgJnJocC0+bW1pZHIsIG1ocCwgbW1pZCk7CisJUERCRygiJXMgbW1pZCAweCV4IG1ocCAlcCBzdGFnIDB4JXhcbiIsIF9fZnVuY19fLCBtbWlkLCBtaHAsIHN0YWcpOworCXJldHVybiAmKG1ocC0+aWJtcik7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgaWJfZmFzdF9yZWdfcGFnZV9saXN0ICppd2NoX2FsbG9jX2Zhc3RyZWdfcGJsKAorCQkJCQlzdHJ1Y3QgaWJfZGV2aWNlICpkZXZpY2UsCisJCQkJCWludCBwYWdlX2xpc3RfbGVuKQoreworCXN0cnVjdCBpYl9mYXN0X3JlZ19wYWdlX2xpc3QgKnBhZ2VfbGlzdDsKKworCXBhZ2VfbGlzdCA9IGttYWxsb2Moc2l6ZW9mICpwYWdlX2xpc3QgKyBwYWdlX2xpc3RfbGVuICogc2l6ZW9mKHU2NCksCisJCQkgICAgR0ZQX0tFUk5FTCk7CisJaWYgKCFwYWdlX2xpc3QpCisJCXJldHVybiBFUlJfUFRSKC1FTk9NRU0pOworCisJcGFnZV9saXN0LT5wYWdlX2xpc3QgPSAodTY0ICopKHBhZ2VfbGlzdCArIDEpOworCXBhZ2VfbGlzdC0+bWF4X3BhZ2VfbGlzdF9sZW4gPSBwYWdlX2xpc3RfbGVuOworCisJcmV0dXJuIHBhZ2VfbGlzdDsKK30KKworc3RhdGljIHZvaWQgaXdjaF9mcmVlX2Zhc3RyZWdfcGJsKHN0cnVjdCBpYl9mYXN0X3JlZ19wYWdlX2xpc3QgKnBhZ2VfbGlzdCkKK3sKKwlrZnJlZShwYWdlX2xpc3QpOworfQorCiBzdGF0aWMgaW50IGl3Y2hfZGVzdHJveV9xcChzdHJ1Y3QgaWJfcXAgKmliX3FwKQogewogCXN0cnVjdCBpd2NoX2RldiAqcmhwOwpAQCAtODQzLDYgKzkwNywxNSBAQAogCSAqLwogCXNxc2l6ZSA9IHJvdW5kdXBfcG93X29mX3R3byhhdHRycy0+Y2FwLm1heF9zZW5kX3dyKTsKIAl3cXNpemUgPSByb3VuZHVwX3Bvd19vZl90d28ocnFzaXplICsgc3FzaXplKTsKKworCS8qCisJICogS2VybmVsIHVzZXJzIG5lZWQgbW9yZSB3cSBzcGFjZSBmb3IgZmFzdHJlZyBXUnMgd2hpY2ggY2FuIHRha2UKKwkgKiAyIFdSIGZyYWdtZW50cy4KKwkgKi8KKwl1Y29udGV4dCA9IHBkLT51b2JqZWN0ID8gdG9faXdjaF91Y29udGV4dChwZC0+dW9iamVjdC0+Y29udGV4dCkgOiBOVUxMOworCWlmICghdWNvbnRleHQgJiYgd3FzaXplIDwgKHJxc2l6ZSArICgyICogc3FzaXplKSkpCisJCXdxc2l6ZSA9IHJvdW5kdXBfcG93X29mX3R3byhycXNpemUgKworCQkJCXJvdW5kdXBfcG93X29mX3R3byhhdHRycy0+Y2FwLm1heF9zZW5kX3dyICogMikpOwogCVBEQkcoIiVzIHdxc2l6ZSAlZCBzcXNpemUgJWQgcnFzaXplICVkXG4iLCBfX2Z1bmNfXywKIAkgICAgIHdxc2l6ZSwgc3FzaXplLCBycXNpemUpOwogCXFocCA9IGt6YWxsb2Moc2l6ZW9mKCpxaHApLCBHRlBfS0VSTkVMKTsKQEAgLTg1MSw3ICs5MjQsNiBAQAogCXFocC0+d3Euc2l6ZV9sb2cyID0gaWxvZzIod3FzaXplKTsKIAlxaHAtPndxLnJxX3NpemVfbG9nMiA9IGlsb2cyKHJxc2l6ZSk7CiAJcWhwLT53cS5zcV9zaXplX2xvZzIgPSBpbG9nMihzcXNpemUpOwotCXVjb250ZXh0ID0gcGQtPnVvYmplY3QgPyB0b19pd2NoX3Vjb250ZXh0KHBkLT51b2JqZWN0LT5jb250ZXh0KSA6IE5VTEw7CiAJaWYgKGN4aW9fY3JlYXRlX3FwKCZyaHAtPnJkZXYsICF1ZGF0YSwgJnFocC0+d3EsCiAJCQkgICB1Y29udGV4dCA/ICZ1Y29udGV4dC0+dWN0eCA6ICZyaHAtPnJkZXYudWN0eCkpIHsKIAkJa2ZyZWUocWhwKTsKQEAgLTkzNSwxMCArMTAwNywxMCBAQAogCXFocC0+aWJxcC5xcF9udW0gPSBxaHAtPndxLnFwaWQ7CiAJaW5pdF90aW1lcigmKHFocC0+dGltZXIpKTsKIAlQREJHKCIlcyBzcV9udW1fZW50cmllcyAlZCwgcnFfbnVtX2VudHJpZXMgJWQgIgotCSAgICAgInFwaWQgMHglMHggcWhwICVwIGRtYV9hZGRyIDB4JWxseCBzaXplICVkXG4iLAorCSAgICAgInFwaWQgMHglMHggcWhwICVwIGRtYV9hZGRyIDB4JWxseCBzaXplICVkIHJxX2FkZHIgMHgleFxuIiwKIAkgICAgIF9fZnVuY19fLCBxaHAtPmF0dHIuc3FfbnVtX2VudHJpZXMsIHFocC0+YXR0ci5ycV9udW1fZW50cmllcywKIAkgICAgIHFocC0+d3EucXBpZCwgcWhwLCAodW5zaWduZWQgbG9uZyBsb25nKSBxaHAtPndxLmRtYV9hZGRyLAotCSAgICAgMSA8PCBxaHAtPndxLnNpemVfbG9nMik7CisJICAgICAxIDw8IHFocC0+d3Euc2l6ZV9sb2cyLCBxaHAtPndxLnJxX2FkZHIpOwogCXJldHVybiAmcWhwLT5pYnFwOwogfQogCkBAIC0xMDIzLDYgKzEwOTUsMjkgQEAKIAlyZXR1cm4gMDsKIH0KIAorc3RhdGljIHU2NCBmd192ZXJzX3N0cmluZ190b191NjQoc3RydWN0IGl3Y2hfZGV2ICppd2NoX2RldikKK3sKKwlzdHJ1Y3QgZXRodG9vbF9kcnZpbmZvIGluZm87CisJc3RydWN0IG5ldF9kZXZpY2UgKmxsZGV2ID0gaXdjaF9kZXYtPnJkZXYudDNjZGV2X3AtPmxsZGV2OworCWNoYXIgKmNwLCAqbmV4dDsKKwl1bnNpZ25lZCBmd19tYWosIGZ3X21pbiwgZndfbWljOworCisJcnRubF9sb2NrKCk7CisJbGxkZXYtPmV0aHRvb2xfb3BzLT5nZXRfZHJ2aW5mbyhsbGRldiwgJmluZm8pOworCXJ0bmxfdW5sb2NrKCk7CisKKwluZXh0ID0gaW5mby5md192ZXJzaW9uICsgMTsKKwljcCA9IHN0cnNlcCgmbmV4dCwgIi4iKTsKKwlzc2NhbmYoY3AsICIlaSIsICZmd19tYWopOworCWNwID0gc3Ryc2VwKCZuZXh0LCAiLiIpOworCXNzY2FuZihjcCwgIiVpIiwgJmZ3X21pbik7CisJY3AgPSBzdHJzZXAoJm5leHQsICIuIik7CisJc3NjYW5mKGNwLCAiJWkiLCAmZndfbWljKTsKKworCXJldHVybiAoKCh1NjQpZndfbWFqICYgMHhmZmZmKSA8PCAzMikgfCAoKGZ3X21pbiAmIDB4ZmZmZikgPDwgMTYpIHwKKwkgICAgICAgKGZ3X21pYyAmIDB4ZmZmZik7Cit9CisKIHN0YXRpYyBpbnQgaXdjaF9xdWVyeV9kZXZpY2Uoc3RydWN0IGliX2RldmljZSAqaWJkZXYsCiAJCQkgICAgIHN0cnVjdCBpYl9kZXZpY2VfYXR0ciAqcHJvcHMpCiB7CkBAIC0xMDMzLDcgKzExMjgsMTAgQEAKIAlkZXYgPSB0b19pd2NoX2RldihpYmRldik7CiAJbWVtc2V0KHByb3BzLCAwLCBzaXplb2YgKnByb3BzKTsKIAltZW1jcHkoJnByb3BzLT5zeXNfaW1hZ2VfZ3VpZCwgZGV2LT5yZGV2LnQzY2Rldl9wLT5sbGRldi0+ZGV2X2FkZHIsIDYpOworCXByb3BzLT5od192ZXIgPSBkZXYtPnJkZXYudDNjZGV2X3AtPnR5cGU7CisJcHJvcHMtPmZ3X3ZlciA9IGZ3X3ZlcnNfc3RyaW5nX3RvX3U2NChkZXYpOwogCXByb3BzLT5kZXZpY2VfY2FwX2ZsYWdzID0gZGV2LT5kZXZpY2VfY2FwX2ZsYWdzOworCXByb3BzLT5wYWdlX3NpemVfY2FwID0gZGV2LT5hdHRyLm1lbV9wZ3NpemVzX2JpdG1hc2s7CiAJcHJvcHMtPnZlbmRvcl9pZCA9ICh1MzIpZGV2LT5yZGV2LnJuaWNfaW5mby5wZGV2LT52ZW5kb3I7CiAJcHJvcHMtPnZlbmRvcl9wYXJ0X2lkID0gKHUzMilkZXYtPnJkZXYucm5pY19pbmZvLnBkZXYtPmRldmljZTsKIAlwcm9wcy0+bWF4X21yX3NpemUgPSBkZXYtPmF0dHIubWF4X21yX3NpemU7CkBAIC0xMDQ4LDYgKzExNDYsNyBAQAogCXByb3BzLT5tYXhfbXIgPSBkZXYtPmF0dHIubWF4X21lbV9yZWdzOwogCXByb3BzLT5tYXhfcGQgPSBkZXYtPmF0dHIubWF4X3BkczsKIAlwcm9wcy0+bG9jYWxfY2FfYWNrX2RlbGF5ID0gMDsKKwlwcm9wcy0+bWF4X2Zhc3RfcmVnX3BhZ2VfbGlzdF9sZW4gPSBUM19NQVhfRkFTVFJFR19ERVBUSDsKIAogCXJldHVybiAwOwogfQpAQCAtMTA4OCw2ICsxMTg3LDI4IEBACiAJcmV0dXJuIHNwcmludGYoYnVmLCAiJWRcbiIsIGl3Y2hfZGV2LT5yZGV2LnQzY2Rldl9wLT50eXBlKTsKIH0KIAorc3RhdGljIGludCBmd19zdXBwb3J0c19mYXN0cmVnKHN0cnVjdCBpd2NoX2RldiAqaXdjaF9kZXYpCit7CisJc3RydWN0IGV0aHRvb2xfZHJ2aW5mbyBpbmZvOworCXN0cnVjdCBuZXRfZGV2aWNlICpsbGRldiA9IGl3Y2hfZGV2LT5yZGV2LnQzY2Rldl9wLT5sbGRldjsKKwljaGFyICpjcCwgKm5leHQ7CisJdW5zaWduZWQgZndfbWFqLCBmd19taW47CisKKwlydG5sX2xvY2soKTsKKwlsbGRldi0+ZXRodG9vbF9vcHMtPmdldF9kcnZpbmZvKGxsZGV2LCAmaW5mbyk7CisJcnRubF91bmxvY2soKTsKKworCW5leHQgPSBpbmZvLmZ3X3ZlcnNpb24rMTsKKwljcCA9IHN0cnNlcCgmbmV4dCwgIi4iKTsKKwlzc2NhbmYoY3AsICIlaSIsICZmd19tYWopOworCWNwID0gc3Ryc2VwKCZuZXh0LCAiLiIpOworCXNzY2FuZihjcCwgIiVpIiwgJmZ3X21pbik7CisKKwlQREJHKCIlcyBtYWogJXUgbWluICV1XG4iLCBfX2Z1bmNfXywgZndfbWFqLCBmd19taW4pOworCisJcmV0dXJuIGZ3X21haiA+IDYgfHwgKGZ3X21haiA9PSA2ICYmIGZ3X21pbiA+IDApOworfQorCiBzdGF0aWMgc3NpemVfdCBzaG93X2Z3X3ZlcihzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBkZXZpY2VfYXR0cmlidXRlICphdHRyLCBjaGFyICpidWYpCiB7CiAJc3RydWN0IGl3Y2hfZGV2ICppd2NoX2RldiA9IGNvbnRhaW5lcl9vZihkZXYsIHN0cnVjdCBpd2NoX2RldiwKQEAgLTExMjcsNiArMTI0OCw2MSBAQAogCQkgICAgICAgaXdjaF9kZXYtPnJkZXYucm5pY19pbmZvLnBkZXYtPmRldmljZSk7CiB9CiAKK3N0YXRpYyBpbnQgaXdjaF9nZXRfbWliKHN0cnVjdCBpYl9kZXZpY2UgKmliZGV2LAorCQkJdW5pb24gcmRtYV9wcm90b2NvbF9zdGF0cyAqc3RhdHMpCit7CisJc3RydWN0IGl3Y2hfZGV2ICpkZXY7CisJc3RydWN0IHRwX21pYl9zdGF0cyBtOworCWludCByZXQ7CisKKwlQREJHKCIlcyBpYmRldiAlcFxuIiwgX19mdW5jX18sIGliZGV2KTsKKwlkZXYgPSB0b19pd2NoX2RldihpYmRldik7CisJcmV0ID0gZGV2LT5yZGV2LnQzY2Rldl9wLT5jdGwoZGV2LT5yZGV2LnQzY2Rldl9wLCBSRE1BX0dFVF9NSUIsICZtKTsKKwlpZiAocmV0KQorCQlyZXR1cm4gLUVOT1NZUzsKKworCW1lbXNldChzdGF0cywgMCwgc2l6ZW9mICpzdGF0cyk7CisJc3RhdHMtPml3LmlwSW5SZWNlaXZlcyA9ICgodTY0KSBtLmlwSW5SZWNlaXZlX2hpIDw8IDMyKSArCisJCQkJbS5pcEluUmVjZWl2ZV9sbzsKKwlzdGF0cy0+aXcuaXBJbkhkckVycm9ycyA9ICgodTY0KSBtLmlwSW5IZHJFcnJvcnNfaGkgPDwgMzIpICsKKwkJCQkgIG0uaXBJbkhkckVycm9yc19sbzsKKwlzdGF0cy0+aXcuaXBJbkFkZHJFcnJvcnMgPSAoKHU2NCkgbS5pcEluQWRkckVycm9yc19oaSA8PCAzMikgKworCQkJCSAgIG0uaXBJbkFkZHJFcnJvcnNfbG87CisJc3RhdHMtPml3LmlwSW5Vbmtub3duUHJvdG9zID0gKCh1NjQpIG0uaXBJblVua25vd25Qcm90b3NfaGkgPDwgMzIpICsKKwkJCQkgICAgICBtLmlwSW5Vbmtub3duUHJvdG9zX2xvOworCXN0YXRzLT5pdy5pcEluRGlzY2FyZHMgPSAoKHU2NCkgbS5pcEluRGlzY2FyZHNfaGkgPDwgMzIpICsKKwkJCQkgbS5pcEluRGlzY2FyZHNfbG87CisJc3RhdHMtPml3LmlwSW5EZWxpdmVycyA9ICgodTY0KSBtLmlwSW5EZWxpdmVyc19oaSA8PCAzMikgKworCQkJCSBtLmlwSW5EZWxpdmVyc19sbzsKKwlzdGF0cy0+aXcuaXBPdXRSZXF1ZXN0cyA9ICgodTY0KSBtLmlwT3V0UmVxdWVzdHNfaGkgPDwgMzIpICsKKwkJCQkgIG0uaXBPdXRSZXF1ZXN0c19sbzsKKwlzdGF0cy0+aXcuaXBPdXREaXNjYXJkcyA9ICgodTY0KSBtLmlwT3V0RGlzY2FyZHNfaGkgPDwgMzIpICsKKwkJCQkgIG0uaXBPdXREaXNjYXJkc19sbzsKKwlzdGF0cy0+aXcuaXBPdXROb1JvdXRlcyA9ICgodTY0KSBtLmlwT3V0Tm9Sb3V0ZXNfaGkgPDwgMzIpICsKKwkJCQkgIG0uaXBPdXROb1JvdXRlc19sbzsKKwlzdGF0cy0+aXcuaXBSZWFzbVRpbWVvdXQgPSAodTY0KSBtLmlwUmVhc21UaW1lb3V0OworCXN0YXRzLT5pdy5pcFJlYXNtUmVxZHMgPSAodTY0KSBtLmlwUmVhc21SZXFkczsKKwlzdGF0cy0+aXcuaXBSZWFzbU9LcyA9ICh1NjQpIG0uaXBSZWFzbU9LczsKKwlzdGF0cy0+aXcuaXBSZWFzbUZhaWxzID0gKHU2NCkgbS5pcFJlYXNtRmFpbHM7CisJc3RhdHMtPml3LnRjcEFjdGl2ZU9wZW5zID0gKHU2NCkgbS50Y3BBY3RpdmVPcGVuczsKKwlzdGF0cy0+aXcudGNwUGFzc2l2ZU9wZW5zID0gKHU2NCkgbS50Y3BQYXNzaXZlT3BlbnM7CisJc3RhdHMtPml3LnRjcEF0dGVtcHRGYWlscyA9ICh1NjQpIG0udGNwQXR0ZW1wdEZhaWxzOworCXN0YXRzLT5pdy50Y3BFc3RhYlJlc2V0cyA9ICh1NjQpIG0udGNwRXN0YWJSZXNldHM7CisJc3RhdHMtPml3LnRjcE91dFJzdHMgPSAodTY0KSBtLnRjcE91dFJzdHM7CisJc3RhdHMtPml3LnRjcEN1cnJFc3RhYiA9ICh1NjQpIG0udGNwQ3VyckVzdGFiOworCXN0YXRzLT5pdy50Y3BJblNlZ3MgPSAoKHU2NCkgbS50Y3BJblNlZ3NfaGkgPDwgMzIpICsKKwkJCSAgICAgIG0udGNwSW5TZWdzX2xvOworCXN0YXRzLT5pdy50Y3BPdXRTZWdzID0gKCh1NjQpIG0udGNwT3V0U2Vnc19oaSA8PCAzMikgKworCQkJICAgICAgIG0udGNwT3V0U2Vnc19sbzsKKwlzdGF0cy0+aXcudGNwUmV0cmFuc1NlZ3MgPSAoKHU2NCkgbS50Y3BSZXRyYW5zU2VnX2hpIDw8IDMyKSArCisJCQkJICBtLnRjcFJldHJhbnNTZWdfbG87CisJc3RhdHMtPml3LnRjcEluRXJycyA9ICgodTY0KSBtLnRjcEluRXJyc19oaSA8PCAzMikgKworCQkJICAgICAgbS50Y3BJbkVycnNfbG87CisJc3RhdHMtPml3LnRjcFJ0b01pbiA9ICh1NjQpIG0udGNwUnRvTWluOworCXN0YXRzLT5pdy50Y3BSdG9NYXggPSAodTY0KSBtLnRjcFJ0b01heDsKKwlyZXR1cm4gMDsKK30KKwogc3RhdGljIERFVklDRV9BVFRSKGh3X3JldiwgU19JUlVHTywgc2hvd19yZXYsIE5VTEwpOwogc3RhdGljIERFVklDRV9BVFRSKGZ3X3ZlciwgU19JUlVHTywgc2hvd19md192ZXIsIE5VTEwpOwogc3RhdGljIERFVklDRV9BVFRSKGhjYV90eXBlLCBTX0lSVUdPLCBzaG93X2hjYSwgTlVMTCk7CkBAIC0xMTM2LDcgKzEzMTIsNyBAQAogCSZkZXZfYXR0cl9od19yZXYsCiAJJmRldl9hdHRyX2Z3X3ZlciwKIAkmZGV2X2F0dHJfaGNhX3R5cGUsCi0JJmRldl9hdHRyX2JvYXJkX2lkCisJJmRldl9hdHRyX2JvYXJkX2lkLAogfTsKIAogaW50IGl3Y2hfcmVnaXN0ZXJfZGV2aWNlKHN0cnVjdCBpd2NoX2RldiAqZGV2KQpAQCAtMTE0OSw4ICsxMzI1LDEyIEBACiAJbWVtc2V0KCZkZXYtPmliZGV2Lm5vZGVfZ3VpZCwgMCwgc2l6ZW9mKGRldi0+aWJkZXYubm9kZV9ndWlkKSk7CiAJbWVtY3B5KCZkZXYtPmliZGV2Lm5vZGVfZ3VpZCwgZGV2LT5yZGV2LnQzY2Rldl9wLT5sbGRldi0+ZGV2X2FkZHIsIDYpOwogCWRldi0+aWJkZXYub3duZXIgPSBUSElTX01PRFVMRTsKLQlkZXYtPmRldmljZV9jYXBfZmxhZ3MgPQotCSAgICAoSUJfREVWSUNFX1pFUk9fU1RBRyB8IElCX0RFVklDRV9NRU1fV0lORE9XKTsKKwlkZXYtPmRldmljZV9jYXBfZmxhZ3MgPSBJQl9ERVZJQ0VfTE9DQUxfRE1BX0xLRVkgfCBJQl9ERVZJQ0VfTUVNX1dJTkRPVzsKKworCS8qIGN4Z2IzIHN1cHBvcnRzIFNUYWcgMC4gKi8KKwlkZXYtPmliZGV2LmxvY2FsX2RtYV9sa2V5ID0gMDsKKwlpZiAoZndfc3VwcG9ydHNfZmFzdHJlZyhkZXYpKQorCQlkZXYtPmRldmljZV9jYXBfZmxhZ3MgfD0gSUJfREVWSUNFX01FTV9NR1RfRVhURU5TSU9OUzsKIAogCWRldi0+aWJkZXYudXZlcmJzX2NtZF9tYXNrID0KIAkgICAgKDF1bGwgPDwgSUJfVVNFUl9WRVJCU19DTURfR0VUX0NPTlRFWFQpIHwKQEAgLTEyMDIsMTUgKzEzODIsMTYgQEAKIAlkZXYtPmliZGV2LmFsbG9jX213ID0gaXdjaF9hbGxvY19tdzsKIAlkZXYtPmliZGV2LmJpbmRfbXcgPSBpd2NoX2JpbmRfbXc7CiAJZGV2LT5pYmRldi5kZWFsbG9jX213ID0gaXdjaF9kZWFsbG9jX213OwotCisJZGV2LT5pYmRldi5hbGxvY19mYXN0X3JlZ19tciA9IGl3Y2hfYWxsb2NfZmFzdF9yZWdfbXI7CisJZGV2LT5pYmRldi5hbGxvY19mYXN0X3JlZ19wYWdlX2xpc3QgPSBpd2NoX2FsbG9jX2Zhc3RyZWdfcGJsOworCWRldi0+aWJkZXYuZnJlZV9mYXN0X3JlZ19wYWdlX2xpc3QgPSBpd2NoX2ZyZWVfZmFzdHJlZ19wYmw7CiAJZGV2LT5pYmRldi5hdHRhY2hfbWNhc3QgPSBpd2NoX211bHRpY2FzdF9hdHRhY2g7CiAJZGV2LT5pYmRldi5kZXRhY2hfbWNhc3QgPSBpd2NoX211bHRpY2FzdF9kZXRhY2g7CiAJZGV2LT5pYmRldi5wcm9jZXNzX21hZCA9IGl3Y2hfcHJvY2Vzc19tYWQ7Ci0KIAlkZXYtPmliZGV2LnJlcV9ub3RpZnlfY3EgPSBpd2NoX2FybV9jcTsKIAlkZXYtPmliZGV2LnBvc3Rfc2VuZCA9IGl3Y2hfcG9zdF9zZW5kOwogCWRldi0+aWJkZXYucG9zdF9yZWN2ID0gaXdjaF9wb3N0X3JlY2VpdmU7Ci0KKwlkZXYtPmliZGV2LmdldF9wcm90b2NvbF9zdGF0cyA9IGl3Y2hfZ2V0X21pYjsKIAogCWRldi0+aWJkZXYuaXdjbSA9IGttYWxsb2Moc2l6ZW9mKHN0cnVjdCBpd19jbV92ZXJicyksIEdGUF9LRVJORUwpOwogCWlmICghZGV2LT5pYmRldi5pd2NtKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L2N4Z2IzL2l3Y2hfcHJvdmlkZXIuaCBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9jeGdiMy9pd2NoX3Byb3ZpZGVyLmgKaW5kZXggODM2MTYzZi4uZjVjZWNhMCAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L2N4Z2IzL2l3Y2hfcHJvdmlkZXIuaAorKysgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvY3hnYjMvaXdjaF9wcm92aWRlci5oCkBAIC0yOTYsMTQgKzI5Niw2IEBACiAJICAgICAgIFRQVF9MT0NBTF9SRUFEOwogfQogCi1zdGF0aWMgaW5saW5lIHUzMiBpd2NoX2liX3RvX213YmluZF9hY2Nlc3MoaW50IGFjYykKLXsKLQlyZXR1cm4gKGFjYyAmIElCX0FDQ0VTU19SRU1PVEVfV1JJVEUgPyBUM19NRU1fQUNDRVNTX1JFTV9XUklURSA6IDApIHwKLQkgICAgICAgKGFjYyAmIElCX0FDQ0VTU19SRU1PVEVfUkVBRCA/IFQzX01FTV9BQ0NFU1NfUkVNX1JFQUQgOiAwKSB8Ci0JICAgICAgIChhY2MgJiBJQl9BQ0NFU1NfTE9DQUxfV1JJVEUgPyBUM19NRU1fQUNDRVNTX0xPQ0FMX1dSSVRFIDogMCkgfAotCSAgICAgICBUM19NRU1fQUNDRVNTX0xPQ0FMX1JFQUQ7Ci19Ci0KIGVudW0gaXdjaF9tbWlkX3N0YXRlIHsKIAlJV0NIX1NUQUdfU1RBVEVfVkFMSUQsCiAJSVdDSF9TVEFHX1NUQVRFX0lOVkFMSUQKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9jeGdiMy9pd2NoX3FwLmMgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvY3hnYjMvaXdjaF9xcC5jCmluZGV4IDk5MjYxMzcuLjlhM2JlM2EgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9jeGdiMy9pd2NoX3FwLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L2N4Z2IzL2l3Y2hfcXAuYwpAQCAtMzMsMTAgKzMzLDExIEBACiAjaW5jbHVkZSAiaXdjaC5oIgogI2luY2x1ZGUgIml3Y2hfY20uaCIKICNpbmNsdWRlICJjeGlvX2hhbC5oIgorI2luY2x1ZGUgImN4aW9fcmVzb3VyY2UuaCIKIAogI2RlZmluZSBOT19TVVBQT1JUIC0xCiAKLXN0YXRpYyBpbnQgaXdjaF9idWlsZF9yZG1hX3NlbmQodW5pb24gdDNfd3IgKndxZSwgc3RydWN0IGliX3NlbmRfd3IgKndyLAorc3RhdGljIGludCBidWlsZF9yZG1hX3NlbmQodW5pb24gdDNfd3IgKndxZSwgc3RydWN0IGliX3NlbmRfd3IgKndyLAogCQkJCXU4ICogZmxpdF9jbnQpCiB7CiAJaW50IGk7CkBAIC00NCw1OSArNDUsNDQgQEAKIAogCXN3aXRjaCAod3ItPm9wY29kZSkgewogCWNhc2UgSUJfV1JfU0VORDoKLQljYXNlIElCX1dSX1NFTkRfV0lUSF9JTU06CiAJCWlmICh3ci0+c2VuZF9mbGFncyAmIElCX1NFTkRfU09MSUNJVEVEKQogCQkJd3FlLT5zZW5kLnJkbWFvcCA9IFQzX1NFTkRfV0lUSF9TRTsKIAkJZWxzZQogCQkJd3FlLT5zZW5kLnJkbWFvcCA9IFQzX1NFTkQ7CiAJCXdxZS0+c2VuZC5yZW1fc3RhZyA9IDA7CiAJCWJyZWFrOwotI2lmIDAJCQkJLyogTm90IGN1cnJlbnRseSBzdXBwb3J0ZWQgKi8KLQljYXNlIFRZUEVfU0VORF9JTlZBTElEQVRFOgotCWNhc2UgVFlQRV9TRU5EX0lOVkFMSURBVEVfSU1NRURJQVRFOgotCQl3cWUtPnNlbmQucmRtYW9wID0gVDNfU0VORF9XSVRIX0lOVjsKLQkJd3FlLT5zZW5kLnJlbV9zdGFnID0gY3B1X3RvX2JlMzIod3ItPndyLnJkbWEucmtleSk7CisJY2FzZSBJQl9XUl9TRU5EX1dJVEhfSU5WOgorCQlpZiAod3ItPnNlbmRfZmxhZ3MgJiBJQl9TRU5EX1NPTElDSVRFRCkKKwkJCXdxZS0+c2VuZC5yZG1hb3AgPSBUM19TRU5EX1dJVEhfU0VfSU5WOworCQllbHNlCisJCQl3cWUtPnNlbmQucmRtYW9wID0gVDNfU0VORF9XSVRIX0lOVjsKKwkJd3FlLT5zZW5kLnJlbV9zdGFnID0gY3B1X3RvX2JlMzIod3ItPmV4LmludmFsaWRhdGVfcmtleSk7CiAJCWJyZWFrOwotCWNhc2UgVFlQRV9TRU5EX1NFX0lOVkFMSURBVEU6Ci0JCXdxZS0+c2VuZC5yZG1hb3AgPSBUM19TRU5EX1dJVEhfU0VfSU5WOwotCQl3cWUtPnNlbmQucmVtX3N0YWcgPSBjcHVfdG9fYmUzMih3ci0+d3IucmRtYS5ya2V5KTsKLQkJYnJlYWs7Ci0jZW5kaWYKIAlkZWZhdWx0OgotCQlicmVhazsKKwkJcmV0dXJuIC1FSU5WQUw7CiAJfQogCWlmICh3ci0+bnVtX3NnZSA+IFQzX01BWF9TR0UpCiAJCXJldHVybiAtRUlOVkFMOwogCXdxZS0+c2VuZC5yZXNlcnZlZFswXSA9IDA7CiAJd3FlLT5zZW5kLnJlc2VydmVkWzFdID0gMDsKIAl3cWUtPnNlbmQucmVzZXJ2ZWRbMl0gPSAwOwotCWlmICh3ci0+b3Bjb2RlID09IElCX1dSX1NFTkRfV0lUSF9JTU0pIHsKLQkJcGxlbiA9IDQ7Ci0JCXdxZS0+c2VuZC5zZ2xbMF0uc3RhZyA9IHdyLT5leC5pbW1fZGF0YTsKLQkJd3FlLT5zZW5kLnNnbFswXS5sZW4gPSBfX2NvbnN0YW50X2NwdV90b19iZTMyKDApOwotCQl3cWUtPnNlbmQubnVtX3NnbGUgPSBfX2NvbnN0YW50X2NwdV90b19iZTMyKDApOwotCQkqZmxpdF9jbnQgPSA1OwotCX0gZWxzZSB7Ci0JCXBsZW4gPSAwOwotCQlmb3IgKGkgPSAwOyBpIDwgd3ItPm51bV9zZ2U7IGkrKykgewotCQkJaWYgKChwbGVuICsgd3ItPnNnX2xpc3RbaV0ubGVuZ3RoKSA8IHBsZW4pIHsKLQkJCQlyZXR1cm4gLUVNU0dTSVpFOwotCQkJfQotCQkJcGxlbiArPSB3ci0+c2dfbGlzdFtpXS5sZW5ndGg7Ci0JCQl3cWUtPnNlbmQuc2dsW2ldLnN0YWcgPQotCQkJICAgIGNwdV90b19iZTMyKHdyLT5zZ19saXN0W2ldLmxrZXkpOwotCQkJd3FlLT5zZW5kLnNnbFtpXS5sZW4gPQotCQkJICAgIGNwdV90b19iZTMyKHdyLT5zZ19saXN0W2ldLmxlbmd0aCk7Ci0JCQl3cWUtPnNlbmQuc2dsW2ldLnRvID0gY3B1X3RvX2JlNjQod3ItPnNnX2xpc3RbaV0uYWRkcik7Ci0JCX0KLQkJd3FlLT5zZW5kLm51bV9zZ2xlID0gY3B1X3RvX2JlMzIod3ItPm51bV9zZ2UpOwotCQkqZmxpdF9jbnQgPSA0ICsgKCh3ci0+bnVtX3NnZSkgPDwgMSk7CisJcGxlbiA9IDA7CisJZm9yIChpID0gMDsgaSA8IHdyLT5udW1fc2dlOyBpKyspIHsKKwkJaWYgKChwbGVuICsgd3ItPnNnX2xpc3RbaV0ubGVuZ3RoKSA8IHBsZW4pCisJCQlyZXR1cm4gLUVNU0dTSVpFOworCisJCXBsZW4gKz0gd3ItPnNnX2xpc3RbaV0ubGVuZ3RoOworCQl3cWUtPnNlbmQuc2dsW2ldLnN0YWcgPSBjcHVfdG9fYmUzMih3ci0+c2dfbGlzdFtpXS5sa2V5KTsKKwkJd3FlLT5zZW5kLnNnbFtpXS5sZW4gPSBjcHVfdG9fYmUzMih3ci0+c2dfbGlzdFtpXS5sZW5ndGgpOworCQl3cWUtPnNlbmQuc2dsW2ldLnRvID0gY3B1X3RvX2JlNjQod3ItPnNnX2xpc3RbaV0uYWRkcik7CiAJfQorCXdxZS0+c2VuZC5udW1fc2dsZSA9IGNwdV90b19iZTMyKHdyLT5udW1fc2dlKTsKKwkqZmxpdF9jbnQgPSA0ICsgKCh3ci0+bnVtX3NnZSkgPDwgMSk7CiAJd3FlLT5zZW5kLnBsZW4gPSBjcHVfdG9fYmUzMihwbGVuKTsKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIGludCBpd2NoX2J1aWxkX3JkbWFfd3JpdGUodW5pb24gdDNfd3IgKndxZSwgc3RydWN0IGliX3NlbmRfd3IgKndyLAorc3RhdGljIGludCBidWlsZF9yZG1hX3dyaXRlKHVuaW9uIHQzX3dyICp3cWUsIHN0cnVjdCBpYl9zZW5kX3dyICp3ciwKIAkJCQkgdTggKmZsaXRfY250KQogewogCWludCBpOwpAQCAtMTM3LDE1ICsxMjMsMTggQEAKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIGludCBpd2NoX2J1aWxkX3JkbWFfcmVhZCh1bmlvbiB0M193ciAqd3FlLCBzdHJ1Y3QgaWJfc2VuZF93ciAqd3IsCitzdGF0aWMgaW50IGJ1aWxkX3JkbWFfcmVhZCh1bmlvbiB0M193ciAqd3FlLCBzdHJ1Y3QgaWJfc2VuZF93ciAqd3IsCiAJCQkJdTggKmZsaXRfY250KQogewogCWlmICh3ci0+bnVtX3NnZSA+IDEpCiAJCXJldHVybiAtRUlOVkFMOwogCXdxZS0+cmVhZC5yZG1hb3AgPSBUM19SRUFEX1JFUTsKKwlpZiAod3ItPm9wY29kZSA9PSBJQl9XUl9SRE1BX1JFQURfV0lUSF9JTlYpCisJCXdxZS0+cmVhZC5sb2NhbF9pbnYgPSAxOworCWVsc2UKKwkJd3FlLT5yZWFkLmxvY2FsX2ludiA9IDA7CiAJd3FlLT5yZWFkLnJlc2VydmVkWzBdID0gMDsKIAl3cWUtPnJlYWQucmVzZXJ2ZWRbMV0gPSAwOwotCXdxZS0+cmVhZC5yZXNlcnZlZFsyXSA9IDA7CiAJd3FlLT5yZWFkLnJlbV9zdGFnID0gY3B1X3RvX2JlMzIod3ItPndyLnJkbWEucmtleSk7CiAJd3FlLT5yZWFkLnJlbV90byA9IGNwdV90b19iZTY0KHdyLT53ci5yZG1hLnJlbW90ZV9hZGRyKTsKIAl3cWUtPnJlYWQubG9jYWxfc3RhZyA9IGNwdV90b19iZTMyKHdyLT5zZ19saXN0WzBdLmxrZXkpOwpAQCAtMTU1LDYgKzE0NCw1NyBAQAogCXJldHVybiAwOwogfQogCitzdGF0aWMgaW50IGJ1aWxkX2Zhc3RyZWcodW5pb24gdDNfd3IgKndxZSwgc3RydWN0IGliX3NlbmRfd3IgKndyLAorCQkJCXU4ICpmbGl0X2NudCwgaW50ICp3cl9jbnQsIHN0cnVjdCB0M193cSAqd3EpCit7CisJaW50IGk7CisJX19iZTY0ICpwOworCisJaWYgKHdyLT53ci5mYXN0X3JlZy5wYWdlX2xpc3RfbGVuID4gVDNfTUFYX0ZBU1RSRUdfREVQVEgpCisJCXJldHVybiAtRUlOVkFMOworCSp3cl9jbnQgPSAxOworCXdxZS0+ZmFzdHJlZy5zdGFnID0gY3B1X3RvX2JlMzIod3ItPndyLmZhc3RfcmVnLnJrZXkpOworCXdxZS0+ZmFzdHJlZy5sZW4gPSBjcHVfdG9fYmUzMih3ci0+d3IuZmFzdF9yZWcubGVuZ3RoKTsKKwl3cWUtPmZhc3RyZWcudmFfYmFzZV9oaSA9IGNwdV90b19iZTMyKHdyLT53ci5mYXN0X3JlZy5pb3ZhX3N0YXJ0ID4+IDMyKTsKKwl3cWUtPmZhc3RyZWcudmFfYmFzZV9sb19mYm8gPQorCQkJCWNwdV90b19iZTMyKHdyLT53ci5mYXN0X3JlZy5pb3ZhX3N0YXJ0ICYgMHhmZmZmZmZmZik7CisJd3FlLT5mYXN0cmVnLnBhZ2VfdHlwZV9wZXJtcyA9IGNwdV90b19iZTMyKAorCQlWX0ZSX1BBR0VfQ09VTlQod3ItPndyLmZhc3RfcmVnLnBhZ2VfbGlzdF9sZW4pIHwKKwkJVl9GUl9QQUdFX1NJWkUod3ItPndyLmZhc3RfcmVnLnBhZ2Vfc2hpZnQtMTIpIHwKKwkJVl9GUl9UWVBFKFRQVF9WQVRPKSB8CisJCVZfRlJfUEVSTVMoaXdjaF9pYl90b190cHRfYWNjZXNzKHdyLT53ci5mYXN0X3JlZy5hY2Nlc3NfZmxhZ3MpKSk7CisJcCA9ICZ3cWUtPmZhc3RyZWcucGJsX2FkZHJzWzBdOworCWZvciAoaSA9IDA7IGkgPCB3ci0+d3IuZmFzdF9yZWcucGFnZV9saXN0X2xlbjsgaSsrLCBwKyspIHsKKworCQkvKiBJZiB3ZSBuZWVkIGEgMm5kIFdSLCB0aGVuIHNldCBpdCB1cCAqLworCQlpZiAoaSA9PSBUM19NQVhfRkFTVFJFR19GUkFHKSB7CisJCQkqd3JfY250ID0gMjsKKwkJCXdxZSA9ICh1bmlvbiB0M193ciAqKSh3cS0+cXVldWUgKworCQkJCVFfUFRSMklEWCgod3EtPndwdHIrMSksIHdxLT5zaXplX2xvZzIpKTsKKwkJCWJ1aWxkX2Z3X3Jpd3JoKCh2b2lkICopd3FlLCBUM19XUl9GQVNUUkVHLCAwLAorCQkJICAgICAgIFFfR0VOQklUKHdxLT53cHRyICsgMSwgd3EtPnNpemVfbG9nMiksCisJCQkgICAgICAgMCwgMSArIHdyLT53ci5mYXN0X3JlZy5wYWdlX2xpc3RfbGVuIC0gVDNfTUFYX0ZBU1RSRUdfRlJBRywKKwkJCSAgICAgICBUM19FT1ApOworCisJCQlwID0gJndxZS0+cGJsX2ZyYWcucGJsX2FkZHJzWzBdOworCQl9CisJCSpwID0gY3B1X3RvX2JlNjQoKHU2NCl3ci0+d3IuZmFzdF9yZWcucGFnZV9saXN0LT5wYWdlX2xpc3RbaV0pOworCX0KKwkqZmxpdF9jbnQgPSA1ICsgd3ItPndyLmZhc3RfcmVnLnBhZ2VfbGlzdF9sZW47CisJaWYgKCpmbGl0X2NudCA+IDE1KQorCQkqZmxpdF9jbnQgPSAxNTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBidWlsZF9pbnZfc3RhZyh1bmlvbiB0M193ciAqd3FlLCBzdHJ1Y3QgaWJfc2VuZF93ciAqd3IsCisJCQkJdTggKmZsaXRfY250KQoreworCXdxZS0+bG9jYWxfaW52LnN0YWcgPSBjcHVfdG9fYmUzMih3ci0+ZXguaW52YWxpZGF0ZV9ya2V5KTsKKwl3cWUtPmxvY2FsX2ludi5yZXNlcnZlZCA9IDA7CisJKmZsaXRfY250ID0gc2l6ZW9mKHN0cnVjdCB0M19sb2NhbF9pbnZfd3IpID4+IDM7CisJcmV0dXJuIDA7Cit9CisKIC8qCiAgKiBUQkQ6IHRoaXMgaXMgZ29pbmcgdG8gYmUgbW92ZWQgdG8gZmlybXdhcmUuIE1pc3NpbmcgcGRpZC9xcGlkIGNoZWNrIGZvciBub3cuCiAgKi8KQEAgLTIwNSwyMyArMjQ1LDEwNiBAQAogCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IGl3Y2hfYnVpbGRfcmRtYV9yZWN2KHN0cnVjdCBpd2NoX2RldiAqcmhwLCB1bmlvbiB0M193ciAqd3FlLAorc3RhdGljIGludCBidWlsZF9yZG1hX3JlY3Yoc3RydWN0IGl3Y2hfcXAgKnFocCwgdW5pb24gdDNfd3IgKndxZSwKIAkJCQlzdHJ1Y3QgaWJfcmVjdl93ciAqd3IpCiB7Ci0JaW50IGk7Ci0JaWYgKHdyLT5udW1fc2dlID4gVDNfTUFYX1NHRSkKLQkJcmV0dXJuIC1FSU5WQUw7CisJaW50IGksIGVyciA9IDA7CisJdTMyIHBibF9hZGRyW1QzX01BWF9TR0VdOworCXU4IHBhZ2Vfc2l6ZVtUM19NQVhfU0dFXTsKKworCWVyciA9IGl3Y2hfc2dsMnBibF9tYXAocWhwLT5yaHAsIHdyLT5zZ19saXN0LCB3ci0+bnVtX3NnZSwgcGJsX2FkZHIsCisJCQkgICAgICAgcGFnZV9zaXplKTsKKwlpZiAoZXJyKQorCQlyZXR1cm4gZXJyOworCXdxZS0+cmVjdi5wYWdlc3pbMF0gPSBwYWdlX3NpemVbMF07CisJd3FlLT5yZWN2LnBhZ2VzelsxXSA9IHBhZ2Vfc2l6ZVsxXTsKKwl3cWUtPnJlY3YucGFnZXN6WzJdID0gcGFnZV9zaXplWzJdOworCXdxZS0+cmVjdi5wYWdlc3pbM10gPSBwYWdlX3NpemVbM107CiAJd3FlLT5yZWN2Lm51bV9zZ2xlID0gY3B1X3RvX2JlMzIod3ItPm51bV9zZ2UpOwogCWZvciAoaSA9IDA7IGkgPCB3ci0+bnVtX3NnZTsgaSsrKSB7CiAJCXdxZS0+cmVjdi5zZ2xbaV0uc3RhZyA9IGNwdV90b19iZTMyKHdyLT5zZ19saXN0W2ldLmxrZXkpOwogCQl3cWUtPnJlY3Yuc2dsW2ldLmxlbiA9IGNwdV90b19iZTMyKHdyLT5zZ19saXN0W2ldLmxlbmd0aCk7Ci0JCXdxZS0+cmVjdi5zZ2xbaV0udG8gPSBjcHVfdG9fYmU2NCh3ci0+c2dfbGlzdFtpXS5hZGRyKTsKKworCQkvKiB0byBpbiB0aGUgV1FFID09IHRoZSBvZmZzZXQgaW50byB0aGUgcGFnZSAqLworCQl3cWUtPnJlY3Yuc2dsW2ldLnRvID0gY3B1X3RvX2JlNjQoKCh1MzIpIHdyLT5zZ19saXN0W2ldLmFkZHIpICUKKwkJCQkoMVVMIDw8ICgxMiArIHBhZ2Vfc2l6ZVtpXSkpKTsKKworCQkvKiBwYmxfYWRkciBpcyB0aGUgYWRhcHRlcnMgYWRkcmVzcyBpbiB0aGUgUEJMICovCisJCXdxZS0+cmVjdi5wYmxfYWRkcltpXSA9IGNwdV90b19iZTMyKHBibF9hZGRyW2ldKTsKIAl9CiAJZm9yICg7IGkgPCBUM19NQVhfU0dFOyBpKyspIHsKIAkJd3FlLT5yZWN2LnNnbFtpXS5zdGFnID0gMDsKIAkJd3FlLT5yZWN2LnNnbFtpXS5sZW4gPSAwOwogCQl3cWUtPnJlY3Yuc2dsW2ldLnRvID0gMDsKKwkJd3FlLT5yZWN2LnBibF9hZGRyW2ldID0gMDsKIAl9CisJcWhwLT53cS5ycVtRX1BUUjJJRFgocWhwLT53cS5ycV93cHRyLAorCQkJICAgICBxaHAtPndxLnJxX3NpemVfbG9nMildLndyX2lkID0gd3ItPndyX2lkOworCXFocC0+d3EucnFbUV9QVFIySURYKHFocC0+d3EucnFfd3B0ciwKKwkJCSAgICAgcWhwLT53cS5ycV9zaXplX2xvZzIpXS5wYmxfYWRkciA9IDA7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgYnVpbGRfemVyb19zdGFnX3JlY3Yoc3RydWN0IGl3Y2hfcXAgKnFocCwgdW5pb24gdDNfd3IgKndxZSwKKwkJCQlzdHJ1Y3QgaWJfcmVjdl93ciAqd3IpCit7CisJaW50IGk7CisJdTMyIHBibF9hZGRyOworCXUzMiBwYmxfb2Zmc2V0OworCisKKwkvKgorCSAqIFRoZSBUMyBIVyByZXF1aXJlcyB0aGUgUEJMIGluIHRoZSBIVyByZWN2IGRlc2NyaXB0b3IgdG8gcmVmZXJlbmNlCisJICogYSBQQkwgZW50cnkuICBTbyB3ZSBhbGxvY2F0ZSB0aGUgbWF4IG5lZWRlZCBQQkwgbWVtb3J5IGhlcmUgYW5kIHBhc3MKKwkgKiBpdCB0byB0aGUgdVAgaW4gdGhlIHJlY3YgV1IuICBUaGUgdVAgd2lsbCBidWlsZCB0aGUgUEJMIGFuZCBzZXR1cAorCSAqIHRoZSBIVyByZWN2IGRlc2NyaXB0b3IuCisJICovCisJcGJsX2FkZHIgPSBjeGlvX2hhbF9wYmxwb29sX2FsbG9jKCZxaHAtPnJocC0+cmRldiwgVDNfU1RBRzBfUEJMX1NJWkUpOworCWlmICghcGJsX2FkZHIpCisJCXJldHVybiAtRU5PTUVNOworCisJLyoKKwkgKiBDb21wdXRlIHRoZSA4QiBhbGlnbmVkIG9mZnNldC4KKwkgKi8KKwlwYmxfb2Zmc2V0ID0gKHBibF9hZGRyIC0gcWhwLT5yaHAtPnJkZXYucm5pY19pbmZvLnBibF9iYXNlKSA+PiAzOworCisJd3FlLT5yZWN2Lm51bV9zZ2xlID0gY3B1X3RvX2JlMzIod3ItPm51bV9zZ2UpOworCisJZm9yIChpID0gMDsgaSA8IHdyLT5udW1fc2dlOyBpKyspIHsKKworCQkvKgorCQkgKiBVc2UgYSAxMjhNQiBwYWdlIHNpemUuIFRoaXMgYW5kIGFuIGltcG9zZWQgMTI4TUIKKwkJICogc2dlIGxlbmd0aCBsaW1pdCBhbGxvd3MgdXMgdG8gcmVxdWlyZSBvbmx5IGEgMi1lbnRyeSBIVworCQkgKiBQQkwgZm9yIGVhY2ggU0dFLiAgVGhpcyByZXN0cmljdGlvbiBpcyBhY2NlcHRhYmxlIHNpbmNlCisJCSAqIHNpbmNlIGl0IGlzIG5vdCBwb3NzaWJsZSB0byBhbGxvY2F0ZSAxMjhNQiBvZiBjb250aWd1b3VzCisJCSAqIERNQSBjb2hlcmVudCBtZW1vcnkhCisJCSAqLworCQlpZiAod3ItPnNnX2xpc3RbaV0ubGVuZ3RoID4gVDNfU1RBRzBfTUFYX1BCRV9MRU4pCisJCQlyZXR1cm4gLUVJTlZBTDsKKwkJd3FlLT5yZWN2LnBhZ2VzeltpXSA9IFQzX1NUQUcwX1BBR0VfU0hJRlQ7CisKKwkJLyoKKwkJICogVDMgcmVzdHJpY3RzIGEgcmVjdiB0byBhbGwgemVyby1zdGFnIG9yIGFsbCBub24temVyby1zdGFnLgorCQkgKi8KKwkJaWYgKHdyLT5zZ19saXN0W2ldLmxrZXkgIT0gMCkKKwkJCXJldHVybiAtRUlOVkFMOworCQl3cWUtPnJlY3Yuc2dsW2ldLnN0YWcgPSAwOworCQl3cWUtPnJlY3Yuc2dsW2ldLmxlbiA9IGNwdV90b19iZTMyKHdyLT5zZ19saXN0W2ldLmxlbmd0aCk7CisJCXdxZS0+cmVjdi5zZ2xbaV0udG8gPSBjcHVfdG9fYmU2NCh3ci0+c2dfbGlzdFtpXS5hZGRyKTsKKwkJd3FlLT5yZWN2LnBibF9hZGRyW2ldID0gY3B1X3RvX2JlMzIocGJsX29mZnNldCk7CisJCXBibF9vZmZzZXQgKz0gMjsKKwl9CisJZm9yICg7IGkgPCBUM19NQVhfU0dFOyBpKyspIHsKKwkJd3FlLT5yZWN2LnBhZ2VzeltpXSA9IDA7CisJCXdxZS0+cmVjdi5zZ2xbaV0uc3RhZyA9IDA7CisJCXdxZS0+cmVjdi5zZ2xbaV0ubGVuID0gMDsKKwkJd3FlLT5yZWN2LnNnbFtpXS50byA9IDA7CisJCXdxZS0+cmVjdi5wYmxfYWRkcltpXSA9IDA7CisJfQorCXFocC0+d3EucnFbUV9QVFIySURYKHFocC0+d3EucnFfd3B0ciwKKwkJCSAgICAgcWhwLT53cS5ycV9zaXplX2xvZzIpXS53cl9pZCA9IHdyLT53cl9pZDsKKwlxaHAtPndxLnJxW1FfUFRSMklEWChxaHAtPndxLnJxX3dwdHIsCisJCQkgICAgIHFocC0+d3EucnFfc2l6ZV9sb2cyKV0ucGJsX2FkZHIgPSBwYmxfYWRkcjsKIAlyZXR1cm4gMDsKIH0KIApAQCAtMjM4LDYgKzM2MSw3IEBACiAJdTMyIG51bV93cnM7CiAJdW5zaWduZWQgbG9uZyBmbGFnOwogCXN0cnVjdCB0M19zd3NxICpzcXA7CisJaW50IHdyX2NudCA9IDE7CiAKIAlxaHAgPSB0b19pd2NoX3FwKGlicXApOwogCXNwaW5fbG9ja19pcnFzYXZlKCZxaHAtPmxvY2ssIGZsYWcpOwpAQCAtMjYyLDMzICszODYsNDUgQEAKIAkJdDNfd3JfZmxhZ3MgPSAwOwogCQlpZiAod3ItPnNlbmRfZmxhZ3MgJiBJQl9TRU5EX1NPTElDSVRFRCkKIAkJCXQzX3dyX2ZsYWdzIHw9IFQzX1NPTElDSVRFRF9FVkVOVF9GTEFHOwotCQlpZiAod3ItPnNlbmRfZmxhZ3MgJiBJQl9TRU5EX0ZFTkNFKQotCQkJdDNfd3JfZmxhZ3MgfD0gVDNfUkVBRF9GRU5DRV9GTEFHOwogCQlpZiAod3ItPnNlbmRfZmxhZ3MgJiBJQl9TRU5EX1NJR05BTEVEKQogCQkJdDNfd3JfZmxhZ3MgfD0gVDNfQ09NUExFVElPTl9GTEFHOwogCQlzcXAgPSBxaHAtPndxLnNxICsKIAkJICAgICAgUV9QVFIySURYKHFocC0+d3Euc3Ffd3B0ciwgcWhwLT53cS5zcV9zaXplX2xvZzIpOwogCQlzd2l0Y2ggKHdyLT5vcGNvZGUpIHsKIAkJY2FzZSBJQl9XUl9TRU5EOgotCQljYXNlIElCX1dSX1NFTkRfV0lUSF9JTU06CisJCWNhc2UgSUJfV1JfU0VORF9XSVRIX0lOVjoKKwkJCWlmICh3ci0+c2VuZF9mbGFncyAmIElCX1NFTkRfRkVOQ0UpCisJCQkJdDNfd3JfZmxhZ3MgfD0gVDNfUkVBRF9GRU5DRV9GTEFHOwogCQkJdDNfd3Jfb3Bjb2RlID0gVDNfV1JfU0VORDsKLQkJCWVyciA9IGl3Y2hfYnVpbGRfcmRtYV9zZW5kKHdxZSwgd3IsICZ0M193cl9mbGl0X2NudCk7CisJCQllcnIgPSBidWlsZF9yZG1hX3NlbmQod3FlLCB3ciwgJnQzX3dyX2ZsaXRfY250KTsKIAkJCWJyZWFrOwogCQljYXNlIElCX1dSX1JETUFfV1JJVEU6CiAJCWNhc2UgSUJfV1JfUkRNQV9XUklURV9XSVRIX0lNTToKIAkJCXQzX3dyX29wY29kZSA9IFQzX1dSX1dSSVRFOwotCQkJZXJyID0gaXdjaF9idWlsZF9yZG1hX3dyaXRlKHdxZSwgd3IsICZ0M193cl9mbGl0X2NudCk7CisJCQllcnIgPSBidWlsZF9yZG1hX3dyaXRlKHdxZSwgd3IsICZ0M193cl9mbGl0X2NudCk7CiAJCQlicmVhazsKIAkJY2FzZSBJQl9XUl9SRE1BX1JFQUQ6CisJCWNhc2UgSUJfV1JfUkRNQV9SRUFEX1dJVEhfSU5WOgogCQkJdDNfd3Jfb3Bjb2RlID0gVDNfV1JfUkVBRDsKIAkJCXQzX3dyX2ZsYWdzID0gMDsgLyogVDMgcmVhZHMgYXJlIGFsd2F5cyBzaWduYWxlZCAqLwotCQkJZXJyID0gaXdjaF9idWlsZF9yZG1hX3JlYWQod3FlLCB3ciwgJnQzX3dyX2ZsaXRfY250KTsKKwkJCWVyciA9IGJ1aWxkX3JkbWFfcmVhZCh3cWUsIHdyLCAmdDNfd3JfZmxpdF9jbnQpOwogCQkJaWYgKGVycikKIAkJCQlicmVhazsKIAkJCXNxcC0+cmVhZF9sZW4gPSB3cWUtPnJlYWQubG9jYWxfbGVuOwogCQkJaWYgKCFxaHAtPndxLm9sZGVzdF9yZWFkKQogCQkJCXFocC0+d3Eub2xkZXN0X3JlYWQgPSBzcXA7CiAJCQlicmVhazsKKwkJY2FzZSBJQl9XUl9GQVNUX1JFR19NUjoKKwkJCXQzX3dyX29wY29kZSA9IFQzX1dSX0ZBU1RSRUc7CisJCQllcnIgPSBidWlsZF9mYXN0cmVnKHdxZSwgd3IsICZ0M193cl9mbGl0X2NudCwKKwkJCQkJCSAmd3JfY250LCAmcWhwLT53cSk7CisJCQlicmVhazsKKwkJY2FzZSBJQl9XUl9MT0NBTF9JTlY6CisJCQlpZiAod3ItPnNlbmRfZmxhZ3MgJiBJQl9TRU5EX0ZFTkNFKQorCQkJCXQzX3dyX2ZsYWdzIHw9IFQzX0xPQ0FMX0ZFTkNFX0ZMQUc7CisJCQl0M193cl9vcGNvZGUgPSBUM19XUl9JTlZfU1RBRzsKKwkJCWVyciA9IGJ1aWxkX2ludl9zdGFnKHdxZSwgd3IsICZ0M193cl9mbGl0X2NudCk7CisJCQlicmVhazsKIAkJZGVmYXVsdDoKIAkJCVBEQkcoIiVzIHBvc3Qgb2YgdHlwZT0lZCBUQkQhXG4iLCBfX2Z1bmNfXywKIAkJCSAgICAgd3ItPm9wY29kZSk7CkBAIC0zMDcsMTQgKzQ0MywxNSBAQAogCiAJCWJ1aWxkX2Z3X3Jpd3JoKCh2b2lkICopIHdxZSwgdDNfd3Jfb3Bjb2RlLCB0M193cl9mbGFncywKIAkJCSAgICAgICBRX0dFTkJJVChxaHAtPndxLndwdHIsIHFocC0+d3Euc2l6ZV9sb2cyKSwKLQkJCSAgICAgICAwLCB0M193cl9mbGl0X2NudCk7CisJCQkgICAgICAgMCwgdDNfd3JfZmxpdF9jbnQsCisJCQkgICAgICAgKHdyX2NudCA9PSAxKSA/IFQzX1NPUEVPUCA6IFQzX1NPUCk7CiAJCVBEQkcoIiVzIGNvb2tpZSAweCVsbHggd3EgaWR4IDB4JXggc3dzcSBpZHggJWxkIG9wY29kZSAlZFxuIiwKIAkJICAgICBfX2Z1bmNfXywgKHVuc2lnbmVkIGxvbmcgbG9uZykgd3ItPndyX2lkLCBpZHgsCiAJCSAgICAgUV9QVFIySURYKHFocC0+d3Euc3Ffd3B0ciwgcWhwLT53cS5zcV9zaXplX2xvZzIpLAogCQkgICAgIHNxcC0+b3Bjb2RlKTsKIAkJd3IgPSB3ci0+bmV4dDsKIAkJbnVtX3dycy0tOwotCQkrKyhxaHAtPndxLndwdHIpOworCQlxaHAtPndxLndwdHIgKz0gd3JfY250OwogCQkrKyhxaHAtPndxLnNxX3dwdHIpOwogCX0KIAlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZxaHAtPmxvY2ssIGZsYWcpOwpAQCAtMzQ1LDIxICs0ODIsMjcgQEAKIAkJcmV0dXJuIC1FSU5WQUw7CiAJfQogCXdoaWxlICh3cikgeworCQlpZiAod3ItPm51bV9zZ2UgPiBUM19NQVhfU0dFKSB7CisJCQllcnIgPSAtRUlOVkFMOworCQkJKmJhZF93ciA9IHdyOworCQkJYnJlYWs7CisJCX0KIAkJaWR4ID0gUV9QVFIySURYKHFocC0+d3Eud3B0ciwgcWhwLT53cS5zaXplX2xvZzIpOwogCQl3cWUgPSAodW5pb24gdDNfd3IgKikgKHFocC0+d3EucXVldWUgKyBpZHgpOwogCQlpZiAobnVtX3dycykKLQkJCWVyciA9IGl3Y2hfYnVpbGRfcmRtYV9yZWN2KHFocC0+cmhwLCB3cWUsIHdyKTsKKwkJCWlmICh3ci0+c2dfbGlzdFswXS5sa2V5KQorCQkJCWVyciA9IGJ1aWxkX3JkbWFfcmVjdihxaHAsIHdxZSwgd3IpOworCQkJZWxzZQorCQkJCWVyciA9IGJ1aWxkX3plcm9fc3RhZ19yZWN2KHFocCwgd3FlLCB3cik7CiAJCWVsc2UKIAkJCWVyciA9IC1FTk9NRU07CiAJCWlmIChlcnIpIHsKIAkJCSpiYWRfd3IgPSB3cjsKIAkJCWJyZWFrOwogCQl9Ci0JCXFocC0+d3EucnFbUV9QVFIySURYKHFocC0+d3EucnFfd3B0ciwgcWhwLT53cS5ycV9zaXplX2xvZzIpXSA9Ci0JCQl3ci0+d3JfaWQ7CiAJCWJ1aWxkX2Z3X3Jpd3JoKCh2b2lkICopIHdxZSwgVDNfV1JfUkNWLCBUM19DT01QTEVUSU9OX0ZMQUcsCiAJCQkgICAgICAgUV9HRU5CSVQocWhwLT53cS53cHRyLCBxaHAtPndxLnNpemVfbG9nMiksCi0JCQkgICAgICAgMCwgc2l6ZW9mKHN0cnVjdCB0M19yZWNlaXZlX3dyKSA+PiAzKTsKKwkJCSAgICAgICAwLCBzaXplb2Yoc3RydWN0IHQzX3JlY2VpdmVfd3IpID4+IDMsIFQzX1NPUEVPUCk7CiAJCVBEQkcoIiVzIGNvb2tpZSAweCVsbHggaWR4IDB4JXggcnFfd3B0ciAweCV4IHJ3X3JwdHIgMHgleCAiCiAJCSAgICAgIndxZSAlcCBcbiIsIF9fZnVuY19fLCAodW5zaWduZWQgbG9uZyBsb25nKSB3ci0+d3JfaWQsCiAJCSAgICAgaWR4LCBxaHAtPndxLnJxX3dwdHIsIHFocC0+d3EucnFfcnB0ciwgd3FlKTsKQEAgLTQxOSwxMCArNTYyLDEwIEBACiAJc2dsLmxrZXkgPSBtd19iaW5kLT5tci0+bGtleTsKIAlzZ2wubGVuZ3RoID0gbXdfYmluZC0+bGVuZ3RoOwogCXdxZS0+YmluZC5yZXNlcnZlZCA9IDA7Ci0Jd3FlLT5iaW5kLnR5cGUgPSBUM19WQV9CQVNFRF9UTzsKKwl3cWUtPmJpbmQudHlwZSA9IFRQVF9WQVRPOwogCiAJLyogVEJEOiBjaGVjayBwZXJtcyAqLwotCXdxZS0+YmluZC5wZXJtcyA9IGl3Y2hfaWJfdG9fbXdiaW5kX2FjY2Vzcyhtd19iaW5kLT5td19hY2Nlc3NfZmxhZ3MpOworCXdxZS0+YmluZC5wZXJtcyA9IGl3Y2hfaWJfdG9fdHB0X2FjY2Vzcyhtd19iaW5kLT5td19hY2Nlc3NfZmxhZ3MpOwogCXdxZS0+YmluZC5tcl9zdGFnID0gY3B1X3RvX2JlMzIobXdfYmluZC0+bXItPmxrZXkpOwogCXdxZS0+YmluZC5td19zdGFnID0gY3B1X3RvX2JlMzIobXctPnJrZXkpOwogCXdxZS0+YmluZC5td19sZW4gPSBjcHVfdG9fYmUzMihtd19iaW5kLT5sZW5ndGgpOwpAQCAtNDMwLDcgKzU3Myw3IEBACiAJZXJyID0gaXdjaF9zZ2wycGJsX21hcChyaHAsICZzZ2wsIDEsICZwYmxfYWRkciwgJnBhZ2Vfc2l6ZSk7CiAJaWYgKGVycikgewogCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZxaHAtPmxvY2ssIGZsYWcpOwotCSAgICAgICAgcmV0dXJuIGVycjsKKwkJcmV0dXJuIGVycjsKIAl9CiAJd3FlLT5zZW5kLndyaWQuaWQwLmhpID0gcWhwLT53cS5zcV93cHRyOwogCXNxcCA9IHFocC0+d3Euc3EgKyBRX1BUUjJJRFgocWhwLT53cS5zcV93cHRyLCBxaHAtPndxLnNxX3NpemVfbG9nMik7CkBAIC00NDEsMTAgKzU4NCw5IEBACiAJc3FwLT5zaWduYWxlZCA9IChtd19iaW5kLT5zZW5kX2ZsYWdzICYgSUJfU0VORF9TSUdOQUxFRCk7CiAJd3FlLT5iaW5kLm1yX3BibF9hZGRyID0gY3B1X3RvX2JlMzIocGJsX2FkZHIpOwogCXdxZS0+YmluZC5tcl9wYWdlc3ogPSBwYWdlX3NpemU7Ci0Jd3FlLT5mbGl0W1QzX1NRX0NPT0tJRV9GTElUXSA9IG13X2JpbmQtPndyX2lkOwogCWJ1aWxkX2Z3X3Jpd3JoKCh2b2lkICopd3FlLCBUM19XUl9CSU5ELCB0M193cl9mbGFncywKIAkJICAgICAgIFFfR0VOQklUKHFocC0+d3Eud3B0ciwgcWhwLT53cS5zaXplX2xvZzIpLCAwLAotCQkJICAgICAgICBzaXplb2Yoc3RydWN0IHQzX2JpbmRfbXdfd3IpID4+IDMpOworCQkgICAgICAgc2l6ZW9mKHN0cnVjdCB0M19iaW5kX213X3dyKSA+PiAzLCBUM19TT1BFT1ApOwogCSsrKHFocC0+d3Eud3B0cik7CiAJKysocWhwLT53cS5zcV93cHRyKTsKIAlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZxaHAtPmxvY2ssIGZsYWcpOwpAQCAtNzU4LDcgKzkwMCw4IEBACiAJaW5pdF9hdHRyLnFwX2RtYV9zaXplID0gKDFVTCA8PCBxaHAtPndxLnNpemVfbG9nMik7CiAJaW5pdF9hdHRyLnJxZV9jb3VudCA9IGl3Y2hfcnFlc19wb3N0ZWQocWhwKTsKIAlpbml0X2F0dHIuZmxhZ3MgPSBxaHAtPmF0dHIubXBhX2F0dHIuaW5pdGlhdG9yID8gTVBBX0lOSVRJQVRPUiA6IDA7Ci0JaW5pdF9hdHRyLmZsYWdzIHw9IGNhcGFibGUoQ0FQX05FVF9CSU5EX1NFUlZJQ0UpID8gUFJJVl9RUCA6IDA7CisJaWYgKCFxaHAtPmlicXAudW9iamVjdCkKKwkJaW5pdF9hdHRyLmZsYWdzIHw9IFBSSVZfUVA7CiAJaWYgKHBlZXIycGVlcikgewogCQlpbml0X2F0dHIucnRyX3R5cGUgPSBSVFJfUkVBRDsKIAkJaWYgKGluaXRfYXR0ci5vcmQgPT0gMCAmJiBxaHAtPmF0dHIubXBhX2F0dHIuaW5pdGlhdG9yKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L2VoY2EvZWhjYV9pcnEuYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9laGNhL2VoY2FfaXJxLmMKaW5kZXggY2UxYWIwNS4uMDc5MmQ5MyAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L2VoY2EvZWhjYV9pcnEuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvZWhjYS9laGNhX2lycS5jCkBAIC01MzEsNyArNTMxLDcgQEAKIHsKIAlzdHJ1Y3QgZWhjYV9lcSAqZXEgPSAmc2hjYS0+ZXE7CiAJc3RydWN0IGVoY2FfZXFlX2NhY2hlX2VudHJ5ICplcWVfY2FjaGUgPSBlcS0+ZXFlX2NhY2hlOwotCXU2NCBlcWVfdmFsdWU7CisJdTY0IGVxZV92YWx1ZSwgcmV0OwogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAJaW50IGVxZV9jbnQsIGk7CiAJaW50IGVxX2VtcHR5ID0gMDsKQEAgLTU4Myw4ICs1ODMsMTMgQEAKIAkJCWVoY2FfZGJnKCZzaGNhLT5pYl9kZXZpY2UsCiAJCQkJICJObyBlcWUgZm91bmQgZm9yIGlycSBldmVudCIpOwogCQlnb3RvIHVubG9ja19pcnFfc3BpbmxvY2s7Ci0JfSBlbHNlIGlmICghaXNfaXJxKQorCX0gZWxzZSBpZiAoIWlzX2lycSkgeworCQlyZXQgPSBoaXB6X2hfZW9pKGVxLT5pc3QpOworCQlpZiAocmV0ICE9IEhfU1VDQ0VTUykKKwkJCWVoY2FfZXJyKCZzaGNhLT5pYl9kZXZpY2UsCisJCQkJICJiYWQgcmV0dXJuIGNvZGUgRU9JIC1yYyA9ICVsZFxuIiwgcmV0KTsKIAkJZWhjYV9kYmcoJnNoY2EtPmliX2RldmljZSwgImRlYWRtYW4gZm91bmQgJXggZXFlIiwgZXFlX2NudCk7CisJfQogCWlmICh1bmxpa2VseShlcWVfY250ID09IEVIQ0FfRVFFX0NBQ0hFX1NJWkUpKQogCQllaGNhX2RiZygmc2hjYS0+aWJfZGV2aWNlLCAidG9vIG1hbnkgZXFlcyBmb3Igb25lIGlycSBldmVudCIpOwogCS8qIGVuYWJsZSBpcnEgZm9yIG5ldyBwYWNrZXRzICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvZWhjYS9laGNhX21haW4uYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9laGNhL2VoY2FfbWFpbi5jCmluZGV4IDQ4MjEwM2UuLjU5ODg0NGQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9laGNhL2VoY2FfbWFpbi5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9laGNhL2VoY2FfbWFpbi5jCkBAIC05MjMsNiArOTIzLDcgQEAKIAl9LAogCXt9LAogfTsKK01PRFVMRV9ERVZJQ0VfVEFCTEUob2YsIGVoY2FfZGV2aWNlX3RhYmxlKTsKIAogc3RhdGljIHN0cnVjdCBvZl9wbGF0Zm9ybV9kcml2ZXIgZWhjYV9kcml2ZXIgPSB7CiAJLm5hbWUgICAgICAgID0gImVoY2EiLApkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L2VoY2EvZWhjYV9yZXFzLmMgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvZWhjYS9laGNhX3JlcXMuYwppbmRleCBmMDkzYjAwLi5kZDliYzY4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvZWhjYS9laGNhX3JlcXMuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvZWhjYS9laGNhX3JlcXMuYwpAQCAtNTQ0LDggKzU0NCwxNiBAQAogCQkgICBzdHJ1Y3QgaWJfcmVjdl93ciAqcmVjdl93ciwKIAkJICAgc3RydWN0IGliX3JlY3Zfd3IgKipiYWRfcmVjdl93cikKIHsKLQlyZXR1cm4gaW50ZXJuYWxfcG9zdF9yZWN2KGNvbnRhaW5lcl9vZihxcCwgc3RydWN0IGVoY2FfcXAsIGliX3FwKSwKLQkJCQkgIHFwLT5kZXZpY2UsIHJlY3Zfd3IsIGJhZF9yZWN2X3dyKTsKKwlzdHJ1Y3QgZWhjYV9xcCAqbXlfcXAgPSBjb250YWluZXJfb2YocXAsIHN0cnVjdCBlaGNhX3FwLCBpYl9xcCk7CisKKwkvKiBSZWplY3QgV1IgaWYgUVAgaXMgaW4gUkVTRVQgc3RhdGUgKi8KKwlpZiAodW5saWtlbHkobXlfcXAtPnN0YXRlID09IElCX1FQU19SRVNFVCkpIHsKKwkJZWhjYV9lcnIocXAtPmRldmljZSwgIkludmFsaWQgUVAgc3RhdGUgIHFwX3N0YXRlPSVkIHFwbj0leCIsCisJCQkgbXlfcXAtPnN0YXRlLCBxcC0+cXBfbnVtKTsKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCisJcmV0dXJuIGludGVybmFsX3Bvc3RfcmVjdihteV9xcCwgcXAtPmRldmljZSwgcmVjdl93ciwgYmFkX3JlY3Zfd3IpOwogfQogCiBpbnQgZWhjYV9wb3N0X3NycV9yZWN2KHN0cnVjdCBpYl9zcnEgKnNycSwKQEAgLTY4MSw3ICs2ODksNyBAQAogCXdjLT5kbGlkX3BhdGhfYml0cyA9IGNxZS0+ZGxpZDsKIAl3Yy0+c3JjX3FwID0gY3FlLT5yZW1vdGVfcXBfbnVtYmVyOwogCXdjLT53Y19mbGFncyA9IGNxZS0+d19jb21wbGV0aW9uX2ZsYWdzOwotCXdjLT5pbW1fZGF0YSA9IGNwdV90b19iZTMyKGNxZS0+aW1tZWRpYXRlX2RhdGEpOworCXdjLT5leC5pbW1fZGF0YSA9IGNwdV90b19iZTMyKGNxZS0+aW1tZWRpYXRlX2RhdGEpOwogCXdjLT5zbCA9IGNxZS0+c2VydmljZV9sZXZlbDsKIAogcG9sbF9jcV9vbmVfZXhpdDA6CmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvZWhjYS9oY3BfaWYuYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9laGNhL2hjcF9pZi5jCmluZGV4IDUyNDVlMTMuLjQxNWQzYTQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9laGNhL2hjcF9pZi5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9laGNhL2hjcF9pZi5jCkBAIC05MzMsMyArOTMzLDEzIEBACiAJCQkJICAgICAgIHJfY2IsCiAJCQkJICAgICAgIDAsIDAsIDAsIDApOwogfQorCit1NjQgaGlwel9oX2VvaShpbnQgaXJxKQoreworCXVuc2lnbmVkIGxvbmcgeGlycjsKKworCWlvc3luYygpOworCXhpcnIgPSAoMHhmZlVMTCA8PCAyNCkgfCBpcnE7CisKKwlyZXR1cm4gcGxwYXJfaGNhbGxfbm9yZXRzKEhfRU9JLCB4aXJyKTsKK30KZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9laGNhL2hjcF9pZi5oIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L2VoY2EvaGNwX2lmLmgKaW5kZXggNjBjZTAyYi4uMmMzYzZlMCAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L2VoY2EvaGNwX2lmLmgKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L2VoY2EvaGNwX2lmLmgKQEAgLTI2MCw1ICsyNjAsNiBAQAogCQkgICAgICBjb25zdCB1NjQgcmVzc291cmNlX2hhbmRsZSwKIAkJICAgICAgdm9pZCAqcmJsb2NrLAogCQkgICAgICB1bnNpZ25lZCBsb25nICpieXRlX2NvdW50KTsKK3U2NCBoaXB6X2hfZW9pKGludCBpcnEpOwogCiAjZW5kaWYgLyogX19IQ1BfSUZfSF9fICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvaXBhdGgvaXBhdGhfY3EuYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9pcGF0aC9pcGF0aF9jcS5jCmluZGV4IGEwM2JkMjguLmQzODVlNDE2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvaXBhdGgvaXBhdGhfY3EuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvaXBhdGgvaXBhdGhfY3EuYwpAQCAtODIsNyArODIsNyBAQAogCQl3Yy0+dXF1ZXVlW2hlYWRdLm9wY29kZSA9IGVudHJ5LT5vcGNvZGU7CiAJCXdjLT51cXVldWVbaGVhZF0udmVuZG9yX2VyciA9IGVudHJ5LT52ZW5kb3JfZXJyOwogCQl3Yy0+dXF1ZXVlW2hlYWRdLmJ5dGVfbGVuID0gZW50cnktPmJ5dGVfbGVuOwotCQl3Yy0+dXF1ZXVlW2hlYWRdLmltbV9kYXRhID0gKF9fdTMyIF9fZm9yY2UpZW50cnktPmltbV9kYXRhOworCQl3Yy0+dXF1ZXVlW2hlYWRdLmV4LmltbV9kYXRhID0gKF9fdTMyIF9fZm9yY2UpIGVudHJ5LT5leC5pbW1fZGF0YTsKIAkJd2MtPnVxdWV1ZVtoZWFkXS5xcF9udW0gPSBlbnRyeS0+cXAtPnFwX251bTsKIAkJd2MtPnVxdWV1ZVtoZWFkXS5zcmNfcXAgPSBlbnRyeS0+c3JjX3FwOwogCQl3Yy0+dXF1ZXVlW2hlYWRdLndjX2ZsYWdzID0gZW50cnktPndjX2ZsYWdzOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L2lwYXRoL2lwYXRoX2ZpbGVfb3BzLmMgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvaXBhdGgvaXBhdGhfZmlsZV9vcHMuYwppbmRleCBiNDcyYjE1Li4zNWYzMDFjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvaXBhdGgvaXBhdGhfZmlsZV9vcHMuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvaXBhdGgvaXBhdGhfZmlsZV9vcHMuYwpAQCAtMzksNiArMzksNyBAQAogI2luY2x1ZGUgPGxpbnV4L2hpZ2htZW0uaD4KICNpbmNsdWRlIDxsaW51eC9pby5oPgogI2luY2x1ZGUgPGxpbnV4L2ppZmZpZXMuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGFzbS9wZ3RhYmxlLmg+CiAKICNpbmNsdWRlICJpcGF0aF9rZXJuZWwuaCIKQEAgLTE4MTUsNiArMTgxNiw3IEBACiBzdGF0aWMgaW50IGlwYXRoX29wZW4oc3RydWN0IGlub2RlICppbiwgc3RydWN0IGZpbGUgKmZwKQogewogCS8qIFRoZSByZWFsIHdvcmsgaXMgcGVyZm9ybWVkIGxhdGVyIGluIGlwYXRoX2Fzc2lnbl9wb3J0KCkgKi8KKwljeWNsZV9rZXJuZWxfbG9jaygpOwogCWZwLT5wcml2YXRlX2RhdGEgPSBremFsbG9jKHNpemVvZihzdHJ1Y3QgaXBhdGhfZmlsZWRhdGEpLCBHRlBfS0VSTkVMKTsKIAlyZXR1cm4gZnAtPnByaXZhdGVfZGF0YSA/IDAgOiAtRU5PTUVNOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L2lwYXRoL2lwYXRoX2liYTcyMjAuYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9pcGF0aC9pcGF0aF9pYmE3MjIwLmMKaW5kZXggOGVlZTc4My4uZmI3MDcxMiAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L2lwYXRoL2lwYXRoX2liYTcyMjAuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvaXBhdGgvaXBhdGhfaWJhNzIyMC5jCkBAIC0yMjI4LDggKzIyMjgsOCBAQAogCQkweGZmZmZmZmZmLCAweDAsIDB4MCwgMHgwLCAweDAsIDB4MCwgMHgwLCAweDAsCiAJCTB4NDAwMDAwMDEsIDB4MTM4OCwgMHgxNWUsIC8qIHJlc3QgMCdzICovCiAJCX07Ci0JZGNudCA9IHNpemVvZihtYWRwYXlsb2FkX3N0YXJ0KS9zaXplb2YobWFkcGF5bG9hZF9zdGFydFswXSk7Ci0JaGNudCA9IHNpemVvZihoZHIpL3NpemVvZihoZHJbMF0pOworCWRjbnQgPSBBUlJBWV9TSVpFKG1hZHBheWxvYWRfc3RhcnQpOworCWhjbnQgPSBBUlJBWV9TSVpFKGhkcik7CiAJaWYgKCFzd2FwcGVkKSB7CiAJCS8qIGZvciBtYWludGFpbmFiaWxpdHksIGRvIGl0IGF0IHJ1bnRpbWUgKi8KIAkJZm9yIChpID0gMDsgaSA8IGhjbnQ7IGkrKykgewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L2lwYXRoL2lwYXRoX21hZC5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L2lwYXRoL2lwYXRoX21hZC5jCmluZGV4IDVmOTMxNWQuLmJlNGZjOWEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9pcGF0aC9pcGF0aF9tYWQuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvaXBhdGgvaXBhdGhfbWFkLmMKQEAgLTExMSw5ICsxMTEsOSBAQAogCW5pcC0+cmV2aXNpb24gPSBjcHVfdG9fYmUzMigobWFqcmV2IDw8IDE2KSB8IG1pbnJldik7CiAJbmlwLT5sb2NhbF9wb3J0X251bSA9IHBvcnQ7CiAJdmVuZG9yID0gZGQtPmlwYXRoX3ZlbmRvcmlkOwotCW5pcC0+dmVuZG9yX2lkWzBdID0gMDsKLQluaXAtPnZlbmRvcl9pZFsxXSA9IHZlbmRvciA+PiA4OwotCW5pcC0+dmVuZG9yX2lkWzJdID0gdmVuZG9yOworCW5pcC0+dmVuZG9yX2lkWzBdID0gSVBBVEhfU1JDX09VSV8xOworCW5pcC0+dmVuZG9yX2lkWzFdID0gSVBBVEhfU1JDX09VSV8yOworCW5pcC0+dmVuZG9yX2lkWzJdID0gSVBBVEhfU1JDX09VSV8zOwogCiAJcmV0dXJuIHJlcGx5KHNtcCk7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvaXBhdGgvaXBhdGhfcmMuYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9pcGF0aC9pcGF0aF9yYy5jCmluZGV4IDEwOGRmNjYuLjk3NzEwNTIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9pcGF0aC9pcGF0aF9yYy5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9pcGF0aC9pcGF0aF9yYy5jCkBAIC0xNzAzLDExICsxNzAzLDExIEBACiAJY2FzZSBPUChTRU5EX0xBU1RfV0lUSF9JTU1FRElBVEUpOgogCXNlbmRfbGFzdF9pbW06CiAJCWlmIChoZWFkZXJfaW5fZGF0YSkgewotCQkJd2MuaW1tX2RhdGEgPSAqKF9fYmUzMiAqKSBkYXRhOworCQkJd2MuZXguaW1tX2RhdGEgPSAqKF9fYmUzMiAqKSBkYXRhOwogCQkJZGF0YSArPSBzaXplb2YoX19iZTMyKTsKIAkJfSBlbHNlIHsKIAkJCS8qIEltbWVkaWF0ZSBkYXRhIGNvbWVzIGFmdGVyIEJUSCAqLwotCQkJd2MuaW1tX2RhdGEgPSBvaGRyLT51LmltbV9kYXRhOworCQkJd2MuZXguaW1tX2RhdGEgPSBvaGRyLT51LmltbV9kYXRhOwogCQl9CiAJCWhkcnNpemUgKz0gNDsKIAkJd2Mud2NfZmxhZ3MgPSBJQl9XQ19XSVRIX0lNTTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9pcGF0aC9pcGF0aF9ydWMuYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9pcGF0aC9pcGF0aF9ydWMuYwppbmRleCBhNGI1NTIxLi5hZjA1MWY3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvaXBhdGgvaXBhdGhfcnVjLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L2lwYXRoL2lwYXRoX3J1Yy5jCkBAIC0zMzEsNyArMzMxLDcgQEAKIAlzd2l0Y2ggKHdxZS0+d3Iub3Bjb2RlKSB7CiAJY2FzZSBJQl9XUl9TRU5EX1dJVEhfSU1NOgogCQl3Yy53Y19mbGFncyA9IElCX1dDX1dJVEhfSU1NOwotCQl3Yy5pbW1fZGF0YSA9IHdxZS0+d3IuZXguaW1tX2RhdGE7CisJCXdjLmV4LmltbV9kYXRhID0gd3FlLT53ci5leC5pbW1fZGF0YTsKIAkJLyogRkFMTFRIUk9VR0ggKi8KIAljYXNlIElCX1dSX1NFTkQ6CiAJCWlmICghaXBhdGhfZ2V0X3J3cWUocXAsIDApKQpAQCAtMzQyLDcgKzM0Miw3IEBACiAJCWlmICh1bmxpa2VseSghKHFwLT5xcF9hY2Nlc3NfZmxhZ3MgJiBJQl9BQ0NFU1NfUkVNT1RFX1dSSVRFKSkpCiAJCQlnb3RvIGludl9lcnI7CiAJCXdjLndjX2ZsYWdzID0gSUJfV0NfV0lUSF9JTU07Ci0JCXdjLmltbV9kYXRhID0gd3FlLT53ci5leC5pbW1fZGF0YTsKKwkJd2MuZXguaW1tX2RhdGEgPSB3cWUtPndyLmV4LmltbV9kYXRhOwogCQlpZiAoIWlwYXRoX2dldF9yd3FlKHFwLCAxKSkKIAkJCWdvdG8gcm5yX25hazsKIAkJLyogRkFMTFRIUk9VR0ggKi8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9pcGF0aC9pcGF0aF91Yy5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L2lwYXRoL2lwYXRoX3VjLmMKaW5kZXggMDU5NmVjMS4uODJjYzU4OCAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L2lwYXRoL2lwYXRoX3VjLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L2lwYXRoL2lwYXRoX3VjLmMKQEAgLTM3OSwxMSArMzc5LDExIEBACiAJY2FzZSBPUChTRU5EX0xBU1RfV0lUSF9JTU1FRElBVEUpOgogCXNlbmRfbGFzdF9pbW06CiAJCWlmIChoZWFkZXJfaW5fZGF0YSkgewotCQkJd2MuaW1tX2RhdGEgPSAqKF9fYmUzMiAqKSBkYXRhOworCQkJd2MuZXguaW1tX2RhdGEgPSAqKF9fYmUzMiAqKSBkYXRhOwogCQkJZGF0YSArPSBzaXplb2YoX19iZTMyKTsKIAkJfSBlbHNlIHsKIAkJCS8qIEltbWVkaWF0ZSBkYXRhIGNvbWVzIGFmdGVyIEJUSCAqLwotCQkJd2MuaW1tX2RhdGEgPSBvaGRyLT51LmltbV9kYXRhOworCQkJd2MuZXguaW1tX2RhdGEgPSBvaGRyLT51LmltbV9kYXRhOwogCQl9CiAJCWhkcnNpemUgKz0gNDsKIAkJd2Mud2NfZmxhZ3MgPSBJQl9XQ19XSVRIX0lNTTsKQEAgLTQ4MywxMSArNDgzLDExIEBACiAJY2FzZSBPUChSRE1BX1dSSVRFX0xBU1RfV0lUSF9JTU1FRElBVEUpOgogCXJkbWFfbGFzdF9pbW06CiAJCWlmIChoZWFkZXJfaW5fZGF0YSkgewotCQkJd2MuaW1tX2RhdGEgPSAqKF9fYmUzMiAqKSBkYXRhOworCQkJd2MuZXguaW1tX2RhdGEgPSAqKF9fYmUzMiAqKSBkYXRhOwogCQkJZGF0YSArPSBzaXplb2YoX19iZTMyKTsKIAkJfSBlbHNlIHsKIAkJCS8qIEltbWVkaWF0ZSBkYXRhIGNvbWVzIGFmdGVyIEJUSCAqLwotCQkJd2MuaW1tX2RhdGEgPSBvaGRyLT51LmltbV9kYXRhOworCQkJd2MuZXguaW1tX2RhdGEgPSBvaGRyLT51LmltbV9kYXRhOwogCQl9CiAJCWhkcnNpemUgKz0gNDsKIAkJd2Mud2NfZmxhZ3MgPSBJQl9XQ19XSVRIX0lNTTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9pcGF0aC9pcGF0aF91ZC5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L2lwYXRoL2lwYXRoX3VkLmMKaW5kZXggNzdjYThjYS4uMzZhYTI0MiAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L2lwYXRoL2lwYXRoX3VkLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L2lwYXRoL2lwYXRoX3VkLmMKQEAgLTk2LDcgKzk2LDcgQEAKIAogCWlmIChzd3FlLT53ci5vcGNvZGUgPT0gSUJfV1JfU0VORF9XSVRIX0lNTSkgewogCQl3Yy53Y19mbGFncyA9IElCX1dDX1dJVEhfSU1NOwotCQl3Yy5pbW1fZGF0YSA9IHN3cWUtPndyLmV4LmltbV9kYXRhOworCQl3Yy5leC5pbW1fZGF0YSA9IHN3cWUtPndyLmV4LmltbV9kYXRhOwogCX0KIAogCS8qCkBAIC00OTIsMTQgKzQ5MiwxNCBAQAogCWlmIChxcC0+aWJxcC5xcF9udW0gPiAxICYmCiAJICAgIG9wY29kZSA9PSBJQl9PUENPREVfVURfU0VORF9PTkxZX1dJVEhfSU1NRURJQVRFKSB7CiAJCWlmIChoZWFkZXJfaW5fZGF0YSkgewotCQkJd2MuaW1tX2RhdGEgPSAqKF9fYmUzMiAqKSBkYXRhOworCQkJd2MuZXguaW1tX2RhdGEgPSAqKF9fYmUzMiAqKSBkYXRhOwogCQkJZGF0YSArPSBzaXplb2YoX19iZTMyKTsKIAkJfSBlbHNlCi0JCQl3Yy5pbW1fZGF0YSA9IG9oZHItPnUudWQuaW1tX2RhdGE7CisJCQl3Yy5leC5pbW1fZGF0YSA9IG9oZHItPnUudWQuaW1tX2RhdGE7CiAJCXdjLndjX2ZsYWdzID0gSUJfV0NfV0lUSF9JTU07CiAJCWhkcnNpemUgKz0gc2l6ZW9mKHUzMik7CiAJfSBlbHNlIGlmIChvcGNvZGUgPT0gSUJfT1BDT0RFX1VEX1NFTkRfT05MWSkgewotCQl3Yy5pbW1fZGF0YSA9IDA7CisJCXdjLmV4LmltbV9kYXRhID0gMDsKIAkJd2Mud2NfZmxhZ3MgPSAwOwogCX0gZWxzZSB7CiAJCWRldi0+bl9wa3RfZHJvcHMrKzsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9pcGF0aC9pcGF0aF92ZXJicy5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L2lwYXRoL2lwYXRoX3ZlcmJzLmMKaW5kZXggNzc3OTE2NS4uOWUyM2FiMCAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L2lwYXRoL2lwYXRoX3ZlcmJzLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L2lwYXRoL2lwYXRoX3ZlcmJzLmMKQEAgLTE0OTcsNyArMTQ5Nyw4IEBACiAJCUlCX0RFVklDRV9TWVNfSU1BR0VfR1VJRCB8IElCX0RFVklDRV9SQ19STlJfTkFLX0dFTiB8CiAJCUlCX0RFVklDRV9QT1JUX0FDVElWRV9FVkVOVCB8IElCX0RFVklDRV9TUlFfUkVTSVpFOwogCXByb3BzLT5wYWdlX3NpemVfY2FwID0gUEFHRV9TSVpFOwotCXByb3BzLT52ZW5kb3JfaWQgPSBkZXYtPmRkLT5pcGF0aF92ZW5kb3JpZDsKKwlwcm9wcy0+dmVuZG9yX2lkID0KKwkJSVBBVEhfU1JDX09VSV8xIDw8IDE2IHwgSVBBVEhfU1JDX09VSV8yIDw8IDggfCBJUEFUSF9TUkNfT1VJXzM7CiAJcHJvcHMtPnZlbmRvcl9wYXJ0X2lkID0gZGV2LT5kZC0+aXBhdGhfZGV2aWNlaWQ7CiAJcHJvcHMtPmh3X3ZlciA9IGRldi0+ZGQtPmlwYXRoX3BjaXJldjsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L21seDQvY3EuYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tbHg0L2NxLmMKaW5kZXggNDUyMTMxOS4uMjk5ZjIwOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L21seDQvY3EuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbWx4NC9jcS5jCkBAIC02NjMsMTggKzY2MywxOCBAQAogCiAJCXN3aXRjaCAoY3FlLT5vd25lcl9zcl9vcGNvZGUgJiBNTFg0X0NRRV9PUENPREVfTUFTSykgewogCQljYXNlIE1MWDRfUkVDVl9PUENPREVfUkRNQV9XUklURV9JTU06Ci0JCQl3Yy0+b3Bjb2RlICAgPSBJQl9XQ19SRUNWX1JETUFfV0lUSF9JTU07Ci0JCQl3Yy0+d2NfZmxhZ3MgPSBJQl9XQ19XSVRIX0lNTTsKLQkJCXdjLT5pbW1fZGF0YSA9IGNxZS0+aW1tZWRfcnNzX2ludmFsaWQ7CisJCQl3Yy0+b3Bjb2RlCT0gSUJfV0NfUkVDVl9SRE1BX1dJVEhfSU1NOworCQkJd2MtPndjX2ZsYWdzCT0gSUJfV0NfV0lUSF9JTU07CisJCQl3Yy0+ZXguaW1tX2RhdGEgPSBjcWUtPmltbWVkX3Jzc19pbnZhbGlkOwogCQkJYnJlYWs7CiAJCWNhc2UgTUxYNF9SRUNWX09QQ09ERV9TRU5EOgogCQkJd2MtPm9wY29kZSAgID0gSUJfV0NfUkVDVjsKIAkJCXdjLT53Y19mbGFncyA9IDA7CiAJCQlicmVhazsKIAkJY2FzZSBNTFg0X1JFQ1ZfT1BDT0RFX1NFTkRfSU1NOgotCQkJd2MtPm9wY29kZSAgID0gSUJfV0NfUkVDVjsKLQkJCXdjLT53Y19mbGFncyA9IElCX1dDX1dJVEhfSU1NOwotCQkJd2MtPmltbV9kYXRhID0gY3FlLT5pbW1lZF9yc3NfaW52YWxpZDsKKwkJCXdjLT5vcGNvZGUJPSBJQl9XQ19SRUNWOworCQkJd2MtPndjX2ZsYWdzCT0gSUJfV0NfV0lUSF9JTU07CisJCQl3Yy0+ZXguaW1tX2RhdGEgPSBjcWUtPmltbWVkX3Jzc19pbnZhbGlkOwogCQkJYnJlYWs7CiAJCX0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L21seDQvbWFkLmMgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbWx4NC9tYWQuYwppbmRleCA0YzFlNzJmLi5jZGNhM2E1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbWx4NC9tYWQuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbWx4NC9tYWQuYwpAQCAtMjU1LDcgKzI1NSw4IEBACiAJCQlyZXR1cm4gSUJfTUFEX1JFU1VMVF9TVUNDRVNTOwogCX0gZWxzZSBpZiAoaW5fbWFkLT5tYWRfaGRyLm1nbXRfY2xhc3MgPT0gSUJfTUdNVF9DTEFTU19QRVJGX01HTVQgfHwKIAkJICAgaW5fbWFkLT5tYWRfaGRyLm1nbXRfY2xhc3MgPT0gTUxYNF9JQl9WRU5ET1JfQ0xBU1MxICAgfHwKLQkJICAgaW5fbWFkLT5tYWRfaGRyLm1nbXRfY2xhc3MgPT0gTUxYNF9JQl9WRU5ET1JfQ0xBU1MyKSB7CisJCSAgIGluX21hZC0+bWFkX2hkci5tZ210X2NsYXNzID09IE1MWDRfSUJfVkVORE9SX0NMQVNTMiAgIHx8CisJCSAgIGluX21hZC0+bWFkX2hkci5tZ210X2NsYXNzID09IElCX01HTVRfQ0xBU1NfQ09OR19NR01UKSB7CiAJCWlmIChpbl9tYWQtPm1hZF9oZHIubWV0aG9kICAhPSBJQl9NR01UX01FVEhPRF9HRVQgJiYKIAkJICAgIGluX21hZC0+bWFkX2hkci5tZXRob2QgICE9IElCX01HTVRfTUVUSE9EX1NFVCkKIAkJCXJldHVybiBJQl9NQURfUkVTVUxUX1NVQ0NFU1M7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbWx4NC9tYWluLmMgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbWx4NC9tYWluLmMKaW5kZXggNGQ2MWUzMi4uYmNmNTA2NCAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L21seDQvbWFpbi5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tbHg0L21haW4uYwpAQCAtOTAsNyArOTAsOCBAQAogCXByb3BzLT5kZXZpY2VfY2FwX2ZsYWdzICAgID0gSUJfREVWSUNFX0NIQU5HRV9QSFlfUE9SVCB8CiAJCUlCX0RFVklDRV9QT1JUX0FDVElWRV9FVkVOVAkJfAogCQlJQl9ERVZJQ0VfU1lTX0lNQUdFX0dVSUQJCXwKLQkJSUJfREVWSUNFX1JDX1JOUl9OQUtfR0VOOworCQlJQl9ERVZJQ0VfUkNfUk5SX05BS19HRU4JCXwKKwkJSUJfREVWSUNFX0JMT0NLX01VTFRJQ0FTVF9MT09QQkFDSzsKIAlpZiAoZGV2LT5kZXYtPmNhcHMuZmxhZ3MgJiBNTFg0X0RFVl9DQVBfRkxBR19CQURfUEtFWV9DTlRSKQogCQlwcm9wcy0+ZGV2aWNlX2NhcF9mbGFncyB8PSBJQl9ERVZJQ0VfQkFEX1BLRVlfQ05UUjsKIAlpZiAoZGV2LT5kZXYtPmNhcHMuZmxhZ3MgJiBNTFg0X0RFVl9DQVBfRkxBR19CQURfUUtFWV9DTlRSKQpAQCAtNDM3LDcgKzQzOCw5IEBACiBzdGF0aWMgaW50IG1seDRfaWJfbWNnX2F0dGFjaChzdHJ1Y3QgaWJfcXAgKmlicXAsIHVuaW9uIGliX2dpZCAqZ2lkLCB1MTYgbGlkKQogewogCXJldHVybiBtbHg0X211bHRpY2FzdF9hdHRhY2godG9fbWRldihpYnFwLT5kZXZpY2UpLT5kZXYsCi0JCQkJICAgICAmdG9fbXFwKGlicXApLT5tcXAsIGdpZC0+cmF3KTsKKwkJCQkgICAgICZ0b19tcXAoaWJxcCktPm1xcCwgZ2lkLT5yYXcsCisJCQkJICAgICAhISh0b19tcXAoaWJxcCktPmZsYWdzICYKKwkJCQkJTUxYNF9JQl9RUF9CTE9DS19NVUxUSUNBU1RfTE9PUEJBQ0spKTsKIH0KIAogc3RhdGljIGludCBtbHg0X2liX21jZ19kZXRhY2goc3RydWN0IGliX3FwICppYnFwLCB1bmlvbiBpYl9naWQgKmdpZCwgdTE2IGxpZCkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tbHg0L21seDRfaWIuaCBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tbHg0L21seDRfaWIuaAppbmRleCA1Y2Y5OTQ3Li5jNGNmNWI2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbWx4NC9tbHg0X2liLmgKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L21seDQvbWx4NF9pYi5oCkBAIC0xMDEsNyArMTAxLDggQEAKIH07CiAKIGVudW0gbWx4NF9pYl9xcF9mbGFncyB7Ci0JTUxYNF9JQl9RUF9MU08JCT0gMSA8PCAwCisJTUxYNF9JQl9RUF9MU08JCQkJPSAxIDw8IDAsCisJTUxYNF9JQl9RUF9CTE9DS19NVUxUSUNBU1RfTE9PUEJBQ0sJPSAxIDw8IDEsCiB9OwogCiBzdHJ1Y3QgbWx4NF9pYl9xcCB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbWx4NC9xcC5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L21seDQvcXAuYwppbmRleCBhODBkZjIyLi44OWViNmNiIDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbWx4NC9xcC5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tbHg0L3FwLmMKQEAgLTEyOSw5ICsxMjksMTAgQEAKIAlpbnQgaW5kOwogCXZvaWQgKmJ1ZjsKIAlfX2JlMzIgc3RhbXA7CisJc3RydWN0IG1seDRfd3FlX2N0cmxfc2VnICpjdHJsOwogCi0JcyA9IHJvdW5kdXAoc2l6ZSwgMVUgPDwgcXAtPnNxLndxZV9zaGlmdCk7CiAJaWYgKHFwLT5zcV9tYXhfd3Flc19wZXJfd3IgPiAxKSB7CisJCXMgPSByb3VuZHVwKHNpemUsIDFVIDw8IHFwLT5zcS53cWVfc2hpZnQpOwogCQlmb3IgKGkgPSAwOyBpIDwgczsgaSArPSA2NCkgewogCQkJaW5kID0gKGkgPj4gcXAtPnNxLndxZV9zaGlmdCkgKyBuOwogCQkJc3RhbXAgPSBpbmQgJiBxcC0+c3Eud3FlX2NudCA/IGNwdV90b19iZTMyKDB4N2ZmZmZmZmYpIDoKQEAgLTE0MSw3ICsxNDIsOCBAQAogCQkJKndxZSA9IHN0YW1wOwogCQl9CiAJfSBlbHNlIHsKLQkJYnVmID0gZ2V0X3NlbmRfd3FlKHFwLCBuICYgKHFwLT5zcS53cWVfY250IC0gMSkpOworCQljdHJsID0gYnVmID0gZ2V0X3NlbmRfd3FlKHFwLCBuICYgKHFwLT5zcS53cWVfY250IC0gMSkpOworCQlzID0gKGN0cmwtPmZlbmNlX3NpemUgJiAweDNmKSA8PCA0OwogCQlmb3IgKGkgPSA2NDsgaSA8IHM7IGkgKz0gNjQpIHsKIAkJCXdxZSA9IGJ1ZiArIGk7CiAJCQkqd3FlID0gY3B1X3RvX2JlMzIoMHhmZmZmZmZmZik7CkBAIC00NTIsMTkgKzQ1NCw4IEBACiAJc3Bpbl9sb2NrX2luaXQoJnFwLT5ycS5sb2NrKTsKIAogCXFwLT5zdGF0ZQkgPSBJQl9RUFNfUkVTRVQ7Ci0JcXAtPmF0b21pY19yZF9lbiA9IDA7Ci0JcXAtPnJlc3BfZGVwdGggICA9IDA7Ci0KLQlxcC0+cnEuaGVhZAkgICAgPSAwOwotCXFwLT5ycS50YWlsCSAgICA9IDA7Ci0JcXAtPnNxLmhlYWQJICAgID0gMDsKLQlxcC0+c3EudGFpbAkgICAgPSAwOwotCXFwLT5zcV9uZXh0X3dxZSAgICAgPSAwOwotCiAJaWYgKGluaXRfYXR0ci0+c3Ffc2lnX3R5cGUgPT0gSUJfU0lHTkFMX0FMTF9XUikKIAkJcXAtPnNxX3NpZ25hbF9iaXRzID0gY3B1X3RvX2JlMzIoTUxYNF9XUUVfQ1RSTF9DUV9VUERBVEUpOwotCWVsc2UKLQkJcXAtPnNxX3NpZ25hbF9iaXRzID0gMDsKIAogCWVyciA9IHNldF9ycV9zaXplKGRldiwgJmluaXRfYXR0ci0+Y2FwLCAhIXBkLT51b2JqZWN0LCAhIWluaXRfYXR0ci0+c3JxLCBxcCk7CiAJaWYgKGVycikKQEAgLTUwOSw2ICs1MDAsOSBAQAogCX0gZWxzZSB7CiAJCXFwLT5zcV9ub19wcmVmZXRjaCA9IDA7CiAKKwkJaWYgKGluaXRfYXR0ci0+Y3JlYXRlX2ZsYWdzICYgSUJfUVBfQ1JFQVRFX0JMT0NLX01VTFRJQ0FTVF9MT09QQkFDSykKKwkJCXFwLT5mbGFncyB8PSBNTFg0X0lCX1FQX0JMT0NLX01VTFRJQ0FTVF9MT09QQkFDSzsKKwogCQlpZiAoaW5pdF9hdHRyLT5jcmVhdGVfZmxhZ3MgJiBJQl9RUF9DUkVBVEVfSVBPSUJfVURfTFNPKQogCQkJcXAtPmZsYWdzIHw9IE1MWDRfSUJfUVBfTFNPOwogCkBAIC02ODIsMTAgKzY3NiwxNSBAQAogCXN0cnVjdCBtbHg0X2liX3FwICpxcDsKIAlpbnQgZXJyOwogCi0JLyogV2Ugb25seSBzdXBwb3J0IExTTywgYW5kIG9ubHkgZm9yIGtlcm5lbCBVRCBRUHMuICovCi0JaWYgKGluaXRfYXR0ci0+Y3JlYXRlX2ZsYWdzICYgfklCX1FQX0NSRUFURV9JUE9JQl9VRF9MU08pCisJLyoKKwkgKiBXZSBvbmx5IHN1cHBvcnQgTFNPIGFuZCBtdWx0aWNhc3QgbG9vcGJhY2sgYmxvY2tpbmcsIGFuZAorCSAqIG9ubHkgZm9yIGtlcm5lbCBVRCBRUHMuCisJICovCisJaWYgKGluaXRfYXR0ci0+Y3JlYXRlX2ZsYWdzICYgfihJQl9RUF9DUkVBVEVfSVBPSUJfVURfTFNPIHwKKwkJCQkJSUJfUVBfQ1JFQVRFX0JMT0NLX01VTFRJQ0FTVF9MT09QQkFDSykpCiAJCXJldHVybiBFUlJfUFRSKC1FSU5WQUwpOwotCWlmIChpbml0X2F0dHItPmNyZWF0ZV9mbGFncyAmIElCX1FQX0NSRUFURV9JUE9JQl9VRF9MU08gJiYKKworCWlmIChpbml0X2F0dHItPmNyZWF0ZV9mbGFncyAmJgogCSAgICAocGQtPnVvYmplY3QgfHwgaW5pdF9hdHRyLT5xcF90eXBlICE9IElCX1FQVF9VRCkpCiAJCXJldHVybiBFUlJfUFRSKC1FSU5WQUwpOwogCkBAIC02OTQsNyArNjkzLDcgQEAKIAljYXNlIElCX1FQVF9VQzoKIAljYXNlIElCX1FQVF9VRDoKIAl7Ci0JCXFwID0ga21hbGxvYyhzaXplb2YgKnFwLCBHRlBfS0VSTkVMKTsKKwkJcXAgPSBremFsbG9jKHNpemVvZiAqcXAsIEdGUF9LRVJORUwpOwogCQlpZiAoIXFwKQogCQkJcmV0dXJuIEVSUl9QVFIoLUVOT01FTSk7CiAKQEAgLTcxNSw3ICs3MTQsNyBAQAogCQlpZiAocGQtPnVvYmplY3QpCiAJCQlyZXR1cm4gRVJSX1BUUigtRUlOVkFMKTsKIAotCQlzcXAgPSBrbWFsbG9jKHNpemVvZiAqc3FwLCBHRlBfS0VSTkVMKTsKKwkJc3FwID0ga3phbGxvYyhzaXplb2YgKnNxcCwgR0ZQX0tFUk5FTCk7CiAJCWlmICghc3FwKQogCQkJcmV0dXJuIEVSUl9QVFIoLUVOT01FTSk7CiAKQEAgLTkwNiw3ICs5MDUsOCBAQAogCQkJICAgICAgIGF0dHItPnBhdGhfbXR1KTsKIAkJCWdvdG8gb3V0OwogCQl9Ci0JCWNvbnRleHQtPm10dV9tc2dtYXggPSAoYXR0ci0+cGF0aF9tdHUgPDwgNSkgfCAzMTsKKwkJY29udGV4dC0+bXR1X21zZ21heCA9IChhdHRyLT5wYXRoX210dSA8PCA1KSB8CisJCQlpbG9nMihkZXYtPmRldi0+Y2Fwcy5tYXhfbXNnX3N6KTsKIAl9CiAKIAlpZiAocXAtPnJxLndxZV9jbnQpCkBAIC0xMDYzLDYgKzEwNjMsOCBAQAogCQlmb3IgKGkgPSAwOyBpIDwgcXAtPnNxLndxZV9jbnQ7ICsraSkgewogCQkJY3RybCA9IGdldF9zZW5kX3dxZShxcCwgaSk7CiAJCQljdHJsLT5vd25lcl9vcGNvZGUgPSBjcHVfdG9fYmUzMigxIDw8IDMxKTsKKwkJCWlmIChxcC0+c3FfbWF4X3dxZXNfcGVyX3dyID09IDEpCisJCQkJY3RybC0+ZmVuY2Vfc2l6ZSA9IDEgPDwgKHFwLT5zcS53cWVfc2hpZnQgLSA0KTsKIAogCQkJc3RhbXBfc2VuZF93cWUocXAsIGksIDEgPDwgcXAtPnNxLndxZV9zaGlmdCk7CiAJCX0KQEAgLTExMjcsMjMgKzExMjksNiBAQAogCXJldHVybiBlcnI7CiB9CiAKLXN0YXRpYyBjb25zdCBzdHJ1Y3QgaWJfcXBfYXR0ciBtbHg0X2liX3FwX2F0dHIgPSB7IC5wb3J0X251bSA9IDEgfTsKLXN0YXRpYyBjb25zdCBpbnQgbWx4NF9pYl9xcF9hdHRyX21hc2tfdGFibGVbSUJfUVBUX1VEICsgMV0gPSB7Ci0JCVtJQl9RUFRfVURdICA9IChJQl9RUF9QS0VZX0lOREVYCQl8Ci0JCQkJSUJfUVBfUE9SVAkJCXwKLQkJCQlJQl9RUF9RS0VZKSwKLQkJW0lCX1FQVF9VQ10gID0gKElCX1FQX1BLRVlfSU5ERVgJCXwKLQkJCQlJQl9RUF9QT1JUCQkJfAotCQkJCUlCX1FQX0FDQ0VTU19GTEFHUyksCi0JCVtJQl9RUFRfUkNdICA9IChJQl9RUF9QS0VZX0lOREVYCQl8Ci0JCQkJSUJfUVBfUE9SVAkJCXwKLQkJCQlJQl9RUF9BQ0NFU1NfRkxBR1MpLAotCQlbSUJfUVBUX1NNSV0gPSAoSUJfUVBfUEtFWV9JTkRFWAkJfAotCQkJCUlCX1FQX1FLRVkpLAotCQlbSUJfUVBUX0dTSV0gPSAoSUJfUVBfUEtFWV9JTkRFWAkJfAotCQkJCUlCX1FQX1FLRVkpLAotfTsKLQogaW50IG1seDRfaWJfbW9kaWZ5X3FwKHN0cnVjdCBpYl9xcCAqaWJxcCwgc3RydWN0IGliX3FwX2F0dHIgKmF0dHIsCiAJCSAgICAgIGludCBhdHRyX21hc2ssIHN0cnVjdCBpYl91ZGF0YSAqdWRhdGEpCiB7CkBAIC0xMTg2LDE1ICsxMTcxLDYgQEAKIAkJZ290byBvdXQ7CiAJfQogCi0JaWYgKGN1cl9zdGF0ZSA9PSBJQl9RUFNfUkVTRVQgJiYgbmV3X3N0YXRlID09IElCX1FQU19FUlIpIHsKLQkJZXJyID0gX19tbHg0X2liX21vZGlmeV9xcChpYnFwLCAmbWx4NF9pYl9xcF9hdHRyLAotCQkJCQkgIG1seDRfaWJfcXBfYXR0cl9tYXNrX3RhYmxlW2licXAtPnFwX3R5cGVdLAotCQkJCQkgIElCX1FQU19SRVNFVCwgSUJfUVBTX0lOSVQpOwotCQlpZiAoZXJyKQotCQkJZ290byBvdXQ7Ci0JCWN1cl9zdGF0ZSA9IElCX1FQU19JTklUOwotCX0KLQogCWVyciA9IF9fbWx4NF9pYl9tb2RpZnlfcXAoaWJxcCwgYXR0ciwgYXR0cl9tYXNrLCBjdXJfc3RhdGUsIG5ld19zdGF0ZSk7CiAKIG91dDoKQEAgLTE4NjUsNiArMTg0MSwxMyBAQAogCiAJcXBfaW5pdF9hdHRyLT5jYXAJICAgICA9IHFwX2F0dHItPmNhcDsKIAorCXFwX2luaXRfYXR0ci0+Y3JlYXRlX2ZsYWdzID0gMDsKKwlpZiAocXAtPmZsYWdzICYgTUxYNF9JQl9RUF9CTE9DS19NVUxUSUNBU1RfTE9PUEJBQ0spCisJCXFwX2luaXRfYXR0ci0+Y3JlYXRlX2ZsYWdzIHw9IElCX1FQX0NSRUFURV9CTE9DS19NVUxUSUNBU1RfTE9PUEJBQ0s7CisKKwlpZiAocXAtPmZsYWdzICYgTUxYNF9JQl9RUF9MU08pCisJCXFwX2luaXRfYXR0ci0+Y3JlYXRlX2ZsYWdzIHw9IElCX1FQX0NSRUFURV9JUE9JQl9VRF9MU087CisKIG91dDoKIAltdXRleF91bmxvY2soJnFwLT5tdXRleCk7CiAJcmV0dXJuIGVycjsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9hbGxvY2F0b3IuYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9hbGxvY2F0b3IuYwppbmRleCBhNzYzMDY3Li5jNWNjYzJkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfYWxsb2NhdG9yLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX2FsbG9jYXRvci5jCkBAIC0yOCw4ICsyOCw2IEBACiAgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgogICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogICogU09GVFdBUkUuCi0gKgotICogJElkOiBtdGhjYV9hbGxvY2F0b3IuYyAxMzQ5IDIwMDQtMTItMTYgMjE6MDk6NDNaIHJvbGFuZCAkCiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfYXYuYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9hdi5jCmluZGV4IDRiMTExYTguLjMyZjZjNjMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9hdi5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9hdi5jCkBAIC0yOSw4ICsyOSw2IEBACiAgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgogICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogICogU09GVFdBUkUuCi0gKgotICogJElkOiBtdGhjYV9hdi5jIDEzNDkgMjAwNC0xMi0xNiAyMTowOTo0M1ogcm9sYW5kICQKICAqLwogCiAjaW5jbHVkZSA8bGludXgvc3RyaW5nLmg+CmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfY2F0YXMuYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9jYXRhcy5jCmluZGV4IGU5NDgxNTguLmNjNDQwZjkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9jYXRhcy5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9jYXRhcy5jCkBAIC0yOCw4ICsyOCw2IEBACiAgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgogICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogICogU09GVFdBUkUuCi0gKgotICogJElkJAogICovCiAKICNpbmNsdWRlIDxsaW51eC9qaWZmaWVzLmg+CkBAIC0xMjgsNyArMTI2LDYgQEAKIHN0YXRpYyB2b2lkIHBvbGxfY2F0YXModW5zaWduZWQgbG9uZyBkZXZfcHRyKQogewogCXN0cnVjdCBtdGhjYV9kZXYgKmRldiA9IChzdHJ1Y3QgbXRoY2FfZGV2ICopIGRldl9wdHI7Ci0JdW5zaWduZWQgbG9uZyBmbGFnczsKIAlpbnQgaTsKIAogCWZvciAoaSA9IDA7IGkgPCBkZXYtPmNhdGFzX2Vyci5zaXplOyArK2kpCkBAIC0xMzcsMTMgKzEzNCw4IEBACiAJCQlyZXR1cm47CiAJCX0KIAotCXNwaW5fbG9ja19pcnFzYXZlKCZjYXRhc19sb2NrLCBmbGFncyk7Ci0JaWYgKCFkZXYtPmNhdGFzX2Vyci5zdG9wKQotCQltb2RfdGltZXIoJmRldi0+Y2F0YXNfZXJyLnRpbWVyLAotCQkJICBqaWZmaWVzICsgTVRIQ0FfQ0FUQVNfUE9MTF9JTlRFUlZBTCk7Ci0Jc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmY2F0YXNfbG9jaywgZmxhZ3MpOwotCi0JcmV0dXJuOworCW1vZF90aW1lcigmZGV2LT5jYXRhc19lcnIudGltZXIsCisJCSAgcm91bmRfamlmZmllcyhqaWZmaWVzICsgTVRIQ0FfQ0FUQVNfUE9MTF9JTlRFUlZBTCkpOwogfQogCiB2b2lkIG10aGNhX3N0YXJ0X2NhdGFzX3BvbGwoc3RydWN0IG10aGNhX2RldiAqZGV2KQpAQCAtMTUxLDcgKzE0Myw2IEBACiAJdW5zaWduZWQgbG9uZyBhZGRyOwogCiAJaW5pdF90aW1lcigmZGV2LT5jYXRhc19lcnIudGltZXIpOwotCWRldi0+Y2F0YXNfZXJyLnN0b3AgPSAwOwogCWRldi0+Y2F0YXNfZXJyLm1hcCAgPSBOVUxMOwogCiAJYWRkciA9IHBjaV9yZXNvdXJjZV9zdGFydChkZXYtPnBkZXYsIDApICsKQEAgLTE4MiwxMCArMTczLDYgQEAKIAogdm9pZCBtdGhjYV9zdG9wX2NhdGFzX3BvbGwoc3RydWN0IG10aGNhX2RldiAqZGV2KQogewotCXNwaW5fbG9ja19pcnEoJmNhdGFzX2xvY2spOwotCWRldi0+Y2F0YXNfZXJyLnN0b3AgPSAxOwotCXNwaW5fdW5sb2NrX2lycSgmY2F0YXNfbG9jayk7Ci0KIAlkZWxfdGltZXJfc3luYygmZGV2LT5jYXRhc19lcnIudGltZXIpOwogCiAJaWYgKGRldi0+Y2F0YXNfZXJyLm1hcCkgewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX2NtZC5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX2NtZC5jCmluZGV4IDU0ZDIzMGUuLmMzM2UxYzUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9jbWQuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfY21kLmMKQEAgLTMwLDggKzMwLDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IG10aGNhX2NtZC5jIDEzNDkgMjAwNC0xMi0xNiAyMTowOTo0M1ogcm9sYW5kICQKICAqLwogCiAjaW5jbHVkZSA8bGludXgvY29tcGxldGlvbi5oPgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX2NtZC5oIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX2NtZC5oCmluZGV4IDg5MjhjYTQuLjZlZmQzMjYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9jbWQuaAorKysgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfY21kLmgKQEAgLTMwLDggKzMwLDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IG10aGNhX2NtZC5oIDEzNDkgMjAwNC0xMi0xNiAyMTowOTo0M1ogcm9sYW5kICQKICAqLwogCiAjaWZuZGVmIE1USENBX0NNRF9ICmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfY29uZmlnX3JlZy5oIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX2NvbmZpZ19yZWcuaAppbmRleCBhZmE1NmJmLi43NTY3MWY3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfY29uZmlnX3JlZy5oCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9jb25maWdfcmVnLmgKQEAgLTI5LDggKzI5LDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IG10aGNhX2NvbmZpZ19yZWcuaCAxMzQ5IDIwMDQtMTItMTYgMjE6MDk6NDNaIHJvbGFuZCAkCiAgKi8KIAogI2lmbmRlZiBNVEhDQV9DT05GSUdfUkVHX0gKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9jcS5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX2NxLmMKaW5kZXggMjA0MDFkMi4uZDlmNDczNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX2NxLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX2NxLmMKQEAgLTMyLDggKzMyLDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IG10aGNhX2NxLmMgMTM2OSAyMDA0LTEyLTIwIDE2OjE3OjA3WiByb2xhbmQgJAogICovCiAKICNpbmNsdWRlIDxsaW51eC9oYXJkaXJxLmg+CkBAIC02MjIsMTMgKzYyMCwxMyBAQAogCQljYXNlIElCX09QQ09ERV9TRU5EX0xBU1RfV0lUSF9JTU1FRElBVEU6CiAJCWNhc2UgSUJfT1BDT0RFX1NFTkRfT05MWV9XSVRIX0lNTUVESUFURToKIAkJCWVudHJ5LT53Y19mbGFncyA9IElCX1dDX1dJVEhfSU1NOwotCQkJZW50cnktPmltbV9kYXRhID0gY3FlLT5pbW1fZXR5cGVfcGtleV9lZWM7CisJCQllbnRyeS0+ZXguaW1tX2RhdGEgPSBjcWUtPmltbV9ldHlwZV9wa2V5X2VlYzsKIAkJCWVudHJ5LT5vcGNvZGUgPSBJQl9XQ19SRUNWOwogCQkJYnJlYWs7CiAJCWNhc2UgSUJfT1BDT0RFX1JETUFfV1JJVEVfTEFTVF9XSVRIX0lNTUVESUFURToKIAkJY2FzZSBJQl9PUENPREVfUkRNQV9XUklURV9PTkxZX1dJVEhfSU1NRURJQVRFOgogCQkJZW50cnktPndjX2ZsYWdzID0gSUJfV0NfV0lUSF9JTU07Ci0JCQllbnRyeS0+aW1tX2RhdGEgPSBjcWUtPmltbV9ldHlwZV9wa2V5X2VlYzsKKwkJCWVudHJ5LT5leC5pbW1fZGF0YSA9IGNxZS0+aW1tX2V0eXBlX3BrZXlfZWVjOwogCQkJZW50cnktPm9wY29kZSA9IElCX1dDX1JFQ1ZfUkRNQV9XSVRIX0lNTTsKIAkJCWJyZWFrOwogCQlkZWZhdWx0OgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX2Rldi5oIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX2Rldi5oCmluZGV4IDdiYzMyZjguLmVlNGQwNzMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9kZXYuaAorKysgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfZGV2LmgKQEAgLTMyLDggKzMyLDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IG10aGNhX2Rldi5oIDEzNDkgMjAwNC0xMi0xNiAyMTowOTo0M1ogcm9sYW5kICQKICAqLwogCiAjaWZuZGVmIE1USENBX0RFVl9ICkBAIC0yNzksNyArMjc3LDYgQEAKIHN0cnVjdCBtdGhjYV9jYXRhc19lcnIgewogCXU2NAkJCWFkZHI7CiAJdTMyIF9faW9tZW0JICAgICAgICptYXA7Ci0JdW5zaWduZWQgbG9uZwkJc3RvcDsKIAl1MzIJCQlzaXplOwogCXN0cnVjdCB0aW1lcl9saXN0CXRpbWVyOwogCXN0cnVjdCBsaXN0X2hlYWQJbGlzdDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9kb29yYmVsbC5oIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX2Rvb3JiZWxsLmgKaW5kZXggYjM3NGRjMy4uMTRmNTFlZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX2Rvb3JiZWxsLmgKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX2Rvb3JiZWxsLmgKQEAgLTMwLDggKzMwLDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IG10aGNhX2Rvb3JiZWxsLmggMTM0OSAyMDA0LTEyLTE2IDIxOjA5OjQzWiByb2xhbmQgJAogICovCiAKICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX2VxLmMgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfZXEuYwppbmRleCA4YmRlN2Y5Li40ZTM2YWE3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfZXEuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfZXEuYwpAQCAtMjksOCArMjksNiBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZDogbXRoY2FfZXEuYyAxMzgyIDIwMDQtMTItMjQgMDI6MjE6MDJaIHJvbGFuZCAkCiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfbWFkLmMgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfbWFkLmMKaW5kZXggOGI3ZTgzZS4uNjQwNDQ5NSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX21hZC5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9tYWQuYwpAQCAtMzAsOCArMzAsNiBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZDogbXRoY2FfbWFkLmMgMTM0OSAyMDA0LTEyLTE2IDIxOjA5OjQzWiByb2xhbmQgJAogICovCiAKICNpbmNsdWRlIDxsaW51eC9zdHJpbmcuaD4KZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9tYWluLmMgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfbWFpbi5jCmluZGV4IDIwMGNmMTNmLi5mYjlmOTFiIDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfbWFpbi5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9tYWluLmMKQEAgLTMwLDggKzMwLDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IG10aGNhX21haW4uYyAxMzk2IDIwMDQtMTItMjggMDQ6MTA6MjdaIHJvbGFuZCAkCiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX21jZy5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX21jZy5jCmluZGV4IGE4YWQwNzIuLjNmNWY5NDggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9tY2cuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfbWNnLmMKQEAgLTI4LDggKzI4LDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IG10aGNhX21jZy5jIDEzNDkgMjAwNC0xMi0xNiAyMTowOTo0M1ogcm9sYW5kICQKICAqLwogCiAjaW5jbHVkZSA8bGludXgvc3RyaW5nLmg+CmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfbWVtZnJlZS5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX21lbWZyZWUuYwppbmRleCBkNTg2MmU1Li4xZjdkMWEyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfbWVtZnJlZS5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9tZW1mcmVlLmMKQEAgLTMwLDggKzMwLDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQkCiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L21tLmg+CmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfbWVtZnJlZS5oIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX21lbWZyZWUuaAppbmRleCBhMWFiMDY4Li5kYTliOGY5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfbWVtZnJlZS5oCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9tZW1mcmVlLmgKQEAgLTMwLDggKzMwLDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQkCiAgKi8KIAogI2lmbmRlZiBNVEhDQV9NRU1GUkVFX0gKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9tci5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX21yLmMKaW5kZXggODIwMjA1ZC4uODQ4OWIxZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX21yLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX21yLmMKQEAgLTI5LDggKzI5LDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IG10aGNhX21yLmMgMTM0OSAyMDA0LTEyLTE2IDIxOjA5OjQzWiByb2xhbmQgJAogICovCiAKICNpbmNsdWRlIDxsaW51eC9zbGFiLmg+CmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfcGQuYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9wZC5jCmluZGV4IGMxZTk1MDcuLjI2NmYxNGUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9wZC5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9wZC5jCkBAIC0zMCw4ICszMCw2IEBACiAgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgogICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogICogU09GVFdBUkUuCi0gKgotICogJElkOiBtdGhjYV9wZC5jIDEzNDkgMjAwNC0xMi0xNiAyMTowOTo0M1ogcm9sYW5kICQKICAqLwogCiAjaW5jbHVkZSA8bGludXgvZXJybm8uaD4KZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9wcm9maWxlLmMgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfcHJvZmlsZS5jCmluZGV4IDYwNWE4ZDUuLmQxNjhjMjUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9wcm9maWxlLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX3Byb2ZpbGUuYwpAQCAtMjksOCArMjksNiBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZDogbXRoY2FfcHJvZmlsZS5jIDEzNDkgMjAwNC0xMi0xNiAyMTowOTo0M1ogcm9sYW5kICQKICAqLwogCiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfcHJvZmlsZS5oIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX3Byb2ZpbGUuaAppbmRleCBlNzZjYjYyLi42MmIwMDljIDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfcHJvZmlsZS5oCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9wcm9maWxlLmgKQEAgLTI5LDggKzI5LDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IG10aGNhX3Byb2ZpbGUuaCAxMzQ5IDIwMDQtMTItMTYgMjE6MDk6NDNaIHJvbGFuZCAkCiAgKi8KIAogI2lmbmRlZiBNVEhDQV9QUk9GSUxFX0gKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9wcm92aWRlci5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX3Byb3ZpZGVyLmMKaW5kZXggYmUzNGY5OS4uODdhZDg4OSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX3Byb3ZpZGVyLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX3Byb3ZpZGVyLmMKQEAgLTMyLDggKzMyLDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IG10aGNhX3Byb3ZpZGVyLmMgNDg1OSAyMDA2LTAxLTA5IDIxOjU1OjEwWiByb2xhbmQgJAogICovCiAKICNpbmNsdWRlIDxyZG1hL2liX3NtaS5oPgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX3Byb3ZpZGVyLmggYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfcHJvdmlkZXIuaAppbmRleCA5MzRiZjk1Li5jNjIxZjg3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfcHJvdmlkZXIuaAorKysgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfcHJvdmlkZXIuaApAQCAtMzAsOCArMzAsNiBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZDogbXRoY2FfcHJvdmlkZXIuaCAxMzQ5IDIwMDQtMTItMTYgMjE6MDk6NDNaIHJvbGFuZCAkCiAgKi8KIAogI2lmbmRlZiBNVEhDQV9QUk9WSURFUl9ICmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfcXAuYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9xcC5jCmluZGV4IDA5ZGMzNjEuLmY1MDgxYmYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9xcC5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9xcC5jCkBAIC0zMSw4ICszMSw2IEBACiAgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgogICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogICogU09GVFdBUkUuCi0gKgotICogJElkOiBtdGhjYV9xcC5jIDEzNTUgMjAwNC0xMi0xNyAxNToyMzo0M1ogcm9sYW5kICQKICAqLwogCiAjaW5jbHVkZSA8bGludXgvc3RyaW5nLmg+CkBAIC04NTAsMjMgKzg0OCw2IEBACiAJcmV0dXJuIGVycjsKIH0KIAotc3RhdGljIGNvbnN0IHN0cnVjdCBpYl9xcF9hdHRyIGR1bW15X2luaXRfYXR0ciA9IHsgLnBvcnRfbnVtID0gMSB9Owotc3RhdGljIGNvbnN0IGludCBkdW1teV9pbml0X2F0dHJfbWFza1tdID0gewotCVtJQl9RUFRfVURdICA9IChJQl9RUF9QS0VZX0lOREVYCQl8Ci0JCQlJQl9RUF9QT1JUCQkJfAotCQkJSUJfUVBfUUtFWSksCi0JW0lCX1FQVF9VQ10gID0gKElCX1FQX1BLRVlfSU5ERVgJCXwKLQkJCUlCX1FQX1BPUlQJCQl8Ci0JCQlJQl9RUF9BQ0NFU1NfRkxBR1MpLAotCVtJQl9RUFRfUkNdICA9IChJQl9RUF9QS0VZX0lOREVYCQl8Ci0JCQlJQl9RUF9QT1JUCQkJfAotCQkJSUJfUVBfQUNDRVNTX0ZMQUdTKSwKLQlbSUJfUVBUX1NNSV0gPSAoSUJfUVBfUEtFWV9JTkRFWAkJfAotCQkJSUJfUVBfUUtFWSksCi0JW0lCX1FQVF9HU0ldID0gKElCX1FQX1BLRVlfSU5ERVgJCXwKLQkJCUlCX1FQX1FLRVkpLAotfTsKLQogaW50IG10aGNhX21vZGlmeV9xcChzdHJ1Y3QgaWJfcXAgKmlicXAsIHN0cnVjdCBpYl9xcF9hdHRyICphdHRyLCBpbnQgYXR0cl9tYXNrLAogCQkgICAgc3RydWN0IGliX3VkYXRhICp1ZGF0YSkKIHsKQEAgLTkyOCwxNSArOTA5LDYgQEAKIAkJZ290byBvdXQ7CiAJfQogCi0JaWYgKGN1cl9zdGF0ZSA9PSBJQl9RUFNfUkVTRVQgJiYgbmV3X3N0YXRlID09IElCX1FQU19FUlIpIHsKLQkJZXJyID0gX19tdGhjYV9tb2RpZnlfcXAoaWJxcCwgJmR1bW15X2luaXRfYXR0ciwKLQkJCQkJZHVtbXlfaW5pdF9hdHRyX21hc2tbaWJxcC0+cXBfdHlwZV0sCi0JCQkJCUlCX1FQU19SRVNFVCwgSUJfUVBTX0lOSVQpOwotCQlpZiAoZXJyKQotCQkJZ290byBvdXQ7Ci0JCWN1cl9zdGF0ZSA9IElCX1FQU19JTklUOwotCX0KLQogCWVyciA9IF9fbXRoY2FfbW9kaWZ5X3FwKGlicXAsIGF0dHIsIGF0dHJfbWFzaywgY3VyX3N0YXRlLCBuZXdfc3RhdGUpOwogCiBvdXQ6CkBAIC0xMjc3LDEwICsxMjQ5LDEwIEBACiAJCXJldHVybiAtRUlOVkFMOwogCiAJLyoKLQkgKiBGb3IgTUxYIHRyYW5zcG9ydCB3ZSBuZWVkIDIgZXh0cmEgUy9HIGVudHJpZXM6CisJICogRm9yIE1MWCB0cmFuc3BvcnQgd2UgbmVlZCAyIGV4dHJhIHNlbmQgZ2F0aGVyIGVudHJpZXM6CiAJICogb25lIGZvciB0aGUgaGVhZGVyIGFuZCBvbmUgZm9yIHRoZSBjaGVja3N1bSBhdCB0aGUgZW5kCiAJICovCi0JaWYgKHFwLT50cmFuc3BvcnQgPT0gTUxYICYmIGNhcC0+bWF4X3JlY3Zfc2dlICsgMiA+IGRldi0+bGltaXRzLm1heF9zZykKKwlpZiAocXAtPnRyYW5zcG9ydCA9PSBNTFggJiYgY2FwLT5tYXhfc2VuZF9zZ2UgKyAyID4gZGV2LT5saW1pdHMubWF4X3NnKQogCQlyZXR1cm4gLUVJTlZBTDsKIAogCWlmIChtdGhjYV9pc19tZW1mcmVlKGRldikpIHsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9yZXNldC5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX3Jlc2V0LmMKaW5kZXggOTE5MzRmMi4uYWNiNjgxN2YgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9yZXNldC5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9yZXNldC5jCkBAIC0yOCw4ICsyOCw2IEBACiAgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgogICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogICogU09GVFdBUkUuCi0gKgotICogJElkOiBtdGhjYV9yZXNldC5jIDEzNDkgMjAwNC0xMi0xNiAyMTowOTo0M1ogcm9sYW5kICQKICAqLwogCiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX3NycS5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX3NycS5jCmluZGV4IGE1ZmZmZjYuLjRmYWJlNjIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9zcnEuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2Ffc3JxLmMKQEAgLTI4LDggKzI4LDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IG10aGNhX3NycS5jIDMwNDcgMjAwNS0wOC0xMCAwMzo1OTozNVogcm9sYW5kICQKICAqLwogCiAjaW5jbHVkZSA8bGludXgvc2xhYi5oPgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX3Vhci5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX3Vhci5jCmluZGV4IDhiNzI4NDguLmNhNTkwMGMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV91YXIuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfdWFyLmMKQEAgLTI4LDggKzI4LDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQkCiAgKi8KIAogI2luY2x1ZGUgPGFzbS9wYWdlLmg+CQkvKiBQQUdFX1NISUZUICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfdXNlci5oIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX3VzZXIuaAppbmRleCBlMTI2MmM5Li41ZmU1NmU4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfdXNlci5oCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV91c2VyLmgKQEAgLTI5LDcgKzI5LDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCiAgKi8KIAogI2lmbmRlZiBNVEhDQV9VU0VSX0gKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV93cWUuaCBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV93cWUuaAppbmRleCBiMzU1MWE4Li4zNDFhNWFlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2Ffd3FlLmgKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX3dxZS5oCkBAIC0yOCw4ICsyOCw2IEBACiAgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgogICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogICogU09GVFdBUkUuCi0gKgotICogJElkOiBtdGhjYV93cWUuaCAzMDQ3IDIwMDUtMDgtMTAgMDM6NTk6MzVaIHJvbGFuZCAkCiAgKi8KIAogI2lmbmRlZiBNVEhDQV9XUUVfSApkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L25lcy9uZXMuYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9uZXMvbmVzLmMKaW5kZXggYTRlOTI2OS4uZDI4ODRlNyAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L25lcy9uZXMuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbmVzL25lcy5jCkBAIC0zMjgsNyArMzI4LDcgQEAKIAkJc2V0X3dxZV8zMmJpdF92YWx1ZShjcXBfd3FlLT53cWVfd29yZHMsIE5FU19DUVBfV1FFX0lEX0lEWCwgbmVzcXAtPmh3cXAucXBfaWQpOwogCQl1NjR0ZW1wID0gKHU2NCluZXNxcC0+bmVzcXBfY29udGV4dF9wYmFzZTsKIAkJc2V0X3dxZV82NGJpdF92YWx1ZShjcXBfd3FlLT53cWVfd29yZHMsIE5FU19DUVBfUVBfV1FFX0NPTlRFWFRfTE9XX0lEWCwgdTY0dGVtcCk7Ci0JCW5lc19wb3N0X2NxcF9yZXF1ZXN0KG5lc2RldiwgY3FwX3JlcXVlc3QsIE5FU19DUVBfUkVRVUVTVF9SSU5HX0RPT1JCRUxMKTsKKwkJbmVzX3Bvc3RfY3FwX3JlcXVlc3QobmVzZGV2LCBjcXBfcmVxdWVzdCk7CiAJfQogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbmVzL25lcy5oIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L25lcy9uZXMuaAppbmRleCA2MWI0NmU5Li4zOWJkODk3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbmVzL25lcy5oCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9uZXMvbmVzLmgKQEAgLTk0LDkgKzk0LDYgQEAKIAogI2RlZmluZSBNQVhfRFBDX0lURVJBVElPTlMgICAgICAgICAgICAgICAxMjgKIAotI2RlZmluZSBORVNfQ1FQX1JFUVVFU1RfTk9fRE9PUkJFTExfUklORyAwCi0jZGVmaW5lIE5FU19DUVBfUkVRVUVTVF9SSU5HX0RPT1JCRUxMICAgIDEKLQogI2RlZmluZSBORVNfRFJWX09QVF9FTkFCTEVfTVBBX1ZFUl8wICAgICAweDAwMDAwMDAxCiAjZGVmaW5lIE5FU19EUlZfT1BUX0RJU0FCTEVfTVBBX0NSQyAgICAgIDB4MDAwMDAwMDIKICNkZWZpbmUgTkVTX0RSVl9PUFRfRElTQUJMRV9GSVJTVF9XUklURSAgMHgwMDAwMDAwNApAQCAtNTM4LDcgKzUzNSwxMSBAQAogdm9pZCBuZXNfd3JpdGVfMTBHX3BoeV9yZWcoc3RydWN0IG5lc19kZXZpY2UgKiwgdTE2LCB1OCwgdTE2LCB1MTYpOwogdm9pZCBuZXNfcmVhZF8xMEdfcGh5X3JlZyhzdHJ1Y3QgbmVzX2RldmljZSAqLCB1OCwgdTgsIHUxNik7CiBzdHJ1Y3QgbmVzX2NxcF9yZXF1ZXN0ICpuZXNfZ2V0X2NxcF9yZXF1ZXN0KHN0cnVjdCBuZXNfZGV2aWNlICopOwotdm9pZCBuZXNfcG9zdF9jcXBfcmVxdWVzdChzdHJ1Y3QgbmVzX2RldmljZSAqLCBzdHJ1Y3QgbmVzX2NxcF9yZXF1ZXN0ICosIGludCk7Cit2b2lkIG5lc19mcmVlX2NxcF9yZXF1ZXN0KHN0cnVjdCBuZXNfZGV2aWNlICpuZXNkZXYsCisJCQkgIHN0cnVjdCBuZXNfY3FwX3JlcXVlc3QgKmNxcF9yZXF1ZXN0KTsKK3ZvaWQgbmVzX3B1dF9jcXBfcmVxdWVzdChzdHJ1Y3QgbmVzX2RldmljZSAqbmVzZGV2LAorCQkJIHN0cnVjdCBuZXNfY3FwX3JlcXVlc3QgKmNxcF9yZXF1ZXN0KTsKK3ZvaWQgbmVzX3Bvc3RfY3FwX3JlcXVlc3Qoc3RydWN0IG5lc19kZXZpY2UgKiwgc3RydWN0IG5lc19jcXBfcmVxdWVzdCAqKTsKIGludCBuZXNfYXJwX3RhYmxlKHN0cnVjdCBuZXNfZGV2aWNlICosIHUzMiwgdTggKiwgdTMyKTsKIHZvaWQgbmVzX21oX2ZpeCh1bnNpZ25lZCBsb25nKTsKIHZvaWQgbmVzX2NsYyh1bnNpZ25lZCBsb25nKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9uZXMvbmVzX2NtLmMgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbmVzL25lc19jbS5jCmluZGV4IDlhNGI0MGYuLjZhYTUzMWQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9uZXMvbmVzX2NtLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L25lcy9uZXNfY20uYwpAQCAtMTYwMyw3ICsxNjAzLDYgQEAKIAkJCXJldHVybiBOVUxMOwogCQl9CiAKLQkJbWVtc2V0KGxpc3RlbmVyLCAwLCBzaXplb2Yoc3RydWN0IG5lc19jbV9saXN0ZW5lcikpOwogCQlsaXN0ZW5lci0+bG9jX2FkZHIgPSBodG9ubChjbV9pbmZvLT5sb2NfYWRkcik7CiAJCWxpc3RlbmVyLT5sb2NfcG9ydCA9IGh0b25zKGNtX2luZm8tPmxvY19wb3J0KTsKIAkJbGlzdGVuZXItPnJldXNlZF9ub2RlID0gMDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9uZXMvbmVzX2h3LmMgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbmVzL25lc19ody5jCmluZGV4IGQzMjc4ZjEuLjg1ZjI2ZDEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9uZXMvbmVzX2h3LmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L25lcy9uZXNfaHcuYwpAQCAtMzk4LDcgKzM5OCw3IEBACiAJbmVzYWRhcHRlci0+YmFzZV9wZCA9IDE7CiAKIAluZXNhZGFwdGVyLT5kZXZpY2VfY2FwX2ZsYWdzID0KLQkJSUJfREVWSUNFX1pFUk9fU1RBRyB8IElCX0RFVklDRV9NRU1fV0lORE9XOworCQlJQl9ERVZJQ0VfTE9DQUxfRE1BX0xLRVkgfCBJQl9ERVZJQ0VfTUVNX1dJTkRPVzsKIAogCW5lc2FkYXB0ZXItPmFsbG9jYXRlZF9xcHMgPSAodW5zaWduZWQgbG9uZyAqKSYoKCh1bnNpZ25lZCBjaGFyICopbmVzYWRhcHRlcikKIAkJCVsoc2l6ZW9mKHN0cnVjdCBuZXNfYWRhcHRlcikrKHNpemVvZih1bnNpZ25lZCBsb25nKS0xKSkmKH4oc2l6ZW9mKHVuc2lnbmVkIGxvbmcpLTEpKV0pOwpAQCAtMjcxMCwzOSArMjcxMCwxMSBAQAogCQkJCQliYXJyaWVyKCk7CiAJCQkJCWNxcF9yZXF1ZXN0LT5yZXF1ZXN0X2RvbmUgPSAxOwogCQkJCQl3YWtlX3VwKCZjcXBfcmVxdWVzdC0+d2FpdHEpOwotCQkJCQlpZiAoYXRvbWljX2RlY19hbmRfdGVzdCgmY3FwX3JlcXVlc3QtPnJlZmNvdW50KSkgewotCQkJCQkJbmVzX2RlYnVnKE5FU19EQkdfQ1FQLCAiQ1FQIHJlcXVlc3QgJXAgKG9wY29kZSAweCUwMlgpIGZyZWVkLlxuIiwKLQkJCQkJCQkJY3FwX3JlcXVlc3QsCi0JCQkJCQkJCWxlMzJfdG9fY3B1KGNxcF9yZXF1ZXN0LT5jcXBfd3FlLndxZV93b3Jkc1tORVNfQ1FQX1dRRV9PUENPREVfSURYXSkmMHgzZik7Ci0JCQkJCQlpZiAoY3FwX3JlcXVlc3QtPmR5bmFtaWMpIHsKLQkJCQkJCQlrZnJlZShjcXBfcmVxdWVzdCk7Ci0JCQkJCQl9IGVsc2UgewotCQkJCQkJCXNwaW5fbG9ja19pcnFzYXZlKCZuZXNkZXYtPmNxcC5sb2NrLCBmbGFncyk7Ci0JCQkJCQkJbGlzdF9hZGRfdGFpbCgmY3FwX3JlcXVlc3QtPmxpc3QsICZuZXNkZXYtPmNxcF9hdmFpbF9yZXFzKTsKLQkJCQkJCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZuZXNkZXYtPmNxcC5sb2NrLCBmbGFncyk7Ci0JCQkJCQl9Ci0JCQkJCX0KLQkJCQl9IGVsc2UgaWYgKGNxcF9yZXF1ZXN0LT5jYWxsYmFjaykgewotCQkJCQkvKiBFbnZva2UgdGhlIGNhbGxiYWNrIHJvdXRpbmUgKi8KLQkJCQkJY3FwX3JlcXVlc3QtPmNxcF9jYWxsYmFjayhuZXNkZXYsIGNxcF9yZXF1ZXN0KTsKLQkJCQkJaWYgKGNxcF9yZXF1ZXN0LT5keW5hbWljKSB7Ci0JCQkJCQlrZnJlZShjcXBfcmVxdWVzdCk7Ci0JCQkJCX0gZWxzZSB7Ci0JCQkJCQlzcGluX2xvY2tfaXJxc2F2ZSgmbmVzZGV2LT5jcXAubG9jaywgZmxhZ3MpOwotCQkJCQkJbGlzdF9hZGRfdGFpbCgmY3FwX3JlcXVlc3QtPmxpc3QsICZuZXNkZXYtPmNxcF9hdmFpbF9yZXFzKTsKLQkJCQkJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJm5lc2Rldi0+Y3FwLmxvY2ssIGZsYWdzKTsKLQkJCQkJfQorCQkJCQluZXNfcHV0X2NxcF9yZXF1ZXN0KG5lc2RldiwgY3FwX3JlcXVlc3QpOwogCQkJCX0gZWxzZSB7Ci0JCQkJCW5lc19kZWJ1ZyhORVNfREJHX0NRUCwgIkNRUCByZXF1ZXN0ICVwIChvcGNvZGUgMHglMDJYKSBmcmVlZC5cbiIsCi0JCQkJCQkJY3FwX3JlcXVlc3QsCi0JCQkJCQkJbGUzMl90b19jcHUoY3FwX3JlcXVlc3QtPmNxcF93cWUud3FlX3dvcmRzW05FU19DUVBfV1FFX09QQ09ERV9JRFhdKSAmIDB4M2YpOwotCQkJCQlpZiAoY3FwX3JlcXVlc3QtPmR5bmFtaWMpIHsKLQkJCQkJCWtmcmVlKGNxcF9yZXF1ZXN0KTsKLQkJCQkJfSBlbHNlIHsKLQkJCQkJCXNwaW5fbG9ja19pcnFzYXZlKCZuZXNkZXYtPmNxcC5sb2NrLCBmbGFncyk7Ci0JCQkJCQlsaXN0X2FkZF90YWlsKCZjcXBfcmVxdWVzdC0+bGlzdCwgJm5lc2Rldi0+Y3FwX2F2YWlsX3JlcXMpOwotCQkJCQkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmbmVzZGV2LT5jcXAubG9jaywgZmxhZ3MpOwotCQkJCQl9CisJCQkJCWlmIChjcXBfcmVxdWVzdC0+Y2FsbGJhY2spCisJCQkJCQljcXBfcmVxdWVzdC0+Y3FwX2NhbGxiYWNrKG5lc2RldiwgY3FwX3JlcXVlc3QpOworCQkJCQluZXNfZnJlZV9jcXBfcmVxdWVzdChuZXNkZXYsIGNxcF9yZXF1ZXN0KTsKIAkJCQl9CiAJCQl9IGVsc2UgewogCQkJCXdha2VfdXAoJm5lc2Rldi0+Y3FwLndhaXRxKTsKQEAgLTMxNDksNyArMzEyMSw2IEBACiB7CiAJc3RydWN0IG5lc19kZXZpY2UgKm5lc2RldiA9IG5lc3ZuaWMtPm5lc2RldjsKIAlzdHJ1Y3QgbmVzX2h3X2NxcF93cWUgKmNxcF93cWU7Ci0JdW5zaWduZWQgbG9uZyBmbGFnczsKIAlzdHJ1Y3QgbmVzX2NxcF9yZXF1ZXN0ICpjcXBfcmVxdWVzdDsKIAlpbnQgcmV0ID0gMDsKIAl1MTYgbWFqb3JfY29kZTsKQEAgLTMxNzYsNyArMzE0Nyw3IEBACiAJbmVzX2RlYnVnKE5FU19EQkdfUVAsICJXYWl0aW5nIGZvciBDUVAgY29tcGxldGlvbiBmb3IgQVBCVlQuXG4iKTsKIAogCWF0b21pY19zZXQoJmNxcF9yZXF1ZXN0LT5yZWZjb3VudCwgMik7Ci0JbmVzX3Bvc3RfY3FwX3JlcXVlc3QobmVzZGV2LCBjcXBfcmVxdWVzdCwgTkVTX0NRUF9SRVFVRVNUX1JJTkdfRE9PUkJFTEwpOworCW5lc19wb3N0X2NxcF9yZXF1ZXN0KG5lc2RldiwgY3FwX3JlcXVlc3QpOwogCiAJaWYgKGFkZF9wb3J0ID09IE5FU19NQU5BR0VfQVBCVlRfQUREKQogCQlyZXQgPSB3YWl0X2V2ZW50X3RpbWVvdXQoY3FwX3JlcXVlc3QtPndhaXRxLCAoY3FwX3JlcXVlc3QtPnJlcXVlc3RfZG9uZSAhPSAwKSwKQEAgLTMxODQsMTUgKzMxNTUsOSBAQAogCW5lc19kZWJ1ZyhORVNfREJHX1FQLCAiQ29tcGxldGVkLCByZXQ9JXUsICBDUVAgTWFqb3I6TWlub3IgY29kZXMgPSAweCUwNFg6MHglMDRYXG4iLAogCQkJcmV0LCBjcXBfcmVxdWVzdC0+bWFqb3JfY29kZSwgY3FwX3JlcXVlc3QtPm1pbm9yX2NvZGUpOwogCW1ham9yX2NvZGUgPSBjcXBfcmVxdWVzdC0+bWFqb3JfY29kZTsKLQlpZiAoYXRvbWljX2RlY19hbmRfdGVzdCgmY3FwX3JlcXVlc3QtPnJlZmNvdW50KSkgewotCQlpZiAoY3FwX3JlcXVlc3QtPmR5bmFtaWMpIHsKLQkJCWtmcmVlKGNxcF9yZXF1ZXN0KTsKLQkJfSBlbHNlIHsKLQkJCXNwaW5fbG9ja19pcnFzYXZlKCZuZXNkZXYtPmNxcC5sb2NrLCBmbGFncyk7Ci0JCQlsaXN0X2FkZF90YWlsKCZjcXBfcmVxdWVzdC0+bGlzdCwgJm5lc2Rldi0+Y3FwX2F2YWlsX3JlcXMpOwotCQkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmbmVzZGV2LT5jcXAubG9jaywgZmxhZ3MpOwotCQl9Ci0JfQorCisJbmVzX3B1dF9jcXBfcmVxdWVzdChuZXNkZXYsIGNxcF9yZXF1ZXN0KTsKKwogCWlmICghcmV0KQogCQlyZXR1cm4gLUVUSU1FOwogCWVsc2UgaWYgKG1ham9yX2NvZGUpCkBAIC0zMjUyLDcgKzMyMTcsNyBAQAogCQkJbmVzZGV2LT5jcXAuc3FfaGVhZCwgbmVzZGV2LT5jcXAuc3FfdGFpbCk7CiAKIAlhdG9taWNfc2V0KCZjcXBfcmVxdWVzdC0+cmVmY291bnQsIDEpOwotCW5lc19wb3N0X2NxcF9yZXF1ZXN0KG5lc2RldiwgY3FwX3JlcXVlc3QsIE5FU19DUVBfUkVRVUVTVF9SSU5HX0RPT1JCRUxMKTsKKwluZXNfcG9zdF9jcXBfcmVxdWVzdChuZXNkZXYsIGNxcF9yZXF1ZXN0KTsKIH0KIAogCkBAIC0zMjYyLDcgKzMyMjcsNiBAQAogdm9pZCBmbHVzaF93cWVzKHN0cnVjdCBuZXNfZGV2aWNlICpuZXNkZXYsIHN0cnVjdCBuZXNfcXAgKm5lc3FwLAogCQl1MzIgd2hpY2hfd3EsIHUzMiB3YWl0X2NvbXBsZXRpb24pCiB7Ci0JdW5zaWduZWQgbG9uZyBmbGFnczsKIAlzdHJ1Y3QgbmVzX2NxcF9yZXF1ZXN0ICpjcXBfcmVxdWVzdDsKIAlzdHJ1Y3QgbmVzX2h3X2NxcF93cWUgKmNxcF93cWU7CiAJaW50IHJldDsKQEAgLTMyODUsNyArMzI0OSw3IEBACiAJCQljcHVfdG9fbGUzMihORVNfQ1FQX0ZMVVNIX1dRRVMgfCB3aGljaF93cSk7CiAJY3FwX3dxZS0+d3FlX3dvcmRzW05FU19DUVBfV1FFX0lEX0lEWF0gPSBjcHVfdG9fbGUzMihuZXNxcC0+aHdxcC5xcF9pZCk7CiAKLQluZXNfcG9zdF9jcXBfcmVxdWVzdChuZXNkZXYsIGNxcF9yZXF1ZXN0LCBORVNfQ1FQX1JFUVVFU1RfUklOR19ET09SQkVMTCk7CisJbmVzX3Bvc3RfY3FwX3JlcXVlc3QobmVzZGV2LCBjcXBfcmVxdWVzdCk7CiAKIAlpZiAod2FpdF9jb21wbGV0aW9uKSB7CiAJCS8qIFdhaXQgZm9yIENRUCAqLwpAQCAtMzI5NCwxNCArMzI1OCw2IEBACiAJCW5lc19kZWJ1ZyhORVNfREJHX1FQLCAiRmx1c2ggU1EgUVAgV1FFcyBjb21wbGV0ZWQsIHJldD0ldSwiCiAJCQkJIiBDUVAgTWFqb3I6TWlub3IgY29kZXMgPSAweCUwNFg6MHglMDRYXG4iLAogCQkJCXJldCwgY3FwX3JlcXVlc3QtPm1ham9yX2NvZGUsIGNxcF9yZXF1ZXN0LT5taW5vcl9jb2RlKTsKLQkJaWYgKGF0b21pY19kZWNfYW5kX3Rlc3QoJmNxcF9yZXF1ZXN0LT5yZWZjb3VudCkpIHsKLQkJCWlmIChjcXBfcmVxdWVzdC0+ZHluYW1pYykgewotCQkJCWtmcmVlKGNxcF9yZXF1ZXN0KTsKLQkJCX0gZWxzZSB7Ci0JCQkJc3Bpbl9sb2NrX2lycXNhdmUoJm5lc2Rldi0+Y3FwLmxvY2ssIGZsYWdzKTsKLQkJCQlsaXN0X2FkZF90YWlsKCZjcXBfcmVxdWVzdC0+bGlzdCwgJm5lc2Rldi0+Y3FwX2F2YWlsX3JlcXMpOwotCQkJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJm5lc2Rldi0+Y3FwLmxvY2ssIGZsYWdzKTsKLQkJCX0KLQkJfQorCQluZXNfcHV0X2NxcF9yZXF1ZXN0KG5lc2RldiwgY3FwX3JlcXVlc3QpOwogCX0KIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9uZXMvbmVzX2h3LmggYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbmVzL25lc19ody5oCmluZGV4IDc0NWJmOTQuLjdiODFlMGEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9uZXMvbmVzX2h3LmgKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L25lcy9uZXNfaHcuaApAQCAtMTE3Miw3ICsxMTcyLDcgQEAKIAl1MzIgICAgbWNycV9xcF9pZDsKIAlzdHJ1Y3QgbmVzX3Vjb250ZXh0ICptY3JxX3Vjb250ZXh0OwogCXN0cnVjdCBuZXNfY3FwX3JlcXVlc3QqICgqZ2V0X2NxcF9yZXF1ZXN0KShzdHJ1Y3QgbmVzX2RldmljZSAqbmVzZGV2KTsKLQl2b2lkICgqcG9zdF9jcXBfcmVxdWVzdCkoc3RydWN0IG5lc19kZXZpY2UqLCBzdHJ1Y3QgbmVzX2NxcF9yZXF1ZXN0ICosIGludCk7CisJdm9pZCAoKnBvc3RfY3FwX3JlcXVlc3QpKHN0cnVjdCBuZXNfZGV2aWNlKiwgc3RydWN0IG5lc19jcXBfcmVxdWVzdCAqKTsKIAlpbnQgKCptY3JxX21jYXN0X2ZpbHRlcikoIHN0cnVjdCBuZXNfdm5pYyogbmVzdm5pYywgX191OCogZG1pX2FkZHIgKTsKIAlzdHJ1Y3QgbmV0X2RldmljZV9zdGF0cyBuZXRzdGF0czsKIAkvKiB1c2VkIHRvIHB1dCB0aGUgbmV0ZGV2IG9uIHRoZSBhZGFwdGVycyBsb2dpY2FsIHBvcnQgbGlzdCAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L25lcy9uZXNfdXRpbHMuYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9uZXMvbmVzX3V0aWxzLmMKaW5kZXggZmU4M2QxYi4uZmI4Y2JkNyAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L25lcy9uZXNfdXRpbHMuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbmVzL25lc191dGlscy5jCkBAIC01NjcsMTIgKzU2NywzNiBAQAogCXJldHVybiBjcXBfcmVxdWVzdDsKIH0KIAordm9pZCBuZXNfZnJlZV9jcXBfcmVxdWVzdChzdHJ1Y3QgbmVzX2RldmljZSAqbmVzZGV2LAorCQkJICBzdHJ1Y3QgbmVzX2NxcF9yZXF1ZXN0ICpjcXBfcmVxdWVzdCkKK3sKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCisJbmVzX2RlYnVnKE5FU19EQkdfQ1FQLCAiQ1FQIHJlcXVlc3QgJXAgKG9wY29kZSAweCUwMlgpIGZyZWVkLlxuIiwKKwkJICBjcXBfcmVxdWVzdCwKKwkJICBsZTMyX3RvX2NwdShjcXBfcmVxdWVzdC0+Y3FwX3dxZS53cWVfd29yZHNbTkVTX0NRUF9XUUVfT1BDT0RFX0lEWF0pICYgMHgzZik7CisKKwlpZiAoY3FwX3JlcXVlc3QtPmR5bmFtaWMpIHsKKwkJa2ZyZWUoY3FwX3JlcXVlc3QpOworCX0gZWxzZSB7CisJCXNwaW5fbG9ja19pcnFzYXZlKCZuZXNkZXYtPmNxcC5sb2NrLCBmbGFncyk7CisJCWxpc3RfYWRkX3RhaWwoJmNxcF9yZXF1ZXN0LT5saXN0LCAmbmVzZGV2LT5jcXBfYXZhaWxfcmVxcyk7CisJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJm5lc2Rldi0+Y3FwLmxvY2ssIGZsYWdzKTsKKwl9Cit9CisKK3ZvaWQgbmVzX3B1dF9jcXBfcmVxdWVzdChzdHJ1Y3QgbmVzX2RldmljZSAqbmVzZGV2LAorCQkJIHN0cnVjdCBuZXNfY3FwX3JlcXVlc3QgKmNxcF9yZXF1ZXN0KQoreworCWlmIChhdG9taWNfZGVjX2FuZF90ZXN0KCZjcXBfcmVxdWVzdC0+cmVmY291bnQpKQorCQluZXNfZnJlZV9jcXBfcmVxdWVzdChuZXNkZXYsIGNxcF9yZXF1ZXN0KTsKK30KIAogLyoqCiAgKiBuZXNfcG9zdF9jcXBfcmVxdWVzdAogICovCiB2b2lkIG5lc19wb3N0X2NxcF9yZXF1ZXN0KHN0cnVjdCBuZXNfZGV2aWNlICpuZXNkZXYsCi0JCXN0cnVjdCBuZXNfY3FwX3JlcXVlc3QgKmNxcF9yZXF1ZXN0LCBpbnQgcmluZ19kb29yYmVsbCkKKwkJCSAgc3RydWN0IG5lc19jcXBfcmVxdWVzdCAqY3FwX3JlcXVlc3QpCiB7CiAJc3RydWN0IG5lc19od19jcXBfd3FlICpjcXBfd3FlOwogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CkBAIC02MDAsMTAgKzYyNCw5IEBACiAJCQkJbmVzZGV2LT5jcXAuc3FfaGVhZCwgbmVzZGV2LT5jcXAuc3FfdGFpbCwgbmVzZGV2LT5jcXAuc3Ffc2l6ZSwKIAkJCQljcXBfcmVxdWVzdC0+d2FpdGluZywgYXRvbWljX3JlYWQoJmNxcF9yZXF1ZXN0LT5yZWZjb3VudCkpOwogCQliYXJyaWVyKCk7Ci0JCWlmIChyaW5nX2Rvb3JiZWxsKSB7Ci0JCQkvKiBSaW5nIGRvb3JiZWxsICgxIFdRRXMpICovCi0JCQluZXNfd3JpdGUzMihuZXNkZXYtPnJlZ3MrTkVTX1dRRV9BTExPQywgMHgwMTgwMDAwMCB8IG5lc2Rldi0+Y3FwLnFwX2lkKTsKLQkJfQorCisJCS8qIFJpbmcgZG9vcmJlbGwgKDEgV1FFcykgKi8KKwkJbmVzX3dyaXRlMzIobmVzZGV2LT5yZWdzK05FU19XUUVfQUxMT0MsIDB4MDE4MDAwMDAgfCBuZXNkZXYtPmNxcC5xcF9pZCk7CiAKIAkJYmFycmllcigpOwogCX0gZWxzZSB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbmVzL25lc192ZXJicy5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L25lcy9uZXNfdmVyYnMuYwppbmRleCBkNjE3ZGE5Li5lMzkzOWQxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbmVzL25lc192ZXJicy5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9uZXMvbmVzX3ZlcmJzLmMKQEAgLTU1LDcgKzU1LDYgQEAKICAqIG5lc19hbGxvY19tdwogICovCiBzdGF0aWMgc3RydWN0IGliX213ICpuZXNfYWxsb2NfbXcoc3RydWN0IGliX3BkICppYnBkKSB7Ci0JdW5zaWduZWQgbG9uZyBmbGFnczsKIAlzdHJ1Y3QgbmVzX3BkICpuZXNwZCA9IHRvX25lc3BkKGlicGQpOwogCXN0cnVjdCBuZXNfdm5pYyAqbmVzdm5pYyA9IHRvX25lc3ZuaWMoaWJwZC0+ZGV2aWNlKTsKIAlzdHJ1Y3QgbmVzX2RldmljZSAqbmVzZGV2ID0gbmVzdm5pYy0+bmVzZGV2OwpAQCAtMTE5LDcgKzExOCw3IEBACiAJc2V0X3dxZV8zMmJpdF92YWx1ZShjcXBfd3FlLT53cWVfd29yZHMsIE5FU19DUVBfU1RBR19XUUVfU1RBR19JRFgsIHN0YWcpOwogCiAJYXRvbWljX3NldCgmY3FwX3JlcXVlc3QtPnJlZmNvdW50LCAyKTsKLQluZXNfcG9zdF9jcXBfcmVxdWVzdChuZXNkZXYsIGNxcF9yZXF1ZXN0LCBORVNfQ1FQX1JFUVVFU1RfUklOR19ET09SQkVMTCk7CisJbmVzX3Bvc3RfY3FwX3JlcXVlc3QobmVzZGV2LCBjcXBfcmVxdWVzdCk7CiAKIAkvKiBXYWl0IGZvciBDUVAgKi8KIAlyZXQgPSB3YWl0X2V2ZW50X3RpbWVvdXQoY3FwX3JlcXVlc3QtPndhaXRxLCAoY3FwX3JlcXVlc3QtPnJlcXVlc3RfZG9uZSAhPSAwKSwKQEAgLTEyOCwxNSArMTI3LDcgQEAKIAkJCSIgQ1FQIE1ham9yOk1pbm9yIGNvZGVzID0gMHglMDRYOjB4JTA0WC5cbiIsCiAJCQlzdGFnLCByZXQsIGNxcF9yZXF1ZXN0LT5tYWpvcl9jb2RlLCBjcXBfcmVxdWVzdC0+bWlub3JfY29kZSk7CiAJaWYgKCghcmV0KSB8fCAoY3FwX3JlcXVlc3QtPm1ham9yX2NvZGUpKSB7Ci0JCWlmIChhdG9taWNfZGVjX2FuZF90ZXN0KCZjcXBfcmVxdWVzdC0+cmVmY291bnQpKSB7Ci0JCQlpZiAoY3FwX3JlcXVlc3QtPmR5bmFtaWMpIHsKLQkJCQlrZnJlZShjcXBfcmVxdWVzdCk7Ci0JCQl9IGVsc2UgewotCQkJCXNwaW5fbG9ja19pcnFzYXZlKCZuZXNkZXYtPmNxcC5sb2NrLCBmbGFncyk7Ci0JCQkJbGlzdF9hZGRfdGFpbCgmY3FwX3JlcXVlc3QtPmxpc3QsICZuZXNkZXYtPmNxcF9hdmFpbF9yZXFzKTsKLQkJCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZuZXNkZXYtPmNxcC5sb2NrLCBmbGFncyk7Ci0JCQl9Ci0JCX0KKwkJbmVzX3B1dF9jcXBfcmVxdWVzdChuZXNkZXYsIGNxcF9yZXF1ZXN0KTsKIAkJa2ZyZWUobmVzbXIpOwogCQluZXNfZnJlZV9yZXNvdXJjZShuZXNhZGFwdGVyLCBuZXNhZGFwdGVyLT5hbGxvY2F0ZWRfbXJzLCBzdGFnX2luZGV4KTsKIAkJaWYgKCFyZXQpIHsKQEAgLTE0NCwxNyArMTM1LDggQEAKIAkJfSBlbHNlIHsKIAkJCXJldHVybiBFUlJfUFRSKC1FTk9NRU0pOwogCQl9Ci0JfSBlbHNlIHsKLQkJaWYgKGF0b21pY19kZWNfYW5kX3Rlc3QoJmNxcF9yZXF1ZXN0LT5yZWZjb3VudCkpIHsKLQkJCWlmIChjcXBfcmVxdWVzdC0+ZHluYW1pYykgewotCQkJCWtmcmVlKGNxcF9yZXF1ZXN0KTsKLQkJCX0gZWxzZSB7Ci0JCQkJc3Bpbl9sb2NrX2lycXNhdmUoJm5lc2Rldi0+Y3FwLmxvY2ssIGZsYWdzKTsKLQkJCQlsaXN0X2FkZF90YWlsKCZjcXBfcmVxdWVzdC0+bGlzdCwgJm5lc2Rldi0+Y3FwX2F2YWlsX3JlcXMpOwotCQkJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJm5lc2Rldi0+Y3FwLmxvY2ssIGZsYWdzKTsKLQkJCX0KLQkJfQogCX0KKwluZXNfcHV0X2NxcF9yZXF1ZXN0KG5lc2RldiwgY3FwX3JlcXVlc3QpOwogCiAJbmVzbXItPmlibXcucmtleSA9IHN0YWc7CiAJbmVzbXItPm1vZGUgPSBJV05FU19NRU1SRUdfVFlQRV9NVzsKQEAgLTE3OCw3ICsxNjAsNiBAQAogCXN0cnVjdCBuZXNfaHdfY3FwX3dxZSAqY3FwX3dxZTsKIAlzdHJ1Y3QgbmVzX2NxcF9yZXF1ZXN0ICpjcXBfcmVxdWVzdDsKIAlpbnQgZXJyID0gMDsKLQl1bnNpZ25lZCBsb25nIGZsYWdzOwogCWludCByZXQ7CiAKIAkvKiBEZWFsbG9jYXRlIHRoZSB3aW5kb3cgd2l0aCB0aGUgYWRhcHRlciAqLwpAQCAtMTk0LDcgKzE3NSw3IEBACiAJc2V0X3dxZV8zMmJpdF92YWx1ZShjcXBfd3FlLT53cWVfd29yZHMsIE5FU19DUVBfU1RBR19XUUVfU1RBR19JRFgsIGlibXctPnJrZXkpOwogCiAJYXRvbWljX3NldCgmY3FwX3JlcXVlc3QtPnJlZmNvdW50LCAyKTsKLQluZXNfcG9zdF9jcXBfcmVxdWVzdChuZXNkZXYsIGNxcF9yZXF1ZXN0LCBORVNfQ1FQX1JFUVVFU1RfUklOR19ET09SQkVMTCk7CisJbmVzX3Bvc3RfY3FwX3JlcXVlc3QobmVzZGV2LCBjcXBfcmVxdWVzdCk7CiAKIAkvKiBXYWl0IGZvciBDUVAgKi8KIAluZXNfZGVidWcoTkVTX0RCR19NUiwgIldhaXRpbmcgZm9yIGRlYWxsb2NhdGUgU1RhZyAweCUwOFggdG8gY29tcGxldGUuXG4iLApAQCAtMjA0LDMyICsxODUsMTIgQEAKIAluZXNfZGVidWcoTkVTX0RCR19NUiwgIkRlYWxsb2NhdGUgU1RhZyBjb21wbGV0ZWQsIHdhaXRfZXZlbnRfdGltZW91dCByZXQgPSAldSwiCiAJCQkiIENRUCBNYWpvcjpNaW5vciBjb2RlcyA9IDB4JTA0WDoweCUwNFguXG4iLAogCQkJcmV0LCBjcXBfcmVxdWVzdC0+bWFqb3JfY29kZSwgY3FwX3JlcXVlc3QtPm1pbm9yX2NvZGUpOwotCWlmICgoIXJldCkgfHwgKGNxcF9yZXF1ZXN0LT5tYWpvcl9jb2RlKSkgewotCQlpZiAoYXRvbWljX2RlY19hbmRfdGVzdCgmY3FwX3JlcXVlc3QtPnJlZmNvdW50KSkgewotCQkJaWYgKGNxcF9yZXF1ZXN0LT5keW5hbWljKSB7Ci0JCQkJa2ZyZWUoY3FwX3JlcXVlc3QpOwotCQkJfSBlbHNlIHsKLQkJCQlzcGluX2xvY2tfaXJxc2F2ZSgmbmVzZGV2LT5jcXAubG9jaywgZmxhZ3MpOwotCQkJCWxpc3RfYWRkX3RhaWwoJmNxcF9yZXF1ZXN0LT5saXN0LCAmbmVzZGV2LT5jcXBfYXZhaWxfcmVxcyk7Ci0JCQkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmbmVzZGV2LT5jcXAubG9jaywgZmxhZ3MpOwotCQkJfQotCQl9Ci0JCWlmICghcmV0KSB7Ci0JCQllcnIgPSAtRVRJTUU7Ci0JCX0gZWxzZSB7Ci0JCQllcnIgPSAtRUlPOwotCQl9Ci0JfSBlbHNlIHsKLQkJaWYgKGF0b21pY19kZWNfYW5kX3Rlc3QoJmNxcF9yZXF1ZXN0LT5yZWZjb3VudCkpIHsKLQkJCWlmIChjcXBfcmVxdWVzdC0+ZHluYW1pYykgewotCQkJCWtmcmVlKGNxcF9yZXF1ZXN0KTsKLQkJCX0gZWxzZSB7Ci0JCQkJc3Bpbl9sb2NrX2lycXNhdmUoJm5lc2Rldi0+Y3FwLmxvY2ssIGZsYWdzKTsKLQkJCQlsaXN0X2FkZF90YWlsKCZjcXBfcmVxdWVzdC0+bGlzdCwgJm5lc2Rldi0+Y3FwX2F2YWlsX3JlcXMpOwotCQkJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJm5lc2Rldi0+Y3FwLmxvY2ssIGZsYWdzKTsKLQkJCX0KLQkJfQotCX0KKwlpZiAoIXJldCkKKwkJZXJyID0gLUVUSU1FOworCWVsc2UgaWYgKGNxcF9yZXF1ZXN0LT5tYWpvcl9jb2RlKQorCQllcnIgPSAtRUlPOworCisJbmVzX3B1dF9jcXBfcmVxdWVzdChuZXNkZXYsIGNxcF9yZXF1ZXN0KTsKIAogCW5lc19mcmVlX3Jlc291cmNlKG5lc2FkYXB0ZXIsIG5lc2FkYXB0ZXItPmFsbG9jYXRlZF9tcnMsCiAJCQkoaWJtdy0+cmtleSAmIDB4MGZmZmZmMDApID4+IDgpOwpAQCAtNTE2LDcgKzQ3Nyw3IEBACiAJCQkobmVzZm1yLT5uZXNtci5wYmxzX3VzZWQtMSkgOiBuZXNmbXItPm5lc21yLnBibHNfdXNlZCk7CiAKIAlhdG9taWNfc2V0KCZjcXBfcmVxdWVzdC0+cmVmY291bnQsIDIpOwotCW5lc19wb3N0X2NxcF9yZXF1ZXN0KG5lc2RldiwgY3FwX3JlcXVlc3QsIE5FU19DUVBfUkVRVUVTVF9SSU5HX0RPT1JCRUxMKTsKKwluZXNfcG9zdF9jcXBfcmVxdWVzdChuZXNkZXYsIGNxcF9yZXF1ZXN0KTsKIAogCS8qIFdhaXQgZm9yIENRUCAqLwogCXJldCA9IHdhaXRfZXZlbnRfdGltZW91dChjcXBfcmVxdWVzdC0+d2FpdHEsIChjcXBfcmVxdWVzdC0+cmVxdWVzdF9kb25lICE9IDApLApAQCAtNTI2LDI5ICs0ODcsMTEgQEAKIAkJCXN0YWcsIHJldCwgY3FwX3JlcXVlc3QtPm1ham9yX2NvZGUsIGNxcF9yZXF1ZXN0LT5taW5vcl9jb2RlKTsKIAogCWlmICgoIXJldCkgfHwgKGNxcF9yZXF1ZXN0LT5tYWpvcl9jb2RlKSkgewotCQlpZiAoYXRvbWljX2RlY19hbmRfdGVzdCgmY3FwX3JlcXVlc3QtPnJlZmNvdW50KSkgewotCQkJaWYgKGNxcF9yZXF1ZXN0LT5keW5hbWljKSB7Ci0JCQkJa2ZyZWUoY3FwX3JlcXVlc3QpOwotCQkJfSBlbHNlIHsKLQkJCQlzcGluX2xvY2tfaXJxc2F2ZSgmbmVzZGV2LT5jcXAubG9jaywgZmxhZ3MpOwotCQkJCWxpc3RfYWRkX3RhaWwoJmNxcF9yZXF1ZXN0LT5saXN0LCAmbmVzZGV2LT5jcXBfYXZhaWxfcmVxcyk7Ci0JCQkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmbmVzZGV2LT5jcXAubG9jaywgZmxhZ3MpOwotCQkJfQotCQl9CisJCW5lc19wdXRfY3FwX3JlcXVlc3QobmVzZGV2LCBjcXBfcmVxdWVzdCk7CiAJCXJldCA9ICghcmV0KSA/IC1FVElNRSA6IC1FSU87CiAJCWdvdG8gZmFpbGVkX2xlYWZfdnBibF9wYWdlc19hbGxvYzsKLQl9IGVsc2UgewotCQlpZiAoYXRvbWljX2RlY19hbmRfdGVzdCgmY3FwX3JlcXVlc3QtPnJlZmNvdW50KSkgewotCQkJaWYgKGNxcF9yZXF1ZXN0LT5keW5hbWljKSB7Ci0JCQkJa2ZyZWUoY3FwX3JlcXVlc3QpOwotCQkJfSBlbHNlIHsKLQkJCQlzcGluX2xvY2tfaXJxc2F2ZSgmbmVzZGV2LT5jcXAubG9jaywgZmxhZ3MpOwotCQkJCWxpc3RfYWRkX3RhaWwoJmNxcF9yZXF1ZXN0LT5saXN0LCAmbmVzZGV2LT5jcXBfYXZhaWxfcmVxcyk7Ci0JCQkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmbmVzZGV2LT5jcXAubG9jaywgZmxhZ3MpOwotCQkJfQotCQl9CiAJfQotCisJbmVzX3B1dF9jcXBfcmVxdWVzdChuZXNkZXYsIGNxcF9yZXF1ZXN0KTsKIAluZXNmbXItPm5lc21yLmliZm1yLmxrZXkgPSBzdGFnOwogCW5lc2Ztci0+bmVzbXIuaWJmbXIucmtleSA9IHN0YWc7CiAJbmVzZm1yLT5hdHRyID0gKmliZm1yX2F0dHI7CkBAIC0xNDc0LDcgKzE0MTcsNyBAQAogCQkJc2V0X3dxZV82NGJpdF92YWx1ZShjcXBfd3FlLT53cWVfd29yZHMsIE5FU19DUVBfUVBfV1FFX0NPTlRFWFRfTE9XX0lEWCwgdTY0dGVtcCk7CiAKIAkJCWF0b21pY19zZXQoJmNxcF9yZXF1ZXN0LT5yZWZjb3VudCwgMik7Ci0JCQluZXNfcG9zdF9jcXBfcmVxdWVzdChuZXNkZXYsIGNxcF9yZXF1ZXN0LCBORVNfQ1FQX1JFUVVFU1RfUklOR19ET09SQkVMTCk7CisJCQluZXNfcG9zdF9jcXBfcmVxdWVzdChuZXNkZXYsIGNxcF9yZXF1ZXN0KTsKIAogCQkJLyogV2FpdCBmb3IgQ1FQICovCiAJCQluZXNfZGVidWcoTkVTX0RCR19RUCwgIldhaXRpbmcgZm9yIGNyZWF0ZSBpV0FSUCBRUCV1IHRvIGNvbXBsZXRlLlxuIiwKQEAgLTE0ODcsMTUgKzE0MzAsNyBAQAogCQkJCQluZXNxcC0+aHdxcC5xcF9pZCwgcmV0LCBuZXNkZXYtPmNxcC5zcV9oZWFkLCBuZXNkZXYtPmNxcC5zcV90YWlsLAogCQkJCQljcXBfcmVxdWVzdC0+bWFqb3JfY29kZSwgY3FwX3JlcXVlc3QtPm1pbm9yX2NvZGUpOwogCQkJaWYgKCghcmV0KSB8fCAoY3FwX3JlcXVlc3QtPm1ham9yX2NvZGUpKSB7Ci0JCQkJaWYgKGF0b21pY19kZWNfYW5kX3Rlc3QoJmNxcF9yZXF1ZXN0LT5yZWZjb3VudCkpIHsKLQkJCQkJaWYgKGNxcF9yZXF1ZXN0LT5keW5hbWljKSB7Ci0JCQkJCQlrZnJlZShjcXBfcmVxdWVzdCk7Ci0JCQkJCX0gZWxzZSB7Ci0JCQkJCQlzcGluX2xvY2tfaXJxc2F2ZSgmbmVzZGV2LT5jcXAubG9jaywgZmxhZ3MpOwotCQkJCQkJbGlzdF9hZGRfdGFpbCgmY3FwX3JlcXVlc3QtPmxpc3QsICZuZXNkZXYtPmNxcF9hdmFpbF9yZXFzKTsKLQkJCQkJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJm5lc2Rldi0+Y3FwLmxvY2ssIGZsYWdzKTsKLQkJCQkJfQotCQkJCX0KKwkJCQluZXNfcHV0X2NxcF9yZXF1ZXN0KG5lc2RldiwgY3FwX3JlcXVlc3QpOwogCQkJCW5lc19mcmVlX3Jlc291cmNlKG5lc2FkYXB0ZXIsIG5lc2FkYXB0ZXItPmFsbG9jYXRlZF9xcHMsIHFwX251bSk7CiAJCQkJbmVzX2ZyZWVfcXBfbWVtKG5lc2RldiwgbmVzcXAsdmlydF93cXMpOwogCQkJCWtmcmVlKG5lc3FwLT5hbGxvY2F0ZWRfYnVmZmVyKTsKQEAgLTE1MDQsMTggKzE0MzksMTAgQEAKIAkJCQl9IGVsc2UgewogCQkJCQlyZXR1cm4gRVJSX1BUUigtRUlPKTsKIAkJCQl9Ci0JCQl9IGVsc2UgewotCQkJCWlmIChhdG9taWNfZGVjX2FuZF90ZXN0KCZjcXBfcmVxdWVzdC0+cmVmY291bnQpKSB7Ci0JCQkJCWlmIChjcXBfcmVxdWVzdC0+ZHluYW1pYykgewotCQkJCQkJa2ZyZWUoY3FwX3JlcXVlc3QpOwotCQkJCQl9IGVsc2UgewotCQkJCQkJc3Bpbl9sb2NrX2lycXNhdmUoJm5lc2Rldi0+Y3FwLmxvY2ssIGZsYWdzKTsKLQkJCQkJCWxpc3RfYWRkX3RhaWwoJmNxcF9yZXF1ZXN0LT5saXN0LCAmbmVzZGV2LT5jcXBfYXZhaWxfcmVxcyk7Ci0JCQkJCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZuZXNkZXYtPmNxcC5sb2NrLCBmbGFncyk7Ci0JCQkJCX0KLQkJCQl9CiAJCQl9CiAKKwkJCW5lc19wdXRfY3FwX3JlcXVlc3QobmVzZGV2LCBjcXBfcmVxdWVzdCk7CisKIAkJCWlmIChpYnBkLT51b2JqZWN0KSB7CiAJCQkJdXJlc3AubW1hcF9zcV9kYl9pbmRleCA9IG5lc3FwLT5tbWFwX3NxX2RiX2luZGV4OwogCQkJCXVyZXNwLmFjdHVhbF9zcV9zaXplID0gc3Ffc2l6ZTsKQEAgLTE4MTcsNyArMTc0NCw3IEBACiAJCQljcHVfdG9fbGUzMigoKHUzMikoKHU2NHRlbXApID4+IDMzKSkgJiAweDdGRkZGRkZGKTsKIAogCWF0b21pY19zZXQoJmNxcF9yZXF1ZXN0LT5yZWZjb3VudCwgMik7Ci0JbmVzX3Bvc3RfY3FwX3JlcXVlc3QobmVzZGV2LCBjcXBfcmVxdWVzdCwgTkVTX0NRUF9SRVFVRVNUX1JJTkdfRE9PUkJFTEwpOworCW5lc19wb3N0X2NxcF9yZXF1ZXN0KG5lc2RldiwgY3FwX3JlcXVlc3QpOwogCiAJLyogV2FpdCBmb3IgQ1FQICovCiAJbmVzX2RlYnVnKE5FU19EQkdfQ1EsICJXYWl0aW5nIGZvciBjcmVhdGUgaVdBUlAgQ1EldSB0byBjb21wbGV0ZS5cbiIsCkBAIC0xODI3LDMyICsxNzU0LDE1IEBACiAJbmVzX2RlYnVnKE5FU19EQkdfQ1EsICJDcmVhdGUgaVdBUlAgQ1EldSBjb21wbGV0ZWQsIHdhaXRfZXZlbnRfdGltZW91dCByZXQgPSAlZC5cbiIsCiAJCQluZXNjcS0+aHdfY3EuY3FfbnVtYmVyLCByZXQpOwogCWlmICgoIXJldCkgfHwgKGNxcF9yZXF1ZXN0LT5tYWpvcl9jb2RlKSkgewotCQlpZiAoYXRvbWljX2RlY19hbmRfdGVzdCgmY3FwX3JlcXVlc3QtPnJlZmNvdW50KSkgewotCQkJaWYgKGNxcF9yZXF1ZXN0LT5keW5hbWljKSB7Ci0JCQkJa2ZyZWUoY3FwX3JlcXVlc3QpOwotCQkJfSBlbHNlIHsKLQkJCQlzcGluX2xvY2tfaXJxc2F2ZSgmbmVzZGV2LT5jcXAubG9jaywgZmxhZ3MpOwotCQkJCWxpc3RfYWRkX3RhaWwoJmNxcF9yZXF1ZXN0LT5saXN0LCAmbmVzZGV2LT5jcXBfYXZhaWxfcmVxcyk7Ci0JCQkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmbmVzZGV2LT5jcXAubG9jaywgZmxhZ3MpOwotCQkJfQotCQl9CisJCW5lc19wdXRfY3FwX3JlcXVlc3QobmVzZGV2LCBjcXBfcmVxdWVzdCk7CiAJCWlmICghY29udGV4dCkKIAkJCXBjaV9mcmVlX2NvbnNpc3RlbnQobmVzZGV2LT5wY2lkZXYsIG5lc2NxLT5jcV9tZW1fc2l6ZSwgbWVtLAogCQkJCQluZXNjcS0+aHdfY3EuY3FfcGJhc2UpOwogCQluZXNfZnJlZV9yZXNvdXJjZShuZXNhZGFwdGVyLCBuZXNhZGFwdGVyLT5hbGxvY2F0ZWRfY3FzLCBjcV9udW0pOwogCQlrZnJlZShuZXNjcSk7CiAJCXJldHVybiBFUlJfUFRSKC1FSU8pOwotCX0gZWxzZSB7Ci0JCWlmIChhdG9taWNfZGVjX2FuZF90ZXN0KCZjcXBfcmVxdWVzdC0+cmVmY291bnQpKSB7Ci0JCQlpZiAoY3FwX3JlcXVlc3QtPmR5bmFtaWMpIHsKLQkJCQlrZnJlZShjcXBfcmVxdWVzdCk7Ci0JCQl9IGVsc2UgewotCQkJCXNwaW5fbG9ja19pcnFzYXZlKCZuZXNkZXYtPmNxcC5sb2NrLCBmbGFncyk7Ci0JCQkJbGlzdF9hZGRfdGFpbCgmY3FwX3JlcXVlc3QtPmxpc3QsICZuZXNkZXYtPmNxcF9hdmFpbF9yZXFzKTsKLQkJCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZuZXNkZXYtPmNxcC5sb2NrLCBmbGFncyk7Ci0JCQl9Ci0JCX0KIAl9CisJbmVzX3B1dF9jcXBfcmVxdWVzdChuZXNkZXYsIGNxcF9yZXF1ZXN0KTsKIAogCWlmIChjb250ZXh0KSB7CiAJCS8qIGZyZWUgdGhlIG5lc3BibCAqLwpAQCAtMTkzMSw3ICsxODQxLDcgQEAKIAkJKG5lc2NxLT5od19jcS5jcV9udW1iZXIgfCAoKHUzMilQQ0lfRlVOQyhuZXNkZXYtPnBjaWRldi0+ZGV2Zm4pIDw8IDE2KSkpOwogCW5lc19mcmVlX3Jlc291cmNlKG5lc2FkYXB0ZXIsIG5lc2FkYXB0ZXItPmFsbG9jYXRlZF9jcXMsIG5lc2NxLT5od19jcS5jcV9udW1iZXIpOwogCWF0b21pY19zZXQoJmNxcF9yZXF1ZXN0LT5yZWZjb3VudCwgMik7Ci0JbmVzX3Bvc3RfY3FwX3JlcXVlc3QobmVzZGV2LCBjcXBfcmVxdWVzdCwgTkVTX0NRUF9SRVFVRVNUX1JJTkdfRE9PUkJFTEwpOworCW5lc19wb3N0X2NxcF9yZXF1ZXN0KG5lc2RldiwgY3FwX3JlcXVlc3QpOwogCiAJLyogV2FpdCBmb3IgQ1FQICovCiAJbmVzX2RlYnVnKE5FU19EQkdfQ1EsICJXYWl0aW5nIGZvciBkZXN0cm95IGlXQVJQIENRJXUgdG8gY29tcGxldGUuXG4iLApAQCAtMTk0MiwzNyArMTg1MiwxOCBAQAogCQkJIiBDUVAgTWFqb3I6TWlub3IgY29kZXMgPSAweCUwNFg6MHglMDRYLlxuIiwKIAkJCW5lc2NxLT5od19jcS5jcV9udW1iZXIsIHJldCwgY3FwX3JlcXVlc3QtPm1ham9yX2NvZGUsCiAJCQljcXBfcmVxdWVzdC0+bWlub3JfY29kZSk7Ci0JaWYgKCghcmV0KSB8fCAoY3FwX3JlcXVlc3QtPm1ham9yX2NvZGUpKSB7Ci0JCWlmIChhdG9taWNfZGVjX2FuZF90ZXN0KCZjcXBfcmVxdWVzdC0+cmVmY291bnQpKSB7Ci0JCQlpZiAoY3FwX3JlcXVlc3QtPmR5bmFtaWMpIHsKLQkJCQlrZnJlZShjcXBfcmVxdWVzdCk7Ci0JCQl9IGVsc2UgewotCQkJCXNwaW5fbG9ja19pcnFzYXZlKCZuZXNkZXYtPmNxcC5sb2NrLCBmbGFncyk7Ci0JCQkJbGlzdF9hZGRfdGFpbCgmY3FwX3JlcXVlc3QtPmxpc3QsICZuZXNkZXYtPmNxcF9hdmFpbF9yZXFzKTsKLQkJCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZuZXNkZXYtPmNxcC5sb2NrLCBmbGFncyk7Ci0JCQl9Ci0JCX0KLQkJaWYgKCFyZXQpIHsKLQkJCW5lc19kZWJ1ZyhORVNfREJHX0NRLCAiaVdBUlAgQ1EldSBkZXN0cm95IHRpbWVvdXQgZXhwaXJlZFxuIiwKKwlpZiAoIXJldCkgeworCQluZXNfZGVidWcoTkVTX0RCR19DUSwgImlXQVJQIENRJXUgZGVzdHJveSB0aW1lb3V0IGV4cGlyZWRcbiIsCiAJCQkJCW5lc2NxLT5od19jcS5jcV9udW1iZXIpOwotCQkJcmV0ID0gLUVUSU1FOwotCQl9IGVsc2UgewotCQkJbmVzX2RlYnVnKE5FU19EQkdfQ1EsICJpV0FSUCBDUSV1IGRlc3Ryb3kgZmFpbGVkXG4iLAorCQlyZXQgPSAtRVRJTUU7CisJfSBlbHNlIGlmIChjcXBfcmVxdWVzdC0+bWFqb3JfY29kZSkgeworCQluZXNfZGVidWcoTkVTX0RCR19DUSwgImlXQVJQIENRJXUgZGVzdHJveSBmYWlsZWRcbiIsCiAJCQkJCW5lc2NxLT5od19jcS5jcV9udW1iZXIpOwotCQkJcmV0ID0gLUVJTzsKLQkJfQorCQlyZXQgPSAtRUlPOwogCX0gZWxzZSB7CiAJCXJldCA9IDA7Ci0JCWlmIChhdG9taWNfZGVjX2FuZF90ZXN0KCZjcXBfcmVxdWVzdC0+cmVmY291bnQpKSB7Ci0JCQlpZiAoY3FwX3JlcXVlc3QtPmR5bmFtaWMpIHsKLQkJCQlrZnJlZShjcXBfcmVxdWVzdCk7Ci0JCQl9IGVsc2UgewotCQkJCXNwaW5fbG9ja19pcnFzYXZlKCZuZXNkZXYtPmNxcC5sb2NrLCBmbGFncyk7Ci0JCQkJbGlzdF9hZGRfdGFpbCgmY3FwX3JlcXVlc3QtPmxpc3QsICZuZXNkZXYtPmNxcF9hdmFpbF9yZXFzKTsKLQkJCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZuZXNkZXYtPmNxcC5sb2NrLCBmbGFncyk7Ci0JCQl9Ci0JCX0KIAl9CisJbmVzX3B1dF9jcXBfcmVxdWVzdChuZXNkZXYsIGNxcF9yZXF1ZXN0KTsKIAogCWlmIChuZXNjcS0+Y3FfbWVtX3NpemUpCiAJCXBjaV9mcmVlX2NvbnNpc3RlbnQobmVzZGV2LT5wY2lkZXYsIG5lc2NxLT5jcV9tZW1fc2l6ZSwKQEAgLTIwOTYsNyArMTk4Nyw3IEBACiAJYmFycmllcigpOwogCiAJYXRvbWljX3NldCgmY3FwX3JlcXVlc3QtPnJlZmNvdW50LCAyKTsKLQluZXNfcG9zdF9jcXBfcmVxdWVzdChuZXNkZXYsIGNxcF9yZXF1ZXN0LCBORVNfQ1FQX1JFUVVFU1RfUklOR19ET09SQkVMTCk7CisJbmVzX3Bvc3RfY3FwX3JlcXVlc3QobmVzZGV2LCBjcXBfcmVxdWVzdCk7CiAKIAkvKiBXYWl0IGZvciBDUVAgKi8KIAlyZXQgPSB3YWl0X2V2ZW50X3RpbWVvdXQoY3FwX3JlcXVlc3QtPndhaXRxLCAoMCAhPSBjcXBfcmVxdWVzdC0+cmVxdWVzdF9kb25lKSwKQEAgLTIxMDUsMTUgKzE5OTYsOCBAQAogCQkJIiBDUVAgTWFqb3I6TWlub3IgY29kZXMgPSAweCUwNFg6MHglMDRYLlxuIiwKIAkJCXN0YWcsIHJldCwgY3FwX3JlcXVlc3QtPm1ham9yX2NvZGUsIGNxcF9yZXF1ZXN0LT5taW5vcl9jb2RlKTsKIAltYWpvcl9jb2RlID0gY3FwX3JlcXVlc3QtPm1ham9yX2NvZGU7Ci0JaWYgKGF0b21pY19kZWNfYW5kX3Rlc3QoJmNxcF9yZXF1ZXN0LT5yZWZjb3VudCkpIHsKLQkJaWYgKGNxcF9yZXF1ZXN0LT5keW5hbWljKSB7Ci0JCQlrZnJlZShjcXBfcmVxdWVzdCk7Ci0JCX0gZWxzZSB7Ci0JCQlzcGluX2xvY2tfaXJxc2F2ZSgmbmVzZGV2LT5jcXAubG9jaywgZmxhZ3MpOwotCQkJbGlzdF9hZGRfdGFpbCgmY3FwX3JlcXVlc3QtPmxpc3QsICZuZXNkZXYtPmNxcF9hdmFpbF9yZXFzKTsKLQkJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJm5lc2Rldi0+Y3FwLmxvY2ssIGZsYWdzKTsKLQkJfQotCX0KKwluZXNfcHV0X2NxcF9yZXF1ZXN0KG5lc2RldiwgY3FwX3JlcXVlc3QpOworCiAJaWYgKCFyZXQpCiAJCXJldHVybiAtRVRJTUU7CiAJZWxzZSBpZiAobWFqb3JfY29kZSkKQEAgLTI3NTQsNyArMjYzOCw3IEBACiAJc2V0X3dxZV8zMmJpdF92YWx1ZShjcXBfd3FlLT53cWVfd29yZHMsIE5FU19DUVBfU1RBR19XUUVfU1RBR19JRFgsIGliX21yLT5ya2V5KTsKIAogCWF0b21pY19zZXQoJmNxcF9yZXF1ZXN0LT5yZWZjb3VudCwgMik7Ci0JbmVzX3Bvc3RfY3FwX3JlcXVlc3QobmVzZGV2LCBjcXBfcmVxdWVzdCwgTkVTX0NRUF9SRVFVRVNUX1JJTkdfRE9PUkJFTEwpOworCW5lc19wb3N0X2NxcF9yZXF1ZXN0KG5lc2RldiwgY3FwX3JlcXVlc3QpOwogCiAJLyogV2FpdCBmb3IgQ1FQICovCiAJbmVzX2RlYnVnKE5FU19EQkdfTVIsICJXYWl0aW5nIGZvciBkZWFsbG9jYXRlIFNUYWcgMHglMDhYIGNvbXBsZXRlZFxuIiwgaWJfbXItPnJrZXkpOwpAQCAtMjc3MSwxNSArMjY1NSw5IEBACiAKIAltYWpvcl9jb2RlID0gY3FwX3JlcXVlc3QtPm1ham9yX2NvZGU7CiAJbWlub3JfY29kZSA9IGNxcF9yZXF1ZXN0LT5taW5vcl9jb2RlOwotCWlmIChhdG9taWNfZGVjX2FuZF90ZXN0KCZjcXBfcmVxdWVzdC0+cmVmY291bnQpKSB7Ci0JCWlmIChjcXBfcmVxdWVzdC0+ZHluYW1pYykgewotCQkJa2ZyZWUoY3FwX3JlcXVlc3QpOwotCQl9IGVsc2UgewotCQkJc3Bpbl9sb2NrX2lycXNhdmUoJm5lc2Rldi0+Y3FwLmxvY2ssIGZsYWdzKTsKLQkJCWxpc3RfYWRkX3RhaWwoJmNxcF9yZXF1ZXN0LT5saXN0LCAmbmVzZGV2LT5jcXBfYXZhaWxfcmVxcyk7Ci0JCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZuZXNkZXYtPmNxcC5sb2NrLCBmbGFncyk7Ci0JCX0KLQl9CisKKwluZXNfcHV0X2NxcF9yZXF1ZXN0KG5lc2RldiwgY3FwX3JlcXVlc3QpOworCiAJaWYgKCFyZXQpIHsKIAkJbmVzX2RlYnVnKE5FU19EQkdfTVIsICJUaW1lb3V0IHdhaXRpbmcgdG8gZGVzdHJveSBTVGFnLCIKIAkJCQkiIGliX21yPSVwLCBya2V5ID0gMHglMDhYXG4iLApAQCAtMjkwNCw3ICsyNzgyLDYgQEAKIAkvKiBzdHJ1Y3QgaXdfY21faWQgKmNtX2lkID0gbmVzcXAtPmNtX2lkOyAqLwogCS8qIHN0cnVjdCBpd19jbV9ldmVudCBjbV9ldmVudDsgKi8KIAlzdHJ1Y3QgbmVzX2NxcF9yZXF1ZXN0ICpjcXBfcmVxdWVzdDsKLQl1bnNpZ25lZCBsb25nIGZsYWdzOwogCWludCByZXQ7CiAJdTE2IG1ham9yX2NvZGU7CiAKQEAgLTI5MzIsNyArMjgwOSw3IEBACiAJc2V0X3dxZV82NGJpdF92YWx1ZShjcXBfd3FlLT53cWVfd29yZHMsIE5FU19DUVBfUVBfV1FFX0NPTlRFWFRfTE9XX0lEWCwgKHU2NCluZXNxcC0+bmVzcXBfY29udGV4dF9wYmFzZSk7CiAKIAlhdG9taWNfc2V0KCZjcXBfcmVxdWVzdC0+cmVmY291bnQsIDIpOwotCW5lc19wb3N0X2NxcF9yZXF1ZXN0KG5lc2RldiwgY3FwX3JlcXVlc3QsIE5FU19DUVBfUkVRVUVTVF9SSU5HX0RPT1JCRUxMKTsKKwluZXNfcG9zdF9jcXBfcmVxdWVzdChuZXNkZXYsIGNxcF9yZXF1ZXN0KTsKIAogCS8qIFdhaXQgZm9yIENRUCAqLwogCWlmICh3YWl0X2NvbXBsZXRpb24pIHsKQEAgLTI5NTAsMTUgKzI4MjcsOSBAQAogCQkJCQluZXNxcC0+aHdxcC5xcF9pZCwgY3FwX3JlcXVlc3QtPm1ham9yX2NvZGUsCiAJCQkJCWNxcF9yZXF1ZXN0LT5taW5vcl9jb2RlLCBuZXh0X2l3YXJwX3N0YXRlKTsKIAkJfQotCQlpZiAoYXRvbWljX2RlY19hbmRfdGVzdCgmY3FwX3JlcXVlc3QtPnJlZmNvdW50KSkgewotCQkJaWYgKGNxcF9yZXF1ZXN0LT5keW5hbWljKSB7Ci0JCQkJa2ZyZWUoY3FwX3JlcXVlc3QpOwotCQkJfSBlbHNlIHsKLQkJCQlzcGluX2xvY2tfaXJxc2F2ZSgmbmVzZGV2LT5jcXAubG9jaywgZmxhZ3MpOwotCQkJCWxpc3RfYWRkX3RhaWwoJmNxcF9yZXF1ZXN0LT5saXN0LCAmbmVzZGV2LT5jcXBfYXZhaWxfcmVxcyk7Ci0JCQkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmbmVzZGV2LT5jcXAubG9jaywgZmxhZ3MpOwotCQkJfQotCQl9CisKKwkJbmVzX3B1dF9jcXBfcmVxdWVzdChuZXNkZXYsIGNxcF9yZXF1ZXN0KTsKKwogCQlpZiAoIXJldCkKIAkJCXJldHVybiAtRVRJTUU7CiAJCWVsc2UgaWYgKG1ham9yX2NvZGUpCmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvdWxwL2lwb2liL0tjb25maWcgYi9kcml2ZXJzL2luZmluaWJhbmQvdWxwL2lwb2liL0tjb25maWcKaW5kZXggMWY3NmJhZC4uNjkxNTI1YyAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL3VscC9pcG9pYi9LY29uZmlnCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC91bHAvaXBvaWIvS2NvbmZpZwpAQCAtMSw2ICsxLDcgQEAKIGNvbmZpZyBJTkZJTklCQU5EX0lQT0lCCiAJdHJpc3RhdGUgIklQLW92ZXItSW5maW5pQmFuZCIKIAlkZXBlbmRzIG9uIE5FVERFVklDRVMgJiYgSU5FVCAmJiAoSVBWNiB8fCBJUFY2PW4pCisJc2VsZWN0IElORVRfTFJPCiAJLS0taGVscC0tLQogCSAgU3VwcG9ydCBmb3IgdGhlIElQLW92ZXItSW5maW5pQmFuZCBwcm90b2NvbCAoSVBvSUIpLiBUaGlzCiAJICB0cmFuc3BvcnRzIElQIHBhY2tldHMgb3ZlciBJbmZpbmlCYW5kIHNvIHlvdSBjYW4gdXNlIHlvdXIgSUIKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC91bHAvaXBvaWIvaXBvaWIuaCBiL2RyaXZlcnMvaW5maW5pYmFuZC91bHAvaXBvaWIvaXBvaWIuaAppbmRleCBjYTEyNmZjLi5iMGZmYzlhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvdWxwL2lwb2liL2lwb2liLmgKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL3VscC9pcG9pYi9pcG9pYi5oCkBAIC0zMCw4ICszMCw2IEBACiAgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgogICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogICogU09GVFdBUkUuCi0gKgotICogJElkOiBpcG9pYi5oIDEzNTggMjAwNC0xMi0xNyAyMjowMDoxMVogcm9sYW5kICQKICAqLwogCiAjaWZuZGVmIF9JUE9JQl9ICkBAIC01Miw5ICs1MCwxNiBAQAogI2luY2x1ZGUgPHJkbWEvaWJfdmVyYnMuaD4KICNpbmNsdWRlIDxyZG1hL2liX3BhY2suaD4KICNpbmNsdWRlIDxyZG1hL2liX3NhLmg+CisjaW5jbHVkZSA8bGludXgvaW5ldF9scm8uaD4KIAogLyogY29uc3RhbnRzICovCiAKK2VudW0gaXBvaWJfZmx1c2hfbGV2ZWwgeworCUlQT0lCX0ZMVVNIX0xJR0hULAorCUlQT0lCX0ZMVVNIX05PUk1BTCwKKwlJUE9JQl9GTFVTSF9IRUFWWQorfTsKKwogZW51bSB7CiAJSVBPSUJfRU5DQVBfTEVOCQkgID0gNCwKIApAQCAtNjUsOCArNzAsOCBAQAogCUlQT0lCX0NNX0JVRl9TSVpFCSAgPSBJUE9JQl9DTV9NVFUgICsgSVBPSUJfRU5DQVBfTEVOLAogCUlQT0lCX0NNX0hFQURfU0laRQkgID0gSVBPSUJfQ01fQlVGX1NJWkUgJSBQQUdFX1NJWkUsCiAJSVBPSUJfQ01fUlhfU0cJCSAgPSBBTElHTihJUE9JQl9DTV9CVUZfU0laRSwgUEFHRV9TSVpFKSAvIFBBR0VfU0laRSwKLQlJUE9JQl9SWF9SSU5HX1NJWkUJICA9IDEyOCwKLQlJUE9JQl9UWF9SSU5HX1NJWkUJICA9IDY0LAorCUlQT0lCX1JYX1JJTkdfU0laRQkgID0gMjU2LAorCUlQT0lCX1RYX1JJTkdfU0laRQkgID0gMTI4LAogCUlQT0lCX01BWF9RVUVVRV9TSVpFCSAgPSA4MTkyLAogCUlQT0lCX01JTl9RVUVVRV9TSVpFCSAgPSAyLAogCUlQT0lCX0NNX01BWF9DT05OX1FQCSAgPSA0MDk2LApAQCAtODQsNyArODksNiBAQAogCUlQT0lCX0ZMQUdfU1VCSU5URVJGQUNFCSAgPSA1LAogCUlQT0lCX01DQVNUX1JVTgkJICA9IDYsCiAJSVBPSUJfU1RPUF9SRUFQRVIJICA9IDcsCi0JSVBPSUJfTUNBU1RfU1RBUlRFRAkgID0gOCwKIAlJUE9JQl9GTEFHX0FETUlOX0NNCSAgPSA5LAogCUlQT0lCX0ZMQUdfVU1DQVNUCSAgPSAxMCwKIAlJUE9JQl9GTEFHX0NTVU0JCSAgPSAxMSwKQEAgLTk2LDcgKzEwMCwxMSBAQAogCUlQT0lCX01DQVNUX0ZMQUdfQlVTWQkgID0gMiwJLyogam9pbmluZyBvciBhbHJlYWR5IGpvaW5lZCAqLwogCUlQT0lCX01DQVNUX0ZMQUdfQVRUQUNIRUQgPSAzLAogCisJSVBPSUJfTUFYX0xST19ERVNDUklQVE9SUyA9IDgsCisJSVBPSUJfTFJPX01BWF9BR0dSIAkgID0gNjQsCisKIAlNQVhfU0VORF9DUUUJCSAgPSAxNiwKKwlJUE9JQl9DTV9DT1BZQlJFQUsJICA9IDI1NiwKIH07CiAKICNkZWZpbmUJSVBPSUJfT1BfUkVDViAgICgxdWwgPDwgMzEpCkBAIC0xNDksNiArMTU3LDExIEBACiAJdTY0CQltYXBwaW5nW01BWF9TS0JfRlJBR1MgKyAxXTsKIH07CiAKK3N0cnVjdCBpcG9pYl9jbV90eF9idWYgeworCXN0cnVjdCBza19idWZmICpza2I7CisJdTY0CQltYXBwaW5nOworfTsKKwogc3RydWN0IGliX2NtX2lkOwogCiBzdHJ1Y3QgaXBvaWJfY21fZGF0YSB7CkBAIC0yMDcsNyArMjIwLDcgQEAKIAlzdHJ1Y3QgbmV0X2RldmljZSAgICpkZXY7CiAJc3RydWN0IGlwb2liX25laWdoICAqbmVpZ2g7CiAJc3RydWN0IGlwb2liX3BhdGggICAqcGF0aDsKLQlzdHJ1Y3QgaXBvaWJfdHhfYnVmICp0eF9yaW5nOworCXN0cnVjdCBpcG9pYl9jbV90eF9idWYgKnR4X3Jpbmc7CiAJdW5zaWduZWQJICAgICB0eF9oZWFkOwogCXVuc2lnbmVkCSAgICAgdHhfdGFpbDsKIAl1bnNpZ25lZCBsb25nCSAgICAgZmxhZ3M7CkBAIC0yNDksNiArMjYyLDExIEBACiAJdTE2ICAgICBtYXhfY29hbGVzY2VkX2ZyYW1lczsKIH07CiAKK3N0cnVjdCBpcG9pYl9scm8geworCXN0cnVjdCBuZXRfbHJvX21nciBscm9fbWdyOworCXN0cnVjdCBuZXRfbHJvX2Rlc2MgbHJvX2Rlc2NbSVBPSUJfTUFYX0xST19ERVNDUklQVE9SU107Cit9OworCiAvKgogICogRGV2aWNlIHByaXZhdGUgbG9ja2luZzogdHhfbG9jayBwcm90ZWN0cyBtZW1iZXJzIHVzZWQgaW4gVFggZmFzdAogICogcGF0aCAoYW5kIHdlIHVzZSBMTFRYIHNvIHVwcGVyIGxheWVycyBkb24ndCBkbyBleHRyYSBsb2NraW5nKS4KQEAgLTI2NCw3ICsyODIsNiBAQAogCiAJdW5zaWduZWQgbG9uZyBmbGFnczsKIAotCXN0cnVjdCBtdXRleCBtY2FzdF9tdXRleDsKIAlzdHJ1Y3QgbXV0ZXggdmxhbl9tdXRleDsKIAogCXN0cnVjdCByYl9yb290ICBwYXRoX3RyZWU7CkBAIC0yNzYsMTAgKzI5MywxMSBAQAogCiAJc3RydWN0IGRlbGF5ZWRfd29yayBwa2V5X3BvbGxfdGFzazsKIAlzdHJ1Y3QgZGVsYXllZF93b3JrIG1jYXN0X3Rhc2s7Ci0Jc3RydWN0IHdvcmtfc3RydWN0IGZsdXNoX3Rhc2s7CisJc3RydWN0IHdvcmtfc3RydWN0IGZsdXNoX2xpZ2h0OworCXN0cnVjdCB3b3JrX3N0cnVjdCBmbHVzaF9ub3JtYWw7CisJc3RydWN0IHdvcmtfc3RydWN0IGZsdXNoX2hlYXZ5OwogCXN0cnVjdCB3b3JrX3N0cnVjdCByZXN0YXJ0X3Rhc2s7CiAJc3RydWN0IGRlbGF5ZWRfd29yayBhaF9yZWFwX3Rhc2s7Ci0Jc3RydWN0IHdvcmtfc3RydWN0IHBrZXlfZXZlbnRfdGFzazsKIAogCXN0cnVjdCBpYl9kZXZpY2UgKmNhOwogCXU4CQkgIHBvcnQ7CkBAIC0zMzUsNiArMzUzLDggQEAKIAlpbnQJaGNhX2NhcHM7CiAJc3RydWN0IGlwb2liX2V0aHRvb2xfc3QgZXRodG9vbDsKIAlzdHJ1Y3QgdGltZXJfbGlzdCBwb2xsX3RpbWVyOworCisJc3RydWN0IGlwb2liX2xybyBscm87CiB9OwogCiBzdHJ1Y3QgaXBvaWJfYWggewpAQCAtMzU5LDYgKzM3OSw3IEBACiAKIAlzdHJ1Y3QgcmJfbm9kZQkgICAgICByYl9ub2RlOwogCXN0cnVjdCBsaXN0X2hlYWQgICAgICBsaXN0OworCWludCAgCQkgICAgICB2YWxpZDsKIH07CiAKIHN0cnVjdCBpcG9pYl9uZWlnaCB7CkBAIC00MjMsMTEgKzQ0NCwxNCBAQAogCQlzdHJ1Y3QgaXBvaWJfYWggKmFkZHJlc3MsIHUzMiBxcG4pOwogdm9pZCBpcG9pYl9yZWFwX2FoKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yayk7CiAKK3ZvaWQgaXBvaWJfbWFya19wYXRoc19pbnZhbGlkKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYpOwogdm9pZCBpcG9pYl9mbHVzaF9wYXRocyhzdHJ1Y3QgbmV0X2RldmljZSAqZGV2KTsKIHN0cnVjdCBpcG9pYl9kZXZfcHJpdiAqaXBvaWJfaW50Zl9hbGxvYyhjb25zdCBjaGFyICpmb3JtYXQpOwogCiBpbnQgaXBvaWJfaWJfZGV2X2luaXQoc3RydWN0IG5ldF9kZXZpY2UgKmRldiwgc3RydWN0IGliX2RldmljZSAqY2EsIGludCBwb3J0KTsKLXZvaWQgaXBvaWJfaWJfZGV2X2ZsdXNoKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yayk7Cit2b2lkIGlwb2liX2liX2Rldl9mbHVzaF9saWdodChzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspOwordm9pZCBpcG9pYl9pYl9kZXZfZmx1c2hfbm9ybWFsKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yayk7Cit2b2lkIGlwb2liX2liX2Rldl9mbHVzaF9oZWF2eShzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspOwogdm9pZCBpcG9pYl9wa2V5X2V2ZW50KHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yayk7CiB2b2lkIGlwb2liX2liX2Rldl9jbGVhbnVwKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYpOwogCkBAIC00NjYsOSArNDkwLDcgQEAKICNlbmRpZgogCiBpbnQgaXBvaWJfbWNhc3RfYXR0YWNoKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsIHUxNiBtbGlkLAotCQkgICAgICAgdW5pb24gaWJfZ2lkICptZ2lkKTsKLWludCBpcG9pYl9tY2FzdF9kZXRhY2goc3RydWN0IG5ldF9kZXZpY2UgKmRldiwgdTE2IG1saWQsCi0JCSAgICAgICB1bmlvbiBpYl9naWQgKm1naWQpOworCQkgICAgICAgdW5pb24gaWJfZ2lkICptZ2lkLCBpbnQgc2V0X3FrZXkpOwogCiBpbnQgaXBvaWJfaW5pdF9xcChzdHJ1Y3QgbmV0X2RldmljZSAqZGV2KTsKIGludCBpcG9pYl90cmFuc3BvcnRfZGV2X2luaXQoc3RydWN0IG5ldF9kZXZpY2UgKmRldiwgc3RydWN0IGliX2RldmljZSAqY2EpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL3VscC9pcG9pYi9pcG9pYl9jbS5jIGIvZHJpdmVycy9pbmZpbmliYW5kL3VscC9pcG9pYi9pcG9pYl9jbS5jCmluZGV4IDk3ZTY3ZDMuLjBmMmQzMDQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC91bHAvaXBvaWIvaXBvaWJfY20uYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvdWxwL2lwb2liL2lwb2liX2NtLmMKQEAgLTI4LDggKzI4LDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQkCiAgKi8KIAogI2luY2x1ZGUgPHJkbWEvaWJfY20uaD4KQEAgLTExMywxOCArMTExLDIwIEBACiB9CiAKIHN0YXRpYyBpbnQgaXBvaWJfY21fcG9zdF9yZWNlaXZlX25vbnNycShzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LAotCQkJCQlzdHJ1Y3QgaXBvaWJfY21fcnggKnJ4LCBpbnQgaWQpCisJCQkJCXN0cnVjdCBpcG9pYl9jbV9yeCAqcngsCisJCQkJCXN0cnVjdCBpYl9yZWN2X3dyICp3ciwKKwkJCQkJc3RydWN0IGliX3NnZSAqc2dlLCBpbnQgaWQpCiB7CiAJc3RydWN0IGlwb2liX2Rldl9wcml2ICpwcml2ID0gbmV0ZGV2X3ByaXYoZGV2KTsKIAlzdHJ1Y3QgaWJfcmVjdl93ciAqYmFkX3dyOwogCWludCBpLCByZXQ7CiAKLQlwcml2LT5jbS5yeF93ci53cl9pZCA9IGlkIHwgSVBPSUJfT1BfQ00gfCBJUE9JQl9PUF9SRUNWOworCXdyLT53cl9pZCA9IGlkIHwgSVBPSUJfT1BfQ00gfCBJUE9JQl9PUF9SRUNWOwogCiAJZm9yIChpID0gMDsgaSA8IElQT0lCX0NNX1JYX1NHOyArK2kpCi0JCXByaXYtPmNtLnJ4X3NnZVtpXS5hZGRyID0gcngtPnJ4X3JpbmdbaWRdLm1hcHBpbmdbaV07CisJCXNnZVtpXS5hZGRyID0gcngtPnJ4X3JpbmdbaWRdLm1hcHBpbmdbaV07CiAKLQlyZXQgPSBpYl9wb3N0X3JlY3YocngtPnFwLCAmcHJpdi0+Y20ucnhfd3IsICZiYWRfd3IpOworCXJldCA9IGliX3Bvc3RfcmVjdihyeC0+cXAsIHdyLCAmYmFkX3dyKTsKIAlpZiAodW5saWtlbHkocmV0KSkgewogCQlpcG9pYl93YXJuKHByaXYsICJwb3N0IHJlY3YgZmFpbGVkIGZvciBidWYgJWQgKCVkKVxuIiwgaWQsIHJldCk7CiAJCWlwb2liX2NtX2RtYV91bm1hcF9yeChwcml2LCBJUE9JQl9DTV9SWF9TRyAtIDEsCkBAIC0zMjIsMTAgKzMyMiwzMyBAQAogCXJldHVybiAwOwogfQogCitzdGF0aWMgdm9pZCBpcG9pYl9jbV9pbml0X3J4X3dyKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsCisJCQkJc3RydWN0IGliX3JlY3Zfd3IgKndyLAorCQkJCXN0cnVjdCBpYl9zZ2UgKnNnZSkKK3sKKwlzdHJ1Y3QgaXBvaWJfZGV2X3ByaXYgKnByaXYgPSBuZXRkZXZfcHJpdihkZXYpOworCWludCBpOworCisJZm9yIChpID0gMDsgaSA8IHByaXYtPmNtLm51bV9mcmFnczsgKytpKQorCQlzZ2VbaV0ubGtleSA9IHByaXYtPm1yLT5sa2V5OworCisJc2dlWzBdLmxlbmd0aCA9IElQT0lCX0NNX0hFQURfU0laRTsKKwlmb3IgKGkgPSAxOyBpIDwgcHJpdi0+Y20ubnVtX2ZyYWdzOyArK2kpCisJCXNnZVtpXS5sZW5ndGggPSBQQUdFX1NJWkU7CisKKwl3ci0+bmV4dCAgICA9IE5VTEw7CisJd3ItPnNnX2xpc3QgPSBwcml2LT5jbS5yeF9zZ2U7CisJd3ItPm51bV9zZ2UgPSBwcml2LT5jbS5udW1fZnJhZ3M7Cit9CisKIHN0YXRpYyBpbnQgaXBvaWJfY21fbm9uc3JxX2luaXRfcngoc3RydWN0IG5ldF9kZXZpY2UgKmRldiwgc3RydWN0IGliX2NtX2lkICpjbV9pZCwKIAkJCQkgICBzdHJ1Y3QgaXBvaWJfY21fcnggKnJ4KQogewogCXN0cnVjdCBpcG9pYl9kZXZfcHJpdiAqcHJpdiA9IG5ldGRldl9wcml2KGRldik7CisJc3RydWN0IHsKKwkJc3RydWN0IGliX3JlY3Zfd3Igd3I7CisJCXN0cnVjdCBpYl9zZ2Ugc2dlW0lQT0lCX0NNX1JYX1NHXTsKKwl9ICp0OwogCWludCByZXQ7CiAJaW50IGk7CiAKQEAgLTMzMyw2ICszNTYsMTQgQEAKIAlpZiAoIXJ4LT5yeF9yaW5nKQogCQlyZXR1cm4gLUVOT01FTTsKIAorCXQgPSBrbWFsbG9jKHNpemVvZiAqdCwgR0ZQX0tFUk5FTCk7CisJaWYgKCF0KSB7CisJCXJldCA9IC1FTk9NRU07CisJCWdvdG8gZXJyX2ZyZWU7CisJfQorCisJaXBvaWJfY21faW5pdF9yeF93cihkZXYsICZ0LT53ciwgdC0+c2dlKTsKKwogCXNwaW5fbG9ja19pcnEoJnByaXYtPmxvY2spOwogCiAJaWYgKHByaXYtPmNtLm5vbnNycV9jb25uX3FwID49IGlwb2liX21heF9jb25uX3FwKSB7CkBAIC0zNTEsOCArMzgyLDggQEAKIAkJCWlwb2liX3dhcm4ocHJpdiwgImZhaWxlZCB0byBhbGxvY2F0ZSByZWNlaXZlIGJ1ZmZlciAlZFxuIiwgaSk7CiAJCQkJcmV0ID0gLUVOT01FTTsKIAkJCQlnb3RvIGVycl9jb3VudDsKLQkJCX0KLQkJcmV0ID0gaXBvaWJfY21fcG9zdF9yZWNlaXZlX25vbnNycShkZXYsIHJ4LCBpKTsKKwkJfQorCQlyZXQgPSBpcG9pYl9jbV9wb3N0X3JlY2VpdmVfbm9uc3JxKGRldiwgcngsICZ0LT53ciwgdC0+c2dlLCBpKTsKIAkJaWYgKHJldCkgewogCQkJaXBvaWJfd2Fybihwcml2LCAiaXBvaWJfY21fcG9zdF9yZWNlaXZlX25vbnNycSAiCiAJCQkJICAgImZhaWxlZCBmb3IgYnVmICVkXG4iLCBpKTsKQEAgLTM2Myw2ICszOTQsOCBAQAogCiAJcngtPnJlY3ZfY291bnQgPSBpcG9pYl9yZWN2cV9zaXplOwogCisJa2ZyZWUodCk7CisKIAlyZXR1cm4gMDsKIAogZXJyX2NvdW50OgpAQCAtMzcxLDYgKzQwNCw3IEBACiAJc3Bpbl91bmxvY2tfaXJxKCZwcml2LT5sb2NrKTsKIAogZXJyX2ZyZWU6CisJa2ZyZWUodCk7CiAJaXBvaWJfY21fZnJlZV9yeF9yaW5nKGRldiwgcngtPnJ4X3JpbmcpOwogCiAJcmV0dXJuIHJldDsKQEAgLTUyNSw2ICs1NTksNyBAQAogCXU2NCBtYXBwaW5nW0lQT0lCX0NNX1JYX1NHXTsKIAlpbnQgZnJhZ3M7CiAJaW50IGhhc19zcnE7CisJc3RydWN0IHNrX2J1ZmYgKnNtYWxsX3NrYjsKIAogCWlwb2liX2RiZ19kYXRhKHByaXYsICJjbSByZWN2IGNvbXBsZXRpb246IGlkICVkLCBzdGF0dXM6ICVkXG4iLAogCQkgICAgICAgd3JfaWQsIHdjLT5zdGF0dXMpOwpAQCAtNTc5LDYgKzYxNCwyMyBAQAogCQl9CiAJfQogCisJaWYgKHdjLT5ieXRlX2xlbiA8IElQT0lCX0NNX0NPUFlCUkVBSykgeworCQlpbnQgZGxlbiA9IHdjLT5ieXRlX2xlbjsKKworCQlzbWFsbF9za2IgPSBkZXZfYWxsb2Nfc2tiKGRsZW4gKyAxMik7CisJCWlmIChzbWFsbF9za2IpIHsKKwkJCXNrYl9yZXNlcnZlKHNtYWxsX3NrYiwgMTIpOworCQkJaWJfZG1hX3N5bmNfc2luZ2xlX2Zvcl9jcHUocHJpdi0+Y2EsIHJ4X3Jpbmdbd3JfaWRdLm1hcHBpbmdbMF0sCisJCQkJCQkgICBkbGVuLCBETUFfRlJPTV9ERVZJQ0UpOworCQkJc2tiX2NvcHlfZnJvbV9saW5lYXJfZGF0YShza2IsIHNtYWxsX3NrYi0+ZGF0YSwgZGxlbik7CisJCQlpYl9kbWFfc3luY19zaW5nbGVfZm9yX2RldmljZShwcml2LT5jYSwgcnhfcmluZ1t3cl9pZF0ubWFwcGluZ1swXSwKKwkJCQkJCSAgICAgIGRsZW4sIERNQV9GUk9NX0RFVklDRSk7CisJCQlza2JfcHV0KHNtYWxsX3NrYiwgZGxlbik7CisJCQlza2IgPSBzbWFsbF9za2I7CisJCQlnb3RvIGNvcGllZDsKKwkJfQorCX0KKwogCWZyYWdzID0gUEFHRV9BTElHTih3Yy0+Ynl0ZV9sZW4gLSBtaW4od2MtPmJ5dGVfbGVuLAogCQkJCQkgICAgICAodW5zaWduZWQpSVBPSUJfQ01fSEVBRF9TSVpFKSkgLyBQQUdFX1NJWkU7CiAKQEAgLTYwMSw2ICs2NTMsNyBAQAogCiAJc2tiX3B1dF9mcmFncyhza2IsIElQT0lCX0NNX0hFQURfU0laRSwgd2MtPmJ5dGVfbGVuLCBuZXdza2IpOwogCitjb3BpZWQ6CiAJc2tiLT5wcm90b2NvbCA9ICgoc3RydWN0IGlwb2liX2hlYWRlciAqKSBza2ItPmRhdGEpLT5wcm90bzsKIAlza2JfcmVzZXRfbWFjX2hlYWRlcihza2IpOwogCXNrYl9wdWxsKHNrYiwgSVBPSUJfRU5DQVBfTEVOKTsKQEAgLTYyMCw3ICs2NzMsMTAgQEAKIAkJCWlwb2liX3dhcm4ocHJpdiwgImlwb2liX2NtX3Bvc3RfcmVjZWl2ZV9zcnEgZmFpbGVkICIKIAkJCQkgICAiZm9yIGJ1ZiAlZFxuIiwgd3JfaWQpOwogCX0gZWxzZSB7Ci0JCWlmICh1bmxpa2VseShpcG9pYl9jbV9wb3N0X3JlY2VpdmVfbm9uc3JxKGRldiwgcCwgd3JfaWQpKSkgeworCQlpZiAodW5saWtlbHkoaXBvaWJfY21fcG9zdF9yZWNlaXZlX25vbnNycShkZXYsIHAsCisJCQkJCQkJICAmcHJpdi0+Y20ucnhfd3IsCisJCQkJCQkJICBwcml2LT5jbS5yeF9zZ2UsCisJCQkJCQkJICB3cl9pZCkpKSB7CiAJCQktLXAtPnJlY3ZfY291bnQ7CiAJCQlpcG9pYl93YXJuKHByaXYsICJpcG9pYl9jbV9wb3N0X3JlY2VpdmVfbm9uc3JxIGZhaWxlZCAiCiAJCQkJICAgImZvciBidWYgJWRcbiIsIHdyX2lkKTsKQEAgLTY0Nyw3ICs3MDMsNyBAQAogdm9pZCBpcG9pYl9jbV9zZW5kKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsIHN0cnVjdCBza19idWZmICpza2IsIHN0cnVjdCBpcG9pYl9jbV90eCAqdHgpCiB7CiAJc3RydWN0IGlwb2liX2Rldl9wcml2ICpwcml2ID0gbmV0ZGV2X3ByaXYoZGV2KTsKLQlzdHJ1Y3QgaXBvaWJfdHhfYnVmICp0eF9yZXE7CisJc3RydWN0IGlwb2liX2NtX3R4X2J1ZiAqdHhfcmVxOwogCXU2NCBhZGRyOwogCiAJaWYgKHVubGlrZWx5KHNrYi0+bGVuID4gdHgtPm10dSkpIHsKQEAgLTY3OCw3ICs3MzQsNyBAQAogCQlyZXR1cm47CiAJfQogCi0JdHhfcmVxLT5tYXBwaW5nWzBdID0gYWRkcjsKKwl0eF9yZXEtPm1hcHBpbmcgPSBhZGRyOwogCiAJaWYgKHVubGlrZWx5KHBvc3Rfc2VuZChwcml2LCB0eCwgdHgtPnR4X2hlYWQgJiAoaXBvaWJfc2VuZHFfc2l6ZSAtIDEpLAogCQkJICAgICAgIGFkZHIsIHNrYi0+bGVuKSkpIHsKQEAgLTcwMyw3ICs3NTksNyBAQAogCXN0cnVjdCBpcG9pYl9kZXZfcHJpdiAqcHJpdiA9IG5ldGRldl9wcml2KGRldik7CiAJc3RydWN0IGlwb2liX2NtX3R4ICp0eCA9IHdjLT5xcC0+cXBfY29udGV4dDsKIAl1bnNpZ25lZCBpbnQgd3JfaWQgPSB3Yy0+d3JfaWQgJiB+SVBPSUJfT1BfQ007Ci0Jc3RydWN0IGlwb2liX3R4X2J1ZiAqdHhfcmVxOworCXN0cnVjdCBpcG9pYl9jbV90eF9idWYgKnR4X3JlcTsKIAl1bnNpZ25lZCBsb25nIGZsYWdzOwogCiAJaXBvaWJfZGJnX2RhdGEocHJpdiwgImNtIHNlbmQgY29tcGxldGlvbjogaWQgJWQsIHN0YXR1czogJWRcbiIsCkBAIC03MTcsNyArNzczLDcgQEAKIAogCXR4X3JlcSA9ICZ0eC0+dHhfcmluZ1t3cl9pZF07CiAKLQlpYl9kbWFfdW5tYXBfc2luZ2xlKHByaXYtPmNhLCB0eF9yZXEtPm1hcHBpbmdbMF0sIHR4X3JlcS0+c2tiLT5sZW4sIERNQV9UT19ERVZJQ0UpOworCWliX2RtYV91bm1hcF9zaW5nbGUocHJpdi0+Y2EsIHR4X3JlcS0+bWFwcGluZywgdHhfcmVxLT5za2ItPmxlbiwgRE1BX1RPX0RFVklDRSk7CiAKIAkvKiBGSVhNRTogaXMgdGhpcyByaWdodD8gU2hvdWxkbid0IHdlIG9ubHkgaW5jcmVtZW50IG9uIHN1Y2Nlc3M/ICovCiAJKytkZXYtPnN0YXRzLnR4X3BhY2tldHM7CkBAIC0xMDg3LDcgKzExNDMsNyBAQAogc3RhdGljIHZvaWQgaXBvaWJfY21fdHhfZGVzdHJveShzdHJ1Y3QgaXBvaWJfY21fdHggKnApCiB7CiAJc3RydWN0IGlwb2liX2Rldl9wcml2ICpwcml2ID0gbmV0ZGV2X3ByaXYocC0+ZGV2KTsKLQlzdHJ1Y3QgaXBvaWJfdHhfYnVmICp0eF9yZXE7CisJc3RydWN0IGlwb2liX2NtX3R4X2J1ZiAqdHhfcmVxOwogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAJdW5zaWduZWQgbG9uZyBiZWdpbjsKIApAQCAtMTExNSw3ICsxMTcxLDcgQEAKIAogCXdoaWxlICgoaW50KSBwLT50eF90YWlsIC0gKGludCkgcC0+dHhfaGVhZCA8IDApIHsKIAkJdHhfcmVxID0gJnAtPnR4X3JpbmdbcC0+dHhfdGFpbCAmIChpcG9pYl9zZW5kcV9zaXplIC0gMSldOwotCQlpYl9kbWFfdW5tYXBfc2luZ2xlKHByaXYtPmNhLCB0eF9yZXEtPm1hcHBpbmdbMF0sIHR4X3JlcS0+c2tiLT5sZW4sCisJCWliX2RtYV91bm1hcF9zaW5nbGUocHJpdi0+Y2EsIHR4X3JlcS0+bWFwcGluZywgdHhfcmVxLT5za2ItPmxlbiwKIAkJCQkgICAgRE1BX1RPX0RFVklDRSk7CiAJCWRldl9rZnJlZV9za2JfYW55KHR4X3JlcS0+c2tiKTsKIAkJKytwLT50eF90YWlsOwpAQCAtMTM4NCw3ICsxNDQwLDkgQEAKIAkJaXBvaWJfd2Fybihwcml2LCAiZW5hYmxpbmcgY29ubmVjdGVkIG1vZGUgIgogCQkJICAgIndpbGwgY2F1c2UgbXVsdGljYXN0IHBhY2tldCBkcm9wc1xuIik7CiAKKwkJcnRubF9sb2NrKCk7CiAJCWRldi0+ZmVhdHVyZXMgJj0gfihORVRJRl9GX0lQX0NTVU0gfCBORVRJRl9GX1NHIHwgTkVUSUZfRl9UU08pOworCQlydG5sX3VubG9jaygpOwogCQlwcml2LT50eF93ci5zZW5kX2ZsYWdzICY9IH5JQl9TRU5EX0lQX0NTVU07CiAKIAkJaXBvaWJfZmx1c2hfcGF0aHMoZGV2KTsKQEAgLTEzOTMsMTQgKzE0NTEsMTYgQEAKIAogCWlmICghc3RyY21wKGJ1ZiwgImRhdGFncmFtXG4iKSkgewogCQljbGVhcl9iaXQoSVBPSUJfRkxBR19BRE1JTl9DTSwgJnByaXYtPmZsYWdzKTsKLQkJZGV2LT5tdHUgPSBtaW4ocHJpdi0+bWNhc3RfbXR1LCBkZXYtPm10dSk7Ci0JCWlwb2liX2ZsdXNoX3BhdGhzKGRldik7CiAKKwkJcnRubF9sb2NrKCk7CiAJCWlmICh0ZXN0X2JpdChJUE9JQl9GTEFHX0NTVU0sICZwcml2LT5mbGFncykpIHsKIAkJCWRldi0+ZmVhdHVyZXMgfD0gTkVUSUZfRl9JUF9DU1VNIHwgTkVUSUZfRl9TRzsKIAkJCWlmIChwcml2LT5oY2FfY2FwcyAmIElCX0RFVklDRV9VRF9UU08pCiAJCQkJZGV2LT5mZWF0dXJlcyB8PSBORVRJRl9GX1RTTzsKIAkJfQorCQlkZXZfc2V0X210dShkZXYsIG1pbihwcml2LT5tY2FzdF9tdHUsIGRldi0+bXR1KSk7CisJCXJ0bmxfdW5sb2NrKCk7CisJCWlwb2liX2ZsdXNoX3BhdGhzKGRldik7CiAKIAkJcmV0dXJuIGNvdW50OwogCX0KQEAgLTE0ODUsMTUgKzE1NDUsNyBAQAogCQlwcml2LT5jbS5udW1fZnJhZ3MgID0gSVBPSUJfQ01fUlhfU0c7CiAJfQogCi0JZm9yIChpID0gMDsgaSA8IHByaXYtPmNtLm51bV9mcmFnczsgKytpKQotCQlwcml2LT5jbS5yeF9zZ2VbaV0ubGtleQk9IHByaXYtPm1yLT5sa2V5OwotCi0JcHJpdi0+Y20ucnhfc2dlWzBdLmxlbmd0aCA9IElQT0lCX0NNX0hFQURfU0laRTsKLQlmb3IgKGkgPSAxOyBpIDwgcHJpdi0+Y20ubnVtX2ZyYWdzOyArK2kpCi0JCXByaXYtPmNtLnJ4X3NnZVtpXS5sZW5ndGggPSBQQUdFX1NJWkU7Ci0JcHJpdi0+Y20ucnhfd3IubmV4dCA9IE5VTEw7Ci0JcHJpdi0+Y20ucnhfd3Iuc2dfbGlzdCA9IHByaXYtPmNtLnJ4X3NnZTsKLQlwcml2LT5jbS5yeF93ci5udW1fc2dlID0gcHJpdi0+Y20ubnVtX2ZyYWdzOworCWlwb2liX2NtX2luaXRfcnhfd3IoZGV2LCAmcHJpdi0+Y20ucnhfd3IsIHByaXYtPmNtLnJ4X3NnZSk7CiAKIAlpZiAoaXBvaWJfY21faGFzX3NycShkZXYpKSB7CiAJCWZvciAoaSA9IDA7IGkgPCBpcG9pYl9yZWN2cV9zaXplOyArK2kpIHsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC91bHAvaXBvaWIvaXBvaWJfZXRodG9vbC5jIGIvZHJpdmVycy9pbmZpbmliYW5kL3VscC9pcG9pYi9pcG9pYl9ldGh0b29sLmMKaW5kZXggMTAyNzliNy4uNjZhZjVjMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL3VscC9pcG9pYi9pcG9pYl9ldGh0b29sLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL3VscC9pcG9pYi9pcG9pYl9ldGh0b29sLmMKQEAgLTg2LDExICs4Niw1NyBAQAogCXJldHVybiAwOwogfQogCitzdGF0aWMgY29uc3QgY2hhciBpcG9pYl9zdGF0c19rZXlzW11bRVRIX0dTVFJJTkdfTEVOXSA9IHsKKwkiTFJPIGFnZ3JlZ2F0ZWQiLCAiTFJPIGZsdXNoZWQiLAorCSJMUk8gYXZnIGFnZ3IiLCAiTFJPIG5vIGRlc2MiCit9OworCitzdGF0aWMgdm9pZCBpcG9pYl9nZXRfc3RyaW5ncyhzdHJ1Y3QgbmV0X2RldmljZSAqbmV0ZGV2LCB1MzIgc3RyaW5nc2V0LCB1OCAqZGF0YSkKK3sKKwlzd2l0Y2ggKHN0cmluZ3NldCkgeworCWNhc2UgRVRIX1NTX1NUQVRTOgorCQltZW1jcHkoZGF0YSwgKmlwb2liX3N0YXRzX2tleXMsCXNpemVvZihpcG9pYl9zdGF0c19rZXlzKSk7CisJCWJyZWFrOworCX0KK30KKworc3RhdGljIGludCBpcG9pYl9nZXRfc3NldF9jb3VudChzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LCBpbnQgc3NldCkKK3sKKwlzd2l0Y2ggKHNzZXQpIHsKKwljYXNlIEVUSF9TU19TVEFUUzoKKwkJcmV0dXJuIEFSUkFZX1NJWkUoaXBvaWJfc3RhdHNfa2V5cyk7CisJZGVmYXVsdDoKKwkJcmV0dXJuIC1FT1BOT1RTVVBQOworCX0KK30KKworc3RhdGljIHZvaWQgaXBvaWJfZ2V0X2V0aHRvb2xfc3RhdHMoc3RydWN0IG5ldF9kZXZpY2UgKmRldiwKKwkJCQlzdHJ1Y3QgZXRodG9vbF9zdGF0cyAqc3RhdHMsIHVpbnQ2NF90ICpkYXRhKQoreworCXN0cnVjdCBpcG9pYl9kZXZfcHJpdiAqcHJpdiA9IG5ldGRldl9wcml2KGRldik7CisJaW50IGluZGV4ID0gMDsKKworCS8qIEdldCBMUk8gc3RhdGlzdGljcyAqLworCWRhdGFbaW5kZXgrK10gPSBwcml2LT5scm8ubHJvX21nci5zdGF0cy5hZ2dyZWdhdGVkOworCWRhdGFbaW5kZXgrK10gPSBwcml2LT5scm8ubHJvX21nci5zdGF0cy5mbHVzaGVkOworCWlmIChwcml2LT5scm8ubHJvX21nci5zdGF0cy5mbHVzaGVkKQorCQlkYXRhW2luZGV4KytdID0gcHJpdi0+bHJvLmxyb19tZ3Iuc3RhdHMuYWdncmVnYXRlZCAvCisJCQkJcHJpdi0+bHJvLmxyb19tZ3Iuc3RhdHMuZmx1c2hlZDsKKwllbHNlCisJCWRhdGFbaW5kZXgrK10gPSAwOworCWRhdGFbaW5kZXgrK10gPSBwcml2LT5scm8ubHJvX21nci5zdGF0cy5ub19kZXNjOworfQorCiBzdGF0aWMgY29uc3Qgc3RydWN0IGV0aHRvb2xfb3BzIGlwb2liX2V0aHRvb2xfb3BzID0gewogCS5nZXRfZHJ2aW5mbwkJPSBpcG9pYl9nZXRfZHJ2aW5mbywKIAkuZ2V0X3RzbwkJPSBldGh0b29sX29wX2dldF90c28sCiAJLmdldF9jb2FsZXNjZQkJPSBpcG9pYl9nZXRfY29hbGVzY2UsCiAJLnNldF9jb2FsZXNjZQkJPSBpcG9pYl9zZXRfY29hbGVzY2UsCisJLmdldF9mbGFncwkJPSBldGh0b29sX29wX2dldF9mbGFncywKKwkuc2V0X2ZsYWdzCQk9IGV0aHRvb2xfb3Bfc2V0X2ZsYWdzLAorCS5nZXRfc3RyaW5ncwkJPSBpcG9pYl9nZXRfc3RyaW5ncywKKwkuZ2V0X3NzZXRfY291bnQJCT0gaXBvaWJfZ2V0X3NzZXRfY291bnQsCisJLmdldF9ldGh0b29sX3N0YXRzCT0gaXBvaWJfZ2V0X2V0aHRvb2xfc3RhdHMsCiB9OwogCiB2b2lkIGlwb2liX3NldF9ldGh0b29sX29wcyhzdHJ1Y3QgbmV0X2RldmljZSAqZGV2KQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL3VscC9pcG9pYi9pcG9pYl9mcy5jIGIvZHJpdmVycy9pbmZpbmliYW5kL3VscC9pcG9pYi9pcG9pYl9mcy5jCmluZGV4IDhiODgyYmIuLjk2MWM1ODUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC91bHAvaXBvaWIvaXBvaWJfZnMuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvdWxwL2lwb2liL2lwb2liX2ZzLmMKQEAgLTI4LDggKzI4LDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IGlwb2liX2ZzLmMgMTM4OSAyMDA0LTEyLTI3IDIyOjU2OjQ3WiByb2xhbmQgJAogICovCiAKICNpbmNsdWRlIDxsaW51eC9lcnIuaD4KZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC91bHAvaXBvaWIvaXBvaWJfaWIuYyBiL2RyaXZlcnMvaW5maW5pYmFuZC91bHAvaXBvaWIvaXBvaWJfaWIuYwppbmRleCBmNDI5YmNlLi42NmNhZmEyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvdWxwL2lwb2liL2lwb2liX2liLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL3VscC9pcG9pYi9pcG9pYl9pYi5jCkBAIC0zMSw4ICszMSw2IEBACiAgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgogICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogICogU09GVFdBUkUuCi0gKgotICogJElkOiBpcG9pYl9pYi5jIDEzODYgMjAwNC0xMi0yNyAxNjoyMzoxN1ogcm9sYW5kICQKICAqLwogCiAjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KQEAgLTI5MCw3ICsyODgsMTAgQEAKIAlpZiAodGVzdF9iaXQoSVBPSUJfRkxBR19DU1VNLCAmcHJpdi0+ZmxhZ3MpICYmIGxpa2VseSh3Yy0+Y3N1bV9vaykpCiAJCXNrYi0+aXBfc3VtbWVkID0gQ0hFQ0tTVU1fVU5ORUNFU1NBUlk7CiAKLQluZXRpZl9yZWNlaXZlX3NrYihza2IpOworCWlmIChkZXYtPmZlYXR1cmVzICYgTkVUSUZfRl9MUk8pCisJCWxyb19yZWNlaXZlX3NrYigmcHJpdi0+bHJvLmxyb19tZ3IsIHNrYiwgTlVMTCk7CisJZWxzZQorCQluZXRpZl9yZWNlaXZlX3NrYihza2IpOwogCiByZXBvc3Q6CiAJaWYgKHVubGlrZWx5KGlwb2liX2liX3Bvc3RfcmVjZWl2ZShkZXYsIHdyX2lkKSkpCkBAIC00NDIsNiArNDQzLDkgQEAKIAl9CiAKIAlpZiAoZG9uZSA8IGJ1ZGdldCkgeworCQlpZiAoZGV2LT5mZWF0dXJlcyAmIE5FVElGX0ZfTFJPKQorCQkJbHJvX2ZsdXNoX2FsbCgmcHJpdi0+bHJvLmxyb19tZ3IpOworCiAJCW5ldGlmX3J4X2NvbXBsZXRlKGRldiwgbmFwaSk7CiAJCWlmICh1bmxpa2VseShpYl9yZXFfbm90aWZ5X2NxKHByaXYtPnJlY3ZfY3EsCiAJCQkJCSAgICAgIElCX0NRX05FWFRfQ09NUCB8CkBAIC04OTgsNyArOTAyLDggQEAKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIHZvaWQgX19pcG9pYl9pYl9kZXZfZmx1c2goc3RydWN0IGlwb2liX2Rldl9wcml2ICpwcml2LCBpbnQgcGtleV9ldmVudCkKK3N0YXRpYyB2b2lkIF9faXBvaWJfaWJfZGV2X2ZsdXNoKHN0cnVjdCBpcG9pYl9kZXZfcHJpdiAqcHJpdiwKKwkJCQllbnVtIGlwb2liX2ZsdXNoX2xldmVsIGxldmVsKQogewogCXN0cnVjdCBpcG9pYl9kZXZfcHJpdiAqY3ByaXY7CiAJc3RydWN0IG5ldF9kZXZpY2UgKmRldiA9IHByaXYtPmRldjsKQEAgLTkxMSw3ICs5MTYsNyBAQAogCSAqIHRoZSBwYXJlbnQgaXMgZG93bi4KIAkgKi8KIAlsaXN0X2Zvcl9lYWNoX2VudHJ5KGNwcml2LCAmcHJpdi0+Y2hpbGRfaW50ZnMsIGxpc3QpCi0JCV9faXBvaWJfaWJfZGV2X2ZsdXNoKGNwcml2LCBwa2V5X2V2ZW50KTsKKwkJX19pcG9pYl9pYl9kZXZfZmx1c2goY3ByaXYsIGxldmVsKTsKIAogCW11dGV4X3VubG9jaygmcHJpdi0+dmxhbl9tdXRleCk7CiAKQEAgLTkyNSw3ICs5MzAsNyBAQAogCQlyZXR1cm47CiAJfQogCi0JaWYgKHBrZXlfZXZlbnQpIHsKKwlpZiAobGV2ZWwgPT0gSVBPSUJfRkxVU0hfSEVBVlkpIHsKIAkJaWYgKGliX2ZpbmRfcGtleShwcml2LT5jYSwgcHJpdi0+cG9ydCwgcHJpdi0+cGtleSwgJm5ld19pbmRleCkpIHsKIAkJCWNsZWFyX2JpdChJUE9JQl9QS0VZX0FTU0lHTkVELCAmcHJpdi0+ZmxhZ3MpOwogCQkJaXBvaWJfaWJfZGV2X2Rvd24oZGV2LCAwKTsKQEAgLTk0MywxMSArOTQ4LDE1IEBACiAJCXByaXYtPnBrZXlfaW5kZXggPSBuZXdfaW5kZXg7CiAJfQogCi0JaXBvaWJfZGJnKHByaXYsICJmbHVzaGluZ1xuIik7CisJaWYgKGxldmVsID09IElQT0lCX0ZMVVNIX0xJR0hUKSB7CisJCWlwb2liX21hcmtfcGF0aHNfaW52YWxpZChkZXYpOworCQlpcG9pYl9tY2FzdF9kZXZfZmx1c2goZGV2KTsKKwl9CiAKLQlpcG9pYl9pYl9kZXZfZG93bihkZXYsIDApOworCWlmIChsZXZlbCA+PSBJUE9JQl9GTFVTSF9OT1JNQUwpCisJCWlwb2liX2liX2Rldl9kb3duKGRldiwgMCk7CiAKLQlpZiAocGtleV9ldmVudCkgeworCWlmIChsZXZlbCA9PSBJUE9JQl9GTFVTSF9IRUFWWSkgewogCQlpcG9pYl9pYl9kZXZfc3RvcChkZXYsIDApOwogCQlpcG9pYl9pYl9kZXZfb3BlbihkZXYpOwogCX0KQEAgLTk1NywyNyArOTY2LDM0IEBACiAJICogd2UgZ2V0IGhlcmUsIGRvbid0IGJyaW5nIGl0IGJhY2sgdXAgaWYgaXQncyBub3QgY29uZmlndXJlZCB1cAogCSAqLwogCWlmICh0ZXN0X2JpdChJUE9JQl9GTEFHX0FETUlOX1VQLCAmcHJpdi0+ZmxhZ3MpKSB7Ci0JCWlwb2liX2liX2Rldl91cChkZXYpOworCQlpZiAobGV2ZWwgPj0gSVBPSUJfRkxVU0hfTk9STUFMKQorCQkJaXBvaWJfaWJfZGV2X3VwKGRldik7CiAJCWlwb2liX21jYXN0X3Jlc3RhcnRfdGFzaygmcHJpdi0+cmVzdGFydF90YXNrKTsKIAl9CiB9CiAKLXZvaWQgaXBvaWJfaWJfZGV2X2ZsdXNoKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykKK3ZvaWQgaXBvaWJfaWJfZGV2X2ZsdXNoX2xpZ2h0KHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykKIHsKIAlzdHJ1Y3QgaXBvaWJfZGV2X3ByaXYgKnByaXYgPQotCQljb250YWluZXJfb2Yod29yaywgc3RydWN0IGlwb2liX2Rldl9wcml2LCBmbHVzaF90YXNrKTsKKwkJY29udGFpbmVyX29mKHdvcmssIHN0cnVjdCBpcG9pYl9kZXZfcHJpdiwgZmx1c2hfbGlnaHQpOwogCi0JaXBvaWJfZGJnKHByaXYsICJGbHVzaGluZyAlc1xuIiwgcHJpdi0+ZGV2LT5uYW1lKTsKLQlfX2lwb2liX2liX2Rldl9mbHVzaChwcml2LCAwKTsKKwlfX2lwb2liX2liX2Rldl9mbHVzaChwcml2LCBJUE9JQl9GTFVTSF9MSUdIVCk7CiB9CiAKLXZvaWQgaXBvaWJfcGtleV9ldmVudChzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspCit2b2lkIGlwb2liX2liX2Rldl9mbHVzaF9ub3JtYWwoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKQogewogCXN0cnVjdCBpcG9pYl9kZXZfcHJpdiAqcHJpdiA9Ci0JCWNvbnRhaW5lcl9vZih3b3JrLCBzdHJ1Y3QgaXBvaWJfZGV2X3ByaXYsIHBrZXlfZXZlbnRfdGFzayk7CisJCWNvbnRhaW5lcl9vZih3b3JrLCBzdHJ1Y3QgaXBvaWJfZGV2X3ByaXYsIGZsdXNoX25vcm1hbCk7CiAKLQlpcG9pYl9kYmcocHJpdiwgIkZsdXNoaW5nICVzIGFuZCByZXN0YXJ0aW5nIGl0cyBRUFxuIiwgcHJpdi0+ZGV2LT5uYW1lKTsKLQlfX2lwb2liX2liX2Rldl9mbHVzaChwcml2LCAxKTsKKwlfX2lwb2liX2liX2Rldl9mbHVzaChwcml2LCBJUE9JQl9GTFVTSF9OT1JNQUwpOworfQorCit2b2lkIGlwb2liX2liX2Rldl9mbHVzaF9oZWF2eShzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspCit7CisJc3RydWN0IGlwb2liX2Rldl9wcml2ICpwcml2ID0KKwkJY29udGFpbmVyX29mKHdvcmssIHN0cnVjdCBpcG9pYl9kZXZfcHJpdiwgZmx1c2hfaGVhdnkpOworCisJX19pcG9pYl9pYl9kZXZfZmx1c2gocHJpdiwgSVBPSUJfRkxVU0hfSEVBVlkpOwogfQogCiB2b2lkIGlwb2liX2liX2Rldl9jbGVhbnVwKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYpCmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvdWxwL2lwb2liL2lwb2liX21haW4uYyBiL2RyaXZlcnMvaW5maW5pYmFuZC91bHAvaXBvaWIvaXBvaWJfbWFpbi5jCmluZGV4IDI0NDIwOTAuLjhiZTllYTAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC91bHAvaXBvaWIvaXBvaWJfbWFpbi5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC91bHAvaXBvaWIvaXBvaWJfbWFpbi5jCkBAIC0zMCw4ICszMCw2IEBACiAgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgogICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogICogU09GVFdBUkUuCi0gKgotICogJElkOiBpcG9pYl9tYWluLmMgMTM3NyAyMDA0LTEyLTIzIDE5OjU3OjEyWiByb2xhbmQgJAogICovCiAKICNpbmNsdWRlICJpcG9pYi5oIgpAQCAtNjIsNiArNjAsMTUgQEAKIG1vZHVsZV9wYXJhbV9uYW1lZChyZWN2X3F1ZXVlX3NpemUsIGlwb2liX3JlY3ZxX3NpemUsIGludCwgMDQ0NCk7CiBNT0RVTEVfUEFSTV9ERVNDKHJlY3ZfcXVldWVfc2l6ZSwgIk51bWJlciBvZiBkZXNjcmlwdG9ycyBpbiByZWNlaXZlIHF1ZXVlIik7CiAKK3N0YXRpYyBpbnQgbHJvOworbW9kdWxlX3BhcmFtKGxybywgYm9vbCwgMDQ0NCk7CitNT0RVTEVfUEFSTV9ERVNDKGxybywgICJFbmFibGUgTFJPIChMYXJnZSBSZWNlaXZlIE9mZmxvYWQpIik7CisKK3N0YXRpYyBpbnQgbHJvX21heF9hZ2dyID0gSVBPSUJfTFJPX01BWF9BR0dSOworbW9kdWxlX3BhcmFtKGxyb19tYXhfYWdnciwgaW50LCAwNjQ0KTsKK01PRFVMRV9QQVJNX0RFU0MobHJvX21heF9hZ2dyLCAiTFJPOiBNYXggcGFja2V0cyB0byBiZSBhZ2dyZWdhdGVkICIKKwkJIihkZWZhdWx0ID0gNjQpIik7CisKICNpZmRlZiBDT05GSUdfSU5GSU5JQkFORF9JUE9JQl9ERUJVRwogaW50IGlwb2liX2RlYnVnX2xldmVsOwogCkBAIC0zNTAsNiArMzU3LDIzIEBACiAKICNlbmRpZiAvKiBDT05GSUdfSU5GSU5JQkFORF9JUE9JQl9ERUJVRyAqLwogCit2b2lkIGlwb2liX21hcmtfcGF0aHNfaW52YWxpZChzdHJ1Y3QgbmV0X2RldmljZSAqZGV2KQoreworCXN0cnVjdCBpcG9pYl9kZXZfcHJpdiAqcHJpdiA9IG5ldGRldl9wcml2KGRldik7CisJc3RydWN0IGlwb2liX3BhdGggKnBhdGgsICp0cDsKKworCXNwaW5fbG9ja19pcnEoJnByaXYtPmxvY2spOworCisJbGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZlKHBhdGgsIHRwLCAmcHJpdi0+cGF0aF9saXN0LCBsaXN0KSB7CisJCWlwb2liX2RiZyhwcml2LCAibWFyayBwYXRoIExJRCAweCUwNHggR0lEICIgSVBPSUJfR0lEX0ZNVCAiIGludmFsaWRcbiIsCisJCQliZTE2X3RvX2NwdShwYXRoLT5wYXRocmVjLmRsaWQpLAorCQkJSVBPSUJfR0lEX0FSRyhwYXRoLT5wYXRocmVjLmRnaWQpKTsKKwkJcGF0aC0+dmFsaWQgPSAgMDsKKwl9CisKKwlzcGluX3VubG9ja19pcnEoJnByaXYtPmxvY2spOworfQorCiB2b2lkIGlwb2liX2ZsdXNoX3BhdGhzKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYpCiB7CiAJc3RydWN0IGlwb2liX2Rldl9wcml2ICpwcml2ID0gbmV0ZGV2X3ByaXYoZGV2KTsKQEAgLTM4Niw2ICs0MTAsNyBAQAogCXN0cnVjdCBuZXRfZGV2aWNlICpkZXYgPSBwYXRoLT5kZXY7CiAJc3RydWN0IGlwb2liX2Rldl9wcml2ICpwcml2ID0gbmV0ZGV2X3ByaXYoZGV2KTsKIAlzdHJ1Y3QgaXBvaWJfYWggKmFoID0gTlVMTDsKKwlzdHJ1Y3QgaXBvaWJfYWggKm9sZF9haDsKIAlzdHJ1Y3QgaXBvaWJfbmVpZ2ggKm5laWdoLCAqdG47CiAJc3RydWN0IHNrX2J1ZmZfaGVhZCBza3F1ZXVlOwogCXN0cnVjdCBza19idWZmICpza2I7CkBAIC00MDksNiArNDM0LDcgQEAKIAogCXNwaW5fbG9ja19pcnFzYXZlKCZwcml2LT5sb2NrLCBmbGFncyk7CiAKKwlvbGRfYWggICA9IHBhdGgtPmFoOwogCXBhdGgtPmFoID0gYWg7CiAKIAlpZiAoYWgpIHsKQEAgLTQyMSw2ICs0NDcsMTcgQEAKIAkJCV9fc2tiX3F1ZXVlX3RhaWwoJnNrcXVldWUsIHNrYik7CiAKIAkJbGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZlKG5laWdoLCB0biwgJnBhdGgtPm5laWdoX2xpc3QsIGxpc3QpIHsKKwkJCWlmIChuZWlnaC0+YWgpIHsKKwkJCQlXQVJOX09OKG5laWdoLT5haCAhPSBvbGRfYWgpOworCQkJCS8qCisJCQkJICogRHJvcHBpbmcgdGhlIGFoIHJlZmVyZW5jZSBpbnNpZGUKKwkJCQkgKiBwcml2LT5sb2NrIGlzIHNhZmUgaGVyZSwgYmVjYXVzZSB3ZQorCQkJCSAqIHdpbGwgaG9sZCBvbmUgbW9yZSByZWZlcmVuY2UgZnJvbQorCQkJCSAqIHRoZSBvcmlnaW5hbCB2YWx1ZSBvZiBwYXRoLT5haCAoaWUKKwkJCQkgKiBvbGRfYWgpLgorCQkJCSAqLworCQkJCWlwb2liX3B1dF9haChuZWlnaC0+YWgpOworCQkJfQogCQkJa3JlZl9nZXQoJnBhdGgtPmFoLT5yZWYpOwogCQkJbmVpZ2gtPmFoID0gcGF0aC0+YWg7CiAJCQltZW1jcHkoJm5laWdoLT5kZ2lkLnJhdywgJnBhdGgtPnBhdGhyZWMuZGdpZC5yYXcsCkBAIC00NDMsNiArNDgwLDcgQEAKIAkJCXdoaWxlICgoc2tiID0gX19za2JfZGVxdWV1ZSgmbmVpZ2gtPnF1ZXVlKSkpCiAJCQkJX19za2JfcXVldWVfdGFpbCgmc2txdWV1ZSwgc2tiKTsKIAkJfQorCQlwYXRoLT52YWxpZCA9IDE7CiAJfQogCiAJcGF0aC0+cXVlcnkgPSBOVUxMOwpAQCAtNDUwLDYgKzQ4OCw5IEBACiAKIAlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZwcml2LT5sb2NrLCBmbGFncyk7CiAKKwlpZiAob2xkX2FoKQorCQlpcG9pYl9wdXRfYWgob2xkX2FoKTsKKwogCXdoaWxlICgoc2tiID0gX19za2JfZGVxdWV1ZSgmc2txdWV1ZSkpKSB7CiAJCXNrYi0+ZGV2ID0gZGV2OwogCQlpZiAoZGV2X3F1ZXVlX3htaXQoc2tiKSkKQEAgLTYyMyw4ICs2NjQsOSBAQAogCXNwaW5fbG9jaygmcHJpdi0+bG9jayk7CiAKIAlwYXRoID0gX19wYXRoX2ZpbmQoZGV2LCBwaGRyLT5od2FkZHIgKyA0KTsKLQlpZiAoIXBhdGgpIHsKLQkJcGF0aCA9IHBhdGhfcmVjX2NyZWF0ZShkZXYsIHBoZHItPmh3YWRkciArIDQpOworCWlmICghcGF0aCB8fCAhcGF0aC0+dmFsaWQpIHsKKwkJaWYgKCFwYXRoKQorCQkJcGF0aCA9IHBhdGhfcmVjX2NyZWF0ZShkZXYsIHBoZHItPmh3YWRkciArIDQpOwogCQlpZiAocGF0aCkgewogCQkJLyogcHV0IHBzZXVkb2hlYWRlciBiYWNrIG9uIGZvciBuZXh0IHRpbWUgKi8KIAkJCXNrYl9wdXNoKHNrYiwgc2l6ZW9mICpwaGRyKTsKQEAgLTkzOCw2ICs5ODAsNTQgQEAKIAkuY3JlYXRlCT0gaXBvaWJfaGFyZF9oZWFkZXIsCiB9OwogCitzdGF0aWMgaW50IGdldF9za2JfaGRyKHN0cnVjdCBza19idWZmICpza2IsIHZvaWQgKippcGhkciwKKwkJICAgICAgIHZvaWQgKip0Y3BoLCB1NjQgKmhkcl9mbGFncywgdm9pZCAqcHJpdikKK3sKKwl1bnNpZ25lZCBpbnQgaXBfbGVuOworCXN0cnVjdCBpcGhkciAqaXBoOworCisJaWYgKHVubGlrZWx5KHNrYi0+cHJvdG9jb2wgIT0gaHRvbnMoRVRIX1BfSVApKSkKKwkJcmV0dXJuIC0xOworCisJLyoKKwkgKiBJbiB0aGUgZnV0dXJlIHdlIG1heSBhZGQgYW4gZWxzZSBjbGF1c2UgdGhhdCB2ZXJpZmllcyB0aGUKKwkgKiBjaGVja3N1bSBhbmQgYWxsb3dzIGRldmljZXMgd2hpY2ggZG8gbm90IGNhbGN1bGF0ZSBjaGVja3N1bQorCSAqIHRvIHVzZSBMUk8uCisJICovCisJaWYgKHVubGlrZWx5KHNrYi0+aXBfc3VtbWVkICE9IENIRUNLU1VNX1VOTkVDRVNTQVJZKSkKKwkJcmV0dXJuIC0xOworCisJLyogQ2hlY2sgZm9yIG5vbi1UQ1AgcGFja2V0ICovCisJc2tiX3Jlc2V0X25ldHdvcmtfaGVhZGVyKHNrYik7CisJaXBoID0gaXBfaGRyKHNrYik7CisJaWYgKGlwaC0+cHJvdG9jb2wgIT0gSVBQUk9UT19UQ1ApCisJCXJldHVybiAtMTsKKworCWlwX2xlbiA9IGlwX2hkcmxlbihza2IpOworCXNrYl9zZXRfdHJhbnNwb3J0X2hlYWRlcihza2IsIGlwX2xlbik7CisJKnRjcGggPSB0Y3BfaGRyKHNrYik7CisKKwkvKiBjaGVjayBpZiBJUCBoZWFkZXIgYW5kIFRDUCBoZWFkZXIgYXJlIGNvbXBsZXRlICovCisJaWYgKG50b2hzKGlwaC0+dG90X2xlbikgPCBpcF9sZW4gKyB0Y3BfaGRybGVuKHNrYikpCisJCXJldHVybiAtMTsKKworCSpoZHJfZmxhZ3MgPSBMUk9fSVBWNCB8IExST19UQ1A7CisJKmlwaGRyID0gaXBoOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIGlwb2liX2xyb19zZXR1cChzdHJ1Y3QgaXBvaWJfZGV2X3ByaXYgKnByaXYpCit7CisJcHJpdi0+bHJvLmxyb19tZ3IubWF4X2FnZ3IJID0gbHJvX21heF9hZ2dyOworCXByaXYtPmxyby5scm9fbWdyLm1heF9kZXNjCSA9IElQT0lCX01BWF9MUk9fREVTQ1JJUFRPUlM7CisJcHJpdi0+bHJvLmxyb19tZ3IubHJvX2FycgkgPSBwcml2LT5scm8ubHJvX2Rlc2M7CisJcHJpdi0+bHJvLmxyb19tZ3IuZ2V0X3NrYl9oZWFkZXIgPSBnZXRfc2tiX2hkcjsKKwlwcml2LT5scm8ubHJvX21nci5mZWF0dXJlcwkgPSBMUk9fRl9OQVBJOworCXByaXYtPmxyby5scm9fbWdyLmRldgkJID0gcHJpdi0+ZGV2OworCXByaXYtPmxyby5scm9fbWdyLmlwX3N1bW1lZF9hZ2dyID0gQ0hFQ0tTVU1fVU5ORUNFU1NBUlk7Cit9CisKIHN0YXRpYyB2b2lkIGlwb2liX3NldHVwKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYpCiB7CiAJc3RydWN0IGlwb2liX2Rldl9wcml2ICpwcml2ID0gbmV0ZGV2X3ByaXYoZGV2KTsKQEAgLTk3NywxMCArMTA2NywxMSBAQAogCiAJcHJpdi0+ZGV2ID0gZGV2OwogCisJaXBvaWJfbHJvX3NldHVwKHByaXYpOworCiAJc3Bpbl9sb2NrX2luaXQoJnByaXYtPmxvY2spOwogCXNwaW5fbG9ja19pbml0KCZwcml2LT50eF9sb2NrKTsKIAotCW11dGV4X2luaXQoJnByaXYtPm1jYXN0X211dGV4KTsKIAltdXRleF9pbml0KCZwcml2LT52bGFuX211dGV4KTsKIAogCUlOSVRfTElTVF9IRUFEKCZwcml2LT5wYXRoX2xpc3QpOwpAQCAtOTg5LDkgKzEwODAsMTAgQEAKIAlJTklUX0xJU1RfSEVBRCgmcHJpdi0+bXVsdGljYXN0X2xpc3QpOwogCiAJSU5JVF9ERUxBWUVEX1dPUksoJnByaXYtPnBrZXlfcG9sbF90YXNrLCBpcG9pYl9wa2V5X3BvbGwpOwotCUlOSVRfV09SSygmcHJpdi0+cGtleV9ldmVudF90YXNrLCBpcG9pYl9wa2V5X2V2ZW50KTsKIAlJTklUX0RFTEFZRURfV09SSygmcHJpdi0+bWNhc3RfdGFzaywgICBpcG9pYl9tY2FzdF9qb2luX3Rhc2spOwotCUlOSVRfV09SSygmcHJpdi0+Zmx1c2hfdGFzaywgICBpcG9pYl9pYl9kZXZfZmx1c2gpOworCUlOSVRfV09SSygmcHJpdi0+Zmx1c2hfbGlnaHQsICAgaXBvaWJfaWJfZGV2X2ZsdXNoX2xpZ2h0KTsKKwlJTklUX1dPUksoJnByaXYtPmZsdXNoX25vcm1hbCwgICBpcG9pYl9pYl9kZXZfZmx1c2hfbm9ybWFsKTsKKwlJTklUX1dPUksoJnByaXYtPmZsdXNoX2hlYXZ5LCAgIGlwb2liX2liX2Rldl9mbHVzaF9oZWF2eSk7CiAJSU5JVF9XT1JLKCZwcml2LT5yZXN0YXJ0X3Rhc2ssIGlwb2liX21jYXN0X3Jlc3RhcnRfdGFzayk7CiAJSU5JVF9ERUxBWUVEX1dPUksoJnByaXYtPmFoX3JlYXBfdGFzaywgaXBvaWJfcmVhcF9haCk7CiB9CkBAIC0xMTU0LDYgKzEyNDYsOSBAQAogCQlwcml2LT5kZXYtPmZlYXR1cmVzIHw9IE5FVElGX0ZfU0cgfCBORVRJRl9GX0lQX0NTVU07CiAJfQogCisJaWYgKGxybykKKwkJcHJpdi0+ZGV2LT5mZWF0dXJlcyB8PSBORVRJRl9GX0xSTzsKKwogCS8qCiAJICogU2V0IHRoZSBmdWxsIG1lbWJlcnNoaXAgYml0LCBzbyB0aGF0IHdlIGpvaW4gdGhlIHJpZ2h0CiAJICogYnJvYWRjYXN0IGdyb3VwLCBldGMuCkBAIC0xMzA0LDYgKzEzOTksMTIgQEAKIAlpcG9pYl9tYXhfY29ubl9xcCA9IG1pbihpcG9pYl9tYXhfY29ubl9xcCwgSVBPSUJfQ01fTUFYX0NPTk5fUVApOwogI2VuZGlmCiAKKwkvKgorCSAqIFdoZW4gY29weWluZyBzbWFsbCByZWNlaXZlZCBwYWNrZXRzLCB3ZSBvbmx5IGNvcHkgZnJvbSB0aGUKKwkgKiBsaW5lYXIgZGF0YSBwYXJ0IG9mIHRoZSBTS0IsIHNvIHdlIHJlbHkgb24gdGhpcyBjb25kaXRpb24uCisJICovCisJQlVJTERfQlVHX09OKElQT0lCX0NNX0NPUFlCUkVBSyA+IElQT0lCX0NNX0hFQURfU0laRSk7CisKIAlyZXQgPSBpcG9pYl9yZWdpc3Rlcl9kZWJ1Z2ZzKCk7CiAJaWYgKHJldCkKIAkJcmV0dXJuIHJldDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC91bHAvaXBvaWIvaXBvaWJfbXVsdGljYXN0LmMgYi9kcml2ZXJzL2luZmluaWJhbmQvdWxwL2lwb2liL2lwb2liX211bHRpY2FzdC5jCmluZGV4IDNmNjYzZmIuLjFmY2M5YTggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC91bHAvaXBvaWIvaXBvaWJfbXVsdGljYXN0LmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL3VscC9pcG9pYi9pcG9pYl9tdWx0aWNhc3QuYwpAQCAtMzAsOCArMzAsNiBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZDogaXBvaWJfbXVsdGljYXN0LmMgMTM2MiAyMDA0LTEyLTE4IDE1OjU2OjI5WiByb2xhbmQgJAogICovCiAKICNpbmNsdWRlIDxsaW51eC9za2J1ZmYuaD4KQEAgLTE4OCw2ICsxODYsNyBAQAogCXN0cnVjdCBpcG9pYl9kZXZfcHJpdiAqcHJpdiA9IG5ldGRldl9wcml2KGRldik7CiAJc3RydWN0IGlwb2liX2FoICphaDsKIAlpbnQgcmV0OworCWludCBzZXRfcWtleSA9IDA7CiAKIAltY2FzdC0+bWNtZW1iZXIgPSAqbWNtZW1iZXI7CiAKQEAgLTIwMiw2ICsyMDEsNyBAQAogCQlwcml2LT5xa2V5ID0gYmUzMl90b19jcHUocHJpdi0+YnJvYWRjYXN0LT5tY21lbWJlci5xa2V5KTsKIAkJc3Bpbl91bmxvY2tfaXJxKCZwcml2LT5sb2NrKTsKIAkJcHJpdi0+dHhfd3Iud3IudWQucmVtb3RlX3FrZXkgPSBwcml2LT5xa2V5OworCQlzZXRfcWtleSA9IDE7CiAJfQogCiAJaWYgKCF0ZXN0X2JpdChJUE9JQl9NQ0FTVF9GTEFHX1NFTkRPTkxZLCAmbWNhc3QtPmZsYWdzKSkgewpAQCAtMjE0LDcgKzIxNCw3IEBACiAJCX0KIAogCQlyZXQgPSBpcG9pYl9tY2FzdF9hdHRhY2goZGV2LCBiZTE2X3RvX2NwdShtY2FzdC0+bWNtZW1iZXIubWxpZCksCi0JCQkJCSAmbWNhc3QtPm1jbWVtYmVyLm1naWQpOworCQkJCQkgJm1jYXN0LT5tY21lbWJlci5tZ2lkLCBzZXRfcWtleSk7CiAJCWlmIChyZXQgPCAwKSB7CiAJCQlpcG9pYl93YXJuKHByaXYsICJjb3VsZG4ndCBhdHRhY2ggUVAgdG8gbXVsdGljYXN0IGdyb3VwICIKIAkJCQkgICBJUE9JQl9HSURfRk1UICJcbiIsCkBAIC01NzUsOCArNTc1LDExIEBACiAKIAlwcml2LT5tY2FzdF9tdHUgPSBJUE9JQl9VRF9NVFUoaWJfbXR1X2VudW1fdG9faW50KHByaXYtPmJyb2FkY2FzdC0+bWNtZW1iZXIubXR1KSk7CiAKLQlpZiAoIWlwb2liX2NtX2FkbWluX2VuYWJsZWQoZGV2KSkKLQkJZGV2LT5tdHUgPSBtaW4ocHJpdi0+bWNhc3RfbXR1LCBwcml2LT5hZG1pbl9tdHUpOworCWlmICghaXBvaWJfY21fYWRtaW5fZW5hYmxlZChkZXYpKSB7CisJCXJ0bmxfbG9jaygpOworCQlkZXZfc2V0X210dShkZXYsIG1pbihwcml2LT5tY2FzdF9tdHUsIHByaXYtPmFkbWluX210dSkpOworCQlydG5sX3VubG9jaygpOworCX0KIAogCWlwb2liX2RiZ19tY2FzdChwcml2LCAic3VjY2Vzc2Z1bGx5IGpvaW5lZCBhbGwgbXVsdGljYXN0IGdyb3Vwc1xuIik7CiAKQEAgLTU5NCwxMCArNTk3LDYgQEAKIAkJcXVldWVfZGVsYXllZF93b3JrKGlwb2liX3dvcmtxdWV1ZSwgJnByaXYtPm1jYXN0X3Rhc2ssIDApOwogCW11dGV4X3VubG9jaygmbWNhc3RfbXV0ZXgpOwogCi0Jc3Bpbl9sb2NrX2lycSgmcHJpdi0+bG9jayk7Ci0Jc2V0X2JpdChJUE9JQl9NQ0FTVF9TVEFSVEVELCAmcHJpdi0+ZmxhZ3MpOwotCXNwaW5fdW5sb2NrX2lycSgmcHJpdi0+bG9jayk7Ci0KIAlyZXR1cm4gMDsKIH0KIApAQCAtNjA3LDEwICs2MDYsNiBAQAogCiAJaXBvaWJfZGJnX21jYXN0KHByaXYsICJzdG9wcGluZyBtdWx0aWNhc3QgdGhyZWFkXG4iKTsKIAotCXNwaW5fbG9ja19pcnEoJnByaXYtPmxvY2spOwotCWNsZWFyX2JpdChJUE9JQl9NQ0FTVF9TVEFSVEVELCAmcHJpdi0+ZmxhZ3MpOwotCXNwaW5fdW5sb2NrX2lycSgmcHJpdi0+bG9jayk7Ci0KIAltdXRleF9sb2NrKCZtY2FzdF9tdXRleCk7CiAJY2xlYXJfYml0KElQT0lCX01DQVNUX1JVTiwgJnByaXYtPmZsYWdzKTsKIAljYW5jZWxfZGVsYXllZF93b3JrKCZwcml2LT5tY2FzdF90YXNrKTsKQEAgLTYzNSwxMCArNjMwLDEwIEBACiAJCQkJSVBPSUJfR0lEX0FSRyhtY2FzdC0+bWNtZW1iZXIubWdpZCkpOwogCiAJCS8qIFJlbW92ZSBvdXJzZWx2ZXMgZnJvbSB0aGUgbXVsdGljYXN0IGdyb3VwICovCi0JCXJldCA9IGlwb2liX21jYXN0X2RldGFjaChkZXYsIGJlMTZfdG9fY3B1KG1jYXN0LT5tY21lbWJlci5tbGlkKSwKLQkJCQkJICZtY2FzdC0+bWNtZW1iZXIubWdpZCk7CisJCXJldCA9IGliX2RldGFjaF9tY2FzdChwcml2LT5xcCwgJm1jYXN0LT5tY21lbWJlci5tZ2lkLAorCQkJCSAgICAgIGJlMTZfdG9fY3B1KG1jYXN0LT5tY21lbWJlci5tbGlkKSk7CiAJCWlmIChyZXQpCi0JCQlpcG9pYl93YXJuKHByaXYsICJpcG9pYl9tY2FzdF9kZXRhY2ggZmFpbGVkIChyZXN1bHQgPSAlZClcbiIsIHJldCk7CisJCQlpcG9pYl93YXJuKHByaXYsICJpYl9kZXRhY2hfbWNhc3QgZmFpbGVkIChyZXN1bHQgPSAlZClcbiIsIHJldCk7CiAJfQogCiAJcmV0dXJuIDA7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvdWxwL2lwb2liL2lwb2liX3ZlcmJzLmMgYi9kcml2ZXJzL2luZmluaWJhbmQvdWxwL2lwb2liL2lwb2liX3ZlcmJzLmMKaW5kZXggODc2NmQyOS4uNjgzMjUxMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL3VscC9pcG9pYi9pcG9pYl92ZXJicy5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC91bHAvaXBvaWIvaXBvaWJfdmVyYnMuYwpAQCAtMjksMjQgKzI5LDE3IEBACiAgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgogICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogICogU09GVFdBUkUuCi0gKgotICogJElkOiBpcG9pYl92ZXJicy5jIDEzNDkgMjAwNC0xMi0xNiAyMTowOTo0M1ogcm9sYW5kICQKICAqLwogCiAjaW5jbHVkZSAiaXBvaWIuaCIKIAotaW50IGlwb2liX21jYXN0X2F0dGFjaChzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LCB1MTYgbWxpZCwgdW5pb24gaWJfZ2lkICptZ2lkKQoraW50IGlwb2liX21jYXN0X2F0dGFjaChzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LCB1MTYgbWxpZCwgdW5pb24gaWJfZ2lkICptZ2lkLCBpbnQgc2V0X3FrZXkpCiB7CiAJc3RydWN0IGlwb2liX2Rldl9wcml2ICpwcml2ID0gbmV0ZGV2X3ByaXYoZGV2KTsKLQlzdHJ1Y3QgaWJfcXBfYXR0ciAqcXBfYXR0cjsKKwlzdHJ1Y3QgaWJfcXBfYXR0ciAqcXBfYXR0ciA9IE5VTEw7CiAJaW50IHJldDsKIAl1MTYgcGtleV9pbmRleDsKIAotCXJldCA9IC1FTk9NRU07Ci0JcXBfYXR0ciA9IGttYWxsb2Moc2l6ZW9mICpxcF9hdHRyLCBHRlBfS0VSTkVMKTsKLQlpZiAoIXFwX2F0dHIpCi0JCWdvdG8gb3V0OwotCiAJaWYgKGliX2ZpbmRfcGtleShwcml2LT5jYSwgcHJpdi0+cG9ydCwgcHJpdi0+cGtleSwgJnBrZXlfaW5kZXgpKSB7CiAJCWNsZWFyX2JpdChJUE9JQl9QS0VZX0FTU0lHTkVELCAmcHJpdi0+ZmxhZ3MpOwogCQlyZXQgPSAtRU5YSU87CkBAIC01NCwxOCArNDcsMjMgQEAKIAl9CiAJc2V0X2JpdChJUE9JQl9QS0VZX0FTU0lHTkVELCAmcHJpdi0+ZmxhZ3MpOwogCi0JLyogc2V0IGNvcnJlY3QgUUtleSBmb3IgUVAgKi8KLQlxcF9hdHRyLT5xa2V5ID0gcHJpdi0+cWtleTsKLQlyZXQgPSBpYl9tb2RpZnlfcXAocHJpdi0+cXAsIHFwX2F0dHIsIElCX1FQX1FLRVkpOwotCWlmIChyZXQpIHsKLQkJaXBvaWJfd2Fybihwcml2LCAiZmFpbGVkIHRvIG1vZGlmeSBRUCwgcmV0ID0gJWRcbiIsIHJldCk7Ci0JCWdvdG8gb3V0OworCWlmIChzZXRfcWtleSkgeworCQlyZXQgPSAtRU5PTUVNOworCQlxcF9hdHRyID0ga21hbGxvYyhzaXplb2YgKnFwX2F0dHIsIEdGUF9LRVJORUwpOworCQlpZiAoIXFwX2F0dHIpCisJCQlnb3RvIG91dDsKKworCQkvKiBzZXQgY29ycmVjdCBRS2V5IGZvciBRUCAqLworCQlxcF9hdHRyLT5xa2V5ID0gcHJpdi0+cWtleTsKKwkJcmV0ID0gaWJfbW9kaWZ5X3FwKHByaXYtPnFwLCBxcF9hdHRyLCBJQl9RUF9RS0VZKTsKKwkJaWYgKHJldCkgeworCQkJaXBvaWJfd2Fybihwcml2LCAiZmFpbGVkIHRvIG1vZGlmeSBRUCwgcmV0ID0gJWRcbiIsIHJldCk7CisJCQlnb3RvIG91dDsKKwkJfQogCX0KIAogCS8qIGF0dGFjaCBRUCB0byBtdWx0aWNhc3QgZ3JvdXAgKi8KLQltdXRleF9sb2NrKCZwcml2LT5tY2FzdF9tdXRleCk7CiAJcmV0ID0gaWJfYXR0YWNoX21jYXN0KHByaXYtPnFwLCBtZ2lkLCBtbGlkKTsKLQltdXRleF91bmxvY2soJnByaXYtPm1jYXN0X211dGV4KTsKIAlpZiAocmV0KQogCQlpcG9pYl93YXJuKHByaXYsICJmYWlsZWQgdG8gYXR0YWNoIHRvIG11bHRpY2FzdCBncm91cCwgcmV0ID0gJWRcbiIsIHJldCk7CiAKQEAgLTc0LDIwICs3Miw2IEBACiAJcmV0dXJuIHJldDsKIH0KIAotaW50IGlwb2liX21jYXN0X2RldGFjaChzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LCB1MTYgbWxpZCwgdW5pb24gaWJfZ2lkICptZ2lkKQotewotCXN0cnVjdCBpcG9pYl9kZXZfcHJpdiAqcHJpdiA9IG5ldGRldl9wcml2KGRldik7Ci0JaW50IHJldDsKLQotCW11dGV4X2xvY2soJnByaXYtPm1jYXN0X211dGV4KTsKLQlyZXQgPSBpYl9kZXRhY2hfbWNhc3QocHJpdi0+cXAsIG1naWQsIG1saWQpOwotCW11dGV4X3VubG9jaygmcHJpdi0+bWNhc3RfbXV0ZXgpOwotCWlmIChyZXQpCi0JCWlwb2liX3dhcm4ocHJpdiwgImliX2RldGFjaF9tY2FzdCBmYWlsZWQgKHJlc3VsdCA9ICVkKVxuIiwgcmV0KTsKLQotCXJldHVybiByZXQ7Ci19Ci0KIGludCBpcG9pYl9pbml0X3FwKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYpCiB7CiAJc3RydWN0IGlwb2liX2Rldl9wcml2ICpwcml2ID0gbmV0ZGV2X3ByaXYoZGV2KTsKQEAgLTIwMSw3ICsxODUsMTAgQEAKIAlpbml0X2F0dHIucmVjdl9jcSA9IHByaXYtPnJlY3ZfY3E7CiAKIAlpZiAocHJpdi0+aGNhX2NhcHMgJiBJQl9ERVZJQ0VfVURfVFNPKQotCQlpbml0X2F0dHIuY3JlYXRlX2ZsYWdzID0gSUJfUVBfQ1JFQVRFX0lQT0lCX1VEX0xTTzsKKwkJaW5pdF9hdHRyLmNyZWF0ZV9mbGFncyB8PSBJQl9RUF9DUkVBVEVfSVBPSUJfVURfTFNPOworCisJaWYgKHByaXYtPmhjYV9jYXBzICYgSUJfREVWSUNFX0JMT0NLX01VTFRJQ0FTVF9MT09QQkFDSykKKwkJaW5pdF9hdHRyLmNyZWF0ZV9mbGFncyB8PSBJQl9RUF9DUkVBVEVfQkxPQ0tfTVVMVElDQVNUX0xPT1BCQUNLOwogCiAJaWYgKGRldi0+ZmVhdHVyZXMgJiBORVRJRl9GX1NHKQogCQlpbml0X2F0dHIuY2FwLm1heF9zZW5kX3NnZSA9IE1BWF9TS0JfRlJBR1MgKyAxOwpAQCAtMjg5LDE1ICsyNzYsMTcgQEAKIAlpZiAocmVjb3JkLT5lbGVtZW50LnBvcnRfbnVtICE9IHByaXYtPnBvcnQpCiAJCXJldHVybjsKIAotCWlmIChyZWNvcmQtPmV2ZW50ID09IElCX0VWRU5UX1BPUlRfRVJSICAgIHx8Ci0JICAgIHJlY29yZC0+ZXZlbnQgPT0gSUJfRVZFTlRfUE9SVF9BQ1RJVkUgfHwKLQkgICAgcmVjb3JkLT5ldmVudCA9PSBJQl9FVkVOVF9MSURfQ0hBTkdFICB8fAotCSAgICByZWNvcmQtPmV2ZW50ID09IElCX0VWRU5UX1NNX0NIQU5HRSAgIHx8CisJaXBvaWJfZGJnKHByaXYsICJFdmVudCAlZCBvbiBkZXZpY2UgJXMgcG9ydCAlZFxuIiwgcmVjb3JkLT5ldmVudCwKKwkJICByZWNvcmQtPmRldmljZS0+bmFtZSwgcmVjb3JkLT5lbGVtZW50LnBvcnRfbnVtKTsKKworCWlmIChyZWNvcmQtPmV2ZW50ID09IElCX0VWRU5UX1NNX0NIQU5HRSB8fAogCSAgICByZWNvcmQtPmV2ZW50ID09IElCX0VWRU5UX0NMSUVOVF9SRVJFR0lTVEVSKSB7Ci0JCWlwb2liX2RiZyhwcml2LCAiUG9ydCBzdGF0ZSBjaGFuZ2UgZXZlbnRcbiIpOwotCQlxdWV1ZV93b3JrKGlwb2liX3dvcmtxdWV1ZSwgJnByaXYtPmZsdXNoX3Rhc2spOworCQlxdWV1ZV93b3JrKGlwb2liX3dvcmtxdWV1ZSwgJnByaXYtPmZsdXNoX2xpZ2h0KTsKKwl9IGVsc2UgaWYgKHJlY29yZC0+ZXZlbnQgPT0gSUJfRVZFTlRfUE9SVF9FUlIgfHwKKwkJICAgcmVjb3JkLT5ldmVudCA9PSBJQl9FVkVOVF9QT1JUX0FDVElWRSB8fAorCQkgICByZWNvcmQtPmV2ZW50ID09IElCX0VWRU5UX0xJRF9DSEFOR0UpIHsKKwkJcXVldWVfd29yayhpcG9pYl93b3JrcXVldWUsICZwcml2LT5mbHVzaF9ub3JtYWwpOwogCX0gZWxzZSBpZiAocmVjb3JkLT5ldmVudCA9PSBJQl9FVkVOVF9QS0VZX0NIQU5HRSkgewotCQlpcG9pYl9kYmcocHJpdiwgIlBfS2V5IGNoYW5nZSBldmVudCBvbiBwb3J0OiVkXG4iLCBwcml2LT5wb3J0KTsKLQkJcXVldWVfd29yayhpcG9pYl93b3JrcXVldWUsICZwcml2LT5wa2V5X2V2ZW50X3Rhc2spOworCQlxdWV1ZV93b3JrKGlwb2liX3dvcmtxdWV1ZSwgJnByaXYtPmZsdXNoX2hlYXZ5KTsKIAl9CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvdWxwL2lwb2liL2lwb2liX3ZsYW4uYyBiL2RyaXZlcnMvaW5maW5pYmFuZC91bHAvaXBvaWIvaXBvaWJfdmxhbi5jCmluZGV4IDFjZGI1Y2YuLmIwOGViNTYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC91bHAvaXBvaWIvaXBvaWJfdmxhbi5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC91bHAvaXBvaWIvaXBvaWJfdmxhbi5jCkBAIC0yOCw4ICsyOCw2IEBACiAgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgogICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogICogU09GVFdBUkUuCi0gKgotICogJElkOiBpcG9pYl92bGFuLmMgMTM0OSAyMDA0LTEyLTE2IDIxOjA5OjQzWiByb2xhbmQgJAogICovCiAKICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC91bHAvaXNlci9pc2NzaV9pc2VyLmMgYi9kcml2ZXJzL2luZmluaWJhbmQvdWxwL2lzZXIvaXNjc2lfaXNlci5jCmluZGV4IGFlYjU4Y2EuLjM1NmZhYzYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC91bHAvaXNlci9pc2NzaV9pc2VyLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL3VscC9pc2VyL2lzY3NpX2lzZXIuYwpAQCAtNDIsOSArNDIsNiBAQAogICoJWmhlbnl1IFdhbmcKICAqIE1vZGlmaWVkIGJ5OgogICogICAgICBFcmV6IFppbGJlcgotICoKLSAqCi0gKiAkSWQ6IGlzY3NpX2lzZXIuYyA2OTY1IDIwMDYtMDUtMDcgMTE6MzY6MjBaIG9nZXJsaXR6ICQKICAqLwogCiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC91bHAvaXNlci9pc2NzaV9pc2VyLmggYi9kcml2ZXJzL2luZmluaWJhbmQvdWxwL2lzZXIvaXNjc2lfaXNlci5oCmluZGV4IGE4YzFiMzAuLjBlMTA3MDMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC91bHAvaXNlci9pc2NzaV9pc2VyLmgKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL3VscC9pc2VyL2lzY3NpX2lzZXIuaApAQCAtMzYsOCArMzYsNiBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZDogaXNjc2lfaXNlci5oIDcwNTEgMjAwNi0wNS0xMCAxMjoyOToxMVogb2dlcmxpdHogJAogICovCiAjaWZuZGVmIF9fSVNDU0lfSVNFUl9IX18KICNkZWZpbmUgX19JU0NTSV9JU0VSX0hfXwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL3VscC9pc2VyL2lzZXJfaW5pdGlhdG9yLmMgYi9kcml2ZXJzL2luZmluaWJhbmQvdWxwL2lzZXIvaXNlcl9pbml0aWF0b3IuYwppbmRleCAwOGRjODFjLi4zMWFkNDk4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvdWxwL2lzZXIvaXNlcl9pbml0aWF0b3IuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvdWxwL2lzZXIvaXNlcl9pbml0aWF0b3IuYwpAQCAtMjgsOCArMjgsNiBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZDogaXNlcl9pbml0aWF0b3IuYyA2OTY0IDIwMDYtMDUtMDcgMTE6MTE6NDNaIG9nZXJsaXR6ICQKICAqLwogI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgogI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC91bHAvaXNlci9pc2VyX21lbW9yeS5jIGIvZHJpdmVycy9pbmZpbmliYW5kL3VscC9pc2VyL2lzZXJfbWVtb3J5LmMKaW5kZXggY2FjNTBjNC4uODFlNDljYiAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL3VscC9pc2VyL2lzZXJfbWVtb3J5LmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL3VscC9pc2VyL2lzZXJfbWVtb3J5LmMKQEAgLTI4LDggKzI4LDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IGlzZXJfbWVtb3J5LmMgNjk2NCAyMDA2LTA1LTA3IDExOjExOjQzWiBvZ2VybGl0eiAkCiAgKi8KICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KICNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC91bHAvaXNlci9pc2VyX3ZlcmJzLmMgYi9kcml2ZXJzL2luZmluaWJhbmQvdWxwL2lzZXIvaXNlcl92ZXJicy5jCmluZGV4IGQxOWNmZTYuLjc3Y2FiZWUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC91bHAvaXNlci9pc2VyX3ZlcmJzLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL3VscC9pc2VyL2lzZXJfdmVyYnMuYwpAQCAtMjksOCArMjksNiBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZDogaXNlcl92ZXJicy5jIDcwNTEgMjAwNi0wNS0xMCAxMjoyOToxMVogb2dlcmxpdHogJAogICovCiAjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvdWxwL3NycC9pYl9zcnAuYyBiL2RyaXZlcnMvaW5maW5pYmFuZC91bHAvc3JwL2liX3NycC5jCmluZGV4IDQzNTE0NTcuLmVkN2M1ZjcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC91bHAvc3JwL2liX3NycC5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC91bHAvc3JwL2liX3NycC5jCkBAIC0yOCw4ICsyOCw2IEBACiAgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgogICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogICogU09GVFdBUkUuCi0gKgotICogJElkOiBpYl9zcnAuYyAzOTMyIDIwMDUtMTEtMDEgMTc6MTk6MjlaIHJvbGFuZCAkCiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgpAQCAtNDksOCArNDcsNiBAQAogI2luY2x1ZGUgPHNjc2kvc3JwLmg+CiAjaW5jbHVkZSA8c2NzaS9zY3NpX3RyYW5zcG9ydF9zcnAuaD4KIAotI2luY2x1ZGUgPHJkbWEvaWJfY2FjaGUuaD4KLQogI2luY2x1ZGUgImliX3NycC5oIgogCiAjZGVmaW5lIERSVl9OQU1FCSJpYl9zcnAiCkBAIC0xODMsMTAgKzE3OSwxMCBAQAogCWlmICghYXR0cikKIAkJcmV0dXJuIC1FTk9NRU07CiAKLQlyZXQgPSBpYl9maW5kX2NhY2hlZF9wa2V5KHRhcmdldC0+c3JwX2hvc3QtPnNycF9kZXYtPmRldiwKLQkJCQkgIHRhcmdldC0+c3JwX2hvc3QtPnBvcnQsCi0JCQkJICBiZTE2X3RvX2NwdSh0YXJnZXQtPnBhdGgucGtleSksCi0JCQkJICAmYXR0ci0+cGtleV9pbmRleCk7CisJcmV0ID0gaWJfZmluZF9wa2V5KHRhcmdldC0+c3JwX2hvc3QtPnNycF9kZXYtPmRldiwKKwkJCSAgIHRhcmdldC0+c3JwX2hvc3QtPnBvcnQsCisJCQkgICBiZTE2X3RvX2NwdSh0YXJnZXQtPnBhdGgucGtleSksCisJCQkgICAmYXR0ci0+cGtleV9pbmRleCk7CiAJaWYgKHJldCkKIAkJZ290byBvdXQ7CiAKQEAgLTE4ODMsOCArMTg3OSw3IEBACiAJaWYgKHJldCkKIAkJZ290byBlcnI7CiAKLQlpYl9nZXRfY2FjaGVkX2dpZChob3N0LT5zcnBfZGV2LT5kZXYsIGhvc3QtPnBvcnQsIDAsCi0JCQkgICZ0YXJnZXQtPnBhdGguc2dpZCk7CisJaWJfcXVlcnlfZ2lkKGhvc3QtPnNycF9kZXYtPmRldiwgaG9zdC0+cG9ydCwgMCwgJnRhcmdldC0+cGF0aC5zZ2lkKTsKIAogCXNob3N0X3ByaW50ayhLRVJOX0RFQlVHLCB0YXJnZXQtPnNjc2lfaG9zdCwgUEZYCiAJCSAgICAgIm5ldyB0YXJnZXQ6IGlkX2V4dCAlMDE2bGx4IGlvY19ndWlkICUwMTZsbHggcGtleSAlMDR4ICIKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC91bHAvc3JwL2liX3NycC5oIGIvZHJpdmVycy9pbmZpbmliYW5kL3VscC9zcnAvaWJfc3JwLmgKaW5kZXggNjNkMmFlNzIuLmUxODViOTAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC91bHAvc3JwL2liX3NycC5oCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC91bHAvc3JwL2liX3NycC5oCkBAIC0yOCw4ICsyOCw2IEBACiAgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgogICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogICogU09GVFdBUkUuCi0gKgotICogJElkOiBpYl9zcnAuaCAzOTMyIDIwMDUtMTEtMDEgMTc6MTk6MjlaIHJvbGFuZCAkCiAgKi8KIAogI2lmbmRlZiBJQl9TUlBfSApkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbnB1dC9pbnB1dC5jIGIvZHJpdmVycy9pbnB1dC9pbnB1dC5jCmluZGV4IDI3MDA2ZmMuLjQwOGRmMGIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5wdXQvaW5wdXQuYworKysgYi9kcml2ZXJzL2lucHV0L2lucHV0LmMKQEAgLTIxLDYgKzIxLDcgQEAKICNpbmNsdWRlIDxsaW51eC9kZXZpY2UuaD4KICNpbmNsdWRlIDxsaW51eC9tdXRleC5oPgogI2luY2x1ZGUgPGxpbnV4L3JjdXBkYXRlLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KIAogTU9EVUxFX0FVVEhPUigiVm9qdGVjaCBQYXZsaWsgPHZvanRlY2hAc3VzZS5jej4iKTsKIE1PRFVMRV9ERVNDUklQVElPTigiSW5wdXQgY29yZSIpOwpAQCAtMTU4OCwxMyArMTU4OSwxNyBAQAogCiBzdGF0aWMgaW50IGlucHV0X29wZW5fZmlsZShzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKIHsKLQlzdHJ1Y3QgaW5wdXRfaGFuZGxlciAqaGFuZGxlciA9IGlucHV0X3RhYmxlW2ltaW5vcihpbm9kZSkgPj4gNV07CisJc3RydWN0IGlucHV0X2hhbmRsZXIgKmhhbmRsZXI7CiAJY29uc3Qgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyAqb2xkX2ZvcHMsICpuZXdfZm9wcyA9IE5VTEw7CiAJaW50IGVycjsKIAorCWxvY2tfa2VybmVsKCk7CiAJLyogTm8gbG9hZC1vbi1kZW1hbmQgaGVyZT8gKi8KLQlpZiAoIWhhbmRsZXIgfHwgIShuZXdfZm9wcyA9IGZvcHNfZ2V0KGhhbmRsZXItPmZvcHMpKSkKLQkJcmV0dXJuIC1FTk9ERVY7CisJaGFuZGxlciA9IGlucHV0X3RhYmxlW2ltaW5vcihpbm9kZSkgPj4gNV07CisJaWYgKCFoYW5kbGVyIHx8ICEobmV3X2ZvcHMgPSBmb3BzX2dldChoYW5kbGVyLT5mb3BzKSkpIHsKKwkJZXJyID0gLUVOT0RFVjsKKwkJZ290byBvdXQ7CisJfQogCiAJLyoKIAkgKiBUaGF0J3MgX3JlYWxseV8gb2RkLiBVc3VhbGx5IE5VTEwgLT5vcGVuIG1lYW5zICJub3RoaW5nIHNwZWNpYWwiLApAQCAtMTYwMiw3ICsxNjA3LDggQEAKIAkgKi8KIAlpZiAoIW5ld19mb3BzLT5vcGVuKSB7CiAJCWZvcHNfcHV0KG5ld19mb3BzKTsKLQkJcmV0dXJuIC1FTk9ERVY7CisJCWVyciA9IC1FTk9ERVY7CisJCWdvdG8gb3V0OwogCX0KIAlvbGRfZm9wcyA9IGZpbGUtPmZfb3A7CiAJZmlsZS0+Zl9vcCA9IG5ld19mb3BzOwpAQCAtMTYxNCw2ICsxNjIwLDggQEAKIAkJZmlsZS0+Zl9vcCA9IGZvcHNfZ2V0KG9sZF9mb3BzKTsKIAl9CiAJZm9wc19wdXQob2xkX2ZvcHMpOworb3V0OgorCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gZXJyOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2lucHV0L21pc2MvaHBfc2RjX3J0Yy5jIGIvZHJpdmVycy9pbnB1dC9taXNjL2hwX3NkY19ydGMuYwppbmRleCA0NWU1ZDA1Li40OWQ4YWJmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2lucHV0L21pc2MvaHBfc2RjX3J0Yy5jCisrKyBiL2RyaXZlcnMvaW5wdXQvbWlzYy9ocF9zZGNfcnRjLmMKQEAgLTM1LDYgKzM1LDcgQEAKIAogI2luY2x1ZGUgPGxpbnV4L2hwX3NkYy5oPgogI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KQEAgLTQwOCw2ICs0MDksNyBAQAogCiBzdGF0aWMgaW50IGhwX3NkY19ydGNfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKIHsKKwljeWNsZV9rZXJuZWxfbG9jaygpOwogICAgICAgICByZXR1cm4gMDsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbnB1dC9taXNjL3VpbnB1dC5jIGIvZHJpdmVycy9pbnB1dC9taXNjL3VpbnB1dC5jCmluZGV4IGE1NmFkNGIuLjJiY2ZhMGIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5wdXQvbWlzYy91aW5wdXQuYworKysgYi9kcml2ZXJzL2lucHV0L21pc2MvdWlucHV0LmMKQEAgLTM3LDYgKzM3LDcgQEAKICNpbmNsdWRlIDxsaW51eC9mcy5oPgogI2luY2x1ZGUgPGxpbnV4L21pc2NkZXZpY2UuaD4KICNpbmNsdWRlIDxsaW51eC91aW5wdXQuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogCiBzdGF0aWMgaW50IHVpbnB1dF9kZXZfZXZlbnQoc3RydWN0IGlucHV0X2RldiAqZGV2LCB1bnNpZ25lZCBpbnQgdHlwZSwgdW5zaWduZWQgaW50IGNvZGUsIGludCB2YWx1ZSkKIHsKQEAgLTIyMiw2ICsyMjMsNyBAQAogCWlmICghbmV3ZGV2KQogCQlyZXR1cm4gLUVOT01FTTsKIAorCWxvY2tfa2VybmVsKCk7CiAJbXV0ZXhfaW5pdCgmbmV3ZGV2LT5tdXRleCk7CiAJc3Bpbl9sb2NrX2luaXQoJm5ld2Rldi0+cmVxdWVzdHNfbG9jayk7CiAJaW5pdF93YWl0cXVldWVfaGVhZCgmbmV3ZGV2LT5yZXF1ZXN0c193YWl0cSk7CkBAIC0yMjksNiArMjMxLDcgQEAKIAluZXdkZXYtPnN0YXRlID0gVUlTVF9ORVdfREVWSUNFOwogCiAJZmlsZS0+cHJpdmF0ZV9kYXRhID0gbmV3ZGV2OworCXVubG9ja19rZXJuZWwoKTsKIAogCXJldHVybiAwOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbnB1dC9tb3VzZWRldi5jIGIvZHJpdmVycy9pbnB1dC9tb3VzZWRldi5jCmluZGV4IGI5ODk3NDguLjgxMzdlNTAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5wdXQvbW91c2VkZXYuYworKysgYi9kcml2ZXJzL2lucHV0L21vdXNlZGV2LmMKQEAgLTE0LDYgKzE0LDcgQEAKICNkZWZpbmUgTU9VU0VERVZfTUlYCQkzMQogCiAjaW5jbHVkZSA8bGludXgvc2xhYi5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvcG9sbC5oPgogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KQEAgLTU0NSwxNiArNTQ2LDIxIEBACiAJaWYgKGkgPj0gTU9VU0VERVZfTUlOT1JTKQogCQlyZXR1cm4gLUVOT0RFVjsKIAorCWxvY2tfa2VybmVsKCk7CiAJZXJyb3IgPSBtdXRleF9sb2NrX2ludGVycnVwdGlibGUoJm1vdXNlZGV2X3RhYmxlX211dGV4KTsKLQlpZiAoZXJyb3IpCisJaWYgKGVycm9yKSB7CisJCXVubG9ja19rZXJuZWwoKTsKIAkJcmV0dXJuIGVycm9yOworCX0KIAltb3VzZWRldiA9IG1vdXNlZGV2X3RhYmxlW2ldOwogCWlmIChtb3VzZWRldikKIAkJZ2V0X2RldmljZSgmbW91c2VkZXYtPmRldik7CiAJbXV0ZXhfdW5sb2NrKCZtb3VzZWRldl90YWJsZV9tdXRleCk7CiAKLQlpZiAoIW1vdXNlZGV2KQorCWlmICghbW91c2VkZXYpIHsKKwkJdW5sb2NrX2tlcm5lbCgpOwogCQlyZXR1cm4gLUVOT0RFVjsKKwl9CiAKIAljbGllbnQgPSBremFsbG9jKHNpemVvZihzdHJ1Y3QgbW91c2VkZXZfY2xpZW50KSwgR0ZQX0tFUk5FTCk7CiAJaWYgKCFjbGllbnQpIHsKQEAgLTU3Myw2ICs1NzksNyBAQAogCQlnb3RvIGVycl9mcmVlX2NsaWVudDsKIAogCWZpbGUtPnByaXZhdGVfZGF0YSA9IGNsaWVudDsKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIDA7CiAKICBlcnJfZnJlZV9jbGllbnQ6CkBAIC01ODAsNiArNTg3LDcgQEAKIAlrZnJlZShjbGllbnQpOwogIGVycl9wdXRfbW91c2VkZXY6CiAJcHV0X2RldmljZSgmbW91c2VkZXYtPmRldik7CisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiBlcnJvcjsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbnB1dC9zZXJpby9zZXJpb19yYXcuYyBiL2RyaXZlcnMvaW5wdXQvc2VyaW8vc2VyaW9fcmF3LmMKaW5kZXggMDQwMzYyMi4uYzkzOTdjOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbnB1dC9zZXJpby9zZXJpb19yYXcuYworKysgYi9kcml2ZXJzL2lucHV0L3NlcmlvL3NlcmlvX3Jhdy5jCkBAIC0xMCw2ICsxMCw3IEBACiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L3BvbGwuaD4KICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KICNpbmNsdWRlIDxsaW51eC9zZXJpby5oPgpAQCAtODEsOSArODIsMTAgQEAKIAlzdHJ1Y3Qgc2VyaW9fcmF3X2xpc3QgKmxpc3Q7CiAJaW50IHJldHZhbCA9IDA7CiAKKwlsb2NrX2tlcm5lbCgpOwogCXJldHZhbCA9IG11dGV4X2xvY2tfaW50ZXJydXB0aWJsZSgmc2VyaW9fcmF3X211dGV4KTsKIAlpZiAocmV0dmFsKQotCQlyZXR1cm4gcmV0dmFsOworCQlnb3RvIG91dF9ia2w7CiAKIAlpZiAoIShzZXJpb19yYXcgPSBzZXJpb19yYXdfbG9jYXRlKGltaW5vcihpbm9kZSkpKSkgewogCQlyZXR2YWwgPSAtRU5PREVWOwpAQCAtMTA4LDYgKzExMCw4IEBACiAKIG91dDoKIAltdXRleF91bmxvY2soJnNlcmlvX3Jhd19tdXRleCk7CitvdXRfYmtsOgorCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gcmV0dmFsOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2lucHV0L3hlbi1rYmRmcm9udC5jIGIvZHJpdmVycy9pbnB1dC94ZW4ta2JkZnJvbnQuYwppbmRleCAwZjQ3ZjQ2Li45Y2UzYjNiIDEwMDY0NAotLS0gYS9kcml2ZXJzL2lucHV0L3hlbi1rYmRmcm9udC5jCisrKyBiL2RyaXZlcnMvaW5wdXQveGVuLWtiZGZyb250LmMKQEAgLTY2LDYgKzY2LDkgQEAKIAkJY2FzZSBYRU5LQkRfVFlQRV9NT1RJT046CiAJCQlpbnB1dF9yZXBvcnRfcmVsKGRldiwgUkVMX1gsIGV2ZW50LT5tb3Rpb24ucmVsX3gpOwogCQkJaW5wdXRfcmVwb3J0X3JlbChkZXYsIFJFTF9ZLCBldmVudC0+bW90aW9uLnJlbF95KTsKKwkJCWlmIChldmVudC0+bW90aW9uLnJlbF96KQorCQkJCWlucHV0X3JlcG9ydF9yZWwoZGV2LCBSRUxfV0hFRUwsCisJCQkJCQkgLWV2ZW50LT5tb3Rpb24ucmVsX3opOwogCQkJYnJlYWs7CiAJCWNhc2UgWEVOS0JEX1RZUEVfS0VZOgogCQkJZGV2ID0gTlVMTDsKQEAgLTg0LDYgKzg3LDkgQEAKIAkJY2FzZSBYRU5LQkRfVFlQRV9QT1M6CiAJCQlpbnB1dF9yZXBvcnRfYWJzKGRldiwgQUJTX1gsIGV2ZW50LT5wb3MuYWJzX3gpOwogCQkJaW5wdXRfcmVwb3J0X2FicyhkZXYsIEFCU19ZLCBldmVudC0+cG9zLmFic195KTsKKwkJCWlmIChldmVudC0+cG9zLnJlbF96KQorCQkJCWlucHV0X3JlcG9ydF9yZWwoZGV2LCBSRUxfV0hFRUwsCisJCQkJCQkgLWV2ZW50LT5wb3MucmVsX3opOwogCQkJYnJlYWs7CiAJCX0KIAkJaWYgKGRldikKQEAgLTE1Miw3ICsxNTgsNyBAQAogCXB0ci0+ZXZiaXRbMF0gPSBCSVQoRVZfS0VZKSB8IEJJVChFVl9SRUwpIHwgQklUKEVWX0FCUyk7CiAJZm9yIChpID0gQlROX0xFRlQ7IGkgPD0gQlROX1RBU0s7IGkrKykKIAkJc2V0X2JpdChpLCBwdHItPmtleWJpdCk7Ci0JcHRyLT5yZWxiaXRbMF0gPSBCSVQoUkVMX1gpIHwgQklUKFJFTF9ZKTsKKwlwdHItPnJlbGJpdFswXSA9IEJJVChSRUxfWCkgfCBCSVQoUkVMX1kpIHwgQklUKFJFTF9XSEVFTCk7CiAJaW5wdXRfc2V0X2Fic19wYXJhbXMocHRyLCBBQlNfWCwgMCwgWEVORkJfV0lEVEgsIDAsIDApOwogCWlucHV0X3NldF9hYnNfcGFyYW1zKHB0ciwgQUJTX1ksIDAsIFhFTkZCX0hFSUdIVCwgMCwgMCk7CiAKQEAgLTI5NCw2ICszMDAsMTYgQEAKIAkJICovCiAJCWlmIChkZXYtPnN0YXRlICE9IFhlbmJ1c1N0YXRlQ29ubmVjdGVkKQogCQkJZ290byBJbml0V2FpdDsgLyogbm8gSW5pdFdhaXQgc2VlbiB5ZXQsIGZ1ZGdlIGl0ICovCisKKwkJLyogU2V0IGlucHV0IGFicyBwYXJhbXMgdG8gbWF0Y2ggYmFja2VuZCBzY3JlZW4gcmVzICovCisJCWlmICh4ZW5idXNfc2NhbmYoWEJUX05JTCwgaW5mby0+eGJkZXYtPm90aGVyZW5kLAorCQkJCSAid2lkdGgiLCAiJWQiLCAmdmFsKSA+IDApCisJCQlpbnB1dF9zZXRfYWJzX3BhcmFtcyhpbmZvLT5wdHIsIEFCU19YLCAwLCB2YWwsIDAsIDApOworCisJCWlmICh4ZW5idXNfc2NhbmYoWEJUX05JTCwgaW5mby0+eGJkZXYtPm90aGVyZW5kLAorCQkJCSAiaGVpZ2h0IiwgIiVkIiwgJnZhbCkgPiAwKQorCQkJaW5wdXRfc2V0X2Fic19wYXJhbXMoaW5mby0+cHRyLCBBQlNfWSwgMCwgdmFsLCAwLCAwKTsKKwogCQlicmVhazsKIAogCWNhc2UgWGVuYnVzU3RhdGVDbG9zaW5nOgpAQCAtMzM3LDQgKzM1Myw2IEBACiBtb2R1bGVfaW5pdCh4ZW5rYmRfaW5pdCk7CiBtb2R1bGVfZXhpdCh4ZW5rYmRfY2xlYW51cCk7CiAKK01PRFVMRV9ERVNDUklQVElPTigiWGVuIHZpcnR1YWwga2V5Ym9hcmQvcG9pbnRlciBkZXZpY2UgZnJvbnRlbmQiKTsKIE1PRFVMRV9MSUNFTlNFKCJHUEwiKTsKK01PRFVMRV9BTElBUygieGVuOnZrYmQiKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaXNkbi9jYXBpL2NhcGkuYyBiL2RyaXZlcnMvaXNkbi9jYXBpL2NhcGkuYwppbmRleCA2Y2EwYmI5Li4yMDk1MTUzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2lzZG4vY2FwaS9jYXBpLmMKKysrIGIvZHJpdmVycy9pc2RuL2NhcGkvY2FwaS5jCkBAIC0yMCw2ICsyMCw3IEBACiAjaW5jbHVkZSA8bGludXgvc2lnbmFsLmg+CiAjaW5jbHVkZSA8bGludXgvbXV0ZXguaD4KICNpbmNsdWRlIDxsaW51eC9tbS5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvdGltZXIuaD4KICNpbmNsdWRlIDxsaW51eC93YWl0Lmg+CiAjaWZkZWYgQ09ORklHX0lTRE5fQ0FQSV9NSURETEVXQVJFCkBAIC05ODMsMTMgKzk4NCwxNyBAQAogc3RhdGljIGludAogY2FwaV9vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQogeworCWludCByZXQ7CisJCisJbG9ja19rZXJuZWwoKTsKIAlpZiAoZmlsZS0+cHJpdmF0ZV9kYXRhKQotCQlyZXR1cm4gLUVFWElTVDsKLQotCWlmICgoZmlsZS0+cHJpdmF0ZV9kYXRhID0gY2FwaWRldl9hbGxvYygpKSA9PSBOVUxMKQotCQlyZXR1cm4gLUVOT01FTTsKLQotCXJldHVybiBub25zZWVrYWJsZV9vcGVuKGlub2RlLCBmaWxlKTsKKwkJcmV0ID0gLUVFWElTVDsKKwllbHNlIGlmICgoZmlsZS0+cHJpdmF0ZV9kYXRhID0gY2FwaWRldl9hbGxvYygpKSA9PSBOVUxMKQorCQlyZXQgPSAtRU5PTUVNOworCWVsc2UKKwkJcmV0ID0gbm9uc2Vla2FibGVfb3Blbihpbm9kZSwgZmlsZSk7CisJdW5sb2NrX2tlcm5lbCgpOworCXJldHVybiByZXQ7CiB9CiAKIHN0YXRpYyBpbnQKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaXNkbi9oYXJkd2FyZS9laWNvbi9kaXZhbW50LmMgYi9kcml2ZXJzL2lzZG4vaGFyZHdhcmUvZWljb24vZGl2YW1udC5jCmluZGV4IGM5MDkyODkuLjFlODVmNzQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaXNkbi9oYXJkd2FyZS9laWNvbi9kaXZhbW50LmMKKysrIGIvZHJpdmVycy9pc2RuL2hhcmR3YXJlL2VpY29uL2RpdmFtbnQuYwpAQCAtMTQsNiArMTQsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KICNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KICNpbmNsdWRlIDxsaW51eC9wb2xsLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgogCiAjaW5jbHVkZSAicGxhdGZvcm0uaCIKQEAgLTEyNywxNCArMTI4LDE5IEBACiAKIHN0YXRpYyBpbnQgbWFpbnRfb3BlbihzdHJ1Y3QgaW5vZGUgKmlubywgc3RydWN0IGZpbGUgKmZpbGVwKQogeworCWludCByZXQ7CisKKwlsb2NrX2tlcm5lbCgpOwogCS8qIG9ubHkgb25lIG9wZW4gaXMgYWxsb3dlZCwgc28gd2UgdGVzdAogCSAgIGl0IGF0b21pY2FsbHkgKi8KIAlpZiAodGVzdF9hbmRfc2V0X2JpdCgwLCAmb3BlbmVkKSkKLQkJcmV0dXJuICgtRUJVU1kpOwotCi0JZmlsZXAtPnByaXZhdGVfZGF0YSA9IE5VTEw7Ci0KLQlyZXR1cm4gbm9uc2Vla2FibGVfb3Blbihpbm8sIGZpbGVwKTsKKwkJcmV0ID0gLUVCVVNZOworCWVsc2UgeworCQlmaWxlcC0+cHJpdmF0ZV9kYXRhID0gTlVMTDsKKwkJcmV0ID0gbm9uc2Vla2FibGVfb3Blbihpbm8sIGZpbGVwKTsKKwl9CisJdW5sb2NrX2tlcm5lbCgpOworCXJldHVybiByZXQ7CiB9CiAKIHN0YXRpYyBpbnQgbWFpbnRfY2xvc2Uoc3RydWN0IGlub2RlICppbm8sIHN0cnVjdCBmaWxlICpmaWxlcCkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaXNkbi9oYXJkd2FyZS9laWNvbi9kaXZhc2kuYyBiL2RyaXZlcnMvaXNkbi9oYXJkd2FyZS9laWNvbi9kaXZhc2kuYwppbmRleCA3OGYxNDFlLi5mNDk2OWZlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2lzZG4vaGFyZHdhcmUvZWljb24vZGl2YXNpLmMKKysrIGIvZHJpdmVycy9pc2RuL2hhcmR3YXJlL2VpY29uL2RpdmFzaS5jCkBAIC0xNyw2ICsxNyw3IEBACiAjaW5jbHVkZSA8bGludXgvcG9sbC5oPgogI2luY2x1ZGUgPGxpbnV4L3Byb2NfZnMuaD4KICNpbmNsdWRlIDxsaW51eC9za2J1ZmYuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGFzbS91YWNjZXNzLmg+CiAKICNpbmNsdWRlICJwbGF0Zm9ybS5oIgpAQCAtNDAwLDYgKzQwMSw3IEBACiAKIHN0YXRpYyBpbnQgdW1faWRpX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCiB7CisJY3ljbGVfa2VybmVsX2xvY2soKTsKIAlyZXR1cm4gKDApOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2lzZG4vaGFyZHdhcmUvZWljb24vZGl2YXNtYWluLmMgYi9kcml2ZXJzL2lzZG4vaGFyZHdhcmUvZWljb24vZGl2YXNtYWluLmMKaW5kZXggMTZhODc0Yi4uZmJiY2IyNyAxMDA2NDQKLS0tIGEvZHJpdmVycy9pc2RuL2hhcmR3YXJlL2VpY29uL2RpdmFzbWFpbi5jCisrKyBiL2RyaXZlcnMvaXNkbi9oYXJkd2FyZS9laWNvbi9kaXZhc21haW4uYwpAQCAtMjEsNiArMjEsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2xpc3QuaD4KICNpbmNsdWRlIDxsaW51eC9wb2xsLmg+CiAjaW5jbHVkZSA8bGludXgva21vZC5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAKICNpbmNsdWRlICJwbGF0Zm9ybS5oIgogI3VuZGVmIElEX01BU0sKQEAgLTU4MCw2ICs1ODEsNyBAQAogICovCiBzdGF0aWMgaW50IGRpdmFzX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCiB7CisJY3ljbGVfa2VybmVsX2xvY2soKTsKIAlyZXR1cm4gKDApOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2lzZG4vaTRsL2lzZG5fY29tbW9uLmMgYi9kcml2ZXJzL2lzZG4vaTRsL2lzZG5fY29tbW9uLmMKaW5kZXggOGQ4YzZiNy4uNzE4OGM1OSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pc2RuL2k0bC9pc2RuX2NvbW1vbi5jCisrKyBiL2RyaXZlcnMvaXNkbi9pNGwvaXNkbl9jb21tb24uYwpAQCAtMTczMiw3ICsxNzMyLDcgQEAKIAlpbnQgY2hpZHg7CiAJaW50IHJldHZhbCA9IC1FTk9ERVY7CiAKLQorCWxvY2tfa2VybmVsKCk7CiAJaWYgKG1pbm9yID09IElTRE5fTUlOT1JfU1RBVFVTKSB7CiAJCWluZm9zdHJ1Y3QgKnA7CiAKQEAgLTE3ODMsNiArMTc4Myw3IEBACiAjZW5kaWYKICBvdXQ6CiAJbm9uc2Vla2FibGVfb3Blbihpbm8sIGZpbGVwKTsKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIHJldHZhbDsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9sZ3Vlc3QvS2NvbmZpZyBiL2RyaXZlcnMvbGd1ZXN0L0tjb25maWcKaW5kZXggNmI4ZGJiOS4uNzZmMmIzNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9sZ3Vlc3QvS2NvbmZpZworKysgYi9kcml2ZXJzL2xndWVzdC9LY29uZmlnCkBAIC0xLDYgKzEsNiBAQAogY29uZmlnIExHVUVTVAogCXRyaXN0YXRlICJMaW51eCBoeXBlcnZpc29yIGV4YW1wbGUgY29kZSIKLQlkZXBlbmRzIG9uIFg4Nl8zMiAmJiBFWFBFUklNRU5UQUwgJiYgIVg4Nl9QQUUgJiYgRlVURVggJiYgIShYODZfVklTV1MgfHwgWDg2X1ZPWUFHRVIpCisJZGVwZW5kcyBvbiBYODZfMzIgJiYgRVhQRVJJTUVOVEFMICYmICFYODZfUEFFICYmIEZVVEVYICYmICFYODZfVk9ZQUdFUgogCXNlbGVjdCBIVkNfRFJJVkVSCiAJLS0taGVscC0tLQogCSAgVGhpcyBpcyBhIHZlcnkgc2ltcGxlIG1vZHVsZSB3aGljaCBhbGxvd3MgeW91IHRvIHJ1bgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9sZ3Vlc3QvbGcuaCBiL2RyaXZlcnMvbGd1ZXN0L2xnLmgKaW5kZXggMDA1YmQwNC4uNWZhZWZlYSAxMDA2NDQKLS0tIGEvZHJpdmVycy9sZ3Vlc3QvbGcuaAorKysgYi9kcml2ZXJzL2xndWVzdC9sZy5oCkBAIC0xMzYsNyArMTM2LDYgQEAKICAqIGZpcnN0IHN0ZXAgaW4gdGhlIG1pZ3JhdGlvbiB0byB0aGUga2VybmVsIHR5cGVzLiAgcHRlX3BmbiBpcyBhbHJlYWR5IGRlZmluZWQKICAqIGluIHRoZSBrZXJuZWwuICovCiAjZGVmaW5lIHBnZF9mbGFncyh4KQkocGdkX3ZhbCh4KSAmIH5QQUdFX01BU0spCi0jZGVmaW5lIHB0ZV9mbGFncyh4KQkocHRlX3ZhbCh4KSAmIH5QQUdFX01BU0spCiAjZGVmaW5lIHBnZF9wZm4oeCkJKHBnZF92YWwoeCkgPj4gUEFHRV9TSElGVCkKIAogLyogaW50ZXJydXB0c19hbmRfdHJhcHMuYzogKi8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWFjaW50b3NoL2FkYi5jIGIvZHJpdmVycy9tYWNpbnRvc2gvYWRiLmMKaW5kZXggZGJhYWQzOS4uNDBjNzBiYSAxMDA2NDQKLS0tIGEvZHJpdmVycy9tYWNpbnRvc2gvYWRiLmMKKysrIGIvZHJpdmVycy9tYWNpbnRvc2gvYWRiLmMKQEAgLTY0NCwxMiArNjQ0LDE4IEBACiBzdGF0aWMgaW50IGFkYl9vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQogewogCXN0cnVjdCBhZGJkZXZfc3RhdGUgKnN0YXRlOworCWludCByZXQgPSAwOwogCi0JaWYgKGltaW5vcihpbm9kZSkgPiAwIHx8IGFkYl9jb250cm9sbGVyID09IE5VTEwpCi0JCXJldHVybiAtRU5YSU87CisJbG9ja19rZXJuZWwoKTsKKwlpZiAoaW1pbm9yKGlub2RlKSA+IDAgfHwgYWRiX2NvbnRyb2xsZXIgPT0gTlVMTCkgeworCQlyZXQgPSAtRU5YSU87CisJCWdvdG8gb3V0OworCX0KIAlzdGF0ZSA9IGttYWxsb2Moc2l6ZW9mKHN0cnVjdCBhZGJkZXZfc3RhdGUpLCBHRlBfS0VSTkVMKTsKLQlpZiAoc3RhdGUgPT0gMCkKLQkJcmV0dXJuIC1FTk9NRU07CisJaWYgKHN0YXRlID09IDApIHsKKwkJcmV0ID0gLUVOT01FTTsKKwkJZ290byBvdXQ7CisJfQogCWZpbGUtPnByaXZhdGVfZGF0YSA9IHN0YXRlOwogCXNwaW5fbG9ja19pbml0KCZzdGF0ZS0+bG9jayk7CiAJYXRvbWljX3NldCgmc3RhdGUtPm5fcGVuZGluZywgMCk7CkBAIC02NTcsNyArNjYzLDkgQEAKIAlpbml0X3dhaXRxdWV1ZV9oZWFkKCZzdGF0ZS0+d2FpdF9xdWV1ZSk7CiAJc3RhdGUtPmludXNlID0gMTsKIAotCXJldHVybiAwOworb3V0OgorCXVubG9ja19rZXJuZWwoKTsKKwlyZXR1cm4gcmV0OwogfQogCiBzdGF0aWMgaW50IGFkYl9yZWxlYXNlKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9tYWNpbnRvc2gvYW5zLWxjZC5jIGIvZHJpdmVycy9tYWNpbnRvc2gvYW5zLWxjZC5jCmluZGV4IDczYzUwYmMuLjZhODIyMTggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbWFjaW50b3NoL2Fucy1sY2QuYworKysgYi9kcml2ZXJzL21hY2ludG9zaC9hbnMtbGNkLmMKQEAgLTMsNiArMyw3IEBACiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxsaW51eC9lcnJuby5oPgogI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgogI2luY2x1ZGUgPGxpbnV4L21pc2NkZXZpY2UuaD4KQEAgLTExOSw2ICsxMjAsNyBAQAogc3RhdGljIGludAogYW5zbGNkX29wZW4oIHN0cnVjdCBpbm9kZSAqIGlub2RlLCBzdHJ1Y3QgZmlsZSAqIGZpbGUgKQogeworCWN5Y2xlX2tlcm5lbF9sb2NrKCk7CiAJcmV0dXJuIDA7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWFjaW50b3NoL3NtdS5jIGIvZHJpdmVycy9tYWNpbnRvc2gvc211LmMKaW5kZXggZDg2ZDU3YS4uMzJjYjAyOSAxMDA2NDQKLS0tIGEvZHJpdmVycy9tYWNpbnRvc2gvc211LmMKKysrIGIvZHJpdmVycy9tYWNpbnRvc2gvc211LmMKQEAgLTE5LDYgKzE5LDcgQEAKICAqICAgIHRoZSB1c2VybGFuZCBpbnRlcmZhY2UKICAqLwogCisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgogI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgogI2luY2x1ZGUgPGxpbnV4L2RldmljZS5oPgpAQCAtMTA4NiwxMCArMTA4NywxMiBAQAogCXBwLT5tb2RlID0gc211X2ZpbGVfY29tbWFuZHM7CiAJaW5pdF93YWl0cXVldWVfaGVhZCgmcHAtPndhaXQpOwogCisJbG9ja19rZXJuZWwoKTsKIAlzcGluX2xvY2tfaXJxc2F2ZSgmc211X2NsaXN0X2xvY2ssIGZsYWdzKTsKIAlsaXN0X2FkZCgmcHAtPmxpc3QsICZzbXVfY2xpc3QpOwogCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnNtdV9jbGlzdF9sb2NrLCBmbGFncyk7CiAJZmlsZS0+cHJpdmF0ZV9kYXRhID0gcHA7CisJdW5sb2NrX2tlcm5lbCgpOwogCiAJcmV0dXJuIDA7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL21hY2ludG9zaC92aWEtcG11LmMgYi9kcml2ZXJzL21hY2ludG9zaC92aWEtcG11LmMKaW5kZXggZDYzNjVhOS4uZDUyNGRjMiAxMDA2NDQKLS0tIGEvZHJpdmVycy9tYWNpbnRvc2gvdmlhLXBtdS5jCisrKyBiL2RyaXZlcnMvbWFjaW50b3NoL3ZpYS1wbXUuYwpAQCAtMTgsNiArMTgsNyBAQAogICoKICAqLwogI2luY2x1ZGUgPHN0ZGFyZy5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KICNpbmNsdWRlIDxsaW51eC9lcnJuby5oPgogI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgpAQCAtMjA0Nyw2ICsyMDQ4LDcgQEAKIAlwcC0+cmJfZ2V0ID0gcHAtPnJiX3B1dCA9IDA7CiAJc3Bpbl9sb2NrX2luaXQoJnBwLT5sb2NrKTsKIAlpbml0X3dhaXRxdWV1ZV9oZWFkKCZwcC0+d2FpdCk7CisJbG9ja19rZXJuZWwoKTsKIAlzcGluX2xvY2tfaXJxc2F2ZSgmYWxsX3B2dF9sb2NrLCBmbGFncyk7CiAjaWYgZGVmaW5lZChDT05GSUdfSU5QVVRfQURCSElEKSAmJiBkZWZpbmVkKENPTkZJR19QTUFDX0JBQ0tMSUdIVCkKIAlwcC0+YmFja2xpZ2h0X2xvY2tlciA9IDA7CkBAIC0yMDU0LDYgKzIwNTYsNyBAQAogCWxpc3RfYWRkKCZwcC0+bGlzdCwgJmFsbF9wbXVfcHZ0KTsKIAlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZhbGxfcHZ0X2xvY2ssIGZsYWdzKTsKIAlmaWxlLT5wcml2YXRlX2RhdGEgPSBwcDsKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIDA7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWQvbGluZWFyLmMgYi9kcml2ZXJzL21kL2xpbmVhci5jCmluZGV4IDEwNzQ4MjQuLjZhODY2ZDcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbWQvbGluZWFyLmMKKysrIGIvZHJpdmVycy9tZC9saW5lYXIuYwpAQCAtNTAsMTcgKzUwLDE5IEBACiAvKioKICAqCWxpbmVhcl9tZXJnZWFibGVfYnZlYyAtLSB0ZWxsIGJpbyBsYXllciBpZiB0d28gcmVxdWVzdHMgY2FuIGJlIG1lcmdlZAogICoJQHE6IHJlcXVlc3QgcXVldWUKLSAqCUBiaW86IHRoZSBidWZmZXIgaGVhZCB0aGF0J3MgYmVlbiBidWlsdCB1cCBzbyBmYXIKKyAqCUBidm06IHByb3BlcnRpZXMgb2YgbmV3IGJpbwogICoJQGJpb3ZlYzogdGhlIHJlcXVlc3QgdGhhdCBjb3VsZCBiZSBtZXJnZWQgdG8gaXQuCiAgKgogICoJUmV0dXJuIGFtb3VudCBvZiBieXRlcyB3ZSBjYW4gdGFrZSBhdCB0aGlzIG9mZnNldAogICovCi1zdGF0aWMgaW50IGxpbmVhcl9tZXJnZWFibGVfYnZlYyhzdHJ1Y3QgcmVxdWVzdF9xdWV1ZSAqcSwgc3RydWN0IGJpbyAqYmlvLCBzdHJ1Y3QgYmlvX3ZlYyAqYmlvdmVjKQorc3RhdGljIGludCBsaW5lYXJfbWVyZ2VhYmxlX2J2ZWMoc3RydWN0IHJlcXVlc3RfcXVldWUgKnEsCisJCQkJIHN0cnVjdCBidmVjX21lcmdlX2RhdGEgKmJ2bSwKKwkJCQkgc3RydWN0IGJpb192ZWMgKmJpb3ZlYykKIHsKIAltZGRldl90ICptZGRldiA9IHEtPnF1ZXVlZGF0YTsKIAlkZXZfaW5mb190ICpkZXYwOwotCXVuc2lnbmVkIGxvbmcgbWF4c2VjdG9ycywgYmlvX3NlY3RvcnMgPSBiaW8tPmJpX3NpemUgPj4gOTsKLQlzZWN0b3JfdCBzZWN0b3IgPSBiaW8tPmJpX3NlY3RvciArIGdldF9zdGFydF9zZWN0KGJpby0+YmlfYmRldik7CisJdW5zaWduZWQgbG9uZyBtYXhzZWN0b3JzLCBiaW9fc2VjdG9ycyA9IGJ2bS0+Ymlfc2l6ZSA+PiA5OworCXNlY3Rvcl90IHNlY3RvciA9IGJ2bS0+Ymlfc2VjdG9yICsgZ2V0X3N0YXJ0X3NlY3QoYnZtLT5iaV9iZGV2KTsKIAogCWRldjAgPSB3aGljaF9kZXYobWRkZXYsIHNlY3Rvcik7CiAJbWF4c2VjdG9ycyA9IChkZXYwLT5zaXplIDw8IDEpIC0gKHNlY3RvciAtIChkZXYwLT5vZmZzZXQ8PDEpKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWQvcmFpZDAuYyBiL2RyaXZlcnMvbWQvcmFpZDAuYwppbmRleCA5MTRjMDRkLi5iY2JiODI1IDEwMDY0NAotLS0gYS9kcml2ZXJzL21kL3JhaWQwLmMKKysrIGIvZHJpdmVycy9tZC9yYWlkMC5jCkBAIC0yNDEsMTggKzI0MSwyMCBAQAogLyoqCiAgKglyYWlkMF9tZXJnZWFibGVfYnZlYyAtLSB0ZWxsIGJpbyBsYXllciBpZiBhIHR3byByZXF1ZXN0cyBjYW4gYmUgbWVyZ2VkCiAgKglAcTogcmVxdWVzdCBxdWV1ZQotICoJQGJpbzogdGhlIGJ1ZmZlciBoZWFkIHRoYXQncyBiZWVuIGJ1aWx0IHVwIHNvIGZhcgorICoJQGJ2bTogcHJvcGVydGllcyBvZiBuZXcgYmlvCiAgKglAYmlvdmVjOiB0aGUgcmVxdWVzdCB0aGF0IGNvdWxkIGJlIG1lcmdlZCB0byBpdC4KICAqCiAgKglSZXR1cm4gYW1vdW50IG9mIGJ5dGVzIHdlIGNhbiBhY2NlcHQgYXQgdGhpcyBvZmZzZXQKICAqLwotc3RhdGljIGludCByYWlkMF9tZXJnZWFibGVfYnZlYyhzdHJ1Y3QgcmVxdWVzdF9xdWV1ZSAqcSwgc3RydWN0IGJpbyAqYmlvLCBzdHJ1Y3QgYmlvX3ZlYyAqYmlvdmVjKQorc3RhdGljIGludCByYWlkMF9tZXJnZWFibGVfYnZlYyhzdHJ1Y3QgcmVxdWVzdF9xdWV1ZSAqcSwKKwkJCQlzdHJ1Y3QgYnZlY19tZXJnZV9kYXRhICpidm0sCisJCQkJc3RydWN0IGJpb192ZWMgKmJpb3ZlYykKIHsKIAltZGRldl90ICptZGRldiA9IHEtPnF1ZXVlZGF0YTsKLQlzZWN0b3JfdCBzZWN0b3IgPSBiaW8tPmJpX3NlY3RvciArIGdldF9zdGFydF9zZWN0KGJpby0+YmlfYmRldik7CisJc2VjdG9yX3Qgc2VjdG9yID0gYnZtLT5iaV9zZWN0b3IgKyBnZXRfc3RhcnRfc2VjdChidm0tPmJpX2JkZXYpOwogCWludCBtYXg7CiAJdW5zaWduZWQgaW50IGNodW5rX3NlY3RvcnMgPSBtZGRldi0+Y2h1bmtfc2l6ZSA+PiA5OwotCXVuc2lnbmVkIGludCBiaW9fc2VjdG9ycyA9IGJpby0+Ymlfc2l6ZSA+PiA5OworCXVuc2lnbmVkIGludCBiaW9fc2VjdG9ycyA9IGJ2bS0+Ymlfc2l6ZSA+PiA5OwogCiAJbWF4ID0gIChjaHVua19zZWN0b3JzIC0gKChzZWN0b3IgJiAoY2h1bmtfc2VjdG9ycyAtIDEpKSArIGJpb19zZWN0b3JzKSkgPDwgOTsKIAlpZiAobWF4IDwgMCkgbWF4ID0gMDsgLyogYmlvX2FkZCBjYW5ub3QgaGFuZGxlIGEgbmVnYXRpdmUgcmV0dXJuICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL21kL3JhaWQxMC5jIGIvZHJpdmVycy9tZC9yYWlkMTAuYwppbmRleCBhNzEyNzdiLi4yMmJiMmIxIDEwMDY0NAotLS0gYS9kcml2ZXJzL21kL3JhaWQxMC5jCisrKyBiL2RyaXZlcnMvbWQvcmFpZDEwLmMKQEAgLTQzOSwyNiArNDM5LDI3IEBACiAvKioKICAqCXJhaWQxMF9tZXJnZWFibGVfYnZlYyAtLSB0ZWxsIGJpbyBsYXllciBpZiBhIHR3byByZXF1ZXN0cyBjYW4gYmUgbWVyZ2VkCiAgKglAcTogcmVxdWVzdCBxdWV1ZQotICoJQGJpbzogdGhlIGJ1ZmZlciBoZWFkIHRoYXQncyBiZWVuIGJ1aWx0IHVwIHNvIGZhcgorICoJQGJ2bTogcHJvcGVydGllcyBvZiBuZXcgYmlvCiAgKglAYmlvdmVjOiB0aGUgcmVxdWVzdCB0aGF0IGNvdWxkIGJlIG1lcmdlZCB0byBpdC4KICAqCiAgKglSZXR1cm4gYW1vdW50IG9mIGJ5dGVzIHdlIGNhbiBhY2NlcHQgYXQgdGhpcyBvZmZzZXQKICAqICAgICAgSWYgbmVhcl9jb3BpZXMgPT0gcmFpZF9kaXNrLCB0aGVyZSBhcmUgbm8gc3RyaXBpbmcgaXNzdWVzLAogICogICAgICBidXQgaW4gdGhhdCBjYXNlLCB0aGUgZnVuY3Rpb24gaXNuJ3QgY2FsbGVkIGF0IGFsbC4KICAqLwotc3RhdGljIGludCByYWlkMTBfbWVyZ2VhYmxlX2J2ZWMoc3RydWN0IHJlcXVlc3RfcXVldWUgKnEsIHN0cnVjdCBiaW8gKmJpbywKLQkJCQlzdHJ1Y3QgYmlvX3ZlYyAqYmlvX3ZlYykKK3N0YXRpYyBpbnQgcmFpZDEwX21lcmdlYWJsZV9idmVjKHN0cnVjdCByZXF1ZXN0X3F1ZXVlICpxLAorCQkJCSBzdHJ1Y3QgYnZlY19tZXJnZV9kYXRhICpidm0sCisJCQkJIHN0cnVjdCBiaW9fdmVjICpiaW92ZWMpCiB7CiAJbWRkZXZfdCAqbWRkZXYgPSBxLT5xdWV1ZWRhdGE7Ci0Jc2VjdG9yX3Qgc2VjdG9yID0gYmlvLT5iaV9zZWN0b3IgKyBnZXRfc3RhcnRfc2VjdChiaW8tPmJpX2JkZXYpOworCXNlY3Rvcl90IHNlY3RvciA9IGJ2bS0+Ymlfc2VjdG9yICsgZ2V0X3N0YXJ0X3NlY3QoYnZtLT5iaV9iZGV2KTsKIAlpbnQgbWF4OwogCXVuc2lnbmVkIGludCBjaHVua19zZWN0b3JzID0gbWRkZXYtPmNodW5rX3NpemUgPj4gOTsKLQl1bnNpZ25lZCBpbnQgYmlvX3NlY3RvcnMgPSBiaW8tPmJpX3NpemUgPj4gOTsKKwl1bnNpZ25lZCBpbnQgYmlvX3NlY3RvcnMgPSBidm0tPmJpX3NpemUgPj4gOTsKIAogCW1heCA9ICAoY2h1bmtfc2VjdG9ycyAtICgoc2VjdG9yICYgKGNodW5rX3NlY3RvcnMgLSAxKSkgKyBiaW9fc2VjdG9ycykpIDw8IDk7CiAJaWYgKG1heCA8IDApIG1heCA9IDA7IC8qIGJpb19hZGQgY2Fubm90IGhhbmRsZSBhIG5lZ2F0aXZlIHJldHVybiAqLwotCWlmIChtYXggPD0gYmlvX3ZlYy0+YnZfbGVuICYmIGJpb19zZWN0b3JzID09IDApCi0JCXJldHVybiBiaW9fdmVjLT5idl9sZW47CisJaWYgKG1heCA8PSBiaW92ZWMtPmJ2X2xlbiAmJiBiaW9fc2VjdG9ycyA9PSAwKQorCQlyZXR1cm4gYmlvdmVjLT5idl9sZW47CiAJZWxzZQogCQlyZXR1cm4gbWF4OwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZC9yYWlkNS5jIGIvZHJpdmVycy9tZC9yYWlkNS5jCmluZGV4IDNiMjdkZjUuLjljZTcxNTQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbWQvcmFpZDUuYworKysgYi9kcml2ZXJzL21kL3JhaWQ1LmMKQEAgLTMzMTQsMTUgKzMzMTQsMTcgQEAKIC8qIFdlIHdhbnQgcmVhZCByZXF1ZXN0cyB0byBhbGlnbiB3aXRoIGNodW5rcyB3aGVyZSBwb3NzaWJsZSwKICAqIGJ1dCB3cml0ZSByZXF1ZXN0cyBkb24ndCBuZWVkIHRvLgogICovCi1zdGF0aWMgaW50IHJhaWQ1X21lcmdlYWJsZV9idmVjKHN0cnVjdCByZXF1ZXN0X3F1ZXVlICpxLCBzdHJ1Y3QgYmlvICpiaW8sIHN0cnVjdCBiaW9fdmVjICpiaW92ZWMpCitzdGF0aWMgaW50IHJhaWQ1X21lcmdlYWJsZV9idmVjKHN0cnVjdCByZXF1ZXN0X3F1ZXVlICpxLAorCQkJCXN0cnVjdCBidmVjX21lcmdlX2RhdGEgKmJ2bSwKKwkJCQlzdHJ1Y3QgYmlvX3ZlYyAqYmlvdmVjKQogewogCW1kZGV2X3QgKm1kZGV2ID0gcS0+cXVldWVkYXRhOwotCXNlY3Rvcl90IHNlY3RvciA9IGJpby0+Ymlfc2VjdG9yICsgZ2V0X3N0YXJ0X3NlY3QoYmlvLT5iaV9iZGV2KTsKKwlzZWN0b3JfdCBzZWN0b3IgPSBidm0tPmJpX3NlY3RvciArIGdldF9zdGFydF9zZWN0KGJ2bS0+YmlfYmRldik7CiAJaW50IG1heDsKIAl1bnNpZ25lZCBpbnQgY2h1bmtfc2VjdG9ycyA9IG1kZGV2LT5jaHVua19zaXplID4+IDk7Ci0JdW5zaWduZWQgaW50IGJpb19zZWN0b3JzID0gYmlvLT5iaV9zaXplID4+IDk7CisJdW5zaWduZWQgaW50IGJpb19zZWN0b3JzID0gYnZtLT5iaV9zaXplID4+IDk7CiAKLQlpZiAoYmlvX2RhdGFfZGlyKGJpbykgPT0gV1JJVEUpCisJaWYgKChidm0tPmJpX3J3ICYgMSkgPT0gV1JJVEUpCiAJCXJldHVybiBiaW92ZWMtPmJ2X2xlbjsgLyogYWx3YXlzIGFsbG93IHdyaXRlcyB0byBiZSBtZXJnZWFibGUgKi8KIAogCW1heCA9ICAoY2h1bmtfc2VjdG9ycyAtICgoc2VjdG9yICYgKGNodW5rX3NlY3RvcnMgLSAxKSkgKyBiaW9fc2VjdG9ycykpIDw8IDk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL2NvbW1vbi90dW5lcnMvdHVuZXIteGMyMDI4LmMgYi9kcml2ZXJzL21lZGlhL2NvbW1vbi90dW5lcnMvdHVuZXIteGMyMDI4LmMKaW5kZXggMGNiZGUxNy4uMzBlYjA3YiAxMDA2NDQKLS0tIGEvZHJpdmVycy9tZWRpYS9jb21tb24vdHVuZXJzL3R1bmVyLXhjMjAyOC5jCisrKyBiL2RyaXZlcnMvbWVkaWEvY29tbW9uL3R1bmVycy90dW5lci14YzIwMjguYwpAQCAtMjU0LDcgKzI1NCw3IEBACiB7CiAJc3RydWN0IHhjMjAyOF9kYXRhICAgICpwcml2ID0gZmUtPnR1bmVyX3ByaXY7CiAJY29uc3Qgc3RydWN0IGZpcm13YXJlICpmdyAgID0gTlVMTDsKLQl1bnNpZ25lZCBjaGFyICAgICAgICAgKnAsICplbmRwOworCWNvbnN0IHVuc2lnbmVkIGNoYXIgICAqcCwgKmVuZHA7CiAJaW50ICAgICAgICAgICAgICAgICAgIHJjID0gMDsKIAlpbnQJCSAgICAgIG4sIG5fYXJyYXk7CiAJY2hhcgkJICAgICAgbmFtZVszM107CmRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL2NvbW1vbi90dW5lcnMveGM1MDAwLmMgYi9kcml2ZXJzL21lZGlhL2NvbW1vbi90dW5lcnMveGM1MDAwLmMKaW5kZXggN2NmNGY1Yi4uNDg3OGQ2NCAxMDA2NDQKLS0tIGEvZHJpdmVycy9tZWRpYS9jb21tb24vdHVuZXJzL3hjNTAwMC5jCisrKyBiL2RyaXZlcnMvbWVkaWEvY29tbW9uL3R1bmVycy94YzUwMDAuYwpAQCAtMjc4LDcgKzI3OCw3IEBACiAJcmV0dXJuIHJlc3VsdDsKIH0KIAotc3RhdGljIGludCB4Y19sb2FkX2kyY19zZXF1ZW5jZShzdHJ1Y3QgZHZiX2Zyb250ZW5kICpmZSwgdTggaTJjX3NlcXVlbmNlW10pCitzdGF0aWMgaW50IHhjX2xvYWRfaTJjX3NlcXVlbmNlKHN0cnVjdCBkdmJfZnJvbnRlbmQgKmZlLCBjb25zdCB1OCAqaTJjX3NlcXVlbmNlKQogewogCXN0cnVjdCB4YzUwMDBfcHJpdiAqcHJpdiA9IGZlLT50dW5lcl9wcml2OwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL2R2Yi9kdmItY29yZS9kdmJkZXYuYyBiL2RyaXZlcnMvbWVkaWEvZHZiL2R2Yi1jb3JlL2R2YmRldi5jCmluZGV4IDhiNTZkOTIuLmUyMDhhNjAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbWVkaWEvZHZiL2R2Yi1jb3JlL2R2YmRldi5jCisrKyBiL2RyaXZlcnMvbWVkaWEvZHZiL2R2Yi1jb3JlL2R2YmRldi5jCkBAIC0zMiw2ICszMiw3IEBACiAjaW5jbHVkZSA8bGludXgvZnMuaD4KICNpbmNsdWRlIDxsaW51eC9jZGV2Lmg+CiAjaW5jbHVkZSA8bGludXgvbXV0ZXguaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgImR2YmRldi5oIgogCiBzdGF0aWMgaW50IGR2YmRldl9kZWJ1ZzsKQEAgLTc0LDYgKzc1LDcgQEAKIHsKIAlzdHJ1Y3QgZHZiX2RldmljZSAqZHZiZGV2OwogCisJbG9ja19rZXJuZWwoKTsKIAlkdmJkZXYgPSBkdmJkZXZfZmluZF9kZXZpY2UgKGltaW5vcihpbm9kZSkpOwogCiAJaWYgKGR2YmRldiAmJiBkdmJkZXYtPmZvcHMpIHsKQEAgLTkwLDggKzkyLDEwIEBACiAJCQlmaWxlLT5mX29wID0gZm9wc19nZXQob2xkX2ZvcHMpOwogCQl9CiAJCWZvcHNfcHV0KG9sZF9mb3BzKTsKKwkJdW5sb2NrX2tlcm5lbCgpOwogCQlyZXR1cm4gZXJyOwogCX0KKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIC1FTk9ERVY7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvZHZiL2R2Yi11c2IvY3h1c2IuYyBiL2RyaXZlcnMvbWVkaWEvZHZiL2R2Yi11c2IvY3h1c2IuYwppbmRleCA3MjBmY2QxLi4wMjg2MTU2NyAxMDA2NDQKLS0tIGEvZHJpdmVycy9tZWRpYS9kdmIvZHZiLXVzYi9jeHVzYi5jCisrKyBiL2RyaXZlcnMvbWVkaWEvZHZiL2R2Yi11c2IvY3h1c2IuYwpAQCAtMjQsNiArMjQsNyBAQAogICogc2VlIERvY3VtZW50YXRpb24vZHZiL1JFQURNRS5kdmItdXNiIGZvciBtb3JlIGluZm9ybWF0aW9uCiAgKi8KICNpbmNsdWRlIDxtZWRpYS90dW5lci5oPgorI2luY2x1ZGUgPGxpbnV4L3ZtYWxsb2MuaD4KIAogI2luY2x1ZGUgImN4dXNiLmgiCiAKQEAgLTcwMCwxMiArNzAxLDI2IEBACiAKIAkJaWYgKGZ3LT5kYXRhW2lkb2ZmXSA9PSAoVVNCX1ZJRF9EVklDTyAmIDB4ZmYpICYmCiAJCSAgICBmdy0+ZGF0YVtpZG9mZiArIDFdID09IFVTQl9WSURfRFZJQ08gPj4gOCkgewotCQkJZnctPmRhdGFbaWRvZmYgKyAyXSA9CisJCQlzdHJ1Y3QgZmlybXdhcmUgbmV3X2Z3OworCQkJdTggKm5ld19md19kYXRhID0gdm1hbGxvYyhmdy0+c2l6ZSk7CisJCQlpbnQgcmV0OworCisJCQlpZiAoIW5ld19md19kYXRhKQorCQkJCXJldHVybiAtRU5PTUVNOworCisJCQltZW1jcHkobmV3X2Z3X2RhdGEsIGZ3LT5kYXRhLCBmdy0+c2l6ZSk7CisJCQluZXdfZncuc2l6ZSA9IGZ3LT5zaXplOworCQkJbmV3X2Z3LmRhdGEgPSBuZXdfZndfZGF0YTsKKworCQkJbmV3X2Z3X2RhdGFbaWRvZmYgKyAyXSA9CiAJCQkJbGUxNl90b19jcHUodWRldi0+ZGVzY3JpcHRvci5pZFByb2R1Y3QpICsgMTsKLQkJCWZ3LT5kYXRhW2lkb2ZmICsgM10gPQorCQkJbmV3X2Z3X2RhdGFbaWRvZmYgKyAzXSA9CiAJCQkJbGUxNl90b19jcHUodWRldi0+ZGVzY3JpcHRvci5pZFByb2R1Y3QpID4+IDg7CiAKLQkJCXJldHVybiB1c2JfY3lwcmVzc19sb2FkX2Zpcm13YXJlKHVkZXYsIGZ3LCBDWVBSRVNTX0ZYMik7CisJCQlyZXQgPSB1c2JfY3lwcmVzc19sb2FkX2Zpcm13YXJlKHVkZXYsICZuZXdfZncsCisJCQkJCQkJQ1lQUkVTU19GWDIpOworCQkJdmZyZWUobmV3X2Z3X2RhdGEpOworCQkJcmV0dXJuIHJldDsKIAkJfQogCX0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9kdmIvZHZiLXVzYi9ncDhwc2suYyBiL2RyaXZlcnMvbWVkaWEvZHZiL2R2Yi11c2IvZ3A4cHNrLmMKaW5kZXggMjY1MzEyMC4uZDk2NWE5MiAxMDA2NDQKLS0tIGEvZHJpdmVycy9tZWRpYS9kdmIvZHZiLXVzYi9ncDhwc2suYworKysgYi9kcml2ZXJzL21lZGlhL2R2Yi9kdmItdXNiL2dwOHBzay5jCkBAIC04Niw3ICs4Niw4IEBACiB7CiAJaW50IHJldDsKIAljb25zdCBzdHJ1Y3QgZmlybXdhcmUgKmZ3ID0gTlVMTDsKLQl1OCAqcHRyLCAqYnVmOworCWNvbnN0IHU4ICpwdHI7CisJdTggKmJ1ZjsKIAlpZiAoKHJldCA9IHJlcXVlc3RfZmlybXdhcmUoJmZ3LCBiY200NTAwX2Zpcm13YXJlLAogCQkJCQkmZC0+dWRldi0+ZGV2KSkgIT0gMCkgewogCQllcnIoImRpZCBub3QgZmluZCB0aGUgYmNtNDUwMCBmaXJtd2FyZSBmaWxlLiAoJXMpICIKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvZHZiL2Zyb250ZW5kcy9iY20zNTEwLmMgYi9kcml2ZXJzL21lZGlhL2R2Yi9mcm9udGVuZHMvYmNtMzUxMC5jCmluZGV4IGQyNjhlNjUuLmNmNWU1NzYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbWVkaWEvZHZiL2Zyb250ZW5kcy9iY20zNTEwLmMKKysrIGIvZHJpdmVycy9tZWRpYS9kdmIvZnJvbnRlbmRzL2JjbTM1MTAuYwpAQCAtNTkwLDcgKzU5MCw4IEBACiAgKi8KICNkZWZpbmUgQkNNMzUxMF9ERUZBVUxUX0ZJUk1XQVJFICJkdmItZmUtYmNtMzUxMC0wMS5mdyIKIAotc3RhdGljIGludCBiY20zNTEwX3dyaXRlX3JhbShzdHJ1Y3QgYmNtMzUxMF9zdGF0ZSAqc3QsIHUxNiBhZGRyLCB1OCAqYiwgdTE2IGxlbikKK3N0YXRpYyBpbnQgYmNtMzUxMF93cml0ZV9yYW0oc3RydWN0IGJjbTM1MTBfc3RhdGUgKnN0LCB1MTYgYWRkciwgY29uc3QgdTggKmIsCisJCQkgICAgIHUxNiBsZW4pCiB7CiAJaW50IHJldCA9IDAsaTsKIAliY20zNTEwX3JlZ2lzdGVyX3ZhbHVlIHZILCB2TCx2RDsKQEAgLTYxNCw3ICs2MTUsNyBAQAogCXN0cnVjdCBiY20zNTEwX3N0YXRlKiBzdCA9IGZlLT5kZW1vZHVsYXRvcl9wcml2OwogCWNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqZnc7CiAJdTE2IGFkZHIsbGVuOwotCXU4ICAqYjsKKwljb25zdCB1OCAqYjsKIAlpbnQgcmV0LGk7CiAKIAlkZWJfaW5mbygicmVxdWVzdGluZyBmaXJtd2FyZVxuIik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL2R2Yi9mcm9udGVuZHMvbnh0MjAweC5jIGIvZHJpdmVycy9tZWRpYS9kdmIvZnJvbnRlbmRzL254dDIwMHguYwppbmRleCAyM2QwMjI4Li5hZjI5ODM1IDEwMDY0NAotLS0gYS9kcml2ZXJzL21lZGlhL2R2Yi9mcm9udGVuZHMvbnh0MjAweC5jCisrKyBiL2RyaXZlcnMvbWVkaWEvZHZiL2Zyb250ZW5kcy9ueHQyMDB4LmMKQEAgLTkzLDcgKzkzLDggQEAKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIGludCBueHQyMDB4X3dyaXRlYnl0ZXMgKHN0cnVjdCBueHQyMDB4X3N0YXRlKiBzdGF0ZSwgdTggcmVnLCB1OCAqYnVmLCB1OCBsZW4pCitzdGF0aWMgaW50IG54dDIwMHhfd3JpdGVieXRlcyAoc3RydWN0IG54dDIwMHhfc3RhdGUqIHN0YXRlLCB1OCByZWcsCisJCQkgICAgICAgY29uc3QgdTggKmJ1ZiwgdTggbGVuKQogewogCXU4IGJ1ZjIgW2xlbisxXTsKIAlpbnQgZXJyOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9kdmIvZnJvbnRlbmRzL29yNTEyMTEuYyBiL2RyaXZlcnMvbWVkaWEvZHZiL2Zyb250ZW5kcy9vcjUxMjExLmMKaW5kZXggN2VhYTQ3Ni4uNmFmZTEyYSAxMDA2NDQKLS0tIGEvZHJpdmVycy9tZWRpYS9kdmIvZnJvbnRlbmRzL29yNTEyMTEuYworKysgYi9kcml2ZXJzL21lZGlhL2R2Yi9mcm9udGVuZHMvb3I1MTIxMS5jCkBAIC02OSw3ICs2OSw3IEBACiAJdTMyIGN1cnJlbnRfZnJlcXVlbmN5OwogfTsKIAotc3RhdGljIGludCBpMmNfd3JpdGVieXRlcyAoc3RydWN0IG9yNTEyMTFfc3RhdGUqIHN0YXRlLCB1OCByZWcsIHU4ICpidWYsCitzdGF0aWMgaW50IGkyY193cml0ZWJ5dGVzIChzdHJ1Y3Qgb3I1MTIxMV9zdGF0ZSogc3RhdGUsIHU4IHJlZywgY29uc3QgdTggKmJ1ZiwKIAkJCSAgIGludCBsZW4pCiB7CiAJaW50IGVycjsKQEAgLTc3LDcgKzc3LDcgQEAKIAltc2cuYWRkcgk9IHJlZzsKIAltc2cuZmxhZ3MJPSAwOwogCW1zZy5sZW4JCT0gbGVuOwotCW1zZy5idWYJCT0gYnVmOworCW1zZy5idWYJCT0gKHU4ICopYnVmOwogCiAJaWYgKChlcnIgPSBpMmNfdHJhbnNmZXIgKHN0YXRlLT5pMmMsICZtc2csIDEpKSAhPSAxKSB7CiAJCXByaW50ayhLRVJOX1dBUk5JTkcgIm9yNTEyMTE6IGkyY193cml0ZWJ5dGVzIGVycm9yICIKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvZHZiL2Zyb250ZW5kcy9zcDg4NzAuYyBiL2RyaXZlcnMvbWVkaWEvZHZiL2Zyb250ZW5kcy9zcDg4NzAuYwppbmRleCBhYTc4YWExLi4xYzlhOWI0IDEwMDY0NAotLS0gYS9kcml2ZXJzL21lZGlhL2R2Yi9mcm9udGVuZHMvc3A4ODcwLmMKKysrIGIvZHJpdmVycy9tZWRpYS9kdmIvZnJvbnRlbmRzL3NwODg3MC5jCkBAIC05OCw3ICs5OCw3IEBACiBzdGF0aWMgaW50IHNwODg3MF9maXJtd2FyZV91cGxvYWQgKHN0cnVjdCBzcDg4NzBfc3RhdGUqIHN0YXRlLCBjb25zdCBzdHJ1Y3QgZmlybXdhcmUgKmZ3KQogewogCXN0cnVjdCBpMmNfbXNnIG1zZzsKLQljaGFyICpmd19idWYgPSBmdy0+ZGF0YTsKKwljb25zdCBjaGFyICpmd19idWYgPSBmdy0+ZGF0YTsKIAlpbnQgZndfcG9zOwogCXU4IHR4X2J1ZlsyNTVdOwogCWludCB0eF9sZW47CmRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL2R2Yi9mcm9udGVuZHMvc3A4ODd4LmMgYi9kcml2ZXJzL21lZGlhL2R2Yi9mcm9udGVuZHMvc3A4ODd4LmMKaW5kZXggNDlmNTU4Ny4uNDU0MzYwOSAxMDA2NDQKLS0tIGEvZHJpdmVycy9tZWRpYS9kdmIvZnJvbnRlbmRzL3NwODg3eC5jCisrKyBiL2RyaXZlcnMvbWVkaWEvZHZiL2Zyb250ZW5kcy9zcDg4N3guYwpAQCAtMTQwLDcgKzE0MCw3IEBACiAJdTggYnVmIFtCTE9DS1NJWkUrMl07CiAJaW50IGk7CiAJaW50IGZ3X3NpemUgPSBmdy0+c2l6ZTsKLQl1bnNpZ25lZCBjaGFyICptZW0gPSBmdy0+ZGF0YTsKKwljb25zdCB1bnNpZ25lZCBjaGFyICptZW0gPSBmdy0+ZGF0YTsKIAogCWRwcmludGsoIiVzXG4iLCBfX2Z1bmNfXyk7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvZHZiL2Zyb250ZW5kcy90ZGExMDA0OC5jIGIvZHJpdmVycy9tZWRpYS9kdmIvZnJvbnRlbmRzL3RkYTEwMDQ4LmMKaW5kZXggMDkwZmI3ZC4uMGFiOGQ4NmIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbWVkaWEvZHZiL2Zyb250ZW5kcy90ZGExMDA0OC5jCisrKyBiL2RyaXZlcnMvbWVkaWEvZHZiL2Zyb250ZW5kcy90ZGExMDA0OC5jCkBAIC0yMzMsNyArMjMzLDcgQEAKIH0KIAogc3RhdGljIGludCB0ZGExMDA0OF93cml0ZXJlZ2J1bGsoc3RydWN0IHRkYTEwMDQ4X3N0YXRlICpzdGF0ZSwgdTggcmVnLAotCXU4ICpkYXRhLCB1MTYgbGVuKQorCQkJCSBjb25zdCB1OCAqZGF0YSwgdTE2IGxlbikKIHsKIAlpbnQgcmV0ID0gLUVSRU1PVEVJTzsKIAlzdHJ1Y3QgaTJjX21zZyBtc2c7CmRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL2R2Yi9mcm9udGVuZHMvdGRhMTAwNHguYyBiL2RyaXZlcnMvbWVkaWEvZHZiL2Zyb250ZW5kcy90ZGExMDA0eC5jCmluZGV4IGEwZDYzODYuLjE0NjVmZjcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbWVkaWEvZHZiL2Zyb250ZW5kcy90ZGExMDA0eC5jCisrKyBiL2RyaXZlcnMvbWVkaWEvZHZiL2Zyb250ZW5kcy90ZGExMDA0eC5jCkBAIC0zMTcsNyArMzE3LDcgQEAKIH0KIAogc3RhdGljIGludCB0ZGExMDA0eF9kb191cGxvYWQoc3RydWN0IHRkYTEwMDR4X3N0YXRlICpzdGF0ZSwKLQkJCSAgICAgIHVuc2lnbmVkIGNoYXIgKm1lbSwgdW5zaWduZWQgaW50IGxlbiwKKwkJCSAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKm1lbSwgdW5zaWduZWQgaW50IGxlbiwKIAkJCSAgICAgIHU4IGRzcENvZGVDb3VudGVyUmVnLCB1OCBkc3BDb2RlSW5SZWcpCiB7CiAJdTggYnVmWzY1XTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvZHZiL3R0dXNiLWJ1ZGdldC9kdmItdHR1c2ItYnVkZ2V0LmMgYi9kcml2ZXJzL21lZGlhL2R2Yi90dHVzYi1idWRnZXQvZHZiLXR0dXNiLWJ1ZGdldC5jCmluZGV4IDVkMmQ4MWEuLmJjMjA0M2UgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbWVkaWEvZHZiL3R0dXNiLWJ1ZGdldC9kdmItdHR1c2ItYnVkZ2V0LmMKKysrIGIvZHJpdmVycy9tZWRpYS9kdmIvdHR1c2ItYnVkZ2V0L2R2Yi10dHVzYi1idWRnZXQuYwpAQCAtMTksNiArMTksNyBAQAogI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CiAjaW5jbHVkZSA8bGludXgvamlmZmllcy5oPgogI2luY2x1ZGUgPGxpbnV4L211dGV4Lmg+CisjaW5jbHVkZSA8bGludXgvZmlybXdhcmUuaD4KIAogI2luY2x1ZGUgImR2Yl9mcm9udGVuZC5oIgogI2luY2x1ZGUgImRteGRldi5oIgpAQCAtMjg1LDEzICsyODYsMTkgQEAKIAlyZXR1cm4gaTsKIH0KIAotI2luY2x1ZGUgImR2Yi10dHVzYi1kc3Bib290Y29kZS5oIgotCiBzdGF0aWMgaW50IHR0dXNiX2Jvb3RfZHNwKHN0cnVjdCB0dHVzYiAqdHR1c2IpCiB7CisJY29uc3Qgc3RydWN0IGZpcm13YXJlICpmdzsKIAlpbnQgaSwgZXJyOwogCXU4IGJbNDBdOwogCisJZXJyID0gcmVxdWVzdF9maXJtd2FyZSgmZncsICJ0dHVzYi1idWRnZXQvZHNwYm9vdGNvZGUuYmluIiwKKwkJCSAgICAgICAmdHR1c2ItPmRldi0+ZGV2KTsKKwlpZiAoZXJyKSB7CisJCXByaW50ayhLRVJOX0VSUiAidHR1c2ItYnVkZ2V0OiBmYWlsZWQgdG8gcmVxdWVzdCBmaXJtd2FyZVxuIik7CisJCXJldHVybiBlcnI7CisJfQorCiAJLyogQm9vdEJsb2NrICovCiAJYlswXSA9IDB4YWE7CiAJYlsyXSA9IDB4MTM7CkBAIC0yOTksOCArMzA2LDggQEAKIAogCS8qIHVwbG9hZCBkc3AgY29kZSBpbiAzMiBieXRlIHN0ZXBzICgzNiBkaWRuJ3Qgd29yayBmb3IgbWUgLi4uKSAqLwogCS8qIDMyIGlzIG1heCBwYWNrZXQgc2l6ZSwgbm8gbWVzc2FnZXMgc2hvdWxkIGJlIHNwbGl0dGVkLiAqLwotCWZvciAoaSA9IDA7IGkgPCBzaXplb2YoZHNwX2Jvb3Rjb2RlKTsgaSArPSAyOCkgewotCQltZW1jcHkoJmJbNF0sICZkc3BfYm9vdGNvZGVbaV0sIDI4KTsKKwlmb3IgKGkgPSAwOyBpIDwgZnctPnNpemU7IGkgKz0gMjgpIHsKKwkJbWVtY3B5KCZiWzRdLCAmZnctPmRhdGFbaV0sIDI4KTsKIAogCQliWzFdID0gKyt0dHVzYi0+YzsKIApAQCAtMTgyMCwzICsxODI3LDQgQEAKIE1PRFVMRV9BVVRIT1IoIkhvbGdlciBXYWVjaHRsZXIgPGhvbGdlckBjb252ZXJnZW5jZS5kZT4iKTsKIE1PRFVMRV9ERVNDUklQVElPTigiVFRVU0IgRFZCIERyaXZlciIpOwogTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOworTU9EVUxFX0ZJUk1XQVJFKCJ0dHVzYi1idWRnZXQvZHNwYm9vdGNvZGUuYmluIik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL2R2Yi90dHVzYi1idWRnZXQvZHZiLXR0dXNiLWRzcGJvb3Rjb2RlLmggYi9kcml2ZXJzL21lZGlhL2R2Yi90dHVzYi1idWRnZXQvZHZiLXR0dXNiLWRzcGJvb3Rjb2RlLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhjM2NkNTQuLjAwMDAwMDAKLS0tIGEvZHJpdmVycy9tZWRpYS9kdmIvdHR1c2ItYnVkZ2V0L2R2Yi10dHVzYi1kc3Bib290Y29kZS5oCisrKyAvZGV2L251bGwKQEAgLTEsMTY0NCArMCwwIEBACi0KLSNpbmNsdWRlIDxhc20vdHlwZXMuaD4KLQotc3RhdGljIHU4IGRzcF9ib290Y29kZSBbXSA9IHsKLQkweDA4LCAweGFhLCAweDAwLCAweDE4LCAweDAwLCAweDAzLCAweDA4LCAweDAwLAotCTB4MDAsIDB4MTAsIDB4MDAsIDB4MDAsIDB4MDEsIDB4ODAsIDB4MTgsIDB4NWYsCi0JMHgwMCwgMHgwMCwgMHgwMSwgMHg4MCwgMHg3NywgMHgxOCwgMHgyYSwgMHhlYiwKLQkweDZiLCAweGY4LCAweDAwLCAweDE4LCAweDAzLCAweGZmLCAweDY4LCAweGY4LAotCTB4MDAsIDB4MTgsIDB4ZmYsIDB4ZmUsIDB4ZjcsIDB4YjgsIDB4ZjcsIDB4YmUsCi0JMHhmNiwgMHhiOSwgMHhmNCwgMHhhMCwgMHhmNiwgMHhiNywgMHhmNiwgMHhiNSwKLQkweGY2LCAweGI2LCAweGYwLCAweDIwLCAweDE5LCAweGRmLCAweGYxLCAweDAwLAotCTB4MDAsIDB4MDEsIDB4ZjgsIDB4NGQsIDB4MDEsIDB4YWIsIDB4ZjYsIDB4YjgsCi0JMHhmMCwgMHgyMCwgMHgxOSwgMHhkZiwgMHhmMCwgMHg3MywgMHgwMSwgMHhhNSwKLQkweDdlLCAweGY4LCAweDAwLCAweDEyLCAweGYwLCAweDAwLCAweDAwLCAweDAxLAotCTB4NDcsIDB4ZjgsIDB4MDAsIDB4MTEsIDB4N2UsIDB4OTIsIDB4MDAsIDB4ZjgsCi0JMHgwMCwgMHgxMSwgMHhmMCwgMHgwMCwgMHgwMCwgMHgwMSwgMHg3ZSwgMHhmOCwKLQkweDAwLCAweDExLCAweGYwLCAweDAwLCAweDAwLCAweDAxLCAweDZjLCAweDg5LAotCTB4MDEsIDB4OWEsIDB4ZjcsIDB4YjgsIDB4ZWUsIDB4ZmMsIDB4ZjAsIDB4MjAsCi0JMHhmZiwgMHhmZiwgMHhmMSwgMHgwMCwgMHgwMCwgMHgwMSwgMHhmOCwgMHg0ZCwKLQkweDAxLCAweGJmLCAweGYyLCAweDczLCAweDAxLCAweGI5LCAweDRlLCAweDAyLAotCTB4ZjQsIDB4OTUsIDB4ZjUsIDB4ZTMsIDB4NTYsIDB4MDIsIDB4N2UsIDB4MDAsCi0JMHgxMSwgMHgwMCwgMHhmYSwgMHg0YywgMHgwMSwgMHhiNywgMHg2YiwgMHgwMywKLQkweDAwLCAweDAxLCAweGY2LCAweGI4LCAweGVlLCAweDA0LCAweGYwLCAweDc0LAotCTB4MGQsIDB4YTcsIDB4ZjAsIDB4NzQsIDB4MDEsIDB4YzUsIDB4NGEsIDB4MTEsCi0JMHg0YSwgMHgxNiwgMHg3MiwgMHgxMSwgMHgyYSwgMHhlNiwgMHgxMCwgMHhmOCwKLQkweDAwLCAweDExLCAweGZhLCAweDQ1LCAweDAxLCAweGRiLCAweGY0LCAweDk1LAotCTB4ZWUsIDB4ZmYsIDB4NDgsIDB4MTEsIDB4ZjAsIDB4MDAsIDB4MmEsIDB4YzYsCi0JMHg4OCwgMHgxNiwgMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHgxMCwgMHhlZSwKLQkweGZmLCAweGZmLCAweGY0LCAweGUzLCAweDZjLCAweGU5LCAweGZmLCAweGZmLAotCTB4MDEsIDB4ZDUsIDB4MTAsIDB4ZjgsIDB4MmEsIDB4ZTcsIDB4ZjgsIDB4NDUsCi0JMHgwMSwgMHhlMiwgMHgxMCwgMHhmOCwgMHgyYSwgMHhlNywgMHhmNCwgMHhlMywKLQkweGYwLCAweDc0LCAweDAxLCAweGZmLCAweGVlLCAweDAxLCAweDhhLCAweDE2LAotCTB4OGEsIDB4MTEsIDB4ZmMsIDB4MDAsIDB4ZjcsIDB4YjgsIDB4ZTksIDB4MjAsCi0JMHg0YSwgMHgxMSwgMHgwOSwgMHhmOCwgMHgyYSwgMHhlNiwgMHhmOCwgMHg0ZSwKLQkweDAxLCAweGYzLCAweGYyLCAweDczLCAweDAxLCAweGZkLCAweGY0LCAweDk1LAotCTB4ZTgsIDB4MDEsIDB4NzIsIDB4MTEsIDB4MmEsIDB4ZTYsIDB4NDksIDB4MTEsCi0JMHg4MCwgMHhlMSwgMHgyYSwgMHhjNiwgMHhmMywgMHgwMCwgMHgwMCwgMHgwMSwKLQkweGU4LCAweDAwLCAweDgxLCAweGY4LCAweDJhLCAweGU2LCAweDhhLCAweDExLAotCTB4ZmMsIDB4MDAsIDB4ZjQsIDB4OTUsIDB4ZjAsIDB4NzMsIDB4MDIsIDB4MDAsCi0JMHgxMCwgMHhmOCwgMHgyYSwgMHgwZiwgMHhmYywgMHgwMCwgMHg0YSwgMHgxMSwKLQkweGYwLCAweDc0LCAweDAyLCAweDAyLCAweDgwLCAweGY4LCAweDJhLCAweDEwLAotCTB4NzMsIDB4MDgsIDB4MDAsIDB4MDksIDB4NDAsIDB4ZjgsIDB4MmEsIDB4MTUsCi0JMHg4MiwgMHhmOCwgMHgwMCwgMHgxMSwgMHhmNCwgMHg5NSwgMHg3NywgMHgxMCwKLQkweDAzLCAweGU4LCAweGY1LCAweGE5LCAweGY4LCAweDMwLCAweDAyLCAweDIxLAotCTB4NzEsIDB4ZjgsIDB4MmEsIDB4MTAsIDB4MmEsIDB4MTUsIDB4NTYsIDB4ZjgsCi0JMHgyYSwgMHgwYywgMHhmMCwgMHhlMywgMHg0ZSwgMHhmOCwgMHgyYSwgMHgxNiwKLQkweGU4LCAweDAwLCAweDRlLCAweGY4LCAweDJhLCAweDBjLCAweDhhLCAweDExLAotCTB4ZmMsIDB4MDAsIDB4NGEsIDB4MDYsIDB4NGEsIDB4MDcsIDB4NGEsIDB4MWQsCi0JMHg2OCwgMHhmOCwgMHgwMCwgMHgwNywgMHg3ZCwgMHgzZiwgMHg2OSwgMHhmOCwKLQkweDAwLCAweDA3LCAweDQwLCAweDAwLCAweDY4LCAweGY4LCAweDAwLCAweDFkLAotCTB4ZmYsIDB4ZmMsIDB4NmIsIDB4ZjgsIDB4MmEsIDB4MGYsIDB4MDAsIDB4MDEsCi0JMHg4YSwgMHgxZCwgMHg4YSwgMHgwNywgMHg4YSwgMHgwNiwgMHhmNCwgMHhlYiwKLQkweGVlLCAweGZkLCAweDc2LCAweGY4LCAweDJhLCAweDBmLCAweDAwLCAweDAwLAotCTB4NzYsIDB4MDAsIDB4MDAsIDB4MDAsIDB4ZmIsIDB4ODAsIDB4MTksIDB4NGMsCi0JMHhmNCwgMHg5NSwgMHhlOCwgMHgwMCwgMHg4MCwgMHhmOCwgMHgyYSwgMHgxMSwKLQkweGY5LCAweDgwLCAweDE5LCAweDA3LCAweDgwLCAweGY4LCAweDJhLCAweDBlLAotCTB4ZjksIDB4ODAsIDB4MTYsIDB4NjYsIDB4NzYsIDB4MDAsIDB4MmEsIDB4MTIsCi0JMHgxMCwgMHhmOCwgMHgyYSwgMHgxMSwgMHhmOSwgMHg4MCwgMHgxOCwgMHhlMywKLQkweDEwLCAweGY4LCAweDJhLCAweDBlLCAweGY5LCAweDgwLCAweDE2LCAweDY2LAotCTB4MTAsIDB4ZjgsIDB4MmEsIDB4MGUsIDB4ZjksIDB4ODAsIDB4MTYsIDB4ODcsCi0JMHhlZSwgMHgwMywgMHhmYywgMHgwMCwgMHg0YSwgMHgxMSwgMHhmNiwgMHhiOCwKLQkweGY0LCAweDk1LCAweGYwLCAweDIwLCAweDgwLCAweDAwLCAweDExLCAweGY4LAotCTB4MmEsIDB4NWEsIDB4ZjgsIDB4NGQsIDB4MDIsIDB4OTMsIDB4MTEsIDB4ZjgsCi0JMHgyYSwgMHg5ZiwgMHhmOCwgMHg0YywgMHgwMiwgMHg3YywgMHg3NywgMHgxMiwKLQkweDJhLCAweDM5LCAweDQ5LCAweDEyLCAweDAxLCAweGY4LCAweDJhLCAweDlmLAotCTB4ODksIDB4MTEsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4NzEsIDB4ODEsCi0JMHgwMCwgMHgxMSwgMHg2YywgMHhlMSwgMHhmZiwgMHhhYiwgMHgwMiwgMHg5MywKLQkweDZiLCAweGY4LCAweDJhLCAweDlmLCAweDAwLCAweDAxLCAweGU5LCAweDA1LAotCTB4MDEsIDB4ZTIsIDB4MDAsIDB4MDMsIDB4ODEsIDB4ZjgsIDB4MmEsIDB4YTAsCi0JMHhmMCwgMHg3MywgMHgwMiwgMHg5NSwgMHg3MiwgMHgxMSwgMHgyYSwgMHg5ZiwKLQkweGY0LCAweDk1LCAweDEwLCAweGUxLCAweDJhLCAweDM5LCAweDZiLCAweGY4LAotCTB4MmEsIDB4OWYsIDB4MDAsIDB4MDEsIDB4MTEsIDB4ZjgsIDB4MmEsIDB4OWYsCi0JMHgwOSwgMHhmOCwgMHgyYSwgMHhhMCwgMHhmOCwgMHg0YywgMHgwMiwgMHg5MywKLQkweDc2LCAweGY4LCAweDJhLCAweDVhLCAweDAwLCAweDAwLCAweDc2LCAweGY4LAotCTB4MmEsIDB4OWYsIDB4MDAsIDB4MDAsIDB4NzYsIDB4ZjgsIDB4MmEsIDB4YTAsCi0JMHgwMCwgMHgwMCwgMHg4OCwgMHgxMSwgMHhmNCwgMHg5NSwgMHg0OCwgMHgxMSwKLQkweDhhLCAweDExLCAweGZjLCAweDAwLCAweDRhLCAweDExLCAweGVlLCAweGZlLAotCTB4MTAsIDB4ZjgsIDB4MmEsIDB4NWEsIDB4ZjgsIDB4NDQsIDB4MDIsIDB4YjIsCi0JMHg3NiwgMHhmOCwgMHgyYSwgMHg1YSwgMHgwMCwgMHgwMSwgMHhmMCwgMHg3NCwKLQkweDAyLCAweDU4LCAweDg4LCAweDExLCAweGY0LCAweDk1LCAweDc3LCAweDEwLAotCTB4ODAsIDB4MDAsIDB4ZjQsIDB4YTksIDB4ZjgsIDB4MzAsIDB4MDIsIDB4YjIsCi0JMHg0OCwgMHgxMSwgMHhmMCwgMHgzMCwgMHgwMCwgMHhmZiwgMHg4MCwgMHgwMCwKLQkweDEwLCAweGY4LCAweDJhLCAweDViLCAweGY5LCAweDgwLCAweDE4LCAweGQ2LAotCTB4ZWUsIDB4MDIsIDB4OGEsIDB4MTEsIDB4ZmMsIDB4MDAsIDB4ZjQsIDB4OTUsCi0JMHg0YSwgMHgwOCwgMHg0YSwgMHgwOSwgMHg0YSwgMHgwYSwgMHg0YSwgMHgwYiwKLQkweDRhLCAweDBjLCAweDRhLCAweDBkLCAweDRhLCAweDEwLCAweDRhLCAweDExLAotCTB4NGEsIDB4MTIsIDB4NGEsIDB4MTMsIDB4NGEsIDB4MTQsIDB4NGEsIDB4MTUsCi0JMHg0YSwgMHgxNiwgMHg0YSwgMHgxNywgMHg0YSwgMHgxNywgMHg0YSwgMHgxOSwKLQkweDRhLCAweDBlLCAweDRhLCAweDA2LCAweDRhLCAweDA3LCAweDRhLCAweDFhLAotCTB4NGEsIDB4MWQsIDB4NGEsIDB4MWIsIDB4NGEsIDB4MWMsIDB4NjgsIDB4ZjgsCi0JMHgwMCwgMHgwNywgMHg3ZCwgMHgzZiwgMHg2OSwgMHhmOCwgMHgwMCwgMHgwNywKLQkweDQwLCAweDAwLCAweDY4LCAweGY4LCAweDAwLCAweDFkLCAweGZmLCAweGZjLAotCTB4NDgsIDB4MTgsIDB4NjgsIDB4ZjgsIDB4MDAsIDB4MTgsIDB4ZmYsIDB4ZmUsCi0JMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHg0YSwgMHgwOCwgMHhlZSwgMHhmZCwKLQkweGYwLCAweDc0LCAweDAyLCAweDU4LCAweDg4LCAweDExLCAweGY0LCAweDk1LAotCTB4NzcsIDB4MTAsIDB4ODAsIDB4MDAsIDB4ZjQsIDB4YTksIDB4ZjgsIDB4MzAsCi0JMHgwMiwgMHhlZiwgMHg0OCwgMHgxMSwgMHhmMCwgMHgzMCwgMHgwMCwgMHhmZiwKLQkweDgwLCAweDAwLCAweDEwLCAweGY4LCAweDJhLCAweDViLCAweGY5LCAweDgwLAotCTB4MTgsIDB4ZDYsIDB4ZWUsIDB4MDMsIDB4OGEsIDB4MTgsIDB4ZjQsIDB4OTUsCi0JMHg4YSwgMHgxYywgMHg4YSwgMHgxYiwgMHg4YSwgMHgxZCwgMHg4YSwgMHgxYSwKLQkweDhhLCAweDA3LCAweDhhLCAweDA2LCAweDhhLCAweDBlLCAweDhhLCAweDE5LAotCTB4OGEsIDB4MTcsIDB4OGEsIDB4MTcsIDB4OGEsIDB4MTYsIDB4OGEsIDB4MTUsCi0JMHg4YSwgMHgxNCwgMHg4YSwgMHgxMywgMHg4YSwgMHgxMiwgMHg4YSwgMHgxMSwKLQkweDhhLCAweDEwLCAweDhhLCAweDBkLCAweDhhLCAweDBjLCAweDhhLCAweDBiLAotCTB4OGEsIDB4MGEsIDB4OGEsIDB4MDksIDB4OGEsIDB4MDgsIDB4ZjQsIDB4ZWIsCi0JMHg0YSwgMHgxMSwgMHg3NywgMHgxMSwgMHgyYSwgMHgzOSwgMHg3NiwgMHg4MSwKLQkweDAwLCAweDU1LCAweDc3LCAweDEyLCAweDJhLCAweDE4LCAweDEwLCAweGUyLAotCTB4MDAsIDB4MDEsIDB4ODAsIDB4ZTEsIDB4MDAsIDB4MDEsIDB4MTAsIDB4ZTIsCi0JMHgwMCwgMHgwMiwgMHg4MCwgMHhlMSwgMHgwMCwgMHgwMiwgMHg3NiwgMHhlMSwKLQkweDAwLCAweDAzLCAweDAwLCAweDAwLCAweDc2LCAweGUxLCAweDAwLCAweDA0LAotCTB4MDAsIDB4YWEsIDB4ZjAsIDB4NzQsIDB4MDIsIDB4OTgsIDB4OGEsIDB4MTEsCi0JMHhmYywgMHgwMCwgMHg0YSwgMHgxMSwgMHg4OCwgMHgxMSwgMHhmNCwgMHg5NSwKLQkweGY0LCAweDk1LCAweDEwLCAweDgxLCAweDZmLCAweGY4LCAweDJhLCAweDllLAotCTB4MGMsIDB4ODgsIDB4ZTgsIDB4ZmYsIDB4MTgsIDB4ZTEsIDB4MDAsIDB4MDEsCi0JMHgxYSwgMHhmOCwgMHgyYSwgMHg5ZSwgMHhmMCwgMHgzMCwgMHgxZiwgMHhmZiwKLQkweDgwLCAweGY4LCAweDJhLCAweDllLCAweDhhLCAweDExLCAweGZjLCAweDAwLAotCTB4NGEsIDB4MTEsIDB4NzcsIDB4MTEsIDB4MmEsIDB4MzksIDB4NzYsIDB4ODEsCi0JMHgwMCwgMHg1NSwgMHg3NywgMHgxMiwgMHgyYSwgMHgxOCwgMHgxMSwgMHhlMiwKLQkweDAwLCAweDAxLCAweDgxLCAweGUxLCAweDAwLCAweDAxLCAweDExLCAweGUyLAotCTB4MDAsIDB4MDIsIDB4ODEsIDB4ZTEsIDB4MDAsIDB4MDIsIDB4NzYsIDB4ZTEsCi0JMHgwMCwgMHgwMywgMHgwMCwgMHgwMiwgMHg0OCwgMHgwOCwgMHg2ZiwgMHhlMSwKLQkweDAwLCAweDA0LCAweDBjLCAweDk4LCAweGYwLCAweDMwLCAweDAwLCAweGZmLAotCTB4ODAsIDB4ZTEsIDB4MDAsIDB4MDUsIDB4NzYsIDB4ZTEsIDB4MDAsIDB4MDYsCi0JMHgwMCwgMHhhYSwgMHhmMCwgMHg3NCwgMHgwMiwgMHg5OCwgMHg4YSwgMHgxMSwKLQkweGZjLCAweDAwLCAweDRhLCAweDExLCAweDc3LCAweDExLCAweDJhLCAweDM5LAotCTB4NzYsIDB4ODEsIDB4MDAsIDB4NTUsIDB4NzcsIDB4MTIsIDB4MmEsIDB4MTgsCi0JMHgxMCwgMHhlMiwgMHgwMCwgMHgwMSwgMHg4MCwgMHhlMSwgMHgwMCwgMHgwMSwKLQkweDEwLCAweGUyLCAweDAwLCAweDAyLCAweDgwLCAweGUxLCAweDAwLCAweDAyLAotCTB4NzYsIDB4ZTEsIDB4MDAsIDB4MDMsIDB4MDAsIDB4MDQsIDB4NDgsIDB4MTEsCi0JMHhmMCwgMHgwMCwgMHgwMCwgMHgwNCwgMHg4OCwgMHgxMiwgMHhmNCwgMHg5NSwKLQkweDc3LCAweDEzLCAweDJhLCAweDc2LCAweGU5LCAweDAwLCAweGU1LCAweDk4LAotCTB4ZjMsIDB4MDAsIDB4MDAsIDB4MDEsIDB4ZjYsIDB4YjgsIDB4NDgsIDB4MGIsCi0JMHgwOCwgMHhmOCwgMHgyYSwgMHgzYywgMHhmOCwgMHg0MywgMHgwMywgMHg3MSwKLQkweDc2LCAweDgyLCAweDAwLCAweGFhLCAweGYwLCAweDc0LCAweDAyLCAweDk4LAotCTB4OGEsIDB4MTEsIDB4ZmMsIDB4MDAsIDB4NGEsIDB4MTEsIDB4ZWUsIDB4ZjAsCi0JMHg4OCwgMHgxMSwgMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHg3MSwgMHg4MSwKLQkweDAwLCAweDE0LCAweDcxLCAweGUxLCAweDAwLCAweDAxLCAweDAwLCAweDE1LAotCTB4NDksIDB4MTEsIDB4ZjMsIDB4MDAsIDB4MDAsIDB4MDIsIDB4ODksIDB4MTEsCi0JMHhlNywgMHg4MiwgMHg2ZCwgMHhlYSwgMHgwMCwgMHgwNCwgMHhlNywgMHg4MywKLQkweDZkLCAweGViLCAweDAwLCAweDBhLCAweDc3LCAweDFhLCAweDAwLCAweDA1LAotCTB4ZjAsIDB4NzIsIDB4MDMsIDB4YWEsIDB4MTEsIDB4ODEsIDB4ZjIsIDB4ZTgsCi0JMHg4MCwgMHg4MiwgMHhlOSwgMHhmZiwgMHgxOSwgMHhlMSwgMHgwMCwgMHgwMSwKLQkweGYxLCAweGEwLCAweDgxLCAweDkyLCAweDExLCAweGUxLCAweDAwLCAweDBjLAotCTB4ZjIsIDB4ZTgsIDB4ODAsIDB4ODMsIDB4ZTksIDB4ZmYsIDB4MTksIDB4ZTEsCi0JMHgwMCwgMHgwZCwgMHhmMSwgMHhhMCwgMHg4MSwgMHg5MywgMHg2ZCwgMHhlOSwKLQkweDAwLCAweDAyLCAweDQ4LCAweDE4LCAweDQ5LCAweDE4LCAweDcwLCAweDAwLAotCTB4MDAsIDB4MTUsIDB4ZjAsIDB4MDAsIDB4MDAsIDB4MDQsIDB4ZjMsIDB4MDAsCi0JMHgwMCwgMHgwYSwgMHg4MCwgMHgwMSwgMHg4MSwgMHgwMiwgMHhmMiwgMHg3NCwKLQkweDBlLCAweDU0LCAweGY0LCAweDk1LCAweDQ4LCAweDE0LCAweGVlLCAweDEwLAotCTB4OGEsIDB4MTEsIDB4ZmMsIDB4MDAsIDB4NGEsIDB4MTEsIDB4ZjAsIDB4NzQsCi0JMHgwYywgMHg1ZSwgMHg4MCwgMHhmOCwgMHgyYSwgMHg1YywgMHg3NywgMHgxMiwKLQkweDJhLCAweDM5LCAweDc2LCAweDgyLCAweDAwLCAweDU1LCAweDc3LCAweDExLAotCTB4MmEsIDB4MTgsIDB4MTAsIDB4ZTEsIDB4MDAsIDB4MDEsIDB4ODAsIDB4ZTIsCi0JMHgwMCwgMHgwMSwgMHgxMCwgMHhlMSwgMHgwMCwgMHgwMiwgMHg4MCwgMHhlMiwKLQkweDAwLCAweDAyLCAweDc2LCAweGUyLCAweDAwLCAweDAzLCAweDAwLCAweDFjLAotCTB4ZjYsIDB4YjgsIDB4NTYsIDB4ZjgsIDB4MmEsIDB4MTYsIDB4ZjAsIDB4ZjAsCi0JMHhmMCwgMHhmOCwgMHg4MCwgMHhlMiwgMHgwMCwgMHgwNywgMHg1NiwgMHhmOCwKLQkweDJhLCAweDE2LCAweGYxLCAweGYwLCAweGU4LCAweGZmLCAweGYyLCAweDgwLAotCTB4ODAsIDB4ZTIsIDB4MDAsIDB4MDYsIDB4NTYsIDB4ZjgsIDB4MmEsIDB4MTYsCi0JMHhmMSwgMHhmOCwgMHhlOCwgMHhmZiwgMHhmMiwgMHg4MCwgMHg4MCwgMHhlMiwKLQkweDAwLCAweDA1LCAweDU3LCAweGY4LCAweDJhLCAweDE2LCAweGU4LCAweGZmLAotCTB4ZjIsIDB4ODAsIDB4ODAsIDB4ZTIsIDB4MDAsIDB4MDQsIDB4NTYsIDB4ZjgsCi0JMHgyNywgMHg2YywgMHhmMCwgMHhmMCwgMHhmMCwgMHhmOCwgMHg4MCwgMHhlMiwKLQkweDAwLCAweDBiLCAweDU2LCAweGY4LCAweDI3LCAweDZjLCAweGYxLCAweGYwLAotCTB4ZTgsIDB4ZmYsIDB4ZjIsIDB4ODAsIDB4ODAsIDB4ZTIsIDB4MDAsIDB4MGEsCi0JMHg1NiwgMHhmOCwgMHgyNywgMHg2YywgMHhmMSwgMHhmOCwgMHhlOCwgMHhmZiwKLQkweGYyLCAweDgwLCAweDgwLCAweGUyLCAweDAwLCAweDA5LCAweGU4LCAweGZmLAotCTB4NTcsIDB4ZjgsIDB4MjcsIDB4NmMsIDB4ZjIsIDB4ODAsIDB4ODAsIDB4ZTIsCi0JMHgwMCwgMHgwOCwgMHg1NiwgMHhmOCwgMHgyNywgMHg2YSwgMHhmMCwgMHhmMCwKLQkweGYwLCAweGY4LCAweDgwLCAweGUyLCAweDAwLCAweDBmLCAweDU2LCAweGY4LAotCTB4MjcsIDB4NmEsIDB4ZjEsIDB4ZjAsIDB4ZTgsIDB4ZmYsIDB4ZjIsIDB4ODAsCi0JMHg4MCwgMHhlMiwgMHgwMCwgMHgwZSwgMHg1NiwgMHhmOCwgMHgyNywgMHg2YSwKLQkweGYxLCAweGY4LCAweGU4LCAweGZmLCAweGYyLCAweDgwLCAweDgwLCAweGUyLAotCTB4MDAsIDB4MGQsIDB4NTcsIDB4ZjgsIDB4MjcsIDB4NmEsIDB4ZTgsIDB4ZmYsCi0JMHhmMiwgMHg4MCwgMHg4MCwgMHhlMiwgMHgwMCwgMHgwYywgMHg3NiwgMHhlMiwKLQkweDAwLCAweDEzLCAweDAwLCAweDAwLCAweDc2LCAweGUyLCAweDAwLCAweDEyLAotCTB4MDAsIDB4MDAsIDB4NmYsIDB4ZjgsIDB4MmEsIDB4NWMsIDB4MGMsIDB4NTgsCi0JMHg4MCwgMHhlMiwgMHgwMCwgMHgxMSwgMHhlOCwgMHhmZiwgMHgxOCwgMHhmOCwKLQkweDJhLCAweDVjLCAweDgwLCAweGUyLCAweDAwLCAweDEwLCAweDc2LCAweGUyLAotCTB4MDAsIDB4MTcsIDB4MDAsIDB4MDAsIDB4NzYsIDB4ZTIsIDB4MDAsIDB4MTYsCi0JMHgwMCwgMHgwMCwgMHg2ZiwgMHhmOCwgMHgyYSwgMHg5ZSwgMHgwYywgMHg1OCwKLQkweDgwLCAweGUyLCAweDAwLCAweDE1LCAweGU4LCAweGZmLCAweDE4LCAweGY4LAotCTB4MmEsIDB4OWUsIDB4ODAsIDB4ZTIsIDB4MDAsIDB4MTQsIDB4NzYsIDB4ZTIsCi0JMHgwMCwgMHgxYiwgMHgwMCwgMHgwMCwgMHg3NiwgMHhlMiwgMHgwMCwgMHgxYSwKLQkweDAwLCAweDAwLCAweDc2LCAweGUyLCAweDAwLCAweDE5LCAweDAwLCAweDAwLAotCTB4NzAsIDB4ZTIsIDB4MDAsIDB4MTgsIDB4MjcsIDB4NmUsIDB4NzYsIDB4ZTIsCi0JMHgwMCwgMHgxZiwgMHgwMCwgMHgwMCwgMHg3NiwgMHhlMiwgMHgwMCwgMHgxZSwKLQkweDAwLCAweDAwLCAweDc2LCAweGUyLCAweDAwLCAweDFkLCAweDAwLCAweDAwLAotCTB4NzYsIDB4ZTIsIDB4MDAsIDB4MWMsIDB4MDAsIDB4MDAsIDB4NzYsIDB4ZTIsCi0JMHgwMCwgMHgyMCwgMHgwMCwgMHhhYSwgMHhmMCwgMHg3NCwgMHgwMiwgMHg5OCwKLQkweDhhLCAweDExLCAweGZjLCAweDAwLCAweDRhLCAweDExLCAweGVlLCAweGZlLAotCTB4MTAsIDB4ZjgsIDB4MmEsIDB4MzgsIDB4ZjgsIDB4NDUsIDB4MDQsIDB4ZWQsCi0JMHg3NywgMHgxMiwgMHgyYSwgMHgxOCwgMHgxMCwgMHhlMiwgMHgwMCwgMHgwMiwKLQkweDg4LCAweDExLCAweGY0LCAweDk1LCAweDc3LCAweDEwLCAweDAwLCAweDA4LAotCTB4NmQsIDB4ZTksIDB4ZmYsIDB4ZGYsIDB4ZjYsIDB4YTksIDB4ZjgsIDB4MjAsCi0JMHgwNCwgMHg3NSwgMHhmMCwgMHg3MywgMHgwNCwgMHg3ZCwgMHhmMCwgMHgxMCwKLQkweDAwLCAweDIxLCAweGYwLCAweDAwLCAweDFhLCAweDgzLCAweDQ4LCAweDA4LAotCTB4N2UsIDB4ZjgsIDB4MDAsIDB4MDgsIDB4ZjQsIDB4ZTIsIDB4ZjAsIDB4NzQsCi0JMHgwMywgMHgwYSwgMHhmMCwgMHg3MywgMHgwNCwgMHhlYSwgMHg0OCwgMHgxMiwKLQkweGYyLCAweDc0LCAweDAzLCAweDIzLCAweGYwLCAweDAwLCAweDAwLCAweDA0LAotCTB4ZjIsIDB4NzQsIDB4MDMsIDB4MzYsIDB4ZjQsIDB4OTUsIDB4ZTgsIDB4MDAsCi0JMHhmMCwgMHg3MywgMHgwNCwgMHhlYSwgMHg3NywgMHgxMSwgMHgyYSwgMHgxOCwKLQkweGU4LCAweGZmLCAweDZmLCAweGUxLCAweDAwLCAweDA0LCAweDBkLCAweDQ4LAotCTB4MTgsIDB4ZTEsIDB4MDAsIDB4MDUsIDB4ZjIsIDB4NzQsIDB4MDksIDB4NjksCi0JMHhmNCwgMHg5NSwgMHhmMiwgMHhhMCwgMHhmMCwgMHg3NCwgMHgwMywgMHgzNiwKLQkweGYwLCAweDczLCAweDA0LCAweGVhLCAweDc3LCAweDExLCAweDJhLCAweDE4LAotCTB4ZTgsIDB4ZmYsIDB4NmYsIDB4ZTEsIDB4MDAsIDB4MDQsIDB4MGQsIDB4NDgsCi0JMHgxOCwgMHhlMSwgMHgwMCwgMHgwNSwgMHhmMiwgMHg3NCwgMHgwOSwgMHg0MSwKLQkweGY0LCAweDk1LCAweGYyLCAweGEwLCAweGYwLCAweDc0LCAweDAzLCAweDM2LAotCTB4ZjAsIDB4NzMsIDB4MDQsIDB4ZWEsIDB4ZjAsIDB4NzQsIDB4MDMsIDB4NTcsCi0JMHhmMCwgMHg3MywgMHgwNCwgMHhlYSwgMHgxMCwgMHhmOCwgMHgyYSwgMHgxYywKLQkweGYwLCAweDc0LCAweDEyLCAweGE0LCAweGYyLCAweDc0LCAweDAzLCAweDM2LAotCTB4ZjQsIDB4OTUsIDB4ZTgsIDB4MDAsIDB4ZjAsIDB4NzMsIDB4MDQsIDB4ZWEsCi0JMHg0OCwgMHgxMiwgMHhmMiwgMHg3NCwgMHgwMywgMHg4MCwgMHhmMCwgMHgwMCwKLQkweDAwLCAweDA0LCAweGYyLCAweDc0LCAweDAzLCAweDM2LCAweGY0LCAweDk1LAotCTB4ZTgsIDB4MDAsIDB4ZjAsIDB4NzMsIDB4MDQsIDB4ZWEsIDB4MTAsIDB4ZjgsCi0JMHgyYSwgMHgxYywgMHhmMCwgMHg3NCwgMHgxMiwgMHhjNSwgMHhmMiwgMHg3NCwKLQkweDAzLCAweDM2LCAweGY0LCAweDk1LCAweGU4LCAweDAwLCAweGYwLCAweDczLAotCTB4MDQsIDB4ZWEsIDB4NzcsIDB4MTEsIDB4MmEsIDB4MTgsIDB4ZTgsIDB4ZmYsCi0JMHg2ZiwgMHhlMSwgMHgwMCwgMHgwNiwgMHgwZCwgMHg0OCwgMHgxOCwgMHhlMSwKLQkweDAwLCAweDA3LCAweDcxLCAweGUxLCAweDAwLCAweDA1LCAweDAwLCAweDEyLAotCTB4ZjIsIDB4YTAsIDB4NzAsIDB4MDAsIDB4MDAsIDB4MTIsIDB4ODAsIDB4MDEsCi0JMHgxMCwgMHhlMSwgMHgwMCwgMHgwNCwgMHhmMCwgMHg3NCwgMHgwZSwgMHg3YSwKLQkweGYyLCAweDc0LCAweDAzLCAweDM2LCAweGY0LCAweDk1LCAweGU4LCAweDAwLAotCTB4ZjAsIDB4NzMsIDB4MDQsIDB4ZWEsIDB4ZjAsIDB4NzQsIDB4MDMsIDB4YmMsCi0JMHg3NiwgMHhmOCwgMHgyYSwgMHgzOCwgMHgwMCwgMHgwMCwgMHhlZSwgMHgwMiwKLQkweDhhLCAweDExLCAweGZjLCAweDAwLCAweDRhLCAweDExLCAweDc3LCAweDExLAotCTB4MmEsIDB4MzksIDB4NzYsIDB4ODEsIDB4MDAsIDB4NTUsIDB4NzcsIDB4MTIsCi0JMHgyYSwgMHgxOCwgMHgxMCwgMHhlMiwgMHgwMCwgMHgwMSwgMHg4MCwgMHhlMSwKLQkweDAwLCAweDAxLCAweDEwLCAweGUyLCAweDAwLCAweDAyLCAweDgwLCAweGUxLAotCTB4MDAsIDB4MDIsIDB4NzYsIDB4ZTEsIDB4MDAsIDB4MDMsIDB4MDAsIDB4MDksCi0JMHg0OCwgMHgxMSwgMHhmMCwgMHgwMCwgMHgwMCwgMHgwNCwgMHg4OCwgMHgxMiwKLQkweGY0LCAweDk1LCAweDc3LCAweDEzLCAweDJhLCAweDg2LCAweGU5LCAweDAwLAotCTB4ZTUsIDB4OTgsIDB4ZjMsIDB4MDAsIDB4MDAsIDB4MDEsIDB4ZjYsIDB4YjgsCi0JMHg0OCwgMHgwYiwgMHgwOCwgMHhmOCwgMHgyYSwgMHgzYywgMHhmOCwgMHg0MywKLQkweDA1LCAweDBhLCAweDc2LCAweDgyLCAweDAwLCAweGFhLCAweGYwLCAweDc0LAotCTB4MDIsIDB4OTgsIDB4OGEsIDB4MTEsIDB4ZmMsIDB4MDAsIDB4NGEsIDB4MTEsCi0JMHg3NywgMHgxMSwgMHgyYSwgMHgzOSwgMHg3NiwgMHg4MSwgMHgwMCwgMHg1NSwKLQkweDc3LCAweDEzLCAweDJhLCAweDE4LCAweDEwLCAweGUzLCAweDAwLCAweDAxLAotCTB4ODAsIDB4ZTEsIDB4MDAsIDB4MDEsIDB4MTAsIDB4ZTMsIDB4MDAsIDB4MDIsCi0JMHg4MCwgMHhlMSwgMHgwMCwgMHgwMiwgMHgxMywgMHhlMywgMHgwMCwgMHgwMywKLQkweDgxLCAweGUxLCAweDAwLCAweDAzLCAweDQ4LCAweDExLCAweDc3LCAweDExLAotCTB4MDAsIDB4MDAsIDB4ZjgsIDB4NGQsIDB4MDUsIDB4NDQsIDB4ZjAsIDB4MDAsCi0JMHgwMCwgMHgwNCwgMHg4OCwgMHgxMiwgMHg0OCwgMHgxMywgMHhmMCwgMHgwMCwKLQkweDAwLCAweDA0LCAweDg4LCAweDEzLCAweGY0LCAweDk1LCAweGY0LCAweDk1LAotCTB4ZTUsIDB4OTgsIDB4NmQsIDB4OTEsIDB4ZjYsIDB4YjgsIDB4NDgsIDB4MTEsCi0JMHgwOCwgMHhmOCwgMHgyYSwgMHgzYywgMHhmOCwgMHg0MywgMHgwNSwgMHgzYSwKLQkweGYwLCAweDIwLCAweDJhLCAweDM5LCAweDQ5LCAweDExLCAweGY1LCAweDAwLAotCTB4ODksIDB4MTEsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4NzYsIDB4ZTEsCi0JMHgwMCwgMHgwNCwgMHgwMCwgMHhhYSwgMHhmMCwgMHg3NCwgMHgwMiwgMHg5OCwKLQkweDhhLCAweDExLCAweGZjLCAweDAwLCAweDRhLCAweDExLCAweDc3LCAweDExLAotCTB4MmEsIDB4MzksIDB4NzYsIDB4ODEsIDB4MDAsIDB4NTUsIDB4NzcsIDB4MTIsCi0JMHgyYSwgMHgxOCwgMHgxMCwgMHhlMiwgMHgwMCwgMHgwMSwgMHg4MCwgMHhlMSwKLQkweDAwLCAweDAxLCAweDEwLCAweGUyLCAweDAwLCAweDAyLCAweDgwLCAweGUxLAotCTB4MDAsIDB4MDIsIDB4NzYsIDB4ZTEsIDB4MDAsIDB4MDMsIDB4MDAsIDB4MGMsCi0JMHg0OCwgMHgxMSwgMHhmMCwgMHgwMCwgMHgwMCwgMHgwNCwgMHg4OCwgMHgxMiwKLQkweGY0LCAweDk1LCAweDc3LCAweDEzLCAweDJhLCAweDdhLCAweGU5LCAweDAwLAotCTB4ZTUsIDB4OTgsIDB4ZjMsIDB4MDAsIDB4MDAsIDB4MDEsIDB4ZjYsIDB4YjgsCi0JMHg0OCwgMHgwYiwgMHgwOCwgMHhmOCwgMHgyYSwgMHgzYywgMHhmOCwgMHg0MywKLQkweDA1LCAweDZhLCAweDc2LCAweDgyLCAweDAwLCAweGFhLCAweGYwLCAweDc0LAotCTB4MDIsIDB4OTgsIDB4OGEsIDB4MTEsIDB4ZmMsIDB4MDAsIDB4NGEsIDB4MTEsCi0JMHg3NywgMHgxMSwgMHgyYSwgMHgzOSwgMHg3NiwgMHg4MSwgMHgwMCwgMHg1NSwKLQkweDc3LCAweDEyLCAweDJhLCAweDE4LCAweDEwLCAweGUyLCAweDAwLCAweDAxLAotCTB4ODAsIDB4ZTEsIDB4MDAsIDB4MDEsIDB4MTAsIDB4ZTIsIDB4MDAsIDB4MDIsCi0JMHg4MCwgMHhlMSwgMHgwMCwgMHgwMiwgMHg3NiwgMHhlMSwgMHgwMCwgMHgwMywKLQkweDAwLCAweDE5LCAweDQ4LCAweDExLCAweGYwLCAweDAwLCAweDAwLCAweDA0LAotCTB4ODgsIDB4MTIsIDB4ZjQsIDB4OTUsIDB4NzcsIDB4MTMsIDB4MmEsIDB4NWQsCi0JMHhlOSwgMHgwMCwgMHhlNSwgMHg5OCwgMHhmMywgMHgwMCwgMHgwMCwgMHgwMSwKLQkweGY2LCAweGI4LCAweDQ4LCAweDBiLCAweDA4LCAweGY4LCAweDJhLCAweDNjLAotCTB4ZjgsIDB4NDMsIDB4MDUsIDB4OTMsIDB4NzYsIDB4ODIsIDB4MDAsIDB4YWEsCi0JMHhmMCwgMHg3NCwgMHgwMiwgMHg5OCwgMHg4YSwgMHgxMSwgMHhmYywgMHgwMCwKLQkweDRhLCAweDExLCAweDg4LCAweDExLCAweDEwLCAweGY4LCAweDJhLCAweDM4LAotCTB4ZjgsIDB4NDQsIDB4MDUsIDB4ZTMsIDB4MTAsIDB4ZjgsIDB4MmEsIDB4YTEsCi0JMHhmOCwgMHg0NCwgMHgwNSwgMHhiYSwgMHg2YywgMHhlMSwgMHhmZiwgMHg1NiwKLQkweDA1LCAweGUzLCAweDcyLCAweDEyLCAweDJhLCAweGExLCAweGY0LCAweDk1LAotCTB4NzAsIDB4ZTIsIDB4MmEsIDB4MTgsIDB4MDAsIDB4MTEsIDB4NmIsIDB4ZjgsCi0JMHgyYSwgMHhhMSwgMHgwMCwgMHgwMSwgMHhmMCwgMHg3MywgMHgwNSwgMHhlMywKLQkweDcyLCAweDEyLCAweDJhLCAweGExLCAweGY0LCAweDk1LCAweDcwLCAweGUyLAotCTB4MmEsIDB4MTgsIDB4MDAsIDB4MTEsIDB4MTAsIDB4ZjgsIDB4MmEsIDB4YTEsCi0JMHhmMCwgMHgwMCwgMHgwMCwgMHgwMSwgMHg4OCwgMHgxMiwgMHhmNCwgMHg5NSwKLQkweGY0LCAweDk1LCAweDZlLCAweGUyLCAweGZmLCAweGZjLCAweDA1LCAweGQxLAotCTB4NzMsIDB4MTIsIDB4MmEsIDB4YTEsIDB4NDgsIDB4MTEsIDB4ZjAsIDB4MDAsCi0JMHgwMCwgMHgwNSwgMHg4MCwgMHhmOCwgMHgyYSwgMHhhMiwgMHgxMCwgMHhmOCwKLQkweDJhLCAweGExLCAweDA4LCAweGY4LCAweDJhLCAweGEyLCAweGY4LCAweDQ0LAotCTB4MDUsIDB4ZTMsIDB4NmMsIDB4ZTEsIDB4ZmYsIDB4YWIsIDB4MDUsIDB4ZGQsCi0JMHg3NiwgMHhmOCwgMHgyYSwgMHgzOCwgMHgwMCwgMHgwMSwgMHg3NiwgMHhmOCwKLQkweDJhLCAweGExLCAweDAwLCAweDAwLCAweDc2LCAweGY4LCAweDJhLCAweGEyLAotCTB4MDAsIDB4MDAsIDB4OGEsIDB4MTEsIDB4ZmMsIDB4MDAsIDB4ZjQsIDB4OTUsCi0JMHg0YSwgMHgwOCwgMHg0YSwgMHgwOSwgMHg0YSwgMHgwYSwgMHg0YSwgMHgwYiwKLQkweDRhLCAweDBjLCAweDRhLCAweDBkLCAweDRhLCAweDEwLCAweDRhLCAweDExLAotCTB4NGEsIDB4MTIsIDB4NGEsIDB4MTMsIDB4NGEsIDB4MTQsIDB4NGEsIDB4MTUsCi0JMHg0YSwgMHgxNiwgMHg0YSwgMHgxNywgMHg0YSwgMHgxNywgMHg0YSwgMHgxOSwKLQkweDRhLCAweDBlLCAweDRhLCAweDA2LCAweDRhLCAweDA3LCAweDRhLCAweDFhLAotCTB4NGEsIDB4MWQsIDB4NGEsIDB4MWIsIDB4NGEsIDB4MWMsIDB4NjgsIDB4ZjgsCi0JMHgwMCwgMHgwNywgMHg3ZCwgMHgzZiwgMHg2OSwgMHhmOCwgMHgwMCwgMHgwNywKLQkweDQwLCAweDAwLCAweDY4LCAweGY4LCAweDAwLCAweDFkLCAweGZmLCAweGZjLAotCTB4NDgsIDB4MTgsIDB4NjgsIDB4ZjgsIDB4MDAsIDB4MTgsIDB4ZmYsIDB4ZmUsCi0JMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHg0YSwgMHgwOCwgMHhlZSwgMHhmZiwKLQkweDEwLCAweGY4LCAweDJhLCAweDViLCAweGY5LCAweDgwLCAweDE4LCAweDA0LAotCTB4ZjAsIDB4NzQsIDB4MDUsIDB4YTIsIDB4ZWUsIDB4MDEsIDB4OGEsIDB4MTgsCi0JMHhmNCwgMHg5NSwgMHg4YSwgMHgxYywgMHg4YSwgMHgxYiwgMHg4YSwgMHgxZCwKLQkweDhhLCAweDFhLCAweDhhLCAweDA3LCAweDhhLCAweDA2LCAweDhhLCAweDBlLAotCTB4OGEsIDB4MTksIDB4OGEsIDB4MTcsIDB4OGEsIDB4MTcsIDB4OGEsIDB4MTYsCi0JMHg4YSwgMHgxNSwgMHg4YSwgMHgxNCwgMHg4YSwgMHgxMywgMHg4YSwgMHgxMiwKLQkweDhhLCAweDExLCAweDhhLCAweDEwLCAweDhhLCAweDBkLCAweDhhLCAweDBjLAotCTB4OGEsIDB4MGIsIDB4OGEsIDB4MGEsIDB4OGEsIDB4MDksIDB4OGEsIDB4MDgsCi0JMHhmNCwgMHhlYiwgMHhlZSwgMHhmZCwgMHg3NiwgMHhmOCwgMHgyYSwgMHgzOCwKLQkweDAwLCAweDAwLCAweDc2LCAweGY4LCAweDJhLCAweDVhLCAweDAwLCAweDAwLAotCTB4ZTgsIDB4MDEsIDB4NGUsIDB4MDAsIDB4ZmIsIDB4ODAsIDB4MTcsIDB4ZDYsCi0JMHhmNCwgMHg5NSwgMHhlOCwgMHgwMSwgMHg4MCwgMHhmOCwgMHgyYSwgMHg1YiwKLQkweDc2LCAweDAwLCAweDJhLCAweDhmLCAweGY5LCAweDgwLCAweDE2LCAweGFhLAotCTB4MTAsIDB4ZjgsIDB4MmEsIDB4NWIsIDB4ZjksIDB4ODAsIDB4MTcsIDB4NWMsCi0JMHgxMCwgMHhmOCwgMHgyYSwgMHg1YiwgMHhmOSwgMHg4MCwgMHgxNywgMHg2ZiwKLQkweGZiLCAweDgwLCAweDE2LCAweDY2LCAweGY0LCAweDk1LCAweGU4LCAweDFhLAotCTB4ZmIsIDB4ODAsIDB4MTYsIDB4ODcsIDB4ZjQsIDB4OTUsIDB4ZTgsIDB4MWEsCi0JMHhmYiwgMHg4MCwgMHgxNiwgMHg2NiwgMHhmNCwgMHg5NSwgMHhlOCwgMHgxYiwKLQkweGZiLCAweDgwLCAweDE2LCAweDg3LCAweGY0LCAweDk1LCAweGU4LCAweDFiLAotCTB4ZWUsIDB4MDMsIDB4ZmMsIDB4MDAsIDB4NGEsIDB4MTEsIDB4ZjQsIDB4OTUsCi0JMHgxMywgMHgwMiwgMHg4OCwgMHgxMSwgMHhlOCwgMHgwMCwgMHhmOCwgMHg0ZCwKLQkweDA2LCAweDZhLCAweGYzLCAweDEwLCAweDAwLCAweDAxLCAweDg5LCAweDFhLAotCTB4ZjQsIDB4OTUsIDB4ZjAsIDB4NzIsIDB4MDYsIDB4NjksIDB4MWMsIDB4OTEsCi0JMHg4YSwgMHgxMSwgMHhmYywgMHgwMCwgMHg0YSwgMHgxMSwgMHg4OCwgMHgxMSwKLQkweDEyLCAweDAzLCAweDExLCAweDAyLCAweGY4LCAweDQ1LCAweDA2LCAweDc5LAotCTB4ZjAsIDB4MTAsIDB4MDAsIDB4MDEsIDB4ODgsIDB4MWEsIDB4ZjQsIDB4OTUsCi0JMHhmMCwgMHg3MiwgMHgwNiwgMHg3OCwgMHg4MSwgMHg5MSwgMHg4YSwgMHgxMSwKLQkweGZjLCAweDAwLCAweDRhLCAweDExLCAweGY0LCAweDk1LCAweDcxLCAweDAyLAotCTB4MDAsIDB4MTEsIDB4MTEsIDB4MDMsIDB4NjEsIDB4ZjgsIDB4MDAsIDB4MTEsCi0JMHgwMCwgMHgwMSwgMHhmOCwgMHgzMCwgMHgwNiwgMHg5MSwgMHhmNiwgMHhiOCwKLQkweDZmLCAweGY4LCAweDAwLCAweDExLCAweDBjLCAweDFmLCAweDg4LCAweDExLAotCTB4ZjMsIDB4ZTgsIDB4ZTgsIDB4ZmYsIDB4MTgsIDB4ODEsIDB4ZjEsIDB4YTAsCi0JMHg4MSwgMHg4MSwgMHhmMCwgMHg3MywgMHgwNiwgMHg5ZCwgMHhmNiwgMHhiOCwKLQkweDZmLCAweGY4LCAweDAwLCAweDExLCAweDBjLCAweDFmLCAweDg4LCAweDExLAotCTB4ZjMsIDB4MzAsIDB4MDAsIDB4ZmYsIDB4ZjAsIDB4MjAsIDB4ZmYsIDB4MDAsCi0JMHgxOCwgMHg4MSwgMHhmMSwgMHhhMCwgMHg4MSwgMHg4MSwgMHg4YSwgMHgxMSwKLQkweGZjLCAweDAwLCAweDRhLCAweDExLCAweGY0LCAweDk1LCAweDExLCAweDAyLAotCTB4NjEsIDB4ZjgsIDB4MDAsIDB4MGIsIDB4MDAsIDB4MDEsIDB4ZjgsIDB4MjAsCi0JMHgwNiwgMHhiMSwgMHg0OSwgMHgwYiwgMHhmNiwgMHgxZiwgMHg4OCwgMHgxMSwKLQkweGY0LCAweDk1LCAweGY0LCAweDk1LCAweDEwLCAweDgxLCAweGYyLCAweDczLAotCTB4MDYsIDB4YjgsIDB4ZjAsIDB4MzAsIDB4MDAsIDB4ZmYsIDB4NDksIDB4MGIsCi0JMHhmNiwgMHgxZiwgMHg4OCwgMHgxMSwgMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwKLQkweDEyLCAweDgxLCAweGY0LCAweDc4LCAweDhhLCAweDExLCAweGZjLCAweDAwLAotCTB4NGEsIDB4MTEsIDB4ZjQsIDB4OTUsIDB4NzEsIDB4MDIsIDB4MDAsIDB4MTIsCi0JMHgxMywgMHgwMywgMHg4OCwgMHgxMSwgMHhlOCwgMHgwMCwgMHhmOCwgMHg0ZCwKLQkweDA2LCAweGNjLCAweGYzLCAweDEwLCAweDAwLCAweDAxLCAweDg5LCAweDFhLAotCTB4ZjQsIDB4OTUsIDB4ZjAsIDB4NzIsIDB4MDYsIDB4Y2IsIDB4MTEsIDB4OTIsCi0JMHhmMiwgMHhjMCwgMHg4MSwgMHg5MSwgMHg4YSwgMHgxMSwgMHhmYywgMHgwMCwKLQkweDg4LCAweDEyLCAweDEyLCAweDAyLCAweDcxLCAweDAxLCAweDAwLCAweDEzLAotCTB4ZjgsIDB4NDUsIDB4MDYsIDB4ZGIsIDB4ZjAsIDB4MTAsIDB4MDAsIDB4MDEsCi0JMHg4OCwgMHgxYSwgMHhmNCwgMHg5NSwgMHhmMCwgMHg3MiwgMHgwNiwgMHhkYSwKLQkweGU1LCAweDk4LCAweGZjLCAweDAwLCAweDRhLCAweDExLCAweGVlLCAweGZlLAotCTB4ODgsIDB4MTEsIDB4MTEsIDB4MDQsIDB4MTAsIDB4MDYsIDB4NzEsIDB4MDUsCi0JMHgwMCwgMHgxMiwgMHg2MSwgMHhmOCwgMHgwMCwgMHgxMiwgMHgwMCwgMHgwMSwKLQkweGY4LCAweDIwLCAweDA2LCAweGVhLCAweGYwLCAweDAwLCAweDAwLCAweDAxLAotCTB4ZjYsIDB4YjgsIDB4ZjAsIDB4MDAsIDB4MDAsIDB4MDEsIDB4NmYsIDB4ZjgsCi0JMHgwMCwgMHgxMiwgMHgwZiwgMHgxZiwgMHg0OCwgMHgwOCwgMHg4MSwgMHgwMCwKLQkweGY0LCAweDdmLCAweDgwLCAweDAxLCAweGYyLCAweDc0LCAweDA2LCAweGJhLAotCTB4ZjQsIDB4OTUsIDB4NDgsIDB4MTEsIDB4ZWUsIDB4MDIsIDB4OGEsIDB4MTEsCi0JMHhmYywgMHgwMCwgMHg0YSwgMHgxMSwgMHhlZSwgMHhmZSwgMHg4OCwgMHgxMiwKLQkweDExLCAweDA0LCAweDEwLCAweDA2LCAweDcxLCAweDA1LCAweDAwLCAweDEzLAotCTB4NjEsIDB4ZjgsIDB4MDAsIDB4MTMsIDB4MDAsIDB4MDEsIDB4ZjgsIDB4MjAsCi0JMHgwNywgMHgwOSwgMHhmMCwgMHgwMCwgMHgwMCwgMHgwMSwgMHhmMCwgMHgwMCwKLQkweDAwLCAweDAxLCAweDg4LCAweDExLCAweGY2LCAweGI4LCAweDZmLCAweGY4LAotCTB4MDAsIDB4MTMsIDB4MGYsIDB4MWYsIDB4ODEsIDB4MDAsIDB4NDgsIDB4MTEsCi0JMHhmNCwgMHg3ZiwgMHg4MCwgMHgwMSwgMHhmMiwgMHg3NCwgMHgwNiwgMHhjZSwKLQkweGY0LCAweDk1LCAweDQ4LCAweDEyLCAweDQ4LCAweDExLCAweGYwLCAweDMwLAotCTB4ZmYsIDB4ZmUsIDB4ZWUsIDB4MDIsIDB4OGEsIDB4MTEsIDB4ZmMsIDB4MDAsCi0JMHg0YSwgMHgxMSwgMHg0YSwgMHgxNiwgMHg0YSwgMHgxNywgMHhlZSwgMHhmYywKLQkweGY0LCAweDk1LCAweDgwLCAweDAyLCAweDcxLCAweDA4LCAweDAwLCAweDE2LAotCTB4MTAsIDB4MDksIDB4NzEsIDB4MGIsIDB4MDAsIDB4MTcsIDB4ODAsIDB4MDMsCi0JMHg3MSwgMHgwYSwgMHgwMCwgMHgxMSwgMHg0OCwgMHgxNywgMHhmOCwgMHg0NSwKLQkweDA3LCAweDNmLCAweDcwLCAweDAwLCAweDAwLCAweDExLCAweDEwLCAweDAzLAotCTB4ZjAsIDB4NzQsIDB4MDYsIDB4OWYsIDB4ODAsIDB4MDEsIDB4NzAsIDB4MDAsCi0JMHgwMCwgMHgxNiwgMHgxMCwgMHgwMiwgMHhmMCwgMHg3NCwgMHgwNiwgMHg3YiwKLQkweDZkLCAweDkxLCAweDZkLCAweDk2LCAweDZjLCAweGVmLCAweGZmLCAweGZmLAotCTB4MDcsIDB4MmYsIDB4ZWUsIDB4MDQsIDB4OGEsIDB4MTcsIDB4OGEsIDB4MTYsCi0JMHg4YSwgMHgxMSwgMHhmYywgMHgwMCwgMHg0YSwgMHgxMSwgMHhlZSwgMHhmZSwKLQkweDEwLCAweGY4LCAweDJhLCAweGU4LCAweDA4LCAweGY4LCAweDJhLCAweGU5LAotCTB4ZjgsIDB4NDUsIDB4MDcsIDB4NjQsIDB4NzYsIDB4MDAsIDB4MDAsIDB4MDEsCi0JMHg2MiwgMHhmOCwgMHgyYSwgMHhlOSwgMHgwMCwgMHg1ZSwgMHhmMiwgMHg3NCwKLQkweDEyLCAweDBiLCAweGYwLCAweDAwLCAweDMwLCAweDQwLCAweDcyLCAweDExLAotCTB4MmEsIDB4ZTksIDB4NzcsIDB4MTAsIDB4MDAsIDB4MGYsIDB4ZjUsIDB4YTksCi0JMHhmOCwgMHgyMCwgMHgwNywgMHg2MSwgMHg2YiwgMHhmOCwgMHgyYSwgMHhlOSwKLQkweDAwLCAweDAxLCAweGYwLCAweDczLCAweDA3LCAweDY0LCAweDc2LCAweGY4LAotCTB4MmEsIDB4ZTksIDB4MDAsIDB4MDAsIDB4ZWUsIDB4MDIsIDB4OGEsIDB4MTEsCi0JMHhmYywgMHgwMCwgMHg0YSwgMHgxMSwgMHg4OCwgMHgxMSwgMHhlOCwgMHgwMCwKLQkweDc1LCAweGY4LCAweDAwLCAweDA4LCAweDAwLCAweDA4LCAweGU4LCAweDAwLAotCTB4NzUsIDB4ZjgsIDB4MDAsIDB4MDgsIDB4MDAsIDB4MDksIDB4ZjYsIDB4YjgsCi0JMHhmNCwgMHg5NSwgMHhmMCwgMHgyMCwgMHhmYywgMHgzZiwgMHg3NSwgMHhmOCwKLQkweDAwLCAweDA4LCAweDAwLCAweDBkLCAweGYwLCAweDIwLCAweDBjLCAweDMwLAotCTB4NzUsIDB4ZjgsIDB4MDAsIDB4MDgsIDB4MDAsIDB4MGMsIDB4NzYsIDB4ZjgsCi0JMHgyYSwgMHhlOCwgMHgwMCwgMHgwMCwgMHg3NiwgMHhmOCwgMHgyYSwgMHhlOSwKLQkweDAwLCAweDAwLCAweDZjLCAweDgxLCAweDA3LCAweDkyLCAweDc2LCAweGY4LAotCTB4MmEsIDB4ZWEsIDB4MDAsIDB4MDAsIDB4ZmIsIDB4ODAsIDB4MTYsIDB4NzYsCi0JMHhmNCwgMHg5NSwgMHhlOCwgMHgxMCwgMHhlOCwgMHgwMCwgMHg3NSwgMHhmOCwKLQkweDAwLCAweDA4LCAweDAwLCAweDAwLCAweGYwLCAweDczLCAweDA3LCAweGE4LAotCTB4NzYsIDB4ZjgsIDB4MmEsIDB4ZWEsIDB4MDAsIDB4MDEsIDB4ZmIsIDB4ODAsCi0JMHgxNiwgMHg2NiwgMHhmNCwgMHg5NSwgMHhlOCwgMHgxMCwgMHhmYiwgMHg4MCwKLQkweDE2LCAweDg3LCAweGY0LCAweDk1LCAweGU4LCAweDEwLCAweGU4LCAweDAwLAotCTB4NzUsIDB4ZjgsIDB4MDAsIDB4MDgsIDB4MDAsIDB4MDAsIDB4ZjYsIDB4YjgsCi0JMHhmNCwgMHg5NSwgMHhmMCwgMHgyMCwgMHhmZiwgMHhmZiwgMHg3NSwgMHhmOCwKLQkweDAwLCAweDA4LCAweDAwLCAweDAwLCAweDhhLCAweDExLCAweGZjLCAweDAwLAotCTB4ZjQsIDB4OTUsIDB4NGEsIDB4MDgsIDB4NGEsIDB4MDksIDB4NGEsIDB4MGEsCi0JMHg0YSwgMHgwNiwgMHg0YSwgMHgwNywgMHg0YSwgMHgxZCwgMHg2OCwgMHhmOCwKLQkweDAwLCAweDA3LCAweDdkLCAweDNmLCAweDY5LCAweGY4LCAweDAwLCAweDA3LAotCTB4NDAsIDB4MDAsIDB4NjgsIDB4ZjgsIDB4MDAsIDB4MWQsIDB4ZmYsIDB4ZmMsCi0JMHgxMCwgMHhmOCwgMHgyYSwgMHhlYSwgMHhmOCwgMHg0NSwgMHgwNywgMHhlMSwKLQkweDEwLCAweGY4LCAweDJhLCAweGU4LCAweGYwLCAweDAwLCAweDAwLCAweDAxLAotCTB4ZjAsIDB4MzAsIDB4MDAsIDB4MGYsIDB4ODAsIDB4ZjgsIDB4MmEsIDB4ZTgsCi0JMHgxMCwgMHhmOCwgMHgyYSwgMHhlOCwgMHhmOCwgMHg0NCwgMHgwNywgMHhkNiwKLQkweGY2LCAweGI4LCAweGY0LCAweDk1LCAweGYwLCAweDIwLCAweGZjLCAweDNmLAotCTB4NzUsIDB4ZjgsIDB4MDAsIDB4MDgsIDB4MDAsIDB4MGQsIDB4ZjAsIDB4MjAsCi0JMHgwYywgMHgzMCwgMHg3NSwgMHhmOCwgMHgwMCwgMHgwOCwgMHgwMCwgMHgwYywKLQkweGU4LCAweDAwLCAweDc1LCAweGY4LCAweDAwLCAweDA4LCAweDAwLCAweDAwLAotCTB4ZjYsIDB4YjgsIDB4ZjQsIDB4OTUsIDB4ZjAsIDB4MjAsIDB4ZmYsIDB4ZmYsCi0JMHg3NSwgMHhmOCwgMHgwMCwgMHgwOCwgMHgwMCwgMHgwMCwgMHg4YSwgMHgxZCwKLQkweDhhLCAweDA3LCAweDhhLCAweDA2LCAweDhhLCAweDBhLCAweDhhLCAweDA5LAotCTB4OGEsIDB4MDgsIDB4ZjQsIDB4ZWIsIDB4ZWUsIDB4ZmYsIDB4ZjIsIDB4NzQsCi0JMHgwNywgMHg2NywgMHhmNCwgMHg5NSwgMHhlOCwgMHgwMSwgMHhlZSwgMHgwMSwKLQkweGZjLCAweDAwLCAweDRhLCAweDA3LCAweDRhLCAweDFkLCAweDY4LCAweGY4LAotCTB4MDAsIDB4MDcsIDB4N2QsIDB4M2YsIDB4NjksIDB4ZjgsIDB4MDAsIDB4MDcsCi0JMHg0MCwgMHgwMCwgMHg2OCwgMHhmOCwgMHgwMCwgMHgxZCwgMHhmZiwgMHhmYywKLQkweDhhLCAweDFkLCAweDhhLCAweDA3LCAweGY0LCAweGViLCAweDRhLCAweDExLAotCTB4NzcsIDB4MTEsIDB4MDAsIDB4MjgsIDB4NzYsIDB4ODEsIDB4MjQsIDB4MDAsCi0JMHhlOCwgMHgwMCwgMHg3NSwgMHhmOCwgMHgwMCwgMHgwOCwgMHgwMCwgMHgwMSwKLQkweGYyLCAweDc0LCAweDA3LCAweDY3LCAweGY0LCAweDk1LCAweGU4LCAweDAwLAotCTB4NzcsIDB4MTEsIDB4MDAsIDB4MWQsIDB4NjgsIDB4ODEsIDB4MDAsIDB4N2YsCi0JMHhmNiwgMHhiOCwgMHhmNCwgMHg5NSwgMHhmMCwgMHgyMCwgMHhmZiwgMHg4MCwKLQkweDc3LCAweDExLCAweDAwLCAweDFkLCAweGYwLCAweDMwLCAweDAxLCAweDAwLAotCTB4MWEsIDB4ODEsIDB4ODAsIDB4ODEsIDB4ZjAsIDB4NzQsIDB4MGEsIDB4MzMsCi0JMHhmMCwgMHg3NCwgMHgxMSwgMHhhYywgMHhmOSwgMHg4MCwgMHgxMywgMHgyNSwKLQkweGY5LCAweDgwLCAweDE2LCAweDUzLCAweGY5LCAweDgwLCAweDE3LCAweDgyLAotCTB4ZjAsIDB4NzQsIDB4MDYsIDB4MmYsIDB4ZjksIDB4ODAsIDB4MTQsIDB4YjIsCi0JMHhmOSwgMHg4MCwgMHgxOSwgMHgxMCwgMHhmMCwgMHg3NCwgMHgwZCwgMHhlMywKLQkweGYwLCAweDc0LCAweDA3LCAweGU4LCAweGYwLCAweDc0LCAweDAyLCAweDM2LAotCTB4OGEsIDB4MTEsIDB4ZmMsIDB4MDAsIDB4NGEsIDB4MTEsIDB4NjAsIDB4ZjgsCi0JMHgyNywgMHg3YiwgMHhmZiwgMHhmZiwgMHhmOCwgMHgzMCwgMHgwOCwgMHgzOSwKLQkweDcxLCAweGY4LCAweDI3LCAweDdiLCAweDI3LCAweDc5LCAweDYwLCAweGY4LAotCTB4MjcsIDB4NzksIDB4ZmYsIDB4ZmYsIDB4ZjgsIDB4MzAsIDB4MDgsIDB4YjIsCi0JMHgxMCwgMHhmOCwgMHgyOSwgMHg4NiwgMHgwOCwgMHhmOCwgMHgyNywgMHg3OSwKLQkweGYwLCAweDMwLCAweDdmLCAweGZmLCAweDg4LCAweDExLCAweGY0LCAweDk1LAotCTB4NzcsIDB4MTAsIDB4NDAsIDB4MDAsIDB4ZjYsIDB4YTksIDB4ZjgsIDB4MzAsCi0JMHgwOCwgMHg1OCwgMHgxMCwgMHhmOCwgMHgyNywgMHg3OSwgMHgwOCwgMHhmOCwKLQkweDI3LCAweDdhLCAweGYwLCAweDMwLCAweDdmLCAweGZmLCAweDg4LCAweDExLAotCTB4ZjQsIDB4OTUsIDB4NzcsIDB4MTAsIDB4NDAsIDB4MDAsIDB4ZjYsIDB4YTksCi0JMHhmOCwgMHgyMCwgMHgwOCwgMHg2MywgMHg3NiwgMHhmOCwgMHgyNywgMHg3OSwKLQkweGZmLCAweGZmLCAweDc2LCAweGY4LCAweDI3LCAweDdiLCAweGZmLCAweGZmLAotCTB4ZjcsIDB4YjgsIDB4ZjIsIDB4NzMsIDB4MDgsIDB4ZDksIDB4ZjAsIDB4MjAsCi0JMHhmZiwgMHhmZiwgMHhmNiwgMHhiOCwgMHg1NiwgMHhmOCwgMHgyNywgMHg3NCwKLQkweGYwLCAweGY5LCAweDg4LCAweDExLCAweDU2LCAweGY4LCAweDI3LCAweDcyLAotCTB4ZjAsIDB4ZjksIDB4ODgsIDB4MTIsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsCi0JMHhlNywgMHgyMCwgMHhmNCwgMHhhOSwgMHhmOCwgMHgzMCwgMHgwOCwgMHg4ZiwKLQkweGYxLCAweDIwLCAweDI3LCAweDdjLCAweDQ4LCAweDExLCAweGY2LCAweDAwLAotCTB4ODgsIDB4MTMsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4MTAsIDB4ODMsCi0JMHgwOCwgMHhmOCwgMHgyNywgMHg3OSwgMHhmMCwgMHgzMCwgMHg3ZiwgMHhmZiwKLQkweDg4LCAweDEzLCAweGY0LCAweDk1LCAweDc3LCAweDEwLCAweDQwLCAweDAwLAotCTB4ZjUsIDB4YWIsIDB4ZjgsIDB4MzAsIDB4MDgsIDB4OGYsIDB4NmQsIDB4OTEsCi0JMHg0OCwgMHgxMSwgMHhmMCwgMHgzMCwgMHgwMSwgMHhmZiwgMHg4OCwgMHgxMSwKLQkweGY0LCAweDk1LCAweGU3LCAweDIwLCAweGY3LCAweGE5LCAweGY4LCAweDMwLAotCTB4MDgsIDB4NzQsIDB4NmQsIDB4ODksIDB4NDgsIDB4MTEsIDB4ZjAsIDB4MzAsCi0JMHgwMSwgMHhmZiwgMHhmMCwgMHhlNywgMHhmNCwgMHg5NSwgMHg0OCwgMHgwOCwKLQkweDRlLCAweGY4LCAweDI3LCAweDc0LCAweDQ4LCAweDA4LCAweGYxLCAweGY5LAotCTB4ODksIDB4MTEsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4NzEsIDB4ZTEsCi0JMHgyNywgMHg3YywgMHgyNywgMHg3YSwgMHg2MCwgMHhmOCwgMHgyNywgMHg3YiwKLQkweGZmLCAweGZmLCAweGY4LCAweDMwLCAweDA4LCAweGFiLCAweDQ4LCAweDA4LAotCTB4NGUsIDB4ZjgsIDB4MjcsIDB4NzIsIDB4NzYsIDB4ZjgsIDB4MjcsIDB4N2IsCi0JMHhmZiwgMHhmZiwgMHg3NiwgMHhmOCwgMHgyNywgMHg3OSwgMHhmZiwgMHhmZiwKLQkweGYyLCAweDczLCAweDA4LCAweGQ5LCAweGY0LCAweDk1LCAweGU4LCAweDAwLAotCTB4NDQsIDB4ZjgsIDB4MjcsIDB4NzMsIDB4NDAsIDB4ZjgsIDB4MjcsIDB4NzUsCi0JMHg4MiwgMHhmOCwgMHgwMCwgMHgxMSwgMHhmNCwgMHg5NSwgMHg3NywgMHgxMCwKLQkweDgwLCAweDAwLCAweGY2LCAweGE5LCAweGY4LCAweDIwLCAweDA4LCAweGQ4LAotCTB4ZjYsIDB4YjgsIDB4MTAsIDB4ZjgsIDB4MjcsIDB4NzMsIDB4ZjAsIDB4MDAsCi0JMHg4MCwgMHgwMCwgMHg0OCwgMHgwOCwgMHg0ZSwgMHhmOCwgMHgyNywgMHg3NCwKLQkweDQ4LCAweDA4LCAweGYwLCAweGY5LCAweDg4LCAweDExLCAweGY0LCAweDk1LAotCTB4ZjQsIDB4OTUsIDB4NzEsIDB4ZTEsIDB4MjcsIDB4N2MsIDB4MjcsIDB4N2EsCi0JMHhmNywgMHhiOCwgMHg1NywgMHhmOCwgMHgyNywgMHg3NCwgMHhmMCwgMHg2MiwKLQkweGZmLCAweGZmLCAweGYwLCAweDQwLCAweGZmLCAweDgwLCAweGYyLCAweDgwLAotCTB4NGUsIDB4ZjgsIDB4MjcsIDB4NzQsIDB4ZTgsIDB4MDAsIDB4OGEsIDB4MTEsCi0JMHhmYywgMHgwMCwgMHg0YSwgMHgxMSwgMHg0YSwgMHgxNiwgMHhlZSwgMHhmYiwKLQkweDExLCAweGY4LCAweDI3LCAweDcxLCAweDA5LCAweGY4LCAweDI3LCAweDczLAotCTB4ODksIDB4MTEsIDB4ODgsIDB4MTAsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsCi0JMHhmNiwgMHhhOSwgMHhmOCwgMHgyMCwgMHgwOCwgMHhlZCwgMHhmMiwgMHg3MywKLQkweDA5LCAweDBlLCAweGY0LCAweDk1LCAweGU4LCAweDAwLCAweGY2LCAweDIwLAotCTB4NzYsIDB4MDAsIDB4MDAsIDB4NDEsIDB4ZjAsIDB4NzQsIDB4MTIsIDB4ZWUsCi0JMHg4OCwgMHgxNiwgMHhmNCwgMHg5NSwgMHhmNywgMHhiOCwgMHg2ZCwgMHg5NiwKLQkweDEwLCAweGY4LCAweDAwLCAweDE2LCAweGY4LCAweDQ3LCAweDA5LCAweDBhLAotCTB4ZTcsIDB4NjEsIDB4NzYsIDB4MDAsIDB4MDAsIDB4MDAsIDB4NzYsIDB4MDEsCi0JMHgwMCwgMHg4MCwgMHg3NiwgMHgwMiwgMHgwMCwgMHhmZiwgMHg3NiwgMHgwMywKLQkweDAwLCAweDAwLCAweGYyLCAweDc0LCAweDBjLCAweGI5LCAweGY0LCAweDk1LAotCTB4ZTgsIDB4MDAsIDB4NmMsIDB4ZTksIDB4ZmYsIDB4ZmYsIDB4MDgsIDB4ZmIsCi0JMHg3MywgMHgxNiwgMHgwMCwgMHgwZSwgMHhmMCwgMHg2NiwgMHgwMCwgMHg0MSwKLQkweGVlLCAweDA1LCAweDhhLCAweDE2LCAweDhhLCAweDExLCAweGZjLCAweDAwLAotCTB4NGEsIDB4MTEsIDB4ZjQsIDB4OTUsIDB4NzEsIDB4MDIsIDB4MDAsIDB4MTMsCi0JMHhmNiwgMHhiOCwgMHg3NywgMHgxMSwgMHg3ZiwgMHhmZiwgMHg1NywgMHhmOCwKLQkweDI3LCAweDcyLCAweDQ4LCAweDExLCAweGYyLCAweDgwLCAweGYwLCAweDAwLAotCTB4ODAsIDB4MDAsIDB4ODgsIDB4MTEsIDB4ZjYsIDB4NDAsIDB4ZjAsIDB4ZTAsCi0JMHhmMSwgMHhmMSwgMHhlOCwgMHgwMSwgMHhmMiwgMHg4MCwgMHg4MCwgMHhmOCwKLQkweDI3LCAweDc4LCAweDc3LCAweDEyLCAweDgwLCAweDAwLCAweDU3LCAweGY4LAotCTB4MjcsIDB4NzIsIDB4NDgsIDB4MTIsIDB4ZjIsIDB4ODAsIDB4ODgsIDB4MTIsCi0JMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHg2YywgMHg4MiwgMHgwOSwgMHgzOCwKLQkweGU4LCAweDAwLCAweDc1LCAweGY4LCAweDAwLCAweDA4LCAweDAwLCAweDAxLAotCTB4ZjAsIDB4NzMsIDB4MDksIDB4M2QsIDB4ZjAsIDB4MjAsIDB4ODAsIDB4MDEsCi0JMHg3NSwgMHhmOCwgMHgwMCwgMHgwOCwgMHgwMCwgMHgwMSwgMHg3MCwgMHg4MSwKLQkweDAwLCAweDEzLCAweDhhLCAweDExLCAweGZjLCAweDAwLCAweDRhLCAweDExLAotCTB4ZjAsIDB4MzAsIDB4N2YsIDB4ZmYsIDB4MTEsIDB4ZjgsIDB4MjksIDB4ODYsCi0JMHhmNSwgMHgyMCwgMHhmMywgMHgzMCwgMHg3ZiwgMHhmZiwgMHg4OSwgMHgxMSwKLQkweGY0LCAweDk1LCAweDc3LCAweDEwLCAweDQwLCAweDAwLCAweGY2LCAweGE5LAotCTB4ZjgsIDB4MjAsIDB4MDksIDB4NTQsIDB4ZjIsIDB4NzMsIDB4MDksIDB4NjcsCi0JMHhmNCwgMHg5NSwgMHhlOCwgMHgwMiwgMHg2ZiwgMHhmOCwgMHgyNywgMHg3YSwKLQkweDBkLCAweDIwLCAweGYzLCAweDMwLCAweDdmLCAweGZmLCAweDg5LCAweDExLAotCTB4ZjQsIDB4OTUsIDB4NzcsIDB4MTAsIDB4NDAsIDB4MDAsIDB4ZjYsIDB4YTksCi0JMHhmOCwgMHgyMCwgMHgwOSwgMHg2NCwgMHhmMiwgMHg3MywgMHgwOSwgMHg2NywKLQkweGY0LCAweDk1LCAweGU4LCAweDAxLCAweDgwLCAweGY4LCAweDI3LCAweDdiLAotCTB4ZTgsIDB4MDAsIDB4OGEsIDB4MTEsIDB4ZmMsIDB4MDAsIDB4NGEsIDB4MTEsCi0JMHgxMSwgMHhmOCwgMHgyOSwgMHg4NiwgMHhmNSwgMHgyMCwgMHhmMywgMHgzMCwKLQkweDdmLCAweGZmLCAweDg5LCAweDExLCAweGY0LCAweDk1LCAweDc3LCAweDEwLAotCTB4NDAsIDB4MDAsIDB4ZjYsIDB4YTksIDB4ZjgsIDB4MjAsIDB4MDksIDB4N2EsCi0JMHhmMiwgMHg3MywgMHgwOSwgMHg4ZCwgMHhmNCwgMHg5NSwgMHhlOCwgMHgwMiwKLQkweDZmLCAweGY4LCAweDI3LCAweDdhLCAweDBkLCAweDIwLCAweGYzLCAweDMwLAotCTB4N2YsIDB4ZmYsIDB4ODksIDB4MTEsIDB4ZjQsIDB4OTUsIDB4NzcsIDB4MTAsCi0JMHg0MCwgMHgwMCwgMHhmNiwgMHhhOSwgMHhmOCwgMHgyMCwgMHgwOSwgMHg4YSwKLQkweGYyLCAweDczLCAweDA5LCAweDhkLCAweGY0LCAweDk1LCAweGU4LCAweDAxLAotCTB4ODAsIDB4ZjgsIDB4MjcsIDB4NzksIDB4ZTgsIDB4MDAsIDB4OGEsIDB4MTEsCi0JMHhmYywgMHgwMCwgMHg0YSwgMHgxMSwgMHhmNCwgMHg5NSwgMHg3MSwgMHgwMiwKLQkweDAwLCAweDEyLCAweDg4LCAweDExLCAweGY2LCAweGI4LCAweDU3LCAweGY4LAotCTB4MjcsIDB4NzIsIDB4ZjAsIDB4MjAsIDB4N2YsIDB4ZmYsIDB4ZjIsIDB4ODAsCi0JMHhmMCwgMHgwMCwgMHg4MCwgMHgwMCwgMHg4MCwgMHg4MSwgMHg1NywgMHhmOCwKLQkweDI3LCAweDcyLCAweGU4LCAweDAxLCAweGYzLCAweGYxLCAweGYyLCAweDgwLAotCTB4ODAsIDB4ZjgsIDB4MjcsIDB4NzgsIDB4NzcsIDB4MTEsIDB4ODAsIDB4MDAsCi0JMHg0OCwgMHgxMSwgMHg1NywgMHhmOCwgMHgyNywgMHg3MiwgMHhmMiwgMHg4MCwKLQkweDg4LCAweDExLCAweGY0LCAweDk1LCAweGY0LCAweDk1LCAweDZjLCAweDgxLAotCTB4MDksIDB4YjUsIDB4ZTgsIDB4MDAsIDB4NzUsIDB4ZjgsIDB4MDAsIDB4MDgsCi0JMHgwMCwgMHgwMSwgMHhmMCwgMHg3MywgMHgwOSwgMHhiYSwgMHhmMCwgMHgyMCwKLQkweDgwLCAweDAxLCAweDc1LCAweGY4LCAweDAwLCAweDA4LCAweDAwLCAweDAxLAotCTB4NDUsIDB4ZjgsIDB4MjcsIDB4NzEsIDB4NDMsIDB4ZjgsIDB4MjcsIDB4NzMsCi0JMHg4MywgMHhmOCwgMHgwMCwgMHgxMSwgMHhmNCwgMHg5NSwgMHhlNywgMHgyMCwKLQkweGY2LCAweGE5LCAweGY4LCAweDMwLCAweDA5LCAweGM5LCAweGYyLCAweDczLAotCTB4MDksIDB4ZTQsIDB4NzcsIDB4MTIsIDB4MDAsIDB4MDAsIDB4NTcsIDB4ZjgsCi0JMHgyNywgMHg3MiwgMHhmMCwgMHgyMCwgMHg3ZiwgMHhmZiwgMHhmMiwgMHg4MCwKLQkweDQ5LCAweDEyLCAweGY1LCAweDAwLCAweGYzLCAweDAwLCAweDgwLCAweDAwLAotCTB4NjEsIDB4ZjgsIDB4MDAsIDB4MGIsIDB4ODAsIDB4MDAsIDB4ZjgsIDB4MzAsCi0JMHgwOSwgMHhkYywgMHhmMSwgMHgyMCwgMHg4MCwgMHgwMCwgMHhmNSwgMHgyMCwKLQkweDg5LCAweDEyLCAweGY0LCAweDk1LCAweDQ4LCAweDEyLCAweDZmLCAweGY4LAotCTB4MjcsIDB4NzMsIDB4MGQsIDB4MDAsIDB4ZjQsIDB4OTUsIDB4NDksIDB4MGIsCi0JMHg0ZiwgMHhmOCwgMHgyNywgMHg3MiwgMHg4YSwgMHgxMSwgMHhmZSwgMHgwMCwKLQkweDQ4LCAweDEyLCAweGY0LCAweDk1LCAweDRhLCAweDExLCAweDRhLCAweDE2LAotCTB4NGEsIDB4MTcsIDB4ZWUsIDB4ZmMsIDB4ZjQsIDB4OTUsIDB4NzEsIDB4MDgsCi0JMHgwMCwgMHgxNiwgMHg4OCwgMHgxNywgMHhmMCwgMHg3NCwgMHgwOCwgMHgzMCwKLQkweDQ4LCAweDE4LCAweDcwLCAweDAwLCAweDAwLCAweDE2LCAweGYyLCAweDc0LAotCTB4MDksIDB4OGYsIDB4ZjAsIDB4MDAsIDB4MDAsIDB4MDIsIDB4ODgsIDB4MTEsCi0JMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHg2YywgMHg4MSwgMHgwYSwgMHgwYSwKLQkweGYyLCAweDc0LCAweDA4LCAweGRiLCAweGY0LCAweDk1LCAweDQ4LCAweDE2LAotCTB4NDgsIDB4MTgsIDB4NzAsIDB4MDAsIDB4MDAsIDB4MTYsIDB4ZjIsIDB4NzQsCi0JMHgwOSwgMHg4ZiwgMHhmMCwgMHgwMCwgMHgwMCwgMHgwMiwgMHg4OCwgMHgxMSwKLQkweDEwLCAweDAyLCAweDcwLCAweDAxLCAweDAwLCAweDExLCAweDgwLCAweDAwLAotCTB4ZjIsIDB4NzQsIDB4MDYsIDB4Y2UsIDB4ZjQsIDB4OTUsIDB4NDgsIDB4MTcsCi0JMHg0OSwgMHgxMSwgMHg0OCwgMHgxNywgMHhmNiwgMHgwMCwgMHg4OCwgMHgxNywKLQkweGU3LCAweDYwLCAweGY1LCAweGE5LCAweGY4LCAweDIwLCAweDBhLCAweDJkLAotCTB4NDgsIDB4MTYsIDB4ZjYsIDB4MjAsIDB4ODgsIDB4MTEsIDB4NDgsIDB4MTgsCi0JMHg3MCwgMHgwMCwgMHgwMCwgMHgxMSwgMHhmMiwgMHg3NCwgMHgwOSwgMHg4ZiwKLQkweGYwLCAweDAwLCAweDAwLCAweDAyLCAweDg4LCAweDExLCAweDcwLCAweDAxLAotCTB4MDAsIDB4MTEsIDB4MTAsIDB4MDIsIDB4ODAsIDB4MDAsIDB4ZjIsIDB4NzQsCi0JMHgwNiwgMHhjZSwgMHhmNCwgMHg5NSwgMHg0OCwgMHgxNywgMHhlZSwgMHgwNCwKLQkweDQ4LCAweDE2LCAweDhhLCAweDE3LCAweDhhLCAweDE2LCAweDhhLCAweDExLAotCTB4ZmMsIDB4MDAsIDB4ZWUsIDB4ZmQsIDB4ZTgsIDB4MDAsIDB4NGUsIDB4ZjgsCi0JMHgyNywgMHg3MCwgMHhlOCwgMHgwMCwgMHg0ZSwgMHhmOCwgMHgyNywgMHg3MiwKLQkweGU4LCAweDAwLCAweDRlLCAweGY4LCAweDI3LCAweDc0LCAweGU4LCAweDAwLAotCTB4NGUsIDB4ZjgsIDB4MjcsIDB4NzYsIDB4NzYsIDB4ZjgsIDB4MjcsIDB4NzksCi0JMHhmZiwgMHhmZiwgMHg3NiwgMHhmOCwgMHgyNywgMHg3YSwgMHgwMCwgMHgwMCwKLQkweDc2LCAweGY4LCAweDI3LCAweDdiLCAweGZmLCAweGZmLCAweDc2LCAweGY4LAotCTB4MjcsIDB4NzgsIDB4MDAsIDB4MDAsIDB4ZTgsIDB4MDAsIDB4NzUsIDB4ZjgsCi0JMHgwMCwgMHgwOCwgMHgwMCwgMHgwMSwgMHg3NiwgMHgwMCwgMHgwMCwgMHgwMCwKLQkweDc2LCAweDAxLCAweDAyLCAweDAwLCAweGYyLCAweDc0LCAweDEyLCAweGRjLAotCTB4ZjAsIDB4MjAsIDB4MjcsIDB4N2MsIDB4ZWUsIDB4MDMsIDB4ZmMsIDB4MDAsCi0JMHg0YSwgMHgxMSwgMHhlZSwgMHhmYywgMHhmNCwgMHg5NSwgMHg0ZSwgMHgwMCwKLQkweDc3LCAweDEyLCAweDdmLCAweGZmLCAweGY2LCAweGI4LCAweDQ5LCAweDEyLAotCTB4ZjEsIDB4ODAsIDB4ZjMsIDB4MDAsIDB4ODAsIDB4MDAsIDB4ODksIDB4MTIsCi0JMHhmMCwgMHhlMCwgMHhmMSwgMHhmMSwgMHg0ZiwgMHgwMiwgMHhlOSwgMHgwMSwKLQkweGY0LCAweDk1LCAweDQ4LCAweDBiLCAweGY1LCAweDQwLCAweDU2LCAweDAyLAotCTB4ZjEsIDB4ODAsIDB4ODEsIDB4ZjgsIDB4MjcsIDB4NzgsIDB4NzcsIDB4MTEsCi0JMHg4MCwgMHgwMCwgMHg1NiwgMHgwMCwgMHg0OSwgMHgxMSwgMHhmMSwgMHg4MCwKLQkweDg5LCAweDExLCAweGY0LCAweDk1LCAweGY0LCAweDk1LCAweDZjLCAweDgxLAotCTB4MGEsIDB4ODEsIDB4ZTgsIDB4MDAsIDB4NzUsIDB4ZjgsIDB4MDAsIDB4MDgsCi0JMHgwMCwgMHgwMSwgMHhmMCwgMHg3MywgMHgwYSwgMHg4NiwgMHhmMCwgMHgyMCwKLQkweDgwLCAweDAxLCAweDc1LCAweGY4LCAweDAwLCAweDA4LCAweDAwLCAweDAxLAotCTB4MTAsIDB4ODIsIDB4ZWUsIDB4MDQsIDB4OGEsIDB4MTEsIDB4ZmMsIDB4MDAsCi0JMHg0YSwgMHgxMSwgMHhlZSwgMHhmZSwgMHhmNCwgMHg5NSwgMHg0ZSwgMHgwMCwKLQkweDc3LCAweDExLCAweDdmLCAweGZmLCAweGY2LCAweGI4LCAweDQ5LCAweDExLAotCTB4ZjEsIDB4ODAsIDB4ZjMsIDB4MDAsIDB4ODAsIDB4MDAsIDB4ODksIDB4MTEsCi0JMHhmMCwgMHhlMCwgMHhmMSwgMHhmMSwgMHhlOCwgMHgwMSwgMHhmMiwgMHg4MCwKLQkweDgwLCAweGY4LCAweDI3LCAweDc4LCAweDU2LCAweDAwLCAweGYxLCAweDIwLAotCTB4ODAsIDB4MDAsIDB4ZjEsIDB4ODAsIDB4ZjQsIDB4OTUsIDB4NDksIDB4MGIsCi0JMHhmOCwgMHg0ZCwgMHgwYSwgMHhhYiwgMHhmMCwgMHgyMCwgMHg4MCwgMHgwMSwKLQkweDc1LCAweGY4LCAweDAwLCAweDA4LCAweDAwLCAweDAxLCAweGYwLCAweDczLAotCTB4MGEsIDB4YWYsIDB4ZTgsIDB4MDAsIDB4NzUsIDB4ZjgsIDB4MDAsIDB4MDgsCi0JMHgwMCwgMHgwMSwgMHhlZSwgMHgwMiwgMHg0OCwgMHgxMSwgMHg4YSwgMHgxMSwKLQkweGZjLCAweDAwLCAweDRhLCAweDExLCAweDg4LCAweDEyLCAweDEzLCAweDAyLAotCTB4NzcsIDB4MTEsIDB4MDAsIDB4MDAsIDB4ZjgsIDB4NGQsIDB4MGEsIDB4Y2IsCi0JMHhmMywgMHgxMCwgMHgwMCwgMHgwMSwgMHg4OSwgMHgxYSwgMHhmNCwgMHg5NSwKLQkweGYwLCAweDcyLCAweDBhLCAweGNhLCAweDQ4LCAweDExLCAweDFjLCAweGY4LAotCTB4MjksIDB4N2UsIDB4ODgsIDB4MTEsIDB4MTEsIDB4ZjgsIDB4MjksIDB4N2UsCi0JMHhmMiwgMHgwMCwgMHgwMCwgMHgwMSwgMHg4MCwgMHhmOCwgMHgyOSwgMHg3ZSwKLQkweDgxLCAweDkyLCAweDQ4LCAweDExLCAweDhhLCAweDExLCAweGZjLCAweDAwLAotCTB4NGEsIDB4MTEsIDB4ZjQsIDB4OTUsIDB4NzEsIDB4MDIsIDB4MDAsIDB4MTEsCi0JMHg4OCwgMHgxMiwgMHhmNiwgMHhiOCwgMHhmMCwgMHgyMCwgMHg3ZiwgMHhmZiwKLQkweDU3LCAweGY4LCAweDI3LCAweDcwLCAweGYyLCAweDgwLCAweGYwLCAweDAwLAotCTB4ODAsIDB4MDAsIDB4ODAsIDB4ODIsIDB4NTcsIDB4ZjgsIDB4MjcsIDB4NzAsCi0JMHhlOCwgMHgwMSwgMHhmMywgMHhmMSwgMHhmMiwgMHg4MCwgMHg4MCwgMHhmOCwKLQkweDI3LCAweDc4LCAweDc3LCAweDEyLCAweDgwLCAweDAwLCAweDQ4LCAweDEyLAotCTB4NTcsIDB4ZjgsIDB4MjcsIDB4NzAsIDB4ZjIsIDB4ODAsIDB4ODgsIDB4MTIsCi0JMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHg2YywgMHg4MiwgMHgwYSwgMHhmNCwKLQkweGU4LCAweDAwLCAweDc1LCAweGY4LCAweDAwLCAweDA4LCAweDAwLCAweDAxLAotCTB4ZjAsIDB4NzMsIDB4MGEsIDB4ZjksIDB4ZjAsIDB4MjAsIDB4ODAsIDB4MDEsCi0JMHg3NSwgMHhmOCwgMHgwMCwgMHgwOCwgMHgwMCwgMHgwMSwgMHg0NSwgMHhmOCwKLQkweDI3LCAweDc1LCAweGU3LCAweDEwLCAweDQzLCAweGY4LCAweDI3LCAweDcxLAotCTB4ODMsIDB4ZjgsIDB4MDAsIDB4MTIsIDB4NmQsIDB4ZTgsIDB4MDAsIDB4MDQsCi0JMHg2ZCwgMHg4YSwgMHhmNiwgMHhhYSwgMHhmOCwgMHgzMCwgMHgwYiwgMHgwYSwKLQkweGYyLCAweDczLCAweDBiLCAweDI1LCAweDc3LCAweDExLCAweDAwLCAweDAwLAotCTB4NTcsIDB4ZjgsIDB4MjcsIDB4NzAsIDB4ZjAsIDB4MjAsIDB4N2YsIDB4ZmYsCi0JMHhmMiwgMHg4MCwgMHg0OSwgMHgxMSwgMHhmNSwgMHgwMCwgMHhmMywgMHgwMCwKLQkweDgwLCAweDAwLCAweDYxLCAweGY4LCAweDAwLCAweDBiLCAweDgwLCAweDAwLAotCTB4ZjgsIDB4MzAsIDB4MGIsIDB4MWQsIDB4ZjEsIDB4MjAsIDB4ODAsIDB4MDAsCi0JMHhmNSwgMHgyMCwgMHg4OSwgMHgxMSwgMHhmNCwgMHg5NSwgMHg0OCwgMHgxMSwKLQkweDZmLCAweGY4LCAweDI3LCAweDcxLCAweDBkLCAweDAwLCAweGY0LCAweDk1LAotCTB4NDksIDB4MGIsIDB4NGYsIDB4ZjgsIDB4MjcsIDB4NzAsIDB4NDgsIDB4MTEsCi0JMHg4YSwgMHgxMSwgMHhmYywgMHgwMCwgMHg0YSwgMHgxMSwgMHg0YSwgMHgxNiwKLQkweDRhLCAweDE3LCAweGVlLCAweGYwLCAweDg4LCAweDE3LCAweDEwLCAweDE3LAotCTB4ODAsIDB4MDUsIDB4MTAsIDB4MTYsIDB4ODAsIDB4MDYsIDB4MTAsIDB4MTUsCi0JMHg4MCwgMHgwNywgMHg3MSwgMHgxNCwgMHgwMCwgMHgxMSwgMHgxMCwgMHgwNSwKLQkweGYwLCAweDMwLCAweDAwLCAweDAxLCAweDg4LCAweDEwLCAweDEwLCAweDA2LAotCTB4ZjAsIDB4MzAsIDB4MDAsIDB4MDEsIDB4ODAsIDB4MDgsIDB4NDksIDB4MTEsCi0JMHgxMCwgMHgwNSwgMHhmNiwgMHgwMSwgMHg4MCwgMHgwOSwgMHgxMCwgMHgwNiwKLQkweDYxLCAweGY4LCAweDAwLCAweDA4LCAweDAwLCAweDAxLCAweGY4LCAweDIwLAotCTB4MGIsIDB4NGIsIDB4MTAsIDB4MDksIDB4ZjAsIDB4MDAsIDB4MDAsIDB4MDEsCi0JMHg4MCwgMHgwOSwgMHg3MSwgMHgwOCwgMHgwMCwgMHgxMiwgMHhmNCwgMHhhYSwKLQkweGY4LCAweDMwLCAweDBiLCAweDU0LCAweDEwLCAweDA5LCAweGYwLCAweDAwLAotCTB4MDAsIDB4MDEsIDB4ODAsIDB4MDksIDB4MTIsIDB4MDksIDB4NDksIDB4MTEsCi0JMHhmNCwgMHg3ZiwgMHg4MCwgMHgwOSwgMHhmNiwgMHgyMCwgMHg4MCwgMHgwYSwKLQkweDU2LCAweGY4LCAweDI3LCAweDcwLCAweDRlLCAweDBjLCAweDEwLCAweDA5LAotCTB4ODAsIDB4MDAsIDB4NDgsIDB4MTgsIDB4ZjIsIDB4NzQsIDB4MGEsIDB4Y2UsCi0JMHhmMCwgMHgwMCwgMHgwMCwgMHgwNCwgMHg4OCwgMHgxNiwgMHhmNCwgMHg5NSwKLQkweGY0LCAweDk1LCAweDZjLCAweDg2LCAweDBiLCAweDZkLCAweGYyLCAweDczLAotCTB4MGMsIDB4NTksIDB4ZjQsIDB4OTUsIDB4ZTgsIDB4MDAsIDB4ZjYsIDB4YjgsCi0JMHhmNCwgMHg5NSwgMHg1NiwgMHgwYywgMHhmMCwgMHhmOSwgMHg4OCwgMHgxMiwKLQkweGY0LCAweDk1LCAweGY0LCAweDk1LCAweDcwLCAweGUyLCAweDI3LCAweDdjLAotCTB4MjksIDB4ODYsIDB4ZTgsIDB4MDAsIDB4ODAsIDB4MGUsIDB4NDgsIDB4MTEsCi0JMHhmOCwgMHg0NSwgMHgwYiwgMHhjYywgMHg3NywgMHgxMCwgMHgwMCwgMHgwMSwKLQkweGY0LCAweGE5LCAweGY4LCAweDMwLCAweDBiLCAweDg5LCAweDZjLCAweGUxLAotCTB4ZmYsIDB4ZmQsIDB4MGIsIDB4OGIsIDB4MTAsIDB4ZTcsIDB4MDAsIDB4MDIsCi0JMHg4MCwgMHgwZSwgMHhmMCwgMHg3MywgMHgwYiwgMHg4YiwgMHgxMCwgMHg4NywKLQkweDgwLCAweDBlLCAweGU3LCAweDEwLCAweGY1LCAweGFlLCAweGY4LCAweDIwLAotCTB4MGIsIDB4YjIsIDB4NzAsIDB4MDAsIDB4MDAsIDB4MTcsIDB4NzAsIDB4MDEsCi0JMHgwMCwgMHgxNiwgMHgxMCwgMHgwNCwgMHhmMCwgMHg3NCwgMHgwNiwgMHhjZSwKLQkweDQ4LCAweDE3LCAweDQ5LCAweDE2LCAweGY2LCAweDAwLCAweDg4LCAweDE3LAotCTB4NDgsIDB4MTEsIDB4ZjYsIDB4MjAsIDB4ODgsIDB4MTEsIDB4MTAsIDB4MDksCi0JMHhmNiwgMHgyMCwgMHg4MCwgMHgwMCwgMHg0OCwgMHgxOCwgMHhmMiwgMHg3NCwKLQkweDBhLCAweGNlLCAweGYwLCAweDAwLCAweDAwLCAweDA0LCAweDg4LCAweDE2LAotCTB4MTAsIDB4MDQsIDB4NzAsIDB4MDAsIDB4MDAsIDB4MTcsIDB4NzAsIDB4MDEsCi0JMHgwMCwgMHgxMSwgMHhmMCwgMHg3NCwgMHgwNiwgMHhjZSwgMHg0OCwgMHgxMSwKLQkweDAwLCAweDA0LCAweDgwLCAweDA0LCAweGYwLCAweDczLCAweDBiLCAweGJjLAotCTB4NzAsIDB4MDAsIDB4MDAsIDB4MTcsIDB4NzAsIDB4MDEsIDB4MDAsIDB4MTEsCi0JMHgxMCwgMHgwNCwgMHhmMCwgMHg3NCwgMHgwNiwgMHhjZSwgMHg0OCwgMHgxMSwKLQkweDAwLCAweDA0LCAweDgwLCAweDA0LCAweDQ5LCAweDExLCAweDQ4LCAweDE2LAotCTB4ZjYsIDB4MjAsIDB4ODgsIDB4MTYsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsCi0JMHg2YywgMHg4NiwgMHgwYiwgMHhjYywgMHgxMCwgMHgwYSwgMHg4MCwgMHgwMCwKLQkweDQ4LCAweDE4LCAweGYyLCAweDc0LCAweDBhLCAweGNlLCAweGYwLCAweDAwLAotCTB4MDAsIDB4MDQsIDB4ODgsIDB4MTYsIDB4MTIsIDB4MGEsIDB4ZjgsIDB4NDUsCi0JMHgwYywgMHgzMywgMHg3MSwgMHgwYSwgMHgwMCwgMHgxMCwgMHhmNCwgMHhhZSwKLQkweGY4LCAweDMwLCAweDBjLCAweDFjLCAweDQ4LCAweDE2LCAweGYwLCAweGUxLAotCTB4ODgsIDB4MTEsIDB4MTIsIDB4MDgsIDB4ZjgsIDB4NDUsIDB4MGIsIDB4ZGIsCi0JMHg2ZCwgMHg4OSwgMHgxMiwgMHgwNywgMHhmOCwgMHg0NSwgMHgwYiwgMHhlOSwKLQkweDEwLCAweDA3LCAweDgwLCAweDAwLCAweDcwLCAweDAyLCAweDAwLCAweDExLAotCTB4MTAsIDB4MDYsIDB4ODAsIDB4MDEsIDB4MTAsIDB4MDQsIDB4ZjAsIDB4NzQsCi0JMHgwNiwgMHhkYywgMHhmMCwgMHg3MywgMHgwYiwgMHhlZiwgMHg0OCwgMHgxMSwKLQkweDZmLCAweDAwLCAweDBjLCAweDlmLCAweDEwLCAweDA0LCAweGYwLCAweDc0LAotCTB4MGEsIDB4YjMsIDB4MTEsIDB4MGUsIDB4ZjEsIDB4YzAsIDB4ODEsIDB4MGUsCi0JMHgxMCwgMHgwNiwgMHg0OSwgMHgxMSwgMHhmNiwgMHgwMCwgMHg4MCwgMHgwNiwKLQkweDEwLCAweDA1LCAweGY2LCAweDIwLCAweDg4LCAweDExLCAweGYwLCAweDAwLAotCTB4MDAsIDB4MDEsIDB4NDgsIDB4MDgsIDB4NmYsIDB4MDAsIDB4MGMsIDB4OWYsCi0JMHg0OCwgMHgxOCwgMHhmMiwgMHg3NCwgMHgwYSwgMHhjZSwgMHhmMCwgMHgwMCwKLQkweDAwLCAweDA0LCAweDEyLCAweDA3LCAweGY4LCAweDQ1LCAweDBjLCAweDExLAotCTB4MTAsIDB4MDcsIDB4ODAsIDB4MDAsIDB4NzAsIDB4MDIsIDB4MDAsIDB4MTEsCi0JMHgxMCwgMHgwNiwgMHg4MCwgMHgwMSwgMHgxMCwgMHgwNCwgMHhmMCwgMHg3NCwKLQkweDA2LCAweGRjLCAweGYwLCAweDczLCAweDBjLCAweDE3LCAweDQ4LCAweDExLAotCTB4NmYsIDB4MDAsIDB4MGMsIDB4OWYsIDB4MTAsIDB4MDQsIDB4ZjAsIDB4NzQsCi0JMHgwYSwgMHhiMywgMHgxMSwgMHgwZSwgMHhmMSwgMHhjMCwgMHg4MSwgMHgwZSwKLQkweGYwLCAweDczLCAweDBjLCAweDMzLCAweDEyLCAweDA3LCAweGY4LCAweDQ1LAotCTB4MGMsIDB4MmEsIDB4MTAsIDB4MDcsIDB4ODAsIDB4MDAsIDB4MTAsIDB4MDYsCi0JMHg4MCwgMHgwMSwgMHgxMCwgMHgwNSwgMHg4MCwgMHgwMiwgMHgxMCwgMHgwNCwKLQkweGYwLCAweDc0LCAweDA2LCAweGRjLCAweGYwLCAweDczLCAweDBjLCAweDMwLAotCTB4MTIsIDB4MDUsIDB4NmYsIDB4MDAsIDB4MGMsIDB4OWYsIDB4MTAsIDB4MDQsCi0JMHhmMCwgMHg3NCwgMHgwYSwgMHhiMywgMHgxMSwgMHgwZSwgMHhmMSwgMHhjMCwKLQkweDgxLCAweDBlLCAweDc2LCAweDAwLCAweDAwLCAweDAxLCAweDQ4LCAweDE4LAotCTB4ZjIsIDB4NzQsIDB4MGEsIDB4Y2UsIDB4ZjAsIDB4MDAsIDB4MDAsIDB4MDQsCi0JMHg3MSwgMHgwNCwgMHgwMCwgMHgxMSwgMHg3MCwgMHg4MSwgMHgyOSwgMHg4NiwKLQkweDEwLCAweDBlLCAweDFjLCAweGY4LCAweDI5LCAweDg2LCAweDgwLCAweDBlLAotCTB4NzYsIDB4MDAsIDB4MDAsIDB4MDEsIDB4NDgsIDB4MTgsIDB4ZjIsIDB4NzQsCi0JMHgwYSwgMHhjZSwgMHhmMCwgMHgwMCwgMHgwMCwgMHgwNCwgMHgxMCwgMHgwZSwKLQkweDcxLCAweDA0LCAweDAwLCAweDExLCAweDgwLCAweDgxLCAweDEwLCAweGY4LAotCTB4MjksIDB4ODYsIDB4ZjAsIDB4MDAsIDB4MDAsIDB4MDEsIDB4ZjAsIDB4MzAsCi0JMHg3ZiwgMHhmZiwgMHg4MCwgMHhmOCwgMHgyOSwgMHg4NiwgMHgxMCwgMHgwOSwKLQkweGYwLCAweDAwLCAweDAwLCAweDAyLCAweDgwLCAweDA5LCAweGVlLCAweDEwLAotCTB4OGEsIDB4MTcsIDB4OGEsIDB4MTYsIDB4OGEsIDB4MTEsIDB4ZmMsIDB4MDAsCi0JMHgxMCwgMHhmOCwgMHgyNywgMHg3NSwgMHgwOCwgMHhmOCwgMHgyNywgMHg3MSwKLQkweGYwLCAweDEwLCAweDAwLCAweDAxLCAweDQ4LCAweDA4LCAweGZjLCAweDAwLAotCTB4NGEsIDB4MTEsIDB4NGEsIDB4MTYsIDB4ZWUsIDB4ZmYsIDB4ZjQsIDB4OTUsCi0JMHg3MSwgMHgwNCwgMHgwMCwgMHgxNiwgMHhmMCwgMHgwMCwgMHgwMCwgMHgwMSwKLQkweDQ4LCAweDA4LCAweDRlLCAweGY4LCAweDI5LCAweDdjLCAweDZkLCAweGVlLAotCTB4ZmYsIDB4ZmQsIDB4NDgsIDB4MTYsIDB4ZjgsIDB4NDUsIDB4MGMsIDB4OTksCi0JMHg1NiwgMHhmOCwgMHgyOSwgMHg3YywgMHhmMCwgMHg3NCwgMHgwYSwgMHg1YSwKLQkweDg4LCAweDExLCAweDEwLCAweGY4LCAweDI5LCAweDdkLCAweGYwLCAweDAwLAotCTB4MDAsIDB4MDEsIDB4NDgsIDB4MDgsIDB4NGUsIDB4ZjgsIDB4MjksIDB4N2MsCi0JMHgxMCwgMHhmOCwgMHgyOSwgMHg4MiwgMHhmMCwgMHgwMCwgMHgwMCwgMHgwMSwKLQkweDg4LCAweDEwLCAweGY0LCAweDk1LCAweGY0LCAweDk1LCAweGY0LCAweGE5LAotCTB4ZmEsIDB4MzAsIDB4MGMsIDB4OTYsIDB4ODAsIDB4ZjgsIDB4MjksIDB4ODIsCi0JMHg1NiwgMHhmOCwgMHgyOSwgMHg4MCwgMHhmMCwgMHgwMCwgMHgwMCwgMHgwMSwKLQkweDRlLCAweGY4LCAweDI5LCAweDgwLCAweDczLCAweDExLCAweDI5LCAweDgyLAotCTB4NmMsIDB4ZWUsIDB4ZmYsIDB4ZmYsIDB4MGMsIDB4NzYsIDB4ZWUsIDB4MDEsCi0JMHg4YSwgMHgxNiwgMHg4YSwgMHgxMSwgMHhmYywgMHgwMCwgMHg0YSwgMHgxMSwKLQkweDc2LCAweGY4LCAweDI5LCAweDg0LCAweDAwLCAweDAwLCAweDc2LCAweGY4LAotCTB4MjksIDB4ODUsIDB4MDAsIDB4MDEsIDB4ZTgsIDB4MDAsIDB4NGUsIDB4ZjgsCi0JMHgyYSwgMHgwYywgMHg3NiwgMHhmOCwgMHgyOSwgMHg4NiwgMHgwMCwgMHgwMCwKLQkweDc2LCAweGY4LCAweDI5LCAweDg3LCAweDAwLCAweDAwLCAweDc3LCAweDExLAotCTB4MjksIDB4ODgsIDB4NzYsIDB4ODEsIDB4YWEsIDB4YWEsIDB4NzYsIDB4ZTEsCi0JMHgwMCwgMHgwMSwgMHhhYSwgMHhhYSwgMHg3NiwgMHhlMSwgMHgwMCwgMHgwMiwKLQkweDAwLCAweDAwLCAweDhhLCAweDExLCAweGZjLCAweDAwLCAweDRhLCAweDExLAotCTB4ZWUsIDB4ZmMsIDB4ZjQsIDB4OTUsIDB4NzEsIDB4MDYsIDB4MDAsIDB4MTQsCi0JMHg3MSwgMHgwNywgMHgwMCwgMHgxMywgMHg3MSwgMHgwOCwgMHgwMCwgMHgxMiwKLQkweDcxLCAweDA5LCAweDAwLCAweDE1LCAweDc3LCAweDEwLCAweDAwLCAweGZmLAotCTB4ZjQsIDB4YWEsIDB4ZjgsIDB4MzAsIDB4MGQsIDB4NDQsIDB4NDksIDB4MTMsCi0JMHg1MywgMHhmOCwgMHgyYSwgMHgwYywgMHg0ZiwgMHhmOCwgMHgyYSwgMHgwYywKLQkweDczLCAweDEyLCAweDAwLCAweDBlLCAweGYxLCAweDY2LCAweDAwLCAweDBkLAotCTB4ODksIDB4MTEsIDB4ZjQsIDB4OTUsIDB4NzcsIDB4MTAsIDB4MDAsIDB4MDEsCi0JMHg3MSwgMHhlMSwgMHgyNCwgMHgwMCwgMHgwMCwgMHgxMSwgMHhmNCwgMHhhOSwKLQkweGY4LCAweDMwLCAweDBkLCAweDE3LCAweDc3LCAweDEwLCAweDAwLCAweDAyLAotCTB4ZjQsIDB4YTksIDB4ZjgsIDB4MzAsIDB4MGMsIDB4ZWMsIDB4NzcsIDB4MTEsCi0JMHgyOSwgMHg4YSwgMHg3NiwgMHg4MSwgMHgwMCwgMHgwMCwgMHhlOCwgMHgwMCwKLQkweDc3LCAweDE0LCAweDAwLCAweDAwLCAweDc3LCAweDEzLCAweDAwLCAweDAwLAotCTB4ZjAsIDB4NzMsIDB4MGQsIDB4NDgsIDB4NmMsIDB4ODMsIDB4MGMsIDB4ZmEsCi0JMHg3NywgMHgxMSwgMHgyOSwgMHg4YSwgMHg0OCwgMHgxMiwgMHhmMCwgMHhlOCwKLQkweGYwLCAweDQwLCAweDgwLCAweDAwLCAweDgwLCAweDgxLCAweGU4LCAweDAwLAotCTB4NzcsIDB4MTQsIDB4MDAsIDB4MDAsIDB4ZjAsIDB4NzMsIDB4MGQsIDB4NDgsCi0JMHg0OSwgMHgxMywgMHhmMywgMHg0MCwgMHg4MCwgMHgwMCwgMHg4MSwgMHhmOCwKLQkweDI5LCAweDhhLCAweDYxLCAweGY4LCAweDAwLCAweDE1LCAweDAwLCAweDAxLAotCTB4ZjgsIDB4MjAsIDB4MGQsIDB4MDcsIDB4NjksIDB4ZjgsIDB4MjksIDB4OGEsCi0JMHg0MCwgMHgwMCwgMHg2MSwgMHhmOCwgMHgwMCwgMHgxNCwgMHgwMCwgMHgwMSwKLQkweGY4LCAweDIwLCAweDBkLCAweDBmLCAweDY5LCAweGY4LCAweDI5LCAweDhhLAotCTB4MjAsIDB4MDAsIDB4NzcsIDB4MTEsIDB4MjksIDB4OGEsIDB4NDksIDB4MTIsCi0JMHhmMywgMHhlOCwgMHgxYiwgMHg4MSwgMHg4MSwgMHg4MSwgMHhmMCwgMHg3MywKLQkweDBkLCAweDQ4LCAweDExLCAweGY4LCAweDI5LCAweDg0LCAweGY4LCAweDRjLAotCTB4MGQsIDB4MzcsIDB4NzcsIDB4MTEsIDB4MjksIDB4ODgsIDB4NzYsIDB4ODEsCi0JMHhhYSwgMHhhYSwgMHgxMSwgMHhmOCwgMHgyOSwgMHg4NSwgMHhmMywgMHgxMCwKLQkweDAwLCAweDAxLCAweGYzLCAweDQwLCAweGFhLCAweDAwLCAweDgxLCAweGUxLAotCTB4MDAsIDB4MDEsIDB4NzYsIDB4MDAsIDB4MDAsIDB4MDIsIDB4ODAsIDB4MDEsCi0JMHg3MCwgMHgwMiwgMHgwMCwgMHgxNCwgMHg3MCwgMHgwMywgMHgwMCwgMHgxMywKLQkweGYyLCAweDc0LCAweDBiLCAweDI4LCAweGY0LCAweDk1LCAweDQ4LCAweDExLAotCTB4NzEsIDB4ZjgsIDB4MjksIDB4ODUsIDB4MjksIDB4ODQsIDB4ZjAsIDB4NzMsCi0JMHgwZCwgMHg3MywgMHg3NiwgMHgwMCwgMHgwMCwgMHgwMCwgMHg4MCwgMHgwMSwKLQkweDc2LCAweDAyLCAweDAwLCAweDAwLCAweDcwLCAweDAzLCAweDAwLCAweDEzLAotCTB4ZjIsIDB4NzQsIDB4MGIsIDB4MjgsIDB4ZjQsIDB4OTUsIDB4ZTgsIDB4MDAsCi0JMHhmMCwgMHg3MywgMHgwZCwgMHg3MywgMHg3NywgMHgxMSwgMHgyOSwgMHg4YSwKLQkweDcwLCAweDgxLCAweDAwLCAweDEzLCAweDExLCAweGY4LCAweDI5LCAweDg0LAotCTB4ZjgsIDB4NGMsIDB4MGQsIDB4NjgsIDB4NzcsIDB4MTEsIDB4MjksIDB4ODgsCi0JMHg3NiwgMHg4MSwgMHhhYSwgMHhhYSwgMHgxMSwgMHhmOCwgMHgyOSwgMHg4NSwKLQkweGYzLCAweDEwLCAweDAwLCAweDAxLCAweGYzLCAweDQwLCAweGFhLCAweDAwLAotCTB4ODEsIDB4ZTEsIDB4MDAsIDB4MDEsIDB4NzYsIDB4MDAsIDB4MDAsIDB4MDMsCi0JMHg4MCwgMHgwMSwgMHg3MCwgMHgwMiwgMHgwMCwgMHgxNCwgMHg3MCwgMHgwMywKLQkweDAwLCAweDEzLCAweGYyLCAweDc0LCAweDBiLCAweDI4LCAweGY0LCAweDk1LAotCTB4NDgsIDB4MTEsIDB4NzEsIDB4ZjgsIDB4MjksIDB4ODUsIDB4MjksIDB4ODQsCi0JMHhmMCwgMHg3MywgMHgwZCwgMHg3MywgMHg3NiwgMHgwMCwgMHgwMCwgMHgwMSwKLQkweDgwLCAweDAxLCAweDcwLCAweDAyLCAweDAwLCAweDE0LCAweDcwLCAweDAzLAotCTB4MDAsIDB4MTMsIDB4ZjIsIDB4NzQsIDB4MGIsIDB4MjgsIDB4ZjQsIDB4OTUsCi0JMHg0OCwgMHgxMSwgMHg2YiwgMHhmOCwgMHgyOSwgMHg4NCwgMHhmZiwgMHhmZiwKLQkweGVlLCAweDA0LCAweDhhLCAweDExLCAweGZjLCAweDAwLCAweDRhLCAweDExLAotCTB4ZjUsIDB4NDAsIDB4ZjQsIDB4OTUsIDB4NDgsIDB4MGIsIDB4ZjQsIDB4NzgsCi0JMHg4OCwgMHgxMSwgMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHg2YywgMHhlMSwKLQkweGZmLCAweGI5LCAweDBkLCAweDg4LCAweGYyLCAweDczLCAweDBkLCAweGE1LAotCTB4ZjQsIDB4OTUsIDB4ZTgsIDB4NjAsIDB4ZjIsIDB4MDAsIDB4MDAsIDB4MDYsCi0JMHg2MSwgMHhmOCwgMHgwMCwgMHgxMSwgMHgwMCwgMHgyMCwgMHhmOCwgMHgzMCwKLQkweDBkLCAweDk4LCAweDYxLCAweGY4LCAweDAwLCAweDBiLCAweDAwLCAweDAxLAotCTB4ZjgsIDB4MjAsIDB4MGQsIDB4YTMsIDB4ZjIsIDB4MDAsIDB4MDAsIDB4MDcsCi0JMHhmMCwgMHg3MywgMHgwZCwgMHhhMywgMHg2MSwgMHhmOCwgMHgwMCwgMHgwYiwKLQkweDAwLCAweDAxLCAweGY4LCAweDIwLCAweDBkLCAweGExLCAweGYyLCAweDczLAotCTB4MGQsIDB4YTMsIDB4ZjAsIDB4MDAsIDB4MDAsIDB4MDEsIDB4ZjAsIDB4MDAsCi0JMHgwMCwgMHgwMiwgMHg0OCwgMHgwOCwgMHhmNCwgMHg3ZiwgMHg4YSwgMHgxMSwKLQkweGZjLCAweDAwLCAweGVlLCAweGZmLCAweGYwLCAweDc0LCAweDA3LCAweGZkLAotCTB4ZjAsIDB4NzQsIDB4MDcsIDB4NDQsIDB4ZjAsIDB4NzQsIDB4MGQsIDB4YjQsCi0JMHhmMCwgMHg3NCwgMHgwMiwgMHgwNSwgMHhmMCwgMHg3NCwgMHgwNCwgMHg2MCwKLQkweGYwLCAweDczLCAweDBkLCAweGFhLCAweGVlLCAweGZkLCAweDEwLCAweGY4LAotCTB4MmEsIDB4YTMsIDB4ZjgsIDB4NDQsIDB4MGQsIDB4Y2IsIDB4MTAsIDB4ZjgsCi0JMHgyYSwgMHhhNCwgMHhmOCwgMHg0NSwgMHgwZCwgMHhkNywgMHg3NiwgMHgwMCwKLQkweDAyLCAweDAwLCAweGYyLCAweDc0LCAweDA5LCAweGU4LCAweGYwLCAweDIwLAotCTB4MjIsIDB4MDAsIDB4NzYsIDB4ZjgsIDB4MmEsIDB4YTQsIDB4MDAsIDB4MDAsCi0JMHg3NiwgMHhmOCwgMHgyYSwgMHhhNywgMHgwMCwgMHgwMCwgMHhmMCwgMHg3MywKLQkweDBkLCAweGQ3LCAweDc2LCAweDAwLCAweDAyLCAweDAwLCAweGYyLCAweDc0LAotCTB4MDksIDB4ZTgsIDB4ZjAsIDB4MjAsIDB4MjAsIDB4MDAsIDB4NzYsIDB4ZjgsCi0JMHgyYSwgMHhhMywgMHgwMCwgMHgwMCwgMHg3NiwgMHhmOCwgMHgyYSwgMHhhNywKLQkweDAwLCAweDAxLCAweGYwLCAweDc0LCAweDBjLCAweDVlLCAweGYwLCAweGUwLAotCTB4ZjAsIDB4MTAsIDB4M2EsIDB4OTgsIDB4ZjgsIDB4NDcsIDB4MGQsIDB4ZTEsCi0JMHg3NiwgMHhmOCwgMHgyNywgMHg2ZSwgMHgwMCwgMHgwMCwgMHhlZSwgMHgwMywKLQkweGZjLCAweDAwLCAweDRhLCAweDExLCAweGVlLCAweGZlLCAweDc3LCAweDExLAotCTB4MjAsIDB4MDAsIDB4NzYsIDB4MDAsIDB4YWEsIDB4YWEsIDB4NzYsIDB4MDEsCi0JMHgwMiwgMHgwMCwgMHhmMiwgMHg3NCwgMHgwNiwgMHg2YywgMHhmNCwgMHg5NSwKLQkweDQ4LCAweDExLCAweDc2LCAweDAwLCAweDU1LCAweDU1LCAweDc2LCAweDAxLAotCTB4MDIsIDB4MDAsIDB4NDgsIDB4MTEsIDB4ZjIsIDB4NzQsIDB4MDYsIDB4NmMsCi0JMHhmMCwgMHgwMCwgMHgwMiwgMHgwMCwgMHg3NiwgMHhmOCwgMHgyYSwgMHhhMywKLQkweDAwLCAweDAwLCAweDc2LCAweGY4LCAweDJhLCAweGE0LCAweDAwLCAweDAwLAotCTB4ZTgsIDB4MDAsIDB4NGUsIDB4MDAsIDB4ZmIsIDB4ODAsIDB4MTUsIDB4M2UsCi0JMHhmNCwgMHg5NSwgMHhlOCwgMHgwNCwgMHg4MCwgMHhmOCwgMHgyYSwgMHhhNSwKLQkweDc2LCAweDAwLCAweDJhLCAweGE4LCAweGY5LCAweDgwLCAweDE0LCAweDg3LAotCTB4NzYsIDB4MDAsIDB4MmEsIDB4YWQsIDB4ZmIsIDB4ODAsIDB4MTMsIDB4NjIsCi0JMHhmNCwgMHg5NSwgMHhlOCwgMHgwMiwgMHgxMCwgMHhmOCwgMHgyYSwgMHhhNSwKLQkweGY5LCAweDgwLCAweDE0LCAweDYzLCAweGZiLCAweDgwLCAweDE2LCAweDY2LAotCTB4ZjQsIDB4OTUsIDB4ZTgsIDB4MWMsIDB4ZmIsIDB4ODAsIDB4MTYsIDB4ODcsCi0JMHhmNCwgMHg5NSwgMHhlOCwgMHgxYywgMHhlOCwgMHgwMSwgMHg0ZSwgMHgwMCwKLQkweGZiLCAweDgwLCAweDE3LCAweGQ2LCAweGY0LCAweDk1LCAweGU4LCAweDAwLAotCTB4ODAsIDB4ZjgsIDB4MmEsIDB4YTYsIDB4NzYsIDB4MDAsIDB4MmEsIDB4YjcsCi0JMHhmOSwgMHg4MCwgMHgxNiwgMHhhYSwgMHgxMCwgMHhmOCwgMHgyYSwgMHhhNiwKLQkweGY5LCAweDgwLCAweDE3LCAweDVjLCAweDEwLCAweGY4LCAweDJhLCAweGE2LAotCTB4ZjksIDB4ODAsIDB4MTcsIDB4NmYsIDB4ZWUsIDB4MDIsIDB4OGEsIDB4MTEsCi0JMHhmYywgMHgwMCwgMHhmNCwgMHg5NSwgMHg0YSwgMHgwOCwgMHg0YSwgMHgwOSwKLQkweDRhLCAweDBhLCAweDRhLCAweDA3LCAweDRhLCAweDFkLCAweDY4LCAweGY4LAotCTB4MDAsIDB4MDcsIDB4N2QsIDB4M2YsIDB4NjksIDB4ZjgsIDB4MDAsIDB4MDcsCi0JMHg0MCwgMHgwMCwgMHg2OCwgMHhmOCwgMHgwMCwgMHgxZCwgMHhmZiwgMHhmYywKLQkweDEwLCAweGY4LCAweDJhLCAweGE3LCAweGY4LCAweDQ0LCAweDBlLCAweDRiLAotCTB4NzYsIDB4ZjgsIDB4MmEsIDB4YTMsIDB4MDAsIDB4MDEsIDB4ZjAsIDB4NzMsCi0JMHgwZSwgMHg0ZSwgMHg3NiwgMHhmOCwgMHgyYSwgMHhhNCwgMHgwMCwgMHgwMSwKLQkweDhhLCAweDFkLCAweDhhLCAweDA3LCAweDhhLCAweDBhLCAweDhhLCAweDA5LAotCTB4OGEsIDB4MDgsIDB4ZjQsIDB4ZWIsIDB4NGEsIDB4MTEsIDB4NGEsIDB4MTYsCi0JMHg0YSwgMHgxNywgMHhlZSwgMHhmZSwgMHg4OCwgMHgwZSwgMHg3MSwgMHgwOCwKLQkweDAwLCAweDE2LCAweDcxLCAweDA2LCAweDAwLCAweDE3LCAweDExLCAweDA3LAotCTB4ZjAsIDB4NjYsIDB4MDAsIDB4MGQsIDB4ZjAsIDB4MDAsIDB4MjUsIDB4YTAsCi0JMHg4OCwgMHgxMSwgMHg3NiwgMHgwMSwgMHgwMCwgMHgwNiwgMHg4MSwgMHgwMCwKLQkweGYyLCAweDc0LCAweDA2LCAweGNlLCAweGYwLCAweDAwLCAweDAwLCAweDAxLAotCTB4NzYsIDB4MDEsIDB4MDAsIDB4MDYsIDB4NzAsIDB4MDAsIDB4MDAsIDB4MTYsCi0JMHg0OCwgMHgxMSwgMHhmMiwgMHg3NCwgMHgwNiwgMHhjZSwgMHhmMCwgMHgwMCwKLQkweDAwLCAweDA3LCAweDcwLCAweDgxLCAweDAwLCAweDE3LCAweGVlLCAweDAyLAotCTB4OGEsIDB4MTcsIDB4OGEsIDB4MTYsIDB4OGEsIDB4MTEsIDB4ZmMsIDB4MDAsCi0JMHg0YSwgMHgxMSwgMHg4OCwgMHgwZSwgMHg3MSwgMHgwMiwgMHgwMCwgMHgxMiwKLQkweDExLCAweDAzLCAweGYwLCAweDY2LCAweDAwLCAweDBkLCAweGYwLCAweDAwLAotCTB4MjQsIDB4MDAsIDB4ODgsIDB4MTEsIDB4ZjQsIDB4OTUsIDB4NzAsIDB4ODEsCi0JMHgwMCwgMHgxMiwgMHg2ZSwgMHhlMiwgMHhmZiwgMHhmZSwgMHgwZSwgMHg4ZCwKLQkweGY0LCAweDk1LCAweGU4LCAweDAwLCAweGU4LCAweDAxLCAweDgwLCAweGUxLAotCTB4MDAsIDB4MDIsIDB4NzYsIDB4ZTEsIDB4MDAsIDB4MDMsIDB4MDAsIDB4ZmYsCi0JMHg3NiwgMHhlMSwgMHgwMCwgMHgwNCwgMHgwMCwgMHgwMCwgMHg3NiwgMHhlMSwKLQkweDAwLCAweDBiLCAweDAwLCAweDAwLCAweDc2LCAweGUxLCAweDAwLCAweDBjLAotCTB4MDAsIDB4MDAsIDB4ODEsIDB4ZTEsIDB4MDAsIDB4MDEsIDB4OGEsIDB4MTEsCi0JMHhmYywgMHgwMCwgMHg0YSwgMHgxMSwgMHhlZSwgMHhmYywgMHg4OCwgMHgwZSwKLQkweGY0LCAweDk1LCAweGYxLCAweDY2LCAweDAwLCAweDBkLCAweGYzLCAweDAwLAotCTB4MjQsIDB4MDAsIDB4ODksIDB4MTEsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsCi0JMHg3NiwgMHhlMSwgMHgwMCwgMHgwYywgMHgwMCwgMHgwMCwgMHg3NiwgMHhlMSwKLQkweDAwLCAweDBiLCAweDAwLCAweDAwLCAweDc2LCAweGUxLCAweDAwLCAweDAyLAotCTB4MDAsIDB4MDEsIDB4NzYsIDB4MDAsIDB4MDAsIDB4MDAsIDB4NzYsIDB4MDEsCi0JMHgwMCwgMHgwMCwgMHg4MCwgMHgwMiwgMHg3NiwgMHgwMywgMHgwMCwgMHgwMCwKLQkweGYyLCAweDc0LCAweDBjLCAweGI5LCAweGY0LCAweDk1LCAweGU4LCAweDAwLAotCTB4ZWUsIDB4MDQsIDB4OGEsIDB4MTEsIDB4ZmMsIDB4MDAsIDB4NGEsIDB4MTEsCi0JMHg4OCwgMHgxOSwgMHhmNCwgMHg5NSwgMHg3MywgMHgxOSwgMHgwMCwgMHgwZSwKLQkweGYxLCAweDY2LCAweDAwLCAweDBkLCAweGYyLCAweDAwLCAweDI0LCAweDAwLAotCTB4NzcsIDB4MTUsIDB4MjUsIDB4YTAsIDB4NzcsIDB4MTQsIDB4MDAsIDB4MDAsCi0JMHg3NywgMHgxYSwgMHgwMCwgMHgxZiwgMHhmMCwgMHg3MiwgMHgwZiwgMHgxNCwKLQkweGY2LCAweGI4LCAweDQ5LCAweDE5LCAweDA5LCAweDg1LCAweGY4LCAweDRjLAotCTB4MGYsIDB4MTMsIDB4ZjEsIDB4MDAsIDB4MDAsIDB4MDUsIDB4ODksIDB4MTEsCi0JMHg0OSwgMHgxNSwgMHhmMywgMHgwMCwgMHgwMCwgMHgwMSwgMHg4OSwgMHgxMywKLQkweDQ5LCAweDE1LCAweGYzLCAweDAwLCAweDAwLCAweDA3LCAweDg5LCAweDEyLAotCTB4MTEsIDB4OTMsIDB4MWQsIDB4OTEsIDB4MTksIDB4OTIsIDB4ODksIDB4MTAsCi0JMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHg2YywgMHg4MCwgMHgwZiwgMHgxMywKLQkweDExLCAweDkzLCAweDFkLCAweDkxLCAweDE5LCAweDkyLCAweDg5LCAweDEwLAotCTB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4NmMsIDB4ODAsIDB4MGYsIDB4MTMsCi0JMHgxMSwgMHg5MywgMHgxZCwgMHg5MSwgMHgxOSwgMHg5MiwgMHg4OSwgMHgxMCwKLQkweGY0LCAweDk1LCAweGY0LCAweDk1LCAweDZjLCAweDgwLCAweDBmLCAweDEzLAotCTB4MTEsIDB4OTMsIDB4MWQsIDB4OTEsIDB4MTksIDB4OTIsIDB4ODksIDB4MTAsCi0JMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHg2YywgMHg4MCwgMHgwZiwgMHgxMywKLQkweDExLCAweDkzLCAweDFkLCAweDkxLCAweDE5LCAweDkyLCAweDg5LCAweDEwLAotCTB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4NmMsIDB4ODAsIDB4MGYsIDB4MTMsCi0JMHgxMSwgMHg5MywgMHgxZCwgMHg5MSwgMHgxOSwgMHg5MiwgMHg4OSwgMHgxMSwKLQkweGY0LCAweDk1LCAweGY0LCAweDk1LCAweDZjLCAweDgxLCAweDBmLCAweDEzLAotCTB4NmQsIDB4OTQsIDB4NmQsIDB4ZWQsIDB4MDAsIDB4MGQsIDB4NDgsIDB4MTQsCi0JMHg4YSwgMHgxMSwgMHhmYywgMHgwMCwgMHg0YSwgMHgxMSwgMHg0YSwgMHgxNiwKLQkweDRhLCAweDE3LCAweGVlLCAweGY4LCAweDg4LCAweDE3LCAweDEwLCAweDBkLAotCTB4ODAsIDB4MDQsIDB4MTAsIDB4MGMsIDB4ODAsIDB4MDUsIDB4NzEsIDB4MGUsCi0JMHgwMCwgMHgxNiwgMHg3MywgMHgxNywgMHgwMCwgMHgwZSwgMHhmMCwgMHg2NiwKLQkweDAwLCAweDBkLCAweGYwLCAweDAwLCAweDI0LCAweDAwLCAweDg4LCAweDExLAotCTB4MTAsIDB4ZjgsIDB4MjcsIDB4NjMsIDB4ZjgsIDB4NDUsIDB4MGYsIDB4MzIsCi0JMHhmMiwgMHg3NCwgMHgwZSwgMHg5ZiwgMHhmNCwgMHg5NSwgMHg0OCwgMHgxNywKLQkweDEwLCAweGY4LCAweDI3LCAweDYwLCAweGY4LCAweDQ0LCAweDBmLCAweDNkLAotCTB4NjAsIDB4ZTEsIDB4MDAsIDB4MDIsIDB4MDAsIDB4MDEsIDB4ZjgsIDB4MjAsCi0JMHgwZiwgMHg2ZCwgMHhmMCwgMHg3MywgMHgxMSwgMHgzMywgMHgxMCwgMHgwNCwKLQkweDgwLCAweDAwLCAweDEwLCAweDA1LCAweGYwLCAweDc0LCAweDA2LCAweDlmLAotCTB4MTEsIDB4MDQsIDB4ZjMsIDB4MDAsIDB4MDAsIDB4MDEsIDB4ODEsIDB4MDQsCi0JMHg2ZCwgMHg4ZSwgMHg3NywgMHgxMCwgMHgwMCwgMHgwMSwgMHg3MSwgMHhlMSwKLQkweDAwLCAweDAyLCAweDAwLCAweDEyLCAweGY0LCAweGFhLCAweGY4LCAweDMwLAotCTB4MGYsIDB4NjIsIDB4NzcsIDB4MTAsIDB4MDAsIDB4MDIsIDB4ZjQsIDB4YWEsCi0JMHhmOCwgMHgzMCwgMHgwZiwgMHg2ZCwgMHg0NSwgMHhlMSwgMHgwMCwgMHgwYiwKLQkweDg4LCAweDEwLCAweDQzLCAweGUxLCAweDAwLCAweDBjLCAweDgzLCAweGY4LAotCTB4MDAsIDB4MTIsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4YWEsCi0JMHhmOCwgMHgzMCwgMHgwZiwgMHg2ZCwgMHhmMCwgMHg3MywgMHgwZiwgMHg5NiwKLQkweGY1LCAweDAwLCAweDgxLCAweDA0LCAweDQ5LCAweDE2LCAweGY1LCAweDIwLAotCTB4ODksIDB4MTYsIDB4NzYsIDB4ZTEsIDB4MDAsIDB4MGMsIDB4MDAsIDB4MDAsCi0JMHg3NiwgMHhlMSwgMHgwMCwgMHgwNCwgMHgwMCwgMHgwMCwgMHg0OCwgMHgxNiwKLQkweGY4LCAweDQ1LCAweDExLCAweDMzLCAweGY3LCAweGI4LCAweDcxLCAweGUxLAotCTB4MDAsIDB4MDIsIDB4MDAsIDB4MTIsIDB4MTAsIDB4ZjgsIDB4MDAsIDB4MTIsCi0JMHhmMCwgMHgxMCwgMHgwMCwgMHgwMywgMHhmOCwgMHg0NiwgMHgwZiwgMHg4YywKLQkweDEwLCAweGY4LCAweDAwLCAweDEyLCAweGYwLCAweDEwLCAweDAwLCAweDAzLAotCTB4ZjgsIDB4NDUsIDB4MTAsIDB4MTYsIDB4NzcsIDB4MTAsIDB4MDAsIDB4MDEsCi0JMHhmNCwgMHhhYSwgMHhmOCwgMHgzMCwgMHgwZiwgMHg5YywgMHg3NywgMHgxMCwKLQkweDAwLCAweDAyLCAweGY0LCAweGFhLCAweGY4LCAweDMwLCAweDBmLCAweGE4LAotCTB4ZjAsIDB4NzMsIDB4MGYsIDB4OTYsIDB4NzcsIDB4MTAsIDB4MDAsIDB4MDQsCi0JMHhmNCwgMHhhYSwgMHhmOCwgMHgzMCwgMHgxMCwgMHhiNywgMHg3NywgMHgxMCwKLQkweDAwLCAweDA1LCAweGY0LCAweGFhLCAweGY4LCAweDMwLCAweDEwLCAweGJjLAotCTB4ZjIsIDB4NzQsIDB4MGUsIDB4OWYsIDB4ZjQsIDB4OTUsIDB4NDgsIDB4MTcsCi0JMHhmMCwgMHg3MywgMHgxMSwgMHgzMSwgMHg3NiwgMHhlMSwgMHgwMCwgMHgwYywKLQkweDAwLCAweDAwLCAweDc2LCAweGUxLCAweDAwLCAweDBiLCAweDAwLCAweDAwLAotCTB4NzYsIDB4ZTEsIDB4MDAsIDB4MDQsIDB4MDAsIDB4MDAsIDB4NzYsIDB4ZTEsCi0JMHgwMCwgMHgwMiwgMHgwMCwgMHgwMiwgMHgxMSwgMHhlMSwgMHgwMCwgMHgwYywKLQkweGU4LCAweDAzLCAweGY2LCAweDIwLCAweDg5LCAweDEyLCAweGY0LCAweDk1LAotCTB4NzcsIDB4MTAsIDB4MDAsIDB4MDMsIDB4ZjUsIDB4YWEsIDB4ZjgsIDB4MzAsCi0JMHgwZiwgMHhiNiwgMHg2YiwgMHhmOCwgMHgyNywgMHg2ZiwgMHgwMCwgMHgwMSwKLQkweDg4LCAweDEwLCAweGY0LCAweDk1LCAweGY0LCAweDk1LCAweGY1LCAweGFlLAotCTB4ZjgsIDB4MjAsIDB4MGYsIDB4YmQsIDB4NDgsIDB4MTYsIDB4ODAsIDB4MDYsCi0JMHg4OCwgMHgxMywgMHhmNCwgMHg5NSwgMHg3NywgMHgxMCwgMHgwMCwgMHgwMywKLQkweGY2LCAweGFiLCAweGY4LCAweDIwLCAweDBmLCAweGM4LCAweDZiLCAweGY4LAotCTB4MjcsIDB4NmYsIDB4MDAsIDB4MDEsIDB4MTIsIDB4MDYsIDB4ZjgsIDB4NDUsCi0JMHgxMCwgMHgwMCwgMHgxMCwgMHhlMSwgMHgwMCwgMHgwNCwgMHg4MCwgMHgwMCwKLQkweDEwLCAweDA1LCAweDgwLCAweDAxLCAweDEwLCAweDA0LCAweDgwLCAweDAyLAotCTB4MTAsIDB4MDYsIDB4ODAsIDB4MDMsIDB4NDgsIDB4MTEsIDB4ZjIsIDB4NzQsCi0JMHgwNywgMHgxZSwgMHhmMCwgMHgwMCwgMHgwMCwgMHgwNSwgMHgxMCwgMHgwNiwKLQkweDAwLCAweGUxLCAweDAwLCAweDA0LCAweDgwLCAweGUxLCAweDAwLCAweDA0LAotCTB4MTAsIDB4MDYsIDB4MDAsIDB4ZTEsIDB4MDAsIDB4MGMsIDB4ODAsIDB4ZTEsCi0JMHgwMCwgMHgwYywgMHg4OCwgMHgxMiwgMHgxMSwgMHgwNiwgMHgxMCwgMHgwNCwKLQkweGY2LCAweDAwLCAweDgwLCAweDA0LCAweDQ4LCAweDE2LCAweGY2LCAweDIwLAotCTB4ODgsIDB4MTYsIDB4ODksIDB4MTMsIDB4ZjQsIDB4OTUsIDB4NzcsIDB4MTAsCi0JMHgwMCwgMHgwMywgMHhmNiwgMHhhYiwgMHhmOCwgMHgyMCwgMHgwZiwgMHhmNSwKLQkweDZiLCAweGY4LCAweDI3LCAweDZmLCAweDAwLCAweDAxLCAweDc3LCAweDEwLAotCTB4MDAsIDB4MGMsIDB4NzEsIDB4ZTEsIDB4MDAsIDB4MDQsIDB4MDAsIDB4MTMsCi0JMHhmNiwgMHhhYiwgMHhmOCwgMHgyMCwgMHgxMCwgMHgwMCwgMHg2YiwgMHhmOCwKLQkweDI3LCAweDZmLCAweDAwLCAweDAxLCAweDZjLCAweGUyLCAweGZmLCAweGZkLAotCTB4MTEsIDB4MzEsIDB4ZjYsIDB4YjgsIDB4NmYsIDB4ZTEsIDB4MDAsIDB4MDUsCi0JMHgwYywgMHg0OCwgMHg2ZiwgMHhlMSwgMHgwMCwgMHgwNiwgMHgwYywgMHgxOCwKLQkweGYwLCAweDMwLCAweDBmLCAweGZmLCAweGYwLCAweDAwLCAweDAwLCAweDAzLAotCTB4ODAsIDB4ZTEsIDB4MDAsIDB4MGIsIDB4NzYsIDB4ZTEsIDB4MDAsIDB4MDIsCi0JMHgwMCwgMHgwMywgMHg0OCwgMHgxNiwgMHhmOCwgMHg0NSwgMHgxMSwgMHgzMywKLQkweDcxLCAweGUxLCAweDAwLCAweDBjLCAweDAwLCAweDEyLCAweDEwLCAweGUxLAotCTB4MDAsIDB4MGIsIDB4NDksIDB4MTIsIDB4ZjYsIDB4MjAsIDB4ODgsIDB4MTMsCi0JMHhlOCwgMHgwYywgMHhmNiwgMHgyMCwgMHg4OCwgMHgxMCwgMHhmNCwgMHg5NSwKLQkweGY0LCAweDk1LCAweGY1LCAweGFiLCAweGY4LCAweDIwLCAweDEwLCAweDI3LAotCTB4NDgsIDB4MTMsIDB4ODAsIDB4MDYsIDB4ODgsIDB4MTAsIDB4ZjQsIDB4OTUsCi0JMHhmNCwgMHg5NSwgMHhmNSwgMHhhZSwgMHhmOCwgMHgyMCwgMHgxMCwgMHgzMCwKLQkweDcwLCAweDA2LCAweDAwLCAweDE2LCAweDEyLCAweDA2LCAweGY4LCAweDQ1LAotCTB4MTAsIDB4NWYsIDB4MTAsIDB4ZTEsIDB4MDAsIDB4MDQsIDB4ODAsIDB4MDAsCi0JMHgxMCwgMHgwNSwgMHg4MCwgMHgwMSwgMHgxMCwgMHgwNCwgMHg4MCwgMHgwMiwKLQkweDEwLCAweDA2LCAweDgwLCAweDAzLCAweDQ4LCAweDExLCAweGYyLCAweDc0LAotCTB4MDcsIDB4MWUsIDB4ZjAsIDB4MDAsIDB4MDAsIDB4MDUsIDB4MTAsIDB4MDYsCi0JMHgwMCwgMHhlMSwgMHgwMCwgMHgwNCwgMHg4MCwgMHhlMSwgMHgwMCwgMHgwNCwKLQkweDEwLCAweDA2LCAweDAwLCAweGUxLCAweDAwLCAweDBjLCAweDgwLCAweGUxLAotCTB4MDAsIDB4MGMsIDB4ODgsIDB4MTIsIDB4MTEsIDB4MDYsIDB4MTAsIDB4MDQsCi0JMHhmNiwgMHgwMCwgMHg4MCwgMHgwNCwgMHg0OCwgMHgxNiwgMHhmNiwgMHgyMCwKLQkweDg4LCAweDE2LCAweGY0LCAweDk1LCAweDc3LCAweDEwLCAweDAwLCAweDBjLAotCTB4NzEsIDB4ZTEsIDB4MDAsIDB4MDQsIDB4MDAsIDB4MTMsIDB4ZjYsIDB4YWIsCi0JMHhmOCwgMHgyMCwgMHgxMCwgMHg1ZiwgMHg2YiwgMHhmOCwgMHgyNywgMHg2ZiwKLQkweDAwLCAweDAxLCAweDc3LCAweDEwLCAweDAwLCAweDBjLCAweGY2LCAweGFhLAotCTB4ZjgsIDB4MjAsIDB4MTAsIDB4NmIsIDB4ZjIsIDB4NzQsIDB4MGUsIDB4OWYsCi0JMHhmNCwgMHg5NSwgMHg0OCwgMHgxNywgMHg3MSwgMHhlMSwgMHgwMCwgMHgwYywKLQkweDAwLCAweDEyLCAweDc3LCAweDEwLCAweDAwLCAweDBjLCAweGY0LCAweGFhLAotCTB4ZjgsIDB4MzAsIDB4MTAsIDB4N2MsIDB4NzcsIDB4MTAsIDB4MDAsIDB4MGMsCi0JMHg3MSwgMHhlMSwgMHgwMCwgMHgwYiwgMHgwMCwgMHgxMywgMHhmNiwgMHhhYiwKLQkweGY4LCAweDMwLCAweDEwLCAweGI0LCAweGU3LCAweDMwLCAweGY3LCAweGFhLAotCTB4ZjgsIDB4MzAsIDB4MTAsIDB4YjQsIDB4ZjIsIDB4NzQsIDB4MGUsIDB4YzEsCi0JMHhmNCwgMHg5NSwgMHg0OCwgMHgxNywgMHg4OCwgMHgxMiwgMHhmNCwgMHg5NSwKLQkweGY0LCAweDk1LCAweDZjLCAweDgyLCAweDEwLCAweDhkLCAweDc2LCAweGUxLAotCTB4MDAsIDB4MDQsIDB4MDAsIDB4MDAsIDB4NzYsIDB4ZTEsIDB4MDAsIDB4MDIsCi0JMHgwMCwgMHgwNSwgMHhmMCwgMHg3MywgMHgxMCwgMHhiNCwgMHg3NiwgMHhlMSwKLQkweDAwLCAweDAyLCAweDAwLCAweDA0LCAweDc3LCAweDEwLCAweDAwLCAweDBjLAotCTB4NzEsIDB4ZTEsIDB4MDAsIDB4MGIsIDB4MDAsIDB4MTIsIDB4ZjUsIDB4YWEsCi0JMHhmOCwgMHgyMCwgMHgxMCwgMHg5YSwgMHhmMCwgMHg3MywgMHgxMCwgMHg5YywKLQkweDc3LCAweDEyLCAweDAwLCAweDBjLCAweDc2LCAweDAwLCAweDAwLCAweDAwLAotCTB4NzAsIDB4MDEsIDB4MDAsIDB4MTIsIDB4NzAsIDB4MDIsIDB4MDAsIDB4MTcsCi0JMHg3NiwgMHgwMywgMHgwMCwgMHgwMSwgMHg0OCwgMHgxMSwgMHhmMiwgMHg3NCwKLQkweDBjLCAweGI5LCAweGYwLCAweDAwLCAweDAwLCAweDA1LCAweDc2LCAweGUxLAotCTB4MDAsIDB4MDQsIDB4MDAsIDB4MDAsIDB4NzcsIDB4MTAsIDB4MDAsIDB4MGMsCi0JMHg3MSwgMHhlMSwgMHgwMCwgMHgwYiwgMHgwMCwgMHgxMiwgMHhmNiwgMHhhYSwKLQkweGY4LCAweDIwLCAweDExLCAweDFjLCAweDQ4LCAweDE2LCAweGY4LCAweDQ1LAotCTB4MTEsIDB4MzMsIDB4NjAsIDB4ZTEsIDB4MDAsIDB4MDIsIDB4MDAsIDB4MDUsCi0JMHhmOCwgMHgyMCwgMHgxMCwgMHhkZiwgMHgxMCwgMHhlMSwgMHgwMCwgMHgwYiwKLQkweDA4LCAweGUxLCAweDAwLCAweDBjLCAweDExLCAweGUxLCAweDAwLCAweDA0LAotCTB4ZjgsIDB4NGQsIDB4MTAsIDB4YzcsIDB4NmIsIDB4ZjgsIDB4MjcsIDB4NmYsCi0JMHgwMCwgMHgwMSwgMHg4OCwgMHgxMCwgMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwKLQkweGY1LCAweGFlLCAweGY4LCAweDIwLCAweDEwLCAweGNmLCAweDQ4LCAweDE2LAotCTB4ZjQsIDB4OTUsIDB4NDgsIDB4MDgsIDB4ZjgsIDB4NDUsIDB4MTEsIDB4MTYsCi0JMHg2ZiwgMHhlMSwgMHgwMCwgMHgwYywgMHgwZCwgMHgwMCwgMHg4MSwgMHhlMSwKLQkweDAwLCAweDBjLCAweDExLCAweDA0LCAweGY1LCAweDAwLCAweDgxLCAweDA0LAotCTB4NDksIDB4MTYsIDB4ZjUsIDB4MjAsIDB4ODksIDB4MTYsIDB4ZjAsIDB4NzMsCi0JMHgxMSwgMHgwZSwgMHgxMCwgMHhlMSwgMHgwMCwgMHgwYiwgMHg3MSwgMHhlMSwKLQkweDAwLCAweDBjLCAweDAwLCAweDEyLCAweDg4LCAweDEwLCAweGY0LCAweDk1LAotCTB4ZjQsIDB4OTUsIDB4ZjYsIDB4YWEsIDB4ZjgsIDB4MzAsIDB4MTEsIDB4MTYsCi0JMHg0OSwgMHgxMiwgMHhmNiwgMHgyMCwgMHg4OCwgMHgxMCwgMHhmNCwgMHg5NSwKLQkweGY0LCAweDk1LCAweGY1LCAweGFlLCAweGY4LCAweDIwLCAweDEwLCAweGYzLAotCTB4NDgsIDB4MTYsIDB4ODAsIDB4MDYsIDB4NDgsIDB4MDgsIDB4ZjgsIDB4NDUsCi0JMHgxMSwgMHgxNiwgMHgxMCwgMHgwNCwgMHg3MCwgMHgwMiwgMHgwMCwgMHgxNywKLQkweDgwLCAweDAwLCAweDc2LCAweDAzLCAweDAwLCAweDAwLCAweDEwLCAweDA2LAotCTB4ODAsIDB4MDEsIDB4MTAsIDB4MDUsIDB4ZjAsIDB4NzQsIDB4MGMsIDB4YjksCi0JMHgxMCwgMHgwNiwgMHgwMCwgMHhlMSwgMHgwMCwgMHgwYywgMHg4MCwgMHhlMSwKLQkweDAwLCAweDBjLCAweDExLCAweDA2LCAweDEwLCAweDA0LCAweGY2LCAweDAwLAotCTB4ODAsIDB4MDQsIDB4NDgsIDB4MTYsIDB4ZjYsIDB4MjAsIDB4ODgsIDB4MTYsCi0JMHgxMCwgMHhlMSwgMHgwMCwgMHgwYywgMHgwOCwgMHhlMSwgMHgwMCwgMHgwYiwKLQkweGY4LCAweDQ1LCAweDExLCAweDFjLCAweGYwLCAweDczLCAweDExLCAweDMxLAotCTB4ZjIsIDB4NzQsIDB4MGUsIDB4OWYsIDB4ZjQsIDB4OTUsIDB4NDgsIDB4MTcsCi0JMHhmMCwgMHg3MywgMHgxMSwgMHgzMywgMHg3NiwgMHhlMSwgMHgwMCwgMHgwYywKLQkweDAwLCAweDAwLCAweDc2LCAweGUxLCAweDAwLCAweDBiLCAweDAwLCAweDAwLAotCTB4NzYsIDB4ZTEsIDB4MDAsIDB4MDIsIDB4MDAsIDB4MDEsIDB4MTAsIDB4MDQsCi0JMHg4MCwgMHgwMCwgMHgxMCwgMHgwNSwgMHhmMCwgMHg3NCwgMHgwNiwgMHg5ZiwKLQkweDg4LCAweDEyLCAweGY0LCAweDk1LCAweDc3LCAweDEwLCAweDAwLCAweGZmLAotCTB4ZjQsIDB4YWEsIDB4ZjgsIDB4MzAsIDB4MTEsIDB4MzMsIDB4NmMsIDB4ODYsCi0JMHgwZiwgMHg3MCwgMHhlZSwgMHgwOCwgMHg4YSwgMHgxNywgMHg4YSwgMHgxNiwKLQkweDhhLCAweDExLCAweGZjLCAweDAwLCAweDRhLCAweDExLCAweGVlLCAweGZjLAotCTB4ZjQsIDB4OTUsIDB4NzEsIDB4MDYsIDB4MDAsIDB4MTIsIDB4ODgsIDB4MTEsCi0JMHg3MywgMHgxMiwgMHgwMCwgMHgwZSwgMHhmMSwgMHg2NiwgMHgwMCwgMHgwZCwKLQkweGYzLCAweDAwLCAweDI0LCAweDAwLCAweDg5LCAweDE0LCAweDEzLCAweDgxLAotCTB4ZjcsIDB4N2EsIDB4ZjMsIDB4MzAsIDB4MDAsIDB4MDEsIDB4ODEsIDB4ZjgsCi0JMHgyNywgMHg2MCwgMHgxMywgMHhlMSwgMHgwMCwgMHgwMSwgMHhmNywgMHg3YywKLQkweGYzLCAweDMwLCAweDAwLCAweDAzLCAweDgxLCAweGY4LCAweDI3LCAweDYxLAotCTB4ZTksIDB4MGYsIDB4MTksIDB4ZTEsIDB4MDAsIDB4MDEsIDB4ODEsIDB4ZjgsCi0JMHgyNywgMHg2MiwgMHg3MSwgMHhlNCwgMHgwMCwgMHgwMywgMHgwMCwgMHgxMywKLQkweGY2LCAweGI4LCAweDQ5LCAweDEzLCAweGYzLCAweDAwLCAweDAwLCAweDAxLAotCTB4ZjMsIDB4MzAsIDB4MDAsIDB4MGYsIDB4NDksIDB4MGIsIDB4MDksIDB4ZjgsCi0JMHgyNywgMHg2MiwgMHhmOCwgMHg0ZCwgMHgxMSwgMHg3NSwgMHg3NywgMHgxMCwKLQkweDAwLCAweGZmLCAweGY0LCAweGFiLCAweGY4LCAweDMwLCAweDExLCAweDc1LAotCTB4NTcsIDB4ZjgsIDB4MjcsIDB4NmMsIDB4ZjMsIDB4MDAsIDB4MDAsIDB4MDEsCi0JMHg0ZiwgMHhmOCwgMHgyNywgMHg2YywgMHg3NiwgMHhmOCwgMHgyNywgMHg2MywKLQkweDAwLCAweDAxLCAweGYwLCAweDczLCAweDExLCAweDc4LCAweDc2LCAweGY4LAotCTB4MjcsIDB4NjMsIDB4MDAsIDB4MDAsIDB4NzAsIDB4ZTQsIDB4MDAsIDB4MDMsCi0JMHgyNywgMHg2MiwgMHg3NiwgMHhmOCwgMHgyNywgMHg2NCwgMHgwMCwgMHgwMCwKLQkweDExLCAweGY4LCAweDI3LCAweDYxLCAweDYxLCAweGY4LCAweDAwLCAweDBiLAotCTB4MDAsIDB4MDIsIDB4ZjgsIDB4MjAsIDB4MTEsIDB4OGQsIDB4ZTksIDB4MDEsCi0JMHg2ZiwgMHhlMSwgMHgwMCwgMHgwMiwgMHgwZiwgMHgxOCwgMHg4MSwgMHhmOCwKLQkweDI3LCAweDY0LCAweDExLCAweGY4LCAweDI3LCAweDYxLCAweDYxLCAweGY4LAotCTB4MDAsIDB4MGIsIDB4MDAsIDB4MDEsIDB4ZjgsIDB4MjAsIDB4MTEsIDB4YTksCi0JMHgxMCwgMHhmOCwgMHgyNywgMHg2NCwgMHhmMSwgMHgwMCwgMHgwMCwgMHgwNCwKLQkweDg5LCAweDEzLCAweGU5LCAweGI4LCAweGY1LCAweDIwLCAweDgxLCAweGY4LAotCTB4MjcsIDB4NjUsIDB4NjAsIDB4ODQsIDB4MDAsIDB4MDIsIDB4ZjgsIDB4MjAsCi0JMHgxMSwgMHhhOSwgMHg3MCwgMHgwMCwgMHgwMCwgMHgxMSwgMHg3MCwgMHgwMSwKLQkweDAwLCAweDEzLCAweDcwLCAweDAyLCAweDI3LCAweDY1LCAweGYyLCAweDc0LAotCTB4MGYsIDB4MTgsIDB4ZjQsIDB4OTUsIDB4NDgsIDB4MTIsIDB4ZWUsIDB4MDQsCi0JMHg4YSwgMHgxMSwgMHhmYywgMHgwMCwgMHg0YSwgMHgxMSwgMHg0YSwgMHgxNiwKLQkweDRhLCAweDE3LCAweGVlLCAweGZjLCAweGU4LCAweDAwLCAweDRlLCAweGY4LAotCTB4MjcsIDB4NjYsIDB4ZTgsIDB4MDAsIDB4NGUsIDB4ZjgsIDB4MjcsIDB4NjgsCi0JMHhlOCwgMHgwMCwgMHg0ZSwgMHhmOCwgMHgyNywgMHg2YywgMHhlOCwgMHgwMCwKLQkweDRlLCAweGY4LCAweDI3LCAweDZhLCAweDc3LCAweDEyLCAweDI3LCAweDQwLAotCTB4NzcsIDB4MTEsIDB4MjQsIDB4MDAsIDB4NzcsIDB4MWEsIDB4MDAsIDB4MWYsCi0JMHhmMCwgMHg3MiwgMHgxMSwgMHhkYiwgMHg3MCwgMHg5MiwgMHgwMCwgMHgxMSwKLQkweDc2LCAweGUxLCAweDAwLCAweDAxLCAweGZmLCAweGZmLCAweDc2LCAweDgxLAotCTB4MDAsIDB4MDAsIDB4NzYsIDB4ZTEsIDB4MDAsIDB4MDIsIDB4MDAsIDB4MDAsCi0JMHg3NiwgMHhlMSwgMHgwMCwgMHgwMywgMHgwMCwgMHhmZiwgMHg3NiwgMHhlMSwKLQkweDAwLCAweDBjLCAweDAwLCAweDAwLCAweDc2LCAweGUxLCAweDAwLCAweDBiLAotCTB4MDAsIDB4MDAsIDB4NzYsIDB4ZTEsIDB4MDAsIDB4MDQsIDB4MDAsIDB4MDAsCi0JMHg2ZCwgMHhlOSwgMHgwMCwgMHgwZCwgMHhmMCwgMHgyMCwgMHgyNSwgMHhhMCwKLQkweGYxLCAweDAwLCAweDAwLCAweDA3LCAweDg5LCAweDExLCAweGYxLCAweDAwLAotCTB4MDAsIDB4MDEsIDB4ODEsIDB4MDIsIDB4ODgsIDB4MTYsIDB4ZjQsIDB4OTUsCi0JMHg3NywgMHgxNywgMHgwMCwgMHgyMCwgMHg3NiwgMHg4NiwgMHgwMCwgMHhmZiwKLQkweDc2LCAweDAwLCAweDAwLCAweDAwLCAweDc2LCAweDAxLCAweDAwLCAweDA2LAotCTB4MTAsIDB4MDIsIDB4ZjAsIDB4NzQsIDB4MDYsIDB4NmMsIDB4NzYsIDB4MDAsCi0JMHgwMCwgMHgwMCwgMHg3NiwgMHgwMSwgMHgwMCwgMHgwNiwgMHhmMiwgMHg3NCwKLQkweDA2LCAweDZjLCAweGY0LCAweDk1LCAweDQ4LCAweDExLCAweDEwLCAweDAyLAotCTB4ZjAsIDB4MDAsIDB4MDAsIDB4MGQsIDB4ODAsIDB4MDIsIDB4NmQsIDB4ZTksCi0JMHgwMCwgMHgwZCwgMHg2ZCwgMHhlZSwgMHgwMCwgMHgwZCwgMHg2YywgMHhlZiwKLQkweGZmLCAweGZmLCAweDExLCAweGU4LCAweGYwLCAweDc0LCAweDBjLCAweDlkLAotCTB4ZWUsIDB4MDQsIDB4OGEsIDB4MTcsIDB4OGEsIDB4MTYsIDB4OGEsIDB4MTEsCi0JMHhmYywgMHgwMCwgMHg0YSwgMHgxMSwgMHg0YSwgMHgxNiwgMHg0YSwgMHgxNywKLQkweGVlLCAweGZhLCAweDg4LCAweDExLCAweDEwLCAweDBhLCAweDQ5LCAweDExLAotCTB4ZjgsIDB4NGQsIDB4MTIsIDB4OWYsIDB4NDgsIDB4MDgsIDB4ZjgsIDB4NDUsCi0JMHgxMiwgMHg5ZiwgMHg4MCwgMHgwNCwgMHgxMiwgMHg4MSwgMHhmNSwgMHg3OCwKLQkweDg5LCAweDEyLCAweGY0LCAweDk1LCAweGY0LCAweDk1LCAweDZjLCAweGUyLAotCTB4ZmYsIDB4YjksIDB4MTIsIDB4OGEsIDB4NjEsIDB4ZjgsIDB4MDAsIDB4MDgsCi0JMHgwMCwgMHg4MCwgMHhmOCwgMHgzMCwgMHgxMiwgMHg4YSwgMHgxMywgMHhlMSwKLQkweDAwLCAweDAxLCAweGYwLCAweGU4LCAweGY3LCAweDc4LCAweGYxLCAweGEwLAotCTB4ZjIsIDB4MzAsIDB4MWYsIDB4ZmYsIDB4ODgsIDB4MTcsIDB4ZjQsIDB4OTUsCi0JMHg3NywgMHgxMiwgMHgyNCwgMHgwMCwgMHg3NywgMHgxNiwgMHgwMCwgMHgwMCwKLQkweDc3LCAweDEzLCAweDAwLCAweDIwLCAweGY2LCAweGI4LCAweDQ4LCAweDE3LAotCTB4MDgsIDB4ZTIsIDB4MDAsIDB4MDEsIDB4ZjgsIDB4NDUsIDB4MTIsIDB4NDIsCi0JMHg2ZCwgMHhlYSwgMHgwMCwgMHgwZCwgMHg2ZCwgMHg5NiwgMHg2YywgMHhlYiwKLQkweGZmLCAweGZmLCAweDEyLCAweDM0LCAweGYwLCAweDczLCAweDEyLCAweDkwLAotCTB4NTYsIDB4ZjgsIDB4MjcsIDB4NmEsIDB4ZjAsIDB4MDAsIDB4MDAsIDB4MDEsCi0JMHg0ZSwgMHhmOCwgMHgyNywgMHg2YSwgMHg2MCwgMHg4MiwgMHgwMCwgMHgwMSwKLQkweGY4LCAweDMwLCAweDEyLCAweDU0LCAweDcwLCAweDAwLCAweDAwLCAweDE2LAotCTB4ZjIsIDB4NzQsIDB4MTEsIDB4MzgsIDB4ZjQsIDB4OTUsIDB4NDgsIDB4MTEsCi0JMHhmMCwgMHg3MywgMHgxMiwgMHg5MCwgMHg3MCwgMHgwMCwgMHgwMCwgMHgxNiwKLQkweGYyLCAweDc0LCAweDExLCAweDM4LCAweGY0LCAweDk1LCAweDQ4LCAweDExLAotCTB4NzIsIDB4MTAsIDB4MmEsIDB4OWUsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4YWYsCi0JMHhmOCwgMHgzMCwgMHgxMiwgMHg2ZSwgMHg3NiwgMHgwMCwgMHgwMCwgMHgwMCwKLQkweDc2LCAweDAxLCAweDAwLCAweGJjLCAweDcwLCAweDAyLCAweDAwLCAweDE2LAotCTB4NzYsIDB4MDMsIDB4MDAsIDB4MDAsIDB4ZjIsIDB4NzQsIDB4MGMsIDB4YjksCi0JMHhmNCwgMHg5NSwgMHg0OCwgMHgxMSwgMHhmMCwgMHg3MywgMHgxMiwgMHg5MCwKLQkweDEwLCAweGY4LCAweDI3LCAweDZlLCAweGY4LCAweDQ0LCAweDEyLCAweDkwLAotCTB4NzYsIDB4MDAsIDB4MDAsIDB4MDAsIDB4NzYsIDB4MDEsIDB4MDAsIDB4YmMsCi0JMHg3MCwgMHgwMiwgMHgwMCwgMHgxNiwgMHg3NiwgMHgwMywgMHgwMCwgMHgwMCwKLQkweGYyLCAweDc0LCAweDBjLCAweGI5LCAweGY0LCAweDk1LCAweDQ4LCAweDExLAotCTB4ZjAsIDB4NzQsIDB4MGMsIDB4NWUsIDB4ZjAsIDB4ZTAsIDB4ZjAsIDB4MTAsCi0JMHgxMywgMHg4OCwgMHhmOCwgMHg0MiwgMHgxMiwgMHg5MCwgMHg3NiwgMHhmOCwKLQkweDI3LCAweDZlLCAweDAwLCAweDAxLCAweGYwLCAweDczLCAweDEyLCAweDkwLAotCTB4NTYsIDB4ZjgsIDB4MjcsIDB4NjYsIDB4ZjAsIDB4MDAsIDB4MDAsIDB4MDEsCi0JMHg0ZSwgMHhmOCwgMHgyNywgMHg2NiwgMHg2ZCwgMHhlOSwgMHgwMCwgMHg1ZSwKLQkweDU2LCAweGY4LCAweDI3LCAweDY4LCAweGYwLCAweDAwLCAweDAwLCAweDAxLAotCTB4NGUsIDB4ZjgsIDB4MjcsIDB4NjgsIDB4NzEsIDB4MDQsIDB4MDAsIDB4MTIsCi0JMHg2ZSwgMHhlYSwgMHhmZiwgMHhmZiwgMHgxMiwgMHgxOCwgMHg3MCwgMHgwNCwKLQkweDAwLCAweDEyLCAweGVlLCAweDA2LCAweDhhLCAweDE3LCAweDhhLCAweDE2LAotCTB4OGEsIDB4MTEsIDB4ZmMsIDB4MDAsIDB4NGEsIDB4MTEsIDB4ZWUsIDB4ZmUsCi0JMHg4OCwgMHgwZSwgMHhmNCwgMHg5NSwgMHhmMCwgMHg2NiwgMHgwMCwgMHgwZCwKLQkweGYwLCAweDAwLCAweDI1LCAweGEwLCAweDg4LCAweDExLCAweGY0LCAweDk1LAotCTB4ZjQsIDB4OTUsIDB4NzYsIDB4ODEsIDB4MDAsIDB4ZmYsIDB4NzYsIDB4MDAsCi0JMHgwMCwgMHgwMCwgMHg3NiwgMHgwMSwgMHgwMCwgMHgwNiwgMHhmMiwgMHg3NCwKLQkweDA2LCAweDZjLCAweGYwLCAweDAwLCAweDAwLCAweDAxLCAweDc2LCAweDAwLAotCTB4MDAsIDB4MDAsIDB4NzYsIDB4MDEsIDB4MDAsIDB4MDYsIDB4NDgsIDB4MTEsCi0JMHhmMiwgMHg3NCwgMHgwNiwgMHg2YywgMHhmMCwgMHgwMCwgMHgwMCwgMHgwNywKLQkweGVlLCAweDAyLCAweDhhLCAweDExLCAweGZjLCAweDAwLCAweDRhLCAweDExLAotCTB4ODgsIDB4MGUsIDB4ZjQsIDB4OTUsIDB4ZjAsIDB4NjYsIDB4MDAsIDB4MGQsCi0JMHhmMCwgMHgwMCwgMHgyNCwgMHgwMCwgMHg4OCwgMHgxMSwgMHhmNCwgMHg5NSwKLQkweGY0LCAweDk1LCAweDc2LCAweGUxLCAweDAwLCAweDAxLCAweGZmLCAweGZmLAotCTB4NzYsIDB4ODEsIDB4MDAsIDB4MDAsIDB4NzYsIDB4ZTEsIDB4MDAsIDB4MDIsCi0JMHgwMCwgMHgwMCwgMHg3NiwgMHhlMSwgMHgwMCwgMHgwMywgMHgwMCwgMHhmZiwKLQkweDhhLCAweDExLCAweGZjLCAweDAwLCAweDRhLCAweDExLCAweGY0LCAweDk1LAotCTB4MTMsIDB4MDMsIDB4ODgsIDB4MTEsIDB4ZmEsIDB4NGQsIDB4MTIsIDB4ZWMsCi0JMHg3MSwgMHgwMiwgMHgwMCwgMHgxMiwgMHhmMywgMHgxMCwgMHgwMCwgMHgwMSwKLQkweDg5LCAweDFhLCAweGY0LCAweDk1LCAweGYwLCAweDcyLCAweDEyLCAweGViLAotCTB4NzAsIDB4OTEsIDB4MDAsIDB4MTIsIDB4OGEsIDB4MTEsIDB4ZmMsIDB4MDAsCi0JMHhmNCwgMHg5NSwgMHg0YSwgMHgwYiwgMHg0YSwgMHgwYywgMHg0YSwgMHgwZCwKLQkweGY3LCAweGI4LCAweGVlLCAweGZlLCAweDEwLCAweGY4LCAweDAwLCAweDA4LAotCTB4MTEsIDB4MDYsIDB4ZjEsIDB4YzAsIDB4ODMsIDB4MDAsIDB4ZjQsIDB4ODUsCi0JMHgxMSwgMHgwNiwgMHhmNywgMHg4NSwgMHg4MSwgMHgwNiwgMHhmNiwgMHhiOCwKLQkweGVjLCAweDBmLCAweDFlLCAweDA2LCAweDYxLCAweDAwLCAweDgwLCAweDAwLAotCTB4ZjgsIDB4MjAsIDB4MTMsIDB4MDUsIDB4ZjQsIDB4ODQsIDB4ZWUsIDB4MDIsCi0JMHg4YSwgMHgwZCwgMHg4YSwgMHgwYywgMHg4YSwgMHgwYiwgMHhmYywgMHgwMCwKLQkweGY0LCAweDk1LCAweDRhLCAweDBiLCAweDRhLCAweDBjLCAweDRhLCAweDBkLAotCTB4ZWUsIDB4ZmUsIDB4ZjcsIDB4YjgsIDB4ODAsIDB4MDAsIDB4MTAsIDB4ZjgsCi0JMHgwMCwgMHgwOCwgMHhmNCwgMHg4NSwgMHgxMSwgMHgwNiwgMHhmNywgMHg4NSwKLQkweDgxLCAweDA2LCAweGY2LCAweGI4LCAweGVjLCAweDBmLCAweDFlLCAweDA2LAotCTB4ZjAsIDB4ZjAsIDB4NjEsIDB4MDAsIDB4ODAsIDB4MDAsIDB4ZjgsIDB4MjAsCi0JMHgxMywgMHgyMCwgMHhmNCwgMHg4NCwgMHhlZSwgMHgwMiwgMHg4YSwgMHgwZCwKLQkweDhhLCAweDBjLCAweDhhLCAweDBiLCAweGZjLCAweDAwLCAweDRhLCAweDExLAotCTB4NzcsIDB4MTEsIDB4MDAsIDB4N2IsIDB4NzYsIDB4ODEsIDB4MmUsIDB4ZWMsCi0JMHg3NywgMHgxMSwgMHgwMCwgMHg3YiwgMHhlZSwgMHhmZiwgMHg3MSwgMHg4MSwKLQkweDAwLCAweDExLCAweGVlLCAweDAxLCAweDc2LCAweGUxLCAweDAwLCAweDAxLAotCTB4MDAsIDB4MDAsIDB4NzYsIDB4ZTEsIDB4MDAsIDB4MDQsIDB4MDAsIDB4MDAsCi0JMHg3NiwgMHhlMSwgMHgwMCwgMHgwNiwgMHgwMCwgMHgwMCwgMHg3NiwgMHhlMSwKLQkweDAwLCAweDYyLCAweDAwLCAweDAwLCAweDc2LCAweGUxLCAweDAwLCAweDc2LAotCTB4MDAsIDB4MDAsIDB4NzYsIDB4ZTEsIDB4MDAsIDB4OTIsIDB4MDAsIDB4MDAsCi0JMHg3NiwgMHhlMSwgMHgwMCwgMHg5NCwgMHgwMCwgMHgwMCwgMHg3NiwgMHhlMSwKLQkweDAwLCAweGIwLCAweDAwLCAweDAwLCAweDc2LCAweGUxLCAweDAwLCAweGIzLAotCTB4MDAsIDB4MDAsIDB4NzYsIDB4ZTEsIDB4MDAsIDB4YmUsIDB4MDAsIDB4MDAsCi0JMHg3NiwgMHhlMSwgMHgwMCwgMHhiZiwgMHgwMCwgMHgwMCwgMHg3NiwgMHhlMSwKLQkweDAwLCAweGMxLCAweDAwLCAweDAwLCAweDc2LCAweGUxLCAweDAwLCAweGMzLAotCTB4MDAsIDB4MDAsIDB4NzYsIDB4ZTEsIDB4MDAsIDB4YzUsIDB4MDAsIDB4MDAsCi0JMHg3NiwgMHhlMSwgMHgwMCwgMHhjNywgMHgwMCwgMHgwMCwgMHg3NiwgMHg4MSwKLQkweDAwLCAweDAwLCAweDhhLCAweDExLCAweGY0LCAweDk1LCAweGY0LCAweGU0LAotCTB4NGEsIDB4MTEsIDB4NGEsIDB4MTYsIDB4NGEsIDB4MTcsIDB4ZWUsIDB4ZmYsCi0JMHhmNCwgMHg5NSwgMHg3MSwgMHgwNiwgMHgwMCwgMHgxNiwgMHhmYiwgMHg4MCwKLQkweDE2LCAweGEyLCAweDg4LCAweDE3LCAweGY0LCAweDk1LCAweGY3LCAweGI4LAotCTB4MTAsIDB4ZjgsIDB4MDAsIDB4MTcsIDB4ZjAsIDB4MTAsIDB4MDAsIDB4MDIsCi0JMHhmYSwgMHg0NiwgMHgxMywgMHg4OCwgMHg3NywgMHgxMSwgMHgwMCwgMHgwMCwKLQkweDEwLCAweGY4LCAweDAwLCAweDE3LCAweGYwLCAweDEwLCAweDAwLCAweDAyLAotCTB4ZjgsIDB4NDUsIDB4MTMsIDB4ZjksIDB4MTAsIDB4ZjgsIDB4MDAsIDB4MTcsCi0JMHhmOCwgMHg0NSwgMHgxNCwgMHgzOSwgMHgxMCwgMHhmOCwgMHgwMCwgMHgxNywKLQkweGYwLCAweDEwLCAweDAwLCAweDAxLCAweGY4LCAweDQ1LCAweDE0LCAweDFmLAotCTB4ZjAsIDB4NzMsIDB4MTQsIDB4NTIsIDB4MTAsIDB4ZjgsIDB4MDAsIDB4MTcsCi0JMHhmMCwgMHgxMCwgMHgwMCwgMHgwMywgMHhmOCwgMHg0NSwgMHgxMywgMHhkMywKLQkweDEwLCAweGY4LCAweDAwLCAweDE3LCAweGYwLCAweDEwLCAweDAwLCAweDA2LAotCTB4ZjgsIDB4NDQsIDB4MTQsIDB4NTIsIDB4NzcsIDB4MTIsIDB4MDAsIDB4N2IsCi0JMHg3MSwgMHg4MiwgMHgwMCwgMHgxNCwgMHg2MSwgMHhlNCwgMHgwMCwgMHgwNywKLQkweDAwLCAweDQwLCAweGY4LCAweDMwLCAweDE0LCAweDUyLCAweDQ5LCAweDE0LAotCTB4NDgsIDB4MTcsIDB4ZjYsIDB4MDAsIDB4ODgsIDB4MTIsIDB4ZjQsIDB4OTUsCi0JMHg3NywgMHgxMywgMHgwMCwgMHg1NSwgMHg3NywgMHgxMSwgMHgwMCwgMHg1NywKLQkweDZkLCAweGVhLCAweDAwLCAweDNiLCAweGU1LCAweDAxLCAweDEwLCAweGU2LAotCTB4MDAsIDB4MDYsIDB4ODAsIDB4ODEsIDB4NDgsIDB4MTQsIDB4MDAsIDB4ZjgsCi0JMHgwMCwgMHgxNywgMHg4OCwgMHgxMiwgMHhmNCwgMHg5NSwgMHg3NywgMHgxMSwKLQkweDAwLCAweDU1LCAweDEwLCAweGUyLCAweDAwLCAweDQwLCAweDgwLCAweDgxLAotCTB4NzcsIDB4MTEsIDB4MDAsIDB4NTcsIDB4MTAsIDB4ZTYsIDB4MDAsIDB4MDcsCi0JMHg4MCwgMHg4MSwgMHg3NywgMHgxMSwgMHgwMCwgMHg1NSwgMHgxMCwgMHhlMiwKLQkweDAwLCAweDQ1LCAweDgwLCAweDgxLCAweDEwLCAweGU2LCAweDAwLCAweDA4LAotCTB4NzcsIDB4MTEsIDB4MDAsIDB4NTcsIDB4ODAsIDB4ODEsIDB4NzcsIDB4MTEsCi0JMHgwMCwgMHg1NSwgMHgxMCwgMHhlMiwgMHgwMCwgMHg0YSwgMHg4MCwgMHg4MSwKLQkweDc3LCAweDExLCAweDAwLCAweDU3LCAweDEwLCAweGU2LCAweDAwLCAweDA5LAotCTB4ODAsIDB4ODEsIDB4ZjIsIDB4NzMsIDB4MTQsIDB4NTIsIDB4NzcsIDB4MTEsCi0JMHgwMywgMHhjMCwgMHg3NywgMHgxMiwgMHgwMCwgMHg3YiwgMHgxMCwgMHg4MiwKLQkweGYwLCAweDAwLCAweDAwLCAweDA3LCAweDg4LCAweDEzLCAweGY0LCAweDk1LAotCTB4ZjQsIDB4OTUsIDB4OTYsIDB4MWIsIDB4ZjgsIDB4MzAsIDB4MTQsIDB4NTIsCi0JMHgxMCwgMHhlMywgMHgwMCwgMHgzNSwgMHg3NywgMHgxMiwgMHgwMCwgMHg1NSwKLQkweDgwLCAweDgyLCAweDc3LCAweDEyLCAweDAwLCAweDU3LCAweDEwLCAweGU2LAotCTB4MDAsIDB4MDQsIDB4ODAsIDB4ODIsIDB4NzcsIDB4MTIsIDB4MDAsIDB4NTUsCi0JMHgxMCwgMHhlMywgMHgwMCwgMHgzNywgMHg4MCwgMHg4MiwgMHg3NywgMHgxMiwKLQkweDAwLCAweDU3LCAweDEwLCAweGU2LCAweDAwLCAweDA1LCAweDgwLCAweDgyLAotCTB4NDgsIDB4MTEsIDB4ZjAsIDB4NDAsIDB4MDAsIDB4MTAsIDB4ZjIsIDB4NzMsCi0JMHgxNCwgMHg1MCwgMHhmMCwgMHg0MCwgMHgwMCwgMHgyMCwgMHg3NywgMHgxMiwKLQkweDAwLCAweDdiLCAweDEwLCAweDgyLCAweGYwLCAweDAwLCAweDAwLCAweDA3LAotCTB4ODgsIDB4MTIsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4OTYsIDB4MGQsCi0JMHhmOCwgMHgzMCwgMHgxNCwgMHg1MiwgMHgxMCwgMHhlMiwgMHgwMCwgMHgzNCwKLQkweDc3LCAweDEzLCAweDAwLCAweDU1LCAweDgwLCAweDgzLCAweDc3LCAweDEzLAotCTB4MDAsIDB4NTcsIDB4MTAsIDB4ZTYsIDB4MDAsIDB4MDIsIDB4ODAsIDB4ODMsCi0JMHgxMCwgMHhlMiwgMHgwMCwgMHgzNiwgMHg3NywgMHgxMiwgMHgwMCwgMHg1NSwKLQkweDgwLCAweDgyLCAweDc3LCAweDEyLCAweDAwLCAweDU3LCAweDEwLCAweGU2LAotCTB4MDAsIDB4MDMsIDB4ODAsIDB4ODIsIDB4NDgsIDB4MTEsIDB4ZjAsIDB4NDAsCi0JMHgwMCwgMHgwNCwgMHhmMiwgMHg3MywgMHgxNCwgMHg1MCwgMHhmMCwgMHg0MCwKLQkweDAwLCAweDA4LCAweDc3LCAweDEyLCAweDAwLCAweDdiLCAweDEwLCAweDgyLAotCTB4ZjAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4ODgsIDB4MTIsIDB4ZjQsIDB4OTUsCi0JMHhmNCwgMHg5NSwgMHg5NiwgMHgwZSwgMHhmOCwgMHgzMCwgMHgxNCwgMHg1MiwKLQkweDEwLCAweGUyLCAweDAwLCAweDMzLCAweDc3LCAweDEyLCAweDAwLCAweDU1LAotCTB4ODAsIDB4ODIsIDB4NzcsIDB4MTIsIDB4MDAsIDB4NTcsIDB4MTAsIDB4ZTYsCi0JMHgwMCwgMHgwMSwgMHg4MCwgMHg4MiwgMHg0OCwgMHgxMSwgMHhmMiwgMHg3MywKLQkweDE0LCAweDUwLCAweGYwLCAweDQwLCAweDAwLCAweDAyLCAweDc3LCAweDEyLAotCTB4MDAsIDB4N2IsIDB4MTAsIDB4ODIsIDB4ZjAsIDB4MDAsIDB4MDAsIDB4MDcsCi0JMHg4OCwgMHgxMiwgMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHg5NiwgMHgwZiwKLQkweGY4LCAweDMwLCAweDE0LCAweDUyLCAweDEwLCAweGUyLCAweDAwLCAweDMyLAotCTB4NzcsIDB4MTIsIDB4MDAsIDB4NTUsIDB4NzcsIDB4MTMsIDB4MDAsIDB4NTcsCi0JMHg4MCwgMHg4MiwgMHg0OCwgMHgxMSwgMHhlNywgMHg2MiwgMHhmMCwgMHg0MCwKLQkweDAwLCAweDAxLCAweGU1LCAweDAxLCAweDg4LCAweDExLCAweGY0LCAweDk1LAotCTB4NzcsIDB4MTIsIDB4MDAsIDB4N2IsIDB4NDgsIDB4MTEsIDB4NzEsIDB4ODIsCi0JMHgwMCwgMHgxMiwgMHgxYSwgMHhlMiwgMHgwMCwgMHgwNywgMHg4MCwgMHhlMiwKLQkweDAwLCAweDA3LCAweGY5LCAweDgwLCAweDE2LCAweDlhLCAweGVlLCAweDAxLAotCTB4OGEsIDB4MTcsIDB4NDgsIDB4MTEsIDB4OGEsIDB4MTYsIDB4OGEsIDB4MTEsCi0JMHhmNCwgMHhlNCwgMHg0YSwgMHgxMSwgMHg4OCwgMHgxMSwgMHg3NywgMHgwZSwKLQkweDAwLCAweDA1LCAweDc3LCAweDEyLCAweDAwLCAweDU1LCAweGU4LCAweDA0LAotCTB4ZjYsIDB4YjgsIDB4MjgsIDB4ZTEsIDB4MDAsIDB4MDIsIDB4ZWUsIDB4ZmYsCi0JMHg4MCwgMHg4MiwgMHg3NywgMHgxMiwgMHgwMCwgMHg1NywgMHhmMCwgMHgyMCwKLQkweDgwLCAweDAwLCAweGVlLCAweDAxLCAweDFhLCAweDgyLCAweDc3LCAweDEyLAotCTB4MDAsIDB4NTcsIDB4ODAsIDB4ODIsIDB4ZTgsIDB4MDEsIDB4MzIsIDB4ZTEsCi0JMHgwMCwgMHgwMiwgMHhmNSwgMHg4MiwgMHg3NywgMHgxMSwgMHgwMCwgMHg1NCwKLQkweGY2LCAweDkzLCAweDE4LCAweDgxLCAweDc3LCAweDExLCAweDAwLCAweDU0LAotCTB4ZjIsIDB4YTAsIDB4ODAsIDB4ODEsIDB4OGEsIDB4MTEsIDB4ZjQsIDB4OTUsCi0JMHhmNCwgMHhlNCwgMHg0YSwgMHgxMSwgMHg0YSwgMHgxNiwgMHhmNCwgMHg5NSwKLQkweDcxLCAweDA0LCAweDAwLCAweDExLCAweGZiLCAweDgwLCAweDE2LCAweGEyLAotCTB4ODgsIDB4MTYsIDB4ZjQsIDB4OTUsIDB4NzcsIDB4MTIsIDB4MDAsIDB4NTUsCi0JMHgxMCwgMHhlNiwgMHgwMCwgMHgwMywgMHg4MCwgMHg4MiwgMHg3NywgMHgxMiwKLQkweDAwLCAweDU2LCAweDEwLCAweGUxLCAweDAwLCAweDAyLCAweDc3LCAweDEzLAotCTB4MDAsIDB4NTYsIDB4ODAsIDB4ODIsIDB4NzcsIDB4MTIsIDB4MDAsIDB4NTYsCi0JMHgxMCwgMHhlMSwgMHgwMCwgMHgwMywgMHg4MCwgMHg4MiwgMHgxMCwgMHhlMSwKLQkweDAwLCAweDA0LCAweDc3LCAweDEyLCAweDAwLCAweDU2LCAweDgwLCAweDgyLAotCTB4NzcsIDB4MTIsIDB4MDAsIDB4NTYsIDB4MTAsIDB4ZTEsIDB4MDAsIDB4MDEsCi0JMHg4MCwgMHg4MiwgMHhlNywgMHgxMiwgMHhlNSwgMHgwMSwgMHhmOSwgMHg4MCwKLQkweDE2LCAweDlhLCAweDhhLCAweDE2LCAweDhhLCAweDExLCAweGY0LCAweGU0LAotCTB4NGEsIDB4MTEsIDB4NGEsIDB4MTYsIDB4NGEsIDB4MTcsIDB4ZWUsIDB4ZjksCi0JMHg3NywgMHgxMSwgMHgwMCwgMHg3YiwgMHg3NiwgMHgwMCwgMHgwMCwgMHgxNiwKLQkweDc2LCAweDAxLCAweDAwLCAweDE3LCAweDc2LCAweDAyLCAweDAwLCAweDFhLAotCTB4NzYsIDB4MDMsIDB4MDAsIDB4MWIsIDB4NzYsIDB4MDQsIDB4MDAsIDB4MWMsCi0JMHg3NiwgMHgwNSwgMHgwMCwgMHgxZCwgMHg3MSwgMHg4MSwgMHgwMCwgMHgxNywKLQkweDcxLCAweGU3LCAweDAwLCAweDA2LCAweDAwLCAweDExLCAweDEwLCAweDgxLAotCTB4ZjgsIDB4NDQsIDB4MTQsIDB4ZGYsIDB4ZjksIDB4ODAsIDB4MTYsIDB4NTMsCi0JMHhmNiwgMHhiOCwgMHhmYiwgMHg4MCwgMHgxNSwgMHg4NSwgMHhmMCwgMHgyMCwKLQkweGZmLCAweGZmLCAweGY2LCAweGI4LCAweGZiLCAweDgwLCAweDE2LCAweDA4LAotCTB4ZjAsIDB4MjAsIDB4ZmYsIDB4ZmYsIDB4NzcsIDB4MTEsIDB4MDAsIDB4N2IsCi0JMHg3MSwgMHg4MSwgMHgwMCwgMHgxNywgMHg3NiwgMHhlNywgMHgwMCwgMHgwNiwKLQkweDAwLCAweDAxLCAweDQ4LCAweDE3LCAweDc3LCAweDE2LCAweDAwLCAweDAwLAotCTB4NzcsIDB4MTAsIDB4MDAsIDB4MDQsIDB4NzcsIDB4MTUsIDB4MDAsIDB4MDMsCi0JMHg3NywgMHgxNCwgMHgwMCwgMHgwMiwgMHg3NywgMHgxMywgMHgwMCwgMHgwMSwKLQkweGYwLCAweDAwLCAweDAwLCAweDM5LCAweDc2LCAweGU3LCAweDAwLCAweDA4LAotCTB4MDAsIDB4MWYsIDB4NzYsIDB4ZTcsIDB4MDAsIDB4MDcsIDB4MDAsIDB4MDAsCi0JMHg4OCwgMHgwZSwgMHg3NywgMHgxYSwgMHgwMCwgMHgwNSwgMHg0OCwgMHgxNywKLQkweGYwLCAweDAwLCAweDAwLCAweDA5LCAweDg4LCAweDEyLCAweDQ4LCAweDE4LAotCTB4ODgsIDB4MTksIDB4ZTgsIDB4MDAsIDB4ZjAsIDB4NzIsIDB4MTUsIDB4MmMsCi0JMHg3MywgMHgxOSwgMHgwMCwgMHgxMSwgMHg3NiwgMHg4MiwgMHgwMCwgMHgwMCwKLQkweDExLCAweDkxLCAweDczLCAweDExLCAweDAwLCAweDE5LCAweDcwLCAweGUyLAotCTB4MDAsIDB4MDMsIDB4MDAsIDB4MTYsIDB4NzAsIDB4ZTIsIDB4MDAsIDB4MDQsCi0JMHgwMCwgMHgxMywgMHg3MCwgMHhlMiwgMHgwMCwgMHgwNSwgMHgwMCwgMHgxNCwKLQkweDgxLCAweGUyLCAweDAwLCAweDAxLCAweDcwLCAweGUyLCAweDAwLCAweDA2LAotCTB4MDAsIDB4MTUsIDB4NzAsIDB4ZTIsIDB4MDAsIDB4MDcsIDB4MDAsIDB4MTAsCi0JMHg4MCwgMHhlMiwgMHgwMCwgMHgwMiwgMHg3MywgMHgwZSwgMHgwMCwgMHgxMSwKLQkweGYxLCAweDAwLCAweDAwLCAweDFlLCAweDZkLCAweGVlLCAweDAwLCAweDA1LAotCTB4NmQsIDB4ZWIsIDB4MDAsIDB4MDUsIDB4NmQsIDB4ZWMsIDB4MDAsIDB4MDUsCi0JMHg2ZCwgMHhlZCwgMHgwMCwgMHgwNSwgMHg2ZCwgMHhlOCwgMHgwMCwgMHgwNSwKLQkweGYwLCAweDAwLCAweDAwLCAweDAxLCAweDgxLCAweDkxLCAweDZkLCAweGVhLAotCTB4MDAsIDB4MDgsIDB4NzMsIDB4MTEsIDB4MDAsIDB4MGUsIDB4ZWUsIDB4MDcsCi0JMHg3NiwgMHhlNywgMHgwMCwgMHg0MSwgMHgwMCwgMHgyNCwgMHg3NiwgMHhlNywKLQkweDAwLCAweDQ2LCAweDAwLCAweDI1LCAweDc2LCAweGU3LCAweDAwLCAweDRiLAotCTB4MDAsIDB4MjYsIDB4NzYsIDB4ZTcsIDB4MDAsIDB4NTAsIDB4MDAsIDB4MjcsCi0JMHg4YSwgMHgxNywgMHg4YSwgMHgxNiwgMHg4YSwgMHgxMSwgMHhmNCwgMHhlNCwKLQkweDRhLCAweDExLCAweDRhLCAweDE2LCAweGVlLCAweGZlLCAweDg4LCAweDExLAotCTB4NTYsIDB4MDYsIDB4NGUsIDB4MDAsIDB4ZjksIDB4ODAsIDB4MTYsIDB4YTIsCi0JMHhmNywgMHhiOCwgMHgxMCwgMHhmOCwgMHgwMCwgMHgxMSwgMHhmMCwgMHgxMCwKLQkweGZmLCAweGZmLCAweGZhLCAweDQ1LCAweDE1LCAweDYwLCAweDc3LCAweDE2LAotCTB4ZmYsIDB4ZmYsIDB4NzcsIDB4MTIsIDB4MDAsIDB4N2IsIDB4NDksIDB4MTEsCi0JMHgxMCwgMHg4MiwgMHhmNiwgMHgwMywgMHhmMCwgMHgwMCwgMHgwMCwgMHgwOSwKLQkweDg4LCAweDExLCAweGY0LCAweDk1LCAweGY0LCAweDk1LCAweDEwLCAweDgxLAotCTB4ZjgsIDB4NDQsIDB4MTUsIDB4NzEsIDB4ZjIsIDB4NzMsIDB4MTUsIDB4NzEsCi0JMHhmNCwgMHg5NSwgMHhlNywgMHgxNiwgMHg3NywgMHgxMSwgMHgwMCwgMHg3YiwKLQkweDEwLCAweDgxLCAweGYwLCAweDAwLCAweDAwLCAweDA5LCAweDg4LCAweDExLAotCTB4ZjQsIDB4OTUsIDB4NzcsIDB4MTIsIDB4MDAsIDB4MDYsIDB4MTAsIDB4ODEsCi0JMHhmOCwgMHg0NSwgMHgxNSwgMHg1YywgMHg2ZSwgMHhlYSwgMHhmZiwgMHhmZiwKLQkweDE1LCAweDY5LCAweDZkLCAweGU5LCAweDAwLCAweDA4LCAweDc2LCAweDg2LAotCTB4MDAsIDB4MDEsIDB4ZTksIDB4MDEsIDB4NTYsIDB4MDAsIDB4ZjEsIDB4ODAsCi0JMHgxMCwgMHhmOCwgMHgwMCwgMHgwYiwgMHhmOCwgMHg0NSwgMHgxNSwgMHg3ZSwKLQkweGZiLCAweDgwLCAweDE1LCAweDg1LCAweGY0LCAweDk1LCAweDQ4LCAweDE2LAotCTB4ZjksIDB4ODAsIDB4MTYsIDB4OWEsIDB4ZWUsIDB4MDIsIDB4NDgsIDB4MTYsCi0JMHg4YSwgMHgxNiwgMHg4YSwgMHgxMSwgMHhmNCwgMHhlNCwgMHg0YSwgMHgxMSwKLQkweGVlLCAweGZmLCAweGZiLCAweDgwLCAweDE2LCAweGEyLCAweDg4LCAweDExLAotCTB4ZjQsIDB4OTUsIDB4NzcsIDB4MTAsIDB4ZmYsIDB4ZmYsIDB4ZjQsIDB4YTksCi0JMHhmOCwgMHgzMCwgMHgxNSwgMHhjNCwgMHgxMCwgMHhlMSwgMHgwMCwgMHgwMywKLQkweDc3LCAweDEyLCAweDAwLCAweDU1LCAweDgwLCAweDgyLCAweDc3LCAweDEyLAotCTB4MDAsIDB4NTYsIDB4NzYsIDB4ODIsIDB4MDAsIDB4MDAsIDB4NzcsIDB4MTIsCi0JMHgwMCwgMHg1NiwgMHg3NiwgMHg4MiwgMHgwMCwgMHgwMCwgMHg3NywgMHgxMiwKLQkweDAwLCAweDU2LCAweDc2LCAweDgyLCAweDAwLCAweDAwLCAweDc3LCAweDEyLAotCTB4MDAsIDB4NTYsIDB4NzYsIDB4ODIsIDB4MDAsIDB4MDAsIDB4NzcsIDB4MTIsCi0JMHgwMCwgMHg1NiwgMHg3NiwgMHg4MiwgMHgwMCwgMHgwMCwgMHgxMCwgMHhlMSwKLQkweDAwLCAweDAyLCAweGYwLCAweDAwLCAweDAwLCAweDA4LCAweDMyLCAweGY4LAotCTB4MDAsIDB4MDgsIDB4NzcsIDB4MTIsIDB4MDAsIDB4NTQsIDB4ZTgsIDB4MDEsCi0JMHhmNCwgMHg4MiwgMHhmNCwgMHg5MywgMHgxOCwgMHg4MiwgMHg3NywgMHgxMiwKLQkweDAwLCAweDU0LCAweGYwLCAweDQwLCAweDAwLCAweDAwLCAweDgwLCAweDgyLAotCTB4MTAsIDB4ZTEsIDB4MDAsIDB4MDEsIDB4ZjksIDB4ODAsIDB4MTYsIDB4NzYsCi0JMHgxMCwgMHhlMSwgMHgwMCwgMHgwMSwgMHhmOSwgMHg4MCwgMHgxNiwgMHg2NiwKLQkweGYwLCAweDczLCAweDE2LCAweDAzLCAweDc3LCAweDExLCAweDAwLCAweDdiLAotCTB4NzEsIDB4ODEsIDB4MDAsIDB4MTEsIDB4NzEsIDB4ZTEsIDB4MDAsIDB4MDcsCi0JMHgwMCwgMHgxMiwgMHg3NiwgMHg4MiwgMHgwMCwgMHgwMCwgMHgxMCwgMHhlMSwKLQkweDAwLCAweDA5LCAweGY5LCAweDgwLCAweDE1LCAweDg1LCAweDc3LCAweDExLAotCTB4MDAsIDB4N2IsIDB4NzEsIDB4ODEsIDB4MDAsIDB4MTEsIDB4MTAsIDB4ZTEsCi0JMHgwMCwgMHgwOSwgMHhmYiwgMHg4MCwgMHgxNSwgMHg4NSwgMHhmMCwgMHgwMCwKLQkweDAwLCAweDA4LCAweDc3LCAweDExLCAweDAwLCAweDdiLCAweDcxLCAweDgxLAotCTB4MDAsIDB4MTEsIDB4MTAsIDB4ZTEsIDB4MDAsIDB4MDksIDB4ZmIsIDB4ODAsCi0JMHgxNSwgMHg4NSwgMHhmMCwgMHgwMCwgMHgwMCwgMHgxMCwgMHg3NywgMHgxMSwKLQkweDAwLCAweDdiLCAweDcxLCAweDgxLCAweDAwLCAweDExLCAweDEwLCAweGUxLAotCTB4MDAsIDB4MDksIDB4ZmIsIDB4ODAsIDB4MTUsIDB4ODUsIDB4ZjAsIDB4MDAsCi0JMHgwMCwgMHgxOCwgMHg3NywgMHgxMSwgMHgwMCwgMHg3YiwgMHg3MSwgMHg4MSwKLQkweDAwLCAweDExLCAweDEwLCAweGUxLCAweDAwLCAweDA5LCAweGZiLCAweDgwLAotCTB4MTUsIDB4ODUsIDB4ZjAsIDB4MDAsIDB4MDAsIDB4MjAsIDB4NzcsIDB4MTEsCi0JMHgwMCwgMHg3YiwgMHg3MSwgMHg4MSwgMHgwMCwgMHgxMSwgMHgxMCwgMHhlMSwKLQkweDAwLCAweDA5LCAweGZiLCAweDgwLCAweDE1LCAweDg1LCAweGYwLCAweDAwLAotCTB4MDAsIDB4MjgsIDB4ZjksIDB4ODAsIDB4MTYsIDB4OWEsIDB4ZWUsIDB4MDEsCi0JMHg4YSwgMHgxMSwgMHhmNCwgMHhlNCwgMHg0YSwgMHgxMSwgMHhlZSwgMHhmZiwKLQkweGZiLCAweDgwLCAweDE2LCAweGEyLCAweDg4LCAweDExLCAweGY0LCAweDk1LAotCTB4NzcsIDB4MTAsIDB4ZmYsIDB4ZmYsIDB4ZjQsIDB4YTksIDB4ZjgsIDB4MzAsCi0JMHgxNiwgMHg0MSwgMHg3NywgMHgxMSwgMHgwMCwgMHg1NSwgMHg3NiwgMHg4MSwKLQkweDAwLCAweDFlLCAweDc3LCAweDExLCAweDAwLCAweDU2LCAweDc2LCAweDgxLAotCTB4MDAsIDB4MDAsIDB4NzcsIDB4MTEsIDB4MDAsIDB4NTYsIDB4NzYsIDB4ODEsCi0JMHgwMCwgMHgwMCwgMHg3NywgMHgxMSwgMHgwMCwgMHg1NiwgMHg3NiwgMHg4MSwKLQkweDAwLCAweDAwLCAweDc3LCAweDExLCAweDAwLCAweDU2LCAweDc2LCAweDgxLAotCTB4MDAsIDB4MDAsIDB4NzcsIDB4MTEsIDB4MDAsIDB4NTYsIDB4NzYsIDB4ODEsCi0JMHgwMCwgMHgwMCwgMHg3NywgMHgxMSwgMHgwMCwgMHg1NiwgMHg3NiwgMHg4MSwKLQkweDAwLCAweDAwLCAweDc3LCAweDExLCAweDAwLCAweDU2LCAweDc2LCAweDgxLAotCTB4MDAsIDB4MDAsIDB4NzcsIDB4MTEsIDB4MDAsIDB4NTYsIDB4NzYsIDB4ODEsCi0JMHgwMCwgMHgwMCwgMHg3NywgMHgxMSwgMHgwMCwgMHg1NiwgMHg3NiwgMHg4MSwKLQkweDAwLCAweDAwLCAweDc3LCAweDExLCAweDAwLCAweDU2LCAweGYyLCAweDczLAotCTB4MTYsIDB4NGUsIDB4NzYsIDB4ODEsIDB4MDAsIDB4MDAsIDB4NzcsIDB4MTEsCi0JMHgwMCwgMHg3YiwgMHg3MSwgMHg4MSwgMHgwMCwgMHgxMSwgMHg3MSwgMHhlMSwKLQkweDAwLCAweDA3LCAweDAwLCAweDEyLCAweDc2LCAweDgyLCAweDAwLCAweDAwLAotCTB4MTAsIDB4ZTEsIDB4MDAsIDB4MzksIDB4ZjksIDB4ODAsIDB4MTYsIDB4MDgsCi0JMHhmOSwgMHg4MCwgMHgxNiwgMHg5YSwgMHhlZSwgMHgwMSwgMHg4YSwgMHgxMSwKLQkweGY0LCAweGU0LCAweDRhLCAweDExLCAweDc3LCAweDExLCAweDAwLCAweDdiLAotCTB4MTAsIDB4ODEsIDB4ZjAsIDB4MDAsIDB4MDAsIDB4MDQsIDB4ODgsIDB4MTEsCi0JMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHgxMCwgMHg4MSwgMHhmYSwgMHg0NCwKLQkweDE2LCAweDYzLCAweGY0LCAweDk1LCAweGVlLCAweGZmLCAweDc2LCAweDgxLAotCTB4MDAsIDB4MDEsIDB4ZWUsIDB4MDEsIDB4OGEsIDB4MTEsIDB4ZjQsIDB4ZTQsCi0JMHhmMCwgMHgxMCwgMHgwMCwgMHgxMCwgMHg0YSwgMHgxMSwgMHgzMiwgMHhmOCwKLQkweDAwLCAweDA4LCAweGVlLCAweGZmLCAweDc3LCAweDExLCAweDAwLCAweDAxLAotCTB4ZTgsIDB4MDEsIDB4ZWUsIDB4MDEsIDB4ZjQsIDB4ODIsIDB4MWEsIDB4ODEsCi0JMHg4MCwgMHg4MSwgMHg4YSwgMHgxMSwgMHhmNCwgMHg5NSwgMHhmNCwgMHhlNCwKLQkweGYwLCAweDEwLCAweDAwLCAweDEwLCAweDRhLCAweDExLCAweDMyLCAweGY4LAotCTB4MDAsIDB4MDgsIDB4ZWUsIDB4ZmYsIDB4ZTgsIDB4MDEsIDB4NzcsIDB4MTEsCi0JMHgwMCwgMHgwMCwgMHhmNCwgMHg4MiwgMHhlZSwgMHgwMSwgMHhmNCwgMHg5MywKLQkweDE4LCAweDgxLCAweDgwLCAweDgxLCAweDhhLCAweDExLCAweGY0LCAweDk1LAotCTB4ZjQsIDB4ZTQsIDB4NGEsIDB4MTEsIDB4ZjAsIDB4MTAsIDB4MDAsIDB4MTAsCi0JMHg3NywgMHgxMSwgMHgwMCwgMHgwMCwgMHgzMiwgMHhmOCwgMHgwMCwgMHgwOCwKLQkweGVlLCAweGZmLCAweDExLCAweDgxLCAweGU4LCAweDAxLCAweGVlLCAweDAxLAotCTB4NzcsIDB4MTEsIDB4MDAsIDB4MDAsIDB4ZjQsIDB4ODIsIDB4ZjIsIDB4YTAsCi0JMHg4MCwgMHg4MSwgMHg4YSwgMHgxMSwgMHhmNCwgMHg5NSwgMHhmNCwgMHhlNCwKLQkweGYyLCAweDczLCAweDE2LCAweDllLCAweGY2LCAweGJiLCAweGY0LCAweDk1LAotCTB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4ZTQsCi0JMHhmMiwgMHg3MywgMHgxNiwgMHhhNiwgMHhmNywgMHhiYiwgMHhmNCwgMHg5NSwKLQkweGY0LCAweDk1LCAweGY0LCAweDk1LCAweGY0LCAweDk1LCAweGY0LCAweGU0LAotCTB4NGEsIDB4MTEsIDB4NGEsIDB4MTYsIDB4ZjQsIDB4OTUsIDB4NzEsIDB4MDQsCi0JMHgwMCwgMHgxNiwgMHhmYiwgMHg4MCwgMHgxNiwgMHhhMiwgMHg4OCwgMHgxMSwKLQkweGY0LCAweDk1LCAweDcxLCAweGUxLCAweDAwLCAweDA1LCAweDAwLCAweDEyLAotCTB4NzYsIDB4ODIsIDB4MDAsIDB4MGUsIDB4MTAsIDB4ZTYsIDB4MDAsIDB4MGUsCi0JMHg3MSwgMHhlMSwgMHgwMCwgMHgwNiwgMHgwMCwgMHgxMiwgMHg4MCwgMHg4MiwKLQkweDcxLCAweGUxLCAweDAwLCAweDA1LCAweDAwLCAweDEyLCAweDc2LCAweDgyLAotCTB4MDAsIDB4MGQsIDB4NzEsIDB4ZTEsIDB4MDAsIDB4MDYsIDB4MDAsIDB4MTIsCi0JMHgxMCwgMHhlNiwgMHgwMCwgMHgwZCwgMHg4MCwgMHg4MiwgMHg3MSwgMHhlMSwKLQkweDAwLCAweDA1LCAweDAwLCAweDEyLCAweDc2LCAweDgyLCAweDAwLCAweDBjLAotCTB4MTAsIDB4ZTYsIDB4MDAsIDB4MGMsIDB4NzEsIDB4ZTEsIDB4MDAsIDB4MDYsCi0JMHgwMCwgMHgxMiwgMHg4MCwgMHg4MiwgMHg3MSwgMHhlMSwgMHgwMCwgMHgwNSwKLQkweDAwLCAweDEyLCAweDc2LCAweDgyLCAweDAwLCAweDBiLCAweDEwLCAweGU2LAotCTB4MDAsIDB4MGIsIDB4NzEsIDB4ZTEsIDB4MDAsIDB4MDYsIDB4MDAsIDB4MTIsCi0JMHg4MCwgMHg4MiwgMHg3MSwgMHhlMSwgMHgwMCwgMHgwNSwgMHgwMCwgMHgxMiwKLQkweDc2LCAweDgyLCAweDAwLCAweDBhLCAweDcxLCAweGUxLCAweDAwLCAweDA2LAotCTB4MDAsIDB4MTIsIDB4MTAsIDB4ZTYsIDB4MDAsIDB4MGEsIDB4ODAsIDB4ODIsCi0JMHg3MSwgMHhlMSwgMHgwMCwgMHgwNSwgMHgwMCwgMHgxMiwgMHg3NiwgMHg4MiwKLQkweDAwLCAweDA5LCAweDEwLCAweGU2LCAweDAwLCAweDA5LCAweDcxLCAweGUxLAotCTB4MDAsIDB4MDYsIDB4MDAsIDB4MTIsIDB4ODAsIDB4ODIsIDB4NzEsIDB4ZTEsCi0JMHgwMCwgMHgwNSwgMHgwMCwgMHgxMiwgMHg3NiwgMHg4MiwgMHgwMCwgMHgwOCwKLQkweDcxLCAweGUxLCAweDAwLCAweDA2LCAweDAwLCAweDEyLCAweDEwLCAweGU2LAotCTB4MDAsIDB4MDgsIDB4ODAsIDB4ODIsIDB4NzEsIDB4ZTEsIDB4MDAsIDB4MDUsCi0JMHgwMCwgMHgxMiwgMHg3NiwgMHg4MiwgMHgwMCwgMHgwNywgMHgxMCwgMHhlNiwKLQkweDAwLCAweDA3LCAweDcxLCAweGUxLCAweDAwLCAweDA2LCAweDAwLCAweDEyLAotCTB4ODAsIDB4ODIsIDB4NzEsIDB4ZTEsIDB4MDAsIDB4MDUsIDB4MDAsIDB4MTIsCi0JMHg3NiwgMHg4MiwgMHgwMCwgMHgwNiwgMHg3MSwgMHhlMSwgMHgwMCwgMHgwNiwKLQkweDAwLCAweDEyLCAweDEwLCAweGU2LCAweDAwLCAweDA2LCAweDgwLCAweDgyLAotCTB4NzEsIDB4ZTEsIDB4MDAsIDB4MDUsIDB4MDAsIDB4MTIsIDB4NzYsIDB4ODIsCi0JMHgwMCwgMHgwNSwgMHg3MSwgMHhlMSwgMHgwMCwgMHgwNiwgMHgwMCwgMHgxMiwKLQkweDEwLCAweGU2LCAweDAwLCAweDA1LCAweDgwLCAweDgyLCAweDcxLCAweGUxLAotCTB4MDAsIDB4MDUsIDB4MDAsIDB4MTIsIDB4NzYsIDB4ODIsIDB4MDAsIDB4MDQsCi0JMHg3MSwgMHhlMSwgMHgwMCwgMHgwNiwgMHgwMCwgMHgxMiwgMHgxMCwgMHhlNiwKLQkweDAwLCAweDA0LCAweDgwLCAweDgyLCAweDcxLCAweGUxLCAweDAwLCAweDA1LAotCTB4MDAsIDB4MTIsIDB4NzYsIDB4ODIsIDB4MDAsIDB4MDMsIDB4NzEsIDB4ZTEsCi0JMHgwMCwgMHgwNiwgMHgwMCwgMHgxMiwgMHgxMCwgMHhlNiwgMHgwMCwgMHgwMywKLQkweDgwLCAweDgyLCAweDcxLCAweGUxLCAweDAwLCAweDA1LCAweDAwLCAweDEyLAotCTB4NzYsIDB4ODIsIDB4MDAsIDB4MDIsIDB4MTAsIDB4ZTYsIDB4MDAsIDB4MDIsCi0JMHg3MSwgMHhlMSwgMHgwMCwgMHgwNiwgMHgwMCwgMHgxMiwgMHg4MCwgMHg4MiwKLQkweDcxLCAweGUxLCAweDAwLCAweDA1LCAweDAwLCAweDEyLCAweDc2LCAweDgyLAotCTB4MDAsIDB4MDEsIDB4MTAsIDB4ZTYsIDB4MDAsIDB4MDEsIDB4NzEsIDB4ZTEsCi0JMHgwMCwgMHgwNiwgMHgwMCwgMHgxMiwgMHg4MCwgMHg4MiwgMHg3MSwgMHhlMSwKLQkweDAwLCAweDA1LCAweDAwLCAweDEyLCAweDc2LCAweDgyLCAweDAwLCAweDAwLAotCTB4NzEsIDB4ZTEsIDB4MDAsIDB4MDYsIDB4MDAsIDB4MTMsIDB4ZTcsIDB4NjIsCi0JMHhlNSwgMHgwMSwgMHhmOSwgMHg4MCwgMHgxNiwgMHg5YSwgMHg4YSwgMHgxNiwKLQkweDhhLCAweDExLCAweGY0LCAweGU0LCAweDRhLCAweDExLCAweDg4LCAweDExLAotCTB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4NzEsIDB4ZTEsIDB4MDAsIDB4MDUsCi0JMHgwMCwgMHgxMiwgMHhlZSwgMHhmZiwgMHg3NiwgMHg4MiwgMHgwMCwgMHgwMCwKLQkweGVlLCAweDAxLCAweDcxLCAweGUxLCAweDAwLCAweDA2LCAweDAwLCAweDExLAotCTB4NjksIDB4ODEsIDB4MDAsIDB4MDEsIDB4OGEsIDB4MTEsIDB4ZjQsIDB4OTUsCi0JMHhmNCwgMHhlNCwgMHg0YSwgMHgxMSwgMHg4OCwgMHgxMSwgMHhmNCwgMHg5NSwKLQkweGY0LCAweDk1LCAweDcxLCAweGUxLCAweDAwLCAweDA1LCAweDAwLCAweDEyLAotCTB4ZWUsIDB4ZmYsIDB4NzYsIDB4ODIsIDB4MDAsIDB4MDEsIDB4ZWUsIDB4MDEsCi0JMHg3MSwgMHhlMSwgMHgwMCwgMHgwNiwgMHgwMCwgMHgxMSwgMHg2OSwgMHg4MSwKLQkweDAwLCAweDAxLCAweDhhLCAweDExLCAweGY0LCAweDk1LCAweGY0LCAweGU0LAotCTB4NGEsIDB4MTEsIDB4NzcsIDB4MTEsIDB4MDAsIDB4N2IsIDB4MTAsIDB4ODEsCi0JMHhmMCwgMHgwMCwgMHgwMCwgMHg5NCwgMHg4OCwgMHgxMSwgMHhmNCwgMHg5NSwKLQkweGY0LCAweDk1LCAweDEwLCAweDgxLCAweGZhLCAweDQ0LCAweDE3LCAweDljLAotCTB4ZjQsIDB4OTUsIDB4ZWUsIDB4ZmYsIDB4ZjksIDB4ODAsIDB4MTYsIDB4NTMsCi0JMHg3NywgMHgxMSwgMHgwMCwgMHg3YiwgMHgxMCwgMHg4MSwgMHhmMCwgMHgwMCwKLQkweDAwLCAweDk0LCAweDg4LCAweDExLCAweGY0LCAweDk1LCAweGY0LCAweDk1LAotCTB4NzYsIDB4ODEsIDB4MDAsIDB4MDEsIDB4ZWUsIDB4MDEsIDB4NzYsIDB4ZTEsCi0JMHgwMCwgMHgwMSwgMHgwMCwgMHgwMCwgMHg3NiwgMHhlMSwgMHgwMCwgMHgwMiwKLQkweDAwLCAweDIxLCAweDc2LCAweGUxLCAweDAwLCAweDAzLCAweDAwLCAweDIwLAotCTB4NzYsIDB4ZTEsIDB4MDAsIDB4MDQsIDB4MDAsIDB4MjMsIDB4NzYsIDB4ZTEsCi0JMHgwMCwgMHgwNSwgMHgwMCwgMHgyMiwgMHg3NiwgMHhlMSwgMHgwMCwgMHgwNiwKLQkweDAwLCAweDM4LCAweDc2LCAweGUxLCAweDAwLCAweDA3LCAweDAwLCAweDM5LAotCTB4NzYsIDB4ZTEsIDB4MDAsIDB4MDgsIDB4MDAsIDB4MTUsIDB4NzYsIDB4ZTEsCi0JMHgwMCwgMHgwOSwgMHgwMCwgMHgxNCwgMHg3NiwgMHhlMSwgMHgwMCwgMHgwYSwKLQkweDAwLCAweDAwLCAweDc2LCAweGUxLCAweDAwLCAweDBiLCAweDAwLCAweDQxLAotCTB4NzYsIDB4ZTEsIDB4MDAsIDB4MGMsIDB4MDAsIDB4NDAsIDB4NzYsIDB4ZTEsCi0JMHgwMCwgMHgwZCwgMHgwMCwgMHg0MywgMHg3NiwgMHhlMSwgMHgwMCwgMHgwZSwKLQkweDAwLCAweDQyLCAweDc2LCAweGUxLCAweDAwLCAweDBmLCAweDAwLCAweDQ4LAotCTB4NzYsIDB4ZTEsIDB4MDAsIDB4MTAsIDB4MDAsIDB4NDksIDB4NzYsIDB4ZTEsCi0JMHgwMCwgMHgxMSwgMHgwMCwgMHgxYiwgMHg3NiwgMHhlMSwgMHgwMCwgMHgxMiwKLQkweDAwLCAweDFhLCAweDhhLCAweDExLCAweGY0LCAweDk1LCAweGY0LCAweGU0LAotCTB4NGEsIDB4MTEsIDB4ZWUsIDB4ZmQsIDB4ODgsIDB4MTEsIDB4NTYsIDB4MDYsCi0JMHg0ZSwgMHgwMCwgMHhmOSwgMHg4MCwgMHgxNiwgMHhhMiwgMHg3NywgMHgxMiwKLQkweDAwLCAweDdiLCAweDc3LCAweDBlLCAweDAwLCAweDA5LCAweDEwLCAweDgyLAotCTB4MjgsIDB4ZjgsIDB4MDAsIDB4MTEsIDB4ZjAsIDB4MDAsIDB4MDAsIDB4OTUsCi0JMHg4OCwgMHgxMSwgMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHgxMCwgMHg4MSwKLQkweGY4LCAweDQ1LCAweDE3LCAweGYwLCAweGYyLCAweDczLCAweDE3LCAweGZkLAotCTB4NzcsIDB4MTEsIDB4ZmYsIDB4ZmYsIDB4NzYsIDB4ODEsIDB4MDAsIDB4MDEsCi0JMHhlOSwgMHgwMSwgMHg1NiwgMHgwMCwgMHhmMSwgMHg4MCwgMHgxMCwgMHhmOCwKLQkweDAwLCAweDBiLCAweGY4LCAweDQ1LCAweDE3LCAweGZkLCAweGZiLCAweDgwLAotCTB4MTgsIDB4MTAsIDB4ZjQsIDB4OTUsIDB4NDgsIDB4MTEsIDB4ZjksIDB4ODAsCi0JMHgxNiwgMHg5YSwgMHhlZSwgMHgwMywgMHg0OCwgMHgxMSwgMHg4YSwgMHgxMSwKLQkweGY0LCAweDk1LCAweGY0LCAweGU0LCAweDRhLCAweDExLCAweDg4LCAweDExLAotCTB4ZjQsIDB4OTUsIDB4ZWUsIDB4ZmYsIDB4NzEsIDB4ZTEsIDB4MDAsIDB4MDEsCi0JMHgwMCwgMHgxMSwgMHhlZSwgMHgwMSwgMHgxMCwgMHg4MSwgMHg4YSwgMHgxMSwKLQkweGY0LCAweDk1LCAweGY0LCAweGU0LCAweDRhLCAweDExLCAweGVlLCAweGZmLAotCTB4ZmIsIDB4ODAsIDB4MTYsIDB4YTIsIDB4ODgsIDB4MTEsIDB4ZjQsIDB4OTUsCi0JMHg3NywgMHgxMCwgMHhmZiwgMHhmZiwgMHhmNCwgMHhhOSwgMHhmOCwgMHgzMCwKLQkweDE4LCAweGMzLCAweDcxLCAweGUxLCAweDAwLCAweDA1LCAweDAwLCAweDEyLAotCTB4NzYsIDB4ODIsIDB4MDAsIDB4MDAsIDB4NzEsIDB4ZTEsIDB4MDAsIDB4MDYsCi0JMHgwMCwgMHgxMiwgMHg3NiwgMHg4MiwgMHgwMCwgMHgwMCwgMHg3MSwgMHhlMSwKLQkweDAwLCAweDA1LCAweDAwLCAweDEyLCAweDc2LCAweDgyLCAweDAwLCAweDAxLAotCTB4NzEsIDB4ZTEsIDB4MDAsIDB4MDYsIDB4MDAsIDB4MTIsIDB4NzYsIDB4ODIsCi0JMHgwMCwgMHgwMCwgMHg3MSwgMHhlMSwgMHgwMCwgMHgwNSwgMHgwMCwgMHgxMiwKLQkweDc2LCAweDgyLCAweDAwLCAweDAyLCAweDcxLCAweGUxLCAweDAwLCAweDA2LAotCTB4MDAsIDB4MTIsIDB4NzYsIDB4ODIsIDB4MDAsIDB4MDAsIDB4NzEsIDB4ZTEsCi0JMHgwMCwgMHgwNSwgMHgwMCwgMHgxMiwgMHg3NiwgMHg4MiwgMHgwMCwgMHgwMywKLQkweDcxLCAweGUxLCAweDAwLCAweDA2LCAweDAwLCAweDEyLCAweDc2LCAweDgyLAotCTB4MDAsIDB4MDAsIDB4NzEsIDB4ZTEsIDB4MDAsIDB4MDUsIDB4MDAsIDB4MTIsCi0JMHg3NiwgMHg4MiwgMHgwMCwgMHgwNCwgMHg3MSwgMHhlMSwgMHgwMCwgMHgwNiwKLQkweDAwLCAweDEyLCAweDc2LCAweDgyLCAweDAwLCAweDAwLCAweDcxLCAweGUxLAotCTB4MDAsIDB4MDUsIDB4MDAsIDB4MTIsIDB4NzYsIDB4ODIsIDB4MDAsIDB4MDUsCi0JMHg3MSwgMHhlMSwgMHgwMCwgMHgwNiwgMHgwMCwgMHgxMiwgMHg3NiwgMHg4MiwKLQkweDAwLCAweDAwLCAweDcxLCAweGUxLCAweDAwLCAweDA1LCAweDAwLCAweDEyLAotCTB4NzYsIDB4ODIsIDB4MDAsIDB4MDYsIDB4NzEsIDB4ZTEsIDB4MDAsIDB4MDYsCi0JMHgwMCwgMHgxMiwgMHg3NiwgMHg4MiwgMHgwMCwgMHgwMSwgMHg3MSwgMHhlMSwKLQkweDAwLCAweDA1LCAweDAwLCAweDEyLCAweDc2LCAweDgyLCAweDAwLCAweDA3LAotCTB4NzEsIDB4ZTEsIDB4MDAsIDB4MDYsIDB4MDAsIDB4MTIsIDB4NzYsIDB4ODIsCi0JMHgyMCwgMHgwMCwgMHg3MSwgMHhlMSwgMHgwMCwgMHgwNSwgMHgwMCwgMHgxMiwKLQkweDc2LCAweDgyLCAweDAwLCAweDA4LCAweDcxLCAweGUxLCAweDAwLCAweDA2LAotCTB4MDAsIDB4MTIsIDB4NzYsIDB4ODIsIDB4MDAsIDB4MDAsIDB4NzEsIDB4ZTEsCi0JMHgwMCwgMHgwNSwgMHgwMCwgMHgxMiwgMHg3NiwgMHg4MiwgMHgwMCwgMHgwOSwKLQkweDcxLCAweGUxLCAweDAwLCAweDA2LCAweDAwLCAweDEyLCAweDc2LCAweDgyLAotCTB4MDAsIDB4MDAsIDB4NzEsIDB4ZTEsIDB4MDAsIDB4MDUsIDB4MDAsIDB4MTIsCi0JMHg3NiwgMHg4MiwgMHgwMCwgMHgwYSwgMHg3MSwgMHhlMSwgMHgwMCwgMHgwNiwKLQkweDAwLCAweDEyLCAweDc2LCAweDgyLCAweDAwLCAweDAwLCAweDcxLCAweGUxLAotCTB4MDAsIDB4MDUsIDB4MDAsIDB4MTIsIDB4NzYsIDB4ODIsIDB4MDAsIDB4MGIsCi0JMHg3MSwgMHhlMSwgMHgwMCwgMHgwNiwgMHgwMCwgMHgxMiwgMHg3NiwgMHg4MiwKLQkweDAwLCAweDAwLCAweDcxLCAweGUxLCAweDAwLCAweDA1LCAweDAwLCAweDEyLAotCTB4NzYsIDB4ODIsIDB4MDAsIDB4MGMsIDB4NzEsIDB4ZTEsIDB4MDAsIDB4MDYsCi0JMHgwMCwgMHgxMiwgMHg3NiwgMHg4MiwgMHgwMCwgMHgwMCwgMHg3MSwgMHhlMSwKLQkweDAwLCAweDA1LCAweDAwLCAweDEyLCAweDc2LCAweDgyLCAweDAwLCAweDBkLAotCTB4NzEsIDB4ZTEsIDB4MDAsIDB4MDYsIDB4MDAsIDB4MTIsIDB4NzYsIDB4ODIsCi0JMHgwMCwgMHgwMCwgMHg3MSwgMHhlMSwgMHgwMCwgMHgwNSwgMHgwMCwgMHgxMiwKLQkweDc2LCAweDgyLCAweDAwLCAweDBlLCAweDcxLCAweGUxLCAweDAwLCAweDA2LAotCTB4MDAsIDB4MTIsIDB4NzYsIDB4ODIsIDB4MDAsIDB4MDAsIDB4MTAsIDB4ZTEsCi0JMHgwMCwgMHgwNywgMHhmOSwgMHg4MCwgMHgxNiwgMHg3NiwgMHgxMCwgMHhlMSwKLQkweDAwLCAweDA4LCAweGY5LCAweDgwLCAweDE2LCAweDc2LCAweDEwLCAweGUxLAotCTB4MDAsIDB4MDcsIDB4ZjksIDB4ODAsIDB4MTYsIDB4NjYsIDB4MTAsIDB4ZTEsCi0JMHgwMCwgMHgwOCwgMHhmOSwgMHg4MCwgMHgxNiwgMHg2NiwgMHhmMCwgMHg3MywKLQkweDE4LCAweGQxLCAweDc3LCAweDExLCAweDAwLCAweDdiLCAweDEwLCAweDgxLAotCTB4ZmIsIDB4ODAsIDB4MTgsIDB4MTAsIDB4ZjAsIDB4MDAsIDB4MDAsIDB4OTUsCi0JMHg3NywgMHgxMSwgMHgwMCwgMHg3YiwgMHgxMCwgMHg4MSwgMHhmYiwgMHg4MCwKLQkweDE4LCAweDEwLCAweGYwLCAweDAwLCAweDAwLCAweDllLCAweGY5LCAweDgwLAotCTB4MTYsIDB4OWEsIDB4ZWUsIDB4MDEsIDB4OGEsIDB4MTEsIDB4ZjQsIDB4ZTQsCi0JMHg0YSwgMHgxMSwgMHg4OCwgMHgxMSwgMHhlZSwgMHhmZiwgMHhmNCwgMHg5NSwKLQkweDEwLCAweDA0LCAweDcxLCAweGUxLCAweDAwLCAweDAzLCAweDAwLCAweDExLAotCTB4ZWUsIDB4MDEsIDB4ODAsIDB4ODEsIDB4OGEsIDB4MTEsIDB4ZjQsIDB4OTUsCi0JMHhmNCwgMHhlNCwgMHg0YSwgMHgxMSwgMHg0YSwgMHgxNiwgMHhmNCwgMHg5NSwKLQkweDcxLCAweDA0LCAweDAwLCAweDE2LCAweGZiLCAweDgwLCAweDE2LCAweGEyLAotCTB4ODgsIDB4MTEsIDB4ZjQsIDB4OTUsIDB4NzEsIDB4ZTEsIDB4MDAsIDB4MDIsCi0JMHgwMCwgMHgxMiwgMHg3NiwgMHg4MiwgMHgwMCwgMHgxMCwgMHgxMCwgMHhlNiwKLQkweDAwLCAweDAxLCAweDcxLCAweGUxLCAweDAwLCAweDAzLCAweDAwLCAweDEyLAotCTB4ODAsIDB4ODIsIDB4NzEsIDB4ZTEsIDB4MDAsIDB4MDQsIDB4MDAsIDB4MTIsCi0JMHgxMCwgMHhlNiwgMHgwMCwgMHgwMiwgMHg4MCwgMHg4MiwgMHhlNywgMHg2MiwKLQkweDcxLCAweGUxLCAweDAwLCAweDAyLCAweDAwLCAweDEzLCAweGU1LCAweDAxLAotCTB4ZjksIDB4ODAsIDB4MTYsIDB4OWEsIDB4OGEsIDB4MTYsIDB4OGEsIDB4MTEsCi0JMHhmNCwgMHhlNCwgMHg0YSwgMHgxMSwgMHg4OCwgMHgxMSwgMHhlZSwgMHhmZiwKLQkweGVlLCAweDAxLCAweDEwLCAweGUxLCAweDAwLCAweDAxLCAweDhhLCAweDExLAotCTB4ZjQsIDB4OTUsIDB4ZjQsIDB4ZTQsIDB4NGEsIDB4MTEsIDB4NzcsIDB4MTEsCi0JMHgwMCwgMHg3YiwgMHgxMCwgMHg4MSwgMHhmMCwgMHgwMCwgMHgwMCwgMHhiMywKLQkweDg4LCAweDExLCAweGY0LCAweDk1LCAweGY0LCAweDk1LCAweDEwLCAweDgxLAotCTB4ZmEsIDB4NDQsIDB4MTksIDB4MmEsIDB4ZjQsIDB4OTUsIDB4ZWUsIDB4ZmYsCi0JMHhmOSwgMHg4MCwgMHgxNiwgMHg1MywgMHg3NywgMHgxMSwgMHgwMCwgMHg3YiwKLQkweDEwLCAweDgxLCAweGYwLCAweDAwLCAweDAwLCAweGIzLCAweDg4LCAweDExLAotCTB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4NzYsIDB4ODEsIDB4MDAsIDB4MDEsCi0JMHhlZSwgMHgwMSwgMHg3NiwgMHhlMSwgMHgwMCwgMHgwMSwgMHgwMCwgMHgwMCwKLQkweDc2LCAweGUxLCAweDAwLCAweDAyLCAweDAwLCAweDEzLCAweDc2LCAweGUxLAotCTB4MDAsIDB4MDMsIDB4MDAsIDB4MjYsIDB4NzYsIDB4ZTEsIDB4MDAsIDB4MDQsCi0JMHgwMCwgMHgyNSwgMHg3NiwgMHhlMSwgMHgwMCwgMHgwNSwgMHgwMCwgMHgyNCwKLQkweDc2LCAweGUxLCAweDAwLCAweDA2LCAweDAwLCAweDAwLCAweDc2LCAweGUxLAotCTB4MDAsIDB4MDcsIDB4MDAsIDB4MTcsIDB4NzYsIDB4ZTEsIDB4MDAsIDB4MDgsCi0JMHgwMCwgMHgzMiwgMHg3NiwgMHhlMSwgMHgwMCwgMHgwOSwgMHgwMCwgMHgzMSwKLQkweDc2LCAweGUxLCAweDAwLCAweDBhLCAweDAwLCAweDMwLCAweDhhLCAweDExLAotCTB4ZjQsIDB4OTUsIDB4ZjQsIDB4ZTQsIDB4NGEsIDB4MTEsIDB4NGEsIDB4MTYsCi0JMHg0YSwgMHgxNywgMHhlZSwgMHhmZiwgMHhmNCwgMHg5NSwgMHg3MSwgMHgwNiwKLQkweDAwLCAweDE3LCAweGZiLCAweDgwLCAweDE2LCAweGEyLCAweDg4LCAweDExLAotCTB4ZjQsIDB4OTUsIDB4ZjcsIDB4YjgsIDB4MTAsIDB4ZjgsIDB4MDAsIDB4MTEsCi0JMHhmMCwgMHgxMCwgMHhmZiwgMHhmZiwgMHhmYSwgMHg0NSwgMHgxOSwgMHg3MywKLQkweDc3LCAweDE2LCAweGZmLCAweGZmLCAweDc3LCAweDEyLCAweDAwLCAweDdiLAotCTB4NzcsIDB4MGUsIDB4MDAsIDB4MDUsIDB4MTAsIDB4ODIsIDB4MjgsIDB4ZjgsCi0JMHgwMCwgMHgxMSwgMHhmMCwgMHgwMCwgMHgwMCwgMHhiNCwgMHg4OCwgMHgxMSwKLQkweGY0LCAweDk1LCAweGY0LCAweDk1LCAweDEwLCAweDgxLCAweGY4LCAweDQ0LAotCTB4MTksIDB4ODQsIDB4ZjIsIDB4NzMsIDB4MTksIDB4ODQsIDB4ZjQsIDB4OTUsCi0JMHhlNywgMHgxNiwgMHg3NywgMHgxMSwgMHgwMCwgMHg3YiwgMHgxMCwgMHg4MSwKLQkweGYwLCAweDAwLCAweDAwLCAweGI0LCAweDg4LCAweDExLCAweGY0LCAweDk1LAotCTB4NzcsIDB4MTIsIDB4MDAsIDB4MDIsIDB4MTAsIDB4ODEsIDB4ZjgsIDB4NDUsCi0JMHgxOSwgMHg2ZiwgMHg2ZSwgMHhlYSwgMHhmZiwgMHhmZiwgMHgxOSwgMHg3YywKLQkweDZkLCAweGU5LCAweDAwLCAweDA1LCAweDYxLCAweGY4LCAweDAwLCAweDE3LAotCTB4MDAsIDB4MDEsIDB4ZmEsIDB4MjAsIDB4MTksIDB4OGYsIDB4NzYsIDB4ODYsCi0JMHgwMCwgMHgwMSwgMHhmYiwgMHg4MCwgMHgxOSwgMHg5NywgMHhmNCwgMHg5NSwKLQkweDQ4LCAweDE2LCAweGY5LCAweDgwLCAweDE2LCAweDlhLCAweGVlLCAweDAxLAotCTB4OGEsIDB4MTcsIDB4NDgsIDB4MTYsIDB4OGEsIDB4MTYsIDB4OGEsIDB4MTEsCi0JMHhmNCwgMHhlNCwgMHg0YSwgMHgxMSwgMHhlZSwgMHhmZiwgMHhmYiwgMHg4MCwKLQkweDE2LCAweGEyLCAweDg4LCAweDExLCAweGY0LCAweDk1LCAweDc3LCAweDEwLAotCTB4ZmYsIDB4ZmYsIDB4ZjQsIDB4YTksIDB4ZjgsIDB4MzAsIDB4MTksIDB4Y2MsCi0JMHg3MSwgMHhlMSwgMHgwMCwgMHgwMiwgMHgwMCwgMHgxMiwgMHg2OSwgMHg4MiwKLQkweDAwLCAweDEwLCAweDcxLCAweGUxLCAweDAwLCAweDAyLCAweDAwLCAweDEyLAotCTB4NjgsIDB4ODIsIDB4ZjcsIDB4ZmYsIDB4NzEsIDB4ZTEsIDB4MDAsIDB4MDIsCi0JMHgwMCwgMHgxMiwgMHg2OCwgMHg4MiwgMHhmYiwgMHhmZiwgMHg3MSwgMHhlMSwKLQkweDAwLCAweDAyLCAweDAwLCAweDEyLCAweDY4LCAweDgyLCAweGZmLCAweGYwLAotCTB4NzEsIDB4ZTEsIDB4MDAsIDB4MDMsIDB4MDAsIDB4MTIsIDB4NzYsIDB4ODIsCi0JMHhmZiwgMHhmZiwgMHg3MSwgMHhlMSwgMHgwMCwgMHgwNCwgMHgwMCwgMHgxMiwKLQkweDc2LCAweDgyLCAweGZmLCAweGZmLCAweDcxLCAweGUxLCAweDAwLCAweDAyLAotCTB4MDAsIDB4MTIsIDB4NjksIDB4ODIsIDB4MDAsIDB4MjAsIDB4NzEsIDB4ZTEsCi0JMHgwMCwgMHgwMiwgMHgwMCwgMHgxMSwgMHhmMiwgMHg3MywgMHgxOSwgMHhkYSwKLQkweDY4LCAweDgxLCAweGZmLCAweGVmLCAweDc3LCAweDExLCAweDAwLCAweDdiLAotCTB4MTAsIDB4ODEsIDB4ZmIsIDB4ODAsIDB4MTksIDB4OTcsIDB4ZjAsIDB4MDAsCi0JMHgwMCwgMHhiNCwgMHg3NywgMHgxMSwgMHgwMCwgMHg3YiwgMHgxMCwgMHg4MSwKLQkweGZiLCAweDgwLCAweDE5LCAweDk3LCAweGYwLCAweDAwLCAweDAwLCAweGI5LAotCTB4ZjksIDB4ODAsIDB4MTYsIDB4OWEsIDB4ZWUsIDB4MDEsIDB4OGEsIDB4MTEsCi0JMHhmNCwgMHhlNCwgMHgwMCwgMHhhNCwgMHgwMCwgMHgwMCwgMHgxOSwgMHhkZiwKLQkweDAwLCAweDAxLCAweDJhLCAweGU2LCAweDAwLCAweDAwLCAweDAwLCAweDAxLAotCTB4MmEsIDB4ZTcsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDMsIDB4MmEsIDB4MTIsCi0JMHgwYywgMHgwMSwgMHhjMywgMHg0ZiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMSwKLQkweDJhLCAweDE1LCAweDAwLCAweDAwLCAweDAwLCAweDAyLCAweDJhLCAweDE2LAotCTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MTksIDB4MmEsIDB4NWQsCi0JMHgwMCwgMHg0MywgMHgwMCwgMHg2ZiwgMHgwMCwgMHg3MCwgMHgwMCwgMHg3OSwKLQkweDAwLCAweDcyLCAweDAwLCAweDY5LCAweDAwLCAweDY3LCAweDAwLCAweDY4LAotCTB4MDAsIDB4NzQsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NTQsIDB4MDAsIDB4NjUsCi0JMHgwMCwgMHg2MywgMHgwMCwgMHg2OCwgMHgwMCwgMHg2ZSwgMHgwMCwgMHg2ZiwKLQkweDAwLCAweDU0LCAweDAwLCAweDcyLCAweDAwLCAweDY1LCAweDAwLCAweDZlLAotCTB4MDAsIDB4NjQsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NDEsIDB4MDAsIDB4NDcsCi0JMHgwMCwgMHgwMCwgMHgwMCwgMHgwNCwgMHgyYSwgMHg3NiwgMHgwMCwgMHgzMCwKLQkweDAwLCAweDJlLCAweDAwLCAweDMwLCAweDAwLCAweDAwLCAweDAwLCAweDBjLAotCTB4MmEsIDB4N2EsIDB4MDAsIDB4NDYsIDB4MDAsIDB4NjUsIDB4MDAsIDB4NjIsCi0JMHgwMCwgMHgyMCwgMHgwMCwgMHgzMiwgMHgwMCwgMHgzNywgMHgwMCwgMHgyMCwKLQkweDAwLCAweDMyLCAweDAwLCAweDMwLCAweDAwLCAweDMwLCAweDAwLCAweDMxLAotCTB4MDAsIDB4MDAsIDB4MDAsIDB4MDksIDB4MmEsIDB4ODYsIDB4MDAsIDB4MzEsCi0JMHgwMCwgMHgzNCwgMHgwMCwgMHgzYSwgMHgwMCwgMHgzMywgMHgwMCwgMHgzNSwKLQkweDAwLCAweDNhLCAweDAwLCAweDMzLCAweDAwLCAweDMzLCAweDAwLCAweDAwLAotCTB4MDAsIDB4MGYsIDB4MmEsIDB4OGYsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0JMHgwMCwgMHgwMCwgMHgwMCwgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMSwKLQkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotCTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0JMHgwMCwgMHgwMCwgMHgwMCwgMHgwMSwgMHgyYSwgMHg5ZSwgMHgwMCwgMHgwMCwKLQkweDAwLCAweDAxLCAweDJhLCAweDlmLCAweDAwLCAweDAwLCAweDAwLCAweDAxLAotCTB4MmEsIDB4YTAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDEsIDB4MmEsIDB4YTEsCi0JMHgwMCwgMHgwMCwgMHgwMCwgMHgwMSwgMHgyYSwgMHhhMiwgMHgwMCwgMHgwMCwKLQkweDAwLCAweDAxLCAweDI5LCAweDdlLCAweDAwLCAweDAwLCAweDAwLCAweDAyLAotCTB4MjksIDB4ODAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDEsCi0JMHgyOSwgMHg4MiwgMHhmZiwgMHhmZiwgMHgwMCwgMHgwMSwgMHgyYSwgMHhhNywKLQkweDAwLCAweDAwLCAweDAwLCAweDA1LCAweDJhLCAweGE4LCAweDcxLCAweDQxLAotCTB4MjAsIDB4MDAsIDB4MjAsIDB4MDAsIDB4MDAsIDB4MjMsIDB4MDQsIDB4MDAsCi0JMHgwMCwgMHgwYSwgMHgyYSwgMHhhZCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLQkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotCTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0JMHgwMCwgMHgwZiwgMHgyYSwgMHhiNywgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLQkweDAwLCAweDAwLCAweDAwLCAweDQwLCAweDAwLCAweGEwLCAweDgyLCAweDQwLAotCTB4MDAsIDB4MDgsIDB4MzAsIDB4N2YsIDB4MDAsIDB4ODAsIDB4MDEsIDB4ODAsCi0JMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLQkweDAwLCAweDAwLCAweDAwLCAweDAxLCAweDI3LCAweDZlLCAweDAwLCAweDAwLAotCTB4MDAsIDB4MDEsIDB4MjcsIDB4NmYsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0JMHgwMCwgMHgwOSwgMHgwMCwgMHgwMCwgMHgxYSwgMHg4MywgMHgwNCwgMHhlOCwKLQkweDA0LCAweGNmLCAweDA0LCAweGM1LCAweDA0LCAweGJhLCAweDA0LCAweGIwLAotCTB4MDQsIDB4YWMsIDB4MDQsIDB4OWMsIDB4MDQsIDB4OGMsIDB4MDQsIDB4ODEsCi0JMHgwMCwgMHg3OCwgMHgwMCwgMHgwMCwgMHgwMSwgMHgwMCwgMHhmMiwgMHg3MywKLQkweDA3LCAweGVmLCAweGY0LCAweDk1LCAweGY0LCAweDk1LCAweGYyLCAweDczLAotCTB4MDcsIDB4ZWYsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4ZjIsIDB4NzMsCi0JMHgwNywgMHhlZiwgMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHhmMiwgMHg3MywKLQkweDA3LCAweGVmLCAweGY0LCAweDk1LCAweGY0LCAweDk1LCAweGYyLCAweDczLAotCTB4MDcsIDB4ZWYsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4ZjIsIDB4NzMsCi0JMHgwNywgMHhlZiwgMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHhmMiwgMHg3MywKLQkweDA3LCAweGVmLCAweGY0LCAweDk1LCAweGY0LCAweDk1LCAweGYyLCAweDczLAotCTB4MDcsIDB4ZWYsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4ZjIsIDB4NzMsCi0JMHgwNywgMHhlZiwgMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHhmMiwgMHg3MywKLQkweDA3LCAweGVmLCAweGY0LCAweDk1LCAweGY0LCAweDk1LCAweGYyLCAweDczLAotCTB4MDcsIDB4ZWYsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4ZjIsIDB4NzMsCi0JMHgwNywgMHhlZiwgMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHhmMiwgMHg3MywKLQkweDA3LCAweGVmLCAweGY0LCAweDk1LCAweGY0LCAweDk1LCAweGYyLCAweDczLAotCTB4MDcsIDB4ZWYsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4ZjIsIDB4NzMsCi0JMHgwNywgMHhlZiwgMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHhmMiwgMHg3MywKLQkweDA3LCAweGVmLCAweGY0LCAweDk1LCAweGY0LCAweDk1LCAweGYyLCAweDczLAotCTB4MDcsIDB4YWEsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4ZjIsIDB4NzMsCi0JMHgwNywgMHhlZiwgMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHhmMiwgMHg3MywKLQkweDA3LCAweGVmLCAweGY0LCAweDk1LCAweGY0LCAweDk1LCAweGYyLCAweDczLAotCTB4MDIsIDB4MjMsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4ZjIsIDB4NzMsCi0JMHgwNywgMHhlZiwgMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHhmMiwgMHg3MywKLQkweDA3LCAweGVmLCAweGY0LCAweDk1LCAweGY0LCAweDk1LCAweGYyLCAweDczLAotCTB4MDcsIDB4ZWYsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4ZjIsIDB4NzMsCi0JMHgwNywgMHhlZiwgMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHhmMiwgMHg3MywKLQkweDA3LCAweGVmLCAweGY0LCAweDk1LCAweGY0LCAweDk1LCAweGYyLCAweDczLAotCTB4MDcsIDB4ZWYsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4ZjIsIDB4NzMsCi0JMHgwNSwgMHhlNSwgMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHhmMiwgMHg3MywKLQkweDAyLCAweGI1LCAweGY0LCAweDk1LCAweGY0LCAweDk1LCAweGYyLCAweDczLAotCTB4MGUsIDB4MzMsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4ZjIsIDB4NzMsCi0JMHgwNywgMHhlZiwgMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHgwMCwgMHgwMCwKLX07Ci0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvZHZiL3R0dXNiLWRlYy90dHVzYl9kZWMuYyBiL2RyaXZlcnMvbWVkaWEvZHZiL3R0dXNiLWRlYy90dHVzYl9kZWMuYwppbmRleCBmZWZkYzA1Li5kZTU4MjliIDEwMDY0NAotLS0gYS9kcml2ZXJzL21lZGlhL2R2Yi90dHVzYi1kZWMvdHR1c2JfZGVjLmMKKysrIGIvZHJpdmVycy9tZWRpYS9kdmIvdHR1c2ItZGVjL3R0dXNiX2RlYy5jCkBAIC0xMjc1LDcgKzEyNzUsNyBAQAogCXU4IGIxW10gPSB7IDB4NjEgfTsKIAl1OCAqYjsKIAljaGFyIGlkc3RyaW5nWzIxXTsKLQl1OCAqZmlybXdhcmUgPSBOVUxMOworCWNvbnN0IHU4ICpmaXJtd2FyZSA9IE5VTEw7CiAJc2l6ZV90IGZpcm13YXJlX3NpemUgPSAwOwogCXUxNiBmaXJtd2FyZV9jc3VtID0gMDsKIAlfX2JlMTYgZmlybXdhcmVfY3N1bV9uczsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvcmFkaW8vbWlyb3BjbTIwLXJkcy5jIGIvZHJpdmVycy9tZWRpYS9yYWRpby9taXJvcGNtMjAtcmRzLmMKaW5kZXggMDZkZmVkOS4uM2U4NDBmNyAxMDA2NDQKLS0tIGEvZHJpdmVycy9tZWRpYS9yYWRpby9taXJvcGNtMjAtcmRzLmMKKysrIGIvZHJpdmVycy9tZWRpYS9yYWRpby9taXJvcGNtMjAtcmRzLmMKQEAgLTEyLDYgKzEyLDcgQEAKICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAjaW5jbHVkZSA8bGludXgvc2xhYi5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvZnMuaD4KICNpbmNsdWRlIDxsaW51eC9taXNjZGV2aWNlLmg+CiAjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KQEAgLTI3LDEzICsyOCwxNiBAQAogCWlmIChyZHNfdXNlcnMpCiAJCXJldHVybiAtRUJVU1k7CiAKKwlsb2NrX2tlcm5lbCgpOwogCXJkc191c2VycysrOwogCWlmICgodGV4dF9idWZmZXI9a21hbGxvYyg2NiwgR0ZQX0tFUk5FTCkpID09IDApIHsKIAkJcmRzX3VzZXJzLS07CiAJCXByaW50ayhLRVJOX05PVElDRSAiYWNpLXJkczogT3V0IG9mIG1lbW9yeSBieSBvcGVuKCkuLi5cbiIpOworCQl1bmxvY2tfa2VybmVsKCk7CiAJCXJldHVybiAtRU5PTUVNOwogCX0KIAorCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gMDsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS92aWRlby9idDh4eC9idHR2LWNhcmRzLmMgYi9kcml2ZXJzL21lZGlhL3ZpZGVvL2J0OHh4L2J0dHYtY2FyZHMuYwppbmRleCA4ZWYwNDI0Li4xYzU2YWU5IDEwMDY0NAotLS0gYS9kcml2ZXJzL21lZGlhL3ZpZGVvL2J0OHh4L2J0dHYtY2FyZHMuYworKysgYi9kcml2ZXJzL21lZGlhL3ZpZGVvL2J0OHh4L2J0dHYtY2FyZHMuYwpAQCAtMzc2OCw3ICszNzY4LDggQEAKICNkZWZpbmUgQlRUVl9BTFRfRENMSwkJMHgxMDAwMDAKICNkZWZpbmUgQlRUVl9BTFRfTkNPTkZJRwkweDgwMDAwMAogCi1zdGF0aWMgaW50IF9fZGV2aW5pdCBwdnJfYWx0ZXJhX2xvYWQoc3RydWN0IGJ0dHYgKmJ0diwgdTggKm1pY3JvLCB1MzIgbWljcm9sZW4pCitzdGF0aWMgaW50IF9fZGV2aW5pdCBwdnJfYWx0ZXJhX2xvYWQoc3RydWN0IGJ0dHYgKmJ0diwgY29uc3QgdTggKm1pY3JvLAorCQkJCSAgICAgdTMyIG1pY3JvbGVuKQogewogCXUzMiBuOwogCXU4IGJpdHM7CmRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL3ZpZGVvL2NwaWEyL2NwaWEyX2NvcmUuYyBiL2RyaXZlcnMvbWVkaWEvdmlkZW8vY3BpYTIvY3BpYTJfY29yZS5jCmluZGV4IGM4YjlmZGIuLmYyZThiMWMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbWVkaWEvdmlkZW8vY3BpYTIvY3BpYTJfY29yZS5jCisrKyBiL2RyaXZlcnMvbWVkaWEvdmlkZW8vY3BpYTIvY3BpYTJfY29yZS5jCkBAIC0zMywxMSArMzMsMTAgQEAKIAogI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KICNpbmNsdWRlIDxsaW51eC92bWFsbG9jLmg+CisjaW5jbHVkZSA8bGludXgvZmlybXdhcmUuaD4KIAogLyogI2RlZmluZSBfQ1BJQTJfREVCVUdfICovCiAKLSNpbmNsdWRlICJjcGlhMnBhdGNoLmgiCi0KICNpZmRlZiBfQ1BJQTJfREVCVUdfCiAKIHN0YXRpYyBjb25zdCBjaGFyICpibG9ja19uYW1lW10gPSB7CkBAIC04OTMsMjQgKzg5Miw1MyBAQAogICogIGFwcGx5X3ZwX3BhdGNoCiAgKgogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworc3RhdGljIGludCBjcGlhMl9zZW5kX29uZWJ5dGVfY29tbWFuZChzdHJ1Y3QgY2FtZXJhX2RhdGEgKmNhbSwKKwkJCQkgICAgICBzdHJ1Y3QgY3BpYTJfY29tbWFuZCAqY21kLAorCQkJCSAgICAgIHU4IHN0YXJ0LCB1OCBkYXR1bSkKK3sKKwljbWQtPmJ1ZmZlci5ibG9ja19kYXRhWzBdID0gZGF0dW07CisJY21kLT5zdGFydCA9IHN0YXJ0OworCWNtZC0+cmVnX2NvdW50ID0gMTsKKwlyZXR1cm4gY3BpYTJfc2VuZF9jb21tYW5kKGNhbSwgY21kKTsKK30KKwogc3RhdGljIGludCBhcHBseV92cF9wYXRjaChzdHJ1Y3QgY2FtZXJhX2RhdGEgKmNhbSkKIHsKLQlpbnQgaSwgajsKKwljb25zdCBzdHJ1Y3QgZmlybXdhcmUgKmZ3OworCWNvbnN0IGNoYXIgZndfbmFtZVtdID0gImNwaWEyL3N0djA2NzJfdnA0LmJpbiI7CisJaW50IGksIHJldDsKIAlzdHJ1Y3QgY3BpYTJfY29tbWFuZCBjbWQ7CiAKKwlyZXQgPSByZXF1ZXN0X2Zpcm13YXJlKCZmdywgZndfbmFtZSwgJmNhbS0+ZGV2LT5kZXYpOworCWlmIChyZXQpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICJjcGlhMjogZmFpbGVkIHRvIGxvYWQgVlAgcGF0Y2ggXCIlc1wiXG4iLAorCQkgICAgICAgZndfbmFtZSk7CisJCXJldHVybiByZXQ7CisJfQorCiAJY21kLnJlcV9tb2RlID0gQ0FNRVJBQUNDRVNTX1RZUEVfUkVQRUFUIHwgQ0FNRVJBQUNDRVNTX1ZQOwogCWNtZC5kaXJlY3Rpb24gPSBUUkFOU0ZFUl9XUklURTsKIAotCWZvciAoaSA9IDA7IGkgPCBQQVRDSF9EQVRBX1NJWkU7IGkrKykgewotCQlmb3IgKGogPSAwOyBqIDwgcGF0Y2hfZGF0YVtpXS5jb3VudDsgaisrKSB7Ci0JCQljbWQuYnVmZmVyLmJsb2NrX2RhdGFbal0gPSBwYXRjaF9kYXRhW2ldLmRhdGFbal07Ci0JCX0KKwkvKiBGaXJzdCBzZW5kIHRoZSBzdGFydCBhZGRyZXNzLi4uICovCisJY3BpYTJfc2VuZF9vbmVieXRlX2NvbW1hbmQoY2FtLCAmY21kLCAweDBBLCBmdy0+ZGF0YVswXSk7IC8qIGhpICovCisJY3BpYTJfc2VuZF9vbmVieXRlX2NvbW1hbmQoY2FtLCAmY21kLCAweDBCLCBmdy0+ZGF0YVsxXSk7IC8qIGxvICovCiAKLQkJY21kLnN0YXJ0ID0gcGF0Y2hfZGF0YVtpXS5yZWc7Ci0JCWNtZC5yZWdfY291bnQgPSBwYXRjaF9kYXRhW2ldLmNvdW50OworCS8qIC4uLiBmb2xsb3dlZCBieSB0aGUgZGF0YSBwYXlsb2FkICovCisJZm9yIChpID0gMjsgaSA8IGZ3LT5zaXplOyBpICs9IDY0KSB7CisJCWNtZC5zdGFydCA9IDB4MEM7IC8qIERhdGEgKi8KKwkJY21kLnJlZ19jb3VudCA9IG1pbl90KGludCwgNjQsIGZ3LT5zaXplIC0gaSk7CisJCW1lbWNweShjbWQuYnVmZmVyLmJsb2NrX2RhdGEsICZmdy0+ZGF0YVtpXSwgY21kLnJlZ19jb3VudCk7CiAJCWNwaWEyX3NlbmRfY29tbWFuZChjYW0sICZjbWQpOwogCX0KIAorCS8qIE5leHQgc2VuZCB0aGUgc3RhcnQgYWRkcmVzcy4uLiAqLworCWNwaWEyX3NlbmRfb25lYnl0ZV9jb21tYW5kKGNhbSwgJmNtZCwgMHgwQSwgZnctPmRhdGFbMF0pOyAvKiBoaSAqLworCWNwaWEyX3NlbmRfb25lYnl0ZV9jb21tYW5kKGNhbSwgJmNtZCwgMHgwQiwgZnctPmRhdGFbMV0pOyAvKiBsbyAqLworCisJLyogLi4uIGZvbGxvd2VkIGJ5IHRoZSAnZ290bycgY29tbWFuZCAqLworCWNwaWEyX3NlbmRfb25lYnl0ZV9jb21tYW5kKGNhbSwgJmNtZCwgMHgwRCwgMSk7CisKKwlyZWxlYXNlX2Zpcm13YXJlKGZ3KTsKIAlyZXR1cm4gMDsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS92aWRlby9jcGlhMi9jcGlhMnBhdGNoLmggYi9kcml2ZXJzL21lZGlhL3ZpZGVvL2NwaWEyL2NwaWEycGF0Y2guaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2YwODVmYi4uMDAwMDAwMAotLS0gYS9kcml2ZXJzL21lZGlhL3ZpZGVvL2NwaWEyL2NwaWEycGF0Y2guaAorKysgL2Rldi9udWxsCkBAIC0xLDIzMyArMCwwIEBACi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICoKLSAqICBGaWxlbmFtZTogY3BpYTJwYXRjaC5oCi0gKgotICogIENvcHlyaWdodCAyMDAxLCBTVE1pY3JvbGVjdHJvbmljcywgSW5jLgotICoKLSAqICBDb250YWN0OiAgc3RldmUubWlsbGVyQHN0LmNvbQotICoKLSAqICBEZXNjcmlwdGlvbjoKLSAqICAgICBUaGlzIGZpbGUgY29udGFpbnMgcGF0Y2ggZGF0YSBmb3IgdGhlIENQaUEyIChzdHYwNjcyKSBWUDQuCi0gKgotICogIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0gKiAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLSAqICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgotICogIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0gKgotICogIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICogIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQotICogIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gKgotICogIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gKiAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKLSAqICBGb3VuZGF0aW9uLCBJbmMuLCA2NzUgTWFzcyBBdmUsIENhbWJyaWRnZSwgTUEgMDIxMzksIFVTQS4KLSAqCi0gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLQotI2lmbmRlZiBDUElBMl9QQVRDSF9IRUFERVIKLSNkZWZpbmUgQ1BJQTJfUEFUQ0hfSEVBREVSCi0KLXR5cGVkZWYgc3RydWN0IHsKLQl1bnNpZ25lZCBjaGFyIHJlZzsKLQl1bnNpZ25lZCBjaGFyIGNvdW50OwotCWNvbnN0IHVuc2lnbmVkIGNoYXIgKmRhdGE7Ci19IGNwaWEyX3BhdGNoOwotCi1zdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBzdGFydF9hZGRyZXNzX2hpWzFdID0gewotCTB4MDEKLX07Ci0KLXN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHN0YXJ0X2FkZHJlc3NfbG9bMV0gPSB7Ci0JMHhCQwotfTsKLQotc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgcGF0Y2hfYmxvY2swWzY0XSA9IHsKLQkweEUzLCAweDAyLCAweEUzLCAweDAzLCAweEUzLCAweDA0LCAweEUzLCAweDA1LAotCTB4RTMsIDB4MDYsIDB4RTMsIDB4MDcsIDB4OTMsIDB4NDQsIDB4NTYsIDB4RDQsCi0JMHg5MywgMHg0RSwgMHg1NiwgMHg1MSwgMHg5MywgMHg0RSwgMHg1MSwgMHhENiwKLQkweDkzLCAweDRFLCAweDRGLCAweDU0LCAweDkzLCAweDRFLCAweDkyLCAweDRGLAotCTB4OTIsIDB4QTQsIDB4OTMsIDB4MDUsIDB4OTIsIDB4RjQsIDB4OTMsIDB4MUIsCi0JMHg5MiwgMHg5MiwgMHg5MSwgMHhFNiwgMHg5MiwgMHgzNiwgMHg5MiwgMHg3NCwKLQkweDkyLCAweDRBLCAweDkyLCAweDhDLCAweDkyLCAweDhFLCAweEM4LCAweEQwLAotCTB4MEIsIDB4NDIsIDB4MDIsIDB4QTAsIDB4Q0EsIDB4OTIsIDB4MDksIDB4MDIKLX07Ci0KLXN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHBhdGNoX2Jsb2NrMVs2NF0gPSB7Ci0JMHhDOSwgMHgxMCwgMHgwQSwgMHgwQSwgMHgwQSwgMHg4MSwgMHhFMywgMHhCOCwKLQkweEUzLCAweEIwLCAweEUzLCAweEE4LCAweEUzLCAweEEwLCAweEUzLCAweDk4LAotCTB4RTMsIDB4OTAsIDB4RTEsIDB4MDAsIDB4Q0YsIDB4RDcsIDB4MEEsIDB4MTIsCi0JMHhDQywgMHg5NSwgMHgwOCwgMHhCMiwgMHgwQSwgMHgxOCwgMHhFMSwgMHgwMCwKLQkweDAxLCAweEVFLCAweDBDLCAweDA4LCAweDRBLCAweDEyLCAweEM4LCAweDE4LAotCTB4RjAsIDB4OUEsIDB4QzAsIDB4MjIsIDB4RjMsIDB4MUMsIDB4NEEsIDB4MTMsCi0JMHhGMywgMHgxNCwgMHhDOCwgMHhBMCwgMHhGMiwgMHgxNCwgMHhGMiwgMHgxQywKLQkweEVCLCAweDEzLCAweEQzLCAweEEyLCAweDYzLCAweDE2LCAweDQ4LCAweDlFCi19OwotCi1zdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBwYXRjaF9ibG9jazJbNjRdID0gewotCTB4RjAsIDB4MTgsIDB4QTQsIDB4MDMsIDB4RjMsIDB4OTMsIDB4QzAsIDB4NTgsCi0JMHhGNywgMHgxMywgMHg1MSwgMHg5QywgMHhFOSwgMHgyMCwgMHhDRiwgMHhFRiwKLQkweDYzLCAweEY5LCAweDkyLCAweDJFLCAweEQzLCAweDVGLCAweDYzLCAweEZBLAotCTB4OTIsIDB4MkUsIDB4RDMsIDB4NjcsIDB4NjMsIDB4RkIsIDB4OTIsIDB4MkUsCi0JMHhEMywgMHg2RiwgMHhFOSwgMHgxQSwgMHg2MywgMHgxNiwgMHg0OCwgMHhBNywKLQkweEYwLCAweDIwLCAweEE0LCAweDA2LCAweEYzLCAweDk0LCAweEMwLCAweDI3LAotCTB4RjcsIDB4MTQsIDB4RjUsIDB4MTMsIDB4NTEsIDB4OUQsIDB4RjYsIDB4MTMsCi0JMHg2MywgMHgxOCwgMHhDNCwgMHgyMCwgMHhDQiwgMHhFRiwgMHg2MywgMHhGQwotfTsKLQotc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgcGF0Y2hfYmxvY2szWzY0XSA9IHsKLQkweDkyLCAweDJFLCAweEQzLCAweDc3LCAweDYzLCAweEZELCAweDkyLCAweDJFLAotCTB4RDMsIDB4N0YsIDB4NjMsIDB4RkUsIDB4OTIsIDB4MkUsIDB4RDMsIDB4ODcsCi0JMHg2MywgMHhGRiwgMHg5MiwgMHgyRSwgMHhEMywgMHg4RiwgMHg2NCwgMHgzOCwKLQkweDkyLCAweDJFLCAweEQzLCAweDk3LCAweDY0LCAweDM5LCAweDkyLCAweDJFLAotCTB4RDMsIDB4OUYsIDB4RTEsIDB4MDAsIDB4RjUsIDB4M0EsIDB4RjQsIDB4M0IsCi0JMHhGNywgMHhCRiwgMHhGMiwgMHhCQywgMHhGMiwgMHgzRCwgMHhFMSwgMHgwMCwKLQkweDgwLCAweDg3LCAweDkwLCAweDgwLCAweDUxLCAweEQ1LCAweDAyLCAweDIyLAotCTB4MDIsIDB4MzIsIDB4NEIsIDB4RDMsIDB4RjcsIDB4MTEsIDB4MEIsIDB4REEKLX07Ci0KLXN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHBhdGNoX2Jsb2NrNFs2NF0gPSB7Ci0JMHhFMSwgMHgwMCwgMHgwRSwgMHgwMiwgMHgwMiwgMHg0MCwgMHgwRCwgMHhCNSwKLQkweEUzLCAweDAyLCAweDQ4LCAweDU1LCAweEU1LCAweDEyLCAweEE0LCAweDAxLAotCTB4RTgsIDB4MUIsIDB4RTMsIDB4OTAsIDB4RjAsIDB4MTgsIDB4QTQsIDB4MDEsCi0JMHhFOCwgMHhCRiwgMHg4RCwgMHhCOCwgMHg0QiwgMHhEMSwgMHg0QiwgMHhEOCwKLQkweDBCLCAweENCLCAweDBCLCAweEMyLCAweEUxLCAweDAwLCAweEUzLCAweDAyLAotCTB4RTMsIDB4MDMsIDB4NTIsIDB4RDMsIDB4NjAsIDB4NTksIDB4RTYsIDB4OTMsCi0JMHgwRCwgMHgyMiwgMHg1MiwgMHhENCwgMHhFNiwgMHg5MywgMHgwRCwgMHgyQSwKLQkweEUzLCAweDk4LCAweEUzLCAweDkwLCAweEUxLCAweDAwLCAweDAyLCAweDVECi19OwotCi1zdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBwYXRjaF9ibG9jazVbNjRdID0gewotCTB4MDIsIDB4NjMsIDB4RTMsIDB4MDIsIDB4QzgsIDB4MTIsIDB4MDIsIDB4Q0EsCi0JMHhDOCwgMHg1MiwgMHgwMiwgMHhDMiwgMHg4MiwgMHg2OCwgMHhFMywgMHgwMiwKLQkweEM4LCAweDE0LCAweDAyLCAweENBLCAweEM4LCAweDkwLCAweDAyLCAweEMyLAotCTB4MEEsIDB4RDAsIDB4QzksIDB4OTMsIDB4MEEsIDB4REEsIDB4Q0MsIDB4RDIsCi0JMHgwQSwgMHhFMiwgMHg2MywgMHgxMiwgMHgwMiwgMHhEQSwgMHgwQSwgMHg5OCwKLQkweDBBLCAweEEwLCAweDBBLCAweEE4LCAweEUzLCAweDkwLCAweEUxLCAweDAwLAotCTB4RTMsIDB4MDIsIDB4MEEsIDB4RDAsIDB4QzksIDB4OTMsIDB4MEEsIDB4REEsCi0JMHhDQywgMHhEMiwgMHgwQSwgMHhFMiwgMHg2MywgMHgxMiwgMHgwMiwgMHhEQQotfTsKLQotc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgcGF0Y2hfYmxvY2s2WzY0XSA9IHsKLQkweDBBLCAweDk4LCAweDBBLCAweEEwLCAweDBBLCAweEE4LCAweDQ5LCAweDkxLAotCTB4RTUsIDB4NkEsIDB4QTQsIDB4MDQsIDB4QzgsIDB4MTIsIDB4MDIsIDB4Q0EsCi0JMHhDOCwgMHg1MiwgMHg4MiwgMHg4OSwgMHhDOCwgMHgxNCwgMHgwMiwgMHhDQSwKLQkweEM4LCAweDkwLCAweDAyLCAweEMyLCAweEUzLCAweDkwLCAweEUxLCAweDAwLAotCTB4MDgsIDB4NjAsIDB4RTEsIDB4MDAsIDB4NDgsIDB4NTMsIDB4RTgsIDB4OTcsCi0JMHgwOCwgMHg1QSwgMHhFMSwgMHgwMCwgMHhFMywgMHgwMiwgMHhFMywgMHgwMywKLQkweDU0LCAweEQzLCAweDYwLCAweDU5LCAweEU2LCAweDkzLCAweDBELCAweDUyLAotCTB4RTMsIDB4OTgsIDB4RTMsIDB4OTAsIDB4RTEsIDB4MDAsIDB4MDIsIDB4OUMKLX07Ci0KLXN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHBhdGNoX2Jsb2NrN1s2NF0gPSB7Ci0JMHhFMywgMHgwMiwgMHg1NSwgMHgxMywgMHg5MywgMHgxNywgMHg1NSwgMHgxMywKLQkweDkzLCAweDE3LCAweEUzLCAweDkwLCAweEUxLCAweDAwLCAweDc1LCAweDMwLAotCTB4RTMsIDB4MDIsIDB4RTMsIDB4MDMsIDB4NTUsIDB4NTUsIDB4NjAsIDB4NTksCi0JMHhFNiwgMHg5MywgMHgwRCwgMHhCMiwgMHhFMywgMHg5OCwgMHhFMywgMHg5MCwKLQkweEUxLCAweDAwLCAweDAyLCAweEFFLCAweEU3LCAweDkyLCAweEU5LCAweDE4LAotCTB4RUEsIDB4OUEsIDB4RTgsIDB4OTgsIDB4RTgsIDB4MTAsIDB4RTgsIDB4MTEsCi0JMHhFOCwgMHg1MSwgMHhEMiwgMHhEQSwgMHhEMiwgMHhGMywgMHhFOCwgMHgxMywKLQkweEQyLCAweEZBLCAweEU4LCAweDUwLCAweEQyLCAweEVBLCAweEU4LCAweEQwCi19OwotCi1zdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBwYXRjaF9ibG9jazhbNjRdID0gewotCTB4RTgsIDB4RDEsIDB4RDMsIDB4MEEsIDB4MDMsIDB4MDksIDB4NDgsIDB4MjMsCi0JMHhFNSwgMHgyQywgMHhBMCwgMHgwMywgMHg0OCwgMHgyNCwgMHhFQSwgMHgxQywKLQkweDAzLCAweDA4LCAweEQyLCAweEUzLCAweEQzLCAweDAzLCAweEQzLCAweDEzLAotCTB4RTEsIDB4MDAsIDB4MDIsIDB4Q0IsIDB4MDUsIDB4OTMsIDB4NTcsIDB4OTMsCi0JMHhGMCwgMHg5QSwgMHhBQywgMHgwQiwgMHhFMywgMHgwNywgMHg5MiwgMHhFQSwKLQkweEUyLCAweDlGLCAweEU1LCAweDA2LCAweEUzLCAweEIwLCAweEEwLCAweDAyLAotCTB4RUIsIDB4MUUsIDB4ODIsIDB4RDcsIDB4RUEsIDB4MUUsIDB4RTIsIDB4M0IsCi0JMHg4NSwgMHg5QiwgMHhFOSwgMHgxRSwgMHhDOCwgMHg5MCwgMHg4NSwgMHg5NAotfTsKLQotc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgcGF0Y2hfYmxvY2s5WzY0XSA9IHsKLQkweDAyLCAweERFLCAweDA1LCAweDgwLCAweDU3LCAweDkzLCAweEYwLCAweEJBLAotCTB4QUMsIDB4MDYsIDB4OTIsIDB4RUEsIDB4RTIsIDB4QkYsIDB4RTUsIDB4MDYsCi0JMHhBMCwgMHgwMSwgMHhFQiwgMHhCRiwgMHg4NSwgMHg4OCwgMHhFOSwgMHgzRSwKLQkweEM4LCAweDkwLCAweDg1LCAweDgxLCAweEU5LCAweDNFLCAweEYwLCAweEJBLAotCTB4RjMsIDB4MzksIDB4RjAsIDB4M0EsIDB4NjAsIDB4MTcsIDB4RjAsIDB4M0EsCi0JMHhDMCwgMHg5MCwgMHhGMCwgMHhCQSwgMHhFMSwgMHgwMCwgMHgwMCwgMHgzRiwKLQkweEUzLCAweDAyLCAweEUzLCAweDAzLCAweDU4LCAweDEwLCAweDYwLCAweDU5LAotCTB4RTYsIDB4OTMsIDB4MEQsIDB4QTIsIDB4NTgsIDB4MTIsIDB4RTYsIDB4OTMKLX07Ci0KLXN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHBhdGNoX2Jsb2NrMTBbNjRdID0gewotCTB4MEQsIDB4QUEsIDB4RTMsIDB4OTgsIDB4RTMsIDB4OTAsIDB4RTEsIDB4MDAsCi0JMHgwMywgMHgwMSwgMHhFMSwgMHgwMCwgMHgwMywgMHgwMywgMHg5QiwgMHg3RCwKLQkweDhCLCAweDhCLCAweEUzLCAweDAyLCAweEUzLCAweDAzLCAweDU4LCAweDU2LAotCTB4NjAsIDB4NTksIDB4RTYsIDB4OTMsIDB4MEQsIDB4QkEsIDB4RTMsIDB4OTgsCi0JMHhFMywgMHg5MCwgMHhFMSwgMHgwMCwgMHgwMywgMHgwRiwgMHg5MywgMHgxMSwKLQkweEUxLCAweDAwLCAweEUzLCAweDAyLCAweDRBLCAweDExLCAweDBCLCAweDQyLAotCTB4OTEsIDB4QUYsIDB4RTMsIDB4OTAsIDB4RTEsIDB4MDAsIDB4RjIsIDB4OTEsCi0JMHhGMCwgMHg5MSwgMHhBMywgMHhGRSwgMHhFMSwgMHgwMCwgMHg2MCwgMHg5MgotfTsKLQotc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgcGF0Y2hfYmxvY2sxMVs2NF0gPSB7Ci0JMHhDMCwgMHg1RiwgMHhGMCwgMHgxMywgMHhGMCwgMHgxMywgMHg1OSwgMHg1QiwKLQkweEUyLCAweDEzLCAweEYwLCAweDExLCAweDVBLCAweDE5LCAweEUyLCAweDEzLAotCTB4RTEsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDMsIDB4MjcsIDB4NjgsIDB4NjEsCi0JMHg3NiwgMHg2MSwgMHg2RSwgMHg2MSwgMHgwMCwgMHgwNiwgMHgwMywgMHgyQywKLQkweEUzLCAweDAyLCAweEUzLCAweDAzLCAweEU5LCAweDM4LCAweDU5LCAweDE1LAotCTB4NTksIDB4NUEsIDB4RjIsIDB4OUEsIDB4QkMsIDB4MEIsIDB4QTQsIDB4MEEsCi0JMHg1OSwgMHgxRSwgMHhGMywgMHgxMSwgMHhGMCwgMHgxQSwgMHhFMiwgMHhCQiwKLQkweDU5LCAweDE1LCAweEYwLCAweDExLCAweDE5LCAweDJBLCAweEU1LCAweDAyCi19OwotCi1zdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBwYXRjaF9ibG9jazEyWzU0XSA9IHsKLQkweEE0LCAweDAxLCAweEVCLCAweEJGLCAweEUzLCAweDk4LCAweEUzLCAweDkwLAotCTB4RTEsIDB4MDAsIDB4MDMsIDB4NDIsIDB4MTksIDB4MjgsIDB4RTEsIDB4MDAsCi0JMHhFOSwgMHgzMCwgMHg2MCwgMHg3OSwgMHhFMSwgMHgwMCwgMHhFMywgMHgwMywKLQkweEUzLCAweDA3LCAweDYwLCAweDc5LCAweDkzLCAweDRFLCAweEUzLCAweEI4LAotCTB4RTMsIDB4OTgsIDB4RTEsIDB4MDAsIDB4RTksIDB4MUEsIDB4RjAsIDB4MUYsCi0JMHhFMiwgMHgzMywgMHhGMCwgMHg5MSwgMHhFMiwgMHg5MiwgMHhFMCwgMHgzMiwKLQkweEYwLCAweDMxLCAweEUxLCAweDAwLCAweDAwLCAweDAwCi19OwotCi1zdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBkb19jYWxsWzFdID0gewotCTB4MDEKLX07Ci0KLQotI2RlZmluZSBQQVRDSF9EQVRBX1NJWkUgMTgKLQotc3RhdGljIGNvbnN0IGNwaWEyX3BhdGNoIHBhdGNoX2RhdGFbUEFUQ0hfREFUQV9TSVpFXSA9IHsKLQl7MHgwQSwgc2l6ZW9mKHN0YXJ0X2FkZHJlc3NfaGkpLCBzdGFydF9hZGRyZXNzX2hpfQotCSwJCQkvLyAwCi0JezB4MEIsIHNpemVvZihzdGFydF9hZGRyZXNzX2xvKSwgc3RhcnRfYWRkcmVzc19sb30KLQksCQkJLy8gMQotCXsweDBDLCBzaXplb2YocGF0Y2hfYmxvY2swKSwgcGF0Y2hfYmxvY2swfQotCSwJCQkvLyAyCi0JezB4MEMsIHNpemVvZihwYXRjaF9ibG9jazEpLCBwYXRjaF9ibG9jazF9Ci0JLAkJCS8vIDMKLQl7MHgwQywgc2l6ZW9mKHBhdGNoX2Jsb2NrMiksIHBhdGNoX2Jsb2NrMn0KLQksCQkJLy8gNAotCXsweDBDLCBzaXplb2YocGF0Y2hfYmxvY2szKSwgcGF0Y2hfYmxvY2szfQotCSwJCQkvLyA1Ci0JezB4MEMsIHNpemVvZihwYXRjaF9ibG9jazQpLCBwYXRjaF9ibG9jazR9Ci0JLAkJCS8vIDYKLQl7MHgwQywgc2l6ZW9mKHBhdGNoX2Jsb2NrNSksIHBhdGNoX2Jsb2NrNX0KLQksCQkJLy8gNwotCXsweDBDLCBzaXplb2YocGF0Y2hfYmxvY2s2KSwgcGF0Y2hfYmxvY2s2fQotCSwJCQkvLyA4Ci0JezB4MEMsIHNpemVvZihwYXRjaF9ibG9jazcpLCBwYXRjaF9ibG9jazd9Ci0JLAkJCS8vIDkKLQl7MHgwQywgc2l6ZW9mKHBhdGNoX2Jsb2NrOCksIHBhdGNoX2Jsb2NrOH0KLQksCQkJLy8gMTAKLQl7MHgwQywgc2l6ZW9mKHBhdGNoX2Jsb2NrOSksIHBhdGNoX2Jsb2NrOX0KLQksCQkJLy8xMQotCXsweDBDLCBzaXplb2YocGF0Y2hfYmxvY2sxMCksIHBhdGNoX2Jsb2NrMTB9Ci0JLAkJCS8vIDEyCi0JezB4MEMsIHNpemVvZihwYXRjaF9ibG9jazExKSwgcGF0Y2hfYmxvY2sxMX0KLQksCQkJLy8gMTMKLQl7MHgwQywgc2l6ZW9mKHBhdGNoX2Jsb2NrMTIpLCBwYXRjaF9ibG9jazEyfQotCSwJCQkvLyAxNAotCXsweDBBLCBzaXplb2Yoc3RhcnRfYWRkcmVzc19oaSksIHN0YXJ0X2FkZHJlc3NfaGl9Ci0JLAkJCS8vIDE1Ci0JezB4MEIsIHNpemVvZihzdGFydF9hZGRyZXNzX2xvKSwgc3RhcnRfYWRkcmVzc19sb30KLQksCQkJLy8gMTYKLQl7MHgwRCwgc2l6ZW9mKGRvX2NhbGwpLCBkb19jYWxsfQkvLzE3Ci19OwotCi0KLSNlbmRpZgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS92aWRlby9jeDE4L2N4MTgtYXYtZmlybXdhcmUuYyBiL2RyaXZlcnMvbWVkaWEvdmlkZW8vY3gxOC9jeDE4LWF2LWZpcm13YXJlLmMKaW5kZXggNTI2ZTE0Mi4uYTFhNmFmNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9tZWRpYS92aWRlby9jeDE4L2N4MTgtYXYtZmlybXdhcmUuYworKysgYi9kcml2ZXJzL21lZGlhL3ZpZGVvL2N4MTgvY3gxOC1hdi1maXJtd2FyZS5jCkBAIC0yOSw3ICsyOSw3IEBACiAJY29uc3Qgc3RydWN0IGZpcm13YXJlICpmdyA9IE5VTEw7CiAJdTMyIHNpemU7CiAJdTMyIHY7Ci0JdTggKnB0cjsKKwljb25zdCB1OCAqcHRyOwogCWludCBpOwogCiAJaWYgKHJlcXVlc3RfZmlybXdhcmUoJmZ3LCBGV0ZJTEUsICZjeC0+ZGV2LT5kZXYpICE9IDApIHsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvdmlkZW8vY3gyNTg0MC9jeDI1ODQwLWZpcm13YXJlLmMgYi9kcml2ZXJzL21lZGlhL3ZpZGVvL2N4MjU4NDAvY3gyNTg0MC1maXJtd2FyZS5jCmluZGV4IDYyMGQyOTUuLjhkNDg5YTQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbWVkaWEvdmlkZW8vY3gyNTg0MC9jeDI1ODQwLWZpcm13YXJlLmMKKysrIGIvZHJpdmVycy9tZWRpYS92aWRlby9jeDI1ODQwL2N4MjU4NDAtZmlybXdhcmUuYwpAQCAtNzksNyArNzksNyBAQAogCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IGZ3X3dyaXRlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQsIHU4ICpkYXRhLCBpbnQgc2l6ZSkKK3N0YXRpYyBpbnQgZndfd3JpdGUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCwgY29uc3QgdTggKmRhdGEsIGludCBzaXplKQogewogCWlmIChpMmNfbWFzdGVyX3NlbmQoY2xpZW50LCBkYXRhLCBzaXplKSA8IHNpemUpIHsKIAkJdjRsX2VycihjbGllbnQsICJmaXJtd2FyZSBsb2FkIGkyYyBmYWlsdXJlXG4iKTsKQEAgLTkzLDcgKzkzLDggQEAKIHsKIAlzdHJ1Y3QgY3gyNTg0MF9zdGF0ZSAqc3RhdGUgPSBpMmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50KTsKIAljb25zdCBzdHJ1Y3QgZmlybXdhcmUgKmZ3ID0gTlVMTDsKLQl1OCBidWZmZXJbNF0sICpwdHI7CisJdTggYnVmZmVyW0ZXU0VORF07CisJY29uc3QgdTggKnB0cjsKIAlpbnQgc2l6ZSwgcmV0dmFsOwogCiAJaWYgKHN0YXRlLT5pc19jeDIzODg1KQpAQCAtMTA4LDI5ICsxMDksMjMgQEAKIAogCWJ1ZmZlclswXSA9IDB4MDg7CiAJYnVmZmVyWzFdID0gMHgwMjsKLQlidWZmZXJbMl0gPSBmdy0+ZGF0YVswXTsKLQlidWZmZXJbM10gPSBmdy0+ZGF0YVsxXTsKLQlyZXR2YWwgPSBmd193cml0ZShjbGllbnQsIGJ1ZmZlciwgNCk7CiAKLQlpZiAocmV0dmFsIDwgMCkgewotCQlyZWxlYXNlX2Zpcm13YXJlKGZ3KTsKLQkJcmV0dXJuIHJldHZhbDsKLQl9Ci0KLQlzaXplID0gZnctPnNpemUgLSAyOworCXNpemUgPSBmdy0+c2l6ZTsKIAlwdHIgPSBmdy0+ZGF0YTsKIAl3aGlsZSAoc2l6ZSA+IDApIHsKLQkJcHRyWzBdID0gMHgwODsKLQkJcHRyWzFdID0gMHgwMjsKLQkJcmV0dmFsID0gZndfd3JpdGUoY2xpZW50LCBwdHIsIG1pbihGV1NFTkQsIHNpemUgKyAyKSk7CisJCWludCBsZW4gPSBtaW4oRldTRU5EIC0gMiwgc2l6ZSk7CisKKwkJbWVtY3B5KGJ1ZmZlciArIDIsIHB0ciwgbGVuKTsKKworCQlyZXR2YWwgPSBmd193cml0ZShjbGllbnQsIGJ1ZmZlciwgbGVuICsgMik7CiAKIAkJaWYgKHJldHZhbCA8IDApIHsKIAkJCXJlbGVhc2VfZmlybXdhcmUoZncpOwogCQkJcmV0dXJuIHJldHZhbDsKIAkJfQogCi0JCXNpemUgLT0gRldTRU5EIC0gMjsKLQkJcHRyICs9IEZXU0VORCAtIDI7CisJCXNpemUgLT0gbGVuOworCQlwdHIgKz0gbGVuOwogCX0KIAogCWVuZF9md19sb2FkKGNsaWVudCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL3ZpZGVvL2RhYmZpcm13YXJlLmggYi9kcml2ZXJzL21lZGlhL3ZpZGVvL2RhYmZpcm13YXJlLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGNiZDkyNjMuLjAwMDAwMDAKLS0tIGEvZHJpdmVycy9tZWRpYS92aWRlby9kYWJmaXJtd2FyZS5oCisrKyAvZGV2L251bGwKQEAgLTEsMTQxNSArMCwwIEBACi0vKgotICogZGFiZGF0YS5oIC0gZGFiIHVzYiBmaXJtd2FyZSBhbmQgYml0c3RyZWFtIGRhdGEKLSAqCi0gKiBDb3B5cmlnaHQgKEMpIDE5OTkgQmF5Q29tIEdtYkgKLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UKLSAqIGNvZGUgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIGNvbW1lbnQgd2l0aG91dAotICogbW9kaWZpY2F0aW9uLgotICovCi0KLXN0YXRpYyBJTlRFTF9IRVhfUkVDT1JEIGZpcm13YXJlW10gPSB7Ci0KLXsgIDIsIDB4MDAwMCwgMCwgezB4MjEsMHg1N30gfSwKLXsgIDMsIDB4MDAwMywgMCwgezB4MDIsMHgwMSwweDY2fSB9LAoteyAgMywgMHgwMDBiLCAwLCB7MHgwMiwweDAxLDB4NjZ9IH0sCi17ICAzLCAweDAwMTMsIDAsIHsweDAyLDB4MDEsMHg2Nn0gfSwKLXsgIDMsIDB4MDAxYiwgMCwgezB4MDIsMHgwMSwweDY2fSB9LAoteyAgMywgMHgwMDIzLCAwLCB7MHgwMiwweDAxLDB4NjZ9IH0sCi17ICAzLCAweDAwMmIsIDAsIHsweDAyLDB4MDEsMHg2Nn0gfSwKLXsgIDMsIDB4MDAzMywgMCwgezB4MDIsMHgwMywweDBmfSB9LAoteyAgMywgMHgwMDNiLCAwLCB7MHgwMiwweDAxLDB4NjZ9IH0sCi17ICAzLCAweDAwNDMsIDAsIHsweDAyLDB4MDEsMHgwMH0gfSwKLXsgIDMsIDB4MDA0YiwgMCwgezB4MDIsMHgwMSwweDY2fSB9LAoteyAgMywgMHgwMDUzLCAwLCB7MHgwMiwweDAxLDB4NjZ9IH0sCi17ICAzLCAweDAwNWIsIDAsIHsweDAyLDB4MDQsMHhiZH0gfSwKLXsgIDMsIDB4MDA2MywgMCwgezB4MDIsMHgwMSwweDY3fSB9LAoteyAgMywgMHgwMTAwLCAwLCB7MHgwMiwweDBjLDB4NWF9IH0sCi17ICAzLCAweDAxMDQsIDAsIHsweDAyLDB4MDEsMHhlZH0gfSwKLXsgIDMsIDB4MDEwOCwgMCwgezB4MDIsMHgwMiwweDUxfSB9LAoteyAgMywgMHgwMTBjLCAwLCB7MHgwMiwweDAyLDB4N2N9IH0sCi17ICAzLCAweDAxMTAsIDAsIHsweDAyLDB4MDIsMHhlNH0gfSwKLXsgIDEsIDB4MDExNCwgMCwgezB4MzJ9IH0sCi17ICAxLCAweDAxMTgsIDAsIHsweDMyfSB9LAoteyAgMywgMHgwMTFjLCAwLCB7MHgwMiwweDA1LDB4ZmR9IH0sCi17ICAzLCAweDAxMjAsIDAsIHsweDAyLDB4MDAsMHgwMH0gfSwKLXsgIDMsIDB4MDEyNCwgMCwgezB4MDIsMHgwMCwweDAwfSB9LAoteyAgMywgMHgwMTI4LCAwLCB7MHgwMiwweDA0LDB4M2N9IH0sCi17ICAzLCAweDAxMmMsIDAsIHsweDAyLDB4MDQsMHg2YX0gfSwKLXsgIDMsIDB4MDEzMCwgMCwgezB4MDIsMHgwMCwweDAwfSB9LAoteyAgMywgMHgwMTM0LCAwLCB7MHgwMiwweDAwLDB4MDB9IH0sCi17ICAzLCAweDAxMzgsIDAsIHsweDAyLDB4MDAsMHgwMH0gfSwKLXsgIDMsIDB4MDEzYywgMCwgezB4MDIsMHgwMCwweDAwfSB9LAoteyAgMywgMHgwMTQwLCAwLCB7MHgwMiwweDAwLDB4MDB9IH0sCi17ICAzLCAweDAxNDQsIDAsIHsweDAyLDB4MDAsMHgwMH0gfSwKLXsgIDMsIDB4MDE0OCwgMCwgezB4MDIsMHgwMCwweDAwfSB9LAoteyAgMywgMHgwMTRjLCAwLCB7MHgwMiwweDAwLDB4MDB9IH0sCi17ICAzLCAweDAxNTAsIDAsIHsweDAyLDB4MDAsMHgwMH0gfSwKLXsgIDMsIDB4MDE1NCwgMCwgezB4MDIsMHgwMCwweDAwfSB9LAoteyAxMCwgMHgwMTU3LCAwLCB7MHg3NSwweDgxLDB4N2YsMHhlNSwweDgyLDB4NjAsMHgwMywweDAyLDB4MDEsMHg2MX0gfSwKLXsgIDUsIDB4MDE2MSwgMCwgezB4MTIsMHgwNywweDZmLDB4MjEsMHg2NH0gfSwKLXsgIDEsIDB4MDE2NiwgMCwgezB4MzJ9IH0sCi17IDE0LCAweDAxNjcsIDAsIHsweGMwLDB4ZDAsMHhjMCwweDg2LDB4YzAsMHg4MiwweGMwLDB4ODMsMHhjMCwweGUwLDB4OTAsMHg3ZiwweDk3LDB4ZTB9IH0sCi17IDE0LCAweDAxNzUsIDAsIHsweDQ0LDB4ODAsMHhmMCwweDkwLDB4N2YsMHg2OSwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjB9IH0sCi17IDE0LCAweDAxODMsIDAsIHsweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjB9IH0sCi17IDE0LCAweDAxOTEsIDAsIHsweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4OTAsMHg3ZiwweDk3LDB4ZTB9IH0sCi17ICAzLCAweDAxOWYsIDAsIHsweDU1LDB4N2YsMHhmMH0gfSwKLXsgMTQsIDB4MDFhMiwgMCwgezB4OTAsMHg3ZiwweDlhLDB4ZTAsMHgzMCwweGU0LDB4MjMsMHg5MCwweDdmLDB4NjgsMHhmMCwweGYwLDB4ZjAsMHhmMH0gfSwKLXsgMTQsIDB4MDFiMCwgMCwgezB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMH0gfSwKLXsgMTQsIDB4MDFiZSwgMCwgezB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMH0gfSwKLXsgMTQsIDB4MDFjYywgMCwgezB4ZTUsMHhkOCwweGMyLDB4ZTMsMHhmNSwweGQ4LDB4ZDAsMHhlMCwweGQwLDB4ODMsMHhkMCwweDgyLDB4ZDAsMHg4Nn0gfSwKLXsgIDMsIDB4MDFkYSwgMCwgezB4ZDAsMHhkMCwweDMyfSB9LAoteyAgOCwgMHgwMWRkLCAwLCB7MHg3NSwweDg2LDB4MDAsMHg5MCwweGZmLDB4YzMsMHg3YywweDA1fSB9LAoteyAgNywgMHgwMWU1LCAwLCB7MHhhMywweGU1LDB4ODIsMHg0NSwweDgzLDB4NzAsMHhmOX0gfSwKLXsgIDEsIDB4MDFlYywgMCwgezB4MjJ9IH0sCi17IDE0LCAweDAxZWQsIDAsIHsweGMwLDB4ZTAsMHhjMCwweGYwLDB4YzAsMHg4MiwweGMwLDB4ODMsMHhjMCwweDAyLDB4YzAsMHgwMywweGMwLDB4ZDB9IH0sCi17IDE0LCAweDAxZmIsIDAsIHsweDc1LDB4ZDAsMHgwMCwweGMwLDB4ODYsMHg3NSwweDg2LDB4MDAsMHhlNSwweDkxLDB4YzIsMHhlNCwweGY1LDB4OTF9IH0sCi17IDEzLCAweDAyMDksIDAsIHsweDkwLDB4ODgsMHgwMCwweGUwLDB4ZjUsMHg0MSwweDkwLDB4N2YsMHhhYiwweDc0LDB4MDIsMHhmMCwweDkwfSB9LAoteyAgOSwgMHgwMjE2LCAwLCB7MHg3ZiwweGFiLDB4NzQsMHgwMiwweGYwLDB4ZTUsMHgzMiwweDYwLDB4MjF9IH0sCi17ICA0LCAweDAyMWYsIDAsIHsweDdhLDB4MDAsMHg3YiwweDAwfSB9LAoteyAxMSwgMHgwMjIzLCAwLCB7MHhjMywweGVhLDB4OTQsMHgxOCwweGViLDB4NjQsMHg4MCwweDk0LDB4ODAsMHg1MCwweDEyfSB9LAoteyAxNCwgMHgwMjJlLCAwLCB7MHg5MCwweDdmLDB4NjksMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4MGEsMHhiYSwweDAwfSB9LAoteyAgMiwgMHgwMjNjLCAwLCB7MHgwMSwweDBifSB9LAoteyAgMiwgMHgwMjNlLCAwLCB7MHg4MCwweGUzfSB9LAoteyAgMiwgMHgwMjQwLCAwLCB7MHhkMCwweDg2fSB9LAoteyAxNCwgMHgwMjQyLCAwLCB7MHhkMCwweGQwLDB4ZDAsMHgwMywweGQwLDB4MDIsMHhkMCwweDgzLDB4ZDAsMHg4MiwweGQwLDB4ZjAsMHhkMCwweGUwfSB9LAoteyAgMSwgMHgwMjUwLCAwLCB7MHgzMn0gfSwKLXsgMTQsIDB4MDI1MSwgMCwgezB4YzAsMHhlMCwweGMwLDB4ZjAsMHhjMCwweDgyLDB4YzAsMHg4MywweGMwLDB4ZDAsMHg3NSwweGQwLDB4MDAsMHhjMH0gfSwKLXsgMTQsIDB4MDI1ZiwgMCwgezB4ODYsMHg3NSwweDg2LDB4MDAsMHhlNSwweDkxLDB4YzIsMHhlNCwweGY1LDB4OTEsMHg5MCwweDdmLDB4YWIsMHg3NH0gfSwKLXsgIDQsIDB4MDI2ZCwgMCwgezB4MDQsMHhmMCwweGQwLDB4ODZ9IH0sCi17IDExLCAweDAyNzEsIDAsIHsweGQwLDB4ZDAsMHhkMCwweDgzLDB4ZDAsMHg4MiwweGQwLDB4ZjAsMHhkMCwweGUwLDB4MzJ9IH0sCi17IDE0LCAweDAyN2MsIDAsIHsweGMwLDB4ZTAsMHhjMCwweGYwLDB4YzAsMHg4MiwweGMwLDB4ODMsMHhjMCwweDAyLDB4YzAsMHgwMywweGMwLDB4MDR9IH0sCi17IDE0LCAweDAyOGEsIDAsIHsweGMwLDB4MDUsMHhjMCwweDA2LDB4YzAsMHgwNywweGMwLDB4MDAsMHhjMCwweDAxLDB4YzAsMHhkMCwweDc1LDB4ZDB9IH0sCi17IDEzLCAweDAyOTgsIDAsIHsweDAwLDB4YzAsMHg4NiwweDc1LDB4ODYsMHgwMCwweGU1LDB4OTEsMHhjMiwweGU0LDB4ZjUsMHg5MSwweDkwfSB9LAoteyAxMiwgMHgwMmE1LCAwLCB7MHg3ZiwweGFiLDB4NzQsMHgwOCwweGYwLDB4NzUsMHg2ZSwweDAwLDB4NzUsMHg2ZiwweDAyLDB4MTJ9IH0sCi17ICA2LCAweDAyYjEsIDAsIHsweDExLDB4NDQsMHg3NSwweDcwLDB4MzksMHg3NX0gfSwKLXsgIDYsIDB4MDJiNywgMCwgezB4NzEsMHgwYywweDc1LDB4NzIsMHgwMiwweDEyfSB9LAoteyAxMiwgMHgwMmJkLCAwLCB7MHgxMSwweDc1LDB4OTAsMHg3ZiwweGQ2LDB4ZTQsMHhmMCwweDc1LDB4ZDgsMHgyMCwweGQwLDB4ODZ9IH0sCi17IDE0LCAweDAyYzksIDAsIHsweGQwLDB4ZDAsMHhkMCwweDAxLDB4ZDAsMHgwMCwweGQwLDB4MDcsMHhkMCwweDA2LDB4ZDAsMHgwNSwweGQwLDB4MDR9IH0sCi17IDEzLCAweDAyZDcsIDAsIHsweGQwLDB4MDMsMHhkMCwweDAyLDB4ZDAsMHg4MywweGQwLDB4ODIsMHhkMCwweGYwLDB4ZDAsMHhlMCwweDMyfSB9LAoteyAxNCwgMHgwMmU0LCAwLCB7MHhjMCwweGUwLDB4YzAsMHhmMCwweGMwLDB4ODIsMHhjMCwweDgzLDB4YzAsMHhkMCwweDc1LDB4ZDAsMHgwMCwweGMwfSB9LAoteyAxNCwgMHgwMmYyLCAwLCB7MHg4NiwweDc1LDB4ODYsMHgwMCwweGU1LDB4OTEsMHhjMiwweGU0LDB4ZjUsMHg5MSwweDkwLDB4N2YsMHhhYiwweDc0fSB9LAoteyAgNCwgMHgwMzAwLCAwLCB7MHgxMCwweGYwLDB4ZDAsMHg4Nn0gfSwKLXsgMTEsIDB4MDMwNCwgMCwgezB4ZDAsMHhkMCwweGQwLDB4ODMsMHhkMCwweDgyLDB4ZDAsMHhmMCwweGQwLDB4ZTAsMHgzMn0gfSwKLXsgMTQsIDB4MDMwZiwgMCwgezB4YzAsMHhlMCwweGMwLDB4ZjAsMHhjMCwweDgyLDB4YzAsMHg4MywweGMwLDB4MDIsMHhjMCwweDAzLDB4YzAsMHgwNH0gfSwKLXsgMTQsIDB4MDMxZCwgMCwgezB4YzAsMHgwNSwweGMwLDB4MDYsMHhjMCwweDA3LDB4YzAsMHgwMCwweGMwLDB4MDEsMHhjMCwweGQwLDB4NzUsMHhkMH0gfSwKLXsgMTIsIDB4MDMyYiwgMCwgezB4MDAsMHhjMCwweDg2LDB4NzUsMHg4NiwweDAwLDB4NzUsMHg2ZSwweDAwLDB4NzUsMHg2ZiwweDAyfSB9LAoteyAgNywgMHgwMzM3LCAwLCB7MHgxMiwweDExLDB4NDQsMHg3NSwweDcwLDB4NDAsMHg3NX0gfSwKLXsgIDYsIDB4MDMzZSwgMCwgezB4NzEsMHgwYywweDc1LDB4NzIsMHgwMiwweDEyfSB9LAoteyAxNCwgMHgwMzQ0LCAwLCB7MHgxMSwweDc1LDB4OTAsMHg3ZiwweGQ2LDB4NzQsMHgwMiwweGYwLDB4OTAsMHg3ZiwweGQ2LDB4NzQsMHgwNiwweGYwfSB9LAoteyAgNSwgMHgwMzUyLCAwLCB7MHg3NSwweGQ4LDB4MTAsMHhkMCwweDg2fSB9LAoteyAxNCwgMHgwMzU3LCAwLCB7MHhkMCwweGQwLDB4ZDAsMHgwMSwweGQwLDB4MDAsMHhkMCwweDA3LDB4ZDAsMHgwNiwweGQwLDB4MDUsMHhkMCwweDA0fSB9LAoteyAxMywgMHgwMzY1LCAwLCB7MHhkMCwweDAzLDB4ZDAsMHgwMiwweGQwLDB4ODMsMHhkMCwweDgyLDB4ZDAsMHhmMCwweGQwLDB4ZTAsMHgzMn0gfSwKLXsgMTMsIDB4MDM3MiwgMCwgezB4OTAsMHg3ZiwweGE1LDB4NzQsMHg4MCwweGYwLDB4OTAsMHg3ZiwweGE2LDB4NzQsMHg5YSwweGYwLDB4MTJ9IH0sCi17IDEyLCAweDAzN2YsIDAsIHsweDEwLDB4MWIsMHg5MCwweDdmLDB4YTYsMHhlNSwweDQyLDB4ZjAsMHgxMiwweDEwLDB4MWIsMHg5MH0gfSwKLXsgMTMsIDB4MDM4YiwgMCwgezB4N2YsMHhhNiwweGU1LDB4NDMsMHhmMCwweDEyLDB4MTAsMHgxYiwweDkwLDB4N2YsMHhhNSwweDc0LDB4NDB9IH0sCi17ICAxLCAweDAzOTgsIDAsIHsweGYwfSB9LAoteyAgMSwgMHgwMzk5LCAwLCB7MHgyMn0gfSwKLXsgMTMsIDB4MDM5YSwgMCwgezB4OTAsMHg3ZiwweGE1LDB4NzQsMHg4MCwweGYwLDB4OTAsMHg3ZiwweGE2LDB4NzQsMHg5YSwweGYwLDB4MTJ9IH0sCi17IDEyLCAweDAzYTcsIDAsIHsweDEwLDB4MWIsMHg5MCwweDdmLDB4YTYsMHhlNSwweDQ0LDB4ZjAsMHgxMiwweDEwLDB4MWIsMHg5MH0gfSwKLXsgMTIsIDB4MDNiMywgMCwgezB4N2YsMHhhNiwweGU1LDB4NDUsMHhmMCwweDEyLDB4MTAsMHgxYiwweDkwLDB4N2YsMHhhNiwweGU1fSB9LAoteyAxMSwgMHgwM2JmLCAwLCB7MHg0NiwweGYwLDB4MTIsMHgxMCwweDFiLDB4OTAsMHg3ZiwweGE1LDB4NzQsMHg0MCwweGYwfSB9LAoteyAgMSwgMHgwM2NhLCAwLCB7MHgyMn0gfSwKLXsgMTAsIDB4MDNjYiwgMCwgezB4NzUsMHg0NCwweDAyLDB4NzUsMHg0NSwweDAwLDB4NzUsMHg0NiwweDAwLDB4MTJ9IH0sCi17ICA5LCAweDAzZDUsIDAsIHsweDAzLDB4OWEsMHg3NSwweDQyLDB4MDMsMHg3NSwweDQzLDB4MDAsMHgxMn0gfSwKLXsgIDIsIDB4MDNkZSwgMCwgezB4MDMsMHg3Mn0gfSwKLXsgIDEsIDB4MDNlMCwgMCwgezB4MjJ9IH0sCi17IDEyLCAweDAzZTEsIDAsIHsweDkwLDB4ODgsMHgwMCwweGU1LDB4MzYsMHhmMCwweDkwLDB4ODgsMHgwMCwweDc0LDB4MTAsMHgyNX0gfSwKLXsgIDksIDB4MDNlZCwgMCwgezB4MzYsMHhmMCwweDEyLDB4MDEsMHhkZCwweDc1LDB4NDIsMHgwMSwweDc1fSB9LAoteyAgOSwgMHgwM2Y2LCAwLCB7MHg0MywweDE4LDB4MTIsMHgwMywweDcyLDB4NzUsMHg0NCwweDAyLDB4NzV9IH0sCi17ICA5LCAweDAzZmYsIDAsezB4NDUsMHgwMCwweDc1LDB4NDYsMHgwMCwweDEyLDB4MDMsMHg5YSwweDc1fSB9LAoteyAgOCwgMHgwNDA4LCAwLHsweDQyLDB4MDMsMHg3NSwweDQzLDB4NDQsMHgxMiwweDAzLDB4NzJ9IH0sCi17ICAxLCAweDA0MTAsIDAsezB4MjJ9IH0sCi17IDE0LCAweDA0MTEsIDAsIHsweGMwLDB4ZTAsMHhjMCwweGYwLDB4YzAsMHg4MiwweGMwLDB4ODMsMHhjMCwweGQwLDB4NzUsMHhkMCwweDAwLDB4YzB9IH0sCi17IDE0LCAweDA0MWYsIDAsIHsweDg2LDB4NzUsMHg4NiwweDAwLDB4ZTUsMHg5MSwweGMyLDB4ZTQsMHhmNSwweDkxLDB4OTAsMHg3ZiwweGFhLDB4NzR9IH0sCi17ICA0LCAweDA0MmQsIDAsIHsweDAyLDB4ZjAsMHhkMCwweDg2fSB9LAoteyAxMSwgMHgwNDMxLCAwLCB7MHhkMCwweGQwLDB4ZDAsMHg4MywweGQwLDB4ODIsMHhkMCwweGYwLDB4ZDAsMHhlMCwweDMyfSB9LAoteyAxNCwgMHgwNDNjLCAwLCB7MHhjMCwweGUwLDB4YzAsMHhmMCwweGMwLDB4ODIsMHhjMCwweDgzLDB4YzAsMHhkMCwweDc1LDB4ZDAsMHgwMCwweGMwfSB9LAoteyAxNCwgMHgwNDRhLCAwLCB7MHg4NiwweDc1LDB4ODYsMHgwMCwweGU1LDB4OTEsMHhjMiwweGU0LDB4ZjUsMHg5MSwweDkwLDB4N2YsMHhhOSwweDc0fSB9LAoteyAgNywgMHgwNDU4LCAwLCB7MHgwNCwweGYwLDB4NzUsMHgzMCwweDAxLDB4ZDAsMHg4Nn0gfSwKLXsgMTEsIDB4MDQ1ZiwgMCwgezB4ZDAsMHhkMCwweGQwLDB4ODMsMHhkMCwweDgyLDB4ZDAsMHhmMCwweGQwLDB4ZTAsMHgzMn0gfSwKLXsgMTQsIDB4MDQ2YSwgMCwgezB4YzAsMHhlMCwweGMwLDB4ZjAsMHhjMCwweDgyLDB4YzAsMHg4MywweGMwLDB4ZDAsMHg3NSwweGQwLDB4MDAsMHhjMH0gfSwKLXsgMTQsIDB4MDQ3OCwgMCwgezB4ODYsMHg3NSwweDg2LDB4MDAsMHhlNSwweDkxLDB4YzIsMHhlNCwweGY1LDB4OTEsMHg5MCwweDdmLDB4YWEsMHg3NH0gfSwKLXsgIDcsIDB4MDQ4NiwgMCwgezB4MDQsMHhmMCwweDc1LDB4MzEsMHgwMSwweGQwLDB4ODZ9IH0sCi17IDExLCAweDA0OGQsIDAsIHsweGQwLDB4ZDAsMHhkMCwweDgzLDB4ZDAsMHg4MiwweGQwLDB4ZjAsMHhkMCwweGUwLDB4MzJ9IH0sCi17IDE0LCAweDA0OTgsIDAsIHsweGMwLDB4ZTAsMHhjMCwweGYwLDB4YzAsMHg4MiwweGMwLDB4ODMsMHhjMCwweGQwLDB4NzUsMHhkMCwweDAwLDB4YzB9IH0sCi17IDEyLCAweDA0YTYsIDAsIHsweDg2LDB4NzUsMHg4NiwweDAwLDB4ZTUsMHg5MSwweGMyLDB4ZTUsMHhmNSwweDkxLDB4ZDAsMHg4Nn0gfSwKLXsgMTEsIDB4MDRiMiwgMCwgezB4ZDAsMHhkMCwweGQwLDB4ODMsMHhkMCwweDgyLDB4ZDAsMHhmMCwweGQwLDB4ZTAsMHgzMn0gfSwKLXsgMTQsIDB4MDRiZCwgMCwgezB4YzAsMHhlMCwweGMwLDB4ZjAsMHhjMCwweDgyLDB4YzAsMHg4MywweGMwLDB4ZDAsMHg3NSwweGQwLDB4MDAsMHhjMH0gfSwKLXsgMTIsIDB4MDRjYiwgMCwgezB4ODYsMHg3NSwweDg2LDB4MDAsMHhlNSwweDkxLDB4YzIsMHhlNywweGY1LDB4OTEsMHhkMCwweDg2fSB9LAoteyAxMSwgMHgwNGQ3LCAwLCB7MHhkMCwweGQwLDB4ZDAsMHg4MywweGQwLDB4ODIsMHhkMCwweGYwLDB4ZDAsMHhlMCwweDMyfSB9LAoteyAxMiwgMHgwNGUyLCAwLCB7MHg5MCwweDdmLDB4ZWEsMHhlMCwweGZhLDB4OGEsMHgyMCwweDkwLDB4N2YsMHg5NiwweGU0LDB4ZjB9IH0sCi17ICAxLCAweDA0ZWUsIDAsIHsweDIyfSB9LAoteyAgNywgMHgwNGVmLCAwLCB7MHg5MCwweDdmLDB4ZWEsMHhlMCwweGZhLDB4OGEsMHgyMX0gfSwKLXsgIDEsIDB4MDRmNiwgMCwgezB4MjJ9IH0sCi17IDE0LCAweDA0ZjcsIDAsIHsweDkwLDB4MTcsMHgxMywweGUwLDB4ZmEsMHg5MCwweDE3LDB4MTUsMHhlMCwweGZiLDB4NzQsMHg4MCwweDJhLDB4ZmF9IH0sCi17IDE0LCAweDA1MDUsIDAsIHsweDc0LDB4ODAsMHgyYiwweGZiLDB4ZWEsMHgwMywweDAzLDB4NTQsMHgzZiwweGZjLDB4ZWEsMHhjNCwweDIzLDB4NTR9IH0sCi17IDE0LCAweDA1MTMsIDAsIHsweDFmLDB4ZmEsMHgyYywweGZhLDB4ZWIsMHgwMywweDAzLDB4NTQsMHgzZiwweGZjLDB4ZWIsMHhjNCwweDIzLDB4NTR9IH0sCi17IDExLCAweDA1MjEsIDAsIHsweDFmLDB4ZmIsMHgyYywweGZiLDB4OTAsMHgxNywweDBhLDB4ZTAsMHhmYywweDYwLDB4MDJ9IH0sCi17ICAyLCAweDA1MmMsIDAsIHsweDdhLDB4MDB9IH0sCi17ICA3LCAweDA1MmUsIDAsIHsweDkwLDB4MTcsMHgwYywweGUwLDB4ZmMsMHg2MCwweDAyfSB9LAoteyAgMiwgMHgwNTM1LCAwLCB7MHg3YiwweDAwfSB9LAoteyAxMSwgMHgwNTM3LCAwLCB7MHhlYSwweDJiLDB4ZmMsMHhjMywweDEzLDB4ZjUsMHgzYSwweDc1LDB4NDQsMHgwMiwweDhifSB9LAoteyAgNywgMHgwNTQyLCAwLCB7MHg0NSwweDhhLDB4NDYsMHgxMiwweDAzLDB4OWEsMHg3NX0gfSwKLXsgIDksIDB4MDU0OSwgMCwgezB4NmUsMHgwOCwweDc1LDB4NmYsMHgwMCwweDEyLDB4MTEsMHg0NCwweDc1fSB9LAoteyAgNCwgMHgwNTUyLCAwLCB7MHg3MCwweDQ3LDB4NzUsMHg3MX0gfSwKLXsgIDgsIDB4MDU1NiwgMCwgezB4MGMsMHg3NSwweDcyLDB4MDIsMHgxMiwweDExLDB4NzUsMHg4NX0gfSwKLXsgIDUsIDB4MDU1ZSwgMCwgezB4M2EsMHg3MywweDEyLDB4MTEsMHhhMH0gfSwKLXsgIDEsIDB4MDU2MywgMCwgezB4MjJ9IH0sCi17IDE0LCAweDA1NjQsIDAsIHsweDkwLDB4N2YsMHg5NiwweGUwLDB4ZmEsMHg5MCwweDdmLDB4OTYsMHg3NCwweDgwLDB4NjUsMHgwMiwweGYwLDB4OTB9IH0sCi17IDE0LCAweDA1NzIsIDAsIHsweDdmLDB4ZWIsMHhlMCwweGZhLDB4OTAsMHg3ZiwweGVhLDB4ZTAsMHhmYiwweDkwLDB4N2YsMHhlZiwweGUwLDB4ZmN9IH0sCi17IDE0LCAweDA1ODAsIDAsIHsweDMzLDB4OTUsMHhlMCwweGZkLDB4OGMsMHgwNSwweDdjLDB4MDAsMHg5MCwweDdmLDB4ZWUsMHhlMCwweGZlLDB4MzN9IH0sCi17IDE0LCAweDA1OGUsIDAsIHsweDk1LDB4ZTAsMHhmZiwweGVjLDB4MmUsMHhmYywweGVkLDB4M2YsMHhmZCwweDkwLDB4N2YsMHhlOSwweGUwLDB4ZmV9IH0sCi17ICA1LCAweDA1OWMsIDAsIHsweGJlLDB4MDEsMHgwMiwweDgwLDB4MDN9IH0sCi17ICAzLCAweDA1YTEsIDAsIHsweDAyLDB4MDUsMHhmOX0gfSwKLXsgIDYsIDB4MDVhNCwgMCwgezB4YmMsMHgwMSwweDIxLDB4YmQsMHgwMCwweDFlfSB9LAoteyAxNCwgMHgwNWFhLCAwLCB7MHhlYSwweGM0LDB4MDMsMHg1NCwweGY4LDB4ZmMsMHhlYiwweDI1LDB4ZTAsMHhmZCwweDJjLDB4MjQsMHgwMCwweGZjfSB9LAoteyAxNCwgMHgwNWI4LCAwLCB7MHhlNCwweDM0LDB4MTcsMHhmZCwweDkwLDB4N2UsMHhjMCwweGUwLDB4ZmUsMHg4YywweDgyLDB4OGQsMHg4MywweGYwfSB9LAoteyAgMiwgMHgwNWM2LCAwLCB7MHg4MCwweDMxfSB9LAoteyAxNCwgMHgwNWM4LCAwLCB7MHhlYSwweGM0LDB4MDMsMHg1NCwweGY4LDB4ZmEsMHhlYiwweDI1LDB4ZTAsMHhmYiwweDJhLDB4ZmEsMHgyNCwweDAwfSB9LAoteyAxNCwgMHgwNWQ2LCAwLCB7MHhmYiwweGU0LDB4MzQsMHgxNywweGZjLDB4OTAsMHg3ZSwweGMwLDB4ZTAsMHhmZCwweDhiLDB4ODIsMHg4YywweDgzfSB9LAoteyAxNCwgMHgwNWU0LCAwLCB7MHhmMCwweDc0LDB4MDEsMHgyYSwweDI0LDB4MDAsMHhmYSwweGU0LDB4MzQsMHgxNywweGZiLDB4OTAsMHg3ZSwweGMxfSB9LAoteyAgNywgMHgwNWYyLCAwLCB7MHhlMCwweGZjLDB4OGEsMHg4MiwweDhiLDB4ODMsMHhmMH0gfSwKLXsgIDMsIDB4MDVmOSwgMCwgezB4NzUsMHgzOCwweDAxfSB9LAoteyAgMSwgMHgwNWZjLCAwLCB7MHgyMn0gfSwKLXsgMTQsIDB4MDVmZCwgMCwgezB4YzAsMHhlMCwweGMwLDB4ZjAsMHhjMCwweDgyLDB4YzAsMHg4MywweGMwLDB4MDIsMHhjMCwweDAzLDB4YzAsMHgwNH0gfSwKLXsgMTQsIDB4MDYwYiwgMCwgezB4YzAsMHgwNSwweGMwLDB4MDYsMHhjMCwweDA3LDB4YzAsMHgwMCwweGMwLDB4MDEsMHhjMCwweGQwLDB4NzUsMHhkMH0gfSwKLXsgMTMsIDB4MDYxOSwgMCwgezB4MDAsMHhjMCwweDg2LDB4NzUsMHg4NiwweDAwLDB4ZTUsMHg5MSwweGMyLDB4ZTQsMHhmNSwweDkxLDB4OTB9IH0sCi17IDEzLCAweDA2MjYsIDAsIHsweDdmLDB4YWEsMHg3NCwweDAxLDB4ZjAsMHgxMiwweDA1LDB4NjQsMHg3NSwweDM3LDB4MDAsMHhkMCwweDg2fSB9LAoteyAxNCwgMHgwNjMzLCAwLCB7MHhkMCwweGQwLDB4ZDAsMHgwMSwweGQwLDB4MDAsMHhkMCwweDA3LDB4ZDAsMHgwNiwweGQwLDB4MDUsMHhkMCwweDA0fSB9LAoteyAxMywgMHgwNjQxLCAwLCB7MHhkMCwweDAzLDB4ZDAsMHgwMiwweGQwLDB4ODMsMHhkMCwweDgyLDB4ZDAsMHhmMCwweGQwLDB4ZTAsMHgzMn0gfSwKLXsgMTQsIDB4MDY0ZSwgMCwgezB4OTAsMHg3ZiwweGViLDB4ZTAsMHhmYSwweDkwLDB4N2YsMHhlYSwweGUwLDB4ZmIsMHg5MCwweDdmLDB4ZWUsMHhlMH0gfSwKLXsgMTQsIDB4MDY1YywgMCwgezB4ZmMsMHgzMywweDk1LDB4ZTAsMHhmZCwweDkwLDB4N2YsMHg5NiwweGUwLDB4ZmUsMHg5MCwweDdmLDB4OTYsMHg3NH0gfSwKLXsgMTQsIDB4MDY2YSwgMCwgezB4ODAsMHg2NSwweDA2LDB4ZjAsMHg5MCwweDdmLDB4MDAsMHg3NCwweDAxLDB4ZjAsMHhlYSwweGM0LDB4MDMsMHg1NH0gfSwKLXsgMTQsIDB4MDY3OCwgMCwgezB4ZjgsMHhmZSwweGViLDB4MjUsMHhlMCwweGZiLDB4MmUsMHhmZSwweDI0LDB4MDAsMHhmYiwweGU0LDB4MzQsMHgxN30gfSwKLXsgMTQsIDB4MDY4NiwgMCwgezB4ZmYsMHg4YiwweDgyLDB4OGYsMHg4MywweGUwLDB4ZmIsMHg3NCwweDAxLDB4MmUsMHgyNCwweDAwLDB4ZmUsMHhlNH0gfSwKLXsgMTQsIDB4MDY5NCwgMCwgezB4MzQsMHgxNywweGZmLDB4OGUsMHg4MiwweDhmLDB4ODMsMHhlMCwweGZlLDB4OTAsMHg3ZiwweGU5LDB4ZTAsMHhmZn0gfSwKLXsgIDMsIDB4MDZhMiwgMCwgezB4YmYsMHg4MSwweDBhfSB9LAoteyAxMCwgMHgwNmE1LCAwLCB7MHg5MCwweDdmLDB4MDAsMHhlYiwweGYwLDB4OTAsMHg3ZiwweDAxLDB4ZWUsMHhmMH0gfSwKLXsgIDgsIDB4MDZhZiwgMCwgezB4OTAsMHg3ZiwweGU5LDB4ZTAsMHhmYiwweGJiLDB4ODIsMHgxYX0gfSwKLXsgIDMsIDB4MDZiNywgMCwgezB4YmEsMHgwMSwweDBjfSB9LAoteyAxMiwgMHgwNmJhLCAwLCB7MHg5MCwweDdmLDB4MDAsMHhlNCwweGYwLDB4OTAsMHg3ZiwweDAxLDB4ZTQsMHhmMCwweDgwLDB4MGJ9IH0sCi17IDExLCAweDA2YzYsIDAsIHsweDkwLDB4N2YsMHgwMCwweGU0LDB4ZjAsMHg5MCwweDdmLDB4MDEsMHg3NCwweGI1LDB4ZjB9IH0sCi17ICA4LCAweDA2ZDEsIDAsIHsweDkwLDB4N2YsMHhlOSwweGUwLDB4ZmIsMHhiYiwweDgzLDB4MWJ9IH0sCi17ICAzLCAweDA2ZDksIDAsIHsweGJhLDB4MDEsMHgwZH0gfSwKLXsgMTMsIDB4MDZkYywgMCwgezB4OTAsMHg3ZiwweDAwLDB4NzQsMHgwMSwweGYwLDB4OTAsMHg3ZiwweDAxLDB4ZTQsMHhmMCwweDgwLDB4MGJ9IH0sCi17IDExLCAweDA2ZTksIDAsIHsweDkwLDB4N2YsMHgwMCwweGU0LDB4ZjAsMHg5MCwweDdmLDB4MDEsMHg3NCwweDEyLDB4ZjB9IH0sCi17ICA4LCAweDA2ZjQsIDAsIHsweDkwLDB4N2YsMHhlOSwweGUwLDB4ZmIsMHhiYiwweDg0LDB4MWN9IH0sCi17ICAzLCAweDA2ZmMsIDAsIHsweGJhLDB4MDEsMHgwZH0gfSwKLXsgMTMsIDB4MDZmZiwgMCwgezB4OTAsMHg3ZiwweDAwLDB4NzQsMHgwMSwweGYwLDB4OTAsMHg3ZiwweDAxLDB4ZTQsMHhmMCwweDgwLDB4MGN9IH0sCi17IDEyLCAweDA3MGMsIDAsIHsweDkwLDB4N2YsMHgwMCwweDc0LDB4ODAsMHhmMCwweDkwLDB4N2YsMHgwMSwweDc0LDB4MDEsMHhmMH0gfSwKLXsgIDUsIDB4MDcxOCwgMCwgezB4OTAsMHg3ZiwweGI1LDB4ZWMsMHhmMH0gfSwKLXsgIDEsIDB4MDcxZCwgMCwgezB4MjJ9IH0sCi17IDEyLCAweDA3MWUsIDAsIHsweDc1LDB4MzYsMHgwZCwweDkwLDB4ODgsMHgwMCwweDc0LDB4MWQsMHhmMCwweDc1LDB4NmIsMHg4MH0gfSwKLXsgMTAsIDB4MDcyYSwgMCwgezB4NzUsMHg2YywweDNjLDB4MTIsMHgxMCwweGUyLDB4NzUsMHg2YiwweDgwLDB4NzV9IH0sCi17ICA5LCAweDA3MzQsIDAsIHsweDZjLDB4MGYsMHgxMiwweDEwLDB4ZTIsMHg3NSwweDZiLDB4ODAsMHg3NX0gfSwKLXsgIDksIDB4MDczZCwgMCwgezB4NmMsMHgwNiwweDEyLDB4MTAsMHhlMiwweDc1LDB4NmIsMHg4MCwweDc1fSB9LAoteyAgNywgMHgwNzQ2LCAwLCB7MHg2YywweDAxLDB4MTIsMHgxMCwweGUyLDB4N2EsMHgwMH0gfSwKLXsgIDMsIDB4MDc0ZCwgMCwgezB4YmEsMHhmZiwweDAwfSB9LAoteyAgMiwgMHgwNzUwLCAwLCB7MHg1MCwweDBhfSB9LAoteyAxMCwgMHgwNzUyLCAwLCB7MHhjMCwweDAyLDB4MTIsMHgwMSwweGRkLDB4ZDAsMHgwMiwweDBhLDB4ODAsMHhmMX0gfSwKLXsgMTAsIDB4MDc1YywgMCwgezB4NzUsMHg2YiwweDgwLDB4NzUsMHg2YywweDNjLDB4MTIsMHgxMCwweGUyLDB4NzV9IH0sCi17ICA4LCAweDA3NjYsIDAsIHsweDZiLDB4ODAsMHg3NSwweDZjLDB4MGYsMHgxMiwweDEwLDB4ZTJ9IH0sCi17ICAxLCAweDA3NmUsIDAsIHsweDIyfSB9LAoteyAxNCwgMHgwNzZmLCAwLCB7MHg5MCwweDdmLDB4YTEsMHhlNCwweGYwLDB4OTAsMHg3ZiwweGFmLDB4NzQsMHgwMSwweGYwLDB4OTAsMHg3ZiwweDkyfSB9LAoteyAxNCwgMHgwNzdkLCAwLCB7MHg3NCwweDAyLDB4ZjAsMHg3NSwweDhlLDB4MzEsMHg3NSwweDg5LDB4MjEsMHg3NSwweDg4LDB4MDAsMHg3NSwweGM4fSB9LAoteyAxNCwgMHgwNzhiLCAwLCB7MHgwMCwweDc1LDB4OGQsMHg0MCwweDc1LDB4OTgsMHg0MCwweDc1LDB4YzAsMHg0MCwweDc1LDB4ODcsMHgwMCwweDc1fSB9LAoteyAgOSwgMHgwNzk5LCAwLCB7MHgyMCwweDAwLDB4NzUsMHgyMSwweDAwLDB4NzUsMHgyMiwweDAwLDB4NzV9IH0sCi17ICA1LCAweDA3YTIsIDAsIHsweDIzLDB4MDAsMHg3NSwweDQ3LDB4MDB9IH0sCi17ICA3LCAweDA3YTcsIDAsIHsweGMzLDB4ZTUsMHg0NywweDk0LDB4MjAsMHg1MCwweDExfSB9LAoteyAxMywgMHgwN2FlLCAwLCB7MHhlNSwweDQ3LDB4MjQsMHgwMCwweGY1LDB4ODIsMHhlNCwweDM0LDB4MTcsMHhmNSwweDgzLDB4ZTQsMHhmMH0gfSwKLXsgIDQsIDB4MDdiYiwgMCwgezB4MDUsMHg0NywweDgwLDB4ZTh9IH0sCi17ICA5LCAweDA3YmYsIDAsIHsweGU0LDB4ZjUsMHg0MCwweGY1LDB4M2YsMHhlNCwweGY1LDB4M2MsMHhmNX0gfSwKLXsgIDcsIDB4MDdjOCwgMCwgezB4M2IsMHhlNCwweGY1LDB4M2UsMHhmNSwweDNkLDB4NzV9IH0sCi17IDExLCAweDA3Y2YsIDAsIHsweDMyLDB4MDAsMHg3NSwweDM3LDB4MDAsMHg3NSwweDM5LDB4MDAsMHg5MCwweDdmLDB4OTN9IH0sCi17IDE0LCAweDA3ZGEsIDAsIHsweDc0LDB4M2MsMHhmMCwweDkwLDB4N2YsMHg5YywweDc0LDB4ZmYsMHhmMCwweDkwLDB4N2YsMHg5NiwweDc0LDB4ODB9IH0sCi17IDE0LCAweDA3ZTgsIDAsIHsweGYwLDB4OTAsMHg3ZiwweDk0LDB4NzQsMHg3MCwweGYwLDB4OTAsMHg3ZiwweDlkLDB4NzQsMHg4ZiwweGYwLDB4OTB9IH0sCi17IDE0LCAweDA3ZjYsIDAsIHsweDdmLDB4OTcsMHhlNCwweGYwLDB4OTAsMHg3ZiwweDk1LDB4NzQsMHhjMiwweGYwLDB4OTAsMHg3ZiwweDk4LDB4NzR9IH0sCi17IDE0LCAweDA4MDQsIDAsIHsweDI4LDB4ZjAsMHg5MCwweDdmLDB4OWUsMHg3NCwweDI4LDB4ZjAsMHg5MCwweDdmLDB4ZjAsMHhlNCwweGYwLDB4OTB9IH0sCi17IDE0LCAweDA4MTIsIDAsIHsweDdmLDB4ZjEsMHhlNCwweGYwLDB4OTAsMHg3ZiwweGYyLDB4ZTQsMHhmMCwweDkwLDB4N2YsMHhmMywweGU0LDB4ZjB9IH0sCi17IDE0LCAweDA4MjAsIDAsIHsweDkwLDB4N2YsMHhmNCwweGU0LDB4ZjAsMHg5MCwweDdmLDB4ZjUsMHhlNCwweGYwLDB4OTAsMHg3ZiwweGY2LDB4ZTR9IH0sCi17IDE0LCAweDA4MmUsIDAsIHsweGYwLDB4OTAsMHg3ZiwweGY3LDB4ZTQsMHhmMCwweDkwLDB4N2YsMHhmOCwweGU0LDB4ZjAsMHg5MCwweDdmLDB4Zjl9IH0sCi17IDE0LCAweDA4M2MsIDAsIHsweDc0LDB4MzgsMHhmMCwweDkwLDB4N2YsMHhmYSwweDc0LDB4YTAsMHhmMCwweDkwLDB4N2YsMHhmYiwweDc0LDB4YTB9IH0sCi17IDE0LCAweDA4NGEsIDAsIHsweGYwLDB4OTAsMHg3ZiwweGZjLDB4NzQsMHhhMCwweGYwLDB4OTAsMHg3ZiwweGZkLDB4NzQsMHhhMCwweGYwLDB4OTB9IH0sCi17IDE0LCAweDA4NTgsIDAsIHsweDdmLDB4ZmUsMHg3NCwweGEwLDB4ZjAsMHg5MCwweDdmLDB4ZmYsMHg3NCwweGEwLDB4ZjAsMHg5MCwweDdmLDB4ZTB9IH0sCi17IDE0LCAweDA4NjYsIDAsIHsweDc0LDB4MDMsMHhmMCwweDkwLDB4N2YsMHhlMSwweDc0LDB4MDEsMHhmMCwweDkwLDB4N2YsMHhkZCwweDc0LDB4ODB9IH0sCi17IDExLCAweDA4NzQsIDAsIHsweGYwLDB4MTIsMHgxMiwweDQzLDB4MTIsMHgwNywweDFlLDB4N2EsMHgwMCwweDdiLDB4MDB9IH0sCi17ICA5LCAweDA4N2YsIDAsIHsweGMzLDB4ZWEsMHg5NCwweDFlLDB4ZWIsMHg5NCwweDAwLDB4NTAsMHgxN30gfSwKLXsgMTIsIDB4MDg4OCwgMCwgezB4OTAsMHg4OCwweDAwLDB4ZTAsMHhmNSwweDQ3LDB4OTAsMHg4OCwweDBiLDB4ZTAsMHhmNSwweDQ3fSB9LAoteyAgOSwgMHgwODk0LCAwLCB7MHg5MCwweDdmLDB4NjgsMHhmMCwweDBhLDB4YmEsMHgwMCwweDAxLDB4MGJ9IH0sCi17ICAyLCAweDA4OWQsIDAsIHsweDgwLDB4ZTB9IH0sCi17IDEyLCAweDA4OWYsIDAsIHsweDEyLDB4MDMsMHhlMSwweDkwLDB4N2YsMHhkNiwweGU0LDB4ZjAsMHg3YSwweDAwLDB4N2IsMHgwMH0gfSwKLXsgMTMsIDB4MDhhYiwgMCwgezB4OGEsMHgwNCwweDhiLDB4MDUsMHhjMywweGVhLDB4OTQsMHhlMCwweGViLDB4OTQsMHgyZSwweDUwLDB4MWF9IH0sCi17IDE0LCAweDA4YjgsIDAsIHsweGMwLDB4MDIsMHhjMCwweDAzLDB4YzAsMHgwNCwweGMwLDB4MDUsMHgxMiwweDAxLDB4ZGQsMHhkMCwweDA1LDB4ZDB9IH0sCi17IDEwLCAweDA4YzYsIDAsIHsweDA0LDB4ZDAsMHgwMywweGQwLDB4MDIsMHgwYSwweGJhLDB4MDAsMHgwMSwweDBifSB9LAoteyAgMiwgMHgwOGQwLCAwLCB7MHg4MCwweGQ5fSB9LAoteyAxMywgMHgwOGQyLCAwLCB7MHg5MCwweDdmLDB4ZDYsMHg3NCwweDAyLDB4ZjAsMHg5MCwweDdmLDB4ZDYsMHg3NCwweDA2LDB4ZjAsMHg5MH0gfSwKLXsgMTQsIDB4MDhkZiwgMCwgezB4N2YsMHhkZSwweDc0LDB4MDUsMHhmMCwweDkwLDB4N2YsMHhkZiwweDc0LDB4MDUsMHhmMCwweDkwLDB4N2YsMHhhY30gfSwKLXsgMTQsIDB4MDhlZCwgMCwgezB4ZTQsMHhmMCwweDkwLDB4N2YsMHhhZCwweDc0LDB4MDUsMHhmMCwweDc1LDB4YTgsMHg4MCwweDc1LDB4ZjgsMHgxMH0gfSwKLXsgMTMsIDB4MDhmYiwgMCwgezB4OTAsMHg3ZiwweGFlLDB4NzQsMHgwYiwweGYwLDB4OTAsMHg3ZiwweGUyLDB4NzQsMHg4OCwweGYwLDB4OTB9IH0sCi17IDEyLCAweDA5MDgsIDAsIHsweDdmLDB4YWIsMHg3NCwweDA4LDB4ZjAsMHg3NSwweGU4LDB4MTEsMHg3NSwweDMyLDB4MDEsMHg3NX0gfSwKLXsgMTIsIDB4MDkxNCwgMCwgezB4MzEsMHgwMCwweDc1LDB4MzAsMHgwMCwweGMwLDB4MDQsMHhjMCwweDA1LDB4MTIsMHgwNCwweGY3fSB9LAoteyAxMCwgMHgwOTIwLCAwLCB7MHhkMCwweDA1LDB4ZDAsMHgwNCwweDc1LDB4MzQsMHgwMCwweDc1LDB4MzUsMHgwMX0gfSwKLXsgMTMsIDB4MDkyYSwgMCwgezB4OTAsMHg3ZiwweGFlLDB4NzQsMHgwMywweGYwLDB4OGMsMHgwMiwweGJhLDB4MDAsMHgwMiwweDgwLDB4MDN9IH0sCi17ICAzLCAweDA5MzcsIDAsIHsweDAyLDB4MGEsMHgzZn0gfSwKLXsgMTIsIDB4MDkzYSwgMCwgezB4ODUsMHgzMywweDM0LDB4OTAsMHg3ZiwweDlkLDB4NzQsMHg4ZiwweGYwLDB4OTAsMHg3ZiwweDk3fSB9LAoteyAxNCwgMHgwOTQ2LCAwLCB7MHg3NCwweDA4LDB4ZjAsMHg5MCwweDdmLDB4OWQsMHg3NCwweDg4LDB4ZjAsMHg5MCwweDdmLDB4OWEsMHhlMCwweGZhfSB9LAoteyAxMiwgMHgwOTU0LCAwLCB7MHg3NCwweDA1LDB4NWEsMHhmNSwweDMzLDB4OTAsMHg3ZiwweDlkLDB4NzQsMHg4ZiwweGYwLDB4OTB9IH0sCi17IDEzLCAweDA5NjAsIDAsIHsweDdmLDB4OTcsMHg3NCwweDAyLDB4ZjAsMHg5MCwweDdmLDB4OWQsMHg3NCwweDgyLDB4ZjAsMHhlNSwweDMzfSB9LAoteyAxMywgMHgwOTZkLCAwLCB7MHgyNSwweGUwLDB4ZmEsMHg5MCwweDdmLDB4OWEsMHhlMCwweDU0LDB4MDUsMHhmYiwweDRhLDB4ZjUsMHgzM30gfSwKLXsgIDIsIDB4MDk3YSwgMCwgezB4NjAsMHgwY30gfSwKLXsgMTIsIDB4MDk3YywgMCwgezB4OTAsMHg3ZiwweDk2LDB4ZTAsMHhmYSwweDkwLDB4N2YsMHg5NiwweDc0LDB4ODAsMHg0YSwweGYwfSB9LAoteyAxMSwgMHgwOTg4LCAwLCB7MHg3NSwweDZlLDB4MDAsMHg3NSwweDZmLDB4MDAsMHhjMCwweDA0LDB4YzAsMHgwNSwweDEyfSB9LAoteyAxNCwgMHgwOTkzLCAwLCB7MHgxMSwweDQ0LDB4ZDAsMHgwNSwweGQwLDB4MDQsMHg5MCwweDE3LDB4MTMsMHhlMCwweGZhLDB4NzQsMHg4MCwweDJhfSB9LAoteyAgNiwgMHgwOWExLCAwLCB7MHhmYSwweGU1LDB4MzMsMHhiNCwweDA0LDB4Mjl9IH0sCi17ICAzLCAweDA5YTcsIDAsIHsweGJhLDB4YTAsMHgwMH0gfSwKLXsgIDIsIDB4MDlhYSwgMCwgezB4NTAsMHgyNH0gfSwKLXsgMTMsIDB4MDlhYywgMCwgezB4OTAsMHgxNywweDEzLDB4ZTAsMHgwNCwweGZiLDB4MGIsMHg5MCwweDE3LDB4MTMsMHhlYiwweGYwLDB4OTB9IH0sCi17IDE0LCAweDA5YjksIDAsIHsweDE3LDB4MTMsMHhlMCwweGZiLDB4OTAsMHgxNywweDE1LDB4ZjAsMHhjMCwweDAyLDB4YzAsMHgwNCwweGMwLDB4MDV9IH0sCi17ICA5LCAweDA5YzcsIDAsIHsweDEyLDB4MDQsMHhmNywweGQwLDB4MDUsMHhkMCwweDA0LDB4ZDAsMHgwMn0gfSwKLXsgIDUsIDB4MDlkMCwgMCwgezB4ZTUsMHgzMywweGI0LDB4MDIsMHgyNn0gfSwKLXsgIDYsIDB4MDlkNSwgMCwgezB4YzMsMHg3NCwweDA0LDB4OWEsMHg1MCwweDIwfSB9LAoteyAxMywgMHgwOWRiLCAwLCB7MHg5MCwweDE3LDB4MTMsMHhlMCwweGZhLDB4MWEsMHgxYSwweDkwLDB4MTcsMHgxMywweGVhLDB4ZjAsMHg5MH0gfSwKLXsgMTMsIDB4MDllOCwgMCwgezB4MTcsMHgxMywweGUwLDB4ZmEsMHg5MCwweDE3LDB4MTUsMHhmMCwweGMwLDB4MDQsMHhjMCwweDA1LDB4MTJ9IH0sCi17ICA2LCAweDA5ZjUsIDAsIHsweDA0LDB4ZjcsMHhkMCwweDA1LDB4ZDAsMHgwNH0gfSwKLXsgIDUsIDB4MDlmYiwgMCwgezB4ZTUsMHgzMywweGI0LDB4MDgsMHgxZH0gfSwKLXsgIDQsIDB4MGEwMCwgMCwgezB4ZTUsMHgzNCwweDcwLDB4MTl9IH0sCi17IDEwLCAweDBhMDQsIDAsIHsweDc0LDB4MDEsMHgyNSwweDM1LDB4NTQsMHgwZiwweGY1LDB4MzUsMHg4NSwweDM1fSB9LAoteyAxMiwgMHgwYTBlLCAwLCB7MHg3NSwweDc1LDB4NzYsMHgwMCwweGMwLDB4MDQsMHhjMCwweDA1LDB4MTIsMHgxMywweGZlLDB4ZDB9IH0sCi17ICAzLCAweDBhMWEsIDAsIHsweDA1LDB4ZDAsMHgwNH0gfSwKLXsgIDUsIDB4MGExZCwgMCwgezB4ZTUsMHgzMywweGI0LDB4MDEsMHgxZH0gfSwKLXsgIDQsIDB4MGEyMiwgMCwgezB4ZTUsMHgzNCwweDcwLDB4MTl9IH0sCi17IDEwLCAweDBhMjYsIDAsIHsweGU1LDB4MzUsMHgyNCwweGZmLDB4NTQsMHgwZiwweGY1LDB4MzUsMHg4NSwweDM1fSB9LAoteyAxMiwgMHgwYTMwLCAwLCB7MHg3NSwweDc1LDB4NzYsMHgwMCwweGMwLDB4MDQsMHhjMCwweDA1LDB4MTIsMHgxMywweGZlLDB4ZDB9IH0sCi17ICAzLCAweDBhM2MsIDAsIHsweDA1LDB4ZDAsMHgwNH0gfSwKLXsgMTQsIDB4MGEzZiwgMCwgezB4YzAsMHgwNCwweGMwLDB4MDUsMHgxMiwweDAxLDB4ZGQsMHhkMCwweDA1LDB4ZDAsMHgwNCwweDkwLDB4N2YsMHg5Nn0gfSwKLXsgMTQsIDB4MGE0ZCwgMCwgezB4ZTAsMHhmYSwweDkwLDB4N2YsMHg5NiwweDc0LDB4N2YsMHg1YSwweGYwLDB4OTAsMHg3ZiwweDk3LDB4NzQsMHgwOH0gfSwKLXsgMTAsIDB4MGE1YiwgMCwgezB4ZjAsMHhjMywweGVjLDB4OTQsMHgwMCwweGVkLDB4OTQsMHgwMiwweDQwLDB4MDh9IH0sCi17ICA4LCAweDBhNjUsIDAsIHsweDkwLDB4N2YsMHg5NiwweGUwLDB4ZmEsMHgyMCwweGU2LDB4MDh9IH0sCi17ICA4LCAweDBhNmQsIDAsIHsweGMzLDB4ZTQsMHg5YywweDc0LDB4MDgsMHg5ZCwweDUwLDB4MTN9IH0sCi17IDE0LCAweDBhNzUsIDAsIHsweDkwLDB4N2YsMHg5NiwweGUwLDB4ZmEsMHg5MCwweDdmLDB4OTYsMHg3NCwweDQwLDB4NjUsMHgwMiwweGYwLDB4N2N9IH0sCi17ICA1LCAweDBhODMsIDAsIHsweDAwLDB4N2QsMHgwMCwweDgwLDB4MDV9IH0sCi17ICA1LCAweDBhODgsIDAsIHsweDBjLDB4YmMsMHgwMCwweDAxLDB4MGR9IH0sCi17ICA1LCAweDBhOGQsIDAsIHsweGU1LDB4MzgsMHhiNCwweDAxLDB4MGV9IH0sCi17IDEzLCAweDBhOTIsIDAsIHsweGMwLDB4MDQsMHhjMCwweDA1LDB4MTIsMHgwNCwweGY3LDB4ZDAsMHgwNSwweGQwLDB4MDQsMHg3NSwweDM4fSB9LAoteyAgMSwgMHgwYTlmLCAwLCB7MHgwMH0gfSwKLXsgIDcsIDB4MGFhMCwgMCwgezB4ZTUsMHgzMSwweDcwLDB4MDMsMHgwMiwweDA5LDB4MmF9IH0sCi17IDEwLCAweDBhYTcsIDAsIHsweDkwLDB4N2YsMHhjOSwweGUwLDB4ZmEsMHg3MCwweDAzLDB4MDIsMHgwYywweDJkfSB9LAoteyAxNCwgMHgwYWIxLCAwLCB7MHg5MCwweDdmLDB4OTYsMHhlMCwweGZhLDB4OTAsMHg3ZiwweDk2LDB4NzQsMHg4MCwweDY1LDB4MDIsMHhmMCwweDkwfSB9LAoteyAgOSwgMHgwYWJmLCAwLCB7MHg3ZCwweGMwLDB4ZTAsMHhmYSwweGJhLDB4MmMsMHgwMiwweDgwLDB4MDN9IH0sCi17ICAzLCAweDBhYzgsIDAsIHsweDAyLDB4MGIsMHgzNn0gfSwKLXsgIDUsIDB4MGFjYiwgMCwgezB4NzUsMHgzMiwweDAwLDB4N2IsMHgwMH0gfSwKLXsgIDMsIDB4MGFkMCwgMCwgezB4YmIsMHg2NCwweDAwfSB9LAoteyAgMiwgMHgwYWQzLCAwLCB7MHg1MCwweDFjfSB9LAoteyAxNCwgMHgwYWQ1LCAwLCB7MHhjMCwweDAyLDB4YzAsMHgwMywweGMwLDB4MDQsMHhjMCwweDA1LDB4MTIsMHgwMSwweGRkLDB4ZDAsMHgwNSwweGQwfSB9LAoteyAxMywgMHgwYWUzLCAwLCB7MHgwNCwweGQwLDB4MDMsMHhkMCwweDAyLDB4OTAsMHg4OCwweDBmLDB4ZTAsMHhmNSwweDQ3LDB4MGIsMHg4MH0gfSwKLXsgIDEsIDB4MGFmMCwgMCwgezB4ZGZ9IH0sCi17IDEzLCAweDBhZjEsIDAsIHsweGMwLDB4MDIsMHhjMCwweDA0LDB4YzAsMHgwNSwweDEyLDB4MDcsMHgxZSwweDEyLDB4MDMsMHhlMSwweDEyfSB9LAoteyAxMiwgMHgwYWZlLCAwLCB7MHgwNCwweGY3LDB4ZDAsMHgwNSwweGQwLDB4MDQsMHhkMCwweDAyLDB4NzUsMHg2ZSwweDAwLDB4NzV9IH0sCi17IDEzLCAweDBiMGEsIDAsIHsweDZmLDB4MDEsMHhjMCwweDAyLDB4YzAsMHgwNCwweGMwLDB4MDUsMHgxMiwweDExLDB4NDQsMHhkMCwweDA1fSB9LAoteyAgOSwgMHgwYjE3LCAwLCB7MHhkMCwweDA0LDB4ZDAsMHgwMiwweDc1LDB4NzAsMHg0ZCwweDc1LDB4NzF9IH0sCi17IDExLCAweDBiMjAsIDAsIHsweDBjLDB4NzUsMHg3MiwweDAyLDB4YzAsMHgwMiwweGMwLDB4MDQsMHhjMCwweDA1LDB4MTJ9IH0sCi17IDExLCAweDBiMmIsIDAsIHsweDExLDB4NzUsMHhkMCwweDA1LDB4ZDAsMHgwNCwweGQwLDB4MDIsMHgwMiwweDBjLDB4MmR9IH0sCi17ICAzLCAweDBiMzYsIDAsIHsweGJhLDB4MmEsMHgzYn0gfSwKLXsgMTMsIDB4MGIzOSwgMCwgezB4OTAsMHg3ZiwweDk4LDB4NzQsMHgyMCwweGYwLDB4YzAsMHgwMiwweGMwLDB4MDQsMHhjMCwweDA1LDB4MTJ9IH0sCi17IDE0LCAweDBiNDYsIDAsIHsweDAxLDB4ZGQsMHhkMCwweDA1LDB4ZDAsMHgwNCwweGQwLDB4MDIsMHg5MCwweDdmLDB4OTgsMHg3NCwweDI4LDB4ZjB9IH0sCi17ICAyLCAweDBiNTQsIDAsIHsweDdiLDB4MDB9IH0sCi17ICAzLCAweDBiNTYsIDAsIHsweGJiLDB4MGEsMHgwMH0gfSwKLXsgIDUsIDB4MGI1OSwgMCwgezB4NDAsMHgwMywweDAyLDB4MGMsMHgyZH0gfSwKLXsgMTQsIDB4MGI1ZSwgMCwgezB4YzAsMHgwMiwweGMwLDB4MDMsMHhjMCwweDA0LDB4YzAsMHgwNSwweDEyLDB4MDEsMHhkZCwweGQwLDB4MDUsMHhkMH0gfSwKLXsgIDgsIDB4MGI2YywgMCwgezB4MDQsMHhkMCwweDAzLDB4ZDAsMHgwMiwweDBiLDB4ODAsMHhlMn0gfSwKLXsgIDMsIDB4MGI3NCwgMCwgezB4YmEsMHgyYiwweDFhfSB9LAoteyAgOCwgMHgwYjc3LCAwLCB7MHg5MCwweDdmLDB4YzksMHhlMCwweGZiLDB4YmIsMHg0MCwweDEyfSB9LAoteyAxNCwgMHgwYjdmLCAwLCB7MHhjMCwweDAyLDB4YzAsMHgwNCwweGMwLDB4MDUsMHgxMiwweDEyLDB4MDUsMHhkMCwweDA1LDB4ZDAsMHgwNCwweGQwfSB9LAoteyAgNCwgMHgwYjhkLCAwLCB7MHgwMiwweDAyLDB4MGMsMHgyZH0gfSwKLXsgIDMsIDB4MGI5MSwgMCwgezB4YmEsMHgxMCwweDFmfSB9LAoteyAxNCwgMHgwYjk0LCAwLCB7MHg5MCwweDdmLDB4OTYsMHhlMCwweGZiLDB4OTAsMHg3ZiwweDk2LDB4NzQsMHg4MCwweDY1LDB4MDMsMHhmMCwweGMwfSB9LAoteyAxNCwgMHgwYmEyLCAwLCB7MHgwMiwweGMwLDB4MDQsMHhjMCwweDA1LDB4MTIsMHgxMCwweDNkLDB4ZDAsMHgwNSwweGQwLDB4MDQsMHhkMCwweDAyfSB9LAoteyAgMywgMHgwYmIwLCAwLCB7MHgwMiwweDBjLDB4MmR9IH0sCi17ICAzLCAweDBiYjMsIDAsIHsweGJhLDB4MTEsMHgxMn0gfSwKLXsgMTQsIDB4MGJiNiwgMCwgezB4YzAsMHgwMiwweGMwLDB4MDQsMHhjMCwweDA1LDB4MTIsMHgxMCwweDZhLDB4ZDAsMHgwNSwweGQwLDB4MDQsMHhkMH0gfSwKLXsgIDQsIDB4MGJjNCwgMCwgezB4MDIsMHgwMiwweDBjLDB4MmR9IH0sCi17ICAzLCAweDBiYzgsIDAsIHsweGJhLDB4MTIsMHgxMn0gfSwKLXsgMTQsIDB4MGJjYiwgMCwgezB4YzAsMHgwMiwweGMwLDB4MDQsMHhjMCwweDA1LDB4MTIsMHgxMCwweDhmLDB4ZDAsMHgwNSwweGQwLDB4MDQsMHhkMH0gfSwKLXsgIDQsIDB4MGJkOSwgMCwgezB4MDIsMHgwMiwweDBjLDB4MmR9IH0sCi17ICAzLCAweDBiZGQsIDAsIHsweGJhLDB4MTMsMHgwYn0gfSwKLXsgMTEsIDB4MGJlMCwgMCwgezB4OTAsMHg3ZCwweGMxLDB4ZTAsMHhmYiwweDkwLDB4ODgsMHgwMCwweGYwLDB4ODAsMHg0Mn0gfSwKLXsgIDMsIDB4MGJlYiwgMCwgezB4YmEsMHgxNCwweDExfSB9LAoteyAxNCwgMHgwYmVlLCAwLCB7MHhjMCwweDAyLDB4YzAsMHgwNCwweGMwLDB4MDUsMHgxMiwweDExLDB4ZGQsMHhkMCwweDA1LDB4ZDAsMHgwNCwweGQwfSB9LAoteyAgMywgMHgwYmZjLCAwLCB7MHgwMiwweDgwLDB4MmV9IH0sCi17ICAzLCAweDBiZmYsIDAsIHsweGJhLDB4MTUsMHgxZH0gfSwKLXsgMTIsIDB4MGMwMiwgMCwgezB4OTAsMHg3ZCwweGMxLDB4ZTAsMHhmNSwweDc1LDB4OTAsMHg3ZCwweGMyLDB4ZTAsMHhmNSwweDc2fSB9LAoteyAxNCwgMHgwYzBlLCAwLCB7MHhjMCwweDAyLDB4YzAsMHgwNCwweGMwLDB4MDUsMHgxMiwweDEzLDB4ZmUsMHhkMCwweDA1LDB4ZDAsMHgwNCwweGQwfSB9LAoteyAgMywgMHgwYzFjLCAwLCB7MHgwMiwweDgwLDB4MGV9IH0sCi17ICAzLCAweDBjMWYsIDAsIHsweGJhLDB4MTYsMHgwYn0gfSwKLXsgMTEsIDB4MGMyMiwgMCwgezB4YzAsMHgwNCwweGMwLDB4MDUsMHgxMiwweDEzLDB4YTMsMHhkMCwweDA1LDB4ZDAsMHgwNH0gfSwKLXsgMTEsIDB4MGMyZCwgMCwgezB4OTAsMHg3ZiwweGM5LDB4ZTQsMHhmMCwweDc1LDB4MzEsMHgwMCwweDAyLDB4MDksMHgyYX0gfSwKLXsgIDEsIDB4MGMzOCwgMCwgezB4MjJ9IH0sCi17ICA3LCAweDBjMzksIDAsIHsweDUzLDB4NTUsMHg1MCwweDQ1LDB4NGUsMHg0NCwweDAwfSB9LAoteyAgNywgMHgwYzQwLCAwLCB7MHg1MiwweDQ1LDB4NTMsMHg1NSwweDRkLDB4NDUsMHgwMH0gfSwKLXsgIDYsIDB4MGM0NywgMCwgezB4MjAsMHg1NiwweDZmLDB4NmMsMHgyMCwweDAwfSB9LAoteyAxMywgMHgwYzRkLCAwLCB7MHg0NCwweDQxLDB4NDIsMHg1NSwweDUzLDB4NDIsMHgyMCwweDc2LDB4MzEsMHgyZSwweDMwLDB4MzAsMHgwMH0gfSwKLXsgMTQsIDB4MGM1YSwgMCwgezB4YzAsMHhlMCwweGMwLDB4ZjAsMHhjMCwweDgyLDB4YzAsMHg4MywweGMwLDB4MDIsMHhjMCwweDAzLDB4YzAsMHgwNH0gfSwKLXsgMTQsIDB4MGM2OCwgMCwgezB4YzAsMHgwNSwweGMwLDB4MDYsMHhjMCwweDA3LDB4YzAsMHgwMCwweGMwLDB4MDEsMHhjMCwweGQwLDB4NzUsMHhkMH0gfSwKLXsgMTMsIDB4MGM3NiwgMCwgezB4MDAsMHhjMCwweDg2LDB4NzUsMHg4NiwweDAwLDB4ZTUsMHg5MSwweGMyLDB4ZTQsMHhmNSwweDkxLDB4OTB9IH0sCi17IDE0LCAweDBjODMsIDAsIHsweDdmLDB4YWIsMHg3NCwweDAxLDB4ZjAsMHg5MCwweDdmLDB4ZTgsMHhlMCwweGZhLDB4OTAsMHg3ZiwweGU5LDB4ZTB9IH0sCi17ICA2LCAweDBjOTEsIDAsIHsweGZiLDB4YmIsMHgwMCwweDAyLDB4ODAsMHgwM30gfSwKLXsgIDMsIDB4MGM5NywgMCwgezB4MDIsMHgwZCwweDM4fSB9LAoteyAgMywgMHgwYzlhLCAwLCB7MHhiYSwweDgwLDB4MTR9IH0sCi17IDE0LCAweDBjOWQsIDAsIHsweDkwLDB4N2YsMHgwMCwweDc0LDB4MDEsMHhmMCwweDkwLDB4N2YsMHgwMSwweGU0LDB4ZjAsMHg5MCwweDdmLDB4YjV9IH0sCi17ICA2LCAweDBjYWIsIDAsIHsweDc0LDB4MDIsMHhmMCwweDAyLDB4MGUsMHhjZH0gfSwKLXsgIDUsIDB4MGNiMSwgMCwgezB4YmEsMHg4MiwweDAyLDB4ODAsMHgwM30gfSwKLXsgIDMsIDB4MGNiNiwgMCwgezB4MDIsMHgwZCwweDFkfSB9LAoteyAgOCwgMHgwY2I5LCAwLCB7MHg5MCwweDdmLDB4ZWMsMHhlMCwweGZjLDB4YmMsMHgwMSwweDAwfSB9LAoteyAgMiwgMHgwY2MxLCAwLCB7MHg0MCwweDIxfSB9LAoteyAgNiwgMHgwY2MzLCAwLCB7MHhjMywweDc0LDB4MDcsMHg5YywweDQwLDB4MWJ9IH0sCi17IDE0LCAweDBjYzksIDAsIHsweGVjLDB4MjQsMHhmZiwweDI1LDB4ZTAsMHhmZCwweDI0LDB4YzYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDdmLDB4ZjV9IH0sCi17IDEzLCAweDBjZDcsIDAsIHsweDgzLDB4ZTAsMHhmZCwweDUzLDB4MDUsMHgwMSwweDkwLDB4N2YsMHgwMCwweGVkLDB4ZjAsMHg4MCwweDJifSB9LAoteyAgMywgMHgwY2U0LCAwLCB7MHhiYywweDgxLDB4MDB9IH0sCi17ICAyLCAweDBjZTcsIDAsIHsweDQwLDB4MjF9IH0sCi17ICA2LCAweDBjZTksIDAsIHsweGMzLDB4NzQsMHg4NywweDljLDB4NDAsMHgxYn0gfSwKLXsgMTQsIDB4MGNlZiwgMCwgezB4ZWMsMHgyNCwweDdmLDB4MjUsMHhlMCwweGZjLDB4MjQsMHhiNiwweGY1LDB4ODIsMHhlNCwweDM0LDB4N2YsMHhmNX0gfSwKLXsgMTMsIDB4MGNmZCwgMCwgezB4ODMsMHhlMCwweGZjLDB4NTMsMHgwNCwweDAxLDB4OTAsMHg3ZiwweDAwLDB4ZWMsMHhmMCwweDgwLDB4MDV9IH0sCi17ICA1LCAweDBkMGEsIDAsIHsweDkwLDB4N2YsMHgwMCwweGU0LDB4ZjB9IH0sCi17IDE0LCAweDBkMGYsIDAsIHsweDkwLDB4N2YsMHgwMSwweGU0LDB4ZjAsMHg5MCwweDdmLDB4YjUsMHg3NCwweDAyLDB4ZjAsMHgwMiwweDBlLDB4Y2R9IH0sCi17ICA1LCAweDBkMWQsIDAsIHsweGJhLDB4ODEsMHgwMiwweDgwLDB4MDN9IH0sCi17ICAzLCAweDBkMjIsIDAsIHsweDAyLDB4MGUsMHhjNX0gfSwKLXsgMTQsIDB4MGQyNSwgMCwgezB4OTAsMHg3ZiwweDAwLDB4ZTQsMHhmMCwweDkwLDB4N2YsMHgwMSwweGU0LDB4ZjAsMHg5MCwweDdmLDB4YjUsMHg3NH0gfSwKLXsgIDUsIDB4MGQzMywgMCwgezB4MDIsMHhmMCwweDAyLDB4MGUsMHhjZH0gfSwKLXsgIDMsIDB4MGQzOCwgMCwgezB4YmIsMHgwMSwweDJkfSB9LAoteyAgNiwgMHgwZDNiLCAwLCB7MHhiYSwweDAwLDB4MDMsMHgwMiwweDBlLDB4Y2R9IH0sCi17ICAzLCAweDBkNDEsIDAsIHsweGJhLDB4MDIsMHgxMX0gfSwKLXsgMTMsIDB4MGQ0NCwgMCwgezB4NzUsMHg1OSwweDAwLDB4YzAsMHgwMiwweGMwLDB4MDMsMHgxMiwweDBlLDB4ZjAsMHhkMCwweDAzLDB4ZDB9IH0sCi17ICA0LCAweDBkNTEsIDAsIHsweDAyLDB4MDIsMHgwZSwweGNkfSB9LAoteyAgNSwgMHgwZDU1LCAwLCB7MHhiYSwweDIxLDB4MDIsMHg4MCwweDAzfSB9LAoteyAgMywgMHgwZDVhLCAwLCB7MHgwMiwweDBlLDB4Y2R9IH0sCi17IDExLCAweDBkNWQsIDAsIHsweDc1LDB4MzcsMHgwMSwweDkwLDB4N2YsMHhjNSwweGU0LDB4ZjAsMHgwMiwweDBlLDB4Y2R9IH0sCi17ICAzLCAweDBkNjgsIDAsIHsweGJiLDB4MDMsMHgxZn0gfSwKLXsgIDYsIDB4MGQ2YiwgMCwgezB4YmEsMHgwMCwweDAzLDB4MDIsMHgwZSwweGNkfSB9LAoteyAgNSwgMHgwZDcxLCAwLCB7MHhiYSwweDAyLDB4MDIsMHg4MCwweDAzfSB9LAoteyAgMywgMHgwZDc2LCAwLCB7MHgwMiwweDBlLDB4Y2R9IH0sCi17IDEzLCAweDBkNzksIDAsIHsweDc1LDB4NTksMHgwMSwweGMwLDB4MDIsMHhjMCwweDAzLDB4MTIsMHgwZSwweGYwLDB4ZDAsMHgwMywweGQwfSB9LAoteyAgNCwgMHgwZDg2LCAwLCB7MHgwMiwweDAyLDB4MGUsMHhjZH0gfSwKLXsgIDMsIDB4MGQ4YSwgMCwgezB4YmIsMHgwNiwweDU0fSB9LAoteyAgNSwgMHgwZDhkLCAwLCB7MHhiYSwweDgwLDB4MDIsMHg4MCwweDAzfSB9LAoteyAgMywgMHgwZDkyLCAwLCB7MHgwMiwweDBlLDB4YzV9IH0sCi17ICA4LCAweDBkOTUsIDAsIHsweDkwLDB4N2YsMHhlYiwweGUwLDB4ZmMsMHhiYywweDAxLDB4MTV9IH0sCi17IDEyLCAweDBkOWQsIDAsIHsweDdjLDB4ZmIsMHg3ZCwweDBmLDB4OGQsMHgwNiwweDdmLDB4MDAsMHg5MCwweDdmLDB4ZDQsMHhlZX0gfSwKLXsgIDksIDB4MGRhOSwgMCwgezB4ZjAsMHg5MCwweDdmLDB4ZDUsMHhlYywweGYwLDB4MDIsMHgwZSwweGNkfSB9LAoteyAxMCwgMHgwZGIyLCAwLCB7MHg5MCwweDdmLDB4ZWIsMHhlMCwweGZjLDB4YmMsMHgwMiwweDAyLDB4ODAsMHgwM30gfSwKLXsgIDMsIDB4MGRiYywgMCwgezB4MDIsMHgwZSwweGM1fSB9LAoteyAxMCwgMHgwZGJmLCAwLCB7MHg5MCwweDdmLDB4ZWEsMHhlMCwweGZjLDB4YmMsMHgwMCwweDAyLDB4ODAsMHgwM30gfSwKLXsgIDMsIDB4MGRjOSwgMCwgezB4MDIsMHgwZSwweGM1fSB9LAoteyAxMiwgMHgwZGNjLCAwLCB7MHg3YywweDNiLDB4N2QsMHgwZiwweDhkLDB4MDYsMHg3ZiwweDAwLDB4OTAsMHg3ZiwweGQ0LDB4ZWV9IH0sCi17ICA5LCAweDBkZDgsIDAsIHsweGYwLDB4OTAsMHg3ZiwweGQ1LDB4ZWMsMHhmMCwweDAyLDB4MGUsMHhjZH0gfSwKLXsgIDYsIDB4MGRlMSwgMCwgezB4YmIsMHgwNywweDAzLDB4MDIsMHgwZSwweGM1fSB9LAoteyAgMywgMHgwZGU3LCAwLCB7MHhiYiwweDA4LDB4MTB9IH0sCi17IDEzLCAweDBkZWEsIDAsIHsweGFjLDB4NDgsMHg5MCwweDdmLDB4MDAsMHhlYywweGYwLDB4OTAsMHg3ZiwweGI1LDB4NzQsMHgwMSwweGYwfSB9LAoteyAgMywgMHgwZGY3LCAwLCB7MHgwMiwweDBlLDB4Y2R9IH0sCi17ICAzLCAweDBkZmEsIDAsIHsweGJiLDB4MDksMHgzMX0gfSwKLXsgIDUsIDB4MGRmZCwgMCwgezB4YmEsMHgwMCwweDAyLDB4ODAsMHgwM30gfSwKLXsgIDMsIDB4MGUwMiwgMCwgezB4MDIsMHgwZSwweGM1fSB9LAoteyAxNCwgMHgwZTA1LCAwLCB7MHg5MCwweDdmLDB4ZWEsMHhlMCwweGZjLDB4YzMsMHg3NCwweDAxLDB4OWMsMHg1MCwweDAzLDB4MDIsMHgwZSwweGM1fSB9LAoteyAgOCwgMHgwZTEzLCAwLCB7MHg5MCwweDdmLDB4ZWEsMHhlMCwweGZjLDB4YmMsMHgwMCwweDBhfSB9LAoteyAxMCwgMHgwZTFiLCAwLCB7MHg5MCwweDE3LDB4MjEsMHhlNCwweGYwLDB4OTAsMHgxNywweDIyLDB4ZTQsMHhmMH0gfSwKLXsgIDksIDB4MGUyNSwgMCwgezB4OTAsMHg3ZiwweGVhLDB4ZTAsMHhmNSwweDQ4LDB4MDIsMHgwZSwweGNkfSB9LAoteyAgMywgMHgwZTJlLCAwLCB7MHhiYiwweDBhLDB4Mjd9IH0sCi17ICA1LCAweDBlMzEsIDAsIHsweGJhLDB4ODEsMHgwMiwweDgwLDB4MDN9IH0sCi17ICAzLCAweDBlMzYsIDAsIHsweDAyLDB4MGUsMHhjNX0gfSwKLXsgMTQsIDB4MGUzOSwgMCwgezB4OTAsMHg3ZiwweGVjLDB4ZTAsMHhmYSwweDI0LDB4MjAsMHhmYSwweGU0LDB4MzQsMHgxNywweGZjLDB4OGEsMHg4Mn0gfSwKLXsgMTQsIDB4MGU0NywgMCwgezB4OGMsMHg4MywweGUwLDB4ZmEsMHg5MCwweDdmLDB4MDAsMHhmMCwweDkwLDB4N2YsMHhiNSwweDc0LDB4MDEsMHhmMH0gfSwKLXsgIDMsIDB4MGU1NSwgMCwgezB4MDIsMHgwZSwweGNkfSB9LAoteyAgNSwgMHgwZTU4LCAwLCB7MHhiYiwweDBiLDB4MDIsMHg4MCwweDAzfSB9LAoteyAgMywgMHgwZTVkLCAwLCB7MHgwMiwweDBlLDB4YTl9IH0sCi17IDEzLCAweDBlNjAsIDAsIHsweDkwLDB4MTcsMHgyMCwweGU0LDB4ZjAsMHg5MCwweDdmLDB4ZWMsMHhlMCwweGZhLDB4YmEsMHgwMSwweDFhfSB9LAoteyAgOCwgMHgwZTZkLCAwLCB7MHg5MCwweDdmLDB4ZWQsMHhlMCwweGZhLDB4YmEsMHgwMCwweDEyfSB9LAoteyAxNCwgMHgwZTc1LCAwLCB7MHg5MCwweDdmLDB4ZWEsMHhlMCwweGZhLDB4OTAsMHgxNywweDIxLDB4ZjAsMHhjMCwweDAzLDB4MTIsMHgwNCwweGUyfSB9LAoteyAgNCwgMHgwZTgzLCAwLCB7MHhkMCwweDAzLDB4ODAsMHg0Nn0gfSwKLXsgIDgsIDB4MGU4NywgMCwgezB4OTAsMHg3ZiwweGVjLDB4ZTAsMHhmYSwweGJhLDB4MDIsMHgzZX0gfSwKLXsgIDgsIDB4MGU4ZiwgMCwgezB4OTAsMHg3ZiwweGVkLDB4ZTAsMHhmYSwweGJhLDB4MDAsMHgzNn0gfSwKLXsgMTMsIDB4MGU5NywgMCwgezB4YzAsMHgwMywweDEyLDB4MDQsMHhlZiwweGQwLDB4MDMsMHg5MCwweDdmLDB4ZWEsMHhlMCwweGZhLDB4OTB9IH0sCi17ICA1LCAweDBlYTQsIDAsIHsweDE3LDB4MjIsMHhmMCwweDgwLDB4MjR9IH0sCi17ICA1LCAweDBlYTksIDAsIHsweGJiLDB4MTIsMHgwMiwweDgwLDB4MTd9IH0sCi17ICA1LCAweDBlYWUsIDAsIHsweGJiLDB4ODEsMHgwMiwweDgwLDB4MGR9IH0sCi17ICA1LCAweDBlYjMsIDAsIHsweGJiLDB4ODMsMHgwMiwweDgwLDB4MDh9IH0sCi17ICA1LCAweDBlYjgsIDAsIHsweGJiLDB4ODIsMHgwMiwweDgwLDB4MDN9IH0sCi17ICAzLCAweDBlYmQsIDAsIHsweGJiLDB4ODQsMHgwNX0gfSwKLXsgIDUsIDB4MGVjMCwgMCwgezB4MTIsMHgwNiwweDRlLDB4ODAsMHgwOH0gfSwKLXsgIDgsIDB4MGVjNSwgMCwgezB4OTAsMHg3ZiwweGI0LDB4NzQsMHgwMywweGYwLDB4ODAsMHgwNn0gfSwKLXsgIDYsIDB4MGVjZCwgMCwgezB4OTAsMHg3ZiwweGI0LDB4NzQsMHgwMiwweGYwfSB9LAoteyAgMiwgMHgwZWQzLCAwLCB7MHhkMCwweDg2fSB9LAoteyAxNCwgMHgwZWQ1LCAwLCB7MHhkMCwweGQwLDB4ZDAsMHgwMSwweGQwLDB4MDAsMHhkMCwweDA3LDB4ZDAsMHgwNiwweGQwLDB4MDUsMHhkMCwweDA0fSB9LAoteyAxMywgMHgwZWUzLCAwLCB7MHhkMCwweDAzLDB4ZDAsMHgwMiwweGQwLDB4ODMsMHhkMCwweDgyLDB4ZDAsMHhmMCwweGQwLDB4ZTAsMHgzMn0gfSwKLXsgMTEsIDB4MGVmMCwgMCwgezB4OTAsMHg3ZiwweGVjLDB4ZTAsMHhmNSwweDVhLDB4YzMsMHg5NCwweDAxLDB4NDAsMHgxZH0gfSwKLXsgIDcsIDB4MGVmYiwgMCwgezB4YzMsMHg3NCwweDA3LDB4OTUsMHg1YSwweDQwLDB4MTZ9IH0sCi17IDEzLCAweDBmMDIsIDAsIHsweGU1LDB4NWEsMHgyNCwweGZmLDB4MjUsMHhlMCwweGZhLDB4MjQsMHhjNiwweGY1LDB4ODIsMHhlNCwweDM0fSB9LAoteyAgOSwgMHgwZjBmLCAwLCB7MHg3ZiwweGY1LDB4ODMsMHhhYSwweDU5LDB4ZWEsMHhmMCwweDgwLDB4MjJ9IH0sCi17ICA3LCAweDBmMTgsIDAsIHsweGMzLDB4ZTUsMHg1YSwweDk0LDB4ODEsMHg0MCwweDFifSB9LAoteyAgNywgMHgwZjFmLCAwLCB7MHhjMywweDc0LDB4ODcsMHg5NSwweDVhLDB4NDAsMHgxNH0gfSwKLXsgMTMsIDB4MGYyNiwgMCwgezB4ZTUsMHg1YSwweDI0LDB4ZmYsMHgyNSwweGUwLDB4ZmEsMHgyNCwweGI2LDB4ZjUsMHg4MiwweGU0LDB4MzR9IH0sCi17ICA3LCAweDBmMzMsIDAsIHsweDdmLDB4ZjUsMHg4MywweGFhLDB4NTksMHhlYSwweGYwfSB9LAoteyAgMSwgMHgwZjNhLCAwLCB7MHgyMn0gfSwKLXsgMTQsIDB4MGYzYiwgMCwgezB4MDksMHgwMiwweGJhLDB4MDAsMHgwMywweDAxLDB4MDAsMHg0MCwweDAwLDB4MDksMHgwNCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgMTQsIDB4MGY0OSwgMCwgezB4MDEsMHgwMSwweDAwLDB4MDAsMHgwOSwweDI0LDB4MDEsMHgwMCwweDAxLDB4M2QsMHgwMCwweDAxLDB4MDEsMHgwY30gfSwKLXsgMTQsIDB4MGY1NywgMCwgezB4MjQsMHgwMiwweDAxLDB4MTAsMHgwNywweDAwLDB4MDIsMHgwMywweDAwLDB4MDAsMHgwMCwweDBkLDB4MjQsMHgwNn0gfSwKLXsgMTQsIDB4MGY2NSwgMCwgezB4MDMsMHgwMSwweDAyLDB4MTUsMHgwMCwweDAzLDB4MDAsMHgwMywweDAwLDB4MDAsMHgwOSwweDI0LDB4MDMsMHgwMn0gfSwKLXsgMTQsIDB4MGY3MywgMCwgezB4MDEsMHgwMSwweDAwLDB4MDEsMHgwMCwweDA5LDB4MjQsMHgwMywweDA0LDB4MDIsMHgwMywweDAwLDB4MDMsMHgwMH0gfSwKLXsgMTQsIDB4MGY4MSwgMCwgezB4MDksMHgyNCwweDAzLDB4MDUsMHgwMywweDA2LDB4MDAsMHgwMSwweDAwLDB4MDksMHgwNCwweDAxLDB4MDAsMHgwMH0gfSwKLXsgMTQsIDB4MGY4ZiwgMCwgezB4MDEsMHgwMiwweDAwLDB4MDAsMHgwOSwweDA0LDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMiwweDAwLDB4MDAsMHgwN30gfSwKLXsgMTQsIDB4MGY5ZCwgMCwgezB4MjQsMHgwMSwweDAyLDB4MDEsMHgwMSwweDAwLDB4MGIsMHgyNCwweDAyLDB4MDEsMHgwMiwweDAyLDB4MTAsMHgwMX0gfSwKLXsgMTQsIDB4MGZhYiwgMCwgezB4ODAsMHhiYiwweDAwLDB4MDksMHgwNSwweDg4LDB4MDUsMHgwMCwweDAxLDB4MDEsMHgwMCwweDAwLDB4MDcsMHgyNX0gfSwKLXsgMTQsIDB4MGZiOSwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA5LDB4MDQsMHgwMiwweDAwLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgMTQsIDB4MGZjNywgMCwgezB4MDcsMHgwNSwweDgyLDB4MDIsMHg0MCwweDAwLDB4MDAsMHgwNywweDA1LDB4MDIsMHgwMiwweDQwLDB4MDAsMHgwMH0gfSwKLXsgMTQsIDB4MGZkNSwgMCwgezB4MDksMHgwNCwweDAyLDB4MDEsMHgwMywweDAwLDB4MDAsMHgwMCwweDAwLDB4MDcsMHgwNSwweDgyLDB4MDIsMHg0MH0gfSwKLXsgMTQsIDB4MGZlMywgMCwgezB4MDAsMHgwMCwweDA3LDB4MDUsMHgwMiwweDAyLDB4NDAsMHgwMCwweDAwLDB4MDksMHgwNSwweDg5LDB4MDUsMHhhMH0gfSwKLXsgMTAsIDB4MGZmMSwgMCwgezB4MDEsMHgwMSwweDAwLDB4MDAsMHgwMCwweGZmLDB4ZmYsMHhmZiwweGZmLDB4MDB9IH0sCi17IDE0LCAweDBmZmIsIDAsIHsweDEyLDB4MDEsMHgwMCwweDAxLDB4MDAsMHgwMCwweDAwLDB4NDAsMHg0NywweDA1LDB4OTksMHg5OSwweDAwLDB4MDF9IH0sCi17IDE0LCAweDEwMDksIDAsIHsweDAwLDB4MDAsMHgwMCwweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOSwweDAyLDB4YmF9IH0sCi17ICA0LCAweDEwMTcsIDAsIHsweDAwLDB4MDMsMHgwMSwweDAwfSB9LAoteyAgMiwgMHgxMDFiLCAwLCB7MHg3YSwweDAwfSB9LAoteyAgMywgMHgxMDFkLCAwLCB7MHhiYSwweDA1LDB4MDB9IH0sCi17ICAyLCAweDEwMjAsIDAsIHsweDUwLDB4MTd9IH0sCi17ICA4LCAweDEwMjIsIDAsIHsweDkwLDB4N2YsMHhhNSwweGUwLDB4ZmIsMHgzMCwweGUwLDB4MDV9IH0sCi17ICA1LCAweDEwMmEsIDAsIHsweDkwLDB4MDAsMHgwMSwweDgwLDB4MGR9IH0sCi17IDEwLCAweDEwMmYsIDAsIHsweGMwLDB4MDIsMHgxMiwweDAxLDB4ZGQsMHhkMCwweDAyLDB4MGEsMHg4MCwweGU0fSB9LAoteyAgMywgMHgxMDM5LCAwLCB7MHg5MCwweDAwLDB4MDF9IH0sCi17ICAxLCAweDEwM2MsIDAsIHsweDIyfSB9LAoteyAxNCwgMHgxMDNkLCAwLCB7MHg5MCwweDdkLDB4YzEsMHhlMCwweGY5LDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGZiLDB4N2MsMHgwMCwweDdkfSB9LAoteyAgNCwgMHgxMDRiLCAwLCB7MHg3ZSwweGViLDB4NjAsMHgxMn0gfSwKLXsgMTQsIDB4MTA0ZiwgMCwgezB4ODksMHg4MiwweDhhLDB4ODMsMHhlMCwweGEzLDB4YTksMHg4MiwweGFhLDB4ODMsMHg4YywweDgyLDB4OGQsMHg4M30gfSwKLXsgIDQsIDB4MTA1ZCwgMCwgezB4ZjAsMHgwYywweGRiLDB4ZWV9IH0sCi17ICA4LCAweDEwNjEsIDAsIHsweDkwLDB4N2QsMHhjMywweGUwLDB4OTAsMHg3ZiwweGI5LDB4ZjB9IH0sCi17ICAxLCAweDEwNjksIDAsIHsweDIyfSB9LAoteyAxNCwgMHgxMDZhLCAwLCB7MHg5MCwweDdkLDB4YzEsMHhlMCwweGY5LDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGZiLDB4N2MsMHhjNCwweDdkfSB9LAoteyAgNCwgMHgxMDc4LCAwLCB7MHg3ZCwweGViLDB4NjAsMHhlNX0gfSwKLXsgMTQsIDB4MTA3YywgMCwgezB4OGMsMHg4MiwweDhkLDB4ODMsMHhlMCwweDBjLDB4ODksMHg4MiwweDhhLDB4ODMsMHhmMCwweGEzLDB4YTksMHg4Mn0gfSwKLXsgIDQsIDB4MTA4YSwgMCwgezB4YWEsMHg4MywweGRiLDB4ZWV9IH0sCi17ICAxLCAweDEwOGUsIDAsIHsweDIyfSB9LAoteyAxNCwgMHgxMDhmLCAwLCB7MHg5MCwweDdmLDB4YTUsMHg3NCwweDgwLDB4ZjAsMHgwNSwweDg2LDB4OTAsMHg3ZCwweGMxLDB4ZTAsMHgwNSwweDg2fSB9LAoteyAxNCwgMHgxMDlkLCAwLCB7MHhhMywweGYwLDB4MTIsMHgxMCwweDFiLDB4OTAsMHg3ZiwweGE2LDB4MDUsMHg4NiwweGEzLDB4YTMsMHhlMCwweGY5fSB9LAoteyAgNSwgMHgxMGFiLCAwLCB7MHg2MCwweDE2LDB4YTMsMHgwNSwweDg2fSB9LAoteyAxMywgMHgxMGIwLCAwLCB7MHg5MCwweDdmLDB4YTYsMHgwNSwweDg2LDB4ZTAsMHhhMywweDA1LDB4ODYsMHhmMCwweGMwLDB4MDEsMHgxMn0gfSwKLXsgIDYsIDB4MTBiZCwgMCwgezB4MTAsMHgxYiwweGQwLDB4MDEsMHhkOSwweGVkfSB9LAoteyAgNiwgMHgxMGMzLCAwLCB7MHg5MCwweDdmLDB4YTUsMHg3NCwweDQwLDB4ZjB9IH0sCi17ICAxLCAweDEwYzksIDAsIHsweDIyfSB9LAoteyAgOCwgMHgxMGNhLCAwLCB7MHg5MCwweDg4LDB4MDIsMHg3NCwweDAxLDB4ZjAsMHg3YSwweDAwfSB9LAoteyAgMywgMHgxMGQyLCAwLCB7MHhiYSwweGZmLDB4MDB9IH0sCi17ICAyLCAweDEwZDUsIDAsIHsweDUwLDB4MGF9IH0sCi17IDEwLCAweDEwZDcsIDAsIHsweGMwLDB4MDIsMHgxMiwweDAxLDB4ZGQsMHhkMCwweDAyLDB4MGEsMHg4MCwweGYxfSB9LAoteyAgMSwgMHgxMGUxLCAwLCB7MHgyMn0gfSwKLXsgIDUsIDB4MTBlMiwgMCwgezB4ZTUsMHg2YiwweGI0LDB4YzAsMHgwOH0gfSwKLXsgIDgsIDB4MTBlNywgMCwgezB4OTAsMHg4OCwweDAzLDB4ZTUsMHg2YywweGYwLDB4ODAsMHgwNn0gfSwKLXsgIDYsIDB4MTBlZiwgMCwgezB4OTAsMHg4OCwweDAyLDB4ZTUsMHg2YywweGYwfSB9LAoteyAgNCwgMHgxMGY1LCAwLCB7MHg3YSwweDAwLDB4N2IsMHgwMH0gfSwKLXsgMTEsIDB4MTBmOSwgMCwgezB4YzMsMHhlYSwweDk0LDB4MzIsMHhlYiwweDY0LDB4ODAsMHg5NCwweDgwLDB4NTAsMHgwN30gfSwKLXsgIDUsIDB4MTEwNCwgMCwgezB4MGEsMHhiYSwweDAwLDB4MDEsMHgwYn0gfSwKLXsgIDIsIDB4MTEwOSwgMCwgezB4ODAsMHhlZX0gfSwKLXsgIDEsIDB4MTEwYiwgMCwgezB4MjJ9IH0sCi17IDEwLCAweDExMGMsIDAsIHsweDkwLDB4ODgsMHgwMywweGU1LDB4NmQsMHhmMCwweDA1LDB4MzksMHg3YSwweDAwfSB9LAoteyAgMywgMHgxMTE2LCAwLCB7MHhiYSwweDI4LDB4MDB9IH0sCi17ICAyLCAweDExMTksIDAsIHsweDUwLDB4MDN9IH0sCi17ICAzLCAweDExMWIsIDAsIHsweDBhLDB4ODAsMHhmOH0gfSwKLXsgIDUsIDB4MTExZSwgMCwgezB4ZTUsMHgzOSwweGI0LDB4MTAsMHgwOH0gfSwKLXsgIDgsIDB4MTEyMywgMCwgezB4OTAsMHg4OCwweDAyLDB4NzQsMHhjMCwweGYwLDB4ODAsMHgwZX0gfSwKLXsgIDUsIDB4MTEyYiwgMCwgezB4ZTUsMHgzOSwweGI0LDB4MjAsMHgwOX0gfSwKLXsgIDksIDB4MTEzMCwgMCwgezB4OTAsMHg4OCwweDAyLDB4NzQsMHg4MCwweGYwLDB4NzUsMHgzOSwweDAwfSB9LAoteyAgMiwgMHgxMTM5LCAwLCB7MHg3YSwweDAwfSB9LAoteyAgMywgMHgxMTNiLCAwLCB7MHhiYSwweDI4LDB4MDB9IH0sCi17ICAyLCAweDExM2UsIDAsIHsweDUwLDB4MDN9IH0sCi17ICAzLCAweDExNDAsIDAsIHsweDBhLDB4ODAsMHhmOH0gfSwKLXsgIDEsIDB4MTE0MywgMCwgezB4MjJ9IH0sCi17ICA0LCAweDExNDQsIDAsIHsweGU1LDB4NmYsMHg2MCwweDAyfSB9LAoteyAgMiwgMHgxMTQ4LCAwLCB7MHg4MCwweDA3fSB9LAoteyAgNywgMHgxMTRhLCAwLCB7MHg3YSwweDAwLDB4NzUsMHgzOSwweDAwLDB4ODAsMHgwNX0gfSwKLXsgIDUsIDB4MTE1MSwgMCwgezB4N2EsMHg0MCwweDc1LDB4MzksMHgxMH0gfSwKLXsgIDksIDB4MTE1NiwgMCwgezB4ZTUsMHg2ZSwweDJhLDB4ZmEsMHhlNSwweDZlLDB4MjUsMHgzOSwweGY1fSB9LAoteyAxMCwgMHgxMTVmLCAwLCB7MHgzOSwweDkwLDB4ODgsMHgwMiwweDc0LDB4ODAsMHgyYSwweGYwLDB4N2EsMHgwMH0gfSwKLXsgIDgsIDB4MTE2OSwgMCwgezB4YzMsMHhlYSwweDY0LDB4ODAsMHg5NCwweGE4LDB4NTAsMHgwM30gfSwKLXsgIDMsIDB4MTE3MSwgMCwgezB4MGEsMHg4MCwweGY1fSB9LAoteyAgMSwgMHgxMTc0LCAwLCB7MHgyMn0gfSwKLXsgIDYsIDB4MTE3NSwgMCwgezB4YWEsMHg3MCwweGFiLDB4NzEsMHhhYywweDcyfSB9LAoteyAxMiwgMHgxMTdiLCAwLCB7MHg4YSwweDgyLDB4OGIsMHg4MywweDhjLDB4ZjAsMHgxMiwweDE0LDB4ZWUsMHhmZCwweDYwLDB4MTh9IH0sCi17IDEzLCAweDExODcsIDAsIHsweDhkLDB4NmQsMHhjMCwweDAyLDB4YzAsMHgwMywweGMwLDB4MDQsMHgxMiwweDExLDB4MGMsMHhkMCwweDA0fSB9LAoteyAgOSwgMHgxMTk0LCAwLCB7MHhkMCwweDAzLDB4ZDAsMHgwMiwweDBhLDB4YmEsMHgwMCwweDAxLDB4MGJ9IH0sCi17ICAyLCAweDExOWQsIDAsIHsweDgwLDB4ZGN9IH0sCi17ICAxLCAweDExOWYsIDAsIHsweDIyfSB9LAoteyAxMywgMHgxMWEwLCAwLCB7MHhlNSwweDczLDB4YzQsMHg1NCwweDBmLDB4ZmEsMHg1MywweDAyLDB4MGYsMHhjMywweDc0LDB4MDksMHg5YX0gfSwKLXsgIDIsIDB4MTFhZCwgMCwgezB4NTAsMHgwNn0gfSwKLXsgIDYsIDB4MTFhZiwgMCwgezB4NzQsMHgzNywweDJhLDB4ZmIsMHg4MCwweDA0fSB9LAoteyAgNCwgMHgxMWI1LCAwLCB7MHg3NCwweDMwLDB4MmEsMHhmYn0gfSwKLXsgMTIsIDB4MTFiOSwgMCwgezB4OGIsMHg2ZCwweGMwLDB4MDMsMHgxMiwweDExLDB4MGMsMHhkMCwweDAzLDB4YWEsMHg3MywweDUzfSB9LAoteyAgOCwgMHgxMWM1LCAwLCB7MHgwMiwweDBmLDB4YzMsMHg3NCwweDA5LDB4OWEsMHg1MCwweDA2fSB9LAoteyAgNiwgMHgxMWNkLCAwLCB7MHg3NCwweDM3LDB4MmEsMHhmYiwweDgwLDB4MDR9IH0sCi17ICA0LCAweDExZDMsIDAsIHsweDc0LDB4MzAsMHgyYSwweGZifSB9LAoteyAgNSwgMHgxMWQ3LCAwLCB7MHg4YiwweDZkLDB4MTIsMHgxMSwweDBjfSB9LAoteyAgMSwgMHgxMWRjLCAwLCB7MHgyMn0gfSwKLXsgIDcsIDB4MTFkZCwgMCwgezB4OTAsMHg3ZCwweGMzLDB4ZTAsMHhmYSwweDYwLDB4MGZ9IH0sCi17IDEyLCAweDExZTQsIDAsIHsweDkwLDB4N2QsMHhjMSwweGUwLDB4ZjUsMHg2ZSwweDkwLDB4N2QsMHhjMiwweGUwLDB4ZjUsMHg2Zn0gfSwKLXsgIDMsIDB4MTFmMCwgMCwgezB4MTIsMHgxMSwweDQ0fSB9LAoteyAxMiwgMHgxMWYzLCAwLCB7MHg5MCwweDdkLDB4ZmYsMHhlNCwweGYwLDB4NzUsMHg3MCwweGM0LDB4NzUsMHg3MSwweDdkLDB4NzV9IH0sCi17ICA1LCAweDExZmYsIDAsIHsweDcyLDB4MDEsMHgxMiwweDExLDB4NzV9IH0sCi17ICAxLCAweDEyMDQsIDAsIHsweDIyfSB9LAoteyAgMiwgMHgxMjA1LCAwLCB7MHg3YSwweDA0fSB9LAoteyAgMywgMHgxMjA3LCAwLCB7MHhiYSwweDQwLDB4MDB9IH0sCi17ICAyLCAweDEyMGEsIDAsIHsweDUwLDB4MzZ9IH0sCi17IDE0LCAweDEyMGMsIDAsIHsweGVhLDB4MjQsMHhjMCwweGY1LDB4ODIsMHhlNCwweDM0LDB4N2QsMHhmNSwweDgzLDB4ZTAsMHhmYiwweDdjLDB4MDB9IH0sCi17ICAzLCAweDEyMWEsIDAsIHsweGJjLDB4MDgsMHgwMH0gfSwKLXsgIDIsIDB4MTIxZCwgMCwgezB4NTAsMHgyMH0gfSwKLXsgIDYsIDB4MTIxZiwgMCwgezB4OGIsMHgwNSwweGVkLDB4MzAsMHhlNywweDBifSB9LAoteyAxMSwgMHgxMjI1LCAwLCB7MHg5MCwweDdmLDB4OTYsMHg3NCwweDQyLDB4ZjAsMHg3NCwweGMzLDB4ZjAsMHg4MCwweDA4fSB9LAoteyAgOCwgMHgxMjMwLCAwLCB7MHg5MCwweDdmLDB4OTYsMHhlNCwweGYwLDB4NzQsMHg4MSwweGYwfSB9LAoteyAgNywgMHgxMjM4LCAwLCB7MHhlYiwweDI1LDB4ZTAsMHhmYiwweDBjLDB4ODAsMHhkYn0gfSwKLXsgIDMsIDB4MTIzZiwgMCwgezB4MGEsMHg4MCwweGM1fSB9LAoteyAgMSwgMHgxMjQyLCAwLCB7MHgyMn0gfSwKLXsgIDQsIDB4MTI0MywgMCwgezB4N2EsMHgwMCwweDdiLDB4ZWZ9IH0sCi17ICAzLCAweDEyNDcsIDAsIHsweGJhLDB4MTAsMHgwMH0gfSwKLXsgIDIsIDB4MTI0YSwgMCwgezB4NTAsMHgyMH0gfSwKLXsgMTQsIDB4MTI0YywgMCwgezB4NzQsMHgxMSwweDJiLDB4ZmIsMHgyNCwweDAwLDB4ZmMsMHhlNCwweDM0LDB4MTgsMHhmZCwweDhjLDB4ODIsMHg4ZH0gfSwKLXsgMTQsIDB4MTI1YSwgMCwgezB4ODMsMHhlNCwweGYwLDB4ZWEsMHgyNCwweDAwLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHgxOSwweGY1LDB4ODMsMHhlNH0gfSwKLXsgIDQsIDB4MTI2OCwgMCwgezB4ZjAsMHgwYSwweDgwLDB4ZGJ9IH0sCi17ICAxLCAweDEyNmMsIDAsIHsweDIyfSB9LAoteyAxNCwgMHgxMjZkLCAwLCB7MHg3NCwweGY4LDB4MjQsMHgwMCwweGY1LDB4ODIsMHg3NCwweDAzLDB4MzQsMHg4NCwweGY1LDB4ODMsMHhlNCwweGYwfSB9LAoteyAxNCwgMHgxMjdiLCAwLCB7MHg3NCwweGY5LDB4MjQsMHgwMCwweGY1LDB4ODIsMHg3NCwweDAzLDB4MzQsMHg4NCwweGY1LDB4ODMsMHhlNCwweGYwfSB9LAoteyAxNCwgMHgxMjg5LCAwLCB7MHg3NCwweGZhLDB4MjQsMHgwMCwweGY1LDB4ODIsMHg3NCwweDAzLDB4MzQsMHg4NCwweGY1LDB4ODMsMHhlNCwweGYwfSB9LAoteyAxNCwgMHgxMjk3LCAwLCB7MHg3NCwweGZiLDB4MjQsMHgwMCwweGY1LDB4ODIsMHg3NCwweDAzLDB4MzQsMHg4NCwweGY1LDB4ODMsMHhlNCwweGYwfSB9LAoteyAxNCwgMHgxMmE1LCAwLCB7MHg3NCwweGZmLDB4MjQsMHgwMCwweGY1LDB4ODIsMHg3NCwweDAzLDB4MzQsMHg4NCwweGY1LDB4ODMsMHhlNCwweGYwfSB9LAoteyAgMSwgMHgxMmIzLCAwLCB7MHgyMn0gfSwKLXsgMTQsIDB4MTJiNCwgMCwgezB4MTIsMHgwMywweGNiLDB4MTIsMHgxMiwweDZkLDB4N2EsMHhjMCwweDdiLDB4ODcsMHg3YywweDAxLDB4NzQsMHgwMX0gfSwKLXsgMTQsIDB4MTJjMiwgMCwgezB4MmEsMHhmZCwweGU0LDB4M2IsMHhmZSwweDhjLDB4MDcsMHg4YSwweDgyLDB4OGIsMHg4MywweDhjLDB4ZjAsMHg3NH0gfSwKLXsgMTQsIDB4MTJkMCwgMCwgezB4MDEsMHgxMiwweDE0LDB4YmYsMHgyZCwweGZhLDB4ZTQsMHgzZSwweGZiLDB4OGYsMHgwNCwweDhkLDB4ODIsMHg4ZX0gfSwKLXsgMTQsIDB4MTJkZSwgMCwgezB4ODMsMHg4ZiwweGYwLDB4NzQsMHgwNiwweDEyLDB4MTQsMHhiZiwweDc0LDB4MDEsMHgyYSwweGZkLDB4ZTQsMHgzYn0gfSwKLXsgMTQsIDB4MTJlYywgMCwgezB4ZmUsMHg4YywweDA3LDB4OGEsMHg4MiwweDhiLDB4ODMsMHg4YywweGYwLDB4ZTQsMHgxMiwweDE0LDB4YmYsMHg3NH0gfSwKLXsgMTQsIDB4MTJmYSwgMCwgezB4MDEsMHgyZCwweGZhLDB4ZTQsMHgzZSwweGZiLDB4OGYsMHgwNCwweDhkLDB4ODIsMHg4ZSwweDgzLDB4OGYsMHhmMH0gfSwKLXsgMTQsIDB4MTMwOCwgMCwgezB4NzQsMHgwYiwweDEyLDB4MTQsMHhiZiwweDc0LDB4MDEsMHgyYSwweGZkLDB4ZTQsMHgzYiwweGZlLDB4OGMsMHgwN30gfSwKLXsgMTQsIDB4MTMxNiwgMCwgezB4OGEsMHg4MiwweDhiLDB4ODMsMHg4YywweGYwLDB4NzQsMHgwOCwweDEyLDB4MTQsMHhiZiwweDc0LDB4MDEsMHgyZH0gfSwKLXsgMTQsIDB4MTMyNCwgMCwgezB4ZmEsMHhlNCwweDNlLDB4ZmIsMHg4ZiwweDA0LDB4OGQsMHg4MiwweDhlLDB4ODMsMHg4ZiwweGYwLDB4NzQsMHgwMX0gfSwKLXsgMTQsIDB4MTMzMiwgMCwgezB4MTIsMHgxNCwweGJmLDB4MmEsMHhmZCwweGU0LDB4M2IsMHhmZSwweDhjLDB4MDcsMHg4YSwweDgyLDB4OGIsMHg4M30gfSwKLXsgMTQsIDB4MTM0MCwgMCwgezB4OGMsMHhmMCwweGU0LDB4MTIsMHgxNCwweGJmLDB4NzQsMHgwMSwweDJkLDB4ZmEsMHhlNCwweDNlLDB4ZmIsMHg4Zn0gfSwKLXsgMTQsIDB4MTM0ZSwgMCwgezB4MDQsMHg4ZCwweDgyLDB4OGUsMHg4MywweDhmLDB4ZjAsMHg3NCwweDAzLDB4MTIsMHgxNCwweGJmLDB4N2QsMHgwMH0gfSwKLXsgIDMsIDB4MTM1YywgMCwgezB4YmQsMHgwNiwweDAwfSB9LAoteyAgMiwgMHgxMzVmLCAwLCB7MHg1MCwweDEyfSB9LAoteyAxMSwgMHgxMzYxLCAwLCB7MHg4YSwweDgyLDB4OGIsMHg4MywweDhjLDB4ZjAsMHgwYSwweGJhLDB4MDAsMHgwMSwweDBifSB9LAoteyAgNywgMHgxMzZjLCAwLCB7MHhlNCwweDEyLDB4MTQsMHhiZiwweDBkLDB4ODAsMHhlOX0gfSwKLXsgMTMsIDB4MTM3MywgMCwgezB4OGEsMHg4MiwweDhiLDB4ODMsMHg4YywweGYwLDB4ZTUsMHg3NCwweDEyLDB4MTQsMHhiZiwweDc0LDB4Zjl9IH0sCi17IDE0LCAweDEzODAsIDAsIHsweDI0LDB4MDAsMHhmNSwweDgyLDB4NzQsMHgwMywweDM0LDB4ODQsMHhmNSwweDgzLDB4NzQsMHgwZiwweGYwLDB4NzR9IH0sCi17IDE0LCAweDEzOGUsIDAsIHsweGZlLDB4MjQsMHgwMCwweGY1LDB4ODIsMHg3NCwweDAzLDB4MzQsMHg4NCwweGY1LDB4ODMsMHg3NCwweDAxLDB4ZjB9IH0sCi17ICA2LCAweDEzOWMsIDAsIHsweDEyLDB4MDMsMHhlMSwweDEyLDB4MDQsMHhmN30gfSwKLXsgIDEsIDB4MTNhMiwgMCwgezB4MjJ9IH0sCi17IDEzLCAweDEzYTMsIDAsIHsweDkwLDB4N2QsMHhjMSwweGUwLDB4ZmEsMHgyNCwweDAwLDB4ZmIsMHhlNCwweDM0LDB4MTksMHhmYywweDkwfSB9LAoteyAxNCwgMHgxM2IwLCAwLCB7MHg3ZCwweGMyLDB4ZTAsMHhmZCwweDhiLDB4ODIsMHg4YywweDgzLDB4ZjAsMHg3NSwweGYwLDB4MTEsMHhlYSwweGE0fSB9LAoteyAgMywgMHgxM2JlLCAwLCB7MHhmYSwweDdiLDB4MDB9IH0sCi17ICAzLCAweDEzYzEsIDAsIHsweGJiLDB4MTAsMHgwMH0gfSwKLXsgIDIsIDB4MTNjNCwgMCwgezB4NTAsMHgyNH0gfSwKLXsgMTQsIDB4MTNjNiwgMCwgezB4ZWEsMHgyNCwweDAwLDB4ZmMsMHhlNCwweDM0LDB4MTgsMHhmZCwweGViLDB4MmMsMHhmYywweGU0LDB4M2QsMHhmZH0gfSwKLXsgMTQsIDB4MTNkNCwgMCwgezB4NzQsMHgwNCwweDJiLDB4MjQsMHhjMCwweGY1LDB4ODIsMHhlNCwweDM0LDB4N2QsMHhmNSwweDgzLDB4ZTAsMHhmZX0gfSwKLXsgIDgsIDB4MTNlMiwgMCwgezB4OGMsMHg4MiwweDhkLDB4ODMsMHhmMCwweDBiLDB4ODAsMHhkN30gfSwKLXsgMTQsIDB4MTNlYSwgMCwgezB4ZWEsMHgyNCwweDAwLDB4ZmEsMHhlNCwweDM0LDB4MTgsMHhmYiwweDc0LDB4MTAsMHgyYSwweGY1LDB4ODIsMHhlNH0gfSwKLXsgIDUsIDB4MTNmOCwgMCwgezB4M2IsMHhmNSwweDgzLDB4ZTQsMHhmMH0gfSwKLXsgIDEsIDB4MTNmZCwgMCwgezB4MjJ9IH0sCi17ICA0LCAweDEzZmUsIDAsIHsweGU1LDB4NzYsMHg2MCwweDAyfSB9LAoteyAgMiwgMHgxNDAyLCAwLCB7MHg4MCwweDE2fSB9LAoteyAxMiwgMHgxNDA0LCAwLCB7MHg3NCwweDBmLDB4NTUsMHg3NSwweGZhLDB4OGEsMHg3NSwweDI0LDB4MDAsMHhmNSwweDgyLDB4ZTR9IH0sCi17IDEwLCAweDE0MTAsIDAsIHsweDM0LDB4MTksMHhmNSwweDgzLDB4ZTAsMHhmNSwweDc0LDB4MTIsMHgxMiwweGI0fSB9LAoteyAxMCwgMHgxNDFhLCAwLCB7MHgxMiwweDEwLDB4Y2EsMHg3NSwweDZlLDB4MDAsMHg3NSwweDZmLDB4MDAsMHgxMn0gfSwKLXsgIDYsIDB4MTQyNCwgMCwgezB4MTEsMHg0NCwweDc1LDB4NzAsMHhiOSwweDc1fSB9LAoteyAgNiwgMHgxNDJhLCAwLCB7MHg3MSwweDE0LDB4NzUsMHg3MiwweDAyLDB4MTJ9IH0sCi17IDExLCAweDE0MzAsIDAsIHsweDExLDB4NzUsMHhlNSwweDc2LDB4YjQsMHgwMiwweDA0LDB4NzQsMHgwMSwweDgwLDB4MDF9IH0sCi17ICAxLCAweDE0M2IsIDAsIHsweGU0fSB9LAoteyAgMywgMHgxNDNjLCAwLCB7MHhmYSwweDcwLDB4MGZ9IH0sCi17IDEyLCAweDE0M2YsIDAsIHsweDc0LDB4MDEsMHgyNSwweDc1LDB4ZjUsMHg3MywweGMwLDB4MDIsMHgxMiwweDExLDB4YTAsMHhkMH0gfSwKLXsgIDMsIDB4MTQ0YiwgMCwgezB4MDIsMHg4MCwweDBhfSB9LAoteyAxMCwgMHgxNDRlLCAwLCB7MHg4NSwweDc1LDB4NzMsMHhjMCwweDAyLDB4MTIsMHgxMSwweGEwLDB4ZDAsMHgwMn0gfSwKLXsgMTIsIDB4MTQ1OCwgMCwgezB4NzUsMHg2ZSwweDAwLDB4NzUsMHg2ZiwweDAxLDB4YzAsMHgwMiwweDEyLDB4MTEsMHg0NCwweGQwfSB9LAoteyAgNCwgMHgxNDY0LCAwLCB7MHgwMiwweGVhLDB4NzAsMHgxYX0gfSwKLXsgMTMsIDB4MTQ2OCwgMCwgezB4NzUsMHhmMCwweDExLDB4ZTUsMHg3NSwweGE0LDB4ZmEsMHgyNCwweDAwLDB4ZmEsMHhlNCwweDM0LDB4MTh9IH0sCi17ICA5LCAweDE0NzUsIDAsIHsweGZiLDB4OGEsMHg3MCwweDhiLDB4NzEsMHg3NSwweDcyLDB4MDEsMHgxMn0gfSwKLXsgIDQsIDB4MTQ3ZSwgMCwgezB4MTEsMHg3NSwweDgwLDB4MzZ9IH0sCi17ICAyLCAweDE0ODIsIDAsIHsweDdhLDB4MDB9IH0sCi17ICAzLCAweDE0ODQsIDAsIHsweGJhLDB4MTAsMHgwMH0gfSwKLXsgIDIsIDB4MTQ4NywgMCwgezB4NTAsMHgyZn0gfSwKLXsgMTMsIDB4MTQ4OSwgMCwgezB4ZWEsMHgyNCwweDAwLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHgxOSwweGY1LDB4ODMsMHhlMCwweGZiLDB4ZTV9IH0sCi17ICA0LCAweDE0OTYsIDAsIHsweDc1LDB4YjUsMHgwMywweDFifSB9LAoteyAxNCwgMHgxNDlhLCAwLCB7MHg3NSwweGYwLDB4MTEsMHhlYSwweGE0LDB4ZmIsMHgyNCwweDAwLDB4ZmIsMHhlNCwweDM0LDB4MTgsMHhmYywweDhifSB9LAoteyAgOSwgMHgxNGE4LCAwLCB7MHg3MCwweDhjLDB4NzEsMHg3NSwweDcyLDB4MDEsMHhjMCwweDAyLDB4MTJ9IH0sCi17ICA0LCAweDE0YjEsIDAsIHsweDExLDB4NzUsMHhkMCwweDAyfSB9LAoteyAgMywgMHgxNGI1LCAwLCB7MHgwYSwweDgwLDB4Y2N9IH0sCi17ICAxLCAweDE0YjgsIDAsIHsweDIyfSB9LAoteyAgNiwgMHgxNGI5LCAwLCB7MHg1MCwweDcyLDB4NmYsMHg2NywweDIwLDB4MDB9IH0sCi17IDE0LCAweDE0YmYsIDAsIHsweGM4LDB4YzAsMHhlMCwweGM4LDB4YzAsMHhlMCwweGU1LDB4ZjAsMHg2MCwweDBiLDB4MTQsMHg2MCwweDBmLDB4MTR9IH0sCi17ICA3LCAweDE0Y2QsIDAsIHsweDYwLDB4MTEsMHgxNCwweDYwLDB4MTIsMHg4MCwweDE1fSB9LAoteyAgNywgMHgxNGQ0LCAwLCB7MHhkMCwweGUwLDB4YTgsMHg4MiwweGY2LDB4ODAsMHgwZX0gfSwKLXsgIDUsIDB4MTRkYiwgMCwgezB4ZDAsMHhlMCwweGYwLDB4ODAsMHgwOX0gfSwKLXsgIDQsIDB4MTRlMCwgMCwgezB4ZDAsMHhlMCwweDgwLDB4MDV9IH0sCi17ICA1LCAweDE0ZTQsIDAsIHsweGQwLDB4ZTAsMHhhOCwweDgyLDB4ZjJ9IH0sCi17ICA0LCAweDE0ZTksIDAsIHsweGM4LDB4ZDAsMHhlMCwweGM4fSB9LAoteyAgMSwgMHgxNGVkLCAwLCB7MHgyMn0gfSwKLXsgMTQsIDB4MTRlZSwgMCwgezB4YzgsMHhjMCwweGUwLDB4ZTUsMHhmMCwweDYwLDB4MGQsMHgxNCwweDYwLDB4MGYsMHgxNCwweDYwLDB4MGYsMHgxNH0gfSwKLXsgIDYsIDB4MTRmYywgMCwgezB4NjAsMHgxMCwweDc0LDB4ZmYsMHg4MCwweDBmfSB9LAoteyAgNSwgMHgxNTAyLCAwLCB7MHhhOCwweDgyLDB4ZTYsMHg4MCwweDBhfSB9LAoteyAgMywgMHgxNTA3LCAwLCB7MHhlMCwweDgwLDB4MDd9IH0sCi17ICA0LCAweDE1MGEsIDAsIHsweGU0LDB4OTMsMHg4MCwweDAzfSB9LAoteyAgMywgMHgxNTBlLCAwLCB7MHhhOCwweDgyLDB4ZTJ9IH0sCi17ICA0LCAweDE1MTEsIDAsIHsweGY4LDB4ZDAsMHhlMCwweGM4fSB9LAoteyAgMSwgMHgxNTE1LCAwLCB7MHgyMn0gfSwKLXsgIDAsIDB4MDAwMCwgMSwgezB9IH0KLQotfTsKLQotc3RhdGljIHVuc2lnbmVkIGNoYXIgYml0c3RyZWFtW10gPSB7Ci0KLTB4MDAsMHgwOSwweDBGLDB4RjAsMHgwRiwweEYwLDB4MEYsMHhGMCwgMHgwRiwweEYwLDB4MDAsMHgwMCwweDAxLDB4NjEsMHgwMCwweDBELAotMHg2NCwweDYxLDB4NjIsMHg3NSwweDczLDB4NjIsMHg3NCwweDcyLCAweDJFLDB4NkUsMHg2MywweDY0LDB4MDAsMHg2MiwweDAwLDB4MEIsCi0weDczLDB4MzEsMHgzMCwweDc4LDB4NkMsMHg3NiwweDcxLDB4MzEsIDB4MzAsMHgzMCwweDAwLDB4NjMsMHgwMCwweDBCLDB4MzEsMHgzOSwKLTB4MzksMHgzOSwweDJGLDB4MzAsMHgzOSwweDJGLDB4MzIsMHgzNCwgMHgwMCwweDY0LDB4MDAsMHgwOSwweDMxLDB4MzAsMHgzQSwweDM0LAotMHgzMiwweDNBLDB4MzQsMHgzNiwweDAwLDB4NjUsMHgwMCwweDAwLCAweDJFLDB4QzAsMHhGRiwweDIwLDB4MTcsMHg1RiwweDlGLDB4NUIsCi0weEZFLDB4RkIsMHhCQiwweEI3LDB4QkIsMHhCQiwweEZCLDB4QkYsIDB4QUYsMHhFRiwweEZCLDB4REYsMHhCNywweEZCLDB4RkIsMHg3RiwKLTB4QkYsMHhCNywweEVGLDB4RjIsMHhGRiwweEZCLDB4RkUsMHhGRiwgMHhGRiwweEVGLDB4RkYsMHhGRSwweEZGLDB4QkYsMHhGRiwweEZGLAotMHhGRiwweEZGLDB4QUYsMHhGRiwweEZBLDB4RkYsMHhGRiwweEZGLCAweEM5LDB4RkYsMHhGRiwweEZGLDB4REYsMHhGRiwweEZGLDB4RkYsCi0weEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsIDB4RkYsMHhGRiwweEZGLDB4RkIsMHhGRiwweEEzLDB4RkYsMHhGQiwKLTB4RkUsMHhGRiwweEJGLDB4RUYsMHhFMywweEZFLDB4RkYsMHhCRiwgMHhFMywweEZFLDB4RkYsMHhCRiwweDZGLDB4RkIsMHhGNiwweEZGLAotMHhCRiwweEZGLDB4NDcsMHhGRiwweEZGLDB4OUYsMHhFRSwweEY5LCAweEZFLDB4Q0YsMHg5RiwweEVGLDB4RkIsMHhDRiwweDlCLDB4RUUsCi0weEY4LDB4RkUsMHhFRiwweDhGLDB4RUUsMHhGQiwweEZFLDB4MEIsIDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwKLTB4RkYsMHhGRiwweEJGLDB4RkYsMHhGRiwweEZCLDB4RkYsMHhGRiwgMHhCRiwweEZGLDB4RkYsMHhGQywweDE3LDB4RkYsMHhGRiwweEZGLAotMHhGRiwweEZGLDB4RkYsMHg3RiwweEZGLDB4RkYsMHhGRiwweDdGLCAweEZGLDB4RkYsMHhGQiwweEZGLDB4RkYsMHg3RiwweEZGLDB4RkYsCi0weEZDLDB4M0YsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsIDB4RkYsMHhGRiwweEZGLDB4RkIsMHhGRiwweEZGLDB4RkYsMHhGRiwKLTB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZFLDB4NUYsMHhGRiwgMHhGRiwweEZELDB4RkYsMHhGRiwweERCLDB4RkYsMHhGRCwweEZGLAotMHg3NywweEZGLDB4RkQsMHhGRiwweEZGLDB4REYsMHhGRSwweEZELCAweEZGLDB4RkYsMHhGMiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsCi0weEZGLDB4RkQsMHhGRiwweEZGLDB4RkYsMHhGRCwweEZGLDB4RkYsIDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhFMSwKLTB4N0YsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwgMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4M0YsMHhGRiwweEZGLAotMHhGRiwweEZGLDB4RkYsMHhGRiwweEUzLDB4RkYsMHhGRiwweEZGLCAweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4QkYsCi0weEZGLDB4RkUsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsIDB4RkYsMHg2NywweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwKLTB4N0YsMHhGRiwweEZGLDB4RkYsMHg3RiwweEZGLDB4RkYsMHhGRiwgMHhGRiwweEZGLDB4REYsMHhGRiwweEZGLDB4RkYsMHgyRiwweEZGLAotMHhGMywweEZELDB4RkYsMHg3RiwweERFLDB4RjcsMHhGRCwweEZGLCAweDdGLDB4RjcsMHg3RCwweEZGLDB4N0YsMHhERiwweEY3LDB4QkQsCi0weEZGLDB4N0YsMHhGRiwweDFGLDB4RkYsMHhFRiwweEZCLDB4RkUsIDB4RkYsMHhCRiwweEVGLDB4RkIsMHhGRSwweEZGLDB4RUYsMHhGQiwKLTB4RkUsMHhGRiwweEJGLDB4RUYsMHhGQiwweEZFLDB4RkYsMHhGRiwgMHgzRiwweEZFLDB4N0YsMHg5RiwweEU3LDB4RjksMHhGRSwweDdGLAotMHg5RiwweEU3LDB4RkEsMHg3RiwweDlGLDB4RTcsMHhGOSwweEZFLCAweDdGLDB4OUYsMHhFNywweEZGLDB4RkMsMHg3RiwweEJGLDB4QkYsCi0weEVGLDB4RkIsMHhGRSwweEZGLDB4QkYsMHhFRiwweEZCLDB4QjcsIDB4QkYsMHhFRiwweEZCLDB4RkUsMHhGRiwweEJGLDB4RUYsMHhGQiwKLTB4RkYsMHhFMCwweEZELDB4RjksMHhGRSwweDdGLDB4OUYsMHhFNywgMHhGOSwweEZFLDB4N0YsMHg5RCwweEY5LDB4RkUsMHg3RCwweDlELAotMHhFNywweEY5LDB4RkUsMHg3RiwweDlGLDB4RUQsMHhFRCwweEZGLCAweEZELDB4RkYsMHg3RiwweERGLDB4RjcsMHhGRCwweEZGLDB4N0YsCi0weERGLDB4RkQsMHhGRiwweDdGLDB4REYsMHhGNywweEZELDB4RkYsIDB4N0YsMHhERiwweEZGLDB4OUIsMHhGRiwweEVGLDB4RkIsMHhGRSwKLTB4RkIsMHhCRiwweEVGLDB4QkIsMHhGRSwweEZGLDB4QUYsMHhCQiwgMHhCRSwweEZGLDB4QkYsMHhFRiwweEZCLDB4RkUsMHhGRiwweEZGLAotMHhCNywweEJGLDB4REIsMHhGNiwweEJELDB4QkYsMHg2QiwweERCLCAweEY2LDB4RjksMHhCRiwweDVCLDB4RDYsMHhGOSwweEJGLDB4NkYsCi0weERCLDB4RjYsMHhGRCwweEJGLDB4RkYsMHgwRSwweEZGLDB4RkYsIDB4RkYsMHhGRiwweDVGLDB4RkYsMHhGNywweEZGLDB4RkYsMHg3RiwKLTB4RjcsMHhCRCwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwgMHhGRiwweERGLDB4OUYsMHhGRiwweEZGLDB4RkYsMHhGRSwweEZGLAotMHhGRiwweEVGLDB4RkUsMHhGRSwweEZGLDB4RkYsMHg3NywweEZGLCAweEZCLDB4RkIsMHhGRiwweEZGLDB4RkYsMHhGRiwweEY4LDB4M0YsCi0weEZGLDB4RkQsMHhGRiwweEZGLDB4RkYsMHhGRCwweEZGLDB4RkYsIDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwKLTB4RkYsMHhGRiwweEZGLDB4RjQsMHg3RiwweEZGLDB4RkUsMHhGRCwgMHhCRSwweEZGLDB4REYsMHhGRSwweEZGLDB4RkYsMHhFRiwweDdGLAotMHhGRiwweENGLDB4RkYsMHhDRiwweEZGLDB4RkYsMHhGRiwweERGLCAweEU2LDB4RkYsMHhGRiwweDdGLDB4REYsMHhGNywweERELDB4N0YsCi0weDdGLDB4REYsMHhGNywweEZGLDB4N0YsMHhERiwweEQ3LDB4RkQsIDB4RkYsMHg3RiwweERGLDB4RjcsMHhGRiwweENELDB4RkYsMHhGMiwKLTB4RkYsMHhGRiwweDRGLDB4N0YsMHhGNCwweEZGLDB4RkYsMHhGRiwgMHhFNywweEVGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLAotMHhGRiwweEZGLDB4QkIsMHhGRiwweEVGLDB4RkYsMHhGRSwweEZGLCAweEZGLDB4RkYsMHhFRiwweEZGLDB4RkYsMHhFRiwweEZGLDB4RkIsCi0weEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4NjUsIDB4RUYsMHhGRiwweEZGLDB4N0YsMHhGRiwweEZELDB4RUYsMHhGRiwKLTB4RkYsMHhGRiwweEZFLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwgMHhGRiwweEZGLDB4RkYsMHhGRSwweENGLDB4REYsMHhGRSwweEZGLAotMHhGRiwweEZCLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGMywweEZGLCAweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsCi0weEZFLDB4REYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsIDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwKLTB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZFLDB4QkYsMHhGRiwgMHhGRiwweEZGLDB4RTMsMHg3RiwweEZGLDB4RkYsMHhGRiwweEZGLAotMHhGRiwweEZGLDB4RUYsMHhFQiwweEZGLDB4RkUsMHhCRiwweEZGLCAweEVCLDB4RkYsMHhGQywweDdGLDB4RkYsMHhGRiwweEZGLDB4RUUsCi0weEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweERELDB4RkYsIDB4RDYsMHhGRiwweEZELDB4QkYsMHhGRiwweEZCLDB4RkYsMHhGRSwKLTB4RkQsMHhGRiwweEZGLDB4RkQsMHhFRiwweEZGLDB4RkYsMHhGRiwgMHhGRiwweEZGLDB4RkYsMHhERSwweEZGLDB4RkYsMHhGRiwweEZGLAotMHhGRiwweEZGLDB4QkYsMHhGRiwweEZELDB4RkYsMHg3RiwweEJGLCAweEZGLDB4NUYsMHhERiwweEZGLDB4RkYsMHhCRiwweDc3LDB4RkYsCi0weEZGLDB4RkYsMHg3RiwweEQ3LDB4RkYsMHhGRiwweEZGLDB4RkYsIDB4RkYsMHhDMywweEZGLDB4RkYsMHhGRiwweEZGLDB4REYsMHhFRiwKLTB4RkYsMHhGRiwweEZFLDB4RkIsMHhGRiwweEZGLDB4REYsMHhCRiwgMHhGRiwweEZGLDB4RkYsMHhGRiwweEVELDB4RkYsMHhCNywweEZGLAotMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLCAweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsCi0weEZGLDB4RkYsMHhGRiwweEFGLDB4N0YsMHhGRiwweEZGLDB4RkYsIDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwKLTB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwgMHhERiwweEJGLDB4REYsMHhGMywweEZELDB4RkIsMHhGRiwweDVCLAotMHhGRCwweEZGLDB4QkYsMHhFRiwweEY3LDB4RkYsMHhGRiwweDdELCAweEZGLDB4RkYsMHhGRiwweEZGLDB4RjgsMHgzQiwweEZGLDB4QkYsCi0weDZGLDB4RkYsMHhGRSwweEZGLDB4QkYsMHhGRiwweEVCLDB4N0QsIDB4RkYsMHhFRiwweEZCLDB4RkUsMHhGRiwweEZGLDB4RkYsMHhGRiwKLTB4RkYsMHhGMiwweDdGLDB4RkMsMHhGRiwweDNGLDB4REYsMHhFRCwgMHhGRSwweEZGLDB4RkYsMHhGRiwweEZGLDB4RUYsMHg1RiwweEY3LAotMHhCNSwweEZGLDB4RUYsMHhGRiwweEZGLDB4RkYsMHhFMCwweDNGLCAweDlGLDB4OUUsMHhGRiwweEZGLDB4RUYsMHhGRiwweERGLDB4RkYsCi0weEJGLDB4NUYsMHhCRiwweENGLDB4RjMsMHhGRiwweEZGLDB4RkYsIDB4RkYsMHhGRiwweEZGLDB4NjksMHhBRiwweDMzLDB4RkQsMHhGRiwKLTB4RkIsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZDLDB4RkYsMHg3RiwgMHhEOSwweEZGLDB4REYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEY1LAotMHhBMywweERGLDB4NkUsMHhERSwweEZGLDB4RkYsMHhCRCwweEZGLCAweEZGLDB4RkUsMHhGRiwweEZGLDB4RkYsMHhGRSwweEU3LDB4RkQsCi0weEZGLDB4RkYsMHhGRiwweEY5LDB4RUYsMHhDNiwweEZFLDB4QjcsIDB4QUQsMHhFNSwweEY5LDB4RkYsMHhGRiwweEZGLDB4Q0YsMHhGRiwKLTB4RkYsMHhGRiwweENELDB4RkIsMHg3RiwweEZGLDB4RkYsMHhGRiwgMHhGOSwweEY2LDB4MEYsMHhERiwweEVDLDB4Q0YsMHg3RiwweEZGLAotMHhGQiwweDdGLDB4RkYsMHhGRiwweEZGLDB4RkQsMHhGRiwweEZFLCAweEY5LDB4RkQsMHg3RiwweEZGLDB4N0YsMHhGRiwweEY5LDB4NUIsCi0weEZGLDB4NzMsMHhEQywweEZELDB4N0IsMHhERiwweEZGLDB4RkYsIDB4RkYsMHg3QiwweEZGLDB4RkYsMHhGNywweDUzLDB4RDYsMHhGRiwKLTB4RkYsMHhGRiwweEZGLDB4RDgsMHg5RiwweEZFLDB4RkYsMHhFRiwgMHg3RiwweEVFLDB4RkYsMHhGRiwweEZGLDB4RkIsMHhFRCwweEVELAotMHhGRCwweEZGLDB4RkUsMHhGRiwweEZGLDB4RkIsMHg3RiwweEZGLCAweEUyLDB4N0YsMHhGRiwweDZGLDB4RDgsMHg1NywweEY3LDB4RkYsCi0weEZGLDB4RkYsMHhERiwweEZGLDB4RTgsMHhGRiwweEZGLDB4RkQsIDB4RkYsMHhGRiwweEZDLDB4N0YsMHhGRiwweEU0LDB4RkYsMHhGQiwKLTB4RUYsMHhGQiwweEZFLDB4REYsMHhCNywweEVELDB4RkYsMHhGRSwgMHhERiwweDdGLDB4RkYsMHhGRSwweDdGLDB4QjcsMHhGRiwweEZGLAotMHhGRiwweEZGLDB4ODksMHhGRiwweEZGLDB4Q0YsMHhGMywweEZFLCAweDdGLDB4RkYsMHhFRiwweEZGLDB4RkUsMHg3RSwweDdGLDB4RkIsCi0weEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RjEsIDB4RkYsMHhFQiwweDdBLDB4RDUsMHhCRiwweDZGLDB4REIsMHhCRSwKLTB4RkQsMHhCNywweEQ4LDB4RjYsMHhFNSwweEJGLDB4NkYsMHhGQiwgMHhGRSwweEY1LDB4QkQsMHg3RSwweDA2LDB4RkYsMHhERiwweEY3LAotMHhGQiwweEY2LDB4RkYsMHgzRiwweEZGLDB4REIsMHhGRiwweEZGLCAweDZGLDB4RkIsMHhGNywweEZGLDB4RkYsMHhGRiwweEZCLDB4RkUsCi0weEY3LDB4QUYsMHhGRiwweEI3LDB4RUQsMHhFRiwweEY3LDB4RkUsIDB4RkYsMHhGRiwweERGLDB4RkYsMHhGRSwweEZGLDB4RUYsMHhGRiwKLTB4RkYsMHhGRiwweEZGLDB4QkYsMHhGNywweEZDLDB4MUYsMHhFRSwgMHhGQiwweEZFLDB4QkQsMHhGRiwweDdGLDB4NUYsMHhENywweEZELAotMHhGQiwweDQzLDB4RkYsMHhGRiwweEZELDB4RkYsMHg1RiwweEZGLCAweEY3LDB4RkYsMHhGOSwweDNGLDB4RkYsMHhDRiwweEYzLDB4RkQsCi0weEY3LDB4N0UsMHhFRiwweEE3LDB4RjksMHhGRSwweDhGLDB4QTcsIDB4RTksMHhGMywweDdFLDB4OUYsMHhGQiwweEY4LDB4RkYsMHhGRiwKLTB4M0YsMHhGRCwweDdGLDB4NUYsMHhERiwweEZELDB4RkYsMHhGRiwgMHg1RiwweEZGLDB4RkQsMHg1RiwweEZGLDB4RkYsMHg3RiwweEZELAotMHg3RiwweEZELDB4OUYsMHhGRiwweEUwLDB4RkYsMHhGQSwweEY4LCAweEJFLDB4NkYsMHg5RiwweEU2LDB4RjgsMHhCRSwweDNGLDB4OUEsCi0weEY5LDB4QkUsMHg2RiwweDlGLDB4RTIsMHhGOSwweEZFLDB4NkYsIDB4OUYsMHhGOSwweEZGLDB4RjUsMHhGRCwweDdGLDB4Q0YsMHhERiwKLTB4RkQsMHhGRCwweDdGLDB4RkYsMHhGNSwweEZGLDB4RkYsMHhGRiwgMHhGNywweEY1LDB4RkQsMHgwRiwweERCLDB4RkYsMHhEMywweEZGLAotMHhFQiwweEZBLDB4RkYsMHhGRiwweEJGLDB4RkYsMHhGQSwweEZGLCAweEZGLDB4Q0IsMHhGQiwweEZFLDB4RkYsMHhGRiwweEVCLDB4RkEsCi0weEZFLDB4RkYsMHhGRiwweEI3LDB4RkYsMHhGRiwweEZGLDB4RkYsIDB4QkYsMHhGRiwweERGLDB4RjUsMHhGRiwweEZGLDB4RDcsMHhGRiwKLTB4RkYsMHhGRiwweERGLDB4RDcsMHhGNSwweEZGLDB4N0YsMHhGRSwgMHg0RiwweEZGLDB4RkQsMHhGRiwweDdGLDB4N0YsMHhGRiwweEFELAotMHhFQiwweEZCLDB4RkYsMHhBRCwweEZGLDB4RkYsMHhGRiwweEZGLCAweEFGLDB4RUIsMHhGQiwweEZGLDB4RkMsMHgwRCwweEZGLDB4RkYsCi0weERGLDB4RDIsMHhGRCwweEZGLDB4RkYsMHhGRCwweEY2LDB4RkYsIDB4RkYsMHg3RiwweEZGLDB4RkYsMHgxRiwweEZGLDB4RkYsMHhGRiwKLTB4RkYsMHhGQiwweDNGLDB4N0QsMHhFQiwweDMyLDB4RkUsMHhCRiwgMHgyRiwweEVCLDB4RkEsMHhBRSwweEJELDB4RTAsMHhGQSwweDdFLAotMHhCRiwweEFELDB4RUIsMHhGQSwweEZFLDB4QkYsMHhGNSwweDdGLCAweEZGLDB4REUsMHhGRSwweEUzLDB4RkIsMHhGRiwweEZGLDB4RkYsCi0weERGLDB4RUYsMHg0RiwweERGLDB4RkYsMHg3RiwweERGLDB4RkYsIDB4RjcsMHhGRiwweEZGLDB4RjgsMHg3RiwweEZGLDB4RkYsMHhFRiwKLTB4RkIsMHhGRiwweEZGLDB4RkYsMHhFRiwweEZGLDB4RkYsMHhERiwgMHhFRCwweEZCLDB4REYsMHhGRiwweEJGLDB4RkYsMHhGRiwweEZGLAotMHg4MSwweEZGLDB4RkYsMHhGRiwweEZGLDB4M0YsMHhGRiwweEZGLCAweEZGLDB4RkYsMHhGRSwweERELDB4RkUsMHhFRiwweEZELDB4RkYsCi0weEZGLDB4RkIsMHhGRSwweEY3LDB4RkYsMHg5MywweEZELDB4RkIsIDB4N0UsMHhGRiwweEZFLDB4ODcsMHhFOSwweEZGLDB4N0YsMHhCMywKLTB4OUYsMHhGRSwweEZFLDB4RkYsMHhBRiwweEZELDB4RkUsMHg3RSwgMHgzRiwweEZFLDB4NjcsMHhGRiwweEZGLDB4RjcsMHhGRiwweEZGLAotMHhGQywweEY3LDB4REYsMHhGRCwweEZGLDB4N0YsMHhGRiwweEZGLCAweDdGLDB4NkQsMHhGRiwweEZGLDB4RkUsMHhGRiwweEZGLDB4MkYsCi0weEZGLDB4QkYsMHhGRiwweEZGLDB4RUUsMHhGRiwweEJFLDB4RkYsIDB4RkYsMHhGRSwweEZGLDB4RUYsMHhGRiwweEZGLDB4RkUsMHhGRiwKLTB4RUYsMHhGRiwweEZGLDB4RkEsMHg1RiwweEZGLDB4RkYsMHhGQiwgMHhGRiwweEZGLDB4RUYsMHhGRiwweEZCLDB4RkUsMHhGRCwweEZGLAotMHhGRSwweEZGLDB4RkIsMHhGRiwweEZGLDB4RkYsMHg3RiwweEZGLCAweEZFLDB4QkYsMHhERiwweEZGLDB4RkIsMHhGRiwweEZGLDB4RjcsCi0weEZDLDB4RkQsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4N0YsIDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEYyLDB4N0YsMHhGRiwKLTB4RkYsMHhGRiwweEZGLDB4N0YsMHhGRiwweEZGLDB4RkYsMHhGRiwgMHhGMywweEZGLDB4RkYsMHhGRiwweEVGLDB4RkIsMHhGRiwweEZGLAotMHhGRiwweERGLDB4RTIsMHhGRiwweEZGLDB4RkIsMHhGRiwweEZGLCAweEZGLDB4RkYsMHhGRiwweEZGLDB4RkIsMHhFNywweEZGLDB4RkQsCi0weEZGLDB4RkYsMHhGRiwweEJGLDB4RkYsMHhGRiwweEZGLDB4RUQsIDB4RUYsMHhGRCwweEZGLDB4RkYsMHhERiwweEQ3LDB4RjUsMHhGRCwKLTB4N0YsMHg1RCwweEZELDB4RkYsMHg3RiwweERGLDB4OTcsMHhGNCwgMHhGRCwweDdCLDB4NUYsMHhGRiwweEM5LDB4RkYsMHhGQiwweEZFLAotMHhGRiwweEJGLDB4RkYsMHg1RiwweEZGLDB4RkYsMHhGNywweEZGLCAweEVGLDB4RkQsMHhGRiwweEVGLDB4RkYsMHhGRiwweEZGLDB4RkYsCi0weEZGLDB4RjcsMHhGRiwweEQ3LDB4RkQsMHg3RCwweDdGLDB4RkYsIDB4RkYsMHhGRiwweEZGLDB4RUYsMHhERiwweEY3LDB4RkQsMHhGRiwKLTB4QkIsMHhGRiwweEZGLDB4N0YsMHhGRiwweEZFLDB4RTMsMHhGRiwgMHhGOSwweEZFLDB4N0YsMHhCRiwweEVGLDB4RkIsMHhGRSwweEZGLAotMHhCRiwweEY5LDB4RkUsMHhGRiwweDlGLDB4RUYsMHhGOSwweEZFLCAweEZGLDB4QkYsMHhGMywweERBLDB4RkYsMHgzNywweENELDB4RjMsCi0weDdDLDB4REYsMHgzNywweENELDB4RjMsMHg3RiwweDM3LDB4Q0QsIDB4RjMsMHg3QywweERGLDB4MzcsMHhDQywweEYzLDB4N0YsMHg1QSwKLTB4QkQsMHhGNiwweEZELDB4QkYsMHg2RiwweERCLDB4RjYsMHhGRCwgMHhCRiwweDZGLDB4REUsMHhGRCwweEJGLDB4NkYsMHhEQiwweEY2LAotMHhGRCwweEJGLDB4NkYsMHhGRSwweEYxLDB4NkYsMHhFQiwweDdBLCAweERFLDB4QjcsMHhBRCwweEVCLDB4N0EsMHhERSwweEI3LDB4QUYsCi0weDdBLDB4REUsMHhCNywweEFELDB4RUIsMHg3QSwweERFLDB4QjcsIDB4RkYsMHg3RSwweEZGLDB4RkUsMHhDRCwweEIzLDB4NkMsMHhEQiwKLTB4MzYsMHhDRCwweEIzLDB4NkMsMHhERSwweENELDB4QjMsMHg2QywgMHhEQiwweDM2LDB4Q0QsMHhCMywweDZDLDB4REYsMHhDOSwweEJGLAotMHhGNywweEJELDB4RUYsMHg3QSwweDlFLDB4QTcsMHhBOSwweEVBLCAweDdBLDB4QjcsMHhCRCwweEVBLDB4N0IsMHhERSwweEE3LDB4QkQsCi0weENBLDB4NzIsMHg4RCwweDkxLDB4RkYsMHhFRiwweEZCLDB4RkUsIDB4RkYsMHhCRiwweEVGLDB4RkIsMHhGRSwweEY3LDB4RUYsMHhGQiwKLTB4RkUsMHhGRiwweEJGLDB4RUYsMHhGQiwweEZFLDB4RkYsMHhGRSwgMHg4NywweEZGLDB4RjYsMHhGRCwweEJGLDB4NkYsMHhEQiwweEY2LAotMHhGRCwweEJGLDB4NkYsMHhGNiwweEZELDB4QkYsMHg2RiwweERCLCAweEY2LDB4RkQsMHhCRiwweDZGLDB4RkUsMHg0RiwweEZGLDB4QkYsCi0weEVGLDB4QkIsMHhFRSwweEZCLDB4QkUsMHhFRiwweEJCLDB4RUYsIDB4QkUsMHhFRiwweEJCLDB4RUUsMHhGQiwweEJFLDB4RUYsMHhCQiwKLTB4RUYsMHhGQywweDVGLDB4RkYsMHhGRiwweEZGLDB4M0YsMHhDRiwgMHhGMywweEZDLDB4RkYsMHgzRiwweENGLDB4RkMsMHhGRiwweDNGLAotMHhDRiwweEYzLDB4RkMsMHhGRiwweDNGLDB4Q0YsMHhGRCwweDlGLCAweEZFLDB4QkYsMHhBRiwweEVCLDB4RkEsMHhGRSwweEJGLDB4QUYsCi0weEVCLDB4RkUsMHhCRiwweEFGLDB4RUIsMHhGQSwweEZFLDB4QkYsIDB4QUYsMHhFQiwweEZGLDB4RTEsMHg2RiwweEZELDB4RkYsMHg3RiwKLTB4REYsMHhGNywweEZELDB4RkYsMHg3RiwweERGLDB4RkQsMHhGRiwgMHg3RiwweERGLDB4RjcsMHhGRCwweEZGLDB4N0YsMHhERiwweEZGLAotMHg3QSwweEJGLDB4RkIsMHhGRSwweERGLDB4QjcsMHhFRCwweEZCLCAweDdFLDB4REYsMHhCNywweEZCLDB4N0UsMHhERiwweEI3LDB4RUQsCi0weEZCLDB4N0UsMHhERiwweEI3LDB4RkYsMHhDOSwweEZGLDB4RkYsIDB4QkYsMHhFRiwweEZCLDB4RkUsMHhGRiwweEJGLDB4RUYsMHhGQiwKLTB4RkYsMHhCRiwweEVGLDB4RkIsMHhGRSwweEZGLDB4QkYsMHhFRSwgMHhGQiwweEZFLDB4QkIsMHhGRiwweEZFLDB4RkYsMHhCRiwweEVGLAotMHhGQiwweEZFLDB4RkYsMHhCRiwweEVGLDB4RkUsMHhGRiwweEJGLCAweEVGLDB4RkIsMHhGRSwweEZGLDB4M0YsMHhDRiwweEZGLDB4RTcsCi0weEZFLDB4RkYsMHhGNSwweEZELDB4NzcsMHg1RCwweEQ3LDB4MzUsIDB4REQsMHg3NywweEQ3LDB4RjUsMHhDRCwweDdCLDB4NUQsMHhENywKLTB4RjUsMHhERCwweDc3LDB4RkUsMHgyNywweEZGLDB4RkYsMHg4QiwgMHhFMiwweEY4LDB4QkUsMHgyRiwweDhCLDB4RTIsMHhGOSwweEFGLAotMHg4QiwweEUyLDB4RjgsMHhCRSwweDJGLDB4OEIsMHhFMiwweEY5LCAweEZFLDB4MUYsMHhGRiwweDVGLDB4RDcsMHhGNSwweEZELDB4N0YsCi0weDVGLDB4RDcsMHhGNSwweEZGLDB4NUYsMHhENywweEY1LDB4RkQsIDB4N0YsMHg1RiwweEQ3LDB4RjUsMHhGRiwweEZBLDB4M0YsMHhGRSwKLTB4QkYsMHhBRiwweEVCLDB4RkEsMHhGRSwweEJGLDB4QUYsMHhFQiwgMHhFQywweEJGLDB4QUYsMHhFQiwweEZBLDB4RkUsMHhCRiwweEFGLAotMHhFQiwweEZGLDB4RkUsMHg3RiwweEZELDB4N0YsMHhGRiwweEZGLCAweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsCi0weEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RTYsIDB4RkYsMHhGQSwweERGLDB4RjcsMHhGRCwweEZGLDB4N0YsMHhERiwKLTB4RjcsMHhGQywweEZGLDB4REYsMHhGNywweEZELDB4RkYsMHg3RiwgMHhERiwweEY3LDB4RkQsMHhGRiwweEY1LDB4RkYsMHhGRiwweEZGLAotMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGQiwweEZGLCAweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsCi0weEZGLDB4MDIsMHhGRiwweEZFLDB4QkYsMHhBQiwweEVCLDB4RkEsIDB4QkUsMHhCRiwweDIzLDB4RUIsMHhERSwweDFGLDB4QUYsMHhFQSwKLTB4RkEsMHhGRSwweEFGLDB4QUYsMHhFQiwweEZELDB4OTcsMHhGRiwgMHhGMywweEZDLDB4N0IsMHgxRiwweENGLDB4RjEsMHhGQywweDdGLAotMHgxRiwweEYxLDB4RkMsMHg3NywweDFGLDB4Q0QsMHhGMSwweEZDLCAweEZGLDB4MUYsMHhGRSwweDg3LDB4RkYsMHhBRiwweEVGLDB4RkEsCi0weEZFLDB4RkYsMHhBRiwweEVGLDB4RkEsMHhGRCwweEJGLDB4MkIsIDB4RkIsMHg3RSwweEJGLDB4QkYsMHhFQiwweEZCLDB4RkIsMHhGQiwKLTB4REYsMHhGRiwweEZCLDB4RjcsMHhGRiwweEZGLDB4N0YsMHhGNywgMHhGNywweEZGLDB4RkQsMHhERiwweEZFLDB4RkMsMHhERiwweEZGLAotMHhERiwweEZGLDB4RkQsMHhGRiwweERBLDB4QkYsMHhGRiwweEJCLCAweEVGLDB4RkIsMHhGOSwweEZGLDB4QkUsMHhFRiwweEZCLDB4RkIsCi0weEJGLDB4RUYsMHhGQiwweEZFLDB4RkYsMHhCRiwweEVGLDB4RkIsIDB4RkYsMHhGNywweDdGLDB4RkQsMHhENywweEZGLDB4RkYsMHg3RiwKLTB4RkYsMHhGRiwweEZGLDB4RkUsMHhGNywweEZGLDB4RkUsMHhGRiwgMHhGNywweEZGLDB4RkYsMHg3RiwweEZGLDB4RkYsMHhFQywweEZGLAotMHhGRiwweEZFLDB4REYsMHhCRiwweEZGLDB4RkIsMHhGRSwweEZGLCAweEJCLDB4NjgsMHhBRSwweDFGLDB4QUUsMHhGQiwweEZCLDB4RkYsCi0weEZGLDB4QkYsMHhGRiwweEQ1LDB4RkYsMHg3RiwweEZGLDB4RkYsIDB4RjcsMHhGRSwweEZFLDB4RkYsMHhCRiwweEVGLDB4OUYsMHhGRCwKLTB4N0YsMHhGRiwweENCLDB4RkYsMHhGRiwweERGLDB4RkYsMHhGRiwgMHhCQiwweEY3LDB4QkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweERGLAotMHhGRiwweEJGLDB4RkIsMHhGRiwweEZGLDB4RkYsMHhERSwweDNGLCAweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhBNywweEZGLDB4RkYsCi0weEZGLDB4RkYsMHhFRiwweEZGLDB4N0YsMHhGQiwweEZELDB4RkIsIDB4N0YsMHhGRiwweEZGLDB4RkYsMHhGRiwweENGLDB4RjMsMHg3QywKLTB4RkYsMHg3RiwweDhELDB4N0YsMHhGRiwweEZGLDB4RkYsMHhGRiwgMHhGQiwweEZGLDB4RjcsMHhGQiwweEZFLDB4RkQsMHhGRiwweEZGLAotMHhGRiwweEZGLDB4RjcsMHhGRCwweEZGLDB4N0YsMHhGRCwweDFGLCAweEZELDB4RkYsMHhGRiwweEZGLDB4RkYsMHhCRiwweERGLDB4RkYsCi0weEZGLDB4RkUsMHg1QywweEZGLDB4NkQsMHhGRiwweDdGLDB4QUIsIDB4RTcsMHhGMSwweEZGLDB4RkQsMHg5RiwweEZGLDB4RkYsMHhBRCwKLTB4RUIsMHg3QSwweDNGLDB4MUYsMHhGRiwweEZGLDB4RkUsMHhCRiwgMHhBRiwweEYzLDB4REUsMHhGNSwweEZGLDB4OEYsMHhGQiwweERGLAotMHhFNiwweDdGLDB4RkYsMHhERiwweEYzLDB4RkQsMHhGRiwweDdFLCAweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRCwweEY3LDB4RjMsCi0weDdGLDB4REYsMHhGNywweEVGLDB4RkYsMHhGNiwweDNGLDB4OUYsIDB4REYsMHhGRiwweEZGLDB4RUUsMHhGRiwweEZGLDB4RUYsMHhGQiwKLTB4RkYsMHhGRiwweEY5LDB4RkIsMHhGRSwweDRGLDB4QkYsMHhFRiwgMHhCQiwweEZGLDB4NjksMHhBRiwweEFGLDB4RkMsMHhGRiwweDNGLAotMHhERCwweEZGLDB4RkMsMHhCRiwweDhGLDB4RkYsMHhGRCwweEYzLCAweEJGLDB4RUQsMHg5RSwweEZDLDB4QkYsMHg2RiwweEY1LDB4RDMsCi0weERGLDB4RkYsMHhEQiwweEQ2LDB4RjUsMHhFRiwweEZELDB4RkUsIDB4RkYsMHhCOSwweEZGLDB4MUYsMHhEMiwweEE5LDB4QUYsMHhGRiwKLTB4REIsMHhGNywweEJGLDB4RUYsMHg0NiwweEZGLDB4RkYsMHhBRCwgMHhFQiwweDdBLDB4REYsMHhFRiwweEY3LDB4RkYsMHg3RiwweEY3LAotMHg5RiwweEVELDB4RkYsMHg3RiwweEZGLDB4QUQsMHhFQiwweDdGLCAweEY1LDB4NkYsMHhGRiwweEZELDB4RkIsMHhENiwweEY0LDB4RjcsCi0weEZCLDB4RjksMHg3RSwweDdGLDB4RkYsMHg1RiwweEMyLDB4RkUsIDB4QkYsMHhGRCwweEZCLDB4MzMsMHhERiwweEY5LDB4NUIsMHhGRiwKLTB4RkYsMHhERCwweDY3LDB4N0QsMHhDRiwweEVGLDB4REIsMHhFQywgMHhGRiwweDc3LDB4REQsMHhGNywweEZELDB4RkYsMHhGRiwweERFLAotMHhBNywweEJGLDB4RDQsMHg5RiwweEZGLDB4RkYsMHhCRiwweEVGLCAweEZFLDB4RkYsMHhERiwweEVGLDB4QkIsMHhGRiwweEZGLDB4RUYsCi0weEVCLDB4RkEsMHhGRiwweEVGLDB4QkQsMHhGQiwweEZGLDB4RTIsIDB4N0YsMHhGRiwweERGLDB4REYsMHhGNywweEZELDB4QkYsMHhCQiwKLTB4NzMsMHhGNywweEZELDB4N0YsMHhERiwweERFLDB4RjcsMHhCRiwgMHhFQSwweERCLDB4RjYsMHhGRiwweEQ2LDB4RkYsMHhGRiwweDY2LAotMHhGRiwweEJFLDB4RkYsMHhCRiwweDZCLDB4RDksMHhGNiwweERGLCAweEZGLDB4RkIsMHg3RSwweDdGLDB4QjcsMHg3RSwweEZGLDB4RkUsCi0weEZGLDB4Q0QsMHhGRiwweEZFLDB4N0YsMHhGRiwweEZDLDB4RkQsIDB4M0YsMHhGQiwweEZCLDB4RjcsMHhGRiwweEZGLDB4RkIsMHhGNiwKLTB4N0QsMHhGRSwweDdGLDB4RkYsMHhGQywweEZGLDB4QjksMHhGRiwgMHhGOSwweEZBLDB4RkUsMHhCRiwweEFGLDB4NUIsMHhENiwweEVELAotMHhBRCwweDdCLDB4RjYsMHhGOSwweEJGLDB4RUYsMHhGOCwweEZBLCAweEZFLDB4QkYsMHhGRSwweEU2LDB4RkYsMHhGRiwweEY3LDB4RkQsCi0weEZGLDB4N0YsMHhCRiwweEVGLDB4RjMsMHhGRiwweEZGLDB4NkYsIDB4RjcsMHhGRSwweEZGLDB4RkYsMHhGNywweEZELDB4RkUsMHhGNywKLTB4RUYsMHhGRiwweEZCLDB4RUYsMHhGQiwweDdFLDB4REUsMHhGRSwgMHhGRiwweEJGLDB4RkYsMHhGRSwweEZGLDB4RkYsMHhGQiwweEZGLAotMHhGRiwweEVGLDB4RkIsMHg2RiwweEZDLDB4MUYsMHhGRSwweEU3LCAweEZGLDB4RkYsMHhGRiwweEVGLDB4RkYsMHhEMywweEI0LDB4QkIsCi0weEZGLDB4RkYsMHhGRCwweEJGLDB4NkYsMHhFMywweEZFLDB4RkYsIDB4QkYsMHhGQywweEJGLDB4RjcsMHhDRiwweEY3LDB4RkQsMHhGRiwKLTB4MkYsMHhERiwweEFCLDB4RUEsMHhGRiwweERGLDB4RTcsMHhFQSwgMHg5QSwweEFGLDB4RUYsMHhGQiwweEZFLDB4RkYsMHhGNSwweDNGLAotMHhGRCwweDdFLDB4RkYsMHhENywweEY1LDB4RkIsMHhGRiwweEZELCAweEY3LDB4RkYsMHg3RiwweEZFLDB4RjcsMHhGRCwweEZGLDB4RDcsCi0weEZGLDB4RDcsMHg3RiwweEVFLDB4N0YsMHhGQSwweDc5LDB4RkUsIDB4MkYsMHg4QiwweEU2LDB4RjksMHhGRSwweDNGLDB4OUUsMHhGOSwKLTB4QkUsMHgyRiwweDBCLDB4RTcsMHhGOSwweEZFLDB4MkYsMHg5RiwgMHhGRCwweEZGLDB4RkUsMHg3RCwweDdGLDB4NUYsMHhENywweEZGLAotMHhGRiwweDdGLDB4RkYsMHhGRCwweEZGLDB4N0YsMHg1RiwweDk3LCAweEZGLDB4RkQsMHg3RiwweDVGLDB4RkYsMHhFMywweEZGLDB4RkYsCi0weEZBLDB4RkUsMHhCRiwweEFGLDB4RkIsMHhGQiwweEZGLDB4RkYsIDB4Q0YsMHhFQiwweEZFLDB4QkYsMHhBRiwweEZGLDB4RkEsMHhGRSwKLTB4QkYsMHhGRiwweDg3LDB4RkYsMHhGRiwweEY1LDB4RkYsMHhGRiwgMHhGRiwweEZGLDB4RkQsMHhGRiwweDdGLDB4RkYsMHhGRiwweEZGLAotMHhGQiwweEZGLDB4RkYsMHhGNSwweEZGLDB4RkYsMHhGRSwweDBGLCAweEZGLDB4RkQsMHhFQiwweEZGLDB4RkYsMHhGNywweEZGLDB4RUYsCi0weDdCLDB4REYsMHhGRSwweEZGLDB4RkYsMHhERiwweEY3LDB4RkQsIDB4RUIsMHg3RiwweERGLDB4RkYsMHg1RiwweEZGLDB4RkYsMHhGRiwKLTB4RkYsMHhGRCwweEJGLDB4RkYsMHg3RSwweEZBLDB4QkYsMHhDNywgMHhEQiwweEY3LDB4QkQsMHgzRiwweEZCLDB4RkYsMHhGNiwweEZGLAotMHhGQSwweEFGLDB4RkYsMHhFQiwweEZBLDB4RkUsMHgzRiwweDJGLCAweEVBLDB4RkEsMHgzRSwweEFELDB4QzksMHhCQSwweEY2LDB4QUQsCi0weEFGLDB4RUIsMHhGQSwweEY2LDB4QkYsMHhGRSwweDdGLDB4RkYsIDB4RkYsMHhGRCwweEZGLDB4RjEsMHg3RiwweDNGLDB4Q0YsMHhGMSwKLTB4RUYsMHhGRiwweDdGLDB4RkYsMHhCQywweERGLDB4REYsMHhGNywgMHhERCwweEZGLDB4RTAsMHg3RiwweEZGLDB4RkYsMHhGRSwweEZGLAotMHhGQSwweEVDLDB4QkIsMHg3RiwweDVGLDB4RkYsMHhGQiwweEVDLCAweEZGLDB4RUYsMHhCNywweEZGLDB4RjcsMHhGRiwweEZGLDB4QjUsCi0weEZGLDB4RkYsMHg3RiwweEZGLDB4RkYsMHhGRiwweEVFLDB4REYsIDB4NUYsMHhERiwweERFLDB4RkYsMHhBRSwweEU3LDB4NzcsMHhGRiwKLTB4RkYsMHhERiwweEY3LDB4RkYsMHhFMywweEZGLDB4RkEsMHhCQiwgMHhGRSwweEZGLDB4QUYsMHhGRCwweEZCLDB4RkUsMHhCRiwweEFCLAotMHhGOSwweEZFLDB4RkYsMHhCRiwweDdGLDB4QkYsMHhGRSwweEJELCAweEZFLDB4RDcsMHhGRiwweDlGLDB4RkQsMHhGRiwweEJFLDB4RUYsCi0weEZGLDB4RUUsMHhGRCwweEJCLDB4NUIsMHhFRiwweEZGLDB4N0YsIDB4RUYsMHhGRiwweEVGLDB4RkYsMHg3RiwweEZGLDB4NEYsMHhGRiwKLTB4RUYsMHhGQiwweEJDLDB4RkMsMHhGRiwweEZGLDB4RkYsMHhGRSwgMHhGRSwweEZELDB4RkEsMHhGRSwweEZCLDB4RkYsMHhGRCwweEYzLAotMHhGQiwweEZGLDB4RjgsMHg1RiwweEZGLDB4RkYsMHhENywweEY1LCAweEZELDB4REYsMHhFRiwweEZGLDB4RjMsMHhEQywweDVGLDB4Q0UsCi0weEY1LDB4QkQsMHhGRiwweEZGLDB4RDcsMHhGRiwweEZGLDB4RjksIDB4M0YsMHhGRiwweERGLDB4RjcsMHhGRiwweEZFLDB4RkYsMHhGRCwKLTB4RkYsMHhGQiwweEZGLDB4RjcsMHhCOSwweDdELDB4RkUsMHhERiwgMHhGRiwweEZGLDB4RkYsMHhGRiwweEY5LDB4N0YsMHhGRiwweEZFLAotMHhGRiwweEZGLDB4N0YsMHhGRiwweEZFLDB4RkYsMHhGRiwweEY3LCAweEY2LDB4RkYsMHhCRiwweEYxLDB4RjgsMHhGRiwweEZGLDB4RkYsCi0weEZGLDB4RTAsMHhGRiwweEZGLDB4RkYsMHhGRiwweEY5LDB4RkYsIDB4RkYsMHhGRiwweEZGLDB4RkYsMHhFRiwweEVGLDB4RkYsMHhGRiwKLTB4OUIsMHhGQiwweDdGLDB4RkYsMHhGRiwweEZGLDB4QzEsMHhGRiwgMHhERiwweEZGLDB4M0YsMHg1RiwweEQ3LDB4QkYsMHhFRiwweEJCLAotMHhERSwweEVFLDB4RkYsMHg3RiwweERGLDB4RkYsMHhGRSwweEY1LCAweDdGLDB4REYsMHhGRiwweDk5LDB4RkYsMHhGRiwweEZBLDB4RkYsCi0weEJGLDB4RkQsMHhFQiwweDdBLDB4RkYsMHhCNywweEZFLDB4RkUsIDB4RkYsMHhGRiwweEVGLDB4RkYsMHhGRiwweEZELDB4QkYsMHhGRiwKLTB4OTcsMHhGRiwweEZELDB4RjcsMHhGRiwweDdGLDB4RjcsMHhGRiwgMHhGRiwweEZELDB4NUYsMHhGRSwweEYzLDB4RjksMHhERiwweERGLAotMHhGRiwweEZGLDB4RkMsMHhGRiwweEZGLDB4ODMsMHhGRiwweEZGLCAweEZFLDB4RkYsMHg5RSwweEVDLDB4RkIsMHhFRSwweEZGLDB4OUYsCi0weEJGLDB4RUYsMHhGRiwweEZFLDB4RUQsMHg3QiwweEZGLDB4RkYsIDB4RkYsMHhGMSwweDVBLDB4RkYsMHhGRiwweEZELDB4RkYsMHg3QywKLTB4NjksMHgzQiwweERGLDB4RkYsMHg3RiwweDFGLDB4REYsMHhGRiwgMHhGRCwweEJBLDB4RkYsMHhGRiwweEZCLDB4RkYsMHg1QiwweEJELAotMHhGRiwweEZGLDB4RkYsMHhGRiwweEQ3LDB4QjYsMHhFRCwweEU5LCAweEZGLDB4RDYsMHhCRCwweDZGLDB4NUYsMHhGQiwweEZGLDB4RUYsCi0weEZGLDB4NUYsMHhGRSwweEY2LDB4NkYsMHhGRiwweEZGLDB4RkYsIDB4RkYsMHhGNywweEVCLDB4N0EsMHhERiwweEZGLDB4OUYsMHg3RiwKLTB4N0YsMHhGRiwweEI3LDB4RkYsMHhGRiwweEZFLDB4REYsMHhGRiwgMHg2QywweEZGLDB4RkIsMHhGRiwweEJCLDB4NkYsMHhFQiwweEZFLAotMHhDQywweEY3LDB4QTUsMHhGQSwweDVDLDB4RjUsMHg3NSwweEJCLCAweEI3LDB4REYsMHhGRSwweDZGLDB4NUYsMHhDNSwweEJGLDB4RkQsCi0weDdCLDB4RkUsMHhGRiwweDk1LDB4RTcsMHgyOSwweENGLDB4NEYsIDB4RjUsMHg5MSwweEVFLDB4NkIsMHhERiwweEVGLDB4RkQsMHg1NCwKLTB4RjUsMHhCRCwweEIxLDB4RkYsMHhFRiwweEVFLDB4RkIsMHhCRSwgMHhCRiwweEFGLDB4RkUsMHhERSwweEJELDB4NkYsMHhEQSwweEYyLAotMHhGRiwweEFGLDB4QkUsMHhGRiwweEZGLDB4RkQsMHg3RSwweEE3LCAweEZGLDB4RjcsMHhGRiwweEJGLDB4RUYsMHg3QiwweEY2LDB4RkQsCi0weEJELDB4NEEsMHhGMiwweDg1LDB4ODUsMHhCRiwweDVCLDB4RkUsIDB4QjUsMHhGRCwweEZBLDB4RkYsMHg0RiwweEZGLDB4RkUsMHhERiwKLTB4RkYsMHhFRCwweEZGLDB4QkYsMHhGRiwweEJGLDB4N0YsMHhGRSwgMHhGRiwweEI3LDB4NkQsMHhGRiwweEY3LDB4QkYsMHhCRiwweEVGLAotMHhGRCwweDFGLDB4RkYsMHhGRSwweDdELDB4RkYsMHg2NywweEZGLCAweEZGLDB4RkYsMHgzRiwweDdGLDB4RkUsMHhCRiwweEZGLDB4RTcsCi0weERGLDB4RTcsMHhGRiwweEVGLDB4NkIsMHhGQywweDFGLDB4RkYsIDB4QkYsMHhFRiwweEZCLDB4RkUsMHhERSwweEJGLDB4QUYsMHhGQSwKLTB4RkYsMHhCNiwweEVGLDB4RjksMHhGRSwweEZGLDB4OEYsMHhFRiwgMHhEQiwweEVGLDB4QUIsMHg2RiwweEZCLDB4RkUsMHhGRiwweEZGLAotMHhFRiwweEZELDB4RkYsMHg3RiwweEZGLDB4RkYsMHhERSwweEZGLCAweEZGLDB4RUYsMHhGRiwweEZGLDB4RkYsMHgzRiwweEZGLDB4NkMsCi0weEZGLDB4QkYsMHhGQiwweEZGLDB4RkUsMHhGRiwweEZCLDB4RkUsIDB4REYsMHhGRiwweEZGLDB4RUYsMHhGRiwweEZGLDB4QkYsMHhGRiwKLTB4RkYsMHhGRSwweEZCLDB4RkYsMHhENSwweDdGLDB4RkYsMHhGRiwgMHhFRiwweEZCLDB4RkYsMHhGRiwweEJGLDB4RUYsMHg0MywweEI1LAotMHhGRCwweDZGLDB4Q0YsMHhENiwweEJFLDB4M0YsMHg3RiwweERCLCAweEZFLDB4QzMsMHhGRiwweEZELDB4RkYsMHhBRiwweEVCLDB4RkIsCi0weEZDLDB4RkYsMHgzRSwweEVGLDB4RTgsMHhGQSwweEJELDB4Q0QsIDB4QUEsMHhGRSwweEZFLDB4N0QsMHhDRiwweEZGLDB4QjcsMHhGRiwKLTB4RjcsMHhGRiwweEZGLDB4RkYsMHhGRCwweEZGLDB4NzUsMHhDRCwgMHg1MiwweEQ3LDB4RkQsMHhGQiwweEY3LDB4REQsMHhGQiwweEVGLAotMHhFQiwweEZGLDB4RkYsMHg0RiwweEZGLDB4QkYsMHg5RiwweEU3LCAweEY5LDB4RkMsMHg3RiwweDhCLDB4QzMsMHhGOSwweEFGLDB4OEYsCi0weEU3LDB4RTksMHhCRSwweDdGLDB4OUYsMHhFNiwweEY5LDB4RkMsIDB4NUYsMHhGRiwweEZGLDB4RjcsMHhGRCwweEZGLDB4N0EsMHg1RiwKLTB4RDcsMHhFRCwweEZGLDB4RkYsMHhENywweEZGLDB4REQsMHg3RiwgMHhFNywweEZGLDB4RkMsMHhGRiwweEZDLDB4M0YsMHhGRiwweEZGLAotMHhGRiwweEZCLDB4RkYsMHhGRSwweEJGLDB4QUYsMHhGRiwweEZELCAweEZGLDB4RUYsMHhGRiwweEVCLDB4RkYsMHhGRiwweEZGLDB4RkYsCi0weEZGLDB4RjcsMHg3RiwweEZGLDB4N0YsMHhERiwweEZGLDB4RkQsIDB4RkQsMHg3RiwweEZFLDB4RjcsMHhGRCwweDdGLDB4REYsMHhGRiwKLTB4RkQsMHhGRiwweEZGLDB4REYsMHhGQiwweEZGLDB4RUUsMHhGRiwgMHhGQiwweEZGLDB4RjcsMHhGRCwweEZGLDB4N0EsMHhERiwweEY1LAotMHhGRCwweEZBLDB4REYsMHhGNywweEZDLDB4RkYsMHg3RiwweERGLCAweEJGLDB4RUQsMHhGRiwweEM5LDB4RkYsMHhERiwweEZGLDB4QkYsCi0weDJGLDB4RkIsMHhGRiwweEJDLDB4QUQsMHhGRiwweEY3LDB4RkYsIDB4RkYsMHhFRiwweEQzLDB4RkYsMHg3RCwweEJGLDB4NkYsMHhGRiwKLTB4RkEsMHhGRiwweEZFLDB4QkYsMHhBRSwweEVBLDB4RkEsMHhCRSwgMHhBRCwweEE1LDB4RUIsMHhDRSwweEJGLDB4QTcsMHhFQiwweDVBLAotMHhERSwweEJELDB4QUYsMHg2QiwweEZELDB4NTcsMHhGRiwweEZGLCAweEY0LDB4N0YsMHgxRiwweDdGLDB4RkQsMHhGRiwweDdGLDB4MzYsCi0weEYwLDB4REYsMHg3OSwweEZGLDB4RkYsMHhGRiwweEY3LDB4RkQsIDB4QkYsMHhGRiwweDg3LDB4RkYsMHhGQiwweEYzLDB4RkMsMHhGRiwKLTB4RkYsMHhGRiwweEZGLDB4N0UsMHhGRiwweEJGLDB4REYsMHhGRiwgMHhGRiwweEZGLDB4RkYsMHhGRiwweEZELDB4QkYsMHhGOCwweDlGLAotMHhGRiwweEZGLDB4RkYsMHhGRiwweEJGLDB4RkYsMHhGRiwweEZELCAweEY3LDB4RkMsMHhCRCwweEZGLDB4RkUsMHhGRiwweEZGLDB4RkYsCi0weEZGLDB4RkYsMHhGQiwweEY5LDB4QkYsMHhGRiwweEZGLDB4RUIsIDB4RTIsMHhGRSwweEZGLDB4QkYsMHhFRiwweEE5LDB4QkEsMHgyRiwKLTB4RUIsMHhGOSwweEZFLDB4NzcsMHhERiwweEY3LDB4RkYsMHhGRiwgMHhGOSwweDdGLDB4RkYsMHhGRiwweDdGLDB4RUYsMHhENywweEZGLAotMHhGRCwweEZGLDB4RkIsMHhGNSwweEZGLDB4QkYsMHg2RiwweERGLCAweEZGLDB4RkYsMHhGRCwweEZGLDB4RkYsMHhGMCwweEZGLDB4RkYsCi0weEZGLDB4M0YsMHhDRiwweEZGLDB4QkEsMHhFRSwweDlCLDB4QkYsIDB4RUUsMHhENywweEZFLDB4Q0QsMHhFRiwweEZGLDB4REYsMHhCRiwKLTB4RkYsMHhGRiwweEM1LDB4RkYsMHhGRiwweEZELDB4N0YsMHg0RiwgMHhGRCwweEY2LDB4RDksMHhGRiwweDRGLDB4RDYsMHhGRCwweEJGLAotMHg2RSwweEZGLDB4RkYsMHhGNCwweDdGLDB4RkYsMHg3RiwweDhCLCAweEZGLDB4RkYsMHhGRiwweEZGLDB4RjcsMHhGRiwweEY5LDB4RkUsCi0weDM3LDB4RkYsMHhEOSwweEZCLDB4RjUsMHhBRiwweEZELDB4RkYsIDB4RkYsMHhGQiwweEZGLDB4RkYsMHgwNywweEZGLDB4RkYsMHhGRiwKLTB4RkIsMHhGNywweEZGLDB4RkQsMHhGRiwweDdDLDB4RkEsMHg3RSwgMHg0RiwweEZDLDB4REYsMHgxRCwweEM3LDB4RkYsMHhGRiwweEZGLAotMHhGRiwweEFFLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRCwweEZCLCAweEZGLDB4RkYsMHhGRSwweEZFLDB4RkMsMHhGRiwweDdGLDB4N0YsCi0weEJGLDB4RUYsMHhGRSwweEZGLDB4RkYsMHhGRiwweDVGLDB4RkQsIDB4RkYsMHhGRiwweEZGLDB4RkQsMHg2RiwweDVBLDB4RDcsMHg3QiwKLTB4QkUsMHg1RiwweEZFLDB4MzksMHhGRiwweEY3LDB4RkYsMHhGNywgMHhGRCwweEZFLDB4QUEsMHgxRiwweEZGLDB4RkYsMHhGRiwweEZGLAotMHhGRSwweEZFLDB4QUIsMHhBRiwweEZELDB4RkUsMHhCRiwweEZGLCAweEY3LDB4RkYsMHg3RiwweEZFLDB4OEYsMHhFMywweEZCLDB4RUUsCi0weDdGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhFQiwweEZCLDB4RkYsIDB4RkQsMHhCRiwweEVGLDB4REYsMHhGRiwweEZGLDB4RkYsMHhGRiwKLTB4RkYsMHhGRiwweEZGLDB4RkIsMHhFNCwweDNGLDB4RkYsMHhERiwgMHhGRiwweEZGLDB4RkYsMHhGRiwweEYzLDB4RUYsMHhCQiwweEZCLAotMHhCRiwweEVGLDB4QkIsMHhGRiwweEQ3LDB4QkYsMHhGRiwweEZGLCAweEZGLDB4MjksMHhBRiwweEY3LDB4RkYsMHhGRiwweEZCLDB4RkYsCi0weEZCLDB4RTYsMHhGRiwweDBGLDB4RkIsMHgzRiwweERGLDB4MEYsIDB4RkYsMHhBRiwweEZGLDB4RkYsMHhGRiwweEY1LDB4QzMsMHhERiwKLTB4NUYsMHhGRiwweEZGLDB4RkYsMHhGRSwweDZCLDB4Q0EsMHhCRSwgMHhCQywweEZGLDB4OUYsMHhGMiwweEJGLDB4RkYsMHhGRSwweEZBLAotMHhGRiwweEZGLDB4RUYsMHgxNiwweEZGLDB4RkYsMHhGRiwweEZGLCAweEZGLDB4RkMsMHhERiwweDk3LDB4RkQsMHg3OSwweEZGLDB4MzcsCi0weEU3LDB4N0YsMHhGRiwweEZGLDB4QjUsMHhGRiwweEZGLDB4RjYsIDB4MkYsMHhGRiwweEZELDB4RkIsMHhGRSwweEZGLDB4RkYsMHhGRCwKLTB4NUYsMHg1NywweDVGLDB4RkYsMHhEQiwweDUyLDB4REYsMHhGRiwgMHhGRCwweEJGLDB4RkYsMHhGRiwweEZDLDB4REIsMHhGRiwweDdCLAotMHhCNSwweEZELDB4N0YsMHhGRiwweDcxLDB4OUMsMHg2RSwweEZGLCAweEY2LDB4MzUsMHhBNSwweDlCLDB4RkYsMHhGRiwweEZELDB4RkYsCi0weEZGLDB4REIsMHg5RSwweDdGLDB4RkUsMHhFRiwweEZCLDB4RkYsIDB4RkYsMHhCRCwweEVGLDB4RkYsMHhERSwweEI3LDB4RjksMHg0QiwKLTB4RkYsMHhGNSwweEVGLDB4RkYsMHhGRiwweEZGLDB4RTgsMHg3RSwgMHhGRiwweEVBLDB4REYsMHhGNywweEZGLDB4RkQsMHg2OSwweDVCLAotMHhGQywweDlGLDB4RUYsMHg3OCwweEQ2LDB4RkYsMHhFQiwweEVGLCAweEZGLDB4RkYsMHhGRiwweEU4LDB4RkYsMHhGRiwweEVELDB4RkYsCi0weEZGLDB4RkYsMHhGRiwweEUzLDB4RjksMHhGNiwweEJGLDB4RkYsIDB4RkYsMHhGRSwweERGLDB4RkYsMHg3RiwweEZGLDB4RkYsMHhGRiwKLTB4RDEsMHhGRiwweEZGLDB4RTcsMHhGRiwweEZGLDB4RkYsMHhGRiwgMHhFNywweEY5LDB4RkYsMHhCRiwweDdGLDB4RDksMHhGRiwweEZELAotMHhGRSwweDdGLDB4RkYsMHhGRSwweEZGLDB4RjksMHhGRiwweEZCLCAweEQ2LDB4REYsMHhCRiwweEVGLDB4NUIsMHhENiwweEZGLDB4QkYsCi0weEZCLDB4RjYsMHhGRiwweEJGLDB4RUYsMHhGOCwweEY2LDB4REQsIDB4QkUsMHhGRSwweDE2LDB4RkYsMHhCRiwweEVGLDB4RkYsMHhGRSwKLTB4RkYsMHhCRiwweEVGLDB4RkYsMHhGRiwweEZGLDB4NkYsMHhGQiwgMHhGRiwweEZGLDB4RkYsMHg2RiwweEYzLDB4RkYsMHhGNywweEVGLAotMHhGQiwweEZGLDB4QkYsMHhGRiwweEVGLDB4RkUsMHhGRiwweEJGLCAweEZGLDB4RkYsMHhGRiwweEJFLDB4QkYsMHhGRiwweEVGLDB4RkYsCi0weDdGLDB4RUYsMHhGRiwweEZELDB4MTcsMHhGQiwweDdCLDB4RkYsIDB4RkYsMHhGRCwweDdGLDB4REIsMHhGNiwweEY0LDB4N0YsMHhGQSwKLTB4RkUsMHhGNSwweEJGLDB4RUIsMHhFMywweEY3LDB4RkYsMHhGRiwgMHhFOSwweEJGLDB4RkYsMHhBRiwweEY3LDB4RkQsMHhGMywweDdFLAotMHg4RiwweEEzLDB4RUEsMHhGRiwweENCLDB4RjMsMHhFRSwweEZGLCAweEJGLDB4RUYsMHhGNywweEY5LDB4RkYsMHhGRSwweDdGLDB4RkYsCi0weEZGLDB4RkYsMHhGRiwweEY1LDB4RkIsMHhGNiwweEZGLDB4RjUsIDB4MkYsMHhGRSwweEZCLDB4RDcsMHhCRiwweEZGLDB4QkUsMHhERiwKLTB4OUYsMHhGRiwweEYwLDB4RkYsMHhGRiwweEY5LDB4RkUsMHg3RiwgMHg4RiwweEEzLDB4RjgsMHhGRSwweDZGLDB4OUYsMHhGOSwweEY2LAotMHgyRiwweDlGLDB4RTcsMHhGOSwweEZFLDB4MkYsMHg5RiwweEUxLCAweEZGLDB4RkYsMHhGRiwweDdGLDB4REYsMHhGNywweEY1LDB4RkQsCi0weDdGLDB4N0YsMHhGNSwweEZGLDB4OUYsMHg1RiwweEZCLDB4RkUsIDB4RkYsMHg3RiwweEZGLDB4RkYsMHhDQiwweEZGLDB4RkYsMHhGQiwKLTB4RkUsMHhGRiwweEJGLDB4QUYsMHhGQiwweEZFLDB4RkYsMHhERiwgMHhGRSwweEZFLDB4QkYsMHhGNywweEZGLDB4RkYsMHhGRiwweEZGLAotMHhGRiwweEM3LDB4RkYsMHhGRiwweEZELDB4RkYsMHg3RiwweERELCAweEY3LDB4RkQsMHhGRiwweEZGLDB4RDcsMHhGRiwweEZELDB4N0YsCi0weEZGLDB4RkIsMHhGRCwweEZGLDB4RkYsMHhGRSwweEVGLDB4N0YsIDB4RkQsMHhFRiwweEZCLDB4RkUsMHhGQiwweEZELDB4RkYsMHg3RiwKLTB4REYsMHhGRCwweEZGLDB4N0EsMHhERiwweEY3LDB4RkQsMHhGRiwgMHhGRiwweEZGLDB4RkYsMHgxRiwweEZGLDB4RkYsMHhEMywweEY3LAotMHhGRiwweEZGLDB4NkYsMHhEQiwweEZGLDB4RkYsMHhFRiwweENCLCAweEY0LDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkUsCi0weDI5LDB4RkYsMHhFOCwweERBLDB4NzYsMHg5RiwweEFGLDB4NkEsIDB4REEsMHhGRSwweDM1LDB4RUIsMHhEQSwweEQ2LDB4QkYsMHhBQiwKLTB4RUIsMHg3QSwweERFLDB4QkYsMHhENywweDdGLDB4RkYsMHhGRSwgMHhGRiwweEJGLDB4RUYsMHhGRCwweERGLDB4NzcsMHhCRiwweEZELAotMHgzNywweEVGLDB4RkYsMHhFRiwweEZGLDB4M0YsMHhGRiwweEZGLCAweEZGLDB4RkUsMHg3RiwweEZGLDB4RkYsMHhGRiwweEY3LDB4N0UsCi0weERGLDB4RkYsMHhGRiwweEZGLDB4RkEsMHhCNywweDdGLDB4RkYsIDB4RkYsMHhGRSwweEZGLDB4RkYsMHhGRiwweEZGLDB4ODksMHhGRiwKLTB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwgMHhGRiwweDlGLDB4RkIsMHhGRiwweEZGLDB4RkYsMHhFNywweEZGLAotMHhGRiwweEZGLDB4RkYsMHhBQSwweEZGLDB4QUIsMHhGQiwweEZBLCAweEVGLDB4QkYsMHhGRiwweERGLDB4RkEsMHg3QiwweEI5LDB4RkUsCi0weEZFLDB4RkYsMHhGRCwweEZGLDB4RjcsMHhGRSwweDNGLDB4RkYsIDB4QjcsMHhGRiwweEY3LDB4RUUsMHhGRiwweDdGLDB4RUYsMHhGRiwKLTB4RkYsMHg3RiwweEZGLDB4MUYsMHhGQiwweEZGLDB4QkYsMHhGQiwgMHhGRSwweEZGLDB4QkQsMHhGRiwweEZGLDB4MkYsMHhGRiwweEJGLAotMHhGRiwweDdGLDB4REYsMHhGQSwweEZGLDB4RkYsMHhGQywweEVFLCAweEY1LDB4RjMsMHhCRSwweEZCLDB4MEYsMHhFRiwweEYzLDB4QkUsCi0weEVGLDB4RkMsMHg1RiwweEZGLDB4NUEsMHhGRiwweEY3LDB4REYsIDB4RkYsMHhGRiwweEZFLDB4RDUsMHhGQywweDVGLDB4RkIsMHhGMiwKLTB4RkYsMHhGRiwweDJGLDB4QkIsMHhGMywweEZGLDB4RkYsMHhCRiwgMHhGRiwweEVGLDB4RkYsMHhFRiwweEZGLDB4RkYsMHhGRiwweEZGLAotMHhCRiwweEZGLDB4RkYsMHhGRCwweDdCLDB4RkYsMHhERiwweEI5LCAweEZGLDB4RkIsMHhGRiwweEQ4LDB4N0YsMHhGRiwweEZGLDB4RkYsCi0weEZCLDB4RkYsMHhGQywweDdGLDB4MUYsMHhCRiwweEUwLDB4REYsIDB4RjcsMHhFRiwweEZGLDB4RkQsMHg3RiwweEZFLDB4REYsMHhGRiwKLTB4RTAsMHhGRiwweEZGLDB4RkQsMHhFRiwweEZCLDB4RkYsMHhGRSwgMHhGNywweERGLDB4RkYsMHhFQiwweDVGLDB4RkYsMHhGNywweEZGLAotMHhGRiwweEZGLDB4RkYsMHhCRiwweEZGLDB4RkQsMHhGRiwweEZELCAweEZGLDB4RkYsMHhGRiwweEY3LDB4RkQsMHhGRiwweDNCLDB4REMsCi0weEZELDB4NkQsMHg3QiwweDVGLDB4NTcsMHhGNSwweEZELDB4N0YsIDB4NUYsMHhGRiwweEIxLDB4RkYsMHhFQiwweEZGLDB4RkYsMHhGRiwKLTB4RkIsMHhGQiwweEZFLDB4RkYsMHhCRiwweEZCLDB4QkUsMHhGRiwgMHhCRiwweEVGLDB4RkIsMHhGRSwweEZGLDB4QUYsMHhGRSwweEY3LAotMHhERiwweERGLDB4RkYsMHhGRiwweEZGLDB4N0YsMHhDRiwweEYzLCAweEY4LDB4RkYsMHhENywweEZCLDB4RkYsMHg1RiwweEJGLDB4RjcsCi0weEZCLDB4RkYsMHg3RiwweEZFLDB4MjMsMHhGRiwweEZGLDB4RkUsIDB4N0YsMHhGMywweEZGLDB4RkIsMHhGRSwweEZGLDB4RkYsMHhGMywKLTB4RkYsMHhGRiwweEY1LDB4RjksMHhGRiwweDNGLDB4RkYsMHhGRiwgMHhGMCwweDlBLDB4RkYsMHhCRSwweDdGLDB4RkYsMHhGQywweEY5LAotMHhGRiwweEZELDB4QUYsMHhFQiwweEZFLDB4QkYsMHhGRiwweENGLCAweEYzLDB4RkUsMHg3RiwweEZGLDB4RkYsMHg1QiwweEJELDB4RkYsCi0weEJDLDB4RUIsMHhGRiwweEQ3LDB4RDQsMHhBRiwweEFGLDB4RkQsIDB4RkYsMHhDRiwweEY3LDB4RkQsMHhGRiwweDdGLDB4REYsMHhGNywKLTB4RkQsMHhGRSwweEZGLDB4NkYsMHhGRiwweEZCLDB4RkYsMHhGRiwgMHhGRiwweEZELDB4N0YsMHg1RSwweEZELDB4QkYsMHhEQiwweEY2LAotMHhGRCwweEJGLDB4NkYsMHhGQiwweEVFLDB4RkQsMHhGRiwweDdBLCAweEZGLDB4RkEsMHhGQiwweEZGLDB4M0YsMHhGQiwweEI3LDB4NUYsCi0weEQ2LDB4RjcsMHgxRiwweDcxLDB4REMsMHg3NywweDFELDB4QzcsIDB4MzEsMHhEQywweDc3LDB4REYsMHhGOSwweEJGLDB4RjUsMHg1QiwKLTB4RjQsMHhENywweDlELDB4QUUsMHhGRiwweEJGLDB4RkQsMHhCRiwgMHhEQiwweEY2LDB4RkQsMHhCRiwweDZGLDB4REIsMHhGNiwweEZFLAotMHgzRCwweDgxLDB4RkYsMHhFQiwweEZFLDB4RkUsMHhGRSwweEZGLCAweEVCLDB4N0EsMHhERiwweDdELDB4NzcsMHg3RCwweEY1LDB4NzksCi0weERGLDB4NTcsMHhERCwweEY1LDB4N0QsMHg3RSwweEU2LDB4RkYsIDB4RDYsMHgzRiwweEJGLDB4N0YsMHhGRiwweEQ0LDB4RjUsMHgzRiwKLTB4QkYsMHhGQiwweEJFLDB4RUYsMHhCMywweEVFLDB4RkIsMHg5RSwgMHhFRiwweEJCLDB4RkUsMHg4QiwweEZGLDB4RkUsMHhERiwweEI3LAotMHhFRCwweEZGLDB4RjcsMHhGRCwweEZFLDB4RkYsMHhFRiwweEJCLCAweEVFLDB4RkYsMHhCRSwweEVGLDB4QkIsMHhFRSwweEVCLDB4RkMsCi0weDFGLDB4RkYsMHhGRiwweEZELDB4RkYsMHhFNywweEZGLDB4RjcsIDB4RkQsMHhGRiwweEVGLDB4RkUsMHhGRiwweEJGLDB4RUYsMHhGQiwKLTB4RkUsMHhGRiwweEJGLDB4RUIsMHhGQSwweDFGLDB4RkYsMHhCNywgMHhFRiwweDVCLDB4RkUsMHhGRiwweEFGLDB4RUIsMHhERCwweEU3LAotMHhERSwweDc3LDB4OUQsMHhFNywweDc5LDB4REUsMHg3NywweDlELCAweEJGLDB4RTYsMHg2RiwweEZGLDB4RkUsMHhGRiwweEJGLDB4RUYsCi0weEZCLDB4RkUsMHhGRCwweEJGLDB4NkYsMHhGNiwweEZELDB4QkYsIDB4NkYsMHhEQiwweEY2LDB4RkQsMHhCRiwweEZGLDB4N0UsMHhGRiwKLTB4RkYsMHhGQiwweEZFLDB4RkUsMHhGRiwweEVGLDB4RkIsMHhGRCwgMHhFRiwweDdFLDB4RjcsMHhCRCwweEVGLDB4N0IsMHhERSwweEY3LAotMHhCRCwweEVGLDB4RkYsMHhENSwweEZGLDB4QkYsMHhGRiwweEVGLCAweEZFLDB4RkYsMHhGQywweDNGLDB4MEYsMHhFNywweEZFLDB4N0YsCi0weDlGLDB4RTcsMHhGOSwweEZFLDB4N0YsMHg5RiwweEU3LDB4RkUsIDB4RjMsMHhGRiwweEZFLDB4REYsMHhBRCwweERGLDB4NjcsMHhFRSwKLTB4RkIsMHhCRiwweEVGLDB4RkUsMHhGRiwweEJGLDB4RUYsMHhGQiwgMHhGRSwweEZGLDB4QkYsMHhFRiwweEZGLDB4MjMsMHhGRiwweEZGLAotMHhGRiwweEZGLDB4N0YsMHhGRiwweEYzLDB4QkMsMHhEQiwweEZFLCAweEZCLDB4RkYsMHhGQiwweEJFLDB4RjcsMHhGQiwweEZGLDB4N0YsCi0weERGLDB4RkYsMHhDRiwweEZCLDB4RkYsMHg5RiwweEUzLDB4RjksIDB4QkUsMHgzRiwweDhGLDB4RTcsMHg3OSwweEZGLDB4OUQsMHhFNywKLTB4RjksMHhGRSwweDdGLDB4OUYsMHhFNywweEY5LDB4RkUsMHg1RiwgMHhGRiwweENGLDB4RjcsMHhGRiwweEZGLDB4RkYsMHhERiwweEY3LAotMHhGRSwweDdGLDB4RTcsMHhGOSwweEZFLDB4N0YsMHhGRiwweEZGLCAweEZCLDB4RkUsMHhGRiwweEZGLDB4QkYsMHhGRiwweEJGLDB4QkYsCi0weEZGLDB4RkUsMHhGRiwweEJGLDB4RUYsMHhGRiwweEZELDB4RkYsIDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEY3LDB4RkQsMHhGRiwKLTB4RkYsMHgzRiwweEZGLDB4QkYsMHhGRiwweEY3LDB4RkYsMHhGRiwgMHg3RiwweERGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLAotMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RTgsMHhFRiwweEZGLCAweDVGLDB4RjcsMHhCRiwweEY5LDB4RkUsMHhERiwweEI3LDB4RkQsCi0weEZGLDB4REYsMHhGNywweEZELDB4RkYsMHg3RiwweERGLDB4RjcsIDB4RkQsMHhGRiwweERELDB4RkYsMHhGMiwweEZGLDB4QkYsMHhGRiwKLTB4RkYsMHhCRiwweEZGLDB4RkYsMHgyRiwweEYyLDB4RkYsMHhCRiwgMHgyRiwweDdCLDB4RDIsMHhGNywweEJGLDB4MkYsMHhGRiwweEJCLAotMHhGRiwweEVFLDB4OEYsMHhBRiwweEVCLDB4RkEsMHhGRSwweDNGLCAweEE3LDB4NjksMHhDRSwweDhGLDB4QTQsMHhFQSwweEZBLDB4RUUsCi0weEI3LDB4QUUsMHhFQiwweEZELDB4QzcsMHhGRiwweEY3LDB4RjcsIDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweDdGLDB4M0UsMHhGMywKLTB4NzQsMHhGRiwweDNGLDB4NEYsMHhGRiwweEU3LDB4RkYsMHgzRiwgMHhGRSwweEE3LDB4RkYsMHhGRiwweERGLDB4RjcsMHhCNywweEZGLAotMHhGNywweEZGLDB4QkEsMHhFRiwweDM3LDB4RUIsMHhGQiwweEZFLCAweEJGLDB4RkIsMHhGRSwweEYzLDB4RkYsMHhGOSwweERGLDB4RkYsCi0weEJGLDB4RkYsMHhGRiwweEZGLDB4QkYsMHhGRiwweEZGLDB4RkYsIDB4RkQsMHhERiwweEZGLDB4RkQsMHhGRiwweEZGLDB4RkIsMHhGRSwKLTB4RkQsMHhGRiwweEZCLDB4QkYsMHhGRSwweDNGLDB4RUQsMHhGRiwgMHhERiwweEJFLDB4M0QsMHhBNywweEZCLDB4RkEsMHgzRiwweEU2LAotMHhFMSwweEZFLDB4RkUsMHgzRiwweEVGLDB4RTMsMHhERiwweEY1LCAweDdGLDB4RkUsMHhGRiwweDdFLDB4RkYsMHhGRiwweEZGLDB4RkYsCi0weEVGLDB4NkYsMHhGNiwweEZGLDB4N0QsMHhFRiwweEQ3LDB4REUsIDB4RkYsMHg3RCwweEVGLDB4RkYsMHhGMiwweEZGLDB4RkYsMHhGRiwKLTB4RkYsMHhGRiwweEZGLDB4N0IsMHhERSwweEZCLDB4RTYsMHhFRSwgMHhFRiwweDM3LDB4NkUsMHhGMywweDdFLDB4RUIsMHgzNywweEVGLAotMHhGRiwweEMxLDB4RkYsMHhGRSwweEZGLDB4RjcsMHhFRiwweEZGLCAweEZGLDB4RkYsMHhCRiwweDNGLDB4RDIsMHhERiwweEJGLDB4MkYsCi0weDdCLDB4RTIsMHhGRiwweEZFLDB4M0IsMHhCRCwweERCLDB4RkYsIDB4RkUsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RUYsMHhGRSwKLTB4RkYsMHhGQiwweEZGLDB4RkYsMHhCRiwweEZGLDB4RkIsMHhERiwgMHhGRiwweEJGLDB4RkYsMHhCNywweEZGLDB4RkYsMHhCRiwweEVGLAotMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHgwRiwweEZGLCAweDdGLDB4RkYsMHgxRiwweEVGLDB4RjEsMHhGRCwweEZGLDB4RjYsCi0weEFGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEVGLDB4RkYsIDB4RkYsMHhGRiwweEZFLDB4OUYsMHhGRiwweEZGLDB4RkYsMHg3NywKLTB4RUYsMHhGNywweEZCLDB4RkYsMHhGRSwweDVGLDB4RkYsMHhGRiwgMHhCRiwweENGLDB4RkIsMHhGNywweERELDB4RjcsMHhGNSwweEZGLAotMHg1RiwweEQ1LDB4RjUsMHhGRCwweDdGLDB4NUYsMHhENywweEY1LCAweEZGLDB4RkIsMHgwRiwweEZGLDB4RkYsMHhBOSwweEVBLDB4N0EsCi0weEZGLDB4QUYsMHg4RiwweEZFLDB4REYsMHhBRiwweEVGLDB4RkIsIDB4RkUsMHhGRiwweEJGLDB4RUYsMHhGQiwweERGLDB4RTUsMHg1RiwKLTB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEJELDB4NTcsMHhGRiwgMHhGRiwweDZGLDB4NzcsMHhCRiwweEY3LDB4RkIsMHhGRiwweDdGLAotMHhCRiwweEY3LDB4RkYsMHhGQywweEJGLDB4RkYsMHg5RiwweEZGLCAweEZGLDB4RUYsMHhGRiwweEZFLDB4RkYsMHhGRiwweEZGLDB4MUYsCi0weENGLDB4RkYsMHhGQywweEZGLDB4RkYsMHhGRiwweEZGLDB4RkIsIDB4NjUsMHhBRiwweEYzLDB4N0MsMHhGRiwweDNGLDB4REYsMHhGRiwKLTB4RkQsMHhFOSwweEZFLDB4N0YsMHhFNywweEZGLDB4RkUsMHg3RiwgMHhGRiwweEZGLDB4RkYsMHhGRiwweEZELDB4RTMsMHhERiwweEZCLAotMHhEQiwweEY2LDB4RkQsMHhFRiwweDVCLDB4RkIsMHhGRiwweERGLCAweEZDLDB4RkYsMHgzRiwweERGLDB4RjMsMHhGRCwweEZGLDB4N0YsCi0weERGLDB4RUYsMHg2NiwweEZGLDB4REYsMHhBRCwweEVCLDB4N0EsIDB4REUsMHhGNywweEY3LDB4RTcsMHhEOSwweEZELDB4OUYsMHg2NywKLTB4RDksMHhGNiwweDdELDB4OUYsMHhFNywweERGLDB4RjUsMHg0NywgMHhGRCwweDY1LDB4NUIsMHhENiwweEY0LDB4RkUsMHhGRiwweEVGLAotMHhGRiwweDZELDB4RjYsMHhERCwweEI3LDB4NkQsMHhEQiwweDc2LCAweERDLDB4QjcsMHg3RCwweEZBLDB4OUIsMHhGNiwweDZELDB4OUQsCi0weDY3LDB4NTksMHhERiwweEY3LDB4REQsMHhGRiwweEVCLDB4RkUsIDB4QkYsMHhBRiwweEVCLDB4RkEsMHhGRSwweEJGLDB4QUYsMHhFMywKLTB4RDEsMHg5RiwweEZGLDB4QkQsMHhCRiwweEVGLDB4RkUsMHhGNywgMHhCRiwweEJGLDB4RjcsMHhENywweDdGLDB4REQsMHhGNywweDlELAotMHhERiwweDdGLDB4REYsMHhGNywweEZGLDB4RTAsMHg3RiwweEZELCAweEMxLDB4REYsMHhGNywweEZELDB4QzcsMHg3RiwweDdGLDB4RkIsCi0weEZGLDB4QkIsMHhFQywweEZCLDB4M0UsMHhGRiwweEJGLDB4RUMsIDB4RkIsMHhGRiwweEQ4LDB4N0YsMHhCRiwweDZDLDB4RkYsMHhCRSwKLTB4RkYsMHhCRiwweEVELDB4RkYsMHhFRiwweEZFLDB4RkIsMHhCRiwgMHhFRiwweEZCLDB4RkUsMHhGRiwweEJGLDB4RUUsMHhGRiwweEM1LAotMHhGRiwweEFGLDB4NkYsMHhGRiwweEZDLDB4RkQsMHgzRiwweEU3LCAweEZGLDB4RkUsMHhGRiwweEVGLDB4RkIsMHhGRSwweEZGLDB4QkYsCi0weEVGLDB4RkIsMHhGRSwweEJGLDB4ODksMHhGRSwweEZBLDB4QkEsIDB4RkUsMHhCRiwweEFGLDB4RkIsMHhGNiwweEY1LDB4RDksMHg3RCwKLTB4OTcsMHg2NSwweEQ5LDB4NzQsMHg1RCwweDk3LDB4NjUsMHhEMywgMHhGRSwweEQ2LDB4RkYsMHhCRiwweEY3LDB4RkQsMHhGRiwweDdGLAotMHhCRiwweENGLDB4RkIsMHhGRSwweEZGLDB4RUYsMHhGQiwweEZFLCAweEZGLDB4QkYsMHhFRiwweEZCLDB4RkYsMHhGNiwweDhGLDB4RkIsCi0weEZGLDB4RUYsMHhGQiwweDdFLDB4REIsMHhGRSwweEZGLDB4QkUsIDB4RUYsMHhFRSwweEZCLDB4QkUsMHhFRiwweEJCLDB4RUUsMHhGQiwKLTB4QkUsMHhGRiwweEZGLDB4REYsMHhGRiwweDQzLDB4RkYsMHhGRiwgMHhGQiwweEVGLDB4NUYsMHhCNywweEZFLDB4N0YsMHhFNywweEY5LAotMHhGRSwweDdGLDB4OUYsMHhFNywweEY5LDB4RkUsMHg3RiwweEY5LCAweEJGLDB4RkUsMHhBRiwweDc3LDB4RkQsMHhGRiwweDJGLDB4QUYsCi0weEE3LDB4RkUsMHhGRiwweEVGLDB4RkIsMHhGRSwweEZGLDB4QkYsIDB4RUYsMHhGQiwweEZFLDB4RkYsMHhGMSwweDdGLDB4RUYsMHhERiwKLTB4RkYsMHg5NywweEY1LDB4RUYsMHhGRiwweERGLDB4RkYsMHhGRiwgMHhCRiwweEZGLDB4QkYsMHhGRiwweEZGLDB4RkUsMHhGRiwweEZGLAotMHhGRiwweEUwLDB4RkYsMHhGRiwweEY5LDB4RkUsMHgyRiwweDhCLCAweEUzLDB4RjgsMHhCRSwweDc3LDB4OUYsMHhGOSwweERBLDB4NzcsCi0weDlELDB4RTcsMHg3OSwweERFLDB4NzcsMHg5RiwweERELDB4RkYsIDB4RkQsMHhGRCwweDdGLDB4NUYsMHhENywweEZELDB4RkYsMHg3RiwKLTB4RTcsMHhGRSwweDdGLDB4OTcsMHhFNywweEZCLDB4RkUsMHhGRiwgMHhCRiwweEVGLDB4RkYsMHhBQiwweEZGLDB4RUYsMHhGQSwweEZFLAotMHhCRiwweEFGLDB4RkYsMHhGQSwweEZGLDB4RkYsMHhERiwweEZGLCAweEZCLDB4RkYsMHhGNywweEZELDB4RkYsMHg3RiwweERGLDB4RkYsCi0weDY3LDB4RkYsMHhGNywweEY1LDB4RkYsMHhGRiwweEZGLDB4REYsIDB4RkQsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwKLTB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEVGLDB4RkYsMHhCRCwgMHhFQiwweEZGLDB4RkYsMHhGNywweEFELDB4RUIsMHhGRiwweERGLAotMHhGRCwweEZGLDB4M0YsMHhERiwweEY3LDB4RkQsMHhGRiwweDdGLCAweERGLDB4RkYsMHg1RiwweEZGLDB4RjcsMHhGRiwweEZGLDB4RkQsCi0weEJGLDB4RkYsMHhDQiwweEY0LDB4RkYsMHg3RiwweEQzLDB4RjcsIDB4RkQsMHgzRiwweDdGLDB4RDMsMHhGNywweEZGLDB4RkMsMHgzRiwKLTB4RkYsMHhFQSwweEZBLDB4QkUsMHhBRiwweEFCLDB4RUIsMHhCQSwgMHhGNCwweDk1LDB4NkIsMHg1MiwweEQ0LDB4QUQsMHgyRiwweDRBLAotMHhEMiwweEY2LDB4QkYsMHhEMiwweDdGLDB4RjcsMHgzRiwweEZGLCAweEZGLDB4RjMsMHg3RiwweEZGLDB4RkYsMHhGNywweEZGLDB4QkEsCi0weERGLDB4RkIsMHhGRCwweEZGLDB4QkYsMHhGRiwweEZCLDB4RkYsIDB4RjgsMHg3RiwweEVBLDB4RkYsMHhGRSwweEZFLDB4REYsMHhGRiwKLTB4RjcsMHhGRiwweDdGLDB4QkIsMHhGRiwweEZGLDB4QkYsMHhERiwgMHhGQiwweEZGLDB4RkYsMHhCRiwweEZGLDB4QjEsMHg3RiwweEZGLAotMHhGQiwweEVGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEJGLCAweENGLDB4RkUsMHhGRiwweEZGLDB4RUYsMHhGRiwweEY3LDB4RkYsCi0weEZGLDB4RkYsMHhGMSwweEZGLDB4NjksMHhCRSwweEZBLDB4QkYsIDB4QUYsMHhFMiwweEZGLDB4RkUsMHhGRCwweEFGLDB4RjMsMHhGRSwKLTB4RkYsMHhCRiwweEVGLDB4RkIsMHhGQywweEZGLDB4RkYsMHgwNywgMHhGRCwweDk1LDB4REIsMHhERiwweDdGLDB4REYsMHhBRiwweEZGLAotMHhGNywweEFGLDB4MzYsMHhGRSwweEJGLDB4NjUsMHhFQiwweEY2LCAweEZFLDB4OUYsMHg2RiwweEZFLDB4MDcsMHhGRiwweENGLDB4RkYsCi0weEY4LDB4RkUsMHhGRiwweENGLDB4RkYsMHhGNiwweEZBLDB4RTcsIDB4RkIsMHhGRSwweEZGLDB4QkIsMHhFRCwweEY5LDB4RkYsMHhGRiwKLTB4RkYsMHg1RiwweEZGLDB4RkYsMHhGRiwweDc1LDB4RkYsMHhFRiwgMHg3RSwweEZELDB4RTAsMHhFOCwweDVFLDB4RDMsMHhFNSwweEY5LAotMHgzRSwweDVGLDB4RDcsMHhGNywweEZGLDB4RkEsMHgyRiwweEZCLCAweEZGLDB4RkYsMHhGRiwweEZGLDB4RkUsMHhGRiwweEZGLDB4N0YsCi0weDdGLDB4RDcsMHhGNSwweDdELDB4NUYsMHg1NywweEQ1LDB4RjUsIDB4RUYsMHhGRiwweEYzLDB4N0YsMHhGQywweDdGLDB4RkYsMHhDNywKLTB4RjEsMHhGRiwweEZGLDB4MUYsMHhDRiwweEIwLDB4RkYsMHgzRiwgMHhDRiwweEYzLDB4RkMsMHhGRiwweDNGLDB4Q0UsMHhGRiwweEU0LAotMHhGRiwweERGLDB4N0YsMHhGRSwweEY3LDB4QkIsMHhGRiwweEZGLCAweERGLDB4RUYsMHhFRSwweEZGLDB4QkYsMHhFRiwweEZCLDB4RkUsCi0weEJGLDB4QkYsMHhFRiwweEZGLDB4RDEsMHhGRiwweEZGLDB4RkYsIDB4RkQsMHhGQiwweEZGLDB4RkQsMHhGRiwweEZCLDB4OUYsMHhFOSwKLTB4RkUsMHg3RiwweDlGLDB4RTcsMHhGOSwweEZFLDB4N0YsMHhCRiwgMHhGRiwweEIzLDB4RkYsMHhGRiwweEY3LDB4RkYsMHhGRiwweEFGLAotMHhGNywweEZGLDB4QjYsMHgzRiwweEVCLDB4RkEsMHhGRSwweEJGLCAweEFGLDB4RUIsMHhGQSwweEZFLDB4QkYsMHhGRSwweEE3LDB4RkYsCi0weEZGLDB4RkYsMHhGRiwweEZGLDB4RjcsMHhGRiwweEZGLDB4RkYsIDB4RkUsMHg5RiwweEY3LDB4RjksMHhGRiwweDdGLDB4OUYsMHhFNywKLTB4RkYsMHhGRiwweEZFLDB4QUYsMHg2RiwweEZGLDB4RkYsMHhGRiwgMHg5RiwweEZGLDB4REYsMHhGRiwweDdELDB4NUYsMHhERCwweEZGLAotMHhGQiwweEJGLDB4RTcsMHhCQiwweEZGLDB4RkIsMHhERiwweDZELCAweDVGLDB4N0UsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsCi0weEVCLDB4RjcsMHhGRiwweEU3LDB4RUYsMHhGNywweEZGLDB4RkYsIDB4N0YsMHhGRiwweEY3LDB4RkYsMHhGQywweDhGLDB4RkYsMHhFRiwKLTB4RkQsMHhGRSwweEZGLDB4QkUsMHhGNCwweEYyLDB4N0QsMHhENywgMHhDRiwweEZGLDB4M0YsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLAotMHhGRiwweENGLDB4NkIsMHhGRiwweEJGLDB4M0YsMHhGQiwweEYyLCAweEZDLDB4N0YsMHhFQiwweEZGLDB4OUYsMHhGQSwweEZGLDB4RkYsCi0weDNGLDB4RkYsMHhGMywweEZGLDB4RkYsMHhGRCwweDcwLDB4RjcsIDB4RkYsMHhGRiwweEJGLDB4RkYsMHhGQiwweEQ3LDB4RkUsMHhGNSwKLTB4NzcsMHhGRiwweDE1LDB4REQsMHg3NywweEZELDB4RkYsMHg3RiwgMHhERiwweEY3LDB4RkIsMHhDRCwweEJGLDB4RkYsMHhGRCwweEZGLAotMHhGRiwweERGLDB4MzcsMHhDRCwweEY5LDB4RUMsMHhGRSwweEVGLCAweEJCLDB4RjQsMHhGQiwweDNGLDB4NEYsMHhCMywweEZGLDB4RkQsCi0weENCLDB4RkYsMHhFOSwweDdFLDB4NTQsMHg5RiwweEU1LDB4NEIsIDB4QjcsMHhGRiwweERELDB4N0QsMHhDNywweDcxLDB4REQsMHg3NywKLTB4NUQsMHhENywweDc1LDB4Q0QsMHg3RiwweEQ2LDB4RkYsMHhEMywgMHhGNiwweEY5LDB4M0YsMHg2RCwweDk1LDB4QUYsMHg3RiwweEZFLAotMHhGRiwweEVGLDB4RkIsMHhGRSwweEZGLDB4QkYsMHhFRiwweEZCLCAweEZFLDB4RjYsMHhDNywweEZGLDB4QUQsMHg3QiwweENBLDB4RkYsCi0weEJGLDB4QkYsMHhFRiwweEZELDB4RTMsMHhERiwweEI3LDB4RUQsIDB4RkIsMHg3RSwweERGLDB4MzcsMHhFRCwweEUzLDB4RkIsMHhERiwKLTB4RkYsMHg1MiwweDVDLDB4MTUsMHhGRCwweENGLDB4N0YsMHhERiwgMHhGRSwweEVGLDB4RUYsMHhGQiwweEZFLDB4RkYsMHhCRiwweEVDLAotMHg3QiwweEZFLDB4RkYsMHhGRSwweDNFLDB4N0YsMHhEQSwweEY3LCAweEZELDB4RkYsMHg3RiwweEZGLDB4RkYsMHhGQiwweEVGLDB4QkIsCi0weDZGLDB4RkIsMHhGRSwweEZGLDB4QkYsMHhFRiwweEZCLDB4RkYsIDB4RjcsMHg3RCwweEZGLDB4RDgsMHhGRiwweEZELDB4QkYsMHg3RiwKLTB4RkIsMHhGRiwweEZGLDB4OUYsMHhGQiwweEZFLDB4N0YsMHg5RiwgMHhFNywweEY5LDB4RkUsMHg3RiwweDlGLDB4RUEsMHg3RiwweEY2LAotMHhCRiwweEJELDB4NkEsMHg1QSwweEY2LDB4RTUsMHhCRiwweDc3LCAweDVGLDB4NkQsMHhERCwweDc3LDB4NUQsMHhENywweDc1LDB4REQsCi0weDc3LDB4RkYsMHhBNSwweEJGLDB4Q0YsMHhGQiwweEZGLDB4RkYsIDB4QkYsMHhDRiwweEZCLDB4RkQsMHhGRiwweEJGLDB4RjMsMHhGRSwKLTB4RkYsMHhCRiwweEVGLDB4RkIsMHhGRSwweEZGLDB4RkQsMHhBQiwgMHhGRiwweEJGLDB4QkYsMHhGRiwweEZCLDB4RkYsMHg3RiwweEVGLAotMHhGRiwweEJFLDB4RkIsMHhFRSwweEZCLDB4QkUsMHhFRiwweEJCLCAweEVFLDB4RkIsMHhCRiwweEZGLDB4QjUsMHhGRiwweEQwLDB4QkMsCi0weEZELDB4MkYsMHg0QiwweEY3LDB4RkYsMHhGRiwweDlGLDB4RjksIDB4RkUsMHg3RiwweDlGLDB4RTcsMHhGOSwweEZFLDB4N0YsMHg5RiwKLTB4RkEsMHg4RiwweEZELDB4QUIsMHhGQSwweERBLDB4QkYsMHhBRiwgMHhCMywweEZELDB4RkYsMHhCRiwweEZCLDB4RkUsMHhGRiwweEJGLAotMHhFRiwweEZCLDB4RkUsMHhGNywweEJGLDB4RkYsMHg5RiwweEZGLCAweDc3LDB4RjcsMHhCRCwweEZELDB4NzcsMHhERiwweEZGLDB4N0UsCi0weERGLDB4RUQsMHhCQiwweEZFLDB4RkYsMHhCRSwweEVGLDB4RkIsIDB4RkUsMHhGRiwweEZBLDB4M0YsMHhGRiwweEJFLDB4NkYsMHg4RiwKLTB4RTYsMHhGOSwweEZFLDB4N0YsMHg5RiwweEM3LDB4RkUsMHg3RiwgMHg5RiwweEU3LDB4RjksMHhGRSwweDdGLDB4OUYsMHhFNywweEZCLAotMHg3RiwweEZGLDB4N0YsMHhDRiwweEZGLDB4RkQsMHhGRiwweEZGLCAweERGLDB4RkIsMHhBRiwweEJGLDB4RUYsMHhGRiwweEZFLDB4RkYsCi0weDlGLDB4RUYsMHhGQiwweEZGLDB4RkMsMHhGRiwweEZCLDB4RkUsIDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRSwweEZGLDB4RkYsMHhGNywKLTB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwgMHhGRiwweEY1LDB4RkYsMHhGRiwweEZGLDB4M0YsMHhERiwweEY3LAotMHhGRiwweEZGLDB4N0YsMHhFRiwweEZFLDB4RkYsMHhCRiwweEZGLCAweEZCLDB4RkYsMHhGRiwweEJGLDB4RUYsMHhGRiwweEIzLDB4N0YsCi0weEZGLDB4N0IsMHg1RSwweEY3LDB4RkQsMHhGRiwweDdCLDB4N0YsIDB4RjcsMHhGRiwweDdGLDB4REYsMHhGNywweEZELDB4RkYsMHg3RiwKLTB4REYsMHhGNywweEZGLDB4MTcsMHhGRiwweEZGLDB4RkYsMHg3RiwgMHhGRiwweEZGLDB4REQsMHhGNiwweEZDLDB4QkYsMHhDQiwweEYyLAotMHhCQywweEJGLDB4MkYsMHhDQiwweEYyLDB4RkMsMHhCRiwweEZFLCAweDhGLDB4RkYsMHhGQSwweDdFLDB4QkYsMHhBNywweEVCLDB4REEsCi0weEZDLDB4QkYsMHhBRiwweDdBLDB4RkUsMHhCRiwweEFGLDB4RUEsIDB4RkEsMHhGRSwweEJGLDB4QUYsMHhGNCwweERGLDB4RkUsMHhGRiwKLTB4RjMsMHgzQywweDdGLDB4M0UsMHhGRiwweENGLDB4RjgsMHhCRiwgMHg4RiwweEUzLDB4RjgsMHhGRSwweDNGLDB4OEYsMHhFNywweEU4LAotMHhGRiwweEZDLDB4OUYsMHhGRiwweEZGLDB4Q0YsMHhFQiwweEIzLCAweEU3LDB4RkIsMHg3QiwweEYzLDB4RkUsMHhGRiwweENGLDB4REIsCi0weEZCLDB4RkIsMHhCRiwweDZGLDB4NkYsMHhERiwweEVDLDB4N0YsIDB4RkYsMHhGRiwweEY3LDB4RkQsMHhGRCwweEZGLDB4RkYsMHhGRiwKLTB4RkYsMHhCMiwweEJGLDB4RkYsMHhERSwweEZELDB4QkQsMHhFRiwgMHhGQiwweEY2LDB4REYsMHhFQSwweEU3LDB4REIsMHhGRSwweEJCLAotMHhGRiwweEVCLDB4RkIsMHhCRiwweDlGLDB4OEYsMHhFOCwweEZFLCAweDNGLDB4OEYsMHhBMywweEY4LDB4RkUsMHgzRiwweDhGLDB4RkYsCi0weEY4LDB4N0UsMHhGRCwweEZELDB4N0YsMHhGRiwweEZCLDB4Q0QsIDB4RkYsMHhGRCwweEZGLDB4NUYsMHhFRiwweEZELDB4RkYsMHhGRiwKLTB4REYsMHhGNywweEZELDB4RkYsMHhCRSwweDkwLDB4RkYsMHhGRiwgMHhFRSwweEZGLDB4M0YsMHhCRiwweEYzLDB4QkIsMHhGRSwweEI3LAotMHhBQiwweEZBLDB4RkUsMHhBRiwweEFELDB4RUEsMHhGQSwweERFLCAweEFCLDB4RkYsMHg2MywweEZGLDB4RkUsMHhGMiwweEZGLDB4QjMsCi0weEZGLDB4REYsMHhFRSwweDdELDB4RkYsMHgwMywweEYxLDB4RjQsIDB4M0YsMHgxRiwweEMzLDB4RjEsMHhFQywweDdGLDB4RkUsMHg2RiwKLTB4RkYsMHhGQiwweEZCLDB4RkYsMHg5RiwweEZGLDB4QkYsMHhGRiwgMHg3QiwweDVGLDB4RkQsMHhGRiwweERGLDB4RjcsMHhGRCwweEZELAotMHg3RiwweDdGLDB4REYsMHhGRSwweENGLDB4RkIsMHhGRiwweEZGLCAweEFGLDB4RkIsMHhGRiwweDFGLDB4RUYsMHhBNSwweEZELDB4QkYsCi0weERGLDB4RkIsMHg3RCwweEZGLDB4QkYsMHhERiwweEZCLDB4RkYsIDB4RkQsMHgzQiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRCwKLTB4QUYsMHhGMywweEZGLDB4RkIsMHg3RiwweEJGLDB4RDcsMHhGQiwgMHhCRiwweDdGLDB4QkIsMHhGNywweEZGLDB4RjgsMHg3RiwweEZGLAotMHhGQSwweDVGLDB4RDcsMHhGRiwweERGLDB4N0YsMHhFRiwweEZGLCAweEZGLDB4N0YsMHhEQiwweEY3LDB4RkQsMHhGRiwweDdGLDB4REYsCi0weEI3LDB4RkIsMHhFQywweEZGLDB4RkYsMHhGNywweEJGLDB4RUYsIDB4RkQsMHhGQywweEZCLDB4RkYsMHhFRiwweEYwLDB4RkUsMHgzRiwKLTB4OEYsMHhFMywweEY4LDB4RkUsMHgzRiwweDhGLDB4RUYsMHg4RCwgMHhGRiwweEZGLDB4RUYsMHg3RiwweEJGLDB4RkYsMHhGQiwweEZGLAotMHhEQiwweEJGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLCAweEZGLDB4RkYsMHhGRiwweEVGLDB4RDgsMHhGRiwweDJFLDB4N0YsCi0weEJFLDB4RUYsMHhGRSwweDZFLDB4RkYsMHhCRiwweEY5LDB4RkYsIDB4RkYsMHhGMywweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwKLTB4RkMsMHg2NiwweEJFLDB4NDcsMHhGMywweDdGLDB4REYsMHhGRSwgMHg4NywweDlGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhFNywweEZGLAotMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RDYsMHg2RiwweDdDLCAweEZCLDB4NEYsMHhEMiwweEZGLDB4RkQsMHgyQiwweEZFLDB4RkYsCi0weEZGLDB4RkQsMHg1RiwweEQ3LDB4RDUsMHhGNSwweDdELDB4RkYsIDB4RkYsMHhGRiwweEJGLDB4OUIsMHhGRiwweEZGLDB4REYsMHhCNywKLTB4RkYsMHhGRiwweERGLDB4RkYsMHgzRiwweENGLDB4RkUsMHg3RiwgMHhCRiwweEVGLDB4RkIsMHhGQywweEZGLDB4M0YsMHhGRiwweEQ5LAotMHhCRiwweEZFLDB4OTcsMHhFQywweDhGLDB4QjcsMHhGRSwweDlCLCAweDdELDB4RkQsMHhCNywweERELDB4NzcsMHgxRCwweEM3LDB4NzEsCi0weERELDB4NzcsMHg1RCwweEQ3LDB4RjMsMHg2RiwweEZELDB4M0YsIDB4NzMsMHhERCwweEFGLDB4RkQsMHg3QSwweEZGLDB4RkYsMHhBRiwKLTB4RkUsMHhGRCwweEJGLDB4RUYsMHhGQiwweEZFLDB4RkYsMHhCRiwgMHhFRiwweDY2LDB4N0YsMHhGRiwweEZGLDB4QkYsMHhCRiwweEZGLAotMHhGQiwweEZGLDB4RjcsMHhERiwweEZELDB4RkIsMHg3RCwweERGLCAweEI3LDB4Q0QsMHhGMywweDdDLDB4NUYsMHgzRiwweDkxLDB4M0YsCi0weEZGLDB4M0QsMHhFRiwweDdCLDB4RkYsMHhGQywweEZGLDB4Q0EsIDB4RUYsMHhGRSwweEZGLDB4QkQsMHhFRiwweEZCLDB4MUUsMHhFNywKLTB4QkIsMHhFQywweDdGLDB4QjMsMHhGRiwweEZELDB4OUYsMHhGRiwgMHhGRiwweEZFLDB4RkYsMHhGRiwweDdGLDB4QkYsMHhGQiwweEZFLAotMHhGRiwweEJGLDB4RUYsMHhGQiwweEVFLDB4RkIsMHhCRiwweERGLCAweDY3LDB4RkYsMHhGRiwweEJGLDB4RUYsMHhEQiwweEZGLDB4QkMsCi0weEZFLDB4N0YsMHhGQiwweEZGLDB4OUYsMHhFRiwweEY5LDB4RkUsIDB4N0YsMHg5RiwweEU3LDB4RjksMHhGRSwweDg3LDB4RkYsMHhFRSwKLTB4RkIsMHhCRSwweEU1LDB4QkYsMHhFRiwweEY5LDB4RDcsMHg2NSwgMHhGNywweERELDB4RTcsMHg3RCwweERGLDB4NzcsMHg1RCwweEQ3LAotMHg3RiwweEY4LDB4OUIsMHhGRSwweEZGLDB4QkYsMHhFRiwweEZCLCAweEZGLDB4RkYsMHhCRiwweEVGLDB4RkIsMHhGRiwweDdGLDB4Q0YsCi0weEYzLDB4RkMsMHhGRiwweEJGLDB4RUYsMHhGRiwweERCLDB4M0YsIDB4RUYsMHhGQiwweEZFLDB4RkYsMHhERiwweEZGLDB4RkUsMHhGQiwKLTB4QkIsMHhFRiwweEJGLDB4RUYsMHhCQiwweEVFLDB4RkIsMHhCRSwgMHhFRiwweEJCLDB4RkYsMHhGQywweDdGLDB4RkQsMHgzQiwweDVCLAotMHhENiwweEU1LDB4RkQsMHg0RiwweEMzLDB4RkIsMHhGRiwweEJGLCAweEVGLDB4RkIsMHhGRSwweEZGLDB4QkYsMHhFRiwweEZCLDB4RkYsCi0weEI0LDB4RkYsMHhGQSwweEJDLDB4OEYsMHhCMiwweEU5LDB4RDIsIDB4MkUsMHhDRiwweEZCLDB4RkYsMHhCRiwweEVGLDB4RkIsMHhGRSwKLTB4RkYsMHhCRiwweEVGLDB4RkIsMHhGRiwweEVDLDB4RkYsMHhGRCwgMHhGRCwweDdGLDB4REYsMHhGNywweEU0LDB4REYsMHg1RiwweEZGLAotMHhGRiwweEZCLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLCAweEZGLDB4RkYsMHhDMywweEZGLDB4RUYsMHhFNiwweEY4LDB4RkUsCi0weDNGLDB4OEIsMHg4MywweEY5LDB4RkUsMHg3RiwweEU3LDB4RjksIDB4RkUsMHg3RiwweDlGLDB4RTcsMHhGOSwweEZFLDB4N0YsMHgxNywKLTB4RkQsMHhGRiwweEZGLDB4RkYsMHg3RiwweDVGLDB4RjcsMHgyQywgMHhGRiwweEZGLDB4RkYsMHhGRSwweDdGLDB4RkYsMHhFNywweEY5LAotMHhGRSwweDdGLDB4OUYsMHhGRSwweDJGLDB4RkYsMHhGRiwweEVGLCAweEZGLDB4RkUsMHhCRiwweEVGLDB4QUQsMHhGRiwweEZGLDB4N0YsCi0weEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsIDB4RkUsMHhERiwweEZGLDB4REYsMHhGRiwweEZELDB4RkQsMHg3RiwKLTB4REYsMHhGNywweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwgMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkEsMHgzRiwweEZFLAotMHhGNywweEZELDB4RUYsMHg3QSwweEZGLDB4QjEsMHhCRCwweEZGLCAweDdGLDB4RjcsMHhGRCwweEZGLDB4N0YsMHhERiwweEY3LDB4RkQsCi0weEZGLDB4N0YsMHhGMywweDI3LDB4RkYsMHhERiwweEZGLDB4REQsIDB4RkYsMHhGQywweDlCLDB4RkYsMHhDQiwweEZDLDB4QkYsMHgyRiwKLTB4Q0IsMHhGMiwweEZDLDB4QkYsMHgyRiwweEM5LDB4RkYsMHhERSwgMHhGRiwweERGLDB4QUYsMHhFQiwweERBLDB4RkUsMHhCQiwweEFGLAotMHhFQiwweEY4LDB4RjcsMHhBRiwweEU4LDB4RkEsMHhGRSwweEJGLCAweEFGLDB4RUIsMHhGMiwweEZGLDB4RkQsMHhGRiwweEZGLDB4RUYsCi0weEJELDB4RDcsMHhCRiwweEZGLDB4RkYsMHhERSwweDhGLDB4QjgsIDB4REUsMHgzNywweDhELDB4QTMsMHg3OCwweERBLDB4M0YsMHg4RiwKLTB4RkYsMHhBMSwweEZGLDB4RkYsMHhGQiwweEZCLDB4RkYsMHhGRiwgMHhGRiwweEZGLDB4QTcsMHhCRCwweEZCLDB4NzYsMHhGRCwweEJGLAotMHhFRiwweERCLDB4RkUsMHhCQiwweEJGLDB4RkUsMHgyNywweDdGLCAweEZGLDB4RkUsMHhGRSwweEZELDB4RjUsMHhGRiwweEVGLDB4RjUsCi0weERGLDB4MUYsMHhFNywweEZELDB4RkYsMHg3RiwweERGLDB4RjcsIDB4RkQsMHhGRiwweEZGLDB4Q0QsMHhGRCwweEFFLDB4RkYsMHhGQSwKLTB4M0UsMHgzRiwweEFCLDB4RkQsMHhGOCwweDdFLDB4OEYsMHhFMywgMHhGOCwweEZFLDB4M0UsMHg4RiwweEUzLDB4RjgsMHhGRiwweEZFLAotMHgxRiwweEVGLDB4REYsMHhCRiwweEZFLDB4REUsMHhERiwweEQ5LCAweEZGLDB4REYsMHhCQywweEZGLDB4RkYsMHg3RiwweEZGLDB4RUYsCi0weEZELDB4N0YsMHhERiwweEY3LDB4RjksMHgzRiwweEZFLDB4RkYsIDB4RkYsMHg2RiwweEZFLDB4REUsMHhCRiwweEY3LDB4RUQsMHhFQSwKLTB4RkQsMHg4RiwweDgzLDB4RjgsMHhFQSwweDNGLDB4OEYsMHhFRiwgMHhGRiwweEY0LDB4N0YsMHhGRiwweEVGLDB4RUYsMHg3QiwweEYzLAotMHhGMSwweDVGLDB4RkYsMHhGRiwweEYxLDB4M0IsMHg3RiwweERGLCAweEY3LDB4RkQsMHhGRiwweEZGLDB4RkYsMHhGRiwweEUwLDB4RkYsCi0weEZGLDB4RkYsMHhGNywweEZGLDB4NkYsMHhGRiwweDdGLDB4RkYsIDB4RkYsMHhGNywweERFLDB4RjcsMHhCRiwweEVGLDB4RkIsMHhGNywKLTB4RkQsMHhGRiwweEZGLDB4RjUsMHhGQSwweEZGLDB4RkYsMHhGQiwgMHhFNywweEZGLDB4RjMsMHhGOCwweDdGLDB4RjMsMHhERiwweEZGLAotMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHgxRiwweEVGLCAweEJCLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkQsCi0weEZGLDB4N0YsMHhGRiwweDlGLDB4RkYsMHhGRiwweEZGLDB4RkYsIDB4RkYsMHhGRiwweEZGLDB4Q0YsMHhGRiwweDM3LDB4RkYsMHhGRiwKLTB4N0YsMHhERiwweDc3LDB4NUQsMHhFNywweEZDLDB4RkYsMHhCRiwgMHhGNywweEY1LDB4RkIsMHhGRiwweEZGLDB4RDcsMHhGNSwweEZCLAotMHhGRiwweEZGLDB4NDUsMHhGRCwweDdGLDB4RUEsMHhGRCwweEJFLCAweEJGLDB4REYsMHhGNywweEZGLDB4RkYsMHhEQiwweEZCLDB4RkUsCi0weEZGLDB4QkYsMHhFRiwweEZGLDB4RkYsMHhGRiwweEZCLDB4NUYsIDB4N0YsMHhGRiwweEZFLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwKLTB4RkYsMHhGRSwweEZGLDB4RUYsMHhGRCwweEZGLDB4N0YsMHhERiwgMHhGRiwweEVGLDB4RkIsMHhGOCwweDBGLDB4RjMsMHhGRiwweEY5LAotMHgyRSwweEZCLDB4RkUsMHhGQywweEYzLDB4RUYsMHhGRiwweEZGLCAweEJGLDB4RkYsMHhGQiwweEU3LDB4RkYsMHhGRSwweDdFLDB4RkYsCi0weEMwLDB4NkIsMHhDRiwweEZGLDB4MzQsMHhERiwweEYxLDB4RkQsIDB4RkYsMHhFRiwweEZGLDB4RkYsMHhGRiwweERGLDB4RjcsMHhGRCwKLTB4Q0YsMHg3RiwweDlDLDB4RkQsMHhGRCwweDZDLDB4RjcsMHhGRiwgMHhGNiwweEZELDB4RUIsMHgyQiwweDlGLDB4RkYsMHhGQywweEZFLAotMHg3RSwweEZGLDB4RkYsMHhGRiwweEZGLDB4RDcsMHhGMywweEY3LCAweEZGLDB4RkIsMHhFMSwweEJGLDB4RkYsMHhFQiwweDdBLDB4REUsCi0weEQ3LDB4RkIsMHhGRiwweEY5LDB4RkUsMHhGRiwweEZGLDB4RjMsIDB4REUsMHg3RiwweEZELDB4RTcsMHg3RiwweEZGLDB4RkQsMHhCQiwKLTB4RkYsMHhGRiwweDdFLDB4Q0MsMHhGNiwweEFGLDB4NUYsMHg3RiwgMHhGRSwweEY0LDB4N0QsMHhGNywweEZELDB4QkIsMHg2RSwweERCLAotMHhCNywweEZGLDB4RjcsMHhERiwweDY2LDB4RkYsMHhGRiwweEY3LCAweDNELDB4Q0YsMHhERSwweEJELDB4RkYsMHhGRiwweERFLDB4REIsCi0weDhELDB4RjcsMHg3RSwweERGLDB4QjcsMHhFRiwweDdGLDB4RkYsIDB4RjYsMHg4NywweEZGLDB4RkYsMHhFRiwweEZFLDB4REUsMHhCRiwKLTB4RkYsMHhGRiwweEZGLDB4QkIsMHhFRiwweEZELDB4RkYsMHg3QiwgMHhERSwweEY3LDB4M0YsMHhGRiwweEJGLDB4RkIsMHhEQiwweEZGLAotMHhGMiwweEI2LDB4RkQsMHhCRCwweDdGLDB4RTcsMHhGRiwweEZGLCAweEZGLDB4NkYsMHhGNywweEZGLDB4RkYsMHhGRiwweEZFLDB4NzcsCi0weEZGLDB4QkYsMHhGOCwweEFGLDB4RkYsMHhERiwweEJGLDB4RkYsIDB4QkYsMHg3RiwweEZCLDB4RkYsMHhGRiwweEZGLDB4REIsMHhGRSwKLTB4RkYsMHhCRiwweEZGLDB4RkEsMHhGRiwweEZELDB4RkYsMHhGNiwgMHg3RiwweEZGLDB4OUYsMHhGRiwweEZGLDB4M0YsMHhFRiwweEY4LAotMHhFRSwweDdFLDB4OUYsMHhCQSwweEZFLDB4QkYsMHg4RiwweEVGLCAweEZFLDB4RkUsMHhGOSwweEZGLDB4RkEsMHg3RiwweEZFLDB4N0UsCi0weEJGLDB4QUYsMHhGQiwweDk2LDB4RkQsMHg5RiwweEVGLDB4NUUsIDB4NjUsMHhCRSwweEVGLDB4NUIsMHhCNiwweEZGLDB4QkUsMHhFMywKLTB4RkYsMHhCNSwweEJGLDB4RkYsMHhGRCwweEZGLDB4N0YsMHhGRiwgMHhFRiwweERGLDB4RkUsMHhGRiwweEJGLDB4RkIsMHhGRSwweEZGLAotMHhCRiwweENGLDB4RkYsMHhGRiwweEZGLDB4RkQsMHg5QiwweEZGLCAweEZFLDB4RkIsMHhGRSwweERGLDB4RkYsMHg3RiwweEZGLDB4RjcsCi0weEZFLDB4RkYsMHhERiwweEZCLDB4RkIsMHhGRSwweEZGLDB4RkYsIDB4RkYsMHhGRiwweEZGLDB4QjcsMHhGRSwweEZBLDB4RkYsMHhBQiwKLTB4RUYsMHhGRiwweEZELDB4QjUsMHg3QiwweDdGLDB4RkIsMHhGNywgMHhGRCwweEZGLDB4RkYsMHhERCwweEZGLDB4RUYsMHg4RiwweEZGLAotMHgyRiwweEZGLDB4RkIsMHg3QywweEZGLDB4M0YsMHhERiwweDczLCAweEVCLDB4RkUsMHgzRiwweEZGLDB4RUYsMHhGQiwweEZFLDB4RkYsCi0weEVGLDB4RkQsMHhGRiwweEJGLDB4RkQsMHgwRiwweEZGLDB4RkYsIDB4RkYsMHhGNSwweEY5LDB4RkYsMHg3RiwweEQ3LDB4RkQsMHhGRiwKLTB4REYsMHhGRiwweEY3LDB4RkIsMHhGRiwweDdGLDB4QkYsMHhGRiwgMHhGRiwweEYwLDB4OUYsMHhGRiwweEZFLDB4N0YsMHg4QiwweEUzLAotMHhGOSwweERFLDB4MjcsMHg5QiwweEU2LDB4QkUsMHg3RiwweDlCLCAweEMzLDB4RjgsMHhERSwweDdGLDB4OUQsMHhFNywweEZFLDB4N0YsCi0weEZGLDB4RkYsMHg1RiwweEQ3LDB4RkYsMHhGRiwweEZGLDB4NEYsIDB4RkIsMHhGRiwweEZGLDB4N0YsMHhGRiwweEFGLDB4RkYsMHg5RiwKLTB4N0YsMHhGQiwweEZGLDB4RTgsMHhGRiwweEZGLDB4RkUsMHhCRiwgMHhBRiwweEZGLDB4RkYsMHhGRSwweEJGLDB4RUYsMHhGNywweEZGLAotMHhCRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGNywweEZGLCAweEZDLDB4RkYsMHhGRiwweEZELDB4N0YsMHhGRiwweEZGLDB4RkYsCi0weEZELDB4M0YsMHhDRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RjcsIDB4RkYsMHhGRCwweDdGLDB4RkYsMHhGRiwweDkzLDB4RkYsMHhGRiwKLTB4N0EsMHhERiwweEY3LDB4RkYsMHhGRiwweDdCLDB4N0YsMHhCNywgMHhFRiwweEZGLDB4RkYsMHhGRCwweEJGLDB4RkQsMHhGQiwweEZGLAotMHhGNywweEZGLDB4RDcsMHhGRiwweEZGLDB4RkYsMHhGQywweDlGLCAweDZGLDB4Q0IsMHhGRiwweEY0LDB4QkIsMHhERiwweEQ2LDB4RkQsCi0weEJGLDB4MkYsMHhEMywweEY3LDB4RkYsMHhERiwweEZGLDB4Q0YsIDB4RkYsMHhGQSwweEJFLDB4QkQsMHhBRiwweDZBLDB4REEsMHhCRSwKLTB4QkIsMHhBQiwweDNBLDB4QkUsMHgyRCwweEFFLDB4RUIsMHhEQSwgMHhGNiwweDNGLDB4QUQsMHhGNSwweERELDB4RkYsMHhDRiwweEYxLAotMHhGRiwweEY5LDB4N0YsMHhGRiwweDczLDB4RkUsMHhGRiwweENGLCAweEMzLDB4RjQsMHhGNywweDJGLDB4RjMsMHhGRiwweEZDLDB4RkYsCi0weDdDLDB4MUYsMHhGRiwweDNGLDB4NEYsMHhGRiwweDdFLDB4RkYsIDB4RUYsMHhCRCwweEY2LDB4RkUsMHhGRiwweDJCLDB4RUYsMHhEQywKLTB4RkIsMHhGRCwweEZGLDB4RkIsMHhGRiwweEVBLDB4N0IsMHhGRiwgMHhGRiwweEZGLDB4RkYsMHhGRiwweEZCLDB4RjcsMHhERiwweEZGLAotMHhFMywweDdELDB4RkYsMHhCNywweEZGLDB4QkYsMHhGRiwweEZGLCAweERGLDB4RkYsMHhGOCwweEZGLDB4QkYsMHhGRiwweEJGLDB4RUIsCi0weEU3LDB4RkEsMHhGRSwweDNELDB4QkYsMHhFOSwweEZDLDB4QkYsIDB4RkYsMHhGQSwweEZCLDB4RkUsMHhGRiwweEZGLDB4RkYsMHhEOSwKLTB4RkYsMHhGRiwweEZGLDB4RjYsMHg3RiwweEZGLDB4RjYsMHg3RCwgMHhGRiwweERGLDB4Q0YsMHhGRCwweEJGLDB4RkIsMHhFRiwweDdFLAotMHhGRiwweDdGLDB4RkYsMHhGRiwweEQzLDB4RkYsMHhGRCwweEZCLCAweEZGLDB4RkIsMHhGRiwweEZGLDB4RkYsMHhFRiwweEZGLDB4QkYsCi0weEZFLDB4RkYsMHhGNywweEVGLDB4RkYsMHhGRiwweEZGLDB4RkIsIDB4RkYsMHg4NywweEZGLDB4RkQsMHhGRiwweEZGLDB4RkYsMHhGRiwKLTB4N0IsMHhGRSwweEZGLDB4RkUsMHgzQiwweEY3LDB4RjcsMHhGRiwgMHgzRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHgwRiwweEZGLAotMHhGRiwweEZGLDB4RkYsMHhGQiwweEZGLDB4RkYsMHhGRiwweEY3LCAweEZGLDB4RkYsMHhBRCwweEZGLDB4RkUsMHhGNywweEZGLDB4RkYsCi0weDVGLDB4RkYsMHhGRiwweERGLDB4RkYsMHhGRCwweEZGLDB4RjUsIDB4RkYsMHhERiwweEZGLDB4QkQsMHhGRiwweEU5LDB4RkYsMHhDNywKLTB4RjMsMHhGRiwweEZGLDB4RjcsMHhGRiwweEYzLDB4RkYsMHhGOCwgMHgzQiwweEZGLDB4RkYsMHg3QiwweERGLDB4QkYsMHhGQiwweEVGLAotMHhGQiwweEZGLDB4RkIsMHhGNywweEY3LDB4QkIsMHhGRiwweEZGLCAweEZGLDB4RkYsMHhGQiwweEZGLDB4RkUsMHg3RiwweEYzLDB4N0YsCi0weDVFLDB4QjcsMHhCRiwweEZELDB4N0YsMHhGRiwweEY5LDB4N0YsIDB4RkIsMHhGRiwweEVCLDB4RkQsMHg3RiwweDdGLDB4RkYsMHhFRiwKLTB4RkIsMHhFMCwweDNGLDB4RkUsMHhCRiwweEJGLDB4REYsMHhGRiwgMHg3RSwweEZGLDB4RjcsMHhGRiwweEZGLDB4RkUsMHhCRiwweEZGLAotMHhEQiwweDc4LDB4RkYsMHhGRiwweEZGLDB4RUUsMHhBMSwweEJGLCAweEY1LDB4REUsMHhGQiwweEY3LDB4RkYsMHhGQiwweEZGLDB4RkYsCi0weEZGLDB4RkYsMHhGQiwweEZGLDB4RkYsMHhENywweEZGLDB4RkYsIDB4RkYsMHhGRiwweEVGLDB4RjAsMHhGRiwweEZGLDB4RkYsMHhGMywKLTB4RjcsMHhGRiwweEVGLDB4RkYsMHhFNywweENGLDB4RkYsMHhGQiwgMHhGRiwweEVGLDB4RkYsMHhGRiwweDlGLDB4OUYsMHhFRiwweEZDLAotMHgxNiwweEJGLDB4RkUsMHhGMywweEU0LDB4RkYsMHhGRiwweEM2LCAweEZGLDB4RTcsMHhGRiwweEZGLDB4RkQsMHhGRiwweEJGLDB4RkYsCi0weEZGLDB4M0YsMHhGRiwweEJGLDB4RDYsMHhBRiwweDdGLDB4RkUsIDB4NkIsMHg3RSwweDdGLDB4RkYsMHhBRiwweEZGLDB4RkYsMHhCRiwKLTB4RkYsMHg1RiwweEZGLDB4RkUsMHhGRiwweEZGLDB4RkUsMHhGRiwgMHhGRiwweEJELDB4REIsMHhGRiwweEZFLDB4NUYsMHhGMiwweEZGLAotMHhGRiwweDVGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLCAweEVGLDB4N0YsMHhGRiwweEZGLDB4RkYsMHhGRiwweERFLDB4QkYsCi0weEZGLDB4RkYsMHhFRiwweEZCLDB4NzcsMHhGRSwweEJELDB4N0YsIDB4NUYsMHhGRiwweEZGLDB4RkYsMHhERiwweDZGLDB4RUQsMHhGRiwKLTB4RkQsMHhGRiwweDdGLDB4RkQsMHg2RiwweEZGLDB4RkYsMHg3NywgMHhEQSwweENGLDB4RkQsMHg1RiwweEZGLDB4QkYsMHhGRiwweEZGLAotMHhERiwweDdGLDB4RkYsMHhGQiwweEZGLDB4RkYsMHhGRiwweEZGLCAweDY2LDB4N0YsMHhGRiwweEZFLDB4QkYsMHhFNywweEJGLDB4RkEsCi0weEZGLDB4RkUsMHhGRiwweEZGLDB4RkYsMHhERiwweEZGLDB4NTksIDB4RUYsMHhGRiwweEVGLDB4RkIsMHg3RiwweDg5LDB4RkYsMHhGRiwKLTB4RTksMHhGRiwweDZGLDB4RkYsMHhGNSwweEZGLDB4RkYsMHhGRiwgMHhGRiwweEZGLDB4N0YsMHhGMiwweEY3LDB4RkYsMHhGRiwweEVGLAotMHhGOCwweDdGLDB4RkIsMHhGRiwweEZELDB4RkYsMHhGRiwweEQ5LCAweEZGLDB4RUYsMHhCQiwweEZGLDB4RkYsMHhGRiwweEJGLDB4RUYsCi0weERFLDB4RkYsMHhGRiwweDlGLDB4N0YsMHhERiwweEZGLDB4RjcsIDB4RkYsMHhGRiwweEZGLDB4RkYsMHhERiwweEZGLDB4RkYsMHhBRiwKLTB4RkYsMHhGRiwweEY3LDB4M0YsMHhFQiwweDlGLDB4RkUsMHg3RiwgMHg5RSwweDdGLDB4OUYsMHhGRSwweDg3LDB4RkYsMHhFRCwweERCLAotMHg1NiwweEZGLDB4QkYsMHhBRiwweDBCLDB4RDIsMHhGRiwweEVGLCAweERCLDB4NkUsMHg3RCwweEJELDB4NkYsMHhGOCwweEZFLDB4M0YsCi0weEZBLDB4NUIsMHhGRiwweEZELDB4QkYsMHhFRiwweEZGLDB4QkYsIDB4NkYsMHhEQiwweEU2LDB4RkYsMHhGRiwweDNGLDB4RkYsMHhERiwKLTB4RkUsMHhGRiwweEZGLDB4RkYsMHhGRiwweERBLDB4M0YsMHhGRiwgMHhGQiwweEZFLDB4RkUsMHhGRiwweEZGLDB4REYsMHhGNywweEJELAotMHhGRiwweEZELDB4RkYsMHhGRSwweEZGLDB4RkIsMHhGRiwweEZGLCAweEZGLDB4RkYsMHhGMSwweDVGLDB4RkQsMHg5RiwweERGLDB4RkQsCi0weEZGLDB4RkQsMHg3RiwweEZGLDB4RkYsMHhGRiwweEZGLDB4NzYsIDB4RkEsMHhGRiwweEZGLDB4N0YsMHhFMywweEY4LDB4RkYsMHhBRSwKLTB4RkYsMHhGQiwweDdFLDB4OUQsMHg3MywweEZGLDB4RkEsMHg3RiwgMHhERiwweEZGLDB4RkYsMHg3RiwweEZGLDB4RkIsMHhDRCwweEZGLAotMHg3RiwweEVGLDB4RkIsMHhGRiwweEZELDB4RkYsMHhGNywweDdGLCAweDdGLDB4RUYsMHhGRiwweEVELDB4RkYsMHhGRiwweEZGLDB4QjUsCi0weEZGLDB4QkYsMHhGRiwweEJGLDB4RkQsMHhFRiwweERCLDB4RjcsIDB4RkYsMHg5MywweEZGLDB4RUYsMHhFMiwweEY5LDB4QkUsMHg3RiwKLTB4OEIsMHhFNywweEY5LDB4RkUsMHg2QiwweEU3LDB4RjksMHhGRSwgMHg3RiwweDlGLDB4RTcsMHhGOSwweEZFLDB4N0YsMHg0NywweEZGLAotMHhGRiwweEZELDB4RkYsMHg5RiwweEZGLDB4RDcsMHhGRiwweEZGLCAweEZGLDB4RkYsMHhGNSwweEZGLDB4OUYsMHhGRiwweEY3LDB4RkUsCi0weEZGLDB4QkYsMHhGRSwweDZGLDB4RkYsMHhGRiwweEZCLDB4RkYsIDB4RkYsMHhGRiwweEFGLDB4RkYsMHhGRiwweEZGLDB4N0YsMHhGQiwKLTB4RkYsMHhGRSwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRCwgMHhERiwweEZGLDB4RkYsMHhGNywweEZGLDB4RkYsMHhGRiwweERGLAotMHhGRiwweEZGLDB4RkYsMHg1RiwweEZGLDB4RkYsMHhGRiwweEZGLCAweDVGLDB4RkIsMHhGRSwweEZGLDB4RjgsMHgzNywweEZGLDB4RkYsCi0weEVGLDB4RkYsMHg3RiwweEZFLDB4QkYsMHhGRiwweEZGLDB4RkUsIDB4QkYsMHhGRiwweEZGLDB4N0YsMHhGRiwweEJGLDB4RkQsMHhGRiwKLTB4N0YsMHhGQSwweDdGLDB4RkYsMHhGRiwweDZGLDB4RkYsMHhGRiwgMHg3RCwweEZGLDB4Q0YsMHhGRiwweEZGLDB4RkYsMHg0RiwweEZGLAotMHhGMiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGQSwweEJGLCAweEZGLDB4QUUsMHhFQiwweEZBLDB4RkUsMHhCQiwweEFELDB4RUIsCi0weEZBLDB4RjcsMHhBRiwweDZCLDB4RkEsMHhGNiwweEJGLDB4MjUsIDB4RTksMHhGMiwweDdGLDB4NDUsMHhGRiwweEZGLDB4RkQsMHhGNywKLTB4RjcsMHhCRiwweEZGLDB4REYsMHhGRiwweEZGLDB4QkYsMHhGQiwgMHhGRiwweERGLDB4RjMsMHhGRiwweEY3LDB4M0YsMHhDRiwweEZGLAotMHhBMSwweEZGLDB4RkYsMHhCRiwweEU3LDB4RkYsMHhGRiwweDdGLCAweEZGLDB4M0QsMHhGRiwweEZGLDB4RkYsMHhGNywweEZGLDB4MkYsCi0weEZGLDB4RkIsMHhGNSwweDdGLDB4RkUsMHg1NywweEZGLDB4RkYsIDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGNywKLTB4M0YsMHhGRiwweEZFLDB4RkYsMHhGRiwweEZGLDB4RkQsMHhGRSwgMHhGNywweEVFLDB4QUYsMHhGRSwweEVFLDB4RTcsMHhGQSwweEZGLAotMHhGRSwweDlELDB4RjksMHg1RSwweEZFLDB4RkYsMHhFQiwweEZGLCAweEZGLDB4REYsMHhBNywweEZGLDB4RkYsMHhGRiwweEZDLDB4REIsCi0weEZGLDB4RkYsMHhGRiwweDdFLDB4RkIsMHhGRiwweEZGLDB4RUYsIDB4RkIsMHhGRCwweEZGLDB4REIsMHhGRiwweEZGLDB4RkYsMHhFRiwKLTB4RkYsMHhGRiwweEZGLDB4RkQsMHhCRiwweEZFLDB4QkYsMHhGRiwgMHg2RiwweDdGLDB4RkYsMHhGNywweEZGLDB4RkYsMHhGOSwweEZGLAotMHhGNywweEZGLDB4QkYsMHhERSwweEY3LDB4RkYsMHhGRiwweEZGLCAweEZBLDB4N0YsMHhGRCwweEJGLDB4NUYsMHhGRiwweEZGLDB4QkYsCi0weEZGLDB4RUQsMHhGRiwweEY3LDB4QkYsMHhGRiwweEZGLDB4RUYsIDB4RkYsMHhERiwweEZGLDB4RkYsMHhGRiwweEU2LDB4RkYsMHhGQiwKLTB4N0YsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RjcsMHhGRiwgMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhFQiwweEZGLAotMHhGRCwweEZGLDB4RjUsMHhGRiwweEY2LDB4N0YsMHhERiwweEJELCAweENGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhERiwweEZGLDB4RkYsCi0weEZGLDB4RjksMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RTMsIDB4RkYsMHhFRSwweEJGLDB4RkYsMHg3RCwweEVGLDB4RkUsMHhGRiwKLTB4RkYsMHhGRiwweEJGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRSwgMHhGRiwweEZGLDB4RkYsMHhGRiwweEU3LDB4RkYsMHhCNSwweEFFLAotMHhGRiwweEZGLDB4QjYsMHhGRSwweEJGLDB4RkYsMHhGRiwweEJGLCAweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsCi0weEZGLDB4MjcsMHhGRiwweEVGLDB4RkUsMHg3RiwweERGLDB4RkYsIDB4N0UsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwKLTB4RkYsMHhGRiwweEZELDB4RkYsMHhGNywweEY5LDB4OUYsMHhGRiwgMHg1RiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweDdGLAotMHhGRiwweEZGLDB4RkUsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLCAweEZGLDB4RkYsMHhGRiwweDBGLDB4RkYsMHhFNywweEJGLDB4RkUsCi0weEZGLDB4QkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZDLDB4QkYsIDB4RkYsMHhGRiwweEZFLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhDNCwKLTB4NkIsMHhGRiwweDI5LDB4MUYsMHhGQiwweEFGLDB4RkYsMHhGRiwgMHhGRiwweEZGLDB4RkYsMHhFRiwweDFCLDB4RkUsMHhGRiwweEZDLAotMHg2RiwweEZGLDB4RkYsMHhGRCwweDZBLDB4RjcsMHhENywweEY1LCAweEJGLDB4RkYsMHhGRSwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsCi0weEZFLDB4QkYsMHhGRiwweEZGLDB4RkEsMHhGRiwweEZGLDB4RjcsIDB4RkIsMHhERCwweEJGLDB4RkYsMHhFNywweEZGLDB4RkYsMHhGRiwKLTB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZELDB4N0YsMHhGRiwgMHhGRiwweEY1LDB4RkYsMHhGRiwweEY3LDB4RkQsMHhCMywweEVGLAotMHhGRCwweDdFLDB4NUQsMHhGRiwweEZELDB4RkYsMHhGRiwweEZGLCAweEZELDB4N0YsMHhEMiwweEY1LDB4RkIsMHg3RSwweENCLDB4QjcsCi0weEZGLDB4RkYsMHhGRiwweEM2LDB4RkYsMHhGRCwweEVFLDB4NjMsIDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEY2LDB4RkQsMHg2NSwKLTB4NUIsMHhERiwweEZGLDB4RDUsMHhGRiwweEZGLDB4RkYsMHhGNiwgMHhFNywweEJGLDB4RjcsMHhBOSwweEZGLDB4RkYsMHhFRCwweEZGLAotMHhGRiwweEZGLDB4RkYsMHhGRiwweEVCLDB4RkYsMHhGRiwweEZGLCAweEFGLDB4RkYsMHhGRiwweEZGLDB4RjgsMHgxQiwweEZGLDB4RTMsCi0weEQwLDB4QkYsMHhGRiwweEUxLDB4RkYsMHhGRiwweEZGLDB4RkYsIDB4RkYsMHhENywweEZGLDB4RkYsMHhGRiwweDVGLDB4RkYsMHhGRiwKLTB4RkYsMHhGRiwweEFGLDB4RkYsMHhEQiwweDc2LDB4QkYsMHhGRiwgMHg3RiwweEZGLDB4QkYsMHhFRiwweEZFLDB4RkYsMHhCRiwweEVGLAotMHhGQiwweEZFLDB4RkYsMHhGRiwweEZGLDB4QkYsMHhGMiwweDdGLCAweEZGLDB4OUYsMHhGRSwweEJELDB4RkUsMHg3RiwweEZGLDB4RkYsCi0weEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsIDB4RkYsMHhGNywweDNGLDB4RUMsMHg3RiwweEY2LDB4OTUsMHhCQiwKLTB4RUYsMHhGOCwweEZFLDB4RkMsMHhCRiwweDJGLDB4REEsMHhGQywgMHhCRiwweDJGLDB4Q0IsMHhGMiwweEZDLDB4QkYsMHhFRiwweEZGLAotMHhBOSwweEJGLDB4Q0YsMHhGQiwweEZGLDB4RkYsMHhGRiwweEZFLCAweERELDB4QjcsMHg2RCwweEY2LDB4RDksMHhCNiwweDZELDB4OUIsCi0weDc2LDB4RDksMHhCRiwweEZCLDB4RkQsMHhBMywweEZGLDB4QkYsIDB4RUYsMHhGRiwweEVGLDB4RkYsMHhGRiwweEZGLDB4N0YsMHhERiwKLTB4RkQsMHhFRiwweDdCLDB4REUsMHhGNywweEZELDB4RUYsMHg3RiwgMHhGRiwweEZGLDB4MDUsMHhGRiwweEZBLDB4RkUsMHg3RiwweEVGLAotMHhFMywweEZGLDB4RkYsMHhGRCwweDdGLDB4RkYsMHhGRiwweEZGLCAweEZGLDB4NUYsMHhGRiwweEZGLDB4RkQsMHg3RiwweEZCLDB4QUYsCi0weEZGLDB4NjMsMHhDOCwweEZGLDB4QkYsMHhFRiwweEZGLDB4RkYsIDB4RkEsMHg3RiwweEZGLDB4RkYsMHhGRiwweEZFLDB4OUYsMHhGNywKLTB4RkYsMHhGQSwweEJGLDB4RkUsMHg5RiwweEZCLDB4N0YsMHhGRiwgMHhGRiwweEVGLDB4RDcsMHhGRiwweEZGLDB4RjUsMHhGRiwweEZGLAotMHhGRiwweEZGLDB4RkQsMHg3RiwweEZGLDB4RkYsMHhCRiwweEZGLCAweEY5LDB4QkYsMHhGRiwweEJFLDB4MjcsMHg5RiwweEU3LDB4RjksCi0weEZFLDB4N0YsMHg4QiwweEU3LDB4RkUsMHg3RiwweDlGLDB4RTIsIDB4RjksMHhGRSwweDdGLDB4OUYsMHhFNywweEYxLDB4N0YsMHhGRiwKLTB4RkYsMHhGRiwweEZCLDB4RkUsMHhGRiwweEZGLDB4RkYsMHhENywgMHhGRiwweEZGLDB4RkYsMHhGRiwweEY1LDB4RkYsMHhGRiwweEZGLAotMHhENywweEZGLDB4RkEsMHhGRiwweEZFLDB4RkYsMHhGRiwweEZGLCAweEZELDB4RkYsMHhGRiwweEZGLDB4QUYsMHhGNywweEZGLDB4RkYsCi0weEZGLDB4RUIsMHhGRiwweEZGLDB4RkYsMHhBRiwweEZGLDB4QzQsIDB4RkYsMHhGNywweEZGLDB4RkYsMHhFRiwweEZGLDB4RkYsMHhGRiwKLTB4RkYsMHg1RiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RDcsMHhGRiwgMHhGRiwweEZGLDB4RkYsMHhGRiwweEVCLDB4RkYsMHhGQiwweDdBLAotMHhERiwweEY3LDB4RkQsMHhGRiwweEZGLDB4RkUsMHhCRiwweEZGLCAweEZGLDB4N0YsMHhGRiwweEFGLDB4RkYsMHhGRiwweEZGLDB4RjcsCi0weEVGLDB4RTMsMHhGRiwweERELDB4RDIsMHhGRiwweERGLDB4RkYsIDB4RkYsMHhGMiwweEZDLDB4QkYsMHhDQiwweEY2LDB4RkQsMHhCRiwKLTB4MkYsMHhDQiwweEZGLDB4N0YsMHhERiwweERFLDB4QUYsMHhGRiwgMHhEQSwweEVFLDB4QkYsMHhBRiwweEU5LDB4RkEsMHhGNCwweEJELAotMHhBRiwweDVBLDB4QUUsMHhCQiwweEFCLDB4NkIsMHhEQSwweERFLCAweEJGLDB4QUQsMHhENywweDVFLDB4RkYsMHhGRiwweEJGLDB4RkMsCi0weEZGLDB4REYsMHhGRCwweEZGLDB4RkYsMHhGRiwweEZGLDB4REYsIDB4RjcsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZELDB4RkYsMHhGQSwKLTB4MUYsMHhGRiwweEZFLDB4RkIsMHhFRiwweEJGLDB4RkQsMHhGRiwgMHhGRCwweEJELDB4NzcsMHhGRiwweEZGLDB4RkYsMHhGRiwweDlELAotMHhFRiwweEZGLDB4RkYsMHhGRiwweEVGLDB4N0QsMHhGRiwweEZCLCAweEZFLDB4RUYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RjcsCi0weEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RUUsIDB4QkYsMHhFNCwweEZCLDB4RkYsMHhGRSwweDNGLDB4RkUsMHhGRiwKLTB4RkYsMHhGRiwweEZGLDB4QUYsMHhFQSwweEZFLDB4QkYsMHhBRiwgMHhFQiwweEZBLDB4RkUsMHhGRiwweEZGLDB4RkYsMHg1NSwweEY2LAotMHhGRiwweEZFLDB4RjcsMHhGRiwweDdGLDB4RkYsMHhFQiwweEY3LCAweDVGLDB4QzUsMHhGRCwweDdGLDB4NUYsMHhENywweEY1LDB4RkYsCi0weDZGLDB4RkIsMHhGRiwweDhBLDB4RkYsMHhGRiwweEZGLDB4RkYsIDB4RUIsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZCLDB4QkYsMHhCRiwKLTB4RUYsMHhGQiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkIsMHhGRiwgMHg3NywweERGLDB4RkIsMHhGRiwweEZELDB4N0YsMHhFRiwweEZGLAotMHhGRiwweEZGLDB4QkYsMHg3RiwweEZGLDB4REYsMHhCRiwweEZGLCAweEZCLDB4RkYsMHhGRiwweEZGLDB4RkUsMHhFRiwweERGLDB4RkYsCi0weEZFLDB4RkYsMHg5RiwweEVGLDB4N0QsMHhGRiwweEY3LDB4RkYsIDB4N0YsMHhGRiwweEZGLDB4REYsMHhGNywweEZELDB4RkYsMHhFRiwKLTB4REYsMHhGRiwweERGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwgMHhGRiwweEZGLDB4RkYsMHhGRiwweEZELDB4RkYsMHhGRiwweEZCLAotMHhGRCwweEZGLDB4QkYsMHhERiwweEQxLDB4RkYsMHhGOCwweDNCLCAweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsCi0weDdFLDB4REIsMHhGRCwweEZGLDB4NzcsMHhEQiwweEI3LDB4N0QsIDB4QkYsMHhGQiwweEZGLDB4RjgsMHg3RiwweEVELDB4N0IsMHg1RSwKLTB4RkYsMHhGRSwweEZGLDB4RkYsMHg0RiwweEQ3LDB4RkQsMHg3RiwgMHhERiwweEQ3LDB4RjUsMHhGRiwweDdGLDB4RkYsMHhGRiwweEZGLAotMHhGMiwweDNGLDB4RkUsMHhGRiwweEJGLDB4RkYsMHhGRiwweEZGLCAweEZGLDB4QkYsMHhFRiwweEZFLDB4RkYsMHgzQiwweEVFLDB4RkYsCi0weEZDLDB4RUYsMHhGRiwweEZGLDB4RkYsMHg4NSwweEZGLDB4RkQsIDB4RkUsMHhGRiwweEY1LDB4RkYsMHhGRiwweEZFLDB4RkYsMHhERiwKLTB4RkIsMHhGRiwweDVGLDB4QkYsMHhGRiwweEZELDB4RkYsMHhGRiwgMHhGRiwweEZGLDB4QTgsMHhGRiwweEZGLDB4OUYsMHg5RSwweEZGLAotMHhGRiwweEZGLDB4N0YsMHhGMywweEZGLDB4RkYsMHhDRiwweEZGLCAweEY3LDB4RkQsMHhGRiwweDdGLDB4RkYsMHhGRiwweEZDLDB4MTYsCi0weEJGLDB4Q0YsMHhBMywweEU1LDB4RUYsMHg3RiwweEZGLDB4RjMsIDB4RTQsMHhGRiwweENGLDB4OTMsMHhGQywweEZGLDB4M0YsMHhDRiwKLTB4RkYsMHhGRiwweEZGLDB4RDYsMHgwRiwweDdELDB4QkYsMHg2RSwgMHhGQiwweEY0LDB4RkMsMHhBRiwweDZELDB4REIsMHg3NywweEI3LAotMHg2RCwweERCLDB4RjYsMHhGRCwweEJGLDB4RkYsMHhGRiwweEZGLCAweEJGLDB4OUIsMHhGQSwweERFLDB4QjcsMHhCNywweEVELDB4RjksCi0weDdFLDB4QjcsMHhBQywweEVCLDB4RDYsMHhCMywweEFELDB4RUIsIDB4N0EsMHhERiwweEZGLDB4RkYsMHhGRiwweEQ4LDB4QkYsMHhGRiwKLTB4QjcsMHhFRCwweDlGLDB4NkYsMHhERCwweEY3LDB4NjgsMHhEQiwgMHgzNywweEIzLDB4NkMsMHhEQiwweDM2LDB4Q0QsMHhCMywweDdGLAotMHhGRiwweDdGLDB4RjUsMHg2RiwweEZELDB4RUYsMHg3OSwweDNELCAweEY3LDB4OTMsMHhFNCwweDdBLDB4OUUsMHhBRCwweEVBLDB4N0EsCi0weDlFLDB4RjcsMHhCRCwweEVGLDB4RkYsMHhGRiwweEZGLDB4NzYsIDB4N0YsMHhGQiwweEM2LDB4RkYsMHhCQiwweEVGLDB4REEsMHhGRSwKLTB4RkQsMHhCRiwweEZCLDB4RkUsMHhGRiwweEJGLDB4RUYsMHhGQiwgMHhGRiwweEZGLDB4RkIsMHhGRiwweEE1LDB4RkYsMHhGRCwweEFCLAotMHg2RiwweDc4LDB4REUsMHgxNywweDhGLDB4NzksMHhERiwweEZELCAweEZGLDB4N0YsMHhERiwweEY3LDB4RkQsMHhGRiwweEZGLDB4RkIsCi0weEZGLDB4RkIsMHhGRiwweEVGLDB4RkIsMHhFRiwweEZCLDB4RkUsIDB4RkYsMHhCQiwweERBLDB4RjMsMHhFRiwweDNCLDB4Q0UsMHhGMywKLTB4QkMsMHhFRiwweDNGLDB4Q0YsMHhERiwweEZGLDB4QjcsMHhGRiwgMHhGRiwweEZGLDB4Q0YsMHg3MywweEZGLDB4QkYsMHhFRiwweEZGLAotMHhGMywweEZGLDB4M0YsMHhDRiwweEYzLDB4RkMsMHhGRiwweDNELCAweENGLDB4OUYsMHhGRSwweDA3LDB4RkYsMHhBRiwweEVCLDB4RkUsCi0weEZELDB4QkYsMHhFRiwweEVCLDB4RkEsMHhGRiwweEFGLDB4RUIsIDB4RkEsMHhGRSwweEJGLDB4QUYsMHhGQiwweEZFLDB4M0YsMHhGQiwKLTB4OUIsMHhGRiwweDdGLDB4REYsMHhGRiwweEYzLDB4RkUsMHhGRiwgMHhERSwweEY3LDB4QkYsMHg3QiwweERFLDB4RjcsMHhCRCwweEVGLAotMHg3QiwweEZFLDB4RkYsMHhGRiwweERGLDB4M0YsMHhGRSwweEZGLCAweEI3LDB4RkYsMHhFRiwweEY3LDB4RkYsMHhCRiwweEVELDB4RkUsCi0weERGLDB4QjcsMHhFRCwweEZCLDB4N0UsMHhERiwweEZGLDB4RkYsIDB4RkYsMHhGRCwweDVGLDB4RUYsMHhFQiwweEZBLDB4RkUsMHhGNSwKLTB4QkYsMHg2RiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwgMHhGRiwweEZGLDB4RkYsMHhGRSwweEY4LDB4RkYsMHhBOCwweEZGLAotMHhGRiwweEJGLDB4RUYsMHhGQiwweDZBLDB4RkIsMHhCNywweEVGLCAweEZCLDB4RkYsMHhCRiwweEVGLDB4RkIsMHhGRSwweEZGLDB4QkYsCi0weEVGLDB4RkIsMHhGRiwweEUwLDB4RkYsMHhGRiwweEZELDB4N0YsIDB4NUMsMHhENywweDdELDB4REYsMHhGMywweDVDLDB4RjUsMHhDRCwKLTB4NzMsMHg1RSwweEQ3LDB4QjUsMHhGRCwweDdGLDB4RUYsMHhGRiwgMHhEQiwweEZGLDB4RkYsMHhFMiwweEY4LDB4QkUsMHgyRiwweDhGLAotMHhFNywweEY4LDB4QkUsMHg2QiwweEUyLDB4RjgsMHhCRSwweDJGLCAweDhCLDB4RTIsMHhGOSwweEZFLDB4N0YsMHhFNywweEZGLDB4RDcsCi0weEY1LDB4RkQsMHg3RiwweEZGLDB4RjcsMHhGNSwweEZELDB4N0YsIDB4RDcsMHhGNSwweEZELDB4N0YsMHg1RiwweEQ3LDB4RjUsMHhGRiwKLTB4RkYsMHhGRiwweDhGLDB4RkYsMHhBRiwweEVCLDB4RkEsMHhGRiwgMHhGRiwweEJGLDB4RUIsMHhGQSwweEZGLDB4MkYsMHhFQiwweEZBLAotMHhGRSwweEJGLDB4QUYsMHhFQiwweEZGLDB4RkYsMHhGRSwweDVGLCAweEZGLDB4NUYsMHhGRiwweEZGLDB4RkQsMHhGRiwweEZGLDB4RDcsCi0weEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsIDB4RkYsMHhGRiwweEZGLDB4RkYsMHhCRiwweEZFLDB4QjcsMHhGRCwKLTB4RkYsMHg3RSwweERGLDB4RjcsMHhBRCwweEZGLDB4N0YsMHhGNywgMHhGRCwweEZGLDB4N0YsMHhERiwweEY3LDB4RkQsMHhGRiwweDdGLAotMHhGNiwweDdGLDB4RkYsMHhGRiwweEZGLDB4REIsMHhGNiwweEZDLCAweEFGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGNywweEZGLDB4RkYsCi0weEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhFQywweEJGLDB4RkYsIDB4QUYsMHhFQiwweEZBLDB4RjYsMHhBQiwweDhGLDB4RUIsMHhGQSwKLTB4RjcsMHhBNSwweEVCLDB4RkEsMHhCRSwweEJGLDB4QUYsMHhFQiwgMHhGQSwweEZGLDB4NkQsMHhGRiwweEZGLDB4N0YsMHhERiwweDMzLAotMHhERCwweEZGLDB4N0YsMHhGRSwweEY3LDB4RkMsMHg3RiwweEZCLCAweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4QTksCi0weEZGLDB4RkQsMHhGRiwweEZGLDB4RkUsMHhGRiwweEZGLDB4REYsIDB4RkYsMHhGRiwweEVGLDB4RUYsMHhGRCwweEZGLDB4N0YsMHhGRiwKLTB4RkYsMHhGRiwweEZGLDB4RkUsMHhBNywweEZGLDB4RkYsMHhGRiwgMHg3NywweERGLDB4RjcsMHhGRCwweDlGLDB4N0YsMHhGRSwweDc3LAotMHhFRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLCAweEZGLDB4QUYsMHhCRiwweEFGLDB4RkYsMHhGOSwweEJFLDB4QkYsCi0weDhGLDB4RkIsMHhGRSwweEZFLDB4RUYsMHhGQiwweEZFLDB4RkYsIDB4QkYsMHhFRiwweEZCLDB4RkYsMHhGRiwweEZELDB4REYsMHg2RiwKLTB4RUYsMHhGRiwweDdGLDB4RkYsMHhCRiwweEJGLDB4REYsMHhGRiwgMHhGQywweEZGLDB4REYsMHhGNywweEZELDB4RUYsMHg3RiwweERGLAotMHhGRiwweEZGLDB4RkYsMHgzRiwweEY2LDB4RkYsMHhDRiwweEZGLCAweERCLDB4RkIsMHhGNywweEZGLDB4RUIsMHg3QSwweEZGLDB4RkYsCi0weEZGLDB4QkYsMHhFRiwweEZCLDB4RkYsMHhGRiwweEZGLDB4RkUsIDB4NkQsMHhGRCwweEZGLDB4NUYsMHhGQiwweEZGLDB4RkYsMHhGNywKLTB4RkYsMHg1RiwweEY1LDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwgMHhGRiwweEZGLDB4RkYsMHhGRiwweEY4LDB4RkYsMHhGQiwweEZGLAotMHhGRiwweEZELDB4RkYsMHhGRiwweEZGLDB4RkYsMHhFNywweEY2LCAweEJGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGQiwweEZGLDB4RkYsCi0weEZGLDB4QzksMHhGRiwweEZGLDB4RkYsMHhCRCwweEZGLDB4QkYsIDB4QUYsMHhFRiwweEVGLDB4M0YsMHhEMSwweEZDLDB4N0YsMHhGQiwKLTB4QzcsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RTMsMHhGRiwgMHhGRiwweEZGLDB4RkYsMHhGRCwweEZGLDB4RkYsMHg3NywweEZGLAotMHhERiwweEI3LDB4RkQsMHhGNywweEZELDB4RjcsMHhGRiwweEZGLCAweEZGLDB4RkYsMHhGRiwweDU3LDB4RkYsMHhGNywweEE1LDB4RkQsCi0weDNGLDB4REYsMHhCRiwweEJGLDB4RkUsMHg3RiwweEZGLDB4RkYsIDB4RkYsMHhERiwweEZBLDB4RkQsMHhGRiwweEZGLDB4RkYsMHhGRSwKLTB4ODcsMHhGRiwweEU5LDB4RkYsMHhGRSwweEVGLDB4QkYsMHhFRiwgMHhGRSwweEZFLDB4RkYsMHhFRiwweEZGLDB4RkYsMHhGRiwweEZGLAotMHhGRiwweEZGLDB4RkYsMHhGRiwweEZBLDB4OUYsMHhGRiwweDNGLCAweEZGLDB4RkQsMHhGRCwweDU3LDB4REYsMHhGRCwweEYzLDB4RkYsCi0weERGLDB4RkQsMHhGRiwweDVGLDB4REYsMHhGNSwweEZELDB4RkYsIDB4RkYsMHhGOSwweDhGLDB4RkYsMHhGRiwweEZGLDB4RUUsMHg3RiwKLTB4RkYsMHhGRiwweEJGLDB4NUUsMHhGRSwweEVDLDB4RkIsMHgzRiwgMHg3RiwweDlGLDB4RUYsMHhGOSwweEZGLDB4RkYsMHhDRCwweDZCLAotMHhGRiwweEZGLDB4RkYsMHhDNSwweEYzLDB4RkMsMHhGQSwweDM4LCAweEZGLDB4QUYsMHgzRiwweEVFLDB4N0YsMHg5RiwweEZGLDB4RDksCi0weEZGLDB4RkYsMHhGRCwweDdBLDB4RjcsMHhGRiwweEYzLDB4RkYsIDB4QUYsMHg2RiwweERCLDB4RjIsMHhCOSwweEU5LDB4RkIsMHhGRiwKLTB4RkYsMHhGRiwweEZFLDB4RkYsMHhGRiwweEVGLDB4RkYsMHhGQiwgMHhDNSwweEJGLDB4RkYsMHhFRiwweEZGLDB4NUUsMHhCNywweEFELAotMHhDRCwweDc5LDB4N0MsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLCAweEZGLDB4RkYsMHhGRiwweEZGLDB4RkQsMHg5MywweEZGLDB4RUYsCi0weEVBLDB4RkUsMHhCRiwweEVGLDB4NUIsMHhEMiwweENELDB4RjUsIDB4NkQsMHg3NywweERGLDB4RjcsMHhGRCwweEZGLDB4N0YsMHhERiwKLTB4RkYsMHhGRiwweDY2LDB4RkYsMHhENSwweDY1LDB4N0QsMHg1RiwgMHg3NSwweDlELDB4NjUsMHg3RiwweEQ2LDB4RkIsMHg0RiwweEZGLAotMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGNiwweEM3LCAweEZGLDB4QkYsMHhFRiwweEZBLDB4RkUsMHhGRiwweEJGLDB4RUIsCi0weEZGLDB4REYsMHhGRiwweDdFLDB4RkYsMHhGRiwweEVGLDB4RkQsIDB4N0UsMHhENywweEZGLDB4NzgsMHhERiwweEZGLDB4NUYsMHhERiwKLTB4RjUsMHhCRiwweDdGLDB4REYsMHhDNSwweEZGLDB4M0YsMHhGNiwgMHg3RSwweEZGLDB4MEYsMHhFRiwweEYyLDB4M0UsMHhCRiwweEZGLAotMHhGQiwweDNGLDB4RkYsMHhGQiwweDdGLDB4RkYsMHhCMywweEZFLCAweEZCLDB4RjYsMHhGRCwweEZGLDB4REEsMHhGNywweEZELDB4RkYsCi0weDdGLDB4REYsMHhGNywweEJGLDB4RkYsMHhGQSwweDdGLDB4RkYsIDB4RkYsMHhGRiwweEZGLDB4OUYsMHhGRiwweEYzLDB4REMsMHhGOSwKLTB4QkYsMHhDRSwweEU3LDB4RjksMHhGRSwweDdGLDB4OUYsMHhFNywgMHhGRiwweEZGLDB4RTIsMHg3RiwweEZFLDB4RkYsMHhCRiwweEVGLAotMHhFQiwweEZBLDB4RkYsMHg5RiwweDY3LDB4MUUsMHhGRiwweDhGLCAweEU3LDB4RjgsMHhGRSwweDdGLDB4OEYsMHhFRiwweEZGLDB4QkQsCi0weEJGLDB4RkYsMHhGQiwweEZGLDB4RkYsMHhERiwweEY3LDB4RkYsIDB4RkMsMHhGRiwweEJGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwKLTB4RkYsMHhGRiwweEZGLDB4RkQsMHhCMywweEZGLDB4RkYsMHhFRiwgMHhGRiwweEZGLDB4QkYsMHhFRCwweEZGLDB4RkIsMHhFRSwweEZFLAotMHhGRiwweEZGLDB4RUYsMHhGRiwweEZFLDB4RkYsMHhGRiwweEZGLCAweEZGLDB4QjUsMHhGRiwweEI3LDB4RkQsMHhGRCwweDZFLDB4RkYsCi0weEZGLDB4RkUsMHhGRCwweDJGLDB4RDgsMHhGRSwweEJGLDB4OEYsIDB4RUIsMHhGOSwweEZFLDB4M0YsMHhGRiwweEZBLDB4Q0YsMHhGRiwKLTB4RTcsMHhEOSwweEZBLDB4QkYsMHhERiwweDc3LDB4RkMsMHhGQiwgMHgzRiwweEFCLDB4RkUsMHhGRiwweEJGLDB4RUYsMHhGQiwweEZFLAotMHhGRiwweEZGLDB4RUUsMHgxRiwweEZGLDB4REYsMHhGNywweEZGLCAweEZGLDB4RkYsMHg1RiwweDk3LDB4MzUsMHhCRiwweDVFLDB4RkUsCi0weEJGLDB4RUYsMHhGRiwweEY3LDB4RkQsMHhGRiwweEZGLDB4RkEsIDB4QkYsMHhGRiwweEJFLDB4NkYsMHg5RiwweEU3LDB4RjgsMHhCRSwKLTB4MkYsMHg4QiwweDY2LDB4OTQsMHg3RCwweDlELDB4RTcsMHhGOSwgMHhGRSwweDdGLDB4OUYsMHhFNywweEYxLDB4N0YsMHhGRiwweEZGLAotMHhGRiwweEY3LDB4RjUsMHhGRCwweDdGLDB4NUYsMHhGQiwweEZELCAweDlFLDB4RkYsMHhGQiwweEZFLDB4RkYsMHhGRiwweEVGLDB4RkYsCi0weEZGLDB4QTAsMHhGRiwweEZGLDB4RkYsMHhCRiwweEVGLDB4RUIsIDB4RkEsMHhGRSwweEJGLDB4QjcsMHhGNywweEY3LDB4RkYsMHhGRiwKLTB4RkQsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4REQsMHhGRiwgMHhGRCwweEZGLDB4RkYsMHhGRiwweEQ3LDB4RkYsMHhGRiwweEZGLAotMHg3RiwweEY1LDB4RkYsMHhGRiwweEVGLDB4RkYsMHhGRiwweEZGLCAweEJGLDB4RkYsMHhGRiwweEFCLDB4RkUsMHhGQiwweEZFLDB4RkYsCi0weEY3LDB4QUYsMHhGRiwweEZGLDB4REUsMHhGNywweEVCLDB4NUYsIDB4REYsMHhGNywweEZELDB4RkYsMHg3RiwweERGLDB4RkYsMHhGRiwKLTB4QjMsMHhGRiwweEM5LDB4RkUsMHhGRiwweEZGLDB4RkYsMHhGRiwgMHhENiwweEZGLDB4RkYsMHhDQiwweEZGLDB4RkYsMHhERiwweEZGLAotMHhGRiwweEZGLDB4RkYsMHhGRiwweEZDLDB4OEYsMHhGRiwweEJBLCAweEJFLDB4QkYsMHhBRiwweEVCLDB4NzgsMHhGRSwweEI3LDB4QUQsCi0weDNBLDB4RkUsMHhCNywweEFGLDB4RUIsMHg3QSwweEZFLDB4QkYsIDB4QUYsMHhGRiwweDlGLDB4RkYsMHhGRiwweERGLDB4RkMsMHhGRiwKLTB4RkYsMHhGRSwweEMzLDB4RkUsMHhGRiwweEZGLDB4MzMsMHhGQywgMHhGRiwweEJGLDB4REYsMHhGMywweEZGLDB4RkYsMHhCQiwweDlGLAotMHhGRiwweEZGLDB4RkYsMHhFQiwweERGLDB4RkYsMHhGRiwweEFGLCAweEY3LDB4NkYsMHhGOSwweEJGLDB4RUYsMHhGRCwweEZGLDB4RkYsCi0weEZGLDB4RkYsMHhGRiwweEUzLDB4N0YsMHhGRiwweEZGLDB4RkYsIDB4RkIsMHhGRiwweEZGLDB4QkYsMHhGRCwweEZCLDB4RjcsMHhGRiwKLTB4REYsMHhGNywweEZGLDB4RkUsMHhFRiwweDVGLDB4QkQsMHhGRiwgMHhGQSwweEZGLDB4RjgsMHhGRiwweEJGLDB4QUYsMHhGQiwweEZFLAotMHhGRSwweDNGLDB4RUYsMHhFOCwweEZGLDB4REYsMHhGMywweEZELCAweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhFRCwweEZGLDB4RkIsCi0weEZELDB4RkYsMHhBRiwweEZGLDB4RkYsMHhGRSwweEZFLDB4QkYsIDB4REIsMHhGRiwweEZGLDB4RkYsMHhCRiwweEZGLDB4REYsMHhGRiwKLTB4RkQsMHhGRiwweENCLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwgMHhCRiwweDZGLDB4RkYsMHg3RiwweEI3LDB4QjMsMHhGRiwweEZGLAotMHhERiwweEZGLDB4RkIsMHhFRiwweEZGLDB4RkYsMHhGRiwweDA3LCAweEZGLDB4RkIsMHhGRiwweEZGLDB4RkYsMHhFRCwweEZGLDB4RjUsCi0weDdDLDB4RkYsMHg3RiwweEZFLDB4RkYsMHhGRiwweEVGLDB4Q0YsIDB4RkYsMHhGQiwweEZGLDB4RkYsMHgyRiwweEZGLDB4RkYsMHhGRiwKLTB4RkYsMHhGMywweEZGLDB4RkIsMHhGRiwweEZFLDB4RkYsMHhGRiwgMHhGRiwweEZGLDB4RkYsMHhGRiwweEJGLDB4RkYsMHhGRiwweEZGLAotMHhGRCwweDFCLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLCAweEZGLDB4RkYsMHhGRSwweDdDLDB4RkYsMHhGRiwweEZGLDB4RkYsCi0weEVGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGQiwweEJGLDB4N0YsIDB4RkQsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwKLTB4REIsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRCwgMHhGRiwweEZGLDB4RjAsMHg3RiwweEZGLDB4RkYsMHhGRiwweEZGLAotMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkIsMHhGRiwweERGLCAweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRCwweEJGLDB4RkUsCi0weDdGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsIDB4RkYsMHhFRiwweEZFLDB4RkYsMHhCRiwweEZGLDB4RkYsMHhGRiwKLTB4RkYsMHhGRiwweEVGLDB4RkEsMHhCNSwweEZGLDB4RkYsMHhGRiwgMHhGNywweEY3LDB4RkYsMHhGRiwweEZGLDB4RkYsMHhERiwweEZCLAotMHhGQywweEZGLDB4RkYsMHhGRSwweEZGLDB4N0YsMHhERiwweEJGLCAweEZGLDB4Q0IsMHhCRiwweEY5LDB4RkUsMHg3RiwweDlGLDB4RTcsCi0weEY5LDB4RkUsMHg3RiwweDk3LDB4RTEsMHhGRSwweDc5LDB4OUYsIDB4RTcsMHhGRCwweEZFLDB4N0YsMHhERiwweEZFLDB4MzcsMHhGRiwKLTB4RkIsMHhERSwweERFLDB4QkQsMHhFRiwweEYzLDB4RkUsMHhGQiwgMHhBRiwweEVCLDB4RkUsMHhGRiwweEZGLDB4Q0YsMHhGRiwweEZFLAotMHhGRiwweEJGLDB4RkYsMHg4RiwweEZGLDB4RUYsMHhGQiwweEZFLCAweEZGLDB4QkYsMHhFNywweEY5LDB4NUUsMHg3RiwweEVGLDB4RkIsCi0weERBLDB4RkYsMHhCRiwweEVGLDB4RkIsMHhGRSwweEZGLDB4RkQsIDB4MUYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhERiwKLTB4RkYsMHhGRiwweDdGLDB4RkYsMHhGRiwweEY3LDB4RkIsMHg3RiwgMHhGRiwweEZGLDB4RkYsMHhGRiwweEZDLDB4M0YsMHhGRiwweEJGLAotMHhFRiwweEZCLDB4RkUsMHhGRiwweEJGLDB4RUYsMHg3QiwweDdGLCAweEJGLDB4RUYsMHhGQiwweEZFLDB4RkYsMHhCNSwweEVGLDB4RkIsCi0weEJGLDB4RkEsMHg3RiwweEZDLDB4RkYsMHgzRiwweENGLDB4RjMsIDB4RkMsMHhGRiwweDNGLDB4Q0YsMHhCQywweEZGLDB4M0YsMHhFRiwKLTB4RjMsMHhGQywweEZFLDB4M0YsMHhDRiwweEZGLDB4RUUsMHhFRiwgMHhGQiwweEZFLDB4RkYsMHhCRiwweEVGLDB4RkIsMHg2QSwweEQ3LAotMHhCNywweEZCLDB4RjgsMHhGRiwweEI3LDB4RUYsMHhCQSwweEZFLCAweEZGLDB4QkYsMHg3RiwweEU5LDB4RkYsMHhGOSwweDdFLDB4NUYsCi0weDk3LDB4RTUsMHhGOSwweEZFLDB4N0YsMHhCRiwweEY5LDB4N0UsIDB4NUYsMHg5RiwweEU1LDB4RkIsMHhGRSwweDVGLDB4QjcsMHhGRiwKLTB4QTMsMHhGRiwweEY3LDB4RkQsMHhGRiwweDdGLDB4REYsMHhGNywgMHhGRCwweEZGLDB4NUUsMHhGNywweDdELDB4RkYsMHg3NywweERGLAotMHhGNywweEZELDB4RkYsMHg3RiwweEZGLDB4RDcsMHhGRiwweEZGLCAweEZGLDB4RkYsMHhGRiwweEZGLDB4RkQsMHhERiwweEZCLDB4N0YsCi0weEZGLDB4RkYsMHhFRiwweEZGLDB4RkUsMHhGQiwweEZGLDB4RkYsIDB4QkYsMHhGRSwweDhGLDB4RkYsMHhERiwweEY3LDB4RkQsMHhGRCwKLTB4N0YsMHhERiwweEY3LDB4RkQsMHgzRSwweERGLDB4RjUsMHhCRCwgMHhGRiwweDdGLDB4REYsMHhGNywweEZELDB4RjcsMHhGRiwweDlGLAotMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLCAweEZGLDB4RkQsMHhGRiwweEJFLDB4RkYsMHhGRiwweEZGLDB4RkYsCi0weEZGLDB4RkYsMHhGRiwweEZELDB4M0YsMHhGRiwweERGLDB4RjcsIDB4RkQsMHhGRiwweDdGLDB4REYsMHhGNywweEZELDB4RkYsMHhDRiwKLTB4NzcsMHhGQywweEZGLDB4NUYsMHhERiwweEY3LDB4RkQsMHhGRiwgMHhGNCwweDdGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLAotMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLCAweEZGLDB4RkQsMHhGRiwweEZGLDB4RkYsMHhFRSwweEZGLDB4RkYsCi0weEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsIDB4RUQsMHhGQiwweEZGLDB4RkYsMHhCRiwweEZGLDB4RkYsMHhGRiwKLTB4RkYsMHhGRiwweEU5LDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwgMHhGRiwweEZCLDB4RkYsMHhGRiwweEZGLDB4RDMsMHhGRiwweEZGLAotMHhCRiwweDNGLDB4RkIsMHhGRiwweEZGLDB4RkYsMHhGQiwweEYzLCAweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsCi0weEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRSwweEZGLDB4RjcsIDB4RkYsMHhGRiwweEZGLDB4RkYsMHgxNywweEZGLDB4RkYsMHhGRiwKLTB4REYsMHhGRiwweEZELDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwgMHhERiwweERGLDB4RkYsMHhGRCwweEZGLDB4RkYsMHhERiwweEY3LAotMHhGRiwweDRGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLCAweEZGLDB4RkYsMHhGRiwweEZFLDB4RkYsMHhGRiwweEZGLDB4RkQsCi0weEZGLDB4RkYsMHhGRiwweEZGLDB4RkUsMHhGRiwweDlGLDB4RkYsIDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwKLTB4RkQsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4N0YsMHhGRiwgMHhGRiwweEZGLDB4N0EsMHgzRiwweEZGLDB4RkYsMHhGRiwweEZGLAotMHhGRiwweEZGLDB4RkYsMHg3RiwweEZGLDB4RkYsMHhGRiwweEZGLCAweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RjIsCi0weDdGLDB4RkYsMHhGQiwweEZFLDB4RkYsMHhCRiwweEVGLDB4RjgsIDB4RkUsMHhGRiwweEJGLDB4RkIsMHhGRSwweEZGLDB4OEYsMHhFQywKLTB4RkIsMHhGRSwweEZGLDB4QkYsMHhGOCwweEY3LDB4RkUsMHhGRiwgMHhCRiwweEVGLDB4RkIsMHhGRSwweEZELDB4QkYsMHhDRiwweEVDLAotMHhGRiwweDNGLDB4RUYsMHhEQiwweEY4LDB4RkYsMHhCRiwweENGLCAweEZGLDB4RjksMHhGRiwweEZGLDB4QkYsMHhGRiwweEZCLDB4RkYsCi0weEZGLDB4RkYsMHhFRiwweEZCLDB4REYsMHhGRiwweEZGLDB4RkYsIDB4RkYsMHhGRiwweEJGLDB4RkYsMHhGRiwweEZGLDB4QkIsMHhGRiwKLTB4RUYsMHhGQiwweEZFLDB4RUYsMHhCRiwweEVFLDB4RUIsMHhGQiwgMHhGRSwweEZGLDB4RUYsMHhGRSwweEVFLDB4QkYsMHhGRSwweEVCLAotMHhGRiwweEVGLDB4RkYsMHgxNywweEZGLDB4N0UsMHhFQiwweEJCLCAweEZFLDB4QkYsMHhCRSwweEZCLDB4RUYsMHg1QiwweEY3LDB4QkQsCi0weEZCLDB4Q0YsMHhCRiwweEJGLDB4QkIsMHhGQiwweDdFLDB4Q0MsIDB4RUYsMHhGRgotCi19OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS92aWRlby9kYWJ1c2IuYyBiL2RyaXZlcnMvbWVkaWEvdmlkZW8vZGFidXNiLmMKaW5kZXggOGQxZjhlZS4uNDhmNGI5MiAxMDA2NDQKLS0tIGEvZHJpdmVycy9tZWRpYS92aWRlby9kYWJ1c2IuYworKysgYi9kcml2ZXJzL21lZGlhL3ZpZGVvL2RhYnVzYi5jCkBAIC0zOCw5ICszOCwxMCBAQAogI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+CiAjaW5jbHVkZSA8bGludXgvdXNiLmg+CiAjaW5jbHVkZSA8bGludXgvbXV0ZXguaD4KKyNpbmNsdWRlIDxsaW51eC9maXJtd2FyZS5oPgorI2luY2x1ZGUgPGxpbnV4L2loZXguaD4KIAogI2luY2x1ZGUgImRhYnVzYi5oIgotI2luY2x1ZGUgImRhYmZpcm13YXJlLmgiCiAKIC8qCiAgKiBWZXJzaW9uIEluZm9ybWF0aW9uCkBAIC0yOTcsNyArMjk4LDggQEAKIAlyZXR1cm4gcmV0OwogfQogLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCi1zdGF0aWMgaW50IGRhYnVzYl93cml0ZW1lbSAocGRhYnVzYl90IHMsIGludCBwb3MsIHVuc2lnbmVkIGNoYXIgKmRhdGEsIGludCBsZW4pCitzdGF0aWMgaW50IGRhYnVzYl93cml0ZW1lbSAocGRhYnVzYl90IHMsIGludCBwb3MsIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmRhdGEsCisJCQkgICAgaW50IGxlbikKIHsKIAlpbnQgcmV0OwogCXVuc2lnbmVkIGNoYXIgKnRyYW5zZmVyX2J1ZmZlciA9ICBrbWFsbG9jIChsZW4sIEdGUF9LRVJORUwpOwpAQCAtMzI0LDI0ICszMjYsMzUgQEAKIHN0YXRpYyBpbnQgZGFidXNiX2xvYWRtZW0gKHBkYWJ1c2JfdCBzLCBjb25zdCBjaGFyICpmbmFtZSkKIHsKIAlpbnQgcmV0OwotCVBJTlRFTF9IRVhfUkVDT1JEIHB0ciA9IGZpcm13YXJlOworCWNvbnN0IHN0cnVjdCBpaGV4X2JpbnJlYyAqcmVjOworCWNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqZnc7CiAKIAlkYmcoIkVudGVyIGRhYnVzYl9sb2FkbWVtIChpbnRlcm5hbCkiKTsKIAorCXJldCA9IHJlcXVlc3RfaWhleF9maXJtd2FyZSgmZncsICJkYWJ1c2IvZmlybXdhcmUuZnciLCAmcy0+dXNiZGV2LT5kZXYpOworCWlmIChyZXQpIHsKKwkJZXJyKCJGYWlsZWQgdG8gbG9hZCBcImRhYnVzYi9maXJtd2FyZS5md1wiOiAlZFxuIiwgcmV0KTsKKwkJZ290byBvdXQ7CisJfQogCXJldCA9IGRhYnVzYl84MDUxX3Jlc2V0IChzLCAxKTsKLQl3aGlsZSAocHRyLT5UeXBlID09IDApIHsKIAotCQlkYmcoImRhYnVzYl93cml0ZW1lbTogJTA0WCAlcCAlZCkiLCBwdHItPkFkZHJlc3MsIHB0ci0+RGF0YSwgcHRyLT5MZW5ndGgpOworCWZvciAocmVjID0gKGNvbnN0IHN0cnVjdCBpaGV4X2JpbnJlYyAqKWZ3LT5kYXRhOyByZWM7CisJICAgICByZWMgPSBpaGV4X25leHRfYmlucmVjKHJlYykpIHsKKwkJZGJnKCJkYWJ1c2Jfd3JpdGVtZW06ICUwNFggJXAgJWQpIiwgYmUzMl90b19jcHUocmVjLT5hZGRyKSwKKwkJICAgIHJlYy0+ZGF0YSwgYmUxNl90b19jcHUocmVjLT5sZW4pKTsKIAotCQlyZXQgPSBkYWJ1c2Jfd3JpdGVtZW0gKHMsIHB0ci0+QWRkcmVzcywgcHRyLT5EYXRhLCBwdHItPkxlbmd0aCk7CisJCXJldCA9IGRhYnVzYl93cml0ZW1lbShzLCBiZTMyX3RvX2NwdShyZWMtPmFkZHIpLCByZWMtPmRhdGEsCisJCQkJICAgICAgIGJlMTZfdG9fY3B1KHJlYy0+bGVuKSk7CiAJCWlmIChyZXQgPCAwKSB7Ci0JCQllcnIoImRhYnVzYl93cml0ZW1lbSBmYWlsZWQgKCVkICUwNFggJXAgJWQpIiwgcmV0LCBwdHItPkFkZHJlc3MsIHB0ci0+RGF0YSwgcHRyLT5MZW5ndGgpOworCQkJZXJyKCJkYWJ1c2Jfd3JpdGVtZW0gZmFpbGVkICglZCAlMDRYICVwICVkKSIsIHJldCwKKwkJCSAgICBiZTMyX3RvX2NwdShyZWMtPmFkZHIpLCByZWMtPmRhdGEsCisJCQkgICAgYmUxNl90b19jcHUocmVjLT5sZW4pKTsKIAkJCWJyZWFrOwogCQl9Ci0JCXB0cisrOwogCX0KIAlyZXQgPSBkYWJ1c2JfODA1MV9yZXNldCAocywgMCk7Ci0KKwlyZWxlYXNlX2Zpcm13YXJlKGZ3KTsKKyBvdXQ6CiAJZGJnKCJkYWJ1c2JfbG9hZG1lbTogZXhpdCIpOwogCiAJcmV0dXJuIHJldDsKQEAgLTM3Niw5ICszODksOSBAQAogc3RhdGljIGludCBkYWJ1c2JfZnBnYV9kb3dubG9hZCAocGRhYnVzYl90IHMsIGNvbnN0IGNoYXIgKmZuYW1lKQogewogCXBidWxrX3RyYW5zZmVyX3QgYiA9IGttYWxsb2MgKHNpemVvZiAoYnVsa190cmFuc2Zlcl90KSwgR0ZQX0tFUk5FTCk7CisJY29uc3Qgc3RydWN0IGZpcm13YXJlICpmdzsKIAl1bnNpZ25lZCBpbnQgYmxlbiwgbjsKIAlpbnQgcmV0OwotCXVuc2lnbmVkIGNoYXIgKmJ1ZiA9IGJpdHN0cmVhbTsKIAogCWRiZygiRW50ZXIgZGFidXNiX2ZwZ2FfZG93bmxvYWQgKGludGVybmFsKSIpOwogCkBAIC0zODcsMTAgKzQwMCwxNiBAQAogCQlyZXR1cm4gLUVOT01FTTsKIAl9CiAKKwlyZXQgPSByZXF1ZXN0X2Zpcm13YXJlKCZmdywgImRhYnVzYi9iaXRzdHJlYW0uYmluIiwgJnMtPnVzYmRldi0+ZGV2KTsKKwlpZiAocmV0KSB7CisJCWVycigiRmFpbGVkIHRvIGxvYWQgXCJkYWJ1c2IvYml0c3RyZWFtLmJpblwiOiAlZFxuIiwgcmV0KTsKKwkJcmV0dXJuIHJldDsKKwl9CisKIAliLT5waXBlID0gMTsKIAlyZXQgPSBkYWJ1c2JfZnBnYV9jbGVhciAocywgYik7CiAJbWRlbGF5ICgxMCk7Ci0JYmxlbiA9IGJ1Zls3M10gKyAoYnVmWzcyXSA8PCA4KTsKKwlibGVuID0gZnctPmRhdGFbNzNdICsgKGZ3LT5kYXRhWzcyXSA8PCA4KTsKIAogCWRiZygiQml0c3RyZWFtIGxlbjogJWkiLCBibGVuKTsKIApAQCAtNDAyLDcgKzQyMSw3IEBACiAJZm9yIChuID0gMDsgbiA8PSBibGVuICsgNjA7IG4gKz0gNjApIHsKIAkJLy8gc29tZSBjY2xrcyBmb3Igc3RhcnR1cAogCQliLT5zaXplID0gNjQ7Ci0JCW1lbWNweSAoYi0+ZGF0YSArIDQsIGJ1ZiArIDc0ICsgbiwgNjApOworCQltZW1jcHkgKGItPmRhdGEgKyA0LCBmdy0+ZGF0YSArIDc0ICsgbiwgNjApOwogCQlyZXQgPSBkYWJ1c2JfYnVsayAocywgYik7CiAJCWlmIChyZXQgPCAwKSB7CiAJCQllcnIoImRhYnVzYl9idWxrIGZhaWxlZC4iKTsKQEAgLTQxMyw2ICs0MzIsNyBAQAogCiAJcmV0ID0gZGFidXNiX2ZwZ2FfaW5pdCAocywgYik7CiAJa2ZyZWUgKGIpOworCXJlbGVhc2VfZmlybXdhcmUoZncpOwogCiAJZGJnKCJleGl0IGRhYnVzYl9mcGdhX2Rvd25sb2FkIik7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvdmlkZW8vdXNidmlkZW8vdmljYW0uYyBiL2RyaXZlcnMvbWVkaWEvdmlkZW8vdXNidmlkZW8vdmljYW0uYwppbmRleCAxN2Y1NDJkLi40MGQwNTNlIDEwMDY0NAotLS0gYS9kcml2ZXJzL21lZGlhL3ZpZGVvL3VzYnZpZGVvL3ZpY2FtLmMKKysrIGIvZHJpdmVycy9tZWRpYS92aWRlby91c2J2aWRlby92aWNhbS5jCkBAIC00Myw2ICs0Myw4IEBACiAjaW5jbHVkZSA8bGludXgvdm1hbGxvYy5oPgogI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KICNpbmNsdWRlIDxsaW51eC9tdXRleC5oPgorI2luY2x1ZGUgPGxpbnV4L2Zpcm13YXJlLmg+CisjaW5jbHVkZSA8bGludXgvaWhleC5oPgogI2luY2x1ZGUgInVzYnZpZGVvLmgiCiAKIC8vICNkZWZpbmUgVklDQU1fREVCVUcKQEAgLTcwLDI4NCArNzIsNiBAQAogCiAjZGVmaW5lIFZJQ0FNX0hFQURFUl9TSVpFICAgICAgIDY0CiAKLS8qIE5vdCBzdXJlIHdoYXQgYWxsIHRoZSBieXRlcyBpbiB0aGVzZSBjaGFyCi0gKiBhcnJheXMgZG8sIGJ1dCB0aGV5J3JlIG5lY2Vzc2FyeSB0byBtYWtlCi0gKiB0aGUgY2FtZXJhIHdvcmsuCi0gKi8KLQotc3RhdGljIHVuc2lnbmVkIGNoYXIgc2V0dXAxW10gPSB7Ci0JMHhCNiwgMHhDMywgMHgxRiwgMHgwMCwgMHgwMiwgMHg2NCwgMHhFNywgMHg2NywKLQkweEZELCAweEZGLCAweDBFLCAweEMwLCAweEU3LCAweDA5LCAweERFLCAweDAwLAotCTB4OEUsIDB4MDAsIDB4QzAsIDB4MDksIDB4NDAsIDB4MDMsIDB4QzAsIDB4MTcsCi0JMHg0NCwgMHgwMywgMHg0QiwgMHhBRiwgMHhDMCwgMHgwNywgMHgwMCwgMHgwMCwKLQkweDRCLCAweEFGLCAweDk3LCAweENGLCAweDAwLCAweDAwCi19OwotCi1zdGF0aWMgdW5zaWduZWQgY2hhciBzZXR1cDJbXSA9IHsKLQkweEI2LCAweEMzLCAweDAzLCAweDAwLCAweDAzLCAweDY0LCAweDE4LCAweDAwLAotCTB4MDAsIDB4MDAKLX07Ci0KLXN0YXRpYyB1bnNpZ25lZCBjaGFyIHNldHVwM1tdID0gewotCTB4QjYsIDB4QzMsIDB4MDEsIDB4MDAsIDB4MDYsIDB4NjQsIDB4MDAsIDB4MDAKLX07Ci0KLXN0YXRpYyB1bnNpZ25lZCBjaGFyIHNldHVwNFtdID0gewotCTB4QjYsIDB4QzMsIDB4OEYsIDB4MDYsIDB4MDIsIDB4NjQsIDB4RTcsIDB4MDcsCi0JMHgwMCwgMHgwMCwgMHgwOCwgMHhDMCwgMHhFNywgMHgwNywgMHgwMCwgMHgwMCwKLQkweDNFLCAweEMwLCAweEU3LCAweDA3LCAweDU0LCAweDAxLCAweEFBLCAweDAwLAotCTB4RTcsIDB4MDcsIDB4QzgsIDB4MDUsIDB4QjYsIDB4MDAsIDB4RTcsIDB4MDcsCi0JMHg0MiwgMHgwMSwgMHhEMiwgMHgwMCwgMHhFNywgMHgwNywgMHg3QywgMHgwMCwKLQkweDE2LCAweDAwLCAweEU3LCAweDA3LCAweDU2LCAweDAwLCAweDE4LCAweDAwLAotCTB4RTcsIDB4MDcsIDB4MDYsIDB4MDAsIDB4OTIsIDB4QzAsIDB4RTcsIDB4MDcsCi0JMHgwMCwgMHgwMCwgMHgxRSwgMHhDMCwgMHhFNywgMHgwNywgMHhGRiwgMHhGRiwKLQkweDIyLCAweEMwLCAweEU3LCAweDA3LCAweDA0LCAweDAwLCAweDI0LCAweEMwLAotCTB4RTcsIDB4MDcsIDB4RUMsIDB4MjcsIDB4MjgsIDB4QzAsIDB4RTcsIDB4MDcsCi0JMHgxNiwgMHgwMSwgMHg4RSwgMHgwMCwgMHhFNywgMHg4NywgMHgwMSwgMHgwMCwKLQkweDBFLCAweEMwLCAweDk3LCAweENGLCAweEQ3LCAweDA5LCAweDAwLCAweEMwLAotCTB4RTcsIDB4NzcsIDB4MDEsIDB4MDAsIDB4OTIsIDB4QzAsIDB4MDksIDB4QzEsCi0JMHhFNywgMHgwOSwgMHhGRSwgMHgwNSwgMHgyNCwgMHgwMSwgMHhFNywgMHgwOSwKLQkweDA0LCAweDA2LCAweDI2LCAweDAxLCAweEU3LCAweDA3LCAweDA3LCAweDAwLAotCTB4OTIsIDB4QzAsIDB4RTcsIDB4MDUsIDB4MDAsIDB4QzAsIDB4QzAsIDB4REYsCi0JMHg5NywgMHhDRiwgMHgxNywgMHgwMCwgMHg1NywgMHgwMCwgMHgxNywgMHgwMiwKLQkweEQ3LCAweDA5LCAweDAwLCAweEMwLCAweEU3LCAweDc3LCAweDAxLCAweDAwLAotCTB4OTIsIDB4QzAsIDB4MEEsIDB4QzEsIDB4RTcsIDB4NTcsIDB4RkYsIDB4RkYsCi0JMHhGQSwgMHgwNSwgMHgwRCwgMHhDMCwgMHhFNywgMHg1NywgMHgwMCwgMHgwMCwKLQkweEZBLCAweDA1LCAweDBGLCAweEMwLCAweDlGLCAweEFGLCAweEM2LCAweDAwLAotCTB4RTcsIDB4MDUsIDB4MDAsIDB4QzAsIDB4QzgsIDB4MDUsIDB4QzEsIDB4MDUsCi0JMHhDMCwgMHgwNSwgMHhDMCwgMHhERiwgMHg5NywgMHhDRiwgMHgyNywgMHhEQSwKLQkweEZBLCAweDA1LCAweEVGLCAweDA3LCAweDAxLCAweDAwLCAweDBCLCAweDA2LAotCTB4NzMsIDB4Q0YsIDB4OUYsIDB4QUYsIDB4NzgsIDB4MDEsIDB4OUYsIDB4QUYsCi0JMHgxQSwgMHgwMywgMHg2RSwgMHhDRiwgMHhFNywgMHgwOSwgMHhGQywgMHgwNSwKLQkweDI0LCAweDAxLCAweEU3LCAweDA5LCAweDAyLCAweDA2LCAweDI2LCAweDAxLAotCTB4RTcsIDB4MDcsIDB4MDcsIDB4MDAsIDB4OTIsIDB4QzAsIDB4RTcsIDB4MDksCi0JMHhGQywgMHgwNSwgMHhGRSwgMHgwNSwgMHhFNywgMHgwOSwgMHgwMiwgMHgwNiwKLQkweDA0LCAweDA2LCAweEU3LCAweDA5LCAweDAwLCAweDA2LCAweEZDLCAweDA1LAotCTB4RTcsIDB4MDksIDB4RkUsIDB4MDUsIDB4MDAsIDB4MDYsIDB4MjcsIDB4REEsCi0JMHhGQSwgMHgwNSwgMHhFNywgMHg1NywgMHgwMSwgMHgwMCwgMHhGQSwgMHgwNSwKLQkweDAyLCAweENBLCAweDA0LCAweEMwLCAweDk3LCAweENGLCAweDlGLCAweEFGLAotCTB4NjYsIDB4MDUsIDB4OTcsIDB4Q0YsIDB4RTcsIDB4MDcsIDB4NDAsIDB4MDAsCi0JMHgwMiwgMHgwNiwgMHhDOCwgMHgwOSwgMHhGQywgMHgwNSwgMHg5RiwgMHhBRiwKLQkweERBLCAweDAyLCAweDk3LCAweENGLCAweENGLCAweDE3LCAweDAyLCAweDAwLAotCTB4RUYsIDB4NTcsIDB4ODEsIDB4MDAsIDB4MDksIDB4MDYsIDB4OUYsIDB4QTAsCi0JMHhCNiwgMHgwMSwgMHhFRiwgMHg1NywgMHg4MCwgMHgwMCwgMHgwOSwgMHgwNiwKLQkweDlGLCAweEEwLCAweDQwLCAweDAyLCAweEVGLCAweDU3LCAweDAxLCAweDAwLAotCTB4MEIsIDB4MDYsIDB4OUYsIDB4QTAsIDB4NDYsIDB4MDMsIDB4RTcsIDB4MDcsCi0JMHgwMSwgMHgwMCwgMHgwQSwgMHhDMCwgMHg0NiwgMHhBRiwgMHg0NywgMHhBRiwKLQkweDlGLCAweEFGLCAweDQwLCAweDAyLCAweEU3LCAweDA3LCAweDJFLCAweDAwLAotCTB4MEEsIDB4QzAsIDB4RUYsIDB4ODcsIDB4ODAsIDB4MDAsIDB4MDksIDB4MDYsCi0JMHg5NywgMHhDRiwgMHgwMCwgMHgwRSwgMHgwMSwgMHgwMCwgMHhDMCwgMHg1NywKLQkweDUxLCAweDAwLCAweDlGLCAweEMwLCAweDlFLCAweDAyLCAweEMwLCAweDU3LAotCTB4NTAsIDB4MDAsIDB4MjAsIDB4QzAsIDB4QzAsIDB4NTcsIDB4NTUsIDB4MDAsCi0JMHgxMiwgMHhDMCwgMHhDMCwgMHg1NywgMHg1NiwgMHgwMCwgMHg5RiwgMHhDMCwKLQkweDcyLCAweDAyLCAweDlGLCAweENGLCAweEQ2LCAweDAyLCAweEMxLCAweDBCLAotCTB4MDgsIDB4MDYsIDB4MDEsIDB4RDAsIDB4NkYsIDB4OTAsIDB4MDgsIDB4MDYsCi0JMHhDMCwgMHgwNywgMHgwOCwgMHgwMCwgMHhDMSwgMHgwQiwgMHgwOCwgMHgwNiwKLQkweDlGLCAweEFGLCAweDI4LCAweDA1LCAweDk3LCAweENGLCAweDJGLCAweDBFLAotCTB4MDIsIDB4MDAsIDB4MDgsIDB4MDYsIDB4QzAsIDB4MDcsIDB4MDgsIDB4MDAsCi0JMHhDMSwgMHgwQiwgMHgwOCwgMHgwNiwgMHg5RiwgMHhBRiwgMHgyOCwgMHgwNSwKLQkweDlGLCAweENGLCAweEQ2LCAweDAyLCAweDJGLCAweDBFLCAweDAyLCAweDAwLAotCTB4MDksIDB4MDYsIDB4RUYsIDB4ODcsIDB4ODAsIDB4MDAsIDB4MDksIDB4MDYsCi0JMHg5RiwgMHhDRiwgMHhENiwgMHgwMiwgMHhFRiwgMHg2NywgMHg3RiwgMHhGRiwKLQkweDA5LCAweDA2LCAweEU3LCAweDY3LCAweEZGLCAweEZELCAweDIyLCAweEMwLAotCTB4RTcsIDB4NjcsIDB4RUYsIDB4RkYsIDB4MjQsIDB4QzAsIDB4RTcsIDB4ODcsCi0JMHgxMCwgMHgwMCwgMHgyOCwgMHhDMCwgMHg5RiwgMHhBRiwgMHhCOCwgMHgwNSwKLQkweEU3LCAweDg3LCAweEUwLCAweDIxLCAweDI0LCAweEMwLCAweDlGLCAweEFGLAotCTB4QTgsIDB4MDUsIDB4RTcsIDB4ODcsIDB4MDgsIDB4MDAsIDB4MjQsIDB4QzAsCi0JMHhFNywgMHg2NywgMHhERiwgMHhGRiwgMHgyNCwgMHhDMCwgMHhDOCwgMHgwNywKLQkweDBBLCAweDAwLCAweEMwLCAweDA3LCAweDAwLCAweDAwLCAweEMxLCAweDA3LAotCTB4MDEsIDB4MDAsIDB4OUYsIDB4QUYsIDB4MjgsIDB4MDUsIDB4OUYsIDB4QUYsCi0JMHhCOCwgMHgwNSwgMHhDMCwgMHgwNywgMHg5RSwgMHgwMCwgMHg5RiwgMHhBRiwKLQkweDQ0LCAweDA1LCAweEU3LCAweDY3LCAweEZGLCAweEZFLCAweDI0LCAweEMwLAotCTB4QzAsIDB4MDksIDB4MjAsIDB4QzAsIDB4RTcsIDB4ODcsIDB4MDAsIDB4MDEsCi0JMHgyNCwgMHhDMCwgMHhDMCwgMHg3NywgMHgwMCwgMHgwMiwgMHgwRiwgMHhDMSwKLQkweEU3LCAweDY3LCAweEY3LCAweEZGLCAweDI0LCAweEMwLCAweEU3LCAweDY3LAotCTB4RjcsIDB4RkYsIDB4MjQsIDB4QzAsIDB4RTcsIDB4ODcsIDB4MDgsIDB4MDAsCi0JMHgyNCwgMHhDMCwgMHgwOCwgMHhEQSwgMHg1RSwgMHhDMSwgMHhFRiwgMHgwNywKLQkweDgwLCAweDAwLCAweDA5LCAweDA2LCAweDk3LCAweENGLCAweEVGLCAweDA3LAotCTB4MDEsIDB4MDAsIDB4MEEsIDB4MDYsIDB4OTcsIDB4Q0YsIDB4RUYsIDB4MDcsCi0JMHgwMCwgMHgwMCwgMHgwQiwgMHgwNiwgMHhFRiwgMHgwNywgMHgwMCwgMHgwMCwKLQkweDBBLCAweDA2LCAweEVGLCAweDY3LCAweDdGLCAweEZGLCAweDA5LCAweDA2LAotCTB4RUYsIDB4MDcsIDB4MDAsIDB4MDAsIDB4MEQsIDB4MDYsIDB4RTcsIDB4NjcsCi0JMHhFRiwgMHhGRiwgMHgyOCwgMHhDMCwgMHhFNywgMHg2NywgMHgxNywgMHhEOCwKLQkweDI0LCAweEMwLCAweEU3LCAweDA3LCAweDAwLCAweDAwLCAweDFFLCAweEMwLAotCTB4RTcsIDB4MDcsIDB4RkYsIDB4RkYsIDB4MjIsIDB4QzAsIDB4OTcsIDB4Q0YsCi0JMHhDOCwgMHgwNywgMHgwRSwgMHgwNiwgMHg5RiwgMHhBRiwgMHhEQSwgMHgwMiwKLQkweEU3LCAweDA3LCAweDAwLCAweDAwLCAweEYyLCAweDA1LCAweEU3LCAweDA3LAotCTB4MTAsIDB4MDAsIDB4RjYsIDB4MDUsIDB4RTcsIDB4MDcsIDB4MEUsIDB4MDYsCi0JMHhGNCwgMHgwNSwgMHhFNywgMHgwNywgMHhENiwgMHgwMiwgMHhGOCwgMHgwNSwKLQkweEM4LCAweDA3LCAweEYyLCAweDA1LCAweEMxLCAweDA3LCAweDAwLCAweDgwLAotCTB4NTAsIDB4QUYsIDB4OTcsIDB4Q0YsIDB4MkYsIDB4MEMsIDB4MDIsIDB4MDAsCi0JMHgwNywgMHgwNiwgMHgyRiwgMHgwQywgMHgwNCwgMHgwMCwgMHgwNiwgMHgwNiwKLQkweEU3LCAweDA3LCAweDAwLCAweDAwLCAweEYyLCAweDA1LCAweEU3LCAweDA3LAotCTB4MTAsIDB4MDAsIDB4RjYsIDB4MDUsIDB4RTcsIDB4MDcsIDB4RTIsIDB4MDUsCi0JMHhGNCwgMHgwNSwgMHhFNywgMHgwNywgMHhDRSwgMHgwMiwgMHhGOCwgMHgwNSwKLQkweEM4LCAweDA3LCAweEYyLCAweDA1LCAweEMxLCAweDA3LCAweDAwLCAweDgwLAotCTB4NTEsIDB4QUYsIDB4OTcsIDB4Q0YsIDB4OUYsIDB4QUYsIDB4NjYsIDB4MDQsCi0JMHg5RiwgMHhBRiwgMHgxQSwgMHgwMywgMHg1OSwgMHhBRiwgMHg5NywgMHhDRiwKLQkweEMwLCAweDA3LCAweDBFLCAweDAwLCAweEMxLCAweDBCLCAweDBDLCAweDA2LAotCTB4NDEsIDB4RDEsIDB4OUYsIDB4QUYsIDB4MjgsIDB4MDUsIDB4QzAsIDB4MDcsCi0JMHgzQywgMHgwMCwgMHg5RiwgMHhBRiwgMHg0NCwgMHgwNSwgMHg2OCwgMHgwMCwKLQkweEMwLCAweDA3LCAweDNCLCAweDAwLCAweDlGLCAweEFGLCAweDQ0LCAweDA1LAotCTB4NkYsIDB4MDAsIDB4MEMsIDB4MDYsIDB4NjgsIDB4MDAsIDB4RTAsIDB4MDcsCi0JMHgwNCwgMHgwMSwgMHhFOCwgMHgwQiwgMHgwQSwgMHgwNiwgMHhFOCwgMHgwNywKLQkweDAwLCAweDAwLCAweEUwLCAweDA3LCAweDAwLCAweDAyLCAweEUwLCAweDA3LAotCTB4RUMsIDB4MDEsIDB4RTAsIDB4MDcsIDB4RkMsIDB4RkYsIDB4OTcsIDB4Q0YsCi0JMHhFNywgMHgwNywgMHhGRiwgMHhGRiwgMHhGQSwgMHgwNSwgMHhFRiwgMHgwNywKLQkweDAwLCAweDAwLCAweDBCLCAweDA2LCAweEU3LCAweDA3LCAweDBFLCAweDA2LAotCTB4MjQsIDB4MDEsIDB4RTcsIDB4MDcsIDB4MEUsIDB4MDYsIDB4RkUsIDB4MDUsCi0JMHhFNywgMHgwNywgMHg0MCwgMHgwMCwgMHgyNiwgMHgwMSwgMHhFNywgMHgwNywKLQkweDQwLCAweDAwLCAweDA0LCAweDA2LCAweEU3LCAweDA3LCAweDA3LCAweDAwLAotCTB4OTIsIDB4QzAsIDB4OTcsIDB4Q0YsIDB4RUYsIDB4MDcsIDB4MDIsIDB4MDAsCi0JMHgwQiwgMHgwNiwgMHg5RiwgMHhBRiwgMHg3OCwgMHgwMSwgMHhFRiwgMHg3NywKLQkweDgwLCAweDAwLCAweDA3LCAweDA2LCAweDlGLCAweEMwLCAweDE0LCAweDA0LAotCTB4RUYsIDB4NzcsIDB4MDEsIDB4MDAsIDB4MDcsIDB4MDYsIDB4MzcsIDB4QzAsCi0JMHhFRiwgMHg3NywgMHgwMSwgMHgwMCwgMHgwRCwgMHgwNiwgMHgwRiwgMHhDMSwKLQkweEVGLCAweDA3LCAweDAxLCAweDAwLCAweDBELCAweDA2LCAweEMwLCAweDA3LAotCTB4MDIsIDB4MDAsIDB4QzEsIDB4MDcsIDB4MzAsIDB4MDAsIDB4OUYsIDB4QUYsCi0JMHgyOCwgMHgwNSwgMHhDMCwgMHgwNywgMHgwMSwgMHgwMCwgMHhDMSwgMHgwNywKLQkweDAyLCAweDAwLCAweDlGLCAweEFGLCAweDI4LCAweDA1LCAweEM4LCAweDA3LAotCTB4RkYsIDB4NEYsIDB4OUYsIDB4QUYsIDB4QTgsIDB4MDUsIDB4QzAsIDB4MDcsCi0JMHgzOCwgMHgwMCwgMHg5RiwgMHhBRiwgMHg0NCwgMHgwNSwgMHhDMSwgMHg3NywKLQkweDAzLCAweDAwLCAweDAyLCAweEMxLCAweDA4LCAweERBLCAweDc1LCAweEMxLAotCTB4QzEsIDB4NzcsIDB4MDEsIDB4MDAsIDB4MEEsIDB4QzEsIDB4QzAsIDB4MDcsCi0JMHgwMSwgMHgwMCwgMHhDMSwgMHgwNywgMHgwMiwgMHgwMCwgMHg5RiwgMHhBRiwKLQkweDI4LCAweDA1LCAweEVGLCAweDA3LCAweDAxLCAweDAwLCAweDA2LCAweDA2LAotCTB4MkMsIDB4Q0YsIDB4QzAsIDB4MDcsIDB4MDEsIDB4MDAsIDB4QzEsIDB4MDcsCi0JMHgwNCwgMHgwMCwgMHg5RiwgMHhBRiwgMHgyOCwgMHgwNSwgMHhFRiwgMHgwNywKLQkweDAwLCAweDAwLCAweDA2LCAweDA2LCAweDIyLCAweENGLCAweEVGLCAweDA3LAotCTB4MDAsIDB4MDAsIDB4MEQsIDB4MDYsIDB4RUYsIDB4NTcsIDB4MDEsIDB4MDAsCi0JMHgwNiwgMHgwNiwgMHgxQiwgMHhDMCwgMHhDMCwgMHgwNywgMHgwMSwgMHgwMCwKLQkweEMxLCAweDA3LCAweDAxLCAweDAwLCAweDlGLCAweEFGLCAweDI4LCAweDA1LAotCTB4QzAsIDB4MDcsIDB4MDIsIDB4MDAsIDB4QzEsIDB4MDcsIDB4MzAsIDB4MDAsCi0JMHg5RiwgMHhBRiwgMHgyOCwgMHgwNSwgMHhDOCwgMHgwNywgMHhGRiwgMHg0RiwKLQkweDlGLCAweEFGLCAweEE4LCAweDA1LCAweEMwLCAweDA3LCAweDM4LCAweDAwLAotCTB4OUYsIDB4QUYsIDB4NDQsIDB4MDUsIDB4QzEsIDB4NjcsIDB4MDMsIDB4MDAsCi0JMHhDMSwgMHg1NywgMHgwMywgMHgwMCwgMHgwMiwgMHhDMCwgMHgwOCwgMHhEQSwKLQkweDczLCAweEMxLCAweEMwLCAweDA3LCAweDAyLCAweDAwLCAweEMxLCAweDA3LAotCTB4MTIsIDB4MDAsIDB4RUYsIDB4NTcsIDB4MDAsIDB4MDAsIDB4MDYsIDB4MDYsCi0JMHgwMiwgMHhDMCwgMHhDMSwgMHgwNywgMHgyMywgMHgwMCwgMHg5RiwgMHhBRiwKLQkweDI4LCAweDA1LCAweEMwLCAweDA3LCAweDE0LCAweDAwLCAweEMxLCAweDBCLAotCTB4RUEsIDB4MDUsIDB4OUYsIDB4QUYsIDB4MjgsIDB4MDUsIDB4QzAsIDB4MDcsCi0JMHgzRSwgMHgwMCwgMHg5RiwgMHhBRiwgMHgwQSwgMHgwNSwgMHhFNywgMHgwOSwKLQkweEU0LCAweDA1LCAweEZBLCAweDA1LCAweDI3LCAweEQ4LCAweEZBLCAweDA1LAotCTB4RTcsIDB4MDcsIDB4MEUsIDB4MDYsIDB4RkMsIDB4MDUsIDB4RTcsIDB4MDcsCi0JMHg0RSwgMHgwNiwgMHgwMCwgMHgwNiwgMHhFNywgMHgwNywgMHg0MCwgMHgwMCwKLQkweDAyLCAweDA2LCAweDlGLCAweEFGLCAweDY2LCAweDA1LCAweDlGLCAweEFGLAotCTB4QzYsIDB4MDAsIDB4OTcsIDB4Q0YsIDB4QzEsIDB4MEIsIDB4RTIsIDB4MDUsCi0JMHg0MSwgMHhEMCwgMHgwMSwgMHhEMiwgMHhDMSwgMHgxNywgMHgyMywgMHgwMCwKLQkweDlGLCAweEFGLCAweERDLCAweDA0LCAweEMwLCAweDA3LCAweDA0LCAweDAwLAotCTB4QzEsIDB4MEIsIDB4RTMsIDB4MDUsIDB4OUYsIDB4QUYsIDB4MjgsIDB4MDUsCi0JMHhDMCwgMHgwNywgMHgwNiwgMHgwMCwgMHhDMSwgMHgwOSwgMHhFNiwgMHgwNSwKLQkweDlGLCAweEFGLCAweDI4LCAweDA1LCAweEMwLCAweDA3LCAweDA3LCAweDAwLAotCTB4QzEsIDB4MDksIDB4RTYsIDB4MDUsIDB4QzEsIDB4RDEsIDB4OUYsIDB4QUYsCi0JMHgyOCwgMHgwNSwgMHhDMCwgMHgwNywgMHgwQiwgMHgwMCwgMHhDMSwgMHgwOSwKLQkweEU4LCAweDA1LCAweDlGLCAweEFGLCAweDI4LCAweDA1LCAweEMwLCAweDA3LAotCTB4MEMsIDB4MDAsIDB4QzEsIDB4MDksIDB4RTgsIDB4MDUsIDB4QzEsIDB4RDEsCi0JMHg5RiwgMHhBRiwgMHgyOCwgMHgwNSwgMHhDMCwgMHgwNywgMHgwRCwgMHgwMCwKLQkweEMxLCAweDA3LCAweDA5LCAweDAwLCAweDlGLCAweEFGLCAweDI4LCAweDA1LAotCTB4QzAsIDB4MDcsIDB4MDMsIDB4MDAsIDB4QzEsIDB4MDcsIDB4MzIsIDB4MDAsCi0JMHg5RiwgMHhBRiwgMHgyOCwgMHgwNSwgMHhDMCwgMHgwNywgMHgwRiwgMHgwMCwKLQkweEMxLCAweDA3LCAweDAwLCAweDAwLCAweDlGLCAweEFGLCAweDI4LCAweDA1LAotCTB4OTcsIDB4Q0YsIDB4RTcsIDB4NjcsIDB4RkYsIDB4RDksIDB4MjQsIDB4QzAsCi0JMHhDOCwgMHgwNywgMHgwQSwgMHgwMCwgMHg0MCwgMHgwMCwgMHhDMCwgMHg2NywKLQkweDAwLCAweDAyLCAweDI3LCAweDgwLCAweDI0LCAweEMwLCAweEU3LCAweDg3LAotCTB4MDAsIDB4MDQsIDB4MjQsIDB4QzAsIDB4RTcsIDB4NjcsIDB4RkYsIDB4RjksCi0JMHgyNCwgMHhDMCwgMHgwMSwgMHhEMiwgMHgwOCwgMHhEQSwgMHg3MiwgMHhDMSwKLQkweEU3LCAweDg3LCAweDAwLCAweDIwLCAweDI0LCAweEMwLCAweDk3LCAweENGLAotCTB4MjcsIDB4MDAsIDB4MUUsIDB4QzAsIDB4RTcsIDB4ODcsIDB4RkYsIDB4MDAsCi0JMHgyMiwgMHhDMCwgMHhFNywgMHg2NywgMHg3RiwgMHhGRiwgMHgyNCwgMHhDMCwKLQkweEU3LCAweDg3LCAweDgwLCAweDAwLCAweDI0LCAweEMwLCAweEU3LCAweDg3LAotCTB4ODAsIDB4MDAsIDB4MjQsIDB4QzAsIDB4OTcsIDB4Q0YsIDB4OUYsIDB4QUYsCi0JMHgwQSwgMHgwNSwgMHg2NywgMHgwMCwgMHgxRSwgMHhDMCwgMHhFNywgMHg2NywKLQkweEJGLCAweEZGLCAweDI0LCAweEMwLCAweEU3LCAweDg3LCAweDQwLCAweDAwLAotCTB4MjQsIDB4QzAsIDB4RTcsIDB4ODcsIDB4NDAsIDB4MDAsIDB4MjQsIDB4QzAsCi0JMHg5NywgMHhDRiwgMHg5RiwgMHhBRiwgMHgwQSwgMHgwNSwgMHhFNywgMHg2NywKLQkweDAwLCAweEZGLCAweDIyLCAweEMwLCAweEU3LCAweDY3LCAweEZGLCAweEZFLAotCTB4MjQsIDB4QzAsIDB4RTcsIDB4NjcsIDB4RkYsIDB4RkUsIDB4MjQsIDB4QzAsCi0JMHhDMSwgMHgwOSwgMHgyMCwgMHhDMCwgMHhFNywgMHg4NywgMHgwMCwgMHgwMSwKLQkweDI0LCAweEMwLCAweDk3LCAweENGLCAweEMwLCAweDA3LCAweDQwLCAweDAwLAotCTB4QzgsIDB4MDksIDB4RkMsIDB4MDUsIDB4RTcsIDB4NjcsIDB4MDAsIDB4RkYsCi0JMHgyMiwgMHhDMCwgMHhFNywgMHg2NywgMHhGRiwgMHhGRSwgMHgyNCwgMHhDMCwKLQkweEU3LCAweDY3LCAweEJGLCAweEZGLCAweDI0LCAweEMwLCAweEU3LCAweDY3LAotCTB4QkYsIDB4RkYsIDB4MjQsIDB4QzAsIDB4MDAsIDB4REEsIDB4RTgsIDB4MDksCi0JMHgyMCwgMHhDMCwgMHhFNywgMHg4NywgMHg0MCwgMHgwMCwgMHgyNCwgMHhDMCwKLQkweEU3LCAweDg3LCAweDQwLCAweDAwLCAweDI0LCAweEMwLCAweDAwLCAweERBLAotCTB4RTgsIDB4MDksIDB4MjAsIDB4QzAsIDB4NkQsIDB4QzEsIDB4RTcsIDB4ODcsCi0JMHgwMCwgMHgwMSwgMHgyNCwgMHhDMCwgMHg5NywgMHhDRiwgMHhFNywgMHgwNywKLQkweDMyLCAweDAwLCAweDEyLCAweEMwLCAweEU3LCAweDc3LCAweDAwLCAweDgwLAotCTB4MTIsIDB4QzAsIDB4N0MsIDB4QzAsIDB4OTcsIDB4Q0YsIDB4RTcsIDB4MDcsCi0JMHgyMCwgMHg0RSwgMHgxMiwgMHhDMCwgMHhFNywgMHg3NywgMHgwMCwgMHg4MCwKLQkweDEyLCAweEMwLCAweDdDLCAweEMwLCAweDk3LCAweENGLCAweDA5LCAweDAyLAotCTB4MTksIDB4MDAsIDB4MDEsIDB4MDEsIDB4MDAsIDB4ODAsIDB4OTYsIDB4MDksCi0JMHgwNCwgMHgwMCwgMHgwMCwgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLQkweDA3LCAweDA1LCAweDgxLCAweDAyLCAweDQwLCAweDAwLCAweDAwLCAweDAwLAotCTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0JMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLQkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotCTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0JMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLQkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotCTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0JMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLQkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotCTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0JMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLQkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotCTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0JMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLQkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotCTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0JMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLQkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotCTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0JMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLQkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotCTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi19OwotCi1zdGF0aWMgdW5zaWduZWQgY2hhciBzZXR1cDVbXSA9IHsKLQkweEI2LCAweEMzLCAweDJGLCAweDAxLCAweDAzLCAweDY0LCAweDBFLCAweDAwLAotCTB4MTQsIDB4MDAsIDB4MUEsIDB4MDAsIDB4MjAsIDB4MDAsIDB4MjYsIDB4MDAsCi0JMHg0QSwgMHgwMCwgMHg2NCwgMHgwMCwgMHg2QSwgMHgwMCwgMHg5MiwgMHgwMCwKLQkweDlBLCAweDAwLCAweEEwLCAweDAwLCAweEIyLCAweDAwLCAweEI4LCAweDAwLAotCTB4QkUsIDB4MDAsIDB4QzIsIDB4MDAsIDB4QzgsIDB4MDAsIDB4Q0UsIDB4MDAsCi0JMHhEQywgMHgwMCwgMHhEQSwgMHgwMCwgMHhFMiwgMHgwMCwgMHhFMCwgMHgwMCwKLQkweEU4LCAweDAwLCAweEU2LCAweDAwLCAweEVFLCAweDAwLCAweEVDLCAweDAwLAotCTB4RjIsIDB4MDAsIDB4RjgsIDB4MDAsIDB4MDIsIDB4MDEsIDB4MEEsIDB4MDEsCi0JMHgwRSwgMHgwMSwgMHgxMiwgMHgwMSwgMHgxRSwgMHgwMSwgMHgyMiwgMHgwMSwKLQkweDI4LCAweDAxLCAweDJDLCAweDAxLCAweDMyLCAweDAxLCAweDM2LCAweDAxLAotCTB4NDQsIDB4MDEsIDB4NTAsIDB4MDEsIDB4NUUsIDB4MDEsIDB4NzIsIDB4MDEsCi0JMHg3NiwgMHgwMSwgMHg3QSwgMHgwMSwgMHg4MCwgMHgwMSwgMHg4OCwgMHgwMSwKLQkweDhDLCAweDAxLCAweDk0LCAweDAxLCAweDlDLCAweDAxLCAweEEwLCAweDAxLAotCTB4QTQsIDB4MDEsIDB4QUEsIDB4MDEsIDB4QjAsIDB4MDEsIDB4QjQsIDB4MDEsCi0JMHhCQSwgMHgwMSwgMHhEMCwgMHgwMSwgMHhEQSwgMHgwMSwgMHhGNiwgMHgwMSwKLQkweEZBLCAweDAxLCAweDAyLCAweDAyLCAweDM0LCAweDAyLCAweDNDLCAweDAyLAotCTB4NDQsIDB4MDIsIDB4NEEsIDB4MDIsIDB4NTAsIDB4MDIsIDB4NTYsIDB4MDIsCi0JMHg3NCwgMHgwMiwgMHg3OCwgMHgwMiwgMHg3RSwgMHgwMiwgMHg4NCwgMHgwMiwKLQkweDhBLCAweDAyLCAweDg4LCAweDAyLCAweDkwLCAweDAyLCAweDhFLCAweDAyLAotCTB4OTQsIDB4MDIsIDB4QTIsIDB4MDIsIDB4QTgsIDB4MDIsIDB4QUUsIDB4MDIsCi0JMHhCNCwgMHgwMiwgMHhCQSwgMHgwMiwgMHhCOCwgMHgwMiwgMHhDMCwgMHgwMiwKLQkweEJFLCAweDAyLCAweEM0LCAweDAyLCAweEQwLCAweDAyLCAweEQ0LCAweDAyLAotCTB4RTAsIDB4MDIsIDB4RTYsIDB4MDIsIDB4RUUsIDB4MDIsIDB4RjgsIDB4MDIsCi0JMHhGQywgMHgwMiwgMHgwNiwgMHgwMywgMHgxRSwgMHgwMywgMHgyNCwgMHgwMywKLQkweDI4LCAweDAzLCAweDMwLCAweDAzLCAweDJFLCAweDAzLCAweDNDLCAweDAzLAotCTB4NEEsIDB4MDMsIDB4NEUsIDB4MDMsIDB4NTQsIDB4MDMsIDB4NTgsIDB4MDMsCi0JMHg1RSwgMHgwMywgMHg2NiwgMHgwMywgMHg2RSwgMHgwMywgMHg3QSwgMHgwMywKLQkweDg2LCAweDAzLCAweDhFLCAweDAzLCAweDk2LCAweDAzLCAweEIyLCAweDAzLAotCTB4QjgsIDB4MDMsIDB4QzYsIDB4MDMsIDB4Q0MsIDB4MDMsIDB4RDQsIDB4MDMsCi0JMHhEQSwgMHgwMywgMHhFOCwgMHgwMywgMHhGNCwgMHgwMywgMHhGQywgMHgwMywKLQkweDA0LCAweDA0LCAweDIwLCAweDA0LCAweDJBLCAweDA0LCAweDMyLCAweDA0LAotCTB4MzYsIDB4MDQsIDB4M0UsIDB4MDQsIDB4NDQsIDB4MDQsIDB4NDIsIDB4MDQsCi0JMHg0OCwgMHgwNCwgMHg0RSwgMHgwNCwgMHg0QywgMHgwNCwgMHg1NCwgMHgwNCwKLQkweDUyLCAweDA0LCAweDVBLCAweDA0LCAweDVFLCAweDA0LCAweDYyLCAweDA0LAotCTB4NjgsIDB4MDQsIDB4NzQsIDB4MDQsIDB4N0MsIDB4MDQsIDB4ODAsIDB4MDQsCi0JMHg4OCwgMHgwNCwgMHg4QywgMHgwNCwgMHg5NCwgMHgwNCwgMHg5QSwgMHgwNCwKLQkweEEyLCAweDA0LCAweEE2LCAweDA0LCAweEFFLCAweDA0LCAweEI0LCAweDA0LAotCTB4QzAsIDB4MDQsIDB4Q0MsIDB4MDQsIDB4RDgsIDB4MDQsIDB4MkEsIDB4MDUsCi0JMHg0NiwgMHgwNSwgMHg2QywgMHgwNSwgMHgwMCwgMHgwMAotfTsKLQogLyogcnZtYWxsb2MgLyBydmZyZWUgY29waWVkIGZyb20gdXNidmlkZW8uYwogICoKICAqIE5vdCBzdXJlIHdoeSB0aGVzZSBhcmUgbm90IHlldCBub24tc3RhdGljcyB3aGljaCBJIGNhbiByZWZlcmVuY2UgdGhyb3VnaApAQCAtNDY0LDI4ICsxODgsMjggQEAKIHN0YXRpYyBpbnQKIGluaXRpYWxpemVfY2FtZXJhKHN0cnVjdCB2aWNhbV9jYW1lcmEgKmNhbSkKIHsKLQljb25zdCBzdHJ1Y3QgewotCQl1OCAqZGF0YTsKLQkJdTMyIHNpemU7Ci0JfSBmaXJtd2FyZVtdID0gewotCQl7IC5kYXRhID0gc2V0dXAxLCAuc2l6ZSA9IHNpemVvZihzZXR1cDEpIH0sCi0JCXsgLmRhdGEgPSBzZXR1cDIsIC5zaXplID0gc2l6ZW9mKHNldHVwMikgfSwKLQkJeyAuZGF0YSA9IHNldHVwMywgLnNpemUgPSBzaXplb2Yoc2V0dXAzKSB9LAotCQl7IC5kYXRhID0gc2V0dXA0LCAuc2l6ZSA9IHNpemVvZihzZXR1cDQpIH0sCi0JCXsgLmRhdGEgPSBzZXR1cDUsIC5zaXplID0gc2l6ZW9mKHNldHVwNSkgfSwKLQkJeyAuZGF0YSA9IHNldHVwMywgLnNpemUgPSBzaXplb2Yoc2V0dXAzKSB9LAotCQl7IC5kYXRhID0gTlVMTCwgLnNpemUgPSAwIH0KLQl9OworCWludCBlcnI7CisJY29uc3Qgc3RydWN0IGloZXhfYmlucmVjICpyZWM7CisJY29uc3Qgc3RydWN0IGZpcm13YXJlICpmdzsKIAotCWludCBlcnIsIGk7CisJZXJyID0gcmVxdWVzdF9paGV4X2Zpcm13YXJlKCZmdywgInZpY2FtL2Zpcm13YXJlLmZ3IiwgJmNhbS0+dWRldi0+ZGV2KTsKKwlpZiAoZXJyKSB7CisJCXByaW50ayhLRVJOX0VSUiAiRmFpbGVkIHRvIGxvYWQgXCJ2aWNhbS9maXJtd2FyZS5md1wiOiAlZFxuIiwKKwkJICAgICAgIGVycik7CisJCXJldHVybiBlcnI7CisJfQogCi0JZm9yIChpID0gMCwgZXJyID0gMDsgZmlybXdhcmVbaV0uZGF0YSAmJiAhZXJyOyBpKyspIHsKLQkJbWVtY3B5KGNhbS0+Y250cmxidWYsIGZpcm13YXJlW2ldLmRhdGEsIGZpcm13YXJlW2ldLnNpemUpOworCWZvciAocmVjID0gKHZvaWQgKilmdy0+ZGF0YTsgcmVjOyByZWMgPSBpaGV4X25leHRfYmlucmVjKHJlYykpIHsKKwkJbWVtY3B5KGNhbS0+Y250cmxidWYsIHJlYy0+ZGF0YSwgYmUxNl90b19jcHUocmVjLT5sZW4pKTsKIAogCQllcnIgPSBzZW5kX2NvbnRyb2xfbXNnKGNhbSwgMHhmZiwgMCwgMCwKLQkJCQkgICAgICAgY2FtLT5jbnRybGJ1ZiwgZmlybXdhcmVbaV0uc2l6ZSk7CisJCQkJICAgICAgIGNhbS0+Y250cmxidWYsIGJlMTZfdG9fY3B1KHJlYy0+bGVuKSk7CisJCWlmIChlcnIpCisJCQlicmVhazsKIAl9CiAKKwlyZWxlYXNlX2Zpcm13YXJlKGZ3KTsKKwogCXJldHVybiBlcnI7CiB9CiAKQEAgLTEyMjYsMyArOTUwLDQgQEAKIE1PRFVMRV9BVVRIT1IoRFJJVkVSX0FVVEhPUik7CiBNT0RVTEVfREVTQ1JJUFRJT04oRFJJVkVSX0RFU0MpOwogTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOworTU9EVUxFX0ZJUk1XQVJFKCJ2aWNhbS9maXJtd2FyZS5mdyIpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS92aWRlby92aWRlb2Rldi5jIGIvZHJpdmVycy9tZWRpYS92aWRlby92aWRlb2Rldi5jCmluZGV4IDY3YTY2MWMuLjc2NDk4NjAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbWVkaWEvdmlkZW8vdmlkZW9kZXYuYworKysgYi9kcml2ZXJzL21lZGlhL3ZpZGVvL3ZpZGVvZGV2LmMKQEAgLTM2LDYgKzM2LDcgQEAKICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAjaW5jbHVkZSA8bGludXgva21vZC5oPgogI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGFzbS91YWNjZXNzLmg+CiAjaW5jbHVkZSA8YXNtL3N5c3RlbS5oPgogCkBAIC00NDIsNiArNDQzLDcgQEAKIAogCWlmKG1pbm9yPj1WSURFT19OVU1fREVWSUNFUykKIAkJcmV0dXJuIC1FTk9ERVY7CisJbG9ja19rZXJuZWwoKTsKIAltdXRleF9sb2NrKCZ2aWRlb2Rldl9sb2NrKTsKIAl2Zmw9dmlkZW9fZGV2aWNlW21pbm9yXTsKIAlpZih2Zmw9PU5VTEwpIHsKQEAgLTQ1MSw2ICs0NTMsNyBAQAogCQl2Zmw9dmlkZW9fZGV2aWNlW21pbm9yXTsKIAkJaWYgKHZmbD09TlVMTCkgewogCQkJbXV0ZXhfdW5sb2NrKCZ2aWRlb2Rldl9sb2NrKTsKKwkJCXVubG9ja19rZXJuZWwoKTsKIAkJCXJldHVybiAtRU5PREVWOwogCQl9CiAJfQpAQCAtNDY0LDYgKzQ2Nyw3IEBACiAJfQogCWZvcHNfcHV0KG9sZF9mb3BzKTsKIAltdXRleF91bmxvY2soJnZpZGVvZGV2X2xvY2spOworCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gZXJyOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL21lc3NhZ2UvZnVzaW9uL21wdGN0bC5jIGIvZHJpdmVycy9tZXNzYWdlL2Z1c2lvbi9tcHRjdGwuYwppbmRleCBlNjMwYjUwLi5jNTk0NjU2IDEwMDY0NAotLS0gYS9kcml2ZXJzL21lc3NhZ2UvZnVzaW9uL21wdGN0bC5jCisrKyBiL2RyaXZlcnMvbWVzc2FnZS9mdXNpb24vbXB0Y3RsLmMKQEAgLTU0OCwxMSArNTQ4LDE1IEBACiBtcHRjdGxfZmFzeW5jKGludCBmZCwgc3RydWN0IGZpbGUgKmZpbGVwLCBpbnQgbW9kZSkKIHsKIAlNUFRfQURBUFRFUgkqaW9jOworCWludCByZXQ7CiAKKwlsb2NrX2tlcm5lbCgpOwogCWxpc3RfZm9yX2VhY2hfZW50cnkoaW9jLCAmaW9jX2xpc3QsIGxpc3QpCiAJCWlvYy0+YWVuX2V2ZW50X3JlYWRfZmxhZz0wOwogCi0JcmV0dXJuIGZhc3luY19oZWxwZXIoZmQsIGZpbGVwLCBtb2RlLCAmYXN5bmNfcXVldWUpOworCXJldCA9IGZhc3luY19oZWxwZXIoZmQsIGZpbGVwLCBtb2RlLCAmYXN5bmNfcXVldWUpOworCXVubG9ja19rZXJuZWwoKTsKKwlyZXR1cm4gcmV0OwogfQogCiBzdGF0aWMgaW50CmRpZmYgLS1naXQgYS9kcml2ZXJzL21lc3NhZ2UvaTJvL2kyb19jb25maWcuYyBiL2RyaXZlcnMvbWVzc2FnZS9pMm8vaTJvX2NvbmZpZy5jCmluZGV4IGMwZmI3N2QuLjQyMzhkZTkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbWVzc2FnZS9pMm8vaTJvX2NvbmZpZy5jCisrKyBiL2RyaXZlcnMvbWVzc2FnZS9pMm8vaTJvX2NvbmZpZy5jCkBAIC0xMDYxLDYgKzEwNjEsNyBAQAogCWlmICghdG1wKQogCQlyZXR1cm4gLUVOT01FTTsKIAorCWxvY2tfa2VybmVsKCk7CiAJZmlsZS0+cHJpdmF0ZV9kYXRhID0gKHZvaWQgKikoaTJvX2NmZ19pbmZvX2lkKyspOwogCXRtcC0+ZnAgPSBmaWxlOwogCXRtcC0+ZmFzeW5jID0gTlVMTDsKQEAgLTEwNzQsNiArMTA3NSw3IEBACiAJc3Bpbl9sb2NrX2lycXNhdmUoJmkyb19jb25maWdfbG9jaywgZmxhZ3MpOwogCW9wZW5fZmlsZXMgPSB0bXA7CiAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmaTJvX2NvbmZpZ19sb2NrLCBmbGFncyk7CisJdW5sb2NrX2tlcm5lbCgpOwogCiAJcmV0dXJuIDA7CiB9CkBAIC0xMDgyLDE1ICsxMDg0LDE3IEBACiB7CiAJdWxvbmcgaWQgPSAodWxvbmcpIGZwLT5wcml2YXRlX2RhdGE7CiAJc3RydWN0IGkyb19jZmdfaW5mbyAqcDsKKwlpbnQgcmV0ID0gLUVCQURGOwogCisJbG9ja19rZXJuZWwoKTsKIAlmb3IgKHAgPSBvcGVuX2ZpbGVzOyBwOyBwID0gcC0+bmV4dCkKIAkJaWYgKHAtPnFfaWQgPT0gaWQpCiAJCQlicmVhazsKIAotCWlmICghcCkKLQkJcmV0dXJuIC1FQkFERjsKLQotCXJldHVybiBmYXN5bmNfaGVscGVyKGZkLCBmcCwgb24sICZwLT5mYXN5bmMpOworCWlmIChwKQorCQlyZXQgPSBmYXN5bmNfaGVscGVyKGZkLCBmcCwgb24sICZwLT5mYXN5bmMpOworCXVubG9ja19rZXJuZWwoKTsKKwlyZXR1cm4gcmV0OwogfQogCiBzdGF0aWMgaW50IGNmZ19yZWxlYXNlKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9taXNjL2F0bWVsX3B3bS5jIGIvZHJpdmVycy9taXNjL2F0bWVsX3B3bS5jCmluZGV4IDBkNWNlMDMuLjViNWExNGQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbWlzYy9hdG1lbF9wd20uYworKysgYi9kcml2ZXJzL21pc2MvYXRtZWxfcHdtLmMKQEAgLTMzMiw3ICszMzIsNyBAQAogCXAtPmJhc2UgPSBpb3JlbWFwKHItPnN0YXJ0LCByLT5lbmQgLSByLT5zdGFydCArIDEpOwogCWlmICghcC0+YmFzZSkKIAkJZ290byBmYWlsOwotCXAtPmNsayA9IGNsa19nZXQoJnBkZXYtPmRldiwgIm1jayIpOworCXAtPmNsayA9IGNsa19nZXQoJnBkZXYtPmRldiwgInB3bV9jbGsiKTsKIAlpZiAoSVNfRVJSKHAtPmNsaykpIHsKIAkJc3RhdHVzID0gUFRSX0VSUihwLT5jbGspOwogCQlwLT5jbGsgPSBOVUxMOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9taXNjL2hkcHVmdHJzL2hkcHVfY3B1c3RhdGUuYyBiL2RyaXZlcnMvbWlzYy9oZHB1ZnRycy9oZHB1X2NwdXN0YXRlLmMKaW5kZXggZmY1MWFiNi4uMTc2ZmU0ZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9taXNjL2hkcHVmdHJzL2hkcHVfY3B1c3RhdGUuYworKysgYi9kcml2ZXJzL21pc2MvaGRwdWZ0cnMvaGRwdV9jcHVzdGF0ZS5jCkBAIC0xNyw2ICsxNyw3IEBACiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CiAjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CiAjaW5jbHVkZSA8bGludXgvc3BpbmxvY2suaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L21pc2NkZXZpY2UuaD4KICNpbmNsdWRlIDxsaW51eC9wcm9jX2ZzLmg+CiAjaW5jbHVkZSA8bGludXgvaGRwdV9mZWF0dXJlcy5oPgpAQCAtMTUxLDcgKzE1MiwxMyBAQAogCiBzdGF0aWMgaW50IGNwdXN0YXRlX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCiB7Ci0JcmV0dXJuIGNwdXN0YXRlX2dldF9yZWYoKGZpbGUtPmZfZmxhZ3MgJiBPX0VYQ0wpKTsKKwlpbnQgcmV0OworCisJbG9ja19rZXJuZWwoKTsKKwlyZXQgPSBjcHVzdGF0ZV9nZXRfcmVmKChmaWxlLT5mX2ZsYWdzICYgT19FWENMKSk7CisJdW5sb2NrX2tlcm5lbCgpOworCisJcmV0dXJuIHJldDsKIH0KIAogc3RhdGljIGludCBjcHVzdGF0ZV9yZWxlYXNlKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9taXNjL3BoYW50b20uYyBiL2RyaXZlcnMvbWlzYy9waGFudG9tLmMKaW5kZXggNzFkMWM4NC4uMTg2MTYyNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9taXNjL3BoYW50b20uYworKysgYi9kcml2ZXJzL21pc2MvcGhhbnRvbS5jCkBAIC0yMiw2ICsyMiw3IEBACiAjaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+CiAjaW5jbHVkZSA8bGludXgvY2Rldi5oPgogI2luY2x1ZGUgPGxpbnV4L3BoYW50b20uaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogCiAjaW5jbHVkZSA8YXNtL2F0b21pYy5oPgogI2luY2x1ZGUgPGFzbS9pby5oPgpAQCAtMjEyLDEzICsyMTMsMTcgQEAKIAlzdHJ1Y3QgcGhhbnRvbV9kZXZpY2UgKmRldiA9IGNvbnRhaW5lcl9vZihpbm9kZS0+aV9jZGV2LAogCQkJc3RydWN0IHBoYW50b21fZGV2aWNlLCBjZGV2KTsKIAorCWxvY2tfa2VybmVsKCk7CiAJbm9uc2Vla2FibGVfb3Blbihpbm9kZSwgZmlsZSk7CiAKLQlpZiAobXV0ZXhfbG9ja19pbnRlcnJ1cHRpYmxlKCZkZXYtPm9wZW5fbG9jaykpCisJaWYgKG11dGV4X2xvY2tfaW50ZXJydXB0aWJsZSgmZGV2LT5vcGVuX2xvY2spKSB7CisJCXVubG9ja19rZXJuZWwoKTsKIAkJcmV0dXJuIC1FUkVTVEFSVFNZUzsKKwl9CiAKIAlpZiAoZGV2LT5vcGVuZWQpIHsKIAkJbXV0ZXhfdW5sb2NrKCZkZXYtPm9wZW5fbG9jayk7CisJCXVubG9ja19rZXJuZWwoKTsKIAkJcmV0dXJuIC1FSU5WQUw7CiAJfQogCkBAIC0yMjksNyArMjM0LDcgQEAKIAlhdG9taWNfc2V0KCZkZXYtPmNvdW50ZXIsIDApOwogCWRldi0+b3BlbmVkKys7CiAJbXV0ZXhfdW5sb2NrKCZkZXYtPm9wZW5fbG9jayk7Ci0KKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIDA7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWlzYy9zb255LWxhcHRvcC5jIGIvZHJpdmVycy9taXNjL3NvbnktbGFwdG9wLmMKaW5kZXggMDBlNDhlMi4uNjA3NzViZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9taXNjL3NvbnktbGFwdG9wLmMKKysrIGIvZHJpdmVycy9taXNjL3NvbnktbGFwdG9wLmMKQEAgLTQ2LDYgKzQ2LDcgQEAKICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KICNpbmNsdWRlIDxsaW51eC9tb2R1bGVwYXJhbS5oPgogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CiAjaW5jbHVkZSA8bGludXgvYmFja2xpZ2h0Lmg+CiAjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CkBAIC0xOTI3LDggKzE5MjgsMTAgQEAKIHN0YXRpYyBpbnQgc29ueXBpX21pc2Nfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKIHsKIAkvKiBGbHVzaCBpbnB1dCBxdWV1ZSBvbiBmaXJzdCBvcGVuICovCisJbG9ja19rZXJuZWwoKTsKIAlpZiAoYXRvbWljX2luY19yZXR1cm4oJnNvbnlwaV9jb21wYXQub3Blbl9jb3VudCkgPT0gMSkKIAkJa2ZpZm9fcmVzZXQoc29ueXBpX2NvbXBhdC5maWZvKTsKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIDA7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbW1jL2hvc3QvaW14bW1jLmMgYi9kcml2ZXJzL21tYy9ob3N0L2lteG1tYy5jCmluZGV4IDk1ZjMzZTguLmVlZDIxMWIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbW1jL2hvc3QvaW14bW1jLmMKKysrIGIvZHJpdmVycy9tbWMvaG9zdC9pbXhtbWMuYwpAQCAtNDIsNiArNDIsNyBAQAogI2luY2x1ZGUgPGxpbnV4L21tYy9ob3N0Lmg+CiAjaW5jbHVkZSA8bGludXgvbW1jL2NhcmQuaD4KICNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgorI2luY2x1ZGUgPGxpbnV4L2Nsay5oPgogCiAjaW5jbHVkZSA8YXNtL2RtYS5oPgogI2luY2x1ZGUgPGFzbS9pby5oPgpAQCAtOTIsNiArOTMsOCBAQAogCXVuc2lnbmVkIGNoYXIJCWFjdHVhbF9idXNfd2lkdGg7CiAKIAlpbnQJCQlwcmV2X2NtZF9jb2RlOworCisJc3RydWN0IGNsawkJKmNsazsKIH07CiAKICNkZWZpbmUgSU1YTUNJX1BFTkRfSVJRX2IJMApAQCAtODQxLDcgKzg0NCw3IEBACiAJCS8qIFRoZSBwcmVzY2FsZXIgaXMgNSBmb3IgUEVSQ0xLMiBlcXVhbCB0byA5Nk1IegogCQkgKiB0aGVuIDk2TUh6IC8gNSA9IDE5LjIgTUh6CiAJCSAqLwotCQljbGs9aW14X2dldF9wZXJjbGsyKCk7CisJCWNsayA9IGNsa19nZXRfcmF0ZShob3N0LT5jbGspOwogCQlwcmVzY2FsZXI9KGNsaysoQ0xLX1JBVEUqNykvOCkvQ0xLX1JBVEU7CiAJCXN3aXRjaChwcmVzY2FsZXIpIHsKIAkJY2FzZSAwOgpAQCAtOTk0LDYgKzk5NywxMyBAQAogCWhvc3QtPnJlcyA9IHI7CiAJaG9zdC0+aXJxID0gaXJxOwogCisJaG9zdC0+Y2xrID0gY2xrX2dldCgmcGRldi0+ZGV2LCAicGVyY2xrMiIpOworCWlmIChJU19FUlIoaG9zdC0+Y2xrKSkgeworCQlyZXQgPSBQVFJfRVJSKGhvc3QtPmNsayk7CisJCWdvdG8gb3V0OworCX0KKwljbGtfZW5hYmxlKGhvc3QtPmNsayk7CisKIAlpbXhfZ3Bpb19tb2RlKFBCOF9QRl9TRF9EQVQwKTsKIAlpbXhfZ3Bpb19tb2RlKFBCOV9QRl9TRF9EQVQxKTsKIAlpbXhfZ3Bpb19tb2RlKFBCMTBfUEZfU0RfREFUMik7CkBAIC0xMDE3LDggKzEwMjcsOCBAQAogCWhvc3QtPmltYXNrID0gSU1YTUNJX0lOVF9NQVNLX0RFRkFVTFQ7CiAJTU1DX0lOVF9NQVNLID0gaG9zdC0+aW1hc2s7CiAKLQotCWlmKGlteF9kbWFfcmVxdWVzdF9ieV9wcmlvKCZob3N0LT5kbWEsIERSSVZFUl9OQU1FLCBETUFfUFJJT19MT1cpPDApeworCWhvc3QtPmRtYSA9IGlteF9kbWFfcmVxdWVzdF9ieV9wcmlvKERSSVZFUl9OQU1FLCBETUFfUFJJT19MT1cpOworCWlmKGhvc3QtPmRtYSA8IDApIHsKIAkJZGV2X2VycihtbWNfZGV2KGhvc3QtPm1tYyksICJpbXhfZG1hX3JlcXVlc3RfYnlfcHJpbyBmYWlsZWRcbiIpOwogCQlyZXQgPSAtRUJVU1k7CiAJCWdvdG8gb3V0OwpAQCAtMTA1Myw2ICsxMDYzLDEwIEBACiAJCQlpbXhfZG1hX2ZyZWUoaG9zdC0+ZG1hKTsKIAkJCWhvc3QtPmRtYV9hbGxvY2F0ZWQ9MDsKIAkJfQorCQlpZiAoaG9zdC0+Y2xrKSB7CisJCQljbGtfZGlzYWJsZShob3N0LT5jbGspOworCQkJY2xrX3B1dChob3N0LT5jbGspOworCQl9CiAJfQogCWlmIChtbWMpCiAJCW1tY19mcmVlX2hvc3QobW1jKTsKQEAgLTEwODIsNiArMTA5Niw5IEBACiAKIAkJdGFza2xldF9raWxsKCZob3N0LT50YXNrbGV0KTsKIAorCQljbGtfZGlzYWJsZShob3N0LT5jbGspOworCQljbGtfcHV0KGhvc3QtPmNsayk7CisKIAkJcmVsZWFzZV9yZXNvdXJjZShob3N0LT5yZXMpOwogCiAJCW1tY19mcmVlX2hvc3QobW1jKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbXRkL2Z0bC5jIGIvZHJpdmVycy9tdGQvZnRsLmMKaW5kZXggNGE3OWIxOC4uNWMyOTg3MiAxMDA2NDQKLS0tIGEvZHJpdmVycy9tdGQvZnRsLmMKKysrIGIvZHJpdmVycy9tdGQvZnRsLmMKQEAgLTEzMCwxMCArMTMwLDYgQEAKICAgICB1X2ludDE2X3QJCURhdGFVbml0czsKICAgICB1X2ludDMyX3QJCUJsb2Nrc1BlclVuaXQ7CiAgICAgZXJhc2VfdW5pdF9oZWFkZXJfdAloZWFkZXI7Ci0jaWYgMAotICAgIHJlZ2lvbl9pbmZvX3QJcmVnaW9uOwotICAgIG1lbW9yeV9oYW5kbGVfdAloYW5kbGU7Ci0jZW5kaWYKIH0gcGFydGl0aW9uX3Q7CiAKIC8qIFBhcnRpdGlvbiBzdGF0ZSBmbGFncyAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9tdGQvbWFwcy9vbWFwX25vci5jIGIvZHJpdmVycy9tdGQvbWFwcy9vbWFwX25vci5jCmluZGV4IGMxMmQ4MDUuLjY4ZWVjNmMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbXRkL21hcHMvb21hcF9ub3IuYworKysgYi9kcml2ZXJzL210ZC9tYXBzL29tYXBfbm9yLmMKQEAgLTYwLDEzICs2MCwyMiBAQAogc3RhdGljIHZvaWQgb21hcF9zZXRfdnBwKHN0cnVjdCBtYXBfaW5mbyAqbWFwLCBpbnQgZW5hYmxlKQogewogCXN0YXRpYyBpbnQJY291bnQ7CisJdTMyIGw7CiAKLQlpZiAoZW5hYmxlKSB7Ci0JCWlmIChjb3VudCsrID09IDApCi0JCQlPTUFQX0VNSUZTX0NPTkZJR19SRUcgfD0gT01BUF9FTUlGU19DT05GSUdfV1A7Ci0JfSBlbHNlIHsKLQkJaWYgKGNvdW50ICYmICgtLWNvdW50ID09IDApKQotCQkJT01BUF9FTUlGU19DT05GSUdfUkVHICY9IH5PTUFQX0VNSUZTX0NPTkZJR19XUDsKKwlpZiAoY3B1X2NsYXNzX2lzX29tYXAxKCkpIHsKKwkJaWYgKGVuYWJsZSkgeworCQkJaWYgKGNvdW50KysgPT0gMCkgeworCQkJCWwgPSBvbWFwX3JlYWRsKEVNSUZTX0NPTkZJRyk7CisJCQkJbCB8PSBPTUFQX0VNSUZTX0NPTkZJR19XUDsKKwkJCQlvbWFwX3dyaXRlbChsLCBFTUlGU19DT05GSUcpOworCQkJfQorCQl9IGVsc2UgeworCQkJaWYgKGNvdW50ICYmICgtLWNvdW50ID09IDApKSB7CisJCQkJbCA9IG9tYXBfcmVhZGwoRU1JRlNfQ09ORklHKTsKKwkJCQlsICY9IH5PTUFQX0VNSUZTX0NPTkZJR19XUDsKKwkJCQlvbWFwX3dyaXRlbChsLCBFTUlGU19DT05GSUcpOworCQkJfQorCQl9CiAJfQogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL210ZC9tYXBzL3BjbWNpYW10ZC5jIGIvZHJpdmVycy9tdGQvbWFwcy9wY21jaWFtdGQuYwppbmRleCAxOTEyZDk2Li4wY2MzMTY3NSAxMDA2NDQKLS0tIGEvZHJpdmVycy9tdGQvbWFwcy9wY21jaWFtdGQuYworKysgYi9kcml2ZXJzL210ZC9tYXBzL3BjbWNpYW10ZC5jCkBAIC00OTgsMTcgKzQ5OCwxNCBAQAogCWludCBpOwogCWNvbmZpZ19pbmZvX3QgdDsKIAlzdGF0aWMgY2hhciAqcHJvYmVzW10gPSB7ICJqZWRlY19wcm9iZSIsICJjZmlfcHJvYmUiIH07Ci0JY2lzaW5mb190IGNpc2luZm87CiAJaW50IG5ld19uYW1lID0gMDsKIAogCURFQlVHKDMsICJsaW5rPTB4JXAiLCBsaW5rKTsKIAogCURFQlVHKDIsICJWYWxpZGF0aW5nIENJUyIpOwotCXJldCA9IHBjbWNpYV92YWxpZGF0ZV9jaXMobGluaywgJmNpc2luZm8pOworCXJldCA9IHBjbWNpYV92YWxpZGF0ZV9jaXMobGluaywgTlVMTCk7CiAJaWYocmV0ICE9IENTX1NVQ0NFU1MpIHsKIAkJY3NfZXJyb3IobGluaywgR2V0VHVwbGVEYXRhLCByZXQpOwotCX0gZWxzZSB7Ci0JCURFQlVHKDIsICJWYWxpZGF0ZUNJUyBmb3VuZCAlZCBjaGFpbnMiLCBjaXNpbmZvLkNoYWlucyk7CiAJfQogCiAJY2FyZF9zZXR0aW5ncyhkZXYsIGxpbmssICZuZXdfbmFtZSk7CkBAIC01NjMsOSArNTYwLDcgQEAKIAlERUJVRygxLCAiQWxsb2NhdGVkIGEgd2luZG93IG9mICVkS2lCIiwgZGV2LT53aW5fc2l6ZSA+PiAxMCk7CiAKIAkvKiBHZXQgd3JpdGUgcHJvdGVjdCBzdGF0dXMgKi8KLQlDU19DSEVDSyhHZXRTdGF0dXMsIHBjbWNpYV9nZXRfc3RhdHVzKGxpbmssICZzdGF0dXMpKTsKLQlERUJVRygyLCAic3RhdHVzIHZhbHVlOiAweCV4IHdpbmRvdyBoYW5kbGUgPSAweCU4LjhseCIsCi0JICAgICAgc3RhdHVzLkNhcmRTdGF0ZSwgKHVuc2lnbmVkIGxvbmcpbGluay0+d2luKTsKKwlERUJVRygyLCAid2luZG93IGhhbmRsZSA9IDB4JTguOGx4IiwgKHVuc2lnbmVkIGxvbmcpbGluay0+d2luKTsKIAlkZXYtPndpbl9iYXNlID0gaW9yZW1hcChyZXEuQmFzZSwgcmVxLlNpemUpOwogCWlmKCFkZXYtPndpbl9iYXNlKSB7CiAJCWVycigiaW9yZW1hcCglbHUsICV1KSBmYWlsZWQiLCByZXEuQmFzZSwgcmVxLlNpemUpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9tdGQvbXRkY2hhci5jIGIvZHJpdmVycy9tdGQvbXRkY2hhci5jCmluZGV4IDVkM2FjNTEuLjEyOWQ0MjkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbXRkL210ZGNoYXIuYworKysgYi9kcml2ZXJzL210ZC9tdGRjaGFyLmMKQEAgLTE0LDYgKzE0LDcgQEAKICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KICNpbmNsdWRlIDxsaW51eC9zbGFiLmg+CiAjaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogCiAjaW5jbHVkZSA8bGludXgvbXRkL210ZC5oPgogI2luY2x1ZGUgPGxpbnV4L210ZC9jb21wYXRtYWMuaD4KQEAgLTg2LDYgKzg3LDcgQEAKIHsKIAlpbnQgbWlub3IgPSBpbWlub3IoaW5vZGUpOwogCWludCBkZXZudW0gPSBtaW5vciA+PiAxOworCWludCByZXQgPSAwOwogCXN0cnVjdCBtdGRfaW5mbyAqbXRkOwogCXN0cnVjdCBtdGRfZmlsZV9pbmZvICptZmk7CiAKQEAgLTk4LDMxICsxMDAsMzkgQEAKIAlpZiAoKGZpbGUtPmZfbW9kZSAmIDIpICYmIChtaW5vciAmIDEpKQogCQlyZXR1cm4gLUVBQ0NFUzsKIAorCWxvY2tfa2VybmVsKCk7CiAJbXRkID0gZ2V0X210ZF9kZXZpY2UoTlVMTCwgZGV2bnVtKTsKIAotCWlmIChJU19FUlIobXRkKSkKLQkJcmV0dXJuIFBUUl9FUlIobXRkKTsKKwlpZiAoSVNfRVJSKG10ZCkpIHsKKwkJcmV0ID0gUFRSX0VSUihtdGQpOworCQlnb3RvIG91dDsKKwl9CiAKIAlpZiAoTVREX0FCU0VOVCA9PSBtdGQtPnR5cGUpIHsKIAkJcHV0X210ZF9kZXZpY2UobXRkKTsKLQkJcmV0dXJuIC1FTk9ERVY7CisJCXJldCA9IC1FTk9ERVY7CisJCWdvdG8gb3V0OwogCX0KIAogCS8qIFlvdSBjYW4ndCBvcGVuIGl0IFJXIGlmIGl0J3Mgbm90IGEgd3JpdGVhYmxlIGRldmljZSAqLwogCWlmICgoZmlsZS0+Zl9tb2RlICYgMikgJiYgIShtdGQtPmZsYWdzICYgTVREX1dSSVRFQUJMRSkpIHsKIAkJcHV0X210ZF9kZXZpY2UobXRkKTsKLQkJcmV0dXJuIC1FQUNDRVM7CisJCXJldCA9IC1FQUNDRVM7CisJCWdvdG8gb3V0OwogCX0KIAogCW1maSA9IGt6YWxsb2Moc2l6ZW9mKCptZmkpLCBHRlBfS0VSTkVMKTsKIAlpZiAoIW1maSkgewogCQlwdXRfbXRkX2RldmljZShtdGQpOwotCQlyZXR1cm4gLUVOT01FTTsKKwkJcmV0ID0gLUVOT01FTTsKKwkJZ290byBvdXQ7CiAJfQogCW1maS0+bXRkID0gbXRkOwogCWZpbGUtPnByaXZhdGVfZGF0YSA9IG1maTsKIAotCXJldHVybiAwOworb3V0OgorCXVubG9ja19rZXJuZWwoKTsKKwlyZXR1cm4gcmV0OwogfSAvKiBtdGRfb3BlbiAqLwogCiAvKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvbXRkL25hbmQvb3Jpb25fbmFuZC5jIGIvZHJpdmVycy9tdGQvbmFuZC9vcmlvbl9uYW5kLmMKaW5kZXggNTllMDVhMS4uZWUyYWMzOSAxMDA2NDQKLS0tIGEvZHJpdmVycy9tdGQvbmFuZC9vcmlvbl9uYW5kLmMKKysrIGIvZHJpdmVycy9tdGQvbmFuZC9vcmlvbl9uYW5kLmMKQEAgLTg1LDYgKzg1LDkgQEAKIAluYy0+Y21kX2N0cmwgPSBvcmlvbl9uYW5kX2NtZF9jdHJsOwogCW5jLT5lY2MubW9kZSA9IE5BTkRfRUNDX1NPRlQ7CiAKKwlpZiAoYm9hcmQtPmNoaXBfZGVsYXkpCisJCW5jLT5jaGlwX2RlbGF5ID0gYm9hcmQtPmNoaXBfZGVsYXk7CisKIAlpZiAoYm9hcmQtPndpZHRoID09IDE2KQogCQluYy0+b3B0aW9ucyB8PSBOQU5EX0JVU1dJRFRIXzE2OwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL210ZC91YmkvY2Rldi5jIGIvZHJpdmVycy9tdGQvdWJpL2NkZXYuYwppbmRleCA5ZDZhYWU1Li44OTE5M2JhIDEwMDY0NAotLS0gYS9kcml2ZXJzL210ZC91YmkvY2Rldi5jCisrKyBiL2RyaXZlcnMvbXRkL3ViaS9jZGV2LmMKQEAgLTM5LDYgKzM5LDcgQEAKICNpbmNsdWRlIDxsaW51eC9zdGF0Lmg+CiAjaW5jbHVkZSA8bGludXgvaW9jdGwuaD4KICNpbmNsdWRlIDxsaW51eC9jYXBhYmlsaXR5Lmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxtdGQvdWJpLXVzZXIuaD4KICNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgogI2luY2x1ZGUgPGFzbS9kaXY2NC5oPgpAQCAtMTAzLDkgKzEwNCwxMiBAQAogCXN0cnVjdCB1Ymlfdm9sdW1lX2Rlc2MgKmRlc2M7CiAJaW50IHZvbF9pZCA9IGltaW5vcihpbm9kZSkgLSAxLCBtb2RlLCB1YmlfbnVtOwogCisJbG9ja19rZXJuZWwoKTsKIAl1YmlfbnVtID0gdWJpX21ham9yMm51bShpbWFqb3IoaW5vZGUpKTsKLQlpZiAodWJpX251bSA8IDApCisJaWYgKHViaV9udW0gPCAwKSB7CisJCXVubG9ja19rZXJuZWwoKTsKIAkJcmV0dXJuIHViaV9udW07CisJfQogCiAJaWYgKGZpbGUtPmZfbW9kZSAmIEZNT0RFX1dSSVRFKQogCQltb2RlID0gVUJJX1JFQURXUklURTsKQEAgLTExNSw2ICsxMTksNyBAQAogCWRiZ19tc2coIm9wZW4gdm9sdW1lICVkLCBtb2RlICVkIiwgdm9sX2lkLCBtb2RlKTsKIAogCWRlc2MgPSB1Ymlfb3Blbl92b2x1bWUodWJpX251bSwgdm9sX2lkLCBtb2RlKTsKKwl1bmxvY2tfa2VybmVsKCk7CiAJaWYgKElTX0VSUihkZXNjKSkKIAkJcmV0dXJuIFBUUl9FUlIoZGVzYyk7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L0tjb25maWcgYi9kcml2ZXJzL25ldC9LY29uZmlnCmluZGV4IGY0MTgyY2YuLjQ1YTQxYjUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L0tjb25maWcKKysrIGIvZHJpdmVycy9uZXQvS2NvbmZpZwpAQCAtMjE3LDcgKzIxNyw3IEBACiAKIGNvbmZpZyBNQUNCCiAJdHJpc3RhdGUgIkF0bWVsIE1BQ0Igc3VwcG9ydCIKLQlkZXBlbmRzIG9uIEFWUjMyIHx8IEFSQ0hfQVQ5MVNBTTkyNjAgfHwgQVJDSF9BVDkxU0FNOTI2MyB8fCBBUkNIX0FUOTFDQVA5CisJZGVwZW5kcyBvbiBBVlIzMiB8fCBBUkNIX0FUOTFTQU05MjYwIHx8IEFSQ0hfQVQ5MVNBTTkyNjMgfHwgQVJDSF9BVDkxU0FNOUcyMCB8fCBBUkNIX0FUOTFDQVA5CiAJc2VsZWN0IFBIWUxJQgogCWhlbHAKIAkgIFRoZSBBdG1lbCBNQUNCIGV0aGVybmV0IGludGVyZmFjZSBpcyBmb3VuZCBvbiBtYW55IEFUMzIgYW5kIEFUOTEKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2FybS9ldGhlcmguYyBiL2RyaXZlcnMvbmV0L2FybS9ldGhlcmguYwppbmRleCAwMDA4MWQyLi5lOWQxNWVjIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9hcm0vZXRoZXJoLmMKKysrIGIvZHJpdmVycy9uZXQvYXJtL2V0aGVyaC5jCkBAIC02NDcsNyArNjQ3LDcgQEAKIAlzdHJ1Y3QgZWlfZGV2aWNlICplaV9sb2NhbDsKIAlzdHJ1Y3QgbmV0X2RldmljZSAqZGV2OwogCXN0cnVjdCBldGhlcmhfcHJpdiAqZWg7Ci0JaW50IGksIHJldDsKKwlpbnQgcmV0OwogCURFQ0xBUkVfTUFDX0JVRihtYWMpOwogCiAJZXRoZXJoX2Jhbm5lcigpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvY3hnYjMvY29tbW9uLmggYi9kcml2ZXJzL25ldC9jeGdiMy9jb21tb24uaAppbmRleCA1NzliZWU0Li44ZThlYmQ3IDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9jeGdiMy9jb21tb24uaAorKysgYi9kcml2ZXJzL25ldC9jeGdiMy9jb21tb24uaApAQCAtNjg2LDggKzY4Niw5IEBACiBpbnQgdDNfc2VlcHJvbV93cChzdHJ1Y3QgYWRhcHRlciAqYWRhcHRlciwgaW50IGVuYWJsZSk7CiBpbnQgdDNfZ2V0X3RwX3ZlcnNpb24oc3RydWN0IGFkYXB0ZXIgKmFkYXB0ZXIsIHUzMiAqdmVycyk7CiBpbnQgdDNfY2hlY2tfdHBzcmFtX3ZlcnNpb24oc3RydWN0IGFkYXB0ZXIgKmFkYXB0ZXIsIGludCAqbXVzdF9sb2FkKTsKLWludCB0M19jaGVja190cHNyYW0oc3RydWN0IGFkYXB0ZXIgKmFkYXB0ZXIsIHU4ICp0cF9yYW0sIHVuc2lnbmVkIGludCBzaXplKTsKLWludCB0M19zZXRfcHJvdG9fc3JhbShzdHJ1Y3QgYWRhcHRlciAqYWRhcCwgdTggKmRhdGEpOworaW50IHQzX2NoZWNrX3Rwc3JhbShzdHJ1Y3QgYWRhcHRlciAqYWRhcHRlciwgY29uc3QgdTggKnRwX3JhbSwKKwkJICAgIHVuc2lnbmVkIGludCBzaXplKTsKK2ludCB0M19zZXRfcHJvdG9fc3JhbShzdHJ1Y3QgYWRhcHRlciAqYWRhcCwgY29uc3QgdTggKmRhdGEpOwogaW50IHQzX3JlYWRfZmxhc2goc3RydWN0IGFkYXB0ZXIgKmFkYXB0ZXIsIHVuc2lnbmVkIGludCBhZGRyLAogCQkgIHVuc2lnbmVkIGludCBud29yZHMsIHUzMiAqZGF0YSwgaW50IGJ5dGVfb3JpZW50ZWQpOwogaW50IHQzX2xvYWRfZncoc3RydWN0IGFkYXB0ZXIgKmFkYXB0ZXIsIGNvbnN0IHU4ICogZndfZGF0YSwgdW5zaWduZWQgaW50IHNpemUpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvY3hnYjMvY3hnYjNfY3RsX2RlZnMuaCBiL2RyaXZlcnMvbmV0L2N4Z2IzL2N4Z2IzX2N0bF9kZWZzLmgKaW5kZXggNmM0ZjMyMC4uZWQwZWNkOSAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvY3hnYjMvY3hnYjNfY3RsX2RlZnMuaAorKysgYi9kcml2ZXJzL25ldC9jeGdiMy9jeGdiM19jdGxfZGVmcy5oCkBAIC01NCw2ICs1NCw3IEBACiAJUkRNQV9DUV9ESVNBQkxFCQk9IDE2LAogCVJETUFfQ1RSTF9RUF9TRVRVUAk9IDE3LAogCVJETUFfR0VUX01FTQkJPSAxOCwKKwlSRE1BX0dFVF9NSUIJCT0gMTksCiAKIAlHRVRfUlhfUEFHRV9JTkZPCT0gNTAsCiB9OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvY3hnYjMvY3hnYjNfb2ZmbG9hZC5jIGIvZHJpdmVycy9uZXQvY3hnYjMvY3hnYjNfb2ZmbG9hZC5jCmluZGV4IGZmOWMwMTMuLmNmMjY5NjggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2N4Z2IzL2N4Z2IzX29mZmxvYWQuYworKysgYi9kcml2ZXJzL25ldC9jeGdiMy9jeGdiM19vZmZsb2FkLmMKQEAgLTMwMyw2ICszMDMsMTIgQEAKIAkJc3Bpbl91bmxvY2tfaXJxKCZhZGFwdGVyLT5zZ2UucmVnX2xvY2spOwogCQlicmVhazsKIAl9CisJY2FzZSBSRE1BX0dFVF9NSUI6IHsKKwkJc3Bpbl9sb2NrKCZhZGFwdGVyLT5zdGF0c19sb2NrKTsKKwkJdDNfdHBfZ2V0X21pYl9zdGF0cyhhZGFwdGVyLCAoc3RydWN0IHRwX21pYl9zdGF0cyAqKWRhdGEpOworCQlzcGluX3VubG9jaygmYWRhcHRlci0+c3RhdHNfbG9jayk7CisJCWJyZWFrOworCX0KIAlkZWZhdWx0OgogCQlyZXQgPSAtRU9QTk9UU1VQUDsKIAl9CkBAIC0zODEsNiArMzg3LDcgQEAKIAljYXNlIFJETUFfQ1FfRElTQUJMRToKIAljYXNlIFJETUFfQ1RSTF9RUF9TRVRVUDoKIAljYXNlIFJETUFfR0VUX01FTToKKwljYXNlIFJETUFfR0VUX01JQjoKIAkJaWYgKCFvZmZsb2FkX3J1bm5pbmcoYWRhcHRlcikpCiAJCQlyZXR1cm4gLUVBR0FJTjsKIAkJcmV0dXJuIGN4Z2JfcmRtYV9jdGwoYWRhcHRlciwgcmVxLCBkYXRhKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2N4Z2IzL3QzX2h3LmMgYi9kcml2ZXJzL25ldC9jeGdiMy90M19ody5jCmluZGV4IGQ0MDVhOTMuLjQ3ZDUxNzggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2N4Z2IzL3QzX2h3LmMKKysrIGIvZHJpdmVycy9uZXQvY3hnYjMvdDNfaHcuYwpAQCAtOTIzLDcgKzkyMyw4IEBACiAgKglDaGVja3MgaWYgYW4gYWRhcHRlcidzIHRwIHNyYW0gaXMgY29tcGF0aWJsZSB3aXRoIHRoZSBkcml2ZXIuCiAgKglSZXR1cm5zIDAgaWYgdGhlIHZlcnNpb25zIGFyZSBjb21wYXRpYmxlLCBhIG5lZ2F0aXZlIGVycm9yIG90aGVyd2lzZS4KICAqLwotaW50IHQzX2NoZWNrX3Rwc3JhbShzdHJ1Y3QgYWRhcHRlciAqYWRhcHRlciwgdTggKnRwX3NyYW0sIHVuc2lnbmVkIGludCBzaXplKQoraW50IHQzX2NoZWNrX3Rwc3JhbShzdHJ1Y3QgYWRhcHRlciAqYWRhcHRlciwgY29uc3QgdTggKnRwX3NyYW0sCisJCSAgICB1bnNpZ25lZCBpbnQgc2l6ZSkKIHsKIAl1MzIgY3N1bTsKIAl1bnNpZ25lZCBpbnQgaTsKQEAgLTI4NzUsMTAgKzI4NzYsMTAgQEAKICAqCiAgKglXcml0ZSB0aGUgY29udGVudHMgb2YgdGhlIHByb3RvY29sIFNSQU0uCiAgKi8KLWludCB0M19zZXRfcHJvdG9fc3JhbShzdHJ1Y3QgYWRhcHRlciAqYWRhcCwgdTggKmRhdGEpCitpbnQgdDNfc2V0X3Byb3RvX3NyYW0oc3RydWN0IGFkYXB0ZXIgKmFkYXAsIGNvbnN0IHU4ICpkYXRhKQogewogCWludCBpOwotCV9fYmUzMiAqYnVmID0gKF9fYmUzMiAqKWRhdGE7CisJY29uc3QgX19iZTMyICpidWYgPSAoY29uc3QgX19iZTMyICopZGF0YTsKIAogCWZvciAoaSA9IDA7IGkgPCBQUk9UT19TUkFNX0xJTkVTOyBpKyspIHsKIAkJdDNfd3JpdGVfcmVnKGFkYXAsIEFfVFBfRU1CRURfT1BfRklFTEQ1LCBiZTMyX3RvX2NwdSgqYnVmKyspKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2N4Z2IzL3ZlcnNpb24uaCBiL2RyaXZlcnMvbmV0L2N4Z2IzL3ZlcnNpb24uaAppbmRleCBhMDE3N2ZjLi4yOWRiNzExIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9jeGdiMy92ZXJzaW9uLmgKKysrIGIvZHJpdmVycy9uZXQvY3hnYjMvdmVyc2lvbi5oCkBAIC0zOCw3ICszOCw3IEBACiAjZGVmaW5lIERSVl9WRVJTSU9OICIxLjAta28iCiAKIC8qIEZpcm13YXJlIHZlcnNpb24gKi8KLSNkZWZpbmUgRldfVkVSU0lPTl9NQUpPUiA2CisjZGVmaW5lIEZXX1ZFUlNJT05fTUFKT1IgNwogI2RlZmluZSBGV19WRVJTSU9OX01JTk9SIDAKICNkZWZpbmUgRldfVkVSU0lPTl9NSUNSTyAwCiAjZW5kaWYJCQkJLyogX19DSEVMU0lPX1ZFUlNJT05fSCAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvaXJkYS9pcmRhLXVzYi5jIGIvZHJpdmVycy9uZXQvaXJkYS9pcmRhLXVzYi5jCmluZGV4IDZmNTBlZDcuLjE4YjQ3MWMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2lyZGEvaXJkYS11c2IuYworKysgYi9kcml2ZXJzL25ldC9pcmRhL2lyZGEtdXNiLmMKQEAgLTEwMjQsNyArMTAyNCw3IEBACiAgKiAgIFVwbG9hZCBmaXJtd2FyZSBjb2RlIHRvIFNpZ21hVGVsIDQyMVggSVJEQS1VU0IgZG9uZ2xlCiAgKi8KIHN0YXRpYyBpbnQgc3RpcjQyMXhfZndfdXBsb2FkKHN0cnVjdCBpcmRhX3VzYl9jYiAqc2VsZiwKLQkJCSAgICAgdW5zaWduZWQgY2hhciAqcGF0Y2gsCisJCQkgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnBhdGNoLAogCQkJICAgICBjb25zdCB1bnNpZ25lZCBpbnQgcGF0Y2hfbGVuKQogewogICAgICAgICBpbnQgcmV0ID0gLUVOT01FTTsKQEAgLTEwNzMsMTEgKzEwNzMsMTEgQEAKICAgKi8KIHN0YXRpYyBpbnQgc3RpcjQyMXhfcGF0Y2hfZGV2aWNlKHN0cnVjdCBpcmRhX3VzYl9jYiAqc2VsZikKIHsKLSAgICAgICAgdW5zaWduZWQgaW50IGk7Ci0gICAgICAgIGludCByZXQ7Ci0gICAgICAgIGNoYXIgc3RpcjQyMXhfZndfbmFtZVsxMV07Ci0gICAgICAgIGNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqZnc7Ci0gICAgICAgIHVuc2lnbmVkIGNoYXIgKmZ3X3ZlcnNpb25fcHRyOyAvKiBwb2ludGVyIHRvIHZlcnNpb24gc3RyaW5nICovCisJdW5zaWduZWQgaW50IGk7CisJaW50IHJldDsKKwljaGFyIHN0aXI0MjF4X2Z3X25hbWVbMTFdOworCWNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqZnc7CisJY29uc3QgdW5zaWduZWQgY2hhciAqZndfdmVyc2lvbl9wdHI7IC8qIHBvaW50ZXIgdG8gdmVyc2lvbiBzdHJpbmcgKi8KIAl1bnNpZ25lZCBsb25nIGZ3X3ZlcnNpb24gPSAwOwogCiAgICAgICAgIC8qCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9pcmRhL3B4YWZpY3BfaXIuYyBiL2RyaXZlcnMvbmV0L2lyZGEvcHhhZmljcF9pci5jCmluZGV4IGQ1YzJkMjcuLmY3NmIwYjZjIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9pcmRhL3B4YWZpY3BfaXIuYworKysgYi9kcml2ZXJzL25ldC9pcmRhL3B4YWZpY3BfaXIuYwpAQCAtMTMsMTYgKzEzLDggQEAKICAqCiAgKi8KICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KLSNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgotI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KLSNpbmNsdWRlIDxsaW51eC9lcnJuby5oPgogI2luY2x1ZGUgPGxpbnV4L25ldGRldmljZS5oPgotI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KLSNpbmNsdWRlIDxsaW51eC9ydG5ldGxpbmsuaD4KLSNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KLSNpbmNsdWRlIDxsaW51eC9kbWEtbWFwcGluZy5oPgogI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgotI2luY2x1ZGUgPGxpbnV4L3BtLmg+CiAjaW5jbHVkZSA8bGludXgvY2xrLmg+CiAKICNpbmNsdWRlIDxuZXQvaXJkYS9pcmRhLmg+CkBAIC0zMCwxNyArMjIsOSBAQAogI2luY2x1ZGUgPG5ldC9pcmRhL3dyYXBwZXIuaD4KICNpbmNsdWRlIDxuZXQvaXJkYS9pcmRhX2RldmljZS5oPgogCi0jaW5jbHVkZSA8YXNtL2lycS5oPgogI2luY2x1ZGUgPGFzbS9kbWEuaD4KLSNpbmNsdWRlIDxhc20vZGVsYXkuaD4KLSNpbmNsdWRlIDxhc20vaGFyZHdhcmUuaD4KICNpbmNsdWRlIDxhc20vYXJjaC9pcmRhLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvcHhhLXJlZ3MuaD4KLSNpbmNsdWRlIDxhc20vYXJjaC9weGEyeHgtZ3Bpby5oPgotCi0jaWZkZWYgQ09ORklHX01BQ0hfTUFJTlNUT05FCi0jaW5jbHVkZSA8YXNtL2FyY2gvbWFpbnN0b25lLmg+Ci0jZW5kaWYKIAogI2RlZmluZSBJclNSX1JYUExfTkVHX0lTX1pFUk8gKDE8PDQpCiAjZGVmaW5lIElyU1JfUlhQTF9QT1NfSVNfWkVSTyAweDAKQEAgLTE2MywxMCArMTQ3LDYgQEAKIAkJCS8qIHNldCBib2FyZCB0cmFuc2NlaXZlciB0byBTSVIgbW9kZSAqLwogCQkJc2ktPnBkYXRhLT50cmFuc2NlaXZlcl9tb2RlKHNpLT5kZXYsIElSX1NJUk1PREUpOwogCi0JCQkvKiBjb25maWd1cmUgR1BJTzQ2LzQ3ICovCi0JCQlweGFfZ3Bpb19tb2RlKEdQSU80Nl9TVFJYRF9NRCk7Ci0JCQlweGFfZ3Bpb19tb2RlKEdQSU80N19TVFRYRF9NRCk7Ci0KIAkJCS8qIGVuYWJsZSB0aGUgU1RVQVJUIGNsb2NrICovCiAJCQlweGFfaXJkYV9lbmFibGVfc2lyY2xrKHNpKTsKIAkJfQpAQCAtMjAxLDEwICsxODEsNiBAQAogCQkvKiBzZXQgYm9hcmQgdHJhbnNjZWl2ZXIgdG8gRklSIG1vZGUgKi8KIAkJc2ktPnBkYXRhLT50cmFuc2NlaXZlcl9tb2RlKHNpLT5kZXYsIElSX0ZJUk1PREUpOwogCi0JCS8qIGNvbmZpZ3VyZSBHUElPNDYvNDcgKi8KLQkJcHhhX2dwaW9fbW9kZShHUElPNDZfSUNQUlhEX01EKTsKLQkJcHhhX2dwaW9fbW9kZShHUElPNDdfSUNQVFhEX01EKTsKLQogCQkvKiBlbmFibGUgdGhlIEZJQ1AgY2xvY2sgKi8KIAkJcHhhX2lyZGFfZW5hYmxlX2ZpcmNsayhzaSk7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L21hY2IuYyBiL2RyaXZlcnMvbmV0L21hY2IuYwppbmRleCA5MmRjY2Q0Li4wYTU3NDVhIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9tYWNiLmMKKysrIGIvZHJpdmVycy9uZXQvbWFjYi5jCkBAIC0xMjc3LDggKzEyNzcsNDUgQEAKIAlyZXR1cm4gMDsKIH0KIAorI2lmZGVmIENPTkZJR19QTQorc3RhdGljIGludCBtYWNiX3N1c3BlbmQoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwgcG1fbWVzc2FnZV90IHN0YXRlKQoreworCXN0cnVjdCBuZXRfZGV2aWNlICpuZXRkZXYgPSBwbGF0Zm9ybV9nZXRfZHJ2ZGF0YShwZGV2KTsKKwlzdHJ1Y3QgbWFjYiAqYnAgPSBuZXRkZXZfcHJpdihuZXRkZXYpOworCisJbmV0aWZfZGV2aWNlX2RldGFjaChuZXRkZXYpOworCisjaWZuZGVmIENPTkZJR19BUkNIX0FUOTEKKwljbGtfZGlzYWJsZShicC0+aGNsayk7CisjZW5kaWYKKwljbGtfZGlzYWJsZShicC0+cGNsayk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBtYWNiX3Jlc3VtZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQoreworCXN0cnVjdCBuZXRfZGV2aWNlICpuZXRkZXYgPSBwbGF0Zm9ybV9nZXRfZHJ2ZGF0YShwZGV2KTsKKwlzdHJ1Y3QgbWFjYiAqYnAgPSBuZXRkZXZfcHJpdihuZXRkZXYpOworCisJY2xrX2VuYWJsZShicC0+cGNsayk7CisjaWZuZGVmIENPTkZJR19BUkNIX0FUOTEKKwljbGtfZW5hYmxlKGJwLT5oY2xrKTsKKyNlbmRpZgorCisJbmV0aWZfZGV2aWNlX2F0dGFjaChuZXRkZXYpOworCisJcmV0dXJuIDA7Cit9CisjZWxzZQorI2RlZmluZSBtYWNiX3N1c3BlbmQJTlVMTAorI2RlZmluZSBtYWNiX3Jlc3VtZQlOVUxMCisjZW5kaWYKKwogc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kcml2ZXIgbWFjYl9kcml2ZXIgPSB7CiAJLnJlbW92ZQkJPSBfX2V4aXRfcChtYWNiX3JlbW92ZSksCisJLnN1c3BlbmQJPSBtYWNiX3N1c3BlbmQsCisJLnJlc3VtZQkJPSBtYWNiX3Jlc3VtZSwKIAkuZHJpdmVyCQk9IHsKIAkJLm5hbWUJCT0gIm1hY2IiLAogCQkub3duZXIJPSBUSElTX01PRFVMRSwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L21seDQvZncuYyBiL2RyaXZlcnMvbmV0L21seDQvZncuYwppbmRleCBkODJmMjc1Li4yYjUwMDZiIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9tbHg0L2Z3LmMKKysrIGIvZHJpdmVycy9uZXQvbWx4NC9mdy5jCkBAIC0xMDEsNiArMTAxLDM0IEBACiAJCQltbHg0X2RiZyhkZXYsICIgICAgJXNcbiIsIGZuYW1lW2ldKTsKIH0KIAoraW50IG1seDRfTU9EX1NUQVRfQ0ZHKHN0cnVjdCBtbHg0X2RldiAqZGV2LCBzdHJ1Y3QgbWx4NF9tb2Rfc3RhdF9jZmcgKmNmZykKK3sKKwlzdHJ1Y3QgbWx4NF9jbWRfbWFpbGJveCAqbWFpbGJveDsKKwl1MzIgKmluYm94OworCWludCBlcnIgPSAwOworCisjZGVmaW5lIE1PRF9TVEFUX0NGR19JTl9TSVpFCQkweDEwMAorCisjZGVmaW5lIE1PRF9TVEFUX0NGR19QR19TWl9NX09GRlNFVAkweDAwMgorI2RlZmluZSBNT0RfU1RBVF9DRkdfUEdfU1pfT0ZGU0VUCTB4MDAzCisKKwltYWlsYm94ID0gbWx4NF9hbGxvY19jbWRfbWFpbGJveChkZXYpOworCWlmIChJU19FUlIobWFpbGJveCkpCisJCXJldHVybiBQVFJfRVJSKG1haWxib3gpOworCWluYm94ID0gbWFpbGJveC0+YnVmOworCisJbWVtc2V0KGluYm94LCAwLCBNT0RfU1RBVF9DRkdfSU5fU0laRSk7CisKKwlNTFg0X1BVVChpbmJveCwgY2ZnLT5sb2dfcGdfc3osIE1PRF9TVEFUX0NGR19QR19TWl9PRkZTRVQpOworCU1MWDRfUFVUKGluYm94LCBjZmctPmxvZ19wZ19zel9tLCBNT0RfU1RBVF9DRkdfUEdfU1pfTV9PRkZTRVQpOworCisJZXJyID0gbWx4NF9jbWQoZGV2LCBtYWlsYm94LT5kbWEsIDAsIDAsIE1MWDRfQ01EX01PRF9TVEFUX0NGRywKKwkJCU1MWDRfQ01EX1RJTUVfQ0xBU1NfQSk7CisKKwltbHg0X2ZyZWVfY21kX21haWxib3goZGV2LCBtYWlsYm94KTsKKwlyZXR1cm4gZXJyOworfQorCiBpbnQgbWx4NF9RVUVSWV9ERVZfQ0FQKHN0cnVjdCBtbHg0X2RldiAqZGV2LCBzdHJ1Y3QgbWx4NF9kZXZfY2FwICpkZXZfY2FwKQogewogCXN0cnVjdCBtbHg0X2NtZF9tYWlsYm94ICptYWlsYm94OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvbWx4NC9mdy5oIGIvZHJpdmVycy9uZXQvbWx4NC9mdy5oCmluZGV4IDMwNmNiOWIuLmEwZTA0NmMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L21seDQvZncuaAorKysgYi9kcml2ZXJzL25ldC9tbHg0L2Z3LmgKQEAgLTM4LDYgKzM4LDExIEBACiAjaW5jbHVkZSAibWx4NC5oIgogI2luY2x1ZGUgImljbS5oIgogCitzdHJ1Y3QgbWx4NF9tb2Rfc3RhdF9jZmcgeworCXU4IGxvZ19wZ19zejsKKwl1OCBsb2dfcGdfc3pfbTsKK307CisKIHN0cnVjdCBtbHg0X2Rldl9jYXAgewogCWludCBtYXhfc3JxX3N6OwogCWludCBtYXhfcXBfc3o7CkBAIC0xNjIsNSArMTY3LDYgQEAKIGludCBtbHg0X01BUF9JQ01fQVVYKHN0cnVjdCBtbHg0X2RldiAqZGV2LCBzdHJ1Y3QgbWx4NF9pY20gKmljbSk7CiBpbnQgbWx4NF9VTk1BUF9JQ01fQVVYKHN0cnVjdCBtbHg0X2RldiAqZGV2KTsKIGludCBtbHg0X05PUChzdHJ1Y3QgbWx4NF9kZXYgKmRldik7CitpbnQgbWx4NF9NT0RfU1RBVF9DRkcoc3RydWN0IG1seDRfZGV2ICpkZXYsIHN0cnVjdCBtbHg0X21vZF9zdGF0X2NmZyAqY2ZnKTsKIAogI2VuZGlmIC8qIE1MWDRfRldfSCAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvbWx4NC9tYWluLmMgYi9kcml2ZXJzL25ldC9tbHg0L21haW4uYwppbmRleCBhNmFhNDlmLi5kMzczNjAxIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9tbHg0L21haW4uYworKysgYi9kcml2ZXJzL25ldC9tbHg0L21haW4uYwpAQCAtNDg1LDYgKzQ4NSw3IEBACiAJc3RydWN0IG1seDRfcHJpdgkgICpwcml2ID0gbWx4NF9wcml2KGRldik7CiAJc3RydWN0IG1seDRfYWRhcHRlcgkgICBhZGFwdGVyOwogCXN0cnVjdCBtbHg0X2Rldl9jYXAJICAgZGV2X2NhcDsKKwlzdHJ1Y3QgbWx4NF9tb2Rfc3RhdF9jZmcgICBtbHg0X2NmZzsKIAlzdHJ1Y3QgbWx4NF9wcm9maWxlCSAgIHByb2ZpbGU7CiAJc3RydWN0IG1seDRfaW5pdF9oY2FfcGFyYW0gaW5pdF9oY2E7CiAJdTY0IGljbV9zaXplOwpAQCAtNTAyLDYgKzUwMywxMiBAQAogCQlyZXR1cm4gZXJyOwogCX0KIAorCW1seDRfY2ZnLmxvZ19wZ19zel9tID0gMTsKKwltbHg0X2NmZy5sb2dfcGdfc3ogPSAwOworCWVyciA9IG1seDRfTU9EX1NUQVRfQ0ZHKGRldiwgJm1seDRfY2ZnKTsKKwlpZiAoZXJyKQorCQltbHg0X3dhcm4oZGV2LCAiRmFpbGVkIHRvIG92ZXJyaWRlIGxvZ19wZ19zeiBwYXJhbWV0ZXJcbiIpOworCiAJZXJyID0gbWx4NF9kZXZfY2FwKGRldiwgJmRldl9jYXApOwogCWlmIChlcnIpIHsKIAkJbWx4NF9lcnIoZGV2LCAiUVVFUllfREVWX0NBUCBjb21tYW5kIGZhaWxlZCwgYWJvcnRpbmcuXG4iKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L21seDQvbWNnLmMgYi9kcml2ZXJzL25ldC9tbHg0L21jZy5jCmluZGV4IDU3ZjdmMWYuLmI0YjU3ODcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L21seDQvbWNnLmMKKysrIGIvZHJpdmVycy9uZXQvbWx4NC9tY2cuYwpAQCAtMzgsNiArMzgsOSBAQAogCiAjaW5jbHVkZSAibWx4NC5oIgogCisjZGVmaW5lIE1HTV9RUE5fTUFTSyAgICAgICAweDAwRkZGRkZGCisjZGVmaW5lIE1HTV9CTENLX0xCX0JJVCAgICAzMAorCiBzdHJ1Y3QgbWx4NF9tZ20gewogCV9fYmUzMgkJCW5leHRfZ2lkX2luZGV4OwogCV9fYmUzMgkJCW1lbWJlcnNfY291bnQ7CkBAIC0xNTMsNyArMTU2LDggQEAKIAlyZXR1cm4gZXJyOwogfQogCi1pbnQgbWx4NF9tdWx0aWNhc3RfYXR0YWNoKHN0cnVjdCBtbHg0X2RldiAqZGV2LCBzdHJ1Y3QgbWx4NF9xcCAqcXAsIHU4IGdpZFsxNl0pCitpbnQgbWx4NF9tdWx0aWNhc3RfYXR0YWNoKHN0cnVjdCBtbHg0X2RldiAqZGV2LCBzdHJ1Y3QgbWx4NF9xcCAqcXAsIHU4IGdpZFsxNl0sCisJCQkgIGludCBibG9ja19tY2FzdF9sb29wYmFjaykKIHsKIAlzdHJ1Y3QgbWx4NF9wcml2ICpwcml2ID0gbWx4NF9wcml2KGRldik7CiAJc3RydWN0IG1seDRfY21kX21haWxib3ggKm1haWxib3g7CkBAIC0yMDIsMTMgKzIwNiwxOCBAQAogCX0KIAogCWZvciAoaSA9IDA7IGkgPCBtZW1iZXJzX2NvdW50OyArK2kpCi0JCWlmIChtZ20tPnFwW2ldID09IGNwdV90b19iZTMyKHFwLT5xcG4pKSB7CisJCWlmICgoYmUzMl90b19jcHUobWdtLT5xcFtpXSkgJiBNR01fUVBOX01BU0spID09IHFwLT5xcG4pIHsKIAkJCW1seDRfZGJnKGRldiwgIlFQICUwNnggYWxyZWFkeSBhIG1lbWJlciBvZiBNR01cbiIsIHFwLT5xcG4pOwogCQkJZXJyID0gMDsKIAkJCWdvdG8gb3V0OwogCQl9CiAKLQltZ20tPnFwW21lbWJlcnNfY291bnQrK10gPSBjcHVfdG9fYmUzMihxcC0+cXBuKTsKKwlpZiAoYmxvY2tfbWNhc3RfbG9vcGJhY2spCisJCW1nbS0+cXBbbWVtYmVyc19jb3VudCsrXSA9IGNwdV90b19iZTMyKChxcC0+cXBuICYgTUdNX1FQTl9NQVNLKSB8CisJCQkJCQkgICAgICAgKDEgPDwgTUdNX0JMQ0tfTEJfQklUKSk7CisJZWxzZQorCQltZ20tPnFwW21lbWJlcnNfY291bnQrK10gPSBjcHVfdG9fYmUzMihxcC0+cXBuICYgTUdNX1FQTl9NQVNLKTsKKwogCW1nbS0+bWVtYmVyc19jb3VudCAgICAgICA9IGNwdV90b19iZTMyKG1lbWJlcnNfY291bnQpOwogCiAJZXJyID0gbWx4NF9XUklURV9NQ0coZGV2LCBpbmRleCwgbWFpbGJveCk7CkBAIC0yODMsNyArMjkyLDcgQEAKIAogCW1lbWJlcnNfY291bnQgPSBiZTMyX3RvX2NwdShtZ20tPm1lbWJlcnNfY291bnQpOwogCWZvciAobG9jID0gLTEsIGkgPSAwOyBpIDwgbWVtYmVyc19jb3VudDsgKytpKQotCQlpZiAobWdtLT5xcFtpXSA9PSBjcHVfdG9fYmUzMihxcC0+cXBuKSkKKwkJaWYgKChiZTMyX3RvX2NwdShtZ20tPnFwW2ldKSAmIE1HTV9RUE5fTUFTSykgPT0gcXAtPnFwbikKIAkJCWxvYyA9IGk7CiAKIAlpZiAobG9jID09IC0xKSB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9teXJpMTBnZS9teXJpMTBnZS5jIGIvZHJpdmVycy9uZXQvbXlyaTEwZ2UvbXlyaTEwZ2UuYwppbmRleCBlMGQ3NmM3Li44MjNiYjZkIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9teXJpMTBnZS9teXJpMTBnZS5jCisrKyBiL2RyaXZlcnMvbmV0L215cmkxMGdlL215cmkxMGdlLmMKQEAgLTUyOSw2ICs1MjksNyBAQAogCXVuc2lnbmVkIGNyYywgcmVyZWFkX2NyYzsKIAljb25zdCBzdHJ1Y3QgZmlybXdhcmUgKmZ3OwogCXN0cnVjdCBkZXZpY2UgKmRldiA9ICZtZ3AtPnBkZXYtPmRldjsKKwl1bnNpZ25lZCBjaGFyICpmd19yZWFkYmFjazsKIAlzdHJ1Y3QgbWNwX2dlbl9oZWFkZXIgKmhkcjsKIAlzaXplX3QgaGRyX29mZnNldDsKIAlpbnQgc3RhdHVzOwpAQCAtNTcxLDkgKzU3MiwxNSBAQAogCQltYigpOwogCQlyZWFkYihtZ3AtPnNyYW0pOwogCX0KKwlmd19yZWFkYmFjayA9IHZtYWxsb2MoZnctPnNpemUpOworCWlmICghZndfcmVhZGJhY2spIHsKKwkJc3RhdHVzID0gLUVOT01FTTsKKwkJZ290byBhYm9ydF93aXRoX2Z3OworCX0KIAkvKiBjb3JydXB0aW9uIGNoZWNraW5nIGlzIGdvb2QgZm9yIHBhcml0eSByZWNvdmVyeSBhbmQgYnVnZ3kgY2hpcHNldCAqLwotCW1lbWNweV9mcm9taW8oZnctPmRhdGEsIG1ncC0+c3JhbSArIE1ZUkkxMEdFX0ZXX09GRlNFVCwgZnctPnNpemUpOwotCXJlcmVhZF9jcmMgPSBjcmMzMih+MCwgZnctPmRhdGEsIGZ3LT5zaXplKTsKKwltZW1jcHlfZnJvbWlvKGZ3X3JlYWRiYWNrLCBtZ3AtPnNyYW0gKyBNWVJJMTBHRV9GV19PRkZTRVQsIGZ3LT5zaXplKTsKKwlyZXJlYWRfY3JjID0gY3JjMzIofjAsIGZ3X3JlYWRiYWNrLCBmdy0+c2l6ZSk7CisJdmZyZWUoZndfcmVhZGJhY2spOwogCWlmIChjcmMgIT0gcmVyZWFkX2NyYykgewogCQlkZXZfZXJyKGRldiwgIkNSQyBmYWlsZWQoZnctbGVuPSV1KSwgZ290IDB4JXggKGV4cGVjdCAweCV4KVxuIiwKIAkJCSh1bnNpZ25lZClmdy0+c2l6ZSwgcmVyZWFkX2NyYywgY3JjKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3BwcF9nZW5lcmljLmMgYi9kcml2ZXJzL25ldC9wcHBfZ2VuZXJpYy5jCmluZGV4IDFmNGNhMmIuLjgzNjI1ZmQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3BwcF9nZW5lcmljLmMKKysrIGIvZHJpdmVycy9uZXQvcHBwX2dlbmVyaWMuYwpAQCAtMzksNiArMzksNyBAQAogI2luY2x1ZGUgPGxpbnV4L2lmX2FycC5oPgogI2luY2x1ZGUgPGxpbnV4L2lwLmg+CiAjaW5jbHVkZSA8bGludXgvdGNwLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxsaW51eC9zcGlubG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L3J3c2VtLmg+CiAjaW5jbHVkZSA8bGludXgvc3RkZGVmLmg+CkBAIC0zNTMsNiArMzU0LDcgQEAKICAqLwogc3RhdGljIGludCBwcHBfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKIHsKKwljeWNsZV9rZXJuZWxfbG9jaygpOwogCS8qCiAJICogVGhpcyBjb3VsZCAoc2hvdWxkPykgYmUgZW5mb3JjZWQgYnkgdGhlIHBlcm1pc3Npb25zIG9uIC9kZXYvcHBwLgogCSAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvdG9rZW5yaW5nL3NtY3RyLmMgYi9kcml2ZXJzL25ldC90b2tlbnJpbmcvc21jdHIuYwppbmRleCA1ZjFjNTA3Li5mYTczZTZlIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC90b2tlbnJpbmcvc21jdHIuYworKysgYi9kcml2ZXJzL25ldC90b2tlbnJpbmcvc21jdHIuYwpAQCAtNDgsNiArNDgsNyBAQAogI2luY2x1ZGUgPGxpbnV4L3NrYnVmZi5oPgogI2luY2x1ZGUgPGxpbnV4L3RyZGV2aWNlLmg+CiAjaW5jbHVkZSA8bGludXgvYml0b3BzLmg+CisjaW5jbHVkZSA8bGludXgvZmlybXdhcmUuaD4KIAogI2luY2x1ZGUgPGFzbS9zeXN0ZW0uaD4KICNpbmNsdWRlIDxhc20vaW8uaD4KQEAgLTU5LDcgKzYwLDYgQEAKICNlbmRpZgogCiAjaW5jbHVkZSAic21jdHIuaCIgICAgICAgICAgICAgICAvKiBPdXIgU3R1ZmYgKi8KLSNpbmNsdWRlICJzbWN0cl9maXJtd2FyZS5oIiAgICAgIC8qIFNNQyBhZGFwdGVyIGZpcm13YXJlICovCiAKIHN0YXRpYyBjaGFyIHZlcnNpb25bXSBfX2luaXRkYXRhID0gS0VSTl9JTkZPICJzbWN0ci5jOiB2MS40IDcvMTIvMDAgYnkganNjaGxzdEBzYW1iYS5vcmdcbiI7CiBzdGF0aWMgY29uc3QgY2hhciBjYXJkbmFtZVtdID0gInNtY3RyIjsKQEAgLTEwMyw3ICsxMDMsOCBAQAogc3RhdGljIGludCBzbWN0cl9jbG9zZShzdHJ1Y3QgbmV0X2RldmljZSAqZGV2KTsKIAogLyogRCAqLwotc3RhdGljIGludCBzbWN0cl9kZWNvZGVfZmlybXdhcmUoc3RydWN0IG5ldF9kZXZpY2UgKmRldik7CitzdGF0aWMgaW50IHNtY3RyX2RlY29kZV9maXJtd2FyZShzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LAorCQkJCSBjb25zdCBzdHJ1Y3QgZmlybXdhcmUgKmZ3KTsKIHN0YXRpYyBpbnQgc21jdHJfZGlzYWJsZV8xNmJpdChzdHJ1Y3QgbmV0X2RldmljZSAqZGV2KTsKIHN0YXRpYyBpbnQgc21jdHJfZGlzYWJsZV9hZGFwdGVyX2N0cmxfc3RvcmUoc3RydWN0IG5ldF9kZXZpY2UgKmRldik7CiBzdGF0aWMgaW50IHNtY3RyX2Rpc2FibGVfYmljX2ludChzdHJ1Y3QgbmV0X2RldmljZSAqZGV2KTsKQEAgLTc0OCw3ICs3NDksOCBAQAogICAgICAgICByZXR1cm4gKDApOwogfQogCi1zdGF0aWMgaW50IHNtY3RyX2RlY29kZV9maXJtd2FyZShzdHJ1Y3QgbmV0X2RldmljZSAqZGV2KQorc3RhdGljIGludCBzbWN0cl9kZWNvZGVfZmlybXdhcmUoc3RydWN0IG5ldF9kZXZpY2UgKmRldiwKKwkJCQkgY29uc3Qgc3RydWN0IGZpcm13YXJlICpmdykKIHsKICAgICAgICAgc3RydWN0IG5ldF9sb2NhbCAqdHAgPSBuZXRkZXZfcHJpdihkZXYpOwogICAgICAgICBzaG9ydCBiaXQgPSAweDgwLCBzaGlmdCA9IDEyOwpAQCAtNzYyLDEwICs3NjQsMTAgQEAKICAgICAgICAgaWYoc21jdHJfZGVidWcgPiAxMCkKICAgICAgICAgICAgICAgICBwcmludGsoS0VSTl9ERUJVRyAiJXM6IHNtY3RyX2RlY29kZV9maXJtd2FyZVxuIiwgZGV2LT5uYW1lKTsKIAotICAgICAgICB3ZWlnaHQgID0gKihsb25nICopKHRwLT5wdHJfdWNvZGUgKyBXRUlHSFRfT0ZGU0VUKTsKLSAgICAgICAgdHNpemUgICA9ICooX191OCAqKSh0cC0+cHRyX3Vjb2RlICsgVFJFRV9TSVpFX09GRlNFVCk7Ci0gICAgICAgIHRyZWUgICAgPSAoREVDT0RFX1RSRUVfTk9ERSAqKSh0cC0+cHRyX3Vjb2RlICsgVFJFRV9PRkZTRVQpOwotICAgICAgICB1Y29kZSAgID0gKF9fdTggKikodHAtPnB0cl91Y29kZSArIFRSRUVfT0ZGU0VUCisgICAgICAgIHdlaWdodCAgPSAqKGxvbmcgKikoZnctPmRhdGEgKyBXRUlHSFRfT0ZGU0VUKTsKKyAgICAgICAgdHNpemUgICA9ICooX191OCAqKShmdy0+ZGF0YSArIFRSRUVfU0laRV9PRkZTRVQpOworICAgICAgICB0cmVlICAgID0gKERFQ09ERV9UUkVFX05PREUgKikoZnctPmRhdGEgKyBUUkVFX09GRlNFVCk7CisgICAgICAgIHVjb2RlICAgPSAoX191OCAqKShmdy0+ZGF0YSArIFRSRUVfT0ZGU0VUCiAgICAgICAgICAgICAgICAgICAgICAgICArICh0c2l6ZSAqIHNpemVvZihERUNPREVfVFJFRV9OT0RFKSkpOwogICAgICAgICBtZW0gICAgID0gKF9fdTE2ICopKHRwLT5yYW1fYWNjZXNzKTsKIApAQCAtMjk2MywzNCArMjk2NSw0NCBAQAogc3RhdGljIGludCBzbWN0cl9sb2FkX2Zpcm13YXJlKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYpCiB7CiAgICAgICAgIHN0cnVjdCBuZXRfbG9jYWwgKnRwID0gbmV0ZGV2X3ByaXYoZGV2KTsKKwljb25zdCBzdHJ1Y3QgZmlybXdhcmUgKmZ3OwogICAgICAgICBfX3UxNiBpLCBjaGVja3N1bSA9IDA7CiAgICAgICAgIGludCBlcnIgPSAwOwogCiAgICAgICAgIGlmKHNtY3RyX2RlYnVnID4gMTApCiAgICAgICAgICAgICAgICAgcHJpbnRrKEtFUk5fREVCVUcgIiVzOiBzbWN0cl9sb2FkX2Zpcm13YXJlXG4iLCBkZXYtPm5hbWUpOwogCi0gICAgICAgIHRwLT5wdHJfdWNvZGUgICAgICAgICAgID0gc21jdHJfY29kZTsKKwlpZiAocmVxdWVzdF9maXJtd2FyZSgmZncsICJ0cl9zbWN0ci5iaW4iLCAmZGV2LT5kZXYpKSB7CisJCXByaW50ayhLRVJOX0VSUiAiJXM6IGZpcm13YXJlIG5vdCBmb3VuZFxuIiwgZGV2LT5uYW1lKTsKKwkJcmV0dXJuIChVQ09ERV9OT1RfUFJFU0VOVCk7CisJfQorCiAgICAgICAgIHRwLT5udW1fb2ZfdHhfYnVmZnMgICAgID0gNDsKICAgICAgICAgdHAtPm1vZGVfYml0cyAgICAgICAgICB8PSBVTUFDOwogICAgICAgICB0cC0+cmVjZWl2ZV9tYXNrICAgICAgICA9IDA7CiAgICAgICAgIHRwLT5tYXhfcGFja2V0X3NpemUgICAgID0gNDE3NzsKIAogICAgICAgICAvKiBDYW4gb25seSB1cGxvYWQgdGhlIGZpcm13YXJlIG9uY2UgcGVyIGFkYXB0ZXIgcmVzZXQuICovCi0gICAgICAgIGlmKHRwLT5taWNyb2NvZGVfdmVyc2lvbiAhPSAwKQotICAgICAgICAgICAgICAgIHJldHVybiAoVUNPREVfUFJFU0VOVCk7CisgICAgICAgIGlmICh0cC0+bWljcm9jb2RlX3ZlcnNpb24gIT0gMCkgeworCQllcnIgPSAoVUNPREVfUFJFU0VOVCk7CisJCWdvdG8gb3V0OworCX0KIAogICAgICAgICAvKiBWZXJpZnkgdGhlIGZpcm13YXJlIGV4aXN0cyBhbmQgaXMgdGhlcmUgaW4gdGhlIHJpZ2h0IGFtb3VudC4gKi8KLSAgICAgICAgaWYgKCF0cC0+cHRyX3Vjb2RlCi0gICAgICAgICAgICAgICAgfHwgKCoodHAtPnB0cl91Y29kZSArIFVDT0RFX1ZFUlNJT05fT0ZGU0VUKSA8IFVDT0RFX1ZFUlNJT04pKQorICAgICAgICBpZiAoIWZ3LT5kYXRhCisgICAgICAgICAgICAgICAgfHwgKCooZnctPmRhdGEgKyBVQ09ERV9WRVJTSU9OX09GRlNFVCkgPCBVQ09ERV9WRVJTSU9OKSkKICAgICAgICAgewotICAgICAgICAgICAgICAgIHJldHVybiAoVUNPREVfTk9UX1BSRVNFTlQpOworICAgICAgICAgICAgICAgIGVyciA9IChVQ09ERV9OT1RfUFJFU0VOVCk7CisJCWdvdG8gb3V0OwogICAgICAgICB9CiAKICAgICAgICAgLyogVUNPREVfU0laRSBpcyBub3QgaW5jbHVkZWQgaW4gQ2hlY2tzdW0uICovCi0gICAgICAgIGZvcihpID0gMDsgaSA8ICooKF9fdTE2ICopKHRwLT5wdHJfdWNvZGUgKyBVQ09ERV9TSVpFX09GRlNFVCkpOyBpICs9IDIpCi0gICAgICAgICAgICAgICAgY2hlY2tzdW0gKz0gKigoX191MTYgKikodHAtPnB0cl91Y29kZSArIDIgKyBpKSk7Ci0gICAgICAgIGlmKGNoZWNrc3VtKQotICAgICAgICAgICAgICAgIHJldHVybiAoVUNPREVfTk9UX1BSRVNFTlQpOworICAgICAgICBmb3IoaSA9IDA7IGkgPCAqKChfX3UxNiAqKShmdy0+ZGF0YSArIFVDT0RFX1NJWkVfT0ZGU0VUKSk7IGkgKz0gMikKKyAgICAgICAgICAgICAgICBjaGVja3N1bSArPSAqKChfX3UxNiAqKShmdy0+ZGF0YSArIDIgKyBpKSk7CisgICAgICAgIGlmIChjaGVja3N1bSkgeworCQllcnIgPSAoVUNPREVfTk9UX1BSRVNFTlQpOworCQlnb3RvIG91dDsKKwl9CiAKICAgICAgICAgLyogQXQgdGhpcyBwb2ludCB3ZSBoYXZlIGEgdmFsaWQgZmlybXdhcmUgaW1hZ2UsIGxldHMga2ljayBpdCBvbiB1cC4gKi8KICAgICAgICAgc21jdHJfZW5hYmxlX2FkYXB0ZXJfcmFtKGRldik7CkBAIC0yOTk4LDcgKzMwMTAsNyBAQAogICAgICAgICBzbWN0cl9zZXRfcGFnZShkZXYsIChfX3U4ICopdHAtPnJhbV9hY2Nlc3MpOwogCiAgICAgICAgIGlmKChzbWN0cl9jaGVja3N1bV9maXJtd2FyZShkZXYpKQotICAgICAgICAgICAgICAgIHx8ICgqKHRwLT5wdHJfdWNvZGUgKyBVQ09ERV9WRVJTSU9OX09GRlNFVCkKKyAgICAgICAgICAgICAgICB8fCAoKihmdy0+ZGF0YSArIFVDT0RFX1ZFUlNJT05fT0ZGU0VUKQogICAgICAgICAgICAgICAgID4gdHAtPm1pY3JvY29kZV92ZXJzaW9uKSkKICAgICAgICAgewogICAgICAgICAgICAgICAgIHNtY3RyX2VuYWJsZV9hZGFwdGVyX2N0cmxfc3RvcmUoZGV2KTsKQEAgLTMwMDcsOSArMzAxOSw5IEBACiAgICAgICAgICAgICAgICAgZm9yKGkgPSAwOyBpIDwgQ1NfUkFNX1NJWkU7IGkgKz0gMikKICAgICAgICAgICAgICAgICAgICAgICAgICooKF9fdTE2ICopKHRwLT5yYW1fYWNjZXNzICsgaSkpID0gMDsKIAotICAgICAgICAgICAgICAgIHNtY3RyX2RlY29kZV9maXJtd2FyZShkZXYpOworICAgICAgICAgICAgICAgIHNtY3RyX2RlY29kZV9maXJtd2FyZShkZXYsIGZ3KTsKIAotICAgICAgICAgICAgICAgIHRwLT5taWNyb2NvZGVfdmVyc2lvbiA9ICoodHAtPnB0cl91Y29kZSArIFVDT0RFX1ZFUlNJT05fT0ZGU0VUKTsgICAgICAgICAgICAgICAgKigoX191MTYgKikodHAtPnJhbV9hY2Nlc3MgKyBDU19SQU1fVkVSU0lPTl9PRkZTRVQpKQorICAgICAgICAgICAgICAgIHRwLT5taWNyb2NvZGVfdmVyc2lvbiA9ICooZnctPmRhdGEgKyBVQ09ERV9WRVJTSU9OX09GRlNFVCk7ICAgICAgICAgICAgICAgICooKF9fdTE2ICopKHRwLT5yYW1fYWNjZXNzICsgQ1NfUkFNX1ZFUlNJT05fT0ZGU0VUKSkKICAgICAgICAgICAgICAgICAgICAgICAgID0gKHRwLT5taWNyb2NvZGVfdmVyc2lvbiA8PCA4KTsKICAgICAgICAgICAgICAgICAqKChfX3UxNiAqKSh0cC0+cmFtX2FjY2VzcyArIENTX1JBTV9DSEVDS1NVTV9PRkZTRVQpKQogICAgICAgICAgICAgICAgICAgICAgICAgPSB+KHRwLT5taWNyb2NvZGVfdmVyc2lvbiA8PCA4KSArIDE7CkBAIC0zMDIzLDcgKzMwMzUsOCBAQAogICAgICAgICAgICAgICAgIGVyciA9IFVDT0RFX1BSRVNFTlQ7CiAKICAgICAgICAgc21jdHJfZGlzYWJsZV8xNmJpdChkZXYpOwotCisgb3V0OgorCXJlbGVhc2VfZmlybXdhcmUoZncpOwogICAgICAgICByZXR1cm4gKGVycik7CiB9CiAKQEAgLTU2NTEsNiArNTY2NCw3IEBACiBzdGF0aWMgaW50IGlycVtTTUNUUl9NQVhfQURBUFRFUlNdOwogCiBNT0RVTEVfTElDRU5TRSgiR1BMIik7CitNT0RVTEVfRklSTVdBUkUoInRyX3NtY3RyLmJpbiIpOwogCiBtb2R1bGVfcGFyYW1fYXJyYXkoaW8sIGludCwgTlVMTCwgMCk7CiBtb2R1bGVfcGFyYW1fYXJyYXkoaXJxLCBpbnQsIE5VTEwsIDApOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvdG9rZW5yaW5nL3NtY3RyLmggYi9kcml2ZXJzL25ldC90b2tlbnJpbmcvc21jdHIuaAppbmRleCA4OGRmYTJlLi41MmRmN2RkIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC90b2tlbnJpbmcvc21jdHIuaAorKysgYi9kcml2ZXJzL25ldC90b2tlbnJpbmcvc21jdHIuaApAQCAtMTA0Miw4ICsxMDQyLDYgQEAKICAgICAgICAgX191MTYgICAgICAgICAgICBmdW5jdGlvbmFsX2FkZHJlc3NbMl07CiAgICAgICAgIF9fdTE2ICAgICAgICAgICAgYml0d2lzZV9ncm91cF9hZGRyZXNzWzJdOwogCi0JY29uc3QgX191OCAgICAgICAqcHRyX3Vjb2RlOwotCiAJX191OAkJY2xlYW51cDsKIAogCXN0cnVjdCBza19idWZmX2hlYWQgU2VuZFNrYlF1ZXVlOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvdG9rZW5yaW5nL3NtY3RyX2Zpcm13YXJlLmggYi9kcml2ZXJzL25ldC90b2tlbnJpbmcvc21jdHJfZmlybXdhcmUuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjkyZTUwZGRmLi4wMDAwMDAwCi0tLSBhL2RyaXZlcnMvbmV0L3Rva2VucmluZy9zbWN0cl9maXJtd2FyZS5oCisrKyAvZGV2L251bGwKQEAgLTEsOTc4ICswLDAgQEAKLS8qCi0gKiBUaGUgZmlybXdhcmUgdGhpcyBkcml2ZXIgZG93bmxvYWRzIGludG8gdGhlIHRva2VucmluZyBjYXJkIGlzIGEKLSAqIHNlcGFyYXRlIHByb2dyYW0gYW5kIGlzIG5vdCBHUEwnZCBzb3VyY2UgY29kZSwgZXZlbiB0aG91Z2ggdGhlIExpbnV4Ci0gKiBzaWRlIGRyaXZlciBhbmQgdGhlIHJvdXRpbmUgdGhhdCBsb2FkcyB0aGlzIGRhdGEgaW50byB0aGUgY2FyZCBhcmUuCi0gKgotICogVGhpcyBmaXJtd2FyZSBpcyBsaWNlbnNlZCB0byB5b3Ugc3RyaWN0bHkgZm9yIHVzZSBpbiBjb25qdW5jdGlvbgotICogd2l0aCB0aGUgdXNlIG9mIFNNQyBUb2tlblJpbmcgYWRhcHRlcnMuIFRoZXJlIGlzIG5vIHdhcmFudHkKLSAqIGV4cHJlc3NlZCBvciBpbXBsaWVkIGFib3V0IGl0cyBmaXRuZXNzIGZvciBhbnkgcHVycG9zZS4KLSAqLwotCi0vKiBzbWN0cl9maXJtd2FyZS5oOiBTTUMgVG9rZW5SaW5nIGRyaXZlciBmaXJtd2FyZSBkdW1wIGZvciBMaW51eC4KLSAqCi0gKiBOb3RlczoKLSAqICAtIFRoaXMgaXMgYW4gOEsgYmluYXJ5IGltYWdlLiAoTUNULkJJTiB2Ni4zQzEgMDMvMDEvOTUpCi0gKgotICogQXV0aG9yczoKLSAqICAtIEpheSBTY2h1bGlzdCA8anNjaGxzdEBzYW1iYS5vcmc+Ci0gKi8KLQotCi0jaWYgZGVmaW5lZChDT05GSUdfU01DVFIpIHx8IGRlZmluZWQoQ09ORklHX1NNQ1RSX01PRFVMRSkKLQotc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgc21jdHJfY29kZVtdID0gewotCTB4MEJDLCAweDAxRCwgMHgwMTIsIDB4MDNCLCAweDA2MywgMHgwQjQsIDB4MEU5LCAweDAwMCwKLQkweDAwMCwgMHgwMUYsIDB4MDAwLCAweDAwMSwgMHgwMDEsIDB4MDAwLCAweDAwMiwgMHgwMDUsCi0JMHgwMDEsIDB4MDAwLCAweDAwNiwgMHgwMDMsIDB4MDAxLCAweDAwMCwgMHgwMDQsIDB4MDA5LAotCTB4MDAxLCAweDAwMCwgMHgwMEEsIDB4MDA3LCAweDAwMSwgMHgwMDAsIDB4MDA4LCAweDAwQiwKLQkweDAwMSwgMHgwMDAsIDB4MDBDLCAweDAwMCwgMHgwMDAsIDB4MDAwLCAweDAwMCwgMHgwMEYsCi0JMHgwMDEsIDB4MDAwLCAweDAxMCwgMHgwMEQsIDB4MDAxLCAweDAwMCwgMHgwMEUsIDB4MDEzLAotCTB4MDAxLCAweDAwMCwgMHgwMTQsIDB4MDExLCAweDAwMSwgMHgwMDAsIDB4MDEyLCAweDAwMCwKLQkweDAwMCwgMHgwMDUsIDB4MDAwLCAweDAxNSwgMHgwMDEsIDB4MDAwLCAweDAxNiwgMHgwMTksCi0JMHgwMDEsIDB4MDAwLCAweDAxQSwgMHgwMTcsIDB4MDAxLCAweDAwMCwgMHgwMTgsIDB4MDAwLAotCTB4MDAwLCAweDAwRSwgMHgwMDAsIDB4MDAwLCAweDAwMCwgMHgwMDEsIDB4MDAwLCAweDAwMCwKLQkweDAwMCwgMHgwMDQsIDB4MDAwLCAweDAxQiwgMHgwMDEsIDB4MDAwLCAweDAxQywgMHgwMDAsCi0JMHgwMDAsIDB4MDA3LCAweDAwMCwgMHgwMDAsIDB4MDAwLCAweDAwRiwgMHgwMDAsIDB4MDAwLAotCTB4MDAwLCAweDAwQiwgMHgwMDAsIDB4MDFELCAweDAwMSwgMHgwMDAsIDB4MDFFLCAweDAwMCwKLQkweDAwMCwgMHgwMDgsIDB4MDAwLCAweDAwMCwgMHgwMDAsIDB4MDAyLCAweDAwMCwgMHgwMDAsCi0JMHgwMDAsIDB4MDBDLCAweDAwMCwgMHgwMDAsIDB4MDAwLCAweDAwNiwgMHgwMDAsIDB4MDAwLAotCTB4MDAwLCAweDAwRCwgMHgwMDAsIDB4MDAwLCAweDAwMCwgMHgwMDMsIDB4MDAwLCAweDAwMCwKLQkweDAwMCwgMHgwMEEsIDB4MDAwLCAweDAwMCwgMHgwMDAsIDB4MDA5LCAweDAwMCwgMHgwMDQsCi0JMHgwNzgsIDB4MEM2LCAweDBCQywgMHgwMDEsIDB4MDk0LCAweDAwNCwgMHgwOTMsIDB4MDgwLAotCTB4MEM4LCAweDA0MCwgMHgwNjIsIDB4MEU5LCAweDBEQSwgMHgwMUMsIDB4MDJDLCAweDAxNSwKLQkweDA1NSwgMHgwNTUsIDB4MDU1LCAweDA1NSwgMHgwNTUsIDB4MDU1LCAweDA1NSwgMHgwNTgsCi0JMHgwMEIsIDB4MEU5LCAweDBFNSwgMHgwRDUsIDB4MDk1LCAweDBDMSwgMHgwOUQsIDB4MDc3LAotCTB4MENFLCAweDBCQiwgMHgwQTAsIDB4MDZFLCAweDAxQywgMHgwMDUsIDB4MEY2LCAweDA3NywKLQkweDBDNiwgMHgwMDIsIDB4MEZBLCAweDA5NiwgMHgwNzAsIDB4MEU4LCAweDAxRCwgMHgwQzAsCi0JMHgwMTcsIDB4MDBFLCAweDAwMiwgMHgwRkEsIDB4MDU4LCAweDA3RCwgMHgwQzAsIDB4MDVGLAotCTB4MDcyLCAweDBDRSwgMHgwRUMsIDB4MEE0LCAweDBDMywgMHgwODQsIDB4MDkwLCAweDA3QSwKLQkweDAzMCwgMHgwQ0QsIDB4MDhELCAweDA3OSwgMHgwMTksIDB4MEU3LCAweDA2QywgMHgwMjQsCi0JMHgwMjcsIDB4MDlDLCAweDAwOCwgMHgwMzksIDB4MDA3LCAweDAzOCwgMHgwQTgsIDB4MDRBLAotCTB4MDRDLCAweDBFQSwgMHgwNEQsIDB4MDk4LCAweDA5QiwgMHgwMjQsIDB4MDRDLCAweDBDMCwKLQkweDAyNiwgMHgwRDMsIDB4MEU3LCAweDA1NCwgMHgwNUEsIDB4MDRELCAweDBGMiwgMHgwNEMsCi0JMHgwMEMsIDB4MDEzLCAweDAyMywgMHgwNDksIDB4MDkwLCAweDAzMiwgMHgwNkUsIDB4MEE0LAotCTB4MERGLCAweDA5MywgMHgwNzEsIDB4MDEzLCAweDA3NywgMHgwMjYsIDB4MEUxLCAweDAyNiwKLQkweDBGOCwgMHgwMjYsIDB4MDBDLCAweDA0QywgMHgwMTIsIDB4MDI2LCAweDAwOCwgMHgwMDksCi0JMHgwODIsIDB4MDgyLCAweDA2MCwgMHgwQTksIDB4MDMwLCAweDA3OSwgMHgwMzYsIDB4MEIwLAotCTB4MEIyLCAweDBBOCwgMHgwQTcsIDB4MDcyLCAweDA2NCwgMHgwOEYsIDB4MDlCLCAweDAzMywKLQkweDAzMywgMHgwRjksIDB4MEI4LCAweDAzOSwgMHgwRDUsIDB4MDExLCAweDA3MywgMHgwQUEsCi0JMHgwNzUsIDB4MDI2LCAweDA1RCwgMHgwMjYsIDB4MDUxLCAweDA5MywgMHgwMkEsIDB4MDQ5LAotCTB4MDk0LCAweDBDOSwgMHgwOTUsIDB4MDg5LCAweDBCQywgMHgwNEQsIDB4MEM4LCAweDA5QiwKLQkweDA4MCwgMHgwOUIsIDB4MEEwLCAweDA5OSwgMHgwMDYsIDB4MDRDLCAweDA4NiwgMHgwMjYsCi0JMHgwNTgsIDB4MDlCLCAweDBBNCwgMHgwOUIsIDB4MDk5LCAweDAzNywgMHgwNjIsIDB4MDZDLAotCTB4MDY3LCAweDA5QiwgMHgwMzMsIDB4MDMwLCAweDBCRiwgMHgwMzYsIDB4MDY2LCAweDA2MSwKLQkweDBCRiwgMHgwMzYsIDB4MEVDLCAweDBDNSwgMHgwQkQsIDB4MDY2LCAweDA4MiwgMHgwNUEsCi0JMHgwNTAsIDB4MDMxLCAweDBENSwgMHgwOUQsIDB4MDk4LCAweDAxOCwgMHgwMjksIDB4MDNDLAotCTB4MDk4LCAweDA4NiwgMHgwNEMsIDB4MDE3LCAweDAyNiwgMHgwM0UsIDB4MDJDLCAweDBCOCwKLQkweDA2OSwgMHgwM0IsIDB4MDQ5LCAweDAyRSwgMHgwQjQsIDB4MDA4LCAweDA0MywgMHgwMUEsCi0JMHgwQTQsIDB4MEY5LCAweDBCMywgMHgwNTEsIDB4MEYxLCAweDAxMCwgMHgwRjMsIDB4MDQzLAotCTB4MENELCAweDAwOCwgMHgwNkYsIDB4MDYzLCAweDA3OSwgMHgwQjMsIDB4MDMzLCAweDAwRSwKLQkweDAxMywgMHgwOTgsIDB4MDQ5LCAweDA5OCwgMHgwMDQsIDB4MERBLCAweDA3QywgMHgwRTAsCi0JMHgwNTIsIDB4MDc5LCAweDAzMSwgMHgwMEMsIDB4MDk4LCAweDAyRSwgMHgwNEQsIDB4MEFDLAotCTB4MDJDLCAweDA4NCwgMHgwMTQsIDB4MEVFLCAweDA0QywgMHgwRkUsIDB4MDY3LCAweDA1RSwKLQkweDBFNCwgMHgwOUEsIDB4MDc1LCAweDAyOSwgMHgwRDcsIDB4MEE5LCAweDAzNSwgMHgwM0EsCi0JMHgwOTQsIDB4MDVCLCAweDBENSwgMHgwOUIsIDB4MDU4LCAweDBCNCwgMHgwQUYsIDB4MDc1LAotCTB4MDY2LCAweDBBRiwgMHgwMTQsIDB4MEE5LCAweDBFRiwgMHgwNDAsIDB4MDk1LCAweDAyNSwKLQkweDAwOCwgMHgwQjksIDB4MEFELCAweDA0MiwgMHgwRkMsIDB4MEQ4LCAweDBEOSwgMHgwOEMsCi0JMHgwMzMsIDB4MDBFLCAweDAxMywgMHgwOTgsIDB4MDY2LCAweDAxRSwgMHgwNDUsIDB4MEFDLAotCTB4MEIwLCAweDAwQywgMHgwNDIsIDB4MEQzLCAweDBDQywgMHgwQTYsIDB4MDEyLCAweDA2MiwKLQkweDBERSwgMHgwQjQsIDB4MEIxLCAweDA4MCwgMHgwNDksIDB4MDdELCAweDBBMiwgMHgwREUsCi0JMHgwQjQsIDB4MDE4LCAweDBDMCwgMHgwMjQsIDB4MDg0LCAweDBFNiwgMHgwNTQsIDB4MEY1LAotCTB4MDgzLCAweDA0NiwgMHgwMDEsIDB4MDY4LCAweDAxQSwgMHgwNjMsIDB4MDBDLCAweDBDNiwKLQkweDAxMiwgMHgwNjQsIDB4MEZBLCAweDA0QywgMHgwMzUsIDB4MDFDLCAweDAyQywgMHgwMEUsCi0JMHgwQUEsIDB4MEFBLCAweDBBQSwgMHgwQUEsIDB4MEFBLCAweDBBQSwgMHgwQUEsIDB4MEFBLAotCTB4MEFBLCAweDBBQSwgMHgwQUEsIDB4MEFBLCAweDBBQSwgMHgwQUQsIDB4MEQ3LCAweDAwMiwKLQkweDA3MCwgMHgwRTAsIDB4MDRDLCAweDBGMywgMHgwQTEsIDB4MEMxLCAweDBENSwgMHgwQzAsCi0JMHgwM0MsIDB4MEI5LCAweDA2OSwgMHgwMzksIDB4MDYwLCAweDA0RSwgMHgwNTgsIDB4MDc3LAotCTB4MDAyLCAweDA2NywgMHgwOTMsIDB4MDNDLCAweDA5OSwgMHgwRTQsIDB4MENGLCAweDAzOCwKLQkweDAxQywgMHgwOTcsIDB4MDJFLCAweDA0MCwgMHgwMUIsIDB4MDkwLCAweDAzMSwgMHgwNDYsCi0JMHgwQTMsIDB4MDVFLCAweDAwRSwgMHgwODgsIDB4MDM0LCAweDA2QSwgMHgwMzUsIDB4MEUwLAotCTB4MEU4LCAweDBBQSwgMHgwMzUsIDB4MDFBLCAweDBBOSwgMHgwRjUsIDB4MDE1LCAweDA0NiwKLQkweDBBMywgMHgwRUEsIDB4MDdELCAweDA0QSwgMHgwQTMsIDB4MDUxLCAweDBBQSwgMHgwOUYsCi0JMHgwNzAsIDB4MDU0LCAweDBBNiwgMHgwNTcsIDB4MDJFLCAweDBCNCwgMHgwQ0QsIDB4MEM4LAotCTB4MEEzLCAweDAwQywgMHgwQzEsIDB4MERBLCAweDBDNiwgMHgwRTEsIDB4MENCLCAweDA3QSwKLQkweDBENCwgMHgwMUMsIDB4MDY4LCAweDBGRiwgMHgwQ0YsIDB4MDU1LCAweDBBOCwgMHgwQzAsCi0JMHgwMkQsIDB4MDg1LCAweDAxMSwgMHgwMTcsIDB4MDQ0LCAweDAyQSwgMHgwMzAsIDB4MDBCLAotCTB4MDRBLCAweDA4OCwgMHgwQzIsIDB4MDRELCAweDBCNSwgMHgwMjAsIDB4MEQ1LCAweDAyNiwKLQkweDAwMSwgMHgwNjksIDB4MDUxLCAweDA2OSwgMHgwNTIsIDB4MDE5LCAweDA1MiwgMHgwNjAsCi0JMHgwMTYsIDB4MDk1LCAweDAxNiwgMHgwODIsIDB4MDk2LCAweDA1NCwgMHgwOTgsIDB4MDA1LAotCTB4MEE1LCAweDA0NSwgMHgwRjMsIDB4MERELCAweDA2QSwgMHgwRjksIDB4MDI4LCAweDAxOCwKLQkweDBFRiwgMHgwMDAsIDB4MDMwLCAweDAzMCwgMHgwNTEsIDB4MDRFLCAweDA0NCwgMHgwNUQsCi0JMHgwMTIsIDB4MEQxLCAweDA0MywgMHgwRTYsIDB4MDEyLCAweDA2RiwgMHgwOUUsIDB4MEJBLAotCTB4MENDLCAweDBERiwgMHgwMjUsIDB4MDAzLCAweDAxRCwgMHgwRTAsIDB4MDA2LCAweDAwNiwKLQkweDAwQSwgMHgwMzAsIDB4MENDLCAweDBBOSwgMHgwRUIsIDB4MDJELCAweDAwMCwgMHgwODYsCi0JMHgwQTYsIDB4MDEyLCAweDA2NSwgMHgwNEYsIDB4MDU2LCAweDBENiwgMHgwNjUsIDB4MDQ5LAotCTB4MDVGLCAweDAzRCwgMHgwRTgsIDB4MDM3LCAweDBDOSwgMHgwNDAsIDB4MEM3LCAweDA3OCwKLQkweDAwMSwgMHgwODEsIDB4MDgyLCAweDA4QywgMHgwMzMsIDB4MDE4LCAweDA0OSwgMHgwODAsCi0JMHgwQUUsIDB4MDQwLCAweDBDNSwgMHgwMTgsIDB4MDA1LCAweDA5QywgMHgwNkQsIDB4MDE4LAotCTB4MDY2LCAweDAwRSwgMHgwRjMsIDB4MEEwLCAweDBDNiwgMHgwMTIsIDB4MDYyLCAweDBERSwKLQkweDBGNSwgMHgwMDQsIDB4MEI0LCAweDBBQywgMHgwNkIsIDB4MEM2LCAweDAxOSwgMHgwOTEsCi0JMHgwNzMsIDB4MDA1LCAweDA0OCwgMHgwMkUsIDB4MDcyLCAweDA5NCwgMHgwODAsIDB4MDczLAotCTB4MEExLCAweDBDOCwgMHgwNDcsIDB4MDM2LCAweDA2NiwgMHgwNjQsIDB4MDJGLCAweDAzNiwKLQkweDA2NiwgMHgwNjQsIDB4MDA3LCAweDA5OSwgMHgwMDIsIDB4MDkxLCAweDA4RSwgMHgwNzIsCi0JMHgwRDEsIDB4MDBGLCAweDA5RCwgMHgwMDYsIDB4MDMxLCAweDA3MywgMHgwQTAsIDB4MEMzLAotCTB4MDUxLCAweDA2QSwgMHgwMUEsIDB4MDIwLCAweDBCRiwgMHgwM0EsIDB4MDBDLCAweDAyQywKLQkweDA3MywgMHgwODcsIDB4MDQzLCAweDA1RSwgMHgwNjAsIDB4MDAyLCAweDAyMywgMHgwRkMsCi0JMHgwRTAsIDB4MEQ2LCAweDAzNSwgMHgwRUYsIDB4MDlFLCAweDBGNSwgMHgwRUYsIDB4MDkyLAotCTB4MDgxLCAweDA4RSwgMHgwRjAsIDB4MDAzLCAweDAwMywgMHgwMDUsIDB4MDE4LCAweDA2NiwKLQkweDA0NSwgMHgwQ0MsIDB4MDBCLCAweDA0OCwgMHgwMkUsIDB4MDcwLCAweDAwQSwgMHgwNDAsCi0JMHgwMzksIDB4MEQwLCAweDBFNCwgMHgwMjMsIDB4MDlCLCAweDAzMywgMHgwMzIsIDB4MDE3LAotCTB4MDlCLCAweDAzMywgMHgwMzIsIDB4MDAzLCAweDBDQywgMHgwODUsIDB4MDQ4LCAweDBDNywKLQkweDAzOCwgMHgwMTQsIDB4MEE1LCAweDBDRSwgMHgwMjksIDB4MDdFLCAweDBEMiwgMHgwODAsCi0JMHgwQTEsIDB4MEE4LCAweDBCNCwgMHgwNDgsIDB4MDg4LCAweDAyRiwgMHgwQ0UsIDB4MDgzLAotCTB4MDBCLCAweDAxQywgMHgwRTEsIDB4MEQwLCAweDBENywgMHgwOTgsIDB4MDA0LCAweDA4OCwKLQkweDA4NywgMHgwQ0UsIDB4MDk2LCAweDAzMSwgMHgwNzMsIDB4MEE1LCAweDA4RiwgMHgwRjMsCi0JMHgwODMsIDB4MDU4LCAweDBENywgMHgwQkUsIDB4MDdCLCAweDA4MiwgMHgwQUYsIDB4MDkyLAotCTB4MDgxLCAweDA4RSwgMHgwRjAsIDB4MDAzLCAweDAwMywgMHgwMDUsIDB4MDE4LCAweDA2NiwKLQkweDA0NSwgMHgwQ0MsIDB4MDE1LCAweDAyMCwgMHgwQjksIDB4MEM4LCAweDAyOSwgMHgwMDAsCi0JMHgwRTcsIDB4MDQzLCAweDA5MCwgMHgwOEUsIDB4MDZDLCAweDBDQywgMHgwQzgsIDB4MDVFLAotCTB4MDZDLCAweDBDQywgMHgwQzgsIDB4MDBGLCAweDAzMiwgMHgwMDUsIDB4MDIzLCAweDAxQywKLQkweDBFNCwgMHgwNTAsIDB4MEQ0LCAweDA1QSwgMHgwMTcsIDB4MDg4LCAweDAyRiwgMHgwQ0UsCi0JMHgwODMsIDB4MDEwLCAweDBGOSwgMHgwRDAsIDB4MDIzLCAweDAxNywgMHgwM0EsIDB4MDA0LAotCTB4MDM1LCAweDBFNiwgMHgwMDAsIDB4MDIyLCAweDAxNiwgMHgwMzksIDB4MEMzLCAweDBBMywKLQkweDBGQywgMHgwRTAsIDB4MEQ2LCAweDAzNSwgMHgwRTAsIDB4MEJGLCAweDBGNCwgMHgwMTgsCi0JMHgwRjIsIDB4MDJELCAweDA0RCwgMHgwNDMsIDB4MDUxLCAweDA2RSwgMHgwNUEsIDB4MDIyLAotCTB4MDFGLCAweDAzMCwgMHgwRDQsIDB4MDE3LCAweDBFNywgMHgwNDEsIDB4MDkxLCAweDA3MywKLQkweDAwNSwgMHgwNDgsIDB4MDJFLCAweDA3NywgMHgwNjksIDB4MDAwLCAweDBFNywgMHgwNDMsCi0JMHgwOTAsIDB4MDhFLCAweDA2QywgMHgwQ0MsIDB4MEM4LCAweDA1RSwgMHgwNkMsIDB4MENDLAotCTB4MEM4LCAweDAwRiwgMHgwMzIsIDB4MDA1LCAweDAyMywgMHgwMUMsIDB4MEVGLCAweDA0QywKLQkweDA0RSwgMHgwMDYsIDB4MDA0LCAweDBDOSwgMHgwOUUsIDB4MDBCLCAweDBGRiwgMHgwNDEsCi0JMHgwOEYsIDB4MDIyLCAweDBENCwgMHgwRDQsIDB4MDM1LCAweDAxNiwgMHgwRTUsIDB4MEEyLAotCTB4MDIxLCAweDBGMywgMHgwNUEsIDB4MDgyLCAweDBGQywgMHgwRTgsIDB4MDMyLCAweDAyRSwKLQkweDA2MCwgMHgwQTksIDB4MDA1LCAweDBDRSwgMHgwMTMsIDB4MDQ4LCAweDAwNywgMHgwM0EsCi0JMHgwMUMsIDB4MDg0LCAweDA3MywgMHgwNjYsIDB4MDY2LCAweDA0MiwgMHgwRjMsIDB4MDY2LAotCTB4MDY2LCAweDA0MCwgMHgwNzksIDB4MDkwLCAweDAyOSwgMHgwMTgsIDB4MEU3LCAweDAwQSwKLQkweDA5OCwgMHgwOUMsIDB4MDBBLCAweDA5RSwgMHgwQjUsIDB4MDEyLCAweDA1QywgMHgwN0MsCi0JMHgwQzMsIDB4MDMxLCAweDA4QiwgMHgwOTgsIDB4MDJBLCAweDA3QywgMHgwRDMsIDB4MEVELAotCTB4MDM4LCAweDBFOSwgMHgwRDMsIDB4MDRFLCAweDA3NCwgMHgwRUQsIDB4MDQ5LCAweDA5RSwKLQkweDAwQiwgMHgwRkYsIDB4MDQxLCAweDA4RiwgMHgwMjIsIDB4MEQ0LCAweDBENCwgMHgwMzUsCi0JMHgwMTYsIDB4MEU1LCAweDBBMiwgMHgwMkQsIDB4MEVCLCAweDA0NSwgMHgwMzMsIDB4MDhGLAotCTB4MEZDLCAweDBGNywgMHgwQTAsIDB4MDVGLCAweDAyNSwgMHgwMDMsIDB4MDFELCAweDBFNCwKLQkweDAwRSwgMHgwMDYsIDB4MDBBLCAweDAzMCwgMHgwQ0MsIDB4MDBDLCAweDBGMywgMHgwRUIsCi0JMHgwNDAsIDB4MERFLCAweDA2MSwgMHgwQTgsIDB4MDcwLCAweDA5MiwgMHgwMEEsIDB4MDAwLAotCTB4MEUxLCAweDAyNCwgMHgwMUUsIDB4MDAwLCAweDBFMSwgMHgwMjQsIDB4MDFFLCAweDAwMCwKLQkweDBFMSwgMHgwMjQsIDB4MDFFLCAweDAwMCwgMHgwRTEsIDB4MDI0LCAweDAxRSwgMHgwMDAsCi0JMHgwRTEsIDB4MDI0LCAweDAxRSwgMHgwMDEsIDB4MDBGLCAweDA5OCwgMHgwMkEsIDB4MDBCLAotCTB4MEYzLCAweDBBMCwgMHgwQzgsIDB4MEI5LCAweDBBMiwgMHgwQTQsIDB4MDE3LCAweDAzQSwKLQkweDA2OSwgMHgwMDAsIDB4MEU3LCAweDA0MywgMHgwOTAsIDB4MDhFLCAweDA3NSwgMHgwNDgsCi0JMHgwNUUsIDB4MDcwLCAweDA2OSwgMHgwMDEsIDB4MEU2LCAweDAwMCwgMHgwNTIsIDB4MDMxLAotCTB4MENDLCAweDAxOCwgMHgwMTQsIDB4MEE1LCAweDBDQywgMHgwMDksIDB4MDgyLCAweDA5NCwKLQkweDA3MywgMHgwMEMsIDB4MEEwLCAweDA5MSwgMHgwRjUsIDB4MDI1LCAweDBDQywgMHgwMDcsCi0JMHgwMDYsIDB4MDg0LCAweDA4NCwgMHgwOUYsIDB4MDMwLCAweDBBMiwgMHgwQTQsIDB4MDdELAotCTB4MDUwLCAweDA3NSwgMHgwQTYsIDB4MDY1LCAweDAwMSwgMHgwNEEsIDB4MDhFLCAweDBCNCwKLQkweDBDQywgMHgwQzQsIDB4MDM1LCAweDA1NCwgMHgwNzUsIDB4MDY2LCAweDBBNCwgMHgwOTcsCi0JMHgwN0EsIDB4MDg5LCAweDA1MCwgMHgwNTMsIDB4MDEzLCAweDA4MCwgMHgwMTksIDB4MEUzLAotCTB4MDQ5LCAweDA1QywgMHgwNkQsIDB4MENFLCAweDBBOSwgMHgwNDAsIDB4MDM1LCAweDAwNiwKLQkweDA3OCwgMHgwRDIsIDB4MDU3LCAweDAwNiwgMHgwRjEsIDB4MEIzLCAweDAyQSwgMHgwOEQsCi0JMHgwOTcsIDB4MDIzLCAweDA2MiwgMHgwOTIsIDB4MDVELCAweDA2OSwgMHgwOTksIDB4MDFDLAotCTB4MDZBLCAweDAzNiwgMHgwRTYsIDB4MENELCAweDA0NiwgMHgwMTIsIDB4MDZGLCAweDA5RSwKLQkweDBFMSwgMHgwQUIsIDB4MEU0LCAweDBBMywgMHgwMEMsIDB4MEMwLCAweDBERSwgMHgwQUMsCi0JMHgwRDQsIDB4MDBELCAweDAyOCwgMHgwMUIsIDB4MEQwLCAweDAxMiwgMHgwQTUsIDB4MDAwLAotCTB4MEY4LCAweDA0QiwgMHgwQUQsIDB4MDMzLCAweDAyOCwgMHgwMDYsIDB4MEEwLCAweDBERSwKLQkweDAxNCwgMHgwOTcsIDB4MDNBLCAweDA4OSwgMHgwNUQsIDB4MEMwLCAweDAwRCwgMHgwRTMsCi0JMHgwMDYsIDB4MDkwLCAweDA5MiwgMHgwNUQsIDB4MDY5LCAweDA5OCwgMHgwNjYsIDB4MEI5LAotCTB4MDE5LCAweDA5NSwgMHgwRTQsIDB4MEE4LCAweDBDRiwgMHgwOUQsIDB4MDMzLCAweDAxOCwKLQkweDA0OSwgMHgwQkUsIDB4MDdCLCAweDA4NiwgMHgwQUYsIDB4MDkyLCAweDA4QywgMHgwMzMsCi0JMHgwMjQsIDB4MDE0LCAweDAwQywgMHgwRjQsIDB4MDgzLCAweDAyNCwgMHgwMjEsIDB4MEMyLAotCTB4MDcwLCAweDBCRiwgMHgwRjQsIDB4MDE4LCAweDBGMiwgMHgwMkQsIDB4MDRELCAweDA0MywKLQkweDA1MSwgMHgwNkUsIDB4MDVBLCAweDAyMiwgMHgwMUYsIDB4MDMyLCAweDBBOCwgMHgwMkYsCi0JMHgwQ0UsIDB4MDgzLCAweDAyMiwgMHgwRTYsIDB4MDA1LCAweDBBNCwgMHgwMTcsIDB4MDNBLAotCTB4MDY5LCAweDAwMCwgMHgwRTcsIDB4MDQzLCAweDA5MCwgMHgwOEUsIDB4MDc1LCAweDA0OCwKLQkweDA1RSwgMHgwNzAsIDB4MDY5LCAweDAwMSwgMHgwRTYsIDB4MDQyLCAweDBBNCwgMHgwNjMsCi0JMHgwOTgsIDB4MDAyLCAweDAyOSwgMHgwNEIsIDB4MDlBLCAweDAyOSwgMHgwNzgsIDB4MEU5LAotCTB4MDQwLCAweDA1MywgMHgwMTMsIDB4MDgxLCAweDA4MSwgMHgwMzIsIDB4MDY3LCAweDA4MiwKLQkweDBGRiwgMHgwRDAsIDB4MDYzLCAweDBDOCwgMHgwQjUsIDB4MDM1LCAweDAwRCwgMHgwNDUsCi0JMHgwQUUsIDB4MDUwLCAweDAwOCwgMHgwN0MsIDB4MEUwLCAweDBEMCwgMHgwNUYsIDB4MDlELAotCTB4MDA2LCAweDA0NSwgMHgwQ0MsIDB4MDAxLCAweDBBNCwgMHgwMTcsIDB4MDNBLCAweDA2OSwKLQkweDAwMCwgMHgwRTcsIDB4MDQzLCAweDA5MCwgMHgwOEUsIDB4MDc1LCAweDA0OCwgMHgwNUUsCi0JMHgwNzAsIDB4MDY5LCAweDAwMSwgMHgwRTYsIDB4MDU5LCAweDBBNCwgMHgwNjMsIDB4MDk4LAotCTB4MDFDLCAweDA1MiwgMHgwOTcsIDB4MDNCLCAweDAzMCwgMHgwNTIsIDB4MDhFLCAweDA3RCwKLQkweDAyQSwgMHgwMDksIDB4MDFGLCAweDA1MSwgMHgwRUIsIDB4MEE0LCAweDBBNCwgMHgwMEEsCi0JMHgwQjksIDB4MDk0LCAweDA4NywgMHgwQUUsIDB4MEM1LCAweDAzMSwgMHgwMzgsIDB4MDAyLAotCTB4MEZGLCAweDBEMCwgMHgwNjMsIDB4MEM4LCAweDBCNSwgMHgwMzUsIDB4MDBELCAweDA0NSwKLQkweDBBRSwgMHgwNTAsIDB4MDA4LCAweDA3QywgMHgwRUEsIDB4MDIwLCAweDBCRiwgMHgwM0EsCi0JMHgwMEMsIDB4MDhCLCAweDA5QSwgMHgwMTYsIDB4MDkwLCAweDA1QywgMHgwRTksIDB4MEE0LAotCTB4MDAzLCAweDA5RCwgMHgwMEUsIDB4MDQyLCAweDAzOSwgMHgwRDUsIDB4MDIxLCAweDA3OSwKLQkweDA5NSwgMHgwNDgsIDB4MDBGLCAweDAzMCwgMHgwMEEsIDB4MDkxLCAweDA4RSwgMHgwNjAsCi0JMHgwRUIsIDB4MDI5LCAweDA3MywgMHgwMDAsIDB4MDA5LCAweDA1NCwgMHgwMDQsIDB4MENBLAotCTB4MDgyLCAweDA2NSwgMHgwNTIsIDB4MDY1LCAweDBFNCwgMHgwQ0EsIDB4MDIyLCAweDA2NSwKLQkweDA3MiwgMHgwNjUsIDB4MDA5LCAweDAzMiwgMHgwRTAsIDB4MDk5LCAweDA3MiwgMHgwNEMsCi0JMHgwQzQsIDB4MEUwLCAweDAwQiwgMHgwRkYsIDB4MDQxLCAweDA4RiwgMHgwMjIsIDB4MEQ0LAotCTB4MEQ0LCAweDAzNSwgMHgwMTYsIDB4MEI5LCAweDA0MCwgMHgwMjEsIDB4MEYzLCAweDA4QSwKLQkweDA4MiwgMHgwRkMsIDB4MEU4LCAweDAzMiwgMHgwMkUsIDB4MDYwLCAweDBBOSwgMHgwMDUsCi0JMHgwQ0UsIDB4MDlBLCAweDA0MCwgMHgwMzksIDB4MEQwLCAweDBFNCwgMHgwMjMsIDB4MDlELAotCTB4MDUyLCAweDAxNywgMHgwOTksIDB4MDU0LCAweDA2MSwgMHgwOTksIDB4MDAxLCAweDBFNiwKLQkweDA0MCwgMHgwQTQsIDB4MDYzLCAweDA5OCwgMHgwMDQsIDB4MEIxLCAweDA4NCwgMHgwOTgsCi0JMHgwMTgsIDB4MEVGLCAweDAyRCwgMHgwMDMsIDB4MDA1LCAweDAzMSwgMHgwMzgsIDB4MDAyLAotCTB4MEZGLCAweDBEMCwgMHgwNjMsIDB4MEM4LCAweDBCNSwgMHgwMzUsIDB4MDBELCAweDA0NSwKLQkweDBCOSwgMHgwNjgsIDB4MDg4LCAweDA3QywgMHgwRTAsIDB4MDUwLCAweDA1RiwgMHgwOUQsCi0JMHgwMDYsIDB4MDQ1LCAweDBDQywgMHgwODEsIDB4MDQ4LCAweDAyRSwgMHgwNzEsIDB4MDM0LAotCTB4MDhGLCAweDA0OCwgMHgwMDEsIDB4MDQ4LCAweDAxNSwgMHgwMjEsIDB4MDA1LCAweDAyMSwKLQkweDBFOSwgMHgwMEEsIDB4MDUyLCAweDAwMywgMHgwQ0UsIDB4MDVBLCAweDA0NiwgMHgwMzksCi0JMHgwQ0YsIDB4MDQ3LCAweDA4RSwgMHgwNjAsIDB4MEFCLCAweDAxQSwgMHgwRjMsIDB4MDUzLAotCTB4MDQzLCAweDBFQiwgMHgwMzUsIDB4MDI0LCAweDBCOCwgMHgwMUIsIDB4MDMwLCAweDAwNywKLQkweDAwOSwgMHgwOEEsIDB4MDc0LCAweDAyRiwgMHgwN0UsIDB4MDQxLCAweDA3NCwgMHgwMUUsCi0JMHgwMUQsIDB4MDBELCAweDA4NywgMHgwNDYsIDB4MDQ5LCAweDBENSwgMHgwOTUsIDB4MEQxLAotCTB4MEQ1LCAweDBENSwgMHgwQkIsIDB4MEE5LCAweDA0RSwgMHgwODIsIDB4MDlELCAweDAwNSwKLQkweDAzQSwgMHgwMEEsIDB4MDc0LCAweDAxNCwgMHgwRTgsIDB4MDI5LCAweDBEMCwgMHgwNDIsCi0JMHgwNzQsIDB4MDVCLCAweDBDRSwgMHgwNTAsIDB4MEM0LCAweDAwNywgMHgwNDUsIDB4MEJDLAotCTB4MEUyLCAweDAwQywgMHgwNDAsIDB4MDc0LCAweDA1QiwgMHgwQ0UsIDB4MDgzLCAweDAwNCwKLQkweDBGOSwgMHgwOTUsIDB4MDRELCAweDAxMywgMHgwNjMsIDB4MDVFLCAweDA2RiwgMHgwMzEsCi0JMHgwM0IsIDB4MEEwLCAweDA4QiwgMHgwQTIsIDB4MEM1LCAweDAzOSwgMHgwOEQsIDB4MDc4LAotCTB4MDNBLCAweDAyMiwgMHgwQTAsIDB4MDAwLCAweDA2QiwgMHgwQzEsIDB4MEQxLCAweDA1NCwKLQkweDA2MCwgMHgwMTYsIDB4MEQ5LCAweDA5MSwgMHgwQTIsIDB4MEU3LCAweDA0MywgMHgwOEMsCi0JMHgwMjQsIDB4MERDLCAweDAxQywgMHgwRTAsIDB4MDUxLCAweDAxNywgMHgwMzksIDB4MDZCLAotCTB4MDNCLCAweDBDQywgMHgwNEIsIDB4MDQyLCAweDAyRSwgMHgwNkIsIDB4MDUwLCAweDBCRiwKLQkweDAzNiwgMHgwMzYsIDB4MDY1LCAweDA0RiwgMHgwN0EsIDB4MDE4LCAweDA1NSwgMHgwMjUsCi0JMHgwNzgsIDB4MDk4LCAweDAyMywgMHgwRTcsIDB4MDUwLCAweDAzRSwgMHgwRjMsIDB4MDgxLAotCTB4MDRDLCAweDAwMiwgMHgwNkQsIDB4MDNFLCAweDA3MSwgMHgwNTMsIDB4MEFGLCAweDA3OCwKLQkweDBBOSwgMHgwRDQsIDB4MEE2LCAweDAyOSwgMHgwQjEsIDB4MEJDLCAweDBEOSwgMHgwOTksCi0JMHgwQjIsIDB4MDhFLCAweDA2MiwgMHgwOEYsIDB4MDIyLCAweDAyRSwgMHgwNzUsIDB4MDE2LAotCTB4MEIwLCAweDBCMiwgMHgwQUIsIDB4MDIzLCAweDAyOCwgMHgwMTYsIDB4MDU0LCAweDA1MiwKLQkweDAzMSwgMHgwQkMsIDB4MEQ5LCAweDA5OSwgMHgwQjIsIDB4MDhFLCAweDA2NiwgMHgwMTksCi0JMHgwMDIsIDB4MDJFLCAweDA3NSwgMHgwMTYsIDB4MDUwLCAweDAyQywgMHgwQTksIDB4MEM4LAotCTB4MEM2LCAweDBGNSwgMHgwMjAsIDB4MEQzLCAweDBFNCwgMHgwN0YsIDB4MDRGLCAweDA5QywKLQkweDAwQSwgMHgwRDYsIDB4MDE2LCAweDA3RiwgMHgwOTAsIDB4MEVFLCAweDA0QywgMHgwRUIsCi0JMHgwQ0YsIDB4MEUyLCAweDA4OCwgMHgwQkEsIDB4MDJGLCAweDA0MiwgMHgwODYsIDB4MEFFLAotCTB4MEJELCAweDBFNSwgMHgwQTcsIDB4MDUyLCAweDA5RiwgMHgwOTMsIDB4MDYzLCAweDA3OSwKLQkweDBFQiwgMHgwMzMsIDB4MDA4LCAweDBGOSwgMHgwOTQsIDB4MDUyLCAweDA0NywgMHgwQ0QsCi0JMHgwOTksIDB4MDI1LCAweDA2RiwgMHgwM0EsIDB4MDBDLCAweDAxMywgMHgwRTYsIDB4MDU1LAotCTB4MDM0LCAweDA0QywgMHgwNUEsIDB4MDRELCAweDBCNSwgMHgwMjMsIDB4MDk1LCAweDBBNSwKLQkweDA0OCwgMHgwMTEsIDB4MDVBLCAweDAwQSwgMHgwNDMsIDB4MDk1LCAweDBBQywgMHgwMkMsCi0JMHgwQkEsIDB4MDI0LCAweDAwNSwgMHgwNDksIDB4MEIxLCAweDBCQywgMHgwQ0EsIDB4MEE3LAotCTB4MDcyLCAweDA2QywgMHgwNkIsIDB4MEM1LCAweDBCRCwgMHgwRTgsIDB4MDMxLCAweDA2OSwKLQkweDA1MiwgMHgwNUQsIDB4MDA2LCAweDAxMiwgMHgwNjUsIDB4MDNFLCAweDBCMSwgMHgwNTAsCi0JMHgwNEMsIDB4MDdELCAweDA0RiwgMHgwQUMsIDB4MDBBLCAweDAzMCwgMHgwMEIsIDB4MDM2LAotCTB4MDY0LCAweDAxMSwgMHgwNzMsIDB4MDhBLCAweDA4MywgMHgwOEUsIDB4MDc1LCAweDAxMiwKLQkweDA5RiwgMHgwN0IsIDB4MEQyLCAweDA5OSwgMHgwNTgsIDB4MEVFLCAweDA4MiwgMHgwMkUsCi0JMHgwNzcsIDB4MEEwLCAweDBFMywgMHgwOUQsIDB4MDVELCAweDA0RiwgMHgwQkMsIDB4MDJBLAotCTB4MDUzLCAweDAyOSwgMHgwNTMsIDB4MERFLCAweDA5MywgMHgwMjQsIDB4MEJBLCAweDBCMywKLQkweDAzNiwgMHgwQUEsIDB4MDRBLCAweDBDNiwgMHgwNzksIDB4MEQ0LCAweDBCOSwgMHgwREUsCi0JMHgwNjIsIDB4MDVBLCAweDAxMSwgMHgwNzMsIDB4MDUwLCAweDA1MCwgMHgwQkYsIDB4MDM3LAotCTB4MDM2LCAweDA2RiwgMHgwMTMsIDB4MDIzLCAweDBCQSwgMHgwMEMsIDB4MDI0LCAweDBDRSwKLQkweDBCRCwgMHgwRTIsIDB4MEE3LCAweDA1MiwgMHgwQjIsIDB4MDhFLCAweDA2QiwgMHgwNjAsCi0JMHgwNjIsIDB4MDJFLCAweDA3NSwgMHgwMTMsIDB4MDMwLCAweDBBQywgMHgwQTAsIDB4MDU5LAotCTB4MENBLCAweDA2NCwgMHgwNjMsIDB4MDc5LCAweDBCMywgMHgwMzMsIDB4MDY1LCAweDAxQywKLQkweDBDQywgMHgwMzIsIDB4MDA0LCAweDA1QywgMHgwRUEsIDB4MDJDLCAweDBBMCwgMHgwNTksCi0JMHgwREYsIDB4MDIzLCAweDAxQiwgMHgwRDQsIDB4MDgzLCAweDA1MiwgMHgwNDcsIDB4MERELAotCTB4MDc5LCAweDA5NiwgMHgwRDQsIDB4MDlFLCAweDBCMywgMHgwNTIsIDB4MDRCLCAweDBBMiwKLQkweDA1QSwgMHgwMUEsIDB4MDhELCAweDA1RCwgMHgwN0IsIDB4MDgyLCAweDBBNywgMHgwNTIsCi0JMHgwQjIsIDB4MDhFLCAweDA2NiwgMHgwMTksIDB4MDAyLCAweDAyRSwgMHgwNzUsIDB4MDE2LAotCTB4MDUwLCAweDAyQywgMHgwOEMsIDB4MDMyLCAweDAxRCwgMHgwN0IsIDB4MDhFLCAweDBBNywKLQkweDA1MiwgMHgwQjEsIDB4MEJDLCAweDBEOSwgMHgwOTksIDB4MDk4LCAweDAwNCwgMHgwREEsCi0JMHgwN0MsIDB4MEUyLCAweDBBQywgMHgwRkUsIDB4MDY2LCAweDAxOSwgMHgwMDIsIDB4MDJFLAotCTB4MDY1LCAweDA1MCwgMHgwQkYsIDB4MDMzLCAweDA2NiwgMHgwNjQsIDB4MEZFLCAweDA3NCwKLQkweDAxOCwgMHgwODYsIDB4MDRDLCAweDAxNywgMHgwMjYsIDB4MEQ2LCAweDAxNiwgMHgwNTIsCi0JMHgwMzksIDB4MDE4LCAweDBERSwgMHgwN0EsIDB4MENDLCAweDBDMiwgMHgwM0UsIDB4MDY1LAotCTB4MDE0LCAweDA5MSwgMHgwRjMsIDB4MDY2LCAweDA0OSwgMHgwMDgsIDB4MDZFLCAweDA4MywKLQkweDAwOSwgMHgwMzMsIDB4MEFGLCAweDAzMSwgMHgwRUQsIDB4MDBELCAweDA5RCwgMHgwMDYsCi0JMHgwMTIsIDB4MDYyLCAweDAyQSwgMHgwMzEsIDB4MDhELCAweDA2RCwgMHgwRTcsIDB4MDQxLAotCTB4MDgyLCAweDA3QywgMHgwQ0EsIDB4MEE2LCAweDA4OSwgMHgwODcsIDB4MDA5LCAweDAyRSwKLQkweDAyOSwgMHgwQjEsIDB4MEFGLCAweDAxMCwgMHgwMzksIDB4MEQ2LCAweDA2NCwgMHgwOTcsCi0JMHgwMzAsIDB4MDFELCAweDA0MiwgMHgwNzUsIDB4MDkzLCAweDA0NCwgMHgwMDIsIDB4MDhDLAotCTB4MDI0LCAweDBEMiwgMHgwN0EsIDB4MEIzLCAweDA1MCwgMHgwRjYsIDB4MDg5LCAweDAwNSwKLQkweDA0MywgMHgwNUUsIDB4MDYxLCAweDA5OCwgMHgwQzAsIDB4MDJDLCAweDA5MiwgMHgwMjUsCi0JMHgwM0MsIDB4MDhCLCAweDAyNCwgMHgwODksIDB4MDQ5LCAweDAwNSwgMHgwNDksIDB4MEU3LAotCTB4MDBDLCAweDBCOSwgMHgwODQsIDB4MDk4LCAweDBCNywgMHgwQUQsIDB4MDMzLCAweDA0NCwKLQkweDBBRSwgMHgwNUEsIDB4MDUxLCAweDA4NiwgMHgwNjAsIDB4MDlGLCAweDAzOCwgMHgwQTksCi0JMHgwQTIsIDB4MDZDLCAweDA2QiwgMHgwQzQsIDB4MDhFLCAweDBGNCwgMHgwNUUsIDB4MDQ5LAotCTB4MDQ2LCAweDAxMiwgMHgwNjIsIDB4MERFLCAweDBCNCwgMHgwQ0QsIDB4MDIxLCAweDA1QywKLQkweDBCNCwgMHgwQTMsIDB4MDBDLCAweDBDMSwgMHgwM0UsIDB4MDcyLCAweDAyOSwgMHgwQTIsCi0JMHgwNkMsIDB4MDZCLCAweDBDNiwgMHgwMTIsIDB4MDYyLCAweDA0NywgMHgwRjAsIDB4MEU4LAotCTB4MEMzLCAweDAzMiwgMHgwMDQsIDB4MDM1LCAweDA0MCwgMHgwOTIsIDB4MEE0LCAweDA4MiwKLQkweDA4OCwgMHgwMTAsIDB4MDkyLCAweDA3QywgMHgwQ0IsIDB4MEQ0LCAweDAyRiwgMHgwQTQsCi0JMHgwMDIsIDB4MDExLCAweDA4NCwgMHgwOTgsIDB4MEI3LCAweDBBRCwgMHgwMzMsIDB4MDQ0LAotCTB4MEFFLCAweDA1QSwgMHgwNTEsIDB4MDg2LCAweDA2MCwgMHgwOUYsIDB4MDM4LCAweDBBOSwKLQkweDBBMiwgMHgwNkMsIDB4MDZCLCAweDBDNCwgMHgwOEUsIDB4MEY0LCAweDA1RSwgMHgwNDksCi0JMHgwNDQsIDB4MDA4LCAweDA0OSwgMHgwM0UsIDB4MDY1LCAweDBFQSwgMHgwMTcsIDB4MEQyLAotCTB4MDAxLCAweDAwOCwgMHgwQzIsIDB4MDRDLCAweDA1QiwgMHgwRDYsIDB4MDk5LCAweDBBNCwKLQkweDAyQiwgMHgwOTYsIDB4MDk0LCAweDA2MSwgMHgwOTgsIDB4MDI3LCAweDBDRSwgMHgwNDUsCi0JMHgwMzQsIDB4MDRELCAweDA4RCwgMHgwNzgsIDB4MDgxLCAweDAwOSwgMHgwMjcsIDB4MENDLAotCTB4MEJELCAweDAxMiwgMHgwMjgsIDB4MDZDLCAweDA1OCwgMHgwQUYsIDB4MEI2LCAweDBGMywKLQkweDBBMCwgMHgwQzEsIDB4MDNFLCAweDA2NSwgMHgwNTMsIDB4MDQ0LCAweDBEOCwgMHgwRDcsCi0JMHgwOTIsIDB4MDhFLCAweDA3RCwgMHgwNEIsIDB4MEMyLCAweDBGQSwgMHgwNjEsIDB4MDI2LAotCTB4MDA2LCAweDAzQSwgMHgwQjMsIDB4MDZCLCAweDAwMywgMHgwMDUsIDB4MDQ5LCAweDBFNywKLQkweDAwQywgMHgwQjksIDB4MDZGLCAweDA1QSwgMHgwNjYsIDB4MDk1LCAweDA1QywgMHgwQjQsCi0JMHgwQTMsIDB4MDBDLCAweDBDMSwgMHgwM0UsIDB4MDcwLCAweDAyOSwgMHgwQTIsIDB4MDZFLAotCTB4MEE0LCAweDBERiwgMHgwOTMsIDB4MDcxLCAweDAxMywgMHgwNzcsIDB4MDI2LCAweDBFMSwKLQkweDAyNiwgMHgwRjgsIDB4MDI2LCAweDBDNiwgMHgwQkMsIDB4MDk0LCAweDA3MywgMHgwRjksCi0JMHgwMkYsIDB4MDBCLCAweDBFOSwgMHgwODQsIDB4MDk4LCAweDAxOCwgMHgwRUEsIDB4MENDLAotCTB4MEVDLCAweDAwQywgMHgwMTUsIDB4MDI3LCAweDA5QywgMHgwMzIsIDB4MEZGLCAweDAzRCwKLQkweDA1NiwgMHgwQUYsIDB4MDkyLCAweDA4QiwgMHgwN0EsIDB4MEQzLCAweDAzNSwgMHgwRDUsCi0JMHgwQ0IsIDB4MDRBLCAweDAzMCwgMHgwQ0MsIDB4MDEzLCAweDBFNywgMHgwMDIsIDB4MDlBLAotCTB4MDI2LCAweDBDNiwgMHgwQkMsIDB4MDk0LCAweDA3MywgMHgwNDEsIDB4MDk3LCAweDA5MSwKLQkweDBGNCwgMHgwODMsIDB4MENFLCAweDAwNCwgMHgwMjAsIDB4MDYyLCAweDA4QiwgMHgwMDUsCi0JMHgwMTYsIDB4MDQ5LCAweDA4QywgMHgwMjQsIDB4MEMwLCAweDBDNywgMHgwNTYsIDB4MDkwLAotCTB4MEMwLCAweDBDMSwgMHgwNTIsIDB4MDc5LCAweDBDMywgMHgwMkUsIDB4MDVCLCAweDBENSwKLQkweDBBNiwgMHgwNzIsIDB4MEQyLCAweDA5NCwgMHgwRkEsIDB4MEFELCAweDA1OCwgMHgwQzgsCi0JMHgwRkEsIDB4MDlGLCAweDA1NCwgMHgwQjMsIDB4MDMyLCAweDA0QiwgMHgwQjksIDB4MDU0LAotCTB4MEE2LCAweDA1MSwgMHgwODYsIDB4MDZCLCAweDA3OSwgMHgwRDAsIDB4MDYwLCAweDA5RiwKLQkweDAzMiwgMHgwMDUsIDB4MDM0LCAweDA0RCwgMHgwOEQsIDB4MDdBLCAweDA0RCwgMHgwMUUsCi0JMHgwN0EsIDB4MEIzLCAweDA1MSwgMHgwMDAsIDB4MEE5LCAweDAzRCwgMHgwNTksIDB4MEE4LAotCTB4MDdCLCAweDA0NCwgMHgwODIsIDB4MEExLCAweDBBRiwgMHgwNEEsIDB4MDhELCAweDA1MiwKLQkweDBBOSwgMHgwNTIsIDB4MDQxLCAweDA0OSwgMHgwNEYsIDB4MDNBLCAweDAyRSwgMHgwNDAsCi0JMHgwQTQsIDB4MDk5LCAweDA1MCwgMHgwQkUsIDB4MDkwLCAweDAwOCwgMHgwNTIsIDB4MDc5LAotCTB4MEMzLCAweDAyRSwgMHgwNjEsIDB4MDI2LCAweDAyRCwgMHgwRUIsIDB4MDRDLCAweDBEMCwKLQkweDAxNSwgMHgwQ0IsIDB4MDRBLCAweDAzMCwgMHgwQ0MsIDB4MDEzLCAweDBFNywgMHgwMDIsCi0JMHgwOUEsIDB4MDI2LCAweDBDNiwgMHgwQkMsIDB4MDQ4LCAweDBGRSwgMHgwMUQsIDB4MDI1LAotCTB4MDQ2LCAweDBBOSwgMHgwNTQsIDB4MEE5LCAweDAyMCwgMHgwQTQsIDB4MEE3LCAweDA5RCwKLQkweDAxNywgMHgwMjAsIDB4MDUyLCAweDA0QywgMHgwQTgsIDB4MDVGLCAweDA0OCwgMHgwMDQsCi0JMHgwMjMsIDB4MDA5LCAweDAzMSwgMHgwNkYsIDB4MDVBLCAweDA2NiwgMHgwODAsIDB4MEFFLAotCTB4MDVBLCAweDA1MSwgMHgwODYsIDB4MDYwLCAweDA5RiwgMHgwMzgsIDB4MDE0LCAweDBEMSwKLQkweDAzNiwgMHgwMzUsIDB4MEU0LCAweDBBNywgMHgwOUQsIDB4MDE3LCAweDAyMCwgMHgwNTIsCi0JMHgwNEMsIDB4MEEyLCAweDA0NSwgMHgwMEQsIDB4MDhCLCAweDAxNSwgMHgwRjQsIDB4MDkxLAotCTB4MERFLCAweDA4QiwgMHgwQzksIDB4MDI4LCAweDBDMiwgMHgwNEMsIDB4MDVCLCAweDBENiwKLQkweDA5OSwgMHgwQTksIDB4MDVDLCAweDBCNCwgMHgwQTMsIDB4MDBDLCAweDBENiwgMHgwRjMsCi0JMHgwQTAsIDB4MEMxLCAweDAzRSwgMHgwNjQsIDB4MDBBLCAweDA2OCwgMHgwOUIsIDB4MDFBLAotCTB4MEYxLCAweDA2RCwgMHgwNEMsIDB4MEFBLCAweDA5MiwgMHgwRTAsIDB4MDM2LCAweDA5NCwKLQkweDA3MCwgMHgwOUIsIDB4MDI5LCAweDA3OCwgMHgwMTMsIDB4MEFFLCAweDBCMywgMHgwQUEsCi0JMHgwODUsIDB4MEQ0LCAweDA0MywgMHgwNzUsIDB4MDA5LCAweDAzQSwgMHgwQzksIDB4MEVCLAotCTB4MDM1LCAweDAyNCwgMHgwQjgsIDB4MDFCLCAweDAzMiwgMHgwOEUsIDB4MDEzLCAweDA0OCwKLQkweDA3RSwgMHgwNEUsIDB4MEZELCAweDA0MCwgMHgwRkQsIDB4MDQwLCAweDBGRCwgMHgwNDAsCi0JMHgwRkQsIDB4MDQwLCAweDBGRCwgMHgwNDAsIDB4MEZDLCAweDAxMywgMHgwRjQsIDB4MDIxLAotCTB4MEY5LCAweDAxNywgMHgwNDUsIDB4MDhBLCAweDAzMCwgMHgwMEIsIDB4MDMzLCAweDA1RiwKLQkweDA4MywgMHgwQTIsIDB4MDJBLCAweDAzMCwgMHgwMEIsIDB4MDMzLCAweDA1RiwgMHgwODMsCi0JMHgwQTIsIDB4MEE4LCAweDBDMCwgMHgwMkQsIDB4MEIzLCAweDAyMCwgMHgwNzAsIDB4MDkyLAotCTB4MDEzLCAweDA5QSwgMHgwREUsIDB4MDc0LCAweDAxOCwgMHgwMjcsIDB4MENDLCAweDBBQSwKLQkweDA2OCwgMHgwOUIsIDB4MDFBLCAweDBGNywgMHgwMDcsIDB4MDQ1LCAweDA1MSwgMHgwODAsCi0JMHgwNUIsIDB4MDY2LCAweDA0NywgMHgwMDcsIDB4MDM4LCAweDBBOCwgMHgwMjMsIDB4MEU3LAotCTB4MDUxLCAweDAxMSwgMHgwM0YsIDB4MEUwLCAweDBFOCwgMHgwODUsIDB4MDQ2LCAweDAwMSwKLQkweDA2RCwgMHgwOTksIDB4MDA2LCAweDAxMiwgMHgwNjUsIDB4MDRGLCAweDA3QSwgMHgwMjAsCi0JMHgwMjQsIDB4MEJBLCAweDBCMywgMHgwMzIsIDB4MDE1LCAweDAyNSwgMHgwN0IsIDB4MEFELAotCTB4MDMzLCAweDA3OCwgMHgwQUUsIDB4MDBFLCAweDA3MywgMHgwRDAsIDB4MDQ3LCAweDBDRSwKLQkweDBBNywgMHgwMzAsIDB4MENDLCAweDA0NCwgMHgwRkYsIDB4MDgzLCAweDBBMiwgMHgwQTgsCi0JMHgwQzAsIDB4MDJDLCAweDBEOSwgMHgwOTEsIDB4MEMxLCAweDBEMSwgMHgwMTUsIDB4MDE4LAotCTB4MDA1LCAweDA5QiwgMHgwMzIsIDB4MDA4LCAweDBCQSwgMHgwMkMsIDB4MDUxLCAweDA4MCwKLQkweDA1OSwgMHgwQjMsIDB4MDIwLCAweDA3MCwgMHgwOTIsIDB4MEUyLCAweDA5OCwgMHgwODksCi0JMHgwRkQsIDB4MEJDLCAweDBFRSwgMHgwMTgsIDB4MDkwLCAweDBGQywgMHgwOEIsIDB4MEEyLAotCTB4MEM1LCAweDAyQiwgMHgwMEQsIDB4MDc4LCAweDAzQSwgMHgwMjIsIDB4MEE1LCAweDA2MSwKLQkweDBBRiwgMHgwMDcsIDB4MDQ1LCAweDA1MSwgMHgwODAsIDB4MDVCLCAweDA2NiwgMHgwNDQsCi0JMHgwOUUsIDB4MEIzLCAweDA1MiwgMHgwNEIsIDB4MDgzLCAweDBBRCwgMHgwQzcsIDB4MDA5LAotCTB4MEJFLCAweDAxRiwgMHgwOUYsIDB4MDc0LCAweDA2NSwgMHgwNUQsIDB4MDBBLCAweDAxNywKLQkweDA3QywgMHgwQUIsIDB4MEEwLCAweDBDMiwgMHgwNEMsIDB4MDM4LCAweDA0OSwgMHgwMTIsCi0JMHgwMkUsIDB4MDM4LCAweDA0OSwgMHgwMDcsIDB4MEEzLCAweDAwQywgMHgwQzEsIDB4MDNFLAotCTB4MDY1LCAweDA1MywgMHgwNDQsIDB4MEQ4LCAweDBENywgMHgwQUQsIDB4MEU3LCAweDAwMCwKLQkweDAzMiwgMHgwNEIsIDB4MDlCLCAweDAzMywgMHgwMzQsIDB4MDRBLCAweDAwMywgMHgwMDAsCi0JMHgwOUQsIDB4MDI1LCAweDBDRSwgMHgwODMsIDB4MDI0LCAweDBCOCwgMHgwMTksIDB4MDk5LAotCTB4MDhDLCAweDAwMiwgMHgwMTIsIDB4MDRCLCAweDBBMSwgMHgwOTksIDB4MEQ4LCAweDBDMCwKLQkweDAyNywgMHgwNDksIDB4MDczLCAweDBDRiwgMHgwRjksIDB4MDNDLCAweDBGNCwgMHgwN0MsCi0JMHgwRTcsIDB4MDk4LCAweDAwNCwgMHgwRTksIDB4MDJFLCAweDA3RiwgMHgwMzksIDB4MEUzLAotCTB4MDRGLCAweDA0NiwgMHgwNTMsIDB4MEMwLCAweDA2MCwgMHgwMTMsIDB4MEE0LCAweDBCOSwKLQkweDBFNSwgMHgwM0MsIDB4MDAzLCAweDBERSwgMHgwOEYsIDB4MDlDLCAweDBGMywgMHgwMDAsCi0JMHgwOUMsIDB4MDZGLCAweDBDRiwgMHgwM0UsIDB4MDg1LCAweDBGOSwgMHgwQTMsIDB4MDM2LAotCTB4MDAyLCAweDAxRSwgMHgwNjAsIDB4MDM4LCAweDA5MiwgMHgwM0UsIDB4MDYzLCAweDAxQSwKLQkweDAxMCwgMHgwOUYsIDB4MENGLCAweDAxOCwgMHgwMTAsIDB4MDkyLCAweDBCQywgMHgwRDAsCi0JMHgwQTQsIDB4MDBDLCAweDBEQywgMHgwQzAsIDB4MDBGLCAweDA5QywgMHgwOTcsIDB4MDM0LAotCTB4MDYyLCAweDBCNiwgMHgwRTcsIDB4MEYzLCAweDBGMywgMHgwQTUsIDB4MENGLCAweDAxOCwKLQkweDA0MiwgMHgwMzQsIDB4MDFDLCAweDBDMiwgMHgwQ0EsIDB4MEZBLCAweDA4RSwgMHgwNjgsCi0JMHgwNTIsIDB4MDA2LCAweDBBRiwgMHgwM0MsIDB4MEEzLCAweDAwRCwgMHgwQkYsIDB4MDlFLAotCTB4MDUwLCAweDBFMSwgMHgwRDEsIDB4MDczLCAweDBDQSwgMHgwRTAsIDB4MDNBLCAweDBGQywKLQkweDBDMSwgMHgwMDksIDB4MDFBLCAweDAxRSwgMHgwNkEsIDB4MDVDLCAweDA1QiwgMHgwOEUsCi0JMHgwNjMsIDB4MDRFLCAweDA3NywgMHgwNzMsIDB4MENDLCAweDA2MSwgMHgwNjcsIDB4MERELAotCTB4MEU2LCAweDA2QywgMHgwNDgsIDB4MEQxLCAweDBGMywgMHgwMUIsIDB4MDI0LCAweDA2OSwKLQkweDA1MSwgMHgwMDgsIDB4MEQ0LCAweDA0MiwgMHgwMUIsIDB4MEY0LCAweDA2NywgMHgwRDEsCi0JMHgwODAsIDB4MDRFLCAweDAyRiwgMHgwRDAsIDB4MDhDLCAweDBEOCwgMHgwMzAsIDB4MDA5LAotCTB4MEMyLCAweDAxRSwgMHgwODAsIDB4MDFDLCAweDA0NiwgMHgwMDEsIDB4MDNBLCAweDA0NywKLQkweDBEMCwgMHgwMzEsIDB4MEExLCAweDAwNiwgMHgwMDEsIDB4MDNBLCAweDA3RiwgMHgwNDYsCi0JMHgwMzAsIDB4MDIxLCAweDAxOCwgMHgwMDQsIDB4MEU5LCAweDA1RSwgMHgwODQsIDB4MDI5LAotCTB4MDAwLCAweDBDMCwgMHgwMjcsIDB4MENELCAweDBEMCwgMHgwMDAsIDB4MDdDLCAweDA5OCwKLQkweDAwNCwgMHgwRjksIDB4MDJFLCAweDA4NCwgMHgwNjIsIDB4MDhDLCAweDAwMiwgMHgwN0QsCi0JMHgwQkEsIDB4MDNFLCAweDA3RSwgMHgwNEMsIDB4MDAyLCAweDA3RCwgMHgwMkUsIDB4MDhDLAotCTB4MDYxLCAweDAwOCwgMHgwMzAsIDB4MDA5LCAweDBGNCwgMHgwMUQsIDB4MDAxLCAweDA2NSwKLQkweDA3MywgMHgwMDAsIDB4MDlGLCAweDA1MSwgMHgwRDAsIDB4MDg1LCAweDAyMCwgMHgwMTgsCi0JMHgwMDQsIDB4MEZBLCAweDBCRCwgMHgwMTksIDB4MDQ2LCAweDAxOCwgMHgwQzAsIDB4MDI3LAotCTB4MERGLCAweDBEMSwgMHgwOTQsIDB4MDM4LCAweDA0QywgMHgwMDIsIDB4MDdELCAweDAxNywKLQkweDA0NiwgMHgwNTcsIDB4MDAxLCAweDAzMCwgMHgwMDksIDB4MEY1LCAweDBGQSwgMHgwMDEsCi0JMHgwMDksIDB4MDA2LCAweDAwMSwgMHgwM0UsIDB4MDg3LCAweDBBMSwgMHgwNEIsIDB4MDg4LAotCTB4MEMwLCAweDAyNywgMHgwREMsIDB4MDc0LCAweDAwRCwgMHgwMzksIDB4MEQzLCAweDAwMCwKLQkweDA5RiwgMHgwNzMsIDB4MEQwLCAweDAzMCwgMHgwQjMsIDB4MDk4LCAweDAwNCwgMHgwRkIsCi0JMHgwQkQsIDB4MDA2LCAweDBDNCwgMHgwODMsIDB4MDAwLCAweDA5RiwgMHgwNDcsIDB4MEQwLAotCTB4MDM2LCAweDA0OCwgMHgwQ0MsIDB4MDAyLCAweDA3MSwgMHgwQkYsIDB4MDNGLCAweDA5QSwKLQkweDAxNywgMHgwRTYsIDB4MDNGLCAweDAwOCwgMHgwMjEsIDB4MEU2LCAweDA5MiwgMHgwQTQsCi0JMHgwOEYsIDB4MDlBLCAweDAxMCwgMHgwMzEsIDB4MEE3LCAweDBGMywgMHgwMTAsIDB4MEIxLAotCTB4MDg0LCAweDBBRiwgMHgwM0EsIDB4MEFDLCAweDBEQywgMHgwRjcsIDB4MDczLCAweDBGMiwKLQkweDA1QywgMHgwQzYsIDB4MDJBLCAweDBEQiwgMHgwOUUsIDB4MDdFLCAweDA3RSwgMHgwOTcsCi0JMHgwMzEsIDB4MDA4LCAweDA2MywgMHgwRDAsIDB4MDczLCAweDA3QiwgMHgwNDMsIDB4MEE4LAotCTB4MEU2LCAweDAzRCwgMHgwMzQsIDB4MEVBLCAweDBGMywgMHgwRTMsIDB4MDE1LCAweDBCRiwKLQkweDA5RiwgMHgwMTgsIDB4MDVGLCAweDA0NSwgMHgwQ0YsIDB4MEU4LCAweDA5RiwgMHgwNUYsCi0JMHgwOUEsIDB4MDVCLCAweDAwMywgMHgwRDAsIDB4MEYzLCAweDBEMywgMHgwQ0UsIDB4MDM3LAotCTB4MDFDLCAweDBEMCwgMHgwMEYsIDB4MEJCLCAweDA5RSwgMHgwNjgsIDB4MDc4LCAweDAzQiwKLQkweDBCQywgMHgwQ0EsIDB4MDMxLCAweDBFOCwgMHgwRjksIDB4MEEyLCAweDAwMiwgMHgwMTIsCi0JMHgwQTIsIDB4MDczLCAweDA1MSwgMHgwMDgsIDB4MDZGLCAweDBEMSwgMHgwRjMsIDB4MDQ2LAotCTB4MDAxLCAweDAzOCwgMHgwQkYsIDB4MDQwLCAweDBGQywgMHgwMjMsIDB4MDAwLCAweDA5QywKLQkweDAyMSwgMHgwRTgsIDB4MDQ5LCAweDA1MSwgMHgwODAsIDB4MDRFLCAweDA5MSwgMHgwRjQsCi0JMHgwMjEsIDB4MDAzLCAweDAxOSwgMHgwODAsIDB4MDRFLCAweDA5RiwgMHgwRDAsIDB4MDIxLAotCTB4MDYzLCAweDAwNiwgMHgwMDEsIDB4MDNBLCAweDA1NiwgMHgwOEMsIDB4MDAyLCAweDA3NCwKLQkweDBGRSwgMHgwNzUsIDB4MDQ5LCAweDA1RSwgMHgwNjMsIDB4MEQzLCAweDA0QSwgMHgwNTQsCi0JMHgwNDIsIDB4MDM1LCAweDAxMywgMHgwQTcsIDB4MEQxLCAweDA4MCwgMHgwNEUsIDB4MDk1LAotCTB4MEU4LCAweDAxRSwgMHgwOUEsIDB4MDRDLCAweDAwMiwgMHgwN0MsIDB4MERELCAweDAxQiwKLQkweDBCOSwgMHgwRTYsIDB4MDAxLCAweDAzRSwgMHgwNEIsIDB4MEEwLCAweDA2MiwgMHgwQTMsCi0JMHgwMDAsIDB4MDlGLCAweDA2RSwgMHgwOEMsIDB4MEZDLCAweDBGMywgMHgwMDAsIDB4MDlGLAotCTB4MDRCLCAweDBBMCwgMHgwNDIsIDB4MDE4LCAweDBDQywgMHgwMDIsIDB4MDdELCAweDAwNywKLQkweDA0MywgMHgwREEsIDB4MDEzLCAweDAwMCwgMHgwOUYsIDB4MDUxLCAweDBEMCwgMHgwM0QsCi0JMHgwMzQsIDB4MDk4LCAweDAwNCwgMHgwRkEsIDB4MEJELCAweDAxQywgMHgwNjIsIDB4MDhDLAotCTB4MDAyLCAweDA3RCwgMHgwRkQsIDB4MDFDLCAweDA2MSwgMHgwNzMsIDB4MDAwLCAweDA5RiwKLQkweDA0NSwgMHgwRDEsIDB4MEY0LCAweDA0RSwgMHgwNjAsIDB4MDEzLCAweDBFQiwgMHgwRjQsCi0JMHgwMjUsIDB4MEIwLCAweDAzMywgMHgwMDAsIDB4MDlGLCAweDA0MywgMHgwRDEsIDB4MEE3LAotCTB4MDlDLCAweDAxOCwgMHgwMDQsIDB4MEZCLCAweDA4RSwgMHgwODQsIDB4MDAzLCAweDBFOSwKLQkweDA4MCwgMHgwNEYsIDB4MEI5LCAweDBFOCwgMHgwNDMsIDB4MEMxLCAweDAzMCwgMHgwMDksCi0JMHgwRjcsIDB4MDdBLCAweDAwQSwgMHgwMzEsIDB4MDk4LCAweDAwNCwgMHgwRkEsIDB4MDNFLAotCTB4MDg0LCAweDA0MCwgMHgwNDEsIDB4MDgwLCAweDA0RSwgMHgwODIsIDB4MEU3LCAweDA0MSwKLQkweDA4NywgMHgwMDksIDB4MDIzLCAweDAwNCwgMHgwMjMsIDB4MDAwLCAweDA5RCwgMHgwMDUsCi0JMHgwQ0UsIDB4MDk2LCAweDAxQywgMHgwMjQsIDB4MDhDLCAweDAxMCwgMHgwOEMsIDB4MDAyLAotCTB4MDc0LCAweDAxNywgMHgwM0EsIDB4MDA0LCAweDAzOCwgMHgwNDksIDB4MDE4LCAweDAyMSwKLQkweDAxOCwgMHgwMDQsIDB4MEU4LCAweDAyRSwgMHgwNzQsIDB4MDUwLCAweDBFMSwgMHgwMjQsCi0JMHgwNjAsIDB4MDg0LCAweDA2MCwgMHgwMTMsIDB4MEEwLCAweDBCOSwgMHgwRDQsIDB4MDExLAotCTB4MEMyLCAweDA0OCwgMHgwQzEsIDB4MDA4LCAweDBDMCwgMHgwMjcsIDB4MDQxLCAweDA3MywKLQkweDBBOCwgMHgwMjMsIDB4MDg0LCAweDA5MSwgMHgwODIsIDB4MDExLCAweDA4MCwgMHgwNEUsCi0JMHgwODIsIDB4MEU3LCAweDA1MiwgMHgwOEUsIDB4MDEyLCAweDA0NiwgMHgwMDgsIDB4MDQ2LAotCTB4MDAxLCAweDAzQSwgMHgwMEIsIDB4MDlELCAweDA0MCwgMHgwMUMsIDB4MDI0LCAweDA4QywKLQkweDAxMCwgMHgwOEMsIDB4MDAyLCAweDA3NCwgMHgwMTcsIDB4MDNBLCAweDAwOSwgMHgwMEUsCi0JMHgwMTIsIDB4MDQ2LCAweDAwOCwgMHgwNDYsIDB4MDAxLCAweDAzQSwgMHgwMEIsIDB4MDk4LAotCTB4MDZBLCAweDAxQywgMHgwMjQsIDB4MEIwLCAweDBFMSwgMHgwMTgsIDB4MDA0LCAweDBFOCwKLQkweDAyRSwgMHgwNkIsIDB4MDUwLCAweDBFMSwgMHgwMjUsIDB4MDg3LCAweDAwOCwgMHgwQzAsCi0JMHgwMjcsIDB4MDQxLCAweDA3MywgMHgwMDUsIDB4MDQzLCAweDA4NCwgMHgwOTYsIDB4MDFDLAotCTB4MDIzLCAweDAwMCwgMHgwOUQsIDB4MDA1LCAweDBDQywgMHgwQUEsIDB4MDFDLCAweDAyNCwKLQkweDBCMCwgMHgwRTEsIDB4MDE4LCAweDAwNCwgMHgwRTgsIDB4MDJFLCAweDA3MCwgMHgwNjgsCi0JMHgwNzAsIDB4MDkyLCAweDBDMywgMHgwODQsIDB4MDYwLCAweDAxMywgMHgwRTUsIDB4MDQ0LAotCTB4MEY5LCAweDA0MCwgMHgwOUQsIDB4MDA1LCAweDBDRSwgMHgwNUEsIDB4MDFDLCAweDAyNCwKLQkweDBCMCwgMHgwRTEsIDB4MDE4LCAweDAwNCwgMHgwRjksIDB4MEQxLCAweDAzRSwgMHgwNzAsCi0JMHgwMjcsIDB4MENGLCAweDAxMywgMHgwRTUsIDB4MDQ0LCAweDAyQywgMHgwQTAsIDB4MDQyLAotCTB4MENCLCAweDA4OSwgMHgwRjIsIDB4MDIxLCAweDAzQSwgMHgwMEIsIDB4MDlDLCAweDAwQSwKLQkweDAxQywgMHgwMjQsIDB4MEIwLCAweDBFMSwgMHgwMTgsIDB4MDA0LCAweDBGOSwgMHgwRDEsCi0JMHgwMEIsIDB4MDM4LCAweDAxMCwgMHgwQjMsIDB4MEM0LCAweDAyMSwgMHgwMzksIDB4MDM2LAotCTB4MDVDLCAweDA0MiwgMHgwQzgsIDB4MDg0LCAweDAyQiwgMHgwNzksIDB4MEQwLCAweDA2MSwKLQkweDBDMiwgMHgwNzQsIDB4MDE1LCAweDAyNCwgMHgwQkEsIDB4MEQzLCAweDAzMSwgMHgwRTUsCi0JMHgwNTksIDB4MDA4LCAweDAyOSwgMHgwMDgsIDB4MEUwLCAweDA2NiwgMHgwNjMsIDB4MDQyLAotCTB4MDk1LCAweDAxMiwgMHgwODEsIDB4MDAwLCAweDAyOSwgMHgwMEIsIDB4MEMxLCAweDA1MSwKLQkweDAyNCwgMHgwQjgsIDB4MDE5LCAweDA5OSwgMHgwOTAsIDB4MDIyLCAweDA5MCwgMHgwQjQsCi0JMHgwMTgsIDB4MEEwLCAweDA5MSwgMHgwNDEsIDB4MDAxLCAweDA0MSwgMHgwNDEsIDB4MDQxLAotCTB4MDUyLCAweDA4MywgMHgwQ0EsIDB4MDQwLCAweDAyOCwgMHgwNjgsIDB4MDI5LCAweDAwOCwKLQkweDBCQSwgMHgwMTYsIDB4MDEwLCAweDA5QywgMHgwOTksIDB4MDBCLCAweDA1NiwgMHgwOTQsCi0JMHgwOTAsIDB4MDUyLCAweDAxNSwgMHgwNzQsIDB4MEMwLCAweDAyNywgMHgwMUEsIDB4MDJBLAotCTB4MEQyLCAweDA5MCwgMHgwMjUsIDB4MEQzLCAweDAwMCwgMHgwOUQsIDB4MDI4LCAweDBBQiwKLQkweDA0QSwgMHgwNDIsIDB4MDE3LCAweDA0QywgMHgwMDIsIDB4MDcwLCAweDBENCwgMHgwODQsCi0JMHgwMkUsIDB4MDk4LCAweDAwNCwgMHgwRTEsIDB4MDJBLCAweDA0MiwgMHgwMTcsIDB4MDRDLAotCTB4MDAyLCAweDA3MCwgMHgwODIsIDB4MDkwLCAweDA0QiwgMHgwQTYsIDB4MDAxLCAweDAzOCwKLQkweDA1MSwgMHgwNDgsIDB4MDQyLCAweDBFOSwgMHgwODAsIDB4MDRFLCAweDAxNSwgMHgwQTQsCi0JMHgwMjEsIDB4MDc0LCAweDBDMCwgMHgwMjcsIDB4MDBGLCAweDBBNCwgMHgwMTIsIDB4MEU5LAotCTB4MDgwLCAweDA0RSwgMHgwODIsIDB4MEFDLCAweDA4MCwgMHgwQUMsIDB4MEEwLCAweDBBQywKLQkweDBBOSwgMHgwNTksIDB4MEU1LCAweDA2NCwgMHgwNDUsIDB4MDY1LCAweDBDQSwgMHgwQzgsCi0JMHgwNEEsIDB4MENFLCAweDAwQSwgMHgwQ0UsIDB4MDRBLCAweDBDRSwgMHgwOTUsIDB4MDkxLAotCTB4MDk1LCAweDA5NCwgMHgwOTUsIDB4MDkzLCAweDAyOSwgMHgwMjUsIDB4MEMwLCAweDBDQywKLQkweDBDQywgMHgwODgsIDB4MEE0LCAweDA5NywgMHgwNTYsIDB4MDM2LCAweDA2NCwgMHgwNzIsCi0JMHgwOTAsIDB4MDU0LCAweDA4QSwgMHgwOUMsIDB4MDQ1LCAweDAwOCwgMHgwQjksIDB4MEI3LAotCTB4MDY2LCAweDAxMiwgMHgwOTMsIDB4MDA5LCAweDBDOSwgMHgwQjIsIDB4MDc0LCAweDA4RSwKLQkweDBCQSwgMHgwNjAsIDB4MDEzLCAweDBFNSwgMHgwMzQsIDB4MDhFLCAweDBCQSwgMHgwNjAsCi0JMHgwMTMsIDB4MEU0LCAweDA3NCwgMHgwOEUsIDB4MEJBLCAweDA2MCwgMHgwMTMsIDB4MEU1LAotCTB4MDY5LCAweDAxRCwgMHgwNzQsIDB4MEMwLCAweDAyNywgMHgwQ0EsIDB4MDI5LCAweDAxRCwKLQkweDA3NCwgMHgwQzAsIDB4MDI3LCAweDBDRSwgMHgwRDIsIDB4MDI1LCAweDBEMywgMHgwMDAsCi0JMHgwOUYsIDB4MDM4LCAweDBBNCwgMHgwNEIsIDB4MEE2LCAweDAwMSwgMHgwM0UsIDB4MDVFLAotCTB4MDkxLCAweDAyRSwgMHgwOTgsIDB4MDA0LCAweDBGOSwgMHgwMTUsIDB4MDIyLCAweDA1RCwKLQkweDAzMCwgMHgwMDksIDB4MEYzLCAweDBFOSwgMHgwMTIsIDB4MEU5LCAweDA4MCwgMHgwNEYsCi0JMHgwOTAsIDB4MDUyLCAweDAyNSwgMHgwRDMsIDB4MDAwLCAweDA5RCwgMHgwQzUsIDB4MDQ4LAotCTB4MDI1LCAweDBEMywgMHgwMDAsIDB4MDlDLCAweDA0NSwgMHgwQ0UsIDB4MENELCAweDAwOSwKLQkweDBDOSwgMHgwQjIsIDB4MDFBLCAweDA0NCwgMHgwQkEsIDB4MDYwLCAweDAxMywgMHgwRTcsCi0JMHgwMzQsIDB4MDg5LCAweDA3NCwgMHgwQzAsIDB4MDI3LCAweDAxQywgMHgwMjcsIDB4MEI3LAotCTB4MDlDLCAweDA4MCwgMHgwQzIsIDB4MEQ3LCAweDA3NiwgMHgwNTksIDB4MDlCLCAweDA5MywKLQkweDAwQywgMHgwNjQsIDB4MEMzLCAweDAxRCwgMHgwMUIsIDB4MEY0LCAweDA0NSwgMHgwNEIsCi0JMHgwQzcsIDB4MEM2LCAweDAzQSwgMHgwMzcsIDB4MEU4LCAweDA4MSwgMHgwNEIsIDB4MEM3LAotCTB4MEM2LCAweDAzQSwgMHgwMzcsIDB4MEU4LCAweDA5MSwgMHgwNEIsIDB4MEM3LCAweDBDNiwKLQkweDAzMiwgMHgwNjEsIDB4MDhFLCAweDBCMywgMHgwQkMsIDB4MEMzLCAweDA0QSwgMHgwMjIsCi0JMHgwRTYsIDB4MEI1LCAweDAyNCwgMHgwOTcsIDB4MDcxLCAweDBDOSwgMHgwODcsIDB4MEI0LAotCTB4MDMxLCAweDBBRSwgMHgwNzMsIDB4MEEyLCAweDBDRiwgMHgwMzksIDB4MEQyLCAweDA1RCwKLQkweDAwNCwgMHgwNDQsIDB4MDQyLCAweDBDMCwgMHgwRDYsIDB4MERFLCAweDA3MSwgMHgwMDYsCi0JMHgwMTYsIDB4MEJCLCAweDBEQiwgMHgwQ0UsIDB4MDgzLCAweDAwQywgMHgwNjQsIDB4MEMzLAotCTB4MDFELCAweDAzMSwgMHgwMTMsIDB4MDA0LCAweDBGOSwgMHgwOTUsIDB4MDRELCAweDAxMywKLQkweDAzMiwgMHgwOTMsIDB4MDYzLCAweDA1RSwgMHgwNjYsIDB4MDE0LCAweDBDQywgMHgwMjksCi0JMHgwMkEsIDB4MDUzLCAweDAzMCwgMHgwQTYsIDB4MDYxLCAweDA0QywgMHgwQzIsIDB4MDk5LAotCTB4MDg1LCAweDAzQSwgMHgwNzIsIDB4MENDLCAweDBDMiwgMHgwOTksIDB4MDg1LCAweDAwNiwKLQkweDAxQiwgMHgwQjMsIDB4MDBBLCAweDA2NiwgMHgwMTQsIDB4MDE0LCAweDAyNCwgMHgwOTksCi0JMHgwODUsIDB4MDMzLCAweDAwQSwgMHgwMDgsIDB4MEIxLCAweDA4NiwgMHgwNjEsIDB4MDRDLAotCTB4MEMyLCAweDA4NCwgMHgwMjEsIDB4MDY4LCAweDA3MywgMHgwM0IsIDB4MDMwLCAweDBBNiwKLQkweDA2MSwgMHgwNDEsIDB4MDRFLCAweDBBNSwgMHgwOTgsIDB4MDUzLCAweDAzMCwgMHgwQUMsCi0JMHgwNTksIDB4MDc2LCAweDA2MSwgMHgwNEMsIDB4MEMyLCAweDBCMCwgMHgwOEQsIDB4MEQ2LAotCTB4MDYxLCAweDA0QywgMHgwQzIsIDB4MEIwLCAweDAyQywgMHgwRjYsIDB4MDYxLCAweDA0QywKLQkweDBDMiwgMHgwQjEsIDB4MDhDLCAweDBBNSwgMHgwOTgsIDB4MDUzLCAweDAzMCwgMHgwQUMsCi0JMHgwMEYsIDB4MDI0LCAweDBDQywgMHgwMjksIDB4MDk4LCAweDA1NiwgMHgwMEYsIDB4MDI4LAotCTB4MDY2LCAweDAxNSwgMHgwOTIsIDB4MDFBLCAweDAxOSwgMHgwODUsIDB4MDMzLCAweDAwQSwKLQkweDBDQSwgMHgwODUsIDB4MDBDLCAweDBDMiwgMHgwOTksIDB4MDg1LCAweDA2NSwgMHgwQzMsCi0JMHgwRDksIDB4MDg1LCAweDAzMywgMHgwMEEsIDB4MENFLCAweDA3MCwgMHgwODYsIDB4MDYxLAotCTB4MDRDLCAweDBDMiwgMHgwQjMsIDB4MDk3LCAweDA3MSwgMHgwMEMsIDB4MDk5LCAweDAzQiwKLQkweDBDQywgMHgwODMsIDB4MDU4LCAweDAwQiwgMHgwRUEsIDB4MDc3LCAweDA5RCwgMHgwMDYsCi0JMHgwNEEsIDB4MEJFLCAweDAwNCwgMHgwNzQsIDB4MDYwLCAweDBFMCwgMHgwRDEsIDB4MDRFLAotCTB4MDM4LCAweDA0QywgMHgwM0UsIDB4MEVFLCAweDAzRSwgMHgwRUUsIDB4MDNFLCAweDBFRSwKLQkweDAzRSwgMHgwRUUsIDB4MDMwLCAweDBCQiwgMHgwQ0EsIDB4MEUxLCAweDAxRiwgMHgwNzcsCi0JMHgwMUYsIDB4MDc3LCAweDAxRiwgMHgwNzcsIDB4MDFGLCAweDA3NywgMHgwMjcsIDB4MDcwLAotCTB4MDhGLCAweDBCQiwgMHgwODAsIDB4MDBFLCAweDAxMSwgMHgwRjcsIDB4MDcxLCAweDBGNywKLQkweDA3QywgMHgwNkYsIDB4MDNDLCAweDBCMywgMHgwMzYsIDB4MDAyLCAweDBGQiwgMHgwOEQsCi0JMHgwRTYsIDB4MDU1LCAweDA3MCwgMHgwN0YsIDB4MDJELCAweDAyNCwgMHgwNjksIDB4MDU1LAotCTB4MDRGLCAweDA1OCwgMHgwQTksIDB4MDIzLCAweDAxRiwgMHgwNTQsIDB4MEY3LCAweDA4QSwKLQkweDA5NSwgMHgwMjUsIDB4MDJCLCAweDA3NSwgMHgwMEMsIDB4MENDLCAweDBBQywgMHgwNTYsCi0JMHgwNTEsIDB4MENDLCAweDA1MSwgMHgwRTQsIDB4MDQ1LCAweDBDRSwgMHgwQTIsIDB4MDEyLAotCTB4MDM5LCAweDBDMCwgMHgwQTAsIDB4MEFGLCAweDA1NiwgMHgwNkEsIDB4MDQ5LCAweDA3RiwKLQkweDAwMiwgMHgwOEMsIDB4MDA5LCAweDBGOCwgMHgwMEIsIDB4MEVCLCAweDBBRiwgMHgwNTYsCi0JMHgwNzYsIDB4MDY3LCAweDA1MiwgMHgwQjIsIDB4MDhFLCAweDA2OSwgMHgwQTcsIDB4MDExLAotCTB4MDczLCAweDBBOCwgMHgwQjEsIDB4MEJDLCAweDBDQSwgMHgwQTAsIDB4MEE5LCAweDAzNiwKLQkweDA1MCwgMHgwMkMsIDB4MDk4LCAweDBFNywgMHgwMEEsIDB4MEY1LCAweDA2NiwgMHgwQTQsCi0JMHgwOTcsIDB4MEUyLCAweDA1QSwgMHgwMzAsIDB4MDI3LCAweDBCQSwgMHgwRjcsIDB4MDgzLAotCTB4MDRFLCAweDBBNSwgMHgwMzMsIDB4MDBBLCAweDA2NiwgMHgwMTUsIDB4MDhELCAweDBFNiwKLQkweDA1NSwgMHgwMzksIDB4MEQyLCAweDBBNywgMHgwQUMsIDB4MDU0LCAweDA2MCwgMHgwMTYsCi0JMHgwNzAsIDB4MDFCLCAweDA3MiwgMHgwOEUsIDB4MDYyLCAweDA4RiwgMHgwMjIsIDB4MDJFLAotCTB4MDc1LCAweDAxNiwgMHgwMDIsIDB4MEZCLCAweDA4RCwgMHgwRTYsIDB4MDBBLCAweDA5NSwKLQkweDAzRCwgMHgwNjIsIDB4MEEzLCAweDAwMCwgMHgwQjcsIDB4MDAxLCAweDBCNSwgMHgwNTMsCi0JMHgwREUsIDB4MDJBLCAweDA1NCwgMHgwOTQsIDB4MEFELCAweDBENCwgMHgwMzMsIDB4MDMyLAotCTB4MEIxLCAweDA1OSwgMHgwNDcsIDB4MDMxLCAweDA0NywgMHgwOTEsIDB4MDE3LCAweDAzQSwKLQkweDA4OCwgMHgwNDgsIDB4MEU3LCAweDAwMiwgMHgwQjAsIDB4MDE3LCAweDBEQywgMHgwNjcsCi0JMHgwOUQsIDB4MDRCLCAweDA4RCwgMHgwRTcsIDB4MDUyLCAweDBBQSwgMHgwN0IsIDB4MEQ0LAotCTB4MEFBLCAweDA5MiwgMHgwQkQsIDB4MEQ2LCAweDA5OSwgMHgwQkMsIDB4MDU2LCAweDAwMiwKLQkweDBGQiwgMHgwOEMsIDB4MEYzLCAweDA2NiwgMHgwNjYsIDB4MEM2LCAweDBGMywgMHgwNjYsCi0JMHgwNjYsIDB4MDYyLCAweDA5OSwgMHgwMkEsIDB4MEY4LCAweDAxOCwgMHgwNjgsIDB4MDcwLAotCTB4MEIwLCAweDA4QSwgMHgwMEQsIDB4MDU1LCAweDA1NSwgMHgwNTUsIDB4MDU1LCAweDA1MiwKLQkweDAzMiwgMHgwRTEsIDB4MDQwLCAweDA1QywgMHgwMzgsIDB4MDBCLCAweDBFQSwgMHgwOUIsCi0JMHgwODcsIDB4MDAxLCAweDA3RCwgMHgwQzAsIDB4MDVGLCAweDA3MCwgMHgwMTcsIDB4MERDLAotCTB4MDA1LCAweDBGNSwgMHgwREMsIDB4MDlCLCAweDAwMSwgMHgwN0QsIDB4MDYxLCAweDA0RCwKLQkweDA4MCwgMHgwQkUsIDB4MEE3LCAweDA3OSwgMHgwODIsIDB4MEEyLCAweDAxRiwgMHgwNTAsCi0JMHgwMTUsIDB4MDJBLCAweDA4RiwgMHgwOEIsIDB4MDFDLCAweDBFNSwgMHgwQTUsIDB4MDEzLAotCTB4MDg0LCAweDA1OCwgMHgwRTcsIDB4MDAyLCAweDA5MSwgMHgwNTQsIDB4MDA1LCAweDAwMiwKLQkweDA0QiwgMHgwQkQsIDB4MDIyLCAweDAxQSwgMHgwOTQsIDB4MDdGLCAweDA5QywgMHgwMUEsCi0JMHgwQzAsIDB4MDVGLCAweDA0MiwgMHgwMUEsIDB4MDIxLCAweDBEMSwgMHgwODAsIDB4MDU5LAotCTB4MEMwLCAweDA2RCwgMHgwMUMsIDB4MDJDLCAweDAwQSwgMHgwODMsIDB4MDU1LCAweDA1NSwKLQkweDA1NSwgMHgwNTUsIDB4MDU1LCAweDA1NSwgMHgwNTUsIDB4MDU1LCAweDA1NSwgMHgwNTUsCi0JMHgwNTUsIDB4MDU0LCAweDAxQywgMHgwQjgsIDB4MDVDLCAweDA2RSwgMHgwMTcsIDB4MDlDLAotCTB4MDJGLCAweDAzOCwgMHgwNUUsIDB4MDcwLCAweDBFNywgMHgwQjgsIDB4MDVFLCAweDA3MCwKLQkweDBCQywgMHgwRTEsIDB4MDc5LCAweDBDMiwgMHgwRjMsIDB4MDg1LCAweDBFNywgMHgwMEIsCi0JMHgwQ0UsIDB4MDE3LCAweDA5QywgMHgwMjksIDB4MDlDLCAweDAyOSwgMHgwOUMsIDB4MDI5LAotCTB4MDlDLCAweDAyMywgMHgwMEYsIDB4MDU4LCAweDAxNCwgMHgwRUUsIDB4MDM1LCAweDA3NywKLQkweDAyNiwgMHgwMjEsIDB4MDkzLCAweDAwNSwgMHgwQzksIDB4MEIwLCAweDAxNywgMHgwRDIsCi0JMHgwMUQsIDB4MDE4LCAweDA4QSwgMHgwMjEsIDB4MDkzLCAweDAwNSwgMHgwQzksIDB4MEIwLAotCTB4MDE3LCAweDBEMSwgMHgwODcsIDB4MEFDLCAweDAwQSwgMHgwNzQsIDB4MDBGLCAweDBBRSwKLQkweDBGNSwgMHgwNUEsIDB4MDgyLCAweDBBMywgMHgwRTQsIDB4MDNBLCAweDAzMSwgMHgwMTQsCi0JMHgwQkIsIDB4MEQ3LCAweDA1OSwgMHgwOTksIDB4MDc0LCAweDBBMiwgMHgwMTksIDB4MDMwLAotCTB4MDVDLCAweDA5QiwgMHgwMDEsIDB4MDdELCAweDAxOCwgMHgwN0EsIDB4MEMwLCAweDBBNywKLQkweDA0MCwgMHgwRjgsIDB4MDQzLCAweDBENCwgMHgwNjMsIDB4MDg5LCAweDAyNSwgMHgwRDAsCi0JMHgwMTAsIDB4MEQ2LCAweDAxQywgMHgwNkEsIDB4MDEwLCAweDBGNSwgMHgwNTUsIDB4MDg5LAotCTB4MDI1LCAweDBEMSwgMHgwNTEsIDB4MDY2LCAweDAxRiwgMHgwNTEsIDB4MEY1LCAweDA5MSwKLQkweDA0OSwgMHgwMkUsIDB4MDg5LCAweDAxNSwgMHgwOTgsIDB4MDZBLCAweDBBMywgMHgwRTAsCi0JMHgwOEEsIDB4MDk0LCAweDA2NSwgMHgwNjQsIDB4MDBFLCAweDAxMywgMHgwMTcsIDB4MDM4LAotCTB4MEE4LCAweDA4NiwgMHgwNEMsIDB4MDE3LCAweDAyNiwgMHgwQzAsIDB4MDVGLCAweDA0NiwKLQkweDAxRSwgMHgwQjAsIDB4MDI4LCAweDA2MywgMHgwMUYsIDB4MDA4LCAweDA3QSwgMHgwOEMsCi0JMHgwNzEsIDB4MDI0LCAweDBCQSwgMHgwMDIsIDB4MDFBLCAweDBEMCwgMHgwMEQsIDB4MDQyLAotCTB4MDFFLCAweDBBQSwgMHgwQjEsIDB4MDI0LCAweDBCQSwgMHgwMkEsIDB4MDJELCAweDAzMSwKLQkweDBGNSwgMHgwMUYsIDB4MDU4LCAweDA3NCwgMHgwOTIsIDB4MEU4LCAweDA4NywgMHgwNUEsCi0JMHgwNjMsIDB4MDUyLCAweDBERSwgMHgwRjQsIDB4MDUxLCAweDA2OSwgMHgwNEEsIDB4MDNFLAotCTB4MDA5LCAweDA2OSwgMHgwNDYsIDB4MDUwLCAweDBGMCwgMHgwRTEsIDB4MDMxLCAweDA3MywKLQkweDAwNSwgMHgwNDUsIDB4MEJELCAweDA1OSwgMHgwOEQsIDB4MDhCLCAweDA0QSwgMHgwN0MsCi0JMHgwRDMsIDB4MEVELCAweDAzOCwgMHgwRTksIDB4MEQzLCAweDA0RSwgMHgwNzQsIDB4MEVELAotCTB4MDQ0LCAweDAzMiwgMHgwNjAsIDB4MEI5LCAweDAzNiwgMHgwMDIsIDB4MEZBLCAweDA1QiwKLQkweDBERSwgMHgwOEEsIDB4MDJELCAweDAyOSwgMHgwRDAsIDB4MEUxLCAweDAyMSwgMHgwRjUsCi0JMHgwQTMsIDB4MDkyLCAweDAyMSwgMHgwRjIsIDB4MDE5LCAweDAzMCwgMHgwNUMsIDB4MDlCLAotCTB4MDAxLCAweDA3RCwgMHgwMjEsIDB4MEY1LCAweDBBMCwgMHgwQzYsIDB4MDAxLCAweDA2NywKLQkweDAwMSwgMHgwQjQsIDB4MDQ1LCAweDBDRSwgMHgwQTUsIDB4MDEyLCAweDAzOSwgMHgwRDQsCi0JMHgwMUMsIDB4MDA1LCAweDBGNCwgMHgwNDAsIDB4MEExLCAweDBDMiwgMHgwQzMsIDB4MDUwLAotCTB4MDZBLCAweDBBQSwgMHgwQUEsIDB4MEFBLCAweDBBQSwgMHgwQUEsIDB4MEFBLCAweDBBQSwKLQkweDBBQSwgMHgwQUEsIDB4MEFBLCAweDBBQSwgMHgwQUEsIDB4MEFBLCAweDA4MSwgMHgwQUYsCi0JMHgwODYsIDB4MDlGLCAweDAxOSwgMHgwMUIsIDB4MEU3LCAweDA4MSwgMHgwRjMsIDB4MDY1LAotCTB4MEYyLCAweDA4MCwgMHgwQkUsIDB4MDcwLCAweDAxNywgMHgwREYsIDB4MERGLCAweDAzOCwKLQkweDAwQiwgMHgwRUIsIDB4MDBELCAweDBDMywgMHgwODAsIDB4MEJFLCAweDBBNywgMHgwMEYsCi0JMHgwOTUsIDB4MDRGLCAweDA1QSwgMHgwOTQsIDB4MEMwLCAweDAyQywgMHgwRDgsIDB4MEIxLAotCTB4MEE3LCAweDBDRSwgMHgwNUEsIDB4MDExLCAweDA3MywgMHgwQTgsIDB4MDNBLCAweDBDMiwKLQkweDBDQywgMHgwQjYsIDB4MDMwLCAweDAxNywgMHgwREMsIDB4MDZGLCAweDAzNSwgMHgwQTksCi0JMHgwODAsIDB4MDRELCAweDBBNywgMHgwQ0UsIDB4MDJBLCAweDAxOCwgMHgwNzksIDB4MEM1LAotCTB4MDQ5LCAweDBERSwgMHgwNjEsIDB4MEE4LCAweDAyMiwgMHgwRTcsIDB4MDUwLCAweDAzMywKLQkweDBGOSwgMHgwOTgsIDB4MDY0LCAweDAwOCwgMHgwQjksIDB4MDk1LCAweDA0MiwgMHgwRkMsCi0JMHgwQ0MsIDB4MEQ5LCAweDA5NSwgMHgwM0QsIDB4MDYyLCAweDBBMiwgMHgwNDgsIDB4MEQ0LAotCTB4MDQ4LCAweDBFNywgMHgwMDIsIDB4MDg4LCAweDBCOSwgMHgwQzEsIDB4MEEwLCAweDBFMywKLQkweDA5RCwgMHgwNEUsIDB4MDYyLCAweDBFNiwgMHgwQ0MsIDB4MEM2LCAweDA2QiwgMHgwQ0UsCi0JMHgwODMsIDB4MDEwLCAweDBDOSwgMHgwODIsIDB4MEU0LCAweDBEQSwgMHgwQzIsIDB4MEM4LAotCTB4MDFFLCAweDBDMywgMHgwQjksIDB4MDM2LCAweDAwMiwgMHgwRkEsIDB4MEE5LCAweDBFQiwKLQkweDA0RSwgMHgwMzAsIDB4MDMwLCAweDBGQSwgMHgwMEQsIDB4MEYwLCAweDBBOSwgMHgwRUIsCi0JMHgwNDAsIDB4MEI5LCAweDAwRiwgMHgwQUEsIDB4MDdBLCAweDBEMiwgMHgwQzIsIDB4MEM4LAotCTB4MEZBLCAweDBBNywgMHgwQUQsIDB4MDQxLCAweDAwQSwgMHgwNDcsIDB4MEQ1LCAweDAzRCwKLQkweDA2OCwgMHgwQUMsIDB4MEYxLCAweDBGNSwgMHgwNEYsIDB4MDVBLCAweDA5NywgMHgwNTQsCi0JMHgwN0QsIDB4MDRGLCAweDBBOCwgMHgwQUEsIDB4MDU1LCAweDAxRiwgMHgwMTEsIDB4MDczLAotCTB4MDVBLCAweDBCMCwgMHgwMTcsIDB4MERFLCAweDA1RCwgMHgwNTksIDB4MEE5LCAweDAyNSwKLQkweDBEMCwgMHgwNTUsIDB4MDJBLCAweDA0NiwgMHgwQkMsIDB4MEI4LCAweDAyMiwgMHgwQUUsCi0JMHgwNDUsIDB4MDI5LCAweDAzRSwgMHgwMTQsIDB4MEZBLCAweDBFMSwgMHgwOTksIDB4MDk0LAotCTB4MENBLCAweDA0QSwgMHgwQkUsIDB4MDNELCAweDBENiwgMHgwOTksIDB4MDkyLCAweDA1RCwKLQkweDAxNSwgMHgwMTcsIDB4MEM4LCAweDBENywgMHgwREMsIDB4MDE1LCAweDAxNywgMHgwOEEsCi0JMHgwNDAsIDB4MDFGLCAweDAwQSwgMHgwOUUsIDB4MEFDLCAweDBDOSwgMHgwNjUsIDB4MDQ5LAotCTB4MDVDLCAweDAxRCwgMHgwMTAsIDB4MDY4LCAweDA0QSwgMHgwM0UsIDB4MDVCLCAweDBERSwKLQkweDA4MywgMHgwMTYsIDB4MDk1LCAweDA4MCwgMHgwQkUsIDB4MDkxLCAweDA3NCwgMHgwNTgsCi0JMHgwQTQsIDB4MDAwLCAweDA3QywgMHgwMzgsIDB4MEU3LCAweDA1NiwgMHgwMzAsIDB4MDE3LAotCTB4MERGLCAweDA3NSwgMHgwQTYsIDB4MDY0LCAweDA5NywgMHgwNDUsIDB4MDIwLCAweDA5RCwKLQkweDAwMywgMHgwNUYsIDB4MDcwLCAweDA1NCwgMHgwNUUsIDB4MDI5LCAweDAxRCwgMHgwRjAsCi0JMHgwQTksIDB4MEVBLCAweDBDQywgMHgwODYsIDB4MDU0LCAweDA5NSwgMHgwQzEsIDB4MEQxLAotCTB4MDA2LCAweDA4MywgMHgwMEYsIDB4MEFBLCAweDA3QiwgMHgwRDAsIDB4MDY1LCAweDA0OSwKLQkweDA0NSwgMHgwQkQsIDB4MEU5LCAweDA2MiwgMHgwRDIsIDB4MDkxLCAweDBERiwgMHgwMDQsCi0JMHgwNUQsIDB4MDE2LCAweDAyOSwgMHgwMUMsIDB4MDdELCAweDA0RiwgMHgwQUMsIDB4MDFBLAotCTB4MDQ3LCAweDAxQSwgMHgwQTksIDB4MEY1LCAweDA2NywgMHgwNjYsIDB4MDUzLCAweDAyOCwKLQkweDBCNywgMHgwQkQsIDB4MDJDLCAweDA1QSwgMHgwNTIsIDB4MDNCLCAweDBFMywgMHgwREQsCi0JMHgwNTksIDB4MEE5LCAweDAyNSwgMHgwRDEsIDB4MEE4LCAweDBBQywgMHgwMDgsIDB4MDZCLAotCTB4MEVFLCAweDAwOCwgMHgwQUIsIDB4MEM1LCAweDAyMCwgMHgwMkYsIDB4MDg1LCAweDA0RiwKLQkweDA1NiwgMHgwNjYsIDB4MDc1LCAweDA0OSwgMHgwNUMsIDB4MDFDLCAweDAxOCwgMHgwMUQsCi0JMHgwODEsIDB4MEMyLCAweDA2NCwgMHgwMDUsIDB4MEYwLCAweDA4MCwgMHgwQkUsIDB4MDM1LAotCTB4MDVDLCAweDBEMCwgMHgwMTcsIDB4MEMyLCAweDA1NSwgMHgwRjAsIDB4MDk1LCAweDA3QywKLQkweDAyNSwgMHgwNUYsIDB4MDA4LCAweDAwQiwgMHgwRTEsIDB4MDAxLCAweDA3QywgMHgwN0IsCi0JMHgwQUIsIDB4MDM1LCAweDAyNCwgMHgwQkEsIDB4MDEwLCAweDA1NSwgMHgwOTMsIDB4MDFBLAotCTB4MEZCLCAweDA4MiwgMHgwMkEsIDB4MEYxLCAweDA0OCwgMHgwRDcsIDB4MEMyLCAweDBBNywKLQkweDBBQiwgMHgwMzEsIDB4MEIyLCAweDBBNCwgMHgwQUMsIDB4MDYzLCAweDA5RCwgMHgwNEEsCi0JMHgwOEQsIDB4MDdDLCAweDA3QiwgMHgwQUIsIDB4MDM1LCAweDAyNCwgMHgwQkEsIDB4MDEwLAotCTB4MDU0LCAweDAzMCwgMHgwOEQsIDB4MDdELCAweDBDMSwgMHgwMTUsIDB4MDc4LCAweDBBQywKLQkweDA2RiwgMHgwNUEsIDB4MDk0LCAweDA2MCwgMHgwMUEsIDB4MEUzLCAweDA3OSwgMHgwRDQsCi0JMHgwQUEsIDB4MDRGLCAweDA4NSwgMHgwNEYsIDB4MDU2LCAweDA2NiwgMHgwRDUsIDB4MDQ5LAotCTB4MDU4LCAweDBDNywgMHgwM0EsIDB4MDk1LCAweDA0OSwgMHgwRjAsIDB4MDQ1LCAweDBEMSwKLQkweDA2MiwgMHgwOTQsIDB4MDg2LCAweDBCQywgMHgwMUQsIDB4MDEzLCAweDBEMiwgMHgwOTAsCi0JMHgwRkYsIDB4MENGLCAweDA3QSwgMHgwODMsIDB4MEYyLCAweDA1MCwgMHgwMzEsIDB4MERFLAotCTB4MDAwLCAweDA2MCwgMHgwNjAsIDB4MEExLCAweDAxNywgMHgwMzUsIDB4MEE4LCAweDA1RiwKLQkweDA5QiwgMHgwMUIsIDB4MDM3LCAweDAwNywgMHgwNDQsIDB4MDFBLCAweDAzMCwgMHgwMEIsCi0JMHgwMzgsIDB4MDBELCAweDBCQywgMHgwMUMsIDB4MEUwLCAweDBEMCwgMHgwNDcsIDB4MENFLAotCTB4MEEwLCAweDBBQSwgMHgwN0EsIDB4MEExLCAweDA5OCwgMHgwNkEsIDB4MDkyLCAweDA5NSwKLQkweDAzRCwgMHgwNjgsIDB4MDMxLCAweDA4MCwgMHgwNUIsIDB4MDgwLCAweDBEQSwgMHgwQTksCi0JMHgwRUYsIDB4MDQxLCAweDA5NSwgMHgwMjUsIDB4MDE2LCAweDBGNywgMHgwQTUsIDB4MDhCLAotCTB4MDRBLCAweDBDNiwgMHgwNzksIDB4MEIzLCAweDAzMywgMHgwNjAsIDB4MDJGLCAweDBBQSwKLQkweDA5RSwgMHgwQjEsIDB4MDUxLCAweDA4MCwgMHgwNTksIDB4MDlFLCAweDBDQSwgMHgwQTcsCi0JMHgwQUMsIDB4MDBBLCAweDAzMCwgMHgwMEIsIDB4MDY3LCAweDBCMiwgMHgwQUQsIDB4MEQ1LAotCTB4MERBLCAweDA5MiwgMHgwNUQsIDB4MDE3LCAweDBBMywgMHgwMDAsIDB4MEIzLCAweDAyRCwKLQkweDA5NSwgMHgwNkUsIDB4MDA4LCAweDBBOSwgMHgwNTgsIDB4MEExLCAweDAxNywgMHgwM0EsCi0JMHgwOEIsIDB4MDAxLCAweDA3RCwgMHgwNTQsIDB4MEY3LCAweDA4RSwgMHgwOTUsIDB4MDI1LAotCTB4MDA4LCAweDAxQywgMHgwRTAsIDB4MDU2LCAweDAwMiwgMHgwRkIsIDB4MEMxLCAweDBEMSwKLQkweDAxNSwgMHgwMTgsIDB4MDA1LCAweDA5MiwgMHgwNkIsIDB4MDNDLCAweDAxRCwgMHgwMTIsCi0JMHgwMjgsIDB4MEMwLCAweDAyQywgMHgwQTUsIDB4MDZDLCAweDAxMSwgMHgwNzAsIDB4MDE3LAotCTB4MEIyLCAweDAzOCwgMHgwNEQsIDB4MDgwLCAweDBCRSwgMHgwRTAsIDB4MDJGLCAweDBCNCwKLQkweDBFQywgMHgwNEEsIDB4MEVELCAweDBCMywgMHgwOUUsIDB4MDAyLCAweDBGQiwgMHgwODAsCi0JMHgwQkUsIDB4MEUwLCAweDAyRiwgMHgwQjEsIDB4MDM5LCAweDA5MywgMHgwM0UsIDB4MDZELAotCTB4MEU3LCAweDAxMCwgMHgwNjAsIDB4MDlGLCAweDAzMiwgMHgwQTksIDB4MEEyLCAweDA2QywKLQkweDAwNSwgMHgwRjQsIDB4MDQwLCAweDBFNiwgMHgwMEEsIDB4MDk1LCAweDAzRCwgMHgwNkEsCi0JMHgwMjMsIDB4MDAwLCAweDBCMywgMHgwODAsIDB4MERBLCAweDBBNywgMHgwRDYsIDB4MDJBLAotCTB4MDAzLCAweDAwRCwgMHgwNzAsIDB4MDE3LCAweDBEMiwgMHgwMkUsIDB4MDc2LCAweDAyOSwKLQkweDA0RiwgMHgwQkMsIDB4MDU0LCAweDBBNiwgMHgwNTEsIDB4MDZGLCAweDA3QSwgMHgwNTgsCi0JMHgwQjQsIDB4MEFDLCAweDAwNSwgMHgwRjQsIDB4MDhCLCAweDBBMiwgMHgwRjQsIDB4MDBFLAotCTB4MDM1LCAweDAwRCwgMHgwNDksIDB4MDJFLCAweDBCNCwgMHgwQ0MsIDB4MDE4LCAweDBBNSwKLQkweDBDOCwgMHgwRjgsIDB4MDRBLCAweDA5NywgMHgwMjMsIDB4MEUxLCAweDAwNSwgMHgwMkUsCi0JMHgwNDcsIDB4MEMyLCAweDA4QSwgMHgwNUMsIDB4MDhGLCAweDA4NSwgMHgwNjksIDB4MDcyLAotCTB4MDNFLCAweDAxRiwgMHgwNEEsIDB4MEMzLCAweDA1NSwgMHgwMUYsIDB4MDU2LCAweDA0MywKLQkweDAzMiwgMHgwOEMsIDB4MEEzLCAweDA1RSwgMHgwNjAsIDB4MEE4LCAweDA0NSwgMHgwQ0UsCi0JMHgwMEQsIDB4MDYwLCAweDAyRiwgMHgwQTMsIDB4MDg0LCAweDA5RCwgMHgwRDgsIDB4MEYwLAotCTB4MDE3LCAweDBEMiwgMHgwMkUsIDB4MDBFLCAweDAxQiwgMHgwMjMsIDB4MDg0LCAweDBEOCwKLQkweDAwQiwgMHgwRUIsIDB4MDg5LCAweDBGMywgMHgwODAsIDB4MEJFLCAweDBFMCwgMHgwMkYsCi0JMHgwQkIsIDB4MDM5LCAweDA4NSwgMHgwREYsIDB4MDIyLCAweDAwMywgMHgwRTcsIDB4MDAxLAotCTB4MDdELCAweDBDMCwgMHgwNUYsIDB4MDcwLCAweDAxNywgMHgwRDEsIDB4MDE3LCAweDAzOCwKLQkweDAxNCwgMHgwNUIsIDB4MEQ2LCAweDBBMiwgMHgwNzQsIDB4MDBELCAweDA0QiwgMHgwN0EsCi0JMHgwQjMsIDB4MDMxLCAweDA5NiwgMHgwOTQsIDB4MDZCLCAweDBDQywgMHgwMzUsIDB4MDIzLAotCTB4MEQ3LCAweDA0OSwgMHgwNDgsIDB4MDE1LCAweDA3MywgMHgwMjksIDB4MDBGLCAweDA1RCwKLQkweDA4QSwgMHgwQzAsIDB4MDVGLCAweDA0RCwgMHgwNzksIDB4MDg0LCAweDAzNSwgMHgwODAsCi0JMHgwQkUsIDB4MDg4LCAweDAxQywgMHgwQzMsIDB4MDUyLCAweDA5RiwgMHgwNTksIDB4MDY4LAotCTB4MEMwLCAweDAyQywgMHgwRTAsIDB4MDM2LCAweDBBQSwgMHgwN0IsIDB4MENELCAweDA0QSwKLQkweDA5MiwgMHgwQkUsIDB4MEYzLCAweDA4MSwgMHgwNEEsIDB4MDdELCAweDA1QiwgMHgwNTksCi0JMHgwOTQsIDB4MENBLCAweDAxQywgMHgwMjQsIDB4MEVFLCAweDBDNywgMHgwODAsIDB4MEJFLAotCTB4MDg4LCAweDAxQywgMHgwQzMsIDB4MDUyLCAweDA5RiwgMHgwNTksIDB4MDY4LCAweDBDMCwKLQkweDAyQywgMHgwRTAsIDB4MDM2LCAweDBBQSwgMHgwN0IsIDB4MENELCAweDA0QSwgMHgwOTIsCi0JMHgwQkUsIDB4MEYzLCAweDA4MSwgMHgwNDMsIDB4MDg0LCAweDA5QywgMHgwN0IsIDB4MDM4LAotCTB4MDBCLCAweDBFQiwgMHgwQUYsIDB4MDcwLCAweDBENCwgMHgwRUEsIDB4MDUzLCAweDAwMCwKLQkweDA5QiwgMHgwNEYsIDB4MDlDLCAweDA1NCwgMHgwMzAsIDB4MEYzLCAweDA4QSwgMHgwOTQsCi0JMHgwRkEsIDB4MEI2LCAweDBCMywgMHgwMjksIDB4MDk0LCAweDAyMiwgMHgwRTYsIDB4MDFBLAotCTB4MDg1LCAweDBGOSwgMHgwQjAsIDB4MDU5LCAweDA5MywgMHgwRjksIDB4MEQyLCAweDBDNCwKLQkweDAzMiwgMHgwNjAsIDB4MEI5LCAweDAzNiwgMHgwQjAsIDB4MEIzLCAweDA5MCwgMHgwRDksCi0JMHgwNzcsIDB4MDI2LCAweDAxQywgMHgwMjcsIDB4MDIyLCAweDBFOCwgMHgwOTYsIDB4MEI0LAotCTB4MDIzLCAweDBFQSwgMHgwOUUsIDB4MEI1LCAweDAxMSwgMHgwODAsIDB4MDU5LCAweDA2NSwKLQkweDA4NiwgMHgwMjAsIDB4MDczLCAweDA5NiwgMHgwOEQsIDB4MDc5LCAweDBBRCwgMHgwNTgsCi0JMHgwMEIsIDB4MEU5LCAweDAxNywgMHgwNDQsIDB4MDhBLCAweDA0QSwgMHgwMDcsIDB4MEQ3LAotCTB4MDdBLCAweDA4MiwgMHgwQTEsIDB4MDkwLCAweDBGQSwgMHgwRUYsIDB4MDAxLCAweDA1NCwKLQkweDBCQSwgMHgwNTAsIDB4MEQ0LCAweDA1OSwgMHgwMUUsIDB4MDJDLCAweDBFOSwgMHgwRjMsCi0JMHgwOEEsIDB4MDk5LCAweDA4NSwgMHgwNkIsIDB4MDBCLCAweDAyMywgMHgwMTUsIDB4MDk3LAotCTB4MDcyLCAweDA2MSwgMHgwMTcsIDB4MDMwLCAweDBENCwgMHgwMkMsIDB4MDczLCAweDA4NywKLQkweDA0OCwgMHgwQUEsIDB4MDAyLCAweDA4MSwgMHgwMjUsIDB4MERFLCAweDA5MSwgMHgwMEQsCi0JMHgwNEEsIDB4MEMwLCAweDA1RiwgMHgwN0UsIDB4MEQyLCAweDA4MCwgMHgwQTUsIDB4MDNFLAotCTB4MEIyLCAweDBEMCwgMHgwQzgsIDB4MDZCLCAweDA4MCwgMHgwQkUsIDB4MDg4LCAweDAxQywKLQkweDBFQSwgMHgwMDksIDB4MDE3LCAweDA0NCwgMHgwMUEsIDB4MDM3LCAweDAxQSwgMHgwOTEsCi0JMHgwNzQsIDB4MDU4LCAweDBBMywgMHgwNzEsIDB4MEFGLCAweDAwNywgMHgwNDQsIDB4MDU0LAotCTB4MDZFLCAweDAzNSwgMHgwRTAsIDB4MEU4LCAweDBBQSwgMHgwNjQsIDB4MDBGLCAweDA5MCwKLQkweDBGQSwgMHgwRDAsIDB4MDYzLCAweDAwMCwgMHgwQjMsIDB4MDgwLCAweDBEQSwgMHgwMkMsCi0JMHgwNzMsIDB4MDg3LCAweDA0OCwgMHgwQUEsIDB4MDAyLCAweDA4MSwgMHgwMjUsIDB4MERFLAotCTB4MDkxLCAweDAwRCwgMHgwNEEsIDB4MEMwLCAweDA1RiwgMHgwNDgsIDB4MEJBLCAweDAyNywKLQkweDBBMywgMHgwMDAsIDB4MEI3LCAweDAwMSwgMHgwQjcsIDB4MDRGLCAweDA5QywgMHgwQjQsCi0JMHgwNkIsIDB4MENDLCAweDAzNSwgMHgwMTYsIDB4MEY1LCAweDA2NiwgMHgwNjMsIDB4MDJELAotCTB4MDI5LCAweDAxRSwgMHgwQkEsIDB4MDRBLCAweDA0MCwgMHgwQUIsIDB4MDk5LCAweDA0OCwKLQkweDA3QSwgMHgwRUMsIDB4MDUwLCAweDA4QiwgMHgwOUMsIDB4MDA4LCAweDAyMiwgMHgwRkMsCi0JMHgwRjksIDB4MEIyLCAweDA1NSwgMHgwM0QsIDB4MDYyLCAweDBBOSwgMHgwMjMsIDB4MDUxLAotCTB4MDIzLCAweDA5QywgMHgwMEEsIDB4MDNDLCAweDA3MywgMHgwMEQsIDB4MDQ0LCAweDA1QywKLQkweDBFMSwgMHgwNTAsIDB4MDcxLCAweDBDRSwgMHgwQTEsIDB4MDFGLCAweDBFNywgMHgwMTUsCi0JMHgwNkIsIDB4MDBCLCAweDAyNSwgMHgwRUQsIDB4MDBCLCAweDA5MywgMHgwNjAsIDB4MDJGLAotCTB4MEFBLCAweDA5RSwgMHgwQUMsIDB4MDM2LCAweDA2NSwgMHgwNDksIDB4MDVGLCAweDA3QSwKLQkweDAyMCwgMHgwNTAsIDB4MDA4LCAweDA3RiwgMHgwRUYsIDB4MDM5LCAweDAxNCwgMHgwNDksCi0JMHgwMDEsIDB4MDExLCAweDA4MSwgMHgwMDQsIDB4MDYwLCAweDA0MCwgMHgwQ0MsIDB4MDU5LAotCTB4MEMwLCAweDBBRCwgMHgwMjMsIDB4MEVCLCAweDA0MSwgMHgwQjAsIDB4MDgxLCAweDBGMiwKLQkweDAzQSwgMHgwNDEsIDB4MEFBLCAweDA1MCwgMHgwNDMsIDB4MEU0LCAweDBENCwgMHgwODYsCi0JMHgwNTQsIDB4MEEwLCAweDA4NywgMHgwQzEsIDB4MDUyLCAweDBDQSwgMHgwOTMsIDB4MDAxLAotCTB4MDMyLCAweDA1NCwgMHgwOUQsIDB4MDI0LCAweDAwMiwgMHgwMDAsIDB4MDAwLCAweDA1MiwKLQkweDBBRiwgMHgwMTYsIDB4MDQ2LCAweDBBNywgMHgwOTEsIDB4MDY3LCAweDAwOCwgMHgwQjQsCi0JMHgwMDQsIDB4MDUxLCAweDBGMSwgMHgwNjUsIDB4MDE5LCAweDBCNCwgMHgwNkUsIDB4MDJELAotCTB4MEMwLCAweDBBRCwgMHgwNDksIDB4MDAwLCAweDA5MiwgMHgwNTcsIDB4MDFCLCAweDA3NCwKLQkweDA0NSwgMHgwNUYsIDB4MDIzLCAweDA1MSwgMHgwQjcsIDB4MDQ0LCAweDAwQSwgMHgwMTAsCi0JMHgwMDYsIDB4MEEzLCAweDA2RSwgMHgwOEIsIDB4MDZCLCAweDAwOCwgMHgwMUYsIDB4MDE5LAotCTB4MEQxLCAweDBFNiwgMHgwODAsIDB4MDgyLCAweDA4MCwgMHgwNTQsIDB4MDA0LCAweDAyQSwKLQkweDA0NSwgMHgwOTEsIDB4MEE5LCAweDBFNCwgMHgwNTksIDB4MEMyLCAweDAyRCwgMHgwMDEsCi0JMHgwMTQsIDB4MDA0LCAweDA1MCwgMHgwRDMsIDB4MEZDLCAweDA1NSwgMHgwODQsIDB4MDYxLAotCTB4MEQ5LCAweDA4MCwgMHgwNTEsIDB4MDJGLCAweDBFMiwgMHgwMUYsIDB4MDQ2LCAweDA1RiwKLQkweDA0MCwgMHgwRTAsIDB4MDIwLCAweDAxNSwgMHgwNEEsIDB4MEJDLCAweDA1OSwgMHgwMUEsCi0JMHgwOUUsIDB4MDQ1LCAweDA5QywgMHgwMjIsIDB4MEQwLCAweDAxMSwgMHgwNDgsIDB4MENCLAotCTB4MEU4LCAweDAxNCwgMHgwMDgsIDB4MDAxLCAweDA1NCwgMHgwMTUsIDB4MEUyLCAweDBDOCwKLQkweDBENCwgMHgwRjIsIDB4MDJDLCAweDBFMSwgMHgwMTYsIDB4MDgwLCAweDA4QSwgMHgwNDYsCi0JMHgwNUYsIDB4MDUyLCAweDA3QywgMHgwRDksIDB4MEE4LCAweDBGOCwgMHgwODgsIDB4MEQwLAotCTB4MDVBLCAweDAzQywgMHgwRDIsIDB4MDVDLCAweDA1QiwgMHgwODAsIDB4MERBLCAweDBBNywKLQkweDBENiwgMHgwNUEsIDB4MDA4LCAweDA4NiwgMHgwQTQsIDB4MDVELCAweDAxNywgMHgwQTAsCi0JMHgwQzMsIDB4MDUyLCAweDAyRSwgMHgwODgsIDB4MEE4LCAweDAyMiwgMHgwMUYsIDB4MDUzLAotCTB4MEVBLCAweDBEQSwgMHgwQ0MsIDB4MEE2LCAweDA1MCwgMHgwRTEsIDB4MDI3LCAweDA3NiwKLQkweDAzQywgMHgwMDUsIDB4MEY1LCAweDA0RiwgMHgwQUIsIDB4MDZCLCAweDAzMiwgMHgwOTksCi0JMHgwNDMsIDB4MDg0LCAweDA5QywgMHgwN0IsIDB4MDM4LCAweDAwQiwgMHgwRTksIDB4MDI3LAotCTB4MEFDLCAweDBENCwgMHgwOTIsIDB4MEUwLCAweDAwRSwgMHgwREEsIDB4MDM4LCAweDA0RCwKLQkweDA4MCwgMHgwQkUsIDB4MEU2LCAweDA3RCwgMHgwNTAsIDB4MEJBLCAweDA1MSwgMHgwQUUsCi0JMHgwNjYsIDB4MEVGLCAweDBCQywgMHgwREMsIDB4MDdCLCAweDA4NywgMHgwMUUsIDB4MDAyLAotCTB4MEZBLCAweDA5MywgMHgwRTYsIDB4MENELCAweDA0NywgMHgwQzQsIDB4MDQzLCAweDBDRCwKLQkweDAwRiwgMHgwMzQsIDB4MDlELCAweDBBMywgMHgwMDAsIDB4MEIwLCAweDA1NSwgMHgwMDEsCi0JMHgwQUUsIDB4MDAzLCAweDA4NCwgMHgwMDQsIDB4MENFLCAweDAwMSwgMHgwRDAsIDB4MEUxLAotCTB4MDcwLCAweDAwMiwgMHgwODAsIDB4MDBFLCAweDA4OSwgMHgwRTksIDB4MDIyLCAweDAxRiwKLQkweDBFMCwgMHgwRTgsIDB4MDk2LCAweDBCMCwgMHgwMTEsIDB4MEY0LCAweDBDMiwgMHgwQ0UsCi0JMHgwMDMsIDB4MDZBLCAweDA0NCwgMHgwMkQsIDB4MEMwLCAweDA2RCwgMHgwNDgsIDB4MDA1LAotCTB4MEI4LCAweDAwRCwgMHgwQTMsIDB4MDAwLCAweDBCNywgMHgwNzYsIDB4MEQ1LCAweDBERSwKLQkweDBCMSwgMHgwNTAsIDB4MERDLCAweDA3RCwgMHgwNzcsIDB4MEJDLCAweDA1NCwgMHgwQkEsCi0JMHgwNTIsIDB4MDdGLCAweDA1OCwgMHgwMTQsIDB4MDM0LCAweDAwRiwgMHgwOUEsIDB4MEYzLAotCTB4MDgxLCAweDA1OCwgMHgwMEIsIDB4MEVBLCAweDBFRiwgMHgwNTgsIDB4MDE0LCAweDA2MCwKLQkweDAxNiwgMHgwQTUsIDB4MDZDLCAweDAyRSwgMHgwRjcsIDB4MDgxLCAweDA0QiwgMHgwQTUsCi0JMHgwNkYsIDB4MDdELCAweDA1RCwgMHgwRUUsIDB4MEI1LCAweDAyRSwgMHgwOTUsIDB4MDgwLAotCTB4MEJFLCAweDBGMCwgMHgwNzMsIDB4MEJELCAweDAwNCwgMHgwN0MsIDB4MEVBLCAweDBGRSwKLQkweDBFQiwgMHgwNEMsIDB4MERFLCAweDAyOSwgMHgwNTMsIDB4MERELCAweDA2QSwgMHgwNTQsCi0JMHgwOTQsIDB4MEE5LCAweDBFQSwgMHgwMEEsIDB4MDhDLCAweDAwMiwgMHgwRDYsIDB4MDRDLAotCTB4MDNDLCAweDAwNSwgMHgwRjQsIDB4MDAwLCAweDBFQSwgMHgwQ0QsIDB4MDU2LCAweDBBRiwKLQkweDBDMCwgMHgwNDcsIDB4MEQyLCAweDA5QywgMHgwOEQsIDB4MDI5LCAweDBDQSwgMHgwRTAsCi0JMHgwMkYsIDB4MEFFLCAweDBCRCwgMHgwNzUsIDB4MDk5LCAweDA5RCwgMHgwNEEsIDB4MEY5LAotCTB4MEVGLCAweDA1MSwgMHgwN0MsIDB4MDk0LCAweDAwQywgMHgwNzcsIDB4MDgwLCAweDAxOCwKLQkweDAxOCwgMHgwMjksIDB4MDJBLCAweDBGOCwgMHgwRTAsIDB4MEU4LCAweDBBQSwgMHgwMzAsCi0JMHgwMEIsIDB4MDJBLCAweDA5OCwgMHgwN0MsIDB4MDFELCAweDAxMSwgMHgwNTEsIDB4MDgwLAotCTB4MDU5LCAweDA1NCwgMHgwQzMsIDB4MDUxLCAweDBGNSwgMHgwMUIsIDB4MDMzLCAweDAyNCwKLQkweDBCQiwgMHgwODIsIDB4MEE1LCAweDAxOSwgMHgwNUMsIDB4MDFELCAweDAxMCwgMHgwMjgsCi0JMHgwQzAsIDB4MDJDLCAweDA5QSwgMHgwQzcsIDB4MEMxLCAweDBEMSwgMHgwMjIsIDB4MDhDLAotCTB4MDAyLCAweDBDOSwgMHgwOTQsIDB4MDY0LCAweDA1QywgMHgwMEMsIDB4MEQ2LCAweDA4RSwKLQkweDAxMywgMHgwNjAsIDB4MDJGLCAweDBCOCwgMHgwMEIsIDB4MEVBLCAweDAzMCwgMHgwRTMsCi0JMHgwQzAsIDB4MDVGLCAweDA0OCwgMHgwREMsIDB4MDc4LCAweDAwQiwgMHgwRTgsIDB4MDAwLAotCTB4MEUzLCAweDBDMCwgMHgwNUYsIDB4MDZDLCAweDAzOCwgMHgwRDUsIDB4MDJFLCAweDAzNSwKLQkweDA0RiwgMHgwNUEsIDB4MDhBLCAweDA2MSwgMHgwQUEsIDB4MDlGLCAweDA1NiwgMHgwMUIsCi0JMHgwMzIsIDB4MDk5LCAweDA0NiwgMHgwNDIsIDB4MEM4LCAweDAwMSwgMHgwMEMsIDB4MDQ1LAotCTB4MENFLCAweDBBNSwgMHgwMTcsIDB4MEU2LCAweDBDNiwgMHgwQ0UsIDB4MEE5LCAweDBFQiwKLQkweDAxNSwgMHgwMTYsIDB4MDQ2LCAweDBBMiwgMHgwNDcsIDB4MDM4LCAweDAxNCwgMHgwNDMsCi0JMHgwMjYsIDB4MDIyLCAweDBFNywgMHgwM0QsIDB4MDYwLCAweDAyRiwgMHgwQUEsIDB4MDlFLAotCTB4MEI1LCAweDAxMiwgMHgwRTAsIDB4MDdGLCAweDAwMSwgMHgwN0QsIDB4MEUzLCAweDBFNywKLQkweDAwMiwgMHgwOTMsIDB4MEY5LCAweDA5NSwgMHgwNDQsIDB4MDVDLCAweDBFNSwgMHgwQTAsCi0JMHgwRTMsIDB4MDlELCAweDA0QSwgMHgwN0YsIDB4MDlDLCAweDA1NCwgMHgwQTksIDB4MEVCLAotCTB4MDUxLCAweDAwNSwgMHgwNDYsIDB4MEI5LCAweDBGQywgMHgwQzAsIDB4MDFCLCAweDAyMiwKLQkweDAyRSwgMHgwNjQsIDB4MDU0LCAweDAyRiwgMHgwQ0QsIDB4MDQ2LCAweDBDQywgMHgwQTcsCi0JMHgwRDUsIDB4MDg2LCAweDBDQywgMHgwQTYsIDB4MDUwLCAweDA1NSwgMHgwQzYsIDB4MDQ1LAotCTB4MENFLCAweDA1QSwgMHgwMEUsIDB4MDM5LCAweDBENCwgMHgwQTcsIDB4MEY5LCAweDBDNSwKLQkweDA0QSwgMHgwOUUsIDB4MEI1LCAweDAxMSwgMHgwODAsIDB4MDU5LCAweDBDMCwgMHgwNkQsCi0JMHgwQ0YsIDB4MEU2LCAweDAwMCwgMHgwRDksIDB4MDExLCAweDA3MywgMHgwMjIsIDB4MEExLAotCTB4MDdFLCAweDA2QSwgMHgwMzYsIDB4MDY1LCAweDAzRSwgMHgwQUMsIDB4MDM2LCAweDA2NSwKLQkweDAzMiwgMHgwQjAsIDB4MDE3LCAweDBERCwgMHgwM0UsIDB4MDcyLCAweDBEMiwgMHgwNzksCi0JMHgwMzEsIDB4MDBDLCAweDA5OCwgMHgwMkUsIDB4MDRDLCAweDAyMCwgMHgwNzMsIDB4MDJBLAotCTB4MDhGLCAweDBGMywgMHgwOEEsIDB4MEFELCAweDBFNywgMHgwNDEsIDB4MDgyLCAweDA3QywKLQkweDBDQSwgMHgwQTYsIDB4MDg5LCAweDBCNSwgMHgwODUsIDB4MDlGLCAweDBCMCwgMHgwRjAsCi0JMHgwMTcsIDB4MEQ1LCAweDAxRiwgMHgwNTQsIDB4MDU0LCAweDAyNSwgMHgwMUEsIDB4MEE4LAotCTB4MEZGLCAweDAyQSwgMHgwOTQsIDB4MDY1LCAweDAxMSwgMHgwRDcsIDB4MDQ5LCAweDA0NCwKLQkweDBENSwgMHgwQ0MsIDB4MEEwLCAweDA1NSwgMHgwRDgsIDB4MEFFLCAweDAwRSwgMHgwODgsCi0JMHgwMTQsIDB4MDYwLCAweDAxNiwgMHgwNEQsIDB4MDYzLCAweDAyMiwgMHgwRTAsIDB4MDcyLAotCTB4MDg2LCAweDAzOCwgMHgwNEQsIDB4MDgwLCAweDBCRSwgMHgwRTAsIDB4MDJGLCAweDBCOCwKLQkweDAwQiwgMHgwRUUsIDB4MDAyLCAweDBGQiwgMHgwODEsIDB4MDM4LCAweDBGMCwgMHgwMTcsCi0JMHgwRDcsIDB4MEQ3LCAweDAxRSwgMHgwMDIsIDB4MEZBLCAweDBGQSwgMHgwRTMsIDB4MEMwLAotCTB4MDVGLCAweDA0QywgMHgwODUsIDB4MDkwLCAweDAwMiwgMHgwMTgsIDB4MEM4LCAweDA1QiwKLQkweDA4MCwgMHgwREEsIDB4MDMwLCAweDAwQiwgMHgwNzAsIDB4MDFCLCAweDA0QywgMHgwMjIsCi0JMHgwRDMsIDB4MDRDLCAweDAzMywgMHgwMDMsIDB4MDhDLCAweDAyRSwgMHgwNEMsIDB4MDQzLAotCTB4MDI2LCAweDBEMCwgMHgwRjUsIDB4MDYzLCAweDA2NiwgMHgwRDAsIDB4MDk1LCAweDBBNywKLQkweDBDRSwgMHgwNDUsIDB4MDMzLCAweDAwQSwgMHgwRDYsIDB4MDE2LCAweDA0MiwgMHgwMzgsCi0JMHgwNkUsIDB4MEU0LCAweDBDRSwgMHgwQkQsIDB4MDU5LCAweDAyQywgMHgwRDIsIDB4MEFCLAotCTB4MEJBLCAweDA5NCwgMHgwOUQsIDB4MEU2LCAweDAxQSwgMHgwQjAsIDB4MDE3LCAweDBENSwKLQkweDA0RiwgMHgwNUEsIDB4MDhCLCAweDAwOSwgMHgwMUEsIDB4MDg4LCAweDBCOSwgMHgwQzUsCi0JMHgwNDIsIDB4MDQ3LCAweDAzMCwgMHgwRDQsIDB4MDMyLCAweDAxNiwgMHgwNzIsIDB4MDg4LAotCTB4MDY1LCAweDBCRCwgMHgwNTksIDB4MDk5LCAweDAyNSwgMHgwQTUsIDB4MDYwLCAweDAyRiwKLQkweDBCOCwgMHgwNjAsIDB4MEYzLCAweDAwOCwgMHgwQjcsIDB4MDRBLCAweDAxQSwgMHgwOEYsCi0JMHgwQUIsIDB4MDBELCAweDA5OSwgMHgwNDYsIDB4MDUxLCAweDBBRiwgMHgwMzgsIDB4MEE4LAotCTB4MDhFLCAweDA5MCwgMHgwNjUsIDB4MDEzLCAweDA1MiwgMHgwMTgsIDB4MEEwLCAweDA1NCwKLQkweDBCMSwgMHgwNDIsIDB4MDJFLCAweDA2MSwgMHgwQTgsIDB4MDQ4LCAweDBFNywgMHgwMkQsCi0JMHgwMTYsIDB4MEY3LCAweDBBOCwgMHgwMDUsIDB4MEE1LCAweDA2MCwgMHgwMkYsIDB4MEE0LAotCTB4MDc1LCAweDBEMiwgMHgwNTEsIDB4MDM1LCAweDA3MywgMHgwMjgsIDB4MDE1LCAweDA3NiwKLQkweDAyQiwgMHgwODMsIDB4MEEyLCAweDAwNSwgMHgwMTgsIDB4MDA1LCAweDA5MywgMHgwNTgsCi0JMHgwQzgsIDB4MEI4LCAweDAwNiwgMHgwMjgsIDB4MDYzLCAweDA4NCwgMHgwRDgsIDB4MDBCLAotCTB4MEVFLCAweDAwMiwgMHgwRkIsIDB4MDgwLCAweDBCRSwgMHgwRTAsIDB4MDJGLCAweDBBMCwKLQkweDA0MywgMHgwQTcsIDB4MDAxLCAweDA3RCwgMHgwNEMsIDB4MEUzLCAweDBDMCwgMHgwNUYsCi0JMHgwNzAsIDB4MDE3LCAweDBEQywgMHgwMDUsIDB4MEY0LCAweDA2NCwgMHgwMkQsIDB4MEMwLAotCTB4MDZELCAweDAxOCwgMHgwMDUsIDB4MEI4LCAweDAwRCwgMHgwQTUsIDB4MEJELCAweDA2QSwKLQkweDAyMywgMHgwODYsIDB4MEFBLCAweDA5RSwgMHgwQjUsIDB4MDExLCAweDBBNCwgMHgwNkEsCi0JMHgwQTMsIDB4MEVBLCAweDA4QSwgMHgwOEQsIDB4MDIzLCAweDBFMSwgMHgwMTcsIDB4MDM4LAotCTB4MDM0LCAweDA2OSwgMHgwNzEsIDB4MDk4LCAweDA0NSwgMHgwQTYsIDB4MDk4LCAweDA2QSwKLQkweDAzRSwgMHgwQUMsIDB4MDM2LCAweDA2NSwgMHgwMTksIDB4MDQ2LCAweDBCQywgMHgwRTIsCi0JMHgwQTIsIDB4MDNBLCAweDA0MSwgMHgwOTQsIDB4MDRELCAweDA0OCwgMHgwNjIsIDB4MDgxLAotCTB4MDUyLCAweDBDNSwgMHgwMTYsIDB4MEY3LCAweDBBOCwgMHgwOEIsIDB4MDRBLCAweDA1NCwKLQkweDBGNSwgMHgwQTgsIDB4MDhDLCAweDAwMiwgMHgwREMsIDB4MDA2LCAweDBEMSwgMHgwMDMsCi0JMHgwOUMsIDB4MEI0LCAweDBBOSwgMHgwRUUsIDB4MDBBLCAweDA5NSwgMHgwMjUsIDB4MDJBLAotCTB4MDdBLCAweDBBRCwgMHgwNDYsIDB4MDAxLCAweDA2NywgMHgwMDEsIDB4MEI1LCAweDBENywKLQkweDBBQywgMHgwMEEsIDB4MDMwLCAweDAwQiwgMHgwNkMsIDB4MDQ5LCAweDAzNSwgMHgwRTYsCi0JMHgwQjUsIDB4MDY3LCAweDBGMywgMHgwMDAsIDB4MDZDLCAweDA4OCwgMHgwQjksIDB4MDkxLAotCTB4MDUwLCAweDBCRiwgMHgwMzEsIDB4MDFCLCAweDAzMiwgMHgwQTcsIDB4MEI4LCAweDA2OCwKLQkweDA5NSwgMHgwMjUsIDB4MDdCLCAweDBBRCwgMHgwMzMsIDB4MDc4LCAweDBBNywgMHgwQ0QsCi0JMHgwM0UsIDB4MEQzLCAweDA4RSwgMHgwOUQsIDB4MDM0LCAweDBFNywgMHgwNEUsIDB4MEQ0LAotCTB4MDIyLCAweDBFNywgMHgwMDYsIDB4MDg0LCAweDA4RSwgMHgwNjAsIDB4MEE4LCAweDBGRiwKLQkweDAzOCwgMHgwQUIsIDB4MDgzLCAweDA5QywgMHgwMkEsIDB4MDA4LCAweDBGOSwgMHgwRDQsCi0JMHgwMjAsIDB4MDYzLCAweDBCQywgMHgwMUEsIDB4MDA2LCAweDAwQSwgMHgwQzAsIDB4MDVGLAotCTB4MDQ2LCAweDA0MiwgMHgwREMsIDB4MDA2LCAweDBEMSwgMHgwODAsIDB4MDVCLCAweDA4MCwKLQkweDBEQSwgMHgwMjIsIDB4MEU2LCAweDAxQSwgMHgwODQsIDB4MDhFLCAweDA3MiwgMHgwRDEsCi0JMHgwNkYsIDB4MDVBLCAweDA4MCwgMHgwODcsIDB4MDFBLCAweDBBQSwgMHgwN0EsIDB4MEQ0LAotCTB4MDQ4LCAweDBDOCwgMHgwRDUsIDB4MDQ3LCAweDBENSwgMHgwMTUsIDB4MDIzLCAweDAyMywKLQkweDBFMSwgMHgwMTcsIDB4MDM4LCAweDAzNCwgMHgwOEMsIDB4MEJBLCAweDA0QiwgMHgwN0IsCi0JMHgwRDQsIDB4MDAyLCAweDBEMiwgMHgwOEMsIDB4MDIyLCAweDBEQywgMHgwMDYsIDB4MEQ1LAotCTB4MDFGLCAweDA1NiwgMHgwMUIsIDB4MDMyLCAweDA4QywgMHgwQTMsIDB4MDVFLCAweDA3MSwKLQkweDA1MSwgMHgwMUQsIDB4MDIwLCAweDBDQSwgMHgwMjYsIDB4MEE0LCAweDAzMSwgMHgwNDAsCi0JMHgwQTksIDB4MDYyLCAweDBCMCwgMHgwMTcsIDB4MERGLCAweDA5RSwgMHgwRjQsIDB4MEI3LAotCTB4MEM5LCAweDA0MCwgMHgwQzcsIDB4MDc4LCAweDAwMSwgMHgwODEsIDB4MDgyLCAweDBCOCwKLQkweDAzOCwgMHgwMzksIDB4MDQ5LCAweDAxQywgMHgwMjYsIDB4MEMwLCAweDA1RiwgMHgwNzAsCi0JMHgwMTcsIDB4MEQ0LCAweDBBQiwgMHgwRTEsIDB4MDJBLCAweDBGOCwgMHgwNEEsIDB4MEJFLAotCTB4MDEyLCAweDBBRiwgMHgwOEYsIDB4MDk3LCAweDA0RiwgMHgwQ0IsIDB4MEE3LCAweDAwMSwKLQkweDA3RCwgMHgwREEsIDB4MDgwLCAweDBBQSwgMHgwOTEsIDB4MDY0LCAweDA3RiwgMHgwNEEsCi0JMHgwODEsIDB4MEQ1LCAweDAyMiwgMHgwQzgsIDB4MEZFLCAweDA4MiwgMHgwODAsIDB4MDI1LAotCTB4MDQ4LCAweDBCMiwgMHgwM0UsIDB4MEJCLCAweDBEQywgMHgwMzUsIDB4MDJFLCAweDA5NCwKLQkweDAwNywgMHgwRTgsIDB4MDhBLCAweDA5QywgMHgwMDMsIDB4MEUyLCAweDA0QiwgMHgwQTUsCi0JMHgwNzcsIDB4MEFCLCAweDBCMywgMHgwMzIsIDB4MEU5LCAweDA0QiwgMHgwQkQsIDB4MDU5LAotCTB4MDg2LCAweDA4NCwgMHgwOTcsIDB4MDdBLCAweDAwNCwgMHgwQkEsIDB4MDUzLCAweDBFMSwKLQkweDAzMiwgMHgwRUYsIDB4MDUwLCAweDBENCwgMHgwRTYsIDB4MDM1LCAweDA1MywgMHgwRUIsCi0JMHgwMDIsIDB4MDlDLCAweDBDNywgMHgwRDcsIDB4MDdBLCAweDBCMywgMHgwMzAsIDB4MEQyLAotCTB4MDVELCAweDBFQSwgMHgwMDIsIDB4MEU5LCAweDA0NCwgMHgwNUQsIDB4MDE2LCAweDAyOCwKLQkweDBDMCwgMHgwMkMsIDB4MEUwLCAweDAzNiwgMHgwOTEsIDB4MDc0LCAweDA0NSwgMHgwNTksCi0JMHgwMTgsIDB4MEQ1LCAweDA0RiwgMHgwQUMsIDB4MDBBLCAweDBDNCwgMHgwMzUsIDB4MDMwLAotCTB4MDhCLCAweDAzOCwgMHgwNjksIDB4MDJCLCAweDBCRCwgMHgwNTksIDB4MDk4LCAweDA2OSwKLQkweDAyRSwgMHgwRjUsIDB4MDEyLCAweDBFOSwgMHgwNTgsIDB4MDY3LCAweDA0QSwgMHgwRUYsCi0JMHgwNTAsIDB4MEQ1LCAweDA4RSwgMHgwM0UsIDB4MDFDLCAweDBBNCwgMHgwQjAsIDB4MENFLAotCTB4MDkzLCAweDAyMSwgMHgwNkUsIDB4MDFBLCAweDA0OCwgMHgwMUYsIDB4MEEyLCAweDAyQSwKLQkweDBDMywgMHgwMEQsIDB4MDU3LCAweDA3QSwgMHgwQjMsIDB4MDBELCAweDAwOSwgMHgwMkUsCi0JMHgwRjQsIDB4MDQzLCAweDA1RCwgMHgwMjgsIDB4MDhCLCAweDA4MywgMHgwMjAsIDB4MDkyLAotCTB4MDM4LCAweDA0RCwgMHgwODAsIDB4MEJFLCAweDBFMCwgMHgwMkYsIDB4MEFDLCAweDAxNywKLQkweDA0OSwgMHgwQjMsIDB4MEE1LCAweDA4MiwgMHgwRTksIDB4MDNFLCAweDBFOSwgMHgwMzYsCi0JMHgwNzQsIDB4MEUwLCAweDAyRiwgMHgwQTYsIDB4MENFLCAweDA5QywgMHgwMDUsIDB4MEY0LAotCTB4MEMyLCAweDAyQywgMHgwOEMsIDB4MDUyLCAweDA1NywgMHgwN0EsIDB4MEQ0LCAweDA4RCwKLQkweDA0OCwgMHgwRkEsIDB4MEVGLCAweDA1MCwgMHgwRDUsIDB4MEFFLCAweDAzNSwgMHgwNTMsCi0JMHgwRUIsIDB4MDAyLCAweDA4NiwgMHgwMjEsIDB4MEFBLCAweDBFRiwgMHgwNTYsIDB4MDY2LAotCTB4MDFBLCAweDA0QiwgMHgwQkQsIDB4MDQ0LCAweDBCQSwgMHgwNTAsIDB4MEM0LCAweDBFOSwKLQkweDA1MywgMHgwRUIsIDB4MDAyLCAweDA4NiwgMHgwODEsIDB4MEY1LCAweDBERSwgMHgwQTEsCi0JMHgwQTgsIDB4MDYyLCAweDAxRiwgMHgwNUQsIDB4MEZFLCAweDBBMiwgMHgwNUQsIDB4MDI5LAotCTB4MDc3LCAweDBBOCwgMHgwNkEsIDB4MDYxLCAweDA4RCwgMHgwNDAsIDB4MEZELCAweDAxMSwKLQkweDA1MywgMHgwMEMsIDB4MDZBLCAweDBBNywgMHgwRDYsIDB4MDA1LCAweDAzMCwgMHgwQzcsCi0JMHgwRDcsIDB4MDdGLCAweDBBOSwgMHgwNTcsIDB4MDRBLCAweDA1RCwgMHgwRUIsIDB4MDQ4LAotCTB4MDFCLCAweDAwQywgMHgwN0MsIDB4MDhCLCAweDA5RCwgMHgwOEEsIDB4MDUzLCAweDBFRiwKLQkweDA2NiwgMHgwOTQsIDB4MENBLCAweDA1NCwgMHgwRjUsIDB4MEEwLCAweDBDNiwgMHgwMDEsCi0JMHgwNkUsIDB4MDAzLCAweDA2QSwgMHgwOUYsIDB4MDU2LCAweDA3NiwgMHgwNjUsIDB4MDMyLAotCTB4MDhCLCAweDA3QiwgMHgwRDIsIDB4MEM1LCAweDBBNSwgMHgwNjAsIDB4MDJGLCAweDBBQSwKLQkweDA3RCwgMHgwNjUsIDB4MEEzLCAweDAwMCwgMHgwQjcsIDB4MDAxLCAweDBCNCwgMHgwQzgsCi0JMHgwNUEsIDB4MDA3LCAweDA4RiwgMHgwRUQsIDB4MDAxLCAweDBENSwgMHgwMjcsIDB4MDkxLAotCTB4MDY3LCAweDAwMSwgMHgwQjQsIDB4MDhCLCAweDA5QywgMHgwNTQsIDB4MDFDLCAweDA3MywKLQkweDBBOCwgMHgwODQsIDB4MDVDLCAweDBDMSwgMHgwNTAsIDB4MEJGLCAweDAzNiwgMHgwNTYsCi0JMHgwNjAsIDB4MEFCLCAweDA4QywgMHgwOEIsIDB4MDlDLCAweDA1NCwgMHgwMUMsIDB4MDczLAotCTB4MEE4LCAweDA4NCwgMHgwNUMsIDB4MEMxLCAweDA1MCwgMHgwQkYsIDB4MDM2LCAweDA1NiwKLQkweDA2QywgMHgwMDUsIDB4MEY1LCAweDA1MywgMHgwRDYsIDB4MEEyLCAweDAzMCwgMHgwMEIsCi0JMHgwMjksIDB4MDVCLCAweDAxOSwgMHgwRkMsIDB4MEY2LCAweDA5NCwgMHgwNDUsIDB4MENGLAotCTB4MDE1LCAweDAwQiwgMHgwRjMsIDB4MDNDLCAweDBCMywgMHgwMkEsIDB4MDdBLCAweDBDNSwKLQkweDA0NiwgMHgwMDEsIDB4MDY0LCAweDA4QSwgMHgwMzEsIDB4MDIzLCAweDA5QywgMHgwMEEsCi0JMHgwNUQsIDB4MEVBLCAweDAzNCwgMHgwMzMsIDB4MDJFLCAweDA5NSwgMHgwQzcsIDB4MENFLAotCTB4MDJBLCAweDA0RiwgMHgwRTYsIDB4MDUwLCAweDAyMCwgMHgwQjksIDB4MDMxLCAweDAwQywKLQkweDA5QiwgMHgwRUYsIDB4MDM5LCAweDAxNCwgMHgwNDUsIDB4MENFLCAweDA0NSwgMHgwMDcsCi0JMHgwMUMsIDB4MEVBLCAweDA0NiwgMHgwODcsIDB4MEFCLCAweDAxQiwgMHgwMzYsIDB4MDg0LAotCTB4MEE3LCAweDA1RSwgMHgwQUMsIDB4MDk2LCAweDA2NywgMHgwNTIsIDB4MEIwLCAweDAxNywKLQkweDBEQywgMHgwRkUsIDB4MDdCLCAweDA0QSwgMHgwMjIsIDB4MEU3LCAweDA4QSwgMHgwODUsCi0JMHgwRjksIDB4MDlFLCAweDA1OSwgMHgwOTcsIDB4MDdBLCAweDA4RCwgMHgwMEMsIDB4MENCLAotCTB4MEE1LCAweDAyNywgMHgwRjMsIDB4MEEwLCAweDA0NCwgMHgwMzIsIDB4MDYwLCAweDBCOSwKLQkweDAzNywgMHgwREUsIDB4MDcyLCAweDAyOCwgMHgwOEIsIDB4MDlDLCAweDA4QSwgMHgwMEUsCi0JMHgwMzksIDB4MEQ0LCAweDA4QywgMHgwMDUsIDB4MEY3LCAweDBFNywgMHgwQjgsIDB4MDJBLAotCTB4MEY5LCAweDAyOCwgMHgwMTgsIDB4MEVGLCAweDAwMCwgMHgwMzAsIDB4MDMwLCAweDA1NywKLQkweDAwNywgMHgwNDQsIDB4MDBBLCAweDA1MCwgMHgwOEYsIDB4MEYwLCAweDA3MywgMHgwOTEsCi0JMHgwNDEsIDB4MDFGLCAweDAzQSwgMHgwOTAsIDB4MDQ1LCAweDBDMCwgMHgwQkIsIDB4MDE4LAotCTB4MEUxLCAweDAzNiwgMHgwMDIsIDB4MEZCLCAweDBGQiwgMHgwOUUsIDB4MDAyLCAweDBGQSwKLQkweDBFRSwgMHgwRTcsIDB4MEY1LCAweDBDRiwgMHgwMDEsIDB4MDdELCAweDAxMCwgMHgwNUMsCi0JMHgwRjAsIDB4MDE3LCAweDBEMSwgMHgwMDUsIDB4MENGLCAweDAwMSwgMHgwN0QsIDB4MDUzLAotCTB4MEVCLCAweDAyRCwgMHgwMTgsIDB4MDA1LCAweDBCOCwgMHgwMEQsIDB4MEE2LCAweDA0MiwKLQkweDBEQywgMHgwMDYsIDB4MEQzLCAweDAxNywgMHgwMzUsIDB4MEE4LCAweDA4QiwgMHgwOUMsCi0JMHgwMEEsIDB4MDBFLCAweDAzOSwgMHgwRDQsIDB4MDBDLCAweDBGRSwgMHgwN0IsIDB4MDRBLAotCTB4MDIyLCAweDBFNiwgMHgwNTUsIDB4MDBCLCAweDBGMywgMHgwMzEsIDB4MEIzLCAweDA2MCwKLQkweDAyRiwgMHgwQkMsIDB4MDdDLCAweDBFMiwgMHgwQTQsIDB4MEZFLCAweDA2NSwgMHgwNTEsCi0JMHgwMTcsIDB4MDM4LCAweDAxNCwgMHgwMUMsIDB4MDczLCAweDBBOCwgMHgwMTksIDB4MEZDLAotCTB4MEY2LCAweDA5NCwgMHgwNDUsIDB4MENDLCAweDBBQSwgMHgwMTcsIDB4MEU2LCAweDA2MywKLQkweDA2NiwgMHgwMEEsIDB4MEI4LCAweDBDQywgMHgwODUsIDB4MEExLCAweDA1OCwgMHgwRjYsCi0JMHgwQTIsIDB4MDM1LCAweDA0OCwgMHgwNDgsIDB4MDdGLCAweDA0QSwgMHgwODksIDB4MDk1LAotCTB4MDIxLCAweDAyMSwgMHgwRkQsIDB4MDA1LCAweDAwMiwgMHgwNTQsIDB4MDlFLCAweDA0NSwKLQkweDA5MSwgMHgwMEUsIDB4MDNDLCAweDAwNSwgMHgwRjUsIDB4MDA3LCAweDA0MCwgMHgwNTUsCi0JMHgwNDgsIDB4MDUyLCAweDAzRSwgMHgwODYsIDB4MEEwLCAweDA3NSwgMHgwNDgsIDB4MDUyLAotCTB4MDNFLCAweDBCNSwgMHgwMDAsIDB4MDRBLCAweDA5QywgMHgwMDAsIDB4MDZCLCAweDBDNywKLQkweDBDRSwgMHgwNDUsIDB4MDI3LCAweDBGMywgMHgwMkEsIDB4MDg0LCAweDAzNywgMHgwMzUsCi0JMHgwREUsIDB4MEEwLCAweDBBQiwgMHgwMjMsIDB4MDFBLCAweDBBRSwgMHgwRjUsIDB4MDgzLAotCTB4MDU5LCAweDAxOCwgMHgwRDcsIDB4MDQzLCAweDBERSwgMHgwMkEsIDB4MEQwLCAweDA5NCwKLQkweDBFQiwgMHgwREUsIDB4MDA1LCAweDAzQSwgMHgwOTUsIDB4MDlGLCAweDBDQywgMHgwQzMsCi0JMHgwMjAsIDB4MDQ1LCAweDBDQywgMHgwQUEsIDB4MDE3LCAweDBFNiwgMHgwNjYsIDB4MENDLAotCTB4MDQzLCAweDAyNiwgMHgwNEYsIDB4MEU3LCAweDA0MSwgMHgwMjIsIDB4MDJFLCAweDA3MCwKLQkweDA2OCwgMHgwMzgsIDB4MEU3LCAweDA1MywgMHgwRTAsIDB4MDJGLCAweDBBQiwgMHgwQkMsCi0JMHgwMTIsIDB4MEQyLCAweDBFOSwgMHgwNTgsIDB4MDBCLCAweDBFQSwgMHgwQTcsIDB4MEFELAotCTB4MDQ1LCAweDBBMSwgMHgwMUYsIDB4MEMwLCAweDA1RiwgMHgwNzgsIDB4MDM5LCAweDBDOCwKLQkweDBBMCwgMHgwOEYsIDB4MDlELCAweDA0OCwgMHgwMUMsIDB4MDI0LCAweDBFRSwgMHgwQzcsCi0JMHgwODAsIDB4MEJFLCAweDBCQSwgMHgwRjUsIDB4MDZELCAweDA2NiwgMHgwNDksIDB4MDc3LAotCTB4MDBELCAweDA0RSwgMHgwQTUsIDB4MDMwLCAweDAwOSwgMHgwQjQsIDB4MEY5LCAweDBDNSwKLQkweDA0MywgMHgwMEYsIDB4MDM4LCAweDBBOSwgMHgwM0YsIDB4MDlELCAweDAwMiwgMHgwRkIsCi0JMHgwQ0UsIDB4MDQ1LCAweDAxMSwgMHgwNzMsIDB4MDkxLCAweDA0MSwgMHgwQzcsIDB4MDNBLAotCTB4MDkxLCAweDA5RiwgMHgwQ0YsIDB4MDY5LCAweDA0NCwgMHgwNUMsIDB4MEYxLCAweDA1MCwKLQkweDBCRiwgMHgwMzMsIDB4MENCLCAweDAzMiwgMHgwQTcsIDB4MEFDLCAweDA1NCwgMHgwOTAsCi0JMHgwOEQsIDB4MDQ0LCAweDA4RSwgMHgwNzAsIDB4MDI5LCAweDA3NywgMHgwQTgsIDB4MEQwLAotCTB4MENDLCAweDBCQSwgMHgwNTYsIDB4MEIwLCAweDBCMiwgMHgwOUQsIDB4MDhDLCAweDA4NiwKLQkweDA0QywgMHgwMTcsIDB4MDI2LCAweDA3NywgMHgwMjYsIDB4MDFDLCAweDAyNywgMHgwMUMsCi0JMHgwMjQsIDB4MDlFLCAweDAyMywgMHgwNjEsIDB4MEJFLCAweDA4RSwgMHgwMTIsIDB4MDRGLAotCTB4MDExLCAweDA4NywgMHgwMUMsIDB4MEVBLCAweDA1QywgMHgwMDUsIDB4MEY1LCAweDBENywKLQkweDBCOCwgMHgwNkEsIDB4MDc1LCAweDAyOSwgMHgwNzcsIDB4MEFCLCAweDAwRCwgMHgwOTksCi0JMHgwNzQsIDB4MEE1LCAweDA0RiwgMHgwNzIsIDB4MEEwLCAweDBBQSwgMHgwNEEsIDB4MEM2LAotCTB4MEYzLCAweDA2NiwgMHgwNjYsIDB4MEM2LCAweDAzOSwgMHgwODIsIDB4MEFGLCAweDA3NSwKLQkweDBBNiwgMHgwNkYsIDB4MDE0LCAweDA2QiwgMHgwQ0UsIDB4MDA1LCAweDA3MCwgMHgwNzMsCi0JMHgwOTYsIDB4MDgyLCAweDAzRSwgMHgwNzUsIDB4MDI4LCAweDBFMSwgMHgwM0EsIDB4MEE3LAotCTB4MEFELCAweDA0NCwgMHgwNjAsIDB4MDE2LCAweDA1MiwgMHgwQjYsIDB4MDFELCAweDA3QSwKLQkweDBCNiwgMHgwQjMsIDB4MDI0LCAweDBCQiwgMHgwODYsIDB4MEE3LCAweDA1MiwgMHgwOTgsCi0JMHgwMDQsIDB4MERBLCAweDA3QywgMHgwRTIsIDB4MEExLCAweDA4NywgMHgwOUMsIDB4MDU1LAotCTB4MEY3LCAweDA5QywgMHgwQjUsIDB4MEFDLCAweDAyQywgMHgwOTUsIDB4MDMzLCAweDBCOSwKLQkweDAzMSwgMHgwMDUsIDB4MEQ5LCAweDA1MywgMHgwRDYsIDB4MEEyLCAweDAzMCwgMHgwMEIsCi0JMHgwMjksIDB4MDVCLCAweDAwMiwgMHgwMkUsIDB4MDYxLCAweDA1QSwgMHgwMTcsIDB4MEU2LAotCTB4MDlDLCAweDBCMywgMHgwMkEsIDB4MDdBLCAweDBDNSwgMHgwNDAsIDB4MDIxLCAweDBBOCwKLQkweDA5MSwgMHgwQ0UsIDB4MDA1LCAweDAyNywgMHgwRjMsIDB4MEE1LCAweDA4OCwgMHgwNjQsCi0JMHgwQzEsIDB4MDcyLCAweDA2NSwgMHgwNEYsIDB4MDU4LCAweDAxNCwgMHgwMEMsIDB4MDhELAotCTB4MDdFLCAweDBGMywgMHgwODEsIDB4MDQ0LCAweDA1QywgMHgwRUYsIDB4MDQxLCAweDBDNywKLQkweDAzQSwgMHgwQkUsIDB4MDAyLCAweDBGQSwgMHgwQTksIDB4MEVBLCAweDBDRSwgMHgwQ0MsCi0JMHgwQTksIDB4MDI5LCAweDA1MywgMHgwRDYsIDB4MEEyLCAweDA0NiwgMHgwNDcsIDB4MERELAotCTB4MDdBLCAweDBDMCwgMHgwQTMsIDB4MDAwLCAweDA4NiwgMHgwRTIsIDB4MDlCLCAweDAyOSwKLQkweDA3OCwgMHgwOEIsIDB4MDgxLCAweDAwOSwgMHgwOTgsIDB4MDcwLCAweDA5QiwgMHgwMjksCi0JMHgwNzksIDB4MDVELCAweDBEOSwgMHgwNzIsIDB4MEVELCAweDA5NCwgMHgwQkMsIDB4MEI5LAotCTB4MDc2LCAweDAxMywgMHgwM0IsIDB4MDJBLCAweDA1RCwgMHgwQjIsIDB4MDk3LCAweDA5NSwKLQkweDAyRSwgMHgwRDksIDB4MDRCLCAweDBDQSwgMHgwN0QsIDB4MDVCLCAweDA1OSwgMHgwOTQsCi0JMHgwQ0EsIDB4MDFDLCAweDAyNCwgMHgwRUUsIDB4MEM3LCAweDA5NCwgMHgwQkMsIDB4MEMwLAotCTB4MDI2LCAweDBEMywgMHgwRTcsIDB4MDE1LCAweDAwQywgMHgwM0MsIDB4MEUyLCAweDBBQywKLQkweDBGRSwgMHgwN0IsIDB4MDRBLCAweDAyMiwgMHgwRTcsIDB4MDhBLCAweDA4NSwgMHgwRjksCi0JMHgwOUUsIDB4MDU5LCAweDA5NywgMHgwN0EsIDB4MDhELCAweDAwQywgMHgwQ0IsIDB4MEE1LAotCTB4MDI3LCAweDBGMywgMHgwQTAsIDB4MDQxLCAweDA3MiwgMHgwNjIsIDB4MDE5LCAweDAzNywKLQkweDBERSwgMHgwNzAsIDB4MDI4LCAweDA4QiwgMHgwOUMsIDB4MDhBLCAweDAwRSwgMHgwMzksCi0JMHgwRDQsIDB4MDhELCAweDAwRiwgMHgwNTYsIDB4MDM2LCAweDA2RCwgMHgwMDksIDB4MDRFLAotCTB4MEJELCAweDA1OSwgMHgwMkMsIDB4MENFLCAweDBBNSwgMHgwNkIsIDB4MDBCLCAweDAyMiwKLQkweDBEOSwgMHgwOUQsIDB4MEM5LCAweDBCMiwgMHgwOTcsIDB4MEJFLCAweDBGMywgMHgwODEsCi0JMHgwNEEsIDB4MDdELCAweDA2NSwgMHgwQTMsIDB4MDAwLCAweDA5MywgMHgwOEYsIDB4MDY3LAotCTB4MDI5LCAweDA3OCwgMHgwQzIsIDB4MDRELCAweDBDMSwgMHgwRDEsIDB4MDA2LCAweDA4MiwKLQkweDAzMSwgMHgwQUYsIDB4MDA3LCAweDAzOCwgMHgwMzQsIDB4MDExLCAweDBGMywgMHgwQTgsCi0JMHgwMkEsIDB4MDlFLCAweDBBOCwgMHgwNjYsIDB4MDFBLCAweDBBNCwgMHgwQTUsIDB4MDRGLAotCTB4MDVBLCAweDAwQywgMHgwMTEsIDB4MDhGLCAweDBBQSwgMHgwN0IsIDB4MEQwLCAweDA2NSwKLQkweDA0OSwgMHgwNDUsIDB4MEJELCAweDBFOSwgMHgwNjIsIDB4MEQyLCAweDBCMSwgMHgwOUUsCi0JMHgwNkMsIDB4MENDLCAweDBDNiwgMHgwMTksIDB4MDg3LCAweDAwOSwgMHgwQzMsIDB4MDhFLAotCTB4MDc1LCAweDA0MSwgMHgwMUYsIDB4MDNBLCAweDBBNSwgMHgwMTMsIDB4MEQ1LCAweDA1NSwKLQkweDA1NSwgMHgwNTUsIDB4MDU1LCAweDA1NSwgMHgwNTUsIDB4MDU1LCAweDA1NSwgMHgwNTUsCi0JMHgwNTUsIDB4MDU1LCAweDA1NSwgMHgwNTUsIDB4MDU1LCAweDA1NSwgMHgwNTUsIDB4MDU1LAotCTB4MDU1LCAweDA1NSwgMHgwNTUsIDB4MDU1LCAweDA1NSwgMHgwNTUsIDB4MDU1LCAweDA1NSwKLQkweDA1NSwgMHgwNTUsIDB4MDU1LCAweDA1NSwgMHgwNTUsIDB4MDU1LCAweDA1NSwgMHgwNTUsCi0JMHgwNTUsIDB4MDU1LCAweDA1NSwgMHgwNTUsIDB4MDU1LCAweDA1NSwgMHgwNTUsIDB4MDU1LAotCTB4MDU1LCAweDA1NSwgMHgwNTUsIDB4MDVBLCAweDBDQywgMHgwOTAKLSB9OwotCi0jZW5kaWYJLyogZGVmaW5lZChDT05GSUdfU01DVFIpIHx8IGRlZmluZWQoQ09ORklHX1NNQ1RSX01PRFVMRSkgKi8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3R1bi5jIGIvZHJpdmVycy9uZXQvdHVuLmMKaW5kZXggYjkwMThiZi4uZWJhMTI3MSAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvdHVuLmMKKysrIGIvZHJpdmVycy9uZXQvdHVuLmMKQEAgLTQ4LDYgKzQ4LDcgQEAKICNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KICNpbmNsdWRlIDxsaW51eC9tYWpvci5oPgogI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L3BvbGwuaD4KICNpbmNsdWRlIDxsaW51eC9mY250bC5oPgogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KQEAgLTgwMiwyMiArODAzLDI2IEBACiAKIAlEQkcoS0VSTl9JTkZPICIlczogdHVuX2Nocl9mYXN5bmMgJWRcbiIsIHR1bi0+ZGV2LT5uYW1lLCBvbik7CiAKKwlsb2NrX2tlcm5lbCgpOwogCWlmICgocmV0ID0gZmFzeW5jX2hlbHBlcihmZCwgZmlsZSwgb24sICZ0dW4tPmZhc3luYykpIDwgMCkKLQkJcmV0dXJuIHJldDsKKwkJZ290byBvdXQ7CiAKIAlpZiAob24pIHsKIAkJcmV0ID0gX19mX3NldG93bihmaWxlLCB0YXNrX3BpZChjdXJyZW50KSwgUElEVFlQRV9QSUQsIDApOwogCQlpZiAocmV0KQotCQkJcmV0dXJuIHJldDsKKwkJCWdvdG8gb3V0OwogCQl0dW4tPmZsYWdzIHw9IFRVTl9GQVNZTkM7CiAJfSBlbHNlCiAJCXR1bi0+ZmxhZ3MgJj0gflRVTl9GQVNZTkM7Ci0KLQlyZXR1cm4gMDsKKwlyZXQgPSAwOworb3V0OgorCXVubG9ja19rZXJuZWwoKTsKKwlyZXR1cm4gcmV0OwogfQogCiBzdGF0aWMgaW50IHR1bl9jaHJfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqIGZpbGUpCiB7CisJY3ljbGVfa2VybmVsX2xvY2soKTsKIAlEQkcxKEtFUk5fSU5GTyAidHVuWDogdHVuX2Nocl9vcGVuXG4iKTsKIAlmaWxlLT5wcml2YXRlX2RhdGEgPSBOVUxMOwogCXJldHVybiAwOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvdXNiL2thd2V0aC5jIGIvZHJpdmVycy9uZXQvdXNiL2thd2V0aC5jCmluZGV4IDdjNjZiMDUuLmQ2ODI5ZGIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3VzYi9rYXdldGguYworKysgYi9kcml2ZXJzL25ldC91c2Iva2F3ZXRoLmMKQEAgLTU3LDEzICs1NywxMiBAQAogI2luY2x1ZGUgPGxpbnV4L2V0aHRvb2wuaD4KICNpbmNsdWRlIDxsaW51eC9kbWEtbWFwcGluZy5oPgogI2luY2x1ZGUgPGxpbnV4L3dhaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9maXJtd2FyZS5oPgogI2luY2x1ZGUgPGFzbS91YWNjZXNzLmg+CiAjaW5jbHVkZSA8YXNtL2J5dGVvcmRlci5oPgogCiAjdW5kZWYgREVCVUcKIAotI2luY2x1ZGUgImthd2V0aGZ3LmgiCi0KICNkZWZpbmUgS0FXRVRIX01UVQkJCTE1MTQKICNkZWZpbmUgS0FXRVRIX0JVRl9TSVpFCQkJMTY2NAogI2RlZmluZSBLQVdFVEhfVFhfVElNRU9VVAkJKDUgKiBIWikKQEAgLTEwOCw2ICsxMDcsMTAgQEAKIE1PRFVMRV9BVVRIT1IoIk1pY2hhZWwgWmFwcGUgPHphcG1hbkBpbnRlcmxhbi5uZXQ+LCBTdGVwaGFuZSBBbG5ldCA8c3RlcGhhbmVAdS1waWNhcmRpZS5mcj4sIEJyYWQgSGFyZHMgPGJoYXJkc0BiaWdwb25kLm5ldC5hdT4gYW5kIE9saXZlciBOZXVrdW0gPG9saXZlckBuZXVrdW0ub3JnPiIpOwogTU9EVUxFX0RFU0NSSVBUSU9OKCJLTDVVU0IxMDEgVVNCIEV0aGVybmV0IGRyaXZlciIpOwogTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOworTU9EVUxFX0ZJUk1XQVJFKCJrYXdldGgvbmV3X2NvZGUuYmluIik7CitNT0RVTEVfRklSTVdBUkUoImthd2V0aC9uZXdfY29kZV9maXguYmluIik7CitNT0RVTEVfRklSTVdBUkUoImthd2V0aC90cmlnZ2VyX2NvZGUuYmluIik7CitNT0RVTEVfRklSTVdBUkUoImthd2V0aC90cmlnZ2VyX2NvZGVfZml4LmJpbiIpOwogCiBzdGF0aWMgY29uc3QgY2hhciBkcml2ZXJfbmFtZVtdID0gImthd2V0aCI7CiAKQEAgLTM4NSwxNyArMzg4LDI4IEBACiAgKiAgICAga2F3ZXRoX2Rvd25sb2FkX2Zpcm13YXJlCiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KIHN0YXRpYyBpbnQga2F3ZXRoX2Rvd25sb2FkX2Zpcm13YXJlKHN0cnVjdCBrYXdldGhfZGV2aWNlICprYXdldGgsCi0JCQkJICAgIF9fdTggKmRhdGEsCi0JCQkJICAgIF9fdTE2IGRhdGFfbGVuLAorCQkJCSAgICBjb25zdCBjaGFyICpmd25hbWUsCiAJCQkJICAgIF9fdTggaW50ZXJydXB0LAogCQkJCSAgICBfX3U4IHR5cGUpCiB7Ci0JaWYoZGF0YV9sZW4gPiBLQVdFVEhfRklSTVdBUkVfQlVGX1NJWkUpCXsKLQkJZXJyKCJGaXJtd2FyZSB0b28gYmlnOiAlZCIsIGRhdGFfbGVuKTsKLQkJcmV0dXJuIC1FTk9TUEM7CisJY29uc3Qgc3RydWN0IGZpcm13YXJlICpmdzsKKwlpbnQgZGF0YV9sZW47CisJaW50IHJldDsKKworCXJldCA9IHJlcXVlc3RfZmlybXdhcmUoJmZ3LCBmd25hbWUsICZrYXdldGgtPmRldi0+ZGV2KTsKKwlpZiAocmV0KSB7CisJCWVycigiRmlybXdhcmUgcmVxdWVzdCBmYWlsZWRcbiIpOworCQlyZXR1cm4gcmV0OwogCX0KIAotCW1lbWNweShrYXdldGgtPmZpcm13YXJlX2J1ZiwgZGF0YSwgZGF0YV9sZW4pOworCWlmIChmdy0+c2l6ZSA+IEtBV0VUSF9GSVJNV0FSRV9CVUZfU0laRSkgeworCQllcnIoIkZpcm13YXJlIHRvbyBiaWc6ICV6dSIsIGZ3LT5zaXplKTsKKwkJcmV0dXJuIC1FTk9TUEM7CisJfQorCWRhdGFfbGVuID0gZnctPnNpemU7CisJbWVtY3B5KGthd2V0aC0+ZmlybXdhcmVfYnVmLCBmdy0+ZGF0YSwgZnctPnNpemUpOworCisJcmVsZWFzZV9maXJtd2FyZShmdyk7CiAKIAlrYXdldGgtPmZpcm13YXJlX2J1ZlsyXSA9IChkYXRhX2xlbiAmIDB4RkYpIC0gNzsKIAlrYXdldGgtPmZpcm13YXJlX2J1ZlszXSA9IGRhdGFfbGVuID4+IDg7CkBAIC00MDYsOCArNDIwLDcgQEAKIAkJICAga2F3ZXRoLT5maXJtd2FyZV9idWZbMl0pOwogCiAJZGJnKCJEb3dubG9hZGluZyBmaXJtd2FyZSBhdCAlcCB0byBrYXdldGggZGV2aWNlIGF0ICVwIiwKLQkgICAgZGF0YSwKLQkgICAga2F3ZXRoKTsKKwkgICAgZnctPmRhdGEsIGthd2V0aCk7CiAJZGJnKCJGaXJtd2FyZSBsZW5ndGg6ICVkIiwgZGF0YV9sZW4pOwogCiAJcmV0dXJuIGthd2V0aF9jb250cm9sKGthd2V0aCwKQEAgLTEwMDksOCArMTAyMiw3IEBACiAJCWluZm8oIkRvd25sb2FkaW5nIGZpcm13YXJlLi4uIik7CiAJCWthd2V0aC0+ZmlybXdhcmVfYnVmID0gKF9fdTggKilfX2dldF9mcmVlX3BhZ2UoR0ZQX0tFUk5FTCk7CiAJCWlmICgocmVzdWx0ID0ga2F3ZXRoX2Rvd25sb2FkX2Zpcm13YXJlKGthd2V0aCwKLQkJCQkJCSAgICAgIGthd2V0aF9uZXdfY29kZSwKLQkJCQkJCSAgICAgIGxlbl9rYXdldGhfbmV3X2NvZGUsCisJCQkJCQkgICAgICAia2F3ZXRoL25ld19jb2RlLmJpbiIsCiAJCQkJCQkgICAgICAxMDAsCiAJCQkJCQkgICAgICAyKSkgPCAwKSB7CiAJCQllcnIoIkVycm9yIGRvd25sb2FkaW5nIGZpcm13YXJlICglZCkiLCByZXN1bHQpOwpAQCAtMTAxOCw4ICsxMDMwLDcgQEAKIAkJfQogCiAJCWlmICgocmVzdWx0ID0ga2F3ZXRoX2Rvd25sb2FkX2Zpcm13YXJlKGthd2V0aCwKLQkJCQkJCSAgICAgIGthd2V0aF9uZXdfY29kZV9maXgsCi0JCQkJCQkgICAgICBsZW5fa2F3ZXRoX25ld19jb2RlX2ZpeCwKKwkJCQkJCSAgICAgICJrYXdldGgvbmV3X2NvZGVfZml4LmJpbiIsCiAJCQkJCQkgICAgICAxMDAsCiAJCQkJCQkgICAgICAzKSkgPCAwKSB7CiAJCQllcnIoIkVycm9yIGRvd25sb2FkaW5nIGZpcm13YXJlIGZpeCAoJWQpIiwgcmVzdWx0KTsKQEAgLTEwMjcsOCArMTAzOCw3IEBACiAJCX0KIAogCQlpZiAoKHJlc3VsdCA9IGthd2V0aF9kb3dubG9hZF9maXJtd2FyZShrYXdldGgsCi0JCQkJCQkgICAgICBrYXdldGhfdHJpZ2dlcl9jb2RlLAotCQkJCQkJICAgICAgbGVuX2thd2V0aF90cmlnZ2VyX2NvZGUsCisJCQkJCQkgICAgICAia2F3ZXRoL3RyaWdnZXJfY29kZS5iaW4iLAogCQkJCQkJICAgICAgMTI2LAogCQkJCQkJICAgICAgMikpIDwgMCkgewogCQkJZXJyKCJFcnJvciBkb3dubG9hZGluZyB0cmlnZ2VyIGNvZGUgKCVkKSIsIHJlc3VsdCk7CkBAIC0xMDM3LDggKzEwNDcsNyBAQAogCQl9CiAKIAkJaWYgKChyZXN1bHQgPSBrYXdldGhfZG93bmxvYWRfZmlybXdhcmUoa2F3ZXRoLAotCQkJCQkJICAgICAga2F3ZXRoX3RyaWdnZXJfY29kZV9maXgsCi0JCQkJCQkgICAgICBsZW5fa2F3ZXRoX3RyaWdnZXJfY29kZV9maXgsCisJCQkJCQkgICAgICAia2F3ZXRoL3RyaWdnZXJfY29kZV9maXguYmluIiwKIAkJCQkJCSAgICAgIDEyNiwKIAkJCQkJCSAgICAgIDMpKSA8IDApIHsKIAkJCWVycigiRXJyb3IgZG93bmxvYWRpbmcgdHJpZ2dlciBjb2RlIGZpeCAoJWQpIiwgcmVzdWx0KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3VzYi9rYXdldGhmdy5oIGIvZHJpdmVycy9uZXQvdXNiL2thd2V0aGZ3LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGNmODVmY2IuLjAwMDAwMDAKLS0tIGEvZHJpdmVycy9uZXQvdXNiL2thd2V0aGZ3LmgKKysrIC9kZXYvbnVsbApAQCAtMSw1NTcgKzAsMCBAQAotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLS8qIE5PVEU6IEI2L0MzIGlzIGRhdGEgaGVhZGVyIHNpZ25hdHVyZSAgICovCi0vKiAgICAgICAweEFBLzB4QkIgaXMgZGF0YSBsZW5ndGggPSB0b3RhbCAqLwotLyogICAgICAgYnl0ZXMgLSA3LCAweENDIGlzIHR5cGUsIDB4REQgaXMgKi8KLS8qICAgICAgIGludGVycnVwdCB0byB1c2UuICAgICAgICAgICAgICAgICovCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogICAgIGthd2V0aF90cmlnZ2VyX2NvZGUKLSAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwotc3RhdGljIF9fdTgga2F3ZXRoX3RyaWdnZXJfY29kZVtdID0gCi17Ci0gICAgMHhCNiwgMHhDMywgMHhBQSwgMHhCQiwgMHhDQywgMHhERCwKLSAgICAweGM4LCAweDA3LCAweGEwLCAweDAwLCAweGYwLCAweDA3LCAweDVlLCAweDAwLAotICAgIDB4MDYsIDB4MDAsIDB4ZjAsIDB4MDcsIDB4MGEsIDB4MDAsIDB4MDgsIDB4MDAsCi0gICAgMHhmMCwgMHgwOSwgMHgwMCwgMHgwMCwgMHgwMiwgMHgwMCwgMHhlNywgMHgwNywKLSAgICAweDM2LCAweDAwLCAweDAwLCAweDAwLCAweGYwLCAweDA3LCAweDAwLCAweDAwLAotICAgIDB4MDQsIDB4MDAsIDB4ZTcsIDB4MDcsIDB4NTAsIDB4YzMsIDB4MTAsIDB4YzAsCi0gICAgMHhmMCwgMHgwOSwgMHgwZSwgMHhjMCwgMHgwMCwgMHgwMCwgMHhlNywgMHg4NywKLSAgICAweDAxLCAweDAwLCAweDBlLCAweGMwLCAweDk3LCAweGNmLCAweGQ3LCAweDA5LAotICAgIDB4MDAsIDB4YzAsIDB4MTcsIDB4MDIsIDB4YzgsIDB4MDcsIDB4YTAsIDB4MDAsCi0gICAgMHhlNywgMHgxNywgMHg1MCwgMHhjMywgMHgxMCwgMHhjMCwgMHgzMCwgMHhkOCwKLSAgICAweDA0LCAweDAwLCAweDMwLCAweDVjLCAweDA4LCAweDAwLCAweDA0LCAweDAwLAotICAgIDB4YjAsIDB4YzAsIDB4MDYsIDB4MDAsIDB4YzgsIDB4MDUsIDB4ZTcsIDB4MDUsCi0gICAgMHgwMCwgMHhjMCwgMHhjMCwgMHhkZiwgMHg5NywgMHhjZiwgMHg0OSwgMHhhZiwKLSAgICAweGMwLCAweDA3LCAweDAwLCAweDAwLCAweDYwLCAweGFmLCAweDRhLCAweGFmLAotICAgIDB4MDAsIDB4MGMsIDB4MGMsIDB4MDAsIDB4NDAsIDB4ZDIsIDB4MDAsIDB4MWMsCi0gICAgMHgwYywgMHgwMCwgMHg0MCwgMHhkMiwgMHgzMCwgMHgwMCwgMHgwOCwgMHgwMCwKLSAgICAweGYwLCAweDA3LCAweDAwLCAweDAwLCAweDA0LCAweDAwLCAweGYwLCAweDA3LAotICAgIDB4ODYsIDB4MDAsIDB4MDYsIDB4MDAsIDB4NjcsIDB4Y2YsIDB4MjcsIDB4MGMsCi0gICAgMHgwMiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgyNywgMHgwYywgMHgwMCwgMHgwMCwKLSAgICAweDBlLCAweGMwLCAweDQ5LCAweGFmLCAweDY0LCAweGFmLCAweGMwLCAweDA3LAotICAgIDB4MDAsIDB4MDAsIDB4NGIsIDB4YWYsIDB4NGEsIDB4YWYsIDB4NWEsIDB4Y2YsCi0gICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgICAweDAwLCAweDAwLCAweDk0LCAweDAwLCAweDA1LCAweDAwLAotICAgIDB4MDAsIDB4MDAKLX07Ci0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogICAgIGthd2V0aF90cmlnZ2VyX2NvZGVfZml4Ci0gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLXN0YXRpYyBfX3U4IGthd2V0aF90cmlnZ2VyX2NvZGVfZml4W10gPSAKLXsKLSAgICAweEI2LCAweEMzLCAweEFBLCAweEJCLCAweENDLCAweERELAotICAgIDB4MDIsIDB4MDAsIDB4MDYsIDB4MDAsIDB4MTgsIDB4MDAsIDB4M2UsIDB4MDAsCi0gICAgMHg4MCwgMHgwMCwgMHg5OCwgMHgwMCwgMHhhYSwgMHgwMCwKLSAgICAweDAwLCAweDAwCi19OwotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogICAgIGthd2V0aF9uZXdfY29kZQotICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi1zdGF0aWMgX191OCBrYXdldGhfbmV3X2NvZGVbXSA9IAotewotICAgIDB4QjYsIDB4QzMsIDB4QUEsIDB4QkIsIDB4Q0MsIDB4REQsCi0gICAgMHg5ZiwgMHhjZiwgMHhkZSwgMHgwNiwgMHhlNywgMHg1NywgMHgwMCwgMHgwMCwKLSAgICAweGM0LCAweDA2LCAweDk3LCAweGMxLCAweGU3LCAweDY3LCAweGZmLCAweDFmLAotICAgIDB4MjgsIDB4YzAsIDB4ZTcsIDB4ODcsIDB4MDAsIDB4MDQsIDB4MjQsIDB4YzAsCi0gICAgMHhlNywgMHg2NywgMHhmZiwgMHhmOSwgMHgyMiwgMHhjMCwgMHg5NywgMHhjZiwKLSAgICAweGQ3LCAweDA5LCAweDAwLCAweGMwLCAweGU3LCAweDA5LCAweGEyLCAweGMwLAotICAgIDB4YmUsIDB4MDYsIDB4OWYsIDB4YWYsIDB4MzYsIDB4MDAsIDB4ZTcsIDB4MDUsCi0gICAgMHgwMCwgMHhjMCwgMHhhNywgMHhjZiwgMHhiYywgMHgwNiwgMHg5NywgMHhjZiwKLSAgICAweGU3LCAweDU3LCAweDAwLCAweDAwLCAweGI4LCAweDA2LCAweGE3LCAweGExLAotICAgIDB4YjgsIDB4MDYsIDB4OTcsIDB4Y2YsIDB4ZTcsIDB4NTcsIDB4MDAsIDB4MDAsCi0gICAgMHgxNCwgMHgwOCwgMHgwYSwgMHhjMCwgMHhlNywgMHg1NywgMHgwMCwgMHgwMCwKLSAgICAweGE0LCAweGMwLCAweGE3LCAweGMwLCAweDdhLCAweDA2LCAweDlmLCAweGFmLAotICAgIDB4OTIsIDB4MDcsIDB4ZTcsIDB4MDcsIDB4MDAsIDB4MDAsIDB4MTQsIDB4MDgsCi0gICAgMHhlNywgMHg1NywgMHhmZiwgMHhmZiwgMHhiYSwgMHgwNiwgMHg5ZiwgMHhhMCwKLSAgICAweDM4LCAweDAwLCAweGU3LCAweDU5LCAweGJhLCAweDA2LCAweGJlLCAweDA2LAotICAgIDB4OWYsIDB4YTAsIDB4MzgsIDB4MDAsIDB4YzgsIDB4MDksIDB4Y2EsIDB4MDYsCi0gICAgMHgwOCwgMHg2MiwgMHg5ZiwgMHhhMSwgMHgzNiwgMHgwOCwgMHhjMCwgMHgwOSwKLSAgICAweDc2LCAweDA2LCAweDAwLCAweDYwLCAweGE3LCAweGMwLCAweDdhLCAweDA2LAotICAgIDB4OWYsIDB4YWYsIDB4Y2MsIDB4MDIsIDB4ZTcsIDB4NTcsIDB4MDAsIDB4MDAsCi0gICAgMHhiOCwgMHgwNiwgMHhhNywgMHhjMSwgMHg3YSwgMHgwNiwgMHg5ZiwgMHhhZiwKLSAgICAweDA0LCAweDAwLCAweGU3LCAweDU3LCAweDAwLCAweDAwLCAweDhlLCAweDA2LAotICAgIDB4MGEsIDB4YzEsIDB4ZTcsIDB4MDksIDB4MjAsIDB4YzAsIDB4MTAsIDB4MDgsCi0gICAgMHhlNywgMHhkMCwgMHgxMCwgMHgwOCwgMHhlNywgMHg2NywgMHg0MCwgMHgwMCwKLSAgICAweDEwLCAweDA4LCAweDlmLCAweGFmLCAweDkyLCAweDBjLCAweGMwLCAweDA5LAotICAgIDB4ZDAsIDB4MDYsIDB4MDAsIDB4NjAsIDB4MDUsIDB4YzQsIDB4YzAsIDB4NTksCi0gICAgMHhiZSwgMHgwNiwgMHgwMiwgMHhjMCwgMHg5ZiwgMHhhZiwgMHhlYywgMHgwMCwKLSAgICAweDlmLCAweGFmLCAweDM0LCAweDAyLCAweGU3LCAweDU3LCAweDAwLCAweDAwLAotICAgIDB4YTYsIDB4MDYsIDB4OWYsIDB4YTAsIDB4N2EsIDB4MDIsIDB4YTcsIDB4Y2YsCi0gICAgMHg3YSwgMHgwNiwgMHg0OCwgMHgwMiwgMHhlNywgMHgwOSwgMHhiZSwgMHgwNiwKLSAgICAweGQwLCAweDA2LCAweGM4LCAweDM3LCAweDA0LCAweDAwLCAweDlmLCAweGFmLAotICAgIDB4MDgsIDB4MDMsIDB4OTcsIDB4Y2YsIDB4ZTcsIDB4NTcsIDB4MDAsIDB4MDAsCi0gICAgMHhjZSwgMHgwNiwgMHg5NywgMHhjMCwgMHhkNywgMHgwOSwgMHgwMCwgMHhjMCwKLSAgICAweGMxLCAweGRmLCAweGM4LCAweDA5LCAweGM2LCAweDA2LCAweDA4LCAweDYyLAotICAgIDB4MTQsIDB4YzAsIDB4MjcsIDB4MDQsIDB4YzYsIDB4MDYsIDB4MTAsIDB4OTQsCi0gICAgMHhmMCwgMHgwNywgMHgxMCwgMHgwOCwgMHgwMiwgMHgwMCwgMHhjMSwgMHgwNywKLSAgICAweDAxLCAweDAwLCAweDcwLCAweDAwLCAweDA0LCAweDAwLCAweGYwLCAweDA3LAotICAgIDB4MzAsIDB4MDEsIDB4MDYsIDB4MDAsIDB4NTAsIDB4YWYsIDB4ZTcsIDB4MDcsCi0gICAgMHhmZiwgMHhmZiwgMHhkMCwgMHgwNiwgMHhlNywgMHgwNywgMHgwMCwgMHgwMCwKLSAgICAweGNlLCAweDA2LCAweGU3LCAweDA1LCAweDAwLCAweGMwLCAweDk3LCAweGNmLAotICAgIDB4ZDcsIDB4MDksIDB4MDAsIDB4YzAsIDB4YzEsIDB4ZGYsIDB4NDgsIDB4MDIsCi0gICAgMHhkMCwgMHgwOSwgMHhjNiwgMHgwNiwgMHgyNywgMHgwMiwgMHhjNiwgMHgwNiwKLSAgICAweGU3LCAweDA1LCAweDAwLCAweGMwLCAweDk3LCAweGNmLCAweDQ4LCAweDAyLAotICAgIDB4YzgsIDB4MzcsIDB4MDQsIDB4MDAsIDB4MDAsIDB4MGMsIDB4MGMsIDB4MDAsCi0gICAgMHgwMCwgMHg2MCwgMHgyMSwgMHhjMCwgMHhjMCwgMHgzNywgMHgzZSwgMHgwMCwKLSAgICAweDIzLCAweGM5LCAweGMwLCAweDU3LCAweGI0LCAweDA1LCAweDFiLCAweGM4LAotICAgIDB4YzAsIDB4MTcsIDB4M2YsIDB4MDAsIDB4YzAsIDB4NjcsIDB4YzAsIDB4ZmYsCi0gICAgMHgzMCwgMHgwMCwgMHgwOCwgMHgwMCwgMHhmMCwgMHgwNywgMHgwMCwgMHgwMCwKLSAgICAweDA0LCAweDAwLCAweDAwLCAweDAyLCAweGMwLCAweDE3LCAweDRjLCAweDAwLAotICAgIDB4MzAsIDB4MDAsIDB4MDYsIDB4MDAsIDB4ZjAsIDB4MDcsIDB4YTAsIDB4MDEsCi0gICAgMHgwYSwgMHgwMCwgMHg0OCwgMHgwMiwgMHhjMSwgMHgwNywgMHgwMiwgMHgwMCwKLSAgICAweGQ3LCAweDA5LCAweDAwLCAweGMwLCAweGMxLCAweGRmLCAweDUxLCAweGFmLAotICAgIDB4ZTcsIDB4MDUsIDB4MDAsIDB4YzAsIDB4OTcsIDB4Y2YsIDB4OWYsIDB4YWYsCi0gICAgMHgwOCwgMHgwMywgMHg5ZiwgMHhhZiwgMHg3YSwgMHgwMiwgMHg5NywgMHhjZiwKLSAgICAweDlmLCAweGFmLCAweDdhLCAweDAyLCAweGM5LCAweDM3LCAweDA0LCAweDAwLAotICAgIDB4YzEsIDB4ZGYsIDB4YzgsIDB4MDksIDB4YTIsIDB4MDYsIDB4NTAsIDB4MDIsCi0gICAgMHg2NywgMHgwMiwgMHhhMiwgMHgwNiwgMHhkMSwgMHgwNywgMHgwMCwgMHgwMCwKLSAgICAweDI3LCAweGQ4LCAweGFhLCAweDA2LCAweGMwLCAweGRmLCAweDlmLCAweGFmLAotICAgIDB4YzQsIDB4MDEsIDB4OTcsIDB4Y2YsIDB4ZTcsIDB4NTcsIDB4MDAsIDB4MDAsCi0gICAgMHhkMiwgMHgwNiwgMHg5NywgMHhjMSwgMHhlNywgMHg1NywgMHgwMSwgMHgwMCwKLSAgICAweGE4LCAweDA2LCAweDk3LCAweGMwLCAweGM4LCAweDA5LCAweGEwLCAweDA2LAotICAgIDB4MDgsIDB4NjIsIDB4OTcsIDB4YzAsIDB4MDAsIDB4MDIsIDB4YzAsIDB4MTcsCi0gICAgMHgwZSwgMHgwMCwgMHgyNywgMHgwMCwgMHgzNCwgMHgwMSwgMHgyNywgMHgwYywKLSAgICAweDBjLCAweDAwLCAweDM2LCAweDAxLCAweGU3LCAweDA3LCAweDUwLCAweGMzLAotICAgIDB4MTIsIDB4YzAsIDB4ZTcsIDB4MDcsIDB4Y2MsIDB4MGIsIDB4MDIsIDB4MDAsCi0gICAgMHhlNywgMHgwNywgMHgwMSwgMHgwMCwgMHhhOCwgMHgwNiwgMHhlNywgMHgwNywKLSAgICAweDA1LCAweDAwLCAweDkwLCAweGMwLCAweDk3LCAweGNmLCAweGM4LCAweDA5LAotICAgIDB4YTQsIDB4MDYsIDB4MDgsIDB4NjIsIDB4MDIsIDB4YzAsIDB4MTAsIDB4NjQsCi0gICAgMHgwNywgMHhjMSwgMHhlNywgMHgwNywgMHgwMCwgMHgwMCwgMHg5ZSwgMHgwNiwKLSAgICAweGU3LCAweDA3LCAweDcyLCAweDA0LCAweDI0LCAweDAwLCAweDk3LCAweGNmLAotICAgIDB4MjcsIDB4MDQsIDB4YTQsIDB4MDYsIDB4YzgsIDB4MTcsIDB4MGUsIDB4MDAsCi0gICAgMHgyNywgMHgwMiwgMHg5ZSwgMHgwNiwgMHhlNywgMHgwNywgMHg4MCwgMHgwNCwKLSAgICAweDI0LCAweDAwLCAweDk3LCAweGNmLCAweGQ3LCAweDA5LCAweDAwLCAweGMwLAotICAgIDB4YzEsIDB4ZGYsIDB4ZTcsIDB4NTcsIDB4MDAsIDB4MDAsIDB4OTAsIDB4MDYsCi0gICAgMHgxMywgMHhjMSwgMHg5ZiwgMHhhZiwgMHgwNiwgMHgwMiwgMHhlNywgMHg1NywKLSAgICAweDAwLCAweDAwLCAweDllLCAweDA2LCAweDEzLCAweGMwLCAweGU3LCAweDA5LAotICAgIDB4OWUsIDB4MDYsIDB4MzAsIDB4MDEsIDB4ZTcsIDB4MDcsIDB4ZjIsIDB4MDUsCi0gICAgMHgzMiwgMHgwMSwgMHhlNywgMHgwNywgMHgxMCwgMHgwMCwgMHg5NiwgMHhjMCwKLSAgICAweGU3LCAweDA5LCAweDllLCAweDA2LCAweDkwLCAweDA2LCAweDA0LCAweGNmLAotICAgIDB4ZTcsIDB4NTcsIDB4MDAsIDB4MDAsIDB4OWUsIDB4MDYsIDB4MDIsIDB4YzEsCi0gICAgMHg5ZiwgMHhhZiwgMHgwNiwgMHgwMiwgMHhlNywgMHgwNSwgMHgwMCwgMHhjMCwKLSAgICAweDk3LCAweGNmLCAweGQ3LCAweDA5LCAweDAwLCAweGMwLCAweGMxLCAweGRmLAotICAgIDB4MDgsIDB4OTIsIDB4ZTcsIDB4NTcsIDB4MDIsIDB4MDAsIDB4YWEsIDB4MDYsCi0gICAgMHgwMiwgMHhjMywgMHhjOCwgMHgwOSwgMHhhNCwgMHgwNiwgMHgyNywgMHgwMiwKLSAgICAweGE2LCAweDA2LCAweDA4LCAweDYyLCAweDAzLCAweGMxLCAweGU3LCAweDA1LAotICAgIDB4MDAsIDB4YzAsIDB4OTcsIDB4Y2YsIDB4MjcsIDB4MDQsIDB4YTQsIDB4MDYsCi0gICAgMHhlNywgMHgwNSwgMHgwMCwgMHhjMCwgMHhmMCwgMHgwNywgMHg0MCwgMHgwMCwKLSAgICAweDA4LCAweDAwLCAweGYwLCAweDA3LCAweDAwLCAweDAwLCAweDA0LCAweDAwLAotICAgIDB4MDAsIDB4MDIsIDB4YzAsIDB4MTcsIDB4MGMsIDB4MDAsIDB4MzAsIDB4MDAsCi0gICAgMHgwNiwgMHgwMCwgMHhmMCwgMHgwNywgMHg0NiwgMHgwMSwgMHgwYSwgMHgwMCwKLSAgICAweGM4LCAweDE3LCAweDA0LCAweDAwLCAweGMxLCAweDA3LCAweDAyLCAweDAwLAotICAgIDB4NTEsIDB4YWYsIDB4OTcsIDB4Y2YsIDB4ZTcsIDB4NTcsIDB4MDAsIDB4MDAsCi0gICAgMHg5NiwgMHgwNiwgMHg5NywgMHhjMCwgMHhjMSwgMHhkZiwgMHhjOCwgMHgwOSwKLSAgICAweDk2LCAweDA2LCAweDI3LCAweDA0LCAweDk2LCAweDA2LCAweDI3LCAweDUyLAotICAgIDB4OTgsIDB4MDYsIDB4MDMsIDB4YzEsIDB4ZTcsIDB4MDcsIDB4OTYsIDB4MDYsCi0gICAgMHg5OCwgMHgwNiwgMHhjMCwgMHhkZiwgMHgxNywgMHgwMiwgMHhjOCwgMHgxNywKLSAgICAweDBlLCAweDAwLCAweDlmLCAweGFmLCAweGJhLCAweDAzLCAweGM4LCAweDA1LAotICAgIDB4MDAsIDB4NjAsIDB4MDMsIDB4YzAsIDB4OWYsIDB4YWYsIDB4MjQsIDB4MDMsCi0gICAgMHg5NywgMHhjZiwgMHg5ZiwgMHhhZiwgMHgwOCwgMHgwMywgMHg5NywgMHhjZiwKLSAgICAweDU3LCAweDAyLCAweGM5LCAweDA3LCAweGE0LCAweDA2LCAweGQ3LCAweDA5LAotICAgIDB4MDAsIDB4YzAsIDB4YzEsIDB4ZGYsIDB4MDgsIDB4NjIsIDB4MWIsIDB4YzAsCi0gICAgMHg1MCwgMHgwNCwgMHgxMSwgMHgwMiwgMHhlNywgMHgwNSwgMHgwMCwgMHhjMCwKLSAgICAweGM5LCAweDA1LCAweDk3LCAweGNmLCAweDk3LCAweDAyLCAweGNhLCAweDA5LAotICAgIDB4ZDYsIDB4MDYsIDB4ZjIsIDB4MTcsIDB4MDEsIDB4MDAsIDB4MDQsIDB4MDAsCi0gICAgMHhmMiwgMHgyNywgMHgwMCwgMHgwMCwgMHgwNiwgMHgwMCwgMHhjYSwgMHgxNywKLSAgICAweDJjLCAweDAwLCAweGY4LCAweDc3LCAweDAxLCAweDAwLCAweDBlLCAweDAwLAotICAgIDB4MDYsIDB4YzAsIDB4Y2EsIDB4ZDksIDB4ZjgsIDB4NTcsIDB4ZmYsIDB4MDAsCi0gICAgMHgwZSwgMHgwMCwgMHgwMSwgMHhjMSwgMHhjYSwgMHhkOSwgMHgyMiwgMHgxYywKLSAgICAweDBjLCAweDAwLCAweGUyLCAweDI3LCAweDAwLCAweDAwLCAweGUyLCAweDE3LAotICAgIDB4MDEsIDB4MDAsIDB4ZTIsIDB4MjcsIDB4MDAsIDB4MDAsIDB4Y2EsIDB4MDUsCi0gICAgMHgwMCwgMHgwYywgMHgwYywgMHgwMCwgMHhjMCwgMHgxNywgMHg0MSwgMHgwMCwKLSAgICAweGMwLCAweDY3LCAweGMwLCAweGZmLCAweDMwLCAweDAwLCAweDA4LCAweDAwLAotICAgIDB4MDAsIDB4MDIsIDB4YzAsIDB4MTcsIDB4MGMsIDB4MDAsIDB4MzAsIDB4MDAsCi0gICAgMHgwNiwgMHgwMCwgMHhmMCwgMHgwNywgMHhkYSwgMHgwMCwgMHgwYSwgMHgwMCwKLSAgICAweGYwLCAweDA3LCAweDAwLCAweDAwLCAweDA0LCAweDAwLCAweDAwLCAweDBjLAotICAgIDB4MDgsIDB4MDAsIDB4NDAsIDB4ZDEsIDB4MDEsIDB4MDAsIDB4YzAsIDB4MTksCi0gICAgMHhjZSwgMHgwNiwgMHhjMCwgMHg1OSwgMHhjMiwgMHgwNiwgMHgwNCwgMHhjOSwKLSAgICAweDQ5LCAweGFmLCAweDlmLCAweGFmLCAweGVjLCAweDAwLCAweDRhLCAweGFmLAotICAgIDB4NjcsIDB4MTAsIDB4Y2UsIDB4MDYsIDB4YzgsIDB4MTcsIDB4MDQsIDB4MDAsCi0gICAgMHhjMSwgMHgwNywgMHgwMSwgMHgwMCwgMHhkNywgMHgwOSwgMHgwMCwgMHhjMCwKLSAgICAweGMxLCAweGRmLCAweDUwLCAweGFmLCAweGU3LCAweDA1LCAweDAwLCAweGMwLAotICAgIDB4OTcsIDB4Y2YsIDB4YzAsIDB4MDcsIDB4MDEsIDB4MDAsIDB4YzEsIDB4MDksCi0gICAgMHhhYywgMHgwNiwgMHhjMSwgMHg3NywgMHgwMSwgMHgwMCwgMHg5NywgMHhjMSwKLSAgICAweGQ4LCAweDc3LCAweDAxLCAweDAwLCAweDEyLCAweGMwLCAweGM5LCAweDA3LAotICAgIDB4NmEsIDB4MDYsIDB4OWYsIDB4YWYsIDB4MDgsIDB4MDQsIDB4MDQsIDB4YzEsCi0gICAgMHhjMSwgMHg3NywgMHgwOCwgMHgwMCwgMHgxMywgMHhjMCwgMHg5NywgMHhjZiwKLSAgICAweGMxLCAweDc3LCAweDAyLCAweDAwLCAweDk3LCAweGMxLCAweGMxLCAweDc3LAotICAgIDB4MTAsIDB4MDAsIDB4MGMsIDB4YzAsIDB4OWYsIDB4YWYsIDB4MmMsIDB4MDQsCi0gICAgMHg5NywgMHhjZiwgMHhjMSwgMHg3NywgMHgwNCwgMHgwMCwgMHgwNiwgMHhjMCwKLSAgICAweGM5LCAweDA3LCAweDcwLCAweDA2LCAweDlmLCAweGFmLCAweDA4LCAweDA0LAotICAgIDB4OTcsIDB4YzAsIDB4MDAsIDB4Y2YsIDB4MDAsIDB4OTAsIDB4OTcsIDB4Y2YsCi0gICAgMHg1MCwgMHg1NCwgMHg5NywgMHhjMSwgMHg3MCwgMHg1YywgMHgwMiwgMHgwMCwKLSAgICAweDAyLCAweDAwLCAweDk3LCAweGMxLCAweDcwLCAweDVjLCAweDA0LCAweDAwLAotICAgIDB4MDQsIDB4MDAsIDB4OTcsIDB4Y2YsIDB4ODAsIDB4MDEsIDB4YzAsIDB4MDAsCi0gICAgMHg2MCwgMHgwMCwgMHgzMCwgMHgwMCwgMHgxOCwgMHgwMCwgMHgwYywgMHgwMCwKLSAgICAweDA2LCAweDAwLCAweDAwLCAweDAwLCAweGNiLCAweDA5LCAweGIyLCAweDA2LAotICAgIDB4Y2MsIDB4MDksIDB4YjQsIDB4MDYsIDB4MGIsIDB4NTMsIDB4MTEsIDB4YzAsCi0gICAgMHhjOSwgMHgwMiwgMHhjYSwgMHgwNywgMHgxYywgMHgwNCwgMHg5ZiwgMHhhZiwKLSAgICAweDA4LCAweDA0LCAweDk3LCAweGMwLCAweDBhLCAweGM4LCAweDgyLCAweDA4LAotICAgIDB4MGEsIDB4Y2YsIDB4ODIsIDB4MDgsIDB4OWYsIDB4YWYsIDB4MDgsIDB4MDQsCi0gICAgMHg5NywgMHhjMCwgMHgwNSwgMHhjMiwgMHg4OSwgMHgzMCwgMHg4MiwgMHg2MCwKLSAgICAweDc4LCAweGMxLCAweDAwLCAweDkwLCAweDk3LCAweGNmLCAweDg5LCAweDEwLAotICAgIDB4MDksIDB4NTMsIDB4NzksIDB4YzIsIDB4ODksIDB4MzAsIDB4ODIsIDB4MDgsCi0gICAgMHg3YSwgMHhjZiwgMHhjMCwgMHhkZiwgMHg5NywgMHhjZiwgMHhjMCwgMHhkZiwKLSAgICAweDk3LCAweGNmLCAweGU3LCAweDA5LCAweDk2LCAweGMwLCAweDkyLCAweDA2LAotICAgIDB4ZTcsIDB4MDksIDB4OTgsIDB4YzAsIDB4OTQsIDB4MDYsIDB4MGYsIDB4Y2YsCi0gICAgMHhlNywgMHgwOSwgMHg5NiwgMHhjMCwgMHg5MiwgMHgwNiwgMHhlNywgMHgwOSwKLSAgICAweDk4LCAweGMwLCAweDk0LCAweDA2LCAweGU3LCAweDA5LCAweDllLCAweDA2LAotICAgIDB4MzAsIDB4MDEsIDB4ZTcsIDB4MDcsIDB4ZjIsIDB4MDUsIDB4MzIsIDB4MDEsCi0gICAgMHhlNywgMHgwNywgMHgxMCwgMHgwMCwgMHg5NiwgMHhjMCwgMHhkNywgMHgwOSwKLSAgICAweDAwLCAweGMwLCAweDE3LCAweDAyLCAweGM4LCAweDA5LCAweDkwLCAweDA2LAotICAgIDB4YzgsIDB4MzcsIDB4MGUsIDB4MDAsIDB4ZTcsIDB4NzcsIDB4MmEsIDB4MDAsCi0gICAgMHg5MiwgMHgwNiwgMHgzMCwgMHhjMCwgMHg5NywgMHgwMiwgMHhjYSwgMHgwOSwKLSAgICAweGQ2LCAweDA2LCAweGU3LCAweDc3LCAweDIwLCAweDAwLCAweDkyLCAweDA2LAotICAgIDB4MGUsIDB4YzAsIDB4ZjIsIDB4MTcsIDB4MDEsIDB4MDAsIDB4MTAsIDB4MDAsCi0gICAgMHhmMiwgMHgyNywgMHgwMCwgMHgwMCwgMHgxMiwgMHgwMCwgMHhlNywgMHg3NywKLSAgICAweDBhLCAweDAwLCAweDkyLCAweDA2LCAweGNhLCAweDA1LCAweDFlLCAweGMwLAotICAgIDB4OTcsIDB4MDIsIDB4Y2EsIDB4MDksIDB4ZDYsIDB4MDYsIDB4ZjIsIDB4MTcsCi0gICAgMHgwMSwgMHgwMCwgMHgwYywgMHgwMCwgMHhmMiwgMHgyNywgMHgwMCwgMHgwMCwKLSAgICAweDBlLCAweDAwLCAweGU3LCAweDc3LCAweDAyLCAweDAwLCAweDkyLCAweDA2LAotICAgIDB4MDcsIDB4YzAsIDB4ZjIsIDB4MTcsIDB4MDEsIDB4MDAsIDB4NDQsIDB4MDAsCi0gICAgMHhmMiwgMHgyNywgMHgwMCwgMHgwMCwgMHg0NiwgMHgwMCwgMHgwNiwgMHhjZiwKLSAgICAweGYyLCAweDE3LCAweDAxLCAweDAwLCAweDYwLCAweDAwLCAweGYyLCAweDI3LAotICAgIDB4MDAsIDB4MDAsIDB4NjIsIDB4MDAsIDB4Y2EsIDB4MDUsIDB4OWYsIDB4YWYsCi0gICAgMHgwOCwgMHgwMywgMHgwZiwgMHhjZiwgMHg1NywgMHgwMiwgMHgwOSwgMHgwMiwKLSAgICAweGYxLCAweDA5LCAweDk0LCAweDA2LCAweDBjLCAweDAwLCAweGYxLCAweGRhLAotICAgIDB4MGMsIDB4MDAsIDB4YzgsIDB4MDksIDB4OTgsIDB4MDYsIDB4NTAsIDB4MDIsCi0gICAgMHg2NywgMHgwMiwgMHg5OCwgMHgwNiwgMHhkMSwgMHgwNywgMHgwMCwgMHgwMCwKLSAgICAweGM5LCAweDA1LCAweGU3LCAweDA5LCAweDllLCAweDA2LCAweDkwLCAweDA2LAotICAgIDB4ZTcsIDB4NTcsIDB4MDAsIDB4MDAsIDB4OTAsIDB4MDYsIDB4MDIsIDB4YzAsCi0gICAgMHg5ZiwgMHhhZiwgMHgwNiwgMHgwMiwgMHhjOCwgMHgwNSwgMHhlNywgMHgwNSwKLSAgICAweDAwLCAweGMwLCAweGMwLCAweGRmLCAweDk3LCAweGNmLCAweGQ3LCAweDA5LAotICAgIDB4MDAsIDB4YzAsIDB4MTcsIDB4MDAsIDB4MTcsIDB4MDIsIDB4OTcsIDB4MDIsCi0gICAgMHhjMCwgMHgwOSwgMHg5MiwgMHhjMCwgMHhlNywgMHgwNywgMHgwNCwgMHgwMCwKLSAgICAweDkwLCAweGMwLCAweGNhLCAweDA5LCAweGQ2LCAweDA2LCAweGU3LCAweDA3LAotICAgIDB4MDAsIDB4MDAsIDB4YTgsIDB4MDYsIDB4ZTcsIDB4MDcsIDB4NmEsIDB4MDQsCi0gICAgMHgwMiwgMHgwMCwgMHhjMCwgMHg3NywgMHgwMiwgMHgwMCwgMHgwOCwgMHhjMCwKLSAgICAweGYyLCAweDE3LCAweDAxLCAweDAwLCAweDUwLCAweDAwLCAweGYyLCAweDI3LAotICAgIDB4MDAsIDB4MDAsIDB4NTIsIDB4MDAsIDB4OWYsIDB4Y2YsIDB4MjQsIDB4MDYsCi0gICAgMHhjMCwgMHg3NywgMHgxMCwgMHgwMCwgMHgwNiwgMHhjMCwgMHhmMiwgMHgxNywKLSAgICAweDAxLCAweDAwLCAweDU4LCAweDAwLCAweGYyLCAweDI3LCAweDAwLCAweDAwLAotICAgIDB4NWEsIDB4MDAsIDB4YzAsIDB4NzcsIDB4ODAsIDB4MDAsIDB4MDYsIDB4YzAsCi0gICAgMHhmMiwgMHgxNywgMHgwMSwgMHgwMCwgMHg3MCwgMHgwMCwgMHhmMiwgMHgyNywKLSAgICAweDAwLCAweDAwLCAweDcyLCAweDAwLCAweGMwLCAweDc3LCAweDA4LCAweDAwLAotICAgIDB4MWQsIDB4YzEsIDB4ZjIsIDB4MTcsIDB4MDEsIDB4MDAsIDB4MDgsIDB4MDAsCi0gICAgMHhmMiwgMHgyNywgMHgwMCwgMHgwMCwgMHgwYSwgMHgwMCwgMHhjMCwgMHg3NywKLSAgICAweDAwLCAweDAyLCAweDA2LCAweGMwLCAweGYyLCAweDE3LCAweDAxLCAweDAwLAotICAgIDB4NjQsIDB4MDAsIDB4ZjIsIDB4MjcsIDB4MDAsIDB4MDAsIDB4NjYsIDB4MDAsCi0gICAgMHhjMCwgMHg3NywgMHg0MCwgMHgwMCwgMHgwNiwgMHhjMCwgMHhmMiwgMHgxNywKLSAgICAweDAxLCAweDAwLCAweDVjLCAweDAwLCAweGYyLCAweDI3LCAweDAwLCAweDAwLAotICAgIDB4NWUsIDB4MDAsIDB4YzAsIDB4NzcsIDB4MDEsIDB4MDAsIDB4MDEsIDB4YzAsCi0gICAgMHgxYiwgMHhjZiwgMHgxYSwgMHhjZiwgMHhmMiwgMHgxNywgMHgwMSwgMHgwMCwKLSAgICAweDAwLCAweDAwLCAweGYyLCAweDI3LCAweDAwLCAweDAwLCAweDAyLCAweDAwLAotICAgIDB4YzgsIDB4MDksIDB4MzQsIDB4MDEsIDB4Y2EsIDB4MTcsIDB4MTQsIDB4MDAsCi0gICAgMHhkOCwgMHg3NywgMHgwMSwgMHgwMCwgMHgwNSwgMHhjMCwgMHhjYSwgMHhkOSwKLSAgICAweGQ4LCAweDU3LCAweGZmLCAweDAwLCAweDAxLCAweGMwLCAweGNhLCAweGQ5LAotICAgIDB4ZTIsIDB4MTksIDB4OTQsIDB4YzAsIDB4ZTIsIDB4MjcsIDB4MDAsIDB4MDAsCi0gICAgMHhlMiwgMHgxNywgMHgwMSwgMHgwMCwgMHhlMiwgMHgyNywgMHgwMCwgMHgwMCwKLSAgICAweDlmLCAweGFmLCAweDQwLCAweDA2LCAweDlmLCAweGFmLCAweGM0LCAweDAxLAotICAgIDB4ZTcsIDB4NTcsIDB4MDAsIDB4MDAsIDB4ZDIsIDB4MDYsIDB4OWYsIDB4YTEsCi0gICAgMHgwZSwgMHgwYSwgMHhjYSwgMHgwNSwgMHhjOCwgMHgwNSwgMHhjMCwgMHgwNSwKLSAgICAweGU3LCAweDA1LCAweDAwLCAweGMwLCAweGMwLCAweGRmLCAweDk3LCAweGNmLAotICAgIDB4YzgsIDB4MDksIDB4YTAsIDB4MDYsIDB4MDgsIDB4NjIsIDB4OTcsIDB4YzAsCi0gICAgMHgyNywgMHgwNCwgMHhhMCwgMHgwNiwgMHgyNywgMHg1MiwgMHhhMiwgMHgwNiwKLSAgICAweDAzLCAweGMxLCAweGU3LCAweDA3LCAweGEwLCAweDA2LCAweGEyLCAweDA2LAotICAgIDB4OWYsIDB4YWYsIDB4MDgsIDB4MDMsIDB4ZTcsIDB4NTcsIDB4MDAsIDB4MDAsCi0gICAgMHhhYSwgMHgwNiwgMHgwMiwgMHhjMCwgMHgyNywgMHhkYSwgMHhhYSwgMHgwNiwKLSAgICAweDk3LCAweGNmLCAweGZmLCAweGZmLCAweGZmLCAweGZmLCAweGZmLCAweGZmLAotICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gICAgMHgwMCwgMHgwMCwgMHgzZiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAgIDB4ZmYsIDB4ZmYsIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gICAgMHgwMCwgMHgwMCwgMHhmZiwgMHhmZiwgMHhmYiwgMHgxMywgMHhlNywgMHg1NywKLSAgICAweDAwLCAweDgwLCAweGIyLCAweDAwLCAweDA2LCAweGMyLCAweGU3LCAweDA3LAotICAgIDB4ZWUsIDB4MGIsIDB4MTIsIDB4MDAsIDB4ZTcsIDB4MDcsIDB4MzQsIDB4MGMsCi0gICAgMHhiMiwgMHgwMCwgMHhlNywgMHgwNywgMHhjNiwgMHgwNywgMHhmMiwgMHgwMiwKLSAgICAweGM4LCAweDA5LCAweGI0LCAweDAwLCAweGY4LCAweDA3LCAweDAyLCAweDAwLAotICAgIDB4MGQsIDB4MDAsIDB4ZDcsIDB4MDksIDB4MGUsIDB4YzAsIDB4ZTcsIDB4MDcsCi0gICAgMHgwMCwgMHgwMCwgMHgwZSwgMHhjMCwgMHhjOCwgMHgwOSwgMHhkZSwgMHgwMCwKLSAgICAweGM4LCAweDE3LCAweDA5LCAweDAwLCAweGM5LCAweDA3LCAweGRhLCAweDA2LAotICAgIDB4YzAsIDB4MDcsIDB4MDQsIDB4MDAsIDB4NjgsIDB4MGEsIDB4MDAsIDB4ZGEsCi0gICAgMHg3ZCwgMHhjMSwgMHhlNywgMHgwOSwgMHhjMCwgMHgwMCwgMHg3YywgMHgwNiwKLSAgICAweGU3LCAweDA5LCAweGJlLCAweDAwLCAweDc4LCAweDA2LCAweGU3LCAweDA5LAotICAgIDB4MTAsIDB4MDAsIDB4YmMsIDB4MDYsIDB4YzgsIDB4MDcsIDB4ZDYsIDB4MDcsCi0gICAgMHg5ZiwgMHhhZiwgMHhhZSwgMHgwNywgMHg5ZiwgMHhhZiwgMHgwMCwgMHgwYSwKLSAgICAweGM4LCAweDA5LCAweGRlLCAweDAwLCAweDAwLCAweDBlLCAweDBmLCAweDAwLAotICAgIDB4NDEsIDB4OTAsIDB4OWYsIDB4ZGUsIDB4MDYsIDB4MDAsIDB4NDQsIDB4YWYsCi0gICAgMHgyNywgMHgwMCwgMHhiMiwgMHgwNiwgMHgyNywgMHgwMCwgMHhiNCwgMHgwNiwKLSAgICAweDI3LCAweDAwLCAweGI2LCAweDA2LCAweGMwLCAweDA3LCAweDc0LCAweDAwLAotICAgIDB4NDQsIDB4YWYsIDB4MjcsIDB4MDAsIDB4ZDYsIDB4MDYsIDB4MDgsIDB4MDAsCi0gICAgMHgwMCwgMHg5MCwgMHhjMSwgMHgwNywgMHgzYSwgMHgwMCwgMHgyMCwgMHgwMCwKLSAgICAweDAxLCAweGRhLCAweDdkLCAweGMxLCAweDlmLCAweGFmLCAweGJhLCAweDA5LAotICAgIDB4YzAsIDB4MDcsIDB4NDQsIDB4MDAsIDB4NDgsIDB4YWYsIDB4MjcsIDB4MDAsCi0gICAgMHg3YSwgMHgwNiwgMHg5ZiwgMHhhZiwgMHg5NiwgMHgwYSwgMHhlNywgMHgwNywKLSAgICAweDAxLCAweDAwLCAweGMwLCAweDA2LCAweGU3LCAweDA1LCAweDBlLCAweGMwLAotICAgIDB4OTcsIDB4Y2YsIDB4NDksIDB4YWYsIDB4ZTcsIDB4ODcsIDB4NDMsIDB4MDAsCi0gICAgMHgwZSwgMHhjMCwgMHhlNywgMHgwNywgMHhmZiwgMHhmZiwgMHhiZSwgMHgwNiwKLSAgICAweDlmLCAweGFmLCAweGFlLCAweDBhLCAweGMwLCAweDA3LCAweDAxLCAweDAwLAotICAgIDB4NjAsIDB4YWYsIDB4NGEsIDB4YWYsIDB4OTcsIDB4Y2YsIDB4MDAsIDB4MDgsCi0gICAgMHgwOSwgMHgwOCwgMHgxMSwgMHgwOCwgMHgwMCwgMHhkYSwgMHg3YywgMHhjMSwKLSAgICAweDk3LCAweGNmLCAweDY3LCAweDA0LCAweGNjLCAweDAyLCAweGMwLCAweGRmLAotICAgIDB4NTEsIDB4OTQsIDB4YjEsIDB4YWYsIDB4MDYsIDB4MDAsIDB4YzEsIDB4ZGYsCi0gICAgMHhjOSwgMHgwOSwgMHhjYywgMHgwMiwgMHg0OSwgMHg2MiwgMHg3NSwgMHhjMSwKLSAgICAweGMwLCAweGRmLCAweGE3LCAweGNmLCAweGQ2LCAweDAyLCAweDBlLCAweDAwLAotICAgIDB4MjQsIDB4MDAsIDB4ODAsIDB4MDQsIDB4MjIsIDB4MDAsIDB4NGUsIDB4MDUsCi0gICAgMHhkMCwgMHgwMCwgMHgwZSwgMHgwYSwgMHhhYSwgMHgwMCwgMHgzMCwgMHgwOCwKLSAgICAweGJlLCAweDAwLCAweDRhLCAweDBhLCAweDEwLCAweDAwLCAweDIwLCAweDAwLAotICAgIDB4MDQsIDB4MDAsIDB4NmUsIDB4MDQsIDB4MDIsIDB4MDAsIDB4NmEsIDB4MDQsCi0gICAgMHgwNiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgyNCwgMHhjMCwgMHgwNCwgMHgwNCwKLSAgICAweDI4LCAweGMwLCAweGZlLCAweGZiLCAweDFlLCAweGMwLCAweDAwLCAweDA0LAotICAgIDB4MjIsIDB4YzAsIDB4ZmYsIDB4ZjQsIDB4YzAsIDB4MDAsIDB4OTAsIDB4MDksCi0gICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHhmZiwgMHhmZiwgMHg1NiwgMHgwOCwKLSAgICAweDYwLCAweDA4LCAweGQwLCAweDA4LCAweGRhLCAweDA4LCAweDAwLCAweDA5LAotICAgIDB4MDQsIDB4MDksIDB4MDgsIDB4MDksIDB4MzIsIDB4MDksIDB4NDIsIDB4MDksCi0gICAgMHg1MCwgMHgwOSwgMHg1MiwgMHgwOSwgMHg1YSwgMHgwOSwgMHg1YSwgMHgwOSwKLSAgICAweDI3LCAweDAyLCAweGNhLCAweDA2LCAweDk3LCAweGNmLCAweGU3LCAweDA3LAotICAgIDB4MDAsIDB4MDAsIDB4Y2EsIDB4MDYsIDB4MGEsIDB4MGUsIDB4MDEsIDB4MDAsCi0gICAgMHhjYSwgMHg1NywgMHgwZSwgMHgwMCwgMHg5ZiwgMHhjMywgMHg1YSwgMHgwOSwKLSAgICAweGNhLCAweDM3LCAweDAwLCAweDAwLCAweDlmLCAweGMyLCAweDVhLCAweDA5LAotICAgIDB4MGEsIDB4ZDIsIDB4YjIsIDB4Y2YsIDB4MTYsIDB4MDgsIDB4YzgsIDB4MDksCi0gICAgMHhkZSwgMHgwMCwgMHgwNywgMHgwNiwgMHg5ZiwgMHhjZiwgMHg2YywgMHgwOSwKLSAgICAweDE3LCAweDAyLCAweGM4LCAweDA5LCAweGRlLCAweDAwLCAweDAwLCAweDBlLAotICAgIDB4MGYsIDB4MDAsIDB4NDEsIDB4OTAsIDB4OWYsIDB4ZGUsIDB4MDYsIDB4MDAsCi0gICAgMHhjOCwgMHgwNSwgMHgzMCwgMHg1MCwgMHgwNiwgMHgwMCwgMHg5ZiwgMHhjOCwKLSAgICAweDVhLCAweDA5LCAweDI3LCAweDBjLCAweDAyLCAweDAwLCAweGIwLCAweDA2LAotICAgIDB4YzAsIDB4MDksIDB4YjIsIDB4MDYsIDB4MjcsIDB4MDAsIDB4YjQsIDB4MDYsCi0gICAgMHhlNywgMHgwNywgMHgwMCwgMHgwMCwgMHhhZSwgMHgwNiwgMHgyNywgMHgwMCwKLSAgICAweDgwLCAweDA2LCAweDAwLCAweDFjLCAweDA2LCAweDAwLCAweDI3LCAweDAwLAotICAgIDB4YjYsIDB4MDYsIDB4NDEsIDB4OTAsIDB4NjcsIDB4NTAsIDB4YjAsIDB4MDYsCi0gICAgMHgwZCwgMHhjMCwgMHg2NywgMHgwMCwgMHg3ZSwgMHgwNiwgMHgyNywgMHgwYywKLSAgICAweDA2LCAweDAwLCAweDgyLCAweDA2LCAweGU3LCAweDA3LCAweGJjLCAweDA4LAotICAgIDB4ODQsIDB4MDYsIDB4YzgsIDB4MDcsIDB4N2UsIDB4MDYsIDB4NDEsIDB4OTAsCi0gICAgMHg1MSwgMHhhZiwgMHg5NywgMHhjZiwgMHg5ZiwgMHhhZiwgMHg0OCwgMHgwYywKLSAgICAweGU3LCAweDA5LCAweGI2LCAweDA2LCAweGI0LCAweDA2LCAweGU3LCAweDA5LAotICAgIDB4YjAsIDB4MDYsIDB4YWUsIDB4MDYsIDB4NTksIDB4YWYsIDB4OTcsIDB4Y2YsCi0gICAgMHgyNywgMHgwYywgMHgwMiwgMHgwMCwgMHhhYywgMHgwNiwgMHg1OSwgMHhhZiwKLSAgICAweDk3LCAweGNmLCAweDA5LCAweDBjLCAweDAyLCAweDAwLCAweDA5LCAweGRhLAotICAgIDB4NDksIDB4ZDIsIDB4YzksIDB4MTksIDB4ZDYsIDB4MDYsIDB4YzgsIDB4MDcsCi0gICAgMHg3ZSwgMHgwNiwgMHhlMCwgMHgwNywgMHgwMCwgMHgwMCwgMHg2MCwgMHgwMiwKLSAgICAweGUwLCAweDA3LCAweDA0LCAweDAwLCAweGQwLCAweDA3LCAweGNjLCAweDA4LAotICAgIDB4NDgsIDB4ZGIsIDB4NDEsIDB4OTAsIDB4NTAsIDB4YWYsIDB4OTcsIDB4Y2YsCi0gICAgMHg1OSwgMHhhZiwgMHg5NywgMHhjZiwgMHg1OSwgMHhhZiwgMHg5NywgMHhjZiwKLSAgICAweGYwLCAweDU3LCAweDA2LCAweDAwLCAweDA2LCAweDAwLCAweDI1LCAweGMxLAotICAgIDB4ZTcsIDB4MDcsIDB4NzAsIDB4MDYsIDB4ODAsIDB4MDYsIDB4NDEsIDB4OTAsCi0gICAgMHg2NywgMHgwMCwgMHg3ZSwgMHgwNiwgMHgyNywgMHgwYywgMHgwNiwgMHgwMCwKLSAgICAweDgyLCAweDA2LCAweGU3LCAweDA3LCAweDhjLCAweDA5LCAweDg0LCAweDA2LAotICAgIDB4YzgsIDB4MDcsIDB4N2UsIDB4MDYsIDB4NDEsIDB4OTAsIDB4NTEsIDB4YWYsCi0gICAgMHg5NywgMHhjZiwgMHgwNywgMHgwYywgMHgwNiwgMHgwMCwgMHhjNywgMHg1NywKLSAgICAweDA2LCAweDAwLCAweDBmLCAweGMxLCAweGM4LCAweDA3LCAweDcwLCAweDA2LAotICAgIDB4MTUsIDB4Y2YsIDB4MDAsIDB4MGMsIDB4MDIsIDB4MDAsIDB4MDAsIDB4ZGEsCi0gICAgMHg0MCwgMHhkMSwgMHgyNywgMHgwMCwgMHhjMiwgMHgwNiwgMHgxZSwgMHhjZiwKLSAgICAweDFkLCAweGNmLCAweDI3LCAweDBjLCAweDAyLCAweDAwLCAweGNjLCAweDA2LAotICAgIDB4MTksIDB4Y2YsIDB4MjcsIDB4MDIsIDB4MjAsIDB4MDEsIDB4ZTcsIDB4MDcsCi0gICAgMHgwOCwgMHgwMCwgMHgyMiwgMHgwMSwgMHhlNywgMHgwNywgMHgxMywgMHgwMCwKLSAgICAweGIwLCAweGMwLCAweDk3LCAweGNmLCAweDQxLCAweDkwLCAweDY3LCAweDAwLAotICAgIDB4N2UsIDB4MDYsIDB4ZTcsIDB4MDEsIDB4ODIsIDB4MDYsIDB4MjcsIDB4MDIsCi0gICAgMHg4MCwgMHgwNiwgMHhlNywgMHgwNywgMHg4YywgMHgwOSwgMHg4NCwgMHgwNiwKLSAgICAweGM4LCAweDA3LCAweDdlLCAweDA2LCAweGMxLCAweDA3LCAweDAwLCAweDgwLAotICAgIDB4NTAsIDB4YWYsIDB4OTcsIDB4Y2YsIDB4NTksIDB4YWYsIDB4OTcsIDB4Y2YsCi0gICAgMHgwMCwgMHg2MCwgMHgwNSwgMHhjMCwgMHhlNywgMHgwNywgMHgwMCwgMHgwMCwKLSAgICAweGM0LCAweDA2LCAweGE3LCAweGNmLCAweDdjLCAweDA2LCAweDlmLCAweGFmLAotICAgIDB4MDAsIDB4MGEsIDB4ZTcsIDB4MDcsIDB4MDEsIDB4MDAsIDB4YzQsIDB4MDYsCi0gICAgMHg0OSwgMHhhZiwgMHhkNywgMHgwOSwgMHgwMCwgMHhjMCwgMHgwNywgMHhhZiwKLSAgICAweGU3LCAweDA1LCAweDAwLCAweGMwLCAweDRhLCAweGFmLCAweGE3LCAweGNmLAotICAgIDB4N2MsIDB4MDYsIDB4YzAsIDB4MDcsIDB4ZmUsIDB4N2YsIDB4NDQsIDB4YWYsCi0gICAgMHg0MCwgMHgwMCwgMHhjMCwgMHgzNywgMHgwMCwgMHgwMSwgMHg0MSwgMHg5MCwKLSAgICAweGMwLCAweDM3LCAweDA4LCAweDAwLCAweGRmLCAweGRlLCAweDUwLCAweDA2LAotICAgIDB4YzAsIDB4NTcsIDB4MTAsIDB4MDAsIDB4MDIsIDB4YzIsIDB4YzAsIDB4MDcsCi0gICAgMHgxMCwgMHgwMCwgMHgyNywgMHgwMCwgMHg5YSwgMHgwNiwgMHg0MSwgMHg5MCwKLSAgICAweDlmLCAweGRlLCAweDQwLCAweDA2LCAweDQ0LCAweGFmLCAweDI3LCAweDAwLAotICAgIDB4OWMsIDB4MDYsIDB4YzAsIDB4MDksIDB4OWEsIDB4MDYsIDB4NDEsIDB4OTAsCi0gICAgMHgwMCwgMHhkMiwgMHgwMCwgMHhkOCwgMHg5ZiwgMHhkZSwgMHgwOCwgMHgwMCwKLSAgICAweDQ0LCAweGFmLCAweDI3LCAweDAwLCAweGM4LCAweDA2LCAweDk3LCAweGNmLAotICAgIDB4ZTcsIDB4ODcsIDB4MDAsIDB4ODQsIDB4MjgsIDB4YzAsIDB4ZTcsIDB4NjcsCi0gICAgMHhmZiwgMHhmYiwgMHgyNCwgMHhjMCwgMHg5NywgMHhjZiwgMHhlNywgMHg4NywKLSAgICAweDAxLCAweDAwLCAweGQyLCAweDA2LCAweGU3LCAweDU3LCAweDAwLCAweDAwLAotICAgIDB4YTgsIDB4MDYsIDB4OTcsIDB4YzEsIDB4OWYsIDB4YWYsIDB4MDAsIDB4MGEsCi0gICAgMHhlNywgMHg4NywgMHgwMCwgMHgwNiwgMHgyMiwgMHhjMCwgMHhlNywgMHgwNywKLSAgICAweDAwLCAweDAwLCAweDkwLCAweGMwLCAweGU3LCAweDY3LCAweGZlLCAweGZmLAotICAgIDB4M2UsIDB4YzAsIDB4ZTcsIDB4MDcsIDB4MjYsIDB4MDAsIDB4MGEsIDB4YzAsCi0gICAgMHhlNywgMHg4NywgMHgwMSwgMHgwMCwgMHgzZSwgMHhjMCwgMHhlNywgMHgwNywKLSAgICAweGZmLCAweGZmLCAweGJlLCAweDA2LCAweDlmLCAweGFmLCAweDEwLCAweDBiLAotICAgIDB4OTcsIDB4Y2YsIDB4MTcsIDB4MDAsIDB4YTcsIDB4YWYsIDB4NzgsIDB4MDYsCi0gICAgMHhjMCwgMHgwNSwgMHgyNywgMHgwMCwgMHg3NiwgMHgwNiwgMHhlNywgMHg4NywKLSAgICAweDAxLCAweDAwLCAweGQyLCAweDA2LCAweDlmLCAweGFmLCAweDAwLCAweDBhLAotICAgIDB4ZTcsIDB4MDcsIDB4MGMsIDB4MDAsIDB4NDAsIDB4YzAsIDB4OWYsIDB4YWYsCi0gICAgMHgxMCwgMHgwYiwgMHgwMCwgMHg5MCwgMHgyNywgMHgwMCwgMHhhNiwgMHgwNiwKLSAgICAweDI3LCAweDAwLCAweGFhLCAweDA2LCAweGU3LCAweDA5LCAweGIyLCAweDA2LAotICAgIDB4YjQsIDB4MDYsIDB4MjcsIDB4MDAsIDB4YWUsIDB4MDYsIDB4MjcsIDB4MDAsCi0gICAgMHhhYywgMHgwNiwgMHg5ZiwgMHhhZiwgMHhhZSwgMHgwYSwgMHhjMCwgMHgwNywKLSAgICAweDAwLCAweDAwLCAweDI3LCAweDAwLCAweGIyLCAweDAyLCAweDI3LCAweDAwLAotICAgIDB4YjQsIDB4MDIsIDB4MjcsIDB4MDAsIDB4OGUsIDB4MDYsIDB4YzAsIDB4MDcsCi0gICAgMHgwNiwgMHgwMCwgMHhjOCwgMHgwOSwgMHhkZSwgMHgwMCwgMHhjOCwgMHgxNywKLSAgICAweDAzLCAweDAwLCAweGM5LCAweDA3LCAweDcwLCAweDA2LCAweDI5LCAweDBhLAotICAgIDB4MDAsIDB4ZGEsIDB4N2QsIDB4YzEsIDB4OTcsIDB4Y2YsIDB4ZDcsIDB4MDksCi0gICAgMHgwMCwgMHhjMCwgMHhjMSwgMHhkZiwgMHgwMCwgMHg5MCwgMHgyNywgMHgwMCwKLSAgICAweDk2LCAweDA2LCAweGU3LCAweDA3LCAweDk2LCAweDA2LCAweDk4LCAweDA2LAotICAgIDB4MjcsIDB4MDAsIDB4YTAsIDB4MDYsIDB4ZTcsIDB4MDcsIDB4YTAsIDB4MDYsCi0gICAgMHhhMiwgMHgwNiwgMHgyNywgMHgwMCwgMHhhNiwgMHgwNiwgMHgyNywgMHgwMCwKLSAgICAweDkwLCAweDA2LCAweDI3LCAweDAwLCAweDllLCAweDA2LCAweGM4LCAweDA5LAotICAgIDB4OWMsIDB4MDYsIDB4YzEsIDB4MDksIDB4OWEsIDB4MDYsIDB4YzksIDB4MDcsCi0gICAgMHhhNCwgMHgwNiwgMHgxMSwgMHgwMiwgMHgwOSwgMHgwMiwgMHhjOCwgMHgxNywKLSAgICAweDQwLCAweDA2LCAweDAxLCAweGRhLCAweDdhLCAweGMxLCAweDUxLCAweDk0LAotICAgIDB4YzgsIDB4MDksIDB4YzgsIDB4MDYsIDB4YzksIDB4MDcsIDB4YzYsIDB4MDYsCi0gICAgMHhjMSwgMHgwOSwgMHg5YSwgMHgwNiwgMHgxMSwgMHgwMiwgMHgwOSwgMHgwMiwKLSAgICAweGM4LCAweDE3LCAweDA4LCAweDAwLCAweDAxLCAweGRhLCAweDdhLCAweGMxLAotICAgIDB4NTEsIDB4OTQsIDB4ZTcsIDB4MDUsIDB4MDAsIDB4YzAsIDB4OTcsIDB4Y2YsCi0gICAgMHhlNywgMHg1NywgMHgwMCwgMHgwMCwgMHg3NiwgMHgwNiwgMHg5NywgMHhjMCwKLSAgICAweDlmLCAweGFmLCAweDA0LCAweDAwLCAweGU3LCAweDA5LCAweGJlLCAweDA2LAotICAgIDB4YmEsIDB4MDYsIDB4ZTcsIDB4NTcsIDB4ZmYsIDB4ZmYsIDB4YmEsIDB4MDYsCi0gICAgMHgwNCwgMHhjMSwgMHhlNywgMHgwNywgMHgxMCwgMHgwYiwgMHhiOCwgMHgwNiwKLSAgICAweDk3LCAweGNmLCAweGU3LCAweDE3LCAweDMyLCAweDAwLCAweGJhLCAweDA2LAotICAgIDB4ZTcsIDB4NjcsIDB4ZmYsIDB4MDcsIDB4YmEsIDB4MDYsIDB4ZTcsIDB4MDcsCi0gICAgMHg0NiwgMHgwYiwgMHhiOCwgMHgwNiwgMHg5NywgMHhjZiwgMHhlNywgMHg1NywKLSAgICAweDAwLCAweDAwLCAweGMwLCAweDA2LCAweDIzLCAweGMwLCAweGU3LCAweDA3LAotICAgIDB4MDQsIDB4MDAsIDB4OTAsIDB4YzAsIDB4ZTcsIDB4MDcsIDB4MDAsIDB4ODAsCi0gICAgMHg4MCwgMHhjMCwgMHhlNywgMHgwNywgMHgwMCwgMHgwMCwgMHg4MCwgMHhjMCwKLSAgICAweGU3LCAweDA3LCAweDAwLCAweDgwLCAweDgwLCAweGMwLCAweGMwLCAweDA3LAotICAgIDB4MDAsIDB4MDAsIDB4YzAsIDB4MDcsIDB4MDAsIDB4MDAsIDB4YzAsIDB4MDcsCi0gICAgMHgwMCwgMHgwMCwgMHhlNywgMHgwNywgMHgwMCwgMHgwMCwgMHg4MCwgMHhjMCwKLSAgICAweGU3LCAweDA3LCAweDAwLCAweDgwLCAweDgwLCAweGMwLCAweGU3LCAweDA3LAotICAgIDB4MDAsIDB4ODAsIDB4NDAsIDB4YzAsIDB4YzAsIDB4MDcsIDB4MDAsIDB4MDAsCi0gICAgMHhlNywgMHgwNywgMHgwMCwgMHgwMCwgMHg0MCwgMHhjMCwgMHhlNywgMHgwNywKLSAgICAweDAwLCAweDAwLCAweDgwLCAweGMwLCAweGU3LCAweDA3LCAweDA0LCAweDAwLAotICAgIDB4OTAsIDB4YzAsIDB4ZTcsIDB4MDcsIDB4MDAsIDB4MDIsIDB4NDAsIDB4YzAsCi0gICAgMHhlNywgMHgwNywgMHgwYywgMHgwMiwgMHg0MCwgMHhjMCwgMHhlNywgMHgwNywKLSAgICAweDAwLCAweDAwLCAweGMwLCAweDA2LCAweGU3LCAweDA3LCAweDAwLCAweDAwLAotICAgIDB4YjgsIDB4MDYsIDB4ZTcsIDB4MDcsIDB4MDAsIDB4MDAsIDB4ZDIsIDB4MDYsCi0gICAgMHhkNywgMHgwOSwgMHgwMCwgMHhjMCwgMHhjMSwgMHhkZiwgMHg5ZiwgMHhhZiwKLSAgICAweDM0LCAweDAyLCAweGU3LCAweDA1LCAweDAwLCAweGMwLCAweDlmLCAweGFmLAotICAgIDB4YzQsIDB4MDEsIDB4OTcsIDB4Y2YsIDB4ZDcsIDB4MDksIDB4MDAsIDB4YzAsCi0gICAgMHgxNywgMHgwMCwgMHgxNywgMHgwMiwgMHg5NywgMHgwMiwgMHhlNywgMHg1NywKLSAgICAweDAwLCAweDAwLCAweGE4LCAweDA2LCAweDA2LCAweGMwLCAweGMwLCAweDA5LAotICAgIDB4OTIsIDB4YzAsIDB4YzAsIDB4NzcsIDB4MDksIDB4MDIsIDB4OWYsIDB4YzEsCi0gICAgMHg1YywgMHgwNSwgMHg5ZiwgMHhjZiwgMHgzMiwgMHgwNiwgMHhkNywgMHgwOSwKLSAgICAweDBlLCAweGMwLCAweGU3LCAweDA3LCAweDAwLCAweDAwLCAweDBlLCAweGMwLAotICAgIDB4OWYsIDB4YWYsIDB4MDIsIDB4MGMsIDB4ZTcsIDB4MDUsIDB4MGUsIDB4YzAsCi0gICAgMHg5NywgMHhjZiwgMHhkNywgMHgwOSwgMHgwMCwgMHhjMCwgMHgxNywgMHgwMiwKLSAgICAweGM4LCAweDA5LCAweGIwLCAweGMwLCAweGU3LCAweDY3LCAweGZlLCAweDdmLAotICAgIDB4YjAsIDB4YzAsIDB4YzgsIDB4NzcsIDB4MDAsIDB4MjAsIDB4OWYsIDB4YzEsCi0gICAgMHg2NCwgMHhlYiwgMHhlNywgMHg1NywgMHgwMCwgMHgwMCwgMHhjOCwgMHgwMiwKLSAgICAweDlmLCAweGMxLCAweDgwLCAweGViLCAweGM4LCAweDk5LCAweGNhLCAweDAyLAotICAgIDB4YzgsIDB4NjcsIDB4MDQsIDB4MDAsIDB4OWYsIDB4YzEsIDB4OTYsIDB4ZWIsCi0gICAgMHg5ZiwgMHhjZiwgMHg0YywgMHhlYiwgMHhlNywgMHgwNywgMHgwMCwgMHgwMCwKLSAgICAweGE2LCAweGMwLCAweGU3LCAweDA5LCAweGIwLCAweGMwLCAweGM4LCAweDAyLAotICAgIDB4ZTcsIDB4MDcsIDB4MDMsIDB4MDAsIDB4YjAsIDB4YzAsIDB4OTcsIDB4Y2YsCi0gICAgMHhjMCwgMHgwOSwgMHhiMCwgMHgwNiwgMHhjMCwgMHgzNywgMHgwMSwgMHgwMCwKLSAgICAweDk3LCAweGM5LCAweGM5LCAweDA5LCAweGIyLCAweDA2LCAweDAyLCAweDAwLAotICAgIDB4NDEsIDB4OTAsIDB4NDgsIDB4MDIsIDB4YzksIDB4MTcsIDB4MDYsIDB4MDAsCi0gICAgMHg5ZiwgMHhhZiwgMHgwOCwgMHgwNCwgMHg5ZiwgMHhhMiwgMHg3MiwgMHgwYywKLSAgICAweDAyLCAweGRhLCAweDc3LCAweGMxLCAweDQxLCAweDYwLCAweDcxLCAweGMxLAotICAgIDB4OTcsIDB4Y2YsIDB4MTcsIDB4MDIsIDB4NTcsIDB4MDIsIDB4NDMsIDB4MDQsCi0gICAgMHgyMSwgMHgwNCwgMHhlMCwgMHgwMCwgMHg0MywgMHgwNCwgMHgyMSwgMHgwNCwKLSAgICAweGUwLCAweDAwLCAweDQzLCAweDA0LCAweDIxLCAweDA0LCAweGUwLCAweDAwLAotICAgIDB4YzEsIDB4MDcsIDB4MDEsIDB4MDAsIDB4YzksIDB4MDUsIDB4YzgsIDB4MDUsCi0gICAgMHg5NywgMHhjZiwgMHhlNywgMHgwNywgMHgwMSwgMHgwMCwgMHg4ZSwgMHgwNiwKLSAgICAweGM4LCAweDA3LCAweDg2LCAweDA2LCAweGU3LCAweDA3LCAweDAwLCAweDAwLAotICAgIDB4ODYsIDB4MDYsIDB4ZTcsIDB4MDcsIDB4MTAsIDB4MDgsIDB4ODgsIDB4MDYsCi0gICAgMHhlNywgMHgwNywgMHgwNCwgMHgwMCwgMHg4YSwgMHgwNiwgMHhlNywgMHgwNywKLSAgICAweGJjLCAweDBjLCAweDhjLCAweDA2LCAweGMxLCAweDA3LCAweDAzLCAweDgwLAotICAgIDB4NTAsIDB4YWYsIDB4OTcsIDB4Y2YsIDB4ZTcsIDB4MDcsIDB4MDAsIDB4MDAsCi0gICAgMHg4ZSwgMHgwNiwgMHg5NywgMHhjZiwKLSAgICAweDAwLCAweDAwCi19OwotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogICAgIGthd2V0aF9uZXdfY29kZV9maXgKLSAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwotc3RhdGljIF9fdTgga2F3ZXRoX25ld19jb2RlX2ZpeFtdID0gCi17Ci0gICAgMHhCNiwgMHhDMywgMHhBQSwgMHhCQiwgMHhDQywgMHhERCwKLSAgICAweDAyLCAweDAwLCAweDA4LCAweDAwLCAweDI4LCAweDAwLCAweDJjLCAweDAwLAotICAgIDB4MzQsIDB4MDAsIDB4M2MsIDB4MDAsIDB4NDAsIDB4MDAsIDB4NDgsIDB4MDAsCi0gICAgMHg1NCwgMHgwMCwgMHg1OCwgMHgwMCwgMHg1ZSwgMHgwMCwgMHg2NCwgMHgwMCwKLSAgICAweDY4LCAweDAwLCAweDZlLCAweDAwLCAweDZjLCAweDAwLCAweDcyLCAweDAwLAotICAgIDB4NzYsIDB4MDAsIDB4N2MsIDB4MDAsIDB4ODAsIDB4MDAsIDB4ODYsIDB4MDAsCi0gICAgMHg4YSwgMHgwMCwgMHg5MCwgMHgwMCwgMHg5NCwgMHgwMCwgMHg5OCwgMHgwMCwKLSAgICAweDllLCAweDAwLCAweGE2LCAweDAwLCAweGFhLCAweDAwLCAweGIwLCAweDAwLAotICAgIDB4YjQsIDB4MDAsIDB4YjgsIDB4MDAsIDB4YzAsIDB4MDAsIDB4YzYsIDB4MDAsCi0gICAgMHhjYSwgMHgwMCwgMHhkMCwgMHgwMCwgMHhkNCwgMHgwMCwgMHhkOCwgMHgwMCwKLSAgICAweGUwLCAweDAwLCAweGRlLCAweDAwLCAweGU4LCAweDAwLCAweGYwLCAweDAwLAotICAgIDB4ZmMsIDB4MDAsIDB4MDQsIDB4MDEsIDB4MGEsIDB4MDEsIDB4MTgsIDB4MDEsCi0gICAgMHgyMiwgMHgwMSwgMHgyOCwgMHgwMSwgMHgzYSwgMHgwMSwgMHgzZSwgMHgwMSwKLSAgICAweDdlLCAweDAxLCAweDk4LCAweDAxLCAweDljLCAweDAxLCAweGEyLCAweDAxLAotICAgIDB4YWMsIDB4MDEsIDB4YjIsIDB4MDEsIDB4YmEsIDB4MDEsIDB4YzAsIDB4MDEsCi0gICAgMHhjOCwgMHgwMSwgMHhkMCwgMHgwMSwgMHhkNiwgMHgwMSwgMHhmNCwgMHgwMSwKLSAgICAweGZjLCAweDAxLCAweDA4LCAweDAyLCAweDE2LCAweDAyLCAweDFhLCAweDAyLAotICAgIDB4MjIsIDB4MDIsIDB4MmEsIDB4MDIsIDB4MmUsIDB4MDIsIDB4M2UsIDB4MDIsCi0gICAgMHg0NCwgMHgwMiwgMHg0YSwgMHgwMiwgMHg1MCwgMHgwMiwgMHg2NCwgMHgwMiwKLSAgICAweDYyLCAweDAyLCAweDZjLCAweDAyLCAweDcyLCAweDAyLCAweDg2LCAweDAyLAotICAgIDB4OGMsIDB4MDIsIDB4OTAsIDB4MDIsIDB4OWUsIDB4MDIsIDB4YmMsIDB4MDIsCi0gICAgMHhkMCwgMHgwMiwgMHhkOCwgMHgwMiwgMHhkYywgMHgwMiwgMHhlMCwgMHgwMiwKLSAgICAweGU4LCAweDAyLCAweGU2LCAweDAyLCAweGY0LCAweDAyLCAweGZlLCAweDAyLAotICAgIDB4MDQsIDB4MDMsIDB4MGMsIDB4MDMsIDB4MjgsIDB4MDMsIDB4N2MsIDB4MDMsCi0gICAgMHg5MCwgMHgwMywgMHg5NCwgMHgwMywgMHg5YywgMHgwMywgMHhhMiwgMHgwMywKLSAgICAweGMwLCAweDAzLCAweGQwLCAweDAzLCAweGQ0LCAweDAzLCAweGVlLCAweDAzLAotICAgIDB4ZmEsIDB4MDMsIDB4ZmUsIDB4MDMsIDB4MmUsIDB4MDQsIDB4MzIsIDB4MDQsCi0gICAgMHgzYywgMHgwNCwgMHg0MCwgMHgwNCwgMHg0ZSwgMHgwNCwgMHg3NiwgMHgwNCwKLSAgICAweDdjLCAweDA0LCAweDg0LCAweDA0LCAweDhhLCAweDA0LCAweDhlLCAweDA0LAotICAgIDB4YTYsIDB4MDQsIDB4YjAsIDB4MDQsIDB4YjgsIDB4MDQsIDB4YmUsIDB4MDQsCi0gICAgMHhkMiwgMHgwNCwgMHhkYywgMHgwNCwgMHhlZSwgMHgwNCwgMHgxMCwgMHgwNSwKLSAgICAweDFhLCAweDA1LCAweDI0LCAweDA1LCAweDJhLCAweDA1LCAweDM2LCAweDA1LAotICAgIDB4MzQsIDB4MDUsIDB4M2MsIDB4MDUsIDB4NDIsIDB4MDUsIDB4NjQsIDB4MDUsCi0gICAgMHg2YSwgMHgwNSwgMHg2ZSwgMHgwNSwgMHg4NiwgMHgwNSwgMHgyMiwgMHgwNiwKLSAgICAweDI2LCAweDA2LCAweDJjLCAweDA2LCAweDMwLCAweDA2LCAweDQyLCAweDA2LAotICAgIDB4NGEsIDB4MDYsIDB4NGUsIDB4MDYsIDB4NTYsIDB4MDYsIDB4NTQsIDB4MDYsCi0gICAgMHg1YSwgMHgwNiwgMHg2MCwgMHgwNiwgMHg2NiwgMHgwNiwgMHhlOCwgMHgwNiwKLSAgICAweGVlLCAweDA2LCAweGY0LCAweDA2LCAweDE2LCAweDA3LCAweDI2LCAweDA3LAotICAgIDB4MmMsIDB4MDcsIDB4MzIsIDB4MDcsIDB4MzYsIDB4MDcsIDB4M2EsIDB4MDcsCi0gICAgMHgzZSwgMHgwNywgMHg1MiwgMHgwNywgMHg1NiwgMHgwNywgMHg1YSwgMHgwNywKLSAgICAweDY0LCAweDA3LCAweDc2LCAweDA3LCAweDdhLCAweDA3LCAweDgwLCAweDA3LAotICAgIDB4ODQsIDB4MDcsIDB4OGEsIDB4MDcsIDB4OWUsIDB4MDcsIDB4YTIsIDB4MDcsCi0gICAgMHhkYSwgMHgwNywgMHhkZSwgMHgwNywgMHhlMiwgMHgwNywgMHhlNiwgMHgwNywKLSAgICAweGVhLCAweDA3LCAweGVlLCAweDA3LCAweGYyLCAweDA3LCAweGY2LCAweDA3LAotICAgIDB4MGUsIDB4MDgsIDB4MTYsIDB4MDgsIDB4MTgsIDB4MDgsIDB4MWEsIDB4MDgsCi0gICAgMHgxYywgMHgwOCwgMHgxZSwgMHgwOCwgMHgyMCwgMHgwOCwgMHgyMiwgMHgwOCwKLSAgICAweDI0LCAweDA4LCAweDI2LCAweDA4LCAweDI4LCAweDA4LCAweDJhLCAweDA4LAotICAgIDB4MmMsIDB4MDgsIDB4MmUsIDB4MDgsIDB4MzIsIDB4MDgsIDB4M2EsIDB4MDgsCi0gICAgMHg0NiwgMHgwOCwgMHg0ZSwgMHgwOCwgMHg1NCwgMHgwOCwgMHg1ZSwgMHgwOCwKLSAgICAweDc4LCAweDA4LCAweDdlLCAweDA4LCAweDgyLCAweDA4LCAweDg2LCAweDA4LAotICAgIDB4OGMsIDB4MDgsIDB4OTAsIDB4MDgsIDB4OTgsIDB4MDgsIDB4OWUsIDB4MDgsCi0gICAgMHhhNCwgMHgwOCwgMHhhYSwgMHgwOCwgMHhiMCwgMHgwOCwgMHhhZSwgMHgwOCwKLSAgICAweGI0LCAweDA4LCAweGJlLCAweDA4LCAweGM0LCAweDA4LCAweGMyLCAweDA4LAotICAgIDB4Y2EsIDB4MDgsIDB4YzgsIDB4MDgsIDB4ZDQsIDB4MDgsIDB4ZTQsIDB4MDgsCi0gICAgMHhlOCwgMHgwOCwgMHhmNiwgMHgwOCwgMHgxNCwgMHgwOSwgMHgxMiwgMHgwOSwKLSAgICAweDFhLCAweDA5LCAweDIwLCAweDA5LCAweDI2LCAweDA5LCAweDI0LCAweDA5LAotICAgIDB4MmEsIDB4MDksIDB4M2UsIDB4MDksIDB4NGMsIDB4MDksIDB4NTYsIDB4MDksCi0gICAgMHg3MCwgMHgwOSwgMHg3NCwgMHgwOSwgMHg3OCwgMHgwOSwgMHg3ZSwgMHgwOSwKLSAgICAweDdjLCAweDA5LCAweDgyLCAweDA5LCAweDk4LCAweDA5LCAweDljLCAweDA5LAotICAgIDB4YTAsIDB4MDksIDB4YTYsIDB4MDksIDB4YjgsIDB4MDksIDB4ZGMsIDB4MDksCi0gICAgMHhlOCwgMHgwOSwgMHhlYywgMHgwOSwgMHhmYywgMHgwOSwgMHgxMiwgMHgwYSwKLSAgICAweDE4LCAweDBhLCAweDFlLCAweDBhLCAweDQyLCAweDBhLCAweDQ2LCAweDBhLAotICAgIDB4NGUsIDB4MGEsIDB4NTQsIDB4MGEsIDB4NWEsIDB4MGEsIDB4NWUsIDB4MGEsCi0gICAgMHg2OCwgMHgwYSwgMHg2ZSwgMHgwYSwgMHg3MiwgMHgwYSwgMHg3OCwgMHgwYSwKLSAgICAweDc2LCAweDBhLCAweDdjLCAweDBhLCAweDgwLCAweDBhLCAweDg0LCAweDBhLAotICAgIDB4OTQsIDB4MGEsIDB4YTQsIDB4MGEsIDB4YjgsIDB4MGEsIDB4YmUsIDB4MGEsCi0gICAgMHhiYywgMHgwYSwgMHhjMiwgMHgwYSwgMHhjOCwgMHgwYSwgMHhjNiwgMHgwYSwKLSAgICAweGNjLCAweDBhLCAweGQwLCAweDBhLCAweGQ0LCAweDBhLCAweGQ4LCAweDBhLAotICAgIDB4ZGMsIDB4MGEsIDB4ZTAsIDB4MGEsIDB4ZjIsIDB4MGEsIDB4ZjYsIDB4MGEsCi0gICAgMHhmYSwgMHgwYSwgMHgxNCwgMHgwYiwgMHgxYSwgMHgwYiwgMHgyMCwgMHgwYiwKLSAgICAweDFlLCAweDBiLCAweDI2LCAweDBiLCAweDJlLCAweDBiLCAweDJjLCAweDBiLAotICAgIDB4MzYsIDB4MGIsIDB4M2MsIDB4MGIsIDB4NDIsIDB4MGIsIDB4NDAsIDB4MGIsCi0gICAgMHg0YSwgMHgwYiwgMHhhYSwgMHgwYiwgMHhiMCwgMHgwYiwgMHhiNiwgMHgwYiwKLSAgICAweGMwLCAweDBiLCAweGM4LCAweDBiLCAweGRhLCAweDBiLCAweGU4LCAweDBiLAotICAgIDB4ZWMsIDB4MGIsIDB4ZmEsIDB4MGIsIDB4NGEsIDB4MGMsIDB4NTQsIDB4MGMsCi0gICAgMHg2MiwgMHgwYywgMHg2NiwgMHgwYywgMHg5NiwgMHgwYywgMHg5YSwgMHgwYywKLSAgICAweGEwLCAweDBjLCAweGE2LCAweDBjLCAweGE0LCAweDBjLCAweGFjLCAweDBjLAotICAgIDB4YjIsIDB4MGMsIDB4YjAsIDB4MGMsIDB4YzAsIDB4MGMsCi0gICAgMHgwMCwgMHgwMAotfTsKLQotCi1zdGF0aWMgY29uc3QgaW50IGxlbl9rYXdldGhfdHJpZ2dlcl9jb2RlID0gc2l6ZW9mKGthd2V0aF90cmlnZ2VyX2NvZGUpOwotc3RhdGljIGNvbnN0IGludCBsZW5fa2F3ZXRoX3RyaWdnZXJfY29kZV9maXggPSBzaXplb2Yoa2F3ZXRoX3RyaWdnZXJfY29kZV9maXgpOwotc3RhdGljIGNvbnN0IGludCBsZW5fa2F3ZXRoX25ld19jb2RlID0gc2l6ZW9mKGthd2V0aF9uZXdfY29kZSk7Ci1zdGF0aWMgY29uc3QgaW50IGxlbl9rYXdldGhfbmV3X2NvZGVfZml4ID0gc2l6ZW9mKGthd2V0aF9uZXdfY29kZV9maXgpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2FuL2Nvc2EuYyBiL2RyaXZlcnMvbmV0L3dhbi9jb3NhLmMKaW5kZXggYjBmY2UxMy4uNTgyNzMyNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvd2FuL2Nvc2EuYworKysgYi9kcml2ZXJzL25ldC93YW4vY29zYS5jCkBAIC05Miw2ICs5Miw3IEBACiAjaW5jbHVkZSA8bGludXgvc3BpbmxvY2suaD4KICNpbmNsdWRlIDxsaW51eC9tdXRleC5oPgogI2luY2x1ZGUgPGxpbnV4L2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAKICN1bmRlZiBDT1NBX1NMT1dfSU8JLyogZm9yIHRlc3RpbmcgcHVycG9zZXMgb25seSAqLwogCkBAIC05NzAsMTUgKzk3MSwyMSBAQAogCXN0cnVjdCBjaGFubmVsX2RhdGEgKmNoYW47CiAJdW5zaWduZWQgbG9uZyBmbGFnczsKIAlpbnQgbjsKKwlpbnQgcmV0ID0gMDsKIAorCWxvY2tfa2VybmVsKCk7CiAJaWYgKChuPWltaW5vcihmaWxlLT5mX3BhdGguZGVudHJ5LT5kX2lub2RlKT4+Q0FSRF9NSU5PUl9CSVRTKQotCQk+PSBucl9jYXJkcykKLQkJcmV0dXJuIC1FTk9ERVY7CisJCT49IG5yX2NhcmRzKSB7CisJCXJldCA9IC1FTk9ERVY7CisJCWdvdG8gb3V0OworCX0KIAljb3NhID0gY29zYV9jYXJkcytuOwogCiAJaWYgKChuPWltaW5vcihmaWxlLT5mX3BhdGguZGVudHJ5LT5kX2lub2RlKQotCQkmICgoMTw8Q0FSRF9NSU5PUl9CSVRTKS0xKSkgPj0gY29zYS0+bmNoYW5uZWxzKQotCQlyZXR1cm4gLUVOT0RFVjsKKwkJJiAoKDE8PENBUkRfTUlOT1JfQklUUyktMSkpID49IGNvc2EtPm5jaGFubmVscykgeworCQlyZXQgPSAtRU5PREVWOworCQlnb3RvIG91dDsKKwl9CiAJY2hhbiA9IGNvc2EtPmNoYW4gKyBuOwogCQogCWZpbGUtPnByaXZhdGVfZGF0YSA9IGNoYW47CkBAIC05ODcsNyArOTk0LDggQEAKIAogCWlmIChjaGFuLT51c2FnZSA8IDApIHsgLyogaW4gbmV0ZGV2IG1vZGUgKi8KIAkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmY29zYS0+bG9jaywgZmxhZ3MpOwotCQlyZXR1cm4gLUVCVVNZOworCQlyZXQgPSAtRUJVU1k7CisJCWdvdG8gb3V0OwogCX0KIAljb3NhLT51c2FnZSsrOwogCWNoYW4tPnVzYWdlKys7CkBAIC05OTYsNyArMTAwNCw5IEBACiAJY2hhbi0+c2V0dXBfcnggPSBjaHJkZXZfc2V0dXBfcng7CiAJY2hhbi0+cnhfZG9uZSA9IGNocmRldl9yeF9kb25lOwogCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmNvc2EtPmxvY2ssIGZsYWdzKTsKLQlyZXR1cm4gMDsKK291dDoKKwl1bmxvY2tfa2VybmVsKCk7CisJcmV0dXJuIHJldDsKIH0KIAogc3RhdGljIGludCBjb3NhX3JlbGVhc2Uoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVzcy9hdG1lbC5jIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvYXRtZWwuYwppbmRleCA0MzhlNjNlLi5kMWFjZWY3IDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9hdG1lbC5jCisrKyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2F0bWVsLmMKQEAgLTU2MCw3ICs1NjAsNyBAQAogc3RhdGljIHZvaWQgYnVpbGRfd3BhX21pYihzdHJ1Y3QgYXRtZWxfcHJpdmF0ZSAqcHJpdik7CiBzdGF0aWMgaW50IGF0bWVsX2lvY3RsKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsIHN0cnVjdCBpZnJlcSAqcnEsIGludCBjbWQpOwogc3RhdGljIHZvaWQgYXRtZWxfY29weV90b19jYXJkKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsIHUxNiBkZXN0LAotCQkJICAgICAgIHVuc2lnbmVkIGNoYXIgKnNyYywgdTE2IGxlbik7CisJCQkgICAgICAgY29uc3QgdW5zaWduZWQgY2hhciAqc3JjLCB1MTYgbGVuKTsKIHN0YXRpYyB2b2lkIGF0bWVsX2NvcHlfdG9faG9zdChzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LCB1bnNpZ25lZCBjaGFyICpkZXN0LAogCQkJICAgICAgIHUxNiBzcmMsIHUxNiBsZW4pOwogc3RhdGljIHZvaWQgYXRtZWxfc2V0X2djcihzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LCB1MTYgbWFzayk7CkBAIC0zODUzLDcgKzM4NTMsNyBAQAogCWlmIChwcml2LT5jYXJkX3R5cGUgPT0gQ0FSRF9UWVBFX0VFUFJPTSkgewogCQkvKiBjb3B5IGluIGZpcm13YXJlIGlmIG5lZWRlZCAqLwogCQljb25zdCBzdHJ1Y3QgZmlybXdhcmUgKmZ3X2VudHJ5ID0gTlVMTDsKLQkJdW5zaWduZWQgY2hhciAqZnc7CisJCWNvbnN0IHVuc2lnbmVkIGNoYXIgKmZ3OwogCQlpbnQgbGVuID0gcHJpdi0+ZmlybXdhcmVfbGVuZ3RoOwogCQlpZiAoIShmdyA9IHByaXYtPmZpcm13YXJlKSkgewogCQkJaWYgKHByaXYtPmZpcm13YXJlX3R5cGUgPT0gQVRNRUxfRldfVFlQRV9OT05FKSB7CkBAIC00MTIwLDcgKzQxMjAsNyBAQAogfQogCiBzdGF0aWMgdm9pZCBhdG1lbF9jb3B5X3RvX2NhcmQoc3RydWN0IG5ldF9kZXZpY2UgKmRldiwgdTE2IGRlc3QsCi0JCQkgICAgICAgdW5zaWduZWQgY2hhciAqc3JjLCB1MTYgbGVuKQorCQkJICAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNyYywgdTE2IGxlbikKIHsKIAlpbnQgaTsKIAlhdG1lbF93cml0ZUFSKGRldiwgZGVzdCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVzcy9saWJlcnRhcy9pZl9jcy5jIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvbGliZXJ0YXMvaWZfY3MuYwppbmRleCA1NDI4MGUyLi5kMDc1YjQ0IDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9saWJlcnRhcy9pZl9jcy5jCisrKyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2xpYmVydGFzL2lmX2NzLmMKQEAgLTEyMiw3ICsxMjIsNyBAQAogc3RhdGljIGlubGluZSB2b2lkIGlmX2NzX3dyaXRlMTZfcmVwKAogCXN0cnVjdCBpZl9jc19jYXJkICpjYXJkLAogCXVpbnQgcmVnLAotCXZvaWQgKmJ1ZiwKKwljb25zdCB2b2lkICpidWYsCiAJdW5zaWduZWQgbG9uZyBjb3VudCkKIHsKIAlpZiAoZGVidWdfb3V0cHV0KQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvbGliZXJ0YXMvaWZfc2Rpby5jIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvbGliZXJ0YXMvaWZfc2Rpby5jCmluZGV4IDUxZjY2NGIuLjNkZDUzN2IgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2xpYmVydGFzL2lmX3NkaW8uYworKysgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9saWJlcnRhcy9pZl9zZGlvLmMKQEAgLTM5Miw3ICszOTIsNyBAQAogCXVuc2lnbmVkIGxvbmcgdGltZW91dDsKIAl1OCAqY2h1bmtfYnVmZmVyOwogCXUzMiBjaHVua19zaXplOwotCXU4ICpmaXJtd2FyZTsKKwljb25zdCB1OCAqZmlybXdhcmU7CiAJc2l6ZV90IHNpemU7CiAKIAlsYnNfZGViX2VudGVyKExCU19ERUJfU0RJTyk7CkBAIC01MDgsNyArNTA4LDcgQEAKIAl1bnNpZ25lZCBsb25nIHRpbWVvdXQ7CiAJdTggKmNodW5rX2J1ZmZlcjsKIAl1MzIgY2h1bmtfc2l6ZTsKLQl1OCAqZmlybXdhcmU7CisJY29uc3QgdTggKmZpcm13YXJlOwogCXNpemVfdCBzaXplLCByZXFfc2l6ZTsKIAogCWxic19kZWJfZW50ZXIoTEJTX0RFQl9TRElPKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2xpYmVydGFzL2lmX3VzYi5jIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvbGliZXJ0YXMvaWZfdXNiLmMKaW5kZXggMzYyODhiMi4uNGRjZDQwOSAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvbGliZXJ0YXMvaWZfdXNiLmMKKysrIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvbGliZXJ0YXMvaWZfdXNiLmMKQEAgLTI5Myw3ICsyOTMsNyBAQAogc3RhdGljIGludCBpZl91c2Jfc2VuZF9md19wa3Qoc3RydWN0IGlmX3VzYl9jYXJkICpjYXJkcCkKIHsKIAlzdHJ1Y3QgZndkYXRhICpmd2RhdGEgPSBjYXJkcC0+ZXBfb3V0X2J1ZjsKLQl1aW50OF90ICpmaXJtd2FyZSA9IGNhcmRwLT5mdy0+ZGF0YTsKKwljb25zdCB1aW50OF90ICpmaXJtd2FyZSA9IGNhcmRwLT5mdy0+ZGF0YTsKIAogCS8qIElmIHdlIGdvdCBhIENSQyBmYWlsdXJlIG9uIHRoZSBsYXN0IGJsb2NrLCBiYWNrCiAJICAgdXAgYW5kIHJldHJ5IGl0ICovCkBAIC03NDYsNyArNzQ2LDcgQEAKICAqICAgICAgICAgbGVuICAgICAgICAgICAgICAgaW1hZ2UgbGVuZ3RoCiAgKiAgQHJldHVybiAgICAgMCBvciAtMQogICovCi1zdGF0aWMgaW50IGNoZWNrX2Z3ZmlsZV9mb3JtYXQodWludDhfdCAqZGF0YSwgdWludDMyX3QgdG90bGVuKQorc3RhdGljIGludCBjaGVja19md2ZpbGVfZm9ybWF0KGNvbnN0IHVpbnQ4X3QgKmRhdGEsIHVpbnQzMl90IHRvdGxlbikKIHsKIAl1aW50MzJfdCBiaW5jbWQsIGV4aXQ7CiAJdWludDMyX3QgYmxrc2l6ZSwgb2Zmc2V0LCBsZW47CmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVzcy9wNTQvcDU0dXNiLmMgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9wNTQvcDU0dXNiLmMKaW5kZXggMTYxMGE3MzAuLjgxNWMwOTUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3A1NC9wNTR1c2IuYworKysgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9wNTQvcDU0dXNiLmMKQEAgLTM3Niw3ICszNzYsOCBAQAogCWNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqZndfZW50cnkgPSBOVUxMOwogCWludCBlcnIsIGFsZW47CiAJdTggY2FycnkgPSAwOwotCXU4ICpidWYsICp0bXAsICpkYXRhOworCXU4ICpidWYsICp0bXA7CisJY29uc3QgdTggKmRhdGE7CiAJdW5zaWduZWQgaW50IGxlZnQsIHJlbWFpbnMsIGJsb2NrX3NpemU7CiAJc3RydWN0IHgyX2hlYWRlciAqaGRyOwogCXVuc2lnbmVkIGxvbmcgdGltZW91dDsKQEAgLTUyMyw3ICs1MjQsNyBAQAogCXZvaWQgKmJ1ZjsKIAlfX2xlMzIgcmVnOwogCXVuc2lnbmVkIGludCByZW1haW5zLCBvZmZzZXQ7Ci0JdTggKmRhdGE7CisJY29uc3QgdTggKmRhdGE7CiAKIAlidWYgPSBrbWFsbG9jKDUxMiwgR0ZQX0tFUk5FTCk7CiAJaWYgKCFidWYpIHsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3J0MngwMC9ydDJ4MDAuaCBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3J0MngwMC9ydDJ4MDAuaAppbmRleCBiNGJmMWUwLi5hNzRlMWE1IDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9ydDJ4MDAvcnQyeDAwLmgKKysrIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvcnQyeDAwL3J0MngwMC5oCkBAIC01MTEsOCArNTExLDggQEAKIAkgKi8KIAlpbnQgKCpwcm9iZV9odykgKHN0cnVjdCBydDJ4MDBfZGV2ICpydDJ4MDBkZXYpOwogCWNoYXIgKigqZ2V0X2Zpcm13YXJlX25hbWUpIChzdHJ1Y3QgcnQyeDAwX2RldiAqcnQyeDAwZGV2KTsKLQl1MTYgKCpnZXRfZmlybXdhcmVfY3JjKSAodm9pZCAqZGF0YSwgY29uc3Qgc2l6ZV90IGxlbik7Ci0JaW50ICgqbG9hZF9maXJtd2FyZSkgKHN0cnVjdCBydDJ4MDBfZGV2ICpydDJ4MDBkZXYsIHZvaWQgKmRhdGEsCisJdTE2ICgqZ2V0X2Zpcm13YXJlX2NyYykgKGNvbnN0IHZvaWQgKmRhdGEsIGNvbnN0IHNpemVfdCBsZW4pOworCWludCAoKmxvYWRfZmlybXdhcmUpIChzdHJ1Y3QgcnQyeDAwX2RldiAqcnQyeDAwZGV2LCBjb25zdCB2b2lkICpkYXRhLAogCQkJICAgICAgY29uc3Qgc2l6ZV90IGxlbik7CiAKIAkvKgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvcnQyeDAwL3J0MngwMHBjaS5oIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvcnQyeDAwL3J0MngwMHBjaS5oCmluZGV4IDlkMWNkYjkuLmI0MTk2N2UgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3J0MngwMC9ydDJ4MDBwY2kuaAorKysgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9ydDJ4MDAvcnQyeDAwcGNpLmgKQEAgLTgyLDcgKzgyLDcgQEAKIHN0YXRpYyBpbmxpbmUgdm9pZAogcnQyeDAwcGNpX3JlZ2lzdGVyX211bHRpd3JpdGUoc3RydWN0IHJ0MngwMF9kZXYgKnJ0MngwMGRldiwKIAkJCSAgICAgIGNvbnN0IHVuc2lnbmVkIGxvbmcgb2Zmc2V0LAotCQkJICAgICAgdm9pZCAqdmFsdWUsIGNvbnN0IHUxNiBsZW5ndGgpCisJCQkgICAgICBjb25zdCB2b2lkICp2YWx1ZSwgY29uc3QgdTE2IGxlbmd0aCkKIHsKIAltZW1jcHlfdG9pbyhydDJ4MDBkZXYtPmNzci5iYXNlICsgb2Zmc2V0LCB2YWx1ZSwgbGVuZ3RoKTsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3J0MngwMC9ydDYxcGNpLmMgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9ydDJ4MDAvcnQ2MXBjaS5jCmluZGV4IGMzYWZiNWMuLjU4MGY5MGIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3J0MngwMC9ydDYxcGNpLmMKKysrIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvcnQyeDAwL3J0NjFwY2kuYwpAQCAtOTE1LDcgKzkxNSw3IEBACiAJcmV0dXJuIGZ3X25hbWU7CiB9CiAKLXN0YXRpYyB1MTYgcnQ2MXBjaV9nZXRfZmlybXdhcmVfY3JjKHZvaWQgKmRhdGEsIGNvbnN0IHNpemVfdCBsZW4pCitzdGF0aWMgdTE2IHJ0NjFwY2lfZ2V0X2Zpcm13YXJlX2NyYyhjb25zdCB2b2lkICpkYXRhLCBjb25zdCBzaXplX3QgbGVuKQogewogCXUxNiBjcmM7CiAKQEAgLTkzMiw3ICs5MzIsNyBAQAogCXJldHVybiBjcmM7CiB9CiAKLXN0YXRpYyBpbnQgcnQ2MXBjaV9sb2FkX2Zpcm13YXJlKHN0cnVjdCBydDJ4MDBfZGV2ICpydDJ4MDBkZXYsIHZvaWQgKmRhdGEsCitzdGF0aWMgaW50IHJ0NjFwY2lfbG9hZF9maXJtd2FyZShzdHJ1Y3QgcnQyeDAwX2RldiAqcnQyeDAwZGV2LCBjb25zdCB2b2lkICpkYXRhLAogCQkJCSBjb25zdCBzaXplX3QgbGVuKQogewogCWludCBpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvcnQyeDAwL3J0NzN1c2IuYyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3J0MngwMC9ydDczdXNiLmMKaW5kZXggNDZlOWUwOC4uNmE2MmQ2YiAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvcnQyeDAwL3J0NzN1c2IuYworKysgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9ydDJ4MDAvcnQ3M3VzYi5jCkBAIC04NTYsNyArODU2LDcgQEAKIAlyZXR1cm4gRklSTVdBUkVfUlQyNTcxOwogfQogCi1zdGF0aWMgdTE2IHJ0NzN1c2JfZ2V0X2Zpcm13YXJlX2NyYyh2b2lkICpkYXRhLCBjb25zdCBzaXplX3QgbGVuKQorc3RhdGljIHUxNiBydDczdXNiX2dldF9maXJtd2FyZV9jcmMoY29uc3Qgdm9pZCAqZGF0YSwgY29uc3Qgc2l6ZV90IGxlbikKIHsKIAl1MTYgY3JjOwogCkBAIC04NzMsMTMgKzg3MywxMyBAQAogCXJldHVybiBjcmM7CiB9CiAKLXN0YXRpYyBpbnQgcnQ3M3VzYl9sb2FkX2Zpcm13YXJlKHN0cnVjdCBydDJ4MDBfZGV2ICpydDJ4MDBkZXYsIHZvaWQgKmRhdGEsCitzdGF0aWMgaW50IHJ0NzN1c2JfbG9hZF9maXJtd2FyZShzdHJ1Y3QgcnQyeDAwX2RldiAqcnQyeDAwZGV2LCBjb25zdCB2b2lkICpkYXRhLAogCQkJCSBjb25zdCBzaXplX3QgbGVuKQogewogCXVuc2lnbmVkIGludCBpOwogCWludCBzdGF0dXM7CiAJdTMyIHJlZzsKLQljaGFyICpwdHIgPSBkYXRhOworCWNvbnN0IGNoYXIgKnB0ciA9IGRhdGE7CiAJY2hhciAqY2FjaGU7CiAJaW50IGJ1ZmxlbjsKIAlpbnQgdGltZW91dDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3pkMTIwMS5jIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvemQxMjAxLmMKaW5kZXggZDVjMGM2Ni4uNzhiYWEwZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvemQxMjAxLmMKKysrIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvemQxMjAxLmMKQEAgLTQ5LDcgKzQ5LDcgQEAKIHN0YXRpYyBpbnQgemQxMjAxX2Z3X3VwbG9hZChzdHJ1Y3QgdXNiX2RldmljZSAqZGV2LCBpbnQgYXBmdykKIHsKIAljb25zdCBzdHJ1Y3QgZmlybXdhcmUgKmZ3X2VudHJ5OwotCWNoYXIgKmRhdGE7CisJY29uc3QgY2hhciAqZGF0YTsKIAl1bnNpZ25lZCBsb25nIGxlbjsKIAlpbnQgZXJyOwogCXVuc2lnbmVkIGNoYXIgcmV0OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQveGVuLW5ldGZyb250LmMgYi9kcml2ZXJzL25ldC94ZW4tbmV0ZnJvbnQuYwppbmRleCBkMjZmNjliLi5lZjY3MWQxIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC94ZW4tbmV0ZnJvbnQuYworKysgYi9kcml2ZXJzL25ldC94ZW4tbmV0ZnJvbnQuYwpAQCAtMTMyNCw3ICsxMzI0LDcgQEAKIAkJZ290byBmYWlsOwogCX0KIAotCXR4cyA9IChzdHJ1Y3QgeGVuX25ldGlmX3R4X3NyaW5nICopZ2V0X3plcm9lZF9wYWdlKEdGUF9LRVJORUwpOworCXR4cyA9IChzdHJ1Y3QgeGVuX25ldGlmX3R4X3NyaW5nICopZ2V0X3plcm9lZF9wYWdlKEdGUF9OT0lPIHwgX19HRlBfSElHSCk7CiAJaWYgKCF0eHMpIHsKIAkJZXJyID0gLUVOT01FTTsKIAkJeGVuYnVzX2Rldl9mYXRhbChkZXYsIGVyciwgImFsbG9jYXRpbmcgdHggcmluZyBwYWdlIik7CkBAIC0xMzQwLDcgKzEzNDAsNyBAQAogCX0KIAogCWluZm8tPnR4X3JpbmdfcmVmID0gZXJyOwotCXJ4cyA9IChzdHJ1Y3QgeGVuX25ldGlmX3J4X3NyaW5nICopZ2V0X3plcm9lZF9wYWdlKEdGUF9LRVJORUwpOworCXJ4cyA9IChzdHJ1Y3QgeGVuX25ldGlmX3J4X3NyaW5nICopZ2V0X3plcm9lZF9wYWdlKEdGUF9OT0lPIHwgX19HRlBfSElHSCk7CiAJaWYgKCFyeHMpIHsKIAkJZXJyID0gLUVOT01FTTsKIAkJeGVuYnVzX2Rldl9mYXRhbChkZXYsIGVyciwgImFsbG9jYXRpbmcgcnggcmluZyBwYWdlIik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3BhcmlzYy9laXNhX2VlcHJvbS5jIGIvZHJpdmVycy9wYXJpc2MvZWlzYV9lZXByb20uYwppbmRleCA4NmU5Yzg0Li41YWMyMDc5IDEwMDY0NAotLS0gYS9kcml2ZXJzL3BhcmlzYy9laXNhX2VlcHJvbS5jCisrKyBiL2RyaXZlcnMvcGFyaXNjL2Vpc2FfZWVwcm9tLmMKQEAgLTI0LDYgKzI0LDcgQEAKICNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KICNpbmNsdWRlIDxsaW51eC9taXNjZGV2aWNlLmg+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+c3RhdGUgJiBTT0NLRVRfUFJFU0VOVCkpCiAJCQlyZXR1cm4gLUVOT0RFVjsKLQkJaWYgKHBjY2FyZF92YWxpZGF0ZV9jaXMocywgQklORF9GTl9BTEwsICZjaXNpbmZvKSkKKwkJaWYgKHBjY2FyZF92YWxpZGF0ZV9jaXMocywgQklORF9GTl9BTEwsICZjaGFpbnMpKQogCQkJcmV0dXJuIC1FSU87Ci0JCWlmICghY2lzaW5mby5DaGFpbnMpCisJCWlmICghY2hhaW5zKQogCQkJcmV0dXJuIC1FTk9EQVRBOwogCiAJCWNvdW50ID0gcGNjYXJkX2V4dHJhY3RfY2lzKHMsIGJ1Ziwgb2ZmLCBjb3VudCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3BjbWNpYS90aTExM3guaCBiL2RyaXZlcnMvcGNtY2lhL3RpMTEzeC5oCmluZGV4IGQyOTY1N2IuLjEyOWRiN2IgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvcGNtY2lhL3RpMTEzeC5oCisrKyBiL2RyaXZlcnMvcGNtY2lhL3RpMTEzeC5oCkBAIC0xNTUsNyArMTU1LDcgQEAKICNkZWZpbmUgRU5FX1RFU1RfQzlfVExURU5BQkxFCQkweDAyCiAjZGVmaW5lIEVORV9URVNUX0M5X1BGRU5BQkxFX0YwCQkweDA0CiAjZGVmaW5lIEVORV9URVNUX0M5X1BGRU5BQkxFX0YxCQkweDA4Ci0jZGVmaW5lIEVORV9URVNUX0M5X1BGRU5BQkxFCQkoRU5FX1RFU1RfQzlfUEZFTkFCTEVfRjAgfCBFTkVfVEVTVF9DOV9QRkVOQUJMRV9GMCkKKyNkZWZpbmUgRU5FX1RFU1RfQzlfUEZFTkFCTEUJCShFTkVfVEVTVF9DOV9QRkVOQUJMRV9GMCB8IEVORV9URVNUX0M5X1BGRU5BQkxFX0YxKQogI2RlZmluZSBFTkVfVEVTVF9DOV9XUERJU0FMQkxFX0YwCTB4NDAKICNkZWZpbmUgRU5FX1RFU1RfQzlfV1BESVNBTEJMRV9GMQkweDgwCiAjZGVmaW5lIEVORV9URVNUX0M5X1dQRElTQUxCTEUJCShFTkVfVEVTVF9DOV9XUERJU0FMQkxFX0YwIHwgRU5FX1RFU1RfQzlfV1BESVNBTEJMRV9GMSkKQEAgLTY5Miw3ICs2OTIsNyBAQAogCQlnb3RvIG91dDsKIAogCS8qIGNoZWNrIHN0YXRlICovCi0JeWVudGFfZ2V0X3N0YXR1cygmc29ja2V0LT5zb2NrZXQsICZzdGF0ZSk7CisJeWVudGFfZ2V0X3N0YXR1cygmc2xvdDItPnNvY2tldCwgJnN0YXRlKTsKIAlpZiAoc3RhdGUgJiBTU19ERVRFQ1QpIHsKIAkJcmV0ID0gMDsKIAkJZ290byBvdXQ7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3J0Yy9LY29uZmlnIGIvZHJpdmVycy9ydGMvS2NvbmZpZwppbmRleCA0OTQ5ZGM0Li5mYzg1YmYyIDEwMDY0NAotLS0gYS9kcml2ZXJzL3J0Yy9LY29uZmlnCisrKyBiL2RyaXZlcnMvcnRjL0tjb25maWcKQEAgLTQ2OSw2ICs0NjksMTYgQEAKIAkgIFRvIGNvbXBpbGUgdGhpcyBkcml2ZXIgYXMgYSBtb2R1bGUsIGNob29zZSBNIGhlcmU6IHRoZQogCSAgbW9kdWxlIHdpbGwgYmUgY2FsbGVkIHJ0Yy12cjQxeHguCiAKK2NvbmZpZyBSVENfRFJWX1BMMDMwCisJdHJpc3RhdGUgIkFSTSBBTUJBIFBMMDMwIFJUQyIKKwlkZXBlbmRzIG9uIEFSTV9BTUJBCisJaGVscAorCSAgSWYgeW91IHNheSBZIGhlcmUgeW91IHdpbGwgZ2V0IGFjY2VzcyB0byBBUk0gQU1CQQorCSAgUHJpbWVDZWxsIFBMMDMwIFJUQyBmb3VuZCBvbiBjZXJ0YWluIEFSTSBTT0NzLgorCisJICBUbyBjb21waWxlIHRoaXMgZHJpdmVyIGFzIGEgbW9kdWxlLCBjaG9vc2UgTSBoZXJlOiB0aGUKKwkgIG1vZHVsZSB3aWxsIGJlIGNhbGxlZCBydGMtcGwwMzAuCisKIGNvbmZpZyBSVENfRFJWX1BMMDMxCiAJdHJpc3RhdGUgIkFSTSBBTUJBIFBMMDMxIFJUQyIKIAlkZXBlbmRzIG9uIEFSTV9BTUJBCkBAIC00OTUsMTIgKzUwNSwxMyBAQAogCSAgdGhpcyBpcyBwb3dlcmVkIGJ5IHRoZSBiYWNrdXAgcG93ZXIgc3VwcGx5LgogCiBjb25maWcgUlRDX0RSVl9BVDkxU0FNOQotCXRyaXN0YXRlICJBVDkxU0FNOXgiCisJdHJpc3RhdGUgIkFUOTFTQU05eC9BVDkxQ0FQOSIKIAlkZXBlbmRzIG9uIEFSQ0hfQVQ5MSAmJiAhKEFSQ0hfQVQ5MVJNOTIwMCB8fCBBUkNIX0FUOTFYNDApCiAJaGVscAotCSAgUlRDIGRyaXZlciBmb3IgdGhlIEF0bWVsIEFUOTFTQU05eCBpbnRlcm5hbCBSVFQgKFJlYWwgVGltZSBUaW1lcikuCi0JICBUaGVzZSB0aW1lcnMgYXJlIHBvd2VyZWQgYnkgdGhlIGJhY2t1cCBwb3dlciBzdXBwbHkgKHN1Y2ggYXMgYQotCSAgc21hbGwgY29pbiBjZWxsIGJhdHRlcnkpLCBidXQgZG8gbm90IG5lZWQgdG8gYmUgdXNlZCBhcyBSVENzLgorCSAgUlRDIGRyaXZlciBmb3IgdGhlIEF0bWVsIEFUOTFTQU05eCBhbmQgQVQ5MUNBUDkgaW50ZXJuYWwgUlRUCisJICAoUmVhbCBUaW1lIFRpbWVyKS4gVGhlc2UgdGltZXJzIGFyZSBwb3dlcmVkIGJ5IHRoZSBiYWNrdXAgcG93ZXIKKwkgIHN1cHBseSAoc3VjaCBhcyBhIHNtYWxsIGNvaW4gY2VsbCBiYXR0ZXJ5KSwgYnV0IGRvIG5vdCBuZWVkIHRvCisJICBiZSB1c2VkIGFzIFJUQ3MuCiAKIAkgIChPbiBBVDkxU0FNOXJsIGNoaXBzIHlvdSBwcm9iYWJseSB3YW50IHRvIHVzZSB0aGUgZGVkaWNhdGVkIFJUQwogCSAgbW9kdWxlIGFuZCBsZWF2ZSB0aGUgUlRUIGF2YWlsYWJsZSBmb3Igb3RoZXIgdXNlcy4pCmRpZmYgLS1naXQgYS9kcml2ZXJzL3J0Yy9NYWtlZmlsZSBiL2RyaXZlcnMvcnRjL01ha2VmaWxlCmluZGV4IGI2ZTE0ZDUuLmI1ZDlkNjcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvcnRjL01ha2VmaWxlCisrKyBiL2RyaXZlcnMvcnRjL01ha2VmaWxlCkBAIC00MSw2ICs0MSw3IEBACiBvYmotJChDT05GSUdfUlRDX0RSVl9PTUFQKQkrPSBydGMtb21hcC5vCiBvYmotJChDT05GSUdfUlRDX0RSVl9QQ0Y4NTYzKQkrPSBydGMtcGNmODU2My5vCiBvYmotJChDT05GSUdfUlRDX0RSVl9QQ0Y4NTgzKQkrPSBydGMtcGNmODU4My5vCitvYmotJChDT05GSUdfUlRDX0RSVl9QTDAzMCkJKz0gcnRjLXBsMDMwLm8KIG9iai0kKENPTkZJR19SVENfRFJWX1BMMDMxKQkrPSBydGMtcGwwMzEubwogb2JqLSQoQ09ORklHX1JUQ19EUlZfUFBDKQkrPSBydGMtcHBjLm8KIG9iai0kKENPTkZJR19SVENfRFJWX1I5NzAxKQkrPSBydGMtcjk3MDEubwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ydGMvcnRjLWF0MzJhcDcwMHguYyBiL2RyaXZlcnMvcnRjL3J0Yy1hdDMyYXA3MDB4LmMKaW5kZXggMmVmOGNkZi4uOTBiOWE2NSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ydGMvcnRjLWF0MzJhcDcwMHguYworKysgYi9kcml2ZXJzL3J0Yy9ydGMtYXQzMmFwNzAweC5jCkBAIC0yNjUsNiArMjY1LDcgQEAKIAl9CiAKIAlwbGF0Zm9ybV9zZXRfZHJ2ZGF0YShwZGV2LCBydGMpOworCWRldmljZV9pbml0X3dha2V1cCgmcGRldi0+ZGV2LCAxKTsKIAogCWRldl9pbmZvKCZwZGV2LT5kZXYsICJBdG1lbCBSVEMgZm9yIEFUMzJBUDcwMHggYXQgJTA4bHggaXJxICVsZFxuIiwKIAkJCSh1bnNpZ25lZCBsb25nKXJ0Yy0+cmVncywgcnRjLT5pcnEpOwpAQCAtMjg0LDYgKzI4NSw4IEBACiB7CiAJc3RydWN0IHJ0Y19hdDMyYXA3MDB4ICpydGMgPSBwbGF0Zm9ybV9nZXRfZHJ2ZGF0YShwZGV2KTsKIAorCWRldmljZV9pbml0X3dha2V1cCgmcGRldi0+ZGV2LCAwKTsKKwogCWZyZWVfaXJxKHJ0Yy0+aXJxLCBydGMpOwogCWlvdW5tYXAocnRjLT5yZWdzKTsKIAlydGNfZGV2aWNlX3VucmVnaXN0ZXIocnRjLT5ydGMpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ydGMvcnRjLWF0OTFybTkyMDAuYyBiL2RyaXZlcnMvcnRjL3J0Yy1hdDkxcm05MjAwLmMKaW5kZXggMzllNjRhYi4uOWMzZGI5MyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ydGMvcnRjLWF0OTFybTkyMDAuYworKysgYi9kcml2ZXJzL3J0Yy9ydGMtYXQ5MXJtOTIwMC5jCkBAIC0yOSwxMCArMjksNiBAQAogI2luY2x1ZGUgPGxpbnV4L2NvbXBsZXRpb24uaD4KIAogI2luY2x1ZGUgPGFzbS91YWNjZXNzLmg+Ci0jaW5jbHVkZSA8YXNtL3J0Yy5oPgotCi0jaW5jbHVkZSA8YXNtL21hY2gvdGltZS5oPgotCiAjaW5jbHVkZSA8YXNtL2FyY2gvYXQ5MV9ydGMuaD4KIAogCmRpZmYgLS1naXQgYS9kcml2ZXJzL3J0Yy9ydGMtYXQ5MXNhbTkuYyBiL2RyaXZlcnMvcnRjL3J0Yy1hdDkxc2FtOS5jCmluZGV4IDM4ZDg3NDIuLmYwMjQ2ZWYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvcnRjL3J0Yy1hdDkxc2FtOS5jCisrKyBiL2RyaXZlcnMvcnRjL3J0Yy1hdDkxc2FtOS5jCkBAIC0xOSw3ICsxOSw2IEBACiAjaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+CiAjaW5jbHVkZSA8bGludXgvaW9jdGwuaD4KIAotI2luY2x1ZGUgPGFzbS9tYWNoL3RpbWUuaD4KICNpbmNsdWRlIDxhc20vYXJjaC9ib2FyZC5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL2F0OTFfcnR0Lmg+CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvcnRjL3J0Yy1kZXYuYyBiL2RyaXZlcnMvcnRjL3J0Yy1kZXYuYwppbmRleCA5MGRmYTBkLi4wMTE0YTc4IDEwMDY0NAotLS0gYS9kcml2ZXJzL3J0Yy9ydGMtZGV2LmMKKysrIGIvZHJpdmVycy9ydGMvcnRjLWRldi5jCkBAIC0xMyw2ICsxMyw3IEBACiAKICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KICNpbmNsdWRlIDxsaW51eC9ydGMuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgInJ0Yy1jb3JlLmgiCiAKIHN0YXRpYyBkZXZfdCBydGNfZGV2dDsKQEAgLTI2LDggKzI3LDExIEBACiAJCQkJCXN0cnVjdCBydGNfZGV2aWNlLCBjaGFyX2Rldik7CiAJY29uc3Qgc3RydWN0IHJ0Y19jbGFzc19vcHMgKm9wcyA9IHJ0Yy0+b3BzOwogCi0JaWYgKHRlc3RfYW5kX3NldF9iaXRfbG9jayhSVENfREVWX0JVU1ksICZydGMtPmZsYWdzKSkKLQkJcmV0dXJuIC1FQlVTWTsKKwlsb2NrX2tlcm5lbCgpOworCWlmICh0ZXN0X2FuZF9zZXRfYml0X2xvY2soUlRDX0RFVl9CVVNZLCAmcnRjLT5mbGFncykpIHsKKwkJZXJyID0gLUVCVVNZOworCQlnb3RvIG91dDsKKwl9CiAKIAlmaWxlLT5wcml2YXRlX2RhdGEgPSBydGM7CiAKQEAgLTM3LDExICs0MSwxMyBAQAogCQlydGMtPmlycV9kYXRhID0gMDsKIAkJc3Bpbl91bmxvY2tfaXJxKCZydGMtPmlycV9sb2NrKTsKIAotCQlyZXR1cm4gMDsKKwkJZ290byBvdXQ7CiAJfQogCiAJLyogc29tZXRoaW5nIGhhcyBnb25lIHdyb25nICovCiAJY2xlYXJfYml0X3VubG9jayhSVENfREVWX0JVU1ksICZydGMtPmZsYWdzKTsKK291dDoKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIGVycjsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ydGMvcnRjLW00MXQ4MC5jIGIvZHJpdmVycy9ydGMvcnRjLW00MXQ4MC5jCmluZGV4IGEzZTA4ODAuLjBhMTljMDYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvcnRjL3J0Yy1tNDF0ODAuYworKysgYi9kcml2ZXJzL3J0Yy9ydGMtbTQxdDgwLmMKQEAgLTE3LDYgKzE3LDcgQEAKICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CiAjaW5jbHVkZSA8bGludXgvc2xhYi5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvc3RyaW5nLmg+CiAjaW5jbHVkZSA8bGludXgvaTJjLmg+CiAjaW5jbHVkZSA8bGludXgvcnRjLmg+CkBAIC02NTUsMTIgKzY1NiwxNiBAQAogc3RhdGljIGludCB3ZHRfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKIHsKIAlpZiAoTUlOT1IoaW5vZGUtPmlfcmRldikgPT0gV0FUQ0hET0dfTUlOT1IpIHsKLQkJaWYgKHRlc3RfYW5kX3NldF9iaXQoMCwgJndkdF9pc19vcGVuKSkKKwkJbG9ja19rZXJuZWwoKTsKKwkJaWYgKHRlc3RfYW5kX3NldF9iaXQoMCwgJndkdF9pc19vcGVuKSkgeworCQkJdW5sb2NrX2tlcm5lbCgpOwogCQkJcmV0dXJuIC1FQlVTWTsKKwkJfQogCQkvKgogCQkgKglBY3RpdmF0ZQogCQkgKi8KIAkJd2R0X2lzX29wZW4gPSAxOworCQl1bmxvY2tfa2VybmVsKCk7CiAJCXJldHVybiAwOwogCX0KIAlyZXR1cm4gLUVOT0RFVjsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvcnRjL3J0Yy1vbWFwLmMgYi9kcml2ZXJzL3J0Yy9ydGMtb21hcC5jCmluZGV4IDU4ZjgxYzcuLmViMjNkODQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvcnRjL3J0Yy1vbWFwLmMKKysrIGIvZHJpdmVycy9ydGMvcnRjLW9tYXAuYwpAQCAtMjIsNyArMjIsNiBAQAogI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgogCiAjaW5jbHVkZSA8YXNtL2lvLmg+Ci0jaW5jbHVkZSA8YXNtL21hY2gvdGltZS5oPgogCiAKIC8qIFRoZSBPTUFQMSBSVEMgaXMgYSB5ZWFyL21vbnRoL2RheS9ob3Vycy9taW51dGVzL3NlY29uZHMgQkNEIGNsb2NrCmRpZmYgLS1naXQgYS9kcml2ZXJzL3J0Yy9ydGMtcGwwMzAuYyBiL2RyaXZlcnMvcnRjL3J0Yy1wbDAzMC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg0NDhlZWIKLS0tIC9kZXYvbnVsbAorKysgYi9kcml2ZXJzL3J0Yy9ydGMtcGwwMzAuYwpAQCAtMCwwICsxLDIxNyBAQAorLyoKKyAqICBsaW51eC9kcml2ZXJzL3J0Yy9ydGMtcGwwMzAuYworICoKKyAqICBDb3B5cmlnaHQgKEMpIDIwMDAtMjAwMSBEZWVwIEJsdWUgU29sdXRpb25zIEx0ZC4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMKKyAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorICovCisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvcnRjLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgorI2luY2x1ZGUgPGxpbnV4L2FtYmEvYnVzLmg+CisjaW5jbHVkZSA8bGludXgvaW8uaD4KKworI2RlZmluZSBSVENfRFIJCSgwKQorI2RlZmluZSBSVENfTVIJCSg0KQorI2RlZmluZSBSVENfU1RBVAkoOCkKKyNkZWZpbmUgUlRDX0VPSQkJKDgpCisjZGVmaW5lIFJUQ19MUgkJKDEyKQorI2RlZmluZSBSVENfQ1IJCSgxNikKKyNkZWZpbmUgUlRDX0NSX01JRQkoMSA8PCAwKQorCitzdHJ1Y3QgcGwwMzBfcnRjIHsKKwlzdHJ1Y3QgcnRjX2RldmljZQkqcnRjOworCXZvaWQgX19pb21lbQkJKmJhc2U7Cit9OworCitzdGF0aWMgaXJxcmV0dXJuX3QgcGwwMzBfaW50ZXJydXB0KGludCBpcnEsIHZvaWQgKmRldl9pZCkKK3sKKwlzdHJ1Y3QgcGwwMzBfcnRjICpydGMgPSBkZXZfaWQ7CisJd3JpdGVsKDAsIHJ0Yy0+YmFzZSArIFJUQ19FT0kpOworCXJldHVybiBJUlFfSEFORExFRDsKK30KKworc3RhdGljIGludCBwbDAzMF9vcGVuKHN0cnVjdCBkZXZpY2UgKmRldikKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgcGwwMzBfcmVsZWFzZShzdHJ1Y3QgZGV2aWNlICpkZXYpCit7Cit9CisKK3N0YXRpYyBpbnQgcGwwMzBfaW9jdGwoc3RydWN0IGRldmljZSAqZGV2LCB1bnNpZ25lZCBpbnQgY21kLCB1bnNpZ25lZCBsb25nIGFyZykKK3sKKwlyZXR1cm4gLUVOT0lPQ1RMQ01EOworfQorCitzdGF0aWMgaW50IHBsMDMwX3JlYWRfYWxhcm0oc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgcnRjX3drYWxybSAqYWxybSkKK3sKKwlzdHJ1Y3QgcGwwMzBfcnRjICpydGMgPSBkZXZfZ2V0X2RydmRhdGEoZGV2KTsKKworCXJ0Y190aW1lX3RvX3RtKHJlYWRsKHJ0Yy0+YmFzZSArIFJUQ19NUiksICZhbHJtLT50aW1lKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBwbDAzMF9zZXRfYWxhcm0oc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgcnRjX3drYWxybSAqYWxybSkKK3sKKwlzdHJ1Y3QgcGwwMzBfcnRjICpydGMgPSBkZXZfZ2V0X2RydmRhdGEoZGV2KTsKKwl1bnNpZ25lZCBsb25nIHRpbWU7CisJaW50IHJldDsKKworCS8qCisJICogQXQgdGhlIG1vbWVudCwgd2UgY2FuIG9ubHkgZGVhbCB3aXRoIG5vbi13aWxkY2FyZGVkIGFsYXJtIHRpbWVzLgorCSAqLworCXJldCA9IHJ0Y192YWxpZF90bSgmYWxybS0+dGltZSk7CisJaWYgKHJldCA9PSAwKQorCQlyZXQgPSBydGNfdG1fdG9fdGltZSgmYWxybS0+dGltZSwgJnRpbWUpOworCWlmIChyZXQgPT0gMCkKKwkJd3JpdGVsKHRpbWUsIHJ0Yy0+YmFzZSArIFJUQ19NUik7CisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIGludCBwbDAzMF9yZWFkX3RpbWUoc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgcnRjX3RpbWUgKnRtKQoreworCXN0cnVjdCBwbDAzMF9ydGMgKnJ0YyA9IGRldl9nZXRfZHJ2ZGF0YShkZXYpOworCisJcnRjX3RpbWVfdG9fdG0ocmVhZGwocnRjLT5iYXNlICsgUlRDX0RSKSwgdG0pOworCisJcmV0dXJuIDA7Cit9CisKKy8qCisgKiBTZXQgdGhlIFJUQyB0aW1lLiAgVW5mb3J0dW5hdGVseSwgd2UgY2FuJ3QgYWNjdXJhdGVseSBzZXQKKyAqIHRoZSBwb2ludCBhdCB3aGljaCB0aGUgY291bnRlciB1cGRhdGVzLgorICoKKyAqIEFsc28sIHNpbmNlIFJUQ19MUiBpcyB0cmFuc2ZlcnJlZCB0byBSVENfQ1Igb24gbmV4dCByaXNpbmcKKyAqIGVkZ2Ugb2YgdGhlIDFIeiBjbG9jaywgd2UgbXVzdCB3cml0ZSB0aGUgdGltZSBvbmUgc2Vjb25kCisgKiBpbiBhZHZhbmNlLgorICovCitzdGF0aWMgaW50IHBsMDMwX3NldF90aW1lKHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IHJ0Y190aW1lICp0bSkKK3sKKwlzdHJ1Y3QgcGwwMzBfcnRjICpydGMgPSBkZXZfZ2V0X2RydmRhdGEoZGV2KTsKKwl1bnNpZ25lZCBsb25nIHRpbWU7CisJaW50IHJldDsKKworCXJldCA9IHJ0Y190bV90b190aW1lKHRtLCAmdGltZSk7CisJaWYgKHJldCA9PSAwKQorCQl3cml0ZWwodGltZSArIDEsIHJ0Yy0+YmFzZSArIFJUQ19MUik7CisKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgY29uc3Qgc3RydWN0IHJ0Y19jbGFzc19vcHMgcGwwMzBfb3BzID0geworCS5vcGVuCQk9IHBsMDMwX29wZW4sCisJLnJlbGVhc2UJPSBwbDAzMF9yZWxlYXNlLAorCS5pb2N0bAkJPSBwbDAzMF9pb2N0bCwKKwkucmVhZF90aW1lCT0gcGwwMzBfcmVhZF90aW1lLAorCS5zZXRfdGltZQk9IHBsMDMwX3NldF90aW1lLAorCS5yZWFkX2FsYXJtCT0gcGwwMzBfcmVhZF9hbGFybSwKKwkuc2V0X2FsYXJtCT0gcGwwMzBfc2V0X2FsYXJtLAorfTsKKworc3RhdGljIGludCBwbDAzMF9wcm9iZShzdHJ1Y3QgYW1iYV9kZXZpY2UgKmRldiwgdm9pZCAqaWQpCit7CisJc3RydWN0IHBsMDMwX3J0YyAqcnRjOworCWludCByZXQ7CisKKwlyZXQgPSBhbWJhX3JlcXVlc3RfcmVnaW9ucyhkZXYsIE5VTEwpOworCWlmIChyZXQpCisJCWdvdG8gZXJyX3JlcTsKKworCXJ0YyA9IGttYWxsb2Moc2l6ZW9mKCpydGMpLCBHRlBfS0VSTkVMKTsKKwlpZiAoIXJ0YykgeworCQlyZXQgPSAtRU5PTUVNOworCQlnb3RvIGVycl9ydGM7CisJfQorCisJcnRjLT5iYXNlID0gaW9yZW1hcChkZXYtPnJlcy5zdGFydCwgU1pfNEspOworCWlmICghcnRjLT5iYXNlKSB7CisJCXJldCA9IC1FTk9NRU07CisJCWdvdG8gZXJyX21hcDsKKwl9CisKKwlfX3Jhd193cml0ZWwoMCwgcnRjLT5iYXNlICsgUlRDX0NSKTsKKwlfX3Jhd193cml0ZWwoMCwgcnRjLT5iYXNlICsgUlRDX0VPSSk7CisKKwlhbWJhX3NldF9kcnZkYXRhKGRldiwgcnRjKTsKKworCXJldCA9IHJlcXVlc3RfaXJxKGRldi0+aXJxWzBdLCBwbDAzMF9pbnRlcnJ1cHQsIElSUUZfRElTQUJMRUQsCisJCQkgICJydGMtcGwwMzAiLCBydGMpOworCWlmIChyZXQpCisJCWdvdG8gZXJyX2lycTsKKworCXJ0Yy0+cnRjID0gcnRjX2RldmljZV9yZWdpc3RlcigicGwwMzAiLCAmZGV2LT5kZXYsICZwbDAzMF9vcHMsCisJCQkJICAgICAgIFRISVNfTU9EVUxFKTsKKwlpZiAoSVNfRVJSKHJ0Yy0+cnRjKSkgeworCQlyZXQgPSBQVFJfRVJSKHJ0Yy0+cnRjKTsKKwkJZ290byBlcnJfcmVnOworCX0KKworCXJldHVybiAwOworCisgZXJyX3JlZzoKKwlmcmVlX2lycShkZXYtPmlycVswXSwgcnRjKTsKKyBlcnJfaXJxOgorCWlvdW5tYXAocnRjLT5iYXNlKTsKKyBlcnJfbWFwOgorCWtmcmVlKHJ0Yyk7CisgZXJyX3J0YzoKKwlhbWJhX3JlbGVhc2VfcmVnaW9ucyhkZXYpOworIGVycl9yZXE6CisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIGludCBwbDAzMF9yZW1vdmUoc3RydWN0IGFtYmFfZGV2aWNlICpkZXYpCit7CisJc3RydWN0IHBsMDMwX3J0YyAqcnRjID0gYW1iYV9nZXRfZHJ2ZGF0YShkZXYpOworCisJYW1iYV9zZXRfZHJ2ZGF0YShkZXYsIE5VTEwpOworCisJd3JpdGVsKDAsIHJ0Yy0+YmFzZSArIFJUQ19DUik7CisKKwlmcmVlX2lycShkZXYtPmlycVswXSwgcnRjKTsKKwlydGNfZGV2aWNlX3VucmVnaXN0ZXIocnRjLT5ydGMpOworCWlvdW5tYXAocnRjLT5iYXNlKTsKKwlrZnJlZShydGMpOworCWFtYmFfcmVsZWFzZV9yZWdpb25zKGRldik7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHN0cnVjdCBhbWJhX2lkIHBsMDMwX2lkc1tdID0geworCXsKKwkJLmlkCT0gMHgwMDA0MTAzMCwKKwkJLm1hc2sJPSAweDAwMGZmZmZmLAorCX0sCisJeyAwLCAwIH0sCit9OworCitzdGF0aWMgc3RydWN0IGFtYmFfZHJpdmVyIHBsMDMwX2RyaXZlciA9IHsKKwkuZHJ2CQk9IHsKKwkJLm5hbWUJPSAicnRjLXBsMDMwIiwKKwl9LAorCS5wcm9iZQkJPSBwbDAzMF9wcm9iZSwKKwkucmVtb3ZlCQk9IHBsMDMwX3JlbW92ZSwKKwkuaWRfdGFibGUJPSBwbDAzMF9pZHMsCit9OworCitzdGF0aWMgaW50IF9faW5pdCBwbDAzMF9pbml0KHZvaWQpCit7CisJcmV0dXJuIGFtYmFfZHJpdmVyX3JlZ2lzdGVyKCZwbDAzMF9kcml2ZXIpOworfQorCitzdGF0aWMgdm9pZCBfX2V4aXQgcGwwMzBfZXhpdCh2b2lkKQoreworCWFtYmFfZHJpdmVyX3VucmVnaXN0ZXIoJnBsMDMwX2RyaXZlcik7Cit9CisKK21vZHVsZV9pbml0KHBsMDMwX2luaXQpOworbW9kdWxlX2V4aXQocGwwMzBfZXhpdCk7CisKK01PRFVMRV9BVVRIT1IoIlJ1c3NlbGwgS2luZyA8cm1rQGFybS5saW51eC5vcmcudWs+Iik7CitNT0RVTEVfREVTQ1JJUFRJT04oIkFSTSBBTUJBIFBMMDMwIFJUQyBEcml2ZXIiKTsKK01PRFVMRV9MSUNFTlNFKCJHUEwiKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvcnRjL3J0Yy1wbDAzMS5jIGIvZHJpdmVycy9ydGMvcnRjLXBsMDMxLmMKaW5kZXggMmZkNDllZC4uMDhiNDYxMCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ydGMvcnRjLXBsMDMxLmMKKysrIGIvZHJpdmVycy9ydGMvcnRjLXBsMDMxLmMKQEAgLTEyLDIzICsxMiwxMiBAQAogICogYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uCiAgKiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogICovCi0KLSNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KICNpbmNsdWRlIDxsaW51eC9ydGMuaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+Ci0jaW5jbHVkZSA8bGludXgvZnMuaD4KICNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KLSNpbmNsdWRlIDxsaW51eC9zdHJpbmcuaD4KLSNpbmNsdWRlIDxsaW51eC9wbS5oPgotI2luY2x1ZGUgPGxpbnV4L2JpdG9wcy5oPgotCiAjaW5jbHVkZSA8bGludXgvYW1iYS9idXMuaD4KLQotI2luY2x1ZGUgPGFzbS9pby5oPgotI2luY2x1ZGUgPGFzbS9oYXJkd2FyZS5oPgotI2luY2x1ZGUgPGFzbS9pcnEuaD4KLSNpbmNsdWRlIDxhc20vcnRjLmg+CisjaW5jbHVkZSA8bGludXgvaW8uaD4KIAogLyoKICAqIFJlZ2lzdGVyIGRlZmluaXRpb25zCkBAIC0xNDIsMTMgKzEzMSwxMiBAQAogewogCXN0cnVjdCBwbDAzMV9sb2NhbCAqbGRhdGEgPSBkZXZfZ2V0X2RydmRhdGEoJmFkZXYtPmRldik7CiAKLQlpZiAobGRhdGEpIHsKLQkJZGV2X3NldF9kcnZkYXRhKCZhZGV2LT5kZXYsIE5VTEwpOwotCQlmcmVlX2lycShhZGV2LT5pcnFbMF0sIGxkYXRhLT5ydGMpOwotCQlydGNfZGV2aWNlX3VucmVnaXN0ZXIobGRhdGEtPnJ0Yyk7Ci0JCWlvdW5tYXAobGRhdGEtPmJhc2UpOwotCQlrZnJlZShsZGF0YSk7Ci0JfQorCWFtYmFfc2V0X2RydmRhdGEoYWRldiwgTlVMTCk7CisJZnJlZV9pcnEoYWRldi0+aXJxWzBdLCBsZGF0YS0+cnRjKTsKKwlydGNfZGV2aWNlX3VucmVnaXN0ZXIobGRhdGEtPnJ0Yyk7CisJaW91bm1hcChsZGF0YS0+YmFzZSk7CisJa2ZyZWUobGRhdGEpOworCWFtYmFfcmVsZWFzZV9yZWdpb25zKGFkZXYpOwogCiAJcmV0dXJuIDA7CiB9CkBAIC0xNTgsMTMgKzE0NiwxNSBAQAogCWludCByZXQ7CiAJc3RydWN0IHBsMDMxX2xvY2FsICpsZGF0YTsKIAorCXJldCA9IGFtYmFfcmVxdWVzdF9yZWdpb25zKGFkZXYsIE5VTEwpOworCWlmIChyZXQpCisJCWdvdG8gZXJyX3JlcTsKIAogCWxkYXRhID0ga21hbGxvYyhzaXplb2Yoc3RydWN0IHBsMDMxX2xvY2FsKSwgR0ZQX0tFUk5FTCk7CiAJaWYgKCFsZGF0YSkgewogCQlyZXQgPSAtRU5PTUVNOwogCQlnb3RvIG91dDsKIAl9Ci0JZGV2X3NldF9kcnZkYXRhKCZhZGV2LT5kZXYsIGxkYXRhKTsKIAogCWxkYXRhLT5iYXNlID0gaW9yZW1hcChhZGV2LT5yZXMuc3RhcnQsCiAJCQkgICAgICBhZGV2LT5yZXMuZW5kIC0gYWRldi0+cmVzLnN0YXJ0ICsgMSk7CkBAIC0xNzMsNiArMTYzLDggQEAKIAkJZ290byBvdXRfbm9fcmVtYXA7CiAJfQogCisJYW1iYV9zZXRfZHJ2ZGF0YShhZGV2LCBsZGF0YSk7CisKIAlpZiAocmVxdWVzdF9pcnEoYWRldi0+aXJxWzBdLCBwbDAzMV9pbnRlcnJ1cHQsIElSUUZfRElTQUJMRUQsCiAJCQkicnRjLXBsMDMxIiwgbGRhdGEtPnJ0YykpIHsKIAkJcmV0ID0gLUVJTzsKQEAgLTE5MiwxMCArMTg0LDEyIEBACiAJZnJlZV9pcnEoYWRldi0+aXJxWzBdLCBsZGF0YS0+cnRjKTsKIG91dF9ub19pcnE6CiAJaW91bm1hcChsZGF0YS0+YmFzZSk7CisJYW1iYV9zZXRfZHJ2ZGF0YShhZGV2LCBOVUxMKTsKIG91dF9ub19yZW1hcDoKLQlkZXZfc2V0X2RydmRhdGEoJmFkZXYtPmRldiwgTlVMTCk7CiAJa2ZyZWUobGRhdGEpOwogb3V0OgorCWFtYmFfcmVsZWFzZV9yZWdpb25zKGFkZXYpOworZXJyX3JlcToKIAlyZXR1cm4gcmV0OwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL3J0Yy9ydGMtczNjLmMgYi9kcml2ZXJzL3J0Yy9ydGMtczNjLmMKaW5kZXggZjI2ZTBjYS4uZmVkODZlNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ydGMvcnRjLXMzYy5jCisrKyBiL2RyaXZlcnMvcnRjL3J0Yy1zM2MuYwpAQCAtMjYsMTAgKzI2LDYgQEAKICNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgogI2luY2x1ZGUgPGFzbS9pby5oPgogI2luY2x1ZGUgPGFzbS9pcnEuaD4KLSNpbmNsdWRlIDxhc20vcnRjLmg+Ci0KLSNpbmNsdWRlIDxhc20vbWFjaC90aW1lLmg+Ci0KICNpbmNsdWRlIDxhc20vcGxhdC1zM2MvcmVncy1ydGMuaD4KIAogLyogSSBoYXZlIHlldCB0byBmaW5kIGFuIFMzQyBpbXBsZW1lbnRhdGlvbiB3aXRoIG1vcmUgdGhhbiBvbmUKZGlmZiAtLWdpdCBhL2RyaXZlcnMvcnRjL3J0Yy1zYTExMDAuYyBiL2RyaXZlcnMvcnRjL3J0Yy1zYTExMDAuYwppbmRleCA2NzQyMWIwZC4uZjQ3Mjk0YyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ydGMvcnRjLXNhMTEwMC5jCisrKyBiL2RyaXZlcnMvcnRjL3J0Yy1zYTExMDAuYwpAQCAtMzMsNyArMzMsNiBAQAogCiAjaW5jbHVkZSA8YXNtL2hhcmR3YXJlLmg+CiAjaW5jbHVkZSA8YXNtL2lycS5oPgotI2luY2x1ZGUgPGFzbS9ydGMuaD4KIAogI2lmZGVmIENPTkZJR19BUkNIX1BYQQogI2luY2x1ZGUgPGFzbS9hcmNoL3B4YS1yZWdzLmg+CkBAIC00Nyw2ICs0Niw0MiBAQAogc3RhdGljIHN0cnVjdCBydGNfdGltZSBydGNfYWxhcm07CiBzdGF0aWMgREVGSU5FX1NQSU5MT0NLKHNhMTEwMF9ydGNfbG9jayk7CiAKK3N0YXRpYyBpbmxpbmUgaW50IHJ0Y19wZXJpb2RpY19hbGFybShzdHJ1Y3QgcnRjX3RpbWUgKnRtKQoreworCXJldHVybiAgKHRtLT50bV95ZWFyID09IC0xKSB8fAorCQkoKHVuc2lnbmVkKXRtLT50bV9tb24gPj0gMTIpIHx8CisJCSgodW5zaWduZWQpKHRtLT50bV9tZGF5IC0gMSkgPj0gMzEpIHx8CisJCSgodW5zaWduZWQpdG0tPnRtX2hvdXIgPiAyMykgfHwKKwkJKCh1bnNpZ25lZCl0bS0+dG1fbWluID4gNTkpIHx8CisJCSgodW5zaWduZWQpdG0tPnRtX3NlYyA+IDU5KTsKK30KKworLyoKKyAqIENhbGN1bGF0ZSB0aGUgbmV4dCBhbGFybSB0aW1lIGdpdmVuIHRoZSByZXF1ZXN0ZWQgYWxhcm0gdGltZSBtYXNrCisgKiBhbmQgdGhlIGN1cnJlbnQgdGltZS4KKyAqLworc3RhdGljIHZvaWQgcnRjX25leHRfYWxhcm1fdGltZShzdHJ1Y3QgcnRjX3RpbWUgKm5leHQsIHN0cnVjdCBydGNfdGltZSAqbm93LCBzdHJ1Y3QgcnRjX3RpbWUgKmFscm0pCit7CisJdW5zaWduZWQgbG9uZyBuZXh0X3RpbWU7CisJdW5zaWduZWQgbG9uZyBub3dfdGltZTsKKworCW5leHQtPnRtX3llYXIgPSBub3ctPnRtX3llYXI7CisJbmV4dC0+dG1fbW9uID0gbm93LT50bV9tb247CisJbmV4dC0+dG1fbWRheSA9IG5vdy0+dG1fbWRheTsKKwluZXh0LT50bV9ob3VyID0gYWxybS0+dG1faG91cjsKKwluZXh0LT50bV9taW4gPSBhbHJtLT50bV9taW47CisJbmV4dC0+dG1fc2VjID0gYWxybS0+dG1fc2VjOworCisJcnRjX3RtX3RvX3RpbWUobm93LCAmbm93X3RpbWUpOworCXJ0Y190bV90b190aW1lKG5leHQsICZuZXh0X3RpbWUpOworCisJaWYgKG5leHRfdGltZSA8IG5vd190aW1lKSB7CisJCS8qIEFkdmFuY2Ugb25lIGRheSAqLworCQluZXh0X3RpbWUgKz0gNjAgKiA2MCAqIDI0OworCQlydGNfdGltZV90b190bShuZXh0X3RpbWUsIG5leHQpOworCX0KK30KKwogc3RhdGljIGludCBydGNfdXBkYXRlX2FsYXJtKHN0cnVjdCBydGNfdGltZSAqYWxybSkKIHsKIAlzdHJ1Y3QgcnRjX3RpbWUgYWxhcm1fdG0sIG5vd190bTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9ibG9jay9kYXNkLmMgYi9kcml2ZXJzL3MzOTAvYmxvY2svZGFzZC5jCmluZGV4IDFhNDAyNTYuLjFiNmM1MmUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvczM5MC9ibG9jay9kYXNkLmMKKysrIGIvZHJpdmVycy9zMzkwL2Jsb2NrL2Rhc2QuYwpAQCAtOTk1LDE0ICs5OTUsMTQgQEAKIAlub3cgPSBnZXRfY2xvY2soKTsKIAogCURCRl9FVkVOVChEQkZfRVJSLCAiSW50ZXJydXB0OiBidXNfaWQgJXMgQ1MvRFMgJTA0eCBpcCAlMDh4IiwKLQkJICBjZGV2LT5kZXYuYnVzX2lkLCAoKGlyYi0+c2Nzdy5jc3RhdDw8OCl8aXJiLT5zY3N3LmRzdGF0KSwKLQkJICAodW5zaWduZWQgaW50KSBpbnRwYXJtKTsKKwkJICBjZGV2LT5kZXYuYnVzX2lkLCAoKGlyYi0+c2Nzdy5jbWQuY3N0YXQgPDwgOCkgfAorCQkgIGlyYi0+c2Nzdy5jbWQuZHN0YXQpLCAodW5zaWduZWQgaW50KSBpbnRwYXJtKTsKIAogCS8qIGNoZWNrIGZvciB1bnNvbGljaXRlZCBpbnRlcnJ1cHRzICovCiAJY3FyID0gKHN0cnVjdCBkYXNkX2Njd19yZXEgKikgaW50cGFybTsKLQlpZiAoIWNxciB8fCAoKGlyYi0+c2Nzdy5jYyA9PSAxKSAmJgotCQkgICAgIChpcmItPnNjc3cuZmN0bCAmIFNDU1dfRkNUTF9TVEFSVF9GVU5DKSAmJgotCQkgICAgIChpcmItPnNjc3cuc3RjdGwgJiBTQ1NXX1NUQ1RMX1NUQVRVU19QRU5EKSkgKSB7CisJaWYgKCFjcXIgfHwgKChpcmItPnNjc3cuY21kLmNjID09IDEpICYmCisJCSAgICAgKGlyYi0+c2Nzdy5jbWQuZmN0bCAmIFNDU1dfRkNUTF9TVEFSVF9GVU5DKSAmJgorCQkgICAgIChpcmItPnNjc3cuY21kLnN0Y3RsICYgU0NTV19TVENUTF9TVEFUVVNfUEVORCkpKSB7CiAJCWlmIChjcXIgJiYgY3FyLT5zdGF0dXMgPT0gREFTRF9DUVJfSU5fSU8pCiAJCQljcXItPnN0YXR1cyA9IERBU0RfQ1FSX1FVRVVFRDsKIAkJZGV2aWNlID0gZGFzZF9kZXZpY2VfZnJvbV9jZGV2X2xvY2tlZChjZGV2KTsKQEAgLTEwMjUsNyArMTAyNSw3IEBACiAKIAkvKiBDaGVjayBmb3IgY2xlYXIgcGVuZGluZyAqLwogCWlmIChjcXItPnN0YXR1cyA9PSBEQVNEX0NRUl9DTEVBUl9QRU5ESU5HICYmCi0JICAgIGlyYi0+c2Nzdy5mY3RsICYgU0NTV19GQ1RMX0NMRUFSX0ZVTkMpIHsKKwkgICAgaXJiLT5zY3N3LmNtZC5mY3RsICYgU0NTV19GQ1RMX0NMRUFSX0ZVTkMpIHsKIAkJY3FyLT5zdGF0dXMgPSBEQVNEX0NRUl9DTEVBUkVEOwogCQlkYXNkX2RldmljZV9jbGVhcl90aW1lcihkZXZpY2UpOwogCQl3YWtlX3VwKCZkYXNkX2ZsdXNoX3dxKTsKQEAgLTEwNDEsMTEgKzEwNDEsMTEgQEAKIAkJcmV0dXJuOwogCX0KIAlEQkZfREVWX0VWRU5UKERCRl9ERUJVRywgZGV2aWNlLCAiSW50OiBDUy9EUyAweCUwNHggZm9yIGNxciAlcCIsCi0JCSAgICAgICgoaXJiLT5zY3N3LmNzdGF0IDw8IDgpIHwgaXJiLT5zY3N3LmRzdGF0KSwgY3FyKTsKKwkJICAgICAgKChpcmItPnNjc3cuY21kLmNzdGF0IDw8IDgpIHwgaXJiLT5zY3N3LmNtZC5kc3RhdCksIGNxcik7CiAJbmV4dCA9IE5VTEw7CiAJZXhwaXJlcyA9IDA7Ci0JaWYgKGlyYi0+c2Nzdy5kc3RhdCA9PSAoREVWX1NUQVRfQ0hOX0VORCB8IERFVl9TVEFUX0RFVl9FTkQpICYmCi0JICAgIGlyYi0+c2Nzdy5jc3RhdCA9PSAwICYmICFpcmItPmVzdy5lc3cwLmVydy5jb25zKSB7CisJaWYgKGlyYi0+c2Nzdy5jbWQuZHN0YXQgPT0gKERFVl9TVEFUX0NITl9FTkQgfCBERVZfU1RBVF9ERVZfRU5EKSAmJgorCSAgICBpcmItPnNjc3cuY21kLmNzdGF0ID09IDAgJiYgIWlyYi0+ZXN3LmVzdzAuZXJ3LmNvbnMpIHsKIAkJLyogcmVxdWVzdCB3YXMgY29tcGxldGVkIHN1Y2Nlc3NmdWxseSAqLwogCQljcXItPnN0YXR1cyA9IERBU0RfQ1FSX1NVQ0NFU1M7CiAJCWNxci0+c3RvcGNsayA9IG5vdzsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9ibG9jay9kYXNkXzM5OTBfZXJwLmMgYi9kcml2ZXJzL3MzOTAvYmxvY2svZGFzZF8zOTkwX2VycC5jCmluZGV4IGU2NzAwZGYuLjVjNmU2ZjMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvczM5MC9ibG9jay9kYXNkXzM5OTBfZXJwLmMKKysrIGIvZHJpdmVycy9zMzkwL2Jsb2NrL2Rhc2RfMzk5MF9lcnAuYwpAQCAtMTU3Miw3ICsxNTcyLDcgQEAKIAogCS8qIGRldGVybWluZSB0aGUgYWRkcmVzcyBvZiB0aGUgQ0NXIHRvIGJlIHJlc3RhcnRlZCAqLwogCS8qIEltcHJlY2lzZSBlbmRpbmcgaXMgbm90IHNldCAtPiBhZGRyIGZyb20gSVJCLVNDU1cgKi8KLQljcGEgPSBkZWZhdWx0X2VycC0+cmVmZXJzLT5pcmIuc2Nzdy5jcGE7CisJY3BhID0gZGVmYXVsdF9lcnAtPnJlZmVycy0+aXJiLnNjc3cuY21kLmNwYTsKIAogCWlmIChjcGEgPT0gMCkgewogCkBAIC0xNzI1LDcgKzE3MjUsNyBAQAogCiAJLyogZGV0ZXJtaW5lIHRoZSBhZGRyZXNzIG9mIHRoZSBDQ1cgdG8gYmUgcmVzdGFydGVkICovCiAJLyogSW1wcmVjaXNlIGVuZGluZyBpcyBub3Qgc2V0IC0+IGFkZHIgZnJvbSBJUkItU0NTVyAqLwotCWNwYSA9IHByZXZpb3VzX2VycC0+aXJiLnNjc3cuY3BhOworCWNwYSA9IHByZXZpb3VzX2VycC0+aXJiLnNjc3cuY21kLmNwYTsKIAogCWlmIChjcGEgPT0gMCkgewogCkBAIC0yMTcxLDcgKzIxNzEsNyBAQAogewogCXN0cnVjdCBkYXNkX2RldmljZSAqZGV2aWNlID0gZXJwLT5zdGFydGRldjsKIAotCWlmIChlcnAtPnJlZmVycy0+aXJiLnNjc3cuY3N0YXQgJiAoU0NITl9TVEFUX0lOVEZfQ1RSTF9DSEsKKwlpZiAoZXJwLT5yZWZlcnMtPmlyYi5zY3N3LmNtZC5jc3RhdCAmIChTQ0hOX1NUQVRfSU5URl9DVFJMX0NISwogCQkJCQkgICB8IFNDSE5fU1RBVF9DSE5fQ1RSTF9DSEspKSB7CiAJCURFVl9NRVNTQUdFKEtFUk5fREVCVUcsIGRldmljZSwgIiVzIiwKIAkJCSAgICAiY2hhbm5lbCBvciBpbnRlcmZhY2UgY29udHJvbCBjaGVjayIpOwpAQCAtMjM1Miw5ICsyMzUyLDkgQEAKIAogCWlmICgoY3FyMS0+aXJiLmVzdy5lc3cwLmVydy5jb25zID09IDApICYmCiAJICAgIChjcXIyLT5pcmIuZXN3LmVzdzAuZXJ3LmNvbnMgPT0gMCkpCXsKLQkJaWYgKChjcXIxLT5pcmIuc2Nzdy5jc3RhdCAmIChTQ0hOX1NUQVRfSU5URl9DVFJMX0NISyB8CisJCWlmICgoY3FyMS0+aXJiLnNjc3cuY21kLmNzdGF0ICYgKFNDSE5fU1RBVF9JTlRGX0NUUkxfQ0hLIHwKIAkJCQkJICAgICBTQ0hOX1NUQVRfQ0hOX0NUUkxfQ0hLKSkgPT0KLQkJICAgIChjcXIyLT5pcmIuc2Nzdy5jc3RhdCAmIChTQ0hOX1NUQVRfSU5URl9DVFJMX0NISyB8CisJCSAgICAoY3FyMi0+aXJiLnNjc3cuY21kLmNzdGF0ICYgKFNDSE5fU1RBVF9JTlRGX0NUUkxfQ0hLIHwKIAkJCQkJICAgICBTQ0hOX1NUQVRfQ0hOX0NUUkxfQ0hLKSkpCiAJCQlyZXR1cm4gMTsgLyogbWF0Y2ggd2l0aCBpZmNjKi8KIAl9CkBAIC0yNjIyLDggKzI2MjIsOSBAQAogCX0KIAogCS8qIGRvdWJsZS1jaGVjayBpZiBjdXJyZW50IGVycC9jcXIgd2FzIHN1Y2Nlc3NmdWxsICovCi0JaWYgKChjcXItPmlyYi5zY3N3LmNzdGF0ID09IDB4MDApICYmCi0JICAgIChjcXItPmlyYi5zY3N3LmRzdGF0ID09IChERVZfU1RBVF9DSE5fRU5EfERFVl9TVEFUX0RFVl9FTkQpKSkgeworCWlmICgoY3FyLT5pcmIuc2Nzdy5jbWQuY3N0YXQgPT0gMHgwMCkgJiYKKwkgICAgKGNxci0+aXJiLnNjc3cuY21kLmRzdGF0ID09CisJICAgICAoREVWX1NUQVRfQ0hOX0VORCB8IERFVl9TVEFUX0RFVl9FTkQpKSkgewogCiAJCURFVl9NRVNTQUdFKEtFUk5fREVCVUcsIGRldmljZSwKIAkJCSAgICAiRVJQIGNhbGxlZCBmb3Igc3VjY2Vzc2Z1bCByZXF1ZXN0ICVwIgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zMzkwL2Jsb2NrL2Rhc2RfZWNrZC5jIGIvZHJpdmVycy9zMzkwL2Jsb2NrL2Rhc2RfZWNrZC5jCmluZGV4IGEwZWRhZTAuLmUwYjc3MjEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvczM5MC9ibG9jay9kYXNkX2Vja2QuYworKysgYi9kcml2ZXJzL3MzOTAvYmxvY2svZGFzZF9lY2tkLmMKQEAgLTE0MDQsMTMgKzE0MDQsMTQgQEAKIAogCS8qIGZpcnN0IG9mIGFsbCBjaGVjayBmb3Igc3RhdGUgY2hhbmdlIHBlbmRpbmcgaW50ZXJydXB0ICovCiAJbWFzayA9IERFVl9TVEFUX0FUVEVOVElPTiB8IERFVl9TVEFUX0RFVl9FTkQgfCBERVZfU1RBVF9VTklUX0VYQ0VQOwotCWlmICgoaXJiLT5zY3N3LmRzdGF0ICYgbWFzaykgPT0gbWFzaykgeworCWlmICgoaXJiLT5zY3N3LmNtZC5kc3RhdCAmIG1hc2spID09IG1hc2spIHsKIAkJZGFzZF9nZW5lcmljX2hhbmRsZV9zdGF0ZV9jaGFuZ2UoZGV2aWNlKTsKIAkJcmV0dXJuOwogCX0KIAogCS8qIHN1bW1hcnkgdW5pdCBjaGVjayAqLwotCWlmICgoaXJiLT5zY3N3LmRzdGF0ICYgREVWX1NUQVRfVU5JVF9DSEVDSykgJiYgaXJiLT5lY3dbN10gPT0gMHgwRCkgeworCWlmICgoaXJiLT5zY3N3LmNtZC5kc3RhdCAmIERFVl9TVEFUX1VOSVRfQ0hFQ0spICYmCisJICAgIChpcmItPmVjd1s3XSA9PSAweDBEKSkgewogCQlkYXNkX2FsaWFzX2hhbmRsZV9zdW1tYXJ5X3VuaXRfY2hlY2soZGV2aWNlLCBpcmIpOwogCQlyZXR1cm47CiAJfQpAQCAtMjA2OCwxMSArMjA2OSwxMSBAQAogCQkgICAgICBkZXZpY2UtPmNkZXYtPmRldi5idXNfaWQpOwogCWxlbiArPSBzcHJpbnRmKHBhZ2UgKyBsZW4sIEtFUk5fRVJSIFBSSU5US19IRUFERVIKIAkJICAgICAgICIgaW4gcmVxOiAlcCBDUzogMHglMDJYIERTOiAweCUwMlhcbiIsIHJlcSwKLQkJICAgICAgIGlyYi0+c2Nzdy5jc3RhdCwgaXJiLT5zY3N3LmRzdGF0KTsKKwkJICAgICAgIGlyYi0+c2Nzdy5jbWQuY3N0YXQsIGlyYi0+c2Nzdy5jbWQuZHN0YXQpOwogCWxlbiArPSBzcHJpbnRmKHBhZ2UgKyBsZW4sIEtFUk5fRVJSIFBSSU5US19IRUFERVIKIAkJICAgICAgICIgZGV2aWNlICVzOiBGYWlsaW5nIENDVzogJXBcbiIsCiAJCSAgICAgICBkZXZpY2UtPmNkZXYtPmRldi5idXNfaWQsCi0JCSAgICAgICAodm9pZCAqKSAoYWRkcl90KSBpcmItPnNjc3cuY3BhKTsKKwkJICAgICAgICh2b2lkICopIChhZGRyX3QpIGlyYi0+c2Nzdy5jbWQuY3BhKTsKIAlpZiAoaXJiLT5lc3cuZXN3MC5lcncuY29ucykgewogCQlmb3IgKHNsID0gMDsgc2wgPCA0OyBzbCsrKSB7CiAJCQlsZW4gKz0gc3ByaW50ZihwYWdlICsgbGVuLCBLRVJOX0VSUiBQUklOVEtfSEVBREVSCkBAIC0yMTIyLDcgKzIxMjMsOCBAQAogCQkvKiBzY3N3LT5jZGEgaXMgZWl0aGVyIHZhbGlkIG9yIHplcm8gICovCiAJCWxlbiA9IDA7CiAJCWZyb20gPSArK3RvOwotCQlmYWlsID0gKHN0cnVjdCBjY3cxICopKGFkZHJfdCkgaXJiLT5zY3N3LmNwYTsgLyogZmFpbGluZyBDQ1cgKi8KKwkJZmFpbCA9IChzdHJ1Y3QgY2N3MSAqKShhZGRyX3QpCisJCQkJaXJiLT5zY3N3LmNtZC5jcGE7IC8qIGZhaWxpbmcgQ0NXICovCiAJCWlmIChmcm9tIDwgIGZhaWwgLSAyKSB7CiAJCQlmcm9tID0gZmFpbCAtIDI7ICAgICAvKiB0aGVyZSBpcyBhIGdhcCAtIHByaW50IGhlYWRlciAqLwogCQkJbGVuICs9IHNwcmludGYocGFnZSwgS0VSTl9FUlIgUFJJTlRLX0hFQURFUiAiLi4uLi4uXG4iKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9ibG9jay9kYXNkX2Vlci5jIGIvZHJpdmVycy9zMzkwL2Jsb2NrL2Rhc2RfZWVyLmMKaW5kZXggNmU1M2FiNi4uMjlkYTQ0MSAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL2Jsb2NrL2Rhc2RfZWVyLmMKKysrIGIvZHJpdmVycy9zMzkwL2Jsb2NrL2Rhc2RfZWVyLmMKQEAgLTE1LDYgKzE1LDcgQEAKICNpbmNsdWRlIDxsaW51eC9kZXZpY2UuaD4KICNpbmNsdWRlIDxsaW51eC9wb2xsLmg+CiAjaW5jbHVkZSA8bGludXgvbXV0ZXguaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogCiAjaW5jbHVkZSA8YXNtL3VhY2Nlc3MuaD4KICNpbmNsdWRlIDxhc20vYXRvbWljLmg+CkBAIC01MjUsNiArNTI2LDcgQEAKIAllZXJiID0ga3phbGxvYyhzaXplb2Yoc3RydWN0IGVlcmJ1ZmZlciksIEdGUF9LRVJORUwpOwogCWlmICghZWVyYikKIAkJcmV0dXJuIC1FTk9NRU07CisJbG9ja19rZXJuZWwoKTsKIAllZXJiLT5idWZmZXJfcGFnZV9jb3VudCA9IGVlcl9wYWdlczsKIAlpZiAoZWVyYi0+YnVmZmVyX3BhZ2VfY291bnQgPCAxIHx8CiAJICAgIGVlcmItPmJ1ZmZlcl9wYWdlX2NvdW50ID4gSU5UX01BWCAvIFBBR0VfU0laRSkgewpAQCAtNTMyLDYgKzUzNCw3IEBACiAJCU1FU1NBR0UoS0VSTl9XQVJOSU5HLCAiY2FuJ3Qgb3BlbiBkZXZpY2Ugc2luY2UgbW9kdWxlICIKIAkJCSJwYXJhbWV0ZXIgZWVyX3BhZ2VzIGlzIHNtYWxsZXIgdGhlbiAxIG9yIgogCQkJIiBiaWdnZXIgdGhlbiAlZCIsIChpbnQpKElOVF9NQVggLyBQQUdFX1NJWkUpKTsKKwkJdW5sb2NrX2tlcm5lbCgpOwogCQlyZXR1cm4gLUVJTlZBTDsKIAl9CiAJZWVyYi0+YnVmZmVyc2l6ZSA9IGVlcmItPmJ1ZmZlcl9wYWdlX2NvdW50ICogUEFHRV9TSVpFOwpAQCAtNTM5LDEyICs1NDIsMTQgQEAKIAkJCSAgICAgICBHRlBfS0VSTkVMKTsKICAgICAgICAgaWYgKCFlZXJiLT5idWZmZXIpIHsKIAkJa2ZyZWUoZWVyYik7CisJCXVubG9ja19rZXJuZWwoKTsKICAgICAgICAgICAgICAgICByZXR1cm4gLUVOT01FTTsKIAl9CiAJaWYgKGRhc2RfZWVyX2FsbG9jYXRlX2J1ZmZlcl9wYWdlcyhlZXJiLT5idWZmZXIsCiAJCQkJCSAgIGVlcmItPmJ1ZmZlcl9wYWdlX2NvdW50KSkgewogCQlrZnJlZShlZXJiLT5idWZmZXIpOwogCQlrZnJlZShlZXJiKTsKKwkJdW5sb2NrX2tlcm5lbCgpOwogCQlyZXR1cm4gLUVOT01FTTsKIAl9CiAJZmlscC0+cHJpdmF0ZV9kYXRhID0gZWVyYjsKQEAgLTU1Miw2ICs1NTcsNyBAQAogCWxpc3RfYWRkKCZlZXJiLT5saXN0LCAmYnVmZmVybGlzdCk7CiAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmYnVmZmVybG9jaywgZmxhZ3MpOwogCisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiBub25zZWVrYWJsZV9vcGVuKGlucCxmaWxwKTsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9zMzkwL2Jsb2NrL2Rhc2RfZmJhLmMgYi9kcml2ZXJzL3MzOTAvYmxvY2svZGFzZF9mYmEuYwppbmRleCAxMTY2MTE1Li5hZWU0NjU2IDEwMDY0NAotLS0gYS9kcml2ZXJzL3MzOTAvYmxvY2svZGFzZF9mYmEuYworKysgYi9kcml2ZXJzL3MzOTAvYmxvY2svZGFzZF9mYmEuYwpAQCAtMjIyLDcgKzIyMiw3IEBACiAKIAkvKiBmaXJzdCBvZiBhbGwgY2hlY2sgZm9yIHN0YXRlIGNoYW5nZSBwZW5kaW5nIGludGVycnVwdCAqLwogCW1hc2sgPSBERVZfU1RBVF9BVFRFTlRJT04gfCBERVZfU1RBVF9ERVZfRU5EIHwgREVWX1NUQVRfVU5JVF9FWENFUDsKLQlpZiAoKGlyYi0+c2Nzdy5kc3RhdCAmIG1hc2spID09IG1hc2spIHsKKwlpZiAoKGlyYi0+c2Nzdy5jbWQuZHN0YXQgJiBtYXNrKSA9PSBtYXNrKSB7CiAJCWRhc2RfZ2VuZXJpY19oYW5kbGVfc3RhdGVfY2hhbmdlKGRldmljZSk7CiAJCXJldHVybjsKIAl9CkBAIC00NDksMTEgKzQ0OSwxMSBAQAogCQkgICAgICBkZXZpY2UtPmNkZXYtPmRldi5idXNfaWQpOwogCWxlbiArPSBzcHJpbnRmKHBhZ2UgKyBsZW4sIEtFUk5fRVJSIFBSSU5US19IRUFERVIKIAkJICAgICAgICIgaW4gcmVxOiAlcCBDUzogMHglMDJYIERTOiAweCUwMlhcbiIsIHJlcSwKLQkJICAgICAgIGlyYi0+c2Nzdy5jc3RhdCwgaXJiLT5zY3N3LmRzdGF0KTsKKwkJICAgICAgIGlyYi0+c2Nzdy5jbWQuY3N0YXQsIGlyYi0+c2Nzdy5jbWQuZHN0YXQpOwogCWxlbiArPSBzcHJpbnRmKHBhZ2UgKyBsZW4sIEtFUk5fRVJSIFBSSU5US19IRUFERVIKIAkJICAgICAgICIgZGV2aWNlICVzOiBGYWlsaW5nIENDVzogJXBcbiIsCiAJCSAgICAgICBkZXZpY2UtPmNkZXYtPmRldi5idXNfaWQsCi0JCSAgICAgICAodm9pZCAqKSAoYWRkcl90KSBpcmItPnNjc3cuY3BhKTsKKwkJICAgICAgICh2b2lkICopIChhZGRyX3QpIGlyYi0+c2Nzdy5jbWQuY3BhKTsKIAlpZiAoaXJiLT5lc3cuZXN3MC5lcncuY29ucykgewogCQlmb3IgKHNsID0gMDsgc2wgPCA0OyBzbCsrKSB7CiAJCQlsZW4gKz0gc3ByaW50ZihwYWdlICsgbGVuLCBLRVJOX0VSUiBQUklOVEtfSEVBREVSCkBAIC00OTgsMTEgKzQ5OCwxMSBAQAogCiAJLyogcHJpbnQgZmFpbGluZyBDQ1cgYXJlYSAqLwogCWxlbiA9IDA7Ci0JaWYgKGFjdCA8ICAoKHN0cnVjdCBjY3cxICopKGFkZHJfdCkgaXJiLT5zY3N3LmNwYSkgLSAyKSB7Ci0JCWFjdCA9ICgoc3RydWN0IGNjdzEgKikoYWRkcl90KSBpcmItPnNjc3cuY3BhKSAtIDI7CisJaWYgKGFjdCA8ICAoKHN0cnVjdCBjY3cxICopKGFkZHJfdCkgaXJiLT5zY3N3LmNtZC5jcGEpIC0gMikgeworCQlhY3QgPSAoKHN0cnVjdCBjY3cxICopKGFkZHJfdCkgaXJiLT5zY3N3LmNtZC5jcGEpIC0gMjsKIAkJbGVuICs9IHNwcmludGYocGFnZSArIGxlbiwgS0VSTl9FUlIgUFJJTlRLX0hFQURFUiAiLi4uLi4uXG4iKTsKIAl9Ci0JZW5kID0gbWluKChzdHJ1Y3QgY2N3MSAqKShhZGRyX3QpIGlyYi0+c2Nzdy5jcGEgKyAyLCBsYXN0KTsKKwllbmQgPSBtaW4oKHN0cnVjdCBjY3cxICopKGFkZHJfdCkgaXJiLT5zY3N3LmNtZC5jcGEgKyAyLCBsYXN0KTsKIAl3aGlsZSAoYWN0IDw9IGVuZCkgewogCQlsZW4gKz0gc3ByaW50ZihwYWdlICsgbGVuLCBLRVJOX0VSUiBQUklOVEtfSEVBREVSCiAJCQkgICAgICAgIiBDQ1cgJXA6ICUwOFggJTA4WCBEQVQ6IiwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9ibG9jay9kY3NzYmxrLmMgYi9kcml2ZXJzL3MzOTAvYmxvY2svZGNzc2Jsay5jCmluZGV4IGJiNTJkMmYuLjAxZmNkZDkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvczM5MC9ibG9jay9kY3NzYmxrLmMKKysrIGIvZHJpdmVycy9zMzkwL2Jsb2NrL2Rjc3NibGsuYwpAQCAtMTY3LDEwICsxNjcsOCBAQAogCXN0cnVjdCBkY3NzYmxrX2Rldl9pbmZvICpkZXZfaW5mbzsKIAlpbnQgcmM7CiAKLQlpZiAoKGNvdW50ID4gMSkgJiYgKGluYnVmWzFdICE9ICdcbicpICYmIChpbmJ1ZlsxXSAhPSAnXDAnKSkgewotCQlQUklOVF9XQVJOKCJJbnZhbGlkIHZhbHVlLCBtdXN0IGJlIDAgb3IgMVxuIik7CisJaWYgKChjb3VudCA+IDEpICYmIChpbmJ1ZlsxXSAhPSAnXG4nKSAmJiAoaW5idWZbMV0gIT0gJ1wwJykpCiAJCXJldHVybiAtRUlOVkFMOwotCX0KIAlkb3duX3dyaXRlKCZkY3NzYmxrX2RldmljZXNfc2VtKTsKIAlkZXZfaW5mbyA9IGNvbnRhaW5lcl9vZihkZXYsIHN0cnVjdCBkY3NzYmxrX2Rldl9pbmZvLCBkZXYpOwogCWlmIChhdG9taWNfcmVhZCgmZGV2X2luZm8tPnVzZV9jb3VudCkpIHsKQEAgLTIxNSw3ICsyMTMsNiBAQAogCQkJc2V0X2Rpc2tfcm8oZGV2X2luZm8tPmdkLCAwKTsKIAkJfQogCX0gZWxzZSB7Ci0JCVBSSU5UX1dBUk4oIkludmFsaWQgdmFsdWUsIG11c3QgYmUgMCBvciAxXG4iKTsKIAkJcmMgPSAtRUlOVkFMOwogCQlnb3RvIG91dDsKIAl9CkBAIC0yNTgsMTAgKzI1NSw4IEBACiB7CiAJc3RydWN0IGRjc3NibGtfZGV2X2luZm8gKmRldl9pbmZvOwogCi0JaWYgKChjb3VudCA+IDEpICYmIChpbmJ1ZlsxXSAhPSAnXG4nKSAmJiAoaW5idWZbMV0gIT0gJ1wwJykpIHsKLQkJUFJJTlRfV0FSTigiSW52YWxpZCB2YWx1ZSwgbXVzdCBiZSAwIG9yIDFcbiIpOworCWlmICgoY291bnQgPiAxKSAmJiAoaW5idWZbMV0gIT0gJ1xuJykgJiYgKGluYnVmWzFdICE9ICdcMCcpKQogCQlyZXR1cm4gLUVJTlZBTDsKLQl9CiAJZGV2X2luZm8gPSBjb250YWluZXJfb2YoZGV2LCBzdHJ1Y3QgZGNzc2Jsa19kZXZfaW5mbywgZGV2KTsKIAogCWRvd25fd3JpdGUoJmRjc3NibGtfZGV2aWNlc19zZW0pOwpAQCAtMjg5LDcgKzI4NCw2IEBACiAJCX0KIAl9IGVsc2UgewogCQl1cF93cml0ZSgmZGNzc2Jsa19kZXZpY2VzX3NlbSk7Ci0JCVBSSU5UX1dBUk4oIkludmFsaWQgdmFsdWUsIG11c3QgYmUgMCBvciAxXG4iKTsKIAkJcmV0dXJuIC1FSU5WQUw7CiAJfQogCXVwX3dyaXRlKCZkY3NzYmxrX2RldmljZXNfc2VtKTsKQEAgLTQ0MSw3ICs0MzUsNiBAQAogCWdvdG8gb3V0OwogCiB1bnJlZ2lzdGVyX2RldjoKLQlQUklOVF9FUlIoImRldmljZV9jcmVhdGVfZmlsZSgpIGZhaWxlZCFcbiIpOwogCWxpc3RfZGVsKCZkZXZfaW5mby0+bGgpOwogCWJsa19jbGVhbnVwX3F1ZXVlKGRldl9pbmZvLT5kY3NzYmxrX3F1ZXVlKTsKIAlkZXZfaW5mby0+Z2QtPnF1ZXVlID0gTlVMTDsKQEAgLTcwMiwxMCArNjk1LDggQEAKIHN0YXRpYyB2b2lkIF9fZXhpdAogZGNzc2Jsa19leGl0KHZvaWQpCiB7Ci0JUFJJTlRfREVCVUcoIkRDU1NCTE9DSyBFWElULi4uXG4iKTsKIAlzMzkwX3Jvb3RfZGV2X3VucmVnaXN0ZXIoZGNzc2Jsa19yb290X2Rldik7CiAJdW5yZWdpc3Rlcl9ibGtkZXYoZGNzc2Jsa19tYWpvciwgRENTU0JMS19OQU1FKTsKLQlQUklOVF9ERUJVRygiLi4uZmluaXNoZWQhXG4iKTsKIH0KIAogc3RhdGljIGludCBfX2luaXQKQEAgLTcxMywyNyArNzA0LDIxIEBACiB7CiAJaW50IHJjOwogCi0JUFJJTlRfREVCVUcoIkRDU1NCTE9DSyBJTklULi4uXG4iKTsKIAlkY3NzYmxrX3Jvb3RfZGV2ID0gczM5MF9yb290X2Rldl9yZWdpc3RlcigiZGNzc2JsayIpOwotCWlmIChJU19FUlIoZGNzc2Jsa19yb290X2RldikpIHsKLQkJUFJJTlRfRVJSKCJkZXZpY2VfcmVnaXN0ZXIoKSBmYWlsZWQhXG4iKTsKKwlpZiAoSVNfRVJSKGRjc3NibGtfcm9vdF9kZXYpKQogCQlyZXR1cm4gUFRSX0VSUihkY3NzYmxrX3Jvb3RfZGV2KTsKLQl9CiAJcmMgPSBkZXZpY2VfY3JlYXRlX2ZpbGUoZGNzc2Jsa19yb290X2RldiwgJmRldl9hdHRyX2FkZCk7CiAJaWYgKHJjKSB7Ci0JCVBSSU5UX0VSUigiZGV2aWNlX2NyZWF0ZV9maWxlKGFkZCkgZmFpbGVkIVxuIik7CiAJCXMzOTBfcm9vdF9kZXZfdW5yZWdpc3RlcihkY3NzYmxrX3Jvb3RfZGV2KTsKIAkJcmV0dXJuIHJjOwogCX0KIAlyYyA9IGRldmljZV9jcmVhdGVfZmlsZShkY3NzYmxrX3Jvb3RfZGV2LCAmZGV2X2F0dHJfcmVtb3ZlKTsKIAlpZiAocmMpIHsKLQkJUFJJTlRfRVJSKCJkZXZpY2VfY3JlYXRlX2ZpbGUocmVtb3ZlKSBmYWlsZWQhXG4iKTsKIAkJczM5MF9yb290X2Rldl91bnJlZ2lzdGVyKGRjc3NibGtfcm9vdF9kZXYpOwogCQlyZXR1cm4gcmM7CiAJfQogCXJjID0gcmVnaXN0ZXJfYmxrZGV2KDAsIERDU1NCTEtfTkFNRSk7CiAJaWYgKHJjIDwgMCkgewotCQlQUklOVF9FUlIoIkNhbid0IGdldCBkeW5hbWljIG1ham9yIVxuIik7CiAJCXMzOTBfcm9vdF9kZXZfdW5yZWdpc3RlcihkY3NzYmxrX3Jvb3RfZGV2KTsKIAkJcmV0dXJuIHJjOwogCX0KQEAgLTc0Miw3ICs3MjcsNiBAQAogCiAJZGNzc2Jsa19jaGVja19wYXJhbXMoKTsKIAotCVBSSU5UX0RFQlVHKCIuLi5maW5pc2hlZCFcbiIpOwogCXJldHVybiAwOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvYmxvY2sveHByYW0uYyBiL2RyaXZlcnMvczM5MC9ibG9jay94cHJhbS5jCmluZGV4IGYyMzFiYzIuLmRkOWI5ODYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvczM5MC9ibG9jay94cHJhbS5jCisrKyBiL2RyaXZlcnMvczM5MC9ibG9jay94cHJhbS5jCkBAIC0xMDAsMTUgKzEwMCwxMCBAQAogCQk6ICIrZCIgKGNjKSA6ICJhIiAoX19wYShwYWdlX2FkZHIpKSwgImQiICh4cGFnZV9pbmRleCkgOiAiY2MiKTsKIAlpZiAoY2MgPT0gMykKIAkJcmV0dXJuIC1FTlhJTzsKLQlpZiAoY2MgPT0gMikgewotCQlQUklOVF9FUlIoImV4cGFuZGVkIHN0b3JhZ2UgbG9zdCFcbiIpOworCWlmIChjYyA9PSAyKQogCQlyZXR1cm4gLUVOWElPOwotCX0KLQlpZiAoY2MgPT0gMSkgewotCQlQUklOVF9FUlIoInBhZ2UgaW4gZmFpbGVkIGZvciBwYWdlIGluZGV4ICV1LlxuIiwKLQkJCSAgeHBhZ2VfaW5kZXgpOworCWlmIChjYyA9PSAxKQogCQlyZXR1cm4gLUVJTzsKLQl9CiAJcmV0dXJuIDA7CiB9CiAKQEAgLTEzNSwxNSArMTMwLDEwIEBACiAJCTogIitkIiAoY2MpIDogImEiIChfX3BhKHBhZ2VfYWRkcikpLCAiZCIgKHhwYWdlX2luZGV4KSA6ICJjYyIpOwogCWlmIChjYyA9PSAzKQogCQlyZXR1cm4gLUVOWElPOwotCWlmIChjYyA9PSAyKSB7Ci0JCVBSSU5UX0VSUigiZXhwYW5kZWQgc3RvcmFnZSBsb3N0IVxuIik7CisJaWYgKGNjID09IDIpCiAJCXJldHVybiAtRU5YSU87Ci0JfQotCWlmIChjYyA9PSAxKSB7Ci0JCVBSSU5UX0VSUigicGFnZSBvdXQgZmFpbGVkIGZvciBwYWdlIGluZGV4ICV1LlxuIiwKLQkJCSAgeHBhZ2VfaW5kZXgpOworCWlmIChjYyA9PSAxKQogCQlyZXR1cm4gLUVJTzsKLQl9CiAJcmV0dXJuIDA7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9jaGFyL2NvbjMyMTUuYyBiL2RyaXZlcnMvczM5MC9jaGFyL2NvbjMyMTUuYwppbmRleCAzZTU2NTNjLi5kM2VjOWI1IDEwMDY0NAotLS0gYS9kcml2ZXJzL3MzOTAvY2hhci9jb24zMjE1LmMKKysrIGIvZHJpdmVycy9zMzkwL2NoYXIvY29uMzIxNS5jCkBAIC05Myw5ICs5Myw2IEBACiAJc3RydWN0IHJhdzMyMTVfcmVxICpxdWV1ZWRfd3JpdGU7LyogcG9pbnRlciB0byBxdWV1ZWQgd3JpdGUgcmVxdWVzdHMgKi8KIAl3YWl0X3F1ZXVlX2hlYWRfdCBlbXB0eV93YWl0OyAvKiB3YWl0IHF1ZXVlIGZvciBmbHVzaGluZyAqLwogCXN0cnVjdCB0aW1lcl9saXN0IHRpbWVyOyAgICAgIC8qIHRpbWVyIGZvciBkZWxheWVkIG91dHB1dCAqLwotCWNoYXIgKm1lc3NhZ2U7CQkgICAgICAvKiBwZW5kaW5nIG1lc3NhZ2UgZnJvbSByYXczMjE1X2lycSAqLwotCWludCBtc2dfZHN0YXQ7CQkgICAgICAvKiBkc3RhdCBmb3IgcGVuZGluZyBtZXNzYWdlICovCi0JaW50IG1zZ19jc3RhdDsJCSAgICAgIC8qIGNzdGF0IGZvciBwZW5kaW5nIG1lc3NhZ2UgKi8KIAlpbnQgbGluZV9wb3M7CQkgICAgICAvKiBwb3NpdGlvbiBvbiB0aGUgbGluZSAoZm9yIHRhYnMpICovCiAJY2hhciB1YnVmZmVyWzgwXTsJICAgICAgLyogY29weV9mcm9tX3VzZXIgYnVmZmVyICovCiB9OwpAQCAtMzU5LDExICszNTYsNiBAQAogCXJhdzMyMTVfbWtfd3JpdGVfcmVxKHJhdyk7CiAJcmF3MzIxNV90cnlfaW8ocmF3KTsKIAlzcGluX3VubG9ja19pcnFyZXN0b3JlKGdldF9jY3dkZXZfbG9jayhyYXctPmNkZXYpLCBmbGFncyk7Ci0JLyogQ2hlY2sgZm9yIHBlbmRpbmcgbWVzc2FnZSBmcm9tIHJhdzMyMTVfaXJxICovCi0JaWYgKHJhdy0+bWVzc2FnZSAhPSBOVUxMKSB7Ci0JCXByaW50ayhyYXctPm1lc3NhZ2UsIHJhdy0+bXNnX2RzdGF0LCByYXctPm1zZ19jc3RhdCk7Ci0JCXJhdy0+bWVzc2FnZSA9IE5VTEw7Ci0JfQogCXR0eSA9IHJhdy0+dHR5OwogCWlmICh0dHkgIT0gTlVMTCAmJgogCSAgICBSQVczMjE1X0JVRkZFUl9TSVpFIC0gcmF3LT5jb3VudCA+PSBSQVczMjE1X01JTl9TUEFDRSkgewpAQCAtMzgxLDIwICszNzMsMTQgQEAKIAlzdHJ1Y3QgcmF3MzIxNV9yZXEgKnJlcTsKIAlzdHJ1Y3QgdHR5X3N0cnVjdCAqdHR5OwogCWludCBjc3RhdCwgZHN0YXQ7Ci0JaW50IGNvdW50LCBzbGVuOworCWludCBjb3VudDsKIAogCXJhdyA9IGNkZXYtPmRldi5kcml2ZXJfZGF0YTsKIAlyZXEgPSAoc3RydWN0IHJhdzMyMTVfcmVxICopIGludHBhcm07Ci0JY3N0YXQgPSBpcmItPnNjc3cuY3N0YXQ7Ci0JZHN0YXQgPSBpcmItPnNjc3cuZHN0YXQ7Ci0JaWYgKGNzdGF0ICE9IDApIHsKLQkJcmF3LT5tZXNzYWdlID0gS0VSTl9XQVJOSU5HCi0JCQkiR290IG5vbnplcm8gY2hhbm5lbCBzdGF0dXMgaW4gcmF3MzIxNV9pcnEgIgotCQkJIihkZXYgc3RzIDB4JTJ4LCBzY2ggc3RzIDB4JTJ4KSI7Ci0JCXJhdy0+bXNnX2RzdGF0ID0gZHN0YXQ7Ci0JCXJhdy0+bXNnX2NzdGF0ID0gY3N0YXQ7CisJY3N0YXQgPSBpcmItPnNjc3cuY21kLmNzdGF0OworCWRzdGF0ID0gaXJiLT5zY3N3LmNtZC5kc3RhdDsKKwlpZiAoY3N0YXQgIT0gMCkKIAkJdGFza2xldF9zY2hlZHVsZSgmcmF3LT50YXNrbGV0KTsKLQl9CiAJaWYgKGRzdGF0ICYgMHgwMSkgeyAvKiB3ZSBnb3QgYSB1bml0IGV4Y2VwdGlvbiAqLwogCQlkc3RhdCAmPSB+MHgwMTsJIC8qIHdlIGNhbiBpZ25vcmUgaXQgKi8KIAl9CkBAIC00MDQsOCArMzkwLDYgQEAKIAkJCWJyZWFrOwogCQkvKiBBdHRlbnRpb24gaW50ZXJydXB0LCBzb21lb25lIGhpdCB0aGUgZW50ZXIga2V5ICovCiAJCXJhdzMyMTVfbWtfcmVhZF9yZXEocmF3KTsKLQkJaWYgKE1BQ0hJTkVfSVNfUDM5MCkKLQkJCW1lbXNldChyYXctPmluYnVmLCAwLCBSQVczMjE1X0lOQlVGX1NJWkUpOwogCQl0YXNrbGV0X3NjaGVkdWxlKCZyYXctPnRhc2tsZXQpOwogCQlicmVhazsKIAljYXNlIDB4MDg6CkBAIC00MTUsNyArMzk5LDcgQEAKIAkJCXJldHVybjsJCSAgICAgLyogVGhhdCBzaG91bGRuJ3QgaGFwcGVuIC4uLiAqLwogCQlpZiAocmVxLT50eXBlID09IFJBVzMyMTVfUkVBRCkgewogCQkJLyogc3RvcmUgcmVzaWR1YWwgY291bnQsIHRoZW4gd2FpdCBmb3IgZGV2aWNlIGVuZCAqLwotCQkJcmVxLT5yZXNpZHVhbCA9IGlyYi0+c2Nzdy5jb3VudDsKKwkJCXJlcS0+cmVzaWR1YWwgPSBpcmItPnNjc3cuY21kLmNvdW50OwogCQl9CiAJCWlmIChkc3RhdCA9PSAweDA4KQogCQkJYnJlYWs7CkBAIC00MjgsMTEgKzQxMiw2IEBACiAKIAkJCXR0eSA9IHJhdy0+dHR5OwogCQkJY291bnQgPSAxNjAgLSByZXEtPnJlc2lkdWFsOwotCQkJaWYgKE1BQ0hJTkVfSVNfUDM5MCkgewotCQkJCXNsZW4gPSBzdHJubGVuKHJhdy0+aW5idWYsIFJBVzMyMTVfSU5CVUZfU0laRSk7Ci0JCQkJaWYgKGNvdW50ID4gc2xlbikKLQkJCQkJY291bnQgPSBzbGVuOwotCQkJfSBlbHNlCiAJCQlFQkNBU0MocmF3LT5pbmJ1ZiwgY291bnQpOwogCQkJY2NoYXIgPSBjdHJsY2hhcl9oYW5kbGUocmF3LT5pbmJ1ZiwgY291bnQsIHR0eSk7CiAJCQlzd2l0Y2ggKGNjaGFyICYgQ1RSTENIQVJfTUFTSykgewpAQCAtNDgxLDExICs0NjAsNiBAQAogCQkJcmF3LT5mbGFncyAmPSB+UkFXMzIxNV9XT1JLSU5HOwogCQkJcmF3MzIxNV9mcmVlX3JlcShyZXEpOwogCQl9Ci0JCXJhdy0+bWVzc2FnZSA9IEtFUk5fV0FSTklORwotCQkJIlNwdXJpb3VzIGludGVycnVwdCBpbiBpbiByYXczMjE1X2lycSAiCi0JCQkiKGRldiBzdHMgMHglMngsIHNjaCBzdHMgMHglMngpIjsKLQkJcmF3LT5tc2dfZHN0YXQgPSBkc3RhdDsKLQkJcmF3LT5tc2dfY3N0YXQgPSBjc3RhdDsKIAkJdGFza2xldF9zY2hlZHVsZSgmcmF3LT50YXNrbGV0KTsKIAl9CiAJcmV0dXJuOwpAQCAtODgzLDcgKzg1Nyw2IEBACiAJCWZyZWVfYm9vdG1lbSgodW5zaWduZWQgbG9uZykgcmF3LT5idWZmZXIsIFJBVzMyMTVfQlVGRkVSX1NJWkUpOwogCQlmcmVlX2Jvb3RtZW0oKHVuc2lnbmVkIGxvbmcpIHJhdywgc2l6ZW9mKHN0cnVjdCByYXczMjE1X2luZm8pKTsKIAkJcmF3MzIxNVswXSA9IE5VTEw7Ci0JCXByaW50aygiQ291bGRuJ3QgZmluZCBhIDMyMTUgY29uc29sZSBkZXZpY2VcbiIpOwogCQlyZXR1cm4gLUVOT0RFVjsKIAl9CiAJcmVnaXN0ZXJfY29uc29sZSgmY29uMzIxNSk7CkBAIC0xMTU3LDcgKzExMzAsNiBAQAogCXR0eV9zZXRfb3BlcmF0aW9ucyhkcml2ZXIsICZ0dHkzMjE1X29wcyk7CiAJcmV0ID0gdHR5X3JlZ2lzdGVyX2RyaXZlcihkcml2ZXIpOwogCWlmIChyZXQpIHsKLQkJcHJpbnRrKCJDb3VsZG4ndCByZWdpc3RlciB0dHkzMjE1IGRyaXZlclxuIik7CiAJCXB1dF90dHlfZHJpdmVyKGRyaXZlcik7CiAJCXJldHVybiByZXQ7CiAJfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zMzkwL2NoYXIvY29uMzI3MC5jIGIvZHJpdmVycy9zMzkwL2NoYXIvY29uMzI3MC5jCmluZGV4IDBiMDQwNTUuLjNjMDc5NzQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvczM5MC9jaGFyL2NvbjMyNzAuYworKysgYi9kcml2ZXJzL3MzOTAvY2hhci9jb24zMjcwLmMKQEAgLTQxMSwxNSArNDExLDE1IEBACiBjb24zMjcwX2lycShzdHJ1Y3QgY29uMzI3MCAqY3AsIHN0cnVjdCByYXczMjcwX3JlcXVlc3QgKnJxLCBzdHJ1Y3QgaXJiICppcmIpCiB7CiAJLyogSGFuZGxlIEFUVE4uIFNjaGVkdWxlIHRhc2tsZXQgdG8gcmVhZCBhaWQuICovCi0JaWYgKGlyYi0+c2Nzdy5kc3RhdCAmIERFVl9TVEFUX0FUVEVOVElPTikKKwlpZiAoaXJiLT5zY3N3LmNtZC5kc3RhdCAmIERFVl9TVEFUX0FUVEVOVElPTikKIAkJY29uMzI3MF9pc3N1ZV9yZWFkKGNwKTsKIAogCWlmIChycSkgewotCQlpZiAoaXJiLT5zY3N3LmRzdGF0ICYgREVWX1NUQVRfVU5JVF9DSEVDSykKKwkJaWYgKGlyYi0+c2Nzdy5jbWQuZHN0YXQgJiBERVZfU1RBVF9VTklUX0NIRUNLKQogCQkJcnEtPnJjID0gLUVJTzsKIAkJZWxzZQogCQkJLyogTm9ybWFsIGVuZC4gQ29weSByZXNpZHVhbCBjb3VudC4gKi8KLQkJCXJxLT5yZXNjbnQgPSBpcmItPnNjc3cuY291bnQ7CisJCQlycS0+cmVzY250ID0gaXJiLT5zY3N3LmNtZC5jb3VudDsKIAl9CiAJcmV0dXJuIFJBVzMyNzBfSU9fRE9ORTsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9jaGFyL2ZzMzI3MC5jIGIvZHJpdmVycy9zMzkwL2NoYXIvZnMzMjcwLmMKaW5kZXggZWYzNmYyMTMuLmQxOGU2ZDIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvczM5MC9jaGFyL2ZzMzI3MC5jCisrKyBiL2RyaXZlcnMvczM5MC9jaGFyL2ZzMzI3MC5jCkBAIC0xNCw2ICsxNCw3IEBACiAjaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+CiAjaW5jbHVkZSA8bGludXgvbGlzdC5oPgogI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KIAogI2luY2x1ZGUgPGFzbS9jY3dkZXYuaD4KICNpbmNsdWRlIDxhc20vY2lvLmg+CkBAIC0yMTYsMTcgKzIxNywxNyBAQAogZnMzMjcwX2lycShzdHJ1Y3QgZnMzMjcwICpmcCwgc3RydWN0IHJhdzMyNzBfcmVxdWVzdCAqcnEsIHN0cnVjdCBpcmIgKmlyYikKIHsKIAkvKiBIYW5kbGUgQVRUTi4gU2V0IGluZGljYXRpb24gYW5kIHdha2Ugd2FpdGVycyBmb3IgYXR0ZW50aW9uLiAqLwotCWlmIChpcmItPnNjc3cuZHN0YXQgJiBERVZfU1RBVF9BVFRFTlRJT04pIHsKKwlpZiAoaXJiLT5zY3N3LmNtZC5kc3RhdCAmIERFVl9TVEFUX0FUVEVOVElPTikgewogCQlmcC0+YXR0ZW50aW9uID0gMTsKIAkJd2FrZV91cCgmZnAtPndhaXQpOwogCX0KIAogCWlmIChycSkgewotCQlpZiAoaXJiLT5zY3N3LmRzdGF0ICYgREVWX1NUQVRfVU5JVF9DSEVDSykKKwkJaWYgKGlyYi0+c2Nzdy5jbWQuZHN0YXQgJiBERVZfU1RBVF9VTklUX0NIRUNLKQogCQkJcnEtPnJjID0gLUVJTzsKIAkJZWxzZQogCQkJLyogTm9ybWFsIGVuZC4gQ29weSByZXNpZHVhbCBjb3VudC4gKi8KLQkJCXJxLT5yZXNjbnQgPSBpcmItPnNjc3cuY291bnQ7CisJCQlycS0+cmVzY250ID0gaXJiLT5zY3N3LmNtZC5jb3VudDsKIAl9CiAJcmV0dXJuIFJBVzMyNzBfSU9fRE9ORTsKIH0KQEAgLTQyMSw2ICs0MjIsNyBAQAogCiAJaWYgKGltYWpvcihmaWxwLT5mX3BhdGguZGVudHJ5LT5kX2lub2RlKSAhPSBJQk1fRlMzMjcwX01BSk9SKQogCQlyZXR1cm4gLUVOT0RFVjsKKwlsb2NrX2tlcm5lbCgpOwogCW1pbm9yID0gaW1pbm9yKGZpbHAtPmZfcGF0aC5kZW50cnktPmRfaW5vZGUpOwogCS8qIENoZWNrIGZvciBtaW5vciAwIG11bHRpcGxleGVyLiAqLwogCWlmIChtaW5vciA9PSAwKSB7CkBAIC00MjksNyArNDMxLDggQEAKIAkJdHR5ID0gZ2V0X2N1cnJlbnRfdHR5KCk7CiAJCWlmICghdHR5IHx8IHR0eS0+ZHJpdmVyLT5tYWpvciAhPSBJQk1fVFRZMzI3MF9NQUpPUikgewogCQkJbXV0ZXhfdW5sb2NrKCZ0dHlfbXV0ZXgpOwotCQkJcmV0dXJuIC1FTk9ERVY7CisJCQlyYyA9IC1FTk9ERVY7CisJCQlnb3RvIG91dDsKIAkJfQogCQltaW5vciA9IHR0eS0+aW5kZXggKyBSQVczMjcwX0ZJUlNUTUlOT1I7CiAJCW11dGV4X3VubG9jaygmdHR5X211dGV4KTsKQEAgLTQzOCwxOSArNDQxLDIyIEBACiAJZnAgPSAoc3RydWN0IGZzMzI3MCAqKSByYXczMjcwX2ZpbmRfdmlldygmZnMzMjcwX2ZuLCBtaW5vcik7CiAJaWYgKCFJU19FUlIoZnApKSB7CiAJCXJhdzMyNzBfcHV0X3ZpZXcoJmZwLT52aWV3KTsKLQkJcmV0dXJuIC1FQlVTWTsKKwkJcmMgPSAtRUJVU1k7CisJCWdvdG8gb3V0OwogCX0KIAkvKiBBbGxvY2F0ZSBmdWxsc2NyZWVuIHZpZXcgc3RydWN0dXJlLiAqLwogCWZwID0gZnMzMjcwX2FsbG9jX3ZpZXcoKTsKLQlpZiAoSVNfRVJSKGZwKSkKLQkJcmV0dXJuIFBUUl9FUlIoZnApOworCWlmIChJU19FUlIoZnApKSB7CisJCXJjID0gUFRSX0VSUihmcCk7CisJCWdvdG8gb3V0OworCX0KIAogCWluaXRfd2FpdHF1ZXVlX2hlYWQoJmZwLT53YWl0KTsKIAlmcC0+ZnNfcGlkID0gZ2V0X3BpZCh0YXNrX3BpZChjdXJyZW50KSk7CiAJcmMgPSByYXczMjcwX2FkZF92aWV3KCZmcC0+dmlldywgJmZzMzI3MF9mbiwgbWlub3IpOwogCWlmIChyYykgewogCQlmczMyNzBfZnJlZV92aWV3KCZmcC0+dmlldyk7Ci0JCXJldHVybiByYzsKKwkJZ290byBvdXQ7CiAJfQogCiAJLyogQWxsb2NhdGUgaWRhbC1idWZmZXIuICovCkBAIC00NTgsNyArNDY0LDggQEAKIAlpZiAoSVNfRVJSKGliKSkgewogCQlyYXczMjcwX3B1dF92aWV3KCZmcC0+dmlldyk7CiAJCXJhdzMyNzBfZGVsX3ZpZXcoJmZwLT52aWV3KTsKLQkJcmV0dXJuIFBUUl9FUlIoZnApOworCQlyYyA9IFBUUl9FUlIoZnApOworCQlnb3RvIG91dDsKIAl9CiAJZnAtPnJkYnVmID0gaWI7CiAKQEAgLTQ2Niw5ICs0NzMsMTEgQEAKIAlpZiAocmMpIHsKIAkJcmF3MzI3MF9wdXRfdmlldygmZnAtPnZpZXcpOwogCQlyYXczMjcwX2RlbF92aWV3KCZmcC0+dmlldyk7Ci0JCXJldHVybiByYzsKKwkJZ290byBvdXQ7CiAJfQogCWZpbHAtPnByaXZhdGVfZGF0YSA9IGZwOworb3V0OgorCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gMDsKIH0KIApAQCAtNTEyLDExICs1MjEsOCBAQAogCWludCByYzsKIAogCXJjID0gcmVnaXN0ZXJfY2hyZGV2KElCTV9GUzMyNzBfTUFKT1IsICJmczMyNzAiLCAmZnMzMjcwX2ZvcHMpOwotCWlmIChyYykgewotCQlwcmludGsoS0VSTl9FUlIgImZzMzI3MCBjYW4ndCBnZXQgbWFqb3IgbnVtYmVyICVkOiBlcnJubyAlZFxuIiwKLQkJICAgICAgIElCTV9GUzMyNzBfTUFKT1IsIHJjKTsKKwlpZiAocmMpCiAJCXJldHVybiByYzsKLQl9CiAJcmV0dXJuIDA7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9jaGFyL21vbnJlYWRlci5jIGIvZHJpdmVycy9zMzkwL2NoYXIvbW9ucmVhZGVyLmMKaW5kZXggMWUxZjUwNi4uMzVmZDhkZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL2NoYXIvbW9ucmVhZGVyLmMKKysrIGIvZHJpdmVycy9zMzkwL2NoYXIvbW9ucmVhZGVyLmMKQEAgLTMsMTQgKzMsMTQgQEAKICAqCiAgKiBDaGFyYWN0ZXIgZGV2aWNlIGRyaXZlciBmb3IgcmVhZGluZyB6L1ZNICpNT05JVE9SIHNlcnZpY2UgcmVjb3Jkcy4KICAqCi0gKiBDb3B5cmlnaHQgMjAwNCBJQk0gQ29ycG9yYXRpb24sIElCTSBEZXV0c2NobGFuZCBFbnR3aWNrbHVuZyBHbWJILgotICoKLSAqIEF1dGhvcjogR2VyYWxkIFNjaGFlZmVyIDxnZXJhbGRzY0BkZS5pYm0uY29tPgorICogICBDb3B5cmlnaHQgSUJNIENvcnAuIDIwMDQsIDIwMDgKKyAqICAgQXV0aG9yOiBHZXJhbGQgU2NoYWVmZXIgPGdlcmFsZC5zY2hhZWZlckBkZS5pYm0uY29tPgogICovCiAKICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KICNpbmNsdWRlIDxsaW51eC9tb2R1bGVwYXJhbS5oPgogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KICNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KQEAgLTE4LDEyICsxOCwxMSBAQAogI2luY2x1ZGUgPGxpbnV4L2N0eXBlLmg+CiAjaW5jbHVkZSA8bGludXgvc3BpbmxvY2suaD4KICNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KKyNpbmNsdWRlIDxsaW51eC9wb2xsLmg+CisjaW5jbHVkZSA8bmV0L2l1Y3YvaXVjdi5oPgogI2luY2x1ZGUgPGFzbS91YWNjZXNzLmg+CiAjaW5jbHVkZSA8YXNtL2ViY2RpYy5oPgogI2luY2x1ZGUgPGFzbS9leHRtZW0uaD4KLSNpbmNsdWRlIDxsaW51eC9wb2xsLmg+Ci0jaW5jbHVkZSA8bmV0L2l1Y3YvaXVjdi5oPgotCiAKIC8vI2RlZmluZSBNT05fREVCVUcJCQkvKiBEZWJ1ZyBtZXNzYWdlcyBvbi9vZmYgKi8KIApAQCAtMTUyLDEwICsxNTEsNyBAQAogCSAgICAobW9uX21jYV9lbmQobW9ubXNnKSA+IG1vbl9kY3NzX2VuZCkgfHwKIAkgICAgKG1vbl9tY2Ffc3RhcnQobW9ubXNnKSA8IG1vbl9kY3NzX3N0YXJ0KSB8fAogCSAgICAoKG1vbl9tY2FfdHlwZShtb25tc2csIDEpID09IDApICYmIChtb25fbWNhX3R5cGUobW9ubXNnLCAyKSA9PSAwKSkpCi0JewotCQlQX0RFQlVHKCJSRUFELCBJR05PUkVEIElOVkFMSUQgTUNBXG5cbiIpOwogCQlyZXR1cm4gLUVJTlZBTDsKLQl9CiAJcmV0dXJuIDA7CiB9CiAKQEAgLTE2NCwxMCArMTYwLDYgQEAKIHsKIAlpbnQgcmM7CiAKLQlQX0RFQlVHKCJyZWFkLCBSRVBMWTogcGF0aGlkID0gMHglMDRYLCBtc2dpZCA9IDB4JTA4WCwgdHJnY2xzID0gIgotCQkiMHglMDhYXG5cbiIsCi0JCW1vbnByaXYtPnBhdGgtPnBhdGhpZCwgbW9ubXNnLT5tc2cuaWQsIG1vbm1zZy0+bXNnLmNsYXNzKTsKLQogCXJjID0gaXVjdl9tZXNzYWdlX3JlcGx5KG1vbnByaXYtPnBhdGgsICZtb25tc2ctPm1zZywKIAkJCQlJVUNWX0lQUk1EQVRBLCBOVUxMLCAwKTsKIAlhdG9taWNfZGVjKCZtb25wcml2LT5tc2dsaW1fY291bnQpOwpAQCAtMjAyLDE1ICsxOTQsMTIgQEAKIAlzdHJ1Y3QgbW9uX3ByaXZhdGUgKm1vbnByaXY7CiAKIAltb25wcml2ID0ga3phbGxvYyhzaXplb2Yoc3RydWN0IG1vbl9wcml2YXRlKSwgR0ZQX0tFUk5FTCk7Ci0JaWYgKCFtb25wcml2KSB7Ci0JCVBfRVJST1IoIm5vIG1lbW9yeSBmb3IgbW9ucHJpdlxuIik7CisJaWYgKCFtb25wcml2KQogCQlyZXR1cm4gTlVMTDsKLQl9CiAJZm9yIChpID0gMDsgaSA8IE1PTl9NU0dMSU07IGkrKykgewogCQltb25wcml2LT5tc2dfYXJyYXlbaV0gPSBremFsbG9jKHNpemVvZihzdHJ1Y3QgbW9uX21zZyksCiAJCQkJCQkgICAgR0ZQX0tFUk5FTCk7CiAJCWlmICghbW9ucHJpdi0+bXNnX2FycmF5W2ldKSB7Ci0JCQlQX0VSUk9SKCJvcGVuLCBubyBtZW1vcnkgZm9yIG1zZ19hcnJheVxuIik7CiAJCQltb25fZnJlZV9tZW0obW9ucHJpdik7CiAJCQlyZXR1cm4gTlVMTDsKIAkJfQpAQCAtMjE4LDQxICsyMDcsMTAgQEAKIAlyZXR1cm4gbW9ucHJpdjsKIH0KIAotc3RhdGljIGlubGluZSB2b2lkIG1vbl9yZWFkX2RlYnVnKHN0cnVjdCBtb25fbXNnICptb25tc2csCi0JCQkJICBzdHJ1Y3QgbW9uX3ByaXZhdGUgKm1vbnByaXYpCi17Ci0jaWZkZWYgTU9OX0RFQlVHCi0JdTggbXNnX3R5cGVbMl0sIG1jYV90eXBlOwotCXVuc2lnbmVkIGxvbmcgcmVjb3Jkc19sZW47Ci0KLQlyZWNvcmRzX2xlbiA9IG1vbl9yZWNfZW5kKG1vbm1zZykgLSBtb25fcmVjX3N0YXJ0KG1vbm1zZykgKyAxOwotCi0JbWVtY3B5KG1zZ190eXBlLCAmbW9ubXNnLT5tc2cuY2xhc3MsIDIpOwotCUVCQ0FTQyhtc2dfdHlwZSwgMik7Ci0JbWNhX3R5cGUgPSBtb25fbWNhX3R5cGUobW9ubXNnLCAwKTsKLQlFQkNBU0MoJm1jYV90eXBlLCAxKTsKLQotCVBfREVCVUcoInJlYWQsIG1vbl9yZWFkX2luZGV4ID0gJWksIG1vbl93cml0ZV9pbmRleCA9ICVpXG4iLAotCQltb25wcml2LT5yZWFkX2luZGV4LCBtb25wcml2LT53cml0ZV9pbmRleCk7Ci0JUF9ERUJVRygicmVhZCwgcGF0aGlkID0gMHglMDRYLCBtc2dpZCA9IDB4JTA4WCwgdHJnY2xzID0gMHglMDhYXG4iLAotCQltb25wcml2LT5wYXRoLT5wYXRoaWQsIG1vbm1zZy0+bXNnLmlkLCBtb25tc2ctPm1zZy5jbGFzcyk7Ci0JUF9ERUJVRygicmVhZCwgbXNnX3R5cGUgPSAnJWMlYycsIG1jYV90eXBlID0gJyVjJyAvIDB4JVggLyAweCVYXG4iLAotCQltc2dfdHlwZVswXSwgbXNnX3R5cGVbMV0sIG1jYV90eXBlID8gbWNhX3R5cGUgOiAnWCcsCi0JCW1vbl9tY2FfdHlwZShtb25tc2csIDEpLCBtb25fbWNhX3R5cGUobW9ubXNnLCAyKSk7Ci0JUF9ERUJVRygicmVhZCwgTUNBOiBzdGFydCA9IDB4JWxYLCBlbmQgPSAweCVsWFxuIiwKLQkJbW9uX21jYV9zdGFydChtb25tc2cpLCBtb25fbWNhX2VuZChtb25tc2cpKTsKLQlQX0RFQlVHKCJyZWFkLCBSRUM6IHN0YXJ0ID0gMHglWCwgZW5kID0gMHglWCwgbGVuID0gJWx1XG5cbiIsCi0JCW1vbl9yZWNfc3RhcnQobW9ubXNnKSwgbW9uX3JlY19lbmQobW9ubXNnKSwgcmVjb3Jkc19sZW4pOwotCWlmIChtb25fbWNhX3NpemUobW9ubXNnKSA+IDEyKQotCQlQX0RFQlVHKCJSRUFELCBNT1JFIFRIQU4gT05FIE1DQVxuXG4iKTsKLSNlbmRpZgotfQotCiBzdGF0aWMgaW5saW5lIHZvaWQgbW9uX25leHRfbWNhKHN0cnVjdCBtb25fbXNnICptb25tc2cpCiB7CiAJaWYgKGxpa2VseSgobW9uX21jYV9zaXplKG1vbm1zZykgLSBtb25tc2ctPm1jYV9vZmZzZXQpID09IDEyKSkKIAkJcmV0dXJuOwotCVBfREVCVUcoIlJFQUQsIE5FWFQgTUNBXG5cbiIpOwogCW1vbm1zZy0+bWNhX29mZnNldCArPSAxMjsKIAltb25tc2ctPnBvcyA9IDA7CiB9CkBAIC0yNjksNyArMjI3LDYgQEAKIAkJbW9ubXNnLT5tc2dsaW1fcmVhY2hlZCA9IDA7CiAJCW1vbm1zZy0+cG9zID0gMDsKIAkJbW9ubXNnLT5tY2Ffb2Zmc2V0ID0gMDsKLQkJUF9XQVJOSU5HKCJyZWFkLCBtZXNzYWdlIGxpbWl0IHJlYWNoZWRcbiIpOwogCQltb25wcml2LT5yZWFkX2luZGV4ID0gKG1vbnByaXYtPnJlYWRfaW5kZXggKyAxKSAlCiAJCQkJICAgICAgTU9OX01TR0xJTTsKIAkJYXRvbWljX2RlYygmbW9ucHJpdi0+cmVhZF9yZWFkeSk7CkBAIC0yODYsMTAgKzI0Myw2IEBACiB7CiAJc3RydWN0IG1vbl9wcml2YXRlICptb25wcml2ID0gcGF0aC0+cHJpdmF0ZTsKIAotCVBfREVCVUcoIklVQ1YgY29ubmVjdGlvbiBjb21wbGV0ZWRcbiIpOwotCVBfREVCVUcoIklVQ1YgQUNDRVBUIChmcm9tICpNT05JVE9SKTogVmVyc2lvbiA9IDB4JTAyWCwgRXZlbnQgPSAiCi0JCSIweCUwMlgsIFNhbXBsZSA9IDB4JTAyWFxuIiwKLQkJaXB1c2VyWzBdLCBpcHVzZXJbMV0sIGlwdXNlclsyXSk7CiAJYXRvbWljX3NldCgmbW9ucHJpdi0+aXVjdl9jb25uZWN0ZWQsIDEpOwogCXdha2VfdXAoJm1vbl9jb25uX3dhaXRfcXVldWUpOwogfQpAQCAtMzEwLDcgKzI2Myw2IEBACiB7CiAJc3RydWN0IG1vbl9wcml2YXRlICptb25wcml2ID0gcGF0aC0+cHJpdmF0ZTsKIAotCVBfREVCVUcoIklVQ1YgbWVzc2FnZSBwZW5kaW5nXG4iKTsKIAltZW1jcHkoJm1vbnByaXYtPm1zZ19hcnJheVttb25wcml2LT53cml0ZV9pbmRleF0tPm1zZywKIAkgICAgICAgbXNnLCBzaXplb2YoKm1zZykpOwogCWlmIChhdG9taWNfaW5jX3JldHVybigmbW9ucHJpdi0+bXNnbGltX2NvdW50KSA9PSBNT05fTVNHTElNKSB7CkBAIC0zNDAsNiArMjkyLDcgQEAKIAkvKgogCSAqIG9ubHkgb25lIHVzZXIgYWxsb3dlZAogCSAqLworCWxvY2tfa2VybmVsKCk7CiAJcmMgPSAtRUJVU1k7CiAJaWYgKHRlc3RfYW5kX3NldF9iaXQoTU9OX0lOX1VTRSwgJm1vbl9pbl91c2UpKQogCQlnb3RvIG91dDsKQEAgLTM3NSw4ICszMjgsOCBAQAogCQlyYyA9IC1FSU87CiAJCWdvdG8gb3V0X3BhdGg7CiAJfQotCVBfSU5GTygib3BlbiwgZXN0YWJsaXNoZWQgY29ubmVjdGlvbiB0byAqTU9OSVRPUiBzZXJ2aWNlXG5cbiIpOwogCWZpbHAtPnByaXZhdGVfZGF0YSA9IG1vbnByaXY7CisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiBub25zZWVrYWJsZV9vcGVuKGlub2RlLCBmaWxwKTsKIAogb3V0X3BhdGg6CkBAIC0zODYsNiArMzM5LDcgQEAKIG91dF91c2U6CiAJY2xlYXJfYml0KE1PTl9JTl9VU0UsICZtb25faW5fdXNlKTsKIG91dDoKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIHJjOwogfQogCkBAIC00MDAsOCArMzU0LDYgQEAKIAlyYyA9IGl1Y3ZfcGF0aF9zZXZlcihtb25wcml2LT5wYXRoLCB1c2VyX2RhdGFfc2V2ZXIpOwogCWlmIChyYykKIAkJUF9FUlJPUigiY2xvc2UsIGl1Y3Zfc2V2ZXIgZmFpbGVkIHdpdGggcmMgPSAlaVxuIiwgcmMpOwotCWVsc2UKLQkJUF9JTkZPKCJjbG9zZSwgdGVybWluYXRlZCBjb25uZWN0aW9uIHRvICpNT05JVE9SIHNlcnZpY2VcbiIpOwogCiAJYXRvbWljX3NldCgmbW9ucHJpdi0+aXVjdl9zZXZlcmVkLCAwKTsKIAlhdG9taWNfc2V0KCZtb25wcml2LT5pdWN2X2Nvbm5lY3RlZCwgMCk7CkBAIC00NDIsMTAgKzM5NCw4IEBACiAJCW1vbm1zZyA9IG1vbnByaXYtPm1zZ19hcnJheVttb25wcml2LT5yZWFkX2luZGV4XTsKIAl9CiAKLQlpZiAoIW1vbm1zZy0+cG9zKSB7CisJaWYgKCFtb25tc2ctPnBvcykKIAkJbW9ubXNnLT5wb3MgPSBtb25fbWNhX3N0YXJ0KG1vbm1zZykgKyBtb25tc2ctPm1jYV9vZmZzZXQ7Ci0JCW1vbl9yZWFkX2RlYnVnKG1vbm1zZywgbW9ucHJpdik7Ci0JfQogCWlmIChtb25fY2hlY2tfbWNhKG1vbm1zZykpCiAJCWdvdG8gcmVwbHk7CiAKQEAgLTUzMSw3ICs0ODEsNiBAQAogCQlQX0VSUk9SKCJmYWlsZWQgdG8gcmVnaXN0ZXIgd2l0aCBpdWN2IGRyaXZlclxuIik7CiAJCXJldHVybiByYzsKIAl9Ci0JUF9JTkZPKCJvcGVuLCByZWdpc3RlcmVkIHdpdGggSVVDVlxuIik7CiAKIAlyYyA9IHNlZ21lbnRfdHlwZShtb25fZGNzc19uYW1lKTsKIAlpZiAocmMgPCAwKSB7CkBAIC01NTUsMTMgKzUwNCw4IEBACiAJZGNzc19ta25hbWUobW9uX2Rjc3NfbmFtZSwgJnVzZXJfZGF0YV9jb25uZWN0WzhdKTsKIAogCXJjID0gbWlzY19yZWdpc3RlcigmbW9uX2Rldik7Ci0JaWYgKHJjIDwgMCApIHsKLQkJUF9FUlJPUigibWlzY19yZWdpc3RlciBmYWlsZWQsIHJjID0gJWlcbiIsIHJjKTsKKwlpZiAocmMgPCAwICkKIAkJZ290byBvdXQ7Ci0JfQotCVBfSU5GTygiTG9hZGVkIHNlZ21lbnQgJXMgZnJvbSAlcCB0byAlcCwgc2l6ZSA9ICVsdSBCeXRlXG4iLAotCQltb25fZGNzc19uYW1lLCAodm9pZCAqKSBtb25fZGNzc19zdGFydCwgKHZvaWQgKikgbW9uX2Rjc3NfZW5kLAotCQltb25fZGNzc19lbmQgLSBtb25fZGNzc19zdGFydCArIDEpOwogCXJldHVybiAwOwogCiBvdXQ6CmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvY2hhci9tb253cml0ZXIuYyBiL2RyaXZlcnMvczM5MC9jaGFyL21vbndyaXRlci5jCmluZGV4IGE4NmMwNTMuLjRkNzFhYTggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvczM5MC9jaGFyL21vbndyaXRlci5jCisrKyBiL2RyaXZlcnMvczM5MC9jaGFyL21vbndyaXRlci5jCkBAIC0xMiw2ICsxMiw3IEBACiAjaW5jbHVkZSA8bGludXgvbW9kdWxlcGFyYW0uaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAjaW5jbHVkZSA8bGludXgvZXJybm8uaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CiAjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CiAjaW5jbHVkZSA8bGludXgvbWlzY2RldmljZS5oPgpAQCAtMTc5LDEwICsxODAsMTIgQEAKIAltb25wcml2ID0ga3phbGxvYyhzaXplb2Yoc3RydWN0IG1vbl9wcml2YXRlKSwgR0ZQX0tFUk5FTCk7CiAJaWYgKCFtb25wcml2KQogCQlyZXR1cm4gLUVOT01FTTsKKwlsb2NrX2tlcm5lbCgpOwogCUlOSVRfTElTVF9IRUFEKCZtb25wcml2LT5saXN0KTsKIAltb25wcml2LT5oZHJfdG9fcmVhZCA9IHNpemVvZihtb25wcml2LT5oZHIpOwogCW11dGV4X2luaXQoJm1vbnByaXYtPnRocmVhZF9tdXRleCk7CiAJZmlscC0+cHJpdmF0ZV9kYXRhID0gbW9ucHJpdjsKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIG5vbnNlZWthYmxlX29wZW4oaW5vZGUsIGZpbHApOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvY2hhci9yYXczMjcwLmMgYi9kcml2ZXJzL3MzOTAvY2hhci9yYXczMjcwLmMKaW5kZXggODQ4ZWY3ZS4uODFhOTZlMCAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL2NoYXIvcmF3MzI3MC5jCisrKyBiL2RyaXZlcnMvczM5MC9jaGFyL3JhdzMyNzAuYwpAQCAtMTUzLDE5ICsxNTMsMTAgQEAKIAlzdHJ1Y3QgcmF3MzI3MF9yZXF1ZXN0ICpycTsKIAogCXJxID0gYWxsb2NfYm9vdG1lbV9sb3coc2l6ZW9mKHN0cnVjdCByYXczMjcwKSk7Ci0JaWYgKCFycSkKLQkJcmV0dXJuIEVSUl9QVFIoLUVOT01FTSk7Ci0JbWVtc2V0KHJxLCAwLCBzaXplb2Yoc3RydWN0IHJhdzMyNzBfcmVxdWVzdCkpOwogCiAJLyogYWxsb2Mgb3V0cHV0IGJ1ZmZlci4gKi8KLQlpZiAoc2l6ZSA+IDApIHsKKwlpZiAoc2l6ZSA+IDApCiAJCXJxLT5idWZmZXIgPSBhbGxvY19ib290bWVtX2xvdyhzaXplKTsKLQkJaWYgKCFycS0+YnVmZmVyKSB7Ci0JCQlmcmVlX2Jvb3RtZW0oKHVuc2lnbmVkIGxvbmcpIHJxLAotCQkJCSAgICAgc2l6ZW9mKHN0cnVjdCByYXczMjcwKSk7Ci0JCQlyZXR1cm4gRVJSX1BUUigtRU5PTUVNKTsKLQkJfQotCX0KIAlycS0+c2l6ZSA9IHNpemU7CiAJSU5JVF9MSVNUX0hFQUQoJnJxLT5saXN0KTsKIApAQCAtMzcyLDE3ICszNjMsMTcgQEAKIAogCWlmIChJU19FUlIoaXJiKSkKIAkJcmMgPSBSQVczMjcwX0lPX1JFVFJZOwotCWVsc2UgaWYgKGlyYi0+c2Nzdy5mY3RsICYgU0NTV19GQ1RMX0hBTFRfRlVOQykgeworCWVsc2UgaWYgKGlyYi0+c2Nzdy5jbWQuZmN0bCAmIFNDU1dfRkNUTF9IQUxUX0ZVTkMpIHsKIAkJcnEtPnJjID0gLUVJTzsKIAkJcmMgPSBSQVczMjcwX0lPX0RPTkU7Ci0JfSBlbHNlIGlmIChpcmItPnNjc3cuZHN0YXQgPT0gIChERVZfU1RBVF9DSE5fRU5EIHwgREVWX1NUQVRfREVWX0VORCB8Ci0JCQkJCURFVl9TVEFUX1VOSVRfRVhDRVApKSB7CisJfSBlbHNlIGlmIChpcmItPnNjc3cuY21kLmRzdGF0ID09IChERVZfU1RBVF9DSE5fRU5EIHwgREVWX1NUQVRfREVWX0VORCB8CisJCQkJCSAgIERFVl9TVEFUX1VOSVRfRVhDRVApKSB7CiAJCS8qIEhhbmRsZSBDRS1ERS1VRSBhbmQgc3Vic2VxdWVudCBVREUgKi8KIAkJc2V0X2JpdChSQVczMjcwX0ZMQUdTX0JVU1ksICZycC0+ZmxhZ3MpOwogCQlyYyA9IFJBVzMyNzBfSU9fQlVTWTsKIAl9IGVsc2UgaWYgKHRlc3RfYml0KFJBVzMyNzBfRkxBR1NfQlVTWSwgJnJwLT5mbGFncykpIHsKIAkJLyogV2FpdCBmb3IgVURFIGlmIGJ1c3kgZmxhZyBpcyBzZXQuICovCi0JCWlmIChpcmItPnNjc3cuZHN0YXQgJiBERVZfU1RBVF9ERVZfRU5EKSB7CisJCWlmIChpcmItPnNjc3cuY21kLmRzdGF0ICYgREVWX1NUQVRfREVWX0VORCkgewogCQkJY2xlYXJfYml0KFJBVzMyNzBfRkxBR1NfQlVTWSwgJnJwLT5mbGFncyk7CiAJCQkvKiBHb3QgaXQsIG5vdyByZXRyeS4gKi8KIAkJCXJjID0gUkFXMzI3MF9JT19SRVRSWTsKQEAgLTQ5Nyw3ICs0ODgsNyBAQAogCSAqIFVuaXQtQ2hlY2sgUHJvY2Vzc2luZzoKIAkgKiBFeHBlY3QgQ29tbWFuZCBSZWplY3Qgb3IgSW50ZXJ2ZW50aW9uIFJlcXVpcmVkLgogCSAqLwotCWlmIChpcmItPnNjc3cuZHN0YXQgJiBERVZfU1RBVF9VTklUX0NIRUNLKSB7CisJaWYgKGlyYi0+c2Nzdy5jbWQuZHN0YXQgJiBERVZfU1RBVF9VTklUX0NIRUNLKSB7CiAJCS8qIFJlcXVlc3QgZmluaXNoZWQgYWJub3JtYWxseS4gKi8KIAkJaWYgKGlyYi0+ZWN3WzBdICYgU05TMF9JTlRFUlZFTlRJT05fUkVRKSB7CiAJCQlzZXRfYml0KFJBVzMyNzBfRkxBR1NfQlVTWSwgJnZpZXctPmRldi0+ZmxhZ3MpOwpAQCAtNTA1LDE2ICs0OTYsMTYgQEAKIAkJfQogCX0KIAlpZiAocnEpIHsKLQkJaWYgKGlyYi0+c2Nzdy5kc3RhdCAmIERFVl9TVEFUX1VOSVRfQ0hFQ0spIHsKKwkJaWYgKGlyYi0+c2Nzdy5jbWQuZHN0YXQgJiBERVZfU1RBVF9VTklUX0NIRUNLKSB7CiAJCQlpZiAoaXJiLT5lY3dbMF0gJiBTTlMwX0NNRF9SRUpFQ1QpCiAJCQkJcnEtPnJjID0gLUVPUE5PVFNVUFA7CiAJCQllbHNlCiAJCQkJcnEtPnJjID0gLUVJTzsKIAkJfSBlbHNlCiAJCQkvKiBSZXF1ZXN0IGZpbmlzaGVkIG5vcm1hbGx5LiBDb3B5IHJlc2lkdWFsIGNvdW50LiAqLwotCQkJcnEtPnJlc2NudCA9IGlyYi0+c2Nzdy5jb3VudDsKKwkJCXJxLT5yZXNjbnQgPSBpcmItPnNjc3cuY21kLmNvdW50OwogCX0KLQlpZiAoaXJiLT5zY3N3LmRzdGF0ICYgREVWX1NUQVRfQVRURU5USU9OKSB7CisJaWYgKGlyYi0+c2Nzdy5jbWQuZHN0YXQgJiBERVZfU1RBVF9BVFRFTlRJT04pIHsKIAkJc2V0X2JpdChSQVczMjcwX0ZMQUdTX0FUVE4sICZ2aWV3LT5kZXYtPmZsYWdzKTsKIAkJd2FrZV91cCgmcmF3MzI3MF93YWl0X3F1ZXVlKTsKIAl9CkBAIC02MTksNyArNjEwLDYgQEAKIAkJcnAtPmNvbHMgPSAxMzI7CiAJCWJyZWFrOwogCWRlZmF1bHQ6Ci0JCXByaW50ayhLRVJOX1dBUk5JTkcgInZyZGNjcm1kIGlzIDB4JS44eFxuIiwgbW9kZWwpOwogCQlyYyA9IC1FT1BOT1RTVVBQOwogCQlicmVhazsKIAl9CmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvY2hhci9zY2xwLmMgYi9kcml2ZXJzL3MzOTAvY2hhci9zY2xwLmMKaW5kZXggMmM3YTFlZS4uM2M4YjI1ZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL2NoYXIvc2NscC5jCisrKyBiL2RyaXZlcnMvczM5MC9jaGFyL3NjbHAuYwpAQCAtNTA2LDYgKzUwNiw4IEBACiAJaWYgKHNjYnVmLT52YWxpZGl0eV9zY2xwX3NlbmRfbWFzaykKIAkJc2NscF9zZW5kX21hc2sgPSBzY2J1Zi0+c2NscF9zZW5kX21hc2s7CiAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmc2NscF9sb2NrLCBmbGFncyk7CisJaWYgKHNjYnVmLT52YWxpZGl0eV9zY2xwX2FjdGl2ZV9mYWNpbGl0eV9tYXNrKQorCQlzY2xwX2ZhY2lsaXRpZXMgPSBzY2J1Zi0+c2NscF9hY3RpdmVfZmFjaWxpdHlfbWFzazsKIAlzY2xwX2Rpc3BhdGNoX3N0YXRlX2NoYW5nZSgpOwogfQogCkBAIC03ODIsMTEgKzc4NCw5IEBACiAJLyogSXMgdGhpcyB0aGUgaW50ZXJydXB0IHdlIGFyZSB3YWl0aW5nIGZvcj8gKi8KIAlpZiAoZmluaXNoZWRfc2NjYiA9PSAwKQogCQlyZXR1cm47Ci0JaWYgKGZpbmlzaGVkX3NjY2IgIT0gKHUzMikgKGFkZHJfdCkgc2NscF9pbml0X3NjY2IpIHsKLQkJcHJpbnRrKEtFUk5fV0FSTklORyBTQ0xQX0hFQURFUiAidW5zb2xpY2l0ZWQgaW50ZXJydXB0ICIKLQkJICAgICAgICJmb3IgYnVmZmVyIGF0IDB4JXhcbiIsIGZpbmlzaGVkX3NjY2IpOwotCQlyZXR1cm47Ci0JfQorCWlmIChmaW5pc2hlZF9zY2NiICE9ICh1MzIpIChhZGRyX3QpIHNjbHBfaW5pdF9zY2NiKQorCQlwYW5pYygic2NscDogdW5zb2xpY2l0ZWQgaW50ZXJydXB0IGZvciBidWZmZXIgYXQgMHgleFxuIiwKKwkJICAgICAgZmluaXNoZWRfc2NjYik7CiAJc3Bpbl9sb2NrKCZzY2xwX2xvY2spOwogCWlmIChzY2xwX3J1bm5pbmdfc3RhdGUgPT0gc2NscF9ydW5uaW5nX3N0YXRlX3J1bm5pbmcpIHsKIAkJc2NscF9pbml0X3JlcS5zdGF0dXMgPSBTQ0xQX1JFUV9ET05FOwpAQCAtODgzLDggKzg4Myw2IEBACiAJdW5zaWduZWQgbG9uZyBmbGFnczsKIAlpbnQgcmM7CiAKLQlpZiAoIU1BQ0hJTkVfSEFTX1NDTFApCi0JCXJldHVybiAtRU5PREVWOwogCXNwaW5fbG9ja19pcnFzYXZlKCZzY2xwX2xvY2ssIGZsYWdzKTsKIAkvKiBDaGVjayBmb3IgcHJldmlvdXMgb3IgcnVubmluZyBpbml0aWFsaXphdGlvbiAqLwogCWlmIChzY2xwX2luaXRfc3RhdGUgIT0gc2NscF9pbml0X3N0YXRlX3VuaW5pdGlhbGl6ZWQpIHsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9jaGFyL3NjbHBfY21kLmMgYi9kcml2ZXJzL3MzOTAvY2hhci9zY2xwX2NtZC5jCmluZGV4IGI1YzIzMzkuLjBjMmI3NzQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvczM5MC9jaGFyL3NjbHBfY21kLmMKKysrIGIvZHJpdmVycy9zMzkwL2NoYXIvc2NscF9jbWQuYwpAQCAtMTEsNiArMTEsOSBAQAogI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+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+CiAjaW5jbHVkZSA8bGludXgvc3BpbmxvY2suaD4KICNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KICNpbmNsdWRlIDxsaW51eC9tb2R1bGVwYXJhbS5oPgpAQCAtMTAyNywxMCArMTAyOCwxMiBAQAogfSAvKiBFbmQgdHdfY2hyZGV2X2lvY3RsKCkgKi8KIAogLyogVGhpcyBmdW5jdGlvbiBoYW5kbGVzIG9wZW4gZm9yIHRoZSBjaGFyYWN0ZXIgZGV2aWNlICovCisvKiBOT1RFIHRoYXQgdGhpcyBmdW5jdGlvbiByYWNlcyB3aXRoIHJlbW92ZS4gKi8KIHN0YXRpYyBpbnQgdHdfY2hyZGV2X29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCiB7CiAJdW5zaWduZWQgaW50IG1pbm9yX251bWJlcjsKIAorCWN5Y2xlX2tlcm5lbF9sb2NrKCk7CiAJZHByaW50ayhLRVJOX1dBUk5JTkcgIjN3LXh4eHg6IHR3X2lvY3RsX29wZW4oKVxuIik7CiAKIAltaW5vcl9udW1iZXIgPSBpbWlub3IoaW5vZGUpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zY3NpL2FhY3JhaWQvbGluaXQuYyBiL2RyaXZlcnMvc2NzaS9hYWNyYWlkL2xpbml0LmMKaW5kZXggMWY3YzgzNi4uNjhjMTQwZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9zY3NpL2FhY3JhaWQvbGluaXQuYworKysgYi9kcml2ZXJzL3Njc2kvYWFjcmFpZC9saW5pdC5jCkBAIC0zOCw2ICszOCw3IEBACiAjaW5jbHVkZSA8bGludXgvbW9kdWxlcGFyYW0uaD4KICNpbmNsdWRlIDxsaW51eC9wY2kuaD4KICNpbmNsdWRlIDxsaW51eC9zbGFiLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxsaW51eC9zcGlubG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L3N5c2NhbGxzLmg+CiAjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KQEAgLTY2Nyw2ICs2NjgsNyBAQAogCXVuc2lnbmVkIG1pbm9yX251bWJlciA9IGltaW5vcihpbm9kZSk7CiAJaW50IGVyciA9IC1FTk9ERVY7CiAKKwlsb2NrX2tlcm5lbCgpOyAgLyogQktMIHB1c2hkb3duOiBub3RoaW5nIGVsc2UgcHJvdGVjdHMgdGhpcyBsaXN0ICovCiAJbGlzdF9mb3JfZWFjaF9lbnRyeShhYWMsICZhYWNfZGV2aWNlcywgZW50cnkpIHsKIAkJaWYgKGFhYy0+aWQgPT0gbWlub3JfbnVtYmVyKSB7CiAJCQlmaWxlLT5wcml2YXRlX2RhdGEgPSBhYWM7CkBAIC02NzQsNiArNjc2LDcgQEAKIAkJCWJyZWFrOwogCQl9CiAJfQorCXVubG9ja19rZXJuZWwoKTsKIAogCXJldHVybiBlcnI7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL3Njc2kvYWljOTR4eC9haWM5NHh4X3Nkcy5jIGIvZHJpdmVycy9zY3NpL2FpYzk0eHgvYWljOTR4eF9zZHMuYwppbmRleCA0NDQ2ZTNkLi44NjMwYTc1IDEwMDY0NAotLS0gYS9kcml2ZXJzL3Njc2kvYWljOTR4eC9haWM5NHh4X3Nkcy5jCisrKyBiL2RyaXZlcnMvc2NzaS9haWM5NHh4L2FpYzk0eHhfc2RzLmMKQEAgLTEwOTMsOSArMTA5Myw5IEBACiAgKiBAYnl0ZXNfdG9fdmVyaWZ5OiB0b3RhbCBieXRlcyB0byB2ZXJpZnkKICAqLwogaW50IGFzZF92ZXJpZnlfZmxhc2hfc2VnKHN0cnVjdCBhc2RfaGFfc3RydWN0ICphc2RfaGEsCi0JCXZvaWQgKnNyYywgdTMyIGRlc3Rfb2Zmc2V0LCB1MzIgYnl0ZXNfdG9fdmVyaWZ5KQorCQkJIGNvbnN0IHZvaWQgKnNyYywgdTMyIGRlc3Rfb2Zmc2V0LCB1MzIgYnl0ZXNfdG9fdmVyaWZ5KQogewotCXU4ICpzcmNfYnVmOworCWNvbnN0IHU4ICpzcmNfYnVmOwogCXU4IGZsYXNoX2NoYXI7CiAJaW50IGVycjsKIAl1MzIgbnZfb2Zmc2V0LCByZWcsIGk7CkBAIC0xMTA1LDcgKzExMDUsNyBAQAogCiAJZXJyID0gRkxBU0hfT0s7CiAJbnZfb2Zmc2V0ID0gZGVzdF9vZmZzZXQ7Ci0Jc3JjX2J1ZiA9ICh1OCAqKXNyYzsKKwlzcmNfYnVmID0gKGNvbnN0IHU4ICopc3JjOwogCWZvciAoaSA9IDA7IGkgPCBieXRlc190b192ZXJpZnk7IGkrKykgewogCQlmbGFzaF9jaGFyID0gYXNkX3JlYWRfcmVnX2J5dGUoYXNkX2hhLCByZWcgKyBudl9vZmZzZXQgKyBpKTsKIAkJaWYgKGZsYXNoX2NoYXIgIT0gc3JjX2J1ZltpXSkgewpAQCAtMTEyNCw5ICsxMTI0LDkgQEAKICAqIEBieXRlc190b193cml0ZTogdG90YWwgYnl0ZXMgdG8gd3JpdGUKICAqLwogaW50IGFzZF93cml0ZV9mbGFzaF9zZWcoc3RydWN0IGFzZF9oYV9zdHJ1Y3QgKmFzZF9oYSwKLQkJdm9pZCAqc3JjLCB1MzIgZGVzdF9vZmZzZXQsIHUzMiBieXRlc190b193cml0ZSkKKwkJCWNvbnN0IHZvaWQgKnNyYywgdTMyIGRlc3Rfb2Zmc2V0LCB1MzIgYnl0ZXNfdG9fd3JpdGUpCiB7Ci0JdTggKnNyY19idWY7CisJY29uc3QgdTggKnNyY19idWY7CiAJdTMyIG52X29mZnNldCwgcmVnLCBpOwogCWludCBlcnI7CiAKQEAgLTExNTMsNyArMTE1Myw3IEBACiAJCXJldHVybiBlcnI7CiAJfQogCi0Jc3JjX2J1ZiA9ICh1OCAqKXNyYzsKKwlzcmNfYnVmID0gKGNvbnN0IHU4ICopc3JjOwogCWZvciAoaSA9IDA7IGkgPCBieXRlc190b193cml0ZTsgaSsrKSB7CiAJCS8qIFNldHVwIHByb2dyYW0gY29tbWFuZCBzZXF1ZW5jZSAqLwogCQlzd2l0Y2ggKGFzZF9oYS0+aHdfcHJvZi5mbGFzaC5tZXRob2QpIHsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvc2NzaS9haWM5NHh4L2FpYzk0eHhfc2RzLmggYi9kcml2ZXJzL3Njc2kvYWljOTR4eC9haWM5NHh4X3Nkcy5oCmluZGV4IGJiOTc5NWEuLmEwNmRjMDEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvc2NzaS9haWM5NHh4L2FpYzk0eHhfc2RzLmgKKysrIGIvZHJpdmVycy9zY3NpL2FpYzk0eHgvYWljOTR4eF9zZHMuaApAQCAtMTEwLDkgKzExMCw5IEBACiB9OwogCiBpbnQgYXNkX3ZlcmlmeV9mbGFzaF9zZWcoc3RydWN0IGFzZF9oYV9zdHJ1Y3QgKmFzZF9oYSwKLQkJdm9pZCAqc3JjLCB1MzIgZGVzdF9vZmZzZXQsIHUzMiBieXRlc190b192ZXJpZnkpOworCQljb25zdCB2b2lkICpzcmMsIHUzMiBkZXN0X29mZnNldCwgdTMyIGJ5dGVzX3RvX3ZlcmlmeSk7CiBpbnQgYXNkX3dyaXRlX2ZsYXNoX3NlZyhzdHJ1Y3QgYXNkX2hhX3N0cnVjdCAqYXNkX2hhLAotCQl2b2lkICpzcmMsIHUzMiBkZXN0X29mZnNldCwgdTMyIGJ5dGVzX3RvX3dyaXRlKTsKKwkJY29uc3Qgdm9pZCAqc3JjLCB1MzIgZGVzdF9vZmZzZXQsIHUzMiBieXRlc190b193cml0ZSk7CiBpbnQgYXNkX2Noa193cml0ZV9zdGF0dXMoc3RydWN0IGFzZF9oYV9zdHJ1Y3QgKmFzZF9oYSwKIAkJdTMyIHNlY3Rvcl9hZGRyLCB1OCBlcmFzZV9mbGFnKTsKIGludCBhc2RfY2hlY2tfZmxhc2hfdHlwZShzdHJ1Y3QgYXNkX2hhX3N0cnVjdCAqYXNkX2hhKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvc2NzaS9haWM5NHh4L2FpYzk0eHhfc2VxLmMgYi9kcml2ZXJzL3Njc2kvYWljOTR4eC9haWM5NHh4X3NlcS5jCmluZGV4IGY0MjcyYWMuLjhmOThlMzMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvc2NzaS9haWM5NHh4L2FpYzk0eHhfc2VxLmMKKysrIGIvZHJpdmVycy9zY3NpL2FpYzk0eHgvYWljOTR4eF9zZXEuYwpAQCAtNDYsNyArNDYsNyBAQAogc3RhdGljIGNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqc2VxdWVuY2VyX2Z3Owogc3RhdGljIHUxNiBjc2VxX3ZlY3NbQ1NFUV9OVU1fVkVDU10sIGxzZXFfdmVjc1tMU0VRX05VTV9WRUNTXSwgbW9kZTJfdGFzaywKIAljc2VxX2lkbGVfbG9vcCwgbHNlcV9pZGxlX2xvb3A7Ci1zdGF0aWMgdTggKmNzZXFfY29kZSwgKmxzZXFfY29kZTsKK3N0YXRpYyBjb25zdCB1OCAqY3NlcV9jb2RlLCAqbHNlcV9jb2RlOwogc3RhdGljIHUzMiBjc2VxX2NvZGVfc2l6ZSwgbHNlcV9jb2RlX3NpemU7CiAKIHN0YXRpYyB1MTYgZmlyc3Rfc2NiX3NpdGVfbm8gPSAweEZGRkY7CkBAIC0xMjM1LDcgKzEyMzUsOCBAQAogc3RhdGljIGludCBhc2RfcmVxdWVzdF9maXJtd2FyZShzdHJ1Y3QgYXNkX2hhX3N0cnVjdCAqYXNkX2hhKQogewogCWludCBlcnIsIGk7Ci0Jc3RydWN0IHNlcXVlbmNlcl9maWxlX2hlYWRlciBoZWFkZXIsICpoZHJfcHRyOworCXN0cnVjdCBzZXF1ZW5jZXJfZmlsZV9oZWFkZXIgaGVhZGVyOworCWNvbnN0IHN0cnVjdCBzZXF1ZW5jZXJfZmlsZV9oZWFkZXIgKmhkcl9wdHI7CiAJdTMyIGNzdW0gPSAwOwogCXUxNiAqcHRyX2NzZXFfdmVjcywgKnB0cl9sc2VxX3ZlY3M7CiAKQEAgLTEyNDksNyArMTI1MCw3IEBACiAJaWYgKGVycikKIAkJcmV0dXJuIGVycjsKIAotCWhkcl9wdHIgPSAoc3RydWN0IHNlcXVlbmNlcl9maWxlX2hlYWRlciAqKXNlcXVlbmNlcl9mdy0+ZGF0YTsKKwloZHJfcHRyID0gKGNvbnN0IHN0cnVjdCBzZXF1ZW5jZXJfZmlsZV9oZWFkZXIgKilzZXF1ZW5jZXJfZnctPmRhdGE7CiAKIAloZWFkZXIuY3N1bSA9IGxlMzJfdG9fY3B1KGhkcl9wdHItPmNzdW0pOwogCWhlYWRlci5tYWpvciA9IGxlMzJfdG9fY3B1KGhkcl9wdHItPm1ham9yKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvc2NzaS9hcm0vS2NvbmZpZyBiL2RyaXZlcnMvc2NzaS9hcm0vS2NvbmZpZwppbmRleCA3MjM2MTQzLi5hODU4N2YxIDEwMDY0NAotLS0gYS9kcml2ZXJzL3Njc2kvYXJtL0tjb25maWcKKysrIGIvZHJpdmVycy9zY3NpL2FybS9LY29uZmlnCkBAIC0zLDcgKzMsNyBAQAogIwogY29uZmlnIFNDU0lfQUNPUk5TQ1NJXzMKIAl0cmlzdGF0ZSAiQWNvcm4gU0NTSSBjYXJkIChha2EzMCkgc3VwcG9ydCIKLQlkZXBlbmRzIG9uIEFSQ0hfQUNPUk4gJiYgU0NTSSAmJiBCUk9LRU4KKwlkZXBlbmRzIG9uIEFSQ0hfQUNPUk4gJiYgU0NTSQogCXNlbGVjdCBTQ1NJX1NQSV9BVFRSUwogCWhlbHAKIAkgIFRoaXMgZW5hYmxlcyBzdXBwb3J0IGZvciB0aGUgQWNvcm4gU0NTSSBjYXJkIChha2EzMCkuIElmIHlvdSBoYXZlIGFuCmRpZmYgLS1naXQgYS9kcml2ZXJzL3Njc2kvYXJtL2Fjb3Juc2NzaS1pby5TIGIvZHJpdmVycy9zY3NpL2FybS9hY29ybnNjc2ktaW8uUwppbmRleCA5MzQ2N2U2Li41Y2ViZTMxIDEwMDY0NAotLS0gYS9kcml2ZXJzL3Njc2kvYXJtL2Fjb3Juc2NzaS1pby5TCisrKyBiL2RyaXZlcnMvc2NzaS9hcm0vYWNvcm5zY3NpLWlvLlMKQEAgLTEwLDE3ICsxMCwxMCBAQAogI2luY2x1ZGUgPGFzbS9hc3NlbWJsZXIuaD4KICNpbmNsdWRlIDxhc20vaGFyZHdhcmUuaD4KIAotI2lmIChJT19CQVNFID09IChQQ0lPX0JBU0UgJiAweGZmMDAwMDAwKSkKLSNkZWZpbmUgQUREUihvZmYscmVnKQkJCQkJCVwKLQkJdHN0CW9mZiwgJDB4ODAwMDAwMDAJCQk7XAotCQltb3YJcmVnLCAkSU9fQkFTRQkJCQk7XAotCQlvcnJlcQlyZWcsIHJlZywgJChQQ0lPX0JBU0UgJiAweDAwZmYwMDAwKQotI2Vsc2UKLSNkZWZpbmUgQUREUihvZmYscmVnKQkJCQkJCVwKLQkJdHN0CW9mZiwgJDB4ODAwMDAwMDAJCQk7XAotCQltb3ZuZQlyZWcsICRJT19CQVNFCQkJCTtcCi0JCW1vdmVxCXJlZywgJChQQ0lPX0JBU0UgJiAweGZmMDAwMDAwKQkJO1wKLQkJb3JyZXEJcmVnLCByZWcsICQoUENJT19CQVNFICYgMHgwMGZmMDAwMCkKKyNpZiBkZWZpbmVkKF9fQVBDU18zMl9fKQorI2RlZmluZSBMT0FEUkVHUyh0LHIsbC4uLikJbGRtIyN0CXIsIGwKKyNlbGlmIGRlZmluZWQoX19BUENTXzI2X18pCisjZGVmaW5lIExPQURSRUdTKHQscixsLi4uKQlsZG0jI3QJciwgbCMjXgogI2VuZGlmCiAKIEAgUHVycG9zZTogdHJhbnNmZXIgYSBibG9jayBvZiBkYXRhIGZyb20gdGhlIGFjb3JuIHNjc2kgY2FyZCB0byBtZW1vcnkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvc2NzaS9hcm0vYWNvcm5zY3NpLmMgYi9kcml2ZXJzL3Njc2kvYXJtL2Fjb3Juc2NzaS5jCmluZGV4IDhlNTNmMDIuLjkxOGNjZjggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvc2NzaS9hcm0vYWNvcm5zY3NpLmMKKysrIGIvZHJpdmVycy9zY3NpL2FybS9hY29ybnNjc2kuYwpAQCAtMTIzLDEyICsxMjMsNiBAQAogI2RlZmluZSBEQkcoY21kLHh4eC4uLikgeHh4CiAjZW5kaWYKIAotI2lmbmRlZiBTVFJJTkdJRlkKLSNkZWZpbmUgU1RSSU5HSUZZKHgpICN4Ci0jZW5kaWYKLSNkZWZpbmUgU1RSeCh4KSBTVFJJTkdJRlkoeCkKLSNkZWZpbmUgTk9fV1JJVEVfU1RSIFNUUngoTk9fV1JJVEUpCi0KICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KICNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KICNpbmNsdWRlIDxsaW51eC9zdHJpbmcuaD4KQEAgLTE0MSw5ICsxMzUsMTAgQEAKICNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAjaW5jbHVkZSA8bGludXgvYml0b3BzLmg+CisjaW5jbHVkZSA8bGludXgvc3RyaW5naWZ5Lmg+CisjaW5jbHVkZSA8bGludXgvaW8uaD4KIAogI2luY2x1ZGUgPGFzbS9zeXN0ZW0uaD4KLSNpbmNsdWRlIDxhc20vaW8uaD4KICNpbmNsdWRlIDxhc20vZWNhcmQuaD4KIAogI2luY2x1ZGUgIi4uL3Njc2kuaCIKQEAgLTIwMyw0NCArMTk4LDQ2IEBACiAgKiBNaXNjZWxsYW5lb3VzCiAgKi8KIAotc3RhdGljIGlubGluZSB2b2lkCi1zYmljX2FybV93cml0ZSh1bnNpZ25lZCBpbnQgaW9fcG9ydCwgaW50IHJlZywgaW50IHZhbHVlKQorLyogT2Zmc2V0cyBmcm9tIE1FTUMgYmFzZSAqLworI2RlZmluZSBTQklDX1JFR0lEWAkweDIwMDAKKyNkZWZpbmUgU0JJQ19SRUdWQUwJMHgyMDA0CisjZGVmaW5lIERNQUNfT0ZGU0VUCTB4MzAwMAorCisvKiBPZmZzZXRzIGZyb20gRkFTVCBJT0MgYmFzZSAqLworI2RlZmluZSBJTlRfUkVHCQkweDIwMDAKKyNkZWZpbmUgUEFHRV9SRUcJMHgzMDAwCisKK3N0YXRpYyBpbmxpbmUgdm9pZCBzYmljX2FybV93cml0ZShBU19Ib3N0ICpob3N0LCB1bnNpZ25lZCBpbnQgcmVnLCB1bnNpZ25lZCBpbnQgdmFsdWUpCiB7Ci0gICAgX19yYXdfd3JpdGViKHJlZywgaW9fcG9ydCk7Ci0gICAgX19yYXdfd3JpdGViKHZhbHVlLCBpb19wb3J0ICsgNCk7CisgICAgd3JpdGViKHJlZywgaG9zdC0+YmFzZSArIFNCSUNfUkVHSURYKTsKKyAgICB3cml0ZWIodmFsdWUsIGhvc3QtPmJhc2UgKyBTQklDX1JFR1ZBTCk7CiB9CiAKLSNkZWZpbmUgc2JpY19hcm1fd3JpdGVuZXh0KGlvLHZhbCkgXAotCV9fcmF3X3dyaXRlYigodmFsKSwgKGlvKSArIDQpCi0KLXN0YXRpYyBpbmxpbmUKLWludCBzYmljX2FybV9yZWFkKHVuc2lnbmVkIGludCBpb19wb3J0LCBpbnQgcmVnKQorc3RhdGljIGlubGluZSBpbnQgc2JpY19hcm1fcmVhZChBU19Ib3N0ICpob3N0LCB1bnNpZ25lZCBpbnQgcmVnKQogewogICAgIGlmKHJlZyA9PSBTQklDX0FTUikKLQkgICByZXR1cm4gX19yYXdfcmVhZGwoaW9fcG9ydCkgJiAyNTU7Ci0gICAgX19yYXdfd3JpdGViKHJlZywgaW9fcG9ydCk7Ci0gICAgcmV0dXJuIF9fcmF3X3JlYWRsKGlvX3BvcnQgKyA0KSAmIDI1NTsKKwkgICByZXR1cm4gcmVhZGwoaG9zdC0+YmFzZSArIFNCSUNfUkVHSURYKSAmIDI1NTsKKyAgICB3cml0ZWIocmVnLCBob3N0LT5iYXNlICsgU0JJQ19SRUdJRFgpOworICAgIHJldHVybiByZWFkbChob3N0LT5iYXNlICsgU0JJQ19SRUdWQUwpICYgMjU1OwogfQogCi0jZGVmaW5lIHNiaWNfYXJtX3JlYWRuZXh0KGlvKSBcCi0JX19yYXdfcmVhZGIoKGlvKSArIDQpCisjZGVmaW5lIHNiaWNfYXJtX3dyaXRlbmV4dChob3N0LCB2YWwpCXdyaXRlYigodmFsKSwgKGhvc3QpLT5iYXNlICsgU0JJQ19SRUdWQUwpCisjZGVmaW5lIHNiaWNfYXJtX3JlYWRuZXh0KGhvc3QpIAlyZWFkYigoaG9zdCktPmJhc2UgKyBTQklDX1JFR1ZBTCkKIAogI2lmZGVmIFVTRV9ETUFDCi0jZGVmaW5lIGRtYWNfcmVhZChpb19wb3J0LHJlZykgXAotCWluYigoaW9fcG9ydCkgKyAocmVnKSkKKyNkZWZpbmUgZG1hY19yZWFkKGhvc3QscmVnKSBcCisJcmVhZGIoKGhvc3QpLT5iYXNlICsgRE1BQ19PRkZTRVQgKyAoKHJlZykgPDwgMikpCiAKLSNkZWZpbmUgZG1hY193cml0ZShpb19wb3J0LHJlZyx2YWx1ZSkgXAotCSh7IG91dGIoKHZhbHVlKSwgKGlvX3BvcnQpICsgKHJlZykpOyB9KQorI2RlZmluZSBkbWFjX3dyaXRlKGhvc3QscmVnLHZhbHVlKSBcCisJKHsgd3JpdGViKCh2YWx1ZSksIChob3N0KS0+YmFzZSArIERNQUNfT0ZGU0VUICsgKChyZWcpIDw8IDIpKTsgfSkKIAotI2RlZmluZSBkbWFjX2NsZWFyaW50cihpb19wb3J0KSBcCi0JKHsgb3V0YigwLCAoaW9fcG9ydCkpOyB9KQorI2RlZmluZSBkbWFjX2NsZWFyaW50cihob3N0KSAJd3JpdGViKDAsIChob3N0KS0+ZmFzdCArIElOVF9SRUcpCiAKLXN0YXRpYyBpbmxpbmUKLXVuc2lnbmVkIGludCBkbWFjX2FkZHJlc3ModW5zaWduZWQgaW50IGlvX3BvcnQpCitzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGludCBkbWFjX2FkZHJlc3MoQVNfSG9zdCAqaG9zdCkKIHsKLSAgICByZXR1cm4gZG1hY19yZWFkKGlvX3BvcnQsIERNQUNfVFhBRFJISSkgPDwgMTYgfAotCSAgIGRtYWNfcmVhZChpb19wb3J0LCBETUFDX1RYQURSTUQpIDw8IDggfAotCSAgIGRtYWNfcmVhZChpb19wb3J0LCBETUFDX1RYQURSTE8pOworICAgIHJldHVybiBkbWFjX3JlYWQoaG9zdCwgRE1BQ19UWEFEUkhJKSA8PCAxNiB8CisJICAgZG1hY19yZWFkKGhvc3QsIERNQUNfVFhBRFJNRCkgPDwgOCB8CisJICAgZG1hY19yZWFkKGhvc3QsIERNQUNfVFhBRFJMTyk7CiB9CiAKIHN0YXRpYwpAQCAtMjQ4LDE1ICsyNDUsMTUgQEAKIHsKIAl1bnNpZ25lZCBpbnQgbW9kZSwgYWRkciwgbGVuOwogCi0JbW9kZSA9IGRtYWNfcmVhZChob3N0LT5kbWEuaW9fcG9ydCwgRE1BQ19NT0RFQ09OKTsKLQlhZGRyID0gZG1hY19hZGRyZXNzKGhvc3QtPmRtYS5pb19wb3J0KTsKLQlsZW4gID0gZG1hY19yZWFkKGhvc3QtPmRtYS5pb19wb3J0LCBETUFDX1RYQ05USEkpIDw8IDggfAotCSAgICAgICBkbWFjX3JlYWQoaG9zdC0+ZG1hLmlvX3BvcnQsIERNQUNfVFhDTlRMTyk7CisJbW9kZSA9IGRtYWNfcmVhZChob3N0LCBETUFDX01PREVDT04pOworCWFkZHIgPSBkbWFjX2FkZHJlc3MoaG9zdCk7CisJbGVuICA9IGRtYWNfcmVhZChob3N0LCBETUFDX1RYQ05USEkpIDw8IDggfAorCSAgICAgICBkbWFjX3JlYWQoaG9zdCwgRE1BQ19UWENOVExPKTsKIAogCXByaW50aygic2NzaSVkOiAlczogRE1BQyAlMDJ4IEAlMDZ4KyUwNHggbXNrICUwMngsICIsCiAJCWhvc3QtPmhvc3QtPmhvc3Rfbm8sIHdoZXJlLAogCQltb2RlLCBhZGRyLCAobGVuICsgMSkgJiAweGZmZmYsCi0JCWRtYWNfcmVhZChob3N0LT5kbWEuaW9fcG9ydCwgRE1BQ19NQVNLUkVHKSk7CisJCWRtYWNfcmVhZChob3N0LCBETUFDX01BU0tSRUcpKTsKIAogCXByaW50aygiRE1BIEAlMDZ4LCAiLCBob3N0LT5kbWEuc3RhcnRfYWRkcik7CiAJcHJpbnRrKCJCSCBAJXAgKyUwNHgsICIsIGhvc3QtPnNjc2kuU0NwLnB0ciwKQEAgLTI3Miw5ICsyNjksOSBAQAogewogICAgIHVuc2lnbmVkIGxvbmcgbGVuZ3RoOwogCi0gICAgbGVuZ3RoID0gc2JpY19hcm1fcmVhZChob3N0LT5zY3NpLmlvX3BvcnQsIFNCSUNfVFJBTlNDTlRIKSA8PCAxNjsKLSAgICBsZW5ndGggfD0gc2JpY19hcm1fcmVhZG5leHQoaG9zdC0+c2NzaS5pb19wb3J0KSA8PCA4OwotICAgIGxlbmd0aCB8PSBzYmljX2FybV9yZWFkbmV4dChob3N0LT5zY3NpLmlvX3BvcnQpOworICAgIGxlbmd0aCA9IHNiaWNfYXJtX3JlYWQoaG9zdCwgU0JJQ19UUkFOU0NOVEgpIDw8IDE2OworICAgIGxlbmd0aCB8PSBzYmljX2FybV9yZWFkbmV4dChob3N0KSA8PCA4OworICAgIGxlbmd0aCB8PSBzYmljX2FybV9yZWFkbmV4dChob3N0KTsKIAogICAgIHJldHVybiBsZW5ndGg7CiB9CkBAIC0yODUsNyArMjgyLDcgQEAKIAlpbnQgYXNyOwogCiAJZG8gewotCQlhc3IgPSBzYmljX2FybV9yZWFkKGhvc3QtPnNjc2kuaW9fcG9ydCwgU0JJQ19BU1IpOworCQlhc3IgPSBzYmljX2FybV9yZWFkKGhvc3QsIFNCSUNfQVNSKTsKIAogCQlpZiAoKGFzciAmIHN0YXRfbWFzaykgPT0gc3RhdCkKIAkJCXJldHVybiAwOwpAQCAtMzA0LDcgKzMwMSw3IEBACiAgICAgaWYgKGFjb3Juc2NzaV9zYmljX3dhaXQoaG9zdCwgQVNSX0NJUCwgMCwgMTAwMCwgImlzc3VpbmcgY29tbWFuZCIpKQogCXJldHVybiAtMTsKIAotICAgIHNiaWNfYXJtX3dyaXRlKGhvc3QtPnNjc2kuaW9fcG9ydCwgU0JJQ19DTU5ELCBjb21tYW5kKTsKKyAgICBzYmljX2FybV93cml0ZShob3N0LCBTQklDX0NNTkQsIGNvbW1hbmQpOwogCiAgICAgcmV0dXJuIDA7CiB9CkBAIC0zMzEsMjAgKzMyOCwyMCBAQAogCiAgICAgLyogYXNzZXJ0IHJlc2V0IGxpbmUgKi8KICAgICBob3N0LT5jYXJkLnBhZ2VfcmVnID0gMHg4MDsKLSAgICBvdXRiKGhvc3QtPmNhcmQucGFnZV9yZWcsIGhvc3QtPmNhcmQuaW9fcGFnZSk7CisgICAgd3JpdGViKGhvc3QtPmNhcmQucGFnZV9yZWcsIGhvc3QtPmZhc3QgKyBQQUdFX1JFRyk7CiAKICAgICAvKiB3YWl0IDMgY3MuICBTQ1NJIHN0YW5kYXJkIHNheXMgMjVtcy4gKi8KICAgICBhY29ybnNjc2lfY3NkZWxheSgzKTsKIAogICAgIGhvc3QtPmNhcmQucGFnZV9yZWcgPSAwOwotICAgIG91dGIoaG9zdC0+Y2FyZC5wYWdlX3JlZywgaG9zdC0+Y2FyZC5pb19wYWdlKTsKKyAgICB3cml0ZWIoaG9zdC0+Y2FyZC5wYWdlX3JlZywgaG9zdC0+ZmFzdCArIFBBR0VfUkVHKTsKIAogICAgIC8qCiAgICAgICogU2hvdWxkIGdldCBhIHJlc2V0IGZyb20gdGhlIGNhcmQKICAgICAgKi8KICAgICB0aW1lb3V0ID0gMTAwMDsKICAgICBkbyB7Ci0JaWYgKGluYihob3N0LT5jYXJkLmlvX2ludHIpICYgOCkKKwlpZiAocmVhZGIoaG9zdC0+ZmFzdCArIElOVF9SRUcpICYgOCkKIAkgICAgYnJlYWs7CiAJdWRlbGF5KDEpOwogICAgIH0gd2hpbGUgKC0tdGltZW91dCk7CkBAIC0zNTMsMTkgKzM1MCwxOSBAQAogCXByaW50aygic2NzaSVkOiB0aW1lb3V0IHdoaWxlIHJlc2V0dGluZyBjYXJkXG4iLAogCQlob3N0LT5ob3N0LT5ob3N0X25vKTsKIAotICAgIHNiaWNfYXJtX3JlYWQoaG9zdC0+c2NzaS5pb19wb3J0LCBTQklDX0FTUik7Ci0gICAgc2JpY19hcm1fcmVhZChob3N0LT5zY3NpLmlvX3BvcnQsIFNCSUNfU1NSKTsKKyAgICBzYmljX2FybV9yZWFkKGhvc3QsIFNCSUNfQVNSKTsKKyAgICBzYmljX2FybV9yZWFkKGhvc3QsIFNCSUNfU1NSKTsKIAogICAgIC8qIHNldHVwIHNiaWMgLSBXRDMzQzkzQSAqLwotICAgIHNiaWNfYXJtX3dyaXRlKGhvc3QtPnNjc2kuaW9fcG9ydCwgU0JJQ19PV05JRCwgT1dOSURfRUFGIHwgaG9zdC0+aG9zdC0+dGhpc19pZCk7Ci0gICAgc2JpY19hcm1fd3JpdGUoaG9zdC0+c2NzaS5pb19wb3J0LCBTQklDX0NNTkQsIENNTkRfUkVTRVQpOworICAgIHNiaWNfYXJtX3dyaXRlKGhvc3QsIFNCSUNfT1dOSUQsIE9XTklEX0VBRiB8IGhvc3QtPmhvc3QtPnRoaXNfaWQpOworICAgIHNiaWNfYXJtX3dyaXRlKGhvc3QsIFNCSUNfQ01ORCwgQ01ORF9SRVNFVCk7CiAKICAgICAvKgogICAgICAqIENvbW1hbmQgc2hvdWxkIGNhdXNlIGEgcmVzZXQgaW50ZXJydXB0CiAgICAgICovCiAgICAgdGltZW91dCA9IDEwMDA7CiAgICAgZG8gewotCWlmIChpbmIoaG9zdC0+Y2FyZC5pb19pbnRyKSAmIDgpCisJaWYgKHJlYWRiKGhvc3QtPmZhc3QgKyBJTlRfUkVHKSAmIDgpCiAJICAgIGJyZWFrOwogCXVkZWxheSgxKTsKICAgICB9IHdoaWxlICgtLXRpbWVvdXQpOwpAQCAtMzc0LDI2ICszNzEsMjYgQEAKIAlwcmludGsoInNjc2klZDogdGltZW91dCB3aGlsZSByZXNldHRpbmcgY2FyZFxuIiwKIAkJaG9zdC0+aG9zdC0+aG9zdF9ubyk7CiAKLSAgICBzYmljX2FybV9yZWFkKGhvc3QtPnNjc2kuaW9fcG9ydCwgU0JJQ19BU1IpOwotICAgIGlmIChzYmljX2FybV9yZWFkKGhvc3QtPnNjc2kuaW9fcG9ydCwgU0JJQ19TU1IpICE9IDB4MDEpCisgICAgc2JpY19hcm1fcmVhZChob3N0LCBTQklDX0FTUik7CisgICAgaWYgKHNiaWNfYXJtX3JlYWQoaG9zdCwgU0JJQ19TU1IpICE9IDB4MDEpCiAJcHJpbnRrKEtFUk5fQ1JJVCAic2NzaSVkOiBXRDMzQzkzQSBkaWRuJ3QgZ2l2ZSBlbmhhbmNlZCByZXNldCBpbnRlcnJ1cHRcbiIsCiAJCWhvc3QtPmhvc3QtPmhvc3Rfbm8pOwogCi0gICAgc2JpY19hcm1fd3JpdGUoaG9zdC0+c2NzaS5pb19wb3J0LCBTQklDX0NUUkwsIElOSVRfU0JJQ0RNQSB8IENUUkxfSURJKTsKLSAgICBzYmljX2FybV93cml0ZShob3N0LT5zY3NpLmlvX3BvcnQsIFNCSUNfVElNRU9VVCwgVElNRU9VVF9USU1FKTsKLSAgICBzYmljX2FybV93cml0ZShob3N0LT5zY3NpLmlvX3BvcnQsIFNCSUNfU1lOQ0hUUkFOU0ZFUiwgU1lOQ0hUUkFOU0ZFUl8yREJBKTsKLSAgICBzYmljX2FybV93cml0ZShob3N0LT5zY3NpLmlvX3BvcnQsIFNCSUNfU09VUkNFSUQsIFNPVVJDRUlEX0VSIHwgU09VUkNFSURfRFNQKTsKKyAgICBzYmljX2FybV93cml0ZShob3N0LCBTQklDX0NUUkwsIElOSVRfU0JJQ0RNQSB8IENUUkxfSURJKTsKKyAgICBzYmljX2FybV93cml0ZShob3N0LCBTQklDX1RJTUVPVVQsIFRJTUVPVVRfVElNRSk7CisgICAgc2JpY19hcm1fd3JpdGUoaG9zdCwgU0JJQ19TWU5DSFRSQU5TRkVSLCBTWU5DSFRSQU5TRkVSXzJEQkEpOworICAgIHNiaWNfYXJtX3dyaXRlKGhvc3QsIFNCSUNfU09VUkNFSUQsIFNPVVJDRUlEX0VSIHwgU09VUkNFSURfRFNQKTsKIAogICAgIGhvc3QtPmNhcmQucGFnZV9yZWcgPSAweDQwOwotICAgIG91dGIoaG9zdC0+Y2FyZC5wYWdlX3JlZywgaG9zdC0+Y2FyZC5pb19wYWdlKTsKKyAgICB3cml0ZWIoaG9zdC0+Y2FyZC5wYWdlX3JlZywgaG9zdC0+ZmFzdCArIFBBR0VfUkVHKTsKIAogICAgIC8qIHNldHVwIGRtYWMgLSB1UEM3MTA3MSAqLwotICAgIGRtYWNfd3JpdGUoaG9zdC0+ZG1hLmlvX3BvcnQsIERNQUNfSU5JVCwgMCk7CisgICAgZG1hY193cml0ZShob3N0LCBETUFDX0lOSVQsIDApOwogI2lmZGVmIFVTRV9ETUFDCi0gICAgZG1hY193cml0ZShob3N0LT5kbWEuaW9fcG9ydCwgRE1BQ19JTklULCBJTklUXzhCSVQpOwotICAgIGRtYWNfd3JpdGUoaG9zdC0+ZG1hLmlvX3BvcnQsIERNQUNfQ0hBTk5FTCwgQ0hBTk5FTF8wKTsKLSAgICBkbWFjX3dyaXRlKGhvc3QtPmRtYS5pb19wb3J0LCBETUFDX0RFVkNPTjAsIElOSVRfREVWQ09OMCk7Ci0gICAgZG1hY193cml0ZShob3N0LT5kbWEuaW9fcG9ydCwgRE1BQ19ERVZDT04xLCBJTklUX0RFVkNPTjEpOworICAgIGRtYWNfd3JpdGUoaG9zdCwgRE1BQ19JTklULCBJTklUXzhCSVQpOworICAgIGRtYWNfd3JpdGUoaG9zdCwgRE1BQ19DSEFOTkVMLCBDSEFOTkVMXzApOworICAgIGRtYWNfd3JpdGUoaG9zdCwgRE1BQ19ERVZDT04wLCBJTklUX0RFVkNPTjApOworICAgIGRtYWNfd3JpdGUoaG9zdCwgRE1BQ19ERVZDT04xLCBJTklUX0RFVkNPTjEpOwogI2VuZGlmCiAKICAgICBob3N0LT5TQ3BudCA9IE5VTEw7CkBAIC03NDEsOSArNzM4LDkgQEAKICAgICAgKiBJZiB3ZSBoYXZlIGFuIGludGVycnVwdCBwZW5kaW5nLCB0aGVuIHdlIG1heSBoYXZlIGJlZW4gcmVzZWxlY3RlZC4KICAgICAgKiBJbiB0aGlzIGNhc2UsIHdlIGRvbid0IHdhbnQgdG8gd3JpdGUgdG8gdGhlIHJlZ2lzdGVycwogICAgICAqLwotICAgIGlmICghKHNiaWNfYXJtX3JlYWQoaG9zdC0+c2NzaS5pb19wb3J0LCBTQklDX0FTUikgJiAoQVNSX0lOVHxBU1JfQlNZfEFTUl9DSVApKSkgewotCXNiaWNfYXJtX3dyaXRlKGhvc3QtPnNjc2kuaW9fcG9ydCwgU0JJQ19ERVNUSUQsIFNDcG50LT5kZXZpY2UtPmlkKTsKLQlzYmljX2FybV93cml0ZShob3N0LT5zY3NpLmlvX3BvcnQsIFNCSUNfQ01ORCwgQ01ORF9TRUxXSVRIQVROKTsKKyAgICBpZiAoIShzYmljX2FybV9yZWFkKGhvc3QsIFNCSUNfQVNSKSAmIChBU1JfSU5UfEFTUl9CU1l8QVNSX0NJUCkpKSB7CisJc2JpY19hcm1fd3JpdGUoaG9zdCwgU0JJQ19ERVNUSUQsIFNDcG50LT5kZXZpY2UtPmlkKTsKKwlzYmljX2FybV93cml0ZShob3N0LCBTQklDX0NNTkQsIENNTkRfU0VMV0lUSEFUTik7CiAgICAgfQogCiAgICAgLyoKQEAgLTgwNyw3ICs4MDQsNyBAQAogCXN0cnVjdCBzY3NpX2NtbmQgKlNDcG50ID0gKlNDcG50cDsKIAogICAgIC8qIGNsZWFuIHVwICovCi0gICAgc2JpY19hcm1fd3JpdGUoaG9zdC0+c2NzaS5pb19wb3J0LCBTQklDX1NPVVJDRUlELCBTT1VSQ0VJRF9FUiB8IFNPVVJDRUlEX0RTUCk7CisgICAgc2JpY19hcm1fd3JpdGUoaG9zdCwgU0JJQ19TT1VSQ0VJRCwgU09VUkNFSURfRVIgfCBTT1VSQ0VJRF9EU1ApOwogCiAgICAgaG9zdC0+c3RhdHMuZmlucyArPSAxOwogCkBAIC05MTgsMTMgKzkxNSwxMyBAQAogdm9pZCBhY29ybnNjc2lfZGF0YV9yZWFkKEFTX0hvc3QgKmhvc3QsIGNoYXIgKnB0ciwKIAkJCQkgdW5zaWduZWQgaW50IHN0YXJ0X2FkZHIsIHVuc2lnbmVkIGludCBsZW5ndGgpCiB7Ci0gICAgZXh0ZXJuIHZvaWQgX19hY29ybnNjc2lfaW4oaW50IHBvcnQsIGNoYXIgKmJ1ZiwgaW50IGxlbik7CisgICAgZXh0ZXJuIHZvaWQgX19hY29ybnNjc2lfaW4odm9pZCBfX2lvbWVtICosIGNoYXIgKmJ1ZiwgaW50IGxlbik7CiAgICAgdW5zaWduZWQgaW50IHBhZ2UsIG9mZnNldCwgbGVuID0gbGVuZ3RoOwogCiAgICAgcGFnZSA9IChzdGFydF9hZGRyID4+IDEyKTsKICAgICBvZmZzZXQgPSBzdGFydF9hZGRyICYgKCgxIDw8IDEyKSAtIDEpOwogCi0gICAgb3V0YigocGFnZSAmIDB4M2YpIHwgaG9zdC0+Y2FyZC5wYWdlX3JlZywgaG9zdC0+Y2FyZC5pb19wYWdlKTsKKyAgICB3cml0ZWIoKHBhZ2UgJiAweDNmKSB8IGhvc3QtPmNhcmQucGFnZV9yZWcsIGhvc3QtPmZhc3QgKyBQQUdFX1JFRyk7CiAKICAgICB3aGlsZSAobGVuID4gMCkgewogCXVuc2lnbmVkIGludCB0aGlzX2xlbjsKQEAgLTkzNCw3ICs5MzEsNyBAQAogCWVsc2UKIAkgICAgdGhpc19sZW4gPSBsZW47CiAKLQlfX2Fjb3Juc2NzaV9pbihob3N0LT5jYXJkLmlvX3JhbSArIChvZmZzZXQgPDwgMSksIHB0ciwgdGhpc19sZW4pOworCV9fYWNvcm5zY3NpX2luKGhvc3QtPmJhc2UgKyAob2Zmc2V0IDw8IDEpLCBwdHIsIHRoaXNfbGVuKTsKIAogCW9mZnNldCArPSB0aGlzX2xlbjsKIAlwdHIgKz0gdGhpc19sZW47CkBAIC05NDMsMTAgKzk0MCwxMCBAQAogCWlmIChvZmZzZXQgPT0gKDEgPDwgMTIpKSB7CiAJICAgIG9mZnNldCA9IDA7CiAJICAgIHBhZ2UgKys7Ci0JICAgIG91dGIoKHBhZ2UgJiAweDNmKSB8IGhvc3QtPmNhcmQucGFnZV9yZWcsIGhvc3QtPmNhcmQuaW9fcGFnZSk7CisJICAgIHdyaXRlYigocGFnZSAmIDB4M2YpIHwgaG9zdC0+Y2FyZC5wYWdlX3JlZywgaG9zdC0+ZmFzdCArIFBBR0VfUkVHKTsKIAl9CiAgICAgfQotICAgIG91dGIoaG9zdC0+Y2FyZC5wYWdlX3JlZywgaG9zdC0+Y2FyZC5pb19wYWdlKTsKKyAgICB3cml0ZWIoaG9zdC0+Y2FyZC5wYWdlX3JlZywgaG9zdC0+ZmFzdCArIFBBR0VfUkVHKTsKIH0KIAogLyoKQEAgLTk2MywxMyArOTYwLDEzIEBACiB2b2lkIGFjb3Juc2NzaV9kYXRhX3dyaXRlKEFTX0hvc3QgKmhvc3QsIGNoYXIgKnB0ciwKIAkJCQkgdW5zaWduZWQgaW50IHN0YXJ0X2FkZHIsIHVuc2lnbmVkIGludCBsZW5ndGgpCiB7Ci0gICAgZXh0ZXJuIHZvaWQgX19hY29ybnNjc2lfb3V0KGludCBwb3J0LCBjaGFyICpidWYsIGludCBsZW4pOworICAgIGV4dGVybiB2b2lkIF9fYWNvcm5zY3NpX291dCh2b2lkIF9faW9tZW0gKiwgY2hhciAqYnVmLCBpbnQgbGVuKTsKICAgICB1bnNpZ25lZCBpbnQgcGFnZSwgb2Zmc2V0LCBsZW4gPSBsZW5ndGg7CiAKICAgICBwYWdlID0gKHN0YXJ0X2FkZHIgPj4gMTIpOwogICAgIG9mZnNldCA9IHN0YXJ0X2FkZHIgJiAoKDEgPDwgMTIpIC0gMSk7CiAKLSAgICBvdXRiKChwYWdlICYgMHgzZikgfCBob3N0LT5jYXJkLnBhZ2VfcmVnLCBob3N0LT5jYXJkLmlvX3BhZ2UpOworICAgIHdyaXRlYigocGFnZSAmIDB4M2YpIHwgaG9zdC0+Y2FyZC5wYWdlX3JlZywgaG9zdC0+ZmFzdCArIFBBR0VfUkVHKTsKIAogICAgIHdoaWxlIChsZW4gPiAwKSB7CiAJdW5zaWduZWQgaW50IHRoaXNfbGVuOwpAQCAtOTc5LDcgKzk3Niw3IEBACiAJZWxzZQogCSAgICB0aGlzX2xlbiA9IGxlbjsKIAotCV9fYWNvcm5zY3NpX291dChob3N0LT5jYXJkLmlvX3JhbSArIChvZmZzZXQgPDwgMSksIHB0ciwgdGhpc19sZW4pOworCV9fYWNvcm5zY3NpX291dChob3N0LT5iYXNlICsgKG9mZnNldCA8PCAxKSwgcHRyLCB0aGlzX2xlbik7CiAKIAlvZmZzZXQgKz0gdGhpc19sZW47CiAJcHRyICs9IHRoaXNfbGVuOwpAQCAtOTg4LDEwICs5ODUsMTAgQEAKIAlpZiAob2Zmc2V0ID09ICgxIDw8IDEyKSkgewogCSAgICBvZmZzZXQgPSAwOwogCSAgICBwYWdlICsrOwotCSAgICBvdXRiKChwYWdlICYgMHgzZikgfCBob3N0LT5jYXJkLnBhZ2VfcmVnLCBob3N0LT5jYXJkLmlvX3BhZ2UpOworCSAgICB3cml0ZWIoKHBhZ2UgJiAweDNmKSB8IGhvc3QtPmNhcmQucGFnZV9yZWcsIGhvc3QtPmZhc3QgKyBQQUdFX1JFRyk7CiAJfQogICAgIH0KLSAgICBvdXRiKGhvc3QtPmNhcmQucGFnZV9yZWcsIGhvc3QtPmNhcmQuaW9fcGFnZSk7CisgICAgd3JpdGViKGhvc3QtPmNhcmQucGFnZV9yZWcsIGhvc3QtPmZhc3QgKyBQQUdFX1JFRyk7CiB9CiAKIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkBAIC0xMDA4LDggKzEwMDUsOCBAQAogc3RhdGljIGlubGluZQogdm9pZCBhY29ybnNjc2lfZG1hX3N0b3AoQVNfSG9zdCAqaG9zdCkKIHsKLSAgICBkbWFjX3dyaXRlKGhvc3QtPmRtYS5pb19wb3J0LCBETUFDX01BU0tSRUcsIE1BU0tfT04pOwotICAgIGRtYWNfY2xlYXJpbnRyKGhvc3QtPmRtYS5pb19pbnRyX2NsZWFyKTsKKyAgICBkbWFjX3dyaXRlKGhvc3QsIERNQUNfTUFTS1JFRywgTUFTS19PTik7CisgICAgZG1hY19jbGVhcmludHIoaG9zdCk7CiAKICNpZiAoREVCVUcgJiBERUJVR19ETUEpCiAgICAgREJHKGhvc3QtPlNDcG50LCBhY29ybnNjc2lfZHVtcGRtYShob3N0LCAic3RvcCIpKTsKQEAgLTEwMzEsNyArMTAyOCw3IEBACiAKICAgICBob3N0LT5kbWEuZGlyZWN0aW9uID0gZGlyZWN0aW9uOwogCi0gICAgZG1hY193cml0ZShob3N0LT5kbWEuaW9fcG9ydCwgRE1BQ19NQVNLUkVHLCBNQVNLX09OKTsKKyAgICBkbWFjX3dyaXRlKGhvc3QsIERNQUNfTUFTS1JFRywgTUFTS19PTik7CiAKICAgICBpZiAoZGlyZWN0aW9uID09IERNQV9PVVQpIHsKICNpZiAoREVCVUcgJiBERUJVR19OT19XUklURSkKQEAgLTEwNjIsMTMgKzEwNTksMTMgQEAKIAkJCQlsZW5ndGgpOwogCiAJbGVuZ3RoIC09IDE7Ci0JZG1hY193cml0ZShob3N0LT5kbWEuaW9fcG9ydCwgRE1BQ19UWENOVExPLCBsZW5ndGgpOwotCWRtYWNfd3JpdGUoaG9zdC0+ZG1hLmlvX3BvcnQsIERNQUNfVFhDTlRISSwgbGVuZ3RoID4+IDgpOwotCWRtYWNfd3JpdGUoaG9zdC0+ZG1hLmlvX3BvcnQsIERNQUNfVFhBRFJMTywgYWRkcmVzcyk7Ci0JZG1hY193cml0ZShob3N0LT5kbWEuaW9fcG9ydCwgRE1BQ19UWEFEUk1ELCBhZGRyZXNzID4+IDgpOwotCWRtYWNfd3JpdGUoaG9zdC0+ZG1hLmlvX3BvcnQsIERNQUNfVFhBRFJISSwgMCk7Ci0JZG1hY193cml0ZShob3N0LT5kbWEuaW9fcG9ydCwgRE1BQ19NT0RFQ09OLCBtb2RlKTsKLQlkbWFjX3dyaXRlKGhvc3QtPmRtYS5pb19wb3J0LCBETUFDX01BU0tSRUcsIE1BU0tfT0ZGKTsKKwlkbWFjX3dyaXRlKGhvc3QsIERNQUNfVFhDTlRMTywgbGVuZ3RoKTsKKwlkbWFjX3dyaXRlKGhvc3QsIERNQUNfVFhDTlRISSwgbGVuZ3RoID4+IDgpOworCWRtYWNfd3JpdGUoaG9zdCwgRE1BQ19UWEFEUkxPLCBhZGRyZXNzKTsKKwlkbWFjX3dyaXRlKGhvc3QsIERNQUNfVFhBRFJNRCwgYWRkcmVzcyA+PiA4KTsKKwlkbWFjX3dyaXRlKGhvc3QsIERNQUNfVFhBRFJISSwgMCk7CisJZG1hY193cml0ZShob3N0LCBETUFDX01PREVDT04sIG1vZGUpOworCWRtYWNfd3JpdGUoaG9zdCwgRE1BQ19NQVNLUkVHLCBNQVNLX09GRik7CiAKICNpZiAoREVCVUcgJiBERUJVR19ETUEpCiAJREJHKGhvc3QtPlNDcG50LCBhY29ybnNjc2lfZHVtcGRtYShob3N0LCAic3RydCIpKTsKQEAgLTEwODgsOCArMTA4NSw4IEBACiBzdGF0aWMKIHZvaWQgYWNvcm5zY3NpX2RtYV9jbGVhbnVwKEFTX0hvc3QgKmhvc3QpCiB7Ci0gICAgZG1hY193cml0ZShob3N0LT5kbWEuaW9fcG9ydCwgRE1BQ19NQVNLUkVHLCBNQVNLX09OKTsKLSAgICBkbWFjX2NsZWFyaW50cihob3N0LT5kbWEuaW9faW50cl9jbGVhcik7CisgICAgZG1hY193cml0ZShob3N0LCBETUFDX01BU0tSRUcsIE1BU0tfT04pOworICAgIGRtYWNfY2xlYXJpbnRyKGhvc3QpOwogCiAgICAgLyoKICAgICAgKiBDaGVjayBmb3IgYSBwZW5kaW5nIHRyYW5zZmVyCkBAIC0xMTE2LDcgKzExMTMsNyBAQAogCS8qCiAJICogQ2FsY3VsYXRlIG51bWJlciBvZiBieXRlcyB0cmFuc2ZlcnJlZCBmcm9tIERNQS4KIAkgKi8KLQl0cmFuc2ZlcnJlZCA9IGRtYWNfYWRkcmVzcyhob3N0LT5kbWEuaW9fcG9ydCkgLSBob3N0LT5kbWEuc3RhcnRfYWRkcjsKKwl0cmFuc2ZlcnJlZCA9IGRtYWNfYWRkcmVzcyhob3N0KSAtIGhvc3QtPmRtYS5zdGFydF9hZGRyOwogCWhvc3QtPmRtYS50cmFuc2ZlcnJlZCArPSB0cmFuc2ZlcnJlZDsKIAogCWlmIChob3N0LT5kbWEuZGlyZWN0aW9uID09IERNQV9JTikKQEAgLTExNTIsMTMgKzExNDksMTMgQEAKICAgICBEQkcoaG9zdC0+U0NwbnQsIGFjb3Juc2NzaV9kdW1wZG1hKGhvc3QsICJpbnRpIikpOwogI2VuZGlmCiAKLSAgICBkbWFjX3dyaXRlKGhvc3QtPmRtYS5pb19wb3J0LCBETUFDX01BU0tSRUcsIE1BU0tfT04pOwotICAgIGRtYWNfY2xlYXJpbnRyKGhvc3QtPmRtYS5pb19pbnRyX2NsZWFyKTsKKyAgICBkbWFjX3dyaXRlKGhvc3QsIERNQUNfTUFTS1JFRywgTUFTS19PTik7CisgICAgZG1hY19jbGVhcmludHIoaG9zdCk7CiAKICAgICAvKgogICAgICAqIENhbGN1bGF0ZSBhbW91bnQgdHJhbnNmZXJyZWQgdmlhIERNQQogICAgICAqLwotICAgIHRyYW5zZmVycmVkID0gZG1hY19hZGRyZXNzKGhvc3QtPmRtYS5pb19wb3J0KSAtIGhvc3QtPmRtYS5zdGFydF9hZGRyOworICAgIHRyYW5zZmVycmVkID0gZG1hY19hZGRyZXNzKGhvc3QpIC0gaG9zdC0+ZG1hLnN0YXJ0X2FkZHI7CiAgICAgaG9zdC0+ZG1hLnRyYW5zZmVycmVkICs9IHRyYW5zZmVycmVkOwogCiAgICAgLyoKQEAgLTExOTAsMTIgKzExODcsMTIgQEAKIAkJCQlsZW5ndGgpOwogCiAJbGVuZ3RoIC09IDE7Ci0JZG1hY193cml0ZShob3N0LT5kbWEuaW9fcG9ydCwgRE1BQ19UWENOVExPLCBsZW5ndGgpOwotCWRtYWNfd3JpdGUoaG9zdC0+ZG1hLmlvX3BvcnQsIERNQUNfVFhDTlRISSwgbGVuZ3RoID4+IDgpOwotCWRtYWNfd3JpdGUoaG9zdC0+ZG1hLmlvX3BvcnQsIERNQUNfVFhBRFJMTywgYWRkcmVzcyk7Ci0JZG1hY193cml0ZShob3N0LT5kbWEuaW9fcG9ydCwgRE1BQ19UWEFEUk1ELCBhZGRyZXNzID4+IDgpOwotCWRtYWNfd3JpdGUoaG9zdC0+ZG1hLmlvX3BvcnQsIERNQUNfVFhBRFJISSwgMCk7Ci0JZG1hY193cml0ZShob3N0LT5kbWEuaW9fcG9ydCwgRE1BQ19NQVNLUkVHLCBNQVNLX09GRik7CisJZG1hY193cml0ZShob3N0LCBETUFDX1RYQ05UTE8sIGxlbmd0aCk7CisJZG1hY193cml0ZShob3N0LCBETUFDX1RYQ05USEksIGxlbmd0aCA+PiA4KTsKKwlkbWFjX3dyaXRlKGhvc3QsIERNQUNfVFhBRFJMTywgYWRkcmVzcyk7CisJZG1hY193cml0ZShob3N0LCBETUFDX1RYQURSTUQsIGFkZHJlc3MgPj4gOCk7CisJZG1hY193cml0ZShob3N0LCBETUFDX1RYQURSSEksIDApOworCWRtYWNfd3JpdGUoaG9zdCwgRE1BQ19NQVNLUkVHLCBNQVNLX09GRik7CiAKICNpZiAoREVCVUcgJiBERUJVR19ETUEpCiAJREJHKGhvc3QtPlNDcG50LCBhY29ybnNjc2lfZHVtcGRtYShob3N0LCAiaW50byIpKTsKQEAgLTEyMDksMTUgKzEyMDYsMTUgQEAKIAkgKiBhdHRlbnRpb24gY29uZGl0aW9uLiAgV2UgY29udGludWUgZ2l2aW5nIG9uZSBieXRlIHVudGlsCiAJICogdGhlIGRldmljZSByZWNvZ25pc2VzIHRoZSBhdHRlbnRpb24uCiAJICovCi0JaWYgKGRtYWNfcmVhZChob3N0LT5kbWEuaW9fcG9ydCwgRE1BQ19TVEFUVVMpICYgU1RBVFVTX1JRMCkgeworCWlmIChkbWFjX3JlYWQoaG9zdCwgRE1BQ19TVEFUVVMpICYgU1RBVFVTX1JRMCkgewogCSAgICBhY29ybnNjc2lfYWJvcnRjbWQoaG9zdCwgaG9zdC0+U0NwbnQtPnRhZyk7CiAKLQkgICAgZG1hY193cml0ZShob3N0LT5kbWEuaW9fcG9ydCwgRE1BQ19UWENOVExPLCAwKTsKLQkgICAgZG1hY193cml0ZShob3N0LT5kbWEuaW9fcG9ydCwgRE1BQ19UWENOVEhJLCAwKTsKLQkgICAgZG1hY193cml0ZShob3N0LT5kbWEuaW9fcG9ydCwgRE1BQ19UWEFEUkxPLCAwKTsKLQkgICAgZG1hY193cml0ZShob3N0LT5kbWEuaW9fcG9ydCwgRE1BQ19UWEFEUk1ELCAwKTsKLQkgICAgZG1hY193cml0ZShob3N0LT5kbWEuaW9fcG9ydCwgRE1BQ19UWEFEUkhJLCAwKTsKLQkgICAgZG1hY193cml0ZShob3N0LT5kbWEuaW9fcG9ydCwgRE1BQ19NQVNLUkVHLCBNQVNLX09GRik7CisJICAgIGRtYWNfd3JpdGUoaG9zdCwgRE1BQ19UWENOVExPLCAwKTsKKwkgICAgZG1hY193cml0ZShob3N0LCBETUFDX1RYQ05USEksIDApOworCSAgICBkbWFjX3dyaXRlKGhvc3QsIERNQUNfVFhBRFJMTywgMCk7CisJICAgIGRtYWNfd3JpdGUoaG9zdCwgRE1BQ19UWEFEUk1ELCAwKTsKKwkgICAgZG1hY193cml0ZShob3N0LCBETUFDX1RYQURSSEksIDApOworCSAgICBkbWFjX3dyaXRlKGhvc3QsIERNQUNfTUFTS1JFRywgTUFTS19PRkYpOwogCX0KICNlbmRpZgogICAgIH0KQEAgLTEyNzEsOSArMTI2OCw5IEBACiAJICAgIGhvc3QtPmRtYS54ZmVyX3NldHVwID0gMDsKIAllbHNlIHsKIAkgICAgdHJhbnNmZXJyZWQgKz0gaG9zdC0+ZG1hLnN0YXJ0X2FkZHI7Ci0JICAgIGRtYWNfd3JpdGUoaG9zdC0+ZG1hLmlvX3BvcnQsIERNQUNfVFhBRFJMTywgdHJhbnNmZXJyZWQpOwotCSAgICBkbWFjX3dyaXRlKGhvc3QtPmRtYS5pb19wb3J0LCBETUFDX1RYQURSTUQsIHRyYW5zZmVycmVkID4+IDgpOwotCSAgICBkbWFjX3dyaXRlKGhvc3QtPmRtYS5pb19wb3J0LCBETUFDX1RYQURSSEksIHRyYW5zZmVycmVkID4+IDE2KTsKKwkgICAgZG1hY193cml0ZShob3N0LCBETUFDX1RYQURSTE8sIHRyYW5zZmVycmVkKTsKKwkgICAgZG1hY193cml0ZShob3N0LCBETUFDX1RYQURSTUQsIHRyYW5zZmVycmVkID4+IDgpOworCSAgICBkbWFjX3dyaXRlKGhvc3QsIERNQUNfVFhBRFJISSwgdHJhbnNmZXJyZWQgPj4gMTYpOwogI2lmIChERUJVRyAmIChERUJVR19ETUF8REVCVUdfV1JJVEUpKQogCSAgICBEQkcoaG9zdC0+U0NwbnQsIGFjb3Juc2NzaV9kdW1wZG1hKGhvc3QsICJhZGpvIikpOwogI2VuZGlmCkBAIC0xMjkyLDEyICsxMjg5LDEyIEBACiAJaW50IG15X3B0ciA9ICpwdHI7CiAKIAl3aGlsZSAobXlfcHRyIDwgbGVuKSB7Ci0JCWFzciA9IHNiaWNfYXJtX3JlYWQoaG9zdC0+c2NzaS5pb19wb3J0LCBTQklDX0FTUik7CisJCWFzciA9IHNiaWNfYXJtX3JlYWQoaG9zdCwgU0JJQ19BU1IpOwogCiAJCWlmIChhc3IgJiBBU1JfREJSKSB7CiAJCQl0aW1lb3V0ID0gbWF4X3RpbWVvdXQ7CiAKLQkJCXNiaWNfYXJtX3dyaXRlKGhvc3QtPnNjc2kuaW9fcG9ydCwgU0JJQ19EQVRBLCBieXRlc1tteV9wdHIrK10pOworCQkJc2JpY19hcm1fd3JpdGUoaG9zdCwgU0JJQ19EQVRBLCBieXRlc1tteV9wdHIrK10pOwogCQl9IGVsc2UgaWYgKGFzciAmIEFTUl9JTlQpCiAJCQlicmVhazsKIAkJZWxzZSBpZiAoLS10aW1lb3V0ID09IDApCkBAIC0xMzIwLDkgKzEzMTcsOSBAQAogewogCXN0cnVjdCBzY3NpX2NtbmQgKlNDcG50ID0gaG9zdC0+U0NwbnQ7CiAKLSAgICBzYmljX2FybV93cml0ZShob3N0LT5zY3NpLmlvX3BvcnQsIFNCSUNfVFJBTlNDTlRILCAwKTsKLSAgICBzYmljX2FybV93cml0ZW5leHQoaG9zdC0+c2NzaS5pb19wb3J0LCAwKTsKLSAgICBzYmljX2FybV93cml0ZW5leHQoaG9zdC0+c2NzaS5pb19wb3J0LCBTQ3BudC0+Y21kX2xlbiAtIGhvc3QtPnNjc2kuU0NwLnNlbnRfY29tbWFuZCk7CisgICAgc2JpY19hcm1fd3JpdGUoaG9zdCwgU0JJQ19UUkFOU0NOVEgsIDApOworICAgIHNiaWNfYXJtX3dyaXRlbmV4dChob3N0LCAwKTsKKyAgICBzYmljX2FybV93cml0ZW5leHQoaG9zdCwgU0NwbnQtPmNtZF9sZW4gLSBob3N0LT5zY3NpLlNDcC5zZW50X2NvbW1hbmQpOwogCiAgICAgYWNvcm5zY3NpX3NiaWNfaXNzdWVjbWQoaG9zdCwgQ01ORF9YRkVSSU5GTyk7CiAKQEAgLTEzNTEsNyArMTM0OCw3IEBACiAKIAlhY29ybnNjc2lfc2JpY193YWl0KGhvc3QsIEFTUl9EQlIsIEFTUl9EQlIsIDEwMDAsICJzZW5kaW5nIG1lc3NhZ2UgMSIpOwogCi0Jc2JpY19hcm1fd3JpdGUoaG9zdC0+c2NzaS5pb19wb3J0LCBTQklDX0RBVEEsIE5PUCk7CisJc2JpY19hcm1fd3JpdGUoaG9zdCwgU0JJQ19EQVRBLCBOT1ApOwogCiAJaG9zdC0+c2NzaS5sYXN0X21lc3NhZ2UgPSBOT1A7CiAjaWYgKERFQlVHICYgREVCVUdfTUVTU0FHRVMpCkBAIC0xMzY1LDcgKzEzNjIsNyBAQAogCiAJYWNvcm5zY3NpX3NiaWNfd2FpdChob3N0LCBBU1JfREJSLCBBU1JfREJSLCAxMDAwLCAic2VuZGluZyBtZXNzYWdlIDIiKTsKIAotCXNiaWNfYXJtX3dyaXRlKGhvc3QtPnNjc2kuaW9fcG9ydCwgU0JJQ19EQVRBLCBtc2ctPm1zZ1swXSk7CisJc2JpY19hcm1fd3JpdGUoaG9zdCwgU0JJQ19EQVRBLCBtc2ctPm1zZ1swXSk7CiAKIAlob3N0LT5zY3NpLmxhc3RfbWVzc2FnZSA9IG1zZy0+bXNnWzBdOwogI2lmIChERUJVRyAmIERFQlVHX01FU1NBR0VTKQpAQCAtMTM4Miw5ICsxMzc5LDkgQEAKIAkgKiAgaW5pdGlhdG9yLiAgVGhpcyBwcm92aWRlcyBhbiBpbnRlcmxvY2sgc28gdGhhdCB0aGUKIAkgKiAgaW5pdGlhdG9yIGNhbiBkZXRlcm1pbmUgd2hpY2ggbWVzc2FnZSBieXRlIGlzIHJlamVjdGVkLgogCSAqLwotCXNiaWNfYXJtX3dyaXRlKGhvc3QtPnNjc2kuaW9fcG9ydCwgU0JJQ19UUkFOU0NOVEgsIDApOwotCXNiaWNfYXJtX3dyaXRlbmV4dChob3N0LT5zY3NpLmlvX3BvcnQsIDApOwotCXNiaWNfYXJtX3dyaXRlbmV4dChob3N0LT5zY3NpLmlvX3BvcnQsIG1lc3NhZ2VfbGVuZ3RoKTsKKwlzYmljX2FybV93cml0ZShob3N0LCBTQklDX1RSQU5TQ05USCwgMCk7CisJc2JpY19hcm1fd3JpdGVuZXh0KGhvc3QsIDApOworCXNiaWNfYXJtX3dyaXRlbmV4dChob3N0LCBtZXNzYWdlX2xlbmd0aCk7CiAJYWNvcm5zY3NpX3NiaWNfaXNzdWVjbWQoaG9zdCwgQ01ORF9YRkVSSU5GTyk7CiAKIAltc2duciA9IDA7CkBAIC0xNDIxLDcgKzE0MTgsNyBAQAogewogICAgIGFjb3Juc2NzaV9zYmljX2lzc3VlY21kKGhvc3QsIENNTkRfWEZFUklORk98Q01ORF9TQlQpOwogICAgIGFjb3Juc2NzaV9zYmljX3dhaXQoaG9zdCwgQVNSX0RCUiwgQVNSX0RCUiwgMTAwMCwgInJlYWRpbmcgc3RhdHVzIGJ5dGUiKTsKLSAgICBob3N0LT5zY3NpLlNDcC5TdGF0dXMgPSBzYmljX2FybV9yZWFkKGhvc3QtPnNjc2kuaW9fcG9ydCwgU0JJQ19EQVRBKTsKKyAgICBob3N0LT5zY3NpLlNDcC5TdGF0dXMgPSBzYmljX2FybV9yZWFkKGhvc3QsIFNCSUNfREFUQSk7CiB9CiAKIC8qCkBAIC0xNDM4LDEyICsxNDM1LDEyIEBACiAKICAgICBhY29ybnNjc2lfc2JpY193YWl0KGhvc3QsIEFTUl9EQlIsIEFTUl9EQlIsIDEwMDAsICJmb3IgbWVzc2FnZSBieXRlIik7CiAKLSAgICBtZXNzYWdlID0gc2JpY19hcm1fcmVhZChob3N0LT5zY3NpLmlvX3BvcnQsIFNCSUNfREFUQSk7CisgICAgbWVzc2FnZSA9IHNiaWNfYXJtX3JlYWQoaG9zdCwgU0JJQ19EQVRBKTsKIAogICAgIC8qIHdhaXQgZm9yIE1TR0lOLVhGRVItUEFVU0VEICovCiAgICAgYWNvcm5zY3NpX3NiaWNfd2FpdChob3N0LCBBU1JfSU5ULCBBU1JfSU5ULCAxMDAwLCAiZm9yIGludGVycnVwdCBhZnRlciBtZXNzYWdlIGJ5dGUiKTsKIAotICAgIHNiaWNfYXJtX3JlYWQoaG9zdC0+c2NzaS5pb19wb3J0LCBTQklDX1NTUik7CisgICAgc2JpY19hcm1fcmVhZChob3N0LCBTQklDX1NTUik7CiAKICAgICByZXR1cm4gbWVzc2FnZTsKIH0KQEAgLTE0ODAsNyArMTQ3Nyw3IEBACiAKIAkgICAgLyogd2FpdCBmb3IgbmV4dCBtc2ctaW4gKi8KIAkgICAgYWNvcm5zY3NpX3NiaWNfd2FpdChob3N0LCBBU1JfSU5ULCBBU1JfSU5ULCAxMDAwLCAiZm9yIGludGVycnVwdCBhZnRlciBuZWdhdGUgYWNrIik7Ci0JICAgIHNiaWNfYXJtX3JlYWQoaG9zdC0+c2NzaS5pb19wb3J0LCBTQklDX1NTUik7CisJICAgIHNiaWNfYXJtX3JlYWQoaG9zdCwgU0JJQ19TU1IpOwogCX0KICAgICB9IHdoaWxlIChtc2dpZHggPCBtc2dsZW4pOwogCkBAIC0xNjAyLDcgKzE1OTksNyBAQAogCQkgICAgaG9zdC0+aG9zdC0+aG9zdF9ubywgYWNvcm5zY3NpX3RhcmdldChob3N0KSk7CiAJICAgIGhvc3QtPmRldmljZVtob3N0LT5TQ3BudC0+ZGV2aWNlLT5pZF0uc3luY194ZmVyID0gU1lOQ0hUUkFOU0ZFUl8yREJBOwogCSAgICBob3N0LT5kZXZpY2VbaG9zdC0+U0NwbnQtPmRldmljZS0+aWRdLnN5bmNfc3RhdGUgPSBTWU5DX0FTWU5DSFJPTk9VUzsKLQkgICAgc2JpY19hcm1fd3JpdGUoaG9zdC0+c2NzaS5pb19wb3J0LCBTQklDX1NZTkNIVFJBTlNGRVIsIGhvc3QtPmRldmljZVtob3N0LT5TQ3BudC0+ZGV2aWNlLT5pZF0uc3luY194ZmVyKTsKKwkgICAgc2JpY19hcm1fd3JpdGUoaG9zdCwgU0JJQ19TWU5DSFRSQU5TRkVSLCBob3N0LT5kZXZpY2VbaG9zdC0+U0NwbnQtPmRldmljZS0+aWRdLnN5bmNfeGZlcik7CiAJICAgIGJyZWFrOwogCiAJZGVmYXVsdDoKQEAgLTE2NTIsNyArMTY0OSw3IEBACiAJCWhvc3QtPmRldmljZVtob3N0LT5TQ3BudC0+ZGV2aWNlLT5pZF0uc3luY194ZmVyID0KIAkJCWNhbGNfc3luY194ZmVyKHBlcmlvZCAqIDQsIGxlbmd0aCk7CiAJICAgIH0KLQkgICAgc2JpY19hcm1fd3JpdGUoaG9zdC0+c2NzaS5pb19wb3J0LCBTQklDX1NZTkNIVFJBTlNGRVIsIGhvc3QtPmRldmljZVtob3N0LT5TQ3BudC0+ZGV2aWNlLT5pZF0uc3luY194ZmVyKTsKKwkgICAgc2JpY19hcm1fd3JpdGUoaG9zdCwgU0JJQ19TWU5DSFRSQU5TRkVSLCBob3N0LT5kZXZpY2VbaG9zdC0+U0NwbnQtPmRldmljZS0+aWRdLnN5bmNfeGZlcik7CiAJICAgIGJyZWFrOwogI2Vsc2UKIAkgICAgLyogV2UgZG8gbm90IGFjY2VwdCBzeW5jaHJvbm91cyB0cmFuc2ZlcnMuICBSZXNwb25kIHdpdGggYQpAQCAtMTc5MiwxMCArMTc4OSwxMCBAQAogCiAgICAgcmVzaWR1YWwgPSBzY3NpX2J1ZmZsZW4oaG9zdC0+U0NwbnQpIC0gaG9zdC0+c2NzaS5TQ3Auc2NzaV94ZmVycmVkOwogCi0gICAgc2JpY19hcm1fd3JpdGUoaG9zdC0+c2NzaS5pb19wb3J0LCBTQklDX1NZTkNIVFJBTlNGRVIsIGhvc3QtPmRldmljZVtob3N0LT5TQ3BudC0+ZGV2aWNlLT5pZF0uc3luY194ZmVyKTsKLSAgICBzYmljX2FybV93cml0ZW5leHQoaG9zdC0+c2NzaS5pb19wb3J0LCByZXNpZHVhbCA+PiAxNik7Ci0gICAgc2JpY19hcm1fd3JpdGVuZXh0KGhvc3QtPnNjc2kuaW9fcG9ydCwgcmVzaWR1YWwgPj4gOCk7Ci0gICAgc2JpY19hcm1fd3JpdGVuZXh0KGhvc3QtPnNjc2kuaW9fcG9ydCwgcmVzaWR1YWwpOworICAgIHNiaWNfYXJtX3dyaXRlKGhvc3QsIFNCSUNfU1lOQ0hUUkFOU0ZFUiwgaG9zdC0+ZGV2aWNlW2hvc3QtPlNDcG50LT5kZXZpY2UtPmlkXS5zeW5jX3hmZXIpOworICAgIHNiaWNfYXJtX3dyaXRlbmV4dChob3N0LCByZXNpZHVhbCA+PiAxNik7CisgICAgc2JpY19hcm1fd3JpdGVuZXh0KGhvc3QsIHJlc2lkdWFsID4+IDgpOworICAgIHNiaWNfYXJtX3dyaXRlbmV4dChob3N0LCByZXNpZHVhbCk7CiAgICAgYWNvcm5zY3NpX3NiaWNfaXNzdWVjbWQoaG9zdCwgQ01ORF9YRkVSSU5GTyk7CiAgICAgcmV0dXJuIDE7CiB9CkBAIC0xODE2LDcgKzE4MTMsNyBAQAogewogICAgIHVuc2lnbmVkIGludCB0YXJnZXQsIGx1biwgb2sgPSAwOwogCi0gICAgdGFyZ2V0ID0gc2JpY19hcm1fcmVhZChob3N0LT5zY3NpLmlvX3BvcnQsIFNCSUNfU09VUkNFSUQpOworICAgIHRhcmdldCA9IHNiaWNfYXJtX3JlYWQoaG9zdCwgU0JJQ19TT1VSQ0VJRCk7CiAKICAgICBpZiAoISh0YXJnZXQgJiA4KSkKIAlwcmludGsoS0VSTl9FUlIgInNjc2klZDogaW52YWxpZCBzb3VyY2UgaWQgYWZ0ZXIgcmVzZWxlY3Rpb24gIgpAQCAtMTgzMiw3ICsxODI5LDcgQEAKIAlob3N0LT5TQ3BudCA9IE5VTEw7CiAgICAgfQogCi0gICAgbHVuID0gc2JpY19hcm1fcmVhZChob3N0LT5zY3NpLmlvX3BvcnQsIFNCSUNfREFUQSkgJiA3OworICAgIGx1biA9IHNiaWNfYXJtX3JlYWQoaG9zdCwgU0JJQ19EQVRBKSAmIDc7CiAKICAgICBob3N0LT5zY3NpLnJlY29ubmVjdGVkLnRhcmdldCA9IHRhcmdldDsKICAgICBob3N0LT5zY3NpLnJlY29ubmVjdGVkLmx1biA9IGx1bjsKQEAgLTE5NTIsNyArMTk0OSw3IEBACiB2b2lkIGFjb3Juc2NzaV9hYm9ydGNtZChBU19Ib3N0ICpob3N0LCB1bnNpZ25lZCBjaGFyIHRhZykKIHsKICAgICBob3N0LT5zY3NpLnBoYXNlID0gUEhBU0VfQUJPUlRFRDsKLSAgICBzYmljX2FybV93cml0ZShob3N0LT5zY3NpLmlvX3BvcnQsIFNCSUNfQ01ORCwgQ01ORF9BU1NFUlRBVE4pOworICAgIHNiaWNfYXJtX3dyaXRlKGhvc3QsIFNCSUNfQ01ORCwgQ01ORF9BU1NFUlRBVE4pOwogCiAgICAgbXNncXVldWVfZmx1c2goJmhvc3QtPnNjc2kubXNncyk7CiAjaWZkZWYgQ09ORklHX1NDU0lfQUNPUk5TQ1NJX1RBR0dFRF9RVUVVRQpAQCAtMTk3OSwxMSArMTk3NiwxMSBAQAogewogICAgIHVuc2lnbmVkIGludCBhc3IsIHNzcjsKIAotICAgIGFzciA9IHNiaWNfYXJtX3JlYWQoaG9zdC0+c2NzaS5pb19wb3J0LCBTQklDX0FTUik7CisgICAgYXNyID0gc2JpY19hcm1fcmVhZChob3N0LCBTQklDX0FTUik7CiAgICAgaWYgKCEoYXNyICYgQVNSX0lOVCkpCiAJcmV0dXJuIElOVFJfSURMRTsKIAotICAgIHNzciA9IHNiaWNfYXJtX3JlYWQoaG9zdC0+c2NzaS5pb19wb3J0LCBTQklDX1NTUik7CisgICAgc3NyID0gc2JpY19hcm1fcmVhZChob3N0LCBTQklDX1NTUik7CiAKICNpZiAoREVCVUcgJiBERUJVR19QSEFTRVMpCiAgICAgcHJpbnRfc2JpY19zdGF0dXMoYXNyLCBzc3IsIGhvc3QtPnNjc2kucGhhc2UpOwpAQCAtMTk5OSwxNSArMTk5NiwxNSBAQAogCXByaW50ayhLRVJOX0VSUiAic2NzaSVkOiByZXNldCBpbiBzdGFuZGFyZCBtb2RlIGJ1dCB3YW50ZWQgYWR2YW5jZWQgbW9kZS5cbiIsCiAJCWhvc3QtPmhvc3QtPmhvc3Rfbm8pOwogCS8qIHNldHVwIHNiaWMgLSBXRDMzQzkzQSAqLwotCXNiaWNfYXJtX3dyaXRlKGhvc3QtPnNjc2kuaW9fcG9ydCwgU0JJQ19PV05JRCwgT1dOSURfRUFGIHwgaG9zdC0+aG9zdC0+dGhpc19pZCk7Ci0Jc2JpY19hcm1fd3JpdGUoaG9zdC0+c2NzaS5pb19wb3J0LCBTQklDX0NNTkQsIENNTkRfUkVTRVQpOworCXNiaWNfYXJtX3dyaXRlKGhvc3QsIFNCSUNfT1dOSUQsIE9XTklEX0VBRiB8IGhvc3QtPmhvc3QtPnRoaXNfaWQpOworCXNiaWNfYXJtX3dyaXRlKGhvc3QsIFNCSUNfQ01ORCwgQ01ORF9SRVNFVCk7CiAJcmV0dXJuIElOVFJfSURMRTsKIAogICAgIGNhc2UgMHgwMToJCQkJLyogcmVzZXQgc3RhdGUgLSBhZHZhbmNlZAkJCSovCi0Jc2JpY19hcm1fd3JpdGUoaG9zdC0+c2NzaS5pb19wb3J0LCBTQklDX0NUUkwsIElOSVRfU0JJQ0RNQSB8IENUUkxfSURJKTsKLQlzYmljX2FybV93cml0ZShob3N0LT5zY3NpLmlvX3BvcnQsIFNCSUNfVElNRU9VVCwgVElNRU9VVF9USU1FKTsKLQlzYmljX2FybV93cml0ZShob3N0LT5zY3NpLmlvX3BvcnQsIFNCSUNfU1lOQ0hUUkFOU0ZFUiwgU1lOQ0hUUkFOU0ZFUl8yREJBKTsKLQlzYmljX2FybV93cml0ZShob3N0LT5zY3NpLmlvX3BvcnQsIFNCSUNfU09VUkNFSUQsIFNPVVJDRUlEX0VSIHwgU09VUkNFSURfRFNQKTsKKwlzYmljX2FybV93cml0ZShob3N0LCBTQklDX0NUUkwsIElOSVRfU0JJQ0RNQSB8IENUUkxfSURJKTsKKwlzYmljX2FybV93cml0ZShob3N0LCBTQklDX1RJTUVPVVQsIFRJTUVPVVRfVElNRSk7CisJc2JpY19hcm1fd3JpdGUoaG9zdCwgU0JJQ19TWU5DSFRSQU5TRkVSLCBTWU5DSFRSQU5TRkVSXzJEQkEpOworCXNiaWNfYXJtX3dyaXRlKGhvc3QsIFNCSUNfU09VUkNFSUQsIFNPVVJDRUlEX0VSIHwgU09VUkNFSURfRFNQKTsKIAltc2dxdWV1ZV9mbHVzaCgmaG9zdC0+c2NzaS5tc2dzKTsKIAlyZXR1cm4gSU5UUl9JRExFOwogCkBAIC0yMDI1LDEwICsyMDIyLDEwIEBACiAJICAgIG1zZ3F1ZXVlX2ZsdXNoKCZob3N0LT5zY3NpLm1zZ3MpOwogCSAgICBob3N0LT5kbWEudHJhbnNmZXJyZWQgPSBob3N0LT5zY3NpLlNDcC5zY3NpX3hmZXJyZWQ7CiAJICAgIC8qIDMzQzkzIGdpdmVzIG5leHQgaW50ZXJydXB0IGluZGljYXRpbmcgYnVzIHBoYXNlICovCi0JICAgIGFzciA9IHNiaWNfYXJtX3JlYWQoaG9zdC0+c2NzaS5pb19wb3J0LCBTQklDX0FTUik7CisJICAgIGFzciA9IHNiaWNfYXJtX3JlYWQoaG9zdCwgU0JJQ19BU1IpOwogCSAgICBpZiAoIShhc3IgJiBBU1JfSU5UKSkKIAkJYnJlYWs7Ci0JICAgIHNzciA9IHNiaWNfYXJtX3JlYWQoaG9zdC0+c2NzaS5pb19wb3J0LCBTQklDX1NTUik7CisJICAgIHNzciA9IHNiaWNfYXJtX3JlYWQoaG9zdCwgU0JJQ19TU1IpOwogCSAgICBBRERfU1RBVFVTKDgsIHNzciwgaG9zdC0+c2NzaS5waGFzZSwgMSk7CiAJICAgIEFERF9TVEFUVVMoaG9zdC0+U0NwbnQtPmRldmljZS0+aWQsIHNzciwgaG9zdC0+c2NzaS5waGFzZSwgMSk7CiAJICAgIGdvdG8gY29ubmVjdGVkOwpAQCAtMjQ3NiwxMSArMjQ3MywxMSBAQAogICAgIGRvIHsKIAlyZXQgPSBJTlRSX0lETEU7CiAKLQlpb3N0YXR1cyA9IGluYihob3N0LT5jYXJkLmlvX2ludHIpOworCWlvc3RhdHVzID0gcmVhZGIoaG9zdC0+ZmFzdCArIElOVF9SRUcpOwogCiAJaWYgKGlvc3RhdHVzICYgMikgewogCSAgICBhY29ybnNjc2lfZG1hX2ludHIoaG9zdCk7Ci0JICAgIGlvc3RhdHVzID0gaW5iKGhvc3QtPmNhcmQuaW9faW50cik7CisJICAgIGlvc3RhdHVzID0gcmVhZGIoaG9zdC0+ZmFzdCArIElOVF9SRUcpOwogCX0KIAogCWlmIChpb3N0YXR1cyAmIDgpCkBAIC0yNjU1LDcgKzI2NTIsNyBAQAogCQkgKiBidXN5bHVuIGJpdC4KIAkJICovCiAJCWNhc2UgUEhBU0VfQ09OTkVDVEVEOgotCQkJc2JpY19hcm1fd3JpdGUoaG9zdC0+c2NzaS5pb19wb3J0LCBTQklDX0NNTkQsIENNTkRfRElTQ09OTkVDVCk7CisJCQlzYmljX2FybV93cml0ZShob3N0LCBTQklDX0NNTkQsIENNTkRfRElTQ09OTkVDVCk7CiAJCQlob3N0LT5TQ3BudCA9IE5VTEw7CiAJCQlyZXMgPSByZXNfc3VjY2Vzc19jbGVhcjsKIAkJCWJyZWFrOwpAQCAtMjY5OSw4ICsyNjk2LDggQEAKICNpZiAoREVCVUcgJiBERUJVR19BQk9SVCkKIAl7CiAJCWludCBhc3IsIHNzcjsKLQkJYXNyID0gc2JpY19hcm1fcmVhZChob3N0LT5zY3NpLmlvX3BvcnQsIFNCSUNfQVNSKTsKLQkJc3NyID0gc2JpY19hcm1fcmVhZChob3N0LT5zY3NpLmlvX3BvcnQsIFNCSUNfU1NSKTsKKwkJYXNyID0gc2JpY19hcm1fcmVhZChob3N0LCBTQklDX0FTUik7CisJCXNzciA9IHNiaWNfYXJtX3JlYWQoaG9zdCwgU0JJQ19TU1IpOwogCiAJCXByaW50ayhLRVJOX1dBUk5JTkcgImFjb3Juc2NzaV9hYm9ydDogIik7CiAJCXByaW50X3NiaWNfc3RhdHVzKGFzciwgc3NyLCBob3N0LT5zY3NpLnBoYXNlKTsKQEAgLTI3MzEsOSArMjcyOCw3IEBACiAvLyNpZiAoREVCVUcgJiBERUJVR19BQk9SVCkKIAkJcHJpbnRrKCJzdWNjZXNzXG4iKTsKIC8vI2VuZGlmCi0JCVNDcG50LT5yZXN1bHQgPSBESURfQUJPUlQgPDwgMTY7Ci0JCVNDcG50LT5zY3NpX2RvbmUoU0NwbnQpOwotCQlyZXN1bHQgPSBTQ1NJX0FCT1JUX1NVQ0NFU1M7CisJCXJlc3VsdCA9IFNVQ0NFU1M7CiAJCWJyZWFrOwogCiAJLyoKQEAgLTI3NDUsNyArMjc0MCw3IEBACiAvLyNpZiAoREVCVUcgJiBERUJVR19BQk9SVCkKIAkJcHJpbnRrKCJzbm9vemVcbiIpOwogLy8jZW5kaWYKLQkJcmVzdWx0ID0gU0NTSV9BQk9SVF9TTk9PWkU7CisJCXJlc3VsdCA9IEZBSUxFRDsKIAkJYnJlYWs7CiAKIAkvKgpAQCAtMjc1NSwxMSArMjc1MCw3IEBACiAJZGVmYXVsdDoKIAljYXNlIHJlc19ub3RfcnVubmluZzoKIAkJYWNvcm5zY3NpX2R1bXBsb2coaG9zdCwgU0NwbnQtPmRldmljZS0+aWQpOwotI2lmIChERUJVRyAmIERFQlVHX0FCT1JUKQotCQlyZXN1bHQgPSBTQ1NJX0FCT1JUX1NOT09aRTsKLSNlbHNlCi0JCXJlc3VsdCA9IFNDU0lfQUJPUlRfTk9UX1JVTk5JTkc7Ci0jZW5kaWYKKwkJcmVzdWx0ID0gRkFJTEVEOwogLy8jaWYgKERFQlVHICYgREVCVUdfQUJPUlQpCiAJCXByaW50aygibm90IHJ1bm5pbmdcbiIpOwogLy8jZW5kaWYKQEAgLTI3NzAsMTMgKzI3NjEsMTIgQEAKIH0KIAogLyoKLSAqIFByb3RvdHlwZTogaW50IGFjb3Juc2NzaV9yZXNldChzdHJ1Y3Qgc2NzaV9jbW5kICpTQ3BudCwgdW5zaWduZWQgaW50IHJlc2V0X2ZsYWdzKQorICogUHJvdG90eXBlOiBpbnQgYWNvcm5zY3NpX3Jlc2V0KHN0cnVjdCBzY3NpX2NtbmQgKlNDcG50KQogICogUHVycG9zZSAgOiByZXNldCBhIGNvbW1hbmQgb24gdGhpcyBob3N0L3Jlc2V0IHRoaXMgaG9zdAogICogUGFyYW1zICAgOiBTQ3BudCAgLSBjb21tYW5kIGNhdXNpbmcgcmVzZXQKLSAqCSAgICAgIHJlc3VsdCAtIHdoYXQgdHlwZSBvZiByZXNldCB0byBwZXJmb3JtCiAgKiBSZXR1cm5zICA6IG9uZSBvZiBTQ1NJX1JFU0VUXyBtYWNyb3MKICAqLwotaW50IGFjb3Juc2NzaV9yZXNldChzdHJ1Y3Qgc2NzaV9jbW5kICpTQ3BudCwgdW5zaWduZWQgaW50IHJlc2V0X2ZsYWdzKQoraW50IGFjb3Juc2NzaV9idXNfcmVzZXQoc3RydWN0IHNjc2lfY21uZCAqU0NwbnQpCiB7CiAJQVNfSG9zdCAqaG9zdCA9IChBU19Ib3N0ICopU0NwbnQtPmRldmljZS0+aG9zdC0+aG9zdGRhdGE7CiAJc3RydWN0IHNjc2lfY21uZCAqU0NwdHI7CkBAIC0yNzg3LDggKzI3NzcsOCBAQAogICAgIHsKIAlpbnQgYXNyLCBzc3I7CiAKLQlhc3IgPSBzYmljX2FybV9yZWFkKGhvc3QtPnNjc2kuaW9fcG9ydCwgU0JJQ19BU1IpOwotCXNzciA9IHNiaWNfYXJtX3JlYWQoaG9zdC0+c2NzaS5pb19wb3J0LCBTQklDX1NTUik7CisJYXNyID0gc2JpY19hcm1fcmVhZChob3N0LCBTQklDX0FTUik7CisJc3NyID0gc2JpY19hcm1fcmVhZChob3N0LCBTQklDX1NTUik7CiAKIAlwcmludGsoS0VSTl9XQVJOSU5HICJhY29ybnNjc2lfcmVzZXQ6ICIpOwogCXByaW50X3NiaWNfc3RhdHVzKGFzciwgc3NyLCBob3N0LT5zY3NpLnBoYXNlKTsKQEAgLTI3OTgsMjggKzI3ODgsMTYgQEAKIAogICAgIGFjb3Juc2NzaV9kbWFfc3RvcChob3N0KTsKIAotICAgIFNDcHRyID0gaG9zdC0+U0NwbnQ7Ci0KICAgICAvKgogICAgICAqIGRvIGhhcmQgcmVzZXQuICBUaGlzIHJlc2V0cyBhbGwgZGV2aWNlcyBvbiB0aGlzIGhvc3QsIGFuZCBzbyB3ZQogICAgICAqIG11c3Qgc2V0IHRoZSByZXNldCBzdGF0dXMgb24gYWxsIGNvbW1hbmRzLgogICAgICAqLwogICAgIGFjb3Juc2NzaV9yZXNldGNhcmQoaG9zdCk7CiAKLSAgICAvKgotICAgICAqIHJlcG9ydCByZXNldCBvbiBjb21tYW5kcyBjdXJyZW50IGNvbm5lY3RlZC9kaXNjb25uZWN0ZWQKLSAgICAgKi8KLSAgICBhY29ybnNjc2lfcmVwb3J0c3RhdHVzKCZob3N0LT5TQ3BudCwgJlNDcHRyLCBESURfUkVTRVQpOwotCiAgICAgd2hpbGUgKChTQ3B0ciA9IHF1ZXVlX3JlbW92ZSgmaG9zdC0+cXVldWVzLmRpc2Nvbm5lY3RlZCkpICE9IE5VTEwpCi0JYWNvcm5zY3NpX3JlcG9ydHN0YXR1cygmU0NwdHIsICZTQ3BudCwgRElEX1JFU0VUKTsKKwk7CiAKLSAgICBpZiAoU0NwbnQpIHsKLQlTQ3BudC0+cmVzdWx0ID0gRElEX1JFU0VUIDw8IDE2OwotCVNDcG50LT5zY3NpX2RvbmUoU0NwbnQpOwotICAgIH0KLQotICAgIHJldHVybiBTQ1NJX1JFU0VUX0JVU19SRVNFVCB8IFNDU0lfUkVTRVRfSE9TVF9SRVNFVCB8IFNDU0lfUkVTRVRfU1VDQ0VTUzsKKyAgICByZXR1cm4gU1VDQ0VTUzsKIH0KIAogLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkBAIC0yODUwLDcgKzI4MjgsNyBAQAogICAgICIgTElOSyIKICNlbmRpZgogI2lmIChERUJVRyAmIERFQlVHX05PX1dSSVRFKQotICAgICIgTk9XUklURSAoIk5PX1dSSVRFX1NUUiIpIgorICAgICIgTk9XUklURSAoIiBfX3N0cmluZ2lmeShOT19XUklURSkgIikiCiAjZW5kaWYKIAkJLCBob3N0LT5ob3N0dC0+bmFtZSwgaG9zdC0+aW9fcG9ydCwgaG9zdC0+aXJxLAogCQlWRVJfTUFKT1IsIFZFUl9NSU5PUiwgVkVSX1BBVENIKTsKQEAgLTI4ODEsMTUgKzI4NTksMTUgQEAKICAgICAiIExJTksiCiAjZW5kaWYKICNpZiAoREVCVUcgJiBERUJVR19OT19XUklURSkKLSAgICAiIE5PV1JJVEUgKCJOT19XUklURV9TVFIiKSIKKyAgICAiIE5PV1JJVEUgKCIgX19zdHJpbmdpZnkoTk9fV1JJVEUpICIpIgogI2VuZGlmCiAJCSJcblxuIiwgVkVSX01BSk9SLCBWRVJfTUlOT1IsIFZFUl9QQVRDSCk7CiAKLSAgICBwICs9IHNwcmludGYocCwJIlNCSUM6IFdEMzNDOTNBICBBZGRyZXNzOiAlMDhYICBJUlEgOiAlZFxuIiwKLQkJCWhvc3QtPnNjc2kuaW9fcG9ydCwgaG9zdC0+c2NzaS5pcnEpOworICAgIHAgKz0gc3ByaW50ZihwLAkiU0JJQzogV0QzM0M5M0EgIEFkZHJlc3M6ICVwICAgIElSUSA6ICVkXG4iLAorCQkJaG9zdC0+YmFzZSArIFNCSUNfUkVHSURYLCBob3N0LT5zY3NpLmlycSk7CiAjaWZkZWYgVVNFX0RNQUMKLSAgICBwICs9IHNwcmludGYocCwJIkRNQUM6IHVQQzcxMDcxICBBZGRyZXNzOiAlMDhYICBJUlEgOiAlZFxuXG4iLAotCQkJaG9zdC0+ZG1hLmlvX3BvcnQsIGhvc3QtPnNjc2kuaXJxKTsKKyAgICBwICs9IHNwcmludGYocCwJIkRNQUM6IHVQQzcxMDcxICBBZGRyZXNzOiAlcCAgSVJRIDogJWRcblxuIiwKKwkJCWhvc3QtPmJhc2UgKyBETUFDX09GRlNFVCwgaG9zdC0+c2NzaS5pcnEpOwogI2VuZGlmCiAKICAgICBwICs9IHNwcmludGYocCwJIlN0YXRpc3RpY3M6XG4iCkBAIC0yOTc2LDkgKzI5NTQsOCBAQAogCS5uYW1lCQkJPSAiQWNvcm5TQ1NJIiwKIAkuaW5mbwkJCT0gYWNvcm5zY3NpX2luZm8sCiAJLnF1ZXVlY29tbWFuZAkJPSBhY29ybnNjc2lfcXVldWVjbWQsCi0jd2FybmluZyBmaXhtZQotCS5hYm9ydAkJCT0gYWNvcm5zY3NpX2Fib3J0LAotCS5yZXNldAkJCT0gYWNvcm5zY3NpX3Jlc2V0LAorCS5laF9hYm9ydF9oYW5kbGVyCT0gYWNvcm5zY3NpX2Fib3J0LAorCS5laF9idXNfcmVzZXRfaGFuZGxlcgk9IGFjb3Juc2NzaV9idXNfcmVzZXQsCiAJLmNhbl9xdWV1ZQkJPSAxNiwKIAkudGhpc19pZAkJPSA3LAogCS5zZ190YWJsZXNpemUJCT0gU0dfQUxMLApAQCAtMjk5Miw0OCArMjk2OSwzNyBAQAogewogCXN0cnVjdCBTY3NpX0hvc3QgKmhvc3Q7CiAJQVNfSG9zdCAqYXNob3N0OwotCWludCByZXQgPSAtRU5PTUVNOworCWludCByZXQ7CisKKwlyZXQgPSBlY2FyZF9yZXF1ZXN0X3Jlc291cmNlcyhlYyk7CisJaWYgKHJldCkKKwkJZ290byBvdXQ7CiAKIAlob3N0ID0gc2NzaV9ob3N0X2FsbG9jKCZhY29ybnNjc2lfdGVtcGxhdGUsIHNpemVvZihBU19Ib3N0KSk7Ci0JaWYgKCFob3N0KQotCQlnb3RvIG91dDsKKwlpZiAoIWhvc3QpIHsKKwkJcmV0ID0gLUVOT01FTTsKKwkJZ290byBvdXRfcmVsZWFzZTsKKwl9CiAKIAlhc2hvc3QgPSAoQVNfSG9zdCAqKWhvc3QtPmhvc3RkYXRhOwogCi0JaG9zdC0+aW9fcG9ydCA9IGVjYXJkX2FkZHJlc3MoZWMsIEVDQVJEX01FTUMsIDApOworCWFzaG9zdC0+YmFzZSA9IGVjYXJkbV9pb21hcChlYywgRUNBUkRfUkVTX01FTUMsIDAsIDApOworCWFzaG9zdC0+ZmFzdCA9IGVjYXJkbV9pb21hcChlYywgRUNBUkRfUkVTX0lPQ0ZBU1QsIDAsIDApOworCWlmICghYXNob3N0LT5iYXNlIHx8ICFhc2hvc3QtPmZhc3QpCisJCWdvdG8gb3V0X3B1dDsKKwogCWhvc3QtPmlycSA9IGVjLT5pcnE7CisJYXNob3N0LT5ob3N0ID0gaG9zdDsKKwlhc2hvc3QtPnNjc2kuaXJxID0gaG9zdC0+aXJxOwogCi0JYXNob3N0LT5ob3N0CQk9IGhvc3Q7Ci0JYXNob3N0LT5zY3NpLmlvX3BvcnQJPSBpb2FkZHIoaG9zdC0+aW9fcG9ydCArIDB4ODAwKTsKLQlhc2hvc3QtPnNjc2kuaXJxCT0gaG9zdC0+aXJxOwotCWFzaG9zdC0+Y2FyZC5pb19pbnRyCT0gUE9EX1NQQUNFKGhvc3QtPmlvX3BvcnQpICsgMHg4MDA7Ci0JYXNob3N0LT5jYXJkLmlvX3BhZ2UJPSBQT0RfU1BBQ0UoaG9zdC0+aW9fcG9ydCkgKyAweGMwMDsKLQlhc2hvc3QtPmNhcmQuaW9fcmFtCT0gaW9hZGRyKGhvc3QtPmlvX3BvcnQpOwotCWFzaG9zdC0+ZG1hLmlvX3BvcnQJPSBob3N0LT5pb19wb3J0ICsgMHhjMDA7Ci0JYXNob3N0LT5kbWEuaW9faW50cl9jbGVhciA9IFBPRF9TUEFDRShob3N0LT5pb19wb3J0KSArIDB4ODAwOwotCi0JZWMtPmlycWFkZHIJPSAoY2hhciAqKWlvYWRkcihhc2hvc3QtPmNhcmQuaW9faW50cik7CisJZWMtPmlycWFkZHIJPSBhc2hvc3QtPmZhc3QgKyBJTlRfUkVHOwogCWVjLT5pcnFtYXNrCT0gMHgwYTsKIAotCXJldCA9IC1FQlVTWTsKLQlpZiAoIXJlcXVlc3RfcmVnaW9uKGhvc3QtPmlvX3BvcnQgKyAweDgwMCwgMiwgImFjb3Juc2NzaShzYmljKSIpKQotCQlnb3RvIGVycl8xOwotCWlmICghcmVxdWVzdF9yZWdpb24oYXNob3N0LT5jYXJkLmlvX2ludHIsIDEsICJhY29ybnNjc2koaW50cikiKSkKLQkJZ290byBlcnJfMjsKLQlpZiAoIXJlcXVlc3RfcmVnaW9uKGFzaG9zdC0+Y2FyZC5pb19wYWdlLCAxLCAiYWNvcm5zY3NpKHBhZ2UpIikpCi0JCWdvdG8gZXJyXzM7Ci0jaWZkZWYgVVNFX0RNQUMKLQlpZiAoIXJlcXVlc3RfcmVnaW9uKGFzaG9zdC0+ZG1hLmlvX3BvcnQsIDI1NiwgImFjb3Juc2NzaShkbWFjKSIpKQotCQlnb3RvIGVycl80OwotI2VuZGlmCi0JaWYgKCFyZXF1ZXN0X3JlZ2lvbihob3N0LT5pb19wb3J0LCAyMDQ4LCAiYWNvcm5zY3NpKHJhbSkiKSkKLQkJZ290byBlcnJfNTsKLQogCXJldCA9IHJlcXVlc3RfaXJxKGhvc3QtPmlycSwgYWNvcm5zY3NpX2ludHIsIElSUUZfRElTQUJMRUQsICJhY29ybnNjc2kiLCBhc2hvc3QpOwogCWlmIChyZXQpIHsKIAkJcHJpbnRrKEtFUk5fQ1JJVCAic2NzaSVkOiBJUlElZCBub3QgZnJlZTogJWRcbiIsCiAJCQlob3N0LT5ob3N0X25vLCBhc2hvc3QtPnNjc2kuaXJxLCByZXQpOwotCQlnb3RvIGVycl82OworCQlnb3RvIG91dF9wdXQ7CiAJfQogCiAJbWVtc2V0KCZhc2hvc3QtPnN0YXRzLCAwLCBzaXplb2YgKGFzaG9zdC0+c3RhdHMpKTsKQEAgLTMwNDUsMjcgKzMwMTEsMjIgQEAKIAogCXJldCA9IHNjc2lfYWRkX2hvc3QoaG9zdCwgJmVjLT5kZXYpOwogCWlmIChyZXQpCi0JCWdvdG8gZXJyXzc7CisJCWdvdG8gb3V0X2lycTsKIAogCXNjc2lfc2Nhbl9ob3N0KGhvc3QpOwogCWdvdG8gb3V0OwogCi0gZXJyXzc6Cisgb3V0X2lycToKIAlmcmVlX2lycShob3N0LT5pcnEsIGFzaG9zdCk7Ci0gZXJyXzY6Ci0JcmVsZWFzZV9yZWdpb24oaG9zdC0+aW9fcG9ydCwgMjA0OCk7Ci0gZXJyXzU6Ci0jaWZkZWYgVVNFX0RNQUMKLQlyZWxlYXNlX3JlZ2lvbihhc2hvc3QtPmRtYS5pb19wb3J0LCAyNTYpOwotI2VuZGlmCi0gZXJyXzQ6Ci0JcmVsZWFzZV9yZWdpb24oYXNob3N0LT5jYXJkLmlvX3BhZ2UsIDEpOwotIGVycl8zOgotCXJlbGVhc2VfcmVnaW9uKGFzaG9zdC0+Y2FyZC5pb19pbnRyLCAxKTsgICAgCi0gZXJyXzI6Ci0JcmVsZWFzZV9yZWdpb24oaG9zdC0+aW9fcG9ydCArIDB4ODAwLCAyKTsKLSBlcnJfMToKKwltc2dxdWV1ZV9mcmVlKCZhc2hvc3QtPnNjc2kubXNncyk7CisJcXVldWVfZnJlZSgmYXNob3N0LT5xdWV1ZXMuZGlzY29ubmVjdGVkKTsKKwlxdWV1ZV9mcmVlKCZhc2hvc3QtPnF1ZXVlcy5pc3N1ZSk7Cisgb3V0X3B1dDoKKwllY2FyZG1faW91bm1hcChlYywgYXNob3N0LT5mYXN0KTsKKwllY2FyZG1faW91bm1hcChlYywgYXNob3N0LT5iYXNlKTsKIAlzY3NpX2hvc3RfcHV0KGhvc3QpOworIG91dF9yZWxlYXNlOgorCWVjYXJkX3JlbGVhc2VfcmVzb3VyY2VzKGVjKTsKICBvdXQ6CiAJcmV0dXJuIHJldDsKIH0KQEAgLTMwODEsMjAgKzMwNDIsMTcgQEAKIAkvKgogCSAqIFB1dCBjYXJkIGludG8gUkVTRVQgc3RhdGUKIAkgKi8KLQlvdXRiKDB4ODAsIGFzaG9zdC0+Y2FyZC5pb19wYWdlKTsKKwl3cml0ZWIoMHg4MCwgYXNob3N0LT5mYXN0ICsgUEFHRV9SRUcpOwogCiAJZnJlZV9pcnEoaG9zdC0+aXJxLCBhc2hvc3QpOwogCi0JcmVsZWFzZV9yZWdpb24oaG9zdC0+aW9fcG9ydCArIDB4ODAwLCAyKTsKLQlyZWxlYXNlX3JlZ2lvbihhc2hvc3QtPmNhcmQuaW9faW50ciwgMSk7Ci0JcmVsZWFzZV9yZWdpb24oYXNob3N0LT5jYXJkLmlvX3BhZ2UsIDEpOwotCXJlbGVhc2VfcmVnaW9uKGFzaG9zdC0+ZG1hLmlvX3BvcnQsIDI1Nik7Ci0JcmVsZWFzZV9yZWdpb24oaG9zdC0+aW9fcG9ydCwgMjA0OCk7Ci0KIAltc2dxdWV1ZV9mcmVlKCZhc2hvc3QtPnNjc2kubXNncyk7CiAJcXVldWVfZnJlZSgmYXNob3N0LT5xdWV1ZXMuZGlzY29ubmVjdGVkKTsKIAlxdWV1ZV9mcmVlKCZhc2hvc3QtPnF1ZXVlcy5pc3N1ZSk7CisJZWNhcmRtX2lvdW5tYXAoZWMsIGFzaG9zdC0+ZmFzdCk7CisJZWNhcmRtX2lvdW5tYXAoZWMsIGFzaG9zdC0+YmFzZSk7CiAJc2NzaV9ob3N0X3B1dChob3N0KTsKKwllY2FyZF9yZWxlYXNlX3Jlc291cmNlcyhlYyk7CiB9CiAKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZWNhcmRfaWQgYWNvcm5zY3NpX2NpZHNbXSA9IHsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvc2NzaS9hcm0vYWNvcm5zY3NpLmggYi9kcml2ZXJzL3Njc2kvYXJtL2Fjb3Juc2NzaS5oCmluZGV4IGQxMTQyNGIuLjhkMjE3MmEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvc2NzaS9hcm0vYWNvcm5zY3NpLmgKKysrIGIvZHJpdmVycy9zY3NpL2FybS9hY29ybnNjc2kuaApAQCAtMTc5LDcgKzE3OSw2IEBACiAKIC8qIG1pc2NlbGxhbmVvdXMgaW50ZXJuYWwgdmFyaWFibGVzICovCiAKLSNkZWZpbmUgUE9EX1NQQUNFKHgpCSgoeCkgKyAweGQwMDAwKQogI2RlZmluZSBNQVNLX09OCQkoTUFTS1JFR19NM3xNQVNLUkVHX00yfE1BU0tSRUdfTTF8TUFTS1JFR19NMCkKICNkZWZpbmUgTUFTS19PRkYJKE1BU0tSRUdfTTN8TUFTS1JFR19NMnxNQVNLUkVHX00xKQogCkBAIC0yNzksMTAgKzI3OCwxMSBAQAogICAgIHN0cnVjdCBTY3NpX0hvc3QJKmhvc3Q7CQkJLyogaG9zdAkJCQkJKi8KICAgICBzdHJ1Y3Qgc2NzaV9jbW5kCSpTQ3BudDsJCQkvKiBjdXJyZW50bHkgcHJvY2Vzc2luZyBjb21tYW5kCQkqLwogICAgIHN0cnVjdCBzY3NpX2NtbmQJKm9yaWdTQ3BudDsJCS8qIG9yaWdpbmFsIGNvbm5lY3RpbmcgY29tbWFuZAkJKi8KKyAgICB2b2lkIF9faW9tZW0JKmJhc2U7CQkJLyogbWVtYyBiYXNlIGFkZHJlc3MgCQkJKi8KKyAgICB2b2lkIF9faW9tZW0JKmZhc3Q7CQkJLyogZmFzdCBpb2MgYmFzZSBhZGRyZXNzCQkqLwogCiAgICAgLyogZHJpdmVyIGluZm9ybWF0aW9uICovCiAgICAgc3RydWN0IHsKLQl1bnNpZ25lZCBpbnQJaW9fcG9ydDsJCS8qIGJhc2UgYWRkcmVzcyBvZiBXRDMzQzkzCQkqLwogCXVuc2lnbmVkIGludAlpcnE7CQkJLyogaW50ZXJydXB0CQkJCSovCiAJcGhhc2VfdAkJcGhhc2U7CQkJLyogY3VycmVudCBwaGFzZQkJCSovCiAKQEAgLTMyOSw4ICszMjksNiBAQAogCiAgICAgLyogRE1BIGluZm8gKi8KICAgICBzdHJ1Y3QgewotCXVuc2lnbmVkIGludAlpb19wb3J0OwkJLyogYmFzZSBhZGRyZXNzIG9mIERNQSBjb250cm9sbGVyCSovCi0JdW5zaWduZWQgaW50CWlvX2ludHJfY2xlYXI7CQkvKiBhZGRyZXNzIG9mIERNQSBpbnRlcnJ1cHQgY2xlYXIJKi8KIAl1bnNpZ25lZCBpbnQJZnJlZV9hZGRyOwkJLyogbmV4dCBmcmVlIGFkZHJlc3MJCQkqLwogCXVuc2lnbmVkIGludAlzdGFydF9hZGRyOwkJLyogc3RhcnQgYWRkcmVzcyBvZiBjdXJyZW50IHRyYW5zZmVyCSovCiAJZG1hZGlyX3QJZGlyZWN0aW9uOwkJLyogZG1hIGRpcmVjdGlvbgkJCSovCkBAIC0zNDUsOSArMzQzLDYgQEAKIAogICAgIC8qIGNhcmQgaW5mbyAqLwogICAgIHN0cnVjdCB7Ci0JdW5zaWduZWQgaW50CWlvX2ludHI7CQkvKiBiYXNlIGFkZHJlc3Mgb2YgaW50ZXJydXB0IGlkIHJlZwkqLwotCXVuc2lnbmVkIGludAlpb19wYWdlOwkJLyogYmFzZSBhZGRyZXNzIG9mIHBhZ2UgcmVnCQkqLwotCXVuc2lnbmVkIGludAlpb19yYW07CQkJLyogYmFzZSBhZGRyZXNzIG9mIFJBTSBhY2Nlc3MJCSovCiAJdW5zaWduZWQgY2hhcglwYWdlX3JlZzsJCS8qIGN1cnJlbnQgc2V0dGluZyBvZiBwYWdlIHJlZwkJKi8KICAgICB9IGNhcmQ7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvc2NzaS9jaC5jIGIvZHJpdmVycy9zY3NpL2NoLmMKaW5kZXggYzRiOTM4Yi4uYWEyMDExYiAxMDA2NDQKLS0tIGEvZHJpdmVycy9zY3NpL2NoLmMKKysrIGIvZHJpdmVycy9zY3NpL2NoLmMKQEAgLTIyLDYgKzIyLDcgQEAKICNpbmNsdWRlIDxsaW51eC9jaGlvLmg+CQkJLyogaGVyZSBhcmUgYWxsIHRoZSBpb2N0bHMgKi8KICNpbmNsdWRlIDxsaW51eC9tdXRleC5oPgogI2luY2x1ZGUgPGxpbnV4L2lkci5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAKICNpbmNsdWRlIDxzY3NpL3Njc2kuaD4KICNpbmNsdWRlIDxzY3NpL3Njc2lfY21uZC5oPgpAQCAtNTcxLDE2ICs1NzIsMTkgQEAKIAlzY3NpX2NoYW5nZXIgKmNoOwogCWludCBtaW5vciA9IGltaW5vcihpbm9kZSk7CiAKKwlsb2NrX2tlcm5lbCgpOwogCXNwaW5fbG9jaygmY2hfaW5kZXhfbG9jayk7CiAJY2ggPSBpZHJfZmluZCgmY2hfaW5kZXhfaWRyLCBtaW5vcik7CiAKIAlpZiAoTlVMTCA9PSBjaCB8fCBzY3NpX2RldmljZV9nZXQoY2gtPmRldmljZSkpIHsKIAkJc3Bpbl91bmxvY2soJmNoX2luZGV4X2xvY2spOworCQl1bmxvY2tfa2VybmVsKCk7CiAJCXJldHVybiAtRU5YSU87CiAJfQogCXNwaW5fdW5sb2NrKCZjaF9pbmRleF9sb2NrKTsKIAogCWZpbGUtPnByaXZhdGVfZGF0YSA9IGNoOworCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gMDsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9zY3NpL2RwdF9pMm8uYyBiL2RyaXZlcnMvc2NzaS9kcHRfaTJvLmMKaW5kZXggODUwODgxNi4uMmJjMzBlMyAxMDA2NDQKLS0tIGEvZHJpdmVycy9zY3NpL2RwdF9pMm8uYworKysgYi9kcml2ZXJzL3Njc2kvZHB0X2kyby5jCkBAIC00OSw2ICs0OSw3IEBACiAjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CS8qIGZvciBwcmludGsgKi8KICNpbmNsdWRlIDxsaW51eC9zY2hlZC5oPgogI2luY2x1ZGUgPGxpbnV4L3JlYm9vdC5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvc3BpbmxvY2suaD4KICNpbmNsdWRlIDxsaW51eC9kbWEtbWFwcGluZy5oPgogCkBAIC0xNzI3LDEwICsxNzI4LDEyIEBACiAJaW50IG1pbm9yOwogCWFkcHRfaGJhKiBwSGJhOwogCisJbG9ja19rZXJuZWwoKTsKIAkvL1RPRE8gY2hlY2sgZm9yIHJvb3QgYWNjZXNzCiAJLy8KIAltaW5vciA9IGltaW5vcihpbm9kZSk7CiAJaWYgKG1pbm9yID49IGhiYV9jb3VudCkgeworCQl1bmxvY2tfa2VybmVsKCk7CiAJCXJldHVybiAtRU5YSU87CiAJfQogCW11dGV4X2xvY2soJmFkcHRfY29uZmlndXJhdGlvbl9sb2NrKTsKQEAgLTE3NDEsNiArMTc0NCw3IEBACiAJfQogCWlmIChwSGJhID09IE5VTEwpIHsKIAkJbXV0ZXhfdW5sb2NrKCZhZHB0X2NvbmZpZ3VyYXRpb25fbG9jayk7CisJCXVubG9ja19rZXJuZWwoKTsKIAkJcmV0dXJuIC1FTlhJTzsKIAl9CiAKQEAgLTE3NTEsNiArMTc1NSw3IEBACiAKIAlwSGJhLT5pbl91c2UgPSAxOwogCW11dGV4X3VubG9jaygmYWRwdF9jb25maWd1cmF0aW9uX2xvY2spOworCXVubG9ja19rZXJuZWwoKTsKIAogCXJldHVybiAwOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zY3NpL2dkdGguYyBiL2RyaXZlcnMvc2NzaS9nZHRoLmMKaW5kZXggNDY3NzFkNC4uODIyZDUyMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9zY3NpL2dkdGguYworKysgYi9kcml2ZXJzL3Njc2kvZ2R0aC5jCkBAIC0xMjAsNiArMTIwLDcgQEAKICNpbmNsdWRlIDxsaW51eC90aW1lci5oPgogI2luY2x1ZGUgPGxpbnV4L2RtYS1tYXBwaW5nLmg+CiAjaW5jbHVkZSA8bGludXgvbGlzdC5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAKICNpZmRlZiBHRFRIX1JUQwogI2luY2x1ZGUgPGxpbnV4L21jMTQ2ODE4cnRjLmg+CkBAIC00MDE5LDEwICs0MDIwLDEyIEBACiB7CiAgICAgZ2R0aF9oYV9zdHIgKmhhOwogCisgICAgbG9ja19rZXJuZWwoKTsKICAgICBsaXN0X2Zvcl9lYWNoX2VudHJ5KGhhLCAmZ2R0aF9pbnN0YW5jZXMsIGxpc3QpIHsKICAgICAgICAgaWYgKCFoYS0+c2RldikKICAgICAgICAgICAgIGhhLT5zZGV2ID0gc2NzaV9nZXRfaG9zdF9kZXYoaGEtPnNob3N0KTsKICAgICB9CisgICAgdW5sb2NrX2tlcm5lbCgpOwogCiAgICAgVFJBQ0UoKCJnZHRoX29wZW4oKVxuIikpOwogICAgIHJldHVybiAwOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zY3NpL2lkZS1zY3NpLmMgYi9kcml2ZXJzL3Njc2kvaWRlLXNjc2kuYwppbmRleCA0NGQ4ZDUxLi42ODNiY2UzIDEwMDY0NAotLS0gYS9kcml2ZXJzL3Njc2kvaWRlLXNjc2kuYworKysgYi9kcml2ZXJzL3Njc2kvaWRlLXNjc2kuYwpAQCAtNjAsNiArNjAsMTMgQEAKIAogI2RlZmluZSBJREVTQ1NJX0RFQlVHX0xPRwkJMAogCisjaWYgSURFU0NTSV9ERUJVR19MT0cKKyNkZWZpbmUgZGVidWdfbG9nKGZtdCwgYXJncy4uLikgXAorCXByaW50ayhLRVJOX0lORk8gImlkZS1zY3NpOiAiIGZtdCwgIyMgYXJncykKKyNlbHNlCisjZGVmaW5lIGRlYnVnX2xvZyhmbXQsIGFyZ3MuLi4pIGRvIHt9IHdoaWxlICgwKQorI2VuZGlmCisKIC8qCiAgKglTQ1NJIGNvbW1hbmQgdHJhbnNmb3JtYXRpb24gbGF5ZXIKICAqLwpAQCAtMTI5LDE0ICsxMzYsMTUgQEAKICNkZWZpbmUgSURFU0NTSV9QQ19SUQkJCTkwCiAKIC8qCi0gKglQSU8gZGF0YSB0cmFuc2ZlciByb3V0aW5lcyB1c2luZyB0aGUgc2NhdHRlciBnYXRoZXIgdGFibGUuCisgKglQSU8gZGF0YSB0cmFuc2ZlciByb3V0aW5lIHVzaW5nIHRoZSBzY2F0dGVyIGdhdGhlciB0YWJsZS4KICAqLwotc3RhdGljIHZvaWQgaWRlc2NzaV9pbnB1dF9idWZmZXJzKGlkZV9kcml2ZV90ICpkcml2ZSwgc3RydWN0IGlkZV9hdGFwaV9wYyAqcGMsCi0JCXVuc2lnbmVkIGludCBiY291bnQpCitzdGF0aWMgdm9pZCBpZGVfc2NzaV9pb19idWZmZXJzKGlkZV9kcml2ZV90ICpkcml2ZSwgc3RydWN0IGlkZV9hdGFwaV9wYyAqcGMsCisJCQkJdW5zaWduZWQgaW50IGJjb3VudCwgaW50IHdyaXRlKQogewogCWlkZV9od2lmX3QgKmh3aWYgPSBkcml2ZS0+aHdpZjsKLQlpbnQgY291bnQ7CisJeGZlcl9mdW5jX3QgKnhmID0gd3JpdGUgPyBod2lmLT5vdXRwdXRfZGF0YSA6IGh3aWYtPmlucHV0X2RhdGE7CiAJY2hhciAqYnVmOworCWludCBjb3VudDsKIAogCXdoaWxlIChiY291bnQpIHsKIAkJY291bnQgPSBtaW4ocGMtPnNnLT5sZW5ndGggLSBwYy0+Yl9jb3VudCwgYmNvdW50KTsKQEAgLTE0NSwxMyArMTUzLDEzIEBACiAKIAkJCWxvY2FsX2lycV9zYXZlKGZsYWdzKTsKIAkJCWJ1ZiA9IGttYXBfYXRvbWljKHNnX3BhZ2UocGMtPnNnKSwgS01fSVJRMCkgKwotCQkJCQlwYy0+c2ctPm9mZnNldDsKLQkJCWh3aWYtPmlucHV0X2RhdGEoZHJpdmUsIE5VTEwsIGJ1ZiArIHBjLT5iX2NvdW50LCBjb3VudCk7CisJCQkJCSAgcGMtPnNnLT5vZmZzZXQ7CisJCQl4Zihkcml2ZSwgTlVMTCwgYnVmICsgcGMtPmJfY291bnQsIGNvdW50KTsKIAkJCWt1bm1hcF9hdG9taWMoYnVmIC0gcGMtPnNnLT5vZmZzZXQsIEtNX0lSUTApOwogCQkJbG9jYWxfaXJxX3Jlc3RvcmUoZmxhZ3MpOwogCQl9IGVsc2UgewogCQkJYnVmID0gc2dfdmlydChwYy0+c2cpOwotCQkJaHdpZi0+aW5wdXRfZGF0YShkcml2ZSwgTlVMTCwgYnVmICsgcGMtPmJfY291bnQsIGNvdW50KTsKKwkJCXhmKGRyaXZlLCBOVUxMLCBidWYgKyBwYy0+Yl9jb3VudCwgY291bnQpOwogCQl9CiAJCWJjb3VudCAtPSBjb3VudDsgcGMtPmJfY291bnQgKz0gY291bnQ7CiAJCWlmIChwYy0+Yl9jb3VudCA9PSBwYy0+c2ctPmxlbmd0aCkgewpAQCAtMTYzLDQ1ICsxNzEsMTAgQEAKIAl9CiAKIAlpZiAoYmNvdW50KSB7Ci0JCXByaW50ayAoS0VSTl9FUlIgImlkZS1zY3NpOiBzY2F0dGVyIGdhdGhlciB0YWJsZSB0b28gc21hbGwsIGRpc2NhcmRpbmcgZGF0YVxuIik7Ci0JCWlkZV9wYWRfdHJhbnNmZXIoZHJpdmUsIDAsIGJjb3VudCk7Ci0JfQotfQotCi1zdGF0aWMgdm9pZCBpZGVzY3NpX291dHB1dF9idWZmZXJzKGlkZV9kcml2ZV90ICpkcml2ZSwgc3RydWN0IGlkZV9hdGFwaV9wYyAqcGMsCi0JCXVuc2lnbmVkIGludCBiY291bnQpCi17Ci0JaWRlX2h3aWZfdCAqaHdpZiA9IGRyaXZlLT5od2lmOwotCWludCBjb3VudDsKLQljaGFyICpidWY7Ci0KLQl3aGlsZSAoYmNvdW50KSB7Ci0JCWNvdW50ID0gbWluKHBjLT5zZy0+bGVuZ3RoIC0gcGMtPmJfY291bnQsIGJjb3VudCk7Ci0JCWlmIChQYWdlSGlnaE1lbShzZ19wYWdlKHBjLT5zZykpKSB7Ci0JCQl1bnNpZ25lZCBsb25nIGZsYWdzOwotCi0JCQlsb2NhbF9pcnFfc2F2ZShmbGFncyk7Ci0JCQlidWYgPSBrbWFwX2F0b21pYyhzZ19wYWdlKHBjLT5zZyksIEtNX0lSUTApICsKLQkJCQkJCXBjLT5zZy0+b2Zmc2V0OwotCQkJaHdpZi0+b3V0cHV0X2RhdGEoZHJpdmUsIE5VTEwsIGJ1ZiArIHBjLT5iX2NvdW50LCBjb3VudCk7Ci0JCQlrdW5tYXBfYXRvbWljKGJ1ZiAtIHBjLT5zZy0+b2Zmc2V0LCBLTV9JUlEwKTsKLQkJCWxvY2FsX2lycV9yZXN0b3JlKGZsYWdzKTsKLQkJfSBlbHNlIHsKLQkJCWJ1ZiA9IHNnX3ZpcnQocGMtPnNnKTsKLQkJCWh3aWYtPm91dHB1dF9kYXRhKGRyaXZlLCBOVUxMLCBidWYgKyBwYy0+Yl9jb3VudCwgY291bnQpOwotCQl9Ci0JCWJjb3VudCAtPSBjb3VudDsgcGMtPmJfY291bnQgKz0gY291bnQ7Ci0JCWlmIChwYy0+Yl9jb3VudCA9PSBwYy0+c2ctPmxlbmd0aCkgewotCQkJaWYgKCEtLXBjLT5zZ19jbnQpCi0JCQkJYnJlYWs7Ci0JCQlwYy0+c2cgPSBzZ19uZXh0KHBjLT5zZyk7Ci0JCQlwYy0+Yl9jb3VudCA9IDA7Ci0JCX0KLQl9Ci0KLQlpZiAoYmNvdW50KSB7Ci0JCXByaW50ayAoS0VSTl9FUlIgImlkZS1zY3NpOiBzY2F0dGVyIGdhdGhlciB0YWJsZSB0b28gc21hbGwsIHBhZGRpbmcgd2l0aCB6ZXJvc1xuIik7Ci0JCWlkZV9wYWRfdHJhbnNmZXIoZHJpdmUsIDEsIGJjb3VudCk7CisJCXByaW50ayhLRVJOX0VSUiAiJXM6IHNjYXR0ZXIgZ2F0aGVyIHRhYmxlIHRvbyBzbWFsbCwgJXNcbiIsCisJCQkJZHJpdmUtPm5hbWUsIHdyaXRlID8gInBhZGRpbmcgd2l0aCB6ZXJvcyIKKwkJCQkJCSAgIDogImRpc2NhcmRpbmcgZGF0YSIpOworCQlpZGVfcGFkX3RyYW5zZmVyKGRyaXZlLCB3cml0ZSwgYmNvdW50KTsKIAl9CiB9CiAKQEAgLTIxMCw2ICsxODMsMjQgQEAKIAlwcmludF9oZXhfZHVtcChLRVJOX0NPTlQsICIiLCBEVU1QX1BSRUZJWF9OT05FLCAxNiwgMSwgZGF0YSwgbGVuLCAwKTsKIH0KIAorc3RhdGljIGludCBpZGVzY3NpX2VuZF9yZXF1ZXN0KGlkZV9kcml2ZV90ICosIGludCwgaW50KTsKKworc3RhdGljIHZvaWQgaWRlX3Njc2lfY2FsbGJhY2soaWRlX2RyaXZlX3QgKmRyaXZlKQoreworCWlkZXNjc2lfc2NzaV90ICpzY3NpID0gZHJpdmVfdG9faWRlc2NzaShkcml2ZSk7CisJc3RydWN0IGlkZV9hdGFwaV9wYyAqcGMgPSBzY3NpLT5wYzsKKworCWlmIChwYy0+ZmxhZ3MgJiBQQ19GTEFHX1RJTUVET1VUKQorCQlkZWJ1Z19sb2coIiVzOiBnb3QgdGltZWQgb3V0IHBhY2tldCAlbHUgYXQgJWx1XG4iLCBfX2Z1bmNfXywKKwkJCSAgcGMtPnNjc2lfY21kLT5zZXJpYWxfbnVtYmVyLCBqaWZmaWVzKTsKKwkJLyogZW5kIHRoaXMgcmVxdWVzdCBub3cgLSBzY3NpIHNob3VsZCByZXRyeSBpdCovCisJZWxzZSBpZiAodGVzdF9iaXQoSURFU0NTSV9MT0dfQ01ELCAmc2NzaS0+bG9nKSkKKwkJcHJpbnRrKEtFUk5fSU5GTyAiUGFja2V0IGNvbW1hbmQgY29tcGxldGVkLCAlZCBieXRlcyIKKwkJCQkgIiB0cmFuc2ZlcnJlZFxuIiwgcGMtPnhmZXJyZWQpOworCisJaWRlc2NzaV9lbmRfcmVxdWVzdChkcml2ZSwgMSwgMCk7Cit9CisKIHN0YXRpYyBpbnQgaWRlc2NzaV9jaGVja19jb25kaXRpb24oaWRlX2RyaXZlX3QgKmRyaXZlLAogCQlzdHJ1Y3QgcmVxdWVzdCAqZmFpbGVkX2NtZCkKIHsKQEAgLTIyOCwxNCArMjE5LDE2IEBACiAJCWtmcmVlKHBjKTsKIAkJcmV0dXJuIC1FTk9NRU07CiAJfQotCWlkZV9pbml0X2RyaXZlX2NtZChycSk7CisJYmxrX3JxX2luaXQoTlVMTCwgcnEpOwogCXJxLT5zcGVjaWFsID0gKGNoYXIgKikgcGM7CiAJcGMtPnJxID0gcnE7CiAJcGMtPmJ1ZiA9IGJ1ZjsKIAlwYy0+Y1swXSA9IFJFUVVFU1RfU0VOU0U7CiAJcGMtPmNbNF0gPSBwYy0+cmVxX3hmZXIgPSBwYy0+YnVmX3NpemUgPSBTQ1NJX1NFTlNFX0JVRkZFUlNJWkU7CiAJcnEtPmNtZF90eXBlID0gUkVRX1RZUEVfU0VOU0U7CisJcnEtPmNtZF9mbGFncyB8PSBSRVFfUFJFRU1QVDsKIAlwYy0+dGltZW91dCA9IGppZmZpZXMgKyBXQUlUX1JFQURZOworCXBjLT5jYWxsYmFjayA9IGlkZV9zY3NpX2NhbGxiYWNrOwogCS8qIE5PVEUhIFNhdmUgdGhlIGZhaWxlZCBwYWNrZXQgY29tbWFuZCBpbiAicnEtPmJ1ZmZlciIgKi8KIAlycS0+YnVmZmVyID0gKHZvaWQgKikgZmFpbGVkX2NtZC0+c3BlY2lhbDsKIAlwYy0+c2NzaV9jbWQgPSAoKHN0cnVjdCBpZGVfYXRhcGlfcGMgKikgZmFpbGVkX2NtZC0+c3BlY2lhbCktPnNjc2lfY21kOwpAQCAtMjQ0LDExICsyMzcsMTAgQEAKIAkJaWRlX3Njc2lfaGV4X2R1bXAocGMtPmMsIDYpOwogCX0KIAlycS0+cnFfZGlzayA9IHNjc2ktPmRpc2s7Ci0JcmV0dXJuIGlkZV9kb19kcml2ZV9jbWQoZHJpdmUsIHJxLCBpZGVfcHJlZW1wdCk7CisJaWRlX2RvX2RyaXZlX2NtZChkcml2ZSwgcnEpOworCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IGlkZXNjc2lfZW5kX3JlcXVlc3QoaWRlX2RyaXZlX3QgKiwgaW50LCBpbnQpOwotCiBzdGF0aWMgaWRlX3N0YXJ0c3RvcF90CiBpZGVzY3NpX2F0YXBpX2Vycm9yKGlkZV9kcml2ZV90ICpkcml2ZSwgc3RydWN0IHJlcXVlc3QgKnJxLCB1OCBzdGF0LCB1OCBlcnIpCiB7CkBAIC0yNTYsNyArMjQ4LDcgQEAKIAogCWlmIChpZGVfcmVhZF9zdGF0dXMoZHJpdmUpICYgKEJVU1lfU1RBVCB8IERSUV9TVEFUKSkKIAkJLyogZm9yY2UgYW4gYWJvcnQgKi8KLQkJaHdpZi0+T1VUQlNZTkMoZHJpdmUsIFdJTl9JRExFSU1NRURJQVRFLAorCQlod2lmLT5PVVRCU1lOQyhod2lmLCBXSU5fSURMRUlNTUVESUFURSwKIAkJCSAgICAgICBod2lmLT5pb19wb3J0cy5jb21tYW5kX2FkZHIpOwogCiAJcnEtPmVycm9ycysrOwpAQCAtMjY5LDEwICsyNjEsOSBAQAogc3RhdGljIGlkZV9zdGFydHN0b3BfdAogaWRlc2NzaV9hdGFwaV9hYm9ydChpZGVfZHJpdmVfdCAqZHJpdmUsIHN0cnVjdCByZXF1ZXN0ICpycSkKIHsKLSNpZiBJREVTQ1NJX0RFQlVHX0xPRwotCXByaW50ayhLRVJOX1dBUk5JTkcgImlkZXNjc2lfYXRhcGlfYWJvcnQgY2FsbGVkIGZvciAlbHVcbiIsCisJZGVidWdfbG9nKCIlcyBjYWxsZWQgZm9yICVsdVxuIiwgX19mdW5jX18sCiAJCSgoc3RydWN0IGlkZV9hdGFwaV9wYyAqKSBycS0+c3BlY2lhbCktPnNjc2lfY21kLT5zZXJpYWxfbnVtYmVyKTsKLSNlbmRpZgorCiAJcnEtPmVycm9ycyB8PSBFUlJPUl9NQVg7CiAKIAlpZGVzY3NpX2VuZF9yZXF1ZXN0KGRyaXZlLCAwLCAwKTsKQEAgLTM1MSw5ICszNDIsOSBAQAogCWlkZXNjc2lfc2NzaV90ICpzY3NpID0gZHJpdmVfdG9faWRlc2NzaShkcml2ZSk7CiAJc3RydWN0IGlkZV9hdGFwaV9wYyAgICpwYyAgID0gc2NzaS0+cGM7CiAKLSNpZiBJREVTQ1NJX0RFQlVHX0xPRwotCXByaW50ayhLRVJOX1dBUk5JTkcgImlkZXNjc2lfZXhwaXJ5IGNhbGxlZCBmb3IgJWx1IGF0ICVsdVxuIiwgcGMtPnNjc2lfY21kLT5zZXJpYWxfbnVtYmVyLCBqaWZmaWVzKTsKLSNlbmRpZgorCWRlYnVnX2xvZygiJXMgY2FsbGVkIGZvciAlbHUgYXQgJWx1XG4iLCBfX2Z1bmNfXywKKwkJICBwYy0+c2NzaV9jbWQtPnNlcmlhbF9udW1iZXIsIGppZmZpZXMpOworCiAJcGMtPmZsYWdzIHw9IFBDX0ZMQUdfVElNRURPVVQ7CiAKIAlyZXR1cm4gMDsJCQkJCS8qIHdlIGRvIG5vdCB3YW50IHRoZSBpZGUgc3Vic3lzdGVtIHRvIHJldHJ5ICovCkBAIC0zNjUsMTQxICszNTYsMTkgQEAKIHN0YXRpYyBpZGVfc3RhcnRzdG9wX3QgaWRlc2NzaV9wY19pbnRyIChpZGVfZHJpdmVfdCAqZHJpdmUpCiB7CiAJaWRlc2NzaV9zY3NpX3QgKnNjc2kgPSBkcml2ZV90b19pZGVzY3NpKGRyaXZlKTsKLQlpZGVfaHdpZl90ICpod2lmID0gZHJpdmUtPmh3aWY7CiAJc3RydWN0IGlkZV9hdGFwaV9wYyAqcGMgPSBzY3NpLT5wYzsKLQlzdHJ1Y3QgcmVxdWVzdCAqcnEgPSBwYy0+cnE7Ci0JdW5zaWduZWQgaW50IHRlbXA7Ci0JdTE2IGJjb3VudDsKLQl1OCBzdGF0LCBpcmVhc29uOwogCi0jaWYgSURFU0NTSV9ERUJVR19MT0cKLQlwcmludGsgKEtFUk5fSU5GTyAiaWRlLXNjc2k6IFJlYWNoZWQgaWRlc2NzaV9wY19pbnRyIGludGVycnVwdCBoYW5kbGVyXG4iKTsKLSNlbmRpZiAvKiBJREVTQ1NJX0RFQlVHX0xPRyAqLwotCi0JaWYgKHBjLT5mbGFncyAmIFBDX0ZMQUdfVElNRURPVVQpIHsKLSNpZiBJREVTQ1NJX0RFQlVHX0xPRwotCQlwcmludGsoS0VSTl9XQVJOSU5HICJpZGVzY3NpX3BjX2ludHI6IGdvdCB0aW1lZCBvdXQgcGFja2V0ICAlbHUgYXQgJWx1XG4iLAotCQkJCXBjLT5zY3NpX2NtZC0+c2VyaWFsX251bWJlciwgamlmZmllcyk7Ci0jZW5kaWYKLQkJLyogZW5kIHRoaXMgcmVxdWVzdCBub3cgLSBzY3NpIHNob3VsZCByZXRyeSBpdCovCi0JCWlkZXNjc2lfZW5kX3JlcXVlc3QgKGRyaXZlLCAxLCAwKTsKLQkJcmV0dXJuIGlkZV9zdG9wcGVkOwotCX0KLQlpZiAocGMtPmZsYWdzICYgUENfRkxBR19ETUFfSU5fUFJPR1JFU1MpIHsKLQkJcGMtPmZsYWdzICY9IH5QQ19GTEFHX0RNQV9JTl9QUk9HUkVTUzsKLSNpZiBJREVTQ1NJX0RFQlVHX0xPRwotCQlwcmludGsgKCJpZGUtc2NzaTogJXM6IERNQSBjb21wbGV0ZVxuIiwgZHJpdmUtPm5hbWUpOwotI2VuZGlmIC8qIElERVNDU0lfREVCVUdfTE9HICovCi0JCXBjLT54ZmVycmVkID0gcGMtPnJlcV94ZmVyOwotCQkodm9pZClod2lmLT5kbWFfb3BzLT5kbWFfZW5kKGRyaXZlKTsKLQl9Ci0KLQkvKiBDbGVhciB0aGUgaW50ZXJydXB0ICovCi0Jc3RhdCA9IGlkZV9yZWFkX3N0YXR1cyhkcml2ZSk7Ci0KLQlpZiAoKHN0YXQgJiBEUlFfU1RBVCkgPT0gMCkgewotCQkvKiBObyBtb3JlIGludGVycnVwdHMgKi8KLQkJaWYgKHRlc3RfYml0KElERVNDU0lfTE9HX0NNRCwgJnNjc2ktPmxvZykpCi0JCQlwcmludGsoS0VSTl9JTkZPICJQYWNrZXQgY29tbWFuZCBjb21wbGV0ZWQsICVkIGJ5dGVzIgotCQkJCQkiIHRyYW5zZmVycmVkXG4iLCBwYy0+eGZlcnJlZCk7Ci0JCWxvY2FsX2lycV9lbmFibGVfaW5faGFyZGlycSgpOwotCQlpZiAoc3RhdCAmIEVSUl9TVEFUKQotCQkJcnEtPmVycm9ycysrOwotCQlpZGVzY3NpX2VuZF9yZXF1ZXN0IChkcml2ZSwgMSwgMCk7Ci0JCXJldHVybiBpZGVfc3RvcHBlZDsKLQl9Ci0JYmNvdW50ID0gKGh3aWYtPklOQihod2lmLT5pb19wb3J0cy5sYmFoX2FkZHIpIDw8IDgpIHwKLQkJICBod2lmLT5JTkIoaHdpZi0+aW9fcG9ydHMubGJhbV9hZGRyKTsKLQlpcmVhc29uID0gaHdpZi0+SU5CKGh3aWYtPmlvX3BvcnRzLm5zZWN0X2FkZHIpOwotCi0JaWYgKGlyZWFzb24gJiBDRCkgewotCQlwcmludGsoS0VSTl9FUlIgImlkZS1zY3NpOiBDb0QgIT0gMCBpbiBpZGVzY3NpX3BjX2ludHJcbiIpOwotCQlyZXR1cm4gaWRlX2RvX3Jlc2V0IChkcml2ZSk7Ci0JfQotCWlmIChpcmVhc29uICYgSU8pIHsKLQkJdGVtcCA9IHBjLT54ZmVycmVkICsgYmNvdW50OwotCQlpZiAodGVtcCA+IHBjLT5yZXFfeGZlcikgewotCQkJaWYgKHRlbXAgPiBwYy0+YnVmX3NpemUpIHsKLQkJCQlwcmludGsoS0VSTl9FUlIgImlkZS1zY3NpOiBUaGUgc2NzaSB3YW50cyB0byAiCi0JCQkJCSJzZW5kIHVzIG1vcmUgZGF0YSB0aGFuIGV4cGVjdGVkICIKLQkJCQkJIi0gZGlzY2FyZGluZyBkYXRhXG4iKTsKLQkJCQl0ZW1wID0gcGMtPmJ1Zl9zaXplIC0gcGMtPnhmZXJyZWQ7Ci0JCQkJaWYgKHRlbXApIHsKLQkJCQkJcGMtPmZsYWdzICY9IH5QQ19GTEFHX1dSSVRJTkc7Ci0JCQkJCWlmIChwYy0+c2cpCi0JCQkJCQlpZGVzY3NpX2lucHV0X2J1ZmZlcnMoZHJpdmUsIHBjLAotCQkJCQkJCQkJdGVtcCk7Ci0JCQkJCWVsc2UKLQkJCQkJCWh3aWYtPmlucHV0X2RhdGEoZHJpdmUsIE5VTEwsCi0JCQkJCQkJcGMtPmN1cl9wb3MsIHRlbXApOwotCQkJCQlwcmludGsoS0VSTl9FUlIgImlkZS1zY3NpOiB0cmFuc2ZlcnJlZCIKLQkJCQkJCQkiICVkIG9mICVkIGJ5dGVzXG4iLAotCQkJCQkJCXRlbXAsIGJjb3VudCk7Ci0JCQkJfQotCQkJCXBjLT54ZmVycmVkICs9IHRlbXA7Ci0JCQkJcGMtPmN1cl9wb3MgKz0gdGVtcDsKLQkJCQlpZGVfcGFkX3RyYW5zZmVyKGRyaXZlLCAwLCBiY291bnQgLSB0ZW1wKTsKLQkJCQlpZGVfc2V0X2hhbmRsZXIoZHJpdmUsICZpZGVzY3NpX3BjX2ludHIsIGdldF90aW1lb3V0KHBjKSwgaWRlc2NzaV9leHBpcnkpOwotCQkJCXJldHVybiBpZGVfc3RhcnRlZDsKLQkJCX0KLSNpZiBJREVTQ1NJX0RFQlVHX0xPRwotCQkJcHJpbnRrIChLRVJOX05PVElDRSAiaWRlLXNjc2k6IFRoZSBzY3NpIHdhbnRzIHRvIHNlbmQgdXMgbW9yZSBkYXRhIHRoYW4gZXhwZWN0ZWQgLSBhbGxvd2luZyB0cmFuc2ZlclxuIik7Ci0jZW5kaWYgLyogSURFU0NTSV9ERUJVR19MT0cgKi8KLQkJfQotCX0KLQlpZiAoaXJlYXNvbiAmIElPKSB7Ci0JCXBjLT5mbGFncyAmPSB+UENfRkxBR19XUklUSU5HOwotCQlpZiAocGMtPnNnKQotCQkJaWRlc2NzaV9pbnB1dF9idWZmZXJzKGRyaXZlLCBwYywgYmNvdW50KTsKLQkJZWxzZQotCQkJaHdpZi0+aW5wdXRfZGF0YShkcml2ZSwgTlVMTCwgcGMtPmN1cl9wb3MsIGJjb3VudCk7Ci0JfSBlbHNlIHsKLQkJcGMtPmZsYWdzIHw9IFBDX0ZMQUdfV1JJVElORzsKLQkJaWYgKHBjLT5zZykKLQkJCWlkZXNjc2lfb3V0cHV0X2J1ZmZlcnMoZHJpdmUsIHBjLCBiY291bnQpOwotCQllbHNlCi0JCQlod2lmLT5vdXRwdXRfZGF0YShkcml2ZSwgTlVMTCwgcGMtPmN1cl9wb3MsIGJjb3VudCk7Ci0JfQotCS8qIFVwZGF0ZSB0aGUgY3VycmVudCBwb3NpdGlvbiAqLwotCXBjLT54ZmVycmVkICs9IGJjb3VudDsKLQlwYy0+Y3VyX3BvcyArPSBiY291bnQ7Ci0KLQkvKiBBbmQgc2V0IHRoZSBpbnRlcnJ1cHQgaGFuZGxlciBhZ2FpbiAqLwotCWlkZV9zZXRfaGFuZGxlcihkcml2ZSwgJmlkZXNjc2lfcGNfaW50ciwgZ2V0X3RpbWVvdXQocGMpLCBpZGVzY3NpX2V4cGlyeSk7Ci0JcmV0dXJuIGlkZV9zdGFydGVkOworCXJldHVybiBpZGVfcGNfaW50cihkcml2ZSwgcGMsIGlkZXNjc2lfcGNfaW50ciwgZ2V0X3RpbWVvdXQocGMpLAorCQkJICAgaWRlc2NzaV9leHBpcnksIE5VTEwsIE5VTEwsIE5VTEwsCisJCQkgICBpZGVfc2NzaV9pb19idWZmZXJzKTsKIH0KIAogc3RhdGljIGlkZV9zdGFydHN0b3BfdCBpZGVzY3NpX3RyYW5zZmVyX3BjKGlkZV9kcml2ZV90ICpkcml2ZSkKIHsKLQlpZGVfaHdpZl90ICpod2lmID0gZHJpdmUtPmh3aWY7CiAJaWRlc2NzaV9zY3NpX3QgKnNjc2kgPSBkcml2ZV90b19pZGVzY3NpKGRyaXZlKTsKLQlzdHJ1Y3QgaWRlX2F0YXBpX3BjICpwYyA9IHNjc2ktPnBjOwotCWlkZV9zdGFydHN0b3BfdCBzdGFydHN0b3A7Ci0JdTggaXJlYXNvbjsKIAotCWlmIChpZGVfd2FpdF9zdGF0KCZzdGFydHN0b3AsZHJpdmUsRFJRX1NUQVQsQlVTWV9TVEFULFdBSVRfUkVBRFkpKSB7Ci0JCXByaW50ayhLRVJOX0VSUiAiaWRlLXNjc2k6IFN0cmFuZ2UsIHBhY2tldCBjb21tYW5kICIKLQkJCSJpbml0aWF0ZWQgeWV0IERSUSBpc24ndCBhc3NlcnRlZFxuIik7Ci0JCXJldHVybiBzdGFydHN0b3A7Ci0JfQotCWlyZWFzb24gPSBod2lmLT5JTkIoaHdpZi0+aW9fcG9ydHMubnNlY3RfYWRkcik7Ci0JaWYgKChpcmVhc29uICYgQ0QpID09IDAgfHwgKGlyZWFzb24gJiBJTykpIHsKLQkJcHJpbnRrKEtFUk5fRVJSICJpZGUtc2NzaTogKElPLENvRCkgIT0gKDAsMSkgd2hpbGUgIgotCQkJCSJpc3N1aW5nIGEgcGFja2V0IGNvbW1hbmRcbiIpOwotCQlyZXR1cm4gaWRlX2RvX3Jlc2V0IChkcml2ZSk7Ci0JfQotCUJVR19PTihIV0dST1VQKGRyaXZlKS0+aGFuZGxlciAhPSBOVUxMKTsKLQkvKiBTZXQgdGhlIGludGVycnVwdCByb3V0aW5lICovCi0JaWRlX3NldF9oYW5kbGVyKGRyaXZlLCAmaWRlc2NzaV9wY19pbnRyLCBnZXRfdGltZW91dChwYyksIGlkZXNjc2lfZXhwaXJ5KTsKLQotCS8qIFNlbmQgdGhlIGFjdHVhbCBwYWNrZXQgKi8KLQlod2lmLT5vdXRwdXRfZGF0YShkcml2ZSwgTlVMTCwgc2NzaS0+cGMtPmMsIDEyKTsKLQotCWlmIChwYy0+ZmxhZ3MgJiBQQ19GTEFHX0RNQV9PSykgewotCQlwYy0+ZmxhZ3MgfD0gUENfRkxBR19ETUFfSU5fUFJPR1JFU1M7Ci0JCWh3aWYtPmRtYV9vcHMtPmRtYV9zdGFydChkcml2ZSk7Ci0JfQotCXJldHVybiBpZGVfc3RhcnRlZDsKKwlyZXR1cm4gaWRlX3RyYW5zZmVyX3BjKGRyaXZlLCBzY3NpLT5wYywgaWRlc2NzaV9wY19pbnRyLAorCQkJICAgICAgIGdldF90aW1lb3V0KHNjc2ktPnBjKSwgaWRlc2NzaV9leHBpcnkpOwogfQogCiBzdGF0aWMgaW5saW5lIGludCBpZGVzY3NpX3NldF9kaXJlY3Rpb24oc3RydWN0IGlkZV9hdGFwaV9wYyAqcGMpCkBAIC01NDUsMzggKzQxNCwxMiBAQAogCQlzdHJ1Y3QgaWRlX2F0YXBpX3BjICpwYykKIHsKIAlpZGVzY3NpX3Njc2lfdCAqc2NzaSA9IGRyaXZlX3RvX2lkZXNjc2koZHJpdmUpOwotCWlkZV9od2lmX3QgKmh3aWYgPSBkcml2ZS0+aHdpZjsKLQl1MTYgYmNvdW50OwotCXU4IGRtYSA9IDA7CiAKIAkvKiBTZXQgdGhlIGN1cnJlbnQgcGFja2V0IGNvbW1hbmQgKi8KIAlzY3NpLT5wYyA9IHBjOwotCS8qIFdlIGhhdmVuJ3QgdHJhbnNmZXJyZWQgYW55IGRhdGEgeWV0ICovCi0JcGMtPnhmZXJyZWQgPSAwOwotCXBjLT5jdXJfcG9zID0gcGMtPmJ1ZjsKLQkvKiBSZXF1ZXN0IHRvIHRyYW5zZmVyIHRoZSBlbnRpcmUgYnVmZmVyIGF0IG9uY2UgKi8KLQliY291bnQgPSBtaW4ocGMtPnJlcV94ZmVyLCA2MyAqIDEwMjQpOwogCi0JaWYgKGRyaXZlLT51c2luZ19kbWEgJiYgIWlkZXNjc2lfbWFwX3NnKGRyaXZlLCBwYykpIHsKLQkJaHdpZi0+c2dfbWFwcGVkID0gMTsKLQkJZG1hID0gIWh3aWYtPmRtYV9vcHMtPmRtYV9zZXR1cChkcml2ZSk7Ci0JCWh3aWYtPnNnX21hcHBlZCA9IDA7Ci0JfQotCi0JaWRlX3BrdGNtZF90Zl9sb2FkKGRyaXZlLCBJREVfVEZMQUdfTk9fU0VMRUNUX01BU0ssIGJjb3VudCwgZG1hKTsKLQotCWlmIChkbWEpCi0JCXBjLT5mbGFncyB8PSBQQ19GTEFHX0RNQV9PSzsKLQotCWlmICh0ZXN0X2JpdChJREVTQ1NJX0RSUV9JTlRFUlJVUFQsICZzY3NpLT5mbGFncykpIHsKLQkJaWRlX2V4ZWN1dGVfY29tbWFuZChkcml2ZSwgV0lOX1BBQ0tFVENNRCwgJmlkZXNjc2lfdHJhbnNmZXJfcGMsCi0JCQkJICAgIGdldF90aW1lb3V0KHBjKSwgaWRlc2NzaV9leHBpcnkpOwotCQlyZXR1cm4gaWRlX3N0YXJ0ZWQ7Ci0JfSBlbHNlIHsKLQkJLyogSXNzdWUgdGhlIHBhY2tldCBjb21tYW5kICovCi0JCWlkZV9leGVjdXRlX3BrdF9jbWQoZHJpdmUpOwotCQlyZXR1cm4gaWRlc2NzaV90cmFuc2Zlcl9wYyhkcml2ZSk7Ci0JfQorCXJldHVybiBpZGVfaXNzdWVfcGMoZHJpdmUsIHBjLCBpZGVzY3NpX3RyYW5zZmVyX3BjLAorCQkJICAgIGdldF90aW1lb3V0KHBjKSwgaWRlc2NzaV9leHBpcnkpOwogfQogCiAvKgpAQCAtNTg0LDE0ICs0MjcsMjIgQEAKICAqLwogc3RhdGljIGlkZV9zdGFydHN0b3BfdCBpZGVzY3NpX2RvX3JlcXVlc3QgKGlkZV9kcml2ZV90ICpkcml2ZSwgc3RydWN0IHJlcXVlc3QgKnJxLCBzZWN0b3JfdCBibG9jaykKIHsKLSNpZiBJREVTQ1NJX0RFQlVHX0xPRwotCXByaW50ayAoS0VSTl9JTkZPICJkZXY6ICVzLCBjbWQ6ICV4LCBlcnJvcnM6ICVkXG4iLCBycS0+cnFfZGlzay0+ZGlza19uYW1lLHJxLT5jbWRbMF0scnEtPmVycm9ycyk7Ci0JcHJpbnRrIChLRVJOX0lORk8gInNlY3RvcjogJWxkLCBucl9zZWN0b3JzOiAlbGQsIGN1cnJlbnRfbnJfc2VjdG9yczogJWRcbiIscnEtPnNlY3RvcixycS0+bnJfc2VjdG9ycyxycS0+Y3VycmVudF9ucl9zZWN0b3JzKTsKLSNlbmRpZiAvKiBJREVTQ1NJX0RFQlVHX0xPRyAqLworCWRlYnVnX2xvZygiZGV2OiAlcywgY21kOiAleCwgZXJyb3JzOiAlZFxuIiwgcnEtPnJxX2Rpc2stPmRpc2tfbmFtZSwKKwkJICBycS0+Y21kWzBdLCBycS0+ZXJyb3JzKTsKKwlkZWJ1Z19sb2coInNlY3RvcjogJWxkLCBucl9zZWN0b3JzOiAlbGQsIGN1cnJlbnRfbnJfc2VjdG9yczogJWRcbiIsCisJCSAgcnEtPnNlY3RvciwgcnEtPm5yX3NlY3RvcnMsIHJxLT5jdXJyZW50X25yX3NlY3RvcnMpOwogCiAJaWYgKGJsa19zZW5zZV9yZXF1ZXN0KHJxKSB8fCBibGtfc3BlY2lhbF9yZXF1ZXN0KHJxKSkgewotCQlyZXR1cm4gaWRlc2NzaV9pc3N1ZV9wYyhkcml2ZSwKLQkJCQkoc3RydWN0IGlkZV9hdGFwaV9wYyAqKSBycS0+c3BlY2lhbCk7CisJCXN0cnVjdCBpZGVfYXRhcGlfcGMgKnBjID0gKHN0cnVjdCBpZGVfYXRhcGlfcGMgKilycS0+c3BlY2lhbDsKKwkJaWRlc2NzaV9zY3NpX3QgKnNjc2kgPSBkcml2ZV90b19pZGVzY3NpKGRyaXZlKTsKKworCQlpZiAodGVzdF9iaXQoSURFU0NTSV9EUlFfSU5URVJSVVBULCAmc2NzaS0+ZmxhZ3MpKQorCQkJcGMtPmZsYWdzIHw9IFBDX0ZMQUdfRFJRX0lOVEVSUlVQVDsKKworCQlpZiAoZHJpdmUtPnVzaW5nX2RtYSAmJiAhaWRlc2NzaV9tYXBfc2coZHJpdmUsIHBjKSkKKwkJCXBjLT5mbGFncyB8PSBQQ19GTEFHX0RNQV9PSzsKKworCQlyZXR1cm4gaWRlc2NzaV9pc3N1ZV9wYyhkcml2ZSwgcGMpOwogCX0KIAlibGtfZHVtcF9ycV9mbGFncyhycSwgImlkZS1zY3NpOiB1bnN1cCBjb21tYW5kIik7CiAJaWRlc2NzaV9lbmRfcmVxdWVzdCAoZHJpdmUsIDAsIDApOwpAQCAtNjQ2LDYgKzQ5Nyw4IEBACiAJcHV0X2Rpc2soZyk7CiAKIAlpZGVfc2NzaV9wdXQoc2NzaSk7CisKKwlkcml2ZS0+c2NzaSA9IDA7CiB9CiAKIHN0YXRpYyBpbnQgaWRlX3Njc2lfcHJvYmUoaWRlX2RyaXZlX3QgKik7CkBAIC03NjUsNiArNjE4LDggQEAKIAogCW1lbXNldCAocGMtPmMsIDAsIDEyKTsKIAlwYy0+ZmxhZ3MgPSAwOworCWlmIChjbWQtPnNjX2RhdGFfZGlyZWN0aW9uID09IERNQV9UT19ERVZJQ0UpCisJCXBjLT5mbGFncyB8PSBQQ19GTEFHX1dSSVRJTkc7CiAJcGMtPnJxID0gcnE7CiAJbWVtY3B5IChwYy0+YywgY21kLT5jbW5kLCBjbWQtPmNtZF9sZW4pOwogCXBjLT5idWYgPSBOVUxMOwpAQCAtNzc1LDYgKzYzMCw3IEBACiAJcGMtPnNjc2lfY21kID0gY21kOwogCXBjLT5kb25lID0gZG9uZTsKIAlwYy0+dGltZW91dCA9IGppZmZpZXMgKyBjbWQtPnRpbWVvdXRfcGVyX2NvbW1hbmQ7CisJcGMtPmNhbGxiYWNrID0gaWRlX3Njc2lfY2FsbGJhY2s7CiAKIAlpZiAodGVzdF9iaXQoSURFU0NTSV9MT0dfQ01ELCAmc2NzaS0+bG9nKSkgewogCQlwcmludGsgKCJpZGUtc2NzaTogJXM6IHF1ZSAlbHUsIGNtZCA9ICIsIGRyaXZlLT5uYW1lLCBjbWQtPnNlcmlhbF9udW1iZXIpOwpAQCAtNzg1LDEyICs2NDEsMTEgQEAKIAkJfQogCX0KIAotCWlkZV9pbml0X2RyaXZlX2NtZCAocnEpOworCWJsa19ycV9pbml0KE5VTEwsIHJxKTsKIAlycS0+c3BlY2lhbCA9IChjaGFyICopIHBjOwogCXJxLT5jbWRfdHlwZSA9IFJFUV9UWVBFX1NQRUNJQUw7CiAJc3Bpbl91bmxvY2tfaXJxKGhvc3QtPmhvc3RfbG9jayk7Ci0JcnEtPnJxX2Rpc2sgPSBzY3NpLT5kaXNrOwotCSh2b2lkKSBpZGVfZG9fZHJpdmVfY21kIChkcml2ZSwgcnEsIGlkZV9lbmQpOworCWJsa19leGVjdXRlX3JxX25vd2FpdChkcml2ZS0+cXVldWUsIHNjc2ktPmRpc2ssIHJxLCAwLCBOVUxMKTsKIAlzcGluX2xvY2tfaXJxKGhvc3QtPmhvc3RfbG9jayk7CiAJcmV0dXJuIDA7CiBhYm9ydDoKQEAgLTk4NSw2ICs4NDAsOCBAQAogCSAgICAhKGhvc3QgPSBzY3NpX2hvc3RfYWxsb2MoJmlkZXNjc2lfdGVtcGxhdGUsc2l6ZW9mKGlkZXNjc2lfc2NzaV90KSkpKQogCQlyZXR1cm4gLUVOT0RFVjsKIAorCWRyaXZlLT5zY3NpID0gMTsKKwogCWcgPSBhbGxvY19kaXNrKDEgPDwgUEFSVE5fQklUUyk7CiAJaWYgKCFnKQogCQlnb3RvIG91dF9ob3N0X3B1dDsKQEAgLTk5MywxMCArODUwLDEwIEBACiAKIAlob3N0LT5tYXhfaWQgPSAxOwogCi0jaWYgSURFU0NTSV9ERUJVR19MT0cKIAlpZiAoZHJpdmUtPmlkLT5sYXN0X2x1bikKLQkJcHJpbnRrKEtFUk5fTk9USUNFICIlczogaWQtPmxhc3RfbHVuPSV1XG4iLCBkcml2ZS0+bmFtZSwgZHJpdmUtPmlkLT5sYXN0X2x1bik7Ci0jZW5kaWYKKwkJZGVidWdfbG9nKCIlczogaWQtPmxhc3RfbHVuPSV1XG4iLCBkcml2ZS0+bmFtZSwKKwkJCSAgZHJpdmUtPmlkLT5sYXN0X2x1bik7CisKIAlpZiAoKGRyaXZlLT5pZC0+bGFzdF9sdW4gJiAweDcpICE9IDcpCiAJCWhvc3QtPm1heF9sdW4gPSAoZHJpdmUtPmlkLT5sYXN0X2x1biAmIDB4NykgKyAxOwogCWVsc2UKQEAgLTEwMjUsNiArODgyLDcgQEAKIAogCXB1dF9kaXNrKGcpOwogb3V0X2hvc3RfcHV0OgorCWRyaXZlLT5zY3NpID0gMDsKIAlzY3NpX2hvc3RfcHV0KGhvc3QpOwogCXJldHVybiBlcnI7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL3Njc2kvbWVnYXJhaWQuYyBiL2RyaXZlcnMvc2NzaS9tZWdhcmFpZC5jCmluZGV4IDE4NTUxYWEuLjI4YzlkYTcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvc2NzaS9tZWdhcmFpZC5jCisrKyBiL2RyaXZlcnMvc2NzaS9tZWdhcmFpZC5jCkBAIC00Niw2ICs0Niw3IEBACiAjaW5jbHVkZSA8bGludXgvcGNpLmg+CiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgogI2luY2x1ZGUgPGxpbnV4L2RtYS1tYXBwaW5nLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxzY3NpL3Njc2ljYW0uaD4KIAogI2luY2x1ZGUgInNjc2kuaCIKQEAgLTMyNzIsMTIgKzMyNzMsMTIgQEAKICAqIEBmaWxlcCAtIHVudXNlZAogICoKICAqIFJvdXRpbmVzIGZvciB0aGUgY2hhcmFjdGVyL2lvY3RsIGludGVyZmFjZSB0byB0aGUgZHJpdmVyLiBGaW5kIG91dCBpZiB0aGlzCi0gKiBpcyBhIHZhbGlkIG9wZW4uIElmIHllcywgaW5jcmVtZW50IHRoZSBtb2R1bGUgdXNlIGNvdW50IHNvIHRoYXQgaXQgY2Fubm90Ci0gKiBiZSB1bmxvYWRlZC4KKyAqIGlzIGEgdmFsaWQgb3Blbi4gCiAgKi8KIHN0YXRpYyBpbnQKIG1lZ2FkZXZfb3BlbiAoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGVwKQogeworCWN5Y2xlX2tlcm5lbF9sb2NrKCk7CiAJLyoKIAkgKiBPbmx5IGFsbG93IHN1cGVydXNlciB0byBhY2Nlc3MgcHJpdmF0ZSBpb2N0bCBpbnRlcmZhY2UKIAkgKi8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvc2NzaS9tZWdhcmFpZC9tZWdhcmFpZF9tbS5jIGIvZHJpdmVycy9zY3NpL21lZ2FyYWlkL21lZ2FyYWlkX21tLmMKaW5kZXggMGFkMjE1ZS4uYWMzYjI4MCAxMDA2NDQKLS0tIGEvZHJpdmVycy9zY3NpL21lZ2FyYWlkL21lZ2FyYWlkX21tLmMKKysrIGIvZHJpdmVycy9zY3NpL21lZ2FyYWlkL21lZ2FyYWlkX21tLmMKQEAgLTE1LDYgKzE1LDcgQEAKICAqIENvbW1vbiBtYW5hZ2VtZW50IG1vZHVsZQogICovCiAjaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgIm1lZ2FyYWlkX21tLmgiCiAKIApAQCAtOTYsNiArOTcsNyBAQAogCSAqLwogCWlmICghY2FwYWJsZShDQVBfU1lTX0FETUlOKSkgcmV0dXJuICgtRUFDQ0VTKTsKIAorCWN5Y2xlX2tlcm5lbF9sb2NrKCk7CiAJcmV0dXJuIDA7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvc2NzaS9tZWdhcmFpZC9tZWdhcmFpZF9zYXMuYyBiL2RyaXZlcnMvc2NzaS9tZWdhcmFpZC9tZWdhcmFpZF9zYXMuYwppbmRleCA3ZDg0YzhiLi5mYzdhYzE1IDEwMDY0NAotLS0gYS9kcml2ZXJzL3Njc2kvbWVnYXJhaWQvbWVnYXJhaWRfc2FzLmMKKysrIGIvZHJpdmVycy9zY3NpL21lZ2FyYWlkL21lZ2FyYWlkX3Nhcy5jCkBAIC0zMyw2ICszMyw3IEBACiAjaW5jbHVkZSA8bGludXgvc3BpbmxvY2suaD4KICNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KICNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvdWlvLmg+CiAjaW5jbHVkZSA8YXNtL3VhY2Nlc3MuaD4KICNpbmNsdWRlIDxsaW51eC9mcy5oPgpAQCAtMjg2Myw2ICsyODY0LDcgQEAKICAqLwogc3RhdGljIGludCBtZWdhc2FzX21nbXRfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZXApCiB7CisJY3ljbGVfa2VybmVsX2xvY2soKTsKIAkvKgogCSAqIEFsbG93IG9ubHkgdGhvc2UgdXNlcnMgd2l0aCBhZG1pbiByaWdodHMKIAkgKi8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvc2NzaS9vc3N0LmMgYi9kcml2ZXJzL3Njc2kvb3NzdC5jCmluZGV4IDI0M2Q4YmUuLjFjNzlmOTcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvc2NzaS9vc3N0LmMKKysrIGIvZHJpdmVycy9zY3NpL29zc3QuYwpAQCAtNTAsNiArNTAsNyBAQAogI2luY2x1ZGUgPGxpbnV4L21vZHVsZXBhcmFtLmg+CiAjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KICNpbmNsdWRlIDxsaW51eC9qaWZmaWVzLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgogI2luY2x1ZGUgPGFzbS9kbWEuaD4KICNpbmNsdWRlIDxhc20vc3lzdGVtLmg+CkBAIC00MzU5LDcgKzQzNjAsNyBAQAogCiAKIC8qIE9wZW4gdGhlIGRldmljZSAqLwotc3RhdGljIGludCBvc19zY3NpX3RhcGVfb3BlbihzdHJ1Y3QgaW5vZGUgKiBpbm9kZSwgc3RydWN0IGZpbGUgKiBmaWxwKQorc3RhdGljIGludCBfX29zX3Njc2lfdGFwZV9vcGVuKHN0cnVjdCBpbm9kZSAqIGlub2RlLCBzdHJ1Y3QgZmlsZSAqIGZpbHApCiB7CiAJdW5zaWduZWQgc2hvcnQJICAgICAgZmxhZ3M7CiAJaW50CQkgICAgICBpLCBiX3NpemUsIG5ld19zZXNzaW9uID0gMCwgcmV0dmFsID0gMDsKQEAgLTQ3MjUsNiArNDcyNiwxOCBAQAogCXJldHVybiByZXR2YWw7CiB9CiAKKy8qIEJLTCBwdXNoZG93bjogc3BhZ2hldHRpIGF2b2lkYW5jZSB3cmFwcGVyICovCitzdGF0aWMgaW50IG9zX3Njc2lfdGFwZV9vcGVuKHN0cnVjdCBpbm9kZSAqIGlub2RlLCBzdHJ1Y3QgZmlsZSAqIGZpbHApCit7CisJaW50IHJldDsKKworCWxvY2tfa2VybmVsKCk7CisJcmV0ID0gX19vc19zY3NpX3RhcGVfb3Blbihpbm9kZSwgZmlscCk7CisJdW5sb2NrX2tlcm5lbCgpOworCXJldHVybiByZXQ7Cit9CisKKwogCiAvKiBGbHVzaCB0aGUgdGFwZSBidWZmZXIgYmVmb3JlIGNsb3NlICovCiBzdGF0aWMgaW50IG9zX3Njc2lfdGFwZV9mbHVzaChzdHJ1Y3QgZmlsZSAqIGZpbHAsIGZsX293bmVyX3QgaWQpCmRpZmYgLS1naXQgYS9kcml2ZXJzL3Njc2kvc2NzaV90Z3RfaWYuYyBiL2RyaXZlcnMvc2NzaS9zY3NpX3RndF9pZi5jCmluZGV4IGQyNTU3ZGIuLjBlOTUzM2Y3IDEwMDY0NAotLS0gYS9kcml2ZXJzL3Njc2kvc2NzaV90Z3RfaWYuYworKysgYi9kcml2ZXJzL3Njc2kvc2NzaV90Z3RfaWYuYwpAQCAtMjEsNiArMjEsNyBAQAogICovCiAjaW5jbHVkZSA8bGludXgvbWlzY2RldmljZS5oPgogI2luY2x1ZGUgPGxpbnV4L2ZpbGUuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPG5ldC90Y3AuaD4KICNpbmNsdWRlIDxzY3NpL3Njc2kuaD4KICNpbmNsdWRlIDxzY3NpL3Njc2lfY21uZC5oPgpAQCAtMzIxLDYgKzMyMiw3IEBACiB7CiAJdHhfcmluZy50cl9pZHggPSByeF9yaW5nLnRyX2lkeCA9IDA7CiAKKwljeWNsZV9rZXJuZWxfbG9jaygpOwogCXJldHVybiAwOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL3Njc2kvc2cuYyBiL2RyaXZlcnMvc2NzaS9zZy5jCmluZGV4IGVhMGVkZDEuLmZjY2QyZTggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvc2NzaS9zZy5jCisrKyBiL2RyaXZlcnMvc2NzaS9zZy5jCkBAIC00OSw2ICs0OSw3IEBACiAjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KICNpbmNsdWRlIDxsaW51eC9zY2F0dGVybGlzdC5oPgogI2luY2x1ZGUgPGxpbnV4L2Jsa3RyYWNlX2FwaS5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAKICNpbmNsdWRlICJzY3NpLmgiCiAjaW5jbHVkZSA8c2NzaS9zY3NpX2RiZy5oPgpAQCAtMTgyLDggKzE4Myw5IEBACiAJCQkgaW50IHRhYmxlc2l6ZSk7CiBzdGF0aWMgc3NpemVfdCBzZ19uZXdfcmVhZChTZ19mZCAqIHNmcCwgY2hhciBfX3VzZXIgKmJ1Ziwgc2l6ZV90IGNvdW50LAogCQkJICAgU2dfcmVxdWVzdCAqIHNycCk7Ci1zdGF0aWMgc3NpemVfdCBzZ19uZXdfd3JpdGUoU2dfZmQgKiBzZnAsIGNvbnN0IGNoYXIgX191c2VyICpidWYsIHNpemVfdCBjb3VudCwKLQkJCSAgICBpbnQgYmxvY2tpbmcsIGludCByZWFkX29ubHksIFNnX3JlcXVlc3QgKiogb19zcnApOworc3RhdGljIHNzaXplX3Qgc2dfbmV3X3dyaXRlKFNnX2ZkICpzZnAsIHN0cnVjdCBmaWxlICpmaWxlLAorCQkJY29uc3QgY2hhciBfX3VzZXIgKmJ1Ziwgc2l6ZV90IGNvdW50LCBpbnQgYmxvY2tpbmcsCisJCQlpbnQgcmVhZF9vbmx5LCBTZ19yZXF1ZXN0ICoqb19zcnApOwogc3RhdGljIGludCBzZ19jb21tb25fd3JpdGUoU2dfZmQgKiBzZnAsIFNnX3JlcXVlc3QgKiBzcnAsCiAJCQkgICB1bnNpZ25lZCBjaGFyICpjbW5kLCBpbnQgdGltZW91dCwgaW50IGJsb2NraW5nKTsKIHN0YXRpYyBpbnQgc2dfdV9pb3ZlYyhzZ19pb19oZHJfdCAqIGhwLCBpbnQgc2dfbnVtLCBpbnQgaW5kLApAQCAtMjA0LDcgKzIwNiw2IEBACiBzdGF0aWMgU2dfcmVxdWVzdCAqc2dfYWRkX3JlcXVlc3QoU2dfZmQgKiBzZnApOwogc3RhdGljIGludCBzZ19yZW1vdmVfcmVxdWVzdChTZ19mZCAqIHNmcCwgU2dfcmVxdWVzdCAqIHNycCk7CiBzdGF0aWMgaW50IHNnX3Jlc19pbl91c2UoU2dfZmQgKiBzZnApOwotc3RhdGljIGludCBzZ19hbGxvd19hY2Nlc3ModW5zaWduZWQgY2hhciBvcGNvZGUsIGNoYXIgZGV2X3R5cGUpOwogc3RhdGljIGludCBzZ19idWlsZF9kaXJlY3QoU2dfcmVxdWVzdCAqIHNycCwgU2dfZmQgKiBzZnAsIGludCBkeGZlcl9sZW4pOwogc3RhdGljIFNnX2RldmljZSAqc2dfZ2V0X2RldihpbnQgZGV2KTsKICNpZmRlZiBDT05GSUdfU0NTSV9QUk9DX0ZTCkBAIC0yMjcsMTkgKzIyOCwyNiBAQAogCWludCByZXM7CiAJaW50IHJldHZhbDsKIAorCWxvY2tfa2VybmVsKCk7CiAJbm9uc2Vla2FibGVfb3Blbihpbm9kZSwgZmlscCk7CiAJU0NTSV9MT0dfVElNRU9VVCgzLCBwcmludGsoInNnX29wZW46IGRldj0lZCwgZmxhZ3M9MHgleFxuIiwgZGV2LCBmbGFncykpOwogCXNkcCA9IHNnX2dldF9kZXYoZGV2KTsKLQlpZiAoKCFzZHApIHx8ICghc2RwLT5kZXZpY2UpKQorCWlmICgoIXNkcCkgfHwgKCFzZHAtPmRldmljZSkpIHsKKwkJdW5sb2NrX2tlcm5lbCgpOwogCQlyZXR1cm4gLUVOWElPOwotCWlmIChzZHAtPmRldGFjaGVkKQorCX0KKwlpZiAoc2RwLT5kZXRhY2hlZCkgeworCQl1bmxvY2tfa2VybmVsKCk7CiAJCXJldHVybiAtRU5PREVWOworCX0KIAogCS8qIFRoaXMgZHJpdmVyJ3MgbW9kdWxlIGNvdW50IGJ1bXBlZCBieSBmb3BzX2dldCBpbiA8bGludXgvZnMuaD4gKi8KIAkvKiBQcmV2ZW50IHRoZSBkZXZpY2UgZHJpdmVyIGZyb20gdmFuaXNoaW5nIHdoaWxlIHdlIHNsZWVwICovCiAJcmV0dmFsID0gc2NzaV9kZXZpY2VfZ2V0KHNkcC0+ZGV2aWNlKTsKLQlpZiAocmV0dmFsKQorCWlmIChyZXR2YWwpIHsKKwkJdW5sb2NrX2tlcm5lbCgpOwogCQlyZXR1cm4gcmV0dmFsOworCX0KIAogCWlmICghKChmbGFncyAmIE9fTk9OQkxPQ0spIHx8CiAJICAgICAgc2NzaV9ibG9ja193aGVuX3Byb2Nlc3NpbmdfZXJyb3JzKHNkcC0+ZGV2aWNlKSkpIHsKQEAgLTI5NSwxMCArMzAzLDEyIEBACiAJCXJldHZhbCA9IC1FTk9NRU07CiAJCWdvdG8gZXJyb3Jfb3V0OwogCX0KKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIDA7CiAKICAgICAgIGVycm9yX291dDoKIAlzY3NpX2RldmljZV9wdXQoc2RwLT5kZXZpY2UpOworCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gcmV0dmFsOwogfQogCkBAIC01NDQsNyArNTU0LDcgQEAKIAkJcmV0dXJuIC1FRkFVTFQ7CiAJYmxvY2tpbmcgPSAhKGZpbHAtPmZfZmxhZ3MgJiBPX05PTkJMT0NLKTsKIAlpZiAob2xkX2hkci5yZXBseV9sZW4gPCAwKQotCQlyZXR1cm4gc2dfbmV3X3dyaXRlKHNmcCwgYnVmLCBjb3VudCwgYmxvY2tpbmcsIDAsIE5VTEwpOworCQlyZXR1cm4gc2dfbmV3X3dyaXRlKHNmcCwgZmlscCwgYnVmLCBjb3VudCwgYmxvY2tpbmcsIDAsIE5VTEwpOwogCWlmIChjb3VudCA8IChTWl9TR19IRUFERVIgKyA2KSkKIAkJcmV0dXJuIC1FSU87CS8qIFRoZSBtaW5pbXVtIHNjc2kgY29tbWFuZCBsZW5ndGggaXMgNiBieXRlcy4gKi8KIApAQCAtNjIxLDggKzYzMSw5IEBACiB9CiAKIHN0YXRpYyBzc2l6ZV90Ci1zZ19uZXdfd3JpdGUoU2dfZmQgKiBzZnAsIGNvbnN0IGNoYXIgX191c2VyICpidWYsIHNpemVfdCBjb3VudCwKLQkgICAgIGludCBibG9ja2luZywgaW50IHJlYWRfb25seSwgU2dfcmVxdWVzdCAqKiBvX3NycCkKK3NnX25ld193cml0ZShTZ19mZCAqc2ZwLCBzdHJ1Y3QgZmlsZSAqZmlsZSwgY29uc3QgY2hhciBfX3VzZXIgKmJ1ZiwKKwkJIHNpemVfdCBjb3VudCwgaW50IGJsb2NraW5nLCBpbnQgcmVhZF9vbmx5LAorCQkgU2dfcmVxdWVzdCAqKm9fc3JwKQogewogCWludCBrOwogCVNnX3JlcXVlc3QgKnNycDsKQEAgLTY3OCw4ICs2ODksNyBAQAogCQlzZ19yZW1vdmVfcmVxdWVzdChzZnAsIHNycCk7CiAJCXJldHVybiAtRUZBVUxUOwogCX0KLQlpZiAocmVhZF9vbmx5ICYmCi0JICAgICghc2dfYWxsb3dfYWNjZXNzKGNtbmRbMF0sIHNmcC0+cGFyZW50ZHAtPmRldmljZS0+dHlwZSkpKSB7CisJaWYgKHJlYWRfb25seSAmJiAhYmxrX3ZlcmlmeV9jb21tYW5kKGZpbGUsIGNtbmQpKSB7CiAJCXNnX3JlbW92ZV9yZXF1ZXN0KHNmcCwgc3JwKTsKIAkJcmV0dXJuIC1FUEVSTTsKIAl9CkBAIC03OTksNyArODA5LDcgQEAKIAkJCWlmICghYWNjZXNzX29rKFZFUklGWV9XUklURSwgcCwgU1pfU0dfSU9fSERSKSkKIAkJCQlyZXR1cm4gLUVGQVVMVDsKIAkJCXJlc3VsdCA9Ci0JCQkgICAgc2dfbmV3X3dyaXRlKHNmcCwgcCwgU1pfU0dfSU9fSERSLAorCQkJICAgIHNnX25ld193cml0ZShzZnAsIGZpbHAsIHAsIFNaX1NHX0lPX0hEUiwKIAkJCQkJIGJsb2NraW5nLCByZWFkX29ubHksICZzcnApOwogCQkJaWYgKHJlc3VsdCA8IDApCiAJCQkJcmV0dXJuIHJlc3VsdDsKQEAgLTEwNDgsNyArMTA1OCw3IEBACiAKIAkJCWlmIChjb3B5X2Zyb21fdXNlcigmb3Bjb2RlLCBzaW9jcC0+ZGF0YSwgMSkpCiAJCQkJcmV0dXJuIC1FRkFVTFQ7Ci0JCQlpZiAoIXNnX2FsbG93X2FjY2VzcyhvcGNvZGUsIHNkcC0+ZGV2aWNlLT50eXBlKSkKKwkJCWlmICghYmxrX3ZlcmlmeV9jb21tYW5kKGZpbHAsICZvcGNvZGUpKQogCQkJCXJldHVybiAtRVBFUk07CiAJCX0KIAkJcmV0dXJuIHNnX3Njc2lfaW9jdGwoZmlscCwgc2RwLT5kZXZpY2UtPnJlcXVlc3RfcXVldWUsIE5VTEwsIHApOwpAQCAtMjUwMiwzMCArMjUxMiw2IEBACiAJX19mcmVlX3BhZ2VzKHBhZ2UsIG9yZGVyKTsKIH0KIAotI2lmbmRlZiBNQUlOVEVOQU5DRV9JTl9DTUQKLSNkZWZpbmUgTUFJTlRFTkFOQ0VfSU5fQ01EIDB4YTMKLSNlbmRpZgotCi1zdGF0aWMgdW5zaWduZWQgY2hhciBhbGxvd19vcHNbXSA9IHsgVEVTVF9VTklUX1JFQURZLCBSRVFVRVNUX1NFTlNFLAotCUlOUVVJUlksIFJFQURfQ0FQQUNJVFksIFJFQURfQlVGRkVSLCBSRUFEXzYsIFJFQURfMTAsIFJFQURfMTIsCi0JUkVBRF8xNiwgTU9ERV9TRU5TRSwgTU9ERV9TRU5TRV8xMCwgTE9HX1NFTlNFLCBSRVBPUlRfTFVOUywKLQlTRVJWSUNFX0FDVElPTl9JTiwgUkVDRUlWRV9ESUFHTk9TVElDLCBSRUFEX0xPTkcsIE1BSU5URU5BTkNFX0lOX0NNRAotfTsKLQotc3RhdGljIGludAotc2dfYWxsb3dfYWNjZXNzKHVuc2lnbmVkIGNoYXIgb3Bjb2RlLCBjaGFyIGRldl90eXBlKQotewotCWludCBrOwotCi0JaWYgKFRZUEVfU0NBTk5FUiA9PSBkZXZfdHlwZSkJLyogVFlQRV9ST00gbWF5YmUgYnVybmVyICovCi0JCXJldHVybiAxOwotCWZvciAoayA9IDA7IGsgPCBzaXplb2YgKGFsbG93X29wcyk7ICsraykgewotCQlpZiAob3Bjb2RlID09IGFsbG93X29wc1trXSkKLQkJCXJldHVybiAxOwotCX0KLQlyZXR1cm4gMDsKLX0KLQogI2lmZGVmIENPTkZJR19TQ1NJX1BST0NfRlMKIHN0YXRpYyBpbnQKIHNnX2lkcl9tYXhfaWQoaW50IGlkLCB2b2lkICpwLCB2b2lkICpkYXRhKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zY3NpL3NyLmMgYi9kcml2ZXJzL3Njc2kvc3IuYwppbmRleCBjODJkZjhiLi4yN2Y1YmZkIDEwMDY0NAotLS0gYS9kcml2ZXJzL3Njc2kvc3IuYworKysgYi9kcml2ZXJzL3Njc2kvc3IuYwpAQCAtNjczLDI0ICs2NzMsMjAgQEAKIHN0YXRpYyB2b2lkIGdldF9zZWN0b3JzaXplKHN0cnVjdCBzY3NpX2NkICpjZCkKIHsKIAl1bnNpZ25lZCBjaGFyIGNtZFsxMF07Ci0JdW5zaWduZWQgY2hhciAqYnVmZmVyOworCXVuc2lnbmVkIGNoYXIgYnVmZmVyWzhdOwogCWludCB0aGVfcmVzdWx0LCByZXRyaWVzID0gMzsKIAlpbnQgc2VjdG9yX3NpemU7CiAJc3RydWN0IHJlcXVlc3RfcXVldWUgKnF1ZXVlOwogCi0JYnVmZmVyID0ga21hbGxvYyg1MTIsIEdGUF9LRVJORUwgfCBHRlBfRE1BKTsKLQlpZiAoIWJ1ZmZlcikKLQkJZ290byBFbm9tZW07Ci0KIAlkbyB7CiAJCWNtZFswXSA9IFJFQURfQ0FQQUNJVFk7CiAJCW1lbXNldCgodm9pZCAqKSAmY21kWzFdLCAwLCA5KTsKLQkJbWVtc2V0KGJ1ZmZlciwgMCwgOCk7CisJCW1lbXNldChidWZmZXIsIDAsIHNpemVvZihidWZmZXIpKTsKIAogCQkvKiBEbyB0aGUgY29tbWFuZCBhbmQgd2FpdC4uICovCiAJCXRoZV9yZXN1bHQgPSBzY3NpX2V4ZWN1dGVfcmVxKGNkLT5kZXZpY2UsIGNtZCwgRE1BX0ZST01fREVWSUNFLAotCQkJCQkgICAgICBidWZmZXIsIDgsIE5VTEwsIFNSX1RJTUVPVVQsCi0JCQkJCSAgICAgIE1BWF9SRVRSSUVTKTsKKwkJCQkJICAgICAgYnVmZmVyLCBzaXplb2YoYnVmZmVyKSwgTlVMTCwKKwkJCQkJICAgICAgU1JfVElNRU9VVCwgTUFYX1JFVFJJRVMpOwogCiAJCXJldHJpZXMtLTsKIApAQCAtNzQ1LDE0ICs3NDEsOCBAQAogCiAJcXVldWUgPSBjZC0+ZGV2aWNlLT5yZXF1ZXN0X3F1ZXVlOwogCWJsa19xdWV1ZV9oYXJkc2VjdF9zaXplKHF1ZXVlLCBzZWN0b3Jfc2l6ZSk7Ci1vdXQ6Ci0Ja2ZyZWUoYnVmZmVyKTsKLQlyZXR1cm47CiAKLUVub21lbToKLQljZC0+Y2FwYWNpdHkgPSAweDFmZmZmZjsKLQljZC0+ZGV2aWNlLT5zZWN0b3Jfc2l6ZSA9IDIwNDg7CS8qIEEgZ3Vlc3MsIGp1c3QgaW4gY2FzZSAqLwotCWdvdG8gb3V0OworCXJldHVybjsKIH0KIAogc3RhdGljIHZvaWQgZ2V0X2NhcGFiaWxpdGllcyhzdHJ1Y3Qgc2NzaV9jZCAqY2QpCmRpZmYgLS1naXQgYS9kcml2ZXJzL3Njc2kvc3QuYyBiL2RyaXZlcnMvc2NzaS9zdC5jCmluZGV4IDZlNWE1YmIuLjQ2ODRjYzcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvc2NzaS9zdC5jCisrKyBiL2RyaXZlcnMvc2NzaS9zdC5jCkBAIC0zOCw2ICszOCw3IEBACiAjaW5jbHVkZSA8bGludXgvY2Rldi5oPgogI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+CiAjaW5jbHVkZSA8bGludXgvbXV0ZXguaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogCiAjaW5jbHVkZSA8YXNtL3VhY2Nlc3MuaD4KICNpbmNsdWRlIDxhc20vZG1hLmg+CkBAIC0xMTEzLDcgKzExMTQsNyBAQAogfQogCiAKLQwvKiBPcGVuIHRoZSBkZXZpY2UuIE5lZWRzIHRvIGJlIGNhbGxlZCB3aXRoIEJLTCBvbmx5IGJlY2F1c2Ugb2YgaW5jcmVtZW50aW5nIHRoZSBTQ1NJIGhvc3QKKwwvKiBPcGVuIHRoZSBkZXZpY2UuIE5lZWRzIHRvIHRha2UgdGhlIEJLTCBvbmx5IGJlY2F1c2Ugb2YgaW5jcmVtZW50aW5nIHRoZSBTQ1NJIGhvc3QKICAgIG1vZHVsZSBjb3VudC4gKi8KIHN0YXRpYyBpbnQgc3Rfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlscCkKIHsKQEAgLTExMjMsNiArMTEyNCw3IEBACiAJaW50IGRldiA9IFRBUEVfTlIoaW5vZGUpOwogCWNoYXIgKm5hbWU7CiAKKwlsb2NrX2tlcm5lbCgpOwogCS8qCiAJICogV2UgcmVhbGx5IHdhbnQgdG8gZG8gbm9uc2Vla2FibGVfb3Blbihpbm9kZSwgZmlscCk7IGhlcmUsIGJ1dCBzb21lCiAJICogdmVyc2lvbnMgb2YgdGFyIGluY29ycmVjdGx5IGNhbGwgbHNlZWsgb24gdGFwZXMgYW5kIGJhaWwgb3V0IGlmIHRoYXQKQEAgLTExMzAsOCArMTEzMiwxMCBAQAogCSAqLwogCWZpbHAtPmZfbW9kZSAmPSB+KEZNT0RFX1BSRUFEIHwgRk1PREVfUFdSSVRFKTsKIAotCWlmICghKFNUcCA9IHNjc2lfdGFwZV9nZXQoZGV2KSkpCisJaWYgKCEoU1RwID0gc2NzaV90YXBlX2dldChkZXYpKSkgeworCQl1bmxvY2tfa2VybmVsKCk7CiAJCXJldHVybiAtRU5YSU87CisJfQogCiAJd3JpdGVfbG9jaygmc3RfZGV2X2Fycl9sb2NrKTsKIAlmaWxwLT5wcml2YXRlX2RhdGEgPSBTVHA7CkBAIC0xMTQwLDYgKzExNDQsNyBAQAogCWlmIChTVHAtPmluX3VzZSkgewogCQl3cml0ZV91bmxvY2soJnN0X2Rldl9hcnJfbG9jayk7CiAJCXNjc2lfdGFwZV9wdXQoU1RwKTsKKwkJdW5sb2NrX2tlcm5lbCgpOwogCQlERUIoIHByaW50ayhTVF9ERUJfTVNHICIlczogRGV2aWNlIGFscmVhZHkgaW4gdXNlLlxuIiwgbmFtZSk7ICkKIAkJcmV0dXJuICgtRUJVU1kpOwogCX0KQEAgLTExODgsMTIgKzExOTMsMTQgQEAKIAkJCXJldHZhbCA9ICgtRUlPKTsKIAkJZ290byBlcnJfb3V0OwogCX0KKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIDA7CiAKICBlcnJfb3V0OgogCW5vcm1hbGl6ZV9idWZmZXIoU1RwLT5idWZmZXIpOwogCVNUcC0+aW5fdXNlID0gMDsKIAlzY3NpX3RhcGVfcHV0KFNUcCk7CisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiByZXR2YWw7CiAKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvc2VyaWFsL0tjb25maWcgYi9kcml2ZXJzL3NlcmlhbC9LY29uZmlnCmluZGV4IDliYzQyNzYuLjE4Y2E5MDcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvc2VyaWFsL0tjb25maWcKKysrIGIvZHJpdmVycy9zZXJpYWwvS2NvbmZpZwpAQCAtNDQ4LDIyICs0NDgsMjcgQEAKIAkgIHlvdXIgYm9vdCBsb2FkZXIgKGxpbG8gb3IgbG9hZGxpbikgYWJvdXQgaG93IHRvIHBhc3Mgb3B0aW9ucyB0byB0aGUKIAkgIGtlcm5lbCBhdCBib290IHRpbWUuKQogCi1jb25maWcgU0VSSUFMX1MzQzI0MTAKLQl0cmlzdGF0ZSAiU2Ftc3VuZyBTM0MyNDEwL1MzQzI0NDAvUzNDMjQ0Mi9TM0MyNDEyIFNlcmlhbCBwb3J0IHN1cHBvcnQiCi0JZGVwZW5kcyBvbiBBUk0gJiYgQVJDSF9TM0MyNDEwCi0Jc2VsZWN0IFNFUklBTF9DT1JFCitjb25maWcgU0VSSUFMX1NBTVNVTkcKKwl0cmlzdGF0ZSAiU2Ftc3VuZyBTb0Mgc2VyaWFsIHN1cHBvcnQiCisJZGVwZW5kcyBvbiBBUk0gJiYgUExBVF9TM0MyNFhYCiAJaGVscAogCSAgU3VwcG9ydCBmb3IgdGhlIG9uLWNoaXAgVUFSVHMgb24gdGhlIFNhbXN1bmcgUzNDMjRYWCBzZXJpZXMgQ1BVcywKIAkgIHByb3ZpZGluZyAvZGV2L3R0eVNBQzAsIDEgYW5kIDIgKG5vdGUsIHNvbWUgbWFjaGluZXMgbWF5IG5vdAogCSAgcHJvdmlkZSBhbGwgb2YgdGhlc2UgcG9ydHMsIGRlcGVuZGluZyBvbiBob3cgdGhlIHNlcmlhbCBwb3J0CiAJICBwaW5zIGFyZSBjb25maWd1cmVkLgogCi0JICBDdXJyZW50bHkgdGhpcyBkcml2ZXIgc3VwcG9ydHMgdGhlIFVBUlRTIG9uIHRoZSBTM0MyNDEwLCBTM0MyNDQwLAotCSAgUzNDMjQ0MiwgUzNDMjQxMiBhbmQgUzNDMjQxMyBDUFVzLgorY29uZmlnIFNFUklBTF9TQU1TVU5HX0RFQlVHCisJYm9vbCAiU2Ftc3VuZyBTb0Mgc2VyaWFsIGRlYnVnIgorCWRlcGVuZHMgb24gU0VSSUFMX1NBTVNVTkcKKwloZWxwCisJICBBZGQgc3VwcG9ydCBmb3IgZGVidWdnaW5nIHRoZSBzZXJpYWwgZHJpdmVyLiBTaW5jZSB0aGlzIGlzCisJICBnZW5lcmFsbHkgYmVpbmcgdXNlZCBhcyBhIGNvbnNvbGUsIHdlIHVzZSBvdXIgb3duIG91dHB1dAorCSAgcm91dGluZXMgdGhhdCBnbyB2aWEgdGhlIGxvdy1sZXZlbCBkZWJ1ZyBwcmludGFzY2lpKCkKKwkgIGZ1bmN0aW9uLgogCi1jb25maWcgU0VSSUFMX1MzQzI0MTBfQ09OU09MRQotCWJvb2wgIlN1cHBvcnQgZm9yIGNvbnNvbGUgb24gUzNDMjQxMCBzZXJpYWwgcG9ydCIKLQlkZXBlbmRzIG9uIFNFUklBTF9TM0MyNDEwPXkKK2NvbmZpZyBTRVJJQUxfU0FNU1VOR19DT05TT0xFCisJYm9vbCAiU3VwcG9ydCBmb3IgY29uc29sZSBvbiBTYW1zdW5nIFNvQyBzZXJpYWwgcG9ydCIKKwlkZXBlbmRzIG9uIFNFUklBTF9TQU1TVU5HPXkKIAlzZWxlY3QgU0VSSUFMX0NPUkVfQ09OU09MRQogCWhlbHAKIAkgIEFsbG93IHNlbGVjdGlvbiBvZiB0aGUgUzNDMjRYWCBvbi1ib2FyZCBzZXJpYWwgcG9ydHMgZm9yIHVzZSBhcwpAQCAtNDc2LDYgKzQ4MSwzNyBAQAogCSAgeW91ciBib290IGxvYWRlciBhYm91dCBob3cgdG8gcGFzcyBvcHRpb25zIHRvIHRoZSBrZXJuZWwgYXQKIAkgIGJvb3QgdGltZS4pCiAKK2NvbmZpZyBTRVJJQUxfUzNDMjQwMAorCXRyaXN0YXRlICJTYW1zdW5nIFMzQzI0MTAgU2VyaWFsIHBvcnQgc3VwcG9ydCIKKwlkZXBlbmRzIG9uIEFSTSAmJiBTRVJJQUxfU0FNU1VORyAmJiBDUFVfUzNDMjQwMAorCWRlZmF1bHQgeSBpZiBDUFVfUzNDMjQwMAorCWhlbHAKKwkgIFNlcmlhbCBwb3J0IHN1cHBvcnQgZm9yIHRoZSBTYW1zdW5nIFMzQzI0MDAgU29DCisKK2NvbmZpZyBTRVJJQUxfUzNDMjQxMAorCXRyaXN0YXRlICJTYW1zdW5nIFMzQzI0MTAgU2VyaWFsIHBvcnQgc3VwcG9ydCIKKwlkZXBlbmRzIG9uIFNFUklBTF9TQU1TVU5HICYmIENQVV9TM0MyNDEwCisJZGVmYXVsdCB5IGlmIENQVV9TM0MyNDEwCisJaGVscAorCSAgU2VyaWFsIHBvcnQgc3VwcG9ydCBmb3IgdGhlIFNhbXN1bmcgUzNDMjQxMCBTb0MKKworY29uZmlnIFNFUklBTF9TM0MyNDEyCisJdHJpc3RhdGUgIlNhbXN1bmcgUzNDMjQxMi9TM0MyNDEzIFNlcmlhbCBwb3J0IHN1cHBvcnQiCisJZGVwZW5kcyBvbiBTRVJJQUxfU0FNU1VORyAmJiBDUFVfUzNDMjQxMgorCWRlZmF1bHQgeSBpZiBDUFVfUzNDMjQxMgorCWhlbHAKKwkgIFNlcmlhbCBwb3J0IHN1cHBvcnQgZm9yIHRoZSBTYW1zdW5nIFMzQzI0MTIgYW5kIFMzQzI0MTMgU29DCisKK2NvbmZpZyBTRVJJQUxfUzNDMjQ0MAorCXRyaXN0YXRlICJTYW1zdW5nIFMzQzI0NDAvUzNDMjQ0MiBTZXJpYWwgcG9ydCBzdXBwb3J0IgorCWRlcGVuZHMgb24gU0VSSUFMX1NBTVNVTkcgJiYgKENQVV9TM0MyNDQwIHx8IENQVV9TM0MyNDQyKQorCWRlZmF1bHQgeSBpZiBDUFVfUzNDMjQ0MAorCWRlZmF1bHQgeSBpZiBDUFVfUzNDMjQ0MgorCWhlbHAKKwkgIFNlcmlhbCBwb3J0IHN1cHBvcnQgZm9yIHRoZSBTYW1zdW5nIFMzQzI0NDAgYW5kIFMzQzI0NDIgU29DCisKKworCiBjb25maWcgU0VSSUFMX0RaCiAJYm9vbCAiREVDc3RhdGlvbiBEWiBzZXJpYWwgZHJpdmVyIgogCWRlcGVuZHMgb24gTUFDSF9ERUNTVEFUSU9OICYmIDMyQklUCkBAIC03NTMsNyArNzg5LDcgQEAKIAogY29uZmlnIFNFUklBTF9JTVgKIAlib29sICJJTVggc2VyaWFsIHBvcnQgc3VwcG9ydCIKLQlkZXBlbmRzIG9uIEFSTSAmJiBBUkNIX0lNWAorCWRlcGVuZHMgb24gQVJNICYmIChBUkNIX0lNWCB8fCBBUkNIX01YQykKIAlzZWxlY3QgU0VSSUFMX0NPUkUKIAloZWxwCiAJICBJZiB5b3UgaGF2ZSBhIG1hY2hpbmUgYmFzZWQgb24gYSBNb3Rvcm9sYSBJTVggQ1BVIHlvdQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zZXJpYWwvTWFrZWZpbGUgYi9kcml2ZXJzL3NlcmlhbC9NYWtlZmlsZQppbmRleCAwZDljMDliLi43ZDg1YzFmIDEwMDY0NAotLS0gYS9kcml2ZXJzL3NlcmlhbC9NYWtlZmlsZQorKysgYi9kcml2ZXJzL3NlcmlhbC9NYWtlZmlsZQpAQCAtMjgsNyArMjgsMTEgQEAKIG9iai0kKENPTkZJR19TRVJJQUxfU0ExMTAwKSArPSBzYTExMDAubwogb2JqLSQoQ09ORklHX1NFUklBTF9CRklOKSArPSBiZmluXzV4eC5vCiBvYmotJChDT05GSUdfU0VSSUFMX0JGSU5fU1BPUlQpICs9IGJmaW5fc3BvcnRfdWFydC5vCitvYmotJChDT05GSUdfU0VSSUFMX1NBTVNVTkcpICs9IHNhbXN1bmcubworb2JqLSQoQ09ORklHX1NFUklBTF9TM0MyNDAwKSArPSBzM2MyNDAwLm8KIG9iai0kKENPTkZJR19TRVJJQUxfUzNDMjQxMCkgKz0gczNjMjQxMC5vCitvYmotJChDT05GSUdfU0VSSUFMX1MzQzI0MTIpICs9IHMzYzI0MTIubworb2JqLSQoQ09ORklHX1NFUklBTF9TM0MyNDQwKSArPSBzM2MyNDQwLm8KIG9iai0kKENPTkZJR19TRVJJQUxfU1VOQ09SRSkgKz0gc3VuY29yZS5vCiBvYmotJChDT05GSUdfU0VSSUFMX1NVTkhWKSArPSBzdW5odi5vCiBvYmotJChDT05GSUdfU0VSSUFMX1NVTlpJTE9HKSArPSBzdW56aWxvZy5vCmRpZmYgLS1naXQgYS9kcml2ZXJzL3NlcmlhbC9hdG1lbF9zZXJpYWwuYyBiL2RyaXZlcnMvc2VyaWFsL2F0bWVsX3NlcmlhbC5jCmluZGV4IDQyYmU4YjAxLi42YWVlZjIyYiAxMDA2NDQKLS0tIGEvZHJpdmVycy9zZXJpYWwvYXRtZWxfc2VyaWFsLmMKKysrIGIvZHJpdmVycy9zZXJpYWwvYXRtZWxfc2VyaWFsLmMKQEAgLTE0MzksMTQgKzE0MzksMjkgQEAKIH07CiAKICNpZmRlZiBDT05GSUdfUE0KK3N0YXRpYyBib29sIGF0bWVsX3NlcmlhbF9jbGtfd2lsbF9zdG9wKHZvaWQpCit7CisjaWZkZWYgQ09ORklHX0FSQ0hfQVQ5MQorCXJldHVybiBhdDkxX3N1c3BlbmRfZW50ZXJpbmdfc2xvd19jbG9jaygpOworI2Vsc2UKKwlyZXR1cm4gZmFsc2U7CisjZW5kaWYKK30KKwogc3RhdGljIGludCBhdG1lbF9zZXJpYWxfc3VzcGVuZChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LAogCQkJCXBtX21lc3NhZ2VfdCBzdGF0ZSkKIHsKIAlzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0ID0gcGxhdGZvcm1fZ2V0X2RydmRhdGEocGRldik7CiAJc3RydWN0IGF0bWVsX3VhcnRfcG9ydCAqYXRtZWxfcG9ydCA9IHRvX2F0bWVsX3VhcnRfcG9ydChwb3J0KTsKIAorCWlmIChhdG1lbF9pc19jb25zb2xlX3BvcnQocG9ydCkgJiYgY29uc29sZV9zdXNwZW5kX2VuYWJsZWQpIHsKKwkJLyogRHJhaW4gdGhlIFRYIHNoaWZ0ZXIgKi8KKwkJd2hpbGUgKCEoVUFSVF9HRVRfQ1NSKHBvcnQpICYgQVRNRUxfVVNfVFhFTVBUWSkpCisJCQljcHVfcmVsYXgoKTsKKwl9CisKIAlpZiAoZGV2aWNlX21heV93YWtldXAoJnBkZXYtPmRldikKLQkgICAgJiYgIWF0OTFfc3VzcGVuZF9lbnRlcmluZ19zbG93X2Nsb2NrKCkpCisJICAgICYmICFhdG1lbF9zZXJpYWxfY2xrX3dpbGxfc3RvcCgpKQogCQllbmFibGVfaXJxX3dha2UocG9ydC0+aXJxKTsKIAllbHNlIHsKIAkJdWFydF9zdXNwZW5kX3BvcnQoJmF0bWVsX3VhcnQsIHBvcnQpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zZXJpYWwvaW14LmMgYi9kcml2ZXJzL3NlcmlhbC9pbXguYwppbmRleCA1YTM3NWJmLi42NGFjYjM5IDEwMDY0NAotLS0gYS9kcml2ZXJzL3NlcmlhbC9pbXguYworKysgYi9kcml2ZXJzL3NlcmlhbC9pbXguYwpAQCAtNDAsNiArNDAsNyBAQAogI2luY2x1ZGUgPGxpbnV4L3R0eV9mbGlwLmg+CiAjaW5jbHVkZSA8bGludXgvc2VyaWFsX2NvcmUuaD4KICNpbmNsdWRlIDxsaW51eC9zZXJpYWwuaD4KKyNpbmNsdWRlIDxsaW51eC9jbGsuaD4KIAogI2luY2x1ZGUgPGFzbS9pby5oPgogI2luY2x1ZGUgPGFzbS9pcnEuaD4KQEAgLTYxLDYgKzYyLDExIEBACiAjZGVmaW5lIFVCSVIgIDB4YTQgLyogQlJNIEluY3JlbWVudGFsIFJlZ2lzdGVyICovCiAjZGVmaW5lIFVCTVIgIDB4YTggLyogQlJNIE1vZHVsYXRvciBSZWdpc3RlciAqLwogI2RlZmluZSBVQlJDICAweGFjIC8qIEJhdWQgUmF0ZSBDb3VudCBSZWdpc3RlciAqLworI2lmIGRlZmluZWQgQ09ORklHX0FSQ0hfTVgzIHx8IGRlZmluZWQgQ09ORklHX0FSQ0hfTVgyCisjZGVmaW5lIE9ORU1TIDB4YjAgLyogT25lIE1pbGxpc2Vjb25kIHJlZ2lzdGVyICovCisjZGVmaW5lIFVUUyAgIDB4YjQgLyogVUFSVCBUZXN0IFJlZ2lzdGVyICovCisjZW5kaWYKKyNpZmRlZiBDT05GSUdfQVJDSF9JTVgKICNkZWZpbmUgQklQUjEgMHhiMCAvKiBJbmNyZW1lbnRhbCBQcmVzZXQgUmVnaXN0ZXIgMSAqLwogI2RlZmluZSBCSVBSMiAweGI0IC8qIEluY3JlbWVudGFsIFByZXNldCBSZWdpc3RlciAyICovCiAjZGVmaW5lIEJJUFIzIDB4YjggLyogSW5jcmVtZW50YWwgUHJlc2V0IFJlZ2lzdGVyIDMgKi8KQEAgLTcwLDYgKzc2LDcgQEAKICNkZWZpbmUgQk1QUjMgMHhjOCAvKiBCUk0gTW9kdWxhdG9yIFJlZ2lzdGVyIDMgKi8KICNkZWZpbmUgQk1QUjQgMHhjYyAvKiBCUk0gTW9kdWxhdG9yIFJlZ2lzdGVyIDQgKi8KICNkZWZpbmUgVVRTICAgMHhkMCAvKiBVQVJUIFRlc3QgUmVnaXN0ZXIgKi8KKyNlbmRpZgogCiAvKiBVQVJUIENvbnRyb2wgUmVnaXN0ZXIgQml0IEZpZWxkcy4qLwogI2RlZmluZSAgVVJYRF9DSEFSUkRZICAgICgxPDwxNSkKQEAgLTg5LDcgKzk2LDEyIEBACiAjZGVmaW5lICBVQ1IxX1JUU0RFTiAgICAgKDE8PDUpCSAvKiBSVFMgZGVsdGEgaW50ZXJydXB0IGVuYWJsZSAqLwogI2RlZmluZSAgVUNSMV9TTkRCUksgICAgICgxPDw0KQkgLyogU2VuZCBicmVhayAqLwogI2RlZmluZSAgVUNSMV9URE1BRU4gICAgICgxPDwzKQkgLyogVHJhbnNtaXR0ZXIgcmVhZHkgRE1BIGVuYWJsZSAqLworI2lmZGVmIENPTkZJR19BUkNIX0lNWAogI2RlZmluZSAgVUNSMV9VQVJUQ0xLRU4gICgxPDwyKQkgLyogVUFSVCBjbG9jayBlbmFibGVkICovCisjZW5kaWYKKyNpZiBkZWZpbmVkIENPTkZJR19BUkNIX01YMyB8fCBkZWZpbmVkIENPTkZJR19BUkNIX01YMgorI2RlZmluZSAgVUNSMV9VQVJUQ0xLRU4gICgwKQkgLyogbm90IHByZXNlbnQgb24gbXgyL214MyAqLworI2VuZGlmCiAjZGVmaW5lICBVQ1IxX0RPWkUgICAgICAgKDE8PDEpCSAvKiBEb3plICovCiAjZGVmaW5lICBVQ1IxX1VBUlRFTiAgICAgKDE8PDApCSAvKiBVQVJUIGVuYWJsZWQgKi8KICNkZWZpbmUgIFVDUjJfRVNDSSAgICAgCSAoMTw8MTUpIC8qIEVzY2FwZSBzZXEgaW50ZXJydXB0IGVuYWJsZSAqLwpAQCAtMTYzLDggKzE3NSwxOSBAQAogI2RlZmluZSAgVVRTX1NPRlRSU1QJICgxPDwwKQkgLyogU29mdHdhcmUgcmVzZXQgKi8KIAogLyogV2UndmUgYmVlbiBhc3NpZ25lZCBhIHJhbmdlIG9uIHRoZSAiTG93LWRlbnNpdHkgc2VyaWFsIHBvcnRzIiBtYWpvciAqLworI2lmZGVmIENPTkZJR19BUkNIX0lNWAogI2RlZmluZSBTRVJJQUxfSU1YX01BSk9SCTIwNAogI2RlZmluZSBNSU5PUl9TVEFSVAkJNDEKKyNkZWZpbmUgREVWX05BTUUJCSJ0dHlTTVgiCisjZGVmaW5lIE1BWF9JTlRFUk5BTF9JUlEJSU1YX0lSUVMKKyNlbmRpZgorCisjaWYgZGVmaW5lZCBDT05GSUdfQVJDSF9NWDMgfHwgZGVmaW5lZCBDT05GSUdfQVJDSF9NWDIKKyNkZWZpbmUgU0VSSUFMX0lNWF9NQUpPUiAgICAgICAgMjA3CisjZGVmaW5lIE1JTk9SX1NUQVJUCSAgICAgICAgMTYKKyNkZWZpbmUgREVWX05BTUUJCSJ0dHlteGMiCisjZGVmaW5lIE1BWF9JTlRFUk5BTF9JUlEJTVhDX01BWF9JTlRfTElORVMKKyNlbmRpZgogCiAvKgogICogVGhpcyBkZXRlcm1pbmVzIGhvdyBvZnRlbiB3ZSBjaGVjayB0aGUgbW9kZW0gc3RhdHVzIHNpZ25hbHMKQEAgLTE3NiwxMiArMTk5LDE1IEBACiAKICNkZWZpbmUgRFJJVkVSX05BTUUgIklNWC11YXJ0IgogCisjZGVmaW5lIFVBUlRfTlIgOAorCiBzdHJ1Y3QgaW14X3BvcnQgewogCXN0cnVjdCB1YXJ0X3BvcnQJcG9ydDsKIAlzdHJ1Y3QgdGltZXJfbGlzdAl0aW1lcjsKIAl1bnNpZ25lZCBpbnQJCW9sZF9zdGF0dXM7CiAJaW50CQkJdHhpcnEscnhpcnEscnRzaXJxOwogCWludAkJCWhhdmVfcnRzY3RzOjE7CisJc3RydWN0IGNsawkJKmNsazsKIH07CiAKIC8qCkBAIC00MDUsNiArNDMxLDI2IEBACiAJcmV0dXJuIElSUV9IQU5ETEVEOwogfQogCitzdGF0aWMgaXJxcmV0dXJuX3QgaW14X2ludChpbnQgaXJxLCB2b2lkICpkZXZfaWQpCit7CisJc3RydWN0IGlteF9wb3J0ICpzcG9ydCA9IGRldl9pZDsKKwl1bnNpZ25lZCBpbnQgc3RzOworCisJc3RzID0gcmVhZGwoc3BvcnQtPnBvcnQubWVtYmFzZSArIFVTUjEpOworCisJaWYgKHN0cyAmIFVTUjFfUlJEWSkKKwkJaW14X3J4aW50KGlycSwgZGV2X2lkKTsKKworCWlmIChzdHMgJiBVU1IxX1RSRFkgJiYKKwkJCXJlYWRsKHNwb3J0LT5wb3J0Lm1lbWJhc2UgKyBVQ1IxKSAmIFVDUjFfVFhNUFRZRU4pCisJCWlteF90eGludChpcnEsIGRldl9pZCk7CisKKwlpZiAoc3RzICYgVVNSMV9SVFNTKQorCQlpbXhfcnRzaW50KGlycSwgZGV2X2lkKTsKKworCXJldHVybiBJUlFfSEFORExFRDsKK30KKwogLyoKICAqIFJldHVybiBUSU9DU0VSX1RFTVQgd2hlbiB0cmFuc21pdHRlciBpcyBub3QgYnVzeS4KICAqLwpAQCAtNDc3LDcgKzUyMyw4IEBACiAJICogUkZESVYgaXMgc2V0IHN1Y2ggd2F5IHRvIHNhdGlzZnkgcmVxdWVzdGVkIHVhcnRjbGsgdmFsdWUKIAkgKi8KIAl2YWwgPSBUWFRMIDw8IDEwIHwgUlhUTDsKLQl1ZmNyX3JmZGl2ID0gKGlteF9nZXRfcGVyY2xrMSgpICsgc3BvcnQtPnBvcnQudWFydGNsayAvIDIpIC8gc3BvcnQtPnBvcnQudWFydGNsazsKKwl1ZmNyX3JmZGl2ID0gKGNsa19nZXRfcmF0ZShzcG9ydC0+Y2xrKSArIHNwb3J0LT5wb3J0LnVhcnRjbGsgLyAyKQorCQkJLyBzcG9ydC0+cG9ydC51YXJ0Y2xrOwogCiAJaWYoIXVmY3JfcmZkaXYpCiAJCXVmY3JfcmZkaXYgPSAxOwpAQCAtNTA5LDIxICs1NTYsMzQgQEAKIAl3cml0ZWwodGVtcCAmIH5VQ1I0X0RSRU4sIHNwb3J0LT5wb3J0Lm1lbWJhc2UgKyBVQ1I0KTsKIAogCS8qCi0JICogQWxsb2NhdGUgdGhlIElSUQorCSAqIEFsbG9jYXRlIHRoZSBJUlEocykgaS5NWDEgaGFzIHRocmVlIGludGVycnVwdHMgd2hlcmVhcyBsYXRlcgorCSAqIGNoaXBzIG9ubHkgaGF2ZSBvbmUgaW50ZXJydXB0LgogCSAqLwotCXJldHZhbCA9IHJlcXVlc3RfaXJxKHNwb3J0LT5yeGlycSwgaW14X3J4aW50LCAwLAotCQkJICAgICBEUklWRVJfTkFNRSwgc3BvcnQpOwotCWlmIChyZXR2YWwpIGdvdG8gZXJyb3Jfb3V0MTsKKwlpZiAoc3BvcnQtPnR4aXJxID4gMCkgeworCQlyZXR2YWwgPSByZXF1ZXN0X2lycShzcG9ydC0+cnhpcnEsIGlteF9yeGludCwgMCwKKwkJCQlEUklWRVJfTkFNRSwgc3BvcnQpOworCQlpZiAocmV0dmFsKQorCQkJZ290byBlcnJvcl9vdXQxOwogCi0JcmV0dmFsID0gcmVxdWVzdF9pcnEoc3BvcnQtPnR4aXJxLCBpbXhfdHhpbnQsIDAsCi0JCQkgICAgIERSSVZFUl9OQU1FLCBzcG9ydCk7Ci0JaWYgKHJldHZhbCkgZ290byBlcnJvcl9vdXQyOworCQlyZXR2YWwgPSByZXF1ZXN0X2lycShzcG9ydC0+dHhpcnEsIGlteF90eGludCwgMCwKKwkJCQlEUklWRVJfTkFNRSwgc3BvcnQpOworCQlpZiAocmV0dmFsKQorCQkJZ290byBlcnJvcl9vdXQyOwogCi0JcmV0dmFsID0gcmVxdWVzdF9pcnEoc3BvcnQtPnJ0c2lycSwgaW14X3J0c2ludCwKLQkJCSAgICAgKHNwb3J0LT5ydHNpcnEgPCBJTVhfSVJRUykgPyAwIDoKKwkJcmV0dmFsID0gcmVxdWVzdF9pcnEoc3BvcnQtPnJ0c2lycSwgaW14X3J0c2ludCwKKwkJCSAgICAgKHNwb3J0LT5ydHNpcnEgPCBNQVhfSU5URVJOQUxfSVJRKSA/IDAgOgogCQkJICAgICAgIElSUUZfVFJJR0dFUl9GQUxMSU5HIHwgSVJRRl9UUklHR0VSX1JJU0lORywKLQkJCSAgICAgRFJJVkVSX05BTUUsIHNwb3J0KTsKLQlpZiAocmV0dmFsKSBnb3RvIGVycm9yX291dDM7CisJCQkJRFJJVkVSX05BTUUsIHNwb3J0KTsKKwkJaWYgKHJldHZhbCkKKwkJCWdvdG8gZXJyb3Jfb3V0MzsKKwl9IGVsc2UgeworCQlyZXR2YWwgPSByZXF1ZXN0X2lycShzcG9ydC0+cG9ydC5pcnEsIGlteF9pbnQsIDAsCisJCQkJRFJJVkVSX05BTUUsIHNwb3J0KTsKKwkJaWYgKHJldHZhbCkgeworCQkJZnJlZV9pcnEoc3BvcnQtPnBvcnQuaXJxLCBzcG9ydCk7CisJCQlnb3RvIGVycm9yX291dDE7CisJCX0KKwl9CiAKIAkvKgogCSAqIEZpbmFsbHksIGNsZWFyIGFuZCBlbmFibGUgaW50ZXJydXB0cwpAQCAtNTQ4LDkgKzYwOCwxMSBAQAogCXJldHVybiAwOwogCiBlcnJvcl9vdXQzOgotCWZyZWVfaXJxKHNwb3J0LT50eGlycSwgc3BvcnQpOworCWlmIChzcG9ydC0+dHhpcnEpCisJCWZyZWVfaXJxKHNwb3J0LT50eGlycSwgc3BvcnQpOwogZXJyb3Jfb3V0MjoKLQlmcmVlX2lycShzcG9ydC0+cnhpcnEsIHNwb3J0KTsKKwlpZiAoc3BvcnQtPnJ4aXJxKQorCQlmcmVlX2lycShzcG9ydC0+cnhpcnEsIHNwb3J0KTsKIGVycm9yX291dDE6CiAJcmV0dXJuIHJldHZhbDsKIH0KQEAgLTU2OCw5ICs2MzAsMTIgQEAKIAkvKgogCSAqIEZyZWUgdGhlIGludGVycnVwdHMKIAkgKi8KLQlmcmVlX2lycShzcG9ydC0+cnRzaXJxLCBzcG9ydCk7Ci0JZnJlZV9pcnEoc3BvcnQtPnR4aXJxLCBzcG9ydCk7Ci0JZnJlZV9pcnEoc3BvcnQtPnJ4aXJxLCBzcG9ydCk7CisJaWYgKHNwb3J0LT50eGlycSA+IDApIHsKKwkJZnJlZV9pcnEoc3BvcnQtPnJ0c2lycSwgc3BvcnQpOworCQlmcmVlX2lycShzcG9ydC0+dHhpcnEsIHNwb3J0KTsKKwkJZnJlZV9pcnEoc3BvcnQtPnJ4aXJxLCBzcG9ydCk7CisJfSBlbHNlCisJCWZyZWVfaXJxKHNwb3J0LT5wb3J0LmlycSwgc3BvcnQpOwogCiAJLyoKIAkgKiBEaXNhYmxlIGFsbCBpbnRlcnJ1cHRzLCBwb3J0IGFuZCBicmVhayBjb25kaXRpb24uCkBAIC01ODksNiArNjU0LDcgQEAKIAl1bnNpZ25lZCBsb25nIGZsYWdzOwogCXVuc2lnbmVkIGludCB1Y3IyLCBvbGRfdWNyMSwgb2xkX3R4cnhlbiwgYmF1ZCwgcXVvdDsKIAl1bnNpZ25lZCBpbnQgb2xkX2NzaXplID0gb2xkID8gb2xkLT5jX2NmbGFnICYgQ1NJWkUgOiBDUzg7CisJdW5zaWduZWQgaW50IGRpdiwgbnVtLCBkZW5vbSwgdWZjcjsKIAogCS8qCiAJICogSWYgd2UgZG9uJ3Qgc3VwcG9ydCBtb2RlbSBjb250cm9sIGxpbmVzLCBkb24ndCBhbGxvdwpAQCAtNjM0LDcgKzcwMCw3IEBACiAJLyoKIAkgKiBBc2sgdGhlIGNvcmUgdG8gY2FsY3VsYXRlIHRoZSBkaXZpc29yIGZvciB1cy4KIAkgKi8KLQliYXVkID0gdWFydF9nZXRfYmF1ZF9yYXRlKHBvcnQsIHRlcm1pb3MsIG9sZCwgMCwgcG9ydC0+dWFydGNsay8xNik7CisJYmF1ZCA9IHVhcnRfZ2V0X2JhdWRfcmF0ZShwb3J0LCB0ZXJtaW9zLCBvbGQsIDUwLCBwb3J0LT51YXJ0Y2xrIC8gMTYpOwogCXF1b3QgPSB1YXJ0X2dldF9kaXZpc29yKHBvcnQsIGJhdWQpOwogCiAJc3Bpbl9sb2NrX2lycXNhdmUoJnNwb3J0LT5wb3J0LmxvY2ssIGZsYWdzKTsKQEAgLTY4NCwxNCArNzUwLDQxIEBACiAJCQlzcG9ydC0+cG9ydC5tZW1iYXNlICsgVUNSMik7CiAJb2xkX3R4cnhlbiAmPSAoVUNSMl9UWEVOIHwgVUNSMl9SWEVOKTsKIAotCS8qIHNldCB0aGUgYmF1ZCByYXRlLiBXZSBhc3N1bWUgdWFydGNsayA9IDE2IE1IegotCSAqCi0JICogYmF1ZCAqIDE2ICAgVUJJUiAtIDEKLQkgKiAtLS0tLS0tLS0gPSAtLS0tLS0tLQotCSAqICB1YXJ0Y2xrICAgIFVCTVIgLSAxCi0JICovCi0Jd3JpdGVsKChiYXVkIC8gMTAwKSAtIDEsIHNwb3J0LT5wb3J0Lm1lbWJhc2UgKyBVQklSKTsKLQl3cml0ZWwoMTAwMDAgLSAxLCBzcG9ydC0+cG9ydC5tZW1iYXNlICsgVUJNUik7CisJZGl2ID0gc3BvcnQtPnBvcnQudWFydGNsayAvIChiYXVkICogMTYpOworCWlmIChkaXYgPiA3KQorCQlkaXYgPSA3OworCWlmICghZGl2KQorCQlkaXYgPSAxOworCisJbnVtID0gYmF1ZDsKKwlkZW5vbSA9IHBvcnQtPnVhcnRjbGsgLyBkaXYgLyAxNjsKKworCS8qIHNoaWZ0IG51bSBhbmQgZGVub20gcmlnaHQgdW50aWwgdGhleSBmaXQgaW50byAxNiBiaXRzICovCisJd2hpbGUgKG51bSA+IDB4MTAwMDAgfHwgZGVub20gPiAweDEwMDAwKSB7CisJCW51bSA+Pj0gMTsKKwkJZGVub20gPj49IDE7CisJfQorCWlmIChudW0gPiAwKQorCQludW0gLT0gMTsKKwlpZiAoZGVub20gPiAwKQorCQlkZW5vbSAtPSAxOworCisJd3JpdGVsKG51bSwgc3BvcnQtPnBvcnQubWVtYmFzZSArIFVCSVIpOworCXdyaXRlbChkZW5vbSwgc3BvcnQtPnBvcnQubWVtYmFzZSArIFVCTVIpOworCisJaWYgKGRpdiA9PSA3KQorCQlkaXYgPSA2OyAvKiA2IGluIFJGRElWIG1lYW5zIGRpdmlkZSBieSA3ICovCisJZWxzZQorCQlkaXYgPSA2IC0gZGl2OworCisJdWZjciA9IHJlYWRsKHNwb3J0LT5wb3J0Lm1lbWJhc2UgKyBVRkNSKTsKKwl1ZmNyID0gKHVmY3IgJiAoflVGQ1JfUkZESVYpKSB8CisJICAgIChkaXYgPDwgNyk7CisJd3JpdGVsKHVmY3IsIHNwb3J0LT5wb3J0Lm1lbWJhc2UgKyBVRkNSKTsKKworI2lmZGVmIE9ORU1TCisJd3JpdGVsKHNwb3J0LT5wb3J0LnVhcnRjbGsgLyBkaXYgLyAxMDAwLCBzcG9ydC0+cG9ydC5tZW1iYXNlICsgT05FTVMpOworI2VuZGlmCiAKIAl3cml0ZWwob2xkX3VjcjEsIHNwb3J0LT5wb3J0Lm1lbWJhc2UgKyBVQ1IxKTsKIApAQCAtODAxLDY1ICs4OTQsNyBAQAogCS52ZXJpZnlfcG9ydAk9IGlteF92ZXJpZnlfcG9ydCwKIH07CiAKLXN0YXRpYyBzdHJ1Y3QgaW14X3BvcnQgaW14X3BvcnRzW10gPSB7Ci0JewotCS50eGlycSAgPSBVQVJUMV9NSU5UX1RYLAotCS5yeGlycSAgPSBVQVJUMV9NSU5UX1JYLAotCS5ydHNpcnEgPSBVQVJUMV9NSU5UX1JUUywKLQkucG9ydAk9IHsKLQkJLnR5cGUJCT0gUE9SVF9JTVgsCi0JCS5pb3R5cGUJCT0gVVBJT19NRU0sCi0JCS5tZW1iYXNlCT0gKHZvaWQgKilJTVhfVUFSVDFfQkFTRSwKLQkJLm1hcGJhc2UJPSAweDAwMjA2MDAwLAotCQkuaXJxCQk9IFVBUlQxX01JTlRfUlgsCi0JCS51YXJ0Y2xrCT0gMTYwMDAwMDAsCi0JCS5maWZvc2l6ZQk9IDMyLAotCQkuZmxhZ3MJCT0gVVBGX0JPT1RfQVVUT0NPTkYsCi0JCS5vcHMJCT0gJmlteF9wb3BzLAotCQkubGluZQkJPSAwLAotCX0sCi0JfSwgewotCS50eGlycSAgPSBVQVJUMl9NSU5UX1RYLAotCS5yeGlycSAgPSBVQVJUMl9NSU5UX1JYLAotCS5ydHNpcnEgPSBVQVJUMl9NSU5UX1JUUywKLQkucG9ydAk9IHsKLQkJLnR5cGUJCT0gUE9SVF9JTVgsCi0JCS5pb3R5cGUJCT0gVVBJT19NRU0sCi0JCS5tZW1iYXNlCT0gKHZvaWQgKilJTVhfVUFSVDJfQkFTRSwKLQkJLm1hcGJhc2UJPSAweDAwMjA3MDAwLAotCQkuaXJxCQk9IFVBUlQyX01JTlRfUlgsCi0JCS51YXJ0Y2xrCT0gMTYwMDAwMDAsCi0JCS5maWZvc2l6ZQk9IDMyLAotCQkuZmxhZ3MJCT0gVVBGX0JPT1RfQVVUT0NPTkYsCi0JCS5vcHMJCT0gJmlteF9wb3BzLAotCQkubGluZQkJPSAxLAotCX0sCi0JfQotfTsKLQotLyoKLSAqIFNldHVwIHRoZSBJTVggc2VyaWFsIHBvcnRzLgotICogTm90ZSBhbHNvIHRoYXQgd2Ugc3VwcG9ydCAiY29uc29sZT10dHlTTVh4IiB3aGVyZSAieCIgaXMgZWl0aGVyIDAgb3IgMS4KLSAqIFdoaWNoIHNlcmlhbCBwb3J0IHRoaXMgZW5kcyB1cCBiZWluZyBkZXBlbmRzIG9uIHRoZSBtYWNoaW5lIHlvdSdyZQotICogcnVubmluZyB0aGlzIGtlcm5lbCBvbi4gIEknbSBub3QgY29udmluY2VkIHRoYXQgdGhpcyBpcyBhIGdvb2QgaWRlYSwKLSAqIGJ1dCB0aGF0J3MgdGhlIHdheSBpdCB0cmFkaXRpb25hbGx5IHdvcmtzLgotICoKLSAqLwotc3RhdGljIHZvaWQgX19pbml0IGlteF9pbml0X3BvcnRzKHZvaWQpCi17Ci0Jc3RhdGljIGludCBmaXJzdCA9IDE7Ci0JaW50IGk7Ci0KLQlpZiAoIWZpcnN0KQotCQlyZXR1cm47Ci0JZmlyc3QgPSAwOwotCi0JZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoaW14X3BvcnRzKTsgaSsrKSB7Ci0JCWluaXRfdGltZXIoJmlteF9wb3J0c1tpXS50aW1lcik7Ci0JCWlteF9wb3J0c1tpXS50aW1lci5mdW5jdGlvbiA9IGlteF90aW1lb3V0OwotCQlpbXhfcG9ydHNbaV0udGltZXIuZGF0YSAgICAgPSAodW5zaWduZWQgbG9uZykmaW14X3BvcnRzW2ldOwotCX0KLX0KK3N0YXRpYyBzdHJ1Y3QgaW14X3BvcnQgKmlteF9wb3J0c1tVQVJUX05SXTsKIAogI2lmZGVmIENPTkZJR19TRVJJQUxfSU1YX0NPTlNPTEUKIHN0YXRpYyB2b2lkIGlteF9jb25zb2xlX3B1dGNoYXIoc3RydWN0IHVhcnRfcG9ydCAqcG9ydCwgaW50IGNoKQpAQCAtODc4LDcgKzkxMyw3IEBACiBzdGF0aWMgdm9pZAogaW14X2NvbnNvbGVfd3JpdGUoc3RydWN0IGNvbnNvbGUgKmNvLCBjb25zdCBjaGFyICpzLCB1bnNpZ25lZCBpbnQgY291bnQpCiB7Ci0Jc3RydWN0IGlteF9wb3J0ICpzcG9ydCA9ICZpbXhfcG9ydHNbY28tPmluZGV4XTsKKwlzdHJ1Y3QgaW14X3BvcnQgKnNwb3J0ID0gaW14X3BvcnRzW2NvLT5pbmRleF07CiAJdW5zaWduZWQgaW50IG9sZF91Y3IxLCBvbGRfdWNyMjsKIAogCS8qCkBAIC05NDQsNyArOTc5LDcgQEAKIAkJZWxzZQogCQkJdWNmcl9yZmRpdiA9IDYgLSB1Y2ZyX3JmZGl2OwogCi0JCXVhcnRjbGsgPSBpbXhfZ2V0X3BlcmNsazEoKTsKKwkJdWFydGNsayA9IGNsa19nZXRfcmF0ZShzcG9ydC0+Y2xrKTsKIAkJdWFydGNsayAvPSB1Y2ZyX3JmZGl2OwogCiAJCXsJLyoKQEAgLTk4NCw3ICsxMDE5LDcgQEAKIAkgKi8KIAlpZiAoY28tPmluZGV4ID09IC0xIHx8IGNvLT5pbmRleCA+PSBBUlJBWV9TSVpFKGlteF9wb3J0cykpCiAJCWNvLT5pbmRleCA9IDA7Ci0Jc3BvcnQgPSAmaW14X3BvcnRzW2NvLT5pbmRleF07CisJc3BvcnQgPSBpbXhfcG9ydHNbY28tPmluZGV4XTsKIAogCWlmIChvcHRpb25zKQogCQl1YXJ0X3BhcnNlX29wdGlvbnMob3B0aW9ucywgJmJhdWQsICZwYXJpdHksICZiaXRzLCAmZmxvdyk7CkBAIC05OTgsNyArMTAzMyw3IEBACiAKIHN0YXRpYyBzdHJ1Y3QgdWFydF9kcml2ZXIgaW14X3JlZzsKIHN0YXRpYyBzdHJ1Y3QgY29uc29sZSBpbXhfY29uc29sZSA9IHsKLQkubmFtZQkJPSAidHR5U01YIiwKKwkubmFtZQkJPSBERVZfTkFNRSwKIAkud3JpdGUJCT0gaW14X2NvbnNvbGVfd3JpdGUsCiAJLmRldmljZQkJPSB1YXJ0X2NvbnNvbGVfZGV2aWNlLAogCS5zZXR1cAkJPSBpbXhfY29uc29sZV9zZXR1cCwKQEAgLTEwMDcsMTQgKzEwNDIsNiBAQAogCS5kYXRhCQk9ICZpbXhfcmVnLAogfTsKIAotc3RhdGljIGludCBfX2luaXQgaW14X3JzX2NvbnNvbGVfaW5pdCh2b2lkKQotewotCWlteF9pbml0X3BvcnRzKCk7Ci0JcmVnaXN0ZXJfY29uc29sZSgmaW14X2NvbnNvbGUpOwotCXJldHVybiAwOwotfQotY29uc29sZV9pbml0Y2FsbChpbXhfcnNfY29uc29sZV9pbml0KTsKLQogI2RlZmluZSBJTVhfQ09OU09MRQkmaW14X2NvbnNvbGUKICNlbHNlCiAjZGVmaW5lIElNWF9DT05TT0xFCU5VTEwKQEAgLTEwMjMsNyArMTA1MCw3IEBACiBzdGF0aWMgc3RydWN0IHVhcnRfZHJpdmVyIGlteF9yZWcgPSB7CiAJLm93bmVyICAgICAgICAgID0gVEhJU19NT0RVTEUsCiAJLmRyaXZlcl9uYW1lICAgID0gRFJJVkVSX05BTUUsCi0JLmRldl9uYW1lICAgICAgID0gInR0eVNNWCIsCisJLmRldl9uYW1lICAgICAgID0gREVWX05BTUUsCiAJLm1ham9yICAgICAgICAgID0gU0VSSUFMX0lNWF9NQUpPUiwKIAkubWlub3IgICAgICAgICAgPSBNSU5PUl9TVEFSVCwKIAkubnIgICAgICAgICAgICAgPSBBUlJBWV9TSVpFKGlteF9wb3J0cyksCkBAIC0xMDUwLDI5ICsxMDc3LDk4IEBACiAgICAgICAgIHJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IHNlcmlhbF9pbXhfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqZGV2KQorc3RhdGljIGludCBzZXJpYWxfaW14X3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCiB7CisJc3RydWN0IGlteF9wb3J0ICpzcG9ydDsKIAlzdHJ1Y3QgaW14dWFydF9wbGF0Zm9ybV9kYXRhICpwZGF0YTsKKwl2b2lkIF9faW9tZW0gKmJhc2U7CisJaW50IHJldCA9IDA7CisJc3RydWN0IHJlc291cmNlICpyZXM7CiAKLQlpbXhfcG9ydHNbZGV2LT5pZF0ucG9ydC5kZXYgPSAmZGV2LT5kZXY7CisJc3BvcnQgPSBremFsbG9jKHNpemVvZigqc3BvcnQpLCBHRlBfS0VSTkVMKTsKKwlpZiAoIXNwb3J0KQorCQlyZXR1cm4gLUVOT01FTTsKIAotCXBkYXRhID0gKHN0cnVjdCBpbXh1YXJ0X3BsYXRmb3JtX2RhdGEgKilkZXYtPmRldi5wbGF0Zm9ybV9kYXRhOworCXJlcyA9IHBsYXRmb3JtX2dldF9yZXNvdXJjZShwZGV2LCBJT1JFU09VUkNFX01FTSwgMCk7CisJaWYgKCFyZXMpIHsKKwkJcmV0ID0gLUVOT0RFVjsKKwkJZ290byBmcmVlOworCX0KKworCWJhc2UgPSBpb3JlbWFwKHJlcy0+c3RhcnQsIFBBR0VfU0laRSk7CisJaWYgKCFiYXNlKSB7CisJCXJldCA9IC1FTk9NRU07CisJCWdvdG8gZnJlZTsKKwl9CisKKwlzcG9ydC0+cG9ydC5kZXYgPSAmcGRldi0+ZGV2OworCXNwb3J0LT5wb3J0Lm1hcGJhc2UgPSByZXMtPnN0YXJ0OworCXNwb3J0LT5wb3J0Lm1lbWJhc2UgPSBiYXNlOworCXNwb3J0LT5wb3J0LnR5cGUgPSBQT1JUX0lNWCwKKwlzcG9ydC0+cG9ydC5pb3R5cGUgPSBVUElPX01FTTsKKwlzcG9ydC0+cG9ydC5pcnEgPSBwbGF0Zm9ybV9nZXRfaXJxKHBkZXYsIDApOworCXNwb3J0LT5yeGlycSA9IHBsYXRmb3JtX2dldF9pcnEocGRldiwgMCk7CisJc3BvcnQtPnR4aXJxID0gcGxhdGZvcm1fZ2V0X2lycShwZGV2LCAxKTsKKwlzcG9ydC0+cnRzaXJxID0gcGxhdGZvcm1fZ2V0X2lycShwZGV2LCAyKTsKKwlzcG9ydC0+cG9ydC5maWZvc2l6ZSA9IDMyOworCXNwb3J0LT5wb3J0Lm9wcyA9ICZpbXhfcG9wczsKKwlzcG9ydC0+cG9ydC5mbGFncyA9IFVQRl9CT09UX0FVVE9DT05GOworCXNwb3J0LT5wb3J0LmxpbmUgPSBwZGV2LT5pZDsKKwlpbml0X3RpbWVyKCZzcG9ydC0+dGltZXIpOworCXNwb3J0LT50aW1lci5mdW5jdGlvbiA9IGlteF90aW1lb3V0OworCXNwb3J0LT50aW1lci5kYXRhICAgICA9ICh1bnNpZ25lZCBsb25nKXNwb3J0OworCisJc3BvcnQtPmNsayA9IGNsa19nZXQoJnBkZXYtPmRldiwgInVhcnRfY2xrIik7CisJaWYgKElTX0VSUihzcG9ydC0+Y2xrKSkgeworCQlyZXQgPSBQVFJfRVJSKHNwb3J0LT5jbGspOworCQlnb3RvIHVubWFwOworCX0KKwljbGtfZW5hYmxlKHNwb3J0LT5jbGspOworCisJc3BvcnQtPnBvcnQudWFydGNsayA9IGNsa19nZXRfcmF0ZShzcG9ydC0+Y2xrKTsKKworCWlteF9wb3J0c1twZGV2LT5pZF0gPSBzcG9ydDsKKworCXBkYXRhID0gcGRldi0+ZGV2LnBsYXRmb3JtX2RhdGE7CiAJaWYocGRhdGEgJiYgKHBkYXRhLT5mbGFncyAmIElNWFVBUlRfSEFWRV9SVFNDVFMpKQotCQlpbXhfcG9ydHNbZGV2LT5pZF0uaGF2ZV9ydHNjdHMgPSAxOworCQlzcG9ydC0+aGF2ZV9ydHNjdHMgPSAxOwogCi0JdWFydF9hZGRfb25lX3BvcnQoJmlteF9yZWcsICZpbXhfcG9ydHNbZGV2LT5pZF0ucG9ydCk7Ci0JcGxhdGZvcm1fc2V0X2RydmRhdGEoZGV2LCAmaW14X3BvcnRzW2Rldi0+aWRdKTsKKwlpZiAocGRhdGEtPmluaXQpCisJCXBkYXRhLT5pbml0KHBkZXYpOworCisJdWFydF9hZGRfb25lX3BvcnQoJmlteF9yZWcsICZzcG9ydC0+cG9ydCk7CisJcGxhdGZvcm1fc2V0X2RydmRhdGEocGRldiwgJnNwb3J0LT5wb3J0KTsKKwogCXJldHVybiAwOwordW5tYXA6CisJaW91bm1hcChzcG9ydC0+cG9ydC5tZW1iYXNlKTsKK2ZyZWU6CisJa2ZyZWUoc3BvcnQpOworCisJcmV0dXJuIHJldDsKIH0KIAotc3RhdGljIGludCBzZXJpYWxfaW14X3JlbW92ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpkZXYpCitzdGF0aWMgaW50IHNlcmlhbF9pbXhfcmVtb3ZlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCiB7Ci0Jc3RydWN0IGlteF9wb3J0ICpzcG9ydCA9IHBsYXRmb3JtX2dldF9kcnZkYXRhKGRldik7CisJc3RydWN0IGlteHVhcnRfcGxhdGZvcm1fZGF0YSAqcGRhdGE7CisJc3RydWN0IGlteF9wb3J0ICpzcG9ydCA9IHBsYXRmb3JtX2dldF9kcnZkYXRhKHBkZXYpOwogCi0JcGxhdGZvcm1fc2V0X2RydmRhdGEoZGV2LCBOVUxMKTsKKwlwZGF0YSA9IHBkZXYtPmRldi5wbGF0Zm9ybV9kYXRhOwogCi0JaWYgKHNwb3J0KQorCXBsYXRmb3JtX3NldF9kcnZkYXRhKHBkZXYsIE5VTEwpOworCisJaWYgKHNwb3J0KSB7CiAJCXVhcnRfcmVtb3ZlX29uZV9wb3J0KCZpbXhfcmVnLCAmc3BvcnQtPnBvcnQpOworCQljbGtfcHV0KHNwb3J0LT5jbGspOworCX0KKworCWNsa19kaXNhYmxlKHNwb3J0LT5jbGspOworCisJaWYgKHBkYXRhLT5leGl0KQorCQlwZGF0YS0+ZXhpdChwZGV2KTsKKworCWlvdW5tYXAoc3BvcnQtPnBvcnQubWVtYmFzZSk7CisJa2ZyZWUoc3BvcnQpOwogCiAJcmV0dXJuIDA7CiB9CkBAIC0xMDk1LDggKzExOTEsNiBAQAogCiAJcHJpbnRrKEtFUk5fSU5GTyAiU2VyaWFsOiBJTVggZHJpdmVyXG4iKTsKIAotCWlteF9pbml0X3BvcnRzKCk7Ci0KIAlyZXQgPSB1YXJ0X3JlZ2lzdGVyX2RyaXZlcigmaW14X3JlZyk7CiAJaWYgKHJldCkKIAkJcmV0dXJuIHJldDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvc2VyaWFsL3MzYzI0MDAuYyBiL2RyaXZlcnMvc2VyaWFsL3MzYzI0MDAuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMTEwMjA1Ci0tLSAvZGV2L251bGwKKysrIGIvZHJpdmVycy9zZXJpYWwvczNjMjQwMC5jCkBAIC0wLDAgKzEsMTA2IEBACisvKiBsaW51eC9kcml2ZXJzL3NlcmlhbC9zM2MyNDAuYworICoKKyAqIERyaXZlciBmb3IgU2Ftc3VuZyBTb0Mgb25ib2FyZCBVQVJUcy4KKyAqCisgKiBCZW4gRG9va3MsIENvcHlyaWdodCAoYykgMjAwMy0yMDA1IFNpbXRlYyBFbGVjdHJvbmljcworICoJaHR0cDovL2FybWxpbnV4LnNpbXRlYy5jby51ay8KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMKKyAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorKi8KKworI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L2lvcG9ydC5oPgorI2luY2x1ZGUgPGxpbnV4L2lvLmg+CisjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CisKKyNpbmNsdWRlIDxhc20vaXJxLmg+CisKKyNpbmNsdWRlIDxhc20vaGFyZHdhcmUuaD4KKworI2luY2x1ZGUgPGFzbS9wbGF0LXMzYy9yZWdzLXNlcmlhbC5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL3JlZ3MtZ3Bpby5oPgorCisjaW5jbHVkZSAic2Ftc3VuZy5oIgorCitzdGF0aWMgaW50IHMzYzI0MDBfc2VyaWFsX2dldHNvdXJjZShzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0LAorCQkJCSAgICBzdHJ1Y3QgczNjMjR4eF91YXJ0X2Nsa3NyYyAqY2xrKQoreworCWNsay0+ZGl2aXNvciA9IDE7CisJY2xrLT5uYW1lID0gInBjbGsiOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgczNjMjQwMF9zZXJpYWxfc2V0c291cmNlKHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQsCisJCQkJICAgIHN0cnVjdCBzM2MyNHh4X3VhcnRfY2xrc3JjICpjbGspCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgczNjMjQwMF9zZXJpYWxfcmVzZXRwb3J0KHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQsCisJCQkJICAgIHN0cnVjdCBzM2MyNDEwX3VhcnRjZmcgKmNmZykKK3sKKwlkYmcoInMzYzI0MDBfc2VyaWFsX3Jlc2V0cG9ydDogcG9ydD0lcCAoJTA4bHgpLCBjZmc9JXBcbiIsCisJICAgIHBvcnQsIHBvcnQtPm1hcGJhc2UsIGNmZyk7CisKKwl3cl9yZWdsKHBvcnQsIFMzQzI0MTBfVUNPTiwgIGNmZy0+dWNvbik7CisJd3JfcmVnbChwb3J0LCBTM0MyNDEwX1VMQ09OLCBjZmctPnVsY29uKTsKKworCS8qIHJlc2V0IGJvdGggZmlmb3MgKi8KKworCXdyX3JlZ2wocG9ydCwgUzNDMjQxMF9VRkNPTiwgY2ZnLT51ZmNvbiB8IFMzQzI0MTBfVUZDT05fUkVTRVRCT1RIKTsKKwl3cl9yZWdsKHBvcnQsIFMzQzI0MTBfVUZDT04sIGNmZy0+dWZjb24pOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgczNjMjR4eF91YXJ0X2luZm8gczNjMjQwMF91YXJ0X2luZiA9IHsKKwkubmFtZQkJPSAiU2Ftc3VuZyBTM0MyNDAwIFVBUlQiLAorCS50eXBlCQk9IFBPUlRfUzNDMjQwMCwKKwkuZmlmb3NpemUJPSAxNiwKKwkucnhfZmlmb21hc2sJPSBTM0MyNDEwX1VGU1RBVF9SWE1BU0ssCisJLnJ4X2ZpZm9zaGlmdAk9IFMzQzI0MTBfVUZTVEFUX1JYU0hJRlQsCisJLnJ4X2ZpZm9mdWxsCT0gUzNDMjQxMF9VRlNUQVRfUlhGVUxMLAorCS50eF9maWZvZnVsbAk9IFMzQzI0MTBfVUZTVEFUX1RYRlVMTCwKKwkudHhfZmlmb21hc2sJPSBTM0MyNDEwX1VGU1RBVF9UWE1BU0ssCisJLnR4X2ZpZm9zaGlmdAk9IFMzQzI0MTBfVUZTVEFUX1RYU0hJRlQsCisJLmdldF9jbGtzcmMJPSBzM2MyNDAwX3NlcmlhbF9nZXRzb3VyY2UsCisJLnNldF9jbGtzcmMJPSBzM2MyNDAwX3NlcmlhbF9zZXRzb3VyY2UsCisJLnJlc2V0X3BvcnQJPSBzM2MyNDAwX3NlcmlhbF9yZXNldHBvcnQsCit9OworCitzdGF0aWMgaW50IHMzYzI0MDBfc2VyaWFsX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKmRldikKK3sKKwlyZXR1cm4gczNjMjR4eF9zZXJpYWxfcHJvYmUoZGV2LCAmczNjMjQwMF91YXJ0X2luZik7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVyIHMzYzI0MDBfc2VyaWFsX2RydiA9IHsKKwkucHJvYmUJCT0gczNjMjQwMF9zZXJpYWxfcHJvYmUsCisJLnJlbW92ZQkJPSBzM2MyNHh4X3NlcmlhbF9yZW1vdmUsCisJLmRyaXZlcgkJPSB7CisJCS5uYW1lCT0gInMzYzI0MDAtdWFydCIsCisJCS5vd25lcgk9IFRISVNfTU9EVUxFLAorCX0sCit9OworCitzM2MyNHh4X2NvbnNvbGVfaW5pdCgmczNjMjQwMF9zZXJpYWxfZHJ2LCAmczNjMjQwMF91YXJ0X2luZik7CisKK3N0YXRpYyBpbmxpbmUgaW50IHMzYzI0MDBfc2VyaWFsX2luaXQodm9pZCkKK3sKKwlyZXR1cm4gczNjMjR4eF9zZXJpYWxfaW5pdCgmczNjMjQwMF9zZXJpYWxfZHJ2LCAmczNjMjQwMF91YXJ0X2luZik7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBzM2MyNDAwX3NlcmlhbF9leGl0KHZvaWQpCit7CisJcGxhdGZvcm1fZHJpdmVyX3VucmVnaXN0ZXIoJnMzYzI0MDBfc2VyaWFsX2Rydik7Cit9CisKK21vZHVsZV9pbml0KHMzYzI0MDBfc2VyaWFsX2luaXQpOworbW9kdWxlX2V4aXQoczNjMjQwMF9zZXJpYWxfZXhpdCk7CisKK01PRFVMRV9MSUNFTlNFKCJHUEwgdjIiKTsKK01PRFVMRV9BVVRIT1IoIkJlbiBEb29rcyA8YmVuQHNpbXRlYy5jby51az4iKTsKK01PRFVMRV9ERVNDUklQVElPTigiU2Ftc3VuZyBTM0MyNDAwIFNvQyBTZXJpYWwgcG9ydCBkcml2ZXIiKTsKK01PRFVMRV9BTElBUygicGxhdGZvcm06czNjMjQwMC11YXJ0Iik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3NlcmlhbC9zM2MyNDEwLmMgYi9kcml2ZXJzL3NlcmlhbC9zM2MyNDEwLmMKaW5kZXggMmI2YTAxMy4uYzVmMDNmNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9zZXJpYWwvczNjMjQxMC5jCisrKyBiL2RyaXZlcnMvc2VyaWFsL3MzYzI0MTAuYwpAQCAtMSwxMjcwICsxLDMwIEBACi0vKgotICogbGludXgvZHJpdmVycy9zZXJpYWwvczNjMjQxMC5jCisvKiBsaW51eC9kcml2ZXJzL3NlcmlhbC9zM2MyNDEwLmMKICAqCi0gKiBEcml2ZXIgZm9yIG9uYm9hcmQgVUFSVHMgb24gdGhlIFNhbXN1bmcgUzNDMjRYWAorICogRHJpdmVyIGZvciBTYW1zdW5nIFMzQzI0MTAgU29DIG9uYm9hcmQgVUFSVHMuCiAgKgotICogQmFzZWQgb24gZHJpdmVycy9jaGFyL3NlcmlhbC5jIGFuZCBkcml2ZXJzL2NoYXIvMjEyODUuYworICogQmVuIERvb2tzLCBDb3B5cmlnaHQgKGMpIDIwMDMtMjAwNSwyMDA4IFNpbXRlYyBFbGVjdHJvbmljcworICoJaHR0cDovL2FybWxpbnV4LnNpbXRlYy5jby51ay8KICAqCi0gKiBCZW4gRG9va3MsIChjKSAyMDAzLTIwMDUgU2ltdGVjIEVsZWN0cm9uaWNzCi0gKglodHRwOi8vd3d3LnNpbXRlYy5jby51ay9wcm9kdWN0cy9TV0xJTlVYLwotICoKLSAqIENoYW5nZWxvZzoKLSAqCi0gKiAyMi1KdWwtMjAwNCAgQkpEICBGaW5pc2hlZCBvZmYgZGV2aWNlIHJld3JpdGUKLSAqCi0gKiAyMS1KdWwtMjAwNCAgQkpEICBUaGFua3MgdG8gPGhlcmJldEAxM3RoZmxvb3IuYXQ+IGZvciBwb2ludGluZyBvdXQKLSAqICAgICAgICAgICAgICAgICAgIHByb2JsZW1zIHdpdGggYmF1ZCByYXRlIGFuZCBsb3NzIG9mIElSIHNldHRpbmdzLiBVcGRhdGUKLSAqICAgICAgICAgICAgICAgICAgIHRvIGFkZCBjb25maWd1cmF0aW9uIHZpYSBwbGF0Zm9ybV9kZXZpY2Ugc3RydWN0dXJlCi0gKgotICogMjgtU2VwLTIwMDQgIEJKRCAgUmUtd3JpdGUgZm9yIHRoZSBmb2xsb3dpbmcgaXRlbXMKLSAqCQkgICAgIC0gUzNDMjQxMCBhbmQgUzNDMjQ0MCBzZXJpYWwgc3VwcG9ydAotICoJCSAgICAgLSBQb3dlciBNYW5hZ2VtZW50IHN1cHBvcnQKLSAqCQkgICAgIC0gRml4IGNvbnNvbGUgdmlhIElyREEgZGV2aWNlcwotICoJCSAgICAgLSBTeXNSZXEgKEhlcmJlcnQgUMO2dHpsKQotICoJCSAgICAgLSBCcmVhayBjaGFyYWN0ZXIgaGFuZGxpbmcgKEhlcmJlcnQgUMO2dHpsKQotICoJCSAgICAgLSBzcGluLWxvY2sgaW5pdGlhbGlzYXRpb24gKERpbWl0cnkgQW5kcmljKQotICoJCSAgICAgLSBhZGRlZCBjbG9jayBjb250cm9sCi0gKgkJICAgICAtIHVwZGF0ZWQgaW5pdCBjb2RlIHRvIHVzZSBwbGF0Zm9ybV9kZXZpY2UgaW5mbwotICoKLSAqIDA2LU1hci0yMDA1ICBCSkQgIEFkZCBzM2MyNDQwIGZjbGsgY2xvY2sgc291cmNlCi0gKgotICogMDktTWFyLTIwMDUgIEJKRCAgQWRkIHMzYzI0MDAgc3VwcG9ydAotICoKLSAqIDEwLU1hci0yMDA1ICBMQ1ZSIENoYW5nZWQgUzNDMjQxMF9WQV9VQVJUIHRvIFMzQzI0WFhfVkFfVUFSVAorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCisgKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KICovCiAKLS8qIE5vdGUgb24gMjQ0MCBmY2xrIGNsb2NrIHNvdXJjZSBoYW5kbGluZwotICoKLSAqIFdoaWxzdCBpdCBpcyBwb3NzaWJsZSB0byB1c2UgdGhlIGZjbGsgYXMgY2xvY2sgc291cmNlLCB0aGUgbWV0aG9kCi0gKiBvZiBwcm9wZXJseSBzd2l0Y2hpbmcgdG9vL2Zyb20gdGhpcyBpcyBjdXJyZW50bHkgdW4taW1wbGVtZW50ZWQsIHNvCi0gKiB3aGljaGV2ZXIgd2F5IGlzIGNvbmZpZ3VyZWQgYXQgc3RhcnR1cCBpcyB0aGUgb25lIHRoYXQgd2lsbCBiZSB1c2VkLgotKi8KLQotLyogSG90ZSBvbiAyNDEwIGVycm9yIGhhbmRsaW5nCi0gKgotICogVGhlIHMzYzI0MTAgbWFudWFsIGhhcyBhIGxvdmUvaGF0ZSBhZmZhaXIgd2l0aCB0aGUgY29udGVudHMgb2YgdGhlCi0gKiBVRVJTVEFUIHJlZ2lzdGVyIGluIHRoZSBVQVJUIGJsb2NrcywgYW5kIGtlZXBzIG1hcmtpbmcgc29tZSBvZiB0aGUKLSAqIGVycm9yIGJpdHMgYXMgcmVzZXJ2ZWQuIEhhdmluZyBjaGVja2VkIHdpdGggdGhlIHMzYzI0MTB4MDEsCi0gKiBpdCBjb3BlcyB3aXRoIEJSRUFLcyBwcm9wZXJseSwgc28gSSBhbSBoYXBweSB0byBpZ25vcmUgdGhlIFJFU0VSVkVECi0gKiBmZWF0dXJlIGZyb20gdGhlIGxhdHRlciB2ZXJzaW9ucyBvZiB0aGUgbWFudWFsLgotICoKLSAqIElmIGl0IGJlY29tZXMgYXBhcnJlbnQgdGhhdCBsYXR0ZXIgdmVyc2lvbnMgb2YgdGhlIDI0MTAgcmVtb3ZlIHRoZXNlCi0gKiBiaXRzLCB0aGVuIGFjdGlvbiB3aWxsIGhhdmUgdG8gYmUgdGFrZW4gdG8gZGlmZmVyZW50aWF0ZSB0aGUgdmVyc2lvbnMKLSAqIGFuZCBjaGFuZ2UgdGhlIHBvbGljeSBvbiBCUkVBSwotICoKLSAqIEJKRCwgMDQtTm92LTIwMDQKLSovCi0KLQotI2lmIGRlZmluZWQoQ09ORklHX1NFUklBTF9TM0MyNDEwX0NPTlNPTEUpICYmIGRlZmluZWQoQ09ORklHX01BR0lDX1NZU1JRKQotI2RlZmluZSBTVVBQT1JUX1NZU1JRCi0jZW5kaWYKLQogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogI2luY2x1ZGUgPGxpbnV4L2lvcG9ydC5oPgorI2luY2x1ZGUgPGxpbnV4L2lvLmg+CiAjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgotI2luY2x1ZGUgPGxpbnV4L3N5c3JxLmg+Ci0jaW5jbHVkZSA8bGludXgvY29uc29sZS5oPgotI2luY2x1ZGUgPGxpbnV4L3R0eS5oPgotI2luY2x1ZGUgPGxpbnV4L3R0eV9mbGlwLmg+CiAjaW5jbHVkZSA8bGludXgvc2VyaWFsX2NvcmUuaD4KICNpbmNsdWRlIDxsaW51eC9zZXJpYWwuaD4KLSNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgotI2luY2x1ZGUgPGxpbnV4L2Nsay5oPgogCi0jaW5jbHVkZSA8YXNtL2lvLmg+CiAjaW5jbHVkZSA8YXNtL2lycS5oPgotCiAjaW5jbHVkZSA8YXNtL2hhcmR3YXJlLmg+CiAKICNpbmNsdWRlIDxhc20vcGxhdC1zM2MvcmVncy1zZXJpYWwuaD4KICNpbmNsdWRlIDxhc20vYXJjaC9yZWdzLWdwaW8uaD4KIAotLyogc3RydWN0dXJlcyAqLwotCi1zdHJ1Y3QgczNjMjR4eF91YXJ0X2luZm8gewotCWNoYXIJCQkqbmFtZTsKLQl1bnNpZ25lZCBpbnQJCXR5cGU7Ci0JdW5zaWduZWQgaW50CQlmaWZvc2l6ZTsKLQl1bnNpZ25lZCBsb25nCQlyeF9maWZvbWFzazsKLQl1bnNpZ25lZCBsb25nCQlyeF9maWZvc2hpZnQ7Ci0JdW5zaWduZWQgbG9uZwkJcnhfZmlmb2Z1bGw7Ci0JdW5zaWduZWQgbG9uZwkJdHhfZmlmb21hc2s7Ci0JdW5zaWduZWQgbG9uZwkJdHhfZmlmb3NoaWZ0OwotCXVuc2lnbmVkIGxvbmcJCXR4X2ZpZm9mdWxsOwotCi0JLyogY2xvY2sgc291cmNlIGNvbnRyb2wgKi8KLQotCWludCAoKmdldF9jbGtzcmMpKHN0cnVjdCB1YXJ0X3BvcnQgKiwgc3RydWN0IHMzYzI0eHhfdWFydF9jbGtzcmMgKmNsayk7Ci0JaW50ICgqc2V0X2Nsa3NyYykoc3RydWN0IHVhcnRfcG9ydCAqLCBzdHJ1Y3QgczNjMjR4eF91YXJ0X2Nsa3NyYyAqY2xrKTsKLQotCS8qIHVhcnQgY29udHJvbHMgKi8KLQlpbnQgKCpyZXNldF9wb3J0KShzdHJ1Y3QgdWFydF9wb3J0ICosIHN0cnVjdCBzM2MyNDEwX3VhcnRjZmcgKik7Ci19OwotCi1zdHJ1Y3QgczNjMjR4eF91YXJ0X3BvcnQgewotCXVuc2lnbmVkIGNoYXIJCQlyeF9jbGFpbWVkOwotCXVuc2lnbmVkIGNoYXIJCQl0eF9jbGFpbWVkOwotCi0Jc3RydWN0IHMzYzI0eHhfdWFydF9pbmZvCSppbmZvOwotCXN0cnVjdCBzM2MyNHh4X3VhcnRfY2xrc3JjCSpjbGtzcmM7Ci0Jc3RydWN0IGNsawkJCSpjbGs7Ci0Jc3RydWN0IGNsawkJCSpiYXVkY2xrOwotCXN0cnVjdCB1YXJ0X3BvcnQJCXBvcnQ7Ci19OwotCi0KLS8qIGNvbmZpZ3VyYXRpb24gZGVmaW5lcyAqLwotCi0jaWYgMAotI2lmIDEKLS8qIHNlbmQgZGVidWcgdG8gdGhlIGxvdy1sZXZlbCBvdXRwdXQgcm91dGluZXMgKi8KLQotZXh0ZXJuIHZvaWQgcHJpbnRhc2NpaShjb25zdCBjaGFyICopOwotCi1zdGF0aWMgdm9pZAotczNjMjR4eF9zZXJpYWxfZGJnKGNvbnN0IGNoYXIgKmZtdCwgLi4uKQotewotCXZhX2xpc3QgdmE7Ci0JY2hhciBidWZmWzI1Nl07Ci0KLQl2YV9zdGFydCh2YSwgZm10KTsKLQl2c3ByaW50ZihidWZmLCBmbXQsIHZhKTsKLQl2YV9lbmQodmEpOwotCi0JcHJpbnRhc2NpaShidWZmKTsKLX0KLQotI2RlZmluZSBkYmcoeC4uLikgczNjMjR4eF9zZXJpYWxfZGJnKHgpCi0KLSNlbHNlCi0jZGVmaW5lIGRiZyh4Li4uKSBwcmludGsoS0VSTl9ERUJVRyAiczNjMjR4eDogIik7Ci0jZW5kaWYKLSNlbHNlIC8qIG5vIGRlYnVnICovCi0jZGVmaW5lIGRiZyh4Li4uKSBkbyB7fSB3aGlsZSgwKQotI2VuZGlmCi0KLS8qIFVBUlQgbmFtZSBhbmQgZGV2aWNlIGRlZmluaXRpb25zICovCi0KLSNkZWZpbmUgUzNDMjRYWF9TRVJJQUxfTkFNRQkidHR5U0FDIgotI2RlZmluZSBTM0MyNFhYX1NFUklBTF9NQUpPUgkyMDQKLSNkZWZpbmUgUzNDMjRYWF9TRVJJQUxfTUlOT1IJNjQKLQotCi0vKiBjb252ZXJzaW9uIGZ1bmN0aW9ucyAqLwotCi0jZGVmaW5lIHMzYzI0eHhfZGV2X3RvX3BvcnQoX19kZXYpIChzdHJ1Y3QgdWFydF9wb3J0ICopZGV2X2dldF9kcnZkYXRhKF9fZGV2KQotI2RlZmluZSBzM2MyNHh4X2Rldl90b19jZmcoX19kZXYpIChzdHJ1Y3QgczNjMjQxMF91YXJ0Y2ZnICopKChfX2RldiktPnBsYXRmb3JtX2RhdGEpCi0KLS8qIHdlIGNhbiBzdXBwb3J0IDMgdWFydHMsIGJ1dCBub3QgYWx3YXlzIHVzZSB0aGVtICovCi0KLSNpZmRlZiBDT05GSUdfQ1BVX1MzQzI0MDAKLSNkZWZpbmUgTlJfUE9SVFMgKDIpCi0jZWxzZQotI2RlZmluZSBOUl9QT1JUUyAoMykKLSNlbmRpZgotCi0vKiBwb3J0IGlycSBudW1iZXJzICovCi0KLSNkZWZpbmUgVFhfSVJRKHBvcnQpICgocG9ydCktPmlycSArIDEpCi0jZGVmaW5lIFJYX0lSUShwb3J0KSAoKHBvcnQpLT5pcnEpCi0KLS8qIHJlZ2lzdGVyIGFjY2VzcyBjb250cm9scyAqLwotCi0jZGVmaW5lIHBvcnRhZGRyKHBvcnQsIHJlZykgKChwb3J0KS0+bWVtYmFzZSArIChyZWcpKQotCi0jZGVmaW5lIHJkX3JlZ2IocG9ydCwgcmVnKSAoX19yYXdfcmVhZGIocG9ydGFkZHIocG9ydCwgcmVnKSkpCi0jZGVmaW5lIHJkX3JlZ2wocG9ydCwgcmVnKSAoX19yYXdfcmVhZGwocG9ydGFkZHIocG9ydCwgcmVnKSkpCi0KLSNkZWZpbmUgd3JfcmVnYihwb3J0LCByZWcsIHZhbCkgXAotICBkbyB7IF9fcmF3X3dyaXRlYih2YWwsIHBvcnRhZGRyKHBvcnQsIHJlZykpOyB9IHdoaWxlKDApCi0KLSNkZWZpbmUgd3JfcmVnbChwb3J0LCByZWcsIHZhbCkgXAotICBkbyB7IF9fcmF3X3dyaXRlbCh2YWwsIHBvcnRhZGRyKHBvcnQsIHJlZykpOyB9IHdoaWxlKDApCi0KLS8qIG1hY3JvcyB0byBjaGFuZ2Ugb25lIHRoaW5nIHRvIGFub3RoZXIgKi8KLQotI2RlZmluZSB0eF9lbmFibGVkKHBvcnQpICgocG9ydCktPnVudXNlZFswXSkKLSNkZWZpbmUgcnhfZW5hYmxlZChwb3J0KSAoKHBvcnQpLT51bnVzZWRbMV0pCi0KLS8qIGZsYWcgdG8gaWdub3JlIGFsbCBjaGFyYWN0ZXJzIGNvbW1pbmcgaW4gKi8KLSNkZWZpbmUgUlhTVEFUX0RVTU1ZX1JFQUQgKDB4MTAwMDAwMDApCi0KLXN0YXRpYyBpbmxpbmUgc3RydWN0IHMzYzI0eHhfdWFydF9wb3J0ICp0b19vdXJwb3J0KHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQpCi17Ci0JcmV0dXJuIGNvbnRhaW5lcl9vZihwb3J0LCBzdHJ1Y3QgczNjMjR4eF91YXJ0X3BvcnQsIHBvcnQpOwotfQotCi0vKiB0cmFuc2xhdGUgYSBwb3J0IHRvIHRoZSBkZXZpY2UgbmFtZSAqLwotCi1zdGF0aWMgaW5saW5lIGNvbnN0IGNoYXIgKnMzYzI0eHhfc2VyaWFsX3BvcnRuYW1lKHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQpCi17Ci0JcmV0dXJuIHRvX3BsYXRmb3JtX2RldmljZShwb3J0LT5kZXYpLT5uYW1lOwotfQotCi1zdGF0aWMgaW50IHMzYzI0eHhfc2VyaWFsX3R4ZW1wdHlfbm9maWZvKHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQpCi17Ci0JcmV0dXJuIChyZF9yZWdsKHBvcnQsIFMzQzI0MTBfVVRSU1RBVCkgJiBTM0MyNDEwX1VUUlNUQVRfVFhFKTsKLX0KLQotc3RhdGljIHZvaWQgczNjMjR4eF9zZXJpYWxfcnhfZW5hYmxlKHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQpCi17Ci0JdW5zaWduZWQgbG9uZyBmbGFnczsKLQl1bnNpZ25lZCBpbnQgdWNvbiwgdWZjb247Ci0JaW50IGNvdW50ID0gMTAwMDA7Ci0KLQlzcGluX2xvY2tfaXJxc2F2ZSgmcG9ydC0+bG9jaywgZmxhZ3MpOwotCi0Jd2hpbGUgKC0tY291bnQgJiYgIXMzYzI0eHhfc2VyaWFsX3R4ZW1wdHlfbm9maWZvKHBvcnQpKQotCQl1ZGVsYXkoMTAwKTsKLQotCXVmY29uID0gcmRfcmVnbChwb3J0LCBTM0MyNDEwX1VGQ09OKTsKLQl1ZmNvbiB8PSBTM0MyNDEwX1VGQ09OX1JFU0VUUlg7Ci0Jd3JfcmVnbChwb3J0LCBTM0MyNDEwX1VGQ09OLCB1ZmNvbik7Ci0KLQl1Y29uID0gcmRfcmVnbChwb3J0LCBTM0MyNDEwX1VDT04pOwotCXVjb24gfD0gUzNDMjQxMF9VQ09OX1JYSVJRTU9ERTsKLQl3cl9yZWdsKHBvcnQsIFMzQzI0MTBfVUNPTiwgdWNvbik7Ci0KLQlyeF9lbmFibGVkKHBvcnQpID0gMTsKLQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZwb3J0LT5sb2NrLCBmbGFncyk7Ci19Ci0KLXN0YXRpYyB2b2lkIHMzYzI0eHhfc2VyaWFsX3J4X2Rpc2FibGUoc3RydWN0IHVhcnRfcG9ydCAqcG9ydCkKLXsKLQl1bnNpZ25lZCBsb25nIGZsYWdzOwotCXVuc2lnbmVkIGludCB1Y29uOwotCi0Jc3Bpbl9sb2NrX2lycXNhdmUoJnBvcnQtPmxvY2ssIGZsYWdzKTsKLQotCXVjb24gPSByZF9yZWdsKHBvcnQsIFMzQzI0MTBfVUNPTik7Ci0JdWNvbiAmPSB+UzNDMjQxMF9VQ09OX1JYSVJRTU9ERTsKLQl3cl9yZWdsKHBvcnQsIFMzQzI0MTBfVUNPTiwgdWNvbik7Ci0KLQlyeF9lbmFibGVkKHBvcnQpID0gMDsKLQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZwb3J0LT5sb2NrLCBmbGFncyk7Ci19Ci0KLXN0YXRpYyB2b2lkIHMzYzI0eHhfc2VyaWFsX3N0b3BfdHgoc3RydWN0IHVhcnRfcG9ydCAqcG9ydCkKLXsKLQlpZiAodHhfZW5hYmxlZChwb3J0KSkgewotCQlkaXNhYmxlX2lycShUWF9JUlEocG9ydCkpOwotCQl0eF9lbmFibGVkKHBvcnQpID0gMDsKLQkJaWYgKHBvcnQtPmZsYWdzICYgVVBGX0NPTlNfRkxPVykKLQkJCXMzYzI0eHhfc2VyaWFsX3J4X2VuYWJsZShwb3J0KTsKLQl9Ci19Ci0KLXN0YXRpYyB2b2lkIHMzYzI0eHhfc2VyaWFsX3N0YXJ0X3R4KHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQpCi17Ci0JaWYgKCF0eF9lbmFibGVkKHBvcnQpKSB7Ci0JCWlmIChwb3J0LT5mbGFncyAmIFVQRl9DT05TX0ZMT1cpCi0JCQlzM2MyNHh4X3NlcmlhbF9yeF9kaXNhYmxlKHBvcnQpOwotCi0JCWVuYWJsZV9pcnEoVFhfSVJRKHBvcnQpKTsKLQkJdHhfZW5hYmxlZChwb3J0KSA9IDE7Ci0JfQotfQotCi0KLXN0YXRpYyB2b2lkIHMzYzI0eHhfc2VyaWFsX3N0b3Bfcngoc3RydWN0IHVhcnRfcG9ydCAqcG9ydCkKLXsKLQlpZiAocnhfZW5hYmxlZChwb3J0KSkgewotCQlkYmcoInMzYzI0eHhfc2VyaWFsX3N0b3Bfcng6IHBvcnQ9JXBcbiIsIHBvcnQpOwotCQlkaXNhYmxlX2lycShSWF9JUlEocG9ydCkpOwotCQlyeF9lbmFibGVkKHBvcnQpID0gMDsKLQl9Ci19Ci0KLXN0YXRpYyB2b2lkIHMzYzI0eHhfc2VyaWFsX2VuYWJsZV9tcyhzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0KQotewotfQotCi1zdGF0aWMgaW5saW5lIHN0cnVjdCBzM2MyNHh4X3VhcnRfaW5mbyAqczNjMjR4eF9wb3J0X3RvX2luZm8oc3RydWN0IHVhcnRfcG9ydCAqcG9ydCkKLXsKLQlyZXR1cm4gdG9fb3VycG9ydChwb3J0KS0+aW5mbzsKLX0KLQotc3RhdGljIGlubGluZSBzdHJ1Y3QgczNjMjQxMF91YXJ0Y2ZnICpzM2MyNHh4X3BvcnRfdG9fY2ZnKHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQpCi17Ci0JaWYgKHBvcnQtPmRldiA9PSBOVUxMKQotCQlyZXR1cm4gTlVMTDsKLQotCXJldHVybiAoc3RydWN0IHMzYzI0MTBfdWFydGNmZyAqKXBvcnQtPmRldi0+cGxhdGZvcm1fZGF0YTsKLX0KLQotc3RhdGljIGludCBzM2MyNHh4X3NlcmlhbF9yeF9maWZvY250KHN0cnVjdCBzM2MyNHh4X3VhcnRfcG9ydCAqb3VycG9ydCwKLQkJCQkgICAgIHVuc2lnbmVkIGxvbmcgdWZzdGF0KQotewotCXN0cnVjdCBzM2MyNHh4X3VhcnRfaW5mbyAqaW5mbyA9IG91cnBvcnQtPmluZm87Ci0KLQlpZiAodWZzdGF0ICYgaW5mby0+cnhfZmlmb2Z1bGwpCi0JCXJldHVybiBpbmZvLT5maWZvc2l6ZTsKLQotCXJldHVybiAodWZzdGF0ICYgaW5mby0+cnhfZmlmb21hc2spID4+IGluZm8tPnJ4X2ZpZm9zaGlmdDsKLX0KLQotCi0vKiA/IC0gd2hlcmUgaGFzIHBhcml0eSBnb25lPz8gKi8KLSNkZWZpbmUgUzNDMjQxMF9VRVJTVEFUX1BBUklUWSAoMHgxMDAwKQotCi1zdGF0aWMgaXJxcmV0dXJuX3QKLXMzYzI0eHhfc2VyaWFsX3J4X2NoYXJzKGludCBpcnEsIHZvaWQgKmRldl9pZCkKLXsKLQlzdHJ1Y3QgczNjMjR4eF91YXJ0X3BvcnQgKm91cnBvcnQgPSBkZXZfaWQ7Ci0Jc3RydWN0IHVhcnRfcG9ydCAqcG9ydCA9ICZvdXJwb3J0LT5wb3J0OwotCXN0cnVjdCB0dHlfc3RydWN0ICp0dHkgPSBwb3J0LT5pbmZvLT50dHk7Ci0JdW5zaWduZWQgaW50IHVmY29uLCBjaCwgZmxhZywgdWZzdGF0LCB1ZXJzdGF0OwotCWludCBtYXhfY291bnQgPSA2NDsKLQotCXdoaWxlIChtYXhfY291bnQtLSA+IDApIHsKLQkJdWZjb24gPSByZF9yZWdsKHBvcnQsIFMzQzI0MTBfVUZDT04pOwotCQl1ZnN0YXQgPSByZF9yZWdsKHBvcnQsIFMzQzI0MTBfVUZTVEFUKTsKLQotCQlpZiAoczNjMjR4eF9zZXJpYWxfcnhfZmlmb2NudChvdXJwb3J0LCB1ZnN0YXQpID09IDApCi0JCQlicmVhazsKLQotCQl1ZXJzdGF0ID0gcmRfcmVnbChwb3J0LCBTM0MyNDEwX1VFUlNUQVQpOwotCQljaCA9IHJkX3JlZ2IocG9ydCwgUzNDMjQxMF9VUlhIKTsKLQotCQlpZiAocG9ydC0+ZmxhZ3MgJiBVUEZfQ09OU19GTE9XKSB7Ci0JCQlpbnQgdHhlID0gczNjMjR4eF9zZXJpYWxfdHhlbXB0eV9ub2ZpZm8ocG9ydCk7Ci0KLQkJCWlmIChyeF9lbmFibGVkKHBvcnQpKSB7Ci0JCQkJaWYgKCF0eGUpIHsKLQkJCQkJcnhfZW5hYmxlZChwb3J0KSA9IDA7Ci0JCQkJCWNvbnRpbnVlOwotCQkJCX0KLQkJCX0gZWxzZSB7Ci0JCQkJaWYgKHR4ZSkgewotCQkJCQl1ZmNvbiB8PSBTM0MyNDEwX1VGQ09OX1JFU0VUUlg7Ci0JCQkJCXdyX3JlZ2wocG9ydCwgUzNDMjQxMF9VRkNPTiwgdWZjb24pOwotCQkJCQlyeF9lbmFibGVkKHBvcnQpID0gMTsKLQkJCQkJZ290byBvdXQ7Ci0JCQkJfQotCQkJCWNvbnRpbnVlOwotCQkJfQotCQl9Ci0KLQkJLyogaW5zZXJ0IHRoZSBjaGFyYWN0ZXIgaW50byB0aGUgYnVmZmVyICovCi0KLQkJZmxhZyA9IFRUWV9OT1JNQUw7Ci0JCXBvcnQtPmljb3VudC5yeCsrOwotCi0JCWlmICh1bmxpa2VseSh1ZXJzdGF0ICYgUzNDMjQxMF9VRVJTVEFUX0FOWSkpIHsKLQkJCWRiZygicnhlcnI6IHBvcnQgY2g9MHglMDJ4LCByeHM9MHglMDh4XG4iLAotCQkJICAgIGNoLCB1ZXJzdGF0KTsKLQotCQkJLyogY2hlY2sgZm9yIGJyZWFrICovCi0JCQlpZiAodWVyc3RhdCAmIFMzQzI0MTBfVUVSU1RBVF9CUkVBSykgewotCQkJCWRiZygiYnJlYWshXG4iKTsKLQkJCQlwb3J0LT5pY291bnQuYnJrKys7Ci0JCQkJaWYgKHVhcnRfaGFuZGxlX2JyZWFrKHBvcnQpKQotCQkJCSAgICBnb3RvIGlnbm9yZV9jaGFyOwotCQkJfQotCi0JCQlpZiAodWVyc3RhdCAmIFMzQzI0MTBfVUVSU1RBVF9GUkFNRSkKLQkJCQlwb3J0LT5pY291bnQuZnJhbWUrKzsKLQkJCWlmICh1ZXJzdGF0ICYgUzNDMjQxMF9VRVJTVEFUX09WRVJSVU4pCi0JCQkJcG9ydC0+aWNvdW50Lm92ZXJydW4rKzsKLQotCQkJdWVyc3RhdCAmPSBwb3J0LT5yZWFkX3N0YXR1c19tYXNrOwotCi0JCQlpZiAodWVyc3RhdCAmIFMzQzI0MTBfVUVSU1RBVF9CUkVBSykKLQkJCQlmbGFnID0gVFRZX0JSRUFLOwotCQkJZWxzZSBpZiAodWVyc3RhdCAmIFMzQzI0MTBfVUVSU1RBVF9QQVJJVFkpCi0JCQkJZmxhZyA9IFRUWV9QQVJJVFk7Ci0JCQllbHNlIGlmICh1ZXJzdGF0ICYgKCBTM0MyNDEwX1VFUlNUQVRfRlJBTUUgfCBTM0MyNDEwX1VFUlNUQVRfT1ZFUlJVTikpCi0JCQkJZmxhZyA9IFRUWV9GUkFNRTsKLQkJfQotCi0JCWlmICh1YXJ0X2hhbmRsZV9zeXNycV9jaGFyKHBvcnQsIGNoKSkKLQkJCWdvdG8gaWdub3JlX2NoYXI7Ci0KLQkJdWFydF9pbnNlcnRfY2hhcihwb3J0LCB1ZXJzdGF0LCBTM0MyNDEwX1VFUlNUQVRfT1ZFUlJVTiwgY2gsIGZsYWcpOwotCi0JaWdub3JlX2NoYXI6Ci0JCWNvbnRpbnVlOwotCX0KLQl0dHlfZmxpcF9idWZmZXJfcHVzaCh0dHkpOwotCi0gb3V0OgotCXJldHVybiBJUlFfSEFORExFRDsKLX0KLQotc3RhdGljIGlycXJldHVybl90IHMzYzI0eHhfc2VyaWFsX3R4X2NoYXJzKGludCBpcnEsIHZvaWQgKmlkKQotewotCXN0cnVjdCBzM2MyNHh4X3VhcnRfcG9ydCAqb3VycG9ydCA9IGlkOwotCXN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQgPSAmb3VycG9ydC0+cG9ydDsKLQlzdHJ1Y3QgY2lyY19idWYgKnhtaXQgPSAmcG9ydC0+aW5mby0+eG1pdDsKLQlpbnQgY291bnQgPSAyNTY7Ci0KLQlpZiAocG9ydC0+eF9jaGFyKSB7Ci0JCXdyX3JlZ2IocG9ydCwgUzNDMjQxMF9VVFhILCBwb3J0LT54X2NoYXIpOwotCQlwb3J0LT5pY291bnQudHgrKzsKLQkJcG9ydC0+eF9jaGFyID0gMDsKLQkJZ290byBvdXQ7Ci0JfQotCi0JLyogaWYgdGhlcmUgaXNudCBhbnl0aGluZyBtb3JlIHRvIHRyYW5zbWl0LCBvciB0aGUgdWFydCBpcyBub3cKLQkgKiBzdG9wcGVkLCBkaXNhYmxlIHRoZSB1YXJ0IGFuZCBleGl0Ci0JKi8KLQotCWlmICh1YXJ0X2NpcmNfZW1wdHkoeG1pdCkgfHwgdWFydF90eF9zdG9wcGVkKHBvcnQpKSB7Ci0JCXMzYzI0eHhfc2VyaWFsX3N0b3BfdHgocG9ydCk7Ci0JCWdvdG8gb3V0OwotCX0KLQotCS8qIHRyeSBhbmQgZHJhaW4gdGhlIGJ1ZmZlci4uLiAqLwotCi0Jd2hpbGUgKCF1YXJ0X2NpcmNfZW1wdHkoeG1pdCkgJiYgY291bnQtLSA+IDApIHsKLQkJaWYgKHJkX3JlZ2wocG9ydCwgUzNDMjQxMF9VRlNUQVQpICYgb3VycG9ydC0+aW5mby0+dHhfZmlmb2Z1bGwpCi0JCQlicmVhazsKLQotCQl3cl9yZWdiKHBvcnQsIFMzQzI0MTBfVVRYSCwgeG1pdC0+YnVmW3htaXQtPnRhaWxdKTsKLQkJeG1pdC0+dGFpbCA9ICh4bWl0LT50YWlsICsgMSkgJiAoVUFSVF9YTUlUX1NJWkUgLSAxKTsKLQkJcG9ydC0+aWNvdW50LnR4Kys7Ci0JfQotCi0JaWYgKHVhcnRfY2lyY19jaGFyc19wZW5kaW5nKHhtaXQpIDwgV0FLRVVQX0NIQVJTKQotCQl1YXJ0X3dyaXRlX3dha2V1cChwb3J0KTsKLQotCWlmICh1YXJ0X2NpcmNfZW1wdHkoeG1pdCkpCi0JCXMzYzI0eHhfc2VyaWFsX3N0b3BfdHgocG9ydCk7Ci0KLSBvdXQ6Ci0JcmV0dXJuIElSUV9IQU5ETEVEOwotfQotCi1zdGF0aWMgdW5zaWduZWQgaW50IHMzYzI0eHhfc2VyaWFsX3R4X2VtcHR5KHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQpCi17Ci0Jc3RydWN0IHMzYzI0eHhfdWFydF9pbmZvICppbmZvID0gczNjMjR4eF9wb3J0X3RvX2luZm8ocG9ydCk7Ci0JdW5zaWduZWQgbG9uZyB1ZnN0YXQgPSByZF9yZWdsKHBvcnQsIFMzQzI0MTBfVUZTVEFUKTsKLQl1bnNpZ25lZCBsb25nIHVmY29uID0gcmRfcmVnbChwb3J0LCBTM0MyNDEwX1VGQ09OKTsKLQotCWlmICh1ZmNvbiAmIFMzQzI0MTBfVUZDT05fRklGT01PREUpIHsKLQkJaWYgKCh1ZnN0YXQgJiBpbmZvLT50eF9maWZvbWFzaykgIT0gMCB8fAotCQkgICAgKHVmc3RhdCAmIGluZm8tPnR4X2ZpZm9mdWxsKSkKLQkJCXJldHVybiAwOwotCi0JCXJldHVybiAxOwotCX0KLQotCXJldHVybiBzM2MyNHh4X3NlcmlhbF90eGVtcHR5X25vZmlmbyhwb3J0KTsKLX0KLQotLyogbm8gbW9kZW0gY29udHJvbCBsaW5lcyAqLwotc3RhdGljIHVuc2lnbmVkIGludCBzM2MyNHh4X3NlcmlhbF9nZXRfbWN0cmwoc3RydWN0IHVhcnRfcG9ydCAqcG9ydCkKLXsKLQl1bnNpZ25lZCBpbnQgdW1zdGF0ID0gcmRfcmVnYihwb3J0LFMzQzI0MTBfVU1TVEFUKTsKLQotCWlmICh1bXN0YXQgJiBTM0MyNDEwX1VNU1RBVF9DVFMpCi0JCXJldHVybiBUSU9DTV9DQVIgfCBUSU9DTV9EU1IgfCBUSU9DTV9DVFM7Ci0JZWxzZQotCQlyZXR1cm4gVElPQ01fQ0FSIHwgVElPQ01fRFNSOwotfQotCi1zdGF0aWMgdm9pZCBzM2MyNHh4X3NlcmlhbF9zZXRfbWN0cmwoc3RydWN0IHVhcnRfcG9ydCAqcG9ydCwgdW5zaWduZWQgaW50IG1jdHJsKQotewotCS8qIHRvZG8gLSBwb3NzaWJseSByZW1vdmUgQUZDIGFuZCBkbyBtYW51YWwgQ1RTICovCi19Ci0KLXN0YXRpYyB2b2lkIHMzYzI0eHhfc2VyaWFsX2JyZWFrX2N0bChzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0LCBpbnQgYnJlYWtfc3RhdGUpCi17Ci0JdW5zaWduZWQgbG9uZyBmbGFnczsKLQl1bnNpZ25lZCBpbnQgdWNvbjsKLQotCXNwaW5fbG9ja19pcnFzYXZlKCZwb3J0LT5sb2NrLCBmbGFncyk7Ci0KLQl1Y29uID0gcmRfcmVnbChwb3J0LCBTM0MyNDEwX1VDT04pOwotCi0JaWYgKGJyZWFrX3N0YXRlKQotCQl1Y29uIHw9IFMzQzI0MTBfVUNPTl9TQlJFQUs7Ci0JZWxzZQotCQl1Y29uICY9IH5TM0MyNDEwX1VDT05fU0JSRUFLOwotCi0Jd3JfcmVnbChwb3J0LCBTM0MyNDEwX1VDT04sIHVjb24pOwotCi0Jc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcG9ydC0+bG9jaywgZmxhZ3MpOwotfQotCi1zdGF0aWMgdm9pZCBzM2MyNHh4X3NlcmlhbF9zaHV0ZG93bihzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0KQotewotCXN0cnVjdCBzM2MyNHh4X3VhcnRfcG9ydCAqb3VycG9ydCA9IHRvX291cnBvcnQocG9ydCk7Ci0KLQlpZiAob3VycG9ydC0+dHhfY2xhaW1lZCkgewotCQlmcmVlX2lycShUWF9JUlEocG9ydCksIG91cnBvcnQpOwotCQl0eF9lbmFibGVkKHBvcnQpID0gMDsKLQkJb3VycG9ydC0+dHhfY2xhaW1lZCA9IDA7Ci0JfQotCi0JaWYgKG91cnBvcnQtPnJ4X2NsYWltZWQpIHsKLQkJZnJlZV9pcnEoUlhfSVJRKHBvcnQpLCBvdXJwb3J0KTsKLQkJb3VycG9ydC0+cnhfY2xhaW1lZCA9IDA7Ci0JCXJ4X2VuYWJsZWQocG9ydCkgPSAwOwotCX0KLX0KLQotCi1zdGF0aWMgaW50IHMzYzI0eHhfc2VyaWFsX3N0YXJ0dXAoc3RydWN0IHVhcnRfcG9ydCAqcG9ydCkKLXsKLQlzdHJ1Y3QgczNjMjR4eF91YXJ0X3BvcnQgKm91cnBvcnQgPSB0b19vdXJwb3J0KHBvcnQpOwotCWludCByZXQ7Ci0KLQlkYmcoInMzYzI0eHhfc2VyaWFsX3N0YXJ0dXA6IHBvcnQ9JXAgKCUwOGx4LCVwKVxuIiwKLQkgICAgcG9ydC0+bWFwYmFzZSwgcG9ydC0+bWVtYmFzZSk7Ci0KLQlyeF9lbmFibGVkKHBvcnQpID0gMTsKLQotCXJldCA9IHJlcXVlc3RfaXJxKFJYX0lSUShwb3J0KSwKLQkJCSAgczNjMjR4eF9zZXJpYWxfcnhfY2hhcnMsIDAsCi0JCQkgIHMzYzI0eHhfc2VyaWFsX3BvcnRuYW1lKHBvcnQpLCBvdXJwb3J0KTsKLQotCWlmIChyZXQgIT0gMCkgewotCQlwcmludGsoS0VSTl9FUlIgImNhbm5vdCBnZXQgaXJxICVkXG4iLCBSWF9JUlEocG9ydCkpOwotCQlyZXR1cm4gcmV0OwotCX0KLQotCW91cnBvcnQtPnJ4X2NsYWltZWQgPSAxOwotCi0JZGJnKCJyZXF1ZXN0aW5nIHR4IGlycS4uLlxuIik7Ci0KLQl0eF9lbmFibGVkKHBvcnQpID0gMTsKLQotCXJldCA9IHJlcXVlc3RfaXJxKFRYX0lSUShwb3J0KSwKLQkJCSAgczNjMjR4eF9zZXJpYWxfdHhfY2hhcnMsIDAsCi0JCQkgIHMzYzI0eHhfc2VyaWFsX3BvcnRuYW1lKHBvcnQpLCBvdXJwb3J0KTsKLQotCWlmIChyZXQpIHsKLQkJcHJpbnRrKEtFUk5fRVJSICJjYW5ub3QgZ2V0IGlycSAlZFxuIiwgVFhfSVJRKHBvcnQpKTsKLQkJZ290byBlcnI7Ci0JfQotCi0Jb3VycG9ydC0+dHhfY2xhaW1lZCA9IDE7Ci0KLQlkYmcoInMzYzI0eHhfc2VyaWFsX3N0YXJ0dXAgb2tcbiIpOwotCi0JLyogdGhlIHBvcnQgcmVzZXQgY29kZSBzaG91bGQgaGF2ZSBkb25lIHRoZSBjb3JyZWN0Ci0JICogcmVnaXN0ZXIgc2V0dXAgZm9yIHRoZSBwb3J0IGNvbnRyb2xzICovCi0KLQlyZXR1cm4gcmV0OwotCi0gZXJyOgotCXMzYzI0eHhfc2VyaWFsX3NodXRkb3duKHBvcnQpOwotCXJldHVybiByZXQ7Ci19Ci0KLS8qIHBvd2VyIHBvd2VyIG1hbmFnZW1lbnQgY29udHJvbCAqLwotCi1zdGF0aWMgdm9pZCBzM2MyNHh4X3NlcmlhbF9wbShzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0LCB1bnNpZ25lZCBpbnQgbGV2ZWwsCi0JCQkgICAgICB1bnNpZ25lZCBpbnQgb2xkKQotewotCXN0cnVjdCBzM2MyNHh4X3VhcnRfcG9ydCAqb3VycG9ydCA9IHRvX291cnBvcnQocG9ydCk7Ci0KLQlzd2l0Y2ggKGxldmVsKSB7Ci0JY2FzZSAzOgotCQlpZiAoIUlTX0VSUihvdXJwb3J0LT5iYXVkY2xrKSAmJiBvdXJwb3J0LT5iYXVkY2xrICE9IE5VTEwpCi0JCQljbGtfZGlzYWJsZShvdXJwb3J0LT5iYXVkY2xrKTsKLQotCQljbGtfZGlzYWJsZShvdXJwb3J0LT5jbGspOwotCQlicmVhazsKLQotCWNhc2UgMDoKLQkJY2xrX2VuYWJsZShvdXJwb3J0LT5jbGspOwotCi0JCWlmICghSVNfRVJSKG91cnBvcnQtPmJhdWRjbGspICYmIG91cnBvcnQtPmJhdWRjbGsgIT0gTlVMTCkKLQkJCWNsa19lbmFibGUob3VycG9ydC0+YmF1ZGNsayk7Ci0KLQkJYnJlYWs7Ci0JZGVmYXVsdDoKLQkJcHJpbnRrKEtFUk5fRVJSICJzM2MyNHh4X3NlcmlhbDogdW5rbm93biBwbSAlZFxuIiwgbGV2ZWwpOwotCX0KLX0KLQotLyogYmF1ZCByYXRlIGNhbGN1bGF0aW9uCi0gKgotICogVGhlIFVBUlRzIG9uIHRoZSBTM0MyNDEwL1MzQzI0NDAgY2FuIHRha2UgdGhlaXIgY2xvY2tzIGZyb20gYSBudW1iZXIKLSAqIG9mIGRpZmZlcmVudCBzb3VyY2VzLCBpbmNsdWRpbmcgdGhlIHBlcmlwaGVyYWwgY2xvY2sgKCJwY2xrIikgYW5kIGFuCi0gKiBleHRlcm5hbCBjbG9jayAoInVjbGsiKS4gVGhlIFMzQzI0NDAgYWxzbyBhZGRzIHRoZSBjb3JlIGNsb2NrICgiZmNsayIpCi0gKiB3aXRoIGEgcHJvZ3JhbW1hYmxlIGV4dHJhIGRpdmlzb3IuCi0gKgotICogVGhlIGZvbGxvd2luZyBjb2RlIGdvZXMgdGhyb3VnaCB0aGUgY2xvY2sgc291cmNlcywgYW5kIGNhbGN1bGF0ZXMgdGhlCi0gKiBiYXVkIGNsb2NrcyAoYW5kIHRoZSByZXN1bHRhbnQgYWN0dWFsIGJhdWQgcmF0ZXMpIGFuZCB0aGVuIHRyaWVzIHRvCi0gKiBwaWNrIHRoZSBjbG9zZXN0IG9uZSBhbmQgc2VsZWN0IHRoYXQuCi0gKgotKi8KLQotCi0jZGVmaW5lIE1BWF9DTEtTICg4KQotCi1zdGF0aWMgc3RydWN0IHMzYzI0eHhfdWFydF9jbGtzcmMgdG1wX2Nsa3NyYyA9IHsKLQkubmFtZQkJPSAicGNsayIsCi0JLm1pbl9iYXVkCT0gMCwKLQkubWF4X2JhdWQJPSAwLAotCS5kaXZpc29yCT0gMSwKLX07Ci0KLXN0YXRpYyBpbmxpbmUgaW50Ci1zM2MyNHh4X3NlcmlhbF9nZXRzb3VyY2Uoc3RydWN0IHVhcnRfcG9ydCAqcG9ydCwgc3RydWN0IHMzYzI0eHhfdWFydF9jbGtzcmMgKmMpCi17Ci0Jc3RydWN0IHMzYzI0eHhfdWFydF9pbmZvICppbmZvID0gczNjMjR4eF9wb3J0X3RvX2luZm8ocG9ydCk7Ci0KLQlyZXR1cm4gKGluZm8tPmdldF9jbGtzcmMpKHBvcnQsIGMpOwotfQotCi1zdGF0aWMgaW5saW5lIGludAotczNjMjR4eF9zZXJpYWxfc2V0c291cmNlKHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQsIHN0cnVjdCBzM2MyNHh4X3VhcnRfY2xrc3JjICpjKQotewotCXN0cnVjdCBzM2MyNHh4X3VhcnRfaW5mbyAqaW5mbyA9IHMzYzI0eHhfcG9ydF90b19pbmZvKHBvcnQpOwotCi0JcmV0dXJuIChpbmZvLT5zZXRfY2xrc3JjKShwb3J0LCBjKTsKLX0KLQotc3RydWN0IGJhdWRfY2FsYyB7Ci0Jc3RydWN0IHMzYzI0eHhfdWFydF9jbGtzcmMJKmNsa3NyYzsKLQl1bnNpZ25lZCBpbnQJCQkgY2FsYzsKLQl1bnNpZ25lZCBpbnQJCQkgcXVvdDsKLQlzdHJ1Y3QgY2xrCQkJKnNyYzsKLX07Ci0KLXN0YXRpYyBpbnQgczNjMjR4eF9zZXJpYWxfY2FsY2JhdWQoc3RydWN0IGJhdWRfY2FsYyAqY2FsYywKLQkJCQkgICBzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0LAotCQkJCSAgIHN0cnVjdCBzM2MyNHh4X3VhcnRfY2xrc3JjICpjbGtzcmMsCi0JCQkJICAgdW5zaWduZWQgaW50IGJhdWQpCi17Ci0JdW5zaWduZWQgbG9uZyByYXRlOwotCi0JY2FsYy0+c3JjID0gY2xrX2dldChwb3J0LT5kZXYsIGNsa3NyYy0+bmFtZSk7Ci0JaWYgKGNhbGMtPnNyYyA9PSBOVUxMIHx8IElTX0VSUihjYWxjLT5zcmMpKQotCQlyZXR1cm4gMDsKLQotCXJhdGUgPSBjbGtfZ2V0X3JhdGUoY2FsYy0+c3JjKTsKLQlyYXRlIC89IGNsa3NyYy0+ZGl2aXNvcjsKLQotCWNhbGMtPmNsa3NyYyA9IGNsa3NyYzsKLQljYWxjLT5xdW90ID0gKHJhdGUgKyAoOCAqIGJhdWQpKSAvICgxNiAqIGJhdWQpOwotCWNhbGMtPmNhbGMgPSAocmF0ZSAvIChjYWxjLT5xdW90ICogMTYpKTsKLQotCWNhbGMtPnF1b3QtLTsKLQlyZXR1cm4gMTsKLX0KLQotc3RhdGljIHVuc2lnbmVkIGludCBzM2MyNHh4X3NlcmlhbF9nZXRjbGsoc3RydWN0IHVhcnRfcG9ydCAqcG9ydCwKLQkJCQkJICBzdHJ1Y3QgczNjMjR4eF91YXJ0X2Nsa3NyYyAqKmNsa3NyYywKLQkJCQkJICBzdHJ1Y3QgY2xrICoqY2xrLAotCQkJCQkgIHVuc2lnbmVkIGludCBiYXVkKQotewotCXN0cnVjdCBzM2MyNDEwX3VhcnRjZmcgKmNmZyA9IHMzYzI0eHhfcG9ydF90b19jZmcocG9ydCk7Ci0Jc3RydWN0IHMzYzI0eHhfdWFydF9jbGtzcmMgKmNsa3A7Ci0Jc3RydWN0IGJhdWRfY2FsYyByZXNbTUFYX0NMS1NdOwotCXN0cnVjdCBiYXVkX2NhbGMgKnJlc3B0ciwgKmJlc3QsICpzcHRyOwotCWludCBpOwotCi0JY2xrcCA9IGNmZy0+Y2xvY2tzOwotCWJlc3QgPSBOVUxMOwotCi0JaWYgKGNmZy0+Y2xvY2tzX3NpemUgPCAyKSB7Ci0JCWlmIChjZmctPmNsb2Nrc19zaXplID09IDApCi0JCQljbGtwID0gJnRtcF9jbGtzcmM7Ci0KLQkJLyogY2hlY2sgdG8gc2VlIGlmIHdlJ3JlIHNvdXJjaW5nIGZjbGssIGFuZCBpZiBzbyB3ZSdyZQotCQkgKiBnb2luZyB0byBoYXZlIHRvIHVwZGF0ZSB0aGUgY2xvY2sgc291cmNlCi0JCSAqLwotCi0JCWlmIChzdHJjbXAoY2xrcC0+bmFtZSwgImZjbGsiKSA9PSAwKSB7Ci0JCQlzdHJ1Y3QgczNjMjR4eF91YXJ0X2Nsa3NyYyBzcmM7Ci0KLQkJCXMzYzI0eHhfc2VyaWFsX2dldHNvdXJjZShwb3J0LCAmc3JjKTsKLQotCQkJLyogY2hlY2sgdGhhdCB0aGUgcG9ydCBhbHJlYWR5IHVzaW5nIGZjbGssIGFuZCBpZgotCQkJICogbm90LCB0aGVuIHJlLXNlbGVjdCBmY2xrCi0JCQkgKi8KLQotCQkJaWYgKHN0cmNtcChzcmMubmFtZSwgY2xrcC0+bmFtZSkgPT0gMCkgewotCQkJCXMzYzI0eHhfc2VyaWFsX3NldHNvdXJjZShwb3J0LCBjbGtwKTsKLQkJCQlzM2MyNHh4X3NlcmlhbF9nZXRzb3VyY2UocG9ydCwgJnNyYyk7Ci0JCQl9Ci0KLQkJCWNsa3AtPmRpdmlzb3IgPSBzcmMuZGl2aXNvcjsKLQkJfQotCi0JCXMzYzI0eHhfc2VyaWFsX2NhbGNiYXVkKHJlcywgcG9ydCwgY2xrcCwgYmF1ZCk7Ci0JCWJlc3QgPSByZXM7Ci0JCXJlc3B0ciA9IGJlc3QgKyAxOwotCX0gZWxzZSB7Ci0JCXJlc3B0ciA9IHJlczsKLQotCQlmb3IgKGkgPSAwOyBpIDwgY2ZnLT5jbG9ja3Nfc2l6ZTsgaSsrLCBjbGtwKyspIHsKLQkJCWlmIChzM2MyNHh4X3NlcmlhbF9jYWxjYmF1ZChyZXNwdHIsIHBvcnQsIGNsa3AsIGJhdWQpKQotCQkJCXJlc3B0cisrOwotCQl9Ci0JfQotCi0JLyogb2ssIHdlIG5vdyBuZWVkIHRvIHNlbGVjdCB0aGUgYmVzdCBjbG9jayB3ZSBmb3VuZCAqLwotCi0JaWYgKCFiZXN0KSB7Ci0JCXVuc2lnbmVkIGludCBkZXZpYXRpb24gPSAoMTw8MzApfCgoMTw8MzApLTEpOwotCQlpbnQgY2FsY19kZXZpYXRpb247Ci0KLQkJZm9yIChzcHRyID0gcmVzOyBzcHRyIDwgcmVzcHRyOyBzcHRyKyspIHsKLQkJCXByaW50ayhLRVJOX0RFQlVHCi0JCQkgICAgICAgImZvdW5kIGNsayAlcCAoJXMpIHF1b3QgJWQsIGNhbGMgJWRcbiIsCi0JCQkgICAgICAgc3B0ci0+Y2xrc3JjLCBzcHRyLT5jbGtzcmMtPm5hbWUsCi0JCQkgICAgICAgc3B0ci0+cXVvdCwgc3B0ci0+Y2FsYyk7Ci0KLQkJCWNhbGNfZGV2aWF0aW9uID0gYmF1ZCAtIHNwdHItPmNhbGM7Ci0JCQlpZiAoY2FsY19kZXZpYXRpb24gPCAwKQotCQkJCWNhbGNfZGV2aWF0aW9uID0gLWNhbGNfZGV2aWF0aW9uOwotCi0JCQlpZiAoY2FsY19kZXZpYXRpb24gPCBkZXZpYXRpb24pIHsKLQkJCQliZXN0ID0gc3B0cjsKLQkJCQlkZXZpYXRpb24gPSBjYWxjX2RldmlhdGlvbjsKLQkJCX0KLQkJfQotCi0JCXByaW50ayhLRVJOX0RFQlVHICJiZXN0ICVwIChkZXZpYXRpb24gJWQpXG4iLCBiZXN0LCBkZXZpYXRpb24pOwotCX0KLQotCXByaW50ayhLRVJOX0RFQlVHICJzZWxlY3RlZCBjbG9jayAlcCAoJXMpIHF1b3QgJWQsIGNhbGMgJWRcbiIsCi0JICAgICAgIGJlc3QtPmNsa3NyYywgYmVzdC0+Y2xrc3JjLT5uYW1lLCBiZXN0LT5xdW90LCBiZXN0LT5jYWxjKTsKLQotCS8qIHN0b3JlIHJlc3VsdHMgdG8gcGFzcyBiYWNrICovCi0KLQkqY2xrc3JjID0gYmVzdC0+Y2xrc3JjOwotCSpjbGsgICAgPSBiZXN0LT5zcmM7Ci0KLQlyZXR1cm4gYmVzdC0+cXVvdDsKLX0KLQotc3RhdGljIHZvaWQgczNjMjR4eF9zZXJpYWxfc2V0X3Rlcm1pb3Moc3RydWN0IHVhcnRfcG9ydCAqcG9ydCwKLQkJCQkgICAgICAgc3RydWN0IGt0ZXJtaW9zICp0ZXJtaW9zLAotCQkJCSAgICAgICBzdHJ1Y3Qga3Rlcm1pb3MgKm9sZCkKLXsKLQlzdHJ1Y3QgczNjMjQxMF91YXJ0Y2ZnICpjZmcgPSBzM2MyNHh4X3BvcnRfdG9fY2ZnKHBvcnQpOwotCXN0cnVjdCBzM2MyNHh4X3VhcnRfcG9ydCAqb3VycG9ydCA9IHRvX291cnBvcnQocG9ydCk7Ci0Jc3RydWN0IHMzYzI0eHhfdWFydF9jbGtzcmMgKmNsa3NyYyA9IE5VTEw7Ci0Jc3RydWN0IGNsayAqY2xrID0gTlVMTDsKLQl1bnNpZ25lZCBsb25nIGZsYWdzOwotCXVuc2lnbmVkIGludCBiYXVkLCBxdW90OwotCXVuc2lnbmVkIGludCB1bGNvbjsKLQl1bnNpZ25lZCBpbnQgdW1jb247Ci0KLQkvKgotCSAqIFdlIGRvbid0IHN1cHBvcnQgbW9kZW0gY29udHJvbCBsaW5lcy4KLQkgKi8KLQl0ZXJtaW9zLT5jX2NmbGFnICY9IH4oSFVQQ0wgfCBDTVNQQVIpOwotCXRlcm1pb3MtPmNfY2ZsYWcgfD0gQ0xPQ0FMOwotCi0JLyoKLQkgKiBBc2sgdGhlIGNvcmUgdG8gY2FsY3VsYXRlIHRoZSBkaXZpc29yIGZvciB1cy4KLQkgKi8KLQotCWJhdWQgPSB1YXJ0X2dldF9iYXVkX3JhdGUocG9ydCwgdGVybWlvcywgb2xkLCAwLCAxMTUyMDAqOCk7Ci0KLQlpZiAoYmF1ZCA9PSAzODQwMCAmJiAocG9ydC0+ZmxhZ3MgJiBVUEZfU1BEX01BU0spID09IFVQRl9TUERfQ1VTVCkKLQkJcXVvdCA9IHBvcnQtPmN1c3RvbV9kaXZpc29yOwotCWVsc2UKLQkJcXVvdCA9IHMzYzI0eHhfc2VyaWFsX2dldGNsayhwb3J0LCAmY2xrc3JjLCAmY2xrLCBiYXVkKTsKLQotCS8qIGNoZWNrIHRvIHNlZSBpZiB3ZSBuZWVkICB0byBjaGFuZ2UgY2xvY2sgc291cmNlICovCi0KLQlpZiAob3VycG9ydC0+Y2xrc3JjICE9IGNsa3NyYyB8fCBvdXJwb3J0LT5iYXVkY2xrICE9IGNsaykgewotCQlzM2MyNHh4X3NlcmlhbF9zZXRzb3VyY2UocG9ydCwgY2xrc3JjKTsKLQotCQlpZiAob3VycG9ydC0+YmF1ZGNsayAhPSBOVUxMICYmICFJU19FUlIob3VycG9ydC0+YmF1ZGNsaykpIHsKLQkJCWNsa19kaXNhYmxlKG91cnBvcnQtPmJhdWRjbGspOwotCQkJb3VycG9ydC0+YmF1ZGNsayAgPSBOVUxMOwotCQl9Ci0KLQkJY2xrX2VuYWJsZShjbGspOwotCi0JCW91cnBvcnQtPmNsa3NyYyA9IGNsa3NyYzsKLQkJb3VycG9ydC0+YmF1ZGNsayA9IGNsazsKLQl9Ci0KLQlzd2l0Y2ggKHRlcm1pb3MtPmNfY2ZsYWcgJiBDU0laRSkgewotCWNhc2UgQ1M1OgotCQlkYmcoImNvbmZpZzogNWJpdHMvY2hhclxuIik7Ci0JCXVsY29uID0gUzNDMjQxMF9MQ09OX0NTNTsKLQkJYnJlYWs7Ci0JY2FzZSBDUzY6Ci0JCWRiZygiY29uZmlnOiA2Yml0cy9jaGFyXG4iKTsKLQkJdWxjb24gPSBTM0MyNDEwX0xDT05fQ1M2OwotCQlicmVhazsKLQljYXNlIENTNzoKLQkJZGJnKCJjb25maWc6IDdiaXRzL2NoYXJcbiIpOwotCQl1bGNvbiA9IFMzQzI0MTBfTENPTl9DUzc7Ci0JCWJyZWFrOwotCWNhc2UgQ1M4OgotCWRlZmF1bHQ6Ci0JCWRiZygiY29uZmlnOiA4Yml0cy9jaGFyXG4iKTsKLQkJdWxjb24gPSBTM0MyNDEwX0xDT05fQ1M4OwotCQlicmVhazsKLQl9Ci0KLQkvKiBwcmVzZXJ2ZSBvcmlnaW5hbCBsY29uIElSIHNldHRpbmdzICovCi0JdWxjb24gfD0gKGNmZy0+dWxjb24gJiBTM0MyNDEwX0xDT05fSVJNKTsKLQotCWlmICh0ZXJtaW9zLT5jX2NmbGFnICYgQ1NUT1BCKQotCQl1bGNvbiB8PSBTM0MyNDEwX0xDT05fU1RPUEI7Ci0KLQl1bWNvbiA9ICh0ZXJtaW9zLT5jX2NmbGFnICYgQ1JUU0NUUykgPyBTM0MyNDEwX1VNQ09NX0FGQyA6IDA7Ci0KLQlpZiAodGVybWlvcy0+Y19jZmxhZyAmIFBBUkVOQikgewotCQlpZiAodGVybWlvcy0+Y19jZmxhZyAmIFBBUk9ERCkKLQkJCXVsY29uIHw9IFMzQzI0MTBfTENPTl9QT0REOwotCQllbHNlCi0JCQl1bGNvbiB8PSBTM0MyNDEwX0xDT05fUEVWRU47Ci0JfSBlbHNlIHsKLQkJdWxjb24gfD0gUzNDMjQxMF9MQ09OX1BOT05FOwotCX0KLQotCXNwaW5fbG9ja19pcnFzYXZlKCZwb3J0LT5sb2NrLCBmbGFncyk7Ci0KLQlkYmcoInNldHRpbmcgdWxjb24gdG8gJTA4eCwgYnJkZGl2IHRvICVkXG4iLCB1bGNvbiwgcXVvdCk7Ci0KLQl3cl9yZWdsKHBvcnQsIFMzQzI0MTBfVUxDT04sIHVsY29uKTsKLQl3cl9yZWdsKHBvcnQsIFMzQzI0MTBfVUJSRElWLCBxdW90KTsKLQl3cl9yZWdsKHBvcnQsIFMzQzI0MTBfVU1DT04sIHVtY29uKTsKLQotCWRiZygidWFydDogdWxjb24gPSAweCUwOHgsIHVjb24gPSAweCUwOHgsIHVmY29uID0gMHglMDh4XG4iLAotCSAgICByZF9yZWdsKHBvcnQsIFMzQzI0MTBfVUxDT04pLAotCSAgICByZF9yZWdsKHBvcnQsIFMzQzI0MTBfVUNPTiksCi0JICAgIHJkX3JlZ2wocG9ydCwgUzNDMjQxMF9VRkNPTikpOwotCi0JLyoKLQkgKiBVcGRhdGUgdGhlIHBlci1wb3J0IHRpbWVvdXQuCi0JICovCi0JdWFydF91cGRhdGVfdGltZW91dChwb3J0LCB0ZXJtaW9zLT5jX2NmbGFnLCBiYXVkKTsKLQotCS8qCi0JICogV2hpY2ggY2hhcmFjdGVyIHN0YXR1cyBmbGFncyBhcmUgd2UgaW50ZXJlc3RlZCBpbj8KLQkgKi8KLQlwb3J0LT5yZWFkX3N0YXR1c19tYXNrID0gUzNDMjQxMF9VRVJTVEFUX09WRVJSVU47Ci0JaWYgKHRlcm1pb3MtPmNfaWZsYWcgJiBJTlBDSykKLQkJcG9ydC0+cmVhZF9zdGF0dXNfbWFzayB8PSBTM0MyNDEwX1VFUlNUQVRfRlJBTUUgfCBTM0MyNDEwX1VFUlNUQVRfUEFSSVRZOwotCi0JLyoKLQkgKiBXaGljaCBjaGFyYWN0ZXIgc3RhdHVzIGZsYWdzIHNob3VsZCB3ZSBpZ25vcmU/Ci0JICovCi0JcG9ydC0+aWdub3JlX3N0YXR1c19tYXNrID0gMDsKLQlpZiAodGVybWlvcy0+Y19pZmxhZyAmIElHTlBBUikKLQkJcG9ydC0+aWdub3JlX3N0YXR1c19tYXNrIHw9IFMzQzI0MTBfVUVSU1RBVF9PVkVSUlVOOwotCWlmICh0ZXJtaW9zLT5jX2lmbGFnICYgSUdOQlJLICYmIHRlcm1pb3MtPmNfaWZsYWcgJiBJR05QQVIpCi0JCXBvcnQtPmlnbm9yZV9zdGF0dXNfbWFzayB8PSBTM0MyNDEwX1VFUlNUQVRfRlJBTUU7Ci0KLQkvKgotCSAqIElnbm9yZSBhbGwgY2hhcmFjdGVycyBpZiBDUkVBRCBpcyBub3Qgc2V0LgotCSAqLwotCWlmICgodGVybWlvcy0+Y19jZmxhZyAmIENSRUFEKSA9PSAwKQotCQlwb3J0LT5pZ25vcmVfc3RhdHVzX21hc2sgfD0gUlhTVEFUX0RVTU1ZX1JFQUQ7Ci0KLQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZwb3J0LT5sb2NrLCBmbGFncyk7Ci19Ci0KLXN0YXRpYyBjb25zdCBjaGFyICpzM2MyNHh4X3NlcmlhbF90eXBlKHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQpCi17Ci0Jc3dpdGNoIChwb3J0LT50eXBlKSB7Ci0JY2FzZSBQT1JUX1MzQzI0MTA6Ci0JCXJldHVybiAiUzNDMjQxMCI7Ci0JY2FzZSBQT1JUX1MzQzI0NDA6Ci0JCXJldHVybiAiUzNDMjQ0MCI7Ci0JY2FzZSBQT1JUX1MzQzI0MTI6Ci0JCXJldHVybiAiUzNDMjQxMiI7Ci0JZGVmYXVsdDoKLQkJcmV0dXJuIE5VTEw7Ci0JfQotfQotCi0jZGVmaW5lIE1BUF9TSVpFICgweDEwMCkKLQotc3RhdGljIHZvaWQgczNjMjR4eF9zZXJpYWxfcmVsZWFzZV9wb3J0KHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQpCi17Ci0JcmVsZWFzZV9tZW1fcmVnaW9uKHBvcnQtPm1hcGJhc2UsIE1BUF9TSVpFKTsKLX0KLQotc3RhdGljIGludCBzM2MyNHh4X3NlcmlhbF9yZXF1ZXN0X3BvcnQoc3RydWN0IHVhcnRfcG9ydCAqcG9ydCkKLXsKLQljb25zdCBjaGFyICpuYW1lID0gczNjMjR4eF9zZXJpYWxfcG9ydG5hbWUocG9ydCk7Ci0JcmV0dXJuIHJlcXVlc3RfbWVtX3JlZ2lvbihwb3J0LT5tYXBiYXNlLCBNQVBfU0laRSwgbmFtZSkgPyAwIDogLUVCVVNZOwotfQotCi1zdGF0aWMgdm9pZCBzM2MyNHh4X3NlcmlhbF9jb25maWdfcG9ydChzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0LCBpbnQgZmxhZ3MpCi17Ci0Jc3RydWN0IHMzYzI0eHhfdWFydF9pbmZvICppbmZvID0gczNjMjR4eF9wb3J0X3RvX2luZm8ocG9ydCk7Ci0KLQlpZiAoZmxhZ3MgJiBVQVJUX0NPTkZJR19UWVBFICYmCi0JICAgIHMzYzI0eHhfc2VyaWFsX3JlcXVlc3RfcG9ydChwb3J0KSA9PSAwKQotCQlwb3J0LT50eXBlID0gaW5mby0+dHlwZTsKLX0KLQotLyoKLSAqIHZlcmlmeSB0aGUgbmV3IHNlcmlhbF9zdHJ1Y3QgKGZvciBUSU9DU1NFUklBTCkuCi0gKi8KLXN0YXRpYyBpbnQKLXMzYzI0eHhfc2VyaWFsX3ZlcmlmeV9wb3J0KHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQsIHN0cnVjdCBzZXJpYWxfc3RydWN0ICpzZXIpCi17Ci0Jc3RydWN0IHMzYzI0eHhfdWFydF9pbmZvICppbmZvID0gczNjMjR4eF9wb3J0X3RvX2luZm8ocG9ydCk7Ci0KLQlpZiAoc2VyLT50eXBlICE9IFBPUlRfVU5LTk9XTiAmJiBzZXItPnR5cGUgIT0gaW5mby0+dHlwZSkKLQkJcmV0dXJuIC1FSU5WQUw7Ci0KLQlyZXR1cm4gMDsKLX0KLQotCi0jaWZkZWYgQ09ORklHX1NFUklBTF9TM0MyNDEwX0NPTlNPTEUKLQotc3RhdGljIHN0cnVjdCBjb25zb2xlIHMzYzI0eHhfc2VyaWFsX2NvbnNvbGU7Ci0KLSNkZWZpbmUgUzNDMjRYWF9TRVJJQUxfQ09OU09MRSAmczNjMjR4eF9zZXJpYWxfY29uc29sZQotI2Vsc2UKLSNkZWZpbmUgUzNDMjRYWF9TRVJJQUxfQ09OU09MRSBOVUxMCi0jZW5kaWYKLQotc3RhdGljIHN0cnVjdCB1YXJ0X29wcyBzM2MyNHh4X3NlcmlhbF9vcHMgPSB7Ci0JLnBtCQk9IHMzYzI0eHhfc2VyaWFsX3BtLAotCS50eF9lbXB0eQk9IHMzYzI0eHhfc2VyaWFsX3R4X2VtcHR5LAotCS5nZXRfbWN0cmwJPSBzM2MyNHh4X3NlcmlhbF9nZXRfbWN0cmwsCi0JLnNldF9tY3RybAk9IHMzYzI0eHhfc2VyaWFsX3NldF9tY3RybCwKLQkuc3RvcF90eAk9IHMzYzI0eHhfc2VyaWFsX3N0b3BfdHgsCi0JLnN0YXJ0X3R4CT0gczNjMjR4eF9zZXJpYWxfc3RhcnRfdHgsCi0JLnN0b3BfcngJPSBzM2MyNHh4X3NlcmlhbF9zdG9wX3J4LAotCS5lbmFibGVfbXMJPSBzM2MyNHh4X3NlcmlhbF9lbmFibGVfbXMsCi0JLmJyZWFrX2N0bAk9IHMzYzI0eHhfc2VyaWFsX2JyZWFrX2N0bCwKLQkuc3RhcnR1cAk9IHMzYzI0eHhfc2VyaWFsX3N0YXJ0dXAsCi0JLnNodXRkb3duCT0gczNjMjR4eF9zZXJpYWxfc2h1dGRvd24sCi0JLnNldF90ZXJtaW9zCT0gczNjMjR4eF9zZXJpYWxfc2V0X3Rlcm1pb3MsCi0JLnR5cGUJCT0gczNjMjR4eF9zZXJpYWxfdHlwZSwKLQkucmVsZWFzZV9wb3J0CT0gczNjMjR4eF9zZXJpYWxfcmVsZWFzZV9wb3J0LAotCS5yZXF1ZXN0X3BvcnQJPSBzM2MyNHh4X3NlcmlhbF9yZXF1ZXN0X3BvcnQsCi0JLmNvbmZpZ19wb3J0CT0gczNjMjR4eF9zZXJpYWxfY29uZmlnX3BvcnQsCi0JLnZlcmlmeV9wb3J0CT0gczNjMjR4eF9zZXJpYWxfdmVyaWZ5X3BvcnQsCi19OwotCi0KLXN0YXRpYyBzdHJ1Y3QgdWFydF9kcml2ZXIgczNjMjR4eF91YXJ0X2RydiA9IHsKLQkub3duZXIJCT0gVEhJU19NT0RVTEUsCi0JLmRldl9uYW1lCT0gInMzYzI0MTBfc2VyaWFsIiwKLQkubnIJCT0gMywKLQkuY29ucwkJPSBTM0MyNFhYX1NFUklBTF9DT05TT0xFLAotCS5kcml2ZXJfbmFtZQk9IFMzQzI0WFhfU0VSSUFMX05BTUUsCi0JLm1ham9yCQk9IFMzQzI0WFhfU0VSSUFMX01BSk9SLAotCS5taW5vcgkJPSBTM0MyNFhYX1NFUklBTF9NSU5PUiwKLX07Ci0KLXN0YXRpYyBzdHJ1Y3QgczNjMjR4eF91YXJ0X3BvcnQgczNjMjR4eF9zZXJpYWxfcG9ydHNbTlJfUE9SVFNdID0gewotCVswXSA9IHsKLQkJLnBvcnQgPSB7Ci0JCQkubG9jawkJPSBfX1NQSU5fTE9DS19VTkxPQ0tFRChzM2MyNHh4X3NlcmlhbF9wb3J0c1swXS5wb3J0LmxvY2spLAotCQkJLmlvdHlwZQkJPSBVUElPX01FTSwKLQkJCS5pcnEJCT0gSVJRX1MzQ1VBUlRfUlgwLAotCQkJLnVhcnRjbGsJPSAwLAotCQkJLmZpZm9zaXplCT0gMTYsCi0JCQkub3BzCQk9ICZzM2MyNHh4X3NlcmlhbF9vcHMsCi0JCQkuZmxhZ3MJCT0gVVBGX0JPT1RfQVVUT0NPTkYsCi0JCQkubGluZQkJPSAwLAotCQl9Ci0JfSwKLQlbMV0gPSB7Ci0JCS5wb3J0ID0gewotCQkJLmxvY2sJCT0gX19TUElOX0xPQ0tfVU5MT0NLRUQoczNjMjR4eF9zZXJpYWxfcG9ydHNbMV0ucG9ydC5sb2NrKSwKLQkJCS5pb3R5cGUJCT0gVVBJT19NRU0sCi0JCQkuaXJxCQk9IElSUV9TM0NVQVJUX1JYMSwKLQkJCS51YXJ0Y2xrCT0gMCwKLQkJCS5maWZvc2l6ZQk9IDE2LAotCQkJLm9wcwkJPSAmczNjMjR4eF9zZXJpYWxfb3BzLAotCQkJLmZsYWdzCQk9IFVQRl9CT09UX0FVVE9DT05GLAotCQkJLmxpbmUJCT0gMSwKLQkJfQotCX0sCi0jaWYgTlJfUE9SVFMgPiAyCi0KLQlbMl0gPSB7Ci0JCS5wb3J0ID0gewotCQkJLmxvY2sJCT0gX19TUElOX0xPQ0tfVU5MT0NLRUQoczNjMjR4eF9zZXJpYWxfcG9ydHNbMl0ucG9ydC5sb2NrKSwKLQkJCS5pb3R5cGUJCT0gVVBJT19NRU0sCi0JCQkuaXJxCQk9IElSUV9TM0NVQVJUX1JYMiwKLQkJCS51YXJ0Y2xrCT0gMCwKLQkJCS5maWZvc2l6ZQk9IDE2LAotCQkJLm9wcwkJPSAmczNjMjR4eF9zZXJpYWxfb3BzLAotCQkJLmZsYWdzCQk9IFVQRl9CT09UX0FVVE9DT05GLAotCQkJLmxpbmUJCT0gMiwKLQkJfQotCX0KLSNlbmRpZgotfTsKLQotLyogczNjMjR4eF9zZXJpYWxfcmVzZXRwb3J0Ci0gKgotICogd3JhcHBlciB0byBjYWxsIHRoZSBzcGVjaWZpYyByZXNldCBmb3IgdGhpcyBwb3J0IChyZXNldCB0aGUgZmlmb3MKLSAqIGFuZCB0aGUgc2V0dGluZ3MpCi0qLwotCi1zdGF0aWMgaW5saW5lIGludCBzM2MyNHh4X3NlcmlhbF9yZXNldHBvcnQoc3RydWN0IHVhcnRfcG9ydCAqIHBvcnQsCi0JCQkJCSAgIHN0cnVjdCBzM2MyNDEwX3VhcnRjZmcgKmNmZykKLXsKLQlzdHJ1Y3QgczNjMjR4eF91YXJ0X2luZm8gKmluZm8gPSBzM2MyNHh4X3BvcnRfdG9faW5mbyhwb3J0KTsKLQotCXJldHVybiAoaW5mby0+cmVzZXRfcG9ydCkocG9ydCwgY2ZnKTsKLX0KLQotLyogczNjMjR4eF9zZXJpYWxfaW5pdF9wb3J0Ci0gKgotICogaW5pdGlhbGlzZSBhIHNpbmdsZSBzZXJpYWwgcG9ydCBmcm9tIHRoZSBwbGF0Zm9ybSBkZXZpY2UgZ2l2ZW4KLSAqLwotCi1zdGF0aWMgaW50IHMzYzI0eHhfc2VyaWFsX2luaXRfcG9ydChzdHJ1Y3QgczNjMjR4eF91YXJ0X3BvcnQgKm91cnBvcnQsCi0JCQkJICAgIHN0cnVjdCBzM2MyNHh4X3VhcnRfaW5mbyAqaW5mbywKLQkJCQkgICAgc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGxhdGRldikKLXsKLQlzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0ID0gJm91cnBvcnQtPnBvcnQ7Ci0Jc3RydWN0IHMzYzI0MTBfdWFydGNmZyAqY2ZnOwotCXN0cnVjdCByZXNvdXJjZSAqcmVzOwotCWludCByZXQ7Ci0KLQlkYmcoInMzYzI0eHhfc2VyaWFsX2luaXRfcG9ydDogcG9ydD0lcCwgcGxhdGRldj0lcFxuIiwgcG9ydCwgcGxhdGRldik7Ci0KLQlpZiAocGxhdGRldiA9PSBOVUxMKQotCQlyZXR1cm4gLUVOT0RFVjsKLQotCWNmZyA9IHMzYzI0eHhfZGV2X3RvX2NmZygmcGxhdGRldi0+ZGV2KTsKLQotCWlmIChwb3J0LT5tYXBiYXNlICE9IDApCi0JCXJldHVybiAwOwotCi0JaWYgKGNmZy0+aHdwb3J0ID4gMykKLQkJcmV0dXJuIC1FSU5WQUw7Ci0KLQkvKiBzZXR1cCBpbmZvIGZvciBwb3J0ICovCi0JcG9ydC0+ZGV2CT0gJnBsYXRkZXYtPmRldjsKLQlvdXJwb3J0LT5pbmZvCT0gaW5mbzsKLQotCS8qIGNvcHkgdGhlIGluZm8gaW4gZnJvbSBwcm92aWRlZCBzdHJ1Y3R1cmUgKi8KLQlvdXJwb3J0LT5wb3J0LmZpZm9zaXplID0gaW5mby0+Zmlmb3NpemU7Ci0KLQlkYmcoInMzYzI0eHhfc2VyaWFsX2luaXRfcG9ydDogJXAgKGh3ICVkKS4uLlxuIiwgcG9ydCwgY2ZnLT5od3BvcnQpOwotCi0JcG9ydC0+dWFydGNsayA9IDE7Ci0KLQlpZiAoY2ZnLT51YXJ0X2ZsYWdzICYgVVBGX0NPTlNfRkxPVykgewotCQlkYmcoInMzYzI0eHhfc2VyaWFsX2luaXRfcG9ydDogZW5hYmxpbmcgZmxvdyBjb250cm9sXG4iKTsKLQkJcG9ydC0+ZmxhZ3MgfD0gVVBGX0NPTlNfRkxPVzsKLQl9Ci0KLQkvKiBzb3J0IG91ciB0aGUgcGh5c2ljYWwgYW5kIHZpcnR1YWwgYWRkcmVzc2VzIGZvciBlYWNoIFVBUlQgKi8KLQotCXJlcyA9IHBsYXRmb3JtX2dldF9yZXNvdXJjZShwbGF0ZGV2LCBJT1JFU09VUkNFX01FTSwgMCk7Ci0JaWYgKHJlcyA9PSBOVUxMKSB7Ci0JCXByaW50ayhLRVJOX0VSUiAiZmFpbGVkIHRvIGZpbmQgbWVtb3J5IHJlc291cmNlIGZvciB1YXJ0XG4iKTsKLQkJcmV0dXJuIC1FSU5WQUw7Ci0JfQotCi0JZGJnKCJyZXNvdXJjZSAlcCAoJWx4Li4lbHgpXG4iLCByZXMsIHJlcy0+c3RhcnQsIHJlcy0+ZW5kKTsKLQotCXBvcnQtPm1hcGJhc2UJPSByZXMtPnN0YXJ0OwotCXBvcnQtPm1lbWJhc2UJPSBTM0MyNFhYX1ZBX1VBUlQgKyAocmVzLT5zdGFydCAtIFMzQzI0WFhfUEFfVUFSVCk7Ci0JcmV0ID0gcGxhdGZvcm1fZ2V0X2lycShwbGF0ZGV2LCAwKTsKLQlpZiAocmV0IDwgMCkKLQkJcG9ydC0+aXJxID0gMDsKLQllbHNlCi0JCXBvcnQtPmlycSA9IHJldDsKLQotCW91cnBvcnQtPmNsawk9IGNsa19nZXQoJnBsYXRkZXYtPmRldiwgInVhcnQiKTsKLQotCWRiZygicG9ydDogbWFwPSUwOHgsIG1lbT0lMDh4LCBpcnE9JWQsIGNsb2NrPSVsZFxuIiwKLQkgICAgcG9ydC0+bWFwYmFzZSwgcG9ydC0+bWVtYmFzZSwgcG9ydC0+aXJxLCBwb3J0LT51YXJ0Y2xrKTsKLQotCS8qIHJlc2V0IHRoZSBmaWZvcyAoYW5kIHNldHVwIHRoZSB1YXJ0KSAqLwotCXMzYzI0eHhfc2VyaWFsX3Jlc2V0cG9ydChwb3J0LCBjZmcpOwotCXJldHVybiAwOwotfQotCi0vKiBEZXZpY2UgZHJpdmVyIHNlcmlhbCBwb3J0IHByb2JlICovCi0KLXN0YXRpYyBpbnQgcHJvYmVfaW5kZXggPSAwOwotCi1zdGF0aWMgaW50IHMzYzI0eHhfc2VyaWFsX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKmRldiwKLQkJCQlzdHJ1Y3QgczNjMjR4eF91YXJ0X2luZm8gKmluZm8pCi17Ci0Jc3RydWN0IHMzYzI0eHhfdWFydF9wb3J0ICpvdXJwb3J0OwotCWludCByZXQ7Ci0KLQlkYmcoInMzYzI0eHhfc2VyaWFsX3Byb2JlKCVwLCAlcCkgJWRcbiIsIGRldiwgaW5mbywgcHJvYmVfaW5kZXgpOwotCi0Jb3VycG9ydCA9ICZzM2MyNHh4X3NlcmlhbF9wb3J0c1twcm9iZV9pbmRleF07Ci0JcHJvYmVfaW5kZXgrKzsKLQotCWRiZygiJXM6IGluaXRpYWxpc2luZyBwb3J0ICVwLi4uXG4iLCBfX2Z1bmNfXywgb3VycG9ydCk7Ci0KLQlyZXQgPSBzM2MyNHh4X3NlcmlhbF9pbml0X3BvcnQob3VycG9ydCwgaW5mbywgZGV2KTsKLQlpZiAocmV0IDwgMCkKLQkJZ290byBwcm9iZV9lcnI7Ci0KLQlkYmcoIiVzOiBhZGRpbmcgcG9ydFxuIiwgX19mdW5jX18pOwotCXVhcnRfYWRkX29uZV9wb3J0KCZzM2MyNHh4X3VhcnRfZHJ2LCAmb3VycG9ydC0+cG9ydCk7Ci0JcGxhdGZvcm1fc2V0X2RydmRhdGEoZGV2LCAmb3VycG9ydC0+cG9ydCk7Ci0KLQlyZXR1cm4gMDsKLQotIHByb2JlX2VycjoKLQlyZXR1cm4gcmV0OwotfQotCi1zdGF0aWMgaW50IHMzYzI0eHhfc2VyaWFsX3JlbW92ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpkZXYpCi17Ci0Jc3RydWN0IHVhcnRfcG9ydCAqcG9ydCA9IHMzYzI0eHhfZGV2X3RvX3BvcnQoJmRldi0+ZGV2KTsKLQotCWlmIChwb3J0KQotCQl1YXJ0X3JlbW92ZV9vbmVfcG9ydCgmczNjMjR4eF91YXJ0X2RydiwgcG9ydCk7Ci0KLQlyZXR1cm4gMDsKLX0KLQotLyogVUFSVCBwb3dlciBtYW5hZ2VtZW50IGNvZGUgKi8KLQotI2lmZGVmIENPTkZJR19QTQotCi1zdGF0aWMgaW50IHMzYzI0eHhfc2VyaWFsX3N1c3BlbmQoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqZGV2LCBwbV9tZXNzYWdlX3Qgc3RhdGUpCi17Ci0Jc3RydWN0IHVhcnRfcG9ydCAqcG9ydCA9IHMzYzI0eHhfZGV2X3RvX3BvcnQoJmRldi0+ZGV2KTsKLQotCWlmIChwb3J0KQotCQl1YXJ0X3N1c3BlbmRfcG9ydCgmczNjMjR4eF91YXJ0X2RydiwgcG9ydCk7Ci0KLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBzM2MyNHh4X3NlcmlhbF9yZXN1bWUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqZGV2KQotewotCXN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQgPSBzM2MyNHh4X2Rldl90b19wb3J0KCZkZXYtPmRldik7Ci0Jc3RydWN0IHMzYzI0eHhfdWFydF9wb3J0ICpvdXJwb3J0ID0gdG9fb3VycG9ydChwb3J0KTsKLQotCWlmIChwb3J0KSB7Ci0JCWNsa19lbmFibGUob3VycG9ydC0+Y2xrKTsKLQkJczNjMjR4eF9zZXJpYWxfcmVzZXRwb3J0KHBvcnQsIHMzYzI0eHhfcG9ydF90b19jZmcocG9ydCkpOwotCQljbGtfZGlzYWJsZShvdXJwb3J0LT5jbGspOwotCi0JCXVhcnRfcmVzdW1lX3BvcnQoJnMzYzI0eHhfdWFydF9kcnYsIHBvcnQpOwotCX0KLQotCXJldHVybiAwOwotfQotCi0jZWxzZQotI2RlZmluZSBzM2MyNHh4X3NlcmlhbF9zdXNwZW5kIE5VTEwKLSNkZWZpbmUgczNjMjR4eF9zZXJpYWxfcmVzdW1lICBOVUxMCi0jZW5kaWYKLQotc3RhdGljIGludCBzM2MyNHh4X3NlcmlhbF9pbml0KHN0cnVjdCBwbGF0Zm9ybV9kcml2ZXIgKmRydiwKLQkJCSAgICAgICBzdHJ1Y3QgczNjMjR4eF91YXJ0X2luZm8gKmluZm8pCi17Ci0JZGJnKCJzM2MyNHh4X3NlcmlhbF9pbml0KCVwLCVwKVxuIiwgZHJ2LCBpbmZvKTsKLQlyZXR1cm4gcGxhdGZvcm1fZHJpdmVyX3JlZ2lzdGVyKGRydik7Ci19Ci0KLQotLyogbm93IGNvbWVzIHRoZSBjb2RlIHRvIGluaXRpYWxpc2UgZWl0aGVyIHRoZSBzM2MyNDEwIG9yIHMzYzI0NDAgc2VyaWFsCi0gKiBwb3J0IGluZm9ybWF0aW9uCi0qLwotCi0vKiBjcHUgc3BlY2lmaWMgdmFyaWF0aW9ucyBvbiB0aGUgc2VyaWFsIHBvcnQgc3VwcG9ydCAqLwotCi0jaWZkZWYgQ09ORklHX0NQVV9TM0MyNDAwCi0KLXN0YXRpYyBpbnQgczNjMjQwMF9zZXJpYWxfZ2V0c291cmNlKHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQsCi0JCQkJICAgIHN0cnVjdCBzM2MyNHh4X3VhcnRfY2xrc3JjICpjbGspCi17Ci0JY2xrLT5kaXZpc29yID0gMTsKLQljbGstPm5hbWUgPSAicGNsayI7Ci0KLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBzM2MyNDAwX3NlcmlhbF9zZXRzb3VyY2Uoc3RydWN0IHVhcnRfcG9ydCAqcG9ydCwKLQkJCQkgICAgc3RydWN0IHMzYzI0eHhfdWFydF9jbGtzcmMgKmNsaykKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBzM2MyNDAwX3NlcmlhbF9yZXNldHBvcnQoc3RydWN0IHVhcnRfcG9ydCAqcG9ydCwKLQkJCQkgICAgc3RydWN0IHMzYzI0MTBfdWFydGNmZyAqY2ZnKQotewotCWRiZygiczNjMjQwMF9zZXJpYWxfcmVzZXRwb3J0OiBwb3J0PSVwICglMDhseCksIGNmZz0lcFxuIiwKLQkgICAgcG9ydCwgcG9ydC0+bWFwYmFzZSwgY2ZnKTsKLQotCXdyX3JlZ2wocG9ydCwgUzNDMjQxMF9VQ09OLCAgY2ZnLT51Y29uKTsKLQl3cl9yZWdsKHBvcnQsIFMzQzI0MTBfVUxDT04sIGNmZy0+dWxjb24pOwotCi0JLyogcmVzZXQgYm90aCBmaWZvcyAqLwotCi0Jd3JfcmVnbChwb3J0LCBTM0MyNDEwX1VGQ09OLCBjZmctPnVmY29uIHwgUzNDMjQxMF9VRkNPTl9SRVNFVEJPVEgpOwotCXdyX3JlZ2wocG9ydCwgUzNDMjQxMF9VRkNPTiwgY2ZnLT51ZmNvbik7Ci0KLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIHN0cnVjdCBzM2MyNHh4X3VhcnRfaW5mbyBzM2MyNDAwX3VhcnRfaW5mID0gewotCS5uYW1lCQk9ICJTYW1zdW5nIFMzQzI0MDAgVUFSVCIsCi0JLnR5cGUJCT0gUE9SVF9TM0MyNDAwLAotCS5maWZvc2l6ZQk9IDE2LAotCS5yeF9maWZvbWFzawk9IFMzQzI0MTBfVUZTVEFUX1JYTUFTSywKLQkucnhfZmlmb3NoaWZ0CT0gUzNDMjQxMF9VRlNUQVRfUlhTSElGVCwKLQkucnhfZmlmb2Z1bGwJPSBTM0MyNDEwX1VGU1RBVF9SWEZVTEwsCi0JLnR4X2ZpZm9mdWxsCT0gUzNDMjQxMF9VRlNUQVRfVFhGVUxMLAotCS50eF9maWZvbWFzawk9IFMzQzI0MTBfVUZTVEFUX1RYTUFTSywKLQkudHhfZmlmb3NoaWZ0CT0gUzNDMjQxMF9VRlNUQVRfVFhTSElGVCwKLQkuZ2V0X2Nsa3NyYwk9IHMzYzI0MDBfc2VyaWFsX2dldHNvdXJjZSwKLQkuc2V0X2Nsa3NyYwk9IHMzYzI0MDBfc2VyaWFsX3NldHNvdXJjZSwKLQkucmVzZXRfcG9ydAk9IHMzYzI0MDBfc2VyaWFsX3Jlc2V0cG9ydCwKLX07Ci0KLXN0YXRpYyBpbnQgczNjMjQwMF9zZXJpYWxfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqZGV2KQotewotCXJldHVybiBzM2MyNHh4X3NlcmlhbF9wcm9iZShkZXYsICZzM2MyNDAwX3VhcnRfaW5mKTsKLX0KLQotc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kcml2ZXIgczNjMjQwMF9zZXJpYWxfZHJ2ID0gewotCS5wcm9iZQkJPSBzM2MyNDAwX3NlcmlhbF9wcm9iZSwKLQkucmVtb3ZlCQk9IHMzYzI0eHhfc2VyaWFsX3JlbW92ZSwKLQkuc3VzcGVuZAk9IHMzYzI0eHhfc2VyaWFsX3N1c3BlbmQsCi0JLnJlc3VtZQkJPSBzM2MyNHh4X3NlcmlhbF9yZXN1bWUsCi0JLmRyaXZlcgkJPSB7Ci0JCS5uYW1lCT0gInMzYzI0MDAtdWFydCIsCi0JCS5vd25lcgk9IFRISVNfTU9EVUxFLAotCX0sCi19OwotCi1zdGF0aWMgaW5saW5lIGludCBzM2MyNDAwX3NlcmlhbF9pbml0KHZvaWQpCi17Ci0JcmV0dXJuIHMzYzI0eHhfc2VyaWFsX2luaXQoJnMzYzI0MDBfc2VyaWFsX2RydiwgJnMzYzI0MDBfdWFydF9pbmYpOwotfQotCi1zdGF0aWMgaW5saW5lIHZvaWQgczNjMjQwMF9zZXJpYWxfZXhpdCh2b2lkKQotewotCXBsYXRmb3JtX2RyaXZlcl91bnJlZ2lzdGVyKCZzM2MyNDAwX3NlcmlhbF9kcnYpOwotfQotCi0jZGVmaW5lIHMzYzI0MDBfdWFydF9pbmZfYXQgJnMzYzI0MDBfdWFydF9pbmYKLSNlbHNlCi0KLXN0YXRpYyBpbmxpbmUgaW50IHMzYzI0MDBfc2VyaWFsX2luaXQodm9pZCkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGlubGluZSB2b2lkIHMzYzI0MDBfc2VyaWFsX2V4aXQodm9pZCkKLXsKLX0KLQotI2RlZmluZSBzM2MyNDAwX3VhcnRfaW5mX2F0IE5VTEwKLQotI2VuZGlmIC8qIENPTkZJR19DUFVfUzNDMjQwMCAqLwotCi0vKiBTM0MyNDEwIHN1cHBvcnQgKi8KLQotI2lmZGVmIENPTkZJR19DUFVfUzNDMjQxMAorI2luY2x1ZGUgInNhbXN1bmcuaCIKIAogc3RhdGljIGludCBzM2MyNDEwX3NlcmlhbF9zZXRzb3VyY2Uoc3RydWN0IHVhcnRfcG9ydCAqcG9ydCwKIAkJCQkgICAgc3RydWN0IHMzYzI0eHhfdWFydF9jbGtzcmMgKmNsaykKQEAgLTEzMjMsOCArODMsNiBAQAogCS5yZXNldF9wb3J0CT0gczNjMjQxMF9zZXJpYWxfcmVzZXRwb3J0LAogfTsKIAotLyogZGV2aWNlIG1hbmFnZW1lbnQgKi8KLQogc3RhdGljIGludCBzM2MyNDEwX3NlcmlhbF9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpkZXYpCiB7CiAJcmV0dXJuIHMzYzI0eHhfc2VyaWFsX3Byb2JlKGRldiwgJnMzYzI0MTBfdWFydF9pbmYpOwpAQCAtMTMzMyw2MTIgKzkxLDI4IEBACiBzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RyaXZlciBzM2MyNDEwX3NlcmlhbF9kcnYgPSB7CiAJLnByb2JlCQk9IHMzYzI0MTBfc2VyaWFsX3Byb2JlLAogCS5yZW1vdmUJCT0gczNjMjR4eF9zZXJpYWxfcmVtb3ZlLAotCS5zdXNwZW5kCT0gczNjMjR4eF9zZXJpYWxfc3VzcGVuZCwKLQkucmVzdW1lCQk9IHMzYzI0eHhfc2VyaWFsX3Jlc3VtZSwKIAkuZHJpdmVyCQk9IHsKIAkJLm5hbWUJPSAiczNjMjQxMC11YXJ0IiwKIAkJLm93bmVyCT0gVEhJU19NT0RVTEUsCiAJfSwKIH07CiAKLXN0YXRpYyBpbmxpbmUgaW50IHMzYzI0MTBfc2VyaWFsX2luaXQodm9pZCkKK3MzYzI0eHhfY29uc29sZV9pbml0KCZzM2MyNDEwX3NlcmlhbF9kcnYsICZzM2MyNDEwX3VhcnRfaW5mKTsKKworc3RhdGljIGludCBfX2luaXQgczNjMjQxMF9zZXJpYWxfaW5pdCh2b2lkKQogewogCXJldHVybiBzM2MyNHh4X3NlcmlhbF9pbml0KCZzM2MyNDEwX3NlcmlhbF9kcnYsICZzM2MyNDEwX3VhcnRfaW5mKTsKIH0KIAotc3RhdGljIGlubGluZSB2b2lkIHMzYzI0MTBfc2VyaWFsX2V4aXQodm9pZCkKK3N0YXRpYyB2b2lkIF9fZXhpdCBzM2MyNDEwX3NlcmlhbF9leGl0KHZvaWQpCiB7CiAJcGxhdGZvcm1fZHJpdmVyX3VucmVnaXN0ZXIoJnMzYzI0MTBfc2VyaWFsX2Rydik7CiB9CiAKLSNkZWZpbmUgczNjMjQxMF91YXJ0X2luZl9hdCAmczNjMjQxMF91YXJ0X2luZgotI2Vsc2UKK21vZHVsZV9pbml0KHMzYzI0MTBfc2VyaWFsX2luaXQpOworbW9kdWxlX2V4aXQoczNjMjQxMF9zZXJpYWxfZXhpdCk7CiAKLXN0YXRpYyBpbmxpbmUgaW50IHMzYzI0MTBfc2VyaWFsX2luaXQodm9pZCkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGlubGluZSB2b2lkIHMzYzI0MTBfc2VyaWFsX2V4aXQodm9pZCkKLXsKLX0KLQotI2RlZmluZSBzM2MyNDEwX3VhcnRfaW5mX2F0IE5VTEwKLQotI2VuZGlmIC8qIENPTkZJR19DUFVfUzNDMjQxMCAqLwotCi0jaWYgZGVmaW5lZChDT05GSUdfQ1BVX1MzQzI0NDApIHx8IGRlZmluZWQoQ09ORklHX0NQVV9TM0MyNDQyKQotCi1zdGF0aWMgaW50IHMzYzI0NDBfc2VyaWFsX3NldHNvdXJjZShzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0LAotCQkJCSAgICAgc3RydWN0IHMzYzI0eHhfdWFydF9jbGtzcmMgKmNsaykKLXsKLQl1bnNpZ25lZCBsb25nIHVjb24gPSByZF9yZWdsKHBvcnQsIFMzQzI0MTBfVUNPTik7Ci0KLQkvLyB0b2RvIC0gcHJvcGVyIGZjbGs8Pm5vbmZjbGsgc3dpdGNoIC8vCi0KLQl1Y29uICY9IH5TM0MyNDQwX1VDT05fQ0xLTUFTSzsKLQotCWlmIChzdHJjbXAoY2xrLT5uYW1lLCAidWNsayIpID09IDApCi0JCXVjb24gfD0gUzNDMjQ0MF9VQ09OX1VDTEs7Ci0JZWxzZSBpZiAoc3RyY21wKGNsay0+bmFtZSwgInBjbGsiKSA9PSAwKQotCQl1Y29uIHw9IFMzQzI0NDBfVUNPTl9QQ0xLOwotCWVsc2UgaWYgKHN0cmNtcChjbGstPm5hbWUsICJmY2xrIikgPT0gMCkKLQkJdWNvbiB8PSBTM0MyNDQwX1VDT05fRkNMSzsKLQllbHNlIHsKLQkJcHJpbnRrKEtFUk5fRVJSICJ1bmtub3duIGNsb2NrIHNvdXJjZSAlc1xuIiwgY2xrLT5uYW1lKTsKLQkJcmV0dXJuIC1FSU5WQUw7Ci0JfQotCi0Jd3JfcmVnbChwb3J0LCBTM0MyNDEwX1VDT04sIHVjb24pOwotCXJldHVybiAwOwotfQotCi0KLXN0YXRpYyBpbnQgczNjMjQ0MF9zZXJpYWxfZ2V0c291cmNlKHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQsCi0JCQkJICAgIHN0cnVjdCBzM2MyNHh4X3VhcnRfY2xrc3JjICpjbGspCi17Ci0JdW5zaWduZWQgbG9uZyB1Y29uID0gcmRfcmVnbChwb3J0LCBTM0MyNDEwX1VDT04pOwotCXVuc2lnbmVkIGxvbmcgdWNvbjAsIHVjb24xLCB1Y29uMjsKLQotCXN3aXRjaCAodWNvbiAmIFMzQzI0NDBfVUNPTl9DTEtNQVNLKSB7Ci0JY2FzZSBTM0MyNDQwX1VDT05fVUNMSzoKLQkJY2xrLT5kaXZpc29yID0gMTsKLQkJY2xrLT5uYW1lID0gInVjbGsiOwotCQlicmVhazsKLQotCWNhc2UgUzNDMjQ0MF9VQ09OX1BDTEs6Ci0JY2FzZSBTM0MyNDQwX1VDT05fUENMSzI6Ci0JCWNsay0+ZGl2aXNvciA9IDE7Ci0JCWNsay0+bmFtZSA9ICJwY2xrIjsKLQkJYnJlYWs7Ci0KLQljYXNlIFMzQzI0NDBfVUNPTl9GQ0xLOgotCQkvKiB0aGUgZnVuIG9mIGNhbGN1bGF0aW5nIHRoZSB1YXJ0IGRpdmlzb3JzIG9uCi0JCSAqIHRoZSBzM2MyNDQwICovCi0KLQkJdWNvbjAgPSBfX3Jhd19yZWFkbChTM0MyNFhYX1ZBX1VBUlQwICsgUzNDMjQxMF9VQ09OKTsKLQkJdWNvbjEgPSBfX3Jhd19yZWFkbChTM0MyNFhYX1ZBX1VBUlQxICsgUzNDMjQxMF9VQ09OKTsKLQkJdWNvbjIgPSBfX3Jhd19yZWFkbChTM0MyNFhYX1ZBX1VBUlQyICsgUzNDMjQxMF9VQ09OKTsKLQotCQlwcmludGsoInVjb25zOiAlMDhseCwgJTA4bHgsICUwOGx4XG4iLCB1Y29uMCwgdWNvbjEsIHVjb24yKTsKLQotCQl1Y29uMCAmPSBTM0MyNDQwX1VDT04wX0RJVk1BU0s7Ci0JCXVjb24xICY9IFMzQzI0NDBfVUNPTjFfRElWTUFTSzsKLQkJdWNvbjIgJj0gUzNDMjQ0MF9VQ09OMl9ESVZNQVNLOwotCi0JCWlmICh1Y29uMCAhPSAwKSB7Ci0JCQljbGstPmRpdmlzb3IgPSB1Y29uMCA+PiBTM0MyNDQwX1VDT05fRElWU0hJRlQ7Ci0JCQljbGstPmRpdmlzb3IgKz0gNjsKLQkJfSBlbHNlIGlmICh1Y29uMSAhPSAwKSB7Ci0JCQljbGstPmRpdmlzb3IgPSB1Y29uMSA+PiBTM0MyNDQwX1VDT05fRElWU0hJRlQ7Ci0JCQljbGstPmRpdmlzb3IgKz0gMjE7Ci0JCX0gZWxzZSBpZiAodWNvbjIgIT0gMCkgewotCQkJY2xrLT5kaXZpc29yID0gdWNvbjIgPj4gUzNDMjQ0MF9VQ09OX0RJVlNISUZUOwotCQkJY2xrLT5kaXZpc29yICs9IDM2OwotCQl9IGVsc2UgewotCQkJLyogbWFudWFsIGNhbGltcyA0NCwgc2VlbXMgdG8gYmUgOSAqLwotCQkJY2xrLT5kaXZpc29yID0gOTsKLQkJfQotCi0JCWNsay0+bmFtZSA9ICJmY2xrIjsKLQkJYnJlYWs7Ci0JfQotCi0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgczNjMjQ0MF9zZXJpYWxfcmVzZXRwb3J0KHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQsCi0JCQkJICAgIHN0cnVjdCBzM2MyNDEwX3VhcnRjZmcgKmNmZykKLXsKLQl1bnNpZ25lZCBsb25nIHVjb24gPSByZF9yZWdsKHBvcnQsIFMzQzI0MTBfVUNPTik7Ci0KLQlkYmcoInMzYzI0NDBfc2VyaWFsX3Jlc2V0cG9ydDogcG9ydD0lcCAoJTA4bHgpLCBjZmc9JXBcbiIsCi0JICAgIHBvcnQsIHBvcnQtPm1hcGJhc2UsIGNmZyk7Ci0KLQkvKiBlbnN1cmUgd2UgZG9uJ3QgY2hhbmdlIHRoZSBjbG9jayBzZXR0aW5ncy4uLiAqLwotCi0JdWNvbiAmPSAoUzNDMjQ0MF9VQ09OMF9ESVZNQVNLIHwgKDM8PDEwKSk7Ci0KLQl3cl9yZWdsKHBvcnQsIFMzQzI0MTBfVUNPTiwgIHVjb24gfCBjZmctPnVjb24pOwotCXdyX3JlZ2wocG9ydCwgUzNDMjQxMF9VTENPTiwgY2ZnLT51bGNvbik7Ci0KLQkvKiByZXNldCBib3RoIGZpZm9zICovCi0KLQl3cl9yZWdsKHBvcnQsIFMzQzI0MTBfVUZDT04sIGNmZy0+dWZjb24gfCBTM0MyNDEwX1VGQ09OX1JFU0VUQk9USCk7Ci0Jd3JfcmVnbChwb3J0LCBTM0MyNDEwX1VGQ09OLCBjZmctPnVmY29uKTsKLQotCXJldHVybiAwOwotfQotCi1zdGF0aWMgc3RydWN0IHMzYzI0eHhfdWFydF9pbmZvIHMzYzI0NDBfdWFydF9pbmYgPSB7Ci0JLm5hbWUJCT0gIlNhbXN1bmcgUzNDMjQ0MCBVQVJUIiwKLQkudHlwZQkJPSBQT1JUX1MzQzI0NDAsCi0JLmZpZm9zaXplCT0gNjQsCi0JLnJ4X2ZpZm9tYXNrCT0gUzNDMjQ0MF9VRlNUQVRfUlhNQVNLLAotCS5yeF9maWZvc2hpZnQJPSBTM0MyNDQwX1VGU1RBVF9SWFNISUZULAotCS5yeF9maWZvZnVsbAk9IFMzQzI0NDBfVUZTVEFUX1JYRlVMTCwKLQkudHhfZmlmb2Z1bGwJPSBTM0MyNDQwX1VGU1RBVF9UWEZVTEwsCi0JLnR4X2ZpZm9tYXNrCT0gUzNDMjQ0MF9VRlNUQVRfVFhNQVNLLAotCS50eF9maWZvc2hpZnQJPSBTM0MyNDQwX1VGU1RBVF9UWFNISUZULAotCS5nZXRfY2xrc3JjCT0gczNjMjQ0MF9zZXJpYWxfZ2V0c291cmNlLAotCS5zZXRfY2xrc3JjCT0gczNjMjQ0MF9zZXJpYWxfc2V0c291cmNlLAotCS5yZXNldF9wb3J0CT0gczNjMjQ0MF9zZXJpYWxfcmVzZXRwb3J0LAotfTsKLQotLyogZGV2aWNlIG1hbmFnZW1lbnQgKi8KLQotc3RhdGljIGludCBzM2MyNDQwX3NlcmlhbF9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpkZXYpCi17Ci0JZGJnKCJzM2MyNDQwX3NlcmlhbF9wcm9iZTogZGV2PSVwXG4iLCBkZXYpOwotCXJldHVybiBzM2MyNHh4X3NlcmlhbF9wcm9iZShkZXYsICZzM2MyNDQwX3VhcnRfaW5mKTsKLX0KLQotc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kcml2ZXIgczNjMjQ0MF9zZXJpYWxfZHJ2ID0gewotCS5wcm9iZQkJPSBzM2MyNDQwX3NlcmlhbF9wcm9iZSwKLQkucmVtb3ZlCQk9IHMzYzI0eHhfc2VyaWFsX3JlbW92ZSwKLQkuc3VzcGVuZAk9IHMzYzI0eHhfc2VyaWFsX3N1c3BlbmQsCi0JLnJlc3VtZQkJPSBzM2MyNHh4X3NlcmlhbF9yZXN1bWUsCi0JLmRyaXZlcgkJPSB7Ci0JCS5uYW1lCT0gInMzYzI0NDAtdWFydCIsCi0JCS5vd25lcgk9IFRISVNfTU9EVUxFLAotCX0sCi19OwotCi0KLXN0YXRpYyBpbmxpbmUgaW50IHMzYzI0NDBfc2VyaWFsX2luaXQodm9pZCkKLXsKLQlyZXR1cm4gczNjMjR4eF9zZXJpYWxfaW5pdCgmczNjMjQ0MF9zZXJpYWxfZHJ2LCAmczNjMjQ0MF91YXJ0X2luZik7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgdm9pZCBzM2MyNDQwX3NlcmlhbF9leGl0KHZvaWQpCi17Ci0JcGxhdGZvcm1fZHJpdmVyX3VucmVnaXN0ZXIoJnMzYzI0NDBfc2VyaWFsX2Rydik7Ci19Ci0KLSNkZWZpbmUgczNjMjQ0MF91YXJ0X2luZl9hdCAmczNjMjQ0MF91YXJ0X2luZgotI2Vsc2UKLQotc3RhdGljIGlubGluZSBpbnQgczNjMjQ0MF9zZXJpYWxfaW5pdCh2b2lkKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW5saW5lIHZvaWQgczNjMjQ0MF9zZXJpYWxfZXhpdCh2b2lkKQotewotfQotCi0jZGVmaW5lIHMzYzI0NDBfdWFydF9pbmZfYXQgTlVMTAotI2VuZGlmIC8qIENPTkZJR19DUFVfUzNDMjQ0MCAqLwotCi0jaWYgZGVmaW5lZChDT05GSUdfQ1BVX1MzQzI0MTIpCi0KLXN0YXRpYyBpbnQgczNjMjQxMl9zZXJpYWxfc2V0c291cmNlKHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQsCi0JCQkJICAgICBzdHJ1Y3QgczNjMjR4eF91YXJ0X2Nsa3NyYyAqY2xrKQotewotCXVuc2lnbmVkIGxvbmcgdWNvbiA9IHJkX3JlZ2wocG9ydCwgUzNDMjQxMF9VQ09OKTsKLQotCXVjb24gJj0gflMzQzI0MTJfVUNPTl9DTEtNQVNLOwotCi0JaWYgKHN0cmNtcChjbGstPm5hbWUsICJ1Y2xrIikgPT0gMCkKLQkJdWNvbiB8PSBTM0MyNDQwX1VDT05fVUNMSzsKLQllbHNlIGlmIChzdHJjbXAoY2xrLT5uYW1lLCAicGNsayIpID09IDApCi0JCXVjb24gfD0gUzNDMjQ0MF9VQ09OX1BDTEs7Ci0JZWxzZSBpZiAoc3RyY21wKGNsay0+bmFtZSwgInVzeXNjbGsiKSA9PSAwKQotCQl1Y29uIHw9IFMzQzI0MTJfVUNPTl9VU1lTQ0xLOwotCWVsc2UgewotCQlwcmludGsoS0VSTl9FUlIgInVua25vd24gY2xvY2sgc291cmNlICVzXG4iLCBjbGstPm5hbWUpOwotCQlyZXR1cm4gLUVJTlZBTDsKLQl9Ci0KLQl3cl9yZWdsKHBvcnQsIFMzQzI0MTBfVUNPTiwgdWNvbik7Ci0JcmV0dXJuIDA7Ci19Ci0KLQotc3RhdGljIGludCBzM2MyNDEyX3NlcmlhbF9nZXRzb3VyY2Uoc3RydWN0IHVhcnRfcG9ydCAqcG9ydCwKLQkJCQkgICAgc3RydWN0IHMzYzI0eHhfdWFydF9jbGtzcmMgKmNsaykKLXsKLQl1bnNpZ25lZCBsb25nIHVjb24gPSByZF9yZWdsKHBvcnQsIFMzQzI0MTBfVUNPTik7Ci0KLQlzd2l0Y2ggKHVjb24gJiBTM0MyNDEyX1VDT05fQ0xLTUFTSykgewotCWNhc2UgUzNDMjQxMl9VQ09OX1VDTEs6Ci0JCWNsay0+ZGl2aXNvciA9IDE7Ci0JCWNsay0+bmFtZSA9ICJ1Y2xrIjsKLQkJYnJlYWs7Ci0KLQljYXNlIFMzQzI0MTJfVUNPTl9QQ0xLOgotCWNhc2UgUzNDMjQxMl9VQ09OX1BDTEsyOgotCQljbGstPmRpdmlzb3IgPSAxOwotCQljbGstPm5hbWUgPSAicGNsayI7Ci0JCWJyZWFrOwotCi0JY2FzZSBTM0MyNDEyX1VDT05fVVNZU0NMSzoKLQkJY2xrLT5kaXZpc29yID0gMTsKLQkJY2xrLT5uYW1lID0gInVzeXNjbGsiOwotCQlicmVhazsKLQl9Ci0KLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBzM2MyNDEyX3NlcmlhbF9yZXNldHBvcnQoc3RydWN0IHVhcnRfcG9ydCAqcG9ydCwKLQkJCQkgICAgc3RydWN0IHMzYzI0MTBfdWFydGNmZyAqY2ZnKQotewotCXVuc2lnbmVkIGxvbmcgdWNvbiA9IHJkX3JlZ2wocG9ydCwgUzNDMjQxMF9VQ09OKTsKLQotCWRiZygiJXM6IHBvcnQ9JXAgKCUwOGx4KSwgY2ZnPSVwXG4iLAotCSAgICBfX2Z1bmNfXywgcG9ydCwgcG9ydC0+bWFwYmFzZSwgY2ZnKTsKLQotCS8qIGVuc3VyZSB3ZSBkb24ndCBjaGFuZ2UgdGhlIGNsb2NrIHNldHRpbmdzLi4uICovCi0KLQl1Y29uICY9IFMzQzI0MTJfVUNPTl9DTEtNQVNLOwotCi0Jd3JfcmVnbChwb3J0LCBTM0MyNDEwX1VDT04sICB1Y29uIHwgY2ZnLT51Y29uKTsKLQl3cl9yZWdsKHBvcnQsIFMzQzI0MTBfVUxDT04sIGNmZy0+dWxjb24pOwotCi0JLyogcmVzZXQgYm90aCBmaWZvcyAqLwotCi0Jd3JfcmVnbChwb3J0LCBTM0MyNDEwX1VGQ09OLCBjZmctPnVmY29uIHwgUzNDMjQxMF9VRkNPTl9SRVNFVEJPVEgpOwotCXdyX3JlZ2wocG9ydCwgUzNDMjQxMF9VRkNPTiwgY2ZnLT51ZmNvbik7Ci0KLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIHN0cnVjdCBzM2MyNHh4X3VhcnRfaW5mbyBzM2MyNDEyX3VhcnRfaW5mID0gewotCS5uYW1lCQk9ICJTYW1zdW5nIFMzQzI0MTIgVUFSVCIsCi0JLnR5cGUJCT0gUE9SVF9TM0MyNDEyLAotCS5maWZvc2l6ZQk9IDY0LAotCS5yeF9maWZvbWFzawk9IFMzQzI0NDBfVUZTVEFUX1JYTUFTSywKLQkucnhfZmlmb3NoaWZ0CT0gUzNDMjQ0MF9VRlNUQVRfUlhTSElGVCwKLQkucnhfZmlmb2Z1bGwJPSBTM0MyNDQwX1VGU1RBVF9SWEZVTEwsCi0JLnR4X2ZpZm9mdWxsCT0gUzNDMjQ0MF9VRlNUQVRfVFhGVUxMLAotCS50eF9maWZvbWFzawk9IFMzQzI0NDBfVUZTVEFUX1RYTUFTSywKLQkudHhfZmlmb3NoaWZ0CT0gUzNDMjQ0MF9VRlNUQVRfVFhTSElGVCwKLQkuZ2V0X2Nsa3NyYwk9IHMzYzI0MTJfc2VyaWFsX2dldHNvdXJjZSwKLQkuc2V0X2Nsa3NyYwk9IHMzYzI0MTJfc2VyaWFsX3NldHNvdXJjZSwKLQkucmVzZXRfcG9ydAk9IHMzYzI0MTJfc2VyaWFsX3Jlc2V0cG9ydCwKLX07Ci0KLS8qIGRldmljZSBtYW5hZ2VtZW50ICovCi0KLXN0YXRpYyBpbnQgczNjMjQxMl9zZXJpYWxfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqZGV2KQotewotCWRiZygiczNjMjQ0MF9zZXJpYWxfcHJvYmU6IGRldj0lcFxuIiwgZGV2KTsKLQlyZXR1cm4gczNjMjR4eF9zZXJpYWxfcHJvYmUoZGV2LCAmczNjMjQxMl91YXJ0X2luZik7Ci19Ci0KLXN0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVyIHMzYzI0MTJfc2VyaWFsX2RydiA9IHsKLQkucHJvYmUJCT0gczNjMjQxMl9zZXJpYWxfcHJvYmUsCi0JLnJlbW92ZQkJPSBzM2MyNHh4X3NlcmlhbF9yZW1vdmUsCi0JLnN1c3BlbmQJPSBzM2MyNHh4X3NlcmlhbF9zdXNwZW5kLAotCS5yZXN1bWUJCT0gczNjMjR4eF9zZXJpYWxfcmVzdW1lLAotCS5kcml2ZXIJCT0gewotCQkubmFtZQk9ICJzM2MyNDEyLXVhcnQiLAotCQkub3duZXIJPSBUSElTX01PRFVMRSwKLQl9LAotfTsKLQotCi1zdGF0aWMgaW5saW5lIGludCBzM2MyNDEyX3NlcmlhbF9pbml0KHZvaWQpCi17Ci0JcmV0dXJuIHMzYzI0eHhfc2VyaWFsX2luaXQoJnMzYzI0MTJfc2VyaWFsX2RydiwgJnMzYzI0MTJfdWFydF9pbmYpOwotfQotCi1zdGF0aWMgaW5saW5lIHZvaWQgczNjMjQxMl9zZXJpYWxfZXhpdCh2b2lkKQotewotCXBsYXRmb3JtX2RyaXZlcl91bnJlZ2lzdGVyKCZzM2MyNDEyX3NlcmlhbF9kcnYpOwotfQotCi0jZGVmaW5lIHMzYzI0MTJfdWFydF9pbmZfYXQgJnMzYzI0MTJfdWFydF9pbmYKLSNlbHNlCi0KLXN0YXRpYyBpbmxpbmUgaW50IHMzYzI0MTJfc2VyaWFsX2luaXQodm9pZCkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGlubGluZSB2b2lkIHMzYzI0MTJfc2VyaWFsX2V4aXQodm9pZCkKLXsKLX0KLQotI2RlZmluZSBzM2MyNDEyX3VhcnRfaW5mX2F0IE5VTEwKLSNlbmRpZiAvKiBDT05GSUdfQ1BVX1MzQzI0NDAgKi8KLQotCi0vKiBtb2R1bGUgaW5pdGlhbGlzYXRpb24gY29kZSAqLwotCi1zdGF0aWMgaW50IF9faW5pdCBzM2MyNHh4X3NlcmlhbF9tb2Rpbml0KHZvaWQpCi17Ci0JaW50IHJldDsKLQotCXJldCA9IHVhcnRfcmVnaXN0ZXJfZHJpdmVyKCZzM2MyNHh4X3VhcnRfZHJ2KTsKLQlpZiAocmV0IDwgMCkgewotCQlwcmludGsoS0VSTl9FUlIgImZhaWxlZCB0byByZWdpc3RlciBVQVJUIGRyaXZlclxuIik7Ci0JCXJldHVybiAtMTsKLQl9Ci0KLQlzM2MyNDAwX3NlcmlhbF9pbml0KCk7Ci0JczNjMjQxMF9zZXJpYWxfaW5pdCgpOwotCXMzYzI0MTJfc2VyaWFsX2luaXQoKTsKLQlzM2MyNDQwX3NlcmlhbF9pbml0KCk7Ci0KLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIHZvaWQgX19leGl0IHMzYzI0eHhfc2VyaWFsX21vZGV4aXQodm9pZCkKLXsKLQlzM2MyNDAwX3NlcmlhbF9leGl0KCk7Ci0JczNjMjQxMF9zZXJpYWxfZXhpdCgpOwotCXMzYzI0MTJfc2VyaWFsX2V4aXQoKTsKLQlzM2MyNDQwX3NlcmlhbF9leGl0KCk7Ci0KLQl1YXJ0X3VucmVnaXN0ZXJfZHJpdmVyKCZzM2MyNHh4X3VhcnRfZHJ2KTsKLX0KLQotCi1tb2R1bGVfaW5pdChzM2MyNHh4X3NlcmlhbF9tb2Rpbml0KTsKLW1vZHVsZV9leGl0KHMzYzI0eHhfc2VyaWFsX21vZGV4aXQpOwotCi0vKiBDb25zb2xlIGNvZGUgKi8KLQotI2lmZGVmIENPTkZJR19TRVJJQUxfUzNDMjQxMF9DT05TT0xFCi0KLXN0YXRpYyBzdHJ1Y3QgdWFydF9wb3J0ICpjb25zX3VhcnQ7Ci0KLXN0YXRpYyBpbnQKLXMzYzI0eHhfc2VyaWFsX2NvbnNvbGVfdHhyZHkoc3RydWN0IHVhcnRfcG9ydCAqcG9ydCwgdW5zaWduZWQgaW50IHVmY29uKQotewotCXN0cnVjdCBzM2MyNHh4X3VhcnRfaW5mbyAqaW5mbyA9IHMzYzI0eHhfcG9ydF90b19pbmZvKHBvcnQpOwotCXVuc2lnbmVkIGxvbmcgdWZzdGF0LCB1dHJzdGF0OwotCi0JaWYgKHVmY29uICYgUzNDMjQxMF9VRkNPTl9GSUZPTU9ERSkgewotCQkvKiBmaWZvIG1vZGUgLSBjaGVjayBhbW1vdW50IG9mIGRhdGEgaW4gZmlmbyByZWdpc3RlcnMuLi4gKi8KLQotCQl1ZnN0YXQgPSByZF9yZWdsKHBvcnQsIFMzQzI0MTBfVUZTVEFUKTsKLQkJcmV0dXJuICh1ZnN0YXQgJiBpbmZvLT50eF9maWZvZnVsbCkgPyAwIDogMTsKLQl9Ci0KLQkvKiBpbiBub24tZmlmbyBtb2RlLCB3ZSBnbyBhbmQgdXNlIHRoZSB0eCBidWZmZXIgZW1wdHkgKi8KLQotCXV0cnN0YXQgPSByZF9yZWdsKHBvcnQsIFMzQzI0MTBfVVRSU1RBVCk7Ci0JcmV0dXJuICh1dHJzdGF0ICYgUzNDMjQxMF9VVFJTVEFUX1RYRSkgPyAxIDogMDsKLX0KLQotc3RhdGljIHZvaWQKLXMzYzI0eHhfc2VyaWFsX2NvbnNvbGVfcHV0Y2hhcihzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0LCBpbnQgY2gpCi17Ci0JdW5zaWduZWQgaW50IHVmY29uID0gcmRfcmVnbChjb25zX3VhcnQsIFMzQzI0MTBfVUZDT04pOwotCXdoaWxlICghczNjMjR4eF9zZXJpYWxfY29uc29sZV90eHJkeShwb3J0LCB1ZmNvbikpCi0JCWJhcnJpZXIoKTsKLQl3cl9yZWdiKGNvbnNfdWFydCwgUzNDMjQxMF9VVFhILCBjaCk7Ci19Ci0KLXN0YXRpYyB2b2lkCi1zM2MyNHh4X3NlcmlhbF9jb25zb2xlX3dyaXRlKHN0cnVjdCBjb25zb2xlICpjbywgY29uc3QgY2hhciAqcywKLQkJCSAgICAgdW5zaWduZWQgaW50IGNvdW50KQotewotCXVhcnRfY29uc29sZV93cml0ZShjb25zX3VhcnQsIHMsIGNvdW50LCBzM2MyNHh4X3NlcmlhbF9jb25zb2xlX3B1dGNoYXIpOwotfQotCi1zdGF0aWMgdm9pZCBfX2luaXQKLXMzYzI0eHhfc2VyaWFsX2dldF9vcHRpb25zKHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQsIGludCAqYmF1ZCwKLQkJCSAgIGludCAqcGFyaXR5LCBpbnQgKmJpdHMpCi17Ci0Jc3RydWN0IHMzYzI0eHhfdWFydF9jbGtzcmMgY2xrc3JjOwotCXN0cnVjdCBjbGsgKmNsazsKLQl1bnNpZ25lZCBpbnQgdWxjb247Ci0JdW5zaWduZWQgaW50IHVjb247Ci0JdW5zaWduZWQgaW50IHVicmRpdjsKLQl1bnNpZ25lZCBsb25nIHJhdGU7Ci0KLQl1bGNvbiAgPSByZF9yZWdsKHBvcnQsIFMzQzI0MTBfVUxDT04pOwotCXVjb24gICA9IHJkX3JlZ2wocG9ydCwgUzNDMjQxMF9VQ09OKTsKLQl1YnJkaXYgPSByZF9yZWdsKHBvcnQsIFMzQzI0MTBfVUJSRElWKTsKLQotCWRiZygiczNjMjR4eF9zZXJpYWxfZ2V0X29wdGlvbnM6IHBvcnQ9JXBcbiIKLQkgICAgInJlZ2lzdGVyczogdWxjb249JTA4eCwgdWNvbj0lMDh4LCB1YmRyaXY9JTA4eFxuIiwKLQkgICAgcG9ydCwgdWxjb24sIHVjb24sIHVicmRpdik7Ci0KLQlpZiAoKHVjb24gJiAweGYpICE9IDApIHsKLQkJLyogY29uc2lkZXIgdGhlIHNlcmlhbCBwb3J0IGNvbmZpZ3VyZWQgaWYgdGhlIHR4L3J4IG1vZGUgc2V0ICovCi0KLQkJc3dpdGNoICh1bGNvbiAmIFMzQzI0MTBfTENPTl9DU01BU0spIHsKLQkJY2FzZSBTM0MyNDEwX0xDT05fQ1M1OgotCQkJKmJpdHMgPSA1OwotCQkJYnJlYWs7Ci0JCWNhc2UgUzNDMjQxMF9MQ09OX0NTNjoKLQkJCSpiaXRzID0gNjsKLQkJCWJyZWFrOwotCQljYXNlIFMzQzI0MTBfTENPTl9DUzc6Ci0JCQkqYml0cyA9IDc7Ci0JCQlicmVhazsKLQkJZGVmYXVsdDoKLQkJY2FzZSBTM0MyNDEwX0xDT05fQ1M4OgotCQkJKmJpdHMgPSA4OwotCQkJYnJlYWs7Ci0JCX0KLQotCQlzd2l0Y2ggKHVsY29uICYgUzNDMjQxMF9MQ09OX1BNQVNLKSB7Ci0JCWNhc2UgUzNDMjQxMF9MQ09OX1BFVkVOOgotCQkJKnBhcml0eSA9ICdlJzsKLQkJCWJyZWFrOwotCi0JCWNhc2UgUzNDMjQxMF9MQ09OX1BPREQ6Ci0JCQkqcGFyaXR5ID0gJ28nOwotCQkJYnJlYWs7Ci0KLQkJY2FzZSBTM0MyNDEwX0xDT05fUE5PTkU6Ci0JCWRlZmF1bHQ6Ci0JCQkqcGFyaXR5ID0gJ24nOwotCQl9Ci0KLQkJLyogbm93IGNhbGN1bGF0ZSB0aGUgYmF1ZCByYXRlICovCi0KLQkJczNjMjR4eF9zZXJpYWxfZ2V0c291cmNlKHBvcnQsICZjbGtzcmMpOwotCi0JCWNsayA9IGNsa19nZXQocG9ydC0+ZGV2LCBjbGtzcmMubmFtZSk7Ci0JCWlmICghSVNfRVJSKGNsaykgJiYgY2xrICE9IE5VTEwpCi0JCQlyYXRlID0gY2xrX2dldF9yYXRlKGNsaykgLyBjbGtzcmMuZGl2aXNvcjsKLQkJZWxzZQotCQkJcmF0ZSA9IDE7Ci0KLQotCQkqYmF1ZCA9IHJhdGUgLyAoIDE2ICogKHVicmRpdiArIDEpKTsKLQkJZGJnKCJjYWxjdWxhdGVkIGJhdWQgJWRcbiIsICpiYXVkKTsKLQl9Ci0KLX0KLQotLyogczNjMjR4eF9zZXJpYWxfaW5pdF9wb3J0cwotICoKLSAqIGluaXRpYWxpc2UgdGhlIHNlcmlhbCBwb3J0cyBmcm9tIHRoZSBtYWNoaW5lIHByb3ZpZGVkIGluaXRpYWxpc2F0aW9uCi0gKiBkYXRhLgotKi8KLQotc3RhdGljIGludCBzM2MyNHh4X3NlcmlhbF9pbml0X3BvcnRzKHN0cnVjdCBzM2MyNHh4X3VhcnRfaW5mbyAqaW5mbykKLXsKLQlzdHJ1Y3QgczNjMjR4eF91YXJ0X3BvcnQgKnB0ciA9IHMzYzI0eHhfc2VyaWFsX3BvcnRzOwotCXN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKipwbGF0ZGV2X3B0cjsKLQlpbnQgaTsKLQotCWRiZygiczNjMjR4eF9zZXJpYWxfaW5pdF9wb3J0czogaW5pdGlhbGlzaW5nIHBvcnRzLi4uXG4iKTsKLQotCXBsYXRkZXZfcHRyID0gczNjMjR4eF91YXJ0X2RldnM7Ci0KLQlmb3IgKGkgPSAwOyBpIDwgTlJfUE9SVFM7IGkrKywgcHRyKyssIHBsYXRkZXZfcHRyKyspIHsKLQkJczNjMjR4eF9zZXJpYWxfaW5pdF9wb3J0KHB0ciwgaW5mbywgKnBsYXRkZXZfcHRyKTsKLQl9Ci0KLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBfX2luaXQKLXMzYzI0eHhfc2VyaWFsX2NvbnNvbGVfc2V0dXAoc3RydWN0IGNvbnNvbGUgKmNvLCBjaGFyICpvcHRpb25zKQotewotCXN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQ7Ci0JaW50IGJhdWQgPSA5NjAwOwotCWludCBiaXRzID0gODsKLQlpbnQgcGFyaXR5ID0gJ24nOwotCWludCBmbG93ID0gJ24nOwotCi0JZGJnKCJzM2MyNHh4X3NlcmlhbF9jb25zb2xlX3NldHVwOiBjbz0lcCAoJWQpLCAlc1xuIiwKLQkgICAgY28sIGNvLT5pbmRleCwgb3B0aW9ucyk7Ci0KLQkvKiBpcyB0aGlzIGEgdmFsaWQgcG9ydCAqLwotCi0JaWYgKGNvLT5pbmRleCA9PSAtMSB8fCBjby0+aW5kZXggPj0gTlJfUE9SVFMpCi0JCWNvLT5pbmRleCA9IDA7Ci0KLQlwb3J0ID0gJnMzYzI0eHhfc2VyaWFsX3BvcnRzW2NvLT5pbmRleF0ucG9ydDsKLQotCS8qIGlzIHRoZSBwb3J0IGNvbmZpZ3VyZWQ/ICovCi0KLQlpZiAocG9ydC0+bWFwYmFzZSA9PSAweDApIHsKLQkJY28tPmluZGV4ID0gMDsKLQkJcG9ydCA9ICZzM2MyNHh4X3NlcmlhbF9wb3J0c1tjby0+aW5kZXhdLnBvcnQ7Ci0JfQotCi0JY29uc191YXJ0ID0gcG9ydDsKLQotCWRiZygiczNjMjR4eF9zZXJpYWxfY29uc29sZV9zZXR1cDogcG9ydD0lcCAoJWQpXG4iLCBwb3J0LCBjby0+aW5kZXgpOwotCi0JLyoKLQkgKiBDaGVjayB3aGV0aGVyIGFuIGludmFsaWQgdWFydCBudW1iZXIgaGFzIGJlZW4gc3BlY2lmaWVkLCBhbmQKLQkgKiBpZiBzbywgc2VhcmNoIGZvciB0aGUgZmlyc3QgYXZhaWxhYmxlIHBvcnQgdGhhdCBkb2VzIGhhdmUKLQkgKiBjb25zb2xlIHN1cHBvcnQuCi0JICovCi0JaWYgKG9wdGlvbnMpCi0JCXVhcnRfcGFyc2Vfb3B0aW9ucyhvcHRpb25zLCAmYmF1ZCwgJnBhcml0eSwgJmJpdHMsICZmbG93KTsKLQllbHNlCi0JCXMzYzI0eHhfc2VyaWFsX2dldF9vcHRpb25zKHBvcnQsICZiYXVkLCAmcGFyaXR5LCAmYml0cyk7Ci0KLQlkYmcoInMzYzI0eHhfc2VyaWFsX2NvbnNvbGVfc2V0dXA6IGJhdWQgJWRcbiIsIGJhdWQpOwotCi0JcmV0dXJuIHVhcnRfc2V0X29wdGlvbnMocG9ydCwgY28sIGJhdWQsIHBhcml0eSwgYml0cywgZmxvdyk7Ci19Ci0KLS8qIHMzYzI0eHhfc2VyaWFsX2luaXRjb25zb2xlCi0gKgotICogaW5pdGlhbGlzZSB0aGUgY29uc29sZSBmcm9tIG9uZSBvZiB0aGUgdWFydCBkcml2ZXJzCi0qLwotCi1zdGF0aWMgc3RydWN0IGNvbnNvbGUgczNjMjR4eF9zZXJpYWxfY29uc29sZSA9Ci17Ci0JLm5hbWUJCT0gUzNDMjRYWF9TRVJJQUxfTkFNRSwKLQkuZGV2aWNlCQk9IHVhcnRfY29uc29sZV9kZXZpY2UsCi0JLmZsYWdzCQk9IENPTl9QUklOVEJVRkZFUiwKLQkuaW5kZXgJCT0gLTEsCi0JLndyaXRlCQk9IHMzYzI0eHhfc2VyaWFsX2NvbnNvbGVfd3JpdGUsCi0JLnNldHVwCQk9IHMzYzI0eHhfc2VyaWFsX2NvbnNvbGVfc2V0dXAKLX07Ci0KLXN0YXRpYyBpbnQgczNjMjR4eF9zZXJpYWxfaW5pdGNvbnNvbGUodm9pZCkKLXsKLQlzdHJ1Y3QgczNjMjR4eF91YXJ0X2luZm8gKmluZm87Ci0Jc3RydWN0IHBsYXRmb3JtX2RldmljZSAqZGV2ID0gczNjMjR4eF91YXJ0X2RldnNbMF07Ci0KLQlkYmcoInMzYzI0eHhfc2VyaWFsX2luaXRjb25zb2xlXG4iKTsKLQotCS8qIHNlbGVjdCBkcml2ZXIgYmFzZWQgb24gdGhlIGNwdSAqLwotCi0JaWYgKGRldiA9PSBOVUxMKSB7Ci0JCXByaW50ayhLRVJOX0VSUiAiczNjMjR4eDogbm8gZGV2aWNlcyBmb3IgY29uc29sZSBpbml0XG4iKTsKLQkJcmV0dXJuIDA7Ci0JfQotCi0JaWYgKHN0cmNtcChkZXYtPm5hbWUsICJzM2MyNDAwLXVhcnQiKSA9PSAwKSB7Ci0JCWluZm8gPSBzM2MyNDAwX3VhcnRfaW5mX2F0OwotCX0gZWxzZSBpZiAoc3RyY21wKGRldi0+bmFtZSwgInMzYzI0MTAtdWFydCIpID09IDApIHsKLQkJaW5mbyA9IHMzYzI0MTBfdWFydF9pbmZfYXQ7Ci0JfSBlbHNlIGlmIChzdHJjbXAoZGV2LT5uYW1lLCAiczNjMjQ0MC11YXJ0IikgPT0gMCkgewotCQlpbmZvID0gczNjMjQ0MF91YXJ0X2luZl9hdDsKLQl9IGVsc2UgaWYgKHN0cmNtcChkZXYtPm5hbWUsICJzM2MyNDEyLXVhcnQiKSA9PSAwKSB7Ci0JCWluZm8gPSBzM2MyNDEyX3VhcnRfaW5mX2F0OwotCX0gZWxzZSB7Ci0JCXByaW50ayhLRVJOX0VSUiAiczNjMjR4eDogbm8gZHJpdmVyIGZvciAlc1xuIiwgZGV2LT5uYW1lKTsKLQkJcmV0dXJuIDA7Ci0JfQotCi0JaWYgKGluZm8gPT0gTlVMTCkgewotCQlwcmludGsoS0VSTl9FUlIgInMzYzI0eHg6IG5vIGRyaXZlciBmb3IgY29uc29sZVxuIik7Ci0JCXJldHVybiAwOwotCX0KLQotCXMzYzI0eHhfc2VyaWFsX2NvbnNvbGUuZGF0YSA9ICZzM2MyNHh4X3VhcnRfZHJ2OwotCXMzYzI0eHhfc2VyaWFsX2luaXRfcG9ydHMoaW5mbyk7Ci0KLQlyZWdpc3Rlcl9jb25zb2xlKCZzM2MyNHh4X3NlcmlhbF9jb25zb2xlKTsKLQlyZXR1cm4gMDsKLX0KLQotY29uc29sZV9pbml0Y2FsbChzM2MyNHh4X3NlcmlhbF9pbml0Y29uc29sZSk7Ci0KLSNlbmRpZiAvKiBDT05GSUdfU0VSSUFMX1MzQzI0MTBfQ09OU09MRSAqLwotCi1NT0RVTEVfTElDRU5TRSgiR1BMIik7CitNT0RVTEVfTElDRU5TRSgiR1BMIHYyIik7CiBNT0RVTEVfQVVUSE9SKCJCZW4gRG9va3MgPGJlbkBzaW10ZWMuY28udWs+Iik7Ci1NT0RVTEVfREVTQ1JJUFRJT04oIlNhbXN1bmcgUzNDMjQxMC9TM0MyNDQwL1MzQzI0MTIgU2VyaWFsIHBvcnQgZHJpdmVyIik7Ci1NT0RVTEVfQUxJQVMoInBsYXRmb3JtOnMzYzI0MDAtdWFydCIpOworTU9EVUxFX0RFU0NSSVBUSU9OKCJTYW1zdW5nIFMzQzI0MTAgU29DIFNlcmlhbCBwb3J0IGRyaXZlciIpOwogTU9EVUxFX0FMSUFTKCJwbGF0Zm9ybTpzM2MyNDEwLXVhcnQiKTsKLU1PRFVMRV9BTElBUygicGxhdGZvcm06czNjMjQxMi11YXJ0Iik7Ci1NT0RVTEVfQUxJQVMoInBsYXRmb3JtOnMzYzI0NDAtdWFydCIpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zZXJpYWwvczNjMjQxMi5jIGIvZHJpdmVycy9zZXJpYWwvczNjMjQxMi5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNlMGMyMjAKLS0tIC9kZXYvbnVsbAorKysgYi9kcml2ZXJzL3NlcmlhbC9zM2MyNDEyLmMKQEAgLTAsMCArMSwxNTEgQEAKKy8qIGxpbnV4L2RyaXZlcnMvc2VyaWFsL3MzYzI0MTIuYworICoKKyAqIERyaXZlciBmb3IgU2Ftc3VuZyBTM0MyNDEyIGFuZCBTM0MyNDEzIFNvQyBvbmJvYXJkIFVBUlRzLgorICoKKyAqIEJlbiBEb29rcywgQ29weXJpZ2h0IChjKSAyMDAzLTIwMDUsMjAwOCBTaW10ZWMgRWxlY3Ryb25pY3MKKyAqCWh0dHA6Ly9hcm1saW51eC5zaW10ZWMuY28udWsvCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCisgKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyovCisKKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9pb3BvcnQuaD4KKyNpbmNsdWRlIDxsaW51eC9pby5oPgorI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9zZXJpYWxfY29yZS5oPgorI2luY2x1ZGUgPGxpbnV4L3NlcmlhbC5oPgorCisjaW5jbHVkZSA8YXNtL2lycS5oPgorI2luY2x1ZGUgPGFzbS9oYXJkd2FyZS5oPgorCisjaW5jbHVkZSA8YXNtL3BsYXQtczNjL3JlZ3Mtc2VyaWFsLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvcmVncy1ncGlvLmg+CisKKyNpbmNsdWRlICJzYW1zdW5nLmgiCisKK3N0YXRpYyBpbnQgczNjMjQxMl9zZXJpYWxfc2V0c291cmNlKHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQsCisJCQkJICAgICBzdHJ1Y3QgczNjMjR4eF91YXJ0X2Nsa3NyYyAqY2xrKQoreworCXVuc2lnbmVkIGxvbmcgdWNvbiA9IHJkX3JlZ2wocG9ydCwgUzNDMjQxMF9VQ09OKTsKKworCXVjb24gJj0gflMzQzI0MTJfVUNPTl9DTEtNQVNLOworCisJaWYgKHN0cmNtcChjbGstPm5hbWUsICJ1Y2xrIikgPT0gMCkKKwkJdWNvbiB8PSBTM0MyNDQwX1VDT05fVUNMSzsKKwllbHNlIGlmIChzdHJjbXAoY2xrLT5uYW1lLCAicGNsayIpID09IDApCisJCXVjb24gfD0gUzNDMjQ0MF9VQ09OX1BDTEs7CisJZWxzZSBpZiAoc3RyY21wKGNsay0+bmFtZSwgInVzeXNjbGsiKSA9PSAwKQorCQl1Y29uIHw9IFMzQzI0MTJfVUNPTl9VU1lTQ0xLOworCWVsc2UgeworCQlwcmludGsoS0VSTl9FUlIgInVua25vd24gY2xvY2sgc291cmNlICVzXG4iLCBjbGstPm5hbWUpOworCQlyZXR1cm4gLUVJTlZBTDsKKwl9CisKKwl3cl9yZWdsKHBvcnQsIFMzQzI0MTBfVUNPTiwgdWNvbik7CisJcmV0dXJuIDA7Cit9CisKKworc3RhdGljIGludCBzM2MyNDEyX3NlcmlhbF9nZXRzb3VyY2Uoc3RydWN0IHVhcnRfcG9ydCAqcG9ydCwKKwkJCQkgICAgc3RydWN0IHMzYzI0eHhfdWFydF9jbGtzcmMgKmNsaykKK3sKKwl1bnNpZ25lZCBsb25nIHVjb24gPSByZF9yZWdsKHBvcnQsIFMzQzI0MTBfVUNPTik7CisKKwlzd2l0Y2ggKHVjb24gJiBTM0MyNDEyX1VDT05fQ0xLTUFTSykgeworCWNhc2UgUzNDMjQxMl9VQ09OX1VDTEs6CisJCWNsay0+ZGl2aXNvciA9IDE7CisJCWNsay0+bmFtZSA9ICJ1Y2xrIjsKKwkJYnJlYWs7CisKKwljYXNlIFMzQzI0MTJfVUNPTl9QQ0xLOgorCWNhc2UgUzNDMjQxMl9VQ09OX1BDTEsyOgorCQljbGstPmRpdmlzb3IgPSAxOworCQljbGstPm5hbWUgPSAicGNsayI7CisJCWJyZWFrOworCisJY2FzZSBTM0MyNDEyX1VDT05fVVNZU0NMSzoKKwkJY2xrLT5kaXZpc29yID0gMTsKKwkJY2xrLT5uYW1lID0gInVzeXNjbGsiOworCQlicmVhazsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBzM2MyNDEyX3NlcmlhbF9yZXNldHBvcnQoc3RydWN0IHVhcnRfcG9ydCAqcG9ydCwKKwkJCQkgICAgc3RydWN0IHMzYzI0MTBfdWFydGNmZyAqY2ZnKQoreworCXVuc2lnbmVkIGxvbmcgdWNvbiA9IHJkX3JlZ2wocG9ydCwgUzNDMjQxMF9VQ09OKTsKKworCWRiZygiJXM6IHBvcnQ9JXAgKCUwOGx4KSwgY2ZnPSVwXG4iLAorCSAgICBfX2Z1bmNfXywgcG9ydCwgcG9ydC0+bWFwYmFzZSwgY2ZnKTsKKworCS8qIGVuc3VyZSB3ZSBkb24ndCBjaGFuZ2UgdGhlIGNsb2NrIHNldHRpbmdzLi4uICovCisKKwl1Y29uICY9IFMzQzI0MTJfVUNPTl9DTEtNQVNLOworCisJd3JfcmVnbChwb3J0LCBTM0MyNDEwX1VDT04sICB1Y29uIHwgY2ZnLT51Y29uKTsKKwl3cl9yZWdsKHBvcnQsIFMzQzI0MTBfVUxDT04sIGNmZy0+dWxjb24pOworCisJLyogcmVzZXQgYm90aCBmaWZvcyAqLworCisJd3JfcmVnbChwb3J0LCBTM0MyNDEwX1VGQ09OLCBjZmctPnVmY29uIHwgUzNDMjQxMF9VRkNPTl9SRVNFVEJPVEgpOworCXdyX3JlZ2wocG9ydCwgUzNDMjQxMF9VRkNPTiwgY2ZnLT51ZmNvbik7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHN0cnVjdCBzM2MyNHh4X3VhcnRfaW5mbyBzM2MyNDEyX3VhcnRfaW5mID0geworCS5uYW1lCQk9ICJTYW1zdW5nIFMzQzI0MTIgVUFSVCIsCisJLnR5cGUJCT0gUE9SVF9TM0MyNDEyLAorCS5maWZvc2l6ZQk9IDY0LAorCS5yeF9maWZvbWFzawk9IFMzQzI0NDBfVUZTVEFUX1JYTUFTSywKKwkucnhfZmlmb3NoaWZ0CT0gUzNDMjQ0MF9VRlNUQVRfUlhTSElGVCwKKwkucnhfZmlmb2Z1bGwJPSBTM0MyNDQwX1VGU1RBVF9SWEZVTEwsCisJLnR4X2ZpZm9mdWxsCT0gUzNDMjQ0MF9VRlNUQVRfVFhGVUxMLAorCS50eF9maWZvbWFzawk9IFMzQzI0NDBfVUZTVEFUX1RYTUFTSywKKwkudHhfZmlmb3NoaWZ0CT0gUzNDMjQ0MF9VRlNUQVRfVFhTSElGVCwKKwkuZ2V0X2Nsa3NyYwk9IHMzYzI0MTJfc2VyaWFsX2dldHNvdXJjZSwKKwkuc2V0X2Nsa3NyYwk9IHMzYzI0MTJfc2VyaWFsX3NldHNvdXJjZSwKKwkucmVzZXRfcG9ydAk9IHMzYzI0MTJfc2VyaWFsX3Jlc2V0cG9ydCwKK307CisKKy8qIGRldmljZSBtYW5hZ2VtZW50ICovCisKK3N0YXRpYyBpbnQgczNjMjQxMl9zZXJpYWxfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqZGV2KQoreworCWRiZygiczNjMjQ0MF9zZXJpYWxfcHJvYmU6IGRldj0lcFxuIiwgZGV2KTsKKwlyZXR1cm4gczNjMjR4eF9zZXJpYWxfcHJvYmUoZGV2LCAmczNjMjQxMl91YXJ0X2luZik7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVyIHMzYzI0MTJfc2VyaWFsX2RydiA9IHsKKwkucHJvYmUJCT0gczNjMjQxMl9zZXJpYWxfcHJvYmUsCisJLnJlbW92ZQkJPSBzM2MyNHh4X3NlcmlhbF9yZW1vdmUsCisJLmRyaXZlcgkJPSB7CisJCS5uYW1lCT0gInMzYzI0MTItdWFydCIsCisJCS5vd25lcgk9IFRISVNfTU9EVUxFLAorCX0sCit9OworCitzM2MyNHh4X2NvbnNvbGVfaW5pdCgmczNjMjQxMl9zZXJpYWxfZHJ2LCAmczNjMjQxMl91YXJ0X2luZik7CisKK3N0YXRpYyBpbmxpbmUgaW50IHMzYzI0MTJfc2VyaWFsX2luaXQodm9pZCkKK3sKKwlyZXR1cm4gczNjMjR4eF9zZXJpYWxfaW5pdCgmczNjMjQxMl9zZXJpYWxfZHJ2LCAmczNjMjQxMl91YXJ0X2luZik7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBzM2MyNDEyX3NlcmlhbF9leGl0KHZvaWQpCit7CisJcGxhdGZvcm1fZHJpdmVyX3VucmVnaXN0ZXIoJnMzYzI0MTJfc2VyaWFsX2Rydik7Cit9CisKK21vZHVsZV9pbml0KHMzYzI0MTJfc2VyaWFsX2luaXQpOworbW9kdWxlX2V4aXQoczNjMjQxMl9zZXJpYWxfZXhpdCk7CisKK01PRFVMRV9ERVNDUklQVElPTigiU2Ftc3VuZyBTM0MyNDEyLFMzQzI0MTMgU29DIFNlcmlhbCBwb3J0IGRyaXZlciIpOworTU9EVUxFX0FVVEhPUigiQmVuIERvb2tzIDxiZW5Ac2ltdGVjLmNvLnVrPiIpOworTU9EVUxFX0xJQ0VOU0UoIkdQTCB2MiIpOworTU9EVUxFX0FMSUFTKCJwbGF0Zm9ybTpzM2MyNDEyLXVhcnQiKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvc2VyaWFsL3MzYzI0NDAuYyBiL2RyaXZlcnMvc2VyaWFsL3MzYzI0NDAuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zOGY5NTRiCi0tLSAvZGV2L251bGwKKysrIGIvZHJpdmVycy9zZXJpYWwvczNjMjQ0MC5jCkBAIC0wLDAgKzEsMTgxIEBACisvKiBsaW51eC9kcml2ZXJzL3NlcmlhbC9zM2MyNDQwLmMKKyAqCisgKiBEcml2ZXIgZm9yIFNhbXN1bmcgUzNDMjQ0MCBhbmQgUzNDMjQ0MiBTb0Mgb25ib2FyZCBVQVJUcy4KKyAqCisgKiBCZW4gRG9va3MsIENvcHlyaWdodCAoYykgMjAwMy0yMDA1LDIwMDggU2ltdGVjIEVsZWN0cm9uaWNzCisgKglodHRwOi8vYXJtbGludXguc2ltdGVjLmNvLnVrLworICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcworICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisqLworCisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvaW9wb3J0Lmg+CisjaW5jbHVkZSA8bGludXgvaW8uaD4KKyNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvc2VyaWFsX2NvcmUuaD4KKyNpbmNsdWRlIDxsaW51eC9zZXJpYWwuaD4KKworI2luY2x1ZGUgPGFzbS9pcnEuaD4KKyNpbmNsdWRlIDxhc20vaGFyZHdhcmUuaD4KKworI2luY2x1ZGUgPGFzbS9wbGF0LXMzYy9yZWdzLXNlcmlhbC5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL3JlZ3MtZ3Bpby5oPgorCisjaW5jbHVkZSAic2Ftc3VuZy5oIgorCisKK3N0YXRpYyBpbnQgczNjMjQ0MF9zZXJpYWxfc2V0c291cmNlKHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQsCisJCQkJICAgICBzdHJ1Y3QgczNjMjR4eF91YXJ0X2Nsa3NyYyAqY2xrKQoreworCXVuc2lnbmVkIGxvbmcgdWNvbiA9IHJkX3JlZ2wocG9ydCwgUzNDMjQxMF9VQ09OKTsKKworCS8qIHRvZG8gLSBwcm9wZXIgZmNsazw+bm9uZmNsayBzd2l0Y2guICovCisKKwl1Y29uICY9IH5TM0MyNDQwX1VDT05fQ0xLTUFTSzsKKworCWlmIChzdHJjbXAoY2xrLT5uYW1lLCAidWNsayIpID09IDApCisJCXVjb24gfD0gUzNDMjQ0MF9VQ09OX1VDTEs7CisJZWxzZSBpZiAoc3RyY21wKGNsay0+bmFtZSwgInBjbGsiKSA9PSAwKQorCQl1Y29uIHw9IFMzQzI0NDBfVUNPTl9QQ0xLOworCWVsc2UgaWYgKHN0cmNtcChjbGstPm5hbWUsICJmY2xrIikgPT0gMCkKKwkJdWNvbiB8PSBTM0MyNDQwX1VDT05fRkNMSzsKKwllbHNlIHsKKwkJcHJpbnRrKEtFUk5fRVJSICJ1bmtub3duIGNsb2NrIHNvdXJjZSAlc1xuIiwgY2xrLT5uYW1lKTsKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCisJd3JfcmVnbChwb3J0LCBTM0MyNDEwX1VDT04sIHVjb24pOworCXJldHVybiAwOworfQorCisKK3N0YXRpYyBpbnQgczNjMjQ0MF9zZXJpYWxfZ2V0c291cmNlKHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQsCisJCQkJICAgIHN0cnVjdCBzM2MyNHh4X3VhcnRfY2xrc3JjICpjbGspCit7CisJdW5zaWduZWQgbG9uZyB1Y29uID0gcmRfcmVnbChwb3J0LCBTM0MyNDEwX1VDT04pOworCXVuc2lnbmVkIGxvbmcgdWNvbjAsIHVjb24xLCB1Y29uMjsKKworCXN3aXRjaCAodWNvbiAmIFMzQzI0NDBfVUNPTl9DTEtNQVNLKSB7CisJY2FzZSBTM0MyNDQwX1VDT05fVUNMSzoKKwkJY2xrLT5kaXZpc29yID0gMTsKKwkJY2xrLT5uYW1lID0gInVjbGsiOworCQlicmVhazsKKworCWNhc2UgUzNDMjQ0MF9VQ09OX1BDTEs6CisJY2FzZSBTM0MyNDQwX1VDT05fUENMSzI6CisJCWNsay0+ZGl2aXNvciA9IDE7CisJCWNsay0+bmFtZSA9ICJwY2xrIjsKKwkJYnJlYWs7CisKKwljYXNlIFMzQzI0NDBfVUNPTl9GQ0xLOgorCQkvKiB0aGUgZnVuIG9mIGNhbGN1bGF0aW5nIHRoZSB1YXJ0IGRpdmlzb3JzIG9uCisJCSAqIHRoZSBzM2MyNDQwICovCisKKwkJdWNvbjAgPSBfX3Jhd19yZWFkbChTM0MyNFhYX1ZBX1VBUlQwICsgUzNDMjQxMF9VQ09OKTsKKwkJdWNvbjEgPSBfX3Jhd19yZWFkbChTM0MyNFhYX1ZBX1VBUlQxICsgUzNDMjQxMF9VQ09OKTsKKwkJdWNvbjIgPSBfX3Jhd19yZWFkbChTM0MyNFhYX1ZBX1VBUlQyICsgUzNDMjQxMF9VQ09OKTsKKworCQlwcmludGsoInVjb25zOiAlMDhseCwgJTA4bHgsICUwOGx4XG4iLCB1Y29uMCwgdWNvbjEsIHVjb24yKTsKKworCQl1Y29uMCAmPSBTM0MyNDQwX1VDT04wX0RJVk1BU0s7CisJCXVjb24xICY9IFMzQzI0NDBfVUNPTjFfRElWTUFTSzsKKwkJdWNvbjIgJj0gUzNDMjQ0MF9VQ09OMl9ESVZNQVNLOworCisJCWlmICh1Y29uMCAhPSAwKSB7CisJCQljbGstPmRpdmlzb3IgPSB1Y29uMCA+PiBTM0MyNDQwX1VDT05fRElWU0hJRlQ7CisJCQljbGstPmRpdmlzb3IgKz0gNjsKKwkJfSBlbHNlIGlmICh1Y29uMSAhPSAwKSB7CisJCQljbGstPmRpdmlzb3IgPSB1Y29uMSA+PiBTM0MyNDQwX1VDT05fRElWU0hJRlQ7CisJCQljbGstPmRpdmlzb3IgKz0gMjE7CisJCX0gZWxzZSBpZiAodWNvbjIgIT0gMCkgeworCQkJY2xrLT5kaXZpc29yID0gdWNvbjIgPj4gUzNDMjQ0MF9VQ09OX0RJVlNISUZUOworCQkJY2xrLT5kaXZpc29yICs9IDM2OworCQl9IGVsc2UgeworCQkJLyogbWFudWFsIGNhbGltcyA0NCwgc2VlbXMgdG8gYmUgOSAqLworCQkJY2xrLT5kaXZpc29yID0gOTsKKwkJfQorCisJCWNsay0+bmFtZSA9ICJmY2xrIjsKKwkJYnJlYWs7CisJfQorCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgczNjMjQ0MF9zZXJpYWxfcmVzZXRwb3J0KHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQsCisJCQkJICAgIHN0cnVjdCBzM2MyNDEwX3VhcnRjZmcgKmNmZykKK3sKKwl1bnNpZ25lZCBsb25nIHVjb24gPSByZF9yZWdsKHBvcnQsIFMzQzI0MTBfVUNPTik7CisKKwlkYmcoInMzYzI0NDBfc2VyaWFsX3Jlc2V0cG9ydDogcG9ydD0lcCAoJTA4bHgpLCBjZmc9JXBcbiIsCisJICAgIHBvcnQsIHBvcnQtPm1hcGJhc2UsIGNmZyk7CisKKwkvKiBlbnN1cmUgd2UgZG9uJ3QgY2hhbmdlIHRoZSBjbG9jayBzZXR0aW5ncy4uLiAqLworCisJdWNvbiAmPSAoUzNDMjQ0MF9VQ09OMF9ESVZNQVNLIHwgKDM8PDEwKSk7CisKKwl3cl9yZWdsKHBvcnQsIFMzQzI0MTBfVUNPTiwgIHVjb24gfCBjZmctPnVjb24pOworCXdyX3JlZ2wocG9ydCwgUzNDMjQxMF9VTENPTiwgY2ZnLT51bGNvbik7CisKKwkvKiByZXNldCBib3RoIGZpZm9zICovCisKKwl3cl9yZWdsKHBvcnQsIFMzQzI0MTBfVUZDT04sIGNmZy0+dWZjb24gfCBTM0MyNDEwX1VGQ09OX1JFU0VUQk9USCk7CisJd3JfcmVnbChwb3J0LCBTM0MyNDEwX1VGQ09OLCBjZmctPnVmY29uKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgc3RydWN0IHMzYzI0eHhfdWFydF9pbmZvIHMzYzI0NDBfdWFydF9pbmYgPSB7CisJLm5hbWUJCT0gIlNhbXN1bmcgUzNDMjQ0MCBVQVJUIiwKKwkudHlwZQkJPSBQT1JUX1MzQzI0NDAsCisJLmZpZm9zaXplCT0gNjQsCisJLnJ4X2ZpZm9tYXNrCT0gUzNDMjQ0MF9VRlNUQVRfUlhNQVNLLAorCS5yeF9maWZvc2hpZnQJPSBTM0MyNDQwX1VGU1RBVF9SWFNISUZULAorCS5yeF9maWZvZnVsbAk9IFMzQzI0NDBfVUZTVEFUX1JYRlVMTCwKKwkudHhfZmlmb2Z1bGwJPSBTM0MyNDQwX1VGU1RBVF9UWEZVTEwsCisJLnR4X2ZpZm9tYXNrCT0gUzNDMjQ0MF9VRlNUQVRfVFhNQVNLLAorCS50eF9maWZvc2hpZnQJPSBTM0MyNDQwX1VGU1RBVF9UWFNISUZULAorCS5nZXRfY2xrc3JjCT0gczNjMjQ0MF9zZXJpYWxfZ2V0c291cmNlLAorCS5zZXRfY2xrc3JjCT0gczNjMjQ0MF9zZXJpYWxfc2V0c291cmNlLAorCS5yZXNldF9wb3J0CT0gczNjMjQ0MF9zZXJpYWxfcmVzZXRwb3J0LAorfTsKKworLyogZGV2aWNlIG1hbmFnZW1lbnQgKi8KKworc3RhdGljIGludCBzM2MyNDQwX3NlcmlhbF9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpkZXYpCit7CisJZGJnKCJzM2MyNDQwX3NlcmlhbF9wcm9iZTogZGV2PSVwXG4iLCBkZXYpOworCXJldHVybiBzM2MyNHh4X3NlcmlhbF9wcm9iZShkZXYsICZzM2MyNDQwX3VhcnRfaW5mKTsKK30KKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kcml2ZXIgczNjMjQ0MF9zZXJpYWxfZHJ2ID0geworCS5wcm9iZQkJPSBzM2MyNDQwX3NlcmlhbF9wcm9iZSwKKwkucmVtb3ZlCQk9IHMzYzI0eHhfc2VyaWFsX3JlbW92ZSwKKwkuZHJpdmVyCQk9IHsKKwkJLm5hbWUJPSAiczNjMjQ0MC11YXJ0IiwKKwkJLm93bmVyCT0gVEhJU19NT0RVTEUsCisJfSwKK307CisKK3MzYzI0eHhfY29uc29sZV9pbml0KCZzM2MyNDQwX3NlcmlhbF9kcnYsICZzM2MyNDQwX3VhcnRfaW5mKTsKKworc3RhdGljIGludCBfX2luaXQgczNjMjQ0MF9zZXJpYWxfaW5pdCh2b2lkKQoreworCXJldHVybiBzM2MyNHh4X3NlcmlhbF9pbml0KCZzM2MyNDQwX3NlcmlhbF9kcnYsICZzM2MyNDQwX3VhcnRfaW5mKTsKK30KKworc3RhdGljIHZvaWQgX19leGl0IHMzYzI0NDBfc2VyaWFsX2V4aXQodm9pZCkKK3sKKwlwbGF0Zm9ybV9kcml2ZXJfdW5yZWdpc3RlcigmczNjMjQ0MF9zZXJpYWxfZHJ2KTsKK30KKworbW9kdWxlX2luaXQoczNjMjQ0MF9zZXJpYWxfaW5pdCk7Cittb2R1bGVfZXhpdChzM2MyNDQwX3NlcmlhbF9leGl0KTsKKworTU9EVUxFX0RFU0NSSVBUSU9OKCJTYW1zdW5nIFMzQzI0NDAsUzNDMjQ0MiBTb0MgU2VyaWFsIHBvcnQgZHJpdmVyIik7CitNT0RVTEVfQVVUSE9SKCJCZW4gRG9va3MgPGJlbkBzaW10ZWMuY28udWs+Iik7CitNT0RVTEVfTElDRU5TRSgiR1BMaSB2MiIpOworTU9EVUxFX0FMSUFTKCJwbGF0Zm9ybTpzM2MyNDQwLXVhcnQiKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvc2VyaWFsL3NhbXN1bmcuYyBiL2RyaXZlcnMvc2VyaWFsL3NhbXN1bmcuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40YTNlY2FhCi0tLSAvZGV2L251bGwKKysrIGIvZHJpdmVycy9zZXJpYWwvc2Ftc3VuZy5jCkBAIC0wLDAgKzEsMTMxNyBAQAorLyogbGludXgvZHJpdmVycy9zZXJpYWwvc2Ftc3VpbmcuYworICoKKyAqIERyaXZlciBjb3JlIGZvciBTYW1zdW5nIFNvQyBvbmJvYXJkIFVBUlRzLgorICoKKyAqIEJlbiBEb29rcywgQ29weXJpZ2h0IChjKSAyMDAzLTIwMDUsMjAwOCBTaW10ZWMgRWxlY3Ryb25pY3MKKyAqCWh0dHA6Ly9hcm1saW51eC5zaW10ZWMuY28udWsvCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCisgKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyovCisKKy8qIEhvdGUgb24gMjQxMCBlcnJvciBoYW5kbGluZworICoKKyAqIFRoZSBzM2MyNDEwIG1hbnVhbCBoYXMgYSBsb3ZlL2hhdGUgYWZmYWlyIHdpdGggdGhlIGNvbnRlbnRzIG9mIHRoZQorICogVUVSU1RBVCByZWdpc3RlciBpbiB0aGUgVUFSVCBibG9ja3MsIGFuZCBrZWVwcyBtYXJraW5nIHNvbWUgb2YgdGhlCisgKiBlcnJvciBiaXRzIGFzIHJlc2VydmVkLiBIYXZpbmcgY2hlY2tlZCB3aXRoIHRoZSBzM2MyNDEweDAxLAorICogaXQgY29wZXMgd2l0aCBCUkVBS3MgcHJvcGVybHksIHNvIEkgYW0gaGFwcHkgdG8gaWdub3JlIHRoZSBSRVNFUlZFRAorICogZmVhdHVyZSBmcm9tIHRoZSBsYXR0ZXIgdmVyc2lvbnMgb2YgdGhlIG1hbnVhbC4KKyAqCisgKiBJZiBpdCBiZWNvbWVzIGFwYXJyZW50IHRoYXQgbGF0dGVyIHZlcnNpb25zIG9mIHRoZSAyNDEwIHJlbW92ZSB0aGVzZQorICogYml0cywgdGhlbiBhY3Rpb24gd2lsbCBoYXZlIHRvIGJlIHRha2VuIHRvIGRpZmZlcmVudGlhdGUgdGhlIHZlcnNpb25zCisgKiBhbmQgY2hhbmdlIHRoZSBwb2xpY3kgb24gQlJFQUsKKyAqCisgKiBCSkQsIDA0LU5vdi0yMDA0CisqLworCisjaWYgZGVmaW5lZChDT05GSUdfU0VSSUFMX1NBTVNVTkdfQ09OU09MRSkgJiYgZGVmaW5lZChDT05GSUdfTUFHSUNfU1lTUlEpCisjZGVmaW5lIFNVUFBPUlRfU1lTUlEKKyNlbmRpZgorCisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvaW9wb3J0Lmg+CisjaW5jbHVkZSA8bGludXgvaW8uaD4KKyNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvc3lzcnEuaD4KKyNpbmNsdWRlIDxsaW51eC9jb25zb2xlLmg+CisjaW5jbHVkZSA8bGludXgvdHR5Lmg+CisjaW5jbHVkZSA8bGludXgvdHR5X2ZsaXAuaD4KKyNpbmNsdWRlIDxsaW51eC9zZXJpYWxfY29yZS5oPgorI2luY2x1ZGUgPGxpbnV4L3NlcmlhbC5oPgorI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+CisjaW5jbHVkZSA8bGludXgvY2xrLmg+CisKKyNpbmNsdWRlIDxhc20vaXJxLmg+CisKKyNpbmNsdWRlIDxhc20vaGFyZHdhcmUuaD4KKworI2luY2x1ZGUgPGFzbS9wbGF0LXMzYy9yZWdzLXNlcmlhbC5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL3JlZ3MtZ3Bpby5oPgorCisjaW5jbHVkZSAic2Ftc3VuZy5oIgorCisvKiBVQVJUIG5hbWUgYW5kIGRldmljZSBkZWZpbml0aW9ucyAqLworCisjZGVmaW5lIFMzQzI0WFhfU0VSSUFMX05BTUUJInR0eVNBQyIKKyNkZWZpbmUgUzNDMjRYWF9TRVJJQUxfTUFKT1IJMjA0CisjZGVmaW5lIFMzQzI0WFhfU0VSSUFMX01JTk9SCTY0CisKKy8qIHdlIGNhbiBzdXBwb3J0IDMgdWFydHMsIGJ1dCBub3QgYWx3YXlzIHVzZSB0aGVtICovCisKKyNpZmRlZiBDT05GSUdfQ1BVX1MzQzI0MDAKKyNkZWZpbmUgTlJfUE9SVFMgKDIpCisjZWxzZQorI2RlZmluZSBOUl9QT1JUUyAoMykKKyNlbmRpZgorCisvKiBwb3J0IGlycSBudW1iZXJzICovCisKKyNkZWZpbmUgVFhfSVJRKHBvcnQpICgocG9ydCktPmlycSArIDEpCisjZGVmaW5lIFJYX0lSUShwb3J0KSAoKHBvcnQpLT5pcnEpCisKKy8qIG1hY3JvcyB0byBjaGFuZ2Ugb25lIHRoaW5nIHRvIGFub3RoZXIgKi8KKworI2RlZmluZSB0eF9lbmFibGVkKHBvcnQpICgocG9ydCktPnVudXNlZFswXSkKKyNkZWZpbmUgcnhfZW5hYmxlZChwb3J0KSAoKHBvcnQpLT51bnVzZWRbMV0pCisKKy8qIGZsYWcgdG8gaWdub3JlIGFsbCBjaGFyYWN0ZXJzIGNvbW1pbmcgaW4gKi8KKyNkZWZpbmUgUlhTVEFUX0RVTU1ZX1JFQUQgKDB4MTAwMDAwMDApCisKK3N0YXRpYyBpbmxpbmUgc3RydWN0IHMzYzI0eHhfdWFydF9wb3J0ICp0b19vdXJwb3J0KHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQpCit7CisJcmV0dXJuIGNvbnRhaW5lcl9vZihwb3J0LCBzdHJ1Y3QgczNjMjR4eF91YXJ0X3BvcnQsIHBvcnQpOworfQorCisvKiB0cmFuc2xhdGUgYSBwb3J0IHRvIHRoZSBkZXZpY2UgbmFtZSAqLworCitzdGF0aWMgaW5saW5lIGNvbnN0IGNoYXIgKnMzYzI0eHhfc2VyaWFsX3BvcnRuYW1lKHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQpCit7CisJcmV0dXJuIHRvX3BsYXRmb3JtX2RldmljZShwb3J0LT5kZXYpLT5uYW1lOworfQorCitzdGF0aWMgaW50IHMzYzI0eHhfc2VyaWFsX3R4ZW1wdHlfbm9maWZvKHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQpCit7CisJcmV0dXJuIChyZF9yZWdsKHBvcnQsIFMzQzI0MTBfVVRSU1RBVCkgJiBTM0MyNDEwX1VUUlNUQVRfVFhFKTsKK30KKworc3RhdGljIHZvaWQgczNjMjR4eF9zZXJpYWxfcnhfZW5hYmxlKHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQpCit7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKwl1bnNpZ25lZCBpbnQgdWNvbiwgdWZjb247CisJaW50IGNvdW50ID0gMTAwMDA7CisKKwlzcGluX2xvY2tfaXJxc2F2ZSgmcG9ydC0+bG9jaywgZmxhZ3MpOworCisJd2hpbGUgKC0tY291bnQgJiYgIXMzYzI0eHhfc2VyaWFsX3R4ZW1wdHlfbm9maWZvKHBvcnQpKQorCQl1ZGVsYXkoMTAwKTsKKworCXVmY29uID0gcmRfcmVnbChwb3J0LCBTM0MyNDEwX1VGQ09OKTsKKwl1ZmNvbiB8PSBTM0MyNDEwX1VGQ09OX1JFU0VUUlg7CisJd3JfcmVnbChwb3J0LCBTM0MyNDEwX1VGQ09OLCB1ZmNvbik7CisKKwl1Y29uID0gcmRfcmVnbChwb3J0LCBTM0MyNDEwX1VDT04pOworCXVjb24gfD0gUzNDMjQxMF9VQ09OX1JYSVJRTU9ERTsKKwl3cl9yZWdsKHBvcnQsIFMzQzI0MTBfVUNPTiwgdWNvbik7CisKKwlyeF9lbmFibGVkKHBvcnQpID0gMTsKKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZwb3J0LT5sb2NrLCBmbGFncyk7Cit9CisKK3N0YXRpYyB2b2lkIHMzYzI0eHhfc2VyaWFsX3J4X2Rpc2FibGUoc3RydWN0IHVhcnRfcG9ydCAqcG9ydCkKK3sKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCXVuc2lnbmVkIGludCB1Y29uOworCisJc3Bpbl9sb2NrX2lycXNhdmUoJnBvcnQtPmxvY2ssIGZsYWdzKTsKKworCXVjb24gPSByZF9yZWdsKHBvcnQsIFMzQzI0MTBfVUNPTik7CisJdWNvbiAmPSB+UzNDMjQxMF9VQ09OX1JYSVJRTU9ERTsKKwl3cl9yZWdsKHBvcnQsIFMzQzI0MTBfVUNPTiwgdWNvbik7CisKKwlyeF9lbmFibGVkKHBvcnQpID0gMDsKKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZwb3J0LT5sb2NrLCBmbGFncyk7Cit9CisKK3N0YXRpYyB2b2lkIHMzYzI0eHhfc2VyaWFsX3N0b3BfdHgoc3RydWN0IHVhcnRfcG9ydCAqcG9ydCkKK3sKKwlpZiAodHhfZW5hYmxlZChwb3J0KSkgeworCQlkaXNhYmxlX2lycShUWF9JUlEocG9ydCkpOworCQl0eF9lbmFibGVkKHBvcnQpID0gMDsKKwkJaWYgKHBvcnQtPmZsYWdzICYgVVBGX0NPTlNfRkxPVykKKwkJCXMzYzI0eHhfc2VyaWFsX3J4X2VuYWJsZShwb3J0KTsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIHMzYzI0eHhfc2VyaWFsX3N0YXJ0X3R4KHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQpCit7CisJaWYgKCF0eF9lbmFibGVkKHBvcnQpKSB7CisJCWlmIChwb3J0LT5mbGFncyAmIFVQRl9DT05TX0ZMT1cpCisJCQlzM2MyNHh4X3NlcmlhbF9yeF9kaXNhYmxlKHBvcnQpOworCisJCWVuYWJsZV9pcnEoVFhfSVJRKHBvcnQpKTsKKwkJdHhfZW5hYmxlZChwb3J0KSA9IDE7CisJfQorfQorCisKK3N0YXRpYyB2b2lkIHMzYzI0eHhfc2VyaWFsX3N0b3Bfcngoc3RydWN0IHVhcnRfcG9ydCAqcG9ydCkKK3sKKwlpZiAocnhfZW5hYmxlZChwb3J0KSkgeworCQlkYmcoInMzYzI0eHhfc2VyaWFsX3N0b3Bfcng6IHBvcnQ9JXBcbiIsIHBvcnQpOworCQlkaXNhYmxlX2lycShSWF9JUlEocG9ydCkpOworCQlyeF9lbmFibGVkKHBvcnQpID0gMDsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIHMzYzI0eHhfc2VyaWFsX2VuYWJsZV9tcyhzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0KQoreworfQorCitzdGF0aWMgaW5saW5lIHN0cnVjdCBzM2MyNHh4X3VhcnRfaW5mbyAqczNjMjR4eF9wb3J0X3RvX2luZm8oc3RydWN0IHVhcnRfcG9ydCAqcG9ydCkKK3sKKwlyZXR1cm4gdG9fb3VycG9ydChwb3J0KS0+aW5mbzsKK30KKworc3RhdGljIGlubGluZSBzdHJ1Y3QgczNjMjQxMF91YXJ0Y2ZnICpzM2MyNHh4X3BvcnRfdG9fY2ZnKHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQpCit7CisJaWYgKHBvcnQtPmRldiA9PSBOVUxMKQorCQlyZXR1cm4gTlVMTDsKKworCXJldHVybiAoc3RydWN0IHMzYzI0MTBfdWFydGNmZyAqKXBvcnQtPmRldi0+cGxhdGZvcm1fZGF0YTsKK30KKworc3RhdGljIGludCBzM2MyNHh4X3NlcmlhbF9yeF9maWZvY250KHN0cnVjdCBzM2MyNHh4X3VhcnRfcG9ydCAqb3VycG9ydCwKKwkJCQkgICAgIHVuc2lnbmVkIGxvbmcgdWZzdGF0KQoreworCXN0cnVjdCBzM2MyNHh4X3VhcnRfaW5mbyAqaW5mbyA9IG91cnBvcnQtPmluZm87CisKKwlpZiAodWZzdGF0ICYgaW5mby0+cnhfZmlmb2Z1bGwpCisJCXJldHVybiBpbmZvLT5maWZvc2l6ZTsKKworCXJldHVybiAodWZzdGF0ICYgaW5mby0+cnhfZmlmb21hc2spID4+IGluZm8tPnJ4X2ZpZm9zaGlmdDsKK30KKworCisvKiA/IC0gd2hlcmUgaGFzIHBhcml0eSBnb25lPz8gKi8KKyNkZWZpbmUgUzNDMjQxMF9VRVJTVEFUX1BBUklUWSAoMHgxMDAwKQorCitzdGF0aWMgaXJxcmV0dXJuX3QKK3MzYzI0eHhfc2VyaWFsX3J4X2NoYXJzKGludCBpcnEsIHZvaWQgKmRldl9pZCkKK3sKKwlzdHJ1Y3QgczNjMjR4eF91YXJ0X3BvcnQgKm91cnBvcnQgPSBkZXZfaWQ7CisJc3RydWN0IHVhcnRfcG9ydCAqcG9ydCA9ICZvdXJwb3J0LT5wb3J0OworCXN0cnVjdCB0dHlfc3RydWN0ICp0dHkgPSBwb3J0LT5pbmZvLT50dHk7CisJdW5zaWduZWQgaW50IHVmY29uLCBjaCwgZmxhZywgdWZzdGF0LCB1ZXJzdGF0OworCWludCBtYXhfY291bnQgPSA2NDsKKworCXdoaWxlIChtYXhfY291bnQtLSA+IDApIHsKKwkJdWZjb24gPSByZF9yZWdsKHBvcnQsIFMzQzI0MTBfVUZDT04pOworCQl1ZnN0YXQgPSByZF9yZWdsKHBvcnQsIFMzQzI0MTBfVUZTVEFUKTsKKworCQlpZiAoczNjMjR4eF9zZXJpYWxfcnhfZmlmb2NudChvdXJwb3J0LCB1ZnN0YXQpID09IDApCisJCQlicmVhazsKKworCQl1ZXJzdGF0ID0gcmRfcmVnbChwb3J0LCBTM0MyNDEwX1VFUlNUQVQpOworCQljaCA9IHJkX3JlZ2IocG9ydCwgUzNDMjQxMF9VUlhIKTsKKworCQlpZiAocG9ydC0+ZmxhZ3MgJiBVUEZfQ09OU19GTE9XKSB7CisJCQlpbnQgdHhlID0gczNjMjR4eF9zZXJpYWxfdHhlbXB0eV9ub2ZpZm8ocG9ydCk7CisKKwkJCWlmIChyeF9lbmFibGVkKHBvcnQpKSB7CisJCQkJaWYgKCF0eGUpIHsKKwkJCQkJcnhfZW5hYmxlZChwb3J0KSA9IDA7CisJCQkJCWNvbnRpbnVlOworCQkJCX0KKwkJCX0gZWxzZSB7CisJCQkJaWYgKHR4ZSkgeworCQkJCQl1ZmNvbiB8PSBTM0MyNDEwX1VGQ09OX1JFU0VUUlg7CisJCQkJCXdyX3JlZ2wocG9ydCwgUzNDMjQxMF9VRkNPTiwgdWZjb24pOworCQkJCQlyeF9lbmFibGVkKHBvcnQpID0gMTsKKwkJCQkJZ290byBvdXQ7CisJCQkJfQorCQkJCWNvbnRpbnVlOworCQkJfQorCQl9CisKKwkJLyogaW5zZXJ0IHRoZSBjaGFyYWN0ZXIgaW50byB0aGUgYnVmZmVyICovCisKKwkJZmxhZyA9IFRUWV9OT1JNQUw7CisJCXBvcnQtPmljb3VudC5yeCsrOworCisJCWlmICh1bmxpa2VseSh1ZXJzdGF0ICYgUzNDMjQxMF9VRVJTVEFUX0FOWSkpIHsKKwkJCWRiZygicnhlcnI6IHBvcnQgY2g9MHglMDJ4LCByeHM9MHglMDh4XG4iLAorCQkJICAgIGNoLCB1ZXJzdGF0KTsKKworCQkJLyogY2hlY2sgZm9yIGJyZWFrICovCisJCQlpZiAodWVyc3RhdCAmIFMzQzI0MTBfVUVSU1RBVF9CUkVBSykgeworCQkJCWRiZygiYnJlYWshXG4iKTsKKwkJCQlwb3J0LT5pY291bnQuYnJrKys7CisJCQkJaWYgKHVhcnRfaGFuZGxlX2JyZWFrKHBvcnQpKQorCQkJCSAgICBnb3RvIGlnbm9yZV9jaGFyOworCQkJfQorCisJCQlpZiAodWVyc3RhdCAmIFMzQzI0MTBfVUVSU1RBVF9GUkFNRSkKKwkJCQlwb3J0LT5pY291bnQuZnJhbWUrKzsKKwkJCWlmICh1ZXJzdGF0ICYgUzNDMjQxMF9VRVJTVEFUX09WRVJSVU4pCisJCQkJcG9ydC0+aWNvdW50Lm92ZXJydW4rKzsKKworCQkJdWVyc3RhdCAmPSBwb3J0LT5yZWFkX3N0YXR1c19tYXNrOworCisJCQlpZiAodWVyc3RhdCAmIFMzQzI0MTBfVUVSU1RBVF9CUkVBSykKKwkJCQlmbGFnID0gVFRZX0JSRUFLOworCQkJZWxzZSBpZiAodWVyc3RhdCAmIFMzQzI0MTBfVUVSU1RBVF9QQVJJVFkpCisJCQkJZmxhZyA9IFRUWV9QQVJJVFk7CisJCQllbHNlIGlmICh1ZXJzdGF0ICYgKFMzQzI0MTBfVUVSU1RBVF9GUkFNRSB8CisJCQkJCSAgICBTM0MyNDEwX1VFUlNUQVRfT1ZFUlJVTikpCisJCQkJZmxhZyA9IFRUWV9GUkFNRTsKKwkJfQorCisJCWlmICh1YXJ0X2hhbmRsZV9zeXNycV9jaGFyKHBvcnQsIGNoKSkKKwkJCWdvdG8gaWdub3JlX2NoYXI7CisKKwkJdWFydF9pbnNlcnRfY2hhcihwb3J0LCB1ZXJzdGF0LCBTM0MyNDEwX1VFUlNUQVRfT1ZFUlJVTiwKKwkJCQkgY2gsIGZsYWcpOworCisgaWdub3JlX2NoYXI6CisJCWNvbnRpbnVlOworCX0KKwl0dHlfZmxpcF9idWZmZXJfcHVzaCh0dHkpOworCisgb3V0OgorCXJldHVybiBJUlFfSEFORExFRDsKK30KKworc3RhdGljIGlycXJldHVybl90IHMzYzI0eHhfc2VyaWFsX3R4X2NoYXJzKGludCBpcnEsIHZvaWQgKmlkKQoreworCXN0cnVjdCBzM2MyNHh4X3VhcnRfcG9ydCAqb3VycG9ydCA9IGlkOworCXN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQgPSAmb3VycG9ydC0+cG9ydDsKKwlzdHJ1Y3QgY2lyY19idWYgKnhtaXQgPSAmcG9ydC0+aW5mby0+eG1pdDsKKwlpbnQgY291bnQgPSAyNTY7CisKKwlpZiAocG9ydC0+eF9jaGFyKSB7CisJCXdyX3JlZ2IocG9ydCwgUzNDMjQxMF9VVFhILCBwb3J0LT54X2NoYXIpOworCQlwb3J0LT5pY291bnQudHgrKzsKKwkJcG9ydC0+eF9jaGFyID0gMDsKKwkJZ290byBvdXQ7CisJfQorCisJLyogaWYgdGhlcmUgaXNudCBhbnl0aGluZyBtb3JlIHRvIHRyYW5zbWl0LCBvciB0aGUgdWFydCBpcyBub3cKKwkgKiBzdG9wcGVkLCBkaXNhYmxlIHRoZSB1YXJ0IGFuZCBleGl0CisJKi8KKworCWlmICh1YXJ0X2NpcmNfZW1wdHkoeG1pdCkgfHwgdWFydF90eF9zdG9wcGVkKHBvcnQpKSB7CisJCXMzYzI0eHhfc2VyaWFsX3N0b3BfdHgocG9ydCk7CisJCWdvdG8gb3V0OworCX0KKworCS8qIHRyeSBhbmQgZHJhaW4gdGhlIGJ1ZmZlci4uLiAqLworCisJd2hpbGUgKCF1YXJ0X2NpcmNfZW1wdHkoeG1pdCkgJiYgY291bnQtLSA+IDApIHsKKwkJaWYgKHJkX3JlZ2wocG9ydCwgUzNDMjQxMF9VRlNUQVQpICYgb3VycG9ydC0+aW5mby0+dHhfZmlmb2Z1bGwpCisJCQlicmVhazsKKworCQl3cl9yZWdiKHBvcnQsIFMzQzI0MTBfVVRYSCwgeG1pdC0+YnVmW3htaXQtPnRhaWxdKTsKKwkJeG1pdC0+dGFpbCA9ICh4bWl0LT50YWlsICsgMSkgJiAoVUFSVF9YTUlUX1NJWkUgLSAxKTsKKwkJcG9ydC0+aWNvdW50LnR4Kys7CisJfQorCisJaWYgKHVhcnRfY2lyY19jaGFyc19wZW5kaW5nKHhtaXQpIDwgV0FLRVVQX0NIQVJTKQorCQl1YXJ0X3dyaXRlX3dha2V1cChwb3J0KTsKKworCWlmICh1YXJ0X2NpcmNfZW1wdHkoeG1pdCkpCisJCXMzYzI0eHhfc2VyaWFsX3N0b3BfdHgocG9ydCk7CisKKyBvdXQ6CisJcmV0dXJuIElSUV9IQU5ETEVEOworfQorCitzdGF0aWMgdW5zaWduZWQgaW50IHMzYzI0eHhfc2VyaWFsX3R4X2VtcHR5KHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQpCit7CisJc3RydWN0IHMzYzI0eHhfdWFydF9pbmZvICppbmZvID0gczNjMjR4eF9wb3J0X3RvX2luZm8ocG9ydCk7CisJdW5zaWduZWQgbG9uZyB1ZnN0YXQgPSByZF9yZWdsKHBvcnQsIFMzQzI0MTBfVUZTVEFUKTsKKwl1bnNpZ25lZCBsb25nIHVmY29uID0gcmRfcmVnbChwb3J0LCBTM0MyNDEwX1VGQ09OKTsKKworCWlmICh1ZmNvbiAmIFMzQzI0MTBfVUZDT05fRklGT01PREUpIHsKKwkJaWYgKCh1ZnN0YXQgJiBpbmZvLT50eF9maWZvbWFzaykgIT0gMCB8fAorCQkgICAgKHVmc3RhdCAmIGluZm8tPnR4X2ZpZm9mdWxsKSkKKwkJCXJldHVybiAwOworCisJCXJldHVybiAxOworCX0KKworCXJldHVybiBzM2MyNHh4X3NlcmlhbF90eGVtcHR5X25vZmlmbyhwb3J0KTsKK30KKworLyogbm8gbW9kZW0gY29udHJvbCBsaW5lcyAqLworc3RhdGljIHVuc2lnbmVkIGludCBzM2MyNHh4X3NlcmlhbF9nZXRfbWN0cmwoc3RydWN0IHVhcnRfcG9ydCAqcG9ydCkKK3sKKwl1bnNpZ25lZCBpbnQgdW1zdGF0ID0gcmRfcmVnYihwb3J0LCBTM0MyNDEwX1VNU1RBVCk7CisKKwlpZiAodW1zdGF0ICYgUzNDMjQxMF9VTVNUQVRfQ1RTKQorCQlyZXR1cm4gVElPQ01fQ0FSIHwgVElPQ01fRFNSIHwgVElPQ01fQ1RTOworCWVsc2UKKwkJcmV0dXJuIFRJT0NNX0NBUiB8IFRJT0NNX0RTUjsKK30KKworc3RhdGljIHZvaWQgczNjMjR4eF9zZXJpYWxfc2V0X21jdHJsKHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQsIHVuc2lnbmVkIGludCBtY3RybCkKK3sKKwkvKiB0b2RvIC0gcG9zc2libHkgcmVtb3ZlIEFGQyBhbmQgZG8gbWFudWFsIENUUyAqLworfQorCitzdGF0aWMgdm9pZCBzM2MyNHh4X3NlcmlhbF9icmVha19jdGwoc3RydWN0IHVhcnRfcG9ydCAqcG9ydCwgaW50IGJyZWFrX3N0YXRlKQoreworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisJdW5zaWduZWQgaW50IHVjb247CisKKwlzcGluX2xvY2tfaXJxc2F2ZSgmcG9ydC0+bG9jaywgZmxhZ3MpOworCisJdWNvbiA9IHJkX3JlZ2wocG9ydCwgUzNDMjQxMF9VQ09OKTsKKworCWlmIChicmVha19zdGF0ZSkKKwkJdWNvbiB8PSBTM0MyNDEwX1VDT05fU0JSRUFLOworCWVsc2UKKwkJdWNvbiAmPSB+UzNDMjQxMF9VQ09OX1NCUkVBSzsKKworCXdyX3JlZ2wocG9ydCwgUzNDMjQxMF9VQ09OLCB1Y29uKTsKKworCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnBvcnQtPmxvY2ssIGZsYWdzKTsKK30KKworc3RhdGljIHZvaWQgczNjMjR4eF9zZXJpYWxfc2h1dGRvd24oc3RydWN0IHVhcnRfcG9ydCAqcG9ydCkKK3sKKwlzdHJ1Y3QgczNjMjR4eF91YXJ0X3BvcnQgKm91cnBvcnQgPSB0b19vdXJwb3J0KHBvcnQpOworCisJaWYgKG91cnBvcnQtPnR4X2NsYWltZWQpIHsKKwkJZnJlZV9pcnEoVFhfSVJRKHBvcnQpLCBvdXJwb3J0KTsKKwkJdHhfZW5hYmxlZChwb3J0KSA9IDA7CisJCW91cnBvcnQtPnR4X2NsYWltZWQgPSAwOworCX0KKworCWlmIChvdXJwb3J0LT5yeF9jbGFpbWVkKSB7CisJCWZyZWVfaXJxKFJYX0lSUShwb3J0KSwgb3VycG9ydCk7CisJCW91cnBvcnQtPnJ4X2NsYWltZWQgPSAwOworCQlyeF9lbmFibGVkKHBvcnQpID0gMDsKKwl9Cit9CisKKworc3RhdGljIGludCBzM2MyNHh4X3NlcmlhbF9zdGFydHVwKHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQpCit7CisJc3RydWN0IHMzYzI0eHhfdWFydF9wb3J0ICpvdXJwb3J0ID0gdG9fb3VycG9ydChwb3J0KTsKKwlpbnQgcmV0OworCisJZGJnKCJzM2MyNHh4X3NlcmlhbF9zdGFydHVwOiBwb3J0PSVwICglMDhseCwlcClcbiIsCisJICAgIHBvcnQtPm1hcGJhc2UsIHBvcnQtPm1lbWJhc2UpOworCisJcnhfZW5hYmxlZChwb3J0KSA9IDE7CisKKwlyZXQgPSByZXF1ZXN0X2lycShSWF9JUlEocG9ydCksCisJCQkgIHMzYzI0eHhfc2VyaWFsX3J4X2NoYXJzLCAwLAorCQkJICBzM2MyNHh4X3NlcmlhbF9wb3J0bmFtZShwb3J0KSwgb3VycG9ydCk7CisKKwlpZiAocmV0ICE9IDApIHsKKwkJcHJpbnRrKEtFUk5fRVJSICJjYW5ub3QgZ2V0IGlycSAlZFxuIiwgUlhfSVJRKHBvcnQpKTsKKwkJcmV0dXJuIHJldDsKKwl9CisKKwlvdXJwb3J0LT5yeF9jbGFpbWVkID0gMTsKKworCWRiZygicmVxdWVzdGluZyB0eCBpcnEuLi5cbiIpOworCisJdHhfZW5hYmxlZChwb3J0KSA9IDE7CisKKwlyZXQgPSByZXF1ZXN0X2lycShUWF9JUlEocG9ydCksCisJCQkgIHMzYzI0eHhfc2VyaWFsX3R4X2NoYXJzLCAwLAorCQkJICBzM2MyNHh4X3NlcmlhbF9wb3J0bmFtZShwb3J0KSwgb3VycG9ydCk7CisKKwlpZiAocmV0KSB7CisJCXByaW50ayhLRVJOX0VSUiAiY2Fubm90IGdldCBpcnEgJWRcbiIsIFRYX0lSUShwb3J0KSk7CisJCWdvdG8gZXJyOworCX0KKworCW91cnBvcnQtPnR4X2NsYWltZWQgPSAxOworCisJZGJnKCJzM2MyNHh4X3NlcmlhbF9zdGFydHVwIG9rXG4iKTsKKworCS8qIHRoZSBwb3J0IHJlc2V0IGNvZGUgc2hvdWxkIGhhdmUgZG9uZSB0aGUgY29ycmVjdAorCSAqIHJlZ2lzdGVyIHNldHVwIGZvciB0aGUgcG9ydCBjb250cm9scyAqLworCisJcmV0dXJuIHJldDsKKworIGVycjoKKwlzM2MyNHh4X3NlcmlhbF9zaHV0ZG93bihwb3J0KTsKKwlyZXR1cm4gcmV0OworfQorCisvKiBwb3dlciBwb3dlciBtYW5hZ2VtZW50IGNvbnRyb2wgKi8KKworc3RhdGljIHZvaWQgczNjMjR4eF9zZXJpYWxfcG0oc3RydWN0IHVhcnRfcG9ydCAqcG9ydCwgdW5zaWduZWQgaW50IGxldmVsLAorCQkJICAgICAgdW5zaWduZWQgaW50IG9sZCkKK3sKKwlzdHJ1Y3QgczNjMjR4eF91YXJ0X3BvcnQgKm91cnBvcnQgPSB0b19vdXJwb3J0KHBvcnQpOworCisJc3dpdGNoIChsZXZlbCkgeworCWNhc2UgMzoKKwkJaWYgKCFJU19FUlIob3VycG9ydC0+YmF1ZGNsaykgJiYgb3VycG9ydC0+YmF1ZGNsayAhPSBOVUxMKQorCQkJY2xrX2Rpc2FibGUob3VycG9ydC0+YmF1ZGNsayk7CisKKwkJY2xrX2Rpc2FibGUob3VycG9ydC0+Y2xrKTsKKwkJYnJlYWs7CisKKwljYXNlIDA6CisJCWNsa19lbmFibGUob3VycG9ydC0+Y2xrKTsKKworCQlpZiAoIUlTX0VSUihvdXJwb3J0LT5iYXVkY2xrKSAmJiBvdXJwb3J0LT5iYXVkY2xrICE9IE5VTEwpCisJCQljbGtfZW5hYmxlKG91cnBvcnQtPmJhdWRjbGspOworCisJCWJyZWFrOworCWRlZmF1bHQ6CisJCXByaW50ayhLRVJOX0VSUiAiczNjMjR4eF9zZXJpYWw6IHVua25vd24gcG0gJWRcbiIsIGxldmVsKTsKKwl9Cit9CisKKy8qIGJhdWQgcmF0ZSBjYWxjdWxhdGlvbgorICoKKyAqIFRoZSBVQVJUcyBvbiB0aGUgUzNDMjQxMC9TM0MyNDQwIGNhbiB0YWtlIHRoZWlyIGNsb2NrcyBmcm9tIGEgbnVtYmVyCisgKiBvZiBkaWZmZXJlbnQgc291cmNlcywgaW5jbHVkaW5nIHRoZSBwZXJpcGhlcmFsIGNsb2NrICgicGNsayIpIGFuZCBhbgorICogZXh0ZXJuYWwgY2xvY2sgKCJ1Y2xrIikuIFRoZSBTM0MyNDQwIGFsc28gYWRkcyB0aGUgY29yZSBjbG9jayAoImZjbGsiKQorICogd2l0aCBhIHByb2dyYW1tYWJsZSBleHRyYSBkaXZpc29yLgorICoKKyAqIFRoZSBmb2xsb3dpbmcgY29kZSBnb2VzIHRocm91Z2ggdGhlIGNsb2NrIHNvdXJjZXMsIGFuZCBjYWxjdWxhdGVzIHRoZQorICogYmF1ZCBjbG9ja3MgKGFuZCB0aGUgcmVzdWx0YW50IGFjdHVhbCBiYXVkIHJhdGVzKSBhbmQgdGhlbiB0cmllcyB0bworICogcGljayB0aGUgY2xvc2VzdCBvbmUgYW5kIHNlbGVjdCB0aGF0LgorICoKKyovCisKKworI2RlZmluZSBNQVhfQ0xLUyAoOCkKKworc3RhdGljIHN0cnVjdCBzM2MyNHh4X3VhcnRfY2xrc3JjIHRtcF9jbGtzcmMgPSB7CisJLm5hbWUJCT0gInBjbGsiLAorCS5taW5fYmF1ZAk9IDAsCisJLm1heF9iYXVkCT0gMCwKKwkuZGl2aXNvcgk9IDEsCit9OworCitzdGF0aWMgaW5saW5lIGludAorczNjMjR4eF9zZXJpYWxfZ2V0c291cmNlKHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQsIHN0cnVjdCBzM2MyNHh4X3VhcnRfY2xrc3JjICpjKQoreworCXN0cnVjdCBzM2MyNHh4X3VhcnRfaW5mbyAqaW5mbyA9IHMzYzI0eHhfcG9ydF90b19pbmZvKHBvcnQpOworCisJcmV0dXJuIChpbmZvLT5nZXRfY2xrc3JjKShwb3J0LCBjKTsKK30KKworc3RhdGljIGlubGluZSBpbnQKK3MzYzI0eHhfc2VyaWFsX3NldHNvdXJjZShzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0LCBzdHJ1Y3QgczNjMjR4eF91YXJ0X2Nsa3NyYyAqYykKK3sKKwlzdHJ1Y3QgczNjMjR4eF91YXJ0X2luZm8gKmluZm8gPSBzM2MyNHh4X3BvcnRfdG9faW5mbyhwb3J0KTsKKworCXJldHVybiAoaW5mby0+c2V0X2Nsa3NyYykocG9ydCwgYyk7Cit9CisKK3N0cnVjdCBiYXVkX2NhbGMgeworCXN0cnVjdCBzM2MyNHh4X3VhcnRfY2xrc3JjCSpjbGtzcmM7CisJdW5zaWduZWQgaW50CQkJIGNhbGM7CisJdW5zaWduZWQgaW50CQkJIHF1b3Q7CisJc3RydWN0IGNsawkJCSpzcmM7Cit9OworCitzdGF0aWMgaW50IHMzYzI0eHhfc2VyaWFsX2NhbGNiYXVkKHN0cnVjdCBiYXVkX2NhbGMgKmNhbGMsCisJCQkJICAgc3RydWN0IHVhcnRfcG9ydCAqcG9ydCwKKwkJCQkgICBzdHJ1Y3QgczNjMjR4eF91YXJ0X2Nsa3NyYyAqY2xrc3JjLAorCQkJCSAgIHVuc2lnbmVkIGludCBiYXVkKQoreworCXVuc2lnbmVkIGxvbmcgcmF0ZTsKKworCWNhbGMtPnNyYyA9IGNsa19nZXQocG9ydC0+ZGV2LCBjbGtzcmMtPm5hbWUpOworCWlmIChjYWxjLT5zcmMgPT0gTlVMTCB8fCBJU19FUlIoY2FsYy0+c3JjKSkKKwkJcmV0dXJuIDA7CisKKwlyYXRlID0gY2xrX2dldF9yYXRlKGNhbGMtPnNyYyk7CisJcmF0ZSAvPSBjbGtzcmMtPmRpdmlzb3I7CisKKwljYWxjLT5jbGtzcmMgPSBjbGtzcmM7CisJY2FsYy0+cXVvdCA9IChyYXRlICsgKDggKiBiYXVkKSkgLyAoMTYgKiBiYXVkKTsKKwljYWxjLT5jYWxjID0gKHJhdGUgLyAoY2FsYy0+cXVvdCAqIDE2KSk7CisKKwljYWxjLT5xdW90LS07CisJcmV0dXJuIDE7Cit9CisKK3N0YXRpYyB1bnNpZ25lZCBpbnQgczNjMjR4eF9zZXJpYWxfZ2V0Y2xrKHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQsCisJCQkJCSAgc3RydWN0IHMzYzI0eHhfdWFydF9jbGtzcmMgKipjbGtzcmMsCisJCQkJCSAgc3RydWN0IGNsayAqKmNsaywKKwkJCQkJICB1bnNpZ25lZCBpbnQgYmF1ZCkKK3sKKwlzdHJ1Y3QgczNjMjQxMF91YXJ0Y2ZnICpjZmcgPSBzM2MyNHh4X3BvcnRfdG9fY2ZnKHBvcnQpOworCXN0cnVjdCBzM2MyNHh4X3VhcnRfY2xrc3JjICpjbGtwOworCXN0cnVjdCBiYXVkX2NhbGMgcmVzW01BWF9DTEtTXTsKKwlzdHJ1Y3QgYmF1ZF9jYWxjICpyZXNwdHIsICpiZXN0LCAqc3B0cjsKKwlpbnQgaTsKKworCWNsa3AgPSBjZmctPmNsb2NrczsKKwliZXN0ID0gTlVMTDsKKworCWlmIChjZmctPmNsb2Nrc19zaXplIDwgMikgeworCQlpZiAoY2ZnLT5jbG9ja3Nfc2l6ZSA9PSAwKQorCQkJY2xrcCA9ICZ0bXBfY2xrc3JjOworCisJCS8qIGNoZWNrIHRvIHNlZSBpZiB3ZSdyZSBzb3VyY2luZyBmY2xrLCBhbmQgaWYgc28gd2UncmUKKwkJICogZ29pbmcgdG8gaGF2ZSB0byB1cGRhdGUgdGhlIGNsb2NrIHNvdXJjZQorCQkgKi8KKworCQlpZiAoc3RyY21wKGNsa3AtPm5hbWUsICJmY2xrIikgPT0gMCkgeworCQkJc3RydWN0IHMzYzI0eHhfdWFydF9jbGtzcmMgc3JjOworCisJCQlzM2MyNHh4X3NlcmlhbF9nZXRzb3VyY2UocG9ydCwgJnNyYyk7CisKKwkJCS8qIGNoZWNrIHRoYXQgdGhlIHBvcnQgYWxyZWFkeSB1c2luZyBmY2xrLCBhbmQgaWYKKwkJCSAqIG5vdCwgdGhlbiByZS1zZWxlY3QgZmNsaworCQkJICovCisKKwkJCWlmIChzdHJjbXAoc3JjLm5hbWUsIGNsa3AtPm5hbWUpID09IDApIHsKKwkJCQlzM2MyNHh4X3NlcmlhbF9zZXRzb3VyY2UocG9ydCwgY2xrcCk7CisJCQkJczNjMjR4eF9zZXJpYWxfZ2V0c291cmNlKHBvcnQsICZzcmMpOworCQkJfQorCisJCQljbGtwLT5kaXZpc29yID0gc3JjLmRpdmlzb3I7CisJCX0KKworCQlzM2MyNHh4X3NlcmlhbF9jYWxjYmF1ZChyZXMsIHBvcnQsIGNsa3AsIGJhdWQpOworCQliZXN0ID0gcmVzOworCQlyZXNwdHIgPSBiZXN0ICsgMTsKKwl9IGVsc2UgeworCQlyZXNwdHIgPSByZXM7CisKKwkJZm9yIChpID0gMDsgaSA8IGNmZy0+Y2xvY2tzX3NpemU7IGkrKywgY2xrcCsrKSB7CisJCQlpZiAoczNjMjR4eF9zZXJpYWxfY2FsY2JhdWQocmVzcHRyLCBwb3J0LCBjbGtwLCBiYXVkKSkKKwkJCQlyZXNwdHIrKzsKKwkJfQorCX0KKworCS8qIG9rLCB3ZSBub3cgbmVlZCB0byBzZWxlY3QgdGhlIGJlc3QgY2xvY2sgd2UgZm91bmQgKi8KKworCWlmICghYmVzdCkgeworCQl1bnNpZ25lZCBpbnQgZGV2aWF0aW9uID0gKDE8PDMwKXwoKDE8PDMwKS0xKTsKKwkJaW50IGNhbGNfZGV2aWF0aW9uOworCisJCWZvciAoc3B0ciA9IHJlczsgc3B0ciA8IHJlc3B0cjsgc3B0cisrKSB7CisJCQljYWxjX2RldmlhdGlvbiA9IGJhdWQgLSBzcHRyLT5jYWxjOworCQkJaWYgKGNhbGNfZGV2aWF0aW9uIDwgMCkKKwkJCQljYWxjX2RldmlhdGlvbiA9IC1jYWxjX2RldmlhdGlvbjsKKworCQkJaWYgKGNhbGNfZGV2aWF0aW9uIDwgZGV2aWF0aW9uKSB7CisJCQkJYmVzdCA9IHNwdHI7CisJCQkJZGV2aWF0aW9uID0gY2FsY19kZXZpYXRpb247CisJCQl9CisJCX0KKwl9CisKKwkvKiBzdG9yZSByZXN1bHRzIHRvIHBhc3MgYmFjayAqLworCisJKmNsa3NyYyA9IGJlc3QtPmNsa3NyYzsKKwkqY2xrICAgID0gYmVzdC0+c3JjOworCisJcmV0dXJuIGJlc3QtPnF1b3Q7Cit9CisKK3N0YXRpYyB2b2lkIHMzYzI0eHhfc2VyaWFsX3NldF90ZXJtaW9zKHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQsCisJCQkJICAgICAgIHN0cnVjdCBrdGVybWlvcyAqdGVybWlvcywKKwkJCQkgICAgICAgc3RydWN0IGt0ZXJtaW9zICpvbGQpCit7CisJc3RydWN0IHMzYzI0MTBfdWFydGNmZyAqY2ZnID0gczNjMjR4eF9wb3J0X3RvX2NmZyhwb3J0KTsKKwlzdHJ1Y3QgczNjMjR4eF91YXJ0X3BvcnQgKm91cnBvcnQgPSB0b19vdXJwb3J0KHBvcnQpOworCXN0cnVjdCBzM2MyNHh4X3VhcnRfY2xrc3JjICpjbGtzcmMgPSBOVUxMOworCXN0cnVjdCBjbGsgKmNsayA9IE5VTEw7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKwl1bnNpZ25lZCBpbnQgYmF1ZCwgcXVvdDsKKwl1bnNpZ25lZCBpbnQgdWxjb247CisJdW5zaWduZWQgaW50IHVtY29uOworCisJLyoKKwkgKiBXZSBkb24ndCBzdXBwb3J0IG1vZGVtIGNvbnRyb2wgbGluZXMuCisJICovCisJdGVybWlvcy0+Y19jZmxhZyAmPSB+KEhVUENMIHwgQ01TUEFSKTsKKwl0ZXJtaW9zLT5jX2NmbGFnIHw9IENMT0NBTDsKKworCS8qCisJICogQXNrIHRoZSBjb3JlIHRvIGNhbGN1bGF0ZSB0aGUgZGl2aXNvciBmb3IgdXMuCisJICovCisKKwliYXVkID0gdWFydF9nZXRfYmF1ZF9yYXRlKHBvcnQsIHRlcm1pb3MsIG9sZCwgMCwgMTE1MjAwKjgpOworCisJaWYgKGJhdWQgPT0gMzg0MDAgJiYgKHBvcnQtPmZsYWdzICYgVVBGX1NQRF9NQVNLKSA9PSBVUEZfU1BEX0NVU1QpCisJCXF1b3QgPSBwb3J0LT5jdXN0b21fZGl2aXNvcjsKKwllbHNlCisJCXF1b3QgPSBzM2MyNHh4X3NlcmlhbF9nZXRjbGsocG9ydCwgJmNsa3NyYywgJmNsaywgYmF1ZCk7CisKKwkvKiBjaGVjayB0byBzZWUgaWYgd2UgbmVlZCAgdG8gY2hhbmdlIGNsb2NrIHNvdXJjZSAqLworCisJaWYgKG91cnBvcnQtPmNsa3NyYyAhPSBjbGtzcmMgfHwgb3VycG9ydC0+YmF1ZGNsayAhPSBjbGspIHsKKwkJczNjMjR4eF9zZXJpYWxfc2V0c291cmNlKHBvcnQsIGNsa3NyYyk7CisKKwkJaWYgKG91cnBvcnQtPmJhdWRjbGsgIT0gTlVMTCAmJiAhSVNfRVJSKG91cnBvcnQtPmJhdWRjbGspKSB7CisJCQljbGtfZGlzYWJsZShvdXJwb3J0LT5iYXVkY2xrKTsKKwkJCW91cnBvcnQtPmJhdWRjbGsgID0gTlVMTDsKKwkJfQorCisJCWNsa19lbmFibGUoY2xrKTsKKworCQlvdXJwb3J0LT5jbGtzcmMgPSBjbGtzcmM7CisJCW91cnBvcnQtPmJhdWRjbGsgPSBjbGs7CisJfQorCisJc3dpdGNoICh0ZXJtaW9zLT5jX2NmbGFnICYgQ1NJWkUpIHsKKwljYXNlIENTNToKKwkJZGJnKCJjb25maWc6IDViaXRzL2NoYXJcbiIpOworCQl1bGNvbiA9IFMzQzI0MTBfTENPTl9DUzU7CisJCWJyZWFrOworCWNhc2UgQ1M2OgorCQlkYmcoImNvbmZpZzogNmJpdHMvY2hhclxuIik7CisJCXVsY29uID0gUzNDMjQxMF9MQ09OX0NTNjsKKwkJYnJlYWs7CisJY2FzZSBDUzc6CisJCWRiZygiY29uZmlnOiA3Yml0cy9jaGFyXG4iKTsKKwkJdWxjb24gPSBTM0MyNDEwX0xDT05fQ1M3OworCQlicmVhazsKKwljYXNlIENTODoKKwlkZWZhdWx0OgorCQlkYmcoImNvbmZpZzogOGJpdHMvY2hhclxuIik7CisJCXVsY29uID0gUzNDMjQxMF9MQ09OX0NTODsKKwkJYnJlYWs7CisJfQorCisJLyogcHJlc2VydmUgb3JpZ2luYWwgbGNvbiBJUiBzZXR0aW5ncyAqLworCXVsY29uIHw9IChjZmctPnVsY29uICYgUzNDMjQxMF9MQ09OX0lSTSk7CisKKwlpZiAodGVybWlvcy0+Y19jZmxhZyAmIENTVE9QQikKKwkJdWxjb24gfD0gUzNDMjQxMF9MQ09OX1NUT1BCOworCisJdW1jb24gPSAodGVybWlvcy0+Y19jZmxhZyAmIENSVFNDVFMpID8gUzNDMjQxMF9VTUNPTV9BRkMgOiAwOworCisJaWYgKHRlcm1pb3MtPmNfY2ZsYWcgJiBQQVJFTkIpIHsKKwkJaWYgKHRlcm1pb3MtPmNfY2ZsYWcgJiBQQVJPREQpCisJCQl1bGNvbiB8PSBTM0MyNDEwX0xDT05fUE9ERDsKKwkJZWxzZQorCQkJdWxjb24gfD0gUzNDMjQxMF9MQ09OX1BFVkVOOworCX0gZWxzZSB7CisJCXVsY29uIHw9IFMzQzI0MTBfTENPTl9QTk9ORTsKKwl9CisKKwlzcGluX2xvY2tfaXJxc2F2ZSgmcG9ydC0+bG9jaywgZmxhZ3MpOworCisJZGJnKCJzZXR0aW5nIHVsY29uIHRvICUwOHgsIGJyZGRpdiB0byAlZFxuIiwgdWxjb24sIHF1b3QpOworCisJd3JfcmVnbChwb3J0LCBTM0MyNDEwX1VMQ09OLCB1bGNvbik7CisJd3JfcmVnbChwb3J0LCBTM0MyNDEwX1VCUkRJViwgcXVvdCk7CisJd3JfcmVnbChwb3J0LCBTM0MyNDEwX1VNQ09OLCB1bWNvbik7CisKKwlkYmcoInVhcnQ6IHVsY29uID0gMHglMDh4LCB1Y29uID0gMHglMDh4LCB1ZmNvbiA9IDB4JTA4eFxuIiwKKwkgICAgcmRfcmVnbChwb3J0LCBTM0MyNDEwX1VMQ09OKSwKKwkgICAgcmRfcmVnbChwb3J0LCBTM0MyNDEwX1VDT04pLAorCSAgICByZF9yZWdsKHBvcnQsIFMzQzI0MTBfVUZDT04pKTsKKworCS8qCisJICogVXBkYXRlIHRoZSBwZXItcG9ydCB0aW1lb3V0LgorCSAqLworCXVhcnRfdXBkYXRlX3RpbWVvdXQocG9ydCwgdGVybWlvcy0+Y19jZmxhZywgYmF1ZCk7CisKKwkvKgorCSAqIFdoaWNoIGNoYXJhY3RlciBzdGF0dXMgZmxhZ3MgYXJlIHdlIGludGVyZXN0ZWQgaW4/CisJICovCisJcG9ydC0+cmVhZF9zdGF0dXNfbWFzayA9IFMzQzI0MTBfVUVSU1RBVF9PVkVSUlVOOworCWlmICh0ZXJtaW9zLT5jX2lmbGFnICYgSU5QQ0spCisJCXBvcnQtPnJlYWRfc3RhdHVzX21hc2sgfD0gUzNDMjQxMF9VRVJTVEFUX0ZSQU1FIHwgUzNDMjQxMF9VRVJTVEFUX1BBUklUWTsKKworCS8qCisJICogV2hpY2ggY2hhcmFjdGVyIHN0YXR1cyBmbGFncyBzaG91bGQgd2UgaWdub3JlPworCSAqLworCXBvcnQtPmlnbm9yZV9zdGF0dXNfbWFzayA9IDA7CisJaWYgKHRlcm1pb3MtPmNfaWZsYWcgJiBJR05QQVIpCisJCXBvcnQtPmlnbm9yZV9zdGF0dXNfbWFzayB8PSBTM0MyNDEwX1VFUlNUQVRfT1ZFUlJVTjsKKwlpZiAodGVybWlvcy0+Y19pZmxhZyAmIElHTkJSSyAmJiB0ZXJtaW9zLT5jX2lmbGFnICYgSUdOUEFSKQorCQlwb3J0LT5pZ25vcmVfc3RhdHVzX21hc2sgfD0gUzNDMjQxMF9VRVJTVEFUX0ZSQU1FOworCisJLyoKKwkgKiBJZ25vcmUgYWxsIGNoYXJhY3RlcnMgaWYgQ1JFQUQgaXMgbm90IHNldC4KKwkgKi8KKwlpZiAoKHRlcm1pb3MtPmNfY2ZsYWcgJiBDUkVBRCkgPT0gMCkKKwkJcG9ydC0+aWdub3JlX3N0YXR1c19tYXNrIHw9IFJYU1RBVF9EVU1NWV9SRUFEOworCisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcG9ydC0+bG9jaywgZmxhZ3MpOworfQorCitzdGF0aWMgY29uc3QgY2hhciAqczNjMjR4eF9zZXJpYWxfdHlwZShzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0KQoreworCXN3aXRjaCAocG9ydC0+dHlwZSkgeworCWNhc2UgUE9SVF9TM0MyNDEwOgorCQlyZXR1cm4gIlMzQzI0MTAiOworCWNhc2UgUE9SVF9TM0MyNDQwOgorCQlyZXR1cm4gIlMzQzI0NDAiOworCWNhc2UgUE9SVF9TM0MyNDEyOgorCQlyZXR1cm4gIlMzQzI0MTIiOworCWRlZmF1bHQ6CisJCXJldHVybiBOVUxMOworCX0KK30KKworI2RlZmluZSBNQVBfU0laRSAoMHgxMDApCisKK3N0YXRpYyB2b2lkIHMzYzI0eHhfc2VyaWFsX3JlbGVhc2VfcG9ydChzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0KQoreworCXJlbGVhc2VfbWVtX3JlZ2lvbihwb3J0LT5tYXBiYXNlLCBNQVBfU0laRSk7Cit9CisKK3N0YXRpYyBpbnQgczNjMjR4eF9zZXJpYWxfcmVxdWVzdF9wb3J0KHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQpCit7CisJY29uc3QgY2hhciAqbmFtZSA9IHMzYzI0eHhfc2VyaWFsX3BvcnRuYW1lKHBvcnQpOworCXJldHVybiByZXF1ZXN0X21lbV9yZWdpb24ocG9ydC0+bWFwYmFzZSwgTUFQX1NJWkUsIG5hbWUpID8gMCA6IC1FQlVTWTsKK30KKworc3RhdGljIHZvaWQgczNjMjR4eF9zZXJpYWxfY29uZmlnX3BvcnQoc3RydWN0IHVhcnRfcG9ydCAqcG9ydCwgaW50IGZsYWdzKQoreworCXN0cnVjdCBzM2MyNHh4X3VhcnRfaW5mbyAqaW5mbyA9IHMzYzI0eHhfcG9ydF90b19pbmZvKHBvcnQpOworCisJaWYgKGZsYWdzICYgVUFSVF9DT05GSUdfVFlQRSAmJgorCSAgICBzM2MyNHh4X3NlcmlhbF9yZXF1ZXN0X3BvcnQocG9ydCkgPT0gMCkKKwkJcG9ydC0+dHlwZSA9IGluZm8tPnR5cGU7Cit9CisKKy8qCisgKiB2ZXJpZnkgdGhlIG5ldyBzZXJpYWxfc3RydWN0IChmb3IgVElPQ1NTRVJJQUwpLgorICovCitzdGF0aWMgaW50CitzM2MyNHh4X3NlcmlhbF92ZXJpZnlfcG9ydChzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0LCBzdHJ1Y3Qgc2VyaWFsX3N0cnVjdCAqc2VyKQoreworCXN0cnVjdCBzM2MyNHh4X3VhcnRfaW5mbyAqaW5mbyA9IHMzYzI0eHhfcG9ydF90b19pbmZvKHBvcnQpOworCisJaWYgKHNlci0+dHlwZSAhPSBQT1JUX1VOS05PV04gJiYgc2VyLT50eXBlICE9IGluZm8tPnR5cGUpCisJCXJldHVybiAtRUlOVkFMOworCisJcmV0dXJuIDA7Cit9CisKKworI2lmZGVmIENPTkZJR19TRVJJQUxfU0FNU1VOR19DT05TT0xFCisKK3N0YXRpYyBzdHJ1Y3QgY29uc29sZSBzM2MyNHh4X3NlcmlhbF9jb25zb2xlOworCisjZGVmaW5lIFMzQzI0WFhfU0VSSUFMX0NPTlNPTEUgJnMzYzI0eHhfc2VyaWFsX2NvbnNvbGUKKyNlbHNlCisjZGVmaW5lIFMzQzI0WFhfU0VSSUFMX0NPTlNPTEUgTlVMTAorI2VuZGlmCisKK3N0YXRpYyBzdHJ1Y3QgdWFydF9vcHMgczNjMjR4eF9zZXJpYWxfb3BzID0geworCS5wbQkJPSBzM2MyNHh4X3NlcmlhbF9wbSwKKwkudHhfZW1wdHkJPSBzM2MyNHh4X3NlcmlhbF90eF9lbXB0eSwKKwkuZ2V0X21jdHJsCT0gczNjMjR4eF9zZXJpYWxfZ2V0X21jdHJsLAorCS5zZXRfbWN0cmwJPSBzM2MyNHh4X3NlcmlhbF9zZXRfbWN0cmwsCisJLnN0b3BfdHgJPSBzM2MyNHh4X3NlcmlhbF9zdG9wX3R4LAorCS5zdGFydF90eAk9IHMzYzI0eHhfc2VyaWFsX3N0YXJ0X3R4LAorCS5zdG9wX3J4CT0gczNjMjR4eF9zZXJpYWxfc3RvcF9yeCwKKwkuZW5hYmxlX21zCT0gczNjMjR4eF9zZXJpYWxfZW5hYmxlX21zLAorCS5icmVha19jdGwJPSBzM2MyNHh4X3NlcmlhbF9icmVha19jdGwsCisJLnN0YXJ0dXAJPSBzM2MyNHh4X3NlcmlhbF9zdGFydHVwLAorCS5zaHV0ZG93bgk9IHMzYzI0eHhfc2VyaWFsX3NodXRkb3duLAorCS5zZXRfdGVybWlvcwk9IHMzYzI0eHhfc2VyaWFsX3NldF90ZXJtaW9zLAorCS50eXBlCQk9IHMzYzI0eHhfc2VyaWFsX3R5cGUsCisJLnJlbGVhc2VfcG9ydAk9IHMzYzI0eHhfc2VyaWFsX3JlbGVhc2VfcG9ydCwKKwkucmVxdWVzdF9wb3J0CT0gczNjMjR4eF9zZXJpYWxfcmVxdWVzdF9wb3J0LAorCS5jb25maWdfcG9ydAk9IHMzYzI0eHhfc2VyaWFsX2NvbmZpZ19wb3J0LAorCS52ZXJpZnlfcG9ydAk9IHMzYzI0eHhfc2VyaWFsX3ZlcmlmeV9wb3J0LAorfTsKKworCitzdGF0aWMgc3RydWN0IHVhcnRfZHJpdmVyIHMzYzI0eHhfdWFydF9kcnYgPSB7CisJLm93bmVyCQk9IFRISVNfTU9EVUxFLAorCS5kZXZfbmFtZQk9ICJzM2MyNDEwX3NlcmlhbCIsCisJLm5yCQk9IDMsCisJLmNvbnMJCT0gUzNDMjRYWF9TRVJJQUxfQ09OU09MRSwKKwkuZHJpdmVyX25hbWUJPSBTM0MyNFhYX1NFUklBTF9OQU1FLAorCS5tYWpvcgkJPSBTM0MyNFhYX1NFUklBTF9NQUpPUiwKKwkubWlub3IJCT0gUzNDMjRYWF9TRVJJQUxfTUlOT1IsCit9OworCitzdGF0aWMgc3RydWN0IHMzYzI0eHhfdWFydF9wb3J0IHMzYzI0eHhfc2VyaWFsX3BvcnRzW05SX1BPUlRTXSA9IHsKKwlbMF0gPSB7CisJCS5wb3J0ID0geworCQkJLmxvY2sJCT0gX19TUElOX0xPQ0tfVU5MT0NLRUQoczNjMjR4eF9zZXJpYWxfcG9ydHNbMF0ucG9ydC5sb2NrKSwKKwkJCS5pb3R5cGUJCT0gVVBJT19NRU0sCisJCQkuaXJxCQk9IElSUV9TM0NVQVJUX1JYMCwKKwkJCS51YXJ0Y2xrCT0gMCwKKwkJCS5maWZvc2l6ZQk9IDE2LAorCQkJLm9wcwkJPSAmczNjMjR4eF9zZXJpYWxfb3BzLAorCQkJLmZsYWdzCQk9IFVQRl9CT09UX0FVVE9DT05GLAorCQkJLmxpbmUJCT0gMCwKKwkJfQorCX0sCisJWzFdID0geworCQkucG9ydCA9IHsKKwkJCS5sb2NrCQk9IF9fU1BJTl9MT0NLX1VOTE9DS0VEKHMzYzI0eHhfc2VyaWFsX3BvcnRzWzFdLnBvcnQubG9jayksCisJCQkuaW90eXBlCQk9IFVQSU9fTUVNLAorCQkJLmlycQkJPSBJUlFfUzNDVUFSVF9SWDEsCisJCQkudWFydGNsawk9IDAsCisJCQkuZmlmb3NpemUJPSAxNiwKKwkJCS5vcHMJCT0gJnMzYzI0eHhfc2VyaWFsX29wcywKKwkJCS5mbGFncwkJPSBVUEZfQk9PVF9BVVRPQ09ORiwKKwkJCS5saW5lCQk9IDEsCisJCX0KKwl9LAorI2lmIE5SX1BPUlRTID4gMgorCisJWzJdID0geworCQkucG9ydCA9IHsKKwkJCS5sb2NrCQk9IF9fU1BJTl9MT0NLX1VOTE9DS0VEKHMzYzI0eHhfc2VyaWFsX3BvcnRzWzJdLnBvcnQubG9jayksCisJCQkuaW90eXBlCQk9IFVQSU9fTUVNLAorCQkJLmlycQkJPSBJUlFfUzNDVUFSVF9SWDIsCisJCQkudWFydGNsawk9IDAsCisJCQkuZmlmb3NpemUJPSAxNiwKKwkJCS5vcHMJCT0gJnMzYzI0eHhfc2VyaWFsX29wcywKKwkJCS5mbGFncwkJPSBVUEZfQk9PVF9BVVRPQ09ORiwKKwkJCS5saW5lCQk9IDIsCisJCX0KKwl9CisjZW5kaWYKK307CisKKy8qIHMzYzI0eHhfc2VyaWFsX3Jlc2V0cG9ydAorICoKKyAqIHdyYXBwZXIgdG8gY2FsbCB0aGUgc3BlY2lmaWMgcmVzZXQgZm9yIHRoaXMgcG9ydCAocmVzZXQgdGhlIGZpZm9zCisgKiBhbmQgdGhlIHNldHRpbmdzKQorKi8KKworc3RhdGljIGlubGluZSBpbnQgczNjMjR4eF9zZXJpYWxfcmVzZXRwb3J0KHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQsCisJCQkJCSAgIHN0cnVjdCBzM2MyNDEwX3VhcnRjZmcgKmNmZykKK3sKKwlzdHJ1Y3QgczNjMjR4eF91YXJ0X2luZm8gKmluZm8gPSBzM2MyNHh4X3BvcnRfdG9faW5mbyhwb3J0KTsKKworCXJldHVybiAoaW5mby0+cmVzZXRfcG9ydCkocG9ydCwgY2ZnKTsKK30KKworLyogczNjMjR4eF9zZXJpYWxfaW5pdF9wb3J0CisgKgorICogaW5pdGlhbGlzZSBhIHNpbmdsZSBzZXJpYWwgcG9ydCBmcm9tIHRoZSBwbGF0Zm9ybSBkZXZpY2UgZ2l2ZW4KKyAqLworCitzdGF0aWMgaW50IHMzYzI0eHhfc2VyaWFsX2luaXRfcG9ydChzdHJ1Y3QgczNjMjR4eF91YXJ0X3BvcnQgKm91cnBvcnQsCisJCQkJICAgIHN0cnVjdCBzM2MyNHh4X3VhcnRfaW5mbyAqaW5mbywKKwkJCQkgICAgc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGxhdGRldikKK3sKKwlzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0ID0gJm91cnBvcnQtPnBvcnQ7CisJc3RydWN0IHMzYzI0MTBfdWFydGNmZyAqY2ZnOworCXN0cnVjdCByZXNvdXJjZSAqcmVzOworCWludCByZXQ7CisKKwlkYmcoInMzYzI0eHhfc2VyaWFsX2luaXRfcG9ydDogcG9ydD0lcCwgcGxhdGRldj0lcFxuIiwgcG9ydCwgcGxhdGRldik7CisKKwlpZiAocGxhdGRldiA9PSBOVUxMKQorCQlyZXR1cm4gLUVOT0RFVjsKKworCWNmZyA9IHMzYzI0eHhfZGV2X3RvX2NmZygmcGxhdGRldi0+ZGV2KTsKKworCWlmIChwb3J0LT5tYXBiYXNlICE9IDApCisJCXJldHVybiAwOworCisJaWYgKGNmZy0+aHdwb3J0ID4gMykKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwkvKiBzZXR1cCBpbmZvIGZvciBwb3J0ICovCisJcG9ydC0+ZGV2CT0gJnBsYXRkZXYtPmRldjsKKwlvdXJwb3J0LT5pbmZvCT0gaW5mbzsKKworCS8qIGNvcHkgdGhlIGluZm8gaW4gZnJvbSBwcm92aWRlZCBzdHJ1Y3R1cmUgKi8KKwlvdXJwb3J0LT5wb3J0LmZpZm9zaXplID0gaW5mby0+Zmlmb3NpemU7CisKKwlkYmcoInMzYzI0eHhfc2VyaWFsX2luaXRfcG9ydDogJXAgKGh3ICVkKS4uLlxuIiwgcG9ydCwgY2ZnLT5od3BvcnQpOworCisJcG9ydC0+dWFydGNsayA9IDE7CisKKwlpZiAoY2ZnLT51YXJ0X2ZsYWdzICYgVVBGX0NPTlNfRkxPVykgeworCQlkYmcoInMzYzI0eHhfc2VyaWFsX2luaXRfcG9ydDogZW5hYmxpbmcgZmxvdyBjb250cm9sXG4iKTsKKwkJcG9ydC0+ZmxhZ3MgfD0gVVBGX0NPTlNfRkxPVzsKKwl9CisKKwkvKiBzb3J0IG91ciB0aGUgcGh5c2ljYWwgYW5kIHZpcnR1YWwgYWRkcmVzc2VzIGZvciBlYWNoIFVBUlQgKi8KKworCXJlcyA9IHBsYXRmb3JtX2dldF9yZXNvdXJjZShwbGF0ZGV2LCBJT1JFU09VUkNFX01FTSwgMCk7CisJaWYgKHJlcyA9PSBOVUxMKSB7CisJCXByaW50ayhLRVJOX0VSUiAiZmFpbGVkIHRvIGZpbmQgbWVtb3J5IHJlc291cmNlIGZvciB1YXJ0XG4iKTsKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCisJZGJnKCJyZXNvdXJjZSAlcCAoJWx4Li4lbHgpXG4iLCByZXMsIHJlcy0+c3RhcnQsIHJlcy0+ZW5kKTsKKworCXBvcnQtPm1hcGJhc2UJPSByZXMtPnN0YXJ0OworCXBvcnQtPm1lbWJhc2UJPSBTM0MyNFhYX1ZBX1VBUlQgKyAocmVzLT5zdGFydCAtIFMzQzI0WFhfUEFfVUFSVCk7CisJcmV0ID0gcGxhdGZvcm1fZ2V0X2lycShwbGF0ZGV2LCAwKTsKKwlpZiAocmV0IDwgMCkKKwkJcG9ydC0+aXJxID0gMDsKKwllbHNlCisJCXBvcnQtPmlycSA9IHJldDsKKworCW91cnBvcnQtPmNsawk9IGNsa19nZXQoJnBsYXRkZXYtPmRldiwgInVhcnQiKTsKKworCWRiZygicG9ydDogbWFwPSUwOHgsIG1lbT0lMDh4LCBpcnE9JWQsIGNsb2NrPSVsZFxuIiwKKwkgICAgcG9ydC0+bWFwYmFzZSwgcG9ydC0+bWVtYmFzZSwgcG9ydC0+aXJxLCBwb3J0LT51YXJ0Y2xrKTsKKworCS8qIHJlc2V0IHRoZSBmaWZvcyAoYW5kIHNldHVwIHRoZSB1YXJ0KSAqLworCXMzYzI0eHhfc2VyaWFsX3Jlc2V0cG9ydChwb3J0LCBjZmcpOworCXJldHVybiAwOworfQorCitzdGF0aWMgc3NpemVfdCBzM2MyNHh4X3NlcmlhbF9zaG93X2Nsa3NyYyhzdHJ1Y3QgZGV2aWNlICpkZXYsCisJCQkJCSAgc3RydWN0IGRldmljZV9hdHRyaWJ1dGUgKmF0dHIsCisJCQkJCSAgY2hhciAqYnVmKQoreworCXN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQgPSBzM2MyNHh4X2Rldl90b19wb3J0KGRldik7CisJc3RydWN0IHMzYzI0eHhfdWFydF9wb3J0ICpvdXJwb3J0ID0gdG9fb3VycG9ydChwb3J0KTsKKworCXJldHVybiBzbnByaW50ZihidWYsIFBBR0VfU0laRSwgIiogJXNcbiIsIG91cnBvcnQtPmNsa3NyYy0+bmFtZSk7Cit9CisKK3N0YXRpYyBERVZJQ0VfQVRUUihjbG9ja19zb3VyY2UsIFNfSVJVR08sIHMzYzI0eHhfc2VyaWFsX3Nob3dfY2xrc3JjLCBOVUxMKTsKKworLyogRGV2aWNlIGRyaXZlciBzZXJpYWwgcG9ydCBwcm9iZSAqLworCitzdGF0aWMgaW50IHByb2JlX2luZGV4OworCitpbnQgczNjMjR4eF9zZXJpYWxfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqZGV2LAorCQkJIHN0cnVjdCBzM2MyNHh4X3VhcnRfaW5mbyAqaW5mbykKK3sKKwlzdHJ1Y3QgczNjMjR4eF91YXJ0X3BvcnQgKm91cnBvcnQ7CisJaW50IHJldDsKKworCWRiZygiczNjMjR4eF9zZXJpYWxfcHJvYmUoJXAsICVwKSAlZFxuIiwgZGV2LCBpbmZvLCBwcm9iZV9pbmRleCk7CisKKwlvdXJwb3J0ID0gJnMzYzI0eHhfc2VyaWFsX3BvcnRzW3Byb2JlX2luZGV4XTsKKwlwcm9iZV9pbmRleCsrOworCisJZGJnKCIlczogaW5pdGlhbGlzaW5nIHBvcnQgJXAuLi5cbiIsIF9fZnVuY19fLCBvdXJwb3J0KTsKKworCXJldCA9IHMzYzI0eHhfc2VyaWFsX2luaXRfcG9ydChvdXJwb3J0LCBpbmZvLCBkZXYpOworCWlmIChyZXQgPCAwKQorCQlnb3RvIHByb2JlX2VycjsKKworCWRiZygiJXM6IGFkZGluZyBwb3J0XG4iLCBfX2Z1bmNfXyk7CisJdWFydF9hZGRfb25lX3BvcnQoJnMzYzI0eHhfdWFydF9kcnYsICZvdXJwb3J0LT5wb3J0KTsKKwlwbGF0Zm9ybV9zZXRfZHJ2ZGF0YShkZXYsICZvdXJwb3J0LT5wb3J0KTsKKworCXJldCA9IGRldmljZV9jcmVhdGVfZmlsZSgmZGV2LT5kZXYsICZkZXZfYXR0cl9jbG9ja19zb3VyY2UpOworCWlmIChyZXQgPCAwKQorCQlwcmludGsoS0VSTl9FUlIgIiVzOiBmYWlsZWQgdG8gYWRkIGNsa3NyYyBhdHRyLlxuIiwgX19mdW5jX18pOworCisJcmV0dXJuIDA7CisKKyBwcm9iZV9lcnI6CisJcmV0dXJuIHJldDsKK30KKworRVhQT1JUX1NZTUJPTF9HUEwoczNjMjR4eF9zZXJpYWxfcHJvYmUpOworCitpbnQgczNjMjR4eF9zZXJpYWxfcmVtb3ZlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKmRldikKK3sKKwlzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0ID0gczNjMjR4eF9kZXZfdG9fcG9ydCgmZGV2LT5kZXYpOworCisJaWYgKHBvcnQpIHsKKwkJZGV2aWNlX3JlbW92ZV9maWxlKCZkZXYtPmRldiwgJmRldl9hdHRyX2Nsb2NrX3NvdXJjZSk7CisJCXVhcnRfcmVtb3ZlX29uZV9wb3J0KCZzM2MyNHh4X3VhcnRfZHJ2LCBwb3J0KTsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworRVhQT1JUX1NZTUJPTF9HUEwoczNjMjR4eF9zZXJpYWxfcmVtb3ZlKTsKKworLyogVUFSVCBwb3dlciBtYW5hZ2VtZW50IGNvZGUgKi8KKworI2lmZGVmIENPTkZJR19QTQorCitzdGF0aWMgaW50IHMzYzI0eHhfc2VyaWFsX3N1c3BlbmQoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqZGV2LCBwbV9tZXNzYWdlX3Qgc3RhdGUpCit7CisJc3RydWN0IHVhcnRfcG9ydCAqcG9ydCA9IHMzYzI0eHhfZGV2X3RvX3BvcnQoJmRldi0+ZGV2KTsKKworCWlmIChwb3J0KQorCQl1YXJ0X3N1c3BlbmRfcG9ydCgmczNjMjR4eF91YXJ0X2RydiwgcG9ydCk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBzM2MyNHh4X3NlcmlhbF9yZXN1bWUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqZGV2KQoreworCXN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQgPSBzM2MyNHh4X2Rldl90b19wb3J0KCZkZXYtPmRldik7CisJc3RydWN0IHMzYzI0eHhfdWFydF9wb3J0ICpvdXJwb3J0ID0gdG9fb3VycG9ydChwb3J0KTsKKworCWlmIChwb3J0KSB7CisJCWNsa19lbmFibGUob3VycG9ydC0+Y2xrKTsKKwkJczNjMjR4eF9zZXJpYWxfcmVzZXRwb3J0KHBvcnQsIHMzYzI0eHhfcG9ydF90b19jZmcocG9ydCkpOworCQljbGtfZGlzYWJsZShvdXJwb3J0LT5jbGspOworCisJCXVhcnRfcmVzdW1lX3BvcnQoJnMzYzI0eHhfdWFydF9kcnYsIHBvcnQpOworCX0KKworCXJldHVybiAwOworfQorI2VuZGlmCisKK2ludCBzM2MyNHh4X3NlcmlhbF9pbml0KHN0cnVjdCBwbGF0Zm9ybV9kcml2ZXIgKmRydiwKKwkJCXN0cnVjdCBzM2MyNHh4X3VhcnRfaW5mbyAqaW5mbykKK3sKKwlkYmcoInMzYzI0eHhfc2VyaWFsX2luaXQoJXAsJXApXG4iLCBkcnYsIGluZm8pOworCisjaWZkZWYgQ09ORklHX1BNCisJZHJ2LT5zdXNwZW5kID0gczNjMjR4eF9zZXJpYWxfc3VzcGVuZDsKKwlkcnYtPnJlc3VtZSA9IHMzYzI0eHhfc2VyaWFsX3Jlc3VtZTsKKyNlbmRpZgorCisJcmV0dXJuIHBsYXRmb3JtX2RyaXZlcl9yZWdpc3RlcihkcnYpOworfQorCitFWFBPUlRfU1lNQk9MX0dQTChzM2MyNHh4X3NlcmlhbF9pbml0KTsKKworLyogbW9kdWxlIGluaXRpYWxpc2F0aW9uIGNvZGUgKi8KKworc3RhdGljIGludCBfX2luaXQgczNjMjR4eF9zZXJpYWxfbW9kaW5pdCh2b2lkKQoreworCWludCByZXQ7CisKKwlyZXQgPSB1YXJ0X3JlZ2lzdGVyX2RyaXZlcigmczNjMjR4eF91YXJ0X2Rydik7CisJaWYgKHJldCA8IDApIHsKKwkJcHJpbnRrKEtFUk5fRVJSICJmYWlsZWQgdG8gcmVnaXN0ZXIgVUFSVCBkcml2ZXJcbiIpOworCQlyZXR1cm4gLTE7CisJfQorCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIF9fZXhpdCBzM2MyNHh4X3NlcmlhbF9tb2RleGl0KHZvaWQpCit7CisJdWFydF91bnJlZ2lzdGVyX2RyaXZlcigmczNjMjR4eF91YXJ0X2Rydik7Cit9CisKK21vZHVsZV9pbml0KHMzYzI0eHhfc2VyaWFsX21vZGluaXQpOworbW9kdWxlX2V4aXQoczNjMjR4eF9zZXJpYWxfbW9kZXhpdCk7CisKKy8qIENvbnNvbGUgY29kZSAqLworCisjaWZkZWYgQ09ORklHX1NFUklBTF9TQU1TVU5HX0NPTlNPTEUKKworc3RhdGljIHN0cnVjdCB1YXJ0X3BvcnQgKmNvbnNfdWFydDsKKworc3RhdGljIGludAorczNjMjR4eF9zZXJpYWxfY29uc29sZV90eHJkeShzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0LCB1bnNpZ25lZCBpbnQgdWZjb24pCit7CisJc3RydWN0IHMzYzI0eHhfdWFydF9pbmZvICppbmZvID0gczNjMjR4eF9wb3J0X3RvX2luZm8ocG9ydCk7CisJdW5zaWduZWQgbG9uZyB1ZnN0YXQsIHV0cnN0YXQ7CisKKwlpZiAodWZjb24gJiBTM0MyNDEwX1VGQ09OX0ZJRk9NT0RFKSB7CisJCS8qIGZpZm8gbW9kZSAtIGNoZWNrIGFtbW91bnQgb2YgZGF0YSBpbiBmaWZvIHJlZ2lzdGVycy4uLiAqLworCisJCXVmc3RhdCA9IHJkX3JlZ2wocG9ydCwgUzNDMjQxMF9VRlNUQVQpOworCQlyZXR1cm4gKHVmc3RhdCAmIGluZm8tPnR4X2ZpZm9mdWxsKSA/IDAgOiAxOworCX0KKworCS8qIGluIG5vbi1maWZvIG1vZGUsIHdlIGdvIGFuZCB1c2UgdGhlIHR4IGJ1ZmZlciBlbXB0eSAqLworCisJdXRyc3RhdCA9IHJkX3JlZ2wocG9ydCwgUzNDMjQxMF9VVFJTVEFUKTsKKwlyZXR1cm4gKHV0cnN0YXQgJiBTM0MyNDEwX1VUUlNUQVRfVFhFKSA/IDEgOiAwOworfQorCitzdGF0aWMgdm9pZAorczNjMjR4eF9zZXJpYWxfY29uc29sZV9wdXRjaGFyKHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQsIGludCBjaCkKK3sKKwl1bnNpZ25lZCBpbnQgdWZjb24gPSByZF9yZWdsKGNvbnNfdWFydCwgUzNDMjQxMF9VRkNPTik7CisJd2hpbGUgKCFzM2MyNHh4X3NlcmlhbF9jb25zb2xlX3R4cmR5KHBvcnQsIHVmY29uKSkKKwkJYmFycmllcigpOworCXdyX3JlZ2IoY29uc191YXJ0LCBTM0MyNDEwX1VUWEgsIGNoKTsKK30KKworc3RhdGljIHZvaWQKK3MzYzI0eHhfc2VyaWFsX2NvbnNvbGVfd3JpdGUoc3RydWN0IGNvbnNvbGUgKmNvLCBjb25zdCBjaGFyICpzLAorCQkJICAgICB1bnNpZ25lZCBpbnQgY291bnQpCit7CisJdWFydF9jb25zb2xlX3dyaXRlKGNvbnNfdWFydCwgcywgY291bnQsIHMzYzI0eHhfc2VyaWFsX2NvbnNvbGVfcHV0Y2hhcik7Cit9CisKK3N0YXRpYyB2b2lkIF9faW5pdAorczNjMjR4eF9zZXJpYWxfZ2V0X29wdGlvbnMoc3RydWN0IHVhcnRfcG9ydCAqcG9ydCwgaW50ICpiYXVkLAorCQkJICAgaW50ICpwYXJpdHksIGludCAqYml0cykKK3sKKwlzdHJ1Y3QgczNjMjR4eF91YXJ0X2Nsa3NyYyBjbGtzcmM7CisJc3RydWN0IGNsayAqY2xrOworCXVuc2lnbmVkIGludCB1bGNvbjsKKwl1bnNpZ25lZCBpbnQgdWNvbjsKKwl1bnNpZ25lZCBpbnQgdWJyZGl2OworCXVuc2lnbmVkIGxvbmcgcmF0ZTsKKworCXVsY29uICA9IHJkX3JlZ2wocG9ydCwgUzNDMjQxMF9VTENPTik7CisJdWNvbiAgID0gcmRfcmVnbChwb3J0LCBTM0MyNDEwX1VDT04pOworCXVicmRpdiA9IHJkX3JlZ2wocG9ydCwgUzNDMjQxMF9VQlJESVYpOworCisJZGJnKCJzM2MyNHh4X3NlcmlhbF9nZXRfb3B0aW9uczogcG9ydD0lcFxuIgorCSAgICAicmVnaXN0ZXJzOiB1bGNvbj0lMDh4LCB1Y29uPSUwOHgsIHViZHJpdj0lMDh4XG4iLAorCSAgICBwb3J0LCB1bGNvbiwgdWNvbiwgdWJyZGl2KTsKKworCWlmICgodWNvbiAmIDB4ZikgIT0gMCkgeworCQkvKiBjb25zaWRlciB0aGUgc2VyaWFsIHBvcnQgY29uZmlndXJlZCBpZiB0aGUgdHgvcnggbW9kZSBzZXQgKi8KKworCQlzd2l0Y2ggKHVsY29uICYgUzNDMjQxMF9MQ09OX0NTTUFTSykgeworCQljYXNlIFMzQzI0MTBfTENPTl9DUzU6CisJCQkqYml0cyA9IDU7CisJCQlicmVhazsKKwkJY2FzZSBTM0MyNDEwX0xDT05fQ1M2OgorCQkJKmJpdHMgPSA2OworCQkJYnJlYWs7CisJCWNhc2UgUzNDMjQxMF9MQ09OX0NTNzoKKwkJCSpiaXRzID0gNzsKKwkJCWJyZWFrOworCQlkZWZhdWx0OgorCQljYXNlIFMzQzI0MTBfTENPTl9DUzg6CisJCQkqYml0cyA9IDg7CisJCQlicmVhazsKKwkJfQorCisJCXN3aXRjaCAodWxjb24gJiBTM0MyNDEwX0xDT05fUE1BU0spIHsKKwkJY2FzZSBTM0MyNDEwX0xDT05fUEVWRU46CisJCQkqcGFyaXR5ID0gJ2UnOworCQkJYnJlYWs7CisKKwkJY2FzZSBTM0MyNDEwX0xDT05fUE9ERDoKKwkJCSpwYXJpdHkgPSAnbyc7CisJCQlicmVhazsKKworCQljYXNlIFMzQzI0MTBfTENPTl9QTk9ORToKKwkJZGVmYXVsdDoKKwkJCSpwYXJpdHkgPSAnbic7CisJCX0KKworCQkvKiBub3cgY2FsY3VsYXRlIHRoZSBiYXVkIHJhdGUgKi8KKworCQlzM2MyNHh4X3NlcmlhbF9nZXRzb3VyY2UocG9ydCwgJmNsa3NyYyk7CisKKwkJY2xrID0gY2xrX2dldChwb3J0LT5kZXYsIGNsa3NyYy5uYW1lKTsKKwkJaWYgKCFJU19FUlIoY2xrKSAmJiBjbGsgIT0gTlVMTCkKKwkJCXJhdGUgPSBjbGtfZ2V0X3JhdGUoY2xrKSAvIGNsa3NyYy5kaXZpc29yOworCQllbHNlCisJCQlyYXRlID0gMTsKKworCisJCSpiYXVkID0gcmF0ZSAvICgxNiAqICh1YnJkaXYgKyAxKSk7CisJCWRiZygiY2FsY3VsYXRlZCBiYXVkICVkXG4iLCAqYmF1ZCk7CisJfQorCit9CisKKy8qIHMzYzI0eHhfc2VyaWFsX2luaXRfcG9ydHMKKyAqCisgKiBpbml0aWFsaXNlIHRoZSBzZXJpYWwgcG9ydHMgZnJvbSB0aGUgbWFjaGluZSBwcm92aWRlZCBpbml0aWFsaXNhdGlvbgorICogZGF0YS4KKyovCisKK3N0YXRpYyBpbnQgczNjMjR4eF9zZXJpYWxfaW5pdF9wb3J0cyhzdHJ1Y3QgczNjMjR4eF91YXJ0X2luZm8gKmluZm8pCit7CisJc3RydWN0IHMzYzI0eHhfdWFydF9wb3J0ICpwdHIgPSBzM2MyNHh4X3NlcmlhbF9wb3J0czsKKwlzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICoqcGxhdGRldl9wdHI7CisJaW50IGk7CisKKwlkYmcoInMzYzI0eHhfc2VyaWFsX2luaXRfcG9ydHM6IGluaXRpYWxpc2luZyBwb3J0cy4uLlxuIik7CisKKwlwbGF0ZGV2X3B0ciA9IHMzYzI0eHhfdWFydF9kZXZzOworCisJZm9yIChpID0gMDsgaSA8IE5SX1BPUlRTOyBpKyssIHB0cisrLCBwbGF0ZGV2X3B0cisrKSB7CisJCXMzYzI0eHhfc2VyaWFsX2luaXRfcG9ydChwdHIsIGluZm8sICpwbGF0ZGV2X3B0cik7CisJfQorCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgX19pbml0CitzM2MyNHh4X3NlcmlhbF9jb25zb2xlX3NldHVwKHN0cnVjdCBjb25zb2xlICpjbywgY2hhciAqb3B0aW9ucykKK3sKKwlzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0OworCWludCBiYXVkID0gOTYwMDsKKwlpbnQgYml0cyA9IDg7CisJaW50IHBhcml0eSA9ICduJzsKKwlpbnQgZmxvdyA9ICduJzsKKworCWRiZygiczNjMjR4eF9zZXJpYWxfY29uc29sZV9zZXR1cDogY289JXAgKCVkKSwgJXNcbiIsCisJICAgIGNvLCBjby0+aW5kZXgsIG9wdGlvbnMpOworCisJLyogaXMgdGhpcyBhIHZhbGlkIHBvcnQgKi8KKworCWlmIChjby0+aW5kZXggPT0gLTEgfHwgY28tPmluZGV4ID49IE5SX1BPUlRTKQorCQljby0+aW5kZXggPSAwOworCisJcG9ydCA9ICZzM2MyNHh4X3NlcmlhbF9wb3J0c1tjby0+aW5kZXhdLnBvcnQ7CisKKwkvKiBpcyB0aGUgcG9ydCBjb25maWd1cmVkPyAqLworCisJaWYgKHBvcnQtPm1hcGJhc2UgPT0gMHgwKSB7CisJCWNvLT5pbmRleCA9IDA7CisJCXBvcnQgPSAmczNjMjR4eF9zZXJpYWxfcG9ydHNbY28tPmluZGV4XS5wb3J0OworCX0KKworCWNvbnNfdWFydCA9IHBvcnQ7CisKKwlkYmcoInMzYzI0eHhfc2VyaWFsX2NvbnNvbGVfc2V0dXA6IHBvcnQ9JXAgKCVkKVxuIiwgcG9ydCwgY28tPmluZGV4KTsKKworCS8qCisJICogQ2hlY2sgd2hldGhlciBhbiBpbnZhbGlkIHVhcnQgbnVtYmVyIGhhcyBiZWVuIHNwZWNpZmllZCwgYW5kCisJICogaWYgc28sIHNlYXJjaCBmb3IgdGhlIGZpcnN0IGF2YWlsYWJsZSBwb3J0IHRoYXQgZG9lcyBoYXZlCisJICogY29uc29sZSBzdXBwb3J0LgorCSAqLworCWlmIChvcHRpb25zKQorCQl1YXJ0X3BhcnNlX29wdGlvbnMob3B0aW9ucywgJmJhdWQsICZwYXJpdHksICZiaXRzLCAmZmxvdyk7CisJZWxzZQorCQlzM2MyNHh4X3NlcmlhbF9nZXRfb3B0aW9ucyhwb3J0LCAmYmF1ZCwgJnBhcml0eSwgJmJpdHMpOworCisJZGJnKCJzM2MyNHh4X3NlcmlhbF9jb25zb2xlX3NldHVwOiBiYXVkICVkXG4iLCBiYXVkKTsKKworCXJldHVybiB1YXJ0X3NldF9vcHRpb25zKHBvcnQsIGNvLCBiYXVkLCBwYXJpdHksIGJpdHMsIGZsb3cpOworfQorCisvKiBzM2MyNHh4X3NlcmlhbF9pbml0Y29uc29sZQorICoKKyAqIGluaXRpYWxpc2UgdGhlIGNvbnNvbGUgZnJvbSBvbmUgb2YgdGhlIHVhcnQgZHJpdmVycworKi8KKworc3RhdGljIHN0cnVjdCBjb25zb2xlIHMzYzI0eHhfc2VyaWFsX2NvbnNvbGUgPSB7CisJLm5hbWUJCT0gUzNDMjRYWF9TRVJJQUxfTkFNRSwKKwkuZGV2aWNlCQk9IHVhcnRfY29uc29sZV9kZXZpY2UsCisJLmZsYWdzCQk9IENPTl9QUklOVEJVRkZFUiwKKwkuaW5kZXgJCT0gLTEsCisJLndyaXRlCQk9IHMzYzI0eHhfc2VyaWFsX2NvbnNvbGVfd3JpdGUsCisJLnNldHVwCQk9IHMzYzI0eHhfc2VyaWFsX2NvbnNvbGVfc2V0dXAKK307CisKK2ludCBzM2MyNHh4X3NlcmlhbF9pbml0Y29uc29sZShzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVyICpkcnYsCisJCQkgICAgICAgc3RydWN0IHMzYzI0eHhfdWFydF9pbmZvICppbmZvKQorCit7CisJc3RydWN0IHBsYXRmb3JtX2RldmljZSAqZGV2ID0gczNjMjR4eF91YXJ0X2RldnNbMF07CisKKwlkYmcoInMzYzI0eHhfc2VyaWFsX2luaXRjb25zb2xlXG4iKTsKKworCS8qIHNlbGVjdCBkcml2ZXIgYmFzZWQgb24gdGhlIGNwdSAqLworCisJaWYgKGRldiA9PSBOVUxMKSB7CisJCXByaW50ayhLRVJOX0VSUiAiczNjMjR4eDogbm8gZGV2aWNlcyBmb3IgY29uc29sZSBpbml0XG4iKTsKKwkJcmV0dXJuIDA7CisJfQorCisJaWYgKHN0cmNtcChkZXYtPm5hbWUsIGRydi0+ZHJpdmVyLm5hbWUpICE9IDApCisJCXJldHVybiAwOworCisJczNjMjR4eF9zZXJpYWxfY29uc29sZS5kYXRhID0gJnMzYzI0eHhfdWFydF9kcnY7CisJczNjMjR4eF9zZXJpYWxfaW5pdF9wb3J0cyhpbmZvKTsKKworCXJlZ2lzdGVyX2NvbnNvbGUoJnMzYzI0eHhfc2VyaWFsX2NvbnNvbGUpOworCXJldHVybiAwOworfQorCisjZW5kaWYgLyogQ09ORklHX1NFUklBTF9TQU1TVU5HX0NPTlNPTEUgKi8KKworTU9EVUxFX0RFU0NSSVBUSU9OKCJTYW1zdW5nIFNvQyBTZXJpYWwgcG9ydCBkcml2ZXIiKTsKK01PRFVMRV9BVVRIT1IoIkJlbiBEb29rcyA8YmVuQHNpbXRlYy5jby51az4iKTsKK01PRFVMRV9MSUNFTlNFKCJHUEwgdjIiKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvc2VyaWFsL3NhbXN1bmcuaCBiL2RyaXZlcnMvc2VyaWFsL3NhbXN1bmcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41YzkyZWJiCi0tLSAvZGV2L251bGwKKysrIGIvZHJpdmVycy9zZXJpYWwvc2Ftc3VuZy5oCkBAIC0wLDAgKzEsMTAyIEBACisvKiBsaW51eC9kcml2ZXJzL3NlcmlhbC9zYW1zdW5nLmgKKyAqCisgKiBEcml2ZXIgZm9yIFNhbXN1bmcgU29DIG9uYm9hcmQgVUFSVHMuCisgKgorICogQmVuIERvb2tzLCBDb3B5cmlnaHQgKGMpIDIwMDMtMjAwNSwyMDA4IFNpbXRlYyBFbGVjdHJvbmljcworICoJaHR0cDovL2FybWxpbnV4LnNpbXRlYy5jby51ay8KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMKKyAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorKi8KKworc3RydWN0IHMzYzI0eHhfdWFydF9pbmZvIHsKKwljaGFyCQkJKm5hbWU7CisJdW5zaWduZWQgaW50CQl0eXBlOworCXVuc2lnbmVkIGludAkJZmlmb3NpemU7CisJdW5zaWduZWQgbG9uZwkJcnhfZmlmb21hc2s7CisJdW5zaWduZWQgbG9uZwkJcnhfZmlmb3NoaWZ0OworCXVuc2lnbmVkIGxvbmcJCXJ4X2ZpZm9mdWxsOworCXVuc2lnbmVkIGxvbmcJCXR4X2ZpZm9tYXNrOworCXVuc2lnbmVkIGxvbmcJCXR4X2ZpZm9zaGlmdDsKKwl1bnNpZ25lZCBsb25nCQl0eF9maWZvZnVsbDsKKworCS8qIGNsb2NrIHNvdXJjZSBjb250cm9sICovCisKKwlpbnQgKCpnZXRfY2xrc3JjKShzdHJ1Y3QgdWFydF9wb3J0ICosIHN0cnVjdCBzM2MyNHh4X3VhcnRfY2xrc3JjICpjbGspOworCWludCAoKnNldF9jbGtzcmMpKHN0cnVjdCB1YXJ0X3BvcnQgKiwgc3RydWN0IHMzYzI0eHhfdWFydF9jbGtzcmMgKmNsayk7CisKKwkvKiB1YXJ0IGNvbnRyb2xzICovCisJaW50ICgqcmVzZXRfcG9ydCkoc3RydWN0IHVhcnRfcG9ydCAqLCBzdHJ1Y3QgczNjMjQxMF91YXJ0Y2ZnICopOworfTsKKworc3RydWN0IHMzYzI0eHhfdWFydF9wb3J0IHsKKwl1bnNpZ25lZCBjaGFyCQkJcnhfY2xhaW1lZDsKKwl1bnNpZ25lZCBjaGFyCQkJdHhfY2xhaW1lZDsKKworCXN0cnVjdCBzM2MyNHh4X3VhcnRfaW5mbwkqaW5mbzsKKwlzdHJ1Y3QgczNjMjR4eF91YXJ0X2Nsa3NyYwkqY2xrc3JjOworCXN0cnVjdCBjbGsJCQkqY2xrOworCXN0cnVjdCBjbGsJCQkqYmF1ZGNsazsKKwlzdHJ1Y3QgdWFydF9wb3J0CQlwb3J0OworfTsKKworLyogY29udmVyc2lvbiBmdW5jdGlvbnMgKi8KKworI2RlZmluZSBzM2MyNHh4X2Rldl90b19wb3J0KF9fZGV2KSAoc3RydWN0IHVhcnRfcG9ydCAqKWRldl9nZXRfZHJ2ZGF0YShfX2RldikKKyNkZWZpbmUgczNjMjR4eF9kZXZfdG9fY2ZnKF9fZGV2KSAoc3RydWN0IHMzYzI0MTBfdWFydGNmZyAqKSgoX19kZXYpLT5wbGF0Zm9ybV9kYXRhKQorCisvKiByZWdpc3RlciBhY2Nlc3MgY29udHJvbHMgKi8KKworI2RlZmluZSBwb3J0YWRkcihwb3J0LCByZWcpICgocG9ydCktPm1lbWJhc2UgKyAocmVnKSkKKworI2RlZmluZSByZF9yZWdiKHBvcnQsIHJlZykgKF9fcmF3X3JlYWRiKHBvcnRhZGRyKHBvcnQsIHJlZykpKQorI2RlZmluZSByZF9yZWdsKHBvcnQsIHJlZykgKF9fcmF3X3JlYWRsKHBvcnRhZGRyKHBvcnQsIHJlZykpKQorCisjZGVmaW5lIHdyX3JlZ2IocG9ydCwgcmVnLCB2YWwpIF9fcmF3X3dyaXRlYih2YWwsIHBvcnRhZGRyKHBvcnQsIHJlZykpCisjZGVmaW5lIHdyX3JlZ2wocG9ydCwgcmVnLCB2YWwpIF9fcmF3X3dyaXRlbCh2YWwsIHBvcnRhZGRyKHBvcnQsIHJlZykpCisKK2V4dGVybiBpbnQgczNjMjR4eF9zZXJpYWxfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqZGV2LAorCQkJCXN0cnVjdCBzM2MyNHh4X3VhcnRfaW5mbyAqdWFydCk7CisKK2V4dGVybiBpbnQgczNjMjR4eF9zZXJpYWxfcmVtb3ZlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKmRldik7CisKK2V4dGVybiBpbnQgczNjMjR4eF9zZXJpYWxfaW5pdGNvbnNvbGUoc3RydWN0IHBsYXRmb3JtX2RyaXZlciAqZHJ2LAorCQkJCSAgICAgIHN0cnVjdCBzM2MyNHh4X3VhcnRfaW5mbyAqdWFydCk7CisKK2V4dGVybiBpbnQgczNjMjR4eF9zZXJpYWxfaW5pdChzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVyICpkcnYsCisJCQkgICAgICAgc3RydWN0IHMzYzI0eHhfdWFydF9pbmZvICppbmZvKTsKKworI2lmZGVmIENPTkZJR19TRVJJQUxfU0FNU1VOR19DT05TT0xFCisKKyNkZWZpbmUgczNjMjR4eF9jb25zb2xlX2luaXQoX19kcnYsIF9faW5mKQkJCVwKK3N0YXRpYyBpbnQgX19pbml0IHMzY19zZXJpYWxfY29uc29sZV9pbml0KHZvaWQpCQkJXAorewkJCQkJCQkJXAorCXJldHVybiBzM2MyNHh4X3NlcmlhbF9pbml0Y29uc29sZShfX2RydiwgX19pbmYpOwlcCit9CQkJCQkJCQlcCisJCQkJCQkJCVwKK2NvbnNvbGVfaW5pdGNhbGwoczNjX3NlcmlhbF9jb25zb2xlX2luaXQpCisKKyNlbHNlCisjZGVmaW5lIHMzYzI0eHhfY29uc29sZV9pbml0KGRydiwgaW5mKSBleHRlcm4gdm9pZCBub19jb25zb2xlKHZvaWQpCisjZW5kaWYKKworI2lmZGVmIENPTkZJR19TRVJJQUxfU0FNU1VOR19ERUJVRworCitleHRlcm4gdm9pZCBwcmludGFzY2lpKGNvbnN0IGNoYXIgKik7CisKK3N0YXRpYyB2b2lkIGRiZyhjb25zdCBjaGFyICpmbXQsIC4uLikKK3sKKwl2YV9saXN0IHZhOworCWNoYXIgYnVmZlsyNTZdOworCisJdmFfc3RhcnQodmEsIGZtdCk7CisJdnNwcmludGYoYnVmZiwgZm10LCB2YSk7CisJdmFfZW5kKHZhKTsKKworCXByaW50YXNjaWkoYnVmZik7Cit9CisKKyNlbHNlCisjZGVmaW5lIGRiZyh4Li4uKSBkbyB7IH0gd2hpbGUgKDApCisjZW5kaWYKZGlmZiAtLWdpdCBhL2RyaXZlcnMvc3BpL3NwaV9pbXguYyBiL2RyaXZlcnMvc3BpL3NwaV9pbXguYwppbmRleCBjNzMwZDA1Li41NGFjN2JlIDEwMDY0NAotLS0gYS9kcml2ZXJzL3NwaS9zcGlfaW14LmMKKysrIGIvZHJpdmVycy9zcGkvc3BpX2lteC5jCkBAIC0yOSw2ICsyOSw3IEBACiAjaW5jbHVkZSA8bGludXgvc3BpL3NwaS5oPgogI2luY2x1ZGUgPGxpbnV4L3dvcmtxdWV1ZS5oPgogI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+CisjaW5jbHVkZSA8bGludXgvY2xrLmg+CiAKICNpbmNsdWRlIDxhc20vaW8uaD4KICNpbmNsdWRlIDxhc20vaXJxLmg+CkBAIC0yNTAsNiArMjUxLDggQEAKIAlpbnQgdHhfZG1hX25lZWRzX3VubWFwOwogCXNpemVfdCB0eF9tYXBfbGVuOwogCXUzMiBkdW1teV9kbWFfYnVmIF9fX19jYWNoZWxpbmVfYWxpZ25lZDsKKworCXN0cnVjdCBjbGsgKmNsazsKIH07CiAKIC8qIFJ1bnRpbWUgc3RhdGUgKi8KQEAgLTg1NSwxNSArODU4LDE1IEBACiAJcmV0dXJuIGRydl9kYXRhLT50cmFuc2Zlcl9oYW5kbGVyKGRydl9kYXRhKTsKIH0KIAotc3RhdGljIGlubGluZSB1MzIgc3BpX3NwZWVkX2h6KHUzMiBkYXRhX3JhdGUpCitzdGF0aWMgaW5saW5lIHUzMiBzcGlfc3BlZWRfaHooc3RydWN0IGRyaXZlcl9kYXRhICpkcnZfZGF0YSwgdTMyIGRhdGFfcmF0ZSkKIHsKLQlyZXR1cm4gaW14X2dldF9wZXJjbGsyKCkgLyAoNCA8PCAoKGRhdGFfcmF0ZSkgPj4gMTMpKTsKKwlyZXR1cm4gY2xrX2dldF9yYXRlKGRydl9kYXRhLT5jbGspIC8gKDQgPDwgKChkYXRhX3JhdGUpID4+IDEzKSk7CiB9CiAKLXN0YXRpYyB1MzIgc3BpX2RhdGFfcmF0ZSh1MzIgc3BlZWRfaHopCitzdGF0aWMgdTMyIHNwaV9kYXRhX3JhdGUoc3RydWN0IGRyaXZlcl9kYXRhICpkcnZfZGF0YSwgdTMyIHNwZWVkX2h6KQogewogCXUzMiBkaXY7Ci0JdTMyIHF1YW50aXplZF9oeiA9IGlteF9nZXRfcGVyY2xrMigpID4+IDI7CisJdTMyIHF1YW50aXplZF9oeiA9IGNsa19nZXRfcmF0ZShkcnZfZGF0YS0+Y2xrKSA+PiAyOwogCiAJZm9yIChkaXYgPSBTUElfUEVSQ0xLMl9ESVZfTUlOOwogCQlkaXYgPD0gU1BJX1BFUkNMSzJfRElWX01BWDsKQEAgLTk0Nyw3ICs5NTAsNyBAQAogCXRtcCA9IHRyYW5zZmVyLT5zcGVlZF9oejsKIAlpZiAodG1wID09IDApCiAJCXRtcCA9IGNoaXAtPm1heF9zcGVlZF9oejsKLQl0bXAgPSBzcGlfZGF0YV9yYXRlKHRtcCk7CisJdG1wID0gc3BpX2RhdGFfcmF0ZShkcnZfZGF0YSwgdG1wKTsKIAl1MzJfRURJVChjb250cm9sLCBTUElfQ09OVFJPTF9EQVRBUkFURSwgdG1wKTsKIAogCXdyaXRlbChjb250cm9sLCByZWdzICsgU1BJX0NPTlRST0wpOwpAQCAtMTEwOSw3ICsxMTEyLDcgQEAKIAltc2ctPmFjdHVhbF9sZW5ndGggPSAwOwogCiAJLyogUGVyIHRyYW5zZmVyIHNldHVwIGNoZWNrICovCi0JbWluX3NwZWVkX2h6ID0gc3BpX3NwZWVkX2h6KFNQSV9DT05UUk9MX0RBVEFSQVRFX01JTik7CisJbWluX3NwZWVkX2h6ID0gc3BpX3NwZWVkX2h6KGRydl9kYXRhLCBTUElfQ09OVFJPTF9EQVRBUkFURV9NSU4pOwogCW1heF9zcGVlZF9oeiA9IHNwaS0+bWF4X3NwZWVkX2h6OwogCWxpc3RfZm9yX2VhY2hfZW50cnkodHJhbnMsICZtc2ctPnRyYW5zZmVycywgdHJhbnNmZXJfbGlzdCkgewogCQl0bXAgPSB0cmFucy0+Yml0c19wZXJfd29yZDsKQEAgLTExNzYsNiArMTE3OSw3IEBACiAgICBhcHBsaWVkIGFuZCBub3RpZmllZCB0byB0aGUgY2FsbGluZyBkcml2ZXIuICovCiBzdGF0aWMgaW50IHNldHVwKHN0cnVjdCBzcGlfZGV2aWNlICpzcGkpCiB7CisJc3RydWN0IGRyaXZlcl9kYXRhICpkcnZfZGF0YSA9IHNwaV9tYXN0ZXJfZ2V0X2RldmRhdGEoc3BpLT5tYXN0ZXIpOwogCXN0cnVjdCBzcGlfaW14X2NoaXAgKmNoaXBfaW5mbzsKIAlzdHJ1Y3QgY2hpcF9kYXRhICpjaGlwOwogCWludCBmaXJzdF9zZXR1cCA9IDA7CkBAIC0xMzA0LDE0ICsxMzA4LDE0IEBACiAJY2hpcC0+bl9ieXRlcyA9ICh0bXAgPD0gOCkgPyAxIDogMjsKIAogCS8qIFNQSSBkYXRhcmF0ZSAqLwotCXRtcCA9IHNwaV9kYXRhX3JhdGUoc3BpLT5tYXhfc3BlZWRfaHopOworCXRtcCA9IHNwaV9kYXRhX3JhdGUoZHJ2X2RhdGEsIHNwaS0+bWF4X3NwZWVkX2h6KTsKIAlpZiAodG1wID09IFNQSV9DT05UUk9MX0RBVEFSQVRFX0JBRCkgewogCQlzdGF0dXMgPSAtRUlOVkFMOwogCQlkZXZfZXJyKCZzcGktPmRldiwKIAkJCSJzZXR1cCAtICIKIAkJCSJIVyBtaW4gc3BlZWQgKCVkIEh6KSBleGNlZWRzIHJlcXVpcmVkICIKIAkJCSJtYXggc3BlZWQgKCVkIEh6KVxuIiwKLQkJCXNwaV9zcGVlZF9oeihTUElfQ09OVFJPTF9EQVRBUkFURV9NSU4pLAorCQkJc3BpX3NwZWVkX2h6KGRydl9kYXRhLCBTUElfQ09OVFJPTF9EQVRBUkFURV9NSU4pLAogCQkJc3BpLT5tYXhfc3BlZWRfaHopOwogCQlpZiAoZmlyc3Rfc2V0dXApCiAJCQlnb3RvIGVycl9maXJzdF9zZXR1cDsKQEAgLTEzMjEsNyArMTMyNSw3IEBACiAJfSBlbHNlIHsKIAkJdTMyX0VESVQoY2hpcC0+Y29udHJvbCwgU1BJX0NPTlRST0xfREFUQVJBVEUsIHRtcCk7CiAJCS8qIEFjdHVhbCByb3VuZGVkIG1heF9zcGVlZF9oeiAqLwotCQl0bXAgPSBzcGlfc3BlZWRfaHoodG1wKTsKKwkJdG1wID0gc3BpX3NwZWVkX2h6KGRydl9kYXRhLCB0bXApOwogCQlzcGktPm1heF9zcGVlZF9oeiA9IHRtcDsKIAkJY2hpcC0+bWF4X3NwZWVkX2h6ID0gdG1wOwogCX0KQEAgLTEzNTIsNyArMTM1Niw3IEBACiAJCWNoaXAtPnBlcmlvZCAmIFNQSV9QRVJJT0RfV0FJVCwKIAkJc3BpLT5tb2RlLAogCQlzcGktPmJpdHNfcGVyX3dvcmQsCi0JCXNwaV9zcGVlZF9oeihTUElfQ09OVFJPTF9EQVRBUkFURV9NSU4pLAorCQlzcGlfc3BlZWRfaHooZHJ2X2RhdGEsIFNQSV9DT05UUk9MX0RBVEFSQVRFX01JTiksCiAJCXNwaS0+bWF4X3NwZWVkX2h6KTsKIAlyZXR1cm4gc3RhdHVzOwogCkBAIC0xNDY1LDYgKzE0NjksMTQgQEAKIAkJZ290byBlcnJfbm9fcGRhdGE7CiAJfQogCisJZHJ2X2RhdGEtPmNsayA9IGNsa19nZXQoJnBkZXYtPmRldiwgInBlcmNsazIiKTsKKwlpZiAoSVNfRVJSKGRydl9kYXRhLT5jbGspKSB7CisJCWRldl9lcnIoJnBkZXYtPmRldiwgInByb2JlIC0gY2Fubm90IGdldCBnZXRcbiIpOworCQlzdGF0dXMgPSBQVFJfRVJSKGRydl9kYXRhLT5jbGspOworCQlnb3RvIGVycl9ub19jbGs7CisJfQorCWNsa19lbmFibGUoZHJ2X2RhdGEtPmNsayk7CisKIAkvKiBBbGxvY2F0ZSBtYXN0ZXIgd2l0aCBzcGFjZSBmb3IgZHJ2X2RhdGEgKi8KIAltYXN0ZXIgPSBzcGlfYWxsb2NfbWFzdGVyKGRldiwgc2l6ZW9mKHN0cnVjdCBkcml2ZXJfZGF0YSkpOwogCWlmICghbWFzdGVyKSB7CkBAIC0xNTI2LDI0ICsxNTM4LDI0IEBACiAJZHJ2X2RhdGEtPnJ4X2NoYW5uZWwgPSAtMTsKIAlpZiAocGxhdGZvcm1faW5mby0+ZW5hYmxlX2RtYSkgewogCQkvKiBHZXQgcnggRE1BIGNoYW5uZWwgKi8KLQkJc3RhdHVzID0gaW14X2RtYV9yZXF1ZXN0X2J5X3ByaW8oJmRydl9kYXRhLT5yeF9jaGFubmVsLAotCQkJInNwaV9pbXhfcngiLCBETUFfUFJJT19ISUdIKTsKLQkJaWYgKHN0YXR1cyA8IDApIHsKKwkJZHJ2X2RhdGEtPnJ4X2NoYW5uZWwgPSBpbXhfZG1hX3JlcXVlc3RfYnlfcHJpbygic3BpX2lteF9yeCIsCisJCQkJCQkJICAgICAgIERNQV9QUklPX0hJR0gpOworCQlpZiAoZHJ2X2RhdGEtPnJ4X2NoYW5uZWwgPCAwKSB7CiAJCQlkZXZfZXJyKGRldiwKIAkJCQkicHJvYmUgLSBwcm9ibGVtICglZCkgcmVxdWVzdGluZyByeCBjaGFubmVsXG4iLAotCQkJCXN0YXR1cyk7CisJCQkJZHJ2X2RhdGEtPnJ4X2NoYW5uZWwpOwogCQkJZ290byBlcnJfbm9fcnhkbWE7CiAJCX0gZWxzZQogCQkJaW14X2RtYV9zZXR1cF9oYW5kbGVycyhkcnZfZGF0YS0+cnhfY2hhbm5lbCwgTlVMTCwKIAkJCQkJCWRtYV9lcnJfaGFuZGxlciwgZHJ2X2RhdGEpOwogCiAJCS8qIEdldCB0eCBETUEgY2hhbm5lbCAqLwotCQlzdGF0dXMgPSBpbXhfZG1hX3JlcXVlc3RfYnlfcHJpbygmZHJ2X2RhdGEtPnR4X2NoYW5uZWwsCi0JCQkJCQkic3BpX2lteF90eCIsIERNQV9QUklPX01FRElVTSk7Ci0JCWlmIChzdGF0dXMgPCAwKSB7CisJCWRydl9kYXRhLT50eF9jaGFubmVsID0gaW14X2RtYV9yZXF1ZXN0X2J5X3ByaW8oInNwaV9pbXhfdHgiLAorCQkJCQkJCSAgICAgICBETUFfUFJJT19NRURJVU0pOworCQlpZiAoZHJ2X2RhdGEtPnR4X2NoYW5uZWwgPCAwKSB7CiAJCQlkZXZfZXJyKGRldiwKIAkJCQkicHJvYmUgLSBwcm9ibGVtICglZCkgcmVxdWVzdGluZyB0eCBjaGFubmVsXG4iLAotCQkJCXN0YXR1cyk7CisJCQkJZHJ2X2RhdGEtPnR4X2NoYW5uZWwpOwogCQkJaW14X2RtYV9mcmVlKGRydl9kYXRhLT5yeF9jaGFubmVsKTsKIAkJCWdvdG8gZXJyX25vX3R4ZG1hOwogCQl9IGVsc2UKQEAgLTE2MjMsNiArMTYzNSw5IEBACiAJc3BpX21hc3Rlcl9wdXQobWFzdGVyKTsKIAogZXJyX25vX3BkYXRhOgorCWNsa19kaXNhYmxlKGRydl9kYXRhLT5jbGspOworCWNsa19wdXQoZHJ2X2RhdGEtPmNsayk7CitlcnJfbm9fY2xrOgogZXJyX25vX21lbToKIAlyZXR1cm4gc3RhdHVzOwogfQpAQCAtMTY2Miw2ICsxNjc3LDkgQEAKIAlpZiAoaXJxID49IDApCiAJCWZyZWVfaXJxKGlycSwgZHJ2X2RhdGEpOwogCisJY2xrX2Rpc2FibGUoZHJ2X2RhdGEtPmNsayk7CisJY2xrX3B1dChkcnZfZGF0YS0+Y2xrKTsKKwogCS8qIFJlbGVhc2UgbWFwIHJlc291cmNlcyAqLwogCWlvdW5tYXAoZHJ2X2RhdGEtPnJlZ3MpOwogCXJlbGVhc2VfcmVzb3VyY2UoZHJ2X2RhdGEtPmlvYXJlYSk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3NwaS9zcGlkZXYuYyBiL2RyaXZlcnMvc3BpL3NwaWRldi5jCmluZGV4IGY1YjYwYzcuLmRkYmUxYTUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvc3BpL3NwaWRldi5jCisrKyBiL2RyaXZlcnMvc3BpL3NwaWRldi5jCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSA8bGludXgvZXJybm8uaD4KICNpbmNsdWRlIDxsaW51eC9tdXRleC5oPgogI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogCiAjaW5jbHVkZSA8bGludXgvc3BpL3NwaS5oPgogI2luY2x1ZGUgPGxpbnV4L3NwaS9zcGlkZXYuaD4KQEAgLTQ2NCw2ICs0NjUsNyBAQAogCXN0cnVjdCBzcGlkZXZfZGF0YQkqc3BpZGV2OwogCWludAkJCXN0YXR1cyA9IC1FTlhJTzsKIAorCWxvY2tfa2VybmVsKCk7CiAJbXV0ZXhfbG9jaygmZGV2aWNlX2xpc3RfbG9jayk7CiAKIAlsaXN0X2Zvcl9lYWNoX2VudHJ5KHNwaWRldiwgJmRldmljZV9saXN0LCBkZXZpY2VfZW50cnkpIHsKQEAgLTQ4OSw2ICs0OTEsNyBAQAogCQlwcl9kZWJ1Zygic3BpZGV2OiBub3RoaW5nIGZvciBtaW5vciAlZFxuIiwgaW1pbm9yKGlub2RlKSk7CiAKIAltdXRleF91bmxvY2soJmRldmljZV9saXN0X2xvY2spOworCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gc3RhdHVzOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL3RlbGVwaG9ueS9waG9uZWRldi5jIGIvZHJpdmVycy90ZWxlcGhvbnkvcGhvbmVkZXYuYwppbmRleCBiY2VhOGQ5Li40ZDc0YmEzIDEwMDY0NAotLS0gYS9kcml2ZXJzL3RlbGVwaG9ueS9waG9uZWRldi5jCisrKyBiL2RyaXZlcnMvdGVsZXBob255L3Bob25lZGV2LmMKQEAgLTIzLDYgKzIzLDcgQEAKICNpbmNsdWRlIDxsaW51eC9lcnJuby5oPgogI2luY2x1ZGUgPGxpbnV4L3Bob25lZGV2Lmg+CiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8YXNtL3VhY2Nlc3MuaD4KICNpbmNsdWRlIDxhc20vc3lzdGVtLmg+CiAKQEAgLTUzLDYgKzU0LDcgQEAKIAlpZiAobWlub3IgPj0gUEhPTkVfTlVNX0RFVklDRVMpCiAJCXJldHVybiAtRU5PREVWOwogCisJbG9ja19rZXJuZWwoKTsKIAltdXRleF9sb2NrKCZwaG9uZV9sb2NrKTsKIAlwID0gcGhvbmVfZGV2aWNlW21pbm9yXTsKIAlpZiAocCkKQEAgLTc5LDYgKzgxLDcgQEAKIAlmb3BzX3B1dChvbGRfZm9wcyk7CiBlbmQ6CiAJbXV0ZXhfdW5sb2NrKCZwaG9uZV9sb2NrKTsKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIGVycjsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy91aW8vdWlvLmMgYi9kcml2ZXJzL3Vpby91aW8uYwppbmRleCAwYTEyZTkwLi41YTdjYTJlIDEwMDY0NAotLS0gYS9kcml2ZXJzL3Vpby91aW8uYworKysgYi9kcml2ZXJzL3Vpby91aW8uYwpAQCAtMjk3LDEyICsyOTcsMTcgQEAKIAlzdHJ1Y3QgdWlvX2xpc3RlbmVyICpsaXN0ZW5lcjsKIAlpbnQgcmV0ID0gMDsKIAorCWxvY2tfa2VybmVsKCk7CiAJaWRldiA9IGlkcl9maW5kKCZ1aW9faWRyLCBpbWlub3IoaW5vZGUpKTsKLQlpZiAoIWlkZXYpCi0JCXJldHVybiAtRU5PREVWOworCWlmICghaWRldikgeworCQlyZXQgPSAtRU5PREVWOworCQlnb3RvIG91dDsKKwl9CiAKLQlpZiAoIXRyeV9tb2R1bGVfZ2V0KGlkZXYtPm93bmVyKSkKLQkJcmV0dXJuIC1FTk9ERVY7CisJaWYgKCF0cnlfbW9kdWxlX2dldChpZGV2LT5vd25lcikpIHsKKwkJcmV0ID0gLUVOT0RFVjsKKwkJZ290byBvdXQ7CisJfQogCiAJbGlzdGVuZXIgPSBrbWFsbG9jKHNpemVvZigqbGlzdGVuZXIpLCBHRlBfS0VSTkVMKTsKIAlpZiAoIWxpc3RlbmVyKSB7CkBAIC0zMTksNyArMzI0LDcgQEAKIAkJaWYgKHJldCkKIAkJCWdvdG8gZXJyX2luZm9vcGVuOwogCX0KLQorCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gMDsKIAogZXJyX2luZm9vcGVuOgpAQCAtMzI5LDYgKzMzNCw4IEBACiAKIAltb2R1bGVfcHV0KGlkZXYtPm93bmVyKTsKIAorb3V0OgorCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gcmV0OwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9hdG0vY3hhY3J1LmMgYi9kcml2ZXJzL3VzYi9hdG0vY3hhY3J1LmMKaW5kZXggNWVhMzA5My4uOTA1ODNkNiAxMDA2NDQKLS0tIGEvZHJpdmVycy91c2IvYXRtL2N4YWNydS5jCisrKyBiL2RyaXZlcnMvdXNiL2F0bS9jeGFjcnUuYwpAQCAtODIwLDcgKzgyMCw3IEBACiB9CiAKIHN0YXRpYyBpbnQgY3hhY3J1X2Z3KHN0cnVjdCB1c2JfZGV2aWNlICp1c2JfZGV2LCBlbnVtIGN4YWNydV9md19yZXF1ZXN0IGZ3LAotCQkgICAgIHU4IGNvZGUxLCB1OCBjb2RlMiwgdTMyIGFkZHIsIHU4ICpkYXRhLCBpbnQgc2l6ZSkKKwkJICAgICB1OCBjb2RlMSwgdTggY29kZTIsIHUzMiBhZGRyLCBjb25zdCB1OCAqZGF0YSwgaW50IHNpemUpCiB7CiAJaW50IHJldDsKIAl1OCAqYnVmOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2IvYXRtL3VlYWdsZS1hdG0uYyBiL2RyaXZlcnMvdXNiL2F0bS91ZWFnbGUtYXRtLmMKaW5kZXggNWY3MWZmMy4uY2IwMWI1MSAxMDA2NDQKLS0tIGEvZHJpdmVycy91c2IvYXRtL3VlYWdsZS1hdG0uYworKysgYi9kcml2ZXJzL3VzYi9hdG0vdWVhZ2xlLWF0bS5jCkBAIC01NzksNyArNTc5LDcgQEAKICAqIHVlYV9zZW5kX21vZGVtX2NtZCAtIFNlbmQgYSBjb21tYW5kIGZvciBwcmUtZmlybXdhcmUgZGV2aWNlcy4KICAqLwogc3RhdGljIGludCB1ZWFfc2VuZF9tb2RlbV9jbWQoc3RydWN0IHVzYl9kZXZpY2UgKnVzYiwKLQkJdTE2IGFkZHIsIHUxNiBzaXplLCB1OCAqIGJ1ZmYpCisJCQkgICAgICB1MTYgYWRkciwgdTE2IHNpemUsIGNvbnN0IHU4ICpidWZmKQogewogCWludCByZXQgPSAtRU5PTUVNOwogCXU4ICp4ZmVyX2J1ZmY7CkBAIC02MDQsNyArNjA0LDggQEAKIHN0YXRpYyB2b2lkIHVlYV91cGxvYWRfcHJlX2Zpcm13YXJlKGNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqZndfZW50cnksIHZvaWQgKmNvbnRleHQpCiB7CiAJc3RydWN0IHVzYl9kZXZpY2UgKnVzYiA9IGNvbnRleHQ7Ci0JdTggKnBmdywgdmFsdWU7CisJY29uc3QgdTggKnBmdzsKKwl1OCB2YWx1ZTsKIAl1MzIgY3JjID0gMDsKIAlpbnQgcmV0LCBzaXplOwogCkBAIC03MjAsNyArNzIxLDcgQEAKIC8qCiAgKiBNYWtlIHN1cmUgdGhhdCB0aGUgRFNQIGNvZGUgcHJvdmlkZWQgaXMgc2FmZSB0byB1c2UuCiAgKi8KLXN0YXRpYyBpbnQgY2hlY2tfZHNwX2UxKHU4ICpkc3AsIHVuc2lnbmVkIGludCBsZW4pCitzdGF0aWMgaW50IGNoZWNrX2RzcF9lMShjb25zdCB1OCAqZHNwLCB1bnNpZ25lZCBpbnQgbGVuKQogewogCXU4IHBhZ2Vjb3VudCwgYmxvY2tjb3VudDsKIAl1MTYgYmxvY2tzaXplOwpAQCAtNzcxLDcgKzc3Miw3IEBACiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgY2hlY2tfZHNwX2U0KHU4ICpkc3AsIGludCBsZW4pCitzdGF0aWMgaW50IGNoZWNrX2RzcF9lNChjb25zdCB1OCAqZHNwLCBpbnQgbGVuKQogewogCWludCBpOwogCXN0cnVjdCBsMV9jb2RlICpwID0gKHN0cnVjdCBsMV9jb2RlICopIGRzcDsKQEAgLTgxOSw3ICs4MjAsNyBAQAogLyoKICAqIHNlbmQgZGF0YSB0byB0aGUgaWRtYSBwaXBlCiAgKiAqLwotc3RhdGljIGludCB1ZWFfaWRtYV93cml0ZShzdHJ1Y3QgdWVhX3NvZnRjICpzYywgdm9pZCAqZGF0YSwgdTMyIHNpemUpCitzdGF0aWMgaW50IHVlYV9pZG1hX3dyaXRlKHN0cnVjdCB1ZWFfc29mdGMgKnNjLCBjb25zdCB2b2lkICpkYXRhLCB1MzIgc2l6ZSkKIHsKIAlpbnQgcmV0ID0gLUVOT01FTTsKIAl1OCAqeGZlcl9idWZmOwpAQCAtOTAzLDcgKzkwNCw3IEBACiAJdTE2IG92bCA9IHNjLT5vdmw7CiAJc3RydWN0IGJsb2NrX2luZm9fZTEgYmk7CiAKLQl1OCAqcDsKKwljb25zdCB1OCAqcDsKIAl1OCBwYWdlY291bnQsIGJsb2NrY291bnQ7CiAJdTE2IGJsb2NrYWRkciwgYmxvY2tzaXplOwogCXUzMiBwYWdlb2Zmc2V0OwpAQCAtOTg2LDcgKzk4Nyw3IEBACiAJYmkud1Jlc2VydmVkID0gY3B1X3RvX2JlMTYoVUVBX1JFU0VSVkVEKTsKIAogCWRvIHsKLQkJdTggKmJsb2Nrb2Zmc2V0OworCQljb25zdCB1OCAqYmxvY2tvZmZzZXQ7CiAJCXVuc2lnbmVkIGludCBibG9ja3NpemU7CiAKIAkJYmxvY2tpZHggPSAmcC0+cGFnZV9oZWFkZXJbYmxvY2tub107CkBAIC0xMDk1LDcgKzEwOTYsNyBAQAogI2RlZmluZSBVQ0RDX1NFTkRfRU5DQVBTVUxBVEVEX0NPTU1BTkQgMHgwMAogCiBzdGF0aWMgaW50IHVlYV9yZXF1ZXN0KHN0cnVjdCB1ZWFfc29mdGMgKnNjLAotCQl1MTYgdmFsdWUsIHUxNiBpbmRleCwgdTE2IHNpemUsIHZvaWQgKmRhdGEpCisJCXUxNiB2YWx1ZSwgdTE2IGluZGV4LCB1MTYgc2l6ZSwgY29uc3Qgdm9pZCAqZGF0YSkKIHsKIAl1OCAqeGZlcl9idWZmOwogCWludCByZXQgPSAtRU5PTUVNOwpAQCAtMTg5MSw3ICsxODkyLDggQEAKIHsKIAljb25zdCBzdHJ1Y3QgZmlybXdhcmUgKmZ3X2VudHJ5OwogCWludCByZXQsIHNpemUsIHUsIGxuOwotCXU4ICpwZncsIHZhbHVlOworCWNvbnN0IHU4ICpwZnc7CisJdTggdmFsdWU7CiAJY2hhciAqZndfbmFtZSA9IEZXX0RJUiAiOTMwLWZwZ2EuYmluIjsKIAogCXVlYV9lbnRlcnMoSU5TX1RPX1VTQkRFVihzYykpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2IvY29yZS9kZXZpby5jIGIvZHJpdmVycy91c2IvY29yZS9kZXZpby5jCmluZGV4IGRlMTc3MzguLjkyMThjY2EgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdXNiL2NvcmUvZGV2aW8uYworKysgYi9kcml2ZXJzL3VzYi9jb3JlL2RldmlvLmMKQEAgLTU2NSw2ICs1NjUsNyBAQAogCXN0cnVjdCBkZXZfc3RhdGUgKnBzOwogCWludCByZXQ7CiAKKwlsb2NrX2tlcm5lbCgpOwogCS8qIFByb3RlY3QgYWdhaW5zdCBzaW11bHRhbmVvdXMgcmVtb3ZhbCBvciByZWxlYXNlICovCiAJbXV0ZXhfbG9jaygmdXNiZnNfbXV0ZXgpOwogCkBAIC02MTEsNiArNjEyLDcgQEAKIAlpZiAocmV0KQogCQlrZnJlZShwcyk7CiAJbXV0ZXhfdW5sb2NrKCZ1c2Jmc19tdXRleCk7CisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiByZXQ7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL2NvcmUvZmlsZS5jIGIvZHJpdmVycy91c2IvY29yZS9maWxlLmMKaW5kZXggODEzM2M5OS4uYzZhOTUzOSAxMDA2NDQKLS0tIGEvZHJpdmVycy91c2IvY29yZS9maWxlLmMKKysrIGIvZHJpdmVycy91c2IvY29yZS9maWxlLmMKQEAgLTE4LDYgKzE4LDcgQEAKICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KICNpbmNsdWRlIDxsaW51eC9lcnJuby5oPgogI2luY2x1ZGUgPGxpbnV4L3J3c2VtLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxsaW51eC91c2IuaD4KIAogI2luY2x1ZGUgInVzYi5oIgpAQCAtMzMsNiArMzQsNyBAQAogCWludCBlcnIgPSAtRU5PREVWOwogCWNvbnN0IHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgKm9sZF9mb3BzLCAqbmV3X2ZvcHMgPSBOVUxMOwogCisJbG9ja19rZXJuZWwoKTsKIAlkb3duX3JlYWQoJm1pbm9yX3J3c2VtKTsKIAljID0gdXNiX21pbm9yc1ttaW5vcl07CiAKQEAgLTUxLDYgKzUzLDcgQEAKIAlmb3BzX3B1dChvbGRfZm9wcyk7CiAgZG9uZToKIAl1cF9yZWFkKCZtaW5vcl9yd3NlbSk7CisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiBlcnI7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL2dhZGdldC9LY29uZmlnIGIvZHJpdmVycy91c2IvZ2FkZ2V0L0tjb25maWcKaW5kZXggNmU3ODRkMi4uZDZiYWIwZCAxMDA2NDQKLS0tIGEvZHJpdmVycy91c2IvZ2FkZ2V0L0tjb25maWcKKysrIGIvZHJpdmVycy91c2IvZ2FkZ2V0L0tjb25maWcKQEAgLTExOCwxMCArMTE4LDEwIEBACiBjb25maWcgVVNCX0dBREdFVF9BVE1FTF9VU0JBCiAJYm9vbGVhbiAiQXRtZWwgVVNCQSIKIAlzZWxlY3QgVVNCX0dBREdFVF9EVUFMU1BFRUQKLQlkZXBlbmRzIG9uIEFWUjMyIHx8IEFSQ0hfQVQ5MUNBUDkKKwlkZXBlbmRzIG9uIEFWUjMyIHx8IEFSQ0hfQVQ5MUNBUDkgfHwgQVJDSF9BVDkxU0FNOVJMCiAJaGVscAogCSAgVVNCQSBpcyB0aGUgaW50ZWdyYXRlZCBoaWdoLXNwZWVkIFVTQiBEZXZpY2UgY29udHJvbGxlciBvbgotCSAgdGhlIEFUMzJBUDcwMHggYW5kIEFUOTFDQVA5IHByb2Nlc3NvcnMgZnJvbSBBdG1lbC4KKwkgIHRoZSBBVDMyQVA3MDB4LCBzb21lIEFUOTFTQU05IGFuZCBBVDkxQ0FQOSBwcm9jZXNzb3JzIGZyb20gQXRtZWwuCiAKIGNvbmZpZyBVU0JfQVRNRUxfVVNCQQogCXRyaXN0YXRlCkBAIC0xNzIsNyArMTcyLDcgQEAKIAlkZWZhdWx0IFVTQl9HQURHRVQKIAlzZWxlY3QgVVNCX0dBREdFVF9TRUxFQ1RFRAogCi1jb25maWcgVVNCX0dBREdFVF9QWEEyWFgKK2NvbmZpZyBVU0JfR0FER0VUX1BYQTI1WAogCWJvb2xlYW4gIlBYQSAyNXggb3IgSVhQIDR4eCIKIAlkZXBlbmRzIG9uIChBUkNIX1BYQSAmJiBQWEEyNXgpIHx8IEFSQ0hfSVhQNFhYCiAJaGVscApAQCAtMTg0LDE5ICsxODQsMTkgQEAKIAkgICB6ZXJvIChmb3IgY29udHJvbCB0cmFuc2ZlcnMpLgogCiAJICAgU2F5ICJ5IiB0byBsaW5rIHRoZSBkcml2ZXIgc3RhdGljYWxseSwgb3IgIm0iIHRvIGJ1aWxkIGEKLQkgICBkeW5hbWljYWxseSBsaW5rZWQgbW9kdWxlIGNhbGxlZCAicHhhMnh4X3VkYyIgYW5kIGZvcmNlIGFsbAorCSAgIGR5bmFtaWNhbGx5IGxpbmtlZCBtb2R1bGUgY2FsbGVkICJweGEyNXhfdWRjIiBhbmQgZm9yY2UgYWxsCiAJICAgZ2FkZ2V0IGRyaXZlcnMgdG8gYWxzbyBiZSBkeW5hbWljYWxseSBsaW5rZWQuCiAKLWNvbmZpZyBVU0JfUFhBMlhYCitjb25maWcgVVNCX1BYQTI1WAogCXRyaXN0YXRlCi0JZGVwZW5kcyBvbiBVU0JfR0FER0VUX1BYQTJYWAorCWRlcGVuZHMgb24gVVNCX0dBREdFVF9QWEEyNVgKIAlkZWZhdWx0IFVTQl9HQURHRVQKIAlzZWxlY3QgVVNCX0dBREdFVF9TRUxFQ1RFRAogCiAjIGlmIHRoZXJlJ3Mgb25seSBvbmUgZ2FkZ2V0IGRyaXZlciwgdXNpbmcgb25seSB0d28gYnVsayBlbmRwb2ludHMsCiAjIGRvbid0IHdhc3RlIG1lbW9yeSBmb3IgdGhlIG90aGVyIGVuZHBvaW50cwotY29uZmlnIFVTQl9QWEEyWFhfU01BTEwKLQlkZXBlbmRzIG9uIFVTQl9HQURHRVRfUFhBMlhYCitjb25maWcgVVNCX1BYQTI1WF9TTUFMTAorCWRlcGVuZHMgb24gVVNCX0dBREdFVF9QWEEyNVgKIAlib29sCiAJZGVmYXVsdCBuIGlmIFVTQl9FVEhfUk5ESVMKIAlkZWZhdWx0IHkgaWYgVVNCX1pFUk8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL2dhZGdldC9NYWtlZmlsZSBiL2RyaXZlcnMvdXNiL2dhZGdldC9NYWtlZmlsZQppbmRleCAxMjM1NzI1Li5lMjU4YWZkIDEwMDY0NAotLS0gYS9kcml2ZXJzL3VzYi9nYWRnZXQvTWFrZWZpbGUKKysrIGIvZHJpdmVycy91c2IvZ2FkZ2V0L01ha2VmaWxlCkBAIC04LDcgKzgsNyBAQAogb2JqLSQoQ09ORklHX1VTQl9EVU1NWV9IQ0QpCSs9IGR1bW15X2hjZC5vCiBvYmotJChDT05GSUdfVVNCX05FVDIyODApCSs9IG5ldDIyODAubwogb2JqLSQoQ09ORklHX1VTQl9BTUQ1NTM2VURDKQkrPSBhbWQ1NTM2dWRjLm8KLW9iai0kKENPTkZJR19VU0JfUFhBMlhYKQkrPSBweGEyeHhfdWRjLm8KK29iai0kKENPTkZJR19VU0JfUFhBMjVYKQkrPSBweGEyNXhfdWRjLm8KIG9iai0kKENPTkZJR19VU0JfUFhBMjdYKQkrPSBweGEyN3hfdWRjLm8KIG9iai0kKENPTkZJR19VU0JfR09LVSkJCSs9IGdva3VfdWRjLm8KIG9iai0kKENPTkZJR19VU0JfT01BUCkJCSs9IG9tYXBfdWRjLm8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL2dhZGdldC9hdDkxX3VkYy5jIGIvZHJpdmVycy91c2IvZ2FkZ2V0L2F0OTFfdWRjLmMKaW5kZXggMjc0YzYwYS4uYjZiMmEwYSAxMDA2NDQKLS0tIGEvZHJpdmVycy91c2IvZ2FkZ2V0L2F0OTFfdWRjLmMKKysrIGIvZHJpdmVycy91c2IvZ2FkZ2V0L2F0OTFfdWRjLmMKQEAgLTg4OCw3ICs4ODgsNyBAQAogCQlhdDkxX3VkcF93cml0ZSh1ZGMsIEFUOTFfVURQX1RYVkMsIDApOwogCQlpZiAoY3B1X2lzX2F0OTFybTkyMDAoKSkKIAkJCWdwaW9fc2V0X3ZhbHVlKHVkYy0+Ym9hcmQucHVsbHVwX3BpbiwgYWN0aXZlKTsKLQkJZWxzZSBpZiAoY3B1X2lzX2F0OTFzYW05MjYwKCkgfHwgY3B1X2lzX2F0OTFzYW05MjYzKCkpIHsKKwkJZWxzZSBpZiAoY3B1X2lzX2F0OTFzYW05MjYwKCkgfHwgY3B1X2lzX2F0OTFzYW05MjYzKCkgfHwgY3B1X2lzX2F0OTFzYW05ZzIwKCkpIHsKIAkJCXUzMgl0eHZjID0gYXQ5MV91ZHBfcmVhZCh1ZGMsIEFUOTFfVURQX1RYVkMpOwogCiAJCQl0eHZjIHw9IEFUOTFfVURQX1RYVkNfUFVPTjsKQEAgLTkwNiw3ICs5MDYsNyBAQAogCQlhdDkxX3VkcF93cml0ZSh1ZGMsIEFUOTFfVURQX1RYVkMsIEFUOTFfVURQX1RYVkNfVFhWRElTKTsKIAkJaWYgKGNwdV9pc19hdDkxcm05MjAwKCkpCiAJCQlncGlvX3NldF92YWx1ZSh1ZGMtPmJvYXJkLnB1bGx1cF9waW4sICFhY3RpdmUpOwotCQllbHNlIGlmIChjcHVfaXNfYXQ5MXNhbTkyNjAoKSB8fCBjcHVfaXNfYXQ5MXNhbTkyNjMoKSkgeworCQllbHNlIGlmIChjcHVfaXNfYXQ5MXNhbTkyNjAoKSB8fCBjcHVfaXNfYXQ5MXNhbTkyNjMoKSB8fCBjcHVfaXNfYXQ5MXNhbTlnMjAoKSkgewogCQkJdTMyCXR4dmMgPSBhdDkxX3VkcF9yZWFkKHVkYywgQVQ5MV9VRFBfVFhWQyk7CiAKIAkJCXR4dmMgJj0gfkFUOTFfVURQX1RYVkNfUFVPTjsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL2dhZGdldC9ldGhlci5jIGIvZHJpdmVycy91c2IvZ2FkZ2V0L2V0aGVyLmMKaW5kZXggOGQ2MWVhNi4uNGNlMzk1MCAxMDA2NDQKLS0tIGEvZHJpdmVycy91c2IvZ2FkZ2V0L2V0aGVyLmMKKysrIGIvZHJpdmVycy91c2IvZ2FkZ2V0L2V0aGVyLmMKQEAgLTI2Miw3ICsyNjIsNyBAQAogLyogRm9yIENEQy1pbmNhcGFibGUgaGFyZHdhcmUsIGNob29zZSB0aGUgc2ltcGxlIGNkYyBzdWJzZXQuCiAgKiBBbnl0aGluZyB0aGF0IHRhbGtzIGJ1bGsgKHdpdGhvdXQgbm90YWJsZSBidWdzKSBjYW4gZG8gdGhpcy4KICAqLwotI2lmZGVmIENPTkZJR19VU0JfR0FER0VUX1BYQTJYWAorI2lmZGVmIENPTkZJR19VU0JfR0FER0VUX1BYQTI1WAogI2RlZmluZQlERVZfQ09ORklHX1NVQlNFVAogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL2dhZGdldC9nYWRnZXRfY2hpcHMuaCBiL2RyaXZlcnMvdXNiL2dhZGdldC9nYWRnZXRfY2hpcHMuaAppbmRleCBmN2YxNTljLi5jYTUxNDllIDEwMDY0NAotLS0gYS9kcml2ZXJzL3VzYi9nYWRnZXQvZ2FkZ2V0X2NoaXBzLmgKKysrIGIvZHJpdmVycy91c2IvZ2FkZ2V0L2dhZGdldF9jaGlwcy5oCkBAIC0yOSw4ICsyOSw4IEBACiAjZGVmaW5lCWdhZGdldF9pc19kdW1teShnKQkwCiAjZW5kaWYKIAotI2lmZGVmIENPTkZJR19VU0JfR0FER0VUX1BYQTJYWAotI2RlZmluZQlnYWRnZXRfaXNfcHhhKGcpCSFzdHJjbXAoInB4YTJ4eF91ZGMiLCAoZyktPm5hbWUpCisjaWZkZWYgQ09ORklHX1VTQl9HQURHRVRfUFhBMjVYCisjZGVmaW5lCWdhZGdldF9pc19weGEoZykJIXN0cmNtcCgicHhhMjV4X3VkYyIsIChnKS0+bmFtZSkKICNlbHNlCiAjZGVmaW5lCWdhZGdldF9pc19weGEoZykJMAogI2VuZGlmCmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9nYWRnZXQvaW5vZGUuYyBiL2RyaXZlcnMvdXNiL2dhZGdldC9pbm9kZS5jCmluZGV4IDY5YjBhMjcuLmYxMzJhOTIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdXNiL2dhZGdldC9pbm9kZS5jCisrKyBiL2RyaXZlcnMvdXNiL2dhZGdldC9pbm9kZS5jCkBAIC0xNTAxLDcgKzE1MDEsNyBAQAogCQl9CiAJCWJyZWFrOwogCi0jaWZuZGVmCUNPTkZJR19VU0JfR0FER0VUX1BYQTJYWAorI2lmbmRlZglDT05GSUdfVVNCX0dBREdFVF9QWEEyNVgKIAkvKiBQWEEgYXV0b21hZ2ljYWxseSBoYW5kbGVzIHRoaXMgcmVxdWVzdCB0b28gKi8KIAljYXNlIFVTQl9SRVFfR0VUX0NPTkZJR1VSQVRJT046CiAJCWlmIChjdHJsLT5iUmVxdWVzdFR5cGUgIT0gMHg4MCkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL2dhZGdldC9vbWFwX3VkYy5jIGIvZHJpdmVycy91c2IvZ2FkZ2V0L29tYXBfdWRjLmMKaW5kZXggODgxZDc0Yy4uMDNhN2Y0OSAxMDA2NDQKLS0tIGEvZHJpdmVycy91c2IvZ2FkZ2V0L29tYXBfdWRjLmMKKysrIGIvZHJpdmVycy91c2IvZ2FkZ2V0L29tYXBfdWRjLmMKQEAgLTEzNSwxMyArMTM1LDE3IEBACiAKIAlpZiAoZXAtPmJFbmRwb2ludEFkZHJlc3MgJiBVU0JfRElSX0lOKQogCQludW0gfD0gVURDX0VQX0RJUjsKLQlVRENfRVBfTlVNX1JFRyA9IG51bSB8IHNlbGVjdDsKKwlvbWFwX3dyaXRldyhudW0gfCBzZWxlY3QsIFVEQ19FUF9OVU0pOwogCS8qIHdoZW4gc2VsZWN0LCBNVVNUIGRlc2VsZWN0IGxhdGVyICEhICovCiB9CiAKIHN0YXRpYyBpbmxpbmUgdm9pZCBkZXNlbGVjdF9lcCh2b2lkKQogewotCVVEQ19FUF9OVU1fUkVHICY9IH5VRENfRVBfU0VMOworCXUxNiB3OworCisJdyA9IG9tYXBfcmVhZHcoVURDX0VQX05VTSk7CisJdyAmPSB+VURDX0VQX1NFTDsKKwlvbWFwX3dyaXRldyh3LCBVRENfRVBfTlVNKTsKIAkvKiA2IHdhaXQgc3RhdGVzIGJlZm9yZSBUWCB3aWxsIGhhcHBlbiAqLwogfQogCkBAIC0yMTYsNyArMjIwLDcgQEAKIAllcC0+aGFzX2RtYSA9IDA7CiAJZXAtPmxjaCA9IC0xOwogCXVzZV9lcChlcCwgVURDX0VQX1NFTCk7Ci0JVURDX0NUUkxfUkVHID0gdWRjLT5jbHJfaGFsdDsKKwlvbWFwX3dyaXRldyh1ZGMtPmNscl9oYWx0LCBVRENfQ1RSTCk7CiAJZXAtPmFja3dhaXQgPSAwOwogCWRlc2VsZWN0X2VwKCk7CiAKQEAgLTIzMiw3ICsyMzYsNyBAQAogCWlmIChkZXNjLT5ibUF0dHJpYnV0ZXMgIT0gVVNCX0VORFBPSU5UX1hGRVJfSVNPQwogCQkJJiYgIWVwLT5oYXNfZG1hCiAJCQkmJiAhKGVwLT5iRW5kcG9pbnRBZGRyZXNzICYgVVNCX0RJUl9JTikpIHsKLQkJVURDX0NUUkxfUkVHID0gVURDX1NFVF9GSUZPX0VOOworCQlvbWFwX3dyaXRldyhVRENfU0VUX0ZJRk9fRU4sIFVEQ19DVFJMKTsKIAkJZXAtPmFja3dhaXQgPSAxICsgZXAtPmRvdWJsZV9idWY7CiAJfQogCkBAIC0yNTksNyArMjYzLDcgQEAKIAludWtlIChlcCwgLUVTSFVURE9XTik7CiAJZXAtPmVwLm1heHBhY2tldCA9IGVwLT5tYXhwYWNrZXQ7CiAJZXAtPmhhc19kbWEgPSAwOwotCVVEQ19DVFJMX1JFRyA9IFVEQ19TRVRfSEFMVDsKKwlvbWFwX3dyaXRldyhVRENfU0VUX0hBTFQsIFVEQ19DVFJMKTsKIAlsaXN0X2RlbF9pbml0KCZlcC0+aXNvKTsKIAlkZWxfdGltZXIoJmVwLT50aW1lcik7CiAKQEAgLTM2MCwxMyArMzY0LDEzIEBACiAJaWYgKGxpa2VseSgoKChpbnQpYnVmKSAmIDEpID09IDApKSB7CiAJCXdwID0gKHUxNiAqKWJ1ZjsKIAkJd2hpbGUgKG1heCA+PSAyKSB7Ci0JCQlVRENfREFUQV9SRUcgPSAqd3ArKzsKKwkJCW9tYXBfd3JpdGV3KCp3cCsrLCBVRENfREFUQSk7CiAJCQltYXggLT0gMjsKIAkJfQogCQlidWYgPSAodTggKil3cDsKIAl9CiAJd2hpbGUgKG1heC0tKQotCQkqKHZvbGF0aWxlIHU4ICopJlVEQ19EQVRBX1JFRyA9ICpidWYrKzsKKwkJb21hcF93cml0ZWIoKmJ1ZisrLCBVRENfREFUQSk7CiAJcmV0dXJuIGxlbjsKIH0KIApAQCAtMzg1LDEzICszODksMTMgQEAKIAlwcmVmZXRjaChidWYpOwogCiAJLyogUElPLUlOIGlzbid0IGRvdWJsZSBidWZmZXJlZCBleGNlcHQgZm9yIGlzbyAqLwotCWVwX3N0YXQgPSBVRENfU1RBVF9GTEdfUkVHOworCWVwX3N0YXQgPSBvbWFwX3JlYWR3KFVEQ19TVEFUX0ZMRyk7CiAJaWYgKGVwX3N0YXQgJiBVRENfRklGT19VTldSSVRBQkxFKQogCQlyZXR1cm4gMDsKIAogCWNvdW50ID0gZXAtPmVwLm1heHBhY2tldDsKIAljb3VudCA9IHdyaXRlX3BhY2tldChidWYsIHJlcSwgY291bnQpOwotCVVEQ19DVFJMX1JFRyA9IFVEQ19TRVRfRklGT19FTjsKKwlvbWFwX3dyaXRldyhVRENfU0VUX0ZJRk9fRU4sIFVEQ19DVFJMKTsKIAllcC0+YWNrd2FpdCA9IDE7CiAKIAkvKiBsYXN0IHBhY2tldCBpcyBvZnRlbiBzaG9ydCAoc29tZXRpbWVzIGEgemxwKSAqLwpAQCAtNDI1LDEzICs0MjksMTMgQEAKIAlpZiAobGlrZWx5KCgoKGludClidWYpICYgMSkgPT0gMCkpIHsKIAkJd3AgPSAodTE2ICopYnVmOwogCQl3aGlsZSAoYXZhaWwgPj0gMikgewotCQkJKndwKysgPSBVRENfREFUQV9SRUc7CisJCQkqd3ArKyA9IG9tYXBfcmVhZHcoVURDX0RBVEEpOwogCQkJYXZhaWwgLT0gMjsKIAkJfQogCQlidWYgPSAodTggKil3cDsKIAl9CiAJd2hpbGUgKGF2YWlsLS0pCi0JCSpidWYrKyA9ICoodm9sYXRpbGUgdTggKikmVURDX0RBVEFfUkVHOworCQkqYnVmKysgPSBvbWFwX3JlYWRiKFVEQ19EQVRBKTsKIAlyZXR1cm4gbGVuOwogfQogCkBAIC00NDYsNyArNDUwLDcgQEAKIAlwcmVmZXRjaHcoYnVmKTsKIAogCWZvciAoOzspIHsKLQkJdTE2CWVwX3N0YXQgPSBVRENfU1RBVF9GTEdfUkVHOworCQl1MTYJZXBfc3RhdCA9IG9tYXBfcmVhZHcoVURDX1NUQVRfRkxHKTsKIAogCQlpc19sYXN0ID0gMDsKIAkJaWYgKGVwX3N0YXQgJiBGSUZPX0VNUFRZKSB7CkBAIC00NjAsNyArNDY0LDcgQEAKIAkJaWYgKGVwX3N0YXQgJiBVRENfRklGT19GVUxMKQogCQkJYXZhaWwgPSBlcC0+ZXAubWF4cGFja2V0OwogCQllbHNlICB7Ci0JCQlhdmFpbCA9IFVEQ19SWEZTVEFUX1JFRzsKKwkJCWF2YWlsID0gb21hcF9yZWFkdyhVRENfUlhGU1RBVCk7CiAJCQllcC0+Zm5mID0gZXAtPmRvdWJsZV9idWY7CiAJCX0KIAkJY291bnQgPSByZWFkX3BhY2tldChidWYsIHJlcSwgYXZhaWwpOwpAQCAtNDczLDcgKzQ3Nyw3IEBACiAJCQkJcmVxLT5yZXEuc3RhdHVzID0gLUVPVkVSRkxPVzsKIAkJCQlhdmFpbCAtPSBjb3VudDsKIAkJCQl3aGlsZSAoYXZhaWwtLSkKLQkJCQkJKHZvaWQpICoodm9sYXRpbGUgdTggKikmVURDX0RBVEFfUkVHOworCQkJCQlvbWFwX3JlYWR3KFVEQ19EQVRBKTsKIAkJCX0KIAkJfSBlbHNlIGlmIChyZXEtPnJlcS5sZW5ndGggPT0gcmVxLT5yZXEuYWN0dWFsKQogCQkJaXNfbGFzdCA9IDE7CkBAIC00OTEsMzIgKzQ5NSw2IEBACiAKIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAKLXN0YXRpYyBpbmxpbmUgZG1hX2FkZHJfdCBkbWFfY3NhYyh1bnNpZ25lZCBsY2gpCi17Ci0JZG1hX2FkZHJfdAljc2FjOwotCi0JLyogb21hcCAzLjIvMy4zIGVycmF0dW06IHNvbWV0aW1lcyAwIGlzIHJldHVybmVkIGlmIENTQUMvQ0RBQyBpcwotCSAqIHJlYWQgYmVmb3JlIHRoZSBETUEgY29udHJvbGxlciBmaW5pc2hlZCBkaXNhYmxpbmcgdGhlIGNoYW5uZWwuCi0JICovCi0JY3NhYyA9IE9NQVBfRE1BX0NTQUNfUkVHKGxjaCk7Ci0JaWYgKGNzYWMgPT0gMCkKLQkJY3NhYyA9IE9NQVBfRE1BX0NTQUNfUkVHKGxjaCk7Ci0JcmV0dXJuIGNzYWM7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgZG1hX2FkZHJfdCBkbWFfY2RhYyh1bnNpZ25lZCBsY2gpCi17Ci0JZG1hX2FkZHJfdAljZGFjOwotCi0JLyogb21hcCAzLjIvMy4zIGVycmF0dW06IHNvbWV0aW1lcyAwIGlzIHJldHVybmVkIGlmIENTQUMvQ0RBQyBpcwotCSAqIHJlYWQgYmVmb3JlIHRoZSBETUEgY29udHJvbGxlciBmaW5pc2hlZCBkaXNhYmxpbmcgdGhlIGNoYW5uZWwuCi0JICovCi0JY2RhYyA9IE9NQVBfRE1BX0NEQUNfUkVHKGxjaCk7Ci0JaWYgKGNkYWMgPT0gMCkKLQkJY2RhYyA9IE9NQVBfRE1BX0NEQUNfUkVHKGxjaCk7Ci0JcmV0dXJuIGNkYWM7Ci19Ci0KIHN0YXRpYyB1MTYgZG1hX3NyY19sZW4oc3RydWN0IG9tYXBfZXAgKmVwLCBkbWFfYWRkcl90IHN0YXJ0KQogewogCWRtYV9hZGRyX3QJZW5kOwpAQCAtNTI3LDcgKzUwNSw3IEBACiAJaWYgKGNwdV9pc19vbWFwMTV4eCgpKQogCQlyZXR1cm4gMDsKIAotCWVuZCA9IGRtYV9jc2FjKGVwLT5sY2gpOworCWVuZCA9IG9tYXBfZ2V0X2RtYV9zcmNfcG9zKGVwLT5sY2gpOwogCWlmIChlbmQgPT0gZXAtPmRtYV9jb3VudGVyKQogCQlyZXR1cm4gMDsKIApAQCAtNTM3LDE1ICs1MTUsMTEgQEAKIAlyZXR1cm4gZW5kIC0gc3RhcnQ7CiB9CiAKLSNkZWZpbmUgRE1BX0RFU1RfTEFTVCh4KSAoY3B1X2lzX29tYXAxNXh4KCkgXAotCQk/IE9NQVBfRE1BX0NTQUNfUkVHKHgpIC8qIHJlYWxseTogQ1BDICovIFwKLQkJOiBkbWFfY2RhYyh4KSkKLQogc3RhdGljIHUxNiBkbWFfZGVzdF9sZW4oc3RydWN0IG9tYXBfZXAgKmVwLCBkbWFfYWRkcl90IHN0YXJ0KQogewogCWRtYV9hZGRyX3QJZW5kOwogCi0JZW5kID0gRE1BX0RFU1RfTEFTVChlcC0+bGNoKTsKKwllbmQgPSBvbWFwX2dldF9kbWFfZHN0X3BvcyhlcC0+bGNoKTsKIAlpZiAoZW5kID09IGVwLT5kbWFfY291bnRlcikKIAkJcmV0dXJuIDA7CiAKQEAgLTU2NSw3ICs1MzksNyBAQAogCiBzdGF0aWMgdm9pZCBuZXh0X2luX2RtYShzdHJ1Y3Qgb21hcF9lcCAqZXAsIHN0cnVjdCBvbWFwX3JlcSAqcmVxKQogewotCXUxNgkJdHhkbWFfY3RybDsKKwl1MTYJCXR4ZG1hX2N0cmwsIHc7CiAJdW5zaWduZWQJbGVuZ3RoID0gcmVxLT5yZXEubGVuZ3RoIC0gcmVxLT5yZXEuYWN0dWFsOwogCWNvbnN0IGludAlzeW5jX21vZGUgPSBjcHVfaXNfb21hcDE1eHgoKQogCQkJCT8gT01BUF9ETUFfU1lOQ19GUkFNRQpAQCAtNTk2LDE0ICs1NzAsMTggQEAKIAkJMCwgMCk7CiAKIAlvbWFwX3N0YXJ0X2RtYShlcC0+bGNoKTsKLQllcC0+ZG1hX2NvdW50ZXIgPSBkbWFfY3NhYyhlcC0+bGNoKTsKLQlVRENfRE1BX0lSUV9FTl9SRUcgfD0gVURDX1RYX0RPTkVfSUUoZXAtPmRtYV9jaGFubmVsKTsKLQlVRENfVFhETUFfUkVHKGVwLT5kbWFfY2hhbm5lbCkgPSBVRENfVFhOX1NUQVJUIHwgdHhkbWFfY3RybDsKKwllcC0+ZG1hX2NvdW50ZXIgPSBvbWFwX2dldF9kbWFfc3JjX3BvcyhlcC0+bGNoKTsKKwl3ID0gb21hcF9yZWFkdyhVRENfRE1BX0lSUV9FTik7CisJdyB8PSBVRENfVFhfRE9ORV9JRShlcC0+ZG1hX2NoYW5uZWwpOworCW9tYXBfd3JpdGV3KHcsIFVEQ19ETUFfSVJRX0VOKTsKKwlvbWFwX3dyaXRldyhVRENfVFhOX1NUQVJUIHwgdHhkbWFfY3RybCwgVURDX1RYRE1BKGVwLT5kbWFfY2hhbm5lbCkpOwogCXJlcS0+ZG1hX2J5dGVzID0gbGVuZ3RoOwogfQogCiBzdGF0aWMgdm9pZCBmaW5pc2hfaW5fZG1hKHN0cnVjdCBvbWFwX2VwICplcCwgc3RydWN0IG9tYXBfcmVxICpyZXEsIGludCBzdGF0dXMpCiB7CisJdTE2IHc7CisKIAlpZiAoc3RhdHVzID09IDApIHsKIAkJcmVxLT5yZXEuYWN0dWFsICs9IHJlcS0+ZG1hX2J5dGVzOwogCkBAIC02MjAsNyArNTk4LDkgQEAKIAogCS8qIHR4IGNvbXBsZXRpb24gKi8KIAlvbWFwX3N0b3BfZG1hKGVwLT5sY2gpOwotCVVEQ19ETUFfSVJRX0VOX1JFRyAmPSB+VURDX1RYX0RPTkVfSUUoZXAtPmRtYV9jaGFubmVsKTsKKwl3ID0gb21hcF9yZWFkdyhVRENfRE1BX0lSUV9FTik7CisJdyAmPSB+VURDX1RYX0RPTkVfSUUoZXAtPmRtYV9jaGFubmVsKTsKKwlvbWFwX3dyaXRldyh3LCBVRENfRE1BX0lSUV9FTik7CiAJZG9uZShlcCwgcmVxLCBzdGF0dXMpOwogfQogCkBAIC02MjgsNiArNjA4LDcgQEAKIHsKIAl1bnNpZ25lZCBwYWNrZXRzID0gcmVxLT5yZXEubGVuZ3RoIC0gcmVxLT5yZXEuYWN0dWFsOwogCWludCBkbWFfdHJpZ2dlciA9IDA7CisJdTE2IHc7CiAKIAlpZiAoY3B1X2lzX29tYXAyNHh4KCkpCiAJCWRtYV90cmlnZ2VyID0gT01BUDI0WFhfRE1BKFVTQl9XMkZDX1JYMCwgZXAtPmRtYV9jaGFubmVsKTsKQEAgLTY1NCwxMiArNjM1LDE0IEBACiAJb21hcF9zZXRfZG1hX2Rlc3RfcGFyYW1zKGVwLT5sY2gsIE9NQVBfRE1BX1BPUlRfRU1JRkYsCiAJCU9NQVBfRE1BX0FNT0RFX1BPU1RfSU5DLCByZXEtPnJlcS5kbWEgKyByZXEtPnJlcS5hY3R1YWwsCiAJCTAsIDApOwotCWVwLT5kbWFfY291bnRlciA9IERNQV9ERVNUX0xBU1QoZXAtPmxjaCk7CisJZXAtPmRtYV9jb3VudGVyID0gb21hcF9nZXRfZG1hX2RzdF9wb3MoZXAtPmxjaCk7CiAKLQlVRENfUlhETUFfUkVHKGVwLT5kbWFfY2hhbm5lbCkgPSBVRENfUlhOX1NUT1AgfCAocGFja2V0cyAtIDEpOwotCVVEQ19ETUFfSVJRX0VOX1JFRyB8PSBVRENfUlhfRU9UX0lFKGVwLT5kbWFfY2hhbm5lbCk7Ci0JVURDX0VQX05VTV9SRUcgPSAoZXAtPmJFbmRwb2ludEFkZHJlc3MgJiAweGYpOwotCVVEQ19DVFJMX1JFRyA9IFVEQ19TRVRfRklGT19FTjsKKwlvbWFwX3dyaXRldyhVRENfUlhOX1NUT1AgfCAocGFja2V0cyAtIDEpLCBVRENfUlhETUEoZXAtPmRtYV9jaGFubmVsKSk7CisJdyA9IG9tYXBfcmVhZHcoVURDX0RNQV9JUlFfRU4pOworCXcgfD0gVURDX1JYX0VPVF9JRShlcC0+ZG1hX2NoYW5uZWwpOworCW9tYXBfd3JpdGV3KHcsIFVEQ19ETUFfSVJRX0VOKTsKKwlvbWFwX3dyaXRldyhlcC0+YkVuZHBvaW50QWRkcmVzcyAmIDB4ZiwgVURDX0VQX05VTSk7CisJb21hcF93cml0ZXcoVURDX1NFVF9GSUZPX0VOLCBVRENfQ1RSTCk7CiAKIAlvbWFwX3N0YXJ0X2RtYShlcC0+bGNoKTsKIH0KQEAgLTY2Nyw3ICs2NTAsNyBAQAogc3RhdGljIHZvaWQKIGZpbmlzaF9vdXRfZG1hKHN0cnVjdCBvbWFwX2VwICplcCwgc3RydWN0IG9tYXBfcmVxICpyZXEsIGludCBzdGF0dXMsIGludCBvbmUpCiB7Ci0JdTE2CWNvdW50OworCXUxNgljb3VudCwgdzsKIAogCWlmIChzdGF0dXMgPT0gMCkKIAkJZXAtPmRtYV9jb3VudGVyID0gKHUxNikgKHJlcS0+cmVxLmRtYSArIHJlcS0+cmVxLmFjdHVhbCk7CkBAIC02ODYsMTMgKzY2OSwxNSBAQAogCQlyZXR1cm47CiAKIAkvKiByeCBjb21wbGV0aW9uICovCi0JVURDX0RNQV9JUlFfRU5fUkVHICY9IH5VRENfUlhfRU9UX0lFKGVwLT5kbWFfY2hhbm5lbCk7CisJdyA9IG9tYXBfcmVhZHcoVURDX0RNQV9JUlFfRU4pOworCXcgJj0gflVEQ19SWF9FT1RfSUUoZXAtPmRtYV9jaGFubmVsKTsKKwlvbWFwX3dyaXRldyh3LCBVRENfRE1BX0lSUV9FTik7CiAJZG9uZShlcCwgcmVxLCBzdGF0dXMpOwogfQogCiBzdGF0aWMgdm9pZCBkbWFfaXJxKHN0cnVjdCBvbWFwX3VkYyAqdWRjLCB1MTYgaXJxX3NyYykKIHsKLQl1MTYJCWRtYW5fc3RhdCA9IFVEQ19ETUFOX1NUQVRfUkVHOworCXUxNgkJZG1hbl9zdGF0ID0gb21hcF9yZWFkdyhVRENfRE1BTl9TVEFUKTsKIAlzdHJ1Y3Qgb21hcF9lcAkqZXA7CiAJc3RydWN0IG9tYXBfcmVxCSpyZXE7CiAKQEAgLTcwNiw3ICs2OTEsNyBAQAogCQkJCQkJc3RydWN0IG9tYXBfcmVxLCBxdWV1ZSk7CiAJCQlmaW5pc2hfaW5fZG1hKGVwLCByZXEsIDApOwogCQl9Ci0JCVVEQ19JUlFfU1JDX1JFRyA9IFVEQ19UWE5fRE9ORTsKKwkJb21hcF93cml0ZXcoVURDX1RYTl9ET05FLCBVRENfSVJRX1NSQyk7CiAKIAkJaWYgKCFsaXN0X2VtcHR5ICgmZXAtPnF1ZXVlKSkgewogCQkJcmVxID0gY29udGFpbmVyX29mKGVwLT5xdWV1ZS5uZXh0LApAQCAtNzI1LDcgKzcxMCw3IEBACiAJCQkJCXN0cnVjdCBvbWFwX3JlcSwgcXVldWUpOwogCQkJZmluaXNoX291dF9kbWEoZXAsIHJlcSwgMCwgZG1hbl9zdGF0ICYgVURDX0RNQV9SWF9TQik7CiAJCX0KLQkJVURDX0lSUV9TUkNfUkVHID0gVURDX1JYTl9FT1Q7CisJCW9tYXBfd3JpdGV3KFVEQ19SWE5fRU9ULCBVRENfSVJRX1NSQyk7CiAKIAkJaWYgKCFsaXN0X2VtcHR5ICgmZXAtPnF1ZXVlKSkgewogCQkJcmVxID0gY29udGFpbmVyX29mKGVwLT5xdWV1ZS5uZXh0LApAQCAtNzM5LDcgKzcyNCw3IEBACiAJCWVwLT5pcnFzKys7CiAJCS8qIG9tYXAxNXh4IGRvZXMgdGhpcyB1bmFza2VkLi4uICovCiAJCVZEQkcoIiVzLCBSWF9DTlQgaXJxP1xuIiwgZXAtPmVwLm5hbWUpOwotCQlVRENfSVJRX1NSQ19SRUcgPSBVRENfUlhOX0NOVDsKKwkJb21hcF93cml0ZXcoVURDX1JYTl9DTlQsIFVEQ19JUlFfU1JDKTsKIAl9CiB9CiAKQEAgLTc2Miw5ICs3NDcsOSBAQAogCiAJaXNfaW4gPSBlcC0+YkVuZHBvaW50QWRkcmVzcyAmIFVTQl9ESVJfSU47CiAJaWYgKGlzX2luKQotCQlyZWcgPSBVRENfVFhETUFfQ0ZHX1JFRzsKKwkJcmVnID0gb21hcF9yZWFkdyhVRENfVFhETUFfQ0ZHKTsKIAllbHNlCi0JCXJlZyA9IFVEQ19SWERNQV9DRkdfUkVHOworCQlyZWcgPSBvbWFwX3JlYWR3KFVEQ19SWERNQV9DRkcpOwogCXJlZyB8PSBVRENfRE1BX1JFUTsJCS8qICJwdWxzZSIgYWN0aXZhdGVkICovCiAKIAllcC0+ZG1hX2NoYW5uZWwgPSAwOwpAQCAtNzkyLDcgKzc3Nyw3IEBACiAJCXN0YXR1cyA9IG9tYXBfcmVxdWVzdF9kbWEoZG1hX2NoYW5uZWwsCiAJCQllcC0+ZXAubmFtZSwgZG1hX2Vycm9yLCBlcCwgJmVwLT5sY2gpOwogCQlpZiAoc3RhdHVzID09IDApIHsKLQkJCVVEQ19UWERNQV9DRkdfUkVHID0gcmVnOworCQkJb21hcF93cml0ZXcocmVnLCBVRENfVFhETUFfQ0ZHKTsKIAkJCS8qIEVNSUZGIG9yIFNEUkMgKi8KIAkJCW9tYXBfc2V0X2RtYV9zcmNfYnVyc3RfbW9kZShlcC0+bGNoLAogCQkJCQkJT01BUF9ETUFfREFUQV9CVVJTVF80KTsKQEAgLTgwMSw3ICs3ODYsNyBAQAogCQkJb21hcF9zZXRfZG1hX2Rlc3RfcGFyYW1zKGVwLT5sY2gsCiAJCQkJT01BUF9ETUFfUE9SVF9USVBCLAogCQkJCU9NQVBfRE1BX0FNT0RFX0NPTlNUQU5ULAotCQkJCSh1bnNpZ25lZCBsb25nKSBpb192MnAoKHUzMikmVURDX0RBVEFfRE1BX1JFRyksCisJCQkJKHVuc2lnbmVkIGxvbmcpIGlvX3YycChVRENfREFUQV9ETUEpLAogCQkJCTAsIDApOwogCQl9CiAJfSBlbHNlIHsKQEAgLTgxMywxMiArNzk4LDEyIEBACiAJCXN0YXR1cyA9IG9tYXBfcmVxdWVzdF9kbWEoZG1hX2NoYW5uZWwsCiAJCQllcC0+ZXAubmFtZSwgZG1hX2Vycm9yLCBlcCwgJmVwLT5sY2gpOwogCQlpZiAoc3RhdHVzID09IDApIHsKLQkJCVVEQ19SWERNQV9DRkdfUkVHID0gcmVnOworCQkJb21hcF93cml0ZXcocmVnLCBVRENfUlhETUFfQ0ZHKTsKIAkJCS8qIFRJUEIgKi8KIAkJCW9tYXBfc2V0X2RtYV9zcmNfcGFyYW1zKGVwLT5sY2gsCiAJCQkJT01BUF9ETUFfUE9SVF9USVBCLAogCQkJCU9NQVBfRE1BX0FNT0RFX0NPTlNUQU5ULAotCQkJCSh1bnNpZ25lZCBsb25nKSBpb192MnAoKHUzMikmVURDX0RBVEFfRE1BX1JFRyksCisJCQkJKHVuc2lnbmVkIGxvbmcpIGlvX3YycChVRENfREFUQV9ETUEpLAogCQkJCTAsIDApOwogCQkJLyogRU1JRkYgb3IgU0RSQyAqLwogCQkJb21hcF9zZXRfZG1hX2Rlc3RfYnVyc3RfbW9kZShlcC0+bGNoLApAQCAtODM0LDcgKzgxOSw3IEBACiAKIAkJLyogY2hhbm5lbCB0eXBlIFA6IGh3IHN5bmNoIChmaWZvKSAqLwogCQlpZiAoY3B1X2NsYXNzX2lzX29tYXAxKCkgJiYgIWNwdV9pc19vbWFwMTV4eCgpKQotCQkJT01BUDFfRE1BX0xDSF9DVFJMX1JFRyhlcC0+bGNoKSA9IDI7CisJCQlvbWFwX3NldF9kbWFfY2hhbm5lbF9tb2RlKGVwLT5sY2gsIE9NQVBfRE1BX0xDSF9QKTsKIAl9CiAKIGp1c3RfcmVzdGFydDoKQEAgLTg2MCw3ICs4NDUsNyBAQAogCQkJKGlzX2luID8gd3JpdGVfZmlmbyA6IHJlYWRfZmlmbykoZXAsIHJlcSk7CiAJCQlkZXNlbGVjdF9lcCgpOwogCQkJaWYgKCFpc19pbikgewotCQkJCVVEQ19DVFJMX1JFRyA9IFVEQ19TRVRfRklGT19FTjsKKwkJCQlvbWFwX3dyaXRldyhVRENfU0VUX0ZJRk9fRU4sIFVEQ19DVFJMKTsKIAkJCQllcC0+YWNrd2FpdCA9IDEgKyBlcC0+ZG91YmxlX2J1ZjsKIAkJCX0KIAkJCS8qIElOOiA2IHdhaXQgc3RhdGVzIGJlZm9yZSBpdCdsbCB0eCAqLwpAQCAtODgxLDcgKzg2Niw3IEBACiAJZWxzZQogCQlyZXEgPSBOVUxMOwogCi0JYWN0aXZlID0gKCgxIDw8IDcpICYgT01BUF9ETUFfQ0NSX1JFRyhlcC0+bGNoKSkgIT0gMDsKKwlhY3RpdmUgPSBvbWFwX2dldF9kbWFfYWN0aXZlX3N0YXR1cyhlcC0+bGNoKTsKIAogCURCRygiJXMgcmVsZWFzZSAlcyAlY3hkbWElZCAlcFxuIiwgZXAtPmVwLm5hbWUsCiAJCQlhY3RpdmUgPyAiYWN0aXZlIiA6ICJpZGxlIiwKQEAgLTg5NCwyMyArODc5LDI1IEBACiAKIAkvKiB3YWl0IHRpbGwgY3VycmVudCBwYWNrZXQgRE1BIGZpbmlzaGVzLCBhbmQgZmlmbyBlbXB0aWVzICovCiAJaWYgKGVwLT5iRW5kcG9pbnRBZGRyZXNzICYgVVNCX0RJUl9JTikgewotCQlVRENfVFhETUFfQ0ZHX1JFRyA9IChVRENfVFhETUFfQ0ZHX1JFRyAmIH5tYXNrKSB8IFVEQ19ETUFfUkVROworCQlvbWFwX3dyaXRldygob21hcF9yZWFkdyhVRENfVFhETUFfQ0ZHKSAmIH5tYXNrKSB8IFVEQ19ETUFfUkVRLAorCQkJCQlVRENfVFhETUFfQ0ZHKTsKIAogCQlpZiAocmVxKSB7CiAJCQlmaW5pc2hfaW5fZG1hKGVwLCByZXEsIC1FQ09OTlJFU0VUKTsKIAogCQkJLyogY2xlYXIgRklGTzsgaG9zdHMgcHJvYmFibHkgd29uJ3QgZW1wdHkgaXQgKi8KIAkJCXVzZV9lcChlcCwgVURDX0VQX1NFTCk7Ci0JCQlVRENfQ1RSTF9SRUcgPSBVRENfQ0xSX0VQOworCQkJb21hcF93cml0ZXcoVURDX0NMUl9FUCwgVURDX0NUUkwpOwogCQkJZGVzZWxlY3RfZXAoKTsKIAkJfQotCQl3aGlsZSAoVURDX1RYRE1BX0NGR19SRUcgJiBtYXNrKQorCQl3aGlsZSAob21hcF9yZWFkdyhVRENfVFhETUFfQ0ZHKSAmIG1hc2spCiAJCQl1ZGVsYXkoMTApOwogCX0gZWxzZSB7Ci0JCVVEQ19SWERNQV9DRkdfUkVHID0gKFVEQ19SWERNQV9DRkdfUkVHICYgfm1hc2spIHwgVURDX0RNQV9SRVE7CisJCW9tYXBfd3JpdGV3KChvbWFwX3JlYWR3KFVEQ19SWERNQV9DRkcpICYgfm1hc2spIHwgVURDX0RNQV9SRVEsCisJCQkJCVVEQ19SWERNQV9DRkcpOwogCiAJCS8qIGRtYSBlbXB0aWVzIHRoZSBmaWZvICovCi0JCXdoaWxlIChVRENfUlhETUFfQ0ZHX1JFRyAmIG1hc2spCisJCXdoaWxlIChvbWFwX3JlYWR3KFVEQ19SWERNQV9DRkcpICYgbWFzaykKIAkJCXVkZWxheSgxMCk7CiAJCWlmIChyZXEpCiAJCQlmaW5pc2hfb3V0X2RtYShlcCwgcmVxLCAtRUNPTk5SRVNFVCwgMCk7CkBAIC05OTcsOSArOTg0LDEzIEBACiAJcmVxLT5yZXEuYWN0dWFsID0gMDsKIAogCS8qIG1heWJlIGtpY2tzdGFydCBub24taXNvIGkvbyBxdWV1ZXMgKi8KLQlpZiAoaXNfaXNvKQotCQlVRENfSVJRX0VOX1JFRyB8PSBVRENfU09GX0lFOwotCWVsc2UgaWYgKGxpc3RfZW1wdHkoJmVwLT5xdWV1ZSkgJiYgIWVwLT5zdG9wcGVkICYmICFlcC0+YWNrd2FpdCkgeworCWlmIChpc19pc28pIHsKKwkJdTE2IHc7CisKKwkJdyA9IG9tYXBfcmVhZHcoVURDX0lSUV9FTik7CisJCXcgfD0gVURDX1NPRl9JRTsKKwkJb21hcF93cml0ZXcodywgVURDX0lSUV9FTik7CisJfSBlbHNlIGlmIChsaXN0X2VtcHR5KCZlcC0+cXVldWUpICYmICFlcC0+c3RvcHBlZCAmJiAhZXAtPmFja3dhaXQpIHsKIAkJaW50CWlzX2luOwogCiAJCWlmIChlcC0+YkVuZHBvaW50QWRkcmVzcyA9PSAwKSB7CkBAIC0xMDE3LDIzICsxMDA4LDIzIEBACiAJCQkJICogcmVxdWVzdHMgdG8gbm9uLWNvbnRyb2wgZW5kcG9pbnRzCiAJCQkJICovCiAJCQkJaWYgKHVkYy0+ZXAwX3NldF9jb25maWcpIHsKLQkJCQkJdTE2CWlycV9lbiA9IFVEQ19JUlFfRU5fUkVHOworCQkJCQl1MTYJaXJxX2VuID0gb21hcF9yZWFkdyhVRENfSVJRX0VOKTsKIAogCQkJCQlpcnFfZW4gfD0gVURDX0RTX0NIR19JRSB8IFVEQ19FUDBfSUU7CiAJCQkJCWlmICghdWRjLT5lcDBfcmVzZXRfY29uZmlnKQogCQkJCQkJaXJxX2VuIHw9IFVEQ19FUE5fUlhfSUUKIAkJCQkJCQl8IFVEQ19FUE5fVFhfSUU7Ci0JCQkJCVVEQ19JUlFfRU5fUkVHID0gaXJxX2VuOworCQkJCQlvbWFwX3dyaXRldyhpcnFfZW4sIFVEQ19JUlFfRU4pOwogCQkJCX0KIAogCQkJCS8qIFNUQVRVUyBmb3IgemVybyBsZW5ndGggREFUQSBzdGFnZXMgaXMKIAkJCQkgKiBhbHdheXMgYW4gSU4gLi4uIGV2ZW4gZm9yIElOIHRyYW5zZmVycywKIAkJCQkgKiBhIHdlaXJkIGNhc2Ugd2hpY2ggc2VlbSB0byBzdGFsbCBPTUFQLgogCQkJCSAqLwotCQkJCVVEQ19FUF9OVU1fUkVHID0gKFVEQ19FUF9TRUx8VURDX0VQX0RJUik7Ci0JCQkJVURDX0NUUkxfUkVHID0gVURDX0NMUl9FUDsKLQkJCQlVRENfQ1RSTF9SRUcgPSBVRENfU0VUX0ZJRk9fRU47Ci0JCQkJVURDX0VQX05VTV9SRUcgPSBVRENfRVBfRElSOworCQkJCW9tYXBfd3JpdGV3KFVEQ19FUF9TRUwgfCBVRENfRVBfRElSLCBVRENfRVBfTlVNKTsKKwkJCQlvbWFwX3dyaXRldyhVRENfQ0xSX0VQLCBVRENfQ1RSTCk7CisJCQkJb21hcF93cml0ZXcoVURDX1NFVF9GSUZPX0VOLCBVRENfQ1RSTCk7CisJCQkJb21hcF93cml0ZXcoVURDX0VQX0RJUiwgVURDX0VQX05VTSk7CiAKIAkJCQkvKiBjbGVhbnVwICovCiAJCQkJdWRjLT5lcDBfcGVuZGluZyA9IDA7CkBAIC0xMDQyLDExICsxMDMzLDExIEBACiAKIAkJCS8qIG5vbi1lbXB0eSBEQVRBIHN0YWdlICovCiAJCQl9IGVsc2UgaWYgKGlzX2luKSB7Ci0JCQkJVURDX0VQX05VTV9SRUcgPSBVRENfRVBfU0VMfFVEQ19FUF9ESVI7CisJCQkJb21hcF93cml0ZXcoVURDX0VQX1NFTCB8IFVEQ19FUF9ESVIsIFVEQ19FUF9OVU0pOwogCQkJfSBlbHNlIHsKIAkJCQlpZiAodWRjLT5lcDBfc2V0dXApCiAJCQkJCWdvdG8gaXJxX3dhaXQ7Ci0JCQkJVURDX0VQX05VTV9SRUcgPSBVRENfRVBfU0VMOworCQkJCW9tYXBfd3JpdGV3KFVEQ19FUF9TRUwsIFVEQ19FUF9OVU0pOwogCQkJfQogCQl9IGVsc2UgewogCQkJaXNfaW4gPSBlcC0+YkVuZHBvaW50QWRkcmVzcyAmIFVTQl9ESVJfSU47CkBAIC0xMDYyLDcgKzEwNTMsNyBAQAogCQkJCXJlcSA9IE5VTEw7CiAJCQlkZXNlbGVjdF9lcCgpOwogCQkJaWYgKCFpc19pbikgewotCQkJCVVEQ19DVFJMX1JFRyA9IFVEQ19TRVRfRklGT19FTjsKKwkJCQlvbWFwX3dyaXRldyhVRENfU0VUX0ZJRk9fRU4sIFVEQ19DVFJMKTsKIAkJCQllcC0+YWNrd2FpdCA9IDEgKyBlcC0+ZG91YmxlX2J1ZjsKIAkJCX0KIAkJCS8qIElOOiA2IHdhaXQgc3RhdGVzIGJlZm9yZSBpdCdsbCB0eCAqLwpAQCAtMTEzMCw5ICsxMTIxLDkgQEAKIAkJZWxzZSBpZiAodmFsdWUpIHsKIAkJCWlmIChlcC0+dWRjLT5lcDBfc2V0X2NvbmZpZykgewogCQkJCVdBUk4oImVycm9yIGNoYW5naW5nIGNvbmZpZz9cbiIpOwotCQkJCVVEQ19TWVNDT04yX1JFRyA9IFVEQ19DTFJfQ0ZHOworCQkJCW9tYXBfd3JpdGV3KFVEQ19DTFJfQ0ZHLCBVRENfU1lTQ09OMik7CiAJCQl9Ci0JCQlVRENfU1lTQ09OMl9SRUcgPSBVRENfU1RBTExfQ01EOworCQkJb21hcF93cml0ZXcoVURDX1NUQUxMX0NNRCwgVURDX1NZU0NPTjIpOwogCQkJZXAtPnVkYy0+ZXAwX3BlbmRpbmcgPSAwOwogCQkJc3RhdHVzID0gMDsKIAkJfSBlbHNlIC8qIE5PUCAqLwpAQCAtMTE1OSw4ICsxMTUwLDggQEAKIAkJCQljaGFubmVsID0gMDsKIAogCQkJdXNlX2VwKGVwLCBVRENfRVBfU0VMKTsKLQkJCWlmIChVRENfU1RBVF9GTEdfUkVHICYgVURDX05PTl9JU09fRklGT19FTVBUWSkgewotCQkJCVVEQ19DVFJMX1JFRyA9IFVEQ19TRVRfSEFMVDsKKwkJCWlmIChvbWFwX3JlYWR3KFVEQ19TVEFUX0ZMRykgJiBVRENfTk9OX0lTT19GSUZPX0VNUFRZKSB7CisJCQkJb21hcF93cml0ZXcoVURDX1NFVF9IQUxULCBVRENfQ1RSTCk7CiAJCQkJc3RhdHVzID0gMDsKIAkJCX0gZWxzZQogCQkJCXN0YXR1cyA9IC1FQUdBSU47CkBAIC0xMTcwLDEwICsxMTYxLDEwIEBACiAJCQkJZG1hX2NoYW5uZWxfY2xhaW0oZXAsIGNoYW5uZWwpOwogCQl9IGVsc2UgewogCQkJdXNlX2VwKGVwLCAwKTsKLQkJCVVEQ19DVFJMX1JFRyA9IGVwLT51ZGMtPmNscl9oYWx0OworCQkJb21hcF93cml0ZXcoZXAtPnVkYy0+Y2xyX2hhbHQsIFVEQ19DVFJMKTsKIAkJCWVwLT5hY2t3YWl0ID0gMDsKIAkJCWlmICghKGVwLT5iRW5kcG9pbnRBZGRyZXNzICYgVVNCX0RJUl9JTikpIHsKLQkJCQlVRENfQ1RSTF9SRUcgPSBVRENfU0VUX0ZJRk9fRU47CisJCQkJb21hcF93cml0ZXcoVURDX1NFVF9GSUZPX0VOLCBVRENfQ1RSTCk7CiAJCQkJZXAtPmFja3dhaXQgPSAxICsgZXAtPmRvdWJsZV9idWY7CiAJCQl9CiAJCX0KQEAgLTEyMDUsNyArMTE5Niw3IEBACiAKIHN0YXRpYyBpbnQgb21hcF9nZXRfZnJhbWUoc3RydWN0IHVzYl9nYWRnZXQgKmdhZGdldCkKIHsKLQl1MTYJc29mID0gVURDX1NPRl9SRUc7CisJdTE2CXNvZiA9IG9tYXBfcmVhZHcoVURDX1NPRik7CiAJcmV0dXJuIChzb2YgJiBVRENfVFNfT0spID8gKHNvZiAmIFVEQ19UUykgOiAtRUwyTlNZTkM7CiB9CiAKQEAgLTEyMjQsNyArMTIxNSw3IEBACiAJCSAqLwogCQlpZiAodWRjLT5kZXZzdGF0ICYgKFVEQ19CX0hOUF9FTkFCTEV8VURDX1JfV0tfT0spKSB7CiAJCQlEQkcoInJlbW90ZSB3YWtldXAuLi5cbiIpOwotCQkJVURDX1NZU0NPTjJfUkVHID0gVURDX1JNVF9XS1A7CisJCQlvbWFwX3dyaXRldyhVRENfUk1UX1dLUCwgVURDX1NZU0NPTjIpOwogCQkJcmV0dmFsID0gMDsKIAkJfQogCkBAIC0xMjQ3LDEyICsxMjM4LDEyIEBACiAKIAl1ZGMgPSBjb250YWluZXJfb2YoZ2FkZ2V0LCBzdHJ1Y3Qgb21hcF91ZGMsIGdhZGdldCk7CiAJc3Bpbl9sb2NrX2lycXNhdmUoJnVkYy0+bG9jaywgZmxhZ3MpOwotCXN5c2NvbjEgPSBVRENfU1lTQ09OMV9SRUc7CisJc3lzY29uMSA9IG9tYXBfcmVhZHcoVURDX1NZU0NPTjEpOwogCWlmIChpc19zZWxmcG93ZXJlZCkKIAkJc3lzY29uMSB8PSBVRENfU0VMRl9QV1I7CiAJZWxzZQogCQlzeXNjb24xICY9IH5VRENfU0VMRl9QV1I7Ci0JVURDX1NZU0NPTjFfUkVHID0gc3lzY29uMTsKKwlvbWFwX3dyaXRldyhzeXNjb24xLCBVRENfU1lTQ09OMSk7CiAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmdWRjLT5sb2NrLCBmbGFncyk7CiAKIAlyZXR1cm4gMDsKQEAgLTEyNjUsMTggKzEyNTYsMzYgQEAKIAogc3RhdGljIHZvaWQgcHVsbHVwX2VuYWJsZShzdHJ1Y3Qgb21hcF91ZGMgKnVkYykKIHsKLQlVRENfU1lTQ09OMV9SRUcgfD0gVURDX1BVTExVUF9FTjsKLQlpZiAoIWdhZGdldF9pc19vdGcoJnVkYy0+Z2FkZ2V0KSAmJiAhY3B1X2lzX29tYXAxNXh4KCkpCi0JCU9UR19DVFJMX1JFRyB8PSBPVEdfQlNFU1NWTEQ7Ci0JVURDX0lSUV9FTl9SRUcgPSBVRENfRFNfQ0hHX0lFOworCXUxNiB3OworCisJdyA9IG9tYXBfcmVhZHcoVURDX1NZU0NPTjEpOworCXcgfD0gVURDX1BVTExVUF9FTjsKKwlvbWFwX3dyaXRldyh3LCBVRENfU1lTQ09OMSk7CisJaWYgKCFnYWRnZXRfaXNfb3RnKCZ1ZGMtPmdhZGdldCkgJiYgIWNwdV9pc19vbWFwMTV4eCgpKSB7CisJCXUzMiBsOworCisJCWwgPSBvbWFwX3JlYWRsKE9UR19DVFJMKTsKKwkJbCB8PSBPVEdfQlNFU1NWTEQ7CisJCW9tYXBfd3JpdGVsKGwsIE9UR19DVFJMKTsKKwl9CisJb21hcF93cml0ZXcoVURDX0RTX0NIR19JRSwgVURDX0lSUV9FTik7CiB9CiAKIHN0YXRpYyB2b2lkIHB1bGx1cF9kaXNhYmxlKHN0cnVjdCBvbWFwX3VkYyAqdWRjKQogewotCWlmICghZ2FkZ2V0X2lzX290ZygmdWRjLT5nYWRnZXQpICYmICFjcHVfaXNfb21hcDE1eHgoKSkKLQkJT1RHX0NUUkxfUkVHICY9IH5PVEdfQlNFU1NWTEQ7Ci0JVURDX0lSUV9FTl9SRUcgPSBVRENfRFNfQ0hHX0lFOwotCVVEQ19TWVNDT04xX1JFRyAmPSB+VURDX1BVTExVUF9FTjsKKwl1MTYgdzsKKworCWlmICghZ2FkZ2V0X2lzX290ZygmdWRjLT5nYWRnZXQpICYmICFjcHVfaXNfb21hcDE1eHgoKSkgeworCQl1MzIgbDsKKworCQlsID0gb21hcF9yZWFkbChPVEdfQ1RSTCk7CisJCWwgJj0gfk9UR19CU0VTU1ZMRDsKKwkJb21hcF93cml0ZWwobCwgT1RHX0NUUkwpOworCX0KKwlvbWFwX3dyaXRldyhVRENfRFNfQ0hHX0lFLCBVRENfSVJRX0VOKTsKKwl3ID0gb21hcF9yZWFkdyhVRENfU1lTQ09OMSk7CisJdyAmPSB+VURDX1BVTExVUF9FTjsKKwlvbWFwX3dyaXRldyh3LCBVRENfU1lTQ09OMSk7CiB9CiAKIHN0YXRpYyBzdHJ1Y3Qgb21hcF91ZGMgKnVkYzsKQEAgLTEzMDQsNiArMTMxMyw3IEBACiB7CiAJc3RydWN0IG9tYXBfdWRjCSp1ZGM7CiAJdW5zaWduZWQgbG9uZwlmbGFnczsKKwl1MzIgbDsKIAogCXVkYyA9IGNvbnRhaW5lcl9vZihnYWRnZXQsIHN0cnVjdCBvbWFwX3VkYywgZ2FkZ2V0KTsKIAlzcGluX2xvY2tfaXJxc2F2ZSgmdWRjLT5sb2NrLCBmbGFncyk7CkBAIC0xMzExLDEwICsxMzIxLDEyIEBACiAJdWRjLT52YnVzX2FjdGl2ZSA9IChpc19hY3RpdmUgIT0gMCk7CiAJaWYgKGNwdV9pc19vbWFwMTV4eCgpKSB7CiAJCS8qICJzb2Z0d2FyZSIgZGV0ZWN0LCBpZ25vcmVkIGlmICFWQlVTX01PREVfMTUxMCAqLworCQlsID0gb21hcF9yZWFkbChGVU5DX01VWF9DVFJMXzApOwogCQlpZiAoaXNfYWN0aXZlKQotCQkJRlVOQ19NVVhfQ1RSTF8wX1JFRyB8PSBWQlVTX0NUUkxfMTUxMDsKKwkJCWwgfD0gVkJVU19DVFJMXzE1MTA7CiAJCWVsc2UKLQkJCUZVTkNfTVVYX0NUUkxfMF9SRUcgJj0gflZCVVNfQ1RSTF8xNTEwOworCQkJbCAmPSB+VkJVU19DVFJMXzE1MTA7CisJCW9tYXBfd3JpdGVsKGwsIEZVTkNfTVVYX0NUUkxfMCk7CiAJfQogCWlmICh1ZGMtPmRjX2NsayAhPSBOVUxMICYmIGlzX2FjdGl2ZSkgewogCQlpZiAoIXVkYy0+Y2xrX3JlcXVlc3RlZCkgewpAQCAtMTM4NCw5ICsxMzk2LDkgQEAKIAkJZG1hX2NoYW5uZWxfcmVsZWFzZShlcCk7CiAKIAl1c2VfZXAoZXAsIDApOwotCVVEQ19DVFJMX1JFRyA9IFVEQ19DTFJfRVA7CisJb21hcF93cml0ZXcoVURDX0NMUl9FUCwgVURDX0NUUkwpOwogCWlmIChlcC0+YkVuZHBvaW50QWRkcmVzcyAmJiBlcC0+Ym1BdHRyaWJ1dGVzICE9IFVTQl9FTkRQT0lOVF9YRkVSX0lTT0MpCi0JCVVEQ19DVFJMX1JFRyA9IFVEQ19TRVRfSEFMVDsKKwkJb21hcF93cml0ZXcoVURDX1NFVF9IQUxULCBVRENfQ1RSTCk7CiAKIAl3aGlsZSAoIWxpc3RfZW1wdHkoJmVwLT5xdWV1ZSkpIHsKIAkJcmVxID0gbGlzdF9lbnRyeShlcC0+cXVldWUubmV4dCwgc3RydWN0IG9tYXBfcmVxLCBxdWV1ZSk7CkBAIC0xNDE0LDggKzE0MjYsOCBAQAogCWlmICghZ2FkZ2V0X2lzX290ZygmdWRjLT5nYWRnZXQpKQogCQlyZXR1cm47CiAKLQlpZiAoT1RHX0NUUkxfUkVHICYgT1RHX0lEKQotCQlkZXZzdGF0ID0gVURDX0RFVlNUQVRfUkVHOworCWlmIChvbWFwX3JlYWRsKE9UR19DVFJMKSAmIE9UR19JRCkKKwkJZGV2c3RhdCA9IG9tYXBfcmVhZHcoVURDX0RFVlNUQVQpOwogCWVsc2UKIAkJZGV2c3RhdCA9IDA7CiAKQEAgLTE0MjYsOSArMTQzOCwxNCBAQAogCS8qIEVuYWJsZSBITlAgZWFybHksIGF2b2lkaW5nIHJhY2VzIG9uIHN1c3BlbmQgaXJxIHBhdGguCiAJICogQVNTVU1FUyBPVEcgc3RhdGUgbWFjaGluZSBCX0JVU19SRVEgaW5wdXQgaXMgdHJ1ZS4KIAkgKi8KLQlpZiAodWRjLT5nYWRnZXQuYl9obnBfZW5hYmxlKQotCQlPVEdfQ1RSTF9SRUcgPSAoT1RHX0NUUkxfUkVHIHwgT1RHX0JfSE5QRU4gfCBPVEdfQl9CVVNSRVEpCi0JCQkJJiB+T1RHX1BVTExVUDsKKwlpZiAodWRjLT5nYWRnZXQuYl9obnBfZW5hYmxlKSB7CisJCXUzMiBsOworCisJCWwgPSBvbWFwX3JlYWRsKE9UR19DVFJMKTsKKwkJbCB8PSBPVEdfQl9ITlBFTiB8IE9UR19CX0JVU1JFUTsKKwkJbCAmPSB+T1RHX1BVTExVUDsKKwkJb21hcF93cml0ZWwobCwgT1RHX0NUUkwpOworCX0KIH0KIAogc3RhdGljIHZvaWQgZXAwX2lycShzdHJ1Y3Qgb21hcF91ZGMgKnVkYywgdTE2IGlycV9zcmMpCkBAIC0xNDQ2LDcgKzE0NjMsNyBAQAogCiAJCW51a2UoZXAwLCAwKTsKIAkJaWYgKGFjaykgewotCQkJVURDX0lSUV9TUkNfUkVHID0gYWNrOworCQkJb21hcF93cml0ZXcoYWNrLCBVRENfSVJRX1NSQyk7CiAJCQlpcnFfc3JjID0gVURDX1NFVFVQOwogCQl9CiAJfQpAQCAtMTQ2Niw5ICsxNDgzLDkgQEAKIAlpZiAoaXJxX3NyYyAmIFVEQ19FUDBfVFgpIHsKIAkJaW50CXN0YXQ7CiAKLQkJVURDX0lSUV9TUkNfUkVHID0gVURDX0VQMF9UWDsKLQkJVURDX0VQX05VTV9SRUcgPSBVRENfRVBfU0VMfFVEQ19FUF9ESVI7Ci0JCXN0YXQgPSBVRENfU1RBVF9GTEdfUkVHOworCQlvbWFwX3dyaXRldyhVRENfRVAwX1RYLCBVRENfSVJRX1NSQyk7CisJCW9tYXBfd3JpdGV3KFVEQ19FUF9TRUx8VURDX0VQX0RJUiwgVURDX0VQX05VTSk7CisJCXN0YXQgPSBvbWFwX3JlYWR3KFVEQ19TVEFUX0ZMRyk7CiAJCWlmIChzdGF0ICYgVURDX0FDSykgewogCQkJaWYgKHVkYy0+ZXAwX2luKSB7CiAJCQkJLyogd3JpdGUgbmV4dCBJTiBwYWNrZXQgZnJvbSByZXNwb25zZSwKQEAgLTE0NzYsMjYgKzE0OTMsMjYgQEAKIAkJCQkgKi8KIAkJCQlpZiAocmVxKQogCQkJCQlzdGF0ID0gd3JpdGVfZmlmbyhlcDAsIHJlcSk7Ci0JCQkJVURDX0VQX05VTV9SRUcgPSBVRENfRVBfRElSOworCQkJCW9tYXBfd3JpdGV3KFVEQ19FUF9ESVIsIFVEQ19FUF9OVU0pOwogCQkJCWlmICghcmVxICYmIHVkYy0+ZXAwX3BlbmRpbmcpIHsKLQkJCQkJVURDX0VQX05VTV9SRUcgPSBVRENfRVBfU0VMOwotCQkJCQlVRENfQ1RSTF9SRUcgPSBVRENfQ0xSX0VQOwotCQkJCQlVRENfQ1RSTF9SRUcgPSBVRENfU0VUX0ZJRk9fRU47Ci0JCQkJCVVEQ19FUF9OVU1fUkVHID0gMDsKKwkJCQkJb21hcF93cml0ZXcoVURDX0VQX1NFTCwgVURDX0VQX05VTSk7CisJCQkJCW9tYXBfd3JpdGV3KFVEQ19DTFJfRVAsIFVEQ19DVFJMKTsKKwkJCQkJb21hcF93cml0ZXcoVURDX1NFVF9GSUZPX0VOLCBVRENfQ1RSTCk7CisJCQkJCW9tYXBfd3JpdGV3KDAsIFVEQ19FUF9OVU0pOwogCQkJCQl1ZGMtPmVwMF9wZW5kaW5nID0gMDsKIAkJCQl9IC8qIGVsc2U6ICA2IHdhaXQgc3RhdGVzIGJlZm9yZSBpdCdsbCB0eCAqLwogCQkJfSBlbHNlIHsKIAkJCQkvKiBhY2sgc3RhdHVzIHN0YWdlIG9mIE9VVCB0cmFuc2ZlciAqLwotCQkJCVVEQ19FUF9OVU1fUkVHID0gVURDX0VQX0RJUjsKKwkJCQlvbWFwX3dyaXRldyhVRENfRVBfRElSLCBVRENfRVBfTlVNKTsKIAkJCQlpZiAocmVxKQogCQkJCQlkb25lKGVwMCwgcmVxLCAwKTsKIAkJCX0KIAkJCXJlcSA9IE5VTEw7CiAJCX0gZWxzZSBpZiAoc3RhdCAmIFVEQ19TVEFMTCkgewotCQkJVURDX0NUUkxfUkVHID0gVURDX0NMUl9IQUxUOwotCQkJVURDX0VQX05VTV9SRUcgPSBVRENfRVBfRElSOworCQkJb21hcF93cml0ZXcoVURDX0NMUl9IQUxULCBVRENfQ1RSTCk7CisJCQlvbWFwX3dyaXRldyhVRENfRVBfRElSLCBVRENfRVBfTlVNKTsKIAkJfSBlbHNlIHsKLQkJCVVEQ19FUF9OVU1fUkVHID0gVURDX0VQX0RJUjsKKwkJCW9tYXBfd3JpdGV3KFVEQ19FUF9ESVIsIFVEQ19FUF9OVU0pOwogCQl9CiAJfQogCkBAIC0xNTAzLDkgKzE1MjAsOSBAQAogCWlmIChpcnFfc3JjICYgVURDX0VQMF9SWCkgewogCQlpbnQJc3RhdDsKIAotCQlVRENfSVJRX1NSQ19SRUcgPSBVRENfRVAwX1JYOwotCQlVRENfRVBfTlVNX1JFRyA9IFVEQ19FUF9TRUw7Ci0JCXN0YXQgPSBVRENfU1RBVF9GTEdfUkVHOworCQlvbWFwX3dyaXRldyhVRENfRVAwX1JYLCBVRENfSVJRX1NSQyk7CisJCW9tYXBfd3JpdGV3KFVEQ19FUF9TRUwsIFVEQ19FUF9OVU0pOworCQlzdGF0ID0gb21hcF9yZWFkdyhVRENfU1RBVF9GTEcpOwogCQlpZiAoc3RhdCAmIFVEQ19BQ0spIHsKIAkJCWlmICghdWRjLT5lcDBfaW4pIHsKIAkJCQlzdGF0ID0gMDsKQEAgLTE1MTMsMzQgKzE1MzAsMzUgQEAKIAkJCQkgKiByZWFjdGl2aXRpbmcgdGhlIGZpZm87IHN0YWxsIG9uIGVycm9ycy4KIAkJCQkgKi8KIAkJCQlpZiAoIXJlcSB8fCAoc3RhdCA9IHJlYWRfZmlmbyhlcDAsIHJlcSkpIDwgMCkgewotCQkJCQlVRENfU1lTQ09OMl9SRUcgPSBVRENfU1RBTExfQ01EOworCQkJCQlvbWFwX3dyaXRldyhVRENfU1RBTExfQ01ELCBVRENfU1lTQ09OMik7CiAJCQkJCXVkYy0+ZXAwX3BlbmRpbmcgPSAwOwogCQkJCQlzdGF0ID0gMDsKIAkJCQl9IGVsc2UgaWYgKHN0YXQgPT0gMCkKLQkJCQkJVURDX0NUUkxfUkVHID0gVURDX1NFVF9GSUZPX0VOOwotCQkJCVVEQ19FUF9OVU1fUkVHID0gMDsKKwkJCQkJb21hcF93cml0ZXcoVURDX1NFVF9GSUZPX0VOLCBVRENfQ1RSTCk7CisJCQkJb21hcF93cml0ZXcoMCwgVURDX0VQX05VTSk7CiAKIAkJCQkvKiBhY3RpdmF0ZSBzdGF0dXMgc3RhZ2UgKi8KIAkJCQlpZiAoc3RhdCA9PSAxKSB7CiAJCQkJCWRvbmUoZXAwLCByZXEsIDApOwogCQkJCQkvKiB0aGF0IG1heSBoYXZlIFNUQUxMZWQgZXAwLi4uICovCi0JCQkJCVVEQ19FUF9OVU1fUkVHID0gVURDX0VQX1NFTHxVRENfRVBfRElSOwotCQkJCQlVRENfQ1RSTF9SRUcgPSBVRENfQ0xSX0VQOwotCQkJCQlVRENfQ1RSTF9SRUcgPSBVRENfU0VUX0ZJRk9fRU47Ci0JCQkJCVVEQ19FUF9OVU1fUkVHID0gVURDX0VQX0RJUjsKKwkJCQkJb21hcF93cml0ZXcoVURDX0VQX1NFTCB8IFVEQ19FUF9ESVIsCisJCQkJCQkJVURDX0VQX05VTSk7CisJCQkJCW9tYXBfd3JpdGV3KFVEQ19DTFJfRVAsIFVEQ19DVFJMKTsKKwkJCQkJb21hcF93cml0ZXcoVURDX1NFVF9GSUZPX0VOLCBVRENfQ1RSTCk7CisJCQkJCW9tYXBfd3JpdGV3KFVEQ19FUF9ESVIsIFVEQ19FUF9OVU0pOwogCQkJCQl1ZGMtPmVwMF9wZW5kaW5nID0gMDsKIAkJCQl9CiAJCQl9IGVsc2UgewogCQkJCS8qIGFjayBzdGF0dXMgc3RhZ2Ugb2YgSU4gdHJhbnNmZXIgKi8KLQkJCQlVRENfRVBfTlVNX1JFRyA9IDA7CisJCQkJb21hcF93cml0ZXcoMCwgVURDX0VQX05VTSk7CiAJCQkJaWYgKHJlcSkKIAkJCQkJZG9uZShlcDAsIHJlcSwgMCk7CiAJCQl9CiAJCX0gZWxzZSBpZiAoc3RhdCAmIFVEQ19TVEFMTCkgewotCQkJVURDX0NUUkxfUkVHID0gVURDX0NMUl9IQUxUOwotCQkJVURDX0VQX05VTV9SRUcgPSAwOworCQkJb21hcF93cml0ZXcoVURDX0NMUl9IQUxULCBVRENfQ1RSTCk7CisJCQlvbWFwX3dyaXRldygwLCBVRENfRVBfTlVNKTsKIAkJfSBlbHNlIHsKLQkJCVVEQ19FUF9OVU1fUkVHID0gMDsKKwkJCW9tYXBfd3JpdGV3KDAsIFVEQ19FUF9OVU0pOwogCQl9CiAJfQogCkBAIC0xNTU1LDE0ICsxNTczLDE0IEBACiAKIAkJLyogcmVhZCB0aGUgKGxhdGVzdCkgU0VUVVAgbWVzc2FnZSAqLwogCQlkbyB7Ci0JCQlVRENfRVBfTlVNX1JFRyA9IFVEQ19TRVRVUF9TRUw7CisJCQlvbWFwX3dyaXRldyhVRENfU0VUVVBfU0VMLCBVRENfRVBfTlVNKTsKIAkJCS8qIHR3byBieXRlcyBhdCBhIHRpbWUgKi8KLQkJCXUud29yZFswXSA9IFVEQ19EQVRBX1JFRzsKLQkJCXUud29yZFsxXSA9IFVEQ19EQVRBX1JFRzsKLQkJCXUud29yZFsyXSA9IFVEQ19EQVRBX1JFRzsKLQkJCXUud29yZFszXSA9IFVEQ19EQVRBX1JFRzsKLQkJCVVEQ19FUF9OVU1fUkVHID0gMDsKLQkJfSB3aGlsZSAoVURDX0lSUV9TUkNfUkVHICYgVURDX1NFVFVQKTsKKwkJCXUud29yZFswXSA9IG9tYXBfcmVhZHcoVURDX0RBVEEpOworCQkJdS53b3JkWzFdID0gb21hcF9yZWFkdyhVRENfREFUQSk7CisJCQl1LndvcmRbMl0gPSBvbWFwX3JlYWR3KFVEQ19EQVRBKTsKKwkJCXUud29yZFszXSA9IG9tYXBfcmVhZHcoVURDX0RBVEEpOworCQkJb21hcF93cml0ZXcoMCwgVURDX0VQX05VTSk7CisJCX0gd2hpbGUgKG9tYXBfcmVhZHcoVURDX0lSUV9TUkMpICYgVURDX1NFVFVQKTsKIAogI2RlZmluZQl3X3ZhbHVlCQlsZTE2X3RvX2NwdSh1LnIud1ZhbHVlKQogI2RlZmluZQl3X2luZGV4CQlsZTE2X3RvX2NwdSh1LnIud0luZGV4KQpAQCAtMTU5Myw5ICsxNjExLDkgQEAKIAkJCSAqIGxhdGVyIGlmIGl0IGZhaWxzIHRoZSByZXF1ZXN0LgogCQkJICovCiAJCQlpZiAodWRjLT5lcDBfcmVzZXRfY29uZmlnKQotCQkJCVVEQ19TWVNDT04yX1JFRyA9IFVEQ19DTFJfQ0ZHOworCQkJCW9tYXBfd3JpdGV3KFVEQ19DTFJfQ0ZHLCBVRENfU1lTQ09OMik7CiAJCQllbHNlCi0JCQkJVURDX1NZU0NPTjJfUkVHID0gVURDX0RFVl9DRkc7CisJCQkJb21hcF93cml0ZXcoVURDX0RFVl9DRkcsIFVEQ19TWVNDT04yKTsKIAkJCXVwZGF0ZV9vdGcodWRjKTsKIAkJCWdvdG8gZGVsZWdhdGU7CiAJCWNhc2UgVVNCX1JFUV9DTEVBUl9GRUFUVVJFOgpAQCAtMTYxMywxMCArMTYzMSwxMCBAQAogCQkJCQkJfHwgIWVwLT5kZXNjKQogCQkJCQlnb3RvIGRvX3N0YWxsOwogCQkJCXVzZV9lcChlcCwgMCk7Ci0JCQkJVURDX0NUUkxfUkVHID0gdWRjLT5jbHJfaGFsdDsKKwkJCQlvbWFwX3dyaXRldyh1ZGMtPmNscl9oYWx0LCBVRENfQ1RSTCk7CiAJCQkJZXAtPmFja3dhaXQgPSAwOwogCQkJCWlmICghKGVwLT5iRW5kcG9pbnRBZGRyZXNzICYgVVNCX0RJUl9JTikpIHsKLQkJCQkJVURDX0NUUkxfUkVHID0gVURDX1NFVF9GSUZPX0VOOworCQkJCQlvbWFwX3dyaXRldyhVRENfU0VUX0ZJRk9fRU4sIFVEQ19DVFJMKTsKIAkJCQkJZXAtPmFja3dhaXQgPSAxICsgZXAtPmRvdWJsZV9idWY7CiAJCQkJfQogCQkJCS8qIE5PVEU6ICBhc3N1bWVzIHRoZSBob3N0IGJlaGF2ZXMgc2FuZWx5LApAQCAtMTY0OSwxNSArMTY2NywxNSBAQAogCQkJfQogCQkJdXNlX2VwKGVwLCAwKTsKIAkJCS8qIGNhbid0IGhhbHQgaWYgZmlmbyBpc24ndCBlbXB0eS4uLiAqLwotCQkJVURDX0NUUkxfUkVHID0gVURDX0NMUl9FUDsKLQkJCVVEQ19DVFJMX1JFRyA9IFVEQ19TRVRfSEFMVDsKKwkJCW9tYXBfd3JpdGV3KFVEQ19DTFJfRVAsIFVEQ19DVFJMKTsKKwkJCW9tYXBfd3JpdGV3KFVEQ19TRVRfSEFMVCwgVURDX0NUUkwpOwogCQkJVkRCRygiJXMgaGFsdGVkIGJ5IGhvc3RcbiIsIGVwLT5uYW1lKTsKIGVwMG91dF9zdGF0dXNfc3RhZ2U6CiAJCQlzdGF0dXMgPSAwOwotCQkJVURDX0VQX05VTV9SRUcgPSBVRENfRVBfU0VMfFVEQ19FUF9ESVI7Ci0JCQlVRENfQ1RSTF9SRUcgPSBVRENfQ0xSX0VQOwotCQkJVURDX0NUUkxfUkVHID0gVURDX1NFVF9GSUZPX0VOOwotCQkJVURDX0VQX05VTV9SRUcgPSBVRENfRVBfRElSOworCQkJb21hcF93cml0ZXcoVURDX0VQX1NFTHxVRENfRVBfRElSLCBVRENfRVBfTlVNKTsKKwkJCW9tYXBfd3JpdGV3KFVEQ19DTFJfRVAsIFVEQ19DVFJMKTsKKwkJCW9tYXBfd3JpdGV3KFVEQ19TRVRfRklGT19FTiwgVURDX0NUUkwpOworCQkJb21hcF93cml0ZXcoVURDX0VQX0RJUiwgVURDX0VQX05VTSk7CiAJCQl1ZGMtPmVwMF9wZW5kaW5nID0gMDsKIAkJCWJyZWFrOwogCQljYXNlIFVTQl9SRVFfR0VUX1NUQVRVUzoKQEAgLTE2OTQsMTAgKzE3MTIsMTAgQEAKIAogemVyb19zdGF0dXM6CiAJCQkvKiByZXR1cm4gdHdvIHplcm8gYnl0ZXMgKi8KLQkJCVVEQ19FUF9OVU1fUkVHID0gVURDX0VQX1NFTHxVRENfRVBfRElSOwotCQkJVURDX0RBVEFfUkVHID0gMDsKLQkJCVVEQ19DVFJMX1JFRyA9IFVEQ19TRVRfRklGT19FTjsKLQkJCVVEQ19FUF9OVU1fUkVHID0gVURDX0VQX0RJUjsKKwkJCW9tYXBfd3JpdGV3KFVEQ19FUF9TRUx8VURDX0VQX0RJUiwgVURDX0VQX05VTSk7CisJCQlvbWFwX3dyaXRldygwLCBVRENfREFUQSk7CisJCQlvbWFwX3dyaXRldyhVRENfU0VUX0ZJRk9fRU4sIFVEQ19DVFJMKTsKKwkJCW9tYXBfd3JpdGV3KFVEQ19FUF9ESVIsIFVEQ19FUF9OVU0pOwogCQkJc3RhdHVzID0gMDsKIAkJCVZEQkcoIkdFVF9TVEFUVVMsIGludGVyZmFjZSAlZFxuIiwgd19pbmRleCk7CiAJCQkvKiBuZXh0LCBzdGF0dXMgc3RhZ2UgKi8KQEAgLTE3MDYsOCArMTcyNCw4IEBACiBkZWxlZ2F0ZToKIAkJCS8qIGFjdGl2YXRlIHRoZSBlcDBvdXQgZmlmbyByaWdodCBhd2F5ICovCiAJCQlpZiAoIXVkYy0+ZXAwX2luICYmIHdfbGVuZ3RoKSB7Ci0JCQkJVURDX0VQX05VTV9SRUcgPSAwOwotCQkJCVVEQ19DVFJMX1JFRyA9IFVEQ19TRVRfRklGT19FTjsKKwkJCQlvbWFwX3dyaXRldygwLCBVRENfRVBfTlVNKTsKKwkJCQlvbWFwX3dyaXRldyhVRENfU0VUX0ZJRk9fRU4sIFVEQ19DVFJMKTsKIAkJCX0KIAogCQkJLyogZ2FkZ2V0IGRyaXZlcnMgc2VlIGNsYXNzL3ZlbmRvciBzcGVjaWZpYyByZXF1ZXN0cywKQEAgLTE3NDgsOSArMTc2Niw5IEBACiAJCQkJaWYgKHVkYy0+ZXAwX3Jlc2V0X2NvbmZpZykKIAkJCQkJV0FSTigiZXJyb3IgcmVzZXR0aW5nIGNvbmZpZz9cbiIpOwogCQkJCWVsc2UKLQkJCQkJVURDX1NZU0NPTjJfUkVHID0gVURDX0NMUl9DRkc7CisJCQkJCW9tYXBfd3JpdGV3KFVEQ19DTFJfQ0ZHLCBVRENfU1lTQ09OMik7CiAJCQl9Ci0JCQlVRENfU1lTQ09OMl9SRUcgPSBVRENfU1RBTExfQ01EOworCQkJb21hcF93cml0ZXcoVURDX1NUQUxMX0NNRCwgVURDX1NZU0NPTjIpOwogCQkJdWRjLT5lcDBfcGVuZGluZyA9IDA7CiAJCX0KIAl9CkBAIC0xNzY0LDcgKzE3ODIsNyBAQAogewogCXUxNglkZXZzdGF0LCBjaGFuZ2U7CiAKLQlkZXZzdGF0ID0gVURDX0RFVlNUQVRfUkVHOworCWRldnN0YXQgPSBvbWFwX3JlYWR3KFVEQ19ERVZTVEFUKTsKIAljaGFuZ2UgPSBkZXZzdGF0IF4gdWRjLT5kZXZzdGF0OwogCXVkYy0+ZGV2c3RhdCA9IGRldnN0YXQ7CiAKQEAgLTE4MDQsNyArMTgyMiw4IEBACiAJCQkJSU5GTygiVVNCIHJlc2V0IGRvbmUsIGdhZGdldCAlc1xuIiwKIAkJCQkJdWRjLT5kcml2ZXItPmRyaXZlci5uYW1lKTsKIAkJCQkvKiBlcDAgdHJhZmZpYyBpcyBsZWdhbCBmcm9tIG5vdyBvbiAqLwotCQkJCVVEQ19JUlFfRU5fUkVHID0gVURDX0RTX0NIR19JRSB8IFVEQ19FUDBfSUU7CisJCQkJb21hcF93cml0ZXcoVURDX0RTX0NIR19JRSB8IFVEQ19FUDBfSUUsCisJCQkJCQlVRENfSVJRX0VOKTsKIAkJCX0KIAkJCWNoYW5nZSAmPSB+VURDX1VTQl9SRVNFVDsKIAkJfQpAQCAtMTg0OCw3ICsxODY3LDcgQEAKIAkJVkRCRygiZGV2c3RhdCAlMDN4LCBpZ25vcmUgY2hhbmdlICUwM3hcbiIsCiAJCQlkZXZzdGF0LCAgY2hhbmdlKTsKIAotCVVEQ19JUlFfU1JDX1JFRyA9IFVEQ19EU19DSEc7CisJb21hcF93cml0ZXcoVURDX0RTX0NIRywgVURDX0lSUV9TUkMpOwogfQogCiBzdGF0aWMgaXJxcmV0dXJuX3Qgb21hcF91ZGNfaXJxKGludCBpcnEsIHZvaWQgKl91ZGMpCkBAIC0xODU5LDcgKzE4NzgsNyBAQAogCXVuc2lnbmVkIGxvbmcJZmxhZ3M7CiAKIAlzcGluX2xvY2tfaXJxc2F2ZSgmdWRjLT5sb2NrLCBmbGFncyk7Ci0JaXJxX3NyYyA9IFVEQ19JUlFfU1JDX1JFRzsKKwlpcnFfc3JjID0gb21hcF9yZWFkdyhVRENfSVJRX1NSQyk7CiAKIAkvKiBEZXZpY2Ugc3RhdGUgY2hhbmdlICh1c2IgY2g5IHN0dWZmKSAqLwogCWlmIChpcnFfc3JjICYgVURDX0RTX0NIRykgewpAQCAtMTg4Miw3ICsxOTAxLDcgQEAKIAkJaXJxX3NyYyAmPSB+KFVEQ19UWE5fRE9ORXxVRENfUlhOX0NOVHxVRENfUlhOX0VPVCk7CiAJfQogCi0JaXJxX3NyYyAmPSB+KFVEQ19TT0Z8VURDX0VQTl9UWHxVRENfRVBOX1JYKTsKKwlpcnFfc3JjICY9IH4oVURDX0lSUV9TT0YgfCBVRENfRVBOX1RYfFVEQ19FUE5fUlgpOwogCWlmIChpcnFfc3JjKQogCQlEQkcoInVkY19pcnEsIHVuaGFuZGxlZCAlMDN4XG4iLCBpcnFfc3JjKTsKIAlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZ1ZGMtPmxvY2ssIGZsYWdzKTsKQEAgLTE5MDMsNyArMTkyMiw3IEBACiAJc3Bpbl9sb2NrX2lycXNhdmUoJmVwLT51ZGMtPmxvY2ssIGZsYWdzKTsKIAlpZiAoIWxpc3RfZW1wdHkoJmVwLT5xdWV1ZSkgJiYgZXAtPmFja3dhaXQpIHsKIAkJdXNlX2VwKGVwLCBVRENfRVBfU0VMKTsKLQkJc3RhdF9mbGcgPSBVRENfU1RBVF9GTEdfUkVHOworCQlzdGF0X2ZsZyA9IG9tYXBfcmVhZHcoVURDX1NUQVRfRkxHKTsKIAogCQlpZiAoKHN0YXRfZmxnICYgVURDX0FDSykgJiYgKCEoc3RhdF9mbGcgJiBVRENfRklGT19FTikKIAkJCQl8fCAoZXAtPmRvdWJsZV9idWYgJiYgSEFMRl9GVUxMKHN0YXRfZmxnKSkpKSB7CkBAIC0xOTEzLDggKzE5MzIsOCBAQAogCQkJcmVxID0gY29udGFpbmVyX29mKGVwLT5xdWV1ZS5uZXh0LAogCQkJCQlzdHJ1Y3Qgb21hcF9yZXEsIHF1ZXVlKTsKIAkJCSh2b2lkKSByZWFkX2ZpZm8oZXAsIHJlcSk7Ci0JCQlVRENfRVBfTlVNX1JFRyA9IGVwLT5iRW5kcG9pbnRBZGRyZXNzOwotCQkJVURDX0NUUkxfUkVHID0gVURDX1NFVF9GSUZPX0VOOworCQkJb21hcF93cml0ZXcoZXAtPmJFbmRwb2ludEFkZHJlc3MsIFVEQ19FUF9OVU0pOworCQkJb21hcF93cml0ZXcoVURDX1NFVF9GSUZPX0VOLCBVRENfQ1RSTCk7CiAJCQllcC0+YWNrd2FpdCA9IDEgKyBlcC0+ZG91YmxlX2J1ZjsKIAkJfSBlbHNlCiAJCQlkZXNlbGVjdF9lcCgpOwpAQCAtMTkzNCwyMCArMTk1MywyMCBAQAogCXVuc2lnbmVkIGxvbmcJZmxhZ3M7CiAKIAlzcGluX2xvY2tfaXJxc2F2ZSgmdWRjLT5sb2NrLCBmbGFncyk7Ci0JZXBuX3N0YXQgPSBVRENfRVBOX1NUQVRfUkVHOwotCWlycV9zcmMgPSBVRENfSVJRX1NSQ19SRUc7CisJZXBuX3N0YXQgPSBvbWFwX3JlYWR3KFVEQ19FUE5fU1RBVCk7CisJaXJxX3NyYyA9IG9tYXBfcmVhZHcoVURDX0lSUV9TUkMpOwogCiAJLyogaGFuZGxlIE9VVCBmaXJzdCwgdG8gYXZvaWQgc29tZSB3YXN0ZWZ1bCBOQUtzICovCiAJaWYgKGlycV9zcmMgJiBVRENfRVBOX1JYKSB7CiAJCWVwbnVtID0gKGVwbl9zdGF0ID4+IDgpICYgMHgwZjsKLQkJVURDX0lSUV9TUkNfUkVHID0gVURDX0VQTl9SWDsKKwkJb21hcF93cml0ZXcoVURDX0VQTl9SWCwgVURDX0lSUV9TUkMpOwogCQlzdGF0dXMgPSBJUlFfSEFORExFRDsKIAkJZXAgPSAmdWRjLT5lcFtlcG51bV07CiAJCWVwLT5pcnFzKys7CiAKLQkJVURDX0VQX05VTV9SRUcgPSBlcG51bSB8IFVEQ19FUF9TRUw7CisJCW9tYXBfd3JpdGV3KGVwbnVtIHwgVURDX0VQX1NFTCwgVURDX0VQX05VTSk7CiAJCWVwLT5mbmYgPSAwOwotCQlpZiAoKFVEQ19TVEFUX0ZMR19SRUcgJiBVRENfQUNLKSkgeworCQlpZiAob21hcF9yZWFkdyhVRENfU1RBVF9GTEcpICYgVURDX0FDSykgewogCQkJZXAtPmFja3dhaXQtLTsKIAkJCWlmICghbGlzdF9lbXB0eSgmZXAtPnF1ZXVlKSkgewogCQkJCWludCBzdGF0OwpAQCAtMTk1OSwxNSArMTk3OCwxNSBAQAogCQkJfQogCQl9CiAJCS8qIG1pbiA2IGNsb2NrIGRlbGF5IGJlZm9yZSBjbGVhcmluZyBFUF9TRUwgLi4uICovCi0JCWVwbl9zdGF0ID0gVURDX0VQTl9TVEFUX1JFRzsKLQkJZXBuX3N0YXQgPSBVRENfRVBOX1NUQVRfUkVHOwotCQlVRENfRVBfTlVNX1JFRyA9IGVwbnVtOworCQllcG5fc3RhdCA9IG9tYXBfcmVhZHcoVURDX0VQTl9TVEFUKTsKKwkJZXBuX3N0YXQgPSBvbWFwX3JlYWR3KFVEQ19FUE5fU1RBVCk7CisJCW9tYXBfd3JpdGV3KGVwbnVtLCBVRENfRVBfTlVNKTsKIAogCQkvKiBlbmFibGluZyBmaWZvIF9hZnRlcl8gY2xlYXJpbmcgQUNLLCBjb250cmFyeSB0byBkb2NzLAogCQkgKiByZWR1Y2VzIGxvc3NhZ2U7IHRpbWVyIHN0aWxsIG5lZWRlZCB0aG91Z2ggKHNpZ2gpLgogCQkgKi8KIAkJaWYgKGVwLT5mbmYpIHsKLQkJCVVEQ19DVFJMX1JFRyA9IFVEQ19TRVRfRklGT19FTjsKKwkJCW9tYXBfd3JpdGV3KFVEQ19TRVRfRklGT19FTiwgVURDX0NUUkwpOwogCQkJZXAtPmFja3dhaXQgPSAxICsgZXAtPmRvdWJsZV9idWY7CiAJCX0KIAkJbW9kX3RpbWVyKCZlcC0+dGltZXIsIFBJT19PVVRfVElNRU9VVCk7CkBAIC0xOTc2LDEzICsxOTk1LDEzIEBACiAJLyogdGhlbiBJTiB0cmFuc2ZlcnMgKi8KIAllbHNlIGlmIChpcnFfc3JjICYgVURDX0VQTl9UWCkgewogCQllcG51bSA9IGVwbl9zdGF0ICYgMHgwZjsKLQkJVURDX0lSUV9TUkNfUkVHID0gVURDX0VQTl9UWDsKKwkJb21hcF93cml0ZXcoVURDX0VQTl9UWCwgVURDX0lSUV9TUkMpOwogCQlzdGF0dXMgPSBJUlFfSEFORExFRDsKIAkJZXAgPSAmdWRjLT5lcFsxNiArIGVwbnVtXTsKIAkJZXAtPmlycXMrKzsKIAotCQlVRENfRVBfTlVNX1JFRyA9IGVwbnVtIHwgVURDX0VQX0RJUiB8IFVEQ19FUF9TRUw7Ci0JCWlmICgoVURDX1NUQVRfRkxHX1JFRyAmIFVEQ19BQ0spKSB7CisJCW9tYXBfd3JpdGV3KGVwbnVtIHwgVURDX0VQX0RJUiB8IFVEQ19FUF9TRUwsIFVEQ19FUF9OVU0pOworCQlpZiAob21hcF9yZWFkdyhVRENfU1RBVF9GTEcpICYgVURDX0FDSykgewogCQkJZXAtPmFja3dhaXQgPSAwOwogCQkJaWYgKCFsaXN0X2VtcHR5KCZlcC0+cXVldWUpKSB7CiAJCQkJcmVxID0gY29udGFpbmVyX29mKGVwLT5xdWV1ZS5uZXh0LApAQCAtMTk5MSw5ICsyMDEwLDkgQEAKIAkJCX0KIAkJfQogCQkvKiBtaW4gNiBjbG9jayBkZWxheSBiZWZvcmUgY2xlYXJpbmcgRVBfU0VMIC4uLiAqLwotCQllcG5fc3RhdCA9IFVEQ19FUE5fU1RBVF9SRUc7Ci0JCWVwbl9zdGF0ID0gVURDX0VQTl9TVEFUX1JFRzsKLQkJVURDX0VQX05VTV9SRUcgPSBlcG51bSB8IFVEQ19FUF9ESVI7CisJCWVwbl9zdGF0ID0gb21hcF9yZWFkdyhVRENfRVBOX1NUQVQpOworCQllcG5fc3RhdCA9IG9tYXBfcmVhZHcoVURDX0VQTl9TVEFUKTsKKwkJb21hcF93cml0ZXcoZXBudW0gfCBVRENfRVBfRElSLCBVRENfRVBfTlVNKTsKIAkJLyogdGhlbiA2IGNsb2NrcyBiZWZvcmUgaXQnZCB0eCAqLwogCX0KIApAQCAtMjAyMSw3ICsyMDQwLDcgQEAKIAkJcmVxID0gbGlzdF9lbnRyeShlcC0+cXVldWUubmV4dCwgc3RydWN0IG9tYXBfcmVxLCBxdWV1ZSk7CiAKIAkJdXNlX2VwKGVwLCBVRENfRVBfU0VMKTsKLQkJc3RhdCA9IFVEQ19TVEFUX0ZMR19SRUc7CisJCXN0YXQgPSBvbWFwX3JlYWR3KFVEQ19TVEFUX0ZMRyk7CiAKIAkJLyogTk9URTogbGlrZSB0aGUgb3RoZXIgY29udHJvbGxlciBkcml2ZXJzLCB0aGlzIGlzbid0CiAJCSAqIGN1cnJlbnRseSByZXBvcnRpbmcgbG9zdCBvciBkYW1hZ2VkIGZyYW1lcy4KQEAgLTIwNTMsOSArMjA3MiwxNCBAQAogCQlpZiAoIWxpc3RfZW1wdHkoJmVwLT5xdWV1ZSkpCiAJCQlwZW5kaW5nID0gMTsKIAl9Ci0JaWYgKCFwZW5kaW5nKQotCQlVRENfSVJRX0VOX1JFRyAmPSB+VURDX1NPRl9JRTsKLQlVRENfSVJRX1NSQ19SRUcgPSBVRENfU09GOworCWlmICghcGVuZGluZykgeworCQl1MTYgdzsKKworCQl3ID0gb21hcF9yZWFkdyhVRENfSVJRX0VOKTsKKwkJdyAmPSB+VURDX1NPRl9JRTsKKwkJb21hcF93cml0ZXcodywgVURDX0lSUV9FTik7CisJfQorCW9tYXBfd3JpdGV3KFVEQ19JUlFfU09GLCBVRENfSVJRX1NSQyk7CiAKIAlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZ1ZGMtPmxvY2ssIGZsYWdzKTsKIAlyZXR1cm4gSVJRX0hBTkRMRUQ7CkBAIC0yMTA0LDcgKzIxMjgsNyBAQAogCQlpZiAoZXAtPmJtQXR0cmlidXRlcyA9PSBVU0JfRU5EUE9JTlRfWEZFUl9JU09DKQogCQkJY29udGludWU7CiAJCXVzZV9lcChlcCwgMCk7Ci0JCVVEQ19DVFJMX1JFRyA9IFVEQ19TRVRfSEFMVDsKKwkJb21hcF93cml0ZXcoVURDX1NFVF9IQUxULCBVRENfQ1RSTCk7CiAJfQogCXVkYy0+ZXAwX3BlbmRpbmcgPSAwOwogCXVkYy0+ZXBbMF0uaXJxcyA9IDA7CkBAIC0yMTI4LDcgKzIxNTIsNyBAQAogCX0KIAlEQkcoImJvdW5kIHRvIGRyaXZlciAlc1xuIiwgZHJpdmVyLT5kcml2ZXIubmFtZSk7CiAKLQlVRENfSVJRX1NSQ19SRUcgPSBVRENfSVJRX1NSQ19NQVNLOworCW9tYXBfd3JpdGV3KFVEQ19JUlFfU1JDX01BU0ssIFVEQ19JUlFfU1JDKTsKIAogCS8qIGNvbm5lY3QgdG8gYnVzIHRocm91Z2ggdHJhbnNjZWl2ZXIgKi8KIAlpZiAodWRjLT50cmFuc2NlaXZlcikgewpAQCAtMjIyNSw3ICsyMjQ5LDcgQEAKIAllbHNlCiAJCWJ1ZlswXSA9IDA7CiAKLQlzdGF0X2ZsZyA9IFVEQ19TVEFUX0ZMR19SRUc7CisJc3RhdF9mbGcgPSBvbWFwX3JlYWR3KFVEQ19TVEFUX0ZMRyk7CiAJc2VxX3ByaW50ZihzLAogCQkiXG4lcyAlcyVzJXNpcnFzICVsZCBzdGF0ICUwNHggIiBFSUdIVEJJVFMgRk9VUkJJVFMgIiVzXG4iLAogCQllcC0+bmFtZSwgYnVmLApAQCAtMjI5MiwxMSArMjMxNiwxMSBAQAogCQl0cmFucyA9IENPTlRST0xfREVWQ09ORl9SRUc7CiAJfSBlbHNlIHsKIAkJY3RybF9uYW1lID0gInRyYW5jZWl2ZXJfY3RybCI7Ci0JCXRyYW5zID0gVVNCX1RSQU5TQ0VJVkVSX0NUUkxfUkVHOworCQl0cmFucyA9IG9tYXBfcmVhZHcoVVNCX1RSQU5TQ0VJVkVSX0NUUkwpOwogCX0KIAlzZXFfcHJpbnRmKHMsICJcbk9URyByZXYgJWQuJWQsICVzICUwNXhcbiIsCiAJCXRtcCA+PiA0LCB0bXAgJiAweGYsIGN0cmxfbmFtZSwgdHJhbnMpOwotCXRtcCA9IE9UR19TWVNDT05fMV9SRUc7CisJdG1wID0gb21hcF9yZWFkdyhPVEdfU1lTQ09OXzEpOwogCXNlcV9wcmludGYocywgIm90Z19zeXNjb24xICUwOHggdXNiMiAlcywgdXNiMSAlcywgdXNiMCAlcywiCiAJCQlGT1VSQklUUyAiXG4iLCB0bXAsCiAJCXRyeF9tb2RlKFVTQjJfVFJYX01PREUodG1wKSwgdHJhbnMgJiBDT05GX1VTQjJfVU5JX1IpLApAQCAtMjMwOCw3ICsyMzMyLDcgQEAKIAkJKHRtcCAmIEhTVF9JRExFX0VOKSA/ICIgIWhvc3QiIDogIiIsCiAJCSh0bXAgJiBERVZfSURMRV9FTikgPyAiICFkZXYiIDogIiIsCiAJCSh0bXAgJiBPVEdfUkVTRVRfRE9ORSkgPyAiIHJlc2V0X2RvbmUiIDogIiByZXNldF9hY3RpdmUiKTsKLQl0bXAgPSBPVEdfU1lTQ09OXzJfUkVHOworCXRtcCA9IG9tYXBfcmVhZGwoT1RHX1NZU0NPTl8yKTsKIAlzZXFfcHJpbnRmKHMsICJvdGdfc3lzY29uMiAlMDh4JXMiIEVJR0hUQklUUwogCQkJIiBiX2FzZV9icnN0PSVkIGhtYz0lZFxuIiwgdG1wLAogCQkodG1wICYgT1RHX0VOKSA/ICIgb3RnX2VuIiA6ICIiLApAQCAtMjMyMyw3ICsyMzQ3LDcgQEAKIAkJKHRtcCAmIEhNQ19UTExBVFRBQ0gpID8gIiB0bGxhdHRhY2giIDogIiIsCiAJCUJfQVNFX0JSU1QodG1wKSwKIAkJT1RHX0hNQyh0bXApKTsKLQl0bXAgPSBPVEdfQ1RSTF9SRUc7CisJdG1wID0gb21hcF9yZWFkbChPVEdfQ1RSTCk7CiAJc2VxX3ByaW50ZihzLCAib3RnX2N0cmwgICAgJTA2eCIgRUlHSFRCSVRTIEVJR0hUQklUUyAiJXNcbiIsIHRtcCwKIAkJKHRtcCAmIE9UR19BU0VTU1ZMRCkgPyAiIGFzZXNzIiA6ICIiLAogCQkodG1wICYgT1RHX0JTRVNTRU5EKSA/ICIgYnNlc3NfZW5kIiA6ICIiLApAQCAtMjM0MywxMyArMjM2NywxMyBAQAogCQkodG1wICYgT1RHX1BVX1ZCVVMpID8gIiBwdV92YiIgOiAiIiwKIAkJKHRtcCAmIE9UR19QVV9JRCkgPyAiIHB1X2lkIiA6ICIiCiAJCSk7Ci0JdG1wID0gT1RHX0lSUV9FTl9SRUc7CisJdG1wID0gb21hcF9yZWFkdyhPVEdfSVJRX0VOKTsKIAlzZXFfcHJpbnRmKHMsICJvdGdfaXJxX2VuICAlMDR4IiAiXG4iLCB0bXApOwotCXRtcCA9IE9UR19JUlFfU1JDX1JFRzsKKwl0bXAgPSBvbWFwX3JlYWR3KE9UR19JUlFfU1JDKTsKIAlzZXFfcHJpbnRmKHMsICJvdGdfaXJxX3NyYyAlMDR4IiAiXG4iLCB0bXApOwotCXRtcCA9IE9UR19PVVRDVFJMX1JFRzsKKwl0bXAgPSBvbWFwX3JlYWR3KE9UR19PVVRDVFJMKTsKIAlzZXFfcHJpbnRmKHMsICJvdGdfb3V0Y3RybCAlMDR4IiAiXG4iLCB0bXApOwotCXRtcCA9IE9UR19URVNUX1JFRzsKKwl0bXAgPSBvbWFwX3JlYWR3KE9UR19URVNUKTsKIAlzZXFfcHJpbnRmKHMsICJvdGdfdGVzdCAgICAlMDR4IiAiXG4iLCB0bXApOwogCXJldHVybiAwOwogfQpAQCAtMjM3MCw3ICsyMzk0LDcgQEAKIAkJZHJpdmVyX2Rlc2MsCiAJCXVzZV9kbWEgPyAgIiAoZG1hKSIgOiAiIik7CiAKLQl0bXAgPSBVRENfUkVWX1JFRyAmIDB4ZmY7CisJdG1wID0gb21hcF9yZWFkdyhVRENfUkVWKSAmIDB4ZmY7CiAJc2VxX3ByaW50ZihzLAogCQkiVURDIHJldiAlZC4lZCwgZmlmbyBtb2RlICVkLCBnYWRnZXQgJXNcbiIKIAkJImhtYyAlZCwgdHJhbnNjZWl2ZXIgJXNcbiIsCkBAIC0yMzg0LDE2ICsyNDA4LDE2IEBACiAJCQkJPyAiZXh0ZXJuYWwiIDogIihub25lKSIpKTsKIAlpZiAoY3B1X2NsYXNzX2lzX29tYXAxKCkpIHsKIAkJc2VxX3ByaW50ZihzLCAiVUxQRCBjb250cm9sICUwNHggcmVxICUwNHggc3RhdHVzICUwNHhcbiIsCi0JCQlfX1JFRzE2KFVMUERfQ0xPQ0tfQ1RSTCksCi0JCQlfX1JFRzE2KFVMUERfU09GVF9SRVEpLAotCQkJX19SRUcxNihVTFBEX1NUQVRVU19SRVEpKTsKKwkJCW9tYXBfcmVhZHcoVUxQRF9DTE9DS19DVFJMKSwKKwkJCW9tYXBfcmVhZHcoVUxQRF9TT0ZUX1JFUSksCisJCQlvbWFwX3JlYWR3KFVMUERfU1RBVFVTX1JFUSkpOwogCX0KIAogCS8qIE9URyBjb250cm9sbGVyIHJlZ2lzdGVycyAqLwogCWlmICghY3B1X2lzX29tYXAxNXh4KCkpCiAJCXByb2Nfb3RnX3Nob3cocyk7CiAKLQl0bXAgPSBVRENfU1lTQ09OMV9SRUc7CisJdG1wID0gb21hcF9yZWFkdyhVRENfU1lTQ09OMSk7CiAJc2VxX3ByaW50ZihzLCAiXG5zeXNjb24xICAgICAlMDR4IiBFSUdIVEJJVFMgIlxuIiwgdG1wLAogCQkodG1wICYgVURDX0NGR19MT0NLKSA/ICIgY2ZnX2xvY2siIDogIiIsCiAJCSh0bXAgJiBVRENfREFUQV9FTkRJQU4pID8gIiBkYXRhX2VuZGlhbiIgOiAiIiwKQEAgLTI0MTIsNyArMjQzNiw3IEBACiAJCXJldHVybiAwOwogCX0KIAotCXRtcCA9IFVEQ19ERVZTVEFUX1JFRzsKKwl0bXAgPSBvbWFwX3JlYWR3KFVEQ19ERVZTVEFUKTsKIAlzZXFfcHJpbnRmKHMsICJkZXZzdGF0ICAgICAlMDR4IiBFSUdIVEJJVFMgIiVzJXNcbiIsIHRtcCwKIAkJKHRtcCAmIFVEQ19CX0hOUF9FTkFCTEUpID8gIiBiX2hucCIgOiAiIiwKIAkJKHRtcCAmIFVEQ19BX0hOUF9TVVBQT1JUKSA/ICIgYV9obnAiIDogIiIsCkBAIC0yNDI0LDIwICsyNDQ4LDIwIEBACiAJCSh0bXAgJiBVRENfQUREKSA/ICIgQUREIiA6ICIiLAogCQkodG1wICYgVURDX0RFRikgPyAiIERFRiIgOiAiIiwKIAkJKHRtcCAmIFVEQ19BVFQpID8gIiBBVFQiIDogIiIpOwotCXNlcV9wcmludGYocywgInNvZiAgICAgICAgICUwNHhcbiIsIFVEQ19TT0ZfUkVHKTsKLQl0bXAgPSBVRENfSVJRX0VOX1JFRzsKKwlzZXFfcHJpbnRmKHMsICJzb2YgICAgICAgICAlMDR4XG4iLCBvbWFwX3JlYWR3KFVEQ19TT0YpKTsKKwl0bXAgPSBvbWFwX3JlYWR3KFVEQ19JUlFfRU4pOwogCXNlcV9wcmludGYocywgImlycV9lbiAgICAgICUwNHgiIEZPVVJCSVRTICIlc1xuIiwgdG1wLAogCQkodG1wICYgVURDX1NPRl9JRSkgPyAiIHNvZiIgOiAiIiwKIAkJKHRtcCAmIFVEQ19FUE5fUlhfSUUpID8gIiBlcG5fcngiIDogIiIsCiAJCSh0bXAgJiBVRENfRVBOX1RYX0lFKSA/ICIgZXBuX3R4IiA6ICIiLAogCQkodG1wICYgVURDX0RTX0NIR19JRSkgPyAiIGRzX2NoZyIgOiAiIiwKIAkJKHRtcCAmIFVEQ19FUDBfSUUpID8gIiBlcDAiIDogIiIpOwotCXRtcCA9IFVEQ19JUlFfU1JDX1JFRzsKKwl0bXAgPSBvbWFwX3JlYWR3KFVEQ19JUlFfU1JDKTsKIAlzZXFfcHJpbnRmKHMsICJpcnFfc3JjICAgICAlMDR4IiBFSUdIVEJJVFMgIiVzJXNcbiIsIHRtcCwKIAkJKHRtcCAmIFVEQ19UWE5fRE9ORSkgPyAiIHR4bl9kb25lIiA6ICIiLAogCQkodG1wICYgVURDX1JYTl9DTlQpID8gIiByeG5fY250IiA6ICIiLAogCQkodG1wICYgVURDX1JYTl9FT1QpID8gIiByeG5fZW90IiA6ICIiLAotCQkodG1wICYgVURDX1NPRikgPyAiIHNvZiIgOiAiIiwKKwkJKHRtcCAmIFVEQ19JUlFfU09GKSA/ICIgc29mIiA6ICIiLAogCQkodG1wICYgVURDX0VQTl9SWCkgPyAiIGVwbl9yeCIgOiAiIiwKIAkJKHRtcCAmIFVEQ19FUE5fVFgpID8gIiBlcG5fdHgiIDogIiIsCiAJCSh0bXAgJiBVRENfRFNfQ0hHKSA/ICIgZHNfY2hnIiA6ICIiLApAQCAtMjQ0Nyw3ICsyNDcxLDcgQEAKIAlpZiAodXNlX2RtYSkgewogCQl1bnNpZ25lZCBpOwogCi0JCXRtcCA9IFVEQ19ETUFfSVJRX0VOX1JFRzsKKwkJdG1wID0gb21hcF9yZWFkdyhVRENfRE1BX0lSUV9FTik7CiAJCXNlcV9wcmludGYocywgImRtYV9pcnFfZW4gICUwNHglcyIgRUlHSFRCSVRTICJcbiIsIHRtcCwKIAkJCSh0bXAgJiBVRENfVFhfRE9ORV9JRSgzKSkgPyAiIHR4Ml9kb25lIiA6ICIiLAogCQkJKHRtcCAmIFVEQ19SWF9DTlRfSUUoMykpID8gIiByeDJfY250IiA6ICIiLApAQCAtMjQ2MSwyOSArMjQ4NSwyOSBAQAogCQkJKHRtcCAmIFVEQ19SWF9DTlRfSUUoMSkpID8gIiByeDBfY250IiA6ICIiLAogCQkJKHRtcCAmIFVEQ19SWF9FT1RfSUUoMSkpID8gIiByeDBfZW90IiA6ICIiKTsKIAotCQl0bXAgPSBVRENfUlhETUFfQ0ZHX1JFRzsKKwkJdG1wID0gb21hcF9yZWFkdyhVRENfUlhETUFfQ0ZHKTsKIAkJc2VxX3ByaW50ZihzLCAicnhkbWFfY2ZnICAgJTA0eFxuIiwgdG1wKTsKIAkJaWYgKHRtcCkgewogCQkJZm9yIChpID0gMDsgaSA8IDM7IGkrKykgewogCQkJCWlmICgodG1wICYgKDB4MGYgPDwgKGkgKiA0KSkpID09IDApCiAJCQkJCWNvbnRpbnVlOwogCQkJCXNlcV9wcmludGYocywgInJ4ZG1hWyVkXSAgICAlMDR4XG4iLCBpLAotCQkJCQkJVURDX1JYRE1BX1JFRyhpICsgMSkpOworCQkJCQkJb21hcF9yZWFkdyhVRENfUlhETUEoaSArIDEpKSk7CiAJCQl9CiAJCX0KLQkJdG1wID0gVURDX1RYRE1BX0NGR19SRUc7CisJCXRtcCA9IG9tYXBfcmVhZHcoVURDX1RYRE1BX0NGRyk7CiAJCXNlcV9wcmludGYocywgInR4ZG1hX2NmZyAgICUwNHhcbiIsIHRtcCk7CiAJCWlmICh0bXApIHsKIAkJCWZvciAoaSA9IDA7IGkgPCAzOyBpKyspIHsKIAkJCQlpZiAoISh0bXAgJiAoMHgwZiA8PCAoaSAqIDQpKSkpCiAJCQkJCWNvbnRpbnVlOwogCQkJCXNlcV9wcmludGYocywgInR4ZG1hWyVkXSAgICAlMDR4XG4iLCBpLAotCQkJCQkJVURDX1RYRE1BX1JFRyhpICsgMSkpOworCQkJCQkJb21hcF9yZWFkdyhVRENfVFhETUEoaSArIDEpKSk7CiAJCQl9CiAJCX0KIAl9CiAKLQl0bXAgPSBVRENfREVWU1RBVF9SRUc7CisJdG1wID0gb21hcF9yZWFkdyhVRENfREVWU1RBVCk7CiAJaWYgKHRtcCAmIFVEQ19BVFQpIHsKIAkJcHJvY19lcF9zaG93KHMsICZ1ZGMtPmVwWzBdKTsKIAkJaWYgKHRtcCAmIFVEQ19BREQpIHsKQEAgLTI1MzUsNyArMjU1OSw3IEBACiAgKiBidWZmZXIgc3BhY2UgYW1vbmcgdGhlIGVuZHBvaW50cyB3ZSdsbCBiZSBvcGVyYXRpbmcuCiAgKgogICogTk9URTogYXMgb2YgT01BUCAxNzEwIEVTMi4wLCB3cml0aW5nIGEgbmV3IGVuZHBvaW50IGNvbmZpZyB3aGVuCi0gKiBVRENfU1lTQ09OXzFfUkVHLkNGR19MT0NLIGlzIHNldCBjYW4gbm93IHdvcmsuICBXZSB3b24ndCB1c2UgdGhhdAorICogVURDX1NZU0NPTl8xLkNGR19MT0NLIGlzIHNldCBjYW4gbm93IHdvcmsuICBXZSB3b24ndCB1c2UgdGhhdAogICogY2FwYWJpbGl0eSB5ZXQgdGhvdWdoLgogICovCiBzdGF0aWMgdW5zaWduZWQgX19pbml0CkBAIC0yNTk3LDkgKzI2MjEsOSBAQAogCQluYW1lLCBhZGRyLCBlcG5fcnh0eCwgbWF4cCwgZGJ1ZiA/ICJ4MiIgOiAiIiwgYnVmKTsKIAogCWlmIChhZGRyICYgVVNCX0RJUl9JTikKLQkJVURDX0VQX1RYX1JFRyhhZGRyICYgMHhmKSA9IGVwbl9yeHR4OworCQlvbWFwX3dyaXRldyhlcG5fcnh0eCwgVURDX0VQX1RYKGFkZHIgJiAweGYpKTsKIAllbHNlCi0JCVVEQ19FUF9SWF9SRUcoYWRkcikgPSBlcG5fcnh0eDsKKwkJb21hcF93cml0ZXcoZXBuX3J4dHgsIFVEQ19FUF9SWChhZGRyKSk7CiAKIAkvKiBuZXh0IGVuZHBvaW50J3MgYnVmZmVyIHN0YXJ0cyBhZnRlciB0aGlzIG9uZSdzICovCiAJYnVmICs9IG1heHA7CkBAIC0yNjM4LDE1ICsyNjYyLDE1IEBACiAJdW5zaWduZWQJdG1wLCBidWY7CiAKIAkvKiBhYm9saXNoIGFueSBwcmV2aW91cyBoYXJkd2FyZSBzdGF0ZSAqLwotCVVEQ19TWVNDT04xX1JFRyA9IDA7Ci0JVURDX0lSUV9FTl9SRUcgPSAwOwotCVVEQ19JUlFfU1JDX1JFRyA9IFVEQ19JUlFfU1JDX01BU0s7Ci0JVURDX0RNQV9JUlFfRU5fUkVHID0gMDsKLQlVRENfUlhETUFfQ0ZHX1JFRyA9IDA7Ci0JVURDX1RYRE1BX0NGR19SRUcgPSAwOworCW9tYXBfd3JpdGV3KDAsIFVEQ19TWVNDT04xKTsKKwlvbWFwX3dyaXRldygwLCBVRENfSVJRX0VOKTsKKwlvbWFwX3dyaXRldyhVRENfSVJRX1NSQ19NQVNLLCBVRENfSVJRX1NSQyk7CisJb21hcF93cml0ZXcoMCwgVURDX0RNQV9JUlFfRU4pOworCW9tYXBfd3JpdGV3KDAsIFVEQ19SWERNQV9DRkcpOworCW9tYXBfd3JpdGV3KDAsIFVEQ19UWERNQV9DRkcpOwogCiAJLyogVURDX1BVTExVUF9FTiBnYXRlcyB0aGUgY2hpcCBjbG9jayAqLwotCS8vIE9UR19TWVNDT05fMV9SRUcgfD0gREVWX0lETEVfRU47CisJLy8gT1RHX1NZU0NPTl8xIHw9IERFVl9JRExFX0VOOwogCiAJdWRjID0ga3phbGxvYyhzaXplb2YoKnVkYyksIEdGUF9LRVJORUwpOwogCWlmICghdWRjKQpAQCAtMjY3Nyw4ICsyNzAxLDggQEAKIAogCS8qIGluaXRpYWxseSBkaXNhYmxlIGFsbCBub24tZXAwIGVuZHBvaW50cyAqLwogCWZvciAodG1wID0gMTsgdG1wIDwgMTU7IHRtcCsrKSB7Ci0JCVVEQ19FUF9SWF9SRUcodG1wKSA9IDA7Ci0JCVVEQ19FUF9UWF9SRUcodG1wKSA9IDA7CisJCW9tYXBfd3JpdGV3KDAsIFVEQ19FUF9SWCh0bXApKTsKKwkJb21hcF93cml0ZXcoMCwgVURDX0VQX1RYKHRtcCkpOwogCX0KIAogI2RlZmluZSBPTUFQX0JVTEtfRVAobmFtZSxhZGRyKSBcCkBAIC0yNzYzLDcgKzI3ODcsNyBAQAogCQlFUlIoInVuc3VwcG9ydGVkIGZpZm9fbW9kZSAjJWRcbiIsIGZpZm9fbW9kZSk7CiAJCXJldHVybiAtRU5PREVWOwogCX0KLQlVRENfU1lTQ09OMV9SRUcgPSBVRENfQ0ZHX0xPQ0t8VURDX1NFTEZfUFdSOworCW9tYXBfd3JpdGV3KFVEQ19DRkdfTE9DS3xVRENfU0VMRl9QV1IsIFVEQ19TWVNDT04xKTsKIAlJTkZPKCJmaWZvIG1vZGUgJWQsICVkIGJ5dGVzIG5vdCB1c2VkXG4iLCBmaWZvX21vZGUsIDIwNDggLSBidWYpOwogCXJldHVybiAwOwogfQpAQCAtMjgwNyw3ICsyODMxLDcgQEAKIAl9CiAKIAlJTkZPKCJPTUFQIFVEQyByZXYgJWQuJWQlc1xuIiwKLQkJVURDX1JFVl9SRUcgPj4gNCwgVURDX1JFVl9SRUcgJiAweGYsCisJCW9tYXBfcmVhZHcoVURDX1JFVikgPj4gNCwgb21hcF9yZWFkdyhVRENfUkVWKSAmIDB4ZiwKIAkJY29uZmlnLT5vdGcgPyAiLCBNaW5pLUFCIiA6ICIiKTsKIAogCS8qIHVzZSB0aGUgbW9kZSBnaXZlbiB0byB1cyBieSBib2FyZCBpbml0IGNvZGUgKi8KQEAgLTI4MjIsMTIgKzI4NDYsMTIgQEAKIAkJCSAqIGtub3cgd2hlbiB0byB0dXJuIFBVTExVUF9FTiBvbi9vZmY7IGFuZCB0aGF0CiAJCQkgKiBtZWFucyB3ZSBhbHdheXMgIm5lZWQiIHRoZSA0OE1IeiBjbG9jay4KIAkJCSAqLwotCQkJdTMyIHRtcCA9IEZVTkNfTVVYX0NUUkxfMF9SRUc7Ci0KLQkJCUZVTkNfTVVYX0NUUkxfMF9SRUcgJj0gflZCVVNfQ1RSTF8xNTEwOworCQkJdTMyIHRtcCA9IG9tYXBfcmVhZGwoRlVOQ19NVVhfQ1RSTF8wKTsKKwkJCXRtcCAmPSB+VkJVU19DVFJMXzE1MTA7CisJCQlvbWFwX3dyaXRlbCh0bXAsIEZVTkNfTVVYX0NUUkxfMCk7CiAJCQl0bXAgfD0gVkJVU19NT0RFXzE1MTA7CiAJCQl0bXAgJj0gflZCVVNfQ1RSTF8xNTEwOwotCQkJRlVOQ19NVVhfQ1RSTF8wX1JFRyA9IHRtcDsKKwkJCW9tYXBfd3JpdGVsKHRtcCwgRlVOQ19NVVhfQ1RSTF8wKTsKIAkJfQogCX0gZWxzZSB7CiAJCS8qIFRoZSB0cmFuc2NlaXZlciBtYXkgcGFja2FnZSBzb21lIEdQSU8gbG9naWMgb3IgaGFuZGxlCkBAIC0yOTA3LDcgKzI5MzEsNyBAQAogI2VuZGlmCiAKIAkvKiBzdGFydGluZyB3aXRoIG9tYXAxNzEwIGVzMi4wLCBjbGVhciB0b2dnbGUgaXMgYSBzZXBhcmF0ZSBiaXQgKi8KLQlpZiAoVURDX1JFVl9SRUcgPj0gMHg2MSkKKwlpZiAob21hcF9yZWFkdyhVRENfUkVWKSA+PSAweDYxKQogCQl1ZGMtPmNscl9oYWx0ID0gVURDX1JFU0VUX0VQIHwgVURDX0NMUkRBVEFfVE9HR0xFOwogCWVsc2UKIAkJdWRjLT5jbHJfaGFsdCA9IFVEQ19SRVNFVF9FUDsKQEAgLTMwMDUsNyArMzAyOSw3IEBACiAJCXB1dF9kZXZpY2UodWRjLT50cmFuc2NlaXZlci0+ZGV2KTsKIAkJdWRjLT50cmFuc2NlaXZlciA9IE5VTEw7CiAJfQotCVVEQ19TWVNDT04xX1JFRyA9IDA7CisJb21hcF93cml0ZXcoMCwgVURDX1NZU0NPTjEpOwogCiAJcmVtb3ZlX3Byb2NfZmlsZSgpOwogCkBAIC0zMDM2LDcgKzMwNjAsNyBAQAogICoKICAqIFJFVklTSVQgd2Ugc2hvdWxkIHByb2JhYmx5IHJlamVjdCBzdXNwZW5kIHJlcXVlc3RzIHdoZW4gdGhlcmUncyBhIGhvc3QKICAqIHNlc3Npb24gYWN0aXZlLCByYXRoZXIgdGhhbiBkaXNjb25uZWN0aW5nLCBhdCBsZWFzdCBvbiBib2FyZHMgdGhhdCBjYW4KLSAqIHJlcG9ydCBWQlVTIGlycXMgKFVEQ19ERVZTVEFUX1JFRy5VRENfQVRUKS4gIEFuZCBpbiBhbnkgY2FzZSwgd2UgbmVlZCB0bworICogcmVwb3J0IFZCVVMgaXJxcyAoVURDX0RFVlNUQVQuVURDX0FUVCkuICBBbmQgaW4gYW55IGNhc2UsIHdlIG5lZWQgdG8KICAqIG1ha2UgaG9zdCByZXN1bWVzIGFuZCBWQlVTIGRldGVjdGlvbiB0cmlnZ2VyIE9NQVAgd2FrZXVwIGV2ZW50czsgdGhhdAogICogbWF5IGludm9sdmUgdGFsa2luZyB0byBhbiBleHRlcm5hbCB0cmFuc2NlaXZlciAoZS5nLiBpc3AxMzAxKS4KICAqLwpAQCAtMzA0NSw3ICszMDY5LDcgQEAKIHsKIAl1MzIJZGV2c3RhdDsKIAotCWRldnN0YXQgPSBVRENfREVWU1RBVF9SRUc7CisJZGV2c3RhdCA9IG9tYXBfcmVhZHcoVURDX0RFVlNUQVQpOwogCiAJLyogd2UncmUgcmVxdWVzdGluZyA0OCBNSHogY2xvY2sgaWYgdGhlIHB1bGx1cCBpcyBlbmFibGVkCiAJICogKD09IHdlJ3JlIGF0dGFjaGVkIHRvIHRoZSBob3N0KSBhbmQgd2UncmUgbm90IHN1c3BlbmRlZCwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL2dhZGdldC9vbWFwX3VkYy5oIGIvZHJpdmVycy91c2IvZ2FkZ2V0L29tYXBfdWRjLmgKaW5kZXggYzZiOWNiYy4uODUyMmJiYiAxMDA2NDQKLS0tIGEvZHJpdmVycy91c2IvZ2FkZ2V0L29tYXBfdWRjLmgKKysrIGIvZHJpdmVycy91c2IvZ2FkZ2V0L29tYXBfdWRjLmgKQEAgLTgsMjMgKzgsMjIgQEAKIC8qCiAgKiBVU0IgZGV2aWNlL2VuZHBvaW50IG1hbmFnZW1lbnQgcmVnaXN0ZXJzCiAgKi8KLSNkZWZpbmUgVURDX1JFRyhvZmZzZXQpICAgICAgICAgICAgICBfX1JFRzE2KFVEQ19CQVNFICsgKG9mZnNldCkpCiAKLSNkZWZpbmUJVURDX1JFVl9SRUcJCQlVRENfUkVHKDB4MCkJLyogUmV2aXNpb24gKi8KLSNkZWZpbmUJVURDX0VQX05VTV9SRUcJCQlVRENfUkVHKDB4NCkJLyogV2hpY2ggZW5kcG9pbnQgKi8KKyNkZWZpbmUJVURDX1JFVgkJCQkoVURDX0JBU0UgKyAweDApCS8qIFJldmlzaW9uICovCisjZGVmaW5lCVVEQ19FUF9OVU0JCQkoVURDX0JBU0UgKyAweDQpCS8qIFdoaWNoIGVuZHBvaW50ICovCiAjCWRlZmluZQlVRENfU0VUVVBfU0VMCQkoMSA8PCA2KQogIwlkZWZpbmUJVURDX0VQX1NFTAkJKDEgPDwgNSkKICMJZGVmaW5lCVVEQ19FUF9ESVIJCSgxIDw8IDQpCiAJLyogbG93IDQgYml0cyBmb3IgZW5kcG9pbnQgbnVtYmVyICovCi0jZGVmaW5lCVVEQ19EQVRBX1JFRwkJCVVEQ19SRUcoMHgwOCkJLyogRW5kcG9pbnQgRklGTyAqLwotI2RlZmluZQlVRENfQ1RSTF9SRUcJCQlVRENfUkVHKDB4MEMpCS8qIEVuZHBvaW50IGNvbnRyb2wgKi8KKyNkZWZpbmUJVURDX0RBVEEJCQkoVURDX0JBU0UgKyAweDA4KQkvKiBFbmRwb2ludCBGSUZPICovCisjZGVmaW5lCVVEQ19DVFJMCQkJKFVEQ19CQVNFICsgMHgwQykJLyogRW5kcG9pbnQgY29udHJvbCAqLwogIwlkZWZpbmUJVURDX0NMUl9IQUxUCQkoMSA8PCA3KQogIwlkZWZpbmUJVURDX1NFVF9IQUxUCQkoMSA8PCA2KQogIwlkZWZpbmUJVURDX0NMUkRBVEFfVE9HR0xFCSgxIDw8IDMpCiAjCWRlZmluZQlVRENfU0VUX0ZJRk9fRU4JCSgxIDw8IDIpCiAjCWRlZmluZQlVRENfQ0xSX0VQCQkoMSA8PCAxKQogIwlkZWZpbmUJVURDX1JFU0VUX0VQCQkoMSA8PCAwKQotI2RlZmluZQlVRENfU1RBVF9GTEdfUkVHCQlVRENfUkVHKDB4MTApCS8qIEVuZHBvaW50IHN0YXR1cyAqLworI2RlZmluZQlVRENfU1RBVF9GTEcJCQkoVURDX0JBU0UgKyAweDEwKQkvKiBFbmRwb2ludCBzdGF0dXMgKi8KICMJZGVmaW5lCVVEQ19OT19SWFBBQ0tFVAkJKDEgPDwgMTUpCiAjCWRlZmluZQlVRENfTUlTU19JTgkJKDEgPDwgMTQpCiAjCWRlZmluZQlVRENfREFUQV9GTFVTSAkJKDEgPDwgMTMpCkBAIC0zOCw4ICszNyw4IEBACiAjCWRlZmluZQlVRENfRklGT19FTgkJKDEgPDwgMikKICMJZGVmaW5lCVVEQ19OT05fSVNPX0ZJRk9fRU1QVFkJKDEgPDwgMSkKICMJZGVmaW5lCVVEQ19OT05fSVNPX0ZJRk9fRlVMTAkoMSA8PCAwKQotI2RlZmluZQlVRENfUlhGU1RBVF9SRUcJCQlVRENfUkVHKDB4MTQpCS8qIE9VVCBieXRlY291bnQgKi8KLSNkZWZpbmUJVURDX1NZU0NPTjFfUkVHCQkJVURDX1JFRygweDE4KQkvKiBTeXN0ZW0gY29uZmlnIDEgKi8KKyNkZWZpbmUJVURDX1JYRlNUQVQJCQkoVURDX0JBU0UgKyAweDE0KQkvKiBPVVQgYnl0ZWNvdW50ICovCisjZGVmaW5lCVVEQ19TWVNDT04xCQkJKFVEQ19CQVNFICsgMHgxOCkJLyogU3lzdGVtIGNvbmZpZyAxICovCiAjCWRlZmluZQlVRENfQ0ZHX0xPQ0sJCSgxIDw8IDgpCiAjCWRlZmluZQlVRENfREFUQV9FTkRJQU4JCSgxIDw8IDcpCiAjCWRlZmluZQlVRENfRE1BX0VORElBTgkJKDEgPDwgNikKQEAgLTQ4LDEyICs0NywxMiBAQAogIwlkZWZpbmUJVURDX1NFTEZfUFdSCQkoMSA8PCAyKQogIwlkZWZpbmUJVURDX1NPRkZfRElTCQkoMSA8PCAxKQogIwlkZWZpbmUJVURDX1BVTExVUF9FTgkJKDEgPDwgMCkKLSNkZWZpbmUJVURDX1NZU0NPTjJfUkVHCQkJVURDX1JFRygweDFDKQkvKiBTeXN0ZW0gY29uZmlnIDIgKi8KKyNkZWZpbmUJVURDX1NZU0NPTjIJCQkoVURDX0JBU0UgKyAweDFDKQkvKiBTeXN0ZW0gY29uZmlnIDIgKi8KICMJZGVmaW5lCVVEQ19STVRfV0tQCQkoMSA8PCA2KQogIwlkZWZpbmUJVURDX1NUQUxMX0NNRAkJKDEgPDwgNSkKICMJZGVmaW5lCVVEQ19ERVZfQ0ZHCQkoMSA8PCAzKQogIwlkZWZpbmUJVURDX0NMUl9DRkcJCSgxIDw8IDIpCi0jZGVmaW5lCVVEQ19ERVZTVEFUX1JFRwkJCVVEQ19SRUcoMHgyMCkJLyogRGV2aWNlIHN0YXR1cyAqLworI2RlZmluZQlVRENfREVWU1RBVAkJCShVRENfQkFTRSArIDB4MjApCS8qIERldmljZSBzdGF0dXMgKi8KICMJZGVmaW5lCVVEQ19CX0hOUF9FTkFCTEUJKDEgPDwgOSkKICMJZGVmaW5lCVVEQ19BX0hOUF9TVVBQT1JUCSgxIDw8IDgpCiAjCWRlZmluZQlVRENfQV9BTFRfSE5QX1NVUFBPUlQJKDEgPDwgNykKQEAgLTY0LDI2ICs2MywyNiBAQAogIwlkZWZpbmUJVURDX0FERAkJCSgxIDw8IDIpCiAjCWRlZmluZQlVRENfREVGCQkJKDEgPDwgMSkKICMJZGVmaW5lCVVEQ19BVFQJCQkoMSA8PCAwKQotI2RlZmluZQlVRENfU09GX1JFRwkJCVVEQ19SRUcoMHgyNCkJLyogU3RhcnQgb2YgZnJhbWUgKi8KKyNkZWZpbmUJVURDX1NPRgkJCQkoVURDX0JBU0UgKyAweDI0KQkvKiBTdGFydCBvZiBmcmFtZSAqLwogIwlkZWZpbmUJVURDX0ZUX0xPQ0sJCSgxIDw8IDEyKQogIwlkZWZpbmUJVURDX1RTX09LCQkoMSA8PCAxMSkKICMJZGVmaW5lCVVEQ19UUwkJCTB4MDNmZgotI2RlZmluZQlVRENfSVJRX0VOX1JFRwkJCVVEQ19SRUcoMHgyOCkJLyogSW50ZXJydXB0IGVuYWJsZSAqLworI2RlZmluZQlVRENfSVJRX0VOCQkJKFVEQ19CQVNFICsgMHgyOCkJLyogSW50ZXJydXB0IGVuYWJsZSAqLwogIwlkZWZpbmUJVURDX1NPRl9JRQkJKDEgPDwgNykKICMJZGVmaW5lCVVEQ19FUE5fUlhfSUUJCSgxIDw8IDUpCiAjCWRlZmluZQlVRENfRVBOX1RYX0lFCQkoMSA8PCA0KQogIwlkZWZpbmUJVURDX0RTX0NIR19JRQkJKDEgPDwgMykKICMJZGVmaW5lCVVEQ19FUDBfSUUJCSgxIDw8IDApCi0jZGVmaW5lCVVEQ19ETUFfSVJRX0VOX1JFRwkJVURDX1JFRygweDJDKQkvKiBETUEgaXJxIGVuYWJsZSAqLworI2RlZmluZQlVRENfRE1BX0lSUV9FTgkJCShVRENfQkFTRSArIDB4MkMpCS8qIERNQSBpcnEgZW5hYmxlICovCiAJLyogcngvdHggZG1hIGNoYW5uZWxzIG51bWJlcmVkIDEtMyBub3QgMC0yICovCiAjCWRlZmluZQlVRENfVFhfRE9ORV9JRShuKQkoMSA8PCAoNCAqIChuKSAtIDIpKQogIwlkZWZpbmUJVURDX1JYX0NOVF9JRShuKQkoMSA8PCAoNCAqIChuKSAtIDMpKQogIwlkZWZpbmUJVURDX1JYX0VPVF9JRShuKQkoMSA8PCAoNCAqIChuKSAtIDQpKQotI2RlZmluZQlVRENfSVJRX1NSQ19SRUcJCQlVRENfUkVHKDB4MzApCS8qIEludGVycnVwdCBzb3VyY2UgKi8KKyNkZWZpbmUJVURDX0lSUV9TUkMJCQkoVURDX0JBU0UgKyAweDMwKQkvKiBJbnRlcnJ1cHQgc291cmNlICovCiAjCWRlZmluZQlVRENfVFhOX0RPTkUJCSgxIDw8IDEwKQogIwlkZWZpbmUJVURDX1JYTl9DTlQJCSgxIDw8IDkpCiAjCWRlZmluZQlVRENfUlhOX0VPVAkJKDEgPDwgOCkKLSMJZGVmaW5lCVVEQ19TT0YJCQkoMSA8PCA3KQorIwlkZWZpbmUJVURDX0lSUV9TT0YJCSgxIDw8IDcpCiAjCWRlZmluZQlVRENfRVBOX1JYCQkoMSA8PCA1KQogIwlkZWZpbmUJVURDX0VQTl9UWAkJKDEgPDwgNCkKICMJZGVmaW5lCVVEQ19EU19DSEcJCSgxIDw8IDMpCkBAIC05MSw0MSArOTAsNDEgQEAKICMJZGVmaW5lCVVEQ19FUDBfUlgJCSgxIDw8IDEpCiAjCWRlZmluZQlVRENfRVAwX1RYCQkoMSA8PCAwKQogIwlkZWZpbmUJVURDX0lSUV9TUkNfTUFTSwkweDdiZgotI2RlZmluZQlVRENfRVBOX1NUQVRfUkVHCQlVRENfUkVHKDB4MzQpCS8qIEVQIGlycSBzdGF0dXMgKi8KLSNkZWZpbmUJVURDX0RNQU5fU1RBVF9SRUcJCVVEQ19SRUcoMHgzOCkJLyogRE1BIGlycSBzdGF0dXMgKi8KKyNkZWZpbmUJVURDX0VQTl9TVEFUCQkJKFVEQ19CQVNFICsgMHgzNCkJLyogRVAgaXJxIHN0YXR1cyAqLworI2RlZmluZQlVRENfRE1BTl9TVEFUCQkJKFVEQ19CQVNFICsgMHgzOCkJLyogRE1BIGlycSBzdGF0dXMgKi8KICMJZGVmaW5lCVVEQ19ETUFfUlhfU0IJCSgxIDw8IDEyKQogIwlkZWZpbmUJVURDX0RNQV9SWF9TUkMoeCkJKCgoeCk+PjgpICYgMHhmKQogIwlkZWZpbmUJVURDX0RNQV9UWF9TUkMoeCkJKCgoeCk+PjApICYgMHhmKQogCiAKIC8qIERNQSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyczogIHVwIHRvIHRocmVlIGNoYW5uZWxzIGluIGVhY2ggZGlyZWN0aW9uLiAgKi8KLSNkZWZpbmUJVURDX1JYRE1BX0NGR19SRUcJCVVEQ19SRUcoMHg0MCkJLyogMyBlcHMgZm9yIFJYIERNQSAqLworI2RlZmluZQlVRENfUlhETUFfQ0ZHCQkJKFVEQ19CQVNFICsgMHg0MCkJLyogMyBlcHMgZm9yIFJYIERNQSAqLwogIwlkZWZpbmUJVURDX0RNQV9SRVEJCSgxIDw8IDEyKQotI2RlZmluZQlVRENfVFhETUFfQ0ZHX1JFRwkJVURDX1JFRygweDQ0KQkvKiAzIGVwcyBmb3IgVFggRE1BICovCi0jZGVmaW5lCVVEQ19EQVRBX0RNQV9SRUcJCVVEQ19SRUcoMHg0OCkJLyogcngvdHggZmlmbyBhZGRyICovCisjZGVmaW5lCVVEQ19UWERNQV9DRkcJCQkoVURDX0JBU0UgKyAweDQ0KQkvKiAzIGVwcyBmb3IgVFggRE1BICovCisjZGVmaW5lCVVEQ19EQVRBX0RNQQkJCShVRENfQkFTRSArIDB4NDgpCS8qIHJ4L3R4IGZpZm8gYWRkciAqLwogCiAvKiByeC90eCBkbWEgY29udHJvbCwgbnVtYmVyaW5nIGNoYW5uZWxzIDEtMyBub3QgMC0yICovCi0jZGVmaW5lCVVEQ19UWERNQV9SRUcoY2hhbikJCVVEQ19SRUcoMHg1MCAtIDQgKyA0ICogKGNoYW4pKQorI2RlZmluZQlVRENfVFhETUEoY2hhbikJCQkoVURDX0JBU0UgKyAweDUwIC0gNCArIDQgKiAoY2hhbikpCiAjCWRlZmluZSBVRENfVFhOX0VPVAkJKDEgPDwgMTUpCS8qIGJ5dGVzIHZzIHBhY2tldHMgKi8KICMJZGVmaW5lIFVEQ19UWE5fU1RBUlQJCSgxIDw8IDE0KQkvKiBzdGFydCB0cmFuc2ZlciAqLwogIwlkZWZpbmUgVURDX1RYTl9UU0MJCTB4MDNmZgkJLyogdW5pdHMgaW4geGZlciAqLwotI2RlZmluZQlVRENfUlhETUFfUkVHKGNoYW4pCQlVRENfUkVHKDB4NjAgLSA0ICsgNCAqIChjaGFuKSkKKyNkZWZpbmUJVURDX1JYRE1BKGNoYW4pCQkJKFVEQ19CQVNFICsgMHg2MCAtIDQgKyA0ICogKGNoYW4pKQogIwlkZWZpbmUgVURDX1JYTl9TVE9QCQkoMSA8PCAxNSkJLyogZW5hYmxlIEVPVCBpcnEgKi8KICMJZGVmaW5lIFVEQ19SWE5fVEMJCTB4MDBmZgkJLyogcGFja2V0cyBpbiB4ZmVyICovCiAKIAogLyoKICAqIEVuZHBvaW50IGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXJzICh1c2VkIGJlZm9yZSBDRkdfTE9DSyBpcyBzZXQpCi0gKiBVRENfRVBfVFhfUkVHKDApIGlzIHVudXNlZAorICogVURDX0VQX1RYKDApIGlzIHVudXNlZAogICovCi0jZGVmaW5lCVVEQ19FUF9SWF9SRUcoZW5kcG9pbnQpCQlVRENfUkVHKDB4ODAgKyAoZW5kcG9pbnQpKjQpCisjZGVmaW5lCVVEQ19FUF9SWChlbmRwb2ludCkJCShVRENfQkFTRSArIDB4ODAgKyAoZW5kcG9pbnQpKjQpCiAjCWRlZmluZQlVRENfRVBOX1JYX1ZBTElECSgxIDw8IDE1KQogIwlkZWZpbmUJVURDX0VQTl9SWF9EQgkJKDEgPDwgMTQpCiAJLyogYnVmZmVyIHNpemUgaW4gYml0cyAxMywgMTIgKi8KICMJZGVmaW5lCVVEQ19FUE5fUlhfSVNPCQkoMSA8PCAxMSkKIAkvKiBidWZmZXIgcG9pbnRlciBpbiBsb3cgMTEgYml0cyAqLwotI2RlZmluZQlVRENfRVBfVFhfUkVHKGVuZHBvaW50KQkJVURDX1JFRygweGMwICsgKGVuZHBvaW50KSo0KQotCS8qIHNhbWUgYml0ZmllbGRzIGFzIGluIFJYX1JFRyAqLworI2RlZmluZQlVRENfRVBfVFgoZW5kcG9pbnQpCQkoVURDX0JBU0UgKyAweGMwICsgKGVuZHBvaW50KSo0KQorCS8qIHNhbWUgYml0ZmllbGRzIGFzIGluIFJYICovCiAKIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAKQEAgLTE5NSwxNCArMTk0LDE0IEBACiAKIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAKLSNkZWZpbmUJTU9EX0NPTkZfQ1RSTF8wX1JFRwlfX1JFRzMyKE1PRF9DT05GX0NUUkxfMCkKLSNkZWZpbmUJVkJVU19XMkZDXzE1MTAJCSgxIDw8IDE3KQkvKiAwIGdwaW8wLCAxIGR2ZGQyIHBpbiAqLworLyogTU9EX0NPTkZfQ1RSTF8wICovCisjZGVmaW5lIFZCVVNfVzJGQ18xNTEwCQkoMSA8PCAxNykJLyogMCBncGlvMCwgMSBkdmRkMiBwaW4gKi8KIAotI2RlZmluZQlGVU5DX01VWF9DVFJMXzBfUkVHCV9fUkVHMzIoRlVOQ19NVVhfQ1RSTF8wKQorLyogRlVOQ19NVVhfQ1RSTF8wICovCiAjZGVmaW5lCVZCVVNfQ1RSTF8xNTEwCQkoMSA8PCAxOSkJLyogMSBjb25uZWN0ZWQgKHNvZnR3YXJlKSAqLwogI2RlZmluZQlWQlVTX01PREVfMTUxMAkJKDEgPDwgMTgpCS8qIDAgaGFyZHdhcmUsIDEgc29mdHdhcmUgKi8KIAotI2RlZmluZQlITUNfMTUxMAkoKE1PRF9DT05GX0NUUkxfMF9SRUcgPj4gMSkgJiAweDNmKQotI2RlZmluZQlITUNfMTYxMAkoT1RHX1NZU0NPTl8yX1JFRyAmIDB4M2YpCisjZGVmaW5lCUhNQ18xNTEwCSgob21hcF9yZWFkbChNT0RfQ09ORl9DVFJMXzApID4+IDEpICYgMHgzZikKKyNkZWZpbmUJSE1DXzE2MTAJKG9tYXBfcmVhZGwoT1RHX1NZU0NPTl8yKSAmIDB4M2YpCiAjZGVmaW5lCUhNQwkJKGNwdV9pc19vbWFwMTV4eCgpID8gSE1DXzE1MTAgOiBITUNfMTYxMCkKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2IvZ2FkZ2V0L3ByaW50ZXIuYyBiL2RyaXZlcnMvdXNiL2dhZGdldC9wcmludGVyLmMKaW5kZXggNzZiZTc1ZS4uZWM4ZjJlYiAxMDA2NDQKLS0tIGEvZHJpdmVycy91c2IvZ2FkZ2V0L3ByaW50ZXIuYworKysgYi9kcml2ZXJzL3VzYi9nYWRnZXQvcHJpbnRlci5jCkBAIC00NjIsNiArNDYyLDcgQEAKIAl1bnNpZ25lZCBsb25nCQlmbGFnczsKIAlpbnQJCQlyZXQgPSAtRUJVU1k7CiAKKwlsb2NrX2tlcm5lbCgpOwogCWRldiA9IGNvbnRhaW5lcl9vZihpbm9kZS0+aV9jZGV2LCBzdHJ1Y3QgcHJpbnRlcl9kZXYsIHByaW50ZXJfY2Rldik7CiAKIAlzcGluX2xvY2tfaXJxc2F2ZSgmZGV2LT5sb2NrLCBmbGFncyk7CkBAIC00NzcsNyArNDc4LDcgQEAKIAlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZkZXYtPmxvY2ssIGZsYWdzKTsKIAogCURCRyhkZXYsICJwcmludGVyX29wZW4gcmV0dXJuZWQgJXhcbiIsIHJldCk7Ci0KKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIHJldDsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2IvZ2FkZ2V0L3B4YTJ4eF91ZGMuYyBiL2RyaXZlcnMvdXNiL2dhZGdldC9weGEyNXhfdWRjLmMKc2ltaWxhcml0eSBpbmRleCA4OSUKcmVuYW1lIGZyb20gZHJpdmVycy91c2IvZ2FkZ2V0L3B4YTJ4eF91ZGMuYwpyZW5hbWUgdG8gZHJpdmVycy91c2IvZ2FkZ2V0L3B4YTI1eF91ZGMuYwppbmRleCAwOGY2OTliLi4wMzFkY2ViIDEwMDY0NAotLS0gYS9kcml2ZXJzL3VzYi9nYWRnZXQvcHhhMnh4X3VkYy5jCisrKyBiL2RyaXZlcnMvdXNiL2dhZGdldC9weGEyNXhfdWRjLmMKQEAgLTEsNSArMSw0IEBACiAvKgotICogbGludXgvZHJpdmVycy91c2IvZ2FkZ2V0L3B4YTJ4eF91ZGMuYwogICogSW50ZWwgUFhBMjV4IGFuZCBJWFA0eHggb24tY2hpcCBmdWxsIHNwZWVkIFVTQiBkZXZpY2UgY29udHJvbGxlcnMKICAqCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDIgSW50cmluc3ljLCBJbmMuIChGcmFuayBCZWNrZXIpCkBAIC00NiwxOSArNDUsMjUgQEAKICNpbmNsdWRlIDxsaW51eC9lcnIuaD4KICNpbmNsdWRlIDxsaW51eC9zZXFfZmlsZS5oPgogI2luY2x1ZGUgPGxpbnV4L2RlYnVnZnMuaD4KKyNpbmNsdWRlIDxsaW51eC9pby5oPgogCiAjaW5jbHVkZSA8YXNtL2J5dGVvcmRlci5oPgogI2luY2x1ZGUgPGFzbS9kbWEuaD4KICNpbmNsdWRlIDxhc20vZ3Bpby5oPgotI2luY2x1ZGUgPGFzbS9pby5oPgogI2luY2x1ZGUgPGFzbS9zeXN0ZW0uaD4KICNpbmNsdWRlIDxhc20vbWFjaC10eXBlcy5oPgogI2luY2x1ZGUgPGFzbS91bmFsaWduZWQuaD4KLSNpbmNsdWRlIDxhc20vaGFyZHdhcmUuaD4KIAogI2luY2x1ZGUgPGxpbnV4L3VzYi9jaDkuaD4KICNpbmNsdWRlIDxsaW51eC91c2IvZ2FkZ2V0Lmg+CiAKKy8qCisgKiBUaGlzIGRyaXZlciBpcyBQWEEyNXggb25seS4gIEdyYWIgdGhlIHJpZ2h0IHJlZ2lzdGVyIGRlZmluaXRpb25zLgorICovCisjaWZkZWYgQ09ORklHX0FSQ0hfUFhBCisjaW5jbHVkZSA8YXNtL2FyY2gvcHhhMjV4LXVkYy5oPgorI2VuZGlmCisKICNpbmNsdWRlIDxhc20vbWFjaC91ZGNfcHhhMnh4Lmg+CiAKIApAQCAtOTEsNyArOTYsNyBAQAogI2RlZmluZQlEUklWRVJfREVTQwkiUFhBIDI1eCBVU0IgRGV2aWNlIENvbnRyb2xsZXIgZHJpdmVyIgogCiAKLXN0YXRpYyBjb25zdCBjaGFyIGRyaXZlcl9uYW1lIFtdID0gInB4YTJ4eF91ZGMiOworc3RhdGljIGNvbnN0IGNoYXIgZHJpdmVyX25hbWUgW10gPSAicHhhMjV4X3VkYyI7CiAKIHN0YXRpYyBjb25zdCBjaGFyIGVwMG5hbWUgW10gPSAiZXAwIjsKIApAQCAtMTExLDEwICsxMTYsMTAgQEAKIAogI2VuZGlmCiAKLSNpbmNsdWRlICJweGEyeHhfdWRjLmgiCisjaW5jbHVkZSAicHhhMjV4X3VkYy5oIgogCiAKLSNpZmRlZglDT05GSUdfVVNCX1BYQTJYWF9TTUFMTAorI2lmZGVmCUNPTkZJR19VU0JfUFhBMjVYX1NNQUxMCiAjZGVmaW5lIFNJWkVfU1RSCSIgKHNtYWxsKSIKICNlbHNlCiAjZGVmaW5lIFNJWkVfU1RSCSIiCkBAIC0xMjYsOCArMTMxLDggQEAKICAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICovCiAKLXN0YXRpYyB2b2lkIHB4YTJ4eF9lcF9maWZvX2ZsdXNoIChzdHJ1Y3QgdXNiX2VwICplcCk7Ci1zdGF0aWMgdm9pZCBudWtlIChzdHJ1Y3QgcHhhMnh4X2VwICosIGludCBzdGF0dXMpOworc3RhdGljIHZvaWQgcHhhMjV4X2VwX2ZpZm9fZmx1c2ggKHN0cnVjdCB1c2JfZXAgKmVwKTsKK3N0YXRpYyB2b2lkIG51a2UgKHN0cnVjdCBweGEyNXhfZXAgKiwgaW50IHN0YXR1cyk7CiAKIC8qIG9uZSBHUElPIHNob3VsZCBiZSB1c2VkIHRvIGRldGVjdCBWQlVTIGZyb20gdGhlIGhvc3QgKi8KIHN0YXRpYyBpbnQgaXNfdmJ1c19wcmVzZW50KHZvaWQpCkBAIC0yMTIsMjQgKzIxNywyNCBAQAogLyoKICAqIGVuZHBvaW50IGVuYWJsZS9kaXNhYmxlCiAgKgotICogd2UgbmVlZCB0byB2ZXJpZnkgdGhlIGRlc2NyaXB0b3JzIHVzZWQgdG8gZW5hYmxlIGVuZHBvaW50cy4gIHNpbmNlIHB4YTJ4eAorICogd2UgbmVlZCB0byB2ZXJpZnkgdGhlIGRlc2NyaXB0b3JzIHVzZWQgdG8gZW5hYmxlIGVuZHBvaW50cy4gIHNpbmNlIHB4YTI1eAogICogZW5kcG9pbnQgY29uZmlndXJhdGlvbnMgYXJlIGZpeGVkLCBhbmQgYXJlIHByZXR0eSBtdWNoIGFsd2F5cyBlbmFibGVkLAogICogdGhlcmUncyBub3QgYSBsb3QgdG8gbWFuYWdlIGhlcmUuCiAgKgotICogYmVjYXVzZSBweGEyeHggY2FuJ3Qgc2VsZWN0aXZlbHkgaW5pdGlhbGl6ZSBidWxrIChvciBpbnRlcnJ1cHQpIGVuZHBvaW50cywKKyAqIGJlY2F1c2UgcHhhMjV4IGNhbid0IHNlbGVjdGl2ZWx5IGluaXRpYWxpemUgYnVsayAob3IgaW50ZXJydXB0KSBlbmRwb2ludHMsCiAgKiAocmVzZXR0aW5nIGVuZHBvaW50IGhhbHQgYW5kIHRvZ2dsZSksIFNFVF9JTlRFUkZBQ0UgaXMgdW51c2FibGUgZXhjZXB0CiAgKiBmb3IgYSBzaW5nbGUgaW50ZXJmYWNlICh3aXRoIG9ubHkgdGhlIGRlZmF1bHQgYWx0c2V0dGluZykgYW5kIGZvciBnYWRnZXQKICAqIGRyaXZlcnMgdGhhdCBkb24ndCBoYWx0IGVuZHBvaW50cyAobm90IHJlc2V0IGJ5IHNldF9pbnRlcmZhY2UpLiAgdGhhdCBhbHNvCiAgKiBtZWFucyB0aGF0IGlmIHlvdSB1c2UgSVNPLCB5b3UgbXVzdCB2aW9sYXRlIHRoZSBVU0Igc3BlYyBydWxlIHRoYXQgYWxsCiAgKiBpc28gZW5kcG9pbnRzIG11c3QgYmUgaW4gbm9uLWRlZmF1bHQgYWx0c2V0dGluZ3MuCiAgKi8KLXN0YXRpYyBpbnQgcHhhMnh4X2VwX2VuYWJsZSAoc3RydWN0IHVzYl9lcCAqX2VwLAorc3RhdGljIGludCBweGEyNXhfZXBfZW5hYmxlIChzdHJ1Y3QgdXNiX2VwICpfZXAsCiAJCWNvbnN0IHN0cnVjdCB1c2JfZW5kcG9pbnRfZGVzY3JpcHRvciAqZGVzYykKIHsKLQlzdHJ1Y3QgcHhhMnh4X2VwICAgICAgICAqZXA7Ci0Jc3RydWN0IHB4YTJ4eF91ZGMgICAgICAgKmRldjsKKwlzdHJ1Y3QgcHhhMjV4X2VwICAgICAgICAqZXA7CisJc3RydWN0IHB4YTI1eF91ZGMgICAgICAgKmRldjsKIAotCWVwID0gY29udGFpbmVyX29mIChfZXAsIHN0cnVjdCBweGEyeHhfZXAsIGVwKTsKKwllcCA9IGNvbnRhaW5lcl9vZiAoX2VwLCBzdHJ1Y3QgcHhhMjV4X2VwLCBlcCk7CiAJaWYgKCFfZXAgfHwgIWRlc2MgfHwgZXAtPmRlc2MgfHwgX2VwLT5uYW1lID09IGVwMG5hbWUKIAkJCXx8IGRlc2MtPmJEZXNjcmlwdG9yVHlwZSAhPSBVU0JfRFRfRU5EUE9JTlQKIAkJCXx8IGVwLT5iRW5kcG9pbnRBZGRyZXNzICE9IGRlc2MtPmJFbmRwb2ludEFkZHJlc3MKQEAgLTI2OCw3ICsyNzMsNyBAQAogCWVwLT5lcC5tYXhwYWNrZXQgPSBsZTE2X3RvX2NwdSAoZGVzYy0+d01heFBhY2tldFNpemUpOwogCiAJLyogZmx1c2ggZmlmbyAobW9zdGx5IGZvciBPVVQgYnVmZmVycykgKi8KLQlweGEyeHhfZXBfZmlmb19mbHVzaCAoX2VwKTsKKwlweGEyNXhfZXBfZmlmb19mbHVzaCAoX2VwKTsKIAogCS8qIC4uLiByZXNldCBoYWx0IHN0YXRlIHRvbywgaWYgd2UgY291bGQgLi4uICovCiAKQEAgLTI3NiwxMiArMjgxLDEyIEBACiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgcHhhMnh4X2VwX2Rpc2FibGUgKHN0cnVjdCB1c2JfZXAgKl9lcCkKK3N0YXRpYyBpbnQgcHhhMjV4X2VwX2Rpc2FibGUgKHN0cnVjdCB1c2JfZXAgKl9lcCkKIHsKLQlzdHJ1Y3QgcHhhMnh4X2VwCSplcDsKKwlzdHJ1Y3QgcHhhMjV4X2VwCSplcDsKIAl1bnNpZ25lZCBsb25nCQlmbGFnczsKIAotCWVwID0gY29udGFpbmVyX29mIChfZXAsIHN0cnVjdCBweGEyeHhfZXAsIGVwKTsKKwllcCA9IGNvbnRhaW5lcl9vZiAoX2VwLCBzdHJ1Y3QgcHhhMjV4X2VwLCBlcCk7CiAJaWYgKCFfZXAgfHwgIWVwLT5kZXNjKSB7CiAJCURNU0coIiVzLCAlcyBub3QgZW5hYmxlZFxuIiwgX19mdW5jX18sCiAJCQlfZXAgPyBlcC0+ZXAubmFtZSA6IE5VTEwpOwpAQCAtMjkyLDcgKzI5Nyw3IEBACiAJbnVrZSAoZXAsIC1FU0hVVERPV04pOwogCiAJLyogZmx1c2ggZmlmbyAobW9zdGx5IGZvciBJTiBidWZmZXJzKSAqLwotCXB4YTJ4eF9lcF9maWZvX2ZsdXNoIChfZXApOworCXB4YTI1eF9lcF9maWZvX2ZsdXNoIChfZXApOwogCiAJZXAtPmRlc2MgPSBOVUxMOwogCWVwLT5zdG9wcGVkID0gMTsKQEAgLTMwNCwxOCArMzA5LDE4IEBACiAKIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAKLS8qIGZvciB0aGUgcHhhMnh4LCB0aGVzZSBjYW4ganVzdCB3cmFwIGttYWxsb2Mva2ZyZWUuICBnYWRnZXQgZHJpdmVycworLyogZm9yIHRoZSBweGEyNXgsIHRoZXNlIGNhbiBqdXN0IHdyYXAga21hbGxvYy9rZnJlZS4gIGdhZGdldCBkcml2ZXJzCiAgKiBtdXN0IHN0aWxsIHBhc3MgY29ycmVjdGx5IGluaXRpYWxpemVkIGVuZHBvaW50cywgc2luY2Ugb3RoZXIgY29udHJvbGxlcgogICogZHJpdmVycyBtYXkgY2FyZSBhYm91dCBob3cgaXQncyBjdXJyZW50bHkgc2V0IHVwIChkbWEgaXNzdWVzIGV0YykuCiAgKi8KIAogLyoKLSAqCXB4YTJ4eF9lcF9hbGxvY19yZXF1ZXN0IC0gYWxsb2NhdGUgYSByZXF1ZXN0IGRhdGEgc3RydWN0dXJlCisgKglweGEyNXhfZXBfYWxsb2NfcmVxdWVzdCAtIGFsbG9jYXRlIGEgcmVxdWVzdCBkYXRhIHN0cnVjdHVyZQogICovCiBzdGF0aWMgc3RydWN0IHVzYl9yZXF1ZXN0ICoKLXB4YTJ4eF9lcF9hbGxvY19yZXF1ZXN0IChzdHJ1Y3QgdXNiX2VwICpfZXAsIGdmcF90IGdmcF9mbGFncykKK3B4YTI1eF9lcF9hbGxvY19yZXF1ZXN0IChzdHJ1Y3QgdXNiX2VwICpfZXAsIGdmcF90IGdmcF9mbGFncykKIHsKLQlzdHJ1Y3QgcHhhMnh4X3JlcXVlc3QgKnJlcTsKKwlzdHJ1Y3QgcHhhMjV4X3JlcXVlc3QgKnJlcTsKIAogCXJlcSA9IGt6YWxsb2Moc2l6ZW9mKCpyZXEpLCBnZnBfZmxhZ3MpOwogCWlmICghcmVxKQpAQCAtMzI3LDE0ICszMzIsMTQgQEAKIAogCiAvKgotICoJcHhhMnh4X2VwX2ZyZWVfcmVxdWVzdCAtIGRlYWxsb2NhdGUgYSByZXF1ZXN0IGRhdGEgc3RydWN0dXJlCisgKglweGEyNXhfZXBfZnJlZV9yZXF1ZXN0IC0gZGVhbGxvY2F0ZSBhIHJlcXVlc3QgZGF0YSBzdHJ1Y3R1cmUKICAqLwogc3RhdGljIHZvaWQKLXB4YTJ4eF9lcF9mcmVlX3JlcXVlc3QgKHN0cnVjdCB1c2JfZXAgKl9lcCwgc3RydWN0IHVzYl9yZXF1ZXN0ICpfcmVxKQorcHhhMjV4X2VwX2ZyZWVfcmVxdWVzdCAoc3RydWN0IHVzYl9lcCAqX2VwLCBzdHJ1Y3QgdXNiX3JlcXVlc3QgKl9yZXEpCiB7Ci0Jc3RydWN0IHB4YTJ4eF9yZXF1ZXN0CSpyZXE7CisJc3RydWN0IHB4YTI1eF9yZXF1ZXN0CSpyZXE7CiAKLQlyZXEgPSBjb250YWluZXJfb2YgKF9yZXEsIHN0cnVjdCBweGEyeHhfcmVxdWVzdCwgcmVxKTsKKwlyZXEgPSBjb250YWluZXJfb2YgKF9yZXEsIHN0cnVjdCBweGEyNXhfcmVxdWVzdCwgcmVxKTsKIAlXQVJOX09OICghbGlzdF9lbXB0eSAoJnJlcS0+cXVldWUpKTsKIAlrZnJlZShyZXEpOwogfQpAQCAtMzQ0LDcgKzM0OSw3IEBACiAvKgogICoJZG9uZSAtIHJldGlyZSBhIHJlcXVlc3Q7IGNhbGxlciBibG9ja2VkIGlycXMKICAqLwotc3RhdGljIHZvaWQgZG9uZShzdHJ1Y3QgcHhhMnh4X2VwICplcCwgc3RydWN0IHB4YTJ4eF9yZXF1ZXN0ICpyZXEsIGludCBzdGF0dXMpCitzdGF0aWMgdm9pZCBkb25lKHN0cnVjdCBweGEyNXhfZXAgKmVwLCBzdHJ1Y3QgcHhhMjV4X3JlcXVlc3QgKnJlcSwgaW50IHN0YXR1cykKIHsKIAl1bnNpZ25lZAkJc3RvcHBlZCA9IGVwLT5zdG9wcGVkOwogCkBAIC0zNjcsMTMgKzM3MiwxMyBAQAogfQogCiAKLXN0YXRpYyBpbmxpbmUgdm9pZCBlcDBfaWRsZSAoc3RydWN0IHB4YTJ4eF91ZGMgKmRldikKK3N0YXRpYyBpbmxpbmUgdm9pZCBlcDBfaWRsZSAoc3RydWN0IHB4YTI1eF91ZGMgKmRldikKIHsKIAlkZXYtPmVwMHN0YXRlID0gRVAwX0lETEU7CiB9CiAKIHN0YXRpYyBpbnQKLXdyaXRlX3BhY2tldCh2b2xhdGlsZSB1MzIgKnVkZHIsIHN0cnVjdCBweGEyeHhfcmVxdWVzdCAqcmVxLCB1bnNpZ25lZCBtYXgpCit3cml0ZV9wYWNrZXQodm9sYXRpbGUgdTMyICp1ZGRyLCBzdHJ1Y3QgcHhhMjV4X3JlcXVlc3QgKnJlcSwgdW5zaWduZWQgbWF4KQogewogCXU4CQkqYnVmOwogCXVuc2lnbmVkCWxlbmd0aCwgY291bnQ7CkBAIC0zOTgsNyArNDAzLDcgQEAKICAqIGNhbGxlciBndWFyYW50ZWVzIGF0IGxlYXN0IG9uZSBwYWNrZXQgYnVmZmVyIGlzIHJlYWR5IChvciBhIHpscCkuCiAgKi8KIHN0YXRpYyBpbnQKLXdyaXRlX2ZpZm8gKHN0cnVjdCBweGEyeHhfZXAgKmVwLCBzdHJ1Y3QgcHhhMnh4X3JlcXVlc3QgKnJlcSkKK3dyaXRlX2ZpZm8gKHN0cnVjdCBweGEyNXhfZXAgKmVwLCBzdHJ1Y3QgcHhhMjV4X3JlcXVlc3QgKnJlcSkKIHsKIAl1bnNpZ25lZAkJbWF4OwogCkBAIC00NTUsNyArNDYwLDcgQEAKICAqIGVwMCBkYXRhIHN0YWdlLiAgdGhlc2UgY2hpcHMgd2FudCB2ZXJ5IHNpbXBsZSBzdGF0ZSB0cmFuc2l0aW9ucy4KICAqLwogc3RhdGljIGlubGluZQotdm9pZCBlcDBzdGFydChzdHJ1Y3QgcHhhMnh4X3VkYyAqZGV2LCB1MzIgZmxhZ3MsIGNvbnN0IGNoYXIgKnRhZykKK3ZvaWQgZXAwc3RhcnQoc3RydWN0IHB4YTI1eF91ZGMgKmRldiwgdTMyIGZsYWdzLCBjb25zdCBjaGFyICp0YWcpCiB7CiAJVURDQ1MwID0gZmxhZ3N8VURDQ1MwX1NBfFVEQ0NTMF9PUFI7CiAJVVNJUjAgPSBVU0lSMF9JUjA7CkBAIC00NjUsNyArNDcwLDcgQEAKIH0KIAogc3RhdGljIGludAotd3JpdGVfZXAwX2ZpZm8gKHN0cnVjdCBweGEyeHhfZXAgKmVwLCBzdHJ1Y3QgcHhhMnh4X3JlcXVlc3QgKnJlcSkKK3dyaXRlX2VwMF9maWZvIChzdHJ1Y3QgcHhhMjV4X2VwICplcCwgc3RydWN0IHB4YTI1eF9yZXF1ZXN0ICpyZXEpCiB7CiAJdW5zaWduZWQJY291bnQ7CiAJaW50CQlpc19zaG9ydDsKQEAgLTUyNSw3ICs1MzAsNyBAQAogICogcmVxdWVzdCBidWZmZXIgaGF2aW5nIGZpbGxlZCAoYW5kIG1heWJlIG92ZXJyYW4gdGlsbCBlbmQtb2YtcGFja2V0KS4KICAqLwogc3RhdGljIGludAotcmVhZF9maWZvIChzdHJ1Y3QgcHhhMnh4X2VwICplcCwgc3RydWN0IHB4YTJ4eF9yZXF1ZXN0ICpyZXEpCityZWFkX2ZpZm8gKHN0cnVjdCBweGEyNXhfZXAgKmVwLCBzdHJ1Y3QgcHhhMjV4X3JlcXVlc3QgKnJlcSkKIHsKIAlmb3IgKDs7KSB7CiAJCXUzMgkJdWRjY3M7CkBAIC02MDIsNyArNjA3LDcgQEAKICAqIHByb3RvY29scyBkbyB1c2UgdGhlbS4KICAqLwogc3RhdGljIGludAotcmVhZF9lcDBfZmlmbyAoc3RydWN0IHB4YTJ4eF9lcCAqZXAsIHN0cnVjdCBweGEyeHhfcmVxdWVzdCAqcmVxKQorcmVhZF9lcDBfZmlmbyAoc3RydWN0IHB4YTI1eF9lcCAqZXAsIHN0cnVjdCBweGEyNXhfcmVxdWVzdCAqcmVxKQogewogCXU4CQkqYnVmLCBieXRlOwogCXVuc2lnbmVkCWJ1ZmZlcnNwYWNlOwpAQCAtNjQxLDIxICs2NDYsMjEgQEAKIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAKIHN0YXRpYyBpbnQKLXB4YTJ4eF9lcF9xdWV1ZShzdHJ1Y3QgdXNiX2VwICpfZXAsIHN0cnVjdCB1c2JfcmVxdWVzdCAqX3JlcSwgZ2ZwX3QgZ2ZwX2ZsYWdzKQorcHhhMjV4X2VwX3F1ZXVlKHN0cnVjdCB1c2JfZXAgKl9lcCwgc3RydWN0IHVzYl9yZXF1ZXN0ICpfcmVxLCBnZnBfdCBnZnBfZmxhZ3MpCiB7Ci0Jc3RydWN0IHB4YTJ4eF9yZXF1ZXN0CSpyZXE7Ci0Jc3RydWN0IHB4YTJ4eF9lcAkqZXA7Ci0Jc3RydWN0IHB4YTJ4eF91ZGMJKmRldjsKKwlzdHJ1Y3QgcHhhMjV4X3JlcXVlc3QJKnJlcTsKKwlzdHJ1Y3QgcHhhMjV4X2VwCSplcDsKKwlzdHJ1Y3QgcHhhMjV4X3VkYwkqZGV2OwogCXVuc2lnbmVkIGxvbmcJCWZsYWdzOwogCi0JcmVxID0gY29udGFpbmVyX29mKF9yZXEsIHN0cnVjdCBweGEyeHhfcmVxdWVzdCwgcmVxKTsKKwlyZXEgPSBjb250YWluZXJfb2YoX3JlcSwgc3RydWN0IHB4YTI1eF9yZXF1ZXN0LCByZXEpOwogCWlmICh1bmxpa2VseSAoIV9yZXEgfHwgIV9yZXEtPmNvbXBsZXRlIHx8ICFfcmVxLT5idWYKIAkJCXx8ICFsaXN0X2VtcHR5KCZyZXEtPnF1ZXVlKSkpIHsKIAkJRE1TRygiJXMsIGJhZCBwYXJhbXNcbiIsIF9fZnVuY19fKTsKIAkJcmV0dXJuIC1FSU5WQUw7CiAJfQogCi0JZXAgPSBjb250YWluZXJfb2YoX2VwLCBzdHJ1Y3QgcHhhMnh4X2VwLCBlcCk7CisJZXAgPSBjb250YWluZXJfb2YoX2VwLCBzdHJ1Y3QgcHhhMjV4X2VwLCBlcCk7CiAJaWYgKHVubGlrZWx5ICghX2VwIHx8ICghZXAtPmRlc2MgJiYgZXAtPmVwLm5hbWUgIT0gZXAwbmFtZSkpKSB7CiAJCURNU0coIiVzLCBiYWQgZXBcbiIsIF9fZnVuY19fKTsKIAkJcmV0dXJuIC1FSU5WQUw7CkBAIC03NTEsMTQgKzc1NiwxNCBAQAogLyoKICAqCW51a2UgLSBkZXF1ZXVlIEFMTCByZXF1ZXN0cwogICovCi1zdGF0aWMgdm9pZCBudWtlKHN0cnVjdCBweGEyeHhfZXAgKmVwLCBpbnQgc3RhdHVzKQorc3RhdGljIHZvaWQgbnVrZShzdHJ1Y3QgcHhhMjV4X2VwICplcCwgaW50IHN0YXR1cykKIHsKLQlzdHJ1Y3QgcHhhMnh4X3JlcXVlc3QgKnJlcTsKKwlzdHJ1Y3QgcHhhMjV4X3JlcXVlc3QgKnJlcTsKIAogCS8qIGNhbGxlZCB3aXRoIGlycXMgYmxvY2tlZCAqLwogCXdoaWxlICghbGlzdF9lbXB0eSgmZXAtPnF1ZXVlKSkgewogCQlyZXEgPSBsaXN0X2VudHJ5KGVwLT5xdWV1ZS5uZXh0LAotCQkJCXN0cnVjdCBweGEyeHhfcmVxdWVzdCwKKwkJCQlzdHJ1Y3QgcHhhMjV4X3JlcXVlc3QsCiAJCQkJcXVldWUpOwogCQlkb25lKGVwLCByZXEsIHN0YXR1cyk7CiAJfQpAQCAtNzY4LDEzICs3NzMsMTMgQEAKIAogCiAvKiBkZXF1ZXVlIEpVU1QgT05FIHJlcXVlc3QgKi8KLXN0YXRpYyBpbnQgcHhhMnh4X2VwX2RlcXVldWUoc3RydWN0IHVzYl9lcCAqX2VwLCBzdHJ1Y3QgdXNiX3JlcXVlc3QgKl9yZXEpCitzdGF0aWMgaW50IHB4YTI1eF9lcF9kZXF1ZXVlKHN0cnVjdCB1c2JfZXAgKl9lcCwgc3RydWN0IHVzYl9yZXF1ZXN0ICpfcmVxKQogewotCXN0cnVjdCBweGEyeHhfZXAJKmVwOwotCXN0cnVjdCBweGEyeHhfcmVxdWVzdAkqcmVxOworCXN0cnVjdCBweGEyNXhfZXAJKmVwOworCXN0cnVjdCBweGEyNXhfcmVxdWVzdAkqcmVxOwogCXVuc2lnbmVkIGxvbmcJCWZsYWdzOwogCi0JZXAgPSBjb250YWluZXJfb2YoX2VwLCBzdHJ1Y3QgcHhhMnh4X2VwLCBlcCk7CisJZXAgPSBjb250YWluZXJfb2YoX2VwLCBzdHJ1Y3QgcHhhMjV4X2VwLCBlcCk7CiAJaWYgKCFfZXAgfHwgZXAtPmVwLm5hbWUgPT0gZXAwbmFtZSkKIAkJcmV0dXJuIC1FSU5WQUw7CiAKQEAgLTc5OCwxMiArODAzLDEyIEBACiAKIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAKLXN0YXRpYyBpbnQgcHhhMnh4X2VwX3NldF9oYWx0KHN0cnVjdCB1c2JfZXAgKl9lcCwgaW50IHZhbHVlKQorc3RhdGljIGludCBweGEyNXhfZXBfc2V0X2hhbHQoc3RydWN0IHVzYl9lcCAqX2VwLCBpbnQgdmFsdWUpCiB7Ci0Jc3RydWN0IHB4YTJ4eF9lcAkqZXA7CisJc3RydWN0IHB4YTI1eF9lcAkqZXA7CiAJdW5zaWduZWQgbG9uZwkJZmxhZ3M7CiAKLQllcCA9IGNvbnRhaW5lcl9vZihfZXAsIHN0cnVjdCBweGEyeHhfZXAsIGVwKTsKKwllcCA9IGNvbnRhaW5lcl9vZihfZXAsIHN0cnVjdCBweGEyNXhfZXAsIGVwKTsKIAlpZiAodW5saWtlbHkgKCFfZXAKIAkJCXx8ICghZXAtPmRlc2MgJiYgZXAtPmVwLm5hbWUgIT0gZXAwbmFtZSkpCiAJCQl8fCBlcC0+Ym1BdHRyaWJ1dGVzID09IFVTQl9FTkRQT0lOVF9YRkVSX0lTT0MpIHsKQEAgLTg1MywxMSArODU4LDExIEBACiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgcHhhMnh4X2VwX2ZpZm9fc3RhdHVzKHN0cnVjdCB1c2JfZXAgKl9lcCkKK3N0YXRpYyBpbnQgcHhhMjV4X2VwX2ZpZm9fc3RhdHVzKHN0cnVjdCB1c2JfZXAgKl9lcCkKIHsKLQlzdHJ1Y3QgcHhhMnh4X2VwICAgICAgICAqZXA7CisJc3RydWN0IHB4YTI1eF9lcCAgICAgICAgKmVwOwogCi0JZXAgPSBjb250YWluZXJfb2YoX2VwLCBzdHJ1Y3QgcHhhMnh4X2VwLCBlcCk7CisJZXAgPSBjb250YWluZXJfb2YoX2VwLCBzdHJ1Y3QgcHhhMjV4X2VwLCBlcCk7CiAJaWYgKCFfZXApIHsKIAkJRE1TRygiJXMsIGJhZCBlcFxuIiwgX19mdW5jX18pOwogCQlyZXR1cm4gLUVOT0RFVjsKQEAgLTg3MiwxMSArODc3LDExIEBACiAJCXJldHVybiAoKmVwLT5yZWdfdWJjciAmIDB4ZmZmKSArIDE7CiB9CiAKLXN0YXRpYyB2b2lkIHB4YTJ4eF9lcF9maWZvX2ZsdXNoKHN0cnVjdCB1c2JfZXAgKl9lcCkKK3N0YXRpYyB2b2lkIHB4YTI1eF9lcF9maWZvX2ZsdXNoKHN0cnVjdCB1c2JfZXAgKl9lcCkKIHsKLQlzdHJ1Y3QgcHhhMnh4X2VwICAgICAgICAqZXA7CisJc3RydWN0IHB4YTI1eF9lcCAgICAgICAgKmVwOwogCi0JZXAgPSBjb250YWluZXJfb2YoX2VwLCBzdHJ1Y3QgcHhhMnh4X2VwLCBlcCk7CisJZXAgPSBjb250YWluZXJfb2YoX2VwLCBzdHJ1Y3QgcHhhMjV4X2VwLCBlcCk7CiAJaWYgKCFfZXAgfHwgZXAtPmVwLm5hbWUgPT0gZXAwbmFtZSB8fCAhbGlzdF9lbXB0eSgmZXAtPnF1ZXVlKSkgewogCQlETVNHKCIlcywgYmFkIGVwXG4iLCBfX2Z1bmNfXyk7CiAJCXJldHVybjsKQEAgLTg5OCwxOSArOTAzLDE5IEBACiB9CiAKIAotc3RhdGljIHN0cnVjdCB1c2JfZXBfb3BzIHB4YTJ4eF9lcF9vcHMgPSB7Ci0JLmVuYWJsZQkJPSBweGEyeHhfZXBfZW5hYmxlLAotCS5kaXNhYmxlCT0gcHhhMnh4X2VwX2Rpc2FibGUsCitzdGF0aWMgc3RydWN0IHVzYl9lcF9vcHMgcHhhMjV4X2VwX29wcyA9IHsKKwkuZW5hYmxlCQk9IHB4YTI1eF9lcF9lbmFibGUsCisJLmRpc2FibGUJPSBweGEyNXhfZXBfZGlzYWJsZSwKIAotCS5hbGxvY19yZXF1ZXN0CT0gcHhhMnh4X2VwX2FsbG9jX3JlcXVlc3QsCi0JLmZyZWVfcmVxdWVzdAk9IHB4YTJ4eF9lcF9mcmVlX3JlcXVlc3QsCisJLmFsbG9jX3JlcXVlc3QJPSBweGEyNXhfZXBfYWxsb2NfcmVxdWVzdCwKKwkuZnJlZV9yZXF1ZXN0CT0gcHhhMjV4X2VwX2ZyZWVfcmVxdWVzdCwKIAotCS5xdWV1ZQkJPSBweGEyeHhfZXBfcXVldWUsCi0JLmRlcXVldWUJPSBweGEyeHhfZXBfZGVxdWV1ZSwKKwkucXVldWUJCT0gcHhhMjV4X2VwX3F1ZXVlLAorCS5kZXF1ZXVlCT0gcHhhMjV4X2VwX2RlcXVldWUsCiAKLQkuc2V0X2hhbHQJPSBweGEyeHhfZXBfc2V0X2hhbHQsCi0JLmZpZm9fc3RhdHVzCT0gcHhhMnh4X2VwX2ZpZm9fc3RhdHVzLAotCS5maWZvX2ZsdXNoCT0gcHhhMnh4X2VwX2ZpZm9fZmx1c2gsCisJLnNldF9oYWx0CT0gcHhhMjV4X2VwX3NldF9oYWx0LAorCS5maWZvX3N0YXR1cwk9IHB4YTI1eF9lcF9maWZvX3N0YXR1cywKKwkuZmlmb19mbHVzaAk9IHB4YTI1eF9lcF9maWZvX2ZsdXNoLAogfTsKIAogCkBAIC05MTksMTIgKzkyNCwxMiBAQAogICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgKi8KIAotc3RhdGljIGludCBweGEyeHhfdWRjX2dldF9mcmFtZShzdHJ1Y3QgdXNiX2dhZGdldCAqX2dhZGdldCkKK3N0YXRpYyBpbnQgcHhhMjV4X3VkY19nZXRfZnJhbWUoc3RydWN0IHVzYl9nYWRnZXQgKl9nYWRnZXQpCiB7CiAJcmV0dXJuICgoVUZOUkggJiAweDA3KSA8PCA4KSB8IChVRk5STCAmIDB4ZmYpOwogfQogCi1zdGF0aWMgaW50IHB4YTJ4eF91ZGNfd2FrZXVwKHN0cnVjdCB1c2JfZ2FkZ2V0ICpfZ2FkZ2V0KQorc3RhdGljIGludCBweGEyNXhfdWRjX3dha2V1cChzdHJ1Y3QgdXNiX2dhZGdldCAqX2dhZGdldCkKIHsKIAkvKiBob3N0IG1heSBub3QgaGF2ZSBlbmFibGVkIHJlbW90ZSB3YWtldXAgKi8KIAlpZiAoKFVEQ0NTMCAmIFVEQ0NTMF9EUldGKSA9PSAwKQpAQCAtOTMzLDE0ICs5MzgsMTQgQEAKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIHZvaWQgc3RvcF9hY3Rpdml0eShzdHJ1Y3QgcHhhMnh4X3VkYyAqLCBzdHJ1Y3QgdXNiX2dhZGdldF9kcml2ZXIgKik7Ci1zdGF0aWMgdm9pZCB1ZGNfZW5hYmxlIChzdHJ1Y3QgcHhhMnh4X3VkYyAqKTsKLXN0YXRpYyB2b2lkIHVkY19kaXNhYmxlKHN0cnVjdCBweGEyeHhfdWRjICopOworc3RhdGljIHZvaWQgc3RvcF9hY3Rpdml0eShzdHJ1Y3QgcHhhMjV4X3VkYyAqLCBzdHJ1Y3QgdXNiX2dhZGdldF9kcml2ZXIgKik7CitzdGF0aWMgdm9pZCB1ZGNfZW5hYmxlIChzdHJ1Y3QgcHhhMjV4X3VkYyAqKTsKK3N0YXRpYyB2b2lkIHVkY19kaXNhYmxlKHN0cnVjdCBweGEyNXhfdWRjICopOwogCiAvKiBXZSBkaXNhYmxlIHRoZSBVREMgLS0gYW5kIGl0cyA0OCBNSHogY2xvY2sgLS0gd2hlbmV2ZXIgaXQncyBub3QKICAqIGluIGFjdGl2ZSB1c2UuCiAgKi8KLXN0YXRpYyBpbnQgcHVsbHVwKHN0cnVjdCBweGEyeHhfdWRjICp1ZGMpCitzdGF0aWMgaW50IHB1bGx1cChzdHJ1Y3QgcHhhMjV4X3VkYyAqdWRjKQogewogCWludCBpc19hY3RpdmUgPSB1ZGMtPnZidXMgJiYgdWRjLT5wdWxsdXAgJiYgIXVkYy0+c3VzcGVuZGVkOwogCURNU0coIiVzXG4iLCBpc19hY3RpdmUgPyAiYWN0aXZlIiA6ICJpbmFjdGl2ZSIpOwpAQCAtOTcwLDExICs5NzUsMTEgQEAKIH0KIAogLyogVkJVUyByZXBvcnRpbmcgbG9naWNhbGx5IGNvbWVzIGZyb20gYSB0cmFuc2NlaXZlciAqLwotc3RhdGljIGludCBweGEyeHhfdWRjX3ZidXNfc2Vzc2lvbihzdHJ1Y3QgdXNiX2dhZGdldCAqX2dhZGdldCwgaW50IGlzX2FjdGl2ZSkKK3N0YXRpYyBpbnQgcHhhMjV4X3VkY192YnVzX3Nlc3Npb24oc3RydWN0IHVzYl9nYWRnZXQgKl9nYWRnZXQsIGludCBpc19hY3RpdmUpCiB7Ci0Jc3RydWN0IHB4YTJ4eF91ZGMJKnVkYzsKKwlzdHJ1Y3QgcHhhMjV4X3VkYwkqdWRjOwogCi0JdWRjID0gY29udGFpbmVyX29mKF9nYWRnZXQsIHN0cnVjdCBweGEyeHhfdWRjLCBnYWRnZXQpOworCXVkYyA9IGNvbnRhaW5lcl9vZihfZ2FkZ2V0LCBzdHJ1Y3QgcHhhMjV4X3VkYywgZ2FkZ2V0KTsKIAl1ZGMtPnZidXMgPSAoaXNfYWN0aXZlICE9IDApOwogCURNU0coInZidXMgJXNcbiIsIGlzX2FjdGl2ZSA/ICJzdXBwbGllZCIgOiAiaW5hY3RpdmUiKTsKIAlwdWxsdXAodWRjKTsKQEAgLTk4MiwxMSArOTg3LDExIEBACiB9CiAKIC8qIGRyaXZlcnMgbWF5IGhhdmUgc29mdHdhcmUgY29udHJvbCBvdmVyIEQrIHB1bGx1cCAqLwotc3RhdGljIGludCBweGEyeHhfdWRjX3B1bGx1cChzdHJ1Y3QgdXNiX2dhZGdldCAqX2dhZGdldCwgaW50IGlzX2FjdGl2ZSkKK3N0YXRpYyBpbnQgcHhhMjV4X3VkY19wdWxsdXAoc3RydWN0IHVzYl9nYWRnZXQgKl9nYWRnZXQsIGludCBpc19hY3RpdmUpCiB7Ci0Jc3RydWN0IHB4YTJ4eF91ZGMJKnVkYzsKKwlzdHJ1Y3QgcHhhMjV4X3VkYwkqdWRjOwogCi0JdWRjID0gY29udGFpbmVyX29mKF9nYWRnZXQsIHN0cnVjdCBweGEyeHhfdWRjLCBnYWRnZXQpOworCXVkYyA9IGNvbnRhaW5lcl9vZihfZ2FkZ2V0LCBzdHJ1Y3QgcHhhMjV4X3VkYywgZ2FkZ2V0KTsKIAogCS8qIG5vdCBhbGwgYm9hcmRzIHN1cHBvcnQgcHVsbHVwIGNvbnRyb2wgKi8KIAlpZiAoIXVkYy0+bWFjaC0+Z3Bpb19wdWxsdXAgJiYgIXVkYy0+bWFjaC0+dWRjX2NvbW1hbmQpCkBAIC05OTcsMTEgKzEwMDIsMTEgQEAKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIGNvbnN0IHN0cnVjdCB1c2JfZ2FkZ2V0X29wcyBweGEyeHhfdWRjX29wcyA9IHsKLQkuZ2V0X2ZyYW1lCT0gcHhhMnh4X3VkY19nZXRfZnJhbWUsCi0JLndha2V1cAkJPSBweGEyeHhfdWRjX3dha2V1cCwKLQkudmJ1c19zZXNzaW9uCT0gcHhhMnh4X3VkY192YnVzX3Nlc3Npb24sCi0JLnB1bGx1cAkJPSBweGEyeHhfdWRjX3B1bGx1cCwKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgdXNiX2dhZGdldF9vcHMgcHhhMjV4X3VkY19vcHMgPSB7CisJLmdldF9mcmFtZQk9IHB4YTI1eF91ZGNfZ2V0X2ZyYW1lLAorCS53YWtldXAJCT0gcHhhMjV4X3VkY193YWtldXAsCisJLnZidXNfc2Vzc2lvbgk9IHB4YTI1eF91ZGNfdmJ1c19zZXNzaW9uLAorCS5wdWxsdXAJCT0gcHhhMjV4X3VkY19wdWxsdXAsCiAKIAkvLyAudmJ1c19kcmF3IC4uLiBib2FyZHMgbWF5IGNvbnN1bWUgY3VycmVudCBmcm9tIFZCVVMsIHVwIHRvCiAJLy8gMTAwLTUwMG1BIGJhc2VkIG9uIGNvbmZpZy4gIHRoZSA1MDB1QSBzdXNwZW5kIGNlaWxpbmcgbWVhbnMKQEAgLTEwMTUsNyArMTAyMCw3IEBACiBzdGF0aWMgaW50CiB1ZGNfc2VxX3Nob3coc3RydWN0IHNlcV9maWxlICptLCB2b2lkICpfZCkKIHsKLQlzdHJ1Y3QgcHhhMnh4X3VkYwkqZGV2ID0gbS0+cHJpdmF0ZTsKKwlzdHJ1Y3QgcHhhMjV4X3VkYwkqZGV2ID0gbS0+cHJpdmF0ZTsKIAl1bnNpZ25lZCBsb25nCQlmbGFnczsKIAlpbnQJCQlpOwogCXUzMgkJCXRtcDsKQEAgLTEwNzYsOCArMTA4MSw4IEBACiAKIAkvKiBkdW1wIGVuZHBvaW50IHF1ZXVlcyAqLwogCWZvciAoaSA9IDA7IGkgPCBQWEFfVURDX05VTV9FTkRQT0lOVFM7IGkrKykgewotCQlzdHJ1Y3QgcHhhMnh4X2VwCSplcCA9ICZkZXYtPmVwIFtpXTsKLQkJc3RydWN0IHB4YTJ4eF9yZXF1ZXN0CSpyZXE7CisJCXN0cnVjdCBweGEyNXhfZXAJKmVwID0gJmRldi0+ZXAgW2ldOworCQlzdHJ1Y3QgcHhhMjV4X3JlcXVlc3QJKnJlcTsKIAogCQlpZiAoaSAhPSAwKSB7CiAJCQljb25zdCBzdHJ1Y3QgdXNiX2VuZHBvaW50X2Rlc2NyaXB0b3IJKmRlc2M7CkBAIC0xMTUwLDcgKzExNTUsNyBAQAogLyoKICAqCXVkY19kaXNhYmxlIC0gZGlzYWJsZSBVU0IgZGV2aWNlIGNvbnRyb2xsZXIKICAqLwotc3RhdGljIHZvaWQgdWRjX2Rpc2FibGUoc3RydWN0IHB4YTJ4eF91ZGMgKmRldikKK3N0YXRpYyB2b2lkIHVkY19kaXNhYmxlKHN0cnVjdCBweGEyNXhfdWRjICpkZXYpCiB7CiAJLyogYmxvY2sgYWxsIGlycXMgKi8KIAl1ZGNfc2V0X21hc2tfVURDQ1IoVURDQ1JfU1JNfFVEQ0NSX1JFTSk7CkBAIC0xMTcwLDcgKzExNzUsNyBAQAogLyoKICAqCXVkY19yZWluaXQgLSBpbml0aWFsaXplIHNvZnR3YXJlIHN0YXRlCiAgKi8KLXN0YXRpYyB2b2lkIHVkY19yZWluaXQoc3RydWN0IHB4YTJ4eF91ZGMgKmRldikKK3N0YXRpYyB2b2lkIHVkY19yZWluaXQoc3RydWN0IHB4YTI1eF91ZGMgKmRldikKIHsKIAl1MzIJaTsKIApAQCAtMTE4MSw3ICsxMTg2LDcgQEAKIAogCS8qIGJhc2ljIGVuZHBvaW50IHJlY29yZHMgaW5pdCAqLwogCWZvciAoaSA9IDA7IGkgPCBQWEFfVURDX05VTV9FTkRQT0lOVFM7IGkrKykgewotCQlzdHJ1Y3QgcHhhMnh4X2VwICplcCA9ICZkZXYtPmVwW2ldOworCQlzdHJ1Y3QgcHhhMjV4X2VwICplcCA9ICZkZXYtPmVwW2ldOwogCiAJCWlmIChpICE9IDApCiAJCQlsaXN0X2FkZF90YWlsICgmZXAtPmVwLmVwX2xpc3QsICZkZXYtPmdhZGdldC5lcF9saXN0KTsKQEAgLTExOTgsNyArMTIwMyw3IEBACiAvKiB1bnRpbCBpdCdzIGVuYWJsZWQsIHRoaXMgVURDIHNob3VsZCBiZSBjb21wbGV0ZWx5IGludmlzaWJsZQogICogdG8gYW55IFVTQiBob3N0LgogICovCi1zdGF0aWMgdm9pZCB1ZGNfZW5hYmxlIChzdHJ1Y3QgcHhhMnh4X3VkYyAqZGV2KQorc3RhdGljIHZvaWQgdWRjX2VuYWJsZSAoc3RydWN0IHB4YTI1eF91ZGMgKmRldikKIHsKIAl1ZGNfY2xlYXJfbWFza19VRENDUihVRENDUl9VREUpOwogCkBAIC0xMjU0LDcgKzEyNTksNyBAQAogICovCiBpbnQgdXNiX2dhZGdldF9yZWdpc3Rlcl9kcml2ZXIoc3RydWN0IHVzYl9nYWRnZXRfZHJpdmVyICpkcml2ZXIpCiB7Ci0Jc3RydWN0IHB4YTJ4eF91ZGMJKmRldiA9IHRoZV9jb250cm9sbGVyOworCXN0cnVjdCBweGEyNXhfdWRjCSpkZXYgPSB0aGVfY29udHJvbGxlcjsKIAlpbnQJCQlyZXR2YWw7CiAKIAlpZiAoIWRyaXZlcgpAQCAtMTI5OSw3ICsxMzA0LDcgQEAKIEVYUE9SVF9TWU1CT0wodXNiX2dhZGdldF9yZWdpc3Rlcl9kcml2ZXIpOwogCiBzdGF0aWMgdm9pZAotc3RvcF9hY3Rpdml0eShzdHJ1Y3QgcHhhMnh4X3VkYyAqZGV2LCBzdHJ1Y3QgdXNiX2dhZGdldF9kcml2ZXIgKmRyaXZlcikKK3N0b3BfYWN0aXZpdHkoc3RydWN0IHB4YTI1eF91ZGMgKmRldiwgc3RydWN0IHVzYl9nYWRnZXRfZHJpdmVyICpkcml2ZXIpCiB7CiAJaW50IGk7CiAKQEAgLTEzMTAsNyArMTMxNSw3IEBACiAKIAkvKiBwcmV2ZW50IG5ldyByZXF1ZXN0IHN1Ym1pc3Npb25zLCBraWxsIGFueSBvdXRzdGFuZGluZyByZXF1ZXN0cyAgKi8KIAlmb3IgKGkgPSAwOyBpIDwgUFhBX1VEQ19OVU1fRU5EUE9JTlRTOyBpKyspIHsKLQkJc3RydWN0IHB4YTJ4eF9lcCAqZXAgPSAmZGV2LT5lcFtpXTsKKwkJc3RydWN0IHB4YTI1eF9lcCAqZXAgPSAmZGV2LT5lcFtpXTsKIAogCQllcC0+c3RvcHBlZCA9IDE7CiAJCW51a2UoZXAsIC1FU0hVVERPV04pOwpAQCAtMTMyNyw3ICsxMzMyLDcgQEAKIAogaW50IHVzYl9nYWRnZXRfdW5yZWdpc3Rlcl9kcml2ZXIoc3RydWN0IHVzYl9nYWRnZXRfZHJpdmVyICpkcml2ZXIpCiB7Ci0Jc3RydWN0IHB4YTJ4eF91ZGMJKmRldiA9IHRoZV9jb250cm9sbGVyOworCXN0cnVjdCBweGEyNXhfdWRjCSpkZXYgPSB0aGVfY29udHJvbGxlcjsKIAogCWlmICghZGV2KQogCQlyZXR1cm4gLUVOT0RFVjsKQEAgLTEzNjQsNyArMTM2OSw3IEBACiBzdGF0aWMgaXJxcmV0dXJuX3QKIGx1YmJvY2tfdmJ1c19pcnEoaW50IGlycSwgdm9pZCAqX2RldikKIHsKLQlzdHJ1Y3QgcHhhMnh4X3VkYwkqZGV2ID0gX2RldjsKKwlzdHJ1Y3QgcHhhMjV4X3VkYwkqZGV2ID0gX2RldjsKIAlpbnQJCQl2YnVzOwogCiAJZGV2LT5zdGF0cy5pcnFzKys7CkBAIC0xMzgzLDcgKzEzODgsNyBAQAogCQlyZXR1cm4gSVJRX05PTkU7CiAJfQogCi0JcHhhMnh4X3VkY192YnVzX3Nlc3Npb24oJmRldi0+Z2FkZ2V0LCB2YnVzKTsKKwlweGEyNXhfdWRjX3ZidXNfc2Vzc2lvbigmZGV2LT5nYWRnZXQsIHZidXMpOwogCXJldHVybiBJUlFfSEFORExFRDsKIH0KIApAQCAtMTM5MSwyMCArMTM5NiwyMCBAQAogCiBzdGF0aWMgaXJxcmV0dXJuX3QgdWRjX3ZidXNfaXJxKGludCBpcnEsIHZvaWQgKl9kZXYpCiB7Ci0Jc3RydWN0IHB4YTJ4eF91ZGMJKmRldiA9IF9kZXY7CisJc3RydWN0IHB4YTI1eF91ZGMJKmRldiA9IF9kZXY7CiAJaW50CQkJdmJ1cyA9IGdwaW9fZ2V0X3ZhbHVlKGRldi0+bWFjaC0+Z3Bpb192YnVzKTsKIAogCWlmIChkZXYtPm1hY2gtPmdwaW9fdmJ1c19pbnZlcnRlZCkKIAkJdmJ1cyA9ICF2YnVzOwogCi0JcHhhMnh4X3VkY192YnVzX3Nlc3Npb24oJmRldi0+Z2FkZ2V0LCB2YnVzKTsKKwlweGEyNXhfdWRjX3ZidXNfc2Vzc2lvbigmZGV2LT5nYWRnZXQsIHZidXMpOwogCXJldHVybiBJUlFfSEFORExFRDsKIH0KIAogCiAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogCi1zdGF0aWMgaW5saW5lIHZvaWQgY2xlYXJfZXBfc3RhdGUgKHN0cnVjdCBweGEyeHhfdWRjICpkZXYpCitzdGF0aWMgaW5saW5lIHZvaWQgY2xlYXJfZXBfc3RhdGUgKHN0cnVjdCBweGEyNXhfdWRjICpkZXYpCiB7CiAJdW5zaWduZWQgaTsKIApAQCAtMTQxNyw3ICsxNDIyLDcgQEAKIAogc3RhdGljIHZvaWQgdWRjX3dhdGNoZG9nKHVuc2lnbmVkIGxvbmcgX2RldikKIHsKLQlzdHJ1Y3QgcHhhMnh4X3VkYwkqZGV2ID0gKHZvaWQgKilfZGV2OworCXN0cnVjdCBweGEyNXhfdWRjCSpkZXYgPSAodm9pZCAqKV9kZXY7CiAKIAlsb2NhbF9pcnFfZGlzYWJsZSgpOwogCWlmIChkZXYtPmVwMHN0YXRlID09IEVQMF9TVEFMTApAQCAtMTQzMCwxMSArMTQzNSwxMSBAQAogCWxvY2FsX2lycV9lbmFibGUoKTsKIH0KIAotc3RhdGljIHZvaWQgaGFuZGxlX2VwMCAoc3RydWN0IHB4YTJ4eF91ZGMgKmRldikKK3N0YXRpYyB2b2lkIGhhbmRsZV9lcDAgKHN0cnVjdCBweGEyNXhfdWRjICpkZXYpCiB7CiAJdTMyCQkJdWRjY3MwID0gVURDQ1MwOwotCXN0cnVjdCBweGEyeHhfZXAJKmVwID0gJmRldi0+ZXAgWzBdOwotCXN0cnVjdCBweGEyeHhfcmVxdWVzdAkqcmVxOworCXN0cnVjdCBweGEyNXhfZXAJKmVwID0gJmRldi0+ZXAgWzBdOworCXN0cnVjdCBweGEyNXhfcmVxdWVzdAkqcmVxOwogCXVuaW9uIHsKIAkJc3RydWN0IHVzYl9jdHJscmVxdWVzdAlyOwogCQl1OAkJCXJhdyBbOF07CkBAIC0xNDQ0LDcgKzE0NDksNyBAQAogCWlmIChsaXN0X2VtcHR5KCZlcC0+cXVldWUpKQogCQlyZXEgPSBOVUxMOwogCWVsc2UKLQkJcmVxID0gbGlzdF9lbnRyeShlcC0+cXVldWUubmV4dCwgc3RydWN0IHB4YTJ4eF9yZXF1ZXN0LCBxdWV1ZSk7CisJCXJlcSA9IGxpc3RfZW50cnkoZXAtPnF1ZXVlLm5leHQsIHN0cnVjdCBweGEyNXhfcmVxdWVzdCwgcXVldWUpOwogCiAJLyogY2xlYXIgc3RhbGwgc3RhdHVzICovCiAJaWYgKHVkY2NzMCAmIFVEQ0NTMF9TU1QpIHsKQEAgLTE2NTQsOSArMTY1OSw5IEBACiAJVVNJUjAgPSBVU0lSMF9JUjA7CiB9CiAKLXN0YXRpYyB2b2lkIGhhbmRsZV9lcChzdHJ1Y3QgcHhhMnh4X2VwICplcCkKK3N0YXRpYyB2b2lkIGhhbmRsZV9lcChzdHJ1Y3QgcHhhMjV4X2VwICplcCkKIHsKLQlzdHJ1Y3QgcHhhMnh4X3JlcXVlc3QJKnJlcTsKKwlzdHJ1Y3QgcHhhMjV4X3JlcXVlc3QJKnJlcTsKIAlpbnQJCQlpc19pbiA9IGVwLT5iRW5kcG9pbnRBZGRyZXNzICYgVVNCX0RJUl9JTjsKIAlpbnQJCQljb21wbGV0ZWQ7CiAJdTMyCQkJdWRjY3MsIHRtcDsKQEAgLTE2NjUsNyArMTY3MCw3IEBACiAJCWNvbXBsZXRlZCA9IDA7CiAJCWlmIChsaWtlbHkgKCFsaXN0X2VtcHR5KCZlcC0+cXVldWUpKSkKIAkJCXJlcSA9IGxpc3RfZW50cnkoZXAtPnF1ZXVlLm5leHQsCi0JCQkJCXN0cnVjdCBweGEyeHhfcmVxdWVzdCwgcXVldWUpOworCQkJCQlzdHJ1Y3QgcHhhMjV4X3JlcXVlc3QsIHF1ZXVlKTsKIAkJZWxzZQogCQkJcmVxID0gTlVMTDsKIApAQCAtMTcwMiwxNiArMTcwNywxNiBAQAogfQogCiAvKgotICoJcHhhMnh4X3VkY19pcnEgLSBpbnRlcnJ1cHQgaGFuZGxlcgorICoJcHhhMjV4X3VkY19pcnEgLSBpbnRlcnJ1cHQgaGFuZGxlcgogICoKICAqIGF2b2lkIGRlbGF5cyBpbiBlcDAgcHJvY2Vzc2luZy4gdGhlIGNvbnRyb2wgaGFuZHNoYWtpbmcgaXNuJ3QgYWx3YXlzCiAgKiB1bmRlciBzb2Z0d2FyZSBjb250cm9sIChweGEyNTBjMCBhbmQgdGhlIHB4YTI1NSBhcmUgYmV0dGVyKSwgYW5kIGRlbGF5cwogICogY291bGQgY2F1c2UgdXNiIHByb3RvY29sIGVycm9ycy4KICAqLwogc3RhdGljIGlycXJldHVybl90Ci1weGEyeHhfdWRjX2lycShpbnQgaXJxLCB2b2lkICpfZGV2KQorcHhhMjV4X3VkY19pcnEoaW50IGlycSwgdm9pZCAqX2RldikKIHsKLQlzdHJ1Y3QgcHhhMnh4X3VkYwkqZGV2ID0gX2RldjsKKwlzdHJ1Y3QgcHhhMjV4X3VkYwkqZGV2ID0gX2RldjsKIAlpbnQJCQloYW5kbGVkOwogCiAJZGV2LT5zdGF0cy5pcnFzKys7CkBAIC0xODIwLDkgKzE4MjUsOSBAQAogICogZG9pbmcgaXQgYXQgcnVuLXRpbWUpIHRvIHNhdmUgY29kZSwgZWxpbWluYXRlIGZhdWx0IHBhdGhzLCBhbmQKICAqIGJlIG1vcmUgb2J2aW91c2x5IGNvcnJlY3QuCiAgKi8KLXN0YXRpYyBzdHJ1Y3QgcHhhMnh4X3VkYyBtZW1vcnkgPSB7CitzdGF0aWMgc3RydWN0IHB4YTI1eF91ZGMgbWVtb3J5ID0gewogCS5nYWRnZXQgPSB7Ci0JCS5vcHMJCT0gJnB4YTJ4eF91ZGNfb3BzLAorCQkub3BzCQk9ICZweGEyNXhfdWRjX29wcywKIAkJLmVwMAkJPSAmbWVtb3J5LmVwWzBdLmVwLAogCQkubmFtZQkJPSBkcml2ZXJfbmFtZSwKIAkJLmRldiA9IHsKQEAgLTE4MzUsNyArMTg0MCw3IEBACiAJLmVwWzBdID0gewogCQkuZXAgPSB7CiAJCQkubmFtZQkJPSBlcDBuYW1lLAotCQkJLm9wcwkJPSAmcHhhMnh4X2VwX29wcywKKwkJCS5vcHMJCT0gJnB4YTI1eF9lcF9vcHMsCiAJCQkubWF4cGFja2V0CT0gRVAwX0ZJRk9fU0laRSwKIAkJfSwKIAkJLmRldgkJPSAmbWVtb3J5LApAQCAtMTg0Nyw3ICsxODUyLDcgQEAKIAkuZXBbMV0gPSB7CiAJCS5lcCA9IHsKIAkJCS5uYW1lCQk9ICJlcDFpbi1idWxrIiwKLQkJCS5vcHMJCT0gJnB4YTJ4eF9lcF9vcHMsCisJCQkub3BzCQk9ICZweGEyNXhfZXBfb3BzLAogCQkJLm1heHBhY2tldAk9IEJVTEtfRklGT19TSVpFLAogCQl9LAogCQkuZGV2CQk9ICZtZW1vcnksCkBAIC0xODYwLDcgKzE4NjUsNyBAQAogCS5lcFsyXSA9IHsKIAkJLmVwID0gewogCQkJLm5hbWUJCT0gImVwMm91dC1idWxrIiwKLQkJCS5vcHMJCT0gJnB4YTJ4eF9lcF9vcHMsCisJCQkub3BzCQk9ICZweGEyNXhfZXBfb3BzLAogCQkJLm1heHBhY2tldAk9IEJVTEtfRklGT19TSVpFLAogCQl9LAogCQkuZGV2CQk9ICZtZW1vcnksCkBAIC0xODcxLDExICsxODc2LDExIEBACiAJCS5yZWdfdWJjcgk9ICZVQkNSMiwKIAkJLnJlZ191ZGRyCT0gJlVERFIyLAogCX0sCi0jaWZuZGVmIENPTkZJR19VU0JfUFhBMlhYX1NNQUxMCisjaWZuZGVmIENPTkZJR19VU0JfUFhBMjVYX1NNQUxMCiAJLmVwWzNdID0gewogCQkuZXAgPSB7CiAJCQkubmFtZQkJPSAiZXAzaW4taXNvIiwKLQkJCS5vcHMJCT0gJnB4YTJ4eF9lcF9vcHMsCisJCQkub3BzCQk9ICZweGEyNXhfZXBfb3BzLAogCQkJLm1heHBhY2tldAk9IElTT19GSUZPX1NJWkUsCiAJCX0sCiAJCS5kZXYJCT0gJm1lbW9yeSwKQEAgLTE4ODgsNyArMTg5Myw3IEBACiAJLmVwWzRdID0gewogCQkuZXAgPSB7CiAJCQkubmFtZQkJPSAiZXA0b3V0LWlzbyIsCi0JCQkub3BzCQk9ICZweGEyeHhfZXBfb3BzLAorCQkJLm9wcwkJPSAmcHhhMjV4X2VwX29wcywKIAkJCS5tYXhwYWNrZXQJPSBJU09fRklGT19TSVpFLAogCQl9LAogCQkuZGV2CQk9ICZtZW1vcnksCkBAIC0xOTAyLDcgKzE5MDcsNyBAQAogCS5lcFs1XSA9IHsKIAkJLmVwID0gewogCQkJLm5hbWUJCT0gImVwNWluLWludCIsCi0JCQkub3BzCQk9ICZweGEyeHhfZXBfb3BzLAorCQkJLm9wcwkJPSAmcHhhMjV4X2VwX29wcywKIAkJCS5tYXhwYWNrZXQJPSBJTlRfRklGT19TSVpFLAogCQl9LAogCQkuZGV2CQk9ICZtZW1vcnksCkBAIC0xOTE3LDcgKzE5MjIsNyBAQAogCS5lcFs2XSA9IHsKIAkJLmVwID0gewogCQkJLm5hbWUJCT0gImVwNmluLWJ1bGsiLAotCQkJLm9wcwkJPSAmcHhhMnh4X2VwX29wcywKKwkJCS5vcHMJCT0gJnB4YTI1eF9lcF9vcHMsCiAJCQkubWF4cGFja2V0CT0gQlVMS19GSUZPX1NJWkUsCiAJCX0sCiAJCS5kZXYJCT0gJm1lbW9yeSwKQEAgLTE5MzAsNyArMTkzNSw3IEBACiAJLmVwWzddID0gewogCQkuZXAgPSB7CiAJCQkubmFtZQkJPSAiZXA3b3V0LWJ1bGsiLAotCQkJLm9wcwkJPSAmcHhhMnh4X2VwX29wcywKKwkJCS5vcHMJCT0gJnB4YTI1eF9lcF9vcHMsCiAJCQkubWF4cGFja2V0CT0gQlVMS19GSUZPX1NJWkUsCiAJCX0sCiAJCS5kZXYJCT0gJm1lbW9yeSwKQEAgLTE5NDQsNyArMTk0OSw3IEBACiAJLmVwWzhdID0gewogCQkuZXAgPSB7CiAJCQkubmFtZQkJPSAiZXA4aW4taXNvIiwKLQkJCS5vcHMJCT0gJnB4YTJ4eF9lcF9vcHMsCisJCQkub3BzCQk9ICZweGEyNXhfZXBfb3BzLAogCQkJLm1heHBhY2tldAk9IElTT19GSUZPX1NJWkUsCiAJCX0sCiAJCS5kZXYJCT0gJm1lbW9yeSwKQEAgLTE5NTcsNyArMTk2Miw3IEBACiAJLmVwWzldID0gewogCQkuZXAgPSB7CiAJCQkubmFtZQkJPSAiZXA5b3V0LWlzbyIsCi0JCQkub3BzCQk9ICZweGEyeHhfZXBfb3BzLAorCQkJLm9wcwkJPSAmcHhhMjV4X2VwX29wcywKIAkJCS5tYXhwYWNrZXQJPSBJU09fRklGT19TSVpFLAogCQl9LAogCQkuZGV2CQk9ICZtZW1vcnksCkBAIC0xOTcxLDcgKzE5NzYsNyBAQAogCS5lcFsxMF0gPSB7CiAJCS5lcCA9IHsKIAkJCS5uYW1lCQk9ICJlcDEwaW4taW50IiwKLQkJCS5vcHMJCT0gJnB4YTJ4eF9lcF9vcHMsCisJCQkub3BzCQk9ICZweGEyNXhfZXBfb3BzLAogCQkJLm1heHBhY2tldAk9IElOVF9GSUZPX1NJWkUsCiAJCX0sCiAJCS5kZXYJCT0gJm1lbW9yeSwKQEAgLTE5ODYsNyArMTk5MSw3IEBACiAJLmVwWzExXSA9IHsKIAkJLmVwID0gewogCQkJLm5hbWUJCT0gImVwMTFpbi1idWxrIiwKLQkJCS5vcHMJCT0gJnB4YTJ4eF9lcF9vcHMsCisJCQkub3BzCQk9ICZweGEyNXhfZXBfb3BzLAogCQkJLm1heHBhY2tldAk9IEJVTEtfRklGT19TSVpFLAogCQl9LAogCQkuZGV2CQk9ICZtZW1vcnksCkBAIC0xOTk5LDcgKzIwMDQsNyBAQAogCS5lcFsxMl0gPSB7CiAJCS5lcCA9IHsKIAkJCS5uYW1lCQk9ICJlcDEyb3V0LWJ1bGsiLAotCQkJLm9wcwkJPSAmcHhhMnh4X2VwX29wcywKKwkJCS5vcHMJCT0gJnB4YTI1eF9lcF9vcHMsCiAJCQkubWF4cGFja2V0CT0gQlVMS19GSUZPX1NJWkUsCiAJCX0sCiAJCS5kZXYJCT0gJm1lbW9yeSwKQEAgLTIwMTMsNyArMjAxOCw3IEBACiAJLmVwWzEzXSA9IHsKIAkJLmVwID0gewogCQkJLm5hbWUJCT0gImVwMTNpbi1pc28iLAotCQkJLm9wcwkJPSAmcHhhMnh4X2VwX29wcywKKwkJCS5vcHMJCT0gJnB4YTI1eF9lcF9vcHMsCiAJCQkubWF4cGFja2V0CT0gSVNPX0ZJRk9fU0laRSwKIAkJfSwKIAkJLmRldgkJPSAmbWVtb3J5LApAQCAtMjAyNiw3ICsyMDMxLDcgQEAKIAkuZXBbMTRdID0gewogCQkuZXAgPSB7CiAJCQkubmFtZQkJPSAiZXAxNG91dC1pc28iLAotCQkJLm9wcwkJPSAmcHhhMnh4X2VwX29wcywKKwkJCS5vcHMJCT0gJnB4YTI1eF9lcF9vcHMsCiAJCQkubWF4cGFja2V0CT0gSVNPX0ZJRk9fU0laRSwKIAkJfSwKIAkJLmRldgkJPSAmbWVtb3J5LApAQCAtMjA0MCw3ICsyMDQ1LDcgQEAKIAkuZXBbMTVdID0gewogCQkuZXAgPSB7CiAJCQkubmFtZQkJPSAiZXAxNWluLWludCIsCi0JCQkub3BzCQk9ICZweGEyeHhfZXBfb3BzLAorCQkJLm9wcwkJPSAmcHhhMjV4X2VwX29wcywKIAkJCS5tYXhwYWNrZXQJPSBJTlRfRklGT19TSVpFLAogCQl9LAogCQkuZGV2CQk9ICZtZW1vcnksCkBAIC0yMDUwLDcgKzIwNTUsNyBAQAogCQkucmVnX3VkY2NzCT0gJlVEQ0NTMTUsCiAJCS5yZWdfdWRkcgk9ICZVRERSMTUsCiAJfSwKLSNlbmRpZiAvKiAhQ09ORklHX1VTQl9QWEEyWFhfU01BTEwgKi8KKyNlbmRpZiAvKiAhQ09ORklHX1VTQl9QWEEyNVhfU01BTEwgKi8KIH07CiAKICNkZWZpbmUgQ1AxNVIwX1ZFTkRPUl9NQVNLCTB4ZmZmZmUwMDAKQEAgLTIwOTAsOSArMjA5NSw5IEBACiAvKgogICoJcHJvYmUgLSBiaW5kcyB0byB0aGUgcGxhdGZvcm0gZGV2aWNlCiAgKi8KLXN0YXRpYyBpbnQgX19pbml0IHB4YTJ4eF91ZGNfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKK3N0YXRpYyBpbnQgX19pbml0IHB4YTI1eF91ZGNfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKIHsKLQlzdHJ1Y3QgcHhhMnh4X3VkYyAqZGV2ID0gJm1lbW9yeTsKKwlzdHJ1Y3QgcHhhMjV4X3VkYyAqZGV2ID0gJm1lbW9yeTsKIAlpbnQgcmV0dmFsLCB2YnVzX2lycSwgaXJxOwogCXUzMiBjaGlwcmV2OwogCkBAIC0yMTU1LDcgKzIxNjAsNyBAQAogCiAJaWYgKGRldi0+bWFjaC0+Z3Bpb192YnVzKSB7CiAJCWlmICgocmV0dmFsID0gZ3Bpb19yZXF1ZXN0KGRldi0+bWFjaC0+Z3Bpb192YnVzLAotCQkJCSJweGEyeHhfdWRjIEdQSU8gVkJVUyIpKSkgeworCQkJCSJweGEyNXhfdWRjIEdQSU8gVkJVUyIpKSkgewogCQkJZGV2X2RiZygmcGRldi0+ZGV2LAogCQkJCSJjYW4ndCBnZXQgdmJ1cyBncGlvICVkLCBlcnI6ICVkXG4iLAogCQkJCWRldi0+bWFjaC0+Z3Bpb192YnVzLCByZXR2YWwpOwpAQCAtMjE2OCw3ICsyMTczLDcgQEAKIAogCWlmIChkZXYtPm1hY2gtPmdwaW9fcHVsbHVwKSB7CiAJCWlmICgocmV0dmFsID0gZ3Bpb19yZXF1ZXN0KGRldi0+bWFjaC0+Z3Bpb19wdWxsdXAsCi0JCQkJInBjYTJ4eF91ZGMgR1BJTyBQVUxMVVAiKSkpIHsKKwkJCQkicGNhMjV4X3VkYyBHUElPIFBVTExVUCIpKSkgewogCQkJZGV2X2RiZygmcGRldi0+ZGV2LAogCQkJCSJjYW4ndCBnZXQgcHVsbHVwIGdwaW8gJWQsIGVycjogJWRcbiIsCiAJCQkJZGV2LT5tYWNoLT5ncGlvX3B1bGx1cCwgcmV0dmFsKTsKQEAgLTIxOTQsNyArMjE5OSw3IEBACiAJZGV2LT52YnVzID0gaXNfdmJ1c19wcmVzZW50KCk7CiAKIAkvKiBpcnEgc2V0dXAgYWZ0ZXIgb2xkIGhhcmR3YXJlIHN0YXRlIGlzIGNsZWFuZWQgdXAgKi8KLQlyZXR2YWwgPSByZXF1ZXN0X2lycShpcnEsIHB4YTJ4eF91ZGNfaXJxLAorCXJldHZhbCA9IHJlcXVlc3RfaXJxKGlycSwgcHhhMjV4X3VkY19pcnEsCiAJCQlJUlFGX0RJU0FCTEVELCBkcml2ZXJfbmFtZSwgZGV2KTsKIAlpZiAocmV0dmFsICE9IDApIHsKIAkJcHJfZXJyKCIlczogY2FuJ3QgZ2V0IGlycSAlZCwgZXJyICVkXG4iLApAQCAtMjI2MCwxNCArMjI2NSwxNCBAQAogCXJldHVybiByZXR2YWw7CiB9CiAKLXN0YXRpYyB2b2lkIHB4YTJ4eF91ZGNfc2h1dGRvd24oc3RydWN0IHBsYXRmb3JtX2RldmljZSAqX2RldikKK3N0YXRpYyB2b2lkIHB4YTI1eF91ZGNfc2h1dGRvd24oc3RydWN0IHBsYXRmb3JtX2RldmljZSAqX2RldikKIHsKIAlwdWxsdXBfb2ZmKCk7CiB9CiAKLXN0YXRpYyBpbnQgX19leGl0IHB4YTJ4eF91ZGNfcmVtb3ZlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCitzdGF0aWMgaW50IF9fZXhpdCBweGEyNXhfdWRjX3JlbW92ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQogewotCXN0cnVjdCBweGEyeHhfdWRjICpkZXYgPSBwbGF0Zm9ybV9nZXRfZHJ2ZGF0YShwZGV2KTsKKwlzdHJ1Y3QgcHhhMjV4X3VkYyAqZGV2ID0gcGxhdGZvcm1fZ2V0X2RydmRhdGEocGRldik7CiAKIAlpZiAoZGV2LT5kcml2ZXIpCiAJCXJldHVybiAtRUJVU1k7CkBAIC0yMzE3LDkgKzIzMjIsOSBAQAogICogVkJVUyBJUlFzIHNob3VsZCBwcm9iYWJseSBiZSBpZ25vcmVkIHNvIHRoYXQgdGhlIFBYQSBkZXZpY2UganVzdCBhY3RzCiAgKiAiZGVhZCIgdG8gVVNCIGhvc3RzIHVudGlsIHN5c3RlbSByZXN1bWUuCiAgKi8KLXN0YXRpYyBpbnQgcHhhMnh4X3VkY19zdXNwZW5kKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKmRldiwgcG1fbWVzc2FnZV90IHN0YXRlKQorc3RhdGljIGludCBweGEyNXhfdWRjX3N1c3BlbmQoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqZGV2LCBwbV9tZXNzYWdlX3Qgc3RhdGUpCiB7Ci0Jc3RydWN0IHB4YTJ4eF91ZGMJKnVkYyA9IHBsYXRmb3JtX2dldF9kcnZkYXRhKGRldik7CisJc3RydWN0IHB4YTI1eF91ZGMJKnVkYyA9IHBsYXRmb3JtX2dldF9kcnZkYXRhKGRldik7CiAJdW5zaWduZWQgbG9uZyBmbGFnczsKIAogCWlmICghdWRjLT5tYWNoLT5ncGlvX3B1bGx1cCAmJiAhdWRjLT5tYWNoLT51ZGNfY29tbWFuZCkKQEAgLTIzMzMsOSArMjMzOCw5IEBACiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgcHhhMnh4X3VkY19yZXN1bWUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqZGV2KQorc3RhdGljIGludCBweGEyNXhfdWRjX3Jlc3VtZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpkZXYpCiB7Ci0Jc3RydWN0IHB4YTJ4eF91ZGMJKnVkYyA9IHBsYXRmb3JtX2dldF9kcnZkYXRhKGRldik7CisJc3RydWN0IHB4YTI1eF91ZGMJKnVkYyA9IHBsYXRmb3JtX2dldF9kcnZkYXRhKGRldik7CiAJdW5zaWduZWQgbG9uZyBmbGFnczsKIAogCXVkYy0+c3VzcGVuZGVkID0gMDsKQEAgLTIzNDcsMjcgKzIzNTIsMjcgQEAKIH0KIAogI2Vsc2UKLSNkZWZpbmUJcHhhMnh4X3VkY19zdXNwZW5kCU5VTEwKLSNkZWZpbmUJcHhhMnh4X3VkY19yZXN1bWUJTlVMTAorI2RlZmluZQlweGEyNXhfdWRjX3N1c3BlbmQJTlVMTAorI2RlZmluZQlweGEyNXhfdWRjX3Jlc3VtZQlOVUxMCiAjZW5kaWYKIAogLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KIAogc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kcml2ZXIgdWRjX2RyaXZlciA9IHsKLQkuc2h1dGRvd24JPSBweGEyeHhfdWRjX3NodXRkb3duLAotCS5yZW1vdmUJCT0gX19leGl0X3AocHhhMnh4X3VkY19yZW1vdmUpLAotCS5zdXNwZW5kCT0gcHhhMnh4X3VkY19zdXNwZW5kLAotCS5yZXN1bWUJCT0gcHhhMnh4X3VkY19yZXN1bWUsCisJLnNodXRkb3duCT0gcHhhMjV4X3VkY19zaHV0ZG93biwKKwkucmVtb3ZlCQk9IF9fZXhpdF9wKHB4YTI1eF91ZGNfcmVtb3ZlKSwKKwkuc3VzcGVuZAk9IHB4YTI1eF91ZGNfc3VzcGVuZCwKKwkucmVzdW1lCQk9IHB4YTI1eF91ZGNfcmVzdW1lLAogCS5kcml2ZXIJCT0gewogCQkub3duZXIJPSBUSElTX01PRFVMRSwKLQkJLm5hbWUJPSAicHhhMnh4LXVkYyIsCisJCS5uYW1lCT0gInB4YTI1eC11ZGMiLAogCX0sCiB9OwogCiBzdGF0aWMgaW50IF9faW5pdCB1ZGNfaW5pdCh2b2lkKQogewogCXByX2luZm8oIiVzOiB2ZXJzaW9uICVzXG4iLCBkcml2ZXJfbmFtZSwgRFJJVkVSX1ZFUlNJT04pOwotCXJldHVybiBwbGF0Zm9ybV9kcml2ZXJfcHJvYmUoJnVkY19kcml2ZXIsIHB4YTJ4eF91ZGNfcHJvYmUpOworCXJldHVybiBwbGF0Zm9ybV9kcml2ZXJfcHJvYmUoJnVkY19kcml2ZXIsIHB4YTI1eF91ZGNfcHJvYmUpOwogfQogbW9kdWxlX2luaXQodWRjX2luaXQpOwogCkBAIC0yMzgwLDQgKzIzODUsNCBAQAogTU9EVUxFX0RFU0NSSVBUSU9OKERSSVZFUl9ERVNDKTsKIE1PRFVMRV9BVVRIT1IoIkZyYW5rIEJlY2tlciwgUm9iZXJ0IFNjaHdlYmVsLCBEYXZpZCBCcm93bmVsbCIpOwogTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOwotTU9EVUxFX0FMSUFTKCJwbGF0Zm9ybTpweGEyeHgtdWRjIik7CitNT0RVTEVfQUxJQVMoInBsYXRmb3JtOnB4YTI1eC11ZGMiKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL2dhZGdldC9weGEyeHhfdWRjLmggYi9kcml2ZXJzL3VzYi9nYWRnZXQvcHhhMjV4X3VkYy5oCnNpbWlsYXJpdHkgaW5kZXggOTIlCnJlbmFtZSBmcm9tIGRyaXZlcnMvdXNiL2dhZGdldC9weGEyeHhfdWRjLmgKcmVuYW1lIHRvIGRyaXZlcnMvdXNiL2dhZGdldC9weGEyNXhfdWRjLmgKaW5kZXggZTJjMTllOC4uNGQxMWVjZSAxMDA2NDQKLS0tIGEvZHJpdmVycy91c2IvZ2FkZ2V0L3B4YTJ4eF91ZGMuaAorKysgYi9kcml2ZXJzL3VzYi9nYWRnZXQvcHhhMjV4X3VkYy5oCkBAIC0xLDYgKzEsNSBAQAogLyoKLSAqIGxpbnV4L2RyaXZlcnMvdXNiL2dhZGdldC9weGEyeHhfdWRjLmgKLSAqIEludGVsIFBYQTJ4eCBvbi1jaGlwIGZ1bGwgc3BlZWQgVVNCIGRldmljZSBjb250cm9sbGVyCisgKiBJbnRlbCBQWEEyNXggb24tY2hpcCBmdWxsIHNwZWVkIFVTQiBkZXZpY2UgY29udHJvbGxlcgogICoKICAqIENvcHlyaWdodCAoQykgMjAwMyBSb2JlcnQgU2Nod2ViZWwgPHIuc2Nod2ViZWxAcGVuZ3V0cm9uaXguZGU+LCBQZW5ndXRyb25peAogICogQ29weXJpZ2h0IChDKSAyMDAzIERhdmlkIEJyb3duZWxsCkBAIC0yMSwxNCArMjAsMTQgQEAKICAqIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3ICBVU0EKICAqLwogCi0jaWZuZGVmIF9fTElOVVhfVVNCX0dBREdFVF9QWEEyWFhfSAotI2RlZmluZSBfX0xJTlVYX1VTQl9HQURHRVRfUFhBMlhYX0gKKyNpZm5kZWYgX19MSU5VWF9VU0JfR0FER0VUX1BYQTI1WF9ICisjZGVmaW5lIF9fTElOVVhfVVNCX0dBREdFVF9QWEEyNVhfSAogCiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KIAogLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KIAotLyogcHhhMnh4IGhhcyB0aGlzIChtb3ZlIHRvIGluY2x1ZGUvYXNtLWFybS9hcmNoLXB4YS9weGEtcmVncy5oKSAqLworLyogcHhhMjV4IGhhcyB0aGlzIChtb3ZlIHRvIGluY2x1ZGUvYXNtLWFybS9hcmNoLXB4YS9weGEtcmVncy5oKSAqLwogI2RlZmluZSBVRk5SSF9TSVIJKDEgPDwgNykJLyogU09GIGludGVycnVwdCByZXF1ZXN0ICovCiAjZGVmaW5lIFVGTlJIX1NJTQkoMSA8PCA2KQkvKiBTT0YgaW50ZXJydXB0IG1hc2sgKi8KICNkZWZpbmUgVUZOUkhfSVBFMTQJKDEgPDwgNSkJLyogSVNPIHBhY2tldCBlcnJvciwgZXAxNCAqLwpAQCAtNDUsMTEgKzQ0LDExIEBACiAKIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAKLXN0cnVjdCBweGEyeHhfdWRjOworc3RydWN0IHB4YTI1eF91ZGM7CiAKLXN0cnVjdCBweGEyeHhfZXAgeworc3RydWN0IHB4YTI1eF9lcCB7CiAJc3RydWN0IHVzYl9lcAkJCQllcDsKLQlzdHJ1Y3QgcHhhMnh4X3VkYwkJCSpkZXY7CisJc3RydWN0IHB4YTI1eF91ZGMJCQkqZGV2OwogCiAJY29uc3Qgc3RydWN0IHVzYl9lbmRwb2ludF9kZXNjcmlwdG9yCSpkZXNjOwogCXN0cnVjdCBsaXN0X2hlYWQJCQlxdWV1ZTsKQEAgLTcyLDcgKzcxLDcgQEAKIAl2b2xhdGlsZSB1MzIJCQkJKnJlZ191ZGRyOwogfTsKIAotc3RydWN0IHB4YTJ4eF9yZXF1ZXN0IHsKK3N0cnVjdCBweGEyNXhfcmVxdWVzdCB7CiAJc3RydWN0IHVzYl9yZXF1ZXN0CQkJcmVxOwogCXN0cnVjdCBsaXN0X2hlYWQJCQlxdWV1ZTsKIH07CkBAIC05OCw3ICs5Nyw3IEBACiAJdW5zaWduZWQgbG9uZwkJCWlycXM7CiB9OwogCi0jaWZkZWYgQ09ORklHX1VTQl9QWEEyWFhfU01BTEwKKyNpZmRlZiBDT05GSUdfVVNCX1BYQTI1WF9TTUFMTAogLyogd2hlbiBtZW1vcnkncyB0aWdodCwgU01BTEwgY29uZmlnIHNhdmVzIGNvZGUrZGF0YS4gICovCiAjZGVmaW5lCVBYQV9VRENfTlVNX0VORFBPSU5UUwkzCiAjZW5kaWYKQEAgLTEwNyw3ICsxMDYsNyBAQAogI2RlZmluZQlQWEFfVURDX05VTV9FTkRQT0lOVFMJMTYKICNlbmRpZgogCi1zdHJ1Y3QgcHhhMnh4X3VkYyB7CitzdHJ1Y3QgcHhhMjV4X3VkYyB7CiAJc3RydWN0IHVzYl9nYWRnZXQJCQlnYWRnZXQ7CiAJc3RydWN0IHVzYl9nYWRnZXRfZHJpdmVyCQkqZHJpdmVyOwogCkBAIC0xMzAsNyArMTI5LDcgQEAKIAlzdHJ1Y3QgY2xrCQkJCSpjbGs7CiAJc3RydWN0IHB4YTJ4eF91ZGNfbWFjaF9pbmZvCQkqbWFjaDsKIAl1NjQJCQkJCWRtYV9tYXNrOwotCXN0cnVjdCBweGEyeHhfZXAJCQllcCBbUFhBX1VEQ19OVU1fRU5EUE9JTlRTXTsKKwlzdHJ1Y3QgcHhhMjV4X2VwCQkJZXAgW1BYQV9VRENfTlVNX0VORFBPSU5UU107CiAKICNpZmRlZiBDT05GSUdfVVNCX0dBREdFVF9ERUJVR19GUwogCXN0cnVjdCBkZW50cnkJCQkJKmRlYnVnZnNfdWRjOwpAQCAtMTQ0LDcgKzE0Myw3IEBACiAvKiBsdWJib2NrIGNhbiBhbHNvIHJlcG9ydCB1c2IgY29ubmVjdC9kaXNjb25uZWN0IGlycXMgKi8KICNlbmRpZgogCi1zdGF0aWMgc3RydWN0IHB4YTJ4eF91ZGMgKnRoZV9jb250cm9sbGVyOworc3RhdGljIHN0cnVjdCBweGEyNXhfdWRjICp0aGVfY29udHJvbGxlcjsKIAogLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KIApAQCAtMjA5LDcgKzIwOCw3IEBACiB9CiAKIHN0YXRpYyB2b2lkIF9fbWF5YmVfdW51c2VkCi1kdW1wX3N0YXRlKHN0cnVjdCBweGEyeHhfdWRjICpkZXYpCitkdW1wX3N0YXRlKHN0cnVjdCBweGEyNXhfdWRjICpkZXYpCiB7CiAJdTMyCQl0bXA7CiAJdW5zaWduZWQJaTsKQEAgLTI2NCw0ICsyNjMsNCBAQAogI2RlZmluZSBJTkZPKHN0dWZmLi4uKQkJcHJfaW5mbygidWRjOiAiIHN0dWZmKQogCiAKLSNlbmRpZiAvKiBfX0xJTlVYX1VTQl9HQURHRVRfUFhBMlhYX0ggKi8KKyNlbmRpZiAvKiBfX0xJTlVYX1VTQl9HQURHRVRfUFhBMjVYX0ggKi8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL2dhZGdldC9weGEyN3hfdWRjLmMgYi9kcml2ZXJzL3VzYi9nYWRnZXQvcHhhMjd4X3VkYy5jCmluZGV4IGUwMmJmZDQuLjljMGU4MmUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdXNiL2dhZGdldC9weGEyN3hfdWRjLmMKKysrIGIvZHJpdmVycy91c2IvZ2FkZ2V0L3B4YTI3eF91ZGMuYwpAQCAtMzgsNyArMzgsNyBAQAogI2luY2x1ZGUgPGxpbnV4L3VzYi5oPgogI2luY2x1ZGUgPGxpbnV4L3VzYi9jaDkuaD4KICNpbmNsdWRlIDxsaW51eC91c2IvZ2FkZ2V0Lmg+Ci0KKyNpbmNsdWRlIDxhc20vYXJjaC9weGEyeHgtcmVncy5oPiAvKiBGSVhNRTogZm9yIFBTU1IgKi8KICNpbmNsdWRlIDxhc20vYXJjaC91ZGMuaD4KIAogI2luY2x1ZGUgInB4YTI3eF91ZGMuaCIKQEAgLTIzNjAsMTggKzIzNjAsMTkgQEAKIAkgKiBTb2Z0d2FyZSBtdXN0IGNvbmZpZ3VyZSB0aGUgVVNCIE9URyBwYWQsIFVEQywgYW5kIFVIQwogCSAqIHRvIHRoZSBzdGF0ZSB0aGV5IHdlcmUgaW4gYmVmb3JlIGVudGVyaW5nIHNsZWVwIG1vZGUuCiAJICovCi0JUFNTUiB8PSBQU1NSX09UR1BIOworCWlmIChjcHVfaXNfcHhhMjd4KCkpCisJCVBTU1IgfD0gUFNTUl9PVEdQSDsKIAogCXJldHVybiAwOwogfQogI2VuZGlmCiAKIC8qIHdvcmsgd2l0aCBob3RwbHVnIGFuZCBjb2xkcGx1ZyAqLwotTU9EVUxFX0FMSUFTKCJwbGF0Zm9ybTpweGEyeHgtdWRjIik7CitNT0RVTEVfQUxJQVMoInBsYXRmb3JtOnB4YTI3eC11ZGMiKTsKIAogc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kcml2ZXIgdWRjX2RyaXZlciA9IHsKIAkuZHJpdmVyCQk9IHsKLQkJLm5hbWUJPSAicHhhMnh4LXVkYyIsCisJCS5uYW1lCT0gInB4YTI3eC11ZGMiLAogCQkub3duZXIJPSBUSElTX01PRFVMRSwKIAl9LAogCS5yZW1vdmUJCT0gX19leGl0X3AocHhhX3VkY19yZW1vdmUpLApkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2IvZ2FkZ2V0L3B4YTI3eF91ZGMuaCBiL2RyaXZlcnMvdXNiL2dhZGdldC9weGEyN3hfdWRjLmgKaW5kZXggOTc0NTNkYi4uMWQxYjc5MzYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdXNiL2dhZGdldC9weGEyN3hfdWRjLmgKKysrIGIvZHJpdmVycy91c2IvZ2FkZ2V0L3B4YTI3eF91ZGMuaApAQCAtNDg0LDEyICs0ODQsNCBAQAogI2RlZmluZSBlcF93YXJuKGVwLCBmbXQsIGFyZy4uLikgXAogCWRldl93YXJuKGVwLT5kZXYtPmRldiwgIiVzOiVzOiIgZm10LCBFUE5BTUUoZXApLCBfX2Z1bmNfXywgIyMgYXJnKQogCi0vKgotICogQ2Fubm90IGluY2x1ZGUgcHhhLXJlZ3MuaCwgYXMgcmVnaXN0ZXIgbmFtZXMgYXJlIHNpbWlsYXIuCi0gKiBTbyBQU1NSIGlzIHJlZGVmaW5lZCBoZXJlLiBUaGlzIHNob3VsZCBiZSByZW1vdmVkIG9uY2UgVURDIHJlZ2lzdGVycyB3aWxsCi0gKiBiZSBnb25lIGZyb20gcHhhLXJlZ3MuaC4KLSAqLwotI2RlZmluZSBQU1NSCQlfX1JFRygweDQwRjAwMDA0KQkvKiBQb3dlciBNYW5hZ2VyIFNsZWVwIFN0YXR1cyAqLwotI2RlZmluZSBQU1NSX09UR1BICSgxIDw8IDYpCQkvKiBPVEcgUGVyaXBoZXJhbCBIb2xkICovCi0KICNlbmRpZiAvKiBfX0xJTlVYX1VTQl9HQURHRVRfUFhBMjdYX0ggKi8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL2hvc3Qvb2hjaS1vbWFwLmMgYi9kcml2ZXJzL3VzYi9ob3N0L29oY2ktb21hcC5jCmluZGV4IDNhN2MyNGMuLmExOWE0ZjggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdXNiL2hvc3Qvb2hjaS1vbWFwLmMKKysrIGIvZHJpdmVycy91c2IvaG9zdC9vaGNpLW9tYXAuYwpAQCAtMTY5LDEzICsxNjksMTYgQEAKIHsKIAljb25zdCB1bnNpZ25lZAlwb3J0ID0gb2hjaV90b19oY2Qob2hjaSktPnNlbGYub3RnX3BvcnQgLSAxOwogCXVuc2lnbmVkIGxvbmcJZmxhZ3M7CisJdTMyIGw7CiAKIAlvdGdfc3RhcnRfaG5wKG9oY2ktPnRyYW5zY2VpdmVyKTsKIAogCWxvY2FsX2lycV9zYXZlKGZsYWdzKTsKIAlvaGNpLT50cmFuc2NlaXZlci0+c3RhdGUgPSBPVEdfU1RBVEVfQV9TVVNQRU5EOwogCXdyaXRlbCAoUkhfUFNfUFNTLCAmb2hjaS0+cmVncy0+cm9vdGh1Yi5wb3J0c3RhdHVzIFtwb3J0XSk7Ci0JT1RHX0NUUkxfUkVHICY9IH5PVEdfQV9CVVNSRVE7CisJbCA9IG9tYXBfcmVhZGwoT1RHX0NUUkwpOworCWwgJj0gfk9UR19BX0JVU1JFUTsKKwlvbWFwX3dyaXRlbChsLCBPVEdfQ1RSTCk7CiAJbG9jYWxfaXJxX3Jlc3RvcmUoZmxhZ3MpOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9ob3N0L29oY2ktcHhhMjd4LmMgYi9kcml2ZXJzL3VzYi9ob3N0L29oY2ktcHhhMjd4LmMKaW5kZXggZDRlZTI3ZC4uMTI3YjE1NyAxMDA2NDQKLS0tIGEvZHJpdmVycy91c2IvaG9zdC9vaGNpLXB4YTI3eC5jCisrKyBiL2RyaXZlcnMvdXNiL2hvc3Qvb2hjaS1weGEyN3guYwpAQCAtMjcsNiArMjcsNyBAQAogI2luY2x1ZGUgPGFzbS9tYWNoLXR5cGVzLmg+CiAjaW5jbHVkZSA8YXNtL2hhcmR3YXJlLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvcHhhLXJlZ3MuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9weGEyeHgtcmVncy5oPiAvKiBGSVhNRTogZm9yIFBTU1IgKi8KICNpbmNsdWRlIDxhc20vYXJjaC9vaGNpLmg+CiAKICNkZWZpbmUgUFhBX1VIQ19NQVhfUE9SVE5VTSAgICAzCkBAIC0xMDQsNyArMTA1LDcgQEAKIAlVSENISUUgPSAoVUhDSElFX1VQUklFIHwgVUhDSElFX1JXSUUpOwogCiAJLyogQ2xlYXIgYW55IE9URyBQaW4gSG9sZCAqLwotCWlmIChQU1NSICYgUFNTUl9PVEdQSCkKKwlpZiAoY3B1X2lzX3B4YTI3eCgpICYmIChQU1NSICYgUFNTUl9PVEdQSCkpCiAJCVBTU1IgfD0gUFNTUl9PVEdQSDsKIAogCXJldHVybiAwOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2IvbWlzYy9lbWkyNi5jIGIvZHJpdmVycy91c2IvbWlzYy9lbWkyNi5jCmluZGV4IDRiOWRjODEuLjRiOTk0YTAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdXNiL21pc2MvZW1pMjYuYworKysgYi9kcml2ZXJzL3VzYi9taXNjL2VtaTI2LmMKQEAgLTE2LDE4ICsxNiw4IEBACiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgogI2luY2x1ZGUgPGxpbnV4L3VzYi5oPgogI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+Ci0KLSNkZWZpbmUgTUFYX0lOVEVMX0hFWF9SRUNPUkRfTEVOR1RIIDE2Ci10eXBlZGVmIHN0cnVjdCBfSU5URUxfSEVYX1JFQ09SRAotewotCV9fdTMyCWxlbmd0aDsKLQlfX3UzMglhZGRyZXNzOwotCV9fdTMyCXR5cGU7Ci0JX191OAlkYXRhW01BWF9JTlRFTF9IRVhfUkVDT1JEX0xFTkdUSF07Ci19IElOVEVMX0hFWF9SRUNPUkQsICpQSU5URUxfSEVYX1JFQ09SRDsKLQotLyogaW5jbHVkZSBmaXJtd2FyZSAodmFyaWFibGVzKSAqLwotI2luY2x1ZGUgImVtaTI2X2Z3LmgiCisjaW5jbHVkZSA8bGludXgvZmlybXdhcmUuaD4KKyNpbmNsdWRlIDxsaW51eC9paGV4Lmg+CiAKICNkZWZpbmUgRU1JMjZfVkVORE9SX0lEIAkJMHgwODZhICAvKiBFbWFnaWMgU29mdC11bmQgSGFyZHdhcmUgR21CSCAqLwogI2RlZmluZSBFTUkyNl9QUk9EVUNUX0lECQkweDAxMDAJLyogRU1JIDJ8NiB3aXRob3V0IGZpcm13YXJlICovCkBAIC00MCw3ICszMCw5IEBACiAjZGVmaW5lIENQVUNTX1JFRwkJMHg3RjkyICAvKiBFWi1VU0IgQ29udHJvbCBhbmQgU3RhdHVzIFJlZ2lzdGVyLiAgQml0IDAgY29udHJvbHMgODA1MSByZXNldCAqLyAKICNkZWZpbmUgSU5URVJOQUxfUkFNKGFkZHJlc3MpICAgKGFkZHJlc3MgPD0gTUFYX0lOVEVSTkFMX0FERFJFU1MpCiAKLXN0YXRpYyBpbnQgZW1pMjZfd3JpdGVtZW1vcnkoIHN0cnVjdCB1c2JfZGV2aWNlICpkZXYsIGludCBhZGRyZXNzLCB1bnNpZ25lZCBjaGFyICpkYXRhLCBpbnQgbGVuZ3RoLCBfX3U4IGJSZXF1ZXN0KTsKK3N0YXRpYyBpbnQgZW1pMjZfd3JpdGVtZW1vcnkoIHN0cnVjdCB1c2JfZGV2aWNlICpkZXYsIGludCBhZGRyZXNzLAorCQkJICAgICAgY29uc3QgdW5zaWduZWQgY2hhciAqZGF0YSwgaW50IGxlbmd0aCwKKwkJCSAgICAgIF9fdTggYlJlcXVlc3QpOwogc3RhdGljIGludCBlbWkyNl9zZXRfcmVzZXQoc3RydWN0IHVzYl9kZXZpY2UgKmRldiwgdW5zaWduZWQgY2hhciByZXNldF9iaXQpOwogc3RhdGljIGludCBlbWkyNl9sb2FkX2Zpcm13YXJlIChzdHJ1Y3QgdXNiX2RldmljZSAqZGV2KTsKIHN0YXRpYyBpbnQgZW1pMjZfcHJvYmUoc3RydWN0IHVzYl9pbnRlcmZhY2UgKmludGYsIGNvbnN0IHN0cnVjdCB1c2JfZGV2aWNlX2lkICppZCk7CkBAIC01MCw3ICs0Miw5IEBACiAKIAogLyogdGhhbmtzIHRvIGRyaXZlcnMvdXNiL3NlcmlhbC9rZXlzcGFuX3BkYS5jIGNvZGUgKi8KLXN0YXRpYyBpbnQgZW1pMjZfd3JpdGVtZW1vcnkgKHN0cnVjdCB1c2JfZGV2aWNlICpkZXYsIGludCBhZGRyZXNzLCB1bnNpZ25lZCBjaGFyICpkYXRhLCBpbnQgbGVuZ3RoLCBfX3U4IHJlcXVlc3QpCitzdGF0aWMgaW50IGVtaTI2X3dyaXRlbWVtb3J5IChzdHJ1Y3QgdXNiX2RldmljZSAqZGV2LCBpbnQgYWRkcmVzcywKKwkJCSAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmRhdGEsIGludCBsZW5ndGgsCisJCQkgICAgICBfX3U4IHJlcXVlc3QpCiB7CiAJaW50IHJlc3VsdDsKIAl1bnNpZ25lZCBjaGFyICpidWZmZXIgPSAga21lbWR1cChkYXRhLCBsZW5ndGgsIEdGUF9LRVJORUwpOwpAQCAtODMsOSArNzcsMTIgQEAKIAogc3RhdGljIGludCBlbWkyNl9sb2FkX2Zpcm13YXJlIChzdHJ1Y3QgdXNiX2RldmljZSAqZGV2KQogeworCWNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqbG9hZGVyX2Z3ID0gTlVMTDsKKwljb25zdCBzdHJ1Y3QgZmlybXdhcmUgKmJpdHN0cmVhbV9mdyA9IE5VTEw7CisJY29uc3Qgc3RydWN0IGZpcm13YXJlICpmaXJtd2FyZV9mdyA9IE5VTEw7CisJY29uc3Qgc3RydWN0IGloZXhfYmlucmVjICpyZWM7CiAJaW50IGVycjsKIAlpbnQgaTsKLQlpbnQgcG9zID0gMDsJLyogUG9zaXRpb24gaW4gaGV4IHJlY29yZCAqLwogCV9fdTMyIGFkZHI7CS8qIEFkZHJlc3MgdG8gd3JpdGUgKi8KIAlfX3U4ICpidWY7CiAKQEAgLTk2LDYgKzkzLDIzIEBACiAJCWdvdG8gd3JhcGVycjsKIAl9CiAKKwllcnIgPSByZXF1ZXN0X2loZXhfZmlybXdhcmUoJmxvYWRlcl9mdywgImVtaTI2L2xvYWRlci5mdyIsICZkZXYtPmRldik7CisJaWYgKGVycikKKwkJZ290byBub2Z3OworCisJZXJyID0gcmVxdWVzdF9paGV4X2Zpcm13YXJlKCZiaXRzdHJlYW1fZncsICJlbWkyNi9iaXRzdHJlYW0uZnciLAorCQkJCSAgICAmZGV2LT5kZXYpOworCWlmIChlcnIpCisJCWdvdG8gbm9mdzsKKworCWVyciA9IHJlcXVlc3RfaWhleF9maXJtd2FyZSgmZmlybXdhcmVfZncsICJlbWkyNi9maXJtd2FyZS5mdyIsCisJCQkJICAgICZkZXYtPmRldik7CisJaWYgKGVycikgeworCW5vZnc6CisJCWVyciggIiVzIC0gcmVxdWVzdF9maXJtd2FyZSgpIGZhaWxlZCIsIF9fZnVuY19fKTsKKwkJZ290byB3cmFwZXJyOworCX0KKwogCS8qIEFzc2VydCByZXNldCAoc3RvcCB0aGUgQ1BVIGluIHRoZSBFTUkpICovCiAJZXJyID0gZW1pMjZfc2V0X3Jlc2V0KGRldiwxKTsKIAlpZiAoZXJyIDwgMCkgewpAQCAtMTAzLDEzICsxMTcsMTcgQEAKIAkJZ290byB3cmFwZXJyOwogCX0KIAorCXJlYyA9IChjb25zdCBzdHJ1Y3QgaWhleF9iaW5yZWMgKilsb2FkZXJfZnctPmRhdGE7CiAJLyogMS4gV2UgbmVlZCB0byBwdXQgdGhlIGxvYWRlciBmb3IgdGhlIEZQR0EgaW50byB0aGUgRVotVVNCICovCi0JZm9yIChpPTA7IGdfTG9hZGVyW2ldLnR5cGUgPT0gMDsgaSsrKSB7Ci0JCWVyciA9IGVtaTI2X3dyaXRlbWVtb3J5KGRldiwgZ19Mb2FkZXJbaV0uYWRkcmVzcywgZ19Mb2FkZXJbaV0uZGF0YSwgZ19Mb2FkZXJbaV0ubGVuZ3RoLCBBTkNIT1JfTE9BRF9JTlRFUk5BTCk7CisJd2hpbGUgKHJlYykgeworCQllcnIgPSBlbWkyNl93cml0ZW1lbW9yeShkZXYsIGJlMzJfdG9fY3B1KHJlYy0+YWRkciksCisJCQkJCXJlYy0+ZGF0YSwgYmUxNl90b19jcHUocmVjLT5sZW4pLAorCQkJCQlBTkNIT1JfTE9BRF9JTlRFUk5BTCk7CiAJCWlmIChlcnIgPCAwKSB7CiAJCQllcnIoIiVzIC0gZXJyb3IgbG9hZGluZyBmaXJtd2FyZTogZXJyb3IgPSAlZCIsIF9fZnVuY19fLCBlcnIpOwogCQkJZ290byB3cmFwZXJyOwogCQl9CisJCXJlYyA9IGloZXhfbmV4dF9iaW5yZWMocmVjKTsKIAl9CiAKIAkvKiBEZS1hc3NlcnQgcmVzZXQgKGxldCB0aGUgQ1BVIHJ1bikgKi8KQEAgLTEyMywxNSArMTQxLDE2IEBACiAJLyogMi4gV2UgdXBsb2FkIHRoZSBGUEdBIGZpcm13YXJlIGludG8gdGhlIEVNSQogCSAqIE5vdGU6IGNvbGxlY3QgdXAgdG8gMTAyMyAoeWVzISkgYnl0ZXMgYW5kIHNlbmQgdGhlbSB3aXRoCiAJICogYSBzaW5nbGUgcmVxdWVzdC4gVGhpcyBpcyBfbXVjaF8gZmFzdGVyISAqLworCXJlYyA9IChjb25zdCBzdHJ1Y3QgaWhleF9iaW5yZWMgKiliaXRzdHJlYW1fZnctPmRhdGE7CiAJZG8gewogCQlpID0gMDsKLQkJYWRkciA9IGdfYml0c3RyZWFtW3Bvc10uYWRkcmVzczsKKwkJYWRkciA9IGJlMzJfdG9fY3B1KHJlYy0+YWRkcik7CiAKIAkJLyogaW50ZWwgaGV4IHJlY29yZHMgYXJlIHRlcm1pbmF0ZWQgd2l0aCB0eXBlIDAgZWxlbWVudCAqLwotCQl3aGlsZSAoKGdfYml0c3RyZWFtW3Bvc10udHlwZSA9PSAwKSAmJiAoaSArIGdfYml0c3RyZWFtW3Bvc10ubGVuZ3RoIDwgRldfTE9BRF9TSVpFKSkgewotCQkJbWVtY3B5KGJ1ZiArIGksIGdfYml0c3RyZWFtW3Bvc10uZGF0YSwgZ19iaXRzdHJlYW1bcG9zXS5sZW5ndGgpOwotCQkJaSArPSBnX2JpdHN0cmVhbVtwb3NdLmxlbmd0aDsKLQkJCXBvcysrOworCQl3aGlsZSAocmVjICYmIChpICsgYmUxNl90b19jcHUocmVjLT5sZW4pIDwgRldfTE9BRF9TSVpFKSkgeworCQkJbWVtY3B5KGJ1ZiArIGksIHJlYy0+ZGF0YSwgYmUxNl90b19jcHUocmVjLT5sZW4pKTsKKwkJCWkgKz0gYmUxNl90b19jcHUocmVjLT5sZW4pOworCQkJcmVjID0gaWhleF9uZXh0X2JpbnJlYyhyZWMpOwogCQl9CiAJCWVyciA9IGVtaTI2X3dyaXRlbWVtb3J5KGRldiwgYWRkciwgYnVmLCBpLCBBTkNIT1JfTE9BRF9GUEdBKTsKIAkJaWYgKGVyciA8IDApIHsKQEAgLTE0OCw4ICsxNjcsMTEgQEAKIAl9CiAKIAkvKiAzLiBXZSBuZWVkIHRvIHB1dCB0aGUgbG9hZGVyIGZvciB0aGUgZmlybXdhcmUgaW50byB0aGUgRVotVVNCIChhZ2Fpbi4uLikgKi8KLQlmb3IgKGk9MDsgZ19Mb2FkZXJbaV0udHlwZSA9PSAwOyBpKyspIHsKLQkJZXJyID0gZW1pMjZfd3JpdGVtZW1vcnkoZGV2LCBnX0xvYWRlcltpXS5hZGRyZXNzLCBnX0xvYWRlcltpXS5kYXRhLCBnX0xvYWRlcltpXS5sZW5ndGgsIEFOQ0hPUl9MT0FEX0lOVEVSTkFMKTsKKwlmb3IgKHJlYyA9IChjb25zdCBzdHJ1Y3QgaWhleF9iaW5yZWMgKilsb2FkZXJfZnctPmRhdGE7CisJICAgICByZWM7IHJlYyA9IGloZXhfbmV4dF9iaW5yZWMocmVjKSkgeworCQllcnIgPSBlbWkyNl93cml0ZW1lbW9yeShkZXYsIGJlMzJfdG9fY3B1KHJlYy0+YWRkciksCisJCQkJCXJlYy0+ZGF0YSwgYmUxNl90b19jcHUocmVjLT5sZW4pLAorCQkJCQlBTkNIT1JfTE9BRF9JTlRFUk5BTCk7CiAJCWlmIChlcnIgPCAwKSB7CiAJCQllcnIoIiVzIC0gZXJyb3IgbG9hZGluZyBmaXJtd2FyZTogZXJyb3IgPSAlZCIsIF9fZnVuY19fLCBlcnIpOwogCQkJZ290byB3cmFwZXJyOwpAQCAtMTY1LDkgKzE4NywxMyBAQAogCX0KIAogCS8qIDQuIFdlIHB1dCB0aGUgcGFydCBvZiB0aGUgZmlybXdhcmUgdGhhdCBsaWVzIGluIHRoZSBleHRlcm5hbCBSQU0gaW50byB0aGUgRVotVVNCICovCi0JZm9yIChpPTA7IGdfRmlybXdhcmVbaV0udHlwZSA9PSAwOyBpKyspIHsKLQkJaWYgKCFJTlRFUk5BTF9SQU0oZ19GaXJtd2FyZVtpXS5hZGRyZXNzKSkgewotCQkJZXJyID0gZW1pMjZfd3JpdGVtZW1vcnkoZGV2LCBnX0Zpcm13YXJlW2ldLmFkZHJlc3MsIGdfRmlybXdhcmVbaV0uZGF0YSwgZ19GaXJtd2FyZVtpXS5sZW5ndGgsIEFOQ0hPUl9MT0FEX0VYVEVSTkFMKTsKKworCWZvciAocmVjID0gKGNvbnN0IHN0cnVjdCBpaGV4X2JpbnJlYyAqKWZpcm13YXJlX2Z3LT5kYXRhOworCSAgICAgcmVjOyByZWMgPSBpaGV4X25leHRfYmlucmVjKHJlYykpIHsKKwkJaWYgKCFJTlRFUk5BTF9SQU0oYmUzMl90b19jcHUocmVjLT5hZGRyKSkpIHsKKwkJCWVyciA9IGVtaTI2X3dyaXRlbWVtb3J5KGRldiwgYmUzMl90b19jcHUocmVjLT5hZGRyKSwKKwkJCQkJCXJlYy0+ZGF0YSwgYmUxNl90b19jcHUocmVjLT5sZW4pLAorCQkJCQkJQU5DSE9SX0xPQURfRVhURVJOQUwpOwogCQkJaWYgKGVyciA8IDApIHsKIAkJCQllcnIoIiVzIC0gZXJyb3IgbG9hZGluZyBmaXJtd2FyZTogZXJyb3IgPSAlZCIsIF9fZnVuY19fLCBlcnIpOwogCQkJCWdvdG8gd3JhcGVycjsKQEAgLTE4Miw5ICsyMDgsMTIgQEAKIAkJZ290byB3cmFwZXJyOwogCX0KIAotCWZvciAoaT0wOyBnX0Zpcm13YXJlW2ldLnR5cGUgPT0gMDsgaSsrKSB7Ci0JCWlmIChJTlRFUk5BTF9SQU0oZ19GaXJtd2FyZVtpXS5hZGRyZXNzKSkgewotCQkJZXJyID0gZW1pMjZfd3JpdGVtZW1vcnkoZGV2LCBnX0Zpcm13YXJlW2ldLmFkZHJlc3MsIGdfRmlybXdhcmVbaV0uZGF0YSwgZ19GaXJtd2FyZVtpXS5sZW5ndGgsIEFOQ0hPUl9MT0FEX0lOVEVSTkFMKTsKKwlmb3IgKHJlYyA9IChjb25zdCBzdHJ1Y3QgaWhleF9iaW5yZWMgKilmaXJtd2FyZV9mdy0+ZGF0YTsKKwkgICAgIHJlYzsgcmVjID0gaWhleF9uZXh0X2JpbnJlYyhyZWMpKSB7CisJCWlmIChJTlRFUk5BTF9SQU0oYmUzMl90b19jcHUocmVjLT5hZGRyKSkpIHsKKwkJCWVyciA9IGVtaTI2X3dyaXRlbWVtb3J5KGRldiwgYmUzMl90b19jcHUocmVjLT5hZGRyKSwKKwkJCQkJCXJlYy0+ZGF0YSwgYmUxNl90b19jcHUocmVjLT5sZW4pLAorCQkJCQkJQU5DSE9SX0xPQURfSU5URVJOQUwpOwogCQkJaWYgKGVyciA8IDApIHsKIAkJCQllcnIoIiVzIC0gZXJyb3IgbG9hZGluZyBmaXJtd2FyZTogZXJyb3IgPSAlZCIsIF9fZnVuY19fLCBlcnIpOwogCQkJCWdvdG8gd3JhcGVycjsKQEAgLTIwNSw2ICsyMzQsMTAgQEAKIAllcnIgPSAxOwogCiB3cmFwZXJyOgorCXJlbGVhc2VfZmlybXdhcmUobG9hZGVyX2Z3KTsKKwlyZWxlYXNlX2Zpcm13YXJlKGJpdHN0cmVhbV9mdyk7CisJcmVsZWFzZV9maXJtd2FyZShmaXJtd2FyZV9mdyk7CisKIAlrZnJlZShidWYpOwogCXJldHVybiBlcnI7CiB9CkBAIC0yNTcsNSArMjkwLDggQEAKIE1PRFVMRV9ERVNDUklQVElPTigiRW1hZ2ljIEVNSSAyfDYgZmlybXdhcmUgbG9hZGVyLiIpOwogTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOwogCitNT0RVTEVfRklSTVdBUkUoImVtaTI2L2xvYWRlci5mdyIpOworTU9EVUxFX0ZJUk1XQVJFKCJlbWkyNi9iaXRzdHJlYW0uZnciKTsKK01PRFVMRV9GSVJNV0FSRSgiZW1pMjYvZmlybXdhcmUuZnciKTsKIC8qIHZpOmFpOnN5bnRheD1jOnN3PTg6dHM9ODp0dz04MAogICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9taXNjL2VtaTI2X2Z3LmggYi9kcml2ZXJzL3VzYi9taXNjL2VtaTI2X2Z3LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE0N2ZmMTAuLjAwMDAwMDAKLS0tIGEvZHJpdmVycy91c2IvbWlzYy9lbWkyNl9mdy5oCisrKyAvZGV2L251bGwKQEAgLTEsNTc3OSArMCwwIEBACi0vKgotICogVGhpcyBmaWxlIGlzIGdlbmVyYXRlZCBmcm9tIHRocmVlIGRpZmZlcmVudCBmaWxlcywgcHJvdmlkZWQgYnkgRW1hZ2ljLgotICovCi0vKiBnZW5lcmF0ZWQgRnJpIE1hciA4IDE1OjExOjM1IEVFVCAyMDAyICovCi0KLS8qCi0gKiBUaGlzIGZpcm13YXJlIGlzIGZvciB0aGUgRW1hZ2ljIEVNSSAyfDYgQXVkaW8gSW50ZXJmYWNlCi0gKgotICogVGhlIGZpcm13YXJlIGNvbnRhaW5lZCBoZXJlaW4gaXMgQ29weXJpZ2h0IChjKSAxOTk5LTIwMDIgRW1hZ2ljCi0gKiBhcyBhbiB1bnB1Ymxpc2hlZCB3b3JrLiBUaGlzIG5vdGljZSBkb2VzIG5vdCBpbXBseSB1bnJlc3RyaWN0ZWQKLSAqIG9yIHB1YmxpYyBhY2Nlc3MgdG8gdGhpcyBmaXJtd2FyZSB3aGljaCBpcyBhIHRyYWRlIHNlY3JldCBvZiBFbWFnaWMsCi0gKiBhbmQgd2hpY2ggbWF5IG5vdCBiZSByZXByb2R1Y2VkLCB1c2VkLCBzb2xkIG9yIHRyYW5zZmVycmVkIHRvCi0gKiBhbnkgdGhpcmQgcGFydHkgd2l0aG91dCBFbWFnaWMncyB3cml0dGVuIGNvbnNlbnQuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCi0gKgotICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCBmb3IgdGhlIGRpc3RyaWJ1dGlvbiBvZiB0aGlzIGZpcm13YXJlIAotICogaW1hZ2UgYXMgcGFydCBvZiBhIExpbnV4IG9yIG90aGVyIE9wZW4gU291cmNlIG9wZXJhdGluZyBzeXN0ZW0ga2VybmVsIAotICogaW4gdGV4dCBvciBiaW5hcnkgZm9ybSBhcyByZXF1aXJlZC4gCi0gKgotICogVGhpcyBmaXJtd2FyZSBtYXkgbm90IGJlIG1vZGlmaWVkIGFuZCBtYXkgb25seSBiZSB1c2VkIHdpdGggdGhlCi0gKiBFbWFnaWMgRU1JIDJ8NiBBdWRpbyBJbnRlcmZhY2UuIERpc3RyaWJ1dGlvbiBhbmQvb3IgTW9kaWZpY2F0aW9uIG9mCi0gKiBhbnkgZHJpdmVyIHdoaWNoIGluY2x1ZGVzIHRoaXMgZmlybXdhcmUsIGluIHdob2xlIG9yIGluIHBhcnQsCi0gKiByZXF1aXJlcyB0aGUgaW5jbHVzaW9uIG9mIHRoaXMgc3RhdGVtZW50LgotICovCi1zdGF0aWMgSU5URUxfSEVYX1JFQ09SRCBnX2JpdHN0cmVhbVtdPXsKLXsgIDE2LCAweDgwMTAsIDAsIHsweGZmLDB4ZmYsMHhmZiwweGZmLDB4YWEsMHg5OSwweDU1LDB4NjYsMHgzMCwweDAwLDB4ODAsMHgwMSwweDAwLDB4MDAsMHgwMCwweDA3IH0gfSwKLXsgIDE2LCAweDgwMjAsIDAsIHsweDMwLDB4MDEsMHg2MCwweDAxLDB4MDAsMHgwMCwweDAwLDB4MGIsMHgzMCwweDAxLDB4MjAsMHgwMSwweDAwLDB4ODAsMHgzZiwweDJkIH0gfSwKLXsgIDE2LCAweDgwMzAsIDAsIHsweDMwLDB4MDAsMHhjMCwweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzMCwweDAwLDB4ODAsMHgwMSwweDAwLDB4MDAsMHgwMCwweDA5IH0gfSwKLXsgIDE2LCAweDgwNDAsIDAsIHsweDMwLDB4MDAsMHgyMCwweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzMCwweDAwLDB4ODAsMHgwMSwweDAwLDB4MDAsMHgwMCwweDAxIH0gfSwKLXsgIDE2LCAweDgwNTAsIDAsIHsweDMwLDB4MDAsMHg0MCwweDAwLDB4NTAsMHgwMCwweDNlLDB4MDQsMHgwOCwweDEyLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgwNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgwNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDA0IH0gfSwKLXsgIDE2LCAweDgwODAsIDAsIHsweDgwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDEyLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgwOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgwYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDg0IH0gfSwKLXsgIDE2LCAweDgwYjAsIDAsIHsweDgwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgwYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgwZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDAwIH0gfSwKLXsgIDE2LCAweDgwZTAsIDAsIHsweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgwZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgxMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgxMTAsIDAsIHsweDgwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDEyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgxMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgxMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA0IH0gfSwKLXsgIDE2LCAweDgxNDAsIDAsIHsweDgwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEzLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgxNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgxNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgxNzAsIDAsIHsweDkwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDEyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgxODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgxOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg0IH0gfSwKLXsgIDE2LCAweDgxYTAsIDAsIHsweDkwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhmNywweDEwLDB4MDEsMHgxNCwweDAwLDB4MjUsMHgwMCwweDA1IH0gfSwKLXsgIDE2LCAweDgxYjAsIDAsIHsweDQwLDB4MDEsMHg1MCwweDAwLDB4OTQsMHgwMCwweDE1LDB4MDAsMHgwNywweDQwLDB4MDEsMHhkMCwweDAwLDB4OTQsMHgwMCwweDI1IH0gfSwKLXsgIDE2LCAweDgxYzAsIDAsIHsweDgwLDB4MDEsMHg2MCwweDAyLDB4ZDgsMHgwMCwweGY2LDB4MDAsMHgyZiwweDgwLDB4MDIsMHhlMCwweDA0LDB4ZDgsMHgzNywweDQ0IH0gfSwKLXsgIDE2LCAweDgxZDAsIDAsIHsweDkwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZjIsMHgwMCwweGNjLDB4OTAsMHgzOSwweDIwIH0gfSwKLXsgIDE2LCAweDgxZTAsIDAsIHsweDBkLDB4OTgsMHgwMywweGQyLDB4MDAsMHhlNywweDgwLDB4MzcsMHgwNCwweDBlLDB4ZjEsMHg4MywweDdlLDB4MDAsMHhkZiwweDkwIH0gfSwKLXsgIDE2LCAweDgxZjAsIDAsIHsweDMxLDB4ZTQsMHg4ZiwweDc5LDB4MDMsMHg3YywweDIwLDB4ZGYsMHgyMiwweDMzLDB4YzAsMHgwYywweGYwLDB4MjIsMHgzMCwweDAwIH0gfSwKLXsgIDE2LCAweDgyMDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDEwLDB4NjIsMHgwMCwweDgwLDB4MjQsMHgyMiwweDIwIH0gfSwKLXsgIDE2LCAweDgyMTAsIDAsIHsweDA4LDB4OTgsMHgxMiwweGUyLDB4MDAsMHg4YiwweDgxLDB4MjAsMHg5NCwweDA4LDB4NzQsMHgwMiwweDJlLDB4MDAsMHg4YSwweDAxIH0gfSwKLXsgIDE2LCAweDgyMjAsIDAsIHsweDIyLDB4YzgsMHgwOCwweDkyLDB4MDIsMHgzZCwweDgwLDB4OGIsMHg2MCwweDIyLDB4ODAsMHgwOCwweGIwLDB4MDIsMHgyMCwweDA0IH0gfSwKLXsgIDE2LCAweDgyMzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4YzgsMHgwMCwweGEwLDB4MDAsMHgyMCwweDAwIH0gfSwKLXsgIDE2LCAweDgyNDAsIDAsIHsweDBiLDB4MTAsMHgwMiwweGMwLDB4MDAsMHhhMSwweDAwLDB4MjQsMHgwOSwweDRhLDB4MzIsMHgwMiwweDQ4LDB4MDAsMHhiMSwweDAwIH0gfSwKLXsgIDE2LCAweDgyNTAsIDAsIHsweDYyLDB4YzAsMHgwOSwweGEwLDB4NDYsMHhjYywweDI0LDB4OTMsMHg0OSwweDJhLDB4ODAsMHg0OCwweDMwLDB4MjIsMHg2MiwweDAxIH0gfSwKLXsgIDE2LCAweDgyNjAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDE1LDB4YTgsMHgxMiwweGE4LDB4MDAsMHgyMiwweDAwIH0gfSwKLXsgIDE2LCAweDgyNzAsIDAsIHsweDA4LDB4OTAsMHgwMiwweGUwLDB4MDAsMHg4OSwweDgwLDB4MjIsMHg0NCwweDA4LDB4YjAsMHgxMiwweGE4LDB4MDAsMHhhOSwweDQwIH0gfSwKLXsgIDE2LCAweDgyODAsIDAsIHsweDIyLDB4YzAsMHgwOCwweDkwLDB4ODIsMHhhYywweDAwLDB4OWIsMHgwNCwweDJhLDB4YzQsMHgwOCwweGIwLDB4MDIsMHg3MCwweDA0IH0gfSwKLXsgIDE2LCAweDgyOTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE0LDB4ODQsMHgwMCwweGU5LDB4ODAsMHhiMiwweDY0IH0gfSwKLXsgIDE2LCAweDgyYTAsIDAsIHsweDRkLDB4YTAsMHgwMywweGVhLDB4MjAsMHhlOSwweGMwLDB4MzYsMHg0MCwweDBlLDB4YjAsMHgwMywweDQ0LDB4MDAsMHhmYiwweDkwIH0gfSwKLXsgIDE2LCAweDgyYjAsIDAsIHsweGIyLDB4ODgsMHgwZCwweGJjLDB4MDMsMHhlYywweDA4LDB4NWIsMHgwMCwweDM4LDB4NjAsMHgyYywweGIwLDB4NjMsMHg0MCwweDA0IH0gfSwKLXsgIDE2LCAweDgyYzAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDAxLDB4YjQsMHgyNiwweGRkLDB4OTAsMHgzNywweDQwIH0gfSwKLXsgIDE2LCAweDgyZDAsIDAsIHsweDRmLDB4ZTAsMHgxMywweGYyLDB4ODAsMHhmZCwweDAwLDB4M2QsMHhhMCwweDBkLDB4NzAsMHgwMywweDc1LDB4MDAsMHg1ZSwweDAwIH0gfSwKLXsgIDE2LCAweDgyZTAsIDAsIHsweDNmLDB4YTQsMHgwZCwweGY5LDB4MDMsMHg1YywweDEwLDB4ZWIsMHgwMCwweDM3LDB4MjAsMHgwZiwweDMwLDB4MDMsMHhiOCwweDAwIH0gfSwKLXsgIDE2LCAweDgyZjAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YWMsMHgwMCwweGU5LDB4ODAsMHgzMiwweDQwIH0gfSwKLXsgIDE2LCAweDgzMDAsIDAsIHsweDBjLDB4YTEsMHg4MywweGU4LDB4MDAsMHhlOSwweDAwLDB4MzIsMHg0MiwweDBlLDB4YjAsMHgwMywweGFjLDB4NDgsMHhlOSwweDAwIH0gfSwKLXsgIDE2LCAweDgzMTAsIDAsIHsweDNhLDB4ODAsMHgwZSwweGE0LDB4MDMsMHhlYywweDAwLDB4ZWIsMHgwMCwweGIyLDB4MDMsMHgwZSwweGIwLDB4MGIsMHgxMCwweDA0IH0gfSwKLXsgIDE2LCAweDgzMjAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjOCwweDA1LDB4MmUsMHg4MCwweDg5LDB4ZDEsMHgyMCwweDQwIH0gfSwKLXsgIDE2LCAweDgzMzAsIDAsIHsweDA4LDB4YTAsMHgwMiwweGMwLDB4MDAsMHg4MSwweDgwLDB4MjIsMHg1OCwweDA4LDB4ZjUsMHgwMiwweDJmLDB4NDAsMHg4YiwweDAwIH0gfSwKLXsgIDE2LCAweDgzNDAsIDAsIHsweDIwLDB4YzAsMHgwOCwweDMwLDB4NDMsMHg3YywweDAwLDB4ODcsMHgwMCwweDIyLDB4NDAsMHgwOCwweGYwLDB4MDIsMHgzMiwweDAwIH0gfSwKLXsgIDE2LCAweDgzNTAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NDIsMHgwMSwweDlhLDB4NDQsMHgyOCwweGEyIH0gfSwKLXsgIDE2LCAweDgzNjAsIDAsIHsweDA4LDB4MTgsMHgwMiwweGMwLDB4ODAsMHhhMSwweDgwLDB4YTAsMHgwMCwweDA4LDB4MzAsMHgwMiwweDhlLDB4MDAsMHhhYiwweDAwIH0gfSwKLXsgIDE2LCAweDgzNzAsIDAsIHsweDJjLDB4NDAsMHgwYSwweDMwLDB4MDIsMHgwYywweDAwLDB4YTMsMHgwMCwweDIwLDB4NDQsMHgwYSwweDMwLDB4MDIsMHgzOCwweDAwIH0gfSwKLXsgIDE2LCAweDgzODAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg2MCwweDAxLDB4MzIsMHgwMCwweDk2LDB4ODIsMHgyYiwweGEyIH0gfSwKLXsgIDE2LCAweDgzOTAsIDAsIHsweDg4LDB4NWEsMHgwMiwweGYyLDB4MDAsMHgwNSwweDgwLDB4MjksMHhhMCwweDA4LDB4NzgsMHg0MiwweGJlLDB4MDAsMHg4ZSwweDg0IH0gfSwKLXsgIDE2LCAweDgzYTAsIDAsIHsweDJmLDB4NjEsMHgwYSwweGQ4LDB4MDIsMHg0ZSwweDEwLDB4YTcsMHg4MCwweDIwLDB4MjgsMHgwOCwweDc4LDB4MDIsMHgxOCwweDAwIH0gfSwKLXsgIDE2LCAweDgzYjAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MDgsMHgwMCwweGYyLDB4MjQsMHgzOCwweDgwIH0gfSwKLXsgIDE2LCAweDgzYzAsIDAsIHsweDJjLDB4MWEsMHgwMywweGM0LDB4MDAsMHhlMCwweDU4LDB4YTAsMHg4MCwweDJlLDB4MzAsMHgwMywweDg4LDB4NDEsMHhlMywweDAyIH0gfSwKLXsgIDE2LCAweDgzZDAsIDAsIHsweDNjLDB4NDAsMHgwNiwweDIwLDB4MDMsMHg4YywweDAwLDB4ZTMsMHgwMCwweDEwLDB4MDAsMHgwZSwweDMxLDB4NDMsMHgxMiwweDAyIH0gfSwKLXsgIDE2LCAweDgzZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDFkLDB4OTgsMHgwMCwweGVlLDB4MDEsMHgzNywweDg0IH0gfSwKLXsgIDE2LCAweDgzZjAsIDAsIHsweDlmLDB4ZDksMHgwMywweGYwLDB4NDgsMHhmZCwweDEwLDB4MzcsMHhjMCwweDA3LDB4YjAsMHgwMywweDVjLDB4MDAsMHhmNiwweDEwIH0gfSwKLXsgIDE2LCAweDg0MDAsIDAsIHsweDMzLDB4YzAsMHgwZCwweGUxLDB4MDMsMHhlZCwweDIwLDB4ZGYsMHgxMCwweDNmLDB4NDgsMHgwZiwweGYwLDB4MjMsMHhkMCwweDA2IH0gfSwKLXsgIDE2LCAweDg0MTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZTQsMHgwMiwweGNiLDB4ODAsMHgzMCwweGMwIH0gfSwKLXsgIDE2LCAweDg0MjAsIDAsIHsweDBjLDB4YTAsMHgwMywweGUyLDB4MDIsMHhjOSwweDAwLDB4M2EsMHg0MCwweDBkLDB4YjYsMHgwMywweDY0LDB4MDAsMHhlYiwweDAwIH0gfSwKLXsgIDE2LCAweDg0MzAsIDAsIHsweDNlLDB4YzAsMHgwZiwweGIwLDB4MDMsMHhlZCwweDAwLDB4ZmIsMHgwMSwweDNlLDB4ZTAsMHgwYywweGIwLDB4MDIsMHhlYSwweDAwIH0gfSwKLXsgIDE2LCAweDg0NDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDExLDB4OTQsMHgwMCwweDg3LDB4MDAsMHgyMSwweGMwIH0gfSwKLXsgIDE2LCAweDg0NTAsIDAsIHsweDI4LDB4NjAsMHgwMiwweGQwLDB4MDAsMHg4NSwweDAwLDB4MmQsMHg4MCwweDQ4LDB4ZjAsMHg4MiwweDFjLDB4MDAsMHhiNywweDAwIH0gfSwKLXsgIDE2LCAweDg0NjAsIDAsIHsweDJkLDB4MDAsMHgwYiwweDUwLDB4MDIsMHhkYywweDAwLDB4YjcsMHhhMCwweDJmLDB4ODAsMHgyOCwweDdhLDB4MDIsMHhkMiwweDA0IH0gfSwKLXsgIDE2LCAweDg0NzAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMSwweDAwLDB4YmUsMHgwMCwweDg3LDB4ODAsMHgyMSwweGUwIH0gfSwKLXsgIDE2LCAweDg0ODAsIDAsIHsweDI4LDB4NjgsMHgwMiwweGQ3LDB4MDAsMHg4NCwweDgwLDB4MmQsMHhlMCwweDQ5LDB4NzksMHgwNiwweDUzLDB4MDksMHhiNSwweDgwIH0gfSwKLXsgIDE2LCAweDg0OTAsIDAsIHsweDJkLDB4ZTIsMHgwYiwweDc4LDB4MDIsMHhkZSwweDgwLDB4YjcsMHg5MCwweDJkLDB4YjAsMHgwOCwweDc5LDB4MDIsMHhmMCwweDAwIH0gfSwKLXsgIDE2LCAweDg0YTAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDE0LDB4Y2MsMHgxMCwweDgzLDB4MDEsMHgyOCwweGM4IH0gfSwKLXsgIDE2LCAweDg0YjAsIDAsIHsweDA4LDB4MjAsMHgwMiwweGMyLDB4MDYsMHg4MSwweDAwLDB4MmMsMHhjOCwweDg4LDB4MzAsMHg2MiwweDBlLDB4MjEsMHhiMywweGEwIH0gfSwKLXsgIDE2LCAweDg0YzAsIDAsIHsweDJjLDB4YzEsMHgwYiwweGI2LDB4MDIsMHhjYywweDAwLDB4YjMsMHgwMCwweDJjLDB4ZTAsMHgwOCwweDMwLDB4MDIsMHhkMiwweDA0IH0gfSwKLXsgIDE2LCAweDg0ZDAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YTgsMHgwMCwweGNhLDB4NDAsMHhiMCwweDgwIH0gfSwKLXsgIDE2LCAweDg0ZTAsIDAsIHsweDBjLDB4MmMsMHgwMiwweGY4LDB4MDAsMHhjNiwweDIwLDB4M2YsMHg5MCwweDBkLDB4YTAsMHgwMywweDdiLDB4MDEsMHhlZSwweGUwIH0gfSwKLXsgIDE2LCAweDg0ZjAsIDAsIHsweDNmLDB4YjQsMHgwZiwweGVjLDB4MDMsMHhlOCwweDAwLDB4ZmEsMHgwMCwweDNmLDB4YTAsMHgwYywweGEwLDB4MDMsMHhmYSwweDA0IH0gfSwKLXsgIDE2LCAweDg1MDAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDAwLDB4ZTMsMHgwMCwweGY4LDB4MDksMHgyNiwweDAwIH0gfSwKLXsgIDE2LCAweDg1MTAsIDAsIHsweDBmLDB4YzEsMHg4MywweGUwLDB4MTAsMHhmOCwweDQwLDB4M2MsMHgwMCwweDBmLDB4ODAsMHgwMywweGUwLDB4MDEsMHhmOCwweDAwIH0gfSwKLXsgIDE2LCAweDg1MjAsIDAsIHsweDNlLDB4MDAsMHgwZiwweDgxLDB4MDMsMHhlMCwweDA0LDB4ZjgsMHgwMCwweDNlLDB4MTAsMHgwZiwweDgwLDB4MDMsMHhkMiwweDAwIH0gfSwKLXsgIDE2LCAweDg1MzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTQsMHgwMiwweGM5LDB4MDAsMHgzZSwweDQwIH0gfSwKLXsgIDE2LCAweDg1NDAsIDAsIHsweDRmLDB4OTAsMHg2MywweDI2LDB4ODQsMHgzOSwweDAyLDB4YjIsMHg0MCwweDBjLDB4OTEsMHgwMywweDI0LDB4MDAsMHhmOSwweDAwIH0gfSwKLXsgIDE2LCAweDg1NTAsIDAsIHsweDNlLDB4NDAsMHgwZiwweDkwLDB4MDMsMHgyNCwweDAwLDB4ZjEsMHgwMCwweDNhLDB4NDQsMHgwZiwweDkwLDB4MDMsMHhjMiwweDA0IH0gfSwKLXsgIDE2LCAweDg1NjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA0LDB4NDUsMHgwMCwweDg5LDB4NDAsMHgyZSwweDQwIH0gfSwKLXsgIDE2LCAweDg1NzAsIDAsIHsweDA4LDB4OTIsMHgwYSwweDI0LDB4MDAsMHhiOSwweDMxLDB4MjIsMHg2MCwweDg4LDB4OTQsMHg4YSwweDI0LDB4MjAsMHhiOSwweDAwIH0gfSwKLXsgIDE2LCAweDg1ODAsIDAsIHsweDJlLDB4NDAsMHgwYiwweDkwLDB4MDIsMHgyNCwweDAwLDB4YjksMHgwMCwweDIyLDB4NjgsMHgwYiwweDkwLDB4MDIsMHhlMCwweDAwIH0gfSwKLXsgIDE2LCAweDg1OTAsIDAsIHsweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4MjQsMHhhMCwweDhkLDB4ODQsMHgyZiwweDQwIH0gfSwKLXsgIDE2LCAweDg1YTAsIDAsIHsweDBiLDB4ZDEsMHgwMiwweDI0LDB4MDAsMHhiOSwweDAwLDB4MjIsMHg0YSwweDA4LDB4MTAsMHgwMiwweDJjLDB4NDAsMHhiOSwweDAwIH0gfSwKLXsgIDE2LCAweDg1YjAsIDAsIHsweDJlLDB4NDAsMHgwYiwweDkwLDB4MDIsMHgyNCwweDAwLDB4YjksMHgwMCwweDJhLDB4NDAsMHgwYiwweDkwLDB4MDIsMHhjNiwweDAwIH0gfSwKLXsgIDE2LCAweDg1YzAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA0LDB4MTQsMHgwMCwweDg1LDB4ODAsMHgyZCwweDQwIH0gfSwKLXsgIDE2LCAweDg1ZDAsIDAsIHsweDA4LDB4NTAsMHgwMiwweDA0LDB4MGMsMHhiOSwweDAwLDB4YTAsMHg1MCwweDA4LDB4MTQsMHgyMiwweDA0LDB4MDAsMHhiMSwweDAwIH0gfSwKLXsgIDE2LCAweDg1ZTAsIDAsIHsweDJjLDB4NDAsMHgwYiwweDEwLDB4MDIsMHgwNCwweDAwLDB4YjEsMHgyOCwweDIwLDB4NGEsMHgwYiwweDEzLDB4MDIsMHhjMiwweDAxIH0gfSwKLXsgIDE2LCAweDg1ZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjAsMHgwMCwweGMwLDB4NTAsMHgzZSwweDgwIH0gfSwKLXsgIDE2LCAweDg2MDAsIDAsIHsweDBmLDB4YzAsMHg0MywweDIwLDB4MDAsMHhmOCwweDAwLDB4MzAsMHgwMCwweDJjLDB4ODAsMHgyMywweDIwLDB4MDAsMHhmOCwweDUxIH0gfSwKLXsgIDE2LCAweDg2MTAsIDAsIHsweDNlLDB4MTQsMHg4ZiwweDg1LDB4MGIsMHgyMSwweDQwLDB4ZjgsMHg3MCwweDNhLDB4MDgsMHgwZiwweDg0LDB4ODMsMHhlZSwweDAzIH0gfSwKLXsgIDE2LCAweDg2MjAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5OCwweDFkLDB4YzQsMHgwMCwweGY5LDB4MDQsMHgzZSwweDQwIH0gfSwKLXsgIDE2LCAweDg2MzAsIDAsIHsweDBmLDB4OTAsMHgyMywweGQ0LDB4MDAsMHhmZCwweDAwLDB4M2YsMHg1MCwweDBmLDB4OTQsMHgwMywweGY0LDB4MDQsMHhmZCwweDAwIH0gfSwKLXsgIDE2LCAweDg2NDAsIDAsIHsweDNmLDB4NDEsMHg4ZiwweGQwLDB4NDMsMHhlNSwweDBjLDB4ZjksMHgwMiwweDNmLDB4NGEsMHgwZiwweDkyLDB4MDMsMHhlNiwweDAyIH0gfSwKLXsgIDE2LCAweDg2NTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4ZDQsMHgwMSwweGZkLDB4MDAsMHgzZCwweDQwIH0gfSwKLXsgIDE2LCAweDg2NjAsIDAsIHsweDBjLDB4ZDAsMHgxMywweGY0LDB4MDAsMHhkNSwweDAwLDB4MzMsMHg2YSwweDFjLDB4ZGMsMHg4MywweDM0LDB4MDAsMHhkMSwweDA0IH0gfSwKLXsgIDE2LCAweDg2NzAsIDAsIHsweDNlLDB4NTAsMHgwYywweDkxLDB4MDMsMHhlNiwweGMwLDB4ZGQsMHhiMCwweDMzLDB4NmEsMHgyYywweDljLDB4ODMsMHhlNiwweDAwIH0gfSwKLXsgIDE2LCAweDg2ODAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzOCwweDEwLDB4ZTAsMHgwOSwweGY4LDB4ODAsMHgyZSwweDAwIH0gfSwKLXsgIDE2LCAweDg2OTAsIDAsIHsweDg4LDB4ODAsMHgwMCwweGU4LDB4MDAsMHhiYSwweDAwLDB4MjIsMHhiMCwweDA4LDB4OGUsMHgwMiwweDI4LDB4MDAsMHg4OCwweGE4IH0gfSwKLXsgIDE2LCAweDg2YTAsIDAsIHsweDI2LDB4MjgsMHgwOCwweDhhLDB4MjIsMHhlMiwweDAwLDB4ODgsMHhlNCwweDIyLDB4MzAsMHgwOCwweDhjLDB4MDIsMHhjZSwweDA0IH0gfSwKLXsgIDE2LCAweDg2YjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4YzQsMHgwMCwweGIxLDB4MjgsMHgyZSwweDQwIH0gfSwKLXsgIDE2LCAweDg2YzAsIDAsIHsweDA4LDB4MTAsMHgwMiwweGM0LDB4MDAsMHg5OSwweDAwLDB4MjAsMHg0MiwweDQ4LDB4MTAsMHgwMiwweDY0LDB4MDEsMHg5MSwweDgwIH0gfSwKLXsgIDE2LCAweDg2ZDAsIDAsIHsweDJjLDB4NDgsMHgwOCwweDEwLDB4MDIsMHhjNCwweGMwLDB4ODEsMHg0MCwweDIwLDB4NGEsMHgwOCwweDEyLDB4MDIsMHhjMiwweDAxIH0gfSwKLXsgIDE2LCAweDg2ZTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDE1LDB4YTQsMHg5NCwweGE5LDB4MDIsMHgyZSwweDQwIH0gfSwKLXsgIDE2LCAweDg2ZjAsIDAsIHsweDBhLDB4OTAsMHgwMiwweDY0LDB4MDAsMHhiOSwweDAwLDB4ODIsMHg2MCwweDA4LDB4OTAsMHgwMiwweDY2LDB4MDAsMHg4OSwweDEwIH0gfSwKLXsgIDE2LCAweDg3MDAsIDAsIHsweDI0LDB4NjIsMHgwOCwweDkwLDB4MDIsMHhlNCwweDAwLDB4ODksMHgwMiwweDIyLDB4NDAsMHgxOCwweDkwLDB4MDIsMHhjNiwweDA0IH0gfSwKLXsgIDE2LCAweDg3MTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4ZTYsMHgwMCwweGI5LDB4MDQsMHgzZSwweDQwIH0gfSwKLXsgIDE2LCAweDg3MjAsIDAsIHsweDBjLDB4OTAsMHgxMywweGU0LDB4MDAsMHhkMSwweGMwLDB4MTIsMHg1MCwweDI4LDB4OTAsMHgwMywweDQ0LDB4MDAsMHhkOSwweDAwIH0gfSwKLXsgIDE2LCAweDg3MzAsIDAsIHsweDNlLDB4NDAsMHgyOCwweDkyLDB4MDMsMHhlNCwweDAyLDB4ZDksMHgwMCwweDMyLDB4NDIsMHg4YywweDkwLDB4MTIsMHhlOCwweDA0IH0gfSwKLXsgIDE2LCAweDg3NDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDAxLDB4YTYsMHgyMCwweGY5LDB4MDAsMHgzZSwweDQxIH0gfSwKLXsgIDE2LCAweDg3NTAsIDAsIHsweDJkLDB4OTAsMHgwMywweGU0LDB4MDAsMHhmOSwweDIwLDB4M2UsMHg0MCwweDRmLDB4OTAsMHgwMSwweGE0LDB4MDAsMHhmOSwweDAwIH0gfSwKLXsgIDE2LCAweDg3NjAsIDAsIHsweDM2LDB4NDAsMHg4ZiwweDkyLDB4MDcsMHhlNCwweDAwLDB4ZjEsMHgwMCwweGJlLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhjYSwweDAwIH0gfSwKLXsgIDE2LCAweDg3NzAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTAsMHgwMCwweGM4LDB4MDAsMHgzZSwweDIwIH0gfSwKLXsgIDE2LCAweDg3ODAsIDAsIHsweDBjLDB4ODAsMHgwMywweGUwLDB4NDAsMHhmOCwweDAwLDB4MzYsMHgxMiwweDJjLDB4MDAsMHgwMywweGUwLDB4YzAsMHhmOCwweDAwIH0gfSwKLXsgIDE2LCAweDg3OTAsIDAsIHsweDMyLDB4MTAsMHgwZCwweDg0LDB4MDMsMHhhMCwweDAwLDB4ZjgsMHgwMiwweDNlLDB4MDgsMHgwZiwweDgwLDB4MDAsMHhjYSwweDA0IH0gfSwKLXsgIDE2LCAweDg3YTAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4M2EsMHg5MCwweDhlLDB4MDAsMHgyZCwweGEwIH0gfSwKLXsgIDE2LCAweDg3YjAsIDAsIHsweDgwLDB4ZTgsMHgwMiwweGZhLDB4MDAsMHhiZSwweDQwLDB4MjMsMHg4MCwweDA4LDB4ZTgsMHgwMiwweGZhLDB4MDAsMHg4YSwweDAwIH0gfSwKLXsgIDE2LCAweDg3YzAsIDAsIHsweDM2LDB4ODAsMHgwOCwweGEwLDB4MDIsMHhlOCwweDAwLDB4YmEsMHgwMCwweDJmLDB4ODAsMHgwYiwweGEwLDB4MDMsMHg4YSwweDAwIH0gfSwKLXsgIDE2LCAweDg3ZDAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NDYsMHgwMiwweDgzLDB4MDAsMHgyYywweDgwIH0gfSwKLXsgIDE2LCAweDg3ZTAsIDAsIHsweDA4LDB4MjIsMHg0MiwweGM2LDB4ODAsMHhiMSwweDYwLDB4MmUsMHhmNCwweDA4LDB4MzgsMHgyMiwweGNlLDB4MDAsMHhhMywweDAwIH0gfSwKLXsgIDE2LCAweDg3ZjAsIDAsIHsweDIwLDB4YzAsMHgwOCwweDMwLDB4MDIsMHhhYywweDAwLDB4YjEsMHgwMCwweDJlLDB4NDAsMHgwYiwweDMwLDB4MDIsMHhjYSwweDAwIH0gfSwKLXsgIDE2LCAweDg4MDAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDAxLDB4MWUsMHgwMiwweDg1LDB4MDEsMHgyZCwweGMyIH0gfSwKLXsgIDE2LCAweDg4MTAsIDAsIHsweGE4LDB4NDQsMHgwMiwweGQ0LDB4MDAsMHhiZCwweDAxLDB4MjksMHg0MCwweDE4LDB4NjgsMHhkMiwweGRjLDB4MDAsMHg4ZiwweDgwIH0gfSwKLXsgIDE2LCAweDg4MjAsIDAsIHsweDI1LDB4Y2MsMHgyOCwweDczLDB4NDIsMHhkYywweDgwLDB4YjUsMHgzMCwweDJkLDB4YzAsMHgxYiwweDcyLDB4MDIsMHhlOCwweDAwIH0gfSwKLXsgIDE2LCAweDg4MzAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MWUsMHgwNCwweGM2LDB4ODIsMHgzZCwweGUwIH0gfSwKLXsgIDE2LCAweDg4NDAsIDAsIHsweDBjLDB4NDgsMHgxMiwweGQ2LDB4MTAsMHhmNSwweDgwLDB4M2MsMHhhMCwweDBjLDB4NzAsMHgwMywweGRlLDB4MDAsMHhlNywweDkwIH0gfSwKLXsgIDE2LCAweDg4NTAsIDAsIHsweDIzLDB4ZWEsMHgwNCwweDdhLDB4MDMsMHg5ZSwweDAwLDB4ZjUsMHg4MCwweDNkLDB4ZTAsMHgwZiwweDdhLDB4MDMsMHhlYSwweDAyIH0gfSwKLXsgIDE2LCAweDg4NjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDBkLDB4YWMsMHgwMCwweDljLDB4MDAsMHgzZSwweGMwIH0gfSwKLXsgIDE2LCAweDg4NzAsIDAsIHsweDBmLDB4ODAsMHgwMywweGU0LDB4MTAsMHhmOSwweDAwLDB4MzYsMHgwMSwweDBmLDB4YTAsMHgwMywweGMwLDB4MDAsMHhlYiwweDAwIH0gfSwKLXsgIDE2LCAweDg4ODAsIDAsIHsweDNlLDB4ZDgsMHg0ZSwweGIwLDB4ODMsMHhlYywweDAwLDB4ZjksMHgwMCwweDNlLDB4YzAsMHgwZiwweGI0LDB4NDMsMHg4MiwweDA2IH0gfSwKLXsgIDE2LCAweDg4OTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZGUsMHgwMCwweGNmLDB4ODQsMHgzMSwweGUwIH0gfSwKLXsgIDE2LCAweDg4YTAsIDAsIHsweDBlLDB4YzgsMHg0MywweGQ2LDB4MDAsMHhjZCwweDgwLDB4MzMsMHhlMCwweGNkLDB4ZDksMHgwMywweDNhLDB4MDAsMHhmZiwweDg4IH0gfSwKLXsgIDE2LCAweDg4YjAsIDAsIHsweDMzLDB4ZTAsMHgwZiwweGY5LDB4MTMsMHhmZSwweDI0LDB4ZmQsMHg4MCwweDNmLDB4MjAsMHgwYywweGY2LDB4ODMsMHgxMCwweDAwIH0gfSwKLXsgIDE2LCAweDg4YzAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDExLDB4OWMsMHgwMCwweDg1LDB4MDAsMHgyMSwweGM0IH0gfSwKLXsgIDE2LCAweDg4ZDAsIDAsIHsweDI4LDB4NDAsMHg4MiwweGQwLDB4MDAsMHhkNSwweDAwLDB4MjMsMHg4MCwweDQ4LDB4YzksMHgwMiwweDFjLDB4MDAsMHhiNywweDAwIH0gfSwKLXsgIDE2LCAweDg4ZTAsIDAsIHsweDIxLDB4YzAsMHgwYiwweDcxLDB4MDIsMHhkZSwweDgwLDB4YjUsMHgxMCwweDJkLDB4YzAsMHgyOCwweGYwLDB4MDIsMHgyYSwweDA0IH0gfSwKLXsgIDE2LCAweDg4ZjAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxMCwweDAwLDB4OWMsMHgwMCwweDk2LDB4MDAsMHgyMSwweGMwIH0gfSwKLXsgIDE2LCAweDg5MDAsIDAsIHsweDBhLDB4NDEsMHgwMiwweGY1LDB4NDAsMHg4ZCwweDAwLDB4MjEsMHg0MCwweDA5LDB4NTIsMHgwMiwweDk4LDB4MjAsMHhiNywweDAwIH0gfSwKLXsgIDE2LCAweDg5MTAsIDAsIHsweDIxLDB4YzAsMHgwYiwweDcwLDB4MDYsMHhkYywweDgwLDB4YjUsMHgwMCwweDJkLDB4YzAsMHgwOCwweDcwLDB4MDIsMHgwNCwweDAwIH0gfSwKLXsgIDE2LCAweDg5MjAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg2MCwweDE0LDB4Y2MsMHgxMCwweDk4LDB4MDAsMHgwMCwweGMwIH0gfSwKLXsgIDE2LCAweDg5MzAsIDAsIHsweDg4LDB4MDQsMHg4MiwweGMwLDB4MDAsMHg5MSwweDA0LDB4MjAsMHgwMywweDA5LDB4MDAsMHgwMiwweDhhLDB4MDAsMHhiMywweDBhIH0gfSwKLXsgIDE2LCAweDg5NDAsIDAsIHsweDIwLDB4YzQsMHg4YiwweDM0LDB4MDIsMHhjYywweDAwLDB4YjksMHgwMCwweDJjLDB4YzAsMHgwMCwweDMwLDB4MDIsMHgxOCwweDA0IH0gfSwKLXsgIDE2LCAweDg5NTAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhmOCwweDE1LDB4YWMsMHgwMCwweGRiLDB4MDAsMHhiMCwweGMwIH0gfSwKLXsgIDE2LCAweDg5NjAsIDAsIHsweDBlLDB4OWMsMHgwMiwweGM1LDB4MDAsMHhjMSwweDEwLDB4YjIsMHhjMCwweDBkLDB4YjAsMHgwYiwweGE3LDB4MDgsMHhmZiwweDAwIH0gfSwKLXsgIDE2LCAweDg5NzAsIDAsIHsweGIzLDB4YzAsMHgwZiwweGZhLDB4MDMsMHhmYywweDAwLDB4ZmQsMHgwMCwweDNlLDB4ZDQsMHgwYywweGYwLDB4MGIsMHgyZSwweDA0IH0gfSwKLXsgIDE2LCAweDg5ODAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDAwLDB4ZWMsMHgwNCwweGVkLDB4MDAsMHgzZSwweDQwIH0gfSwKLXsgIDE2LCAweDg5OTAsIDAsIHsweDBmLDB4ODQsMHgwMywweGU1LDB4NDAsMHhmOSwweDQwLDB4M2UsMHg2MCwweGNlLDB4YjQsMHg0MywweDY0LDB4MDAsMHhmYiwweDgwIH0gfSwKLXsgIDE2LCAweDg5YTAsIDAsIHsweDNlLDB4YzIsMHgwZiwweGIwLDB4MTMsMHhlYywweDAwLDB4ZjksMHgwMiwweDNlLDB4YzAsMHg0ZiwweGIwLDB4MDMsMHhlMSwweDAwIH0gfSwKLXsgIDE2LCAweDg5YjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5MCwweDEwLDB4ZmYsMHgwMCwweGNlLDB4MDAsMHgzMywweGMwIH0gfSwKLXsgIDE2LCAweDg5YzAsIDAsIHsweDBlLDB4YzAsMHgwNywweDc0LDB4MDQsMHhlYywweDAwLDB4MTEsMHg4MCwweDBjLDB4Y2EsMHgwMywweGZlLDB4NjAsMHhmZiwweDAwIH0gfSwKLXsgIDE2LCAweDg5ZDAsIDAsIHsweDNmLDB4YzAsMHgwZiwweGYwLDB4ODMsMHgzYywweDAwLDB4ZGQsMHgwMCwweGIzLDB4NTAsMHgyYywweGYwLDB4MDMsMHgyMCwweDA0IH0gfSwKLXsgIDE2LCAweDg5ZTAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MSwweDAwLDB4NGMsMHgwNCwweDhiLDB4MGIsMHgyMiwweDcwIH0gfSwKLXsgIDE2LCAweDg5ZjAsIDAsIHsweDA4LDB4MDgsMHgwMywweDY3LDB4MjAsMHg4YSwweDg4LDB4YTIsMHgwMCwweDI4LDB4ODQsMHgwMiwweGU3LDB4MDAsMHhiYiwweDAwIH0gfSwKLXsgIDE2LCAweDhhMDAsIDAsIHsweDNlLDB4YzAsMHgwYiwweGIwLDB4MDIsMHgyYywweDAwLDB4YjksMHgwMCwweDIyLDB4NjEsMHgwOCwweGIwLDB4MDMsMHg2MCwweDQwIH0gfSwKLXsgIDE2LCAweDhhMTAsIDAsIHsweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MmMsMHgwMCwweDhiLDB4MjAsMHgyMiwweGUyIH0gfSwKLXsgIDE2LCAweDhhMjAsIDAsIHsweDBhLDB4OGMsMHgwMiwweDI2LDB4MDAsMHhhOSwweDgwLDB4MmEsMHhjMCwweDA4LDB4YjQsMHg0MiwweGVkLDB4MDAsMHhiYiwweDAwIH0gfSwKLXsgIDE2LCAweDhhMzAsIDAsIHsweDJlLDB4YzAsMHgwYiwweDMwLDB4MDIsMHgyYywweDAwLDB4YjksMHgwMCwweDIwLDB4ODAsMHgwOCwweDMwLDB4MDIsMHg2MCwweDAwIH0gfSwKLXsgIDE2LCAweDhhNDAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA0LDB4MGUsMHgwMSwweDgxLDB4MDAsMHhhMCwweGMwIH0gfSwKLXsgIDE2LCAweDhhNTAsIDAsIHsweDA4LDB4ODEsMHgwMiwweDQ0LDB4MDAsMHg4MSwweDAwLDB4MjgsMHg4MSwweDA4LDB4MzIsMHgwMiwweGNjLDB4MDAsMHhiMywweDAwIH0gfSwKLXsgIDE2LCAweDhhNjAsIDAsIHsweDI4LDB4YzAsMHgwYiwweDMwLDB4MDIsMHgwYywweDgwLDB4YjEsMHgwMCwweDIwLDB4YzAsMHgwOCwweDMwLDB4MTIsMHg0MiwweDAxIH0gfSwKLXsgIDE2LCAweDhhNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDBkLDB4NmMsMHgwMCwweGMyLDB4MDEsMHgzMiwweGMwIH0gfSwKLXsgIDE2LCAweDhhODAsIDAsIHsweDJlLDB4ODAsMHgxNiwweDJjLDB4MDgsMHhlOSwweDAwLDB4M2EsMHg0MCwweDBjLDB4ODAsMHgwMywweGVjLDB4MDAsMHhmNywweDAwIH0gfSwKLXsgIDE2LCAweDhhOTAsIDAsIHsweDJmLDB4YzAsMHgwZiwweGYwLDB4MGIsMHgyYywweDAwLDB4ZDksMHgwMCwweDMwLDB4NDAsMHgwYywweGYwLDB4MDMsMHg2MCwweDAzIH0gfSwKLXsgIDE2LCAweDhhYTAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDBkLDB4ZjgsMHgwOCwweGZmLDB4MDAsMHgzZiwweGMwIH0gfSwKLXsgIDE2LCAweDhhYjAsIDAsIHsweDBmLDB4YzIsMHgxNywweGZjLDB4MDAsMHhmNywweDAwLDB4MzcsMHgwMCwweDBmLDB4ODQsMHgwMywweGZjLDB4MDAsMHhmZiwweDAwIH0gfSwKLXsgIDE2LCAweDhhYzAsIDAsIHsweDNmLDB4YzAsMHgwZiwweGYwLDB4MDMsMHhlZCwweDAwLDB4ZmQsMHgwMCwweDNmLDB4NDAsMHgwZiwweGYwLDB4MDMsMHhlOCwweDA2IH0gfSwKLXsgIDE2LCAweDhhZDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZmMsMHgwMCwweGNmLDB4MzAsMHgxNywweDQ4IH0gfSwKLXsgIDE2LCAweDhhZTAsIDAsIHsweDBjLDB4NTksMHgwMywweGI5LDB4MDAsMHhkZiwweDI4LDB4MzUsMHgyNCwweDBkLDB4ODIsMHhhMywweDdjLDB4ODAsMHhmZiwweDAwIH0gfSwKLXsgIDE2LCAweDhhZjAsIDAsIHsweDNmLDB4YzgsMHgwZiwweGYyLDB4MDMsMHhlNCwweGEwLDB4ZWYsMHg4MCwweDNmLDB4ZTEsMHg4YywweGQ4LDB4NDMsMHgzMCwweDAwIH0gfSwKLXsgIDE2LCAweDhiMDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDEwLDB4ZWQsMHg0OCwweDg5LDB4MzQsMHhhMywweDcwIH0gfSwKLXsgIDE2LCAweDhiMTAsIDAsIHsweDI4LDB4YjAsMHgyMywweDYwLDB4MDAsMHg4YiwweGMwLDB4MjIsMHg0MCwweDA4LDB4YjQsMHg4MiwweDJmLDB4NDAsMHhiZiwweGQxIH0gfSwKLXsgIDE2LCAweDhiMjAsIDAsIHsweDZmLDB4ZjQsMHg4ZSwweGJkLDB4MDIsMHhlNywweDAwLDB4YmIsMHg4MCwweDNhLDB4ZTAsMHgwOCwweDk4LDB4MGEsMHgyOCwweDA0IH0gfSwKLXsgIDE2LCAweDhiMzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4YzQsMHhiMCwweDkxLDB4MDAsMHhhOCwweDUwIH0gfSwKLXsgIDE2LCAweDhiNDAsIDAsIHsweDA4LDB4YjIsMHgwMiwweGM4LDB4ODQsMHg5MywweDAwLDB4MjQsMHg0OSwweDBiLDB4MDIsMHgwMiwweDRjLDB4MDAsMHhiMywweDA0IH0gfSwKLXsgIDE2LCAweDhiNTAsIDAsIHsweDJjLDB4YzAsMHgwYiwweDMwLDB4NDIsMHg4NCwweDAwLDB4YjMsMHgwMCwweDJlLDB4MDAsMHgwYSwweGIwLDB4MTIsMHgyMiwweDAxIH0gfSwKLXsgIDE2LCAweDhiNjAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDExLDB4YWMsMHgwMiwweDk5LDB4MTgsMHgyYSwweDQ0IH0gfSwKLXsgIDE2LCAweDhiNzAsIDAsIHsweDA4LDB4YjgsMHg4MiwweGEyLDB4MDEsMHhiYiwweDAwLDB4MjgsMHg2MCwweDBhLDB4YTAsMHgxMiwweDZjLDB4MDAsMHhiYiwweDAwIH0gfSwKLXsgIDE2LCAweDhiODAsIDAsIHsweDZlLDB4YzAsMHgwYSwweGIwLDB4MDIsMHhlNCwweDAwLDB4YmIsMHgwMCwweDJhLDB4MDAsMHgyYSwweGIwLDB4MDIsMHgzOCwweDA0IH0gfSwKLXsgIDE2LCAweDhiOTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDExLDB4ZTQsMHgwOCwweGRhLDB4YzAsMHgzYSwweDYwIH0gfSwKLXsgIDE2LCAweDhiYTAsIDAsIHsweDBjLDB4MTgsMHgwYSwweGViLDB4MDQsMHhkYiwweDAwLDB4MzYsMHhlMCwweDA3LDB4ODUsMHg4MywweDZjLDB4MDAsMHhmYiwweDAwIH0gfSwKLXsgIDE2LCAweDhiYjAsIDAsIHsweDJlLDB4YzAsMHgwZiwweGIwLDB4NDMsMHhlNCwweDAwLDB4ZWIsMHgwMCwweDNlLDB4ODgsMHgwZSwweDE4LDB4MDMsMHgxMCwweDA0IH0gfSwKLXsgIDE2LCAweDhiYzAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDQxLDB4OWMsMHgxMCwweGU5LDB4MDAsMHgzNywweDYwIH0gfSwKLXsgIDE2LCAweDhiZDAsIDAsIHsweDg3LDB4ZjAsMHgxNywweDcwLDB4MDAsMHhjZiwweDAxLDB4MzcsMHhjMCwweDRjLDB4OTgsMHgwMywweGJjLDB4MDAsMHhmYiwweDAwIH0gfSwKLXsgIDE2LCAweDhiZTAsIDAsIHsweDNmLDB4YzIsMHgwZiwweGYwLDB4MDMsMHhlNCwweDAwLDB4ZmYsMHg0MCwweDNmLDB4ZTQsMHgwZCwweGQ5LDB4MDMsMHhmMCwweDAwIH0gfSwKLXsgIDE2LCAweDhiZjAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YTQsMHgwMCwweGY0LDB4MDAsMHgzMCwweDQwIH0gfSwKLXsgIDE2LCAweDhjMDAsIDAsIHsweDBmLDB4YjQsMHgwMywweDk5LDB4MDAsMHhmYiwweDAwLDB4M2UsMHhjMCwweDBkLDB4MDQsMHgyMywweDJjLDB4MDgsMHhmYiwweDg4IH0gfSwKLXsgIDE2LCAweDhjMTAsIDAsIHsweDMyLDB4YzAsMHgwZiwweGIwLDB4MDMsMHhlNiwweDAwLDB4ZGIsMHgxMCwweDNlLDB4MDIsMHgwZiwweGIwLDB4ODMsMHhkMCwweDA0IH0gfSwKLXsgIDE2LCAweDhjMjAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjOCwweDA1LDB4MmMsMHgwMCwweGI5LDB4NTAsMHhhMiwweDQ4IH0gfSwKLXsgIDE2LCAweDhjMzAsIDAsIHsweDhiLDB4YjAsMHgwMywweDIwLDB4MDAsMHhkNywweDgwLDB4MmUsMHhkOCwweDAwLDB4ODAsMHgwMiwweDNjLDB4MDAsMHhiZiwweDgwIH0gfSwKLXsgIDE2LCAweDhjNDAsIDAsIHsweDIzLDB4ZTgsMHg4YiwweGYwLDB4MDIsMHhmNCwweDQwLDB4OGIsMHg0MCwweDBjLDB4NDIsMHgwMywweGI2LDB4MDIsMHhmMiwweDAwIH0gfSwKLXsgIDE2LCAweDhjNTAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NGMsMHgwMCwweGIyLDB4NDQsMHgwMCwweGM4IH0gfSwKLXsgIDE2LCAweDhjNjAsIDAsIHsweDBiLDB4MzAsMHgxMiwweDhjLDB4MDAsMHhhMywweDgwLDB4MjQsMHhjOCwweDBiLDB4MDAsMHgwYSwweGNjLDB4MDAsMHhiMywweDQ0IH0gfSwKLXsgIDE2LCAweDhjNzAsIDAsIHsweDA0LDB4YzAsMHgxYiwweDM2LDB4MDIsMHhjNSwweDAxLDB4ODMsMHgwYywweDJjLDB4YTAsMHgwYiwweDMwLDB4MDIsMHhmOCwweDAwIH0gfSwKLXsgIDE2LCAweDhjODAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMCwweDAxLDB4MWUsMHgwOCwweGI3LDB4OTAsMHgyMSwweDY0IH0gfSwKLXsgIDE2LCAweDhjOTAsIDAsIHsweDBiLDB4ZjgsMHgwMiwweDRhLDB4MDQsMHg5NywweDgxLDB4MmYsMHhlNCwweDBhLDB4NzgsMHgwMiwweDllLDB4MDAsMHhiNywweDgwIH0gfSwKLXsgIDE2LCAweDhjYTAsIDAsIHsweDIxLDB4ZTAsMHg4YiwweDc4LDB4ODIsMHhkNiwweDg2LDB4ODcsMHg4NCwweDJkLDB4YTAsMHgwYiwweDc4LDB4MDIsMHhjMCwweDAwIH0gfSwKLXsgIDE2LCAweDhjYjAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MDQsMHgwMCwweGYyLDB4MDAsMHgzMCwweGMwIH0gfSwKLXsgIDE2LCAweDhjYzAsIDAsIHsweDBmLDB4MzAsMHgwMywweDhjLDB4MDAsMHhlMywweDBhLDB4M2MsMHhjMCwweDBmLDB4MTgsMHgwMywweDhjLDB4MDAsMHhmMywweDAyIH0gfSwKLXsgIDE2LCAweDhjZDAsIDAsIHsweDMwLDB4YzAsMHgxZiwweDMwLDB4MDEsMHhjNiwweDgwLDB4YzMsMHgwMCwweDNjLDB4YzAsMHgwZiwweDEyLDB4MDMsMHhkYSwweDAyIH0gfSwKLXsgIDE2LCAweDhjZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDBkLDB4YmMsMHgwMCwweGZmLDB4MDAsMHgzZiwweDQxIH0gfSwKLXsgIDE2LCAweDhjZjAsIDAsIHsweDBmLDB4ZjAsMHgwMywweGI4LDB4MDgsMHhmZiwweDA4LDB4M2YsMHhjMCwweDBkLDB4ZjAsMHgwMywweDNjLDB4MjAsMHhmZiwweDA4IH0gfSwKLXsgIDE2LCAweDhkMDAsIDAsIHsweDNiLDB4ZDIsMHgwZiwweGYwLDB4MDMsMHhmNCwweDQwLDB4ZWYsMHgwMCwweDNmLDB4YzQsMHgwZiwweGQwLDB4MDMsMHhkMCwweDA2IH0gfSwKLXsgIDE2LCAweDhkMTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZTQsMHgwMCwweGZlLDB4MDAsMHgzMiwweGMyIH0gfSwKLXsgIDE2LCAweDhkMjAsIDAsIHsweDBjLDB4MzAsMHgwYiwweDI2LDB4MDAsMHhmYiwweDgwLDB4MzYsMHhjMCwweDBkLDB4YTAsMHgwMywweGVjLDB4MDAsMHhmYiwweGUwIH0gfSwKLXsgIDE2LCAweDhkMzAsIDAsIHsweDMyLDB4ZDAsMHgwZiwweGI4LDB4NDMsMHg2NCwweDQ0LDB4ZGIsMHgwNCwweDNlLDB4ODAsMHgwZiwweGIwLDB4MDMsMHhlMiwweDAwIH0gfSwKLXsgIDE2LCAweDhkNDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDExLDB4OWMsMHgwMCwweGI3LDB4MDAsMHhhMSwweGMwIH0gfSwKLXsgIDE2LCAweDhkNTAsIDAsIHsweDg4LDB4NzAsMHgwMywweDEwLDB4MDAsMHhiNywweDIwLDB4MjEsMHhjMCwweDA4LDB4NzAsMHgwMiwweGRjLDB4ODAsMHhiMywweDMwIH0gfSwKLXsgIDE2LCAweDhkNjAsIDAsIHsweDMxLDB4YzgsMHgwYiwweDc0LDB4MDIsMHgxNCwweDAwLDB4ODcsMHg0MCwweDJkLDB4YzAsMHg0YiwweDcwLDB4MDIsMHhkMiwweDAwIH0gfSwKLXsgIDE2LCAweDhkNzAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4OTYsMHgyMCwweGI2LDB4ODAsMHgyMCwweGUwIH0gfSwKLXsgIDE2LCAweDhkODAsIDAsIHsweDI4LDB4ZjgsMHgwMiwweDk0LDB4MTAsMHhiNywweDgxLDB4MjcsMHhlMiwweDA5LDB4NzgsMHgwMiwweGRlLDB4MDAsMHhiNywweGEwIH0gfSwKLXsgIDE2LCAweDhkOTAsIDAsIHsweGE5LDB4ZTgsMHgwYiwweDM4LDB4MDIsMHg3NiwweDAwLDB4ODcsMHg4MCwweDJkLDB4YTAsMHgwYiwweDU4LDB4MDIsMHhmMCwweDAwIH0gfSwKLXsgIDE2LCAweDhkYTAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDE0LDB4Y2UsMHgxMCwweGIzLDB4MDAsMHgyMCwweGM0IH0gfSwKLXsgIDE2LCAweDhkYjAsIDAsIHsweDA4LDB4MjAsMHgwMiwweDgwLDB4MTAsMHhiMywweDAwLDB4MjIsMHhjOCwweDA4LDB4YjAsMHgwMiwweGNjLDB4MTEsMHhiMywweDAyIH0gfSwKLXsgIDE2LCAweDhkYzAsIDAsIHsweDI4LDB4YzAsMHgwYiwweDMwLDB4MDIsMHgwNCwweDAwLDB4OTMsMHg4MCwweDJjLDB4ZDIsMHgwYiwweDEwLDB4MDIsMHhkMiwweDA0IH0gfSwKLXsgIDE2LCAweDhkZDAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YTgsMHgwMCwweGZlLDB4NDAsMHgzMiwweGEwIH0gfSwKLXsgIDE2LCAweDhkZTAsIDAsIHsweDBjLDB4ZTQsMHgwMywweDk4LDB4ODAsMHhmYSwweDAwLDB4MzcsMHhhMCwweDBkLDB4ZTAsMHg4MywweGU4LDB4MDAsMHhmZSwweDAwIH0gfSwKLXsgIDE2LCAweDhkZjAsIDAsIHsweDNhLDB4ODAsMHgwYiwweGEwLDB4MDMsMHg2OCwweDAwLDB4ZDgsMHhhMCwweDNmLDB4OTAsMHgwZiwweGEwLDB4MDMsMHhmYSwweDA0IH0gfSwKLXsgIDE2LCAweDhlMDAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDAwLDB4ZTAsMHgwOCwweGY4LDB4MDgsMHgzZSwweDAwIH0gfSwKLXsgIDE2LCAweDhlMTAsIDAsIHsweDBmLDB4ODAsMHgwMywweDIwLDB4MDAsMHhmOCwweDQwLDB4M2UsMHgwMCwweDBmLDB4ODAsMHgwMywweGUwLDB4MDAsMHhmOCwweDA0IH0gfSwKLXsgIDE2LCAweDhlMjAsIDAsIHsweDMwLDB4MTAsMHgwZiwweDgwLDB4MDMsMHhlMCwweDAyLDB4ZTgsMHgwMCwweDNlLDB4MDAsMHgwZiwweDgwLDB4MDMsMHhkMiwweDAwIH0gfSwKLXsgIDE2LCAweDhlMzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTQsMHgwMCwweGYxLDB4MDAsMHgzMiwweDQwIH0gfSwKLXsgIDE2LCAweDhlNDAsIDAsIHsweDBlLDB4OTAsMHg4MywweGE0LDB4MDAsMHhjOSwweDgwLDB4M2UsMHg0MCwweDBlLDB4OTAsMHgwMywweGE0LDB4MDAsMHhmOSwweDAwIH0gfSwKLXsgIDE2LCAweDhlNTAsIDAsIHsweDNlLDB4NDAsMHgwYywweDkwLDB4MDMsMHhlNCwweDAwLDB4YzgsMHgwMCwweDNlLDB4NDAsMHg4ZiwweDkwLDB4MDMsMHgwMiwweDA0IH0gfSwKLXsgIDE2LCAweDhlNjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA0LDB4NjQsMHgwMCwweGI5LDB4NDAsMHhhMCwweDYyIH0gfSwKLXsgIDE2LCAweDhlNzAsIDAsIHsweDA4LDB4MTAsMHgwMiwweDI0LDB4MTAsMHg4OSwweDAwLDB4MmUsMHg0MCwweDA4LDB4OTAsMHgwMiwweDI0LDB4MDAsMHhiOSwweDAwIH0gfSwKLXsgIDE2LCAweDhlODAsIDAsIHsweDJlLDB4NTIsMHgwOCwweDk0LDB4MDIsMHhjNCwweDAwLDB4ODksMHg0MCwweDJlLDB4NDAsMHgwYiwweDEwLDB4MDMsMHg2MCwweDEwIH0gfSwKLXsgIDE2LCAweDhlOTAsIDAsIHsweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4MjQsMHgwMCwweGI5LDB4MTgsMHgyMiwweDQ0IH0gfSwKLXsgIDE2LCAweDhlYTAsIDAsIHsweDBhLDB4OTAsMHgwMiwweGFjLDB4MDAsMHg4OSwweDEwLDB4MmUsMHhjMCwweDBhLDB4OTAsMHgwMiwweGE0LDB4MDAsMHhiOSwweDgwIH0gfSwKLXsgIDE2LCAweDhlYjAsIDAsIHsweDJlLDB4NjAsMHgwOCwweDk4LDB4MDIsMHhlNiwweDAyLDB4ODksMHgwOCwweDJlLDB4NDAsMHgwYiwweDkwLDB4MDIsMHgwNiwweDAwIH0gfSwKLXsgIDE2LCAweDhlYzAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA0LDB4MDQsMHg4MCwweGIxLDB4MjAsMHhhMCwweDQ4IH0gfSwKLXsgIDE2LCAweDhlZDAsIDAsIHsweDA4LDB4OTAsMHgwMiwweDI0LDB4MDgsMHg4MSwweDIzLDB4MmMsMHg1MCwweDA4LDB4MTAsMHgwMiwweDA0LDB4ODAsMHhiMSwweDIwIH0gfSwKLXsgIDE2LCAweDhlZTAsIDAsIHsweDJjLDB4NDgsMHgyOCwweDEyLDB4MDIsMHhlNCwweDgwLDB4ODEsMHgyMCwweDJjLDB4NDAsMHgwYiwweDk4LDB4MDIsMHg0MiwweDA1IH0gfSwKLXsgIDE2LCAweDhlZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjEsMHg0MCwweGY4LDB4NTAsMHgzMiwweDAwIH0gfSwKLXsgIDE2LCAweDhmMDAsIDAsIHsweDBlLDB4ODUsMHgwMywweGExLDB4ZTAsMHhjYSwweDAwLDB4M2UsMHgwMCwweDBlLDB4ODUsMHgwMywweGEwLDB4MDAsMHhmOCwweDAwIH0gfSwKLXsgIDE2LCAweDhmMTAsIDAsIHsweDJlLDB4MDAsMHg5YywweGEwLDB4MDMsMHhlMCwweDAwLDB4YzgsMHgyOCwweDNlLDB4MDAsMHgwZiwweDgwLDB4MDMsMHgyZSwweDAxIH0gfSwKLXsgIDE2LCAweDhmMjAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5OCwweDFkLDB4ZjQsMHg0MCwweGY1LDB4MTAsMHgzZiwweDQ0IH0gfSwKLXsgIDE2LCAweDhmMzAsIDAsIHsweDBmLDB4ZDAsMHgwMywweGY0LDB4MDAsMHhmMSwweDEwLDB4M2QsMHg0MCwweDhmLDB4ZDQsMHgwMywweGU0LDB4NTAsMHhmOSwweDEwIH0gfSwKLXsgIDE2LCAweDhmNDAsIDAsIHsweDNlLDB4NDUsMHgwZiwweDkxLDB4MDMsMHhkNCwweDQwLDB4ZmMsMHgwMCwweDNmLDB4YzAsMHg4ZiwweGQwLDB4MjMsMHhlNiwweDA0IH0gfSwKLXsgIDE2LCAweDhmNTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4ZTYsMHgyMCwweGNkLDB4YTgsMHgzMywweDQwIH0gfSwKLXsgIDE2LCAweDhmNjAsIDAsIHsweDhkLDB4ZDAsMHgwMywweDI2LDB4ODAsMHhjZCwweDAwLDB4M2QsMHg1MCwweDBjLDB4OWEsMHgwMywweDY0LDB4MDAsMHhmOSwweGEwIH0gfSwKLXsgIDE2LCAweDhmNzAsIDAsIHsweDdhLDB4NmEsMHgwZiwweDlhLDB4NjMsMHhlNiwweDgwLDB4YzksMHg4MCwweDNlLDB4NDAsMHgwZiwweDkwLDB4MDMsMHgwNiwweDAwIH0gfSwKLXsgIDE2LCAweDhmODAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzOCwweDEwLDB4ZTEsMHgwMCwweDg4LDB4ZTAsMHgzNiwweDAwIH0gfSwKLXsgIDE2LCAweDhmOTAsIDAsIHsweDA4LDB4ODAsMHgwYSwweDIxLDB4NDIsMHhjOCwweDAwLDB4MmUsMHgyOSwweDBjLDB4YTQsMHg0MiwweDIwLDB4MDAsMHhiOCwweDQwIH0gfSwKLXsgIDE2LCAweDhmYTAsIDAsIHsweDJlLDB4MDAsMHgwYiwweDgxLDB4MDIsMHhlMSwweDAwLDB4ODgsMHgwMiwweDNhLDB4MDEsMHgwYiwweGMwLDB4MDIsMHgwZSwweDA0IH0gfSwKLXsgIDE2LCAweDhmYjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4YzQsMHgwMiwweDgxLDB4MDgsMHgyNCwweDQwIH0gfSwKLXsgIDE2LCAweDhmYzAsIDAsIHsweDA5LDB4MTAsMHgwMiwweDA0LDB4MDAsMHg5MSwweDAwLDB4MmMsMHg0MCwweDRiLDB4MTQsMHgwMiwweDQ0LDB4MDAsMHhiNSwweDEwIH0gfSwKLXsgIDE2LCAweDhmZDAsIDAsIHsweDI5LDB4NDAsMHgwYiwweDUwLDB4MDIsMHhmNSwweDAwLDB4YjUsMHgwMCwweDJkLDB4NDAsMHgwYiwweGQwLDB4MDIsMHgwMiwweDAxIH0gfSwKLXsgIDE2LCAweDhmZTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDExLDB4YTYsMHgwMSwweDg5LDB4MDAsMHgyNiwweDQwIH0gfSwKLXsgIDE2LCAweDhmZjAsIDAsIHsweDA4LDB4OTQsMHgwMiwweDI0LDB4MDEsMHg4OSwweDAwLDB4MmUsMHg0MCwweDFhLDB4OTAsMHgwMiwweDZjLDB4MDAsMHhiZiwweDAyIH0gfSwKLXsgIDE2LCAweDkwMDAsIDAsIHsweDJmLDB4NDAsMHgwYiwweGQwLDB4MDIsMHhmNCwweDAyLDB4YmQsMHg4MCwweDJiLDB4NDAsMHg4YiwweGQ4LDB4M2EsMHgwNiwweDA0IH0gfSwKLXsgIDE2LCAweDkwMTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4ZTQsMHgwMCwweGM5LDB4MDUsMHgzNiwweDQxIH0gfSwKLXsgIDE2LCAweDkwMjAsIDAsIHsweDBkLDB4MWMsMHgwMywweDI0LDB4MDAsMHhkOSwweDAwLDB4M2UsMHg0MiwweDJmLDB4OTQsMHgwMywweDY0LDB4MDAsMHhmOSwweDAwIH0gfSwKLXsgIDE2LCAweDkwMzAsIDAsIHsweDNhLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhjNCwweDAwLDB4ZjksMHgwMCwweDNlLDB4NzAsMHgwZiwweDEwLDB4MDMsMHgyOCwweDA0IH0gfSwKLXsgIDE2LCAweDkwNDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDAxLDB4ODQsMHgwOCwweGY5LDB4MjQsMHgzZSwweDQwIH0gfSwKLXsgIDE2LCAweDkwNTAsIDAsIHsweDBmLDB4OTEsMHgwMywweGU0LDB4MDAsMHhmOSwweDAwLDB4M2UsMHg0MSwweDBkLDB4MTAsMHgwMywweGE0LDB4MDAsMHhmOSwweDAwIH0gfSwKLXsgIDE2LCAweDkwNjAsIDAsIHsweDNlLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhlNCwweDAwLDB4YzksMHgwMCwweDNlLDB4NjQsMHgwZiwweDkwLDB4MDMsMHhjYSwweDAwIH0gfSwKLXsgIDE2LCAweDkwNzAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTAsMHgwOCwweGM4LDB4ODAsMHgzMiwweDAyIH0gfSwKLXsgIDE2LCAweDkwODAsIDAsIHsweDBmLDB4ODAsMHgwMywweDAwLDB4MDAsMHhjOCwweDA4LDB4M2EsMHgxMCwweGNlLDB4ODQsMHgwMywweGUwLDB4MDAsMHhmYywweDAwIH0gfSwKLXsgIDE2LCAweDkwOTAsIDAsIHsweDNmLDB4MDAsMHg4ZiwweGMwLDB4MDMsMHhmMCwweDgwLDB4ZmMsMHgwMCwweDNmLDB4MTgsMHgwZiwweGMwLDB4NDMsMHhjYSwweDA0IH0gfSwKLXsgIDE2LCAweDkwYTAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4MjgsMHgwMCwweDhlLDB4MDAsMHhhMSwweDgwIH0gfSwKLXsgIDE2LCAweDkwYjAsIDAsIHsweDBiLDB4ZTAsMHgwMiwweDI4LDB4MDAsMHhkZSwweGMyLDB4MjMsMHg5MCwweDAwLDB4YTAsMHgwMiwweGU4LDB4MDAsMHhiYSwweDAwIH0gfSwKLXsgIDE2LCAweDkwYzAsIDAsIHsweDJlLDB4ODAsMHgwYiwweGEwLDB4MDIsMHhlOCwweDAwLDB4ZmEsMHgwMCwweDJlLDB4ODAsMHgwYiwweGEwLDB4MDIsMHhjYSwweDAwIH0gfSwKLXsgIDE2LCAweDkwZDAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NGMsMHgwMCwweDk5LDB4ODEsMHg2MCwweGMwIH0gfSwKLXsgIDE2LCAweDkwZTAsIDAsIHsweDBiLDB4MTAsMHgwMiwweDBjLDB4MDAsMHg5MCwweDEwLDB4MmEsMHhmYywweDBiLDB4MzAsMHgwMiwweGNjLDB4MDAsMHhiMywweDAwIH0gfSwKLXsgIDE2LCAweDkwZjAsIDAsIHsweDJjLDB4YzAsMHgwYiwweDMwLDB4MDIsMHhjYywweDAwLDB4YjMsMHgwMCwweDJjLDB4YzAsMHgwYiwweDMwLDB4MDIsMHhjYSwweDAwIH0gfSwKLXsgIDE2LCAweDkxMDAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDAxLDB4MWMsMHg4MiwweDk1LDB4NDAsMHgyMSwweGMwIH0gfSwKLXsgIDE2LCAweDkxMTAsIDAsIHsweDBiLDB4NTAsMHgwMiwweDFjLDB4ODAsMHg5MCwweDgwLDB4MjMsMHgwMSwweDA5LDB4NzIsMHgxMiwweGRjLDB4MDAsMHhiNiwweDAwIH0gfSwKLXsgIDE2LCAweDkxMjAsIDAsIHsweDJkLDB4MDAsMHgwYiwweDQwLDB4MDIsMHhkMCwweDAwLDB4YjQsMHgwOSwweDJkLDB4MDAsMHg0YiwweDQwLDB4ODIsMHhlOCwweDAwIH0gfSwKLXsgIDE2LCAweDkxMzAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4M2UsMHg4MCwweGRkLDB4ODAsMHhiMSwweGUwIH0gfSwKLXsgIDE2LCAweDkxNDAsIDAsIHsweDBmLDB4ZGEsMHgwMywweDBmLDB4ODAsMHhkNCwweDgwLDB4MzksMHhlMCwweDBiLDB4N2EsMHgwMywweGRlLDB4MDAsMHhmNSwweDgwIH0gfSwKLXsgIDE2LCAweDkxNTAsIDAsIHsweDNkLDB4MjAsMHgwZiwweDQ4LDB4MDMsMHhkNiwweDEwLDB4ZjYsMHg4MSwweDNkLDB4ZTAsMHg4ZiwweDY4LDB4MDMsMHhlYSwweDAyIH0gfSwKLXsgIDE2LCAweDkxNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDFkLDB4YWMsMHgwMCwweGVkLDB4MDAsMHgzZSwweDAwIH0gfSwKLXsgIDE2LCAweDkxNzAsIDAsIHsweDBmLDB4OTEsMHgwYiwweGVjLDB4MTAsMHhmOCwweDAwLDB4M2UsMHgwMCwweDBlLDB4YjAsMHgwMywweGVjLDB4MDAsMHhmOCwweDAwIH0gfSwKLXsgIDE2LCAweDkxODAsIDAsIHsweDNlLDB4YzAsMHg0ZiwweGIwLDB4MDMsMHhlOCwweDAwLDB4ZTksMHgwMSwweDNlLDB4MDAsMHgwZiwweDkwLDB4MDMsMHhjMiwweDA2IH0gfSwKLXsgIDE2LCAweDkxOTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZmUsMHgyMCwweGJmLDB4ODEsMHgzMywweGE0IH0gfSwKLXsgIDE2LCAweDkxYTAsIDAsIHsweDhjLDB4MTksMHgwMywweDNlLDB4MDAsMHhjZCwweDgwLDB4M2YsMHhlMCwweDBmLDB4ZjgsMHg4MywweDNlLDB4MDAsMHhlZiwweDgwIH0gfSwKLXsgIDE2LCAweDkxYjAsIDAsIHsweDNmLDB4ZTAsMHgwZiwweGY5LDB4MTMsMHhmYSwweDEwLDB4ZmQsMHg4MCwweDNmLDB4YTQsMHgwZiwweGQ4LDB4MDMsMHhjMCwweDAwIH0gfSwKLXsgIDE2LCAweDkxYzAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDExLDB4OWMsMHgwMCwweGJmLDB4MjAsMHgzMSwweGMyIH0gfSwKLXsgIDE2LCAweDkxZDAsIDAsIHsweDA4LDB4NWEsMHgwMiwweDNjLDB4MDIsMHg4NywweDAwLDB4MmQsMHg5NCwweDBiLDB4NzAsMHgwYSwweDFjLDB4NDAsMHg4NiwweDEwIH0gfSwKLXsgIDE2LCAweDkxZTAsIDAsIHsweDJkLDB4MDAsMHgwYiwweDQwLDB4MDIsMHhkNCwweDAwLDB4ZjYsMHgwMCwweDJkLDB4NDAsMHg0YiwweDYwLDB4MDIsMHhlYSwweDA0IH0gfSwKLXsgIDE2LCAweDkxZjAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OWMsMHgwMCwweGI3LDB4MDEsMHgyMywweDgwIH0gfSwKLXsgIDE2LCAweDkyMDAsIDAsIHsweDI4LDB4NTAsMHgwMiwweDFjLDB4MDAsMHg4NCwweDAwLDB4MmQsMHhjMCwweDBiLDB4MzAsMHgwMiwweDFjLDB4MDAsMHhiNSwweDAwIH0gfSwKLXsgIDE2LCAweDkyMTAsIDAsIHsweDJkLDB4MDAsMHgwYiwweDQwLDB4MDYsMHhkMCwweDQwLDB4YjQsMHgwOCwweDJkLDB4ODAsMHgwYiwweDQ4LDB4MDIsMHhjMCwweDAwIH0gfSwKLXsgIDE2LCAweDkyMjAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMCwweDE0LDB4Y2MsMHgwMCwweGIzLDB4MDgsMHhhMCwweDIwIH0gfSwKLXsgIDE2LCAweDkyMzAsIDAsIHsweDA4LDB4MTEsMHg4YSwweDBlLDB4MDAsMHg4MCwweDAwLDB4MmMsMHg5MCwweDBiLDB4MzcsMHgwMiwweDBjLDB4MDAsMHg5MCwweDAwIH0gfSwKLXsgIDE2LCAweDkyNDAsIDAsIHsweDJjLDB4YzAsMHgwYiwweDMwLDB4NDIsMHhjYywweDA0LDB4YTMsMHg4MCwweDJjLDB4NTAsMHgwYiwweDMwLDB4MDIsMHhjOCwweDA0IH0gfSwKLXsgIDE2LCAweDkyNTAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YmMsMHgwMCwweGY5LDB4ODAsMHgzMiwweDYwIH0gfSwKLXsgIDE2LCAweDkyNjAsIDAsIHsweDBjLDB4ZDQsMHgwMywweDNjLDB4ODAsMHg4OCwweDAwLDB4M2UsMHhkMCwweDBmLDB4ZjgsMHgwMywweDI4LDB4MDAsMHhmYSwweDAwIH0gfSwKLXsgIDE2LCAweDkyNzAsIDAsIHsweDNlLDB4YzAsMHgwZiwweGIwLDB4MDcsMHhlYywweDAxLDB4YmIsMHg4MCwweDNlLDB4NTQsMHgwZiwweGIwLDB4MDYsMHhlYSwweDA0IH0gfSwKLXsgIDE2LCAweDkyODAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDAwLDB4ZWUsMHgwOCwweGY5LDB4ODAsMHgzYSwweGMwIH0gfSwKLXsgIDE2LCAweDkyOTAsIDAsIHsweDBmLDB4OTAsMHgwMywweGVjLDB4MDAsMHhmOCwweDQwLDB4M2UsMHg1OCwweDBmLDB4YjAsMHg0MywweGU5LDB4MDAsMHhlYiwweDQ0IH0gfSwKLXsgIDE2LCAweDkyYTAsIDAsIHsweDNlLDB4MDAsMHgwZiwweDgwLDB4MDMsMHhlMCwweDBkLDB4ZjgsMHgwMCwweDNlLDB4ODAsMHgwZiwweDgwLDB4MDMsMHhlMCwweDAwIH0gfSwKLXsgIDE2LCAweDkyYjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZGMsMHgwMCwweGNmLDB4MDAsMHgzMywweDQwIH0gfSwKLXsgIDE2LCAweDkyYzAsIDAsIHsweDBjLDB4ZDAsMHgwMywweDNjLDB4MzAsMHhjYywweDAwLDB4M2IsMHhjMCwweDJkLDB4ZjAsMHgwMywweGQ4LDB4MDIsMHhjYywweDAwIH0gfSwKLXsgIDE2LCAweDkyZDAsIDAsIHsweDNkLDB4MDAsMHgwYywweGMwLDB4MDMsMHhmNCwweDAwLDB4ZWUsMHgwMiwweDM3LDB4NDAsMHgwYywweGUwLDB4MDMsMHhjMCwweDQ0IH0gfSwKLXsgIDE2LCAweDkyZTAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MSwweDA0LDB4NmMsMHgxOCwweDgzLDB4ODQsMHgyMCwweDAwIH0gfSwKLXsgIDE2LCAweDkyZjAsIDAsIHsweDRhLDB4MTAsMHgwMiwweDBjLDB4MDAsMHhhOCwweDQ4LDB4MmUsMHg2MCwweDA4LDB4YjAsMHgwMiwweGU5LDB4MDAsMHg4OSwweDQwIH0gfSwKLXsgIDE2LCAweDkzMDAsIDAsIHsweDJlLDB4YzAsMHgwOCwweGIwLDB4MDIsMHhlOCwweDEwLDB4YjEsMHgwMSwweDIwLDB4ODAsMHgwYSwweDkwLDB4MDMsMHhhMCwweDQwIH0gfSwKLXsgIDE2LCAweDkzMTAsIDAsIHsweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MmMsMHgwMCwweDhiLDB4ODIsMHgyMiwweDA4IH0gfSwKLXsgIDE2LCAweDkzMjAsIDAsIHsweDA4LDB4OTAsMHgwMiwweDJjLDB4MTQsMHg4OCwweDA0LDB4MmMsMHgwOCwweDA4LDB4YjAsMHgxMiwweGU4LDB4MDAsMHg4YSwweDAwIH0gfSwKLXsgIDE2LCAweDkzMzAsIDAsIHsweDJlLDB4YzAsMHgwYSwweGIwLDB4MDIsMHhlOCwweDAxLDB4YjksMHgwMCwweDI2LDB4MDQsMHgwOCwweDkwLDB4MDIsMHhlMCwweDAwIH0gfSwKLXsgIDE2LCAweDkzNDAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA0LDB4MGMsMHgwMCwweDgzLDB4ODAsMHhhMiwweGMwIH0gfSwKLXsgIDE2LCAweDkzNTAsIDAsIHsweDBhLDB4OTIsMHgwMiwweDJjLDB4MDAsMHhhMiwweDAwLDB4MmMsMHgwMCwweDA4LDB4MzQsMHgwMiwweGM4LDB4MDAsMHg4MywweDAwIH0gfSwKLXsgIDE2LCAweDkzNjAsIDAsIHsweDJjLDB4MDAsMHgyOCwweDAwLDB4MDIsMHhjNCwweDAxLDB4YmEsMHgwMCwweDIyLDB4YzAsMHgwMiwweDIwLDB4MDYsMHhjMiwweDAxIH0gfSwKLXsgIDE2LCAweDkzNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4NmMsMHgwMCwweGNhLDB4MDAsMHhiMiwweDAwIH0gfSwKLXsgIDE2LCAweDkzODAsIDAsIHsweDBjLDB4OTIsMHgwYiwweDJjLDB4MDQsMHhjOCwweDA0LDB4M2EsMHgwMCwweDBjLDB4YjQsMHgwMywweGU4LDB4MDAsMHhjOCwweDAwIH0gfSwKLXsgIDE2LCAweDkzOTAsIDAsIHsweDJlLDB4MDAsMHgwYywweDgwLDB4MzMsMHhlMSwweDQwLDB4ZTgsMHgwMCwweDM2LDB4MDAsMHgwYywweDgwLDB4MDMsMHhjMCwweDAzIH0gfSwKLXsgIDE2LCAweDkzYTAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDFkLDB4ZmMsMHgwMCwweGZmLDB4MDAsMHgzZCwweDAwIH0gfSwKLXsgIDE2LCAweDkzYjAsIDAsIHsweDBmLDB4ZDEsMHgwYiwweGZjLDB4MDEsMHhmYywweDAwLDB4M2YsMHgwMCwweDBmLDB4ZjAsMHgwMywweGQ4LDB4MDAsMHhmZCwweDAwIH0gfSwKLXsgIDE2LCAweDkzYzAsIDAsIHsweDNmLDB4YzAsMHgwZiwweGYwLDB4MDMsMHhmYywweDgwLDB4ZmYsMHgwMCwweDNmLDB4YzAsMHgwZiwweGYwLDB4MDcsMHhhOCwweDA2IH0gfSwKLXsgIDE2LCAweDkzZDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDE1LDB4ZjMsMHgwMCwweGNmLDB4ODAsMHgzNSwweDYwIH0gfSwKLXsgIDE2LCAweDkzZTAsIDAsIHsweDRlLDB4NjgsMHg0MywweDVjLDB4MDAsMHhlNywweDgwLDB4MzksMHhjMCwweDBjLDB4YzEsMHgwMywweDdlLDB4MDAsMHhjZiwweDM0IH0gfSwKLXsgIDE2LCAweDkzZjAsIDAsIHsweDM1LDB4ZTEsMHg0ZCwweGYyLDB4MDMsMHg3YywweDAwLDB4ZGYsMHgzOCwweDNmLDB4YzgsMHgwZiwweGY4LDB4MDMsMHhmMCwweDAwIH0gfSwKLXsgIDE2LCAweDk0MDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDE4LDB4YzgsMHgwMCwweGRiLDB4ODQsMHgyMiwweDYwIH0gfSwKLXsgIDE2LCAweDk0MTAsIDAsIHsweDA4LDB4YWMsMHgwYSwweDJjLDB4MDAsMHg4YiwweDgwLDB4MjIsMHgzMCwweDA4LDB4OTEsMHgyMiwweDJjLDB4OTAsMHgyNywweDYxIH0gfSwKLXsgIDE2LCAweDk0MjAsIDAsIHsweDIyLDB4Y2EsMHg4OCwweGZjLDB4MjIsMHhiZiwweDAwLDB4OGIsMHg2MiwweDJmLDB4ZDAsMHgwOSwweGI4LDB4MDMsMHhiMCwweDA0IH0gfSwKLXsgIDE2LCAweDk0MzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjOCwweDA1LDB4ZTIsMHg4MCwweGE5LDB4MDIsMHgyNCwweDQwIH0gfSwKLXsgIDE2LCAweDk0NDAsIDAsIHsweDgyLDB4MzQsMHg0MiwweDA0LDB4MDAsMHhhOSwweDAwLDB4MjgsMHhjNSwweDQ4LDB4MzIsMHgwMiwweDRjLDB4MjAsMHg4MywweDMwIH0gfSwKLXsgIDE2LCAweDk0NTAsIDAsIHsweDIwLDB4YzAsMHgwOCwweDMxLDB4MDIsMHgwZCwweDAwLDB4YjMsMHgyMCwweDJjLDB4YzQsMHgwYiwweDMwLDB4MDIsMHhmMiwweDAxIH0gfSwKLXsgIDE2LCAweDk0NjAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4YWEsMHgwMiwweGI5LDB4MDQsMHgyMiwweDYwIH0gfSwKLXsgIDE2LCAweDk0NzAsIDAsIHsweDI4LDB4YjIsMHgwMiwweDI2LDB4MDAsMHg4OSwweDg4LDB4MDIsMHhjMCwweDA4LDB4MzEsMHgxMiwweGVjLDB4MDAsMHg4YiwweDAwIH0gfSwKLXsgIDE2LCAweDk0ODAsIDAsIHsweDJhLDB4ZDAsMHgwOCwweGIwLDB4MDIsMHhhYywweDAwLDB4MmIsMHgwMCwweDJlLDB4YzAsMHgwYiwweGIwLDB4MDIsMHhiMCwweDA0IH0gfSwKLXsgIDE2LCAweDk0OTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZTIsMHgwMCwweGUzLDB4MDAsMHgzNiwweDIwIH0gfSwKLXsgIDE2LCAweDk0YTAsIDAsIHsweDBlLDB4YTQsMHg2MywweDZlLDB4MDAsMHhlMSwweGMwLDB4MWEsMHhjMSwweDBjLDB4ODAsMHgwMywweDY4LDB4NzAsMHhjYiwweDAwIH0gfSwKLXsgIDE2LCAweDk0YjAsIDAsIHsweDM2LDB4ODAsMHgwZCwweGIwLDB4MDMsMHg0YywweDAwLDB4ZmIsMHgwNCwweDNlLDB4YzEsMHgwZiwweGIwLDB4MDMsMHhkMCwweDA0IH0gfSwKLXsgIDE2LCAweDk0YzAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDAxLDB4YjgsMHgwNCwweGRmLDB4MDAsMHgzZiwweDAwIH0gfSwKLXsgIDE2LCAweDk0ZDAsIDAsIHsweDBmLDB4ZTgsMHgwMywweGZjLDB4MDAsMHhmZCwweDAwLDB4M2YsMHgwMCwweDJiLDB4OTgsMHgwMywweDNhLDB4MDAsMHg3NywweDAwIH0gfSwKLXsgIDE2LCAweDk0ZTAsIDAsIHsweDI3LDB4ZTQsMHgwZiwweGYwLDB4MDMsMHhmYywweDAwLDB4ZGYsMHgwMCwweDNlLDB4YzAsMHgwZCwweGYwLDB4NDMsMHhmOCwweDAwIH0gfSwKLXsgIDE2LCAweDk0ZjAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg1MCwweDAwLDB4YTQsMHg2OCwweGNiLDB4MjAsMHgzYSwweDkwIH0gfSwKLXsgIDE2LCAweDk1MDAsIDAsIHsweDBmLDB4MjQsMHhhMywweGFjLDB4MDAsMHhlOSwweDUwLDB4M2EsMHhjMCwweDBlLDB4YjQsMHg4MywweDJjLDB4MDgsMHhlYiwweDAwIH0gfSwKLXsgIDE2LCAweDk1MTAsIDAsIHsweDNhLDB4OTAsMHgwZSwweGIwLDB4OGIsMHhlYywweDgwLDB4ZmIsMHgwMCwweDNlLDB4YzAsMHgwZSwweGIwLDB4MDMsMHg5MCwweDA0IH0gfSwKLXsgIDE2LCAweDk1MjAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjOCwweDAxLDB4MGEsMHgwMCwweDhiLDB4YTAsMHgyMCwweDgwIH0gfSwKLXsgIDE2LCAweDk1MzAsIDAsIHsweDBkLDB4YTgsMHgwMiwweDJjLDB4MDQsMHg4OSwweDQwLDB4MjgsMHhlOCwweDA4LDB4YjIsMHgwMiwweDJjLDB4MDAsMHhhZiwweDAwIH0gfSwKLXsgIDE2LCAweDk1NDAsIDAsIHsweDAyLDB4ODAsMHgwOCwweDdjLDB4MDMsMHgzZCwweDgwLDB4M2YsMHgwMCwweDJmLDB4YzAsMHgwOCwweGIwLDB4MDIsMHgzNiwweDAwIH0gfSwKLXsgIDE2LCAweDk1NTAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NDksMHgwMCwweDAzLDB4NDAsMHgyOCwweGMwIH0gfSwKLXsgIDE2LCAweDk1NjAsIDAsIHsweDJiLDB4MjgsMHg0YSwweDI4LDB4MDAsMHhhMSwweDAwLDB4NjgsMHhkMiwweDBhLDB4MjAsMHg0MiwweGE0LDB4MDEsMHhhMywweDAwIH0gfSwKLXsgIDE2LCAweDk1NzAsIDAsIHsweDAyLDB4NDAsMHgwYSwweDM0LDB4MDIsMHgwZCwweDAwLDB4MzMsMHgwMCwweDJjLDB4YzAsMHgwYSwweDMwLDB4MDAsMHhiOCwweDAwIH0gfSwKLXsgIDE2LCAweDk1ODAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDAxLDB4MWEsMHgwMCwweDg3LDB4OTAsMHgyMSwweGU0IH0gfSwKLXsgIDE2LCAweDk1OTAsIDAsIHsweDJiLDB4YzgsMHgxMiwweDNhLDB4MDAsMHg4NSwweGMwLDB4MmIsMHgyMSwweDI4LDB4NjgsMHgwMiwweGI2LDB4MDAsMHhhNywweDg0IH0gfSwKLXsgIDE2LCAweDk1YTAsIDAsIHsweDIzLDB4NjAsMHgwOCwweDM4LDB4ODAsMHgxZSwweDAwLDB4YjcsMHg4MCwweDJkLDB4ZTAsMHgwOCwweDc4LDB4MDIsMHgyZSwweDAwIH0gfSwKLXsgIDE2LCAweDk1YjAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MDgsMHgwMCwweGMxLDB4MDAsMHgzOCwweDU0IH0gfSwKLXsgIDE2LCAweDk1YzAsIDAsIHsweDBmLDB4MjYsMHg4MywweDgwLDB4MDAsMHhlMCwweDM0LDB4MjgsMHhjOCwweDBlLDB4MmMsMHgwYiwweDhjLDB4MDAsMHhlMywweDAwIH0gfSwKLXsgIDE2LCAweDk1ZDAsIDAsIHsweDc4LDB4NDUsMHgwZSwweDMwLDB4MDMsMHg4ZSwweDgwLDB4ZjMsMHgwMCwweDNjLDB4YzgsMHgwZSwweDMwLDB4MDMsMHg5MiwweDAyIH0gfSwKLXsgIDE2LCAweDk1ZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDFkLDB4YjgsMHgwMCwweGY1LDB4MDIsMHgzZiwweDQ0IH0gfSwKLXsgIDE2LCAweDk1ZjAsIDAsIHsweDBkLDB4OTAsMHgwMywweGY4LDB4MDAsMHhiZCwweDE0LDB4MWYsMHhjMCwweDBmLDB4ZTEsMHgyMywweDVjLDB4NDQsMHg5ZiwweDQyIH0gfSwKLXsgIDE2LCAweDk2MDAsIDAsIHsweDNmLDB4YzAsMHgwZiwweGY0LDB4ODIsMHg3ZCwweDQwLDB4ZmYsMHgxMCwweDNmLDB4YzAsMHg0ZiwweDcwLDB4MDcsMHhkMCwweDA2IH0gfSwKLXsgIDE2LCAweDk2MTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZTgsMHgwMiwweGNiLDB4MDAsMHgzOCwweGMwIH0gfSwKLXsgIDE2LCAweDk2MjAsIDAsIHsweDNjLDB4YTAsMHgwMywweGVjLDB4MDAsMHhlOSwweDAwLDB4M2UsMHhjMCwweDBjLDB4YjAsMHgwMywweDIwLDB4MDQsMHhmYiwweDIxIH0gfSwKLXsgIDE2LCAweDk2MzAsIDAsIHsweDNlLDB4ODAsMHg0ZiwweGI0LDB4MDMsMHhjZiwweDAwLDB4Y2IsMHgwMCwweDNlLDB4Y2MsMHg0ZiwweGIwLDB4NDMsMHhlYSwweDAwIH0gfSwKLXsgIDE2LCAweDk2NDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjOCwweDkxLDB4OTgsMHgwMCwweDg3LDB4MDAsMHgyMSwweGMwIH0gfSwKLXsgIDE2LCAweDk2NTAsIDAsIHsweDA4LDB4NDAsMHgwMiwweGRjLDB4MDQsMHhiNSwweDAwLDB4MmQsMHgwMCwweDJkLDB4NzAsMHgwMiwweDFjLDB4MWMsMHhiNywweDAyIH0gfSwKLXsgIDE2LCAweDk2NjAsIDAsIHsweDJkLDB4YzAsMHgwYiwweDcyLDB4MDIsMHhkYywweDAwLDB4ODcsMHg0MCwweDJkLDB4Y2EsMHg4YiwweDcwLDB4MDIsMHhmMiwweDA0IH0gfSwKLXsgIDE2LCAweDk2NzAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDAwLDB4YmEsMHgwMCwweDg3LDB4ODgsMHgyYiwweGUwIH0gfSwKLXsgIDE2LCAweDk2ODAsIDAsIHsweDE4LDB4NzgsMHgyMiwweGQ2LDB4MTEsMHhhNCwweDgyLDB4MmYsMHhlMCwweDA4LDB4NzgsMHgwMiwweDEyLDB4MDAsMHhiNywweDk0IH0gfSwKLXsgIDE2LCAweDk2OTAsIDAsIHsweDZkLDB4NjAsMHg0YiwweDdhLDB4MDIsMHhkZSwweDQwLDB4YjcsMHhhMCwweDJkLDB4ZTAsMHgwYiwweDc4LDB4MDYsMHhlMCwweDAwIH0gfSwKLXsgIDE2LCAweDk2YTAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDE0LDB4YzksMHgxMiwweDgzLDB4ODIsMHgyOCwweGQ0IH0gfSwKLXsgIDE2LCAweDk2YjAsIDAsIHsweDk4LDB4MDAsMHgwNiwweGVmLDB4MDUsMHhiMSwweDkwLDB4MmMsMHhjMSwweDA5LDB4YjQsMHgwMiwweDBjLDB4MDQsMHhiMywweDAxIH0gfSwKLXsgIDE2LCAweDk2YzAsIDAsIHsweDZjLDB4ZjAsMHgwYiwweDMwLDB4MDIsMHhjYywweDAwLDB4YmIsMHgwMCwweDJlLDB4YzAsMHgwYiwweDMwLDB4MDIsMHhkMiwweDA0IH0gfSwKLXsgIDE2LCAweDk2ZDAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YjgsMHg0MCwweGNhLDB4ODAsMHgzYiwweGEwIH0gfSwKLXsgIDE2LCAweDk2ZTAsIDAsIHsweDRjLDB4ZTUsMHgwMiwweGY4LDB4ODAsMHhlZSwweDAwLDB4M2QsMHg4MCwweDJjLDB4ZTAsMHgwZiwweDM4LDB4ODAsMHhmYSwweDAwIH0gfSwKLXsgIDE2LCAweDk2ZjAsIDAsIHsweDNmLDB4YTksMHgwZiwweGEwLDB4MDMsMHhlOCwweDAwLDB4YmEsMHgwMiwweDNlLDB4ODAsMHg4YiwweGEwLDB4MDMsMHhmYSwweDA0IH0gfSwKLXsgIDE2LCAweDk3MDAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDAwLDB4ZTAsMHgxMCwweGY4LDB4MDAsMHgyNiwweDAyIH0gfSwKLXsgIDE2LCAweDk3MTAsIDAsIHsweDBmLDB4ODQsMHgwMywweGUwLDB4MjQsMHhmOCwweDAwLDB4M2UsMHgwMCwweDRmLDB4ODAsMHhhMywweGUwLDB4MzAsMHhmOCwweDAwIH0gfSwKLXsgIDE2LCAweDk3MjAsIDAsIHsweDM2LDB4MDIsMHgwZiwweDgwLDB4MjMsMHhlMCwweDA0LDB4MDgsMHgwMCwweDNlLDB4MDAsMHgwZiwweDgwLDB4MDMsMHhkMiwweDAwIH0gfSwKLXsgIDE2LCAweDk3MzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTQsMHgwMCwweGQ5LDB4MDAsMHhiNiwweDQxIH0gfSwKLXsgIDE2LCAweDk3NDAsIDAsIHsweDRlLDB4OTksMHgwYiwweGE0LDB4MDAsMHg2OSwweDEwLDB4M2UsMHg0MCwweDBjLDB4OTAsMHgwMywweGE0LDB4MTAsMHhjOSwweDAwIH0gfSwKLXsgIDE2LCAweDk3NTAsIDAsIHsweDNlLDB4NDAsMHgwZCwweDkyLDB4MDMsMHhlNiwweDAwLDB4ZjksMHgwMCwweDNhLDB4NDAsMHgwZSwweDkwLDB4MDMsMHhjMiwweDA0IH0gfSwKLXsgIDE2LCAweDk3NjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA0LDB4NjQsMHgwMCwweDgxLDB4MDAsMHgyMCwweDQyIH0gfSwKLXsgIDE2LCAweDk3NzAsIDAsIHsweDA4LDB4MTQsMHg5YSwweDI0LDB4MDAsMHg4OSwweDAwLDB4NmUsMHg1MCwweDAwLDB4OTAsMHgwMiwweDI0LDB4MTAsMHhkOSwweDAyIH0gfSwKLXsgIDE2LCAweDk3ODAsIDAsIHsweDZlLDB4NDAsMHgwYiwweDk0LDB4MDMsMHhhNywweDAwLDB4YjksMHgwMCwweDIyLDB4NDAsMHgwOCwweDkwLDB4MDMsMHhlMCwweDAwIH0gfSwKLXsgIDE2LCAweDk3OTAsIDAsIHsweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4MDYsMHgwMCwweDk5LDB4MDAsMHhhNiwweDQxIH0gfSwKLXsgIDE2LCAweDk3YTAsIDAsIHsweDBhLDB4OTAsMHgwNiwweDJjLDB4MDAsMHhhOSwweDA5LDB4NmUsMHg1MCwweDA4LDB4OTEsMHgwMiwweDg0LDB4MDQsMHg4OSwweDAwIH0gfSwKLXsgIDE2LCAweDk3YjAsIDAsIHsweDBlLDB4NDAsMHgwYiwweDk0LDB4MDIsMHhlNSwweDQ5LDB4YjksMHgwMCwweDBhLDB4NDAsMHgwYSwweDkwLDB4MDIsMHhjNiwweDAwIH0gfSwKLXsgIDE2LCAweDk3YzAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA0LDB4MDYsMHgwMCwweDgxLDB4MDAsMHgyMiwweDQwIH0gfSwKLXsgIDE2LCAweDk3ZDAsIDAsIHsweDA4LDB4MTIsMHgyMiwweDA0LDB4ODEsMHhhMSwweDAwLDB4MmMsMHg0MCwweDA4LDB4MTYsMHgwMiwweDA0LDB4MDAsMHg5MSwweDIwIH0gfSwKLXsgIDE2LCAweDk3ZTAsIDAsIHsweDJjLDB4NDAsMHgwYiwweDEyLDB4NDIsMHg4NCwweDg5LDB4YjEsMHgyMCwweDIwLDB4NDgsMHgwOCwweDEwLDB4MDIsMHhjMiwweDAxIH0gfSwKLXsgIDE2LCAweDk3ZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjEsMHg0MCwweGQ4LDB4MDAsMHgzNiwweDAwIH0gfSwKLXsgIDE2LCAweDk4MDAsIDAsIHsweDBhLDB4ODAsMHgwMywweGExLDB4NDAsMHhlOCwweDAwLDB4MmUsMHgwMCwweDBjLDB4MDAsMHgyMywweGExLDB4NDAsMHhjOCwweDUwIH0gfSwKLXsgIDE2LCAweDk4MTAsIDAsIHsweDJlLDB4MTQsMHgwZCwweDgwLDB4MDMsMHhlMCwweDAwLDB4ZjgsMHg1MCwweDNhLDB4MDAsMHgwZSwweDgwLDB4MDMsMHhlZSwweDAzIH0gfSwKLXsgIDE2LCAweDk4MjAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDFkLDB4ZDQsMHgwMCwweGY1LDB4MDAsMHhiZiwweDQwIH0gfSwKLXsgIDE2LCAweDk4MzAsIDAsIHsweDBmLDB4ZDEsMHgwMywweGY0LDB4NDQsMHhkZCwweDAyLDB4M2QsMHg1MCwweDJiLDB4ZDEsMHgyMywweGY0LDB4MDAsMHhmOSwweDEwIH0gfSwKLXsgIDE2LCAweDk4NDAsIDAsIHsweDNmLDB4NDAsMHgwZCwweDkxLDB4MDMsMHhhNCwweDQ4LDB4ZjksMHgxMiwweDNlLDB4NGUsMHgxZiwweDkwLDB4MDMsMHhhNiwweDAyIH0gfSwKLXsgIDE2LCAweDk4NTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDE1LDB4ZjQsMHgwMCwweGM1LDB4MDQsMHgzYiwweDQwIH0gfSwKLXsgIDE2LCAweDk4NjAsIDAsIHsweDBmLDB4ZDgsMHgwMywweGE3LDB4ODAsMHhmZCwweDAwLDB4YjMsMHg2OCwweDBkLDB4ZDgsMHg0MywweGE1LDB4MTAsMHhjOSwweGEwIH0gfSwKLXsgIDE2LCAweDk4NzAsIDAsIHsweDMyLDB4NTEsMHg0ZiwweDVhLDB4NDMsMHgzNiwweDAwLDB4YzksMHhhMCwweDdhLDB4NjgsMHgwYiwweGQwLDB4MDMsMHhjNiwweDAxIH0gfSwKLXsgIDE2LCAweDk4ODAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg3OCwweDE4LDB4Y2EsMHg4OCwweDg4LDB4MDIsMHgwMiwweDAwIH0gfSwKLXsgIDE2LCAweDk4OTAsIDAsIHsweDhkLDB4ODQsMHgyMiwweDIzLDB4NDIsMHhmOCwweDAwLDB4MjIsMHgwNCwweDI4LDB4OGEsMHhhMiwweGFhLDB4OTQsMHg4OCwweGU5IH0gfSwKLXsgIDE2LCAweDk4YTAsIDAsIHsweDIwLDB4YTgsMHgwYSwweDgwLDB4MGEsMHgyMSwweDQwLDB4ODAsMHhlMiwweDJlLDB4MjgsMHgwYiwweDgwLDB4MDIsMHhjZSwweDA0IH0gfSwKLXsgIDE2LCAweDk4YjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA1LDB4YzQsMHgyMCwweGExLDB4MDQsMHhhOCwweGMwIH0gfSwKLXsgIDE2LCAweDk4YzAsIDAsIHsweDBiLDB4MWMsMHgyYSwweDI0LDB4MDAsMHgzOSwweDA0LDB4MjAsMHg0MCwweDJhLDB4MWUsMHgwMiwweGU0LDB4ODAsMHhiMSwweDEwIH0gfSwKLXsgIDE2LCAweDk4ZDAsIDAsIHsweDJhLDB4NDgsMHgwOSwweDE0LDB4NDYsMHgwNCwweDAwLDB4ODEsMHgzOCwweDJjLDB4NWIsMHgwYiwweDEwLDB4MDIsMHhkMiwweDAwIH0gfSwKLXsgIDE2LCAweDk4ZTAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4YTQsMHgxMiwweGE5LDB4MjQsMHgyMiwweDQwIH0gfSwKLXsgIDE2LCAweDk4ZjAsIDAsIHsweDI5LDB4OTAsMHgwMiwweDI0LDB4MDAsMHgzOSwweDAwLDB4MDIsMHg1OCwweDA4LDB4MTgsMHgxMCwweGU2LDB4MDEsMHhiOSwweDAwIH0gfSwKLXsgIDE2LCAweDk5MDAsIDAsIHsweGFhLDB4NDQsMHgwOCwweDkwLDB4MDIsMHgyNCwweDAwLDB4ODksMHgwMCwweDBlLDB4NDEsMHgwYiwweDkwLDB4MDIsMHhjNiwweDA0IH0gfSwKLXsgIDE2LCAweDk5MTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDA1LDB4ZTQsMHgwMCwweGUxLDB4MDEsMHgyYSwweDY0IH0gfSwKLXsgIDE2LCAweDk5MjAsIDAsIHsweDJmLDB4OTQsMHgxMywweDI0LDB4MDIsMHg3MSwweDYwLDB4MTIsMHg2MCwweDRkLDB4OTAsMHgwMCwweGM1LDB4MDIsMHhmOSwweDAwIH0gfSwKLXsgIDE2LCAweDk5MzAsIDAsIHsweDNhLDB4NDAsMHgwZiwweDkwLDB4MjMsMHgyNCwweDAyLDB4YzksMHgwMiwweDNhLDB4NDAsMHgwZiwweDkwLDB4MDIsMHhlOCwweDA0IH0gfSwKLXsgIDE2LCAweDk5NDAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg2OCwweDAxLDB4YTQsMHgwMCwweGQ5LDB4MDAsMHgzZSwweDYwIH0gfSwKLXsgIDE2LCAweDk5NTAsIDAsIHsweGFmLDB4OTAsMHg4MywweDY0LDB4ODgsMHhmOSwweDIwLDB4M2UsMHg2MiwweDAzLDB4OTAsMHg4MywweGE0LDB4MDAsMHhjOSwweDAwIH0gfSwKLXsgIDE2LCAweDk5NjAsIDAsIHsweDM2LDB4NjAsMHgwZiwweDEwLDB4MDMsMHhjNCwweDAwLDB4ZjksMHgwMCwweDdlLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhkYSwweDAwIH0gfSwKLXsgIDE2LCAweDk5NzAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDAwLDB4YTEsMHgwMCwweGM4LDB4ODIsMHgzMiwweDAwIH0gfSwKLXsgIDE2LCAweDk5ODAsIDAsIHsweDZmLDB4MDAsMHgwMywweGEwLDB4MDAsMHhkOCwweDQwLDB4MzAsMHgwMCwweDBlLDB4ODAsMHgwMywweDYwLDB4MDQsMHhmOCwweDAxIH0gfSwKLXsgIDE2LCAweDk5OTAsIDAsIHsweDNlLDB4MTAsMHg0ZiwweDgwLDB4OGIsMHgyMiwweDAwLDB4ZjgsMHgwMCwweDMyLDB4MDEsMHgwZSwweDgwLDB4MDMsMHhjYSwweDA0IH0gfSwKLXsgIDE2LCAweDk5YTAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDAxLDB4MzgsMHgwMCwweDBlLDB4MDAsMHhhOSwweDkwIH0gfSwKLXsgIDE2LCAweDk5YjAsIDAsIHsweDJmLDB4ZTYsMHgyMCwweDg4LDB4MDAsMHg5ZSwweDgwLDB4MjMsMHg4MCwweDBhLDB4ZTgsMHgwMywweDI4LDB4MDAsMHhiYSwweDAwIH0gfSwKLXsgIDE2LCAweDk5YzAsIDAsIHsweDE4LDB4ODAsMHgwZCwweGVjLDB4MDIsMHgzOCwweDgwLDB4YmEsMHgwMCwweGEyLDB4ODAsMHgwOCwweGEwLDB4MDMsMHg4YSwweDAwIH0gfSwKLXsgIDE2LCAweDk5ZDAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NmMsMHgwMiwweDgzLDB4ODAsMHgyMCwweGM4IH0gfSwKLXsgIDE2LCAweDk5ZTAsIDAsIHsweDBiLDB4MjAsMHgwMiwweDBjLDB4MDEsMHg5MiwweDEwLDB4NjgsMHhjMCwweDNhLDB4M2MsMHgwMiwweGNjLDB4MTAsMHgzYiwweDAyIH0gfSwKLXsgIDE2LCAweDk5ZjAsIDAsIHsweDBjLDB4YzAsMHgyOCwweDNjLDB4MDIsMHg0ZSwweDAwLDB4YjMsMHgwMCwweDI4LDB4YzAsMHgyOCwweDMwLDB4MDIsMHhjYSwweDAwIH0gfSwKLXsgIDE2LCAweDlhMDAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDAxLDB4MTQsMHgwMCwweDg3LDB4NDIsMHgyYiwweGMwIH0gfSwKLXsgIDE2LCAweDlhMTAsIDAsIHsweDI5LDB4NzAsMHgyMiwweDljLDB4MDAsMHhiNiwweDAwLDB4MmIsMHhjMiwweDBhLDB4NjAsMHg4NiwweDFjLDB4MDAsMHhiNywweDIxIH0gfSwKLXsgIDE2LCAweDlhMjAsIDAsIHsweDI5LDB4YzAsMHgwMCwweDc0LDB4MDIsMHg1YywweDAwLDB4MzcsMHg5MSwweDAxLDB4ZTAsMHgwOCwweDc0LDB4MDIsMHhhOCwweDAwIH0gfSwKLXsgIDE2LCAweDlhMzAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MWUsMHgwMCwweGM3LDB4ODAsMHgyMSwweGUwIH0gfSwKLXsgIDE2LCAweDlhNDAsIDAsIHsweDJmLDB4NzgsMHgwMiwweDllLDB4MDAsMHg5NiwweDgwLDB4MzksMHhlMCwweDJlLDB4ZjgsMHgwMywweGRlLDB4MzAsMHhmNywweGQwIH0gfSwKLXsgIDE2LCAweDlhNTAsIDAsIHsweDJkLDB4ZjIsMHgwMCwweDc4LDB4MDMsMHg1MiwweDAwLDB4ZjcsMHhhMiwweDNiLDB4ZTAsMHgwZSwweDc4LDB4MDcsMHhlYSwweDAyIH0gfSwKLXsgIDE2LCAweDlhNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDFkLDB4YjQsMHgwMCwweGZiLDB4MDAsMHgwYywweGMwIH0gfSwKLXsgIDE2LCAweDlhNzAsIDAsIHsweDBmLDB4MzAsMHgwMywweGVjLDB4MTAsMHhkMywweDAwLDB4YjQsMHhjMCwweDJmLDB4ODAsMHgwMywweDZjLDB4NDgsMHhmYiwweDAwIH0gfSwKLXsgIDE2LCAweDlhODAsIDAsIHsweDNlLDB4YzgsMHg0ZCwweDkwLDB4MDMsMHhhNCwweDAwLDB4ZmIsMHgyMCwweDFlLDB4YzAsMHgwZiwweGIwLDB4MDMsMHhjMiwweDA2IH0gfSwKLXsgIDE2LCAweDlhOTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZmUsMHgwMCwweGNjLDB4ODAsMHgyYiwweDJjIH0gfSwKLXsgIDE2LCAweDlhYTAsIDAsIHsweDJmLDB4ZjgsMHgwMywweDdlLDB4MDAsMHg2ZSwweDgwLDB4M2IsMHhhMSwweDBkLDB4ZDgsMHg0MywweDNlLDB4MDAsMHhmZiwweDkwIH0gfSwKLXsgIDE2LCAweDlhYjAsIDAsIHsweDMzLDB4ZTAsMHgwZiwweGU5LDB4MzMsMHhmZSwweDAwLDB4Y2YsMHhjMCwweDNmLDB4ZTIsMHgwZiwweGQ4LDB4MDMsMHhjMCwweDAwIH0gfSwKLXsgIDE2LCAweDlhYzAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDExLDB4YjQsMHg0MCwweDg3LDB4MDAsMHgyMSwweDA0IH0gfSwKLXsgIDE2LCAweDlhZDAsIDAsIHsweDA4LDB4NzgsMHgwMiwweDFjLDB4MDAsMHg4NiwweDAwLDB4MjEsMHhjMCwweDI4LDB4OTAsMHgwMiwweGRjLDB4MDAsMHhiNywweDEwIH0gfSwKLXsgIDE2LCAweDlhZTAsIDAsIHsweDIxLDB4YzAsMHgwZiwweDczLDB4MDIsMHhjYywweDAwLDB4ODcsMHgwMCwweDJkLDB4YzAsMHgwYiwweDUwLDB4MDIsMHhlYSwweDAwIH0gfSwKLXsgIDE2LCAweDlhZjAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OWQsMHgwMCwweGE0LDB4MDAsMHgyOSwweDQ4IH0gfSwKLXsgIDE2LCAweDliMDAsIDAsIHsweDZhLDB4ZjAsMHg4MiwweDRjLDB4MDAsMHhhZSwweDAwLDB4YTEsMHhjNCwweDI5LDB4NzQsMHgwMiwweDVjLDB4NDAsMHhhMywweDEwIH0gfSwKLXsgIDE2LCAweDliMTAsIDAsIHsweDYxLDB4YzIsMHgwYiwweDYwLDB4MDYsMHhjOCwweDAwLDB4ODcsMHgwMCwweDJkLDB4YzAsMHgwYiwweDUwLDB4MDIsMHhjMCwweDA0IH0gfSwKLXsgIDE2LCAweDliMjAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMCwweDE0LDB4ZTYsMHgwMSwweGEzLDB4MDIsMHgyMCwweDQwIH0gfSwKLXsgIDE2LCAweDliMzAsIDAsIHsweDI4LDB4M2MsMHgwMiwweDBjLDB4MDAsMHg4MywweDQyLDB4MjAsMHhjOCwweDA4LDB4MTAsMHgwMiwweGNkLDB4MDAsMHhiMywweDAwIH0gfSwKLXsgIDE2LCAweDliNDAsIDAsIHsweDI4LDB4ZjAsMHgwYiwweDMwLDB4MDIsMHhjYywweDAxLDB4ODMsMHgwNCwweDJjLDB4YzAsMHg4MywweDEwLDB4MDIsMHhjOCwweDA0IH0gfSwKLXsgIDE2LCAweDliNTAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YWEsMHg4MCwweGViLDB4MDAsMHgzOCwweGMwIH0gfSwKLXsgIDE2LCAweDliNjAsIDAsIHsweDBhLDB4OTAsMHgwMywweDdjLDB4MjIsMHhhMiwweDQwLDB4MzIsMHg0OCwweDBkLDB4YjAsMHgwYiwweDNlLDB4MDAsMHhmZiwweDAwIH0gfSwKLXsgIDE2LCAweDliNzAsIDAsIHsweDMzLDB4ZjQsMHgwZiwweDkwLDB4MDMsMHhlYywweDAwLDB4OGYsMHgwMiwweDNmLDB4YzAsMHgwZiwweDkwLDB4MDMsMHhlYSwweDA0IH0gfSwKLXsgIDE2LCAweDliODAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDAwLDB4ZTAsMHgwMCwweGQ5LDB4MDIsMHgzZSwweGMwIH0gfSwKLXsgIDE2LCAweDliOTAsIDAsIHsweDBlLDB4YjYsMHgwMywweGVjLDB4MDAsMHhmYSwweDIwLDB4M2UsMHhjMCwweDRmLDB4MjQsMHgyMywweGFjLDB4NjAsMHhmYiwweDAwIH0gfSwKLXsgIDE2LCAweDliYTAsIDAsIHsweGE2LDB4YzAsMHgwZSwweDkwLDB4MDMsMHhlNCwweDAwLDB4ZmIsMHgwMCwweDNjLDB4YzEsMHgwZiwweDkwLDB4MDMsMHhlMCwweDAwIH0gfSwKLXsgIDE2LCAweDliYjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZjgsMHgwMiwweGNmLDB4MDAsMHgzMywweGUwIH0gfSwKLXsgIDE2LCAweDliYzAsIDAsIHsweDJjLDB4ZjAsMHgxMywweGJjLDB4MDAsMHgyZSwweDEwLDB4YjEsMHg2NCwweDJlLDB4ZjAsMHgwMiwweDNjLDB4MDAsMHhmZiwweDAyIH0gfSwKLXsgIDE2LCAweDliZDAsIDAsIHsweDNmLDB4YzEsMHg0ZCwweGVjLDB4NjMsMHhmZSwweDAwLDB4YjcsMHgwMCwweDNiLDB4YzAsMHgwYywweGQ4LDB4MDMsMHhjMCwweDQ0IH0gfSwKLXsgIDE2LCAweDliZTAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA0LDB4NmMsMHgyOCwweDgxLDB4ODEsMHgyMiwweGUwIH0gfSwKLXsgIDE2LCAweDliZjAsIDAsIHsweDBhLDB4MzgsMHgwMiwweDNjLDB4MDQsMHhiYSwweGM5LDB4MzIsMHhlMCwweDIwLDB4ODQsMHgwMiwweDJjLDB4MDAsMHhiYiwweDAwIH0gfSwKLXsgIDE2LCAweDljMDAsIDAsIHsweDJlLDB4YzAsMHgwYiwweDljLDB4MDIsMHhlNywweDgxLDB4YmIsMHgwNCwweDIyLDB4YzAsMHgwYSwweDk5LDB4MDIsMHhlMCwweDAwIH0gfSwKLXsgIDE2LCAweDljMTAsIDAsIHsweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MjgsMHg0MCwweDg4LDB4ODAsMHgyMiwweDg4IH0gfSwKLXsgIDE2LCAweDljMjAsIDAsIHsweDI4LDB4YmMsMHg0MiwweGFjLDB4MDAsMHhiYSwweDAwLDB4MmEsMHg4MCwweDA4LDB4ODQsMHgwMiwweGFjLDB4MDAsMHhiYiwweDAwIH0gfSwKLXsgIDE2LCAweDljMzAsIDAsIHsweDJlLDB4YzAsMHgwYiwweGIwLDB4ODIsMHhlOCwweDkwLDB4YWIsMHgwMCwweDYyLDB4YzAsMHgwOCwweGIwLDB4MTIsMHhlMCwweDAwIH0gfSwKLXsgIDE2LCAweDljNDAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA0LDB4MDAsMHgwMCwweDg5LDB4MDAsMHgyYSwweDgwIH0gfSwKLXsgIDE2LCAweDljNTAsIDAsIHsweDI4LDB4YjIsMHgwMiwweDBjLDB4MDAsMHhiYSwweDAwLDB4MjAsMHhjMCwweDA4LDB4MDAsMHgwMiwweDhjLDB4MDAsMHhiMywweDAwIH0gfSwKLXsgIDE2LCAweDljNjAsIDAsIHsweDJjLDB4YzAsMHgwYiwweDMwLDB4MjAsMHg0YywweDE0LDB4YjMsMHgwMCwweDIwLDB4YzAsMHgwOCwweDMwLDB4MDIsMHhjMiwweDAxIH0gfSwKLXsgIDE2LCAweDljNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4NjgsMHgwMCwweGM4LDB4MDAsMHhiMiwweGMwIH0gfSwKLXsgIDE2LCAweDljODAsIDAsIHsweDJjLDB4YjIsMHgwMywweGFjLDB4MDAsMHhmYSwweDAwLDB4M2EsMHhjMCwweDRlLDB4YTUsMHgwMywweGJjLDB4MDAsMHhmZiwweDAwIH0gfSwKLXsgIDE2LCAweDljOTAsIDAsIHsweDNmLDB4YzAsMHgwOSwweGEwLDB4MDMsMHhlOSwweDA0LDB4ZWYsMHgwMCwweGJhLDB4YzAsMHgwYywweGIwLDB4MDEsMHhjMCwweDAxIH0gfSwKLXsgIDE2LCAweDljYTAsIDAsIHsweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE5LDB4ZmMsMHgwMCwweGY1LDB4MDAsMHgzNSwweGMwIH0gfSwKLXsgIDE2LCAweDljYjAsIDAsIHsweGFmLDB4MzQsMHgwMywweGZjLDB4MDAsMHhmNCwweDAwLDB4MzksMHhjMCwweDBmLDB4YzIsMHgwMywweDdjLDB4MDAsMHhmZiwweDAxIH0gfSwKLXsgIDE2LCAweDljYzAsIDAsIHsweDNmLDB4YzAsMHgwZiwweGYwLDB4MDMsMHhmYywweGEwLDB4ZmYsMHgwMCwweDNmLDB4YzAsMHgwZiwweGYwLDB4MDMsMHhlOCwweDA1IH0gfSwKLXsgIDE2LCAweDljZDAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZmMsMHgwMCwweGZmLDB4MjksMHgzZCwweDIwIH0gfSwKLXsgIDE2LCAweDljZTAsIDAsIHsweDhlLDB4YzEsMHgwMywweDMyLDB4NDgsMHhkYywweDgwLDB4MjMsMHgyNSwweDBlLDB4ZjIsMHgwMywweDNjLDB4YzAsMHhkZiwweDg0IH0gfSwKLXsgIDE2LCAweDljZjAsIDAsIHsweDMzLDB4YzksMHgwZiwweGYyLDB4MDMsMHhmYywweDAwLDB4Y2YsMHg4MCwweDMzLDB4NDAsMHgwYywweGYyLDB4MDMsMHgzMCwweDAwIH0gfSwKLXsgIDE2LCAweDlkMDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDEwLDB4ZWMsMHhjMCwweGJiLDB4NjAsMHgyZSwweDA4IH0gfSwKLXsgIDE2LCAweDlkMTAsIDAsIHsweDA4LDB4ODEsMHgwMiwweDIwLDB4MDQsMHg4OCwweDIwLDB4MjAsMHg0OCwweDA4LDB4ZjEsMHg4MiwweDJkLDB4YzAsMHg4MywweDAwIH0gfSwKLXsgIDE2LCAweDlkMjAsIDAsIHsweDIyLDB4ZDQsMHgwOSwweGY1LDB4MDIsMHhmYywweDA4LDB4OGIsMHgwMSwweDIyLDB4NDAsMHgyOCwweGI0LDB4MDIsMHgyMCwweDA0IH0gfSwKLXsgIDE2LCAweDlkMzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4Y2MsMHgyMCwweGIzLDB4MDksMHgyYywweDgyIH0gfSwKLXsgIDE2LCAweDlkNDAsIDAsIHsweDA4LDB4MTAsMHgxNiwweGEwLDB4MTAsMHg5MCwweDA4LDB4MjgsMHg0OCwweDBhLDB4MzIsMHgwMiwweDBjLDB4MDAsMHhiYiwweDAwIH0gfSwKLXsgIDE2LCAweDlkNTAsIDAsIHsweDJjLDB4YzAsMHgwYiwweDMwLDB4MDIsMHhjYywweDAyLDB4OTMsMHgwMSwweDIwLDB4MDAsMHg4YSwweDMxLDB4MjIsMHhlMiwweDAxIH0gfSwKLXsgIDE2LCAweDlkNjAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDE1LDB4YWMsMHgwNCwweGJiLDB4MDAsMHgyYywweDgwIH0gfSwKLXsgIDE2LCAweDlkNzAsIDAsIHsweDA4LDB4ODYsMHgwMiwweGEwLDB4MjAsMHhhMCwweDAwLDB4MmEsMHg2MCwweDBhLDB4YjAsMHgxMCwweDJjLDB4MDAsMHhhYiwweDBjIH0gfSwKLXsgIDE2LCAweDlkODAsIDAsIHsweDZlLDB4YzAsMHgwOSwweGIwLDB4MDIsMHhjYywweDAwLDB4OWIsMHgwMCwweDIyLDB4NjAsMHgwYSwweGIwLDB4MDIsMHhmMCwweDA0IH0gfSwKLXsgIDE2LCAweDlkOTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE1LDB4ZWMsMHgwMCwweGJiLDB4MDAsMHgzZSwweDM0IH0gfSwKLXsgIDE2LCAweDlkYTAsIDAsIHsweDA4LDB4YTAsMHgwYiwweDgzLDB4MDAsMHhkOSwweDAyLDB4M2EsMHhlMCwweDJlLDB4YjAsMHgwYiwweDJjLDB4MDAsMHhmOCwweDgwIH0gfSwKLXsgIDE2LCAweDlkYjAsIDAsIHsweDNlLDB4YzAsMHg0ZiwweGIwLDB4MDMsMHhlYywweDAwLDB4Y2EsMHg0MCwweGIyLDB4NzIsMHgwZSwweGIwLDB4MGIsMHhjMCwweDA0IH0gfSwKLXsgIDE2LCAweDlkYzAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDAxLDB4YmMsMHgxMCwweGZiLDB4MDAsMHgzZiwweDAwIH0gfSwKLXsgIDE2LCAweDlkZDAsIDAsIHsweDBkLDB4ZjgsMHgxMywweDcwLDB4NDgsMHhkZCwweDQwLDB4MzcsMHhjMiwweDhkLDB4ZjAsMHgwMywweGRjLDB4MDAsMHhkZCwweGM4IH0gfSwKLXsgIDE2LCAweDlkZTAsIDAsIHsweDEzLDB4YzAsMHgwZiwweGYwLDB4MDMsMHhmYywweDAwLDB4ZWUsMHg0MCwweDdmLDB4NDAsMHgwZCwweDcwLDB4MDMsMHgzOCwweDAwIH0gfSwKLXsgIDE2LCAweDlkZjAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YWMsMHgwMCwweGZiLDB4MDEsMHgzMiwweGMwIH0gfSwKLXsgIDE2LCAweDllMDAsIDAsIHsweDA0LDB4MTAsMHgwMywweDIwLDB4NDAsMHhlOCwweDEwLDB4M2EsMHhjMCwweDBkLDB4YjAsMHgwMywweGFjLDB4MDgsMHhmOCwweDQwIH0gfSwKLXsgIDE2LCAweDllMTAsIDAsIHsweGIyLDB4YzAsMHgyYywweGIwLDB4MzMsMHhhNCwweDgyLDB4ZGEsMHg0MCwweGJhLDB4NDAsMHgwZiwweGIwLDB4MDMsMHhkMCwweDA0IH0gfSwKLXsgIDE2LCAweDllMjAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjOCwweDA1LDB4M2MsMHgwOCwweGJmLDB4ODAsMHgyMiwweGM4IH0gfSwKLXsgIDE2LCAweDllMzAsIDAsIHsweDA4LDB4YjcsMHgwMCwweDIzLDB4NDQsMHg4OCwweGQwLDB4MjIsMHhkMCwweDA4LDB4NzAsMHg4MiwweGZjLDB4MDAsMHhiMiwweGUwIH0gfSwKLXsgIDE2LCAweDllNDAsIDAsIHsweDAzLDB4ZjQsMHgwOCwweGY1LDB4MDIsMHgzNywweDA0LDB4OGIsMHhkMSwweDIyLDB4NjAsMHg0YiwweGZkLDB4MDIsMHhmMiwweDAwIH0gfSwKLXsgIDE2LCAweDllNTAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NGMsMHgwMCwweGIzLDB4MTAsMHhhNCwweDQwIH0gfSwKLXsgIDE2LCAweDllNjAsIDAsIHsweDA4LDB4MDAsMHgwMiwweDQ4LDB4MDAsMHhhMCwweDQyLDB4MmEsMHhkMCwweDAxLDB4MzAsMHgwMiwweDhjLDB4MDAsMHhiMywweDgwIH0gfSwKLXsgIDE2LCAweDllNzAsIDAsIHsweDJjLDB4YzAsMHgwOSwweDMxLDB4MDIsMHhjYywweDAwLDB4ODksMHgwMCwweDIyLDB4ZTgsMHgwMywweDM4LDB4MDIsMHhmOCwweDAwIH0gfSwKLXsgIDE2LCAweDllODAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg2MCwweDAxLDB4MWUsMHgwMCwweGI3LDB4ODAsMHgyNywweDY0IH0gfSwKLXsgIDE2LCAweDllOTAsIDAsIHsweDY4LDB4NGEsMHgwMiwweDUyLDB4MDAsMHg4YywweDgwLDB4MjEsMHhlMCwweDA4LDB4NzgsMHgwMiwweGRlLDB4MDAsMHhiNywweDgwIH0gfSwKLXsgIDE2LCAweDllYTAsIDAsIHsweDJkLDB4ZTIsMHgxOSwweDM5LDB4MDIsMHg1ZSwweDMwLDB4ODUsMHg5OCwweDIxLDB4ZTQsMHgwYiwweDc5LDB4MDIsMHhkOCwweDAwIH0gfSwKLXsgIDE2LCAweDllYjAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MGMsMHgwMCwweGYzLDB4MjAsMHgzNCwweDAwIH0gfSwKLXsgIDE2LCAweDllYzAsIDAsIHsweDBjLDB4YjgsMHgwMywweDQ4LDB4ODAsMHhlMiwweDIyLDB4MzgsMHhjMCwweDBkLDB4MzAsMHgwMywweDhjLDB4MDAsMHhmMywweDAwIH0gfSwKLXsgIDE2LCAweDllZDAsIDAsIHsweDNlLDB4YzAsMHgwZCwweDMxLDB4MDMsMHhlYywweDAwLDB4Y2IsMHgwMCwweDM4LDB4MDYsMHgwZiwweDMwLDB4ODMsMHhkMiwweDAyIH0gfSwKLXsgIDE2LCAweDllZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDFkLDB4YmMsMHgwMCwweGZmLDB4MDAsMHgzYiwweDAxIH0gfSwKLXsgIDE2LCAweDllZjAsIDAsIHsweDBmLDB4ZDAsMHgwMywweDkwLDB4MDAsMHhmNiwweDAwLDB4M2YsMHhjMCwweDBmLDB4ZjQsMHgwMSwweGZjLDB4MDAsMHhmZiwweDAxIH0gfSwKLXsgIDE2LCAweDlmMDAsIDAsIHsweDMzLDB4YzIsMHgwZSwweGY1LDB4MTMsMHhiYywweDAwLDB4ZWQsMHgwMCwweDNmLDB4YzQsMHgwZiwweGYwLDB4MDMsMHhkMCwweDA2IH0gfSwKLXsgIDE2LCAweDlmMTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZWMsMHgwMCwweGZiLDB4MDAsMHgzYywweGMwIH0gfSwKLXsgIDE2LCAweDlmMjAsIDAsIHsweDBlLDB4YTAsMHgwMSwweDY0LDB4MDEsMHhkOCwweDAwLDB4MzIsMHhlMCwweDJjLDB4YjUsMHgwMywweDJjLDB4MDAsMHhmMiwweDAwIH0gfSwKLXsgIDE2LCAweDlmMzAsIDAsIHsweDdhLDB4YzAsMHgwZCwweGI0LDB4MDMsMHgyZCwweDgwLDB4YzksMHgwMiwweDMyLDB4YzAsMHgwYywweGIwLDB4MDMsMHgyYSwweDAwIH0gfSwKLXsgIDE2LCAweDlmNDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDExLDB4OWMsMHg4MCwweGI3LDB4MDAsMHgyZCwweGMwIH0gfSwKLXsgIDE2LCAweDlmNTAsIDAsIHsweDBkLDB4NjAsMHgwMiwweGQwLDB4MDEsMHg4NCwweDAwLDB4MjEsMHhjMCwweDA4LDB4MzAsMHgwMiwweDFkLDB4MDAsMHhiNywweDAwIH0gfSwKLXsgIDE2LCAweDlmNjAsIDAsIHsweDIxLDB4YzgsMHgwYiwweGY0LDB4MDMsMHgxZSwweGMwLDB4ODYsMHgwMCwweDIxLDB4YzAsMHgwOCwweDdjLDB4MDMsMHg1MiwweDA0IH0gfSwKLXsgIDE2LCAweDlmNzAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4OWUsMHhjMCwweGI3LDB4OTAsMHgyZCwweGUwIH0gfSwKLXsgIDE2LCAweDlmODAsIDAsIHsweDA4LDB4NzgsMHgwNiwweGQ2LDB4MDEsMHhiNCwweDgyLDB4MjEsMHhlMCwweDA4LDB4NzgsMHgwYSwweDFlLDB4MDAsMHhiNSwweGMwIH0gfSwKLXsgIDE2LCAweDlmOTAsIDAsIHsweDI5LDB4ZTgsMHgwOSwweDc4LDB4MDIsMHgzNiwweGMxLDB4OTcsMHg4MCwweDI4LDB4YjAsMHgwYSwweDdhLDB4MDIsMHgzMCwweDAwIH0gfSwKLXsgIDE2LCAweDlmYTAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDE0LDB4Y2MsMHgwMCwweGJiLDB4MDAsMHgyYywweGUwIH0gfSwKLXsgIDE2LCAweDlmYjAsIDAsIHsweDA5LDB4MzUsMHg4MiwweGMwLDB4YzEsMHhhMCwweDUxLDB4MjAsMHhlNCwweDA4LDB4MzAsMHgwMiwweDhjLDB4MDAsMHhiYiwweGM0IH0gfSwKLXsgIDE2LCAweDlmYzAsIDAsIHsweDIwLDB4YzAsMHgwYiwweDMwLDB4MDIsMHgwNiwweDAwLDB4OTMsMHgxOCwweGFhLDB4YjAsMHgyYSwweDMwLDB4MGEsMHg1MiwweDA0IH0gfSwKLXsgIDE2LCAweDlmZDAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YTgsMHgwMCwweGZhLDB4MDEsMHgzZCwweGFjIH0gfSwKLXsgIDE2LCAweDlmZTAsIDAsIHsweDRjLDB4ZWMsMHgxMywweDc4LDB4MTAsMHhmNiwweDgwLDB4YjMsMHg5MCwweDBjLDB4YTAsMHgwMywweDI4LDB4MDAsMHhmZSwweDAwIH0gfSwKLXsgIDE2LCAweDlmZjAsIDAsIHsweDNhLDB4ODEsMHgwZCwweGEwLDB4MGYsMHgyYSwweDgwLDB4ZGUsMHgwNCwweDNiLDB4YTAsMHgwZSwweGEwLDB4MDMsMHgzYSwweDA0IH0gfSwKLXsgIDE2LCAweGEwMDAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDAwLDB4ZTAsMHgwMCwweGY4LDB4MDAsMHgzZSwweDAwIH0gfSwKLXsgIDE2LCAweGEwMTAsIDAsIHsweDBkLDB4ODAsMHgwMiwweGUxLDB4MDAsMHhkOCwweDQ4LDB4M2UsMHgxMiwweDBmLDB4ODAsMHgxMywweDYwLDB4MDAsMHhmOCwweDYwIH0gfSwKLXsgIDE2LCAweGEwMjAsIDAsIHsweDNlLDB4MDAsMHgwNywweDgwLDB4MDMsMHhhMCwweDAyLDB4ZTgsMHgwNCwweDI2LDB4MDgsMHgwNSwweDgwLDB4MDMsMHg5MiwweDAwIH0gfSwKLXsgIDE2LCAweGEwMzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTQsMHgwMCwweGY5LDB4MDQsMHgzYSwweDQwIH0gfSwKLXsgIDE2LCAweGEwNDAsIDAsIHsweDBjLDB4MTIsMHgwMywweDI0LDB4ODIsMHhjOSwweDAwLDB4MzYsMHg0NCwweDBmLDB4MTAsMHgwMywweDI0LDB4MDAsMHhmOSwweDAwIH0gfSwKLXsgIDE2LCAweGEwNTAsIDAsIHsweDM2LDB4NDAsMHgwNCwweDkwLDB4MDMsMHgwNCwweDAwLDB4YzksMHgwMCwweDEyLDB4NDAsMHgwYywweDkwLDB4MDMsMHgwMiwweDA0IH0gfSwKLXsgIDE2LCAweGEwNjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA0LDB4NjQsMHgwMCwweGI5LDB4ODEsMHgyMiwweDQwIH0gfSwKLXsgIDE2LCAweGEwNzAsIDAsIHsweDA4LDB4OTAsMHgxYSwweDI0LDB4MDAsMHg4OSwweDAwLDB4MjIsMHg2OCwweDBiLDB4OTksMHgwMiwweDI0LDB4MDAsMHhiOSwweDAwIH0gfSwKLXsgIDE2LCAweGEwODAsIDAsIHsweDIyLDB4NDAsMHg2OCwweDkwLDB4MGEsMHgyNCwweDAwLDB4ODksMHgwMCwweGEyLDB4NDAsMHgwOCwweDkwLDB4MGEsMHgyMCwweDAwIH0gfSwKLXsgIDE2LCAweGEwOTAsIDAsIHsweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4MjQsMHgwMCwweGI5LDB4MTAsMHgyMiwweGUwIH0gfSwKLXsgIDE2LCAweGEwYTAsIDAsIHsweDA4LDB4OTQsMHgwMCwweDA0LDB4MDQsMHg4YiwweDA4LDB4MjYsMHhjMCwweDBiLDB4OTAsMHgwMiwweDI0LDB4MDQsMHhiOSwweDBjIH0gfSwKLXsgIDE2LCAweGEwYjAsIDAsIHsweDI0LDB4NDAsMHgwYSwweDEwLDB4MDIsMHgyNCwweDAwLDB4MjMsMHgwMiwweDJhLDB4NDAsMHhhOCwweDEwLDB4MDIsMHgwNiwweDAwIH0gfSwKLXsgIDE2LCAweGEwYzAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA0LDB4MDQsMHg5MCwweGIxLDB4MjAsMHgyMiwweDQwIH0gfSwKLXsgIDE2LCAweGEwZDAsIDAsIHsweDA4LDB4MTIsMHgwMiwweDBjLDB4MTAsMHg4MSwweDAyLDB4YTAsMHg1MCwweDBiLDB4MTIsMHgwMiwweDA0LDB4ODAsMHhiMSwweDA1IH0gfSwKLXsgIDE2LCAweGEwZTAsIDAsIHsweDAwLDB4NDgsMHgwYSwweDEwLDB4MDIsMHgwNCwweGEwLDB4YTEsMHgwMCwweDI4LDB4NGEsMHgwOCwweDEyLDB4MDAsMHgwMiwweDAxIH0gfSwKLXsgIDE2LCAweGEwZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjEsMHg0MCwweGY4LDB4NTAsMHhiYSwweDE0IH0gfSwKLXsgIDE2LCAweGExMDAsIDAsIHsweDBjLDB4ODUsMHgwMywweDAxLDB4NDIsMHhjOCwweDUwLDB4MzQsMHgwMCwweDBmLDB4ODUsMHgwMywweDIxLDB4NDAsMHhmOCwweDAwIH0gfSwKLXsgIDE2LCAweGExMTAsIDAsIHsweDM2LDB4MDAsMHgwZSwweDgwLDB4MTMsMHgyMCwweDgwLDB4ZTAsMHgwMCwweDFhLDB4MDgsMHgwYywweDAwLDB4MDMsMHgyZSwweDAzIH0gfSwKLXsgIDE2LCAweGExMjAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5OCwweDFkLDB4ZTQsMHg0NCwweGY5LDB4MTAsMHgzZiwweDQwIH0gfSwKLXsgIDE2LCAweGExMzAsIDAsIHsweDJmLDB4ZDEsMHgxMywweGY0LDB4MDQsMHhmNSwweDAwLDB4M2YsMHg0MCwweDBmLDB4OTEsMHgwYiwweGU0LDB4NDAsMHhmZiwweDI4IH0gfSwKLXsgIDE2LCAweGExNDAsIDAsIHsweGJlLDB4NGUsMHgwZCwweDk2LDB4ODMsMHhkNCwweGEyLDB4ZGQsMHgyOCwweDM3LDB4NGEsMHgwZiwweDkzLDB4ODMsMHhlNiwweDA2IH0gfSwKLXsgIDE2LCAweGExNTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5OCwweDA1LDB4ZTQsMHgxMCwweGNkLDB4MDAsMHgzZiwweDQwIH0gfSwKLXsgIDE2LCAweGExNjAsIDAsIHsweDBmLDB4ZDAsMHgwMywweDM1LDB4MDIsMHg1ZCwweDAxLDB4MzEsMHg0NCwweDBmLDB4ZDAsMHgwMywweDI0LDB4MDAsMHhmOSwweDAwIH0gfSwKLXsgIDE2LCAweGExNzAsIDAsIHsweDMyLDB4NjAsMHgwYywweDk4LDB4ODMsMHhlNiwweDQwLDB4ZDksMHgwMCwweDM2LDB4NmEsMHgwYywweDllLDB4ODMsMHgyNiwweDAxIH0gfSwKLXsgIDE2LCAweGExODAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzOCwweDEwLDB4ZTAsMHgwMCwweDg4LDB4MDAsMHgyZSwweDAwIH0gfSwKLXsgIDE2LCAweGExOTAsIDAsIHsweDBiLDB4ODAsMHg0MiwweDAyLDB4ODAsMHg4YSwweDAwLDB4MjIsMHgyMCwweDg4LDB4ODAsMHgwMywweDIwLDB4MDgsMHhiOCwweDgyIH0gfSwKLXsgIDE2LCAweGExYTAsIDAsIHsweDIyLDB4MjEsMHgwOCwweDg4LDB4ODIsMHhlMiwweDQyLDB4ODgsMHhhOCwweDIyLDB4MjAsMHgwOCwweGNlLDB4MDIsMHgwZSwweDA0IH0gfSwKLXsgIDE2LCAweGExYjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4YzQsMHgwMiwweDgxLDB4MDAsMHg2OCwweDQwIH0gfSwKLXsgIDE2LCAweGExYzAsIDAsIHsweDBiLDB4MTAsMHgwMiwweDg0LDB4MDEsMHhiOSwweDAwLDB4MjAsMHg0MCwweDQ5LDB4MTAsMHgwYSwweDA0LDB4MDAsMHhiNSwweDA4IH0gfSwKLXsgIDE2LCAweGExZDAsIDAsIHsweDIxLDB4NDYsMHgwOCwweDUwLDB4MDIsMHhkNCwweDAwLDB4OGQsMHgyMCwweDI1LDB4NGEsMHgwYiwweDUwLDB4MDIsMHg0MiwweDAxIH0gfSwKLXsgIDE2LCAweGExZTAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDExLDB4YTQsMHgwMCwweDg5LDB4MDQsMHg2ZSwweDU0IH0gfSwKLXsgIDE2LCAweGExZjAsIDAsIHsweDBiLDB4MTAsMHgxMiwweGE0LDB4MDEsMHhhOSwweDAwLDB4YTIsMHg0MCwweDE4LDB4OTAsMHgxNiwweDI0LDB4MDAsMHhiOSwweDAwIH0gfSwKLXsgIDE2LCAweGEyMDAsIDAsIHsweDIzLDB4NDAsMHgxOCwweGQwLDB4MDIsMHhmNCwweDAwLDB4OGQsMHg0MCwweDIxLDB4NGEsMHgwYiwweGQwLDB4MDIsMHg0NiwweDA0IH0gfSwKLXsgIDE2LCAweGEyMTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4ZTQsMHgwMCwweGM5LDB4MDAsMHgzYSwweDUwIH0gfSwKLXsgIDE2LCAweGEyMjAsIDAsIHsweDhmLDB4OTYsMHgwYiwweDg0LDB4MDIsMHhmMSwweDAxLDB4MzAsMHg0OCwweDhkLDB4OTAsMHgwMywweDI0LDB4MTAsMHhmOSwweDAwIH0gfSwKLXsgIDE2LCAweGEyMzAsIDAsIHsweGIyLDB4NDAsMHgyYywweDkwLDB4MDMsMHhlNiwweDQwLDB4ZDEsMHhjMCwweDM2LDB4NTAsMHgyZiwweDkwLDB4MGIsMHg2OCwweDA0IH0gfSwKLXsgIDE2LCAweGEyNDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDAxLDB4YTQsMHgwMCwweGY5LDB4MDAsMHgzZSwweDYwIH0gfSwKLXsgIDE2LCAweGEyNTAsIDAsIHsweDBmLDB4OTksMHhjMywweDY0LDB4MDAsMHhkOSwweDI4LDB4M2UsMHg0MCwweDBkLDB4OTAsMHgwMywweGE0LDB4MDAsMHhmOSwweDQwIH0gfSwKLXsgIDE2LCAweGEyNjAsIDAsIHsweDNlLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhlNCwweDIwLDB4ZjksMHg0MCwweDNlLDB4NDAsMHgwYywweDkwLDB4MDMsMHg4YSwweDAwIH0gfSwKLXsgIDE2LCAweGEyNzAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTAsMHgwMCwweGY4LDB4MDEsMHgzNiwweDAwIH0gfSwKLXsgIDE2LCAweGEyODAsIDAsIHsweDhmLDB4ODAsMHgwMywweGUwLDB4MDIsMHhmOCwweDA0LDB4MzIsMHgwMCwweDBkLDB4ODAsMHg0MywweDIwLDB4MDIsMHhjYywweDAwIH0gfSwKLXsgIDE2LCAweGEyOTAsIDAsIHsweDNmLDB4MDAsMHgwZiwweGMwLDB4MTMsMHg5MCwweDAyLDB4ZGMsMHg0MCwweDNmLDB4MTAsMHg0YywweGMwLDB4MjMsMHgwYSwweDA0IH0gfSwKLXsgIDE2LCAweGEyYTAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4MjgsMHgwMCwweGJhLDB4MDAsMHgyMiwweDgwIH0gfSwKLXsgIDE2LCAweGEyYjAsIDAsIHsweDBiLDB4ZTgsMHgyMCwweGY4LDB4MDAsMHg0ZSwweGMwLDB4MjMsMHhhMCwweDA4LDB4YTAsMHgwMywweDY4LDB4MDAsMHg4YSwweDAwIH0gfSwKLXsgIDE2LCAweGEyYzAsIDAsIHsweDJlLDB4ODAsMHgxZiwweGEwLDB4MDIsMHgyYSwweDA2LDB4OGEsMHgwMCwweDJlLDB4YTAsMHgwMiwweDYwLDB4MDMsMHgwYSwweDAwIH0gfSwKLXsgIDE2LCAweGEyZDAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NmMsMHgwMCwweGIzLDB4MDAsMHgyMCwweGMwIH0gfSwKLXsgIDE2LCAweGEyZTAsIDAsIHsweDBiLDB4M2QsMHgwMiwweGMwLDB4MDMsMHgyMywweDAwLDB4MjAsMHhlMCwweDAxLDB4YjAsMHgwNiwweDRjLDB4MDAsMHg4YiwweDAwIH0gfSwKLXsgIDE2LCAweGEyZjAsIDAsIHsweDJlLDB4YzAsMHg0YiwweDMwLDB4MDIsMHg4ZSwweDA4LDB4ODMsMHg4MCwweDJjLDB4YzQsMHgwMCwweDM0LDB4OGUsMHg0YSwweDAwIH0gfSwKLXsgIDE2LCAweGEzMDAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDAxLDB4MWMsMHg4MCwweGI1LDB4ODAsMHg2MSwweGMwIH0gfSwKLXsgIDE2LCAweGEzMTAsIDAsIHsweDBiLDB4NDAsMHgwMiwweGQ0LDB4MDAsMHg4NCwweDA4LDB4MjMsMHhjMiwweDA4LDB4NTAsMHgwMiwweDVlLDB4YzAsMHg4NCwweDAxIH0gfSwKLXsgIDE2LCAweGEzMjAsIDAsIHsweDJkLDB4MDAsMHg4YSwweDA4LDB4MDIsMHgxMCwweDI0LDB4ODQsMHgwOCwweDZkLDB4MDAsMHgwYSwweDAzLDB4MTIsMHgyOCwweDAwIH0gfSwKLXsgIDE2LCAweGEzMzAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MWUsMHgwMCwweGY1LDB4ODIsMHgyMSwweDYwIH0gfSwKLXsgIDE2LCAweGEzNDAsIDAsIHsweDBmLDB4NzgsMHgwMywweGQ2LDB4MDQsMHhhZSwweDgwLDB4MzEsMHhlMCwweDBkLDB4NTgsMHgyMywweDdlLDB4MDAsMHhjNiwweDgwIH0gfSwKLXsgIDE2LCAweGEzNTAsIDAsIHsweDJkLDB4ZTAsMHgwYiwweDc4LDB4MDMsMHg4ZSwweDAwLDB4ZDcsMHg4MiwweDNkLDB4ZjAsMHgwYywweDdhLDB4MDMsMHg2YSwweDAyIH0gfSwKLXsgIDE2LCAweGEzNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDFkLDB4YWMsMHgwMCwweGYxLDB4MDAsMHhiYSwweGQ4IH0gfSwKLXsgIDE2LCAweGEzNzAsIDAsIHsweDBmLDB4ODAsMHgwMywweGU0LDB4MTIsMHhmOCwweDAwLDB4YmUsMHg4MCwweDBlLDB4MTAsMHgwMywweGVjLDB4MDAsMHhmOSwweDAwIH0gfSwKLXsgIDE2LCAweGEzODAsIDAsIHsweDNlLDB4MDAsMHg1ZiwweDgwLDB4MDMsMHhlMCwweDA4LDB4ZjgsMHgwNCwweDNjLDB4MDAsMHgwZiwweDgwLDB4MDMsMHhjMiwweDA2IH0gfSwKLXsgIDE2LCAweGEzOTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDA1LDB4ZmUsMHgyMCwweGZmLDB4ODAsMHgzZiwweGYwIH0gfSwKLXsgIDE2LCAweGEzYTAsIDAsIHsweDBmLDB4ZjgsMHgwMywweGQyLDB4MDAsMHhlZiwweDg0LDB4YjMsMHg2MSwweDBjLDB4YjksMHgwMywweGZlLDB4MDAsMHhmZiwweDgwIH0gfSwKLXsgIDE2LCAweGEzYjAsIDAsIHsweDMzLDB4ZTAsMHgwYywweGY4LDB4MTMsMHgyMiwweDExLDB4Y2QsMHg5MCwweDNmLDB4NjAsMHgwYywweGU4LDB4MDMsMHgxMCwweDAwIH0gfSwKLXsgIDE2LCAweGEzYzAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDExLDB4OWMsMHgwMCwweGY1LDB4MDAsMHgyZCwweGMwIH0gfSwKLXsgIDE2LCAweGEzZDAsIDAsIHsweDBiLDB4MDAsMHgwMiwweGQ0LDB4MDQsMHg4NCwweDIwLDB4MjMsMHg0MCwweDA4LDB4NWEsMHgwMiwweGRjLDB4MDAsMHhiNCwweDAwIH0gfSwKLXsgIDE2LCAweGEzZTAsIDAsIHsweDIxLDB4MDAsMHgyOCwweGMyLDB4MDIsMHgxZSwweDA0LDB4ODYsMHgwNCwweDJkLDB4ODgsMHgwOCwweGQwLDB4MDIsMHgyYSwweDA0IH0gfSwKLXsgIDE2LCAweGEzZjAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxMCwweDAwLDB4OWMsMHgwMCwweGI1LDB4MDAsMHgyZCwweDQwIH0gfSwKLXsgIDE2LCAweGE0MDAsIDAsIHsweDBiLDB4NzAsMHgwMiwweGY0LDB4MjAsMHhhNywweDA0LDB4MjEsMHhjMCwweDBhLDB4NTAsMHgwMiwweGRjLDB4MDAsMHhiZSwweDAwIH0gfSwKLXsgIDE2LCAweGE0MTAsIDAsIHsweDIxLDB4YzAsMHgwOCwweDcwLDB4MTIsMHgwMCwweDAwLDB4ODUsMHgwMCwweDJkLDB4NDAsMHg4OCwweDY4LDB4MGEsMHgwNCwweDAwIH0gfSwKLXsgIDE2LCAweGE0MjAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg2MCwweDE0LDB4Y2MsMHgwMCwweGExLDB4MDAsMHgyZSwweGMwIH0gfSwKLXsgIDE2LCAweGE0MzAsIDAsIHsweDFiLDB4MDgsMHgwNiwweGM0LDB4MjAsMHg4MCwweDAwLDB4MjAsMHg5OCwweDFhLDB4MTAsMHgwMiwweGNjLDB4MDAsMHhiMSwweDA4IH0gfSwKLXsgIDE2LCAweGE0NDAsIDAsIHsweDIwLDB4MDAsMHgwOCwweDAwLDB4MDIsMHgwYywweDAxLDB4ODIsMHhjMCwweDJjLDB4YWMsMHgyOCwweDkwLDB4MjIsMHgxOCwweDA0IH0gfSwKLXsgIDE2LCAweGE0NTAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YmMsMHgwMCwweGIzLDB4MDAsMHgzZSwweDQwIH0gfSwKLXsgIDE2LCAweGE0NjAsIDAsIHsweDBmLDB4YmEsMHgwMywweGU1LDB4MDIsMHhlOSwweDA0LDB4MzIsMHg5MCwweGFlLDB4YjAsMHgwMywweGZjLDB4MTAsMHhmYiwweDQwIH0gfSwKLXsgIDE2LCAweGE0NzAsIDAsIHsweGIyLDB4MDAsMHgwYywweDgwLDB4MGIsMHgyYywweDAyLDB4ODIsMHgxOCwweDNmLDB4YTAsMHgwYywweGQwLDB4MDMsMHgyZSwweDA0IH0gfSwKLXsgIDE2LCAweGE0ODAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5MCwweDAwLDB4ZWMsMHgwNCwweGZiLDB4MDEsMHgzZSwweDQwIH0gfSwKLXsgIDE2LCAweGE0OTAsIDAsIHsweDBmLDB4YjYsMHg0MywweGU0LDB4MDAsMHhmOCwweDAwLDB4M2UsMHg4MCwweDAxLDB4OTAsMHgwMywweGVjLDB4MDAsMHhmOCwweDgxIH0gfSwKLXsgIDE2LCAweGE0YTAsIDAsIHsweDNlLDB4ZDAsMHgwZCwweGI0LDB4NTMsMHhlMCwweDAwLDB4ZjksMHg0MCwweDNlLDB4NDAsMHgwZiwweGEwLDB4MDMsMHhlMCwweDAwIH0gfSwKLXsgIDE2LCAweGE0YjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDEwLDB4ZGMsMHgwMiwweGNkLDB4ODAsMHgzMywweDYwIH0gfSwKLXsgIDE2LCAweGE0YzAsIDAsIHsweDJjLDB4ZGEsMHgwMywweGZjLDB4MDAsMHhlYywweDAwLDB4MzMsMHg0MCwweDBmLDB4ZjIsMHgwMywweDdjLDB4MDQsMHhmZSwweDAwIH0gfSwKLXsgIDE2LCAweGE0ZDAsIDAsIHsweDMyLDB4MDAsMHgwYywweGM4LDB4MDMsMHgzYywweDAwLDB4Y2UsMHgwMCwweDMxLDB4ODAsMHgwYywweGQxLDB4MDMsMHgyNCwweDA0IH0gfSwKLXsgIDE2LCAweGE0ZTAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5MSwweDA0LDB4NmMsMHgwMCwweDA5LDB4MDAsMHgyYSwweDY0IH0gfSwKLXsgIDE2LCAweGE0ZjAsIDAsIHsweDA4LDB4OGUsMHgwMiwweGMyLDB4MTAsMHhhMCwweDEwLDB4M2UsMHgxMCwweDBiLDB4OTgsMHgwMiwweGVjLDB4MDAsMHhiOSwweDAwIH0gfSwKLXsgIDE2LCAweGE1MDAsIDAsIHsweDAyLDB4ZDgsMHgwOCwweGJlLDB4MjIsMHgyMCwweDAwLDB4ODksMHgwMCwweDIyLDB4NTAsMHgwOCwweGEwLDB4MDIsMHgyMCwweDQwIH0gfSwKLXsgIDE2LCAweGE1MTAsIDAsIHsweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MmMsMHgwMCwweDBiLDB4MjAsMHgyMiwweDQwIH0gfSwKLXsgIDE2LCAweGE1MjAsIDAsIHsweDA4LDB4YTAsMHgwMiwweGU1LDB4NDIsMHhhYiwweDA0LDB4MjIsMHgxOCwweDBiLDB4YjAsMHgwMiwweDZjLDB4MDAsMHhiMywweDAwIH0gfSwKLXsgIDE2LCAweGE1MzAsIDAsIHsweDIwLDB4MDQsMHgwOCwweDAxLDB4MDIsMHgwMCwweDA0LDB4YTgsMHg0MCwweDIyLDB4MTAsMHgwOCwweDgwLDB4MDIsMHgyMCwweDAwIH0gfSwKLXsgIDE2LCAweGE1NDAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA0LDB4MGMsMHgwOCwweDgzLDB4MDAsMHgyOCwweDQwIH0gfSwKLXsgIDE2LCAweGE1NTAsIDAsIHsweDA4LDB4MDQsMHgwMiwweGM0LDB4MDIsMHhhOCwweDAwLDB4MmMsMHgwMCwweDBiLDB4MTIsMHgwMiwweGNjLDB4MDAsMHhiMCwweDAwIH0gfSwKLXsgIDE2LCAweGE1NjAsIDAsIHsweDIwLDB4YzAsMHg0MCwweDMwLDB4MDIsMHgwYywweDAwLDB4OGIsMHgwMCwweGE4LDB4YzAsMHgwOCwweDMwLDB4MDIsMHgwMiwweDExIH0gfSwKLXsgIDE2LCAweGE1NzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDBkLDB4NmMsMHgwMCwweGM5LDB4MDAsMHgzMywweDQwIH0gfSwKLXsgIDE2LCAweGE1ODAsIDAsIHsweDBjLDB4YjAsMHgwMywweGVjLDB4MDIsMHhlYiwweDAwLDB4MzIsMHg0MCwweDBmLDB4YjAsMHgwMywweDZjLDB4MDAsMHhmYSwweDAwIH0gfSwKLXsgIDE2LCAweGE1OTAsIDAsIHsweDMyLDB4MDAsMHgwYywweDgwLDB4MDMsMHgyMCwweDgwLDB4YzgsMHgwMCwweDMwLDB4MDAsMHgwYywweDgwLDB4MDMsMHgyMCwweDAzIH0gfSwKLXsgIDE2LCAweGE1YTAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE5LDB4ZmMsMHgwMCwweGZkLDB4MDAsMHgzZiwweDQwIH0gfSwKLXsgIDE2LCAweGE1YjAsIDAsIHsweDBmLDB4YzIsMHgxMywweGYwLDB4MDAsMHhmNCwweDAwLDB4M2YsMHgwMCwweDRmLDB4ZDQsMHgwMywweGZjLDB4MDAsMHhmNSwweDAwIH0gfSwKLXsgIDE2LCAweGE1YzAsIDAsIHsweDNmLDB4YzAsMHg4ZiwweGYwLDB4MDMsMHhmYywweDQwLDB4ZmYsMHgwMCwweDM3LDB4YzAsMHgyZiwweGYwLDB4MDMsMHhlOCwweDA2IH0gfSwKLXsgIDE2LCAweGE1ZDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZjAsMHgwMCwweGNjLDB4MDAsMHgzMywweDAwIH0gfSwKLXsgIDE2LCAweGE1ZTAsIDAsIHsweDBlLDB4ZDAsMHgwYiwweDMzLDB4MDAsMHhjYywweDAwLDB4MzMsMHhlMCwweDBmLDB4YzAsMHg4MywweDdjLDB4MDAsMHhjZiwweDIwIH0gfSwKLXsgIDE2LCAweGE1ZjAsIDAsIHsweDdiLDB4MDksMHg4YywweGY4LDB4MDMsMHhmZSwweDUwLDB4Y2YsMHgzOCwweDNmLDB4ZTEsMHgwZCwweGMyLDB4MDMsMHhmMCwweDAwIH0gfSwKLXsgIDE2LCAweGE2MDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDEwLDB4ZTIsMHgwMCwweDk4LDB4MDgsMHgyMCwweDgwIH0gfSwKLXsgIDE2LCAweGE2MTAsIDAsIHsweDA4LDB4OTgsMHgwMiwweDIwLDB4MDAsMHg4OCwweGQwLDB4MjIsMHhlMCwweDBlLDB4YjQsMHgyMiwweDdkLDB4MTksMHg5ZiwweDY5IH0gfSwKLXsgIDE2LCAweGE2MjAsIDAsIHsweDJlLDB4OTAsMHgwOCwweDMwLDB4OTIsMHgyOCwweDgxLDB4ZGIsMHg2NCwweDJlLDB4ZTEsMHg4OCwweDE2LDB4YTIsMHhlMCwweDA0IH0gfSwKLXsgIDE2LCAweGE2MzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4YzgsMHgwMCwweDkwLDB4MjQsMHgyMCwweDAxIH0gfSwKLXsgIDE2LCAweGE2NDAsIDAsIHsweDA4LDB4MTAsMHgxNiwweDAwLDB4ODIsMHg4MywweDAxLDB4MjgsMHhjMSwweDBiLDB4MDIsMHg4MiwweDBjLDB4ZTAsMHhhMywweDEwIH0gfSwKLXsgIDE2LCAweGE2NTAsIDAsIHsweDI4LDB4MGUsMHgxYiwweDkyLDB4MDIsMHg4NCwweDg0LDB4OTMsMHgyMCwweDJlLDB4YzAsMHgwOCwweDMxLDB4MDIsMHhlMiwweDAxIH0gfSwKLXsgIDE2LCAweGE2NjAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDE1LDB4YTgsMHgxMCwweDk4LDB4MDAsMHgyMiwweDgwIH0gfSwKLXsgIDE2LCAweGE2NzAsIDAsIHsweDA4LDB4OTAsMHgwMiwweDAwLDB4NjAsMHg4YSwweDEwLDB4MmEsMHhjMCwweDBhLDB4MjAsMHgwMiwweDZjLDB4MTgsMHhiYiwweDAwIH0gfSwKLXsgIDE2LCAweGE2ODAsIDAsIHsweDZlLDB4NjAsMHgyYiwweDkwLDB4MDIsMHg0NiwweDIwLDB4OGIsMHgwMCwweDJlLDB4YzIsMHgwOCwweGIxLDB4ODIsMHhmMCwweDA0IH0gfSwKLXsgIDE2LCAweGE2OTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDExLDB4ZTQsMHgwMiwweGNiLDB4MDAsMHhiMiwweDQwIH0gfSwKLXsgIDE2LCAweGE2YTAsIDAsIHsweDJjLDB4OTIsMHgwMywweDI3LDB4MDAsMHg4OCwweDAwLDB4YmEsMHhjMCwweDBmLDB4ODgsMHgwMywweDJjLDB4MDAsMHhlYiwweDA0IH0gfSwKLXsgIDE2LCAweGE2YjAsIDAsIHsweDNhLDB4YTAsMHhjZiwweDJjLDB4YTMsMHhlZCwweDAwLDB4OWIsMHgwMCwweDNjLDB4ZjAsMHgyZCwweDhjLDB4MzMsMHhkMCwweDA0IH0gfSwKLXsgIDE2LCAweGE2YzAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDAxLDB4YjQsMHgwNCwweGVmLDB4MDAsMHgzZiwweGMwIH0gfSwKLXsgIDE2LCAweGE2ZDAsIDAsIHsweDBkLDB4NTEsMHgwMywweGYwLDB4MDAsMHhmMSwweDgxLDB4MzcsMHhjMCwweDBlLDB4ZjQsMHgwMywweDljLDB4MTAsMHhjZiwweDAwIH0gfSwKLXsgIDE2LCAweGE2ZTAsIDAsIHsweDNkLDB4ODAsMHgwYywweGVjLDB4MDcsMHhiOCwweDA4LDB4ZmYsMHgwMiwweDFmLDB4YzQsMHgwZiwweGM4LDB4MDMsMHhmOCwweDAwIH0gfSwKLXsgIDE2LCAweGE2ZjAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4OWUsMHgwMCwweGMzLDB4MDAsMHgzOCwweDQwIH0gfSwKLXsgIDE2LCAweGE3MDAsIDAsIHsweDBjLDB4OTIsMHgwMywweGE0LDB4ODAsMHhmYiwweDIwLDB4M2EsMHhjMCwweDBkLDB4OTQsMHgwMywweDJjLDB4NDAsMHhmYiwweDAwIH0gfSwKLXsgIDE2LCAweGE3MTAsIDAsIHsweDNlLDB4MDEsMHgwZiwweDgwLDB4MDMsMHhlNSwweDAwLDB4ZWIsMHgwMCwweDNhLDB4YzAsMHgwZCwweDg0LDB4MGIsMHgxMCwweDA0IH0gfSwKLXsgIDE2LCAweGE3MjAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjOCwweDA1LDB4MmMsMHgwOCwweDhiLDB4MDIsMHgyMiwweGMwIH0gfSwKLXsgIDE2LCAweGE3MzAsIDAsIHsweDA4LDB4OTIsMHgwMywweDIxLDB4MDAsMHg4YiwweDQ4LDB4MjIsMHhjMCwweDBiLDB4YjcsMHgwMiwweDNkLDB4NDAsMHgzZiwweDAxIH0gfSwKLXsgIDE2LCAweGE3NDAsIDAsIHsweDIyLDB4NzQsMHgwYiwweDkwLDB4MDIsMHgyOCwweDA0LDB4YmYsMHgwMCwweGIyLDB4YzAsMHgwYiwweDg1LDB4MDIsMHgzMiwweDAwIH0gfSwKLXsgIDE2LCAweGE3NTAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NDAsMHgwMSwweDgwLDB4MDAsMHgyOCwweDAwIH0gfSwKLXsgIDE2LCAweGE3NjAsIDAsIHsweDA4LDB4MmMsMHgxMiwweDg4LDB4NDAsMHhiMCwweDQwLDB4MDgsMHhjMCwweDBiLDB4MTgsMHgwMiwweDBlLDB4MDAsMHhiMywweDAwIH0gfSwKLXsgIDE2LCAweGE3NzAsIDAsIHsweDI4LDB4MjAsMHgxMSwweDMwLDB4MDIsMHgwYywweDAwLDB4YjMsMHgwMCwweDI0LDB4MDAsMHgwOSwweDAwLDB4MDYsMHgzOCwweDAwIH0gfSwKLXsgIDE2LCAweGE3ODAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMCwweDAxLDB4MTIsMHgwMCwweDg0LDB4ODAsMHgyMSwweGEwIH0gfSwKLXsgIDE2LCAweGE3OTAsIDAsIHsweDI4LDB4NjgsMHgxMiwweDNhLDB4MDAsMHg4NCwweDgwLDB4MjUsMHhlMCwweDhiLDB4NTgsMHgwMiwweDFlLDB4NDAsMHhiNywweDgyIH0gfSwKLXsgIDE2LCAweGE3YTAsIDAsIHsweDIxLDB4YTYsMHgwYiwweDc4LDB4MDIsMHgxYSwweDAwLDB4YjcsMHg4MCwweDIxLDB4MjAsMHgwYiwweDU4LDB4MDIsMHgwOCwweDAwIH0gfSwKLXsgIDE2LCAweGE3YjAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MDgsMHgwMCwweGM4LDB4MjEsMHgzOCwweDA5IH0gfSwKLXsgIDE2LCAweGE3YzAsIDAsIHsweDBjLDB4MjgsMHgwMywweDgwLDB4MDEsMHhmMSwweDAwLDB4MzgsMHhjMCwweDBkLDB4ODUsMHgwMiwweDBjLDB4MDAsMHhmYiwweDAwIH0gfSwKLXsgIDE2LCAweGE3ZDAsIDAsIHsweDM4LDB4ODUsMHgwZiwweDEwLDB4MDMsMHg4YywweDAwLDB4ZWIsMHgxMCwweDNjLDB4YzgsMHgwZCwweDMwLDB4MDMsMHgxMiwweDAyIH0gfSwKLXsgIDE2LCAweGE3ZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDFkLDB4OTgsMHgwMCwweGZjLDB4MDEsMHgzZiwweDgwIH0gfSwKLXsgIDE2LCAweGE3ZjAsIDAsIHsweDBmLDB4NjgsMHgwMywweGQwLDB4NDAsMHhmYywweDAwLDB4M2IsMHhjMCwweDBkLDB4YzAsMHgwMywweGZjLDB4MjAsMHhmZiwweDAwIH0gfSwKLXsgIDE2LCAweGE4MDAsIDAsIHsweDNiLDB4YzUsMHgwZiwweGYwLDB4MGIsMHhiNCwweDQwLDB4ZmYsMHgxOCwweDNmLDB4MDAsMHgwZiwweGYxLDB4MDMsMHhkMCwweDA2IH0gfSwKLXsgIDE2LCAweGE4MTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZTQsMHgwMCwweGViLDB4MDAsMHhiMCwweDQxIH0gfSwKLXsgIDE2LCAweGE4MjAsIDAsIHsweDBjLDB4YTAsMHgwMywweGUwLDB4MDQsMHhjYSwweDA0LDB4YjAsMHhlMCwweDBlLDB4YjAsMHgwMywweGVjLDB4ODAsMHhjYiwweDIwIH0gfSwKLXsgIDE2LCAweGE4MzAsIDAsIHsweDMyLDB4ODEsMHgwYywweGEwLDB4MDMsMHhlZSwweDAwLDB4ZGIsMHgwMCwweDNlLDB4MDAsMHgwZSwweGIwLDB4MDMsMHgyYSwweDAwIH0gfSwKLXsgIDE2LCAweGE4NDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDExLDB4OTQsMHgwNCwweDg3LDB4MDAsMHgyMSwweGMwIH0gfSwKLXsgIDE2LCAweGE4NTAsIDAsIHsweDQ4LDB4NjAsMHgwMiwweGYwLDB4MDAsMHg4NywweDAwLDB4MjEsMHhjMCwweDA4LDB4NzAsMHgwMiwweGZjLDB4YTAsMHg4MywweDI4IH0gfSwKLXsgIDE2LCAweGE4NjAsIDAsIHsweGEzLDB4ODAsMHgwOCwweDYwLDB4MDIsMHhkYywweDAwLDB4ODcsMHgyMCwweDJkLDB4YzAsMHgwYiwweDcwLDB4MDIsMHgxMiwweDA0IH0gfSwKLXsgIDE2LCAweGE4NzAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4OWMsMHgwMiwweGEzLDB4ODAsMHgyMSwweDYwIH0gfSwKLXsgIDE2LCAweGE4ODAsIDAsIHsweDA4LDB4NjgsMHgwMiwweGQyLDB4MDAsMHg4NywweDgwLDB4MjEsMHhlMCwweDI5LDB4NzgsMHgwMiwweGRlLDB4ODAsMHg4NywweDkwIH0gfSwKLXsgIDE2LCAweGE4OTAsIDAsIHsweDIxLDB4YTAsMHgxOSwweDQ4LDB4MDIsMHhmZSwweDAwLDB4OTcsMHg4MCwweDJkLDB4ZTAsMHgwYSwweDM4LDB4ODIsMHgzMCwweDAwIH0gfSwKLXsgIDE2LCAweGE4YTAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDE0LDB4Y2MsMHgwMSwweDgzLDB4ODAsMHgyMCwweGMwIH0gfSwKLXsgIDE2LCAweGE4YjAsIDAsIHsweDA4LDB4MjAsMHg0MiwweGMwLDB4MzAsMHg4MywweDcwLDB4YTAsMHhjMCwweDg5LDB4MzQsMHgwMiwweGNjLDB4MDIsMHg4MywweDAwIH0gfSwKLXsgIDE2LCAweGE4YzAsIDAsIHsweDYwLDB4YzAsMHgyOSwweDAwLDB4MDIsMHhjZSwweDAwLDB4ODMsMHgwMCwweDJjLDB4YzgsMHgwYiwweGJjLDB4MDIsMHgxMiwweDA0IH0gfSwKLXsgIDE2LCAweGE4ZDAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YTksMHgwMCwweGVhLDB4ZTIsMHgzMiwweDkwIH0gfSwKLXsgIDE2LCAweGE4ZTAsIDAsIHsweDJjLDB4ZTAsMHgwMywweGZiLDB4MDIsMHhjZSwweGMwLDB4MzIsMHg4MCwweDBmLDB4ZTQsMHgwMywweGU4LDB4MDAsMHg4YSwweDAwIH0gfSwKLXsgIDE2LCAweGE4ZjAsIDAsIHsweDMzLDB4ODgsMHgwZCwweDY0LDB4YzMsMHhmYSwweDAwLDB4ZGEsMHgwMCwweDNkLDB4OTAsMHgwZSwweGUwLDB4MGIsMHgzYSwweDA0IH0gfSwKLXsgIDE2LCAweGE5MDAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDAwLDB4YzAsMHgyNCwweGY4LDB4MDgsMHgzZSwweDEyIH0gfSwKLXsgIDE2LCAweGE5MTAsIDAsIHsweDBmLDB4YzAsMHgwMywweGUwLDB4NDgsMHhmMCwweDAwLDB4M2UsMHgwMCwweDBlLDB4ODAsMHg5MywweGMwLDB4MDAsMHhmOCwweDAwIH0gfSwKLXsgIDE2LCAweGE5MjAsIDAsIHsweDdlLDB4MDEsMHgwZSwweDgwLDB4YzIsMHhlMCwweDQwLDB4ZjgsMHgwMCwweDdlLDB4MDAsMHg4ZiwweDg0LDB4MDMsMHhkMiwweDAwIH0gfSwKLXsgIDE2LCAweGE5MzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTUsMHgwMCwweGMxLDB4MDEsMHgzMiwweDQ4IH0gfSwKLXsgIDE2LCAweGE5NDAsIDAsIHsweDBjLDB4OTgsMHgwMywweGU2LDB4NDAsMHhjOSwweDAwLDB4MzIsMHg0MCwweDBmLDB4OTAsMHgwMywweDY2LDB4MDAsMHhjOSwweDAwIH0gfSwKLXsgIDE2LCAweGE5NTAsIDAsIHsweDE4LDB4NjEsMHgwYywweDkwLDB4MDMsMHg2NCwweDIwLDB4ZjksMHgwNSwweDNlLDB4NDAsMHgwYywweDkwLDB4ODMsMHgwMiwweDA0IH0gfSwKLXsgIDE2LCAweGE5NjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA0LDB4NjYsMHgyMCwweDg5LDB4MDAsMHgyMCwweDUyIH0gfSwKLXsgIDE2LCAweGE5NzAsIDAsIHsweDI4LDB4MTAsMHhjMiwweDI2LDB4MDIsMHhhOSwweDAwLDB4MjIsMHg0MCwweDBiLDB4OTAsMHgwYSwweDI3LDB4MDAsMHhhOSwweDAwIH0gfSwKLXsgIDE2LCAweGE5ODAsIDAsIHsweDIyLDB4NzAsMHgwOCwweDkwLDB4MDIsMHgyNCwweDA4LDB4YjksMHgwMCwweDJlLDB4NDAsMHgwYSwweDkwLDB4MGEsMHgyMCwweDAwIH0gfSwKLXsgIDE2LCAweGE5OTAsIDAsIHsweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4MjQsMHgwMiwweDhkLDB4MDAsMHgyMywweDQwIH0gfSwKLXsgIDE2LCAweGE5YTAsIDAsIHsweDA4LDB4ZDEsMHgwMiwweDg0LDB4MjAsMHg4OSwweDAwLDB4MjIsMHg2MCwweDBiLDB4MTEsMHhmMiwweDI0LDB4YjAsMHg4MSwweDAwIH0gfSwKLXsgIDE2LCAweGE5YjAsIDAsIHsweDJhLDB4NDYsMHgwOCwweDkwLDB4NDIsMHg2NCwweDA4LDB4YjksMHgwMCwweDJlLDB4NDAsMHgwOCwweDkyLDB4MDIsMHgwNiwweDAwIH0gfSwKLXsgIDE2LCAweGE5YzAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA0LDB4MTQsMHg4MCwweDg1LDB4MjAsMHgyMywweDQ4IH0gfSwKLXsgIDE2LCAweGE5ZDAsIDAsIHsweDA4LDB4NTIsMHgwMiwweDg0LDB4MDgsMHg4MSwweDAwLDB4MjAsMHg0MCwweDBiLDB4MTIsMHgwMiwweDA0LDB4ODAsMHhhMSwweDIwIH0gfSwKLXsgIDE2LCAweGE5ZTAsIDAsIHsweDI4LDB4NDksMHgyOCwweDkwLDB4MDIsMHgwNCwweDAwLDB4MzEsMHgyMCwweDJlLDB4NDAsMHgwOCwweDMyLDB4MDIsMHgwMiwweDAxIH0gfSwKLXsgIDE2LCAweGE5ZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjAsMHgwMCwweGM4LDB4NTAsMHhiMiwweDE0IH0gfSwKLXsgIDE2LCAweGFhMDAsIDAsIHsweDBjLDB4YzAsMHgwMywweGExLDB4NDAsMHhjOCwweDAwLDB4YjIsMHgwMCwweDA3LDB4ODUsMHgwMywweDIxLDB4NDAsMHhjOCwweDUwIH0gfSwKLXsgIDE2LCAweGFhMTAsIDAsIHsweDNhLDB4MTUsMHgwYywweDg1LDB4MDMsMHg2MSwweDQwLDB4ZjgsMHg1MSwweDNlLDB4MDAsMHgyYywweDg1LDB4MDMsMHgyZSwweDAzIH0gfSwKLXsgIDE2LCAweGFhMjAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5OCwweDFkLDB4YzQsMHg0OCwweGY5LDB4MTAsMHgzZSwweDQ0IH0gfSwKLXsgIDE2LCAweGFhMzAsIDAsIHsweDRmLDB4OTEsMHgwMywweDc0LDB4MDAsMHhmNSwweDQ0LDB4M2UsMHg0MCwweDBmLDB4ZDEsMHgwMywweGU0LDB4NDAsMHhmOSwweDEwIH0gfSwKLXsgIDE2LCAweGFhNDAsIDAsIHsweDM3LDB4NDQsMHgwZiwweGQwLDB4MDMsMHhkNCwweDAwLDB4ZjksMHgxMCwweDNmLDB4YzAsMHgwZiwweGQxLDB4MDMsMHhlNiwweDA2IH0gfSwKLXsgIDE2LCAweGFhNTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDE1LDB4ZjYsMHhhMCwweGRkLDB4OGMsMHgzMywweDc4IH0gfSwKLXsgIDE2LCAweGFhNjAsIDAsIHsweDBlLDB4ZGEsMHgwMywweDM1LDB4MDAsMHhjZCwweGEwLDB4MzMsMHg0MCwweDBkLDB4ZjgsMHgwYiwweDM2LDB4ODEsMHhlOSwweDgwIH0gfSwKLXsgIDE2LCAweGFhNzAsIDAsIHsweDMzLDB4NzAsMHgwYywweDkxLDB4MDMsMHhlNCwweDQwLDB4ZjksMHhjMCwweDNlLDB4YzAsMHgwZiwweGRjLDB4MDMsMHhjNiwweDAwIH0gfSwKLXsgIDE2LCAweGFhODAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzOCwweDEwLDB4ZTEsMHgwNCwweGI4LDB4NDAsMHgyMCwweDNjIH0gfSwKLXsgIDE2LCAweGFhOTAsIDAsIHsweDBjLDB4ODUsMHgwMiwweDAyLDB4ODQsMHg4YSwweDQwLDB4MjIsMHgwMCwweDA4LDB4OGYsMHg4MiwweDIzLDB4MDAsMHhiOCwweGU4IH0gfSwKLXsgIDE2LCAweGFhYTAsIDAsIHsweDIyLDB4MjAsMHgwOCwweDg4LDB4MDIsMHhlMiwweDAwLDB4YjgsMHhkMCwweDJlLDB4MDAsMHgwYiwweDhjLDB4MDIsMHhjZSwweDA0IH0gfSwKLXsgIDE2LCAweGFhYjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4YzQsMHgwMCwweDkxLDB4MDAsMHg2MCwweDQ4IH0gfSwKLXsgIDE2LCAweGFhYzAsIDAsIHsweDRiLDB4MTAsMHgwMiwweDA0LDB4OGEsMHg4MSwweDQwLDB4NjAsMHg0MCwweDQ5LDB4MTAsMHgwMiwweDhkLDB4YTAsMHhhMSwweDQxIH0gfSwKLXsgIDE2LCAweGFhZDAsIDAsIHsweDIwLDB4NTAsMHgwOSwweDEyLDB4MjIsMHhjNCwweDgwLDB4YjEsMHgyMCwweDJjLDB4NDAsMHg0YiwweDNlLDB4MDIsMHhjMiwweDAxIH0gfSwKLXsgIDE2LCAweGFhZTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDE1LDB4YTQsMHgwOCwweGI5LDB4MDQsMHhhMCwweDQwIH0gfSwKLXsgIDE2LCAweGFhZjAsIDAsIHsweDQ4LDB4YjAsMHgwMiwweDI0LDB4MDAsMHg4OSwweDAwLDB4ODIsMHg0MCwweDA4LDB4OTAsMHhhNiwweGE0LDB4MDAsMHhiOSwweDA0IH0gfSwKLXsgIDE2LCAweGFiMDAsIDAsIHsweDIyLDB4NTQsMHgyOSwweDk1LDB4MDIsMHhlNSwweDQwLDB4YjksMHgwMCwweDZlLDB4NDAsMHgwYiwweDkyLDB4MDIsMHhjNiwweDA0IH0gfSwKLXsgIDE2LCAweGFiMTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDA1LDB4ZTQsMHgwMCwweDkxLDB4MDAsMHgzMiwweDQwIH0gfSwKLXsgIDE2LCAweGFiMjAsIDAsIHsweDBmLDB4OTAsMHgwOSwweDI0LDB4MDAsMHg4OSwweDkwLDB4MzIsMHg0MCwweDBkLDB4OTQsMHgwMywweGE0LDB4MDAsMHhlOSwweDAyIH0gfSwKLXsgIDE2LCAweGFiMzAsIDAsIHsweDcyLDB4NjAsMHgwZCwweDk0LDB4MDMsMHhlNCwweDAxLDB4ZjksMHgwMSwweDNlLDB4NjAsMHgwZiwweDkwLDB4MDMsMHhlOCwweDA0IH0gfSwKLXsgIDE2LCAweGFiNDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDAxLDB4YTQsMHg0MCwweGY5LDB4MDAsMHgzZSwweDQwIH0gfSwKLXsgIDE2LCAweGFiNTAsIDAsIHsweDRmLDB4OTAsMHgwMywweGU3LDB4MTAsMHhmOSwweDgwLDB4M2UsMHg0MCwweDBmLDB4MTAsMHgxMywweDY0LDB4MDAsMHhmMSwweDAwIH0gfSwKLXsgIDE2LCAweGFiNjAsIDAsIHsweGJlLDB4NDAsMHgwZSwweDkwLDB4MDMsMHhlNiwweDA4LDB4ZjksMHgwMSwweDNlLDB4NjQsMHgwZiwweDkwLDB4MDMsMHhjYSwweDAwIH0gfSwKLXsgIDE2LCAweGFiNzAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDAwLDB4YTAsMHgwMCwweGY4LDB4MDAsMHgzMiwweDA4IH0gfSwKLXsgIDE2LCAweGFiODAsIDAsIHsweDBjLDB4MDEsMHgwYiwweDIwLDB4NDAsMHhjOCwweDQwLDB4MzIsMHgwMCwweDBlLDB4ODQsMHg4MywweDIwLDB4MDAsMHhmOCwweDA0IH0gfSwKLXsgIDE2LCAweGFiOTAsIDAsIHsweDNlLDB4MDQsMHgwZiwweDgwLDB4MDMsMHgyMSwweDAwLDB4ZTgsMHgwMCwweDNlLDB4MTAsMHgwZiwweDg4LDB4MDMsMHhjYSwweDA0IH0gfSwKLXsgIDE2LCAweGFiYTAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4MzgsMHgwMCwweDNlLDB4MDQsMHgyMywweDgwIH0gfSwKLXsgIDE2LCAweGFiYjAsIDAsIHsweDA4LDB4ZWMsMHgxMiwweDM5LDB4NDQsMHhhNiwweDAwLDB4MjgsMHg4MSwweDA4LDB4ZTAsMHgwMCwweDM4LDB4MDgsMHhiYSwweDAwIH0gfSwKLXsgIDE2LCAweGFiYzAsIDAsIHsweDNmLDB4ODAsMHgwYiwweGEwLDB4MDIsMHhhOCwweDAwLDB4OGEsMHgwMiwweDJlLDB4ODAsMHgwYiwweGUwLDB4MDIsMHhjYSwweDAwIH0gfSwKLXsgIDE2LCAweGFiZDAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NDgsMHgwMCwweDMxLDB4MDAsMHgyNCwweGQwIH0gfSwKLXsgIDE2LCAweGFiZTAsIDAsIHsweDA4LDB4M2UsMHgxMiwweGFlLDB4MDgsMHg4MSwweGEwLDB4MmMsMHhjMCwweDBhLDB4MzgsMHgwMCwweDRjLDB4MDAsMHhiMywweDAwIH0gfSwKLXsgIDE2LCAweGFiZjAsIDAsIHsweDZlLDB4YzAsMHgwYSwweDMwLDB4MDIsMHgwYywweDAwLDB4YTMsMHgwMCwweDZjLDB4YzAsMHgwYiwweDMwLDB4MDIsMHhjYSwweDAwIH0gfSwKLXsgIDE2LCAweGFjMDAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDAxLDB4MTgsMHgwMCwweGI1LDB4MTAsMHgyNSwweGMwIH0gfSwKLXsgIDE2LCAweGFjMTAsIDAsIHsweDI4LDB4NjAsMHgxMiwweDkwLDB4MTAsMHhhNSwweDA4LDB4MmQsMHhjMiwweDA4LDB4NjQsMHgyMiwweDU4LDB4MTgsMHhiNywweDAwIH0gfSwKLXsgIDE2LCAweGFjMjAsIDAsIHsweDJkLDB4ODAsMHgwYiwweDc5LDB4MDIsMHhiZSwweGMwLDB4ODcsMHgwMSwweDZkLDB4YzAsMHgwYiwweDYwLDB4MDIsMHhlOCwweDAwIH0gfSwKLXsgIDE2LCAweGFjMzAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MWUsMHgwMCwweGY1LDB4ODQsMHgzNSwweDIwIH0gfSwKLXsgIDE2LCAweGFjNDAsIDAsIHsweDhjLDB4MTgsMHgwMiwweDkyLDB4MTAsMHhjNSwweDgwLDB4M2QsMHg2MCwweDBlLDB4YzgsMHgwYiwweDVhLDB4MDgsMHg3NywweGYzIH0gfSwKLXsgIDE2LCAweGFjNTAsIDAsIHsweDNkLDB4YTAsMHgwZiwweGY4LDB4MDMsMHgxZSwweGIwLDB4ZTcsMHg4NSwweDNkLDB4ZTAsMHgwZiwweDc4LDB4MDMsMHhlYSwweDAyIH0gfSwKLXsgIDE2LCAweGFjNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDFkLDB4YWMsMHgwMCwweGYxLDB4MDQsMHhiYSwweDAxIH0gfSwKLXsgIDE2LCAweGFjNzAsIDAsIHsweDBmLDB4YTAsMHg0MywweDYwLDB4MDksMHhlMSwweDAwLDB4MzgsMHg0MCwweDBlLDB4YTAsMHgwMywweGE4LDB4MTQsMHhmYiwweDIwIH0gfSwKLXsgIDE2LCAweGFjODAsIDAsIHsweDNhLDB4ODAsMHgwZiwweGI0LDB4MWIsMHg0YywweDgwLDB4ZmIsMHgyOSwweDNlLDB4YzAsMHgwZiwweGIwLDB4MjMsMHhjMiwweDA2IH0gfSwKLXsgIDE2LCAweGFjOTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZmEsMHgwMCwweGNkLDB4ODAsMHgzYiwweGUwIH0gfSwKLXsgIDE2LCAweGFjYTAsIDAsIHsweDRlLDB4ZjgsMHgwMywweGYyLDB4MDIsMHhkNCwweDgxLDB4M2IsMHhlMCwweDhlLDB4OTgsMHgwNywweDNlLDB4NDQsMHhlZiwweDkxIH0gfSwKLXsgIDE2LCAweGFjYjAsIDAsIHsweDNmLDB4ZTAsMHg0ZiwweGZjLDB4MDcsMHhlZSwweGQwLDB4Y2YsMHg5OCwweDMzLDB4ZTQsMHgwZiwweGY4LDB4MDMsMHhjMCwweDAwIH0gfSwKLXsgIDE2LCAweGFjYzAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDAxLDB4OTgsMHgwMCwweDg1LDB4MTAsMHgyZCwweGM0IH0gfSwKLXsgIDE2LCAweGFjZDAsIDAsIHsweDBkLDB4MTEsMHgwMiwweGYwLDB4MDAsMHg4NSwweDIwLDB4MzEsMHhjNCwweDBiLDB4N2IsMHgwMCwweDM4LDB4NDAsMHhkNywweDEwIH0gfSwKLXsgIDE2LCAweGFjZTAsIDAsIHsweDJkLDB4ODAsMHgwYiwweDcwLDB4NjIsMHhmZSwweGUxLDB4ODcsMHgxNCwweDM5LDB4YzAsMHgwYiwweDYwLDB4MDIsMHhlYSwweDA0IH0gfSwKLXsgIDE2LCAweGFjZjAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDEwLDB4YmMsMHg0MCwweGE1LDB4MDAsMHgyOSwweDQwIH0gfSwKLXsgIDE2LCAweGFkMDAsIDAsIHsweDBiLDB4NTAsMHg4MiwweGRjLDB4NDAsMHg4NCwweDA0LDB4MmQsMHhjMCwweDBiLDB4MTAsMHgwNiwweDU4LDB4NDQsMHhhNywweDEwIH0gfSwKLXsgIDE2LCAweGFkMTAsIDAsIHsweDJkLDB4ODAsMHgwYiwweDcxLDB4MDIsMHhkYywweDAwLDB4ODcsMHgwNCwweDIxLDB4YzIsMHgwYiwweDUwLDB4MDIsMHhjMCwweDEwIH0gfSwKLXsgIDE2LCAweGFkMjAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMCwweDE0LDB4Y2MsMHgwYSwweGExLDB4MDEsMHgyYywweDQwIH0gfSwKLXsgIDE2LCAweGFkMzAsIDAsIHsweDg5LDB4MTgsMHgwMiwweGMxLDB4MDAsMHhhMSwweDA4LDB4MjAsMHhjMCwweDBiLDB4MzQsMHgwNiwweDQwLDB4MDAsMHg5MywweDA1IH0gfSwKLXsgIDE2LCAweGFkNDAsIDAsIHsweDJjLDB4MTQsMHgwYiwweDNjLDB4ODYsMHhjZSwweDEwLDB4ODMsMHgwMSwweDI4LDB4ZjEsMHgwYiwweDE0LDB4MDIsMHhjOCwweDA0IH0gfSwKLXsgIDE2LCAweGFkNTAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YTAsMHgwMCwweGVkLDB4MDAsMHgzYSwweGMwIH0gfSwKLXsgIDE2LCAweGFkNjAsIDAsIHsweDA3LDB4YmMsMHg2MywweGVkLDB4MDAsMHg4MSwweDQwLDB4M2UsMHhjMCwweDBlLDB4ODgsMHgwMywweDY0LDB4MDAsMHhlZiwweDAwIH0gfSwKLXsgIDE2LCAweGFkNzAsIDAsIHsweDdlLDB4NTAsMHgwZiwweGYwLDB4MDIsMHhmZCwweDQyLDB4Y2YsMHgwMCwweDcyLDB4YzAsMHgxZiwweGI0LDB4MDMsMHhlYSwweDA0IH0gfSwKLXsgIDE2LCAweGFkODAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDAwLDB4ZTgsMHgwMCwweDk5LDB4MDAsMHgzZSwweGUwIH0gfSwKLXsgIDE2LCAweGFkOTAsIDAsIHsweDRmLDB4YjQsMHg4MywweGVkLDB4OTAsMHgwOSwweDQwLDB4M2UsMHhjMCwweDBmLDB4YTEsMHg4MywweGE4LDB4MDEsMHhlYiwweDAxIH0gfSwKLXsgIDE2LCAweGFkYTAsIDAsIHsweDNlLDB4MDAsMHgwZiwweGIxLDB4MTMsMHhlYywweDBjLDB4ZmIsMHgwMCwweDNhLDB4YzAsMHg1ZiwweDIwLDB4MjMsMHhlMCwweDAwIH0gfSwKLXsgIDE2LCAweGFkYjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZjgsMHgwMCwweGZkLDB4MDQsMHgzZiwweGIwIH0gfSwKLXsgIDE2LCAweGFkYzAsIDAsIHsweDBkLDB4NjAsMHgwMywweDNlLDB4MDAsMHhjZCwweDAwLDB4MzMsMHhmMCwweDBmLDB4ZjIsMHgwMSwweGYwLDB4MDAsMHhmZiwweDAzIH0gfSwKLXsgIDE2LCAweGFkZDAsIDAsIHsweDNmLDB4MDMsMHgwZiwweGYwLDB4MDEsMHhmYywweDAwLDB4ZmIsMHgwMiwweDMzLDB4YzIsMHgwZiwweGYwLDB4ZTMsMHgwMCwweDQ0IH0gfSwKLXsgIDE2LCAweGFkZTAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MSwweDA0LDB4NmEsMHgwMCwweGI5LDB4MDIsMHgyZSwweGEwIH0gfSwKLXsgIDE2LCAweGFkZjAsIDAsIHsweDRhLDB4YWMsMHgwMiwweDBlLDB4ODAsMHhmOSwweGMwLDB4MzYsMHhlMSwweDBiLDB4YTAsMHgwMiwweDJhLDB4MDgsMHhiYiwweDAwIH0gfSwKLXsgIDE2LCAweGFlMDAsIDAsIHsweDJlLDB4MjAsMHgwZSwweGIwLDB4MDIsMHhlYywweDAwLDB4ZWIsMHgwMCwweDIyLDB4YzAsMHg4YiwweGIwLDB4MDIsMHgyMCwweDQwIH0gfSwKLXsgIDE2LCAweGFlMTAsIDAsIHsweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDAxLDB4MjMsMHgwMCwweGE5LDB4MDAsMHgyOCwweGMwIH0gfSwKLXsgIDE2LCAweGFlMjAsIDAsIHsweDA5LDB4YjIsMHgyMiwweDZjLDB4NDAsMHg4OSwweDg5LDB4MmEsMHhjMCwweDBiLDB4MTQsMHgwNiwweDI2LDB4MDAsMHhhYiwweDAyIH0gfSwKLXsgIDE2LCAweGFlMzAsIDAsIHsweDZlLDB4ZTAsMHgwOSwweGIwLDB4MDYsMHg2YywweDAwLDB4YjMsMHgwMiwweDIyLDB4YzAsMHgwYiwweGIwLDB4MDIsMHgyMCwweDAwIH0gfSwKLXsgIDE2LCAweGFlNDAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA0LDB4MDgsMHgwMCwweGIxLDB4MDAsMHgyYywweGMwIH0gfSwKLXsgIDE2LCAweGFlNTAsIDAsIHsweDBhLDB4MzAsMHgwMiwweDJjLDB4MDAsMHhiYiwweDAwLDB4NjQsMHhjMCwweDBiLDB4MzIsMHgwYSwweDA4LDB4MDAsMHgzMywweDAwIH0gfSwKLXsgIDE2LCAweGFlNjAsIDAsIHsweDZjLDB4ODAsMHgwMiwweDMwLDB4NDYsMHhjYywweDE4LDB4YTMsMHgwMCwweDIwLDB4YzAsMHgwYiwweDI4LDB4MDIsMHgwMiwweDExIH0gfSwKLXsgIDE2LCAweGFlNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4NjgsMHgwMCwweGU5LDB4MDAsMHgzOCwweGMxIH0gfSwKLXsgIDE2LCAweGFlODAsIDAsIHsweDBkLDB4YjEsMHgwYiwweDJjLDB4MDAsMHg4OSwweDAwLDB4M2EsMHhjMCwweDBiLDB4OTAsMHgwMywweDYwLDB4MDAsMHhmZiwweDAyIH0gfSwKLXsgIDE2LCAweGFlOTAsIDAsIHsweDNlLDB4ODAsMHgwZiwweGYwLDB4MDMsMHhmYywweDgwLDB4ZmYsMHgwMCwweDMyLDB4YzAsMHg4ZiwweDgwLDB4MGIsMHgwMCwweDAzIH0gfSwKLXsgIDE2LCAweGFlYTAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDExLDB4ZDgsMHgwMCwweGZkLDB4MDQsMHgzZiwweGMwIH0gfSwKLXsgIDE2LCAweGFlYjAsIDAsIHsweDJmLDB4ZjIsMHgwMywweGZjLDB4MTEsMHhlZiwweDAwLDB4M2YsMHhjMCwweDBmLDB4ZjQsMHg0MywweDcwLDB4MDAsMHhmZiwweDAwIH0gfSwKLXsgIDE2LCAweGFlYzAsIDAsIHsweDNmLDB4MDAsMHg0NiwweGYwLDB4MDMsMHhmZCwweDAwLDB4ZWYsMHgwMCwweDNmLDB4YzAsMHgwZiwweGMwLDB4MDMsMHhlOCwweDA2IH0gfSwKLXsgIDE2LCAweGFlZDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZmUsMHgwMCwweGZmLDB4ODAsMHgzZCwweGUwIH0gfSwKLXsgIDE2LCAweGFlZTAsIDAsIHsweDBjLDB4ZjksMHgxMywweGRlLDB4MDAsMHg3ZiwweDgwLDB4YjMsMHhlMCwweDBmLDB4ZmMsMHgwMywweGJlLDB4NDAsMHhjZiwweDgwIH0gfSwKLXsgIDE2LCAweGFlZjAsIDAsIHsweDMzLDB4ZjAsMHgwZiwweGY4LDB4MDMsMHg3YywweDA0LDB4Y2MsMHg4MCwweDMzLDB4YTAsMHgwYywweGYwLDB4MGIsMHgzMCwweDAxIH0gfSwKLXsgIDE2LCAweGFmMDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDEwLDB4ZTAsMHgyMCwweDg4LDB4MDAsMHgyZSwweDIwIH0gfSwKLXsgIDE2LCAweGFmMTAsIDAsIHsweDA4LDB4ODIsMHgxMiwweGUwLDB4ODAsMHhhOCwweDgxLDB4MjIsMHgwMiwweDBiLDB4ODAsMHgwMiwweDIwLDB4ODAsMHhhOCwweDgwIH0gfSwKLXsgIDE2LCAweGFmMjAsIDAsIHsweDIyLDB4MDgsMHgwYiwweDgwLDB4MDIsMHgyYywweDAyLDB4ODgsMHgwNCwweGFhLDB4MjAsMHgwOCwweGIwLDB4MDIsMHgyMCwweDA0IH0gfSwKLXsgIDE2LCAweGFmMzAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4ZWMsMHgwMCwweGEzLDB4MDgsMHgyYywweDgwIH0gfSwKLXsgIDE2LCAweGFmNDAsIDAsIHsweDA4LDB4MzIsMHgwMiwweGM0LDB4MjAsMHhhMywweDAwLDB4MjgsMHg0MCwweDBiLDB4OTIsMHgwMiwweDg0LDB4MDAsMHhhOSwweDAxIH0gfSwKLXsgIDE2LCAweGFmNTAsIDAsIHsweDI4LDB4YzgsMHgxYiwweDEyLDB4ODIsMHhjYywweDQwLDB4YTgsMHgwMCwweDI0LDB4ZTAsMHgwYSwweDMwLDB4NDIsMHgyMiwweDAxIH0gfSwKLXsgIDE2LCAweGFmNjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDExLDB4YTgsMHg4MCwweGE4LDB4MDIsMHgyZSwweDQwIH0gfSwKLXsgIDE2LCAweGFmNzAsIDAsIHsweDY4LDB4ODAsMHgxMCwweGM4LDB4MDAsMHhiOCwweDQwLDB4MmEsMHg5MCwweDBiLDB4YTAsMHgwMCwweDI4LDB4MDAsMHhhYSwweDA4IH0gfSwKLXsgIDE2LCAweGFmODAsIDAsIHsweDJhLDB4MDIsMHgwMywweDIwLDB4MDIsMHg4YywweDAwLDB4YTgsMHg4OCwweDJlLDB4MjAsMHgwYSwweGIwLDB4MDIsMHgzMCwweDA0IH0gfSwKLXsgIDE2LCAweGFmOTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDE1LDB4ZTgsMHgwNCwweGZhLDB4MDAsMHgzYywweDQwIH0gfSwKLXsgIDE2LCAweGFmYTAsIDAsIHsweDBjLDB4YTAsMHgwMywweGU4LDB4MDAsMHhlYiwweDAwLDB4M2EsMHhjMCwweDBmLDB4MjAsMHg1MywweGE4LDB4MDAsMHhlMywweDQwIH0gfSwKLXsgIDE2LCAweGFmYjAsIDAsIHsweDJhLDB4NDAsMHgwZiwweGEwLDB4MDMsMHg2YywweDAwLDB4YTgsMHg4MCwweDM0LDB4MjAsMHgxZSwweGIwLDB4MDMsMHgxMCwweDA0IH0gfSwKLXsgIDE2LCAweGFmYzAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDAxLDB4YjQsMHgwMCwweDlkLDB4OTEsMHgzZiwweDgwIH0gfSwKLXsgIDE2LCAweGFmZDAsIDAsIHsweDBmLDB4ZGEsMHgyMywweGY0LDB4MDAsMHhjYywweDIwLDB4MzcsMHgwMCwweDA3LDB4ZDAsMHgxMywweDc0LDB4MDAsMHhiYywweDAwIH0gfSwKLXsgIDE2LCAweGFmZTAsIDAsIHsweGI3LDB4ODAsMHgwYiwweGQwLDB4NDMsMHg3YywweDAwLDB4ZGMsMHgwNCwweDNiLDB4MDAsMHg2ZCwweGYwLDB4MDMsMHhmOCwweDAwIH0gfSwKLXsgIDE2LCAweGFmZjAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YTgsMHgwMCwweGZhLDB4ODAsMHgzYSwweDAwIH0gfSwKLXsgIDE2LCAweGIwMDAsIDAsIHsweDJjLDB4YTAsMHgwYiwweDIwLDB4MDIsMHhjYiwweDYyLDB4M2UsMHg1MCwweDBlLDB4ODgsMHgwMywweDIwLDB4MDAsMHhkOSwweDEwIH0gfSwKLXsgIDE2LCAweGIwMTAsIDAsIHsweDNlLDB4NzAsMHg4YywweDgwLDB4MzMsMHhlYywweDgwLDB4ZDgsMHg0MCwweDNhLDB4MDIsMHgwZCwweGIwLDB4MDMsMHgxMCwweDA0IH0gfSwKLXsgIDE2LCAweGIwMjAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjOCwweDAxLDB4MGMsMHgwMCwweDM5LDB4ODAsMHgyMiwweGMwIH0gfSwKLXsgIDE2LCAweGIwMzAsIDAsIHsweDBjLDB4OWQsMHg4MiwweDJjLDB4MTAsMHhkMCwweDQwLDB4MmUsMHhhMCwweDA4LDB4YjgsMHgwMywweDRlLDB4MDIsMHg4YSwweDQwIH0gfSwKLXsgIDE2LCAweGIwNDAsIDAsIHsweDBlLDB4YTAsMHgwZCwweGIwLDB4MDMsMHgzZCwweDAwLDB4ZDAsMHg5MCwweDM2LDB4MTAsMHgwYiwweGYwLDB4MDIsMHhiMiwweDAwIH0gfSwKLXsgIDE2LCAweGIwNTAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NGMsMHgwMCwweGIxLDB4MDAsMHg2MCwweGMwIH0gfSwKLXsgIDE2LCAweGIwNjAsIDAsIHsweDhhLDB4MTgsMHgwMiwweDhjLDB4MDgsMHg4MCwweDQwLDB4MGMsMHhhMCwweDAyLDB4MzAsMHgwMiwweGNlLDB4MDAsMHg4MiwweDQ4IH0gfSwKLXsgIDE2LCAweGIwNzAsIDAsIHsweDJjLDB4ODAsMHgyYiwweDMwLDB4MDYsMHg4YywweDAwLDB4ODEsMHgwMiwweDIwLDB4OTAsMHgwOSwweGIwLDB4MDIsMHgzOCwweDAwIH0gfSwKLXsgIDE2LCAweGIwODAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMCwweDAxLDB4MTIsMHgwMCwweGI2LDB4OTAsMHhhMywweDMwIH0gfSwKLXsgIDE2LCAweGIwOTAsIDAsIHsweDA4LDB4ZTgsMHgyMiwweGIyLDB4MTQsMHg4NywweDgwLDB4MmQsMHg2MCwweDA4LDB4NDksMHgxMiwweDEyLDB4NjEsMHg5NSwweDkwIH0gfSwKLXsgIDE2LCAweGIwYTAsIDAsIHsweDJkLDB4NjEsMHgwYSwweDQ4LDB4MTYsMHgxZSwweDgwLDB4OTUsMHg4MCwweDI1LDB4MjAsMHgwYiwweDc4LDB4MDIsMHg4OCwweDAwIH0gfSwKLXsgIDE2LCAweGIwYjAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MGMsMHgwMCwweGYxLDB4MDAsMHgyOCwweDhjIH0gfSwKLXsgIDE2LCAweGIwYzAsIDAsIHsweDhlLDB4MTAsMHgwMywweDg0LDB4ODAsMHg4MCwweDAwLDB4MmMsMHgwMiwweDBhLDB4OWEsMHgwMiwweGU0LDB4MDAsMHhkMCwweDAwIH0gfSwKLXsgIDE2LCAweGIwZDAsIDAsIHsweDNlLDB4ODAsMHgwYiwweDkxLDB4MDMsMHg4ZSwweDgwLDB4YzIsMHgwOCwweDM4LDB4ODAsMHgwZCwweGIwLDB4MDMsMHgxMiwweDAyIH0gfSwKLXsgIDE2LCAweGIwZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDFkLDB4YjAsMHgwMCwweGY2LDB4MDAsMHgzZiwweDQ0IH0gfSwKLXsgIDE2LCAweGIwZjAsIDAsIHsweDBmLDB4MjEsMHgxMywweDc4LDB4MDAsMHhmZiwweDAwLDB4M2QsMHhjMCwweDBmLDB4ZTAsMHgwMywweDc4LDB4MDAsMHhlZiwweDA0IH0gfSwKLXsgIDE2LCAweGIxMDAsIDAsIHsweDNmLDB4NDAsMHg4ZCwweGU4LDB4MDMsMHhkYywweDA0LDB4ZjYsMHgwMCwweDNmLDB4MDAsMHgwZiwweGYwLDB4ODMsMHhkMCwweDA2IH0gfSwKLXsgIDE2LCAweGIxMTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZTgsMHgwMCwweGU4LDB4ODAsMHgzMiwweDQwIH0gfSwKLXsgIDE2LCAweGIxMjAsIDAsIHsweDBmLDB4ODgsMHgwYiwweDI4LDB4MDAsMHg3OCwweDAyLDB4M2UsMHg4MCwweDBlLDB4MjgsMHgwMywweDI4LDB4MDAsMHhjYSwweDgwIH0gfSwKLXsgIDE2LCAweGIxMzAsIDAsIHsweDMyLDB4MDAsMHgwZiwweGEwLDB4MDMsMHhlYywweDAwLDB4YzksMHg4MCwweDMyLDB4ODAsMHgwZiwweGIwLDB4MDMsMHgyYSwweDAwIH0gfSwKLXsgIDE2LCAweGIxNDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDExLDB4OGMsMHgwMCwweDhmLDB4MDAsMHhhMSwweDgwIH0gfSwKLXsgIDE2LCAweGIxNTAsIDAsIHsweDBiLDB4NzAsMHg0MiwweDE0LDB4MDAsMHhiNywweDAwLDB4MmQsMHg0MSwweDBiLDB4NTAsMHg0MiwweDE0LDB4MDAsMHhhNSwweDAwIH0gfSwKLXsgIDE2LCAweGIxNjAsIDAsIHsweGExLDB4YzAsMHgwYiwweDUwLDB4MDIsMHhmYywweDgwLDB4YTUsMHgwMCwweDIxLDB4MDAsMHgwYiwweGYyLDB4MDIsMHgxMiwweDA0IH0gfSwKLXsgIDE2LCAweGIxNzAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4YmEsMHgwMCwweGE0LDB4ODAsMHgyOSwweDMwIH0gfSwKLXsgIDE2LCAweGIxODAsIDAsIHsweDRiLDB4NDgsMHgwNiwweDUyLDB4MDgsMHhiNCwweDgwLDB4MmQsMHgyMCwweDBiLDB4NDgsMHg0MiwweDMyLDB4MDAsMHg4NCwweDgwIH0gfSwKLXsgIDE2LCAweGIxOTAsIDAsIHsweDIxLDB4MjAsMHgwYiwweDQ4LDB4MTIsMHhkZSwweDQwLDB4ODYsMHg4MSwweDI5LDB4YTAsMHgwYiwweDc4LDB4MGEsMHgzMCwweDAwIH0gfSwKLXsgIDE2LCAweGIxYTAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDE0LDB4Y2MsMHgwMCwweDgzLDB4MDUsMHgyMCwweGUwIH0gfSwKLXsgIDE2LCAweGIxYjAsIDAsIHsweDBiLDB4MzQsMHgwMiwweDZjLDB4MTAsMHhiMywweDAwLDB4MmMsMHhjMCwweDBiLDB4MzYsMHg0YSwweDBkLDB4MGQsMHhhMywweDAwIH0gfSwKLXsgIDE2LCAweGIxYzAsIDAsIHsweDIwLDB4YzAsMHgwYiwweDM0LDB4ODIsMHhjYywweDAyLDB4YTIsMHgwMCwweDI4LDB4MDAsMHgwYiwweDMwLDB4MDIsMHgxMiwweDA0IH0gfSwKLXsgIDE2LCAweGIxZDAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YTksMHgyMCwweGVhLDB4NDAsMHgzMCwweGEwIH0gfSwKLXsgIDE2LCAweGIxZTAsIDAsIHsweDA3LDB4YTAsMHg0MywweDY5LDB4NDAsMHhmYSwweDAwLDB4M2MsMHg4MCwweDBmLDB4YTAsMHgwMywweDA4LDB4NDAsMHhjYSwweDAwIH0gfSwKLXsgIDE2LCAweGIxZjAsIDAsIHsweDMwLDB4YTAsMHgwZiwweGE0LDB4MDMsMHhlOCwweDAwLDB4Y2UsMHgwMCwweDNiLDB4OTgsMHgwZiwweGEwLDB4MDMsMHgzYSwweDA0IH0gfSwKLXsgIDE2LCAweGIyMDAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDAwLDB4ZDIsMHgwMCwweGZjLDB4MDgsMHgzZiwweDAwIH0gfSwKLXsgIDE2LCAweGIyMTAsIDAsIHsweDBiLDB4YzIsMHgwMywweGIwLDB4MDAsMHhmYywweDAwLDB4M2YsMHgwMCwweDBmLDB4YzAsMHgwMywweGYwLDB4MDAsMHhmYywweDAwIH0gfSwKLXsgIDE2LCAweGIyMjAsIDAsIHsweDNmLDB4MDQsMHgwZiwweGMwLDB4MDMsMHhlMCwweDAwLDB4ZjgsMHgwMCwweGI2LDB4MDIsMHgwZiwweDgwLDB4MDMsMHhkMiwweDAwIH0gfSwKLXsgIDE2LCAweGIyMzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTQsMHgwMCwweGQ5LDB4MDAsMHgzZSwweDY4IH0gfSwKLXsgIDE2LCAweGIyNDAsIDAsIHsweDRjLDB4OTEsMHgwMSwweGU0LDB4MDgsMHhjOSwweDAwLDB4M2UsMHg0MCwweDJjLDB4OTIsMHgwMywweGU0LDB4MDIsMHhjOSwweGEwIH0gfSwKLXsgIDE2LCAweGIyNTAsIDAsIHsweDNlLDB4NzAsMHgwZSwweDkwLDB4MDMsMHhjNiwweDQyLDB4YzksMHgwMCwweDNlLDB4NDAsMHgwZiwweDEwLDB4MDMsMHgwMiwweDA0IH0gfSwKLXsgIDE2LCAweGIyNjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA0LDB4NjQsMHgwMCwweDg5LDB4ODYsMHgwZSwweDYwIH0gfSwKLXsgIDE2LCAweGIyNzAsIDAsIHsweDA4LDB4OTgsMHgwMiwweGU0LDB4MDgsMHg4OSwweDEwLDB4MmUsMHg2MCwweDA4LDB4OTAsMHgwMiwweGU0LDB4MDAsMHg4OSwweDBjIH0gfSwKLXsgIDE2LCAweGIyODAsIDAsIHsweDJlLDB4NjAsMHgwOCwweDkwLDB4MDIsMHhlNiwweDg4LDB4ODksMHgwMCwweDJlLDB4NDAsMHgwYiwweDkwLDB4MDIsMHhhMCwweDAwIH0gfSwKLXsgIDE2LCAweGIyOTAsIDAsIHsweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4MjQsMHgwMCwweDlkLDB4MTAsMHgyZiwweDQwIH0gfSwKLXsgIDE2LCAweGIyYTAsIDAsIHsweDI4LDB4ZDAsMHgwNiwweGY0LDB4MDIsMHhhZCwweDAwLDB4MmYsMHg2MCwweDA4LDB4ZDAsMHgwMiwweGY0LDB4MDAsMHg4ZCwweDAwIH0gfSwKLXsgIDE2LCAweGIyYjAsIDAsIHsweDJmLDB4NDAsMHgwYSwweGQwLDB4MDIsMHhlNCwweDAwLDB4ODksMHgwMCwweDJlLDB4NjAsMHgwYiwweDkwLDB4MDIsMHgwNiwweDAwIH0gfSwKLXsgIDE2LCAweGIyYzAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA0LDB4MzQsMHgwMCwweDg1LDB4MDAsMHgyZCwweDQwIH0gfSwKLXsgIDE2LCAweGIyZDAsIDAsIHsweDA4LDB4NTgsMHgwMiwweGQ0LDB4MDAsMHhhNSwweDAyLDB4MmQsMHg0MCwweDA4LDB4NTAsMHgwMCwweGQ0LDB4MDAsMHg4NSwweDAwIH0gfSwKLXsgIDE2LCAweGIyZTAsIDAsIHsweDJkLDB4NDAsMHgwOCwweDU0LDB4MDIsMHhjNCwweDgwLDB4ODEsMHgwMCwweDJjLDB4NjAsMHgwYiwweDE0LDB4MDIsMHg4MiwweDAxIH0gfSwKLXsgIDE2LCAweGIyZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjEsMHg0MCwweGQ4LDB4NTIsMHgzZSwweDAwIH0gfSwKLXsgIDE2LCAweGIzMDAsIDAsIHsweDBjLDB4MDUsMHgwMywweGUxLDB4NDAsMHhlOCwweDA0LDB4M2UsMHgxNCwweDBjLDB4ODUsMHgwMywweGUxLDB4NDAsMHhjOCwweDAwIH0gfSwKLXsgIDE2LCAweGIzMTAsIDAsIHsweDNlLDB4MTQsMHgwZSwweGMwLDB4MDMsMHhlMCwweDAwLDB4YzAsMHgwMiwweDNlLDB4MDAsMHg0ZiwweDgwLDB4MjMsMHgyZSwweDAzIH0gfSwKLXsgIDE2LCAweGIzMjAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5OCwweDFkLDB4ZjQsMHgwMCwweGY5LDB4MDEsMHgzZSwweDQwIH0gfSwKLXsgIDE2LCAweGIzMzAsIDAsIHsweDRmLDB4OTAsMHgxMywweGU0LDB4MDAsMHhkOSwweDAwLDB4MWUsMHg0MCwweDBmLDB4OTAsMHgwMywweGM0LDB4MTAsMHhmMSwweDAwIH0gfSwKLXsgIDE2LCAweGIzNDAsIDAsIHsweDFlLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhlNCwweGUwLDB4ZmQsMHgyOCwweDNmLDB4NDAsMHgwZiwweDk0LDB4MDMsMHhlNiwweDA2IH0gfSwKLXsgIDE2LCAweGIzNTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4YTQsMHgwMCwweGZkLDB4MDAsMHgzZiwweDQwIH0gfSwKLXsgIDE2LCAweGIzNjAsIDAsIHsweDRkLDB4NTAsMHgwMiwweGU0LDB4MDAsMHg5NSwweDA0LDB4MzMsMHg0MCwweDI4LDB4ZDAsMHgwMywweGY0LDB4MDAsMHhmZCwweDAwIH0gfSwKLXsgIDE2LCAweGIzNzAsIDAsIHsweDMzLDB4NDAsMHgwZiwweDkxLDB4MDMsMHgzNCwweDAwLDB4Y2QsMHg0MCwweDMzLDB4NDAsMHgwZiwweDk4LDB4ODEsMHgwNiwweDAwIH0gfSwKLXsgIDE2LCAweGIzODAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzOCwweDEwLDB4ZTAsMHgxMCwweGI4LDB4MDAsMHgyZSwweDAwIH0gfSwKLXsgIDE2LCAweGIzOTAsIDAsIHsweDBiLDB4ODAsMHgwMiwweGUwLDB4MTAsMHhiOCwweDAwLDB4MjIsMHgwMCwweDA4LDB4ODAsMHgwMiwweGUwLDB4MDAsMHhiOCwweDAwIH0gfSwKLXsgIDE2LCAweGIzYTAsIDAsIHsweDIyLDB4MDAsMHgwYiwweDg4LDB4MDMsMHhjMiwweDgwLDB4ODgsMHg4MCwweDIyLDB4MDAsMHgwYiwweDhjLDB4MDIsMHgwZSwweDA0IH0gfSwKLXsgIDE2LCAweGIzYjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA0LDB4YzQsMHgwMCwweGIxLDB4MDAsMHgyYywweGMwIH0gfSwKLXsgIDE2LCAweGIzYzAsIDAsIHsweDBiLDB4MTAsMHgwMiwweGM0LDB4MDAsMHhiYiwweDAwLDB4MjIsMHg0MCwweDA4LDB4MTAsMHgwMiwweGM0LDB4MDEsMHhiOSwweDAwIH0gfSwKLXsgIDE2LCAweGIzZDAsIDAsIHsweDIwLDB4NDAsMHgxYiwweDkwLDB4MDIsMHgwNCwweDIyLDB4ODksMHgwMCwweDIwLDB4NjAsMHgwYiwweDEyLDB4ODIsMHgwMiwweDAxIH0gfSwKLXsgIDE2LCAweGIzZTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDE1LDB4YTQsMHg0NCwweGI5LDB4MDAsMHgyZSwweGMwIH0gfSwKLXsgIDE2LCAweGIzZjAsIDAsIHsweDRiLDB4OTAsMHgwMiwweGU0LDB4MTAsMHhiOSwweDAyLDB4MDIsMHg0MCwweDA4LDB4OTEsMHg0MiwweGU0LDB4MDAsMHhiOSwweDgwIH0gfSwKLXsgIDE2LCAweGI0MDAsIDAsIHsweDIyLDB4NDAsMHgwYiwweDkyLDB4MDIsMHhjNCwweDAwLDB4OTksMHg0MCwweDIyLDB4NDAsMHg0YiwweDkwLDB4MTIsMHgwNiwweDA0IH0gfSwKLXsgIDE2LCAweGI0MTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4ZTYsMHgwMCwweGI5LDB4MDEsMHgzZSwweDU4IH0gfSwKLXsgIDE2LCAweGI0MjAsIDAsIHsweDBkLDB4OTAsMHgwMywweGU2LDB4MDAsMHhkMSwweDAwLDB4MzIsMHg2MCwweDBjLDB4OTgsMHgwMiwweGU2LDB4NDAsMHhmOSwweDAwIH0gfSwKLXsgIDE2LCAweGI0MzAsIDAsIHsweGIyLDB4NDAsMHgwZiwweDE4LDB4MDMsMHgyNCwweDAwLDB4YzksMHg4MCwweDMyLDB4NTAsMHgwZiwweDkwLDB4MjMsMHgyOCwweDA0IH0gfSwKLXsgIDE2LCAweGI0NDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDAxLDB4YTQsMHgwMCwweGY5LDB4MDAsMHgzZSwweDQyIH0gfSwKLXsgIDE2LCAweGI0NTAsIDAsIHsweDBiLDB4OTAsMHgwMywweGU3LDB4MDgsMHhmOSwweDAwLDB4YmUsMHg0OCwweDBmLDB4OTAsMHgwMywweGU0LDB4MDAsMHhmOSwweDAwIH0gfSwKLXsgIDE2LCAweGI0NjAsIDAsIHsweDNlLDB4NDAsMHgwZiwweDk4LDB4MDMsMHhhNCwweDAwLDB4ZTksMHhhMCwweGJlLDB4NDAsMHgwZiwweDEwLDB4MGIsMHg0YSwweDAwIH0gfSwKLXsgIDE2LCAweGI0NzAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTAsMHgwMCwweGQ4LDB4MDEsMHgzZSwweDAwIH0gfSwKLXsgIDE2LCAweGI0ODAsIDAsIHsweDBmLDB4ODAsMHg4YiwweDIwLDB4MDAsMHhmOCwweDIwLDB4M2UsMHgwMSwweDBmLDB4ODEsMHgwMywweGUwLDB4MDAsMHhmOCwweDA4IH0gfSwKLXsgIDE2LCAweGI0OTAsIDAsIHsweDNhLDB4MDAsMHgwYywweDgwLDB4MDMsMHhlMCwweDAwLDB4ZDgsMHg0MCwweDMyLDB4MDAsMHgwZiwweDgwLDB4MTMsMHgwYSwweDA0IH0gfSwKLXsgIDE2LCAweGI0YTAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4MjgsMHgwMCwweDhhLDB4ODAsMHgyZiwweDkxIH0gfSwKLXsgIDE2LCAweGI0YjAsIDAsIHsweDBiLDB4ZWUsMHgwMiwweDI4LDB4MDEsMHhiZSwweDAwLDB4MjAsMHg4MCwweDBiLDB4YTAsMHgwMiwweGVhLDB4ODAsMHhiNiwweDQ4IH0gfSwKLXsgIDE2LCAweGI0YzAsIDAsIHsweDIyLDB4ODAsMHgwZCwweGEwLDB4MDIsMHhmYSwweDAyLDB4ODYsMHg0MSwweGEzLDB4YTYsMHgwYiwweGEwLDB4MDMsMHgwYSwweDAwIH0gfSwKLXsgIDE2LCAweGI0ZDAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NGMsMHgwMCwweDkzLDB4ODAsMHgyYywweGMwIH0gfSwKLXsgIDE2LCAweGI0ZTAsIDAsIHsweDBiLDB4MzAsMHgwMiwweDBjLDB4MTAsMHhiMywweDAwLDB4MjgsMHhjMCwweDBiLDB4MzgsMHgwMiwweGNjLDB4MDAsMHhiMywweDAwIH0gfSwKLXsgIDE2LCAweGI0ZjAsIDAsIHsweDI4LDB4YzAsMHgwOSwweDMwLDB4MDIsMHhjNiwweDAxLDB4ODMsMHg2MCwweDIwLDB4NzAsMHgwYiwweDMwLDB4MGEsMHg0YSwweDAwIH0gfSwKLXsgIDE2LCAweGI1MDAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDAxLDB4MmUsMHg4OCwweDg1LDB4MDgsMHgyZCwweDgwIH0gfSwKLXsgIDE2LCAweGI1MTAsIDAsIHsweDRiLDB4ZjgsMHgwNiwweDFjLDB4ODAsMHhiNywweDAwLDB4MjEsMHhjMCwweDBiLDB4NTAsMHgwMiwweGQ0LDB4MDAsMHhiNiwweDAwIH0gfSwKLXsgIDE2LCAweGI1MjAsIDAsIHsweDI5LDB4NjAsMHgwOSwweDcwLDB4MDIsMHhkMCwweGEwLDB4OGQsMHgwMCwweDIxLDB4NDAsMHgwYiwweDMyLDB4MDIsMHgyOCwweDAwIH0gfSwKLXsgIDE2LCAweGI1MzAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MWUsMHgwMCwweGQ1LDB4ODAsMHgzZCwweGUwIH0gfSwKLXsgIDE2LCAweGI1NDAsIDAsIHsweDhmLDB4NzgsMHgwMywweDFlLDB4ODQsMHhiNywweDgyLDB4M2QsMHg2MCwweDBmLDB4NTksMHgwMywweGRlLDB4MDAsMHhmNywweDgwIH0gfSwKLXsgIDE2LCAweGI1NTAsIDAsIHsweDI5LDB4NjAsMHgxNSwweDc4LDB4MDMsMHhkZSwweDAwLDB4YzcsMHg4MCwweDMxLDB4NjAsMHgwZiwweDdjLDB4MDMsMHg2YSwweDAyIH0gfSwKLXsgIDE2LCAweGI1NjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDFkLDB4YWMsMHg0MCwweGU5LDB4MDAsMHgzZSwweDgwIH0gfSwKLXsgIDE2LCAweGI1NzAsIDAsIHsweDBmLDB4YTAsMHgwMywweGVkLDB4MzAsMHhmYiwweDAwLDB4MzYsMHhjMSwweDBmLDB4OTYsMHgwMywweGU0LDB4MDAsMHhiMywweDAwIH0gfSwKLXsgIDE2LCAweGI1ODAsIDAsIHsweDM0LDB4NDAsMHgwZiwweGI3LDB4ODMsMHhlYywweDQwLDB4MjEsMHgwMCwweDNlLDB4NDAsMHgwZiwweGIwLDB4MDMsMHhjMiwweDA2IH0gfSwKLXsgIDE2LCAweGI1OTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZmUsMHgwMCwweGZmLDB4ODEsMHgzMywweGUwIH0gfSwKLXsgIDE2LCAweGI1YTAsIDAsIHsweDBmLDB4ZjksMHgwMywweGRlLDB4MjAsMHhjZiwweDgxLDB4M2YsMHhlMCwweDA3LDB4NzgsMHgwMywweDNlLDB4MDAsMHhmZiwweDgwIH0gfSwKLXsgIDE2LCAweGI1YjAsIDAsIHsweDNmLDB4ZTAsMHgwNCwweGY4LDB4MTMsMHhmZSwweDAyLDB4ZGUsMHg4MCwweDMzLDB4NjAsMHgwZiwweGY4LDB4MDMsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGI1YzAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDExLDB4OWMsMHgwMCwweGI3LDB4MDAsMHgyMSwweGM0IH0gfSwKLXsgIDE2LCAweGI1ZDAsIDAsIHsweDBiLDB4NWEsMHgwMiwweGRjLDB4NDgsMHg4NiwweDUwLDB4MmQsMHhjMCwweDBiLDB4MzEsMHgwMiwweDk0LDB4NjAsMHhiNCwweDE4IH0gfSwKLXsgIDE2LCAweGI1ZTAsIDAsIHsweDJkLDB4NDAsMHg0OCwweDcwLDB4MDIsMHhlOCwweDAwLDB4YTUsMHgxMCwweDIxLDB4NDAsMHgwYiwweDcxLDB4MDIsMHgyYSwweDA0IH0gfSwKLXsgIDE2LCAweGI1ZjAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OWMsMHgwMCwweGJkLDB4MDAsMHgyMSwweDQyIH0gfSwKLXsgIDE2LCAweGI2MDAsIDAsIHsweDBiLDB4NzAsMHgwMiwweGZjLDB4MDIsMHg4NSwweDAwLDB4MjUsMHg0MCwweDBiLDB4NTAsMHgwMiwweDljLDB4MDAsMHhiNywweDAwIH0gfSwKLXsgIDE2LCAweGI2MTAsIDAsIHsweDJmLDB4NDAsMHgyOCwweDcxLDB4MDIsMHhkYywweDAwLDB4YTYsMHgwMCwweDIxLDB4YzAsMHgwYiwweDcwLDB4MDIsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGI2MjAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMCwweDE0LDB4NmQsMHg4MCwweGIxLDB4MjAsMHhhMCwweDUwIH0gfSwKLXsgIDE2LCAweGI2MzAsIDAsIHsweDBiLDB4YjIsMHgwNiwweGNlLDB4MDAsMHhhMCwweDM0LDB4MmUsMHhmMCwweDBiLDB4MTgsMHgwMiwweDg1LDB4MjAsMHhiMywweDRhIH0gfSwKLXsgIDE2LCAweGI2NDAsIDAsIHsweDJjLDB4NTQsMHg4OCwweDM4LDB4MDIsMHhjYywweDEwLDB4YTEsMHgwMCwweDIwLDB4YjAsMHgwYiwweDMwLDB4MDIsMHgwOCwweDA0IH0gfSwKLXsgIDE2LCAweGI2NTAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YmUsMHg4MCwweGYzLDB4MDgsMHgxMCwweDU0IH0gfSwKLXsgIDE2LCAweGI2NjAsIDAsIHsweDBiLDB4ODgsMHgxMywweGZmLDB4MDAsMHhjMCwweDgwLDB4M2UsMHg2NCwweDBmLDB4YjQsMHg4MywweDA3LDB4MDAsMHhmOSwweGMwIH0gfSwKLXsgIDE2LCAweGI2NzAsIDAsIHsweDNlLDB4ZjAsMHgwYywweGZjLDB4MTMsMHhmNCwweDAwLDB4ZWEsMHgwMCwweDMyLDB4NzAsMHgwZiwweGYwLDB4MGIsMHgyYSwweDA0IH0gfSwKLXsgIDE2LCAweGI2ODAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDAwLDB4ZWMsMHgwMCwweGY5LDB4MDAsMHgzZSwweDEwIH0gfSwKLXsgIDE2LCAweGI2OTAsIDAsIHsweDA3LDB4OTEsMHgwMywweGVjLDB4YzAsMHg1OCwweDAwLDB4M2UsMHg0NCwweDBmLDB4OTIsMHgwMywweGU0LDB4MDAsMHhmOSwweDAwIH0gfSwKLXsgIDE2LCAweGI2YTAsIDAsIHsweDNlLDB4YzAsMHg4ZiwweGIzLDB4MDMsMHhlMCwweDAwLDB4YmIsMHgwMCwweGJlLDB4NDQsMHgwZiwweGIwLDB4MDMsMHhlMCwweDAwIH0gfSwKLXsgIDE2LCAweGI2YjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZmMsMHgwMiwweGNkLDB4MDQsMHgzMywweGUwIH0gfSwKLXsgIDE2LCAweGI2YzAsIDAsIHsweDBjLDB4YzAsMHgwMywweDNjLDB4MDgsMHhmZSwweDAwLDB4MzMsMHg2MCwweDJjLDB4ZDAsMHgwMiwweGI0LDB4ODAsMHhjZiwweDAwIH0gfSwKLXsgIDE2LCAweGI2ZDAsIDAsIHsweDNmLDB4NTIsMHgwNywweGYwLDB4MTMsMHhmYywweDAwLDB4Y2UsMHgxMCwweDMzLDB4NDIsMHgwYywweGIwLDB4MDMsMHhjMCwweDQ0IH0gfSwKLXsgIDE2LCAweGI2ZTAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MSwweDA0LDB4NmMsMHgwMCwweDg5LDB4MDAsMHgyYSwweGIwIH0gfSwKLXsgIDE2LCAweGI2ZjAsIDAsIHsweDA4LDB4ODgsMHgwMiwweDJjLDB4MDAsMHhiYSwweDAwLDB4MzYsMHg0NCwweDA4LDB4OTAsMHgwMCwweDI2LDB4MDAsMHhkYiwweGMwIH0gfSwKLXsgIDE2LCAweGI3MDAsIDAsIHsweDJlLDB4NDAsMHgwYiwweGIwLDB4MDIsMHhlYywweDAwLDB4ODMsMHhjMCwweDI4LDB4NDAsMHgwYSwweGIwLDB4MDIsMHhlMCwweDQwIH0gfSwKLXsgIDE2LCAweGI3MTAsIDAsIHsweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MmMsMHgwMCwweDhiLDB4MDAsMHgyMiwweDA4IH0gfSwKLXsgIDE2LCAweGI3MjAsIDAsIHsweDFhLDB4YTIsMHgwMiwweDJjLDB4MTAsMHhiOSwweDIwLDB4MjIsMHg0MCwweDA4LDB4MzAsMHgwMiwweDJjLDB4MDQsMHhhYSwweDU0IH0gfSwKLXsgIDE2LCAweGI3MzAsIDAsIHsweDJlLDB4YzAsMHgwYiwweGIwLDB4MTIsMHhjYywweDAwLDB4OGIsMHgwOCwweDIyLDB4NDAsMHgwOCwweGIwLDB4MDIsMHhlMCwweDAwIH0gfSwKLXsgIDE2LCAweGI3NDAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA0LDB4MGMsMHgwMCwweDgzLDB4MDQsMHgyYSwweDAwIH0gfSwKLXsgIDE2LCAweGI3NTAsIDAsIHsweDBhLDB4MDgsMHg4MiwweDBjLDB4MDAsMHhiOCwweDAwLDB4NjQsMHg0MCwweDA4LDB4MzAsMHgwMiwweGE0LDB4MDAsMHhiMCwweDAwIH0gfSwKLXsgIDE2LCAweGI3NjAsIDAsIHsweDJjLDB4YzAsMHg4YiwweDMwLDB4MTAsMHhjOCwweDAyLDB4OGIsMHgwMCwweDJhLDB4NDAsMHgwYSwweDMwLDB4MDIsMHhjMiwweDAxIH0gfSwKLXsgIDE2LCAweGI3NzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4NmMsMHgwMCwweGM5LDB4MDAsMHgzMiwweDAwIH0gfSwKLXsgIDE2LCAweGI3ODAsIDAsIHsweDFhLDB4ODIsMHgwMywweDNjLDB4MDAsMHhmOSwweDAwLDB4MzIsMHg0MCwweDBjLDB4ZDEsMHgwMywweGFjLDB4MDAsMHhlYiwweDAwIH0gfSwKLXsgIDE2LCAweGI3OTAsIDAsIHsweDNlLDB4NDAsMHgwZiwweGYwLDB4MDMsMHhlZCwweDAwLDB4YzMsMHgwMCwweDMyLDB4YzAsMHg4YywweGIwLDB4MDMsMHhjMCwweDAzIH0gfSwKLXsgIDE2LCAweGI3YTAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE5LDB4ZmMsMHgwMCwweGY1LDB4MDAsMHgzZiwweDAwIH0gfSwKLXsgIDE2LCAweGI3YjAsIDAsIHsweDBkLDB4ODAsMHg0YiwweGZjLDB4MDAsMHg3YywweDAwLDB4M2YsMHg0MCwweDBmLDB4ZDIsMHgwYiwweDc0LDB4MDAsMHhkZiwweDAwIH0gfSwKLXsgIDE2LCAweGI3YzAsIDAsIHsweDFkLDB4NDAsMHg4ZiwweGYwLDB4MDMsMHhmYywweGEwLDB4ZmYsMHgwMCwweDNmLDB4ODAsMHgwZiwweGYwLDB4MDMsMHhlOCwweDA2IH0gfSwKLXsgIDE2LCAweGI3ZDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZmMsMHgwMCwweGRmLDB4ODQsMHgzYiwweGUwIH0gfSwKLXsgIDE2LCAweGI3ZTAsIDAsIHsweDBmLDB4ZjgsMHgwYiwweDNlLDB4MDAsMHhlYywweDgwLDB4MzMsMHhlMSwweDBjLDB4MzAsMHgwMywweDNjLDB4ODAsMHhjZiwweDQ4IH0gfSwKLXsgIDE2LCAweGI3ZjAsIDAsIHsweDM3LDB4YzAsMHgwZSwweDQwLDB4MDMsMHhlMCwweGMwLDB4YzcsMHg5MSwweGIzLDB4MDQsMHgwYywweGYwLDB4MDMsMHgzMCwweDAwIH0gfSwKLXsgIDE2LCAweGI4MDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDEwLDB4ZWYsMHgwNCwweDhiLDB4ODAsMHgyMiwweDQxIH0gfSwKLXsgIDE2LCAweGI4MTAsIDAsIHsweDBiLDB4YjAsMHg4MiwweDJlLDB4MDAsMHg4OCwweDgwLDB4YTIsMHhlMCwweDBhLDB4YTIsMHg5MiwweGFkLDB4ODAsMHg4NywweDQyIH0gfSwKLXsgIDE2LCAweGI4MjAsIDAsIHsweDIzLDB4ZDgsMHg4YSwweGFkLDB4MDIsMHhlMCwweGMwLDB4OGIsMHgwMCwweDIwLDB4NGMsMHg0OCwweGE0LDB4MDIsMHgyMCwweDA0IH0gfSwKLXsgIDE2LCAweGI4MzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4Y2MsMHg1OCwweGJiLDB4MDAsMHgyOCwweDgwIH0gfSwKLXsgIDE2LCAweGI4NDAsIDAsIHsweDBiLDB4YjIsMHg0MiwweDI0LDB4MDAsMHhhOCwweDAwLDB4MmEsMHhjMCwweDBhLDB4MTAsMHgwMiwweDA0LDB4NjAsMHhhMywweDIwIH0gfSwKLXsgIDE2LCAweGI4NTAsIDAsIHsweDI0LDB4ZDIsMHgwOCwweDAwLDB4NDIsMHg4YywweDgzLDB4OWIsMHgwMSwweDIwLDB4NDksMHgwOCwweDMzLDB4YzIsMHgyMiwweDAxIH0gfSwKLXsgIDE2LCAweGI4NjAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDE1LDB4YWMsMHgwMCwweGFiLDB4ODgsMHgyMiwweGEwIH0gfSwKLXsgIDE2LCAweGI4NzAsIDAsIHsweDBiLDB4YjgsMHgwMiwweDI2LDB4MGMsMHhhOCwweDAwLDB4MmEsMHhjMCwweDBhLDB4OTIsMHgwMiwweGE0LDB4MDAsMHhhYiwweDA2IH0gfSwKLXsgIDE2LCAweGI4ODAsIDAsIHsweDIyLDB4YzAsMHgwYSwweGIwLDB4MDIsMHhlOCwweDAwLDB4OWIsMHgwMCwweDAyLDB4NDAsMHgwOCwweGEwLDB4NDIsMHgzMCwweDA0IH0gfSwKLXsgIDE2LCAweGI4OTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDE1LDB4ZWMsMHgwMCwweGQzLDB4ODAsMHgzYSwweGUwIH0gfSwKLXsgIDE2LCAweGI4YTAsIDAsIHsweDBmLDB4MTgsMHgwMSwweDA2LDB4MDAsMHhlOCwweDMwLDB4MzgsMHg2NiwweDBlLDB4YjgsMHgwMywweDJhLDB4NDAsMHhlYiwweDAwIH0gfSwKLXsgIDE2LCAweGI4YjAsIDAsIHsweDM2LDB4YzEsMHgwZSwweDk2LDB4MDMsMHhlMiwweDgwLDB4ZGEsMHgwOCwweDMyLDB4ODAsMHgyYywweGJiLDB4MDMsMHgxMCwweDA0IH0gfSwKLXsgIDE2LCAweGI4YzAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDAxLDB4OWMsMHgwMCwweGRmLDB4MDAsMHgzZiwweGMwIH0gfSwKLXsgIDE2LCAweGI4ZDAsIDAsIHsweDBmLDB4ZDAsMHgwMywweGY0LDB4MDAsMHhkYywweDgwLDB4MzcsMHg2MCwweDBmLDB4ZTgsMHgwMywweGZhLDB4MDAsMHhkZiwweDAxIH0gfSwKLXsgIDE2LCAweGI4ZTAsIDAsIHsweDNmLDB4YzAsMHgwZiwweGMwLDB4NDMsMHhlNiwweDRjLDB4ZWYsMHhhMCwweDNmLDB4NDQsMHgwZiwweGEwLDB4MDMsMHhmOCwweDAwIH0gfSwKLXsgIDE2LCAweGI4ZjAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YWMsMHg0MCwweGRiLDB4MDAsMHgzNiwweDgwIH0gfSwKLXsgIDE2LCAweGI5MDAsIDAsIHsweDBjLDB4OTgsMHgwMywweDI2LDB4MDAsMHhmOCwweDAwLDB4M2UsMHhjMCwweDBlLDB4MTgsMHgwMywweDg0LDB4MDIsMHhlMywweDAxIH0gfSwKLXsgIDE2LCAweGI5MTAsIDAsIHsweDM4LDB4YzEsMHgwZSwweGI0LDB4MDMsMHhhYywweDgwLDB4Y2EsMHgxOCwweDNhLDB4ZDAsMHgyYywweDMwLDB4MDMsMHgxMCwweDA0IH0gfSwKLXsgIDE2LCAweGI5MjAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjOCwweDA1LDB4M2YsMHg0MCwweGI5LDB4ODgsMHgyZSwweDgwIH0gfSwKLXsgIDE2LCAweGI5MzAsIDAsIHsweDA4LDB4YmMsMHgwMiwweGEzLDB4MDAsMHhiMCwweDAwLDB4MGUsMHhjMCwweDA4LDB4YjAsMHgwNiwweDIwLDB4MDAsMHg4ZiwweDA0IH0gfSwKLXsgIDE2LCAweGI5NDAsIDAsIHsweDIzLDB4YzEsMHgwOCwweGI5LDB4MTIsMHgyZiwweDAwLDB4ODMsMHg4MCwweDM2LDB4NDAsMHgwOCwweGFkLDB4MDIsMHgzMiwweDAwIH0gfSwKLXsgIDE2LCAweGI5NTAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NGMsMHgwMCwweGIyLDB4MDAsMHgyYywweGMwIH0gfSwKLXsgIDE2LCAweGI5NjAsIDAsIHsweDA5LDB4MzIsMHgwMiwweDg0LDB4MDAsMHgzMywweDAwLDB4MmMsMHhiMiwweDBhLDB4MzYsMHgxMiwweDhjLDB4MDgsMHg5MywweDA1IH0gfSwKLXsgIDE2LCAweGI5NzAsIDAsIHsweDIwLDB4YzAsMHgwYiwweDE4LDB4MDIsMHhlZCwweDAwLDB4OTEsMHg4MCwweDZhLDB4MDAsMHgwOCwweDEwLDB4MDIsMHgzOCwweDAwIH0gfSwKLXsgIDE2LCAweGI5ODAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMCwweDAxLDB4MWUsMHgwMCwweGI3LDB4ODAsMHgyZCwweGUwIH0gfSwKLXsgIDE2LCAweGI5OTAsIDAsIHsweDA5LDB4NzgsMHgwMiwweDk3LDB4NDAsMHhiNCwweDgwLDB4MmYsMHhhMCwweDA4LDB4ZTgsMHgwMiwweDBlLDB4NDAsMHg5NywweDgyIH0gfSwKLXsgIDE2LCAweGI5YTAsIDAsIHsweDIxLDB4ZTAsMHg5OCwweDY4LDB4ODIsMHgxYSwweDE4LDB4OWQsMHg5MCwweDJkLDB4YTEsMHgxOCwweDU4LDB4MDIsMHgwOCwweDAwIH0gfSwKLXsgIDE2LCAweGI5YjAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MGMsMHhjMCwweGYzLDB4MDAsMHgzZSwweGMwIH0gfSwKLXsgIDE2LCAweGI5YzAsIDAsIHsweDBkLDB4YjAsMHg0MywweDg0LDB4NDAsMHhmMCwweDAwLDB4M2MsMHg4MiwweDBlLDB4MzgsMHgxMiwweDhjLDB4NDQsMHhmMywweDMwIH0gfSwKLXsgIDE2LCAweGI5ZDAsIDAsIHsweGJhLDB4YzEsMHgxZSwweDEwLDB4NDcsMHg4ZSwweDIyLDB4ZDEsMHgxMCwweDM4LDB4MTgsMHgwYywweDMwLDB4ODMsMHgxMiwweDAyIH0gfSwKLXsgIDE2LCAweGI5ZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDFkLDB4YmMsMHg0MCwweGZmLDB4MDAsMHgzZiwweGMwIH0gfSwKLXsgIDE2LCAweGI5ZjAsIDAsIHsweDBlLDB4ZTAsMHgwMywweGY0LDB4NDAsMHhmYywweDAwLDB4M2QsMHhjNCwweDBmLDB4ZDAsMHgwMSwweGY0LDB4NDEsMHhlZiwweDE4IH0gfSwKLXsgIDE2LCAweGJhMDAsIDAsIHsweDNmLDB4YzQsMHgxZiwweGYwLDB4MDMsMHhmOCwweDQ4LDB4ZWYsMHgxNCwweDMzLDB4ODAsMHgwZiwweGMxLDB4MDMsMHhkMCwweDA2IH0gfSwKLXsgIDE2LCAweGJhMTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZmMsMHg0MCwweGZiLDB4MDAsMHgzZSwweGMwIH0gfSwKLXsgIDE2LCAweGJhMjAsIDAsIHsweDBmLDB4OTgsMHgwMywweDI0LDB4MDAsMHhjYiwweDAwLDB4M2UsMHg0MCwweDBmLDB4YjAsMHgwMywweGE4LDB4MDAsMHhkYiwweDI4IH0gfSwKLXsgIDE2LCAweGJhMzAsIDAsIHsweDNlLDB4YzQsMHgxZiwweDkwLDB4MjMsMHhlYywweDAwLDB4Y2EsMHgwMCwweDMyLDB4ZTAsMHgwYywweDkwLDB4MDMsMHhlYSwweDAwIH0gfSwKLXsgIDE2LCAweGJhNDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDExLDB4OWMsMHg4MCwweGI3LDB4MDAsMHgyZCwweGMwIH0gfSwKLXsgIDE2LCAweGJhNTAsIDAsIHsweDRiLDB4NTAsMHg1MiwweDE0LDB4MDAsMHhkNCwweDAxLDB4MmQsMHg4MCwweDBiLDB4NjAsMHgwMiwweGQ4LDB4MDAsMHhhNywweDIwIH0gfSwKLXsgIDE2LCAweGJhNjAsIDAsIHsweDJkLDB4YzUsMHgwYiwweDQwLDB4MTYsMHhkYywweDAwLDB4ODQsMHgwMCwweDIzLDB4YzAsMHgwOCwweDQwLDB4MDIsMHhkMiwweDA0IH0gfSwKLXsgIDE2LCAweGJhNzAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4OWUsMHg4MCwweGI3LDB4ODAsMHgyZCwweGUwIH0gfSwKLXsgIDE2LCAweGJhODAsIDAsIHsweDBiLDB4NzgsMHgwYSwweDk2LDB4MDAsMHg5NCwweDgwLDB4MmQsMHg2MCwweDFiLDB4NzgsMHgwNiwweGQyLDB4MDAsMHhhNywweDgwIH0gfSwKLXsgIDE2LCAweGJhOTAsIDAsIHsweDJkLDB4ZTAsMHgwYiwweDc4LDB4MjIsMHhkZSwweDAwLDB4ODcsMHg4MiwweDIxLDB4ZTAsMHgwOCwweDU4LDB4MDIsMHhmMCwweDAwIH0gfSwKLXsgIDE2LCAweGJhYTAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDE0LDB4Y2MsMHgwMCwweGIzLDB4ZTQsMHgyYywweGMwIH0gfSwKLXsgIDE2LCAweGJhYjAsIDAsIHsweDFiLDB4MjEsMHgwMiwweDgxLDB4MDAsMHg5MCwweDAwLDB4MmMsMHhjOCwweDBiLDB4MzksMHgwMiwweGNlLDB4MDAsMHhhMywweDAwIH0gfSwKLXsgIDE2LCAweGJhYzAsIDAsIHsweDJjLDB4YzAsMHgwYiwweDMwLDB4MDIsMHhjZCwweDAwLDB4OGIsMHgyMCwweDIwLDB4ZjAsMHgwOCwweGIyLDB4MDIsMHhkMiwweDA0IH0gfSwKLXsgIDE2LCAweGJhZDAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YTgsMHgwMCwweGZlLDB4YTAsMHgzZiwweDgyIH0gfSwKLXsgIDE2LCAweGJhZTAsIDAsIHsweDBmLDB4ZTgsMHgwMywweDk4LDB4MzAsMHhkNiwweDAwLDB4M2YsMHhhMCwweDBmLDB4ZTAsMHgwMywweGJhLDB4YzAsMHhmYSwweDAwIH0gfSwKLXsgIDE2LCAweGJhZjAsIDAsIHsweDNlLDB4ODAsMHgwZiwweGVjLDB4MzMsMHhmOCwweDAyLDB4Y2UsMHgwMCwweGIzLDB4YjgsMHgyYywweGVjLDB4ODMsMHhmYSwweDA0IH0gfSwKLXsgIDE2LCAweGJiMDAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDAwLDB4ZTAsMHgxOCwweGY4LDB4NDAsMHgzZSwweDAwIH0gfSwKLXsgIDE2LCAweGJiMTAsIDAsIHsweDBmLDB4ODAsMHgwMiwweDYwLDB4ODQsMHhmOCwweDA1LDB4MmUsMHgwNCwweDhmLDB4ODAsMHg0MSwweGUwLDB4MDAsMHg3OCwweDAyIH0gfSwKLXsgIDE2LCAweGJiMjAsIDAsIHsweDNlLDB4MDAsMHgwZiwweDgxLDB4ODMsMHhlMCwweDIwLDB4ZjgsMHgwMCwweGJlLDB4MDIsMHgwZiwweDgwLDB4MDMsMHhkMiwweDAwIH0gfSwKLXsgIDE2LCAweGJiMzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTYsMHgxOCwweGY5LDB4MjAsMHgzZSwweDQwIH0gfSwKLXsgIDE2LCAweGJiNDAsIDAsIHsweDBmLDB4OWMsMHgwMywweGU0LDB4NDAsMHhjOSwweDAwLDB4MzIsMHg2MSwweDBjLDB4OTAsMHgxMywweGM0LDB4MDgsMHhjOSwweDAxIH0gfSwKLXsgIDE2LCAweGJiNTAsIDAsIHsweDNlLDB4NDEsMHgwZiwweDE4LDB4MDMsMHgyNCwweDAwLDB4YzksMHhhMCwweDMyLDB4NDAsMHgwZiwweDk4LDB4NDMsMHgwMiwweDA0IH0gfSwKLXsgIDE2LCAweGJiNjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA0LDB4NjUsMHgwMCwweGIxLDB4YzAsMHgyMiwweDQwIH0gfSwKLXsgIDE2LCAweGJiNzAsIDAsIHsweDBiLDB4OWMsMHgwMiwweGU3LDB4MTAsMHg4OSwweDAwLDB4MjgsMHg0NCwweDA4LDB4OTQsMHgyMiwweGU0LDB4MTAsMHg4OSwweDAwIH0gfSwKLXsgIDE2LCAweGJiODAsIDAsIHsweDJlLDB4NDAsMHgwYiwweDlmLDB4MjIsMHgyNiwweDYwLDB4ODksMHg4MCwweDIyLDB4NDAsMHgwYiwweDkxLDB4MGEsMHgyMCwweDAwIH0gfSwKLXsgIDE2LCAweGJiOTAsIDAsIHsweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4MjQsMHg4MCwweGI5LDB4MDAsMHgyZSwweGMwIH0gfSwKLXsgIDE2LCAweGJiYTAsIDAsIHsweDRiLDB4YjQsMHgwMiwweGU0LDB4MjAsMHg4OSwweDIwLDB4MjIsMHg0MCwweDA4LDB4OTQsMHgwMiwweGVjLDB4MDAsMHg4OSwweDAwIH0gfSwKLXsgIDE2LCAweGJiYjAsIDAsIHsweDJlLDB4NDEsMHgwYiwweDkwLDB4MDIsMHgwNCwweDAwLDB4ODksMHg0MCwweDIyLDB4NDAsMHgwYiwweDkwLDB4MDIsMHgwNiwweDAwIH0gfSwKLXsgIDE2LCAweGJiYzAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA0LDB4MDQsMHgwMCwweGIxLDB4MDQsMHgyMCwweDQwIH0gfSwKLXsgIDE2LCAweGJiZDAsIDAsIHsweDhiLDB4MTAsMHgwMiwweGU0LDB4MDUsMHg4MSwweDAwLDB4MjgsMHg0MCwweDI4LDB4MTIsMHgxMiwweGM0LDB4ODIsMHg4MSwweDIwIH0gfSwKLXsgIDE2LCAweGJiZTAsIDAsIHsweDJjLDB4NDgsMHgwYiwweDEyLDB4MGEsMHgwNCwweDgyLDB4ODEsMHgwMCwweDIwLDB4NDgsMHgwYiwweDEyLDB4MDIsMHgwMiwweDAxIH0gfSwKLXsgIDE2LCAweGJiZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjgsMHhhMCwweGZhLDB4MDIsMHgzZSwweDE0IH0gfSwKLXsgIDE2LCAweGJjMDAsIDAsIHsweDBmLDB4ODUsMHgwMywweGUwLDB4MDAsMHhjOCwweDAwLDB4MzIsMHgwMCwweDBjLDB4ODUsMHgwMywweGMxLDB4NDAsMHhjOCwweDUzIH0gfSwKLXsgIDE2LCAweGJjMTAsIDAsIHsweDNlLDB4MTQsMHgwZiwweDgwLDB4MDMsMHgwMSwweDQ4LDB4YzAsMHg1MCwweGIyLDB4MTQsMHgwZiwweDg1LDB4MDMsMHgyZSwweDAzIH0gfSwKLXsgIDE2LCAweGJjMjAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5OCwweDFkLDB4ZTQsMHgwMCwweGZkLDB4MDAsMHhiZiwweDQwIH0gfSwKLXsgIDE2LCAweGJjMzAsIDAsIHsweDBmLDB4NTAsMHgxMywweGQ0LDB4MDIsMHhmZCwweDAwLDB4MmYsMHhjMCwweDBmLDB4ZDEsMHgwMywweGY0LDB4NDAsMHhmOSwweDEwIH0gfSwKLXsgIDE2LCAweGJjNDAsIDAsIHsweDNlLDB4NDQsMHgwZiwweGQxLDB4MDMsMHhmNCwweDQwLDB4ZmYsMHgwMCwweGJmLDB4NDQsMHgwZiwweGQxLDB4MDMsMHhlNiwweDA2IH0gfSwKLXsgIDE2LCAweGJjNTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4ZTYsMHhhMCwweGZkLDB4MDEsMHgzZSwweDQ0IH0gfSwKLXsgIDE2LCAweGJjNjAsIDAsIHsweDBmLDB4ZDEsMHgwMywweGQ0LDB4MDAsMHhjNSwweDAwLDB4MzMsMHg0MSwweDBmLDB4ZGIsMHgwMywweDI3LDB4MjAsMHhkOSwweGUwIH0gfSwKLXsgIDE2LCAweGJjNzAsIDAsIHsweGIyLDB4NzAsMHgwZCwweGRhLDB4ODMsMHhmNiwweDQwLDB4Y2YsMHgxMCwweDMyLDB4NzgsMHgyZCwweGRhLDB4MDMsMHgwNiwweDAwIH0gfSwKLXsgIDE2LCAweGJjODAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzOCwweDEwLDB4ZTEsMHgwMCwweGI4LDB4MDAsMHgyZSwweDI4IH0gfSwKLXsgIDE2LCAweGJjOTAsIDAsIHsweDBiLDB4ODgsMHg0MiwweGUwLDB4MTAsMHhkOCwweDAwLDB4MjIsMHgwMCwweDBiLDB4OGMsMHgwYSwweDIzLDB4MDAsMHg4OCwweGMwIH0gfSwKLXsgIDE2LCAweGJjYTAsIDAsIHsweDIyLDB4MjgsMHgwOCwweDg0LDB4MDIsMHhjMiwweDgwLDB4ODAsMHhhMCwweDIyLDB4MzAsMHg0OCwweGFhLDB4ODIsMHgwZSwweDA0IH0gfSwKLXsgIDE2LCAweGJjYjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4YzQsMHgwMCwweGIxLDB4MDAsMHgyYywweDQwIH0gfSwKLXsgIDE2LCAweGJjYzAsIDAsIHsweDhiLDB4MTIsMHgwMiwweGM0LDB4MDAsMHg5OSwweDAyLDB4MjgsMHg0MCwweDhiLDB4MTYsMHgwMiwweDg0LDB4ODEsMHg5MSwweDMwIH0gfSwKLXsgIDE2LCAweGJjZDAsIDAsIHsweDIwLDB4NTgsMHgwOSwweDEwLDB4MDIsMHhjNSwweDAwLDB4ODEsMHgwMCwweDY0LDB4NGQsMHgwOCwweDM0LDB4MDIsMHgwMiwweDAxIH0gfSwKLXsgIDE2LCAweGJjZTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDE1LDB4YWMsMHgwYywweGI5LDB4MDQsMHgyZSwweDQ4IH0gfSwKLXsgIDE2LCAweGJjZjAsIDAsIHsweDBiLDB4OTQsMHgwNiwweGU0LDB4MDAsMHg5OSwweDQwLDB4YWEsMHg0MCwweDBiLDB4OTIsMHgyMiwweGE0LDB4MDAsMHg4OSwweDAwIH0gfSwKLXsgIDE2LCAweGJkMDAsIDAsIHsweDYwLDB4NDAsMHgwOCwweDk0LDB4MDIsMHhlNCwweDAwLDB4ODksMHg4MCwweGE2LDB4NTAsMHgwOCwweDkyLDB4MDIsMHgwNiwweDA0IH0gfSwKLXsgIDE2LCAweGJkMTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4ZTQsMHgwMCwweGY5LDB4OTgsMHgzZSwweDQ4IH0gfSwKLXsgIDE2LCAweGJkMjAsIDAsIHsweDBmLDB4OTgsMHgwMywweGU1LDB4MjAsMHhkOSwweDAwLDB4M2EsMHg2NCwweDBmLDB4OTQsMHg4MywweGE0LDB4YzAsMHhkOSwweDAyIH0gfSwKLXsgIDE2LCAweGJkMzAsIDAsIHsweDcyLDB4NDAsMHg0ZCwweDkwLDB4NDIsMHhlNCwweDgyLDB4YzksMHg0MCwweDM2LDB4NDAsMHgwYywweDkwLDB4MGIsMHgyOCwweDA0IH0gfSwKLXsgIDE2LCAweGJkNDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDAxLDB4YWMsMHgyOCwweGY5LDB4ODgsMHgzZSwweDQwIH0gfSwKLXsgIDE2LCAweGJkNTAsIDAsIHsweDBmLDB4OTksMHgxMywweGU3LDB4MDAsMHhmOSwweGMwLDB4MzYsMHg2MCwweDBmLDB4OTAsMHgwMywweDY2LDB4MDAsMHhmMSwweDAwIH0gfSwKLXsgIDE2LCAweGJkNjAsIDAsIHsweDdlLDB4NDAsMHgwZiwweDk5LDB4MDcsMHhlNCwweDYwLDB4ZjksMHgwMCwweDM4LDB4NDAsMHgwZiwweDk4LDB4MDMsMHhjYSwweDAwIH0gfSwKLXsgIDE2LCAweGJkNzAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTAsMHgwMCwweGY4LDB4MTAsMHgzMiwweDAwIH0gfSwKLXsgIDE2LCAweGJkODAsIDAsIHsweDBmLDB4ODIsMHgwYiwweDIxLDB4MDAsMHhlOCwweDAwLDB4MzYsMHgwNCwweDBjLDB4ODYsMHgwMywweGUxLDB4MDAsMHhkOCwweDAwIH0gfSwKLXsgIDE2LCAweGJkOTAsIDAsIHsweDMyLDB4MDAsMHgwZiwweDgwLDB4MDMsMHg2MSwweDAwLDB4YzgsMHgwMCwweDMyLDB4MDAsMHgwZiwweDAwLDB4MDMsMHgwYSwweDA0IH0gfSwKLXsgIDE2LCAweGJkYTAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4MjgsMHgyMCwweGJlLDB4MDAsMHgyMiwweDgwIH0gfSwKLXsgIDE2LCAweGJkYjAsIDAsIHsweDI4LDB4ZWMsMHgwMiwweDE5LDB4MDQsMHg4MiwweDAwLDB4MDMsMHg4MCwweDBkLDB4ZTQsMHg4MiwweGU4LDB4MDAsMHg4YSwweDAxIH0gfSwKLXsgIDE2LCAweGJkYzAsIDAsIHsweGFhLDB4ODAsMHg4YiwweGVkLDB4ODIsMHgzYiwweDgwLDB4OGUsMHg5MCwweDM2LDB4ODAsMHgwYiwweGUwLDB4MDMsMHg0YSwweDAwIH0gfSwKLXsgIDE2LCAweGJkZDAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NDIsMHgwMCwweGIzLDB4ODAsMHgyMCwweGMwIH0gfSwKLXsgIDE2LCAweGJkZTAsIDAsIHsweDZiLDB4MzQsMHgxNiwweDQwLDB4YzAsMHg4MywweDEwLDB4MjQsMHg3MiwweDg4LDB4YjAsMHgwMiwweGVjLDB4MDAsMHg4MywweDAwIH0gfSwKLXsgIDE2LCAweGJkZjAsIDAsIHsweDI0LDB4YzAsMHgwYiwweDA0LDB4MDIsMHg2ZiwweDA5LDB4OWIsMHgwMCwweDI0LDB4YzAsMHgwYiwweDMwLDB4MDIsMHgwYSwweDAwIH0gfSwKLXsgIDE2LCAweGJlMDAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDAxLDB4MTQsMHgwMCwweGI3LDB4ODAsMHgyMywweGU0IH0gfSwKLXsgIDE2LCAweGJlMTAsIDAsIHsweDI4LDB4NzgsMHg4MiwweDc0LDB4MTQsMHg4ZiwweDAwLDB4NjEsMHhlMCwweDA5LDB4NTAsMHgxMiwweGRjLDB4MDQsMHg4NywweDIyIH0gfSwKLXsgIDE2LCAweGJlMjAsIDAsIHsweDI1LDB4YzgsMHgxYiwweDc4LDB4MDIsMHgxNCwweDAwLDB4OTQsMHg0MCwweGE1LDB4YzAsMHgwYiwweDYwLDB4MjIsMHg2OCwweDAwIH0gfSwKLXsgIDE2LCAweGJlMzAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MTIsMHgyMCwweGI3LDB4ODAsMHhiMSwweGUwIH0gfSwKLXsgIDE2LCAweGJlNDAsIDAsIHsweDhmLDB4ZjgsMHgwMywweDEyLDB4MDIsMHhlNywweDgwLDB4MzUsMHhlMCwweDBjLDB4NjgsMHgwNiwweGNmLDB4YzIsMHhjZiwweGIwIH0gfSwKLXsgIDE2LCAweGJlNTAsIDAsIHsweDI1LDB4ZjQsMHgwZiwweDU4LDB4MDMsMHg1YSwweDAyLDB4ZDUsMHg4MCwweDc1LDB4ZmEsMHg0ZiwweGY4LDB4MDMsMHgyYSwweDAyIH0gfSwKLXsgIDE2LCAweGJlNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDFkLDB4YTUsMHg5MCwweGYzLDB4MDAsMHgzZCwweGMwIH0gfSwKLXsgIDE2LCAweGJlNzAsIDAsIHsweDRmLDB4YjAsMHgxMywweGE4LDB4MDQsMHhmYiwweDAwLDB4M2MsMHhjMCwweDBmLDB4ODAsMHg0MywweGVjLDB4ODAsMHhlYiwweDYwIH0gfSwKLXsgIDE2LCAweGJlODAsIDAsIHsweDNhLDB4YzksMHgwZiwweDMwLDB4MDMsMHhlYywweDAwLDB4ZTksMHgwMCwweDNlLDB4YzgsMHgwZiwweGEwLDB4MDMsMHhjMiwweDA2IH0gfSwKLXsgIDE2LCAweGJlOTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZjYsMHgwMCwweGVlLDB4ODAsMHgzZiwweGUwIH0gfSwKLXsgIDE2LCAweGJlYTAsIDAsIHsweDBkLDB4ODksMHgwMywweGQyLDB4NDAsMHhlNSwweDgxLDB4MzksMHhlMCwweDNjLDB4ZjksMHgwNywweGZlLDB4MDAsMHhjZiwweDg4IH0gfSwKLXsgIDE2LCAweGJlYjAsIDAsIHsweDNmLDB4ZTAsMHgwZiwweGU4LDB4MDMsMHhmMiwweDA4LDB4Y2UsMHg4MCwweDMzLDB4ZTAsMHgwYywweGY4LDB4MDMsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGJlYzAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDExLDB4OTQsMHg0NCwweGM2LDB4MDAsMHgyZiwweGMwIH0gfSwKLXsgIDE2LCAweGJlZDAsIDAsIHsweDA4LDB4NTgsMHgwMiwweGQwLDB4YzQsMHg4NSwweDI0LDB4MjEsMHg5MCwweDA4LDB4NTQsMHgxMiwweGRjLDB4ODIsMHgwNywweDAwIH0gfSwKLXsgIDE2LCAweGJlZTAsIDAsIHsweDJkLDB4YzAsMHgwYiwweDcwLDB4MDYsMHhkNCwweDAwLDB4OGUsMHg0OCwweDIxLDB4YzAsMHgwYSwweDYwLDB4MDIsMHgyYSwweDA0IH0gfSwKLXsgIDE2LCAweGJlZjAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OWMsMHgwMCwweGE3LDB4NDAsMHgyZCwweGMwIH0gfSwKLXsgIDE2LCAweGJmMDAsIDAsIHsweDA4LDB4NDIsMHgwMiwweGQwLDB4MDAsMHhhZCwweDAwLDB4MjksMHhjMCwweDA4LDB4NzAsMHgyMiwweGRjLDB4MjgsMHg4NywweDAwIH0gfSwKLXsgIDE2LCAweGJmMTAsIDAsIHsweDJkLDB4YzAsMHgwYiwweDQwLDB4MDIsMHg5OCwweDAwLDB4OTcsMHgwMCwweGEwLDB4YzQsMHgwOCwweDcwLDB4MDIsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGJmMjAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMCwweDE0LDB4Y2MsMHgwOCwweDkzLDB4MDAsMHgyYywweGUwIH0gfSwKLXsgIDE2LCAweGJmMzAsIDAsIHsweDA4LDB4M2MsMHgyMiwweGMxLDB4MDAsMHg4MSwweDAwLDB4MjAsMHg4MCwweDg4LDB4MTUsMHgwMiwweGNlLDB4MzAsMHg4MywweDAwIH0gfSwKLXsgIDE2LCAweGJmNDAsIDAsIHsweDJjLDB4YzAsMHgwYiwweDNjLDB4MDIsMHhjYywweDA0LDB4OTMsMHhjMCwweDIwLDB4ZjQsMHg0YSwweDBjLDB4ODIsMHgwOCwweDA0IH0gfSwKLXsgIDE2LCAweGJmNTAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YTAsMHgwMCwweGUzLDB4YzAsMHgxZiwweGUwIH0gfSwKLXsgIDE2LCAweGJmNjAsIDAsIHsweDZjLDB4MTAsMHg4MywweGUwLDB4MDQsMHhlYiwweDAwLDB4M2EsMHg1MiwweDRjLDB4YjQsMHgwMywweGZlLDB4MDIsMHhjZiwweDAwIH0gfSwKLXsgIDE2LCAweGJmNzAsIDAsIHsweDNmLDB4YzAsMHgwZiwweDg0LDB4NDMsMHhlMSwweDAyLDB4ZDgsMHhjMiwweDMzLDB4YzAsMHgwYywweDg0LDB4MGIsMHgyYSwweDA0IH0gfSwKLXsgIDE2LCAweGJmODAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDAwLDB4ZTksMHgwMCwweGViLDB4MTAsMHgzZSwweGM0IH0gfSwKLXsgIDE2LCAweGJmOTAsIDAsIHsweDBlLDB4OTQsMHgwMywweGU0LDB4MDAsMHhmYiwweDE4LDB4M2UsMHhjMiwweDBmLDB4YjYsMHgwMywweGVjLDB4MDAsMHhmYiwweDAxIH0gfSwKLXsgIDE2LCAweGJmYTAsIDAsIHsweDNlLDB4YzAsMHgwZiwweDM1LDB4MDMsMHhjNCwweDI4LDB4ZWEsMHg0MiwweDNlLDB4YzAsMHgwZiwweDgxLDB4MDMsMHhlMCwweDAwIH0gfSwKLXsgIDE2LCAweGJmYjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZmMsMHg0MCwweGZmLDB4MDAsMHgzMywweGMwIH0gfSwKLXsgIDE2LCAweGJmYzAsIDAsIHsweDBjLDB4YzAsMHhhMywweDMwLDB4MjgsMHhjZCwweGEwLDB4MzMsMHhjMCwweDBjLDB4ZTgsMHgwMywweDBjLDB4MDAsMHhlZiwweDA1IH0gfSwKLXsgIDE2LCAweGJmZDAsIDAsIHsweDNkLDB4YzAsMHgwYywweGNhLDB4ODMsMHgzYywweDAwLDB4Y2QsMHgwOCwweDNmLDB4YzIsMHgwYywweGEwLDB4MDMsMHhjMCwweDQ0IH0gfSwKLXsgIDE2LCAweGJmZTAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MSwweDA0LDB4NjcsMHgwMCwweGJiLDB4ODAsMHgyMCwweGMwIH0gfSwKLXsgIDE2LCAweGJmZjAsIDAsIHsweDA4LDB4YWEsMHgwMiwweDA4LDB4MDAsMHhhMSwweDAxLDB4MzQsMHhkMSwweDA4LDB4YTQsMHgxMiwweDJjLDB4MDAsMHg4YiwweDAwIH0gfSwKLXsgIDE2LCAweGMwMDAsIDAsIHsweDZlLDB4YzAsMHg4OCwweGIyLDB4MDIsMHgyYywweDA4LDB4ODksMHg4MCwweDJlLDB4YzAsMHgwYSwweGE4LDB4MDMsMHhhMCwweDQwIH0gfSwKLXsgIDE2LCAweGMwMTAsIDAsIHsweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MmMsMHgwMCwweGJhLDB4ODAsMHhhMiwweGMwIH0gfSwKLXsgIDE2LCAweGMwMjAsIDAsIHsweDA4LDB4YTgsMHgwYSwweGEwLDB4MDAsMHg4YiwweDAwLDB4YTIsMHhjMCwweDQ4LDB4MTEsMHgwMiwweGFjLDB4MDQsMHg4YiwweDAwIH0gfSwKLXsgIDE2LCAweGMwMzAsIDAsIHsweDJlLDB4YzAsMHgwMCwweDgwLDB4MTIsMHgyYSwweDA4LDB4OGIsMHgxNCwweDJjLDB4YzAsMHgwOCwweDg4LDB4MDIsMHhlMCwweDAwIH0gfSwKLXsgIDE2LCAweGMwNDAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA0LDB4MGMsMHgwMCwweGIyLDB4MDAsMHgyMiwweGMwIH0gfSwKLXsgIDE2LCAweGMwNTAsIDAsIHsweDA4LDB4YjIsMHgxMiwweDgwLDB4MDAsMHhhYiwweDAxLDB4MjQsMHhjMCwweDA4LDB4MDAsMHgwMiwweDBjLDB4MDQsMHg4MywweDAwIH0gfSwKLXsgIDE2LCAweGMwNjAsIDAsIHsweDJjLDB4YzAsMHgwOCwweDMwLDB4MDIsMHgwNywweDAwLDB4ODIsMHgwMCwweDI0LDB4YzAsMHgwOCwweDA4LDB4MDIsMHg4MiwweDAxIH0gfSwKLXsgIDE2LCAweGMwNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4NmMsMHgwMCwweGZiLDB4MDAsMHgzMiwweGMwIH0gfSwKLXsgIDE2LCAweGMwODAsIDAsIHsweDBjLDB4YTIsMHgwMywweGEwLDB4MDAsMHhjOSwweDAwLDB4MzIsMHhjMCwweDI0LDB4OTQsMHgwMywweDNjLDB4MDIsMHhjZiwweDAwIH0gfSwKLXsgIDE2LCAweGMwOTAsIDAsIHsweDJmLDB4YzAsMHgwNCwweDgwLDB4MGIsMHgwOSwweDAyLDB4Y2IsMHgwMSwweDNmLDB4YzAsMHgyYywweGEwLDB4MDMsMHhjMCwweDAzIH0gfSwKLXsgIDE2LCAweGMwYTAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE5LDB4ZGMsMHgwMCwweGZkLDB4MDIsMHgzZiwweGMwIH0gfSwKLXsgIDE2LCAweGMwYjAsIDAsIHsweDRmLDB4ZTQsMHgxMywweDcwLDB4MDAsMHhmZCwweDAwLDB4M2YsMHhjMCwweDBmLDB4YzIsMHg4MywweGZjLDB4MDAsMHhmZiwweDAwIH0gfSwKLXsgIDE2LCAweGMwYzAsIDAsIHsweDNmLDB4YzAsMHgwZiwweGYwLDB4MDMsMHhmYywweDAwLDB4ZmYsMHgwMCwweDNmLDB4YzAsMHgwZiwweGMwLDB4MDMsMHhhOCwweDA2IH0gfSwKLXsgIDE2LCAweGMwZDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZmMsMHgyMCwweGVmLDB4MzAsMHgzZiwweDA0IH0gfSwKLXsgIDE2LCAweGMwZTAsIDAsIHsweDZjLDB4ODgsMHgwMywweDNhLDB4NDIsMHhlNCwweDkxLDB4M2YsMHgwZCwweDBkLDB4NDgsMHgwMywweDNjLDB4YzAsMHhmZiwweDAyIH0gfSwKLXsgIDE2LCAweGMwZjAsIDAsIHsweDMzLDB4NDQsMHgwYywweGY0LDB4MDMsMHhmYywweDgyLDB4ZGYsMHgzMCwweDMzLDB4NjAsMHgwZCwweGYxLDB4MDMsMHgzMCwweDAwIH0gfSwKLXsgIDE2LCAweGMxMDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDEwLDB4ZWQsMHgwMCwweDhiLDB4NzAsMHgyZSwweDE4IH0gfSwKLXsgIDE2LCAweGMxMTAsIDAsIHsweDg4LDB4MjIsMHg0YSwweDJjLDB4ODIsMHhlYSwweDI2LDB4MmUsMHgwYywweDBiLDB4YjgsMHg0MiwweDNkLDB4ODAsMHhiZiwweDkwIH0gfSwKLXsgIDE2LCAweGMxMjAsIDAsIHsweDJhLDB4NTQsMHgyOCwweGI0LDB4MDIsMHhjZCwweDAwLDB4ZGIsMHg0MCwweDJhLDB4NGEsMHg0OCwweDMwLDB4MDIsMHhhMCwweDA0IH0gfSwKLXsgIDE2LCAweGMxMzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4Y2MsMHhiMCwweGEzLDB4MDAsMHg2YywweDEwIH0gfSwKLXsgIDE2LCAweGMxNDAsIDAsIHsweDA5LDB4MDAsMHg4MiwweDIwLDB4ODIsMHhhMCwweDIwLDB4MmMsMHg4OCwweDRiLDB4ODAsMHgwMCwweDBjLDB4NDAsMHhiMywweDAxIH0gfSwKLXsgIDE2LCAweGMxNTAsIDAsIHsweDIwLDB4NDgsMHgwYiwweDM2LDB4MDIsMHg4YywweGUwLDB4ODMsMHg2NCwweDI0LDB4NDAsMHgyOCwweDMyLDB4MDIsMHgyMiwweDAxIH0gfSwKLXsgIDE2LCAweGMxNjAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDExLDB4YWMsMHgwMCwweDhiLDB4MDAsMHgyZSwweDAwIH0gfSwKLXsgIDE2LCAweGMxNzAsIDAsIHsweDA5LDB4ODAsMHg4MCwweGE2LDB4MDAsMHhiYSwweDExLDB4MmUsMHg4OCwweDBiLDB4YjAsMHgwMCwweDJjLDB4MDAsMHhiYiwweDAyIH0gfSwKLXsgIDE2LCAweGMxODAsIDAsIHsweDAyLDB4NDAsMHgwOSwweGIwLDB4MDIsMHhlYywweDAwLDB4OGIsMHgwMCwweDJjLDB4YzgsMHgwOCwweGI4LDB4ODIsMHhiMCwweDA0IH0gfSwKLXsgIDE2LCAweGMxOTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDE1LDB4ZWMsMHgwMCwweGViLDB4MDAsMHgzZSwweDkyIH0gfSwKLXsgIDE2LCAweGMxYTAsIDAsIHsweDBkLDB4ODAsMHgwMywweDBhLDB4MjAsMHhlOSwweDAwLDB4M2UsMHg1MCwweDQ1LDB4ODAsMHgwMSwweDJjLDB4MDQsMHhmMywweDAwIH0gfSwKLXsgIDE2LCAweGMxYjAsIDAsIHsweDkwLDB4NjAsMHgwOSwweGIwLDB4MDMsMHhlYywweDAwLDB4OGIsMHgwMiwweDI2LDB4NTAsMHg4ZCwweGJjLDB4MDMsMHgxMCwweDA0IH0gfSwKLXsgIDE2LCAweGMxYzAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAxLDB4YmMsMHgwMCwweGZmLDB4MDIsMHgzZiwweDgwIH0gfSwKLXsgIDE2LCAweGMxZDAsIDAsIHsweDBlLDB4ZjksMHgwMiwweDdjLDB4MjIsMHhhZiwweDAwLDB4M2YsMHg2MCwweDAzLDB4YzAsMHgwYiwweGZjLDB4MTAsMHhmZiwweDAwIH0gfSwKLXsgIDE2LCAweGMxZTAsIDAsIHsweDNmLDB4NGEsMHg0ZSwweGYwLDB4MDMsMHhmYywweDAwLDB4ZjcsMHgwMCwweDJiLDB4NjAsMHgwZiwweDcwLDB4MDMsMHhmOCwweDAwIH0gfSwKLXsgIDE2LCAweGMxZjAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YWMsMHgwMCwweGZiLDB4MDAsMHhiMCwweDAwIH0gfSwKLXsgIDE2LCAweGMyMDAsIDAsIHsweDBmLDB4ODIsMHgwYiwweGE5LDB4MDAsMHhjOSwweDAwLDB4MzIsMHhkMiwweDBmLDB4YTAsMHg4MywweGFjLDB4MDAsMHhjYiwweDEwIH0gfSwKLXsgIDE2LCAweGMyMTAsIDAsIHsweDNlLDB4NDAsMHgwYywweGIwLDB4MDMsMHhlYywweDAwLDB4ZGIsMHgwMCwweDMyLDB4NTAsMHgyYywweDk1LDB4MDMsMHgxMCwweDA0IH0gfSwKLXsgIDE2LCAweGMyMjAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjOCwweDA1LDB4M2MsMHgwNCwweGJmLDB4MDIsMHgyMiwweDgwIH0gfSwKLXsgIDE2LCAweGMyMzAsIDAsIHsweDBiLDB4OTgsMHgwMCwweDI5LDB4MDAsMHhjYiwweDQwLDB4MjIsMHhjMCwweDBiLDB4MjQsMHgwMiwweDNjLDB4MDgsMHg4ZiwweDUwIH0gfSwKLXsgIDE2LCAweGMyNDAsIDAsIHsweDJlLDB4NTAsMHgwZCwweGYwLDB4MDIsMHhmZCwweDQyLDB4OGYsMHg1OCwweDIyLDB4ZTAsMHg0OCwweGI1LDB4MDIsMHgzMiwweDAwIH0gfSwKLXsgIDE2LCAweGMyNTAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NmMsMHgwMCwweGIzLDB4MDAsMHgyNCwweDQwIH0gfSwKLXsgIDE2LCAweGMyNjAsIDAsIHsweDRiLDB4OTQsMHgwMCwweDQ5LDB4MDAsMHg5MCwweDgwLDB4MDQsMHgzMCwweDA5LDB4MDAsMHgwZSwweDRjLDB4MDAsMHg4MywweDgwIH0gfSwKLXsgIDE2LCAweGMyNzAsIDAsIHsweDJjLDB4YzAsMHgwOSwweDMwLDB4MjIsMHg2ZSwweDQyLDB4ODMsMHg4MCwweDIwLDB4NDgsMHgwOCwweDM4LDB4MDIsMHgzOCwweDAwIH0gfSwKLXsgIDE2LCAweGMyODAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMCwweDAxLDB4MWUsMHgwMCwweGI3LDB4ODAsMHg2NSwweDIwIH0gfSwKLXsgIDE2LCAweGMyOTAsIDAsIHsweDBiLDB4NzgsMHg4MiwweDdhLDB4MDgsMHg4YywweGMwLDB4MjUsMHhhMywweDRiLDB4NzgsMHgwMiwweDVlLDB4MDQsMHg4NywweDg0IH0gfSwKLXsgIDE2LCAweGMyYTAsIDAsIHsweDJkLDB4NjEsMHg4OSwweDc4LDB4MDIsMHhkZSwweDA0LDB4ODcsMHg4MCwweGU5LDB4NjIsMHgwOCwweDc4LDB4MDIsMHgwOCwweDAwIH0gfSwKLXsgIDE2LCAweGMyYjAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MGMsMHgwMCwweGZiLDB4MDAsMHgzNCwweDQ4IH0gfSwKLXsgIDE2LCAweGMyYzAsIDAsIHsweDBmLDB4M2IsMHgwMywweDQ4LDB4MDAsMHg5MywweDQ4LDB4MzQsMHg1MCwweDBkLDB4MDAsMHgwMywweDZjLDB4MDAsMHhjMywweDEwIH0gfSwKLXsgIDE2LCAweGMyZDAsIDAsIHsweDFjLDB4YzIsMHgwNSwweDMwLDB4MDMsMHhjYywweDQwLDB4Y2IsMHgwMCwweDMyLDB4NDAsMHgwYywweDIwLDB4MDMsMHgxMiwweDAyIH0gfSwKLXsgIDE2LCAweGMyZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDFkLDB4YmMsMHgyMCwweGZmLDB4MDEsMHgwMywweDQwIH0gfSwKLXsgIDE2LCAweGMyZjAsIDAsIHsweDBmLDB4ZjAsMHgyMywweDFjLDB4MDAsMHhmZiwweDAwLDB4M2IsMHg4MCwweDBmLDB4YjAsMHgyMywweDNjLDB4MDIsMHhmZiwweDUwIH0gfSwKLXsgIDE2LCAweGMzMDAsIDAsIHsweDNkLDB4YzQsMHgwZiwweGYxLDB4MDMsMHhlYywweDAwLDB4ZWYsMHgwMCwweGI3LDB4YzAsMHgwZiwweGUxLDB4MDMsMHhkMCwweDA2IH0gfSwKLXsgIDE2LCAweGMzMTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4ZWMsMHgwMCwweGZiLDB4MDIsMHgzZSwweGUwIH0gfSwKLXsgIDE2LCAweGMzMjAsIDAsIHsweDBjLDB4ODAsMHgwMywweDQ4LDB4MDIsMHhjOCwweDgxLDB4MzIsMHgwMCwweDBmLDB4OTAsMHg0MiwweGVjLDB4YTAsMHhmYiwweDEwIH0gfSwKLXsgIDE2LCAweGMzMzAsIDAsIHsweDNlLDB4ZTAsMHgwYywweGIxLDB4MDMsMHhlYywweDQwLDB4ZmIsMHgxMCwweDMyLDB4NDAsMHgxZiwweGYwLDB4MDMsMHgyYSwweDAwIH0gfSwKLXsgIDE2LCAweGMzNDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDExLDB4OWMsMHgwMCwweGI3LDB4MjQsMHgyZCwweDgwIH0gfSwKLXsgIDE2LCAweGMzNTAsIDAsIHsweDA4LDB4NzAsMHg0MiwweGQ4LDB4MTAsMHg4YywweDAyLDB4MjEsMHg0MCwweDBiLDB4NTAsMHgwMiwweGRkLDB4MDAsMHhlNywweDIwIH0gfSwKLXsgIDE2LCAweGMzNjAsIDAsIHsweDJmLDB4NDAsMHgwOCwweDcwLDB4MDIsMHhkYywweDA1LDB4YjcsMHgwMCwweDIxLDB4YzAsMHgwYiwweGYwLDB4MDIsMHgxMiwweDA0IH0gfSwKLXsgIDE2LCAweGMzNzAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4OWUsMHgwMCwweGI3LDB4OTAsMHgyZiwweDQwIH0gfSwKLXsgIDE2LCAweGMzODAsIDAsIHsweDBhLDB4NjgsMHgwMiwweDdhLDB4MDAsMHg5NywweDgwLDB4MjEsMHhlMCwweDBiLDB4NzgsMHgwMiwweGRlLDB4MDAsMHhiNywweDgwIH0gfSwKLXsgIDE2LCAweGMzOTAsIDAsIHsweDJkLDB4ZTAsMHgwOCwweDc4LDB4MDYsMHhkZSwweDAwLDB4YjcsMHhhMCwweDIxLDB4NjAsMHgwYiwweDc4LDB4NDIsMHgzMCwweDAwIH0gfSwKLXsgIDE2LCAweGMzYTAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDE0LDB4Y2MsMHgwMCwweGIzLDB4MDAsMHgyYywweGMwIH0gfSwKLXsgIDE2LCAweGMzYjAsIDAsIHsweDBhLDB4MzQsMHgwMiwweGM4LDB4MDAsMHg4MywweDRhLDB4MjAsMHhmOCwweDBiLDB4MzEsMHgwMiwweGNjLDB4MDAsMHhhMywweDAwIH0gfSwKLXsgIDE2LCAweGMzYzAsIDAsIHsweDJjLDB4YzAsMHgwOCwweDMwLDB4MDIsMHhjYywweDAwLDB4YjMsMHgwMCwweDIwLDB4YjIsMHgwYiwweDIwLDB4NDIsMHgxMiwweDA0IH0gfSwKLXsgIDE2LCAweGMzZDAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YTgsMHgwMCwweGJhLDB4MDAsMHgzZiwweDg4IH0gfSwKLXsgIDE2LCAweGMzZTAsIDAsIHsweDJlLDB4ZTAsMHg0MywweDU5LDB4ODgsMHhkZSwweDAwLDB4MzMsMHhiMCwweDBmLDB4NmMsMHgwMywweGU4LDB4MDAsMHhmYSwweDAwIH0gfSwKLXsgIDE2LCAweGMzZjAsIDAsIHsweDNlLDB4ODAsMHgyYywweGEwLDB4MDMsMHhlOCwweDA0LDB4ZmEsMHgwMCwweDIzLDB4YjgsMHgwZiwweGUwLDB4OGIsMHgzYSwweDA0IH0gfSwKLXsgIDE2LCAweGM0MDAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDAwLDB4ZTAsMHgwNCwweGY4LDB4MDEsMHgzZSwweDAwIH0gfSwKLXsgIDE2LCAweGM0MTAsIDAsIHsweDA5LDB4ODIsMHgyMSwweGUwLDB4MDAsMHhmOCwweDQwLDB4YmUsMHgxNCwweDBmLDB4ODQsMHg4MSwweGUwLDB4MDAsMHhlOCwweDAwIH0gfSwKLXsgIDE2LCAweGM0MjAsIDAsIHsweDNlLDB4MDAsMHgxZiwweDgwLDB4MDMsMHhlMCwweDAwLDB4ZjgsMHgwMCwweGJlLDB4MDAsMHgwZiwweDg4LDB4MDMsMHhkMiwweDAwIH0gfSwKLXsgIDE2LCAweGM0MzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTQsMHgwMCwweGUxLDB4MDAsMHgzMiwweDQwIH0gfSwKLXsgIDE2LCAweGM0NDAsIDAsIHsweDBjLDB4OTAsMHg0MywweGU0LDB4MjAsMHhkOSwweDAwLDB4M2MsMHg0NCwweDA4LDB4OTAsMHgwMywweDI0LDB4MDAsMHhmOSwweDAxIH0gfSwKLXsgIDE2LCAweGM0NTAsIDAsIHsweDNlLDB4NDgsMHgwZiwweDEwLDB4NDMsMHgyNSwweDAwLDB4YzksMHgwMCwweGIyLDB4NDAsMHgwYywweDkwLDB4MDMsMHgwMiwweDA0IH0gfSwKLXsgIDE2LCAweGM0NjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA0LDB4NjQsMHgwMCwweGI5LDB4MDAsMHhhMCwweDQwIH0gfSwKLXsgIDE2LCAweGM0NzAsIDAsIHsweDA4LDB4OTgsMHgwMiwweGU2LDB4MDgsMHhhOSwweDYwLDB4MmUsMHg0OSwweDA4LDB4OTQsMHgwMiwweDI0LDB4MDAsMHhiOSwweDAwIH0gfSwKLXsgIDE2LCAweGM0ODAsIDAsIHsweDJlLDB4NzAsMHgwYiwweDkwLDB4MDIsMHgyNiwweDAyLDB4ODksMHgwMCwweGEwLDB4NDAsMHgwYSwweDkwLDB4MGEsMHgyMCwweDAwIH0gfSwKLXsgIDE2LCAweGM0OTAsIDAsIHsweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4MjQsMHgwMCwweGI5LDB4MDAsMHgyMiwweDQwIH0gfSwKLXsgIDE2LCAweGM0YTAsIDAsIHsweDA4LDB4OTgsMHgwNCwweGU2LDB4MDAsMHg5OSwweDgwLDB4MmUsMHg0MCwweDBhLDB4YjEsMHgwMiwweDI0LDB4MDAsMHhiOSwweDAwIH0gfSwKLXsgIDE2LCAweGM0YjAsIDAsIHsweDBlLDB4NDAsMHgwYiwweDkwLDB4MGEsMHgwNCwweDAwLDB4ODEsMHgwMSwweDIyLDB4YzAsMHgwOCwweDEwLDB4MDIsMHgwNiwweDAwIH0gfSwKLXsgIDE2LCAweGM0YzAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA0LDB4MDQsMHg4MCwweGIxLDB4MjAsMHgyMiwweDQ4IH0gfSwKLXsgIDE2LCAweGM0ZDAsIDAsIHsweDA4LDB4MTgsMHgwNiwweGM0LDB4MDAsMHhhMSwweDAwLDB4MmMsMHg0OCwweDJhLDB4MzAsMHgwMiwweDA0LDB4ODAsMHhiMSwweDIyIH0gfSwKLXsgIDE2LCAweGM0ZTAsIDAsIHsweDJjLDB4NDgsMHgwYiwweDEyLDB4MDIsMHgwNSwweDgwLDB4ODEsMHg2MCwweDIyLDB4NTAsMHgwYSwweDE0LDB4MDIsMHgwMiwweDAxIH0gfSwKLXsgIDE2LCAweGM0ZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjEsMHg0MCwweGY4LDB4NTAsMHgzMiwweDE0IH0gfSwKLXsgIDE2LCAweGM1MDAsIDAsIHsweDBjLDB4ODUsMHgwMywweGUxLDB4NDAsMHhkOCwweDUwLDB4M2UsMHgxNCwweDBlLDB4ODAsMHgwYiwweDIxLDB4NDAsMHhmYSwweDAwIH0gfSwKLXsgIDE2LCAweGM1MTAsIDAsIHsweDNlLDB4OTQsMHgwZiwweDg1LDB4MDMsMHgyMCwweDAwLDB4YzAsMHgwMCwweDMyLDB4MDAsMHgwYywweDgwLDB4MDMsMHgyZSwweDAzIH0gfSwKLXsgIDE2LCAweGM1MjAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5OCwweDFkLDB4ZTQsMHg0MSwweGY5LDB4MTAsMHgzZCwweDQ1IH0gfSwKLXsgIDE2LCAweGM1MzAsIDAsIHsweDBmLDB4ZDAsMHgwMywweGY0LDB4MDAsMHhmZiwweDAwLDB4M2YsMHg0NSwweDBkLDB4ZDAsMHgwMywweGU0LDB4NDAsMHhmOSwweDEwIH0gfSwKLXsgIDE2LCAweGM1NDAsIDAsIHsweDNmLDB4NDQsMHgwZiwweDkxLDB4MDMsMHhlNCwweDQyLDB4ZjksMHgxMCwweDNmLDB4NDAsMHgwZiwweGQ0LDB4MDMsMHhlNiwweDA2IH0gfSwKLXsgIDE2LCAweGM1NTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4ZTQsMHgwMCwweGY5LDB4MDAsMHgzZSwweDQwIH0gfSwKLXsgIDE2LCAweGM1NjAsIDAsIHsweDBjLDB4ZDAsMHgwMywweGY0LDB4MDgsMHg4ZCwweDAyLDB4M2YsMHg0MCwweDBmLDB4ZDAsMHgwMywweGU0LDB4MDAsMHhjZCwweDAwIH0gfSwKLXsgIDE2LCAweGM1NzAsIDAsIHsweDMzLDB4NDAsMHgwYywweDkwLDB4MDMsMHgyNCwweDAwLDB4ZjksMHgwMCwweDMyLDB4NDAsMHg0YywweDk4LDB4MjMsMHgwNiwweDAwIH0gfSwKLXsgIDE2LCAweGM1ODAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzOCwweDEwLDB4ZTAsMHgwMCwweGU4LDB4MDAsMHgyZSwweDAwIH0gfSwKLXsgIDE2LCAweGM1OTAsIDAsIHsweDQ4LDB4ODAsMHgwMiwweGU4LDB4MDAsMHhkMCwweDAwLDB4MmUsMHg4MCwweDBiLDB4ODAsMHgxMiwweGUwLDB4MDIsMHg4OCwweDAwIH0gfSwKLXsgIDE2LCAweGM1YTAsIDAsIHsweGEyLDB4MDAsMHgwYSwweDgwLDB4MTIsMHgyMiwweDAwLDB4YjgsMHg4MSwweDIyLDB4MjgsMHgwOCwweGNmLDB4MDIsMHgwZSwweDA0IH0gfSwKLXsgIDE2LCAweGM1YjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4YzQsMHgwMCwweGIxLDB4MDAsMHgyYywweDQwIH0gfSwKLXsgIDE2LCAweGM1YzAsIDAsIHsweDI4LDB4MTAsMHgwMiwweGM0LDB4MDAsMHg4MSwweDAwLDB4MmMsMHg0MCwweDBiLDB4MTAsMHgwMiwweGM0LDB4MDAsMHg5MSwweDAwIH0gfSwKLXsgIDE2LCAweGM1ZDAsIDAsIHsweDI2LDB4NDAsMHgwOSwweDEwLDB4MDIsMHg1NCwweGEwLDB4YjUsMHgyYywweGE1LDB4NDIsMHgwOCwweDUwLDB4ODIsMHgwMiwweDAxIH0gfSwKLXsgIDE2LCAweGM1ZTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDE1LDB4YTQsMHgwMCwweGE5LDB4MDAsMHgyZSwweDUwIH0gfSwKLXsgIDE2LCAweGM1ZjAsIDAsIHsweDU4LDB4OTAsMHgwMiwweGU0LDB4ODAsMHg5YiwweDAwLDB4MmUsMHg0NSwweDhiLDB4OTIsMHgwMiwweGU0LDB4MDAsMHg5OSwweDAwIH0gfSwKLXsgIDE2LCAweGM2MDAsIDAsIHsweDI2LDB4NDQsMHgwYiwweDkwLDB4MDIsMHg2NCwweDA4LDB4YjUsMHgwMCwweDI1LDB4NGEsMHgwOCwweDUxLDB4MDIsMHgwNiwweDA0IH0gfSwKLXsgIDE2LCAweGM2MTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4ZTQsMHgwMCwweGY5LDB4MDAsMHgzZSwweDU0IH0gfSwKLXsgIDE2LCAweGM2MjAsIDAsIHsweDBjLDB4OTAsMHg0MywweGM0LDB4MDAsMHhjOSwweDkwLDB4M2UsMHg3MCwweDBmLDB4OTgsMHgwMywweGU0LDB4MDAsMHhkOSwweDAwIH0gfSwKLXsgIDE2LCAweGM2MzAsIDAsIHsweDM0LDB4NjAsMHg0ZCwweDkwLDB4MGEsMHg2NCwweDAwLDB4ZjksMHgwMCwweDM2LDB4NDAsMHgyYywweDllLDB4MDMsMHgyOCwweDA0IH0gfSwKLXsgIDE2LCAweGM2NDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDAxLDB4YTQsMHgwMCwweGY5LDB4MDAsMHgzYywweDQwIH0gfSwKLXsgIDE2LCAweGM2NTAsIDAsIHsweDBmLDB4OWMsMHgwMywweGU2LDB4MzAsMHhmOSwweDAwLDB4M2UsMHg2MiwweDBmLDB4OTAsMHgwMywweGU0LDB4MDAsMHhlOSwweDAwIH0gfSwKLXsgIDE2LCAweGM2NjAsIDAsIHsweDNhLDB4NDAsMHg0ZSwweDkwLDB4MDMsMHhhNCwweDAwLDB4NzksMHgwYywweDNhLDB4NDAsMHgwZiwweDkwLDB4MWIsMHhjYSwweDAwIH0gfSwKLXsgIDE2LCAweGM2NzAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTAsMHgwMCwweGY4LDB4MDAsMHgzZSwweDAwIH0gfSwKLXsgIDE2LCAweGM2ODAsIDAsIHsweDBjLDB4ODEsMHgxMywweGUxLDB4MDgsMHhjOCwweDQ4LDB4MzIsMHgwMCwweDNjLDB4ODAsMHgwMywweGMwLDB4MDAsMHhmMCwweDEwIH0gfSwKLXsgIDE2LCAweGM2OTAsIDAsIHsweDNlLDB4MDYsMHgwYywweDgwLDB4MDMsMHhmMCwweDA4LDB4Y2MsMHgwMCwweDMzLDB4MDQsMHgwYywweGMwLDB4MDMsMHgwYSwweDA0IH0gfSwKLXsgIDE2LCAweGM2YTAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4MjgsMHgwMCwweGJhLDB4MDAsMHgyZSwweDgwIH0gfSwKLXsgIDE2LCAweGM2YjAsIDAsIHsweDA4LDB4ZWMsMHg0MiwweGZhLDB4MjAsMHg4ZSwweDAwLDB4MjMsMHhhMCwweDA4LDB4ZTgsMHg0MiwweGU4LDB4MDAsMHhiZSwweDgwIH0gfSwKLXsgIDE2LCAweGM2YzAsIDAsIHsweDJmLDB4ODAsMHgwOCwweGEwLDB4MDIsMHhlOCwweDAwLDB4ZGEsMHgwMCwweDIyLDB4ODAsMHg0OCwweGUwLDB4MDIsMHgwYSwweDAwIH0gfSwKLXsgIDE2LCAweGM2ZDAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NGMsMHgwMCwweGIzLDB4MDAsMHgyYywweGMwIH0gfSwKLXsgIDE2LCAweGM2ZTAsIDAsIHsweDA5LDB4MzQsMHg4MiwweGM5LDB4MDAsMHg4MywweDgwLDB4MjAsMHhmMCwweDA4LDB4MzAsMHg4MiwweGNjLDB4MDAsMHhiMywweDgwIH0gfSwKLXsgIDE2LCAweGM2ZjAsIDAsIHsweDJjLDB4ZjAsMHgwOCwweGIwLDB4MDIsMHhjMSwweDIwLDB4ODAsMHgwMCwweGEwLDB4MzIsMHgwOCwweDAwLDB4MDIsMHgwYSwweDAwIH0gfSwKLXsgIDE2LCAweGM3MDAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDAxLDB4MWMsMHhjMCwweGI3LDB4MDEsMHgyZiwweGM4IH0gfSwKLXsgIDE2LCAweGM3MTAsIDAsIHsweDg5LDB4NTAsMHgwMiwweGQ4LDB4MDIsMHg4NywweGM0LDB4MjEsMHhlMiwweDQ4LDB4NzAsMHg4MiwweGRjLDB4MDAsMHhiNywweDAwIH0gfSwKLXsgIDE2LCAweGM3MjAsIDAsIHsweDJjLDB4NDAsMHgwOCwweDcyLDB4MDIsMHhjZSwweDAwLDB4OTcsMHgwOCwweDIzLDB4YzAsMHgwOCwweDcwLDB4MDIsMHgyOCwweDAwIH0gfSwKLXsgIDE2LCAweGM3MzAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MWUsMHgwMCwweGY3LDB4ZTEsMHgzZCwweGU4IH0gfSwKLXsgIDE2LCAweGM3NDAsIDAsIHsweDJkLDB4NjgsMHgwMywweGYyLDB4MDAsMHhjNywweDgwLDB4YjAsMHhlMCwweDA4LDB4NjgsMHgwMywweGRmLDB4ODAsMHhmNiwweDgwIH0gfSwKLXsgIDE2LCAweGM3NTAsIDAsIHsweDNkLDB4ZTAsMHg4YywweDdlLDB4MDMsMHhkYSwweDAwLDB4Y2MsMHg4MCwweDMxLDB4MjAsMHgwYywweGM4LDB4MGIsMHgyYSwweDAyIH0gfSwKLXsgIDE2LCAweGM3NjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDFkLDB4YWMsMHgwOCwweGZiLDB4MDAsMHgzYywweGMwIH0gfSwKLXsgIDE2LCAweGM3NzAsIDAsIHsweDBlLDB4ODAsMHgwMywweGUwLDB4MDgsMHhmOSwweDAwLDB4M2UsMHg0MCwweDBmLDB4YjAsMHgwMiwweGVjLDB4MDAsMHhmYSwweDAwIH0gfSwKLXsgIDE2LCAweGM3ODAsIDAsIHsweDNlLDB4NDAsMHgyZiwweGIwLDB4MDMsMHhlNCwweDAwLDB4ZmIsMHgwMCwweDNjLDB4YzAsMHgyZiwweGIwLDB4MDMsMHhjMiwweDA2IH0gfSwKLXsgIDE2LCAweGM3OTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZmUsMHgwMCwweGZmLDB4OTIsMHg3ZiwweGVhIH0gfSwKLXsgIDE2LCAweGM3YTAsIDAsIHsweDBjLDB4ZjgsMHgwMywweGZlLDB4MDAsMHhjYywweGEwLDB4M2YsMHgyMCwweDBkLDB4ZjksMHgwMywweDNlLDB4MDAsMHhjZiwweDgwIH0gfSwKLXsgIDE2LCAweGM3YjAsIDAsIHsweDMzLDB4NjAsMHgwZiwweGY4LDB4MDMsMHhmNiwweDAwLDB4ZWYsMHg4NCwweDMzLDB4ZTAsMHgyYywweGM4LDB4MDMsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGM3YzAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDExLDB4OWMsMHgwMCwweGI3LDB4MDAsMHgyZiwweGM4IH0gfSwKLXsgIDE2LCAweGM3ZDAsIDAsIHsweDA4LDB4NTQsMHgwMiwweGQ4LDB4MDAsMHhkNiwweDA0LDB4MmQsMHgwMSwweDA4LDB4NjksMHgwMiwweDFjLDB4MDAsMHg4NSwweDAwIH0gfSwKLXsgIDE2LCAweGM3ZTAsIDAsIHsweDIxLDB4NDMsMHgwYiwweDcwLDB4MDMsMHg5YSwweGMwLDB4OGMsMHgwMCwweGEzLDB4MDIsMHgwOCwweGYxLDB4MDIsMHgyYSwweDA0IH0gfSwKLXsgIDE2LCAweGM3ZjAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OWMsMHgwMCwweGI3LDB4MDEsMHgyZCwweGNjIH0gfSwKLXsgIDE2LCAweGM4MDAsIDAsIHsweDA4LDB4NzAsMHgwMiwweGQ0LDB4MDAsMHg5NCwweDI4LDB4MmQsMHhjMiwweDA4LDB4YzIsMHgwMiwweDVjLDB4MDAsMHg4NiwweDAwIH0gfSwKLXsgIDE2LCAweGM4MTAsIDAsIHsweDIxLDB4ODAsMHgwYiwweDcxLDB4MDIsMHhkYywweDAwLDB4YTcsMHgxMCwweDIxLDB4YzAsMHgwOCwweDQ4LDB4MDIsMHg0MCwweDAwIH0gfSwKLXsgIDE2LCAweGM4MjAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMCwweDE0LDB4Y2MsMHgwOCwweGIzLDB4MDAsMHgyYywweGYwIH0gfSwKLXsgIDE2LCAweGM4MzAsIDAsIHsweDA4LDB4MDUsMHgwMiwweGMwLDB4MjAsMHg5MCwweDgwLDB4MmUsMHgwMCwweDA4LDB4MDAsMHg4MiwweDRjLDB4MDIsMHg4MCwweDAwIH0gfSwKLXsgIDE2LCAweGM4NDAsIDAsIHsweGEwLDB4NjEsMHgwYiwweDMwLDB4MDIsMHhhMCwweDAwLDB4ODAsMHgwMCwweGEwLDB4MzAsMHg4OCwweGIxLDB4MGEsMHg0OCwweDA0IH0gfSwKLXsgIDE2LCAweGM4NTAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YmMsMHgwMCwweGZmLDB4MDAsMHgyZCwweGM4IH0gfSwKLXsgIDE2LCAweGM4NjAsIDAsIHsweDBjLDB4M2QsMHgwMywweGU0LDB4MDAsMHhkYiwweDAyLDB4M2UsMHhmMCwweDJjLDB4OTAsMHg0YiwweDdjLDB4MDAsMHhjMSwweDAwIH0gfSwKLXsgIDE2LCAweGM4NzAsIDAsIHsweDMyLDB4MjAsMHg0ZiwweGYwLDB4MTMsMHhlMCwweDAwLDB4ZTgsMHgwMSwweDMyLDB4MDAsMHg4YywweGFjLDB4MDMsMHg2YSwweDA0IH0gfSwKLXsgIDE2LCAweGM4ODAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDAwLDB4ZWMsMHgwMCwweGZiLDB4MDQsMHgzZSwweGMyIH0gfSwKLXsgIDE2LCAweGM4OTAsIDAsIHsweDRmLDB4YjAsMHgwMywweGUwLDB4MDQsMHhmYSwweDQwLDB4M2UsMHhjMiwweDRlLDB4OTgsMHgyMywweGFjLDB4MTAsMHhmOCwweDAwIH0gfSwKLXsgIDE2LCAweGM4YTAsIDAsIHsweDNlLDB4NTAsMHgwNywweGIwLDB4MTMsMHhhYywweDAwLDB4ZmIsMHgwMCwweDNlLDB4YzIsMHgwZiwweDkyLDB4MDMsMHhhMCwweDAwIH0gfSwKLXsgIDE2LCAweGM4YjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZGMsMHgwMCwweGNmLDB4MDAsMHgzZiwweGMwIH0gfSwKLXsgIDE2LCAweGM4YzAsIDAsIHsweDBjLDB4YzgsMHgyMywweDM2LDB4ODIsMHhjZiwweDgwLDB4M2YsMHg4MCwweDBjLDB4ZTAsMHgwMywweGVjLDB4MDAsMHhmOSwweDIwIH0gfSwKLXsgIDE2LCAweGM4ZDAsIDAsIHsweDMzLDB4YzAsMHgwZSwweGYwLDB4MDMsMHhmOCwweDEwLDB4ZGMsMHgwMCwweDMzLDB4MDAsMHg0YywweGU4LDB4MjEsMHgwMCwweDQ0IH0gfSwKLXsgIDE2LCAweGM4ZTAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MSwweDA0LDB4NmMsMHgwMCwweGFiLDB4MDAsMHgyZSwweGMwIH0gfSwKLXsgIDE2LCAweGM4ZjAsIDAsIHsweDRhLDB4OGQsMHg0MiwweDIxLDB4MDAsMHg4YiwweDQyLDB4MmUsMHhkMiwweDA4LDB4YjAsMHgwMywweGVjLDB4MDAsMHhiOCwweDg4IH0gfSwKLXsgIDE2LCAweGM5MDAsIDAsIHsweDM0LDB4NjIsMHgwZCwweGIwLDB4MDIsMHhlNCwweDAwLDB4OGIsMHgwMCwweDIyLDB4YzAsMHgwOCwweDkwLDB4MGEsMHgyMCwweDQwIH0gfSwKLXsgIDE2LCAweGM5MTAsIDAsIHsweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MmMsMHgwMCwweDhiLDB4MDAsMHgyZSwweGMwIH0gfSwKLXsgIDE2LCAweGM5MjAsIDAsIHsweDA4LDB4YTAsMHgwMiwweDBkLDB4MDAsMHg4OSwweDEwLDB4MmUsMHgwOCwweDI4LDB4OTIsMHgwMiwweGVjLDB4MDQsMHhiYiwweDAwIH0gfSwKLXsgIDE2LCAweGM5MzAsIDAsIHsweDIyLDB4YTAsMHgwOCwweGIwLDB4MDIsMHg2NCwweDAyLDB4YjMsMHgwMiwweDIwLDB4YzAsMHgwOCwweGEyLDB4MDIsMHhhMCwweDAwIH0gfSwKLXsgIDE2LCAweGM5NDAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA0LDB4MGMsMHgwMCwweGEzLDB4MDAsMHgyZSwweGMwIH0gfSwKLXsgIDE2LCAweGM5NTAsIDAsIHsweDBhLDB4OTAsMHgyMiwweDBjLDB4MTAsMHg4MCwweDAwLDB4MmMsMHgwMCwweDE4LDB4MDIsMHg4MiwweGNjLDB4MDAsMHhiMCwweDAwIH0gfSwKLXsgIDE2LCAweGM5NjAsIDAsIHsweDI2LDB4NDAsMHgwOSwweDMwLDB4MDIsMHhjOCwweDIwLDB4ODAsMHgwMCwweDIwLDB4MDAsMHgwOCwweDEwLDB4MDYsMHg4MiwweDAxIH0gfSwKLXsgIDE2LCAweGM5NzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4NmMsMHgwMCwweGNiLDB4MDAsMHgyZSwweGMwIH0gfSwKLXsgIDE2LCAweGM5ODAsIDAsIHsweDBjLDB4YTEsMHgwMiwweDI0LDB4MDAsMHg4OCwweDAwLDB4M2MsMHgwMCwweDBjLDB4ODAsMHgwMywweGVjLDB4MDAsMHhmYiwweDAwIH0gfSwKLXsgIDE2LCAweGM5OTAsIDAsIHsweDMyLDB4ODAsMHgwZSwweGIwLDB4MDMsMHhjYywweDgwLDB4ZGIsMHgwMCwweDMyLDB4YzAsMHgwYywweGEwLDB4MDMsMHg4MCwweDAzIH0gfSwKLXsgIDE2LCAweGM5YTAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDFkLDB4ZmMsMHgwMCwweGZmLDB4MDAsMHgzZiwweGMwIH0gfSwKLXsgIDE2LCAweGM5YjAsIDAsIHsweDRmLDB4YzIsMHgxMywweGQ0LDB4MTAsMHhmYywweDAwLDB4M2YsMHgwMCwweDBmLDB4MDAsMHgwMywweGJjLDB4MDAsMHhmYywweDAwIH0gfSwKLXsgIDE2LCAweGM5YzAsIDAsIHsweDNmLDB4NDAsMHgwZiwweGYwLDB4MjMsMHhlMCwweDEyLDB4ZmMsMHgwMSwweGJmLDB4MDAsMHgwZiwweGQwLDB4MDMsMHg2OCwweDAyIH0gfSwKLXsgIDE2LCAweGM5ZDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZmMsMHgwMCwweGM3LDB4ODAsMHgzMywweGMwIH0gfSwKLXsgIDE2LCAweGM5ZTAsIDAsIHsweDhiLDB4YjQsMHgwMywweGIwLDB4YzAsMHhjZiwweDJlLDB4MWYsMHgwYywweDRmLDB4YzMsMHgwMywweDMwLDB4ODAsMHhmZiwweDAxIH0gfSwKLXsgIDE2LCAweGM5ZjAsIDAsIHsweDNmLDB4MDgsMHgwZiwweGYwLDB4MDAsMHg3YywweDAwLDB4ZmYsMHgyMSwweDMzLDB4ZTQsMHgwYywweGUwLDB4MDMsMHgzMCwweDAwIH0gfSwKLXsgIDE2LCAweGNhMDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDEwLDB4ZWUsMHgwMCwweDhiLDB4ODIsMHgyMywweGYwIH0gfSwKLXsgIDE2LCAweGNhMTAsIDAsIHsweDBiLDB4YjUsMHgxMiwweDBkLDB4ODgsMHg4OCwweGMwLDB4MGUsMHg5OCwweDBiLDB4ODYsMHgwMiwweDIxLDB4MDAsMHhiYiwweGMwIH0gfSwKLXsgIDE2LCAweGNhMjAsIDAsIHsweDJlLDB4ZTQsMHg0YiwweGY3LDB4ODMsMHgyZiwweDQ0LDB4YmYsMHg5MCwweDIyLDB4YzgsMHg0OCwweGE2LDB4ODIsMHgyMCwweDA0IH0gfSwKLXsgIDE2LCAweGNhMzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4Y2MsMHgwOSwweDhhLDB4MDAsMHgyMCwweDUwIH0gfSwKLXsgIDE2LCAweGNhNDAsIDAsIHsweDRiLDB4YjIsMHgwYSwweDgwLDB4Y2MsMHg4MywweDAxLDB4MGMsMHg4YywweDBiLDB4MjMsMHgwYSwweDA0LDB4NjAsMHhiMywweDE0IH0gfSwKLXsgIDE2LCAweGNhNTAsIDAsIHsweDI0LDB4NDAsMHg0YiwweDMwLDB4MDIsMHhjYywweDEwLDB4YjMsMHgwMCwweDIwLDB4YzgsMHhlOSwweDExLDB4MDYsMHg2MiwweDAxIH0gfSwKLXsgIDE2LCAweGNhNjAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDE1LDB4YWMsMHgwMSwweDhhLDB4ODAsMHhhMiwweDQ0IH0gfSwKLXsgIDE2LCAweGNhNzAsIDAsIHsweDBiLDB4YjAsMHgwMiwweGExLDB4MDQsMHg4OCwweDQwLDB4MmUsMHhhMCwweDBiLDB4MjAsMHgwMiwweDI4LDB4MjAsMHhiYiwweDQwIH0gfSwKLXsgIDE2LCAweGNhODAsIDAsIHsweDJlLDB4NDAsMHgwYiwweGIwLDB4MDIsMHgyYywweDA4LDB4YmIsMHgwMCwweDIyLDB4YzAsMHgwOSwweGIwLDB4MDIsMHg3MCwweDA0IH0gfSwKLXsgIDE2LCAweGNhOTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDE1LDB4ZWMsMHgwMCwweGMzLDB4ODMsMHgzMiwweGUwIH0gfSwKLXsgIDE2LCAweGNhYTAsIDAsIHsweDhmLDB4MDAsMHgwMywweGEwLDB4MDIsMHhjYiwweGM0LDB4M2UsMHgyOCwweDA3LDB4OGIsMHgwMywweDIxLDB4MDAsMHhmOSwweGMwIH0gfSwKLXsgIDE2LCAweGNhYjAsIDAsIHsweDNlLDB4MTAsMHgwZiwweGIwLDB4MDMsMHhlYywweDAwLDB4N2IsMHgwMCwweDMyLDB4YzAsMHgwZCwweGEwLDB4MDMsMHg1MCwweDA0IH0gfSwKLXsgIDE2LCAweGNhYzAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDAxLDB4OWMsMHgwMiwweGZmLDB4MDAsMHgzZiwweGUwIH0gfSwKLXsgIDE2LCAweGNhZDAsIDAsIHsweDBmLDB4ZjQsMHg0MywweDVlLDB4ODAsMHhmYywweDk0LDB4M2YsMHgwMCwweDBmLDB4YzAsMHgyYiwweGYyLDB4NTAsMHhmZCwweDIxIH0gfSwKLXsgIDE2LCAweGNhZTAsIDAsIHsweDdlLDB4ODQsMHg4ZiwweGYwLDB4MDMsMHg2YywweDBjLDB4ZmYsMHgwMCwweDNmLDB4YzAsMHgwZSwweDYyLDB4MDMsMHhiOCwweDAwIH0gfSwKLXsgIDE2LCAweGNhZjAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YWMsMHgwMCwweGViLDB4MDAsMHgzMiwweDQwIH0gfSwKLXsgIDE2LCAweGNiMDAsIDAsIHsweDJjLDB4ODAsMHgwMywweDY5LDB4MDAsMHhjYiwweDMwLDB4YjIsMHgwMCwweDRmLDB4YjMsMHg0MywweGU1LDB4MDAsMHhjYiwweDQwIH0gfSwKLXsgIDE2LCAweGNiMTAsIDAsIHsweDcyLDB4MTgsMHgyYywweGIwLDB4MDMsMHhlYywweDI4LDB4YzMsMHgyMSwweDNhLDB4YzEsMHgwZiwweDk0LDB4MDMsMHgxMCwweDA0IH0gfSwKLXsgIDE2LCAweGNiMjAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjOCwweDA1LDB4M2MsMHgwMCwweDhiLDB4MjAsMHgyMiwweDUwIH0gfSwKLXsgIDE2LCAweGNiMzAsIDAsIHsweDA4LDB4YjAsMHgwMiwweDI4LDB4MDAsMHg4OCwweGMwLDB4MmEsMHgwMCwweDhiLDB4YjQsMHgwMiwweGU4LDB4MDAsMHhkYiwweDAwIH0gfSwKLXsgIDE2LCAweGNiNDAsIDAsIHsweDYyLDB4MzAsMHgwOCwweGYwLDB4MDIsMHhmYywweDAwLDB4OGYsMHg4MCwweDIyLDB4YzAsMHgwYiwweDk1LDB4NDcsMHgzMiwweDAwIH0gfSwKLXsgIDE2LCAweGNiNTAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NGMsMHgwMCwweGIxLDB4MDAsMHgyMCwweGMyIH0gfSwKLXsgIDE2LCAweGNiNjAsIDAsIHsweDQ4LDB4MzAsMHgwMiwweDQ5LDB4ODAsMHg4MywweDQyLDB4NjAsMHgxMiwweDBiLDB4MzAsMHgwMiwweGM4LDB4MDAsMHg4MiwweDAyIH0gfSwKLXsgIDE2LCAweGNiNzAsIDAsIHsweDJjLDB4MzAsMHgwOSwweGIwLDB4MDIsMHhjZiwweDAxLDB4ODMsMHg1MCwweDJhLDB4YzAsMHgwYiwweDIwLDB4MDIsMHhiOCwweDAwIH0gfSwKLXsgIDE2LCAweGNiODAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMCwweDAxLDB4MWUsMHgwMCwweDlkLDB4ODAsMHhhMCwweGUwIH0gfSwKLXsgIDE2LCAweGNiOTAsIDAsIHsweDA4LDB4NzksMHgyMiwweDVlLDB4NjAsMHg4NywweDkwLDB4MjksMHhhMCwweDBiLDB4NzgsMHgwMiwweGM2LDB4MDAsMHg5MiwweDgxIH0gfSwKLXsgIDE2LCAweGNiYTAsIDAsIHsweDA1LDB4ZTAsMHgwOSwweDc4LDB4MDIsMHhkZSwweDQwLDB4ODcsMHg4MCwweDIxLDB4ZTAsMHgwYiwweDI5LDB4MDIsMHgwOCwweDAwIH0gfSwKLXsgIDE2LCAweGNiYjAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MGMsMHg0MCwweGYyLDB4MDAsMHgzMCwweGMwIH0gfSwKLXsgIDE2LCAweGNiYzAsIDAsIHsweDA4LDB4M2EsMHgwMywweDQ0LDB4MDQsMHhjMywweDE0LDB4MzAsMHhjMCwweDBmLDB4MjIsMHgwMywweGNjLDB4ODAsMHhjMiwweDAwIH0gfSwKLXsgIDE2LCAweGNiZDAsIDAsIHsweGE0LDB4ZDIsMHgwZCwweDMwLDB4MTMsMHhjYywweDIwLDB4YzMsMHgwMCwweDM4LDB4YzQsMHg0ZiwweDA0LDB4NDMsMHgxMiwweDAyIH0gfSwKLXsgIDE2LCAweGNiZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDFkLDB4OWMsMHgwMCwweGVlLDB4MDAsMHgzZiwweGUwIH0gfSwKLXsgIDE2LCAweGNiZjAsIDAsIHsweDBmLDB4NzAsMHgwMywweGI0LDB4MDIsMHhmNCwweDEwLDB4M2YsMHhjMCwweDhmLDB4YTAsMHgwMywweGZjLDB4MDAsMHg3ZSwweDAwIH0gfSwKLXsgIDE2LCAweGNjMDAsIDAsIHsweDNiLDB4YzAsMHgwZSwweGYwLDB4ODMsMHhlYywweDAwLDB4ZjcsMHgwMCwweDNmLDB4YzAsMHgwZiwweGMwLDB4MDMsMHhkMCwweDA2IH0gfSwKLXsgIDE2LCAweGNjMTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZmMsMHgwMCwweGY5LDB4MDAsMHgzZSwweGMwIH0gfSwKLXsgIDE2LCAweGNjMjAsIDAsIHsweDBmLDB4YTAsMHgwMywweGFhLDB4MTIsMHhjYiwweDAxLDB4MzIsMHg4MCwweDBmLDB4YjAsMHgxMywweDI4LDB4MTQsMHhmOSwweDgwIH0gfSwKLXsgIDE2LCAweGNjMzAsIDAsIHsweDNhLDB4NDAsMHgwMywweGI0LDB4MDMsMHhlYywweDQyLDB4Y2IsMHgxOCwweDNlLDB4YzAsMHgwZiwweGIwLDB4MDMsMHgyYSwweDAwIH0gfSwKLXsgIDE2LCAweGNjNDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDExLDB4OWQsMHgwMCwweGI1LDB4MDAsMHgyZCwweGM0IH0gfSwKLXsgIDE2LCAweGNjNTAsIDAsIHsweDBiLDB4NzAsMHg0YiwweDdjLDB4MDAsMHg4NCwweDAwLDB4MjEsMHg4MCwweDBiLDB4NzAsMHgwMiwweDk0LDB4MTAsMHhiMiwweDAwIH0gfSwKLXsgIDE2LCAweGNjNjAsIDAsIHsweDI5LDB4YzAsMHgwYiwweDcyLDB4ODIsMHhkYywweDAwLDB4ODcsMHgyMCwweDJkLDB4YzEsMHgwZSwweDcwLDB4MDIsMHgxMiwweDA0IH0gfSwKLXsgIDE2LCAweGNjNzAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4OWUsMHgwMCwweGI3LDB4ODAsMHgyZCwweGUwIH0gfSwKLXsgIDE2LCAweGNjODAsIDAsIHsweDBiLDB4NjgsMHgwMiwweDllLDB4MDAsMHg4MywweDgwLDB4MjEsMHhlMCwweDViLDB4MzgsMHgwMiwweDFlLDB4MDAsMHhiNCwweGMwIH0gfSwKLXsgIDE2LCAweGNjOTAsIDAsIHsweDI1LDB4ZTAsMHgwOSwweDc4LDB4MzIsMHhjZSwweDAwLDB4OTcsMHg4MCwweDJkLDB4ZTAsMHgwYiwweDVjLDB4NGUsMHgzMCwweDAwIH0gfSwKLXsgIDE2LCAweGNjYTAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDE0LDB4Y2MsMHgwMCwweGIzLDB4NDQsMHgyYywweGMwIH0gfSwKLXsgIDE2LCAweGNjYjAsIDAsIHsweDBiLDB4M2MsMHgwMiwweGNjLDB4NDAsMHg5MywweDA4LDB4MjAsMHhlMCwweDBiLDB4MzAsMHgwMiwweDhjLDB4MTAsMHhiMywweGMwIH0gfSwKLXsgIDE2LCAweGNjYzAsIDAsIHsweDI4LDB4ZDgsMHgxYiwweDMwLDB4MDIsMHhjYywweDA4LDB4OTMsMHgwMSwweDZjLDB4YzAsMHgwYSwweGI4LDB4ODIsMHgxMiwweDA0IH0gfSwKLXsgIDE2LCAweGNjZDAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YTgsMHgwMCwweGY2LDB4MTAsMHgzZSwweDgwIH0gfSwKLXsgIDE2LCAweGNjZTAsIDAsIHsweDRiLDB4ZWQsMHg4MywweGI4LDB4MDAsMHhjZSwweGU0LDB4YjMsMHhhMywweDBmLDB4ZTAsMHgwMywweDM4LDB4MDAsMHhmZSwweDAwIH0gfSwKLXsgIDE2LCAweGNjZjAsIDAsIHsweDNiLDB4ODAsMHgwZCwweGEwLDB4MDIsMHhlOCwweDAwLDB4ZGEsMHgwMCwweDNlLDB4ODAsMHgwZiwweGU4LDB4MDIsMHgzYSwweDA0IH0gfSwKLXsgIDE2LCAweGNkMDAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDAwLDB4ZTAsMHgxMCwweGY4LDB4NDAsMHgzZSwweDAwIH0gfSwKLXsgIDE2LCAweGNkMTAsIDAsIHsweDBmLDB4ODAsMHgxMywweDYwLDB4MDAsMHhlMCwweDAwLDB4M2UsMHgwMCwweDQzLDB4MDgsMHgwMywweGUwLDB4MDAsMHhmOCwweDA4IH0gfSwKLXsgIDE2LCAweGNkMjAsIDAsIHsweDNhLDB4MDAsMHgwZiwweDgwLDB4MDMsMHhlMCwweDAwLDB4ZTgsMHg0MCwweDNlLDB4MDAsMHgwZSwweDgwLDB4MjMsMHhkMiwweDAwIH0gfSwKLXsgIDE2LCAweGNkMzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4YzQsMHgwMCwweGQ5LDB4YzAsMHhiZSwweDQwIH0gfSwKLXsgIDE2LCAweGNkNDAsIDAsIHsweDBmLDB4OTAsMHgwMywweGU2LDB4MDAsMHhmOSwweDAwLDB4MzIsMHg0MCwweDAxLDB4OWEsMHgwMywweDI0LDB4MDAsMHhmOSwweDAwIH0gfSwKLXsgIDE2LCAweGNkNTAsIDAsIHsweDNlLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhjNCwweDQwLDB4MDksMHgxMCwweDBlLDB4NDAsMHgwZiwweDlhLDB4MDMsMHgwMiwweDA0IH0gfSwKLXsgIDE2LCAweGNkNjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA0LDB4NjQsMHgwNCwweDg5LDB4MDQsMHhhMiwweDYwIH0gfSwKLXsgIDE2LCAweGNkNzAsIDAsIHsweDhiLDB4OWQsMHg4MCwweGE2LDB4MDAsMHhiOSwweDgwLDB4MjIsMHg0MCwweDQ4LDB4OTgsMHgwMiwweDI0LDB4MDAsMHhiOSwweDAwIH0gfSwKLXsgIDE2LCAweGNkODAsIDAsIHsweDJlLDB4NDAsMHg4YiwweDkwLDB4MDIsMHhlNCwweDk0LDB4ODksMHg2MCwweDJlLDB4NDAsMHgwYiwweDk0LDB4MGIsMHgyMCwweDAwIH0gfSwKLXsgIDE2LCAweGNkOTAsIDAsIHsweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4MjQsMHgwMCwweDk5LDB4MDgsMHhhZSwweDQ4IH0gfSwKLXsgIDE2LCAweGNkYTAsIDAsIHsweDRiLDB4MTAsMHgwMiwweGU1LDB4ODEsMHhiOSwweDEwLDB4MjAsMHg0NCwweDFiLDB4OTQsMHgwMiwweDI0LDB4MTAsMHhiOSwweDAwIH0gfSwKLXsgIDE2LCAweGNkYjAsIDAsIHsweDZlLDB4NjAsMHgwYiwweDkwLDB4MDIsMHhlNCwweDAwLDB4ODksMHgwMCwweDJlLDB4NDAsMHgwYiwweDk0LDB4MDIsMHgwNiwweDAwIH0gfSwKLXsgIDE2LCAweGNkYzAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA0LDB4MDQsMHg4MCwweDg5LDB4MDAsMHhhMCwweDY4IH0gfSwKLXsgIDE2LCAweGNkZDAsIDAsIHsweDBiLDB4MTIsMHgwMiwweDg0LDB4ODksMHhiMSwweDIwLDB4MjAsMHg0OCwweDFhLDB4MTIsMHgxMiwweDA0LDB4ODAsMHhiMSwweDIyIH0gfSwKLXsgIDE2LCAweGNkZTAsIDAsIHsweDBjLDB4NDgsMHgwYiwweDEyLDB4MDIsMHhjNCwweDgxLDB4YTEsMHgyMCwweDJjLDB4NDAsMHgwYiwweDEyLDB4MDIsMHgwMiwweDAxIH0gfSwKLXsgIDE2LCAweGNkZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjAsMHgwMCwweGQ4LDB4MDAsMHhiZSwweDAwIH0gfSwKLXsgIDE2LCAweGNlMDAsIDAsIHsweDBmLDB4MDUsMHgwYiwweGUxLDB4NDAsMHhmOCwweDAwLDB4MzIsMHgxNCwweDBmLDB4ODUsMHgwMywweDIxLDB4NDAsMHhmOCwweDAwIH0gfSwKLXsgIDE2LCAweGNlMTAsIDAsIHsweDJlLDB4ODAsMHgwZiwweDg1LDB4MTMsMHhlMCwweDAyLDB4YzgsMHgwMCwweDNlLDB4MTQsMHgwZiwweDA1LDB4MDEsMHgyZSwweDAzIH0gfSwKLXsgIDE2LCAweGNlMjAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5OCwweDFkLDB4ZTQsMHg0MCwweGZkLDB4MDAsMHhiZiwweDQ0IH0gfSwKLXsgIDE2LCAweGNlMzAsIDAsIHsweDBmLDB4ZDEsMHgwMywweGY0LDB4NDAsMHg3ZCwweDEwLDB4YmYsMHg0NCwweDQ1LDB4ZjEsMHgyYiwweGY0LDB4NDAsMHhmZCwweDEwIH0gfSwKLXsgIDE2LCAweGNlNDAsIDAsIHsweDNmLDB4NDQsMHgwZiwweDkxLDB4MDMsMHhlNCwweDQwLDB4ZDksMHgxMCwweDNlLDB4NDAsMHgwZiwweGQxLDB4MDMsMHhhNiwweDA2IH0gfSwKLXsgIDE2LCAweGNlNTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4ZjYsMHgwMCwweGZkLDB4MDAsMHgxZiwweDYyIH0gfSwKLXsgIDE2LCAweGNlNjAsIDAsIHsweDBmLDB4ZDgsMHg4MiwweDM2LDB4MDAsMHhiZCwweGEwLDB4M2IsMHg2OCwweDBjLDB4ZGMsMHg4MywweDI2LDB4YzgsMHhkOSwweGEwIH0gfSwKLXsgIDE2LCAweGNlNzAsIDAsIHsweDMzLDB4NjAsMHgwZCwweDk5LDB4ODMsMHg1NiwweDIwLDB4ZDUsMHhhOCwweDJlLDB4NDQsMHgwYywweGQ4LDB4ODMsMHg4NiwweDA0IH0gfSwKLXsgIDE2LCAweGNlODAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzOCwweDEwLDB4ZTEsMHg0OCwweGI4LDB4MDAsMHgyZSwweDAwIH0gfSwKLXsgIDE2LCAweGNlOTAsIDAsIHsweDBiLDB4MGEsMHg4MiwweDIyLDB4MjAsMHhiOCwweDUwLDB4MjIsMHhiYSwweDA4LDB4OGEsMHgyMiwweDIyLDB4ODAsMHg4OCwweDAwIH0gfSwKLXsgIDE2LCAweGNlYTAsIDAsIHsweDIyLDB4MDEsMHgwOCwweDBjLDB4MDIsMHgyMCwweDAwLDB4ODgsMHgwMCwweDJlLDB4MjgsMHg4OCwweDg4LDB4MDIsMHhjZSwweDA0IH0gfSwKLXsgIDE2LCAweGNlYjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4YzQsMHgwMCwweGIxLDB4MDAsMHgyYywweDQwIH0gfSwKLXsgIDE2LCAweGNlYzAsIDAsIHsweDFiLDB4MTAsMHgwYSwweDg0LDB4NDAsMHhiMSwweDAwLDB4MjgsMHg1OCwweDBhLDB4MzIsMHgwMiwweDA1LDB4MDAsMHg5OSwweDQwIH0gfSwKLXsgIDE2LCAweGNlZDAsIDAsIHsweDIwLDB4NjUsMHgwOSwweDEwLDB4NDIsMHhjNCwweDAwLDB4OTEsMHgwMCwweDJjLDB4NDAsMHgwYSwweDMwLDB4ODIsMHhjMiwweDAxIH0gfSwKLXsgIDE2LCAweGNlZTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDExLDB4YTQsMHgwMCwweGI5LDB4MDAsMHgyZSwweDQwIH0gfSwKLXsgIDE2LCAweGNlZjAsIDAsIHsweDFiLDB4OTAsMHgwMiwweGE1LDB4ODAsMHhiOSwweDEwLDB4MjIsMHg0OCwweDA4LDB4MTAsMHg0MiwweDA0LDB4MTAsMHgwOSwweDAwIH0gfSwKLXsgIDE2LCAweGNmMDAsIDAsIHsweDIyLDB4NDAsMHgwOCwweDkwLDB4MDIsMHhlNCwweDAwLDB4OWIsMHgwMCwweDJjLDB4NDAsMHgwYSwweDk0LDB4MjIsMHhjNiwweDA0IH0gfSwKLXsgIDE2LCAweGNmMTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4ZTQsMHgwMCwweGY5LDB4MjAsMHgzZSwweDQwIH0gfSwKLXsgIDE2LCAweGNmMjAsIDAsIHsweDBmLDB4OTAsMHgxMywweGE3LDB4MTAsMHhmOSwweDYwLDB4YmEsMHg1MCwweDJlLDB4OWMsMHgwYSwweDI1LDB4ODQsMHhkMSwweGYwIH0gfSwKLXsgIDE2LCAweGNmMzAsIDAsIHsweGIyLDB4NjAsMHgwZCwweDkwLDB4MDMsMHhlNCwweDAwLDB4ZDksMHgwMCwweDNlLDB4NDAsMHgwZSwweDkwLDB4MDMsMHhhOCwweDAwIH0gfSwKLXsgIDE2LCAweGNmNDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDAxLDB4YTQsMHgwYywweGY5LDB4OTAsMHgzZSwweDZhIH0gfSwKLXsgIDE2LCAweGNmNTAsIDAsIHsweDhmLDB4OTAsMHgyMywweDY2LDB4MDAsMHhmMSwweDA4LDB4M2MsMHg0MCwweDBmLDB4OWMsMHg0MywweGU0LDB4NDAsMHhmOSwweDgwIH0gfSwKLXsgIDE2LCAweGNmNjAsIDAsIHsweDNhLDB4NDQsMHgwZiwweDkwLDB4MDMsMHgyNCwweDA0LDB4ZTksMHgwMiwweDNlLDB4NDAsMHgyZCwweDkxLDB4MTMsMHhjYSwweDAwIH0gfSwKLXsgIDE2LCAweGNmNzAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTAsMHgwMCwweGU4LDB4MjAsMHgzZSwweDAxIH0gfSwKLXsgIDE2LCAweGNmODAsIDAsIHsweDBjLDB4MDAsMHgwMywweGExLDB4MjAsMHhlOCwweDUwLDB4MzIsMHgxMCwweDJjLDB4OGMsMHgwMywweDIxLDB4MDAsMHhlOCwweDAwIH0gfSwKLXsgIDE2LCAweGNmOTAsIDAsIHsweDMyLDB4MDIsMHgwZiwweDAwLDB4MTMsMHgyMCwweDg4LDB4YzgsMHgwOCwweDMyLDB4MDAsMHgwZiwweDhjLDB4MDMsMHhjYSwweDAwIH0gfSwKLXsgIDE2LCAweGNmYTAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4MjgsMHgyMCwweDhlLDB4ZTMsMHgyZiwweDkwIH0gfSwKLXsgIDE2LCAweGNmYjAsIDAsIHsweDBhLDB4ZTAsMHgwNiwweDNiLDB4MDAsMHhlZSwweDA0LDB4MjMsMHg5MCwweDA4LDB4ZTAsMHgwMiwweDI4LDB4MDgsMHg4YSwweDAyIH0gfSwKLXsgIDE2LCAweGNmYzAsIDAsIHsweDc1LDB4OTAsMHg4YiwweGEwLDB4NDEsMHg1OCwweDkwLDB4OGUsMHg4MCwweDJhLDB4ODEsMHgwYiwweGUwLDB4MDMsMHg4YSwweDEwIH0gfSwKLXsgIDE2LCAweGNmZDAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NGUsMHgwMCwweGEzLDB4MDAsMHg2YywweDYwIH0gfSwKLXsgIDE2LCAweGNmZTAsIDAsIHsweDA4LDB4MzgsMHgxYSwweDhlLDB4NDAsMHhhMCwweDgwLDB4MjAsMHhjYywweDA5LDB4MzAsMHgwMiwweDBjLDB4MDUsMHhhMywweDA0IH0gfSwKLXsgIDE2LCAweGNmZjAsIDAsIHsweDI4LDB4YzQsMHgwYiwweDMwLDB4MDIsMHgwZCwweDAxLDB4ODMsMHhjMCwweDIwLDB4YzAsMHgwYiwweDMwLDB4MDIsMHhjYSwweDAwIH0gfSwKLXsgIDE2LCAweGQwMDAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDAxLDB4MWUsMHgwOCwweDg3LDB4MDAsMHgyZCwweDYyIH0gfSwKLXsgIDE2LCAweGQwMTAsIDAsIHsweDBiLDB4NzAsMHg5MiwweDFjLDB4MDgsMHhhMCwweDAwLDB4NjEsMHhjMCwweDA5LDB4NjAsMHgwNiwweDFjLDB4ODAsMHhhNywweDAwIH0gfSwKLXsgIDE2LCAweGQwMjAsIDAsIHsweDIxLDB4YzAsMHgwYiwweDcyLDB4MDIsMHg1OCwweDAxLDB4ODcsMHg4OCwweDI5LDB4YzAsMHgwYiwweDYwLDB4MTIsMHhhOCwweDAwIH0gfSwKLXsgIDE2LCAweGQwMzAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MWUsMHgwMCwweGU2LDB4ODAsMHgzZCwweDYwIH0gfSwKLXsgIDE2LCAweGQwNDAsIDAsIHsweDBjLDB4NzgsMHg0MiwweDk2LDB4MDAsMHhlNCwweDgwLDB4YTMsMHg2MCwweDBkLDB4NzgsMHgwMywweDNmLDB4MDAsMHhlMywweDgwIH0gfSwKLXsgIDE2LCAweGQwNTAsIDAsIHsweDIxLDB4ZTAsMHgwZiwweDdiLDB4MDMsMHgxNiwweDA4LDB4YzcsMHg4MCwweDMxLDB4ZTIsMHg0ZiwweDc4LDB4NDMsMHhlYSwweDAyIH0gfSwKLXsgIDE2LCAweGQwNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDFkLDB4OGMsMHgwMSwweGY4LDB4MDAsMHgzYywweDQwIH0gfSwKLXsgIDE2LCAweGQwNzAsIDAsIHsweDBlLDB4YjAsMHgwMiwweGVjLDB4MDAsMHhmOCwweDAxLDB4M2UsMHg0MCwweDRlLDB4MzAsMHgzMywweGVkLDB4MjAsMHhkYiwweDAxIH0gfSwKLXsgIDE2LCAweGQwODAsIDAsIHsweGJlLDB4YzAsMHgwZiwweGI0LDB4MDMsMHhlYywweDAwLDB4ZmIsMHgwMCwweDNlLDB4ZDgsMHgwZiwweGEwLDB4MDMsMHhjMiwweDA2IH0gfSwKLXsgIDE2LCAweGQwOTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZmUsMHgwMCwweGM3LDB4ODQsMHgyMywweDYwIH0gfSwKLXsgIDE2LCAweGQwYTAsIDAsIHsweDBjLDB4NzgsMHgwYiwweGJlLDB4MDAsMHhmZCwweDgwLDB4M2YsMHhlMCwweDBmLDB4ZWIsMHgwMywweDNlLDB4MDAsMHhjZiwweDgwIH0gfSwKLXsgIDE2LCAweGQwYjAsIDAsIHsweDNiLDB4MjUsMHgwYywweGY4LDB4ODMsMHg3ZSwweDQwLDB4Y2QsMHg4MCwweDMzLDB4ZTIsMHgwYiwweGY5LDB4MDMsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGQwYzAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDExLDB4OWMsMHgwMiwweDg3LDB4MDAsMHgxNSwweDQ4IH0gfSwKLXsgIDE2LCAweGQwZDAsIDAsIHsweDA4LDB4NzAsMHgwMiwweDE0LDB4MjAsMHhiNiwweDAwLDB4MzUsMHg5YSwweDQ5LDB4YzgsMHgwMywweDljLDB4ODQsMHhhNywweDAwIH0gfSwKLXsgIDE2LCAweGQwZTAsIDAsIHsweDM5LDB4ZDAsMHgwYSwweDcwLDB4MDIsMHgxYSwweDA4LDB4YTQsMHgwMCwweDIxLDB4YzAsMHgwOSwweDYxLDB4NDIsMHgyYSwweDA0IH0gfSwKLXsgIDE2LCAweGQwZjAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OWMsMHgwMCwweDg3LDB4MDAsMHgyMSwweDQwIH0gfSwKLXsgIDE2LCAweGQxMDAsIDAsIHsweDA4LDB4NzEsMHgwMiwweDk0LDB4MDAsMHhiNSwweDAwLDB4MmQsMHg0MCwweDBiLDB4ZjEsMHgyMiwweDVjLDB4MDIsMHgwNywweDA4IH0gfSwKLXsgIDE2LCAweGQxMTAsIDAsIHsweDJjLDB4NTAsMHgwOCwweDcwLDB4MDIsMHg1MCwweDAwLDB4ODcsMHgwMCwweDJkLDB4YzQsMHgwYiwweDUwLDB4NDIsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGQxMjAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMCwweDE0LDB4Y2MsMHgwMCwweDgzLDB4MDIsMHgyNCwweDQwIH0gfSwKLXsgIDE2LCAweGQxMzAsIDAsIHsweDE4LDB4M2QsMHgwYSwweDAxLDB4MDAsMHhiMCwweDU4LDB4MjQsMHgyMCwweDA5LDB4MzAsMHgwMiwweDhmLDB4NDAsMHg4MywweGUwIH0gfSwKLXsgIDE2LCAweGQxNDAsIDAsIHsweDJjLDB4YzEsMHgwYSwweDMwLDB4NDIsMHgwOCwweDAwLDB4YjMsMHgwMSwweDZjLDB4YzAsMHgwOSwweDA4LDB4MTYsMHgwOCwweDA0IH0gfSwKLXsgIDE2LCAweGQxNTAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4OGMsMHgwMCwweDhiLDB4MDAsMHgzMiwweDQwIH0gfSwKLXsgIDE2LCAweGQxNjAsIDAsIHsweDBjLDB4MjUsMHgwMywweGE4LDB4NDgsMHhmOCwweDgxLDB4M2UsMHg4MCwweDBmLDB4ODAsMHg2MywweDdjLDB4MDAsMHhjYiwweDgwIH0gfSwKLXsgIDE2LCAweGQxNzAsIDAsIHsweDNhLDB4YzAsMHgwYywweGYwLDB4MDMsMHg2YywweDAwLDB4Y2EsMHgwMiwweGJmLDB4YzAsMHgwZiwweDk4LDB4OGIsMHgyYSwweDA0IH0gfSwKLXsgIDE2LCAweGQxODAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDAwLDB4ZWMsMHgwMCwweGY5LDB4MDAsMHgzZSwweDUwIH0gfSwKLXsgIDE2LCAweGQxOTAsIDAsIHsweDJmLDB4YTQsMHgwYiwweGM4LDB4MDAsMHhmMCwweDQwLDB4M2UsMHhkMCwweDBmLDB4YTAsMHgzMywweGVjLDB4MjAsMHhmYiwweDA0IH0gfSwKLXsgIDE2LCAweGQxYTAsIDAsIHsweDdhLDB4ZTAsMHgwZiwweGIwLDB4MDMsMHhlZCwweDA4LDB4ZTksMHgwMywweDMyLDB4YzAsMHgwZCwweDkwLDB4MDMsMHhlMCwweDAwIH0gfSwKLXsgIDE2LCAweGQxYjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZWMsMHg0MCwweGVlLDB4MDAsMHgzZSwweGMwIH0gfSwKLXsgIDE2LCAweGQxYzAsIDAsIHsweDBjLDB4ZGEsMHgwMywweDcwLDB4MDQsMHhjYywweDAyLDB4YjEsMHhhMCwweDBlLDB4ZjAsMHgyMywweGVjLDB4MDAsMHhmZiwweDAwIH0gfSwKLXsgIDE2LCAweGQxZDAsIDAsIHsweDM3LDB4MjAsMHhjZCwweGIwLDB4NzMsMHhlYywweDg4LDB4ZmIsMHg4MCwweDNmLDB4YzAsMHgwZiwweDMwLDB4MDMsMHgwMCwweDQ0IH0gfSwKLXsgIDE2LCAweGQxZTAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MSwweDA0LDB4NmUsMHgwMCwweDg4LDB4ODAsMHgyYywweGUxIH0gfSwKLXsgIDE2LCAweGQxZjAsIDAsIHsweDA4LDB4OTQsMHgwYSwweGE5LDB4MDIsMHg4OCwweDQwLDB4MjIsMHhkMCwweDA4LDB4YjksMHg0MiwweGVjLDB4MDQsMHhiYiwweDAwIH0gfSwKLXsgIDE2LCAweGQyMDAsIDAsIHsweDJjLDB4ZDQsMHgwZCwweGIwLDB4MDIsMHhlZCwweDIwLDB4YmIsMHhkMCwweDJlLDB4YzAsMHgwYiwweGIwLDB4MDIsMHhhMCwweDQwIH0gfSwKLXsgIDE2LCAweGQyMTAsIDAsIHsweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MjQsMHgwMCwweGFiLDB4ODAsMHgyZSwweGYwIH0gfSwKLXsgIDE2LCAweGQyMjAsIDAsIHsweDI5LDB4YTAsMHg4MiwweDZkLDB4MDAsMHg4OCwweDA4LDB4MjIsMHgwNCwweDA4LDB4OTAsMHg0MiwweGVjLDB4MDAsMHhiYiwweDAwIH0gfSwKLXsgIDE2LCAweGQyMzAsIDAsIHsweDJhLDB4ODEsMHgwOCwweGIwLDB4MDIsMHhlNCwweDA5LDB4YmEsMHgwNCwweDJlLDB4YzEsMHg0YiwweDk4LDB4ODIsMHgyMCwweDAwIH0gfSwKLXsgIDE2LCAweGQyNDAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA0LDB4MDQsMHgwMCwweDgzLDB4MDAsMHgyYywweGMwIH0gfSwKLXsgIDE2LCAweGQyNTAsIDAsIHsweDBhLDB4MjEsMHgwMiwweDg0LDB4MTAsMHg4MiwweDAwLDB4ZTAsMHgwMCwweDE4LDB4MGEsMHgxMiwweGNjLDB4MDAsMHhiMywweDAwIH0gfSwKLXsgIDE2LCAweGQyNjAsIDAsIHsweDBjLDB4YzAsMHgwOSwweDMwLDB4MDIsMHhjYywweDkwLDB4YjAsMHgwMCwweDJjLDB4YzAsMHgwYiwweDEwLDB4MDIsMHg4MiwweDAxIH0gfSwKLXsgIDE2LCAweGQyNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4NjQsMHgwMCwweGViLDB4MDAsMHgzZSwweDAwIH0gfSwKLXsgIDE2LCAweGQyODAsIDAsIHsweDJjLDB4YjQsMHgwMywweDY0LDB4MDgsMHg4OCwweDAwLDB4YjIsMHgwMCwweDBjLDB4YjIsMHg0MywweGZjLDB4MDAsMHhmYiwweDAwIH0gfSwKLXsgIDE2LCAweGQyOTAsIDAsIHsweDU2LDB4MDAsMHgwYywweGYwLDB4MDEsMHhlNCwweDAwLDB4ZmIsMHgwMCwweDNmLDB4YzAsMHgwZiwweDgwLDB4MGIsMHgwMCwweDAzIH0gfSwKLXsgIDE2LCAweGQyYTAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDFkLDB4ZjQsMHgwMCwweGZmLDB4MDAsMHgzZiwweDQwIH0gfSwKLXsgIDE2LCAweGQyYjAsIDAsIHsweDJkLDB4ZjAsMHg2MSwweGYwLDB4MDAsMHhmNCwweDAwLDB4MjcsMHgwMSwweDBkLDB4YjEsMHgxMSwweGZjLDB4MDAsMHhmZiwweDAyIH0gfSwKLXsgIDE2LCAweGQyYzAsIDAsIHsweDA3LDB4YzAsMHgwZiwweGYwLDB4MDMsMHhlYywweDQwLDB4ZmYsMHgwMCwweDNmLDB4YzAsMHgwZiwweGMwLDB4MDMsMHg2OCwweDA2IH0gfSwKLXsgIDE2LCAweGQyZDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZjYsMHgwMCwweGVmLDB4OTAsMHgzZCwweDRjIH0gfSwKLXsgIDE2LCAweGQyZTAsIDAsIHsweDJjLDB4YzAsMHgxMywweGY0LDB4MDgsMHhmZCwweDIwLDB4MzcsMHg0YywweDhlLDB4ODIsMHg4MywweDc0LDB4ODQsMHhkYywweGMyIH0gfSwKLXsgIDE2LCAweGQyZjAsIDAsIHsweDNmLDB4ZDgsMHgwZCwweGYyLDB4MDMsMHhlYywweGMwLDB4ZmYsMHg4MSwweDNmLDB4MDAsMHgwYywweGY4LDB4MDMsMHhmMCwweDAwIH0gfSwKLXsgIDE2LCAweGQzMDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDEwLDB4ZTYsMHgwMCwweDhiLDB4MjQsMHgyZSwweDVjIH0gfSwKLXsgIDE2LCAweGQzMTAsIDAsIHsweDA4LDB4OGQsMHgwMiwweGZmLDB4NDgsMHhiOSwweDkwLDB4MmYsMHg1NCwweDBiLDB4ODQsMHg4MiwweDNlLDB4NDAsMHhhMCwweDgwIH0gfSwKLXsgIDE2LCAweGQzMjAsIDAsIHsweDJlLDB4YzQsMHgwYSwweGZjLDB4NDIsMHhlZCwweDgwLDB4YjksMHg4MCwweDJlLDB4NjAsMHgwYSwweDk4LDB4MTIsMHhlMCwweDA0IH0gfSwKLXsgIDE2LCAweGQzMzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4ZTQsMHgwMSwweGEzLDB4MDAsMHgyOCwweDQ4IH0gfSwKLXsgIDE2LCAweGQzNDAsIDAsIHsweDBhLDB4MDAsMHg0MiwweGM0LDB4MDAsMHhiMSwweDAwLDB4MmMsMHg0OSwweDBiLDB4MGEsMHg0MiwweDA0LDB4YTIsMHg5MSwweDIxIH0gfSwKLXsgIDE2LCAweGQzNTAsIDAsIHsweDJjLDB4YzksMHgwOCwweDMxLDB4MDIsMHg4YywweGMxLDB4YTMsMHgwMCwweDJjLDB4NDAsMHgwOCwweDE4LDB4MDIsMHhhMiwweDAxIH0gfSwKLXsgIDE2LCAweGQzNjAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDE1LDB4YTAsMHgyMCwweDhiLDB4ODIsMHgyZSwweDQ0IH0gfSwKLXsgIDE2LCAweGQzNzAsIDAsIHsweDU4LDB4ODAsMHgwMiwweGU0LDB4MDAsMHhiYiwweDEwLDB4MmUsMHg0MCwweDBiLDB4YTEsMHgxMiwweDBjLDB4MDEsMHg4OSwweDEwIH0gfSwKLXsgIDE2LCAweGQzODAsIDAsIHsweDJlLDB4YzAsMHgwYSwweGIwLDB4MDIsMHhlYywweDAxLDB4YjgsMHg4MCwweDJlLDB4ZTIsMHgwYSwweGExLDB4MDIsMHhmMCwweDA0IH0gfSwKLXsgIDE2LCAweGQzOTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDE1LDB4ZWIsMHg0MCwweGViLDB4NDAsMHgzZSwweDYwIH0gfSwKLXsgIDE2LCAweGQzYTAsIDAsIHsweDBlLDB4ODcsMHgzMywweGU0LDB4MDAsMHhiOSwweGExLDB4MzYsMHhjMCwweDBlLDB4YTgsMHgwYiwweDI2LDB4MDAsMHhkYSwweGMwIH0gfSwKLXsgIDE2LCAweGQzYjAsIDAsIHsweDNlLDB4YzAsMHg4ZCwweGIwLDB4MDMsMHhlYywweDAwLDB4ZmIsMHg4NSwweDNlLDB4ZTEsMHgwOCwweGI4LDB4MDMsMHg5MCwweDA1IH0gfSwKLXsgIDE2LCAweGQzYzAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDAxLDB4YjgsMHgwMCwweGZmLDB4MDIsMHgyZiwweDYwIH0gfSwKLXsgIDE2LCAweGQzZDAsIDAsIHsweDAzLDB4ZTgsMHg4MywweGZjLDB4MTAsMHhmZCwweDgwLDB4MWYsMHg0MCwweDFmLDB4ZDAsMHgxMywweGJlLDB4NDAsMHhlZSwweDA0IH0gfSwKLXsgIDE2LCAweGQzZTAsIDAsIHsweDNmLDB4YzAsMHgwZiwweGYwLDB4NDMsMHhmYywweDA4LDB4ZmQsMHgwMCwweDNjLDB4YzAsMHgwZiwweGQwLDB4MTEsMHhmOCwweDAwIH0gfSwKLXsgIDE2LCAweGQzZjAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YTQsMHgwMCwweGRiLDB4MDAsMHhiMiwweDQwIH0gfSwKLXsgIDE2LCAweGQ0MDAsIDAsIHsweDBlLDB4OTQsMHgwMywweDI0LDB4MDAsMHhkOSwweDAwLDB4YmEsMHhjMCwweDBjLDB4MjAsMHgwMywweGU0LDB4OTAsMHhmYiwweDAwIH0gfSwKLXsgIDE2LCAweGQ0MTAsIDAsIHsweDNhLDB4YzAsMHgwYywweGIwLDB4MDMsMHhlYywweDAxLDB4ZmEsMHgwMCwweDNlLDB4ZDAsMHgyYywweDk4LDB4MDMsMHg5MCwweDA0IH0gfSwKLXsgIDE2LCAweGQ0MjAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjOCwweDA1LDB4MDMsMHgwMCwweDhiLDB4MDAsMHgyMiwweDQ4IH0gfSwKLXsgIDE2LCAweGQ0MzAsIDAsIHsweDA4LDB4ODQsMHgyMiwweDJjLDB4MDAsMHhiOSwweDAwLDB4MjIsMHhjMCwweDA4LDB4YTAsMHgwMiwweGVkLDB4MDAsMHg4YiwweGEwIH0gfSwKLXsgIDE2LCAweGQ0NDAsIDAsIHsweDIxLDB4YzAsMHgwOCwweGYwLDB4MDIsMHhmYywweDAwLDB4YjksMHg4MCwweDJlLDB4YzAsMHgwOCwweGEwLDB4MDIsMHgzMiwweDAwIH0gfSwKLXsgIDE2LCAweGQ0NTAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NDUsMHgyMCwweDkzLDB4MDAsMHgyMiwweGY4IH0gfSwKLXsgIDE2LCAweGQ0NjAsIDAsIHsweDBiLDB4MzAsMHgwYSwweDg0LDB4NDAsMHhiMiwweDAwLDB4MjAsMHg0MCwweDA4LDB4MTAsMHgwMiwweGM0LDB4MDAsMHg4MCwweDgwIH0gfSwKLXsgIDE2LCAweGQ0NzAsIDAsIHsweDI4LDB4YzAsMHgyOCwweDM5LDB4MDIsMHg0YywweDAwLDB4YjEsMHgwMCwweDJjLDB4YzAsMHgwOCwweDMwLDB4MDIsMHhiOCwweDAwIH0gfSwKLXsgIDE2LCAweGQ0ODAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMCwweDAxLDB4MzYsMHgwMCwweDlmLDB4ODAsMHgyMSwweDYwIH0gfSwKLXsgIDE2LCAweGQ0OTAsIDAsIHsweDA5LDB4MzgsMHgwMiwweDllLDB4MDAsMHhiMiwweGMwLDB4MjAsMHg2MCwweDQ4LDB4NDgsMHgxMiwweGQ2LDB4YzYsMHg4NiwweGQwIH0gfSwKLXsgIDE2LCAweGQ0YTAsIDAsIHsweDIxLDB4ZTAsMHgwOCwweDc4LDB4MDAsMHhkZSwweDgwLDB4YjcsMHg4MiwweDJkLDB4ZTAsMHgwOCwweGY4LDB4MDIsMHgwOCwweDAwIH0gfSwKLXsgIDE2LCAweGQ0YjAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MGMsMHgyMCwweGQzLDB4MTAsMHgzMCwweGM4IH0gfSwKLXsgIDE2LCAweGQ0YzAsIDAsIHsweDBmLDB4MzAsMHgwMywweDg0LDB4MDAsMHhmMSwweDAwLDB4MzAsMHg0MCwweDI0LDB4MTksMHgwMywweGU0LDB4YzAsMHhlMCwweDQwIH0gfSwKLXsgIDE2LCAweGQ0ZDAsIDAsIHsweDNhLDB4YzAsMHgwYywweDMyLDB4MDMsMHhjZSwweDgwLDB4YjEsMHgyOCwweDNjLDB4YzAsMHgwYywweDMwLDB4MTMsMHg5MiwweDAyIH0gfSwKLXsgIDE2LCAweGQ0ZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDFkLDB4OWMsMHgwMCwweGU2LDB4MDAsMHg3ZiwweGMwIH0gfSwKLXsgIDE2LCAweGQ0ZjAsIDAsIHsweDBlLDB4ZjAsMHgyMywweDc0LDB4NDAsMHhmZiwweDEwLDB4M2YsMHg0MCwweDRmLDB4ZDAsMHgwMywweGZjLDB4ZDIsMHhjZSwweDA0IH0gfSwKLXsgIDE2LCAweGQ1MDAsIDAsIHsweDNmLDB4YzAsMHgwZiwweGY0LDB4MDMsMHhmYywweDAwLDB4ZmUsMHgwMCwweDNmLDB4YzAsMHgwZiwweDcxLDB4MDMsMHhkMCwweDEyIH0gfSwKLXsgIDE2LCAweGQ1MTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZWUsMHgwMCwweGNiLDB4MDAsMHgxNiwweGMwIH0gfSwKLXsgIDE2LCAweGQ1MjAsIDAsIHsweDBkLDB4ODAsMHgwMywweDI3LDB4MjAsMHhjYiwweDAwLDB4M2UsMHhjMiwweDBhLDB4YjAsMHg1MywweGU0LDB4MjgsMHhjMSwweDgxIH0gfSwKLXsgIDE2LCAweGQ1MzAsIDAsIHsweDMyLDB4YzEsMHgwZSwweGI5LDB4MDMsMHgyYywweDAwLDB4ZjEsMHg4MCwweDM1LDB4ZTAsMHgwYywweGI4LDB4MDMsMHgyYSwweDA0IH0gfSwKLXsgIDE2LCAweGQ1NDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDExLDB4OWMsMHgwMiwweDg3LDB4MTAsMHgyZCwweDQwIH0gfSwKLXsgIDE2LCAweGQ1NTAsIDAsIHsweDA4LDB4NzAsMHgwMywweDVjLDB4MDAsMHhhNywweDAwLDB4MmQsMHg0MCwweDI4LDB4NzAsMHgwMiwweGQ0LDB4MDQsMHg4NywweDA0IH0gfSwKLXsgIDE2LCAweGQ1NjAsIDAsIHsweGExLDB4ZDAsMHgwYiwweDcyLDB4MDIsMHgxZCwweDAwLDB4ZjcsMHgwMCwweDIxLDB4YzAsMHgwZCwweDUwLDB4MDIsMHgxMiwweDA0IH0gfSwKLXsgIDE2LCAweGQ1NzAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4OWUsMHgwMCwweDg1LDB4ODAsMHgyNSwweGUwIH0gfSwKLXsgIDE2LCAweGQ1ODAsIDAsIHsweDA5LDB4NzgsMHgwMiwweDM3LDB4MDMsMHg4NywweDgwLDB4MmYsMHhlMCwweDA4LDB4NzgsMHgxMiwweGM2LDB4MTAsMHg4ZCwweDgwIH0gfSwKLXsgIDE2LCAweGQ1OTAsIDAsIHsweDI1LDB4ZTgsMHgwYiwweDM4LDB4MDIsMHgxZSwweDgwLDB4YmMsMHg4NCwweDI1LDB4ZTAsMHgwOCwweDU4LDB4MDIsMHg3MCwweDAwIH0gfSwKLXsgIDE2LCAweGQ1YTAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDE0LDB4Y2QsMHg4MCwweDgzLDB4ODgsMHgyYywweGMwIH0gfSwKLXsgIDE2LCAweGQ1YjAsIDAsIHsweDA4LDB4M2MsMHgwMiwweDRlLDB4MDEsMHhhMywweGQyLDB4MmUsMHhjNCwweDA4LDB4YjEsMHgwMiwweGNjLDB4MDAsMHg4MywweDgwIH0gfSwKLXsgIDE2LCAweGQ1YzAsIDAsIHsweDI0LDB4YzEsMHgwYiwweDMwLDB4MDIsMHgwYywweDAwLDB4YjMsMHg0MCwweGEwLDB4ZDIsMHgwOSwweDMwLDB4MTIsMHg1MiwweDAwIH0gfSwKLXsgIDE2LCAweGQ1ZDAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YmEsMHgwMCwweGNhLDB4YzAsMHgzNiwweDgwIH0gfSwKLXsgIDE2LCAweGQ1ZTAsIDAsIHsweDBkLDB4NjcsMHgxMywweDI4LDB4MDAsMHhjZSwweDAwLDB4M2UsMHhhMCwweDBjLDB4ZWQsMHgwMywweGU4LDB4MDAsMHhjZSwweGUwIH0gfSwKLXsgIDE2LCAweGQ1ZjAsIDAsIHsweDM2LDB4ODAsMHgxZSwweGEwLDB4MGIsMHgyOCwweDA0LDB4ZmUsMHgwMCwweGI3LDB4YjIsMHgwYywweGUwLDB4MGIsMHg3YSwweDAwIH0gfSwKLXsgIDE2LCAweGQ2MDAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDAwLDB4ZTAsMHg0MCwweGY4LDB4MTAsMHgyZSwweDEwIH0gfSwKLXsgIDE2LCAweGQ2MTAsIDAsIHsweDBmLDB4ODAsMHgwMywweGUwLDB4MDEsMHhkOCwweDBhLDB4M2UsMHgwMCwweDBmLDB4ODAsMHgwMywweGMwLDB4MDIsMHhmOCwweDA4IH0gfSwKLXsgIDE2LCAweGQ2MjAsIDAsIHsweDNhLDB4MDAsMHgwZiwweDgwLDB4MDMsMHhlMCwweDEwLDB4ZTgsMHgyMCwweGJlLDB4MDAsMHgwZiwweDgwLDB4MTMsMHg5MiwweDAwIH0gfSwKLXsgIDE2LCAweGQ2MzAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTUsMHgwMCwweGZiLDB4MDAsMHgzZSwweDQwIH0gfSwKLXsgIDE2LCAweGQ2NDAsIDAsIHsweDBjLDB4OTEsMHgwMywweDI2LDB4MDAsMHg2MSwweDgwLDB4MzIsMHg0MCwweDBjLDB4OTAsMHgwMywweDI0LDB4MDAsMHhjOSwweDAwIH0gfSwKLXsgIDE2LCAweGQ2NTAsIDAsIHsweDFlLDB4NDAsMHgwYywweDljLDB4MDMsMHhlNCwweDAxLDB4ZjksMHgwMCwweDNlLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhjMiwweDAwIH0gfSwKLXsgIDE2LCAweGQ2NjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA0LDB4NjcsMHgwMCwweGI5LDB4MDAsMHgyYywweDQwIH0gfSwKLXsgIDE2LCAweGQ2NzAsIDAsIHsweDAwLDB4OWMsMHgwMiwweGE2LDB4MDAsMHg3OSwweDAwLDB4MjIsMHg0MCwweDI4LDB4OTAsMHgwMiwweDI0LDB4MDAsMHg4OSwweDAwIH0gfSwKLXsgIDE2LCAweGQ2ODAsIDAsIHsweDJjLDB4NDQsMHgwOCwweDk4LDB4MDIsMHhlNCwweDAwLDB4YjksMHg4MCwweDJlLDB4NDAsMHgwYiwweDkwLDB4MDIsMHhlMCwweDAxIH0gfSwKLXsgIDE2LCAweGQ2OTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDAxLDB4MjQsMHgwMCwweGJiLDB4MDAsMHgyNiwweDUwIH0gfSwKLXsgIDE2LCAweGQ2YTAsIDAsIHsweDI4LDB4OTAsMHg4MiwweDI0LDB4ODQsMHg5OSwweDIwLDB4MjIsMHg0MCwweDQ5LDB4OTAsMHgwMiwweDI0LDB4MDAsMHg4OSwweDAwIH0gfSwKLXsgIDE2LCAweGQ2YjAsIDAsIHsweDJlLDB4NDAsMHgwOCwweDkwLDB4MDIsMHhlNCwweDAwLDB4YjksMHg2MCwweDJlLDB4NDAsMHgwYiwweDkwLDB4MDIsMHhjNiwweDA0IH0gfSwKLXsgIDE2LCAweGQ2YzAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA0LDB4MDYsMHgwMCwweGIxLDB4MDAsMHgyZSwweDQ4IH0gfSwKLXsgIDE2LCAweGQ2ZDAsIDAsIHsweDA4LDB4MTIsMHgwMiwweDg0LDB4ODAsMHhiMSwweDIwLDB4YTAsMHg0OCwweDA5LDB4MTIsMHgwYSwweDA0LDB4ODAsMHg4MSwweDAwIH0gfSwKLXsgIDE2LCAweGQ2ZTAsIDAsIHsweDJjLDB4NDgsMHgyOCwweDEyLDB4NDIsMHhjNCwweDg4LDB4MzEsMHgwMCwweDJjLDB4NDAsMHgwYiwweDE4LDB4MDIsMHhjMiwweDAxIH0gfSwKLXsgIDE2LCAweGQ2ZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjAsMHgwMCwweGY4LDB4NTAsMHgzNiwweDE0IH0gfSwKLXsgIDE2LCAweGQ3MDAsIDAsIHsweDBjLDB4ODAsMHgwMywweDIwLDB4MDAsMHhlOCwweDAwLDB4MzIsMHgxNCwweDBjLDB4ODUsMHgwMywweDIxLDB4NDAsMHhjOCwweDUwIH0gfSwKLXsgIDE2LCAweGQ3MTAsIDAsIHsweDNlLDB4MTQsMHgwYywweDgwLDB4MDMsMHhlMSwweDQwLDB4MzgsMHgwMCwweDNlLDB4MDAsMHg4ZiwweDgwLDB4MDMsMHhlZSwweDAzIH0gfSwKLXsgIDE2LCAweGQ3MjAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5OCwweDFkLDB4ZDQsMHgwMCwweGZiLDB4MDQsMHgzZCwweDQ0IH0gfSwKLXsgIDE2LCAweGQ3MzAsIDAsIHsweDBmLDB4NTEsMHgyMywweGQ0LDB4NDgsMHhlZCwweDEwLDB4M2QsMHg0NCwweDRlLDB4ZDEsMHgyMywweGY0LDB4NDIsMHhmZCwweDAwIH0gfSwKLXsgIDE2LCAweGQ3NDAsIDAsIHsweDNlLDB4NDQsMHg4ZiwweDkxLDB4MDMsMHhlNCwweDU4LDB4ZmQsMHgwMCwweDNmLDB4NTAsMHgwZiwweDUwLDB4MDMsMHhlNiwweDA2IH0gfSwKLXsgIDE2LCAweGQ3NTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4ZjQsMHgwMCwweGY5LDB4MDAsMHgzZCwweDQwIH0gfSwKLXsgIDE2LCAweGQ3NjAsIDAsIHsweDBjLDB4ZDAsMHgwMywweGY0LDB4MDAsMHhkZCwweDAyLDB4M2UsMHg0MCwweDBjLDB4OTAsMHgwMywweGU0LDB4NDAsMHhjOSwweDEwIH0gfSwKLXsgIDE2LCAweGQ3NzAsIDAsIHsweDM3LDB4NDAsMHgwNywweGQwLDB4MDcsMHgyNCwweDAwLDB4ZTUsMHgwMCwweDJmLDB4NmEsMHgwZiwweDcwLDB4MDMsMHgwNiwweDAwIH0gfSwKLXsgIDE2LCAweGQ3ODAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzOCwweDEwLDB4ZTAsMHgwMCwweGI4LDB4MDAsMHgzYSwweDAwIH0gfSwKLXsgIDE2LCAweGQ3OTAsIDAsIHsweDgwLDB4ODAsMHgwMiwweGUwLDB4MDAsMHg4OCwweDAwLDB4MmUsMHgwMCwweDBhLDB4ODAsMHg1MywweGEyLDB4ODAsMHgyYywweGEwIH0gfSwKLXsgIDE2LCAweGQ3YTAsIDAsIHsweDIyLDB4MDAsMHgwYiwweDgwLDB4MGEsMHgyMCwweDAwLDB4YjgsMHgwMCwweDJlLDB4MTAsMHgwOSwweDgwLDB4MDMsMHgwZSwweDA0IH0gfSwKLXsgIDE2LCAweGQ3YjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4YzQsMHgwMCwweGIxLDB4MDAsMHg2YywweDQwIH0gfSwKLXsgIDE2LCAweGQ3YzAsIDAsIHsweDJhLDB4MTAsMHgwMiwweDg0LDB4MDEsMHg4MSwweDgwLDB4MmUsMHg0MCwweDA5LDB4MTAsMHgwMiwweGY0LDB4MDAsMHg4ZCwweDA0IH0gfSwKLXsgIDE2LCAweGQ3ZDAsIDAsIHsweDIwLDB4NDAsMHgwYiwweDEwLDB4MDIsMHg4NCwweDAwLDB4YjEsMHgwMCwweDJjLDB4NDAsMHgwYiwweDk4LDB4MDIsMHg0MiwweDAxIH0gfSwKLXsgIDE2LCAweGQ3ZTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDExLDB4YTQsMHgyMCwweGI5LDB4MDAsMHgyYSwweDQwIH0gfSwKLXsgIDE2LCAweGQ3ZjAsIDAsIHsweDg4LDB4YjQsMHgwMiwweGU2LDB4MDEsMHhhOSwweDIwLDB4MmUsMHg0OCwweDBhLDB4OTAsMHgwMCwweGE0LDB4NDAsMHhhZCwweDQwIH0gfSwKLXsgIDE2LCAweGQ4MDAsIDAsIHsweDIyLDB4NDAsMHgwYiwweDkwLDB4MTIsMHhhNCwweDA0LDB4YjksMHgwMSwweDJlLDB4NDEsMHgwYiwweDkwLDB4MDIsMHgwNiwweDA0IH0gfSwKLXsgIDE2LCAweGQ4MTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4ZTQsMHgwMCwweGY5LDB4YzAsMHgzZSwweDYwIH0gfSwKLXsgIDE2LCAweGQ4MjAsIDAsIHsweDBjLDB4OTQsMHgxMywweGE2LDB4MDIsMHhkOSwweDQyLDB4MWMsMHg2MCwweDBjLDB4OWUsMHgwMSwweGM2LDB4MDQsMHhjMSwweDAwIH0gfSwKLXsgIDE2LCAweGQ4MzAsIDAsIHsweGIyLDB4NDAsMHgxZiwweDkwLDB4MDIsMHhhNCwweDAwLDB4ZTksMHgwOCwweDNlLDB4NjgsMHg0ZiwweDk4LDB4MGIsMHg2OCwweDA0IH0gfSwKLXsgIDE2LCAweGQ4NDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDAxLDB4YTYsMHg0MCwweGY5LDB4MjAsMHgzOCwweDcwIH0gfSwKLXsgIDE2LCAweGQ4NTAsIDAsIHsweDBmLDB4OTEsMHgwMywweGU0LDB4MDAsMHhkOSwweDgwLDB4M2UsMHg0MCwweDBmLDB4OWMsMHgxMywweGE0LDB4MDAsMHhmOSwweDAwIH0gfSwKLXsgIDE2LCAweGQ4NjAsIDAsIHsweDNlLDB4NDAsMHgwZiwweDEwLDB4MDMsMHg2NCwweDEwLDB4ZjksMHgwYSwweDNlLDB4NTAsMHgwZCwweDlhLDB4MDMsMHhjYSwweDAwIH0gfSwKLXsgIDE2LCAweGQ4NzAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTEsMHgwMCwweGQ4LDB4MDQsMHgzZSwweDAwIH0gfSwKLXsgIDE2LCAweGQ4ODAsIDAsIHsweDBjLDB4ODEsMHgxMywweGMwLDB4MDIsMHhkOCwweDIwLDB4M2UsMHgwMCwweDJkLDB4ODQsMHgwMywweGUwLDB4MDAsMHhjYywweDA4IH0gfSwKLXsgIDE2LCAweGQ4OTAsIDAsIHsweDNhLDB4MDAsMHgwZiwweDgwLDB4NDMsMHhlMCwweDAwLDB4ZjgsMHg0MSwweDMyLDB4MDAsMHgwNywweDgxLDB4OGIsMHgwYSwweDA0IH0gfSwKLXsgIDE2LCAweGQ4YTAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4M2EsMHg2MCwweDhhLDB4MDAsMHgyZiwweGE4IH0gfSwKLXsgIDE2LCAweGQ4YjAsIDAsIHsweDBhLDB4ZTAsMHgyMiwweGU4LDB4MDIsMHg3ZSwweDQ4LDB4MmUsMHg4MCwweDA4LDB4YTAsMHg0MiwweGU4LDB4MDQsMHg4ZSwweDAwIH0gfSwKLXsgIDE2LCAweGQ4YzAsIDAsIHsweDIzLDB4YTgsMHgwYiwweGE4LDB4ODIsMHhlOCwweDAwLDB4ZWUsMHgwMCwweGEyLDB4ODAsMHg0YiwweDYwLDB4MDIsMHgwYSwweDAwIH0gfSwKLXsgIDE2LCAweGQ4ZDAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NGMsMHgwMCwweDkzLDB4MDAsMHg2YywweGMwIH0gfSwKLXsgIDE2LCAweGQ4ZTAsIDAsIHsweDA4LDB4MzAsMHgwMiwweGNjLDB4MDAsMHgxMywweDgxLDB4MmMsMHhjMCwweDA4LDB4MzAsMHgwMiwweGNlLDB4NDAsMHg4MiwweDQwIH0gfSwKLXsgIDE2LCAweGQ4ZjAsIDAsIHsweDI4LDB4ZTAsMHgwYiwweDM4LDB4MDIsMHhjYywweDAwLDB4YjMsMHgxMCwweDI0LDB4YzAsMHg4YiwweDM4LDB4MDIsMHgwYSwweDAwIH0gfSwKLXsgIDE2LCAweGQ5MDAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDAxLDB4MWUsMHgwMCwweDg3LDB4MjAsMHgyZiwweGMwIH0gfSwKLXsgIDE2LCAweGQ5MTAsIDAsIHsweDBhLDB4NzAsMHgwMiwweGRjLDB4MGEsMHhiNiwweDAwLDB4MmMsMHhjOCwweDg4LDB4NzIsMHgwNiwweGQ4LDB4MDAsMHg4NiwweDAwIH0gfSwKLXsgIDE2LCAweGQ5MjAsIDAsIHsweDIxLDB4YzAsMHgwYiwweDcwLDB4MDIsMHhkYywweDg0LDB4YWYsMHg4MCwweGE1LDB4YzAsMHgwYiwweGQwLDB4MDIsMHgyOCwweDAwIH0gfSwKLXsgIDE2LCAweGQ5MzAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MWUsMHgwMCwweGQ3LDB4ODAsMHgzZCwweGEwIH0gfSwKLXsgIDE2LCAweGQ5NDAsIDAsIHsweDFjLDB4NzgsMHgxMywweGQ2LDB4MDIsMHhkNywweDgwLDB4M2QsMHhlYywweDA4LDB4N2UsMHgyMywweGZlLDB4MDAsMHhjZSwweDgwIH0gfSwKLXsgIDE2LCAweGQ5NTAsIDAsIHsweDM5LDB4NjAsMHgwZiwweDc4LDB4MDMsMHhkZiwweDAwLDB4ZjYsMHg4MCwweDc1LDB4ZTAsMHgwZiwweDc4LDB4MDMsMHgyYSwweDAyIH0gfSwKLXsgIDE2LCAweGQ5NjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDFkLDB4OGMsMHgwMCwweGZiLDB4MTAsMHgzZSwweDgwIH0gfSwKLXsgIDE2LCAweGQ5NzAsIDAsIHsweDFmLDB4YTAsMHgyMSwweGNjLDB4MDAsMHhmYSwweDAwLDB4M2UsMHhjMCwweDBlLDB4YjAsMHgwMywweGU4LDB4MDIsMHhmYSwweDAwIH0gfSwKLXsgIDE2LCAweGQ5ODAsIDAsIHsweDNlLDB4NDAsMHgwZiwweGIwLDB4MTMsMHhlYywweDAwLDB4ZWEsMHgwMSwweDNhLDB4YzAsMHgwZiwweDkwLDB4MDMsMHhjMiwweDA2IH0gfSwKLXsgIDE2LCAweGQ5OTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZmMsMHgwMCwweGZmLDB4ODAsMHgzZiwweDYwIH0gfSwKLXsgIDE2LCAweGQ5YTAsIDAsIHsweDA4LDB4OTksMHgwNywweDdlLDB4MDAsMHhkZCwweDgwLDB4M2YsMHhlMiwweDBjLDB4ZjgsMHgwMywweGY2LDB4MDIsMHhkZiwweDgwIH0gfSwKLXsgIDE2LCAweGQ5YjAsIDAsIHsweGIzLDB4ZTAsMHgwYywweGY4LDB4MDMsMHgzZSwweDQxLDB4Y2MsMHg4MCwweDMzLDB4ZTQsMHgwZiwweGY4LDB4MDMsMHhjMCwweDAwIH0gfSwKLXsgIDE2LCAweGQ5YzAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDExLDB4OWMsMHg0MCwweGI3LDB4MDAsMHgyZCwweGMwIH0gfSwKLXsgIDE2LCAweGQ5ZDAsIDAsIHsweDBkLDB4NWEsMHgyMiwweGRjLDB4ODAsMHg3NSwweDAwLDB4MmQsMHhjMCwweDA4LDB4NzEsMHgwMiwweGYwLDB4MjAsMHg4NywweDAwIH0gfSwKLXsgIDE2LCAweGQ5ZTAsIDAsIHsweDIxLDB4YzAsMHgwYSwweDcwLDB4MDIsMHgxYywweDAwLDB4ZDQsMHgyOCwweDIxLDB4YzAsMHgwYiwweDcyLDB4MDIsMHhlYSwweDA0IH0gfSwKLXsgIDE2LCAweGQ5ZjAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OWMsMHg0MCwweGI3LDB4MDAsMHgyZCwweDAwIH0gfSwKLXsgIDE2LCAweGRhMDAsIDAsIHsweDA4LDB4NzIsMHgyMiwweGY0LDB4MDAsMHg4NywweDAwLDB4MmQsMHhjMiwweDA4LDB4NzAsMHgwMiwweGQ0LDB4MDAsMHg4NywweDgwIH0gfSwKLXsgIDE2LCAweGRhMTAsIDAsIHsweDI1LDB4NDAsMHgwOSwweDMwLDB4MDIsMHg1YywweDAxLDB4YWQsMHgwMCwweDI5LDB4ZDAsMHg0YiwweDcwLDB4MDIsMHhjMCwweDAwIH0gfSwKLXsgIDE2LCAweGRhMjAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMCwweDE0LDB4Y2MsMHgwMCwweGJiLDB4YzgsMHgyYywweGEwIH0gfSwKLXsgIDE2LCAweGRhMzAsIDAsIHsweDA5LDB4MjAsMHgwMiwweGNlLDB4MDAsMHhhMywweDAwLDB4MmMsMHhlMCwweGE4LDB4M2QsMHg0MiwweGMyLDB4MDAsMHg4YiwweDgwIH0gfSwKLXsgIDE2LCAweGRhNDAsIDAsIHsweDI0LDB4NDAsMHgwYiwweDMwLDB4MGEsMHg2YywweDA4LDB4YTMsMHg0MCwweGE4LDB4ZTAsMHgwYiwweDM0LDB4MDIsMHhjOCwweDA0IH0gfSwKLXsgIDE2LCAweGRhNTAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YWQsMHgwMCwweGZmLDB4NDgsMHgzYywweDI4IH0gfSwKLXsgIDE2LCAweGRhNjAsIDAsIHsweDBjLDB4YTksMHgyMywweDZjLDB4ODAsMHg4YiwweDAwLDB4M2YsMHhjMCwweDBjLDB4ZmMsMHgwMywweGVjLDB4MDAsMHhkOCwweDgwIH0gfSwKLXsgIDE2LCAweGRhNzAsIDAsIHsweDM0LDB4NDAsMHgwZCwweDMwLDB4MDMsMHg3YywweDAyLDB4YTMsMHg0MCwweDM4LDB4NjgsMHgwZiwweDI0LDB4MDMsMHhlYSwweDA0IH0gfSwKLXsgIDE2LCAweGRhODAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDAwLDB4ZWQsMHg4OCwweGZiLDB4MDAsMHgzZSwweDUwIH0gfSwKLXsgIDE2LCAweGRhOTAsIDAsIHsweDBmLDB4YTEsMHgwMywweGVjLDB4MDQsMHgzYSwweGMwLDB4M2UsMHhjMCwweDBmLDB4YjAsMHg4MywweGU4LDB4MDIsMHhmOCwweDEwIH0gfSwKLXsgIDE2LCAweGRhYTAsIDAsIHsweDNhLDB4NDEsMHgwZSwweDkwLDB4MDMsMHhhYywweDAwLDB4OWIsMHgwOCwweGI2LDB4NDAsMHgwZiwweDgxLDB4MDMsMHhlMCwweDAwIH0gfSwKLXsgIDE2LCAweGRhYjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZmMsMHgwMCwweGZmLDB4MDAsMHhiMywweDIwIH0gfSwKLXsgIDE2LCAweGRhYzAsIDAsIHsweDBjLDB4NTAsMHgxMywweDFjLDB4MDksMHhjZCwweDgzLDB4MzMsMHhjMCwweDgzLDB4NzAsMHgwMCwweDNjLDB4MDAsMHhkYywweDEwIH0gfSwKLXsgIDE2LCAweGRhZDAsIDAsIHsweDMyLDB4NjAsMHgwZSwweGYxLDB4NDMsMHgyYywweDAwLDB4Y2UsMHgwNCwweDNiLDB4NzAsMHgwYywweGYwLDB4ODMsMHgwMCwweDQ0IH0gfSwKLXsgIDE2LCAweGRhZTAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MSwweDA0LDB4NjcsMHg4MCwweGJiLDB4MDEsMHg2MiwweDIxIH0gfSwKLXsgIDE2LCAweGRhZjAsIDAsIHsweDhhLDB4ODksMHgyMCwweDJjLDB4MDAsMHg4MCwweGUwLDB4MjIsMHhjMCwweDBiLDB4YjAsMHgwMywweGQ4LDB4MTAsMHg4YywweDA0IH0gfSwKLXsgIDE2LCAweGRiMDAsIDAsIHsweDIyLDB4NDAsMHgwNSwweDkwLDB4MDIsMHhhYywweDAwLDB4ZDgsMHg4MCwweDM2LDB4NDAsMHgwYSwweDkwLDB4MDIsMHgyMCwweDQwIH0gfSwKLXsgIDE2LCAweGRiMTAsIDAsIHsweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MjYsMHgwMCwweGJiLDB4MDAsMHgyMiwweDA2IH0gfSwKLXsgIDE2LCAweGRiMjAsIDAsIHsweDA4LDB4ODAsMHgwMiwweDJlLDB4MDAsMHg4OCwweDIwLDB4MjIsMHhjMCwweDA5LDB4YjAsMHgwMiwweGE0LDB4MDAsMHg5OSwweDAwIH0gfSwKLXsgIDE2LCAweGRiMzAsIDAsIHsweDYyLDB4YzQsMHgwOCwweGIwLDB4MDYsMHgyYywweDAwLDB4ODgsMHg4MCwweDIyLDB4NDEsMHgwOCwweGEwLDB4MDIsMHgyMCwweDAwIH0gfSwKLXsgIDE2LCAweGRiNDAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA0LDB4MGMsMHgwMCwweGIzLDB4MDAsMHgyMCwweDQwIH0gfSwKLXsgIDE2LCAweGRiNTAsIDAsIHsweDBhLDB4MDAsMHg4MiwweDBjLDB4MDAsMHg4MCwweDAwLDB4MjAsMHhjMCwweDBiLDB4MzAsMHgyMiwweGEwLDB4MDAsMHg4MSwweDAwIH0gfSwKLXsgIDE2LCAweGRiNjAsIDAsIHsweGEwLDB4YzAsMHgwOSwweDMwLDB4MDIsMHg4YywweDAwLDB4OTAsMHgwMCwweDI0LDB4NDAsMHgwYSwweDI4LDB4MDIsMHgwMiwweDAxIH0gfSwKLXsgIDE2LCAweGRiNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4NjAsMHgwMCwweGZiLDB4MDIsMHgyMCwweDAwIH0gfSwKLXsgIDE2LCAweGRiODAsIDAsIHsweDJjLDB4OTIsMHgwMywweDJjLDB4MDIsMHg4OCwweDAwLDB4MzEsMHhjMCwweDBiLDB4YjUsMHgwMiwweGE0LDB4MDAsMHhkMSwweDA0IH0gfSwKLXsgIDE2LCAweGRiOTAsIDAsIHsweDMyLDB4NDAsMHgwZSwweDkwLDB4MDMsMHgyYywweDQwLDB4YzksMHgwMCwweDNhLDB4NDAsMHg4YywweGEwLDB4MDMsMHgwMCwweDAzIH0gfSwKLXsgIDE2LCAweGRiYTAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDFkLDB4ZjQsMHgwMCwweGZmLDB4MDAsMHgyZiwweDAwIH0gfSwKLXsgIDE2LCAweGRiYjAsIDAsIHsweDBmLDB4YzAsMHgwMywweGRjLDB4MDAsMHhmYywweDAwLDB4M2YsMHhjMSwweDBmLDB4ZjAsMHg0MywweGYwLDB4MDAsMHhmZCwweDAwIH0gfSwKLXsgIDE2LCAweGRiYzAsIDAsIHsweDNmLDB4NDAsMHg0ZiwweGQwLDB4MDMsMHhmYywweDAwLDB4ZjUsMHgwMCwweDNmLDB4NDAsMHgwZiwweGUwLDB4MDMsMHhlOCwweDA2IH0gfSwKLXsgIDE2LCAweGRiZDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZDgsMHg4MCwweGNjLDB4MDAsMHhiNywweDA0IH0gfSwKLXsgIDE2LCAweGRiZTAsIDAsIHsweDRlLDB4ZTEsMHgwMywweDNjLDB4MjAsMHhkZiwweDEwLDB4MzEsMHg4MCwweDA2LDB4ZjAsMHgwMywweDdmLDB4MDAsMHhmZiwweGMwIH0gfSwKLXsgIDE2LCAweGRiZjAsIDAsIHsweDNiLDB4YzAsMHgwZSwweGYyLDB4MDMsMHg1ZSwweDAwLDB4ZWYsMHgxMCwweDMzLDB4ZDAsMHgyYywweGYyLDB4MDMsMHgzMCwweDAwIH0gfSwKLXsgIDE2LCAweGRjMDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDEwLDB4ZTksMHgwMCwweDg4LDB4YzYsMHgyMCwweDVjIH0gfSwKLXsgIDE2LCAweGRjMTAsIDAsIHsweDA4LDB4YTQsMHg1NywweDY1LDB4MDAsMHg4ZiwweDUyLDB4MmEsMHhmMCwweDA5LDB4ZmMsMHgwMiwweDA0LDB4MDAsMHhiYiwweDAwIH0gfSwKLXsgIDE2LCAweGRjMjAsIDAsIHsweDJkLDB4ZDksMHgwOSwweDc0LDB4ODMsMHg2NCwweDI4LDB4ODMsMHg0NCwweDIyLDB4ODQsMHg4OCwweDA2LDB4ODIsMHgzMCwweDA0IH0gfSwKLXsgIDE2LCAweGRjMzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjOCwweDA1LDB4YzksMHgwMCwweDgwLDB4MTAsMHgyMCwweDA4IH0gfSwKLXsgIDE2LCAweGRjNDAsIDAsIHsweDA4LDB4MzEsMHgxMiwweDA0LDB4YjIsMHhhMywweDAwLDB4MjAsMHg4NCwweDFiLDB4MzQsMHgwMiwweDBjLDB4ODAsMHhiMywweDIwIH0gfSwKLXsgIDE2LCAweGRjNTAsIDAsIHsweDJjLDB4YzcsMHgwOSwweDM2LDB4MDIsMHg4YywweDgwLDB4OTMsMHg0MCwweGFjLDB4YzgsMHgwOCwweDMxLDB4MjgsMHgzMiwweDAxIH0gfSwKLXsgIDE2LCAweGRjNjAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDE1LDB4YTksMHgwMCwweDg4LDB4MDAsMHhhMiwweDUwIH0gfSwKLXsgIDE2LCAweGRjNzAsIDAsIHsweDA4LDB4MzUsMHgwMiwweDI0LDB4MDAsMHg4YiwweDA0LDB4MmUsMHhjMSwweDA5LDB4YjAsMHgwMiwweDI0LDB4OTQsMHhiYiwweDAwIH0gfSwKLXsgIDE2LCAweGRjODAsIDAsIHsweDJlLDB4YzAsMHgwYiwweGIwLDB4MDIsMHhjYywweDYwLDB4OGIsMHgwMCwweDJlLDB4ODAsMHgwOCwweDgwLDB4MDAsMHgzMCwweDA0IH0gfSwKLXsgIDE2LCAweGRjOTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE1LDB4ZTcsMHgwMiwweGNiLDB4MTgsMHhiMiwweDgwIH0gfSwKLXsgIDE2LCAweGRjYTAsIDAsIHsweDJjLDB4YWMsMHgwYSwweDJlLDB4MDgsMHhlYiwweDAwLDB4MzIsMHgxMiwweDRlLDB4YjAsMHgwMywweDJiLDB4ODAsMHhmYiwweDAwIH0gfSwKLXsgIDE2LCAweGRjYjAsIDAsIHsweDNhLDB4YzAsMHgwYSwweGIwLDB4MDMsMHhhYiwweDA4LDB4ZWIsMHgwNCwweDJlLDB4NDgsMHgwYywweGI4LDB4ODMsMHgwMCwweDA0IH0gfSwKLXsgIDE2LCAweGRjYzAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDAxLDB4YjYsMHg4MCwweGZmLDB4ODAsMHgzOSwweGNhIH0gfSwKLXsgIDE2LCAweGRjZDAsIDAsIHsweDBkLDB4ZTgsMHgwMywweGQ2LDB4NDAsMHhlNywweDA0LDB4M2IsMHg2NiwweDRlLDB4NzAsMHgwMywweGI4LDB4MDAsMHhmZiwweDAxIH0gfSwKLXsgIDE2LCAweGRjZTAsIDAsIHsweDNmLDB4YzAsMHg2YywweGYwLDB4MDMsMHg3MCwweDA2LDB4ZTcsMHgwMCwweDMxLDB4MDQsMHgwZiwweGMxLDB4NDMsMHhmOCwweDAwIH0gfSwKLXsgIDE2LCAweGRjZjAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4ODUsMHgwMCwweGNiLDB4NDAsMHgzMiwweDkwIH0gfSwKLXsgIDE2LCAweGRkMDAsIDAsIHsweDJmLDB4YjAsMHgwYiwweDY0LDB4ODAsMHhmYiwweDA4LDB4YmEsMHgxMCwweDBkLDB4YjAsMHhhNywweDJkLDB4MDAsMHhmYiwweDA0IH0gfSwKLXsgIDE2LCAweGRkMTAsIDAsIHsweDNlLDB4YzAsMHg4ZSwweGIwLDB4MDMsMHg2ZCwweDAwLDB4ZGIsMHgwMSwweDMyLDB4NDAsMHg4YywweDMzLDB4MDMsMHg5MCwweDA0IH0gfSwKLXsgIDE2LCAweGRkMjAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4MjQsMHgwMCwweDgzLDB4ZTAsMHhhMiwweGQwIH0gfSwKLXsgIDE2LCAweGRkMzAsIDAsIHsweDQwLDB4YjAsMHgwMiwweDI1LDB4MDQsMHhiZiwweDgwLDB4YTAsMHg1MCwweDA4LDB4ZjgsMHgwMiwweDIwLDB4MDAsMHg4YiwweDAyIH0gfSwKLXsgIDE2LCAweGRkNDAsIDAsIHsweDJmLDB4ZDAsMHgwOCwweGYwLDB4MDIsMHgyNCwweDAwLDB4OGYsMHg4MCwweDM2LDB4MDEsMHgwOCwweDg0LDB4NDIsMHgzNiwweDAwIH0gfSwKLXsgIDE2LCAweGRkNTAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDA1LDB4NDQsMHgwMCwweDgzLDB4NDgsMHgyMCwweGM0IH0gfSwKLXsgIDE2LCAweGRkNjAsIDAsIHsweDA5LDB4MDAsMHgwMiwweDQ2LDB4MDAsMHhiMywweDAxLDB4YTgsMHg5MCwweDE5LDB4MzAsMHgxMiwweDhjLDB4MDAsMHhhMywweDA0IH0gfSwKLXsgIDE2LCAweGRkNzAsIDAsIHsweDJlLDB4ZTIsMHgwYSwweGIwLDB4MDIsMHgwYywweDAwLDB4ODMsMHg0OSwweDI4LDB4YzAsMHgwOSwweDNjLDB4MDIsMHgzOCwweDAwIH0gfSwKLXsgIDE2LCAweGRkODAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhmMCwweDAxLDB4MzYsMHgwNCwweDgzLDB4ODAsMHgyMSwweGUxIH0gfSwKLXsgIDE2LCAweGRkOTAsIDAsIHsweDA4LDB4MzgsMHgxMiwweDFlLDB4MjgsMHhiMywweDk4LDB4MjEsMHhhMCwweDE5LDB4MzgsMHg4MiwweDk2LDB4MDAsMHg4NywweDgzIH0gfSwKLXsgIDE2LCAweGRkYTAsIDAsIHsweDJkLDB4ZTIsMHgwOCwweDc4LDB4MjIsMHgzNiwweDhjLDB4ODcsMHg4MCwweDJkLDB4ZTAsMHgwOSwweDc5LDB4MDIsMHgzZSwweDAwIH0gfSwKLXsgIDE2LCAweGRkYjAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MDQsMHgwMCwweGMzLDB4MzAsMHgzMCwweGM4IH0gfSwKLXsgIDE2LCAweGRkYzAsIDAsIHsweDRkLDB4MDAsMHgwYiwweDRjLDB4ODAsMHhmMywweDEyLDB4MzgsMHhjMCwweDBkLDB4M2EsMHgwMiwweDhjLDB4ODAsMHhmMywweDAwIH0gfSwKLXsgIDE2LCAweGRkZDAsIDAsIHsweDNjLDB4YzAsMHgwZSwweDMwLDB4MGIsMHgwZSwweDAwLDB4YzMsMHgwYywweDNhLDB4YzAsMHgwZCwweDMwLDB4MDMsMHgxMiwweDAyIH0gfSwKLXsgIDE2LCAweGRkZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDFkLDB4YjQsMHgwNiwweGZmLDB4MTAsMHgzZiwweGMwIH0gfSwKLXsgIDE2LCAweGRkZjAsIDAsIHsweDBmLDB4YjAsMHgxMywweGJjLDB4MDAsMHhmZiwweDEwLDB4N2YsMHhjMCwweDBlLDB4ZjEsMHhhMywweDdjLDB4MDAsMHhmZiwweDEyIH0gfSwKLXsgIDE2LCAweGRlMDAsIDAsIHsweDNmLDB4YzIsMHgwZiwweGY1LDB4MjMsMHhiYywweDQxLDB4ZWYsMHgxOCwweDM3LDB4ODAsMHhhZSwweGMwLDB4MDMsMHg1MCwweDA2IH0gfSwKLXsgIDE2LCAweGRlMTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZTQsMHgwMCwweGRiLDB4MDAsMHgzZSwweGRhIH0gfSwKLXsgIDE2LCAweGRlMjAsIDAsIHsweDBjLDB4ODAsMHgwMywweDY2LDB4MTAsMHg4YiwweDAwLDB4MzIsMHg4MCwweDhjLDB4YjYsMHgwMywweDRhLDB4MDAsMHg0YiwweDgwIH0gfSwKLXsgIDE2LCAweGRlMzAsIDAsIHsweDMyLDB4YzgsMHgwYywweGI0LDB4MDMsMHgwYSwweDEwLDB4ZGIsMHgwMCwweDNlLDB4YzEsMHgwYywweGIwLDB4NDMsMHgyYSwweDAwIH0gfSwKLXsgIDE2LCAweGRlNDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjOCwweDExLDB4YjQsMHgwMCwweDg3LDB4MDQsMHgyYywweGMwIH0gfSwKLXsgIDE2LCAweGRlNTAsIDAsIHsweDBkLDB4NzAsMHgwMywweDFjLDB4MDgsMHg4NywweDQ4LDB4MjAsMHg4MSwweDBkLDB4NzIsMHg4MiwweDVjLDB4MDAsMHhkNywweDAwIH0gfSwKLXsgIDE2LCAweGRlNjAsIDAsIHsweDIxLDB4Y2MsMHgyOCwweGYwLDB4MDIsMHgxYywweDEwLDB4ODcsMHgyMCwweDJjLDB4MDAsMHgwOCwweDQwLDB4MGEsMHgzMiwweDA0IH0gfSwKLXsgIDE2LCAweGRlNzAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDAwLDB4OTYsMHgwMCwweGI3LDB4ODEsMHgyZCwweGUwIH0gfSwKLXsgIDE2LCAweGRlODAsIDAsIHsweDA4LDB4NDgsMHgwMiwweDBlLDB4MDQsMHg4NywweDgwLDB4MjEsMHhlMCwweDA4LDB4NzgsMHgwMiwweDNlLDB4MDEsMHg4NywweDgwIH0gfSwKLXsgIDE2LCAweGRlOTAsIDAsIHsweDIxLDB4ZTAsMHgxOCwweDc5LDB4MDIsMHgzYSwweDAxLDB4OTcsMHhhMCwweDJkLDB4NjAsMHgwOCwweDM4LDB4MDIsMHgyMCwweDAwIH0gfSwKLXsgIDE2LCAweGRlYTAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDE0LDB4YzYsMHgwMCwweGEzLDB4YzYsMHgyYywweGMwIH0gfSwKLXsgIDE2LCAweGRlYjAsIDAsIHsweDA5LDB4MzAsMHgwMiwweDBjLDB4MDEsMHg4MywweDAwLDB4MjAsMHhlMCwweDA5LDB4MzAsMHgwMiwweDRlLDB4MDAsMHg5MywweDAwIH0gfSwKLXsgIDE2LCAweGRlYzAsIDAsIHsweDIwLDB4YzAsMHg0OSwweDMwLDB4MjIsMHgwZiwweDY0LDB4ODMsMHgwMiwweDZjLDB4ZDQsMHgyOCwweDMwLDB4MDIsMHgxMiwweDA0IH0gfSwKLXsgIDE2LCAweGRlZDAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDExLDB4YWIsMHg4MCwweGZhLDB4ZTAsMHgzYywweDg4IH0gfSwKLXsgIDE2LCAweGRlZTAsIDAsIHsweDBjLDB4ZTAsMHgwMiwweDI4LDB4MDIsMHhjYSwweDAwLDB4YjMsMHhhOSwweDBjLDB4YTAsMHgwMywweDNiLDB4MTAsMHhjYSwweDAwIH0gfSwKLXsgIDE2LCAweGRlZjAsIDAsIHsweGEyLDB4ODAsMHgwYywweGEwLDB4MGIsMHgzOCwweDAwLDB4ZGEsMHgwMCwweDNmLDB4YjAsMHgwYywweGU2LDB4MDMsMHgzYSwweDA0IH0gfSwKLXsgIDE2LCAweGRmMDAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDAwLDB4YzAsMHgyMCwweDk4LDB4MDgsMHgzZSwweDAwIH0gfSwKLXsgIDE2LCAweGRmMTAsIDAsIHsweDBmLDB4ODAsMHgwYiwweGUxLDB4MDAsMHhmOCwweDAxLDB4M2MsMHgxMCwweDRmLDB4MDAsMHgwMywweGEwLDB4NDAsMHhmOCwweDAwIH0gfSwKLXsgIDE2LCAweGRmMjAsIDAsIHsweDNlLDB4MTAsMHgwZSwweDgwLDB4MDMsMHhlMCwweDAwLDB4ZjgsMHgwMCwweDNjLDB4MDIsMHgyZiwweDA0LDB4OTMsMHhkMiwweDAwIH0gfSwKLXsgIDE2LCAweGRmMzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTQsMHgwMCwweGMxLDB4YzEsMHgzMiwweDQwIH0gfSwKLXsgIDE2LCAweGRmNDAsIDAsIHsweDBjLDB4OTgsMHgwMywweDI2LDB4NDAsMHhmOSwweDAwLDB4MzIsMHg0MCwweDBjLDB4OTgsMHgwMywweDI0LDB4MjQsMHhmOSwweDAwIH0gfSwKLXsgIDE2LCAweGRmNTAsIDAsIHsweDNjLDB4NjAsMHgwYywweDEwLDB4MDMsMHhhNCwweDAwLDB4ZjksMHg4MiwweDMyLDB4NDAsMHgwYywweDkwLDB4MDMsMHgwMiwweDA0IH0gfSwKLXsgIDE2LCAweGRmNjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA0LDB4NjQsMHgwMCwweDg5LDB4MDAsMHgyMiwweDUwIH0gfSwKLXsgIDE2LCAweGRmNzAsIDAsIHsweDBkLDB4OTgsMHgwMiwweDI1LDB4ODAsMHhiOSwweDAwLDB4MjIsMHg1MiwweDBkLDB4OWMsMHgwMiwweDI0LDB4MDAsMHhiOSwweDAwIH0gfSwKLXsgIDE2LCAweGRmODAsIDAsIHsweDJlLDB4NjAsMHgwOCwweDkwLDB4NDIsMHgyNCwweDAwLDB4YjksMHg0MCwweDM2LDB4NDAsMHgwOCwweDkwLDB4MGEsMHgyMCwweDAwIH0gfSwKLXsgIDE2LCAweGRmOTAsIDAsIHsweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4MjQsMHgwMCwweDhkLDB4MDAsMHgyMywweDQwIH0gfSwKLXsgIDE2LCAweGRmYTAsIDAsIHsweDA4LDB4MTIsMHgwMiwweDI0LDB4MDAsMHhhMSwweDEwLDB4YTIsMHg2MCwweDA4LDB4OTIsMHg4YSwweDI0LDB4MDAsMHhiOSwweDAxIH0gfSwKLXsgIDE2LCAweGRmYjAsIDAsIHsweDJlLDB4NDYsMHgwOCwweDkwLDB4MDIsMHhhNCwweDAwLDB4YjEsMHg1MCwweDIyLDB4NDAsMHgyOCwweDkwLDB4ODIsMHgwNiwweDAwIH0gfSwKLXsgIDE2LCAweGRmYzAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA0LDB4MDQsMHg4NCwweDg1LDB4MjAsMHhhMSwweGQ4IH0gfSwKLXsgIDE2LCAweGRmZDAsIDAsIHsweDA5LDB4MTAsMHgwMiwweDA0LDB4ODAsMHhiMywweDIwLDB4MjAsMHg0MCwweDI5LDB4MTIsMHgwNiwweDA0LDB4MDAsMHhiMSwweDAxIH0gfSwKLXsgIDE2LCAweGRmZTAsIDAsIHsweDJjLDB4NDgsMHgyOCwweDEyLDB4MDIsMHgwNCwweDAwLDB4YjEsMHgyMCwweDI0LDB4NDgsMHgwOCwweDEyLDB4MDIsMHgwMiwweDAxIH0gfSwKLXsgIDE2LCAweGRmZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjEsMHg0MiwweDhhLDB4MDAsMHhiMywweDAwIH0gfSwKLXsgIDE2LCAweGUwMDAsIDAsIHsweDBjLDB4MDUsMHgwMywweDIxLDB4NDAsMHhlMCwweDUwLDB4YjIsMHgwMCwweDJjLDB4ODAsMHgwMiwweDIxLDB4NDAsMHhmMCwweDUwIH0gfSwKLXsgIDE2LCAweGUwMTAsIDAsIHsweDNjLDB4MTQsMHgwYywweDg1LDB4MTMsMHhhMSwweDUwLDB4ZjgsMHg1MCwweDMyLDB4MTQsMHgwYywweDg1LDB4MjMsMHgyZSwweDAzIH0gfSwKLXsgIDE2LCAweGUwMjAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5OCwweDFkLDB4ZjQsMHg0MCwweGY5LDB4MTAsMHgzZSwweDQ0IH0gfSwKLXsgIDE2LCAweGUwMzAsIDAsIHsweDBmLDB4ZDQsMHgwYiwweGY0LDB4NDQsMHhmOSwweDEwLDB4M2YsMHg1MCwweDRmLDB4MTEsMHgwMywweGY0LDB4MDAsMHhmOSwweDAwIH0gfSwKLXsgIDE2LCAweGUwNDAsIDAsIHsweDNlLDB4NDQsMHgwZiwweDkxLDB4NTMsMHhmNCwweDE0LDB4ZjksMHgxMCwweDNmLDB4NDQsMHgwZiwweGQxLDB4MDMsMHhlNiwweDAyIH0gfSwKLXsgIDE2LCAweGUwNTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5OCwweDA1LDB4ZTYsMHhhMCwweGRkLDB4ODgsMHhiMywweDY2IH0gfSwKLXsgIDE2LCAweGUwNjAsIDAsIHsweDBjLDB4ZGMsMHg4MywweDM2LDB4ODgsMHhiZCwweGEwLDB4MzcsMHg2YSwweDBjLDB4ZGEsMHgwYiwweDI1LDB4MDIsMHhjOSwweDQwIH0gfSwKLXsgIDE2LCAweGUwNzAsIDAsIHsweDNmLDB4NzgsMHg0ZiwweDk4LDB4YjMsMHhlNSwweDA0LDB4Y2QsMHhhMCwweDcyLDB4NzgsMHgwYywweGQ4LDB4OGIsMHgyNiwweDE0IH0gfSwKLXsgIDE2LCAweGUwODAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzOCwweDEwLDB4ZTMsMHgwMCwweDg4LDB4NDIsMHgyMiwweDMxIH0gfSwKLXsgIDE2LCAweGUwOTAsIDAsIHsweDA4LDB4MGEsMHgwMiwweDIyLDB4YTAsMHhiOCwweGY5LDB4MjIsMHgxMCwweDBkLDB4ODQsMHgxMiwweDZhLDB4ODAsMHg4OCwweDgwIH0gfSwKLXsgIDE2LCAweGUwYTAsIDAsIHsweDJlLDB4MjAsMHgwYiwweDA4LDB4MDIsMHhlMiwweDgwLDB4YTgsMHhhOCwweGEyLDB4MzgsMHg0OCwweGE4LDB4MDIsMHgwZSwweDAwIH0gfSwKLXsgIDE2LCAweGUwYjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA1LDB4YzQsMHhhMiwweDgxLDB4MDAsMHgyMCwweDQ4IH0gfSwKLXsgIDE2LCAweGUwYzAsIDAsIHsweDA4LDB4MTIsMHg0MiwweDQ1LDB4MDAsMHhiMSwweDAwLDB4MjQsMHg0MCwweDA5LDB4MTQsMHgwMiwweDI0LDB4MDAsMHg4MSwweDIwIH0gfSwKLXsgIDE2LCAweGUwZDAsIDAsIHsweDJjLDB4NTgsMHgwYiwweDEwLDB4ODIsMHhjNCwweDA0LDB4OTEsMHg0MCwweDY0LDB4NmMsMHgwOCwweDMwLDB4ODIsMHgxMiwweDA1IH0gfSwKLXsgIDE2LCAweGUwZTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDE1LDB4YTQsMHgwMCwweDg5LDB4MDAsMHgyMiwweDQxIH0gfSwKLXsgIDE2LCAweGUwZjAsIDAsIHsweDA4LDB4OTAsMHg4YSwweDY0LDB4ODAsMHhiOSwweDAwLDB4MjIsMHg1MCwweDA5LDB4OTAsMHgwNiwweDY0LDB4MDgsMHg5OSwweDAwIH0gfSwKLXsgIDE2LCAweGUxMDAsIDAsIHsweDJlLDB4NDAsMHgwYiwweDkwLDB4MDYsMHhjNCwweDAxLDB4YjksMHgwMiwweDI2LDB4NjEsMHg4OCwweDkwLDB4MDIsMHgwNiwweDA0IH0gfSwKLXsgIDE2LCAweGUxMTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4ZTQsMHgwMCwweGM5LDB4MDAsMHgyMiwweDQwIH0gfSwKLXsgIDE2LCAweGUxMjAsIDAsIHsweDJjLDB4OTQsMHgyMywweDY0LDB4MDAsMHhiOSwweDAwLDB4MzYsMHg0MCwweDA5LDB4OTAsMHgxMywweDA1LDB4MDAsMHhjOSwweDAwIH0gfSwKLXsgIDE2LCAweGUxMzAsIDAsIHsweDNlLDB4NDAsMHg0ZiwweDkwLDB4MTMsMHhlNSwweGMwLDB4ZDksMHgwMCwweDI2LDB4NDAsMHgyYywweDk0LDB4MDMsMHgyOCwweDAwIH0gfSwKLXsgIDE2LCAweGUxNDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg2OCwweDAxLDB4YTQsMHgwMiwweGU5LDB4MDgsMHgzYywweDQwIH0gfSwKLXsgIDE2LCAweGUxNTAsIDAsIHsweDBmLDB4OTAsMHgwYiwweGE0LDB4MDAsMHhmMSwweDAwLDB4M2UsMHg0MSwweDBmLDB4OTAsMHg0MywweGE0LDB4ODgsMHhlOSwweDA0IH0gfSwKLXsgIDE2LCAweGUxNjAsIDAsIHsweDNlLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhlNiwweDAwLDB4ZTEsMHgwMCwweDNhLDB4NDAsMHg5ZiwweDkyLDB4NjMsMHhkYSwweDAwIH0gfSwKLXsgIDE2LCAweGUxNzAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4ODAsMHgxMCwweGUwLDB4MDEsMHgzMiwweDAwIH0gfSwKLXsgIDE2LCAweGUxODAsIDAsIHsweDhmLDB4ODAsMHgwMywweDIwLDB4MDAsMHhkOCwweDA4LDB4MzAsMHgwMSwweDhjLDB4MDAsMHgwMywweGUxLDB4MDIsMHhjOCwweDA0IH0gfSwKLXsgIDE2LCAweGUxOTAsIDAsIHsweDNlLDB4MDAsMHgwYywweDgwLDB4MGIsMHgyMSwweDAwLDB4YzgsMHgwMCwweDc4LDB4MDAsMHgwZiwweDg2LDB4MDMsMHgwYSwweDAwIH0gfSwKLXsgIDE2LCAweGUxYTAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4MjgsMHgwMCwweDhlLDB4NDAsMHgyYiwweDgyIH0gfSwKLXsgIDE2LCAweGUxYjAsIDAsIHsweDBiLDB4YTAsMHgwMiwweDNhLDB4MDAsMHg4ZSwweDgwLDB4MjMsMHg4MiwweDA4LDB4ZTIsMHgwMiwweDI4LDB4MTAsMHg4YSwweDAwIH0gfSwKLXsgIDE2LCAweGUxYzAsIDAsIHsweDJmLDB4OTgsMHgyOCwweGEwLDB4MTIsMHgyOCwweDAwLDB4OGUsMHgyMCwweDJlLDB4ODAsMHg0YiwweGU0LDB4MDIsMHgwYSwweDAwIH0gfSwKLXsgIDE2LCAweGUxZDAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NGMsMHgwMiwweGEyLDB4NDAsMHgyMCwweDgwIH0gfSwKLXsgIDE2LCAweGUxZTAsIDAsIHsweDBiLDB4YjAsMHgwMiwweDRlLDB4NDAsMHg5MywweGMwLDB4YTAsMHgyMCwweDA4LDB4MzYsMHgwMiwweDhjLDB4MDAsMHg5MywweDAwIH0gfSwKLXsgIDE2LCAweGUxZjAsIDAsIHsweDJjLDB4ZTIsMHgwOCwweDMwLDB4MDYsMHg0YywweDEyLDB4OTMsMHgwOCwweDI4LDB4YzAsMHgwYiwweGIwLDB4MDIsMHgwYSwweDAwIH0gfSwKLXsgIDE2LCAweGUyMDAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDAxLDB4MWMsMHgwOCwweDgyLDB4NDAsMHgyOSwweDQwIH0gfSwKLXsgIDE2LCAweGUyMTAsIDAsIHsweDBiLDB4NzAsMHgwMiwweDVlLDB4MDgsMHg4NCwweDA4LDB4MjMsMHg0MCwweDA4LDB4NzAsMHgwNiwweDFjLDB4ODAsMHg4NywweDAwIH0gfSwKLXsgIDE2LCAweGUyMjAsIDAsIHsweDJkLDB4MjAsMHgwOCwweDc5LDB4MTIsMHg1YywweDAwLDB4OTQsMHgwMCwweDJkLDB4YzAsMHgwYiwweDMwLDB4NDIsMHgyOCwweDAwIH0gfSwKLXsgIDE2LCAweGUyMzAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4M2UsMHgwMCwweGU0LDB4ODAsMHgzMSwweGExIH0gfSwKLXsgIDE2LCAweGUyNDAsIDAsIHsweDBmLDB4NTgsMHgxMywweDc2LDB4MDAsMHhkMCwweDgwLDB4MzEsMHhjMCwweDBjLDB4MzgsMHgwMywweGJlLDB4ODAsMHhkNywweDgxIH0gfSwKLXsgIDE2LCAweGUyNTAsIDAsIHsweDNmLDB4MjAsMHg4YywweDc5LDB4MDMsMHg3ZiwweDAxLDB4ZDYsMHg4MCwweDM5LDB4ZTgsMHg0ZiwweDY4LDB4MDMsMHgyYSwweDAwIH0gfSwKLXsgIDE2LCAweGUyNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDFkLDB4YmUsMHgwMCwweGZhLDB4MDAsMHgzZSwweDAwIH0gfSwKLXsgIDE2LCAweGUyNzAsIDAsIHsweDhmLDB4OTYsMHgwYiwweGE0LDB4MDAsMHhlYSwweDAwLDB4M2MsMHhjMCwweDBmLDB4OTAsMHgwMywweGFjLDB4MjAsMHhmYiwweDQwIH0gfSwKLXsgIDE2LCAweGUyODAsIDAsIHsweDJlLDB4MDAsMHgwZiwweGIyLDB4MDMsMHhhZCwweGEwLDB4ZWEsMHgwMCwweDNlLDB4YzAsMHgwZiwweGEwLDB4MWIsMHhjMiwweDA0IH0gfSwKLXsgIDE2LCAweGUyOTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDA1LDB4ZmUsMHgwOCwweGRlLDB4ODEsMHgzMywweGE0IH0gfSwKLXsgIDE2LCAweGUyYTAsIDAsIHsweDBlLDB4ZmMsMHgxMywweDNlLDB4MDAsMHhmYywweDgwLDB4MTMsMHgyMCwweDBjLDB4NjgsMHgwMywweDNlLDB4MjAsMHhmZiwweGM4IH0gfSwKLXsgIDE2LCAweGUyYjAsIDAsIHsweDNmLDB4NjAsMHgxZCwweGY4LDB4MDMsMHg3ZSwweDAwLDB4YzcsMHg4MCwweDMzLDB4ZTIsMHgwYywweGQ4LDB4MDMsMHgxMCwweDAwIH0gfSwKLXsgIDE2LCAweGUyYzAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDExLDB4OWMsMHgwMCwweDg2LDB4NDEsMHgzMSwweGM0IH0gfSwKLXsgIDE2LCAweGUyZDAsIDAsIHsweDA4LDB4NzksMHg0MiwweDljLDB4MDAsMHhiYywweDEwLDB4MjEsMHg0MCwweDg1LDB4MzUsMHgwMywweDVjLDB4MDAsMHhiNywweDAwIH0gfSwKLXsgIDE2LCAweGUyZTAsIDAsIHsweDJkLDB4YzAsMHgwOCwweDcyLDB4MDIsMHgyYywweDAwLDB4YTcsMHgwMSwweDM3LDB4YzAsMHgwOCwweDUxLDB4NDIsMHgyYSwweDAwIH0gfSwKLXsgIDE2LCAweGUyZjAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxMCwweDAwLDB4OGMsMHg0MCwweDgyLDB4MDAsMHgyNCwweDgxIH0gfSwKLXsgIDE2LCAweGUzMDAsIDAsIHsweDA4LDB4ZDgsMHgwMiwweDE0LDB4MjAsMHhiNSwweDAwLDB4MjAsMHg0MCwweDA5LDB4NjAsMHgwMiwweDFjLDB4NDAsMHhiNywweDAwIH0gfSwKLXsgIDE2LCAweGUzMTAsIDAsIHsweDJjLDB4NDAsMHgwYiwweDMwLDB4MjIsMHhkYywweDAwLDB4OTcsMHgwMCwweDIxLDB4YzQsMHgwOCwweDQwLDB4MDIsMHg0NCwweDAwIH0gfSwKLXsgIDE2LCAweGUzMjAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg2MCwweDE0LDB4ZWMsMHgwMCwweDkyLDB4MDYsMHgyMCwweDkwIH0gfSwKLXsgIDE2LCAweGUzMzAsIDAsIHsweDM4LDB4MTUsMHgwMiwweDg2LDB4MDAsMHhiOCwweDAwLDB4NjAsMHg1MCwweDA5LDB4MzAsMHgwMiwweDRlLDB4MDEsMHhiYiwweDAwIH0gfSwKLXsgIDE2LCAweGUzNDAsIDAsIHsweDJlLDB4NDAsMHgwYiwweDMwLDB4MDIsMHhjZSwweDIwLDB4YjMsMHgwMCwweDI0LDB4ZjAsMHg0OCwweDAyLDB4MGEsMHg1OCwweDA0IH0gfSwKLXsgIDE2LCAweGUzNTAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YmMsMHgwMCwweGNhLDB4MDAsMHhhNiwweDk0IH0gfSwKLXsgIDE2LCAweGUzNjAsIDAsIHsweDJjLDB4OTAsMHgwMywweDJlLDB4MDAsMHhmYiwweDA1LDB4YjIsMHg4NSwweDBkLDB4OTAsMHgwMywweDNmLDB4OTAsMHhmZiwweDAwIH0gfSwKLXsgIDE2LCAweGUzNzAsIDAsIHsweDdlLDB4ODAsMHgxZiwweGYwLDB4NDMsMHhmYywweDIxLDB4OWEsMHgwMCwweDMzLDB4YzgsMHgzYywweGIyLDB4MDMsMHg2YSwweDA0IH0gfSwKLXsgIDE2LCAweGUzODAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5MCwweDAwLDB4ZWMsMHgwMiwweGVhLDB4NDAsMHgzZCwweDgwIH0gfSwKLXsgIDE2LCAweGUzOTAsIDAsIHsweDBmLDB4MTAsMHg5MywweGVkLDB4MDAsMHhmYiwweDQwLDB4M2UsMHg5MCwweDhmLDB4MzAsMHgwMywweGVjLDB4ODAsMHhmYiwweDAwIH0gfSwKLXsgIDE2LCAweGUzYTAsIDAsIHsweDNlLDB4OTEsMHgxYywweGIwLDB4MDMsMHgyYywweDEwLDB4ZTgsMHgwMCwweDNlLDB4YzgsMHgxZiwweDkwLDB4MDMsMHhhNSwweDEwIH0gfSwKLXsgIDE2LCAweGUzYjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDEwLDB4ZmMsMHgwMiwweGU0LDB4MDAsMHg3MywweGEwIH0gfSwKLXsgIDE2LCAweGUzYzAsIDAsIHsweDBjLDB4ZmMsMHgwMywweDdjLDB4MDIsMHhmZiwweDEwLDB4MTMsMHhjNCwweDFjLDB4YzAsMHgwMywweDNjLDB4MDAsMHhmZiwweDAwIH0gfSwKLXsgIDE2LCAweGUzZDAsIDAsIHsweDM3LDB4ZTAsMHgwZCwweGYwLDB4MDMsMHhmYywweDAwLDB4ZWQsMHg4MCwweDMxLDB4YzAsMHgwYywweDMyLDB4NjMsMHgyMCwweDA0IH0gfSwKLXsgIDE2LCAweGUzZTAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4NCwweDAwLDB4NmMsMHgwMCwweDhhLDB4YzAsMHgyMiwweGIxIH0gfSwKLXsgIDE2LCAweGUzZjAsIDAsIHsweDhhLDB4YjgsMHg0MywweDRhLDB4MTAsMHhkYiwweDIwLDB4MjAsMHhmMCwweDBhLDB4OTQsMHgwMywweDZjLDB4MDAsMHhiYiwweDA3IH0gfSwKLXsgIDE2LCAweGU0MDAsIDAsIHsweDIyLDB4YjgsMHgwOCwweGIwLDB4MDIsMHhlYywweDExLDB4ZTgsMHhjMCwweGIyLDB4YzAsMHgyYSwweDkyLDB4MWEsMHgyMCwweDAwIH0gfSwKLXsgIDE2LCAweGU0MTAsIDAsIHsweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDAxLDB4MmMsMHgwMCwweGFhLDB4ODAsMHgyMiwweDk4IH0gfSwKLXsgIDE2LCAweGU0MjAsIDAsIHsweDA4LDB4OTAsMHgwMiwweDJmLDB4MDMsMHhiYiwweDAxLDB4MmEsMHg4MywweDA4LDB4YjIsMHg0ZSwweDJjLDB4MDQsMHhhYiwweDAyIH0gfSwKLXsgIDE2LCAweGU0MzAsIDAsIHsweDIyLDB4YzQsMHgyOCwweGIwLDB4MjIsMHhlYywweDA5LDB4YjMsMHg1MCwweDYyLDB4YzAsMHgwOCwweGIwLDB4MDIsMHgyMCwweDAwIH0gfSwKLXsgIDE2LCAweGU0NDAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA0LDB4MGMsMHgwMSwweDgzLDB4MDAsMHg2MCwweDgwIH0gfSwKLXsgIDE2LCAweGU0NTAsIDAsIHsweDA4LDB4MTIsMHgwYSwweDQ0LDB4MDAsMHg5MywweDAwLDB4MmEsMHg4MCwweDRhLDB4MzAsMHgwMiwweDBjLDB4MDAsMHhiMywweDAwIH0gfSwKLXsgIDE2LCAweGU0NjAsIDAsIHsweDYwLDB4YzAsMHgwOCwweDMwLDB4MDIsMHhjYywweDAwLDB4YjMsMHgwMiwweDYwLDB4YzAsMHgwOCwweDAwLDB4NDYsMHgwMiwweDAxIH0gfSwKLXsgIDE2LCAweGU0NzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDBkLDB4NmMsMHgwMCwweGU4LDB4MDIsMHgyMiwweDgwIH0gfSwKLXsgIDE2LCAweGU0ODAsIDAsIHsweDJjLDB4ZjIsMHg0MywweDJjLDB4MDAsMHhmYiwweDAwLDB4YmEsMHhjMCwweDA4LDB4YTUsMHgwMiwweDNjLDB4MDAsMHhlZiwweDAwIH0gfSwKLXsgIDE2LCAweGU0OTAsIDAsIHsweDM2LDB4YzAsMHg0ZCwweGYwLDB4MTMsMHhmZCwweDUxLDB4ZmIsMHgwMCwweDMyLDB4YzAsMHgwYywweGIwLDB4MDMsMHgyMCwweDAxIH0gfSwKLXsgIDE2LCAweGU0YTAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDFkLDB4ZmMsMHgwMCwweDdlLDB4MDQsMHgzZiwweDgwIH0gfSwKLXsgIDE2LCAweGU0YjAsIDAsIHsweDBmLDB4MzEsMHg0MywweGYwLDB4MDIsMHhmZiwweDAwLDB4MzcsMHhjMCwweDBmLDB4ZjAsMHgwMywweGZjLDB4MDgsMHhmZiwweDAwIH0gfSwKLXsgIDE2LCAweGU0YzAsIDAsIHsweDNmLDB4YzAsMHgwZiwweGYwLDB4MDMsMHhmYywweDAwLDB4ZWYsMHgwMCwweDNiLDB4YzAsMHgwZiwweGMwLDB4MDMsMHhlOCwweDE2IH0gfSwKLXsgIDE2LCAweGU0ZDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZjIsMHg0MCwweGZjLDB4ODAsMHgzZiwweDI0IH0gfSwKLXsgIDE2LCAweGU0ZTAsIDAsIHsweDBkLDB4ZDgsMHg1MywweGQ2LDB4MDQsMHhkZiwweDMyLDB4M2YsMHhjYywweDRjLDB4YzAsMHg0MywweGZjLDB4MDAsMHhkZiwweDYwIH0gfSwKLXsgIDE2LCAweGU0ZjAsIDAsIHsweDM3LDB4YzAsMHgwZiwweGM0LDB4MDMsMHg3YywweGQwLDB4ZGYsMHgyMCwweDMzLDB4ZDgsMHgwZCwweGY4LDB4NDMsMHhmMCwweDAwIH0gfSwKLXsgIDE2LCAweGU1MDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDE4LDB4ZTgsMHg4MCwweGIwLDB4MDEsMHgyZSwweDA4IH0gfSwKLXsgIDE2LCAweGU1MTAsIDAsIHsweDg4LDB4OTAsMHgwMiwweGVjLDB4MjAsMHg4YiwweDcwLDB4MmYsMHhjYywweDA4LDB4YjMsMHg4MiwweGZkLDB4ZTAsMHhiZiwweDQwIH0gfSwKLXsgIDE2LCAweGU1MjAsIDAsIHsweDIyLDB4ZDgsMHgwYiwweDkzLDB4MDIsMHhmZCwweGMwLDB4YWYsMHgxMCwweDI4LDB4ZjAsMHgwOCwweGJjLDB4MTIsMHhmMCwweDA0IH0gfSwKLXsgIDE2LCAweGU1MzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4YzQsMHgwMCwweGIwLDB4MDAsMHgyZSwweDAxIH0gfSwKLXsgIDE2LCAweGU1NDAsIDAsIHsweDBhLDB4MTIsMHg4MiwweGVjLDB4ODAsMHhiMywweDAwLDB4MmMsMHhjOCwweDBhLDB4MDAsMHgzMiwweDhjLDB4MDAsMHhhMywweDMwIH0gfSwKLXsgIDE2LCAweGU1NTAsIDAsIHsweDIwLDB4ZDIsMHgwOSwweDAwLDB4MDIsMHg4YywweDgwLDB4ODMsMHgwMCwweDI4LDB4ZDgsMHgwYiwweDM0LDB4MTIsMHhmMiwweDAxIH0gfSwKLXsgIDE2LCAweGU1NjAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4YWMsMHgwMSwweGI4LDB4MDIsMHgyZSwweDAwIH0gfSwKLXsgIDE2LCAweGU1NzAsIDAsIHsweDBhLDB4OTAsMHgxMiwweGVjLDB4MTAsMHg4YiwweDAwLDB4MmUsMHhjMCwweDBhLDB4YjAsMHgwMCwweGVjLDB4MDAsMHhiMywweDAwIH0gfSwKLXsgIDE2LCAweGU1ODAsIDAsIHsweDIyLDB4YzEsMHgwYiwweDkyLDB4MDIsMHhjYywweDAxLDB4YWIsMHgwMCwweDJhLDB4YzAsMHgwMiwweGIwLDB4MDIsMHhmMCwweDA0IH0gfSwKLXsgIDE2LCAweGU1OTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDE1LDB4ZTAsMHgwMCwweGZhLDB4MGMsMHgzZSwweGMwIH0gfSwKLXsgIDE2LCAweGU1YTAsIDAsIHsweDBmLDB4YTAsMHgxMywweGVlLDB4MjAsMHhkYiwweDAwLDB4M2UsMHhjMCwweDJlLDB4ODgsMHg1MywweGVjLDB4MDAsMHhmYiwweDAwIH0gfSwKLXsgIDE2LCAweGU1YjAsIDAsIHsweGIyLDB4YzAsMHg4ZiwweGFjLDB4ODMsMHhhYywweDA4LDB4ZGIsMHgwMCwweDFhLDB4YzAsMHg0ZiwweGIwLDB4MDMsMHhjMCwweDA0IH0gfSwKLXsgIDE2LCAweGU1YzAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDAxLDB4YjgsMHgwMCwweGZlLDB4MDAsMHgzZiwweGMwIH0gfSwKLXsgIDE2LCAweGU1ZDAsIDAsIHsweDJkLDB4ZTAsMHgwMywweGZlLDB4ODAsMHg3ZiwweDAwLDB4M2YsMHhjMCwweDBkLDB4ZDIsMHgwMywweGZjLDB4MDAsMHhiZiwweDAxIH0gfSwKLXsgIDE2LCAweGU1ZTAsIDAsIHsweDNlLDB4YzAsMHgwZCwweGM4LDB4MDMsMHhmYywweDBjLDB4ZmYsMHgwMCwweDNmLDB4YzAsMHgwOSwweGYwLDB4MjMsMHhmOCwweDAwIH0gfSwKLXsgIDE2LCAweGU1ZjAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YTQsMHgwMCwweGZhLDB4NDAsMHgzMiwweGMxIH0gfSwKLXsgIDE2LCAweGU2MDAsIDAsIHsweDBmLDB4YTAsMHgwMywweDI5LDB4MDgsMHhkYiwweDAwLDB4M2UsMHhjMCwweDBlLDB4ODUsMHgwMywweGVjLDB4MjAsMHhjYiwweDAwIH0gfSwKLXsgIDE2LCAweGU2MTAsIDAsIHsweDNhLDB4YzAsMHgwZSwweGE0LDB4MDMsMHhlYywweDAwLDB4ZmIsMHgwMCwweDNhLDB4YzIsMHgwZSwweGIwLDB4MDMsMHgxMCwweDA0IH0gfSwKLXsgIDE2LCAweGU2MjAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjOCwweDA1LDB4MmMsMHgwMCwweGJhLDB4NjAsMHgyMCwweGMwIH0gfSwKLXsgIDE2LCAweGU2MzAsIDAsIHsweDBiLDB4YTAsMHgwMiwweDA4LDB4MDAsMHhhZiwweDAwLDB4MmYsMHhkMCwweDBiLDB4YjUsMHgwMiwweGZlLDB4MDIsMHg4ZiwweDAwIH0gfSwKLXsgIDE2LCAweGU2NDAsIDAsIHsweDJmLDB4YzAsMHgwZCwweDgwLDB4MGEsMHgzYywweDAwLDB4YjcsMHgwMCwweDIzLDB4YzIsMHgwNSwweGYwLDB4MjIsMHgzNiwweDAwIH0gfSwKLXsgIDE2LCAweGU2NTAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA0LDB4NDAsMHgwMCwweGIxLDB4ODgsMHgyMCwweDAwIH0gfSwKLXsgIDE2LCAweGU2NjAsIDAsIHsweDBiLDB4MTAsMHgwMiwweDBjLDB4MDAsMHg4MywweDAwLDB4MmUsMHhjOCwweDBiLDB4MDgsMHgwNiwweDRkLDB4NDAsMHg4MywweDAwIH0gfSwKLXsgIDE2LCAweGU2NzAsIDAsIHsweDIwLDB4YzAsMHgwOCwweDMwLDB4MDYsMHgwYywweDA4LDB4OTMsMHgyMCwweDBhLDB4ZTAsMHg0YSwweDMwLDB4MDIsMHgzOCwweDAwIH0gfSwKLXsgIDE2LCAweGU2ODAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMCwweDEwLDB4NWEsMHgwMCwweGI1LDB4OTAsMHgyMSwweDIwIH0gfSwKLXsgIDE2LCAweGU2OTAsIDAsIHsweDBiLDB4NTgsMHg0MiwweDNlLDB4MDAsMHhhNywweDgwLDB4MmQsMHhlMCwweDBiLDB4NjksMHgwMiwweGRlLDB4NDAsMHg4NywweDkyIH0gfSwKLXsgIDE2LCAweGU2YTAsIDAsIHsweDJkLDB4ZTAsMHgwOSwweDE4LDB4MDIsMHg5ZSwweDAxLDB4YjcsMHg4MCwweDI5LDB4ZTAsMHgwMywweDcwLDB4MDIsMHgzZSwweDAwIH0gfSwKLXsgIDE2LCAweGU2YjAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4NDQsMHgwMCwweGYxLDB4MDEsMHgzMCwweDAwIH0gfSwKLXsgIDE2LCAweGU2YzAsIDAsIHsweDVmLDB4MTgsMHgwMywweDBjLDB4MTAsMHg4MywweDAwLDB4M2MsMHhjNCwweDBlLDB4MDQsMHgwMywweGVjLDB4MDAsMHg4MywweDAwIH0gfSwKLXsgIDE2LCAweGU2ZDAsIDAsIHsweDMwLDB4YzQsMHgwYywweDMxLDB4MDMsMHg4YywweDAwLDB4ZjMsMHgwMCwweDM4LDB4YzgsMHgwZSwweDMxLDB4MDMsMHgxMiwweDAyIH0gfSwKLXsgIDE2LCAweGU2ZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDE1LDB4YmMsMHgwMCwweGZkLDB4MDQsMHhiZiwweDA0IH0gfSwKLXsgIDE2LCAweGU2ZjAsIDAsIHsweDRmLDB4NTgsMHgwMywweGY4LDB4MDgsMHhlZiwweDA4LDB4M2YsMHhjMCwweDBmLDB4ZjAsMHgwMSwweGZjLDB4MDAsMHhmZiwweDRjIH0gfSwKLXsgIDE2LCAweGU3MDAsIDAsIHsweDNmLDB4YzEsMHgwZiwweGQwLDB4MDMsMHgzYywweDAwLDB4ZjcsMHgwMCwweDM3LDB4YzIsMHgwZCwweDcyLDB4MDMsMHhkMCwweDA2IH0gfSwKLXsgIDE2LCAweGU3MTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4ZTIsMHgwMCwweGRiLDB4MDAsMHgzMiwweGMwIH0gfSwKLXsgIDE2LCAweGU3MjAsIDAsIHsweDRkLDB4YTgsMHgwMywweDJjLDB4MDgsMHhmYiwweDAwLDB4N2UsMHhjOCwweDhmLDB4YjAsMHgwYiwweDZmLDB4NDUsMHhlYiwweGMyIH0gfSwKLXsgIDE2LCAweGU3MzAsIDAsIHsweDM2LDB4YzAsMHgwNywweGEwLDB4MDMsMHhlZiwweDIwLDB4Y2IsMHg1MCwweGIyLDB4YzAsMHgwYywweDc5LDB4MDMsMHgyYSwweDAwIH0gfSwKLXsgIDE2LCAweGU3NDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDE5LDB4OTgsMHgwMCwweDhmLDB4MDAsMHgyMSwweGMwIH0gfSwKLXsgIDE2LCAweGU3NTAsIDAsIHsweDBiLDB4NjAsMHgwMywweDVjLDB4MDAsMHgzNywweDAwLDB4MmQsMHhkMiwweDBiLDB4MzAsMHgwMiwweDBjLDB4YTgsMHg4NywweDI0IH0gfSwKLXsgIDE2LCAweGU3NjAsIDAsIHsweDIxLDB4ZDAsMHgwOSwweDcwLDB4MDIsMHhkZCwweDg4LDB4ODcsMHgyYSwweDIzLDB4ZTgsMHgwOCwweDcwLDB4MDIsMHgzMiwweDA0IH0gfSwKLXsgIDE2LCAweGU3NzAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMCwweDAwLDB4YjYsMHgwMCwweDk3LDB4ODAsMHgyMSwweGUwIH0gfSwKLXsgIDE2LCAweGU3ODAsIDAsIHsweDBiLDB4NjgsMHgwMiwweDFlLDB4MDAsMHhiNywweDgwLDB4MmQsMHhlOCwweDhiLDB4NDgsMHg4MiwweDFlLDB4ODAsMHhhMywweDg0IH0gfSwKLXsgIDE2LCAweGU3OTAsIDAsIHsweDI1LDB4ZTgsMHgwYiwweDY4LDB4MDIsMHhjZSwweDAyLDB4ODcsMHg4MCwweDIxLDB4ZTAsMHgwOCwweDdhLDB4MDIsMHgyMCwweDAwIH0gfSwKLXsgIDE2LCAweGU3YTAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg2OCwweDA0LDB4Y2MsMHgwOCwweDgzLDB4ODIsMHgyMCwweGUwIH0gfSwKLXsgIDE2LCAweGU3YjAsIDAsIHsweDhiLDB4MmEsMHgwMiwweDQ4LDB4NDAsMHhiMywweDAwLDB4MmMsMHhjMCwweDBiLDB4MzAsMHg4MiwweDBjLDB4MDAsMHg4MywweDAwIH0gfSwKLXsgIDE2LCAweGU3YzAsIDAsIHsweDAwLDB4YzEsMHgwOSwweDMxLDB4MDIsMHhjYywweDAwLDB4ODMsMHgwMCwweDIwLDB4YzAsMHgwOCwweDMwLDB4MGEsMHgxMiwweDA0IH0gfSwKLXsgIDE2LCAweGU3ZDAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4ZTgsMHgwMCwweGRhLDB4YTAsMHgzMiwweGE4IH0gfSwKLXsgIDE2LCAweGU3ZTAsIDAsIHsweDhkLDB4YTgsMHgwMywweDNiLDB4MDAsMHhmYSwweDAwLDB4M2UsMHg4MCwweDBmLDB4ZTQsMHgwMywweDY4LDB4MDAsMHhlYSwweDAyIH0gfSwKLXsgIDE2LCAweGU3ZjAsIDAsIHsweDM2LDB4ODAsMHgwZiwweGU0LDB4MDMsMHhlOCwweDAwLDB4Y2EsMHgwMCwweDMyLDB4ODAsMHgyYywweGEwLDB4MDMsMHgzYSwweDA0IH0gfSwKLXsgIDE2LCAweGU4MDAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDAxLDB4YTAsMHgxMCwweGY4LDB4MDAsMHhiZSwweDIwIH0gfSwKLXsgIDE2LCAweGU4MTAsIDAsIHsweDhmLDB4YzEsMHgwMywweGUwLDB4MjQsMHhmOCwweDAwLDB4M2UsMHgxMCwweDBmLDB4ODQsMHgwMywweGUwLDB4MDAsMHhmOCwweDAxIH0gfSwKLXsgIDE2LCAweGU4MjAsIDAsIHsweDNlLDB4MDAsMHgwZiwweDgwLDB4MDMsMHhlMCwweDAwLDB4ZjgsMHgwMSwweGJlLDB4MTAsMHgwZiwweDgwLDB4MDMsMHhkMiwweDAwIH0gfSwKLXsgIDE2LCAweGU4MzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4YTQsMHgwMCwweGY5LDB4NDAsMHgzMiwweDQwIH0gfSwKLXsgIDE2LCAweGU4NDAsIDAsIHsweGNmLDB4OTAsMHgwMywweGU0LDB4MDAsMHhjOSwweDAwLDB4MGUsMHg1MCwweDBmLDB4MWEsMHgwMywweDI2LDB4MDAsMHhmOSwweDAwIH0gfSwKLXsgIDE2LCAweGU4NTAsIDAsIHsweDNlLDB4NDAsMHgwZiwweDkwLDB4ODEsMHhlNCwweDAwLDB4ZjksMHg4MCwweDMyLDB4NDAsMHgwYywweDkwLDB4MDMsMHhjMiwweDA0IH0gfSwKLXsgIDE2LCAweGU4NjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA0LDB4NjQsMHgwNCwweGIxLDB4MDQsMHgyMiwweDQwIH0gfSwKLXsgIDE2LCAweGU4NzAsIDAsIHsweDBiLDB4OTAsMHgwMiwweGU0LDB4MDAsMHhhOSwweDAwLDB4MmUsMHg1MywweDBiLDB4OTIsMHgwYSwweDI2LDB4NDgsMHhiOSwweDA0IH0gfSwKLXsgIDE2LCAweGU4ODAsIDAsIHsweDJlLDB4NDAsMHgwYiwweDkwLDB4MDIsMHhlNCwweDAwLDB4YjksMHg4MCwweDAyLDB4NTAsMHgwOCwweDkwLDB4MDIsMHhlMCwweDAwIH0gfSwKLXsgIDE2LCAweGU4OTAsIDAsIHsweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzOCwweDA1LDB4MjQsMHgwMCwweGJkLDB4MDAsMHgyMywweDQwIH0gfSwKLXsgIDE2LCAweGU4YTAsIDAsIHsweDBiLDB4ZDAsMHgxMiwweGM0LDB4MDAsMHg4OSwweDAyLDB4MmUsMHg0MCwweDBiLDB4OTAsMHgyMiwweDI0LDB4MDAsMHhiOSwweDAwIH0gfSwKLXsgIDE2LCAweGU4YjAsIDAsIHsweDJlLDB4NDAsMHgwYiwweDkwLDB4MDIsMHhlNCwweDAwLDB4YjEsMHgyMCwweDIwLDB4NDAsMHg2OCwweDkwLDB4MjIsMHhjNiwweDAwIH0gfSwKLXsgIDE2LCAweGU4YzAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDE0LDB4MTQsMHgwMCwweGJmLDB4MTIsMHhhMSwweDQwIH0gfSwKLXsgIDE2LCAweGU4ZDAsIDAsIHsweDBiLDB4NTAsMHgwMiwweGM0LDB4MDAsMHhhMSwweDIwLDB4MmMsMHg0OCwweDBiLDB4MTIsMHgwMiwweDA0LDB4MTAsMHhiMSwweDExIH0gfSwKLXsgIDE2LCAweGU4ZTAsIDAsIHsweDJjLDB4NDgsMHgwYiwweDEzLDB4MjIsMHhjNCwweDAwLDB4YjEsMHg0MCwweDIwLDB4NWEsMHgwOCwweDEwLDB4MDIsMHhjMiwweDAxIH0gfSwKLXsgIDE2LCAweGU4ZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjEsMHg0MCwweGY4LDB4NDAsMHgzMiwweDE0IH0gfSwKLXsgIDE2LCAweGU5MDAsIDAsIHsweDBmLDB4NDUsMHgwMywweGUxLDB4NDAsMHhjOCwweDUwLDB4M2UsMHgxNSwweDhmLDB4ODUsMHgwMywweDIxLDB4ZTgsMHhmOCwweDY4IH0gfSwKLXsgIDE2LCAweGU5MTAsIDAsIHsweDNlLDB4MTQsMHgwZiwweDg0LDB4MDMsMHhlMSwweGUwLDB4ZjAsMHgyOCwweDMyLDB4YTgsMHhjYywweDgwLDB4MjMsMHhlZSwweDAzIH0gfSwKLXsgIDE2LCAweGU5MjAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5OCwweDE1LDB4YzQsMHgxMCwweGY5LDB4MjAsMHgzZSwweDQwIH0gfSwKLXsgIDE2LCAweGU5MzAsIDAsIHsweDBmLDB4OTAsMHgwMywweGY0LDB4MDAsMHhmOSwweDEwLDB4M2UsMHg0NCwweDBmLDB4ZDEsMHgwMywweGU0LDB4MDAsMHhmOSwweDIwIH0gfSwKLXsgIDE2LCAweGU5NDAsIDAsIHsweDNlLDB4NDQsMHgwZiwweGQzLDB4MDMsMHhlNCwweDAwLDB4ZjksMHgwMCwweGJlLDB4NDAsMHgwZiwweDk0LDB4MDMsMHhlNiwweDA2IH0gfSwKLXsgIDE2LCAweGU5NTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDE1LDB4ZTQsMHgwMCwweGZkLDB4MTAsMHgzMywweDQwIH0gfSwKLXsgIDE2LCAweGU5NjAsIDAsIHsweDBjLDB4ZDAsMHgwMywweDI0LDB4MDAsMHhkOSwweDAwLDB4M2YsMHg0MCwweDRjLDB4ZDAsMHgwMywweGY2LDB4MDAsMHhmZCwweDkwIH0gfSwKLXsgIDE2LCAweGU5NzAsIDAsIHsweDNhLDB4NDAsMHgwYywweDkwLDB4MDMsMHhlNiwweGEwLDB4ZmQsMHhhOCwweDM3LDB4NjgsMHgwYywweGQ4LDB4ODMsMHgyNiwweDAwIH0gfSwKLXsgIDE2LCAweGU5ODAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzOCwweDEwLDB4ZTAsMHgwOCwweGM4LDB4YTAsMHgyMiwweDAwIH0gfSwKLXsgIDE2LCAweGU5OTAsIDAsIHsweDA4LDB4ODAsMHgwMiwweDIwLDB4MDAsMHg4OCwweDAwLDB4MmUsMHgwMCwweDBjLDB4ODAsMHgxMiwweGUwLDB4MDAsMHhiOCwweDgwIH0gfSwKLXsgIDE2LCAweGU5YTAsIDAsIHsweDIyLDB4MDAsMHgwZCwweDBhLDB4MDIsMHhlMywweDgwLDB4YjAsMHhjMCwweDIwLDB4MzQsMHgwOCwweDg0LDB4MDMsMHg0ZSwweDA0IH0gfSwKLXsgIDE2LCAweGU5YjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDAwLDB4ODQsMHgwOSwweGExLDB4MDAsMHgyMCwweDQxIH0gfSwKLXsgIDE2LCAweGU5YzAsIDAsIHsweDA4LDB4OTAsMHgwMiwweDI0LDB4MDAsMHg5MSwweDAwLDB4MmMsMHg0MCwweDA4LDB4MTAsMHgwMiwweGM1LDB4MDAsMHhiMSwweDYwIH0gfSwKLXsgIDE2LCAweGU5ZDAsIDAsIHsweDIwLDB4NDAsMHgwOCwweDEwLDB4YTIsMHhjNCwweDIwLDB4YjEsMHgyOCwweDI0LDB4NGEsMHgwOCwweDEwLDB4MDIsMHg1MiwweDAxIH0gfSwKLXsgIDE2LCAweGU5ZTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDE0LDB4YTQsMHgwMSwweDgxLDB4MDAsMHhhMiwweDQwIH0gfSwKLXsgIDE2LCAweGU5ZjAsIDAsIHsweGE4LDB4OTAsMHgwMCwweDI1LDB4NDAsMHg4OSwweDAxLDB4MmMsMHg0MCwweDA4LDB4OTQsMHgwMiwweGU0LDB4MDAsMHhiOSwweDAwIH0gfSwKLXsgIDE2LCAweGVhMDAsIDAsIHsweDJhLDB4NDAsMHgwOSwweDkwLDB4MDIsMHhlNCwweDAxLDB4YjksMHgwNCwweDIyLDB4NDEsMHg0OCwweDkwLDB4MDIsMHg0NiwweDA0IH0gfSwKLXsgIDE2LCAweGVhMTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE0LDB4YTUsMHgyMCwweGU5LDB4MDAsMHgzMiwweDQwIH0gfSwKLXsgIDE2LCAweGVhMjAsIDAsIHsweDRjLDB4MTAsMHgwYiwweDI2LDB4MDAsMHhkOSwweDAwLDB4M2UsMHg0MCwweDJjLDB4OTgsMHgwMywweGU0LDB4MDAsMHhmOSwweDAwIH0gfSwKLXsgIDE2LCAweGVhMzAsIDAsIHsweGIyLDB4NDAsMHgwYywweDkwLDB4MDMsMHhlNCwweDAwLDB4ZjksMHgwMCwweDM2LDB4NDAsMHgyYywweDkwLDB4MDMsMHg2OCwweDA0IH0gfSwKLXsgIDE2LCAweGVhNDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDAxLDB4YTQsMHgwMCwweGU5LDB4MDAsMHgzZSwweDQwIH0gfSwKLXsgIDE2LCAweGVhNTAsIDAsIHsweDBmLDB4OTAsMHgwMywweGU2LDB4MDAsMHhmOSwweDAwLDB4M2UsMHg0MCwweDBlLDB4OWEsMHgwMywweGU0LDB4MDAsMHhmOSwweDAwIH0gfSwKLXsgIDE2LCAweGVhNjAsIDAsIHsweDM2LDB4NDAsMHgwZiwweDkwLDB4MDMsMHhlNCwweDAwLDB4ZjksMHgwMCwweDNjLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhkYSwweDAwIH0gfSwKLXsgIDE2LCAweGVhNzAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4YTEsMHgwMCwweGY4LDB4MDAsMHgzMiwweDAwIH0gfSwKLXsgIDE2LCAweGVhODAsIDAsIHsweDBmLDB4ODAsMHgxMywweGEwLDB4MDAsMHhjOCwweDAwLDB4MzIsMHgwNCwweDhjLDB4ODAsMHgwMywweGEwLDB4YzAsMHhmOCwweDAwIH0gfSwKLXsgIDE2LCAweGVhOTAsIDAsIHsweDNhLDB4MDAsMHgwZiwweDgwLDB4MDMsMHgyMCwweDAwLDB4YzAsMHgwOSwweDMyLDB4MDAsMHg0YywweDgwLDB4MDEsMHgwYSwweDA0IH0gfSwKLXsgIDE2LCAweGVhYTAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4MjgsMHgwMCwweGJlLDB4MDAsMHgyMCwweDgwIH0gfSwKLXsgIDE2LCAweGVhYjAsIDAsIHsweDBiLDB4ZTAsMHgwMiwweDg4LDB4MDAsMHhhYSwweDAwLDB4MDMsMHhhMCwweDBhLDB4ZTYsMHgwMiwweGZhLDB4MDAsMHg4YSwweDAwIH0gfSwKLXsgIDE2LCAweGVhYzAsIDAsIHsweDMyLDB4ODAsMHgwYiwweGEwLDB4MDIsMHgyOCwweDAwLDB4OGUsMHg4MCwweGEzLDB4ODAsMHgyOCwweDIwLDB4MDIsMHg4YSwweDAwIH0gfSwKLXsgIDE2LCAweGVhZDAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NmMsMHgwMCwweGIzLDB4NDgsMHgyMCwweDQwIH0gfSwKLXsgIDE2LCAweGVhZTAsIDAsIHsweDBiLDB4MTAsMHgwMiwweDBjLDB4MDAsMHg4MywweDAwLDB4MjAsMHhjMCwweDA4LDB4MzQsMHg4MiwweDhlLDB4MDQsMHg5OSwweDAwIH0gfSwKLXsgIDE2LCAweGVhZjAsIDAsIHsweDBhLDB4YzAsMHgxYiwweDMwLDB4MDIsMHgwYywweDAyLDB4OTAsMHg1MCwweDIwLDB4NjAsMHgwOCwweDMwLDB4MDIsMHgwYSwweDAwIH0gfSwKLXsgIDE2LCAweGViMDAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDExLDB4MWMsMHg4MCwweGJkLDB4MGEsMHgyMSwweDQ4IH0gfSwKLXsgIDE2LCAweGViMTAsIDAsIHsweDBiLDB4NTIsMHgwMiwweDljLDB4NDAsMHhhMywweGEwLDB4MjAsMHg4MCwweDBhLDB4NjAsMHgwMiwweGNlLDB4MDAsMHg4NSwweDIwIH0gfSwKLXsgIDE2LCAweGViMjAsIDAsIHsweDIxLDB4YzQsMHgwYiwweDdhLDB4MDYsMHgxZSwweDgwLDB4OTUsMHgyMCwweDIxLDB4OTAsMHgwOCwweDcwLDB4MDIsMHgyOCwweDAwIH0gfSwKLXsgIDE2LCAweGViMzAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA4LDB4MWUsMHg4MCwweGY3LDB4ODAsMHhiMSwweDc5IH0gfSwKLXsgIDE2LCAweGViNDAsIDAsIHsweDBmLDB4ZGIsMHgwMiwweDNlLDB4MjAsMHhjNywweGEwLDB4YjEsMHg2MCwweGNjLDB4NzgsMHgxMywweDk2LDB4MDAsMHhmMSwweGYwIH0gfSwKLXsgIDE2LCAweGViNTAsIDAsIHsweDM5LDB4ZTIsMHgwZiwweDdiLDB4MTMsMHgwZiwweDAwLDB4ZDQsMHhhMCwweDMxLDB4NjAsMHgyYywweDcwLDB4MDMsMHgyYSwweDAyIH0gfSwKLXsgIDE2LCAweGViNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDE1LDB4YWMsMHgwMCwweGY3LDB4MDAsMHgzZSwweDQwIH0gfSwKLXsgIDE2LCAweGViNzAsIDAsIHsweDBmLDB4OTAsMHgwMywweGVkLDB4ODAsMHhmYiwweDEwLDB4M2UsMHg0MCwweDBiLDB4YjAsMHgyMywweGVjLDB4MDAsMHhmOSwweDIwIH0gfSwKLXsgIDE2LCAweGViODAsIDAsIHsweDNhLDB4ZDgsMHgwZiwweGIwLDB4MGIsMHhlZCwweDgxLDB4ZWQsMHgxMCwweDNlLDB4ODAsMHgwZiwweDMwLDB4MDMsMHhjMiwweDA2IH0gfSwKLXsgIDE2LCAweGViOTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA0LDB4YmUsMHgyMCwweGVlLDB4ODAsMHgzMywweDYwIH0gfSwKLXsgIDE2LCAweGViYTAsIDAsIHsweDBjLDB4ZDgsMHg4MywweDFlLDB4MDAsMHg2ZiwweDgwLDB4MzMsMHhlMCwweDBmLDB4YjgsMHgxMSwweDMyLDB4MDQsMHhmNSwweDgwIH0gfSwKLXsgIDE2LCAweGViYjAsIDAsIHsweDMzLDB4ZTAsMHgwZiwweGY4LDB4ODMsMHgyZiwweDQwLDB4ZmUsMHg4MCwweGIzLDB4ZTAsMHgwYywweGY4LDB4MDMsMHgxMCwweDAwIH0gfSwKLXsgIDE2LCAweGViYzAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE4LDB4OWMsMHgwMCwweGJjLDB4MDAsMHhhMSwweDQ0IH0gfSwKLXsgIDE2LCAweGViZDAsIDAsIHsweDA4LDB4MTAsMHgwMywweDVjLDB4MDAsMHg4ZiwweDAwLDB4MjEsMHg4MCwweDBiLDB4ZWEsMHgyMiwweDFjLDB4ODAsMHhiNSwweDAxIH0gfSwKLXsgIDE2LCAweGViZTAsIDAsIHsweDIxLDB4YzAsMHgwYiwweGYwLDB4MDIsMHgxZSwweDgwLDB4YmUsMHgwMCwweDIzLDB4ODAsMHgyYSwweDcwLDB4MDIsMHgyYSwweDA0IH0gfSwKLXsgIDE2LCAweGViZjAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OWMsMHgyMCwweGE3LDB4MDAsMHgyMywweDQwIH0gfSwKLXsgIDE2LCAweGVjMDAsIDAsIHsweDBiLDB4NTAsMHgwYSwweDNjLDB4MDAsMHhhNywweDAwLDB4MjUsMHhjMCwweDBhLDB4NDMsMHgwMiwweDEwLDB4MDAsMHhiNSwweDAwIH0gfSwKLXsgIDE2LCAweGVjMTAsIDAsIHsweDIxLDB4YzAsMHgwYiwweDcwLDB4ODIsMHgxYywweDgwLDB4YjQsMHgwMCwweDIxLDB4YzAsMHgwOCwweDcwLDB4MDIsMHgwNCwweDAwIH0gfSwKLXsgIDE2LCAweGVjMjAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMCwweDA0LDB4OGUsMHgwNCwweGIzLDB4MDAsMHgyMiwweDQwIH0gfSwKLXsgIDE2LCAweGVjMzAsIDAsIHsweDA5LDB4MTQsMHgwMiwweDRjLDB4MDAsMHg4MywweDAwLDB4MjAsMHhjMCwweDBiLDB4MjQsMHg4MiwweDA0LDB4MDAsMHhiMSwweDAwIH0gfSwKLXsgIDE2LCAweGVjNDAsIDAsIHsweDIwLDB4YzAsMHg4YiwweDNhLDB4MDIsMHgyYywweDAxLDB4YjAsMHgwMCwweDIwLDB4ODAsMHgwYSwweDMwLDB4MDIsMHgxYSwweDA0IH0gfSwKLXsgIDE2LCAweGVjNTAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4OWUsMHgwMCwweGViLDB4MDQsMHgzMywweDQwIH0gfSwKLXsgIDE2LCAweGVjNjAsIDAsIHsweDJkLDB4ZGMsMHgwMywweDFkLDB4NjAsMHhlZiwweDAwLDB4MzIsMHgwMCwweGNmLDB4OWEsMHgwMywweDI4LDB4MDAsMHhmZCwweDAwIH0gfSwKLXsgIDE2LCAweGVjNzAsIDAsIHsweDMzLDB4YzEsMHg4YiwweGZjLDB4MGIsMHgzYywweDAwLDB4ZmMsMHgwMCwweDMyLDB4ODAsMHgwYywweDkwLDB4MDMsMHgyYSwweDA0IH0gfSwKLXsgIDE2LCAweGVjODAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDAwLDB4YWMsMHgxMCwweGY4LDB4MDAsMHgzZSwweDQwIH0gfSwKLXsgIDE2LCAweGVjOTAsIDAsIHsweDBlLDB4OTgsMHgyMywweGFjLDB4MDQsMHhmYiwweDAwLDB4M2MsMHgwMCwweDBmLDB4ODQsMHgyMCwweGVkLDB4MDAsMHhmOSwweDAwIH0gfSwKLXsgIDE2LCAweGVjYTAsIDAsIHsweDNlLDB4YzAsMHg0ZiwweGIwLDB4MDMsMHhlYywweDAwLDB4ZmQsMHgwMCwweDNlLDB4ODAsMHgwZiwweDkwLDB4MDMsMHhlNCwweDAwIH0gfSwKLXsgIDE2LCAweGVjYjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMSwweDEwLDB4ZmMsMHgwMCwweGNmLDB4ODAsMHgzMywweDQwIH0gfSwKLXsgIDE2LCAweGVjYzAsIDAsIHsweDBjLDB4ZDAsMHg4MywweGZjLDB4MDAsMHhlZiwweDAwLDB4M2YsMHg0MCwweDBjLDB4ZjEsMHg0MSwweDMwLDB4MTAsMHhjZCwweDAwIH0gfSwKLXsgIDE2LCAweGVjZDAsIDAsIHsweDNmLDB4YzAsMHgwMCwweDcwLDB4MTMsMHgzYywweDAwLDB4ZTQsMHgwMCwweGIxLDB4ZDAsMHgwYywweDEwLDB4MDMsMHgyMCwweDA0IH0gfSwKLXsgIDE2LCAweGVjZTAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMSwweDA0LDB4MmMsMHgwMCwweDhhLDB4ZTQsMHgyYSwweDQwIH0gfSwKLXsgIDE2LCAweGVjZjAsIDAsIHsweDI4LDB4OTAsMHgwMiwweGVjLDB4MDAsMHg4YiwweDAwLDB4M2UsMHgwMiwweDBhLDB4ODAsMHgwMiwweDJjLDB4ODIsMHg4OSwweDA0IH0gfSwKLXsgIDE2LCAweGVkMDAsIDAsIHsweDJlLDB4YzEsMHgwYSwweGIwLDB4MGEsMHgyYywweDAwLDB4ODksMHgwMiwweDIyLDB4ZjIsMHgyYSwweDk4LDB4MDIsMHgyMCwweDAwIH0gfSwKLXsgIDE2LCAweGVkMTAsIDAsIHsweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MmMsMHgwMiwweDgwLDB4MTQsMHgyYSwweDQwIH0gfSwKLXsgIDE2LCAweGVkMjAsIDAsIHsweDA4LDB4OTAsMHgwMiwweGVjLDB4MDgsMHhhYiwweDA0LDB4MmUsMHg4NCwweDA4LDB4MTAsMHg4MiwweDgwLDB4MTAsMHg4OSwweDAzIH0gfSwKLXsgIDE2LCAweGVkMzAsIDAsIHsweDJjLDB4YzAsMHg0YSwweGIwLDB4MjIsMHgyYywweDAwLDB4YWEsMHgwMCwweDIyLDB4ODAsMHgwOCwweDkxLDB4MDIsMHgyMCwweDAwIH0gfSwKLXsgIDE2LCAweGVkNDAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDE0LDB4MmMsMHgwMCwweDgwLDB4MDAsMHgyOCwweDQwIH0gfSwKLXsgIDE2LCAweGVkNTAsIDAsIHsweDA4LDB4MTEsMHgwMiwweGVjLDB4MDAsMHg4MywweDAwLDB4MmMsMHg4MSwweDBhLDB4MDAsMHg1YSwweDg4LDB4MDAsMHgwMSwweDAwIH0gfSwKLXsgIDE2LCAweGVkNjAsIDAsIHsweDJjLDB4YzAsMHgwYSwweDMwLDB4MDIsMHgwYywweDAwLDB4ODIsMHgwMCwweDIwLDB4ODAsMHgwYSwweDEwLDB4MDIsMHgwMiwweDAxIH0gfSwKLXsgIDE2LCAweGVkNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4NmMsMHgwMCwweGM5LDB4MDAsMHgzYSwweDQwIH0gfSwKLXsgIDE2LCAweGVkODAsIDAsIHsweDBjLDB4ZDQsMHgwMywweGZjLDB4MDAsMHhlYiwweDAwLDB4M2UsMHg0MCwweDBjLDB4OTIsMHgwMywweGEwLDB4MDAsMHg0ZCwweDAwIH0gfSwKLXsgIDE2LCAweGVkOTAsIDAsIHsweDNmLDB4YzAsMHgwZSwweGYwLDB4MzMsMHgzYywweDgwLDB4ZTgsMHgwMCwweDMyLDB4YzAsMHgwYywweDkwLDB4MDMsMHgyMCwweDAzIH0gfSwKLXsgIDE2LCAweGVkYTAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDExLDB4ZmMsMHgwMCwweGZjLDB4MDAsMHgzZCwweDQwIH0gfSwKLXsgIDE2LCAweGVkYjAsIDAsIHsweDBmLDB4NTAsMHgwMywweGZjLDB4MDIsMHgzZiwweDA0LDB4M2IsMHgwMSwweDRmLDB4YzQsMHgxMywweDcwLDB4MDAsMHhmZCwweDAwIH0gfSwKLXsgIDE2LCAweGVkYzAsIDAsIHsweDNmLDB4YzAsMHgxZiwweGYwLDB4MDEsMHhmYywweDQwLDB4ZmMsMHgwMCwweDNmLDB4YzAsMHgwZiwweGQwLDB4MTMsMHhlOCwweDA2IH0gfSwKLXsgIDE2LCAweGVkZDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZjgsMHhlMCwweGZmLDB4ODAsMHgzZCwweGMwIH0gfSwKLXsgIDE2LCAweGVkZTAsIDAsIHsweDBkLDB4ZjMsMHg4MiwweGYwLDB4ODAsMHhmZiwweDQwLDB4MzEsMHhjYiwweDBjLDB4ZjMsMHgwMywweGZkLDB4MDQsMHhlZiwweGMxIH0gfSwKLXsgIDE2LCAweGVkZjAsIDAsIHsweDMzLDB4ZTAsMHgwZiwweDc5LDB4MDMsMHhmZSwweDAwLDB4Y2YsMHg0MiwweDMzLDB4ZjAsMHg0YywweGY4LDB4MDMsMHgzMCwweDAwIH0gfSwKLXsgIDE2LCAweGVlMDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDEwLDB4ZTksMHgwOCwweGI5LDB4ODEsMHgyZiwweGYwIH0gfSwKLXsgIDE2LCAweGVlMTAsIDAsIHsweDA4LDB4ZjQsMHg1MiwweGU5LDB4MjAsMHhiZiwweDQwLDB4MjMsMHhmMCwweDBhLDB4ZjMsMHgwMiwweGZkLDB4MDgsMHg4YiwweDAwIH0gfSwKLXsgIDE2LCAweGVlMjAsIDAsIHsweDM2LDB4ZTAsMHgwYiwweDgwLDB4MjIsMHhlOCwweDgwLDB4OGYsMHg0MCwweDIyLDB4YzAsMHgwOCwweGIwLDB4ODIsMHgzMCwweDA0IH0gfSwKLXsgIDE2LCAweGVlMzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjOCwweDA1LDB4Y2MsMHgwMCwweGIxLDB4ODAsMHgyYywweGM1IH0gfSwKLXsgIDE2LCAweGVlNDAsIDAsIHsweDA5LDB4MzIsMHg0MiwweGM4LDB4YzAsMHhiMywweDMxLDB4MjAsMHhjMSwweDA4LDB4MzIsMHgwMiwweGNjLDB4ZDQsMHhiYiwweDIwIH0gfSwKLXsgIDE2LCAweGVlNTAsIDAsIHsweDY4LDB4YzAsMHgwYiwweDMwLDB4MDIsMHhjYywweDIwLDB4OTMsMHg2MCwweDIwLDB4ODgsMHgwOCwweDMyLDB4MDIsMHgzMiwweDAxIH0gfSwKLXsgIDE2LCAweGVlNjAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDE1LDB4YTAsMHgwMCwweGJiLDB4ODAsMHgyZSwweGMwIH0gfSwKLXsgIDE2LCAweGVlNzAsIDAsIHsweDA4LDB4YjAsMHgwMiwweGVhLDB4MDAsMHhiYiwweDAwLDB4NjIsMHhjMSwweDBhLDB4YjAsMHgwMiwweGNjLDB4MDAsMHhhYiwweDAwIH0gfSwKLXsgIDE2LCAweGVlODAsIDAsIHsweDJlLDB4YzAsMHgwYiwweGEwLDB4MDAsMHhlOCwweDAwLDB4ODMsMHgwMCwweDIyLDB4YzEsMHgwOCwweDMwLDB4MDIsMHgzMCwweDA0IH0gfSwKLXsgIDE2LCAweGVlOTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE1LDB4ZTgsMHg5MCwweGZiLDB4ODAsMHgzZSwweGMwIH0gfSwKLXsgIDE2LCAweGVlYTAsIDAsIHsweDBkLDB4YjAsMHgwMywweGUyLDB4MTAsMHhmYiwweDAwLDB4MzIsMHhjMCwweDRjLDB4YjAsMHgxMywweGVjLDB4MDAsMHhlOSwweDU0IH0gfSwKLXsgIDE2LCAweGVlYjAsIDAsIHsweDNhLDB4YzAsMHgwZiwweGIwLDB4MDMsMHhlNiwweDAwLDB4Y2IsMHgwMCwweGIyLDB4NDAsMHgwYywweGIwLDB4MDMsMHgwNCwweDA0IH0gfSwKLXsgIDE2LCAweGVlYzAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDAxLDB4YjgsMHgwMCwweGZmLDB4MDAsMHgzZiwweGMwIH0gfSwKLXsgIDE2LCAweGVlZDAsIDAsIHsweDhmLDB4ZjAsMHgwMywweGYwLDB4MDAsMHhmNywweDAyLDB4YmYsMHhjMSwweDBmLDB4ZjAsMHgyMywweGZjLDB4MDAsMHhkZiwweDA2IH0gfSwKLXsgIDE2LCAweGVlZTAsIDAsIHsweDM3LDB4YzAsMHg4ZiwweGM5LDB4MDcsMHhmYSwweDkyLDB4ZmYsMHgwNCwweDNmLDB4NTAsMHgyZiwweGYwLDB4MDMsMHhmOCwweDAwIH0gfSwKLXsgIDE2LCAweGVlZjAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg1MCwweDEwLDB4YWMsMHgwMCwweGM5LDB4MDAsMHgzZSwweGMyIH0gfSwKLXsgIDE2LCAweGVmMDAsIDAsIHsweDBlLDB4YjAsMHgyMywweGU0LDB4MDAsMHhlYiwweDAwLDB4M2EsMHhjOCwweDBlLDB4YjAsMHgwMywweGVjLDB4MDAsMHhmOSwweDAwIH0gfSwKLXsgIDE2LCAweGVmMTAsIDAsIHsweDNlLDB4YzAsMHgwZiwweGI0LDB4MDMsMHhhNCwweDAwLDB4ZmIsMHgwMCwweDNlLDB4ODAsMHgwZiwweGIwLDB4ODMsMHhkMCwweDA0IH0gfSwKLXsgIDE2LCAweGVmMjAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjOCwweDA1LDB4MjgsMHgwMCwweDhiLDB4NzQsMHgyZCwweGMwIH0gfSwKLXsgIDE2LCAweGVmMzAsIDAsIHsweDA4LDB4ZjAsMHgwMiwweGU0LDB4MDAsMHg4ZiwweDAwLDB4MjEsMHhmMCwweDA4LDB4ZjAsMHgwMiwweGZjLDB4MTAsMHhkMywweDAwIH0gfSwKLXsgIDE2LCAweGVmNDAsIDAsIHsweDJlLDB4YzAsMHgwYiwweDkwLDB4MTIsMHgyYywweDAwLDB4ZWYsMHgwMCwweDJlLDB4YzAsMHgwYiwweGI2LDB4MDIsMHhmNiwweDAwIH0gfSwKLXsgIDE2LCAweGVmNTAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDA1LDB4NDgsMHgwMCwweGEzLDB4MDAsMHgyYywweGM0IH0gfSwKLXsgIDE2LCAweGVmNjAsIDAsIHsweDBhLDB4MzAsMHgwMiwweGMwLDB4MDAsMHhhMywweDAwLDB4NjgsMHhmMCwweDBhLDB4MzAsMHgxMiwweGNjLDB4MDQsMHhhMiwweDAwIH0gfSwKLXsgIDE2LCAweGVmNzAsIDAsIHsweDJjLDB4YzAsMHgwYiwweDMwLDB4MDIsMHhlYywweDAwLDB4YjMsMHgwMSwweDJlLDB4YzAsMHgwYiwweDM0LDB4MDIsMHhmOCwweDAwIH0gfSwKLXsgIDE2LCAweGVmODAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiMCwweDAxLDB4MGMsMHgwMCwweDg3LDB4ODAsMHgyZCwweGU4IH0gfSwKLXsgIDE2LCAweGVmOTAsIDAsIHsweDA4LDB4NzgsMHg0MiwweGRhLDB4MDAsMHg4NywweDgwLDB4MjUsMHhlMCwweDA4LDB4NzksMHgwMiwweGNlLDB4MDAsMHg5NiwweDgwIH0gfSwKLXsgIDE2LCAweGVmYTAsIDAsIHsweDJkLDB4ZTAsMHgwYiwweGQ5LDB4MDIsMHhkZSwweDAwLDB4YTcsMHg4MCwweDJkLDB4ZTAsMHgwYiwweDc4LDB4MDIsMHhmYywweDAwIH0gfSwKLXsgIDE2LCAweGVmYjAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MGMsMHg0MCwweGUzLDB4MTAsMHgzYywweGMwIH0gfSwKLXsgIDE2LCAweGVmYzAsIDAsIHsweDBhLDB4MzgsMHgwMywweGU4LDB4MDAsMHhlYiwweDAwLDB4MzgsMHhjMiwweDBhLDB4MzAsMHgwMywweGNjLDB4MDAsMHhlMywweDQwIH0gfSwKLXsgIDE2LCAweGVmZDAsIDAsIHsweDNjLDB4YzAsMHgwZiwweDM0LDB4MDMsMHhjZCwweDAwLDB4ZjMsMHgyMCwweDNjLDB4ODgsMHgwZiwweDMwLDB4MDMsMHhkMiwweDAyIH0gfSwKLXsgIDE2LCAweGVmZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDFkLDB4YjQsMHg4MCwweGZmLDB4MDQsMHgzZiwweGM4IH0gfSwKLXsgIDE2LCAweGVmZjAsIDAsIHsweDBmLDB4ZjAsMHg4MywweGY4LDB4NDAsMHhmZiwweDE4LDB4M2IsMHhjMCwweDBmLDB4ZjQsMHg4MywweGZjLDB4MDAsMHhlZSwweDAyIH0gfSwKLXsgIDE2LCAweGYwMDAsIDAsIHsweDNmLDB4YzAsMHgwZiwweGYwLDB4MDMsMHgzYywweDAwLDB4ZWYsMHgwOCwweDNmLDB4ODAsMHgwZiwweGYwLDB4MTMsMHhkMCwweDA2IH0gfSwKLXsgIDE2LCAweGYwMTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4ZTgsMHgwMCwweGNiLDB4MDAsMHgzZSwweGYyIH0gfSwKLXsgIDE2LCAweGYwMjAsIDAsIHsweDRkLDB4YjIsMHgxMywweGU4LDB4MDQsMHhjYiwweDAxLDB4MzIsMHhmOCwweDRkLDB4YjIsMHgxMywweDZkLDB4MjAsMHhmOCwweDAwIH0gfSwKLXsgIDE2LCAweGYwMzAsIDAsIHsweDNlLDB4YzAsMHgwZiwweDMwLDB4MDMsMHgyNCwweDAwLDB4ZmIsMHgwMCwweDNlLDB4NDAsMHg4ZiwweGI4LDB4MDMsMHgyYSwweDAwIH0gfSwKLXsgIDE2LCAweGYwNDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjOCwweDExLDB4OGMsMHgwMCwweDg2LDB4MDAsMHgyYywweGMwIH0gfSwKLXsgIDE2LCAweGYwNTAsIDAsIHsweDA4LDB4NzMsMHgwMiwweGQ4LDB4MTIsMHg4NywweDMwLDB4MjAsMHhjYiwweDA4LDB4ZjIsMHgwMiwweDFkLDB4MDUsMHhiNSwweDAwIH0gfSwKLXsgIDE2LCAweGYwNjAsIDAsIHsweDJkLDB4YzAsMHgwYiwweDYwLDB4MDMsMHg1MCwweDEwLDB4YjcsMHgwOSwweDJkLDB4YzAsMHgwYiwweGYwLDB4MDIsMHgzMiwweDA0IH0gfSwKLXsgIDE2LCAweGYwNzAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDAwLDB4OWUsMHgwMCwweDg3LDB4ODAsMHgyZCwweGU0IH0gfSwKLXsgIDE2LCAweGYwODAsIDAsIHsweDA5LDB4N2EsMHgwMiwweGNlLDB4MDEsMHg4NywweDgwLDB4MjEsMHhlYywweDA5LDB4NzgsMHgwMiwweDVlLDB4ODAsMHhiNywweGMwIH0gfSwKLXsgIDE2LCAweGYwOTAsIDAsIHsweDJkLDB4ZTAsMHgwYiwweGY4LDB4MDIsMHgxZSwweDAwLDB4YjcsMHhhMCwweDJkLDB4NjAsMHgwYiwweDc4LDB4MDIsMHgyMCwweDAwIH0gfSwKLXsgIDE2LCAweGYwYTAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDE0LDB4ZWUsMHgwMCwweDgyLDB4ODAsMHgyYywweGMwIH0gfSwKLXsgIDE2LCAweGYwYjAsIDAsIHsweDA4LDB4MzAsMHgwMiwweGVjLDB4MDAsMHg4MywweDAwLDB4YTAsMHhjMCwweDA4LDB4MzAsMHgwMiwweDBjLDB4MDAsMHhiMywweDgwIH0gfSwKLXsgIDE2LCAweGYwYzAsIDAsIHsweDJjLDB4YzEsMHgwYiwweDMwLDB4MDIsMHg0ZSwweDAwLDB4YjMsMHgwMCwweDJjLDB4ZjEsMHgwYiwweDMwLDB4MGEsMHgxMiwweDA0IH0gfSwKLXsgIDE2LCAweGYwZDAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YmEsMHg4MCwweGM2LDB4MDAsMHgzZSwweDgwIH0gfSwKLXsgIDE2LCAweGYwZTAsIDAsIHsweDBkLDB4YTAsMHgwMywweGY4LDB4NDAsMHhjYSwweDAwLDB4MzIsMHg4MCwweDBkLDB4YTAsMHgxMywweDY4LDB4MDAsMHhmZSwweDAyIH0gfSwKLXsgIDE2LCAweGYwZjAsIDAsIHsweDdlLDB4ODAsMHgwZiwweGVkLDB4ODMsMHgzOSwweDEwLDB4ZmEsMHgwMCwweDNmLDB4OGMsMHgwZiwweGEwLDB4MDMsMHgzYSwweDA0IH0gfSwKLXsgIDE2LCAweGYxMDAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDAwLDB4ZTAsMHgxMiwweGY4LDB4OTAsMHgzZSwweDAwIH0gfSwKLXsgIDE2LCAweGYxMTAsIDAsIHsweDBmLDB4ODAsMHgwMywweGUwLDB4MDAsMHhmOCwweDA1LDB4M2UsMHgwMCwweDBlLDB4MDAsMHgwMywweGUwLDB4MDAsMHhmOCwweDgwIH0gfSwKLXsgIDE2LCAweGYxMjAsIDAsIHsweDNlLDB4MDAsMHgwZiwweDgwLDB4MDMsMHhlMCwweDYwLDB4ZjgsMHgwMCwweDdlLDB4MDAsMHgwZiwweDgwLDB4MDMsMHhkMiwweDAwIH0gfSwKLXsgIDE2LCAweGYxMzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTQsMHgwMCwweGM5LDB4ODAsMHgzMiwweDY0IH0gfSwKLXsgIDE2LCAweGYxNDAsIDAsIHsweDBmLDB4OTAsMHg0MywweGU0LDB4MDYsMHhjMSwweDA0LDB4M2EsMHg0MCwweDBmLDB4OTAsMHgwMywweGU0LDB4MDAsMHhlOSwweDAwIH0gfSwKLXsgIDE2LCAweGYxNTAsIDAsIHsweDMyLDB4NDAsMHgwZiwweDkwLDB4MDMsMHgyNCwweDAwLDB4YzEsMHgwMSwweDMyLDB4NDAsMHgwYywweDkwLDB4MDMsMHhjMiwweDA0IH0gfSwKLXsgIDE2LCAweGYxNjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA0LDB4NjQsMHgwMCwweDg5LDB4YzAsMHgyMiwweDQwIH0gfSwKLXsgIDE2LCAweGYxNzAsIDAsIHsweDBiLDB4OTAsMHgwMiwweDI0LDB4MDAsMHg4OSwweDAwLDB4MjIsMHg1MCwweDFiLDB4OTAsMHgyMiwweDI0LDB4MDAsMHg4MSwweDAwIH0gfSwKLXsgIDE2LCAweGYxODAsIDAsIHsweDIyLDB4NDAsMHgwYiwweDkwLDB4MjIsMHgyNCwweDA4LDB4YzksMHgwMCwweDIwLDB4NDAsMHgwOCwweDk0LDB4MDIsMHhlMCwweDAwIH0gfSwKLXsgIDE2LCAweGYxOTAsIDAsIHsweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4MjQsMHgwMCwweDk5LDB4MjAsMHgyMiwweDQwIH0gfSwKLXsgIDE2LCAweGYxYTAsIDAsIHsweDBiLDB4MTAsMHgwMiwweGE0LDB4MDAsMHg4OSwweDAwLDB4MmEsMHg1OCwweDBiLDB4OTAsMHgwMiwweDg0LDB4MDAsMHhhOSwweDAwIH0gfSwKLXsgIDE2LCAweGYxYjAsIDAsIHsweDIyLDB4NDAsMHgwYiwweDEwLDB4MGEsMHgwNCwweDAwLDB4OTksMHgwMiwweDIyLDB4YzEsMHgwOCwweDkwLDB4ODIsMHhjNiwweDAwIH0gfSwKLXsgIDE2LCAweGYxYzAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA0LDB4MDQsMHgwMCwweDkxLDB4MDIsMHhhMCwweGM4IH0gfSwKLXsgIDE2LCAweGYxZDAsIDAsIHsweDBiLDB4MTIsMHgwMiwweDA0LDB4ODAsMHg4MSwweDIyLDB4MjAsMHg0OCwweDliLDB4MTIsMHgwMiwweDA0LDB4OTAsMHg4OSwweDAxIH0gfSwKLXsgIDE2LCAweGYxZTAsIDAsIHsweDIwLDB4NDAsMHgwYiwweDEwLDB4MDIsMHgwNCwweDAyLDB4ODEsMHgyMiwweDIyLDB4NDAsMHgwOCwweDEwLDB4MDIsMHhjMiwweDAxIH0gfSwKLXsgIDE2LCAweGYxZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjEsMHg0MiwweGRhLDB4MDEsMHgzMiwweDAxIH0gfSwKLXsgIDE2LCAweGYyMDAsIDAsIHsweDBmLDB4ODUsMHgwMywweGExLDB4NDAsMHhjMCwweDUwLDB4M2EsMHgwMSwweDhiLDB4ODUsMHgyMywweGExLDB4NDQsMHhlOCwweDUwIH0gfSwKLXsgIDE2LCAweGYyMTAsIDAsIHsweGIyLDB4MDAsMHgwZiwweDg1LDB4MDMsMHgyMSwweDQ4LDB4ZDgsMHg1MSwweDMyLDB4MTQsMHgyYywweDg1LDB4MDMsMHhlZSwweDAzIH0gfSwKLXsgIDE2LCAweGYyMjAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5OCwweDFkLDB4ZjUsMHgwMCwweGVkLDB4MDIsMHgzZSwweDQ0IH0gfSwKLXsgIDE2LCAweGYyMzAsIDAsIHsweDBmLDB4OTEsMHgwMywweGY0LDB4NDAsMHhmOSwweDEwLDB4M2UsMHg0NCwweDBmLDB4OTEsMHgwMywweGU0LDB4NDAsMHhmZCwweDAwIH0gfSwKLXsgIDE2LCAweGYyNDAsIDAsIHsweDNlLDB4NDAsMHgwZiwweGQwLDB4MDMsMHhmNCwweDAwLDB4ZTksMHgxMCwweGJmLDB4NDAsMHgwZiwweDkwLDB4MDMsMHg2NiwweDA2IH0gfSwKLXsgIDE2LCAweGYyNTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4ZTYsMHgyMSwweGM1LDB4MDAsMHgzMywweDY4IH0gfSwKLXsgIDE2LCAweGYyNjAsIDAsIHsweDBmLDB4OWEsMHgwMywweDZmLDB4ODgsMHhjOSwweGMwLDB4MzMsMHg2OCwweDBjLDB4OWUsMHgwMywweDI3LDB4ODAsMHhkOSwweDQwIH0gfSwKLXsgIDE2LCAweGYyNzAsIDAsIHsweDNlLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhjNSwweDEwLDB4ZDksMHhlOCwweDM2LDB4NTAsMHgwYywweGQwLDB4MDMsMHhlNiwweDAwIH0gfSwKLXsgIDE2LCAweGYyODAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzOCwweDEwLDB4ZTEsMHgwOCwweDg4LDB4MDAsMHg4MiwweDAwIH0gfSwKLXsgIDE2LCAweGYyOTAsIDAsIHsweDBiLDB4OGUsMHg4MiwweGViLDB4YzgsMHg4OCwweGUwLDB4MjIsMHgwMCwweDI4LDB4ODgsMHg0MiwweGEyLDB4ODAsMHg4YSwweDgwIH0gfSwKLXsgIDE2LCAweGYyYTAsIDAsIHsweDIyLDB4MDAsMHgwYiwweGFhLDB4MDIsMHhlMiwweDAwLDB4ODgsMHhjMCwweDIyLDB4YTksMHgwOCwweDhhLDB4MDMsMHg4ZSwweDA0IH0gfSwKLXsgIDE2LCAweGYyYjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA1LDB4YzQsMHgwMCwweDgxLDB4MDAsMHgyMCwweGQwIH0gfSwKLXsgIDE2LCAweGYyYzAsIDAsIHsweDBiLDB4MTEsMHgzMiwweDg0LDB4ODQsMHg4MSwweDYwLDB4NjAsMHg1MCwweDA4LDB4MTYsMHgwNiwweDA1LDB4MDAsMHg5MSwweDIwIH0gfSwKLXsgIDE2LCAweGYyZDAsIDAsIHsweDIwLDB4NDAsMHgwYiwweDEwLDB4ODIsMHhlNCwweDA5LDB4OTEsMHgyMCwweDI0LDB4NDAsMHgwOCwweDEwLDB4YzIsMHhkMiwweDAxIH0gfSwKLXsgIDE2LCAweGYyZTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDE1LDB4YTQsMHgwNCwweDg5LDB4MDQsMHgyMiwweDQwIH0gfSwKLXsgIDE2LCAweGYyZjAsIDAsIHsweDBiLDB4OTAsMHgwMiwweGM0LDB4MDAsMHhhOSwweDAwLDB4MjIsMHg0MSwweDAwLDB4OTAsMHgwMiwweGE0LDB4MDAsMHg4MSwweDAwIH0gfSwKLXsgIDE2LCAweGYzMDAsIDAsIHsweDIyLDB4NDAsMHgwYiwweDkyLDB4MjIsMHhlNSwweDgwLDB4OTksMHgwMSwweDIyLDB4NjEsMHgwOCwweDkwLDB4MDIsMHg4NiwweDA0IH0gfSwKLXsgIDE2LCAweGYzMTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE0LDB4YTUsMHg4MiwweDgxLDB4OTAsMHgzMiwweDQwIH0gfSwKLXsgIDE2LCAweGYzMjAsIDAsIHsweDBmLDB4OTAsMHgxMywweDY3LDB4MDIsMHhjOSwweDAwLDB4MzIsMHg0MCwweDBjLDB4OTAsMHgyMywweDI0LDB4MDQsMHhkOSwweGMwIH0gfSwKLXsgIDE2LCAweGYzMzAsIDAsIHsweGIyLDB4NDAsMHgwZiwweDljLDB4MDMsMHhlNiwweDAwLDB4ZDksMHgwMCwweDM2LDB4NTAsMHgwYywweDkwLDB4MDMsMHhlOCwweDA0IH0gfSwKLXsgIDE2LCAweGYzNDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg2OCwweDAwLDB4YTYsMHg4MCwweGY5LDB4MDAsMHgzZSwweDQwIH0gfSwKLXsgIDE2LCAweGYzNTAsIDAsIHsweDBmLDB4OTAsMHgwMywweGU3LDB4MDAsMHhkOSwweDAwLDB4YmMsMHg0MiwweDBmLDB4OTAsMHg1MywweGU0LDB4MDQsMHhmOSwweDEwIH0gfSwKLXsgIDE2LCAweGYzNjAsIDAsIHsweDNlLDB4NDAsMHgwZiwweDk4LDB4MDMsMHhlNiwweDA0LDB4ZTEsMHgwMCwweDNlLDB4NDAsMHgyZiwweDkwLDB4MDMsMHhkYSwweDAwIH0gfSwKLXsgIDE2LCAweGYzNzAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4ODEsMHgxMCwweDQ4LDB4MTAsMHgzMiwweDA4IH0gfSwKLXsgIDE2LCAweGYzODAsIDAsIHsweDBjLDB4ODAsMHgwZiwweDIxLDB4MDIsMHhjOCwweDAwLDB4M2EsMHgwNCwweDBmLDB4ODAsMHgwNywweDYwLDB4MDAsMHhmOCwweDQwIH0gfSwKLXsgIDE2LCAweGYzOTAsIDAsIHsweGIyLDB4MDAsMHgwZiwweDg0LDB4MGIsMHgyMCwweDAwLDB4ZDgsMHgwMCwweDM2LDB4MTAsMHgwYywweDgwLDB4MDMsMHhjYSwweDA0IH0gfSwKLXsgIDE2LCAweGYzYTAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA0LDB4MjgsMHgwNCwweDhlLDB4ODAsMHgyMywweDgwIH0gfSwKLXsgIDE2LCAweGYzYjAsIDAsIHsweDA4LDB4YTAsMHg0MiwweDI4LDB4MDAsMHg4YSwweDAwLDB4MjMsMHhhMCwweDRiLDB4YTAsMHgwMiwweGU4LDB4MDAsMHhiYSwweDAwIH0gfSwKLXsgIDE2LCAweGYzYzAsIDAsIHsweDc2LDB4ODAsMHgwYiwweGEwLDB4MDIsMHgwOCwweDAwLDB4OGEsMHgwMCwweDMyLDB4ODAsMHgwOCwweGUwLDB4MDMsMHhjYSwweDAwIH0gfSwKLXsgIDE2LCAweGYzZDAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NGMsMHgwMCwweDgyLDB4MDAsMHgyMCwweGQwIH0gfSwKLXsgIDE2LCAweGYzZTAsIDAsIHsweDA4LDB4MzAsMHgwMiwweDBjLDB4MDAsMHg5YiwweDAwLDB4MjgsMHhjMCwweDFhLDB4YjAsMHgwMiwweDZjLDB4MDAsMHhiMywweDAyIH0gfSwKLXsgIDE2LCAweGYzZjAsIDAsIHsweDIwLDB4YzAsMHgwYiwweDMwLDB4MDIsMHgwYywweDAwLDB4YTMsMHgwMCwweDIyLDB4YzAsMHgyOCwweDM0LDB4ODIsMHhjYSwweDAwIH0gfSwKLXsgIDE2LCAweGY0MDAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMCwweDAxLDB4MWMsMHgwMCwweDg3LDB4MDAsMHgyMCwweGUwIH0gfSwKLXsgIDE2LCAweGY0MTAsIDAsIHsweDA4LDB4NzgsMHgwMiwweDBjLDB4MDAsMHg5NywweDIwLDB4MjUsMHhjMCwweDBiLDB4NzEsMHgwMiwweGRjLDB4ODEsMHhiNywweDIwIH0gfSwKLXsgIDE2LCAweGY0MjAsIDAsIHsweDIxLDB4YzAsMHgwYiwweDdhLDB4NDIsMHgzYywweDgwLDB4ODcsMHgyMCwweDIxLDB4YzAsMHgwOCwweDcwLDB4MDIsMHhlOCwweDAwIH0gfSwKLXsgIDE2LCAweGY0MzAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA4LDB4MGUsMHg4MiwweGM3LDB4ODAsMHhiMSwweGUwIH0gfSwKLXsgIDE2LCAweGY0NDAsIDAsIHsweDJjLDB4ZmEsMHgwNiwweDFlLDB4MDgsMHhkMywweGIxLDB4MzksMHg2MCwweDRlLDB4NzgsMHgxMiwweDVlLDB4YTAsMHhmZiwweGYwIH0gfSwKLXsgIDE2LCAweGY0NTAsIDAsIHsweDIxLDB4ZTAsMHgwZiwweGY4LDB4MDMsMHgxZiwweDA4LDB4ZTMsMHhhMCwweDMzLDB4ZTAsMHgwYywweDY4LDB4MDMsMHhlYSwweDAyIH0gfSwKLXsgIDE2LCAweGY0NjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDFkLDB4YWMsMHg0MCwweGZiLDB4MDAsMHgzZSwweGMwIH0gfSwKLXsgIDE2LCAweGY0NzAsIDAsIHsweDBmLDB4YjIsMHgwMywweGVkLDB4YTgsMHhlYiwweDEwLDB4M2EsMHg4MCwweDBmLDB4YjAsMHhjMywweGVjLDB4NDAsMHhmYiwweDAwIH0gfSwKLXsgIDE2LCAweGY0ODAsIDAsIHsweDNlLDB4YzAsMHgwZiwweGIwLDB4ODMsMHhlYywweDgwLDB4ZWIsMHg3MCwweGJlLDB4YzQsMHgwZiwweGIwLDB4MDMsMHg4MiwweDA2IH0gfSwKLXsgIDE2LCAweGY0OTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDA1LDB4ZmUsMHgwMCwweGNlLDB4ODAsMHhiMywweDYwIH0gfSwKLXsgIDE2LCAweGY0YTAsIDAsIHsweDBmLDB4ZmMsMHg4MywweDdlLDB4MjAsMHhlZiwweGIwLDB4M2IsMHhlMCwweDBmLDB4YjgsMHgwMywweDNlLDB4MDAsMHhjZiwweDgxIH0gfSwKLXsgIDE2LCAweGY0YjAsIDAsIHsweDNmLDB4ZTAsMHg4ZiwweGY4LDB4ODMsMHhlZiwweDQwLDB4ZmYsMHhjMiwweDMzLDB4ZTEsMHgwYywweGY4LDB4MDMsMHhkMCwweDAwIH0gfSwKLXsgIDE2LCAweGY0YzAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDExLDB4OWMsMHg4MiwweDg3LDB4MTgsMHgyMSwweDgwIH0gfSwKLXsgIDE2LCAweGY0ZDAsIDAsIHsweDBiLDB4MzAsMHgwMiwweDFjLDB4NjAsMHhkNywweDEwLDB4MjEsMHhkMCwweDBiLDB4N2IsMHgwMiwweDNjLDB4MDAsMHhkNywweDAwIH0gfSwKLXsgIDE2LCAweGY0ZTAsIDAsIHsweDJkLDB4YzAsMHgwYiwweDcwLDB4MDIsMHhkZSwweDAwLDB4YmYsMHgwMCwweGEzLDB4YzQsMHgwOCwweDcwLDB4MDMsMHhhYSwweDA0IH0gfSwKLXsgIDE2LCAweGY0ZjAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YmMsMHgxMSwweDg3LDB4MDAsMHgyMSwweGMwIH0gfSwKLXsgIDE2LCAweGY1MDAsIDAsIHsweDBiLDB4MzAsMHgwMiwweDFjLDB4MDAsMHg5MywweDIwLDB4NjksMHhjMCwweDBiLDB4NzAsMHgwMiwweDFjLDB4MDAsMHg4NywweDAwIH0gfSwKLXsgIDE2LCAweGY1MTAsIDAsIHsweDJkLDB4YzAsMHgwYiwweDcxLDB4MDIsMHhkYywweDIwLDB4YjcsMHgxMCwweDIxLDB4YzAsMHgwOCwweDYwLDB4MDIsMHg4NCwweDAwIH0gfSwKLXsgIDE2LCAweGY1MjAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg2MCwweDE0LDB4Y2QsMHgwMCwweDgzLDB4NDAsMHgyMCwweGMwIH0gfSwKLXsgIDE2LCAweGY1MzAsIDAsIHsweDRiLDB4MzAsMHgwMiwweDBjLDB4MDEsMHg4MywweDAwLDB4MjAsMHhjMCwweDBiLDB4MzAsMHgwMiwweDBjLDB4MDAsMHg5MywweDgwIH0gfSwKLXsgIDE2LCAweGY1NDAsIDAsIHsweDJjLDB4YzAsMHgwYiwweDMwLDB4MDIsMHhjYywweDAxLDB4YjMsMHgwMCwweDIwLDB4YzAsMHgwOCwweDMwLDB4MjIsMHg5OCwweDA0IH0gfSwKLXsgIDE2LCAweGY1NTAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YmYsMHgyMCwweGNhLDB4YzAsMHgzMiwweDgwIH0gfSwKLXsgIDE2LCAweGY1NjAsIDAsIHsweDBmLDB4ZjAsMHgwMywweDNlLDB4MDAsMHg5ZiwweDAwLDB4M2EsMHg4MCwweDBmLDB4ZjAsMHgwYiwweDNjLDB4MDAsMHhjZiwweDk4IH0gfSwKLXsgIDE2LCAweGY1NzAsIDAsIHsweDNlLDB4YzAsMHgwZiwweGY2LDB4MDMsMHhmZiwweDAwLDB4ZmYsMHgwMCwweDMxLDB4ZTAsMHgyYywweGIwLDB4MDMsMHhhZSwweDA0IH0gfSwKLXsgIDE2LCAweGY1ODAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDAwLDB4Y2MsMHg4MCwweGZiLDB4MDAsMHgzZSwweDUwIH0gfSwKLXsgIDE2LCAweGY1OTAsIDAsIHsweDBmLDB4YjAsMHgwMywweGFjLDB4MDIsMHhmYiwweDAwLDB4N2UsMHg1MCwweDBmLDB4YjAsMHgwMywweGVjLDB4MDAsMHhmYiwweDAwIH0gfSwKLXsgIDE2LCAweGY1YTAsIDAsIHsweDNlLDB4YzAsMHgwZiwweGIyLDB4MDMsMHhlYywweDIwLDB4ZjMsMHgwMCwweDNlLDB4YzYsMHgwZiwweDkwLDB4MDMsMHhhMCwweDAwIH0gfSwKLXsgIDE2LCAweGY1YjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZmMsMHgwMiwweGNmLDB4OTgsMHg3MywweGM4IH0gfSwKLXsgIDE2LCAweGY1YzAsIDAsIHsweDBmLDB4NzAsMHgwMywweDNjLDB4MDAsMHhmZiwweDAwLDB4MzMsMHgyOCwweDBmLDB4YjAsMHgwMiwweDFjLDB4MDAsMHg0ZiwweDAwIH0gfSwKLXsgIDE2LCAweGY1ZDAsIDAsIHsweDNmLDB4YzAsMHgwZiwweGYwLDB4MDMsMHhmYywweDAwLDB4ZmYsMHgwMSwweDMzLDB4YzAsMHgwYywweGU0LDB4MDMsMHhlNCwweDA0IH0gfSwKLXsgIDE2LCAweGY1ZTAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA0LDB4NmMsMHgwMCwweDgzLDB4ODAsMHhhMiwweGY4IH0gfSwKLXsgIDE2LCAweGY1ZjAsIDAsIHsweDBiLDB4YjAsMHg0MiwweDJjLDB4MDAsMHhiYiwweDAwLDB4MzIsMHgxMCwweDBmLDB4YjAsMHgwMywweDZjLDB4MDQsMHhhYiwweDAwIH0gfSwKLXsgIDE2LCAweGY2MDAsIDAsIHsweDJlLDB4YzAsMHgwYiwweGIwLDB4MTIsMHhlYywweDA0LDB4ZWIsMHgwMCwweDIyLDB4YzAsMHg0YSwweDk0LDB4ODIsMHhlMCwweDAwIH0gfSwKLXsgIDE2LCAweGY2MTAsIDAsIHsweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4NmMsMHgwMCwweDhhLDB4MDAsMHgyMiwweDAwIH0gfSwKLXsgIDE2LCAweGY2MjAsIDAsIHsweDBiLDB4YjAsMHgwMiwweDJjLDB4MDAsMHhiMywweDAwLDB4YTIsMHhjMCwweDBiLDB4MzAsMHgwMiwweGFjLDB4MDAsMHhhYiwweDA0IH0gfSwKLXsgIDE2LCAweGY2MzAsIDAsIHsweDJlLDB4YzAsMHgwYiwweGIwLDB4NDIsMHhlYywweDAwLDB4YmIsMHgwMCwweDIyLDB4YzAsMHgwOCwweGIwLDB4MjIsMHhlMCwweDAwIH0gfSwKLXsgIDE2LCAweGY2NDAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDAwLDB4MGMsMHgwMCwweDhiLDB4MDEsMHgyMCwweDAwIH0gfSwKLXsgIDE2LCAweGY2NTAsIDAsIHsweDBiLDB4MzAsMHgwNiwweDBjLDB4MDAsMHhiMywweDAwLDB4MjAsMHhjMCwweDBhLDB4MzIsMHgwYSwweGNjLDB4MDAsMHhhMywweDAwIH0gfSwKLXsgIDE2LCAweGY2NjAsIDAsIHsweDJjLDB4YzAsMHgwYiwweDMwLDB4MDIsMHhjYywweDAwLDB4YTMsMHgwMCwweDIyLDB4YzAsMHg0YSwweDAwLDB4MTIsMHhjMiwweDAxIH0gfSwKLXsgIDE2LCAweGY2NzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4NmMsMHgwMCwweDhiLDB4MDQsMHgyMiwweGMwIH0gfSwKLXsgIDE2LCAweGY2ODAsIDAsIHsweDBmLDB4ZjEsMHgwMywweDFjLDB4MDAsMHhmZiwweDA0LDB4MzIsMHhjMCwweDBiLDB4ZjIsMHgwMywweGJjLDB4MDAsMHhlZiwweDAwIH0gfSwKLXsgIDE2LCAweGY2OTAsIDAsIHsweDNlLDB4YzAsMHgwNywweGYwLDB4MDMsMHhmYywweDgwLDB4ZmYsMHgwMCwweGIyLDB4YzAsMHgwYywweGEwLDB4MDMsMHhlMCwweDAzIH0gfSwKLXsgIDE2LCAweGY2YTAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE5LDB4ZGMsMHgwMCwweGY1LDB4MDAsMHgzZiwweGMwIH0gfSwKLXsgIDE2LCAweGY2YjAsIDAsIHsweDBmLDB4ZjAsMHgwMywweGZjLDB4MDEsMHhmZiwweDAyLDB4M2IsMHhjMCwweDBmLDB4ZjEsMHgwMywweDdjLDB4MDAsMHhmZiwweDAwIH0gfSwKLXsgIDE2LCAweGY2YzAsIDAsIHsweDNmLDB4YzAsMHgwZiwweGYwLDB4MTMsMHhmYywweDQwLDB4ZWYsMHgwMCwweDNmLDB4YzAsMHgwZiwweGMwLDB4MDMsMHhlOCwweDA2IH0gfSwKLXsgIDE2LCAweGY2ZDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDE1LDB4ZjIsMHg0MCwweGNjLDB4ODAsMHgzNywweDIwIH0gfSwKLXsgIDE2LCAweGY2ZTAsIDAsIHsweDBjLDB4ZDgsMHgwMywweGIwLDB4NDQsMHhmYywweDA4LDB4M2YsMHgwZSwweDBmLDB4YzEsMHgwMywweGZjLDB4MDAsMHhjYywweDk0IH0gfSwKLXsgIDE2LCAweGY2ZjAsIDAsIHsweDNmLDB4MGEsMHgyZSwweGM0LDB4MDMsMHg3ZCwweDgwLDB4Y2YsMHgxMCwweDNmLDB4YzAsMHgwZiwweGMwLDB4ODMsMHgzMCwweDAwIH0gfSwKLXsgIDE2LCAweGY3MDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA4LDB4ZTAsMHg5MCwweDg4LDB4MDIsMHgyMiwweDgxIH0gfSwKLXsgIDE2LCAweGY3MTAsIDAsIHsweDA4LDB4OTIsMHgxMywweGE0LDB4NDAsMHgzYiwweDYwLDB4MjIsMHgxOCwweDBiLDB4ODEsMHgwMiwweGZjLDB4ZDQsMHg4MSwweDAwIH0gfSwKLXsgIDE2LCAweGY3MjAsIDAsIHsweDNhLDB4YjAsMHgwYSwweDk0LDB4MDIsMHgzZCwweDQwLDB4YWYsMHg2MywweDJmLDB4ZGYsMHgwYiwweDk4LDB4MDAsMHgyMCwweDA0IH0gfSwKLXsgIDE2LCAweGY3MzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4ZTAsMHgwMCwweDg4LDB4MDAsMHgyMCwweDQwIH0gfSwKLXsgIDE2LCAweGY3NDAsIDAsIHsweDg4LDB4MzAsMHg4MiwweGMwLDB4MDAsMHhiMCwweDA4LDB4MjgsMHg4MCwweDBhLDB4MTAsMHgwMiwweGNjLDB4MjAsMHg4MCwweDAxIH0gfSwKLXsgIDE2LCAweGY3NTAsIDAsIHsweDJjLDB4NDAsMHgxYiwweDA2LDB4MDIsMHg4YywweDkwLDB4OTMsMHg2MCwweDY4LDB4YzAsMHg0YSwweDAwLDB4NDIsMHgyMiwweDAxIH0gfSwKLXsgIDE2LCAweGY3NjAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4YTAsMHgwMiwweDg4LDB4MDAsMHgyMiwweGMwIH0gfSwKLXsgIDE2LCAweGY3NzAsIDAsIHsweDA4LDB4YjAsMHgwMiwweGU0LDB4MjAsMHhiYiwweDg4LDB4MjYsMHg5OCwweDBiLDB4ODAsMHg0MiwweGNjLDB4MTgsMHg4YSwweDAwIH0gfSwKLXsgIDE2LCAweGY3ODAsIDAsIHsweDJlLDB4YzIsMHgxYiwweDk4LDB4MDIsMHhhYywweDAwLDB4YWIsMHgwMCwweDJlLDB4YzAsMHgwYiwweDk4LDB4ODIsMHgzMCwweDA0IH0gfSwKLXsgIDE2LCAweGY3OTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDExLDB4ZTMsMHhjMCwweGNiLDB4MDIsMHgzMiwweDAwIH0gfSwKLXsgIDE2LCAweGY3YTAsIDAsIHsweDJjLDB4ODAsMHgwMywweGFlLDB4MDgsMHhiOSwweDAwLDB4M2UsMHg3MCwweDBmLDB4YjksMHgwMywweGVjLDB4MDIsMHg0OCwweDQ4IH0gfSwKLXsgIDE2LCAweGY3YjAsIDAsIHsweDNjLDB4YzAsMHgwZiwweDhjLDB4OTMsMHhlYywweDAwLDB4ZGIsMHgwMCwweDFhLDB4YzAsMHgwZSwweGFjLDB4MDMsMHgxMCwweDA0IH0gfSwKLXsgIDE2LCAweGY3YzAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDAxLDB4YjIsMHgwMCwweGZmLDB4MDAsMHhiYiwweDgwIH0gfSwKLXsgIDE2LCAweGY3ZDAsIDAsIHsweDBmLDB4YzAsMHg0MywweGI2LDB4NDAsMHhiZCwweDAwLDB4M2IsMHg2MCwweDBmLDB4ZTgsMHgwMywweGZjLDB4MDAsMHhmZiwweDk0IH0gfSwKLXsgIDE2LCAweGY3ZTAsIDAsIHsweDNiLDB4ZTQsMHgwZSwweDYwLDB4MGYsMHg2YywweDA4LDB4ZWYsMHgwMSwweDNmLDB4YzAsMHgwZiwweDYwLDB4MDMsMHhmOCwweDAwIH0gfSwKLXsgIDE2LCAweGY3ZjAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YTEsMHgwMCwweGZiLDB4MDAsMHgzZSwweDYwIH0gfSwKLXsgIDE2LCAweGY4MDAsIDAsIHsweDBmLDB4YTAsMHgwMywweGVkLDB4MDAsMHhmOSwweDQwLDB4M2EsMHgwMCwweDBmLDB4OTAsMHgwMywweGVjLDB4MDIsMHhjOSwweDA0IH0gfSwKLXsgIDE2LCAweGY4MTAsIDAsIHsweDMyLDB4ZDAsMHgwZiwweDkwLDB4MDMsMHgyYywweDA4LDB4ZGIsMHgwMCwweGI2LDB4YzAsMHgwZCwweGI0LDB4MDMsMHhkMCwweDA0IH0gfSwKLXsgIDE2LCAweGY4MjAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjOCwweDA1LDB4MDAsMHgwMCwweGIzLDB4ODksMHgyZSwweGUwIH0gfSwKLXsgIDE2LCAweGY4MzAsIDAsIHsweDBiLDB4YTQsMHgwMywweGE0LDB4MDEsMHhiOSwweDAwLDB4MmUsMHgwMSwweDBiLDB4OTAsMHg0MiwweGZjLDB4MTAsMHg4OSwweDUwIH0gfSwKLXsgIDE2LCAweGY4NDAsIDAsIHsweGEyLDB4YzAsMHg4ZCwweGI0LDB4MDIsMHgzYywweDQ0LDB4OGYsMHgwMCwweDIzLDB4YzAsMHgwOCwweGIwLDB4MDIsMHhmMiwweDAwIH0gfSwKLXsgIDE2LCAweGY4NTAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA0LDB4MGMsMHgwMCwweGIwLDB4ODAsMHgyZSwweDAwIH0gfSwKLXsgIDE2LCAweGY4NjAsIDAsIHsweDBiLDB4MTIsMHgwMiwweGM4LDB4MDAsMHhiYSwweDAwLDB4MmMsMHhjMCwweDBiLDB4MjAsMHgwMiwweGNjLDB4MDAsMHhhMiwweDAwIH0gfSwKLXsgIDE2LCAweGY4NzAsIDAsIHsweDIwLDB4MDAsMHgyYiwweDJkLDB4OWEsMHgyZSwweDQyLDB4ODMsMHgwMCwweDI4LDB4YzAsMHgwOCwweDIwLDB4MDIsMHhmOCwweDAwIH0gfSwKLXsgIDE2LCAweGY4ODAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMCwweDAwLDB4MWUsMHgwNCwweGI0LDB4ODAsMHgyZCwweGEwIH0gfSwKLXsgIDE2LCAweGY4OTAsIDAsIHsweDBiLDB4NTgsMHgwMiwweDkyLDB4MDAsMHhiNiwweDgwLDB4MmQsMHhlMCwweDBiLDB4NjgsMHgwMiwweGRlLDB4NDAsMHhhNiwweDgwIH0gfSwKLXsgIDE2LCAweGY4YTAsIDAsIHsweDIxLDB4MjQsMHgyOSwweDQ4LDB4MDIsMHgxZSwweDgwLDB4ODcsMHg4MCwweDY5LDB4ZTAsMHgwOCwweDYxLDB4MDIsMHhjOCwweDAwIH0gfSwKLXsgIDE2LCAweGY4YjAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDE4LDB4MGMsMHgwMCwweGYwLDB4MzAsMHgzYywweDRjIH0gfSwKLXsgIDE2LCAweGY4YzAsIDAsIHsweDBmLDB4MzIsMHgwMywweGM4LDB4ODAsMHhiMiwweDAwLDB4MzgsMHg4MCwweDBmLDB4MWIsMHgwMywweGVjLDB4MDAsMHhlMCwweDMwIH0gfSwKLXsgIDE2LCAweGY4ZDAsIDAsIHsweDMwLDB4MDQsMHgwZiwweGIxLDB4MDMsMHgwZSwweDg1LDB4Y2IsMHgwMCwweDNhLDB4YzAsMHgwYywweDMxLDB4MDMsMHhkMiwweDAyIH0gfSwKLXsgIDE2LCAweGY4ZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDFjLDB4YmMsMHgwMCwweGZjLDB4MTEsMHgzZiwweGM0IH0gfSwKLXsgIDE2LCAweGY4ZjAsIDAsIHsweDBmLDB4YjgsMHgxMywweGIwLDB4MDQsMHhmZSwweDAyLDB4M2YsMHg4MCwweDBmLDB4YzAsMHgwMywweGZkLDB4MDAsMHhkZiwweDEyIH0gfSwKLXsgIDE2LCAweGY5MDAsIDAsIHsweDFkLDB4MDQsMHgwZiwweGQwLDB4NDMsMHhiYywweDAxLDB4ZWYsMHgxMCwweDMzLDB4YzQsMHgwZSwweGYzLDB4MDMsMHhkMCwweDA2IH0gfSwKLXsgIDE2LCAweGY5MTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4ZWUsMHgwMCwweGNiLDB4MDAsMHgzZSwweDAwIH0gfSwKLXsgIDE2LCAweGY5MjAsIDAsIHsweDBmLDB4ODAsMHgwMywweDI4LDB4MDAsMHhmOCwweDAwLDB4M2UsMHg0MCwweDNkLDB4YjAsMHgwMywweGVmLDB4MDgsMHhjOSwweDAwIH0gfSwKLXsgIDE2LCAweGY5MzAsIDAsIHsweDNhLDB4MDAsMHgwYywweGEwLDB4MDMsMHhlYywweDk4LDB4ZmIsMHgyMCwweDMyLDB4ZDIsMHgwYywweGE4LDB4MDMsMHgyYSwweDAyIH0gfSwKLXsgIDE2LCAweGY5NDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDExLDB4OWMsMHgwMCwweDg3LDB4MDEsMHgyZCwweDgwIH0gfSwKLXsgIDE2LCAweGY5NTAsIDAsIHsweDBiLDB4NDAsMHg0MiwweDFjLDB4MDQsMHgzNywweDAwLDB4YTEsMHg0MCwweDA4LDB4NjAsMHgwMiwweGNjLDB4ODAsMHg4NywweDAwIH0gfSwKLXsgIDE2LCAweGY5NjAsIDAsIHsweDJkLDB4ODAsMHgyZSwweDcwLDB4MDIsMHhkYywweGE5LDB4YjcsMHgyOCwweDIxLDB4ZDAsMHgwOCwweDcwLDB4MDIsMHgxMiwweDAwIH0gfSwKLXsgIDE2LCAweGY5NzAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMCwweDAwLDB4YmUsMHgwMiwweDg3LDB4ODAsMHgyZCwweDYwIH0gfSwKLXsgIDE2LCAweGY5ODAsIDAsIHsweDRiLDB4ZTgsMHgwMiwweDVhLDB4MDEsMHhiNCwweDg4LDB4MjgsMHhlMCwweDg4LDB4NzgsMHhjMiwweGRlLDB4NTIsMHg4NiwweGMwIH0gfSwKLXsgIDE2LCAweGY5OTAsIDAsIHsweDI5LDB4NjAsMHgwOCwweDY4LDB4MDIsMHhkZSwweDQwLDB4YjMsMHg5MiwweGUxLDB4ZTgsMHgyOCwweDI4LDB4MDIsMHg3MCwweDAwIH0gfSwKLXsgIDE2LCAweGY5YTAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg2OCwweDE0LDB4Y2MsMHgwMCwweDhiLDB4ODAsMHgyZSwweGMwIH0gfSwKLXsgIDE2LCAweGY5YjAsIDAsIHsweDBiLDB4MjAsMHgwMiwweDRkLDB4ODAsMHg5YiwweDIwLDB4MjAsMHhlMCwweDA4LDB4MzgsMHgwMiwweGNjLDB4MDAsMHg4MywweDgwIH0gfSwKLXsgIDE2LCAweGY5YzAsIDAsIHsweDJjLDB4YzAsMHgwYSwweGIwLDB4MDIsMHhjYywweDA4LDB4YjMsMHgwMCwweDIwLDB4YzAsMHgwOCwweDMxLDB4MDIsMHg1MiwweDA0IH0gfSwKLXsgIDE2LCAweGY5ZDAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDA1LDB4YTgsMHgwMCwweGNhLDB4ZTAsMHgzZSwweDgwIH0gfSwKLXsgIDE2LCAweGY5ZTAsIDAsIHsweDFmLDB4YTQsMHgwYiwweDc5LDB4MDAsMHhmZSwweDAwLDB4M2YsMHg4MiwweDFkLDB4ZTAsMHgwMywweGU4LDB4MDAsMHhjZSwweDQwIH0gfSwKLXsgIDE2LCAweGY5ZjAsIDAsIHsweDNiLDB4ODgsMHgyYywweGU0LDB4MDMsMHhlOCwweDAxLDB4ZmEsMHgwMCwweDMyLDB4ODAsMHgwYywweGU4LDB4MDMsMHg3YSwweDA0IH0gfSwKLXsgIDE2LCAweGZhMDAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDExLDB4YTAsMHgwMCwweGY4LDB4MDksMHgzZSwweDAwIH0gfSwKLXsgIDE2LCAweGZhMTAsIDAsIHsweDhmLDB4YzAsMHg4MywweGEwLDB4MTgsMHhmOCwweDAwLDB4M2MsMHgyMCwweDBmLDB4ODgsMHgwMywweGUwLDB4MDAsMHhmOCwweDA4IH0gfSwKLXsgIDE2LCAweGZhMjAsIDAsIHsweDNlLDB4MjAsMHgwZSwweDgwLDB4ODMsMHhlMSwweDAxLDB4ZjAsMHgwMCwweDNjLDB4MDAsMHgwZiwweDgwLDB4MGIsMHg5MiwweDAwIH0gfSwKLXsgIDE2LCAweGZhMzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4YTQsMHgwMCwweGY5LDB4NDIsMHgzMiwweDQwIH0gfSwKLXsgIDE2LCAweGZhNDAsIDAsIHsweDRjLDB4OTgsMHgwMywweDA0LDB4MDAsMHhjOSwweDAwLDB4M2EsMHg0MCwweDBmLDB4OTAsMHgyMywweDI0LDB4MDAsMHhiOSwweDgxIH0gfSwKLXsgIDE2LCAweGZhNTAsIDAsIHsweDNjLDB4NDAsMHgwYywweDkyLDB4MDMsMHgyNCwweDAwLDB4ZjksMHgwNSwweDMyLDB4NDAsMHg2YywweDkwLDB4YzMsMHhjMiwweDA0IH0gfSwKLXsgIDE2LCAweGZhNjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA0LDB4MjQsMHgxNCwweGI5LDB4MDAsMHhhMiwweDU0IH0gfSwKLXsgIDE2LCAweGZhNzAsIDAsIHsweDA4LDB4OWIsMHgxYSwweDI0LDB4MDIsMHg4OSwweDAwLDB4MjIsMHg0MCwweDI4LDB4OTAsMHgwMiwweGE0LDB4MDAsMHhiOSwweDkwIH0gfSwKLXsgIDE2LCAweGZhODAsIDAsIHsweDJlLDB4NDAsMHgyOCwweDljLDB4ODIsMHgyNSwweDA0LDB4YjksMHgwMCwweDIyLDB4NDAsMHgwOCwweDk4LDB4MTIsMHhlMCwweDAwIH0gfSwKLXsgIDE2LCAweGZhOTAsIDAsIHsweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4MjQsMHgwMCwweGFkLDB4MDAsMHgyMywweDQwIH0gfSwKLXsgIDE2LCAweGZhYTAsIDAsIHsweDA4LDB4NTAsMHgwMiwweDY0LDB4MDAsMHg4OSwweDAwLDB4MmEsMHg0MCwweDA4LDB4MTAsMHgwMiwweDY0LDB4MDAsMHhiOSwweDAwIH0gfSwKLXsgIDE2LCAweGZhYjAsIDAsIHsweDZlLDB4NDAsMHgwOCwweDkwLDB4MDIsMHgyNSwweDAwLDB4YTksMHgwMCwweDIyLDB4NDAsMHgwOCwweDkxLDB4MDYsMHhjNiwweDAwIH0gfSwKLXsgIDE2LCAweGZhYzAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA0LDB4MTQsMHgwMCwweGI1LDB4MTAsMHhhMSwweDQ0IH0gfSwKLXsgIDE2LCAweGZhZDAsIDAsIHsweDI4LDB4NTAsMHgwMiwweDQ0LDB4ODAsMHg4MSwweDMwLDB4MjAsMHg0OCwweDA4LDB4MTIsMHgwMiwweDg0LDB4NDAsMHhiMSwweDgwIH0gfSwKLXsgIDE2LCAweGZhZTAsIDAsIHsweDZjLDB4YzgsMHgwOCwweDEyLDB4MDIsMHgwNCwweDgwLDB4YjEsMHgzNCwweDIwLDB4NDgsMHgwOCwweDEyLDB4MDIsMHhjMiwweDAxIH0gfSwKLXsgIDE2LCAweGZhZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjEsMHg0MCwweGU4LDB4NDAsMHgzMiwweDkwIH0gfSwKLXsgIDE2LCAweGZiMDAsIDAsIHsweDBjLDB4YzUsMHgwMywweDYxLDB4NDAsMHhjMCwweDQwLDB4M2EsMHgxNCwweDBmLDB4ODUsMHgwMywweDIxLDB4YjAsMHhmOCwweDUwIH0gfSwKLXsgIDE2LCAweGZiMTAsIDAsIHsweDNlLDB4MDAsMHgwYywweDg1LDB4MDMsMHgyMSwweDQwLDB4ZjgsMHg0MCwweGIwLDB4MTQsMHgwYywweDgwLDB4MDMsMHhlZSwweDAxIH0gfSwKLXsgIDE2LCAweGZiMjAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDFkLDB4YzQsMHgwNCwweGY5LDB4MjIsMHgwZSwweDQ4IH0gfSwKLXsgIDE2LCAweGZiMzAsIDAsIHsweDBmLDB4MTAsMHgxMywweGI0LDB4NDAsMHhmZCwweDMwLDB4M2YsMHg0NCwweDRmLDB4ZDEsMHgwMCwweGU0LDB4ODQsMHhmZiwweDAxIH0gfSwKLXsgIDE2LCAweGZiNDAsIDAsIHsweDNkLDB4NDQsMHgwZiwweGQxLDB4MGIsMHhlNCwweDQwLDB4ZjksMHgzMCwweDNlLDB4NDQsMHgwZiwweGQxLDB4MDMsMHhlNiwweDA0IH0gfSwKLXsgIDE2LCAweGZiNTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzOCwweDA1LDB4ZTQsMHgwMCwweGRkLDB4NDAsMHgzZiwweDUwIH0gfSwKLXsgIDE2LCAweGZiNjAsIDAsIHsweDBjLDB4ZDAsMHgwMywweDJjLDB4MDAsMHhjOSwweDAwLDB4MzYsMHg0MCwweDBmLDB4OTAsMHgxMywweDI3LDB4MDQsMHhmNSwweDAxIH0gfSwKLXsgIDE2LCAweGZiNzAsIDAsIHsweDM3LDB4NDAsMHgwYywweGYwLDB4MDMsMHhmNiwweDIwLDB4ZjksMHhhOCwweDMyLDB4NjgsMHgwYywweGQwLDB4MDMsMHhjNiwweDAwIH0gfSwKLXsgIDE2LCAweGZiODAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDAwLDB4ZTAsMHgwMCwweDg4LDB4YTAsMHgyZSwweDI4IH0gfSwKLXsgIDE2LCAweGZiOTAsIDAsIHsweDI4LDB4ODAsMHgwMiwweDIwLDB4MDAsMHg4OCwweGEwLDB4MjIsMHgwMCwweDBiLDB4ODAsMHgwYSwweDYyLDB4ODAsMHhiOCwweDAwIH0gfSwKLXsgIDE2LCAweGZiYTAsIDAsIHsweDIyLDB4MDAsMHgwOCwweDgwLDB4MDIsMHhlMSwweDAwLDB4YjgsMHhlMCwweDIyLDB4M2EsMHgwOCwweGEwLDB4MDIsMHhjZSwweDA0IH0gfSwKLXsgIDE2LCAweGZiYjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDAwLDB4ODQsMHgwMiwweDgxLDB4MDAsMHgyZSwweDQwIH0gfSwKLXsgIDE2LCAweGZiYzAsIDAsIHsweDA4LDB4MTAsMHgwYSwweDQ0LDB4MDIsMHg4MSwweDA4LDB4MjQsMHg0MCwweDBhLDB4MTAsMHgwMiwweDQ1LDB4ODAsMHhiOSwweDAwIH0gfSwKLXsgIDE2LCAweGZiZDAsIDAsIHsweDI0LDB4NDAsMHgyOSwweDEwLDB4MDIsMHhjNCwweDAwLDB4YjEsMHgwOCwweDI0LDB4NDQsMHgwOCwweDEwLDB4MDIsMHhjMiwweDAxIH0gfSwKLXsgIDE2LCAweGZiZTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDE0LDB4YTQsMHgwNCwweDg5LDB4MDEsMHgyZSwweDUwIH0gfSwKLXsgIDE2LCAweGZiZjAsIDAsIHsweDQ4LDB4YjIsMHgwMiwweDY0LDB4MDAsMHg5MSwweDAwLDB4MjIsMHg0NiwweDBiLDB4OTAsMHgwMiwweDY0LDB4MDAsMHhiOSwweDAxIH0gfSwKLXsgIDE2LCAweGZjMDAsIDAsIHsweDI2LDB4YzAsMHgwOSwweGIwLDB4MTIsMHhlNCwweDAwLDB4YjEsMHgwMCwweDI2LDB4NDAsMHgwOCwweDkwLDB4MDIsMHhjNiwweDA0IH0gfSwKLXsgIDE2LCAweGZjMTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDA0LDB4ZTQsMHgwMCwweGM5LDB4MDAsMHgzYywweDQwIH0gfSwKLXsgIDE2LCAweGZjMjAsIDAsIHsweDBjLDB4OTAsMHgwMywweDY0LDB4MDAsMHhjOSwweDAyLDB4MzYsMHg1MCwweDBlLDB4OTMsMHgwMywweDI0LDB4MDAsMHhmOSwweDkwIH0gfSwKLXsgIDE2LCAweGZjMzAsIDAsIHsweDM2LDB4NDgsMHgwZCwweDk0LDB4ODMsMHhlNCwweDA4LDB4ZjksMHgwMCwweGI2LDB4NDAsMHgwYywweDk0LDB4MDMsMHhlOCwweDA0IH0gfSwKLXsgIDE2LCAweGZjNDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg2OCwweDEwLDB4YTQsMHgwMCwweGU5LDB4MDAsMHgzZSwweDQwIH0gfSwKLXsgIDE2LCAweGZjNTAsIDAsIHsweDBmLDB4OTAsMHgxMywweGE0LDB4MDAsMHhlOSwweDAyLDB4MmUsMHg2MSwweDA1LDB4OTAsMHgwMywweGE0LDB4MDAsMHhmOSwweDAwIH0gfSwKLXsgIDE2LCAweGZjNjAsIDAsIHsweDNhLDB4NDAsMHgwZSwweDkwLDB4NDMsMHhlNCwweDEwLDB4ZjksMHgwMCwweDM4LDB4NDAsMHgyZiwweDkwLDB4MDMsMHhjYSwweDAwIH0gfSwKLXsgIDE2LCAweGZjNzAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTAsMHgwMCwweGQ4LDB4MDEsMHgzMiwweDA0IH0gfSwKLXsgIDE2LCAweGZjODAsIDAsIHsweDBmLDB4ODAsMHg0MywweGMwLDB4MDEsMHhjOCwweDAwLDB4YjIsMHgwMSwweDBjLDB4ODAsMHgwMywweDIwLDB4MDAsMHhjOCwweDQwIH0gfSwKLXsgIDE2LCAweGZjOTAsIDAsIHsweDMwLDB4MDAsMHg4YywweDg0LDB4ODMsMHhlMCwweDAwLDB4YzgsMHgwMCwweDMyLDB4MDAsMHg2YywweDg0LDB4MDMsMHhjYSwweDA0IH0gfSwKLXsgIDE2LCAweGZjYTAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA0LDB4MjgsMHgwMCwweGJhLDB4MDAsMHgyMywweDgwIH0gfSwKLXsgIDE2LCAweGZjYjAsIDAsIHsweDBiLDB4ZWEsMHgwMiwweGU4LDB4MDAsMHhhYSwweDAwLDB4MjIsMHg4MCwweDA4LDB4YTAsMHgwMiwweDI4LDB4MDAsMHg4NiwweDIwIH0gfSwKLXsgIDE2LCAweGZjYzAsIDAsIHsweDM3LDB4YTAsMHg4ZCwweGU0LDB4MDIsMHhmOCwweDAwLDB4ZGEsMHgwMCwweDIyLDB4ODAsMHgwOCwweGEwLDB4MDIsMHhjYSwweDAwIH0gfSwKLXsgIDE2LCAweGZjZDAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4NmMsMHgwMCwweGIzLDB4MDAsMHgyMCwweGMwIH0gfSwKLXsgIDE2LCAweGZjZTAsIDAsIHsweDBiLDB4YjgsMHgwMiwweDRjLDB4MDQsMHg4MywweDAwLDB4MjAsMHhjMCwweDA4LDB4YjAsMHgwMiwweDBjLDB4MDIsMHg4MywweDAwIH0gfSwKLXsgIDE2LCAweGZjZjAsIDAsIHsweDIwLDB4NDAsMHgyOCwweDM0LDB4MDIsMHhjZSwweDkwLDB4ODMsMHgwMCwweGEwLDB4YzAsMHgwOCwweDMwLDB4MDIsMHhjYSwweDAwIH0gfSwKLXsgIDE2LCAweGZkMDAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMCwweDAxLDB4MWMsMHhjMCwweGI1LDB4ODgsMHgyMSwweDQwIH0gfSwKLXsgIDE2LCAweGZkMTAsIDAsIHsweDBiLDB4NzAsMHgwMiwweGRjLDB4ODAsMHhhMywweDIwLDB4MjEsMHhlMCwweDQ4LDB4MzIsMHg0MiwweDBlLDB4OTAsMHg4ZSwweDAxIH0gfSwKLXsgIDE2LCAweGZkMjAsIDAsIHsweDY1LDB4NTAsMHgwOSwweDcwLDB4MDIsMHhkZSwweDIwLDB4OTMsMHgyMSwweDIxLDB4YzAsMHgwOCwweDcwLDB4MDIsMHhlOCwweDAwIH0gfSwKLXsgIDE2LCAweGZkMzAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDE4LDB4MWUsMHgwMCwweGZmLDB4ODAsMHhiMSwweGEwIH0gfSwKLXsgIDE2LCAweGZkNDAsIDAsIHsweDBmLDB4NDgsMHgwMiwweDdlLDB4MDAsMHg4NywweGEwLDB4MzMsMHhlMCwweDI4LDB4N2EsMHgwYiwweDFmLDB4MDAsMHhjNCwweDgwIH0gfSwKLXsgIDE2LCAweGZkNTAsIDAsIHsweDMxLDB4NjAsMHg4YywweDU4LDB4MDMsMHhmZSwweDAwLDB4YzcsMHhjOCwweDMzLDB4ZTgsMHgwYywweDU4LDB4MDMsMHhlYSwweDAyIH0gfSwKLXsgIDE2LCAweGZkNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDFkLDB4YWMsMHgwMCwweGZmLDB4MDAsMHgzZSwweDAwIH0gfSwKLXsgIDE2LCAweGZkNzAsIDAsIHsweDBmLDB4OTAsMHgyMywweGVjLDB4YTAsMHhmYiwweDQwLDB4M2UsMHhjMCwweDhmLDB4YjUsMHgwMywweGVkLDB4ODAsMHhmOCwweDAwIH0gfSwKLXsgIDE2LCAweGZkODAsIDAsIHsweDNjLDB4NDAsMHgwZiwweGIwLDB4MDMsMHhlOCwweDAwLDB4ZmIsMHgwMiwweDNlLDB4ZDAsMHgwZiwweDkwLDB4MDMsMHhjMiwweDA2IH0gfSwKLXsgIDE2LCAweGZkOTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg2MCwweDA0LDB4YmUsMHgwMCwweGZmLDB4ODAsMHgzZiwweGUwIH0gfSwKLXsgIDE2LCAweGZkYTAsIDAsIHsweDBmLDB4ZDksMHgwMywweGZlLDB4MjAsMHhjZiwweGM4LDB4MzMsMHhlYSwweDhmLDB4ZmMsMHgwMywweDNmLDB4MDAsMHhmZCwweDgwIH0gfSwKLXsgIDE2LCAweGZkYjAsIDAsIHsweDNmLDB4NjAsMHgwZSwweGU4LDB4MDMsMHhmMiwweDAwLDB4Y2YsMHg4MCwweDJmLDB4ZmUsMHgwYywweDc4LDB4MDMsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZkYzAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDAwLDB4OWMsMHgwMCwweGI1LDB4MDIsMHgyZCwweGMwIH0gfSwKLXsgIDE2LCAweGZkZDAsIDAsIHsweDBiLDB4NTgsMHg0MiwweGRjLDB4ODAsMHhjZiwweDAwLDB4MjEsMHhjMSwweDBiLDB4MzAsMHgxMiwweDFjLDB4NDAsMHhiNCwweDAyIH0gfSwKLXsgIDE2LCAweGZkZTAsIDAsIHsweDJkLDB4NDYsMHgwOCwweDcxLDB4MTIsMHhjOCwweDAwLDB4ZTcsMHgwMCwweDJkLDB4YzQsMHgwOCwweDcwLDB4MDMsMHg2YSwweDA0IH0gfSwKLXsgIDE2LCAweGZkZjAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OWMsMHgwMCwweGI3LDB4MDAsMHgyZCwweDAyIH0gfSwKLXsgIDE2LCAweGZlMDAsIDAsIHsweDBiLDB4NDYsMHgwMiwweGRjLDB4MDgsMHg5NywweDAwLDB4MjEsMHhjOSwweDBhLDB4MzAsMHgyMiwweDFjLDB4MDAsMHhiNCwweDAwIH0gfSwKLXsgIDE2LCAweGZlMTAsIDAsIHsweDJkLDB4NDAsMHgwYSwweDUwLDB4ODIsMHhjNCwweDAwLDB4YjcsMHgwMCwweDJjLDB4YzgsMHgyOCwweDUwLDB4MDIsMHg0MCwweDEwIH0gfSwKLXsgIDE2LCAweGZlMjAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDE0LDB4OGMsMHgxOCwweGIzLDB4MDAsMHgyZSwweDIwIH0gfSwKLXsgIDE2LCAweGZlMzAsIDAsIHsweDBiLDB4MTgsMHgwMiwweGNmLDB4NGEsMHg4MywweGMyLDB4MjAsMHhjMSwweDBiLDB4MzQsMHgyMiwweDBjLDB4MDQsMHhiOCwweDU4IH0gfSwKLXsgIDE2LCAweGZlNDAsIDAsIHsweDJjLDB4NDAsMHgwYiwweDI4LDB4MDIsMHhjOCwweDAwLDB4YTMsMHgwMCwweDJjLDB4YzAsMHgwOCwweDE0LDB4MDIsMHg0OCwweDA0IH0gfSwKLXsgIDE2LCAweGZlNTAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4YmMsMHgwMCwweGZiLDB4MDAsMHgzZSwweDgwIH0gfSwKLXsgIDE2LCAweGZlNjAsIDAsIHsweDBmLDB4YTAsMHgwMiwweGZjLDB4MDAsMHhkZiwweGEwLDB4YjMsMHhjMCwweDBlLDB4ZjAsMHgwYiwweDNjLDB4MDAsMHhmYiwweGMwIH0gfSwKLXsgIDE2LCAweGZlNzAsIDAsIHsweDNjLDB4YTAsMHgwZSwweGJkLDB4MDMsMHhlYywweDAwLDB4ZmYsMHgwMCwweDNmLDB4YzAsMHgwYywweDMwLDB4MDMsMHg2YSwweDA0IH0gfSwKLXsgIDE2LCAweGZlODAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDEwLDB4ZWMsMHgwMCwweGY5LDB4MDAsMHgzZSwweDAxIH0gfSwKLXsgIDE2LCAweGZlOTAsIDAsIHsweDhmLDB4YjEsMHg0MywweGVjLDB4MDAsMHhmMywweDAwLDB4M2UsMHhjMCwweDRmLDB4YjAsMHgxMywweGVjLDB4MDAsMHhmYiwweDAwIH0gfSwKLXsgIDE2LCAweGZlYTAsIDAsIHsweDNlLDB4ODAsMHgwYywweDg0LDB4MDMsMHhlMSwweDAwLDB4NzMsMHgwMCwweDNlLDB4YzEsMHgwZiwweGIyLDB4NDMsMHhlMCwweDAwIH0gfSwKLXsgIDE2LCAweGZlYjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDUwLDB4ZmMsMHgxMCwweGZmLDB4ODAsMHgzNywweGMwIH0gfSwKLXsgIDE2LCAweGZlYzAsIDAsIHsweDBjLDB4ZTAsMHgwMywweGZjLDB4MjAsMHhmZiwweDA4LDB4MzMsMHhjMCwweDBmLDB4ZjAsMHg4MywweGJjLDB4MDAsMHhmZiwweDAwIH0gfSwKLXsgIDE2LCAweGZlZDAsIDAsIHsweDMzLDB4YzAsMHgyZSwweDQwLDB4MDMsMHgxYywweDAxLDB4Y2YsMHgwMCwweDExLDB4YzAsMHg0YywweGQwLDB4MDMsMHgwMCwweDQ0IH0gfSwKLXsgIDE2LCAweGZlZTAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MSwweDA0LDB4NmMsMHgwNCwweGIzLDB4MDIsMHgyMiwweDcyIH0gfSwKLXsgIDE2LCAweGZlZjAsIDAsIHsweDA4LDB4YTEsMHgxNiwweGVjLDB4MDAsMHhiYiwweDA0LDB4MjIsMHhjMCwweDBiLDB4YjAsMHg0MiwweGVjLDB4MDAsMHhiYSwweDE5IH0gfSwKLXsgIDE2LCAweGZmMDAsIDAsIHsweGI2LDB4ZDAsMHgwOCwweDljLDB4NGEsMHgyNiwweDgwLDB4ZGIsMHgwMCwweDIyLDB4YzAsMHgwOCwweDkwLDB4MDMsMHg2MCwweDQwIH0gfSwKLXsgIDE2LCAweGZmMTAsIDAsIHsweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MmMsMHgwMCwweGI5LDB4MTAsMHg2MiwweDIwIH0gfSwKLXsgIDE2LCAweGZmMjAsIDAsIHsweDQ4LDB4YTAsMHgwMiwweGVjLDB4MDAsMHhiYiwweDAwLDB4MjIsMHhjMCwweDBiLDB4YjAsMHgwMiwweGVjLDB4MTAsMHhiYiwweDAwIH0gfSwKLXsgIDE2LCAweGZmMzAsIDAsIHsweDY2LDB4MDgsMHgwYSwweGE4LDB4MTIsMHgyNiwweDEwLDB4OWIsMHgwMCwweDJhLDB4YzAsMHgyOCwweGIwLDB4MjYsMHgyMCwweDAwIH0gfSwKLXsgIDE2LCAweGZmNDAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDAwLDB4MGMsMHgwMCwweGI5LDB4MDAsMHgyMCwweDAwIH0gfSwKLXsgIDE2LCAweGZmNTAsIDAsIHsweDA4LDB4MzIsMHgwMiwweGNjLDB4MDQsMHhiMywweDAwLDB4MjAsMHhjMCwweDRiLDB4MzAsMHgwMiwweGNjLDB4MDAsMHhiMywweDAwIH0gfSwKLXsgIDE2LCAweGZmNjAsIDAsIHsweDIwLDB4MDAsMHgwOCwweDAwLDB4MDIsMHgwMSwweDAwLDB4OTMsMHgwMCwweDI4LDB4YzAsMHgwOCwweDMwLDB4MDYsMHg0MiwweDExIH0gfSwKLXsgIDE2LCAweGZmNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDFjLDB4NmMsMHgwMCwweGY5LDB4MDAsMHhiMiwweDQwIH0gfSwKLXsgIDE2LCAweGZmODAsIDAsIHsweDBjLDB4ODIsMHgwMiwweGRjLDB4MDEsMHhmZiwweDAwLDB4YjIsMHhjMCwweDBiLDB4ZjEsMHgwMywweGJjLDB4MDAsMHhmOSwweDAwIH0gfSwKLXsgIDE2LCAweGZmOTAsIDAsIHsweDI2LDB4NDAsMHgyZSwweDgwLDB4MDMsMHgyMSwweDA0LDB4Y2YsMHgwMCwweGJiLDB4YzAsMHgwYywweDkwLDB4MDMsMHgwMCwweDAzIH0gfSwKLXsgIDE2LCAweGZmYTAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDFkLDB4ZmMsMHgwMCwweGZkLDB4MDAsMHgzZiwweDQwIH0gfSwKLXsgIDE2LCAweGZmYjAsIDAsIHsweDBmLDB4ODEsMHgwMywweGZjLDB4MDAsMHhmZiwweDAwLDB4M2YsMHhjMCwweDBmLDB4ZjAsMHgyMywweGZjLDB4MDAsMHhmYywweDAwIH0gfSwKLXsgIDE2LCAweGZmYzAsIDAsIHsweDJkLDB4NDAsMHgyZiwweGMwLDB4MDMsMHhmMCwweDg4LDB4ZmYsMHgwMCwweDM3LDB4YzAsMHg4ZiwweGQwLDB4MDMsMHhlOCwweDAyIH0gfSwKLXsgIDE2LCAweGZmZDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZmUsMHg0MCwweGZmLDB4ODAsMHgzMywweGMyIH0gfSwKLXsgIDE2LCAweGZmZTAsIDAsIHsweDBjLDB4ZjgsMHgwMywweDdjLDB4YTAsMHhmZiwweDkwLDB4M2YsMHhjNCwweDJjLDB4YjQsMHgwMywweGJjLDB4ODAsMHhjZiwweDQwIH0gfSwKLXsgIDE2LCAweGZmZjAsIDAsIHsweDM3LDB4ZTAsMHgwZiwweGYxLDB4OTMsMHg2ZSwweDQ0LDB4YmYsMHgzMCwweDNmLDB4MjAsMHgyYywweGY4LDB4NjMsMHhmMCwweDA0IH0gfSwKLXsgIDE2LCAweDgwMTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDEwLDB4ZWMsMHgwMCwweGViLDB4MjAsMHgyMywweGYwIH0gfSwKLXsgIDE2LCAweDgwMjAsIDAsIHsweDA4LDB4YjgsMHg1MiwweDNkLDB4MDAsMHhiMywweDAwLDB4MmUsMHhkYywweDA4LDB4ZjQsMHg0MiwweDFjLDB4NDIsMHg4YiwweDQwIH0gfSwKLXsgIDE2LCAweDgwMzAsIDAsIHsweDIyLDB4YzgsMHgwYiwweGY2LDB4MDMsMHg2YywweDg4LDB4YmIsMHgzMCwweDJlLDB4MDAsMHgwOCwweGIyLDB4MDIsMHhlMCwweDA0IH0gfSwKLXsgIDE2LCAweDgwNDAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4Y2MsMHgwMCwweGJiLDB4MDgsMHgyMCwweGMwIH0gfSwKLXsgIDE2LCAweDgwNTAsIDAsIHsweDA4LDB4MzAsMHgwMiwweDRjLDB4YTAsMHhiMywweDIwLDB4MjYsMHg4MCwweDg4LDB4MzYsMHgwMiwweGNjLDB4YTAsMHg5MywweDYwIH0gfSwKLXsgIDE2LCAweDgwNjAsIDAsIHsweGE0LDB4YzIsMHgwYSwweDMyLDB4NDIsMHg0YywweDkwLDB4YjMsMHgyMCwweDJjLDB4MGIsMHg4OCwweDMwLDB4ODIsMHhlMiwweDAxIH0gfSwKLXsgIDE2LCAweDgwNzAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDE1LDB4YWMsMHgwOCwweGJiLDB4MjIsMHhhMiwweGMwIH0gfSwKLXsgIDE2LCAweDgwODAsIDAsIHsweDA4LDB4YjAsMHgwMiwweDJjLDB4MDAsMHhiYiwweDAwLDB4MmUsMHg5MCwweDA4LDB4YjAsMHgwMiwweGVjLDB4MDAsMHg5YiwweDAwIH0gfSwKLXsgIDE2LCAweDgwOTAsIDAsIHsweDIyLDB4YzAsMHgwYiwweGIwLDB4MDIsMHg2YywweDAwLDB4YmIsMHgwMiwweDJlLDB4MjAsMHgwOCwweGIwLDB4MDIsMHhmMCwweDAwIH0gfSwKLXsgIDE2LCAweDgwYTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDE1LDB4ZWMsMHgwMCwweGIxLDB4ODMsMHgzMiwweGMwIH0gfSwKLXsgIDE2LCAweDgwYjAsIDAsIHsweDBjLDB4MWEsMHgwMywweDZjLDB4MTAsMHhmYiwweDAwLDB4MzQsMHhjMCwweDBjLDB4YjAsMHgwMywweGVjLDB4MDgsMHhkYSwweDAwIH0gfSwKLXsgIDE2LCAweDgwYzAsIDAsIHsweDM2LDB4YzAsMHgwZSwweGIwLDB4MGIsMHg2YywweDAwLDB4ZmIsMHgwMCwweDNlLDB4MjgsMHgwYywweGIwLDB4MDIsMHhkMCwweDAwIH0gfSwKLXsgIDE2LCAweDgwZDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDAxLDB4YmMsMHgwMCwweGVkLDB4ODAsMHgzZiwweGMwIH0gfSwKLXsgIDE2LCAweDgwZTAsIDAsIHsweDBmLDB4ZDQsMHgwMywweGVjLDB4MDAsMHhmZiwweDAwLDB4M2YsMHhjOCwweDBmLDB4YjAsMHgwMywweDNjLDB4MDAsMHhlZSwweDQwIH0gfSwKLXsgIDE2LCAweDgwZjAsIDAsIHsweDNmLDB4YzAsMHgwZiwweDcwLDB4MDMsMHhmYywweDAwLDB4ZmYsMHgwMCwweDNmLDB4ODAsMHgwZiwweGYwLDB4MDMsMHhmOCwweDAwIH0gfSwKLXsgIDE2LCAweDgxMDAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YWMsMHgwMCwweGZiLDB4MjAsMHhiMCwweGMwIH0gfSwKLXsgIDE2LCAweDgxMTAsIDAsIHsweDBmLDB4YjQsMHgwMywweGFjLDB4MDIsMHhjYiwweDAwLDB4MzIsMHg5MCwweDBlLDB4YjAsMHgwMywweDZjLDB4MDAsMHhlYiwweDAwIH0gfSwKLXsgIDE2LCAweDgxMjAsIDAsIHsweDNhLDB4YzAsMHgwYywweGIwLDB4MDIsMHhlYywweDAwLDB4ZmIsMHgwMCwweDNlLDB4OTEsMHgwZiwweGIwLDB4MDMsMHg5MCwweDAwIH0gfSwKLXsgIDE2LCAweDgxMzAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjOCwweDA1LDB4MmMsMHgwMCwweGJiLDB4ODAsMHgyMywweGQ3IH0gfSwKLXsgIDE2LCAweDgxNDAsIDAsIHsweDBiLDB4OTAsMHgwMiwweDNjLDB4MTQsMHg4YiwweDAwLDB4NmEsMHgwOCwweDI4LDB4ZjAsMHgwMCwweGJjLDB4MDAsMHg4MywweDAwIH0gfSwKLXsgIDE2LCAweDgxNTAsIDAsIHsweGJlLDB4YzAsMHg4OCwweGYwLDB4MTMsMHgyYywweDAwLDB4ZWYsMHgwMCwweDJlLDB4ODAsMHgwYiwweGIwLDB4MDcsMHhiMiwweDAwIH0gfSwKLXsgIDE2LCAweDgxNjAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NGMsMHgwMCwweGIzLDB4NDAsMHgyMCwweGQwIH0gfSwKLXsgIDE2LCAweDgxNzAsIDAsIHsweDBiLDB4MjgsMHgwMiwweDhjLDB4MDAsMHg4MywweDAxLDB4MjAsMHhjMCwweDFhLDB4YjgsMHgwMCwweDZjLDB4MTAsMHhhMSwweDAwIH0gfSwKLXsgIDE2LCAweDgxODAsIDAsIHsweDY4LDB4YzAsMHgyYSwweDMwLDB4MDIsMHg4YywweDAwLDB4YjMsMHgwMiwweDJlLDB4MDAsMHg0YiwweDMwLDB4MDIsMHhmOCwweDA0IH0gfSwKLXsgIDE2LCAweDgxOTAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMCwweDAxLDB4MWUsMHgwMCwweGI3LDB4YTAsMHgyMSwweGUwIH0gfSwKLXsgIDE2LCAweDgxYTAsIDAsIHsweDBiLDB4ZWMsMHhjMiwweDFlLDB4MDQsMHg4NywweDgwLDB4MjksMHhlNCwweDA4LDB4NzksMHg4MiwweDllLDB4NDAsMHhhZiwweDkwIH0gfSwKLXsgIDE2LCAweDgxYjAsIDAsIHsweDI5LDB4ZTAsMHgwYSwweDM4LDB4MDAsMHgxZSwweDAwLDB4YTcsMHg5MCwweDJkLDB4MjQsMHgwYiwweDc4LDB4MDIsMHg4OCwweDAwIH0gfSwKLXsgIDE2LCAweDgxYzAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MGMsMHg1MCwweGZiLDB4MDksMHgzMCwweGMwIH0gfSwKLXsgIDE2LCAweDgxZDAsIDAsIHsweDBmLDB4MjAsMHgwMiwweDhjLDB4NDAsMHhjMywweDAwLDB4MjAsMHhjMCwweDBhLDB4MzgsMHgwMywweDRjLDB4NDQsMHhlMSwweDAwIH0gfSwKLXsgIDE2LCAweDgxZTAsIDAsIHsweGFhLDB4YzAsMHgwZSwweDMxLDB4NDMsMHg4ZSwweDAwLDB4ZjMsMHgwMCwweDNjLDB4MDAsMHgwZiwweDMwLDB4MDMsMHhkMiwweDAyIH0gfSwKLXsgIDE2LCAweDgxZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDRkLDB4YmMsMHgwMCwweGZmLDB4MjAsMHgzZiwweGQwIH0gfSwKLXsgIDE2LCAweDgyMDAsIDAsIHsweDRmLDB4NzAsMHgwMywweGZjLDB4MDAsMHhmZiwweDAwLDB4M2QsMHhjMCwweDBmLDB4ZjMsMHg0MywweGZjLDB4NDAsMHhkNywweDAwIH0gfSwKLXsgIDE2LCAweDgyMTAsIDAsIHsweGJmLDB4YzAsMHgwZCwweGY0LDB4YzMsMHhmYywweDQwLDB4ZmYsMHgwMCwweDNmLDB4NDAsMHgwZiwweGYwLDB4MDMsMHhkMCwweDA2IH0gfSwKLXsgIDE2LCAweDgyMjAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZWMsMHgwMCwweGZiLDB4MDAsMHgzMiwweGQwIH0gfSwKLXsgIDE2LCAweDgyMzAsIDAsIHsweDBkLDB4OTAsMHgwMSwweGVkLDB4YzAsMHhmYiwweDAwLDB4M2UsMHhjMCwweDFmLDB4YmEsMHgwMywweGFjLDB4YzAsMHhjOCwweDAwIH0gfSwKLXsgIDE2LCAweDgyNDAsIDAsIHsweDMyLDB4ZTAsMHg4ZCwweGI0LDB4NDMsMHhlYywweDAwLDB4ZmIsMHgwMCwweDM2LDB4YTAsMHgwYywweGIwLDB4MDMsMHg2YSwweDAwIH0gfSwKLXsgIDE2LCAweDgyNTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDExLDB4OWMsMHgwMCwweGI3LDB4MDAsMHgyMSwweGM4IH0gfSwKLXsgIDE2LCAweDgyNjAsIDAsIHsweDA4LDB4NjAsMHgwMiwweGRjLDB4MjAsMHhiNywweDAwLDB4MmQsMHhjMCwweDBmLDB4NzQsMHhhMiwweDFjLDB4MjgsMHhkNiwweDAwIH0gfSwKLXsgIDE2LCAweDgyNzAsIDAsIHsweDM1LDB4YzAsMHgwOCwweDcyLDB4MDIsMHg1YywweDA4LDB4YjcsMHg0NCwweGExLDB4ODAsMHg0OCwweDcwLDB4MDIsMHgxMiwweDAwIH0gfSwKLXsgIDE2LCAweDgyODAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4OWUsMHgwMCwweGI3LDB4ODAsMHgyMCwweGU0IH0gfSwKLXsgIDE2LCAweDgyOTAsIDAsIHsweDA5LDB4NzgsMHgyNiwweGRlLDB4MDAsMHhiNywweDgwLDB4MmQsMHhlMiwweDBhLDB4NzAsMHgxMiwweDhjLDB4ODgsMHg4MSwweDgwIH0gfSwKLXsgIDE2LCAweDgyYTAsIDAsIHsweDIxLDB4ZTAsMHgwOSwweDc4LDB4MDIsMHhkZSwweDAwLDB4YjMsMHhhMCwweDI1LDB4YTAsMHgyOCwweDc4LDB4MDIsMHg3MCwweDA0IH0gfSwKLXsgIDE2LCAweDgyYjAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDE0LDB4Y2MsMHgwMSwweGJiLDB4ODAsMHgyMCwweGMwIH0gfSwKLXsgIDE2LCAweDgyYzAsIDAsIHsweDA4LDB4MzAsMHg0MiwweGVjLDB4MDAsMHhiMywweDAwLDB4MmMsMHhjMCwweDBhLDB4MzAsMHgyMiwweDBjLDB4MDAsMHg5MywweDAwIH0gfSwKLXsgIDE2LCAweDgyZDAsIDAsIHsweDI0LDB4YzEsMHgwOCwweDMwLDB4MDIsMHhjYywweDAwLDB4YjMsMHgwMCwweDIwLDB4ZTAsMHgwOCwweGIwLDB4MDIsMHgxMiwweDA0IH0gfSwKLXsgIDE2LCAweDgyZTAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YTgsMHgwMCwweGZhLDB4MDgsMHhiMiwweDgwIH0gfSwKLXsgIDE2LCAweDgyZjAsIDAsIHsweDBkLDB4ZTIsMHgwMywweGU4LDB4MDAsMHhmYSwweDAwLDB4M2YsMHg4MCwweDBhLDB4YTAsMHgwMywweGE4LDB4MDAsMHhjZSwweDUwIH0gfSwKLXsgIDE2LCAweDgzMDAsIDAsIHsweDMyLDB4ODAsMHgwNSwweGEwLDB4MDMsMHhlOCwweDAwLDB4ZmEsMHgwMCwweDM3LDB4YTgsMHgwYywweGEwLDB4MDMsMHg3YSwweDA0IH0gfSwKLXsgIDE2LCAweDgzMTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDAwLDB4NjAsMHgwOCwweGY4LDB4MDAsMHgzYywweDAwIH0gfSwKLXsgIDE2LCAweDgzMjAsIDAsIHsweDBmLDB4ODgsMHgwMSwweGUwLDB4MDAsMHhmOCwweDA0LDB4M2MsMHgwMCwweDRmLDB4MDAsMHgxMywweGMwLDB4MDAsMHhmOCwweDAwIH0gfSwKLXsgIDE2LCAweDgzMzAsIDAsIHsweDNlLDB4MDAsMHgwZiwweDgwLDB4MDMsMHg2MCwweDAwLDB4ZjgsMHgwMiwweDNlLDB4MDEsMHgwZiwweDgwLDB4MDMsMHhkMiwweDAwIH0gfSwKLXsgIDE2LCAweDgzNDAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTQsMHgwMCwweGY5LDB4OTAsMHgxMiwweDQwIH0gfSwKLXsgIDE2LCAweDgzNTAsIDAsIHsweDBjLDB4OTAsMHgwMywweGE0LDB4MDAsMHhjOSwweDAwLDB4M2UsMHg3MCwweDBlLDB4OTQsMHgzMywweDI0LDB4MDgsMHhjOSwweDAwIH0gfSwKLXsgIDE2LCAweDgzNjAsIDAsIHsweDJhLDB4NDAsMHgwYiwweDkwLDB4MDMsMHhlNCwweDAwLDB4ZjksMHgwMCwweDNhLDB4NDAsMHgwZiwweDkwLDB4MDMsMHgwMiwweDA0IH0gfSwKLXsgIDE2LCAweDgzNzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA0LDB4NjQsMHgwMCwweGI5LDB4NDIsMHgyMiwweDYwIH0gfSwKLXsgIDE2LCAweDgzODAsIDAsIHsweDA4LDB4MTAsMHgwMiwweDI0LDB4MDAsMHg4OSwweDAzLDB4MmUsMHg0MCwweDA4LDB4OTAsMHgwMiwweGE0LDB4MDEsMHg4MSwweDA0IH0gfSwKLXsgIDE2LCAweDgzOTAsIDAsIHsweDNlLDB4NDAsMHgwYiwweDkwLDB4MDIsMHhlNCwweDAwLDB4YjksMHgwMiwweDIyLDB4NDAsMHgwZSwweDkwLDB4MDIsMHgyMCwweDAwIH0gfSwKLXsgIDE2LCAweDgzYTAsIDAsIHsweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4MjQsMHgwMCwweGI5LDB4NDAsMHgyYSwweDRhIH0gfSwKLXsgIDE2LCAweDgzYjAsIDAsIHsweDA4LDB4OTEsMHgwMiwweGE0LDB4MDAsMHg4OSwweDAwLDB4MmUsMHg0MCwweDFhLDB4OTAsMHgwYSwweDI0LDB4MDQsMHg4OSwweDAwIH0gfSwKLXsgIDE2LCAweDgzYzAsIDAsIHsweDJhLDB4NDAsMHgwYiwweDkwLDB4MDIsMHhlNCwweDAwLDB4YjEsMHgwMCwweDJhLDB4NDAsMHgwYiwweDkwLDB4MDIsMHgwNiwweDAwIH0gfSwKLXsgIDE2LCAweDgzZDAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA0LDB4MDQsMHgwMCwweGIxLDB4MDEsMHhhOCwweDQ4IH0gfSwKLXsgIDE2LCAweDgzZTAsIDAsIHsweDg4LDB4OTAsMHgwMiwweDA0LDB4ODAsMHg4MSwweDQwLDB4MmMsMHg1MCwweDE4LDB4MTQsMHgwYSwweDg0LDB4MTAsMHg4OSwweDQwIH0gfSwKLXsgIDE2LCAweDgzZjAsIDAsIHsweDJjLDB4NDAsMHgwYiwweDEwLDB4MDIsMHhjNCwweDAwLDB4MzEsMHgyMCwweDIwLDB4NDAsMHgwYSwweDEwLDB4MGEsMHgwMiwweDAxIH0gfSwKLXsgIDE2LCAweDg0MDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjEsMHg0MCwweGYwLDB4NTAsMHgzYSwweDAwIH0gfSwKLXsgIDE2LCAweDg0MTAsIDAsIHsweDJjLDB4YTAsMHgwMiwweGExLDB4NDIsMHhjOCwweDAwLDB4M2UsMHgwMCwweGRlLDB4MDAsMHgyMywweDIxLDB4NDIsMHg4OCwweDAwIH0gfSwKLXsgIDE2LCAweDg0MjAsIDAsIHsweDM4LDB4MTQsMHgwZiwweDg1LDB4MDMsMHhlMSwweDQwLDB4ZjgsMHg1MCwweDM4LDB4MTQsMHgwZiwweDA1LDB4MDMsMHgyZSwweDAxIH0gfSwKLXsgIDE2LCAweDg0MzAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5OCwweDFkLDB4ZTQsMHgwOCwweGZkLDB4MDAsMHgzNiwweDQ0IH0gfSwKLXsgIDE2LCAweDg0NDAsIDAsIHsweDBmLDB4ZDAsMHgwMywweDY0LDB4NDAsMHhmOSwweDAwLDB4M2QsMHg1MCwweDBmLDB4OTQsMHgwMywweGU1LDB4MDAsMHg3ZCwweDQwIH0gfSwKLXsgIDE2LCAweDg0NTAsIDAsIHsweDNlLDB4NDAsMHgwZiwweDk0LDB4MDMsMHhlNCwweDAwLDB4ZjksMHgxMCwweDNmLDB4NDAsMHgwZSwweDkwLDB4MDMsMHhlNiwweDA0IH0gfSwKLXsgIDE2LCAweDg0NjAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4ZTQsMHgwMCwweGZkLDB4NDAsMHgzMywweDY4IH0gfSwKLXsgIDE2LCAweDg0NzAsIDAsIHsweDBjLDB4ZDAsMHgwMywweGU3LDB4ODEsMHhmOSwweDAwLDB4MzMsMHg3OCwweDBkLDB4ZDgsMHgxMywweDI2LDB4YTAsMHhjZCwweGEwIH0gfSwKLXsgIDE2LCAweDg0ODAsIDAsIHsweDMyLDB4NDAsMHgwZCwweDliLDB4MDMsMHgyNCwweDAwLDB4ZjksMHhhMCwweDNjLDB4NDQsMHgyYywweDkwLDB4MDcsMHg4NiwweDAwIH0gfSwKLXsgIDE2LCAweDg0OTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzOCwweDEwLDB4ZTAsMHgwMCwweGI4LDB4YTAsMHhhMiwweDEwIH0gfSwKLXsgIDE2LCAweDg0YTAsIDAsIHsweDE4LDB4ODAsMHgwMywweDgyLDB4ODQsMHhiOCwweDgwLDB4MzYsMHgyYywweDJlLDB4MGYsMHgwMiwweGEzLDB4YTAsMHhkOCwweGUwIH0gfSwKLXsgIDE2LCAweDg0YjAsIDAsIHsweDM2LDB4MjIsMHg4YiwweDA4LDB4MDMsMHg0MiwweGEwLDB4ZjgsMHhlMCwweDJlLDB4MjgsMHgwOCwweDg4LDB4MDIsMHhjZSwweDA0IH0gfSwKLXsgIDE2LCAweDg0YzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4YzQsMHgwMCwweGIxLDB4MDAsMHhhMCwweDUwIH0gfSwKLXsgIDE2LCAweDg0ZDAsIDAsIHsweDI4LDB4MzAsMHgwMiwweGM1LDB4ODAsMHhiMSwweDA4LDB4MjAsMHg0MCwweDA5LDB4MTAsMHhhMiwweDQ0LDB4MDgsMHg4MSwweDQ4IH0gfSwKLXsgIDE2LCAweDg0ZTAsIDAsIHsweDIwLDB4NDAsMHgwYiwweDE0LDB4MDIsMHgwNCwweDgwLDB4YjEsMHgzOCwweDJjLDB4NDgsMHgwOCwweDEyLDB4ODIsMHg4MiwweDAxIH0gfSwKLXsgIDE2LCAweDg0ZjAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDExLDB4YTQsMHgwMCwweGIxLDB4MDAsMHgyMiwweDQwIH0gfSwKLXsgIDE2LCAweDg1MDAsIDAsIHsweDA4LDB4OTIsMHgwMiwweGU0LDB4MDAsMHhiOSwweDAyLDB4MjYsMHg1OCwweDRhLDB4OTAsMHgwMiwweGU0LDB4MDgsMHg5OSwweDQwIH0gfSwKLXsgIDE2LCAweDg1MTAsIDAsIHsweDI2LDB4NDAsMHgwYiwweDkwLDB4MDIsMHg2NCwweDA4LDB4YjksMHgwMSwweDJjLDB4NDgsMHgwOCwweDkwLDB4MTIsMHhjNiwweDA0IH0gfSwKLXsgIDE2LCAweDg1MjAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4ZTQsMHgwMCwweGY5LDB4ODAsMHgzMiwweDQwIH0gfSwKLXsgIDE2LCAweDg1MzAsIDAsIHsweDA4LDB4OTgsMHg4MywweGU0LDB4MDQsMHhiOSwweDAxLDB4MzAsMHg0MCwweDBkLDB4OTAsMHgwYiwweDY0LDB4MDIsMHhjOSwweDAwIH0gfSwKLXsgIDE2LCAweDg1NDAsIDAsIHsweDMyLDB4NDAsMHgwZiwweDkwLDB4MDMsMHgyNCwweDAwLDB4ZjksMHgwMCwweDFlLDB4NTgsMHgwYywweDkwLDB4MDMsMHhhOCwweDA0IH0gfSwKLXsgIDE2LCAweDg1NTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDAxLDB4YTQsMHgwMCwweGY5LDB4MjAsMHgzYywweDQwIH0gfSwKLXsgIDE2LCAweDg1NjAsIDAsIHsweDBmLDB4OTgsMHgwMywweGE0LDB4MDAsMHhiOSwweDAwLDB4M2UsMHg0MiwweDhlLDB4MTAsMHg0YiwweDg0LDB4MDQsMHhmOSwweDAwIH0gfSwKLXsgIDE2LCAweDg1NzAsIDAsIHsweDNlLDB4NDAsMHg4ZiwweDkwLDB4MDMsMHhlNCwweDAwLDB4ZTksMHgwMCwweDNlLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhjYSwweDAwIH0gfSwKLXsgIDE2LCAweDg1ODAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTAsMHgwMCwweGQ4LDB4MDAsMHgzMiwweDA4IH0gfSwKLXsgIDE2LCAweDg1OTAsIDAsIHsweDBmLDB4ODQsMHg4MywweGEwLDB4MDQsMHhjOCwweDA0LDB4M2UsMHgwMCwweDgzLDB4ODAsMHgwMSwweDIwLDB4MDAsMHhjMCwweDAwIH0gfSwKLXsgIDE2LCAweDg1YTAsIDAsIHsweDMyLDB4MDAsMHgwZiwweDAwLDB4MDMsMHhhMCwweDAwLDB4YzgsMHgwMCwweDMyLDB4MTAsMHg0ZSwweDgwLDB4MTMsMHhjYSwweDA0IH0gfSwKLXsgIDE2LCAweDg1YjAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4MjgsMHgwMCwweDhlLDB4OTAsMHhhMywweDgwIH0gfSwKLXsgIDE2LCAweDg1YzAsIDAsIHsweDBiLDB4ZTQsMHgwMiwweDI4LDB4MDAsMHhjYSwweDAwLDB4MmYsMHg4MCwweDRhLDB4YTAsMHgxMywweGE4LDB4MDAsMHhhYSwweDAwIH0gfSwKLXsgIDE2LCAweDg1ZDAsIDAsIHsweDM2LDB4ODEsMHgwYiwweGEwLDB4MDIsMHgyOCwweDAwLDB4OGEsMHgwMCwweDIyLDB4ODAsMHgwOCwweGEwLDB4MDMsMHg4YSwweDAwIH0gfSwKLXsgIDE2LCAweDg1ZTAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NGMsMHgwMCwweDkzLDB4YzAsMHgyMCwweGQwIH0gfSwKLXsgIDE2LCAweDg1ZjAsIDAsIHsweDBiLDB4MzQsMHgwMiwweDhjLDB4MDAsMHg4YiwweDAwLDB4MmMsMHhmMCwweDhiLDB4MTgsMHgwMiwweDRjLDB4MDAsMHg4MywweDAwIH0gfSwKLXsgIDE2LCAweDg2MDAsIDAsIHsweDYwLDB4YzAsMHgwYiwweDMwLDB4MDIsMHg4YywweDAyLDB4ODMsMHgwMCwweDI4LDB4YzEsMHgwYSwweDMwLDB4MDIsMHhjYSwweDAwIH0gfSwKLXsgIDE2LCAweDg2MTAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDAxLDB4MWUsMHgwMCwweGI0LDB4MGIsMHg2OSwweGMwIH0gfSwKLXsgIDE2LCAweDg2MjAsIDAsIHsweDA5LDB4NTgsMHgwNiwweDFlLDB4ODAsMHg5NywweDEwLDB4MmYsMHhjMiwweDQ4LDB4NzAsMHg4MiwweDljLDB4ODAsMHhhNywweDA4IH0gfSwKLXsgIDE2LCAweDg2MzAsIDAsIHsweDI1LDB4Y2MsMHgwYiwweDcwLDB4MDIsMHgxZSwweDgxLDB4ODcsMHhhMiwweGFiLDB4YzQsMHgwOCwweDczLDB4MDIsMHhlOCwweDAwIH0gfSwKLXsgIDE2LCAweDg2NDAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4M2UsMHgxMCwweGRjLDB4ODQsMHgyMSwweGUwIH0gfSwKLXsgIDE2LCAweDg2NTAsIDAsIHsweDBmLDB4NzgsMHg0MiwweDlmLDB4MDIsMHhjNywweDg4LDB4M2QsMHhlMCwweDJmLDB4NzEsMHgwMywweDRlLDB4MDAsMHhjZiwweDgwIH0gfSwKLXsgIDE2LCAweDg2NjAsIDAsIHsweDIxLDB4ZTIsMHgwZiwweDc4LDB4ODMsMHg5ZSwweDQ5LDB4Y2YsMHhkMCwweDM5LDB4ZTgsMHgwZSwweDc4LDB4MDMsMHhlYSwweDAyIH0gfSwKLXsgIDE2LCAweDg2NzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDRkLDB4YWMsMHg0MCwweGNhLDB4MDAsMHgzNiwweDAwIH0gfSwKLXsgIDE2LCAweDg2ODAsIDAsIHsweDhmLDB4MzAsMHgyMywweGVjLDB4YTgsMHhlYiwweDQwLDB4M2MsMHhjMCwweDBmLDB4OTYsMHg0MywweGVkLDB4ODAsMHhmYiwweDAwIH0gfSwKLXsgIDE2LCAweDg2OTAsIDAsIHsweDNlLDB4ZDgsMHg4ZiwweGIxLDB4NDMsMHhlZCwweDgwLDB4ZmIsMHgyMCwweDM2LDB4Y2EsMHgwZiwweGIwLDB4YTMsMHg4MiwweDA2IH0gfSwKLXsgIDE2LCAweDg2YTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZmUsMHg4MCwweGZjLDB4ODAsMHgzMSwweGUwIH0gfSwKLXsgIDE2LCAweDg2YjAsIDAsIHsweDA1LDB4YWEsMHgxMCwweGZlLDB4NDQsMHhmZiwweDkwLDB4M2YsMHhlMSwweGNmLDB4ZjksMHgxNywweDNmLDB4MjAsMHhkNywweDgwIH0gfSwKLXsgIDE2LCAweDg2YzAsIDAsIHsweDhiLDB4ZTQsMHgwZiwweGY4LDB4MDMsMHgzZSwweDMwLDB4ZmYsMHg4MCwweDM3LDB4ZTAsMHgwZiwweGY4LDB4MDAsMHg0MCwweDAwIH0gfSwKLXsgIDE2LCAweDg2ZDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDExLDB4OWMsMHgwMCwweGJkLDB4MTAsMHgyMSwweGMwIH0gfSwKLXsgIDE2LCAweDg2ZTAsIDAsIHsweDA4LDB4NGEsMHgwMiwweGRjLDB4YzAsMHhiNywweDAwLDB4MmQsMHhjMiwweDBjLDB4ZDMsMHgwMiwweDFjLDB4ODAsMHg4NywweDAwIH0gfSwKLXsgIDE2LCAweDg2ZjAsIDAsIHsweDI5LDB4YzAsMHg0YiwweDcyLDB4MDIsMHgxYywweDAwLDB4YjcsMHgwMSwweDIxLDB4YzAsMHgwYiwweGYwLDB4MTIsMHgyYSwweDA0IH0gfSwKLXsgIDE2LCAweDg3MDAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OWMsMHg5MCwweDM0LDB4MDAsMHgyMSwweDgwIH0gfSwKLXsgIDE2LCAweDg3MTAsIDAsIHsweDA5LDB4NzAsMHgwMCwweDVjLDB4MGMsMHhiNywweDAwLDB4MmQsMHhjNCwweDA4LDB4NTAsMHgxYSwweDBjLDB4MDAsMHg5NywweDAwIH0gfSwKLXsgIDE2LCAweDg3MjAsIDAsIHsweDIxLDB4YzAsMHg0YiwweDMwLDB4MDIsMHgxYywweDAwLDB4YjcsMHgwMCwweDI1LDB4YzAsMHgwYiwweDcwLDB4MDIsMHg0MCwweDAwIH0gfSwKLXsgIDE2LCAweDg3MzAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMCwweDE0LDB4Y2MsMHgwMCwweGIwLDB4MDAsMHg2MCwweDAwIH0gfSwKLXsgIDE2LCAweDg3NDAsIDAsIHsweDA4LDB4M2UsMHgwMiwweGNjLDB4MDAsMHhiMywweDAyLDB4MGMsMHhlMCwweDJiLDB4YjAsMHgwMiwweDBjLDB4MDAsMHg5MywweDAwIH0gfSwKLXsgIDE2LCAweDg3NTAsIDAsIHsweDI4LDB4YzAsMHgwYiwweGIwLDB4MDIsMHgyYywweDEwLDB4YjMsMHgwMCwweDIwLDB4ZDYsMHgwMywweDMwLDB4MDIsMHgwOCwweDA0IH0gfSwKLXsgIDE2LCAweDg3NjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YmMsMHgwMCwweGZiLDB4MDAsMHhiMiwweDAwIH0gfSwKLXsgIDE2LCAweDg3NzAsIDAsIHsweDA1LDB4YmUsMHgwMywweDdjLDB4MDAsMHhmZiwweDAwLDB4M2UsMHgyMCwweDBjLDB4YjAsMHgwMywweDNjLDB4MDAsMHhkOSwweDgwIH0gfSwKLXsgIDE2LCAweDg3ODAsIDAsIHsweDMzLDB4YzAsMHg4YiwweGYwLDB4MDMsMHgzYywweDAwLDB4ZmYsMHgwMCwweDM3LDB4ZTAsMHgwZiwweGYwLDB4MDMsMHg2YSwweDA0IH0gfSwKLXsgIDE2LCAweDg3OTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDAwLDB4ZWMsMHgwMCwweGZiLDB4MDQsMHgzZSwweDAwIH0gfSwKLXsgIDE2LCAweDg3YTAsIDAsIHsweDBmLDB4YTQsMHgyMywweGNjLDB4MDAsMHhmYiwweDAwLDB4M2UsMHg4MSwweDA4LDB4OTAsMHgwMywweGVjLDB4MDAsMHhlOSwweDE0IH0gfSwKLXsgIDE2LCAweDg3YjAsIDAsIHsweDNlLDB4YzAsMHgwZiwweGIwLDB4MDMsMHhlYywweDEwLDB4ZmIsMHgwMCwweDNlLDB4YzAsMHgwZiwweGIwLDB4MDMsMHhlMCwweDAwIH0gfSwKLXsgIDE2LCAweDg3YzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZmMsMHgwMCwweGZmLDB4MDAsMHgzNywweDgwIH0gfSwKLXsgIDE2LCAweDg3ZDAsIDAsIHsweDBmLDB4ZmEsMHgwMywweGZjLDB4MDAsMHhjZiwweDAwLDB4M2YsMHg5MCwweDA2LDB4ZGMsMHgyMywweDNjLDB4MDAsMHhmZCwweDEwIH0gfSwKLXsgIDE2LCAweDg3ZTAsIDAsIHsweDMzLDB4YzAsMHgwZiwweGYwLDB4MGIsMHgzYywweDAwLDB4NDMsMHgwMCwweDMzLDB4YzAsMHgwZiwweGYwLDB4MDMsMHhjMCwweDQ0IH0gfSwKLXsgIDE2LCAweDg3ZjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MSwweDAwLDB4NmMsMHgwOSwweGJiLDB4MTksMHgyMiwweDMyIH0gfSwKLXsgIDE2LCAweDg4MDAsIDAsIHsweDBiLDB4YmUsMHgwMywweDZjLDB4MDAsMHg4YiwweDAwLDB4MmMsMHg5MCwweDBkLDB4YjgsMHgwMiwweGFjLDB4MDAsMHhiMSwweDAwIH0gfSwKLXsgIDE2LCAweDg4MTAsIDAsIHsweGYyLDB4YzAsMHgwYiwweGIwLDB4MTIsMHhhYywweDAwLDB4OGIsMHgwMCwweDIyLDB4YzAsMHgwYiwweGIwLDB4MDMsMHhhMCwweDQwIH0gfSwKLXsgIDE2LCAweDg4MjAsIDAsIHsweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MmMsMHgxMCwweGIzLDB4MDAsMHgyNiwweDIwIH0gfSwKLXsgIDE2LCAweDg4MzAsIDAsIHsweDBiLDB4OTAsMHgxMiwweGVjLDB4MDEsMHg4YiwweDAwLDB4MmEsMHhjMiwweDBhLDB4OTAsMHgwMiwweDJjLDB4MDAsMHhiYiwweDAwIH0gfSwKLXsgIDE2LCAweDg4NDAsIDAsIHsweGEyLDB4YzAsMHgwYiwweGIwLDB4MDIsMHgyYywweDAwLDB4YWIsMHgwMCwweDJhLDB4YzAsMHgwYiwweGIwLDB4MDIsMHhlMCwweDAwIH0gfSwKLXsgIDE2LCAweDg4NTAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA0LDB4MGMsMHgwMSwweGIzLDB4MDAsMHgyMCwweDAwIH0gfSwKLXsgIDE2LCAweDg4NjAsIDAsIHsweDBiLDB4MDAsMHgwMiwweDhjLDB4MDAsMHg4MywweDAwLDB4MmUsMHhjMCwweDBiLDB4MzQsMHgwMiwweDhjLDB4MDAsMHhiYiwweDAwIH0gfSwKLXsgIDE2LCAweDg4NzAsIDAsIHsweDIwLDB4YzAsMHgwYiwweDMwLDB4MDIsMHgwZCwweDAwLDB4YTMsMHgwMCwweGEwLDB4YzAsMHgwYiwweDMwLDB4MDIsMHg4MiwweDAxIH0gfSwKLXsgIDE2LCAweDg4ODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4NmMsMHgwMCwweGJiLDB4MDQsMHgzNiwweDgwIH0gfSwKLXsgIDE2LCAweDg4OTAsIDAsIHsweDBmLDB4YjIsMHgwMiwweGZjLDB4MDIsMHhjZiwweDAyLDB4MzgsMHhjMCwweDBlLDB4ZjAsMHgwMywweDNjLDB4MDAsMHhmYiwweDAwIH0gfSwKLXsgIDE2LCAweDg4YTAsIDAsIHsweDIzLDB4YzAsMHgwZiwweGYwLDB4MDMsMHgzZCwweDAyLDB4ZWYsMHgwMCwweDMzLDB4YzAsMHgwZiwweGYwLDB4NDMsMHhjMCwweDAzIH0gfSwKLXsgIDE2LCAweDg4YjAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDFkLDB4ZmMsMHgwMCwweGZmLDB4MDAsMHgzZiwweDAwIH0gfSwKLXsgIDE2LCAweDg4YzAsIDAsIHsweDBmLDB4ZjQsMHgyMywweDdjLDB4MDAsMHhmZiwweDAwLDB4M2YsMHhjMCwweDBkLDB4ZDAsMHgwMywweGZjLDB4MDAsMHhmZiwweDAwIH0gfSwKLXsgIDE2LCAweDg4ZDAsIDAsIHsweDNiLDB4YzAsMHgwZiwweGYwLDB4MDMsMHhmYywweDg4LDB4ZGYsMHgwMCwweDNmLDB4YzAsMHgwZiwweGYwLDB4MDMsMHhhOCwweDA2IH0gfSwKLXsgIDE2LCAweDg4ZTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZjAsMHg1MCwweGNlLDB4MTIsMHgzMywweGQwIH0gfSwKLXsgIDE2LCAweDg4ZjAsIDAsIHsweDRjLDB4ODYsMHg4MywweDMwLDB4ODAsMHg1ZiwweDY4LDB4MzMsMHhjNCwweDBmLDB4ZjMsMHg4MywweDNjLDB4YzAsMHhjYywweDM4IH0gfSwKLXsgIDE2LCAweDg5MDAsIDAsIHsweGIzLDB4MDgsMHgwYywweGM2LDB4MDMsMHhmMSwweGEwLDB4ZmYsMHgwMCwweDMzLDB4MjQsMHgwYywweGMyLDB4MDMsMHhmMCwweDAwIH0gfSwKLXsgIDE2LCAweDg5MTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDEwLDB4ZWMsMHg4MCwweGQyLDB4MjAsMHgyMywweGQ4IH0gfSwKLXsgIDE2LCAweDg5MjAsIDAsIHsweDBkLDB4OTYsMHgwMiwweDg4LDB4NjAsMHhhZiwweDQwLDB4MjMsMHhkYywweDBiLDB4ZjYsMHgwMiwweDNjLDB4YzIsMHg4OCwweDYwIH0gfSwKLXsgIDE2LCAweDg5MzAsIDAsIHsweDIyLDB4NTIsMHgwOCwweDkxLDB4MjIsMHhlMSwweDAwLDB4YjcsMHgyNCwweGEyLDB4NDgsMHg4YSwweDg0LDB4ODIsMHg2MCwweDA0IH0gfSwKLXsgIDE2LCAweDg5NDAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4YzQsMHgwMCwweDgxLDB4MDAsMHhlMCwweGM0IH0gfSwKLXsgIDE2LCAweDg5NTAsIDAsIHsweDBhLDB4MDAsMHgwMiwweDA0LDB4ODAsMHhhMywweDIwLDB4YTgsMHhjMCwweDFiLDB4MzAsMHgwYSwweDBjLDB4MDAsMHhhMCwweDAwIH0gfSwKLXsgIDE2LCAweDg5NjAsIDAsIHsweDI4LDB4MGMsMHgwOSwweDAyLDB4MDIsMHhjNCwweDgwLDB4YjMsMHgxYywweDIyLDB4MDgsMHgxOSwweDAzLDB4MDIsMHhlMiwweDExIH0gfSwKLXsgIDE2LCAweDg5NzAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDE1LDB4YTQsMHgwMCwweDk5LDB4ODAsMHg2MiwweGMwIH0gfSwKLXsgIDE2LCAweDg5ODAsIDAsIHsweDBiLDB4YTAsMHgzMiwweGE0LDB4NTEsMHhhYiwweDAwLDB4MmEsMHhjMCwweDhiLDB4YjAsMHgwMCwweDBjLDB4MDAsMHhhOSwweGMwIH0gfSwKLXsgIDE2LCAweDg5OTAsIDAsIHsweDJhLDB4MjEsMHgwOCwweGI4LDB4MjIsMHhlMiwweDAwLDB4YmIsMHgwMCwweDIyLDB4ODQsMHgxYiwweGE4LDB4NDIsMHg3MCwweDA0IH0gfSwKLXsgIDE2LCAweDg5YTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDE1LDB4ZTIsMHgwMCwweGNiLDB4YzksMHgzMiwweGMwIH0gfSwKLXsgIDE2LCAweDg5YjAsIDAsIHsweDBlLDB4OGIsMHgxMywweDIyLDB4MTAsMHhkYiwweDAxLDB4MzIsMHhjMCwweDBmLDB4YjAsMHgwYiwweDJjLDB4MDAsMHg2OCwweDgxIH0gfSwKLXsgIDE2LCAweDg5YzAsIDAsIHsweDNhLDB4MjIsMHgyYywweDg4LDB4MjMsMHhlMywweDAwLDB4ZmIsMHgwMCwweDMwLDB4MzAsMHg4ZCwweDljLDB4ODMsMHhkMCwweDA0IH0gfSwKLXsgIDE2LCAweDg5ZDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDAxLDB4YmEsMHg0MCwweGY3LDB4MDQsMHgzZSwweGMyIH0gfSwKLXsgIDE2LCAweDg5ZTAsIDAsIHsweDBkLDB4ZDgsMHgyMywweGQ4LDB4MDAsMHg3YiwweDAwLDB4MzcsMHhjMCwweDBmLDB4NzAsMHgzMywweGZjLDB4MTAsMHhkMiwweDAwIH0gfSwKLXsgIDE2LCAweDg5ZjAsIDAsIHsweDM1LDB4YzAsMHg4ZiwweGMwLDB4MDMsMHhmNCwweDAwLDB4ZjcsMHgwMiwweDNmLDB4ZTAsMHgwZSwweDgwLDB4MDMsMHhmOCwweDAwIH0gfSwKLXsgIDE2LCAweDhhMDAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4ODEsMHgyMCwweGM4LDB4MDgsMHgzMCwweGMwIH0gfSwKLXsgIDE2LCAweDhhMTAsIDAsIHsweDBjLDB4MDAsMHg4MywweDI0LDB4NDAsMHhjMywweDg5LDB4M2EsMHhjMCwweDBlLDB4YjAsMHgwYiwweDJjLDB4MDgsMHhjOSwweDQ4IH0gfSwKLXsgIDE2LCAweDhhMjAsIDAsIHsweDcyLDB4NTQsMHgwZiwweDkxLDB4MDMsMHhlZCwweDAyLDB4ZWIsMHg4YSwweDNhLDB4NjIsMHg4YywweDgwLDB4MGIsMHgxMCwweDA0IH0gfSwKLXsgIDE2LCAweDhhMzAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjOCwweDA1LDB4MmIsMHgwNCwweDg4LDB4NDAsMHhhMywweGMyIH0gfSwKLXsgIDE2LCAweDhhNDAsIDAsIHsweDAyLDB4YWUsMHgxMiwweDI3LDB4NDIsMHg4ZiwweDQ0LDB4MjMsMHhjMiwweDBiLDB4ZjQsMHgwMiwweDNkLDB4MDAsMHgwYSwweDQwIH0gfSwKLXsgIDE2LCAweDhhNTAsIDAsIHsweDIyLDB4ZTAsMHgwYiwweGI1LDB4MDIsMHhlYywweDIwLDB4OGYsMHg0NCwweGEyLDB4NDAsMHg4ZCwweGJkLDB4MjMsMHgzMiwweDAwIH0gfSwKLXsgIDE2LCAweDhhNjAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NDksMHg0MCwweDgzLDB4ODEsMHgyNCwweGMxIH0gfSwKLXsgIDE2LCAweDhhNzAsIDAsIHsweDA4LDB4MjgsMHgwMiwweDAxLDB4MDAsMHg5MywweDAwLDB4YTAsMHhlOCwweDBhLDB4MzAsMHg4MiwweDhmLDB4NjAsMHhiMywweDkwIH0gfSwKLXsgIDE2LCAweDhhODAsIDAsIHsweDYwLDB4YjgsMHgwYiwweDI4LDB4MTIsMHg0YSwweDAwLDB4OTMsMHgwMCwweDIwLDB4OTAsMHgwOSwweDIwLDB4MDIsMHg3OCwweDAwIH0gfSwKLXsgIDE2LCAweDhhOTAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMCwweDAxLDB4MWUsMHgwMiwweDg3LDB4YTgsMHgyNSwweGUwIH0gfSwKLXsgIDE2LCAweDhhYTAsIDAsIHsweDBhLDB4N2IsMHgwMiwweDFhLDB4MDQsMHg4NywweDgwLDB4MjEsMHhlNCwweDBiLDB4NzgsMHg4MiwweDhlLDB4MDIsMHg5NiwweDkxIH0gfSwKLXsgIDE2LCAweDhhYjAsIDAsIHsweDIxLDB4MjEsMHgwYiwweDY5LDB4NDAsMHhkYiwweDQwLDB4OTcsMHg5MiwweDIzLDB4YTAsMHg4OSwweDU4LDB4ODIsMHgwOCwweDAwIH0gfSwKLXsgIDE2LCAweDhhYzAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MjUsMHg4MiwweGMzLDB4MDAsMHgzNCwweGMwIH0gfSwKLXsgIDE2LCAweDhhZDAsIDAsIHsweDBjLDB4OWIsMHg0MywweDA4LDB4ZDAsMHhkMywweDIwLDB4MzgsMHhjMCwweDBlLDB4YjAsMHgwMywweDhjLDB4MDAsMHhiMywweDAwIH0gfSwKLXsgIDE2LCAweDhhZTAsIDAsIHsweDIwLDB4ODAsMHgwNywweDEwLDB4MDMsMHhlMCwweDAwLDB4ZDMsMHgxMCwweDM4LDB4MTgsMHgwZCwweDMwLDB4MDMsMHg1MiwweDAyIH0gfSwKLXsgIDE2LCAweDhhZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDFkLDB4YjQsMHgwMCwweDdmLDB4MjAsMHgxYiwweGQwIH0gfSwKLXsgIDE2LCAweDhiMDAsIDAsIHsweDBmLDB4ZjEsMHgwMywweGY4LDB4NDAsMHhlZiwweDAwLDB4M2YsMHhjMCwweDBmLDB4YjQsMHgwMywweDdjLDB4MjAsMHhjZiwweDA0IH0gfSwKLXsgIDE2LCAweDhiMTAsIDAsIHsweGJmLDB4NDAsMHgwZiwweGYwLDB4MDMsMHhlNCwweDEwLDB4ZWYsMHgxOCwweDNkLDB4YzAsMHgwZiwweGUwLDB4MDMsMHhkMCwweDA2IH0gfSwKLXsgIDE2LCAweDhiMjAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZTgsMHgwMCwweGUzLDB4MDAsMHhiMiwweGM0IH0gfSwKLXsgIDE2LCAweDhiMzAsIDAsIHsweDBjLDB4YTAsMHgwMywweDI0LDB4MDAsMHhkYiwweDY4LDB4MzIsMHhjOCwweDBjLDB4YjQsMHgwMywweGVjLDB4ODAsMHhjOCwweDgwIH0gfSwKLXsgIDE2LCAweDhiNDAsIDAsIHsweGI2LDB4ZTAsMHgwYywweGEwLDB4MDMsMHgyZSwweDAwLDB4Y2IsMHhlMCwweGIyLDB4NjAsMHgwYywweGI4LDB4MGIsMHgyYSwweDAwIH0gfSwKLXsgIDE2LCAweDhiNTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDExLDB4OWMsMHgwMiwweDg3LDB4MDAsMHhhMSwweGM4IH0gfSwKLXsgIDE2LCAweDhiNjAsIDAsIHsweDA4LDB4NzAsMHgwMiwweDFjLDB4MDgsMHg5NywweDAyLDB4MjEsMHhkNCwweDA4LDB4NzQsMHgwMiwweGRjLDB4YzAsMHgwNywweDAwIH0gfSwKLXsgIDE2LCAweDhiNzAsIDAsIHsweDIxLDB4YzAsMHg4OCwweDcwLDB4MDIsMHgxOCwweDAwLDB4ODMsMHgwOCwweDIxLDB4YzAsMHgwOCwweDUwLDB4MDIsMHgxMiwweDA0IH0gfSwKLXsgIDE2LCAweDhiODAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4OWUsMHgyMCwweGFkLDB4ODAsMHgyOSwweGUwIH0gfSwKLXsgIDE2LCAweDhiOTAsIDAsIHsweDA4LDB4NTgsMHgwMiwweDFlLDB4MDAsMHg5NywweGIwLDB4MjEsMHhlOCwweDA4LDB4NzgsMHgwMiwweGRlLDB4MTAsMHgxNSwweDgwIH0gfSwKLXsgIDE2LCAweDhiYTAsIDAsIHsweDIxLDB4YTEsMHgwOCwweDQ4LDB4MDIsMHg1ZSwweDAwLDB4ODcsMHhhNCwweDY1LDB4YTAsMHgwOCwweDc4LDB4MDIsMHgzMCwweDAwIH0gfSwKLXsgIDE2LCAweDhiYjAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDE0LDB4Y2YsMHgxMCwweDgxLDB4NzAsMHhhOCwweGMwIH0gfSwKLXsgIDE2LCAweDhiYzAsIDAsIHsweDM4LDB4MzAsMHgwYSwweDBkLDB4MDAsMHg5MywweDAwLDB4YTAsMHhjMSwweDI4LDB4MzAsMHgwMiwweGNjLDB4MDIsMHg4MywweDg4IH0gfSwKLXsgIDE2LCAweDhiZDAsIDAsIHsweDIwLDB4ZTAsMHgzOCwweDM0LDB4MGEsMHg0ZCwweDcyLDB4ODMsMHgwMCwweDI0LDB4ZTgsMHgyOCwweDM0LDB4ODIsMHgxMiwweDA0IH0gfSwKLXsgIDE2LCAweDhiZTAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YmEsMHg0MCwweGVlLDB4YzAsMHhiYSwweDgwIH0gfSwKLXsgIDE2LCAweDhiZjAsIDAsIHsweDBjLDB4ZTAsMHgwMywweDM5LDB4MTAsMHhkYSwweDAwLDB4MzIsMHg4MCwweDBjLDB4YTAsMHgwMywweGU4LDB4MDAsMHhkZSwweGM4IH0gfSwKLXsgIDE2LCAweDhjMDAsIDAsIHsweDMzLDB4YTAsMHgwYywweGUwLDB4MDMsMHg3YiwweDAwLDB4Y2EsMHgwMCwweDM3LDB4YjEsMHgwYywweGU0LDB4MjMsMHgzYSwweDA0IH0gfSwKLXsgIDE2LCAweDhjMTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDAwLDB4YzEsMHgwMCwweGY4LDB4MDAsMHgzNiwweDAwIH0gfSwKLXsgIDE2LCAweDhjMjAsIDAsIHsweDBmLDB4ODAsMHgwMywweGMwLDB4MjAsMHgzOCwweDAwLDB4M2UsMHgwMCwweDBmLDB4MDAsMHgwMywweGUwLDB4MDAsMHhmOCwweDAyIH0gfSwKLXsgIDE2LCAweDhjMzAsIDAsIHsweDNhLDB4MjQsMHgwZiwweDgwLDB4ODMsMHhhMCwweDAxLDB4ZjgsMHgwNCwweDNhLDB4MDQsMHgwZCwweDgwLDB4MTMsMHhkMiwweDAwIH0gfSwKLXsgIDE2LCAweDhjNDAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTQsMHg0NCwweGMxLDB4MDAsMHgzMiwweDQwIH0gfSwKLXsgIDE2LCAweDhjNTAsIDAsIHsweDBjLDB4OTAsMHgzMiwweDI0LDB4MGMsMHhjMSwweDA2LDB4MzgsMHg0MCwweDBkLDB4OTAsMHgwOSwweDA0LDB4MDAsMHhkOSwweDAwIH0gfSwKLXsgIDE2LCAweDhjNjAsIDAsIHsweDNlLDB4NDAsMHgwZiwweDE4LDB4MDMsMHgyNCwweDAwLDB4ZjksMHgwMSwweDNlLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhjMiwweDA0IH0gfSwKLXsgIDE2LCAweDhjNzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA0LDB4NjQsMHgwNiwweDg5LDB4MDAsMHgyYSwweDUwIH0gfSwKLXsgIDE2LCAweDhjODAsIDAsIHsweDA4LDB4OTQsMHgwYSwweDI0LDB4MDAsMHg4OSwweDQyLDB4MjIsMHg1MCwweDBhLDB4OTAsMHgxMiwweDI1LDB4MDAsMHg4OSwweDAwIH0gfSwKLXsgIDE2LCAweDhjOTAsIDAsIHsweDJlLDB4NTAsMHgwYiwweDljLDB4MGEsMHgyNSwweDEwLDB4YjksMHgwMCwweDJlLDB4NTAsMHgwYiwweDkwLDB4MDIsMHhlMCwweDAwIH0gfSwKLXsgIDE2LCAweDhjYTAsIDAsIHsweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4MjQsMHgyMCwweDg5LDB4MDAsMHgyMCwweDQyIH0gfSwKLXsgIDE2LCAweDhjYjAsIDAsIHsweDA4LDB4MTAsMHhjMiwweGFjLDB4MTAsMHg4OSwweDA4LDB4MmEsMHg0MiwweDA5LDB4OTAsMHgwMiwweDI0LDB4MjAsMHg5OSwweDAwIH0gfSwKLXsgIDE2LCAweDhjYzAsIDAsIHsweDJlLDB4NDIsMHgwYSwweGIxLDB4ODIsMHgyYywweDIwLDB4YjksMHgwMCwweDZlLDB4NDIsMHgwYiwweDkwLDB4MDIsMHhjNiwweDAwIH0gfSwKLXsgIDE2LCAweDhjZDAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA0LDB4MDQsMHgwMCwweDgzLDB4MDAsMHgyOCwweDQ4IH0gfSwKLXsgIDE2LCAweDhjZTAsIDAsIHsweDA4LDB4MTIsMHg2MiwweDhjLDB4ODAsMHg4MSwweDAwLDB4MjAsMHg0MCwweDAyLDB4MTAsMHgwMiwweDg0LDB4ODAsMHg4MSwweDIwIH0gfSwKLXsgIDE2LCAweDhjZjAsIDAsIHsweDJjLDB4NDksMHgwYiwweDEyLDB4MDYsMHgwNCwweDg0LDB4YjMsMHgwMiwweDZjLDB4NDAsMHgwYiwweDEyLDB4MDIsMHhjMiwweDAxIH0gfSwKLXsgIDE2LCAweDhkMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NDEsMHhlMCwweGM4LDB4NzgsMHgzMCwweDE0IH0gfSwKLXsgIDE2LCAweDhkMTAsIDAsIHsweDRjLDB4MDUsMHgxMywweGExLDB4NDIsMHhjMCwweDc4LDB4MzgsMHgxZSwweDBkLDB4ODcsMHg4MywweDAxLDB4NDAsMHhkMCwweDUwIH0gfSwKLXsgIDE2LCAweDhkMjAsIDAsIHsweDNjLDB4MTQsMHgwZSwweDA1LDB4MDMsMHgwMSwweDQwLDB4ZjgsMHg3OCwweDNjLDB4MTQsMHgwZiwweDA1LDB4MDMsMHhlZSwweDAzIH0gfSwKLXsgIDE2LCAweDhkMzAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5OCwweDFkLDB4ZmMsMHgwMCwweGZmLDB4MDAsMHgwZSwweDQ0IH0gfSwKLXsgIDE2LCAweDhkNDAsIDAsIHsweDJmLDB4ZjEsMHgwMywweDc0LDB4NDAsMHhmOSwweDAwLDB4M2UsMHg0MCwweDBkLDB4OTAsMHgwMywweDY0LDB4NDAsMHhmZCwweDEwIH0gfSwKLXsgIDE2LCAweDhkNTAsIDAsIHsweDNmLDB4NDQsMHgwZiwweGQxLDB4MDEsMHhmNCwweDQwLDB4ZjksMHgwMSwweDNmLDB4YzAsMHgwZiwweGQxLDB4MDMsMHhlNiwweDA2IH0gfSwKLXsgIDE2LCAweDhkNjAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4ZTYsMHgyMiwweGU5LDB4ODgsMHhiMiwweDQwIH0gfSwKLXsgIDE2LCAweDhkNzAsIDAsIHsweDBmLDB4OTAsMHgwMywweDI0LDB4MTYsMHhjOSwweDhjLDB4MzYsMHg3YiwweDhmLDB4OWMsMHg4MywweGE3LDB4OTAsMHhjOSwweDAwIH0gfSwKLXsgIDE2LCAweDhkODAsIDAsIHsweDNlLDB4NTAsMHgwNCwweDk0LDB4MTMsMHgyNCwweDUwLDB4YzksMHhlMCwweDNlLDB4NTAsMHgwZiwweDkwLDB4MDMsMHgwNiwweDAwIH0gfSwKLXsgIDE2LCAweDhkOTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzOCwweDEwLDB4ZTIsMHg4MCwweDg4LDB4YTAsMHgyMiwweDI4IH0gfSwKLXsgIDE2LCAweDhkYTAsIDAsIHsweDBiLDB4OGEsMHgwMiwweDJhLDB4ODAsMHg4OCwweGE0LDB4MjIsMHgzMCwweDA4LDB4OGUsMHgwYSwweDIyLDB4MDIsMHg4OCwweGEwIH0gfSwKLXsgIDE2LCAweDhkYjAsIDAsIHsweDJlLDB4MjgsMHg4OCwweGFhLDB4MTIsMHgyMiwweDkwLDB4ODgsMHhmNCwweDJlLDB4MjAsMHgwYiwweGM4LDB4MDIsMHgwZSwweDA0IH0gfSwKLXsgIDE2LCAweDhkYzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4ZDQsMHgyMCwweGE1LDB4MDgsMHgyMSwweDQyIH0gfSwKLXsgIDE2LCAweDhkZDAsIDAsIHsweDBiLDB4NTAsMHg4MiwweDE0LDB4MzEsMHg4NSwweDA4LDB4MjUsMHg0MCwweDBhLDB4NTAsMHgyMiwweDk0LDB4NDAsMHg4NSwweDA4IH0gfSwKLXsgIDE2LCAweDhkZTAsIDAsIHsweDZkLDB4NDAsMHgwOCwweDUwLDB4MDIsMHg1NCwweDAyLDB4OTUsMHgwMCwweDJkLDB4NDgsMHgwYiwweDUwLDB4ODIsMHg0MiwweDAxIH0gfSwKLXsgIDE2LCAweDhkZjAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDE1LDB4ODQsMHgwMCwweDhkLDB4MTAsMHgyMywweDQwIH0gfSwKLXsgIDE2LCAweDhlMDAsIDAsIHsweDBiLDB4ZDAsMHgwMCwweDM0LDB4MDEsMHg4ZCwweDAwLDB4MjMsMHg0MSwweDU4LDB4ZDAsMHgwMiwweDM0LDB4MDAsMHg4ZCwweDA4IH0gfSwKLXsgIDE2LCAweDhlMTAsIDAsIHsweDJmLDB4NTAsMHgwOCwweGQyLDB4MDIsMHg3NCwweDgwLDB4OWQsMHgwMCwweDJmLDB4NDgsMHgwYiwweGRjLDB4MDIsMHg0NiwweDA0IH0gfSwKLXsgIDE2LCAweDhlMjAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4ZTcsMHg0MCwweGU5LDB4YzAsMHgzMiwweDQwIH0gfSwKLXsgIDE2LCAweDhlMzAsIDAsIHsweDBmLDB4OTAsMHgwOSwweDI2LDB4MDAsMHhjOSwweDA0LDB4MzYsMHg0MCwweDFmLDB4OTAsMHgyMywweGE0LDB4MDgsMHhjOSwweDQwIH0gfSwKLXsgIDE2LCAweDhlNDAsIDAsIHsweDNlLDB4NDAsMHgwYywweDk0LDB4MGIsMHg2NCwweDIwLDB4ZDksMHgwMiwweDNlLDB4NDEsMHgwZiwweDk0LDB4MDMsMHg2OCwweDA0IH0gfSwKLXsgIDE2LCAweDhlNTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDAxLDB4YTQsMHgwMCwweGY5LDB4ODAsMHgzZSwweDQwIH0gfSwKLXsgIDE2LCAweDhlNjAsIDAsIHsweDBmLDB4MTQsMHgwMywweGM1LDB4MDgsMHhmOSwweDAwLDB4M2UsMHg0MCwweDFmLDB4OTAsMHgyMywweGU0LDB4MDAsMHhmOSwweDAwIH0gfSwKLXsgIDE2LCAweDhlNzAsIDAsIHsweDNjLDB4NDAsMHhhZiwweDk4LDB4MDMsMHg4NiwweDAwLDB4ZTksMHgwMCwweDNlLDB4NDAsMHgwZiwweDEwLDB4MGIsMHg4YSwweDAwIH0gfSwKLXsgIDE2LCAweDhlODAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YjAsMHgwMCwweGRjLDB4NDAsMHhiMywweDAwIH0gfSwKLXsgIDE2LCAweDhlOTAsIDAsIHsweDBmLDB4YzAsMHgwMywweDMxLDB4MDIsMHhjNCwweDA0LDB4YjEsMHgwMCwweDNjLDB4NDAsMHgwMywweDEwLDB4MDAsMHhmYywweDQwIH0gfSwKLXsgIDE2LCAweDhlYTAsIDAsIHsweDMzLDB4MDAsMHgwYywweGM0LDB4MDMsMHhiMSwweDAwLDB4Y2MsMHgwMCwweGIzLDB4MDAsMHgwYywweGM0LDB4MDMsMHhjYSwweDA0IH0gfSwKLXsgIDE2LCAweDhlYjAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4MjgsMHgwMCwweDhhLDB4ODAsMHgyMiwweGEwIH0gfSwKLXsgIDE2LCAweDhlYzAsIDAsIHsweDBiLDB4YTAsMHgwMiwweDJhLDB4MDAsMHg4YSwweDg0LDB4MjIsMHhhMSwweDA4LDB4YTAsMHgwMiwweDI4LDB4MDgsMHhiYSwweDAxIH0gfSwKLXsgIDE2LCAweDhlZDAsIDAsIHsweDIyLDB4ODAsMHgwOCwweGEwLDB4MmIsMHgyOCwweDAwLDB4OGEsMHg4MCwweDJhLDB4ODAsMHgwOCwweGUwLDB4MDIsMHhjYSwweDAwIH0gfSwKLXsgIDE2LCAweDhlZTAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NGMsMHgwMiwweDliLDB4ODEsMHgyMCwweGUwIH0gfSwKLXsgIDE2LCAweDhlZjAsIDAsIHsweDhiLDB4MzgsMHgwNiwweGNlLDB4MDAsMHg5MywweDgwLDB4MjAsMHhjMCwweDA4LDB4MzgsMHgwMiwweDBjLDB4MDAsMHhiMywweDgwIH0gfSwKLXsgIDE2LCAweDhmMDAsIDAsIHsweDZjLDB4ZTAsMHgwYSwweGIwLDB4MDIsMHg0YywweDAwLDB4OTMsMHgwMCwweDIwLDB4ZTAsMHgwOCwweDMwLDB4MDIsMHhjYSwweDAwIH0gfSwKLXsgIDE2LCAweDhmMTAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDAxLDB4MTAsMHgwNCwweDgwLDB4MDgsMHgyMSwweDAyIH0gfSwKLXsgIDE2LCAweDhmMjAsIDAsIHsweDRiLDB4NDQsMHgwNiwweGQwLDB4MjAsMHg5MCwweDA4LDB4MjEsMHgwMiwweDgwLDB4NDQsMHgwMiwweDEwLDB4MDAsMHhiNCwweGMwIH0gfSwKLXsgIDE2LCAweDhmMzAsIDAsIHsweDJkLDB4MTAsMHg0OCwweDQwLDB4MDIsMHgwMCwweDAwLDB4OTQsMHg4OSwweDI5LDB4MzAsMHgwOCwweDQwLDB4MDIsMHhlOCwweDAwIH0gfSwKLXsgIDE2LCAweDhmNDAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MzIsMHgwMCwweGQ2LDB4ODAsMHgzMSwweGEwIH0gfSwKLXsgIDE2LCAweDhmNTAsIDAsIHsweDBmLDB4ZTgsMHgwYiwweGNhLDB4MDAsMHhkNiwweDgwLDB4MjMsMHhhMCwweDA0LDB4ZjgsMHgwYiwweDFhLDB4MDAsMHhmZiwweDgwIH0gfSwKLXsgIDE2LCAweDhmNjAsIDAsIHsweGJmLDB4YTAsMHgyZSwweGM4LDB4MTMsMHhkYSwweDAyLDB4NWUsMHg4MCwweDczLDB4YTAsMHgyYywweDc4LDB4MDMsMHhlYSwweDAyIH0gfSwKLXsgIDE2LCAweDhmNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDFkLDB4YWMsMHgwMCwweGY5LDB4MDAsMHgzZSwweDQwIH0gfSwKLXsgIDE2LCAweDhmODAsIDAsIHsweDBmLDB4OTAsMHgwMywweDI0LDB4MDAsMHhlOSwweDAwLDB4M2UsMHg0MCwweDBlLDB4ODAsMHgwMywweGU0LDB4MDAsMHhmOCwweDAwIH0gfSwKLXsgIDE2LCAweDhmOTAsIDAsIHsweDMyLDB4NDAsMHgwZiwweGIwLDB4MDMsMHhlNCwweDAxLDB4ZTksMHgwNCwweDM2LDB4NDAsMHgwZiwweDgwLDB4MDMsMHhjMiwweDA2IH0gfSwKLXsgIDE2LCAweDhmYTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZmUsMHgwMCwweGNkLDB4ODAsMHgzMywweDYwIH0gfSwKLXsgIDE2LCAweDhmYjAsIDAsIHsweDBjLDB4ZDgsMHg0MywweDM2LDB4MDAsMHhjZCwweDgwLDB4MzMsMHg2MCwweDBjLDB4ZDksMHgyMywweGJlLDB4MDAsMHg0ZCwweDgwIH0gfSwKLXsgIDE2LCAweDhmYzAsIDAsIHsweDMzLDB4NjAsMHgwOCwweGY4LDB4MGIsMHgzZSwweDAwLDB4ZmQsMHg4NCwweDNmLDB4NjAsMHgwZiwweGY5LDB4MDMsMHhjMCwweDAwIH0gfSwKLXsgIDE2LCAweDhmZDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDExLDB4OTAsMHgwNCwweGRlLDB4MDAsMHgyMywweDgwIH0gfSwKLXsgIDE2LCAweDhmZTAsIDAsIHsweDA4LDB4NjAsMHgwMiwweGI4LDB4MjAsMHg4ZSwweDA0LDB4MjMsMHg4MCwweDA4LDB4NjgsMHgwMiwweDEwLDB4MDAsMHg4ZSwweDIwIH0gfSwKLXsgIDE2LCAweDhmZjAsIDAsIHsweDIzLDB4ODIsMHgwOCwweDQwLDB4MDIsMHgxMiwweDAwLDB4ZjYsMHgwMCwweDJkLDB4ODAsMHgwYiwweDQxLDB4YTAsMHhlYSwweDA0IH0gfSwKLXsgIDE2LCAweDkwMDAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OTAsMHgwMCwweDg0LDB4MDAsMHgyMSwweDAwIH0gfSwKLXsgIDE2LCAweDkwMTAsIDAsIHsweDA4LDB4NDEsMHgwMiwweDUwLDB4NDAsMHg5NCwweDAwLDB4MjEsMHgwMCwweDBhLDB4NTIsMHgwMiwweGQ4LDB4MDAsMHg4NSwweDAyIH0gfSwKLXsgIDE2LCAweDkwMjAsIDAsIHsweDI1LDB4MDQsMHgwOCwweDQwLDB4MjIsMHgxOCwweDA4LDB4YjQsMHgwMCwweDJkLDB4MTAsMHgwYiwweDc4LDB4NDAsMHhjMCwweDAwIH0gfSwKLXsgIDE2LCAweDkwMzAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMCwweDE0LDB4ZWUsMHgyMiwweDkzLDB4MDAsMHgyMCwweGMwIH0gfSwKLXsgIDE2LCAweDkwNDAsIDAsIHsweDA4LDB4MzgsMHgwMiwweGVjLDB4MDAsMHg5MywweDAwLDB4MjAsMHhjMSwweDJhLDB4MjAsMHgwMiwweDY0LDB4MDIsMHg4MiwweDEwIH0gfSwKLXsgIDE2LCAweDkwNTAsIDAsIHsweDI0LDB4ZjAsMHgwYSwweDNjLDB4NDIsMHgyNCwweDI4LDB4YjMsMHgwMCwweDJjLDB4ZTAsMHgwYiwweDg4LDB4ODIsMHhjOCwweDA0IH0gfSwKLXsgIDE2LCAweDkwNjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YWQsMHgwMCwweGNiLDB4MDAsMHhiMiwweGMwIH0gfSwKLXsgIDE2LCAweDkwNzAsIDAsIHsweGFjLDB4YmUsMHgwMywweDZlLDB4MDIsMHhkYiwweDAwLDB4YjIsMHhjMCwweDFlLDB4YTAsMHgwMywweGU0LDB4MDAsMHhjYSwweDExIH0gfSwKLXsgIDE2LCAweDkwODAsIDAsIHsweGI2LDB4ZDAsMHhhYywweGJjLDB4MDMsMHgyNCwweDAwLDB4ZmIsMHgwMCwweDNlLDB4YzAsMHhjZiwweDg0LDB4MDMsMHhlYSwweDA0IH0gfSwKLXsgIDE2LCAweDkwOTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDAwLDB4ZTAsMHg0MCwweGY4LDB4MDAsMHgzYywweDAwIH0gfSwKLXsgIDE2LCAweDkwYTAsIDAsIHsweDJmLDB4ODIsMHgwMywweGEwLDB4MDAsMHhlOCwweDAwLDB4M2UsMHgwMCwweDFkLDB4OTAsMHgxMywweGE4LDB4MDAsMHhmOSwweDAwIH0gfSwKLXsgIDE2LCAweDkwYjAsIDAsIHsweDNhLDB4MDAsMHg4MSwweDgzLDB4NDMsMHhlOCwweDAwLDB4ZTgsMHgwMywweDNlLDB4MDQsMHgwZiwweGIwLDB4MDMsMHhlMCwweDAwIH0gfSwKLXsgIDE2LCAweDkwYzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZTAsMHgwMCwweGQ2LDB4MDAsMHgzNywweDgwIH0gfSwKLXsgIDE2LCAweDkwZDAsIDAsIHsweDBjLDB4YTAsMHgwMywweGY4LDB4MDAsMHhjZSwweDAwLDB4MzMsMHg4MCwweDBkLDB4YTAsMHgxMywweDIwLDB4MDgsMHhjZSwweDAwIH0gfSwKLXsgIDE2LCAweDkwZTAsIDAsIHsweDMzLDB4ODIsMHgwYywweDQwLDB4NzMsMHgzMCwweDE4LDB4Y2UsMHgwMCwweDFmLDB4ODAsMHg0ZiwweGMxLDB4NDMsMHgwMCwweDQ0IH0gfSwKLXsgIDE2LCAweDkwZjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MSwweDA0LDB4N2MsMHgwMCwweDhkLDB4MDAsMHgyMywweDQwIH0gfSwKLXsgIDE2LCAweDkxMDAsIDAsIHsweDBhLDB4ZDAsMHgwMiwweGY0LDB4MDAsMHg4ZCwweDAwLDB4MjMsMHg0MCwweDA4LDB4ZDQsMHg4MCwweDNlLDB4NDIsMHg4ZCwweDQwIH0gfSwKLXsgIDE2LCAweDkxMTAsIDAsIHsweDIzLDB4NDAsMHgwOCwweGYwLDB4MDIsMHgzZSwweDQwLDB4OGQsMHgwMCwweDBmLDB4NDAsMHgwYiwweGY0LDB4MDIsMHgyMCwweDQwIH0gfSwKLXsgIDE2LCAweDkxMjAsIDAsIHsweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MmMsMHgwMCwweDk5LDB4MDAsMHhhNiwweDQwIH0gfSwKLXsgIDE2LCAweDkxMzAsIDAsIHsweDA4LDB4OTAsMHgwNiwweGU0LDB4MDAsMHg5MSwweDAwLDB4MjAsMHg0MCwweDg4LDB4MDAsMHgwMiwweDI0LDB4MDgsMHg4MCwweDQwIH0gfSwKLXsgIDE2LCAweDkxNDAsIDAsIHsweDIwLDB4NDAsMHgwYSwweGIwLDB4MDIsMHgyNCwweDAwLDB4ODksMHgwMCwweDBlLDB4NDAsMHgwYiwweDg0LDB4MDIsMHgyMCwweDAwIH0gfSwKLXsgIDE2LCAweDkxNTAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA0LDB4MDAsMHgwMCwweDgyLDB4MDAsMHgyMCwweDgwIH0gfSwKLXsgIDE2LCAweDkxNjAsIDAsIHsweDBhLDB4MjEsMHgwNiwweGM4LDB4MDEsMHg4MiwweDAwLDB4MjAsMHg4MCwweDA4LDB4MzIsMHg4MiwweDA4LDB4MDgsMHg4MywweDAwIH0gfSwKLXsgIDE2LCAweDkxNzAsIDAsIHsweDYwLDB4ODAsMHgwYSwweDAwLDB4MTIsMHgwOCwweDgwLDB4ODIsMHgwMCwweDJjLDB4ODAsMHgwYiwweDMwLDB4MGEsMHgwMiwweDAxIH0gfSwKLXsgIDE2LCAweDkxODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4NjAsMHgwMCwweGQ4LDB4MDAsMHgzNiwweDAwIH0gfSwKLXsgIDE2LCAweDkxOTAsIDAsIHsweDBjLDB4ODQsMHgyMywweGUwLDB4MDAsMHhjOCwweDAwLDB4MzIsMHgwMCwweDBkLDB4ODIsMHgwYiwweDIwLDB4MDIsMHhjOCwweDAwIH0gfSwKLXsgIDE2LCAweDkxYTAsIDAsIHsweDMyLDB4MDAsMHgwZSwweDAwLDB4MDMsMHgyMCwweDAyLDB4YzgsMHgwMCwweDNlLDB4MDAsMHgwZiwweDgwLDB4MDMsMHgwMCwweDAzIH0gfSwKLXsgIDE2LCAweDkxYjAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDFkLDB4ZmMsMHgwMCwweGJmLDB4MDAsMHgzZiwweGMwIH0gfSwKLXsgIDE2LCAweDkxYzAsIDAsIHsweDBmLDB4ZjAsMHgwMywweGZjLDB4MDAsMHhmZiwweDAwLDB4YmYsMHhjMCwweDhmLDB4YjAsMHgwMywweGZjLDB4MDgsMHhmZiwweDAyIH0gfSwKLXsgIDE2LCAweDkxZDAsIDAsIHsweDNmLDB4YzAsMHgwZCwweGYwLDB4MDMsMHhlZCwweDAwLDB4ZmYsMHgwMiwweDNmLDB4YzAsMHgwZiwweGYwLDB4MDMsMHhlOCwweDA2IH0gfSwKLXsgIDE2LCAweDkxZTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAxLDB4ZjAsMHg4YywweGZmLDB4MDAsMHgzZCwweDYwIH0gfSwKLXsgIDE2LCAweDkxZjAsIDAsIHsweDJjLDB4YjIsMHg4MywweDdjLDB4OTAsMHhkZiwweDM4LDB4MzEsMHhlMCwweDBmLDB4ZjgsMHgwMywweDNjLDB4MDAsMHhmZiwweDIwIH0gfSwKLXsgIDE2LCAweDkyMDAsIDAsIHsweDNmLDB4YzQsMHgwZSwweGY0LDB4MDMsMHg3YywweDAwLDB4ZjQsMHg4MCwweDMzLDB4MDAsMHgwZCwweGY4LDB4MDMsMHhmMCwweDAwIH0gfSwKLXsgIDE2LCAweDkyMTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDEwLDB4ZTEsMHgyMCwweGJiLDB4NjIsMHgyZSwweDQyIH0gfSwKLXsgIDE2LCAweDkyMjAsIDAsIHsweDI4LDB4ZjQsMHg0MiwweDNlLDB4NDAsMHg4ZiwweDQ0LDB4MjIsMHhlMCwweDBiLDB4YjAsMHg4MywweDdmLDB4NDQsMHhiZiwweGMxIH0gfSwKLXsgIDE2LCAweDkyMzAsIDAsIHsweDJkLDB4ZGMsMHgyYSwweGY2LDB4MDIsMHgzZiwweDQ1LDB4YjgsMHg4MCwweDIyLDB4NjEsMHg4OCwweGI4LDB4MDIsMHhlMCwweDA0IH0gfSwKLXsgIDE2LCAweDkyNDAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4YzUsMHg4MCwweGIyLDB4MTgsMHgyZSwweGM4IH0gfSwKLXsgIDE2LCAweDkyNTAsIDAsIHsweDI5LDB4MzAsMHgzMiwweDBjLDB4MDgsMHhiMywweDIwLDB4MjAsMHhjMCwweDRiLDB4OTIsMHgwMiwweDBjLDB4MDAsMHhiMywweDQwIH0gfSwKLXsgIDE2LCAweDkyNjAsIDAsIHsweDJjLDB4YzAsMHg4OSwweDM0LDB4MTIsMHg0YywweDAwLDB4YjAsMHgwMCwweDI0LDB4YzEsMHg0OSwweDMwLDB4MDIsMHhlMiwweDAxIH0gfSwKLXsgIDE2LCAweDkyNzAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDExLDB4YTQsMHgwMCwweGJhLDB4MGMsMHgyZSwweGUwIH0gfSwKLXsgIDE2LCAweDkyODAsIDAsIHsweGE5LDB4YjAsMHgwNiwweDJjLDB4MDAsMHg4YiwweDAwLDB4YTIsMHhjMCwweDBiLDB4OTAsMHgwMCwweDZjLDB4MDAsMHhiYiwweDAwIH0gfSwKLXsgIDE2LCAweDkyOTAsIDAsIHsweDJlLDB4YzAsMHgwYiwweDMwLDB4MDIsMHg2YywweDAwLDB4YmEsMHg4MCwweDI2LDB4ZjAsMHgwOCwweGIwLDB4MDIsMHhmMCwweDA0IH0gfSwKLXsgIDE2LCAweDkyYTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDExLDB4ZWUsMHgwMCwweGZiLDB4YzQsMHgzZSwweDc4IH0gfSwKLXsgIDE2LCAweDkyYjAsIDAsIHsweDJkLDB4YjAsMHgwMywweDZjLDB4MDgsMHhmYiwweDAwLDB4MzIsMHhjMCwweDhiLDB4MjQsMHg4MywweDJjLDB4MDAsMHhmYiwweDAwIH0gfSwKLXsgIDE2LCAweDkyYzAsIDAsIHsweDNlLDB4YzAsMHg4ZiwweGIwLDB4MGIsMHg2YywweDA4LDB4YjIsMHhlMCwweDE2LDB4NjAsMHg4ZCwweGIwLDB4MjMsMHhkMCwweDA0IH0gfSwKLXsgIDE2LCAweDkyZDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDAxLDB4YmUsMHg5OCwweGZmLDB4NDAsMHgzZiwweGMwIH0gfSwKLXsgIDE2LCAweDkyZTAsIDAsIHsweDBlLDB4NzAsMHgwMywweGRjLDB4MDAsMHhmZiwweDAwLDB4M2YsMHhjMCwweDBmLDB4ZTAsMHgwMywweGZjLDB4MDAsMHhmZiwweDAwIH0gfSwKLXsgIDE2LCAweDkyZjAsIDAsIHsweDNmLDB4YzAsMHgwZSwweGYwLDB4MDMsMHhhYywweDAwLDB4ZmUsMHgwMCwweGI5LDB4YzAsMHgwZiwweGYwLDB4MDMsMHhmOCwweDAwIH0gfSwKLXsgIDE2LCAweDkzMDAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YWQsMHgwMCwweGZhLDB4NDAsMHgzZSwweGQwIH0gfSwKLXsgIDE2LCAweDkzMTAsIDAsIHsweDBlLDB4YjIsMHgwMywweGVjLDB4MDAsMHhjMywweDAwLDB4M2UsMHhjMCwweDBjLDB4YTAsMHgwMywweDJjLDB4MDEsMHhmYiwweDAwIH0gfSwKLXsgIDE2LCAweDkzMjAsIDAsIHsweDNjLDB4YzAsMHgwZSwweGI4LDB4MDMsMHhlYywweDAwLDB4ZGEsMHgwMCwweDNhLDB4ZDAsMHg0ZiwweGIwLDB4MjMsMHhkMCwweDA0IH0gfSwKLXsgIDE2LCAweDkzMzAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjOCwweDA1LDB4MmMsMHgwMCwweGJhLDB4MDAsMHgyYywweGMwIH0gfSwKLXsgIDE2LCAweDkzNDAsIDAsIHsweDA4LDB4ZjQsMHgwNywweGJjLDB4MTQsMHhkZiwweDAwLDB4M2UsMHhjMCwweDFhLDB4YTAsMHg1MiwweGJjLDB4MDAsMHhiZiwweDA0IH0gfSwKLXsgIDE2LCAweDkzNTAsIDAsIHsweDNmLDB4YzAsMHg4YSwweGYwLDB4MDMsMHhiYywweDAwLDB4ZmEsMHgwMCwweDIyLDB4YzgsMHgwZiwweGIwLDB4MDMsMHhmMiwweDAwIH0gfSwKLXsgIDE2LCAweDkzNjAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NDgsMHgwMSwweGIxLDB4MDAsMHg2YywweGMyIH0gfSwKLXsgIDE2LCAweDkzNzAsIDAsIHsweDBhLDB4MzAsMHg0MiwweGNjLDB4MDAsMHg4MywweDA1LDB4MmMsMHhjMCwweDA4LDB4MzAsMHgwMiwweDhjLDB4MDEsMHhiMywweDA0IH0gfSwKLXsgIDE2LCAweDkzODAsIDAsIHsweDJjLDB4YzAsMHgwYSwweDMwLDB4MjIsMHg4YywweDAwLDB4ODAsMHg4MCwweDI4LDB4YzAsMHgwYiwweDMwLDB4MjIsMHhmOCwweDAwIH0gfSwKLXsgIDE2LCAweDkzOTAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMCwweDAxLDB4MWUsMHgwOCwweGI3LDB4ODAsMHg2ZiwweGUwIH0gfSwKLXsgIDE2LCAweDkzYTAsIDAsIHsweDE4LDB4NzgsMHgwMiwweDhlLDB4NDAsMHhiNywweDgwLDB4MmQsMHhlMCwweDBhLDB4NzgsMHgwMiwweDllLDB4MDAsMHhiNywweDgwIH0gfSwKLXsgIDE2LCAweDkzYjAsIDAsIHsweDI5LDB4ZTEsMHgwYSwweDc4LDB4MDIsMHg5ZSwweDAxLDB4YmMsMHg4MCwweDI5LDB4ZTQsMHgwYiwweDc4LDB4MDIsMHhjOCwweDAwIH0gfSwKLXsgIDE2LCAweDkzYzAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MDksMHg0MCwweGYxLDB4MjAsMHgzYywweGM0IH0gfSwKLXsgIDE2LCAweDkzZDAsIDAsIHsweDBlLDB4MzksMHgwMiwweGNjLDB4MDAsMHhjMywweDAwLDB4MmMsMHhjNCwweDA4LDB4OTIsMHgwMywweDhjLDB4ODgsMHhiMywweDEwIH0gfSwKLXsgIDE2LCAweDkzZTAsIDAsIHsweDJjLDB4YzQsMHgwZSwweGIwLDB4MDcsMHg4YywweDAwLDB4YzIsMHgwOCwweDM4LDB4YzAsMHgwZiwweDMwLDB4NDMsMHhkMiwweDAyIH0gfSwKLXsgIDE2LCAweDkzZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDFkLDB4YmMsMHgxMCwweGZjLDB4MDAsMHg3ZiwweGMwIH0gfSwKLXsgIDE2LCAweDk0MDAsIDAsIHsweDBmLDB4ZjAsMHg4MywweGZjLDB4MjEsMHhkZiwweDA4LDB4M2IsMHhjMCwweDhmLDB4OTAsMHgwMSwweGZjLDB4MjEsMHhmZiwweDBjIH0gfSwKLXsgIDE2LCAweDk0MTAsIDAsIHsweDNmLDB4YzIsMHgwZiwweGYxLDB4MDMsMHhlYywweDAwLDB4ZWYsMHgwMCwweDc3LDB4YzAsMHgxZSwweGYwLDB4MDMsMHg5MCwweDA2IH0gfSwKLXsgIDE2LCAweDk0MjAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZTgsMHgwMSwweGY5LDB4MDAsMHgzMiwweGMwIH0gfSwKLXsgIDE2LCAweDk0MzAsIDAsIHsweDBmLDB4YjIsMHgwMywweGVlLDB4OTAsMHhkYiwweGUxLDB4M2EsMHhjMCwweDRkLDB4MzgsMHgxMywweDJkLDB4MzAsMHhmYiwweDAwIH0gfSwKLXsgIDE2LCAweDk0NDAsIDAsIHsweDNlLDB4ZTAsMHg0ZiwweGJhLDB4NDMsMHgyYywweDQwLDB4ZmEsMHgwMCwweDNmLDB4YzAsMHg4YywweGIwLDB4MDMsMHhlYSwweDAwIH0gfSwKLXsgIDE2LCAweDk0NTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDExLDB4OWMsMHgwMCwweGIxLDB4MDAsMHgyMSwweGMwIH0gfSwKLXsgIDE2LCAweDk0NjAsIDAsIHsweDBiLDB4NzEsMHgwMiwweGNjLDB4MjAsMHhhNywweDI4LDB4MjEsMHhjMCwweDBiLDB4NzAsMHgxMywweDVjLDB4MDgsMHhiNywweDEwIH0gfSwKLXsgIDE2LCAweDk0NzAsIDAsIHsweDJkLDB4YzQsMHg0YiwweDM0LDB4ODMsMHgxYywweGMxLDB4YjcsMHgwMiwweDJkLDB4YzAsMHgxYSwweDcwLDB4MDIsMHhkMiwweDA0IH0gfSwKLXsgIDE2LCAweDk0ODAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4OWEsMHgyMCwweGI0LDB4YzQsMHgyNSwweGEyIH0gfSwKLXsgIDE2LCAweDk0OTAsIDAsIHsweDBiLDB4NzgsMHgwNiwweGRlLDB4MDAsMHg4MywweDgwLDB4MjksMHhlMCwweDFiLDB4ZjgsMHgwMiwweDVlLDB4ODAsMHhhNywweGEwIH0gfSwKLXsgIDE2LCAweDk0YTAsIDAsIHsweDJkLDB4YzgsMHgwYSwweDcyLDB4MDIsMHgxZSwweDAwLDB4YTYsMHg4MCwweDI4LDB4ZTAsMHgwOCwweDc4LDB4MDIsMHhmMCwweDAwIH0gfSwKLXsgIDE2LCAweDk0YjAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDE0LDB4ZWQsMHgwMCwweGIzLDB4NDAsMHgyNCwweGMzIH0gfSwKLXsgIDE2LCAweDk0YzAsIDAsIHsweDBiLDB4MzAsMHg0MiwweGNjLDB4MDAsMHhhMywweDAwLDB4MjAsMHhjMCwweDFiLDB4MzQsMHgwMiwweDRjLDB4MDAsMHhiMywweDAwIH0gfSwKLXsgIDE2LCAweDk0ZDAsIDAsIHsweDJjLDB4YzAsMHg0YiwweDMwLDB4MDIsMHgwYywweDAwLDB4YjMsMHg4OCwweDJjLDB4ZDQsMHgwYSwweDMwLDB4MDIsMHhkMiwweDA0IH0gfSwKLXsgIDE2LCAweDk0ZTAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YjgsMHgwMCwweGZlLDB4NDAsMHhiNywweGEwIH0gfSwKLXsgIDE2LCAweDk0ZjAsIDAsIHsweDBmLDB4YTAsMHgwMywweGU4LDB4MDAsMHhkYSwweDAwLDB4M2EsMHg4MCwweDBmLDB4ZTIsMHgwMywweDY4LDB4MDAsMHhmYSwweDAwIH0gfSwKLXsgIDE2LCAweDk1MDAsIDAsIHsweDNlLDB4ODAsMHgwZiwweGEwLDB4MGIsMHgyOCwweDAwLDB4ZWUsMHhlMCwweDNmLDB4YjAsMHgwNCwweGEwLDB4MDMsMHhmYSwweDA0IH0gfSwKLXsgIDE2LCAweDk1MTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDAwLDB4ZTAsMHgwNCwweGYwLDB4MDgsMHgzYSwweDEwIH0gfSwKLXsgIDE2LCAweDk1MjAsIDAsIHsweDBmLDB4ODQsMHgwMywweGUwLDB4MTAsMHhmOCwweDAwLDB4M2UsMHgwMCwweDRmLDB4ODAsMHg4MywweGUwLDB4MDAsMHhmOCwweDAwIH0gfSwKLXsgIDE2LCAweDk1MzAsIDAsIHsweDNjLDB4MDAsMHgwZiwweDgwLDB4MDMsMHg4MCwweDAwLDB4ZjgsMHg0MCwweDNlLDB4MDksMHgwZiwweDgwLDB4MDMsMHhkMiwweDAwIH0gfSwKLXsgIDE2LCAweDk1NDAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTQsMHgyMCwweGU5LDB4MDAsMHgzMiwweDQ0IH0gfSwKLXsgIDE2LCAweDk1NTAsIDAsIHsweDBjLDB4OTAsMHgwMywweDI0LDB4MDAsMHhmOSwweDAwLDB4M2UsMHg0MCwweDBmLDB4OTAsMHgxMywweGU0LDB4MDAsMHhiOSwweDAwIH0gfSwKLXsgIDE2LCAweDk1NjAsIDAsIHsweDFlLDB4NDAsMHgwYywweDEwLDB4MDMsMHgyNCwweDAwLDB4YzksMHhhMCwweDNjLDB4NjQsMHgwYywweDkwLDB4MDMsMHg4MiwweDA0IH0gfSwKLXsgIDE2LCAweDk1NzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA0LDB4NjQsMHgwMCwweDg5LDB4MDAsMHgyMiwweDY4IH0gfSwKLXsgIDE2LCAweDk1ODAsIDAsIHsweDA4LDB4MTMsMHgwMiwweDI0LDB4MDgsMHhmOSwweDAwLDB4MmUsMHg0OCwweDFiLDB4OTAsMHgwMiwweGU0LDB4MDAsMHhiOSwweDAwIH0gfSwKLXsgIDE2LCAweDk1OTAsIDAsIHsweDNlLDB4NDAsMHgwYywweDkwLDB4MDIsMHgyNCwweDA4LDB4ZjksMHg0MCwweDJlLDB4NjAsMHgwYSwweDkwLDB4MDYsMHhlMCwweDAwIH0gfSwKLXsgIDE2LCAweDk1YTAsIDAsIHsweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDAxLDB4MjQsMHgwMCwweGE5LDB4MDAsMHgyMCwweDQwIH0gfSwKLXsgIDE2LCAweDk1YjAsIDAsIHsweDA4LDB4OTAsMHgwMiwweDI0LDB4MDAsMHhiOSwweDAxLDB4MmUsMHg0MCwweDBiLDB4OTAsMHgwMiwweGU0LDB4MDAsMHhiOSwweDAwIH0gfSwKLXsgIDE2LCAweDk1YzAsIDAsIHsweDJlLDB4NDAsMHgwOCwweDkyLDB4MjIsMHgyNCwweDAwLDB4ODksMHgwMCwweDJlLDB4NDAsMHgwOCwweDkwLDB4MDIsMHhjNiwweDAwIH0gfSwKLXsgIDE2LCAweDk1ZDAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA0LDB4MDQsMHg4MCwweDgxLDB4MjEsMHhlMCwweDUwIH0gfSwKLXsgIDE2LCAweDk1ZTAsIDAsIHsweDI4LDB4MTYsMHgwYSwweDA0LDB4ODAsMHhhMSwweDQwLDB4MmMsMHg0MCwweDRiLDB4MTQsMHgyMiwweGM0LDB4MDAsMHhiMSwweDAwIH0gfSwKLXsgIDE2LCAweDk1ZjAsIDAsIHsweDJjLDB4NTAsMHgwOSwweDE0LDB4MDIsMHgwNCwweDA0LDB4YjEsMHgwMCwweDJjLDB4NDAsMHgwYSwweDEwLDB4MDIsMHhjMiwweDAxIH0gfSwKLXsgIDE2LCAweDk2MDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjEsMHg0MCwweGU4LDB4NTAsMHgzMiwweDAwIH0gfSwKLXsgIDE2LCAweDk2MTAsIDAsIHsweDhjLDB4ODAsMHgwMiwweDIwLDB4MDAsMHhiOCwweDAwLDB4M2UsMHgwMCwweDBiLDB4ODAsMHgzMywweGUwLDB4MTAsMHhmOCwweDAwIH0gfSwKLXsgIDE2LCAweDk2MjAsIDAsIHsweDNlLDB4MDAsMHgwYywweDgwLDB4MDMsMHgyMCwweDA4LDB4Y2EsMHgwMCwweDNlLDB4MDAsMHgwYywweDgwLDB4MDMsMHhhZSwweDAzIH0gfSwKLXsgIDE2LCAweDk2MzAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5OCwweDFkLDB4ZmMsMHg0MCwweGZkLDB4MTAsMHgyZiwweDQxIH0gfSwKLXsgIDE2LCAweDk2NDAsIDAsIHsweDRmLDB4OTEsMHgwMywweGU0LDB4NDAsMHhmOSwweDQwLDB4M2UsMHg0MCwweDRmLDB4ZDAsMHg2MywweGU1LDB4MDAsMHhmOSwweDQwIH0gfSwKLXsgIDE2LCAweDk2NTAsIDAsIHsweDNhLDB4NTAsMHgyZSwweDk0LDB4MDMsMHg2NSwweDAwLDB4ZWQsMHgwMCwweDNmLDB4NTAsMHgwZiwweDkwLDB4MDMsMHhlNiwweDA2IH0gfSwKLXsgIDE2LCAweDk2NjAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDE1LDB4ZTYsMHgwMCwweGY5LDB4ZTAsMHgzMywweDUwIH0gfSwKLXsgIDE2LCAweDk2NzAsIDAsIHsweDBjLDB4ZGEsMHgwMywweGE2LDB4MDAsMHhkOSwweDgwLDB4M2YsMHg0MCwweDBmLDB4OTEsMHgwMywweGE2LDB4MDAsMHhmOSwweDg4IH0gfSwKLXsgIDE2LCAweDk2ODAsIDAsIHsweDNlLDB4NjgsMHgwYywweGRlLDB4MDMsMHg2NiwweDAwLDB4ZWQsMHgwMCwweDNiLDB4NjksMHgwYywweDkwLDB4MDMsMHhjNiwweDAwIH0gfSwKLXsgIDE2LCAweDk2OTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzOCwweDEwLDB4ZTEsMHgwOCwweGI4LDB4ZTAsMHgyMCwweDIwIH0gfSwKLXsgIDE2LCAweDk2YTAsIDAsIHsweDE4LDB4OGUsMHgyNiwweGUxLDB4MDAsMHg4MCwweGEwLDB4MmUsMHgwMCwweDRiLDB4ODgsMHg0MiwweGUxLDB4NTAsMHhiOCwweDQwIH0gfSwKLXsgIDE2LCAweDk2YjAsIDAsIHsweDJlLDB4MmEsMHgwZCwweDBhLDB4MDIsMHgyMCwweDA4LDB4YjgsMHgwMCwweDJlLDB4MTQsMHgwZCwweDgwLDB4MDIsMHhjZSwweDA0IH0gfSwKLXsgIDE2LCAweDk2YzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4YzUsMHgwMCwweGIxLDB4NjAsMHgyMCwweDQwIH0gfSwKLXsgIDE2LCAweDk2ZDAsIDAsIHsweDA4LDB4MzEsMHhhMiwweGM1LDB4MDAsMHg5MSwweDQ4LDB4MmMsMHg0MCwweDFiLDB4MTIsMHgwMiwweDg0LDB4MDAsMHhiMSwweDAwIH0gfSwKLXsgIDE2LCAweDk2ZTAsIDAsIHsweDJjLDB4NTAsMHgwOSwweDE2LDB4MDIsMHgwNSwweDAwLDB4YTMsMHgwNCwweDI4LDB4NDAsMHgwOCwweDEwLDB4MDIsMHhjMiwweDAxIH0gfSwKLXsgIDE2LCAweDk2ZjAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4YTQsMHgwMCwweGI5LDB4MDgsMHgyMCwweDcwIH0gfSwKLXsgIDE2LCAweDk3MDAsIDAsIHsweDI4LDB4OTAsMHgwMiwweGU0LDB4MDAsMHg4OSwweDAwLDB4MmUsMHg0MCwweDBiLDB4OTAsMHgwMiwweGU0LDB4MDgsMHhiOSwweDAzIH0gfSwKLXsgIDE2LCAweDk3MTAsIDAsIHsweDJjLDB4NDAsMHgyOSwweDkwLDB4MDIsMHg2NCwweDAwLDB4YjksMHgwMCwweDJlLDB4NjIsMHgwOSwweDkwLDB4MDIsMHhjNiwweDA0IH0gfSwKLXsgIDE2LCAweDk3MjAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDA1LDB4ZTUsMHgwMCwweGY5LDB4ZDAsMHhiMiwweDcwIH0gfSwKLXsgIDE2LCAweDk3MzAsIDAsIHsweDA4LDB4OTAsMHgwMywweGU0LDB4MDAsMHhkOSwweDA0LDB4M2UsMHg0MCwweDBmLDB4OTAsMHgwMywweGE0LDB4MTAsMHhmOSwweDAyIH0gfSwKLXsgIDE2LCAweDk3NDAsIDAsIHsweDNlLDB4NDAsMHgwZCwweDkwLDB4MmIsMHg2NCwweDAwLDB4ZTksMHg4ZCwweDNhLDB4NjAsMHgwYywweDkwLDB4MDMsMHhlOCwweDA0IH0gfSwKLXsgIDE2LCAweDk3NTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDAxLDB4YTQsMHgwMCwweGY5LDB4ODAsMHgzZSwweDQyIH0gfSwKLXsgIDE2LCAweDk3NjAsIDAsIHsweDBmLDB4OTAsMHgwMywweGU0LDB4MDAsMHhmOSwweDAwLDB4M2UsMHg0MCwweDBmLDB4OWEsMHgwMywweGU0LDB4MDAsMHhmOSwweDAwIH0gfSwKLXsgIDE2LCAweDk3NzAsIDAsIHsweDNlLDB4NDAsMHgyZiwweDEwLDB4MDMsMHhhNCwweDAwLDB4ZjksMHgyMiwweDNjLDB4NDAsMHg0ZiwweDkwLDB4MDMsMHhjYSwweDAwIH0gfSwKLXsgIDE2LCAweDk3ODAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDAwLDB4YTAsMHgwMCwweGYwLDB4NDAsMHgzMiwweDAwIH0gfSwKLXsgIDE2LCAweDk3OTAsIDAsIHsweDBjLDB4ODAsMHgwMywweGMwLDB4MDAsMHhmOCwweDAwLDB4MzIsMHgyMCwweDFmLDB4ODAsMHgwMywweGUwLDB4MDAsMHhjOCwweDAwIH0gfSwKLXsgIDE2LCAweDk3YTAsIDAsIHsweDMyLDB4MDAsMHgwYywweDgwLDB4MDIsMHgyMCwweDAwLDB4YzgsMHhjMCwweDNlLDB4MDAsMHgwYywweDgwLDB4MDMsMHhjYSwweDA0IH0gfSwKLXsgIDE2LCAweDk3YjAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDE1LDB4MjgsMHgxMCwweGJhLDB4MDAsMHgyMywweGEwIH0gfSwKLXsgIDE2LCAweDk3YzAsIDAsIHsweDBhLDB4ZTQsMHgwMiwweGU4LDB4MDAsMHhiYSwweDAwLDB4MmIsMHhhMSwweDBiLDB4YTAsMHgwMiwweGU4LDB4MDAsMHhhYSwweDAwIH0gfSwKLXsgIDE2LCAweDk3ZDAsIDAsIHsweDJhLDB4ODEsMHgwYSwweGEwLDB4MDMsMHhlOCwweDA4LDB4ZGUsMHgwMCwweDJlLDB4ODAsMHgwYSwweGEwLDB4MDIsMHhjYSwweDAwIH0gfSwKLXsgIDE2LCAweDk3ZTAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NGMsMHgwMCwweGIzLDB4MDQsMHhhMCwweGIxIH0gfSwKLXsgIDE2LCAweDk3ZjAsIDAsIHsweDA4LDB4MzYsMHgyMiwweGNjLDB4MDAsMHhiMywweDAwLDB4MjAsMHhlNCwweDBiLDB4MzAsMHgwMiwweGNjLDB4MDAsMHg4MywweDAwIH0gfSwKLXsgIDE2LCAweDk4MDAsIDAsIHsweDIwLDB4YzAsMHgwOCwweDE4LDB4MDIsMHgwYywweDAwLDB4OTEsMHgwMSwweDJjLDB4YzAsMHgwOCwweDMwLDB4MDYsMHhjYSwweDAwIH0gfSwKLXsgIDE2LCAweDk4MTAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDAxLDB4MWMsMHhjOCwweGIzLDB4MjEsMHgyMSwweGMyIH0gfSwKLXsgIDE2LCAweDk4MjAsIDAsIHsweDJhLDB4NzAsMHgwMiwweGRjLDB4MDAsMHhiNywweGEwLDB4MjksMHhjMCwweDBiLDB4NzIsMHgwMiwweGNlLDB4MDAsMHhhNywweDgxIH0gfSwKLXsgIDE2LCAweDk4MzAsIDAsIHsweDI5LDB4YzAsMHg0YSwweDc0LDB4MDIsMHhmZSwweDAwLDB4OTcsMHgwMSwweDJjLDB4YzAsMHgwYSwweDcwLDB4MTIsMHhlOCwweDAwIH0gfSwKLXsgIDE2LCAweDk4NDAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MWUsMHg4MCwweGY3LDB4YzAsMHgzMSwweGUwIH0gfSwKLXsgIDE2LCAweDk4NTAsIDAsIHsweDBjLDB4NDgsMHgwMywweGRlLDB4MTEsMHhmNywweDgwLDB4MjEsMHhlMCwweDBiLDB4N2EsMHgwMywweGRlLDB4MDAsMHhjMywweDgwIH0gfSwKLXsgIDE2LCAweDk4NjAsIDAsIHsweDMzLDB4ZDgsMHg2YywweDc4LDB4MDMsMHgzZSwweDAwLDB4ZDYsMHg4MCwweDNkLDB4ZTAsMHgwYywweDc4LDB4MDMsMHhlYSwweDAyIH0gfSwKLXsgIDE2LCAweDk4NzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDBkLDB4YWMsMHgwOCwweGZiLDB4ODAsMHgzZSwweGMwIH0gfSwKLXsgIDE2LCAweDk4ODAsIDAsIHsweDBmLDB4ZDAsMHgwMywweGVjLDB4MDQsMHhmYiwweDNjLDB4M2UsMHhjMCwweDBmLDB4YjYsMHgwNywweDZjLDB4MDEsMHhmYiwweDAwIH0gfSwKLXsgIDE2LCAweDk4OTAsIDAsIHsweDNlLDB4ZDAsMHgwZiwweDk0LDB4MDcsMHhlYywweDAxLDB4ZWEsMHgwMCwweDNlLDB4YzAsMHgwZiwweGIwLDB4MDMsMHhjMiwweDA2IH0gfSwKLXsgIDE2LCAweDk4YTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4ZmUsMHgwMCwweGNmLDB4YTQsMHgzYiwweDYwIH0gfSwKLXsgIDE2LCAweDk4YjAsIDAsIHsweDA4LDB4ZDksMHgwMywweDdlLDB4MDAsMHhjZiwweDgwLDB4M2YsMHgyNSwweDRmLDB4ZmMsMHg4NywweGJlLDB4MDAsMHhjZiwweDgwIH0gfSwKLXsgIDE2LCAweDk4YzAsIDAsIHsweDdmLDB4ZmMsMHgwYywweGZjLDB4MDMsMHg3YywweDAwLDB4ZjYsMHg5MCwweDMzLDB4ZTAsMHgwZiwweGY4LDB4MDMsMHhjMCwweDAwIH0gfSwKLXsgIDE2LCAweDk4ZDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDExLDB4OWMsMHgwOCwweDhmLDB4MjgsMHgyMSwweDQwIH0gfSwKLXsgIDE2LCAweDk4ZTAsIDAsIHsweDA4LDB4ZDAsMHgwMiwweDFjLDB4NDAsMHhhNywweDIwLDB4MzEsMHgwNCwweDFiLDB4NzgsMHgwMiwweGRjLDB4ODAsMHhkNywweDAwIH0gfSwKLXsgIDE2LCAweDk4ZjAsIDAsIHsweDJmLDB4YzQsMHgxYSwweGQwLDB4MDIsMHgxZSwweDQ4LDB4YjYsMHgwMCwweDYxLDB4YzAsMHgwYiwweDcwLDB4MDYsMHhlYSwweDA0IH0gfSwKLXsgIDE2LCAweDk5MDAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OGMsMHgwMCwweDg3LDB4MzAsMHg2OSwweDQ0IH0gfSwKLXsgIDE2LCAweDk5MTAsIDAsIHsweDA4LDB4NTAsMHgyMiwweDBjLDB4MDAsMHg4NywweDAxLDB4MmQsMHg0NCwweDhiLDB4NzAsMHgwNiwweDhjLDB4MTAsMHg4NywweDAwIH0gfSwKLXsgIDE2LCAweDk5MjAsIDAsIHsweDI5LDB4YzksMHgwOCwweDUwLDB4MDIsMHgxYywweDQ0LDB4YTYsMHgwMCwweDYxLDB4YzAsMHgwYiwweDcwLDB4MDIsMHhjMCwweDAwIH0gfSwKLXsgIDE2LCAweDk5MzAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMCwweDE0LDB4Y2QsMHgwMCwweDgzLDB4ODgsMHg2MCwweDQwIH0gfSwKLXsgIDE2LCAweDk5NDAsIDAsIHsweDAwLDB4MTAsMHgwMiwweDRjLDB4MDAsMHgyYiwweDAwLDB4MmMsMHg0MSwweDFiLDB4MzAsMHgwMiwweGNjLDB4MDAsMHg5MywweDAwIH0gfSwKLXsgIDE2LCAweDk5NTAsIDAsIHsweDJjLDB4YzAsMHgwYSwweDMwLDB4NDIsMHgwYywweDAwLDB4YjIsMHg0MCwweDIwLDB4ZjEsMHgwYiwweDMwLDB4MDIsMHhjOCwweDA0IH0gfSwKLXsgIDE2LCAweDk5NjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YmQsMHg0MSwweGNmLDB4YzAsMHhiYSwweGYwIH0gfSwKLXsgIDE2LCAweDk5NzAsIDAsIHsweDI4LDB4OTAsMHgxYiwweDZjLDB4MDgsMHhjZiwweDAwLDB4MmMsMHhjMCwweDBmLDB4ZjAsMHgwMywweGFjLDB4MDAsMHg4YiwweDAwIH0gfSwKLXsgIDE2LCAweDk5ODAsIDAsIHsweDNmLDB4YzAsMHg2YywweGIwLDB4NGIsMHgyYywweDAxLDB4ZmIsMHg0MCwweDIyLDB4YzgsMHgwZiwweGIwLDB4MDMsMHhlYSwweDA0IH0gfSwKLXsgIDE2LCAweDk5OTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDAwLDB4ZWMsMHgwNCwweGZiLDB4MDQsMHgzZiwweGQ0IH0gfSwKLXsgIDE2LCAweDk5YTAsIDAsIHsweDBmLDB4MTAsMHgwMywweGFjLDB4MDAsMHhmYiwweDAwLDB4MzIsMHhjMCwweDVmLDB4YjAsMHgwMywweGVjLDB4MDAsMHhmYiwweDA0IH0gfSwKLXsgIDE2LCAweDk5YjAsIDAsIHsweDNlLDB4YzAsMHg0ZiwweDEwLDB4MTMsMHhlYywweDAwLDB4ZmIsMHg4OCwweDNlLDB4YzAsMHg0ZiwweGIwLDB4MDMsMHhlMCwweDAwIH0gfSwKLXsgIDE2LCAweDk5YzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZGMsMHgwMCwweGM3LDB4MDAsMHgzMywweDYyIH0gfSwKLXsgIDE2LCAweDk5ZDAsIDAsIHsweDBjLDB4YzAsMHgwYiwweDNjLDB4MDAsMHhlZiwweDAwLDB4MzMsMHhlMCwweDFjLDB4ZjAsMHgxMywweDNjLDB4MDgsMHhmNywweDAwIH0gfSwKLXsgIDE2LCAweDk5ZTAsIDAsIHsweDMxLDB4YzAsMHgwZSwweGQ4LDB4MDMsMHhiYywweDAwLDB4ZmUsMHgwMCwweDNkLDB4YzYsMHgwYywweGYwLDB4MDMsMHhjMCwweDQ0IH0gfSwKLXsgIDE2LCAweDk5ZjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MSwweDA0LDB4NmMsMHgwMCwweGNiLDB4MDMsMHgyMiwweDQ3IH0gfSwKLXsgIDE2LCAweDlhMDAsIDAsIHsweDA4LDB4OTgsMHg0MiwweDJjLDB4MDAsMHg5YiwweDAwLDB4MmEsMHhjMCwweDBhLDB4YjAsMHgwMiwweDJjLDB4MDAsMHhiYiwweDA0IH0gfSwKLXsgIDE2LCAweDlhMTAsIDAsIHsweDJhLDB4YzAsMHgwYSwweGIwLDB4MDIsMHhhYywweDA4LDB4ZmEsMHgwMCwweDJlLDB4NjAsMHgwOCwweGIwLDB4MDIsMHhlMCwweDQwIH0gfSwKLXsgIDE2LCAweDlhMjAsIDAsIHsweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MmMsMHgwMCwweDliLDB4MDAsMHgyMCwweDQwIH0gfSwKLXsgIDE2LCAweDlhMzAsIDAsIHsweDA4LDB4OTgsMHgwMiwweDJjLDB4MDAsMHhiYiwweDAwLDB4MjIsMHg4OCwweDA4LDB4MzAsMHgwMiwweDJjLDB4MDAsMHhiYiwweDAwIH0gfSwKLXsgIDE2LCAweDlhNDAsIDAsIHsweDIyLDB4YzAsMHg4YSwweDkyLDB4MDIsMHhhYywweDAwLDB4YWEsMHg4MCwweDJlLDB4YzAsMHgwOCwweGIwLDB4MDYsMHhlMCwweDAwIH0gfSwKLXsgIDE2LCAweDlhNTAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA0LDB4MGMsMHgwMCwweDgzLDB4MDAsMHhhMCwweDQwIH0gfSwKLXsgIDE2LCAweDlhNjAsIDAsIHsweDA4LDB4MTAsMHgwMiwweDBjLDB4MDAsMHhiMywweDAwLDB4MjgsMHg4MCwweDBhLDB4MzIsMHgxMiwweDBjLDB4MDAsMHhiMywweDA0IH0gfSwKLXsgIDE2LCAweDlhNzAsIDAsIHsweDI4LDB4YzAsMHgwYSwweDMwLDB4MjIsMHg4YywweDIwLDB4YjIsMHgwMCwweDJjLDB4YzAsMHgwOCwweDMwLDB4MDIsMHhjMiwweDAxIH0gfSwKLXsgIDE2LCAweDlhODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4NmMsMHgwMiwweGNiLDB4MDAsMHgzMCwweDQwIH0gfSwKLXsgIDE2LCAweDlhOTAsIDAsIHsweDFjLDB4OTQsMHgwMywweDJjLDB4MDAsMHhlZiwweDAwLDB4MzIsMHhjMCwweDg4LDB4ZjAsMHg4YiwweDJjLDB4MDAsMHhmYiwweDAwIH0gfSwKLXsgIDE2LCAweDlhYTAsIDAsIHsweDMzLDB4YzAsMHhhZSwweGYwLDB4MDMsMHhhYywweDgwLDB4ZWEsMHgwMSwweDNlLDB4YzAsMHgyYywweGIwLDB4MDMsMHhjMCwweDAzIH0gfSwKLXsgIDE2LCAweDlhYjAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDFkLDB4ZmMsMHgwMCwweGZmLDB4MDAsMHgyZiwweDQwIH0gfSwKLXsgIDE2LCAweDlhYzAsIDAsIHsweDA3LDB4ZDIsMHg4MywweGZjLDB4MDAsMHhkZiwweDA0LDB4M2YsMHhjMCwweDBmLDB4YjAsMHgwMywweGZjLDB4MDAsMHhmZiwweDAwIH0gfSwKLXsgIDE2LCAweDlhZDAsIDAsIHsweDNmLDB4YzAsMHgwZiwweGQwLDB4MGIsMHhlYywweDAwLDB4ZWUsMHgwMCwweDNmLDB4NDAsMHgwZiwweGYwLDB4MDMsMHhlOCwweDA2IH0gfSwKLXsgIDE2LCAweDlhZTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZjUsMHgwMCwweGNmLDB4MDgsMHgzZiwweDQ4IH0gfSwKLXsgIDE2LCAweDlhZjAsIDAsIHsweDBmLDB4YzMsMHg5MywweDcwLDB4ZDAsMHhkYywweDMwLDB4M2YsMHhkOCwweDBjLDB4YjIsMHgwMywweDNjLDB4YzAsMHhmZiwweDQwIH0gfSwKLXsgIDE2LCAweDliMDAsIDAsIHsweDMzLDB4YzQsMHgyYywweGYxLDB4MDMsMHg2MiwweDUwLDB4ZmMsMHgzNCwweDMzLDB4MDAsMHgwZiwweDVjLDB4MDMsMHhmMCwweDAwIH0gfSwKLXsgIDE2LCAweDliMTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDEwLDB4YzQsMHg4MCwweDhiLDB4MDAsMHgyZiwweDVhIH0gfSwKLXsgIDE2LCAweDliMjAsIDAsIHsweDBiLDB4YTYsMHgxMiwweDIxLDB4YzAsMHg4OSwweDcwLDB4MmYsMHhkYywweDA4LDB4ZjIsMHhjMiwweDNkLDB4ZDAsMHhiZiwweDQwIH0gfSwKLXsgIDE2LCAweDliMzAsIDAsIHsweDM3LDB4ZGMsMHg4OCwweGY1LDB4MGEsMHgyMCwweDgwLDB4ZTgsMHgxMCwweDJhLDB4MTYsMHgwYiwweDkwLDB4MDIsMHhlMCwweDA0IH0gfSwKLXsgIDE2LCAweDliNDAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4YzAsMHgwMCwweDgzLDB4MDgsMHgyYywweDQ0IH0gfSwKLXsgIDE2LCAweDliNTAsIDAsIHsweDBiLDB4MDIsMHgwMiwweDBjLDB4MDAsMHg4MCwweDAwLDB4MmMsMHhjOCwweDA4LDB4MzMsMHg0MiwweDhjLDB4OTAsMHhiMywweDMwIH0gfSwKLXsgIDE2LCAweDliNjAsIDAsIHsweDI4LDB4YzgsMHg0YSwweDMyLDB4MTIsMHg4MCwweDBjLDB4YjAsMHhhMCwweDI4LDB4MjgsMHgwYiwweDEyLDB4MDIsMHhlMiwweDAxIH0gfSwKLXsgIDE2LCAweDliNzAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDE1LDB4YTIsMHgwMCwweDhiLDB4MDAsMHgyZSwweDQ4IH0gfSwKLXsgIDE2LCAweDliODAsIDAsIHsweDBiLDB4YTAsMHgyMiwweDIwLDB4MjAsMHg4OCwweDgwLDB4MmUsMHhjMCwweDI4LDB4YjAsMHgwYSwweGFjLDB4MDAsMHhiYiwweDAwIH0gfSwKLXsgIDE2LCAweDliOTAsIDAsIHsweDJlLDB4YzAsMHgwYSwweGIwLDB4MDIsMHhhMCwweDAwLDB4YWIsMHg4MiwweDJhLDB4YTAsMHgwYiwweGIyLDB4MDIsMHhmMCwweDA0IH0gfSwKLXsgIDE2LCAweDliYTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDE1LDB4ZTcsMHgwMCwweGNiLDB4MDAsMHgzZSwweGMwIH0gfSwKLXsgIDE2LCAweDliYjAsIDAsIHsweGNmLDB4OWMsMHgwYiwweDIxLDB4MDAsMHhkOCwweDg4LDB4M2UsMHhjMCwweDBjLDB4YjAsMHgwMywweGFjLDB4MDAsMHhmYiwweDAwIH0gfSwKLXsgIDE2LCAweDliYzAsIDAsIHsweDNhLDB4YzAsMHgwZSwweGIwLDB4NDMsMHhlOCwweDQwLDB4ZjgsMHg4MCwweDNhLDB4NjAsMHgwZiwweDk4LDB4MDMsMHhkMCwweDA0IH0gfSwKLXsgIDE2LCAweDliZDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDAxLDB4YjQsMHgwMCwweGZmLDB4MDAsMHgwZiwweGUwIH0gfSwKLXsgIDE2LCAweDliZTAsIDAsIHsweDA3LDB4YTEsMHgwMywweGU4LDB4MDIsMHhmYiwweDAwLDB4M2YsMHhjMCwweDBmLDB4NzAsMHgyMywweDdjLDB4MDAsMHhmZiwweDAyIH0gfSwKLXsgIDE2LCAweDliZjAsIDAsIHsweDM1LDB4YzAsMHg0ZCwweGIwLDB4MDMsMHg3NCwweDIwLDB4ZmMsMHgwMSwweDNmLDB4MDAsMHgwZiwweGY4LDB4MDMsMHhmOCwweDAwIH0gfSwKLXsgIDE2LCAweDljMDAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YTUsMHgwMCwweGNiLDB4MDAsMHhiYSwweDQwIH0gfSwKLXsgIDE2LCAweDljMTAsIDAsIHsweDBjLDB4MTQsMHgwYiwweDJmLDB4MjIsMHhjOSwweDQwLDB4MzIsMHhjMCwweDhlLDB4YjAsMHgwMywweGFjLDB4MDAsMHhmYiwweDAwIH0gfSwKLXsgIDE2LCAweDljMjAsIDAsIHsweDNlLDB4YzAsMHgwZSwweGIwLDB4MDMsMHhlNCwweDAwLDB4YzksMHgwMCwweDMyLDB4MDAsMHgyYywweDkwLDB4MDMsMHgxMCwweDA0IH0gfSwKLXsgIDE2LCAweDljMzAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjOCwweDAxLDB4MjQsMHgwMCwweDhmLDB4MDAsMHgyMiwweDQwIH0gfSwKLXsgIDE2LCAweDljNDAsIDAsIHsweDJjLDB4YTUsMHg0MiwweDI5LDB4MDAsMHg4YiwweDA0LDB4YTMsMHhjMSwweDBkLDB4ZjAsMHgwYSwweDNjLDB4MDAsMHhiZiwweDAwIH0gfSwKLXsgIDE2LCAweDljNTAsIDAsIHsweDNmLDB4YzAsMHgwOCwweGYwLDB4MDEsMHg2OSwweDAwLDB4ZGEsMHgwNSwweDIyLDB4ZDAsMHgwOCwweDk0LDB4MDMsMHg3MiwweDAwIH0gfSwKLXsgIDE2LCAweDljNjAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NjAsMHg0MCwweDgzLDB4MDEsMHgyMCwweGMwIH0gfSwKLXsgIDE2LCAweDljNzAsIDAsIHsweDA5LDB4MDAsMHgwMiwweDIwLDB4MDAsMHg4MiwweDYwLDB4MjIsMHhjMCwweDA4LDB4MzAsMHg0MiwweDRjLDB4MTAsMHhiYiwweDAyIH0gfSwKLXsgIDE2LCAweDljODAsIDAsIHsweDJjLDB4YzAsMHgwOCwweGIwLDB4MTIsMHgwNSwweDAwLDB4OWIsMHgwMCwweDIwLDB4ODIsMHgwOSwweDMyLDB4MDIsMHgzOCwweDAwIH0gfSwKLXsgIDE2LCAweDljOTAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMCwweDAxLDB4MTYsMHg5MCwweDg3LDB4ODAsMHgyMCwweGUwIH0gfSwKLXsgIDE2LCAweDljYTAsIDAsIHsweDA4LDB4NTgsMHgwMiwweDE2LDB4MTQsMHg4NCwweDgxLDB4MjEsMHhlMCwweDI5LDB4MzksMHgwMiwweDVlLDB4MDAsMHhiNywweDgwIH0gfSwKLXsgIDE2LCAweDljYjAsIDAsIHsweDI4LDB4ZTAsMHgwOCwweDc4LDB4MDIsMHg3YSwweDgwLDB4OTYsMHg4MSwweDIxLDB4ZTAsMHgwOSwweGY4LDB4MDIsMHg0OCwweDAwIH0gfSwKLXsgIDE2LCAweDljYzAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MDgsMHgwOSwweDhiLDB4MTAsMHgzOCwweDQ0IH0gfSwKLXsgIDE2LCAweDljZDAsIDAsIHsweDRkLDB4MjUsMHgxMiwweDBjLDB4MDAsMHhjMiwweDEwLDB4MjIsMHhjOCwweDBhLDB4MzgsMHgwMywweGNjLDB4MDAsMHhmMywweDEwIH0gfSwKLXsgIDE2LCAweDljZTAsIDAsIHsweDJjLDB4YzAsMHgwYywweDMwLDB4MDMsMHg4YSwweGMwLDB4ZDksMHgxMCwweDMyLDB4NDAsMHgyZCwweDEwLDB4MDMsMHgxMiwweDAyIH0gfSwKLXsgIDE2LCAweDljZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDFkLDB4YmMsMHg4MCwweGZmLDB4MDAsMHgzZiwweDQwIH0gfSwKLXsgIDE2LCAweDlkMDAsIDAsIHsweDBmLDB4ZjAsMHgwMywweGY0LDB4NDAsMHhlZCwweDAwLDB4M2YsMHhjMCwweDBlLDB4ZjMsMHgwMywweGJjLDB4MDQsMHhmZiwweDAwIH0gfSwKLXsgIDE2LCAweDlkMTAsIDAsIHsweDNmLDB4YzIsMHgwZiwweGYwLDB4MGIsMHhkNCwweDAwLDB4ZmYsMHgxMCwweGJmLDB4ODAsMHgwZSwweGYwLDB4MDMsMHhkMCwweDA2IH0gfSwKLXsgIDE2LCAweDlkMjAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZmEsMHgwMCwweGNiLDB4MDIsMHgzZSwweGMwIH0gfSwKLXsgIDE2LCAweDlkMzAsIDAsIHsweDBmLDB4OTAsMHgwMywweGEwLDB4MDAsMHhjYiwweDAwLDB4M2EsMHhjYSwweDBjLDB4YjMsMHgxMywweGFmLDB4MjQsMHhjYiwweDQ4IH0gfSwKLXsgIDE2LCAweDlkNDAsIDAsIHsweDFlLDB4YzgsMHgwZiwweGI2LDB4MDMsMHgyYywweDAwLDB4ZmEsMHgwMCwweDNlLDB4YzAsMHgwZiwweDkwLDB4MDMsMHhlYSwweDAwIH0gfSwKLXsgIDE2LCAweDlkNTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDExLDB4OWMsMHgwOCwweDg3LDB4MjAsMHgyZCwweGM0IH0gfSwKLXsgIDE2LCAweDlkNjAsIDAsIHsweDBiLDB4NTAsMHgxMiwweGRjLDB4MDQsMHg4NywweDAwLDB4MmMsMHhjMCwweDA4LDB4NzAsMHhhMiwweDFkLDB4MDAsMHhhNywweDQwIH0gfSwKLXsgIDE2LCAweDlkNzAsIDAsIHsweDI1LDB4Y2IsMHg4YiwweDc0LDB4ODIsMHgxYywweDAwLDB4YjcsMHgwMCwweDJkLDB4YzEsMHgwYiwweDcwLDB4MDIsMHhkMiwweDA0IH0gfSwKLXsgIDE2LCAweDlkODAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4OWEsMHgwMSwweDg3LDB4OTAsMHgyZCwweGUwIH0gfSwKLXsgIDE2LCAweDlkOTAsIDAsIHsweDBiLDB4NzgsMHgwMiwweGNlLDB4MDAsMHg4NiwweDgwLDB4MmQsMHhlNCwweDI5LDB4N2EsMHgwMiwweDllLDB4ODAsMHg4NywweGEwIH0gfSwKLXsgIDE2LCAweDlkYTAsIDAsIHsweDZkLDB4ZTgsMHgwYiwweDc4LDB4MDIsMHgxZSwweDAwLDB4YjUsMHg4MCwweDJkLDB4NjAsMHgwYiwweDc4LDB4MDIsMHhmMCwweDAwIH0gfSwKLXsgIDE2LCAweDlkYjAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDE0LDB4Y2QsMHgwMCwweDgzLDB4MDIsMHgyYywweGUwIH0gfSwKLXsgIDE2LCAweDlkYzAsIDAsIHsweDBiLDB4MzAsMHgwMiwweGNjLDB4MDAsMHg4MywweGUwLDB4MmMsMHhjMCwweDA4LDB4MzAsMHgwMiwweDBjLDB4MDAsMHhhMywweDAwIH0gfSwKLXsgIDE2LCAweDlkZDAsIDAsIHsweDI0LDB4YzAsMHgwYiwweGIwLDB4MDIsMHgwZSwweDIwLDB4YjMsMHgwOCwweDJjLDB4YzAsMHgwYiwweDMwLDB4MDIsMHhkMiwweDA0IH0gfSwKLXsgIDE2LCAweDlkZTAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YjgsMHg4MiwweGNhLDB4MDAsMHgzZSwweGE4IH0gfSwKLXsgIDE2LCAweDlkZjAsIDAsIHsweDBmLDB4ZTAsMHgwMywweGY4LDB4MDIsMHg4ZSwweDgwLDB4M2UsMHg4MCwweDBkLDB4YTAsMHg1YiwweGE4LDB4MDAsMHhjYSwweDAwIH0gfSwKLXsgIDE2LCAweDllMDAsIDAsIHsweDNlLDB4ODAsMHgwZiwweGEwLDB4MDMsMHgzYiwweDgwLDB4ZmUsMHg0MiwweDJmLDB4ODAsMHgwZiwweGE4LDB4MDMsMHhmYSwweDA0IH0gfSwKLXsgIDE2LCAweDllMTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDAwLDB4ZTAsMHgyMCwweGY4LDB4MDAsMHgzZSwweDAwIH0gfSwKLXsgIDE2LCAweDllMjAsIDAsIHsweDBmLDB4MDYsMHgwMywweGMwLDB4MDAsMHhmOCwweDExLDB4M2UsMHgwMCwweDBmLDB4MDAsMHgwMywweGUwLDB4MDAsMHhmOCwweDAwIH0gfSwKLXsgIDE2LCAweDllMzAsIDAsIHsweDM2LDB4MDAsMHgwZiwweDgwLDB4MGIsMHhlMCwweDAwLDB4ZjgsMHgwNCwweDNlLDB4MjAsMHgwZiwweDgxLDB4MDMsMHhkMiwweDAwIH0gfSwKLXsgIDE2LCAweDllNDAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTQsMHgwMCwweGY5LDB4MDAsMHgzZSwweDQwIH0gfSwKLXsgIDE2LCAweDllNTAsIDAsIHsweDBjLDB4OWEsMHgwMywweDI0LDB4NDAsMHhjOSwweGMwLDB4M2UsMHg0MCwweDRjLDB4OTAsMHgwMywweDI0LDB4MDAsMHhmOSwweDAwIH0gfSwKLXsgIDE2LCAweDllNjAsIDAsIHsweDM2LDB4NDAsMHgwNywweDkwLDB4MDMsMHgyNCwweDAwLDB4YzksMHgwNCwweDMyLDB4NjAsMHgwZiwweDkwLDB4MDMsMHhjMiwweDA0IH0gfSwKLXsgIDE2LCAweDllNzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA0LDB4NjQsMHgwMCwweGI5LDB4MDIsMHgyZSwweDQwIH0gfSwKLXsgIDE2LCAweDllODAsIDAsIHsweDBhLDB4OTIsMHgwMiwweDI1LDB4MDIsMHg4OSwweGUwLDB4MmUsMHg0MCwweDk4LDB4OTAsMHgwMiwweDI0LDB4MDAsMHhiOSwweDAwIH0gfSwKLXsgIDE2LCAweDllOTAsIDAsIHsweDIyLDB4NDAsMHgwOSwweDkwLDB4MDIsMHgwNCwweDAwLDB4ZDksMHgwMCwweDIyLDB4NDQsMHgwYiwweDljLDB4MDIsMHhlMCwweDAwIH0gfSwKLXsgIDE2LCAweDllYTAsIDAsIHsweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4MmMsMHgwMCwweGI5LDB4MDAsMHgyYywweDQwIH0gfSwKLXsgIDE2LCAweDllYjAsIDAsIHsweDA4LDB4OTAsMHgwMiwweDI0LDB4MjgsMHg4OSwweDAwLDB4MmMsMHg0MCwweDY4LDB4OTAsMHg0MiwweDI0LDB4MGMsMHhiMSwweDA0IH0gfSwKLXsgIDE2LCAweDllYzAsIDAsIHsweDI2LDB4NDAsMHgwYiwweDkwLDB4MGEsMHgyYywweDgwLDB4ODEsMHgwMCwweDIyLDB4NDAsMHhjYiwweDkyLDB4ODIsMHhjNiwweDAwIH0gfSwKLXsgIDE2LCAweDllZDAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA0LDB4MDQsMHgwMCwweGIxLDB4MjAsMHgyYywweDQ4IH0gfSwKLXsgIDE2LCAweDllZTAsIDAsIHsweDBhLDB4MTIsMHgwMiwweDA0LDB4ODAsMHg4MSwweDIxLDB4MmMsMHg0YywweDA4LDB4MTEsMHgwMiwweDA0LDB4MDgsMHhiMSwweDEwIH0gfSwKLXsgIDE2LCAweDllZjAsIDAsIHsweDIwLDB4NGMsMHgwOSwweDEyLDB4MDIsMHgyNCwweDAxLDB4OTEsMHgyMCwweGEwLDB4NDgsMHgwYiwweDEwLDB4MDIsMHhjMiwweDAxIH0gfSwKLXsgIDE2LCAweDlmMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NDEsMHhlMCwweGY4LDB4NTAsMHgzZSwweDE0IH0gfSwKLXsgIDE2LCAweDlmMTAsIDAsIHsweDBjLDB4ODUsMHgwMywweDIxLDB4NDAsMHhjOCwweDUwLDB4M2UsMHgxMCwweDA4LDB4MDYsMHg4MywweDAxLDB4ZjAsMHhmOCwweDY4IH0gfSwKLXsgIDE2LCAweDlmMjAsIDAsIHsweDM2LDB4MTAsMHgwZiwweDA1LDB4MDMsMHgyOSwweDQwLDB4YzgsMHg1MCwweDMyLDB4OTQsMHgwZiwweDg1LDB4MDMsMHhlZSwweDAzIH0gfSwKLXsgIDE2LCAweDlmMzAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5OCwweDFkLDB4ZjQsMHgwMCwweGY5LDB4MTAsMHgzZiwweDQ0IH0gfSwKLXsgIDE2LCAweDlmNDAsIDAsIHsweDBmLDB4ZDEsMHgwYiwweGY0LDB4NDAsMHhmZCwweDEyLDB4MmUsMHg0YywweDAzLDB4OTIsMHgwYiwweGU0LDB4MDAsMHhmOSwweDIwIH0gfSwKLXsgIDE2LCAweDlmNTAsIDAsIHsweDNlLDB4NGMsMHgwZiwweDkxLDB4MDMsMHhmYywweDAwLDB4ZmQsMHgxMCwweDNmLDB4NDQsMHgwZiwweGQwLDB4MDMsMHhlNiwweDA2IH0gfSwKLXsgIDE2LCAweDlmNjAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4ZjYsMHgyMCwweGM5LDB4MDEsMHgzZSwweDQwIH0gfSwKLXsgIDE2LCAweDlmNzAsIDAsIHsweDBmLDB4ZDAsMHgwMywweDNjLDB4MDAsMHhiZCwweDAwLDB4MzIsMHg2MywweDBjLDB4OWUsMHg0MywweDI3LDB4MDAsMHhlOSwweGMwIH0gfSwKLXsgIDE2LCAweDlmODAsIDAsIHsweDNlLDB4NjgsMHgwYywweDk4LDB4MDMsMHgzNCwweDAwLDB4ZjksMHgxMCwweDNmLDB4NDAsMHgwZiwweGQwLDB4MDMsMHhjNiwweDAwIH0gfSwKLXsgIDE2LCAweDlmOTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzOCwweDEwLDB4YzIsMHgyMCwweGQ4LDB4MDAsMHgyZSwweDAwIH0gfSwKLXsgIDE2LCAweDlmYTAsIDAsIHsweDBiLDB4ODAsMHg1MiwweDI4LDB4MDQsMHhiOCwweDAwLDB4MjIsMHgzOCwweDA4LDB4ODgsMHgwMywweDYyLDB4MDAsMHg4OCwweGYwIH0gfSwKLXsgIDE2LCAweDlmYjAsIDAsIHsweDJlLDB4M2EsMHg0OCwweDhmLDB4MGEsMHgyMCwweDAwLDB4YjAsMHg4MCwweDJlLDB4MDAsMHgwYiwweDgwLDB4MDIsMHhjZSwweDA0IH0gfSwKLXsgIDE2LCAweDlmYzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4YzQsMHg4MCwweDgxLDB4MDAsMHgyYywweDQwIH0gfSwKLXsgIDE2LCAweDlmZDAsIDAsIHsweDBiLDB4MTAsMHgwMiwweDA0LDB4MDAsMHhiMSwweDAwLDB4MjAsMHg0MiwweDQ4LDB4MTQsMHg0MiwweDA1LDB4ODAsMHhhMSwweDIwIH0gfSwKLXsgIDE2LCAweDlmZTAsIDAsIHsweDJjLDB4NDQsMHgwOCwweDEwLDB4ODIsMHgwNCwweDAwLDB4YjEsMHgyMCwweDJjLDB4NDAsMHgwYiwweDEwLDB4MDIsMHhjMiwweDAxIH0gfSwKLXsgIDE2LCAweDlmZjAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDE1LDB4YTUsMHgwMSwweDk5LDB4MDAsMHgyZSwweDQwIH0gfSwKLXsgIDE2LCAweGEwMDAsIDAsIHsweDBiLDB4OTAsMHgwMiwweDI0LDB4NDAsMHhiYiwweDAxLDB4MjIsMHg0MSwweDA4LDB4OTAsMHgxMiwweDI0LDB4MDAsMHhhOSwweDAwIH0gfSwKLXsgIDE2LCAweGEwMTAsIDAsIHsweDJjLDB4NDAsMHgwOCwweDEwLDB4NDAsMHgyNCwweDA4LDB4YjksMHg0MCwweDZlLDB4NTAsMHgwYiwweDkyLDB4MDIsMHhjNiwweDA0IH0gfSwKLXsgIDE2LCAweGEwMjAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4ZTcsMHgxNCwweGM5LDB4MDUsMHgzZSwweDQxIH0gfSwKLXsgIDE2LCAweGEwMzAsIDAsIHsweDBmLDB4OTAsMHgwYiwweDI0LDB4MDQsMHhmOSwweDA4LDB4YjIsMHg0MCwweDJjLDB4OTAsMHgwYSwweDI0LDB4MDAsMHhlOSwweDAwIH0gfSwKLXsgIDE2LCAweGEwNDAsIDAsIHsweDNlLDB4NDAsMHgyYywweDkwLDB4MDMsMHgyNywweDAwLDB4ZjksMHg4MCwweDNlLDB4NjAsMHgwZiwweDkwLDB4MDMsMHhlOCwweDA0IH0gfSwKLXsgIDE2LCAweGEwNTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDAxLDB4ODQsMHg4OCwweGY5LDB4MDAsMHgzZSwweDQ4IH0gfSwKLXsgIDE2LCAweGEwNjAsIDAsIHsweDBmLDB4OTksMHgwMywweGU2LDB4MDAsMHhmOSwweDAyLDB4M2MsMHg0MCwweGFmLDB4MTAsMHgwMywweGU0LDB4MTIsMHhkOSwweDA0IH0gfSwKLXsgIDE2LCAweGEwNzAsIDAsIHsweDNlLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhlNSwweDAwLDB4ZjksMHhjMCwweDNlLDB4NjQsMHgwZiwweDkwLDB4ODMsMHhjYSwweDAwIH0gfSwKLXsgIDE2LCAweGEwODAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTEsMHgwMCwweGM4LDB4MDAsMHgzZSwweDAwIH0gfSwKLXsgIDE2LCAweGEwOTAsIDAsIHsweDBmLDB4ODAsMHgwMywweDIxLDB4MDAsMHhjOCwweDQwLDB4YjIsMHgwMCwweDBjLDB4ODAsMHgwMywweDIwLDB4MTAsMHhjOCwweDAwIH0gfSwKLXsgIDE2LCAweGEwYTAsIDAsIHsweDMyLDB4MDAsMHgwYywweDgwLDB4MDMsMHhlMCwweDgwLDB4ZjgsMHgwNCwweDMyLDB4MDAsMHgyYywweDgwLDB4MGIsMHgwYSwweDA0IH0gfSwKLXsgIDE2LCAweGEwYjAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4MjgsMHgwMCwweGNhLDB4MDAsMHgyZSwweDgwIH0gfSwKLXsgIDE2LCAweGEwYzAsIDAsIHsweDBiLDB4ZTgsMHgwYSwweDM4LDB4MTAsMHg4ZSwweGMwLDB4MjIsMHg4MCwweDBkLDB4YTAsMHgwMiwweDI4LDB4MDAsMHgwYSwweDA0IH0gfSwKLXsgIDE2LCAweGEwZDAsIDAsIHsweDAyLDB4ODAsMHgyOCwweGEwLDB4MDIsMHhmYiwweDAwLDB4YmEsMHgwMCwweDM3LDB4YjAsMHg0OCwweGVhLDB4MDIsMHgwYSwweDAwIH0gfSwKLXsgIDE2LCAweGEwZTAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NGMsMHgwMCwweDkzLDB4MDEsMHgyYywweGMwIH0gfSwKLXsgIDE2LCAweGEwZjAsIDAsIHsweDhiLDB4YjAsMHg0MiwweDBjLDB4OTAsMHg5YiwweDIwLDB4MjAsMHhjMCwweDQ4LDB4MzAsMHg0MiwweDJjLDB4MDAsMHg4MywweDAwIH0gfSwKLXsgIDE2LCAweGExMDAsIDAsIHsweDIwLDB4YzAsMHgwOCwweDMwLDB4MDIsMHhjZCwweDQwLDB4YjMsMHgwMCwweDI0LDB4YzgsMHgwOCwweDM4LDB4MDIsMHgwYSwweDAwIH0gfSwKLXsgIDE2LCAweGExMTAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDAxLDB4MTQsMHgwMCwweDg3LDB4MDAsMHgyZCwweGMwIH0gfSwKLXsgIDE2LCAweGExMjAsIDAsIHsweDBiLDB4MjQsMHgwNiwweDE2LDB4MDAsMHg5MywweDA4LDB4MjEsMHhjOCwweDA5LDB4MzEsMHgwMiwweDBjLDB4ODAsMHg4NywweGEwIH0gfSwKLXsgIDE2LCAweGExMzAsIDAsIHsweDIxLDB4YzAsMHgxOCwweDcyLDB4MDIsMHhkYywweDAwLDB4YjcsMHhiNCwweDI0LDB4ZTMsMHgwOCwweDc4LDB4MDIsMHgyOCwweDAwIH0gfSwKLXsgIDE2LCAweGExNDAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MWUsMHgwMiwweDk3LDB4YTAsMHgzZCwweGYwIH0gfSwKLXsgIDE2LCAweGExNTAsIDAsIHsweDBmLDB4NDgsMHgwMywweDNlLDB4MDAsMHhkNiwweDgwLDB4MzAsMHhlMCwweDJjLDB4N2EsMHgwMiwweDFlLDB4ODIsMHhjMywweGYwIH0gfSwKLXsgIDE2LCAweGExNjAsIDAsIHsweDMzLDB4ZWMsMHgwYywweDdjLDB4MDMsMHhkNiwweDAwLDB4ZjcsMHg4MCwweDM1LDB4ZTAsMHgwYywweGQ4LDB4MDMsMHgyYSwweDAyIH0gfSwKLXsgIDE2LCAweGExNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDE5LDB4YTUsMHhhMCwweGZiLDB4MDAsMHgzZSwweGNhIH0gfSwKLXsgIDE2LCAweGExODAsIDAsIHsweDBmLDB4ODAsMHgwMywweGVjLDB4MDIsMHhlYSwweDAwLDB4M2UsMHhjNiwweDBmLDB4YjQsMHgwYiwweGVkLDB4NDAsMHhmYiwweDAwIH0gfSwKLXsgIDE2LCAweGExOTAsIDAsIHsweGJlLDB4YzAsMHgwZiwweGI2LDB4NDMsMHhlMCwweDAwLDB4ZmIsMHgwMiwweDNlLDB4ODAsMHgwZiwweDkwLDB4MDMsMHhjMiwweDA2IH0gfSwKLXsgIDE2LCAweGExYTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZmUsMHgwMiwweGNmLDB4ODgsMHgzZiwweGUwIH0gfSwKLXsgIDE2LCAweGExYjAsIDAsIHsweDBjLDB4YjksMHgwMywweGZlLDB4MDAsMHhkZCwweDgxLDB4MzMsMHhlMCwweDhjLDB4ZmMsMHgwMywweDNmLDB4MDQsMHhjZiwweDgwIH0gfSwKLXsgIDE2LCAweGExYzAsIDAsIHsweDMzLDB4ZTIsMHg0ZiwweGZjLDB4MDMsMHgzZSwweDAwLDB4Y2YsMHhjMCwweDMzLDB4NjQsMHgwYywweGY4LDB4MDMsMHhjMCwweDAwIH0gfSwKLXsgIDE2LCAweGExZDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDExLDB4OTQsMHg0MCwweDg3LDB4MDAsMHgyZiwweGMxIH0gfSwKLXsgIDE2LCAweGExZTAsIDAsIHsweDBkLDB4NjksMHhhMiwweGQwLDB4NDAsMHhiYywweDAwLDB4MjMsMHhjMCwweDA4LDB4ZjAsMHgwMiwweDljLDB4MDAsMHg4NywweDAwIH0gfSwKLXsgIDE2LCAweGExZjAsIDAsIHsweDIxLDB4YzAsMHgwYiwweDcwLDB4MGEsMHgzYywweDA0LDB4ODcsMHgxMCwweDIxLDB4NGMsMHgwOCwweDYwLDB4MDIsMHhlYSwweDA0IH0gfSwKLXsgIDE2LCAweGEyMDAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OWUsMHgwMCwweDg3LDB4MDAsMHgyZCwweGMwIH0gfSwKLXsgIDE2LCAweGEyMTAsIDAsIHsweDA5LDB4NjIsMHgwMiwweGQ4LDB4MDAsMHg5NywweDAwLDB4MjEsMHhjNCwweDA4LDB4NzAsMHgwMiwweDBjLDB4NDAsMHg5NywweDAwIH0gfSwKLXsgIDE2LCAweGEyMjAsIDAsIHsweDIxLDB4YzQsMHgwYiwweDMwLDB4MDIsMHg1OCwweDAwLDB4YTcsMHgwOCwweDIxLDB4ODAsMHgwOCwweDYwLDB4ODIsMHhjMCwweDAwIH0gfSwKLXsgIDE2LCAweGEyMzAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMCwweDE0LDB4ZTQsMHgyNSwweDgzLDB4MDAsMHgyYywweGMwIH0gfSwKLXsgIDE2LCAweGEyNDAsIDAsIHsweDA5LDB4MjIsMHgwMiwweGNjLDB4MjAsMHhiMiwweDAwLDB4MjAsMHhjMCwweDI4LDB4YjAsMHgwMiwweDhjLDB4MDAsMHg5MywweDAwIH0gfSwKLXsgIDE2LCAweGEyNTAsIDAsIHsweDIwLDB4YzAsMHgwYiwweDMwLDB4NDIsMHg2YywweDIwLDB4ODMsMHgwOCwweDIwLDB4ZTIsMHgwOCwweGI4LDB4MDIsMHhjOCwweDA0IH0gfSwKLXsgIDE2LCAweGEyNjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YTQsMHgwMCwweGNmLDB4MDAsMHgzZiwweGMwIH0gfSwKLXsgIDE2LCAweGEyNzAsIDAsIHsweDBkLDB4OWMsMHgwMywweGU4LDB4MDAsMHhkYiwweDgwLDB4MzMsMHhjMCwweDBjLDB4ZjAsMHgwYiwweDNjLDB4MDYsMHhkZiwweDAwIH0gfSwKLXsgIDE2LCAweGEyODAsIDAsIHsweGIzLDB4YzAsMHgwYiwweGYwLDB4MDcsMHg2OCwweDAwLDB4ZWYsMHg0MCwweDMyLDB4YTgsMHgwYywweGE4LDB4MDMsMHhlYSwweDA0IH0gfSwKLXsgIDE2LCAweGEyOTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDAwLDB4ZWMsMHgwMCwweGZiLDB4MDAsMHgyZSwweGMwIH0gfSwKLXsgIDE2LCAweGEyYTAsIDAsIHsweDBmLDB4OTQsMHgwMywweGM1LDB4NDAsMHhmYSwweDMwLDB4M2UsMHhjMCwweDBmLDB4YjAsMHgwMywweDZjLDB4MDAsMHhlYiwweDAwIH0gfSwKLXsgIDE2LCAweGEyYjAsIDAsIHsweDNlLDB4YzAsMHgwZiwweDMwLDB4MTMsMHhhZCwweDQwLDB4ZmIsMHgwMiwweDNlLDB4ZDAsMHgwZiwweGI0LDB4MDMsMHhlMCwweDAwIH0gfSwKLXsgIDE2LCAweGEyYzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZTQsMHgwMCwweGM3LDB4MDAsMHgzMSwweGMxIH0gfSwKLXsgIDE2LCAweGEyZDAsIDAsIHsweDhjLDB4ZDAsMHgwMywweDM0LDB4MDAsMHhjZCwweDAwLDB4M2QsMHhjMCwweDBjLDB4ZjAsMHgwMSwweDdjLDB4MDAsMHhkYiwweDAxIH0gfSwKLXsgIDE2LCAweGEyZTAsIDAsIHsweDNkLDB4YzAsMHg0YywweGYwLDB4MGIsMHgzMCwweDAyLDB4YzMsMHgwMCwweDMyLDB4MDAsMHgwZiwweGQwLDB4MDMsMHgwMCwweDQ0IH0gfSwKLXsgIDE2LCAweGEyZjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MSwweDA0LDB4NmUsMHg0MCwweDhiLDB4MDAsMHgyYSwweGMwIH0gfSwKLXsgIDE2LCAweGEzMDAsIDAsIHsweDI4LDB4ODQsMHg0MiwweDIyLDB4ODAsMHg4OCwweDgwLDB4M2EsMHhjMCwweDBkLDB4YjAsMHgwMiwweGFjLDB4MDgsMHg4YiwweDAwIH0gfSwKLXsgIDE2LCAweGEzMTAsIDAsIHsweDJlLDB4YzAsMHgwOCwweGIwLDB4MDIsMHgyMywweDIwLDB4OGIsMHgwMCwweDIyLDB4MzAsMHg4YiwweDhjLDB4MDIsMHgyMCwweDQwIH0gfSwKLXsgIDE2LCAweGEzMjAsIDAsIHsweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MjQsMHgwMCwweDhiLDB4MDAsMHgyMiwweGMwIH0gfSwKLXsgIDE2LCAweGEzMzAsIDAsIHsweDA4LDB4MzgsMHg4NiwweDJhLDB4MDAsMHg4OSwweDgwLDB4MmEsMHhjMCwweDA4LDB4YjAsMHgwMiwweGNjLDB4MDAsMHg5YiwweDAwIH0gfSwKLXsgIDE2LCAweGEzNDAsIDAsIHsweDJlLDB4YzAsMHgwOCwweGIwLDB4NDIsMHgyNiwweDAwLDB4OGIsMHgwMCwweDIyLDB4NzEsMHgwYiwweDhjLDB4MDIsMHgyMCwweDAwIH0gfSwKLXsgIDE2LCAweGEzNTAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA0LDB4MGMsMHgwMCwweDgzLDB4MDAsMHgyOCwweGMwIH0gfSwKLXsgIDE2LCAweGEzNjAsIDAsIHsweDA4LDB4MzIsMHg0MiwweDAwLDB4MDAsMHg4MSwweDAwLDB4MjgsMHhjMCwweDA5LDB4MzAsMHg1MiwweDhjLDB4MDgsMHg4MywweDAwIH0gfSwKLXsgIDE2LCAweGEzNzAsIDAsIHsweDJjLDB4YzAsMHgxOCwweDMwLDB4MDYsMHgwMCwweDAwLDB4ODMsMHgwMCwweGEwLDB4MDAsMHgwYiwweDAwLDB4MDIsMHgwMiwweDAxIH0gfSwKLXsgIDE2LCAweGEzODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4NzQsMHgwMiwweDhiLDB4MDAsMHgzMywweGMwIH0gfSwKLXsgIDE2LCAweGEzOTAsIDAsIHsweDBjLDB4OTIsMHgwYiwweDIwLDB4MDIsMHhjOCwweDAwLDB4M2IsMHhjMCwweDBjLDB4ZjUsMHgwMywweGZjLDB4MDAsMHhkZiwweDAxIH0gfSwKLXsgIDE2LCAweGEzYTAsIDAsIHsweDNmLDB4YzEsMHgwNCwweGYwLDB4MzMsMHgyMSwweDQwLDB4Y2YsMHgwMCwweDMyLDB4MDAsMHgwZiwweDgwLDB4MGIsMHgwMCwweDAzIH0gfSwKLXsgIDE2LCAweGEzYjAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE5LDB4ZmMsMHgwMCwweGZmLDB4MDAsMHgzZiwweGMwIH0gfSwKLXsgIDE2LCAweGEzYzAsIDAsIHsweDBmLDB4YzQsMHgwMywweGYwLDB4MDAsMHg5YywweDAwLDB4M2IsMHhjMCwweDBmLDB4ZjAsMHgwMywweGZjLDB4MDAsMHhmZiwweDAwIH0gfSwKLXsgIDE2LCAweGEzZDAsIDAsIHsweDJmLDB4YzAsMHgwZiwweGYwLDB4MDMsMHhmMCwweDgwLDB4ZmYsMHgwMCwweDNmLDB4MDAsMHgwZiwweGMwLDB4MDMsMHhlOCwweDA2IH0gfSwKLXsgIDE2LCAweGEzZTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZjAsMHhjMCwweGZmLDB4YTAsMHgzMSwweDI0IH0gfSwKLXsgIDE2LCAweGEzZjAsIDAsIHsweDBlLDB4ZjAsMHg2MywweDEwLDB4MDQsMHhlZiwweDY0LDB4M2YsMHhjMCwweDRjLDB4ZjMsMHgwMywweDFjLDB4ODAsMHhkZiwweDA4IH0gfSwKLXsgIDE2LCAweGE0MDAsIDAsIHsweDM3LDB4YzAsMHgwZiwweGYwLDB4MDMsMHhmMCwweGEwLDB4ZmMsMHgwMCwweDMxLDB4MDgsMHgyYywweGQyLDB4MDMsMHhmMCwweDAwIH0gfSwKLXsgIDE2LCAweGE0MTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDEwLDB4ZTEsMHgwMCwweGJiLDB4YzEsMHgyMiwweDQ4IH0gfSwKLXsgIDE2LCAweGE0MjAsIDAsIHsweDA4LDB4ZmQsMHgwMiwweDJlLDB4MDAsMHg5NywweDAwLDB4MmYsMHhjMiwweDQ4LDB4NzEsMHgyMywweDdlLDB4NDAsMHhiZiwweDAwIH0gfSwKLXsgIDE2LCAweGE0MzAsIDAsIHsweDIxLDB4YzUsMHg0YiwweGY1LDB4MDIsMHhlZiwweDAwLDB4YmIsMHg0MCwweDM2LDB4ZTAsMHgwOCwweGE4LDB4MDIsMHhlMCwweDA0IH0gfSwKLXsgIDE2LCAweGE0NDAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4YzUsMHg4NCwweGIzLDB4MTEsMHhhMiwweGM5IH0gfSwKLXsgIDE2LCAweGE0NTAsIDAsIHsweDBhLDB4MzAsMHgwMiwweDAwLDB4MDEsMHhiMywweDMwLDB4MjgsMHhjNCwweDA4LDB4MzIsMHg0MiwweDBjLDB4MDAsMHhhMywweDA4IH0gfSwKLXsgIDE2LCAweGE0NjAsIDAsIHsweGEwLDB4Y2EsMHgwYSwweDMyLDB4ODIsMHg4MCwweDEwLDB4YjAsMHg0MSwweDI0LDB4MTEsMHgwOCwweDMxLDB4MDIsMHhlMiwweDAxIH0gfSwKLXsgIDE2LCAweGE0NzAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDE1LDB4YTUsMHgwMCwweGJiLDB4MDAsMHgyMiwweGUxIH0gfSwKLXsgIDE2LCAweGE0ODAsIDAsIHsweDI4LDB4YjAsMHgwMiwweDJjLDB4ODAsMHg5YiwweDAwLDB4MmUsMHhjMCwweDA4LDB4YjAsMHgwMiwweDZjLDB4MDAsMHhiMywweDAwIH0gfSwKLXsgIDE2LCAweGE0OTAsIDAsIHsweDIyLDB4YzAsMHgwYiwweGIwLDB4MDAsMHhlYywweDIwLDB4YmIsMHgwMCwweDI2LDB4YzAsMHgwOCwweDgwLDB4MDIsMHhmMCwweDA0IH0gfSwKLXsgIDE2LCAweGE0YTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDE1LDB4ZTMsMHg0MCwweGY3LDB4MDQsMHgzMiwweGMwIH0gfSwKLXsgIDE2LCAweGE0YjAsIDAsIHsweDRlLDB4YjAsMHgyMywweDJlLDB4MjAsMHhlYiwweDAwLDB4MWUsMHhjMCwweDBjLDB4YjAsMHgwMSwweDJjLDB4MDAsMHhmYiwweDAwIH0gfSwKLXsgIDE2LCAweGE0YzAsIDAsIHsweDM2LDB4YzAsMHgxZiwweGIwLDB4MDMsMHhlMSwweDQwLDB4ZmIsMHgwMCwweDM2LDB4OTgsMHgwYywweDkwLDB4MDMsMHhkMCwweDA0IH0gfSwKLXsgIDE2LCAweGE0ZDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDAxLDB4YjYsMHgwNCwweGZmLDB4MDIsMHgzZiwweGMwIH0gfSwKLXsgIDE2LCAweGE0ZTAsIDAsIHsweDBmLDB4ZjAsMHgwMywweGZlLDB4MDAsMHhlZiwweDAyLDB4M2QsMHhjMCwweDBmLDB4ZjAsMHgyMywweGZjLDB4MDAsMHhmZiwweDAwIH0gfSwKLXsgIDE2LCAweGE0ZjAsIDAsIHsweDNmLDB4YzAsMHg0ZiwweGYwLDB4MDMsMHhmYywweDAwLDB4ZjQsMHgwMCwweDNiLDB4NDAsMHgwZiwweGEwLDB4MTMsMHhmOCwweDAwIH0gfSwKLXsgIDE2LCAweGE1MDAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YWEsMHgyMCwweGViLDB4MTAsMHgzNiwweGMwIH0gfSwKLXsgIDE2LCAweGE1MTAsIDAsIHsweDBkLDB4YjAsMHgwNywweGVjLDB4MjAsMHhkYiwweDAwLDB4MzIsMHhjMCwweDBjLDB4YjAsMHgwMiwweDZjLDB4MjAsMHhlYiwweDAwIH0gfSwKLXsgIDE2LCAweGE1MjAsIDAsIHsweDNlLDB4YzEsMHgwZCwweGIwLDB4MDMsMHhlMCwweDIwLDB4ZGIsMHhhMCwweDMyLDB4OTAsMHg0YywweGIwLDB4MGIsMHgxMCwweDA0IH0gfSwKLXsgIDE2LCAweGE1MzAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjOCwweDA1LDB4MmQsMHgwMCwweDhmLDB4ODAsMHgyMCwweGMxIH0gfSwKLXsgIDE2LCAweGE1NDAsIDAsIHsweDA4LDB4NzAsMHgxMiwweGNmLDB4MDAsMHg4ZiwweDAwLDB4YTMsMHhjMCwweDBkLDB4ZjAsMHgwMiwweDNjLDB4MDAsMHg4ZiwweDAwIH0gfSwKLXsgIDE2LCAweGE1NTAsIDAsIHsweDM3LDB4YzAsMHg4OCwweGYwLDB4MDIsMHhlYywweDAwLDB4ODgsMHgwMCwweDIwLDB4NDAsMHgwOCwweDgwLDB4MDIsMHgzMiwweDAwIH0gfSwKLXsgIDE2LCAweGE1NjAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NGMsMHgwMCwweGEzLDB4ODAsMHgyNCwweDgxIH0gfSwKLXsgIDE2LCAweGE1NzAsIDAsIHsweDA5LDB4MzAsMHgwNiwweGNjLDB4NDAsMHg5MywweDAwLDB4MjgsMHhjMSwweDA4LDB4YjAsMHgwMiwweGNmLDB4NDAsMHhhMywweDAwIH0gfSwKLXsgIDE2LCAweGE1ODAsIDAsIHsweDJjLDB4YzAsMHgwOSwweDMwLDB4MDIsMHhjZCwweDAwLDB4OTAsMHg0MCwweDYwLDB4NDAsMHgyOCwweDEwLDB4MDIsMHgzOCwweDAwIH0gfSwKLXsgIDE2LCAweGE1OTAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMCwweDAxLDB4MGUsMHgwMCwweDg3LDB4ODAsMHgyMywweGUwIH0gfSwKLXsgIDE2LCAweGE1YTAsIDAsIHsweDQ4LDB4NzksMHgwMiwweGRlLDB4NDEsMHg5NywweDgwLDB4MjksMHhlMCwweDE5LDB4NzgsMHgwNiwweDllLDB4MDAsMHg4NywweDgwIH0gfSwKLXsgIDE2LCAweGE1YjAsIDAsIHsweDI1LDB4ZTAsMHgwOCwweDc4LDB4MDIsMHhkMiwweDAzLDB4ODMsMHg4MCwweDIxLDB4YTAsMHgwOCwweDY4LDB4MDIsMHgwOCwweDAwIH0gfSwKLXsgIDE2LCAweGE1YzAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MGMsMHgwMCwweGEzLDB4MDAsMHgzNCwweGMwIH0gfSwKLXsgIDE2LCAweGE1ZDAsIDAsIHsweDBkLDB4MzAsMHg0MiwweGNjLDB4MDEsMHhkMywweDEwLDB4M2EsMHhjNSwweDBjLDB4MzksMHgwMywweGNjLDB4MDAsMHhlMywweDA0IH0gfSwKLXsgIDE2LCAweGE1ZTAsIDAsIHsweDNjLDB4YzQsMHgwZCwweDMwLDB4MDMsMHhjZSwweDAwLDB4ZDAsMHgwMCwweDMwLDB4NDAsMHgwYywweDMwLDB4MDMsMHgxMiwweDAyIH0gfSwKLXsgIDE2LCAweGE1ZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDFkLDB4YmMsMHgwMCwweGY3LDB4MDAsMHgzZiwweGMwIH0gfSwKLXsgIDE2LCAweGE2MDAsIDAsIHsweDFmLDB4ZjAsMHg1MywweGZjLDB4MDAsMHhlZiwweDA4LDB4MzcsMHhkMSwweDBmLDB4ZjAsMHg4MywweDdjLDB4MDAsMHhmNywweDQwIH0gfSwKLXsgIDE2LCAweGE2MTAsIDAsIHsweDNmLDB4YzEsMHgwZiwweGYxLDB4MDMsMHhkMCwweDAwLDB4ZmYsMHgwMCwweGJmLDB4ODQsMHgwZiwweGM4LDB4MDMsMHhkMCwweDA2IH0gfSwKLXsgIDE2LCAweGE2MjAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZTAsMHgwMCwweGZiLDB4MDAsMHgzZSwweGUwIH0gfSwKLXsgIDE2LCAweGE2MzAsIDAsIHsweDJjLDB4YmUsMHg4MywweGVjLDB4MDAsMHhlYiwweDQwLDB4M2UsMHhjMCwweDBmLDB4YjQsMHgwMywweGVkLDB4MjAsMHhmYiwweDEwIH0gfSwKLXsgIDE2LCAweGE2NDAsIDAsIHsweGI2LDB4ZDIsMHgwZiwweGI0LDB4ODMsMHhlYywweDAwLDB4ZGIsMHg4MCwweDM2LDB4YzEsMHgwYywweDkwLDB4MjEsMHgyYSwweDAwIH0gfSwKLXsgIDE2LCAweGE2NTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDExLDB4OTQsMHgwMCwweGI3LDB4MDAsMHgyZiwweGMwIH0gfSwKLXsgIDE2LCAweGE2NjAsIDAsIHsweDA4LDB4MzYsMHgwMiwweDBjLDB4MDgsMHg4NywweDMwLDB4MmQsMHhkOSwweDhiLDB4NzIsMHg4NiwweGRkLDB4MDAsMHhiMywweDIwIH0gfSwKLXsgIDE2LCAweGE2NzAsIDAsIHsweDIxLDB4YzgsMHgwYiwweDc0LDB4MDIsMHhkMCwweDAyLDB4ODQsMHgwMCwweGEwLDB4MDAsMHgyOCwweDIwLDB4MDIsMHgxMiwweDA0IH0gfSwKLXsgIDE2LCAweGE2ODAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4OWEsMHgwMCwweGI3LDB4ODAsMHgyZCwweGUwIH0gfSwKLXsgIDE2LCAweGE2OTAsIDAsIHsweDA4LDB4N2EsMHgwMiwweDlkLDB4MDAsMHhhNywweGEwLDB4MmQsMHhlMCwweDBiLDB4NzgsMHgwMiwweDllLDB4ODAsMHhhNywweDgwIH0gfSwKLXsgIDE2LCAweGE2YTAsIDAsIHsweDIxLDB4ZTQsMHgwOCwweDdhLDB4MjYsMHg5ZSwweDE4LDB4ODMsMHgwNCwweDIxLDB4ZTAsMHgwOCwweDc4LDB4MGEsMHg3MCwweDAwIH0gfSwKLXsgIDE2LCAweGE2YjAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDE0LDB4Y2MsMHgwMCwweGIzLDB4MDAsMHgyYywweGUwIH0gfSwKLXsgIDE2LCAweGE2YzAsIDAsIHsweDU4LDB4MzAsMHgxMiwweDBlLDB4ODIsMHg4MywweDAwLDB4MmMsMHhjMCwweDBiLDB4MzAsMHgwMiwweGNjLDB4MDEsMHhiMywweDAwIH0gfSwKLXsgIDE2LCAweGE2ZDAsIDAsIHsweDIwLDB4YzEsMHgwYiwweDMwLDB4MDIsMHhjMCwweDA4LDB4ODgsMHhkMiwweDIwLDB4MjAsMHgwOCwweDAwLDB4MDIsMHg1MiwweDA0IH0gfSwKLXsgIDE2LCAweGE2ZTAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YjgsMHg2MCwweGZhLDB4MDAsMHgzZiwweDgyIH0gfSwKLXsgIDE2LCAweGE2ZjAsIDAsIHsweDBjLDB4YTAsMHgwMywweGZhLDB4MDAsMHhhYSwweDAwLDB4MWUsMHg4MCwweDhmLDB4YTAsMHgwMywweGU4LDB4MDAsMHhmMiwweDAwIH0gfSwKLXsgIDE2LCAweGE3MDAsIDAsIHsweDMyLDB4ODAsMHgxZiwweGEwLDB4MDMsMHhlOCwweDAwLDB4ZGEsMHgwMCwweDM2LDB4ODgsMHhhYywweGUwLDB4MDMsMHg3YSwweDA0IH0gfSwKLXsgIDE2LCAweGE3MTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDAwLDB4ZTEsMHgwMCwweGY4LDB4MDAsMHgzZSwweDIwIH0gfSwKLXsgIDE2LCAweGE3MjAsIDAsIHsweDRmLDB4ODAsMHgwMywweGUxLDB4MDAsMHhmMCwweDAwLDB4M2MsMHgwMCwweDBiLDB4ODAsMHgwMywweGUwLDB4MDAsMHhmOCwweDAyIH0gfSwKLXsgIDE2LCAweGE3MzAsIDAsIHsweDNhLDB4MDAsMHgwZiwweDgwLDB4NDMsMHhmMSwweDAwLDB4ZmMsMHgwYSwweDNkLDB4MDAsMHgwZiwweGMwLDB4MDMsMHg5MiwweDAwIH0gfSwKLXsgIDE2LCAweGE3NDAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTYsMHgwMCwweGM5LDB4OTAsMHgzZSwweDQwIH0gfSwKLXsgIDE2LCAweGE3NTAsIDAsIHsweDBmLDB4OTIsMHgwMywweGU0LDB4MDAsMHhkOSwweDAwLDB4MzIsMHg0MCwweDA0LDB4OTAsMHgwNywweGU3LDB4MDAsMHhmOSwweDEwIH0gfSwKLXsgIDE2LCAweGE3NjAsIDAsIHsweDMwLDB4NDAsMHgwYywweDkwLDB4NDMsMHhlNCwweDA5LDB4ZDksMHg4MCwweDIyLDB4NDAsMHgyYywweDEwLDB4MGIsMHgwMiwweDA0IH0gfSwKLXsgIDE2LCAweGE3NzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA0LDB4NjQsMHg2MCwweDg5LDB4YzAsMHgyZSwweDQwIH0gfSwKLXsgIDE2LCAweGE3ODAsIDAsIHsweDBiLDB4OTgsMHgyNiwweGM1LDB4ODAsMHg4OSwweDAwLDB4MjIsMHg0MCwweDI4LDB4OTAsMHgxMiwweGU3LDB4MTAsMHhiOSwweDAwIH0gfSwKLXsgIDE2LCAweGE3OTAsIDAsIHsweDM2LDB4NDAsMHgyOCwweDkwLDB4MTIsMHhjNSwweDgzLDB4YzksMHg4MCwweGI2LDB4NDAsMHgwOCwweDkwLDB4MDIsMHgyMCwweDAwIH0gfSwKLXsgIDE2LCAweGE3YTAsIDAsIHsweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4MDQsMHgwMCwweDg5LDB4NDAsMHgyZSwweDQxIH0gfSwKLXsgIDE2LCAweGE3YjAsIDAsIHsweDRiLDB4OTAsMHgwMiwweGU0LDB4MDAsMHg5OSwweDAwLDB4YTIsMHg0MCwweDBhLDB4OTAsMHgwMiwweGU1LDB4MDAsMHhiOSwweDAwIH0gfSwKLXsgIDE2LCAweGE3YzAsIDAsIHsweGUyLDB4NDEsMHgwOCwweDkwLDB4NDIsMHhlNCwweDAwLDB4OWQsMHg1MCwweGFiLDB4NGEsMHgwOCwweGQwLDB4MjYsMHgwNiwweDAwIH0gfSwKLXsgIDE2LCAweGE3ZDAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA0LDB4MDQsMHg4MiwweDgxLDB4MjAsMHgyYywweDUwIH0gfSwKLXsgIDE2LCAweGE3ZTAsIDAsIHsweDBiLDB4MTAsMHgwMiwweGU0LDB4MDAsMHg4MSwweDQwLDB4MjAsMHg1MCwweDRhLDB4MTQsMHgzMiwweGM0LDB4MDAsMHhiMSwweDQwIH0gfSwKLXsgIDE2LCAweGE3ZjAsIDAsIHsweDI0LDB4NTEsMHgxOCwweDE0LDB4MTIsMHhkNCwweDAwLDB4ODUsMHg0MCwweDJkLDB4NDAsMHgwOCwweDUwLDB4MDYsMHgwMiwweDAxIH0gfSwKLXsgIDE2LCAweGE4MDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjEsMHg0MCwweGM4LDB4MDAsMHgzZSwweDAwIH0gfSwKLXsgIDE2LCAweGE4MTAsIDAsIHsweDBmLDB4ODAsMHgwMiwweGUwLDB4MDAsMHhkOCwweDAwLDB4MzIsMHgwMCwweDBhLDB4ODAsMHgwMiwweGUwLDB4MTAsMHhmOCwweDAwIH0gfSwKLXsgIDE2LCAweGE4MjAsIDAsIHsweDMyLDB4MDAsMHgwNCwweDgwLDB4MDMsMHhlMCwweDAwLDB4ZDgsMHgwMCwweDNhLDB4MDAsMHgwYywweGMwLDB4MDMsMHgyZSwweDAzIH0gfSwKLXsgIDE2LCAweGE4MzAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5OCwweDFkLDB4ZjQsMHg0MCwweGY5LDB4MTAsMHgzZiwweDQxIH0gfSwKLXsgIDE2LCAweGE4NDAsIDAsIHsweDBmLDB4OTQsMHgwMywweGY1LDB4MDAsMHhmOSwweDQwLDB4M2UsMHg1MCwweDBkLDB4OTQsMHgwMywweGU1LDB4MTAsMHhmOSwweDQwIH0gfSwKLXsgIDE2LCAweGE4NTAsIDAsIHsweDNlLDB4NTAsMHg0ZiwweDk0LDB4MDMsMHhjNSwweDAwLDB4ZTksMHg0MSwweDM2LDB4NTAsMHgwZiwweDk0LDB4MDMsMHhlNiwweDA2IH0gfSwKLXsgIDE2LCAweGE4NjAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4ZjYsMHgwMCwweGZkLDB4YTgsMHgzYSwweDQwIH0gfSwKLXsgIDE2LCAweGE4NzAsIDAsIHsweDBjLDB4ZDgsMHgyMywweDM2LDB4MDAsMHhlOSwweGEwLDB4M2UsMHg3OCwweDBmLDB4OWUsMHgwMywweGI2LDB4ODAsMHhjZCwweGUyIH0gfSwKLXsgIDE2LCAweGE4ODAsIDAsIHsweDMyLDB4NjgsMHgwYywweDliLDB4MDMsMHgzNiwweDgyLDB4NGQsMHhhMCwweDM3LDB4NjgsMHg4YywweDk4LDB4MDMsMHgwNiwweDAwIH0gfSwKLXsgIDE2LCAweGE4OTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzOCwweDEwLDB4ZWIsMHhhMCwweGI4LDB4NDAsMHgyMCwweDIwIH0gfSwKLXsgIDE2LCAweGE4YTAsIDAsIHsweDA4LDB4ODUsMHgwMiwweDIxLDB4NTEsMHg4OCwweGMwLDB4MmUsMHgyOSwweDBiLDB4OGUsMHgwMiwweGUxLDB4MDAsMHhkOCwweGUwIH0gfSwKLXsgIDE2LCAweGE4YjAsIDAsIHsweDIyLDB4MzIsMHgwZCwweDhkLDB4MjMsMHg2MSwweDQ4LDB4OTgsMHhkNCwweGEyLDB4MTAsMHgyOCwweDg0LDB4MDIsMHgwZSwweDA0IH0gfSwKLXsgIDE2LCAweGE4YzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4YzUsMHgwMCwweGIzLDB4MDAsMHgyYSwweDRhIH0gfSwKLXsgIDE2LCAweGE4ZDAsIDAsIHsweDI4LDB4MTAsMHg0ZSwweGE0LDB4MDgsMHhhMSwweDY4LDB4MjgsMHg0NCwweDBiLDB4MTQsMHgwMiwweGM1LDB4MDAsMHg4MSwweDQwIH0gfSwKLXsgIDE2LCAweGE4ZTAsIDAsIHsweGEwLDB4NTAsMHgwOCwweDEwLDB4MDIsMHgwNCwweDAyLDB4OTEsMHgyYSwweDIwLDB4NDQsMHgyOCwweDE0LDB4NGEsMHgwMiwweDAxIH0gfSwKLXsgIDE2LCAweGE4ZjAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDE1LDB4YWMsMHg4MCwweGI5LDB4MDAsMHgyMiwweDQwIH0gfSwKLXsgIDE2LCAweGE5MDAsIDAsIHsweDQ4LDB4OTAsMHgwNiwweGE0LDB4MDAsMHhhOSwweDAwLDB4MmUsMHg0MCwweDBiLDB4OTAsMHgyMiwweGU0LDB4MDAsMHg5OSwweDAwIH0gfSwKLXsgIDE2LCAweGE5MTAsIDAsIHsweDIyLDB4NDAsMHgwOSwweDEwLDB4MDIsMHg2NCwweDAyLDB4OTksMHgwMCwweDIyLDB4NDAsMHgwOCwweDkwLDB4MDIsMHgwNiwweDA0IH0gfSwKLXsgIDE2LCAweGE5MjAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4ZTQsMHgwMCwweGY5LDB4MDAsMHgzOCwweDU4IH0gfSwKLXsgIDE2LCAweGE5MzAsIDAsIHsweDBjLDB4OTAsMHg1MywweDg0LDB4MTQsMHhhOSwweDA0LDB4M2UsMHg0MCwweDBmLDB4OTAsMHgwMywweGU0LDB4MDAsMHhjOSwweDAwIH0gfSwKLXsgIDE2LCAweGE5NDAsIDAsIHsweDMyLDB4NDAsMHgwYywweDkwLDB4MDMsMHgyNCwweDA0LDB4ZDksMHgwMCwweGI2LDB4NDAsMHg0YywweDkwLDB4MGIsMHgyOCwweDA0IH0gfSwKLXsgIDE2LCAweGE5NTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDAxLDB4YTQsMHgwMCwweGY5LDB4MDIsMHgzZSwweDQ5IH0gfSwKLXsgIDE2LCAweGE5NjAsIDAsIHsweDBmLDB4MTAsMHg0MywweDY0LDB4MDAsMHhkOSwweDAwLDB4M2UsMHg0MCwweDBmLDB4OTAsMHgwMywweGM0LDB4MDAsMHhmMSwweDAyIH0gfSwKLXsgIDE2LCAweGE5NzAsIDAsIHsweDNlLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhjNCwweDAyLDB4ZTksMHgwNCwweDNjLDB4NDAsMHgwZiwweDFjLDB4MDMsMHhjYSwweDAwIH0gfSwKLXsgIDE2LCAweGE5ODAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTEsMHg4MCwweGM4LDB4MjAsMHgzZSwweDAwIH0gfSwKLXsgIDE2LCAweGE5OTAsIDAsIHsweDhjLDB4ODAsMHgwYiwweDIwLDB4MDAsMHhlOCwweDAyLDB4M2UsMHgwMCwweDBmLDB4ODAsMHgwMywweGEwLDB4ODIsMHhjOCwweDAwIH0gfSwKLXsgIDE2LCAweGE5YTAsIDAsIHsweDZjLDB4MDAsMHgwZiwweDgwLDB4MDMsMHgyMCwweDEwLDB4YzgsMHgwMCwweDMyLDB4MDIsMHgwYywweDgwLDB4MDMsMHgwYSwweDA0IH0gfSwKLXsgIDE2LCAweGE5YjAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4MzgsMHgwMCwweDg2LDB4MDAsMHgyZSwweDgwIH0gfSwKLXsgIDE2LCAweGE5YzAsIDAsIHsweDY4LDB4YTgsMHg4MCwweDNhLDB4MDAsMHg4YSwweDAwLDB4MmUsMHg4MCwweDBiLDB4YTAsMHgwMiwweGY4LDB4MDAsMHg4YSwweDAwIH0gfSwKLXsgIDE2LCAweGE5ZDAsIDAsIHsweDJlLDB4ODAsMHgwYiwweGEwLDB4MGEsMHgzYSwweDAwLDB4OGUsMHgxMCwweDIzLDB4ODAsMHgwOCwweGEwLDB4MDMsMHgwYSwweDAwIH0gfSwKLXsgIDE2LCAweGE5ZTAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NGQsMHgwMCwweDgzLDB4MDAsMHgyYywweGMwIH0gfSwKLXsgIDE2LCAweGE5ZjAsIDAsIHsweDA4LDB4MzgsMHgwMCwweDBjLDB4NjAsMHgyMywweDAwLDB4MmMsMHhjMCwweDBiLDB4MzAsMHgwMiwweGNjLDB4NDAsMHg4MywweDAwIH0gfSwKLXsgIDE2LCAweGFhMDAsIDAsIHsweDJjLDB4YzAsMHgwYiwweDMwLDB4MDIsMHgwYywweDAyLDB4OGEsMHg4MCwweGEwLDB4ZTAsMHgyOCwweDMwLDB4MGEsMHg0YSwweDAwIH0gfSwKLXsgIDE2LCAweGFhMTAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDAxLDB4MTYsMHgyMCwweDg3LDB4MDIsMHgyZCwweGMxIH0gfSwKLXsgIDE2LCAweGFhMjAsIDAsIHsweDQ4LDB4NzAsMHgxMiwweDdjLDB4MDAsMHhhNywweDIwLDB4MmQsMHhjOSwweDBiLDB4NzIsMHgwMCwweGRjLDB4MDAsMHg4NywweDA4IH0gfSwKLXsgIDE2LCAweGFhMzAsIDAsIHsweDJkLDB4YzQsMHgxYiwweDMyLDB4MDIsMHgxZCwweDAxLDB4ODcsMHg0MiwweDIxLDB4YzIsMHgwOCwweDcwLDB4MDIsMHgyOCwweDAwIH0gfSwKLXsgIDE2LCAweGFhNDAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4M2UsMHgwMiwweGM3LDB4ODAsMHgzZCwweGVjIH0gfSwKLXsgIDE2LCAweGFhNTAsIDAsIHsweDBjLDB4NTgsMHgwMywweDFlLDB4MDAsMHhlNywweDgwLDB4M2QsMHhlYywweDBmLDB4N2YsMHgwMywweDk2LDB4MDAsMHhjNywweDgwIH0gfSwKLXsgIDE2LCAweGFhNjAsIDAsIHsweDJkLDB4ZTIsMHgwNywweDc5LDB4MDMsMHgwYSwweDA2LDB4YzMsMHg4MCwweDMwLDB4MjAsMHg4YywweDM4LDB4MDMsMHg2YSwweDAyIH0gfSwKLXsgIDE2LCAweGFhNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDFkLDB4YWMsMHgwMCwweGZiLDB4MDAsMHgzZSwweGMwIH0gfSwKLXsgIDE2LCAweGFhODAsIDAsIHsweDBmLDB4MTAsMHg0MywweDhjLDB4MDAsMHhkYiwweDM4LDB4M2UsMHhkOCwweDBmLDB4YjAsMHgwMywweGNjLDB4MDQsMHhmYiwweDQ0IH0gfSwKLXsgIDE2LCAweGFhOTAsIDAsIHsweDNlLDB4YzAsMHg4ZiwweGI2LDB4MTMsMHhlYywweDAyLDB4ZmYsMHgwMiwweDNlLDB4MDAsMHgwZiwweGIwLDB4MDMsMHhjMiwweDA2IH0gfSwKLXsgIDE2LCAweGFhYTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZmEsMHgwMCwweGZmLDB4ODAsMHgzMSwweGUzIH0gfSwKLXsgIDE2LCAweGFhYjAsIDAsIHsweDBlLDB4ZjgsMHgyMywweGZlLDB4MDIsMHhkZiwweDgwLDB4YjcsMHhlMiwweDBlLDB4ZjgsMHgwMywweDdlLDB4MDAsMHg2ZCwweGQwIH0gfSwKLXsgIDE2LCAweGFhYzAsIDAsIHsweDMzLDB4ZTAsMHgwYywweGY4LDB4OWIsMHg3NiwweGMwLDB4ZGYsMHg4NCwweGIzLDB4ZTAsMHgwNCwweGY4LDB4MDMsMHhjMCwweDAwIH0gfSwKLXsgIDE2LCAweGFhZDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDExLDB4OTAsMHg0MCwweGI3LDB4MDIsMHgyMSwweGM0IH0gfSwKLXsgIDE2LCAweGFhZTAsIDAsIHsweDA4LDB4N2IsMHg0MiwweGRjLDB4MDAsMHg4NywweDAwLDB4MjEsMHhjNCwweDBiLDB4MzAsMHgwMCwweDEwLDB4ODAsMHg4ZCwweDAwIH0gfSwKLXsgIDE2LCAweGFhZjAsIDAsIHsweDIzLDB4YzAsMHgwZCwweGYyLDB4MDIsMHgwNCwweDQyLDB4OGYsMHgwMCwweDI5LDB4YzgsMHgyOCwweDcwLDB4MDIsMHhlYSwweDA0IH0gfSwKLXsgIDE2LCAweGFiMDAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OTQsMHgwMCwweGI2LDB4MDAsMHgyMywweGMwIH0gfSwKLXsgIDE2LCAweGFiMTAsIDAsIHsweDBhLDB4NzIsMHgwMiwweDhjLDB4MDAsMHg4NywweDAwLDB4MjEsMHhjMCwweDBhLDB4MzAsMHgwMiwweDA0LDB4MDEsMHhhNywweDAyIH0gfSwKLXsgIDE2LCAweGFiMjAsIDAsIHsweDIxLDB4YzAsMHgwOCwweDcwLDB4NDIsMHgwMCwweDhhLDB4ODcsMHgwMCwweDIxLDB4YzAsMHgyOCwweDcwLDB4MDIsMHhjMCwweDAwIH0gfSwKLXsgIDE2LCAweGFiMzAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMCwweDE0LDB4YzUsMHgwMCwweGIwLDB4MDAsMHhhMCwweGQwIH0gfSwKLXsgIDE2LCAweGFiNDAsIDAsIHsweDA4LDB4YjAsMHgwMiwweGM5LDB4NDIsMHg4YiwweDAwLDB4MjAsMHhjMCwweDBiLDB4MzAsMHgyMiwweDA0LDB4MDAsMHg4MywweDAwIH0gfSwKLXsgIDE2LCAweGFiNTAsIDAsIHsweGEwLDB4YzAsMHg0OSwweDMwLDB4MDIsMHg0NSwweDQwLDB4OTMsMHhjMCwweGE4LDB4ZDQsMHgwMCwweDM1LDB4MDIsMHhjOCwweDA0IH0gfSwKLXsgIDE2LCAweGFiNjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YWMsMHgwMCwweGJiLDB4MDAsMHgzMSwweGMwIH0gfSwKLXsgIDE2LCAweGFiNzAsIDAsIHsweDBlLDB4YjAsMHgyMywweGNkLDB4MDAsMHhkZiwweDAwLDB4MzcsMHhjMCwweDBlLDB4ZjAsMHgwMSwweDY4LDB4MDAsMHhlMywweDAwIH0gfSwKLXsgIDE2LCAweGFiODAsIDAsIHsweDMzLDB4YzAsMHgxYywweGYwLDB4MDMsMHg0NSwweDAwLDB4ZGEsMHhjOCwweDkyLDB4ZDQsMHgyYywweGI0LDB4MDMsMHhlYSwweDA0IH0gfSwKLXsgIDE2LCAweGFiOTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDAwLDB4ZTUsMHgyMCwweGZiLDB4MDAsMHgzZSwweGMwIH0gfSwKLXsgIDE2LCAweGFiYTAsIDAsIHsweDBmLDB4YjAsMHgwMywweGVjLDB4MDAsMHhmYiwweDAwLDB4M2UsMHhjMCwweDRmLDB4YjAsMHgwMywweGFkLDB4MDAsMHhmYiwweDAwIH0gfSwKLXsgIDE2LCAweGFiYjAsIDAsIHsweDdlLDB4YzAsMHgxZiwweDMwLDB4MDMsMHhhNCwweDgwLDB4ZTksMHgyMCwweDNjLDB4YzAsMHgwZiwweDMyLDB4MDMsMHhlMCwweDAwIH0gfSwKLXsgIDE2LCAweGFiYzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZGMsMHgwMCwweGM3LDB4MDAsMHgzMywweGMyIH0gfSwKLXsgIDE2LCAweGFiZDAsIDAsIHsweDJjLDB4ZjAsMHgwMywweDNlLDB4MjAsMHhkYiwweDAwLDB4MTMsMHhjMCwweDBjLDB4NzAsMHgwMywweDNjLDB4ODAsMHhlZiwweDA0IH0gfSwKLXsgIDE2LCAweGFiZTAsIDAsIHsweDczLDB4YzEsMHgwZiwweGYwLDB4MjIsMHgzMCwweDAwLDB4YzYsMHgwMCwweGIyLDB4YzAsMHgwYywweGYwLDB4MDMsMHgwMCwweDQ0IH0gfSwKLXsgIDE2LCAweGFiZjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MSwweDAwLDB4NjksMHgwMCwweDhiLDB4NDQsMHhhMiwweGMxIH0gfSwKLXsgIDE2LCAweGFjMDAsIDAsIHsweDg4LDB4YjAsMHgwMywweDZjLDB4MDAsMHg4YiwweDAwLDB4MjIsMHhjMCwweDI4LDB4YjAsMHgwYSwweDJkLDB4MDAsMHhiYiwweDAwIH0gfSwKLXsgIDE2LCAweGFjMTAsIDAsIHsweDYyLDB4YzAsMHgwYiwweGIwLDB4MDIsMHgyNiwweDAyLDB4OGIsMHg4MCwweDIyLDB4YzAsMHgwOCwweGIwLDB4MDMsMHgyMCwweDQwIH0gfSwKLXsgIDE2LCAweGFjMjAsIDAsIHsweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MjgsMHgwMSwweDhhLDB4MDgsMHgyMiwweGMwIH0gfSwKLXsgIDE2LCAweGFjMzAsIDAsIHsweDA4LDB4YjIsMHgwMiwweDZjLDB4NDAsMHg5YiwweDAwLDB4MjgsMHhjMCwweDQ4LDB4YjAsMHgxNiwweDI5LDB4MDQsMHhiOSwweDAxIH0gfSwKLXsgIDE2LCAweGFjNDAsIDAsIHsweDIyLDB4YzAsMHg0OSwweGIwLDB4MDYsMHhhZSwweDA5LDB4OGIsMHg4MCwweDIyLDB4ZTAsMHg0OCwweGIwLDB4MDIsMHgyMCwweDAwIH0gfSwKLXsgIDE2LCAweGFjNTAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA0LDB4MDAsMHgwMiwweDgyLDB4MDAsMHgyMiwweGMwIH0gfSwKLXsgIDE2LCAweGFjNjAsIDAsIHsweDg4LDB4YjAsMHgwMiwweDQ0LDB4MDAsMHg4MywweDAwLDB4MjgsMHhjMCwweDA4LDB4MzAsMHgwMiwweDA4LDB4MDAsMHhiMSwweDAwIH0gfSwKLXsgIDE2LCAweGFjNzAsIDAsIHsweDIwLDB4YzAsMHgwYiwweDMwLDB4MDIsMHg4YywweDAwLDB4ODMsMHg4MCwweDIwLDB4ZTAsMHgwOCwweDMwLDB4MGEsMHgwMiwweDAxIH0gfSwKLXsgIDE2LCAweGFjODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4NjQsMHgwMCwweGNhLDB4MDAsMHgzMywweGMwIH0gfSwKLXsgIDE2LCAweGFjOTAsIDAsIHsweDBjLDB4YjIsMHgwMywweDJjLDB4MDAsMHhkZiwweDAwLDB4M2IsMHhjMCwweDRjLDB4ZjUsMHgxMywweDJjLDB4MDQsMHhlZiwweDAwIH0gfSwKLXsgIDE2LCAweGFjYTAsIDAsIHsweGEzLDB4YzAsMHgwZCwweGYwLDB4MDMsMHhhOCwweDQwLDB4Y2IsMHgwMCwweGIyLDB4MDAsMHgyYywweGIwLDB4MDMsMHgwMCwweDAzIH0gfSwKLXsgIDE2LCAweGFjYjAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDFkLDB4ZjAsMHgwMCwweGY0LDB4MDAsMHgzZiwweGMwIH0gfSwKLXsgIDE2LCAweGFjYzAsIDAsIHsweDBmLDB4YjEsMHgwMywweGYwLDB4MDAsMHhmZiwweDAwLDB4MzcsMHhjMCwweDBmLDB4ZjAsMHgwMywweGZjLDB4MDAsMHhmZiwweDAwIH0gfSwKLXsgIDE2LCAweGFjZDAsIDAsIHsweDNmLDB4YzAsMHgwNywweGYwLDB4MGIsMHg3YywweDA4LDB4ZmYsMHgwMSwweDNmLDB4MDAsMHgwZiwweGYwLDB4MDMsMHhhOCwweDA2IH0gfSwKLXsgIDE2LCAweGFjZTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZjAsMHhjNSwweGVkLDB4MzMsMHgzYiwweGNjIH0gfSwKLXsgIDE2LCAweGFjZjAsIDAsIHsweDBjLDB4ZjAsMHgwMywweDMwLDB4NDAsMHhmZiwweDI1LDB4M2YsMHhjYywweDBjLDB4ZjMsMHg4MywweDNjLDB4ZDAsMHhkZiwweDQ4IH0gfSwKLXsgIDE2LCAweGFkMDAsIDAsIHsweDM3LDB4MzAsMHg0YywweGYzLDB4MDMsMHhmZCwweDgwLDB4Y2YsMHgyOCwweDMzLDB4ZDgsMHgwYywweGYxLDB4MDMsMHgzMCwweDAwIH0gfSwKLXsgIDE2LCAweGFkMTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDEwLDB4ZWMsMHhkMCwweGJiLDB4MzEsMHgyMCwweGNjIH0gfSwKLXsgIDE2LCAweGFkMjAsIDAsIHsweDg4LDB4ZjMsMHg0MiwweDIwLDB4NTAsMHhiZiwweDkwLDB4MmYsMHhjNCwweDBhLDB4ZjYsMHgwMiwweDdkLDB4YzAsMHg4ZiwweDQwIH0gfSwKLXsgIDE2LCAweGFkMzAsIDAsIHsweDI2LDB4NDAsMHg4ZiwweGY2LDB4MDIsMHhmZCwweDAwLDB4ZmYsMHgwOCwweDM5LDB4YzgsMHgwOCwweGY2LDB4MDIsMHhhMCwweDA0IH0gfSwKLXsgIDE2LCAweGFkNDAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4YzQsMHg4MCwweGExLDB4MjAsMHgyOCwweGM5IH0gfSwKLXsgIDE2LCAweGFkNTAsIDAsIHsweDA4LDB4MzAsMHg5YSwweDAwLDB4MDksMHhiMywweDAwLDB4MmMsMHhjMCwweDIwLDB4MzAsMHgwMiwweDRjLDB4OTAsMHg4MywweDIwIH0gfSwKLXsgIDE2LCAweGFkNjAsIDAsIHsweDAyLDB4MDgsMHgwYiwweDMzLDB4MTIsMHhjZCwweDgwLDB4OTMsMHgyMCwweDI0LDB4ZDgsMHgwOCwweDM0LDB4MjIsMHgyMiwweDAxIH0gfSwKLXsgIDE2LCAweGFkNzAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDExLDB4YWUsMHgwMCwweGJiLDB4MTAsMHgyMiwweGMwIH0gfSwKLXsgIDE2LCAweGFkODAsIDAsIHsweDA4LDB4YjAsMHgwMiwweDI2LDB4MDEsMHgzYiwweDAxLDB4NmUsMHhjMCwweDA4LDB4YjAsMHgwMiwweDRjLDB4MDgsMHg4YiwweDAwIH0gfSwKLXsgIDE2LCAweGFkOTAsIDAsIHsweGEyLDB4ODksMHgwYiwweGIwLDB4MDIsMHhlYywweDAwLDB4YWIsMHgwMCwweDZhLDB4YzEsMHgyOCwweGIwLDB4MDIsMHhiMCwweDA0IH0gfSwKLXsgIDE2LCAweGFkYTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDE1LDB4NmUsMHgwMCwweGU4LDB4YzEsMHgzYSwweGMwIH0gfSwKLXsgIDE2LCAweGFkYjAsIDAsIHsweDJjLDB4YjAsMHg0MywweDI2LDB4MDAsMHhmYiwweDA2LDB4M2UsMHhjMSwweDBjLDB4YjAsMHgwYiwweDJjLDB4MDIsMHhjYiwweDAwIH0gfSwKLXsgIDE2LCAweGFkYzAsIDAsIHsweDM0LDB4MjIsMHg5ZiwweGIwLDB4NDMsMHhlYywweDAwLDB4OWIsMHgwMiwweDM2LDB4YzEsMHg4YywweGIwLDB4MDMsMHgxMCwweDA0IH0gfSwKLXsgIDE2LCAweGFkZDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDAxLDB4YmMsMHgwMCwweGZjLDB4ODAsMHgzZCwweGQwIH0gfSwKLXsgIDE2LCAweGFkZTAsIDAsIHsweDJmLDB4ZjAsMHgwMywweGZjLDB4MDAsMHhmYiwweDAwLDB4M2QsMHhjMCwweDA3LDB4MzAsMHgwMywweGJjLDB4MDAsMHhlZiwweDA0IH0gfSwKLXsgIDE2LCAweGFkZjAsIDAsIHsweDNmLDB4ZTAsMHg1ZSwweGIwLDB4MDEsMHhmYywweDAwLDB4ZmYsMHgwMCwweDFiLDB4YzAsMHgwZiwweGYwLDB4MDMsMHhmOCwweDAwIH0gfSwKLXsgIDE2LCAweGFlMDAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YWMsMHgwMCwweGNiLDB4MDEsMHgzZSwweGM5IH0gfSwKLXsgIDE2LCAweGFlMTAsIDAsIHsweDBjLDB4YjAsMHgxNywweDIwLDB4ODQsMHhlYiwweDAwLDB4YjIsMHhjMSwweDBkLDB4YjAsMHgwMywweDZjLDB4MDAsMHhjMywweDAwIH0gfSwKLXsgIDE2LCAweGFlMjAsIDAsIHsweDMyLDB4NTAsMHgwZiwweGIwLDB4MDMsMHgwYywweDQwLDB4YzMsMHgwMCwweDdlLDB4YzAsMHgwYywweDMwLDB4MDMsMHgxMCwweDA0IH0gfSwKLXsgIDE2LCAweGFlMzAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjOCwweDA1LDB4MmMsMHgwMCwweDhhLDB4NTgsMHgyZSwweGUwIH0gfSwKLXsgIDE2LCAweGFlNDAsIDAsIHsweDQ4LDB4ZjAsMHgwMiwweDJkLDB4MDAsMHhlZiwweDAxLDB4MjMsMHhjMCwweDA4LDB4ZjAsMHgyMiwweDNjLDB4MDQsMHg4ZiwweDYwIH0gfSwKLXsgIDE2LCAweGFlNTAsIDAsIHsweDM2LDB4NTQsMHgwYiwweGYwLDB4MGEsMHgzZCwweDQwLDB4OGYsMHgwMCwweDJmLDB4YzAsMHgwOCwweGYwLDB4MDMsMHg3MiwweDAwIH0gfSwKLXsgIDE2LCAweGFlNjAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NDAsMHgwMCwweDg5LDB4ODAsMHgyYywweDEwIH0gfSwKLXsgIDE2LCAweGFlNzAsIDAsIHsweDA4LDB4YjAsMHgwMiwweDQ5LDB4MDAsMHhhMywweGEwLDB4MjQsMHhjMCwweDA5LDB4MzAsMHgwMiwweDRjLDB4MDAsMHg4MywweGM5IH0gfSwKLXsgIDE2LCAweGFlODAsIDAsIHsweDIwLDB4OTAsMHg0MiwweDMwLDB4MTIsMHg0ZCwweDAwLDB4ODMsMHgwMCwweDZhLDB4YzAsMHgwOSwweDMwLDB4MDIsMHgzOCwweDAwIH0gfSwKLXsgIDE2LCAweGFlOTAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMCwweDAxLDB4MTYsMHgwMCwweDg1LDB4ODAsMHg2ZCwweDYyIH0gfSwKLXsgIDE2LCAweGFlYTAsIDAsIHsweDA4LDB4N2UsMHgwMiwweDU2LDB4NDAsMHgyNywweDgwLDB4MjUsMHhlMCwweDE5LDB4NzgsMHgwNiwweDBlLDB4MDAsMHg4MywweDgwIH0gfSwKLXsgIDE2LCAweGFlYjAsIDAsIHsweDYxLDB4YTAsMHgwYiwweDc4LDB4MDIsMHg0ZSwweDAwLDB4ODcsMHg4MiwweDZkLDB4ZTAsMHgwOSwweDc5LDB4MDIsMHg0OCwweDAwIH0gfSwKLXsgIDE2LCAweGFlYzAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MmMsMHgwMiwweGMzLDB4NjEsMHgzYywweDg4IH0gfSwKLXsgIDE2LCAweGFlZDAsIDAsIHsweDJjLDB4YmEsMHgxMiwweDQ5LDB4MTAsMHhlMywweDJjLDB4MzYsMHhjMCwweDBkLDB4MzAsMHg1MywweDRjLDB4NDQsMHhjMywweDAwIH0gfSwKLXsgIDE2LCAweGFlZTAsIDAsIHsweDIwLDB4MDEsMHgwZiwweDMxLDB4MDMsMHg0YywweDAwLDB4YzMsMHgwMSwweDNjLDB4YzAsMHgyZCwweGIxLDB4MDMsMHgxMiwweDAyIH0gfSwKLXsgIDE2LCAweGFlZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDFkLDB4YmMsMHgwMCwweGZmLDB4MDAsMHgzZiwweDAwIH0gfSwKLXsgIDE2LCAweGFmMDAsIDAsIHsweDRmLDB4ZjEsMHgwOSwweGIwLDB4MDAsMHhmZiwweDAwLDB4M2IsMHhjMCwweDBlLDB4ZjQsMHgwMSwweGZkLDB4MjQsMHhmZiwweDQwIH0gfSwKLXsgIDE2LCAweGFmMTAsIDAsIHsweGJmLDB4YzAsMHgwNywweGYwLDB4MDMsMHhiYywweDAwLDB4NmYsMHgxMCwweDNmLDB4YzQsMHgxZSwweGYxLDB4ODMsMHhkMCwweDA2IH0gfSwKLXsgIDE2LCAweGFmMjAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4YzQsMHgwMCwweGU4LDB4MDQsMHgzMiwweDAwIH0gfSwKLXsgIDE2LCAweGFmMzAsIDAsIHsweDBjLDB4YjYsMHgwMywweGU4LDB4MDIsMHhjYiwweDAwLDB4MzYsMHhjYSwweDBmLDB4YjUsMHgwMywweGFkLDB4MDAsMHhmYiwweDIwIH0gfSwKLXsgIDE2LCAweGFmNDAsIDAsIHsweDNlLDB4NDAsMHgwZiwweGIzLDB4MDMsMHhlYywweDgwLDB4ZmIsMHhhOCwweDMyLDB4YzYsMHg4YywweGI2LDB4MDMsMHgyYSwweDAwIH0gfSwKLXsgIDE2LCAweGFmNTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDExLDB4OTQsMHgwMiwweGU2LDB4MDAsMHgyMCwweDAwIH0gfSwKLXsgIDE2LCAweGFmNjAsIDAsIHsweDA4LDB4NzMsMHgwMiwweGRjLDB4MDAsMHg4NywweDcwLDB4MmQsMHhkMCwweDBiLDB4ZjAsMHgwMiwweDFjLDB4ODQsMHhiNywweDIwIH0gfSwKLXsgIDE2LCAweGFmNzAsIDAsIHsweDJkLDB4YzAsMHgwYiwweDcwLDB4ODIsMHhkZCwweDI0LDB4YjcsMHg0MCwweDM0LDB4YzksMHgyOCwweDcyLDB4ODIsMHg5MiwweDA0IH0gfSwKLXsgIDE2LCAweGFmODAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4YmUsMHgwMiwweGFjLDB4ODAsMHhhMSwweDIwIH0gfSwKLXsgIDE2LCAweGFmOTAsIDAsIHsweDA4LDB4NzksMHgwMCwweGNlLDB4MDQsMHg4NywweDgwLDB4NjUsMHhlMCwweDBiLDB4N2EsMHgwMiwweDllLDB4MDAsMHhiNywweDkwIH0gfSwKLXsgIDE2LCAweGFmYTAsIDAsIHsweDZkLDB4YTAsMHgwYiwweDc4LDB4MDIsMHhkZSwweDAwLDB4YjcsMHg4MCwweDIxLDB4ZTAsMHgwOCwweDc4LDB4MDIsMHgzMCwweDAwIH0gfSwKLXsgIDE2LCAweGFmYjAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDE0LDB4ZWQsMHg4MiwweGFiLDB4ZTAsMHgyMCwweGU0IH0gfSwKLXsgIDE2LCAweGFmYzAsIDAsIHsweDA4LDB4MzAsMHgwMiwweGVlLDB4MDQsMHg4MywweDAwLDB4MmMsMHhjMSwweDFiLDB4MzAsMHgwMiwweDBjLDB4MDgsMHhiMywweDAwIH0gfSwKLXsgIDE2LCAweGFmZDAsIDAsIHsweDY0LDB4ZjYsMHgwYiwweGIwLDB4MDIsMHhjYywweDA0LDB4YjMsMHgwMCwweDI2LDB4YzAsMHgwOCwweDMwLDB4MDIsMHg5MiwweDA0IH0gfSwKLXsgIDE2LCAweGFmZTAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YmIsMHg4MCwweGVlLDB4NDksMHgzMSwweGEwIH0gfSwKLXsgIDE2LCAweGFmZjAsIDAsIHsweDJjLDB4YTAsMHgwMywweGZhLDB4MDAsMHhjYSwweDAyLDB4MzYsMHg4MCwweDBmLDB4YTAsMHgwMywweGE4LDB4MDAsMHhmYSwweDAyIH0gfSwKLXsgIDE2LCAweGIwMDAsIDAsIHsweDNmLDB4OTAsMHgwZiwweGEwLDB4NjMsMHhlOCwweDAwLDB4ZmEsMHgwMCwweDMyLDB4ODAsMHgwYywweGEwLDB4MjMsMHgzYSwweDA0IH0gfSwKLXsgIDE2LCAweGIwMTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDAwLDB4ZTAsMHgwYSwweGU4LDB4MDAsMHgzZSwweDA4IH0gfSwKLXsgIDE2LCAweGIwMjAsIDAsIHsweDBmLDB4ODAsMHgwMywweGUzLDB4NTAsMHhmMCwweDAwLDB4M2UsMHgwMCwweDBmLDB4ODAsMHgxMywweGUwLDB4MDAsMHhmOCwweDAwIH0gfSwKLXsgIDE2LCAweGIwMzAsIDAsIHsweDNlLDB4MDAsMHgwZiwweDgwLDB4MDMsMHhlMCwweDAxLDB4ZjgsMHgwMSwweDdlLDB4MDAsMHgwZiwweDgwLDB4MDMsMHhkMiwweDAwIH0gfSwKLXsgIDE2LCAweGIwNDAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTQsMHg0MCwweGM5LDB4YTEsMHgzMiwweDQwIH0gfSwKLXsgIDE2LCAweGIwNTAsIDAsIHsweDIwLDB4MTEsMHgwMSwweGE2LDB4NDAsMHhjOSwweDg0LDB4MzYsMHg0MCwweDBkLDB4OTAsMHgwMywweDQ0LDB4MDAsMHg0MSwweDAwIH0gfSwKLXsgIDE2LCAweGIwNjAsIDAsIHsweDMyLDB4NDAsMHgwZiwweDkwLDB4MGIsMHgyNCwweDAwLDB4ZjksMHgwMCwweDNlLDB4NDAsMHg0YywweDEwLDB4MDMsMHgwMiwweDA0IH0gfSwKLXsgIDE2LCAweGIwNzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA0LDB4NjQsMHgwMCwweDg5LDB4ODIsMHhhMiwweDQwIH0gfSwKLXsgIDE2LCAweGIwODAsIDAsIHsweDA4LDB4OWMsMHgwMiwweDI1LDB4MDAsMHg4OSwweGM4LDB4MjIsMHg0MCwweDA4LDB4OTAsMHg0MiwweDI0LDB4MDAsMHg4OSwweDIwIH0gfSwKLXsgIDE2LCAweGIwOTAsIDAsIHsweDIyLDB4NjAsMHgwYiwweDkwLDB4MDIsMHgyNCwweDEwLDB4YjksMHgwMCwweDJlLDB4NDAsMHgwOCwweDkwLDB4MDMsMHg2MCwweDAwIH0gfSwKLXsgIDE2LCAweGIwYTAsIDAsIHsweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4MjQsMHgwMCwweDg5LDB4MDQsMHgyMiwweGNhIH0gfSwKLXsgIDE2LCAweGIwYjAsIDAsIHsweDBhLDB4OTAsMHgwYSwweDI1LDB4MDIsMHg4OSwweDIwLDB4MjAsMHg0MCwweDI4LDB4MTAsMHgwMiwweDY0LDB4MDEsMHhhOSwweDAwIH0gfSwKLXsgIDE2LCAweGIwYzAsIDAsIHsweDIyLDB4NGIsMHgwYiwweDkwLDB4MDIsMHgyNCwweDAxLDB4YjksMHgwMCwweDJlLDB4NDEsMHgyOCwweDkwLDB4MDIsMHgwNiwweDAwIH0gfSwKLXsgIDE2LCAweGIwZDAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA0LDB4MDQsMHg5MCwweDgxLDB4YTAsMHgyMCwweDQ4IH0gfSwKLXsgIDE2LCAweGIwZTAsIDAsIHsweDBhLDB4MzIsMHgwMiwweDA0LDB4ODAsMHg4MSwweDAwLDB4MjAsMHg0NCwweDA4LDB4MTEsMHgwMiwweDA0LDB4ZDAsMHhhMSwweDIwIH0gfSwKLXsgIDE2LCAweGIwZjAsIDAsIHsweDIwLDB4NDAsMHgwYiwweDExLDB4MDIsMHgwNiwweDAwLDB4YjEsMHgzMSwweDJjLDB4NDgsMHgwOCwweDE0LDB4MDIsMHg0MiwweDAxIH0gfSwKLXsgIDE2LCAweGIxMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjEsMHg0MiwweGM4LDB4NTQsMHgzMiwweDE0IH0gfSwKLXsgIDE2LCAweGIxMTAsIDAsIHsweDBlLDB4ODUsMHgwMywweDIxLDB4NDQsMHhjOCwweDI4LDB4YjIsMHgxYSwweDRjLDB4ODYsMHg5MywweDYxLDB4MTQsMHhlOCwweDUwIH0gfSwKLXsgIDE2LCAweGIxMjAsIDAsIHsweDIyLDB4MTQsMHgwZiwweDg2LDB4ODMsMHgyMSwweDQwLDB4ZjAsMHg0MCwweDFlLDB4MTQsMHgwYywweDAwLDB4MDMsMHgyZSwweDAzIH0gfSwKLXsgIDE2LCAweGIxMzAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5OCwweDFkLDB4NzQsMHg0NCwweGY1LDB4MTAsMHgzZiwweDQ0IH0gfSwKLXsgIDE2LCAweGIxNDAsIDAsIHsweDBkLDB4OTEsMHgwMywweDc0LDB4NDAsMHhmOSwweDAwLDB4M2UsMHg0OCwweDBiLDB4OTIsMHgwMywweGU0LDB4YzIsMHhkOSwweDEwIH0gfSwKLXsgIDE2LCAweGIxNTAsIDAsIHsweGJmLDB4NDAsMHgwZiwweDkyLDB4MDMsMHhlNSwweDA0LDB4ZjksMHgzMCwweDNlLDB4NDQsMHgwZiwweDk0LDB4NDMsMHhlNiwweDA2IH0gfSwKLXsgIDE2LCAweGIxNjAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4ZjYsMHgyMiwweGNkLDB4YTEsMHgzMywweDYxIH0gfSwKLXsgIDE2LCAweGIxNzAsIDAsIHsweDBjLDB4ZDgsMHhkMywweDM0LDB4MTAsMHhjZCwweGE4LDB4M2UsMHg2MCwweDhlLDB4OWMsMHg5MywweGE3LDB4MDgsMHhjZCwweDgwIH0gfSwKLXsgIDE2LCAweGIxODAsIDAsIHsweDMzLDB4NDAsMHgwZSwweDlhLDB4ZDMsMHgzNiwweGEwLDB4YzksMHg4MCwweDMyLDB4NjAsMHgwYywweDk5LDB4MDMsMHgwNiwweDAwIH0gfSwKLXsgIDE2LCAweGIxOTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzOCwweDEwLDB4ZTMsMHg4OCwweDhhLDB4YTAsMHgyMCwweDI4IH0gfSwKLXsgIDE2LCAweGIxYTAsIDAsIHsweDA4LDB4ODAsMHgyMiwweDIwLDB4MTIsMHg4OCwweDQwLDB4MmMsMHgyOCwweDA4LDB4OGEsMHgwMiwweDIyLDB4MDAsMHg4OCwweDAwIH0gfSwKLXsgIDE2LCAweGIxYjAsIDAsIHsweDIyLDB4MDAsMHgwYiwweDhjLDB4MDMsMHgyMSwweDAwLDB4ODgsMHhkMCwweGEyLDB4M2UsMHgyOCwweDhkLDB4MDIsMHgwZSwweDA0IH0gfSwKLXsgIDE2LCAweGIxYzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4Y2UsMHgyMCwweGExLDB4NDgsMHgyMCwweDUyIH0gfSwKLXsgIDE2LCAweGIxZDAsIDAsIHsweDI5LDB4MTAsMHgwMiwweDI0LDB4MDMsMHg4MSwweDAwLDB4MmMsMHg1MiwweDBhLDB4MTAsMHgxMiwweDg1LDB4MTAsMHg5MSwweDQwIH0gfSwKLXsgIDE2LCAweGIxZTAsIDAsIHsweGE0LDB4NDAsMHgwYSwweDEyLDB4ODIsMHg0NCwweDAwLDB4OTEsMHgyOCwweDI0LDB4NDAsMHgyOCwweDEyLDB4MDIsMHgwMiwweDAxIH0gfSwKLXsgIDE2LCAweGIxZjAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDE1LDB4YTQsMHgwMCwweGE5LDB4MTQsMHgyMiwweDQwIH0gfSwKLXsgIDE2LCAweGIyMDAsIDAsIHsweDA5LDB4OTAsMHgwMiwweGE0LDB4MDEsMHg4OSwweDA0LDB4MmMsMHg0MCwweDA4LDB4OTAsMHgwMiwweDI0LDB4MDAsMHg5OSwweDAwIH0gfSwKLXsgIDE2LCAweGIyMTAsIDAsIHsweDIyLDB4NDQsMHg0YiwweDEwLDB4NDIsMHgyNCwweDE0LDB4OTksMHgwMCwweDI2LDB4NDAsMHgwOCwweDEwLDB4MDIsMHgwNiwweDA0IH0gfSwKLXsgIDE2LCAweGIyMjAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4ZTQsMHg0MCwweGU5LDB4NDAsMHhiMiwweDc4IH0gfSwKLXsgIDE2LCAweGIyMzAsIDAsIHsweDBkLDB4OTAsMHgwYiwweDI0LDB4MjIsMHhjOSwweDAzLDB4M2UsMHg0MSwweDBlLDB4OTAsMHgwMywweGE0LDB4MDIsMHhkOSwweDAwIH0gfSwKLXsgIDE2LCAweGIyNDAsIDAsIHsweDE2LDB4NTgsMHgwNiwweDkwLDB4MGIsMHg2NCwweDAyLDB4ZDksMHgwMCwweDM2LDB4NDAsMHgwYywweDkwLDB4MGIsMHgyOCwweDA0IH0gfSwKLXsgIDE2LCAweGIyNTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDAxLDB4ODQsMHgwMCwweGQ5LDB4ODAsMHgzZSwweDRhIH0gfSwKLXsgIDE2LCAweGIyNjAsIDAsIHsweDBlLDB4OTAsMHgwMywweDY0LDB4MjAsMHhmOSwweDA4LDB4M2UsMHg0MSwweDBmLDB4OTAsMHgwMywweGU0LDB4MDAsMHhlMSwweDA4IH0gfSwKLXsgIDE2LCAweGIyNzAsIDAsIHsweDNlLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhjNCwweDAwLDB4ZTEsMHgwMCwweDM4LDB4NDAsMHgwZiwweDkwLDB4MDMsMHhjYSwweDAwIH0gfSwKLXsgIDE2LCAweGIyODAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTAsMHgwOSwweGYwLDB4NDAsMHhiMCwweDEwIH0gfSwKLXsgIDE2LCAweGIyOTAsIDAsIHsweDRjLDB4MDAsMHgwYiwweDIwLDB4MDAsMHhmOCwweDAwLDB4M2EsMHgwMCwweDFjLDB4MDAsMHgwMywweGUwLDB4MDAsMHhjOCwweDAwIH0gfSwKLXsgIDE2LCAweGIyYTAsIDAsIHsweDM2LDB4MDAsMHgwYywweDgwLDB4MDMsMHgyMCwweDAwLDB4YzgsMHgwMCwweDMyLDB4MDAsMHgwZiwweDgwLDB4MDMsMHgwYSwweDA0IH0gfSwKLXsgIDE2LCAweGIyYjAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4MjgsMHgwMCwweDNlLDB4ODgsMHgyMywweGEyIH0gfSwKLXsgIDE2LCAweGIyYzAsIDAsIHsweDQ4LDB4ZTAsMHgwMCwweDE5LDB4ODAsMHhiZSwweDg4LDB4MmUsMHg4MCwweDBkLDB4YTAsMHg0MiwweGU4LDB4MDAsMHg4ZSwweDAwIH0gfSwKLXsgIDE2LCAweGIyZDAsIDAsIHsweDIzLDB4OTAsMHgwOCwweGEwLDB4MGEsMHgzYSwweDAwLDB4ZGEsMHgwMCwweDM2LDB4ODAsMHgwYiwweGEwLDB4MGEsMHgwYSwweDAwIH0gfSwKLXsgIDE2LCAweGIyZTAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NGMsMHgwMCwweGIzLDB4ODAsMHgyMCwweGUwIH0gfSwKLXsgIDE2LCAweGIyZjAsIDAsIHsweDI4LDB4MzAsMHhjMiwweDBmLDB4MTAsMHhiMywweDQwLDB4MjgsMHhjMCwweDBiLDB4MzAsMHgwMiwweGVjLDB4MTEsMHg4MywweDQwIH0gfSwKLXsgIDE2LCAweGIzMDAsIDAsIHsweDI4LDB4ZDIsMHgwYSwweDMwLDB4MDIsMHgwYywweGMwLDB4ODMsMHgwMCwweDIwLDB4YzAsMHgwYiwweDMwLDB4MDIsMHgwYSwweDAwIH0gfSwKLXsgIDE2LCAweGIzMTAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDAxLDB4MWMsMHgwMCwweGI2LDB4MDAsMHgyMSwweGMwIH0gfSwKLXsgIDE2LCAweGIzMjAsIDAsIHsweDA4LDB4MjAsMHhjMiwweDFjLDB4MTAsMHhiNSwweDAwLDB4MmQsMHhjOCwweDBhLDB4NzIsMHgwMiwweGRjLDB4NDAsMHg4NSwweDA4IH0gfSwKLXsgIDE2LCAweGIzMzAsIDAsIHsweDI5LDB4YTIsMHgxYSwweDcyLDB4MjIsMHgwYywweDAwLDB4OTMsMHgzMCwweDA1LDB4YzQsMHgwYiwweDMyLDB4MjIsMHgyOCwweDAwIH0gfSwKLXsgIDE2LCAweGIzNDAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MTYsMHgwMCwweGIyLDB4ODAsMHgzMSwweDIwIH0gfSwKLXsgIDE2LCAweGIzNTAsIDAsIHsweDBjLDB4NTgsMHgwMywweDFlLDB4MDAsMHhmNywweDgwLDB4MzksMHhmOCwweDBiLDB4N2MsMHgyMiwweGNlLDB4NDAsMHhjZiwweDgwIH0gfSwKLXsgIDE2LCAweGIzNjAsIDAsIHsweDliLDB4NjAsMHgyZSwweDNiLDB4MDMsMHgxYSwweDAwLDB4YzcsMHhhOCwweDExLDB4ZTAsMHgwZiwweDc4LDB4MDMsMHgyYSwweDAyIH0gfSwKLXsgIDE2LCAweGIzNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDFkLDB4YTQsMHgwMCwweGZhLDB4MDAsMHgzZSwweGMwIH0gfSwKLXsgIDE2LCAweGIzODAsIDAsIHsweDBmLDB4OTAsMHgyMywweGU4LDB4MDAsMHhmYiwweDAwLDB4M2UsMHhkMCwweDJkLDB4YjYsMHgwMywweGVkLDB4MDIsMHhmOSwweDAwIH0gfSwKLXsgIDE2LCAweGIzOTAsIDAsIHsweDMyLDB4NDAsMHgwZCwweGIwLDB4MDcsMHhlYywweDAwLDB4ZmIsMHg2MCwweDNlLDB4YzgsMHgwZiwweGI1LDB4MDMsMHhjMiwweDA2IH0gfSwKLXsgIDE2LCAweGIzYTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZmUsMHgwMCwweGZmLDB4ODAsMHgzMywweGEwIH0gfSwKLXsgIDE2LCAweGIzYjAsIDAsIHsweDBjLDB4ZjgsMHgwYiwweDMyLDB4NDAsMHhjZSwweDgxLDB4MzcsMHhmMCwweDBjLDB4YmMsMHgwMywweGZlLDB4MDAsMHhmZiwweDg0IH0gfSwKLXsgIDE2LCAweGIzYzAsIDAsIHsweDMzLDB4ZTAsMHgyYywweGY4LDB4ODMsMHhlNiwweDAyLDB4Y2YsMHg4NSwweDMzLDB4ZjAsMHgwYywweGZjLDB4MDMsMHgwMCwweDE0IH0gfSwKLXsgIDE2LCAweGIzZDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDExLDB4OWMsMHgwMCwweGJlLDB4MDAsMHgzNSwweGM2IH0gfSwKLXsgIDE2LCAweGIzZTAsIDAsIHsweDI4LDB4MzAsMHgwMiwweDMwLDB4NDAsMHg4NywweDAwLDB4MjMsMHhjMCwweDA4LDB4N2EsMHgwMiwweGRjLDB4MDAsMHhiZSwweDAwIH0gfSwKLXsgIDE2LCAweGIzZjAsIDAsIHsweDIzLDB4YzAsMHgwOCwweDcwLDB4MTIsMHhmZSwweDAwLDB4ODcsMHgwMCwweDIxLDB4YzAsMHgwOCwweGYwLDB4MDIsMHgyYSwweDA0IH0gfSwKLXsgIDE2LCAweGI0MDAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OTUsMHgyMCwweGI2LDB4MDAsMHgyMCwweDgwIH0gfSwKLXsgIDE2LCAweGI0MTAsIDAsIHsweDA4LDB4MzEsMHgwMiwweDVjLDB4MDEsMHg4NywweDAwLDB4MjUsMHhjMCwweDA4LDB4NzIsMHgwMiwweGRjLDB4MDAsMHhiNiwweDAwIH0gfSwKLXsgIDE2LCAweGI0MjAsIDAsIHsweDIxLDB4ZDAsMHgwOSwweDcwLDB4MDIsMHhkNCwweDA4LDB4OTMsMHgwMCwweDIwLDB4YzAsMHgwOCwweDcwLDB4MDIsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGI0MzAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMCwweDE0LDB4YzQsMHgwMCwweGIwLDB4ZTAsMHgyNCwweDYwIH0gfSwKLXsgIDE2LCAweGI0NDAsIDAsIHsweDA4LDB4MjAsMHgwNiwweDQ4LDB4MDEsMHg4MCwweDAwLDB4MjAsMHhjMCwweDA4LDB4MzAsMHgwMiwweGNjLDB4MDQsMHhiMywweDAwIH0gfSwKLXsgIDE2LCAweGI0NTAsIDAsIHsweDIwLDB4ODQsMHgwYiwweDMwLDB4MDIsMHhlOCwweDAwLDB4OWIsMHgwMCwweDIwLDB4YzAsMHgwOCwweDMwLDB4MDIsMHgwOCwweDA0IH0gfSwKLXsgIDE2LCAweGI0NjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YWMsMHgwMCwweGI5LDB4ZTAsMHgzMiwweDgwIH0gfSwKLXsgIDE2LCAweGI0NzAsIDAsIHsweDZjLDB4YjAsMHgyMywweDZmLDB4MDAsMHhjMywweDAwLDB4MzcsMHhjMSwweDNjLDB4ZjAsMHgwMywweGZjLDB4MDAsMHhmYSwweDAwIH0gfSwKLXsgIDE2LCAweGI0ODAsIDAsIHsweGIwLDB4YzAsMHgwOSwweGYwLDB4MDMsMHhlYywweDEwLDB4ZGYsMHgwMCwweDczLDB4YzAsMHgwYywweGYwLDB4MGIsMHgyYSwweDAwIH0gfSwKLXsgIDE2LCAweGI0OTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDAwLDB4ZWMsMHgxMCwweGY4LDB4MDAsMHgzZSwweDQyIH0gfSwKLXsgIDE2LCAweGI0YTAsIDAsIHsweDBmLDB4MjQsMHgwMywweGE4LDB4NjAsMHhmOCwweDAwLDB4M2MsMHhjMSwweDBmLDB4YjAsMHgwMywweGVjLDB4MDAsMHhmOSwweDQwIH0gfSwKLXsgIDE2LCAweGI0YjAsIDAsIHsweDNlLDB4ODAsMHgwNCwweGIwLDB4MjMsMHhlMSwweDAwLDB4ZWIsMHgwMCwweDNlLDB4YzAsMHgwZiwweGIwLDB4MDMsMHhlMCwweDAwIH0gfSwKLXsgIDE2LCAweGI0YzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZjQsMHgwMCwweGVlLDB4MDAsMHgzZCwweDMwIH0gfSwKLXsgIDE2LCAweGI0ZDAsIDAsIHsweDBjLDB4YzAsMHgwMywweDE0LDB4MDAsMHhjYywweGEwLDB4YjMsMHhjMCwweDRjLDB4NzAsMHgwMywweDVjLDB4MTAsMHhkZiwweDAwIH0gfSwKLXsgIDE2LCAweGI0ZTAsIDAsIHsweDNmLDB4MDAsMHgwYywweGYwLDB4MDMsMHhmOCwweDAwLDB4Y2YsMHgwMCwweDIzLDB4YzAsMHgwYywweGYwLDB4MDMsMHgwMCwweDQwIH0gfSwKLXsgIDE2LCAweGI0ZjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MSwweDA0LDB4NjQsMHgwMCwweGJhLDB4ODEsMHgyZSwweDU4IH0gfSwKLXsgIDE2LCAweGI1MDAsIDAsIHsweDA4LDB4ODgsMHgwMiwweDI3LDB4ODAsMHg4OSwweDIwLDB4MjIsMHhjMCwweDI4LDB4YjAsMHgwMiwweDJjLDB4MDAsMHg4OCwweDgzIH0gfSwKLXsgIDE2LCAweGI1MTAsIDAsIHsweDJlLDB4MjAsMHgwNSwweGIwLDB4NjIsMHhlMywweDAwLDB4OGIsMHgwMCwweDJhLDB4YzAsMHgwOCwweGIwLDB4MDMsMHg2MCwweDQwIH0gfSwKLXsgIDE2LCAweGI1MjAsIDAsIHsweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MjYsMHgwMCwweGI5LDB4ODEsMHgyZSwweDQwIH0gfSwKLXsgIDE2LCAweGI1MzAsIDAsIHsweDA4LDB4OGMsMHgwNiwweDI2LDB4MDAsMHg4OCwweDAwLDB4MjIsMHhjMCwweDA4LDB4YjAsMHgxNiwweDZjLDB4MDAsMHg5OCwweDg4IH0gfSwKLXsgIDE2LCAweGI1NDAsIDAsIHsweDJlLDB4MjAsMHgwOCwweGIwLDB4MDQsMHhlMywweDAxLDB4MGIsMHgwMCwweDI4LDB4YzAsMHgwOCwweDMwLDB4MDIsMHgyMCwweDAwIH0gfSwKLXsgIDE2LCAweGI1NTAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA0LDB4MDQsMHgwMCwweGIwLDB4MDAsMHgyYywweGMwIH0gfSwKLXsgIDE2LCAweGI1NjAsIDAsIHsweDI4LDB4MDAsMHgwZSwweDAwLDB4MTAsMHg4MCwweDAwLDB4MjAsMHhjMCwweDA4LDB4MzIsMHgwMiwweDBjLDB4MDAsMHg4MCwweDA0IH0gfSwKLXsgIDE2LCAweGI1NzAsIDAsIHsweDJlLDB4MjAsMHgwOSwweDMwLDB4MDIsMHhjNCwweDEyLDB4ODMsMHgwMCwweDI4LDB4YzAsMHgwOCwweDMwLDB4MDIsMHg0MiwweDAxIH0gfSwKLXsgIDE2LCAweGI1ODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4NmMsMHgwMCwweGZhLDB4MDAsMHgzZSwweDAwIH0gfSwKLXsgIDE2LCAweGI1OTAsIDAsIHsweDJjLDB4OTEsMHgwMywweDIwLDB4MDAsMHg4YSwweDAwLDB4MzMsMHhjMCwweDBjLDB4ZjAsMHgwMywweDdjLDB4MDAsMHhkOCwweDAwIH0gfSwKLXsgIDE2LCAweGI1YTAsIDAsIHsweDJlLDB4NDAsMHgwYywweGYwLDB4MDMsMHhlMCwweDgwLDB4Y2YsMHgwMCwweDNiLDB4YzAsMHgwYywweGYwLDB4MDMsMHgwMCwweDAzIH0gfSwKLXsgIDE2LCAweGI1YjAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDFkLDB4ZmMsMHgwMCwweGZjLDB4MDEsMHgzZiwweDQwIH0gfSwKLXsgIDE2LCAweGI1YzAsIDAsIHsweDBmLDB4YzAsMHgxMywweGYwLDB4MDAsMHhmNCwweDAwLDB4M2YsMHhjMSwweDBmLDB4ZjQsMHgyMywweGZjLDB4MDgsMHhmYywweDAwIH0gfSwKLXsgIDE2LCAweGI1ZDAsIDAsIHsweDNmLDB4MDAsMHgwZiwweGYwLDB4MDMsMHhmMCwweDQwLDB4ZmYsMHgwMCwweDNmLDB4YzAsMHgwZiwweGYwLDB4MDMsMHhlOCwweDA2IH0gfSwKLXsgIDE2LCAweGI1ZTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZmMsMHgyMCwweGNkLDB4MTAsMHgzOSwweGM4IH0gfSwKLXsgIDE2LCAweGI1ZjAsIDAsIHsweDBkLDB4YzEsMHgwMywweDNjLDB4ODAsMHhlZiwweDkwLDB4MjMsMHhkOCwweDBmLDB4ZjgsMHgwMCwweGZlLDB4MDAsMHhjZiwweDgwIH0gfSwKLXsgIDE2LCAweGI2MDAsIDAsIHsweDFmLDB4ZDAsMHgwZiwweGY5LDB4MDMsMHhmZiwweDAwLDB4ZTcsMHhjMCwweDMzLDB4YzQsMHgwZiwweGYwLDB4MDMsMHhiMCwweDAwIH0gfSwKLXsgIDE2LCAweGI2MTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDEwLDB4ZmUsMHgwMiwweDg5LDB4NDAsMHgyMywweGYwIH0gfSwKLXsgIDE2LCAweGI2MjAsIDAsIHsweDA4LDB4ODUsMHgxMCwweDNjLDB4MDAsMHg4YiwweDAwLDB4YTMsMHhkYywweDRiLDB4YjIsMHg4MiwweGVjLDB4MjAsMHg4YiwweDAwIH0gfSwKLXsgIDE2LCAweGI2MzAsIDAsIHsweDI2LDB4YzAsMHg0YiwweGIwLDB4MDIsMHhlYywweDEwLDB4YjksMHgwNCwweDJhLDB4YzksMHgwYiwweGI1LDB4ODAsMHhmMCwweDA0IH0gfSwKLXsgIDE2LCAweGI2NDAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjOCwweDA1LDB4Y2MsMHgwMCwweDgxLDB4NjQsMHgyOCwweGM0IH0gfSwKLXsgIDE2LCAweGI2NTAsIDAsIHsweDA5LDB4YjIsMHgwYSwweDBjLDB4ZjAsMHhhMywweDIwLDB4MjAsMHhjOCwweDBiLDB4MzIsMHgwMiwweGVjLDB4MDIsMHg4MywweDA4IH0gfSwKLXsgIDE2LCAweGI2NjAsIDAsIHsweDJjLDB4YzgsMHgwOSwweDMyLDB4MDIsMHhjYywweDgwLDB4YWIsMHhhMCwweDIwLDB4YzgsMHgwYiwweDMyLDB4MDAsMHhiMiwweDAxIH0gfSwKLXsgIDE2LCAweGI2NzAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDE1LDB4YWMsMHgxMCwweDg5LDB4MDAsMHgyMiwweGMwIH0gfSwKLXsgIDE2LCAweGI2ODAsIDAsIHsweDA4LDB4YjIsMHgxMiwweDJjLDB4MDIsMHgwYiwweDAwLDB4MjIsMHhjMCwweDBiLDB4YjgsMHgwMiwweGVjLDB4MDAsMHg4YiwweDAwIH0gfSwKLXsgIDE2LCAweGI2OTAsIDAsIHsweDI2LDB4YzAsMHg0YiwweGIwLDB4NDYsMHhlYywweDAwLDB4YjksMHgwMCwweDBhLDB4YzAsMHgwYiwweGIwLDB4MDIsMHhmMCwweDA0IH0gfSwKLXsgIDE2LCAweGI2YTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhkMCwweDE1LDB4ZWMsMHgxMCwweGM5LDB4ZTAsMHgzYSwweGMwIH0gfSwKLXsgIDE2LCAweGI2YjAsIDAsIHsweDBkLDB4MjgsMHgwMywweDJjLDB4MDAsMHhlYiwweDEwLDB4MzIsMHhjMCwweDBmLDB4ODIsMHgwMywweGM0LDB4MDAsMHhjYiwweDAwIH0gfSwKLXsgIDE2LCAweGI2YzAsIDAsIHsweDNlLDB4YzEsMHgwZiwweGIwLDB4MDYsMHhlYywweDA4LDB4ZTksMHgwMCwweGIyLDB4YzAsMHgwZiwweGIwLDB4MTMsMHg5MCwweDA0IH0gfSwKLXsgIDE2LCAweGI2ZDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDAxLDB4OWMsMHgwMCwweGY1LDB4YTAsMHgzZiwweGMwIH0gfSwKLXsgIDE2LCAweGI2ZTAsIDAsIHsweDBmLDB4ZTgsMHgwMywweGZjLDB4MDgsMHhmZiwweDAwLDB4M2YsMHhjMCwweDhmLDB4YzAsMHgwMywweGZjLDB4MDAsMHhmZiwweDAwIH0gfSwKLXsgIDE2LCAweGI2ZjAsIDAsIHsweDM3LDB4YzAsMHgwZiwweGYwLDB4MDMsMHhmYywweDAwLDB4ZmYsMHgwNCwweDNlLDB4YzAsMHgwZiwweGYwLDB4MDMsMHhmOCwweDAwIH0gfSwKLXsgIDE2LCAweGI3MDAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg1MCwweDEwLDB4YWMsMHgwMCwweGY5LDB4NDAsMHgzNCwweGMwIH0gfSwKLXsgIDE2LCAweGI3MTAsIDAsIHsweDBkLDB4YjQsMHgwMywweDJjLDB4MDAsMHhkYiwweDQwLDB4M2UsMHhjMCwweDJjLDB4ODAsMHgwMywweDY0LDB4MDgsMHhmYiwweDEwIH0gfSwKLXsgIDE2LCAweGI3MjAsIDAsIHsweDNlLDB4YzYsMHg4ZiwweGIwLDB4MDMsMHhlYywweDAwLDB4ZjksMHg4MCwweDMyLDB4YzAsMHgwYywweGIwLDB4MGIsMHgxNCwweDA0IH0gfSwKLXsgIDE2LCAweGI3MzAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjOCwweDA1LDB4M2UsMHgyMCwweGU5LDB4YzgsMHgzNywweGQ0IH0gfSwKLXsgIDE2LCAweGI3NDAsIDAsIHsweDQ4LDB4YWEsMHgyMiwweDFjLDB4MDAsMHg4YiwweDAwLDB4NmYsMHhlMCwweDA4LDB4ODUsMHg4MiwweGVkLDB4NDAsMHhiYiwweDg0IH0gfSwKLXsgIDE2LCAweGI3NTAsIDAsIHsweDJmLDB4YzAsMHg0YiwweGI4LDB4MDMsMHhhZCwweDQwLDB4YjMsMHgwMCwweDIzLDB4ZDQsMHgwOCwweGY3LDB4MDIsMHgzMiwweDAwIH0gfSwKLXsgIDE2LCAweGI3NjAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDAxLDB4NGMsMHgwMCwweGIxLDB4NjQsMHhhNCwweGMwIH0gfSwKLXsgIDE2LCAweGI3NzAsIDAsIHsweDA5LDB4MjAsMHgwYSwweDBjLDB4MDQsMHhiOCwweDAwLDB4NmMsMHhjMCwweDA4LDB4MzgsMHgwMiwweGM4LDB4NDAsMHhiMywweDgwIH0gfSwKLXsgIDE2LCAweGI3ODAsIDAsIHsweDJjLDB4ZDEsMHgwYiwweDMwLDB4MDIsMHhjYywweDA0LDB4YjMsMHgwMCwweDI4LDB4YzAsMHgwOCwweDMwLDB4MDIsMHgzYSwweDAwIH0gfSwKLXsgIDE2LCAweGI3OTAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiMCwweDAxLDB4MWUsMHgwMCwweGE1LDB4ODAsMHgyNSwweGUwIH0gfSwKLXsgIDE2LCAweGI3YTAsIDAsIHsweDg4LDB4M2EsMHgxMiwweDFlLDB4MDAsMHhhNiwweDkwLDB4MmQsMHhlMiwweDA4LDB4NzksMHgwMiwweGRhLDB4MDAsMHhiNywweDgyIH0gfSwKLXsgIDE2LCAweGI3YjAsIDAsIHsweDJkLDB4ZTAsMHgwMywweDc4LDB4ODIsMHg5ZSwweDAwLDB4YmMsMHhjMSwweDI5LDB4ZTAsMHgwOCwweDc4LDB4MDIsMHgyYywweDEwIH0gfSwKLXsgIDE2LCAweGI3YzAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OSwweDA4LDB4MGMsMHgwMCwweGYzLDB4MDAsMHgzNCwweGMwIH0gfSwKLXsgIDE2LCAweGI3ZDAsIDAsIHsweDBkLDB4M2UsMHgwMywweDBjLDB4MDAsMHhmMCwweDQwLDB4MmUsMHhjMCwweDBjLDB4MzAsMHg0MywweGM4LDB4MDAsMHhmMywweDAwIH0gfSwKLXsgIDE2LCAweGI3ZTAsIDAsIHsweDNjLDB4YzAsMHgwNywweDMwLDB4MDMsMHhjYywweDgwLDB4ZjIsMHgwMCwweDM4LDB4YzAsMHgwYywweDMwLDB4MDMsMHgxMiwweDAyIH0gfSwKLXsgIDE2LCAweGI3ZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDE5LDB4YmQsMHgyMCwweGY3LDB4MDAsMHgzZiwweGMyIH0gfSwKLXsgIDE2LCAweGI4MDAsIDAsIHsweDBmLDB4ZjEsMHgwYiwweGRjLDB4MjAsMHhkZSwweDA0LDB4M2YsMHhkMiwweDA3LDB4ZjAsMHgxMywweGY4LDB4NDAsMHhmZiwweDAwIH0gfSwKLXsgIDE2LCAweGI4MTAsIDAsIHsweDNmLDB4YzAsMHgwNywweGYwLDB4MDMsMHhmYywweDAwLDB4ZmQsMHgwMCwweDM3LDB4YzAsMHgwZiwweDcwLDB4MDMsMHhkMCwweDA2IH0gfSwKLXsgIDE2LCAweGI4MjAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhYSwweDA1LDB4Y2YsMHgwMCwweGRjLDB4MDAsMHgzZSwweGNhIH0gfSwKLXsgIDE2LCAweGI4MzAsIDAsIHsweDBmLDB4YTAsMHgwMCwweGFjLDB4OTIsMHhjOSwweDAwLDB4MzIsMHhjMCwweDBmLDB4YjAsMHgxMSwweGE0LDB4MDgsMHhmYiwweDAwIH0gfSwKLXsgIDE2LCAweGI4NDAsIDAsIHsweDJlLDB4YzAsMHg0ZiwweGIwLDB4MjMsMHhlYywweDAwLDB4ZjksMHgwMCwweDNlLDB4YzQsMHgwZiwweGIwLDB4MDMsMHhlYSwweDAwIH0gfSwKLXsgIDE2LCAweGI4NTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjOCwweDkxLDB4OWMsMHgwMCwweDg0LDB4MDAsMHgwMSwweGMwIH0gfSwKLXsgIDE2LCAweGI4NjAsIDAsIHsweDRiLDB4NzAsMHgyMiwweDFjLDB4YzAsMHg4NywweDAwLDB4MjEsMHhjMCwweDRiLDB4NzAsMHgwMiwweDFjLDB4MDAsMHhiNywweDAxIH0gfSwKLXsgIDE2LCAweGI4NzAsIDAsIHsweDI1LDB4ZDgsMHgwYiwweDcwLDB4MjIsMHhkYywweDAwLDB4YjYsMHgwMCwweDJkLDB4YzAsMHgwYiwweDcyLDB4MjIsMHhmMiwweDA0IH0gfSwKLXsgIDE2LCAweGI4ODAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDAwLDB4OWUsMHg4MCwweDk3LDB4ODAsMHhhOSwweGUwIH0gfSwKLXsgIDE2LCAweGI4OTAsIDAsIHsweDBiLDB4ZjgsMHgwMiwweGNlLDB4MDgsMHg4NSwweDgwLDB4MjksMHhlOCwweDBiLDB4ZmMsMHgwMiwweDE3LDB4MDAsMHhiNywweDgwIH0gfSwKLXsgIDE2LCAweGI4YTAsIDAsIHsweDJkLDB4ZTAsMHg4YiwweDc4LDB4MDIsMHhkZSwweDAwLDB4YjQsMHhjMCwweDJkLDB4ZTgsMHgwYiwweDc5LDB4MDIsMHhlMCwweDAwIH0gfSwKLXsgIDE2LCAweGI4YjAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDE0LDB4Y2MsMHgwMCwweDgzLDB4MDgsMHhhMCwweGMwIH0gfSwKLXsgIDE2LCAweGI4YzAsIDAsIHsweDhiLDB4M2MsMHgwMiwweDRjLDB4MDAsMHg4MywweDAwLDB4YTAsMHhjMCwweDFiLDB4M2MsMHgwYSwweDBmLDB4MjksMHhiMywweDAwIH0gfSwKLXsgIDE2LCAweGI4ZDAsIDAsIHsweDI0LDB4YzAsMHgwYiwweDMwLDB4MDIsMHhjYywweDAwLDB4YjMsMHg4MCwweDJjLDB4YzAsMHgwYiwweDMwLDB4MDIsMHhkMiwweDA0IH0gfSwKLXsgIDE2LCAweGI4ZTAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YTgsMHgwMCwweGRlLDB4MDAsMHgzYSwweDgwIH0gfSwKLXsgIDE2LCAweGI4ZjAsIDAsIHsweDBmLDB4ZWEsMHgwMiwweGU4LDB4MDAsMHhjZSwweDAwLDB4M2EsMHg4MCwweDBmLDB4ZTAsMHgwMywweDM4LDB4MDAsMHhmYSwweDAwIH0gfSwKLXsgIDE2LCAweGI5MDAsIDAsIHsweDNlLDB4ODAsMHgwZiwweGEwLDB4MDMsMHhlOCwweDAwLDB4ZmUsMHgwMCwweDNlLDB4ODAsMHgwYiwweGEwLDB4MDMsMHhmYSwweDA0IH0gfSwKLXsgIDE2LCAweGI5MTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDAwLDB4ZTAsMHgwMCwweGY4LDB4MDQsMHhiYSwweDAxIH0gfSwKLXsgIDE2LCAweGI5MjAsIDAsIHsweDBmLDB4ODIsMHgwYiwweDgwLDB4MDQsMHhmOCwweDgwLDB4M2UsMHgwMCwweDBmLDB4ODYsMHgwMywweDYwLDB4MDAsMHhmOCwweDAwIH0gfSwKLXsgIDE2LCAweGI5MzAsIDAsIHsweDM2LDB4MDAsMHgwZiwweDgwLDB4MjMsMHhlMSwweDAwLDB4ZjgsMHgwMCwweDNlLDB4MDAsMHgwZiwweDgwLDB4MDMsMHhkMiwweDAwIH0gfSwKLXsgIDE2LCAweGI5NDAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTQsMHgwMSwweGY5LDB4MDAsMHgzMiwweDQwIH0gfSwKLXsgIDE2LCAweGI5NTAsIDAsIHsweDBmLDB4OTAsMHgwMywweGU0LDB4MDAsMHg0OSwweDAwLDB4MzIsMHg0MCwweDBiLDB4OTAsMHgwMywweDI0LDB4MDAsMHg0OSwweDAwIH0gfSwKLXsgIDE2LCAweGI5NjAsIDAsIHsweDNjLDB4NDAsMHgwZCwweDkwLDB4MDMsMHhlNCwweDA4LDB4YzksMHgwMCwweDNlLDB4NjAsMHgwYywweDkwLDB4MDMsMHgwMiwweDA0IH0gfSwKLXsgIDE2LCAweGI5NzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA0LDB4NjQsMHgwMCwweGI5LDB4NDAsMHhhMiwweDY0IH0gfSwKLXsgIDE2LCAweGI5ODAsIDAsIHsweDBiLDB4MTgsMHgwMiwweDI1LDB4MDAsMHhkMSwweDUwLDB4MzYsMHg1MCwweDRlLDB4OTAsMHgwYSwweDI0LDB4MDIsMHg4OSwweDQwIH0gfSwKLXsgIDE2LCAweGI5OTAsIDAsIHsweDNhLDB4NTEsMHgwOCwweDk0LDB4MDIsMHhlNSwweDIyLDB4ODksMHg0NCwweDJlLDB4NjAsMHgyOCwweDkwLDB4MGEsMHgyMCwweDAwIH0gfSwKLXsgIDE2LCAweGI5YTAsIDAsIHsweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDAxLDB4MjQsMHgwMCwweGIxLDB4MDgsMHgyMiwweDQwIH0gfSwKLXsgIDE2LCAweGI5YjAsIDAsIHsweDRiLDB4OTIsMHg4MiwweGE1LDB4MDAsMHhhOSwweDA4LDB4MjIsMHg1MCwweDBhLDB4MTAsMHgwMiwweDBjLDB4MDAsMHhhOSwweDQwIH0gfSwKLXsgIDE2LCAweGI5YzAsIDAsIHsweDZlLDB4NTAsMHgwYiwweDk0LDB4MDIsMHhjNCwweDA0LDB4ODksMHg0NCwweDZjLDB4NDgsMHg4OCwweDEwLDB4MDIsMHg0NiwweDAwIH0gfSwKLXsgIDE2LCAweGI5ZDAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA0LDB4MDQsMHgwMCwweGIxLDB4NDAsMHhlMCwweDQwIH0gfSwKLXsgIDE2LCAweGI5ZTAsIDAsIHsweDFiLDB4MTQsMHgwYSwweDA0LDB4MDAsMHhiOSwweDAwLDB4MjQsMHg0MCwweDFhLDB4MTAsMHgyMiwweDA0LDB4MDAsMHhhMSwweDAwIH0gfSwKLXsgIDE2LCAweGI5ZjAsIDAsIHsweDI4LDB4NDAsMHgwYSwweDEwLDB4MTIsMHhjNCwweDAwLDB4ODEsMHgwMiwweDZjLDB4NDAsMHgwOCwweDEyLDB4MDIsMHg0MiwweDAxIH0gfSwKLXsgIDE2LCAweGJhMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjAsMHgwOCwweGIwLDB4MDAsMHgzMiwweDAwIH0gfSwKLXsgIDE2LCAweGJhMTAsIDAsIHsweDRmLDB4ODAsMHgwMiwweGExLDB4NTAsMHhlMCwweDUwLDB4MzIsMHgxNCwweDBlLDB4YTUsMHgyMywweDIxLDB4NDAsMHhlOCwweDUwIH0gfSwKLXsgIDE2LCAweGJhMjAsIDAsIHsweDNlLDB4MTQsMHgwZiwweDg1LDB4MDMsMHhlMSwweDQwLDB4YzgsMHg1MCwweDFlLDB4MTQsMHgwYywweDg1LDB4NDMsMHg2ZSwweDAzIH0gfSwKLXsgIDE2LCAweGJhMzAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhkOCwweDE5LDB4ZTUsMHgwMCwweGZkLDB4NDAsMHgzZSwweDUwIH0gfSwKLXsgIDE2LCAweGJhNDAsIDAsIHsweDBmLDB4NzQsMHgwMywweGE1LDB4MDAsMHg1ZCwweDAwLDB4M2UsMHg1MCwweDBhLDB4NTAsMHgxMywweGY0LDB4MDAsMHhkOSwweDAwIH0gfSwKLXsgIDE2LCAweGJhNTAsIDAsIHsweDNhLDB4NTAsMHgwZCwweDkwLDB4MTMsMHhlNCwweDAwLDB4ZmYsMHgwMCwweDNlLDB4NTAsMHgwZiwweDkxLDB4MDMsMHhhNiwweDA2IH0gfSwKLXsgIDE2LCAweGJhNjAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4ZjYsMHg5MCwweGJkLDB4ZTgsMHgyMywweDZiIH0gfSwKLXsgIDE2LCAweGJhNzAsIDAsIHsweDBiLDB4ZGEsMHgwYiwweDM2LDB4ODAsMHhjOSwweDAwLDB4MzIsMHg2OCwweDQ2LDB4OTAsMHg0MywweGU0LDB4MDAsMHg0OSwweDAwIH0gfSwKLXsgIDE2LCAweGJhODAsIDAsIHsweDMyLDB4NjgsMHgwYywweDkwLDB4MDMsMHgyNCwweDQwLDB4ZjksMHgwMCwweDMyLDB4NjAsMHgwYywweDljLDB4MDMsMHhjNiwweDAxIH0gfSwKLXsgIDE2LCAweGJhOTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg3OCwweDEwLDB4ZTEsMHgwMCwweGI4LDB4ZTAsMHhhMiwweDExIH0gfSwKLXsgIDE2LCAweGJhYTAsIDAsIHsweDBiLDB4OGUsMHgwYSwweDIzLDB4MjIsMHg4OCwweDgwLDB4MmEsMHgzMSwweDI4LDB4ODgsMHgwMiwweDYyLDB4MDAsMHg4OCwweDgwIH0gfSwKLXsgIDE2LCAweGJhYjAsIDAsIHsweGEyLDB4MzAsMHgyOCwweDg4LDB4OGEsMHgyMiwweDAwLDB4YjgsMHhhOCwweGEyLDB4MzksMHgwOCwweGNhLDB4MDIsMHhjZSwweDA0IH0gfSwKLXsgIDE2LCAweGJhYzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA1LDB4YzUsMHgwOCwweDIxLDB4MDAsMHgwMCwweDQwIH0gfSwKLXsgIDE2LCAweGJhZDAsIDAsIHsweDAzLDB4MTQsMHg4MiwweDg1LDB4ODAsMHhhZCwweDA4LDB4MjEsMHg1MiwweDk4LDB4NTAsMHg4MiwweDM0LDB4MjMsMHg4NSwweDA4IH0gfSwKLXsgIDE2LCAweGJhZTAsIDAsIHsweDIxLDB4NTIsMHgwOCwweDUwLDB4MDYsMHg1NCwweDAwLDB4YjUsMHgyMCwweDIxLDB4NWEsMHgwOSwweDU0LDB4MDIsMHhkMiwweDAxIH0gfSwKLXsgIDE2LCAweGJhZjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDExLDB4YTQsMHgwMCwweGI5LDB4NjEsMHgyMiwweDQwIH0gfSwKLXsgIDE2LCAweGJiMDAsIDAsIHsweDBiLDB4OTAsMHgwNiwweDA0LDB4MDAsMHhhZCwweDAwLDB4NjksMHg0MCwweDA4LDB4ZDAsMHgwMiwweDc0LDB4MDAsMHg4NSwweDAwIH0gfSwKLXsgIDE2LCAweGJiMTAsIDAsIHsweDAxLDB4NDAsMHgwMCwweDcwLDB4MDYsMHg3NCwweDA0LDB4YjUsMHgwMCwweDIzLDB4NDAsMHgwOSwweGQwLDB4MDIsMHhjNiwweDA0IH0gfSwKLXsgIDE2LCAweGJiMjAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE0LDB4YTQsMHgwMCwweGU5LDB4MDAsMHgzMiwweDQwIH0gfSwKLXsgIDE2LCAweGJiMzAsIDAsIHsweDRmLDB4OTUsMHgwYiwweGE0LDB4MDAsMHhlOSwweDAwLDB4MzIsMHg0MCwweDhjLDB4OTAsMHgwMywweDI0LDB4MDAsMHhjOSwweDAwIH0gfSwKLXsgIDE2LCAweGJiNDAsIDAsIHsweDMyLDB4NDAsMHgwYywweDkwLDB4MDMsMHg2NCwweDA4LDB4ZjksMHgwMCwweDMyLDB4NDAsMHgzZCwweDkwLDB4MDMsMHhlOCwweDA0IH0gfSwKLXsgIDE2LCAweGJiNTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg2OCwweDAxLDB4YTQsMHgwOCwweGY5LDB4MDAsMHgzZSwweDQwIH0gfSwKLXsgIDE2LCAweGJiNjAsIDAsIHsweDRmLDB4OTAsMHg4YiwweGU0LDB4MDQsMHhkOSwweDAxLDB4M2UsMHg0MCwweDBkLDB4OTAsMHgwMywweDY0LDB4MDAsMHhkOSwweDAxIH0gfSwKLXsgIDE2LCAweGJiNzAsIDAsIHsweDNlLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhhNCwweDAwLDB4ZjksMHgwMCwweDNjLDB4NDAsMHgwZSwweDkwLDB4MDMsMHhkYSwweDAwIH0gfSwKLXsgIDE2LCAweGJiODAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTAsMHgwMCwweGY4LDB4NDAsMHgzNiwweDIwIH0gfSwKLXsgIDE2LCAweGJiOTAsIDAsIHsweDE3LDB4ODQsMHgwMywweDIwLDB4MjEsMHhjOCwweDAwLDB4N2UsMHgwMiwweDJjLDB4ODAsMHg0MywweDIwLDB4MDAsMHhlOCwweDAyIH0gfSwKLXsgIDE2LCAweGJiYTAsIDAsIHsweDNlLDB4MDEsMHgwZiwweDgwLDB4MDMsMHhlMCwweDAwLDB4YzgsMHg0MCwweDFlLDB4MDAsMHgwZiwweDgwLDB4MDMsMHhjYSwweDA0IH0gfSwKLXsgIDE2LCAweGJiYjAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4MmEsMHg4OCwweGI2LDB4MDIsMHgyMywweGEwIH0gfSwKLXsgIDE2LCAweGJiYzAsIDAsIHsweDBiLDB4ZWMsMHg0MiwweDJiLDB4MDAsMHhkMiwweDgwLDB4NmUsMHhiMSwweDA4LDB4YTAsMHgyMiwweDA4LDB4MDAsMHhlYSwweDA0IH0gfSwKLXsgIDE2LCAweGJiZDAsIDAsIHsweDNhLDB4ODAsMHg5ZiwweGEwLDB4MDMsMHhhOCwweDAwLDB4OGEsMHgwNCwweDJlLDB4ODAsMHgwYiwweGE4LDB4MDIsMHhjYSwweDAwIH0gfSwKLXsgIDE2LCAweGJiZTAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NGMsMHgwMCwweGIyLDB4MDAsMHhhNCwweGUxIH0gfSwKLXsgIDE2LCAweGJiZjAsIDAsIHsweDhiLDB4YjQsMHgzMiwweDQ3LDB4NDUsMHg4MywweDkwLDB4MmMsMHhmNCwweDRiLDB4MzgsMHgxMiwweDBlLDB4NDQsMHhhMywweDAxIH0gfSwKLXsgIDE2LCAweGJjMDAsIDAsIHsweDJjLDB4YzAsMHg0YiwweDMwLDB4MDIsMHhjZSwweDAwLDB4OTMsMHgwMCwweDZjLDB4YzAsMHgwYiwweDM4LDB4MDIsMHhjYSwweDAwIH0gfSwKLXsgIDE2LCAweGJjMTAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDAxLDB4MWMsMHgwMCwweGI3LDB4NDQsMHgyMSwweGMyIH0gfSwKLXsgIDE2LCAweGJjMjAsIDAsIHsweDBiLDB4NTQsMHgwMiwweDU0LDB4MDUsMHg4NywweDAwLDB4MmMsMHg0MCwweDliLDB4NmMsMHgwMiwweDE4LDB4MTAsMHhhNywweDA0IH0gfSwKLXsgIDE2LCAweGJjMzAsIDAsIHsweDI5LDB4YzAsMHgwYSwweDcwLDB4MDIsMHg5YiwweDAwLDB4OTcsMHgwNCwweDBkLDB4ODAsMHgwYiwweDYwLDB4ODIsMHhlOCwweDAwIH0gfSwKLXsgIDE2LCAweGJjNDAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MWUsMHgwMCwweGYzLDB4ODAsMHgzNSwweGUwIH0gfSwKLXsgIDE2LCAweGJjNTAsIDAsIHsweDBiLDB4MzgsMHgwMiwweDUyLDB4MTAsMHg4NCwweDgwLDB4MmQsMHhhMCwweDBmLDB4ZjgsMHgwYiwweDFlLDB4MDAsMHhlNiwweDgwIH0gfSwKLXsgIDE2LCAweGJjNjAsIDAsIHsweDFkLDB4YTAsMHgwYiwweDY4LDB4MDMsMHhmZSwweDAyLDB4ZDYsMHg4MCwweDNkLDB4ZTAsMHgwZiwweDc4LDB4MDMsMHhlYSwweDAyIH0gfSwKLXsgIDE2LCAweGJjNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwYSwweDFkLDB4YWMsMHgwMCwweGZiLDB4MDAsMHgzZSwweGMxIH0gfSwKLXsgIDE2LCAweGJjODAsIDAsIHsweDhiLDB4OTAsMHgwYiwweDgwLDB4MGEsMHhiOCwweDAxLDB4MmUsMHgwMCwweDBjLDB4YjAsMHgwMywweGU4LDB4MDAsMHhmYSwweDAwIH0gfSwKLXsgIDE2LCAweGJjOTAsIDAsIHsweDNlLDB4YzAsMHgwZiwweGEwLDB4NDMsMHhlYywweDAwLDB4ZWIsMHgwMCwweDNlLDB4ODAsMHgwZiwweGE2LDB4MjMsMHhjMiwweDAyIH0gfSwKLXsgIDE2LCAweGJjYTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZmUsMHgwMCwweGZlLDB4ODAsMHgzMywweDIwIH0gfSwKLXsgIDE2LCAweGJjYjAsIDAsIHsweDRlLDB4YzksMHgxMiwweGY2LDB4NTAsMHhlZiwweDkwLDB4M2YsMHhlMCwweDBjLDB4MTksMHgwMCwweGI2LDB4NDIsMHhjZiwweDIxIH0gfSwKLXsgIDE2LCAweGJjYzAsIDAsIHsweDNmLDB4ZTAsMHgwZSwweGY5LDB4MDIsMHhlNiwweGMwLDB4ZmYsMHg4MCwweDNmLDB4ZTAsMHg0YywweGRjLDB4MDMsMHg0MCwweDAwIH0gfSwKLXsgIDE2LCAweGJjZDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhYSwweDExLDB4OTQsMHgwMCwweGI3LDB4MDAsMHg4MSwweDQwIH0gfSwKLXsgIDE2LCAweGJjZTAsIDAsIHsweDA4LDB4MDMsMHgwMiwweDE0LDB4YzQsMHg4NywweDAxLDB4MmQsMHhjOCwweDA4LDB4NmEsMHgxMiwweDM4LDB4NDAsMHg4NywweDAyIH0gfSwKLXsgIDE2LCAweGJjZjAsIDAsIHsweDJkLDB4YzAsMHgwOCwweDcxLDB4MTIsMHhkMiwweDgwLDB4YjcsMHgwMCwweDJkLDB4ODAsMHgwOCwweDYwLDB4MDIsMHgyYSwweDA0IH0gfSwKLXsgIDE2LCAweGJkMDAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OWMsMHgwMCwweGI3LDB4MTAsMHgyMSwweDgwIH0gfSwKLXsgIDE2LCAweGJkMTAsIDAsIHsweDA4LDB4ZjQsMHgxMiwweDk0LDB4MDQsMHhhNiwweDAwLDB4MmMsMHhjMCwweDE4LDB4ZDIsMHgwMiwweDE0LDB4NDgsMHg4NiwweDEwIH0gfSwKLXsgIDE2LCAweGJkMjAsIDAsIHsweDJkLDB4ODAsMHgwYSwweDYxLDB4MzIsMHhkNCwweDAwLDB4YjYsMHgxOCwweDJkLDB4YzQsMHgwOCwweDU4LDB4MDIsMHgwMCwweDEwIH0gfSwKLXsgIDE2LCAweGJkMzAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMCwweDE0LDB4YzQsMHgwMCwweGIzLDB4MDAsMHgyMCwweGMwIH0gfSwKLXsgIDE2LCAweGJkNDAsIDAsIHsweDQwLDB4YjAsMHgyMiwweDA0LDB4MDAsMHg4MiwweDgxLDB4MGMsMHhjMCwweDA4LDB4MzAsMHgwYSwweDBhLDB4MDAsMHg4YSwweDAwIH0gfSwKLXsgIDE2LCAweGJkNTAsIDAsIHsweDJlLDB4YzAsMHgwOCwweGEwLDB4MDIsMHhjNCwweDAwLDB4YmIsMHgwMCwweDJlLDB4ODAsMHgwOCwweDIwLDB4MDIsMHgwOCwweDA0IH0gfSwKLXsgIDE2LCAweGJkNjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YWMsMHgwMCwweGZiLDB4MDAsMHhhMCwweGMwIH0gfSwKLXsgIDE2LCAweGJkNzAsIDAsIHsweDI0LDB4OTQsMHgyMywweGFjLDB4MTAsMHhlYiwweGEwLDB4MGUsMHhjMCwweDBjLDB4YjAsMHgwMiwweDJlLDB4MjAsMHhjOSwweDAwIH0gfSwKLXsgIDE2LCAweGJkODAsIDAsIHsweDJlLDB4NDAsMHgwZSwweDkwLDB4MDMsMHhlYywweDAwLDB4ZjksMHg4MCwweDNlLDB4NDAsMHg2YywweGEwLDB4MGIsMHgyYSwweDA0IH0gfSwKLXsgIDE2LCAweGJkOTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDAwLDB4Y2MsMHgwMCwweGZiLDB4MDAsMHgzZSwweGMwIH0gfSwKLXsgIDE2LCAweGJkYTAsIDAsIHsweDg5LDB4OTAsMHgwMywweDJjLDB4MDAsMHhmYiwweDAyLDB4M2UsMHg0MCwweDRmLDB4YTAsMHgwMywweDZkLDB4MDEsMHhmYiwweDQxIH0gfSwKLXsgIDE2LCAweGJkYjAsIDAsIHsweDNlLDB4YzAsMHg4ZiwweGI0LDB4MDMsMHhlOCwweDAwLDB4ZmIsMHgyMCwweDNlLDB4NTAsMHgwZiwweGE0LDB4MDMsMHhlMCwweDAwIH0gfSwKLXsgIDE2LCAweGJkYzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZmMsMHgwMCwweGMzLDB4MjAsMHhiMiwweGMwIH0gfSwKLXsgIDE2LCAweGJkZDAsIDAsIHsweDBkLDB4ZDAsMHgwMywweDM4LDB4MDAsMHhjZCwweDAwLDB4M2YsMHg4MCwweDBkLDB4ZjAsMHgwMywweGZjLDB4MDAsMHhmZCwweDAyIH0gfSwKLXsgIDE2LCAweGJkZTAsIDAsIHsweDM2LDB4MDAsMHgwYywweGQwLDB4MDMsMHgzZiwweDA4LDB4ZmMsMHgwNCwweDEyLDB4YzAsMHgwYywweGEwLDB4MDMsMHhjMCwweDQ0IH0gfSwKLXsgIDE2LCAweGJkZjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA0LDB4NmMsMHgwMiwweDhiLDB4YzgsMHgyMiwweGMwIH0gfSwKLXsgIDE2LCAweGJlMDAsIDAsIHsweDA4LDB4OTgsMHgwYSwweDJhLDB4NDAsMHg4OSwweDIwLDB4MmUsMHgwMSwweDhlLDB4YjAsMHgxMiwweGVjLDB4ODAsMHhiYiwweGYwIH0gfSwKLXsgIDE2LCAweGJlMTAsIDAsIHsweDIyLDB4ZTUsMHgwOCwweGJkLDB4MDIsMHgyZSwweDAwLDB4YmIsMHg5MCwweDIyLDB4ZWQsMHgwOCwweGEyLDB4MDIsMHhlMCwweDAwIH0gfSwKLXsgIDE2LCAweGJlMjAsIDAsIHsweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MmMsMHgwMCwweDhiLDB4MDEsMHgyMiwweDAwIH0gfSwKLXsgIDE2LCAweGJlMzAsIDAsIHsweDQ5LDB4YTgsMHgxZSwweDA0LDB4MDAsMHg4YiwweDAxLDB4MmUsMHhjMCwweDQ5LDB4OTAsMHgwMiwweGU0LDB4MDAsMHhiOSwweDAwIH0gfSwKLXsgIDE2LCAweGJlNDAsIDAsIHsweDIyLDB4NDAsMHgwYSwweDkwLDB4MDIsMHgyYywweDAwLDB4YjksMHgwMCwweDJhLDB4NDAsMHgwOCwweDgwLDB4MDIsMHhlMCwweDAwIH0gfSwKLXsgIDE2LCAweGJlNTAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA0LDB4MDQsMHgwMCwweDgxLDB4MDAsMHgyMCwweDQwIH0gfSwKLXsgIDE2LCAweGJlNjAsIDAsIHsweDA4LDB4MjAsMHgwMiwweDA0LDB4MDAsMHg4MywweDAwLDB4MmMsMHhjMCwweDBhLDB4MjAsMHg0MiwweGNjLDB4MDAsMHhiMywweDAwIH0gfSwKLXsgIDE2LCAweGJlNzAsIDAsIHsweDIwLDB4YzAsMHgwMiwweDMwLDB4MDIsMHgwOCwweDg0LDB4YjMsMHgwNCwweDA4LDB4NDAsMHgwOCwweDIwLDB4MDIsMHhjMiwweDExIH0gfSwKLXsgIDE2LCAweGJlODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4NmMsMHgwMCwweDhiLDB4MDAsMHhiMiwweDgwIH0gfSwKLXsgIDE2LCAweGJlOTAsIDAsIHsweDBkLDB4YjEsMHgwMywweDI0LDB4MDIsMHhjYiwweDAxLDB4M2UsMHhjMCwweDRkLDB4OTAsMHg0MywweGU0LDB4MDAsMHhmOSwweDAwIH0gfSwKLXsgIDE2LCAweGJlYTAsIDAsIHsweGIyLDB4MDAsMHgyZSwweDkwLDB4MGIsMHgyYywweDgwLDB4ZjgsMHgwMCwweGJhLDB4YzAsMHgyYywweDgwLDB4MDMsMHhjMCwweDAzIH0gfSwKLXsgIDE2LCAweGJlYjAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDFkLDB4ZjQsMHgwMCwweDdkLDB4MDAsMHgzZiwweGMwIH0gfSwKLXsgIDE2LCAweGJlYzAsIDAsIHsweDBmLDB4NzIsMHgwMywweGQ0LDB4MDAsMHhmZiwweDAwLDB4M2YsMHhjMCwweDBlLDB4ZjEsMHg0NywweGZjLDB4MDAsMHhmZiwweDAwIH0gfSwKLXsgIDE2LCAweGJlZDAsIDAsIHsweDNiLDB4YzAsMHgwZCwweGYwLDB4MTMsMHhmYywweDUwLDB4ZmYsMHgwMCwweDM3LDB4YzAsMHgwZiwweGUwLDB4MDMsMHhlOCwweDA2IH0gfSwKLXsgIDE2LCAweGJlZTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZjAsMHhjNCwweGNjLDB4MzMsMHgzZiwweDA0IH0gfSwKLXsgIDE2LCAweGJlZjAsIDAsIHsweDJjLDB4ZjYsMHgwMywweDM4LDB4NjAsMHhjYywweDkwLDB4YjMsMHgyMCwweDBmLDB4ZjEsMHgyMywweGYwLDB4NjAsMHhmZiwweDAxIH0gfSwKLXsgIDE2LCAweGJmMDAsIDAsIHsweDIzLDB4YzgsMHgwYywweGYyLDB4OGEsMHgzYywweDgxLDB4ZGYsMHgzMCwweDNmLDB4NjQsMHgwYywweGQ4LDB4MDMsMHgzMCwweDA0IH0gfSwKLXsgIDE2LCAweGJmMTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDEwLDB4ZTAsMHhjMiwweDhhLDB4MzAsMHgyZSwweDE4IH0gfSwKLXsgIDE2LCAweGJmMjAsIDAsIHsweDA4LDB4ZjUsMHgzMCwweGE1LDB4OTQsMHg1OCwweDIyLDB4MjIsMHgyMSwweDRiLDB4ZjMsMHgwMiwweGUxLDB4MDAsMHg5ZiwweDcwIH0gfSwKLXsgIDE2LCAweGJmMzAsIDAsIHsweDJiLDB4ZTQsMHgwYSwweGY0LDB4MTIsMHgxZCwweDQwLDB4YWYsMHg3MiwweDJjLDB4NDksMHgyZiwweDMwLDB4ODIsMHhhMCwweDA2IH0gfSwKLXsgIDE2LCAweGJmNDAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4YzQsMHg4MCwweDgwLDB4YTAsMHgyYywweDk4IH0gfSwKLXsgIDE2LCAweGJmNTAsIDAsIHsweDA4LDB4MzIsMHgyMiwweDA4LDB4MDAsMHg4MiwweDAwLDB4MjgsMHgwMCwweDAzLDB4MzIsMHgwMiwweGMwLDB4ODQsMHhiMywweDBjIH0gfSwKLXsgIDE2LCAweGJmNjAsIDAsIHsweDIwLDB4YzAsMHg1OCwweDMyLDB4OTIsMHg4YywweDMwLDB4YTMsMHgyMCwweDJlLDB4YzAsMHg0OCwweDEyLDB4NDIsMHg2MiwweDAxIH0gfSwKLXsgIDE2LCAweGJmNzAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDE1LDB4YTgsMHgwMCwweDhiLDB4MDAsMHgyZSwweDIwIH0gfSwKLXsgIDE2LCAweGJmODAsIDAsIHsweDA4LDB4YjAsMHgwYSwweDIwLDB4MDEsMHg5OCwweDAwLDB4MmEsMHgyMiwweDBiLDB4YjAsMHgwMiwweGU2LDB4MDAsMHg5YiwweDAwIH0gfSwKLXsgIDE2LCAweGJmOTAsIDAsIHsweDIyLDB4YzAsMHgwYSwweGIwLDB4MTIsMHhhYywweDA0LDB4YWIsMHgwMCwweDJlLDB4YzAsMHgwMywweGIwLDB4MDIsMHhmMCwweDAwIH0gfSwKLXsgIDE2LCAweGJmYTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE1LDB4ZTUsMHgwMCwweGM4LDB4MDAsMHgzZSwweGIwIH0gfSwKLXsgIDE2LCAweGJmYjAsIDAsIHsweDBjLDB4YjAsMHgwMywweDI5LDB4MDAsMHhjOCwweDAwLDB4M2EsMHgyMCwweDRmLDB4YjAsMHgwMywweGUyLDB4MjAsMHhmYiwweDAxIH0gfSwKLXsgIDE2LCAweGJmYzAsIDAsIHsweGIwLDB4YzAsMHgwYywweGIwLDB4MDMsMHgyYywweDAwLDB4ZmIsMHgwMiwweDNjLDB4NDEsMHgwYywweDkwLDB4NDMsMHg0OCwweDA0IH0gfSwKLXsgIDE2LCAweGJmZDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDAxLDB4YTIsMHg4MCwweGZlLDB4NDAsMHgzZSwweDAwIH0gfSwKLXsgIDE2LCAweGJmZTAsIDAsIHsweDBmLDB4ZjAsMHg2MywweGVjLDB4MDAsMHhiZiwweGM0LDB4MTcsMHg0MiwweDBmLDB4ZjAsMHgwMywweGVjLDB4MDAsMHhmZiwweDAwIH0gfSwKLXsgIDE2LCAweGJmZjAsIDAsIHsweDFmLDB4YzEsMHgwZiwweGIwLDB4MDMsMHg1YywweDAwLDB4ZmIsMHgwMCwweDNmLDB4NDAsMHg0ZiwweGYwLDB4MDAsMHhiOCwweDAwIH0gfSwKLXsgIDE2LCAweGMwMDAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YTUsMHgwMiwweGM4LDB4MDAsMHgzZSwweDkwIH0gfSwKLXsgIDE2LCAweGMwMTAsIDAsIHsweDJjLDB4YjAsMHgwYiwweDAxLDB4MDYsMHhjYiwweDAxLDB4M2UsMHg1MCwweDVmLDB4YjAsMHgxMywweDIxLDB4MTAsMHhjYiwweDAwIH0gfSwKLXsgIDE2LCAweGMwMjAsIDAsIHsweDdlLDB4YzAsMHgwYywweGIwLDB4MGIsMHgyYywweDAwLDB4Y2IsMHgwMCwweDMyLDB4YzAsMHgwYywweDkwLDB4MDMsMHgxMCwweDA0IH0gfSwKLXsgIDE2LCAweGMwMzAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjOCwweDA1LDB4MjgsMHgwMSwweDhiLDB4ZDAsMHgyYywweDM0IH0gfSwKLXsgIDE2LCAweGMwNDAsIDAsIHsweDQ4LDB4ZmYsMHgwMiwweDMwLDB4MDAsMHhhYSwweDA0LDB4MmUsMHg2OSwweDBmLDB4ZjAsMHgwMywweDY4LDB4MTAsMHhkZiwweDAwIH0gfSwKLXsgIDE2LCAweGMwNTAsIDAsIHsweDJmLDB4ZDQsMHgwZCwweGYwLDB4MDIsMHgzZSwweDAwLDB4NWYsMHgwNCwweGI2LDB4YzAsMHgwOCwweGIwLDB4MDMsMHg3MiwweDAwIH0gfSwKLXsgIDE2LCAweGMwNjAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NjksMHg5MCwweDgxLDB4ODAsMHgyYywweDAwIH0gfSwKLXsgIDE2LCAweGMwNzAsIDAsIHsweDQ4LDB4YjgsMHgwMiwweDA4LDB4MDksMHg5OSwweDAwLDB4NGMsMHhiMCwweDBiLDB4MzAsMHgwMiwweDBjLDB4MDAsMHg4YiwweDAwIH0gfSwKLXsgIDE2LCAweGMwODAsIDAsIHsweDJjLDB4YzAsMHgwOSwweGIwLDB4NDAsMHgwYywweDQwLDB4ODMsMHgwMCwweDAwLDB4NDAsMHgwYSwweDkwLDB4MDIsMHgzMCwweDAwIH0gfSwKLXsgIDE2LCAweGMwOTAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMCwweDAxLDB4MTYsMHgwMCwweDg0LDB4ODgsMHgyZCwweGU0IH0gfSwKLXsgIDE2LCAweGMwYTAsIDAsIHsweDQ4LDB4MzksMHgwMiwweDE2LDB4MDAsMHhiNCwweDgwLDB4MmQsMHhlMCwweDBhLDB4N2IsMHgwNiwweDVlLDB4MDAsMHg5NywweDgwIH0gfSwKLXsgIDE2LCAweGMwYjAsIDAsIHsweDJkLDB4ZTIsMHgwOSwweDc4LDB4MDIsMHgxZSwweDkwLDB4OTcsMHg4MCwweDI1LDB4NjQsMHg4YSwweDc4LDB4MDIsMHg0OCwweDAwIH0gfSwKLXsgIDE2LCAweGMwYzAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MGQsMHgwMCwweDgxLDB4MTAsMHgyYywweDk2IH0gfSwKLXsgIDE2LCAweGMwZDAsIDAsIHsweDA4LDB4MzEsMHgyMywweDBjLDB4MDAsMHg5MCwweDIwLDB4M2MsMHhjNCwweDFiLDB4YjgsMHgwMiwweDA4LDB4NDAsMHhjMywweDAwIH0gfSwKLXsgIDE2LCAweGMwZTAsIDAsIHsweDJjLDB4YzQsMHgwZCwweDMwLDB4MDMsMHgwZSwweDQwLDB4YzMsMHgxMCwweDMwLDB4YzAsMHg0ZSwweDEwLDB4MDcsMHgxYSwweDEyIH0gfSwKLXsgIDE2LCAweGMwZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDFkLDB4YmMsMHgwMCwweDdkLDB4MDUsMHgzZiwweGM1IH0gfSwKLXsgIDE2LCAweGMxMDAsIDAsIHsweDBmLDB4YjEsMHgwYiwweGY0LDB4MDAsMHhlZiwweDAwLDB4MWYsMHg0NSwweDBmLDB4ZjAsMHg0MywweGZjLDB4MDEsMHhmZiwweDQwIH0gfSwKLXsgIDE2LCAweGMxMTAsIDAsIHsweDNkLDB4YzQsMHgxZiwweGYwLDB4MDYsMHhmYywweDEwLDB4ZmYsMHgwMCwweDNiLDB4YzEsMHgyZCwweGYxLDB4MDMsMHhkMCwweDA2IH0gfSwKLXsgIDE2LCAweGMxMjAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZWMsMHgwNCwweGNiLDB4MDQsMHgzZSwweGEwIH0gfSwKLXsgIDE2LCAweGMxMzAsIDAsIHsweDQ0LDB4YjYsMHgwMywweDI4LDB4MDQsMHhjYiwweDgwLDB4MzIsMHg4MCwweDBmLDB4YjMsMHg5MywweDYwLDB4MDgsMHhmYiwweDIwIH0gfSwKLXsgIDE2LCAweGMxNDAsIDAsIHsweDNlLDB4ZDIsMHgxZiwweGIzLDB4MDMsMHgyZCwweDgwLDB4ZmIsMHg2MSwweDdlLDB4NDAsMHg4YywweDk4LDB4MDMsMHgyYSwweDAwIH0gfSwKLXsgIDE2LCAweGMxNTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDExLDB4ODQsMHgwYywweDg2LDB4MDUsMHgyZCwweGMwIH0gfSwKLXsgIDE2LCAweGMxNjAsIDAsIHsweDA4LDB4ZjQsMHg4MiwweDhjLDB4OTAsMHg4NSwweDAwLDB4YTEsMHhjMCwweDBiLDB4ZjAsMHgwMiwweDVjLDB4MDAsMHgzNywweDAwIH0gfSwKLXsgIDE2LCAweGMxNzAsIDAsIHsweDJkLDB4ZDAsMHgwYiwweDcxLDB4MDIsMHgxYywweGM4LDB4YjcsMHg0OCwweDJkLDB4NDAsMHgwYSwweDcwLDB4MDIsMHgxMiwweDA0IH0gfSwKLXsgIDE2LCAweGMxODAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4OWUsMHgwMCwweDg3LDB4ODAsMHgyZCwweGExIH0gfSwKLXsgIDE2LCAweGMxOTAsIDAsIHsweDYwLDB4NzgsMHg0YSwweDE2LDB4ZDAsMHhhNywweDgwLDB4MjksMHhlMCwweDBiLDB4NzgsMHg1MiwweDk2LDB4MDEsMHhiNywweDkwIH0gfSwKLXsgIDE2LCAweGMxYTAsIDAsIHsweDJkLDB4ZTgsMHgwYiwweDdhLDB4MjIsMHg1ZSwweDQwLDB4YjcsMHhhMCwweDJmLDB4ZTEsMHg0OCwweDUwLDB4MjIsMHgzMCwweDAwIH0gfSwKLXsgIDE2LCAweGMxYjAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDE0LDB4Y2MsMHgxMCwweDgzLDB4ODQsMHgyYywweGMwIH0gfSwKLXsgIDE2LCAweGMxYzAsIDAsIHsweDA4LDB4MzAsMHgwMiwweGE0LDB4MTAsMHg4MywweGNiLDB4MjgsMHhlMCwweDBiLDB4MzAsMHgyYSwweDRmLDB4NDAsMHg5MywweDAwIH0gfSwKLXsgIDE2LCAweGMxZDAsIDAsIHsweDJjLDB4YzAsMHgwYiwweDMwLDB4MDIsMHg0YywweDEwLDB4YjMsMHgwMiwweDJjLDB4YzAsMHhhYSwweDMwLDB4MDIsMHgxMiwweDA0IH0gfSwKLXsgIDE2LCAweGMxZTAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YjgsMHgwMCwweGNlLDB4YTAsMHgzZiwweDgwIH0gfSwKLXsgIDE2LCAweGMxZjAsIDAsIHsweDRjLDB4YTAsMHgyYiwweDNhLDB4MDAsMHhjZSwweDQwLDB4M2IsMHhiOCwweDBmLDB4YTAsMHgwMywweGI5LDB4MDAsMHhiYSwweDAwIH0gfSwKLXsgIDE2LCAweGMyMDAsIDAsIHsweDNlLDB4ODAsMHgwZiwweGEwLDB4MDMsMHg2OCwweDAwLDB4ZmEsMHgwMCwweDdlLDB4ODAsMHgxYywweGEwLDB4MGIsMHgzYSwweDA0IH0gfSwKLXsgIDE2LCAweGMyMTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDAwLDB4ZTAsMHgwMiwweGY4LDB4MDAsMHgzZSwweDA0IH0gfSwKLXsgIDE2LCAweGMyMjAsIDAsIHsweDhmLDB4MDAsMHgwMywweGUwLDB4NGEsMHhmOCwweDEwLDB4MjYsMHgxOCwweDBmLDB4ODAsMHgwMywweGEwLDB4ODAsMHhmOCwweDAyIH0gfSwKLXsgIDE2LCAweGMyMzAsIDAsIHsweDNlLDB4MDAsMHg4ZiwweDAwLDB4MGIsMHhhMCwweDAwLDB4ZjgsMHgwMiwweDNlLDB4MDAsMHgwZiwweDgwLDB4MTMsMHhkMiwweDAwIH0gfSwKLXsgIDE2LCAweGMyNDAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTQsMHgyMCwweGM5LDB4MDAsMHgzMiwweDQwIH0gfSwKLXsgIDE2LCAweGMyNTAsIDAsIHsweDRkLDB4OTksMHgwMywweDI0LDB4MDAsMHhjOSwweDAyLDB4M2UsMHg2OCwweDBmLDB4OTAsMHgwMiwweDI0LDB4MDAsMHhlOSwweDAwIH0gfSwKLXsgIDE2LCAweGMyNjAsIDAsIHsweDMwLDB4NDAsMHg4YywweDkwLDB4MDMsMHgwNCwweDQwLDB4YzksMHgwMCwweDNlLDB4NDAsMHgwYywweDkwLDB4MDMsMHgwMiwweDA0IH0gfSwKLXsgIDE2LCAweGMyNzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA0LDB4NjQsMHgyMCwweDg5LDB4MDYsMHgyMiwweDUwIH0gfSwKLXsgIDE2LCAweGMyODAsIDAsIHsweDhiLDB4OWMsMHhjMiwweDI0LDB4MDAsMHhkOSwweDAxLDB4MmUsMHg0MCwweDBiLDB4OTAsMHg0MiwweDI0LDB4MDgsMHhiOSwweDAxIH0gfSwKLXsgIDE2LCAweGMyOTAsIDAsIHsweDIyLDB4NDYsMHgwZCwweDkwLDB4MGEsMHgyNiwweDAyLDB4ODksMHgwMCwweDJjLDB4NDAsMHgwYSwweDEwLDB4MDIsMHgyMCwweDAwIH0gfSwKLXsgIDE2LCAweGMyYTAsIDAsIHsweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDAxLDB4MDYsMHgwMCwweDkxLDB4NDAsMHg0MiwweDcwIH0gfSwKLXsgIDE2LCAweGMyYjAsIDAsIHsweDBiLDB4OTAsMHgxMiwweDJjLDB4MDIsMHg4YiwweDAwLDB4MmUsMHg0MCwweDBiLDB4MTAsMHgyMiwweGU0LDB4MTAsMHhiMSwweDAwIH0gfSwKLXsgIDE2LCAweGMyYzAsIDAsIHsweGEyLDB4NDAsMHg0OCwweDkwLDB4MTIsMHgyNCwweDA4LDB4OTksMHgwMiwweDJlLDB4NDAsMHgwOCwweDkwLDB4MDIsMHgwNiwweDAwIH0gfSwKLXsgIDE2LCAweGMyZDAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA0LDB4MDQsMHg5MiwweDkxLDB4MjAsMHhlMCwweDQ4IH0gfSwKLXsgIDE2LCAweGMyZTAsIDAsIHsweDBiLDB4MTIsMHgwMiwweDA0LDB4MDIsMHg5MSwweDEwLDB4MmMsMHhjMCwweDBiLDB4MTAsMHgwNiwweDg0LDB4YzAsMHhiMSwweDEwIH0gfSwKLXsgIDE2LCAweGMyZjAsIDAsIHsweDIwLDB4NDgsMHg4OSwweDExLDB4MDIsMHgwNSwweDgwLDB4OTEsMHg0MCwweDJlLDB4NDQsMHgyYSwweDk0LDB4MDIsMHgwMiwweDAxIH0gfSwKLXsgIDE2LCAweGMzMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjEsMHg0MCwweGQ4LDB4NTAsMHgzMCwweDE0IH0gfSwKLXsgIDE2LCAweGMzMTAsIDAsIHsweDBmLDB4ODUsMHgwYiwweDIxLDB4ZTAsMHg4MCwweDQwLDB4M2UsMHgwMCwweDBmLDB4ODcsMHg4YiwweGUxLDB4MGMsMHhmOCwweDZjIH0gfSwKLXsgIDE2LCAweGMzMjAsIDAsIHsweDMyLDB4MDAsMHg4NCwweDA2LDB4ODMsMHgyMCwweDA0LDB4ZDgsMHgyOCwweDNlLDB4MTAsMHgwYywweDAwLDB4MDMsMHgyZSwweDAzIH0gfSwKLXsgIDE2LCAweGMzMzAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5OCwweDFkLDB4ZjQsMHg0MCwweGFkLDB4MTAsMHgzZiwweDQ1IH0gfSwKLXsgIDE2LCAweGMzNDAsIDAsIHsweDBmLDB4OTEsMHgwMywweGZjLDB4MTgsMHg3ZCwweDIwLDB4MWYsMHg0MSwweDBmLDB4OTAsMHgwMywweDc0LDB4YzAsMHhmOSwweDIxIH0gfSwKLXsgIDE2LCAweGMzNTAsIDAsIHsweDNlLDB4NDQsMHgwZiwweDkyLDB4MDEsMHhlNCwweDQwLDB4ZTksMHgwMCwweDNkLDB4NDgsMHg0ZiwweGQwLDB4MDMsMHhlNiwweDA2IH0gfSwKLXsgIDE2LCAweGMzNjAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4ZjcsMHg4MCwweGZkLDB4ZTAsMHgzMywweDcwIH0gfSwKLXsgIDE2LCAweGMzNzAsIDAsIHsweDBjLDB4ZGEsMHgwMywweDI2LDB4MjAsMHhjOSwweDQwLDB4MzEsMHg0MCwweDBlLDB4OWEsMHgwMywweDI0LDB4MDAsMHhmOSwweDgwIH0gfSwKLXsgIDE2LCAweGMzODAsIDAsIHsweDNiLDB4NjAsMHgwZiwweDljLDB4ODMsMHgzNiwweGEwLDB4ZjksMHhhMSwweGIwLDB4NDAsMHgwZiwweDkxLDB4MDMsMHhjNiwweDAwIH0gfSwKLXsgIDE2LCAweGMzOTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzOCwweDEwLDB4ZTIsMHg5MCwweGI4LDB4YTAsMHgyMiwweDI4IH0gfSwKLXsgIDE2LCAweGMzYTAsIDAsIHsweDI4LDB4ODgsMHgwYSwweDIyLDB4MDIsMHg4OCwweGEwLDB4MjIsMHgwMCwweDA4LDB4ODgsMHgwMiwweGMyLDB4ODAsMHhiOCwweDg4IH0gfSwKLXsgIDE2LCAweGMzYjAsIDAsIHsweDIyLDB4MDQsMHgwYiwweDhlLDB4MDMsMHgyMiwweDgwLDB4YjgsMHhkMCwweDJhLDB4MjAsMHgwYiwweDg4LDB4MDIsMHhjZSwweDA0IH0gfSwKLXsgIDE2LCAweGMzYzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4YzUsMHg4MCwweGIxLDB4NjEsMHgwMCwweDU4IH0gfSwKLXsgIDE2LCAweGMzZDAsIDAsIHsweDQ4LDB4MTYsMHg4YSwweDA0LDB4YTAsMHg4OSwweDAxLDB4MjIsMHg0MCwweDFhLDB4MTQsMHg4OCwweDA0LDB4MjAsMHhiMSwweDQwIH0gfSwKLXsgIDE2LCAweGMzZTAsIDAsIHsweDI4LDB4NDAsMHgwYiwweDEwLDB4MGEsMHgwNCwweDIwLDB4YjEsMHgyYywweDIwLDB4NGEsMHgwYiwweDEyLDB4MDIsMHhjMiwweDAxIH0gfSwKLXsgIDE2LCAweGMzZjAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDE1LDB4YTUsMHg5MCwweGJiLDB4NDAsMHgyMCwweDQwIH0gfSwKLXsgIDE2LCAweGM0MDAsIDAsIHsweDA4LDB4OTAsMHgwMiwweDI0LDB4NDAsMHg4OSwweDQyLDB4NjIsMHg1OCwweDA4LDB4MTAsMHgwMiwweGU1LDB4MDAsMHhiOSwweDAzIH0gfSwKLXsgIDE2LCAweGM0MTAsIDAsIHsweDIyLDB4YzAsMHgwYiwweDkwLDB4MDIsMHhhNCwweDE0LDB4MzEsMHgwMCwweDJhLDB4NDQsMHgwYiwweDkwLDB4MDIsMHhjNiwweDA0IH0gfSwKLXsgIDE2LCAweGM0MjAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDEwLDB4YTUsMHgwMCwweGY5LDB4MDEsMHgzMiwweDQwIH0gfSwKLXsgIDE2LCAweGM0MzAsIDAsIHsweDhjLDB4OTAsMHgwMywweDI3LDB4MDAsMHhjMSwweDk0LDB4MzAsMHg0MCwweDBlLDB4OTAsMHgwMywweDI0LDB4MDAsMHhmOSwweDAwIH0gfSwKLXsgIDE2LCAweGM0NDAsIDAsIHsweDNhLDB4NDAsMHgwZiwweDkwLDB4MDMsMHgyNCwweDAwLDB4ZjksMHgwMCwweDMyLDB4NjAsMHgwNywweDkwLDB4MjcsMHhlOCwweDA1IH0gfSwKLXsgIDE2LCAweGM0NTAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDAwLDB4YTQsMHgxOCwweGY5LDB4MDAsMHhiZSwweDQ0IH0gfSwKLXsgIDE2LCAweGM0NjAsIDAsIHsweDBmLDB4OTAsMHgwMywweGM0LDB4MDAsMHhmOSwweDAwLDB4YmUsMHg2MSwweDhmLDB4OTAsMHgwMywweGE0LDB4MDAsMHhmMSwweDAwIH0gfSwKLXsgIDE2LCAweGM0NzAsIDAsIHsweDFlLDB4NDAsMHgwZiwweDEwLDB4MDMsMHgyNCwweDA4LDB4ZjksMHgwMCwweDdlLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhjYSwweDAwIH0gfSwKLXsgIDE2LCAweGM0ODAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTEsMHg4MSwweGY4LDB4MDAsMHgzMiwweDA0IH0gfSwKLXsgIDE2LCAweGM0OTAsIDAsIHsweDBjLDB4MDAsMHhkMywweDIxLDB4MDAsMHhkOCwweDA0LDB4M2EsMHgxNCwweDljLDB4ODAsMHgwMywweDIxLDB4MDEsMHhjOCwweDAwIH0gfSwKLXsgIDE2LCAweGM0YTAsIDAsIHsweDM2LDB4MDAsMHgwYywweDgwLDB4MTMsMHgyMCwweDEwLDB4YzgsMHgwMCwweDMyLDB4MDAsMHgyYywweDgwLDB4MDMsMHhjYSwweDA0IH0gfSwKLXsgIDE2LCAweGM0YjAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA0LDB4M2EsMHgwMCwweGJlLDB4ODQsMHgyMywweDg1IH0gfSwKLXsgIDE2LCAweGM0YzAsIDAsIHsweDA4LDB4ZWMsMHg4MywweDY4LDB4MDQsMHg4YSwweDAwLDB4MmYsMHg5MCwweDRkLDB4YTAsMHgwMiwweDI4LDB4MDEsMHhkYSwweDAwIH0gfSwKLXsgIDE2LCAweGM0ZDAsIDAsIHsweDIzLDB4YjAsMHgwYSwweGEwLDB4MDIsMHgyYSwweDA4LDB4ZGEsMHgwMSwweDIyLDB4ODAsMHgwZiwweGEwLDB4MDIsMHhjYSwweDAwIH0gfSwKLXsgIDE2LCAweGM0ZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NGMsMHgwMCwweGJiLDB4ZjAsMHgyMCwweGMwIH0gfSwKLXsgIDE2LCAweGM0ZjAsIDAsIHsweDA4LDB4M2MsMHgwYSwweDBjLDB4MDAsMHg5MywweDAxLDB4MjgsMHhjOCwweDg5LDB4MzAsMHgwNiwweDRjLDB4MDAsMHg4MywweDAyIH0gfSwKLXsgIDE2LCAweGM1MDAsIDAsIHsweDJjLDB4ZjYsMHgwOCwweDMwLDB4MDIsMHgwNCwweDAwLDB4YTMsMHgwMCwweDIwLDB4YzAsMHgwYSwweDMwLDB4MDIsMHhjYSwweDAwIH0gfSwKLXsgIDE2LCAweGM1MTAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMCwweDAxLDB4MWQsMHgxMSwweGIzLDB4MDAsMHhhMCwweGMwIH0gfSwKLXsgIDE2LCAweGM1MjAsIDAsIHsweDA4LDB4NTAsMHgwMiwweDVjLDB4MTAsMHg4NywweDAxLDB4NmQsMHg4MSwweDQ5LDB4MzIsMHg1MiwweDFlLDB4YzMsMHg4NywweDAwIH0gfSwKLXsgIDE2LCAweGM1MzAsIDAsIHsweDI4LDB4ZTAsMHgwYSwweDMyLDB4MjYsMHgxZiwweDAwLDB4MzcsMHgwMCwweDIzLDB4ZTAsMHgwYiwweDcyLDB4MDIsMHhjOCwweDAwIH0gfSwKLXsgIDE2LCAweGM1NDAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA4LDB4MTIsMHgwMCwweGI3LDB4ODIsMHgzMSwweDIwIH0gfSwKLXsgIDE2LCAweGM1NTAsIDAsIHsweDA4LDB4MDgsMHgzNywweDBmLDB4MDgsMHhkNywweGUwLDB4MzksMHg2MCwweDE5LDB4N2EsMHgwYiwweDVlLDB4MGMsMHg4MywweGIyIH0gfSwKLXsgIDE2LCAweGM1NjAsIDAsIHsweDdkLDB4ZTAsMHgwYywweDdhLDB4MGIsMHgzZSwweDAyLDB4YWYsMHhhMCwweGIxLDB4ZTAsMHgwZSwweDdhLDB4MDMsMHhjYSwweDAyIH0gfSwKLXsgIDE2LCAweGM1NzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDFkLDB4YTAsMHgxMCwweGZiLDB4MDAsMHgzZSwweGMwIH0gfSwKLXsgIDE2LCAweGM1ODAsIDAsIHsweDZmLDB4YjAsMHg0MywweGVjLDB4MTEsMHhmYiwweDAwLDB4M2UsMHg0MCwweDBmLDB4YjUsMHgwMywweGVjLDB4MjAsMHhmYiwweDUwIH0gfSwKLXsgIDE2LCAweGM1OTAsIDAsIHsweDM2LDB4MDAsMHgwZiwweGI1LDB4NDMsMHhlNSwweGExLDB4ZGIsMHg3OCwweDNlLDB4YzAsMHgwZiwweGI0LDB4MDMsMHhjMiwweDA2IH0gfSwKLXsgIDE2LCAweGM1YTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDA1LDB4ZmUsMHgwMCwweGZmLDB4YTAsMHgzZiwweGEwIH0gfSwKLXsgIDE2LCAweGM1YjAsIDAsIHsweDBkLDB4YzksMHgxMywweDNlLDB4MDAsMHhjZiwweGQwLDB4M2QsMHhlOCwweDAyLDB4ZmYsMHgxMywweDNlLDB4MDAsMHhjZiwweDgyIH0gfSwKLXsgIDE2LCAweGM1YzAsIDAsIHsweDNmLDB4NjAsMHgwYywweGZjLDB4MjMsMHgzZSwweDEwLDB4ZWYsMHg4MCwweDMzLDB4ZjIsMHgwYywweGZjLDB4ODMsMHgxMCwweDAwIH0gfSwKLXsgIDE2LCAweGM1ZDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDExLDB4OWMsMHg0MCwweGI1LDB4MDEsMHgyZCwweGQwIH0gfSwKLXsgIDE2LCAweGM1ZTAsIDAsIHsweDA4LDB4NTgsMHgwMiwweDFjLDB4NDAsMHg1NywweDEwLDB4MmQsMHg1YSwweDI4LDB4MzEsMHgwMiwweGJjLDB4MDEsMHg5NywweDEwIH0gfSwKLXsgIDE2LCAweGM1ZjAsIDAsIHsweDJkLDB4MDAsMHgwYSwweDcwLDB4MDIsMHg4NCwweDA0LDB4Y2YsMHgwMCwweDI5LDB4YzAsMHgwYSwweGYwLDB4MDIsMHgyYSwweDA0IH0gfSwKLXsgIDE2LCAweGM2MDAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OTAsMHgwMCwweGI3LDB4MmEsMHgyZCwweDgyIH0gfSwKLXsgIDE2LCAweGM2MTAsIDAsIHsweDA4LDB4NDIsMHgyMiwweDNjLDB4MDAsMHg4NywweDExLDB4MGQsMHhjYywweDg4LDB4MzIsMHgwMiwweDFkLDB4MDAsMHg5NywweDAwIH0gfSwKLXsgIDE2LCAweGM2MjAsIDAsIHsweDJjLDB4YzQsMHgwOCwweDMwLDB4MDIsMHgxNCwweDAwLDB4YTcsMHgwMCwweDIzLDB4YzAsMHgwOSwweDcwLDB4ODIsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGM2MzAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg2MCwweDE0LDB4YzAsMHgyMCwweGIwLDB4MjAsMHgyYywweDUwIH0gfSwKLXsgIDE2LCAweGM2NDAsIDAsIHsweDA4LDB4MTAsMHgwMiwweDJkLDB4YzAsMHg5MywweGUyLDB4MmMsMHgyMSwweDA4LDB4MzAsMHgwMiwweDBlLDB4MDgsMHg5MywweDAwIH0gfSwKLXsgIDE2LCAweGM2NTAsIDAsIHsweDJjLDB4NDAsMHgwYSwweDMwLDB4MDIsMHg4YywweDAwLDB4OTMsMHgwMCwweDJhLDB4YzAsMHgwYiwweDMwLDB4MDIsMHgxOCwweDA0IH0gfSwKLXsgIDE2LCAweGM2NjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YWMsMHgwMCwweGY4LDB4YzAsMHgzZSwweDgwIH0gfSwKLXsgIDE2LCAweGM2NzAsIDAsIHsweDJjLDB4YTAsMHgwYiwweDNmLDB4MDAsMHhjNywweDYwLDB4M2UsMHhkMCwweDBjLDB4ZjAsMHgwYiwweDNjLDB4MDAsMHhjZiwweDAwIH0gfSwKLXsgIDE2LCAweGM2ODAsIDAsIHsweDNlLDB4ODAsMHgwYywweGYwLDB4MGIsMHgyYywweDAwLDB4ZWYsMHgwMCwweDMzLDB4YzEsMHgwZCwweGYwLDB4MGIsMHgyYSwweDA0IH0gfSwKLXsgIDE2LCAweGM2OTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDAwLDB4ZWMsMHg0MCwweGYzLDB4NDAsMHgzZSwweDUwIH0gfSwKLXsgIDE2LCAweGM2YTAsIDAsIHsweDhlLDB4YjQsMHgwMywweGVjLDB4MTAsMHhmYiwweDAwLDB4M2UsMHgwOSwweDBmLDB4YjAsMHgxMywweGVjLDB4NDIsMHhlYiwweDAwIH0gfSwKLXsgIDE2LCAweGM2YjAsIDAsIHsweDNjLDB4MDAsMHg4ZiwweGIwLDB4MTMsMHhjNCwweDExLDB4ZTMsMHgwMCwweDNlLDB4YzAsMHgwZSwweGIwLDB4MDMsMHhlMCwweDAwIH0gfSwKLXsgIDE2LCAweGM2YzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZmMsMHgwMCwweGZjLDB4ODAsMHgzMSwweDIyIH0gfSwKLXsgIDE2LCAweGM2ZDAsIDAsIHsweDBjLDB4YTgsMHgwMywweDNjLDB4MDAsMHhjZiwweDAwLDB4MzMsMHhhMCwweDBlLDB4ZjAsMHgwMywweGRjLDB4MDAsMHhjZiwweDAwIH0gfSwKLXsgIDE2LCAweGM2ZTAsIDAsIHsweDFmLDB4ZjAsMHgwYywweGYwLDB4MDMsMHhmNCwweDAwLDB4Y2YsMHgwMiwweDMzLDB4YzAsMHgwYywweGYwLDB4MDIsMHgwMCwweDU0IH0gfSwKLXsgIDE2LCAweGM2ZjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MSwweDA0LDB4NmYsMHgwMCwweGJiLDB4YzAsMHgyMiwweDcwIH0gfSwKLXsgIDE2LCAweGM3MDAsIDAsIHsweDBhLDB4YjksMHg0MiwweDJjLDB4MTAsMHg4YiwweDAwLDB4NzYsMHgxMSwweDgzLDB4YjAsMHgwMiwweGVjLDB4MTAsMHhhYiwweDAwIH0gfSwKLXsgIDE2LCAweGM3MTAsIDAsIHsweDJlLDB4YjAsMHgwYSwweGIwLDB4MDMsMHhlYywweDA0LDB4OGIsMHgwMCwweGEyLDB4YzAsMHgyOCwweGIwLDB4MDIsMHgyMCwweDQwIH0gfSwKLXsgIDE2LCAweGM3MjAsIDAsIHsweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4NjUsMHg0MCwweGI4LDB4MjAsMHgyMiwweDQ0IH0gfSwKLXsgIDE2LCAweGM3MzAsIDAsIHsweDU4LDB4MzQsMHgwYSwweDJjLDB4MDAsMHg4YiwweDAwLDB4MjIsMHg4NCwweDRiLDB4YjAsMHgwMiwweGVjLDB4MDAsMHg4YiwweDAwIH0gfSwKLXsgIDE2LCAweGM3NDAsIDAsIHsweDZlLDB4YzAsMHgwOCwweGIwLDB4NDIsMHhlNiwweDA0LDB4OGIsMHgwMCwweDAyLDB4YzAsMHgwOCwweDMwLDB4MDIsMHhhMCwweDAxIH0gfSwKLXsgIDE2LCAweGM3NTAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwYywweDAwLDB4MDAsMHgwMCwweGIxLDB4MDAsMHgyMCwweGMwIH0gfSwKLXsgIDE2LCAweGM3NjAsIDAsIHsweDBhLDB4MzAsMHgwYSwweDBjLDB4MDAsMHg4YiwweDAzLDB4MjQsMHg4MCwweDBiLDB4MzAsMHgwMiwweGNjLDB4MDAsMHhhMywweDAwIH0gfSwKLXsgIDE2LCAweGM3NzAsIDAsIHsweDZjLDB4MDAsMHgwYSwweDMwLDB4MDIsMHg4ZCwweDAwLDB4ODMsMHgwMCwweDIwLDB4YzAsMHgxOCwweDMwLDB4MDIsMHg4MiwweDAwIH0gfSwKLXsgIDE2LCAweGM3ODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4NjQsMHgwMCwweGY4LDB4MDAsMHgzMCwweDAwIH0gfSwKLXsgIDE2LCAweGM3OTAsIDAsIHsweDRjLDB4YTAsMHgwYiwweDJjLDB4MDIsMHhjZiwweDAwLDB4MjIsMHg0MCwweDBlLDB4ZjUsMHgwMywweGZjLDB4MDAsMHhjZiwweDAxIH0gfSwKLXsgIDE2LCAweGM3YTAsIDAsIHsweDNlLDB4MDAsMHgwYywweGYwLDB4MTIsMHhkZCwweDAyLDB4Y2YsMHgwMiwweDMzLDB4YzAsMHg0YywweGYwLDB4MGIsMHg4MCwweDAzIH0gfSwKLXsgIDE2LCAweGM3YjAsIDAsIHsweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhNCwweDE5LDB4ZjAsMHgwMCwweGZjLDB4MDAsMHgzZiwweDQwIH0gfSwKLXsgIDE2LCAweGM3YzAsIDAsIHsweDBmLDB4YjEsMHgwMywweGRjLDB4MDAsMHhiZiwweDAxLDB4M2YsMHgwMCwweDBmLDB4ZjIsMHgyMywweGZjLDB4MTAsMHhmZiwweDAwIH0gfSwKLXsgIDE2LCAweGM3ZDAsIDAsIHsweDNmLDB4MDAsMHgwZiwweGYwLDB4MDEsMHhmNCwweDg0LDB4ZmYsMHgwMCwweDNkLDB4YzAsMHg0ZiwweGYwLDB4MTMsMHg2OCwweDA2IH0gfSwKLXsgIDE2LCAweGM3ZTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZmUsMHg0MCwweGRmLDB4ODAsMHgzMywweGM4IH0gfSwKLXsgIDE2LCAweGM3ZjAsIDAsIHsweDBjLDB4ZjgsMHgwMywweDNjLDB4MGEsMHg5ZiwweGMwLDB4M2YsMHhmMCwweDA4LDB4YjgsMHgwMiwweDNlLDB4MDAsMHhmZiwweDgwIH0gfSwKLXsgIDE2LCAweGM4MDAsIDAsIHsweDNmLDB4ZDgsMHgwYywweGY5LDB4NjEsMHgyZSwweDQwLDB4NmYsMHg5MCwweDNmLDB4ZTQsMHg4ZiwweGYxLDB4ODMsMHgzMCwweDAwIH0gfSwKLXsgIDE2LCAweGM4MTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDEwLDB4ZWMsMHgwNCwweDhiLDB4ODAsMHgyMywweGYwIH0gfSwKLXsgIDE2LCAweGM4MjAsIDAsIHsweDA4LDB4YjgsMHgwMiwweDNkLDB4NDAsMHhhYiwweDAwLDB4MGUsMHgwOCwweDQ4LDB4MjIsMHg4MiwweDZjLDB4MjAsMHhiYiwweDAwIH0gfSwKLXsgIDE2LCAweGM4MzAsIDAsIHsweDJmLDB4ZDAsMHg0OCwweGIwLDB4MDIsMHgyYywweDAwLDB4YmIsMHgwMCwweDJlLDB4YzEsMHgwYiwweGIwLDB4MDIsMHgzMCwweDA0IH0gfSwKLXsgIDE2LCAweGM4NDAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4Y2MsMHgwMiwweDgzLDB4MDEsMHhhMCwweGM1IH0gfSwKLXsgIDE2LCAweGM4NTAsIDAsIHsweDA4LDB4YjAsMHg0YSwweDRjLDB4YTAsMHg4MCwweDI0LDB4MjgsMHhjOCwweDA5LDB4MzIsMHgwMiwweDRjLDB4MDAsMHhiMywweDA4IH0gfSwKLXsgIDE2LCAweGM4NjAsIDAsIHsweDJlLDB4ZDEsMHgyOSwweGIyLDB4M2EsMHgwYywweDg0LDB4YTMsMHgyMSwweDJjLDB4YzgsMHg0YiwweGIyLDB4MGEsMHgzMiwweDAxIH0gfSwKLXsgIDE2LCAweGM4NzAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDE1LDB4YWMsMHgwOCwweDhiLDB4MDAsMHgyMiwweGMwIH0gfSwKLXsgIDE2LCAweGM4ODAsIDAsIHsweDA4LDB4YjAsMHgwMiwweDRjLDB4MDAsMHg4OCwweDIxLDB4MjQsMHgyMSwweDA5LDB4YjAsMHg0NiwweDZjLDB4MDAsMHhiYiwweDA2IH0gfSwKLXsgIDE2LCAweGM4OTAsIDAsIHsweDJlLDB4YzAsMHgwOSwweGIwLDB4MDIsMHgyYywweDEwLDB4YmIsMHgwMCwweDJlLDB4YzAsMHgwYiwweGIwLDB4MDIsMHgzMCwweDA0IH0gfSwKLXsgIDE2LCAweGM4YTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDE1LDB4ZWMsMHgwMCwweGNiLDB4MDAsMHgzMiwweGMwIH0gfSwKLXsgIDE2LCAweGM4YjAsIDAsIHsweDBjLDB4YjksMHgwMiwweDZjLDB4MDAsMHhjYiwweGM4LDB4M2EsMHhjMCwweDJkLDB4OTAsMHgwYiwweDJjLDB4MDgsMHhmYiwweDAwIH0gfSwKLXsgIDE2LCAweGM4YzAsIDAsIHsweDNlLDB4YzAsMHgwZCwweDMwLDB4NDIsMHgyYywweDAwLDB4ZWIsMHgwMCwweDNlLDB4YzAsMHgwZiwweGIwLDB4MTMsMHgwMCwweDA0IH0gfSwKLXsgIDE2LCAweGM4ZDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDAxLDB4YmMsMHgwMCwweGVmLDB4MDAsMHgzZCwweGMwIH0gfSwKLXsgIDE2LCAweGM4ZTAsIDAsIHsweDBmLDB4ZjAsMHgwMywweGJjLDB4MDYsMHhlZiwweDgyLDB4M2YsMHg0MCwweDRlLDB4YzksMHg4MywweGJjLDB4MDAsMHhmZiwweDAwIH0gfSwKLXsgIDE2LCAweGM4ZjAsIDAsIHsweDdmLDB4YzAsMHgxYywweGYwLDB4MTMsMHg3YywweDAwLDB4ZmYsMHgwNCwweDNmLDB4YzAsMHgwZiwweGYwLDB4MDMsMHhmOCwweDAwIH0gfSwKLXsgIDE2LCAweGM5MDAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YWMsMHgwMCwweGZiLDB4MDIsMHgzZSwweGMwIH0gfSwKLXsgIDE2LCAweGM5MTAsIDAsIHsweDBlLDB4YjAsMHgwMywweGFjLDB4MjAsMHhkOCwweDQwLDB4M2UsMHhjMCwweDhjLDB4OTAsMHgwYiwweDJjLDB4MDAsMHhmYiwweDAwIH0gfSwKLXsgIDE2LCAweGM5MjAsIDAsIHsweDNlLDB4YzksMHgwZCwweGIwLDB4MzMsMHhlYywweDA4LDB4ZmIsMHgwMiwweDNlLDB4YzAsMHgwZiwweGIwLDB4MGIsMHg1NCwweDA0IH0gfSwKLXsgIDE2LCAweGM5MzAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjOCwweDA1LDB4MmMsMHgwMCwweGIzLDB4MDAsMHgyZiwweGMwIH0gfSwKLXsgIDE2LCAweGM5NDAsIDAsIHsweDBiLDB4MzAsMHgxMiwweGZjLDB4MDAsMHg4OCwweGEwLDB4MmUsMHg0MCwweDI4LDB4OTQsMHgwMiwweDJjLDB4MTAsMHhiYiwweDA0IH0gfSwKLXsgIDE2LCAweGM5NTAsIDAsIHsweDJkLDB4YzAsMHgyOCwweGIwLDB4MDIsMHhlYywweDAwLDB4YmIsMHgwMCwweDJlLDB4YzAsMHgwYiwweDcyLDB4MDYsMHgzMiwweDAwIH0gfSwKLXsgIDE2LCAweGM5NjAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NmMsMHgwMCwweGIzLDB4MDAsMHgyYywweGUwIH0gfSwKLXsgIDE2LCAweGM5NzAsIDAsIHsweDBhLDB4MTAsMHgwMiwweGNkLDB4MDAsMHg5MywweDAwLDB4MmMsMHhjMCwweDA4LDB4YjAsMHgwMiwweDRjLDB4MDAsMHhiMywweDAwIH0gfSwKLXsgIDE2LCAweGM5ODAsIDAsIHsweDI4LDB4YzAsMHgwOCwweDMwLDB4MDIsMHhjYywweDAwLDB4YjMsMHgwMCwweDJjLDB4YzAsMHgwYiwweDMwLDB4MDIsMHgzYSwweDAwIH0gfSwKLXsgIDE2LCAweGM5OTAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMCwweDAxLDB4MWUsMHg0MCwweGI3LDB4ODAsMHgyZCwweGUyIH0gfSwKLXsgIDE2LCAweGM5YTAsIDAsIHsweDBiLDB4NTgsMHgwMiwweGRlLDB4MDIsMHg5NywweDgxLDB4MmYsMHhhMCwweDA4LDB4NjgsMHgwMiwweDVlLDB4MDAsMHhiNywweDgxIH0gfSwKLXsgIDE2LCAweGM5YjAsIDAsIHsweDJmLDB4ZTAsMHgwOCwweDc5LDB4MDIsMHhkZSwweDAwLDB4YjcsMHg4MSwweDJkLDB4ZTAsMHgwYiwweDc4LDB4MDIsMHgzYywweDAwIH0gfSwKLXsgIDE2LCAweGM5YzAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MGMsMHgwMCwweGYzLDB4MDAsMHgzYywweGMwIH0gfSwKLXsgIDE2LCAweGM5ZDAsIDAsIHsweDBlLDB4MzIsMHgwMywweGNjLDB4ODAsMHhkMywweDAwLDB4M2MsMHhjNCwweDBjLDB4MzksMHgwMywweDRjLDB4MDgsMHhmMywweDFhIH0gfSwKLXsgIDE2LCAweGM5ZTAsIDAsIHsweDNjLDB4YzYsMHgwZCwweDMwLDB4MDMsMHhjZSwweDIwLDB4ZjMsMHgwOCwweDNjLDB4YzAsMHgwZiwweDMwLDB4MDMsMHg1MiwweDAyIH0gfSwKLXsgIDE2LCAweGM5ZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDFkLDB4YWMsMHgwMCwweGZiLDB4MDAsMHgyZSwweGMwIH0gfSwKLXsgIDE2LCAweGNhMDAsIDAsIHsweDBiLDB4YjAsMHgwMywweGNjLDB4MjAsMHhlYiwweDAwLDB4M2MsMHg4MCwweDBmLDB4YjAsMHg0MSwweGFjLDB4MDAsMHhmYiwweDAwIH0gfSwKLXsgIDE2LCAweGNhMTAsIDAsIHsweDNjLDB4YzIsMHgwZiwweGIwLDB4MDMsMHhlYywweDQwLDB4ZmIsMHgwMCwweDNlLDB4YzAsMHgwZiwweDMwLDB4MDMsMHhkMCwweDA2IH0gfSwKLXsgIDE2LCAweGNhMjAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZWUsMHgwMiwweGMzLDB4ODAsMHgzMCwweGNlIH0gfSwKLXsgIDE2LCAweGNhMzAsIDAsIHsweDBkLDB4OTgsMHgwMywweGFjLDB4YTAsMHhjMywweDgwLDB4YjIsMHhjMCwweDBmLDB4YjAsMHgwMywweGVjLDB4MDAsMHhmYiwweDAwIH0gfSwKLXsgIDE2LCAweGNhNDAsIDAsIHsweDNlLDB4ZDIsMHg0ZiwweGIwLDB4MDksMHgyZSwweDA4LDB4NGIsMHgwMSwweDNlLDB4YzAsMHgyNCwweGIwLDB4MDMsMHhlYSwweDAwIH0gfSwKLXsgIDE2LCAweGNhNTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDExLDB4OWMsMHgwMCwweDg3LDB4MDEsMHgyMSwweGMwIH0gfSwKLXsgIDE2LCAweGNhNjAsIDAsIHsweDQ4LDB4NTAsMHgxMiwweDRjLDB4MDAsMHg4NywweDAwLDB4MzUsMHhjMCwweDRiLDB4NjAsMHgwMiwweGRjLDB4MDQsMHhiNywweDAxIH0gfSwKLXsgIDE2LCAweGNhNzAsIDAsIHsweDJkLDB4YzAsMHgwYiwweDcwLDB4MDIsMHgxYywweDAwLDB4ODcsMHgwMCwweDJkLDB4YzEsMHgwYywweDcyLDB4MDIsMHhmMiwweDA0IH0gfSwKLXsgIDE2LCAweGNhODAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4OWUsMHgwMCwweDg3LDB4ODAsMHgyMywweGUwIH0gfSwKLXsgIDE2LCAweGNhOTAsIDAsIHsweDA4LDB4ZjgsMHgwMiwweGRlLDB4ODAsMHg4ZiwweDgxLDB4MjEsMHhlMCwweDRiLDB4NzgsMHgxMiwweGRlLDB4MDQsMHgzNywweDgwIH0gfSwKLXsgIDE2LCAweGNhYTAsIDAsIHsweDJkLDB4ZTgsMHgwYiwweGY4LDB4MDIsMHgzZSwweDE4LDB4ODcsMHg4MCwweDJmLDB4ZTAsMHgwOSwweDc5LDB4MDIsMHhlMCwweDAwIH0gfSwKLXsgIDE2LCAweGNhYjAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDE0LDB4Y2MsMHgwMCwweDgzLDB4MDAsMHhhMCwweGMwIH0gfSwKLXsgIDE2LCAweGNhYzAsIDAsIHsweDI4LDB4MzAsMHg0MiwweDRjLDB4MDAsMHg4MywweDAwLDB4MjQsMHhjMCwweDBiLDB4MzgsMHgwNiwweGNjLDB4MDQsMHhiMywweDAwIH0gfSwKLXsgIDE2LCAweGNhZDAsIDAsIHsweDJjLDB4YzAsMHgwYiwweDMwLDB4MDIsMHgwYywweDAyLDB4ODMsMHgwMCwweDJjLDB4YzAsMHgwOCwweDMwLDB4MDIsMHhkMiwweDA0IH0gfSwKLXsgIDE2LCAweGNhZTAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YTgsMHgwMCwweGNhLDB4MDAsMHgzMSwweDgwIH0gfSwKLXsgIDE2LCAweGNhZjAsIDAsIHsweDA4LDB4ZTAsMHgwMiwweDk4LDB4MDIsMHhjZSwweDAwLDB4MzMsMHg4NCwweDBiLDB4ZWEsMHgwMywweGU4LDB4MDAsMHhiYSwweDAwIH0gfSwKLXsgIDE2LCAweGNiMDAsIDAsIHsweDNmLDB4ODEsMHgwZiwweGEwLDB4MDMsMHgyOCwweDAwLDB4Y2EsMHgwMCwweDNlLDB4ODAsMHgwZCwweGUwLDB4MDMsMHhmYSwweDA0IH0gfSwKLXsgIDE2LCAweGNiMTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDAwLDB4ZTAsMHgwMCwweGY4LDB4MDAsMHgzZSwweDAwIH0gfSwKLXsgIDE2LCAweGNiMjAsIDAsIHsweDBlLDB4ODQsMHgyMywweGEwLDB4MDAsMHhmOCwweDAwLDB4M2EsMHgxMCwweDBmLDB4ODAsMHgwMywweGUwLDB4MDAsMHhmOCwweDAwIH0gfSwKLXsgIDE2LCAweGNiMzAsIDAsIHsweDNlLDB4MTAsMHgwZiwweDgwLDB4MTMsMHhlMCwweDAwLDB4ZjgsMHgwMCwweDNlLDB4MDAsMHgwZCwweDgwLDB4MDMsMHhkMiwweDAwIH0gfSwKLXsgIDE2LCAweGNiNDAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTQsMHgwMSwweGY5LDB4MDAsMHgzZSwweDQwIH0gfSwKLXsgIDE2LCAweGNiNTAsIDAsIHsweDBjLDB4OWEsMHgxMywweGU0LDB4MDAsMHhjOSwweDAwLDB4M2UsMHg0MCwweDBjLDB4OTgsMHgyMywweGU0LDB4ODAsMHhmOSwweDAwIH0gfSwKLXsgIDE2LCAweGNiNjAsIDAsIHsweDNlLDB4NDAsMHgyYywweDk4LDB4MDMsMHg2NCwweDAwLDB4ZjksMHgwMCwweDNlLDB4NDAsMHgwYywweDkwLDB4MDMsMHhjMiwweDA0IH0gfSwKLXsgIDE2LCAweGNiNzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA0LDB4NjQsMHgwNCwweGI5LDB4MDAsMHgyZSwweDQwIH0gfSwKLXsgIDE2LCAweGNiODAsIDAsIHsweDY4LDB4OWMsMHgyMiwweGU0LDB4MDIsMHg4OSwweDAxLDB4N2MsMHg1MCwweDhkLDB4OTgsMHgyMiwweGU0LDB4ODAsMHhiOSwweDIwIH0gfSwKLXsgIDE2LCAweGNiOTAsIDAsIHsweDJlLDB4NTAsMHg0OCwweDEwLDB4MGIsMHgyNSwweDAwLDB4YjksMHg0NCwweDJjLDB4NDAsMHgyOCwweDkwLDB4MDAsMHhlMCwweDAwIH0gfSwKLXsgIDE2LCAweGNiYTAsIDAsIHsweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4MjQsMHgwMCwweGI5LDB4MDAsMHgyZSwweDUwIH0gfSwKLXsgIDE2LCAweGNiYjAsIDAsIHsweDA4LDB4OTAsMHgwMiwweGU0LDB4MDQsMHg4OSwweDAwLDB4MmUsMHg1MCwweDBhLDB4OTIsMHgwMiwweGU0LDB4MDAsMHhiOSwweDAwIH0gfSwKLXsgIDE2LCAweGNiYzAsIDAsIHsweDJjLDB4NDAsMHgwOCwweDkxLDB4MDIsMHgyNCwweDAwLDB4YjksMHgwMCwweDJlLDB4NDAsMHgwOCwweDkwLDB4MDIsMHhjNiwweDAwIH0gfSwKLXsgIDE2LCAweGNiZDAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA0LDB4MDUsMHgwMCwweGIxLDB4MDEsMHgyYywweDQwIH0gfSwKLXsgIDE2LCAweGNiZTAsIDAsIHsweDQ4LDB4MzAsMHgwMiwweGU0LDB4MDAsMHg4MSwweDAwLDB4MmEsMHg0MCwweDRiLDB4MTAsMHgwMiwweGM0LDB4MDAsMHhiMSwweDAwIH0gfSwKLXsgIDE2LCAweGNiZjAsIDAsIHsweDBjLDB4YzAsMHgwOCwweDkwLDB4MDIsMHgwYywweDAwLDB4YjMsMHgwMCwweDJlLDB4NDAsMHg0OCwweDEyLDB4MDIsMHhjMiwweDAxIH0gfSwKLXsgIDE2LCAweGNjMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjAsMHgwMCwweGI4LDB4MDEsMHgzZSwweDAwIH0gfSwKLXsgIDE2LCAweGNjMTAsIDAsIHsweDFjLDB4ODAsMHgwNywweGUxLDB4NTAsMHhjOCwweDUwLDB4MmUsMHgxNCwweDFlLDB4ODUsMHgwMywweGUxLDB4NDEsMHhmOCwweDUwIH0gfSwKLXsgIDE2LCAweGNjMjAsIDAsIHsweDNlLDB4MTQsMHgwYywweDg1LDB4MTMsMHgyMSwweDQ4LDB4ZjgsMHg1MCwweDNlLDB4MTQsMHgwYywweDg1LDB4NDMsMHhlZSwweDAzIH0gfSwKLXsgIDE2LCAweGNjMzAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5OCwweDE5LDB4YzQsMHgwMCwweGY5LDB4MDAsMHgzZSwweDUxIH0gfSwKLXsgIDE2LCAweGNjNDAsIDAsIHsweDBmLDB4NTAsMHgwMywweGU1LDB4MDAsMHhmZCwweDAwLDB4M2YsMHg0MCwweDFkLDB4ZDAsMHgwMywweGY0LDB4MTAsMHhmOSwweDAwIH0gfSwKLXsgIDE2LCAweGNjNTAsIDAsIHsweDNlLDB4NTAsMHgwZiwweDUwLDB4MDAsMHg5NCwweDAwLDB4ZjksMHgwMCwweDNkLDB4NDAsMHgwZiwweDkxLDB4MDMsMHhlNiwweDA2IH0gfSwKLXsgIDE2LCAweGNjNjAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDAxLDB4ZTQsMHg1MCwweGNkLDB4MDAsMHgzMSwweDYwIH0gfSwKLXsgIDE2LCAweGNjNzAsIDAsIHsweDA0LDB4ZDAsMHgwMywweDM2LDB4ODAsMHhjMSwweDQyLDB4MmUsMHg1MCwweDFmLDB4OTQsMHgwMywweGU1LDB4MDAsMHhlOSwweDAyIH0gfSwKLXsgIDE2LCAweGNjODAsIDAsIHsweDJlLDB4NzIsMHgwYSwweDkwLDB4MjIsMHgwNSwweDA4LDB4ZTksMHg0MCwweDNlLDB4NTAsMHg0MCwweDljLDB4MDMsMHgyNiwweDAwIH0gfSwKLXsgIDE2LCAweGNjOTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzOCwweDEwLDB4YzIsMHg4MiwweDg4LDB4MDAsMHgyMiwweDE1IH0gfSwKLXsgIDE2LCAweGNjYTAsIDAsIHsweDA4LDB4ODAsMHgwMiwweDIzLDB4NTgsMHg4OCwweGEwLDB4MmUsMHgyOCwweDBiLDB4YWEsMHg0MiwweGUyLDB4ODIsMHg4OCwweDgwIH0gfSwKLXsgIDE2LCAweGNjYjAsIDAsIHsweDJlLDB4MzgsMHgyOCwweDg4LDB4MDIsMHgyMiwweDgwLDB4YjgsMHhhMCwweDNhLDB4MjgsMHgwOCwweGNkLDB4MDIsMHgwZSwweDA0IH0gfSwKLXsgIDE2LCAweGNjYzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4YzQsMHgwMCwweDgxLDB4MDAsMHhhNiwweDQwIH0gfSwKLXsgIDE2LCAweGNjZDAsIDAsIHsweDI4LDB4MTAsMHgwYSwweDI0LDB4MjYsMHg5NSwweDAwLDB4MGQsMHg0MCwweDBiLDB4NTAsMHgwMiwweDc0LDB4MDAsMHg4NSwweDA4IH0gfSwKLXsgIDE2LCAweGNjZTAsIDAsIHsweDJmLDB4NDAsMHg3OSwweGQyLDB4YWEsMHgxNCwweDAwLDB4YTUsMHgwMSwweDJmLDB4NDAsMHgzOCwweDUwLDB4MDIsMHgxMiwweDAxIH0gfSwKLXsgIDE2LCAweGNjZjAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDE1LDB4YTQsMHgwNCwweDg5LDB4MDAsMHgyNiwweDQwIH0gfSwKLXsgIDE2LCAweGNkMDAsIDAsIHsweDA4LDB4OTEsMHgwMiwweDI0LDB4MTAsMHg5ZCwweDA4LDB4MmYsMHg0MCwweDBiLDB4ZDAsMHgwMiwweGY0LDB4MDAsMHg4ZCwweDAyIH0gfSwKLXsgIDE2LCAweGNkMTAsIDAsIHsweDJmLDB4NDAsMHgwOSwweGQwLDB4MDAsMHgzNCwweDAwLDB4YmQsMHgwMCwweDBiLDB4NDAsMHgxOCwweDcwLDB4MDIsMHgwNiwweDA0IH0gfSwKLXsgIDE2LCAweGNkMjAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4YzQsMHgwMCwweGM5LDB4MDUsMHgzNiwweDQxIH0gfSwKLXsgIDE2LCAweGNkMzAsIDAsIHsweDRjLDB4OTAsMHg2MywweDI0LDB4MDAsMHhkOSwweDAwLDB4M2UsMHg0MCwweDBiLDB4OTAsMHgwMywweDQ0LDB4MDgsMHhjOSwweDAwIH0gfSwKLXsgIDE2LCAweGNkNDAsIDAsIHsweDNlLDB4NDAsMHgxNSwweDEwLDB4MDMsMHgyNCwweDAwLDB4ZTksMHgwMCwweDNjLDB4NDAsMHgwYywweDkwLDB4MDMsMHgyOCwweDA0IH0gfSwKLXsgIDE2LCAweGNkNTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDAxLDB4YTQsMHgwNCwweGY5LDB4MDAsMHgzYSwweDQwIH0gfSwKLXsgIDE2LCAweGNkNjAsIDAsIHsweDRmLDB4OTgsMHgwMywweGU0LDB4MDAsMHhlOSwweDk5LDB4M2UsMHg0MCwweDRmLDB4OTAsMHgwMywweGU0LDB4MjAsMHhmOSwweDBhIH0gfSwKLXsgIDE2LCAweGNkNzAsIDAsIHsweDNlLDB4NDAsMHgwZSwweDkwLDB4NDMsMHg2NCwweDI0LDB4ZjksMHgwOCwweDNhLDB4NDIsMHgwZiwweDkwLDB4OGIsMHhkYSwweDAwIH0gfSwKLXsgIDE2LCAweGNkODAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTAsMHgwMCwweGM4LDB4MDAsMHgxMiwweDAwIH0gfSwKLXsgIDE2LCAweGNkOTAsIDAsIHsweDBjLDB4ODAsMHg0MywweGUwLDB4MDAsMHhjOCwweDQwLDB4MzIsMHgwMCwweDBmLDB4ODQsMHg1MywweGUwLDB4MTAsMHhmOCwweDAwIH0gfSwKLXsgIDE2LCAweGNkYTAsIDAsIHsweDNlLDB4MDAsMHgwZCwweDgwLDB4MjMsMHgyMCwweDAwLDB4ZDgsMHgwMCwweDNlLDB4MDAsMHgwZiwweDgwLDB4MDMsMHgwYSwweDA0IH0gfSwKLXsgIDE2LCAweGNkYjAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4MzgsMHgwMiwweDgyLDB4MDAsMHhhMSwweDg4IH0gfSwKLXsgIDE2LCAweGNkYzAsIDAsIHsweDA4LDB4NjAsMHgyMiwweGM4LDB4MDAsMHg4YSwweDQwLDB4MzYsMHhhMSwweDBiLDB4YTAsMHgwMiwweGU5LDB4MTAsMHhiYSwweDQ0IH0gfSwKLXsgIDE2LCAweGNkZDAsIDAsIHsweDJjLDB4ODAsMHgwYywweGE0LDB4MTIsMHgyOSwweDAyLDB4OGEsMHg0NCwweDJlLDB4OTgsMHgwYiwweGE0LDB4MDIsMHgwYSwweDAwIH0gfSwKLXsgIDE2LCAweGNkZTAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NGMsMHgxMCwweDgzLDB4MDAsMHgyMCwweGUwIH0gfSwKLXsgIDE2LCAweGNkZjAsIDAsIHsweDE4LDB4MzAsMHg5MiwweGM0LDB4MDgsMHg5MywweDQwLDB4MjAsMHhlMCwweDBiLDB4MzAsMHgwMiwweGNkLDB4MDAsMHhiMywweDQwIH0gfSwKLXsgIDE2LCAweGNlMDAsIDAsIHsweDJjLDB4YzAsMHgwYiwweDNhLDB4NDIsMHhjZCwweDAwLDB4ODMsMHg0MCwweDJjLDB4ZDAsMHgwYiwweDM4LDB4MDIsMHg0YSwweDAwIH0gfSwKLXsgIDE2LCAweGNlMTAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDQxLDB4MWMsMHgwMCwweDg3LDB4MDAsMHgyMSwweGMwIH0gfSwKLXsgIDE2LCAweGNlMjAsIDAsIHsweDI4LDB4NzAsMHgwMiwweGQxLDB4MDAsMHg5ZCwweDgwLDB4MjUsMHhjMiwweDRiLDB4NjAsMHgwMiwweGRjLDB4MDgsMHhiNywweDAyIH0gfSwKLXsgIDE2LCAweGNlMzAsIDAsIHsweDJjLDB4YzAsMHgwYSwweDc0LDB4MDIsMHhmZSwweDAwLDB4ODcsMHgwMCwweDJkLDB4YzAsMHgwYiwweDM0LDB4MDIsMHg2OCwweDAwIH0gfSwKLXsgIDE2LCAweGNlNDAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MWUsMHgwMCwweGM3LDB4ODQsMHgzMSwweGUwIH0gfSwKLXsgIDE2LCAweGNlNTAsIDAsIHsweDBjLDB4NjgsMHgwMywweGQ2LDB4MDAsMHg5NywweDgwLDB4MzEsMHhhMCwweDBmLDB4NTgsMHgxMywweGRlLDB4MDgsMHhmNywweDgyIH0gfSwKLXsgIDE2LCAweGNlNjAsIDAsIHsweDNkLDB4YTAsMHgwZiwweGY4LDB4MGIsMHhkZSwweDAwLDB4YzcsMHg4MCwweDNkLDB4ZTAsMHgwZiwweDc4LDB4OGIsMHg2YSwweDAyIH0gfSwKLXsgIDE2LCAweGNlNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDFkLDB4YWQsMHg4MCwweGYzLDB4MDAsMHgzZSwweGMxIH0gfSwKLXsgIDE2LCAweGNlODAsIDAsIHsweDBmLDB4YTAsMHgyMywweGMwLDB4MDIsMHhlOSwweDAwLDB4M2UsMHg4MSwweDBmLDB4ODAsMHgwMywweGVjLDB4MDAsMHhmYiwweDAwIH0gfSwKLXsgIDE2LCAweGNlOTAsIDAsIHsweDNlLDB4YzAsMHgwZCwweGIwLDB4MTMsMHgyYywweDAwLDB4ZWIsMHgwMCwweDNlLDB4YzAsMHgwZiwweGIwLDB4MDMsMHg4MiwweDAyIH0gfSwKLXsgIDE2LCAweGNlYTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZmYsMHgzMiwweGM3LDB4ODAsMHgzMywweDYwIH0gfSwKLXsgIDE2LCAweGNlYjAsIDAsIHsweDBmLDB4NzgsMHgwMywweDNlLDB4YzgsMHg0ZSwweDgwLDB4MjMsMHg2NCwweDBjLDB4ZjgsMHgwMywweDNhLDB4MDAsMHhjZSwweDgwIH0gfSwKLXsgIDE2LCAweGNlYzAsIDAsIHsweDEzLDB4ZWMsMHgwNiwweGQ4LDB4MDMsMHgzYSwweDAwLDB4ZGUsMHg4MCwweDMzLDB4YTQsMHgwYywweGM4LDB4MDMsMHhkMCwweDAwIH0gfSwKLXsgIDE2LCAweGNlZDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDExLDB4OWMsMHgwMCwweDg3LDB4MTAsMHgwMSwweGMwIH0gfSwKLXsgIDE2LCAweGNlZTAsIDAsIHsweDBiLDB4NzAsMHgwMiwweDE4LDB4NTAsMHg4NCwweDAwLDB4MmIsMHg0NCwweDA4LDB4NjAsMHgxMiwweDk4LDB4MDAsMHg4NiwweDEzIH0gfSwKLXsgIDE2LCAweGNlZjAsIDAsIHsweDIxLDB4YzQsMHg4OCwweDUwLDB4MDIsMHgxOCwweDgwLDB4ODYsMHgwMCwweDIxLDB4ODAsMHgwOCwweDYxLDB4MDIsMHhlYSwweDA0IH0gfSwKLXsgIDE2LCAweGNmMDAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OWMsMHgwMCwweDg3LDB4MDAsMHgyMSwweDQwIH0gfSwKLXsgIDE2LCAweGNmMTAsIDAsIHsweDBiLDB4ZjEsMHgwMiwweDVjLDB4ODAsMHgwNiwweDAwLDB4MjEsMHgwMCwweDg4LDB4ZDAsMHgwMiwweDVjLDB4MDAsMHg4NywweDAwIH0gfSwKLXsgIDE2LCAweGNmMjAsIDAsIHsweDIwLDB4ODksMHg4YSwweGYxLDB4MDIsMHgxYywweDA4LDB4ODcsMHgxMCwweDIxLDB4ODEsMHg4OCwweDQ4LDB4MDIsMHhjNiwweDAwIH0gfSwKLXsgIDE2LCAweGNmMzAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMCwweDE0LDB4Y2MsMHgxMCwweDgzLDB4MDQsMHhhMCwweGMxIH0gfSwKLXsgIDE2LCAweGNmNDAsIDAsIHsweDBiLDB4MzAsMHgwYSwweDQ4LDB4MGMsMHg4OCwweDA2LDB4NjAsMHgzOCwweDA4LDB4MDQsMHg0MiwweGVjLDB4MDEsMHg4YiwweDA0IH0gfSwKLXsgIDE2LCAweGNmNTAsIDAsIHsweDIyLDB4YzEsMHgwOCwweDMwLDB4MGEsMHgyYywweDAwLDB4OGIsMHgwMCwweDIyLDB4ODAsMHgwMCwweDIwLDB4MDIsMHhkOCwweDA0IH0gfSwKLXsgIDE2LCAweGNmNjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YmMsMHgwMCwweGMzLDB4MDAsMHgyMiwweDgwIH0gfSwKLXsgIDE2LCAweGNmNzAsIDAsIHsweDhmLDB4OTAsMHgwMywweDY0LDB4MGEsMHhjYiwweDAyLDB4YjIsMHhmMiwweDIwLDB4MzUsMHgxMiwweDY0LDB4MGEsMHhjOSwweDAwIH0gfSwKLXsgIDE2LCAweGNmODAsIDAsIHsweGIyLDB4NDAsMHgwZSwweGEwLDB4MDMsMHgyNCwweDBhLDB4YzksMHgwMCwweGEyLDB4NDAsMHgyYywweGEwLDB4MDMsMHhlZSwweDA0IH0gfSwKLXsgIDE2LCAweGNmOTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDAwLDB4ZWMsMHgwMCwweGZiLDB4MDAsMHgzYywweDgwIH0gfSwKLXsgIDE2LCAweGNmYTAsIDAsIHsweDBmLDB4OTAsMHgwMywweGE1LDB4MDAsMHhkYiwweDQwLDB4M2UsMHhkMCwweDRkLDB4YjQsMHgxMywweGE0LDB4MDgsMHhmYiwweDAxIH0gfSwKLXsgIDE2LCAweGNmYjAsIDAsIHsweDNlLDB4YzAsMHgxYywweGEwLDB4MDMsMHg2YywweDAwLDB4ZmIsMHgwNCwweDNlLDB4NTAsMHg0ZiwweGE0LDB4MDMsMHhlMCwweDAwIH0gfSwKLXsgIDE2LCAweGNmYzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZmMsMHgwMCwweGZmLDB4MDAsMHgzMywweGMwIH0gfSwKLXsgIDE2LCAweGNmZDAsIDAsIHsweDBjLDB4ZTgsMHg0MywweDI2LDB4MDAsMHhkZiwweDgwLDB4YjMsMHhlMCwweDBmLDB4ZjgsMHgwMywweDdjLDB4MDAsMHhjZCwweDAwIH0gfSwKLXsgIDE2LCAweGNmZTAsIDAsIHsweDMzLDB4MDQsMHgwYywweGUwLDB4MjMsMHgzNCwweDQwLDB4Y2QsMHgwMCwweDIzLDB4NDAsMHgwYywweGUwLDB4MDMsMHhlMCwweDA0IH0gfSwKLXsgIDE2LCAweGNmZjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MSwweDA0LDB4NmMsMHgxMCwweGJiLDB4MDAsMHhhMiwweGQyIH0gfSwKLXsgIDE2LCAweGQwMDAsIDAsIHsweDA4LDB4MjgsMHgwMiwweDA0LDB4NjAsMHg4YiwweDE5LDB4MjIsMHhjNiwweDBlLDB4YjEsMHg4YSwweDJlLDB4NDAsMHg4YiwweDkwIH0gfSwKLXsgIDE2LCAweGQwMTAsIDAsIHsweDIyLDB4YzEsMHgwOCwweGE0LDB4ODIsMHgyYywweDAwLDB4OGIsMHg5MCwweDIyLDB4NjQsMHg0OCwweGE0LDB4MDIsMHhlMCwweDAwIH0gfSwKLXsgIDE2LCAweGQwMjAsIDAsIHsweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MmMsMHgwMCwweGJiLDB4MDAsMHgyMiwweDAwIH0gfSwKLXsgIDE2LCAweGQwMzAsIDAsIHsweDA4LDB4OTEsMHgyZSwweDI0LDB4MDAsMHg5YiwweDAwLDB4MjIsMHhjMCwweDhiLDB4YjAsMHgxMiwweDIwLDB4MDQsMHg4OCwweDAwIH0gfSwKLXsgIDE2LCAweGQwNDAsIDAsIHsweDIyLDB4NDAsMHgwOCwweDEwLDB4MjIsMHgyMCwweDAwLDB4ODgsMHgwMSwweDJhLDB4ZDAsMHgwOCwweDgwLDB4NDIsMHhlMCwweDAwIH0gfSwKLXsgIDE2LCAweGQwNTAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA0LDB4MGMsMHgwMCwweGIzLDB4MDQsMHgyMCwweDgwIH0gfSwKLXsgIDE2LCAweGQwNjAsIDAsIHsweDA4LDB4MTAsMHgwNiwweDA0LDB4MTAsMHg4MywweDAwLDB4MjAsMHhjMCwweDhiLDB4YjAsMHgxMiwweDAwLDB4MDAsMHg4MiwweDAwIH0gfSwKLXsgIDE2LCAweGQwNzAsIDAsIHsweDIwLDB4YzAsMHgyOCwweDEwLDB4NDIsMHgwOSwweDA2LDB4ODIsMHgwMCwweDI4LDB4YzAsMHgwOCwweDIwLDB4MDIsMHhjMiwweDAxIH0gfSwKLXsgIDE2LCAweGQwODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4N2MsMHgwMCwweGJiLDB4MDAsMHgzMiwweDQwIH0gfSwKLXsgIDE2LCAweGQwOTAsIDAsIHsweDJjLDB4YjAsMHgwMywweDI0LDB4MDAsMHhkMywweDAwLDB4MzIsMHhjMCwweDVmLDB4YjUsMHgwMywweDBjLDB4MDIsMHhjMSwweDAwIH0gfSwKLXsgIDE2LCAweGQwYTAsIDAsIHsweGIyLDB4MDAsMHgwYywweGIwLDB4MGIsMHgwNSwweDAwLDB4YzEsMHgwMCwweGI4LDB4YzAsMHgyYywweDgwLDB4MTMsMHhlMCwweDAzIH0gfSwKLXsgIDE2LCAweGQwYjAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDFkLDB4ZGMsMHgwMCwweGZmLDB4MDAsMHgxZiwweGMwIH0gfSwKLXsgIDE2LCAweGQwYzAsIDAsIHsweDg3LDB4ZjAsMHgwMSwweGY0LDB4MDAsMHhmZiwweDAwLDB4M2YsMHhjMCwweDBlLDB4NzAsMHg0MywweGZjLDB4MTAsMHg3ZiwweDAwIH0gfSwKLXsgIDE2LCAweGQwZDAsIDAsIHsweDNmLDB4YzAsMHgwZiwweDcwLDB4MDMsMHhmYywweDAwLDB4ZmYsMHgwMCwweDM3LDB4YzAsMHgwZiwweGUwLDB4MDMsMHhlOCwweDA2IH0gfSwKLXsgIDE2LCAweGQwZTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZjEsMHg4NCwweGZlLDB4NjEsMHgzMSwweGQ4IH0gfSwKLXsgIDE2LCAweGQwZjAsIDAsIHsweDBjLDB4YjIsMHhjMywweGZjLDB4ZTAsMHhjYywweDgwLDB4N2IsMHhjMCwweDBlLDB4ZjEsMHgwMywweDdjLDB4ZTAsMHhjYywweDgzIH0gfSwKLXsgIDE2LCAweGQxMDAsIDAsIHsweDNmLDB4MjAsMHgwZiwweGYwLDB4Y2IsMHgzMiwweDQ0LDB4ZGMsMHg4NCwweDNmLDB4MjUsMHg0YywweGYyLDB4NDMsMHgzMCwweDAwIH0gfSwKLXsgIDE2LCAweGQxMTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDEwLDB4ZTQsMHg0OCwweGIwLDB4MTAsMHgyMiwweGRjIH0gfSwKLXsgIDE2LCAweGQxMjAsIDAsIHsweDA4LDB4YjYsMHgwMiwweGZkLDB4OTIsMHg4OCwweDg1LDB4MjMsMHhmNCwweDQwLDB4ZjEsMHgwMiwweGVkLDB4MDAsMHg4OCwweDJkIH0gfSwKLXsgIDE2LCAweGQxMzAsIDAsIHsweDBlLDB4NjAsMHgwYiwweGJjLDB4MTIsMHgyYywweDEwLDB4YTgsMHg4MiwweDJlLDB4MDAsMHgwYSwweGZjLDB4MjIsMHhhMCwweDA0IH0gfSwKLXsgIDE2LCAweGQxNDAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4YzAsMHg4MCwweGIzLDB4MjIsMHgyOCwweGMwIH0gfSwKLXsgIDE2LCAweGQxNTAsIDAsIHsweDA4LDB4MzAsMHg4MiwweGNjLDB4MDEsMHg4OCwweDAwLDB4MmMsMHhjMCwweDRhLDB4MzIsMHgwMiwweGNjLDB4MDAsMHgwMSwweDAxIH0gfSwKLXsgIDE2LCAweGQxNjAsIDAsIHsweDI4LDB4MDAsMHg0YiwweGIwLDB4MDIsMHhhMCwweDAwLDB4ODAsMHgwMCwweDJjLDB4MDksMHgwOCwweDM0LDB4MDIsMHg2MiwweDAxIH0gfSwKLXsgIDE2LCAweGQxNzAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDE1LDB4YWMsMHgwNCwweGIyLDB4MTAsMHgyYSwweGMxIH0gfSwKLXsgIDE2LCAweGQxODAsIDAsIHsweDA4LDB4YjAsMHgwMiwweGVjLDB4MTAsMHg4OSwweDgwLDB4MjIsMHhjMCwweDA4LDB4YjAsMHgwMiwweGVjLDB4MDgsMHg4OCwweDAwIH0gfSwKLXsgIDE2LCAweGQxOTAsIDAsIHsweDJlLDB4NDAsMHg4MywweGIwLDB4MDIsMHhhMCwweDQwLDB4YjksMHg4MCwweDJjLDB4MjEsMHgwYSwweGIwLDB4MDIsMHhmMCwweDA0IH0gfSwKLXsgIDE2LCAweGQxYTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDE1LDB4ZWMsMHgwMCwweGZhLDB4MDAsMHhiYSwweGMwIH0gfSwKLXsgIDE2LCAweGQxYjAsIDAsIHsweDJjLDB4YjAsMHg0MywweGVjLDB4MDAsMHhjMCwweDgwLDB4M2UsMHhjMCwweDhlLDB4YjAsMHgwMywweDRjLDB4MGMsMHhjOCwweDEwIH0gfSwKLXsgIDE2LCAweGQxYzAsIDAsIHsweDNlLDB4ODAsMHg4ZiwweGIwLDB4MDMsMHg4MiwweDEwLDB4ZDgsMHg4MiwweDNlLDB4MjgsMHgwYywweGIwLDB4MGIsMHg1MCwweDA0IH0gfSwKLXsgIDE2LCAweGQxZDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDAxLDB4YjYsMHg4MCwweGZkLDB4MDIsMHgzNywweGMxIH0gfSwKLXsgIDE2LCAweGQxZTAsIDAsIHsweDBmLDB4YjAsMHgwMywweGZjLDB4MDAsMHhmZCwweDAwLDB4M2UsMHhjMCwweDBmLDB4YjAsMHg1MywweGZjLDB4MDIsMHhmZiwweDAxIH0gfSwKLXsgIDE2LCAweGQxZjAsIDAsIHsweDJmLDB4YTQsMHg4YiwweGYwLDB4ODMsMHg3YywweDAwLDB4YWQsMHgwMiwweDJmLDB4NDAsMHgwMywweDcwLDB4MDMsMHhiOCwweDAwIH0gfSwKLXsgIDE2LCAweGQyMDAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YWMsMHgwMCwweGZiLDB4MDQsMHgzMiwweGMwIH0gfSwKLXsgIDE2LCAweGQyMTAsIDAsIHsweDRjLDB4YjAsMHgyMywweDJjLDB4MDAsMHhmOCwweDQwLDB4M2UsMHhjMiwweDBjLDB4YjAsMHgwMywweDJjLDB4MDAsMHhmYiwweDQxIH0gfSwKLXsgIDE2LCAweGQyMjAsIDAsIHsweDMyLDB4YzIsMHgwZiwweGIwLDB4NDMsMHgyZCwweDAwLDB4YzgsMHg1MCwweDNlLDB4NDAsMHgwYywweGIwLDB4MGIsMHgxMCwweDA0IH0gfSwKLXsgIDE2LCAweGQyMzAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjOCwweDA1LDB4MmYsMHg5MCwweGI5LDB4NTAsMHgwMywweGMwIH0gfSwKLXsgIDE2LCAweGQyNDAsIDAsIHsweDE4LDB4ZjAsMHgxYSwweDNjLDB4MDAsMHhiOSwweDMyLDB4MmQsMHhlMCwweDM4LDB4ZjAsMHg2MCwweDNjLDB4MDQsMHhmOSwweDAwIH0gfSwKLXsgIDE2LCAweGQyNTAsIDAsIHsweDNlLDB4ZjAsMHgwYiwweDdjLDB4ODAsMHgyYywweDAwLDB4ZDksMHhjMCwweDJlLDB4NDAsMHgwZCwweGYwLDB4MDIsMHgzMiwweDAwIH0gfSwKLXsgIDE2LCAweGQyNjAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NGIsMHgyNCwweGIyLDB4MTAsMHgwMiwweGMxIH0gfSwKLXsgIDE2LCAweGQyNzAsIDAsIHsweDI4LDB4MzAsMHgwMiwweDZjLDB4MDQsMHhiMiwweGMxLDB4MmMsMHhjMCwweDA4LDB4MzAsMHgwMCwweDBjLDB4MDAsMHhiMiwweDAwIH0gfSwKLXsgIDE2LCAweGQyODAsIDAsIHsweDI4LDB4MjQsMHgwMywweDNjLDB4MGEsMHgwMCwweDAwLDB4ODIsMHhjOCwweDJjLDB4YTAsMHgwOCwweDMwLDB4MDIsMHgzOCwweDAwIH0gfSwKLXsgIDE2LCAweGQyOTAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMCwweDAxLDB4MTYsMHgwMCwweGI0LDB4ODAsMHgyMSwweGU0IH0gfSwKLXsgIDE2LCAweGQyYTAsIDAsIHsweDQ4LDB4N2IsMHgwMiwweDVlLDB4MDAsMHhiNiwweDgwLDB4NmQsMHhlMiwweDQ4LDB4NzksMHgyMiwweDFlLDB4NDAsMHhhYywweDg0IH0gfSwKLXsgIDE2LCAweGQyYjAsIDAsIHsweDJkLDB4ZTAsMHgwYiwweGZhLDB4MDAsMHg1MiwweDQwLDB4OTYsMHg4MCwweDJkLDB4ZTgsMHgxOSwweDM4LDB4MDIsMHgwOCwweDAwIH0gfSwKLXsgIDE2LCAweGQyYzAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MDgsMHg0MCwweGYzLDB4MTAsMHhiMCwweGM0IH0gfSwKLXsgIDE2LCAweGQyZDAsIDAsIHsweDA4LDB4M2EsMHgwMiwweDRjLDB4OTAsMHhmMywweDEwLDB4M2MsMHhjYywweDA4LDB4MzEsMHgwMywweDBjLDB4NDksMHhiMCwweDQwIH0gfSwKLXsgIDE2LCAweGQyZTAsIDAsIHsweDMwLDB4MDUsMHgwZiwweDMwLDB4MDcsMHgyMSwweDQwLDB4NDMsMHgwMSwweDNlLDB4YzIsMHgxYywweDMwLDB4NDMsMHgxMiwweDAyIH0gfSwKLXsgIDE2LCAweGQyZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDBkLDB4YmMsMHgxMCwweGZjLDB4MTAsMHgzZiwweGM1IH0gfSwKLXsgIDE2LCAweGQzMDAsIDAsIHsweDBmLDB4ZjEsMHgwMSwweGJjLDB4MDQsMHhmZiwweDA0LDB4M2YsMHhjNCwweDBmLDB4YjEsMHg0YiwweGZjLDB4NjQsMHhmNywweDAwIH0gfSwKLXsgIDE2LCAweGQzMTAsIDAsIHsweDM3LDB4YzAsMHgwZiwweDcyLDB4NTMsMHhhYywweDQ0LDB4ZmYsMHgwMSwweDNmLDB4YzksMHgwZiwweGY0LDB4MDMsMHhkMCwweDA2IH0gfSwKLXsgIDE2LCAweGQzMjAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZWMsMHgwOCwweGZhLDB4MDAsMHgzZSwweGUwIH0gfSwKLXsgIDE2LCAweGQzMzAsIDAsIHsweDBjLDB4YjAsMHgwMywweDJjLDB4MDAsMHhjYiwweDAyLDB4M2UsMHhjYSwweDBmLDB4YjIsMHgwNywweDJlLDB4MDAsMHhkYiwweDAyIH0gfSwKLXsgIDE2LCAweGQzNDAsIDAsIHsweDMyLDB4MDgsMHgwZiwweDMxLDB4MDMsMHgyYywweDAwLDB4Y2IsMHgwNCwweDNlLDB4ODAsMHgwYywweDM1LDB4MDMsMHgyYSwweDAwIH0gfSwKLXsgIDE2LCAweGQzNTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDExLDB4OTQsMHgwMCwweGI1LDB4MDAsMHgyZCwweGM4IH0gfSwKLXsgIDE2LCAweGQzNjAsIDAsIHsweDA4LDB4NzAsMHgwYSwweDFjLDB4MjIsMHg4NywweDAwLDB4MmQsMHhjOSwweDBiLDB4ZjIsMHg4MiwweDljLDB4ODAsMHhhNiwweDAwIH0gfSwKLXsgIDE2LCAweGQzNzAsIDAsIHsweDA5LDB4OGIsMHgwYiwweDcwLDB4MGEsMHgxYywweDAyLDB4ODUsMHgwMCwweDJkLDB4NDAsMHgwOCwweDcwLDB4MDIsMHg5MiwweDA0IH0gfSwKLXsgIDE2LCAweGQzODAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4OWUsMHgwMCwweGI3LDB4ODAsMHgyYywweGVjIH0gfSwKLXsgIDE2LCAweGQzOTAsIDAsIHsweDA4LDB4N2IsMHgwMiwweDVlLDB4NDAsMHg4NSwweDg5LDB4MmQsMHhlYywweDhiLDB4N2IsMHgwMiwweDRlLDB4ODQsMHg4ZiwweDgwIH0gfSwKLXsgIDE2LCAweGQzYTAsIDAsIHsweDI1LDB4NjQsMHgwYiwweGZhLDB4MDIsMHgxMiwweDA4LDB4OTcsMHg4MCwweDZmLDB4ZTEsMHgwOCwweDdhLDB4MDIsMHgzMCwweDAwIH0gfSwKLXsgIDE2LCAweGQzYjAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDE0LDB4Y2MsMHgyMCwweGIzLDB4NjQsMHgyYywweGMwIH0gfSwKLXsgIDE2LCAweGQzYzAsIDAsIHsweDA4LDB4MzAsMHgwNiwweDBjLDB4MTAsMHg4MywweDhhLDB4NmMsMHhjMCwweDViLDB4MzAsMHg0MiwweGNjLDB4MDAsMHhhYiwweDEwIH0gfSwKLXsgIDE2LCAweGQzZDAsIDAsIHsweDJjLDB4ZjIsMHgwYiwweDMwLDB4MDIsMHgwZCwweDAwLDB4OTMsMHgwNCwweDJjLDB4ZDUsMHgwOCwweDMwLDB4MGEsMHg5MiwweDA0IH0gfSwKLXsgIDE2LCAweGQzZTAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YmIsMHgwMCwweGZlLDB4YzAsMHgzZSwweDgwIH0gfSwKLXsgIDE2LCAweGQzZjAsIDAsIHsweDJjLDB4YTAsMHgwMywweDY4LDB4MDAsMHhjNiwweDQwLDB4M2YsMHg4MCwweDBmLDB4YTAsMHgwMiwweDY4LDB4MDAsMHhjZSwweDQ0IH0gfSwKLXsgIDE2LCAweGQ0MDAsIDAsIHsweDM2LDB4OTAsMHg0ZiwweDYwLDB4MDMsMHgxYiwweDcwLDB4ZGUsMHhkOCwweDNmLDB4YTAsMHgwYywweDIwLDB4MDMsMHgzYSwweDA0IH0gfSwKLXsgIDE2LCAweGQ0MTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDAwLDB4ZTAsMHg0MCwweGY4LDB4MTAsMHgzZSwweDAwIH0gfSwKLXsgIDE2LCAweGQ0MjAsIDAsIHsweDBmLDB4ODAsMHgwMywweGEwLDB4MTAsMHhmOCwweDQyLDB4M2UsMHgxMCwweDFmLDB4ODAsMHgwMywweGEwLDB4MDAsMHhlOCwweDBjIH0gfSwKLXsgIDE2LCAweGQ0MzAsIDAsIHsweDNhLDB4MDQsMHgxZiwweDgwLDB4MDMsMHhlMCwweDAwLDB4ZTgsMHg0NSwweDdlLDB4MDIsMHgyZiwweDgwLDB4MDMsMHhkMiwweDAwIH0gfSwKLXsgIDE2LCAweGQ0NDAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4NjQsMHgwMCwweGU5LDB4ODAsMHgzMiwweDQwIH0gfSwKLXsgIDE2LCAweGQ0NTAsIDAsIHsweDBmLDB4OTAsMHgwYiwweDA0LDB4MDgsMHhkOSwweDgwLDB4MzYsMHg0MCwweDBmLDB4MTAsMHgxMywweDI0LDB4MDgsMHhmOSwweDAwIH0gfSwKLXsgIDE2LCAweGQ0NjAsIDAsIHsweDcyLDB4NzAsMHgwZiwweDkxLDB4MTMsMHgyNCwweDEwLDB4YzksMHgxMCwweDNlLDB4NjksMHgwYywweDkwLDB4MDMsMHgwMiwweDA0IH0gfSwKLXsgIDE2LCAweGQ0NzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA0LDB4NjQsMHgwOCwweGI5LDB4ODAsMHgyMiwweDQwIH0gfSwKLXsgIDE2LCAweGQ0ODAsIDAsIHsweDBiLDB4MTAsMHgwMiwweDI0LDB4MDAsMHg4OSwweGM0LDB4MjIsMHg1MiwweDBiLDB4OTAsMHg0MiwweDI0LDB4MDAsMHhiOSwweDAwIH0gfSwKLXsgIDE2LCAweGQ0OTAsIDAsIHsweDIyLDB4ZTAsMHgwYiwweDkwLDB4MTIsMHgyNCwweDA0LDB4ZDksMHg0YSwweDJlLDB4NjAsMHgwOCwweDkwLDB4MDMsMHg2MCwweDAwIH0gfSwKLXsgIDE2LCAweGQ0YTAsIDAsIHsweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4MjQsMHgwMCwweGIxLDB4MTgsMHgyMiwweDQwIH0gfSwKLXsgIDE2LCAweGQ0YjAsIDAsIHsweDBiLDB4OTAsMHgwMiwweDI0LDB4MDAsMHg4YiwweDIwLDB4MjYsMHg0OSwweDBiLDB4OTAsMHgwMiwweDY0LDB4MDAsMHhiOSwweDAwIH0gfSwKLXsgIDE2LCAweGQ0YzAsIDAsIHsweGEyLDB4NDAsMHgwYiwweDkwLDB4OGEsMHgyNCwweDAwLDB4OGIsMHgwMCwweDJjLDB4NDAsMHhhOCwweDkwLDB4MDIsMHgwNiwweDAwIH0gfSwKLXsgIDE2LCAweGQ0ZDAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA0LDB4MDQsMHg4NCwweGIxLDB4MjAsMHhhMCwweDQ4IH0gfSwKLXsgIDE2LCAweGQ0ZTAsIDAsIHsweDBiLDB4MTEsMHgwNiwweDA0LDB4MDAsMHg4MywweDAwLDB4MDAsMHg0MCwweDRiLDB4MTEsMHgwMiwweDA0LDB4NDksMHhiMSwweDEwIH0gfSwKLXsgIDE2LCAweGQ0ZjAsIDAsIHsweDI4LDB4NDAsMHgwYiwweDEwLDB4MDIsMHgyNCwweDQxLDB4OTEsMHgwMCwweDJjLDB4NTAsMHgwOCwweDEwLDB4MDIsMHg0MiwweDAxIH0gfSwKLXsgIDE2LCAweGQ1MDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjksMHg0MCwweGU4LDB4NTAsMHgzMiwweDE0IH0gfSwKLXsgIDE2LCAweGQ1MTAsIDAsIHsweDBmLDB4ODYsMHg5MywweDIxLDB4ZTIsMHhjOCwweDAwLDB4MzYsMHgwYSwweDBiLDB4ODYsMHg4YiwweDYxLDB4YTgsMHhmOCwweDQwIH0gfSwKLXsgIDE2LCAweGQ1MjAsIDAsIHsweDIyLDB4ODAsMHgwZiwweDgyLDB4YTMsMHgyMSwweDA4LDB4YzgsMHgwMiwweDNlLDB4MDAsMHgwYywweDgwLDB4NDMsMHgyZSwweDAzIH0gfSwKLXsgIDE2LCAweGQ1MzAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5OCwweDFkLDB4ZjQsMHg0OCwweGZkLDB4MTIsMHgzZSwweDQ0IH0gfSwKLXsgIDE2LCAweGQ1NDAsIDAsIHsweDBmLDB4MTIsMHgwMywweGM0LDB4MDAsMHg3ZCwweDAxLDB4MWUsMHg0MCwweDBiLDB4OTIsMHgwMywweGU0LDB4ODAsMHhmNSwweDIwIH0gfSwKLXsgIDE2LCAweGQ1NTAsIDAsIHsweDM2LDB4NDAsMHgwZiwweDkwLDB4MDMsMHhkNCwweDkwLDB4N2QsMHgwMCwweDNkLDB4NDAsMHgwZiwweDk0LDB4MDMsMHhlNiwweDA2IH0gfSwKLXsgIDE2LCAweGQ1NjAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDAxLDB4ZjYsMHhjMSwweGRkLDB4ODgsMHgzMiwweDcyIH0gfSwKLXsgIDE2LCAweGQ1NzAsIDAsIHsweDBjLDB4OTgsMHgwMywweDI2LDB4MjIsMHhkZCwweDAwLDB4M2YsMHg2MiwweDJjLDB4OTksMHg4MywweDQ2LDB4YTAsMHhjOSwweDQwIH0gfSwKLXsgIDE2LCAweGQ1ODAsIDAsIHsweGIyLDB4NDAsMHgwZiwweGQ4LDB4MDMsMHgyNCwweDAwLDB4ZmQsMHgwMCwweDMzLDB4NTEsMHgyYywweGQ4LDB4ODMsMHgwNiwweDAwIH0gfSwKLXsgIDE2LCAweGQ1OTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzOCwweDEwLDB4ZTMsMHhjMiwweDg4LDB4YzAsMHgyMiwweDMwIH0gfSwKLXsgIDE2LCAweGQ1YTAsIDAsIHsweDA4LDB4OGMsMHg0MiwweDIyLDB4MTEsMHg4YSwweDAxLDB4MmUsMHgwMCwweDA4LDB4ODgsMHg1MiwweDIzLDB4MDAsMHg4MCwweGEzIH0gfSwKLXsgIDE2LCAweGQ1YjAsIDAsIHsweDJhLDB4MDAsMHg0YiwweDgwLDB4NDIsMHgyMiwweGEwLDB4YjgsMHgwMCwweDIyLDB4MjgsMHgwOCwweDg0LDB4MDIsMHg4ZSwweDA0IH0gfSwKLXsgIDE2LCAweGQ1YzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4YzQsMHgwMCwweDgxLDB4MmQsMHgyMCwweDQ4IH0gfSwKLXsgIDE2LCAweGQ1ZDAsIDAsIHsweDY4LDB4MTQsMHg4MCwweDA0LDB4MjAsMHg4MSwweDAwLDB4MmUsMHg0MCwweDBiLDB4MTIsMHgxMiwweDA0LDB4MjQsMHg4MSwweDIwIH0gfSwKLXsgIDE2LCAweGQ1ZTAsIDAsIHsweDIwLDB4NDAsMHgwYiwweDk0LDB4MzIsMHgwNCwweDkwLDB4YjksMHgwMCwweDIwLDB4NDAsMHg0OCwweDEwLDB4NGEsMHgwMiwweDAxIH0gfSwKLXsgIDE2LCAweGQ1ZjAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDE1LDB4YTQsMHgwMCwweDg5LDB4MjAsMHgyMiwweDQwIH0gfSwKLXsgIDE2LCAweGQ2MDAsIDAsIHsweDA4LDB4OTAsMHgxMiwweDI0LDB4MDAsMHg4OSwweDAwLDB4MmUsMHg0MCwweDA4LDB4OTAsMHgwMiwweDI0LDB4MDgsMHg4OSwweDQwIH0gfSwKLXsgIDE2LCAweGQ2MTAsIDAsIHsweDIyLDB4NTAsMHgwYiwweGIwLDB4MDIsMHgyNCwweDIwLDB4YjksMHgwOSwweGEyLDB4NDQsMHgwOCwweDkwLDB4MDIsMHg4NiwweDA0IH0gfSwKLXsgIDE2LCAweGQ2MjAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4ZTQsMHgwMCwweGQ5LDB4MDgsMHhiMiwweDQwIH0gfSwKLXsgIDE2LCAweGQ2MzAsIDAsIHsweDRjLDB4MTAsMHgyMywweDA0LDB4MDQsMHhkOSwweGMxLDB4M2UsMHg0MCwweDhmLDB4OTAsMHgwYiwweDA0LDB4MDgsMHhjMSwweDQwIH0gfSwKLXsgIDE2LCAweGQ2NDAsIDAsIHsweDEyLDB4NDAsMHgwZiwweDkwLDB4NDMsMHgyNCwweDA0LDB4ZjEsMHg0MSwweDMwLDB4NzgsMHgwYywweDkwLDB4MDMsMHgyOCwweDA0IH0gfSwKLXsgIDE2LCAweGQ2NTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDAxLDB4ODYsMHg2NCwweGY5LDB4ODAsMHgzZSwweDQwIH0gfSwKLXsgIDE2LCAweGQ2NjAsIDAsIHsweDBmLDB4OTAsMHgwYiwweGU0LDB4MDAsMHhmOSwweDk4LDB4M2UsMHg0MCwweDJmLDB4MTAsMHgwMywweGE0LDB4MDIsMHhmOSwweDEwIH0gfSwKLXsgIDE2LCAweGQ2NzAsIDAsIHsweDNlLDB4NDAsMHgwZiwweDkwLDB4MGIsMHhlNiwweDQwLDB4ZjksMHg5MCwweDNlLDB4NjAsMHgwZiwweDkwLDB4MDMsMHhjYSwweDAwIH0gfSwKLXsgIDE2LCAweGQ2ODAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTAsMHgwMCwweGM4LDB4NDEsMHgzMiwweDAwIH0gfSwKLXsgIDE2LCAweGQ2OTAsIDAsIHsweDBjLDB4ODAsMHgwNywweDIwLDB4MTAsMHhjOCwweDEwLDB4M2UsMHgwYywweDBlLDB4ODAsMHgwMywweGUwLDB4MDQsMHhjOCwweDAwIH0gfSwKLXsgIDE2LCAweGQ2YTAsIDAsIHsweGJhLDB4MDAsMHgwZiwweDgxLDB4NDMsMHgyMCwweDAwLDB4ZjgsMHg3MCwweDNlLDB4MDAsMHgwZiwweDAwLDB4MGIsMHgwYSwweDA0IH0gfSwKLXsgIDE2LCAweGQ2YjAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4MzksMHgwMiwweDhlLDB4MjAsMHhhMywweDgwIH0gfSwKLXsgIDE2LCAweGQ2YzAsIDAsIHsweDI4LDB4ZTAsMHgwYSwweDM4LDB4MTAsMHhhZSwweDA0LDB4M2QsMHhhMSwweDhlLDB4ZTAsMHgwMiwweGY4LDB4MDAsMHg4ZSwweDAwIH0gfSwKLXsgIDE2LCAweGQ2ZDAsIDAsIHsweDc2LDB4ODAsMHgwYiwweDYwLDB4MDMsMHg3OCwweDAwLDB4YmUsMHg0MCwweDJmLDB4ODIsMHgwYiwweGEwLDB4MDMsMHhjYSwweDAwIH0gfSwKLXsgIDE2LCAweGQ2ZTAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NGQsMHgwMCwweDhiLDB4ODgsMHgyMiwweGMwIH0gfSwKLXsgIDE2LCAweGQ2ZjAsIDAsIHsweDE4LDB4MzAsMHgwMiwweDBjLDB4MDAsMHg4MywweDQ0LDB4MmMsMHhkMCwweDFiLDB4MzAsMHgxMiwweGNjLDB4MDYsMHg4MywweDAwIH0gfSwKLXsgIDE2LCAweGQ3MDAsIDAsIHsweDIwLDB4YzEsMHgwYiwweDMwLDB4ODIsMHgwYywweDAxLDB4YjMsMHgwMCwweDJjLDB4NDAsMHgwYiwweDMwLDB4MDIsMHgwYSwweDAwIH0gfSwKLXsgIDE2LCAweGQ3MTAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDAxLDB4MWMsMHgwMCwweDg1LDB4MDAsMHgyMCwweGNjIH0gfSwKLXsgIDE2LCAweGQ3MjAsIDAsIHsweDA4LDB4NzAsMHgwNiwweDFjLDB4ODQsMHhhNywweDAxLDB4MjksMHhjMCwweDBiLDB4NzIsMHgyMiwweGRjLDB4ODAsMHg4NywweDM0IH0gfSwKLXsgIDE2LCAweGQ3MzAsIDAsIHsweDYxLDB4ODAsMHgwYiwweDEwLDB4MDIsMHg1YywweDAwLDB4YjcsMHgwMCwweDJkLDB4YzAsMHgwYiwweDcwLDB4MDIsMHhlOCwweDAwIH0gfSwKLXsgIDE2LCAweGQ3NDAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MGUsMHgwMCwweDhjLDB4ODAsMHgzMSwweGUwIH0gfSwKLXsgIDE2LCAweGQ3NTAsIDAsIHsweDBjLDB4ZmUsMHgwMiwweDNmLDB4MDAsMHhjNSwweDgwLDB4MmQsMHhlMCwweDBlLDB4NzgsMHgwMywweGRmLDB4YTAsMHhjNywweGEwIH0gfSwKLXsgIDE2LCAweGQ3NjAsIDAsIHsweDIxLDB4NjAsMHgwZiwweDc4LDB4MDMsMHgxZSwweDgwLDB4ZjcsMHg4MCwweDNkLDB4ZTAsMHgwZiwweDc4LDB4MDMsMHgyYSwweDAyIH0gfSwKLXsgIDE2LCAweGQ3NzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDFkLDB4YWMsMHgwMCwweGY5LDB4MDAsMHgzZSwweGMwIH0gfSwKLXsgIDE2LCAweGQ3ODAsIDAsIHsweDBmLDB4YjAsMHgwMywweGVjLDB4MDAsMHhmYSwweDAwLDB4M2UsMHhjMCwweDA2LDB4YjAsMHgwMywweGVjLDB4ODAsMHhmYiwweDI4IH0gfSwKLXsgIDE2LCAweGQ3OTAsIDAsIHsweDM2LDB4ZDgsMHg0ZiwweGEwLDB4MDMsMHhlYywweDEwLDB4ZmEsMHgwMCwweDNlLDB4NTAsMHgwZiwweDMwLDB4MDMsMHhjMiwweDA2IH0gfSwKLXsgIDE2LCAweGQ3YTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZmEsMHgwMCwweGNjLDB4ODAsMHhiMywweGUwIH0gfSwKLXsgIDE2LCAweGQ3YjAsIDAsIHsweDBmLDB4ZjgsMHgwMywweDNlLDB4MDAsMHhjZiwweDkwLDB4M2YsMHg2MCwweDRmLDB4ZjgsMHhjMywweDNlLDB4MDAsMHhlZiwweDgwIH0gfSwKLXsgIDE2LCAweGQ3YzAsIDAsIHsweDMzLDB4ZjAsMHgwYywweDdhLDB4MDMsMHgzZSwweDcwLDB4YzUsMHg5MCwweDMzLDB4ZjEsMHgwYywweDc4LDB4MDMsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGQ3ZDAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDExLDB4YjgsMHgwMCwweDg3LDB4MDAsMHgyMSwweGMwIH0gfSwKLXsgIDE2LCAweGQ3ZTAsIDAsIHsweDBiLDB4NzAsMHg0YSwweDFjLDB4MDAsMHg4NywweDEwLDB4MmQsMHhjMCwweDRiLDB4NzEsMHgwYSwweDNjLDB4NDQsMHg4ZiwweDEyIH0gfSwKLXsgIDE2LCAweGQ3ZjAsIDAsIHsweDIxLDB4ODYsMHgwZCwweDcyLDB4MDIsMHgxZSwweDAwLDB4ODcsMHgwMCwweDIzLDB4NDAsMHgwOCwweDcwLDB4MGEsMHgyYSwweDA0IH0gfSwKLXsgIDE2LCAweGQ4MDAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OWMsMHgwMCwweDg0LDB4MDAsMHgyNSwweGMwIH0gfSwKLXsgIDE2LCAweGQ4MTAsIDAsIHsweDBiLDB4NzEsMHgwYSwweDBjLDB4MDAsMHhhNywweDEyLDB4MmQsMHg4NCwweDBiLDB4NzAsMHgwYSwweDFjLDB4MDAsMHhiNywweDA4IH0gfSwKLXsgIDE2LCAweGQ4MjAsIDAsIHsweDIzLDB4NDAsMHgwOSwweGYzLDB4MWEsMHg1YywweDg2LDB4OTcsMHgwOCwweDI1LDB4NDAsMHgwOCwweDcwLDB4MDIsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGQ4MzAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMCwweDE0LDB4Y2MsMHgyMCwweDgxLDB4MjAsMHgyNiwweGMwIH0gfSwKLXsgIDE2LCAweGQ4NDAsIDAsIHsweDBiLDB4MzAsMHgwMiwweDJjLDB4MDAsMHg4MiwweDQyLDB4MmMsMHg4MCwweDBiLDB4MzAsMHgyMiwweDBjLDB4MDgsMHg5YiwweDgwIH0gfSwKLXsgIDE2LCAweGQ4NTAsIDAsIHsweDIwLDB4ZTAsMHgwOSwweDIwLDB4MDIsMHg0ZCwweDA4LDB4OTIsMHgwMCwweDI0LDB4ZTUsMHgwOCwweDMwLDB4MGEsMHgwOCwweDA0IH0gfSwKLXsgIDE2LCAweGQ4NjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YWUsMHg4MiwweGNhLDB4ZTAsMHhiNywweGMwIH0gfSwKLXsgIDE2LCAweGQ4NzAsIDAsIHsweDBmLDB4ZjAsMHgxMywweDNjLDB4MGEsMHhjOSwweGM4LDB4M2UsMHg0MCwweDBmLDB4ZjAsMHgwMywweDNjLDB4MDQsMHhmZiwweDg0IH0gfSwKLXsgIDE2LCAweGQ4ODAsIDAsIHsweDMyLDB4YzAsMHgwZCwweDkwLDB4MTMsMHg3YywweDAwLDB4ZDksMHgwMCwweGY2LDB4YzAsMHgyYywweDEwLDB4MDMsMHgyYSwweDA0IH0gfSwKLXsgIDE2LCAweGQ4OTAsIDAsIHsweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDAwLDB4ZTQsMHgwMCwweGYzLDB4MDAsMHgzYSwweGMxIH0gfSwKLXsgIDE2LCAweGQ4YTAsIDAsIHsweDRmLDB4YjAsMHgwMywweGVjLDB4MDAsMHhmOSwweDA4LDB4M2MsMHgwMCwweDBmLDB4MzAsMHgxMywweGVjLDB4MDAsMHhlYiwweDA0IH0gfSwKLXsgIDE2LCAweGQ4YjAsIDAsIHsweGJlLDB4MTgsMHgwZiwweDkwLDB4MjMsMHhhYywweDYwLDB4ZTksMHgwMiwweDNhLDB4NDAsMHg0ZiwweDkwLDB4MDMsMHhlMCwweDAwIH0gfSwKLXsgIDE2LCAweGQ4YzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZmMsMHgwMCwweGNhLDB4MDAsMHgzMywweGMwIH0gfSwKLXsgIDE2LCAweGQ4ZDAsIDAsIHsweDBjLDB4ZjAsMHgwMywweGZjLDB4MDAsMHhjZCwweDAyLDB4N2YsMHg0MCwweDBjLDB4ZjAsMHg0MiwweDNjLDB4MDAsMHhjZiwweDA4IH0gfSwKLXsgIDE2LCAweGQ4ZTAsIDAsIHsweDM3LDB4MTAsMHgwZiwweGQwLDB4MDMsMHhmYywweDEwLDB4Y2QsMHgwOCwweDNmLDB4NjYsMHgyYywweGQ5LDB4MDMsMHgwMCwweDQ0IH0gfSwKLXsgIDE2LCAweGQ4ZjAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MSwweDA0LDB4NjMsMHg4MCwweDhiLDB4ZTAsMHgyMiwweGMwIH0gfSwKLXsgIDE2LCAweGQ5MDAsIDAsIHsweDA4LDB4YjAsMHgyMiwweGVjLDB4MDAsMHhkOCwweDgwLDB4NmUsMHgyMCwweDY4LDB4YjAsMHgxYSwweDJjLDB4MDEsMHhmYiwweDAwIH0gfSwKLXsgIDE2LCAweGQ5MTAsIDAsIHsweDIyLDB4MTgsMHgwYiwweDg4LDB4NDMsMHg0YywweDAwLDB4ODgsMHhhMCwweDJjLDB4YzAsMHgxZCwweDkwLDB4MDIsMHgyMCwweDQwIH0gfSwKLXsgIDE2LCAweGQ5MjAsIDAsIHsweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDAxLDB4MDgsMHg4MCwweDhiLDB4MjAsMHgyMiwweGMwIH0gfSwKLXsgIDE2LCAweGQ5MzAsIDAsIHsweDA4LDB4YjAsMHgyMiwweGVjLDB4MDAsMHg4OCwweDg4LDB4MmUsMHg2MiwweDQ4LDB4YjAsMHgxYSwweGNjLDB4MDAsMHg4YiwweDAwIH0gfSwKLXsgIDE2LCAweGQ5NDAsIDAsIHsweDI2LDB4YzAsMHg0YSwweDg4LDB4MDIsMHhlYywweDAwLDB4MDgsMHg4NCwweDJlLDB4NDAsMHgwOSwweDkwLDB4MDIsMHgyMCwweDAwIH0gfSwKLXsgIDE2LCAweGQ5NTAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA0LDB4MDAsMHgwMCwweDgzLDB4MDAsMHg2MCwweGMwIH0gfSwKLXsgIDE2LCAweGQ5NjAsIDAsIHsweDA4LDB4MzAsMHgwMiwweGNjLDB4MDAsMHg5MCwweDA2LDB4NmMsMHgwMCwweDA4LDB4MzAsMHgwMiwweDhjLDB4MDAsMHhhMywweDA0IH0gfSwKLXsgIDE2LCAweGQ5NzAsIDAsIHsweDIwLDB4MDAsMHg4YiwweDAwLDB4MDYsMHg0YywweDIxLDB4ODAsMHgwMCwweDZjLDB4YzAsMHg0OSwweDEwLDB4MGEsMHgwMiwweDAxIH0gfSwKLXsgIDE2LCAweGQ5ODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4NmMsMHgwMCwweGNhLDB4MDAsMHhiMiwweGMxIH0gfSwKLXsgIDE2LCAweGQ5OTAsIDAsIHsweDg4LDB4YjQsMHgwMywweGVjLDB4MTAsMHhjOCwweDAwLDB4MmUsMHgwMCwweDBjLDB4YjAsMHgwYiwweGJjLDB4MDgsMHg4ZiwweDAwIH0gfSwKLXsgIDE2LCAweGQ5YTAsIDAsIHsweDM2LDB4MDAsMHgwNiwweDgwLDB4MDMsMHhlYywweDgwLDB4YzgsMHgwMiwweDNmLDB4YzEsMHgwYywweDkwLDB4MDMsMHgwMCwweDAzIH0gfSwKLXsgIDE2LCAweGQ5YjAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDFkLDB4ZjAsMHgwMCwweGZmLDB4MDAsMHgzZiwweGMwIH0gfSwKLXsgIDE2LCAweGQ5YzAsIDAsIHsweDBmLDB4NzIsMHg4MywweGZjLDB4MTgsMHhmYywweDAzLDB4M2YsMHgwMCwweDhmLDB4NzAsMHgwMywweDdjLDB4MDAsMHhmZiwweDAwIH0gfSwKLXsgIDE2LCAweGQ5ZDAsIDAsIHsweDNkLDB4MDAsMHgwZiwweGMwLDB4MjMsMHg4YywweDA2LDB4ZmMsMHgwMCwweDNmLDB4NDAsMHgwZSwweGQwLDB4MDMsMHhlOCwweDA2IH0gfSwKLXsgIDE2LCAweGQ5ZTAsIDAsIHsweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGM1LDB4NDEsMHgwMywweDcwLDB4NDAsMHhkYywweDEwIH0gfSwKLXsgIDE2LCAweGQ5ZjAsIDAsIHsweDM3LDB4MDQsMHgwZCwweGMxLDB4MDMsMHg3MCwweDQwLDB4ZGMsMHgxMCwweDM3LDB4MDQsMHgwZCwweGMxLDB4MDEsMHg3MCwweDQwIH0gfSwKLXsgIDE2LCAweGRhMDAsIDAsIHsweDljLDB4MTAsMHgxNywweDE0LDB4MDUsMHhjMSwweDAzLDB4NzAsMHg0MCwweGRjLDB4MTAsMHgxNywweDA0LDB4MGQsMHhjMCwweDMxIH0gfSwKLXsgIDE2LCAweGRhMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGM1LDB4NDQsMHgwNSwweDcxLDB4MDEsMHg1YywweDQwIH0gfSwKLXsgIDE2LCAweGRhMjAsIDAsIHsweDU3LDB4MTAsMHgxNSwweGM0LDB4MDUsMHgyMSwweDAxLDB4NWMsMHg0MCwweDU3LDB4MTAsMHgxNSwweGM0LDB4MDEsMHg3MSwweDAxIH0gfSwKLXsgIDE2LCAweGRhMzAsIDAsIHsweDVjLDB4NDAsMHgxNywweDEwLDB4MDUsMHhjNCwweDA1LDB4NzEsMHgwNSwweDVjLDB4NDEsMHg1NywweDEwLDB4MTUsMHhjMCwweDExIH0gfSwKLXsgIDE2LCAweGRhNDAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDIsMHgwMSwweDIwLDB4ODAsMHg0OCwweDIwIH0gfSwKLXsgIDE2LCAweGRhNTAsIDAsIHsweDEyLDB4MDgsMHgwNCwweDgyLDB4MDEsMHgyMCwweDgwLDB4NDgsMHgyMCwweDEyLDB4MDgsMHgwNCwweDgyLDB4MDEsMHgyMCwweDgwIH0gfSwKLXsgIDE2LCAweGRhNjAsIDAsIHsweDQ4LDB4MjAsMHgxMiwweDA4LDB4MDQsMHg4MiwweDAxLDB4MjAsMHg4MCwweDQ4LDB4MjAsMHgxMiwweDA4LDB4MDQsMHg4MCwweDIwIH0gfSwKLXsgIDE2LCAweGRhNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDAsMHgwMCwweDYwLDB4MDAsMHg1OCwweDAwIH0gfSwKLXsgIDE2LCAweGRhODAsIDAsIHsweDE2LDB4MDAsMHgwNSwweDgwLDB4MDEsMHg2MCwweDAwLDB4NTgsMHgwMCwweDE2LDB4MDAsMHgwNSwweDgwLDB4MDUsMHg2MCwweDAwIH0gfSwKLXsgIDE2LCAweGRhOTAsIDAsIHsweDU4LDB4MDAsMHgxNiwweDE4LDB4MDEsMHg4MCwweDAxLDB4NjAsMHgwMCwweDU4LDB4MDAsMHg1NiwweDAwLDB4MDUsMHg4MCwweDIwIH0gfSwKLXsgIDE2LCAweGRhYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGM1LDB4NDgsMHgwNSwweDIyLDB4MDEsMHgxYywweDgwIH0gfSwKLXsgIDE2LCAweGRhYjAsIDAsIHsweDQ3LDB4MjAsMHgxMSwweGM4LDB4MDQsMHg3MiwweDAxLDB4NWMsMHg4MCwweDU3LDB4MjAsMHgxMSwweGM4LDB4MDQsMHg3MiwweDQxIH0gfSwKLXsgIDE2LCAweGRhYzAsIDAsIHsweDVjLDB4ODAsMHg1NywweDIwLDB4MTEsMHhjOCwweDA0LDB4NzIsMHgwMSwweDFjLDB4ODAsMHg0NywweDIwLDB4MTUsMHhjMCwweDMxIH0gfSwKLXsgIDE2LCAweGRhZDAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGM1LDB4NDAsMHgwMCwweDYwLDB4MDAsMHgxOCwweDAwIH0gfSwKLXsgIDE2LCAweGRhZTAsIDAsIHsweDA2LDB4MDAsMHgwMSwweDgwLDB4MDAsMHg2MCwweDAwLDB4MTgsMHgwMCwweDA2LDB4MDAsMHgwMSwweDgwLDB4MDAsMHg2MCwweDAwIH0gfSwKLXsgIDE2LCAweGRhZjAsIDAsIHsweDE4LDB4MDAsMHgwNiwweDAwLDB4MDEsMHg4MCwweDAwLDB4NjAsMHgwMCwweDE4LDB4MDAsMHgwNiwweDAwLDB4MDEsMHg4MCwweDMxIH0gfSwKLXsgIDE2LCAweGRiMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGM1LDB4NDgsMHgwNCwweDIyLDB4MDEsMHgwOCwweDgwIH0gfSwKLXsgIDE2LCAweGRiMTAsIDAsIHsweDQyLDB4MjAsMHgxMCwweDg4LDB4MDQsMHgyMiwweDAxLDB4MDgsMHg4MCwweDQyLDB4MjAsMHgxMCwweDgwLDB4MDQsMHgyMywweDAxIH0gfSwKLXsgIDE2LCAweGRiMjAsIDAsIHsweDA4LDB4ODAsMHg0MiwweDIwLDB4MTAsMHg4OCwweDA0LDB4MjIsMHgwMSwweDA4LDB4MDAsMHg0MiwweDIwLDB4MTAsMHg4MCwweDIxIH0gfSwKLXsgIDE2LCAweGRiMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGM1LDB4NGEsMHgwNSwweDQyLDB4ODEsMHg1MCwweGEwIH0gfSwKLXsgIDE2LCAweGRiNDAsIDAsIHsweDQ0LDB4MmMsMHgxMSwweDBiLDB4MDQsMHg0MiwweDgxLDB4MTAsMHhlMCwweDU0LDB4MjgsMHgxMSwweDAyLDB4MDAsMHg0MiwweDgxIH0gfSwKLXsgIDE2LCAweGRiNTAsIDAsIHsweDEwLDB4YTAsMHg0NCwweDM4LDB4MTEsMHgwYiwweDA1LDB4NDIsMHg4MSwweDEwLDB4MjEsMHgxNCwweDI4LDB4MTUsMHgwMCwweDMxIH0gfSwKLXsgIDE2LCAweGRiNjAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MGMsMHgwMSwweDU3LDB4MDAsMHg1NCwweGMwIH0gfSwKLXsgIDE2LCAweGRiNzAsIDAsIHsweDE1LDB4MzAsMHgwNCwweDRjLDB4MDEsMHgxMywweDAwLDB4NTQsMHhjMCwweDE1LDB4NzAsMHgwNSwweDRjLDB4MDEsMHg1MywweDAwIH0gfSwKLXsgIDE2LCAweGRiODAsIDAsIHsweDU0LDB4YzAsMHgxNSwweDMwLDB4ODUsMHg0YywweDAxLDB4MTMsMHgwMCwweDU0LDB4YzAsMHgxNSwweDMwLDB4MDUsMHg0MCwweDIxIH0gfSwKLXsgIDE2LCAweGRiOTAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDAsMHgwMCwweDQwLDB4MDAsMHgxMCwweDAwIH0gfSwKLXsgIDE2LCAweGRiYTAsIDAsIHsweDA0LDB4MDAsMHgwMCwweDQwLDB4MDAsMHgxMCwweDAwLDB4MTAsMHg2MiwweDA0LDB4MDAsMHgwMSwweDA4LDB4MDQsMHg0MSwweDAwIH0gfSwKLXsgIDE2LCAweGRiYjAsIDAsIHsweDEwLDB4MDAsMHg0NCwweDE4LDB4MTEsMHgwMCwweDAwLDB4MTAsMHgwMCwweDEwLDB4ODAsMHgwNCwweDAwLDB4MDEsMHgwMSwweDIwIH0gfSwKLXsgIDE2LCAweGRiYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ1LDB4NjAsMHgwMiwweDA4LDB4MDAsMHg4MiwweDAwIH0gfSwKLXsgIDE2LCAweGRiZDAsIDAsIHsweDIwLDB4ODAsMHgwOCwweDYwLDB4MDIsMHgxOCwweDAwLDB4ODIsMHgwMCwweDIwLDB4ODAsMHgwOCwweDIwLDB4MDAsMHgwOCwweDIwIH0gfSwKLXsgIDE2LCAweGRiZTAsIDAsIHsweDgyLDB4MDAsMHgwMCwweDgwLDB4ODAsMHgyMCwweDAyLDB4MTgsMHgwMCwweDgyLDB4MDAsMHgyMCwweDgwLDB4MDgsMHgwMSwweDMxIH0gfSwKLXsgIDE2LCAweGRiZjAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGM1LDB4NDAsMHgwNSwweDY0LDB4MDEsMHg1OCwweDAwIH0gfSwKLXsgIDE2LCAweGRjMDAsIDAsIHsweDU2LDB4MDAsMHgxNSwweDgwLDB4MDUsMHg2MCwweDAxLDB4NTgsMHgwMCwweDU2LDB4NDAsMHgxNSwweDgwLDB4MDUsMHg2MCwweDAxIH0gfSwKLXsgIDE2LCAweGRjMTAsIDAsIHsweDU4LDB4MDAsMHg1NiwweDAwLDB4MTUsMHg4MCwweDA1LDB4NjAsMHgwMSwweDU4LDB4MDAsMHg3NiwweDAwLDB4MTUsMHg4MCwweDMxIH0gfSwKLXsgIDE2LCAweGRjMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGM1LDB4NDAsMHgwMywweDYwLDB4MDAsMHhkOCwweDAwIH0gfSwKLXsgIDE2LCAweGRjMzAsIDAsIHsweDM2LDB4MDAsMHgwZCwweDgwLDB4MDMsMHg2MCwweDAwLDB4OTgsMHgwMCwweDM2LDB4MDAsMHgxZCwweDg4LDB4MDUsMHg2MCwweDAwIH0gfSwKLXsgIDE2LCAweGRjNDAsIDAsIHsweGQ4LDB4MDAsMHgxNiwweDAwLDB4MGQsMHg4MCwweDAzLDB4NjAsMHgwMCwweGQ4LDB4ODAsMHg0NiwweDAwLDB4MGQsMHg4MCwweDMxIH0gfSwKLXsgIDE2LCAweGRjNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGM1LDB4NDIsMHgwNCwweDMwLDB4ODEsMHgwYywweDIwIH0gfSwKLXsgIDE2LCAweGRjNjAsIDAsIHsweDQzLDB4MDgsMHgxMCwweGMyLDB4MDQsMHgzMCwweDgxLDB4MGMsMHgyMiwweDQxLDB4MDgsMHgxOCwweGMyLDB4MDQsMHgzMCwweDg5IH0gfSwKLXsgIDE2LCAweGRjNzAsIDAsIHsweDBjLDB4MjAsMHgwMywweDA4LDB4MTAsMHhjMiwweDA0LDB4MzAsMHg4MSwweDBjLDB4MjAsMHg0MywweDA4LDB4MTAsMHhjMCwweDEwIH0gfSwKLXsgIDE2LCAweGRjODAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDAsMHgwMCwweDMwLDB4MDAsMHgwYywweDAwIH0gfSwKLXsgIDE2LCAweGRjOTAsIDAsIHsweDAzLDB4MDAsMHgwMCwweGMwLDB4MDAsMHgzMCwweDAwLDB4MGMsMHgwMCwweDAzLDB4MDAsMHgwMCwweGMwLDB4MDAsMHgzMCwweDAwIH0gfSwKLXsgIDE2LCAweGRjYTAsIDAsIHsweDBjLDB4MDAsMHgwMywweDAwLDB4MDAsMHhjMCwweDAwLDB4MzAsMHgwMCwweDBjLDB4MDAsMHgwMywweDAwLDB4MDAsMHhjMCwweDAxIH0gfSwKLXsgIDE2LCAweGRjYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDIsMHgwMSwweDMwLDB4ODAsMHg0YywweDIwIH0gfSwKLXsgIDE2LCAweGRjYzAsIDAsIHsweDEzLDB4MDgsMHgwNCwweGMyLDB4MDEsMHgzMCwweDgwLDB4NGMsMHgyMCwweDEzLDB4MDgsMHgwNCwweGMzLDB4MDEsMHgzMCwweDgwIH0gfSwKLXsgIDE2LCAweGRjZDAsIDAsIHsweDRjLDB4MjAsMHgxMywweDA4LDB4MDQsMHhjMiwweDAxLDB4MzAsMHg4MCwweDRjLDB4MzAsMHgxMywweDA4LDB4MDQsMHhjMCwweDIxIH0gfSwKLXsgIDE2LCAweGRjZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGM1LDB4NDIsMHgwNSwweDYwLDB4ODEsMHg1OCwweDIwIH0gfSwKLXsgIDE2LCAweGRjZjAsIDAsIHsweDU2LDB4MDgsMHgxMSwweDgyLDB4MDUsMHg2MCwweDgxLDB4NTgsMHgyMCwweDU2LDB4MDgsMHgxMSwweDgzLDB4MDAsMHg2MCwweDgxIH0gfSwKLXsgIDE2LCAweGRkMDAsIDAsIHsweDU4LDB4MjAsMHg0NiwweDA4LDB4MTEsMHg4MiwweDA0LDB4NjAsMHg4MSwweDE4LDB4MzAsMHg1NiwweDA4LDB4MTUsMHg4MCwweDMwIH0gfSwKLXsgIDE2LCAweGRkMTAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGM1LDB4NDIsMHgwMCwweDIwLDB4ODAsMHgwOCwweDIwIH0gfSwKLXsgIDE2LCAweGRkMjAsIDAsIHsweDAyLDB4MDgsMHgwMCwweDgyLDB4MDAsMHgyMCwweDgwLDB4MDgsMHgyMCwweDAyLDB4MDgsMHgwMCwweDgyLDB4MDAsMHgzMCwweDgwIH0gfSwKLXsgIDE2LCAweGRkMzAsIDAsIHsweDA4LDB4MjAsMHgwMiwweDAwLDB4MDAsMHg4MiwweDAwLDB4MjAsMHg4MCwweDA4LDB4MjAsMHgwMywweDA4LDB4MDAsMHg4MCwweDMxIH0gfSwKLXsgIDE2LCAweGRkNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGM1LDB4NDIsMHgwNCwweDYwLDB4ODEsMHgxOCwweDIwIH0gfSwKLXsgIDE2LCAweGRkNTAsIDAsIHsweDQ2LDB4NDgsMHgxMSwweDkyLDB4MDQsMHg2MCwweDgxLDB4MTksMHgyMCwweDQ2LDB4MjgsMHgxMSwweDgyLDB4MDAsMHgzNCwweDgxIH0gfSwKLXsgIDE2LCAweGRkNjAsIDAsIHsweDE4LDB4MjAsMHg0NiwweDQ4LDB4MTEsMHg5MiwweDA0LDB4NjAsMHg4MSwweDE4LDB4MjAsMHg0MywweDA4LDB4MTEsMHg4MCwweDExIH0gfSwKLXsgIDE2LCAweGRkNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGM1LDB4NjAsMHgwNCwweDU4LDB4MDEsMHg1NiwweDAwIH0gfSwKLXsgIDE2LCAweGRkODAsIDAsIHsweDU1LDB4ODAsMHgxNSwweDYwLDB4MDQsMHg1OCwweDAxLDB4MTYsMHgwMCwweDU1LDB4ODAsMHgwMSwweDYwLDB4MDQsMHgxOCwweDAxIH0gfSwKLXsgIDE2LCAweGRkOTAsIDAsIHsweDU2LDB4MDAsMHg0NSwweDgwLDB4MTEsMHg2MCwweDA0LDB4NTgsMHgwMSwweDE2LDB4MDAsMHg0MSwweDgwLDB4MTEsMHg0MCwweDMxIH0gfSwKLXsgIDE2LCAweGRkYTAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDYsMHgwMSwweDQxLDB4ODAsMHg1MCwweDYwIH0gfSwKLXsgIDE2LCAweGRkYjAsIDAsIHsweDE0LDB4MTgsMHgwNSwweDA2LDB4MDEsMHg0MSwweDgwLDB4NTAsMHg2MCwweDA0LDB4MTgsMHgwNSwweDA2LDB4MDAsMHg0MSwweDgwIH0gfSwKLXsgIDE2LCAweGRkYzAsIDAsIHsweDEwLDB4NjAsMHgxNCwweDE4LDB4MDUsMHgwNiwweDAxLDB4NDEsMHg4MCwweDUwLDB4NjAsMHgxNCwweDE4LDB4MDUsMHgwMCwweDIwIH0gfSwKLXsgIDE2LCAweGRkZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDIsMHgwMSwweDAwLDB4ODAsMHg0MCwweDIwIH0gfSwKLXsgIDE2LCAweGRkZTAsIDAsIHsweDEwLDB4NDgsMHgwNCwweDEyLDB4MDEsMHgwMCwweDgwLDB4NDEsMHgyMCwweDEwLDB4MDgsMHgwNCwweDAyLDB4MDEsMHgwNCwweDgwIH0gfSwKLXsgIDE2LCAweGRkZjAsIDAsIHsweDQwLDB4MjAsMHg1MCwweDQ4LDB4MDQsMHgxMiwweDAxLDB4MDAsMHg4NCwweDQwLDB4MjAsMHgxMCwweDA4LDB4MDQsMHgwMCwweDIwIH0gfSwKLXsgIDE2LCAweGRlMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGM1LDB4NDYsMHgwMywweDUxLDB4ODAsMHhkNCwweDYwIH0gfSwKLXsgIDE2LCAweGRlMTAsIDAsIHsweDMwLDB4MTgsMHgwZCwweDQ2LDB4MDMsMHg1MSwweDgwLDB4ZDUsMHg2MCwweDM1LDB4MTgsMHgwZCwweDQ2LDB4MDMsMHgwNSwweDgwIH0gfSwKLXsgIDE2LCAweGRlMjAsIDAsIHsweGQ0LDB4NjAsMHgxNSwweDE4LDB4MGQsMHg0NiwweDAzLDB4MTEsMHg4MCwweGQ0LDB4NjAsMHgzNSwweDE4LDB4MGQsMHg0MCwweDMxIH0gfSwKLXsgIDE2LCAweGRlMzAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGM1LDB4NDYsMHgwNSwweDcxLDB4ODAsMHg1YywweDYwIH0gfSwKLXsgIDE2LCAweGRlNDAsIDAsIHsweDk3LDB4MTgsMHgxNSwweGM2LDB4MDUsMHg3MSwweDgxLDB4NWMsMHgyMCwweDU3LDB4MTgsMHgxNSwweGM2LDB4MDMsMHg3MCwweDgxIH0gfSwKLXsgIDE2LCAweGRlNTAsIDAsIHsweDVjLDB4NjAsMHg1NywweDE4LDB4MTEsMHhjNiwweDA1LDB4MzEsMHg4MSwweDVjLDB4NjAsMHg3NywweDE4LDB4MTUsMHhjMCwweDMxIH0gfSwKLXsgIDE2LCAweGRlNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ1LDB4NDYsMHgwMywweDcxLDB4ODAsMHhkYywweDYwIH0gfSwKLXsgIDE2LCAweGRlNzAsIDAsIHsweDM3LDB4MTgsMHgwZCwweGM2LDB4MDMsMHg3MSwweDgwLDB4ZGQsMHg2MCwweDM3LDB4MTgsMHgwNSwweGM2LDB4MDEsMHg3NSwweDgxIH0gfSwKLXsgIDE2LCAweGRlODAsIDAsIHsweGRjLDB4NjAsMHgzNywweDE4LDB4MGQsMHhjNiwweDAzLDB4NzEsMHg4NCwweDVjLDB4NjAsMHgxNywweDE4LDB4MTksMHhjMCwweDExIH0gfSwKLXsgIDE2LCAweGRlOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ1LDB4NDYsMHgwNSwweDcxLDB4ODEsMHg1YywweDYwIH0gfSwKLXsgIDE2LCAweGRlYTAsIDAsIHsweDU3LDB4MTgsMHgxNCwweDg2LDB4MDUsMHg3MSwweDgxLDB4NWMsMHg2MCwweDU3LDB4MTgsMHgwNSwweGM2LDB4MDQsMHgzMSwweDgxIH0gfSwKLXsgIDE2LCAweGRlYjAsIDAsIHsweDVjLDB4NjAsMHg1NywweDE4LDB4MTUsMHhjNiwweDA1LDB4NzEsMHg4MCwweDVjLDB4NjAsMHg0MywweDE4LDB4MTUsMHhjMCwweDExIH0gfSwKLXsgIDE2LCAweGRlYzAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDIsMHgwMSwweDIwLDB4ODAsMHg0OCwweDIwIH0gfSwKLXsgIDE2LCAweGRlZDAsIDAsIHsweDEyLDB4MDgsMHgwNCwweDgyLDB4MDEsMHgyMCwweDgwLDB4NDgsMHgyMCwweDEyLDB4MDgsMHgwNCwweDgyLDB4MDEsMHg3MCwweDgwIH0gfSwKLXsgIDE2LCAweGRlZTAsIDAsIHsweDQ4LDB4MjAsMHgxMiwweDA4LDB4MDQsMHg4MiwweDAxLDB4MjAsMHg4MCwweDQ4LDB4MjAsMHgxNywweDA4LDB4MDQsMHg4MCwweDAwIH0gfSwKLXsgIDE2LCAweGRlZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDYsMHgwMSwweDYxLDB4ODAsMHg1OCwweDYwIH0gfSwKLXsgIDE2LCAweGRmMDAsIDAsIHsweDE2LDB4MTgsMHg0MSwweDg2LDB4MDEsMHg2MSwweDgwLDB4MTgsMHg2MCwweDA2LDB4M2MsMHgwNSwweDg2LDB4MDQsMHg2MSwweDgwIH0gfSwKLXsgIDE2LCAweGRmMTAsIDAsIHsweDE4LDB4NjAsMHgxNiwweDE4LDB4MDEsMHg4NiwweDAwLDB4NjEsMHg4MCwweDU4LDB4NjAsMHg1NiwweDE4LDB4MTUsMHg4MCwweDEwIH0gfSwKLXsgIDE2LCAweGRmMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ1LDB4NDAsMHgwNSwweDcwLDB4MDEsMHg1YywweDAwIH0gfSwKLXsgIDE2LCAweGRmMzAsIDAsIHsweDU3LDB4MDAsMHgxNSwweGMwLDB4MDQsMHg3MCwweDAxLDB4NWMsMHgwMCwweDU3LDB4MDAsMHgxMCwweGMwLDB4MDQsMHg3MCwweDAwIH0gfSwKLXsgIDE2LCAweGRmNDAsIDAsIHsweDFjLDB4MDAsMHg0NywweDAwLDB4MTEsMHhjMCwweDA0LDB4NzAsMHgwMSwweDVjLDB4MDAsMHg0NywweDAwLDB4MDEsMHhjMCwweDExIH0gfSwKLXsgIDE2LCAweGRmNTAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ1LDB4NDIsMHgwMCwweDYwLDB4ODAsMHgxOCwweDIwIH0gfSwKLXsgIDE2LCAweGRmNjAsIDAsIHsweDA2LDB4MDgsMHgwMSwweDgyLDB4MDAsMHg2MCwweDgwLDB4MTgsMHgyMCwweDA2LDB4MDgsMHgwMCwweDgyLDB4MDAsMHg2MCwweDgwIH0gfSwKLXsgIDE2LCAweGRmNzAsIDAsIHsweDE4LDB4MjAsMHgwNiwweDA4LDB4MDEsMHg4MiwweDAwLDB4NjAsMHg4MCwweDE4LDB4MjAsMHgwNiwweDA4LDB4MDEsMHg4MCwweDExIH0gfSwKLXsgIDE2LCAweGRmODAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4NDIsMHgwNCwweDIwLDB4ODEsMHgwOCwweDIwIH0gfSwKLXsgIDE2LCAweGRmOTAsIDAsIHsweDQyLDB4MDgsMHgxMCwweDgyLDB4MDQsMHgyMCwweDgxLDB4MDgsMHgyMCwweDQyLDB4MDgsMHgxMSwweDgyLDB4MDQsMHgyMCwweDgwIH0gfSwKLXsgIDE2LCAweGRmYTAsIDAsIHsweDA4LDB4MjAsMHg0MiwweDA4LDB4MTAsMHg4MiwweDA0LDB4MjAsMHg4MSwweDA4LDB4MjAsMHg0MiwweDA4LDB4MDAsMHg4MCwweDExIH0gfSwKLXsgIDE2LCAweGRmYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ1LDB4NDIsMHgwNSwweDQwLDB4ODEsMHg1MCwweDIwIH0gfSwKLXsgIDE2LCAweGRmYzAsIDAsIHsweDU0LDB4MDgsMHgxNSwweDAyLDB4MDUsMHg0MCwweDgxLDB4MTAsMHgyMCwweDU0LDB4MGMsMHgxNSwweDQyLDB4MDAsMHg0MCwweDgxIH0gfSwKLXsgIDE2LCAweGRmZDAsIDAsIHsweDUwLDB4MjAsMHg0NCwweDA4LDB4MTEsMHgwMiwweDA1LDB4NDAsMHg4MSwweDEwLDB4MjAsMHgxNCwweDA4LDB4MDUsMHgwMCwweDExIH0gfSwKLXsgIDE2LCAweGRmZTAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MDMsMHgwMSwweDUwLDB4YzAsMHg1NCwweDMwIH0gfSwKLXsgIDE2LCAweGRmZjAsIDAsIHsweDE1LDB4MDgsMHgwNSwweDQyLDB4MDEsMHg1MCwweGMwLDB4NTQsMHgzMCwweDE1LDB4MGMsMHgwNSwweDQzLDB4MDEsMHg1MCwweGMwIH0gfSwKLXsgIDE2LCAweGUwMDAsIDAsIHsweDU0LDB4MzAsMHgxNSwweDBjLDB4MDUsMHg0MiwweDAxLDB4NTAsMHhjMCwweDU0LDB4MzAsMHgxNSwweDBjLDB4MDUsMHg0MCwweDEwIH0gfSwKLXsgIDE2LCAweGUwMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwMCwweDQyLDB4MDAsMHgxMCwweDgwIH0gfSwKLXsgIDE2LCAweGUwMjAsIDAsIHsweDA0LDB4MjAsMHgwMSwweDg4LDB4MDAsMHg2MiwweDAwLDB4MTAsMHg4MCwweDA0LDB4MDAsMHgxMSwweDA4LDB4MDAsMHg0MiwweDAwIH0gfSwKLXsgIDE2LCAweGUwMzAsIDAsIHsweDEwLDB4ODAsMHgwNCwweDIwLDB4MDEsMHgwOCwweDAwLDB4NDIsMHgwMSwweDEwLDB4ODAsMHgwNCwweDIwLDB4MDEsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGUwNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ1LDB4NDIsMHgwMiwweDAwLDB4ODAsMHg4MCwweDIwIH0gfSwKLXsgIDE2LCAweGUwNTAsIDAsIHsweDIwLDB4MDgsMHgwOCwweDAyLDB4MDIsMHgyMCwweDgwLDB4ODAsMHgyMCwweDIwLDB4MjgsMHgwMCwweDAyLDB4MDIsMHgwMCwweDgwIH0gfSwKLXsgIDE2LCAweGUwNjAsIDAsIHsweDgwLDB4MjAsMHgyMCwweDBhLDB4MDgsMHgwMiwweDAyLDB4MDAsMHg4MCwweDAwLDB4MjAsMHgyMCwweDA4LDB4MDgsMHgwMCwweDExIH0gfSwKLXsgIDE2LCAweGUwNzAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ1LDB4NDAsMHgwNSwweDYwLDB4MDEsMHg1OCwweDAwIH0gfSwKLXsgIDE2LCAweGUwODAsIDAsIHsweDU2LDB4MDAsMHgwNSwweDgwLDB4MDUsMHg2MCwweDAxLDB4NTgsMHgwOCwweDU2LDB4MDAsMHgxNSwweDgwLDB4MDcsMHg2MCwweDAyIH0gfSwKLXsgIDE2LCAweGUwOTAsIDAsIHsweDU4LDB4MDAsMHg1NiwweDQwLDB4MTUsMHg4MCwweDA1LDB4NjAsMHgwMywweDE4LDB4MDAsMHg3NiwweDAwLDB4MTUsMHg4MCwweDExIH0gfSwKLXsgIDE2LCAweGUwYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGM1LDB4NDAsMHgwMywweDYwLDB4MDAsMHhkOCwweDAwIH0gfSwKLXsgIDE2LCAweGUwYjAsIDAsIHsweDM2LDB4MDAsMHgwZCwweDgwLDB4MDEsMHg2MCwweDAwLDB4ZDgsMHgwYSwweDM2LDB4MDAsMHgwZCwweDgwLDB4MDUsMHg3MCwweDA5IH0gfSwKLXsgIDE2LCAweGUwYzAsIDAsIHsweGQ4LDB4MDEsMHgzNiwweDAwLDB4MGQsMHg4MCwweDAzLDB4NjAsMHgwMCwweGQ4LDB4MDAsMHg1NywweDAwLDB4MGQsMHg4MCwweDAwIH0gfSwKLXsgIDE2LCAweGUwZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNCwweDMwLDB4MDEsMHgwYywweDAwIH0gfSwKLXsgIDE2LCAweGUwZTAsIDAsIHsweDQzLDB4MDAsMHgxMCwweGMwLDB4MDAsMHgzMCwweDAxLDB4MGMsMHgwMCwweDQzLDB4MjAsMHgxMCwweGMwLDB4MDQsMHg2MCwweDAxIH0gfSwKLXsgIDE2LCAweGUwZjAsIDAsIHsweDBjLDB4MDAsMHg0MywweDQwLDB4NTAsMHhjMSwweDA0LDB4MzAsMHgwMSwweDBjLDB4MDAsMHg0NiwweDAwLDB4MTAsMHhjMCwweDAwIH0gfSwKLXsgIDE2LCAweGUxMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDMwLDB4MDAsMHgwYywweDAwIH0gfSwKLXsgIDE2LCAweGUxMTAsIDAsIHsweDAxLDB4MDAsMHgwMCwweGMwLDB4MDAsMHgzMCwweDAwLDB4MGMsMHgwMCwweDAzLDB4MDAsMHgwMCwweGQwLDB4MDAsMHgyMCwweDAwIH0gfSwKLXsgIDE2LCAweGUxMjAsIDAsIHsweDBjLDB4MDAsMHgwMywweDQwLDB4MDAsMHhjMCwweDAwLDB4MzAsMHgwMCwweDBkLDB4MDAsMHgwMiwweDAwLDB4MDAsMHhjMCwweDAwIH0gfSwKLXsgIDE2LCAweGUxMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDUsMHgwMSwweDMxLDB4NDAsMHg0YywweDUwIH0gfSwKLXsgIDE2LCAweGUxNDAsIDAsIHsweDEzLDB4MTAsMHgwNCwweGM0LDB4MDEsMHgzMSwweDQwLDB4NGMsMHg1MCwweDEzLDB4MTQsMHgwNCwweGM1LDB4MTEsMHgzMSwweDQxIH0gfSwKLXsgIDE2LCAweGUxNTAsIDAsIHsweDRjLDB4NTAsMHgxMywweDE0LDB4MDQsMHhjNSwweDAxLDB4MzEsMHg0MCwweDRjLDB4NTAsMHgxMywweDE0LDB4MDQsMHhjMCwweDAwIH0gfSwKLXsgIDE2LCAweGUxNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjMsMHgwNSwweDY4LDB4YzEsMHg1YSwweDMwIH0gfSwKLXsgIDE2LCAweGUxNzAsIDAsIHsweDU2LDB4OGMsMHgxMSwweGEzLDB4MDQsMHg2OCwweGMxLDB4MWEsMHgzMCwweDU2LDB4OGMsMHgxMSwweGEzLDB4MDUsMHg2OCwweGMwIH0gfSwKLXsgIDE2LCAweGUxODAsIDAsIHsweDVhLDB4MzAsMHg0NiwweDhjLDB4MTEsMHhhMywweDA0LDB4NjgsMHhjMSwweDVhLDB4MzAsMHgxNiwweDhjLDB4MTUsMHg4MCwweDAwIH0gfSwKLXsgIDE2LCAweGUxOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDIwLDB4MDAsMHgwOCwweDAwIH0gfSwKLXsgIDE2LCAweGUxYTAsIDAsIHsweDAyLDB4MDAsMHgwMCwweDgwLDB4MDAsMHgyMCwweDAwLDB4MDgsMHgwMCwweDAyLDB4MjAsMHgwMCwweDkwLDB4MDAsMHgyMCwweDAwIH0gfSwKLXsgIDE2LCAweGUxYjAsIDAsIHsweDA4LDB4MDAsMHgwMiwweDQwLDB4MDAsMHg4MCwweDAwLDB4MjAsMHgwMCwweDA5LDB4MDAsMHgwMiwweDAwLDB4MDAsMHg4MCwweDAwIH0gfSwKLXsgIDE2LCAweGUxYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHg0NCwweDYyLDB4MDEsMHgxOCwweDg0IH0gfSwKLXsgIDE2LCAweGUxZDAsIDAsIHsweDQ2LDB4MjEsMHgxMSwweDg4LDB4NDQsMHg2MiwweDExLDB4MTgsMHg4NCwweDQ2LDB4MDEsMHgxMSwweDg4LDB4NDQsMHg2MiwweDEwIH0gfSwKLXsgIDE2LCAweGUxZTAsIDAsIHsweDE4LDB4ODQsMHg0NiwweDIxLDB4MTEsMHg4OCwweDQ0LDB4NjIsMHgxMSwweDE4LDB4ODQsMHgwNiwweDIxLDB4MTEsMHg4MCwweDAwIH0gfSwKLXsgIDE2LCAweGUxZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0NSwweDUwLDB4MTEsMHg1NCwweDA0IH0gfSwKLXsgIDE2LCAweGUyMDAsIDAsIHsweDU1LDB4MDEsMHgxMSwweDQwLDB4NDUsMHg1MCwweDExLDB4MTQsMHgwMCwweDQ1LDB4MDEsMHgxMSwweDQwLDB4NDQsMHg1MCwweDAwIH0gfSwKLXsgIDE2LCAweGUyMTAsIDAsIHsweDE0LDB4MDQsMHg0NSwweDAwLDB4MTUsMHg0MCwweDQ0LDB4NTAsMHgxMSwweDE0LDB4MDQsMHg1NSwweDAxLDB4MTEsMHg0MCwweDAwIH0gfSwKLXsgIDE2LCAweGUyMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgyMSwweDQyLDB4MDgsMHg1MCwweDgyIH0gfSwKLXsgIDE2LCAweGUyMzAsIDAsIHsweDE0LDB4MjAsMHg4NSwweDA4LDB4MjEsMHg0MiwweDA4LDB4NTAsMHg4MiwweDA0LDB4MjAsMHg4NSwweDA4LDB4MjEsMHg0MiwweDA4IH0gfSwKLXsgIDE2LCAweGUyNDAsIDAsIHsweDUwLDB4ODIsMHgxNCwweDIwLDB4MDUsMHgwOCwweDIxLDB4NDIsMHgwOCwweDUwLDB4ODIsMHgxNCwweDIwLDB4ODUsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGUyNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGEsMHgwMSwweDAyLDB4ODAsMHg0MCwweGEwIH0gfSwKLXsgIDE2LCAweGUyNjAsIDAsIHsweDEwLDB4MjgsMHgwNCwweDBhLDB4MDEsMHgwMiwweDgwLDB4NDAsMHhhMCwweDEwLDB4MjgsMHg0MCwweDBhLDB4MDEsMHgwMiwweDgwIH0gfSwKLXsgIDE2LCAweGUyNzAsIDAsIHsweDQwLDB4YTAsMHgxMCwweDI4LDB4NDQsMHgwYSwweDAxLDB4MDIsMHg4MCwweDQwLDB4YTAsMHgxMCwweDI4LDB4MDQsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGUyODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGMsMHgwMywweDUzLDB4MDAsMHhkNCwweGMwIH0gfSwKLXsgIDE2LCAweGUyOTAsIDAsIHsweDM1LDB4MzAsMHgwZCwweDRjLDB4MDEsMHg1MywweDAwLDB4ZDQsMHhjMCwweDM1LDB4MTAsMHgwYywweDRjLDB4MDMsMHg1MywweDAwIH0gfSwKLXsgIDE2LCAweGUyYTAsIDAsIHsweGQ0LDB4YzAsMHgzNSwweDMwLDB4MGQsMHg0YywweDAzLDB4NTMsMHgwMCwweGQ0LDB4YzAsMHgzNSwweDMwLDB4MGQsMHg0MCwweDAwIH0gfSwKLXsgIDE2LCAweGUyYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweDcyLDB4MDEsMHg1YywweDgwIH0gfSwKLXsgIDE2LCAweGUyYzAsIDAsIHsweDE3LDB4MjAsMHgwNSwweGM4LDB4MDYsMHg3MiwweDAxLDB4NWMsMHg4MCwweDU3LDB4MjAsMHgxNSwweGM4LDB4MDIsMHg3MiwweDAxIH0gfSwKLXsgIDE2LCAweGUyZDAsIDAsIHsweDVjLDB4ODAsMHg1NywweDIwLDB4MTUsMHhjOCwweDA1LDB4NzIsMHgwMSwweDVjLDB4ODAsMHgzNywweDIwLDB4MTEsMHhjMCwweDAwIH0gfSwKLXsgIDE2LCAweGUyZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjMsMHgxOCwweDQwLDB4YzYsMHgxMiwweDMxIH0gfSwKLXsgIDE2LCAweGUyZjAsIDAsIHsweDg0LDB4OGMsMHgyMSwweDIzLDB4MDgsMHg0OCwweGM2LDB4MTIsMHgzMCwweDg0LDB4MGMsMHg2MSwweDIzLDB4MTAsMHg0OCwweGMyIH0gfSwKLXsgIDE2LCAweGUzMDAsIDAsIHsweDEyLDB4MzEsMHg4NCwweDhjLDB4MDEsMHgyMywweDA4LDB4NDgsMHhjNiwweDEyLDB4MzEsMHgwNCwweDhjLDB4NjEsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGUzMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweDRmLDB4ZmYsMHhkMywweGZmIH0gfSwKLXsgIDE2LCAweGUzMjAsIDAsIHsweGY0LDB4ZmYsMHhmZCwweDNmLDB4ZmYsMHg0ZiwweGZmLDB4ZDMsMHhmZiwweGY0LDB4ZmYsMHhmZCwweDNmLDB4ZmYsMHg0ZiwweGZmIH0gfSwKLXsgIDE2LCAweGUzMzAsIDAsIHsweGQzLDB4ZmYsMHhmNCwweGZmLDB4ZmQsMHgzZiwweGZmLDB4NGYsMHhmZiwweGQzLDB4ZmYsMHhmNCwweGZmLDB4ZmQsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGUzNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGUzNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGUzNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGUzNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MmMsMHhkYiwweDBmLDB4YjYsMHhjMiwweGNkIH0gfSwKLXsgIDE2LCAweGUzODAsIDAsIHsweGIwLDB4YjMsMHg2YywweDJjLDB4ZGIsMHgwYiwweDM2LDB4YzIsMHhkZiwweGIwLDB4YjMsMHg2YywweDJjLDB4ZGIsMHgwYiwweDdlIH0gfSwKLXsgIDE2LCAweGUzOTAsIDAsIHsweGMyLDB4Y2QsMHhiMCwweGI3LDB4ZmQsMHgyYywweGRiLDB4MGIsMHgzNiwweGMyLDB4Y2QsMHhiMCwweGIzLDB4NmMsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGUzYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzMsMHgzYywweDRmLDB4Y2YsMHgxMywweDMzIH0gfSwKLXsgIDE2LCAweGUzYjAsIDAsIHsweGM0LDB4Y2MsMHhmMSwweDMzLDB4M2MsMHg0YywweGNmLDB4MTMsMHgzZiwweGM0LDB4Y2MsMHhmMSwweDMzLDB4M2MsMHg0YywweGZmIH0gfSwKLXsgIDE2LCAweGUzYzAsIDAsIHsweDEzLDB4MzMsMHhjNCwweGNmLDB4ZmQsMHgzMywweDNjLDB4NGMsMHhjZiwweDEzLDB4MzMsMHhjNCwweGNjLDB4ZjEsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGUzZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2IsMHg3ZSwweDRlLDB4ZGYsMHg5MywweGI3IH0gfSwKLXsgIDE2LCAweGUzZTAsIDAsIHsweGU0LDB4ZWMsMHg3OSwweDNiLDB4MWUsMHg0ZSwweGRmLDB4OTMsMHhiZiwweGU0LDB4OGQsMHhmOSwweDNiLDB4NzgsMHg0ZSwweGZmIH0gfSwKLXsgIDE2LCAweGUzZjAsIDAsIHsweDkzLDB4YjcsMHhlNCwweGVkLDB4ZmQsMHgzYiwweDFlLDB4NGUsMHhkZiwweDkzLDB4YjcsMHg4NCwweGVkLDB4ZjksMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGU0MDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgwMiwweDcwLDB4NDAsMHg5YywweDEwIH0gfSwKLXsgIDE2LCAweGU0MTAsIDAsIHsweDI3LDB4MWMsMHgwOSwweGMxLDB4MDEsMHgzMCwweDQwLDB4MWMsMHgxMCwweDY3LDB4MDQsMHgwOSwweGMxLDB4MDIsMHg3MCwweDQxIH0gfSwKLXsgIDE2LCAweGU0MjAsIDAsIHsweDljLDB4MTEsMHgwNywweDE0LDB4MDEsMHhjMSwweDAyLDB4NzAsMHg0MCwweDljLDB4NTAsMHgwNywweDFjLDB4MDEsMHhjMCwweDAwIH0gfSwKLXsgIDE2LCAweGU0MzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDQsMHgwNSwweDcxLDB4MDEsMHg1YywweDQwIH0gfSwKLXsgIDE2LCAweGU0NDAsIDAsIHsweDU3LDB4MTAsMHg1NSwweGM0LDB4MDEsMHgzMSwweDAwLDB4NWMsMHg0MCwweDU3LDB4MTAsMHgxNSwweGM0LDB4MDUsMHg3MSwweDAxIH0gfSwKLXsgIDE2LCAweGU0NTAsIDAsIHsweGRjLDB4NDAsMHgxNywweDE4LDB4MWQsMHhjNCwweDA1LDB4NzEsMHgwNSwweDVjLDB4NDAsMHg1NywweDEwLDB4MWQsMHhjMCwweDAwIH0gfSwKLXsgIDE2LCAweGU0NjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDIsMHgwMSwweDIwLDB4ODAsMHg0OCwweDIwIH0gfSwKLXsgIDE2LCAweGU0NzAsIDAsIHsweDEyLDB4MDAsMHgwNCwweDgyLDB4MDEsMHgyMCwweDgwLDB4NDgsMHgyMCwweDEyLDB4MDgsMHgwNCwweDgyLDB4MDEsMHgyMCwweDgwIH0gfSwKLXsgIDE2LCAweGU0ODAsIDAsIHsweDQ4LDB4MjAsMHgxMiwweDA4LDB4MDQsMHg4MiwweDAxLDB4MjAsMHg4MCwweDQ4LDB4NjAsMHgxMiwweDA4LDB4MDQsMHg4MCwweDAwIH0gfSwKLXsgIDE2LCAweGU0OTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDYwLDB4MDAsMHgxOCwweDAwIH0gfSwKLXsgIDE2LCAweGU0YTAsIDAsIHsweDA2LDB4MDAsMHg0MSwweDgwLDB4MDAsMHg2MCwweDAwLDB4MTgsMHgwMCwweDQ2LDB4MDAsMHgwMSwweDgwLDB4MDAsMHg2MCwweDAwIH0gfSwKLXsgIDE2LCAweGU0YjAsIDAsIHsweDEwLDB4MDAsMHgwNiwweDEwLDB4MDEsMHg4MCwweDAwLDB4NjAsMHgwMCwweDE4LDB4MjAsMHg0NiwweDEwLDB4MDEsMHg4MCwweDAwIH0gfSwKLXsgIDE2LCAweGU0YzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweDcyLDB4MDEsMHgxYywweDgwIH0gfSwKLXsgIDE2LCAweGU0ZDAsIDAsIHsweDQ3LDB4MjAsMHgxMSwweGM4LDB4MDQsMHg3MiwweDAxLDB4MWMsMHg4MCwweDA3LDB4MjAsMHgxMSwweGM4LDB4MDQsMHg3MywweDAwIH0gfSwKLXsgIDE2LCAweGU0ZTAsIDAsIHsweDFjLDB4ODAsMHg0NywweDIwLDB4MTEsMHhjYywweDA0LDB4NzIsMHgwMSwweDFjLDB4ODAsMHg0NywweDIwLDB4MTEsMHhjMCwweDAwIH0gfSwKLXsgIDE2LCAweGU0ZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDYwLDB4MDAsMHgxOCwweDAwIH0gfSwKLXsgIDE2LCAweGU1MDAsIDAsIHsweDA2LDB4MDAsMHgwMSwweDg0LDB4MDAsMHg2MCwweDAwLDB4MTgsMHgwMCwweDA2LDB4MDAsMHgwMSwweDgwLDB4MDAsMHg2MCwweDQwIH0gfSwKLXsgIDE2LCAweGU1MTAsIDAsIHsweDE4LDB4MDAsMHgwNiwweDA0LDB4MDEsMHg4MSwweDAwLDB4NjAsMHgwMCwweDE4LDB4MDAsMHgwNiwweDE0LDB4MDEsMHg4MCwweDAwIH0gfSwKLXsgIDE2LCAweGU1MjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweDIyLDB4MDEsMHgwOCwweDgwIH0gfSwKLXsgIDE2LCAweGU1MzAsIDAsIHsweDQyLDB4NzAsMHgxMCwweDhjLDB4MDQsMHgyMiwweDAxLDB4MDgsMHhjMCwweDAyLDB4MjAsMHgxMCwweDg4LDB4MDQsMHgyMiwweDAwIH0gfSwKLXsgIDE2LCAweGU1NDAsIDAsIHsweDA4LDB4ODAsMHg0MiwweDUwLDB4MTAsMHgwOCwweDA0LDB4MjIsMHgwMSwweDA5LDB4MDAsMHg0MiwweDQwLDB4MTAsMHg4MCwweDAwIH0gfSwKLXsgIDE2LCAweGU1NTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MmUsMHgwNCwweDRhLDB4ODEsMHgxMiwweGEwIH0gfSwKLXsgIDE2LCAweGU1NjAsIDAsIHsweDQ0LDB4YTgsMHgxMSwweDJhLDB4MDQsMHg0YSwweDgxLDB4MTIsMHhhMCwweDA0LDB4YTgsMHgxMSwweDJhLDB4MDQsMHg0YiwweDgwIH0gfSwKLXsgIDE2LCAweGU1NzAsIDAsIHsweDEyLDB4YTAsMHg0NCwweDg4LDB4MDEsMHgyZSwweDA0LDB4NGEsMHg4MSwweDEyLDB4MjAsMHgwNCwweDk4LDB4MDEsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGU1ODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweGMwLDB4MGUsMHgwMCwweDUzLDB4MDAsMHgxNCwweGMwIH0gfSwKLXsgIDE2LCAweGU1OTAsIDAsIHsweDA1LDB4MzAsMHgwMSwweDRjLDB4MDAsMHg1MywweDAwLDB4MTQsMHhlMCwweDA1LDB4MzAsMHgwMSwweDRjLDB4MDAsMHg1MywweDAwIH0gfSwKLXsgIDE2LCAweGU1YTAsIDAsIHsweDA0LDB4YzAsMHgwNSwweDMwLDB4MDAsMHg0YywweDAwLDB4MDMsMHgwMCwweDE0LDB4YzAsMHgwNSwweDMwLDB4MDAsMHg0MCwweDEwIH0gfSwKLXsgIDE2LCAweGU1YjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweGMwLDB4MDQsMHgwMCwweDQwLDB4MDAsMHgxMCwweDAwIH0gfSwKLXsgIDE2LCAweGU1YzAsIDAsIHsweDA0LDB4NTgsMHgwMSwweDA0LDB4MDAsMHg0MCwweDAwLDB4MTAsMHgwMCwweDA0LDB4MDAsMHgwMSwweDAwLDB4MDAsMHg0MSwweDAwIH0gfSwKLXsgIDE2LCAweGU1ZDAsIDAsIHsweDA0LDB4MDAsMHg0NCwweDU4LDB4MTAsMHg0NCwweDAwLDB4MDAsMHgwMCwweDExLDB4ODAsMHgwNCwweDUwLDB4MTAsMHg0MCwweDMwIH0gfSwKLXsgIDE2LCAweGU1ZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweGMwLDB4NDAsMHgwMiwweDAwLDB4MDAsMHg4MCwweDAwIH0gfSwKLXsgIDE2LCAweGU1ZjAsIDAsIHsweDIwLDB4MDAsMHgwOCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDIwLDB4MDAsMHgwOCwweDAwLDB4MDIsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGU2MDAsIDAsIHsweDg0LDB4MDAsMHgwMCwweDAwLDB4MDgsMHg0MCwweDAyLDB4MDAsMHgwMCwweDgwLDB4MDAsMHgyMCwweDAwLDB4MDgsMHg0MCwweDMwIH0gfSwKLXsgIDE2LCAweGU2MTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweGMwLDB4NDAsMHgwMCwweDYwLDB4MDEsMHgxOCwweDAwIH0gfSwKLXsgIDE2LCAweGU2MjAsIDAsIHsweDQ2LDB4MDAsMHgwMSwweDgwLDB4MDYsMHg2MCwweDAxLDB4OTgsMHgwMCwweDQ2LDB4MDAsMHgxMSwweDgwLDB4MDQsMHg2MCwweDAxIH0gfSwKLXsgIDE2LCAweGU2MzAsIDAsIHsweDE4LDB4MDAsMHg0NiwweDAwLDB4MTEsMHg4MCwweDA0LDB4MjAsMHgwMSwweDE4LDB4MDAsMHg2NiwweDAwLDB4MTEsMHg4MCwweDMwIH0gfSwKLXsgIDE2LCAweGU2NDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxMCwweDAxLDB4NDAsMHgwMCwweDYwLDB4MDAsMHg5OCwweDAwIH0gfSwKLXsgIDE2LCAweGU2NTAsIDAsIHsweDI2LDB4MDAsMHgwOSwweDgwLDB4MDIsMHg2MCwweDAxLDB4OTgsMHgwMCwweDA2LDB4MDAsMHgwYywweDgwLDB4MDIsMHg2MCwweDAwIH0gfSwKLXsgIDE2LCAweGU2NjAsIDAsIHsweDE4LDB4MDAsMHgwNiwweDAwLDB4MDEsMHg4MCwweDAyLDB4NjAsMHgwMCwweDk4LDB4ODAsMHgwNiwweDAwLDB4MDEsMHg4MiwweDAwIH0gfSwKLXsgIDE2LCAweGU2NzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDQ1LDB4NDIsMHgwMCwweDMwLDB4ODEsMHgwYywweDIwIH0gfSwKLXsgIDE2LCAweGU2ODAsIDAsIHsweDQzLDB4MDgsMHgxMCwweGMyLDB4MjQsMHgzMCwweDgxLDB4OGMsMHgyMCwweDAzLDB4MDgsMHgxMCwweGMyLDB4MDQsMHgyMCwweDgwIH0gfSwKLXsgIDE2LCAweGU2OTAsIDAsIHsweDBjLDB4MjAsMHgwMywweDA4LDB4MTgsMHhjMiwweDA0LDB4MzAsMHg4MSwweDBjLDB4MjAsMHg0MywweDA4LDB4MTgsMHhjMCwweDExIH0gfSwKLXsgIDE2LCAweGU2YTAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDMwLDB4MDAsMHgwYywweDAwIH0gfSwKLXsgIDE2LCAweGU2YjAsIDAsIHsweDAzLDB4MDAsMHgwMCwweGMwLDB4NDAsMHgzMCwweDAwLDB4MGMsMHgwMCwweDAzLDB4MDAsMHgwMCwweDgwLDB4MDAsMHgzMCwweDAwIH0gfSwKLXsgIDE2LCAweGU2YzAsIDAsIHsweDBjLDB4MDAsMHgwMywweDIwLDB4MDAsMHhjMCwweDAwLDB4MzAsMHgwMCwweDBjLDB4MDAsMHgwMywweDIwLDB4MDAsMHhjMCwweDAwIH0gfSwKLXsgIDE2LCAweGU2ZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDAxLDB4MDIsMHgxMCwweDMwLDB4ODAsMHgwYywweDIwIH0gfSwKLXsgIDE2LCAweGU2ZTAsIDAsIHsweDAzLDB4MDgsMHgwMCwweGMyLDB4MDAsMHgzMCwweDgwLDB4MGMsMHgyMCwweDAzLDB4MDgsMHgwMCwweGMyLDB4MDEsMHgyMCwweDgwIH0gfSwKLXsgIDE2LCAweGU2ZjAsIDAsIHsweDBjLDB4MjAsMHgwMywweDJjLDB4MDAsMHhjMiwweDAwLDB4MzAsMHg4MCwweDBjLDB4MzAsMHg0MywweDJjLDB4MDAsMHhjMCwweDAwIH0gfSwKLXsgIDE2LCAweGU3MDAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDQ1LDB4NDIsMHgwNCwweDYwLDB4ODEsMHgxOCwweDIwIH0gfSwKLXsgIDE2LCAweGU3MTAsIDAsIHsweDQ2LDB4MDgsMHgxMSwweDgyLDB4MDQsMHg2MCwweDgwLDB4MTgsMHgyMCwweDQ2LDB4MDgsMHgxMSwweDgyLDB4MDQsMHg2MCwweDgxIH0gfSwKLXsgIDE2LCAweGU3MjAsIDAsIHsweDE4LDB4MjAsMHg0NiwweDBjLDB4MTEsMHhjMiwweDA0LDB4NjAsMHg4MSwweDE4LDB4MzAsMHg0NiwweDBjLDB4MTEsMHhjMCwweDExIH0gfSwKLXsgIDE2LCAweGU3MzAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDAxLDB4NDIsMHgwMCwweDIwLDB4ODAsMHgwOCwweDIwIH0gfSwKLXsgIDE2LCAweGU3NDAsIDAsIHsweDAyLDB4MjgsMHgwMCwweDgyLDB4MDAsMHgyMCwweDgwLDB4MDgsMHgyMCwweDAyLDB4MDgsMHgwMCwweDgyLDB4MDAsMHgyMCwweDgwIH0gfSwKLXsgIDE2LCAweGU3NTAsIDAsIHsweDA4LDB4MjAsMHgwMiwweDA4LDB4MDEsMHg4MiwweDAwLDB4MjAsMHg4MCwweDA4LDB4MjAsMHgwMywweDA4LDB4MDEsMHg4MCwweDAwIH0gfSwKLXsgIDE2LCAweGU3NjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg1MCwweDAxLDB4NDIsMHgwNCwweDYwLDB4ODEsMHgxOCwweDIwIH0gfSwKLXsgIDE2LCAweGU3NzAsIDAsIHsweDQ2LDB4MjgsMHgxMSwweDgyLDB4MDQsMHg2MCwweDgwLDB4MTgsMHgyMCwweDQ2LDB4MDgsMHgxMSwweDgyLDB4MDQsMHg2MCwweDgxIH0gfSwKLXsgIDE2LCAweGU3ODAsIDAsIHsweDE4LDB4MjAsMHg0NiwweDA4LDB4MTAsMHg4MiwweDA0LDB4NjAsMHg4MSwweDE4LDB4MjAsMHg0MywweDA4LDB4MTAsMHg4MCwweDAwIH0gfSwKLXsgIDE2LCAweGU3OTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDQ1LDB4NDAsMHgwNCwweDUwLDB4MDEsMHgxNCwweDAwIH0gfSwKLXsgIDE2LCAweGU3YTAsIDAsIHsweDQ1LDB4MDAsMHgxMSwweDQwLDB4MjUsMHgwMCwweDAwLDB4MTQsMHgwMCwweDQ1LDB4MDAsMHgxMSwweDQwLDB4MDQsMHg1MCwweDAxIH0gfSwKLXsgIDE2LCAweGU3YjAsIDAsIHsweDE0LDB4MDAsMHg0NSwweDAwLDB4MDAsMHg0MCwweDA0LDB4NTAsMHgwMSwweDQwLDB4MDAsMHgwMSwweDAwLDB4MDAsMHg0MiwweDExIH0gfSwKLXsgIDE2LCAweGU3YzAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDAwLDB4MDYsMHgwMCwweDQxLDB4ODAsMHgxMCwweDYwIH0gfSwKLXsgIDE2LCAweGU3ZDAsIDAsIHsweDA0LDB4MTgsMHgwMSwweDA2LDB4MDAsMHg0MSwweDgwLDB4MTAsMHg2MCwweDA0LDB4MTgsMHgwMSwweDA2LDB4MDAsMHg0MSwweDgwIH0gfSwKLXsgIDE2LCAweGU3ZTAsIDAsIHsweDEwLDB4NjAsMHgwNCwweDE4LDB4MDEsMHgwNiwweDAwLDB4NDEsMHg4MCwweDEwLDB4NjAsMHgwNCwweDE4LDB4MDEsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGU3ZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDAwLDB4MDIsMHgwNSwweDAwLDB4ODAsMHg0MCwweDIxIH0gfSwKLXsgIDE2LCAweGU4MDAsIDAsIHsweDEwLDB4MDgsMHgwNCwweDAwLDB4MDEsMHgwMCwweDgwLDB4NDAsMHgyMCwweDEwLDB4MDgsMHgwNCwweDAyLDB4MDEsMHgwMCwweDgwIH0gfSwKLXsgIDE2LCAweGU4MTAsIDAsIHsweDQwLDB4MjAsMHg1MCwweDA4LDB4MTQsMHgwMiwweDExLDB4MDAsMHg4NCwweDQwLDB4MjAsMHgxMCwweDA4LDB4MTQsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGU4MjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDQ1LDB4NDYsMHgwMSwweDUxLDB4ODAsMHhkNCwweDYwIH0gfSwKLXsgIDE2LCAweGU4MzAsIDAsIHsweDM1LDB4MTgsMHgwZCwweDQ2LDB4MDMsMHg1MSwweDgwLDB4ZDQsMHg2MCwweDE1LDB4MTgsMHgwZCwweDQ2LDB4MDMsMHg1MSwweDgwIH0gfSwKLXsgIDE2LCAweGU4NDAsIDAsIHsweDU0LDB4NjAsMHgxNSwweDE4LDB4MGQsMHg0NiwweDAzLDB4NTEsMHg4MCwweGQ0LDB4NjAsMHgzNSwweDE4LDB4MGQsMHg0MCwweDExIH0gfSwKLXsgIDE2LCAweGU4NTAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4NDYsMHgwNCwweDcxLDB4ODEsMHgxYywweDYwIH0gfSwKLXsgIDE2LCAweGU4NjAsIDAsIHsweDQ1LDB4MTgsMHgxMSwweGQ2LDB4MDQsMHg3MSwweDgxLDB4MWMsMHg2MCwweDY3LDB4MTgsMHgxMSwweGM2LDB4MDQsMHg3MSwweDgxIH0gfSwKLXsgIDE2LCAweGU4NzAsIDAsIHsweDljLDB4NjAsMHg0NywweDE4LDB4MTEsMHhjNiwweDA0LDB4NzEsMHg4MSwweDFjLDB4NjAsMHg2NywweDE4LDB4MTEsMHhjMCwweDAwIH0gfSwKLXsgIDE2LCAweGU4ODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDA1LDB4NDYsMHgwMiwweDcxLDB4ODAsMHg5YywweDYwIH0gfSwKLXsgIDE2LCAweGU4OTAsIDAsIHsweDI3LDB4MTgsMHgwOSwweGM2LDB4MDAsMHg3MSwweDgwLDB4OWMsMHg2MCwweDY3LDB4MTgsMHgwOSwweGM2LDB4MDIsMHg3MSwweDgwIH0gfSwKLXsgIDE2LCAweGU4YTAsIDAsIHsweDljLDB4NjEsMHgyNywweDE4LDB4MDEsMHhjNiwweDAyLDB4NzEsMHg4MCwweDljLDB4NjAsMHgwNywweDE4LDB4MDEsMHhjMCwweDAwIH0gfSwKLXsgIDE2LCAweGU4YjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg1MCwweDQ1LDB4NDYsMHgwNSwweDcxLDB4ODEsMHg1YywweDYwIH0gfSwKLXsgIDE2LCAweGU4YzAsIDAsIHsweDU3LDB4MTgsMHg1NSwweGQ2LDB4MDEsMHg3MSwweDgxLDB4NWMsMHg2MCwweDU3LDB4MTgsMHgxNSwweGM2LDB4MDUsMHg3MSwweDgxIH0gfSwKLXsgIDE2LCAweGU4ZDAsIDAsIHsweDVjLDB4NjAsMHg1NywweDE4LDB4MTgsMHhjNiwweDA1LDB4NzEsMHg4MSwweDVjLDB4NjAsMHg0MywweDE4LDB4MTgsMHg4MiwweDExIH0gfSwKLXsgIDE2LCAweGU4ZTAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDA0LDB4NTIsMHgwMSwweDIwLDB4ODAsMHg0OCwweDIwIH0gfSwKLXsgIDE2LCAweGU4ZjAsIDAsIHsweDEyLDB4NDgsMHgwNCwweDkwLDB4MDEsMHgyMCwweDgwLDB4NDksMHgyMCwweDEyLDB4MDgsMHgwNCwweDgyLDB4MDEsMHgyNCwweDgwIH0gfSwKLXsgIDE2LCAweGU5MDAsIDAsIHsweDQ4LDB4MjAsMHgxMiwweDQ4LDB4MDAsMHg5MiwweDAxLDB4MjAsMHg4MCwweDQ4LDB4MjAsMHgxNywweDQ4LDB4MDQsMHg4MCwweDAxIH0gfSwKLXsgIDE2LCAweGU5MTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDAwLDB4MDYsMHgwMCwweDYxLDB4ODAsMHgxOCwweDYwIH0gfSwKLXsgIDE2LCAweGU5MjAsIDAsIHsweDA2LDB4M2MsMHgwMSwweDg2LDB4MDAsMHg2MSwweDgwLDB4MTgsMHg2MCwweDQ2LDB4MTgsMHgwMSwweDg2LDB4MDAsMHg2MSwweDgwIH0gfSwKLXsgIDE2LCAweGU5MzAsIDAsIHsweDE4LDB4NjAsMHgwNiwweDE4LDB4MDEsMHg4NiwweDAwLDB4NjEsMHg4MCwweDE4LDB4NjAsMHg0NiwweDE4LDB4MDEsMHg4MCwweDAxIH0gfSwKLXsgIDE2LCAweGU5NDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQxLDB4NjAsMHgwNCwweDc4LDB4MDEsMHgxZSwweDAwIH0gfSwKLXsgIDE2LCAweGU5NTAsIDAsIHsweDQ3LDB4ODAsMHgxMSwweGUwLDB4MjQsMHg3OCwweDAxLDB4MWUsMHgwMCwweDA3LDB4ODAsMHgxMSwweGUwLDB4MDQsMHg3OCwweDAxIH0gfSwKLXsgIDE2LCAweGU5NjAsIDAsIHsweDFlLDB4MDAsMHg0NywweDgwLDB4MTEsMHhlMCwweDA0LDB4MzgsMHgwMSwweDFlLDB4MDAsMHg0NywweDgwLDB4MTEsMHhjMCwweDExIH0gfSwKLXsgIDE2LCAweGU5NzAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDAxLDB4MTIsMHgwMCwweDYwLDB4ODAsMHgxOCwweDIwIH0gfSwKLXsgIDE2LCAweGU5ODAsIDAsIHsweDA2LDB4NDgsMHgwMSwweDkyLDB4MDAsMHg2MCwweDgwLDB4MTksMHgyMCwweDA2LDB4MDgsMHgwMSwweDgyLDB4MDAsMHg2NCwweDgwIH0gfSwKLXsgIDE2LCAweGU5OTAsIDAsIHsweDE4LDB4MjAsMHgwNiwweDQ4LDB4MDEsMHg5MywweDAwLDB4MjAsMHg4MCwweDE4LDB4MjAsMHgwNiwweDQ4LDB4MDEsMHg4MCwweDAwIH0gfSwKLXsgIDE2LCAweGU5YTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDAxLDB4NDIsMHgwNCwweDIwLDB4ODEsMHgwOCwweDIwIH0gfSwKLXsgIDE2LCAweGU5YjAsIDAsIHsweDQyLDB4MDgsMHgxMCwweDgyLDB4MDQsMHgyMCwweDgxLDB4MDgsMHgyMCwweDAyLDB4MDgsMHgxMCwweDgyLDB4MDQsMHgyMCwweDgxIH0gfSwKLXsgIDE2LCAweGU5YzAsIDAsIHsweDA4LDB4MjAsMHg0MiwweDA4LDB4MTAsMHg4YSwweDA0LDB4NjAsMHg4MSwweDA4LDB4MjAsMHg0MiwweDA4LDB4MTAsMHg4MCwweDAwIH0gfSwKLXsgIDE2LCAweGU5ZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDQ1LDB4NDIsMHgwNCwweDQwLDB4ODEsMHgxMCwweDIwIH0gfSwKLXsgIDE2LCAweGU5ZTAsIDAsIHsweDQ0LDB4MDgsMHgxMSwweDAyLDB4MDQsMHg0MCwweDgxLDB4MTAsMHgyMCwweDA0LDB4MDgsMHgxMSwweDAyLDB4MDQsMHg0MCwweDgxIH0gfSwKLXsgIDE2LCAweGU5ZjAsIDAsIHsweDEwLDB4MjEsMHg0NCwweDA4LDB4MDEsMHgwMiwweDA0LDB4NTAsMHg4MSwweDEwLDB4MjAsMHgwNCwweDA4LDB4MDEsMHgwMCwweDExIH0gfSwKLXsgIDE2LCAweGVhMDAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDAwLDB4MDMsMHgwMCwweDUwLDB4YzAsMHgxNCwweDMwIH0gfSwKLXsgIDE2LCAweGVhMTAsIDAsIHsweDA1LDB4MGMsMHgwMSwweDQzLDB4MDAsMHg1MCwweGMwLDB4MTQsMHgzMCwweDA1LDB4MGMsMHgwMSwweDQzLDB4MDAsMHg1MCwweDgwIH0gfSwKLXsgIDE2LCAweGVhMjAsIDAsIHsweDE0LDB4MzAsMHgwNSwweDA4LDB4MDEsMHg0YSwweDAwLDB4NTAsMHhjMCwweDE0LDB4MzAsMHgwNSwweDA4LDB4MDEsMHg0MCwweDAwIH0gfSwKLXsgIDE2LCAweGVhMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDAwLDB4MDgsMHgwMCwweDQyLDB4MDAsMHgxMCwweDgwIH0gfSwKLXsgIDE2LCAweGVhNDAsIDAsIHsweDA0LDB4MjAsMHgwMSwweDA4LDB4MDAsMHg0MiwweDAwLDB4MTAsMHg4MCwweDA0LDB4MjAsMHgwMSwweDA4LDB4MDAsMHg0MiwweDAwIH0gfSwKLXsgIDE2LCAweGVhNTAsIDAsIHsweDEwLDB4ODAsMHgwNCwweDIwLDB4MTEsMHgwMCwweDAwLDB4NDIsMHgwMCwweDEwLDB4ODAsMHgwNCwweDIwLDB4MTEsMHgwMCwweDEwIH0gfSwKLXsgIDE2LCAweGVhNjAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDQ1LDB4NDIsMHgwMiwweDAwLDB4ODAsMHg4MCwweDIwIH0gfSwKLXsgIDE2LCAweGVhNzAsIDAsIHsweDIwLDB4MDgsMHgwOCwweDAyLDB4MDAsMHgwMCwweDgwLDB4ODAsMHgyMCwweDIwLDB4MDgsMHgwOCwweDAyLDB4MDIsMHgwMCwweDgwIH0gfSwKLXsgIDE2LCAweGVhODAsIDAsIHsweDgwLDB4MjAsMHgyMCwweDA4LDB4MDgsMHgwMiwweDAyLDB4MDAsMHg4MCwweDgwLDB4MjAsMHgyMCwweDA4LDB4MDgsMHgwMCwweDExIH0gfSwKLXsgIDE2LCAweGVhOTAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDAxLDB4NDAsMHgwMCwweDYwLDB4MDEsMHgxOCwweDAwIH0gfSwKLXsgIDE2LCAweGVhYTAsIDAsIHsweDQ2LDB4MDAsMHgxMSwweDgwLDB4MDYsMHg2MCwweDAxLDB4MTgsMHgwMCwweDQ2LDB4MDAsMHgxMSwweDgwLDB4MDQsMHg2MCwweDAxIH0gfSwKLXsgIDE2LCAweGVhYjAsIDAsIHsweDE4LDB4MDAsMHg0NiwweDAwLDB4MTEsMHg4MCwweDA0LDB4NjAsMHgwMSwweDE4LDB4MDAsMHg2NiwweDAwLDB4MTEsMHg4MCwweDEwIH0gfSwKLXsgIDE2LCAweGVhYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDAxLDB4NDAsMHgwMiwweDY0LDB4MDAsMHg5OCwweDAwIH0gfSwKLXsgIDE2LCAweGVhZDAsIDAsIHsweDI2LDB4MDAsMHgwOSwweDkwLDB4MDYsMHg2MCwweDAxLDB4OTgsMHgwMCwweDI2LDB4NDAsMHgwOSwweDgwLDB4MDIsMHg2MCwweDAwIH0gfSwKLXsgIDE2LCAweGVhZTAsIDAsIHsweDk4LDB4MDAsMHgyNiwweDAwLDB4MDAsMHg5MCwweDAyLDB4NjAsMHgwMCwweDk4LDB4MDAsMHgwNywweDAwLDB4MDEsMHg4MCwweDAwIH0gfSwKLXsgIDE2LCAweGVhZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDQ1LDB4NjAsMHgwNCwweDM4LDB4MDUsMHgwZSwweDAwIH0gfSwKLXsgIDE2LCAweGViMDAsIDAsIHsweDQzLDB4ODAsMHgxMCwweGUwLDB4NDQsMHgzOCwweDAxLDB4MGUsMHgwMCwweDQzLDB4ODAsMHgxMCwweGUwLDB4MDQsMHgzOCwweDAxIH0gfSwKLXsgIDE2LCAweGViMTAsIDAsIHsweDBlLDB4MDAsMHg0MywweDgwLDB4MTgsMHhhMCwweDA0LDB4MzgsMHgwMSwweDBlLDB4MDAsMHg0NiwweDgwLDB4MTgsMHg4MCwweDExIH0gfSwKLXsgIDE2LCAweGViMjAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg1MCwweDAwLDB4MDEsMHgwMCwweDMwLDB4NDAsMHgwYywweDEwIH0gfSwKLXsgIDE2LCAweGViMzAsIDAsIHsweDAzLDB4MDQsMHgwMCwweGM1LDB4MDAsMHgzMCwweDQwLDB4MGMsMHgxMCwweDAzLDB4MTQsMHgwMCwweGMxLDB4MDAsMHgzMCwweDQwIH0gfSwKLXsgIDE2LCAweGViNDAsIDAsIHsweDBjLDB4MTAsMHgwMywweDA0LDB4MDAsMHg4NywweDQwLDB4MzAsMHg0MCwweDBjLDB4MTAsMHgwMiwweDA0LDB4MDAsMHg4MCwweDAwIH0gfSwKLXsgIDE2LCAweGViNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDA0LDB4MDUsMHgwMCwweDM1LDB4NDAsMHgwYywweDUwIH0gfSwKLXsgIDE2LCAweGViNjAsIDAsIHsweDAzLDB4MTQsMHgwMCwweGQ1LDB4MDQsMHgzMSwweDQxLDB4MGMsMHg1MCwweDAzLDB4NWMsMHgwMCwweGM1LDB4MDAsMHgzMSwweDAwIH0gfSwKLXsgIDE2LCAweGViNzAsIDAsIHsweDBjLDB4NTAsMHgwMywweDEwLDB4MDAsMHg5NCwweDAwLDB4MzEsMHg0MCwweDBjLDB4NTAsMHg0MywweDEwLDB4MDAsMHhjMiwweDAwIH0gfSwKLXsgIDE2LCAweGViODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDQ1LDB4NDMsMHgwNSwweDIwLDB4YzEsMHgxOCwweDMwIH0gfSwKLXsgIDE2LCAweGViOTAsIDAsIHsweDQ2LDB4MGMsMHgxMSwweDk3LDB4MDAsMHg2MCwweGMwLDB4MTgsMHgzMCwweDQ2LDB4MWMsMHgxMSwweDgzLDB4MDQsMHg2MCwweGMxIH0gfSwKLXsgIDE2LCAweGViYTAsIDAsIHsweDE4LDB4MzAsMHg1MiwweDBjLDB4MTEsMHg4NywweDA0LDB4NjAsMHhjMSwweDE4LDB4MzAsMHg0NiwweDBjLDB4MTEsMHg4MCwweDExIH0gfSwKLXsgIDE2LCAweGViYjAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDAxLDB4MDAsMHgwMCwweDIxLDB4NDAsMHgwOCwweDAwIH0gfSwKLXsgIDE2LCAweGViYzAsIDAsIHsweDAyLDB4MDAsMHgwMCwweDgwLDB4MDAsMHgyMCwweDAwLDB4MDgsMHgwMCwweDAyLDB4MDAsMHgwMCwweDgwLDB4MDAsMHgyMCwweDAwIH0gfSwKLXsgIDE2LCAweGViZDAsIDAsIHsweDA4LDB4MDAsMHgwMiwweDAwLDB4MDAsMHg4MCwweDAwLDB4MjAsMHgwMCwweDA4LDB4MDAsMHgwMiwweDAwLDB4MDAsMHg4MCwweDAwIH0gfSwKLXsgIDE2LCAweGViZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDAxLDB4NDgsMHg0NCwweDIyLDB4MDEsMHgxOCwweDg0IH0gfSwKLXsgIDE2LCAweGViZjAsIDAsIHsweDQ2LDB4MjEsMHgxMSwweDk4LDB4MDAsMHg2MiwweDEwLDB4MTgsMHg4NCwweDQ0LDB4MjAsMHgxMSwweDg4LDB4NDQsMHg2MiwweDExIH0gfSwKLXsgIDE2LCAweGVjMDAsIDAsIHsweDE4LDB4ODQsMHg0MiwweDIxLDB4MTEsMHg4MCwweDQ0LDB4NjIsMHgxMSwweDE4LDB4ODQsMHg0NiwweDIxLDB4MTEsMHg4MCwweDAwIH0gfSwKLXsgIDE2LCAweGVjMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDQ1LDB4NDAsMHgwNCwweDUwLDB4MTEsMHgxNCwweDA0IH0gfSwKLXsgIDE2LCAweGVjMjAsIDAsIHsweDQ1LDB4MDAsMHgxMSwweDQxLDB4MDAsMHg1MCwweDEwLDB4MTQsMHgwMCwweDQ1LDB4MDEsMHgxMSwweDQwLDB4NDQsMHg1MCwweDExIH0gfSwKLXsgIDE2LCAweGVjMzAsIDAsIHsweDE0LDB4MDQsMHg0NSwweDAxLDB4MDEsMHg0MCwweDQ0LDB4NTAsMHgxMSwweDE0LDB4MDQsMHgwNSwweDAxLDB4MDEsMHg0MCwweDExIH0gfSwKLXsgIDE2LCAweGVjNDAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDAwLDB4MDgsMHgyMCwweDQyLDB4MDgsMHgxMCwweDgyIH0gfSwKLXsgIDE2LCAweGVjNTAsIDAsIHsweDA0LDB4MjAsMHgwMSwweDA4LDB4MjAsMHg0MiwweDA4LDB4MTAsMHg4MiwweDA0LDB4MjAsMHg4MSwweDA4LDB4MjAsMHg0MiwweDA4IH0gfSwKLXsgIDE2LCAweGVjNjAsIDAsIHsweDEwLDB4ODIsMHgwNCwweDIyLDB4ODEsMHgwOCwweDIwLDB4NTIsMHgwOCwweDEwLDB4OGEsMHgwNCwweDIyLDB4ODEsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGVjNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA0LDB4MGEsMHgwMSwweDAyLDB4ODQsMHg0MCwweGExIH0gfSwKLXsgIDE2LCAweGVjODAsIDAsIHsweDEwLDB4MjgsMHgwMCwweDBhLDB4MDEsMHgwMiwweDgwLDB4NDAsMHhhMCwweDEwLDB4MjgsMHgwNCwweDBhLDB4MDEsMHgwMiwweDgwIH0gfSwKLXsgIDE2LCAweGVjOTAsIDAsIHsweDQwLDB4YTAsMHgxMCwweDJjLDB4MTQsMHgwYSwweDAwLDB4MDIsMHg4MCwweDQwLDB4YjAsMHgxMCwweDJjLDB4MTQsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGVjYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDQ1LDB4NGQsMHgwMywweDUzLDB4NDAsMHhkNCwweGQwIH0gfSwKLXsgIDE2LCAweGVjYjAsIDAsIHsweDM1LDB4MzAsMHgwYywweDRkLDB4MDMsMHg1MywweDQwLDB4ZDQsMHhkMCwweDM1LDB4MzQsMHgwZCwweDRkLDB4MDMsMHg1MywweDQwIH0gfSwKLXsgIDE2LCAweGVjYzAsIDAsIHsweGQ0LDB4ZDAsMHgzNSwweDM0LDB4MGQsMHg0ZCwweDAyLDB4MTMsMHg0MCwweGQ0LDB4ZDAsMHgzNSwweDM0LDB4MGQsMHg0MCwweDExIH0gfSwKLXsgIDE2LCAweGVjZDAsIDAsIHsweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDAxLDB4MDgsMHgwNCwweDcyLDB4MDEsMHgxYywweDgwIH0gfSwKLXsgIDE2LCAweGVjZTAsIDAsIHsweDQ3LDB4MjAsMHgxNSwweGM4LDB4MDQsMHg3MiwweDAxLDB4MWMsMHg4MCwweDQ3LDB4MjAsMHgxMSwweGM4LDB4MDQsMHg3MiwweDExIH0gfSwKLXsgIDE2LCAweGVjZjAsIDAsIHsweDFjLDB4ODAsMHg0NywweDI2LDB4MTEsMHhjOCwweDQ0LDB4NzIsMHgwMSwweDFjLDB4OTAsMHg2NywweDI2LDB4MTEsMHhjMCwweDAwIH0gfSwKLXsgIDE2LCAweGVkMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjMsMHgwOCwweDQwLDB4YzYsMHgxMiwweDMxIH0gfSwKLXsgIDE2LCAweGVkMTAsIDAsIHsweDg0LDB4OGMsMHgwMSwweDAzLDB4MDgsMHg0OCwweGM2LDB4MTIsMHgzMCwweDg0LDB4MGMsMHg2MSwweDIzLDB4MTgsMHg0OCwweGMyIH0gfSwKLXsgIDE2LCAweGVkMjAsIDAsIHsweDEyLDB4MzEsMHg4NCwweDhjLDB4MDEsMHgwMywweDA4LDB4NDgsMHhjNiwweDEyLDB4MzEsMHgwNCwweDhjLDB4MDEsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGVkMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweDRmLDB4ZmYsMHhkMywweGZmIH0gfSwKLXsgIDE2LCAweGVkNDAsIDAsIHsweGY0LDB4ZmYsMHhmZCwweDNmLDB4ZmYsMHg0ZiwweGZmLDB4ZDMsMHhmZiwweGY0LDB4ZmYsMHhmZCwweDNmLDB4ZmYsMHg0ZiwweGZmIH0gfSwKLXsgIDE2LCAweGVkNTAsIDAsIHsweGQzLDB4ZmYsMHhmNCwweGZmLDB4ZmQsMHgzZiwweGZmLDB4NGYsMHhmZiwweGQzLDB4ZmYsMHhmNCwweGZmLDB4ZmQsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGVkNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGVkNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGVkODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGVkOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MmQsMHhmYiwweDBmLDB4YjYsMHhjMiwweGNkIH0gfSwKLXsgIDE2LCAweGVkYTAsIDAsIHsweGIwLDB4YjcsMHhmZCwweDNmLDB4ZmIsMHgwYiwweDM2LDB4YzIsMHhkZiwweGIwLDB4ZmIsMHg2YywweDJjLDB4ZGIsMHgwYiwweDdlIH0gfSwKLXsgIDE2LCAweGVkYjAsIDAsIHsweGMyLDB4Y2QsMHhiMCwweGI3LDB4ZmQsMHgzZiwweGZiLDB4MGIsMHgzNiwweGMyLDB4Y2QsMHhmNCwweGI3LDB4ZmQsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGVkYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzMsMHhmYywweDRmLDB4Y2YsMHgxMywweDMzIH0gfSwKLXsgIDE2LCAweGVkZDAsIDAsIHsweGM0LDB4Y2YsMHhmZCwweDNmLDB4ZmMsMHg0YywweGNmLDB4MTMsMHgzZiwweGM0LDB4ZmMsMHhmMSwweDMzLDB4M2MsMHg0YywweGZmIH0gfSwKLXsgIDE2LCAweGVkZTAsIDAsIHsweDEzLDB4MzMsMHhjNCwweGNmLDB4ZmQsMHgzZiwweGZjLDB4NGMsMHhjZiwweDEzLDB4MzMsMHhmNCwweGNmLDB4ZmQsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGVkZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2IsMHg3ZSwweDRlLDB4ZGYsMHg5MywweGI3IH0gfSwKLXsgIDE2LCAweGVlMDAsIDAsIHsweGU0LDB4ZWQsMHhmOSwweDNmLDB4ZmUsMHg0ZSwweGRmLDB4OTMsMHhiNywweGU0LDB4ZWQsMHhmOSwweDNiLDB4N2UsMHg0ZSwweGM3IH0gfSwKLXsgIDE2LCAweGVlMTAsIDAsIHsweDkzLDB4YjcsMHhlNCwweGVjLDB4NjEsMHgyMywweDFlLDB4NGUsMHhkZiwweDkzLDB4YjcsMHg4NCwweGVjLDB4NjEsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGVlMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjNSwweDI0LDB4YTEsMHg0YSwweDI0IH0gfSwKLXsgIDE2LCAweGVlMzAsIDAsIHsweDYzLDB4MDEsMHgxNCwweDAyLDB4NDQsMHgwMCwweDgxLDB4MGIsMHgyOCwweDcxLDB4MDIsMHgxMCwweDgyLDB4NDAsMHgzOCwweDExIH0gfSwKLXsgIDE2LCAweGVlNDAsIDAsIHsweDQxLDB4MDQsMHg1MCwweDA4LDB4MTgsMHg4MiwweDg3LDB4MzgsMHgzMSwweGMzLDB4MmMsMHg1MiwweDBhLDB4MTAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGVlNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHg0NSwweDEyLDB4ODEsMHg0NCwweDgwIH0gfSwKLXsgIDE2LCAweGVlNjAsIDAsIHsweDcxLDB4MjEsMHgxYywweDBhLDB4MDcsMHgxYSwweDgxLDB4MDIsMHhhMCwweDUyLDB4MjAsMHgxNCwweDQ4LDB4MDcsMHgxMiwweDgxIH0gfSwKLXsgIDE2LCAweGVlNzAsIDAsIHsweGM2LDB4ODAsMHg2MCwweDIwLDB4MDgsMHg4OCwweDQ3LDB4MDIsMHgwMSwweDRhLDB4ODAsMHg3MCwweDIwLDB4MTAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGVlODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDIsMHhjNSwweDJjLDB4MDEsMHg0YSwweDAwIH0gfSwKLXsgIDE2LCAweGVlOTAsIDAsIHsweDUyLDB4MDksMHgxYywweDgwLDB4MDcsMHgyNCwweDIxLDB4MDgsMHgwOCwweDcxLDB4MDIsMHgxMCwweDgwLDB4NDUsMHgyMCwweGExIH0gfSwKLXsgIDE2LCAweGVlYTAsIDAsIHsweDQ5LDB4MjgsMHg1MiwweDAxLDB4MTQsMHhjMCwweDQ1LDB4MDAsMHg5MSwweGM0LDB4MDAsMHg3MiwweDAyLDB4MTAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGVlYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDIsMHgwNywweDIwLDB4MDEsMHhjMSwweDAwIH0gfSwKLXsgIDE2LCAweGVlYzAsIDAsIHsweDcxLDB4MDksMHgxMCwweDgwLDB4MDcsMHgwMCwweDAxLDB4MDEsMHgwMCwweDcwLDB4MDgsMHgxOCwweDgwLDB4MDcsMHgwMCwweDAxIH0gfSwKLXsgIDE2LCAweGVlZDAsIDAsIHsweDg5LDB4MjAsMHg1MiwweDAxLDB4MGMsMHg4MCwweDQ2LDB4MzAsMHg4MSwweDQ1LDB4MDQsMHg2MCwweDAwLDB4MTAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGVlZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHhjMiwweDAyLDB4MjAsMHgwMCwweDg4IH0gfSwKLXsgIDE2LCAweGVlZjAsIDAsIHsweDIwLDB4MjIsMHgwMCwweDA4LDB4YzIsMHgyMiwweDgwLDB4NDAsMHg4OCwweDAyLDB4MjIsMHgwMCwweDA4LDB4ODIsMHgwYSwweGEwIH0gfSwKLXsgIDE2LCAweGVmMDAsIDAsIHsweDBjLDB4YTgsMHgwMiwweDIyLDB4MDAsMHgwOCwweDgwLDB4MGEsMHgwMCwweDgwLDB4OGMsMHgwMiwweDIyLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGVmMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDAwLDB4MDIsMHg0MywweDAwLDB4MDAsMHg0MCwweDIwIH0gfSwKLXsgIDE2LCAweGVmMjAsIDAsIHsweDMwLDB4MDgsMHgwNCwweDQwLDB4NDEsMHgzMCwweDEwLDB4YzgsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAyLDB4MDMsMHgwMCwweDEwIH0gfSwKLXsgIDE2LCAweGVmMzAsIDAsIHsweGMwLDB4MDAsMHgxMSwweDA4LDB4MDAsMHhjMiwweDQzLDB4MTAsMHg4MCwweGMwLDB4MjAsMHgwMSwweDA4LDB4MDAsMHgwMiwweDAwIH0gfSwKLXsgIDE2LCAweGVmNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDAwLDB4MDgsMHhjMywweDBhLDB4MjAsMHhjMSwweDhjIH0gfSwKLXsgIDE2LCAweGVmNTAsIDAsIHsweDEyLDB4MjIsMHgwNCwweDg4LDB4MDEsMHgzNiwweDIwLDB4YzMsMHgwOCwweDEyLDB4MjgsMHgwNCwweDA4LDB4MDEsMHgwNCwweDAwIH0gfSwKLXsgIDE2LCAweGVmNjAsIDAsIHsweDRhLDB4YTgsMHgyMiwweDAxLDB4MDQsMHhjOCwweDQxLDB4MjYsMHgzMCwweGMwLDB4ODgsMHgwMiwweDIxLDB4MDAsMHgwMiwweDAwIH0gfSwKLXsgIDE2LCAweGVmNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDAwLDB4MDgsMHgwMCwweDBhLDB4MTAsMHhjMSwweDgwIH0gfSwKLXsgIDE2LCAweGVmODAsIDAsIHsweDMyLDB4MjEsMHgwYywweDg4LDB4NDMsMHgwMiwweDgwLDB4NDQsMHg4MCwweDEyLDB4MjksMHgwNCwweDA4LDB4NDIsMHgwYSwweDkwIH0gfSwKLXsgIDE2LCAweGVmOTAsIDAsIHsweDhhLDB4ODAsMHgwMCwweDIwLDB4MDQsMHg0OCwweDAzLDB4MGEsMHgxMCwweDgyLDB4ODAsMHgwMCwweDIwLDB4MDAsMHgwMiwweDAwIH0gfSwKLXsgIDE2LCAweGVmYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGEsMHg4NywweDAyLDB4YTEsMHg4MCwweGFjIH0gfSwKLXsgIDE2LCAweGVmYjAsIDAsIHsweDQzLDB4MjksMHgxNCwweDhhLDB4ODQsMHgwMiwweGExLDB4MDAsMHhhYywweDQxLDB4MjAsMHgxMCwweDA4LDB4MDYsMHgyNiwweDMxIH0gfSwKLXsgIDE2LCAweGVmYzAsIDAsIHsweDgwLDB4YTQsMHg2MCwweDIwLDB4MTQsMHg0YSwweDQ0LDB4MzIsMHg4MSwweDgxLDB4YWMsMHg2MCwweDJhLDB4MTgsMHgwMiwweDAwIH0gfSwKLXsgIDE2LCAweGVmZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDAwLDB4MDgsMHgwNywweDIyLDB4MDEsMHhjNSwweDgwIH0gfSwKLXsgIDE2LCAweGVmZTAsIDAsIHsweDczLDB4MjEsMHgxYywweGM4LDB4MDcsMHgyYSwweDAxLDB4MGMsMHg4MCwweDcyLDB4MjAsMHgxMCwweDQ4LDB4NDcsMHgyNiwweDExIH0gfSwKLXsgIDE2LCAweGVmZjAsIDAsIHsweGM1LDB4ODAsMHg3MywweDIwLDB4MWMsMHg4OCwweDA3LDB4MmEsMHgxMSwweDQ5LDB4ODAsMHg3MCwweDIwLDB4MTQsMHgwMiwweDAwIH0gfSwKLXsgIDE2LCAweGYwMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDAwLDB4MDAsMHg0NSwweDEwLDB4MzEsMHhjOSwweDBjIH0gfSwKLXsgIDE2LCAweGYwMTAsIDAsIHsweDczLDB4MDIsMHgxYywweGMwLDB4NDcsMHgwNCwweDAxLDB4MGEsMHgwYywweDUxLDB4MGEsMHgxMCwweDgyLDB4NDcsMHgyMCwweDMxIH0gfSwKLXsgIDE2LCAweGYwMjAsIDAsIHsweGM4LDB4MDAsMHg3MiwweDAyLDB4MWMsMHg0MCwweDA1LDB4MzAsMHgxMSwweGM0LDB4MDAsMHg3MiwweDAxLDB4MTgsMHgwMiwweDAwIH0gfSwKLXsgIDE2LCAweGYwMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4MTAsMHgwNiwweDI0LDB4MDEsMHg0NSwweDA0IH0gfSwKLXsgIDE2LCAweGYwNDAsIDAsIHsweDUxLDB4ODEsMHgxOCwweDkwLDB4NDcsMHgxNCwweDAxLDB4MDQsMHgwNCwweDcxLDB4ODgsMHgxMCwweDEyLDB4MDUsMHgzNCwweDAxIH0gfSwKLXsgIDE2LCAweGYwNTAsIDAsIHsweDQ0LDB4MDQsMHg1MSwweDQwLDB4MTgsMHhkMCwweDA3LDB4MzgsMHgwMSwweGM0LDB4MDQsMHg1MiwweDAxLDB4MTQsMHhjMiwweDA0IH0gfSwKLXsgIDE2LCAweGYwNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4NywweDAwLDB4MjEsMHg4OSwweDBjIH0gfSwKLXsgIDE2LCAweGYwNzAsIDAsIHsweDYwLDB4MDEsMHgxYywweGQwLDB4NDUsMHgyNCwweDAxLDB4YzEsMHgwYywweDQyLDB4MDEsMHgwMCwweDAwLDB4YzUsMHgyMCwweDMxIH0gfSwKLXsgIDE2LCAweGYwODAsIDAsIHsweDQxLDB4MDgsMHg0MCwweDAwLDB4MTgsMHg4MCwweDQ1LDB4MDAsMHgyMSwweDQxLDB4MGMsMHg3MCwweDQyLDB4MWMsMHhjMiwweDAwIH0gfSwKLXsgIDE2LCAweGYwOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDIsMHgwMSwweDFjLDB4ODAsMHhjNCwweDIwIH0gfSwKLXsgIDE2LCAweGYwYTAsIDAsIHsweDMxLDB4MDgsMHgxMCwweDQyLDB4NDIsMHgwOCwweDgwLDB4YzYsMHgyMCwweDMxLDB4MDksMHgwMCwweDIwLDB4MDMsMHgxYywweDkwIH0gfSwKLXsgIDE2LCAweGYwYjAsIDAsIHsweGM0LDB4MjAsMHgwMSwweDQ5LDB4MGMsMHg0MiwweDQzLDB4MTAsMHg4MCwweDQ0LDB4MjAsMHgzMSwweDA4LDB4MTAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGYwYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzAsMHg4MywweDIwLDB4MzAsMHg0OCwweDBjIH0gfSwKLXsgIDE2LCAweGYwZDAsIDAsIHsweDMyLDB4NDAsMHgxMCwweDkwLDB4ODEsMHgyNCwweDIwLDB4YzgsMHgwNCwweDMyLDB4NDAsMHgxMCwweDIwLDB4YzMsMHgyMCwweDgwIH0gfSwKLXsgIDE2LCAweGYwZTAsIDAsIHsweGM4LDB4MDAsMHgwMiwweDRhLDB4MGMsMHhhMCwweDAxLDB4MjQsMHgxMCwweGM4LDB4MDgsMHgzMiwweDQxLDB4MTAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGYwZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDEwLDB4OTAsMHgwMywweDAwLDB4MDAsMHhjOSwweDA0IH0gfSwKLXsgIDE2LCAweGYxMDAsIDAsIHsweDMwLDB4NDAsMHgwMCwweDkwLDB4MDAsMHgyMCwweDAwLDB4ODAsMHgwMCwweDEwLDB4NDAsMHgxMCwweDAwLDB4NDAsMHgyMCwweDEwIH0gfSwKLXsgIDE2LCAweGYxMTAsIDAsIHsweGMyLDB4MDAsMHgwMCwweDgwLDB4MDgsMHgyMCwweDQzLDB4MDgsMHgxMCwweDgxLDB4MDAsMHgzMiwweDQwLDB4MGMsMHhjMCwweDA0IH0gfSwKLXsgIDE2LCAweGYxMjAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzAsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGYxMzAsIDAsIHsweDEwLDB4MDAsMHgwMCwweGYwLDB4MTAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDEwLDB4MDAsMHgwMCwweGYwLDB4MTAsMHg4MCwweDQwIH0gfSwKLXsgIDE2LCAweGYxNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDQwLDB4MDAsMHhmMCwweDEwLDB4OTAsMHg4MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwIH0gfSwKLXsgIDE2LCAweGYxNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzYywweDNjLDB4MTAsMHg4MCwweDkwLDB4NDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGYxNjAsIDAsIHsweDAwLDB4ODAsMHgxMCwweDkwLDB4YTAsMHg5MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxMCwweDkwLDB4ODAsMHg4MCwweDAwIH0gfSwKLXsgIDE2LCAweGYxNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MTAsMHg5MCwweDgwLDB4OTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTAsMHg4ZiwweDBmIH0gfSwKLXsgIDE2LCAweGYxODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjQsMHhjNiwweGJhLDB4MDYsMHhjMCwweDFjIH0gfSwKLXsgIDE2LCAweGYxOTAsIDAsIHsweDQ5LDB4MjgsMHg2MSwweDE0LDB4MmIsMHgxYywweDBlLDB4NDAsMHgzZiwweGQ5LDB4YmYsMHhkOSwweGFhLDB4YmMsMHgxYSwweDVmIH0gfSwKLXsgIDE2LCAweGYxYTAsIDAsIHsweDAwLDB4MTAsMHhhNiwweDUwLDB4M2IsMHg2MSwweGIzLDB4MjUsMHhiYywweDQwLDB4MTksMHhiZiwweGZmLDB4ZTksMHg4MCwweDAwIH0gfSwKLXsgIDE2LCAweGYxYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTAsMHg5MiwweDE0LDB4OTQsMHg4MCwweDBjIH0gfSwKLXsgIDE2LCAweGYxYzAsIDAsIHsweDA3LDB4M2YsMHgyYiwweDk0LDB4ODYsMHgxNCwweDg0LDB4ODAsMHgyOCwweDAwLDB4MDAsMHg0OSwweDE0LDB4MDQsMHg4NiwweDEyIH0gfSwKLXsgIDE2LCAweGYxZDAsIDAsIHsweDgwLDB4MDAsMHg0MSwweDI3LDB4MzQsMHhkMCwweDkwLDB4ODQsMHg5MiwweDAwLDB4MmQsMHg4YSwweDIxLDB4MWUsMHg4MCwweDAwIH0gfSwKLXsgIDE2LCAweGYxZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweGEyIH0gfSwKLXsgIDE2LCAweGYxZjAsIDAsIHsweGIxLDB4MDEsMHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHg4NCwweGIxLDB4NzgsMHgyOCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGYyMDAsIDAsIHsweDA4LDB4YjEsMHgzMiwweDE0LDB4MTQsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4YTgsMHgyMywweDU0LDB4MjEsMHg0MCwweDAwIH0gfSwKLXsgIDE2LCAweGYyMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4ZmYsMHhjMCwweDAwIH0gfSwKLXsgIDE2LCAweGYyMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDJmLDB4ZmYsMHhmZSwweGY3LDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDJmLDB4ZDcsMHhmZSwweGVmIH0gfSwKLXsgIDE2LCAweGYyMzAsIDAsIHsweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4N2YsMHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGYyNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4ZmYsMHhjMCwweDAwIH0gfSwKLXsgIDE2LCAweGYyNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDBmLDB4ZWYsMHg3NywweGZmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNlLDB4ZmYsMHhmZSwweGVmIH0gfSwKLXsgIDE2LCAweGYyNjAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4YmYsMHhmZiwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGYyNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4ZmYsMHhjMCwweDAwIH0gfSwKLXsgIDE2LCAweGYyODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhkZiwweGZmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGZmIH0gfSwKLXsgIDE2LCAweGYyOTAsIDAsIHsweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweDdmLDB4MmYsMHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGYyYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4ZmYsMHhjMCwweDAwIH0gfSwKLXsgIDE2LCAweGYyYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDFmLDB4ZmYsMHhmZiwweGVmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDFmLDB4ZWYsMHhlZiwweGVmIH0gfSwKLXsgIDE2LCAweGYyYzAsIDAsIHsweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyZiwweGZmLDB4ZmYsMHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGYyZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4ZmYsMHhjMCwweDAwIH0gfSwKLXsgIDE2LCAweGYyZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhlZiwweGZmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDJmLDB4YWYsMHhkZiwweGZmIH0gfSwKLXsgIDE2LCAweGYyZjAsIDAsIHsweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGVmLDB4ZmYsMHhmNywweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGYzMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4ZmYsMHhjMCwweDAwIH0gfSwKLXsgIDE2LCAweGYzMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDNmLDB4ZGYsMHhkZiwweGZmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGZmIH0gfSwKLXsgIDE2LCAweGYzMjAsIDAsIHsweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxZiwweGZmLDB4ZGYsMHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGYzMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDIsMHhjNCwweDI0LDB4YTEsMHgwMCwweDJjIH0gfSwKLXsgIDE2LCAweGYzNDAsIDAsIHsweDUyLDB4MGIsMHgxOCwweGMyLDB4ODYsMHgyYywweGExLDB4ODAsMHgzOCwweDYyLDB4MGEsMHgwOCwweDQwLDB4YzQsMHgyYywweGExIH0gfSwKLXsgIDE2LCAweGYzNTAsIDAsIHsweDA4LDB4MjgsMHg0MiwweDBiLDB4MTQsMHgwMCwweDg1LDB4MTQsMHhhMSwweDA4LDB4MjgsMHg0MywweDBhLDB4MTAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGYzNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweDEyLDB4MDEsMHgwMywweDgwIH0gfSwKLXsgIDE2LCAweGYzNzAsIDAsIHsweDYxLDB4MjAsMHgxMCwweDA4LDB4MDcsMHgxMiwweDQxLDB4NDIsMHg4MCwweDcwLDB4MjAsMHgxYywweDA4LDB4MDQsMHgxYSwweDAxIH0gfSwKLXsgIDE2LCAweGYzODAsIDAsIHsweDg0LDB4ODEsMHg0MCwweDIwLDB4MTgsMHgwOCwweDQ2LDB4MzYsMHg4MSwweDA1LDB4ODAsMHg2MywweDIwLDB4MTAsMHgwMCwweDAxIH0gfSwKLXsgIDE2LCAweGYzOTAsIDAsIHsweDgwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4NCwweDI0LDB4MjEsMHgwMCwweDBjIH0gfSwKLXsgIDE2LCAweGYzYTAsIDAsIHsweDUyLDB4MDIsMHgxNCwweDAwLDB4ODcsMHgyOCwweDIxLDB4ODEsMHgwOCwweDcyLDB4MDYsMHgxYywweDgyLDB4ODQsMHgyMCwweDIxIH0gfSwKLXsgIDE2LCAweGYzYjAsIDAsIHsweDQ4LDB4MTgsMHg0MiwweDAzLDB4NTQsMHg4MCwweDQ1LDB4MzAsMHgyNSwweDRhLDB4MTgsMHg1MywweDAyLDB4MTAsMHgwMCwweDAxIH0gfSwKLXsgIDE2LCAweGYzYzAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweDIyLDB4MDEsMHgwMSwweDgwIH0gfSwKLXsgIDE2LCAweGYzZDAsIDAsIHsweDQyLDB4MjAsMHgxOCwweGM4LDB4NDQsMHgyMiwweDAxLDB4ODAsMHg4NCwweDQyLDB4MjAsMHgxYywweDg4LDB4MDQsMHgyMiwweDAxIH0gfSwKLXsgIDE2LCAweGYzZTAsIDAsIHsweDAwLDB4ODAsMHg0MCwweDIwLDB4MTAsMHg4OCwweDQ0LDB4MzYsMHgwMSwweDQwLDB4ODAsMHg0MSwweDAwLDB4MTAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGYzZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA4LDB4MjAsMHgwMCwweDBjIH0gfSwKLXsgIDE2LCAweGY0MDAsIDAsIHsweDIyLDB4MDMsMHgwNCwweDQwLDB4ODEsMHgwMCwweDIwLDB4ODQsMHgwOCwweDAzLDB4MDAsMHgwMCwweDgwLDB4YzIsMHgwMCwweDIwIH0gfSwKLXsgIDE2LCAweGY0MTAsIDAsIHsweGM0LDB4MDgsMHgwMCwweDAzLDB4MDgsMHg4OCwweDgyLDB4MTYsMHhhMCwweDQwLDB4ODgsMHgzMiwweDIyLDB4ODAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGY0MjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDAwLDB4MDIsMHgwMSwweDAwLDB4ODAsMHgwNCwweDIwIH0gfSwKLXsgIDE2LCAweGY0MzAsIDAsIHsweDEwLDB4MDgsMHgwYywweGMyLDB4MTIsMHgxMCwweDg0LDB4YzgsMHgyMiwweDEyLDB4MDgsMHgwNCwweDAyLDB4MDMsMHgwMCwweDg4IH0gfSwKLXsgIDE2LCAweGY0NDAsIDAsIHsweDAwLDB4MjEsMHgwMCwweDBjLDB4MGMsMHg0MCwweDQxLDB4MzAsMHgwMCwweDg0LDB4MjAsMHgxMCwweDA4LDB4MDAsMHgwMiwweDAwIH0gfSwKLXsgIDE2LCAweGY0NTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDAwLDB4MDgsMHg4MiwweDA2LDB4MjAsMHgwOCwweDhjIH0gfSwKLXsgIDE2LCAweGY0NjAsIDAsIHsweDMyLDB4MjIsMHgwYywweDg4LDB4ODEsMHgyNiwweDIwLDB4NGQsMHg4OCwweDIzLDB4MjIsMHg4MCwweDg4LDB4ODMsMHgwNiwweDIwIH0gfSwKLXsgIDE2LCAweGY0NzAsIDAsIHsweDA4LDB4ODgsMHgwMCwweDIzLDB4MDQsMHg4YSwweDgxLDB4MzYsMHgyMCwweDRiLDB4ODgsMHgzMiwweDIyLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGY0ODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDAwLDB4MDgsMHgwMiwweDAyLDB4MDAsMHgwOSwweDgwIH0gfSwKLXsgIDE2LCAweGY0OTAsIDAsIHsweDMyLDB4MjAsMHgwNCwweDg4LDB4NjAsMHgyMiwweDAwLDB4ODksMHg4NCwweDAwLDB4MjAsMHgwOCwweDk4LDB4MDAsMHgwMiwweDAwIH0gfSwKLXsgIDE2LCAweGY0YTAsIDAsIHsweDAwLDB4ODAsMHgwMCwweDIwLDB4MDAsMHgwOCwweDAyLDB4M2EsMHg4MCwweDQ4LDB4ODAsMHgzMCwweDIwLDB4MDAsMHgwMiwweDAwIH0gfSwKLXsgIDE2LCAweGY0YjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDAwLDB4MGEsMHhjNCwweDFhLDB4YTEsMHg4MCwweGE4IH0gfSwKLXsgIDE2LCAweGY0YzAsIDAsIHsweDQxLDB4MmEsMHgxMCwweGNhLDB4YzcsMHgxYSwweGExLDB4MDQsMHhhZCwweDcxLDB4MmEsMHgxOCwweDRhLDB4ZDQsMHgwNiwweGIxIH0gfSwKLXsgIDE2LCAweGY0ZDAsIDAsIHsweDAwLDB4YTgsMHg3MSwweDJhLDB4MTAsMHgwOCwweDg0LDB4MjYsMHgyOSwweDA2LDB4YWMsMHg1MiwweDJhLDB4MTAsMHgwMiwweDAwIH0gfSwKLXsgIDE2LCAweGY0ZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDAwLDB4MDgsMHgwNCwweDJhLDB4MDEsMHg0MSwweDgwIH0gfSwKLXsgIDE2LCAweGY0ZjAsIDAsIHsweDQyLDB4MjAsMHgxYywweDAwLDB4MDQsMHgwYSwweDAxLDB4MDksMHg4NCwweDUxLDB4MjAsMHgxYywweDg4LDB4NDQsMHgwMiwweDAxIH0gfSwKLXsgIDE2LCAweGY1MDAsIDAsIHsweDA4LDB4ODAsMHg0MCwweDIwLDB4MTAsMHg0YSwweDQ3LDB4MDIsMHgwMSwweDQ4LDB4ODAsMHg2MywweDIwLDB4MTAsMHgwMiwweDAwIH0gfSwKLXsgIDE2LCAweGY1MTAsIDAsIHsweDgwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDAwLDB4MDAsMHhjNCwweDEwLDB4MjEsMHg4MSwweDBjIH0gfSwKLXsgIDE2LCAweGY1MjAsIDAsIHsweDQxLDB4MDIsMHgwYywweDAwLDB4YzAsMHgyMCwweDYxLDB4MGQsMHgwZSwweDcyLDB4MDIsMHgxYywweDQwLDB4YzQsMHgwOCwweDMxIH0gfSwKLXsgIDE2LCAweGY1MzAsIDAsIHsweDA0LDB4MTgsMHg0MiwweDAyLDB4MTAsMHg4MCwweDg3LDB4MjAsMHhiMSwweGM0LDB4MGMsMHg1MywweDAyLDB4MTAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGY1NDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4MjAsMHgwNywweDI0LDB4MDEsMHhjYywweDAwIH0gfSwKLXsgIDE2LCAweGY1NTAsIDAsIHsweDcyLDB4NDAsMHgxNCwweDAwLDB4MDQsMHgyNCwweDAxLDB4MDgsMHgwMCwweDczLDB4NDEsMHgxMCwweGMwLDB4MDcsMHgzMCwweDExIH0gfSwKLXsgIDE2LCAweGY1NjAsIDAsIHsweGNjLDB4MDAsMHg3MSwweDAxLDB4MTAsMHgwMiwweDA0LDB4MjAsMHg4MSwweDQ2LDB4MTAsMHg0MiwweDQwLDB4MTAsMHgwMiwweDA0IH0gfSwKLXsgIDE2LCAweGY1NzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDAwLDB4MDAsMHhjNSwweDEwLDB4MjEsMHgwMCwweDA4IH0gfSwKLXsgIDE2LCAweGY1ODAsIDAsIHsweDYyLDB4MDIsMHgxYywweDkwLDB4YzUsMHgyNCwweDIxLDB4MDAsMHgwYywweDcwLDB4ODIsMHgxYywweDEwLDB4YzQsMHgyMCwweDMxIH0gfSwKLXsgIDE2LCAweGY1OTAsIDAsIHsweDg4LDB4MDIsMHg0MCwweDA2LDB4MWMsMHgwMCwweDg1LDB4MDAsMHhhMSwweDAwLDB4MGMsMHg0MCwweDQyLDB4MDAsMHgwMiwweDAwIH0gfSwKLXsgIDE2LCAweGY1YTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjIsMHgwNSwweDE0LDB4ODAsMHgwMSwweDIwIH0gfSwKLXsgIDE2LCAweGY1YjAsIDAsIHsweDMwLDB4MDgsMHgwYywweDQyLDB4MDYsMHgwMCwweDgwLDB4MDEsMHgyNCwweDUxLDB4MDgsMHgwYywweDAyLDB4NDEsMHgwMCwweDgwIH0gfSwKLXsgIDE2LCAweGY1YzAsIDAsIHsweDRjLDB4MjAsMHgwMCwweDA4LDB4MGMsMHgzMCwweDQyLDB4MDQsMHgwMCwweDA0LDB4MjAsMHgwMCwweDA4LDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGY1ZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTAsMHhjNiwweDI0LDB4MjAsMHgwMCwweDBjIH0gfSwKLXsgIDE2LCAweGY1ZTAsIDAsIHsweDMyLDB4YzIsMHgwNCwweDgwLDB4YzcsMHgzMCwweDIwLDB4MDAsMHgwYywweDUzLDB4YzIsMHgwNCwweDEwLDB4YzIsMHgyOCwweDcwIH0gfSwKLXsgIDE2LCAweGY1ZjAsIDAsIHsweDBjLDB4MDksMHgwMiwweDAyLDB4NGMsMHg4MCwweDgxLDB4MDQsMHgzMCwweDA5LDB4MGMsMHgwMiwweDQyLDB4MTAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGY2MDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDEwLDB4ODAsMHgwMSwweDM4LDB4MDAsMHgwMiwweDAwIH0gfSwKLXsgIDE2LCAweGY2MTAsIDAsIHsweDEyLDB4NDAsMHgwYywweDIwLDB4MDcsMHgzNCwweDA0LDB4MDIsMHgwMCwweDYzLDB4MDEsMHgwOCwweDEwLDB4MDAsMHgyNCwweDEwIH0gfSwKLXsgIDE2LCAweGY2MjAsIDAsIHsweDA0LDB4MDAsMHgwMiwweDAxLDB4MDQsMHg4MiwweDAxLDB4MDgsMHg4MCwweDA5LDB4MTAsMHgwMiwweDQwLDB4MTAsMHgwMCwweDA0IH0gfSwKLXsgIDE2LCAweGY2MzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzAsMHgyMCwweDEwLDB4ODAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGY2NDAsIDAsIHsweDIwLDB4ODAsMHgwMCwweGYwLDB4MjAsMHgxMCwweDgwLDB4MDAsMHgwMCwweDIwLDB4ODAsMHgwMCwweGQwLDB4ODAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGY2NTAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzMCwweDEwLDB4MDAsMHg4MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjYywweDQwIH0gfSwKLXsgIDE2LCAweGY2NjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzYywweDNjLDB4MTAsMHg4MCwweDgwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGY2NzAsIDAsIHsweDAwLDB4MDAsMHgxMCwweDkwLDB4ODAsMHg4MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxMCwweDkwLDB4ODAsMHgwMCwweDkwIH0gfSwKLXsgIDE2LCAweGY2ODAsIDAsIHsweDgwLDB4MDAsMHgxMCwweDAwLDB4MDAsMHgxMCwweGEwLDB4ODAsMHgwMCwweDAwLDB4MDAsMHgyMCwweDAwLDB4MTAsMHg4YywweDA4IH0gfSwKLXsgIDE2LCAweGY2OTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzQsMHgxYSwweGJlLDB4MTcsMHg4MCwweDAwIH0gfSwKLXsgIDE2LCAweGY2YTAsIDAsIHsweDNlLDB4NDAsMHgyNiwweDZmLDB4YmEsMHhlMywweDI0LDB4ODAsMHgwMCwweDE2LDB4NTksMHhiZCwweDgyLDB4ODEsMHg4MiwweGQ4IH0gfSwKLXsgIDE2LCAweGY2YjAsIDAsIHsweDgwLDB4MDAsMHgwMCwweDE5LDB4OTksMHg4NiwweDgwLDB4NjQsMHg4MCwweGMwLDB4M2YsMHhkOSwweDk5LDB4ODAsMHgwMCwweDAxIH0gfSwKLXsgIDE2LCAweGY2YzAsIDAsIHsweGYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDYsMHgxNiwweDAyLDB4OTQsMHgwMCwweDE2IH0gfSwKLXsgIDE2LCAweGY2ZDAsIDAsIHsweGMwLDB4MTYsMHg5NCwweDgyLDB4OTAsMHgxNiwweDEwLDB4ODAsMHgyMSwweDE4LDB4MjgsMHgyOCwweDAyLDB4MGEsMHgwMiwweDA4IH0gfSwKLXsgIDE2LCAweGY2ZTAsIDAsIHsweDgwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMiwweDgyLDB4ODAsMHgxNCwweDAwLDB4MDEsMHgxNCwweDExLDB4YTAsMHg0MCwweDAwIH0gfSwKLXsgIDE2LCAweGY2ZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDg0IH0gfSwKLXsgIDE2LCAweGY3MDAsIDAsIHsweDAyLDB4ODQsMHhhOCwweDgwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHg5MSwweDIyLDB4ODQsMHg0MSwweGEyLDB4MDgsMHgyNCwweDAxIH0gfSwKLXsgIDE2LCAweGY3MTAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4ODQsMHgwMSwweDQ0LDB4MDEsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGY3MjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4ZmYsMHhjMCwweDAwIH0gfSwKLXsgIDE2LCAweGY3MzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDNlLDB4ZjcsMHhmZiwweGY3LDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDJmLDB4ZTcsMHhiNywweGZmIH0gfSwKLXsgIDE2LCAweGY3NDAsIDAsIHsweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyZiwweGZlLDB4N2YsMHhmNywweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGY3NTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4ZmYsMHhjMCwweDAwIH0gfSwKLXsgIDE2LCAweGY3NjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDM2LDB4YmYsMHhmZSwweGRmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBmLDB4ZjcsMHhkZiwweGZmIH0gfSwKLXsgIDE2LCAweGY3NzAsIDAsIHsweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZCwweGI3LDB4YjcsMHhlZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGY3ODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4ZmYsMHhjMCwweDAwIH0gfSwKLXsgIDE2LCAweGY3OTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDFmLDB4ZGYsMHhkZiwweGZmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBmLDB4ZGYsMHhkZiwweGZmIH0gfSwKLXsgIDE2LCAweGY3YTAsIDAsIHsweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGVmLDB4ZmYsMHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGY3YjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4ZmYsMHhjMCwweDAwIH0gfSwKLXsgIDE2LCAweGY3YzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDNmLDB4YmYsMHg3ZiwweGZmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHg3ZiwweGY3IH0gfSwKLXsgIDE2LCAweGY3ZDAsIDAsIHsweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGRmLDB4ZmYsMHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGY3ZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4ZmYsMHhjMCwweDAwIH0gfSwKLXsgIDE2LCAweGY3ZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDNmLDB4N2UsMHhmZiwweGZmLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmUsMHhmZiwweGZmIH0gfSwKLXsgIDE2LCAweGY4MDAsIDAsIHsweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGY4MTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4ZmYsMHhjMCwweDAwIH0gfSwKLXsgIDE2LCAweGY4MjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDM3LDB4ZmYsMHg2ZiwweGZmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGZmIH0gfSwKLXsgIDE2LCAweGY4MzAsIDAsIHsweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGY4NDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGY4NTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGY4NjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGY4NzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzMCwweDAwLDB4MjAsMHgwMSwweDAyLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGY4ODAsIDAsIHsweDMwLDB4MDAsMHg0MywweDBjLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGY4OTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGY4YTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGY4YjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGY4YzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGY4ZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGY4ZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGY4ZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDMwLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDMwIH0gfSwKLXsgIDE2LCAweGY5MDAsIDAsIHsweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGY5MTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGY5MjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGY5MzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGY5NDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGY5NTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzMCwweGMwLDB4MzAsMHhjMCwweDAwIH0gfSwKLXsgIDE2LCAweGY5NjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGY5NzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGY5ODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGY5OTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGY5YTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGY5YjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDMwLDB4YzAsMHgzMCwweGMwLDB4MzAsMHhjMCwweDMwIH0gfSwKLXsgIDE2LCAweGY5YzAsIDAsIHsweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGY5ZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGY5ZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGY5ZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZhMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZhMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBmLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBmIH0gfSwKLXsgIDE2LCAweGZhMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZhMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZhNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZhNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZhNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZhNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmIH0gfSwKLXsgIDE2LCAweGZhODAsIDAsIHsweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZhOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZhYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZhYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZhYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZhZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBmLDB4MDAsMHgzMCwweGMwLDB4MzAsMHhjMCwweDBmIH0gfSwKLXsgIDE2LCAweGZhZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZhZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZiMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZiMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZiMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZiMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDEzLDB4NmIsMHgwMCwweGMwLDB4MDAsMHhjZiwweDJjIH0gfSwKLXsgIDE2LCAweGZiNDAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZiNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZiNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZiNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZiODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZiOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZiwweDAwLDB4MGYsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZiYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZiYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZiYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZiZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZiZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZiZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDMwLDB4YzAsMHgwZiwweDAwLDB4MGYsMHgwMCwweDMwIH0gfSwKLXsgIDE2LCAweGZjMDAsIDAsIHsweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZjMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZjMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZjMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZjNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZjNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGMwLDB4M2YsMHhjMCwweDAwIH0gfSwKLXsgIDE2LCAweGZjNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZjNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZjODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZjOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZjYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZjYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDMwLDB4YzAsMHgzZiwweGMwLDB4M2YsMHhjMCwweDMwIH0gfSwKLXsgIDE2LCAweGZjYzAsIDAsIHsweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZjZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZjZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZjZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZkMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZkMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBmLDB4MDAsMHgwZiwweDAwLDB4MGYsMHgwMCwweDBmIH0gfSwKLXsgIDE2LCAweGZkMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZkMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZkNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZkNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZkNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZkNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4YzAsMHgwZiwweDAwLDB4MGYsMHgwMCwweDNmIH0gfSwKLXsgIDE2LCAweGZkODAsIDAsIHsweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZkOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZkYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZkYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZkYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZkZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBmLDB4MDAsMHgzZiwweGMwLDB4M2YsMHhjMCwweDBmIH0gfSwKLXsgIDE2LCAweGZkZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZkZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZlMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZlMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZlMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZlMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNiwweDMzLDB4NWQsMHg4MCwweGMwLDB4MDAsMHhmZCwweGFjIH0gfSwKLXsgIDE2LCAweGZlNDAsIDAsIHsweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZlNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZlNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZlNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZlODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZlOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZlYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZlYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZlYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZlZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZlZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZlZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDMwLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDMwIH0gfSwKLXsgIDE2LCAweGZmMDAsIDAsIHsweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZmMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZmMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZmMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZmNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZmNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzMCwweGMwLDB4MzAsMHhjMCwweDAwIH0gfSwKLXsgIDE2LCAweGZmNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZmNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZmODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZmOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZmYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZmYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDMwLDB4YzAsMHgzMCwweGMwLDB4MzAsMHhjMCwweDMwIH0gfSwKLXsgIDE2LCAweGZmYzAsIDAsIHsweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZmZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZmZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweGZmZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgwMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgwMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBmLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBmIH0gfSwKLXsgIDE2LCAweDgwMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgwNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgwNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgwNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgwNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgwODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmIH0gfSwKLXsgIDE2LCAweDgwOTAsIDAsIHsweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgwYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgwYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgwYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgwZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgwZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBmLDB4MDAsMHgzMCwweGMwLDB4MzAsMHhjMCwweDBmIH0gfSwKLXsgIDE2LCAweDgwZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgxMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgxMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgxMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgxMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgxNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDEzLDB4NzQsMHhjMCwweGMwLDB4MDAsMHhmMCwweGVjIH0gfSwKLXsgIDE2LCAweDgxNTAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgxNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgxNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgxODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgxOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgxYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZiwweDAwLDB4MGYsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgxYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgxYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgxZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgxZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgxZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgyMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDMwLDB4YzAsMHgwZiwweDAwLDB4MGYsMHgwMCwweDMwIH0gfSwKLXsgIDE2LCAweDgyMTAsIDAsIHsweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgyMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgyMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgyNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgyNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgyNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGMwLDB4M2YsMHhjMCwweDAwIH0gfSwKLXsgIDE2LCAweDgyNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgyODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgyOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgyYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgyYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgyYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE5LDB4ODYsMHgxMCwweDgwLDB4MzAsMHg4MiwweDNkIH0gfSwKLXsgIDE2LCAweDgyZDAsIDAsIHsweDgwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgyZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgyZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgzMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgzMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgzMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBmLDB4MDAsMHgwZiwweDAwLDB4MGYsMHgwMCwweDBmIH0gfSwKLXsgIDE2LCAweDgzMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgzNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgzNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgzNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgzNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgzODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4YzAsMHgwZiwweDAwLDB4MGYsMHgwMCwweDNmIH0gfSwKLXsgIDE2LCAweDgzOTAsIDAsIHsweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgzYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgzYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgzYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgzZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDgzZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBmLDB4MDAsMHgzZiwweGMwLDB4M2YsMHhjMCwweDBmIH0gfSwKLXsgIDE2LCAweDgzZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg0MDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg0MTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg0MjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg0MzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg0NDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzNywweDY1LDB4MjUsMHhlNCwweDgwLDB4MDAsMHhiMCwweDg4IH0gfSwKLXsgIDE2LCAweDg0NTAsIDAsIHsweGFiLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg0NjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg0NzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg0ODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg0OTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg0YTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg0YjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg0YzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MzAsMHgwMCwweDIwLDB4MDEsMHgwMiwweDAyLDB4MDAsMHgwMCwweDMwLDB4MDAsMHg0MywweDAwIH0gfSwKLXsgIDE2LCAweDg0ZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg0ZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg0ZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg1MDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg1MTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg1MjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg1MzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg1NDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg1NTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg1NjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg1NzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg1ODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg1OTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg1YTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg1YjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg1YzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg1ZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg1ZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg1ZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg2MDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg2MTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg2MjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg2MzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg2NDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg2NTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg2NjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg2NzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg2ODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg2OTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg2YTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg2YjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg2YzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg2ZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg2ZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg2ZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg3MDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg3MTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg3MjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg3MzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg3NDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg3NTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg3NjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg3NzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg3ODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg3OTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg3YTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg3YjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg3YzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg3ZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg3ZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg3ZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg4MDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg4MTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg4MjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg4MzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg4NDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg4NTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg4NjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg4NzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg4ODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg4OTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg4YTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg4YjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg4YzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg4ZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg4ZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg4ZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg5MDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg5MTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg5MjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg5MzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg5NDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg5NTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg5NjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg5NzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg5ODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg5OTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg5YTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg5YjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg5YzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg5ZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg5ZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDg5ZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhhMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhhMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhhMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhhMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhhNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhhNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhhNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhhNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhhODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhhOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhhYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhhYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhhYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhhZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhhZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhhZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhiMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhiMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhiMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhiMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhiNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhiNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhiNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhiNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhiODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhiOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhiYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhiYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhiYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhiZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhiZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhiZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhjMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhjMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhjMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhjMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhjNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhjNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhjNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhjNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhjODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhjOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhjYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhjYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhjYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhjZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhjZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhjZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhkMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhkMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhkMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhkMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhkNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhkNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhkNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhkNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhkODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhkOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhkYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhkYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhkYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhkZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhkZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhkZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhlMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhlMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhlMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhlMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhlNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhlNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhlNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhlNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhlODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhlOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhlYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhlYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhlYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhlZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhlZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhlZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhmMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhmMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhmMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhmMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhmNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhmNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhmNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhmNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhmODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhmOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhmYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhmYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhmYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhmZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhmZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDhmZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDkwMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDkwMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDkwMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDkwMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDkwNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDkwNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDkwNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDkwNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDkwODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDkwOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDkwYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDkwYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDkwYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDkwZDAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAxLDB4MDAsMHgwMCwweDQ0LDB4NzIsMHgzMCwweDAwLDB4ODAsMHgwMSwweDAwLDB4MDAsMHgwMCwweDAzIH0gfSwKLXsgIDE2LCAweDkwZTAsIDAsIHsweDMwLDB4MDAsMHg0MCwweDBjLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDkwZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDkxMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDE2LCAweDkxMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MzAsMHgwMCwweDgwLDB4MDEsMHgwMCwweDAwLDB4MDAsMHgwNSwweDMwLDB4MDAsMHhhMCwweDAxIH0gfSwKLXsgIDE2LCAweDkxMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MzAsMHgwMCwweDAwLDB4MDEsMHgwMCwweDAwLDB4ZTEsMHg1YSwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDEyLCAweDkxMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAwICwgMHgwMDAwLCAxLCB7MCB9fQotfTsKLS8vIFZFUlNJT049MS4xLjEuMTMxCi0vLyBEQVRFPTIwMDFkZWMwNgotLy8gUFJPRFVDVD1FTUkgMnw2Ci0vKgotICogVGhpcyBmaXJtd2FyZSBpcyBmb3IgdGhlIEVtYWdpYyBFTUkgMnw2IEF1ZGlvIEludGVyZmFjZQotICoKLSAqIFRoZSBmaXJtd2FyZSBjb250YWluZWQgaGVyZWluIGlzIENvcHlyaWdodCAoYykgMTk5OS0yMDAyIEVtYWdpYwotICogYXMgYW4gdW5wdWJsaXNoZWQgd29yay4gVGhpcyBub3RpY2UgZG9lcyBub3QgaW1wbHkgdW5yZXN0cmljdGVkCi0gKiBvciBwdWJsaWMgYWNjZXNzIHRvIHRoaXMgZmlybXdhcmUgd2hpY2ggaXMgYSB0cmFkZSBzZWNyZXQgb2YgRW1hZ2ljLAotICogYW5kIHdoaWNoIG1heSBub3QgYmUgcmVwcm9kdWNlZCwgdXNlZCwgc29sZCBvciB0cmFuc2ZlcnJlZCB0bwotICogYW55IHRoaXJkIHBhcnR5IHdpdGhvdXQgRW1hZ2ljJ3Mgd3JpdHRlbiBjb25zZW50LiBBbGwgUmlnaHRzIFJlc2VydmVkLgotICoKLSAqIFRoaXMgZmlybXdhcmUgbWF5IG5vdCBiZSBtb2RpZmllZCBhbmQgbWF5IG9ubHkgYmUgdXNlZCB3aXRoIHRoZQotICogRW1hZ2ljIEVNSSAyfDYgQXVkaW8gSW50ZXJmYWNlLiBEaXN0cmlidXRpb24gYW5kL29yIE1vZGlmaWNhdGlvbiBvZgotICogYW55IGRyaXZlciB3aGljaCBpbmNsdWRlcyB0aGlzIGZpcm13YXJlLCBpbiB3aG9sZSBvciBpbiBwYXJ0LAotICogcmVxdWlyZXMgdGhlIGluY2x1c2lvbiBvZiB0aGlzIHN0YXRlbWVudC4KLSAqLwotc3RhdGljIElOVEVMX0hFWF9SRUNPUkQgZ19GaXJtd2FyZVtdID0gewoteyAgIDMsMHgwMDAwLDAsezB4MDIsMHg0MywweDU2fSB9LAoteyAgIDMsMHgwMDAzLDAsezB4MDIsMHg0YiwweGNkfSB9LAoteyAgIDMsMHgwMDBiLDAsezB4MDIsMHg0YiwweGQyfSB9LAoteyAgIDMsMHgwMDEzLDAsezB4MDIsMHg0YiwweDkyfSB9LAoteyAgIDMsMHgwMDFiLDAsezB4MDIsMHg0YiwweGQ1fSB9LAoteyAgIDMsMHgwMDIzLDAsezB4MDIsMHgxYiwweDM5fSB9LAoteyAgIDMsMHgwMDJiLDAsezB4MDIsMHg0MywweGUyfSB9LAoteyAgIDMsMHgwMDMzLDAsezB4MDIsMHgzZiwweGYzfSB9LAoteyAgIDMsMHgwMDNiLDAsezB4MDIsMHg0YiwweGMwfSB9LAoteyAgIDMsMHgwMDQzLDAsezB4MDIsMHg0NywweDAwfSB9LAoteyAgIDMsMHgwMDRiLDAsezB4MDIsMHgzZiwweGZjfSB9LAoteyAgIDMsMHgwMDUzLDAsezB4MDIsMHgzNywweGZhfSB9LAoteyAgIDMsMHgwMDViLDAsezB4MDIsMHg0YiwweGM3fSB9LAoteyAgIDMsMHgwMDYzLDAsezB4MDIsMHg0NiwweGZjfSB9LAoteyAgMTYsMHgwNTAwLDAsezB4MTIsMHgwMSwweDEwLDB4MDEsMHgwMCwweDAwLDB4MDAsMHg0MCwweDZhLDB4MDgsMHgwMSwweDAxLDB4MDAsMHgwMSwweDAxLDB4MDJ9IH0sCi17ICAxNiwweDA1MTAsMCx7MHgwMCwweDAxLDB4MDksMHgwMiwweGI4LDB4MDEsMHgwMywweDAxLDB4MDAsMHg4MCwweGEwLDB4MDksMHgwNCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MDUyMCwwLHsweDAxLDB4MDEsMHgwMCwweDAwLDB4MGEsMHgyNCwweDAxLDB4MDAsMHgwMSwweDU2LDB4MDAsMHgwMiwweDAxLDB4MDIsMHgwYywweDI0fSB9LAoteyAgMTYsMHgwNTMwLDAsezB4MDIsMHgwMSwweDAxLDB4MDEsMHgwMCwweDA2LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxNSwweDI0LDB4MDYsMHgwNSwweDAxLDB4MDJ9IH0sCi17ICAxNiwweDA1NDAsMCx7MHgwMywweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOX0gfSwKLXsgIDE2LDB4MDU1MCwwLHsweDI0LDB4MDMsMHgwMiwweDA0LDB4MDMsMHgwMCwweDA1LDB4MDAsMHgwYywweDI0LDB4MDIsMHgwMywweDAxLDB4MDIsMHgwMCwweDAyfSB9LAoteyAgMTYsMHgwNTYwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZCwweDI0LDB4MDYsMHgwNiwweDAzLDB4MDIsMHgwMywweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDA1NzAsMCx7MHgwMCwweDA5LDB4MjQsMHgwMywweDA0LDB4MDEsMHgwMSwweDAwLDB4MDYsMHgwMCwweDA5LDB4MDQsMHgwMSwweDAwLDB4MDAsMHgwMX0gfSwKLXsgIDE2LDB4MDU4MCwwLHsweDAyLDB4MDAsMHgwMCwweDA5LDB4MDQsMHgwMSwweDAxLDB4MDIsMHgwMSwweDAyLDB4MDAsMHgwMCwweDA3LDB4MjQsMHgwMSwweDAxfSB9LAoteyAgMTYsMHgwNTkwLDAsezB4MDAsMHgwMSwweDAwLDB4MTEsMHgyNCwweDAyLDB4MDEsMHgwMiwweDAyLDB4MTAsMHgwMywweDQ0LDB4YWMsMHgwMCwweDgwLDB4YmJ9IH0sCi17ICAxNiwweDA1YTAsMCx7MHgwMCwweDAwLDB4NzcsMHgwMSwweDA5LDB4MDUsMHgwYSwweDA1LDB4ODQsMHgwMSwweDAxLDB4MDAsMHg4ZiwweDA3LDB4MjUsMHgwMX0gfSwKLXsgIDE2LDB4MDViMCwwLHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDksMHgwNSwweDhmLDB4MDEsMHgwMywweDAwLDB4MDEsMHgwNiwweDAwLDB4MDksMHgwNCwweDAxfSB9LAoteyAgMTYsMHgwNWMwLDAsezB4MDIsMHgwMiwweDAxLDB4MDIsMHgwMCwweDAwLDB4MDcsMHgyNCwweDAxLDB4MDEsMHgwMCwweDAxLDB4MDAsMHgwZSwweDI0LDB4MDJ9IH0sCi17ICAxNiwweDA1ZDAsMCx7MHgwMSwweDA2LDB4MDIsMHgxMCwweDAyLDB4NDQsMHhhYywweDAwLDB4ODAsMHhiYiwweDAwLDB4MDksMHgwNSwweDBhLDB4MDUsMHg0Y30gfSwKLXsgIDE2LDB4MDVlMCwwLHsweDAyLDB4MDEsMHgwMCwweDhmLDB4MDcsMHgyNSwweDAxLDB4MDEsMHgwMCwweDAwLDB4MDAsMHgwOSwweDA1LDB4OGYsMHgwMSwweDAzfSB9LAoteyAgMTYsMHgwNWYwLDAsezB4MDAsMHgwMSwweDA2LDB4MDAsMHgwOSwweDA0LDB4MDEsMHgwMywweDAyLDB4MDEsMHgwMiwweDAwLDB4MDAsMHgwNywweDI0LDB4MDF9IH0sCi17ICAxNiwweDA2MDAsMCx7MHgwMSwweDAwLDB4MDEsMHgwMCwweDBlLDB4MjQsMHgwMiwweDAxLDB4MDYsMHgwMywweDE4LDB4MDIsMHg0NCwweGFjLDB4MDAsMHg4MH0gfSwKLXsgIDE2LDB4MDYxMCwwLHsweGJiLDB4MDAsMHgwOSwweDA1LDB4MGEsMHgwNSwweDcyLDB4MDMsMHgwMSwweDAwLDB4OGYsMHgwNywweDI1LDB4MDEsMHgwMSwweDAwfSB9LAoteyAgMTYsMHgwNjIwLDAsezB4MDAsMHgwMCwweDA5LDB4MDUsMHg4ZiwweDAxLDB4MDMsMHgwMCwweDAxLDB4MDYsMHgwMCwweDA5LDB4MDQsMHgwMSwweDA0LDB4MDJ9IH0sCi17ICAxNiwweDA2MzAsMCx7MHgwMSwweDAyLDB4MDAsMHgwMCwweDA3LDB4MjQsMHgwMSwweDAxLDB4MDAsMHgwMSwweDAwLDB4MGIsMHgyNCwweDAyLDB4MDEsMHgwMn0gfSwKLXsgIDE2LDB4MDY0MCwwLHsweDAzLDB4MTgsMHgwMSwweDAwLDB4NzcsMHgwMSwweDA5LDB4MDUsMHgwYSwweDA1LDB4NDYsMHgwMiwweDAxLDB4MDAsMHg4ZiwweDA3fSB9LAoteyAgMTYsMHgwNjUwLDAsezB4MjUsMHgwMSwweDAxLDB4MDAsMHgwMCwweDAwLDB4MDksMHgwNSwweDhmLDB4MDEsMHgwMywweDAwLDB4MDEsMHgwNiwweDAwLDB4MDl9IH0sCi17ICAxNiwweDA2NjAsMCx7MHgwNCwweDAyLDB4MDAsMHgwMCwweDAxLDB4MDIsMHgwMCwweDAwLDB4MDksMHgwNCwweDAyLDB4MDEsMHgwMSwweDAxLDB4MDIsMHgwMH0gfSwKLXsgIDE2LDB4MDY3MCwwLHsweDAwLDB4MDcsMHgyNCwweDAxLDB4MDQsMHgwMCwweDAxLDB4MDAsMHgxMSwweDI0LDB4MDIsMHgwMSwweDAyLDB4MDIsMHgxMCwweDAzfSB9LAoteyAgMTYsMHgwNjgwLDAsezB4NDQsMHhhYywweDAwLDB4ODAsMHhiYiwweDAwLDB4MDAsMHg3NywweDAxLDB4MDksMHgwNSwweDhjLDB4MDUsMHg4NCwweDAxLDB4MDF9IH0sCi17ICAxNiwweDA2OTAsMCx7MHgwMCwweDAwLDB4MDcsMHgyNSwweDAxLDB4MDEsMHgwMiwweDAwLDB4MDAsMHgwOSwweDA0LDB4MDIsMHgwMiwweDAxLDB4MDEsMHgwMn0gfSwKLXsgIDE2LDB4MDZhMCwwLHsweDAwLDB4MDAsMHgwNywweDI0LDB4MDEsMHgwNCwweDAwLDB4MDEsMHgwMCwweDExLDB4MjQsMHgwMiwweDAxLDB4MDIsMHgwMywweDE4fSB9LAoteyAgMTYsMHgwNmIwLDAsezB4MDMsMHg0NCwweGFjLDB4MDAsMHg4MCwweGJiLDB4MDAsMHgwMCwweDc3LDB4MDEsMHgwOSwweDA1LDB4OGMsMHgwNSwweDQ2LDB4MDJ9IH0sCi17ICAxNiwweDA2YzAsMCx7MHgwMSwweDAwLDB4MDAsMHgwNywweDI1LDB4MDEsMHgwMSwweDAyLDB4MDAsMHgwMCwweDA1LDB4MGMsMHgwOSwweDAxLDB4YTEsMHgwMX0gfSwKLXsgIDE2LDB4MDZkMCwwLHsweDA1LDB4MGMsMHgwOSwweGU5LDB4MDUsMHgwYywweDA5LDB4ZWEsMHgxNSwweDAwLDB4MjUsMHgwMSwweDk1LDB4MDIsMHg3NSwweDAxfSB9LAoteyAgMTYsMHgwNmUwLDAsezB4ODEsMHg0MiwweDk1LDB4MDEsMHg3NSwweDA2LDB4ODEsMHgwMSwweDA1LDB4MGMsMHgwOSwweDAwLDB4MDUsMHgwYywweDA5LDB4MDB9IH0sCi17ICAxNiwweDA2ZjAsMCx7MHgxNSwweDAwLDB4MjUsMHgwMSwweDk1LDB4MDIsMHg3NSwweDAxLDB4OTEsMHgwNiwweDk1LDB4MDEsMHg3NSwweDA2LDB4OTEsMHgwM30gfSwKLXsgIDE2LDB4MDcwMCwwLHsweGMwLDB4MDQsMHgwMywweDA5LDB4MDQsMHgxOCwweDAzLDB4NDUsMHgwMCwweDRkLDB4MDAsMHg0MSwweDAwLDB4NDcsMHgwMCwweDQ5fSB9LAoteyAgMTYsMHgwNzEwLDAsezB4MDAsMHg0MywweDAwLDB4MjAsMHgwMCwweDQ3LDB4MDAsMHg2ZCwweDAwLDB4NjIsMHgwMCwweDQ4LDB4MDAsMHgxZSwweDAzLDB4NDV9IH0sCi17ICAxNiwweDA3MjAsMCx7MHgwMCwweDZkLDB4MDAsMHg2MSwweDAwLDB4NjcsMHgwMCwweDY5LDB4MDAsMHg2MywweDAwLDB4MjAsMHgwMCwweDQ1LDB4MDAsMHg0ZH0gfSwKLXsgIDE2LDB4MDczMCwwLHsweDAwLDB4NDksMHgwMCwweDIwLDB4MDAsMHgzMiwweDAwLDB4N2MsMHgwMCwweDM2LDB4MDAsMHgyYSwweDAzLDB4NDMsMHgwMCwweDZmfSB9LAoteyAgMTYsMHgwNzQwLDAsezB4MDAsMHg2ZSwweDAwLDB4NjYsMHgwMCwweDY5LDB4MDAsMHg2NywweDAwLDB4NzUsMHgwMCwweDcyLDB4MDAsMHg2MSwweDAwLDB4NzR9IH0sCi17ICAxNiwweDA3NTAsMCx7MHgwMCwweDY5LDB4MDAsMHg2ZiwweDAwLDB4NmUsMHgwMCwweDIwLDB4MDAsMHg1MywweDAwLDB4NzQsMHgwMCwweDcyLDB4MDAsMHg2OX0gfSwKLXsgIDE2LDB4MDc2MCwwLHsweDAwLDB4NmUsMHgwMCwweDY3LDB4MDAsMHgyMiwweDAzLDB4NDksMHgwMCwweDZlLDB4MDAsMHg3NCwweDAwLDB4NjUsMHgwMCwweDcyfSB9LAoteyAgMTYsMHgwNzcwLDAsezB4MDAsMHg2NiwweDAwLDB4NjEsMHgwMCwweDYzLDB4MDAsMHg2NSwweDAwLDB4MjAsMHgwMCwweDUzLDB4MDAsMHg3NCwweDAwLDB4NzJ9IH0sCi17ICAgOSwweDA3ODAsMCx7MHgwMCwweDY5LDB4MDAsMHg2ZSwweDAwLDB4NjcsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDA3ODksMCx7MHg3NCwweDAwLDB4ZjUsMHg4NiwweDkwLDB4ZmQsMHhhNSwweDdjLDB4MDUsMHhhMywweGU1LDB4ODIsMHg0NSwweDgzLDB4NzAsMHhmOX0gfSwKLXsgICAxLDB4MDc5OSwwLHsweDIyfSB9LAoteyAgMTYsMHgwNzlhLDAsezB4OTAsMHg3ZiwweGQ2LDB4ZTAsMHg0NCwweDgwLDB4ZjAsMHg0MywweDg3LDB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjJ9IH0sCi17ICAxNiwweDA3YWEsMCx7MHhjMCwweGQwLDB4YzAsMHhlMCwweDhmLDB4ZTAsMHhjMCwweGUwLDB4OGUsMHhlMCwweGMwLDB4ZTAsMHg4ZCwweGUwLDB4YzAsMHhlMH0gfSwKLXsgIDE2LDB4MDdiYSwwLHsweDhjLDB4ZTAsMHhjMCwweGUwLDB4YzAsMHg4MiwweGMwLDB4ODMsMHgwNSwweDg2LDB4YzAsMHg4NCwweGMwLDB4ODUsMHhlNSwweDE4fSB9LAoteyAgMTYsMHgwN2NhLDAsezB4YjQsMHgwMiwweDAzLDB4MDIsMHgwNywweGQ5LDB4YjQsMHgwMSwweDAzLDB4MDIsMHgwNywweGRlLDB4MDIsMHgwNywweGZhLDB4N2R9IH0sCi17ICAxNiwweDA3ZGEsMCx7MHgwMSwweDAyLDB4MDgsMHgxNiwweGU1LDB4MTksMHgxNCwweGY1LDB4MTksMHhjMywweGI1LDB4MTMsMHgwMywweDAyLDB4MDcsMHhmNX0gfSwKLXsgIDE2LDB4MDdlYSwwLHsweDUwLDB4MDksMHhiNCwweDAwLDB4ZWEsMHg3NSwweDE5LDB4MGEsMHgwMiwweDA3LDB4ZDksMHg3ZCwweDAwLDB4MDIsMHgwOCwweDE2fSB9LAoteyAgMTYsMHgwN2ZhLDAsezB4ZTUsMHgxOSwweDE0LDB4ZjUsMHgxOSwweGMzLDB4YjUsMHgxNCwweDAzLDB4MDIsMHgwOCwweDExLDB4NTAsMHgwOSwweGI0LDB4MDB9IH0sCi17ICAxNiwweDA4MGEsMCx7MHhjZSwweDc1LDB4MTksMHgwYSwweDAyLDB4MDcsMHhkOSwweDdkLDB4MDIsMHgwMiwweDA4LDB4MTYsMHg3YywweDA1LDB4OTAsMHg3Zn0gfSwKLXsgIDE2LDB4MDgxYSwwLHsweDk5LDB4ZTAsMHg1NCwweDQwLDB4ZGMsMHgwMywweDAyLDB4MDgsMHg0MywweGI0LDB4MDAsMHgxZCwweDkwLDB4N2YsMHhlMywweDc0fSB9LAoteyAgMTYsMHgwODJhLDAsezB4N2IsMHhmMCwweGEzLDB4NzQsMHg4MCwweGYwLDB4OTAsMHg3ZiwweGUyLDB4NzQsMHg0MCwweGYwLDB4OTAsMHg3ZiwweGU1LDB4ZjB9IH0sCi17ICAxNiwweDA4M2EsMCx7MHg5MCwweDdmLDB4ZTIsMHg3NCwweDAwLDB4ZjAsMHgwMiwweDA4LDB4MTgsMHgwNSwweDg2LDB4OTAsMHg3ZiwweGUyLDB4NzQsMHg4MH0gfSwKLXsgIDE2LDB4MDg0YSwwLHsweGYwLDB4OTAsMHg3OSwweDY1LDB4ZTAsMHhiNCwweDAxLDB4MDMsMHgwMiwweDA4LDB4OWUsMHhiNCwweDAyLDB4MDMsMHgwMiwweDA4fSB9LAoteyAgMTYsMHgwODVhLDAsezB4OTYsMHhiNCwweDAzLDB4MDMsMHgwMiwweDA4LDB4OGUsMHhiNCwweDA0LDB4MDMsMHgwMiwweDA4LDB4ODYsMHhiNCwweDA1LDB4MDN9IH0sCi17ICAxNiwweDA4NmEsMCx7MHgwMiwweDA4LDB4N2UsMHhiNCwweDA2LDB4MDMsMHgwMiwweDA4LDB4NzYsMHgwMiwweDA4LDB4ZjQsMHgwNSwweDg2LDB4OTAsMHg3Zn0gfSwKLXsgIDE2LDB4MDg3YSwwLHsweDZjLDB4MDIsMHgwOCwweGU5LDB4MDUsMHg4NiwweDkwLDB4N2YsMHg2YywweDAyLDB4MDgsMHhkZCwweDA1LDB4ODYsMHg5MCwweDdmfSB9LAoteyAgMTYsMHgwODhhLDAsezB4NmMsMHgwMiwweDA4LDB4Y2YsMHgwNSwweDg2LDB4OTAsMHg3ZiwweDZjLDB4MDIsMHgwOCwweGMwLDB4MDUsMHg4NiwweDkwLDB4N2Z9IH0sCi17ICAxNiwweDA4OWEsMCx7MHg2YywweDAyLDB4MDgsMHhiMiwweDA1LDB4ODYsMHg5MCwweDdmLDB4NmMsMHhmMCwweDAwLDB4ZjAsMHgwMCwweGYwLDB4MDAsMHhmMH0gfSwKLXsgIDE2LDB4MDhhYSwwLHsweDBkLDB4ZWQsMHhiNCwweDJkLDB4ZjQsMHgwMiwweDA4LDB4ZjQsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHgwZCwweGVkfSB9LAoteyAgMTYsMHgwOGJhLDAsezB4YjQsMHgyZCwweGY1LDB4MDIsMHgwOCwweGY0LDB4ZjAsMHgwMCwweGYwLDB4MDAsMHhmMCwweDAwLDB4ZjAsMHgwZCwweGVkLDB4YjR9IH0sCi17ICAxNiwweDA4Y2EsMCx7MHgzMSwweGY0LDB4MDIsMHgwOCwweGY0LDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4MGQsMHhlZCwweGI0LDB4MzEsMHhmNX0gfSwKLXsgIDE2LDB4MDhkYSwwLHsweDAyLDB4MDgsMHhmNCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4MGQsMHhlZCwweGI0LDB4NjEsMHhmNywweDAyLDB4MDgsMHhmNCwweGYwfSB9LAoteyAgMTYsMHgwOGVhLDAsezB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweDBkLDB4ZWQsMHhiNCwweDYxLDB4ZjUsMHg5MCwweDdmLDB4ZTIsMHg3NCwweDAwLDB4ZjB9IH0sCi17ICAxNiwweDA4ZmEsMCx7MHhkMCwweDg1LDB4ZDAsMHg4NCwweDA1LDB4ODYsMHhkMCwweDgzLDB4ZDAsMHg4MiwweGQwLDB4ZTAsMHhmYywweGQwLDB4ZTAsMHhmZH0gfSwKLXsgICA1LDB4MDkwYSwwLHsweGQwLDB4ZTAsMHhmZSwweGQwLDB4ZTB9IH0sCi17ICAgNiwweDA5MGYsMCx7MHhmZiwweGQwLDB4ZTAsMHhkMCwweGQwLDB4MjJ9IH0sCi17ICAxNiwweDA5MTUsMCx7MHhjMCwweGQwLDB4YzAsMHhlMCwweGMwLDB4ODIsMHhjMCwweDgzLDB4OTAsMHg3ZiwweDZmLDB4ZTUsMHgwYywweGYwLDB4ZTUsMHgwZH0gfSwKLXsgIDEzLDB4MDkyNSwwLHsweGYwLDB4ZTUsMHgwZSwweGYwLDB4ZDAsMHg4MywweGQwLDB4ODIsMHhkMCwweGUwLDB4ZDAsMHhkMCwweDIyfSB9LAoteyAgMTYsMHgwOTMyLDAsezB4YzAsMHhkMCwweGMwLDB4ZTAsMHg4ZiwweGUwLDB4YzAsMHhlMCwweDhlLDB4ZTAsMHhjMCwweGUwLDB4YzAsMHg4MiwweGMwLDB4ODN9IH0sCi17ICAxNiwweDA5NDIsMCx7MHgwNSwweDg2LDB4YzAsMHg4NCwweGMwLDB4ODUsMHg5MCwweDc5LDB4NzAsMHhlMCwweGZmLDB4YmYsMHgwMCwweDAzLDB4MDIsMHgwYX0gfSwKLXsgIDE2LDB4MDk1MiwwLHsweGI4LDB4OTAsMHg3ZiwweDk2LDB4ZTAsMHg0NCwweDgwLDB4ZjAsMHg5MCwweDdmLDB4ZTIsMHg3NCwweDgwLDB4ZjAsMHg5MCwweDdmfSB9LAoteyAgMTYsMHgwOTYyLDAsezB4NjIsMHhlMCwweDA1LDB4ODYsMHg5MCwweDdmLDB4ZTIsMHg3NCwweDAwLDB4ZjAsMHg5MCwweDdmLDB4OTYsMHhlMCwweDU0LDB4N2Z9IH0sCi17ICAxNiwweDA5NzIsMCx7MHhmMCwweDkwLDB4N2YsMHhlMiwweDc0LDB4ODAsMHhmMCwweDkwLDB4NzksMHg4OCwweGUwLDB4YjQsMHgwMSwweDAzLDB4MDIsMHgwOX0gfSwKLXsgIDE2LDB4MDk4MiwwLHsweGJlLDB4YjQsMHgwMiwweDAzLDB4MDIsMHgwOSwweGMzLDB4YjQsMHgwMywweDAzLDB4MDIsMHgwOSwweGFjLDB4YjQsMHgwNCwweDAzfSB9LAoteyAgMTYsMHgwOTkyLDAsezB4MDIsMHgwOSwweDlhLDB4MDUsMHg4NiwweDAyLDB4MGEsMHhiMiwweGVmLDB4NTQsMHgwMywweGZlLDB4ZWYsMHgwMywweDAzLDB4NTR9IH0sCi17ICAxNiwweDA5YTIsMCx7MHgzZiwweGZmLDB4OTAsMHg3ZiwweDYzLDB4MDUsMHg4NiwweDAyLDB4MDksMHhjOSwweGVmLDB4NTQsMHgwMywweGZlLDB4ZWYsMHgwM30gfSwKLXsgIDE2LDB4MDliMiwwLHsweDAzLDB4NTQsMHgzZiwweGZmLDB4OTAsMHg3ZiwweDYzLDB4MDUsMHg4NiwweDAyLDB4MGEsMHgzNiwweDA1LDB4ODYsMHgwMiwweDBhfSB9LAoteyAgMTYsMHgwOWMyLDAsezB4YTUsMHgwNSwweDg2LDB4MDIsMHgwYSwweDhlLDB4ZTAsMHhlMCwweGUwLDB4ZTAsMHhlMCwweGUwLDB4MDUsMHg4NiwweGUwLDB4ZTB9IH0sCi17ICAxNiwweDA5ZDIsMCx7MHhlMCwweDA1LDB4ODYsMHhlMCwweGUwLDB4ZTAsMHhlMCwweGUwLDB4ZTAsMHgwNSwweDg2LDB4ZTAsMHhlMCwweGUwLDB4MDUsMHg4Nn0gfSwKLXsgIDE2LDB4MDllMiwwLHsweGUwLDB4ZTAsMHhlMCwweGUwLDB4ZTAsMHhlMCwweDA1LDB4ODYsMHhlMCwweGUwLDB4ZTAsMHgwNSwweDg2LDB4ZTAsMHhlMCwweGUwfSB9LAoteyAgMTYsMHgwOWYyLDAsezB4ZTAsMHhlMCwweGUwLDB4MDUsMHg4NiwweGUwLDB4ZTAsMHhlMCwweDA1LDB4ODYsMHhkZiwweGNhLDB4ZWUsMHhiNCwweDAwLDB4MDN9IH0sCi17ICAxNiwweDBhMDIsMCx7MHgwMiwweDBhLDB4YjIsMHhiNCwweDAxLDB4MDMsMHgwMiwweDBhLDB4MjUsMHhlMCwweGUwLDB4ZTAsMHhlMCwweGUwLDB4ZTAsMHgwNX0gfSwKLXsgIDE2LDB4MGExMiwwLHsweDg2LDB4ZTAsMHhlMCwweGUwLDB4MDUsMHg4NiwweGUwLDB4ZTAsMHhlMCwweGUwLDB4ZTAsMHhlMCwweDA1LDB4ODYsMHhlMCwweGUwfSB9LAoteyAgMTYsMHgwYTIyLDAsezB4ZTAsMHgwNSwweDg2LDB4ZTAsMHhlMCwweGUwLDB4ZTAsMHhlMCwweGUwLDB4MDUsMHg4NiwweGUwLDB4ZTAsMHhlMCwweDA1LDB4ODZ9IH0sCi17ICAxNiwweDBhMzIsMCx7MHgwMiwweDBhLDB4YjIsMHhlMCwweGUwLDB4ZTAsMHhlMCwweDA1LDB4ODYsMHhlMCwweGUwLDB4MDUsMHg4NiwweGUwLDB4ZTAsMHhlMH0gfSwKLXsgIDEzLDB4MGE0MiwwLHsweGUwLDB4MDUsMHg4NiwweGUwLDB4ZTAsMHgwNSwweDg2LDB4ZTAsMHhlMCwweGUwLDB4ZTAsMHgwNSwweDg2fSB9LAoteyAgMTYsMHgwYTRmLDAsezB4ZTAsMHhlMCwweDA1LDB4ODYsMHhlMCwweGUwLDB4ZTAsMHhlMCwweDA1LDB4ODYsMHhlMCwweGUwLDB4MDUsMHg4NiwweGRmLDB4ZDZ9IH0sCi17ICAxNiwweDBhNWYsMCx7MHhlZSwweGI0LDB4MDAsMHgwMywweDAyLDB4MGEsMHhiMiwweGI0LDB4MDEsMHgwMywweDAyLDB4MGEsMHg4MCwweGUwLDB4ZTAsMHhlMH0gfSwKLXsgIDE2LDB4MGE2ZiwwLHsweGUwLDB4MDUsMHg4NiwweGUwLDB4ZTAsMHgwNSwweDg2LDB4ZTAsMHhlMCwweGUwLDB4ZTAsMHgwNSwweDg2LDB4ZTAsMHhlMCwweDA1fSB9LAoteyAgMTYsMHgwYTdmLDAsezB4ODYsMHhlMCwweGUwLDB4ZTAsMHhlMCwweDA1LDB4ODYsMHhlMCwweGUwLDB4MDUsMHg4NiwweDAyLDB4MGEsMHhiMiwweGUwLDB4ZTB9IH0sCi17ICAxNiwweDBhOGYsMCx7MHhlMCwweGUwLDB4ZTAsMHhlMCwweGUwLDB4ZTAsMHhlMCwweGUwLDB4ZTAsMHhlMCwweGUwLDB4ZTAsMHhlMCwweGUwLDB4ZTAsMHhlMH0gfSwKLXsgIDE2LDB4MGE5ZiwwLHsweGRmLDB4ZWMsMHgwMiwweDBhLDB4YjIsMHhlMCwweGUwLDB4ZTAsMHhlMCwweGUwLDB4ZTAsMHhlMCwweGUwLDB4ZTAsMHhlMCwweGUwfSB9LAoteyAgMTYsMHgwYWFmLDAsezB4ZTAsMHhkZiwweGYyLDB4OTAsMHg3ZiwweGUyLDB4NzQsMHgwMCwweGYwLDB4ZDAsMHg4NSwweGQwLDB4ODQsMHgwNSwweDg2LDB4ZDB9IH0sCi17ICAxNCwweDBhYmYsMCx7MHg4MywweGQwLDB4ODIsMHhkMCwweGUwLDB4ZmUsMHhkMCwweGUwLDB4ZmYsMHhkMCwweGUwLDB4ZDAsMHhkMCwweDIyfSB9LAoteyAgMTYsMHgwYWNkLDAsezB4YzAsMHg4MiwweGMwLDB4ODMsMHhjMCwweGUwLDB4ZTgsMHhjMCwweGUwLDB4NzgsMHhkMSwweGU4LDB4MTQsMHhmOCwweDcwLDB4ZmJ9IH0sCi17ICAxMCwweDBhZGQsMCx7MHhkMCwweGUwLDB4ZjgsMHhkMCwweGUwLDB4ZDAsMHg4MywweGQwLDB4ODIsMHgyMn0gfSwKLXsgIDE2LDB4MGFlNywwLHsweGMwLDB4ZDAsMHhjMCwweGUwLDB4OGYsMHhlMCwweGMwLDB4ZTAsMHg4ZSwweGUwLDB4YzAsMHhlMCwweDhkLDB4ZTAsMHhjMCwweGUwfSB9LAoteyAgMTYsMHgwYWY3LDAsezB4OGMsMHhlMCwweGMwLDB4ZTAsMHg3NSwweDg2LDB4MDAsMHhjMCwweDgyLDB4YzAsMHg4MywweDA1LDB4ODYsMHhjMCwweDg0LDB4YzB9IH0sCi17ICAxNiwweDBiMDcsMCx7MHg4NSwweDdlLDB4MDAsMHg5MCwweDc5LDB4OGUsMHhlMCwweGI0LDB4MDAsMHgxNiwweDc0LDB4MDEsMHhmMCwweDkwLDB4MDYsMHhjYX0gfSwKLXsgIDE2LDB4MGIxNywwLHsweGEzLDB4YTMsMHhhMywweGEzLDB4YTMsMHhhMywweGEzLDB4ZTAsMHhmZiwweDkwLDB4NzksMHg4ZCwweGYwLDB4MDIsMHgwYiwweDM5fSB9LAoteyAgMTYsMHgwYjI3LDAsezB4OTAsMHg3OSwweDhkLDB4ZTAsMHhmZiwweDkwLDB4NzksMHg4ZiwweGUwLDB4ZmQsMHg5MCwweDc5LDB4OTAsMHhlMCwweGZjLDB4MDJ9IH0sCi17ICAxNiwweDBiMzcsMCx7MHgwYiwweDQ2LDB4OTAsMHgwNiwweGNhLDB4MDUsMHg4NiwweDkwLDB4N2YsMHgwMCwweDA1LDB4ODYsMHgwMiwweDBiLDB4NTEsMHg4ZH0gfSwKLXsgIDE2LDB4MGI0NywwLHsweDg0LDB4OGMsMHg4NSwweDA1LDB4ODYsMHg5MCwweDdmLDB4MDAsMHgwNSwweDg2LDB4ZTAsMHhhMywweDA1LDB4ODYsMHhmMCwweGEzfSB9LAoteyAgMTYsMHgwYjU3LDAsezB4MGUsMHhlZSwweGI0LDB4NDAsMHgwMywweDAyLDB4MGIsMHg2YywweDA1LDB4ODYsMHhkZiwweGVlLDB4OTAsMHg3OSwweDhlLDB4NzR9IH0sCi17ICAxNiwweDBiNjcsMCx7MHgwMCwweGYwLDB4MDIsMHgwYiwweDgyLDB4MDUsMHg4NiwweGFkLDB4ODQsMHhhYywweDg1LDB4OTAsMHg3OSwweDhmLDB4ZWQsMHhmMH0gfSwKLXsgIDE2LDB4MGI3NywwLHsweDkwLDB4NzksMHg5MCwweGVjLDB4ZjAsMHg5MCwweDc5LDB4OGQsMHgxZiwweGVmLDB4ZjAsMHg5MCwweDdmLDB4YjUsMHhlZSwweGYwfSB9LAoteyAgMTYsMHgwYjg3LDAsezB4ZDAsMHg4NSwweGQwLDB4ODQsMHgwNSwweDg2LDB4ZDAsMHg4MywweGQwLDB4ODIsMHhkMCwweGUwLDB4ZmMsMHhkMCwweGUwLDB4ZmR9IH0sCi17ICAxMSwweDBiOTcsMCx7MHhkMCwweGUwLDB4ZmUsMHhkMCwweGUwLDB4ZmYsMHhkMCwweGUwLDB4ZDAsMHhkMCwweDIyfSB9LAoteyAgMTYsMHgwYmEyLDAsezB4YzAsMHhkMCwweGMwLDB4ZTAsMHhjMCwweDgyLDB4YzAsMHg4MywweDkwLDB4N2YsMHhhZSwweGUwLDB4NTQsMHhlMCwweGYwLDB4OTB9IH0sCi17ICAxNiwweDBiYjIsMCx7MHg3ZiwweDk2LDB4ZTAsMHg0NCwweDA4LDB4NTQsMHhmYiwweGYwLDB4OTAsMHg3ZiwweDk3LDB4ZTAsMHg1NCwweGJmLDB4ZjAsMHg5MH0gfSwKLXsgIDE2LDB4MGJjMiwwLHsweDdmLDB4ZTMsMHg3NCwweDdiLDB4ZjAsMHg5MCwweDdmLDB4ZTQsMHg3NCwweDQwLDB4ZjAsMHg5MCwweDc5LDB4NzgsMHhlMCwweDkwfSB9LAoteyAgMTYsMHgwYmQyLDAsezB4N2IsMHg0MCwweGYwLDB4OTAsMHg3ZiwweGUyLDB4NzQsMHg0OCwweGYwLDB4OTAsMHg3ZiwweGU1LDB4ZTAsMHg5MCwweDdmLDB4ZTJ9IH0sCi17ICAxNiwweDBiZTIsMCx7MHg3NCwweDAwLDB4ZjAsMHg5MCwweDdmLDB4OTYsMHhlMCwweDU0LDB4ZjcsMHg0NCwweDA0LDB4ZjAsMHg5MCwweDdmLDB4ZTMsMHg3NH0gfSwKLXsgIDE2LDB4MGJmMiwwLHsweDdiLDB4ZjAsMHg5MCwweDdmLDB4ZTQsMHg3NCwweDQwLDB4ZjAsMHg5MCwweDc5LDB4NzksMHhlMCwweDkwLDB4N2IsMHg0MCwweGYwfSB9LAoteyAgMTYsMHgwYzAyLDAsezB4OTAsMHg3ZiwweGUyLDB4NzQsMHg0OCwweGYwLDB4OTAsMHg3ZiwweGU1LDB4ZTAsMHg5MCwweDdmLDB4ZTIsMHg3NCwweDAwLDB4ZjB9IH0sCi17ICAxNiwweDBjMTIsMCx7MHg5MCwweDdmLDB4OTYsMHhlMCwweDU0LDB4ZjMsMHhmMCwweDkwLDB4N2YsMHhhZSwweGUwLDB4NDQsMHgxZiwweGYwLDB4ZDAsMHg4M30gfSwKLXsgICA3LDB4MGMyMiwwLHsweGQwLDB4ODIsMHhkMCwweGUwLDB4ZDAsMHhkMCwweDIyfSB9LAoteyAgMTYsMHgwYzI5LDAsezB4YzAsMHhkMCwweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweDkwLDB4NzksMHgyZiwweGUwLDB4NjQsMHhmZiwweGMzLDB4MjR9IH0sCi17ICAxMSwweDBjMzksMCx7MHgwMSwweGYwLDB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4ZDAsMHhkMCwweDIyfSB9LAoteyAgMTYsMHgwYzQ0LDAsezB4YmIsMHgwMSwweDA2LDB4ODksMHg4MiwweDhhLDB4ODMsMHhlMCwweDIyLDB4NTAsMHgwMiwweGU3LDB4MjIsMHhiYiwweGZlLDB4MDJ9IH0sCi17ICAgOSwweDBjNTQsMCx7MHhlMywweDIyLDB4ODksMHg4MiwweDhhLDB4ODMsMHhlNCwweDkzLDB4MjJ9IH0sCi17ICAxNiwweDBjNWQsMCx7MHhiYiwweDAxLDB4MGMsMHhlNSwweDgyLDB4MjksMHhmNSwweDgyLDB4ZTUsMHg4MywweDNhLDB4ZjUsMHg4MywweGUwLDB4MjIsMHg1MH0gfSwKLXsgIDE2LDB4MGM2ZCwwLHsweDA2LDB4ZTksMHgyNSwweDgyLDB4ZjgsMHhlNiwweDIyLDB4YmIsMHhmZSwweDA2LDB4ZTksMHgyNSwweDgyLDB4ZjgsMHhlMiwweDIyfSB9LAoteyAgMTMsMHgwYzdkLDAsezB4ZTUsMHg4MiwweDI5LDB4ZjUsMHg4MiwweGU1LDB4ODMsMHgzYSwweGY1LDB4ODMsMHhlNCwweDkzLDB4MjJ9IH0sCi17ICAxNiwweDBjOGEsMCx7MHhiYiwweDAxLDB4MDYsMHg4OSwweDgyLDB4OGEsMHg4MywweGYwLDB4MjIsMHg1MCwweDAyLDB4ZjcsMHgyMiwweGJiLDB4ZmUsMHgwMX0gfSwKLXsgICAyLDB4MGM5YSwwLHsweGYzLDB4MjJ9IH0sCi17ICAxNiwweDBjOWMsMCx7MHhmOCwweGJiLDB4MDEsMHgwZCwweGU1LDB4ODIsMHgyOSwweGY1LDB4ODIsMHhlNSwweDgzLDB4M2EsMHhmNSwweDgzLDB4ZTgsMHhmMH0gfSwKLXsgIDE2LDB4MGNhYywwLHsweDIyLDB4NTAsMHgwNiwweGU5LDB4MjUsMHg4MiwweGM4LDB4ZjYsMHgyMiwweGJiLDB4ZmUsMHgwNSwweGU5LDB4MjUsMHg4MiwweGM4fSB9LAoteyAgIDIsMHgwY2JjLDAsezB4ZjIsMHgyMn0gfSwKLXsgIDE2LDB4MGNiZSwwLHsweGMyLDB4ZDUsMHhlYywweDMwLDB4ZTcsMHgwOSwweGIyLDB4ZDUsMHhlNCwweGMzLDB4OWQsMHhmZCwweGU0LDB4OWMsMHhmYywweGVlfSB9LAoteyAgMTYsMHgwY2NlLDAsezB4MzAsMHhlNywweDE1LDB4YjIsMHhkNSwweGU0LDB4YzMsMHg5ZiwweGZmLDB4ZTQsMHg5ZSwweGZlLDB4MTIsMHgwZSwweDQwLDB4YzN9IH0sCi17ICAxNiwweDBjZGUsMCx7MHhlNCwweDlkLDB4ZmQsMHhlNCwweDljLDB4ZmMsMHg4MCwweDAzLDB4MTIsMHgwZSwweDQwLDB4MzAsMHhkNSwweDA3LDB4YzMsMHhlNH0gfSwKLXsgICA2LDB4MGNlZSwwLHsweDlmLDB4ZmYsMHhlNCwweDllLDB4ZmUsMHgyMn0gfSwKLXsgIDE2LDB4MGNmNCwwLHsweGM1LDB4ZjAsMHhmOCwweGEzLDB4ZTAsMHgyOCwweGYwLDB4YzUsMHhmMCwweGY4LDB4ZTUsMHg4MiwweDE1LDB4ODIsMHg3MCwweDAyfSB9LAoteyAgIDYsMHgwZDA0LDAsezB4MTUsMHg4MywweGUwLDB4MzgsMHhmMCwweDIyfSB9LAoteyAgMTYsMHgwZDBhLDAsezB4YmIsMHgwMSwweDEwLDB4ZTUsMHg4MiwweDI5LDB4ZjUsMHg4MiwweGU1LDB4ODMsMHgzYSwweGY1LDB4ODMsMHhlMCwweGY1LDB4ZjB9IH0sCi17ICAxNiwweDBkMWEsMCx7MHhhMywweGUwLDB4MjIsMHg1MCwweDA5LDB4ZTksMHgyNSwweDgyLDB4ZjgsMHg4NiwweGYwLDB4MDgsMHhlNiwweDIyLDB4YmIsMHhmZX0gfSwKLXsgIDE2LDB4MGQyYSwwLHsweDBhLDB4ZTksMHgyNSwweDgyLDB4ZjgsMHhlMiwweGY1LDB4ZjAsMHgwOCwweGUyLDB4MjIsMHhlNSwweDgzLDB4MmEsMHhmNSwweDgzfSB9LAoteyAgIDgsMHgwZDNhLDAsezB4ZTksMHg5MywweGY1LDB4ZjAsMHhhMywweGU5LDB4OTMsMHgyMn0gfSwKLXsgIDE2LDB4MGQ0MiwwLHsweGU4LDB4OGYsMHhmMCwweGE0LDB4Y2MsMHg4YiwweGYwLDB4YTQsMHgyYywweGZjLDB4ZTksMHg4ZSwweGYwLDB4YTQsMHgyYywweGZjfSB9LAoteyAgMTYsMHgwZDUyLDAsezB4OGEsMHhmMCwweGVkLDB4YTQsMHgyYywweGZjLDB4ZWEsMHg4ZSwweGYwLDB4YTQsMHhjZCwweGE4LDB4ZjAsMHg4YiwweGYwLDB4YTR9IH0sCi17ICAxNiwweDBkNjIsMCx7MHgyZCwweGNjLDB4MzgsMHgyNSwweGYwLDB4ZmQsMHhlOSwweDhmLDB4ZjAsMHhhNCwweDJjLDB4Y2QsMHgzNSwweGYwLDB4ZmMsMHhlYn0gfSwKLXsgIDE2LDB4MGQ3MiwwLHsweDhlLDB4ZjAsMHhhNCwweGZlLDB4YTksMHhmMCwweGViLDB4OGYsMHhmMCwweGE0LDB4Y2YsMHhjNSwweGYwLDB4MmUsMHhjZCwweDM5fSB9LAoteyAgMTUsMHgwZDgyLDAsezB4ZmUsMHhlNCwweDNjLDB4ZmMsMHhlYSwweGE0LDB4MmQsMHhjZSwweDM1LDB4ZjAsMHhmZCwweGU0LDB4M2MsMHhmYywweDIyfSB9LAoteyAgMTYsMHgwZDkxLDAsezB4ZWIsMHg5ZiwweGY1LDB4ZjAsMHhlYSwweDllLDB4NDIsMHhmMCwweGU5LDB4OWQsMHg0MiwweGYwLDB4ZTgsMHg5YywweDQ1LDB4ZjB9IH0sCi17ICAgMSwweDBkYTEsMCx7MHgyMn0gfSwKLXsgIDE2LDB4MGRhMiwwLHsweGJiLDB4MDEsMHgwZCwweGU1LDB4ODIsMHgyOSwweGY1LDB4ODIsMHhlNSwweDgzLDB4M2EsMHhmNSwweDgzLDB4MDIsMHgwZSwweGExfSB9LAoteyAgMTYsMHgwZGIyLDAsezB4NTAsMHgwNywweGU5LDB4MjUsMHg4MiwweGY4LDB4MDIsMHgwZSwweDk1LDB4YmIsMHhmZSwweDA3LDB4ZTksMHgyNSwweDgyLDB4Zjh9IH0sCi17ICAxNiwweDBkYzIsMCx7MHgwMiwweDBlLDB4YWQsMHhlNSwweDgyLDB4MjksMHhmNSwweDgyLDB4ZTUsMHg4MywweDNhLDB4ZjUsMHg4MywweDAyLDB4MGUsMHhiOX0gfSwKLXsgIDE2LDB4MGRkMiwwLHsweGJiLDB4MDEsMHgwZCwweGU1LDB4ODIsMHgyOSwweGY1LDB4ODIsMHhlNSwweDgzLDB4M2EsMHhmNSwweDgzLDB4MDIsMHgwZSwweGQ1fSB9LAoteyAgMTYsMHgwZGUyLDAsezB4NTAsMHgwNywweGU5LDB4MjUsMHg4MiwweGY4LDB4MDIsMHgwZSwweGM5LDB4YmIsMHhmZSwweDA3LDB4ZTksMHgyNSwweDgyLDB4Zjh9IH0sCi17ICAgNCwweDBkZjIsMCx7MHgwMiwweDBlLDB4ZTEsMHgyMn0gfSwKLXsgIDE2LDB4MGRmNiwwLHsweGJiLDB4MDEsMHgwZCwweGU1LDB4ODIsMHgyOSwweGY1LDB4ODIsMHhlNSwweDgzLDB4M2EsMHhmNSwweDgzLDB4MDIsMHgwZiwweDA2fSB9LAoteyAgMTYsMHgwZTA2LDAsezB4NTAsMHgwNywweGU5LDB4MjUsMHg4MiwweGY4LDB4MDIsMHgwZSwweGVkLDB4YmIsMHhmZSwweDA3LDB4ZTksMHgyNSwweDgyLDB4Zjh9IH0sCi17ICAgNCwweDBlMTYsMCx7MHgwMiwweDBmLDB4MzcsMHgyMn0gfSwKLXsgIDE2LDB4MGUxYSwwLHsweGQwLDB4ODMsMHhkMCwweDgyLDB4ZjgsMHhlNCwweDkzLDB4NzAsMHgxMiwweDc0LDB4MDEsMHg5MywweDcwLDB4MGQsMHhhMywweGEzfSB9LAoteyAgMTYsMHgwZTJhLDAsezB4OTMsMHhmOCwweDc0LDB4MDEsMHg5MywweGY1LDB4ODIsMHg4OCwweDgzLDB4ZTQsMHg3MywweDc0LDB4MDIsMHg5MywweDY4LDB4NjB9IH0sCi17ICAgNiwweDBlM2EsMCx7MHhlZiwweGEzLDB4YTMsMHhhMywweDgwLDB4ZGZ9IH0sCi17ICAxNiwweDBlNDAsMCx7MHhiYywweDAwLDB4MGIsMHhiZSwweDAwLDB4MjksMHhlZiwweDhkLDB4ZjAsMHg4NCwweGZmLDB4YWQsMHhmMCwweDIyLDB4ZTQsMHhjY30gfSwKLXsgIDE2LDB4MGU1MCwwLHsweGY4LDB4NzUsMHhmMCwweDA4LDB4ZWYsMHgyZiwweGZmLDB4ZWUsMHgzMywweGZlLDB4ZWMsMHgzMywweGZjLDB4ZWUsMHg5ZCwweGVjfSB9LAoteyAgMTYsMHgwZTYwLDAsezB4OTgsMHg0MCwweDA1LDB4ZmMsMHhlZSwweDlkLDB4ZmUsMHgwZiwweGQ1LDB4ZjAsMHhlOSwweGU0LDB4Y2UsMHhmZCwweDIyLDB4ZWR9IH0sCi17ICAxNiwweDBlNzAsMCx7MHhmOCwweGY1LDB4ZjAsMHhlZSwweDg0LDB4MjAsMHhkMiwweDFjLDB4ZmUsMHhhZCwweGYwLDB4NzUsMHhmMCwweDA4LDB4ZWYsMHgyZn0gfSwKLXsgIDE2LDB4MGU4MCwwLHsweGZmLDB4ZWQsMHgzMywweGZkLDB4NDAsMHgwNywweDk4LDB4NTAsMHgwNiwweGQ1LDB4ZjAsMHhmMiwweDIyLDB4YzMsMHg5OCwweGZkfSB9LAoteyAgIDUsMHgwZTkwLDAsezB4MGYsMHhkNSwweGYwLDB4ZWEsMHgyMn0gfSwKLXsgIDEyLDB4MGU5NSwwLHsweGU2LDB4ZmMsMHgwOCwweGU2LDB4ZmQsMHgwOCwweGU2LDB4ZmUsMHgwOCwweGU2LDB4ZmYsMHgyMn0gfSwKLXsgIDEyLDB4MGVhMSwwLHsweGUwLDB4ZmMsMHhhMywweGUwLDB4ZmQsMHhhMywweGUwLDB4ZmUsMHhhMywweGUwLDB4ZmYsMHgyMn0gfSwKLXsgIDEyLDB4MGVhZCwwLHsweGUyLDB4ZmMsMHgwOCwweGUyLDB4ZmQsMHgwOCwweGUyLDB4ZmUsMHgwOCwweGUyLDB4ZmYsMHgyMn0gfSwKLXsgIDE2LDB4MGViOSwwLHsweGU0LDB4OTMsMHhmYywweGEzLDB4ZTQsMHg5MywweGZkLDB4YTMsMHhlNCwweDkzLDB4ZmUsMHhhMywweGU0LDB4OTMsMHhmZiwweDIyfSB9LAoteyAgMTIsMHgwZWM5LDAsezB4ZWMsMHhmNiwweDA4LDB4ZWQsMHhmNiwweDA4LDB4ZWUsMHhmNiwweDA4LDB4ZWYsMHhmNiwweDIyfSB9LAoteyAgMTIsMHgwZWQ1LDAsezB4ZWMsMHhmMCwweGEzLDB4ZWQsMHhmMCwweGEzLDB4ZWUsMHhmMCwweGEzLDB4ZWYsMHhmMCwweDIyfSB9LAoteyAgMTIsMHgwZWUxLDAsezB4ZWMsMHhmMiwweDA4LDB4ZWQsMHhmMiwweDA4LDB4ZWUsMHhmMiwweDA4LDB4ZWYsMHhmMiwweDIyfSB9LAoteyAgMTYsMHgwZWVkLDAsezB4ZDAsMHg4MywweGQwLDB4ODIsMHhlNCwweDkzLDB4ZjYsMHgwOCwweDc0LDB4MDEsMHg5MywweGY2LDB4MDgsMHg3NCwweDAyLDB4OTN9IH0sCi17ICAgOSwweDBlZmQsMCx7MHhmNiwweDA4LDB4NzQsMHgwMywweDkzLDB4ZjYsMHg3NCwweDA0LDB4NzN9IH0sCi17ICAxNiwweDBmMDYsMCx7MHhhOCwweDgyLDB4ODUsMHg4MywweGYwLDB4ZDAsMHg4MywweGQwLDB4ODIsMHgxMiwweDBmLDB4MWQsMHgxMiwweDBmLDB4MWQsMHgxMn0gfSwKLXsgIDE2LDB4MGYxNiwwLHsweDBmLDB4MWQsMHgxMiwweDBmLDB4MWQsMHhlNCwweDczLDB4ZTQsMHg5MywweGEzLDB4YzUsMHg4MywweGM1LDB4ZjAsMHhjNSwweDgzfSB9LAoteyAgMTYsMHgwZjI2LDAsezB4YzgsMHhjNSwweDgyLDB4YzgsMHhmMCwweGEzLDB4YzUsMHg4MywweGM1LDB4ZjAsMHhjNSwweDgzLDB4YzgsMHhjNSwweDgyLDB4Yzh9IH0sCi17ICAgMSwweDBmMzYsMCx7MHgyMn0gfSwKLXsgIDE2LDB4MGYzNywwLHsweGQwLDB4ODMsMHhkMCwweDgyLDB4ZTQsMHg5MywweGYyLDB4MDgsMHg3NCwweDAxLDB4OTMsMHhmMiwweDA4LDB4NzQsMHgwMiwweDkzfSB9LAoteyAgIDksMHgwZjQ3LDAsezB4ZjIsMHgwOCwweDc0LDB4MDMsMHg5MywweGYyLDB4NzQsMHgwNCwweDczfSB9LAoteyAgMTYsMHgwZjUwLDAsezB4YzIsMHhhZiwweGQyLDB4MmMsMHg5MCwweDdmLDB4OTMsMHg3NCwweDMwLDB4ZjAsMHg5MCwweDdmLDB4OWMsMHg3NCwweGJmLDB4ZjB9IH0sCi17ICAxNiwweDBmNjAsMCx7MHg5MCwweDdmLDB4OTYsMHhlMCwweDU0LDB4MzAsMHhmMCwweDkwLDB4N2YsMHg5NCwweDc0LDB4MzAsMHhmMCwweDkwLDB4N2YsMHg5ZH0gfSwKLXsgIDE2LDB4MGY3MCwwLHsweDc0LDB4Y2YsMHhmMCwweDkwLDB4N2YsMHg5NywweDc0LDB4YTAsMHhmMCwweDkwLDB4N2YsMHg5NSwweDc0LDB4Y2MsMHhmMCwweGU0fSB9LAoteyAgMTYsMHgwZjgwLDAsezB4OTAsMHg3ZiwweDllLDB4ZjAsMHhjMiwweDJkLDB4YzIsMHgyYSwweGMyLDB4MmIsMHhjMiwweDJlLDB4OTAsMHg3OSwweDc0LDB4MDR9IH0sCi17ICAxNiwweDBmOTAsMCx7MHhmMCwweDEyLDB4MmUsMHg5NCwweDEyLDB4NDksMHhlMiwweDEyLDB4NGIsMHhlNiwweDEyLDB4MzIsMHgwZCwweDEyLDB4M2IsMHgwZH0gfSwKLXsgIDE2LDB4MGZhMCwwLHsweDEyLDB4NDEsMHhmZCwweDEyLDB4M2UsMHg5OSwweGU1LDB4MWYsMHg3MCwweDE4LDB4NzUsMHgxZiwweDAxLDB4MTIsMHgxNywweGZmfSB9LAoteyAgMTYsMHgwZmIwLDAsezB4MTIsMHgyZiwweGZmLDB4MTIsMHg0OSwweGM4LDB4MTIsMHg0YiwweGQ4LDB4MTIsMHg0YiwweGRhLDB4MTIsMHg0OSwweDZmLDB4MTJ9IH0sCi17ICAxNiwweDBmYzAsMCx7MHgxYiwweDQwLDB4MTIsMHgzOSwweDhkLDB4OTAsMHg3ZiwweGFmLDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg5MCwweDdmLDB4YWUsMHhlMH0gfSwKLXsgIDE2LDB4MGZkMCwwLHsweDQ0LDB4MWYsMHhmMCwweDkwLDB4N2YsMHhhYywweDc0LDB4ZmYsMHhmMCwweDkwLDB4N2YsMHhhZCwweGYwLDB4OTAsMHg3ZiwweGRlfSB9LAoteyAgMTYsMHgwZmUwLDAsezB4ZjAsMHg5MCwweDdmLDB4ZGYsMHhmMCwweDkwLDB4N2YsMHhhYiwweGYwLDB4OTAsMHg3ZiwweGE5LDB4ZjAsMHg5MCwweDdmLDB4YWF9IH0sCi17ICAxNiwweDBmZjAsMCx7MHhmMCwweDUzLDB4OTEsMHhlZiwweDQzLDB4ZDgsMHgyMCwweGQyLDB4ZTgsMHg0MywweGQ4LDB4MjAsMHg0MywweGE4LDB4ODAsMHgyMn0gfSwKLXsgIDE2LDB4MTAwMCwwLHsweDkwLDB4NzksMHg2MywweGUwLDB4MTQsMHg2MCwweDQ0LDB4MTQsMHg3MCwweDAyLDB4MjEsMHhkMCwweDE0LDB4NzAsMHgwMiwweDQxfSB9LAoteyAgMTYsMHgxMDEwLDAsezB4ZDksMHgxNCwweDcwLDB4MDIsMHg2MSwweGQ3LDB4MjQsMHgwNCwweDYwLDB4MDIsMHg4MSwweDU2LDB4ZTQsMHg5MCwweDc5LDB4Nzh9IH0sCi17ICAxNiwweDEwMjAsMCx7MHhmMCwweDkwLDB4NzksMHg3YiwweGUwLDB4OTAsMHg3OSwweDc5LDB4ZjAsMHg0NCwweDAxLDB4ZjAsMHg1NCwweGZkLDB4ZjAsMHg5MH0gfSwKLXsgIDE2LDB4MTAzMCwwLHsweDc5LDB4N2IsMHhmMCwweGU0LDB4OTAsMHg3OSwweDg4LDB4ZjAsMHhhMiwweGFmLDB4MzMsMHhmNSwweDEyLDB4YzIsMHhhZiwweDEyfSB9LAoteyAgMTYsMHgxMDQwLDAsezB4MGIsMHhhMiwweGU1LDB4MTIsMHg3MCwweDAyLDB4ODEsMHg1NiwweGQyLDB4YWYsMHgyMiwweDkwLDB4NzksMHgyZCwweGUwLDB4NjR9IH0sCi17ICAxNiwweDEwNTAsMCx7MHgwMSwweDcwLDB4NzksMHg5MCwweDdmLDB4ZjIsMHhmMCwweDkwLDB4N2YsMHhmMywweDc0LDB4MzAsMHhmMCwweDkwLDB4N2YsMHhmZn0gfSwKLXsgIDE2LDB4MTA2MCwwLHsweDc0LDB4ZmMsMHhmMCwweGU0LDB4OTAsMHg3OSwweDc4LDB4ZjAsMHg5MCwweDc5LDB4N2IsMHhlMCwweDkwLDB4NzksMHg3OSwweGYwfSB9LAoteyAgMTYsMHgxMDcwLDAsezB4NDQsMHgwMSwweGYwLDB4NDQsMHgwMiwweGYwLDB4OTAsMHg3OSwweDdiLDB4ZjAsMHhhMiwweGFmLDB4ZTQsMHgzMywweGY1LDB4MTJ9IH0sCi17ICAxNiwweDEwODAsMCx7MHhjMiwweGFmLDB4MTIsMHgwYiwweGEyLDB4OTAsMHg3OSwweDc4LDB4NzQsMHgwMiwweGYwLDB4OTAsMHg3OSwweDg0LDB4ZTAsMHg5MH0gfSwKLXsgIDE2LDB4MTA5MCwwLHsweDc5LDB4NzksMHhmMCwweDkwLDB4NzksMHg3ZiwweGUwLDB4YjQsMHgwMSwweDA5LDB4OTAsMHg3OSwweDc5LDB4ZTAsMHg1NCwweGZlfSB9LAoteyAgMTYsMHgxMGEwLDAsezB4ZjAsMHg4MCwweDA3LDB4OTAsMHg3OSwweDc5LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg5MCwweDc5LDB4NzksMHhlMCwweDU0LDB4ZmR9IH0sCi17ICAxNiwweDEwYjAsMCx7MHhmMCwweDU0LDB4ZmIsMHhmMCwweDkwLDB4NzksMHg4NCwweGYwLDB4MTIsMHgwYiwweGEyLDB4OTAsMHg3OSwweDgyLDB4NzQsMHgwNH0gfSwKLXsgIDE2LDB4MTBjMCwwLHsweGYwLDB4OTAsMHg3OSwweDg4LDB4MTQsMHhmMCwweGU1LDB4MTIsMHg2MCwweDAyLDB4ZDIsMHhhZiwweDkwLDB4NzksMHgyZCwweGUwfSB9LAoteyAgMTYsMHgxMGQwLDAsezB4NjQsMHgwMiwweDcwLDB4NzksMHg5MCwweDdmLDB4ZjIsMHhmMCwweDkwLDB4N2YsMHhmMywweDc0LDB4MzQsMHhmMCwweDkwLDB4N2Z9IH0sCi17ICAxNiwweDEwZTAsMCx7MHhmZiwweDc0LDB4ZmMsMHhmMCwweGU0LDB4OTAsMHg3OSwweDc4LDB4ZjAsMHg5MCwweDc5LDB4N2IsMHhlMCwweDkwLDB4NzksMHg3OX0gfSwKLXsgIDE2LDB4MTBmMCwwLHsweGYwLDB4NDQsMHgwMSwweGYwLDB4NDQsMHgwMiwweGYwLDB4OTAsMHg3OSwweDdiLDB4ZjAsMHhhMiwweGFmLDB4ZTQsMHgzMywweGY1fSB9LAoteyAgMTYsMHgxMTAwLDAsezB4MTIsMHhjMiwweGFmLDB4MTIsMHgwYiwweGEyLDB4OTAsMHg3OSwweDc4LDB4NzQsMHgwMiwweGYwLDB4OTAsMHg3OSwweDg0LDB4ZTB9IH0sCi17ICAxNiwweDExMTAsMCx7MHg5MCwweDc5LDB4NzksMHhmMCwweDkwLDB4NzksMHg3ZiwweGUwLDB4YjQsMHgwMSwweDA5LDB4OTAsMHg3OSwweDc5LDB4ZTAsMHg1NH0gfSwKLXsgIDE2LDB4MTEyMCwwLHsweGZlLDB4ZjAsMHg4MCwweDA3LDB4OTAsMHg3OSwweDc5LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg5MCwweDc5LDB4NzksMHhlMCwweDQ0fSB9LAoteyAgMTYsMHgxMTMwLDAsezB4MDIsMHhmMCwweDU0LDB4ZmIsMHhmMCwweDkwLDB4NzksMHg4NCwweGYwLDB4MTIsMHgwYiwweGEyLDB4OTAsMHg3OSwweDgyLDB4NzR9IH0sCi17ICAxNiwweDExNDAsMCx7MHgwNCwweGYwLDB4OTAsMHg3OSwweDg4LDB4MTQsMHhmMCwweGU1LDB4MTIsMHg2MCwweDAyLDB4ZDIsMHhhZiwweDkwLDB4NzksMHgyZH0gfSwKLXsgIDE2LDB4MTE1MCwwLHsweGUwLDB4NjQsMHgwMywweDYwLDB4MDIsMHg4MSwweDU2LDB4OTAsMHg3ZiwweGYyLDB4ZjAsMHg5MCwweDdmLDB4ZjMsMHg3NCwweDY0fSB9LAoteyAgMTYsMHgxMTYwLDAsezB4ZjAsMHg5MCwweDdmLDB4ZmYsMHg3NCwweGZjLDB4ZjAsMHhlNCwweDkwLDB4NzksMHg3OCwweGYwLDB4OTAsMHg3OSwweDdiLDB4ZTB9IH0sCi17ICAxNiwweDExNzAsMCx7MHg5MCwweDc5LDB4NzksMHhmMCwweDQ0LDB4MDEsMHhmMCwweDQ0LDB4MDIsMHhmMCwweDkwLDB4NzksMHg3YiwweGYwLDB4YTIsMHhhZn0gfSwKLXsgIDE2LDB4MTE4MCwwLHsweGU0LDB4MzMsMHhmNSwweDEyLDB4YzIsMHhhZiwweDEyLDB4MGIsMHhhMiwweDkwLDB4NzksMHg3OCwweDc0LDB4MDIsMHhmMCwweDkwfSB9LAoteyAgMTYsMHgxMTkwLDAsezB4NzksMHg4NCwweGUwLDB4OTAsMHg3OSwweDc5LDB4ZjAsMHg5MCwweDc5LDB4N2YsMHhlMCwweGI0LDB4MDEsMHgwOSwweDkwLDB4Nzl9IH0sCi17ICAxNiwweDExYTAsMCx7MHg3OSwweGUwLDB4NTQsMHhmZSwweGYwLDB4ODAsMHgwNywweDkwLDB4NzksMHg3OSwweGUwLDB4NDQsMHgwMSwweGYwLDB4OTAsMHg3OX0gfSwKLXsgIDE2LDB4MTFiMCwwLHsweDc5LDB4ZTAsMHg0NCwweDA0LDB4ZjAsMHg5MCwweDc5LDB4ODQsMHhmMCwweDEyLDB4MGIsMHhhMiwweDkwLDB4NzksMHg4MiwweDc0fSB9LAoteyAgMTYsMHgxMWMwLDAsezB4MDQsMHhmMCwweDkwLDB4NzksMHg4OCwweDE0LDB4ZjAsMHhlNSwweDEyLDB4NzAsMHgwMiwweDgxLDB4NTYsMHhkMiwweGFmLDB4MjJ9IH0sCi17ICAxNiwweDExZDAsMCx7MHg5MCwweDc5LDB4MmQsMHhlMCwweDY0LDB4MDEsMHg3MCwweDdhLDB4OTAsMHg3ZiwweGYyLDB4ZjAsMHg5MCwweDdmLDB4ZjMsMHg3NH0gfSwKLXsgIDE2LDB4MTFlMCwwLHsweDg4LDB4ZjAsMHg5MCwweDdmLDB4ZmYsMHg3NCwweGZjLDB4ZjAsMHhlNCwweDkwLDB4NzksMHg3OCwweGYwLDB4OTAsMHg3OSwweDdifSB9LAoteyAgMTYsMHgxMWYwLDAsezB4ZTAsMHg5MCwweDc5LDB4NzksMHhmMCwweDQ0LDB4MDEsMHhmMCwweDU0LDB4ZmQsMHhmMCwweDkwLDB4NzksMHg3YiwweGYwLDB4YTJ9IH0sCi17ICAxNiwweDEyMDAsMCx7MHhhZiwweGU0LDB4MzMsMHhmNSwweDEyLDB4YzIsMHhhZiwweDEyLDB4MGIsMHhhMiwweDkwLDB4NzksMHg3OCwweDc0LDB4MDIsMHhmMH0gfSwKLXsgIDE2LDB4MTIxMCwwLHsweDkwLDB4NzksMHg4NCwweGUwLDB4OTAsMHg3OSwweDc5LDB4ZjAsMHg5MCwweDc5LDB4N2YsMHhlMCwweGI0LDB4MDEsMHgwOSwweDkwfSB9LAoteyAgMTYsMHgxMjIwLDAsezB4NzksMHg3OSwweGUwLDB4NTQsMHhmZSwweGYwLDB4ODAsMHgwNywweDkwLDB4NzksMHg3OSwweGUwLDB4NDQsMHgwMSwweGYwLDB4OTB9IH0sCi17ICAxNiwweDEyMzAsMCx7MHg3OSwweDc5LDB4ZTAsMHg1NCwweGZkLDB4ZjAsMHg1NCwweGZiLDB4ZjAsMHg5MCwweDc5LDB4ODQsMHhmMCwweDEyLDB4MGIsMHhhMn0gfSwKLXsgIDE2LDB4MTI0MCwwLHsweDkwLDB4NzksMHg4MiwweDc0LDB4MGMsMHhmMCwweDkwLDB4NzksMHg4OCwweDc0LDB4MDEsMHhmMCwweGU1LDB4MTIsMHg2MCwweDAyfSB9LAoteyAgMTYsMHgxMjUwLDAsezB4ZDIsMHhhZiwweDkwLDB4NzksMHgyZCwweGUwLDB4NjQsMHgwMiwweDYwLDB4MDIsMHg4MSwweDU2LDB4OTAsMHg3ZiwweGYyLDB4ZjB9IH0sCi17ICAxNiwweDEyNjAsMCx7MHg5MCwweDdmLDB4ZjMsMHg3NCwweDk0LDB4ZjAsMHg5MCwweDdmLDB4ZmYsMHg3NCwweGZjLDB4ZjAsMHhlNCwweDkwLDB4NzksMHg3OH0gfSwKLXsgIDE2LDB4MTI3MCwwLHsweGYwLDB4OTAsMHg3OSwweDdiLDB4ZTAsMHg5MCwweDc5LDB4NzksMHhmMCwweDQ0LDB4MDEsMHhmMCwweDU0LDB4ZmQsMHhmMCwweDkwfSB9LAoteyAgMTYsMHgxMjgwLDAsezB4NzksMHg3YiwweGYwLDB4YTIsMHhhZiwweGU0LDB4MzMsMHhmNSwweDEyLDB4YzIsMHhhZiwweDEyLDB4MGIsMHhhMiwweDkwLDB4Nzl9IH0sCi17ICAxNiwweDEyOTAsMCx7MHg3OCwweDc0LDB4MDIsMHhmMCwweDkwLDB4NzksMHg4NCwweGUwLDB4OTAsMHg3OSwweDc5LDB4ZjAsMHg5MCwweDc5LDB4N2YsMHhlMH0gfSwKLXsgIDE2LDB4MTJhMCwwLHsweGI0LDB4MDEsMHgwOSwweDkwLDB4NzksMHg3OSwweGUwLDB4NTQsMHhmZSwweGYwLDB4ODAsMHgwNywweDkwLDB4NzksMHg3OSwweGUwfSB9LAoteyAgMTYsMHgxMmIwLDAsezB4NDQsMHgwMSwweGYwLDB4OTAsMHg3OSwweDc5LDB4ZTAsMHg0NCwweDAyLDB4ZjAsMHg1NCwweGZiLDB4ZjAsMHg5MCwweDc5LDB4ODR9IH0sCi17ICAxNiwweDEyYzAsMCx7MHhmMCwweDEyLDB4MGIsMHhhMiwweDkwLDB4NzksMHg4MiwweDc0LDB4MGMsMHhmMCwweDkwLDB4NzksMHg4OCwweDc0LDB4MDEsMHhmMH0gfSwKLXsgIDE2LDB4MTJkMCwwLHsweGU1LDB4MTIsMHg3MCwweDAyLDB4ODEsMHg1NiwweGQyLDB4YWYsMHgyMiwweDkwLDB4NzksMHgyZCwweGUwLDB4NjQsMHgwMSwweDcwfSB9LAoteyAgMTYsMHgxMmUwLDAsezB4NzcsMHg5MCwweDdmLDB4ZjIsMHhmMCwweDkwLDB4N2YsMHhmMywweDc0LDB4Y2MsMHhmMCwweDkwLDB4N2YsMHhmZiwweDc0LDB4ZmN9IH0sCi17ICAxNiwweDEyZjAsMCx7MHhmMCwweGU0LDB4OTAsMHg3OSwweDc4LDB4ZjAsMHg5MCwweDc5LDB4N2IsMHhlMCwweDkwLDB4NzksMHg3OSwweGYwLDB4NTQsMHhmY30gfSwKLXsgIDE2LDB4MTMwMCwwLHsweGYwLDB4OTAsMHg3OSwweDdiLDB4ZjAsMHhhMiwweGFmLDB4ZTQsMHgzMywweGY1LDB4MTIsMHhjMiwweGFmLDB4MTIsMHgwYiwweGEyfSB9LAoteyAgMTYsMHgxMzEwLDAsezB4OTAsMHg3OSwweDc4LDB4NzQsMHgwMiwweGYwLDB4OTAsMHg3OSwweDg0LDB4ZTAsMHg5MCwweDc5LDB4NzksMHhmMCwweDkwLDB4Nzl9IH0sCi17ICAxNiwweDEzMjAsMCx7MHg3ZiwweGUwLDB4YjQsMHgwMSwweDA5LDB4OTAsMHg3OSwweDc5LDB4ZTAsMHg1NCwweGZlLDB4ZjAsMHg4MCwweDA3LDB4OTAsMHg3OX0gfSwKLXsgIDE2LDB4MTMzMCwwLHsweDc5LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg5MCwweDc5LDB4NzksMHhlMCwweDU0LDB4ZmQsMHhmMCwweDU0LDB4ZmIsMHhmMCwweDkwfSB9LAoteyAgMTYsMHgxMzQwLDAsezB4NzksMHg4NCwweGYwLDB4MTIsMHgwYiwweGEyLDB4OTAsMHg3OSwweDgyLDB4NzQsMHgxMiwweGYwLDB4OTAsMHg3OSwweDg4LDB4NzR9IH0sCi17ICAxNiwweDEzNTAsMCx7MHgwMiwweGYwLDB4ZTUsMHgxMiwweDYwLDB4MDIsMHhkMiwweGFmLDB4OTAsMHg3OSwweDJkLDB4ZTAsMHg2NCwweDAyLDB4NzAsMHg3N30gfSwKLXsgIDE2LDB4MTM2MCwwLHsweDkwLDB4N2YsMHhmMiwweGYwLDB4OTAsMHg3ZiwweGYzLDB4NzQsMHhlMCwweGYwLDB4OTAsMHg3ZiwweGZmLDB4NzQsMHhmYywweGYwfSB9LAoteyAgMTYsMHgxMzcwLDAsezB4ZTQsMHg5MCwweDc5LDB4NzgsMHhmMCwweDkwLDB4NzksMHg3YiwweGUwLDB4OTAsMHg3OSwweDc5LDB4ZjAsMHg1NCwweGZjLDB4ZjB9IH0sCi17ICAxNiwweDEzODAsMCx7MHg5MCwweDc5LDB4N2IsMHhmMCwweGEyLDB4YWYsMHhlNCwweDMzLDB4ZjUsMHgxMiwweGMyLDB4YWYsMHgxMiwweDBiLDB4YTIsMHg5MH0gfSwKLXsgIDE2LDB4MTM5MCwwLHsweDc5LDB4NzgsMHg3NCwweDAyLDB4ZjAsMHg5MCwweDc5LDB4ODQsMHhlMCwweDkwLDB4NzksMHg3OSwweGYwLDB4OTAsMHg3OSwweDdmfSB9LAoteyAgMTYsMHgxM2EwLDAsezB4ZTAsMHhiNCwweDAxLDB4MDksMHg5MCwweDc5LDB4NzksMHhlMCwweDU0LDB4ZmUsMHhmMCwweDgwLDB4MDcsMHg5MCwweDc5LDB4Nzl9IH0sCi17ICAxNiwweDEzYjAsMCx7MHhlMCwweDQ0LDB4MDEsMHhmMCwweDkwLDB4NzksMHg3OSwweGUwLDB4NDQsMHgwMiwweGYwLDB4NTQsMHhmYiwweGYwLDB4OTAsMHg3OX0gfSwKLXsgIDE2LDB4MTNjMCwwLHsweDg0LDB4ZjAsMHgxMiwweDBiLDB4YTIsMHg5MCwweDc5LDB4ODIsMHg3NCwweDEyLDB4ZjAsMHg5MCwweDc5LDB4ODgsMHg3NCwweDAyfSB9LAoteyAgMTYsMHgxM2QwLDAsezB4ZjAsMHhlNSwweDEyLDB4NjAsMHgwMiwweGQyLDB4YWYsMHg5MCwweDc5LDB4MmQsMHhlMCwweDY0LDB4MDMsMHg3MCwweDc3LDB4OTB9IH0sCi17ICAxNiwweDEzZTAsMCx7MHg3ZiwweGYyLDB4ZjAsMHg5MCwweDdmLDB4ZjMsMHg3NCwweDk0LDB4ZjAsMHg5MCwweDdmLDB4ZmYsMHg3NCwweGZjLDB4ZjAsMHhlNH0gfSwKLXsgIDE2LDB4MTNmMCwwLHsweDkwLDB4NzksMHg3OCwweGYwLDB4OTAsMHg3OSwweDdiLDB4ZTAsMHg5MCwweDc5LDB4NzksMHhmMCwweDU0LDB4ZmUsMHhmMCwweDQ0fSB9LAoteyAgMTYsMHgxNDAwLDAsezB4MDIsMHhmMCwweDkwLDB4NzksMHg3YiwweGYwLDB4YTIsMHhhZiwweGU0LDB4MzMsMHhmNSwweDEyLDB4YzIsMHhhZiwweDEyLDB4MGJ9IH0sCi17ICAxNiwweDE0MTAsMCx7MHhhMiwweDkwLDB4NzksMHg3OCwweDc0LDB4MDIsMHhmMCwweDkwLDB4NzksMHg4NCwweGUwLDB4OTAsMHg3OSwweDc5LDB4ZjAsMHg5MH0gfSwKLXsgIDE2LDB4MTQyMCwwLHsweDc5LDB4N2YsMHhlMCwweGI0LDB4MDEsMHgwOSwweDkwLDB4NzksMHg3OSwweGUwLDB4NTQsMHhmZSwweGYwLDB4ODAsMHgwNywweDkwfSB9LAoteyAgMTYsMHgxNDMwLDAsezB4NzksMHg3OSwweGUwLDB4NDQsMHgwMSwweGYwLDB4OTAsMHg3OSwweDc5LDB4ZTAsMHg0NCwweDA0LDB4ZjAsMHg5MCwweDc5LDB4ODR9IH0sCi17ICAxNiwweDE0NDAsMCx7MHhmMCwweDEyLDB4MGIsMHhhMiwweDkwLDB4NzksMHg4MiwweDc0LDB4MDYsMHhmMCwweDkwLDB4NzksMHg4OCwweDc0LDB4MDQsMHhmMH0gfSwKLXsgICA3LDB4MTQ1MCwwLHsweGU1LDB4MTIsMHg2MCwweDAyLDB4ZDIsMHhhZiwweDIyfSB9LAoteyAgMTYsMHgxNDU3LDAsezB4YzIsMHgyOCwweGMyLDB4MjksMHg5MCwweDdmLDB4ZTgsMHhlMCwweDEyLDB4MGUsMHgxYSwweDE0LDB4ODQsMHgwMCwweDE0LDB4ZTB9IH0sCi17ICAxNiwweDE0NjcsMCx7MHgwMSwweDE0LDB4ZjYsMHgwMiwweDE2LDB4N2MsMHgyMSwweDE2LDB4YmUsMHgyMiwweDE1LDB4OTEsMHg4MCwweDE1LDB4ZDEsMHg4MX0gfSwKLXsgIDE2LDB4MTQ3NywwLHsweDE2LDB4MmUsMHg4MiwweDE2LDB4Y2YsMHhhMSwweDE3LDB4MDUsMHhhMiwweDAwLDB4MDAsMHgxNywweDBhLDB4OTAsMHg3ZiwweGU5fSB9LAoteyAgMTYsMHgxNDg3LDAsezB4ZTAsMHgxNCwweDYwLDB4MTEsMHgyNCwweGZlLDB4NjAsMHgyOCwweDI0LDB4ZmUsMHg2MCwweDNiLDB4MjQsMHhmYywweDcwLDB4NDB9IH0sCi17ICAxNiwweDE0OTcsMCx7MHgxMiwweDRhLDB4MmEsMHhlMSwweDE2LDB4MTIsMHg0YiwweGUwLDB4NDAsMHgwMiwweGUxLDB4MTYsMHg5MCwweDdmLDB4ZWEsMHhlMH0gfSwKLXsgIDE2LDB4MTRhNywwLHsweGI0LDB4MDEsMHgwNCwweGMyLDB4MmEsMHhlMSwweDE2LDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHhlMSwweDE2fSB9LAoteyAgMTYsMHgxNGI3LDAsezB4MTIsMHg0YiwweGUyLDB4OTAsMHg3ZiwweGVhLDB4ZTAsMHhiNCwweDAxLDB4MDQsMHhkMiwweDJhLDB4ZTEsMHgxNiwweDkwLDB4N2Z9IH0sCi17ICAxNiwweDE0YzcsMCx7MHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4ZTEsMHgxNiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4ZTEsMHgxNn0gfSwKLXsgIDE2LDB4MTRkNywwLHsweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4ZTEsMHgxNiwweDkwLDB4N2YsMHhlOSwweGUwLDB4MjQsMHhmNSwweDcwfSB9LAoteyAgMTYsMHgxNGU3LDAsezB4MDUsMHgxMiwweDQ3LDB4OWMsMHhlMSwweDE2LDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHhlMSwweDE2LDB4OTB9IH0sCi17ICAxNiwweDE0ZjcsMCx7MHg3ZiwweGU5LDB4ZTAsMHgyNCwweGZkLDB4NjAsMHg1NCwweDI0LDB4MDIsMHg2MCwweDAyLDB4YTEsMHg4OCwweDEyLDB4NGIsMHhlMH0gfSwKLXsgIDE2LDB4MTUwNywwLHsweDQwLDB4MDIsMHhlMSwweDE2LDB4OTAsMHg3ZiwweGVhLDB4ZTAsMHg3MCwweDM4LDB4OTAsMHg3ZiwweGVjLDB4ZTAsMHhmNCwweDU0fSB9LAoteyAgMTYsMHgxNTE3LDAsezB4ODAsMHhmZiwweGM0LDB4NTQsMHgwZiwweGZmLDB4ZTAsMHg1NCwweDA3LDB4MmYsMHgyNSwweGUwLDB4MjQsMHhiNCwweGY1LDB4ODJ9IH0sCi17ICAxNiwweDE1MjcsMCx7MHhlNCwweDM0LDB4N2YsMHhmNSwweDgzLDB4ZTQsMHhmMCwweDkwLDB4N2YsMHhlYywweGUwLDB4NTQsMHg4MCwweGZmLDB4MTMsMHgxM30gfSwKLXsgIDE2LDB4MTUzNywwLHsweDEzLDB4NTQsMHgxZiwweGZmLDB4ZTAsMHg1NCwweDA3LDB4MmYsMHg5MCwweDdmLDB4ZDcsMHhmMCwweGUwLDB4NDQsMHgyMCwweGYwfSB9LAoteyAgMTYsMHgxNTQ3LDAsezB4ZTEsMHgxNiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4ZTEsMHgxNiwweDEyLDB4NGIsMHhlMiwweDQwLDB4MDJ9IH0sCi17ICAxNiwweDE1NTcsMCx7MHhlMSwweDE2LDB4OTAsMHg3ZiwweGVhLDB4ZTAsMHg3MCwweDIwLDB4OTAsMHg3ZiwweGVjLDB4ZTAsMHhmNCwweDU0LDB4ODAsMHhmZn0gfSwKLXsgIDE2LDB4MTU2NywwLHsweGM0LDB4NTQsMHgwZiwweGZmLDB4ZTAsMHg1NCwweDA3LDB4MmYsMHgyNSwweGUwLDB4MjQsMHhiNCwweGY1LDB4ODIsMHhlNCwweDM0fSB9LAoteyAgMTYsMHgxNTc3LDAsezB4N2YsMHhmNSwweDgzLDB4NzQsMHgwMSwweGYwLDB4ZTEsMHgxNiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4ZTF9IH0sCi17ICAxNiwweDE1ODcsMCx7MHgxNiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4ZTEsMHgxNiwweDkwLDB4N2YsMHhlOSwweGUwLDB4NjAsMHgxMn0gfSwKLXsgIDE2LDB4MTU5NywwLHsweDI0LDB4ZjgsMHg2MCwweDA5LDB4MjQsMHgwMiwweDcwLDB4MjksMHgxMiwweDE3LDB4MWUsMHhlMSwweDE2LDB4MTIsMHg0YiwweGEwfSB9LAoteyAgMTYsMHgxNWE3LDAsezB4ZTEsMHgxNiwweDEyLDB4NGIsMHhkZSwweGEyLDB4MmEsMHhlNCwweDMzLDB4ZmYsMHgyNSwweGUwLDB4ZmYsMHhhMiwweDJiLDB4ZTR9IH0sCi17ICAxNiwweDE1YjcsMCx7MHgzMywweDRmLDB4OTAsMHg3ZiwweDAwLDB4ZjAsMHhlNCwweGEzLDB4ZjAsMHg5MCwweDdmLDB4YjUsMHg3NCwweDAyLDB4ZjAsMHhlMX0gfSwKLXsgIDE2LDB4MTVjNywwLHsweDE2LDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHhlMSwweDE2LDB4OTAsMHg3ZiwweGU5LDB4ZTAsMHg2MCwweDM3fSB9LAoteyAgMTYsMHgxNWQ3LDAsezB4MjQsMHhmNiwweDYwLDB4MmUsMHgyNCwweDA0LDB4NzAsMHg0MSwweDkwLDB4N2YsMHhlYiwweGUwLDB4MjQsMHhkZSwweDYwLDB4MGV9IH0sCi17ICAxNiwweDE1ZTcsMCx7MHgwNCwweDcwLDB4MTYsMHhkMiwweDI5LDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHhlMSwweDE2LDB4ZDIsMHgyOX0gfSwKLXsgIDE2LDB4MTVmNywwLHsweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4ZTEsMHgxNiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwfSB9LAoteyAgMTYsMHgxNjA3LDAsezB4ZTEsMHgxNiwweDEyLDB4NDQsMHg2MywweGUxLDB4MTYsMHgxMiwweDRiLDB4ZGUsMHhlNCwweDkwLDB4N2YsMHgwMCwweGYwLDB4YTN9IH0sCi17ICAxNiwweDE2MTcsMCx7MHhmMCwweDkwLDB4N2YsMHhiNSwweDc0LDB4MDIsMHhmMCwweGUxLDB4MTYsMHgyMCwweDI5LDB4MDcsMHg5MCwweDdmLDB4YjQsMHhlMH0gfSwKLXsgIDE2LDB4MTYyNywwLHsweDQ0LDB4MDEsMHhmMCwweGMyLDB4MjksMHhlMSwweDE2LDB4OTAsMHg3ZiwweGU5LDB4ZTAsMHgyNCwweGY0LDB4NjAsMHgzNCwweDI0fSB9LAoteyAgMTYsMHgxNjM3LDAsezB4MGMsMHg3MCwweDM5LDB4MTIsMHg0YiwweGRlLDB4OTAsMHg3ZiwweGVjLDB4ZTAsMHhmNCwweDU0LDB4ODAsMHhmZiwweGM0LDB4NTR9IH0sCi17ICAxNiwweDE2NDcsMCx7MHgwZiwweGZmLDB4ZTAsMHg1NCwweDA3LDB4MmYsMHgyNSwweGUwLDB4MjQsMHhiNCwweGY1LDB4ODIsMHhlNCwweDM0LDB4N2YsMHhmNX0gfSwKLXsgIDE2LDB4MTY1NywwLHsweDgzLDB4ZTAsMHg1NCwweGZkLDB4OTAsMHg3ZiwweDAwLDB4ZjAsMHhlNCwweGEzLDB4ZjAsMHg5MCwweDdmLDB4YjUsMHg3NCwweDAyfSB9LAoteyAgMTYsMHgxNjY3LDAsezB4ZjAsMHhlMSwweDE2LDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHhlMSwweDE2LDB4OTAsMHg3ZiwweGI0LDB4ZTB9IH0sCi17ICAxNiwweDE2NzcsMCx7MHg0NCwweDAxLDB4ZjAsMHhlMSwweDE2LDB4OTAsMHg3ZiwweGU5LDB4ZTAsMHgyNCwweGY2LDB4NjAsMHgxMiwweDE0LDB4NjAsMHgxYX0gfSwKLXsgIDE2LDB4MTY4NywwLHsweDI0LDB4MDIsMHg3MCwweDFkLDB4ZDIsMHgyOCwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4ODAsMHgxMiwweGQyfSB9LAoteyAgMTYsMHgxNjk3LDAsezB4MjgsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDgwLDB4MDcsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDF9IH0sCi17ICAxNiwweDE2YTcsMCx7MHhmMCwweDIwLDB4MjgsMHgwZiwweDkwLDB4NzksMHg4NSwweDc0LDB4MDEsMHhmMCwweDEyLDB4NDksMHg2ZiwweDkwLDB4N2YsMHhjNX0gfSwKLXsgIDE2LDB4MTZiNywwLHsweDc0LDB4MDIsMHhmMCwweGMyLDB4MjgsMHg4MCwweDU4LDB4OTAsMHg3OSwweDg2LDB4NzQsMHgwMSwweGYwLDB4MTIsMHg0OSwweDZmfSB9LAoteyAgMTYsMHgxNmM3LDAsezB4OTAsMHg3ZiwweGM1LDB4NzQsMHgwMiwweGYwLDB4ODAsMHg0NywweDkwLDB4N2YsMHhlOSwweGUwLDB4MjQsMHhmZSwweDYwLDB4MTJ9IH0sCi17ICAxNiwweDE2ZDcsMCx7MHgxNCwweDYwLDB4MWEsMHgyNCwweDAyLDB4NzAsMHgxZCwweGQyLDB4MjgsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMH0gfSwKLXsgIDE2LDB4MTZlNywwLHsweDgwLDB4MTIsMHhkMiwweDI4LDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg4MCwweDA3LDB4OTAsMHg3ZiwweGI0fSB9LAoteyAgMTYsMHgxNmY3LDAsezB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMCwweDI4LDB4MDMsMHgxMiwweDFhLDB4N2IsMHhjMiwweDI4LDB4ODAsMHgxMSwweDEyLDB4MmN9IH0sCi17ICAxNiwweDE3MDcsMCx7MHgyYiwweDgwLDB4MGMsMHgxMiwweDRiLDB4ZTQsMHg1MCwweDA3LDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg5MH0gfSwKLXsgICA3LDB4MTcxNywwLHsweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDIsMHhmMCwweDIyfSB9LAoteyAgMTYsMHgxNzFlLDAsezB4MTIsMHg0YiwweGRjLDB4NDAsMHgwMiwweGUxLDB4ZTMsMHg5MCwweDdmLDB4ZWIsMHhlMCwweDI0LDB4ZmUsMHg2MCwweDFlLDB4MTR9IH0sCi17ICAxNiwweDE3MmUsMCx7MHg2MCwweDQ2LDB4MTQsMHg2MCwweDZlLDB4MTQsMHg3MCwweDAyLDB4ZTEsMHhkNCwweDI0LDB4MDQsMHg2MCwweDAyLDB4ZTEsMHhkY30gfSwKLXsgIDE2LDB4MTczZSwwLHsweDc0LDB4MDUsMHg5MCwweDdmLDB4ZDQsMHhmMCwweDc0LDB4MDAsMHg5MCwweDdmLDB4ZDUsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGVhfSB9LAoteyAgMTYsMHgxNzRlLDAsezB4ZTAsMHhmZiwweDEyLDB4M2YsMHhhMiwweDhiLDB4MzMsMHg4YSwweDM0LDB4ODksMHgzNSwweGVhLDB4NDksMHg2MCwweDExLDB4Y2V9IH0sCi17ICAxNiwweDE3NWUsMCx7MHhlYSwweGNlLDB4ZWUsMHg5MCwweDdmLDB4ZDQsMHhmMCwweGNmLDB4ZTksMHhjZiwweGVmLDB4OTAsMHg3ZiwweGQ1LDB4ZjAsMHgyMn0gfSwKLXsgIDE2LDB4MTc2ZSwwLHsweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDdmLDB4ZWEsMHhlMCwweGZmLDB4MTIsMHg0OCwweDAwfSB9LAoteyAgMTYsMHgxNzdlLDAsezB4OGIsMHgzMywweDhhLDB4MzQsMHg4OSwweDM1LDB4ZWEsMHg0OSwweDYwLDB4MTEsMHhjZSwweGVhLDB4Y2UsMHhlZSwweDkwLDB4N2Z9IH0sCi17ICAxNiwweDE3OGUsMCx7MHhkNCwweGYwLDB4Y2YsMHhlOSwweGNmLDB4ZWYsMHg5MCwweDdmLDB4ZDUsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NH0gfSwKLXsgIDE2LDB4MTc5ZSwwLHsweDAxLDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhlYSwweGUwLDB4ZmYsMHg5MCwweDdlLDB4YzAsMHhlMCwweGZkLDB4YTMsMHhlMCwweGZifSB9LAoteyAgMTYsMHgxN2FlLDAsezB4MTIsMHg0NCwweGQyLDB4OGIsMHgzMywweDhhLDB4MzQsMHg4OSwweDM1LDB4ZWEsMHg0OSwweDYwLDB4MTEsMHhjZSwweGVhLDB4Y2V9IH0sCi17ICAxNiwweDE3YmUsMCx7MHhlZSwweDkwLDB4N2YsMHhkNCwweGYwLDB4Y2YsMHhlOSwweGNmLDB4ZWYsMHg5MCwweDdmLDB4ZDUsMHhmMCwweDIyLDB4OTAsMHg3Zn0gfSwKLXsgIDE2LDB4MTdjZSwwLHsweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDdmfSB9LAoteyAgIDUsMHgxN2RlLDAsezB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMH0gfSwKLXsgICAxLDB4MTdlMywwLHsweDIyfSB9LAoteyAgMTYsMHgxN2U0LDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4OTAsMHg3ZiwweGM0LDB4ZTQsMHhmMCwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2Z9IH0sCi17ICAxMSwweDE3ZjQsMCx7MHhhYiwweDc0LDB4MDQsMHhmMCwweGQwLDB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfSB9LAoteyAgIDEsMHgxN2ZmLDAsezB4MjJ9IH0sCi17ICAxNiwweDE4MDAsMCx7MHhlNCwweDkwLDB4NzgsMHgxNSwweGYwLDB4N2IsMHgwMSwweDkwLDB4NzgsMHgxMiwweDA0LDB4ZjAsMHhhMywweDc0LDB4NzgsMHhmMH0gfSwKLXsgIDE2LDB4MTgxMCwwLHsweGEzLDB4NzQsMHg1OCwweGYwLDB4OTAsMHg3OCwweDEyLDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweDkwfSB9LAoteyAgMTYsMHgxODIwLDAsezB4MDAsMHgwMSwweDEyLDB4MGMsMHg1ZCwweGZmLDB4OTAsMHg3OSwweDlhLDB4ZTAsMHg2ZiwweDYwLDB4MTgsMHg5MCwweDc4LDB4MTV9IH0sCi17ICAxNiwweDE4MzAsMCx7MHhlMCwweGMzLDB4OTQsMHgwNiwweDUwLDB4MGYsMHhlMCwweDA0LDB4ZjAsMHg5MCwweDc4LDB4MTMsMHhlNCwweDc1LDB4ZjAsMHgwZn0gfSwKLXsgIDE2LDB4MTg0MCwwLHsweDEyLDB4MGMsMHhmNCwweDgwLDB4Y2YsMHg5MCwweDc4LDB4MTUsMHhlMCwweGI0LDB4MDYsMHgwOCwweDkwLDB4N2YsMHhiNCwweGUwfSB9LAoteyAgMTYsMHgxODUwLDAsezB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDc4LDB4MTIsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4MTJ9IH0sCi17ICAxNiwweDE4NjAsMCx7MHgwYywweDQ0LDB4ZmYsMHgyNCwweGJmLDB4NzAsMHgwMiwweDQxLDB4N2EsMHgyNCwweGUwLDB4NzAsMHgwMiwweDQxLDB4NGMsMHgyNH0gfSwKLXsgIDE2LDB4MTg3MCwwLHsweDIxLDB4NjAsMHgwMiwweDQxLDB4NzMsMHg5MCwweDc5LDB4OTcsMHhlMCwweDI0LDB4ZmUsMHg3MCwweDAyLDB4MjEsMHg5YSwweDE0fSB9LAoteyAgMTYsMHgxODgwLDAsezB4NzAsMHgwMiwweDIxLDB4ZWYsMHgyNCwweDAyLDB4NjAsMHgwMiwweDQxLDB4NDQsMHg5MCwweDc5LDB4MmQsMHhlMCwweGEzLDB4ZjB9IH0sCi17ICAxNiwweDE4OTAsMCx7MHg5MCwweDc5LDB4MjMsMHhlMCwweGZmLDB4ZTQsMHhmYywweGZkLDB4ZmUsMHhmYiwweGZhLDB4NzksMHgwMSwweGY4LDB4MTIsMHgwZH0gfSwKLXsgIDE2LDB4MThhMCwwLHsweDQyLDB4YzgsMHhlYywweGM4LDB4YzksMHhlZCwweGM5LDB4Y2EsMHhlZSwweGNhLDB4Y2IsMHhlZiwweGNiLDB4OTAsMHg3OSwweDIyfSB9LAoteyAgMTYsMHgxOGIwLDAsezB4ZTAsMHhmZSwweGU0LDB4ZmMsMHhmZCwweDJiLDB4ZmIsMHhlYSwweDNlLDB4ZmEsMHhlZCwweDM5LDB4ZjksMHhlYywweDM4LDB4Zjh9IH0sCi17ICAxNiwweDE4YzAsMCx7MHg5MCwweDc5LDB4MjEsMHhlMCwweGZmLDB4ZTQsMHhmZSwweGViLDB4MmYsMHhmZiwweGVlLDB4M2EsMHhmZSwweGVkLDB4MzksMHhmZH0gfSwKLXsgIDE2LDB4MThkMCwwLHsweGVjLDB4MzgsMHhmYywweDkwLDB4NzgsMHgxMiwweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHg5MCwweDAwfSB9LAoteyAgMTYsMHgxOGUwLDAsezB4MDIsMHgxMiwweDBkLDB4ZDIsMHg5MCwweDAwLDB4MDIsMHgxMiwweDBkLDB4YTIsMHg3YiwweDQ0LDB4N2EsMHhhYywweDc5LDB4MDB9IH0sCi17ICAxNiwweDE4ZjAsMCx7MHg3OCwweDAwLDB4YzMsMHgxMiwweDBkLDB4OTEsMHg3MCwweDA1LDB4OTAsMHg3OSwweDJkLDB4MDQsMHhmMCwweDkwLDB4NzgsMHgxMn0gfSwKLXsgIDE2LDB4MTkwMCwwLHsweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHg5MCwweDAwLDB4MDIsMHgxMiwweDBkLDB4YTIsMHg3YiwweDgwfSB9LAoteyAgMTYsMHgxOTEwLDAsezB4N2EsMHhiYiwweDc5LDB4MDAsMHg3OCwweDAwLDB4YzMsMHgxMiwweDBkLDB4OTEsMHg3MCwweDA2LDB4OTAsMHg3OSwweDJkLDB4NzR9IH0sCi17ICAxNiwweDE5MjAsMCx7MHgwMiwweGYwLDB4OTAsMHg3OCwweDEyLDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweDkwLDB4MDAsMHgwMn0gfSwKLXsgIDE2LDB4MTkzMCwwLHsweDEyLDB4MGQsMHhhMiwweDdiLDB4MDAsMHg3YSwweDc3LDB4NzksMHgwMSwweDc4LDB4MDAsMHhjMywweDEyLDB4MGQsMHg5MSwweDcwfSB9LAoteyAgMTYsMHgxOTQwLDAsezB4MDYsMHg5MCwweDc5LDB4MmQsMHg3NCwweDAzLDB4ZjAsMHg5MCwweDc5LDB4MmQsMHhlMCwweGZmLDB4YjQsMHgwMSwweDA5LDB4NzV9IH0sCi17ICAxNiwweDE5NTAsMCx7MHgwYywweDY3LDB4NzUsMHgwZCwweDA2LDB4NzUsMHgwZSwweDBiLDB4ZWYsMHhiNCwweDAyLDB4MDgsMHhlNCwweGY1LDB4MGMsMHhmNX0gfSwKLXsgIDE2LDB4MTk2MCwwLHsweDBkLDB4NzUsMHgwZSwweDBjLDB4ZWYsMHhiNCwweDAzLDB4MDgsMHhlNCwweGY1LDB4MGMsMHhmNSwweDBkLDB4NzUsMHgwZSwweDE4fSB9LAoteyAgMTYsMHgxOTcwLDAsezB4ZWYsMHhiNCwweDAzLDB4MGQsMHg5MCwweDc5LDB4MmUsMHhlMCwweDY0LDB4MDMsMHg2MCwweDA1LDB4ZDIsMHgyZiwweDEyLDB4M2R9IH0sCi17ICAxNiwweDE5ODAsMCx7MHg3OSwweDkwLDB4NzksMHgyZCwweGUwLDB4NjQsMHgwMywweDYwLDB4MGEsMHhhMywweGUwLDB4YjQsMHgwMywweDA1LDB4YzIsMHgyZn0gfSwKLXsgIDE2LDB4MTk5MCwwLHsweDEyLDB4M2QsMHg3OSwweDEyLDB4MTAsMHgwMCwweDEyLDB4MjgsMHgwMSwweDIyLDB4OTAsMHg3OSwweDIzLDB4ZTAsMHhmZiwweGU0fSB9LAoteyAgMTYsMHgxOWEwLDAsezB4ZmMsMHhmZCwweGZlLDB4ZmIsMHhmYSwweDc5LDB4MDEsMHhmOCwweDEyLDB4MGQsMHg0MiwweGM4LDB4ZWMsMHhjOCwweGM5LDB4ZWR9IH0sCi17ICAxNiwweDE5YjAsMCx7MHhjOSwweGNhLDB4ZWUsMHhjYSwweGNiLDB4ZWYsMHhjYiwweDkwLDB4NzksMHgyMiwweGUwLDB4ZmUsMHhlNCwweGZjLDB4ZmQsMHgyYn0gfSwKLXsgIDE2LDB4MTljMCwwLHsweGZiLDB4ZWEsMHgzZSwweGZhLDB4ZWQsMHgzOSwweGY5LDB4ZWMsMHgzOCwweGY4LDB4OTAsMHg3OSwweDIxLDB4ZTAsMHhmZiwweGU0fSB9LAoteyAgMTYsMHgxOWQwLDAsezB4ZmUsMHhlYiwweDJmLDB4ZmYsMHhlZSwweDNhLDB4ZmUsMHhlZCwweDM5LDB4ZmQsMHhlYywweDM4LDB4ZmMsMHg5MCwweDc4LDB4MTJ9IH0sCi17ICAxNiwweDE5ZTAsMCx7MHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4OTAsMHgwMCwweDA2LDB4MTIsMHgwZCwweGQyLDB4MjIsMHg5MH0gfSwKLXsgIDE2LDB4MTlmMCwwLHsweDc5LDB4MjMsMHhlMCwweGZmLDB4ZTQsMHhmYywweGZkLDB4ZmUsMHhmYiwweGZhLDB4NzksMHgwMSwweGY4LDB4MTIsMHgwZCwweDQyfSB9LAoteyAgMTYsMHgxYTAwLDAsezB4YzgsMHhlYywweGM4LDB4YzksMHhlZCwweGM5LDB4Y2EsMHhlZSwweGNhLDB4Y2IsMHhlZiwweGNiLDB4OTAsMHg3OSwweDIyLDB4ZTB9IH0sCi17ICAxNiwweDFhMTAsMCx7MHhmZSwweGU0LDB4ZmMsMHhmZCwweDJiLDB4ZmIsMHhlYSwweDNlLDB4ZmEsMHhlZCwweDM5LDB4ZjksMHhlYywweDM4LDB4ZjgsMHg5MH0gfSwKLXsgIDE2LDB4MWEyMCwwLHsweDc5LDB4MjEsMHhlMCwweGZmLDB4ZTQsMHhmZSwweGViLDB4MmYsMHhmZiwweGVlLDB4M2EsMHhmZSwweGVkLDB4MzksMHhmZCwweGVjfSB9LAoteyAgMTYsMHgxYTMwLDAsezB4MzgsMHhmYywweDkwLDB4NzgsMHgxMiwweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHg5MCwweDAwLDB4MGF9IH0sCi17ICAxNiwweDFhNDAsMCx7MHgxMiwweDBkLDB4ZDIsMHgyMiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDc5LDB4OTcsMHhlMH0gfSwKLXsgIDE2LDB4MWE1MCwwLHsweDE0LDB4NzAsMHgxOCwweDkwLDB4NzksMHgyMSwweGUwLDB4ZmYsMHg5MCwweDc4LDB4MTIsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhfSB9LAoteyAgMTYsMHgxYTYwLDAsezB4YTMsMHhlMCwweGY5LDB4OTAsMHgwMCwweDBlLDB4ZWYsMHgxMiwweDBjLDB4OWMsMHgyMiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDR9IH0sCi17ICAxMCwweDFhNzAsMCx7MHgwMSwweGYwLDB4MjIsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMH0gfSwKLXsgICAxLDB4MWE3YSwwLHsweDIyfSB9LAoteyAgMTYsMHgxYTdiLDAsezB4ZTQsMHhmZiwweGZlLDB4N2IsMHgwMSwweDkwLDB4NzgsMHgwZiwweDA0LDB4ZjAsMHhhMywweDc0LDB4NzgsMHhmMCwweGEzLDB4NzR9IH0sCi17ICAxNiwweDFhOGIsMCx7MHgyYiwweGYwLDB4OTAsMHg3OCwweDBmLDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweDkwLDB4MDAsMHgwMn0gfSwKLXsgIDE2LDB4MWE5YiwwLHsweDEyLDB4MGMsMHg1ZCwweGZkLDB4OTAsMHg3ZiwweGVjLDB4ZTAsMHg2ZCwweDYwLDB4MTMsMHhlZiwweGMzLDB4OTQsMHgwNSwweDUwfSB9LAoteyAgMTYsMHgxYWFiLDAsezB4MGQsMHgwZiwweDkwLDB4NzgsMHgxMCwweGU0LDB4NzUsMHhmMCwweDAzLDB4MTIsMHgwYywweGY0LDB4ODAsMHhkNCwweDhkLDB4MzN9IH0sCi17ICAxNiwweDFhYmIsMCx7MHg5MCwweDc4LDB4MGYsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4OTAsMHgwMCwweDAxLDB4MTIsMHgwY30gfSwKLXsgIDE2LDB4MWFjYiwwLHsweDVkLDB4ZmQsMHg5MCwweDdmLDB4ZWQsMHhlMCwweDZkLDB4NjAsMHgxMywweGVlLDB4YzMsMHg5NCwweDBiLDB4NTAsMHgwZCwweDBlfSB9LAoteyAgMTYsMHgxYWRiLDAsezB4OTAsMHg3OCwweDEwLDB4ZTQsMHg3NSwweGYwLDB4MDMsMHgxMiwweDBjLDB4ZjQsMHg4MCwweGQ0LDB4OTAsMHg3ZiwweGVkLDB4ZTB9IH0sCi17ICAxNiwweDFhZWIsMCx7MHhmNSwweDM0LDB4ZWYsMHg2NCwweDA1LDB4NjAsMHgwMywweGJlLDB4MGIsMHgwOCwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMX0gfSwKLXsgIDE2LDB4MWFmYiwwLHsweGYwLDB4MjIsMHg5MCwweDc4LDB4MGYsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4MTIsMHgwYywweDQ0fSB9LAoteyAgMTYsMHgxYjBiLDAsezB4ZmYsMHgyNCwweGYwLDB4NjAsMHgwOCwweDI0LDB4MGYsMHg3MCwweDBlLDB4MTIsMHg0OSwweDJhLDB4MjIsMHgxMiwweDRiLDB4ODN9IH0sCi17ICAxNCwweDFiMWIsMCx7MHg5MCwweDc5LDB4MjAsMHhlNSwweDM0LDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwfSB9LAoteyAgIDEsMHgxYjI5LDAsezB4MjJ9IH0sCi17ICAxNSwweDFiMmEsMCx7MHg5MCwweDdmLDB4ZWEsMHhlMCwweGI0LDB4ZmYsMHgwNCwweDEyLDB4MzQsMHgxNiwweDIyLDB4MTIsMHgzOCwweDAwLDB4MjJ9IH0sCi17ICAgNywweDFiMzksMCx7MHg1MywweDk4LDB4ZmUsMHg1MywweDk4LDB4ZmQsMHgzMn0gfSwKLXsgIDE2LDB4MWI0MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxYjUwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFiNjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWI3MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxYjgwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFiOTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWJhMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxYmIwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFiYzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWJkMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxYmUwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFiZjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWMwMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxYzEwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFjMjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWMzMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxYzQwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFjNTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWM2MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxYzcwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFjODAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWM5MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxY2EwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFjYjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWNjMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxY2QwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFjZTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWNmMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxZDAwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFkMTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWQyMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxZDMwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFkNDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWQ1MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxZDYwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFkNzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWQ4MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxZDkwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFkYTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWRiMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxZGMwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFkZDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWRlMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxZGYwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFlMDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWUxMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxZTIwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFlMzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWU0MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxZTUwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFlNjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWU3MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxZTgwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFlOTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWVhMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTQsMHgxZWIwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWViZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxZWNlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFlZGUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWVlZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxZWZlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFmMGUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWYxZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxZjJlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAgMiwweDFmM2UsMCx7MHgwMCwweDAwfSB9LAoteyAgMTYsMHgxZjQwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFmNTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWY2MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxZjcwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFmODAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWY5MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxZmEwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFmYjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWZjMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxZmQwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFmZTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWZmMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyMDAwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDIwMTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjAyMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyMDMwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDIwNDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjA1MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyMDYwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDIwNzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjA4MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyMDkwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDIwYTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjBiMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyMGMwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDIwZDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjBlMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyMGYwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDIxMDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjExMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyMTIwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDIxMzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjE0MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyMTUwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDIxNjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjE3MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyMTgwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDIxOTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjFhMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyMWIwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDIxYzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjFkMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyMWUwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDIxZjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjIwMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyMjEwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDIyMjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjIzMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyMjQwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDIyNTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjI2MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyMjcwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDIyODAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjI5MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyMmEwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDIyYjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjJjMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyMmQwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDIyZTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjJmMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyMzAwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDIzMTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjMyMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyMzMwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDIzNDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjM1MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyMzYwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNCwweDIzNzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyMzdlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDIzOGUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjM5ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyM2FlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDIzYmUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjNjZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyM2RlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDIzZWUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjNmZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyNDBlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDI0MWUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjQyZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyNDNlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDI0NGUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjQ1ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyNDZlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDI0N2UsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjQ4ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyNDllLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDI0YWUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjRiZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyNGNlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDI0ZGUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjRlZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyNGZlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDI1MGUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjUxZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyNTJlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDI1M2UsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjU0ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyNTVlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDI1NmUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjU3ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyNThlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDI1OWUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjVhZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyNWJlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDI1Y2UsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjVkZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyNWVlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDI1ZmUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjYwZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyNjFlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDI2MmUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjYzZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyNjRlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDI2NWUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjY2ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyNjdlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDI2OGUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjY5ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyNmFlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDI2YmUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjZjZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyNmRlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNCwweDI2ZWUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyNmZjLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDI3MGMsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjcxYywwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyNzJjLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDI3M2MsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4Mjc0YywwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyNzVjLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDI3NmMsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4Mjc3YywwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyNzhjLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDI3OWMsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjdhYywwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyN2JjLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDI3Y2MsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjdkYywwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyN2VjLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAgNSwweDI3ZmMsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDIyfSB9LAoteyAgMTYsMHgyODAxLDAsezB4OTAsMHg3OSwweDY0LDB4ZTAsMHgxNCwweDYwLDB4NDYsMHgxNCwweDcwLDB4MDIsMHg0MSwweDNjLDB4MjQsMHgwMiwweDYwLDB4MDJ9IH0sCi17ICAxNiwweDI4MTEsMCx7MHg4MSwweDJhLDB4OTAsMHg3ZiwweGZjLDB4NzQsMHhjYywweGYwLDB4OTAsMHg3ZiwweGZmLDB4NzQsMHhmYywweGYwLDB4OTAsMHg3OX0gfSwKLXsgIDE2LDB4MjgyMSwwLHsweDc4LDB4NzQsMHgwMSwweGYwLDB4OTAsMHg3OSwweDdjLDB4ZTAsMHg5MCwweDc5LDB4NzksMHhmMCwweDU0LDB4ZmQsMHhmMCwweDQ0fSB9LAoteyAgMTYsMHgyODMxLDAsezB4MDEsMHhmMCwweDkwLDB4NzksMHg3YywweGYwLDB4YTIsMHhhZiwweGU0LDB4MzMsMHhmNSwweDEyLDB4YzIsMHhhZiwweDEyLDB4MGJ9IH0sCi17ICAxNiwweDI4NDEsMCx7MHhhMiwweGU1LDB4MTIsMHg2MCwweDAyLDB4ZDIsMHhhZiwweGU0LDB4OTAsMHg3OSwweDdhLDB4ZjAsMHgyMiwweDkwLDB4NzksMHgyZH0gfSwKLXsgIDE2LDB4Mjg1MSwwLHsweGUwLDB4NjQsMHgwMSwweDYwLDB4MDIsMHgwMSwweGYxLDB4OTAsMHg3ZiwweGZjLDB4NzQsMHhjYywweGYwLDB4OTAsMHg3ZiwweGZmfSB9LAoteyAgMTYsMHgyODYxLDAsezB4NzQsMHhmYywweGYwLDB4OTAsMHg3OSwweDc4LDB4NzQsMHgwMSwweGYwLDB4OTAsMHg3OSwweDdjLDB4ZTAsMHg5MCwweDc5LDB4Nzl9IH0sCi17ICAxNiwweDI4NzEsMCx7MHhmMCwweDQ0LDB4MDEsMHhmMCwweDQ0LDB4MDIsMHhmMCwweDkwLDB4NzksMHg3ZSwweGUwLDB4YjQsMHgwMSwweDA5LDB4OTAsMHg3OX0gfSwKLXsgIDE2LDB4Mjg4MSwwLHsweDc5LDB4ZTAsMHg0NCwweDA0LDB4ZjAsMHg4MCwweDA3LDB4OTAsMHg3OSwweDc5LDB4ZTAsMHg1NCwweGZiLDB4ZjAsMHg5MCwweDc5fSB9LAoteyAgMTYsMHgyODkxLDAsezB4NzksMHhlMCwweDkwLDB4NzksMHg3YywweGYwLDB4YTIsMHhhZiwweGU0LDB4MzMsMHhmNSwweDEyLDB4YzIsMHhhZiwweDEyLDB4MGJ9IH0sCi17ICAxNiwweDI4YTEsMCx7MHhhMiwweDkwLDB4NzksMHg3OCwweDc0LDB4MDIsMHhmMCwweDkwLDB4NzksMHg4NCwweGUwLDB4OTAsMHg3OSwweDc5LDB4ZjAsMHg5MH0gfSwKLXsgIDE2LDB4MjhiMSwwLHsweDc5LDB4N2YsMHhlMCwweGI0LDB4MDEsMHgwOSwweDkwLDB4NzksMHg3OSwweGUwLDB4NTQsMHhmZSwweGYwLDB4ODAsMHgwNywweDkwfSB9LAoteyAgMTYsMHgyOGMxLDAsezB4NzksMHg3OSwweGUwLDB4NDQsMHgwMSwweGYwLDB4OTAsMHg3OSwweDc5LDB4ZTAsMHg1NCwweGZkLDB4ZjAsMHg1NCwweGZiLDB4ZjB9IH0sCi17ICAxNiwweDI4ZDEsMCx7MHg5MCwweDc5LDB4ODQsMHhmMCwweDEyLDB4MGIsMHhhMiwweDkwLDB4NzksMHg3YSwweDc0LDB4MDEsMHhmMCwweDkwLDB4NzksMHg2NX0gfSwKLXsgIDE2LDB4MjhlMSwwLHsweGYwLDB4ZTUsMHgxMiwweDYwLDB4MDIsMHhkMiwweGFmLDB4ZTQsMHg5MCwweDc5LDB4OGMsMHhmMCwweDkwLDB4NzksMHg4YiwweGYwfSB9LAoteyAgMTYsMHgyOGYxLDAsezB4OTAsMHg3OSwweDJkLDB4ZTAsMHg2NCwweDAyLDB4NjAsMHgwMiwweDIxLDB4OTYsMHg5MCwweDdmLDB4ZmMsMHg3NCwweGM4LDB4ZjB9IH0sCi17ICAxNiwweDI5MDEsMCx7MHg5MCwweDdmLDB4ZmYsMHg3NCwweGZjLDB4ZjAsMHg5MCwweDc5LDB4NzgsMHg3NCwweDAxLDB4ZjAsMHg5MCwweDc5LDB4N2MsMHhlMH0gfSwKLXsgIDE2LDB4MjkxMSwwLHsweDkwLDB4NzksMHg3OSwweGYwLDB4NDQsMHgwMSwweGYwLDB4NDQsMHgwMiwweGYwLDB4OTAsMHg3OSwweDdlLDB4ZTAsMHhiNCwweDAxfSB9LAoteyAgMTYsMHgyOTIxLDAsezB4MDksMHg5MCwweDc5LDB4NzksMHhlMCwweDQ0LDB4MDQsMHhmMCwweDgwLDB4MDcsMHg5MCwweDc5LDB4NzksMHhlMCwweDU0LDB4ZmJ9IH0sCi17ICAxNiwweDI5MzEsMCx7MHhmMCwweDkwLDB4NzksMHg3OSwweGUwLDB4OTAsMHg3OSwweDdjLDB4ZjAsMHhhMiwweGFmLDB4ZTQsMHgzMywweGY1LDB4MTIsMHhjMn0gfSwKLXsgIDE2LDB4Mjk0MSwwLHsweGFmLDB4MTIsMHgwYiwweGEyLDB4OTAsMHg3OSwweDc4LDB4NzQsMHgwMiwweGYwLDB4OTAsMHg3OSwweDg0LDB4ZTAsMHg5MCwweDc5fSB9LAoteyAgMTYsMHgyOTUxLDAsezB4NzksMHhmMCwweDkwLDB4NzksMHg3ZiwweGUwLDB4YjQsMHgwMSwweDA5LDB4OTAsMHg3OSwweDc5LDB4ZTAsMHg1NCwweGZlLDB4ZjB9IH0sCi17ICAxNiwweDI5NjEsMCx7MHg4MCwweDA3LDB4OTAsMHg3OSwweDc5LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg5MCwweDc5LDB4NzksMHhlMCwweDQ0LDB4MDIsMHhmMH0gfSwKLXsgIDE2LDB4Mjk3MSwwLHsweDU0LDB4ZmIsMHhmMCwweDkwLDB4NzksMHg4NCwweGYwLDB4MTIsMHgwYiwweGEyLDB4OTAsMHg3OSwweDdhLDB4NzQsMHgwMSwweGYwfSB9LAoteyAgMTYsMHgyOTgxLDAsezB4OTAsMHg3OSwweDY1LDB4NzQsMHgwMywweGYwLDB4ZTUsMHgxMiwweDYwLDB4MDIsMHhkMiwweGFmLDB4ZTQsMHg5MCwweDc5LDB4OGN9IH0sCi17ICAxNiwweDI5OTEsMCx7MHhmMCwweDkwLDB4NzksMHg4YiwweGYwLDB4OTAsMHg3OSwweDJkLDB4ZTAsMHg2NCwweDAzLDB4NjAsMHgwMiwweDgxLDB4MmEsMHg5MH0gfSwKLXsgIDE2LDB4MjlhMSwwLHsweDdmLDB4ZmMsMHg3NCwweDk4LDB4ZjAsMHg5MCwweDdmLDB4ZmYsMHg3NCwweGZjLDB4ZjAsMHg5MCwweDc5LDB4NzgsMHg3NCwweDAxfSB9LAoteyAgMTYsMHgyOWIxLDAsezB4ZjAsMHg5MCwweDc5LDB4N2MsMHhlMCwweDkwLDB4NzksMHg3OSwweGYwLDB4NDQsMHgwMSwweGYwLDB4NDQsMHgwMiwweGYwLDB4OTB9IH0sCi17ICAxNiwweDI5YzEsMCx7MHg3OSwweDdlLDB4ZTAsMHhiNCwweDAxLDB4MDksMHg5MCwweDc5LDB4NzksMHhlMCwweDQ0LDB4MDQsMHhmMCwweDgwLDB4MDcsMHg5MH0gfSwKLXsgIDE2LDB4MjlkMSwwLHsweDc5LDB4NzksMHhlMCwweDU0LDB4ZmIsMHhmMCwweDkwLDB4NzksMHg3OSwweGUwLDB4OTAsMHg3OSwweDdjLDB4ZjAsMHhhMiwweGFmfSB9LAoteyAgMTYsMHgyOWUxLDAsezB4ZTQsMHgzMywweGY1LDB4MTIsMHhjMiwweGFmLDB4MTIsMHgwYiwweGEyLDB4OTAsMHg3OSwweDc4LDB4NzQsMHgwMiwweGYwLDB4OTB9IH0sCi17ICAxNiwweDI5ZjEsMCx7MHg3OSwweDg0LDB4ZTAsMHg5MCwweDc5LDB4NzksMHhmMCwweDkwLDB4NzksMHg3ZiwweGUwLDB4YjQsMHgwMSwweDA5LDB4OTAsMHg3OX0gfSwKLXsgIDE2LDB4MmEwMSwwLHsweDc5LDB4ZTAsMHg1NCwweGZlLDB4ZjAsMHg4MCwweDA3LDB4OTAsMHg3OSwweDc5LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg5MCwweDc5fSB9LAoteyAgMTYsMHgyYTExLDAsezB4NzksMHhlMCwweDU0LDB4ZmQsMHhmMCwweDQ0LDB4MDQsMHhmMCwweDkwLDB4NzksMHg4NCwweGYwLDB4MTIsMHgwYiwweGEyLDB4OTB9IH0sCi17ICAxNiwweDJhMjEsMCx7MHg3OSwweDdhLDB4NzQsMHgwMSwweGYwLDB4OTAsMHg3OSwweDY1LDB4NzQsMHgwNSwweGYwLDB4ZTUsMHgxMiwweDYwLDB4MDIsMHhkMn0gfSwKLXsgIDE2LDB4MmEzMSwwLHsweGFmLDB4ZTQsMHg5MCwweDc5LDB4OGMsMHhmMCwweDkwLDB4NzksMHg4YiwweGYwLDB4MjIsMHg5MCwweDc5LDB4MmQsMHhlMCwweDY0fSB9LAoteyAgMTYsMHgyYTQxLDAsezB4MDEsMHg2MCwweDAyLDB4NDEsMHhlMCwweDkwLDB4N2YsMHhmYywweDc0LDB4YjQsMHhmMCwweDkwLDB4N2YsMHhmZiwweDc0LDB4ZmN9IH0sCi17ICAxNiwweDJhNTEsMCx7MHhmMCwweDkwLDB4NzksMHg3OCwweDc0LDB4MDEsMHhmMCwweDkwLDB4NzksMHg3YywweGUwLDB4OTAsMHg3OSwweDc5LDB4ZjAsMHg1NH0gfSwKLXsgIDE2LDB4MmE2MSwwLHsweGZlLDB4ZjAsMHg0NCwweDAyLDB4ZjAsMHg5MCwweDc5LDB4N2UsMHhlMCwweGI0LDB4MDEsMHgwOSwweDkwLDB4NzksMHg3OSwweGUwfSB9LAoteyAgMTYsMHgyYTcxLDAsezB4NDQsMHgwNCwweGYwLDB4ODAsMHgwNywweDkwLDB4NzksMHg3OSwweGUwLDB4NTQsMHhmYiwweGYwLDB4OTAsMHg3OSwweDc5LDB4ZTB9IH0sCi17ICAxNiwweDJhODEsMCx7MHg5MCwweDc5LDB4N2MsMHhmMCwweGEyLDB4YWYsMHhlNCwweDMzLDB4ZjUsMHgxMiwweGMyLDB4YWYsMHgxMiwweDBiLDB4YTIsMHg5MH0gfSwKLXsgIDE2LDB4MmE5MSwwLHsweDc5LDB4NzgsMHg3NCwweDAyLDB4ZjAsMHg5MCwweDc5LDB4ODQsMHhlMCwweDkwLDB4NzksMHg3OSwweGYwLDB4OTAsMHg3OSwweDdmfSB9LAoteyAgMTYsMHgyYWExLDAsezB4ZTAsMHhiNCwweDAxLDB4MDksMHg5MCwweDc5LDB4NzksMHhlMCwweDU0LDB4ZmUsMHhmMCwweDgwLDB4MDcsMHg5MCwweDc5LDB4Nzl9IH0sCi17ICAxNiwweDJhYjEsMCx7MHhlMCwweDQ0LDB4MDEsMHhmMCwweDkwLDB4NzksMHg3OSwweGUwLDB4NTQsMHhmZCwweGYwLDB4NTQsMHhmYiwweGYwLDB4OTAsMHg3OX0gfSwKLXsgIDE2LDB4MmFjMSwwLHsweDg0LDB4ZjAsMHgxMiwweDBiLDB4YTIsMHg5MCwweDc5LDB4N2EsMHg3NCwweDAxLDB4ZjAsMHg5MCwweDc5LDB4NjUsMHgwNCwweGYwfSB9LAoteyAgMTYsMHgyYWQxLDAsezB4ZTUsMHgxMiwweDYwLDB4MDIsMHhkMiwweGFmLDB4ZTQsMHg5MCwweDc5LDB4OGMsMHhmMCwweDkwLDB4NzksMHg4YiwweGYwLDB4OTB9IH0sCi17ICAxNiwweDJhZTEsMCx7MHg3OSwweDJkLDB4ZTAsMHg2NCwweDAyLDB4NjAsMHgwMiwweDYxLDB4ODUsMHg5MCwweDdmLDB4ZmMsMHg3NCwweGIwLDB4ZjAsMHg5MH0gfSwKLXsgIDE2LDB4MmFmMSwwLHsweDdmLDB4ZmYsMHg3NCwweGZjLDB4ZjAsMHg5MCwweDc5LDB4NzgsMHg3NCwweDAxLDB4ZjAsMHg5MCwweDc5LDB4N2MsMHhlMCwweDkwfSB9LAoteyAgMTYsMHgyYjAxLDAsezB4NzksMHg3OSwweGYwLDB4NTQsMHhmZSwweGYwLDB4NDQsMHgwMiwweGYwLDB4OTAsMHg3OSwweDdlLDB4ZTAsMHhiNCwweDAxLDB4MDl9IH0sCi17ICAxNiwweDJiMTEsMCx7MHg5MCwweDc5LDB4NzksMHhlMCwweDQ0LDB4MDQsMHhmMCwweDgwLDB4MDcsMHg5MCwweDc5LDB4NzksMHhlMCwweDU0LDB4ZmIsMHhmMH0gfSwKLXsgIDE2LDB4MmIyMSwwLHsweDkwLDB4NzksMHg3OSwweGUwLDB4OTAsMHg3OSwweDdjLDB4ZjAsMHhhMiwweGFmLDB4ZTQsMHgzMywweGY1LDB4MTIsMHhjMiwweGFmfSB9LAoteyAgMTYsMHgyYjMxLDAsezB4MTIsMHgwYiwweGEyLDB4OTAsMHg3OSwweDc4LDB4NzQsMHgwMiwweGYwLDB4OTAsMHg3OSwweDg0LDB4ZTAsMHg5MCwweDc5LDB4Nzl9IH0sCi17ICAxNiwweDJiNDEsMCx7MHhmMCwweDkwLDB4NzksMHg3ZiwweGUwLDB4YjQsMHgwMSwweDA5LDB4OTAsMHg3OSwweDc5LDB4ZTAsMHg1NCwweGZlLDB4ZjAsMHg4MH0gfSwKLXsgIDE2LDB4MmI1MSwwLHsweDA3LDB4OTAsMHg3OSwweDc5LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg5MCwweDc5LDB4NzksMHhlMCwweDQ0LDB4MDIsMHhmMCwweDU0fSB9LAoteyAgMTYsMHgyYjYxLDAsezB4ZmIsMHhmMCwweDkwLDB4NzksMHg4NCwweGYwLDB4MTIsMHgwYiwweGEyLDB4OTAsMHg3OSwweDdhLDB4NzQsMHgwMSwweGYwLDB4OTB9IH0sCi17ICAxNiwweDJiNzEsMCx7MHg3OSwweDY1LDB4NzQsMHgwNCwweGYwLDB4ZTUsMHgxMiwweDYwLDB4MDIsMHhkMiwweGFmLDB4ZTQsMHg5MCwweDc5LDB4OGMsMHhmMH0gfSwKLXsgIDE2LDB4MmI4MSwwLHsweDkwLDB4NzksMHg4YiwweGYwLDB4OTAsMHg3OSwweDJkLDB4ZTAsMHg2NCwweDAzLDB4NjAsMHgwMiwweDgxLDB4MmEsMHg5MCwweDdmfSB9LAoteyAgMTYsMHgyYjkxLDAsezB4ZmMsMHg3NCwweDY4LDB4ZjAsMHg5MCwweDdmLDB4ZmYsMHg3NCwweGZjLDB4ZjAsMHg5MCwweDc5LDB4NzgsMHg3NCwweDAxLDB4ZjB9IH0sCi17ICAxNiwweDJiYTEsMCx7MHg5MCwweDc5LDB4N2MsMHhlMCwweDkwLDB4NzksMHg3OSwweGYwLDB4NTQsMHhmZSwweGYwLDB4NDQsMHgwMiwweGYwLDB4OTAsMHg3OX0gfSwKLXsgIDE2LDB4MmJiMSwwLHsweDdlLDB4ZTAsMHhiNCwweDAxLDB4MDksMHg5MCwweDc5LDB4NzksMHhlMCwweDQ0LDB4MDQsMHhmMCwweDgwLDB4MDcsMHg5MCwweDc5fSB9LAoteyAgMTYsMHgyYmMxLDAsezB4NzksMHhlMCwweDU0LDB4ZmIsMHhmMCwweDkwLDB4NzksMHg3OSwweGUwLDB4OTAsMHg3OSwweDdjLDB4ZjAsMHhhMiwweGFmLDB4ZTR9IH0sCi17ICAxNiwweDJiZDEsMCx7MHgzMywweGY1LDB4MTIsMHhjMiwweGFmLDB4MTIsMHgwYiwweGEyLDB4OTAsMHg3OSwweDc4LDB4NzQsMHgwMiwweGYwLDB4OTAsMHg3OX0gfSwKLXsgIDE2LDB4MmJlMSwwLHsweDg0LDB4ZTAsMHg5MCwweDc5LDB4NzksMHhmMCwweDkwLDB4NzksMHg3ZiwweGUwLDB4YjQsMHgwMSwweDA5LDB4OTAsMHg3OSwweDc5fSB9LAoteyAgMTYsMHgyYmYxLDAsezB4ZTAsMHg1NCwweGZlLDB4ZjAsMHg4MCwweDA3LDB4OTAsMHg3OSwweDc5LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg5MCwweDc5LDB4Nzl9IH0sCi17ICAxNiwweDJjMDEsMCx7MHhlMCwweDU0LDB4ZmQsMHhmMCwweDQ0LDB4MDQsMHhmMCwweDkwLDB4NzksMHg4NCwweGYwLDB4MTIsMHgwYiwweGEyLDB4OTAsMHg3OX0gfSwKLXsgIDE2LDB4MmMxMSwwLHsweDdhLDB4NzQsMHgwMSwweGYwLDB4OTAsMHg3OSwweDY1LDB4NzQsMHgwNiwweGYwLDB4ZTUsMHgxMiwweDYwLDB4MDIsMHhkMiwweGFmfSB9LAoteyAgMTAsMHgyYzIxLDAsezB4ZTQsMHg5MCwweDc5LDB4OGMsMHhmMCwweDkwLDB4NzksMHg4YiwweGYwLDB4MjJ9IH0sCi17ICAxNiwweDJjMmIsMCx7MHhlNCwweGZmLDB4N2IsMHgwMSwweDkwLDB4NzgsMHgxNiwweDA0LDB4ZjAsMHhhMywweDc0LDB4NzgsMHhmMCwweGEzLDB4NzQsMHg1OH0gfSwKLXsgIDE2LDB4MmMzYiwwLHsweGYwLDB4OTAsMHg3OCwweDE2LDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweDkwLDB4MDAsMHgwMSwweDEyfSB9LAoteyAgMTYsMHgyYzRiLDAsezB4MGMsMHg1ZCwweGZlLDB4OTAsMHg3ZiwweGVjLDB4ZTAsMHg2ZSwweDYwLDB4MTMsMHhlZiwweGMzLDB4OTQsMHgwNiwweDUwLDB4MGR9IH0sCi17ICAxNiwweDJjNWIsMCx7MHgwZiwweDkwLDB4NzgsMHgxNywweGU0LDB4NzUsMHhmMCwweDBmLDB4MTIsMHgwYywweGY0LDB4ODAsMHhkNCwweGJmLDB4MDYsMHgwOH0gfSwKLXsgIDE2LDB4MmM2YiwwLHsweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDc4LDB4MTYsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhfSB9LAoteyAgMTYsMHgyYzdiLDAsezB4YTMsMHhlMCwweGY5LDB4MTIsMHgwYywweDQ0LDB4ZmYsMHgyNCwweDlmLDB4NzAsMHgwMiwweGMxLDB4NjYsMHgyNCwweDIxLDB4NjB9IH0sCi17ICAxNiwweDJjOGIsMCx7MHgwMiwweGMxLDB4OGMsMHg5MCwweDdmLDB4ZTksMHhlMCwweDI0LDB4N2UsMHg3MCwweDAyLDB4YTEsMHgzMCwweDE0LDB4NzAsMHgwMn0gfSwKLXsgIDE2LDB4MmM5YiwwLHsweGExLDB4YzgsMHgyNCwweDAyLDB4NjAsMHgwMiwweGMxLDB4NWUsMHg5MCwweDAwLDB4MDIsMHgxMiwweDBkLDB4YTIsMHg3YiwweDQ0fSB9LAoteyAgMTYsMHgyY2FiLDAsezB4N2EsMHhhYywweDc5LDB4MDAsMHg3OCwweDAwLDB4YzMsMHgxMiwweDBkLDB4OTEsMHg3MCwweDEzLDB4OTAsMHg3ZiwweDAwLDB4NzR9IH0sCi17ICAxNiwweDJjYmIsMCx7MHg0NCwweGYwLDB4YTMsMHg3NCwweGFjLDB4ZjAsMHhlNCwweGEzLDB4ZjAsMHg5MCwweDdmLDB4YjUsMHg3NCwweDAzLDB4ZjAsMHg5MH0gfSwKLXsgIDE2LDB4MmNjYiwwLHsweDc4LDB4MTYsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4OTAsMHgwMCwweDAyLDB4MTIsMHgwZCwweGEyfSB9LAoteyAgMTYsMHgyY2RiLDAsezB4N2IsMHg4MCwweDdhLDB4YmIsMHg3OSwweDAwLDB4NzgsMHgwMCwweGMzLDB4MTIsMHgwZCwweDkxLDB4NzAsMHgxMywweDkwLDB4N2Z9IH0sCi17ICAxNiwweDJjZWIsMCx7MHgwMCwweDc0LDB4ODAsMHhmMCwweGEzLDB4NzQsMHhiYiwweGYwLDB4ZTQsMHhhMywweGYwLDB4OTAsMHg3ZiwweGI1LDB4NzQsMHgwM30gfSwKLXsgIDE2LDB4MmNmYiwwLHsweGYwLDB4OTAsMHg3OCwweDE2LDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweDkwLDB4MDAsMHgwMiwweDEyfSB9LAoteyAgMTYsMHgyZDBiLDAsezB4MGQsMHhhMiwweDdiLDB4MDAsMHg3YSwweDc3LDB4NzksMHgwMSwweDc4LDB4MDAsMHhjMywweDEyLDB4MGQsMHg5MSwweDYwLDB4MDJ9IH0sCi17ICAxNiwweDJkMWIsMCx7MHhjMSwweDkzLDB4OTAsMHg3ZiwweDAwLDB4ZjAsMHhhMywweDc0LDB4NzcsMHhmMCwweGEzLDB4NzQsMHgwMSwweGYwLDB4OTAsMHg3Zn0gfSwKLXsgIDE2LDB4MmQyYiwwLHsweGI1LDB4NzQsMHgwMywweGYwLDB4MjIsMHg5MCwweDc4LDB4MTYsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5fSB9LAoteyAgMTYsMHgyZDNiLDAsezB4OTAsMHgwMCwweDA2LDB4MTIsMHgwZCwweGEyLDB4N2IsMHg0NCwweDdhLDB4YWMsMHg3OSwweDAwLDB4NzgsMHgwMCwweGMzLDB4MTJ9IH0sCi17ICAxNiwweDJkNGIsMCx7MHgwZCwweDkxLDB4NzAsMHgxMywweDkwLDB4N2YsMHgwMCwweDc0LDB4NDQsMHhmMCwweGEzLDB4NzQsMHhhYywweGYwLDB4ZTQsMHhhM30gfSwKLXsgIDE2LDB4MmQ1YiwwLHsweGYwLDB4OTAsMHg3ZiwweGI1LDB4NzQsMHgwMywweGYwLDB4OTAsMHg3OCwweDE2LDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzfSB9LAoteyAgMTYsMHgyZDZiLDAsezB4ZTAsMHhmOSwweDkwLDB4MDAsMHgwNiwweDEyLDB4MGQsMHhhMiwweDdiLDB4ODAsMHg3YSwweGJiLDB4NzksMHgwMCwweDc4LDB4MDB9IH0sCi17ICAxNiwweDJkN2IsMCx7MHhjMywweDEyLDB4MGQsMHg5MSwweDcwLDB4MTMsMHg5MCwweDdmLDB4MDAsMHg3NCwweDgwLDB4ZjAsMHhhMywweDc0LDB4YmIsMHhmMH0gfSwKLXsgIDE2LDB4MmQ4YiwwLHsweGU0LDB4YTMsMHhmMCwweDkwLDB4N2YsMHhiNSwweDc0LDB4MDMsMHhmMCwweDkwLDB4NzgsMHgxNiwweGUwLDB4ZmIsMHhhMywweGUwfSB9LAoteyAgMTYsMHgyZDliLDAsezB4ZmEsMHhhMywweGUwLDB4ZjksMHg5MCwweDAwLDB4MDYsMHgxMiwweDBkLDB4YTIsMHg3YiwweDAwLDB4N2EsMHg3NywweDc5LDB4MDF9IH0sCi17ICAxNiwweDJkYWIsMCx7MHg3OCwweDAwLDB4YzMsMHgxMiwweDBkLDB4OTEsMHg2MCwweDAyLDB4YzEsMHg5MywweDkwLDB4N2YsMHgwMCwweGYwLDB4YTMsMHg3NH0gfSwKLXsgIDE2LDB4MmRiYiwwLHsweDc3LDB4ZjAsMHhhMywweDc0LDB4MDEsMHhmMCwweDkwLDB4N2YsMHhiNSwweDc0LDB4MDMsMHhmMCwweDIyLDB4OTAsMHg3OCwweDE2fSB9LAoteyAgMTYsMHgyZGNiLDAsezB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweDkwLDB4MDAsMHgwYSwweDEyLDB4MGQsMHhhMiwweDdiLDB4NDR9IH0sCi17ICAxNiwweDJkZGIsMCx7MHg3YSwweGFjLDB4NzksMHgwMCwweDc4LDB4MDAsMHhjMywweDEyLDB4MGQsMHg5MSwweDcwLDB4MTMsMHg5MCwweDdmLDB4MDAsMHg3NH0gfSwKLXsgIDE2LDB4MmRlYiwwLHsweDQ0LDB4ZjAsMHhhMywweDc0LDB4YWMsMHhmMCwweGU0LDB4YTMsMHhmMCwweDkwLDB4N2YsMHhiNSwweDc0LDB4MDMsMHhmMCwweDkwfSB9LAoteyAgMTYsMHgyZGZiLDAsezB4NzgsMHgxNiwweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHg5MCwweDAwLDB4MGEsMHgxMiwweDBkLDB4YTJ9IH0sCi17ICAxNiwweDJlMGIsMCx7MHg3YiwweDgwLDB4N2EsMHhiYiwweDc5LDB4MDAsMHg3OCwweDAwLDB4YzMsMHgxMiwweDBkLDB4OTEsMHg3MCwweDEzLDB4OTAsMHg3Zn0gfSwKLXsgIDE2LDB4MmUxYiwwLHsweDAwLDB4NzQsMHg4MCwweGYwLDB4YTMsMHg3NCwweGJiLDB4ZjAsMHhlNCwweGEzLDB4ZjAsMHg5MCwweDdmLDB4YjUsMHg3NCwweDAzfSB9LAoteyAgMTYsMHgyZTJiLDAsezB4ZjAsMHg5MCwweDc4LDB4MTYsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4OTAsMHgwMCwweDBhLDB4MTJ9IH0sCi17ICAxNiwweDJlM2IsMCx7MHgwZCwweGEyLDB4N2IsMHgwMCwweDdhLDB4NzcsMHg3OSwweDAxLDB4NzgsMHgwMCwweGMzLDB4MTIsMHgwZCwweDkxLDB4NzAsMHg0OH0gfSwKLXsgIDE2LDB4MmU0YiwwLHsweDkwLDB4N2YsMHgwMCwweGYwLDB4YTMsMHg3NCwweDc3LDB4ZjAsMHhhMywweDc0LDB4MDEsMHhmMCwweDkwLDB4N2YsMHhiNSwweDc0fSB9LAoteyAgMTYsMHgyZTViLDAsezB4MDMsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhlOSwweGUwLDB4MjR9IH0sCi17ICAxNiwweDJlNmIsMCx7MHg3ZiwweDcwLDB4MTYsMHg5MCwweDc4LDB4MTYsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4OTAsMHgwMH0gfSwKLXsgIDE2LDB4MmU3YiwwLHsweDBlLDB4MTIsMHgwYywweDVkLDB4OTAsMHg3ZiwweDAwLDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwfSB9LAoteyAgIDgsMHgyZThiLDAsezB4MjIsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMH0gfSwKLXsgICAxLDB4MmU5MywwLHsweDIyfSB9LAoteyAgMTYsMHgyZTk0LDAsezB4NzUsMHgzNiwweDI1LDB4NzUsMHgzNywweDI0LDB4OTAsMHg3OSwweDc0LDB4ZTAsMHg2NCwweDAxLDB4NzAsMHg1NCwweGYwLDB4ZjV9IH0sCi17ICAxNiwweDJlYTQsMCx7MHgzNSwweDc1LDB4MjIsMHgwMSwweGU1LDB4MjIsMHg2NCwweDAxLDB4NzAsMHg0OCwweDkwLDB4N2YsMHhhNSwweGUwLDB4NDQsMHg4MH0gfSwKLXsgIDE2LDB4MmViNCwwLHsweGYwLDB4OTAsMHg3ZiwweGE2LDB4ZTUsMHgzNiwweGYwLDB4MTIsMHg0NiwweGMwLDB4NzQsMHg0ZiwweDI1LDB4MzUsMHhmNSwweDgyfSB9LAoteyAgMTYsMHgyZWM0LDAsezB4ZTQsMHgzNCwweDc5LDB4ZjUsMHg4MywweGUwLDB4OTAsMHg3ZiwweGE2LDB4ZjAsMHgxMiwweDQ2LDB4YzAsMHg3NCwweDM1LDB4MjV9IH0sCi17ICAxNiwweDJlZDQsMCx7MHgzNSwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzksMHhmNSwweDgzLDB4ZTAsMHg5MCwweDdmLDB4YTYsMHhmMCwweDEyLDB4NDYsMHhjMH0gfSwKLXsgIDE2LDB4MmVlNCwwLHsweDkwLDB4N2YsMHhhNSwweDc0LDB4NDAsMHhmMCwweDEyLDB4MGEsMHhjZCwweDA1LDB4MzUsMHhlNSwweDM1LDB4YzMsMHg5NCwweDBkfSB9LAoteyAgMTYsMHgyZWY0LDAsezB4NDAsMHhiMiwweDkwLDB4NzksMHg3NSwweGUwLDB4NjQsMHgwMSwweDYwLDB4MDIsMHhlMSwweGRlLDB4ZjAsMHg5MCwweDc5LDB4MjB9IH0sCi17ICAxNiwweDJmMDQsMCx7MHhlMCwweDY0LDB4MDUsMHg2MCwweDAyLDB4ZTEsMHg4ZCwweDdiLDB4MDEsMHg5MCwweDc5LDB4NWMsMHgwNCwweGYwLDB4YTMsMHg3NH0gfSwKLXsgIDE2LDB4MmYxNCwwLHsweDc4LDB4ZjAsMHhhMywweDc0LDB4YjIsMHhmMCwweDc1LDB4MzMsMHgwNywweDkwLDB4NzksMHg1YywweGUwLDB4ZmIsMHhhMywweGUwfSB9LAoteyAgMTYsMHgyZjI0LDAsezB4ZmEsMHhhMywweGUwLDB4ZjksMHg5MCwweDAwLDB4MDEsMHgxMiwweDBjLDB4NWQsMHg3MCwweDBmLDB4OTAsMHgwMCwweDA0LDB4MTJ9IH0sCi17ICAxNiwweDJmMzQsMCx7MHgwYywweDVkLDB4OTAsMHg3OSwweDJmLDB4ZjAsMHgxMiwweDBjLDB4MjksMHg4MCwweDA2LDB4OTAsMHg3OSwweDJmLDB4NzQsMHhmZn0gfSwKLXsgIDE2LDB4MmY0NCwwLHsweGYwLDB4ZTQsMHhmNSwweDM1LDB4NzUsMHgyMiwweDAxLDB4NzUsMHgzNCwweDAyLDB4ZTUsMHgyMiwweDY0LDB4MDEsMHg3MCwweDM5fSB9LAoteyAgMTYsMHgyZjU0LDAsezB4OTAsMHg3ZiwweGE1LDB4ZTAsMHg0NCwweDgwLDB4ZjAsMHg5MCwweDdmLDB4YTYsMHhlNSwweDM2LDB4ZjAsMHgxMiwweDQ2LDB4YzB9IH0sCi17ICAxNiwweDJmNjQsMCx7MHhhZiwweDM0LDB4MDUsMHgzNCwweDkwLDB4N2YsMHhhNiwweGVmLDB4ZjAsMHgxMiwweDQ2LDB4YzAsMHg5MCwweDc5LDB4MmYsMHhlMH0gfSwKLXsgIDE2LDB4MmY3NCwwLHsweDkwLDB4N2YsMHhhNiwweGYwLDB4MTIsMHg0NiwweGMwLDB4OTAsMHg3ZiwweGE1LDB4NzQsMHg0MCwweGYwLDB4MTIsMHgwYSwweGNkfSB9LAoteyAgMTYsMHgyZjg0LDAsezB4MDUsMHgzNSwweGU1LDB4MzUsMHhjMywweDk0LDB4MDYsMHg0MCwweGMxLDB4OTAsMHg3OSwweDIwLDB4ZTAsMHg2NCwweDA2LDB4NzB9IH0sCi17ICAxNiwweDJmOTQsMCx7MHg0OSwweDdiLDB4MDEsMHg5MCwweDc5LDB4NWYsMHgwNCwweGYwLDB4YTMsMHg3NCwweDc4LDB4ZjAsMHhhMywweDc0LDB4ZmYsMHhmMH0gfSwKLXsgIDE2LDB4MmZhNCwwLHsweDc1LDB4MzMsMHgwMywweDkwLDB4NzksMHg1ZiwweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHg5MCwweDAwfSB9LAoteyAgMTYsMHgyZmI0LDAsezB4MDEsMHgxMiwweDBjLDB4NWQsMHg3MCwweDFjLDB4OTAsMHgwMCwweDA0LDB4MTIsMHgwYywweDVkLDB4OTAsMHg3OSwweDMzLDB4ZjB9IH0sCi17ICAxNiwweDJmYzQsMCx7MHg3MCwweDAzLDB4NzQsMHhmZiwweGYwLDB4OTAsMHg3OSwweDMzLDB4ZTAsMHg1NCwweDdmLDB4ZmYsMHhmMCwweDI1LDB4ZTAsMHhmMH0gfSwKLXsgIDEwLDB4MmZkNCwwLHsweDgwLDB4MDUsMHhlNCwweDkwLDB4NzksMHgzMywweGYwLDB4MTIsMHg0NywweGRmfSB9LAoteyAgIDEsMHgyZmRlLDAsezB4MjJ9IH0sCi17ICAxNiwweDJmZGYsMCx7MHg5MCwweDc5LDB4NzgsMHg3NCwweDAzLDB4ZjAsMHg5MCwweDc5LDB4ODMsMHhlMCwweDkwLDB4NzksMHg3OSwweGYwLDB4YTIsMHhhZn0gfSwKLXsgIDE2LDB4MmZlZiwwLHsweGU0LDB4MzMsMHhmNSwweDEyLDB4YzIsMHhhZiwweDEyLDB4MGIsMHhhMiwweGU1LDB4MTIsMHg2MCwweDAyLDB4ZDIsMHhhZiwweDIyfSB9LAoteyAgIDEsMHgyZmZmLDAsezB4MjJ9IH0sCi17ICAxNiwweDMwMDAsMCx7MHhlNCwweGZlLDB4OTAsMHg3OSwweDIwLDB4ZTAsMHhmZCwweGI0LDB4MDUsMHgxMSwweDkwLDB4NzgsMHgyNSwweDc0LDB4MDEsMHhmMH0gfSwKLXsgIDE2LDB4MzAxMCwwLHsweGEzLDB4NzQsMHg3OCwweGYwLDB4YTMsMHg3NCwweGIyLDB4ZjAsMHg3NSwweDM1LDB4MDcsMHhlZCwweGI0LDB4MDYsMHgxMSwweDkwfSB9LAoteyAgMTYsMHgzMDIwLDAsezB4NzgsMHgyNSwweDc0LDB4MDEsMHhmMCwweGEzLDB4NzQsMHg3OCwweGYwLDB4YTMsMHg3NCwweGZmLDB4ZjAsMHg3NSwweDM1LDB4MDN9IH0sCi17ICAxNiwweDMwMzAsMCx7MHg5MCwweDdmLDB4ZWIsMHhlMCwweDE0LDB4NjAsMHgxMSwweDE0LDB4NjAsMHg1YiwweDI0LDB4MDIsMHg2MCwweDAyLDB4NDEsMHgwNX0gfSwKLXsgIDE2LDB4MzA0MCwwLHsweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDdmLDB4ZTksMHhlMCwweDI0LDB4N2YsMHg3MCwweDNkfSB9LAoteyAgMTYsMHgzMDUwLDAsezB4ZTQsMHhmZiwweGVmLDB4YzMsMHg5NSwweDM1LDB4NTAsMHgyZiwweDkwLDB4NzgsMHgyNSwweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmF9IH0sCi17ICAxNiwweDMwNjAsMCx7MHhhMywweGUwLDB4ZjksMHg5MCwweDAwLDB4MDEsMHgxMiwweDBjLDB4NWQsMHhmZCwweGNjLDB4ZWUsMHhjYywweDBlLDB4NzQsMHgwMH0gfSwKLXsgIDE2LDB4MzA3MCwwLHsweDJjLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3ZiwweGY1LDB4ODMsMHhlZCwweGYwLDB4OTAsMHg3OCwweDI2LDB4ZTQsMHg3NSwweGYwfSB9LAoteyAgMTYsMHgzMDgwLDAsezB4MGIsMHgxMiwweDBjLDB4ZjQsMHgwZiwweDgwLDB4Y2IsMHg5MCwweDdmLDB4YjUsMHhlZSwweGYwLDB4MjIsMHg5MCwweDdmLDB4YjR9IH0sCi17ICAxNiwweDMwOTAsMCx7MHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGU5LDB4ZTAsMHgyNCwweDdlLDB4NjAsMHg2NCwweDE0LDB4NzAsMHgwMn0gfSwKLXsgIDE2LDB4MzBhMCwwLHsweDIxLDB4NTUsMHgxNCwweDcwLDB4MDIsMHgyMSwweGE5LDB4MjQsMHgwMywweDYwLDB4MDIsMHgyMSwweGZkLDB4ZTQsMHhmZiwweGVmfSB9LAoteyAgMTYsMHgzMGIwLDAsezB4YzMsMHg5NSwweDM1LDB4NTAsMHg0NiwweDkwLDB4NzgsMHgyNSwweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4Zjl9IH0sCi17ICAxNiwweDMwYzAsMCx7MHg5MCwweDAwLDB4MDMsMHgxMiwweDBjLDB4NWQsMHhmZCwweGNjLDB4ZWUsMHhjYywweDBlLDB4NzQsMHgwMCwweDJjLDB4ZjUsMHg4Mn0gfSwKLXsgIDE2LDB4MzBkMCwwLHsweGU0LDB4MzQsMHg3ZiwweGY1LDB4ODMsMHhlZCwweGYwLDB4OTAsMHgwMCwweDA0LDB4MTIsMHgwYywweDVkLDB4ZmQsMHhjYywweGVlfSB9LAoteyAgMTYsMHgzMGUwLDAsezB4Y2MsMHgwZSwweDc0LDB4MDAsMHgyYywweGY1LDB4ODIsMHhlNCwweDM0LDB4N2YsMHhmNSwweDgzLDB4ZWQsMHhmMCwweDkwLDB4Nzh9IH0sCi17ICAxNiwweDMwZjAsMCx7MHgyNiwweGU0LDB4NzUsMHhmMCwweDBiLDB4MTIsMHgwYywweGY0LDB4MGYsMHg4MCwweGI0LDB4OTAsMHg3ZiwweGI1LDB4ZWUsMHhmMH0gfSwKLXsgIDE2LDB4MzEwMCwwLHsweDIyLDB4ZTQsMHhmZiwweGVmLDB4YzMsMHg5NSwweDM1LDB4NTAsMHg0NiwweDkwLDB4NzgsMHgyNSwweGUwLDB4ZmIsMHhhMywweGUwfSB9LAoteyAgMTYsMHgzMTEwLDAsezB4ZmEsMHhhMywweGUwLDB4ZjksMHg5MCwweDAwLDB4MDUsMHgxMiwweDBjLDB4NWQsMHhmZCwweGNjLDB4ZWUsMHhjYywweDBlLDB4NzR9IH0sCi17ICAxNiwweDMxMjAsMCx7MHgwMCwweDJjLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3ZiwweGY1LDB4ODMsMHhlZCwweGYwLDB4OTAsMHgwMCwweDA2LDB4MTIsMHgwY30gfSwKLXsgIDE2LDB4MzEzMCwwLHsweDVkLDB4ZmQsMHhjYywweGVlLDB4Y2MsMHgwZSwweDc0LDB4MDAsMHgyYywweGY1LDB4ODIsMHhlNCwweDM0LDB4N2YsMHhmNSwweDgzfSB9LAoteyAgMTYsMHgzMTQwLDAsezB4ZWQsMHhmMCwweDkwLDB4NzgsMHgyNiwweGU0LDB4NzUsMHhmMCwweDBiLDB4MTIsMHgwYywweGY0LDB4MGYsMHg4MCwweGI0LDB4OTB9IH0sCi17ICAxNiwweDMxNTAsMCx7MHg3ZiwweGI1LDB4ZWUsMHhmMCwweDIyLDB4ZTQsMHhmZiwweGVmLDB4YzMsMHg5NSwweDM1LDB4NTAsMHg0NiwweDkwLDB4NzgsMHgyNX0gfSwKLXsgIDE2LDB4MzE2MCwwLHsweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHg5MCwweDAwLDB4MDcsMHgxMiwweDBjLDB4NWQsMHhmZCwweGNjfSB9LAoteyAgMTYsMHgzMTcwLDAsezB4ZWUsMHhjYywweDBlLDB4NzQsMHgwMCwweDJjLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3ZiwweGY1LDB4ODMsMHhlZCwweGYwLDB4OTB9IH0sCi17ICAxNiwweDMxODAsMCx7MHgwMCwweDA4LDB4MTIsMHgwYywweDVkLDB4ZmQsMHhjYywweGVlLDB4Y2MsMHgwZSwweDc0LDB4MDAsMHgyYywweGY1LDB4ODIsMHhlNH0gfSwKLXsgIDE2LDB4MzE5MCwwLHsweDM0LDB4N2YsMHhmNSwweDgzLDB4ZWQsMHhmMCwweDkwLDB4NzgsMHgyNiwweGU0LDB4NzUsMHhmMCwweDBiLDB4MTIsMHgwYywweGY0fSB9LAoteyAgMTYsMHgzMWEwLDAsezB4MGYsMHg4MCwweGI0LDB4OTAsMHg3ZiwweGI1LDB4ZWUsMHhmMCwweDIyLDB4ZTQsMHhmZiwweGVmLDB4YzMsMHg5NSwweDM1LDB4NTB9IH0sCi17ICAxNiwweDMxYjAsMCx7MHg0NiwweDkwLDB4NzgsMHgyNSwweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHg5MCwweDAwLDB4MDksMHgxMn0gfSwKLXsgIDE2LDB4MzFjMCwwLHsweDBjLDB4NWQsMHhmZCwweGNjLDB4ZWUsMHhjYywweDBlLDB4NzQsMHgwMCwweDJjLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3ZiwweGY1fSB9LAoteyAgMTYsMHgzMWQwLDAsezB4ODMsMHhlZCwweGYwLDB4OTAsMHgwMCwweDBhLDB4MTIsMHgwYywweDVkLDB4ZmQsMHhjYywweGVlLDB4Y2MsMHgwZSwweDc0LDB4MDB9IH0sCi17ICAxNiwweDMxZTAsMCx7MHgyYywweGY1LDB4ODIsMHhlNCwweDM0LDB4N2YsMHhmNSwweDgzLDB4ZWQsMHhmMCwweDkwLDB4NzgsMHgyNiwweGU0LDB4NzUsMHhmMH0gfSwKLXsgIDE2LDB4MzFmMCwwLHsweDBiLDB4MTIsMHgwYywweGY0LDB4MGYsMHg4MCwweGI0LDB4OTAsMHg3ZiwweGI1LDB4ZWUsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGI0fSB9LAoteyAgMTIsMHgzMjAwLDAsezB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwfSB9LAoteyAgIDEsMHgzMjBjLDAsezB4MjJ9IH0sCi17ICAxNiwweDMyMGQsMCx7MHg3YiwweDAxLDB4N2EsMHg3OCwweDc5LDB4MmIsMHg5MCwweDc4LDB4MDAsMHhlYiwweGYwLDB4YTMsMHhlYSwweGYwLDB4YTMsMHhlOX0gfSwKLXsgIDE2LDB4MzIxZCwwLHsweGYwLDB4NzQsMHgwMSwweDEyLDB4MGMsMHg4YSwweDkwLDB4NzgsMHgwMCwweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwfSB9LAoteyAgMTYsMHgzMjJkLDAsezB4ZjksMHg5MCwweDAwLDB4MDEsMHg3NCwweDAxLDB4MTIsMHgwYywweDljLDB4OTAsMHgwMCwweDAyLDB4ZTQsMHgxMiwweDBjLDB4OWN9IH0sCi17ICAxNiwweDMyM2QsMCx7MHg5MCwweDc4LDB4MDEsMHhlNCwweDc1LDB4ZjAsMHgwMywweDEyLDB4MGMsMHhmNCwweDkwLDB4NzgsMHgwMCwweGUwLDB4ZmIsMHhhM30gfSwKLXsgIDE2LDB4MzI0ZCwwLHsweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHg3NCwweDEwLDB4MTIsMHgwYywweDhhLDB4OTAsMHg3OCwweDAwLDB4ZTAsMHhmYiwweGEzfSB9LAoteyAgMTYsMHgzMjVkLDAsezB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweDkwLDB4MDAsMHgwMSwweDc0LDB4MDUsMHgxMiwweDBjLDB4OWMsMHg5MCwweDAwLDB4MDJ9IH0sCi17ICAxNiwweDMyNmQsMCx7MHhlNCwweDEyLDB4MGMsMHg5YywweDkwLDB4NzgsMHgwMSwweGU0LDB4NzUsMHhmMCwweDAzLDB4MTIsMHgwYywweGY0LDB4OTAsMHg3OH0gfSwKLXsgIDE2LDB4MzI3ZCwwLHsweDAwLDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweDc0LDB4MDIsMHgxMiwweDBjLDB4OGEsMHg5MCwweDc4fSB9LAoteyAgMTYsMHgzMjhkLDAsezB4MDAsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4OTAsMHgwMCwweDAxLDB4NzQsMHgwMiwweDEyLDB4MGN9IH0sCi17ICAxNiwweDMyOWQsMCx7MHg5YywweDkwLDB4MDAsMHgwMiwweGU0LDB4MTIsMHgwYywweDljLDB4OTAsMHg3OCwweDAxLDB4ZTQsMHg3NSwweGYwLDB4MDMsMHgxMn0gfSwKLXsgIDE2LDB4MzJhZCwwLHsweDBjLDB4ZjQsMHg5MCwweDc4LDB4MDAsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4NzQsMHgwMSwweDEyfSB9LAoteyAgMTYsMHgzMmJkLDAsezB4MGMsMHg4YSwweDkwLDB4NzgsMHgwMCwweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHg5MCwweDAwLDB4MDF9IH0sCi17ICAxNiwweDMyY2QsMCx7MHg3NCwweDAzLDB4MTIsMHgwYywweDljLDB4OTAsMHgwMCwweDAyLDB4ZTQsMHgxMiwweDBjLDB4OWMsMHg5MCwweDc4LDB4MDEsMHhlNH0gfSwKLXsgIDE2LDB4MzJkZCwwLHsweDc1LDB4ZjAsMHgwMywweDEyLDB4MGMsMHhmNCwweDkwLDB4NzgsMHgwMCwweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwfSB9LAoteyAgMTYsMHgzMmVkLDAsezB4ZjksMHg3NCwweDEwLDB4MTIsMHgwYywweDhhLDB4OTAsMHg3OCwweDAwLDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTB9IH0sCi17ICAxNiwweDMyZmQsMCx7MHhmOSwweDkwLDB4MDAsMHgwMSwweDc0LDB4MDYsMHgxMiwweDBjLDB4OWMsMHg5MCwweDAwLDB4MDIsMHhlNCwweDEyLDB4MGMsMHg5Y30gfSwKLXsgIDE2LDB4MzMwZCwwLHsweDkwLDB4NzgsMHgwMSwweGU0LDB4NzUsMHhmMCwweDAzLDB4MTIsMHgwYywweGY0LDB4OTAsMHg3OCwweDAwLDB4ZTAsMHhmYiwweGEzfSB9LAoteyAgMTYsMHgzMzFkLDAsezB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweDc0LDB4MDIsMHgxMiwweDBjLDB4OGEsMHg5MCwweDc4LDB4MDAsMHhlMCwweGZiLDB4YTN9IH0sCi17ICAxNiwweDMzMmQsMCx7MHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4OTAsMHgwMCwweDAxLDB4NzQsMHgwNCwweDEyLDB4MGMsMHg5YywweDkwLDB4MDAsMHgwMn0gfSwKLXsgIDE2LDB4MzMzZCwwLHsweGU0LDB4MTIsMHgwYywweDljLDB4OTAsMHg3OCwweDAxLDB4ZTQsMHg3NSwweGYwLDB4MDMsMHgxMiwweDBjLDB4ZjQsMHg5MCwweDc4fSB9LAoteyAgMTYsMHgzMzRkLDAsezB4MDAsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4NzQsMHgwMiwweDEyLDB4MGMsMHg4YSwweDkwLDB4Nzh9IH0sCi17ICAxNiwweDMzNWQsMCx7MHgwMCwweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHg5MCwweDAwLDB4MDEsMHg3NCwweDA0LDB4MTIsMHgwY30gfSwKLXsgIDE2LDB4MzM2ZCwwLHsweDljLDB4OTAsMHgwMCwweDAyLDB4NzQsMHgwNCwweDEyLDB4MGMsMHg5YywweDkwLDB4NzgsMHgwMSwweGU0LDB4NzUsMHhmMCwweDAzfSB9LAoteyAgMTYsMHgzMzdkLDAsezB4MTIsMHgwYywweGY0LDB4OTAsMHg3OCwweDAwLDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweDc0LDB4MDJ9IH0sCi17ICAxNiwweDMzOGQsMCx7MHgxMiwweDBjLDB4OGEsMHg5MCwweDc4LDB4MDAsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4OTAsMHgwMH0gfSwKLXsgIDE2LDB4MzM5ZCwwLHsweDAxLDB4NzQsMHgwMywweDEyLDB4MGMsMHg5YywweDkwLDB4MDAsMHgwMiwweDc0LDB4MDQsMHgxMiwweDBjLDB4OWMsMHg5MCwweDc4fSB9LAoteyAgMTYsMHgzM2FkLDAsezB4MDEsMHhlNCwweDc1LDB4ZjAsMHgwMywweDEyLDB4MGMsMHhmNCwweDkwLDB4NzgsMHgwMCwweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmF9IH0sCi17ICAxNiwweDMzYmQsMCx7MHhhMywweGUwLDB4ZjksMHg3NCwweDAyLDB4MTIsMHgwYywweDhhLDB4OTAsMHg3OCwweDAwLDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYX0gfSwKLXsgIDE2LDB4MzNjZCwwLHsweGEzLDB4ZTAsMHhmOSwweDkwLDB4MDAsMHgwMSwweDc0LDB4MDIsMHgxMiwweDBjLDB4OWMsMHg5MCwweDAwLDB4MDIsMHg3NCwweDA0fSB9LAoteyAgMTYsMHgzM2RkLDAsezB4MTIsMHgwYywweDljLDB4OTAsMHg3OCwweDAxLDB4ZTQsMHg3NSwweGYwLDB4MDMsMHgxMiwweDBjLDB4ZjQsMHg5MCwweDc4LDB4MDB9IH0sCi17ICAxNiwweDMzZWQsMCx7MHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4NzQsMHgwMiwweDEyLDB4MGMsMHg4YSwweDkwLDB4NzgsMHgwMH0gfSwKLXsgIDE2LDB4MzNmZCwwLHsweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHg5MCwweDAwLDB4MDEsMHg3NCwweDAxLDB4MTIsMHgwYywweDljfSB9LAoteyAgIDgsMHgzNDBkLDAsezB4OTAsMHgwMCwweDAyLDB4NzQsMHgwNCwweDEyLDB4MGMsMHg5Y30gfSwKLXsgICAxLDB4MzQxNSwwLHsweDIyfSB9LAoteyAgMTYsMHgzNDE2LDAsezB4ZTQsMHhmZSwweDkwLDB4NzksMHgyMCwweGUwLDB4ZmQsMHhiNCwweDA1LDB4MTEsMHg5MCwweDc4LDB4MWYsMHg3NCwweDAxLDB4ZjB9IH0sCi17ICAxNiwweDM0MjYsMCx7MHhhMywweDc0LDB4NzgsMHhmMCwweGEzLDB4NzQsMHhiMiwweGYwLDB4NzUsMHgzNSwweDA3LDB4ZWQsMHhiNCwweDA2LDB4MTEsMHg5MH0gfSwKLXsgIDE2LDB4MzQzNiwwLHsweDc4LDB4MWYsMHg3NCwweDAxLDB4ZjAsMHhhMywweDc0LDB4NzgsMHhmMCwweGEzLDB4NzQsMHhmZiwweGYwLDB4NzUsMHgzNSwweDAzfSB9LAoteyAgMTYsMHgzNDQ2LDAsezB4OTAsMHg3OSwweDk5LDB4ZTAsMHgxNCwweDYwLDB4MTEsMHgxNCwweDYwLDB4NWIsMHgyNCwweDAyLDB4NjAsMHgwMiwweGMxLDB4MDZ9IH0sCi17ICAxNiwweDM0NTYsMCx7MHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3OSwweDk3LDB4ZTAsMHgxNCwweDcwLDB4M2UsMHhlNH0gfSwKLXsgIDE2LDB4MzQ2NiwwLHsweGZmLDB4ZWYsMHhjMywweDk1LDB4MzUsMHg1MCwweDJmLDB4Y2QsMHhlZSwweGNkLDB4MGUsMHg3NCwweDIxLDB4MmQsMHhmNSwweDgyfSB9LAoteyAgMTYsMHgzNDc2LDAsezB4ZTQsMHgzNCwweDc5LDB4ZjUsMHg4MywweGUwLDB4ZmQsMHg5MCwweDc4LDB4MWYsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTN9IH0sCi17ICAxNiwweDM0ODYsMCx7MHhlMCwweGY5LDB4OTAsMHgwMCwweDAxLDB4ZWQsMHgxMiwweDBjLDB4OWMsMHg5MCwweDc4LDB4MjAsMHhlNCwweDc1LDB4ZjAsMHgwYn0gfSwKLXsgIDE2LDB4MzQ5NiwwLHsweDEyLDB4MGMsMHhmNCwweDBmLDB4ODAsMHhjYiwweDkwLDB4NzksMHg3NSwweDc0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGI0fSB9LAoteyAgMTYsMHgzNGE2LDAsezB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4NzksMHg5NywweGUwLDB4MjQsMHhmZSwweDYwLDB4NjMsMHgxNCwweDcwLDB4MDJ9IH0sCi17ICAxNiwweDM0YjYsMCx7MHhhMSwweDY0LDB4MTQsMHg3MCwweDAyLDB4YTEsMHhiMiwweDI0LDB4MDMsMHg2MCwweDAyLDB4YTEsMHhmZSwweGU0LDB4ZmYsMHhlZn0gfSwKLXsgIDE2LDB4MzRjNiwwLHsweGMzLDB4OTUsMHgzNSwweDUwLDB4NDQsMHhjZCwweGVlLDB4Y2QsMHgwZSwweDc0LDB4MjEsMHgyZCwweGY1LDB4ODIsMHhlNCwweDM0fSB9LAoteyAgMTYsMHgzNGQ2LDAsezB4NzksMHhmNSwweDgzLDB4ZTAsMHhmZCwweDkwLDB4NzgsMHgxZiwweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4Zjl9IH0sCi17ICAxNiwweDM0ZTYsMCx7MHg5MCwweDAwLDB4MDMsMHhlZCwweDEyLDB4MGMsMHg5YywweGNkLDB4ZWUsMHhjZCwweDBlLDB4NzQsMHgyMSwweDJkLDB4ZjUsMHg4Mn0gfSwKLXsgIDE2LDB4MzRmNiwwLHsweGU0LDB4MzQsMHg3OSwweGY1LDB4ODMsMHhlMCwweDkwLDB4MDAsMHgwNCwweDEyLDB4MGMsMHg5YywweDkwLDB4NzgsMHgyMCwweGU0fSB9LAoteyAgMTYsMHgzNTA2LDAsezB4NzUsMHhmMCwweDBiLDB4MTIsMHgwYywweGY0LDB4MGYsMHg4MCwweGI2LDB4OTAsMHg3OSwweDc1LDB4NzQsMHgwMSwweGYwLDB4MjJ9IH0sCi17ICAxNiwweDM1MTYsMCx7MHhlNCwweGZmLDB4ZWYsMHhjMywweDk1LDB4MzUsMHg0MCwweDAyLDB4YzEsMHgwZCwweGNkLDB4ZWUsMHhjZCwweDBlLDB4NzQsMHgyMX0gfSwKLXsgIDE2LDB4MzUyNiwwLHsweDJkLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3OSwweGY1LDB4ODMsMHhlMCwweGZkLDB4OTAsMHg3OCwweDFmLDB4ZTAsMHhmYiwweGEzfSB9LAoteyAgMTYsMHgzNTM2LDAsezB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweDkwLDB4MDAsMHgwNSwweGVkLDB4MTIsMHgwYywweDljLDB4Y2QsMHhlZSwweGNkLDB4MGV9IH0sCi17ICAxNiwweDM1NDYsMCx7MHg3NCwweDIxLDB4MmQsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc5LDB4ZjUsMHg4MywweGUwLDB4OTAsMHgwMCwweDA2LDB4MTIsMHgwY30gfSwKLXsgIDE2LDB4MzU1NiwwLHsweDljLDB4OTAsMHg3OCwweDIwLDB4ZTQsMHg3NSwweGYwLDB4MGIsMHgxMiwweDBjLDB4ZjQsMHgwZiwweDgwLDB4YjQsMHhlNCwweGZmfSB9LAoteyAgMTYsMHgzNTY2LDAsezB4ZWYsMHhjMywweDk1LDB4MzUsMHg0MCwweDAyLDB4YzEsMHgwZCwweGNkLDB4ZWUsMHhjZCwweDBlLDB4NzQsMHgyMSwweDJkLDB4ZjV9IH0sCi17ICAxNiwweDM1NzYsMCx7MHg4MiwweGU0LDB4MzQsMHg3OSwweGY1LDB4ODMsMHhlMCwweGZkLDB4OTAsMHg3OCwweDFmLDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYX0gfSwKLXsgIDE2LDB4MzU4NiwwLHsweGEzLDB4ZTAsMHhmOSwweDkwLDB4MDAsMHgwNywweGVkLDB4MTIsMHgwYywweDljLDB4Y2QsMHhlZSwweGNkLDB4MGUsMHg3NCwweDIxfSB9LAoteyAgMTYsMHgzNTk2LDAsezB4MmQsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc5LDB4ZjUsMHg4MywweGUwLDB4OTAsMHgwMCwweDA4LDB4MTIsMHgwYywweDljLDB4OTB9IH0sCi17ICAxNiwweDM1YTYsMCx7MHg3OCwweDIwLDB4ZTQsMHg3NSwweGYwLDB4MGIsMHgxMiwweDBjLDB4ZjQsMHgwZiwweDgwLDB4YjQsMHhlNCwweGZmLDB4ZWYsMHhjM30gfSwKLXsgIDE2LDB4MzViNiwwLHsweDk1LDB4MzUsMHg1MCwweDUzLDB4Y2QsMHhlZSwweGNkLDB4MGUsMHg3NCwweDIxLDB4MmQsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc5fSB9LAoteyAgMTYsMHgzNWM2LDAsezB4ZjUsMHg4MywweGUwLDB4ZmQsMHg5MCwweDc4LDB4MWYsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4OTB9IH0sCi17ICAxNiwweDM1ZDYsMCx7MHgwMCwweDA5LDB4ZWQsMHgxMiwweDBjLDB4OWMsMHhjZCwweGVlLDB4Y2QsMHgwZSwweDc0LDB4MjEsMHgyZCwweGY1LDB4ODIsMHhlNH0gfSwKLXsgIDE2LDB4MzVlNiwwLHsweDM0LDB4NzksMHhmNSwweDgzLDB4ZTAsMHg5MCwweDAwLDB4MGEsMHgxMiwweDBjLDB4OWMsMHg5MCwweDc4LDB4MjAsMHhlNCwweDc1fSB9LAoteyAgMTYsMHgzNWY2LDAsezB4ZjAsMHgwYiwweDEyLDB4MGMsMHhmNCwweDBmLDB4ODAsMHhiNiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjJ9IH0sCi17ICAgNywweDM2MDYsMCx7MHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMH0gfSwKLXsgICAxLDB4MzYwZCwwLHsweDIyfSB9LAoteyAgMTYsMHgzNjBlLDAsezB4ZTQsMHhmZSwweDkwLDB4NzksMHgyMCwweGUwLDB4ZmQsMHhiNCwweDA1LDB4MTAsMHg5MCwweDc4LDB4MjgsMHg3NCwweDAxLDB4ZjB9IH0sCi17ICAxNiwweDM2MWUsMCx7MHhhMywweDc0LDB4NzgsMHhmMCwweGEzLDB4NzQsMHhiMiwweGYwLDB4N2YsMHgwNywweGVkLDB4YjQsMHgwNiwweDEwLDB4OTAsMHg3OH0gfSwKLXsgIDE2LDB4MzYyZSwwLHsweDI4LDB4NzQsMHgwMSwweGYwLDB4YTMsMHg3NCwweDc4LDB4ZjAsMHhhMywweDc0LDB4ZmYsMHhmMCwweDdmLDB4MDMsMHg5MCwweDc4fSB9LAoteyAgMTYsMHgzNjNlLDAsezB4MjgsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4MTIsMHgwYywweDQ0LDB4ZmQsMHg5MCwweDdmLDB4ZWF9IH0sCi17ICAxNiwweDM2NGUsMCx7MHhlMCwweDZkLDB4NjAsMHgxMiwweGVlLDB4YzMsMHg5ZiwweDUwLDB4MGQsMHg5MCwweDc4LDB4MjksMHhlNCwweDc1LDB4ZjAsMHgwYn0gfSwKLXsgIDE2LDB4MzY1ZSwwLHsweDEyLDB4MGMsMHhmNCwweDBlLDB4ODAsMHhkOCwweDkwLDB4N2YsMHhlYiwweGUwLDB4MTQsMHg2MCwweDExLDB4MTQsMHg2MCwweDQ2fSB9LAoteyAgMTYsMHgzNjZlLDAsezB4MjQsMHgwMiwweDYwLDB4MDIsMHhlMSwweDlhLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4N2Z9IH0sCi17ICAxNiwweDM2N2UsMCx7MHhlOSwweGUwLDB4MjQsMHg3ZiwweDcwLDB4MjgsMHhlZSwweDZmLDB4NzAsMHgwOCwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMX0gfSwKLXsgIDE2LDB4MzY4ZSwwLHsweGYwLDB4MjIsMHg5MCwweDc4LDB4MjgsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4OTAsMHgwMCwweDAxfSB9LAoteyAgMTYsMHgzNjllLDAsezB4MTIsMHgwYywweDVkLDB4OTAsMHg3ZiwweDAwLDB4ZjAsMHg5MCwweDdmLDB4YjUsMHg3NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4N2Z9IH0sCi17ICAxNiwweDM2YWUsMCx7MHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDdmLDB4ZTksMHhlMCwweDI0LDB4N2UsMHg2MCwweDQwLDB4MTQsMHg2MH0gfSwKLXsgIDE2LDB4MzZiZSwwLHsweDZmLDB4MTQsMHg3MCwweDAyLDB4ZTEsMHg2MCwweDI0LDB4MDMsMHg2MCwweDAyLDB4ZTEsMHg5MiwweGVlLDB4NmYsMHg3MCwweDA4fSB9LAoteyAgMTYsMHgzNmNlLDAsezB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4NzgsMHgyOCwweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmF9IH0sCi17ICAxNiwweDM2ZGUsMCx7MHhhMywweGUwLDB4ZjksMHg5MCwweDAwLDB4MDMsMHgxMiwweDBjLDB4NWQsMHg5MCwweDdmLDB4MDAsMHhmMCwweDkwLDB4MDAsMHgwNH0gfSwKLXsgIDE2LDB4MzZlZSwwLHsweDEyLDB4MGMsMHg1ZCwweDkwLDB4N2YsMHgwMSwweGYwLDB4OTAsMHg3ZiwweGI1LDB4NzQsMHgwMiwweGYwLDB4MjIsMHhlZSwweDZmfSB9LAoteyAgMTYsMHgzNmZlLDAsezB4NzAsMHgwOCwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDc4LDB4MjgsMHhlMCwweGZiLDB4YTN9IH0sCi17ICAxNiwweDM3MGUsMCx7MHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4OTAsMHgwMCwweDA1LDB4MTIsMHgwYywweDVkLDB4OTAsMHg3ZiwweDAwLDB4ZjAsMHg5MH0gfSwKLXsgIDE2LDB4MzcxZSwwLHsweDAwLDB4MDYsMHgxMiwweDBjLDB4NWQsMHg5MCwweDdmLDB4MDEsMHhmMCwweDkwLDB4N2YsMHhiNSwweDc0LDB4MDIsMHhmMCwweDIyfSB9LAoteyAgMTYsMHgzNzJlLDAsezB4ZWUsMHg2ZiwweDcwLDB4MDgsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3OCwweDI4LDB4ZTB9IH0sCi17ICAxNiwweDM3M2UsMCx7MHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweDkwLDB4MDAsMHgwNywweDEyLDB4MGMsMHg1ZCwweDkwLDB4N2YsMHgwMH0gfSwKLXsgIDE2LDB4Mzc0ZSwwLHsweGYwLDB4OTAsMHgwMCwweDA4LDB4MTIsMHgwYywweDVkLDB4OTAsMHg3ZiwweDAxLDB4ZjAsMHg5MCwweDdmLDB4YjUsMHg3NCwweDAyfSB9LAoteyAgMTYsMHgzNzVlLDAsezB4ZjAsMHgyMiwweGVlLDB4NmYsMHg3MCwweDA4LDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4Nzh9IH0sCi17ICAxNiwweDM3NmUsMCx7MHgyOCwweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHg5MCwweDAwLDB4MDksMHgxMiwweDBjLDB4NWQsMHg5MH0gfSwKLXsgIDE2LDB4Mzc3ZSwwLHsweDdmLDB4MDAsMHhmMCwweDkwLDB4MDAsMHgwYSwweDEyLDB4MGMsMHg1ZCwweDkwLDB4N2YsMHgwMSwweGYwLDB4OTAsMHg3ZiwweGI1fSB9LAoteyAgMTYsMHgzNzhlLDAsezB4NzQsMHgwMiwweGYwLDB4MjIsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGI0LDB4ZTB9IH0sCi17ICAgMywweDM3OWUsMCx7MHg0NCwweDAxLDB4ZjB9IH0sCi17ICAgMSwweDM3YTEsMCx7MHgyMn0gfSwKLXsgIDE2LDB4MzdhMiwwLHsweGMwLDB4ZTAsMHhjMCwweGYwLDB4YzAsMHg4MywweGMwLDB4ODIsMHhjMCwweGQwLDB4ZTgsMHhjMCwweGUwLDB4ZTksMHhjMCwweGUwfSB9LAoteyAgMTYsMHgzN2IyLDAsezB4ZWEsMHhjMCwweGUwLDB4ZWIsMHhjMCwweGUwLDB4ZWMsMHhjMCwweGUwLDB4ZWQsMHhjMCwweGUwLDB4ZWUsMHhjMCwweGUwLDB4ZWZ9IH0sCi17ICAxNiwweDM3YzIsMCx7MHhjMCwweGUwLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGFiLDB4NzQsMHgxMCwweGYwLDB4OTAsMHg3OSwweDgzLDB4ZTAsMHg1NH0gfSwKLXsgIDE2LDB4MzdkMiwwLHsweGZkLDB4ZjAsMHgxMiwweDJmLDB4ZGYsMHhkMCwweGUwLDB4ZmYsMHhkMCwweGUwLDB4ZmUsMHhkMCwweGUwLDB4ZmQsMHhkMCwweGUwfSB9LAoteyAgMTYsMHgzN2UyLDAsezB4ZmMsMHhkMCwweGUwLDB4ZmIsMHhkMCwweGUwLDB4ZmEsMHhkMCwweGUwLDB4ZjksMHhkMCwweGUwLDB4ZjgsMHhkMCwweGQwLDB4ZDB9IH0sCi17ICAgOCwweDM3ZjIsMCx7MHg4MiwweGQwLDB4ODMsMHhkMCwweGYwLDB4ZDAsMHhlMCwweDMyfSB9LAoteyAgIDYsMHgzN2ZhLDAsezB4NTMsMHg5MSwweGJmLDB4ZDIsMHgyNiwweDMyfSB9LAoteyAgMTYsMHgzODAwLDAsezB4ZTQsMHhmZSwweDkwLDB4NzksMHgyMCwweGUwLDB4ZmQsMHhiNCwweDA1LDB4MTAsMHg5MCwweDc4LDB4MjIsMHg3NCwweDAxLDB4ZjB9IH0sCi17ICAxNiwweDM4MTAsMCx7MHhhMywweDc0LDB4NzgsMHhmMCwweGEzLDB4NzQsMHhiMiwweGYwLDB4N2YsMHgwNywweGVkLDB4YjQsMHgwNiwweDEwLDB4OTAsMHg3OH0gfSwKLXsgIDE2LDB4MzgyMCwwLHsweDIyLDB4NzQsMHgwMSwweGYwLDB4YTMsMHg3NCwweDc4LDB4ZjAsMHhhMywweDc0LDB4ZmYsMHhmMCwweDdmLDB4MDMsMHg5MCwweDc4fSB9LAoteyAgMTYsMHgzODMwLDAsezB4MjIsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4MTIsMHgwYywweDQ0LDB4ZmQsMHg5MCwweDc5LDB4OTh9IH0sCi17ICAxNiwweDM4NDAsMCx7MHhlMCwweDZkLDB4NjAsMHgxMiwweGVlLDB4YzMsMHg5ZiwweDUwLDB4MGQsMHg5MCwweDc4LDB4MjMsMHhlNCwweDc1LDB4ZjAsMHgwYn0gfSwKLXsgIDE2LDB4Mzg1MCwwLHsweDEyLDB4MGMsMHhmNCwweDBlLDB4ODAsMHhkOCwweDkwLDB4NzksMHg5OSwweGUwLDB4MTQsMHg2MCwweDExLDB4MTQsMHg2MCwweDQ4fSB9LAoteyAgMTYsMHgzODYwLDAsezB4MjQsMHgwMiwweDYwLDB4MDIsMHgyMSwweDg1LDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4Nzl9IH0sCi17ICAxNiwweDM4NzAsMCx7MHg5NywweGUwLDB4MTQsMHg3MCwweDJiLDB4ZWUsMHg2ZiwweDcwLDB4MDksMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMH0gfSwKLXsgIDE2LDB4Mzg4MCwwLHsweDgwLDB4MTcsMHg5MCwweDc5LDB4MjEsMHhlMCwweGZkLDB4OTAsMHg3OCwweDIyLDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzfSB9LAoteyAgMTYsMHgzODkwLDAsezB4ZTAsMHhmOSwweDkwLDB4MDAsMHgwMSwweGVkLDB4MTIsMHgwYywweDljLDB4OTAsMHg3OSwweDc1LDB4NzQsMHgwMSwweGYwLDB4MjJ9IH0sCi17ICAxNiwweDM4YTAsMCx7MHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3OSwweDk3LDB4ZTAsMHgyNCwweGZlLDB4NjAsMHg0M30gfSwKLXsgIDE2LDB4MzhiMCwwLHsweDE0LDB4NjAsMHg2ZSwweDE0LDB4NzAsMHgwMiwweDIxLDB4NGYsMHgyNCwweDAzLDB4NjAsMHgwMiwweDIxLDB4N2QsMHhlZSwweDZmfSB9LAoteyAgMTYsMHgzOGMwLDAsezB4NzAsMHgwOSwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4ODAsMHgyMSwweDkwLDB4NzksMHgyMSwweGUwLDB4ZmR9IH0sCi17ICAxNiwweDM4ZDAsMCx7MHg5MCwweDc4LDB4MjIsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4OTAsMHgwMCwweDAzLDB4ZWQsMHgxMn0gfSwKLXsgIDE2LDB4MzhlMCwwLHsweDBjLDB4OWMsMHg5MCwweDc5LDB4MjIsMHhlMCwweDkwLDB4MDAsMHgwNCwweDEyLDB4MGMsMHg5YywweDkwLDB4NzksMHg3NSwweDc0fSB9LAoteyAgMTYsMHgzOGYwLDAsezB4MDEsMHhmMCwweDIyLDB4ZWUsMHg2ZiwweDcwLDB4MDgsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTB9IH0sCi17ICAxNiwweDM5MDAsMCx7MHg3OSwweDIxLDB4ZTAsMHhmZCwweDkwLDB4NzgsMHgyMiwweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHg5MH0gfSwKLXsgIDE2LDB4MzkxMCwwLHsweDAwLDB4MDUsMHhlZCwweDEyLDB4MGMsMHg5YywweDkwLDB4NzksMHgyMiwweGUwLDB4OTAsMHgwMCwweDA2LDB4MTIsMHgwYywweDljfSB9LAoteyAgMTYsMHgzOTIwLDAsezB4MjIsMHhlZSwweDZmLDB4NzAsMHgwOCwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDc5LDB4MjF9IH0sCi17ICAxNiwweDM5MzAsMCx7MHhlMCwweGZkLDB4OTAsMHg3OCwweDIyLDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweDkwLDB4MDAsMHgwN30gfSwKLXsgIDE2LDB4Mzk0MCwwLHsweGVkLDB4MTIsMHgwYywweDljLDB4OTAsMHg3OSwweDIyLDB4ZTAsMHg5MCwweDAwLDB4MDgsMHgxMiwweDBjLDB4OWMsMHgyMiwweGVlfSB9LAoteyAgMTYsMHgzOTUwLDAsezB4NmYsMHg3MCwweDA4LDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4NzksMHgyMSwweGUwLDB4ZmV9IH0sCi17ICAxNiwweDM5NjAsMCx7MHg5MCwweDc4LDB4MjIsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4OTAsMHgwMCwweDA5LDB4ZWUsMHgxMn0gfSwKLXsgIDE2LDB4Mzk3MCwwLHsweDBjLDB4OWMsMHg5MCwweDc5LDB4MjIsMHhlMCwweDkwLDB4MDAsMHgwYSwweDEyLDB4MGMsMHg5YywweDIyLDB4OTAsMHg3ZiwweGI0fSB9LAoteyAgMTIsMHgzOTgwLDAsezB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwfSB9LAoteyAgIDEsMHgzOThjLDAsezB4MjJ9IH0sCi17ICAxNiwweDM5OGQsMCx7MHhhMiwweGFmLDB4ZTQsMHgzMywweGY1LDB4MTIsMHhlNCwweDkwLDB4NzksMHg4MywweGYwLDB4MTIsMHgyZiwweGRmLDB4OTAsMHg3Zn0gfSwKLXsgIDE2LDB4Mzk5ZCwwLHsweGUwLDB4NzQsMHg5MCwweGYwLDB4OTAsMHg3ZiwweGUxLDB4NzQsMHgwNCwweGYwLDB4ZTQsMHg5MCwweDdmLDB4ZGQsMHhmMCwweDkwfSB9LAoteyAgMTYsMHgzOWFkLDAsezB4N2YsMHhhMSwweGYwLDB4NTMsMHg4ZSwweGY4LDB4NzUsMHg4OCwweDA1LDB4NzUsMHhiOCwweDIwLDB4NzUsMHhmOCwweDAxLDB4NDN9IH0sCi17ICAxNiwweDM5YmQsMCx7MHg4ZSwweDMwLDB4ZjUsMHhjOCwweDc1LDB4Y2EsMHg3ZiwweDc1LDB4Y2IsMHhmOCwweDQzLDB4YTgsMHgyMCwweDkwLDB4NzksMHg3NH0gfSwKLXsgIDE2LDB4MzljZCwwLHsweDA0LDB4ZjAsMHhjMiwweDIyLDB4ZTQsMHhmNSwweDBmLDB4OTAsMHg3OSwweDc4LDB4ZjAsMHhhMywweGYwLDB4OTAsMHg3OSwweDYyfSB9LAoteyAgMTYsMHgzOWRkLDAsezB4ZjAsMHhhMywweGYwLDB4YTMsMHhmMCwweDkwLDB4NzksMHg2NiwweGYwLDB4YTMsMHhmMCwweDkwLDB4NzksMHg3YiwweGYwLDB4YTN9IH0sCi17ICAxNiwweDM5ZWQsMCx7MHhmMCwweDkwLDB4NzksMHg4NCwweGYwLDB4OTAsMHg3OSwweDdkLDB4ZjAsMHg5MCwweDc5LDB4NzUsMHhmMCwweGEzLDB4ZjAsMHhhM30gfSwKLXsgIDE2LDB4MzlmZCwwLHsweGYwLDB4YzIsMHgyMywweGMyLDB4MjQsMHhjMiwweDI1LDB4YzIsMHgyNiwweGMyLDB4MjAsMHg5MCwweDdmLDB4OWIsMHhlMCwweGY1fSB9LAoteyAgMTYsMHgzYTBkLDAsezB4MGEsMHg1NCwweDIwLDB4ZjUsMHgwYSwweDcwLDB4MDYsMHg5MCwweDc5LDB4N2UsMHhmMCwweDgwLDB4MDYsMHg5MCwweDc5LDB4N2V9IH0sCi17ICAxNiwweDNhMWQsMCx7MHg3NCwweDAxLDB4ZjAsMHg5MCwweDdmLDB4OWIsMHhlMCwweGY1LDB4MGEsMHg1NCwweDAyLDB4ZjUsMHgwYSwweDcwLDB4MDYsMHg5MH0gfSwKLXsgIDE2LDB4M2EyZCwwLHsweDc5LDB4N2YsMHhmMCwweDgwLDB4MDYsMHg5MCwweDc5LDB4N2YsMHg3NCwweDAxLDB4ZjAsMHg5MCwweDc5LDB4NzgsMHg3NCwweDAyfSB9LAoteyAgMTYsMHgzYTNkLDAsezB4ZjAsMHg5MCwweDc5LDB4ODQsMHhlMCwweDkwLDB4NzksMHg3OSwweGYwLDB4OTAsMHg3OSwweDdmLDB4ZTAsMHhiNCwweDAxLDB4MDl9IH0sCi17ICAxNiwweDNhNGQsMCx7MHg5MCwweDc5LDB4NzksMHhlMCwweDU0LDB4ZmUsMHhmMCwweDgwLDB4MDcsMHg5MCwweDc5LDB4NzksMHhlMCwweDQ0LDB4MDEsMHhmMH0gfSwKLXsgIDE2LDB4M2E1ZCwwLHsweDkwLDB4NzksMHg3OSwweGUwLDB4OTAsMHg3OSwweDg0LDB4ZjAsMHgxMiwweDBiLDB4YTIsMHg5MCwweDc5LDB4NzgsMHg3NCwweDAxfSB9LAoteyAgMTYsMHgzYTZkLDAsezB4ZjAsMHg5MCwweDc5LDB4N2MsMHhlMCwweDkwLDB4NzksMHg3OSwweGYwLDB4OTAsMHg3OSwweDdlLDB4ZTAsMHhiNCwweDAxLDB4MDl9IH0sCi17ICAxNiwweDNhN2QsMCx7MHg5MCwweDc5LDB4NzksMHhlMCwweDQ0LDB4MDQsMHhmMCwweDgwLDB4MDcsMHg5MCwweDc5LDB4NzksMHhlMCwweDU0LDB4ZmIsMHhmMH0gfSwKLXsgIDE2LDB4M2E4ZCwwLHsweDkwLDB4NzksMHg3OSwweGUwLDB4OTAsMHg3OSwweDdjLDB4ZjAsMHgxMiwweDBiLDB4YTIsMHhlNCwweDkwLDB4NzksMHg3OCwweGYwfSB9LAoteyAgMTYsMHgzYTlkLDAsezB4YTMsMHgwNCwweGYwLDB4ZTQsMHg5MCwweDc5LDB4ODgsMHhmMCwweDEyLDB4MGIsMHhhMiwweDkwLDB4N2YsMHhmYywweDc0LDB4ZGR9IH0sCi17ICAxNiwweDNhYWQsMCx7MHhmMCwweDkwLDB4N2YsMHhmZiwweDc0LDB4ZmYsMHhmMCwweDkwLDB4NzksMHg3OCwweDc0LDB4MDEsMHhmMCwweGEzLDB4ZjAsMHgxMn0gfSwKLXsgIDE2LDB4M2FiZCwwLHsweDBiLDB4YTIsMHhlNCwweDkwLDB4NzksMHg3YSwweGYwLDB4OTAsMHg3OSwweDgzLDB4MDQsMHhmMCwweDEyLDB4MmYsMHhkZiwweGU0fSB9LAoteyAgMTYsMHgzYWNkLDAsezB4OTAsMHg3OSwweDMwLDB4ZjAsMHg5MCwweDc5LDB4ODUsMHhmMCwweGEzLDB4ZjAsMHhhMywweGYwLDB4MTIsMHgyZSwweDk0LDB4OTB9IH0sCi17ICAxNiwweDNhZGQsMCx7MHg3OSwweDJkLDB4NzQsMHgwMiwweGYwLDB4OTAsMHg3OSwweDg4LDB4MTQsMHhmMCwweGMyLDB4MmYsMHhlNCwweDkwLDB4NzksMHg2OH0gfSwKLXsgIDE2LDB4M2FlZCwwLHsweGYwLDB4OTAsMHg3OSwweDhhLDB4ZjAsMHg5MCwweDc5LDB4NmEsMHhmMCwweGEzLDB4ZjAsMHg3NSwweDEzLDB4MDgsMHg3NSwweDE0fSB9LAoteyAgMTYsMHgzYWZkLDAsezB4MDgsMHhmNSwweDE2LDB4ZjUsMHgxNSwweGY1LDB4MTcsMHg5MCwweDc5LDB4OGMsMHhmMCwweDkwLDB4NzksMHg4YiwweGYwLDB4MjJ9IH0sCi17ICAxNiwweDNiMGQsMCx7MHg3YiwweDAxLDB4N2EsMHg3OCwweDc5LDB4NTgsMHg5MCwweDc4LDB4MDMsMHhlYiwweGYwLDB4YTMsMHhlYSwweGYwLDB4YTMsMHhlOX0gfSwKLXsgIDE2LDB4M2IxZCwwLHsweGYwLDB4NzQsMHg0MCwweDEyLDB4MGMsMHg4YSwweDkwLDB4NzgsMHgwMywweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwfSB9LAoteyAgMTYsMHgzYjJkLDAsezB4ZjksMHg5MCwweDAwLDB4MDEsMHg3NCwweDBhLDB4MTIsMHgwYywweDljLDB4OTAsMHgwMCwweDAyLDB4MTIsMHgwZCwweGY2LDB4MDB9IH0sCi17ICAxNiwweDNiM2QsMCx7MHgwMCwweGJiLDB4ODAsMHg5MCwweDAwLDB4MDYsMHgxMiwweDBkLDB4ZjYsMHgwMCwweDAwLDB4YWMsMHg0NCwweDkwLDB4MDAsMHgwYX0gfSwKLXsgIDE2LDB4M2I0ZCwwLHsweDEyLDB4MGQsMHhmNiwweDAwLDB4MDEsMHg3NywweDAwLDB4OTAsMHg3OCwweDA0LDB4ZTQsMHg3NSwweGYwLDB4MGYsMHgxMiwweDBjfSB9LAoteyAgMTYsMHgzYjVkLDAsezB4ZjQsMHg5MCwweDc4LDB4MDMsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4NzQsMHg0MCwweDEyLDB4MGN9IH0sCi17ICAxNiwweDNiNmQsMCx7MHg4YSwweDkwLDB4NzgsMHgwMywweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHg5MCwweDAwLDB4MDEsMHg3NH0gfSwKLXsgIDE2LDB4M2I3ZCwwLHsweDhjLDB4MTIsMHgwYywweDljLDB4OTAsMHgwMCwweDAyLDB4MTIsMHgwZCwweGY2LDB4MDAsMHgwMCwweGJiLDB4ODAsMHg5MCwweDAwfSB9LAoteyAgMTYsMHgzYjhkLDAsezB4MDYsMHgxMiwweDBkLDB4ZjYsMHgwMCwweDAwLDB4YWMsMHg0NCwweDkwLDB4MDAsMHgwYSwweDEyLDB4MGQsMHhmNiwweDAwLDB4MDF9IH0sCi17ICAxNiwweDNiOWQsMCx7MHg3NywweDAwLDB4OTAsMHg3OCwweDA0LDB4ZTQsMHg3NSwweGYwLDB4MGYsMHgxMiwweDBjLDB4ZjQsMHg5MCwweDc4LDB4MDMsMHhlMH0gfSwKLXsgIDE2LDB4M2JhZCwwLHsweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4NzQsMHg0MCwweDEyLDB4MGMsMHg4YSwweDkwLDB4NzgsMHgwMywweGUwfSB9LAoteyAgMTYsMHgzYmJkLDAsezB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHg5MCwweDAwLDB4MDEsMHg3NCwweDhmLDB4MTIsMHgwYywweDljLDB4OTB9IH0sCi17ICAxNiwweDNiY2QsMCx7MHg3OCwweDA0LDB4ZTQsMHg3NSwweGYwLDB4MGYsMHgxMiwweDBjLDB4ZjQsMHg5MCwweDc4LDB4MDMsMHhlMCwweGZiLDB4YTMsMHhlMH0gfSwKLXsgIDE2LDB4M2JkZCwwLHsweGZhLDB4YTMsMHhlMCwweGY5LDB4NzQsMHg0MSwweDEyLDB4MGMsMHg4YSwweDkwLDB4NzgsMHgwMywweGUwLDB4ZmIsMHhhMywweGUwfSB9LAoteyAgMTYsMHgzYmVkLDAsezB4ZmEsMHhhMywweGUwLDB4ZjksMHg5MCwweDAwLDB4MDEsMHg3NCwweDg0LDB4MTIsMHgwYywweDljLDB4OTAsMHg3OCwweDA0LDB4ZTR9IH0sCi17ICAxNiwweDNiZmQsMCx7MHg3NSwweGYwLDB4MGYsMHgxMiwweDBjLDB4ZjQsMHg5MCwweDc4LDB4MDMsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMH0gfSwKLXsgIDE2LDB4M2MwZCwwLHsweGY5LDB4NzQsMHg2MSwweDEyLDB4MGMsMHg4YSwweDkwLDB4NzgsMHgwMywweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwfSB9LAoteyAgMTYsMHgzYzFkLDAsezB4ZjksMHg5MCwweDAwLDB4MDEsMHg3NCwweDgxLDB4MTIsMHgwYywweDljLDB4OTAsMHg3OCwweDA0LDB4ZTQsMHg3NSwweGYwLDB4MGZ9IH0sCi17ICAxNiwweDNjMmQsMCx7MHgxMiwweDBjLDB4ZjQsMHg5MCwweDc4LDB4MDMsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4NzQsMHg2MX0gfSwKLXsgIDE2LDB4M2MzZCwwLHsweDEyLDB4MGMsMHg4YSwweDkwLDB4NzgsMHgwMywweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHg5MCwweDAwfSB9LAoteyAgIDYsMHgzYzRkLDAsezB4MDEsMHg3NCwweDAxLDB4MTIsMHgwYywweDljfSB9LAoteyAgIDEsMHgzYzUzLDAsezB4MjJ9IH0sCi17ICAxNiwweDNjNTQsMCx7MHhjMCwweGUwLDB4YzAsMHhmMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4YzAsMHhkMCwweGU4LDB4YzAsMHhlMCwweGU5LDB4YzAsMHhlMH0gfSwKLXsgIDE2LDB4M2M2NCwwLHsweGVhLDB4YzAsMHhlMCwweGViLDB4YzAsMHhlMCwweGVjLDB4YzAsMHhlMCwweGVkLDB4YzAsMHhlMCwweGVlLDB4YzAsMHhlMCwweGVmfSB9LAoteyAgIDIsMHgzYzc0LDAsezB4YzAsMHhlMH0gfSwKLXsgIDE2LDB4M2M3NiwwLHsweDkwLDB4N2YsMHhhMiwweGUwLDB4ZjUsMHgwYiwweDkwLDB4N2YsMHg3NCwweGUwLDB4OTAsMHg3OSwweDcwLDB4ZjAsMHg5MCwweDdmfSB9LAoteyAgMTYsMHgzYzg2LDAsezB4NzUsMHhlMCwweDkwLDB4NzksMHg3MSwweGYwLDB4OTAsMHg3OSwweDgzLDB4ZTAsMHhmZiwweGZlLDB4NTQsMHgwMiwweGZlLDB4NzB9IH0sCi17ICAxNiwweDNjOTYsMCx7MHgwZCwweGVmLDB4NDQsMHgwMiwweGYwLDB4MTIsMHgyZiwweGRmLDB4OTAsMHg3OSwweDc0LDB4NzQsMHgwMSwweGYwLDB4ZTUsMHgwYn0gfSwKLXsgIDE2LDB4M2NhNiwwLHsweDIwLDB4ZTIsMHgyOCwweDkwLDB4NzksMHg3MCwweGUwLDB4ZmUsMHhhMywweGUwLDB4N2MsMHgwMCwweDI0LDB4MDAsMHhmNSwweDExfSB9LAoteyAgMTYsMHgzY2I2LDAsezB4ZWMsMHgzZSwweGY1LDB4MTAsMHg5MCwweDc5LDB4ODIsMHhlMCwweGZkLDB4YWUsMHgxMCwweGFmLDB4MTEsMHgxMiwweDBjLDB4YmV9IH0sCi17ICAxNiwweDNjYzYsMCx7MHg5MCwweDc5LDB4NzAsMHhlZiwweGYwLDB4OTAsMHg3OSwweDg5LDB4NzQsMHgwMSwweGYwLDB4MTIsMHg0OCwweDQzLDB4MTIsMHg0OH0gfSwKLXsgIDE2LDB4M2NkNiwwLHsweDc2LDB4OTAsMHg3OSwweDg5LDB4ZTAsMHg2NCwweDAxLDB4NzAsMHgzMiwweDEyLDB4NDEsMHgwOCwweDkwLDB4NzksMHg4OSwweGU0fSB9LAoteyAgMTYsMHgzY2U2LDAsezB4ZjAsMHg5MCwweDdmLDB4OTgsMHhlMCwweDQ0LDB4NDAsMHhmMCwweDkwLDB4N2YsMHg5ZSwweGUwLDB4NDQsMHg0MCwweGYwLDB4OTB9IH0sCi17ICAxNiwweDNjZjYsMCx7MHg3ZiwweDk1LDB4NzQsMHg4MCwweGYwLDB4NzUsMHhlOCwweDAxLDB4MTIsMHgwOSwweDMyLDB4NzUsMHhlOCwweDBkLDB4OTAsMHg3Zn0gfSwKLXsgIDE2LDB4M2QwNiwwLHsweDk1LDB4NzQsMHhjMCwweGYwLDB4NzUsMHhlOCwweDBkLDB4ZDIsMHgyMCwweDgwLDB4MDUsMHg3NSwweGU4LDB4MDEsMHhjMiwweDIwfSB9LAoteyAgMTYsMHgzZDE2LDAsezB4MjAsMHgyMCwweDJiLDB4OTAsMHg3OSwweDJkLDB4ZTAsMHhmZiwweGI0LDB4MDEsMHgwOSwweDc1LDB4MGMsMHg2NywweDc1LDB4MGR9IH0sCi17ICAxNiwweDNkMjYsMCx7MHgwNiwweDc1LDB4MGUsMHgwYiwweGVmLDB4YjQsMHgwMiwweDA5LDB4NzUsMHgwYywweDAwLDB4NzUsMHgwZCwweDAwLDB4NzUsMHgwZX0gfSwKLXsgIDE2LDB4M2QzNiwwLHsweDBjLDB4ZWYsMHhiNCwweDAzLDB4MDksMHg3NSwweDBjLDB4MDAsMHg3NSwweDBkLDB4MDAsMHg3NSwweDBlLDB4MTgsMHg3NSwweGNhfSB9LAoteyAgMTYsMHgzZDQ2LDAsezB4NmYsMHg3NSwweGNiLDB4ZmUsMHhkMiwweGNhLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGFiLDB4NzQsMHgwMiwweGYwLDB4ZjB9IH0sCi17ICAxNiwweDNkNTYsMCx7MHhkMCwweGUwLDB4ZmYsMHhkMCwweGUwLDB4ZmUsMHhkMCwweGUwLDB4ZmQsMHhkMCwweGUwLDB4ZmMsMHhkMCwweGUwLDB4ZmIsMHhkMH0gfSwKLXsgIDE2LDB4M2Q2NiwwLHsweGUwLDB4ZmEsMHhkMCwweGUwLDB4ZjksMHhkMCwweGUwLDB4ZjgsMHhkMCwweGQwLDB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGYwfSB9LAoteyAgIDMsMHgzZDc2LDAsezB4ZDAsMHhlMCwweDMyfSB9LAoteyAgMTYsMHgzZDc5LDAsezB4NzUsMHgzMywweDI1LDB4NzUsMHgzNCwweDI0LDB4OTAsMHg3OSwweDVjLDB4NzQsMHgwMSwweGYwLDB4YTMsMHg3NCwweDc4LDB4ZjB9IH0sCi17ICAxNiwweDNkODksMCx7MHhhMywweDc0LDB4YjIsMHhmMCwweDIwLDB4MmYsMHgwMiwweGMxLDB4MTcsMHhlNCwweGY1LDB4MzUsMHg3NSwweDIyLDB4MDEsMHg5MH0gfSwKLXsgIDE2LDB4M2Q5OSwwLHsweDc5LDB4NWMsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4OTAsMHgwMCwweDA0LDB4MTIsMHgwYywweDVkfSB9LAoteyAgMTYsMHgzZGE5LDAsezB4ZjUsMHgzNiwweDc1LDB4MzUsMHgwNiwweDc0LDB4NDIsMHgyNSwweDM1LDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3OSwweGY1LDB4ODN9IH0sCi17ICAxNiwweDNkYjksMCx7MHhlNSwweDM2LDB4ZjAsMHgwNSwweDM1LDB4ZTUsMHgzNSwweGI0LDB4MGMsMHhlYiwweGU1LDB4MzUsMHhjMywweDk0LDB4MGQsMHg0MH0gfSwKLXsgIDE2LDB4M2RjOSwwLHsweDAyLDB4YzEsMHg5OCwweGU1LDB4MjIsMHg2NCwweDAxLDB4NjAsMHgwMiwweGMxLDB4OTgsMHg5MCwweDdmLDB4YTUsMHhlMCwweDQ0fSB9LAoteyAgMTYsMHgzZGQ5LDAsezB4ODAsMHhmMCwweDkwLDB4N2YsMHhhNiwweGU1LDB4MzMsMHhmMCwweDEyLDB4NDYsMHhjMCwweDc0LDB4NGYsMHgyNSwweDM1LDB4ZjV9IH0sCi17ICAxNiwweDNkZTksMCx7MHg4MiwweGU0LDB4MzQsMHg3OSwweGY1LDB4ODMsMHhlMCwweDkwLDB4N2YsMHhhNiwweGYwLDB4MTIsMHg0NiwweGMwLDB4NzQsMHg0Mn0gfSwKLXsgIDE2LDB4M2RmOSwwLHsweDI1LDB4MzUsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc5LDB4ZjUsMHg4MywweGUwLDB4OTAsMHg3ZiwweGE2LDB4ZjAsMHgxMiwweDQ2fSB9LAoteyAgMTYsMHgzZTA5LDAsezB4YzAsMHg5MCwweDdmLDB4YTUsMHg3NCwweDQwLDB4ZjAsMHgxMiwweDBhLDB4Y2QsMHgwNSwweDM1LDB4ODAsMHhhYywweGU0LDB4ZjV9IH0sCi17ICAxNiwweDNlMTksMCx7MHgzNSwweDc1LDB4MjIsMHgwMSwweDkwLDB4NzksMHg1YywweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHg5MH0gfSwKLXsgIDE2LDB4M2UyOSwwLHsweDAwLDB4MDQsMHgxMiwweDBjLDB4NWQsMHhmNSwweDM2LDB4NzUsMHgzNSwweDA2LDB4NzQsMHgzNSwweDI1LDB4MzUsMHhmNSwweDgyfSB9LAoteyAgMTYsMHgzZTM5LDAsezB4ZTQsMHgzNCwweDc5LDB4ZjUsMHg4MywweGU1LDB4MzYsMHhmMCwweDA1LDB4MzUsMHhlNSwweDM1LDB4YjQsMHgwYywweGViLDB4ZTV9IH0sCi17ICAxNiwweDNlNDksMCx7MHgzNSwweGMzLDB4OTQsMHgwZCwweDUwLDB4NDksMHhlNSwweDIyLDB4NjQsMHgwMSwweDcwLDB4NDMsMHg5MCwweDdmLDB4YTUsMHhlMH0gfSwKLXsgIDE2LDB4M2U1OSwwLHsweDQ0LDB4ODAsMHhmMCwweDkwLDB4N2YsMHhhNiwweGU1LDB4MzMsMHhmMCwweDEyLDB4NDYsMHhjMCwweDc0LDB4NGYsMHgyNSwweDM1fSB9LAoteyAgMTYsMHgzZTY5LDAsezB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3OSwweGY1LDB4ODMsMHhlMCwweDkwLDB4N2YsMHhhNiwweGYwLDB4MTIsMHg0NiwweGMwLDB4NzR9IH0sCi17ICAxNiwweDNlNzksMCx7MHgzNSwweDI1LDB4MzUsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc5LDB4ZjUsMHg4MywweGUwLDB4OTAsMHg3ZiwweGE2LDB4ZjAsMHgxMn0gfSwKLXsgIDE1LDB4M2U4OSwwLHsweDQ2LDB4YzAsMHg5MCwweDdmLDB4YTUsMHg3NCwweDQwLDB4ZjAsMHgxMiwweDBhLDB4Y2QsMHgwNSwweDM1LDB4ODAsMHhiMH0gfSwKLXsgICAxLDB4M2U5OCwwLHsweDIyfSB9LAoteyAgMTYsMHgzZTk5LDAsezB4OTAsMHg3OCwweDA5LDB4NzQsMHgwMSwweGYwLDB4YTMsMHg3NCwweDc4LDB4ZjAsMHhhMywweDc0LDB4YjIsMHhmMCwweGU0LDB4ZmZ9IH0sCi17ICAxNiwweDNlYTksMCx7MHhmZSwweDkwLDB4NzgsMHgwOSwweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHhlZiwweDEyLDB4MGMsMHg4YX0gfSwKLXsgIDE2LDB4M2ViOSwwLHsweDkwLDB4NzgsMHgwOSwweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHg5MCwweDAwLDB4MDEsMHhlNCwweDEyfSB9LAoteyAgMTYsMHgzZWM5LDAsezB4MGMsMHg5YywweDkwLDB4MDAsMHgwMiwweDc0LDB4MTUsMHgxMiwweDBjLDB4OWMsMHg5MCwweDAwLDB4MDMsMHhlNCwweDEyLDB4MGN9IH0sCi17ICAxNiwweDNlZDksMCx7MHg5YywweDkwLDB4MDAsMHgwNCwweDc0LDB4ZmYsMHgxMiwweDBjLDB4OWMsMHg5MCwweDAwLDB4MDUsMHhlNCwweDEyLDB4MGMsMHg5Y30gfSwKLXsgIDE2LDB4M2VlOSwwLHsweDkwLDB4MDAsMHgwNiwweDc0LDB4YzMsMHgxMiwweDBjLDB4OWMsMHg5MCwweDAwLDB4MDcsMHhlNCwweDEyLDB4MGMsMHg5YywweDkwfSB9LAoteyAgMTYsMHgzZWY5LDAsezB4MDAsMHgwOCwweGU0LDB4MTIsMHgwYywweDljLDB4OTAsMHgwMCwweDA5LDB4ZTQsMHgxMiwweDBjLDB4OWMsMHg5MCwweDAwLDB4MGF9IH0sCi17ICAxNiwweDNmMDksMCx7MHg3NCwweDAxLDB4MTIsMHgwYywweDljLDB4OTAsMHg3OCwweDBhLDB4ZTQsMHg3NSwweGYwLDB4MGIsMHgxMiwweDBjLDB4ZjQsMHgwZn0gfSwKLXsgIDE2LDB4M2YxOSwwLHsweDBlLDB4YmUsMHgwNywweDhkLDB4OTAsMHg3OCwweDA5LDB4NzQsMHgwMSwweGYwLDB4YTMsMHg3NCwweDc4LDB4ZjAsMHhhMywweDc0fSB9LAoteyAgMTYsMHgzZjI5LDAsezB4ZmYsMHhmMCwweGU0LDB4ZmYsMHhmZSwweDkwLDB4NzgsMHgwOSwweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4Zjl9IH0sCi17ICAxNiwweDNmMzksMCx7MHhlZiwweDEyLDB4MGMsMHg4YSwweDkwLDB4NzgsMHgwOSwweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHg5MH0gfSwKLXsgIDE2LDB4M2Y0OSwwLHsweDAwLDB4MDEsMHhlNCwweDEyLDB4MGMsMHg5YywweDkwLDB4MDAsMHgwMiwweDc0LDB4MTUsMHgxMiwweDBjLDB4OWMsMHg5MCwweDAwfSB9LAoteyAgMTYsMHgzZjU5LDAsezB4MDMsMHhlNCwweDEyLDB4MGMsMHg5YywweDkwLDB4MDAsMHgwNCwweDc0LDB4ODAsMHgxMiwweDBjLDB4OWMsMHg5MCwweDAwLDB4MDV9IH0sCi17ICAxNiwweDNmNjksMCx7MHhlNCwweDEyLDB4MGMsMHg5YywweDkwLDB4MDAsMHgwNiwweDc0LDB4YzMsMHgxMiwweDBjLDB4OWMsMHg5MCwweDAwLDB4MDcsMHhlNH0gfSwKLXsgIDE2LDB4M2Y3OSwwLHsweDEyLDB4MGMsMHg5YywweDkwLDB4MDAsMHgwOCwweGU0LDB4MTIsMHgwYywweDljLDB4OTAsMHgwMCwweDA5LDB4ZTQsMHgxMiwweDBjfSB9LAoteyAgMTYsMHgzZjg5LDAsezB4OWMsMHg5MCwweDAwLDB4MGEsMHg3NCwweDAxLDB4MTIsMHgwYywweDljLDB4OTAsMHg3OCwweDBhLDB4ZTQsMHg3NSwweGYwLDB4MGJ9IH0sCi17ICAgOCwweDNmOTksMCx7MHgxMiwweDBjLDB4ZjQsMHgwZiwweDBlLDB4YmUsMHgwMywweDhkfSB9LAoteyAgIDEsMHgzZmExLDAsezB4MjJ9IH0sCi17ICAxNiwweDNmYTIsMCx7MHhlNCwweGZlLDB4NzUsMHgzZCwweGZmLDB4NzUsMHgzZSwweDA1LDB4NzUsMHgzZiwweDEyLDB4YWIsMHgzZCwweGFhLDB4M2UsMHhhOX0gfSwKLXsgIDE2LDB4M2ZiMiwwLHsweDNmLDB4OTAsMHgwMCwweDAxLDB4MTIsMHgwYywweDVkLDB4NjQsMHgwMiwweDcwLDB4MmYsMHhjZCwweGVlLDB4Y2QsMHgwZSwweGVkfSB9LAoteyAgMTYsMHgzZmMyLDAsezB4NmYsMHg3MCwweDAxLDB4MjIsMHg5MCwweDAwLDB4MDIsMHgxMiwweDBkLDB4MGEsMHg4NSwweGYwLDB4M2IsMHhmNSwweDNjLDB4NjJ9IH0sCi17ICAxNiwweDNmZDIsMCx7MHgzYiwweGU1LDB4M2IsMHg2MiwweDNjLDB4ZTUsMHgzYywweDYyLDB4M2IsMHgyOSwweGZkLDB4ZTUsMHgzYiwweDNhLDB4YzksMHhlZH0gfSwKLXsgIDE2LDB4M2ZlMiwwLHsweGM5LDB4NzUsMHgzZCwweGZmLDB4ZjUsMHgzZSwweDg5LDB4M2YsMHg4MCwweGMxLDB4N2IsMHgwMCwweDdhLDB4MDAsMHg3OSwweDAwfSB9LAoteyAgIDEsMHgzZmYyLDAsezB4MjJ9IH0sCi17ICAgOSwweDNmZjMsMCx7MHg1MywweGQ4LDB4ZWYsMHg0MywweGQ4LDB4MjAsMHhjMiwweDJkLDB4MzJ9IH0sCi17ICAgNCwweDNmZmMsMCx7MHg1MywweDkxLDB4ZGYsMHgzMn0gfSwKLXsgIDE2LDB4NDAwMCwwLHsweDkwLDB4NzksMHg4NywweGUwLDB4YjQsMHgwMSwweDFkLDB4OTAsMHg3OSwweDg1LDB4ZTAsMHhiNCwweDAxLDB4MDMsMHgxMiwweDQyfSB9LAoteyAgMTYsMHg0MDEwLDAsezB4YWEsMHg5MCwweDc5LDB4ODYsMHhlMCwweGI0LDB4MDEsMHgwMywweDEyLDB4MTgsMHgwMCwweGU0LDB4OTAsMHg3OSwweDg1LDB4ZjB9IH0sCi17ICAxNiwweDQwMjAsMCx7MHhhMywweGYwLDB4YTMsMHhmMCwweDEyLDB4MmUsMHg5NCwweDkwLDB4N2YsMHg5YiwweGUwLDB4ZjUsMHgwYSwweDU0LDB4MDIsMHhmNX0gfSwKLXsgIDE2LDB4NDAzMCwwLHsweDBhLDB4NzAsMHgwNCwweDkwLDB4NzksMHg3ZiwweGYwLDB4OTAsMHg3ZiwweDliLDB4ZTAsMHhmNSwweDBhLDB4NTQsMHgwMiwweGZmfSB9LAoteyAgMTYsMHg0MDQwLDAsezB4ZjUsMHgwYSwweGJmLDB4MDIsMHgwNiwweDkwLDB4NzksMHg3ZiwweDc0LDB4MDEsMHhmMCwweDkwLDB4N2YsMHg5YiwweGUwLDB4ZjV9IH0sCi17ICAxNiwweDQwNTAsMCx7MHgwYSwweDU0LDB4MjAsMHhmNSwweDBhLDB4NzAsMHgwNCwweDkwLDB4NzksMHg3ZSwweGYwLDB4OTAsMHg3ZiwweDliLDB4ZTAsMHhmNX0gfSwKLXsgIDE2LDB4NDA2MCwwLHsweDBhLDB4NTQsMHgyMCwweGZmLDB4ZjUsMHgwYSwweGJmLDB4MjAsMHgwNiwweDkwLDB4NzksMHg3ZSwweDc0LDB4MDEsMHhmMCwweDkwfSB9LAoteyAgMTYsMHg0MDcwLDAsezB4NzksMHg3ZiwweGUwLDB4ZmYsMHg5MCwweDc5LDB4ODEsMHhlMCwweDZmLDB4NjAsMHgzOCwweDkwLDB4NzksMHg3OCwweDc0LDB4MDJ9IH0sCi17ICAxNiwweDQwODAsMCx7MHhmMCwweDkwLDB4NzksMHg4NCwweGUwLDB4OTAsMHg3OSwweDc5LDB4ZjAsMHhlZiwweGI0LDB4MDEsMHgwNiwweGUwLDB4NTQsMHhmZX0gfSwKLXsgIDE2LDB4NDA5MCwwLHsweGYwLDB4ODAsMHgwNywweDkwLDB4NzksMHg3OSwweGUwLDB4NDQsMHgwMSwweGYwLDB4OTAsMHg3OSwweDc5LDB4ZTAsMHg5MCwweDc5fSB9LAoteyAgMTYsMHg0MGEwLDAsezB4ODQsMHhmMCwweGEyLDB4YWYsMHhlNCwweDMzLDB4ZjUsMHgxMiwweGMyLDB4YWYsMHgxMiwweDBiLDB4YTIsMHhlNSwweDEyLDB4NjB9IH0sCi17ICAxNiwweDQwYjAsMCx7MHgwMiwweGQyLDB4YWYsMHg5MCwweDc5LDB4N2UsMHhlMCwweGZmLDB4OTAsMHg3OSwweDgwLDB4ZTAsMHg2ZiwweDYwLDB4MzgsMHg5MH0gfSwKLXsgIDE2LDB4NDBjMCwwLHsweDc5LDB4NzgsMHg3NCwweDAxLDB4ZjAsMHg5MCwweDc5LDB4N2MsMHhlMCwweDkwLDB4NzksMHg3OSwweGYwLDB4ZWYsMHhiNCwweDAxfSB9LAoteyAgMTYsMHg0MGQwLDAsezB4MDYsMHhlMCwweDQ0LDB4MDQsMHhmMCwweDgwLDB4MDcsMHg5MCwweDc5LDB4NzksMHhlMCwweDU0LDB4ZmIsMHhmMCwweDkwLDB4Nzl9IH0sCi17ICAxNiwweDQwZTAsMCx7MHg3OSwweGUwLDB4OTAsMHg3OSwweDdjLDB4ZjAsMHhhMiwweGFmLDB4ZTQsMHgzMywweGY1LDB4MTIsMHhjMiwweGFmLDB4MTIsMHgwYn0gfSwKLXsgIDE2LDB4NDBmMCwwLHsweGEyLDB4ZTUsMHgxMiwweDYwLDB4MDIsMHhkMiwweGFmLDB4OTAsMHg3OSwweDdmLDB4ZTAsMHg5MCwweDc5LDB4ODEsMHhmMCwweDkwfSB9LAoteyAgIDgsMHg0MTAwLDAsezB4NzksMHg3ZSwweGUwLDB4OTAsMHg3OSwweDgwLDB4ZjAsMHgyMn0gfSwKLXsgIDE2LDB4NDEwOCwwLHsweDkwLDB4NzksMHgyZCwweGUwLDB4NjQsMHgwMSwweDcwLDB4MzUsMHg5MCwweDc5LDB4NzAsMHhlMCwweGZmLDB4ZDMsMHg5NCwweDJkfSB9LAoteyAgMTYsMHg0MTE4LDAsezB4NDAsMHgyYiwweDkwLDB4NzksMHg2OSwweDc0LDB4MDEsMHhmMCwweDkwLDB4NzksMHg2OCwweGUwLDB4MDQsMHhmMCwweGUwLDB4ZDN9IH0sCi17ICAxNiwweDQxMjgsMCx7MHg5NCwweDBmLDB4NDAsMHgxOSwweGU0LDB4ZjAsMHhlZiwweGQzLDB4OTQsMHgzMSwweDQwLDB4MDgsMHg5MCwweDc5LDB4MmQsMHg3NH0gfSwKLXsgIDE2LDB4NDEzOCwwLHsweDAzLDB4ZjAsMHg4MCwweDA2LDB4OTAsMHg3OSwweDJkLDB4NzQsMHgwMiwweGYwLDB4MTIsMHgxMCwweDAwLDB4OTAsMHg3OSwweDJkfSB9LAoteyAgMTYsMHg0MTQ4LDAsezB4ZTAsMHhiNCwweDAyLDB4MmMsMHg5MCwweDc5LDB4NzAsMHhlMCwweGZmLDB4YzMsMHg5NCwweDJmLDB4NTAsMHgyMiwweGVmLDB4ZDN9IH0sCi17ICAxNiwweDQxNTgsMCx7MHg5NCwweDJhLDB4NDAsMHgxYywweDkwLDB4NzksMHg2OSwweDc0LDB4MDEsMHhmMCwweDkwLDB4NzksMHg2OCwweGUwLDB4MDQsMHhmMH0gfSwKLXsgIDE2LDB4NDE2OCwwLHsweGUwLDB4ZDMsMHg5NCwweDBmLDB4NDAsMHgwYSwweGU0LDB4ZjAsMHg5MCwweDc5LDB4MmQsMHgwNCwweGYwLDB4MTIsMHgxMCwweDAwfSB9LAoteyAgMTYsMHg0MTc4LDAsezB4OTAsMHg3OSwweDJkLDB4ZTAsMHhiNCwweDAyLDB4MjYsMHg5MCwweDc5LDB4NzAsMHhlMCwweGQzLDB4OTQsMHgzMSwweDQwLDB4MWR9IH0sCi17ICAxNiwweDQxODgsMCx7MHg5MCwweDc5LDB4NjksMHg3NCwweDAxLDB4ZjAsMHg5MCwweDc5LDB4NjgsMHhlMCwweDA0LDB4ZjAsMHhlMCwweGQzLDB4OTQsMHgwZn0gfSwKLXsgIDE2LDB4NDE5OCwwLHsweDQwLDB4MGIsMHhlNCwweGYwLDB4OTAsMHg3OSwweDJkLDB4NzQsMHgwMywweGYwLDB4MTIsMHgxMCwweDAwLDB4OTAsMHg3OSwweDJkfSB9LAoteyAgMTYsMHg0MWE4LDAsezB4ZTAsMHg2NCwweDAzLDB4NzAsMHgzZiwweDkwLDB4NzksMHg3MCwweGUwLDB4ZmYsMHhjMywweDk0LDB4NWYsMHg1MCwweDM1LDB4OTB9IH0sCi17ICAxNiwweDQxYjgsMCx7MHg3OSwweDY5LDB4NzQsMHgwMSwweGYwLDB4OTAsMHg3OSwweDY4LDB4ZTAsMHgwNCwweGYwLDB4ZTAsMHhkMywweDk0LDB4MGYsMHg0MH0gfSwKLXsgIDE2LDB4NDFjOCwwLHsweDIzLDB4ZTQsMHhmMCwweGVmLDB4YzMsMHg5NCwweDJmLDB4NTAsMHgwYywweGVmLDB4ZDMsMHg5NCwweDJhLDB4NDAsMHgwNiwweDkwfSB9LAoteyAgMTYsMHg0MWQ4LDAsezB4NzksMHgyZCwweDc0LDB4MDEsMHhmMCwweGVmLDB4ZDMsMHg5NCwweDJmLDB4NDAsMHgwNiwweDkwLDB4NzksMHgyZCwweDc0LDB4MDJ9IH0sCi17ICAxNiwweDQxZTgsMCx7MHhmMCwweDEyLDB4MTAsMHgwMCwweDkwLDB4NzksMHg2OSwweGUwLDB4NzAsMHgwNSwweDkwLDB4NzksMHg2OCwweGYwLDB4MjIsMHhlNH0gfSwKLXsgICA1LDB4NDFmOCwwLHsweDkwLDB4NzksMHg2OSwweGYwLDB4MjJ9IH0sCi17ICAxNiwweDQxZmQsMCx7MHg3YiwweDAxLDB4N2EsMHg3OCwweDc5LDB4NGMsMHg5MCwweDc4LDB4MDYsMHhlYiwweGYwLDB4YTMsMHhlYSwweGYwLDB4YTMsMHhlOX0gfSwKLXsgIDE2LDB4NDIwZCwwLHsweGYwLDB4ZTQsMHgxMiwweDBjLDB4OGEsMHg5MCwweDc4LDB4MDYsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5fSB9LAoteyAgMTYsMHg0MjFkLDAsezB4OTAsMHgwMCwweDAxLDB4NzQsMHgwMSwweDEyLDB4MGMsMHg5YywweDkwLDB4NzgsMHgwNywweGU0LDB4NzUsMHhmMCwweDAzLDB4MTJ9IH0sCi17ICAxNiwweDQyMmQsMCx7MHgwYywweGY0LDB4OTAsMHg3OCwweDA2LDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweGU0LDB4MTIsMHgwY30gfSwKLXsgIDE2LDB4NDIzZCwwLHsweDhhLDB4OTAsMHg3OCwweDA2LDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweDkwLDB4MDAsMHgwMSwweDc0fSB9LAoteyAgMTYsMHg0MjRkLDAsezB4MDIsMHgxMiwweDBjLDB4OWMsMHg5MCwweDc4LDB4MDcsMHhlNCwweDc1LDB4ZjAsMHgwMywweDEyLDB4MGMsMHhmNCwweDkwLDB4Nzh9IH0sCi17ICAxNiwweDQyNWQsMCx7MHgwNiwweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHhlNCwweDEyLDB4MGMsMHg4YSwweDkwLDB4NzgsMHgwNn0gfSwKLXsgIDE2LDB4NDI2ZCwwLHsweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHg5MCwweDAwLDB4MDEsMHg3NCwweDAzLDB4MTIsMHgwYywweDljfSB9LAoteyAgMTYsMHg0MjdkLDAsezB4OTAsMHg3OCwweDA3LDB4ZTQsMHg3NSwweGYwLDB4MDMsMHgxMiwweDBjLDB4ZjQsMHg5MCwweDc4LDB4MDYsMHhlMCwweGZiLDB4YTN9IH0sCi17ICAxNiwweDQyOGQsMCx7MHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4ZTQsMHgxMiwweDBjLDB4OGEsMHg5MCwweDc4LDB4MDYsMHhlMCwweGZiLDB4YTMsMHhlMH0gfSwKLXsgIDEyLDB4NDI5ZCwwLHsweGZhLDB4YTMsMHhlMCwweGY5LDB4OTAsMHgwMCwweDAxLDB4NzQsMHgwNCwweDEyLDB4MGMsMHg5Y30gfSwKLXsgICAxLDB4NDJhOSwwLHsweDIyfSB9LAoteyAgMTYsMHg0MmFhLDAsezB4ZTQsMHhmZiwweGZlLDB4N2IsMHgwMSwweDkwLDB4NzgsMHgwYywweDA0LDB4ZjAsMHhhMywweDc0LDB4NzgsMHhmMCwweGEzLDB4NzR9IH0sCi17ICAxNiwweDQyYmEsMCx7MHgyYiwweGYwLDB4OTAsMHg3OCwweDBjLDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweDkwLDB4MDAsMHgwMn0gfSwKLXsgIDE2LDB4NDJjYSwwLHsweDEyLDB4MGMsMHg1ZCwweGZkLDB4OTAsMHg3OSwweDlhLDB4ZTAsMHg2ZCwweDYwLDB4MTMsMHhlZiwweGMzLDB4OTQsMHgwNSwweDUwfSB9LAoteyAgMTYsMHg0MmRhLDAsezB4MGQsMHgwZiwweDkwLDB4NzgsMHgwZCwweGU0LDB4NzUsMHhmMCwweDAzLDB4MTIsMHgwYywweGY0LDB4ODAsMHhkNCwweDhkLDB4MzN9IH0sCi17ICAxNiwweDQyZWEsMCx7MHg5MCwweDc4LDB4MGMsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4OTAsMHgwMCwweDAxLDB4MTIsMHgwY30gfSwKLXsgIDE2LDB4NDJmYSwwLHsweDVkLDB4ZmQsMHg5MCwweDc5LDB4OWIsMHhlMCwweGZjLDB4NmQsMHg2MCwweDEzLDB4ZWUsMHhjMywweDk0LDB4MGIsMHg1MCwweDBkfSB9LAoteyAgMTYsMHg0MzBhLDAsezB4MGUsMHg5MCwweDc4LDB4MGQsMHhlNCwweDc1LDB4ZjAsMHgwMywweDEyLDB4MGMsMHhmNCwweDgwLDB4ZDMsMHg4YywweDM0LDB4ZWZ9IH0sCi17ICAxNiwweDQzMWEsMCx7MHg2NCwweDA1LDB4NjAsMHgwMywweGJlLDB4MGIsMHgwOCwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MH0gfSwKLXsgIDE2LDB4NDMyYSwwLHsweDc4LDB4MGMsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4MTIsMHgwYywweDQ0LDB4ZmYsMHgyNCwweGYwfSB9LAoteyAgMTYsMHg0MzNhLDAsezB4NjAsMHgwOCwweDI0LDB4MGUsMHg3MCwweDBlLDB4MTIsMHg0OSwweDRkLDB4MjIsMHg5MCwweDc5LDB4MjAsMHhlNSwweDM0LDB4ZjB9IH0sCi17ICAxMSwweDQzNGEsMCx7MHgxMiwweDFiLDB4MmEsMHgyMiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwfSB9LAoteyAgIDEsMHg0MzU1LDAsezB4MjJ9IH0sCi17ICAxMiwweDQzNTYsMCx7MHg3OCwweDdmLDB4ZTQsMHhmNiwweGQ4LDB4ZmQsMHg3NSwweDgxLDB4M2YsMHgwMiwweDQzLDB4OWR9IH0sCi17ICAxNiwweDQzNjIsMCx7MHgwMiwweDQ4LDB4YTksMHhlNCwweDkzLDB4YTMsMHhmOCwweGU0LDB4OTMsMHhhMywweDQwLDB4MDMsMHhmNiwweDgwLDB4MDEsMHhmMn0gfSwKLXsgIDE2LDB4NDM3MiwwLHsweDA4LDB4ZGYsMHhmNCwweDgwLDB4MjksMHhlNCwweDkzLDB4YTMsMHhmOCwweDU0LDB4MDcsMHgyNCwweDBjLDB4YzgsMHhjMywweDMzfSB9LAoteyAgMTYsMHg0MzgyLDAsezB4YzQsMHg1NCwweDBmLDB4NDQsMHgyMCwweGM4LDB4ODMsMHg0MCwweDA0LDB4ZjQsMHg1NiwweDgwLDB4MDEsMHg0NiwweGY2LDB4ZGZ9IH0sCi17ICAxNiwweDQzOTIsMCx7MHhlNCwweDgwLDB4MGIsMHgwMSwweDAyLDB4MDQsMHgwOCwweDEwLDB4MjAsMHg0MCwweDgwLDB4OTAsMHg0NiwweDYxLDB4ZTQsMHg3ZX0gfSwKLXsgIDE2LDB4NDNhMiwwLHsweDAxLDB4OTMsMHg2MCwweGJjLDB4YTMsMHhmZiwweDU0LDB4M2YsMHgzMCwweGU1LDB4MDksMHg1NCwweDFmLDB4ZmUsMHhlNCwweDkzfSB9LAoteyAgMTYsMHg0M2IyLDAsezB4YTMsMHg2MCwweDAxLDB4MGUsMHhjZiwweDU0LDB4YzAsMHgyNSwweGUwLDB4NjAsMHhhOCwweDQwLDB4YjgsMHhlNCwweDkzLDB4YTN9IH0sCi17ICAxNiwweDQzYzIsMCx7MHhmYSwweGU0LDB4OTMsMHhhMywweGY4LDB4ZTQsMHg5MywweGEzLDB4YzgsMHhjNSwweDgyLDB4YzgsMHhjYSwweGM1LDB4ODMsMHhjYX0gfSwKLXsgIDE2LDB4NDNkMiwwLHsweGYwLDB4YTMsMHhjOCwweGM1LDB4ODIsMHhjOCwweGNhLDB4YzUsMHg4MywweGNhLDB4ZGYsMHhlOSwweGRlLDB4ZTcsMHg4MCwweGJlfSB9LAoteyAgMTYsMHg0M2UyLDAsezB4YzAsMHhlMCwweGMwLDB4ZjAsMHhjMCwweDgzLDB4YzAsMHg4MiwweGMwLDB4ZDAsMHhlOCwweGMwLDB4ZTAsMHhlOSwweGMwLDB4ZTB9IH0sCi17ICAxNiwweDQzZjIsMCx7MHhlYSwweGMwLDB4ZTAsMHhlYiwweGMwLDB4ZTAsMHhlYywweGMwLDB4ZTAsMHhlZCwweGMwLDB4ZTAsMHhlZSwweGMwLDB4ZTAsMHhlZn0gfSwKLXsgIDE2LDB4NDQwMiwwLHsweGMwLDB4ZTAsMHhjMiwweGNhLDB4YzIsMHhjZiwweDkwLDB4NzksMHg3YSwweGUwLDB4YjQsMHgwMSwweDFmLDB4MTIsMHg0YiwweGFlfSB9LAoteyAgMTYsMHg0NDEyLDAsezB4MTIsMHg0NywweDU4LDB4NTMsMHhhOCwweGEwLDB4OTAsMHg3ZiwweGFlLDB4ZTQsMHhmMCwweDEyLDB4MDcsMHhhYSwweDEyLDB4NGJ9IH0sCi17ICAxNiwweDQ0MjIsMCx7MHhiNywweDkwLDB4N2YsMHhhZSwweDc0LDB4MWYsMHhmMCwweDQzLDB4YTgsMHgwNSwweDgwLDB4MDMsMHg1MywweGE4LDB4YTAsMHg1M30gfSwKLXsgIDE2LDB4NDQzMiwwLHsweGE4LDB4ZmEsMHg3NSwweGU4LDB4MDEsMHgxMiwweDA5LDB4MTUsMHg3NSwweGU4LDB4MGQsMHg0MywweGE4LDB4MDUsMHhkMCwweGUwfSB9LAoteyAgMTYsMHg0NDQyLDAsezB4ZmYsMHhkMCwweGUwLDB4ZmUsMHhkMCwweGUwLDB4ZmQsMHhkMCwweGUwLDB4ZmMsMHhkMCwweGUwLDB4ZmIsMHhkMCwweGUwLDB4ZmF9IH0sCi17ICAxNiwweDQ0NTIsMCx7MHhkMCwweGUwLDB4ZjksMHhkMCwweGUwLDB4ZjgsMHhkMCwweGQwLDB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGYwLDB4ZDAsMHhlMH0gfSwKLXsgICAxLDB4NDQ2MiwwLHsweDMyfSB9LAoteyAgMTYsMHg0NDYzLDAsezB4OTAsMHg3ZiwweGVjLDB4ZTAsMHhmNSwweDA5LDB4MTQsMHg2MCwweDFkLDB4MTQsMHg2MCwweDJhLDB4MTQsMHg2MCwweDM3LDB4MTR9IH0sCi17ICAxNiwweDQ0NzMsMCx7MHg2MCwweDQ0LDB4MjQsMHgwNCwweDcwLDB4NTAsMHg5MCwweDc5LDB4NjIsMHhlMCwweDkwLDB4N2YsMHgwMCwweGYwLDB4OTAsMHg3Zn0gfSwKLXsgIDE2LDB4NDQ4MywwLHsweGI1LDB4NzQsMHgwMSwweGYwLDB4ODAsMHg0NywweDkwLDB4NzksMHg2MywweGUwLDB4OTAsMHg3ZiwweDAwLDB4ZjAsMHg5MCwweDdmfSB9LAoteyAgMTYsMHg0NDkzLDAsezB4YjUsMHg3NCwweDAxLDB4ZjAsMHg4MCwweDM3LDB4OTAsMHg3OSwweDY0LDB4ZTAsMHg5MCwweDdmLDB4MDAsMHhmMCwweDkwLDB4N2Z9IH0sCi17ICAxNiwweDQ0YTMsMCx7MHhiNSwweDc0LDB4MDEsMHhmMCwweDgwLDB4MjcsMHg5MCwweDc5LDB4NjYsMHhlMCwweDkwLDB4N2YsMHgwMCwweGYwLDB4OTAsMHg3Zn0gfSwKLXsgIDE2LDB4NDRiMywwLHsweGI1LDB4NzQsMHgwMSwweGYwLDB4ODAsMHgxNywweDkwLDB4NzksMHg2NywweGUwLDB4OTAsMHg3ZiwweDAwLDB4ZjAsMHg5MCwweDdmfSB9LAoteyAgMTUsMHg0NGMzLDAsezB4YjUsMHg3NCwweDAxLDB4ZjAsMHg4MCwweDA3LDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHhkMywweDIyfSB9LAoteyAgIDQsMHg0NGQyLDAsezB4OGQsMHgzNiwweDhiLDB4Mzd9IH0sCi17ICAxNiwweDQ0ZDYsMCx7MHgxMiwweDNmLDB4YTIsMHhlYSwweDQ5LDB4NjAsMHg1NywweDEyLDB4MGMsMHg0NCwweDdlLDB4MDAsMHgyOSwweGZmLDB4ZWUsMHgzYX0gfSwKLXsgIDE2LDB4NDRlNiwwLHsweGM5LDB4ZWYsMHhjOSwweDc1LDB4MzgsMHhmZiwweGY1LDB4MzksMHg4OSwweDNhLDB4YWIsMHgzOCwweGFhLDB4MzksMHhhOSwweDNhfSB9LAoteyAgMTYsMHg0NGY2LDAsezB4OTAsMHgwMCwweDAxLDB4MTIsMHgwYywweDVkLDB4ZmYsMHg2NCwweDA0LDB4NjAsMHgwNSwweGVmLDB4NjQsMHgwNSwweDcwLDB4MmV9IH0sCi17ICAxNiwweDQ1MDYsMCx7MHhlZiwweGI0LDB4MDQsMHgxNSwweDkwLDB4MDAsMHgwMiwweDEyLDB4MGMsMHg1ZCwweDY1LDB4MzYsMHg3MCwweDBiLDB4OTAsMHgwMH0gfSwKLXsgIDE2LDB4NDUxNiwwLHsweDAzLDB4MTIsMHgwYywweDVkLDB4NjUsMHgzNywweDcwLDB4MDEsMHgyMiwweDEyLDB4MGMsMHg0NCwweDdlLDB4MDAsMHgyOSwweGZmfSB9LAoteyAgMTYsMHg0NTI2LDAsezB4ZWUsMHgzYSwweGM5LDB4ZWYsMHhjOSwweDc1LDB4MzgsMHhmZiwweGY1LDB4MzksMHg4OSwweDNhLDB4ODAsMHhiYywweDdiLDB4MDB9IH0sCi17ICAgNCwweDQ1MzYsMCx7MHg3YSwweDAwLDB4NzksMHgwMH0gfSwKLXsgICAxLDB4NDUzYSwwLHsweDIyfSB9LAoteyAgMTYsMHg0NTNiLDAsezB4ZTQsMHhmZiwweDdiLDB4MDEsMHg5MCwweDc4LDB4MWMsMHgwNCwweGYwLDB4YTMsMHg3NCwweDc4LDB4ZjAsMHhhMywweDc0LDB4NGN9IH0sCi17ICAxNiwweDQ1NGIsMCx7MHhmMCwweDkwLDB4NzgsMHgxYywweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHg5MCwweDAwLDB4MDIsMHgxMn0gfSwKLXsgIDE2LDB4NDU1YiwwLHsweDBjLDB4NWQsMHhmZSwweDkwLDB4N2YsMHhlYywweGUwLDB4NmUsMHg2MCwweDEzLDB4ZWYsMHhjMywweDk0LDB4MDQsMHg1MCwweDBkfSB9LAoteyAgMTYsMHg0NTZiLDAsezB4OTAsMHg3OCwweDFkLDB4ZTQsMHg3NSwweGYwLDB4MDMsMHgxMiwweDBjLDB4ZjQsMHgwZiwweDgwLDB4ZDQsMHhiZiwweDA0LDB4MDl9IH0sCi17ICAxNiwweDQ1N2IsMCx7MHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDgwLDB4MTQsMHg5MCwweDc5LDB4MjEsMHhlMCwweGZmLDB4OTAsMHg3OH0gfSwKLXsgIDE2LDB4NDU4YiwwLHsweDFjLDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweGVmLDB4MTIsMHgwYywweDhhLDB4OTAsMHg3ZiwweGM1fSB9LAoteyAgIDMsMHg0NTliLDAsezB4NzQsMHgwMSwweGYwfSB9LAoteyAgIDEsMHg0NTllLDAsezB4MjJ9IH0sCi17ICAxNCwweDQ1OWYsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHhjMCwweGQwLDB4ZWUsMHhjMCwweGUwLDB4ZWYsMHhjMCwweGUwfSB9LAoteyAgMTYsMHg0NWFkLDAsezB4OTAsMHg3OSwweDg1LDB4ZTAsMHg2NCwweDAxLDB4NjAsMHgwNSwweGEzLDB4ZTAsMHhiNCwweDAxLDB4MmQsMHg5MCwweDc5LDB4ODd9IH0sCi17ICAxNiwweDQ1YmQsMCx7MHg3NCwweDAxLDB4ZjAsMHhlNCwweGZmLDB4OTAsMHg3ZiwweGM1LDB4ZTAsMHhmZSwweGVmLDB4YzMsMHg5ZSwweDUwLDB4MWIsMHg3NH0gfSwKLXsgIDE2LDB4NDVjZCwwLHsweGMwLDB4MmYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDdlLDB4ZjUsMHg4MywweGUwLDB4ZmUsMHg3NCwweDIxLDB4MmYsMHhmNSwweDgyfSB9LAoteyAgMTYsMHg0NWRkLDAsezB4ZTQsMHgzNCwweDc5LDB4ZjUsMHg4MywweGVlLDB4ZjAsMHgwZiwweDgwLDB4ZGIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YWF9IH0sCi17ICAgNCwweDQ1ZWQsMCx7MHhlMCwweDQ0LDB4MDEsMHhmMH0gfSwKLXsgIDE1LDB4NDVmMSwwLHsweGQwLDB4ZTAsMHhmZiwweGQwLDB4ZTAsMHhmZSwweGQwLDB4ZDAsMHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn0gfSwKLXsgIDE2LDB4NDYwMCwwLHsweGU0LDB4ZmYsMHg3YiwweDAxLDB4OTAsMHg3OCwweDE5LDB4MDQsMHhmMCwweGEzLDB4NzQsMHg3OCwweGYwLDB4YTMsMHg3NCwweDRjfSB9LAoteyAgMTYsMHg0NjEwLDAsezB4ZjAsMHg5MCwweDc4LDB4MTksMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4OTAsMHgwMCwweDAyLDB4MTJ9IH0sCi17ICAxNiwweDQ2MjAsMCx7MHgwYywweDVkLDB4ZmUsMHg5MCwweDdmLDB4ZWMsMHhlMCwweDZlLDB4NjAsMHgxMywweGVmLDB4YzMsMHg5NCwweDA0LDB4NTAsMHgwZH0gfSwKLXsgIDE2LDB4NDYzMCwwLHsweDkwLDB4NzgsMHgxYSwweGU0LDB4NzUsMHhmMCwweDAzLDB4MTIsMHgwYywweGY0LDB4MGYsMHg4MCwweGQ0LDB4YmYsMHgwNCwweDA4fSB9LAoteyAgMTYsMHg0NjQwLDAsezB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4NzgsMHgxOSwweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmF9IH0sCi17ICAxNiwweDQ2NTAsMCx7MHhhMywweGUwLDB4ZjksMHgxMiwweDBjLDB4NDQsMHg5MCwweDdmLDB4MDAsMHhmMCwweDkwLDB4N2YsMHhiNSwweDc0LDB4MDEsMHhmMH0gfSwKLXsgICAxLDB4NDY2MCwwLHsweDIyfSB9LAoteyAgMTYsMHg0NjYxLDAsezB4MDEsMHgxOCwweDAyLDB4MDEsMHgxOSwweDBhLDB4MDEsMHgxYywweDAwLDB4YzEsMHgyOCwweGMxLDB4MjksMHgwMSwweDFmLDB4MDF9IH0sCi17ICAxNSwweDQ2NzEsMCx7MHg0NCwweDc5LDB4OWYsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQxLDB4NzksMHhhMywweDAwLDB4NDEsMHg3OSwweGE0LDB4MDB9IH0sCi17ICAgNCwweDQ2ODAsMCx7MHg0MSwweDc5LDB4ODksMHgwMH0gfSwKLXsgIDE2LDB4NDY4NCwwLHsweDAxLDB4MjIsMHgwMSwweDQxLDB4NzksMHgzMSwweGZmLDB4NDEsMHg3OSwweDM0LDB4MDAsMHg0ZCwweDc5LDB4MzUsMHgzZiwweDNmfSB9LAoteyAgMTYsMHg0Njk0LDAsezB4MDAsMHgwOCwweDAwLDB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxNSwweDRkLDB4NzksMHg0MiwweDNmLDB4M2Z9IH0sCi17ICAxNiwweDQ2YTQsMCx7MHgwNiwweDA4LDB4MDQsMHgwNywweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE1LDB4NGQsMHg3OSwweDRmLDB4MGEsMHgwYX0gfSwKLXsgIDExLDB4NDZiNCwwLHsweDA5LDB4MDAsMHgwMSwweDA5LDB4MDIsMHgwMywweDA0LDB4MDUsMHgwNiwweDA3LDB4MDh9IH0sCi17ICAgMSwweDQ2YmYsMCx7MHgwMH0gfSwKLXsgIDE2LDB4NDZjMCwwLHsweDEyLDB4MGEsMHhjZCwweDkwLDB4N2YsMHhhNSwweGUwLDB4ZjUsMHgyMSwweGU1LDB4MjEsMHg1NCwweDAxLDB4ZjUsMHgyMSwweDY0fSB9LAoteyAgMTYsMHg0NmQwLDAsezB4MDEsMHg2MCwweDI4LDB4ZTUsMHgyMiwweDY0LDB4MDEsMHg3MCwweDIyLDB4OTAsMHg3ZiwweGE1LDB4ZTAsMHhmNSwweDIxLDB4NTR9IH0sCi17ICAxNiwweDQ2ZTAsMCx7MHgwMiwweGY1LDB4MjEsMHg3MCwweDAzLDB4NzUsMHgyMiwweDAxLDB4OTAsMHg3ZiwweGE1LDB4ZTAsMHhmNSwweDIxLDB4NTQsMHgwNH0gfSwKLXsgIDEyLDB4NDZmMCwwLHsweGZmLDB4ZjUsMHgyMSwweGJmLDB4MDQsMHhkMywweDc1LDB4MjIsMHgwMSwweDgwLDB4Y2UsMHgyMn0gfSwKLXsgICA0LDB4NDZmYywwLHsweDUzLDB4ZDgsMHhmNywweDMyfSB9LAoteyAgMTYsMHg0NzAwLDAsezB4MDIsMHg0OSwweGZhLDB4MDAsMHgwMiwweDNjLDB4NTQsMHgwMCwweDAyLDB4MTcsMHhlNCwweDAwLDB4MDIsMHg0YSwweDEyLDB4MDB9IH0sCi17ICAxNiwweDQ3MTAsMCx7MHgwMiwweDM3LDB4YTIsMHgwMCwweDAyLDB4NDcsMHhmZiwweDAwLDB4MDIsMHg0YSwweDQxLDB4MDAsMHgwMiwweDQ1LDB4OWYsMHgwMH0gfSwKLXsgIDE2LDB4NDcyMCwwLHsweDAyLDB4NDksMHg4ZSwweDAwLDB4MDIsMHg0OSwweGFiLDB4MDAsMHgwMiwweDRhLDB4NTgsMHgwMCwweDAyLDB4NGEsMHg2ZiwweDAwfSB9LAoteyAgMTYsMHg0NzMwLDAsezB4MDIsMHg0YSwweDg2LDB4MDAsMHgwMiwweDRhLDB4OWQsMHgwMCwweDAyLDB4NGEsMHhiNCwweDAwLDB4MDIsMHg0YSwweGNiLDB4MDB9IH0sCi17ICAxNiwweDQ3NDAsMCx7MHgwMiwweDRhLDB4ZTIsMHgwMCwweDAyLDB4NGEsMHhmOSwweDAwLDB4MDIsMHg0YiwweDEwLDB4MDAsMHgwMiwweDRiLDB4MjcsMHgwMH0gfSwKLXsgICA4LDB4NDc1MCwwLHsweDAyLDB4NGIsMHgzZSwweDAwLDB4MDIsMHg0YiwweDU1LDB4MDB9IH0sCi17ICAxNiwweDQ3NTgsMCx7MHhlNSwweDE4LDB4NzAsMHgxNCwweDkwLDB4NzksMHg4YywweGUwLDB4MDQsMHhmMCwweDkwLDB4NzksMHg4YiwweGUwLDB4YzMsMHg5NH0gfSwKLXsgIDE2LDB4NDc2OCwwLHsweDAwLDB4NDAsMHgxNSwweGUwLDB4MTQsMHhmMCwweDgwLDB4MTAsMHg5MCwweDc5LDB4OGIsMHhlMCwweDA0LDB4ZjAsMHhhMywweGUwfSB9LAoteyAgMTYsMHg0Nzc4LDAsezB4YzMsMHg5NCwweDAwLDB4NDAsMHgwMywweGUwLDB4MTQsMHhmMCwweDkwLDB4NzksMHg4YiwweGUwLDB4ZDMsMHg5NCwweDE0LDB4NDB9IH0sCi17ICAxNiwweDQ3ODgsMCx7MHgwNCwweGU0LDB4ZjUsMHgxOCwweGYwLDB4OTAsMHg3OSwweDhjLDB4ZTAsMHhkMywweDk0LDB4MTQsMHg0MCwweDA1LDB4NzUsMHgxOH0gfSwKLXsgICA0LDB4NDc5OCwwLHsweDAxLDB4ZTQsMHhmMCwweDIyfSB9LAoteyAgMTYsMHg0NzljLDAsezB4OTAsMHg3ZiwweGQ3LDB4ZTAsMHhmNSwweDMzLDB4OTAsMHg3ZiwweGVjLDB4ZTAsMHhmNSwweDA5LDB4MTQsMHg2MCwweDExLDB4MTR9IH0sCi17ICAxNiwweDQ3YWMsMCx7MHg2MCwweDFiLDB4MjQsMHgwMiwweDcwLDB4MjQsMHg5MCwweDdmLDB4ZWEsMHhlMCwweDkwLDB4NzksMHg2MiwweGYwLDB4ODAsMHgyMX0gfSwKLXsgIDE2LDB4NDdiYywwLHsweDkwLDB4N2YsMHhlYSwweGUwLDB4OTAsMHg3OSwweDYzLDB4ZjAsMHgxMiwweDEwLDB4MDAsMHg4MCwweDE0LDB4OTAsMHg3ZiwweGVhfSB9LAoteyAgMTYsMHg0N2NjLDAsezB4ZTAsMHg5MCwweDc5LDB4NjQsMHhmMCwweDEyLDB4MjgsMHgwMSwweDgwLDB4MDcsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDF9IH0sCi17ICAgMiwweDQ3ZGMsMCx7MHhmMCwweGQzfSB9LAoteyAgIDEsMHg0N2RlLDAsezB4MjJ9IH0sCi17ICAxNiwweDQ3ZGYsMCx7MHg5MCwweDc5LDB4NzgsMHg3NCwweDA0LDB4ZjAsMHg5MCwweDc5LDB4MzMsMHhlMCwweDkwLDB4NzksMHg3OSwweGYwLDB4YTIsMHhhZn0gfSwKLXsgIDE2LDB4NDdlZiwwLHsweGU0LDB4MzMsMHhmNSwweDEyLDB4YzIsMHhhZiwweDEyLDB4MGIsMHhhMiwweGU1LDB4MTIsMHg2MCwweDAyLDB4ZDIsMHhhZiwweDIyfSB9LAoteyAgIDEsMHg0N2ZmLDAsezB4MzJ9IH0sCi17ICAgMiwweDQ4MDAsMCx7MHg4ZiwweDM2fSB9LAoteyAgMTYsMHg0ODAyLDAsezB4ZTQsMHhmNSwweDM3LDB4NzUsMHgzOCwweGZmLDB4NzUsMHgzOSwweDA3LDB4NzUsMHgzYSwweDAxLDB4YWIsMHgzOCwweGFhLDB4Mzl9IH0sCi17ICAxNiwweDQ4MTIsMCx7MHhhOSwweDNhLDB4OTAsMHgwMCwweDAxLDB4MTIsMHgwYywweDVkLDB4YjQsMHgwMywweDFmLDB4YWYsMHgzNywweDA1LDB4MzcsMHhlZn0gfSwKLXsgIDE2LDB4NDgyMiwwLHsweDY1LDB4MzYsMHg3MCwweDAxLDB4MjIsMHgxMiwweDBjLDB4NDQsMHg3ZSwweDAwLDB4MjksMHhmZiwweGVlLDB4M2EsMHhjOSwweGVmfSB9LAoteyAgMTYsMHg0ODMyLDAsezB4YzksMHg3NSwweDM4LDB4ZmYsMHhmNSwweDM5LDB4ODksMHgzYSwweDgwLDB4ZDIsMHg3YiwweDAwLDB4N2EsMHgwMCwweDc5LDB4MDB9IH0sCi17ICAgMSwweDQ4NDIsMCx7MHgyMn0gfSwKLXsgIDE2LDB4NDg0MywwLHsweDMwLDB4MjYsMHgyZiwweGMyLDB4MjYsMHg5MCwweDc5LDB4MmQsMHhlMCwweGZmLDB4YjQsMHgwMSwweDA5LDB4ZTQsMHhmNSwweDBjfSB9LAoteyAgMTYsMHg0ODUzLDAsezB4NzUsMHgwZCwweGY4LDB4NzUsMHgwZSwweDBhLDB4ZWYsMHhiNCwweDAyLDB4MDksMHhlNCwweGY1LDB4MGMsMHg3NSwweDBkLDB4ZjB9IH0sCi17ICAxNiwweDQ4NjMsMCx7MHg3NSwweDBlLDB4MGIsMHhlZiwweGI0LDB4MDMsMHgwOSwweGU0LDB4ZjUsMHgwYywweDc1LDB4MGQsMHhmOCwweDc1LDB4MGUsMHgxN30gfSwKLXsgICAzLDB4NDg3MywwLHsweGQyLDB4MjIsMHgyMn0gfSwKLXsgIDE2LDB4NDg3NiwwLHsweDMwLDB4MjUsMHgyZiwweGMyLDB4MjUsMHg5MCwweDc5LDB4MmQsMHhlMCwweGZmLDB4YjQsMHgwMSwweDA5LDB4NzUsMHgwYywweGMwfSB9LAoteyAgMTYsMHg0ODg2LDAsezB4NzUsMHgwZCwweDE0LDB4NzUsMHgwZSwweDBiLDB4ZWYsMHhiNCwweDAyLDB4MDksMHhlNCwweGY1LDB4MGMsMHg3NSwweDBkLDB4MTB9IH0sCi17ICAxNiwweDQ4OTYsMCx7MHg3NSwweDBlLDB4MGMsMHhlZiwweGI0LDB4MDMsMHgwOSwweGU0LDB4ZjUsMHgwYywweDc1LDB4MGQsMHgxOCwweDc1LDB4MGUsMHgxOH0gfSwKLXsgICAzLDB4NDhhNiwwLHsweGQyLDB4MjIsMHgyMn0gfSwKLXsgIDE2LDB4NDhhOSwwLHsweGU0LDB4ZjUsMHgzMiwweDEyLDB4MGYsMHg1MCwweDIwLDB4MmUsMHgxMCwweGU1LDB4MzIsMHhjMywweDk0LDB4MDIsMHg1MCwweDA5fSB9LAoteyAgMTYsMHg0OGI5LDAsezB4MDUsMHgzMiwweGQyLDB4MzAsMHgxMiwweDQ5LDB4MDUsMHg4MCwweGVkLDB4MzAsMHgyZSwweDA1LDB4MTIsMHgxNCwweDU3LDB4YzJ9IH0sCi17ICAxNSwweDQ4YzksMCx7MHgyZSwweDMwLDB4MmQsMHgwNiwweDEyLDB4MDcsMHg5YSwweDEyLDB4NDgsMHhkOSwweDEyLDB4NDAsMHgwMCwweDgwLDB4ZWF9IH0sCi17ICAgMSwweDQ4ZDgsMCx7MHgyMn0gfSwKLXsgIDE2LDB4NDhkOSwwLHsweDkwLDB4N2YsMHhkNiwweGUwLDB4ZjUsMHgxZCwweDU0LDB4ODAsMHhmNSwweDFkLDB4NjQsMHg4MCwweDcwLDB4MWQsMHhjMiwweGFmfSB9LAoteyAgMTYsMHg0OGU5LDAsezB4ZTAsMHg0NCwweDgwLDB4ZjAsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDdmLDB4MGMsMHg3ZSwweDAwLDB4MTIsMHg0YiwweDZjLDB4OTB9IH0sCi17ICAxMiwweDQ4ZjksMCx7MHg3ZiwweGQ2LDB4ZTAsMHg1NCwweGZlLDB4ZjAsMHg1MywweDg3LDB4ZmUsMHhkMiwweGFmLDB4MjJ9IH0sCi17ICAxNiwweDQ5MDUsMCx7MHg5MCwweDdmLDB4ZDYsMHhlMCwweDU0LDB4ZmIsMHhmMCwweGUwLDB4NDQsMHgwOCwweGYwLDB4MzAsMHgzMCwweDA0LDB4ZTAsMHg0NH0gfSwKLXsgIDE2LDB4NDkxNSwwLHsweDAyLDB4ZjAsMHg3ZiwweGRjLDB4N2UsMHgwNSwweDEyLDB4NGIsMHg2YywweDkwLDB4N2YsMHhkNiwweGUwLDB4NTQsMHhmNywweGYwfSB9LAoteyAgIDUsMHg0OTI1LDAsezB4ZTAsMHg0NCwweDA0LDB4ZjAsMHgyMn0gfSwKLXsgIDE2LDB4NDkyYSwwLHsweDkwLDB4N2YsMHhlYiwweGUwLDB4MTQsMHg3MCwweDE0LDB4OTAsMHg3ZiwweGU5LDB4ZTAsMHgyNCwweDdmLDB4NzAsMHgwNCwweDEyfSB9LAoteyAgMTYsMHg0OTNhLDAsezB4NDYsMHgwMCwweDIyLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDR9IH0sCi17ICAgMywweDQ5NGEsMCx7MHgwMSwweGYwLDB4MjJ9IH0sCi17ICAxNiwweDQ5NGQsMCx7MHg5MCwweDdmLDB4ZWIsMHhlMCwweDE0LDB4NzAsMHgxMywweDkwLDB4N2YsMHhlOSwweGUwLDB4MTQsMHg3MCwweDA0LDB4MTIsMHg0NX0gfSwKLXsgIDE2LDB4NDk1ZCwwLHsweDNiLDB4MjIsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxfSB9LAoteyAgIDIsMHg0OTZkLDAsezB4ZjAsMHgyMn0gfSwKLXsgIDE2LDB4NDk2ZiwwLHsweGU0LDB4ZmYsMHg3NCwweGU4LDB4MmYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDdmLDB4ZjUsMHg4MywweGUwLDB4ZmUsMHg3NCwweDk2fSB9LAoteyAgMTQsMHg0OTdmLDAsezB4MmYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc5LDB4ZjUsMHg4MywweGVlLDB4ZjAsMHgwZiwweGJmLDB4MDgsMHhlNH0gfSwKLXsgICAxLDB4NDk4ZCwwLHsweDIyfSB9LAoteyAgMTYsMHg0OThlLDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGE5LDB4ZTAsMHg0NCwweDAyLDB4ZjB9IH0sCi17ICAxMywweDQ5OWUsMCx7MHg5MCwweDdmLDB4YjcsMHg3NCwweDAzLDB4ZjAsMHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn0gfSwKLXsgIDE2LDB4NDlhYiwwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhYSwweGUwLDB4NDQsMHgwMiwweGYwfSB9LAoteyAgMTMsMHg0OWJiLDAsezB4OTAsMHg3ZiwweGM3LDB4NzQsMHgwMywweGYwLDB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9IH0sCi17ICAxNiwweDQ5YzgsMCx7MHg5MCwweDdmLDB4ZDYsMHhlMCwweDMwLDB4ZTcsMHgxMiwweGUwLDB4NDQsMHgwMSwweGYwLDB4N2YsMHgxNCwweDdlLDB4MDAsMHgxMn0gfSwKLXsgIDEwLDB4NDlkOCwwLHsweDRiLDB4NmMsMHg5MCwweDdmLDB4ZDYsMHhlMCwweDU0LDB4ZmUsMHhmMCwweDIyfSB9LAoteyAgMTYsMHg0OWUyLDAsezB4ZTQsMHhmNSwweDFhLDB4NzUsMHgxYiwweDAxLDB4OTAsMHg3OSwweDkxLDB4MDQsMHhmMCwweGEzLDB4ZjAsMHhlNCwweGEzLDB4ZjB9IH0sCi17ICAgOCwweDQ5ZjIsMCx7MHhhMywweDc0LDB4MGEsMHhmMCwweGU0LDB4YTMsMHhmMCwweDIyfSB9LAoteyAgMTYsMHg0OWZhLDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4ZDIsMHgyZSwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhYiwweDc0LDB4MDF9IH0sCi17ICAgOCwweDRhMGEsMCx7MHhmMCwweGQwLDB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfSB9LAoteyAgMTYsMHg0YTEyLDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4ZDIsMHgyZCwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhYiwweDc0LDB4MDh9IH0sCi17ICAgOCwweDRhMjIsMCx7MHhmMCwweGQwLDB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfSB9LAoteyAgMTYsMHg0YTJhLDAsezB4OTAsMHg3ZiwweGVhLDB4ZTAsMHhmNSwweDA4LDB4ZTQsMHg5MCwweDc5LDB4NjIsMHhmMCwweGEzLDB4ZjAsMHhhMywweGYwLDB4OTB9IH0sCi17ICAgNywweDRhM2EsMCx7MHg3OSwweDY2LDB4ZjAsMHhhMywweGYwLDB4ZDMsMHgyMn0gfSwKLXsgIDE2LDB4NGE0MSwwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhOSwweGUwLDB4NDQsMHgwMSwweGYwfSB9LAoteyAgIDcsMHg0YTUxLDAsezB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9IH0sCi17ICAxNiwweDRhNTgsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YTksMHhlMCwweDQ0LDB4MDQsMHhmMH0gfSwKLXsgICA3LDB4NGE2OCwwLHsweGQwLDB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfSB9LAoteyAgMTYsMHg0YTZmLDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGFhLDB4ZTAsMHg0NCwweDA0LDB4ZjB9IH0sCi17ICAgNywweDRhN2YsMCx7MHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn0gfSwKLXsgIDE2LDB4NGE4NiwwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhOSwweGUwLDB4NDQsMHgwOCwweGYwfSB9LAoteyAgIDcsMHg0YTk2LDAsezB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9IH0sCi17ICAxNiwweDRhOWQsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YWEsMHhlMCwweDQ0LDB4MDgsMHhmMH0gfSwKLXsgICA3LDB4NGFhZCwwLHsweGQwLDB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfSB9LAoteyAgMTYsMHg0YWI0LDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGE5LDB4ZTAsMHg0NCwweDEwLDB4ZjB9IH0sCi17ICAgNywweDRhYzQsMCx7MHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn0gfSwKLXsgIDE2LDB4NGFjYiwwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhYSwweGUwLDB4NDQsMHgxMCwweGYwfSB9LAoteyAgIDcsMHg0YWRiLDAsezB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9IH0sCi17ICAxNiwweDRhZTIsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YTksMHhlMCwweDQ0LDB4MjAsMHhmMH0gfSwKLXsgICA3LDB4NGFmMiwwLHsweGQwLDB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfSB9LAoteyAgMTYsMHg0YWY5LDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGFhLDB4ZTAsMHg0NCwweDIwLDB4ZjB9IH0sCi17ICAgNywweDRiMDksMCx7MHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn0gfSwKLXsgIDE2LDB4NGIxMCwwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhOSwweGUwLDB4NDQsMHg0MCwweGYwfSB9LAoteyAgIDcsMHg0YjIwLDAsezB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9IH0sCi17ICAxNiwweDRiMjcsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YWEsMHhlMCwweDQ0LDB4NDAsMHhmMH0gfSwKLXsgICA3LDB4NGIzNywwLHsweGQwLDB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfSB9LAoteyAgMTYsMHg0YjNlLDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGE5LDB4ZTAsMHg0NCwweDgwLDB4ZjB9IH0sCi17ICAgNywweDRiNGUsMCx7MHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn0gfSwKLXsgIDE2LDB4NGI1NSwwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhYSwweGUwLDB4NDQsMHg4MCwweGYwfSB9LAoteyAgIDcsMHg0YjY1LDAsezB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9IH0sCi17ICAxNiwweDRiNmMsMCx7MHg4ZSwweDMzLDB4OGYsMHgzNCwweGU1LDB4MzQsMHgxNSwweDM0LDB4YWUsMHgzMywweDcwLDB4MDIsMHgxNSwweDMzLDB4NGUsMHg2MH0gfSwKLXsgICA3LDB4NGI3YywwLHsweDA1LDB4MTIsMHgwNywweDg5LDB4ODAsMHhlZSwweDIyfSB9LAoteyAgMTUsMHg0YjgzLDAsezB4OTAsMHg3ZiwweGVhLDB4ZTAsMHhiNCwweGZmLDB4MDQsMHgxMiwweDMwLDB4MDAsMHgyMiwweDEyLDB4MzYsMHgwZSwweDIyfSB9LAoteyAgMTQsMHg0YjkyLDAsezB4YzAsMHhlMCwweGMyLDB4OGIsMHhkMiwweDI0LDB4MzAsMHgyMywweDAyLDB4YzIsMHgyMywweGQwLDB4ZTAsMHgzMn0gfSwKLXsgIDE0LDB4NGJhMCwwLHsweDkwLDB4N2YsMHgwMCwweGU1LDB4MDgsMHhmMCwweDkwLDB4N2YsMHhiNSwweDc0LDB4MDEsMHhmMCwweGQzLDB4MjJ9IH0sCi17ICAgOSwweDRiYWUsMCx7MHgzMCwweDI0LDB4MDUsMHhjMiwweDI0LDB4NzUsMHgxOCwweDAxLDB4MjJ9IH0sCi17ICAgOSwweDRiYjcsMCx7MHgzMCwweDIzLDB4MDUsMHhjMiwweDIzLDB4ZTQsMHhmNSwweDE4LDB4MjJ9IH0sCi17ICAgNywweDRiYzAsMCx7MHg1MywweGMwLDB4ZmUsMHg1MywweGMwLDB4ZmQsMHgzMn0gfSwKLXsgICA2LDB4NGJjNywwLHsweDUzLDB4OTEsMHg3ZiwweGQyLDB4MjUsMHgzMn0gfSwKLXsgICA1LDB4NGJjZCwwLHsweGMyLDB4ODksMHhkMiwweDIzLDB4MzJ9IH0sCi17ICAgMywweDRiZDIsMCx7MHhjMiwweDhkLDB4MzJ9IH0sCi17ICAgMywweDRiZDUsMCx7MHhjMiwweDhmLDB4MzJ9IH0sCi17ICAgMiwweDRiZDgsMCx7MHhkMywweDIyfSB9LAoteyAgIDIsMHg0YmRhLDAsezB4ZDMsMHgyMn0gfSwKLXsgICAyLDB4NGJkYywwLHsweGQzLDB4MjJ9IH0sCi17ICAgMiwweDRiZGUsMCx7MHhkMywweDIyfSB9LAoteyAgIDIsMHg0YmUwLDAsezB4ZDMsMHgyMn0gfSwKLXsgICAyLDB4NGJlMiwwLHsweGQzLDB4MjJ9IH0sCi17ICAgMiwweDRiZTQsMCx7MHhjMywweDIyfSB9LAoteyAgIDEsMHg0YmU2LDAsezB4MjJ9IH0sCi17ICAgMCwweDAwMDAsMSx7MCB9fQotfTsKLS8qCi1WRVJTSU9OPTEuMC4yLjkxNgotREFURT0xMi4wMi4yMDAyCi0qLwotLyoKLSAqIFRoaXMgZmlybXdhcmUgaXMgZm9yIHRoZSBFbWFnaWMgRU1JIDJ8NiBBdWRpbyBJbnRlcmZhY2UKLSAqCi0gKiBUaGUgZmlybXdhcmUgY29udGFpbmVkIGhlcmVpbiBpcyBDb3B5cmlnaHQgKGMpIDE5OTktMjAwMiBFbWFnaWMKLSAqIGFzIGFuIHVucHVibGlzaGVkIHdvcmsuIFRoaXMgbm90aWNlIGRvZXMgbm90IGltcGx5IHVucmVzdHJpY3RlZAotICogb3IgcHVibGljIGFjY2VzcyB0byB0aGlzIGZpcm13YXJlIHdoaWNoIGlzIGEgdHJhZGUgc2VjcmV0IG9mIEVtYWdpYywKLSAqIGFuZCB3aGljaCBtYXkgbm90IGJlIHJlcHJvZHVjZWQsIHVzZWQsIHNvbGQgb3IgdHJhbnNmZXJyZWQgdG8KLSAqIGFueSB0aGlyZCBwYXJ0eSB3aXRob3V0IEVtYWdpYydzIHdyaXR0ZW4gY29uc2VudC4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KLSAqCi0gKiBUaGlzIGZpcm13YXJlIG1heSBub3QgYmUgbW9kaWZpZWQgYW5kIG1heSBvbmx5IGJlIHVzZWQgd2l0aCB0aGUKLSAqIEVtYWdpYyBFTUkgMnw2IEF1ZGlvIEludGVyZmFjZS4gRGlzdHJpYnV0aW9uIGFuZC9vciBNb2RpZmljYXRpb24gb2YKLSAqIGFueSBkcml2ZXIgd2hpY2ggaW5jbHVkZXMgdGhpcyBmaXJtd2FyZSwgaW4gd2hvbGUgb3IgaW4gcGFydCwKLSAqIHJlcXVpcmVzIHRoZSBpbmNsdXNpb24gb2YgdGhpcyBzdGF0ZW1lbnQuCi0gKi8KLXN0YXRpYyBJTlRFTF9IRVhfUkVDT1JEIGdfTG9hZGVyW10gPSB7Ci17ICAgMywweDAwMDAsMCx7MHgwMiwweDAzLDB4MWN9IH0sCi17ICAgMywweDAwNDMsMCx7MHgwMiwweDA0LDB4MDB9IH0sCi17ICAxNiwweDAxMDAsMCx7MHg5MCwweDdmLDB4ZTksMHhlMCwweDI0LDB4NWIsMHg2MCwweDYwLDB4MjQsMHgwMiwweDYwLDB4MDMsMHgwMiwweDAxLDB4YmUsMHg5MH0gfSwKLXsgIDE2LDB4MDExMCwwLHsweDdmLDB4ZWEsMHhlMCwweDc1LDB4MGEsMHgwMCwweGY1LDB4MGIsMHhhMywweGUwLDB4ZmUsMHhlNCwweGVlLDB4NDIsMHgwYSwweDkwfSB9LAoteyAgMTYsMHgwMTIwLDAsezB4N2YsMHhlZSwweGUwLDB4NzUsMHgxNSwweDAwLDB4ZjUsMHgxNiwweGEzLDB4ZTAsMHhmZSwweGU0LDB4ZWUsMHg0MiwweDE1LDB4ZTV9IH0sCi17ICAxNiwweDAxMzAsMCx7MHgxNiwweDQ1LDB4MTUsMHg3MCwweDAzLDB4MDIsMHgwMSwweGJlLDB4ZTQsMHg5MCwweDdmLDB4YzUsMHhmMCwweDkwLDB4N2YsMHhiNH0gfSwKLXsgIDE2LDB4MDE0MCwwLHsweGUwLDB4MjAsMHhlMywweGY5LDB4OTAsMHg3ZiwweGM1LDB4ZTAsMHhmNSwweDBjLDB4MTIsMHgwMiwweDc3LDB4YWYsMHgwYywweDdlfSB9LAoteyAgMTYsMHgwMTUwLDAsezB4MDAsMHhlZiwweDI1LDB4MGIsMHhmNSwweDBiLDB4ZWUsMHgzNSwweDBhLDB4ZjUsMHgwYSwweGMzLDB4ZTUsMHgxNiwweDlmLDB4ZjV9IH0sCi17ICAxNiwweDAxNjAsMCx7MHgxNiwweGU1LDB4MTUsMHg5ZSwweGY1LDB4MTUsMHg4MCwweGM3LDB4OTAsMHg3ZiwweGVhLDB4ZTAsMHg3NSwweDBhLDB4MDAsMHhmNX0gfSwKLXsgIDE2LDB4MDE3MCwwLHsweDBiLDB4YTMsMHhlMCwweGZlLDB4ZTQsMHhlZSwweDQyLDB4MGEsMHg5MCwweDdmLDB4ZWUsMHhlMCwweDc1LDB4MTUsMHgwMCwweGY1fSB9LAoteyAgMTYsMHgwMTgwLDAsezB4MTYsMHhhMywweGUwLDB4ZmUsMHhlNCwweGVlLDB4NDIsMHgxNSwweGU1LDB4MTYsMHg0NSwweDE1LDB4NjAsMHgzMCwweGU0LDB4OTB9IH0sCi17ICAxNiwweDAxOTAsMCx7MHg3ZiwweGM1LDB4ZjAsMHg5MCwweDdmLDB4YjQsMHhlMCwweDIwLDB4ZTMsMHhmOSwweDkwLDB4N2YsMHhjNSwweGUwLDB4ZjUsMHgwY30gfSwKLXsgIDE2LDB4MDFhMCwwLHsweDEyLDB4MDIsMHg4ZiwweGFmLDB4MGMsMHg3ZSwweDAwLDB4ZWYsMHgyNSwweDBiLDB4ZjUsMHgwYiwweGVlLDB4MzUsMHgwYSwweGY1fSB9LAoteyAgMTUsMHgwMWIwLDAsezB4MGEsMHhjMywweGU1LDB4MTYsMHg5ZiwweGY1LDB4MTYsMHhlNSwweDE1LDB4OWUsMHhmNSwweDE1LDB4ODAsMHhjYSwweGMzfSB9LAoteyAgIDEsMHgwMWJmLDAsezB4MjJ9IH0sCi17ICAxNiwweDAxYzAsMCx7MHhjMiwweDIwLDB4ZDIsMHhlOCwweDQzLDB4ZDgsMHgyMCwweDkwLDB4N2YsMHhhYiwweDc0LDB4ZmYsMHhmMCwweDkwLDB4N2YsMHhhOX0gfSwKLXsgIDE2LDB4MDFkMCwwLHsweGYwLDB4OTAsMHg3ZiwweGFhLDB4ZjAsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4OTUsMHhlMCwweDQ0LDB4YzAsMHhmMCwweDkwfSB9LAoteyAgMTYsMHgwMWUwLDAsezB4N2YsMHg5OCwweGUwLDB4NDQsMHhjMCwweGYwLDB4OTAsMHg3ZiwweDllLDB4ZTAsMHg0NCwweGMwLDB4ZjAsMHhlNCwweDkwLDB4N2Z9IH0sCi17ICAxNiwweDAxZjAsMCx7MHg5NCwweGYwLDB4OTAsMHg3ZiwweDlkLDB4ZTAsMHg0NCwweDBmLDB4ZjAsMHg5MCwweDdmLDB4OTcsMHhlMCwweDU0LDB4ZjAsMHhmMH0gfSwKLXsgIDE2LDB4MDIwMCwwLHsweDkwLDB4N2YsMHhhZiwweGUwLDB4NDQsMHgwMSwweGYwLDB4OTAsMHg3ZiwweGFlLDB4ZTAsMHg0NCwweDBkLDB4ZjAsMHhkMiwweGFmfSB9LAoteyAgMTYsMHgwMjEwLDAsezB4OTAsMHg3ZiwweDk3LDB4ZTAsMHg1NCwweGYwLDB4ZjAsMHgyMCwweDIwLDB4NDIsMHg3NSwweDE0LDB4MDAsMHg3NSwweDEzLDB4MDB9IH0sCi17ICAxNiwweDAyMjAsMCx7MHg3NSwweDEyLDB4MDAsMHg3NSwweDExLDB4MDAsMHg3ZiwweDQ4LDB4N2UsMHg5MiwweDdkLDB4MDAsMHg3YywweDAwLDB4YWIsMHgxNH0gfSwKLXsgIDE2LDB4MDIzMCwwLHsweGFhLDB4MTMsMHhhOSwweDEyLDB4YTgsMHgxMSwweGMzLDB4MTIsMHgwNCwweDlhLDB4NTAsMHhkYiwweDIwLDB4MjAsMHhkOCwweDdhfSB9LAoteyAgMTYsMHgwMjQwLDAsezB4MDAsMHg3OSwweDAwLDB4NzgsMHgwMCwweGU1LDB4MTQsMHgyNCwweDAxLDB4ZjUsMHgxNCwweGVhLDB4MzUsMHgxMywweGY1LDB4MTN9IH0sCi17ICAxNiwweDAyNTAsMCx7MHhlOSwweDM1LDB4MTIsMHhmNSwweDEyLDB4ZTgsMHgzNSwweDExLDB4ZjUsMHgxMSwweDgwLDB4Y2EsMHgzMCwweDIwLDB4ZmQsMHgxMn0gfSwKLXsgIDE2LDB4MDI2MCwwLHsweDAxLDB4MDAsMHg1MCwweDA3LDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0fSB9LAoteyAgIDYsMHgwMjcwLDAsezB4MDIsMHhmMCwweGMyLDB4MjAsMHg4MCwweGU2fSB9LAoteyAgIDEsMHgwMjc2LDAsezB4MjJ9IH0sCi17ICAxNiwweDAyNzcsMCx7MHhlNSwweDBjLDB4ZmYsMHhlNSwweDBiLDB4ZjUsMHg4MiwweGU1LDB4MGEsMHhmNSwweDgzLDB4NzUsMHg5MiwweDdlLDB4NzQsMHhjMH0gfSwKLXsgICA4LDB4MDI4NywwLHsweGY4LDB4ZTIsMHgwOCwweGYwLDB4YTMsMHhkZiwweGZhLDB4MjJ9IH0sCi17ICAxNiwweDAyOGYsMCx7MHg5MCwweDdmLDB4OTYsMHg4NSwweDgzLDB4OTIsMHhhOCwweDgyLDB4NzksMHgwMiwweDkwLDB4MDAsMHgwMCwweGUwLDB4YjQsMHgwMH0gfSwKLXsgIDE2LDB4MDI5ZiwwLHsweDM3LDB4NzQsMHgwMSwweGYwLDB4OTAsMHg3ZiwweDkzLDB4ZTAsMHg1NCwweGZjLDB4ZjAsMHg5MCwweDdmLDB4OTYsMHhlMCwweDU0fSB9LAoteyAgMTYsMHgwMmFmLDAsezB4ZmMsMHhmMCwweDkwLDB4N2YsMHg5YywweGUwLDB4NDQsMHgwMywweGYwLDB4OTAsMHg3ZiwweDk0LDB4ZTAsMHg1NCwweDdmLDB4ZjB9IH0sCi17ICAxNiwweDAyYmYsMCx7MHg5MCwweDdmLDB4OTcsMHhlMCwweDQ0LDB4ODAsMHhmMCwweDkwLDB4N2YsMHg5ZCwweGUwLDB4NDQsMHg4MCwweGYwLDB4OTAsMHg3Zn0gfSwKLXsgIDE2LDB4MDJjZiwwLHsweDk3LDB4ZTAsMHg1NCwweDdmLDB4ZjAsMHg0NCwweDgwLDB4ZjAsMHhlNSwweDBjLDB4ZmYsMHg5MCwweDdlLDB4YzAsMHhlMCwweGY1fSB9LAoteyAgMTYsMHgwMmRmLDAsezB4MjgsMHhlNCwweGEyLDB4NDcsMHgzMywweGYyLDB4NjksMHhmMiwweGU0LDB4YTIsMHg0NiwweDMzLDB4ZjIsMHg2OSwweGYyLDB4ZTR9IH0sCi17ICAxNiwweDAyZWYsMCx7MHhhMiwweDQ1LDB4MzMsMHhmMiwweDY5LDB4ZjIsMHhlNCwweGEyLDB4NDQsMHgzMywweGYyLDB4NjksMHhmMiwweGU0LDB4YTIsMHg0M30gfSwKLXsgIDE2LDB4MDJmZiwwLHsweDMzLDB4ZjIsMHg2OSwweGYyLDB4ZTQsMHhhMiwweDQyLDB4MzMsMHhmMiwweDY5LDB4ZjIsMHhlNCwweGEyLDB4NDEsMHgzMywweGYyfSB9LAoteyAgMTMsMHgwMzBmLDAsezB4NjksMHhmMiwweGU0LDB4YTIsMHg0MCwweDMzLDB4ZjIsMHg2OSwweGYyLDB4YTMsMHhkZiwweGMyLDB4MjJ9IH0sCi17ICAxMiwweDAzMWMsMCx7MHg3OCwweDdmLDB4ZTQsMHhmNiwweGQ4LDB4ZmQsMHg3NSwweDgxLDB4MjksMHgwMiwweDAzLDB4NjN9IH0sCi17ICAxNiwweDAzMjgsMCx7MHgwMiwweDAxLDB4YzAsMHhlNCwweDkzLDB4YTMsMHhmOCwweGU0LDB4OTMsMHhhMywweDQwLDB4MDMsMHhmNiwweDgwLDB4MDEsMHhmMn0gfSwKLXsgIDE2LDB4MDMzOCwwLHsweDA4LDB4ZGYsMHhmNCwweDgwLDB4MjksMHhlNCwweDkzLDB4YTMsMHhmOCwweDU0LDB4MDcsMHgyNCwweDBjLDB4YzgsMHhjMywweDMzfSB9LAoteyAgMTYsMHgwMzQ4LDAsezB4YzQsMHg1NCwweDBmLDB4NDQsMHgyMCwweGM4LDB4ODMsMHg0MCwweDA0LDB4ZjQsMHg1NiwweDgwLDB4MDEsMHg0NiwweGY2LDB4ZGZ9IH0sCi17ICAxNiwweDAzNTgsMCx7MHhlNCwweDgwLDB4MGIsMHgwMSwweDAyLDB4MDQsMHgwOCwweDEwLDB4MjAsMHg0MCwweDgwLDB4OTAsMHgwNCwweDg0LDB4ZTQsMHg3ZX0gfSwKLXsgIDE2LDB4MDM2OCwwLHsweDAxLDB4OTMsMHg2MCwweGJjLDB4YTMsMHhmZiwweDU0LDB4M2YsMHgzMCwweGU1LDB4MDksMHg1NCwweDFmLDB4ZmUsMHhlNCwweDkzfSB9LAoteyAgMTYsMHgwMzc4LDAsezB4YTMsMHg2MCwweDAxLDB4MGUsMHhjZiwweDU0LDB4YzAsMHgyNSwweGUwLDB4NjAsMHhhOCwweDQwLDB4YjgsMHhlNCwweDkzLDB4YTN9IH0sCi17ICAxNiwweDAzODgsMCx7MHhmYSwweGU0LDB4OTMsMHhhMywweGY4LDB4ZTQsMHg5MywweGEzLDB4YzgsMHhjNSwweDgyLDB4YzgsMHhjYSwweGM1LDB4ODMsMHhjYX0gfSwKLXsgIDE2LDB4MDM5OCwwLHsweGYwLDB4YTMsMHhjOCwweGM1LDB4ODIsMHhjOCwweGNhLDB4YzUsMHg4MywweGNhLDB4ZGYsMHhlOSwweGRlLDB4ZTcsMHg4MCwweGJlfSB9LAoteyAgMTYsMHgwM2E4LDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4OTAsMHg3ZiwweGM0LDB4ZTQsMHhmMCwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2Z9IH0sCi17ICAxMSwweDAzYjgsMCx7MHhhYiwweDc0LDB4MDQsMHhmMCwweGQwLDB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfSB9LAoteyAgMTYsMHgwM2MzLDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4ZDIsMHgyMCwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhYiwweDc0LDB4MDF9IH0sCi17ICAgOCwweDAzZDMsMCx7MHhmMCwweGQwLDB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfSB9LAoteyAgMTYsMHgwM2RiLDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGFiLDB4NzQsMHgwMiwweGYwLDB4ZDB9IH0sCi17ICAgNiwweDAzZWIsMCx7MHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9IH0sCi17ICAgMSwweDAzZjEsMCx7MHgzMn0gfSwKLXsgICAxLDB4MDNmMiwwLHsweDMyfSB9LAoteyAgIDEsMHgwM2YzLDAsezB4MzJ9IH0sCi17ICAgMSwweDAzZjQsMCx7MHgzMn0gfSwKLXsgICAxLDB4MDNmNSwwLHsweDMyfSB9LAoteyAgIDEsMHgwM2Y2LDAsezB4MzJ9IH0sCi17ICAgMSwweDAzZjcsMCx7MHgzMn0gfSwKLXsgICAxLDB4MDNmOCwwLHsweDMyfSB9LAoteyAgIDEsMHgwM2Y5LDAsezB4MzJ9IH0sCi17ICAgMSwweDAzZmEsMCx7MHgzMn0gfSwKLXsgICAxLDB4MDNmYiwwLHsweDMyfSB9LAoteyAgIDEsMHgwM2ZjLDAsezB4MzJ9IH0sCi17ICAgMSwweDAzZmQsMCx7MHgzMn0gfSwKLXsgICAxLDB4MDNmZSwwLHsweDMyfSB9LAoteyAgIDEsMHgwM2ZmLDAsezB4MzJ9IH0sCi17ICAxNiwweDA0MDAsMCx7MHgwMiwweDAzLDB4YzMsMHgwMCwweDAyLDB4MDMsMHhkYiwweDAwLDB4MDIsMHgwMywweGE4LDB4MDAsMHgwMiwweDA0LDB4NmUsMHgwMH0gfSwKLXsgIDE2LDB4MDQxMCwwLHsweDAyLDB4MDQsMHg1OCwweDAwLDB4MDIsMHgwMywweGYxLDB4MDAsMHgwMiwweDAzLDB4ZjIsMHgwMCwweDAyLDB4MDMsMHhmMywweDAwfSB9LAoteyAgMTYsMHgwNDIwLDAsezB4MDIsMHgwMywweGY0LDB4MDAsMHgwMiwweDAzLDB4ZjUsMHgwMCwweDAyLDB4MDMsMHhmNiwweDAwLDB4MDIsMHgwMywweGY3LDB4MDB9IH0sCi17ICAxNiwweDA0MzAsMCx7MHgwMiwweDAzLDB4ZjgsMHgwMCwweDAyLDB4MDMsMHhmOSwweDAwLDB4MDIsMHgwMywweGZhLDB4MDAsMHgwMiwweDAzLDB4ZmIsMHgwMH0gfSwKLXsgIDE2LDB4MDQ0MCwwLHsweDAyLDB4MDMsMHhmYywweDAwLDB4MDIsMHgwMywweGZkLDB4MDAsMHgwMiwweDAzLDB4ZmUsMHgwMCwweDAyLDB4MDMsMHhmZiwweDAwfSB9LAoteyAgIDgsMHgwNDUwLDAsezB4MDIsMHgwNCwweGFiLDB4MDAsMHgwMiwweDA0LDB4YWMsMHgwMH0gfSwKLXsgIDE2LDB4MDQ1OCwwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhYiwweDc0LDB4MTAsMHhmMCwweGQwfSB9LAoteyAgIDYsMHgwNDY4LDAsezB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfSB9LAoteyAgMTYsMHgwNDZlLDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGFiLDB4NzQsMHgwOCwweGYwLDB4ZDB9IH0sCi17ICAgNiwweDA0N2UsMCx7MHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9IH0sCi17ICAxNiwweDA0ODQsMCx7MHgwMiwweDBhLDB4MDAsMHgwZiwweDAxLDB4MGMsMHgxMSwweDA0LDB4MGQsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQxLDB4MDAsMHgwMH0gfSwKLXsgICAxLDB4MDQ5NCwwLHsweDAwfSB9LAoteyAgIDQsMHgwNDk1LDAsezB4MDIsMHgxNywweDAwLDB4MDB9IH0sCi17ICAgMSwweDA0OTksMCx7MHgwMH0gfSwKLXsgIDE2LDB4MDQ5YSwwLHsweGViLDB4OWYsMHhmNSwweGYwLDB4ZWEsMHg5ZSwweDQyLDB4ZjAsMHhlOSwweDlkLDB4NDIsMHhmMCwweGU4LDB4OWMsMHg0NSwweGYwfSB9LAoteyAgIDEsMHgwNGFhLDAsezB4MjJ9IH0sCi17ICAgMSwweDA0YWIsMCx7MHgzMn0gfSwKLXsgICAxLDB4MDRhYywwLHsweDMyfSB9LAoteyAgMTYsMHgxMTAwLDAsezB4MTIsMHgwMSwweDEwLDB4MDEsMHgwMCwweDAwLDB4MDAsMHg0MCwweDZhLDB4MDgsMHgwMSwweDAxLDB4MDAsMHgwMSwweDAxLDB4MDJ9IH0sCi17ICAxNiwweDExMTAsMCx7MHgwMCwweDAxLDB4MDksMHgwMiwweDIwLDB4MDAsMHgwMSwweDAxLDB4MDMsMHhhMCwweDAwLDB4MDksMHgwNCwweDAwLDB4MDAsMHgwMn0gfSwKLXsgIDE2LDB4MTEyMCwwLHsweGZmLDB4MDAsMHgwMCwweDA0LDB4MDcsMHgwNSwweDgyLDB4MDIsMHg0MCwweDAwLDB4MDAsMHgwNywweDA1LDB4MDIsMHgwMiwweDQwfSB9LAoteyAgMTYsMHgxMTMwLDAsezB4MDAsMHgwMCwweDA0LDB4MDMsMHgwOSwweDA0LDB4MjYsMHgwMywweDQxLDB4MDAsMHg2ZSwweDAwLDB4NjMsMHgwMCwweDY4LDB4MDB9IH0sCi17ICAxNiwweDExNDAsMCx7MHg2ZiwweDAwLDB4NzIsMHgwMCwweDIwLDB4MDAsMHg0MywweDAwLDB4NjgsMHgwMCwweDY5LDB4MDAsMHg3MCwweDAwLDB4NzMsMHgwMH0gfSwKLXsgIDE2LDB4MTE1MCwwLHsweDJjLDB4MDAsMHgyMCwweDAwLDB4NDksMHgwMCwweDZlLDB4MDAsMHg2MywweDAwLDB4MmUsMHgwMCwweDI4LDB4MDMsMHg0NiwweDAwfSB9LAoteyAgMTYsMHgxMTYwLDAsezB4NjksMHgwMCwweDcyLDB4MDAsMHg2ZCwweDAwLDB4NzcsMHgwMCwweDYxLDB4MDAsMHg3MiwweDAwLDB4NjUsMHgwMCwweDIwLDB4MDB9IH0sCi17ICAxNiwweDExNzAsMCx7MHg0NiwweDAwLDB4NzIsMHgwMCwweDYxLDB4MDAsMHg2ZCwweDAwLDB4NjUsMHgwMCwweDU3LDB4MDAsMHg2ZiwweDAwLDB4NzIsMHgwMH0gfSwKLXsgIDE2LDB4MTE4MCwwLHsweDZiLDB4MDAsMHg3MywweDAwLDB4MmEsMHgwMywweDQzLDB4MDAsMHg2ZiwweDAwLDB4NmUsMHgwMCwweDY2LDB4MDAsMHg2OSwweDAwfSB9LAoteyAgMTYsMHgxMTkwLDAsezB4NjcsMHgwMCwweDc1LDB4MDAsMHg3MiwweDAwLDB4NjEsMHgwMCwweDc0LDB4MDAsMHg2OSwweDAwLDB4NmYsMHgwMCwweDZlLDB4MDB9IH0sCi17ICAxNiwweDExYTAsMCx7MHgyMCwweDAwLDB4NTMsMHgwMCwweDc0LDB4MDAsMHg3MiwweDAwLDB4NjksMHgwMCwweDZlLDB4MDAsMHg2NywweDAwLDB4MjIsMHgwM30gfSwKLXsgIDE2LDB4MTFiMCwwLHsweDQ5LDB4MDAsMHg2ZSwweDAwLDB4NzQsMHgwMCwweDY1LDB4MDAsMHg3MiwweDAwLDB4NjYsMHgwMCwweDYxLDB4MDAsMHg2MywweDAwfSB9LAoteyAgMTYsMHgxMWMwLDAsezB4NjUsMHgwMCwweDIwLDB4MDAsMHg1MywweDAwLDB4NzQsMHgwMCwweDcyLDB4MDAsMHg2OSwweDAwLDB4NmUsMHgwMCwweDY3LDB4MDB9IH0sCi17ICAgMiwweDExZDAsMCx7MHgwMCwweDAwfSB9LAoteyAgIDAsMHgwMDAwLDEsezAgfX0KLX07CmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9taXNjL2VtaTYyLmMgYi9kcml2ZXJzL3VzYi9taXNjL2VtaTYyLmMKaW5kZXggMWEyYjc5YS4uMjA4ODZjMiAxMDA2NDQKLS0tIGEvZHJpdmVycy91c2IvbWlzYy9lbWk2Mi5jCisrKyBiL2RyaXZlcnMvdXNiL21pc2MvZW1pNjIuYwpAQCAtMTYsMTUgKzE2LDggQEAKICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KICNpbmNsdWRlIDxsaW51eC91c2IuaD4KICNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgotCi0jZGVmaW5lIE1BWF9JTlRFTF9IRVhfUkVDT1JEX0xFTkdUSCAxNgotdHlwZWRlZiBzdHJ1Y3QgX0lOVEVMX0hFWF9SRUNPUkQKLXsKLQlfX3UzMglsZW5ndGg7Ci0JX191MzIJYWRkcmVzczsKLQlfX3UzMgl0eXBlOwotCV9fdTgJZGF0YVtNQVhfSU5URUxfSEVYX1JFQ09SRF9MRU5HVEhdOwotfSBJTlRFTF9IRVhfUkVDT1JELCAqUElOVEVMX0hFWF9SRUNPUkQ7CisjaW5jbHVkZSA8bGludXgvZmlybXdhcmUuaD4KKyNpbmNsdWRlIDxsaW51eC9paGV4Lmg+CiAKIC8qIGluY2x1ZGUgZmlybXdhcmUgKHZhcmlhYmxlcykqLwogCkBAIC0zMyw5ICsyNiw5IEBACiAvLyN1bmRlZiBTUERJRgkvKiBpZiB5b3Ugd2FudCBNSURJIHVuY29tbWVudCB0aGlzIGxpbmUgKi8gCiAKICNpZmRlZiBTUERJRgotIyAgaW5jbHVkZSAiZW1pNjJfZndfcy5oIiAvKiBzcGRpZiBmdyAqLworI2RlZmluZSBGSVJNV0FSRV9GVyAiZW1pNjIvc3BkaWYuZnciCiAjZWxzZQotIyAgaW5jbHVkZSAiZW1pNjJfZndfbS5oIiAvKiBtaWRpIGZ3ICovCisjZGVmaW5lIEZJUk1XQVJFX0ZXICJlbWk2Mi9taWRpLmZ3IgogI2VuZGlmCiAKICNkZWZpbmUgRU1JNjJfVkVORE9SX0lEIAkJMHgwODZhICAvKiBFbWFnaWMgU29mdC11bmQgSGFyZHdhcmUgR21CSCAqLwpAQCAtNDgsNyArNDEsOSBAQAogI2RlZmluZSBDUFVDU19SRUcJCTB4N0Y5MiAgLyogRVotVVNCIENvbnRyb2wgYW5kIFN0YXR1cyBSZWdpc3Rlci4gIEJpdCAwIGNvbnRyb2xzIDgwNTEgcmVzZXQgKi8gCiAjZGVmaW5lIElOVEVSTkFMX1JBTShhZGRyZXNzKSAgIChhZGRyZXNzIDw9IE1BWF9JTlRFUk5BTF9BRERSRVNTKQogCi1zdGF0aWMgaW50IGVtaTYyX3dyaXRlbWVtb3J5KCBzdHJ1Y3QgdXNiX2RldmljZSAqZGV2LCBpbnQgYWRkcmVzcywgdW5zaWduZWQgY2hhciAqZGF0YSwgaW50IGxlbmd0aCwgX191OCBiUmVxdWVzdCk7CitzdGF0aWMgaW50IGVtaTYyX3dyaXRlbWVtb3J5KHN0cnVjdCB1c2JfZGV2aWNlICpkZXYsIGludCBhZGRyZXNzLAorCQkJICAgICBjb25zdCB1bnNpZ25lZCBjaGFyICpkYXRhLCBpbnQgbGVuZ3RoLAorCQkJICAgICBfX3U4IGJSZXF1ZXN0KTsKIHN0YXRpYyBpbnQgZW1pNjJfc2V0X3Jlc2V0KHN0cnVjdCB1c2JfZGV2aWNlICpkZXYsIHVuc2lnbmVkIGNoYXIgcmVzZXRfYml0KTsKIHN0YXRpYyBpbnQgZW1pNjJfbG9hZF9maXJtd2FyZSAoc3RydWN0IHVzYl9kZXZpY2UgKmRldik7CiBzdGF0aWMgaW50IGVtaTYyX3Byb2JlKHN0cnVjdCB1c2JfaW50ZXJmYWNlICppbnRmLCBjb25zdCBzdHJ1Y3QgdXNiX2RldmljZV9pZCAqaWQpOwpAQCAtNTgsNyArNTMsOSBAQAogCiAKIC8qIHRoYW5rcyB0byBkcml2ZXJzL3VzYi9zZXJpYWwva2V5c3Bhbl9wZGEuYyBjb2RlICovCi1zdGF0aWMgaW50IGVtaTYyX3dyaXRlbWVtb3J5IChzdHJ1Y3QgdXNiX2RldmljZSAqZGV2LCBpbnQgYWRkcmVzcywgdW5zaWduZWQgY2hhciAqZGF0YSwgaW50IGxlbmd0aCwgX191OCByZXF1ZXN0KQorc3RhdGljIGludCBlbWk2Ml93cml0ZW1lbW9yeShzdHJ1Y3QgdXNiX2RldmljZSAqZGV2LCBpbnQgYWRkcmVzcywKKwkJCSAgICAgY29uc3QgdW5zaWduZWQgY2hhciAqZGF0YSwgaW50IGxlbmd0aCwKKwkJCSAgICAgX191OCByZXF1ZXN0KQogewogCWludCByZXN1bHQ7CiAJdW5zaWduZWQgY2hhciAqYnVmZmVyID0gIGttZW1kdXAoZGF0YSwgbGVuZ3RoLCBHRlBfS0VSTkVMKTsKQEAgLTkxLDkgKzg4LDEyIEBACiAKIHN0YXRpYyBpbnQgZW1pNjJfbG9hZF9maXJtd2FyZSAoc3RydWN0IHVzYl9kZXZpY2UgKmRldikKIHsKKwljb25zdCBzdHJ1Y3QgZmlybXdhcmUgKmxvYWRlcl9mdyA9IE5VTEw7CisJY29uc3Qgc3RydWN0IGZpcm13YXJlICpiaXRzdHJlYW1fZncgPSBOVUxMOworCWNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqZmlybXdhcmVfZncgPSBOVUxMOworCWNvbnN0IHN0cnVjdCBpaGV4X2JpbnJlYyAqcmVjOwogCWludCBlcnI7CiAJaW50IGk7Ci0JaW50IHBvcyA9IDA7CS8qIFBvc2l0aW9uIGluIGhleCByZWNvcmQgKi8KIAlfX3UzMiBhZGRyOwkvKiBBZGRyZXNzIHRvIHdyaXRlICovCiAJX191OCAqYnVmOwogCkBAIC0xMDUsNiArMTA1LDIyIEBACiAJCWdvdG8gd3JhcGVycjsKIAl9CiAKKwllcnIgPSByZXF1ZXN0X2loZXhfZmlybXdhcmUoJmxvYWRlcl9mdywgImVtaTYyL2xvYWRlci5mdyIsICZkZXYtPmRldik7CisJaWYgKGVycikKKwkJZ290byBub2Z3OworCisJZXJyID0gcmVxdWVzdF9paGV4X2Zpcm13YXJlKCZiaXRzdHJlYW1fZncsICJlbWk2Mi9iaXRzdHJlYW0uZnciLAorCQkJCSAgICAmZGV2LT5kZXYpOworCWlmIChlcnIpCisJCWdvdG8gbm9mdzsKKworCWVyciA9IHJlcXVlc3RfaWhleF9maXJtd2FyZSgmZmlybXdhcmVfZncsIEZJUk1XQVJFX0ZXLCAmZGV2LT5kZXYpOworCWlmIChlcnIpIHsKKwlub2Z3OgorCQllcnIoICIlcyAtIHJlcXVlc3RfZmlybXdhcmUoKSBmYWlsZWQiLCBfX2Z1bmNfXyk7CisJCWdvdG8gd3JhcGVycjsKKwl9CisKIAkvKiBBc3NlcnQgcmVzZXQgKHN0b3AgdGhlIENQVSBpbiB0aGUgRU1JKSAqLwogCWVyciA9IGVtaTYyX3NldF9yZXNldChkZXYsMSk7CiAJaWYgKGVyciA8IDApIHsKQEAgLTExMiwxMyArMTI4LDE4IEBACiAJCWdvdG8gd3JhcGVycjsKIAl9CiAKKwlyZWMgPSAoY29uc3Qgc3RydWN0IGloZXhfYmlucmVjICopbG9hZGVyX2Z3LT5kYXRhOworCiAJLyogMS4gV2UgbmVlZCB0byBwdXQgdGhlIGxvYWRlciBmb3IgdGhlIEZQR0EgaW50byB0aGUgRVotVVNCICovCi0JZm9yIChpPTA7IGdfZW1pNjJfbG9hZGVyW2ldLnR5cGUgPT0gMDsgaSsrKSB7Ci0JCWVyciA9IGVtaTYyX3dyaXRlbWVtb3J5KGRldiwgZ19lbWk2Ml9sb2FkZXJbaV0uYWRkcmVzcywgZ19lbWk2Ml9sb2FkZXJbaV0uZGF0YSwgZ19lbWk2Ml9sb2FkZXJbaV0ubGVuZ3RoLCBBTkNIT1JfTE9BRF9JTlRFUk5BTCk7CisJd2hpbGUgKHJlYykgeworCQllcnIgPSBlbWk2Ml93cml0ZW1lbW9yeShkZXYsIGJlMzJfdG9fY3B1KHJlYy0+YWRkciksCisJCQkJCXJlYy0+ZGF0YSwgYmUxNl90b19jcHUocmVjLT5sZW4pLAorCQkJCQlBTkNIT1JfTE9BRF9JTlRFUk5BTCk7CiAJCWlmIChlcnIgPCAwKSB7CiAJCQllcnIoIiVzIC0gZXJyb3IgbG9hZGluZyBmaXJtd2FyZTogZXJyb3IgPSAlZCIsIF9fZnVuY19fLCBlcnIpOwogCQkJZ290byB3cmFwZXJyOwogCQl9CisJCXJlYyA9IGloZXhfbmV4dF9iaW5yZWMocmVjKTsKIAl9CiAKIAkvKiBEZS1hc3NlcnQgcmVzZXQgKGxldCB0aGUgQ1BVIHJ1bikgKi8KQEAgLTEzMiwxNSArMTUzLDE2IEBACiAJLyogMi4gV2UgdXBsb2FkIHRoZSBGUEdBIGZpcm13YXJlIGludG8gdGhlIEVNSQogCSAqIE5vdGU6IGNvbGxlY3QgdXAgdG8gMTAyMyAoeWVzISkgYnl0ZXMgYW5kIHNlbmQgdGhlbSB3aXRoCiAJICogYSBzaW5nbGUgcmVxdWVzdC4gVGhpcyBpcyBfbXVjaF8gZmFzdGVyISAqLworCXJlYyA9IChjb25zdCBzdHJ1Y3QgaWhleF9iaW5yZWMgKiliaXRzdHJlYW1fZnctPmRhdGE7CiAJZG8gewogCQlpID0gMDsKLQkJYWRkciA9IGdfZW1pNjJic1twb3NdLmFkZHJlc3M7CisJCWFkZHIgPSBiZTMyX3RvX2NwdShyZWMtPmFkZHIpOwogCiAJCS8qIGludGVsIGhleCByZWNvcmRzIGFyZSB0ZXJtaW5hdGVkIHdpdGggdHlwZSAwIGVsZW1lbnQgKi8KLQkJd2hpbGUgKChnX2VtaTYyYnNbcG9zXS50eXBlID09IDApICYmIChpICsgZ19lbWk2MmJzW3Bvc10ubGVuZ3RoIDwgRldfTE9BRF9TSVpFKSkgewotCQkJbWVtY3B5KGJ1ZiArIGksIGdfZW1pNjJic1twb3NdLmRhdGEsIGdfZW1pNjJic1twb3NdLmxlbmd0aCk7Ci0JCQlpICs9IGdfZW1pNjJic1twb3NdLmxlbmd0aDsKLQkJCXBvcysrOworCQl3aGlsZSAocmVjICYmIChpICsgYmUxNl90b19jcHUocmVjLT5sZW4pIDwgRldfTE9BRF9TSVpFKSkgeworCQkJbWVtY3B5KGJ1ZiArIGksIHJlYy0+ZGF0YSwgYmUxNl90b19jcHUocmVjLT5sZW4pKTsKKwkJCWkgKz0gYmUxNl90b19jcHUocmVjLT5sZW4pOworCQkJcmVjID0gaWhleF9uZXh0X2JpbnJlYyhyZWMpOwogCQl9CiAJCWVyciA9IGVtaTYyX3dyaXRlbWVtb3J5KGRldiwgYWRkciwgYnVmLCBpLCBBTkNIT1JfTE9BRF9GUEdBKTsKIAkJaWYgKGVyciA8IDApIHsKQEAgLTE1Nyw4ICsxNzksMTEgQEAKIAl9CiAKIAkvKiAzLiBXZSBuZWVkIHRvIHB1dCB0aGUgbG9hZGVyIGZvciB0aGUgZmlybXdhcmUgaW50byB0aGUgRVotVVNCIChhZ2Fpbi4uLikgKi8KLQlmb3IgKGk9MDsgZ19lbWk2Ml9sb2FkZXJbaV0udHlwZSA9PSAwOyBpKyspIHsKLQkJZXJyID0gZW1pNjJfd3JpdGVtZW1vcnkoZGV2LCBnX2VtaTYyX2xvYWRlcltpXS5hZGRyZXNzLCBnX2VtaTYyX2xvYWRlcltpXS5kYXRhLCBnX2VtaTYyX2xvYWRlcltpXS5sZW5ndGgsIEFOQ0hPUl9MT0FEX0lOVEVSTkFMKTsKKwlmb3IgKHJlYyA9IChjb25zdCBzdHJ1Y3QgaWhleF9iaW5yZWMgKilsb2FkZXJfZnctPmRhdGE7CisJICAgICByZWM7IHJlYyA9IGloZXhfbmV4dF9iaW5yZWMocmVjKSkgeworCQllcnIgPSBlbWk2Ml93cml0ZW1lbW9yeShkZXYsIGJlMzJfdG9fY3B1KHJlYy0+YWRkciksCisJCQkJCXJlYy0+ZGF0YSwgYmUxNl90b19jcHUocmVjLT5sZW4pLAorCQkJCQlBTkNIT1JfTE9BRF9JTlRFUk5BTCk7CiAJCWlmIChlcnIgPCAwKSB7CiAJCQllcnIoIiVzIC0gZXJyb3IgbG9hZGluZyBmaXJtd2FyZTogZXJyb3IgPSAlZCIsIF9fZnVuY19fLCBlcnIpOwogCQkJZ290byB3cmFwZXJyOwpAQCAtMTc1LDI5ICsyMDAsMTkgQEAKIAogCS8qIDQuIFdlIHB1dCB0aGUgcGFydCBvZiB0aGUgZmlybXdhcmUgdGhhdCBsaWVzIGluIHRoZSBleHRlcm5hbCBSQU0gaW50byB0aGUgRVotVVNCICovCiAKLS8qIEZJWE1FOiBxdWljayBhbmQgZGlydHkgaWZkZWZzICovCi0jaWZkZWYgU1BESUYKLQlmb3IgKGk9MDsgZ19IZXhTcGRpZkZ3NjJbaV0udHlwZSA9PSAwOyBpKyspIHsKLQkJaWYgKCFJTlRFUk5BTF9SQU0oZ19IZXhTcGRpZkZ3NjJbaV0uYWRkcmVzcykpIHsKLQkJCWVyciA9IGVtaTYyX3dyaXRlbWVtb3J5KGRldiwgZ19IZXhTcGRpZkZ3NjJbaV0uYWRkcmVzcywgZ19IZXhTcGRpZkZ3NjJbaV0uZGF0YSwgZ19IZXhTcGRpZkZ3NjJbaV0ubGVuZ3RoLCBBTkNIT1JfTE9BRF9FWFRFUk5BTCk7CisJZm9yIChyZWMgPSAoY29uc3Qgc3RydWN0IGloZXhfYmlucmVjICopZmlybXdhcmVfZnctPmRhdGE7CisJICAgICByZWM7IHJlYyA9IGloZXhfbmV4dF9iaW5yZWMocmVjKSkgeworCQlpZiAoIUlOVEVSTkFMX1JBTShiZTMyX3RvX2NwdShyZWMtPmFkZHIpKSkgeworCQkJZXJyID0gZW1pNjJfd3JpdGVtZW1vcnkoZGV2LCBiZTMyX3RvX2NwdShyZWMtPmFkZHIpLAorCQkJCQkJcmVjLT5kYXRhLCBiZTE2X3RvX2NwdShyZWMtPmxlbiksCisJCQkJCQlBTkNIT1JfTE9BRF9FWFRFUk5BTCk7CiAJCQlpZiAoZXJyIDwgMCkgewogCQkJCWVycigiJXMgLSBlcnJvciBsb2FkaW5nIGZpcm13YXJlOiBlcnJvciA9ICVkIiwgX19mdW5jX18sIGVycik7CiAJCQkJZ290byB3cmFwZXJyOwogCQkJfQogCQl9CiAJfQotI2Vsc2UgLyogTUlESSAqLwotCWZvciAoaT0wOyBnX0hleE1pZGlGdzYyW2ldLnR5cGUgPT0gMDsgaSsrKSB7Ci0JCWlmICghSU5URVJOQUxfUkFNKGdfSGV4TWlkaUZ3NjJbaV0uYWRkcmVzcykpIHsKLQkJCWVyciA9IGVtaTYyX3dyaXRlbWVtb3J5KGRldiwgZ19IZXhNaWRpRnc2MltpXS5hZGRyZXNzLCBnX0hleE1pZGlGdzYyW2ldLmRhdGEsIGdfSGV4TWlkaUZ3NjJbaV0ubGVuZ3RoLCBBTkNIT1JfTE9BRF9FWFRFUk5BTCk7Ci0JCQlpZiAoZXJyIDwgMCkgewotCQkJCWVycigiJXMgLSBlcnJvciBsb2FkaW5nIGZpcm13YXJlOiBlcnJvciA9ICVkXG4iLCBfX2Z1bmNfXywgZXJyKTsKLQkJCQlnb3RvIHdyYXBlcnI7Ci0JCQkJcmV0dXJuIGVycjsKLQkJCX0KLQkJfQotCX0KLSNlbmRpZgkKKwogCS8qIEFzc2VydCByZXNldCAoc3RvcCB0aGUgQ1BVIGluIHRoZSBFTUkpICovCiAJZXJyID0gZW1pNjJfc2V0X3Jlc2V0KGRldiwxKTsKIAlpZiAoZXJyIDwgMCkgewpAQCAtMjA1LDI5ICsyMjAsMTkgQEAKIAkJZ290byB3cmFwZXJyOwogCX0KIAotLyogRklYTUU6IHF1aWNrIGFuZCBkaXJ0eSBpZmRlZnMgKi8KLSNpZmRlZiBTUERJRgotCWZvciAoaT0wOyBnX0hleFNwZGlmRnc2MltpXS50eXBlID09IDA7IGkrKykgewotCQlpZiAoSU5URVJOQUxfUkFNKGdfSGV4U3BkaWZGdzYyW2ldLmFkZHJlc3MpKSB7Ci0JCQllcnIgPSBlbWk2Ml93cml0ZW1lbW9yeShkZXYsIGdfSGV4U3BkaWZGdzYyW2ldLmFkZHJlc3MsIGdfSGV4U3BkaWZGdzYyW2ldLmRhdGEsIGdfSGV4U3BkaWZGdzYyW2ldLmxlbmd0aCwgQU5DSE9SX0xPQURfSU5URVJOQUwpOworCWZvciAocmVjID0gKGNvbnN0IHN0cnVjdCBpaGV4X2JpbnJlYyAqKWZpcm13YXJlX2Z3LT5kYXRhOworCSAgICAgcmVjOyByZWMgPSBpaGV4X25leHRfYmlucmVjKHJlYykpIHsKKwkJaWYgKElOVEVSTkFMX1JBTShiZTMyX3RvX2NwdShyZWMtPmFkZHIpKSkgeworCQkJZXJyID0gZW1pNjJfd3JpdGVtZW1vcnkoZGV2LCBiZTMyX3RvX2NwdShyZWMtPmFkZHIpLAorCQkJCQkJcmVjLT5kYXRhLCBiZTE2X3RvX2NwdShyZWMtPmxlbiksCisJCQkJCQlBTkNIT1JfTE9BRF9FWFRFUk5BTCk7CiAJCQlpZiAoZXJyIDwgMCkgewogCQkJCWVycigiJXMgLSBlcnJvciBsb2FkaW5nIGZpcm13YXJlOiBlcnJvciA9ICVkIiwgX19mdW5jX18sIGVycik7CiAJCQkJZ290byB3cmFwZXJyOwogCQkJfQogCQl9CiAJfQotI2Vsc2UgLyogTUlESSAqLwotCWZvciAoaT0wOyBnX0hleE1pZGlGdzYyW2ldLnR5cGUgPT0gMDsgaSsrKSB7Ci0JCWlmIChJTlRFUk5BTF9SQU0oZ19IZXhNaWRpRnc2MltpXS5hZGRyZXNzKSkgewotCQkJZXJyID0gZW1pNjJfd3JpdGVtZW1vcnkoZGV2LCBnX0hleE1pZGlGdzYyW2ldLmFkZHJlc3MsIGdfSGV4TWlkaUZ3NjJbaV0uZGF0YSwgZ19IZXhNaWRpRnc2MltpXS5sZW5ndGgsIEFOQ0hPUl9MT0FEX0lOVEVSTkFMKTsKLQkJCWlmIChlcnIgPCAwKSB7Ci0JCQkJZXJyKCIlcyAtIGVycm9yIGxvYWRpbmcgZmlybXdhcmU6IGVycm9yID0gJWRcbiIsIF9fZnVuY19fLCBlcnIpOwotCQkJCWdvdG8gd3JhcGVycjsKLQkJCX0KLQkJfQotCX0KLSNlbmRpZgotCQorCiAJLyogRGUtYXNzZXJ0IHJlc2V0IChsZXQgdGhlIENQVSBydW4pICovCiAJZXJyID0gZW1pNjJfc2V0X3Jlc2V0KGRldiwwKTsKIAlpZiAoZXJyIDwgMCkgewpAQCAtMjM2LDYgKzI0MSwxMCBAQAogCX0KIAltc2xlZXAoMjUwKTsJLyogbGV0IGRldmljZSBzZXR0bGUgKi8KIAorCXJlbGVhc2VfZmlybXdhcmUobG9hZGVyX2Z3KTsKKwlyZWxlYXNlX2Zpcm13YXJlKGJpdHN0cmVhbV9mdyk7CisJcmVsZWFzZV9maXJtd2FyZShmaXJtd2FyZV9mdyk7CisKIAlrZnJlZShidWYpOwogCiAJLyogcmV0dXJuIDEgdG8gZmFpbCB0aGUgZHJpdmVyIGluaWFsaXphdGlvbgpAQCAtMjQzLDYgKzI1MiwxMCBAQAogCXJldHVybiAxOwogCiB3cmFwZXJyOgorCXJlbGVhc2VfZmlybXdhcmUobG9hZGVyX2Z3KTsKKwlyZWxlYXNlX2Zpcm13YXJlKGJpdHN0cmVhbV9mdyk7CisJcmVsZWFzZV9maXJtd2FyZShmaXJtd2FyZV9mdyk7CisKIAlrZnJlZShidWYpOwogCWRldl9lcnIoJmRldi0+ZGV2LCAiRXJyb3JcbiIpOwogCXJldHVybiBlcnI7CkBAIC0zMDAsNSArMzEzLDggQEAKIE1PRFVMRV9ERVNDUklQVElPTigiRW1hZ2ljIEVNSSA2fDJtIGZpcm13YXJlIGxvYWRlci4iKTsKIE1PRFVMRV9MSUNFTlNFKCJHUEwiKTsKIAorTU9EVUxFX0ZJUk1XQVJFKCJlbWk2Mi9sb2FkZXIuZnciKTsKK01PRFVMRV9GSVJNV0FSRSgiZW1pNjIvYml0c3RyZWFtLmZ3Iik7CitNT0RVTEVfRklSTVdBUkUoRklSTVdBUkVfRlcpOwogLyogdmk6YWk6c3ludGF4PWM6c3c9ODp0cz04OnR3PTgwCiAgKi8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL21pc2MvZW1pNjJfZndfbS5oIGIvZHJpdmVycy91c2IvbWlzYy9lbWk2Ml9md19tLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDM1NjdjOTAwLi4wMDAwMDAwCi0tLSBhL2RyaXZlcnMvdXNiL21pc2MvZW1pNjJfZndfbS5oCisrKyAvZGV2L251bGwKQEAgLTEsODg1MyArMCwwIEBACi0vKgotICogVGhpcyBmaWxlIGlzIGdlbmVyYXRlZCBmcm9tIHRocmVlIGRpZmZlcmVudCBmaWxlcywgcHJvdmlkZWQgYnkgRW1hZ2ljLgotICovCi0vKiBnZW5lcmF0ZWQgVHVlIEp1biAzIDIxOjM2OjExIEVFU1QgMjAwMyAqLwotCi1zdGF0aWMgSU5URUxfSEVYX1JFQ09SRCBnX2VtaTYyYnNbXT17Ci0gIDE2LCAweDgwMTAsIDAsIHsweGZmLDB4ZmYsMHhmZiwweGZmLDB4YWEsMHg5OSwweDU1LDB4NjYsMHgzMCwweDAwLDB4ODAsMHgwMSwweDAwLDB4MDAsMHgwMCwweDA3IH0sCi0gIDE2LCAweDgwMjAsIDAsIHsweDMwLDB4MDEsMHg2MCwweDAxLDB4MDAsMHgwMCwweDAwLDB4MGQsMHgzMCwweDAxLDB4MjAsMHgwMSwweDAwLDB4ODAsMHgzZiwweDJkIH0sCi0gIDE2LCAweDgwMzAsIDAsIHsweDMwLDB4MDAsMHhjMCwweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzMCwweDAwLDB4ODAsMHgwMSwweDAwLDB4MDAsMHgwMCwweDA5IH0sCi0gIDE2LCAweDgwNDAsIDAsIHsweDMwLDB4MDAsMHgyMCwweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzMCwweDAwLDB4ODAsMHgwMSwweDAwLDB4MDAsMHgwMCwweDAxIH0sCi0gIDE2LCAweDgwNTAsIDAsIHsweDMwLDB4MDAsMHg0MCwweDAwLDB4NTAsMHgwMCwweDU4LDB4MWEsMHg4MCwweDEyLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDgwNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDgwNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDgwODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4NDAsMHgwNCwweDgwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDgwOTAsIDAsIHsweDAwLDB4MTIsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDgwYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDgwYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDQ4IH0sCi0gIDE2LCAweDgwYzAsIDAsIHsweDA0LDB4ODAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDgwZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDgwZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDgwZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDgxMDAsIDAsIHsweDAwLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDgxMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDgxMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDgxMzAsIDAsIHsweDAwLDB4ODAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDEyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDgxNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDgxNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDgxNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNCwweDgwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDgxNzAsIDAsIHsweDgwLDB4MTIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDgxODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDgxOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDgxYTAsIDAsIHsweDAwLDB4OTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDEyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDgxYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDgxYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDgxZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweDkwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDgxZTAsIDAsIHsweDdmLDB4MTAsMHgwMCwweDM0LDB4MDAsMHgwZCwweDAwLDB4MDMsMHg0MCwweDAwLDB4ZDAsMHgwMCwweDM0LDB4MDAsMHgwNSwweDAwIH0sCi0gIDE2LCAweDgxZjAsIDAsIHsweDA3LDB4NDAsMHgwMSwweGQwLDB4MDAsMHg3NCwweDAwLDB4MWQsMHgwMCwweDA3LDB4NDAsMHgwMSwweGQwLDB4MDAsMHg3NCwweDAwIH0sCi0gIDE2LCAweDgyMDAsIDAsIHsweDFkLDB4ODAsMHgwNywweGUwLDB4MDEsMHhiOCwweDAwLDB4NmUsMHgwMCwweDFiLDB4ODAsMHgwNiwweGUwLDB4MDEsMHgzOCwweDM3IH0sCi0gIDE2LCAweDgyMTAsIDAsIHsweGM0LDB4OTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAxLDB4ZmMsMHg4MCwweGZiLDB4MzAsMHgzNiwweGM4IH0sCi0gIDE2LCAweDgyMjAsIDAsIHsweDRlLDB4MDksMHgwMywweGZjLDB4ODQsMHhmZiwweDEwLDB4M2IsMHhjMCwweDBlLDB4YzgsMHgwNywweDIyLDB4ODAsMHhmZiwweDIyIH0sCi0gIDE2LCAweDgyMzAsIDAsIHsweDMzLDB4YzAsMHgwZiwweGM4LDB4MzMsMHg2ZSwweDAwLDB4ZmIsMHg4MCwweDNmLDB4MjAsMHgwZCwweGMyLDB4NTMsMHhkNCwweDgwIH0sCi0gIDE2LCAweDgyNDAsIDAsIHsweGNjLDB4M2EsMHgzZiwweDAwLDB4MGMsMHhmMSwweDAzLDB4ZjAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDgyNTAsIDAsIHsweDgwLDB4MDAsMHhlZCwweDYwLDB4YmYsMHg2MCwweDIzLDB4ZjAsMHgwZCwweDgyLDB4MTIsMHgzYywweDYwLDB4OGYsMHg3MCwweDIzIH0sCi0gIDE2LCAweDgyNjAsIDAsIHsweGYwLDB4MDgsMHg4OCwweDAyLDB4YTUsMHg0MCwweGJmLDB4ZDAsMHg2MywweGQ2LDB4MGIsMHg4OCwweDAyLDB4MmUsMHgwYywweGJiIH0sCi0gIDE2LCAweDgyNzAsIDAsIHsweDgwLDB4MmUsMHgyMCwweDg4LDB4OGQsMHgwMiwweGU2LDB4NDAsMHg4MCwweDYwLDB4MmUsMHgzMCwweDBhLDB4YjEsMHgxMiwweDIwIH0sCi0gIDE2LCAweDgyODAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4Y2MsMHg4MCwweGEzLDB4NDAsMHgyYywweGM0IH0sCi0gIDE2LCAweDgyOTAsIDAsIHsweDRhLDB4MDAsMHgxMiwweDhjLDB4ODgsMHhhMywweDIyLDB4MjAsMHhjNCwweDBhLDB4OTAsMHg0MiwweDA0LDB4YTksMHhhMywweDAwIH0sCi0gIDE2LCAweDgyYTAsIDAsIHsweDI0LDB4YzgsMHg4YiwweDgwLDB4MDIsMHhjYywweDAwLDB4YjMsMHgwMCwweDJlLDB4MDEsMHgwOSwweDA4LDB4MDIsMHg4NCwweDAwIH0sCi0gIDE2LCAweDgyYjAsIDAsIHsweDgwLDB4MjAsMHgyYywweDEwLDB4MGEsMHgzMiwweDQyLDB4MjIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDgyYzAsIDAsIHsweGMwLDB4MTUsMHhhYywweDA0LDB4YjMsMHgwMCwweDJhLDB4YzAsMHgwOCwweDA4LDB4YTIsMHg4YywweDAwLDB4OGIsMHgwMCwweGEyIH0sCi0gIDE2LCAweDgyZDAsIDAsIHsweGMxLDB4MTAsMHg5OCwweDQyLDB4YTcsMHgwMCwweGJiLDB4MDEsMHg2NiwweGMxLDB4MGIsMHg4MCwweDAyLDB4YWMsMHgwNCwweGJiIH0sCi0gIDE2LCAweDgyZTAsIDAsIHsweDAwLDB4MmUsMHgwMCwweDBiLDB4YjgsMHgxMiwweGU0LDB4MDIsMHg4OSwweDA4LDB4MGUsMHg0MCwweDBhLDB4YjAsMHgwMiwweDMwIH0sCi0gIDE2LCAweDgyZjAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDEwLDB4YWMsMHgwMCwweGViLDB4MDAsMHgzZSwweGMwIH0sCi0gIDE2LCAweDgzMDAsIDAsIHsweDRhLDB4YjgsMHgyMywweGVjLDB4MTgsMHhlYiwweDAwLDB4MzIsMHhjMCwweDBlLDB4MmMsMHgxMiwweDIyLDB4MTAsMHhlYiwweDAwIH0sCi0gIDE2LCAweDgzMTAsIDAsIHsweDI2LDB4YzAsMHg0ZiwweDAwLDB4NDMsMHhlZCwweDAwLDB4ZmIsMHgwMCwweDJlLDB4MjQsMHgwZCwweDgwLDB4MTMsMHhlNCwweDAwIH0sCi0gIDE2LCAweDgzMjAsIDAsIHsweGM4LDB4ZDAsMHg3YywweDEyLDB4MGUsMHhiMCwweDAzLDB4NDAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDgzMzAsIDAsIHsweGUxLDB4MDAsMHhiYywweDAwLDB4ZmYsMHgwMCwweDM1LDB4YzAsMHg0ZiwweGUwLDB4MDMsMHg3YywweDA4LDB4ZmYsMHgwMSwweDE3IH0sCi0gIDE2LCAweDgzNDAsIDAsIHsweGMyLDB4NGQsMHhjMCwweDAzLDB4ZjQsMHgwOCwweGY3LDB4MDAsMHgzYiwweGMwLDB4MDcsMHhjMCwweDAzLDB4N2MsMHg4MCwweGZmIH0sCi0gIDE2LCAweDgzNTAsIDAsIHsweDI0LDB4M2YsMHg0MCwweDBjLDB4ZjAsMHgwMSwweGY0LDB4MDQsMHhiYywweDA4LDB4M2YsMHgyOCwweDBmLDB4ZjAsMHgwMywweDc4IH0sCi0gIDE2LCAweDgzNjAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YWMsMHgwOCwweGZiLDB4MDQsMHgzYSwweGM4IH0sCi0gIDE2LCAweDgzNzAsIDAsIHsweDBmLDB4OTQsMHgwMywweGVjLDB4MTAsMHhmMywweDAwLDB4MzQsMHhjMCwweDBlLDB4YjAsMHgwMywweDYxLDB4MDQsMHhmYiwweDAwIH0sCi0gIDE2LCAweDgzODAsIDAsIHsweDM2LDB4YzAsMHgwZSwweGEzLDB4MDMsMHgyYywweDgwLDB4ZmIsMHg3MiwweDNlLDB4MDIsMHgwZiwweDhhLDB4MDMsMHhlNCwweDAyIH0sCi0gIDE2LCAweDgzOTAsIDAsIHsweGM5LDB4ODAsMHgyYSwweDUwLDB4MGYsMHhiMCwweDAzLDB4ZDAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDgzYTAsIDAsIHsweGNhLDB4NDQsMHgzYywweDAwLDB4YmYsMHgwMCwweDAzLDB4YzAsMHgwOCwweDgwLDB4MDMsMHg3YywweDAwLDB4YmYsMHgwMCwweDNmIH0sCi0gIDE2LCAweDgzYjAsIDAsIHsweGUyLDB4MDgsMHg5MCwweDQzLDB4NjAsMHgwMCwweGJmLDB4MDAsMHgzNywweGMwLDB4MDgsMHg5MCwweDAxLDB4NmQsMHgwMCwweGJiIH0sCi0gIDE2LCAweDgzYzAsIDAsIHsweDQwLDB4MmMsMHgxMCwweDBiLDB4YjAsMHg0MiwweGQ3LDB4YzAsMHg4OSwweDAwLDB4MmEsMHg3YywweDBiLDB4ZjAsMHgwMiwweGYyIH0sCi0gIDE2LCAweDgzZDAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMiwweDA1LDB4NGMsMHgwMCwweGIzLDB4MDAsMHgyMCwweGQ1IH0sCi0gIDE2LCAweDgzZTAsIDAsIHsweDRhLDB4MDAsMHgwMCwweDBjLDB4MDQsMHg5MywweDAwLDB4MGMsMHhmMCwweDBiLDB4MDksMHgwMiwweDA4LDB4MDEsMHhiMywweDIwIH0sCi0gIDE2LCAweDgzZjAsIDAsIHsweDI4LDB4YzAsMHgwYSwweDBjLDB4MGEsMHgwZSwweDAwLDB4YjMsMHgwMCwweDI0LDB4MzAsMHgwOSwweDAwLDB4MDIsMHhjNiwweDEwIH0sCi0gIDE2LCAweDg0MDAsIDAsIHsweDgwLDB4NDIsMHgyMCwweDAwLDB4OGIsMHhiMCwweDAyLDB4ZjgsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDg0MTAsIDAsIHsweDIyLDB4MDEsMHgxZSwweDAwLDB4YjcsMHg5NCwweDIxLDB4ZTQsMHg0OCwweGQ5LDB4MTIsMHg1ZSwweDQwLDB4YjcsMHg5MCwweDI5IH0sCi0gIDE2LCAweDg0MjAsIDAsIHsweGUwLDB4OGIsMHg2OSwweDEyLDB4ZDYsMHg4MCwweDM3LDB4ODIsMHgyYywweGU4LDB4MDgsMHg0YSwweDAyLDB4NWUsMHgwMCwweGI3IH0sCi0gIDE2LCAweDg0MzAsIDAsIHsweGE0LDB4MmQsMHgyMCwweDBiLDB4NzksMHgwMiwweGQ2LDB4MDgsMHg4NiwweDkwLDB4MjksMHhhMCwweDBiLDB4NzksMHgwMiwweGQ4IH0sCi0gIDE2LCAweDg0NDAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDAwLDB4MGMsMHgwMCwweGZiLDB4YTAsMHgyOCwweGU4IH0sCi0gIDE2LCAweDg0NTAsIDAsIHsweDBlLDB4MmEsMHgwMiwweDhjLDB4MDAsMHhkMywweDAwLDB4NjQsMHhjMCwweDBmLDB4MDAsMHg0MywweDBlLDB4YzQsMHhmMywweDAwIH0sCi0gIDE2LCAweDg0NjAsIDAsIHsweDc4LDB4ZWMsMHgwZSwweDBhLDB4NDMsMHgwZSwweDIwLDB4NzMsMHhlMCwweDNjLDB4MDIsMHg0ZiwweDAwLDB4MDMsMHhjNCwweDQwIH0sCi0gIDE2LCAweDg0NzAsIDAsIHsweGMzLDB4MDAsMHgzOCwweGMwLDB4MGYsMHgzMCwweDAzLDB4ZDIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDg0ODAsIDAsIHsweDQwLDB4MWQsMHhiYywweDAwLDB4ZmYsMHgwMCwweGJjLDB4Y2MsMHgwZSwweGIwLDB4MDMsMHhlYywweDIwLDB4ZmIsMHgwMCwweDNjIH0sCi0gIDE2LCAweDg0OTAsIDAsIHsweGMyLDB4MGMsMHgyMCwweDAzLDB4NmMsMHg1MCwweGYzLDB4MDAsMHgzNiwweGM0LDB4MGYsMHg0MCwweDAzLDB4ZmMsMHgwOCwweGZmIH0sCi0gIDE2LCAweDg0YTAsIDAsIHsweDFhLDB4M2YsMHg4MCwweDBmLDB4ZjAsMHgwMSwweGU0LDB4MzAsMHhmZiwweDAyLDB4M2YsMHhjMCwweDBmLDB4ZjAsMHg2MywweGQwIH0sCi0gIDE2LCAweDg0YjAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4ZWMsMHg0MCwweGZiLDB4MDAsMHhiMiwweGQ4IH0sCi0gIDE2LCAweDg0YzAsIDAsIHsweDBjLDB4YjAsMHgwMSwweDJkLDB4MjAsMHhkYiwweDAxLDB4M2EsMHhjOCwweDhjLDB4MzgsMHgwMywweGE4LDB4MDAsMHhmYiwweDQ4IH0sCi0gIDE2LCAweDg0ZDAsIDAsIHsweDNlLDB4YzksMHgwZiwweDgwLDB4MDMsMHhlYywweDQwLDB4ZmIsMHgwMSwweDNlLDB4MDAsMHgwZiwweDA4LDB4MDMsMHhhNCwweDA4IH0sCi0gIDE2LCAweDg0ZTAsIDAsIHsweGZhLDB4ODAsMHhiMiwweDgwLDB4MGYsMHhiMSwweDAyLDB4NmEsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDg0ZjAsIDAsIHsweDQ4LDB4MTksMHgxYywweDgwLDB4YmYsMHgzMCwweDIxLDB4Y2EsMHgwOCwweGYwLDB4MGEsMHgwYywweDgwLDB4OGYsMHg1MCwweDIxIH0sCi0gIDE2LCAweDg1MDAsIDAsIHsweGMyLDB4MDgsMHg3MCwweDUwLDB4OWMsMHgwMCwweGI3LDB4MDAsMHgzOSwweGM0LDB4MGIsMHg0MCwweDAyLDB4OWMsMHgwNCwweGI3IH0sCi0gIDE2LCAweDg1MTAsIDAsIHsweDIwLDB4MjUsMHg0MCwweDBiLDB4NzAsMHgwMiwweDE0LDB4ODAsMHhiNiwweDAwLDB4MjEsMHg4MCwweDBiLDB4ZjgsMHgwMiwweDEyIH0sCi0gIDE2LCAweDg1MjAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4OWUsMHgwMCwweGI3LDB4YjAsMHgyMSwweGVjIH0sCi0gIDE2LCAweDg1MzAsIDAsIHsweDBiLDB4NzgsMHgxMiwweGRlLDB4ODQsMHg5NywweDgwLDB4MGQsMHhlMCwweDI4LDB4ZjgsMHgwMiwweGRlLDB4MDAsMHhiNywweDkwIH0sCi0gIDE2LCAweDg1NDAsIDAsIHsweDJkLDB4ZTQsMHgwYiwweDY4LDB4ODIsMHg1ZSwweDgwLDB4YjcsMHhhMCwweDI5LDB4MjAsMHgwYiwweDQ4LDB4MDIsMHg5NiwweDAwIH0sCi0gIDE2LCAweDg1NTAsIDAsIHsweGI3LDB4ODAsMHgyMSwweGUxLDB4MGIsMHg3YSwweDAyLDB4NzAsMHg0MCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDg1NjAsIDAsIHsweDQ4LDB4MDQsMHhjYywweDAwLDB4YjMsMHgwMCwweDIwLDB4YzAsMHgwYiwweDM4LDB4MDIsMHg4YywweDA0LDB4ODMsMHgwMCwweDI4IH0sCi0gIDE2LCAweDg1NzAsIDAsIHsweGMwLDB4ODgsMHgzOSwweDAyLDB4NGMsMHg0MCwweGIzLDB4MDQsMHgyOCwweGMwLDB4MWIsMHgxMCwweDAyLDB4OGMsMHgwMSwweGIzIH0sCi0gIDE2LCAweDg1ODAsIDAsIHsweDA0LDB4MjQsMHg4OCwweDRiLDB4MzEsMHgwMiwweDA0LDB4MDAsMHhiMywweDgwLDB4MjAsMHhmMiwweDBiLDB4MzAsMHgwMiwweDAyIH0sCi0gIDE2LCAweDg1OTAsIDAsIHsweDI0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDA1LDB4YTgsMHgwMCwweGZhLDB4MDAsMHgzMiwweDgwIH0sCi0gIDE2LCAweDg1YTAsIDAsIHsweDBmLDB4ZTgsMHgwMywweGU4LDB4MDAsMHhkYSwweDAxLDB4M2EsMHg4MCwweDhjLDB4ZWQsMHgwMywweGZiLDB4MDQsMHhmYSwweDAwIH0sCi0gIDE2LCAweDg1YjAsIDAsIHsweDNlLDB4ODAsMHgwZiwweDZjLDB4MDMsMHhmYiwweGM4LDB4YmUsMHhjMiwweDFmLDB4ODAsMHgwZiwweGU1LDB4MDMsMHhhOCwweDAwIH0sCi0gIDE2LCAweDg1YzAsIDAsIHsweGZlLDB4NDgsMHgzMywweDgwLDB4NGYsMHhhMCwweDAzLDB4N2EsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDg1ZDAsIDAsIHsweDQ4LDB4MDAsMHhlMCwweDAwLDB4ZjgsMHgwMCwweDNjLDB4MDAsMHgwYywweDgxLDB4OTMsMHg2MCwweDAwLDB4ZjgsMHgwMSwweDM2IH0sCi0gIDE2LCAweDg1ZTAsIDAsIHsweDEwLDB4MGYsMHg4MCwweDAzLDB4YTAsMHgyMCwweGY4LDB4MDAsMHgyYSwweDAxLDB4OGYsMHg4NCwweDEzLDB4ZTEsMHgwMCwweGY4IH0sCi0gIDE2LCAweDg1ZjAsIDAsIHsweDE4LDB4MzYsMHgwMCwweDBmLDB4ODAsMHgxMywweGUwLDB4MDAsMHhmOCwweDIwLDB4M2UsMHgxNCwweDBmLDB4ODAsMHgwMywweGQyIH0sCi0gIDE2LCAweDg2MDAsIDAsIHsweDgwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDAwLDB4ZTQsMHgwMCwweGYxLDB4MDAsMHhhYSwweDQwIH0sCi0gIDE2LCAweDg2MTAsIDAsIHsweDBjLDB4OTAsMHgwMywweDI0LDB4MDAsMHhlMSwweDAwLDB4MzgsMHg0MCwweDFjLDB4OTAsMHgwMywweGU0LDB4MDAsMHhmOSwweGEwIH0sCi0gIDE2LCAweDg2MjAsIDAsIHsweDNhLDB4NDAsMHg0NywweDlhLDB4OTMsMHhhMiwweDgwLDB4ZjgsMHgxMCwweDNlLDB4NDAsMHgwYiwweDk0LDB4MDMsMHhlNiwweDQwIH0sCi0gIDE2LCAweDg2MzAsIDAsIHsweGY5LDB4YzAsMHgzZSwweDY4LDB4MGIsMHgxMCwweDAzLDB4MDIsMHg4NCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDg2NDAsIDAsIHsweDgwLDB4MDQsMHhlNCwweDA0LDB4YjksMHgwMCwweDIyLDB4NDAsMHgwOCwweDkwLDB4MDIsMHgyNCwweDA0LDB4ODksMHgwMCwweDM2IH0sCi0gIDE2LCAweDg2NTAsIDAsIHsweDQwLDB4MDgsMHg5MCwweDAyLDB4ZTQsMHgwNCwweGI5LDB4ODAsMHgyZSwweDQwLDB4NGYsMHg5NCwweDAzLDB4NjEsMHgxMCwweGU4IH0sCi0gIDE2LCAweDg2NjAsIDAsIHsweDQwLDB4MmUsMHg0MCwweDBiLDB4OTAsMHg0MiwweGU2LDB4MDQsMHhiOSwweDAwLDB4MmUsMHg0MCwweDBiLDB4OTAsMHgwMiwweDIwIH0sCi0gIDE2LCAweDg2NzAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA0LDB4MjQsMHgwMCwweGI5LDB4MDAsMHgyMiwweDQwIH0sCi0gIDE2LCAweDg2ODAsIDAsIHsweDBhLDB4MTAsMHg1MiwweDA0LDB4MDQsMHhhOSwweDA0LDB4MmEsMHg0MCwweDA4LDB4YjAsMHgwMiwweGU0LDB4MDEsMHhiOSwweDAwIH0sCi0gIDE2LCAweDg2OTAsIDAsIHsweDJlLDB4NDAsMHgwYiwweDkwLDB4MDIsMHhhOCwweDBkLDB4YjgsMHg0MCwweDJlLDB4NDAsMHgwOSwweDk0LDB4MDIsMHhlNSwweDAwIH0sCi0gIDE2LCAweDg2YTAsIDAsIHsweGI5LDB4MDQsMHgyZSwweDQwLDB4MGIsMHg5MCwweDAyLDB4MDYsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDg2YjAsIDAsIHsweDA4LDB4MDQsMHgwNCwweDgwLDB4YjEsMHgyMCwweDIwLDB4YzgsMHgwYSwweDEwLDB4NDIsMHgwNCwweDkwLDB4ODEsMHgyMCwweDA0IH0sCi0gIDE2LCAweDg2YzAsIDAsIHsweGM4LDB4MDgsMHgzMCwweDI2LDB4YzQsMHgwMCwweGIxLDB4MjAsMHgyYywweDQ4LDB4MGIsMHg5MCwweDAyLDB4NDUsMHgwMSwweGIxIH0sCi0gIDE2LCAweDg2ZDAsIDAsIHsweDQwLDB4MmMsMHg0MCwweDBiLDB4MTIsMHg4MiwweGM0LDB4MDAsMHhiMSwweDJiLDB4MmMsMHg0YSwweDBiLDB4MTIsMHg4MiwweDAyIH0sCi0gIDE2LCAweDg2ZTAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDA4LDB4MjEsMHg0OCwweGY4LDB4NTAsMHgzMiwweDAwIH0sCi0gIDE2LCAweDg2ZjAsIDAsIHsweDRlLDB4ODUsMHgwYiwweDIxLDB4NDAsMHhhOCwweDUyLDB4MmEsMHgwMCwweDA4LDB4ODAsMHgyMywweGUxLDB4NDAsMHhmOCwweDAwIH0sCi0gIDE2LCAweDg3MDAsIDAsIHsweDNhLDB4MTQsMHgwZiwweGEwLDB4NDMsMHhhOCwweDAwLDB4ZjgsMHgwMCwweDNlLDB4MDAsMHgwZiwweDgyLDB4MDMsMHhlMCwweDAwIH0sCi0gIDE2LCAweDg3MTAsIDAsIHsweGYwLDB4MjAsMHgzZSwweDg4LDB4NGYsMHg4MiwweDBiLDB4MmUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDg3MjAsIDAsIHsweDk4LDB4MTksMHhlNCwweDQwLDB4ZjksMHgxMSwweDM0LDB4NDQsMHgyZCwweGQwLDB4MDMsMHhlNCwweDUwLDB4NzksMHgxMCwweDM4IH0sCi0gIDE2LCAweDg3MzAsIDAsIHsweDQ0LDB4MmYsMHhkMCwweDAzLDB4ZjUsMHgxMCwweGY5LDB4MTAsMHgzZSwweDQ1LDB4MDYsMHg1MCwweDAzLDB4ZTUsMHgwMCwweGU5IH0sCi0gIDE2LCAweDg3NDAsIDAsIHsweDQwLDB4M2YsMHg0MCwweDBmLDB4ZDAsMHg0MywweGY1LDB4MDAsMHhmZCwweDI4LDB4M2YsMHg0MCwweDBmLDB4OTIsMHg4MywweGU2IH0sCi0gIDE2LCAweDg3NTAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDAxLDB4ZTYsMHgwMCwweGQ5LDB4OTAsMHgzNywweDY5IH0sCi0gIDE2LCAweDg3NjAsIDAsIHsweDRkLDB4OTAsMHgyMywweDY3LDB4ODAsMHhkOSwweGUwLDB4MzcsMHg2OCwweDBlLDB4ZDAsMHgwNywweGE0LDB4MDAsMHgwNSwweDg2IH0sCi0gIDE2LCAweDg3NzAsIDAsIHsweDNlLDB4NjYsMHgwZCwweDUwLDB4MjMsMHgyNiwweDAwLDB4YzksMHg4MiwweDNkLDB4NDAsMHgwZCwweGQ4LDB4MDcsMHgzNiwweDAyIH0sCi0gIDE2LCAweDg3ODAsIDAsIHsweGNkLDB4YzAsMHgzMywweDYwLDB4MGMsMHg5YywweDAzLDB4MDYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDg3OTAsIDAsIHsweDM4LDB4MTAsMHhlMiwweDgwLDB4ODgsMHhhMiwweDIyLDB4MTAsMHgyOCwweDhhLDB4ODIsMHgyMywweDg0LDB4ODgsMHhhMCwweDIyIH0sCi0gIDE2LCAweDg3YTAsIDAsIHsweDE0LDB4NDgsMHg4MCwweDQyLDB4ODIsMHgwMCwweDg4LDB4NDAsMHgyZSwweDMwLDB4MDgsMHg4MCwweDAyLDB4YTIsMHgwMCwweGQ4IH0sCi0gIDE2LCAweDg3YjAsIDAsIHsweDkwLDB4MjYsMHgwMCwweDA4LDB4ODQsMHgwYSwweDIxLDB4MDAsMHhjOCwweGEwLDB4YTIsMHgxNCwweDI4LDB4OGMsMHgwMiwweDBlIH0sCi0gIDE2LCAweDg3YzAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4YzUsMHgyMCwweDkxLDB4NDAsMHgyYywweDQ0IH0sCi0gIDE2LCAweDg3ZDAsIDAsIHsweDE4LDB4MTAsMHgwMiwweDg1LDB4MDQsMHhiMSwweDQwLDB4MGMsMHg0MCwweDBhLDB4MTAsMHgwNiwweDg0LDB4MzAsMHg4MSwweDQwIH0sCi0gIDE2LCAweDg3ZTAsIDAsIHsweDJjLDB4NDgsMHg1OSwweDEwLDB4MWEsMHgwNCwweDYwLDB4ODEsMHgwOSwweDJlLDB4NDAsMHgxYiwweDE0LDB4MDIsMHgyNSwweDAwIH0sCi0gIDE2LCAweDg3ZjAsIDAsIHsweDkxLDB4ZTAsMHgyMCwweDYwLDB4MDgsMHgxNiwweDAyLDB4MDAsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDg4MDAsIDAsIHsweDE4LDB4MTUsMHhhNCwweDAwLDB4ODEsMHgwMCwweDJhLDB4NDEsMHgwOCwweDkwLDB4MDIsMHhhNCwweDAwLDB4YTEsMHgwMCwweDJhIH0sCi0gIDE2LCAweDg4MTAsIDAsIHsweDQxLDB4MDgsMHhiMCwweDgyLDB4MjQsMHgxMSwweDhiLDB4MDAsMHgyZSwweDQwLDB4MTgsMHg5MSwweDAyLDB4YTAsMHgwNCwweDk4IH0sCi0gIDE2LCAweDg4MjAsIDAsIHsweDIwLDB4MmUsMHg1NCwweDFiLDB4OTAsMHg4MiwweDJjLDB4MDAsMHg4OSwweDEwLDB4MjIsMHg0NCwweDg4LDB4OTAsMHgwMiwweDA2IH0sCi0gIDE2LCAweDg4MzAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4ZTQsMHgwMCwweGQ5LDB4MDAsMHgzZSwweDQwIH0sCi0gIDE2LCAweDg4NDAsIDAsIHsweDRjLDB4OTAsMHgwMywweGE0LDB4MTAsMHhmOSwweDAwLDB4M2UsMHg0MCwweDhlLDB4MTAsMHgwMiwweGE0LDB4YzIsMHhjOSwweDAwIH0sCi0gIDE2LCAweDg4NTAsIDAsIHsweDNlLDB4NDAsMHgwZCwweDE2LDB4MTMsMHgwMSwweDg0LDB4YzgsMHgyMCwweDNjLDB4NjAsMHgwZiwweDkwLDB4MTIsMHgwNCwweDAwIH0sCi0gIDE2LCAweDg4NjAsIDAsIHsweGQ5LDB4NDAsMHgzMiwweDUwLDB4MGMsMHg5MCwweDAzLDB4MjgsMHg4NCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDg4NzAsIDAsIHsweDI4LDB4MDEsMHg4NCwweDAwLDB4ZjksMHgwMCwweDM2LDB4NDAsMHg0ZiwweDk5LDB4NGEsMHg0NCwweDAwLDB4OTksMHgwMCwweGI0IH0sCi0gIDE2LCAweDg4ODAsIDAsIHsweDQwLDB4MGYsMHg5MCwweDEzLDB4ZTYsMHgwMCwweGY5LDB4MDAsMHgzYywweDQwLDB4MGYsMHg5MCwweDAzLDB4ZTMsMHgwMCwweGY4IH0sCi0gIDE2LCAweDg4OTAsIDAsIHsweDAxLDB4MzYsMHg0MCwweDBjLDB4OTksMHgwMywweGU0LDB4MDIsMHhmOSwweDgwLDB4M2UsMHg2MCwweDRmLDB4OTAsMHgwYiwweGNhIH0sCi0gIDE2LCAweDg4YTAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTAsMHgwMCwweGQ4LDB4MDAsMHgzYywweDAwIH0sCi0gIDE2LCAweDg4YjAsIDAsIHsweDFkLDB4ODAsMHgwMywweDIwLDB4MDAsMHhlOCwweDAwLDB4MzIsMHgwMCwweDBjLDB4ODQsMHg4MywweGUwLDB4MTAsMHhlOCwweDIwIH0sCi0gIDE2LCAweDg4YzAsIDAsIHsweDMyLDB4MDAsMHg4ZSwweDg0LDB4MDMsMHgyMSwweDgwLDB4YzgsMHgwMCwweDNhLDB4MTksMHgwZiwweDA0LDB4MDMsMHhlMCwweDI0IH0sCi0gIDE2LCAweDg4ZDAsIDAsIHsweGYwLDB4MDIsMHgzYywweDAwLDB4MGYsMHg4MCwweDEzLDB4OGEsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDg4ZTAsIDAsIHsweDI4LDB4MDUsMHgyOCwweDAyLDB4OGEsMHgwMSwweDBmLDB4YTIsMHg2OCwweGEwLDB4MDAsMHgyOCwweDAwLDB4OGEsMHgwMCwweDc3IH0sCi0gIDE2LCAweDg4ZjAsIDAsIHsweDgwLDB4NjgsMHhlMCwweDEyLDB4ZTgsMHgwMCwweGRlLDB4MDAsMHgzNiwweDgxLDB4MDgsMHhlMCwweDAzLDB4N2EsMHgwOCwweGFlIH0sCi0gIDE2LCAweDg5MDAsIDAsIHsweGM0LDB4MmYsMHg4MCwweDA4LDB4ZWQsMHgwMiwweGZhLDB4MDAsMHhiZSwweGEwLDB4M2IsMHg4MCwweDBiLDB4YTAsMHg0MiwweDBhIH0sCi0gIDE2LCAweDg5MTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDg1LDB4NGMsMHgwMCwweDkzLDB4MDAsMHgyYywweGMwIH0sCi0gIDE2LCAweDg5MjAsIDAsIHsweDg4LDB4YjAsMHgwMiwweDBjLDB4MTQsMHhhMywweDA0LDB4MjAsMHhjNCwweDE4LDB4MzgsMHgwMiwweGVjLDB4MTAsMHg5MywweDU0IH0sCi0gIDE2LCAweDg5MzAsIDAsIHsweDI4LDB4YzAsMHgwYSwweDAwLDB4MDIsMHg0ZSwweDAwLDB4ODMsMHg0OSwweDY4LDB4YzAsMHgwMiwweDM5LDB4NDIsMHhjZSwweDQwIH0sCi0gIDE2LCAweDg5NDAsIDAsIHsweGIzLDB4MDAsMHgyYywweGU2LDB4MGIsMHhiMCwweDAyLDB4OGIsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDg5NTAsIDAsIHsweDIwLDB4MDEsMHgxYywweDA4LDB4ODcsMHgyMCwweDJjLDB4ODAsMHgxOCwweGYyLDB4MjIsMHgxYywweDAwLDB4ODcsMHgxMCwweDIxIH0sCi0gIDE2LCAweDg5NjAsIDAsIHsweGMwLDB4MDgsMHg3MCwweDgyLDB4ZGMsMHg4MCwweDk2LDB4ODAsMHgyZCwweGMwLDB4MGEsMHg0MCwweDAyLDB4N2QsMHg0MCwweDI3IH0sCi0gIDE2LCAweDg5NzAsIDAsIHsweDY0LDB4NmQsMHhkMCwweDQ4LDB4NjAsMHg0MiwweGQ4LDB4MDUsMHhiNiwweDA0LDB4MjksMHhjMCwweDRiLDB4NzIsMHgwMiwweDI4IH0sCi0gIDE2LCAweDg5ODAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA4LDB4M2UsMHg4OCwweGQ3LDB4ZTAsMHgzZCwweGUwIH0sCi0gIDE2LCAweDg5OTAsIDAsIHsweDA4LDB4N2MsMHg0MiwweDNlLDB4MDAsMHhlMywweDgyLDB4MjAsMHhlMCwweDBjLDB4NjgsMHgwMywweGRmLDB4MDQsMHhkNywweDgwIH0sCi0gIDE2LCAweDg5YTAsIDAsIHsweDNiLDB4ZTAsMHg0ZSwweDQ4LDB4MGEsMHg1ZSwweDgwLDB4YzcsMHhjMiwweDE5LDB4ZTAsMHgwZSwweDc4LDB4MDMsMHhkNiwweDA4IH0sCi0gIDE2LCAweDg5YjAsIDAsIHsweGY3LDB4ODAsMHgzZCwweGUwLDB4MGYsMHhmOCwweDAzLDB4YWEsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDg5YzAsIDAsIHsweDA4LDB4MWQsMHhhYywweDQwLDB4ZmIsMHg0MCwweDdlLDB4ODAsMHgwZSwweDM2LDB4ODMsMHhlZCwweDQwLDB4ZGIsMHg2MCwweDNlIH0sCi0gIDE2LCAweDg5ZDAsIDAsIHsweDgwLDB4MGYsMHhhMCwweDAzLDB4ZWQsMHgyOCwweGRhLDB4MDAsMHgzMiwweGM0LDB4MGMsMHhiMCwweDBiLDB4Y2MsMHgwMCwweGZiIH0sCi0gIDE2LCAweDg5ZTAsIDAsIHsweDAwLDB4M2UsMHhjMCwweDBlLDB4ODAsMHgxMywweGUwLDB4MTAsMHhmOCwweDAwLDB4M2UsMHgwMCwweDBmLDB4YjEsMHg1MywweGMyIH0sCi0gIDE2LCAweDg5ZjAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDA1LDB4ZmUsMHgwMCwweGZmLDB4YzAsMHgzMywweGUwIH0sCi0gIDE2LCAweDhhMDAsIDAsIHsweDBjLDB4ZjksMHgwMywweDdmLDB4MDQsMHhjZiwweGQwLDB4M2YsMHhlNCwweDBmLDB4YjgsMHgwMywweGZlLDB4MDAsMHhmZiwweDk0IH0sCi0gIDE2LCAweDhhMTAsIDAsIHsweDNmLDB4ZTAsMHgwZiwweGM4LDB4MDMsMHg3ZSwweDEwLDB4ZjMsMHg4MCwweDNiLDB4ZTAsMHgwZiwweGY4LDB4MDMsMHhmZSwweDQ4IH0sCi0gIDE2LCAweDhhMjAsIDAsIHsweGVkLDB4ODAsMHgzMywweDI0LDB4MDQsMHhmOCwweDAzLDB4MzAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDhhMzAsIDAsIHsweGE4LDB4MTEsMHg5YywweDgwLDB4YmYsMHgwNCwweDIxLDB4MjgsMHgwOCwweGY4LDB4MDIsMHgxZSwweGMwLDB4Y2YsMHg5MCwweDIxIH0sCi0gIDE2LCAweDhhNDAsIDAsIHsweDRjLDB4MGIsMHg1YSwweDQyLDB4ZGUsMHgwMCwweGI3LDB4ODAsMHgyYywweGU4LDB4MGIsMHgwNCwweDAyLDB4MWMsMHgwMCwweGI3IH0sCi0gIDE2LCAweDhhNTAsIDAsIHsweGEwLDB4MzUsMHgxMCwweDhmLDB4NzEsMHgxMywweGRlLDB4YzAsMHg4NCwweDEwLDB4MjEsMHg4MCwweDBkLDB4NzEsMHgwMiwweDJhIH0sCi0gIDE2LCAweDhhNjAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDQwLDB4OWMsMHgwOCwweGI3LDB4MDAsMHgyNSwweGM4IH0sCi0gIDE2LCAweDhhNzAsIDAsIHsweDA4LDB4NzEsMHgwMiwweGNjLDB4ODAsMHg5NywweDAwLDB4MjksMHhjMCwweDhiLDB4NzIsMHgwNiwweGRjLDB4MDgsMHhiNSwweDAwIH0sCi0gIDE2LCAweDhhODAsIDAsIHsweDJkLDB4YzgsMHgwYiwweDQwLDB4MDIsMHgxYywweDQwLDB4YmYsMHgxMCwweDIxLDB4YzAsMHgwYiwweDc0LDB4MDIsMHhkNCwweDgwIH0sCi0gIDE2LCAweDhhOTAsIDAsIHsweGE3LDB4NDAsMHgyMSwweDQxLDB4MDgsMHg3MCwweDAyLDB4MDQsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDhhYTAsIDAsIHsweDYwLDB4MTQsMHhjYywweDAwLDB4YjMsMHgwMCwweDI0LDB4MDAsMHgwOCwweDM0LDB4ODIsMHhhYywweDExLDB4ODMsMHgwMCwweDIwIH0sCi0gIDE2LCAweDhhYjAsIDAsIHsweDAwLDB4NGIsMHgxOCwweDI2LDB4Y2YsMHgyMCwweGIxLDB4MDYsMHgyYywweGMxLDB4MGIsMHgzMiwweDAyLDB4MGUsMHgwOCwweGIzIH0sCi0gIDE2LCAweDhhYzAsIDAsIHsweDg4LDB4MjQsMHgzMiwweDBhLDB4MzAsMHgxMiwweDg0LDB4MDgsMHg4MCwweDAwLDB4YTAsMHgzNCwweDI4LDB4MzAsMHgwMiwweDE4IH0sCi0gIDE2LCAweDhhZDAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDExLDB4YmMsMHgwMCwweGZmLDB4MDAsMHhiNiwweDQwIH0sCi0gIDE2LCAweDhhZTAsIDAsIHsweDJjLDB4ZjQsMHg0MywweGZjLDB4MDEsMHhkZiwweDAwLDB4M2EsMHgwMCwweDAzLDB4OTIsMHgwMywweGZmLDB4ODgsMHhmOSwweDAwIH0sCi0gIDE2LCAweDhhZjAsIDAsIHsweDJmLDB4YzAsMHgxYiwweDBlLDB4NGIsMHgyZSwweDkwLDB4ZmIsMHhlMCwweDMwLDB4MzIsMHgwYiwweDk4LDB4MDIsMHhlYywweDA4IH0sCi0gIDE2LCAweDhiMDAsIDAsIHsweDZiLDB4YzAsMHgzMiwweGMwLDB4MDgsMHhmMCwweDA5LDB4M2UsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDhiMTAsIDAsIHsweDgwLDB4MDAsMHhlYywweDAwLDB4ZjMsMHgwMCwweDNhLDB4YzAsMHgwZiwweGIwLDB4MDEsMHg2YywweDAwLDB4ZmIsMHgwMCwweDNhIH0sCi0gIDE2LCAweDhiMjAsIDAsIHsweDEwLDB4MGYsMHhiNCwweDAzLDB4ZWMsMHgwMCwweGYwLDB4MDAsMHgzYywweGMwLDB4MGYsMHg4MCwweDBiLDB4YWQsMHgyMCwweGZiIH0sCi0gIDE2LCAweDhiMzAsIDAsIHsweDQwLDB4M2UsMHgxMCwweDA3LDB4YTgsMHg2MywweGUwLDB4MDAsMHhmYiwweDgwLDB4M2UsMHhkOCwweDBmLDB4YjAsMHgwMywweGUwIH0sCi0gIDE2LCAweDhiNDAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZmMsMHgwMCwweGZmLDB4MDAsMHg3MiwweDAwIH0sCi0gIDE2LCAweDhiNTAsIDAsIHsweDBmLDB4ZjAsMHgyMywweGZjLDB4MDAsMHhkZiwweDAwLDB4M2YsMHg0MCwweDBmLDB4YzAsMHgwMywweGRjLDB4MDAsMHg4ZiwweDAwIH0sCi0gIDE2LCAweDhiNjAsIDAsIHsweDMzLDB4YzEsMHgwYywweGMwLDB4MDMsMHhiZSwweDAwLDB4ZmYsMHg5MCwweDNiLDB4MjgsMHgwZSwweDU5LDB4MDMsMHgyZSwweDAwIH0sCi0gIDE2LCAweDhiNzAsIDAsIHsweDdiLDB4MDAsMHgzMiwweGM0LDB4MGYsMHhiMCwweDAzLDB4ZDAsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDhiODAsIDAsIHsweGMxLDB4MDQsMHg2YywweDAwLDB4YmIsMHgwMCwweDYyLDB4YTAsMHgwZiwweGIwLDB4MDIsMHhlYywweDA5LDB4OGIsMHgwMCwweDJlIH0sCi0gIDE2LCAweDhiOTAsIDAsIHsweDMwLDB4MGIsMHhhOCwweDAzLDB4YWMsMHgwMCwweGZhLDB4YzEsMHgyMiwweGMxLDB4MDgsMHg4YywweDAyLDB4MmMsMHgwMCwweGIzIH0sCi0gIDE2LCAweDhiYTAsIDAsIHsweDgxLDB4MmEsMHgwMCwweDBkLDB4ODgsMHhiMiwweDIyLDB4MDAsMHhiMywweGMwLDB4MjIsMHhjOCwweDBiLDB4YjAsMHg0MiwweDYxIH0sCi0gIDE2LCAweDhiYjAsIDAsIHsweDQwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4NmMsMHgwMCwweGJiLDB4MDEsMHgyMiwweDYyIH0sCi0gIDE2LCAweDhiYzAsIDAsIHsweDBiLDB4YjAsMHgwMiwweGVjLDB4MDQsMHg4YiwweDAwLDB4MmUsMHhhMiwweDQ5LDB4ODgsMHgyNiwweGVjLDB4MDAsMHhhOCwweDgwIH0sCi0gIDE2LCAweDhiZDAsIDAsIHsweDIyLDB4YzAsMHgyOCwweDgyLDB4MGEsMHhhYywweGEwLDB4YmIsMHgwOCwweDIyLDB4YzAsMHgwOCwweDgwLDB4MGEsMHgyOCwweDg0IH0sCi0gIDE2LCAweDhiZTAsIDAsIHsweGI5LDB4YzAsMHhhMiwweDAwLDB4MGIsMHhiMCwweDAyLDB4ZTAsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDhiZjAsIDAsIHsweDA4LDB4MDQsMHgwYywweDAwLDB4YjMsMHgxMCwweDIwLDB4NDgsMHgwYSwweDMyLDB4MDIsMHhjYywweDgwLDB4ODMsMHgwMSwweDI0IH0sCi0gIDE2LCAweDhjMDAsIDAsIHsweDAwLDB4MGIsMHgwMiwweDA2LDB4OGMsMHg2MCwweGEwLDB4MjAsMHgyMCwweGM4LDB4MDgsMHgwMSwweDAyLDB4MGMsMHgwMCwweGIzIH0sCi0gIDE2LCAweDhjMTAsIDAsIHsweDAwLDB4MjgsMHgwMCwweDA5LDB4MjAsMHgwMiwweDA4LDB4ODAsMHhiMSwweDAwLDB4YTAsMHg4MCwweDBiLDB4MzAsMHgwMiwweDQyIH0sCi0gIDE2LCAweDhjMjAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA5LDB4NmMsMHgwMCwweGZmLDB4MDAsMHhhMiwweDBlIH0sCi0gIDE2LCAweDhjMzAsIDAsIHsweDBiLDB4ZjEsMHgwMywweGZjLDB4MDgsMHhjZiwweDIwLDB4M2UsMHhjMCwweDBmLDB4ODAsMHgwMywweGZjLDB4ODQsMHhhOCwweDIwIH0sCi0gIDE2LCAweDhjNDAsIDAsIHsweGIyLDB4YzgsMHg4YywweDgwLDB4MDMsMHhhYywweDQ0LDB4ZmIsMHg3MCwweDNhLDB4YzAsMHgwZSwweDkwLDB4MDMsMHgyYywweGE0IH0sCi0gIDE2LCAweDhjNTAsIDAsIHsweGZiLDB4MDAsMHhiMiwweDQwLDB4MGYsMHhiMCwweDAzLDB4YzAsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDhjNjAsIDAsIHsweGEwLDB4MWQsMHhmYywweDAwLDB4ZmYsMHgyNiwweDNlLDB4MDAsMHgwZiwweGI2LDB4MTMsMHhlZCwweDAwLDB4ZmIsMHgxMCwweDNmIH0sCi0gIDE2LCAweDhjNzAsIDAsIHsweDAwLDB4MGYsMHhjMSwweDEzLDB4YWMsMHg4MCwweGY4LDB4MTIsMHgzZSwweGM2LDB4NGYsMHg0MiwweDQzLDB4ZmMsMHgwNCwweGZmIH0sCi0gIDE2LCAweDhjODAsIDAsIHsweDMxLDB4M2YsMHgwMCwweDBmLDB4ZjAsMHgwMywweGVjLDB4MDAsMHhmZiwweDAwLDB4YmYsMHhjMCwweDhmLDB4ZjAsMHgwMywweGU4IH0sCi0gIDE2LCAweDhjOTAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAxLDB4ZmMsMHg0MCwweGZjLDB4ODAsMHgzNiwweGM4IH0sCi0gIDE2LCAweDhjYTAsIDAsIHsweDBmLDB4MDksMHgwMywweGMyLDB4MDAsMHhmOCwweGMwLDB4MzMsMHhjYywweDJjLDB4NGMsMHgwMywweDYzLDB4OTAsMHhlMCwweDkwIH0sCi0gIDE2LCAweDhjYjAsIDAsIHsweDNhLDB4YzAsMHgwZCwweDUwLDB4MGIsMHgzYywweDA0LDB4ZGYsMHg2NCwweDNmLDB4YzgsMHg4ZCwweGYxLDB4NDMsMHgyYywweDAwIH0sCi0gIDE2LCAweDhjYzAsIDAsIHsweGQ1LDB4MDAsMHgzMywweGMwLDB4NDUsMHhmMiwweDIzLDB4NzAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDhjZDAsIDAsIHsweDgwLDB4MTAsMHhlZCwweDgwLDB4YmEsMHgwMiwweDIxLDB4ZGUsMHg4YiwweDgyLDB4MjIsMHhlMCwweDIwLDB4YjAsMHgwMCwweDJiIH0sCi0gIDE2LCAweDhjZTAsIDAsIHsweGVjLDB4MDksMHg4MCwweDAyLDB4ZTMsMHg0MCwweGJhLDB4MjAsMHgyZiwweGRjLDB4MDgsMHg5OCwweDEyLDB4MmMsMHgwMCwweDhiIH0sCi0gIDE2LCAweDhjZjAsIDAsIHsweDUxLDB4MmEsMHhkMCwweDA4LDB4NzIsMHgyMiwweDJlLDB4MDAsMHg4ZCwweDgwLDB4MjEsMHhkMCwweDA4LDB4YjYsMHg4MiwweDIwIH0sCi0gIDE2LCAweDhkMDAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4Y2MsMHg0MCwweGI5LDB4MjgsMHgyNCwweGMwIH0sCi0gIDE2LCAweDhkMTAsIDAsIHsweDRhLDB4MTIsMHgxMiwweDg4LDB4ODUsMHhhOCwweDIwLDB4MjAsMHhjMCwweDBiLDB4MjIsMHgwMiwweGMwLDB4OTEsMHhhMSwweDAwIH0sCi0gIDE2LCAweDhkMjAsIDAsIHsweDI4LDB4YzIsMHgwYiwweDAwLDB4MTIsMHg4YywweDQwLDB4YTMsMHgyMCwweDIwLDB4YzQsMHgwYiwweDMwLDB4MGEsMHgwYywweDExIH0sCi0gIDE2LCAweDhkMzAsIDAsIHsweDk5LDB4MDAsMHgyMCwweGM1LDB4MDksMHgwMSwweDAyLDB4NjIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDhkNDAsIDAsIHsweGMwLDB4MTEsMHhhYywweDAwLDB4YjgsMHg4MCwweDIyLDB4YzAsMHgwYiwweDg4LDB4MDIsMHhlZSwweDAxLDB4YjgsMHhjMSwweDJhIH0sCi0gIDE2LCAweDhkNTAsIDAsIHsweGMwLDB4MWIsMHhhOCwweDA2LDB4ZTIsMHgwMCwweGJiLDB4ODAsMHgyZSwweGMwLDB4OGEsMHg4MCwweDAyLDB4YWMsMHgwMCwweGFiIH0sCi0gIDE2LCAweDhkNjAsIDAsIHsweDAwLDB4MmUsMHhjMCwweDBhLDB4YjAsMHgwMiwweDJjLDB4MDAsMHg5OSwweDAwLDB4MjQsMHhjMCwweDA4LDB4ODAsMHgwMiwweDMwIH0sCi0gIDE2LCAweDhkNzAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDE1LDB4ZWMsMHgwMCwweGIwLDB4ODAsMHgzNiwweGMwIH0sCi0gIDE2LCAweDhkODAsIDAsIHsweDBlLDB4YTgsMHgxMywweGUyLDB4ODUsMHhmMywweGMwLDB4MzIsMHhjMCwweDBlLDB4OWMsMHgyMywweGU3LDB4MjQsMHhlOCwweDgyIH0sCi0gIDE2LCAweDhkOTAsIDAsIHsweDNhLDB4YzEsMHgwZiwweDk0LDB4MDMsMHhhYywweDAyLDB4ZWIsMHgwMCwweDNlLDB4YzAsMHgwZiwweGIwLDB4MDMsMHgyZSwweDEwIH0sCi0gIDE2LCAweDhkYTAsIDAsIHsweDUxLDB4MDAsMHhiMiwweGMwLDB4MGQsMHhiMCwweDAzLDB4NTAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDhkYjAsIDAsIHsweGUwLDB4MDEsMHhiYywweDAwLDB4ZmYsMHgwMCwweDNmLDB4YzAsMHg4ZiwweGQwLDB4MDMsMHhmMCwweDA0LDB4ZmQsMHgwNCwweDNmIH0sCi0gIDE2LCAweDhkYzAsIDAsIHsweGMwLDB4NGMsMHhjMCwweDAzLDB4ZjAsMHgxMCwweGZjLDB4MDAsMHgxZiwweGMwLDB4MGQsMHhkMSwweDIzLDB4MWMsMHgwMCwweGM3IH0sCi0gIDE2LCAweDhkZDAsIDAsIHsweDAwLDB4MzksMHhjMCwweDBkLDB4ZjAsMHg4MywweGZlLDB4NDQsMHhlZCwweDAwLDB4M2IsMHhjMCwweDBmLDB4NzQsMHgwMywweGY4IH0sCi0gIDE2LCAweDhkZTAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YWMsMHgwMCwweGY5LDB4MDEsMHhiYSwweGMxIH0sCi0gIDE2LCAweDhkZjAsIDAsIHsweDBjLDB4YjAsMHgwMywweGExLDB4MDgsMHhmYSwweDAwLDB4MzAsMHhjOCwweDhmLDB4OTQsMHgwMywweDI1LDB4MDAsMHhmOSwweDAwIH0sCi0gIDE2LCAweDhlMDAsIDAsIHsweDNjLDB4YzAsMHgwZiwweDA0LDB4ODMsMHhlYywweDAwLDB4ZmIsMHgwMCwweDNlLDB4ZTAsMHgwZiwweDcxLDB4MGIsMHgyYywweDQwIH0sCi0gIDE2LCAweDhlMTAsIDAsIHsweGZkLDB4MDgsMHgzNywweGMwLDB4NGUsMHg5MSwweDAzLDB4OTAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDhlMjAsIDAsIHsweGM4LDB4MDUsMHgzYywweDAwLDB4YjksMHgwMCwweDIzLDB4YzAsMHgwOCwweDkwLDB4MDIsMHgyNCwweDAwLDB4YzgsMHgwMCwweDM3IH0sCi0gIDE2LCAweDhlMzAsIDAsIHsweGYwLDB4MGIsMHg4MCwweDAxLDB4NjQsMHgwMCwweDQ5LDB4MDIsMHgzMywweGMwLDB4ODQsMHg5YywweDAzLDB4M2MsMHgwMCwweGJmIH0sCi0gIDE2LCAweDhlNDAsIDAsIHsweDAyLDB4MGYsMHhkMCwweDA4LDB4ZjQsMHgwMiwweDBlLDB4MTAsMHhiZCwweDgwLDB4MzMsMHhlMCwweDA4LDB4OTAsMHgwYSwweDMyIH0sCi0gIDE2LCAweDhlNTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NGMsMHgwMCwweGIwLDB4MDYsMHgyMCwweGMwIH0sCi0gIDE2LCAweDhlNjAsIDAsIHsweDA4LDB4MDAsMHg0MiwweDg0LDB4MDAsMHhhMCwweDAwLDB4MjAsMHhmMCwweDBiLDB4MDAsMHgyMiwweGNjLDB4MDAsMHg5MCwweDAwIH0sCi0gIDE2LCAweDhlNzAsIDAsIHsweDI4LDB4YzAsMHgwMiwweDNkLDB4MDIsMHg4YywweDAwLDB4YjMsMHgwMCwweDJjLDB4YzIsMHg5YSwweDM4LDB4MDIsMHgwNiwweDA0IH0sCi0gIDE2LCAweDhlODAsIDAsIHsweGIxLDB4MTIsMHgyMCwweGUwLDB4MDgsMHgzMCwweDAyLDB4MzgsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDhlOTAsIDAsIHsweDIwLDB4MDEsMHgxZSwweDAwLDB4YjYsMHg4MCwweDIxLDB4ZTAsMHgyOCwweGVhLDB4MDIsMHgzNiwweDgwLDB4ODYsMHg5MCwweDY1IH0sCi0gIDE2LCAweDhlYTAsIDAsIHsweGUwLDB4MWIsMHhkYSwweDA2LDB4NWUsMHgwMSwweDllLDB4ODQsMHgyNSwweGVjLDB4MGEsMHg3OCwweDAyLDB4NWUsMHgwMCwweGI3IH0sCi0gIDE2LCAweDhlYjAsIDAsIHsweDgwLDB4MmQsMHhlMCwweDA4LDB4NzksMHg0YSwweDE2LDB4NDAsMHhiZCwweDgwLDB4MjUsMHhlMCwweDA4LDB4MzgsMHgwMiwweDA4IH0sCi0gIDE2LCAweDhlYzAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MGMsMHgwMCwweGZiLDB4MDAsMHgyOCwweGUwIH0sCi0gIDE2LCAweDhlZDAsIDAsIHsweDA4LDB4MTgsMHgwMiwweDhhLDB4ODgsMHhhMSwweGEwLDB4MjAsMHhjMiwweDFmLDB4MmEsMHgyMywweGU2LDB4YzgsMHhmMCwweGMwIH0sCi0gIDE2LCAweDhlZTAsIDAsIHsweDNhLDB4ZWQsMHg0ZSwweDM0LDB4MDIsMHg4YywweDA4LDB4ZjMsMHg4MSwweDFlLDB4YzAsMHgwZSwweDMwLDB4MDMsMHgwZSwweGMwIH0sCi0gIDE2LCAweDhlZjAsIDAsIHsweGYxLDB4MDAsMHhiMCwweGNhLDB4MGUsMHgyMSwweDAzLDB4OTIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDhmMDAsIDAsIHsweDQwLDB4MWQsMHhiYywweDA4LDB4ZmUsMHgxMCwweDNmLDB4ZDIsMHgwZiwweGUwLDB4MDMsMHhlYywweDA0LDB4ZmYsMHgxNCwweDdlIH0sCi0gIDE2LCAweDhmMTAsIDAsIHsweGMwLDB4MGYsMHhiMSwweDIzLDB4ZmMsMHgwMSwweGVlLDB4MDAsMHgzYSwweGM0LDB4MGQsMHhiMCwweDEzLDB4YmMsMHgwMCwweGZmIH0sCi0gIDE2LCAweDhmMjAsIDAsIHsweDAwLDB4M2YsMHhjMCwweDBlLDB4ZjAsMHg4MywweGZjLDB4MGMsMHhmZCwweDEwLDB4M2IsMHhjMCwweDJmLDB4ZTEsMHgwMywweGQwIH0sCi0gIDE2LCAweDhmMzAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZWMsMHg0MCwweGYwLDB4ODAsMHgzMiwweGQwIH0sCi0gIDE2LCAweDhmNDAsIDAsIHsweDBjLDB4YTAsMHgwMywweDZjLDB4MDAsMHhmMywweDgwLDB4MzIsMHhkYSwweDBmLDB4YjAsMHgwMywweGVjLDB4MDAsMHhmYiwweDAwIH0sCi0gIDE2LCAweDhmNTAsIDAsIHsweDNlLDB4Y2MsMHg0YywweDk4LDB4MTMsMHgyYywweDEwLDB4ZmIsMHgwNCwweDNlLDB4YzQsMHgwYywweGYyLDB4ODMsMHhhNiwweDEwIH0sCi0gIDE2LCAweDhmNjAsIDAsIHsweGRkLDB4MjAsMHgzZiwweGQxLDB4MGMsMHhiMCwweDAzLDB4ZWEsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDhmNzAsIDAsIHsweDQ4LDB4MTEsMHg5YywweDgwLDB4YjcsMHgwMCwweDIxLDB4YzgsMHgwYywweDcwLDB4MDIsMHhkYywweDA4LDB4YjcsMHgwMCwweDIxIH0sCi0gIDE2LCAweDhmODAsIDAsIHsweGM4LDB4MGUsMHg3MCwweDIyLDB4ZDgsMHgwMCwweGI3LDB4MDAsMHgyYywweGMyLDB4MGEsMHg3MCwweDBhLDB4MWYsMHgwOCwweGI3IH0sCi0gIDE2LCAweDhmOTAsIDAsIHsweDAwLDB4MzksMHhjOCwweDBhLDB4NzAsMHgwMiwweDE0LDB4MDAsMHhjNSwweDY5LDB4MmMsMHhjYSwweDJhLDB4NzAsMHgwMiwweGQyIH0sCi0gIDE2LCAweDhmYTAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4OWUsMHgwMCwweGJmLDB4ODEsMHg2NCwweGUxIH0sCi0gIDE2LCAweDhmYjAsIDAsIHsweDA4LDB4NzgsMHgwMiwweDVhLDB4MDEsMHhiZiwweDgwLDB4MjEsMHhlYywweDRiLDB4NzgsMHg0NiwweDlmLDB4MDgsMHgzNywweDgwIH0sCi0gIDE2LCAweDhmYzAsIDAsIHsweDJkLDB4ZTgsMHg4OCwweDE4LDB4MDIsMHgxZSwweDgxLDB4YjcsMHhiMCwweDJkLDB4ZTAsMHgwOSwweDdhLDB4MDIsMHg4ZSwweDAwIH0sCi0gIDE2LCAweDhmZDAsIDAsIHsweDk1LDB4YTAsMHgyZCwweGU0LDB4MDgsMHg3OCwweDAyLDB4ZjAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDhmZTAsIDAsIHsweDQ4LDB4MTQsMHhlYywweDAwLDB4YjMsMHg2MCwweDIwLDB4YzAsMHgwOCwweGI2LDB4MDIsMHhjYywweDAwLDB4YjMsMHgwMSwweDIwIH0sCi0gIDE2LCAweDhmZjAsIDAsIHsweGMwLDB4OGEsMHhiMCwweDg2LDB4Y2YsMHgwMCwweGJiLDB4MTAsMHg2YywweGMxLDB4MGEsMHgzOCwweDAyLDB4MGMsMHgwMSwweGIzIH0sCi0gIDE2LCAweDkwMDAsIDAsIHsweDAyLDB4MjgsMHhjMCwweDBiLDB4YjAsMHgwYSwweDBjLDB4MDAsMHg4MSwweDAwLDB4MmUsMHhjMCwweDBhLDB4YjQsMHg4MiwweGQyIH0sCi0gIDE2LCAweDkwMTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YTgsMHgwMCwweGZlLDB4NDAsMHhiNiwweDgwIH0sCi0gIDE2LCAweDkwMjAsIDAsIHsweDBjLDB4ZTQsMHgwMywweDc4LDB4ODAsMHhmZSwweDc0LDB4MzIsMHg4MCwweDBiLDB4ZTYsMHgwMywweGY5LDB4MDAsMHhmZSwweDAwIH0sCi0gIDE2LCAweDkwMzAsIDAsIHsweDNlLDB4ODAsMHgwYywweGUwLDB4MDMsMHgyOCwweDAwLDB4ZmEsMHgwMCwweDNlLDB4ODAsMHg0ZCwweGEwLDB4MDMsMHhhOCwweDAwIH0sCi0gIDE2LCAweDkwNDAsIDAsIHsweGRhLDB4MDQsMHgzZSwweDgwLDB4MGMsMHhlNCwweDAzLDB4ZmEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDkwNTAsIDAsIHsweDQ4LDB4MDAsMHhlMCwweDAwLDB4ZjgsMHgwMCwweDNlLDB4MDAsMHgyZSwweDgwLDB4MjMsMHhlMCwweDAwLDB4ZjgsMHgwMSwweDNjIH0sCi0gIDE2LCAweDkwNjAsIDAsIHsweDAwLDB4MGUsMHg4MCwweDAzLDB4ZTAsMHgyMCwweGY4LDB4MjAsMHgzZSwweDAxLDB4OGYsMHg4OSwweDAzLDB4ZTAsMHgwMCwweGY4IH0sCi0gIDE2LCAweDkwNzAsIDAsIHsweDAwLDB4M2EsMHgxMCwweDBlLDB4ODAsMHgwMSwweGUwLDB4MDAsMHhlOCwweDQwLDB4N2UsMHgwMCwweDRmLDB4ODAsMHgwMywweGQyIH0sCi0gIDE2LCAweDkwODAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTQsMHgwMiwweGM5LDB4MDEsMHg3ZSwweDQwIH0sCi0gIDE2LCAweDkwOTAsIDAsIHsweDJjLDB4OTAsMHgwYiwweDI0LDB4MDAsMHhmOSwweDAwLDB4M2UsMHg2OCwweDA1LDB4OTAsMHgxMywweGE0LDB4MDQsMHhkOSwweDAwIH0sCi0gIDE2LCAweDkwYTAsIDAsIHsweDMyLDB4NDEsMHgwZSwweDkxLDB4MDMsMHhlNCwweDAwLDB4ZjksMHgwMCwweDNlLDB4NjAsMHgwZSwweDkwLDB4MDMsMHgyNCwweDAwIH0sCi0gIDE2LCAweDkwYjAsIDAsIHsweGYxLDB4MDAsMHgzMiwweDQwLDB4NjgsMHg5MCwweDQzLDB4ODIsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDkwYzAsIDAsIHsweDgwLDB4MDQsMHg2NCwweDAwLDB4ODksMHgwMCwweDZlLDB4NDAsMHgwOCwweDkwLDB4NDIsMHgyNCwweDAwLDB4YjksMHgwMCwweDJlIH0sCi0gIDE2LCAweDkwZDAsIDAsIHsweDcwLDB4ODgsMHg5MCwweDAzLDB4MjQsMHgwMCwweGI5LDB4MDAsMHgyMiwweDQwLDB4MDgsMHg5OCwweDEyLDB4ZTQsMHgwMCwweGI5IH0sCi0gIDE2LCAweDkwZTAsIDAsIHsweDAwLDB4MmUsMHg0MCwweDBhLDB4OTAsMHgwYSwweDI2LDB4MDAsMHhiOSwweDgwLDB4YTIsMHg0MCwweDA4LDB4OTAsMHgxMiwweDIwIH0sCi0gIDE2LCAweDkwZjAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4MjQsMHgwMCwweDg5LDB4MDQsMHgyYywweDQwIH0sCi0gIDE2LCAweDkxMDAsIDAsIHsweDA4LDB4OTAsMHgwMiwweDI0LDB4MDEsMHhiOSwweDAwLDB4MmEsMHg0MCwweDBiLDB4YjAsMHgwMiwweGE0LDB4MDEsMHhiOSwweDAwIH0sCi0gIDE2LCAweDkxMTAsIDAsIHsweGUwLDB4NDAsMHgwYSwweDkwLDB4ODIsMHhhNCwweDAwLDB4YjksMHgwMCwweDJjLDB4NDgsMHgwYSwweDk4LDB4MDIsMHgyNCwweDgwIH0sCi0gIDE2LCAweDkxMjAsIDAsIHsweDM5LDB4MjAsMHgyMiwweDQwLDB4MmEsMHg5MCwweDAyLDB4ODYsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDkxMzAsIDAsIHsweDA4LDB4MDQsMHgwNCwweDgwLDB4ODEsMHgwMCwweDJjLDB4NDgsMHgwOCwweDEwLDB4MTIsMHgwNCwweDEwLDB4YjEsMHgwNCwweDJjIH0sCi0gIDE2LCAweDkxNDAsIDAsIHsweGQ4LDB4MGEsMHgxMCwweDAyLDB4MDQsMHgwMCwweGIxLDB4MDAsMHgyMCwweDQ4LDB4MDgsMHgxMCwweDAyLDB4YzQsMHg4MCwweGIxIH0sCi0gIDE2LCAweDkxNTAsIDAsIHsweDIyLDB4MmMsMHg1MCwweDhhLDB4MzIsMHg4MiwweDA1LDB4YTAsMHhiMSwweDJhLDB4MjAsMHg0YSwweDBhLDB4MTIsMHg4MiwweDAyIH0sCi0gIDE2LCAweDkxNjAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjEsMHg1MCwweGM4LDB4NTIsMHgyZSwweDE0IH0sCi0gIDE2LCAweDkxNzAsIDAsIHsweDBjLDB4ODUsMHgwMywweDIxLDB4NDAsMHhmOCwweDUwLDB4M2EsMHgwMCwweDFmLDB4ODUsMHgwMywweGExLDB4NDAsMHhmOCwweDUwIH0sCi0gIDE2LCAweDkxODAsIDAsIHsweDMyLDB4MTQsMHgwZSwweDgwLDB4MDMsMHhhMSwweDQwLDB4ZjgsMHg1MCwweDNjLDB4ODAsMHgwZSwweDAyLDB4MDMsMHgyMCwweDgwIH0sCi0gIDE2LCAweDkxOTAsIDAsIHsweGZhLDB4MjAsMHgzMiwweDA4LDB4MGUsMHg4MiwweDEzLDB4YWUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDkxYTAsIDAsIHsweDk4LDB4MWQsMHhlNCwweDUwLDB4ZmQsMHgwMCwweDNlLDB4NDQsMHgwZiwweGQwLDB4MDMsMHhmNCwweDAwLDB4ZmQsMHgwMCwweDNlIH0sCi0gIDE2LCAweDkxYjAsIDAsIHsweDQ0LDB4OGQsMHhkMCwweDAxLDB4YmQsMHgwMCwweGZkLDB4MDIsMHgzZSwweDQ0LDB4MGYsMHhkNCwweDAwLDB4ZTQsMHg0OCwweDc5IH0sCi0gIDE2LCAweDkxYzAsIDAsIHsweDE0LDB4M2UsMHg1MCwweDBmLDB4OTIsMHhhMiwweGY0LDB4MDgsMHhmZCwweDAwLDB4M2UsMHg0YSwweDBkLDB4ZDIsMHg4MywweGU2IH0sCi0gIDE2LCAweDkxZDAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4ZTcsMHgwMCwweGY5LDB4MTAsMHgzYSwweDZlIH0sCi0gIDE2LCAweDkxZTAsIDAsIHsweDBjLDB4YjEsMHgwMywweGU0LDB4NDAsMHhmOSwweDQ0LDB4M2IsMHg2MSwweDhlLDB4OTQsMHgwMywweGU0LDB4MDAsMHhlOSwweDQwIH0sCi0gIDE2LCAweDkxZjAsIDAsIHsweDMyLDB4NjYsMHgwZiwweGRhLDB4MGIsMHhhNywweDI4LDB4YzksMHhlMCwweDNmLDB4NjgsMHgwYywweGRhLDB4ODMsMHhiMywweDIwIH0sCi0gIDE2LCAweDkyMDAsIDAsIHsweGVkLDB4YTAsMHgzMywweDc5LDB4MDgsMHhkOCwweDAzLDB4NDYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDkyMTAsIDAsIHsweDM4LDB4MTAsMHhlMiwweDAwLDB4YjgsMHhhMCwweDJlLDB4MzgsMHgwOCwweDhhLDB4MDIsMHhlMiwweDg4LDB4ZTgsMHg4MSwweDJlIH0sCi0gIDE2LCAweDkyMjAsIDAsIHsweDE0LDB4MDksMHgwYSwweDAzLDB4ZTIsMHg4MCwweGI4LDB4ODAsMHgzMiwweDMwLDB4MGIsMHg4NSwweDAyLDB4MjEsMHgwMSwweGE4IH0sCi0gIDE2LCAweDkyMzAsIDAsIHsweGY0LDB4MzgsMHgyYSwweDA4LDB4MGUsMHhjYSwweDIzLDB4OTAsMHhjOCwweDU0LDB4MzQsMHgzOCwweDA4LDB4OGEsMHg5MiwweDBlIH0sCi0gIDE2LCAweDkyNDAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4YzUsMHgwMCwweGIxLDB4MDAsMHgyOCwweDQwIH0sCi0gIDE2LCAweDkyNTAsIDAsIHsweDE5LDB4MTAsMHgwMiwweGM0LDB4MDAsMHhiMSwweDIwLDB4MjgsMHg0MCwweDBiLDB4MTAsMHgwNiwweGM0LDB4MjAsMHhhMSwweGEyIH0sCi0gIDE2LCAweDkyNjAsIDAsIHsweDZjLDB4NDgsMHgwYiwweDEwLDB4MDIsMHg4NCwweDA4LDB4ODEsMHgyMCwweDJjLDB4NTAsMHgwOSwweDEwLDB4MDIsMHhjNCwweDA0IH0sCi0gIDE2LCAweDkyNzAsIDAsIHsweGIxLDB4MDAsMHgyNCwweDU4LDB4MDgsMHgzYywweDAyLDB4NDIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDkyODAsIDAsIHsweDE4LDB4MTUsMHhhNCwweDAxLDB4YjksMHgyMCwweDJjLDB4NDAsMHgwOSwweDkwLDB4MDIsMHhlNCwweDEwLDB4YTksMHg0MCwweDJlIH0sCi0gIDE2LCAweDkyOTAsIDAsIHsweDQwLDB4MGIsMHg5MCwweDAyLDB4YTQsMHgwMCwweGIxLDB4MDEsMHgyYSwweDQwLDB4MGIsMHg5NCwweDAyLDB4MjQsMHgwMCwweGE5IH0sCi0gIDE2LCAweDkyYTAsIDAsIHsweDAwLDB4MmEsMHg0MCwweDAxLDB4MTAsMHg1MiwweDY0LDB4MDAsMHg4OSwweDAwLDB4MjYsMHg0MCwweDAwLDB4OTgsMHgwMiwweDQ2IH0sCi0gIDE2LCAweDkyYjAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4ZTQsMHgwMCwweGY5LDB4NjEsMHgzYSwweDQwIH0sCi0gIDE2LCAweDkyYzAsIDAsIHsweDBkLDB4OTAsMHg4MywweGU1LDB4MjAsMHhmOSwweDAxLDB4M2EsMHg0MCwweDJlLDB4OTAsMHgwMiwweGU0LDB4NDAsMHhlOSwweDAxIH0sCi0gIDE2LCAweDkyZDAsIDAsIHsweDllLDB4NDAsMHgwZiwweDk0LDB4MDMsMHhhNCwweDAwLDB4ODksMHgwMCwweDNlLDB4NDAsMHgyZCwweDkwLDB4MDIsMHhlNiwweDA4IH0sCi0gIDE2LCAweDkyZTAsIDAsIHsweGI5LDB4MDEsMHgzNiwweDQwLDB4MmMsMHg5MCwweDAxLDB4NjgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDkyZjAsIDAsIHsweDI4LDB4MDEsMHhhNCwweDAwLDB4ZjksMHgwMCwweDNlLDB4NDAsMHgyZSwweDkwLDB4MDMsMHhlNCwweDgwLDB4ZjksMHgwMCwweDNjIH0sCi0gIDE2LCAweDkzMDAsIDAsIHsweDQwLDB4MGMsMHg5YywweDIzLDB4ZTQsMHgwMCwweGY5LDB4MDAsMHgzNiwweDQwLDB4MGYsMHgxMCwweDQzLDB4ODQsMHgwMCwweGY5IH0sCi0gIDE2LCAweDkzMTAsIDAsIHsweDAyLDB4M2UsMHg0MCwweDBlLDB4OTAsMHgwMywweDgwLDB4ODAsMHhmOSwweDAwLDB4M2MsMHg0MCwweDJmLDB4OTAsMHgwMywweDhhIH0sCi0gIDE2LCAweDkzMjAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTAsMHgwMCwweGM4LDB4NDAsMHgzNiwweDAxIH0sCi0gIDE2LCAweDkzMzAsIDAsIHsweDBkLDB4ODQsMHgwMywweGUxLDB4MDAsMHhlOCwweDQwLDB4M2UsMHgwOCwweDBjLDB4ODAsMHgwMywweGUxLDB4MDAsMHhmOCwweDAwIH0sCi0gIDE2LCAweDkzNDAsIDAsIHsweDMyLDB4MDAsMHg4ZiwweDgwLDB4MDMsMHhhMCwweDEwLDB4ZjgsMHgwMCwweDMyLDB4MDQsMHgwZSwweDgwLDB4ODMsMHg2MCwweDAwIH0sCi0gIDE2LCAweDkzNTAsIDAsIHsweGY4LDB4MDAsMHgzZSwweDAwLDB4MGMsMHgwMCwweDAzLDB4MGEsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDkzNjAsIDAsIHsweDI4LDB4MDUsMHgyOCwweDAwLDB4OGEsMHgwMSwweDIyLDB4ODAsMHgwOCwweGEwLDB4MjQsMHhlOCwweDAwLDB4MGEsMHgwMCwweDJmIH0sCi0gIDE2LCAweDkzNzAsIDAsIHsweDgwLDB4MWEsMHhhMCwweDAyLDB4MjgsMHgwMCwweGJhLDB4MDAsMHgxNiwweDgwLDB4MGIsMHhlMCwweDAzLDB4MjgsMHgwOCwweGVhIH0sCi0gIDE2LCAweDkzODAsIDAsIHsweDAwLDB4MzMsMHg5MCwweDA4LDB4ZWMsMHgxYiwweDIyLDB4ODAsMHhjNiwweDE0LDB4MmYsMHg5MSwweDA4LDB4YTAsMHg0MywweDRhIH0sCi0gIDE2LCAweDkzOTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NGMsMHgwMCwweDkzLDB4MDAsMHgyNCwweGMwIH0sCi0gIDE2LCAweDkzYTAsIDAsIHsweDA5LDB4MzAsMHgxMiwweGNjLDB4MDQsMHhhMywweDA0LDB4NmMsMHhjMCwweDA5LDB4MzAsMHgwMiwweDhjLDB4MDAsMHhiMywweDAwIH0sCi0gIDE2LCAweDkzYjAsIDAsIHsweDJjLDB4YzAsMHgxMywweDMwLDB4MDIsMHg4YywweDAwLDB4YjMsMHgwMCwweGU2LDB4YjgsMHgwYSwweDM4LDB4MDIsMHg0NCwweDA4IH0sCi0gIDE2LCAweDkzYzAsIDAsIHsweDgyLDB4NTAsMHgyYywweGQyLDB4M2EsMHgzMCwweDAyLDB4OGEsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDkzZDAsIDAsIHsweGEwLDB4MDEsMHgwZSwweDgwLDB4OTcsMHhiNCwweDIxLDB4YzQsMHg0OSwweDcxLDB4MDIsMHhkZSwweDgxLDB4ODcsMHgyMSwweDJkIH0sCi0gIDE2LCAweDkzZTAsIDAsIHsweGQwLDB4MGIsMHg3YiwweDAyLDB4MWMsMHgwMSwweGJmLDB4MjAsMHgyOSwweGM0LDB4MGIsMHgzMCwweDAyLDB4NWMsMHgwMCwweGE3IH0sCi0gIDE2LCAweDkzZjAsIDAsIHsweGExLDB4MjEsMHhjMCwweDRhLDB4NzAsMHg4YSwweDBjLDB4ODEsMHg4NCwweDAwLDB4MmQsMHhkMCwweDBhLDB4NTAsMHgwMiwweGU4IH0sCi0gIDE2LCAweDk0MDAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MWUsMHg4MiwweGRmLDB4YTAsMHgzNCwweGVjIH0sCi0gIDE2LCAweDk0MTAsIDAsIHsweDBkLDB4NzksMHgwMiwweGZlLDB4ODAsMHhlNywweGU4LDB4MmYsMHhhMCwweDA5LDB4N2EsMHgwMiwweDllLDB4MDAsMHhmNywweGEyIH0sCi0gIDE2LCAweDk0MjAsIDAsIHsweDI1LDB4ZWEsMHgwYiwweDQ4LDB4MDMsMHg5ZSwweDA0LDB4ZmYsMHhjMCwweDY1LDB4ZTQsMHgwZSwweDY4LDB4MDMsMHg1ZiwweDAwIH0sCi0gIDE2LCAweDk0MzAsIDAsIHsweGU0LDB4ODAsMHgzZCwweGUwLDB4MGUsMHhmOCwweDAzLDB4YWEsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDk0NDAsIDAsIHsweDA4LDB4MWQsMHhhYywweDQ4LDB4ZWIsMHgwNSwweDNlLDB4ZDksMHgwZSwweGIyLDB4MDMsMHhlYywweDAwLDB4ZmIsMHg2MCwweDNlIH0sCi0gIDE2LCAweDk0NTAsIDAsIHsweGMwLDB4MGUsMHhiMiwweDgzLDB4YWMsMHgwMCwweGYzLDB4NTAsMHhhNiwweGMwLDB4NGYsMHhiMCwweDAzLDB4YWMsMHgwMCwweGZiIH0sCi0gIDE2LCAweDk0NjAsIDAsIHsweDgwLDB4M2YsMHhkOCwweDBkLDB4YTAsMHgwMywweGVjLDB4MGEsMHhmOSwweDAwLDB4M2UsMHhjMCwweDBkLDB4OTAsMHgwMywweDQyIH0sCi0gIDE2LCAweDk0NzAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZmUsMHgwMCwweGJiLDB4OTAsMHgzZSwweGUwIH0sCi0gIDE2LCAweDk0ODAsIDAsIHsweDA4LDB4MzksMHgwMywweDllLDB4MjAsMHhjZiwweDgyLDB4NzcsMHhlMCwweDFmLDB4ZjgsMHgwMywweGVlLDB4MDAsMHhmZiwweGMwIH0sCi0gIDE2LCAweDk0OTAsIDAsIHsweDNmLDB4ZTUsMHgwZCwweGY5LDB4MDMsMHhlZSwweDAwLDB4ZmIsMHg5MCwweDM3LDB4YTAsMHgwOCwweGY4LDB4MGYsMHgxZSwweDAwIH0sCi0gIDE2LCAweDk0YTAsIDAsIHsweGNjLDB4OTQsMHgzMywweDYwLDB4MGQsMHhmOCwweDAzLDB4YzAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDk0YjAsIDAsIHsweGE4LDB4MTEsMHg5YywweDAwLDB4YjcsMHg5MCwweDJmLDB4ZTQsMHgwOCwweDdhLDB4MDIsMHgxZSwweDAwLDB4OGYsMHgxMiwweDI1IH0sCi0gIDE2LCAweDk0YzAsIDAsIHsweGQ4LDB4MGIsMHhiYiwweDAyLDB4MWUsMHgwMCwweGI3LDB4MDAsMHgyZCwweGU4LDB4MDgsMHg3ZCwweDgyLDB4ZGUsMHg0MCwweGJiIH0sCi0gIDE2LCAweDk0ZDAsIDAsIHsweGEwLDB4MjcsMHg5MCwweDBhLDB4NzYsMHgwMiwweDVjLDB4ODAsMHg4NSwweDAwLDB4MzcsMHhjNCwweDRkLDB4NzEsMHgwMywweGVhIH0sCi0gIDE2LCAweDk0ZTAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OWMsMHgwMCwweGI3LDB4MjAsMHgyZCwweGMwIH0sCi0gIDE2LCAweDk0ZjAsIDAsIHsweDI5LDB4ZjIsMHgyMiwweGJjLDB4ODAsMHg5NywweDAwLDB4MjUsMHg0MSwweDBiLDB4NzAsMHgxMiwweDljLDB4MDAsMHhiNywweDA4IH0sCi0gIDE2LCAweDk1MDAsIDAsIHsweDI5LDB4YzAsMHgwOCwweDQyLDB4MTIsMHhkYywweDQwLDB4YjcsMHgwMCwweDI5LDB4YzAsMHgwOSwweDYwLDB4MjIsMHhkYywweDEwIH0sCi0gIDE2LCAweDk1MTAsIDAsIHsweDgwLDB4MDAsMHgyMSwweDQwLDB4MDksMHg3MCwweDAyLDB4YzAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDk1MjAsIDAsIHsweDIwLDB4MTQsMHhjYywweDAwLDB4YjMsMHhjMCwweDJlLDB4YzAsMHgwOCwweDM0LDB4ODIsMHgyZCwweDAwLDB4OTMsMHgwMCwweDI0IH0sCi0gIDE2LCAweDk1MzAsIDAsIHsweGMwLDB4MGIsMHgzMCwweDAyLDB4MGYsMHg4MCwweDEzLDB4MDAsMHgyYywweGMwLDB4MGEsMHgzNCwweGEyLDB4ZWMsMHgwMCwweGIzIH0sCi0gIDE2LCAweDk1NDAsIDAsIHsweDAwLDB4MjgsMHhjMCwweDBiLDB4MDAsMHgwMiwweGNjLDB4MDAsMHg4MSwweDAwLDB4MjAsMHhjMCwweDA5LDB4MzAsMHgwMiwweDg5IH0sCi0gIDE2LCAweDk1NTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDExLDB4YmMsMHgwMCwweGZmLDB4ZTAsMHgzZiwweGMwIH0sCi0gIDE2LCAweDk1NjAsIDAsIHsweDBjLDB4ZjQsMHg4MywweGJkLDB4MDAsMHhkZiwweDA4LDB4MzYsMHg0MCwweDBiLDB4NzUsMHg0MiwweGZjLDB4MjAsMHhmZiwweDgwIH0sCi0gIDE2LCAweDk1NzAsIDAsIHsweDNiLDB4YzAsMHgyYywweDNjLDB4MDMsMHhmYywweDAwLDB4YmYsMHgwMCwweGJlLDB4YzAsMHg4ZCwweDkwLDB4MGIsMHhhYywweDAyIH0sCi0gIDE2LCAweDk1ODAsIDAsIHsweGNhLDB4MDAsMHgyMiwweDgwLDB4MGQsMHhiMCwweDAyLDB4ZWEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDk1OTAsIDAsIHsweDgwLDB4MDAsMHhlYywweDAwLDB4ZmIsMHgwOCwweDFlLDB4YzAsMHgwZiwweGIwLDB4MTMsMHhlYywweDAwLDB4ZWIsMHgwMCwweDNhIH0sCi0gIDE2LCAweDk1YTAsIDAsIHsweDEwLDB4MGYsMHhiMCwweDIzLDB4YWMsMHgwMSwweGZiLDB4MDAsMHgzZSwweGMwLDB4M2MsMHg4NCwweDAzLDB4ZWMsMHgwMCwweGZiIH0sCi0gIDE2LCAweDk1YjAsIDAsIHsweDAwLDB4MjYsMHg0MCwweDBlLDB4OTQsMHgwYiwweDJjLDB4MDAsMHhmOSwweDQwLDB4M2UsMHg5MCwweDBlLDB4OTAsMHgxMywweGUwIH0sCi0gIDE2LCAweDk1YzAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZGMsMHgwMiwweGNmLDB4MDAsMHgzZiwweGMwIH0sCi0gIDE2LCAweDk1ZDAsIDAsIHsweDBkLDB4ZjAsMHgwYiwweDNjLDB4MjAsMHhjZiwweDAwLDB4M2QsMHgwMCwweDBlLDB4ZjAsMHgwNywweDljLDB4MDEsMHhjZiwweDAyIH0sCi0gIDE2LCAweDk1ZTAsIDAsIHsweDNlLDB4YzAsMHgwZiwweGM0LDB4MDMsMHgzYywweDAwLDB4Y2YsMHgwMCwweDBmLDB4YzAsMHgwZSwweDQ0LDB4MDMsMHgxZiwweDAyIH0sCi0gIDE2LCAweDk1ZjAsIDAsIHsweGNjLDB4MDAsMHgzZiwweDgwLDB4MmMsMHg3MCwweDAzLDB4MDAsMHg0NCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDk2MDAsIDAsIHsweDgxLDB4MDQsMHg2YywweDAwLDB4OGIsMHgwMiwweDJlLDB4YzAsMHgwZCwweGIwLDB4MDIsMHgyYywweDAwLDB4YWIsMHgwMCwweDA2IH0sCi0gIDE2LCAweDk2MTAsIDAsIHsweDIwLDB4MDgsMHhiMCwweDAzLDB4ZmMsMHgwMCwweGFiLDB4MDAsMHgyZSwweGMwLDB4MGYsMHg4MCwweDA2LDB4YmMsMHgwMCwweGFiIH0sCi0gIDE2LCAweDk2MjAsIDAsIHsweDA0LDB4M2EsMHhmMCwweDBjLDB4ODgsMHgwMiwweDJjLDB4MDAsMHhjOSwweDgwLDB4M2EsMHg5MiwweDA4LDB4OTAsMHgwYSwweGEwIH0sCi0gIDE2LCAweDk2MzAsIDAsIHsweDQwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MmMsMHgwMCwweGFiLDB4MDAsMHgyZSwweGMwIH0sCi0gIDE2LCAweDk2NDAsIDAsIHsweDA5LDB4MzAsMHgwMiwweDJjLDB4MDAsMHg4YiwweDAwLDB4MjYsMHg2MCwweDBiLDB4YjAsMHgwMiwweGFjLDB4MDAsMHg4YiwweDAwIH0sCi0gIDE2LCAweDk2NTAsIDAsIHsweDZlLDB4YzAsMHgwYiwweGIwLDB4NDIsMHgyYywweDAwLDB4OWIsMHgwMCwweDRjLDB4ZTAsMHgwYSwweDkwLDB4MjIsMHgyYywweDAwIH0sCi0gIDE2LCAweDk2NjAsIDAsIHsweDhhLDB4YzIsMHgyYywweDQwLDB4MDgsMHhiMCwweDQyLDB4MjAsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDk2NzAsIDAsIHsweDA4LDB4MDQsMHgwYywweDAwLDB4ODMsMHgwZCwweDJjLDB4YzYsMHgwOSwweDMxLDB4MDIsMHgwZCwweDgxLDB4YTMsMHgxMSwweDI0IH0sCi0gIDE2LCAweDk2ODAsIDAsIHsweDAwLDB4OGEsMHhiMSwweGUyLDB4NGMsMHg4MCwweGEzLDB4MDAsMHgyYywweGNjLDB4MGIsMHgwMiwweDAyLDB4OGMsMHg4MCwweGEzIH0sCi0gIDE2LCAweDk2OTAsIDAsIHsweDQ4LDB4MDgsMHhjMCwweDA4LDB4MDAsMHgwYSwweDBkLDB4MDAsMHg4MSwweDAwLDB4MjgsMHhjMCwweDA4LDB4MzAsMHgwMiwweDgyIH0sCi0gIDE2LCAweDk2YTAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4NmMsMHgwMCwweGNiLDB4MjAsMHgyZiwweGM4IH0sCi0gIDE2LCAweDk2YjAsIDAsIHsweDhkLDB4ZjYsMHgxMywweDJkLDB4YjAsMHg4ZiwweDAwLDB4MzYsMHg0MCwweDBmLDB4ZjAsMHgwMiwweGFkLDB4YTgsMHg4ZiwweDEwIH0sCi0gIDE2LCAweDk2YzAsIDAsIHsweDNmLDB4Y2EsMHgwYiwweDgwLDB4OTIsMHgyYywweDEwLDB4ZGIsMHg0MCwweDNmLDB4YzAsMHgwZSwweDAwLDB4MDMsMHgyZCwweDA0IH0sCi0gIDE2LCAweDk2ZDAsIDAsIHsweGM4LDB4MDIsMHgzZSwweDQwLDB4MGMsMHhiMCwweDAzLDB4MDAsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDk2ZTAsIDAsIHsweGEwLDB4MWQsMHhmYywweDAwLDB4ZmYsMHgwMCwweDNmLDB4YzgsMHgwZSwweGYxLDB4MDMsMHhlYywweDg0LDB4ZmYsMHgyMCwweDM3IH0sCi0gIDE2LCAweDk2ZjAsIDAsIHsweDAwLDB4MGQsMHhiMiwweDAzLDB4YmMsMHhhMCwweGZmLDB4MDAsMHgzZSwweGM5LDB4MGUsMHg4MCwweDAzLDB4ZmQsMHgxMSwweGZmIH0sCi0gIDE2LCAweDk3MDAsIDAsIHsweDAwLDB4M2IsMHhjMCwweDBlLDB4YzAsMHgwMywweGZjLDB4ODAsMHhlZCwweDAwLDB4M2IsMHhjMCwweDBmLDB4ZjAsMHg0MywweDY4IH0sCi0gIDE2LCAweDk3MTAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAxLDB4ZmMsMHg5MCwweGNjLDB4OTIsMHgzYiwweGM4IH0sCi0gIDE2LCAweDk3MjAsIDAsIHsweDBkLDB4ZjAsMHg4MywweDczLDB4MTAsMHhmZiwweDI4LDB4MzcsMHhjYSwweDRmLDB4YjIsMHgwMywweGZjLDB4MDAsMHhkZiwweDIwIH0sCi0gIDE2LCAweDk3MzAsIDAsIHsweGIzLDB4YzQsMHgwZCwweDY4LDB4NDMsMHhmZSwweDE0LDB4Y2IsMHg4NCwweDMzLDB4ZTAsMHgwZCwweDc4LDB4MDMsMHhiZSwweDAwIH0sCi0gIDE2LCAweDk3NDAsIDAsIHsweGZmLDB4ODAsMHgzNywweGEwLDB4MGMsMHhmMywweDAzLDB4MzAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDk3NTAsIDAsIHsweDgwLDB4MDAsMHhmYywweDQ4LDB4ODIsMHgyMSwweDAzLDB4ZjQsMHgwZiwweGY2LDB4NDIsMHgyMCwweDA0LDB4OGEsMHg2MCwweDJiIH0sCi0gIDE2LCAweDk3NjAsIDAsIHsweGRhLDB4MGIsMHhmOSwweDAyLDB4M2YsMHgwNCwweDhmLDB4NTIsMHgyMywweGQ1LDB4NGQsMHg4OCwweDAyLDB4YWUsMHgwMCwweGRiIH0sCi0gIDE2LCAweDk3NzAsIDAsIHsweDgwLDB4MzYsMHhjMCwweDA4LDB4ODAsMHgwMiwweDIwLDB4MDQsMHhiOCwweDAwLDB4MjIsMHg2MCwweDBkLDB4NzQsMHgwMywweGUwIH0sCi0gIDE2LCAweDk3ODAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4Y2MsMHhhMCwweDgwLDB4MDEsMHgwOCwweGMwIH0sCi0gIDE2LCAweDk3OTAsIDAsIHsweDRiLDB4MzAsMHg4MiwweDQyLDB4OTAsMHhhMywweDA4LDB4MmMsMHhjOCwweDFhLDB4MzAsMHgyMiwweDhkLDB4MDAsMHg5MywweDAwIH0sCi0gIDE2LCAweDk3YTAsIDAsIHsweDI0LDB4YzgsMHgwOSwweGEwLDB4MTIsMHgwYywweDA0LDB4YWIsMHgwMCwweDYyLDB4YzAsMHgwOSwweGIwLDB4MDIsMHhjYywweDAwIH0sCi0gIDE2LCAweDk3YjAsIDAsIHsweGIzLDB4MDAsMHgyOCwweDgwLDB4MDgsMHgzNiwweDA2LDB4YTIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDk3YzAsIDAsIHsweGMwLDB4MTUsMHhhYywweDAwLDB4ODgsMHgwOCwweDIyLDB4YzAsMHgwYSwweDMwLDB4MWEsMHgwMCwweDExLDB4ODIsMHgwMCwweDBhIH0sCi0gIDE2LCAweDk3ZDAsIDAsIHsweGMwLDB4MGIsMHhiMCwweDQyLDB4MmMsMHgwMCwweDhiLDB4MDAsMHgyNiwweGMwLDB4MDksMHg5MSwweDAyLDB4ZWMsMHgyMCwweGJiIH0sCi0gIDE2LCAweDk3ZTAsIDAsIHsweDI4LDB4NjYsMHhjMCwweDA4LDB4ODAsMHgwMiwweDYwLDB4MDAsMHhiOCwweDAwLDB4MmEsMHg0MCwweDgxLDB4YjAsMHgwNiwweGY4IH0sCi0gIDE2LCAweDk3ZjAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE1LDB4ZWMsMHgwMiwweGM4LDB4MDQsMHgzYSwweGMwIH0sCi0gIDE2LCAweDk4MDAsIDAsIHsweDg5LDB4YjAsMHgwMywweDY4LDB4MDAsMHhlOSwweGMxLDB4MWUsMHhjMSwweDBlLDB4MzAsMHgwMywweGVjLDB4MDAsMHhkYiwweDAwIH0sCi0gIDE2LCAweDk4MTAsIDAsIHsweDM2LDB4YzEsMHgwZCwweDAwLDB4MjMsMHgwZSwweDAwLDB4ZWIsMHg4MCwweDMyLDB4YzgsMHhjZCwweDMwLDB4MzIsMHhlYywweDA4IH0sCi0gIDE2LCAweDk4MjAsIDAsIHsweGYzLDB4MDAsMHgzYywweDgwLDB4MGMsMHhiMCwweDA2LDB4ODAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDk4MzAsIDAsIHsweGUwLDB4MDEsMHg5YywweDAwLDB4N2MsMHgwMCwweDNmLDB4YzAsMHgwYiwweGIwLDB4NDMsMHhmZCwweDAwLDB4YmUsMHhjNCwweDM3IH0sCi0gIDE2LCAweDk4NDAsIDAsIHsweGMwLDB4MWYsMHhmMCwweDAzLDB4NWMsMHgwMCwweGZmLDB4MDEsMHgzYiwweGMwLDB4MGUsMHhjOCwweDAzLDB4YmYsMHgyMCwweGRmIH0sCi0gIDE2LCAweDk4NTAsIDAsIHsweDAwLDB4M2YsMHhkMCwweDBmLDB4YzAsMHgxMywweGIwLDB4MDAsMHg3YywweDAwLDB4YjcsMHg0MCwweDBmLDB4ZjAsMHgxYiwweGIwIH0sCi0gIDE2LCAweDk4NjAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YWMsMHgwYywweGQ4LDB4NDEsMHgzMiwweGMwIH0sCi0gIDE2LCAweDk4NzAsIDAsIHsweDBlLDB4YjAsMHgwNywweGE4LDB4MDEsMHg2OSwweDQwLDB4YjIsMHhjMCwweDhkLDB4YjAsMHhhMywweGVjLDB4MDgsMHhmMywweDAwIH0sCi0gIDE2LCAweDk4ODAsIDAsIHsweDMyLDB4YzAsMHgwZiwweDgwLDB4MDMsMHhlZCwweDAwLDB4ZmIsMHg0OCwweDNhLDB4YzAsMHgwZCwweGIwLDB4ODMsMHgyYywweDAwIH0sCi0gIDE2LCAweDk4OTAsIDAsIHsweGZiLDB4MjAsMHgzZSwweDgwLDB4MGYsMHg3MCwweDIzLDB4ZDAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDk4YTAsIDAsIHsweGM4LDB4MDUsMHgzYywweDAwLDB4ODgsMHgwMCwweDIzLDB4YzAsMHgwOCwweGYwLDB4MDYsMHgyYywweDEwLDB4ODgsMHg1MSwweDM3IH0sCi0gIDE2LCAweDk4YjAsIDAsIHsweGMwLDB4MDgsMHhmMCwweDA3LDB4N2QsMHg2MCwweDhmLDB4MDIsMHgzNywweGMwLDB4MGIsMHg4YywweDAwLDB4MmQsMHgwMCwweGIzIH0sCi0gIDE2LCAweDk4YzAsIDAsIHsweDAwLDB4MzgsMHhjMCwweDA4LDB4ODAsMHg4MiwweDIwLDB4MDAsMHhiOCwweDAwLDB4MmUsMHg1MCwweDBiLDB4ZjAsMHgwMCwweDMyIH0sCi0gIDE2LCAweDk4ZDAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NGMsMHgwMCwweDk4LDB4MDAsMHgyOCwweGMwIH0sCi0gIDE2LCAweDk4ZTAsIDAsIHsweDBhLDB4MzAsMHgwMiwweDg0LDB4MDQsMHhhMywweDAwLDB4MDAsMHhjMCwweDY4LDB4MzksMHgwNiwweDBjLDB4MTAsMHg5MywweDIwIH0sCi0gIDE2LCAweDk4ZjAsIDAsIHsweDIyLDB4YzAsMHg5YiwweDAxLDB4YTAsMHg4ZiwweDE0LDB4MzMsMHgxNCwweDI4LDB4YzAsMHgwOSwweDNjLDB4MDIsMHgwYywweDAxIH0sCi0gIDE2LCAweDk5MDAsIDAsIHsweDkzLDB4NDAsMHgyYywweDg4LDB4MGIsMHgzMCwweDAyLDB4YjgsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDk5MTAsIDAsIHsweDYwLDB4MDEsMHgxZSwweDEwLDB4ODcsMHg4MCwweDI5LDB4ZTAsMHgwOCwweDc4LDB4MDIsMHgzZSwweDAwLDB4ODMsMHg5MCwweDI0IH0sCi0gIDE2LCAweDk5MjAsIDAsIHsweGUwLDB4MDgsMHg3OCwweDEwLDB4Y2UsMHgwNCwweDA3LDB4OTEsMHgyNSwweGUwLDB4ODMsMHhjOSwweDAyLDB4MWUsMHgwNCwweGI3IH0sCi0gIDE2LCAweDk5MzAsIDAsIHsweDg0LDB4MmIsMHhhNCwweDA4LDB4NDgsMHg0MiwweDEyLDB4Y2MsMHhiNCwweDgwLDB4MmQsMHg2NCwweDBiLDB4NzgsMHgwMiwweDE5IH0sCi0gIDE2LCAweDk5NDAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDAwLDB4MmMsMHgwMCwweGQwLDB4MTAsMHgyOCwweGM4IH0sCi0gIDE2LCAweDk5NTAsIDAsIHsweDBlLDB4M2IsMHgwMiwweDg0LDB4MDAsMHhlMywweDQwLDB4MzAsMHhjOCwweDBjLDB4MzgsMHg2MiwweDhjLDB4MDAsMHg1MywweDAwIH0sCi0gIDE2LCAweDk5NjAsIDAsIHsweDMwLDB4YzQsMHgxZiwweDAwLDB4MjMsMHg4YywweDNjLDB4ZjMsMHg4MCwweDE4LDB4YzAsMHgwZCwweDMwLDB4MDMsMHgwZSwweDgwIH0sCi0gIDE2LCAweDk5NzAsIDAsIHsweGQzLDB4MTAsMHgzYywweDgwLDB4MGYsMHgzMCwweDAzLDB4OTIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDk5ODAsIDAsIHsweDQwLDB4MWQsMHhiZCwweDAwLDB4ZjksMHgxMiwweGI0LDB4YzAsMHgwNywweGIwLDB4MDMsMHhjYywweDAwLDB4NGEsMHgwMCwweDc3IH0sCi0gIDE2LCAweDk5OTAsIDAsIHsweGMwLDB4MGUsMHg3MSwweDQzLDB4NmMsMHgwMCwweGYzLDB4MDAsMHgzZiwweGQwLDB4MWYsMHhkMCwweDUzLDB4YWMsMHg2OCwweGZiIH0sCi0gIDE2LCAweDk5YTAsIDAsIHsweDE4LDB4M2QsMHhjMCwweDBmLDB4YzAsMHgxMywweGYwLDB4NTAsMHhmYywweDA0LDB4M2YsMHg0MCwweDBmLDB4ZjQsMHgwMywweDkwIH0sCi0gIDE2LCAweDk5YjAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZWQsMHg0MCwweGY4LDB4MDQsMHgzZSwweGQyIH0sCi0gIDE2LCAweDk5YzAsIDAsIHsweDBmLDB4YjMsMHgxMywweGUwLDB4MTAsMHhmOSwweDAwLDB4YjIsMHhjYywweDBlLDB4YmEsMHgwMywweDZkLDB4ODAsMHhkYiwweDAyIH0sCi0gIDE2LCAweDk5ZDAsIDAsIHsweDMyLDB4ZGMsMHg0ZiwweDAwLDB4MDMsMHg2YywweDA0LDB4ZjMsMHgwMiwweDM2LDB4NDAsMHgwZSwweGIwLDB4MDMsMHhjYywweDAwIH0sCi0gIDE2LCAweDk5ZTAsIDAsIHsweDRiLDB4MDAsMHgzYywweDgwLDB4MGMsMHhmMSwweDAzLDB4NjIsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDk5ZjAsIDAsIHsweDQ4LDB4MTEsMHg5YywweDAwLDB4YjQsMHgwMCwweDJkLDB4YzksMHgwYiwweDcwLDB4ODIsMHhkYywweDAwLDB4YmMsMHgwNCwweDIxIH0sCi0gIDE2LCAweDlhMDAsIDAsIHsweGM0LDB4NGIsMHgzNywweDAyLDB4MGMsMHhhMCwweDhmLDB4NzQsMHgyMSwweGMwLDB4MGIsMHg0MCwweDAyLDB4MWMsMHg4MSwweGI3IH0sCi0gIDE2LCAweDlhMTAsIDAsIHsweDIwLDB4MmIsMHhjMCwweDA4LDB4NDAsMHgwMiwweGQwLDB4MDIsMHg4NCwweDAwLDB4MmQsMHg0MCwweDBhLDB4ZjIsMHgwMiwweDEyIH0sCi0gIDE2LCAweDlhMjAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4OWUsMHg4MCwweGI0LDB4YzAsMHgyZCwweGU0IH0sCi0gIDE2LCAweDlhMzAsIDAsIHsweDBiLDB4N2EsMHgwMiwweGQyLDB4MDAsMHhiNSwweDg4LDB4MjEsMHhlOCwweDBhLDB4NzgsMHgwMiwweGRlLDB4NDAsMHg5NywweDAwIH0sCi0gIDE2LCAweDlhNDAsIDAsIHsweDIxLDB4ZTgsMHgwYiwweGNjLDB4NDYsMHg1ZSwweDI4LDB4YjcsMHhjNCwweDIxLDB4ZjAsMHgwYSwweDc4LDB4MDIsMHhmZSwweDA4IH0sCi0gIDE2LCAweDlhNTAsIDAsIHsweDk3LDB4ODQsMHgyZCwweGEwLDB4MDgsMHg3OCwweDAyLDB4NzAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDlhNjAsIDAsIHsweDA4LDB4MTQsMHhjYywweDAwLDB4YjAsMHhjMCwweDJjLDB4YzAsMHg5YiwweGIwLDB4MDIsMHhjYywweDIwLDB4YjMsMHg2MCwweDIyIH0sCi0gIDE2LCAweDlhNzAsIDAsIHsweGMwLDB4MGIsMHgzMCwweDAyLDB4OGMsMHgwMCwweDgzLDB4MDEsMHgyMCwweGMwLDB4MWIsMHgwNiwweDE2LDB4NGYsMHgwMCwweGIzIH0sCi0gIDE2LCAweDlhODAsIDAsIHsweGEwLDB4MmEsMHhmMCwweDA4LDB4MDAsMHgwMiwweGUwLDB4MDAsMHg5MCwweDAwLDB4MmMsMHg0MCwweDBhLDB4MzAsMHgwMiwweDAyIH0sCi0gIDE2LCAweDlhOTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YTgsMHgxMCwweGZlLDB4YzAsMHgzZSwweDgwIH0sCi0gIDE2LCAweDlhYTAsIDAsIHsweDBmLDB4YTAsMHgwMywweGY5LDB4MDgsMHhmZSwweDQwLDB4MjIsMHg4MCwweDBlLDB4YTAsMHgwMywweGU4LDB4MDAsMHhkMiwweDAwIH0sCi0gIDE2LCAweDlhYjAsIDAsIHsweDMyLDB4ODAsMHg4ZiwweGUwLDB4MDMsMHg1OCwweDAwLDB4ZjYsMHgwMCwweDMzLDB4YjAsMHgwZSwweDIwLDB4MDIsMHhlOCwweDBjIH0sCi0gIDE2LCAweDlhYzAsIDAsIHsweGQyLDB4MDIsMHgzYywweDgwLDB4MGMsMHhhMCwweDAzLDB4N2EsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDlhZDAsIDAsIHsweDQ4LDB4MDAsMHhlMCwweDAwLDB4ZjgsMHgyMCwweDNlLDB4MDEsMHgwYiwweDgwLDB4MDMsMHhlMCwweDAwLDB4ZjAsMHg0MCwweDNlIH0sCi0gIDE2LCAweDlhZTAsIDAsIHsweDAwLDB4NTcsMHg4MCwweDIzLDB4MDAsMHgwMCwweGY4LDB4MDAsMHgzZSwweDAwLDB4MGYsMHg4NCwweDAzLDB4YTAsMHgzMCwweDM4IH0sCi0gIDE2LCAweDlhZjAsIDAsIHsweDAwLDB4M2EsMHgwOCwweDBmLDB4YzQsMHgwMywweGYwLDB4MDAsMHhlYywweDAwLDB4M2YsMHgxMCwweDBmLDB4ODAsMHgwMywweGQyIH0sCi0gIDE2LCAweDliMDAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTQsMHgwMCwweGQ5LDB4MDEsMHgzYywweDQ4IH0sCi0gIDE2LCAweDliMTAsIDAsIHsweDRjLDB4OTAsMHgwYiwweDI0LDB4MDEsMHhjOSwweGMwLDB4MzIsMHg0MCwweGFjLDB4OTAsMHgwMywweGU0LDB4MDAsMHhkOSwweDQwIH0sCi0gIDE2LCAweDliMjAsIDAsIHsweDMwLDB4NDAsMHgwZCwweDlhLDB4MDMsMHgyMiwweDg0LDB4YzgsMHgxNCwweDMyLDB4NDAsMHgwZSwweDkwLDB4MDMsMHgyNCwweDAwIH0sCi0gIDE2LCAweDliMzAsIDAsIHsweGM5LDB4MDAsMHg4MiwweDY4LDB4MmMsMHg5MCwweDAzLDB4MDIsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDliNDAsIDAsIHsweDgwLDB4MDQsMHg2NCwweDAwLDB4ODksMHgwMCwweDJlLDB4NDAsMHgwOCwweDkwLDB4MjIsMHgyNCwweDAwLDB4ODksMHgwMiwweDgyIH0sCi0gIDE2LCAweDliNTAsIDAsIHsweDQwLDB4MDgsMHg5MCwweDAyLDB4ZTcsMHg0MCwweDg5LDB4ODAsMHgzNiwweDQxLDB4OGQsMHgxOCwweDAyLDB4YTAsMHgyNCwweGE4IH0sCi0gIDE2LCAweDliNjAsIDAsIHsweDA0LDB4NjIsMHg0MCwweDA4LDB4OTQsMHg4MywweDI0LDB4MDAsMHg4OSwweDAxLDB4MjIsMHg3MiwweDA4LDB4OTAsMHgwYiwweDIwIH0sCi0gIDE2LCAweDliNzAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4MDQsMHgwMCwweDk5LDB4MDAsMHgyYSwweDQwIH0sCi0gIDE2LCAweDliODAsIDAsIHsweDI4LDB4OTAsMHgxMiwweDA0LDB4MDAsMHg4OSwweDAwLDB4MjIsMHg0MCwweDA4LDB4OTAsMHgwMiwweGE0LDB4MjAsMHg5OSwweDAwIH0sCi0gIDE2LCAweDliOTAsIDAsIHsweDIyLDB4NDAsMHgxOCwweDkwLDB4MDYsMHgyMCwweDAxLDB4ODgsMHgwOCwweDYyLDB4NDAsMHgwYSwweDkwLDB4MDIsMHgzNCwweDEwIH0sCi0gIDE2LCAweDliYTAsIDAsIHsweDhkLDB4ODEsMHgyMywweDQxLDB4MDgsMHgxMCwweDAyLDB4MDYsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDliYjAsIDAsIHsweDA4LDB4MDQsMHgwNCwweDgwLDB4ODEsMHgwNCwweDJjLDB4NDgsMHgwOCwweDEyLDB4MDIsMHgwNCwweDAyLDB4ODMsMHgyMCwweDIwIH0sCi0gIDE2LCAweDliYzAsIDAsIHsweDQ4LDB4MDgsMHgxMiwweDAyLDB4YzQsMHg4MCwweDgzLDB4NjAsMHgyNCwweDQ4LDB4MTksMHgzNCwweDYyLDB4YTUsMHgwNCwweGExIH0sCi0gIDE2LCAweDliZDAsIDAsIHsweDAyLDB4NjAsMHg0MCwweDA4LDB4ZDAsMHgwMiwweDU0LDB4MDAsMHg4ZCwweDAwLDB4MjksMHg0MCwweDA4LDB4MTIsMHg4MiwweDAyIH0sCi0gIDE2LCAweDliZTAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjEsMHg0MCwweGQ4LDB4NTAsMHgzYSwweDgwIH0sCi0gIDE2LCAweDliZjAsIDAsIHsweDBjLDB4ODUsMHgwMiwweDIxLDB4NDQsMHg4OCwweDUwLDB4MzIsMHgxNCwweDRjLDB4ODAsMHg0MywweGUwLDB4MDAsMHhkOCwweDAwIH0sCi0gIDE2LCAweDljMDAsIDAsIHsweDIyLDB4MTQsMHgwYywweDgwLDB4MDMsMHgyMCwweDAwLDB4YzgsMHgwMCwweGEyLDB4MDAsMHgwZSwweDgwLDB4MDMsMHgyMCwweDAwIH0sCi0gIDE2LCAweDljMTAsIDAsIHsweGM4LDB4MDAsMHgzMywweDAwLDB4MGMsMHg4MiwweDAzLDB4MmUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDljMjAsIDAsIHsweDk4LDB4MWQsMHhlNCwweDQ0LDB4ZmQsMHgwMCwweDNlLDB4NDQsMHgwZiwweDkxLDB4MDMsMHhmNCwweDEwLDB4ZmYsMHgxMCwweDNlIH0sCi0gIDE2LCAweDljMzAsIDAsIHsweDQ0LDB4MGYsMHg5MSwweDAzLDB4ZTQsMHg0MCwweGY5LDB4MTAsMHgzZSwweDQ0LDB4MGIsMHhmMCwweDEzLDB4ZTUsMHgxMCwweGY5IH0sCi0gIDE2LCAweDljNDAsIDAsIHsweDQwLDB4M2YsMHg0YSwweDJmLDB4OTIsMHg4YSwweGE0LDB4YTIsMHhmOSwweDI4LDB4MzYsMHg0MCwweDBmLDB4OTIsMHg4MywweGE2IH0sCi0gIDE2LCAweDljNTAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDExLDB4ZTYsMHhjMCwweGMxLDB4MDAsMHgzZiwweDY5IH0sCi0gIDE2LCAweDljNjAsIDAsIHsweDBjLDB4OWEsMHg0MywweDZjLDB4MDAsMHhmZCwweGEwLDB4M2UsMHg3OCwweDJjLDB4ZDgsMHgwNywweGQ2LDB4MDIsMHhkNSwweDk2IH0sCi0gIDE2LCAweDljNzAsIDAsIHsweDMyLDB4NzgsMHgwZCwweDkwLDB4MDMsMHgyNywweDAwLDB4ZmQsMHhhMCwweDM1LDB4NTAsMHgwNiwweGQ0LDB4MDMsMHhlNSwweDAwIH0sCi0gIDE2LCAweDljODAsIDAsIHsweGZkLDB4NDAsMHhiMywweDQwLDB4MGYsMHg5OCwweGEzLDB4NDYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDljOTAsIDAsIHsweDM4LDB4MTAsMHhlMywweGMyLDB4ODgsMHg4OCwweDJlLDB4MTQsMHhhOCwweDhhLDB4YzIsMHgyMiwweGEwLDB4YjgsMHhjMCwweDJjIH0sCi0gIDE2LCAweDljYTAsIDAsIHsweDI0LDB4NDgsMHg4NCwweDAyLDB4ZTEsMHgwMCwweDk4LDB4YzQsMHgyMCwweDNjLDB4MDgsMHg4YSwweDgyLDB4MjMsMHg4MCwweGI4IH0sCi0gIDE2LCAweDljYjAsIDAsIHsweDA0LDB4MjIsMHgyMCwweDA4LDB4ODgsMHgwMywweGEyLDB4MDAsMHhiOCwweGEwLDB4MjIsMHgwMCwweDBiLDB4ODgsMHgwMiwweDBlIH0sCi0gIDE2LCAweDljYzAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4YzQsMHg4MCwweGExLDB4MjAsMHg2YywweDQwIH0sCi0gIDE2LCAweDljZDAsIDAsIHsweDBhLDB4MTQsMHgwMiwweDQ0LDB4MDQsMHhhMSwweDY4LDB4MmMsMHg0OCwweDA4LDB4MTQsMHgwMiwweGM1LDB4MDAsMHg4MSwweDYwIH0sCi0gIDE2LCAweDljZTAsIDAsIHsweDIwLDB4NDgsMHgxOSwweDkwLDB4MDIsMHg4NSwweDgxLDB4YjEsMHg0MCwweDI0LDB4NjgsMHgwYSwweDEyLDB4NDIsMHhjNCwweDgwIH0sCi0gIDE2LCAweDljZjAsIDAsIHsweGI5LDB4MjAsMHgyMCwweDQwLDB4OGIsMHgxMCwweDgyLDB4NDIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDlkMDAsIDAsIHsweDE4LDB4MDUsMHhhNCwweDEwLDB4YTksMHgwMCwweDZlLDB4YzAsMHgwYSwweDEwLDB4MDIsMHgyNCwweDE0LDB4YjksMHgwMCwweDJlIH0sCi0gIDE2LCAweDlkMTAsIDAsIHsweDQwLDB4MDgsMHg5MCwweDEyLDB4ZTQsMHgwMCwweDk5LDB4MDAsMHgyMiwweDQwLDB4MDgsMHg4MCwweDA2LDB4YTAsMHg2MCwweGI5IH0sCi0gIDE2LCAweDlkMjAsIDAsIHsweDA5LDB4MjIsMHg2MCwweDA4LDB4OTAsMHgwMiwweGE0LDB4MDAsMHhiOSwweDAwLDB4MDIsMHg0MCwweDBiLDB4MTAsMHgwNiwweDA2IH0sCi0gIDE2LCAweDlkMzAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDA1LDB4ZTQsMHgwMCwweGU5LDB4ODAsMHgzZSwweDQxIH0sCi0gIDE2LCAweDlkNDAsIDAsIHsweDBlLDB4OTAsMHgwMywweDY0LDB4MDAsMHhlOSwweGMwLDB4M2UsMHg0MCwweDBjLDB4OTAsMHgwMiwweGU0LDB4MDAsMHhjOSwweDAwIH0sCi0gIDE2LCAweDlkNTAsIDAsIHsweDIyLDB4NDEsMHgwZCwweDgwLDB4MDIsMHhhMywweDA0LDB4ZjEsMHg0MCwweDM2LDB4NDAsMHgwZSwweDkwLDB4MDIsMHhlNCwweDAwIH0sCi0gIDE2LCAweDlkNjAsIDAsIHsweGYxLDB4MDAsMHgxMiwweDQwLDB4MGYsMHg5MCwweDAzLDB4NjgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDlkNzAsIDAsIHsweDI4LDB4MDEsMHhhNCwweDAwLDB4ZDksMHgyMiwweDNlLDB4NDIsMHgwZCwweDkwLDB4MDMsMHhlNCwweDAwLDB4YjksMHhjNCwweDNjIH0sCi0gIDE2LCAweDlkODAsIDAsIHsweDQwLDB4MGYsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGU5LDB4MDIsMHhhZSwweDQwLDB4MGYsMHg4MCwweDRiLDB4NjIsMHgxMCwweGY5IH0sCi0gIDE2LCAweDlkOTAsIDAsIHsweDIwLDB4M2UsMHg0MCwweDBmLDB4OTAsMHgwMywweGU0LDB4MDAsMHhmOSwweDAyLDB4N2UsMHg0MSwweDBmLDB4OTAsMHgxMywweGNhIH0sCi0gIDE2LCAweDlkYTAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDAwLDB4ODAsMHgwMCwweGM4LDB4MDAsMHgzOCwweDAwIH0sCi0gIDE2LCAweDlkYjAsIDAsIHsweDBmLDB4ODAsMHgyMCwweGUwLDB4MDAsMHhhOCwweDIwLDB4MzIsMHgwMCwweDBjLDB4ODAsMHgwNywweGUwLDB4ODAsMHhjOCwweDAwIH0sCi0gIDE2LCAweDlkYzAsIDAsIHsweDM4LDB4MDAsMHgwZCwweDgwLDB4ODMsMHgyMSwweDEwLDB4ZjgsMHg2MCwweDMyLDB4MDAsMHg4ZSwweDgwLDB4YjMsMHgyMCwweDA4IH0sCi0gIDE2LCAweDlkZDAsIDAsIHsweGY4LDB4MDAsMHgzZSwweDAwLDB4MGMsMHg4MCwweDAzLDB4Y2EsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDlkZTAsIDAsIHsweDI4LDB4MDUsMHgyOCwweDA0LDB4OGEsMHgwMCwweDMzLDB4OTAsMHg0MywweGEwLDB4MjIsMHgyOCwweDAwLDB4OGUsMHg4MCwweDc2IH0sCi0gIDE2LCAweDlkZjAsIDAsIHsweDgwLDB4MDgsMHhlMSwweDAzLDB4MTksMHgwMCwweDg2LDB4ODAsMHgyMiwweDgwLDB4MGQsMHg2MCwweDAxLDB4NzgsMHgwMCwweGJlIH0sCi0gIDE2LCAweDllMDAsIDAsIHsweDAwLDB4MzYsMHg4MCwweDBjLDB4ZTQsMHgwMiwweGE4LDB4MTAsMHhiZSwweGEwLDB4MmYsMHg4MCwweDBkLDB4YTAsMHgwMiwweDBhIH0sCi0gIDE2LCAweDllMTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDExLDB4NGMsMHgwNCwweDAzLDB4MDQsMHgyYywweGQ0IH0sCi0gIDE2LCAweDllMjAsIDAsIHsweDBiLDB4MzAsMHgwMiwweDRjLDB4MDEsMHhhMywweGM0LDB4MjAsMHhjMCwweDI4LDB4MzUsMHgwMiwweDg2LDB4MDAsMHg4MywweDgwIH0sCi0gIDE2LCAweDllMzAsIDAsIHsweDI4LDB4YzAsMHgwOCwweDM4LDB4MDYsMHgwZSwweDk0LDB4MzAsMHhjMCwweGEyLDB4YzAsMHgwYiwweDNjLDB4MDIsMHgwYywweDAwIH0sCi0gIDE2LCAweDllNDAsIDAsIHsweGIzLDB4ODAsMHgyYywweDQ4LDB4MDgsMHgzMCwweDAyLDB4OGEsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDllNTAsIDAsIHsweGEwLDB4MDEsMHgwYywweDA0LDB4OGYsMHg4MCwweDIxLDB4YzEsMHgxYiwweDcyLDB4NDIsMHgxZSwweGMwLDB4ODMsMHg4OCwweDIxIH0sCi0gIDE2LCAweDllNjAsIDAsIHsweGMwLDB4MTgsMHgyOCwweDA2LDB4MTAsMHgyMSwweDg2LDB4MzgsMHgyMSwweGMwLDB4MTksMHhmNywweDAyLDB4NWQsMHhjMCwweGI0IH0sCi0gIDE2LCAweDllNzAsIDAsIHsweDQxLDB4MjcsMHhkMCwweDA4LDB4NzgsMHhjNiwweDljLDB4MDAsMHhiNywweDAwLDB4MmYsMHg2MCwweDA5LDB4NzIsMHgwMiwweDI4IH0sCi0gIDE2LCAweDllODAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MWUsMHgwMiwweGM3LDB4ODAsMHgyZCwweGEwIH0sCi0gIDE2LCAweDllOTAsIDAsIHsweDBmLDB4M2UsMHgwMywweGZlLDB4ODAsMHhhNywweDgwLDB4YTEsMHhlMCwweDBjLDB4NzgsMHgwMiwweDk0LDB4MDAsMHg4NSwweGEwIH0sCi0gIDE2LCAweDllYTAsIDAsIHsweDM5LDB4ZTQsMHgwYywweDc4LDB4MTMsMHgxZSwweDkwLDB4YjUsMHg4NCwweDMxLDB4ZTAsMHgwZiwweGY4LDB4ODcsMHgxZSwweDA0IH0sCi0gIDE2LCAweDllYjAsIDAsIHsweGY3LDB4ODAsMHgzZCwweDYwLDB4MGMsMHgzYiwweDAzLDB4YWEsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDllYzAsIDAsIHsweDA4LDB4MWQsMHhhZCwweGU0LDB4ZmIsMHg1NCwweDNlLDB4ODAsMHgwZiwweGI0LDB4MjMsMHhlYywweDMyLDB4ZmIsMHgwMCwweDNlIH0sCi0gIDE2LCAweDllZDAsIDAsIHsweGQ4LDB4NGYsMHhhMCwweDAzLDB4ZTQsMHgwMCwweGY5LDB4MDAsMHgzZSwweGMwLDB4MGYsMHgzMCwweDMzLDB4ZWMsMHgwNCwweGYyIH0sCi0gIDE2LCAweDllZTAsIDAsIHsweDAxLDB4M2UsMHhjMCwweDBmLDB4YjIsMHgwMywweGZlLDB4MTAsMHhmYiwweDY4LDB4M2MsMHg0MSwweDBmLDB4ZjAsMHg0MywweDgyIH0sCi0gIDE2LCAweDllZjAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDA1LDB4ZmUsMHgwMCwweGNmLDB4ZTQsMHgzZiwweGU0IH0sCi0gIDE2LCAweDlmMDAsIDAsIHsweDBjLDB4ZmMsMHgwMywweDdlLDB4ODAsMHhjZiwweDgxLDB4MzMsMHhmYSwweDBmLDB4ZjgsMHgwMywweGY2LDB4MDAsMHhmZiwweDgwIH0sCi0gIDE2LCAweDlmMTAsIDAsIHsweDNmLDB4ZTIsMHgwZiwweDc5LDB4MDMsMHgzZSwweDQwLDB4ZjQsMHg4MCwweDMzLDB4NjAsMHgwYywweGU4LDB4MDMsMHgzZSwweDAwIH0sCi0gIDE2LCAweDlmMjAsIDAsIHsweGZmLDB4ODAsMHgzMywweDYwLDB4MGMsMHhmOCwweDgzLDB4NTAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDlmMzAsIDAsIHsweGE4LDB4MTEsMHg5YywweDAwLDB4ZDcsMHhhMCwweDJkLDB4YzQsMHgwOCwweGJhLDB4MDIsMHgzYywweGEwLDB4ODcsMHgyMCwweDIxIH0sCi0gIDE2LCAweDlmNDAsIDAsIHsweGMwLDB4MGYsMHg1MiwweDAzLDB4ZDQsMHgwMCwweGI2LDB4MTAsMHgyZCwweGMwLDB4OGIsMHg3MywweDAzLDB4NWMsMHg0MCwweGI0IH0sCi0gIDE2LCAweDlmNTAsIDAsIHsweGIwLDB4MmIsMHg0OCwweDI4LDB4NDEsMHgwMiwweDBjLDB4MDAsMHhiZiwweDE4LDB4MzUsMHg0NiwweDI4LDB4NzIsMHg0MiwweDJhIH0sCi0gIDE2LCAweDlmNjAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDAwLDB4OWMsMHgwMCwweDg3LDB4NDEsMHgyZCwweDQ0IH0sCi0gIDE2LCAweDlmNzAsIDAsIHsweDBhLDB4NzMsMHgwMiwweDljLDB4YzQsMHg4MSwweDAwLDB4NmQsMHhjOCwweDhiLDB4NzAsMHgwMiwweGQ0LDB4MDAsMHhiNywweDAwIH0sCi0gIDE2LCAweDlmODAsIDAsIHsweDJkLDB4YzAsMHgwYiwweGYwLDB4NDYsMHg5YywweDU1LDB4YjQsMHgyMCwweDI1LDB4NDAsMHgxOCwweDYwLDB4ODIsMHgxYywweDAwIH0sCi0gIDE2LCAweDlmOTAsIDAsIHsweGI3LDB4MDAsMHgyMywweDQwLDB4MDgsMHg3MCwweDQ2LDB4NDQsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDlmYTAsIDAsIHsweDYwLDB4MTQsMHhjYywweDAwLDB4OTMsMHgwMCwweDJjLDB4NDAsMHgwYiwweGIwLDB4MDIsMHgwYywweDgyLDB4ODAsMHhjMCwweDIwIH0sCi0gIDE2LCAweDlmYjAsIDAsIHsweGMwLDB4MGEsMHgxMCwweDAyLDB4MDQsMHgwMCwweGIzLDB4MDAsMHgyYywweGMwLDB4MWIsMHgzMCwweDAwLDB4Y2QsMHgwMSwweGIwIH0sCi0gIDE2LCAweDlmYzAsIDAsIHsweDQwLDB4YWMsMHg3OCwweDg4LDB4OGMsMHgwNiwweDBkLDB4NjAsMHhiMywweDRjLDB4MjQsMHgxMiwweDA4LDB4MzAsMHgwYSwweDE4IH0sCi0gIDE2LCAweDlmZDAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDE1LDB4YmMsMHgwMCwweGM3LDB4MDAsMHgyZSwweDQwIH0sCi0gIDE2LCAweDlmZTAsIDAsIHsweDBlLDB4ZjAsMHgyYSwweGJmLDB4MDAsMHhjOCwweGM4LDB4YmYsMHhjMCwweDBiLDB4OTAsMHgwMiwweGU0LDB4MDQsMHhiZiwweDAwIH0sCi0gIDE2LCAweDlmZjAsIDAsIHsweDNmLDB4YzAsMHgwZiwweGIyLDB4MGEsMHhhYywweDAwLDB4ZjgsMHg4MCwweDM0LDB4NDksMHgwYywweGI5LDB4MGIsMHgzZiwweDAwIH0sCi0gIDE2LCAweGEwMDAsIDAsIHsweGZiLDB4YzAsMHgzMCwweGYwLDB4MGMsMHhmMCwweDAzLDB4NmUsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGEwMTAsIDAsIHsweDgwLDB4MDAsMHhjYywweDAwLDB4ZmIsMHg4MCwweDNlLDB4NDEsMHgyYywweGIwLDB4MTMsMHhhYywweDAwLDB4ZjgsMHgwMCwweDNlIH0sCi0gIDE2LCAweGEwMjAsIDAsIHsweGMxLDB4MGYsMHhhMCwweDAzLDB4ZTgsMHgwMCwweGZhLDB4NDAsMHgzZSwweGMwLDB4MGYsMHhiMCwweDBiLDB4NmQsMHg0MCwweGY4IH0sCi0gIDE2LCAweGEwMzAsIDAsIHsweDEwLDB4M2EsMHg0MCwweDBmLDB4YjAsMHgwMywweGVjLDB4MTAsMHhmZSwweDQwLDB4M2UsMHhjMCwweDBmLDB4ZjAsMHgwMywweGUxIH0sCi0gIDE2LCAweGEwNDAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDEwLDB4ZWMsMHgwYywweGRmLDB4MDAsMHgzYiwweDgwIH0sCi0gIDE2LCAweGEwNTAsIDAsIHsweDBmLDB4ZjAsMHgwYiwweDNjLDB4MDgsMHhlNywweDA4LDB4MzMsMHhjMCwweDBiLDB4ZDAsMHgyMywweDc0LDB4MDAsMHg1NCwweDAwIH0sCi0gIDE2LCAweGEwNjAsIDAsIHsweDMzLDB4YzAsMHgwZiwweGYwLDB4ODMsMHhiZSwweDIwLDB4ZmQsMHgwYywweDNiLDB4NjAsMHgyYywweGUwLDB4MDMsMHgzYywweDAwIH0sCi0gIDE2LCAweGEwNzAsIDAsIHsweGNmLDB4MTIsMHgzMywweDUwLDB4MGMsMHgzMCwweDAzLDB4ODAsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGEwODAsIDAsIHsweDgxLDB4MDQsMHg2YywweDA0LDB4YWIsMHgwMCwweDIyLDB4YTAsMHgwYiwweGIwLDB4MDYsMHgwYywweDAwLDB4YWIsMHg0MCwweDM2IH0sCi0gIDE2LCAweGEwOTAsIDAsIHsweGMwLDB4MGIsMHhhOCwweDAyLDB4NjYsMHgwMCwweGI4LDB4MDAsMHgzNiwweGMxLDB4MGIsMHgzNCwweDQzLDB4ZWUsMHgwMCwweGIyIH0sCi0gIDE2LCAweGEwYTAsIDAsIHsweDAwLDB4MjIsMHg2MCwweDA4LDB4YjQsMHg4MiwweDhjLDB4MDQsMHg4YSwweDIxLDB4MjIsMHg0MCwweDA4LDB4YjAsMHgwMiwweDIwIH0sCi0gIDE2LCAweGEwYjAsIDAsIHsweDQwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MmMsMHgwMCwweDliLDB4MDAsMHgyYSwweDIwIH0sCi0gIDE2LCAweGEwYzAsIDAsIHsweDBiLDB4YjAsMHgwMiwweDJjLDB4MDAsMHg4OCwweGM1LDB4MjIsMHhjMCwweDBiLDB4ODgsMHg4MiwweGU2LDB4MDEsMHhiYiwweDA4IH0sCi0gIDE2LCAweGEwZDAsIDAsIHsweDIyLDB4YzAsMHgwYSwweGIyLDB4ODIsMHhhYywweDYwLDB4YjgsMHgwMiwweDRhLDB4YzQsMHgwOCwweGIxLDB4MDIsMHgyYywweDAwIH0sCi0gIDE2LCAweGEwZTAsIDAsIHsweDgzLDB4MDAsMHgyMiwweGMwLDB4MDgsMHhiMCwweDAyLDB4YTAsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGEwZjAsIDAsIHsweDA4LDB4MDQsMHgwYywweDAwLDB4YWIsMHgyMCwweDIwLDB4MDEsMHgwYiwweDMyLDB4MDYsMHgyYywweDAwLDB4YTAsMHgwMCwweDIwIH0sCi0gIDE2LCAweGExMDAsIDAsIHsweGMwLDB4MDksMHgwNCwweDIyLDB4YzQsMHgwMCwweGIyLDB4MDAsMHgyNCwweGMxLDB4OGIsMHhiMCwweDAyLDB4NGMsMHgwMCwweGIwIH0sCi0gIDE2LCAweGExMTAsIDAsIHsweDAwLDB4NjIsMHhjMCwweDQ4LDB4MzAsMHgwMiwweGFjLDB4MTAsMHg4MiwweDAwLDB4MjAsMHhjMCwweDA4LDB4MzAsMHgwMiwweDAyIH0sCi0gIDE2LCAweGExMjAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4N2MsMHgwOCwweGRmLDB4MmEsMHgzYSwweDAwIH0sCi0gIDE2LCAweGExMzAsIDAsIHsweDBmLDB4ZjUsMHgxMiwweDNjLDB4MTAsMHhjOSwweDAwLDB4YTMsMHhjMCwweDBmLDB4ODAsMHg1MywweGVjLDB4MDEsMHhkYSwweDAwIH0sCi0gIDE2LCAweGExNDAsIDAsIHsweDMzLDB4YzAsMHgwZSwweGIwLDB4MDMsMHhhYywweDA0LDB4ZjgsMHg3MCwweDNhLDB4YzAsMHgwYywweDYwLDB4NDMsMHgyYywweDQyIH0sCi0gIDE2LCAweGExNTAsIDAsIHsweGNkLDB4MDAsMHhiMiwweDQwLDB4MmMsMHhmMCwweDAzLDB4ODAsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGExNjAsIDAsIHsweGEwLDB4MTksMHhmYywweDAwLDB4ZmIsMHgwMSwweDNkLDB4MDAsMHgwZiwweGI0LDB4MTcsMHhmYywweDAwLDB4M2MsMHgwMCwweDNmIH0sCi0gIDE2LCAweGExNzAsIDAsIHsweGMwLDB4NGYsMHhjMCwweDAzLDB4NzQsMHgwOCwweGZlLDB4MDAsMHgzZiwweGMwLDB4NGYsMHhmMCwweDAzLDB4ZmMsMHgwOCwweGY4IH0sCi0gIDE2LCAweGExODAsIDAsIHsweDMwLDB4M2YsMHhjMCwweDBmLDB4ZjAsMHgwMywweGZjLDB4MDQsMHhmYywweDAwLDB4M2QsMHgwMCwweDBmLDB4ZjAsMHgwMywweGU4IH0sCi0gIDE2LCAweGExOTAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZjQsMHg5MCwweGVmLDB4MDAsMHgzZiwweGQ4IH0sCi0gIDE2LCAweGExYTAsIDAsIHsweDBlLDB4ZjMsMHgwMywweDJjLDB4MDEsMHhkNCwweDgwLDB4MzcsMHhjYywweDBkLDB4ODksMHg0MywweDEyLDB4NTAsMHhlYywweDJjIH0sCi0gIDE2LCAweGExYjAsIDAsIHsweDMyLDB4MDUsMHgwZCwweGIwLDB4NTMsMHgzYywweGQ0LDB4YzUsMHg5NCwweDdmLDB4YTAsMHg4ZiwweGYwLDB4NDMsMHgzMCwweDAwIH0sCi0gIDE2LCAweGExYzAsIDAsIHsweGRjLDB4MDAsMHgzMywweDAwLDB4MGMsMHg0OCwweDA3LDB4ZjAsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGExZDAsIDAsIHsweDgwLDB4MTAsMHhlNiwweDQwLDB4OGIsMHg3MCwweDJmLDB4ZGMsMHgwOCwweGY3LDB4MDIsMHgwYywweDgwLDB4OGEsMHgyMCwweDAwIH0sCi0gIDE2LCAweGExZTAsIDAsIHsweGM4LDB4NGEsMHgyMiwweDAyLDB4YTAsMHgwMCwweDhhLDB4NDgsMHgyMiwweDU4LDB4ODgsMHhmZCwweDAyLDB4YWQsMHgwMiwweGE5IH0sCi0gIDE2LCAweGExZjAsIDAsIHsweDIwLDB4MWUsMHhhMCwweDAzLDB4ODAsMHgwMiwweDJjLDB4MDQsMHg4YiwweDAwLDB4MjIsMHhjMCwweDRjLDB4ODgsMHgwNywweDYwIH0sCi0gIDE2LCAweGEyMDAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4YzAsMHgwMCwweDIzLDB4MmMsMHgyYywweGM5IH0sCi0gIDE2LCAweGEyMTAsIDAsIHsweDAyLDB4MzAsMHgwMiwweDBjLDB4NjgsMHhhMCwweDI4LDB4MmMsMHhkMCwweDA5LDB4MTIsMHgwMiwweDg0LDB4MDAsMHhhMCwweDIxIH0sCi0gIDE2LCAweGEyMjAsIDAsIHsweDIwLDB4MTgsMHgxOSwweDMwLDB4MjIsMHg4MCwweGQwLDB4ODMsMHgwNiwweDBjLDB4YTAsMHgwYiwweGIwLDB4MDYsMHgwMCwweDEyIH0sCi0gIDE2LCAweGEyMzAsIDAsIHsweGEwLDB4MDAsMHgyMCwweDAwLDB4MjksMHgwMCwweDBlLDB4YTIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGEyNDAsIDAsIHsweGMwLDB4MTEsMHhhOCwweDMwLDB4OGIsMHgwMCwweDJlLDB4YzAsMHg0YSwweDMwLDB4MGEsMHgyYywweDE0LDB4YTAsMHg4MCwweDBhIH0sCi0gIDE2LCAweGEyNTAsIDAsIHsweGMxLDB4MDgsMHg4OCwweDg2LDB4ODcsMHgwMCwweDgzLDB4MDAsMHgyMiwweDQ5LDB4MDgsMHhiMCwweDA2LDB4YTAsMHg0MCwweGFiIH0sCi0gIDE2LCAweGEyNjAsIDAsIHsweDIwLDB4MjIsMHgyMCwweDBiLDB4ODAsMHgwYSwweDBjLDB4MDQsMHhhYiwweDAyLDB4MjIsMHhjMCwweDg4LDB4ODAsMHgwMiwweGYwIH0sCi0gIDE2LCAweGEyNzAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDE1LDB4ZWYsMHg0MCwweGViLDB4MDYsMHgzZSwweGMwIH0sCi0gIDE2LCAweGEyODAsIDAsIHsweDBlLDB4YjAsMHgwMywweDJjLDB4MDIsMHhmOSwweGEwLDB4M2UsMHhjMCwweDBkLDB4OGMsMHgwMywweGFhLDB4MTAsMHhlOSwweDQwIH0sCi0gIDE2LCAweGEyOTAsIDAsIHsweGIyLDB4NDgsMHgwZCwweGIwLDB4NDMsMHhhZCwweDAwLDB4Y2IsMHg4NiwweDJlLDB4MjAsMHgwZiwweDMwLDB4MDMsMHgyNCwweDAwIH0sCi0gIDE2LCAweGEyYTAsIDAsIHsweGY5LDB4ODAsMHgzMiwweGMwLDB4MGQsMHgwYywweGMyLDB4OTAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGEyYjAsIDAsIHsweGUwLDB4MDEsMHg5NCwweDAwLDB4ZmYsMHgwMCwweDNkLDB4YzAsMHgwZCwweGYwLDB4MDMsMHg3YywweDAwLDB4ZGYsMHgwMCwweDM3IH0sCi0gIDE2LCAweGEyYzAsIDAsIHsweGMwLDB4MGYsMHhlMCwweDAzLDB4ZjAsMHgwMCwweGZlLDB4MjAsMHgzZiwweDQwLDB4MGYsMHg3MCwweDAzLDB4ZmUsMHgwMCwweGZmIH0sCi0gIDE2LCAweGEyZDAsIDAsIHsweDgyLDB4N2YsMHgwMCwweDBmLDB4YzAsMHgwMywweGY5LDB4MDQsMHhkZSwweDIwLDB4YmQsMHgwMCwweDBmLDB4ZDksMHgwYiwweDdjIH0sCi0gIDE2LCAweGEyZTAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YWMsMHgwMSwweGNiLDB4MDAsMHgzZSwweGMwIH0sCi0gIDE2LCAweGEyZjAsIDAsIHsweDJjLDB4YjAsMHgwYiwweDJjLDB4MDAsMHhlOCwweDQwLDB4M2UsMHhjMCwweDBmLDB4OTQsMHgwNywweDI5LDB4MDAsMHhjOSwweDQwIH0sCi0gIDE2LCAweGEzMDAsIDAsIHsweGIyLDB4YzAsMHgwZiwweGIwLDB4MDMsMHgwMSwweDAyLDB4Y2IsMHgwMCwweDMyLDB4MDQsMHg0ZiwweGYwLDB4NDMsMHgzNCwweGMwIH0sCi0gIDE2LCAweGEzMTAsIDAsIHsweGI1LDB4MWEsMHgzZiwweGMxLDB4MGYsMHg4MCwweDkzLDB4ZDAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGEzMjAsIDAsIHsweGM4LDB4MDUsMHgyOCwweDAwLDB4OGYsMHgwMCwweDJmLDB4YzAsMHgwOCwweGYwLDB4MDIsMHgzYywweDA0LDB4ZDgsMHgwMCwweDJiIH0sCi0gIDE2LCAweGEzMzAsIDAsIHsweGMwLDB4MGMsMHg4MCwweDQ1LDB4NjAsMHgwMCwweDdiLDB4NTgsMHgyMiwweGM4LDB4MGIsMHhmYSwweDAxLDB4NjEsMHg0MCwweDhiIH0sCi0gIDE2LCAweGEzNDAsIDAsIHsweDAwLDB4MzIsMHgwNCwweDRiLDB4Y2UsMHgwMiwweDI4LDB4MDAsMHgzYSwweDQwLDB4MmUsMHgwNywweDBiLDB4OTAsMHgwMiwweDI2IH0sCi0gIDE2LCAweGEzNTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NGMsMHgwMCwweDgzLDB4MDEsMHg0YywweGMwIH0sCi0gIDE2LCAweGEzNjAsIDAsIHsweDBiLDB4MzAsMHgwMiwweGVjLDB4MTAsMHg5MCwweDAwLDB4MmEsMHhjMCwweDBhLDB4ODAsMHgwNiwweGMwLDB4MDQsMHg4MywweDA0IH0sCi0gIDE2LCAweGEzNzAsIDAsIHsweGEyLDB4ODksMHgxOSwweDMwLDB4MDYsMHhjYywweDAwLDB4ODMsMHgwMCwweDIwLDB4OTAsMHgwYiwweDMwLDB4YzIsMHg0OCwweDAwIH0sCi0gIDE2LCAweGEzODAsIDAsIHsweGIyLDB4NDAsMHgyNCwweDIwLDB4MGIsMHgwOSwweDAwLDB4YjgsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGEzOTAsIDAsIHsweDIwLDB4MDEsMHgwNiwweDA0LDB4ODcsMHhhNCwweDJkLDB4ZTAsMHgwOSwweDM4LDB4MDIsMHhkZSwweDAwLDB4OWUsMHg4MSwweDI5IH0sCi0gIDE2LCAweGEzYTAsIDAsIHsweGUwLDB4MDgsMHg3OCwweDUyLDB4ZmEsMHhjMCwweDk2LDB4ODAsMHgwMSwweGEwLDB4OGIsMHgzYSwweDIyLDB4Y2UsMHg0MCwweDhmIH0sCi0gIDE2LCAweGEzYjAsIDAsIHsweGIwLDB4MjUsMHhhMCwweDBiLDB4MDgsMHgwMiwweDU2LDB4MDgsMHhiNSwweDkwLDB4MmQsMHhlNCwweDRiLDB4ZDgsMHgyMiwweDBjIH0sCi0gIDE2LCAweGEzYzAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MDgsMHgwMiwweDgzLDB4ODAsMHgyZSwweGU4IH0sCi0gIDE2LCAweGEzZDAsIDAsIHsweDBiLDB4MzgsMHgxMywweGNlLDB4NDEsMHhkMywweDEwLDB4MjgsMHhjMCwweDBlLDB4M2EsMHgwMiwweGM2LDB4MDgsMHg0YiwweDQwIH0sCi0gIDE2LCAweGEzZTAsIDAsIHsweDMwLDB4NjAsMHgwZCwweDNiLDB4MjcsMHhjZiwweGM0LDB4YzMsMHhhMCwweDMwLDB4MDAsMHgwZiwweDMwLDB4NDMsMHg0OCwweDQwIH0sCi0gIDE2LCAweGEzZjAsIDAsIHsweGYyLDB4MDAsMHgzYywweDA0LDB4MGYsMHgwMiwweDAzLDB4OTIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGE0MDAsIDAsIHsweDQwLDB4MWQsMHhiOCwweDAwLDB4ZmYsMHgwMCwweDNmLDB4YzQsMHgwZSwweGYxLDB4MDMsMHgzYywweDAwLDB4ZmYsMHgwMSwweDMzIH0sCi0gIDE2LCAweGE0MTAsIDAsIHsweGMwLDB4NGQsMHhiMSwweDA3LDB4N2MsMHg5MCwweGZmLDB4MDAsMHgzZiwweDQwLDB4MDMsMHhmMSwweDAzLDB4NzAsMHgwMCwweGZiIH0sCi0gIDE2LCAweGE0MjAsIDAsIHsweDEwLDB4M2IsMHgwMCwweDBmLDB4YzAsMHgwYiwweGI0LDB4MDAsMHhmZCwweDAwLDB4M2YsMHhjNCwweDBmLDB4ZDAsMHgwMywweDkwIH0sCi0gIDE2LCAweGE0MzAsIDAsIHsweDAyLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZWMsMHgwNCwweGZiLDB4ODQsMHgzYSwweGMyIH0sCi0gIDE2LCAweGE0NDAsIDAsIHsweDRjLDB4YjQsMHg5MywweDJjLDB4MDQsMHhlOSwweDAwLDB4M2EsMHhjNCwweDhkLDB4MDgsMHgwMywweDJlLDB4MDAsMHhjYiwweDAxIH0sCi0gIDE2LCAweGE0NTAsIDAsIHsweDMyLDB4ODAsMHg4ZiwweGIyLDB4ODMsMHhlYywweDAwLDB4Y2IsMHg4MCwweDMyLDB4MDAsMHgwZiwweGY5LDB4MDMsMHgzYywweDEwIH0sCi0gIDE2LCAweGE0NjAsIDAsIHsweGRmLDB4ODEsMHhiMywweGUwLDB4OGMsMHhhMCwweDAzLDB4ZWEsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGE0NzAsIDAsIHsweDQ4LDB4MTEsMHg5NCwweDA4LDB4YjcsMHgwNCwweDI0LDB4YzgsMHgxYSwweDMwLDB4NGEsMHgxZCwweDAwLDB4YjcsMHgwMSwweDJkIH0sCi0gIDE2LCAweGE0ODAsIDAsIHsweGMwLDB4ODgsMHg3MCwweDA2LDB4MWMsMHgwMCwweDgyLDB4MDAsMHgyMSwweDgwLDB4NGIsMHg3NiwweDEyLDB4ZGMsMHgwMCwweDg3IH0sCi0gIDE2LCAweGE0OTAsIDAsIHsweDAwLDB4MjksMHg0MCwweDhiLDB4NDAsMHgwMiwweDEwLDB4MDAsMHhiYywweDAwLDB4MjAsMHgwMSwweDI4LDB4NzAsMHgwMywweGIyIH0sCi0gIDE2LCAweGE0YTAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4OWEsMHgwMCwweGIzLDB4OTAsMHgyZCwweGU0IH0sCi0gIDE2LCAweGE0YjAsIDAsIHsweDA5LDB4NzksMHgwMiwweDFlLDB4ODAsMHhhNywweDgwLDB4MmMsMHhlOCwweDE5LDB4ZjgsMHgxMiwweDVlLDB4MDEsMHg4NywweDgwIH0sCi0gIDE2LCAweGE0YzAsIDAsIHsweDI1LDB4ZTAsMHg0YiwweDc4LDB4MDYsMHhkMiwweDAwLDB4OTcsMHg4MCwweDIxLDB4NjIsMHgwYiwweDNhLDB4MDIsMHgxZSwweDAwIH0sCi0gIDE2LCAweGE0ZDAsIDAsIHsweGI3LDB4ODYsMHgyOSwweGYwLDB4MDgsMHg2OCwweDA2LDB4ZTAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGE0ZTAsIDAsIHsweDQ4LDB4MTQsMHhjZiwweGMwLDB4YjMsMHgwMCwweDI0LDB4YzAsMHg4YSwweDMwLDB4MzIsMHgwYywweDAwLDB4YjMsMHgwOCwweDJjIH0sCi0gIDE2LCAweGE0ZjAsIDAsIHsweGMwLDB4MDgsMHgzMCwweDEyLDB4MGUsMHgyMCwweDgzLDB4MDAsMHgyNCwweGYxLDB4MGIsMHgzMCwweDA2LDB4Y2UsMHgwMCwweDgzIH0sCi0gIDE2LCAweGE1MDAsIDAsIHsweDkwLDB4MjgsMHg2MCwweDBiLDB4MDAsMHgyYSwweDIxLDB4ODAsMHhiMCwweDA4LDB4MjgsMHgwMCwweDA4LDB4MzcsMHgwMiwweDkyIH0sCi0gIDE2LCAweGE1MTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YjksMHgwMCwweGZhLDB4MDAsMHgzZSwweDgwIH0sCi0gIDE2LCAweGE1MjAsIDAsIHsweDRkLDB4YTAsMHgwMywweDI4LDB4MDAsMHhlZSwweDQxLDB4M2UsMHg4MCwweDBkLDB4ZTAsMHgwMywweDc4LDB4MDAsMHg4ZSwweDQwIH0sCi0gIDE2LCAweGE1MzAsIDAsIHsweDI3LDB4YTgsMHgwYiwweGEwLDB4MDMsMHhmYiwweDAyLDB4Y2EsMHg4MiwweDMzLDB4YTAsMHgwZiwweGEwLDB4MTMsMHgyOSwweDAwIH0sCi0gIDE2LCAweGE1NDAsIDAsIHsweGZhLDB4NDAsMHgzYSwweDgwLDB4MGMsMHg2YywweDAzLDB4ZmEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGE1NTAsIDAsIHsweDQ4LDB4MDAsMHhjMCwweDAwLDB4ZjgsMHgwMCwweDNhLDB4MDAsMHgwYywweDgwLDB4MDMsMHhlMCwweDA4LDB4ZjgsMHgwMCwweDNlIH0sCi0gIDE2LCAweGE1NjAsIDAsIHsweDAwLDB4OGYsMHg4MCwweDIzLDB4YTAsMHg0MiwweGY4LDB4MDksMHhiYSwweDEwLDB4NGYsMHg4MCwweDAzLDB4ZTAsMHg2MCwweGY4IH0sCi0gIDE2LCAweGE1NzAsIDAsIHsweDAwLDB4M2UsMHgyMCwweDBmLDB4YzAsMHgwMywweGYwLDB4MDAsMHhmYywweDAwLDB4MjcsMHgwMCwweDhmLDB4ODAsMHgwMywweDkyIH0sCi0gIDE2LCAweGE1ODAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTUsMHgwMCwweDg5LDB4MDAsMHgzZSwweDQwIH0sCi0gIDE2LCAweGE1OTAsIDAsIHsweDZlLDB4OTAsMHgwMywweGE0LDB4MDgsMHhjOSwweDAwLDB4M2MsMHg0MCwweDBkLDB4OTAsMHgwMywweDI0LDB4MTAsMHhmOSwweGEwIH0sCi0gIDE2LCAweGE1YTAsIDAsIHsweDMyLDB4NDIsMHgwYywweDkwLDB4MTMsMHhjNCwweDAwLDB4YzksMHgwMCwweDNlLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhlNCwweDQwIH0sCi0gIDE2LCAweGE1YjAsIDAsIHsweGM5LDB4MjAsMHgzZSwweDUyLDB4Y2YsMHg5MCwweDA5LDB4MDIsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGE1YzAsIDAsIHsweDgwLDB4MDQsMHg2NiwweDAwLDB4ODksMHgwNCwweDJlLDB4NDAsMHgwOCwweDkwLDB4MDIsMHgyNCwweDAwLDB4ZDksMHgwMCwweDNhIH0sCi0gIDE2LCAweGE1ZDAsIDAsIHsweDQxLDB4MDgsMHg5MCwweDA1LDB4YTQsMHgwMCwweGI5LDB4NDAsMHhhMiwweDQwLDB4MGQsMHg5MCwweDAyLDB4ZTUsMHg0NiwweDg5IH0sCi0gIDE2LCAweGE1ZTAsIDAsIHsweDAwLDB4MmUsMHg0MCwweDBiLDB4OTAsMHgxMiwweGU1LDB4MDAsMHhhOSwweGM4LDB4MmUsMHg2MSwweDhiLDB4OTQsMHg0MiwweDIwIH0sCi0gIDE2LCAweGE1ZjAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDAxLDB4MjQsMHgwMCwweGE5LDB4MDAsMHg2YywweDQwIH0sCi0gIDE2LCAweGE2MDAsIDAsIHsweDQ4LDB4MTAsMHgyMiwweDg0LDB4MDMsMHhhOSwweDAwLDB4MmUsMHg0MCwweDA5LDB4OTAsMHgwMiwweGU0LDB4MDQsMHhiMSwweDA4IH0sCi0gIDE2LCAweGE2MTAsIDAsIHsweDI4LDB4NDAsMHgxOCwweDk4LDB4MDIsMHhlNSwweDAwLDB4ODksMHgwMCwweDJlLDB4NDAsMHgwYiwweDkwLDB4MDIsMHhmNCwweDIwIH0sCi0gIDE2LCAweGE2MjAsIDAsIHsweDhkLDB4MDAsMHgyZiwweDQwLDB4MGIsMHg5NCwweDQyLDB4ODYsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGE2MzAsIDAsIHsweDA4LDB4MDQsMHgwNCwweDgwLDB4YTEsMHgyNCwweDJjLDB4NDgsMHgxOCwweDEyLDB4MDIsMHgwNCwweDgwLDB4YTEsMHgwMCwweDI4IH0sCi0gIDE2LCAweGE2NDAsIDAsIHsweDQ4LDB4MDgsMHgxMCwweDAyLDB4ODQsMHgwMCwweDkxLDB4MjAsMHgyMCwweDQ4LDB4MDksMHgxMiwweDAyLDB4YzQsMHg5NCwweDgxIH0sCi0gIDE2LCAweGE2NTAsIDAsIHsweDAwLDB4MmMsMHg2MSwweDBiLDB4NWEsMHg4MiwweGQ0LDB4YTAsMHhhNSwweDI4LDB4MmQsMHg0YSwweDBiLDB4OTAsMHgwMiwweDgyIH0sCi0gIDE2LCAweGE2NjAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjAsMHgwMiwweGU4LDB4NTAsMHgyZSwweDE0IH0sCi0gIDE2LCAweGE2NzAsIDAsIHsweDBlLDB4ODUsMHgwMywweGExLDB4NDAsMHhhOCwweDUwLDB4M2UsMHgxNCwweDBkLDB4ODUsMHgwMSwweDgxLDB4NDAsMHhmOCwweDUyIH0sCi0gIDE2LCAweGE2ODAsIDAsIHsweDMyLDB4OTQsMHgwYywweDgwLDB4MTMsMHhjMSwweDQyLDB4YzAsMHg1MSwweDNlLDB4MDAsMHg4ZiwweDgyLDB4MDMsMHhlMCwweDgwIH0sCi0gIDE2LCAweGE2OTAsIDAsIHsweGM4LDB4MjAsMHgzZiwweDA4LDB4MGYsMHg4MCwweDAzLDB4YWUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGE2YTAsIDAsIHsweDk4LDB4MTksMHhmNCwweDUwLDB4ZDksMHgxMSwweDNlLDB4NDQsMHg4ZiwweDkxLDB4NDMsMHhlNCwweDQwLDB4ZGQsMHgwMCwweDNhIH0sCi0gIDE2LCAweGE2YjAsIDAsIHsweDQ0LDB4NGYsMHhkMCwweDI3LDB4YjQsMHgwMCwweGZkLDB4MTIsMHgzZiwweDQ0LDB4NGYsMHg5MSwweDQzLDB4ZjQsMHg0MCwweGZkIH0sCi0gIDE2LCAweGE2YzAsIDAsIHsweDAwLDB4M2YsMHg0MSwweDBmLDB4OTIsMHg4MywweGU0LDB4YTAsMHhmOSwweDI4LDB4M2UsMHg0YSwweDBmLDB4ZDAsMHgwMywweDY2IH0sCi0gIDE2LCAweGE2ZDAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDExLDB4ZjYsMHg4MCwweGU5LDB4YzAsMHgzZSwweDc4IH0sCi0gIDE2LCAweGE2ZTAsIDAsIHsweDhmLDB4OWIsMHgwMywweGE3LDB4ODAsMHhjOSwweDQwLDB4MzYsMHg3OCwweDBmLDB4MTAsMHgyMywweGU1LDB4MDQsMHhkZCwweGE0IH0sCi0gIDE2LCAweGE2ZjAsIDAsIHsweDMzLDB4NjIsMHgwZiwweGRhLDB4MDMsMHhmNiwweDYwLDB4YzksMHgxMCwweDMzLDB4NDAsMHgwZSwweDk4LDB4OTMsMHhlNiwweDMwIH0sCi0gIDE2LCAweGE3MDAsIDAsIHsweGM5LDB4YzksMHgzMiwweDc4LDB4OGMsMHhkMCwweDBiLDB4MDYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGE3MTAsIDAsIHsweDM4LDB4MTAsMHhlMCwweDAwLDB4ODgsMHhlMiwweDJlLDB4MzAsMHgwYiwweDg4LDB4NDIsMHgyMywweDQwLDB4YTAsMHhhMSwweDIyIH0sCi0gIDE2LCAweGE3MjAsIDAsIHsweDM4LDB4MGIsMHg4YSwweDAyLDB4ZTIsMHg4MCwweGFhLDB4ZTAsMHgyMiwweDMwLDB4MGIsMHg4MCwweDIzLDB4YWIsMHgwMiwweDg4IH0sCi0gIDE2LCAweGE3MzAsIDAsIHsweGEwLDB4MmEsMHgwMCwweDBiLDB4OGMsMHgwMiwweGUzLDB4MDAsMHg4OCwweGUwLDB4MjMsMHgzOCwweDA4LDB4ODAsMHgwMiwweDBlIH0sCi0gIDE2LCAweGE3NDAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4YzUsMHgwMCwweGExLDB4NDQsMHgyOCwweDU4IH0sCi0gIDE2LCAweGE3NTAsIDAsIHsweDQzLDB4MTYsMHgyMiwweDg0LDB4ODEsMHg4MSwweDIwLDB4MmMsMHg1OCwweDQ5LDB4MTAsMHg4MCwweGM0LDB4ODEsMHg5MSwweDQ4IH0sCi0gIDE2LCAweGE3NjAsIDAsIHsweDZjLDB4NGEsMHgwYiwweDE0LDB4MDIsMHg0NCwweDg0LDB4ODEsMHgwMSwweDYwLDB4NDAsMHgwYSwweDUyLDB4ODYsMHhkNCwweGEwIH0sCi0gIDE2LCAweGE3NzAsIDAsIHsweDg1LDB4MDAsMHhhMSwweDUwLDB4NjgsMHg5MCwweDA2LDB4ZDIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGE3ODAsIDAsIHsweDE4LDB4MDUsMHhhNiwweDAwLDB4ODksMHgwMCwweDJlLDB4NDAsMHgwYiwweDkwLDB4MDIsMHgwNCwweDAwLDB4YTksMHg2MCwweDIyIH0sCi0gIDE2LCAweGE3OTAsIDAsIHsweDQwLDB4MGIsMHg5NSwweDAyLDB4ZTQsMHgxMCwweGIxLDB4MDAsMHg0ZSwweDQwLDB4MGIsMHg5MCwweDY2LDB4YWMsMHg4MCwweDg5IH0sCi0gIDE2LCAweGE3YTAsIDAsIHsweDAwLDB4MmEsMHg2MCwweDBiLDB4OTAsMHg1MiwweGY0LDB4MDAsMHg4NSwweDAwLDB4MjEsMHg0MCwweDA4LDB4OTAsMHgwMiwweGM2IH0sCi0gIDE2LCAweGE3YjAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDA1LDB4ZTYsMHgyMCwweGU5LDB4MDAsMHgzZSwweDQwIH0sCi0gIDE2LCAweGE3YzAsIDAsIHsweDBmLDB4OTAsMHgwMywweGE0LDB4MTAsMHhjOSwweDAwLDB4MzYsMHg0MCwweDBmLDB4OTQsMHgwMSwweGU1LDB4MjAsMHhkOSwweDQwIH0sCi0gIDE2LCAweGE3ZDAsIDAsIHsweGJhLDB4NjgsMHg4ZiwweDkwLDB4MDcsMHhlNiwweDAwLDB4YzksMHgxMCwweDMyLDB4NjIsMHgwZSwweDkwLDB4MDIsMHhlNCwweDE4IH0sCi0gIDE2LCAweGE3ZTAsIDAsIHsweGM5LDB4MDAsMHgzMiwweDQwLDB4MGMsMHg5MCwweDAzLDB4ZTgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGE3ZjAsIDAsIHsweDI4LDB4MDEsMHhhNCwweDAwLDB4ZjksMHgwNCwweDNlLDB4NDAsMHgwYiwweDkwLDB4MDMsMHg2NCwweDAwLDB4ZjksMHgwMCwweDNlIH0sCi0gIDE2LCAweGE4MDAsIDAsIHsweDQwLDB4OGYsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGU5LDB4MDIsMHg3MiwweDY4LDB4MGYsMHg5MCwweDAzLDB4ZTYsMHgwMCwweGY5IH0sCi0gIDE2LCAweGE4MTAsIDAsIHsweDAxLDB4M2UsMHg0MiwweDBmLDB4OTAsMHgwMywweGM0LDB4MDIsMHhmOSwweDA0LDB4M2UsMHg0MCwweDRmLDB4OTAsMHgwMywweDFhIH0sCi0gIDE2LCAweGE4MjAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDAwLDB4ODAsMHgwMiwweGM4LDB4MDAsMHgzMiwweDAwIH0sCi0gIDE2LCAweGE4MzAsIDAsIHsweDBjLDB4ODAsMHgwMywweDYwLDB4MDAsMHhjOCwweDQwLDB4MzYsMHgwMCwweDBmLDB4ODQsMHgwMywweGEwLDB4MDAsMHhkOCwweDUwIH0sCi0gIDE2LCAweGE4NDAsIDAsIHsweGIyLDB4MTAsMHg4YywweDgxLDB4MDMsMHhjMSwweDIwLDB4YzgsMHgwMCwweDNlLDB4MDAsMHgwZiwweGMwLDB4MTMsMHhmMCwweDA0IH0sCi0gIDE2LCAweGE4NTAsIDAsIHsweDRjLDB4MDAsMHgzZiwweDAwLDB4MGYsMHg4MCwweDAzLDB4MGEsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGE4NjAsIDAsIHsweDI4LDB4MTUsMHgyYSwweDAwLDB4OGEsMHgwNCwweDIyLDB4ODEsMHgyOCwweGEwLDB4MTIsMHgyOCwweDAwLDB4OGEsMHgwMSwweDM2IH0sCi0gIDE2LCAweGE4NzAsIDAsIHsweDgwLDB4MGIsMHhhMCwweDEwLDB4MjgsMHgxMCwweGNlLDB4MDEsMHgyMywweDgxLDB4MGMsMHhhOCwweDEyLDB4ZmIsMHgwMCwweDhhIH0sCi0gIDE2LCAweGE4ODAsIDAsIHsweDAxLDB4M2IsMHg4MCwweDgzLDB4YTAsMHg0MiwweGU4LDB4MTAsMHg4YSwweDAwLDB4MmYsMHg4MCwweDBiLDB4NjAsMHg0MiwweDBhIH0sCi0gIDE2LCAweGE4OTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NGMsMHgwMCwweDgzLDB4MDAsMHhhMCwweGMwIH0sCi0gIDE2LCAweGE4YTAsIDAsIHsweDE4LDB4YjAsMHgwMCwweGNjLDB4MDAsMHg5YiwweDAwLDB4MjQsMHhjMCwweDBiLDB4MzAsMHgwNiwweDZjLDB4MDAsMHhhMywweDA4IH0sCi0gIDE2LCAweGE4YjAsIDAsIHsweDI4LDB4YzgsMHgwOSwweDMwLDB4MDIsMHhjYywweDQzLDB4OGIsMHgwMCwweDJjLDB4ODAsMHgwYiwweDMwLDB4MDIsMHhjYywweDAyIH0sCi0gIDE2LCAweGE4YzAsIDAsIHsweDgzLDB4MDEsMHgyYywweGMwLDB4NGIsMHgzMCwweDAwLDB4NGEsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGE4ZDAsIDAsIHsweGEwLDB4MDEsMHgwYywweDI0LDB4ODcsMHg5NCwweDIxLDB4ZTQsMHgxOCwweDMxLDB4MDIsMHhkYywweDgwLDB4OTcsMHgxMCwweDI1IH0sCi0gIDE2LCAweGE4ZTAsIDAsIHsweGNkLDB4MGIsMHhmMiwweDAyLDB4N2MsMHgwMCwweGEwLDB4MDAsMHgyOCwweGUwLDB4MTgsMHg3MCwweDAyLDB4ZGMsMHgwMSwweDg3IH0sCi0gIDE2LCAweGE4ZjAsIDAsIHsweDM0LDB4MjksMHg0MCwweDA5LDB4NDAsMHgwMiwweGQwLDB4MDQsMHg4NCwweDA0LDB4MmQsMHgwMCwweDRiLDB4ZDAsMHgyMiwweDY4IH0sCi0gIDE2LCAweGE5MDAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MTYsMHgwMCwweGNmLDB4YTAsMHg3MCwweGU5IH0sCi0gIDE2LCAweGE5MTAsIDAsIHsweDE4LDB4N2IsMHgwMywweGZmLDB4NDAsMHg5NywweGEwLDB4MzUsMHhlOCwweDBmLDB4NzQsMHgwMiwweDVlLDB4MjAsMHhlNCwweDgwIH0sCi0gIDE2LCAweGE5MjAsIDAsIHsweDM5LDB4YTAsMHgyZCwweDc4LDB4MDMsMHhmZSwweDAwLDB4YzcsMHg4MCwweDNkLDB4ZTAsMHg1ZiwweDY4LDB4NDMsMHhjMiwweDAwIH0sCi0gIDE2LCAweGE5MzAsIDAsIHsweGM0LDB4ODQsMHgxZCwweDYwLDB4MGYsMHg3OCwweDAzLDB4NmEsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGE5NDAsIDAsIHsweDA4LDB4MGQsMHhhNCwweDAwLDB4M2IsMHgwMCwweDJlLDB4ZDgsMHgwZiwweGI0LDB4MDMsMHgyZCwweDhhLDB4ZWIsMHg2MiwweDNhIH0sCi0gIDE2LCAweGE5NTAsIDAsIHsweGQwLDB4MGYsMHhiMiwweDg3LDB4MGMsMHhkMCwweGQ4LDB4MDAsMHgzMiwweGMwLDB4NGYsMHg5MCwweDQzLDB4ZWMsMHgwMCwweGZiIH0sCi0gIDE2LCAweGE5NjAsIDAsIHsweDA4LDB4M2UsMHg0MCwweDhmLDB4OTAsMHgwMywweGZjLDB4MDAsMHhmZiwweDA0LDB4M2YsMHg4MCwweDBmLDB4MDAsMHgyYiwweDgyIH0sCi0gIDE2LCAweGE5NzAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZjYsMHgwMCwweGZmLDB4YTAsMHgzZSwweGY0IH0sCi0gIDE2LCAweGE5ODAsIDAsIHsweDBlLDB4YjgsMHgwMywweGVlLDB4MDgsMHg0YiwweGYwLDB4N2YsMHhmNCwweDBjLDB4ZjksMHgyMywweGVlLDB4NDgsMHg3OCwweDkwIH0sCi0gIDE2LCAweGE5OTAsIDAsIHsweDMyLDB4ZTQsMHgwYywweGY5LDB4MDMsMHhmZSwweDAwLDB4ZmYsMHg4MCwweDNmLDB4ZTQsMHgxYywweDc5LDB4MDMsMHgyZSwweDQwIH0sCi0gIDE2LCAweGE5YTAsIDAsIHsweGZmLDB4ODAsMHgzMywweGUwLDB4MmMsMHg3OCwweDA3LDB4MDAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGE5YjAsIDAsIHsweGE4LDB4MTEsMHg5NCwweDAwLDB4YjMsMHgwMCwweDBjLDB4ZTUsMHgwYiwweDM4LDB4MDIsMHhmZSwweDgwLDB4OGYsMHg4MCwweDYxIH0sCi0gIDE2LCAweGE5YzAsIDAsIHsweGM0LDB4MjgsMHg3OCwweDAwLDB4NGUsMHgwMCwweGY0LDB4ODQsMHgyNSwweGE4LDB4MGMsMHg3MCwweDAyLDB4Y2MsMHgwNCwweGIzIH0sCi0gIDE2LCAweGE5ZDAsIDAsIHsweDkwLDB4MjUsMHg0MCwweDBjLDB4NDEsMHg4MywweDUyLDB4NDAsMHhiNCwweDEwLDB4YTMsMHgwMCwweDBjLDB4NTIsMHgwMywweDZhIH0sCi0gIDE2LCAweGE5ZTAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OTQsMHgwMCwweGI3LDB4MjEsMHg2ZCwweGM4IH0sCi0gIDE2LCAweGE5ZjAsIDAsIHsweDRiLDB4NzAsMHgwMiwweGRjLDB4NDIsMHhhNywweDMxLDB4MjksMHhjNCwweDA4LDB4NzIsMHgwMiwweGRjLDB4MDAsMHhiNywweDI4IH0sCi0gIDE2LCAweGFhMDAsIDAsIHsweDI0LDB4ODAsMHgwOCwweDcwLDB4MDYsMHhkNCwweDIwLDB4YjcsMHgwMSwweDJkLDB4YzEsMHgwOCwweDYwLDB4MDIsMHg1MCwweDgwIH0sCi0gIDE2LCAweGFhMTAsIDAsIHsweGI0LDB4MDgsMHgyMSwweDYyLDB4MDksMHg3NCwweDA2LDB4ODAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGFhMjAsIDAsIHsweDIwLDB4MTQsMHhjNywweDA0LDB4YjMsMHgwMCwweDJjLDB4YzAsMHgwYiwweGIwLDB4MDIsMHhjYywweDAwLDB4YTMsMHgwMiwweDYwIH0sCi0gIDE2LCAweGFhMzAsIDAsIHsweGMwLDB4MDgsMHgzOCwweDAyLDB4NGUsMHg0NCwweGEwLDB4YzAsMHgyNCwweDkxLDB4MDgsMHgzMCwweDAyLDB4YzAsMHgwMCwweGIzIH0sCi0gIDE2LCAweGFhNDAsIDAsIHsweDAwLDB4MjQsMHg2MCwweDA4LDB4MWMsMHgwMiwweDRjLDB4ODgsMHhiMywweGMwLDB4MjAsMHhhMCwweDA4LDB4MDAsMHgwYSwweDg4IH0sCi0gIDE2LCAweGFhNTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YWMsMHgwMCwweGZmLDB4MDAsMHgyZiwweGMwIH0sCi0gIDE2LCAweGFhNjAsIDAsIHsweDRmLDB4ZjAsMHgxMywweGZjLDB4MDgsMHhlNywweDhhLDB4M2YsMHhjMCwweDBjLDB4ZjUsMHhjMiwweGZlLDB4MTAsMHhiYiwweGMwIH0sCi0gIDE2LCAweGFhNzAsIDAsIHsweDMyLDB4ZDQsMHgwYywweDMwLDB4MTMsMHhlMywweDA0LDB4YmYsMHgwMCwweDJlLDB4NjIsMHgwOCwweGI5LDB4MDIsMHg2ZSwweDAwIH0sCi0gIDE2LCAweGFhODAsIDAsIHsweGZiLDB4MDEsMHgzMiwweGE0LDB4NGQsMHg5NCwweDAyLDB4YWIsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGFhOTAsIDAsIHsweDgwLDB4MDAsMHhlYywweDYwLDB4ZmIsMHgwMCwweDFlLDB4YzAsMHgwZiwweGIwLDB4MTMsMHhlYywweDAwLDB4NWIsMHgwMCwweDNhIH0sCi0gIDE2LCAweGFhYTAsIDAsIHsweGMwLDB4MGYsMHhiMCwweDQxLDB4ZWMsMHgwMCwweDdiLDB4NDUsMHhiYSwweDQwLDB4MmUsMHhiMCwweDE1LDB4ZTAsMHgwMSwweGZiIH0sCi0gIDE2LCAweGFhYjAsIDAsIHsweDAwLDB4M2UsMHg1MCwweDBlLDB4YzAsMHgwMywweGYwLDB4NDAsMHhmYywweDIwLDB4M2YsMHg1MCwweDhmLDB4OTAsMHgwMSwweDYwIH0sCi0gIDE2LCAweGFhYzAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZjQsMHgwMCwweGZmLDB4MDAsMHgzZiwweGMwIH0sCi0gIDE2LCAweGFhZDAsIDAsIHsweDhmLDB4ZjAsMHgwMywweDFjLDB4MDIsMHhjZiwweDAwLDB4MzYsMHhjMCwweDBkLDB4ZjAsMHgwMywweDdjLDB4MDAsMHg3ZiwweDJhIH0sCi0gIDE2LCAweGFhZTAsIDAsIHsweDNmLDB4ODAsMHgwZiwweGY4LDB4MTMsMHg5MCwweDIxLDB4Y2YsMHgwMCwweDNmLDB4NjIsMHgwYywweGUwLDB4MDMsMHgzMCwweDAwIH0sCi0gIDE2LCAweGFhZjAsIDAsIHsweGY4LDB4MDAsMHgzZiwweDAwLDB4MGYsMHhkMCwweDAzLDB4ODAsMHg0NCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGFiMDAsIDAsIHsweDgxLDB4MDQsMHg2NCwweDExLDB4YmIsMHgwMCwweDJlLDB4YzAsMHgwYiwweGIwLDB4MDIsMHgyYywweDAwLDB4ZGIsMHgwNCwweDMyIH0sCi0gIDE2LCAweGFiMTAsIDAsIHsweGMwLDB4MGUsMHhiMCwweDAyLDB4ZWMsMHgwMCwweGJiLDB4ODQsMHgyZSwweDQwLDB4MGIsMHhiOSwweDQyLDB4MjIsMHg0MiwweDhiIH0sCi0gIDE2LCAweGFiMjAsIDAsIHsweDAxLDB4MmMsMHg3MiwweDBhLDB4OTAsMHg0MiwweDJjLDB4MDAsMHhiYiwweDAwLDB4MmUsMHhjMiwweDhmLDB4ODgsMHgwNiwweGUwIH0sCi0gIDE2LCAweGFiMzAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDAxLDB4MjQsMHgwMCwweGJiLDB4MDAsMHg2ZSwweGMwIH0sCi0gIDE2LCAweGFiNDAsIDAsIHsweDQ4LDB4YjAsMHg0MiwweDJjLDB4MDAsMHg4YiwweDAwLDB4MjYsMHhjMCwweDBhLDB4YjAsMHgxMiwweGVjLDB4MDAsMHhiYiwweDQwIH0sCi0gIDE2LCAweGFiNTAsIDAsIHsweDJlLDB4YzgsMHgwYiwweGIwLDB4MTIsMHgyYywweDAwLDB4OGIsMHgwMCwweDJlLDB4NDgsMHgwYSwweDMwLDB4MDIsMHg2YywweDAwIH0sCi0gIDE2LCAweGFiNjAsIDAsIHsweGJiLDB4MDAsMHgyZSwweDgwLDB4NGIsMHg5OCwweDAyLDB4ZTAsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGFiNzAsIDAsIHsweDA4LDB4MDQsMHgwNCwweDAwLDB4YjMsMHgwMCwweDZjLDB4YzIsMHg0YiwweDMxLDB4MDIsMHgwYywweDUwLDB4OWIsMHgyMCwweDIwIH0sCi0gIDE2LCAweGFiODAsIDAsIHsweGMwLDB4MGEsMHgzMiwweDEyLDB4Y2MsMHg4MCwweGIzLDB4MDAsMHg2YywweDBjLDB4MGIsMHgzMSwweDAyLDB4MGMsMHg0MiwweDgzIH0sCi0gIDE2LCAweGFiOTAsIDAsIHsweDA4LDB4MmUsMHg0MCwweDBhLDB4MDAsMHgwMiwweDAwLDB4ODAsMHhiMCwweDAwLDB4MmMsMHg0MSwweDBiLDB4MTAsMHgwMiwweDQyIH0sCi0gIDE2LCAweGFiYTAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4NjQsMHgwMCwweGJiLDB4NDAsMHgzZiwweGNjIH0sCi0gIDE2LCAweGFiYjAsIDAsIHsweDBlLDB4ZjAsMHg4MywweDNkLDB4YTAsMHhjZiwweDIwLDB4MzcsMHhjMCwweDBjLDB4ZjcsMHhjMywweGZkLDB4NDgsMHhmMywweDAwIH0sCi0gIDE2LCAweGFiYzAsIDAsIHsweDNlLDB4ODgsMHgwZiwweGI0LDB4MTMsMHhhNSwweDAwLDB4OGYsMHgzMCwweDNlLDB4NDAsMHgwYywweGEwLDB4MDMsMHg2MCwweDgwIH0sCi0gIDE2LCAweGFiZDAsIDAsIHsweGY4LDB4MDAsMHgzZSwweDAwLDB4MGYsMHg5MCwweDIzLDB4YzAsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGFiZTAsIDAsIHsweGEwLDB4MTksMHhmNCwweDAwLDB4ZmYsMHgyOSwweDNmLDB4YzksMHgwZiwweGYwLDB4MTMsMHhmYywweDk0LDB4ZWYsMHgxMiwweDNiIH0sCi0gIDE2LCAweGFiZjAsIDAsIHsweGMwLDB4OGUsMHhiMiwweDA3LDB4ZmQsMHgwNCwweGZmLDB4MTAsMHgzZiwweDBjLDB4MGYsMHhmMCwweDAzLDB4ZjAsMHgwMCwweGZiIH0sCi0gIDE2LCAweGFjMDAsIDAsIHsweDIwLDB4M2QsMHg0MCwweDBmLDB4ZDAsMHg0MywweGZjLDB4NDAsMHhmZiwweDA0LDB4M2YsMHhjMCwweDBlLDB4YzAsMHg0MywweGU4IH0sCi0gIDE2LCAweGFjMTAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZmMsMHhhMiwweGM3LDB4MjAsMHgzZiwweDI0IH0sCi0gIDE2LCAweGFjMjAsIDAsIHsweDBjLDB4ZjAsMHgwMywweDNjLDB4ODAsMHhjYywweDA5LDB4MzMsMHhkMSwweDBjLDB4ZjEsMHgyMywweGZjLDB4MjAsMHhkZiwweDM2IH0sCi0gIDE2LCAweGFjMzAsIDAsIHsweDNmLDB4YzAsMHgwZSwweDQ4LDB4MDMsMHhmZSwweDAwLDB4ZmYsMHg4MCwweDM3LDB4ZTQsMHgwZCwweDc4LDB4MDMsMHgxMSwweGEwIH0sCi0gIDE2LCAweGFjNDAsIDAsIHsweGNmLDB4MDAsMHgzNywweGM4LDB4MGMsMHhmMCwweDAzLDB4MzAsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGFjNTAsIDAsIHsweDgwLDB4MTAsMHhmZiwweDAwLDB4OGYsMHhkMSwweDJlLDB4MDgsMHgwZCwweGI2LDB4MTIsMHgzZCwweDQ1LDB4ZjksMHg2NCwweDI3IH0sCi0gIDE2LCAweGFjNjAsIDAsIHsweGQwLDB4ODgsMHhiYSwweDE0LDB4Y2MsMHgwNCwweDhmLDB4NDAsMHgyMywweGYwLDB4MGIsMHg4OCwweDAyLDB4MmUsMHgwNCwweGJiIH0sCi0gIDE2LCAweGFjNzAsIDAsIHsweDgwLDB4YWUsMHhjMCwweDA4LDB4YjgsMHgwYSwweDIxLDB4MDAsMHg4OCwweGQwLDB4MjIsMHgyMCwweDI4LDB4YjAsMHgwMiwweDIwIH0sCi0gIDE2LCAweGFjODAsIDAsIHsweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4Y2MsMHgwMCwweDkzLDB4MDAsMHgyZSwweDAwIH0sCi0gIDE2LCAweGFjOTAsIDAsIHsweDBhLDB4MzQsMHg4MiwweDhjLDB4YTAsMHhhMCwweDA4LDB4MjQsMHhkOCwweDA5LDB4MzEsMHgwMiwweGNjLDB4MjAsMHhiMywweDMyIH0sCi0gIDE2LCAweGFjYTAsIDAsIHsweDI4LDB4ZDAsMHg0YSwweDgwLDB4MDIsMHhjYywweDBjLDB4YmIsMHgwMCwweDIyLDB4NDAsMHg4OSwweGIwLDB4MDIsMHg2MCwweDgwIH0sCi0gIDE2LCAweGFjYjAsIDAsIHsweDkzLDB4MDAsMHgyNCwweGQwLDB4MGIsMHgzMCwweDAyLDB4YTIsMHgwMSwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGFjYzAsIDAsIHsweGMwLDB4MTEsMHhhYywweDAwLDB4OWIsMHgwMCwweDJlLDB4MjAsMHgwOSwweGIwLDB4NGEsMHgyYywweDAyLDB4YTAsMHgwMCwweDA2IH0sCi0gIDE2LCAweGFjZDAsIDAsIHsweGMwLDB4MDksMHhiMCwweDAwLDB4ZWMsMHgwMCwweGFiLDB4MDAsMHgyYSwweGMwLDB4MGIsMHg4OCwweDAyLDB4NmMsMHgwMCwweGJiIH0sCi0gIDE2LCAweGFjZTAsIDAsIHsweDIwLDB4MmEsMHhlMiwweDQxLDB4YjgsMHgyYSwweDYwLDB4MGEsMHg5OCwweDAwLDB4MjYsMHgwMCwweDBiLDB4YjAsMHgwMiwweGI4IH0sCi0gIDE2LCAweGFjZjAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDE1LDB4ZWMsMHgwOCwweGRiLDB4MDIsMHgzZSwweDIwIH0sCi0gIDE2LCAweGFkMDAsIDAsIHsweDRjLDB4YjAsMHgwMywweDJjLDB4MDIsMHg4YiwweDIwLDB4MTIsMHhjMCwweDI5LDB4YjAsMHgxMiwweGVjLDB4MDAsMHhmYiwweDAwIH0sCi0gIDE2LCAweGFkMTAsIDAsIHsweDNhLDB4YzAsMHgwZSwweDg4LDB4MDMsMHhlZCwweDIwLDB4ZmIsMHhjOCwweDM0LDB4ZjAsMHgwZCwweGJhLDB4MDMsMHg0NywweDYwIH0sCi0gIDE2LCAweGFkMjAsIDAsIHsweGM5LDB4MDAsMHgzNiwweDQwLDB4MGYsMHhiMCwweDBiLDB4OTAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGFkMzAsIDAsIHsweGUwLDB4MDEsMHg5YywweDAwLDB4ZWYsMHgwMCwweDBmLDB4MDAsMHgwZiwweDMwLDB4MDAsMHhmYywweDAwLDB4ZGYsMHg5MCwweGJiIH0sCi0gIDE2LCAweGFkNDAsIDAsIHsweGMwLDB4Y2UsMHhmMCwweDAzLDB4ZmMsMHgwNCwweGNiLDB4MDAsMHgxNywweGMwLDB4MGYsMHhjMCwweDAzLDB4YmMsMHg4NCwweGZmIH0sCi0gIDE2LCAweGFkNTAsIDAsIHsweDAwLDB4MzcsMHhjMCwweDBlLDB4ZDAsMHg2MywweGI4LDB4MDAsMHhlYSwweDAwLDB4M2EsMHg4MCwweDBjLDB4MzAsMHgwMywweDcwIH0sCi0gIDE2LCAweGFkNjAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YWMsMHgwMCwweGZiLDB4MDIsMHgzMiwweDAwIH0sCi0gIDE2LCAweGFkNzAsIDAsIHsweDBmLDB4YjAsMHg1MywweDJjLDB4MDAsMHhmYSwweDAwLDB4MzIsMHhjMCwweDhmLDB4YjAsMHgwNywweDJjLDB4MDAsMHhmYiwweDAwIH0sCi0gIDE2LCAweGFkODAsIDAsIHsweGIyLDB4YzAsMHgwZiwweDgwLDB4MDcsMHhhYywweDgwLDB4ZGIsMHgyNCwweDdlLDB4ZDAsMHgwZSwweGIwLDB4MjMsMHg3NCwweDA0IH0sCi0gIDE2LCAweGFkOTAsIDAsIHsweGRkLDB4MDgsMHhiNSwweDQwLDB4MGMsMHhiMCwweDAzLDB4MTAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGFkYTAsIDAsIHsweGM4LDB4MDUsMHgzYywweDAwLDB4YmYsMHhjMCwweGEwLDB4MDAsMHgxYiwweGYwLDB4MDIsMHgzZiwweDYwLDB4ZWEsMHg1MCwweDIzIH0sCi0gIDE2LCAweGFkYjAsIDAsIHsweGMwLDB4MDgsMHhmYSwweDA3LDB4ZmMsMHgwMCwweGRmLDB4MDAsMHg2MywweGMwLDB4NDgsMHgxOCwweDAyLDB4MmQsMHgwMCwweGIzIH0sCi0gIDE2LCAweGFkYzAsIDAsIHsweDAwLDB4NmUsMHhjMCwweDBkLDB4M2EsMHgwMywweDI0LDB4MDAsMHg4MiwweDgwLDB4MzIsMHg4MCwweDBkLDB4ZjAsMHgwMywweDMyIH0sCi0gIDE2LCAweGFkZDAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NGMsMHgxNCwweGIzLDB4NTksMHgyMCwweDgwIH0sCi0gIDE2LCAweGFkZTAsIDAsIHsweDA5LDB4MzAsMHgwMiwweDJlLDB4MDUsMHhiMCwweDQ0LDB4MmUsMHhjMCwweDA5LDB4MzQsMHg4MiwweGVjLDB4MDAsMHhhYiwweDA0IH0sCi0gIDE2LCAweGFkZjAsIDAsIHsweDIwLDB4YzAsMHgwOSwweDIxLDB4YjIsMHg4ZSwweDA0LDB4OTMsMHhjMCwweDI0LDB4YzAsMHgwYSwweDE4LDB4MDYsMHg0YywweDAwIH0sCi0gIDE2LCAweGFlMDAsIDAsIHsweDkyLDB4NTAsMHgyMCwweGMwLDB4MDgsMHgzMCwweDAyLDB4NzAsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGFlMTAsIDAsIHsweDIwLDB4MDEsMHgxZSwweDAwLDB4YjcsMHg4MCwweDYxLDB4ZTAsMHgwYiwweDc4LDB4MGEsMHg1ZSwweDAxLDB4YjEsMHhhMCwweDJkIH0sCi0gIDE2LCAweGFlMjAsIDAsIHsweGUwLDB4MGEsMHg3OCwweDAyLDB4NWUsMHgwMCwweDA3LDB4OTAsMHgyMSwweGUwLDB4MTgsMHhjOCwweDAyLDB4MWUsMHgwMCwweGI3IH0sCi0gIDE2LCAweGFlMzAsIDAsIHsweDgwLDB4MmQsMHhlMCwweDhhLDB4ZDgsMHgwMiwweDNlLDB4YzAsMHg4NSwweDgwLDB4MjEsMHgyMCwweDE5LDB4NzgsMHgyMiwweDAwIH0sCi0gIDE2LCAweGFlNDAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MGMsMHgwMCwweGYzLDB4OTQsMHgyMCwweDEwIH0sCi0gIDE2LCAweGFlNTAsIDAsIHsweDRiLDB4MzAsMHgwNywweDBjLDB4MDAsMHhmMywweDAwLDB4M2UsMHhjOCwweDBmLDB4MzAsMHgwMywweGNjLDB4MDAsMHgyMywweDEwIH0sCi0gIDE2LCAweGFlNjAsIDAsIHsweDAwLDB4Y2IsMHgwNSwweDIwLDB4MDIsMHg4YywweDYwLDB4OTMsMHgwYSwweDJlLDB4YzQsMHgwYSwweDAxLDB4MDcsMHg0YywweDgwIH0sCi0gIDE2LCAweGFlNzAsIDAsIHsweGQyLDB4MDEsMHgzMCwweGMwLDB4MmMsMHgzMCwweDBiLDB4NWEsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGFlODAsIDAsIHsweDQwLDB4MWQsMHhiYywweDAwLDB4ZmYsMHgwMSwweDBmLDB4NDAsMHgwZiwweGYwLDB4MTMsMHhiYywweDAwLDB4ZWYsMHgyNiwweDczIH0sCi0gIDE2LCAweGFlOTAsIDAsIHsweGMyLDB4MGMsMHhiMCwweDgzLDB4YmMsMHg0MCwweGZmLDB4MTgsMHgzZCwweGMwLDB4NGEsMHhjMSwweDAzLDB4ZmMsMHgwMCwweGZiIH0sCi0gIDE2LCAweGFlYTAsIDAsIHsweDEyLDB4M2YsMHhjNCwweDRkLDB4YzEsMHgwYiwweGZjLDB4ODEsMHhmZCwweDAwLDB4M2YsMHgyMCwweDBmLDB4ZjAsMHgwMywweGQwIH0sCi0gIDE2LCAweGFlYjAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZWMsMHgyMCwweGNiLDB4NDgsMHgzZSwweDAwIH0sCi0gIDE2LCAweGFlYzAsIDAsIHsweDBjLDB4YjAsMHgwMywweDJkLDB4MjAsMHhlOSwweDgwLDB4ZmEsMHhjOCwweDBkLDB4YjAsMHgwMywweGVlLDB4MDAsMHhkYiwweDI0IH0sCi0gIDE2LCAweGFlZDAsIDAsIHsweDc2LDB4ZjMsMHg4ZSwweDgwLDB4MzMsMHhlYywweDQ0LDB4ZWIsMHgxMCwweDNlLDB4YzAsMHgwZiwweDkwLDB4MDMsMHhlOCwweDA0IH0sCi0gIDE2LCAweGFlZTAsIDAsIHsweGRjLDB4MDAsMHhiMywweDYxLDB4MGMsMHhiMCwweDAzLDB4MmEsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGFlZjAsIDAsIHsweDQ4LDB4MTEsMHg4ZCwweDAwLDB4ODcsMHgyMCwweDJmLDB4MDEsMHgyOCwweDcwLDB4MDIsMHgwYywweDg0LDB4OGQsMHgwNCwweDMxIH0sCi0gIDE2LCAweGFmMDAsIDAsIHsweGNjLDB4YzksMHg3MiwweDAyLDB4ZGQsMHgwMCwweDM3LDB4MzMsMHgyMSwweGQ4LDB4MDgsMHg0MCwweDAyLDB4ZGMsMHgwMCwweGI3IH0sCi0gIDE2LCAweGFmMTAsIDAsIHsweDIwLDB4M2QsMHhjMCwweDA5LDB4NTAsMHgyMiwweGYwLDB4MDAsMHg5NywweDAwLDB4MjEsMHg4MCwweDBhLDB4ZmMsMHgwMiwweDkyIH0sCi0gIDE2LCAweGFmMjAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4MWUsMHg4MiwweDg3LDB4YjAsMHgyZCwweDIwIH0sCi0gIDE2LCAweGFmMzAsIDAsIHsweDA4LDB4MzksMHgwMiwweDFlLDB4NDEsMHhhNywweDgwLDB4MjQsMHhlMCwweDA5LDB4N2EsMHgzMiwweDhlLDB4ODIsMHgwNywweGEwIH0sCi0gIDE2LCAweGFmNDAsIDAsIHsweDI1LDB4ZTAsMHg4YiwweDQ4LDB4MDIsMHgxZSwweDAwLDB4YTcsMHhlMSwweDJkLDB4ZTAsMHg0YiwweDU4LDB4MDAsMHhkYSwweDAwIH0sCi0gIDE2LCAweGFmNTAsIDAsIHsweGEwLDB4ODAsMHgyNCwweDYwLDB4MDgsMHg3YSwweDAyLDB4MzAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGFmNjAsIDAsIHsweDQ4LDB4MTQsMHhjYywweDAwLDB4ODMsMHgwMCwweDJjLDB4MDAsMHgwOCwweDMwLDB4MDIsMHg4YywweDAwLDB4OTMsMHgwMCwweDIyIH0sCi0gIDE2LCAweGFmNzAsIDAsIHsweGMxLDB4MDksMHgzMCwweDQyLDB4Y2MsMHgwMCwweDgzLDB4MDAsMHg2MCwweGMwLDB4MDgsMHgxYSwweDAyLDB4Y2UsMHgwNCwweGIzIH0sCi0gIDE2LCAweGFmODAsIDAsIHsweGUwLDB4MjgsMHhhMCwweDA5LDB4MWMsMHg4MiwweDRiLDB4MDgsMHhhMywweDgwLDB4MjQsMHhhMCwweDJhLDB4MzAsMHgwMiwweDlhIH0sCi0gIDE2LCAweGFmOTAsIDAsIHsweDA0LDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YTgsMHgwMCwweGNhLDB4MDAsMHgyZiwweDg4IH0sCi0gIDE2LCAweGFmYTAsIDAsIHsweDBjLDB4YTAsMHgxMywweDI4LDB4MDAsMHhlZSwweDAwLDB4MmUsMHg4MCwweDJkLDB4YTAsMHgwMywweGU4LDB4MDAsMHhkYSwweDAwIH0sCi0gIDE2LCAweGFmYjAsIDAsIHsweDc2LDB4ODAsMHgwZSwweGU4LDB4MDMsMHhiYiwweDgwLDB4ZWUsMHg0MCwweDJmLDB4YTIsMHg4ZiwweGU2LDB4MDMsMHhlYiwweDg2IH0sCi0gIDE2LCAweGFmYzAsIDAsIHsweGZhLDB4ODAsMHgzNywweDgyLDB4MGMsMHgyMCwweDA3LDB4M2EsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGFmZDAsIDAsIHsweDQ4LDB4MDAsMHhlMCwweDAwLDB4ZjgsMHg0MCwweDFlLDB4MDAsMHgwZiwweDgwLDB4MGIsMHg2MSwweDAwLDB4ZTgsMHhjMCwweDNhIH0sCi0gIDE2LCAweGFmZTAsIDAsIHsweDAwLDB4MGUsMHg4MCwweDAzLDB4ZTAsMHgwMSwweGY4LDB4MDAsMHg3ZSwweDEwLDB4MWUsMHg4MSwweDAzLDB4ZTAsMHgwOCwweGY4IH0sCi0gIDE2LCAweGFmZjAsIDAsIHsweDAwLDB4M2UsMHgwMCwweDBkLDB4ODAsMHgwMywweGMwLDB4MjgsMHhkYywweDUwLDB4M2IsMHgwMCwweDBmLDB4ODAsMHgwMywweGQyIH0sCi0gIDE2LCAweGIwMDAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4YzQsMHgwMiwweGM5LDB4MDAsMHgzZSwweDQyIH0sCi0gIDE2LCAweGIwMTAsIDAsIHsweDBmLDB4MTAsMHgwMywweGE2LDB4MDAsMHhjOSwweDAxLDB4M2EsMHg0MCwweDBlLDB4OTQsMHgwMSwweGU0LDB4MTAsMHhmMSwweDA0IH0sCi0gIDE2LCAweGIwMjAsIDAsIHsweDMyLDB4NDAsMHgwZiwweDlhLDB4MjMsMHgyMCwweDYwLDB4ZjgsMHgwNCwweDBhLDB4NDIsMHgwZSwweDkwLDB4MTMsMHgyNCwweDAwIH0sCi0gIDE2LCAweGIwMzAsIDAsIHsweGMxLDB4MDAsMHgzMiwweDQwLDB4MGYsMHg5MCwweDAzLDB4MDIsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGIwNDAsIDAsIHsweDgwLDB4MDQsMHg2NywweDA4LDB4YTksMHgwMCwweDZlLDB4NDAsMHgwOCwweDkwLDB4MDIsMHgyNywweDgyLDB4ODksMHgwMCwweDI2IH0sCi0gIDE2LCAweGIwNTAsIDAsIHsweDQwLDB4MDgsMHg5YywweDAzLDB4YTQsMHgxMCwweGI5LDB4MDAsMHgzNiwweDQwLDB4OWIsMHgxYywweDFhLDB4MjMsMHgwNCwweGI4IH0sCi0gIDE2LCAweGIwNjAsIDAsIHsweDAwLDB4M2EsMHg0MCwweDBlLDB4MTAsMHgwMiwweDI0LDB4MDIsMHhjOSwweGEwLDB4YTIsMHg0MCwweDBiLDB4OTAsMHgwYSwweDIwIH0sCi0gIDE2LCAweGIwNzAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4MjUsMHg4MCwweDg5LDB4MDQsMHgyYywweDQwIH0sCi0gIDE2LCAweGIwODAsIDAsIHsweDA4LDB4OTAsMHgwMiwweDg0LDB4ODEsMHg5OSwweDQwLDB4MmUsMHg0MCwweDFhLDB4OTAsMHgwNiwweGU0LDB4MDEsMHhiOSwweDAwIH0sCi0gIDE2LCAweGIwOTAsIDAsIHsweGE2LDB4NDEsMHgxYiwweDkwLDB4ODIsMHgyMSwweDAwLDB4YjgsMHgxMCwweDJlLDB4NDAsMHgwYSwweDkyLDB4MGEsMHhhNCwweDAxIH0sCi0gIDE2LCAweGIwYTAsIDAsIHsweDhmLDB4MjIsMHgyMywweDQwLDB4MGIsMHg5MCwweDAyLDB4MDYsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGIwYjAsIDAsIHsweDA4LDB4MDQsMHgwNCwweDgwLDB4YTMsMHgyMCwweDJjLDB4NDEsMHgwOSwweDEyLDB4MDIsMHgwNCwweDgwLDB4ODEsMHgyMCwweDI0IH0sCi0gIDE2LCAweGIwYzAsIDAsIHsweDQ4LDB4MGEsMHgzNiwweDAyLDB4YzQsMHg4MCwweGIxLDB4MjAsMHgwNCwweGM4LDB4NGIsMHgxNCwweDAyLDB4MDUsMHgwMCwweGIxIH0sCi0gIDE2LCAweGIwZDAsIDAsIHsweDA1LDB4MjgsMHg1MCwweDBhLDB4OTAsMHgwMiwweDA1LDB4MDIsMHg4NSwweDAwLDB4MjEsMHg0MCwweDBiLDB4MTIsMHgwMiwweDAyIH0sCi0gIDE2LCAweGIwZTAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjAsMHgwMCwweGM4LDB4MDAsMHg2ZSwweDE0IH0sCi0gIDE2LCAweGIwZjAsIDAsIHsweDJjLDB4ODUsMHgwMiwweGExLDB4NDAsMHhjOCwweDUwLDB4M2EsMHgxNCwweDBlLDB4ODAsMHgwMiwweGUxLDB4NDAsMHhiMCwweDUwIH0sCi0gIDE2LCAweGIxMDAsIDAsIHsweDMyLDB4MDAsMHgwYiwweDgwLDB4MDMsMHgyMCwweDAwLDB4ZmEsMHgwMCwweDNlLDB4MDAsMHgwZSwweDgwLDB4MDMsMHhhMCwweDAyIH0sCi0gIDE2LCAweGIxMTAsIDAsIHsweGM4LDB4MDAsMHgxMywweDAwLDB4MGYsMHg4MiwweDAzLDB4MmUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGIxMjAsIDAsIHsweDk4LDB4MWQsMHhlNCwweDQ4LDB4ZjksMHgxNCwweDNmLDB4NDAsMHgwYywweDkxLDB4MDMsMHhlNCwweDQyLDB4ZmQsMHgxMCwweDM2IH0sCi0gIDE2LCAweGIxMzAsIDAsIHsweDQ0LDB4MGQsMHg5MSwweDIzLDB4YTQsMHg0OCwweGY5LDB4MTEsMHgzOCwweDQ0LDB4MGYsMHhkMCwweDAzLDB4ZTUsMHgxNCwweDM5IH0sCi0gIDE2LCAweGIxNDAsIDAsIHsweDQyLDB4N2IsMHg0MCwweDhlLDB4ZDAsMHgwMSwweGY1LDB4MDAsMHhhOSwweDQwLDB4M2UsMHg1MCwweDA3LDB4OTYsMHg4MywweGU2IH0sCi0gIDE2LCAweGIxNTAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDAxLDB4ZjYsMHg4MCwweGRkLDB4YWUsMHgzYSwweDUwIH0sCi0gIDE2LCAweGIxNjAsIDAsIHsweDBkLDB4OWEsMHgwYiwweDc2LDB4ODAsMHhjZiwweDg4LDB4MzIsMHg3MCwweDJkLDB4ZGEsMHgwMywweGE3LDB4MDEsMHhlOSwweDkyIH0sCi0gIDE2LCAweGIxNzAsIDAsIHsweDM3LDB4NjgsMHgwZCwweDk0LDB4MDMsMHhlNywweDAwLDB4ZWQsMHhhMCwweDNhLDB4NTAsMHgwZiwweGQwLDB4MDMsMHhlNywweDAyIH0sCi0gIDE2LCAweGIxODAsIDAsIHsweGNkLDB4ODAsMHgzMywweDY4LDB4MGMsMHhkOCwweDgzLDB4MDYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGIxOTAsIDAsIHsweDM4LDB4MTAsMHhlMSwweDAwLDB4ODgsMHg0MCwweDIwLDB4MjAsMHgwYywweDhjLDB4MDIsMHgyMywweDAwLDB4ODgsMHhlMCwweDIyIH0sCi0gIDE2LCAweGIxYTAsIDAsIHsweDMwLDB4MDgsMHg4NCwweDAyLDB4ZTMsMHgwMCwweGI4LDB4ZTAsMHgyMiwweDE0LDB4OGQsMHg4OCwweDAyLDB4ZTMsMHgwMCwweGI4IH0sCi0gIDE2LCAweGIxYjAsIDAsIHsweDUwLDB4MmUsMHhhOCwweDhiLDB4ODAsMHgyMiwweGUzLDB4NDgsMHg4OCwweDUwLDB4MjIsMHgwMCwweDA4LDB4OGMsMHgwMiwweDBlIH0sCi0gIDE2LCAweGIxYzAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4YzQsMHg0MCwweDkxLDB4MDAsMHgyYSwweDQ4IH0sCi0gIDE2LCAweGIxZDAsIDAsIHsweDA5LDB4MTQsMHg4MiwweDA1LDB4MjAsMHg4MSwweDA4LDB4MjAsMHg1OCwweDA5LDB4MTEsMHgwMiwweDg1LDB4ODgsMHhiMSwweDQwIH0sCi0gIDE2LCAweGIxZTAsIDAsIHsweGEwLDB4NDAsMHgwOCwweDEyLDB4MDIsMHhjNSwweDgwLDB4YTEsMHgwMCwweDI4LDB4NDAsMHgwYiwweDE4LDB4MDIsMHhjNCwweDg0IH0sCi0gIDE2LCAweGIxZjAsIDAsIHsweGExLDB4MDAsMHgyNCwweDUwLDB4MDgsMHgxMCwweDkyLDB4MDMsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGIyMDAsIDAsIHsweDE4LDB4MTUsMHhhYywweDEwLDB4OWIsMHgwMCwweDIyLDB4NDAsMHgwOCwweDkwLDB4MDIsMHgwNCwweDA2LDB4ODksMHgwNCwweDIwIH0sCi0gIDE2LCAweGIyMTAsIDAsIHsweDQwLDB4MDksMHg5MCwweDAyLDB4ZTQsMHgwMSwweGI5LDB4MDIsMHgyMiwweDQxLDB4ODksMHhhMCwweDgyLDB4ZTAsMHhhMCwweGI5IH0sCi0gIDE2LCAweGIyMjAsIDAsIHsweDI4LDB4MmUsMHg0NCwweDBiLDB4YjAsMHgwMiwweGU0LDB4MDIsMHhiOSwweDAwLDB4MjYsMHg0MCwweDI4LDB4MTAsMHgwMiwweDA2IH0sCi0gIDE2LCAweGIyMzAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4ZTQsMHgwMCwweGQ5LDB4MDAsMHgzOCwweDQwIH0sCi0gIDE2LCAweGIyNDAsIDAsIHsweDBkLDB4OTAsMHgwMywweDI0LDB4MDAsMHhjOSwweGEwLDB4YTIsMHg0MCwweDhkLDB4OTAsMHgwMywweGE0LDB4MDAsMHhmOSwweDAwIH0sCi0gIDE2LCAweGIyNTAsIDAsIHsweDM2LDB4NDAsMHgwYywweDg0LDB4MTMsMHhlMiwweDAwLDB4ZTksMHgwMCwweDNhLDB4NTAsMHgwZiwweDljLDB4MDIsMHhlNiwweDg0IH0sCi0gIDE2LCAweGIyNjAsIDAsIHsweGU5LDB4MDAsMHhiNiwweDQwLDB4MGMsMHg5MCwweDAzLDB4MjgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGIyNzAsIDAsIHsweDI4LDB4MDEsMHhhNCwweDAwLDB4ZTEsMHgwMCwweDNlLDB4NjgsMHgwZSwweDEwLDB4MDMsMHhhNCwweDAwLDB4ZjEsMHgyOCwweDNhIH0sCi0gIDE2LCAweGIyODAsIDAsIHsweDQwLDB4MGUsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGY5LDB4MDAsMHgzZSwweDQyLDB4MGYsMHg4MCwweDIzLDB4ZTIsMHgwMCwweGY5IH0sCi0gIDE2LCAweGIyOTAsIDAsIHsweDAwLDB4M2UsMHg0MCwweDBmLDB4OTEsMHgyMywweGU0LDB4NDAsMHhjMSwweDAwLDB4M2EsMHg0MCwweDBmLDB4OTAsMHgwYiwweGNhIH0sCi0gIDE2LCAweGIyYTAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4ODAsMHgwMCwweGM4LDB4MDAsMHgzMiwweDAwIH0sCi0gIDE2LCAweGIyYjAsIDAsIHsweDBjLDB4ODAsMHgwMywweGEwLDB4MjAsMHhjOCwweDQwLDB4M2UsMHgwMCwweDBlLDB4ODEsMHg2MywweDYwLDB4MDAsMHhmMCwweDA0IH0sCi0gIDE2LCAweGIyYzAsIDAsIHsweDNjLDB4MDEsMHgwYywweDg0LDB4MDMsMHhlMCwweDAwLDB4YzgsMHgwMCwweDNlLDB4MDAsMHgwZSwweDgwLDB4MDMsMHhjMSwweDAwIH0sCi0gIDE2LCAweGIyZDAsIDAsIHsweGQ4LDB4MTAsMHgzMiwweDAwLDB4MGMsMHg4MCwweDIzLDB4MGEsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGIyZTAsIDAsIHsweDI4LDB4MDUsMHgzOCwweDYwLDB4OGUsMHgwMCwweDIyLDB4ODAsMHgwYSwweGEwLDB4MDIsMHgzOCwweDgwLDB4YmUsMHgwMCwweDNhIH0sCi0gIDE2LCAweGIyZjAsIDAsIHsweDgwLDB4MDgsMHhlMCwweDAyLDB4MjgsMHgwMCwweGJhLDB4MDAsMHgyMywweDk4LDB4MTgsMHhlYywweDAyLDB4ZjgsMHgyMCwweGFlIH0sCi0gIDE2LCAweGIzMDAsIDAsIHsweDAwLDB4MjIsMHg4MCwweDBiLDB4ZTQsMHg4MiwweGU4LDB4MDIsMHhjZSwweDQ0LDB4MjgsMHg4MCwweDBkLDB4YTAsMHgwYSwweDBhIH0sCi0gIDE2LCAweGIzMTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NDAsMHgwMCwweDgyLDB4MDQsMHhhMCwweGMwIH0sCi0gIDE2LCAweGIzMjAsIDAsIHsweDA5LDB4MzAsMHgwMiwweDhlLDB4MDQsMHg4MywweDUwLDB4NmMsMHhjMCwweDBhLDB4MzAsMHg4NiwweDBjLDB4MDAsMHhiMywweDAwIH0sCi0gIDE2LCAweGIzMzAsIDAsIHsweDI4LDB4MzAsMHgwYSwweDM2LDB4MTIsMHhjYywweDgwLDB4ODEsMHgwMCwweDI0LDB4YzAsMHgwYiwweDMyLDB4MDYsMHhjYywweDAwIH0sCi0gIDE2LCAweGIzNDAsIDAsIHsweDgwLDB4ODgsMHg2NCwweDYwLDB4MjgsMHgxMCwweDAyLDB4MDIsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGIzNTAsIDAsIHsweGEwLDB4MDEsMHgxMCwweDEyLDB4ODQsMHg0MCwweDIxLDB4YzgsMHgwYSwweDcyLDB4MDIsMHgxMCwweDAwLDB4YjcsMHgwMCwweDJkIH0sCi0gIDE2LCAweGIzNjAsIDAsIHsweGNjLDB4MDgsMHgzOCwweDEyLDB4MWMsMHgwMCwweGIzLDB4MzAsMHgyMCwweDAwLDB4MDgsMHg3MSwweDgyLDB4ZmUsMHgwMCwweGE0IH0sCi0gIDE2LCAweGIzNzAsIDAsIHsweDgwLDB4MjEsMHhjOCwweDBiLDB4NzAsMHgwMiwweGRjLDB4MDEsMHg4NywweDAwLDB4MmMsMHg0MiwweDA5LDB4NTEsMHgwMiwweDIwIH0sCi0gIDE2LCAweGIzODAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MTIsMHgwMCwweGMyLDB4ODAsMHgzMSwweGY4IH0sCi0gIDE2LCAweGIzOTAsIDAsIHsweDRjLDB4ZmMsMHgxMywweDkyLDB4MDksMHhjNywweDgwLDB4M2MsMHhlZCwweDFlLDB4NzgsMHgyNywweDFlLDB4MDAsMHhmNywweDhjIH0sCi0gIDE2LCAweGIzYTAsIDAsIHsweDc5LDB4MjAsMHgwOCwweDdhLDB4MDMsMHhkZSwweDgxLDB4ODQsMHg4MCwweDNkLDB4ZTAsMHgwZSwweDc4LDB4MDMsMHhmZSwweDIwIH0sCi0gIDE2LCAweGIzYjAsIDAsIHsweGM1LDB4ODEsMHgzNSwweDYwLDB4MmMsMHg1OCwweDAzLDB4MmEsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGIzYzAsIDAsIHsweDA4LDB4MWQsMHg4MCwweDAwLDB4ZjgsMHgwNCwweDNlLDB4ZDAsMHgwZiwweGIwLDB4MTMsMHhlMCwweDAwLDB4ZmIsMHgwMiwweDNhIH0sCi0gIDE2LCAweGIzZDAsIDAsIHsweGQwLDB4MGYsMHhhMCwweDBiLDB4YWMsMHg0MCwweGZiLDB4MDAsMHgzYSwweDAwLDB4MmYsMHhiMCwweDAzLDB4Y2MsMHgwMCwweGYwIH0sCi0gIDE2LCAweGIzZTAsIDAsIHsweDAwLDB4M2EsMHhjNCwweDBmLDB4YjAsMHgwMywweGZjLDB4NDEsMHhmMywweDAwLDB4M2EsMHg0MCwweDBmLDB4NTAsMHg5MywweGMyIH0sCi0gIDE2LCAweGIzZjAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZjYsMHgwMCwweGNjLDB4ODEsMHgzZiwweGZjIH0sCi0gIDE2LCAweGI0MDAsIDAsIHsweDFjLDB4ZjgsMHgwMywweDc2LDB4NDAsMHhlZiwweDkyLDB4M2YsMHhlNCwweDhjLDB4ZjgsMHgwMywweGJmLDB4MTAsMHhmZiwweDgwIH0sCi0gIDE2LCAweGI0MTAsIDAsIHsweGIzLDB4MjAsMHgwZSwweGY5LDB4MTMsMHhmZSwweDI0LDB4ZmQsMHg5NCwweDM3LDB4ZTAsMHgxYywweGY5LDB4MDMsMHhlZSwweDAwIH0sCi0gIDE2LCAweGI0MjAsIDAsIHsweGNkLDB4ODAsMHhiMywweGUwLDB4MGMsMHg1OCwweDAyLDB4MDAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGI0MzAsIDAsIHsweGE4LDB4MTEsMHg5NCwweDQwLDB4ODAsMHgwMCwweDJmLDB4YzQsMHgwOCwweDcyLDB4MDIsMHhkZCwweDA4LDB4ZDcsMHgwMCwweDJkIH0sCi0gIDE2LCAweGI0NDAsIDAsIHsweGNjLDB4MDgsMHhkZSwweDAzLDB4NWMsMHgwMCwweGI3LDB4MDQsMHgyMSwweDgwLDB4YzgsMHg3MCwweDgzLDB4ZGMsMHgwMCwweGI0IH0sCi0gIDE2LCAweGI0NTAsIDAsIHsweGEwLDB4MmYsMHhjMCwweDBjLDB4NzAsMHgwMiwweGRlLDB4ODAsMHg4NywweDAwLDB4MjEsMHhjMiwweDBhLDB4NTEsMHg0MiwweDJhIH0sCi0gIDE2LCAweGI0NjAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OTAsMHgwMCwweDg0LDB4MDAsMHgyZCwweGM4IH0sCi0gIDE2LCAweGI0NzAsIDAsIHsweDQ4LDB4NzAsMHgwMiwweDU0LDB4MGMsMHhhNywweDAwLDB4MmMsMHhjMCwweDg5LDB4NzIsMHgwMiwweDVjLDB4MDAsMHhiMywweDEwIH0sCi0gIDE2LCAweGI0ODAsIDAsIHsweDIwLDB4MDAsMHgwYSwweDcwLDB4MDYsMHhkYywweDAwLDB4YjQsMHgyMCwweDJkLDB4YzAsMHgwOCwweDcwLDB4MDIsMHhkYywweDgwIH0sCi0gIDE2LCAweGI0OTAsIDAsIHsweDkzLDB4MDAsMHgyMCwweGMwLDB4MDgsMHg1MCwweDAyLDB4MDAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGI0YTAsIDAsIHsweDIwLDB4MTQsMHhjMCwweDAwLDB4ODAsMHgwMCwweDJlLDB4YzAsMHgwOCwweDMwLDB4MDIsMHhjNCwweDA4LDB4YTIsMHg0MiwweDJjIH0sCi0gIDE2LCAweGI0YjAsIDAsIHsweGMxLDB4MDksMHgyMCwweDAyLDB4NGMsMHgwMCwweGIzLDB4MDAsMHgyMCwweDgwLDB4MDgsMHgzYywweDIyLDB4OGMsMHgyMCwweGIwIH0sCi0gIDE2LCAweGI0YzAsIDAsIHsweDA4LDB4MmUsMHhlMCwweDA4LDB4MzgsMHgxMCwweGNmLDB4MGEsMHg5MywweDQwLDB4YTAsMHhmMCwweDBhLDB4MTAsMHgwMiwweDA4IH0sCi0gIDE2LCAweGI0ZDAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YTgsMHgwMCwweGMxLDB4MDAsMHgzZiwweGMwIH0sCi0gIDE2LCAweGI0ZTAsIDAsIHsweDJjLDB4ZjAsMHgwMywweDY4LDB4MDAsMHhhYSwweDAwLDB4M2YsMHhjMCwweDJkLDB4ODAsMHgwMywweDdjLDB4MDAsMHhmZiwweDAwIH0sCi0gIDE2LCAweGI0ZjAsIDAsIHsweDMyLDB4MDAsMHgwZSwweGIwLDB4MTIsMHhlZCwweDI0LDB4ZmEsMHgwOCwweDI3LDB4YzgsMHgxMCwweGI4LDB4YTIsMHhmZiwweDYwIH0sCi0gIDE2LCAweGI1MDAsIDAsIHsweDk4LDB4YTAsMHhhMiwweGUwLDB4MGMsMHg1MCwweDAzLDB4MmEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGI1MTAsIDAsIHsweDgwLDB4MDAsMHhjOSwweDA2LDB4ZjgsMHg0MSwweDNlLDB4YzAsMHgwZiwweGIwLDB4MDMsMHhlOSwweDEwLDB4NWEsMHgyMCwweDNlIH0sCi0gIDE2LCAweGI1MjAsIDAsIHsweGMwLDB4MGUsMHg4MCwweDAzLDB4ZWMsMHgwMCwweGYzLDB4MDAsMHg3ZSwweDAxLDB4MGYsMHhiMCwweDkzLDB4ZWQsMHgwMCwweGY4IH0sCi0gIDE2LCAweGI1MzAsIDAsIHsweDQwLDB4M2UsMHhjMCwweDBlLDB4YjAsMHgwMywweGZjLDB4MDAsMHhlMywweDA4LDB4M2MsMHhjMiwweDBmLDB4ZDAsMHgxMywweGUwIH0sCi0gIDE2LCAweGI1NDAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZjMsMHgwMiwweGNjLDB4MDAsMHgzYiwweGMyIH0sCi0gIDE2LCAweGI1NTAsIDAsIHsweDBjLDB4ZjAsMHgyMywweGFlLDB4NDAsMHhkZiwweDgxLDB4MzksMHhjMCwweDA2LDB4ZDAsMHgwMywweGZjLDB4MDAsMHhmZiwweDA0IH0sCi0gIDE2LCAweGI1NjAsIDAsIHsweDMxLDB4NDEsMHgwYywweGYwLDB4MDMsMHhmYywweDAwLDB4Y2MsMHhhMCwweDM3LDB4YzIsMHgwYywweGYwLDB4MDMsMHg3YywweDA0IH0sCi0gIDE2LCAweGI1NzAsIDAsIHsweGNkLDB4MDAsMHgzMywweGYwLDB4MGMsMHhkMCwweDAzLDB4MDgsMHg0NCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGI1ODAsIDAsIHsweDgxLDB4MDQsMHg2MCwweDAwLDB4ODgsMHg4MCwweDIyLDB4YzAsMHgwYSwweGIwLDB4MDIsMHhlOSwweDAwLDB4YWIsMHg0NCwweDJlIH0sCi0gIDE2LCAweGI1OTAsIDAsIHsweGMwLDB4MDgsMHg4OCwweDAyLDB4ZWMsMHgwMCwweGJiLDB4MDAsMHhhMiwweDcwLDB4MGEsMHhiNCwweDAyLDB4Y2MsMHgwMCwweGEwIH0sCi0gIDE2LCAweGI1YTAsIDAsIHsweDIwLDB4MjIsMHhjMCwweDBmLDB4YmMsMHgwMiwweGNjLDB4MGEsMHg4YiwweDgwLDB4YTIsMHhjMCwweDBkLDB4OTAsMHgwMiwweDIwIH0sCi0gIDE2LCAweGI1YjAsIDAsIHsweDQwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MjAsMHgwMCwweDg5LDB4ODAsMHgyYSwweGMwIH0sCi0gIDE2LCAweGI1YzAsIDAsIHsweDA4LDB4YjAsMHgwMiwweGNjLDB4MDYsMHg4OCwweDYwLDB4MmUsMHhjMCwweDBhLDB4OTgsMHgwNiwweGVjLDB4MDEsMHhiYiwweDAwIH0sCi0gIDE2LCAweGI1ZDAsIDAsIHsweDIyLDB4MzEsMHgwMiwweGIyLDB4MDIsMHhlYywweGEwLDB4OGEsMHgwMCwweDI2LDB4YzAsMHg0OCwweGE4LDB4MDIsMHhlYywweDA0IH0sCi0gIDE2LCAweGI1ZTAsIDAsIHsweGE5LDB4ODAsMHgyMiwweDQwLDB4MDgsMHg5MCwweDAyLDB4MjAsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGI1ZjAsIDAsIHsweDA4LDB4MDQsMHgwMCwweDAwLDB4ODAsMHgwMCwweDIwLDB4YzAsMHgwYSwweDMwLDB4NDIsMHhjYywweDAwLDB4ODAsMHgwMSwweDJjIH0sCi0gIDE2LCAweGI2MDAsIDAsIHsweGMwLDB4MWEsMHgxMiwweDAyLDB4Y2MsMHgwMCwweGIzLDB4MDAsMHgyMCwweDAwLDB4NGEsMHgzMCwweDAyLDB4Y2MsMHgwMCwweGEwIH0sCi0gIDE2LCAweGI2MTAsIDAsIHsweDAwLDB4MDgsMHhjMCwweDBiLDB4MjAsMHgwNiwweGVjLDB4YTAsMHhhMywweDAwLDB4YTAsMHg0MCwweDI5LDB4MTAsMHgwMCwweDAyIH0sCi0gIDE2LCAweGI2MjAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4NjAsMHgwMCwweGM4LDB4NTAsMHgzYiwweGMwIH0sCi0gIDE2LCAweGI2MzAsIDAsIHsweDBjLDB4YjAsMHgwMywweGFjLDB4MDAsMHhjOSwweDAwLDB4M2IsMHhjMCwweDBlLDB4OTIsMHg4MywweGZjLDB4MDAsMHhiZiwweDAwIH0sCi0gIDE2LCAweGI2NDAsIDAsIHsweDEyLDB4MDAsMHgwYywweGIwLDB4MDMsMHhlYywweDAwLDB4ODgsMHgyNiwweDE2LDB4YzAsMHgwYywweDgwLDB4MTcsMHg1YywweDgwIH0sCi0gIDE2LCAweGI2NTAsIDAsIHsweGU5LDB4MDEsMHgzMiwweDQwLDB4MmMsMHhkMCwweDAzLDB4MDAsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGI2NjAsIDAsIHsweGEwLDB4MWQsMHhkMCwweDAwLDB4ZmMsMHgyMCwweDNmLDB4YzAsMHgwZiwweGYwLDB4MDMsMHhmYywweDAwLDB4ZmMsMHgwMCwweDNmIH0sCi0gIDE2LCAweGI2NzAsIDAsIHsweGMwLDB4MGQsMHg4MCwweDAzLDB4ZmMsMHgwOCwweGZmLDB4MDAsMHgzZiwweDAwLDB4MGYsMHhmMCwweDAzLDB4ZmMsMHgxMCwweGY4IH0sCi0gIDE2LCAweGI2ODAsIDAsIHsweDQwLDB4MzcsMHhjMCwweDBlLDB4ZTAsMHgyMSwweGZjLDB4MDgsMHhkZiwweDAwLDB4M2YsMHg0MCwweDBmLDB4ZDAsMHgwMywweGUwIH0sCi0gIDE2LCAweGI2OTAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZmMsMHhjMCwweGZmLDB4MjEsMHg3MSwweDI0IH0sCi0gIDE2LCAweGI2YTAsIDAsIHsweDBmLDB4ZjEsMHg4MywweGYyLDB4NDAsMHhmZiwweDAwLDB4MzcsMHhjNCwweDlmLDB4ZjIsMHg0NywweDNkLDB4MDQsMHhjNywweDIwIH0sCi0gIDE2LCAweGI2YjAsIDAsIHsweDMzLDB4YzAsMHgwYywweDc4LDB4MjMsMHhmZSwweDQwLDB4ZTgsMHgxMCwweDI3LDB4YzQsMHgwZiwweGYyLDB4MTMsMHgzYywweDg0IH0sCi0gIDE2LCAweGI2YzAsIDAsIHsweGM0LDB4ODEsMHgzMywweDIwLDB4NGMsMHhmMCwweDIzLDB4NzAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGI2ZDAsIDAsIHsweDgwLDB4MTAsMHhlZCwweDQwLDB4YmYsMHg1NCwweDYyLDB4YzgsMHgwYiwweGY2LDB4MDIsMHhlMCwweDAwLDB4YmIsMHhkMCwweDIyIH0sCi0gIDE2LCAweGI2ZTAsIDAsIHsweGYwLDB4MWYsMHhmOSwweDEyLDB4M2QsMHg4MCwweDlmLDB4ODEsMHgyYiwweGUwLDB4MGEsMHhiOCwweDEyLDB4ZTgsMHgwMCwweDhmIH0sCi0gIDE2LCAweGI2ZjAsIDAsIHsweDA0LDB4MjIsMHhkMCwweDA4LDB4YjMsMHg4YSwweGJmLDB4NDIsMHg4YiwweDgyLDB4MjIsMHhlMCwweDI4LDB4OGMsMHgwMiwweDIwIH0sCi0gIDE2LCAweGI3MDAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4Y2MsMHgwMCwweGIzLDB4MjgsMHgyOCwweDA4IH0sCi0gIDE2LCAweGI3MTAsIDAsIHsweDBiLDB4MzAsMHgwNiwweDgwLDB4ODAsMHhiMywweDAyLDB4MjQsMHhkMSwweDBiLDB4MzAsMHgwMiwweDhkLDB4ODAsMHg5MywweDEwIH0sCi0gIDE2LCAweGI3MjAsIDAsIHsweDIwLDB4Y2UsMHg4YiwweDMwLDB4MDIsMHhjYywweDg0LDB4YTEsMHgyMSwweDJjLDB4Y2MsMHgwYSwweDMwLDB4MGEsMHg0YywweDAwIH0sCi0gIDE2LCAweGI3MzAsIDAsIHsweDkzLDB4MDAsMHgyOCwweGMwLDB4MDgsMHgzYywweDAyLDB4MjIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGI3NDAsIDAsIHsweGMwLDB4MTUsMHhhYywweDEwLDB4YmIsMHgwMiwweDZhLDB4ZTAsMHgwYiwweGIwLDB4MDIsMHhlMSwweDA4LDB4YmIsMHgwNCwweDJhIH0sCi0gIDE2LCAweGI3NTAsIDAsIHsweGMwLDB4MGEsMHhiMCwweDEyLDB4OGMsMHgwMCwweDliLDB4MDAsMHgyYSwweGMwLDB4MGIsMHhiMSwweDA2LDB4YzgsMHg4MCwweDhiIH0sCi0gIDE2LCAweGI3NjAsIDAsIHsweDgyLDB4NmEsMHhjMSwweDBhLDB4MzAsMHgwMiwweGFjLDB4MTgsMHg4OCwweDEwLDB4MmEsMHg0OCwweDA4LDB4ODAsMHgwMiwweDMwIH0sCi0gIDE2LCAweGI3NzAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDE1LDB4ZWMsMHgwMCwweGZiLDB4MDAsMHhhYSwweDMwIH0sCi0gIDE2LCAweGI3ODAsIDAsIHsweDBmLDB4YjAsMHgwMywweGE4LDB4MDAsMHhmMywweDAxLDB4YjYsMHhjMSwweDBiLDB4YjAsMHgwMiwweGFjLDB4MDgsMHg0YiwweDAwIH0sCi0gIDE2LCAweGI3OTAsIDAsIHsweGIyLDB4YzAsMHgwZiwweGI4LDB4MDIsMHhlYywweDEwLDB4YTksMHg4MSwweDNlLDB4YzAsMHgwZiwweGIwLDB4MDMsMHgwYywweDAwIH0sCi0gIDE2LCAweGI3YTAsIDAsIHsweGNiLDB4YTAsMHgxOCwweGQwLDB4MGMsMHhiMCwweDAzLDB4MTAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGI3YjAsIDAsIHsweGUwLDB4MDEsMHhiYywweDA4LDB4ZjcsMHgwMCwweDM3LDB4MDAsMHgwZiwweGYwLDB4MDMsMHhmZCwweDAwLDB4ZmYsMHgwMCwweDM3IH0sCi0gIDE2LCAweGI3YzAsIDAsIHsweGMwLDB4MGYsMHhiMCwweDA3LDB4N2MsMHgwMCwweGU3LDB4MDAsMHgzZSwweGMwLDB4MGEsMHhmMCwweDAzLDB4ZmUsMHgwMCwweGY3IH0sCi0gIDE2LCAweGI3ZDAsIDAsIHsweDAwLDB4MzYsMHhjMCwweDBjLDB4ZjAsMHgwMywweGZjLDB4MDAsMHhmZiwweDgwLDB4MzcsMHhlMCwweDBmLDB4YTAsMHgwMywweGI4IH0sCi0gIDE2LCAweGI3ZTAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YWMsMHgwMCwweGRiLDB4MDAsMHgzNiwweDAwIH0sCi0gIDE2LCAweGI3ZjAsIDAsIHsweDBlLDB4YjAsMHgwMywweDY5LDB4MDAsMHhkYiwweDA5LDB4M2EsMHhjMCwweDFmLDB4MzAsMHgyMywweGVjLDB4MDgsMHhjYiwweDIwIH0sCi0gIDE2LCAweGI4MDAsIDAsIHsweDM0LDB4YzAsMHgyZiwweGIwLDB4MDMsMHhlYywweDQwLDB4ZWIsMHg0OCwweDNlLDB4YzQsMHg0ZCwweGIwLDB4OGIsMHg2YywweDAwIH0sCi0gIDE2LCAweGI4MTAsIDAsIHsweGNiLDB4MDAsMHgzMiwweDkwLDB4MGYsMHgzMCwweDAzLDB4OTAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGI4MjAsIDAsIHsweGM4LDB4MDUsMHgzYywweDAwLDB4OGYsMHgwMCwweDIyLDB4MDAsMHg0OCwweGYwLDB4MjIsMHgyYywweDAwLDB4OGYsMHgwMCwweDIzIH0sCi0gIDE2LCAweGI4MzAsIDAsIHsweGUwLDB4OGIsMHhmNSwweDEwLDB4M2MsMHgwMCwweDhmLDB4ODAsMHgyMywweGYwLDB4ODAsMHg5OCwweDAzLDB4MmQsMHg0NCwweGRiIH0sCi0gIDE2LCAweGI4NDAsIDAsIHsweDAwLDB4MjMsMHhkNCwweDA4LDB4ZjgsMHgwMiwweDNjLDB4MDAsMHg4MywweDAwLDB4MjIsMHhjMCwweDBiLDB4YTQsMHg4MiwweDMyIH0sCi0gIDE2LCAweGI4NTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NGMsMHgwMCwweDkzLDB4MDAsMHgyNCwweDAwIH0sCi0gIDE2LCAweGI4NjAsIDAsIHsweDBiLDB4MzAsMHgwMiwweDg0LDB4MDAsMHhiMywweDAxLDB4MjgsMHhmNiwweDA5LDB4MzQsMHgzMiwweDhjLDB4MDEsMHhiMywweGQwIH0sCi0gIDE2LCAweGI4NzAsIDAsIHsweDI0LDB4ZTgsMHgwYSwweDMxLDB4MGEsMHg4NiwweDAwLDB4ODMsMHgwMCwweDJhLDB4ZTAsMHgwMCwweDMwLDB4MDIsMHg4YywweDAwIH0sCi0gIDE2LCAweGI4ODAsIDAsIHsweDgzLDB4MDAsMHgyOCwweGMwLDB4ODksMHgzOCwweGEyLDB4NzgsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGI4OTAsIDAsIHsweDIwLDB4MDEsMHgxZSwweDAwLDB4OTcsMHg5NCwweDIzLDB4ZTAsMHgwOSwweDM4LDB4MDIsMHgzMiwweDAwLDB4OTcsMHhhMSwweDIxIH0sCi0gIDE2LCAweGI4YTAsIDAsIHsweGU0LDB4MGIsMHg3OCwweDAyLDB4MWUsMHg0MCwweGI3LDB4YTAsMHgyNSwweGVjLDB4MDgsMHhmYywweDAyLDB4M2EsMHgwMCwweDkzIH0sCi0gIDE2LCAweGI4YjAsIDAsIHsweGI4LDB4MjEsMHhlMCwweDA4LDB4NzgsMHg4MiwweDllLDB4NDAsMHg4NywweGMwLDB4MjksMHhhMCwweDBiLDB4NTgsMHgwMiwweDQ4IH0sCi0gIDE2LCAweGI4YzAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MmMsMHgwMCwweGRiLDB4MDAsMHgzNCwweDIwIH0sCi0gIDE2LCAweGI4ZDAsIDAsIHsweDBmLDB4M2EsMHgwMywweDhlLDB4MDAsMHhmMywweGIwLDB4MjgsMHhjNCwweDBiLDB4M2EsMHgwMywweGFlLDB4NDAsMHhmMywweGEwIH0sCi0gIDE2LCAweGI4ZTAsIDAsIHsweDM0LDB4ZWUsMHgwZiwweDMwLDB4MjMsMHg4NCwweDAwLDB4ZTMsMHhmMCwweDM4LDB4YzAsMHgwYywweGIwLDB4MGIsMHg4ZSwweDQyIH0sCi0gIDE2LCAweGI4ZjAsIDAsIHsweGMzLDB4MDAsMHgzOCwweGMwLDB4MGYsMHgzMCwweDYzLDB4ZDIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGI5MDAsIDAsIHsweDQwLDB4MWQsMHhiYywweDAwLDB4ZWIsMHg0MiwweDNhLDB4YzQsMHgxZSwweGIxLDB4MDcsMHg4OCwweGQxLDB4ZTMsMHgwMCwweDNmIH0sCi0gIDE2LCAweGI5MTAsIDAsIHsweGM1LDB4OGYsMHhmMSwweDYzLDB4YWMsMHgxMCwweGNiLDB4NTAsMHgzYiwweGMzLDB4MGYsMHhkMSwweDAzLDB4YzgsMHgwMCwweGJiIH0sCi0gIDE2LCAweGI5MjAsIDAsIHsweDIwLDB4M2IsMHhjMCwweDJlLDB4ZjEsMHgwMywweDFjLDB4MDAsMHhmZiwweDAwLDB4MzcsMHhjMCwweDRmLDB4ZDEsMHgwMywweDkwIH0sCi0gIDE2LCAweGI5MzAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZWMsMHg0MCwweGZiLDB4NDQsMHhiMiwweGMwIH0sCi0gIDE2LCAweGI5NDAsIDAsIHsweDRmLDB4YjMsMHg0MywweDI0LDB4MDAsMHhkYiwweDEwLDB4MzYsMHhjMCwweDRjLDB4YmUsMHgyMiwweDZkLDB4MjAsMHhjYiwweDUwIH0sCi0gIDE2LCAweGI5NTAsIDAsIHsweDNlLDB4YzksMHg0YywweGIwLDB4MTMsMHgyNCwweDAwLDB4Y2YsMHgyMCwweDMzLDB4YzAsMHgzZCwweGYwLDB4MjMsMHgyYywweGMwIH0sCi0gIDE2LCAweGI5NjAsIDAsIHsweGQ4LDB4MDAsMHgzZSwweDQwLDB4OGYsMHgzMCwweDAzLDB4MmEsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGI5NzAsIDAsIHsweDQ4LDB4MTEsMHg5YywweDA0LDB4YjcsMHg2MCwweDIxLDB4YzEsMHg4YiwweGYwLDB4YTIsMHgxNCwweDEwLDB4ODcsMHgwMCwweDBmIH0sCi0gIDE2LCAweGI5ODAsIDAsIHsweGM4LDB4MGQsMHg3MSwweDBhLDB4MWQsMHgwMCwweDg3LDB4MDAsMHgyYywweGNjLDB4NDgsMHg3MCwweDJhLDB4OWMsMHgwMCwweDg3IH0sCi0gIDE2LCAweGI5OTAsIDAsIHsweDBjLDB4MjEsMHhjMCwweDBjLDB4NzIsMHgwMiwweDBjLDB4YTIsMHg4NywweDAwLDB4MmQsMHhjMCwweDBiLDB4NzAsMHgwMiwweDEyIH0sCi0gIDE2LCAweGI5YTAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4OWUsMHgwMCwweGIzLDB4ODAsMHgyMSwweGUwIH0sCi0gIDE2LCAweGI5YjAsIDAsIHsweDBiLDB4N2EsMHgwMiwweGRlLDB4MDAsMHhiNywweDgxLDB4MDUsMHhlNCwweDA4LDB4NzksMHgwMiwweDVjLDB4ODAsMHg4NywweGEwIH0sCi0gIDE2LCAweGI5YzAsIDAsIHsweDJkLDB4ZTAsMHgwOCwweGY4LDB4MDYsMHhiNiwweDAwLDB4ODcsMHg4MCwweDIwLDB4ZTQsMHgwYSwweDdiLDB4MTIsMHgxZSwweDkwIH0sCi0gIDE2LCAweGI5ZDAsIDAsIHsweDk3LDB4ODgsMHgyZCwweGUwLDB4MGIsMHg3OCwweDBlLDB4MzAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGI5ZTAsIDAsIHsweDQ4LDB4MTQsMHhjYywweDAwLDB4YjMsMHgwMCwweDIwLDB4ZDAsMHgwYiwweGIwLDB4MDIsMHg2ZSwweDM0LDB4YTMsMHgwMCwweDJjIH0sCi0gIDE2LCAweGI5ZjAsIDAsIHsweGMxLDB4MDksMHgzMCwweDAyLDB4NGMsMHgwMCwweDgzLDB4MDAsMHgyYywweGMwLDB4NDgsMHgxMCwweDAyLDB4OGQsMHg4MCwweDgzIH0sCi0gIDE2LCAweGJhMDAsIDAsIHsweGMwLDB4MDAsMHhjMCwweDhhLDB4MzAsMHgxMiwweDBjLDB4MDAsMHg4MCwweDAwLDB4MmMsMHgxNiwweDBiLDB4MzgsMHgwMiwweDEyIH0sCi0gIDE2LCAweGJhMTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YTgsMHgwMCwweGZhLDB4MDAsMHgzMywweDg4IH0sCi0gIDE2LCAweGJhMjAsIDAsIHsweDBmLDB4YTAsMHgwMywweDc5LDB4OTAsMHhmYSwweDAxLDB4MzYsMHg4MCwweDFjLDB4YTAsMHgwMywweDY4LDB4MDAsMHhjYSwweDAwIH0sCi0gIDE2LCAweGJhMzAsIDAsIHsweDNlLDB4ODEsMHgyYywweGEwLDB4MGIsMHhiOSwweDBjLDB4Y2UsMHhlMiwweGIyLDB4ODAsMHg4ZSwweGEwLDB4MGIsMHgyOCwweDAwIH0sCi0gIDE2LCAweGJhNDAsIDAsIHsweGRhLDB4ODAsMHgzYywweGIwLDB4MGYsMHhlMCwweDgzLDB4M2EsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGJhNTAsIDAsIHsweDQ4LDB4MDAsMHhlMCwweDAwLDB4ZjAsMHgwMCwweDNlLDB4MDAsMHgwZiwweDgwLDB4MDMsMHhhMCwweDAwLDB4YzgsMHgwMCwweDJlIH0sCi0gIDE2LCAweGJhNjAsIDAsIHsweDAwLDB4MGYsMHg4NCwweDIzLDB4YTAsMHgwMCwweGYwLDB4NDAsMHgzZSwweDEwLDB4MGYsMHg4NCwweDAzLDB4ZTEsMHgwMiwweGY4IH0sCi0gIDE2LCAweGJhNzAsIDAsIHsweDQ4LDB4M2UsMHgxMCwweDBjLDB4ODAsMHgwMywweGMwLDB4MTAsMHhmOCwweDgwLDB4M2UsMHgwMCwweDBmLDB4MDAsMHgwMywweGQyIH0sCi0gIDE2LCAweGJhODAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTQsMHgwMCwweGQ5LDB4MDAsMHgzNiwweDQyIH0sCi0gIDE2LCAweGJhOTAsIDAsIHsweDBmLDB4OTAsMHgwMywweDI0LDB4MTgsMHhmOSwweDEwLDB4M2MsMHg0OCwweDY4LDB4OTIsMHgxMywweGU0LDB4MDAsMHhhOSwweDExIH0sCi0gIDE2LCAweGJhYTAsIDAsIHsweGIyLDB4NjAsMHgwZSwweDkxLDB4MDMsMHgyNiwweDAwLDB4YzksMHgwMCwweDMyLDB4NjAsMHgwYywweDEwLDB4MDMsMHgyNCwweDA4IH0sCi0gIDE2LCAweGJhYjAsIDAsIHsweGM5LDB4MDAsMHgzZSwweDQwLDB4MGMsMHg5MCwweDIzLDB4MDIsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGJhYzAsIDAsIHsweDgwLDB4MDQsMHg2NCwweDAwLDB4ODksMHgwMCwweDIyLDB4NDAsMHgwYiwweDkwLDB4MDIsMHhhNCwweDA4LDB4ODksMHgwMCwweDJlIH0sCi0gIDE2LCAweGJhZDAsIDAsIHsweDQyLDB4NDgsMHg5NCwweDAyLDB4ZTQsMHgwMCwweDg5LDB4ODAsMHgyMiwweDcwLDB4MDgsMHgxNCwweDIyLDB4YTQsMHgwMiwweDg5IH0sCi0gIDE2LCAweGJhZTAsIDAsIHsweDQyLDB4MmEsMHg3MCwweDI4LDB4OTAsMHgwYSwweDI0LDB4MDAsMHhhOSwweDAwLDB4MmUsMHg0MCwweDI4LDB4OTAsMHgwMiwweGEwIH0sCi0gIDE2LCAweGJhZjAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4MDQsMHgwMCwweDk5LDB4MDAsMHgyNiwweGMwIH0sCi0gIDE2LCAweGJiMDAsIDAsIHsweDAzLDB4OTAsMHgwMiwweDI0LDB4MDEsMHhhOSwweDAwLDB4MGUsMHg0MCwweDBhLDB4OTAsMHg0NiwweGM0LDB4MGEsMHg4OSwweDAwIH0sCi0gIDE2LCAweGJiMTAsIDAsIHsweDIwLDB4NDgsMHgwYSwweDkwLDB4MDIsMHgwNSwweDgwLDB4ODEsMHg0MSwweGEwLDB4NTgsMHg4OCwweDkwLDB4MDIsMHgyNCwweDA4IH0sCi0gIDE2LCAweGJiMjAsIDAsIHsweDhkLDB4ODAsMHgyZiwweGMwLDB4MDgsMHg5OCwweDAyLDB4MDYsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGJiMzAsIDAsIHsweDA4LDB4MDQsMHgwNCwweDgwLDB4ODEsMHgyMCwweDIwLDB4NDAsMHgwYiwweDEyLDB4MDIsMHg4NCwweDAwLDB4ODEsMHgyNCwweDJjIH0sCi0gIDE2LCAweGJiNDAsIDAsIHsweDU4LDB4MGEsMHgzMiwweDIyLDB4YzUsMHg4NCwweGExLDB4MDAsMHgyMCwweDUwLDB4MDgsMHhiMCwweDAyLDB4ODUsMHgwOCwweDgxIH0sCi0gIDE2LCAweGJiNTAsIDAsIHsweDQwLDB4MjAsMHg1YSwweDA4LDB4MTYsMHg4MiwweDA0LDB4MDAsMHhhNSwweDAwLDB4MmQsMHg0MCwweDA4LDB4MTIsMHg4MiwweDgyIH0sCi0gIDE2LCAweGJiNjAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjEsMHg0MCwweGQ4LDB4NTAsMHgzNiwweDE0IH0sCi0gIDE2LCAweGJiNzAsIDAsIHsweDBmLDB4ODUsMHgyMywweDAxLDB4NDAsMHhlOCwweDAwLDB4M2UsMHgwMCwweDBlLDB4ODAsMHg0MywweGMwLDB4MDgsMHhjYSwweDAwIH0sCi0gIDE2LCAweGJiODAsIDAsIHsweDMyLDB4ODAsMHgwZSwweDgwLDB4MDMsMHgyMCwweDAwLDB4YzAsMHgwMCwweDMyLDB4MDgsMHgyYywweDAyLDB4MDMsMHgyMCwweDA4IH0sCi0gIDE2LCAweGJiOTAsIDAsIHsweGM4LDB4MDAsMHgzZiwweDAwLDB4MGMsMHg4MiwweDAzLDB4MmUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGJiYTAsIDAsIHsweDk4LDB4MWQsMHhlNCwweDQwLDB4ZjksMHgxMCwweDNmLDB4NDAsMHgwZiwweDkxLDB4NDMsMHhmNCwweDA0LDB4ZjksMHgxMCwweDNlIH0sCi0gIDE2LCAweGJiYjAsIDAsIHsweDQ0LDB4MGQsMHgxMSwweDAzLDB4ZTQsMHg0NCwweDU5LDB4NDAsMHgzZSwweDUwLDB4NGYsMHg1MCwweDQzLDB4ZDQsMHgwMiwweGZkIH0sCi0gIDE2LCAweGJiYzAsIDAsIHsweDQwLDB4M2UsMHg0MCwweDBmLDB4OTAsMHgwYiwweGU1LDB4MDAsMHhmOSwweDAwLDB4M2UsMHg0MCwweDRmLDB4ZDAsMHgwMywweGU2IH0sCi0gIDE2LCAweGJiZDAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4NjYsMHg2MCwweGM5LDB4ZTAsMHgzMiwweDQ0IH0sCi0gIDE2LCAweGJiZTAsIDAsIHsweDBmLDB4OWMsMHgwMywweGU0LDB4MDAsMHhkZCwweDg0LDB4M2YsMHg2OCwweDhmLDB4ZDgsMHg0MiwweGU2LDB4YTAsMHhkZCwweGE0IH0sCi0gIDE2LCAweGJiZjAsIDAsIHsweDMzLDB4NjgsMHgwZCwweDcwLDB4MDMsMHgyNSwweDAwLDB4YzksMHhlMCwweGIyLDB4NjgsMHgwYywweDlhLDB4YzMsMHgyNiwweDAwIH0sCi0gIDE2LCAweGJjMDAsIDAsIHsweDk5LDB4MDAsMHgzZSwweDQwLDB4MGYsMHg5YSwweDAzLDB4MDYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGJjMTAsIDAsIHsweDM4LDB4MTAsMHhlMywweDAwLDB4ODgsMHg4MCwweGFhLDB4MjAsMHg4YiwweDg4LDB4MDIsMHhlMiwweDg4LDB4YjgsMHgwMSwweDJlIH0sCi0gIDE2LCAweGJjMjAsIDAsIHsweDAwLDB4MGIsMHg4NCwweDAyLDB4ZTIsMHhiMCwweDg4LDB4NTAsMHgyMiwweDE0LDB4MDgsMHg4MCwweDAyLDB4ODIsMHg4MCwweDg4IH0sCi0gIDE2LCAweGJjMzAsIDAsIHsweGUwLDB4YjYsMHgzYSwweDA4LDB4Y2UsMHhhMiwweDIxLDB4MDgsMHg4OCwweDAwLDB4MmUsMHgwMCwweDBiLDB4YzQsMHgwMiwweDBlIH0sCi0gIDE2LCAweGJjNDAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4YzQsMHg4MCwweDgxLDB4NjAsMHg2OCwweDQ4IH0sCi0gIDE2LCAweGJjNTAsIDAsIHsweDViLDB4MTYsMHgwMiwweGM0LDB4MjAsMHhhMSwweDQwLDB4NmMsMHg1MCwweDBiLDB4MTQsMHgwMiwweGM0LDB4MDAsMHhhMSwweDAwIH0sCi0gIDE2LCAweGJjNjAsIDAsIHsweDI0LDB4NDAsMHgwYiwweDkwLDB4MjIsMHgxNCwweDkwLDB4ODUsMHg0MiwweDIxLDB4NTAsMHg1YiwweDUwLDB4MWEsMHgxNSwweDAwIH0sCi0gIDE2LCAweGJjNzAsIDAsIHsweDk1LDB4MDAsMHgyZCwweDQwLDB4MGIsMHg1MSwweDBhLDB4ODIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGJjODAsIDAsIHsweDE4LDB4MTUsMHhhNCwweDAxLDB4ODksMHgwMCwweDJhLDB4NDAsMHgwYiwweDkwLDB4NDYsMHhlNCwweDAwLDB4YjksMHgwMSwweDJlIH0sCi0gIDE2LCAweGJjOTAsIDAsIHsweDQwLDB4MGIsMHg5MCwweDIwLDB4ZTQsMHgwMCwweGI5LDB4MDAsMHgyNiwweDQwLDB4MTgsMHhiOCwweDAyLDB4YTQsMHgwMiwweDhkIH0sCi0gIDE2LCAweGJjYTAsIDAsIHsweDA4LDB4MmYsMHg0MCwweDhiLDB4ZDAsMHgwMiwweDI0LDB4MDAsMHg4ZCwweDIwLDB4MmYsMHg0OCwweDBiLDB4ZDAsMHgwMiwweDg2IH0sCi0gIDE2LCAweGJjYjAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4ZTQsMHgwMCwweGM5LDB4MDAsMHgzMiwweDQwIH0sCi0gIDE2LCAweGJjYzAsIDAsIHsweDBmLDB4OTAsMHgwMiwweGU0LDB4MTAsMHg0OSwweDAwLDB4M2UsMHg0MCwweDBmLDB4OTAsMHgwMiwweGU0LDB4MDAsMHhlOSwweDAxIH0sCi0gIDE2LCAweGJjZDAsIDAsIHsweDM2LDB4NDAsMHgwZiwweDE4LDB4MTMsMHgyNCwweDEwLDB4YzksMHg4MiwweDMyLDB4NDAsMHg3ZiwweDkwLDB4MjMsMHgyNCwweDAwIH0sCi0gIDE2LCAweGJjZTAsIDAsIHsweGQ5LDB4MjAsMHgzZSwweDcyLDB4MGYsMHg5MCwweDAzLDB4YTgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGJjZjAsIDAsIHsweDI4LDB4MDEsMHg4NCwweDAyLDB4ZjEsMHgwMSwweDE2LDB4NDAsMHg0ZiwweDkwLDB4MDMsMHhlNSwweDEwLDB4ZjksMHgwOCwweDJlIH0sCi0gIDE2LCAweGJkMDAsIDAsIHsweDQwLDB4MGYsMHg5MCwweDEzLDB4ZTQsMHgwMCwweGM5LDB4MDEsMHgzYSwweDQwLDB4MWYsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGY5IH0sCi0gIDE2LCAweGJkMTAsIDAsIHsweDIwLDB4MzQsMHg0MCwweDhjLDB4OTAsMHgwMywweGM0LDB4MDgsMHhmOSwweDAwLDB4M2UsMHg2MCwweDBmLDB4MTAsMHgwMywweDRhIH0sCi0gIDE2LCAweGJkMjAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTAsMHgwOCwweGY4LDB4MDAsMHgzZSwweDAwIH0sCi0gIDE2LCAweGJkMzAsIDAsIHsweDBjLDB4ODAsMHgwMywweDYwLDB4MDAsMHhlOCwweDAwLDB4M2UsMHgwMiwweDRmLDB4ODAsMHgxMywweGUwLDB4MDAsMHhkMCwweDAwIH0sCi0gIDE2LCAweGJkNDAsIDAsIHsweDNlLDB4MDAsMHgwZSwweDgxLDB4MDMsMHgzMCwweDAwLDB4Y2MsMHg0MCwweDMzLDB4MDAsMHgwYywweGMwLDB4MGIsMHgyMCwweDIwIH0sCi0gIDE2LCAweGJkNTAsIDAsIHsweGU4LDB4MDAsMHgzZSwweDEwLDB4MGYsMHhjMCwweDAzLDB4Y2EsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGJkNjAsIDAsIHsweDI4LDB4MDUsMHgyOCwweDA0LDB4YmEsMHgwMCwweDIyLDB4ODAsMHgwOCwweGEwLDB4MDIsMHgyOCwweDAwLDB4YmUsMHhjOCwweDZmIH0sCi0gIDE2LCAweGJkNzAsIDAsIHsweDgwLDB4MGIsMHhlMSwweDIyLDB4YTgsMHgwMCwweDhlLDB4MjAsMHgyZiwweDgwLDB4MGIsMHhlMCwweDIzLDB4NjgsMHgwMCwweDhhIH0sCi0gIDE2LCAweGJkODAsIDAsIHsweDAwLDB4MjIsMHg4MCwweDA4LDB4ZTAsMHgwMiwweDI5LDB4MDAsMHg4YSwweDAwLDB4MmUsMHhhOCwweDBiLDB4YTAsMHgwMCwweGNhIH0sCi0gIDE2LCAweGJkOTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NGMsMHgwMCwweGIzLDB4MDAsMHgyNCwweGMwIH0sCi0gIDE2LCAweGJkYTAsIDAsIHsweDA5LDB4MzAsMHgwMiwweDBjLDB4MDAsMHhiMywweGMxLDB4MmMsMHhlMCwweDBiLDB4MzgsMHg1NiwweDJjLDB4MTAsMHgxMywweDAwIH0sCi0gIDE2LCAweGJkYjAsIDAsIHsweDJlLDB4YzAsMHgwYSwweDM4LDB4NmEsMHgyMCwweDAwLDB4ODgsMHgwMCwweDIwLDB4MDAsMHgwOSwweDgwLDB4MjIsMHg0YywweDQyIH0sCi0gIDE2LCAweGJkYzAsIDAsIHsweGEzLDB4MDAsMHgyYywweGUwLDB4MGIsMHgyNCwweDgwLDB4Y2EsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGJkZDAsIDAsIHsweGEwLDB4MDEsMHgxYywweDA4LDB4YjcsMHgyNCwweDJmLDB4ZTAsMHgwOSwweDM5LDB4MDIsMHgxYywweDAxLDB4YjYsMHgwMCwweDJkIH0sCi0gIDE2LCAweGJkZTAsIDAsIHsweDkwLDB4MGIsMHg2MCwweDkyLDB4OGUsMHgwMCwweDg2LDB4ODIsMHgyZCwweGMyLDB4MGIsMHhmMCwweDAyLDB4NWMsMHgwNiwweDg3IH0sCi0gIDE2LCAweGJkZjAsIDAsIHsweDAwLDB4NjAsMHhjMCwweDI5LDB4NzAsMHgwMiwweDVjLDB4MDAsMHg4NiwweDAwLDB4MmQsMHhjMCwweDBiLDB4NjAsMHgwMiwweGU4IH0sCi0gIDE2LCAweGJlMDAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MWYsMHg0MCwweGYzLDB4ZTQsMHgzZCwweGU4IH0sCi0gIDE2LCAweGJlMTAsIDAsIHsweDBkLDB4NzksMHgwYiwweDFlLDB4YzAsMHg2NywweDgwLDB4MmQsMHhlMCwweDBmLDB4NzAsMHg0MywweDFkLDB4ODAsMHhkNSwweDAwIH0sCi0gIDE2LCAweGJlMjAsIDAsIHsweDNkLDB4NjAsMHgwZSwweDc4LDB4MDMsMHgxZSwweDAwLDB4Y2QsMHg4MCwweDMxLDB4ZTAsMHgwZCwweGM4LDB4MDMsMHg0ZSwweDAwIH0sCi0gIDE2LCAweGJlMzAsIDAsIHsweGU1LDB4ODAsMHgzZCwweGUwLDB4MGYsMHg0OCwweDAzLDB4ZWEsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGJlNDAsIDAsIHsweDA4LDB4MWQsMHhhYywweDgwLDB4ZmIsMHgwMCwweDcwLDB4YzAsMHg2ZSwweGI2LDB4MTMsMHhhZCwweDQwLDB4ZmEsMHgwMCwweDNlIH0sCi0gIDE2LCAweGJlNTAsIDAsIHsweGMwLDB4MGYsMHgyMCwweDQzLDB4MmQsMHgxOCwweDU5LDB4MDAsMHgzZSwweDAwLDB4MDMsMHhiMCwweDBiLDB4ZTAsMHgwMCwweGZhIH0sCi0gIDE2LCAweGJlNjAsIDAsIHsweDAwLDB4YmUsMHgwMCwweDBlLDB4YjAsMHgxMywweGFjLDB4MDAsMHhmOCwweDAwLDB4M2UsMHhjMCwweDBmLDB4ODAsMHgwMywweGMyIH0sCi0gIDE2LCAweGJlNzAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZmUsMHg0MCwweGZmLDB4ODAsMHgzZiwweGU2IH0sCi0gIDE2LCAweGJlODAsIDAsIHsweDBmLDB4ZjgsMHgyMywweDJlLDB4MDQsMHhmZiwweDkwLDB4M2YsMHhlNCwweDBkLDB4YmEsMHgwMywweGZmLDB4NDAsMHhjZiwweDgwIH0sCi0gIDE2LCAweGJlOTAsIDAsIHsweDIyLDB4ZTEsMHgwYywweDM5LDB4NDMsMHgzMiwweDEwLDB4ZWMsMHg5MCwweDMzLDB4MjAsMHg4ZSwweGM4LDB4MDMsMHhmMiwweDAwIH0sCi0gIDE2LCAweGJlYTAsIDAsIHsweGRmLDB4ODAsMHgzZiwweDYwLDB4MGYsMHhmOCwweDAzLDB4YzAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGJlYjAsIDAsIHsweGE4LDB4MTEsMHg5YywweDQwLDB4YjcsMHg5MCwweDNjLDB4ZTAsMHgwYiwweDNhLDB4MDMsMHg0ZSwweDgwLDB4ZjMsMHhiMSwweDJkIH0sCi0gIDE2LCAweGJlYzAsIDAsIHsweDA0LDB4NGMsMHgzOCwweDIzLDB4YWUsMHgwMCwweDgwLDB4ODAsMHgzNCwweGU4LDB4NGQsMHg3OCwweDAyLDB4M2UsMHg4MCwweDg3IH0sCi0gIDE2LCAweGJlZDAsIDAsIHsweGEwLDB4MjksMHhjMCwweDA4LDB4NzAsMHgwMiwweGMwLDB4ODAsMHg4NiwweDAyLDB4MmQsMHg0MSwweDBiLDB4NzAsMHgwMiwweGVhIH0sCi0gIDE2LCAweGJlZTAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OWMsMHg0OCwweDM3LDB4MDEsMHgyZCwweGM5IH0sCi0gIDE2LCAweGJlZjAsIDAsIHsweDBiLDB4NzIsMHgyMiwweDFjLDB4ODQsMHhiNSwweDE2LDB4MGQsMHhjNCwweDE5LDB4NDAsMHg0MiwweGRjLDB4ODAsMHg4NywweDAwIH0sCi0gIDE2LCAweGJmMDAsIDAsIHsweDIwLDB4YzgsMHg4OCwweDczLDB4MGEsMHg5YywweDgwLDB4YjUsMHgwMCwweDI5LDB4YzAsMHgwYSwweDQ4LDB4MDIsMHhjMCwweDAyIH0sCi0gIDE2LCAweGJmMTAsIDAsIHsweDk1LDB4MDAsMHgyZCwweDQyLDB4MGIsMHg1OCwweDAyLDB4YzAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGJmMjAsIDAsIHsweDIwLDB4MTQsMHhjYywweDAwLDB4YjMsMHgwMCwweDJhLDB4ZTAsMHgwYiwweDMwLDB4MDIsMHg0YywweDIwLDB4YTEsMHgwMSwweDI0IH0sCi0gIDE2LCAweGJmMzAsIDAsIHsweGMxLDB4MDgsMHgwMCwweDAyLDB4OGMsMHgwMCwweDgxLDB4MDAsMHgyNCwweDgwLDB4MDksMHgzOCwweDBhLDB4NjAsMHg4MCwweDkyIH0sCi0gIDE2LCAweGJmNDAsIDAsIHsweDQwLDB4MmEsMHgwMCwweDBhLDB4MzAsMHgwMiwweGMwLDB4MDAsMHg4MCwweGM4LDB4MmMsMHg3MiwweDBiLDB4MTQsMHgwMiwweGM4IH0sCi0gIDE2LCAweGJmNTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YmMsMHgwMCwweGZmLDB4MDAsMHgyZiwweGY0IH0sCi0gIDE2LCAweGJmNjAsIDAsIHsweDhmLDB4ZjAsMHgwMywweDNjLDB4MDAsMHhiOSwweDAwLDB4M2UsMHg0MCwweDA5LDB4OTAsMHgwMywweGZjLDB4MDIsMHhjMywweDAxIH0sCi0gIDE2LCAweGJmNzAsIDAsIHsweDMyLDB4YzAsMHg0OCwweGI4LDB4MTMsMHhhMSwweDAwLDB4YmEsMHgwMCwweDJhLDB4MDAsMHgwYSwweGEwLDB4MDcsMHhlYywweDAwIH0sCi0gIDE2LCAweGJmODAsIDAsIHsweGRiLDB4YzgsMHgzZSwweDkwLDB4MGYsMHhhMiwweDAyLDB4ZWEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGJmOTAsIDAsIHsweDgwLDB4MDAsMHhlYywweDAwLDB4ZmIsMHgwMiwweDNlLDB4YzQsMHgwZiwweGIwLDB4NjMsMHhlYywweDAxLDB4ZjgsMHg0MCwweDNlIH0sCi0gIDE2LCAweGJmYTAsIDAsIHsweDQwLDB4MGIsMHg4MCwweDAzLDB4Y2MsMHgwMCwweGZhLDB4NDIsMHgzZSwweGMwLDB4MGYsMHhiNSwweDAwLDB4YWMsMHg1OCwweGU5IH0sCi0gIDE2LCAweGJmYjAsIDAsIHsweDgyLDB4M2UsMHhjMCwweDFkLDB4OTAsMHgwMywweGVjLDB4MDQsMHhmYSwweDAwLDB4M2UsMHg4MCwweDBmLDB4YTAsMHgwMywweGUwIH0sCi0gIDE2LCAweGJmYzAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZmMsMHgwYywweGRmLDB4MDAsMHg3ZiwweGMwIH0sCi0gIDE2LCAweGJmZDAsIDAsIHsweDJjLDB4ZjAsMHgwMywweDdjLDB4MDEsMHhjNywweDAwLDB4MzMsMHg0MCwweDhmLDB4ZDAsMHgwMywweGZjLDB4MDAsMHhkOCwweDAwIH0sCi0gIDE2LCAweGJmZTAsIDAsIHsweDE1LDB4NDQsMHgwYywweGUwLDB4MWIsMHgzYywweDAwLDB4Y2IsMHgwZSwweDMzLDB4YzAsMHg1YywweDYyLDB4MDIsMHgxYywweDAyIH0sCi0gIDE2LCAweGJmZjAsIDAsIHsweGM1LDB4MDAsMHgyYiwweDgwLDB4MGYsMHhjMCwweDg3LDB4ODAsMHg0NCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGMwMDAsIDAsIHsweDgxLDB4NDQsMHg2YywweDEwLDB4YmIsMHgwMCwweDJlLDB4YzAsMHgwOCwweGIwLDB4NTIsMHgwYywweDAxLDB4ZmEsMHhjNCwweDIyIH0sCi0gIDE2LCAweGMwMTAsIDAsIHsweDYxLDB4MGIsMHg4OCwweDAzLDB4NmMsMHgwMCwweDg4LDB4NDcsMHgyYSwweDAwLDB4MGUsMHgxYywweDAyLDB4MjAsMHgwMiwweDg4IH0sCi0gIDE2LCAweGMwMjAsIDAsIHsweDAwLDB4YWEsMHgwMCwweDI4LDB4OTAsMHgwYSwweDJjLDB4MDQsMHhhOCwweDAwLDB4MjIsMHg5MCwweDBiLDB4ODAsMHgwMiwweGUwIH0sCi0gIDE2LCAweGMwMzAsIDAsIHsweDQwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDAxLDB4MmMsMHgwMCwweGJiLDB4MDAsMHgyZSwweGMxIH0sCi0gIDE2LCAweGMwNDAsIDAsIHsweDA4LDB4MzAsMHgxMiwweDZjLDB4MDAsMHg4OCwweDg4LDB4MmEsMHgzMCwweDBiLDB4YjgsMHgwMiwweGVjLDB4MDAsMHg5YiwweDA4IH0sCi0gIDE2LCAweGMwNTAsIDAsIHsweDJhLDB4NDAsMHgwOCwweGI4LDB4MDIsMHgyMCwweDAwLDB4ODIsMHgxMCwweDIyLDB4MDAsMHgwOCwweGEwLDB4MjIsMHhhMCwweDAwIH0sCi0gIDE2LCAweGMwNjAsIDAsIHsweDhiLDB4MDAsMHgyYSwweDAyLDB4MGIsMHhiMCwweDAyLDB4ZTAsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGMwNzAsIDAsIHsweDA4LDB4MDAsMHgwYywweDAwLDB4YjMsMHgyMCwweDJjLDB4YzIsMHgwOCwweDM2LDB4MDIsMHgyYywweGMwLDB4YTAsMHgwOCwweDIwIH0sCi0gIDE2LCAweGMwODAsIDAsIHsweDAwLDB4MGIsMHgzMywweDQ2LDB4Y2QsMHgyOCwweDgwLDB4MjAsMHgyOCwweGMwLDB4MGIsMHgzMiwweDAyLDB4MGMsMHgyMCwweDgxIH0sCi0gIDE2LCAweGMwOTAsIDAsIHsweDMwLDB4MjgsMHhjMCwweDA4LDB4MTAsMHgwMiwweDgxLDB4MDAsMHhhYSwweDAwLDB4MjgsMHgwMCwweDAzLDB4MzAsMHgwMiwweGMyIH0sCi0gIDE2LCAweGMwYTAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBjLDB4N2MsMHgwMCwweGZiLDB4MjgsMHgyZSwweGNjIH0sCi0gIDE2LCAweGMwYjAsIDAsIHsweDBjLDB4NzAsMHg1MywweDdkLDB4MDksMHg4OCwweDAwLDB4YmEsMHgwMCwweDBmLDB4ODAsMHgwMywweGZkLDB4ODAsMHhkYSwweDYwIH0sCi0gIDE2LCAweGMwYzAsIDAsIHsweDNhLDB4NTAsMHg4YywweGEyLDB4ODMsMHgyYywweDgwLDB4NGIsMHgyMCwweDMwLDB4YzAsMHgyOCwweGEwLDB4MDMsMHhhMSwweDAwIH0sCi0gIDE2LCAweGMwZDAsIDAsIHsweGM5LDB4MDAsMHgzYSwweDAwLDB4MGYsMHg5MCwweDAzLDB4YzAsMHgwMywweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGMwZTAsIDAsIHsweGEwLDB4MWQsMHhmYywweDA0LDB4ZmIsMHgwMCwweDdlLDB4YzksMHgwYiwweGI2LDB4MDMsMHhmYywweGMwLDB4ZjgsMHgwYywweDNmIH0sCi0gIDE2LCAweGMwZjAsIDAsIHsweDAwLDB4NGYsMHhjMywweDQzLDB4MmMsMHgwMCwweGI4LDB4MzgsMHgzZiwweDhlLDB4NWUsMHhmMCwweDQzLDB4ZTAsMHgxMCwweGY4IH0sCi0gIDE2LCAweGMxMDAsIDAsIHsweDMwLDB4M2YsMHgwMSwweDBmLDB4ZDAsMHgwMywweDcwLDB4MDAsMHhmYywweDAwLDB4MzcsMHgwMCwweDBkLDB4ZDAsMHgwNywweGU5IH0sCi0gIDE2LCAweGMxMTAsIDAsIHsweDAzLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZmMsMHhlMCwweGNjLDB4ODAsMHgzMywweGMwIH0sCi0gIDE2LCAweGMxMjAsIDAsIHsweDBkLDB4ZjAsMHg4MywweGZjLDB4ODAsMHhkYywweDk0LDB4MzMsMHhjMCwweDFjLDB4ZjEsMHgwMywweDdkLDB4OGMsMHhmZiwweDMwIH0sCi0gIDE2LCAweGMxMzAsIDAsIHsweDNmLDB4MzAsMHg4ZiwweGM4LDB4MDMsMHg3ZSwweDEwLDB4Y2YsMHg5MCwweDM5LDB4YTAsMHg4ZCwweGY4LDB4MDMsMHhhZSwweDAwIH0sCi0gIDE2LCAweGMxNDAsIDAsIHsweGQ1LDB4ODAsMHgxMywweGUwLDB4MGMsMHg1OCwweDAzLDB4ZjAsMHgwMSwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGMxNTAsIDAsIHsweDgwLDB4MTAsMHhkZCwweDA4LDB4ODgsMHgwMCwweDIzLDB4YzQsMHgwOCwweGZjLDB4MDIsMHhlYywweGE4LDB4Y2IsMHgyMCwweDIxIH0sCi0gIDE2LCAweGMxNjAsIDAsIHsweGMyLDB4MGQsMHhmNywweDEyLDB4MWMsMHg0MCwweGRmLDB4MzAsMHgyMiwweGEwLDB4MGIsMHg4OCwweDAyLDB4MmUsMHgwNCwweGRiIH0sCi0gIDE2LCAweGMxNzAsIDAsIHsweDIxLDB4MjIsMHhjMCwweDA4LDB4YjgsMHgyMiwweDJlLDB4MDAsMHhiOSwweDgwLDB4MmEsMHg2MCwweDBhLDB4ODgsMHgwMiwweGUwIH0sCi0gIDE2LCAweGMxODAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDQ1LDB4Y2MsMHgxMCwweDgwLDB4MmMsMHgyOCwweGNhIH0sCi0gIDE2LCAweGMxOTAsIDAsIHsweDY4LDB4MzAsMHgwMiwweDhkLDB4MDAsMHg5YiwweDIwLDB4MjgsMHhjNCwweDA4LDB4MzIsMHgwMiwweGNjLDB4MTAsMHhiMywweDAwIH0sCi0gIDE2LCAweGMxYTAsIDAsIHsweDI0LDB4MDgsMHgwYiwweDgwLDB4NDIsMHg2YywweDAwLDB4ODMsMHgwMCwweDJhLDB4Y2EsMHgzYSwweGIwLDB4MDIsMHg4YywweDA0IH0sCi0gIDE2LCAweGMxYjAsIDAsIHsweGIwLDB4MDQsMHgyOCwweGMwLDB4MDgsMHgxMCwweDAyLDB4ZTMsMHgwMSwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGMxYzAsIDAsIHsweGMwLDB4MTUsMHg4YywweDAyLDB4ODAsMHg0MCwweGFhLDB4YzAsMHgwOCwweGIwLDB4MDIsMHhlYywweDAwLDB4OWIsMHgyMCwweDJhIH0sCi0gIDE2LCAweGMxZDAsIDAsIHsweGMwLDB4ODgsMHhiMCwweDAyLDB4YWMsMHgwMCwweDliLDB4MDAsMHgyNiwweGUwLDB4MDMsMHg4MCwweDgyLDB4MmMsMHgyOCwweDliIH0sCi0gIDE2LCAweGMxZTAsIDAsIHsweDIwLDB4MjIsMHhlMSwweDBiLDB4YjIsMHgwMiwweGFjLDB4ODAsMHhiOCwweDgwLDB4MmEsMHhjMSwweDBhLDB4OTgsMHgwMiwweGYwIH0sCi0gIDE2LCAweGMxZjAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDE1LDB4ZWMsMHgwMCwweGM4LDB4NTAsMHgzYSwweGMwIH0sCi0gIDE2LCAweGMyMDAsIDAsIHsweDBkLDB4YjAsMHgwMywweGVjLDB4MDAsMHhkYiwweDg4LDB4YmEsMHhjMCwweDA4LDB4YjAsMHgwMywweDZjLDB4MDgsMHhmYiwweDAwIH0sCi0gIDE2LCAweGMyMTAsIDAsIHsweDM2LDB4NjAsMHgwZiwweDhjLDB4NjMsMHg2YywweDAwLDB4Y2IsMHhjMCwweDNhLDB4ODAsMHgwZSwweGJlLDB4MDMsMHhhZiwweDg0IH0sCi0gIDE2LCAweGMyMjAsIDAsIHsweDc5LDB4ODAsMHgzYSwweDg4LDB4MDQsMHg5OCwweDAxLDB4ZDAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGMyMzAsIDAsIHsweGUwLDB4MDEsMHhiYywweDAwLDB4ZmMsMHg4MCwweDM1LDB4YzAsMHg0ZiwweGYwLDB4MDMsMHhkYywweDAwLDB4ZWYsMHgwMCwweDM3IH0sCi0gIDE2LCAweGMyNDAsIDAsIHsweGMwLDB4YWYsMHhmMCwweDAzLDB4MWMsMHgwMSwweDZmLDB4MDAsMHgxMywweDAwLDB4MGYsMHhjMSwweDIzLDB4ZmMsMHhiOCwweGZmIH0sCi0gIDE2LCAweGMyNTAsIDAsIHsweDA0LDB4MzcsMHhjMCwweDBjLDB4ZjgsMHg0MywweDdlLDB4MDQsMHhmZCwweDAwLDB4M2YsMHgwNCwweDBmLDB4ZDAsMHgwMywweGY4IH0sCi0gIDE2LCAweGMyNjAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YWMsMHgwMCwweGM4LDB4NDAsMHgzYSwweGMwIH0sCi0gIDE2LCAweGMyNzAsIDAsIHsweDBjLDB4YjAsMHgwMywweGVjLDB4MDAsMHhmYiwweDQwLDB4MzgsMHhjMSwweDBlLDB4YjAsMHg0MywweDJjLDB4MDgsMHhjMywweDAwIH0sCi0gIDE2LCAweGMyODAsIDAsIHsweDNlLDB4NDAsMHgwZSwweDgyLDB4MDMsMHg2ZCwweDAwLDB4ZGIsMHg0MCwweDMyLDB4YzEsMHg1ZiwweGI0LDB4YTMsMHhlZCwweDIwIH0sCi0gIDE2LCAweGMyOTAsIDAsIHsweGM5LDB4NDAsMHgzMiwweGUwLDB4OGYsMHg5OCwweDQzLDB4OTAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGMyYTAsIDAsIHsweGM4LDB4MDUsMHgzYywweDAwLDB4ODgsMHgwMCwweDIzLDB4YzAsMHgyOCwweGY1LDB4YzIsMHhmYywweDAwLDB4YjMsMHgwNCwweDIzIH0sCi0gIDE2LCAweGMyYjAsIDAsIHsweGMxLDB4NDgsMHhmMCwweDIyLDB4YmMsMHgwNiwweGFmLDB4MDAsMHgwZSwweDQwLDB4MDgsMHgwMCwweDAyLDB4Y2QsMHgwMCwweGJiIH0sCi0gIDE2LCAweGMyYzAsIDAsIHsweDAxLDB4MjAsMHhjMCwweDA4LDB4MzAsMHgwMiwweGVlLDB4MDAsMHg4MSwweGUwLDB4MzQsMHhhMCwweDBiLDB4OTAsMHgwMiwweDMyIH0sCi0gIDE2LCAweGMyZDAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NGMsMHgwMiwweDgwLDB4MDAsMHgyOCwweGMwIH0sCi0gIDE2LCAweGMyZTAsIDAsIHsweDA5LDB4M2MsMHgwMiwweDRjLDB4MDAsMHhiMywweDAwLDB4MmMsMHhjMCwweDBhLDB4YjAsMHgwMiwweDBjLDB4MDAsMHg4MywweDAxIH0sCi0gIDE2LCAweGMyZjAsIDAsIHsweDJjLDB4MDAsMHgwYSwweDA1LDB4MDIsMHhjZCwweDU4LDB4YmIsMHgwMCwweDIwLDB4MDAsMHgwYSwweDNkLDB4MDIsMHhjZiwweDQwIH0sCi0gIDE2LCAweGMzMDAsIDAsIHsweDIxLDB4MjAsMHg2MCwweGMwLDB4MDksMHgxMCwweDAyLDB4ZjgsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGMzMTAsIDAsIHsweDIwLDB4MDEsMHgxZSwweDAwLDB4ODQsMHg4MCwweDI4LDB4ZTQsMHg4OCwweDc4LDB4NDIsMHhkZSwweDAwLDB4YjcsMHg5MCwweDY1IH0sCi0gIDE2LCAweGMzMjAsIDAsIHsweGU0LDB4ODgsMHg3YSwweDQyLDB4OWUsMHg0MCwweGE3LDB4OTAsMHgyZCwweGEwLDB4MGEsMHg0OCwweDIyLDB4ZGUsMHgwNCwweGI3IH0sCi0gIDE2LCAweGMzMzAsIDAsIHsweDgwLDB4MjMsMHg2MCwweDQ4LDB4NzgsMHg0MiwweGZlLDB4ODAsMHhhZiwweDkwLDB4NjUsMHhlMCwweDBiLDB4ZTgsMHgwMiwweGM4IH0sCi0gIDE2LCAweGMzNDAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MGMsMHgwMCwweGM4LDB4MDAsMHgzOCwweGMwIH0sCi0gIDE2LCAweGMzNTAsIDAsIHsweDBjLDB4MzAsMHgwMywweGNjLDB4MDAsMHhmYiwweDAwLDB4M2MsMHhjMCwweDBlLDB4YmEsMHgwMywweDBjLDB4MDAsMHhjMywweDAwIH0sCi0gIDE2LCAweGMzNjAsIDAsIHsweDNlLDB4MDAsMHg0ZSwweDIyLDB4MDIsMHhjYywweGMwLDB4ZmIsMHg0MCwweDMwLDB4YzAsMHgwYSwweDMwLDB4MDMsMHhjZSwweDgwIH0sCi0gIDE2LCAweGMzNzAsIDAsIHsweGUxLDB4NDEsMHgzMCwweGM5LDB4MGYsMHgzMCwweDAzLDB4ZDIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGMzODAsIDAsIHsweDQwLDB4MWQsMHhiYywweDIwLDB4ZmMsMHgwMCwweDM3LDB4YzIsMHgwZSwweGYxLDB4MjMsMHhlYywweDQwLDB4ZmYsMHgwNCwweDNhIH0sCi0gIDE2LCAweGMzOTAsIDAsIHsweGMwLDB4MGYsMHhiMCwweDIzLDB4ZmMsMHgwMCwweGZmLDB4MDQsMHgzZSwweGMwLDB4MGQsMHhhMCwweDAzLDB4ZmMsMHg1OCwweGZmIH0sCi0gIDE2LCAweGMzYTAsIDAsIHsweDAwLDB4YmYsMHhjMCwweDA2LDB4ZjAsMHg4MywweGRjLDB4NjIsMHhkZiwweDAwLDB4M2YsMHhjMCwweDBmLDB4ZjAsMHgwMywweDEwIH0sCi0gIDE2LCAweGMzYjAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZWQsMHg4MCwweGM5LDB4MDEsMHgzZSwweGMwIH0sCi0gIDE2LCAweGMzYzAsIDAsIHsweDhjLDB4YjIsMHgwNywweGFlLDB4MDQsMHhjYiwweDgwLDB4M2EsMHhjOCwweDRjLDB4YjIsMHgwMywweDJjLDB4ODQsMHhjYiwweDMwIH0sCi0gIDE2LCAweGMzZDAsIDAsIHsweGIwLDB4ZTAsMHgwZCwweDg4LDB4MGIsMHgyYywweDAwLDB4ZWIsMHgwMCwweDMwLDB4MDAsMHgwYywweGJjLDB4ODMsMHgyZCwweDgwIH0sCi0gIDE2LCAweGMzZTAsIDAsIHsweGZiLDB4MDAsMHgzMiwweGMwLDB4MGMsMHg5MCwweDAzLDB4ZWEsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGMzZjAsIDAsIHsweDQ4LDB4MTEsMHg5YywweDQwLDB4ODcsMHgwMCwweDJjLDB4Y2MsMHgwOCwweDc2LDB4ODIsMHgzYywweDgyLDB4ODcsMHgwMCwweDIxIH0sCi0gIDE2LCAweGM0MDAsIDAsIHsweGMyLDB4OGQsMHgzMiwweDgyLDB4MGQsMHg0YywweGE3LDB4MjgsMHgyMSwweDgwLDB4MDgsMHg0MCwweDAyLDB4MWQsMHg4MCwweGJmIH0sCi0gIDE2LCAweGM0MTAsIDAsIHsweDIwLDB4MzUsMHg0MCwweDA5LDB4NzIsMHg0MywweDVjLDB4YTAsMHhiNywweDAwLDB4MjksMHhjMCwweDA4LDB4NzAsMHgwMiwweGQyIH0sCi0gIDE2LCAweGM0MjAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4OGUsMHgwMCwweDg0LDB4ODAsMHgyZCwweGUwIH0sCi0gIDE2LCAweGM0MzAsIDAsIHsweDA4LDB4NzgsMHgwMiwweGRlLDB4YzAsMHg4ZiwweDgwLDB4MjgsMHhlYywweDI4LDB4N2IsMHgwYSwweDllLDB4OTQsMHg4MywweDg0IH0sCi0gIDE2LCAweGM0NDAsIDAsIHsweDIzLDB4ZTAsMHgwOSwweDU4LDB4NTAsMHg5ZSwweDEwLDB4YTcsMHhiMCwweDIzLDB4ZTAsMHgwYiwweDc4LDB4MDIsMHgxZSwweDIwIH0sCi0gIDE2LCAweGM0NTAsIDAsIHsweGI3LDB4ODAsMHgyMSwweGUwLDB4MDksMHg3OCwweDAyLDB4ZjAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGM0NjAsIDAsIHsweDQ4LDB4MTQsMHhjYywweDAyLDB4ODIsMHgxYywweDJjLDB4YzAsMHgyOCwweDMwLDB4MDIsMHg0YywweDAwLDB4ODMsMHhjMCwweDIwIH0sCi0gIDE2LCAweGM0NzAsIDAsIHsweGMwLDB4MDgsMHgzMCwweDAyLDB4MGMsMHgwMCwweGEzLDB4MDAsMHg2MCwweGQyLDB4MDgsMHgxZCwweDAyLDB4MGYsMHgyMCwweGJiIH0sCi0gIDE2LCAweGM0ODAsIDAsIHsweDI0LDB4MjQsMHhjMCwweDBiLDB4M2MsMHgwMiwweDRmLDB4MDAsMHhiMywweDgwLDB4MjgsMHhkOCwweDA5LDB4MzIsMHgwMiwweGQyIH0sCi0gIDE2LCAweGM0OTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDExLDB4YTgsMHgwMCwweGNlLDB4ODQsMHgzZSwweDgwIH0sCi0gIDE2LCAweGM0YTAsIDAsIHsweDBjLDB4YTAsMHgwMywweGU4LDB4MDAsMHhjZSwweGMwLDB4M2EsMHg4MCwweDA4LDB4YTAsMHgwMywweGE4LDB4MDAsMHhjYSwweDAwIH0sCi0gIDE2LCAweGM0YjAsIDAsIHsweDMzLDB4ODAsMHgwZCwweGVjLDB4MDMsMHgzYiwweDgwLDB4ZWUsMHg4MiwweDMzLDB4ODAsMHgwYSwweGMwLDB4ODcsMHgxMCwweDQwIH0sCi0gIDE2LCAweGM0YzAsIDAsIHsweGY2LDB4YzAsMHgzMywweDkwLDB4YWQsMHg2NCwweDAzLDB4ZmEsMHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGM0ZDAsIDAsIHsweDQ4LDB4MDAsMHhjMCwweDAyLDB4ZjgsMHgwMCwweDNjLDB4MDAsMHgxZiwweDA0LDB4MDMsMHhhMCwweDA0LDB4ZjgsMHgzMCwweDNlIH0sCi0gIDE2LCAweGM0ZTAsIDAsIHsweDAwLDB4MGYsMHg4MCwweDAzLDB4ZTAsMHgwMCwweGY4LDB4MDAsMHgzZSwweDA0LDB4MGYsMHg4MCwweDkzLDB4ZTAsMHgwMCwweGY4IH0sCi0gIDE2LCAweGM0ZjAsIDAsIHsweDEwLDB4M2UsMHgwMCwweDJjLDB4ODQsMHgwMywweGUwLDB4MDAsMHhmOCwweDE4LDB4M2UsMHgxMCwweDBlLDB4ODAsMHgwMywweGQyIH0sCi0gIDE2LCAweGM1MDAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTQsMHgwMCwweGQ5LDB4MDAsMHgzZSwweDQwIH0sCi0gIDE2LCAweGM1MTAsIDAsIHsweDBlLDB4OTAsMHgwMywweGE0LDB4MTAsMHhmOSwweDAwLDB4M2UsMHg0MCwweDA0LDB4OTAsMHgwMywweDI0LDB4MDAsMHg0MSwweDAwIH0sCi0gIDE2LCAweGM1MjAsIDAsIHsweDNlLDB4NDAsMHgwZiwweDkxLDB4MTMsMHhlMSwweDA4LDB4ZjgsMHgwMCwweDMyLDB4NDAsMHgwOCwweDg5LDB4ODMsMHhhMiwweDAwIH0sCi0gIDE2LCAweGM1MzAsIDAsIHsweGM5LDB4ODAsMHgzMiwweDQwLDB4MGMsMHg5MCwweDBiLDB4MDIsMHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGM1NDAsIDAsIHsweDgwLDB4MDQsMHg2NCwweDAyLDB4ODksMHgwMCwweDJlLDB4NDAsMHgwZCwweDkwLDB4MDIsMHgyNCwweDAwLDB4YjksMHgwMCwweDJlIH0sCi0gIDE2LCAweGM1NTAsIDAsIHsweDQwLDB4NDgsMHg5MCwweDAyLDB4YTQsMHgwMCwweDg5LDB4MDAsMHgyMiwweDQwLDB4OGIsMHg5NCwweDQyLDB4ZTIsMHgyMCwweGI4IH0sCi0gIDE2LCAweGM1NjAsIDAsIHsweDAwLDB4YTIsMHg0MCwweDA4LDB4OTQsMHgwMiwweGU1LDB4MDQsMHhhOSwweDkwLDB4MzQsMHg2MCwweDA4LDB4OTAsMHgwMiwweDIwIH0sCi0gIDE2LCAweGM1NzAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4MjQsMHgxMCwweDk5LDB4MDAsMHgyZSwweDQwIH0sCi0gIDE2LCAweGM1ODAsIDAsIHsweDBhLDB4OTAsMHgwMiwweGU0LDB4MDAsMHhiOSwweDAwLDB4MjQsMHg0MCwweDBhLDB4MTAsMHgwMiwweDA0LDB4MDAsMHhhOSwweDAwIH0sCi0gIDE2LCAweGM1OTAsIDAsIHsweDJhLDB4NDAsMHgwYiwweDkwLDB4ODIsMHhlMCwweDAxLDB4YjgsMHgwMCwweDIwLDB4NDAsMHgzYSwweDkwLDB4MDIsMHhhNCwweDQ0IH0sCi0gIDE2LCAweGM1YTAsIDAsIHsweDg5LDB4MDQsMHgyMiwweDYyLDB4MDgsMHg5OCwweDAyLDB4MDYsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGM1YjAsIDAsIHsweDA4LDB4MDQsMHgwNCwweDhhLDB4ODEsMHgwMCwweDJjLDB4NDgsMHgwOSwweDMyLDB4MDYsMHg0NCwweDgwLDB4YjEsMHgwMCwweDJjIH0sCi0gIDE2LCAweGM1YzAsIDAsIHsweDQ4LDB4MGEsMHgxMiwweDAyLDB4ODQsMHg4MCwweGExLDB4MjAsMHgyMCwweDUwLDB4MGIsMHgxNCwweDAyLDB4YzUsMHgwMCwweGIxIH0sCi0gIDE2LCAweGM1ZDAsIDAsIHsweDQwLDB4MjAsMHg1MCwweDBhLDB4MjQsMHgwMiwweGM5LDB4MDAsMHhhMywweDAwLDB4MjQsMHg0MCwweDA4LDB4MTEsMHgwMiwweDAyIH0sCi0gIDE2LCAweGM1ZTAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjEsMHg0MCwweGQ4LDB4NTAsMHgzZSwweDE0IH0sCi0gIDE2LCAweGM1ZjAsIDAsIHsweDBlLDB4ODAsMHgwMywweGUxLDB4NDAsMHhmOCwweDUxLDB4MzYsMHgxNCwweDJlLDB4ODUsMHg0MywweDIxLDB4NDIsMHhlOCwweDUwIH0sCi0gIDE2LCAweGM2MDAsIDAsIHsweDNhLDB4MDAsMHgwZiwweDgwLDB4MTIsMHhlMCwweDAwLDB4ZjgsMHgwMCwweDMyLDB4MDAsMHgxZSwweDgwLDB4NDMsMHhhMCwweDAwIH0sCi0gIDE2LCAweGM2MTAsIDAsIHsweGM4LDB4MDEsMHgzMiwweDAwLDB4MGMsMHg4MCwweDAzLDB4MmUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGM2MjAsIDAsIHsweDk4LDB4MWQsMHhlNCwweDQwLDB4ZmQsMHgwMCwweDNlLDB4NDQsMHg0ZSwweDExLDB4MDMsMHhhNCwweDQwLDB4YjUsMHgwMCwweDNlIH0sCi0gIDE2LCAweGM2MzAsIDAsIHsweDQ0LDB4MGQsMHg5MSwweDAzLDB4ZTQsMHg0MCwweGQ5LDB4MTAsMHgzZiwweDQwLDB4MGYsMHg1MCwweDAzLDB4ZTUsMHgwMCwweGY5IH0sCi0gIDE2LCAweGM2NDAsIDAsIHsweDQwLDB4M2YsMHg0MCwweDBkLDB4NDQsMHgwMywweGYxLDB4MDAsMHhmNSwweDAyLDB4M2QsMHhjMCwweDJmLDB4ZDIsMHgwMywweGU2IH0sCi0gIDE2LCAweGM2NTAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4ZTcsMHgwMCwweGU5LDB4MDAsMHgzNiwweDYwIH0sCi0gIDE2LCAweGM2NjAsIDAsIHsweDBkLDB4ZGEsMHgwMywweGU2LDB4NDAsMHhmOSwweDQwLDB4M2UsMHg2OCwweDBjLDB4OWEsMHgwMywweDY2LDB4MjAsMHg4OSwweGEwIH0sCi0gIDE2LCAweGM2NzAsIDAsIHsweDMzLDB4NDAsMHgwZSwweDkwLDB4MDcsMHhhNiwweDAwLDB4ZjksMHg4MCwweDNlLDB4NTAsMHgwYywweGNhLDB4MDMsMHhmMywweDgwIH0sCi0gIDE2LCAweGM2ODAsIDAsIHsweGM1LDB4MDIsMHgzMywweDQwLDB4MGMsMHhjMCwweDAzLDB4YzYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGM2OTAsIDAsIHsweDM4LDB4MTAsMHhlMywweDA0LDB4ODgsMHhhMiwweDIwLDB4MzgsMHgwOCwweDgwLDB4MDIsMHhlMywweDQwLDB4YjAsMHg4MCwweDJlIH0sCi0gIDE2LCAweGM2YTAsIDAsIHsweDI4LDB4MDgsMHg4YSwweDgyLDB4MjMsMHg4MCwweDg4LDB4ODAsMHgyMiwweDAwLDB4ZGIsMHg4OCwweDAyLDB4NjIsMHgwNCwweGI4IH0sCi0gIDE2LCAweGM2YjAsIDAsIHsweGIwLDB4MmUsMHhhOCwweDg4LDB4OGUsMHhhMiwweGVhLDB4ODAsMHg4OCwweDAwLDB4MmEsMHgwMCwweDI4LDB4ODgsMHgwMywweDhlIH0sCi0gIDE2LCAweGM2YzAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4YzUsMHg4MiwweGE5LDB4MDgsMHgyYywweDUyIH0sCi0gIDE2LCAweGM2ZDAsIDAsIHsweDBiLDB4MTQsMHgwMiwweGM0LDB4ODAsMHhiMSwweDIxLDB4MGMsMHg1MiwweDg4LDB4MTQsMHgwMiwweDQ0LDB4MjAsMHg5MSwweDY5IH0sCi0gIDE2LCAweGM2ZTAsIDAsIHsweDIwLDB4NDAsMHgwYSwweDEwLDB4ODIsMHhjNiwweGUwLDB4YjEsMHgwYywweDJjLDB4NDgsMHgwOCwweDAxLDB4MDIsMHhlMSwweDkzIH0sCi0gIDE2LCAweGM2ZjAsIDAsIHsweGExLDB4MDEsMHgyNCwweDQxLDB4MGEsMHgxMCwweDAyLDB4YzIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGM3MDAsIDAsIHsweDE4LDB4MTUsMHhhNCwweDAwLDB4ODksMHgwNCwweDIyLDB4NDAsMHgwOCwweDkwLDB4MDAsMHhlNCwweDAwLDB4MzksMHgwMiwweDBlIH0sCi0gIDE2LCAweGM3MTAsIDAsIHsweDQwLDB4MDgsMHgxMCwweDYyLDB4MjQsMHgwMCwweDkxLDB4MDAsMHg2MiwweDQwLDB4OGIsMHg4MCwweDAyLDB4ZTAsMHg1NCwweGI5IH0sCi0gIDE2LCAweGM3MjAsIDAsIHsweDBjLDB4MmUsMHg0MCwweDA5LDB4YjYsMHg1MiwweGVjLDB4MDAsMHhhOSwweDAwLDB4MmEsMHg0MCwweDBhLDB4OTIsMHg4MCwweDg2IH0sCi0gIDE2LCAweGM3MzAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDExLDB4ZTQsMHgwMCwweGUxLDB4NjAsMHgzNiwweDQwIH0sCi0gIDE2LCAweGM3NDAsIDAsIHsweDBkLDB4OTAsMHgyMywweGU0LDB4MDAsMHhmOSwweDMwLDB4M2UsMHg0MCwweDJjLDB4OTAsMHg0MywweDY0LDB4MDYsMHhjOSwweDAwIH0sCi0gIDE2LCAweGM3NTAsIDAsIHsweDMyLDB4NDksMHgwZSwweDhkLDB4OTMsMHhlMCwweDAwLDB4ZjksMHgwMCwweDJlLDB4NDAsMHgyYywweDk0LDB4MDMsMHhjNywweDQwIH0sCi0gIDE2LCAweGM3NjAsIDAsIHsweGU5LDB4MjAsMHgzMCwweDU1LDB4MGUsMHg5MCwweDAzLDB4ZTgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGM3NzAsIDAsIHsweDI4LDB4MDEsMHhhNCwweDAwLDB4ZjksMHgwMCwweDFlLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhlNCwweDAwLDB4ZjksMHg4MCwweDNjIH0sCi0gIDE2LCAweGM3ODAsIDAsIHsweDQwLDB4NGYsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGU5LDB4MDQsMHhiZSwweDQwLDB4MGYsMHg4OCwweDMzLDB4NjIsMHgwMCwweGY5IH0sCi0gIDE2LCAweGM3OTAsIDAsIHsweGMyLDB4M2UsMHg0OCwweDJlLDB4ODgsMHgzMywweGUyLDB4MDAsMHhkOSwweDAwLDB4M2UsMHg2MCwweDBkLDB4ODAsMHgwMywweGNhIH0sCi0gIDE2LCAweGM3YTAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTAsMHgwMCwweGM4LDB4MDAsMHgzZSwweDAwIH0sCi0gIDE2LCAweGM3YjAsIDAsIHsweDBkLDB4ODAsMHgwMywweGEwLDB4MDQsMHhlOCwweDQwLDB4YmEsMHgwMCwweDBjLDB4ODAsMHgwMywweGUwLDB4MDQsMHhjOCwweDAwIH0sCi0gIDE2LCAweGM3YzAsIDAsIHsweDNhLDB4MDAsMHgwZSwweDhjLDB4MDMsMHhlMCwweDAwLDB4ZjgsMHgwMiwweDMyLDB4MDAsMHgwZSwweDgwLDB4MDMsMHg2MSwweDIwIH0sCi0gIDE2LCAweGM3ZDAsIDAsIHsweGY4LDB4MDAsMHgzMiwweDE2LDB4MGYsMHg4MCwweDAzLDB4Y2EsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGM3ZTAsIDAsIHsweDI4LDB4MDUsMHgyOCwweDAwLDB4OGEsMHgwMCwweDJlLDB4ODAsMHgwOCwweGUyLDB4MDMsMHgyOCwweDAwLDB4OGEsMHgwMCwweDIyIH0sCi0gIDE2LCAweGM3ZjAsIDAsIHsweDgwLDB4MDgsMHhhMCwweDAyLDB4ZTgsMHgwNCwweDhhLDB4MDAsMHgyZSwweGEyLDB4MDksMHhlOCwweDAyLDB4ZmEsMHgwNCwweGJlIH0sCi0gIDE2LCAweGM4MDAsIDAsIHsweDAwLDB4YTIsMHg4MCwweDA4LDB4Y2QsMHg4MiwweDMzLDB4MjAsMHhiNiwweGMwLDB4MzcsMHhhMCwweDRiLDB4YzgsMHg4MiwweGNhIH0sCi0gIDE2LCAweGM4MTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NmMsMHgwMCwweDgzLDB4MDAsMHgyNiwweGMwIH0sCi0gIDE2LCAweGM4MjAsIDAsIHsweDA5LDB4MzgsMHgwMiwweDRjLDB4MDAsMHhiMywweDAwLDB4MjQsMHhjMCwweDA4LDB4MzAsMHgwMiwweGVjLDB4MDAsMHg4MywweDAwIH0sCi0gIDE2LCAweGM4MzAsIDAsIHsweDI4LDB4ZTAsMHgwYiwweDMwLDB4MDIsMHhjZSwweDgxLDB4YjMsMHgwMCwweDYyLDB4YzAsMHgwOCwweDNjLDB4MDIsMHg0ZiwweDAwIH0sCi0gIDE2LCAweGM4NDAsIDAsIHsweGIzLDB4YTAsMHgyMCwweGIwLDB4MDMsMHgzMCwweDAyLDB4Y2EsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGM4NTAsIDAsIHsweGEwLDB4MDEsMHgwYywweDQxLDB4ODcsMHgzNCwweDJkLDB4YzAsMHgwOCwweDYwLDB4MDIsMHg5ZSwweDQwLDB4YjcsMHhhMCwweDJkIH0sCi0gIDE2LCAweGM4NjAsIDAsIHsweGMwLDB4MDgsMHg3MywweDAyLDB4ZGMsMHgwMCwweDg3LDB4MjAsMHgyZCwweGMwLDB4MGIsMHg3MCwweDgyLDB4ZGQsMHg4NSwweGJmIH0sCi0gIDE2LCAweGM4NzAsIDAsIHsweDgxLDB4NjMsMHhjOCwweDg4LDB4N2IsMHgwMiwweDFjLDB4MDAsMHhiNywweDQwLDB4NjUsMHgwMCwweDFiLDB4NzIsMHgwMiwweGU4IH0sCi0gIDE2LCAweGM4ODAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MWUsMHgwMCwweGM3LDB4ODEsMHgzZCwweGUwIH0sCi0gIDE2LCAweGM4OTAsIDAsIHsweGRkLDB4NzAsMHgwMywweGZlLDB4ODAsMHhmNywweDkwLDB4M2YsMHhlMCwweDJjLDB4NzksMHgwMywweGZlLDB4ODAsMHhjNywweGEwIH0sCi0gIDE2LCAweGM4YTAsIDAsIHsweDM5LDB4ZTAsMHgwZiwweDdhLDB4MDIsMHhkZSwweDg0LDB4ZjcsMHhjMiwweDMxLDB4ZjIsMHgwYywweDc5LDB4MDMsMHg1ZSwweDA0IH0sCi0gIDE2LCAweGM4YjAsIDAsIHsweGY3LDB4ODQsMHgzMSwweDYwLDB4MGYsMHg3ZSwweDAzLDB4ZWEsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGM4YzAsIDAsIHsweDA4LDB4MWQsMHhhZCwweDBhLDB4ZmIsMHg2MCwweDdlLDB4ZDQsMHgwZiwweDMwLDB4MDMsMHg2YywweDAwLDB4Y2IsMHgwMCwweDMyIH0sCi0gIDE2LCAweGM4ZDAsIDAsIHsweGRlLDB4MmYsMHhiMiwweDAzLDB4ZWQsMHg0MiwweDFiLDB4NjAsMHgzZSwweGMxLDB4MGQsMHhiMSwweDAzLDB4ZWMsMHg1MCwweGY3IH0sCi0gIDE2LCAweGM4ZTAsIDAsIHsweDgwLDB4M2QsMHhkOCwweDJlLDB4MzIsMHgwMywweGVjLDB4MzAsMHhmYiwweDAwLDB4M2UsMHg0MCwweDBmLDB4YjAsMHgwMywweGMyIH0sCi0gIDE2LCAweGM4ZjAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZmYsMHgwMCwweGNiLDB4ZDAsMHgzZiwweGYwIH0sCi0gIDE2LCAweGM5MDAsIDAsIHsweDRjLDB4ZjgsMHgxMywweGZlLDB4MDAsMHhjZiwweDg4LDB4M2YsMHhlMCwweDBjLDB4ZjgsMHg0MywweDNmLDB4MDAsMHhjZiwweGM4IH0sCi0gIDE2LCAweGM5MTAsIDAsIHsweDMzLDB4ZTAsMHgwYywweGY4LDB4MDMsMHhmZSwweDAwLDB4ZmYsMHg4MCwweDNmLDB4ZTAsMHgyYywweGY4LDB4MDMsMHhiZSwweDIwIH0sCi0gIDE2LCAweGM5MjAsIDAsIHsweGM3LDB4ODAsMHgzMywweGUwLDB4MGMsMHhmOCwweDAxLDB4MDAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGM5MzAsIDAsIHsweGE4LDB4MDEsMHhiYywweDQwLDB4ODcsMHg5MCwweDNkLDB4YzAsMHgwOCwweDQwLDB4MDIsMHhkYywweDgwLDB4ZDcsMHgwMCwweDJkIH0sCi0gIDE2LCAweGM5NDAsIDAsIHsweGMwLDB4MGMsMHgzMCwweDAzLDB4N2MsMHgwMCwweDg3LDB4MTAsMHgyMSwweGM0LDB4MWUsMHg3MCwweDIwLDB4ZGMsMHg0NCwweGI3IH0sCi0gIDE2LCAweGM5NTAsIDAsIHsweDAwLDB4MzksMHhjMCwweDBjLDB4NzEsMHgwMiwweDFjLDB4NDAsMHhkNywweDAyLDB4MjksMHg0MCwweDA4LDB4NzAsMHgwMiwweDJhIH0sCi0gIDE2LCAweGM5NjAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OWMsMHgwMCwweDg3LDB4MzIsMHgyZCwweGMwIH0sCi0gIDE2LCAweGM5NzAsIDAsIHsweDA4LDB4NzAsMHgwMiwweGRjLDB4MDEsMHg4NywweDAwLDB4MmMsMHhjMCwweDJiLDB4NzAsMHgwYSwweDVjLDB4MDAsMHg4MywweDAwIH0sCi0gIDE2LCAweGM5ODAsIDAsIHsweDIzLDB4YzAsMHgwOCwweDcwLDB4MDIsMHhkZCwweDAwLDB4YjcsMHgwMCwweDJkLDB4YzQsMHgwYiwweGYwLDB4MDIsMHg5YywweDIwIH0sCi0gIDE2LCAweGM5OTAsIDAsIHsweDg3LDB4MTgsMHgyOSwweDQwLDB4MDgsMHg3MCwweDgyLDB4MDAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGM5YTAsIDAsIHsweDIwLDB4MTQsMHhjYywweDAwLDB4ODMsMHgwMiwweDI4LDB4YzAsMHgwOCwweDEwLDB4MDIsMHhjYywweDA4LDB4ODMsMHg0MCwweDJlIH0sCi0gIDE2LCAweGM5YjAsIDAsIHsweGMwLDB4MmEsMHgzMCwweDAyLDB4MGMsMHgwMCwweDhiLDB4MDAsMHgyMCwweGYyLDB4MGEsMHgzMCwweDAyLDB4Y2UsMHgwMCwweGIzIH0sCi0gIDE2LCAweGM5YzAsIDAsIHsweDg4LDB4MmEsMHhkMCwweDBhLDB4MzAsMHgwNiwweDBjLDB4MDAsMHg5MiwweDAwLDB4MjgsMHg3OCwweDA4LDB4M2MsMHg0MiwweDA4IH0sCi0gIDE2LCAweGM5ZDAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YmMsMHgwMiwweGM3LDB4MDAsMHgyZiwweGMwIH0sCi0gIDE2LCAweGM5ZTAsIDAsIHsweDJjLDB4OTAsMHgwMiwweGZjLDB4MDIsMHg4ZiwweGQ4LDB4M2YsMHhjMCwweDRiLDB4ZjAsMHgwMiwweDdjLDB4MDIsMHhjZiwweDAwIH0sCi0gIDE2LCAweGM5ZjAsIDAsIHsweDIwLDB4ZjIsMHgwOCwweGIwLDB4MTMsMHhlZSwweDgwLDB4ZmYsMHgwMCwweDNmLDB4ZDQsMHgyZSwweGJkLDB4ODMsMHhhYywweDAwIH0sCi0gIDE2LCAweGNhMDAsIDAsIHsweGNiLDB4ODAsMHgzYSwweGEwLDB4YWMsMHhiOCwweDAzLDB4MmEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGNhMTAsIDAsIHsweDgwLDB4MDAsMHhlYywweDAwLDB4ZmIsMHgxMCwweDNlLDB4YzAsMHgwZiwweDg0LDB4MDMsMHhlYywweDEwLDB4ZmIsMHgwMCwweDNlIH0sCi0gIDE2LCAweGNhMjAsIDAsIHsweGMwLDB4MDEsMHhiMCwweDAzLDB4ZWMsMHgwMCwweGZiLDB4MDAsMHhiZSwweGMwLDB4MGUsMHhiMCwweDIzLDB4ZWMsMHgwOCwweGZiIH0sCi0gIDE2LCAweGNhMzAsIDAsIHsweDEwLDB4M2YsMHhjMCwweDBkLDB4YjQsMHgwMywweGVkLDB4MDQsMHhmOSwweDAwLDB4MWUsMHgxNCwweGNmLDB4YjAsMHg4MywweGUwIH0sCi0gIDE2LCAweGNhNDAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZmMsMHgwMCwweGNmLDB4MDAsMHgzMCwweGMwIH0sCi0gIDE2LCAweGNhNTAsIDAsIHsweDBjLDB4NDAsMHgwMywweGFjLDB4MDAsMHhmZiwweDAwLDB4M2YsMHhjMCwweDJjLDB4YjAsMHgwMywweGJjLDB4MDAsMHhmZiwweDAwIH0sCi0gIDE2LCAweGNhNjAsIDAsIHsweGIzLDB4ZTAsMHgwZCwweGZhLDB4MDMsMHg3ZSwweDgwLDB4Y2YsMHgwMCwweDMzLDB4YzAsMHgwYywweGZjLDB4NDMsMHhmZiwweDIwIH0sCi0gIDE2LCAweGNhNzAsIDAsIHsweGZmLDB4MDAsMHgzZiwweDQwLDB4MDgsMHhmOCwweDAzLDB4YzAsMHg0NCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGNhODAsIDAsIHsweDgxLDB4MDQsMHg2YywweDEwLDB4YWIsMHgwMCwweDJhLDB4YzAsMHgwYSwweDhlLDB4NDIsMHgyYywweDA0LDB4YmIsMHgwMCwweDJlIH0sCi0gIDE2LCAweGNhOTAsIDAsIHsweGMwLDB4MDgsMHhiMCwweDAyLDB4NmMsMHgwMCwweGJiLDB4MDAsMHgzYSwweGMwLDB4MGUsMHgzMCwweDAyLDB4MGQsMHgwOCwweDgzIH0sCi0gIDE2LCAweGNhYTAsIDAsIHsweDAyLDB4MjIsMHhjMCwweDBhLDB4YmMsMHgwMiwweGVmLDB4MDAsMHhiYiwweGMwLDB4MmMsMHg2OCwweDBhLDB4YjksMHgwMiwweGUwIH0sCi0gIDE2LCAweGNhYjAsIDAsIHsweDQwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MGMsMHgwMCwweDhiLDB4MDAsMHgyMiwweGMwIH0sCi0gIDE2LCAweGNhYzAsIDAsIHsweDA4LDB4YjgsMHgwMiwweGFjLDB4MDAsMHhiYiwweDAyLDB4MmUsMHhjMCwweDA4LDB4YjAsMHgwMiwweGVjLDB4MDAsMHhiYiwweDAwIH0sCi0gIDE2LCAweGNhZDAsIDAsIHsweDI2LDB4NDgsMHgxOSwweGIwLDB4MDIsMHg2ZCwweDAwLDB4OGIsMHgwMCwweDIyLDB4YzAsMHgwYSwweGIwLDB4MDIsMHhlYywweDA0IH0sCi0gIDE2LCAweGNhZTAsIDAsIHsweGJiLDB4MWMsMHgyZSwweDIwLDB4MGEsMHhiMCwweDAyLDB4ZTAsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGNhZjAsIDAsIHsweDA4LDB4MTQsMHgwYywweDAwLDB4YWIsMHgyMCwweDI4LDB4YzAsMHgwYSwweDAwLDB4MDIsMHgwYywweDAwLDB4OTMsMHgwNCwweDJjIH0sCi0gIDE2LCAweGNiMDAsIDAsIHsweGMxLDB4MDgsMHgzMCwweDAyLDB4NGMsMHgwMCwweGIzLDB4MDAsMHgyNCwweDQxLDB4MDksMHhiOCwweDAyLDB4MGMsMHgwMiwweDgzIH0sCi0gIDE2LCAweGNiMTAsIDAsIHsweDAxLDB4YTAsMHhjMCwweDBhLDB4MzAsMHgwMiwweGNjLDB4MTAsMHg5MywweDAwLDB4MmMsMHgwMCwweDBhLDB4MzAsMHgwMiwweGMyIH0sCi0gIDE2LCAweGNiMjAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4N2MsMHgwMCwweGNmLDB4MjgsMHgzMywweGMwIH0sCi0gIDE2LCAweGNiMzAsIDAsIHsweDBjLDB4YTAsMHg0NiwweGFjLDB4MTEsMHhiZiwweDAwLDB4M2YsMHhjMCwweDVjLDB4ZjAsMHg0MywweGZjLDB4MDAsMHhmZiwweDA0IH0sCi0gIDE2LCAweGNiNDAsIDAsIHsweDMyLDB4NDAsMHgwZCwweGIwLDB4MDMsMHg2YywweDA4LDB4Y2IsMHgwNCwweDMxLDB4YzAsMHgwYywweGIwLDB4MzMsMHhlZCwweDQwIH0sCi0gIDE2LCAweGNiNTAsIDAsIHsweGZiLDB4MDQsMHgzZSwweDQwLDB4MGUsMHhiMCwweDAzLDB4YzAsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGNiNjAsIDAsIHsweGEwLDB4MTUsMHhmYywweDAwLDB4ZmYsMHgwMCwweDNmLDB4YzAsMHgwZiwweGMwLDB4MjMsMHhmYywweDAxLDB4ZmYsMHgwMCwweDNmIH0sCi0gIDE2LCAweGNiNzAsIDAsIHsweGMwLDB4NGYsMHhmMCwweDg3LDB4N2MsMHgwMCwweGZmLDB4MDAsMHgzOSwweDQwLDB4MGUsMHhmMCwweDAzLDB4ZmMsMHgwMCwweGZmIH0sCi0gIDE2LCAweGNiODAsIDAsIHsweDAwLDB4M2YsMHhjMCwweDBmLDB4NzAsMHgwMywweGRjLDB4ODAsMHhmZiwweDAwLDB4M2QsMHg0MCwweDBmLDB4NzAsMHgwMywweGU4IH0sCi0gIDE2LCAweGNiOTAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZmMsMHg0MCwweGViLDB4NDgsMHgzZSwweGMyIH0sCi0gIDE2LCAweGNiYTAsIDAsIHsweDBlLDB4MDksMHgwMywweGJjLDB4NjAsMHhjMCwweDIwLDB4MzUsMHgyNCwweDBlLDB4ZDIsMHgxMywweDJjLDB4NjAsMHhmYiwweDZhIH0sCi0gIDE2LCAweGNiYjAsIDAsIHsweDMzLDB4YzAsMHgwZiwweGNhLDB4MDMsMHgyMiwweDIwLDB4YzAsMHg4MCwweDM3LDB4YzAsMHgwZCwweGYwLDB4MDMsMHg3YywweDAwIH0sCi0gIDE2LCAweGNiYzAsIDAsIHsweGVmLDB4MDAsMHgzMywweDI0LDB4MGYsMHhjOCwweDAzLDB4MzAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGNiZDAsIDAsIHsweDgwLDB4MTAsMHhkZCwweDAwLDB4OGYsMHg2MCwweDJmLDB4ZDgsMHgwOCwweGEyLDB4MDIsMHhmZCwweDgwLDB4YzgsMHg3MCwweDIyIH0sCi0gIDE2LCAweGNiZTAsIDAsIHsweDAwLDB4MmMsMHhmZCwweDA3LDB4ZGMsMHg4NCwweGJmLDB4NjAsMHgyMywweGQyLDB4MGIsMHhiZCwweDAyLDB4MjMsMHgwMCwweDg4IH0sCi0gIDE2LCAweGNiZjAsIDAsIHsweDgwLDB4YTIsMHgyMCwweDg4LDB4YjAsMHgyMiwweDM0LDB4MDAsMHhiYiwweDUwLDB4MjIsMHhjOCwweDBiLDB4YjAsMHgwMiwweDIwIH0sCi0gIDE2LCAweGNjMDAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4Y2MsMHg0MCwweGEzLDB4MDMsMHgyYywweGMyIH0sCi0gIDE2LCAweGNjMTAsIDAsIHsweDBhLDB4MDAsMHg0MiwweDhjLDB4ODIsMHhhMywweDBhLDB4MjQsMHg4MCwweDBiLDB4MzAsMHgwMiwweGNjLDB4OTAsMHhiMywweDAwIH0sCi0gIDE2LCAweGNjMjAsIDAsIHsweDI4LDB4ZDgsMHgwYiwweDEwLDB4MDIsMHg4YywweDAyLDB4OTAsMHgwMCwweDIwLDB4YzAsMHgwYiwweDEwLDB4NDIsMHg0YywweDAwIH0sCi0gIDE2LCAweGNjMzAsIDAsIHsweGIzLDB4MDQsMHgyNCwweGMwLDB4MGIsMHgzMCwweDBlLDB4YTIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGNjNDAsIDAsIHsweGMwLDB4MTUsMHhhYywweDEwLDB4OWIsMHgwNCwweDJjLDB4YzAsMHhmOCwweDk4LDB4MDYsMHhlYywweDAwLDB4YWIsMHg4MCwweDI2IH0sCi0gIDE2LCAweGNjNTAsIDAsIHsweDIwLDB4MDgsMHg5MCwweDJhLDB4YWMsMHgxMCwweGJiLDB4MDAsMHgwYSwweGMwLDB4MWIsMHhiMCwweDIyLDB4YWQsMHgwMCwweDk4IH0sCi0gIDE2LCAweGNjNjAsIDAsIHsweDQwLDB4MmEsMHg3MCwweDRiLDB4YjAsMHgwMiwweDJjLDB4MDAsMHhiMywweDAwLDB4YTYsMHg4NiwweDFiLDB4YjAsMHg4MiwweGIwIH0sCi0gIDE2LCAweGNjNzAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDE1LDB4ZWMsMHgwMCwweGViLDB4MDAsMHgzZSwweGMwIH0sCi0gIDE2LCAweGNjODAsIDAsIHsweDhlLDB4OTgsMHgwMywweGFjLDB4MDgsMHhlOCwweGMwLDB4MzYsMHgzMCwweDRmLDB4YjAsMHg0MiwweGVjLDB4MDAsMHhmOSwweDgwIH0sCi0gIDE2LCAweGNjOTAsIDAsIHsweDNhLDB4YzAsMHg4ZiwweDg4LDB4NDIsMHgyMCwweDEwLDB4YzgsMHgxMCwweDMwLDB4ZjAsMHgwZiwweDMwLDB4MTMsMHg2YywweDEwIH0sCi0gIDE2LCAweGNjYTAsIDAsIHsweGViLDB4MDAsMHgzNiwweGYwLDB4MGYsMHhiZCwweDAzLDB4OTAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGNjYjAsIDAsIHsweGUwLDB4MDEsMHhiYywweDAwLDB4ZWYsMHgwNCwweDdmLDB4YzAsMHgwZiwweGYwLDB4NDMsMHhkYywweDAwLDB4YzQsMHgwMCwweDNiIH0sCi0gIDE2LCAweGNjYzAsIDAsIHsweDQwLDB4OGIsMHhkYywweDAzLDB4N2MsMHgxMCwweGY5LDB4OTAsMHgzNiwweGMyLDB4NGYsMHhmOSwweDIzLDB4NjIsMHg0MSwweGFjIH0sCi0gIDE2LCAweGNjZDAsIDAsIHsweDAxLDB4MTMsMHg0MCwweDA0LDB4YjAsMHgwMywweGU0LDB4MDAsMHhmZiwweDAwLDB4M2IsMHhjMCwweDBmLDB4YzAsMHgwMywweDc4IH0sCi0gIDE2LCAweGNjZTAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4OGMsMHgxMiwweGNiLDB4MDAsMHhmMiwweGMwIH0sCi0gIDE2LCAweGNjZjAsIDAsIHsweDBmLDB4ODAsMHgwMywweGFjLDB4MDgsMHhkOSwweDAwLDB4M2EsMHg4MCwweDBmLDB4MTIsMHgwMywweGFjLDB4MDAsMHhlMSwweDAwIH0sCi0gIDE2LCAweGNkMDAsIDAsIHsweDMyLDB4YzAsMHgwYywweDkwLDB4MDMsMHhlZCwweDAyLDB4YzgsMHg0MCwweDNlLDB4ZDAsMHgwZiwweDkwLDB4MTMsMHgyYywweDAyIH0sCi0gIDE2LCAweGNkMTAsIDAsIHsweGRiLDB4MDAsMHgzZSwweDUwLDB4MGMsMHhiNCwweDAzLDB4MTAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGNkMjAsIDAsIHsweGM4LDB4MDUsMHgzYywweDAwLDB4OGYsMHgwMCwweDE3LDB4YzAsMHgwOCwweDkwLDB4MDIsMHgzYywweDA4LDB4OGQsMHgwMCwweDIyIH0sCi0gIDE2LCAweGNkMzAsIDAsIHsweDU0LDB4MDgsMHhiNCwweDAzLDB4M2MsMHgwMCwweDg5LDB4MDAsMHgyMywweGMwLDB4NDAsMHgzNSwweDAyLDB4Y2MsMHgyNCwweDgwIH0sCi0gIDE2LCAweGNkNDAsIDAsIHsweDAwLDB4MjIsMHg3NCwweDRjLDB4YjAsMHgwMiwweDJjLDB4MDAsMHg4ZiwweDAwLDB4MmUsMHhkNCwweDBhLDB4YjAsMHgwYSwweDMyIH0sCi0gIDE2LCAweGNkNTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDAxLDB4NGMsMHgwMiwweDgzLDB4MDAsMHgyNCwweGMwIH0sCi0gIDE2LCAweGNkNjAsIDAsIHsweDA5LDB4MDAsMHgwMiwweDhjLDB4MDEsMHg5MCwweDAwLDB4NmEsMHg0MSwweDBhLDB4MzAsMHgyMCwweDRlLDB4MTAsMHgzMSwweDAyIH0sCi0gIDE2LCAweGNkNzAsIDAsIHsweDJjLDB4YzAsMHgwOSwweDIwLDB4MDYsMHhjZSwweDAwLDB4ODAsMHgwMCwweDYwLDB4ZTAsMHgwYSwweDMwLDB4ODIsMHgwYywweDA4IH0sCi0gIDE2LCAweGNkODAsIDAsIHsweDgzLDB4MDgsMHgyYywweGQwLDB4MDksMHhiMCwweDAyLDB4NzgsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGNkOTAsIDAsIHsweDIwLDB4MDEsMHgxZSwweDA0LDB4ODcsMHhiMCwweDIwLDB4ZWMsMHgwOSwweGU5LDB4MDIsMHg4ZSwweDU4LDB4OWQsMHhiMCwweDJiIH0sCi0gIDE2LCAweGNkYTAsIDAsIHsweGE1LDB4NDAsMHg1YiwweDA2LDB4ZGUsMHg0MCwweDk1LDB4OTQsMHgyZCwweGU0LDB4MTksMHg3YiwweDA2LDB4ZGUsMHgwMCwweDg0IH0sCi0gIDE2LCAweGNkYjAsIDAsIHsweDgwLDB4NjAsMHhlMCwweDBhLDB4NzgsMHgwYSwweDE2LDB4MTAsMHg4NywweDgwLDB4MmQsMHg2OCwweDBiLDB4NzksMHgwMiwweDQ4IH0sCi0gIDE2LCAweGNkYzAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MGMsMHgwMCwweGNiLDB4YTAsMHgyNCwweGUwIH0sCi0gIDE2LCAweGNkZDAsIDAsIHsweDBmLDB4MmEsMHgwMywweDhlLDB4MDAsMHhkMiwweGQwLDB4MzgsMHhmYSwweDBmLDB4MTgsMHhjMywweGNlLDB4MjQsMHgzMSwweGIwIH0sCi0gIDE2LCAweGNkZTAsIDAsIHsweDNjLDB4ZTUsMHgwYywweDNiLDB4MTcsMHhjZSwweDA0LDB4YzAsMHg4MiwweDM4LDB4YzIsMHg5ZSwweDEwLDB4MDMsMHgwYywweDAwIH0sCi0gIDE2LCAweGNkZjAsIDAsIHsweGMzLDB4MDEsMHgzZSwweGMwLDB4MGQsMHg4MSwweDAzLDB4NTIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGNlMDAsIDAsIHsweDQwLDB4MWQsMHhiYywweDAwLDB4ZWYsMHgxMCwweDNlLDB4YzIsMHgwZSwweGIxLDB4MjMsMHgyYywweGMxLDB4YWIsMHgwMSwweDM2IH0sCi0gIDE2LCAweGNlMTAsIDAsIHsweDgwLDB4MGYsMHhiMCwweDIzLDB4MmQsMHg5MCwweGU5LDB4ODQsMHg3MiwweGM4LDB4NjIsMHhmMSwweDE3LDB4ZmMsMHgwMCwweGZjIH0sCi0gIDE2LCAweGNlMjAsIDAsIHsweDAwLDB4M2IsMHhjNCwweDFkLDB4ZjAsMHgwMywweGVjLDB4MDAsMHhlZiwweDA4LDB4M2YsMHhjOCwweDBlLDB4ZjEsMHgwMywweDkwIH0sCi0gIDE2LCAweGNlMzAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZWMsMHg4MCwweGZiLDB4YTQsMHgzYSwweGM4IH0sCi0gIDE2LCAweGNlNDAsIDAsIHsweDBlLDB4OTAsMHgwMywweDJjLDB4MDQsMHhjYSwweDAwLDB4MzAsMHg2MCwweDJkLDB4MWEsMHgyNywweDZjLDB4ODQsMHhjYiwweDYwIH0sCi0gIDE2LCAweGNlNTAsIDAsIHsweDMyLDB4ZDIsMHgwYywweGEwLDB4MTMsMHgyZCwweDg0LDB4Y2IsMHgwMiwweDNlLDB4YzAsMHgwZCwweGI4LDB4MDMsMHhhYywweDgwIH0sCi0gIDE2LCAweGNlNjAsIDAsIHsweGNiLDB4ODEsMHgzMiwweDgwLDB4MGMsMHhiMCwweDAzLDB4YWEsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGNlNzAsIDAsIHsweDQ4LDB4MTEsMHg5YywweGE0LDB4YjcsMHgyOCwweDczLDB4YzIsMHgwOCwweGYwLDB4MDIsMHgzYywweGMwLDB4OGYsMHgwMCwweDMxIH0sCi0gIDE2LCAweGNlODAsIDAsIHsweGMwLDB4MDksMHg3MCwweDgyLDB4OWMsMHg4MCwweDg3LDB4MGMsMHgyMCwweGQ4LDB4MDksMHg3MCwweDIyLDB4MWMsMHgzMCwweDg0IH0sCi0gIDE2LCAweGNlOTAsIDAsIHsweDAwLDB4M2QsMHhjMCwweDA4LDB4NzAsMHgwMiwweDE0LDB4MjQsMHg4NywweGEwLDB4MjEsMHhjMCwweDA4LDB4NzAsMHgxMiwweDEyIH0sCi0gIDE2LCAweGNlYTAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4OWUsMHg0MCwweGIzLDB4OTUsMHgyOSwweGU5IH0sCi0gIDE2LCAweGNlYjAsIDAsIHsweDBhLDB4NjgsMHgwMiwweDllLDB4ZDAsMHg4NiwweGYwLDB4YTMsMHhlMCwweDA4LDB4NzgsMHgxMiwweDllLDB4NDQsMHhhMywweDgyIH0sCi0gIDE2LCAweGNlYzAsIDAsIHsweDIxLDB4ZTgsMHgwYiwweDM4LDB4MDIsMHgwZSwweDEwLDB4ODcsMHg4MCwweDJmLDB4ZTAsMHgwYiwweDE4LDB4MDIsMHg4ZSwweDAyIH0sCi0gIDE2LCAweGNlZDAsIDAsIHsweDg3LDB4MDAsMHgyMSwweGUwLDB4MDgsMHg3OCwweDAyLDB4MzAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGNlZTAsIDAsIHsweDQ4LDB4MTQsMHhjYywweDAwLDB4YjMsMHgwMCwweDI0LDB4YzAsMHg0OCwweDMwLDB4MDIsMHgwYywweDA0LDB4ODMsMHg4MCwweDIwIH0sCi0gIDE2LCAweGNlZjAsIDAsIHsweGQwLDB4MDksMHgxMCwweDAyLDB4OGMsMHgwNiwweGEzLDB4ODAsMHgyMCwweGMwLDB4MGIsMHgzMCwweDAyLDB4MGMsMHgwMiwweDgwIH0sCi0gIDE2LCAweGNmMDAsIDAsIHsweDQwLDB4MjgsMHhkMiwweDBhLDB4MzAsMHgwMiwweDBjLDB4MDEsMHg4MywweDAwLDB4MjIsMHgzYywweDA4LDB4ODcsMHgwMiwweDEyIH0sCi0gIDE2LCAweGNmMTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YTgsMHgxOCwweGZhLDB4MDAsMHgzYSwweDgwIH0sCi0gIDE2LCAweGNmMjAsIDAsIHsweDhlLDB4ZTQsMHg0MiwweDI4LDB4MDIsMHhjZSwweDgwLDB4MzMsMHg4MCwweDRkLDB4YTAsMHg4MywweGU4LDB4MDAsMHhlYSwweGEwIH0sCi0gIDE2LCAweGNmMzAsIDAsIHsweGIyLDB4ODAsMHgwYSwweGEwLDB4MGEsMHgyOCwweDAwLDB4Y2UsMHgxOCwweDJmLDB4ODAsMHgwZiwweGEwLDB4MTMsMHhhOCwweDAwIH0sCi0gIDE2LCAweGNmNDAsIDAsIHsweGNhLDB4MDAsMHgzMiwweDkwLDB4MmMsMHhhYywweDBiLDB4M2EsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGNmNTAsIDAsIHsweDQ4LDB4MDAsMHhlMCwweDAwLDB4ZjgsMHgwNCwweDNhLDB4MDAsMHgwZiwweDgwLDB4ODMsMHhjMCwweDA4LDB4ZTgsMHgwMywweDNhIH0sCi0gIDE2LCAweGNmNjAsIDAsIHsweDAwLDB4MGUsMHg4MCwweDIyLDB4YzAsMHgwMCwweGQwLDB4MDAsMHg3ZSwweDEwLDB4YTQsMHg4MCwweDAzLDB4YzAsMHgwMCwweGY4IH0sCi0gIDE2LCAweGNmNzAsIDAsIHsweDAwLDB4M2UsMHgxMCwweDBkLDB4ODQsMHgwMywweGMwLDB4MDAsMHhmOCwweDAwLDB4YmUsMHgwMCwweDBmLDB4ODAsMHgwMSwweDUyIH0sCi0gIDE2LCAweGNmODAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4YzQsMHgwMiwweGM5LDB4MDAsMHgzNiwweDQwIH0sCi0gIDE2LCAweGNmOTAsIDAsIHsweDBjLDB4OTAsMHgwMywweDY0LDB4MDIsMHg4OSwweDA0LDB4MzIsMHg0MiwweDBkLDB4OTIsMHgwMywweGU2LDB4NDIsMHhjOSwweDAwIH0sCi0gIDE2LCAweGNmYTAsIDAsIHsweDMyLDB4NzAsMHgwZSwweDEyLDB4MGIsMHgyNCwweDA4LDB4YzksMHgwMCwweDNlLDB4NDUsMHgwZSwweDk5LDB4MDMsMHhlNCwweDAyIH0sCi0gIDE2LCAweGNmYjAsIDAsIHsweGMxLDB4MDAsMHgzMiwweDUwLDB4MDQsMHg5NCwweDAzLDB4MDIsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGNmYzAsIDAsIHsweDgwLDB4MDQsMHg2NCwweDAwLDB4ODksMHgwMCwweDZlLDB4NDAsMHgwOCwweDkwLDB4MDIsMHgyNCwweDAwLDB4ODksMHgwMCwweDIyIH0sCi0gIDE2LCAweGNmZDAsIDAsIHsweDU0LDB4MGIsMHg5MCwweDAzLDB4ZTYsMHgwMCwweDg5LDB4MDAsMHgyMiwweDQwLDB4MDgsMHg5MCwweDBhLDB4MjQsMHgwMCwweDg5IH0sCi0gIDE2LCAweGNmZTAsIDAsIHsweDAwLDB4MzgsMHg0OCwweDA4LDB4OTAsMHg4MiwweGU0LDB4MDQsMHhkOSwweDAwLDB4MjIsMHg0MCwweDA4LDB4OTAsMHgwMiwweDIwIH0sCi0gIDE2LCAweGNmZjAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4MjQsMHgwMCwweDg5LDB4MDEsMHgyYywweDQwIH0sCi0gIDE2LCAweGQwMDAsIDAsIHsweDI4LDB4MTAsMHg0MiwweDY0LDB4MDAsMHhhMSwweDA0LDB4MjIsMHg1MCwweDAxLDB4OTAsMHg0MiwweGU0LDB4MDAsMHg4OSwweDA0IH0sCi0gIDE2LCAweGQwMTAsIDAsIHsweDIwLDB4NDIsMHgwYSwweDkwLDB4NDIsMHgzNCwweDAwLDB4ODksMHgwMCwweDZlLDB4NDAsMHgwYSwweDkwLDB4MDAsMHhlNCwweDAwIH0sCi0gIDE2LCAweGQwMjAsIDAsIHsweDg5LDB4MDAsMHgyMywweDQwLDB4MGEsMHhkMCwweDAyLDB4MDYsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQwMzAsIDAsIHsweDA4LDB4MDQsMHgwNCwweDgwLDB4ODEsMHgyNCwweDJjLDB4NDgsMHgwOCwweDEwLDB4MDIsMHgwNCwweDgwLDB4YTEsMHgyMCwweDI4IH0sCi0gIDE2LCAweGQwNDAsIDAsIHsweDQwLDB4MGIsMHgxMCwweDAyLDB4ODUsMHg4MCwweDgxLDB4MjAsMHgyMCwweDQ4LDB4MDgsMHg1MCwweDYyLDB4MTQsMHgwMiwweDgxIH0sCi0gIDE2LCAweGQwNTAsIDAsIHsweDAzLDB4MmUsMHg0MCwweDg4LDB4MTYsMHg4MiwweGM0LDB4YTAsMHg5MSwweDI4LDB4MjEsMHg0MCwweDJhLDB4NTAsMHgwMiwweDAyIH0sCi0gIDE2LCAweGQwNjAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjEsMHg0MCwweGM4LDB4NTAsMHgyZSwweDE0IH0sCi0gIDE2LCAweGQwNzAsIDAsIHsweDBjLDB4ODUsMHgwMywweDYxLDB4NDAsMHhlOCwweDUwLDB4YjIsMHgxNSwweDRkLDB4ODAsMHgwMiwweGMwLDB4MDAsMHg0OCwweDUwIH0sCi0gIDE2LCAweGQwODAsIDAsIHsweGIyLDB4MTUsMHgxYSwweDgwLDB4MTMsMHgzMCwweDA4LDB4YzgsMHgwMCwweDNlLDB4MDAsMHgwZSwweDgyLDB4MDMsMHhlMCwweDgwIH0sCi0gIDE2LCAweGQwOTAsIDAsIHsweGMwLDB4MjAsMHgzMCwweDAwLDB4MGUsMHg0MCwweDBiLDB4MmUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQwYTAsIDAsIHsweDk4LDB4MWQsMHhlNCwweDQwLDB4ZjksMHgxMCwweDNlLDB4NDQsMHgwZiwweGQwLDB4MDMsMHhlNCwweDQ4LDB4ZGQsMHgxMCwweDM3IH0sCi0gIDE2LCAweGQwYjAsIDAsIHsweDQwLDB4MGYsMHhkNCwweDA3LDB4ZTQsMHg0MCwweGZkLDB4MTAsMHgzZSwweDQ1LDB4MGYsMHg5NCwweDAzLDB4ZTUsMHgwOCwweGZkIH0sCi0gIDE2LCAweGQwYzAsIDAsIHsweDAyLDB4MzksMHhkMCwweDBmLDB4ZDAsMHg0MywweGY0LDB4YTAsMHhmOSwweDI4LDB4M2UsMHg0YiwweDBkLDB4OTIsMHg4MywweGU2IH0sCi0gIDE2LCAweGQwZDAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4ZTYsMHg4MCwweGM5LDB4YTYsMHgzMiwweDY4IH0sCi0gIDE2LCAweGQwZTAsIDAsIHsweDBjLDB4OTAsMHgwMywweGE2LDB4ODEsMHhlOSwweGU5LDB4M2IsMHg0MCwweDBlLDB4NTgsMHgwMywweDM2LDB4MjAsMHhjOSwweGEwIH0sCi0gIDE2LCAweGQwZjAsIDAsIHsweDM3LDB4NzgsMHgwZCwweGRhLDB4MDMsMHgzNiwweDI2LDB4YzUsMHgwMCwweDM3LDB4NjksMHgwZSwweGRlLDB4MDMsMHhhNiwweDgyIH0sCi0gIDE2LCAweGQxMDAsIDAsIHsweGNkLDB4YzAsMHgzMywweDUwLDB4MGYsMHhkMCwweDAzLDB4MDYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQxMTAsIDAsIHsweDM4LDB4MTAsMHhlMywweGE0LDB4ODgsMHhhOSwweDIyLDB4M2EsMHgwOCwweDA4LDB4MDAsMHgyMiwweGEwLDB4YjgsMHhlNSwweDMwIH0sCi0gIDE2LCAweGQxMjAsIDAsIHsweDIwLDB4MjgsMHg4MCwweDIyLDB4NDMsMHhhMCwweDA4LDB4ZTgsMHgyYSwweDNkLDB4MDgsMHhhNCwweDYyLDB4MjAsMHgwMCwweDg4IH0sCi0gIDE2LCAweGQxMzAsIDAsIHsweDAwLDB4MmUsMHgxMCwweDA4LDB4OGUsMHgwMywweDIzLDB4YTAsMHg4OCwweGEwLDB4MjAsMHgyOCwweDBiLDB4OGEsMHg4MiwweDBlIH0sCi0gIDE2LCAweGQxNDAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4YzQsMHg0MCwweDkxLDB4NDAsMHgyMCwweDQ0IH0sCi0gIDE2LCAweGQxNTAsIDAsIHsweDA4LDB4OTAsMHhhMiwweDg1LDB4MTAsMHhhMSwweDIwLDB4MmMsMHg0MiwweDBiLDB4MTQsMHgxMiwweDhjLDB4MDEsMHg5MSwweDEwIH0sCi0gIDE2LCAweGQxNjAsIDAsIHsweDJjLDB4NDgsMHgwOSwweDExLDB4MGEsMHhjNCwweDAwLDB4ODEsMHgwMCwweDJjLDB4NTAsMHgwYiwweDExLDB4MTIsMHhjNSwweDAxIH0sCi0gIDE2LCAweGQxNzAsIDAsIHsweGIxLDB4NDAsMHgyNCwweDQ4LDB4MGIsMHgxOCwweDBlLDB4MDIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQxODAsIDAsIHsweDE4LDB4MTUsMHhhNCwweDAwLDB4OTEsMHgwMCwweDIyLDB4NDEsMHgwOCwweDk0LDB4NDIsMHgyNCwweDAwLDB4YjEsMHg0MCwweDIwIH0sCi0gIDE2LCAweGQxOTAsIDAsIHsweDQwLDB4NDksMHhiMiwweDYyLDB4MjQsMHgwMCwweDk5LDB4MDAsMHgwYSwweDQwLDB4MDgsMHg5MCwweDAyLDB4ZTUsMHg4MCwweDg5IH0sCi0gIDE2LCAweGQxYTAsIDAsIHsweDAwLDB4MmUsMHg0MCwweDA5LDB4YjAsMHgwMiwweDI0LDB4ODAsMHhiOSwweDAwLDB4MjYsMHg1MCwweDRiLDB4OTAsMHgwMiwweDA2IH0sCi0gIDE2LCAweGQxYjAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4ZTQsMHgwMiwweGQ5LDB4MDAsMHhiMiwweDQwIH0sCi0gIDE2LCAweGQxYzAsIDAsIHsweDJjLDB4OTUsMHgxMywweGE0LDB4MTAsMHhlOSwweDAwLDB4YmUsMHg2MCwweDhmLDB4OTAsMHgwYiwweGE0LDB4MTAsMHg1OSwweDAwIH0sCi0gIDE2LCAweGQxZDAsIDAsIHsweDFlLDB4NDAsMHg5ZCwweDk0LDB4MjMsMHhlNCwweDAyLDB4ODksMHgwMCwweDM0LDB4NDAsMHgwZiwweDkwLDB4MDMsMHhlNiwweDA4IH0sCi0gIDE2LCAweGQxZTAsIDAsIHsweDc5LDB4MDAsMHhiNiwweDQwLDB4MDcsMHg5OCwweDAzLDB4MjgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQxZjAsIDAsIHsweDI4LDB4MDEsMHg4NCwweDAwLDB4ZTksMHgwMiwweDNjLDB4NDAsMHgyZiwweDk4LDB4MDIsMHhlNCwweDAwLDB4ZjksMHg0MiwweDNhIH0sCi0gIDE2LCAweGQyMDAsIDAsIHsweDY4LDB4MGEsMHgxMCwweDAzLDB4ZTQsMHgxMCwweGU5LDB4MDAsMHgzZSwweDQwLDB4MGUsMHg5MCwweDBmLDB4MjYsMHgwMCwweGY5IH0sCi0gIDE2LCAweGQyMTAsIDAsIHsweDA0LDB4M2UsMHg0MCwweDBlLDB4MWMsMHgwMywweGU2LDB4MDAsMHhjMSwweDAwLDB4M2EsMHg1MCwweDBmLDB4OTksMHg4MywweGNhIH0sCi0gIDE2LCAweGQyMjAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTAsMHgwMCwweGU4LDB4MDAsMHgzYSwweDAwIH0sCi0gIDE2LCAweGQyMzAsIDAsIHsweDBjLDB4ODQsMHgwMywweDIwLDB4MDAsMHhkOCwweDQyLDB4MzIsMHgwNCwweDBjLDB4ODgsMHgxMywweGUwLDB4MDAsMHhjOCwweDAwIH0sCi0gIDE2LCAweGQyNDAsIDAsIHsweDMwLDB4MDAsMHgwYywweDA0LDB4MGIsMHgwMCwweDAwLDB4ZDgsMHgwMCwweDM2LDB4MDAsMHgwZSwweDgwLDB4MjMsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQyNTAsIDAsIHsweGM4LDB4ODAsMHgzMiwweDAwLDB4MGMsMHg4MCwweDAxLDB4MGEsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQyNjAsIDAsIHsweDI4LDB4MDUsMHgyOCwweDEwLDB4OGEsMHgwMCwweDJlLDB4ODAsMHgyOCwweDIwLDB4MjIsMHgyOCwweDAwLDB4OGEsMHgwMCwweDIzIH0sCi0gIDE2LCAweGQyNzAsIDAsIHsweGIwLDB4ODgsMHhlMCwweDAyLDB4MjgsMHgxMCwweGRhLDB4MDAsMHhhMywweGI0LDB4MDgsMHhlOCwweDEwLDB4MjgsMHgwMCwweDhlIH0sCi0gIDE2LCAweGQyODAsIDAsIHsweDIwLDB4MjMsMHhhMCwweDQ4LDB4ZWQsMHgxYSwweDI4LDB4MDAsMHhkZSwweDAwLDB4MjMsMHg5MCwweDBhLDB4ZTAsMHgwMiwweDBhIH0sCi0gIDE2LCAweGQyOTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NGMsMHgwMCwweGEzLDB4MDAsMHgyOCwweGMwIH0sCi0gIDE2LCAweGQyYTAsIDAsIHsweDA4LDB4MzAsMHgwYSwweDBjLDB4MDAsMHg5MywweDAwLDB4MjAsMHhjMiwweDJhLDB4MzAsMHgyMiwweGE0LDB4MDAsMHhiYiwweDAwIH0sCi0gIDE2LCAweGQyYjAsIDAsIHsweDA4LDB4ZTAsMHgxOCwweDA5LDB4MGEsMHg0YywweDAwLDB4OTMsMHgwMiwweDI0LDB4ZTgsMHgwMiwweDA4LDB4MDYsMHg0YywweDAwIH0sCi0gIDE2LCAweGQyYzAsIDAsIHsweDkzLDB4MDAsMHgyMCwweGQ4LDB4MGEsMHg5MCwweDAyLDB4NGEsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQyZDAsIDAsIHsweGEwLDB4MDEsMHgxYywweDgwLDB4ODcsMHgwNCwweDJkLDB4YzAsMHgwOCwweDcwLDB4MDIsMHgwZSwweDAwLDB4ODcsMHgxMCwweDI1IH0sCi0gIDE2LCAweGQyZTAsIDAsIHsweDAwLDB4MGEsMHg2MCwweDAyLDB4NWUsMHgwMCwweDk3LDB4MDAsMHgyOSwweDgyLDB4MDgsMHg1MCwweDEyLDB4NTQsMHgwMCwweDhmIH0sCi0gIDE2LCAweGQyZjAsIDAsIHsweDgwLDB4NjEsMHhkMCwweDA4LDB4MDQsMHgwMiwweDVjLDB4MDEsMHhiNywweDA4LDB4YTksMHhhMCwweDBhLDB4NTAsMHg4MiwweDY4IH0sCi0gIDE2LCAweGQzMDAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4M2UsMHg4MCwweGU3LDB4ODAsMHgzOCwweGU0IH0sCi0gIDE2LCAweGQzMTAsIDAsIHsweDA4LDB4N2UsMHgwMywweDFmLDB4MDAsMHhkZiwweDgwLDB4YjEsMHgyMSwweDFlLDB4NzgsMHgwMywweGRjLDB4MDQsMHhmMywweDgwIH0sCi0gIDE2LCAweGQzMjAsIDAsIHsweDViLDB4ZTEsMHgwOCwweDI4LDB4MDMsMHg1ZSwweDAwLDB4ZDcsMHg4MCwweDM1LDB4NjAsMHgwZSwweDY4LDB4MDMsMHg0ZSwweDAwIH0sCi0gIDE2LCAweGQzMzAsIDAsIHsweGRmLDB4ODAsMHgzMSwweGUwLDB4MGUsMHhmOCwweDBiLDB4NmEsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQzNDAsIDAsIHsweDA4LDB4MWQsMHhhZCwweDAyLDB4ZmIsMHg3NCwweDNlLDB4ZDAsMHg0ZiwweGIyLDB4ODMsMHhlZCwweDAwLDB4N2IsMHg2OCwweDNhIH0sCi0gIDE2LCAweGQzNTAsIDAsIHsweDAwLDB4OGQsMHg4MCwweDAzLDB4YTQsMHgyMCwweGRiLDB4MDEsMHgzNiwweDgwLDB4NmYsMHhiMCwweDQxLDB4ODQsMHgwMCwweGViIH0sCi0gIDE2LCAweGQzNjAsIDAsIHsweDAwLDB4M2MsMHhjMCwweDBmLDB4ZTYsMHg4MywweGJjLDB4NDAsMHhkYiwweDAwLDB4YjYsMHg4MCwweDBmLDB4YjAsMHgwMywweDgyIH0sCi0gIDE2LCAweGQzNzAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZmYsMHgyMCwweGRmLDB4YzAsMHgzYiwweGU2IH0sCi0gIDE2LCAweGQzODAsIDAsIHsweDBlLDB4ZjgsMHgxMywweGZmLDB4NDQsMHhjNywweDgyLDB4M2IsMHhlMCwweDBmLDB4ZjksMHgwMywweGJlLDB4MTAsMHhjZiwweGM4IH0sCi0gIDE2LCAweGQzOTAsIDAsIHsweDMzLDB4NjAsMHg4ZCwweGViLDB4MDMsMHgzZSwweDAwLDB4ZGIsMHg4MiwweDNmLDB4ZTAsMHgwYywweGQ4LDB4MDMsMHgzZSwweDQwIH0sCi0gIDE2LCAweGQzYTAsIDAsIHsweGNlLDB4ODAsMHgzMywweGU0LDB4MGYsMHhmOCwweDAzLDB4MDAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQzYjAsIDAsIHsweGE4LDB4MTEsMHhiYywweDQwLDB4ODcsMHgwMCwweDIxLDB4ZTQsMHgwYiwweDc4LDB4YTIsMHhjZSwweDkwLDB4YzcsMHhiMCwweDIwIH0sCi0gIDE2LCAweGQzYzAsIDAsIHsweGU4LDB4MGIsMHgyOCwweDkyLDB4YjYsMHg4OCwweDg3LDB4YTAsMHgyMCwweDY0LDB4MGIsMHgzNSwweDAzLDB4MTQsMHgwMCwweDg3IH0sCi0gIDE2LCAweGQzZDAsIDAsIHsweGIyLDB4MzksMHhjMCwweDJjLDB4YzAsMHgwMywweDVlLDB4MDIsMHhjZiwweDAwLDB4MzEsMHhjZSwweDBiLDB4NzYsMHgxMiwweDJhIH0sCi0gIDE2LCAweGQzZTAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OWMsMHgwMCwweGEzLDB4MTAsMHgyOSwweGM4IH0sCi0gIDE2LCAweGQzZjAsIDAsIHsweDBiLDB4NzQsMHgwMiwweGRjLDB4ODAsMHg4ZiwweDAwLDB4MjksMHhjYywweDBhLDB4MzAsMHgwNiwweDE0LDB4ODAsMHg4NywweDEwIH0sCi0gIDE2LCAweGQ0MDAsIDAsIHsweDIxLDB4YzAsMHgwYiwweDY2LDB4MDIsMHg1YywweDAwLDB4ODcsMHgwMCwweDJkLDB4YzAsMHgwYiwweDUxLDB4MDIsMHgxYywweDgwIH0sCi0gIDE2LCAweGQ0MTAsIDAsIHsweDk2LDB4MDAsMHgyMSwweGMwLDB4NWIsMHg3NCwweDgyLDB4MDAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQ0MjAsIDAsIHsweDIwLDB4MTQsMHhjYywweDA4LDB4YTMsMHgwMCwweDIwLDB4YzAsMHgwYiwweGI4LDB4MDIsMHhjYywweDAwLDB4OGIsMHg0MCwweGE4IH0sCi0gIDE2LCAweGQ0MzAsIDAsIHsweGMwLDB4OGIsMHgwOCwweDIyLDB4OGMsMHgwMiwweDgzLDB4MDAsMHg2MCwweGMwLDB4MGIsMHgzMCwweDQyLDB4MDQsMHgwMCwweDgzIH0sCi0gIDE2LCAweGQ0NDAsIDAsIHsweDQwLDB4MjgsMHhmYywweDhhLDB4MDAsMHgwMiwweDZlLDB4MDAsMHg4MywweDAwLDB4YTAsMHhkMCwweDhiLDB4MzgsMHgwMiwweDA4IH0sCi0gIDE2LCAweGQ0NTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDExLDB4YmMsMHgwMiwweGVmLDB4MDAsMHgzYiwweGMwIH0sCi0gIDE2LCAweGQ0NjAsIDAsIHsweDRmLDB4ZjgsMHgwMiwweGZjLDB4MDIsMHhjZiwweDAwLDB4MzgsMHgxMiwweDBlLDB4OTgsMHgwMiwweDJjLDB4MDAsMHhjZiwweDAwIH0sCi0gIDE2LCAweGQ0NzAsIDAsIHsweDMyLDB4YzAsMHgwOSwweDkwLDB4MDMsMHg2NCwweDAyLDB4ODEsMHhjMCwweDNlLDB4ZDAsMHgwZiwweDkwLDB4MDcsMHgzYywweDAzIH0sCi0gIDE2LCAweGQ0ODAsIDAsIHsweGQ5LDB4MDAsMHgzMiwweDYwLDB4MGYsMHg4OCwweDAzLDB4MmEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQ0OTAsIDAsIHsweDgwLDB4MDAsMHhjYywweDAwLDB4ZGIsMHgwMCwweDNlLDB4YzAsMHg4ZiwweGIwLDB4MDMsMHhlYywweDAwLDB4ZmIsMHgwMiwweDM2IH0sCi0gIDE2LCAweGQ0YTAsIDAsIHsweGMwLDB4NGYsMHg5MCwweDAyLDB4ZTQsMHgwMCwweGZiLDB4MDAsMHhiZSwweDkwLDB4MGYsMHg5YywweDEzLDB4ZWMsMHgwMCwweGU5IH0sCi0gIDE2LCAweGQ0YjAsIDAsIHsweDE4LDB4M2EsMHhkMCwweDA0LDB4ZDUsMHgwMywweGVjLDB4NDAsMHhlOSwweDAwLDB4M2EsMHgwMCwweDhmLDB4ODAsMHgwMywweGUwIH0sCi0gIDE2LCAweGQ0YzAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZmMsMHgwMCwweGNmLDB4MDAsMHgzZCwweGMxIH0sCi0gIDE2LCAweGQ0ZDAsIDAsIHsweDhjLDB4ZjAsMHgwMywweDJjLDB4MDAsMHhlZiwweDBhLDB4YjMsMHgxMiwweDJjLDB4NzAsMHgyMywweDE0LDB4MGEsMHg0ZiwweDAwIH0sCi0gIDE2LCAweGQ0ZTAsIDAsIHsweDM1LDB4NjAsMHgwZCwweGIwLDB4MDMsMHgwNCwweDAwLDB4Y2QsMHg4MCwweDA3LDB4ZTgsMHgwYywweGM0LDB4MDMsMHgyYywweDAwIH0sCi0gIDE2LCAweGQ0ZjAsIDAsIHsweGNkLDB4MDAsMHgzMSwweGUyLDB4MmMsMHhlMCwweDAzLDB4MDAsMHg0NCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQ1MDAsIDAsIHsweDgxLDB4MDQsMHg2YywweDAyLDB4YWIsMHgwMiwweDJlLDB4YzAsMHgwZSwweGIwLDB4MDIsMHgyYywweDAwLDB4OGIsMHgwMCwweDMyIH0sCi0gIDE2LCAweGQ1MTAsIDAsIHsweDMwLDB4MDAsMHg5YywweDAzLDB4NmMsMHgwMCwweDhiLDB4MDQsMHgyMiwweDM2LDB4MDgsMHgzNCwweDRhLDB4MmMsMHgwOCwweDg5IH0sCi0gIDE2LCAweGQ1MjAsIDAsIHsweDkwLDB4MjAsMHhiOCwweDBmLDB4ODQsMHgwMCwweGFjLDB4MDIsMHg4OSwweDAwLDB4MzYsMHhhMCwweDA4LDB4YTQsMHgwMiwweDIwIH0sCi0gIDE2LCAweGQ1MzAsIDAsIHsweDQwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MmMsMHgwMCwweDhiLDB4MDAsMHgyZSwweGMwIH0sCi0gIDE2LCAweGQ1NDAsIDAsIHsweDA4LDB4YjAsMHgwMiwweDBjLDB4MDAsMHg4YiwweDAwLDB4MjIsMHhkMSwweDA4LDB4ODgsMHgxMiwweDI2LDB4MDAsMHhhMywweDAwIH0sCi0gIDE2LCAweGQ1NTAsIDAsIHsweDI2LDB4NDAsMHgwYiwweGIwLDB4MDIsMHgyNiwweDAwLDB4OGIsMHgwMCwweDI2LDB4YzAsMHg1OCwweDEwLDB4MTIsMHgyYywweDA0IH0sCi0gIDE2LCAweGQ1NjAsIDAsIHsweDgyLDB4ODAsMHgyYSwweDQ5LDB4MDgsMHgzMCwweDAyLDB4MjAsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQ1NzAsIDAsIHsweDA4LDB4MDQsMHgwYywweDAwLDB4YTMsMHgxNCwweDJjLDB4YzgsMHgxYSwweDM0LDB4OGEsMHgwYywweDg0LDB4ODMsMHg0MCwweDIyIH0sCi0gIDE2LCAweGQ1ODAsIDAsIHsweGM4LDB4MDgsMHgwMywweDYyLDB4NGMsMHhjMCwweGEzLDB4NjAsMHgyMCwweDQwLDB4MGEsMHgzMCwweDAyLDB4MGMsMHgwMCwweDhiIH0sCi0gIDE2LCAweGQ1OTAsIDAsIHsweDQ1LDB4MDgsMHhjMCwweDBiLDB4MTAsMHgwMiwweDhjLDB4YTAsMHg4MywweDAwLDB4MjYsMHg0MCwweDA4LDB4MzAsMHgwYSwweDAyIH0sCi0gIDE2LCAweGQ1YTAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4N2MsMHgwMCwweGNmLDB4NDAsMHgyZiwweGQyIH0sCi0gIDE2LCAweGQ1YjAsIDAsIHsweDhjLDB4ZjYsMHgwMywweDNjLDB4MjIsMHhjZiwweDQwLDB4MzIsMHhkNiwweDRjLDB4YTYsMHhjMSwweDNkLDB4YTAsMHg4NywweDQ4IH0sCi0gIDE2LCAweGQ1YzAsIDAsIHsweDM2LDB4MGQsMHgwZiwweGIxLDB4MDIsMHgyNCwweDQyLDB4Y2IsMHg2MCwweDE2LDB4YzAsMHgwYywweGQwLDB4MDMsMHgyYywweDgwIH0sCi0gIDE2LCAweGQ1ZDAsIDAsIHsweGNhLDB4MDAsMHgzMiwweGMwLDB4MGMsMHgzMCwweDAzLDB4MDAsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQ1ZTAsIDAsIHsweGEwLDB4MTksMHhmYywweDAwLDB4ZmYsMHgyMCwweDNlLDB4Y2EsMHgwZSwweGIwLDB4MDMsMHhlYywweDIwLDB4ZGIsMHgzNCwweDNhIH0sCi0gIDE2LCAweGQ1ZjAsIDAsIHsweGM4LDB4MGYsMHg4MCwweDAzLDB4ZTQsMHgxMCwweGRiLDB4MjEsMHgzZSwweDE4LDB4MGQsMHhmMiwweDAzLDB4ZmMsMHg4MCwweGZmIH0sCi0gIDE2LCAweGQ2MDAsIDAsIHsweDMwLDB4MzUsMHhjMCwweDBmLDB4YzAsMHgxMywweGVjLDB4MDAsMHhmZiwweDAwLDB4M2IsMHhjMCwweDBmLDB4ZjAsMHgwMywweGU4IH0sCi0gIDE2LCAweGQ2MTAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDExLDB4ZmMsMHgwMCwweGZiLDB4MGIsMHgyZiwweGNhIH0sCi0gIDE2LCAweGQ2MjAsIDAsIHsweDhkLDB4ZjIsMHgwMywweGZhLDB4MDAsMHg5NiwweDgwLDB4M2IsMHhjNCwweDBkLDB4ZjEsMHgwMywweDdjLDB4ODAsMHhlYywweDgwIH0sCi0gIDE2LCAweGQ2MzAsIDAsIHsweDNiLDB4MDgsMHgwYywweGMyLDB4MDMsMHg3NCwweDAyLDB4Y2MsMHg4MCwweDNmLDB4NDgsMHgwZSwweGYwLDB4MDMsMHgzMCwweGEwIH0sCi0gIDE2LCAweGQ2NDAsIDAsIHsweGQ1LDB4ODAsMHgzZiwweDQwLDB4MGMsMHhmOCwweDAzLDB4ZjAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQ2NTAsIDAsIHsweDgwLDB4MDgsMHhlZSwweDQwLDB4YmYsMHg4MCwweDJmLDB4ZjAsMHgwYiwweGY3LDB4MjIsMHhlZSwweDIwLDB4OGEsMHg4MCwweDIzIH0sCi0gIDE2LCAweGQ2NjAsIDAsIHsweGZjLDB4ODgsMHg3NSwweDEyLDB4M2QsMHgwMCwweDg4LDB4MDAsMHgyMiwweDAwLDB4MjgsMHg4MCwweDAyLDB4MjQsMHgwOCwweDg4IH0sCi0gIDE2LCAweGQ2NzAsIDAsIHsweDAwLDB4NmYsMHg1MCwweDAwLDB4ZjUsMHgwMiwweDI5LDB4MDAsMHg4OSwweDAwLDB4MmUsMHg1NCwweDBkLDB4OTAsMHgxMSwweGEwIH0sCi0gIDE2LCAweGQ2ODAsIDAsIHsweDA0LDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4Y2MsMHgwMCwweGIzLDB4MDAsMHgyYywweGMxIH0sCi0gIDE2LCAweGQ2OTAsIDAsIHsweDA5LDB4MzAsMHg4MiwweGNjLDB4ODIsMHhiYiwweDAwLDB4MjgsMHhjMCwweDQ5LDB4MzIsMHgwMiwweGNkLDB4MDAsMHhiOCwweDAwIH0sCi0gIDE2LCAweGQ2YTAsIDAsIHsweDJjLDB4NTAsMHgwOSwweDAxLDB4MDIsMHgwYywweDQwLDB4ODAsMHgwMCwweDZjLDB4NDQsMHgwOSwweDMwLDB4MDIsMHgyMCwweDAwIH0sCi0gIDE2LCAweGQ2YjAsIDAsIHsweGIwLDB4MDAsMHgyYywweDQwLDB4MTgsMHgzMCwweDA2LDB4ZTIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQ2YzAsIDAsIHsweGMwLDB4MDEsMHhhYywweDAwLDB4YmIsMHgwMSwweDJlLDB4YzAsMHgwYiwweGIwLDB4MDIsMHhlZSwweDAwLDB4YWEsMHgwMCwweDRhIH0sCi0gIDE2LCAweGQ2ZDAsIDAsIHsweGMwLDB4MDgsMHhiMCwweDUyLDB4ZWMsMHgwMCwweDk4LDB4MDIsMHgyNiwweDQwLDB4MDksMHg4MCwweDAyLDB4NmMsMHgwMSwweGFhIH0sCi0gIDE2LCAweGQ2ZTAsIDAsIHsweDA0LDB4MmUsMHg0MCwweDA5LDB4YjAsMHgwMiwweDIyLDB4MDAsMHhhOSwweDgwLDB4MmUsMHg0MSwweDA5LDB4OTAsMHgwMiwweGYwIH0sCi0gIDE2LCAweGQ2ZjAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDA1LDB4ZWMsMHgwMCwweGZiLDB4MDAsMHgzZSwweGMwIH0sCi0gIDE2LCAweGQ3MDAsIDAsIHsweDBkLDB4YjAsMHgwMywweGNlLDB4ODQsMHhmYSwweDAwLDB4MWEsMHhjMCwweDhkLDB4YjAsMHg0MywweGVjLDB4MDAsMHhmMCwweDAyIH0sCi0gIDE2LCAweGQ3MTAsIDAsIHsweDNmLDB4MDAsMHgwZCwweGQxLDB4MDMsMHgzNSwweDAwLDB4Y2IsMHg0OCwweDJlLDB4NDAsMHgyZiwweGIwLDB4MDksMHgyMiwweDgwIH0sCi0gIDE2LCAweGQ3MjAsIDAsIHsweGY5LDB4YzgsMHgxZSwweGUwLDB4MDgsMHhiMSwweGUyLDB4ZDAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQ3MzAsIDAsIHsweGUwLDB4MDEsMHhiYywweDAwLDB4N2IsMHgwMCwweDNmLDB4YzAsMHgwZiwweGYwLDB4MjMsMHhmYywweDAwLDB4ZGUsMHgwMCwweDI0IH0sCi0gIDE2LCAweGQ3NDAsIDAsIHsweGMwLDB4NGYsMHhmMCwweDAzLDB4MmMsMHgwMCwweGVjLDB4MjAsMHgzYiwweDAwLDB4MGUsMHg5OCwweDAzLDB4OTQsMHgwMiwweGRkIH0sCi0gIDE2LCAweGQ3NTAsIDAsIHsweDAwLDB4M2YsMHg0MCwweDRlLDB4ZjAsMHgwMSwweGY4LDB4MDAsMHhkZCwweDAwLDB4M2MsMHhlNCwweDBmLDB4ZDgsMHgwMywweGI4IH0sCi0gIDE2LCAweGQ3NjAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDAwLDB4YWMsMHhjMCwweGZiLDB4MjAsMHgzMiwweGM4IH0sCi0gIDE2LCAweGQ3NzAsIDAsIHsweDhkLDB4YjAsMHgwMywweGVjLDB4MDAsMHhmOSwweDAwLDB4M2EsMHhjMiwweDJjLDB4MzAsMHgwMywweDZjLDB4MDQsMHhkOCwweDAyIH0sCi0gIDE2LCAweGQ3ODAsIDAsIHsweDNjLDB4NDQsMHg4ZCwweDEwLDB4MDMsMHhhZCwweDAzLDB4ZWEsMHgwMCwweDNjLDB4NDAsMHgwYywweDcwLDB4MjMsMHhlNCwweDAwIH0sCi0gIDE2LCAweGQ3OTAsIDAsIHsweGM4LDB4NDAsMHgzYSwweGMwLDB4MGQsMHhiYywweDAzLDB4NTAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQ3YTAsIDAsIHsweGM4LDB4MDEsMHgzZCwweDAwLDB4YmYsMHg0MiwweDIzLDB4ZjAsMHgwZCwweGYwLDB4MDIsMHhlNSwweDAwLDB4ZTIsMHgwMSwweDM3IH0sCi0gIDE2LCAweGQ3YjAsIDAsIHsweGYxLDB4MDgsMHhmMCwweDBlLDB4M2QsMHhjMCwweGE4LDB4MDAsMHgyZSwweDU0LDB4MjgsMHg5MCwweDAyLDB4MmMsMHgwMCwweDhhIH0sCi0gIDE2LCAweGQ3YzAsIDAsIHsweDA1LDB4M2IsMHg0MSwweDQ4LDB4ZjUsMHgwMywweDhjLDB4MDAsMHg4OSwweDAwLDB4MjIsMHhkNCwweDBlLDB4OTUsMHgwMiwweGYyIH0sCi0gIDE2LCAweGQ3ZDAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NGMsMHgwMCwweGIzLDB4MDQsMHgyMCwweGMwIH0sCi0gIDE2LCAweGQ3ZTAsIDAsIHsweDg5LDB4MzAsMHgwMiwweGNjLDB4NDAsMHhiMiwweDAwLDB4MmMsMHhjNCwweDQ4LDB4MzAsMHgwMiwweDJjLDB4MDIsMHhhMiwweDAwIH0sCi0gIDE2LCAweGQ3ZjAsIDAsIHsweDJjLDB4MjAsMHgxOSwweDIwLDB4MWEsMHg4MCwweDA4LDB4YjAsMHgwMCwweDZjLDB4NDAsMHgwOCwweDMwLDB4MDIsMHhjNCwweDAwIH0sCi0gIDE2LCAweGQ4MDAsIDAsIHsweDgxLDB4MDAsMHgyYywweDQwLDB4MDgsMHgzMCwweDAyLDB4ZjgsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQ4MTAsIDAsIHsweDIwLDB4MDEsMHgxZSwweDAwLDB4YjcsMHhhMCwweGUxLDB4ZTAsMHgwOSwweDc4LDB4MDIsMHhkZiwweDA0LDB4YWUsMHg4MCwweDJkIH0sCi0gIDE2LCAweGQ4MjAsIDAsIHsweGUwLDB4MDgsMHg3OSwweDAyLDB4MWUsMHgxMCwweDg3LDB4OTAsMHgyYywweDI4LDB4MjksMHg2OCwweDAyLDB4ODIsMHg4MSwweGI0IH0sCi0gIDE2LCAweGQ4MzAsIDAsIHsweDgwLDB4MmQsMHg2MCwweDA4LDB4NzgsMHgxMCwweGJjLDB4MDAsMHg4ZiwweDgwLDB4MmQsMHg2MCwweDBiLDB4NjgsMHgwMiwweGM4IH0sCi0gIDE2LCAweGQ4NDAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDAwLDB4MGMsMHgwNSwweGYzLDB4OTIsMHgzMCwweGNhIH0sCi0gIDE2LCAweGQ4NTAsIDAsIHsweDBkLDB4MzAsMHgwMywweGNjLDB4MDAsMHhmMywweDAwLDB4M2MsMHhjMCwweDBjLDB4MzAsMHgwMiwweDBjLDB4ODAsMHg3MCwweDAwIH0sCi0gIDE2LCAweGQ4NjAsIDAsIHsweDJjLDB4NDAsMHgwZCwweDIwLDB4MDMsMHg4OSwweDAwLDB4YjEsMHgwMCwweDNlLDB4NDAsMHgyYywweDMwLDB4MDMsMHhlYywweDUwIH0sCi0gIDE2LCAweGQ4NzAsIDAsIHsweGMzLDB4MjAsMHgzYywweDQwLDB4MGMsMHgzMCwweDAzLDB4ZDIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQ4ODAsIDAsIHsweDQwLDB4MWQsMHhiYywweDAwLDB4ZmYsMHgwMCwweDNjLDB4YzAsMHgwZSwweGIwLDB4ODMsMHhlYywweDQwLDB4ZWEsMHgwMCwweDM2IH0sCi0gIDE2LCAweGQ4OTAsIDAsIHsweGMyLDB4MGYsMHhiMCwweDgzLDB4YWMsMHgwMCwweGY4LDB4MDAsMHgzZSwweDQ4LDB4MGUsMHhlMCwweDBiLDB4N2EsMHg4MCwweGNmIH0sCi0gIDE2LCAweGQ4YTAsIDAsIHsweDAwLDB4M2IsMHg0NCwweDBmLDB4ZjAsMHgwMywweGVjLDB4YzAsMHhmZiwweDAwLDB4MDMsMHg0NCwweDBlLDB4ZTAsMHgwMywweGQwIH0sCi0gIDE2LCAweGQ4YjAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZWMsMHgwMCwweGZiLDB4MjMsMHgzZSwweGM4IH0sCi0gIDE2LCAweGQ4YzAsIDAsIHsweDFkLDB4YjAsMHgwMywweGVlLDB4MDAsMHhjYSwweDAwLDB4M2UsMHhjOCwweDBjLDB4YjIsMHgwMywweDJkLDB4OTAsMHhjOCwweDg0IH0sCi0gIDE2LCAweGQ4ZDAsIDAsIHsweDM2LDB4MDAsMHgyZCwweGIwLDB4MDMsMHg2MCwweDE4LDB4OWIsMHg4MCwweDMzLDB4NTAsMHgwYywweGYyLDB4MDMsMHhlMiwweDAwIH0sCi0gIDE2LCAweGQ4ZTAsIDAsIHsweGM5LDB4ODAsMHgzMiwweDQwLDB4MGMsMHhiOCwweDAzLDB4MmEsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQ4ZjAsIDAsIHsweDQ4LDB4MTEsMHg5YywweDAwLDB4YjcsMHgyOCwweDBjLDB4ZDIsMHgyOCwweDczLDB4MDIsMHhmYywweDAwLDB4ODYsMHgwNCwweDJjIH0sCi0gIDE2LCAweGQ5MDAsIDAsIHsweGNjLDB4MjgsMHg3MCwweDgzLDB4MGMsMHgyMCwweDk1LDB4MDEsMHgyMCwweDAwLDB4MDksMHgzMCwweDEyLDB4MTAsMHgwNCwweDg1IH0sCi0gIDE2LCAweGQ5MTAsIDAsIHsweDAwLDB4MjEsMHg1MiwweDA4LDB4NzUsMHgwMiwweGQ4LDB4MDAsMHg4NywweDAwLDB4MjEsMHg0MCwweDA4LDB4NjAsMHgwMiwweDEyIH0sCi0gIDE2LCAweGQ5MjAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4OWUsMHhkNCwweGI3LDB4YjEsMHgwOSwweGUxIH0sCi0gIDE2LCAweGQ5MzAsIDAsIHsweDA4LDB4NzgsMHgyMiwweGRlLDB4MDAsMHg5NSwweDgwLDB4MmQsMHhlMCwweDA4LDB4NzgsMHgwYSwweDVlLDB4NDIsMHg5NCwweGMwIH0sCi0gIDE2LCAweGQ5NDAsIDAsIHsweDIxLDB4NjAsMHgwOCwweDc4LDB4MDIsMHg1YSwweDAwLDB4ODcsMHg4MCwweDJkLDB4NjgsMHgwOCwweDdhLDB4MDIsMHhkNywweDAwIH0sCi0gIDE2LCAweGQ5NTAsIDAsIHsweDk3LDB4ODAsMHgyMCwweDYwLDB4MDksMHg3OCwweDAyLDB4MzAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQ5NjAsIDAsIHsweDQ4LDB4MTAsMHhjYywweDAwLDB4YjMsMHgwMCwweDJjLDB4YzAsMHgwOCwweGIwLDB4MDIsMHhjZCwweDgwLDB4OTIsMHgwMCwweDJjIH0sCi0gIDE2LCAweGQ5NzAsIDAsIHsweGMwLDB4MDgsMHhiMCwweDAyLDB4Y2MsMHgwMCwweDkwLDB4ODAsMHhhMCwweDQwLDB4MDksMHgzNiwweDAyLDB4NDgsMHgwMiwweDgzIH0sCi0gIDE2LCAweGQ5ODAsIDAsIHsweGEwLDB4YWMsMHg0MCwweDJhLDB4MzAsMHgwNiwweGNlLDB4MDIsMHg5MywweDA0LDB4YTAsMHg0MCwweDA5LDB4MjAsMHgwYSwweDEyIH0sCi0gIDE2LCAweGQ5OTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YTgsMHgwMCwweGZhLDB4MDAsMHgzYSwweDgwIH0sCi0gIDE2LCAweGQ5YTAsIDAsIHsweDBkLDB4YTAsMHgwMywweGZiLDB4MDIsMHhkZSwweDgwLDB4M2UsMHg4MCwweDBjLDB4YTAsMHgwMywweDI4LDB4MDAsMHhjZSwweDgwIH0sCi0gIDE2LCAweGQ5YjAsIDAsIHsweDMyLDB4ODAsMHgwYywweGE0LDB4MDMsMHg3OCwweDAwLDB4Y2UsMHhhNCwweDNmLDB4ODAsMHgwYywweGEwLDB4MDcsMHhmOSwweDAwIH0sCi0gIDE2LCAweGQ5YzAsIDAsIHsweGRlLDB4MDAsMHgzMiwweDgwLDB4MmQsMHhlMCwweDAyLDB4M2EsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQ5ZDAsIDAsIHsweDQ4LDB4MDAsMHhlMSwweDAwLDB4ZjgsMHgwMCwweDdjLDB4MDAsMHgwZiwweDgwLDB4MDMsMHhlMCwweDQwLDB4ZTgsMHgxMCwweDNjIH0sCi0gIDE2LCAweGQ5ZTAsIDAsIHsweDAxLDB4Y2YsMHg4MCwweDBmLDB4MjAsMHgwMCwweGU4LDB4MDAsMHgzZSwweDAwLDB4MGUsMHgwNCwweDAzLDB4OTAsMHgwMCwweGU4IH0sCi0gIDE2LCAweGQ5ZjAsIDAsIHsweDAwLDB4MjAsMHgwMCwweDBkLDB4ODAsMHgwNywweGUwLDB4MDAsMHhlOCwweDAwLDB4M2UsMHgwNCwweDBlLDB4ODAsMHgwMywweGQyIH0sCi0gIDE2LCAweGRhMDAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTQsMHgwMCwweGY5LDB4MTAsMHg3ZSwweDQxIH0sCi0gIDE2LCAweGRhMTAsIDAsIHsweDBlLDB4OTAsMHgwMywweDI0LDB4MDAsMHhmOSwweDAwLDB4MzYsMHg2OCwweDBlLDB4OTAsMHgwZiwweGE0LDB4MDgsMHhjOSwweDAwIH0sCi0gIDE2LCAweGRhMjAsIDAsIHsweDNhLDB4NDAsMHgwYywweDkwLDB4MGIsMHgyNCwweDEyLDB4ZTksMHgwMCwweDNlLDB4NDQsMHgyYywweDkwLDB4MDMsMHg2NCwweDI0IH0sCi0gIDE2LCAweGRhMzAsIDAsIHsweGY5LDB4MDIsMHgyZSwweDQwLDB4MGMsMHg5MCwweDAzLDB4YzIsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGRhNDAsIDAsIHsweDgwLDB4MDQsMHg2NSwweDEwLDB4YjksMHg4MCwweDNlLDB4NDAsMHgwOCwweDkwLDB4MGEsMHgyNiwweDAwLDB4YjEsMHgxMCwweDJhIH0sCi0gIDE2LCAweGRhNTAsIDAsIHsweDcyLDB4MDgsMHg5MCwweDA3LDB4NjQsMHgwMiwweDg5LDB4NDAsMHgyZSwweDQwLDB4MjgsMHg5MCwweDEyLDB4MjUsMHgwMCwweDg5IH0sCi0gIDE2LCAweGRhNjAsIDAsIHsweDQ1LDB4M2UsMHg1MCwweDBkLDB4OTAsMHgwYSwweDI1LDB4MDAsMHhiOSwweDQwLDB4MmUsMHg0MCwweDI4LDB4OTQsMHgwMywweGUwIH0sCi0gIDE2LCAweGRhNzAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4MjQsMHgwMCwweGI5LDB4MDAsMHgyZSwweDQwIH0sCi0gIDE2LCAweGRhODAsIDAsIHsweDQ4LDB4OTAsMHg0MiwweDI2LDB4MDEsMHhiOSwweDQwLDB4MjYsMHg0MCwweDBhLDB4OTAsMHg0MiwweDg0LDB4MDEsMHg4YiwweDA4IH0sCi0gIDE2LCAweGRhOTAsIDAsIHsweDJjLDB4NDAsMHgwOSwweGQwLDB4ODIsMHgzNCwweDMyLDB4YTksMHgwOCwweDZlLDB4NDIsMHgwOCwweDEwLDB4MDIsMHgyNCwweDIwIH0sCi0gIDE2LCAweGRhYTAsIDAsIHsweGI5LDB4MDgsMHgyYywweDQwLDB4MTgsMHg5MCwweDgyLDB4YzYsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGRhYjAsIDAsIHsweDA4LDB4MDQsMHgwNCwweDgwLDB4YjMsMHgyMCwweDI4LDB4NDgsMHgwOCwweDEyLDB4MDIsMHgwNCwweDAxLDB4YjEsMHgwMCwweDI4IH0sCi0gIDE2LCAweGRhYzAsIDAsIHsweDU4LDB4MDgsMHgxMiwweDAyLDB4MDUsMHg4OSwweDgxLDB4NDAsMHgyYywweDU4LDB4MDgsMHg1NiwweDA2LDB4MTUsMHg4MCwweDgxIH0sCi0gIDE2LCAweGRhZDAsIDAsIHsweDQwLDB4MjgsMHg1MCwweDA5LDB4MTQsMHgwMiwweDA1LDB4ODAsMHhiMSwweDQwLDB4MmMsMHg1YSwweDA4LDB4MTQsMHgwMiwweGMyIH0sCi0gIDE2LCAweGRhZTAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjgsMHgwMCwweGY4LDB4MDAsMHgyZSwweDAwIH0sCi0gIDE2LCAweGRhZjAsIDAsIHsweDJlLDB4ODUsMHgwMywweDIxLDB4NDgsMHhmOCwweDAwLDB4MzYsMHgwMCwweDhlLDB4MDUsMHgwMiwweGEwLDB4MDgsMHg4MCwweDAwIH0sCi0gIDE2LCAweGRiMDAsIDAsIHsweDNlLDB4MDAsMHgwZCwweDgwLDB4MGIsMHgxMCwweDA0LDB4ZTAsMHgwMCwweDJjLDB4MDAsMHg0YywweDgwLDB4MDMsMHg0MCwweDAwIH0sCi0gIDE2LCAweGRiMTAsIDAsIHsweGYwLDB4MDAsMHgzZSwweDA4LDB4MGMsMHgwMCwweDAzLDB4ZWUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGRiMjAsIDAsIHsweDk4LDB4MWQsMHhlNCwweDQwLDB4ZjksMHgxMCwweDNlLDB4NDQsMHgwZiwweDkxLDB4MDMsMHhmNCwweDAwLDB4ZmQsMHgwMCwweDNlIH0sCi0gIDE2LCAweGRiMzAsIDAsIHsweDQ0LDB4MGYsMHg5MSwweDAzLDB4ZTQsMHg0MCwweGZkLDB4MDMsMHgzZiwweDQ0LDB4MWYsMHg5MSwweDFiLDB4ZTQsMHg0MCwweGZkIH0sCi0gIDE2LCAweGRiNDAsIDAsIHsweDAxLDB4M2YsMHg1MCwweDBlLDB4OTQsMHgwMywweGY0LDB4NDAsMHhmZCwweDAwLDB4M2YsMHg0MCwweDBmLDB4ZDAsMHgwMywweGE2IH0sCi0gIDE2LCAweGRiNTAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDE1LDB4ZjQsMHgwMCwweGNkLDB4YTAsMHg3MSwweDY4IH0sCi0gIDE2LCAweGRiNjAsIDAsIHsweDhkLDB4OTgsMHgwMywweGQ0LDB4MDAsMHhjZCwweDAwLDB4MzMsMHg2MCwweDBjLDB4OTgsMHg4ZiwweDI3LDB4MjAsMHhjOSwweDQwIH0sCi0gIDE2LCAweGRiNzAsIDAsIHsweDNlLDB4NzgsMHgwYywweDllLDB4OGIsMHgyNywweDIwLDB4ZDEsMHgxMSwweDMwLDB4NjAsMHg4YywweDljLDB4MDMsMHgyNSwweDAwIH0sCi0gIDE2LCAweGRiODAsIDAsIHsweGY5LDB4NDAsMHgzZSwweDc4LDB4MGYsMHg5MCwweDAzLDB4NDYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGRiOTAsIDAsIHsweDM4LDB4MTAsMHhlMCwweDEwLDB4ODgsMHgwMSwweDIyLDB4MDEsMHgwOCwweDhjLDB4MjIsMHhlOCwweDAwLDB4ODgsMHgwMiwweDJhIH0sCi0gIDE2LCAweGRiYTAsIDAsIHsweDE0LDB4MDgsMHg4YywweDBiLDB4MjMsMHg5MCwweDg4LDB4YTAsMHgyZSwweGIwLDB4MDgsMHg4YywweDQyLDB4MjMsMHgwMCwweDg4IH0sCi0gIDE2LCAweGRiYjAsIDAsIHsweGEwLDB4MzYsMHgyYSwweDE4LDB4OGEsMHgwMiwweDIyLDB4MDAsMHhiOCwweGEwLDB4MmUsMHgzNCwweDBiLDB4Y2EsMHg4MiwweDBlIH0sCi0gIDE2LCAweGRiYzAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4YzQsMHgwMCwweDgxLDB4NDAsMHgyNCwweDUwIH0sCi0gIDE2LCAweGRiZDAsIDAsIHsweDA5LDB4MTYsMHg4MiwweGM0LDB4MDAsMHhhOSwweDAwLDB4MjAsMHg0MCwweDA4LDB4MTIsMHg5MiwweDU0LDB4MDgsMHg4NSwweDAwIH0sCi0gIDE2LCAweGRiZTAsIDAsIHsweDJmLDB4NGMsMHgwOSwweDUyLDB4MTIsMHgxNCwweDgwLDB4OWQsMHgwMCwweDIxLDB4NTAsMHgwOCwweDU0LDB4MjIsMHgxNCwweDgwIH0sCi0gIDE2LCAweGRiZjAsIDAsIHsweGI1LDB4MDAsMHgyZCwweDQ4LDB4MGIsMHhkMCwweDAyLDB4NDIsMHgwNSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGRjMDAsIDAsIHsweDE4LDB4MDUsMHhhNCwweDAyLDB4ODksMHgwMSwweGEyLDB4NDAsMHg0OCwweDkwLDB4MDIsMHhlNCwweDAyLDB4YTksMHgwMCwweDJhIH0sCi0gIDE2LCAweGRjMTAsIDAsIHsweDQwLDB4NjgsMHg5MCwweDAyLDB4NjQsMHgxMCwweGFkLDB4MDAsMHgyZiwweDQxLDB4MjgsMHg1MCwweDAyLDB4MzQsMHgwMCwweDhkIH0sCi0gIDE2LCAweGRjMjAsIDAsIHsweDQ0LDB4MjcsMHg0MCwweDM5LDB4ZDAsMHgwMiwweDM1LDB4MDAsMHhiZCwweDE0LDB4MmYsMHg0MCwweDBiLDB4ZDAsMHgwMiwweDQ2IH0sCi0gIDE2LCAweGRjMzAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDA1LDB4YzQsMHgwMCwweGM5LDB4MDAsMHgzNiwweDQwIH0sCi0gIDE2LCAweGRjNDAsIDAsIHsweDJkLDB4OTAsMHgwMywweGU3LDB4MDAsMHhlMSwweGUwLDB4MzIsMHg0MCwweDBjLDB4OTAsMHgwYiwweDY0LDB4MDIsMHhjOSwweDA4IH0sCi0gIDE2LCAweGRjNTAsIDAsIHsweDNjLDB4NTAsMHgwYywweDkwLDB4MDIsMHgyNiwweDAyLDB4ZDksMHhjMCwweDMyLDB4NDAsMHgwYywweDkwLDB4MTMsMHgyNywweDAwIH0sCi0gIDE2LCAweGRjNjAsIDAsIHsweGY5LDB4MjAsMHgzZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4NjgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGRjNzAsIDAsIHsweDI4LDB4MDEsMHhhNCwweDAyLDB4ZjksMHgwMCwweDM4LDB4NDAsMHgwZiwweDkwLDB4MDMsMHhlNiwweDgwLDB4ZDksMHhhMCwweDNjIH0sCi0gIDE2LCAweGRjODAsIDAsIHsweDQwLDB4MGYsMHgxMCwweDAzLDB4YTQsMHgwMCwweGQ5LDB4MTAsMHgzZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4YzQsMHg5MiwweGY5IH0sCi0gIDE2LCAweGRjOTAsIDAsIHsweDIxLDB4M2MsMHg0MCwweDJlLDB4OTAsMHgwZiwweGU2LDB4ODAsMHhmOSwweDgwLDB4M2UsMHg0MCwweDBmLDB4OTAsMHgwMywweDhhIH0sCi0gIDE2LCAweGRjYTAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDAwLDB4YTAsMHg0MCwweGU4LDB4MTAsMHgzZSwweDA0IH0sCi0gIDE2LCAweGRjYjAsIDAsIHsweDRlLDB4ODAsMHgwMywweDIwLDB4ODAsMHhkOCwweDYwLDB4M2EsMHgwMiwweDBjLDB4ODAsMHgxMywweDIwLDB4MDAsMHhmOCwweDQwIH0sCi0gIDE2LCAweGRjYzAsIDAsIHsweDM2LDB4MTAsMHgyZCwweDgwLDB4MDMsMHhhMCwweDA4LDB4ZTgsMHg0MCwweDMyLDB4MDAsMHgwZCwweDAwLDB4MDMsMHgyMSwweDAyIH0sCi0gIDE2LCAweGRjZDAsIDAsIHsweGM4LDB4NDAsMHhiMiwweDAwLDB4MGYsMHhjMCwweDAzLDB4Y2EsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGRjZTAsIDAsIHsweDI4LDB4MTEsMHgzYiwweDEwLDB4ODYsMHgwMSwweDJmLDB4YTAsMHgwZCwweGEwLDB4MDIsMHgzOCwweDAwLDB4OGUsMHhlMCwweDIzIH0sCi0gIDE2LCAweGRjZjAsIDAsIHsweGEyLDB4MDgsMHhhMCwweDAyLDB4MjgsMHgwMCwweGJhLDB4ODAsMHgyMiwweDgwLDB4MDgsMHhhMCwweDAyLDB4MjgsMHgwMCwweDgyIH0sCi0gIDE2LCAweGRkMDAsIDAsIHsweDAwLDB4MmEsMHg4MCwweDI4LDB4YTAsMHgwMiwweDJhLDB4MDQsMHg4YSwweDgwLDB4MjIsMHhhMCwweDBiLDB4NjAsMHgwMiwweGNhIH0sCi0gIDE2LCAweGRkMTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NDMsMHg4MCwweGEyLDB4MDAsMHgyYywweGEwIH0sCi0gIDE2LCAweGRkMjAsIDAsIHsweDA4LDB4MzAsMHgwMiwweDJlLDB4MDAsMHg5MiwweDAwLDB4MjgsMHhjMCwweDI4LDB4MzAsMHgwMiwweDJjLDB4MDAsMHhiMywweDgwIH0sCi0gIDE2LCAweGRkMzAsIDAsIHsweDI0LDB4YzAsMHgwOSwweDMwLDB4MGEsMHg4YywweDAwLDB4YTMsMHgwMCwweDYwLDB4YzAsMHgwOCwweDMwLDB4MGEsMHg0YywweDAwIH0sCi0gIDE2LCAweGRkNDAsIDAsIHsweDgzLDB4MDAsMHgyMCwweGUwLDB4MGIsMHgyMCwweDAyLDB4Y2EsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGRkNTAsIDAsIHsweGEwLDB4MDEsMHgxMCwweDAwLDB4ODYsMHgwMCwweDJkLDB4YzAsMHgwOSwweDNhLDB4MDIsMHgzNSwweDAwLDB4ODYsMHgwMCwweDIxIH0sCi0gIDE2LCAweGRkNjAsIDAsIHsweGMwLDB4MDgsMHg3MywweDAyLDB4MTAsMHgwMCwweGJmLDB4ODgsMHgyMSwweDAwLDB4MDgsMHg3MCwweDAyLDB4MWMsMHgwOCwweDhmIH0sCi0gIDE2LCAweGRkNzAsIDAsIHsweDAwLDB4MmIsMHhjMCwweDA4LDB4MjAsMHgxMiwweDVlLDB4MjAsMHg4NywweDg4LDB4MjEsMHg4MywweDBiLDB4NjAsMHgwMiwweGU4IH0sCi0gIDE2LCAweGRkODAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MTIsMHgwMCwweGU1LDB4ODEsMHgzZCwweGEwIH0sCi0gIDE2LCAweGRkOTAsIDAsIHsweDJjLDB4N2EsMHgwYiwweDFlLDB4MDAsMHhkNCwweDgwLDB4MzgsMHhlMCwweDBjLDB4ZmEsMHgwYiwweDFlLDB4MDAsMHhmNiwweDgwIH0sCi0gIDE2LCAweGRkYTAsIDAsIHsweDM0LDB4ZTAsMHgwZCwweDI4LDB4MDMsMHg4YSwweDAwLDB4ZTYsMHg4MCwweDMxLDB4MjAsMHgwYywweDc4LDB4MDMsMHg3YSwweDA0IH0sCi0gIDE2LCAweGRkYjAsIDAsIHsweGNlLDB4ODQsMHgzMSwweGUwLDB4NGYsMHg3OCwweDQzLDB4ZWEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGRkYzAsIDAsIHsweDA4LDB4MGQsMHg4MCwweDAwLDB4ZjgsMHgwMCwweDNlLDB4YzAsMHgwZiwweGI1LDB4MjMsMHhlNCwweDAwLDB4ZjAsMHgwNCwweDM2IH0sCi0gIDE2LCAweGRkZDAsIDAsIHsweDQwLDB4MGYsMHhiNiwweDg3LDB4ZTAsMHgwMCwweGYyLDB4MDAsMHgzZSwweDAwLDB4MWYsMHhhMCwweDBiLDB4ZTgsMHgwMCwweGZhIH0sCi0gIDE2LCAweGRkZTAsIDAsIHsweDAwLDB4M2UsMHgwMCwweDBlLDB4YTAsMHgwMywweGE4LDB4MDAsMHhmYSwweDAwLDB4M2UsMHg4MCwweDBmLDB4YjAsMHgwMywweGMyIH0sCi0gIDE2LCAweGRkZjAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZjYsMHgwMCwweGNjLDB4ODAsMHgzMywweGEwIH0sCi0gIDE2LCAweGRlMDAsIDAsIHsweDBjLDB4ZmMsMHgwMywweDNlLDB4MDAsMHhmYywweDgwLDB4MzcsMHhlMCwweDBmLDB4YjksMHgyMSwweDNlLDB4MDAsMHhmZCwweDgyIH0sCi0gIDE2LCAweGRlMTAsIDAsIHsweDMzLDB4ZTAsMHgyYywweGY4LDB4MDMsMHg3ZSwweDEwLDB4ZGYsMHg4NCwweDNkLDB4ZTAsMHgwYywweGY4LDB4MDMsMHhmNiwweDAwIH0sCi0gIDE2LCAweGRlMjAsIDAsIHsweGZkLDB4ODAsMHgzZiwweDYwLDB4MGMsMHhlOCwweDIzLDB4MDAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGRlMzAsIDAsIHsweGE4LDB4MTEsMHg5OCwweDQwLDB4ODQsMHgxMCwweDIxLDB4YzAsMHgwOCwweDcwLDB4MDIsMHgxMCwweDgwLDB4YjQsMHgwMCwweDIxIH0sCi0gIDE2LCAweGRlNDAsIDAsIHsweGM4LDB4MGIsMHg3YSwweDAyLDB4MTAsMHgwMCwweGZkLDB4MDAsMHgyMSwweDA0LDB4MDgsMHg3MCwweDAyLDB4MWMsMHg0MiwweDg3IH0sCi0gIDE2LCAweGRlNTAsIDAsIHsweDAwLDB4MmQsMHhjNCwweDQ4LDB4NjEsMHgwMiwweGQ2LDB4ODAsMHhiNSwweDAwLDB4MmYsMHgwNCwweDA4LDB4NjEsMHg4MiwweDJhIH0sCi0gIDE2LCAweGRlNjAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OTAsMHgwMCwweDgxLDB4MDAsMHgyMSwweDgwIH0sCi0gIDE2LCAweGRlNzAsIDAsIHsweDA4LDB4MzAsMHgwMiwweDFjLDB4MTAsMHhiYywweDA4LDB4MjUsMHg4MCwweDRiLDB4MzAsMHgwZSwweDFjLDB4MDAsMHhiNCwweDAwIH0sCi0gIDE2LCAweGRlODAsIDAsIHsweDIwLDB4YzAsMHgwOCwweDIwLDB4MDIsMHg1OCwweDAwLDB4OTYsMHgwMCwweDJmLDB4MDAsMHgwYSwweDcwLDB4MDIsMHhkMCwweDgwIH0sCi0gIDE2LCAweGRlOTAsIDAsIHsweGI0LDB4MTgsMHgyZCwweDQwLDB4MDksMHhmOCwweDAyLDB4MDAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGRlYTAsIDAsIHsweDIwLDB4MTQsMHhjOCwweDAyLDB4ODAsMHgwMCwweGEwLDB4YzAsMHgwOCwweDMwLDB4MjIsMHgwYiwweGMwLDB4YjAsMHhjMCwweDIyIH0sCi0gIDE2LCAweGRlYjAsIDAsIHsweDgwLDB4MGIsMHgzMCwweDAyLDB4MDAsMHgwMCwweGEwLDB4MDQsMHgyMiwweDAwLDB4MjgsMHhhMCwweDAyLDB4MmIsMHgwMCwweDhhIH0sCi0gIDE2LCAweGRlYzAsIDAsIHsweDAwLDB4MmMsMHgwMCwweDA4LDB4YTAsMHgwNiwweGMwLDB4MDAsMHhiMCwweGMyLDB4MmMsMHgwMCwweDA5LDB4YmMsMHgxYSwweDA4IH0sCi0gIDE2LCAweGRlZDAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YTAsMHgwMCwweGM4LDB4MDAsMHgzMiwweGMwIH0sCi0gIDE2LCAweGRlZTAsIDAsIHsweDBjLDB4ZjAsMHgwYiwweDI2LDB4MDAsMHhmOSwweGMwLDB4MzYsMHgwMCwweDBmLDB4ZjAsMHgxMywweDJjLDB4MTAsMHhiYiwweDQwIH0sCi0gIDE2LCAweGRlZjAsIDAsIHsweGYyLDB4YzAsMHgwOCwweDkwLDB4MDMsMHg2NywweDAwLDB4ZDksMHg4MCwweDNlLDB4YzAsMHgwOCwweDkwLDB4MDIsMHhlYywweDAwIH0sCi0gIDE2LCAweGRmMDAsIDAsIHsweGZiLDB4ZDAsMHgzZSwweGMwLDB4MjksMHg4YywweDAwLDB4MmEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGRmMTAsIDAsIHsweDgwLDB4MDAsMHhlMCwweDAwLDB4ZjgsMHg0NCwweDNjLDB4ZDAsMHgyZiwweGIwLDB4MDMsMHhlNCwweDAwLDB4ZjksMHgyMCwweDNlIH0sCi0gIDE2LCAweGRmMjAsIDAsIHsweDQwLDB4MGYsMHgzMCwweDAzLDB4ZTAsMHgwMCwweGZiLDB4MDgsMHgzZSwweDAwLDB4MGYsMHg5MCwweDEzLDB4ZTQsMHg0MiwweGY5IH0sCi0gIDE2LCAweGRmMzAsIDAsIHsweDEwLDB4M2UsMHhjMCwweDBmLDB4ODAsMHgwMywweGVlLDB4MDAsMHhmYiwweDAwLDB4M2UsMHg4MCwweDBlLDB4ODIsMHgwMywweGUwIH0sCi0gIDE2LCAweGRmNDAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZTAsMHgwOCwweGZjLDB4ODAsMHgzMiwweGU0IH0sCi0gIDE2LCAweGRmNTAsIDAsIHsweDBlLDB4ZjAsMHgwMywweDc0LDB4MDAsMHhmYywweDAwLDB4M2YsMHg0MCwweDBjLDB4ZjAsMHgwYiwweDNjLDB4MDAsMHhmZSwweDAwIH0sCi0gIDE2LCAweGRmNjAsIDAsIHsweDNmLDB4YzAsMHgwZCwweGMxLDB4MDMsMHgyMCwweDIwLDB4Y2MsMHgxMCwweDMzLDB4MDAsMHgwYywweGQxLDB4MDMsMHg1OCwweDAwIH0sCi0gIDE2LCAweGRmNzAsIDAsIHsweGNlLDB4MDAsMHgyZiwweGMwLDB4MGYsMHhkMSwweDAzLDB4MDAsMHg0NCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGRmODAsIDAsIHsweDgxLDB4NDQsMHg2MiwweDAwLDB4YjAsMHg0MCwweDJhLDB4ZjEsMHgwOCwweGIwLDB4MTIsMHgyNiwweDA4LDB4YjgsMHhjOCwweDJlIH0sCi0gIDE2LCAweGRmOTAsIDAsIHsweDcwLDB4MGEsMHhiMCwweDAyLDB4MjAsMHgwMCwweGJhLDB4MDAsMHgyZSwweDAwLDB4MjgsMHg4MCwweDAzLDB4MjIsMHg0MCwweDg4IH0sCi0gIDE2LCAweGRmYTAsIDAsIHsweDAxLDB4MjAsMHgwMCwweDBhLDB4ODAsMHgwMiwweDI4LDB4MDAsMHg4YSwweDAxLDB4MmUsMHg4MCwweDhiLDB4OTAsMHgwMiwweDIwIH0sCi0gIDE2LCAweGRmYjAsIDAsIHsweDQwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MjYsMHgwMCwweGI4LDB4MjgsMHgyMiwweDQyIH0sCi0gIDE2LCAweGRmYzAsIDAsIHsweDA4LDB4MzAsMHgwMiwweDY2LDB4MDAsMHhiOCwweDgwLDB4MmUsMHgzMCwweDg4LDB4YjAsMHgwMiwweDJjLDB4MDAsMHhiOSwweDAxIH0sCi0gIDE2LCAweGRmZDAsIDAsIHsweDJlLDB4YzAsMHg4OCwweDkwLDB4MDIsMHhhNCwweDAwLDB4ODksMHgwMCwweDIyLDB4YzAsMHgwOCwweDkwLDB4MDIsMHgyNCwweDBjIH0sCi0gIDE2LCAweGRmZTAsIDAsIHsweDg5LDB4MDEsMHgyZSwweDQwLDB4MWIsMHg4MCwweDAyLDB4NjAsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGRmZjAsIDAsIHsweDA4LDB4MDQsMHgwMCwweDAwLDB4YjAsMHgwMCwweDI4LDB4YzAsMHgyOCwweDMwLDB4MDIsMHgwMCwweDAwLDB4YjAsMHgwMCwweDJjIH0sCi0gIDE2LCAweGUwMDAsIDAsIHsweDQwLDB4MGEsMHgzMCwweDAyLDB4MDAsMHgwMCwweGIxLDB4MDAsMHgyYywweDAwLDB4MDgsMHgxMCwweDBhLDB4MDQsMHgwMCwweDgxIH0sCi0gIDE2LCAweGUwMTAsIDAsIHsweDAxLDB4YTIsMHhjMCwweDA4LDB4MDAsMHgwYSwweDA0LDB4ODAsMHg4MSwweDAwLDB4MmMsMHgwMCwweDFiLDB4MDAsMHgwYSwweDAyIH0sCi0gIDE2LCAweGUwMjAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4NjAsMHgwMCwweGY4LDB4MDAsMHgzMiwweDQwIH0sCi0gIDE2LCAweGUwMzAsIDAsIHsweDBlLDB4ZjAsMHgyMywweDY0LDB4MDgsMHhmOCwweDAwLDB4MmUsMHgwMCwweDBjLDB4ZjAsMHgwMywweDJjLDB4MDAsMHhmOCwweDAwIH0sCi0gIDE2LCAweGUwNDAsIDAsIHsweDNlLDB4YzAsMHgwYywweDgwLDB4MDMsMHgyMCwweDAyLDB4YzgsMHgwNCwweDMyLDB4MDAsMHgxYywweDkwLDB4MDMsMHgyMCwweDAwIH0sCi0gIDE2LCAweGUwNTAsIDAsIHsweGM4LDB4MDEsMHgzZSwweDQxLDB4OWYsMHg5MCwweDQzLDB4NDAsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUwNjAsIDAsIHsweGEwLDB4MWQsMHhmMCwweDAwLDB4ZmMsMHgwYywweDNmLDB4YzAsMHgwZiwweGYwLDB4MDMsMHhmMCwweDEwLDB4ZjQsMHgwMCwweDNmIH0sCi0gIDE2LCAweGUwNzAsIDAsIHsweDAwLDB4MGYsMHhmNCwweDIzLDB4ZjAsMHgwMCwweGZjLDB4MDAsMHgzZiwweDAwLDB4MGUsMHhjMCwweDAzLDB4YjAsMHgwMCwweGZjIH0sCi0gIDE2LCAweGUwODAsIDAsIHsweDAwLDB4M2YsMHgwMCwweDBmLDB4YzAsMHgwMywweGUxLDB4MDAsMHhmYywweDAwLDB4M2YsMHgwMSwweDFmLDB4NTAsMHgwMywweGU4IH0sCi0gIDE2LCAweGUwOTAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDBkLDB4ZjAsMHhkMCwweGZmLDB4MjAsMHgzZSwweGQwIH0sCi0gIDE2LCAweGUwYTAsIDAsIHsweDhlLDB4YjAsMHgwMywweGVjLDB4YTAsMHhkYiwweDI4LDB4M2UsMHhjYywweDBjLDB4YjMsMHgwMywweGFkLDB4MDgsMHhmOCwweDNjIH0sCi0gIDE2LCAweGUwYjAsIDAsIHsweDMyLDB4MjMsMHgwZSwweDQ4LDB4MjMsMHg3YSwweDAwLDB4ZmQsMHg5NCwweDNmLDB4ZTAsMHgwZiwweDc4LDB4MzMsMHhlZSwweDA4IH0sCi0gIDE2LCAweGUwYzAsIDAsIHsweGJmLDB4ODAsMHgzZiwweGU0LDB4MGYsMHhmOSwweDAzLDB4MzAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUwZDAsIDAsIHsweGEwLDB4MDAsMHhlYywweGM4LDB4YmYsMHhkMSwweDBmLDB4YzgsMHgwYywweDI2LDB4ODIsMHhmZCwweDI0LDB4OGYsMHgwMCwweDJlIH0sCi0gIDE2LCAweGUwZTAsIDAsIHsweDk5LDB4MGEsMHhmMiwweDYyLDB4MWQsMHhkMCwweDk5LDB4NjEsMHgyMiwweDcxLDB4ODgsMHg4OCwweDAyLDB4YWMsMHgwMCwweGI4IH0sCi0gIDE2LCAweGUwZjAsIDAsIHsweDIyLDB4MmUsMHgyMCwweDRiLDB4ODgsMHgwMywweGEwLDB4MDAsMHg4MCwweDAwLDB4MmUsMHgwOCwweDBiLDB4ODAsMHgyMywweDYwIH0sCi0gIDE2LCAweGUxMDAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4Y2MsMHgwNCwweGIzLDB4MDMsMHgwYywweGNjIH0sCi0gIDE2LCAweGUxMTAsIDAsIHsweDBhLDB4MTMsMHgxMiwweGNjLDB4MTQsMHhhMywweDBlLDB4MGMsMHg1OCwweDBhLDB4MzMsMHgwMiwweDhjLDB4MTAsMHhhMywweDIwIH0sCi0gIDE2LCAweGUxMjAsIDAsIHsweGEwLDB4MGEsMHgxOCwweDkwLDB4MDIsMHg0OCwweGEwLDB4YjAsMHgyMCwweDI0LDB4ODAsMHgwYSwweDIwLDB4MDIsMHhjYywweDA5IH0sCi0gIDE2LCAweGUxMzAsIDAsIHsweGExLDB4MDAsMHgyYywweDgwLDB4MGIsMHgzMiwweDQyLDB4YTIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUxNDAsIDAsIHsweGUwLDB4MTEsMHhhYywweDIwLDB4YmIsMHgwMCwweDJlLDB4YzAsMHg0YiwweDgwLDB4YTIsMHhlYywweDAwLDB4YWIsMHgwMCwweDRlIH0sCi0gIDE2LCAweGUxNTAsIDAsIHsweDQ2LDB4MmEsMHhiMCwweDAyLDB4MmMsMHgwNCwweDliLDB4ODAsMHgyYSwweDYwLDB4OGEsMHg5YywweDAyLDB4YWMsMHgwMCwweGI5IH0sCi0gIDE2LCAweGUxNjAsIDAsIHsweDgxLDB4MmUsMHg0MCwweDBiLDB4OTgsMHgwMiwweGEzLDB4MDAsMHg4YSwweDAwLDB4MmUsMHg0MCwweDBiLDB4ODAsMHgwNCwweGYwIH0sCi0gIDE2LCAweGUxNzAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDE1LDB4ZTEsMHgwMCwweGZiLDB4MDQsMHgzZSwweGMwIH0sCi0gIDE2LCAweGUxODAsIDAsIHsweDBlLDB4YjQsMHgwMywweGVjLDB4MGEsMHhkYiwweDAyLDB4MmUsMHhkMSwweDBlLDB4YjAsMHgwMywweGFjLDB4MDAsMHhmYiwweDgyIH0sCi0gIDE2LCAweGUxOTAsIDAsIHsweDMyLDB4MjgsMHgxZSwweDBjLDB4MDMsMHg2OCwweDAwLDB4YjksMHgwMCwweDNlLDB4NDAsMHg0ZiwweGIwLDB4NDMsMHhlZCwweDAwIH0sCi0gIDE2LCAweGUxYTAsIDAsIHsweGVhLDB4MDAsMHgzZSwweDQwLDB4MGYsMHg4MCwweDAzLDB4OTAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUxYjAsIDAsIHsweGMwLDB4MDEsMHhiOCwweDE4LDB4ZmYsMHgwMiwweDFmLDB4YzAsMHgwYywweGUyLDB4MDMsMHhmYywweDAwLDB4ZGYsMHgwMywweDJmIH0sCi0gIDE2LCAweGUxYzAsIDAsIHsweGExLDB4MGYsMHg3MCwweDAzLDB4ZmMsMHgwNCwweGFiLDB4MDQsMHgzNywweDQyLDB4MmQsMHhkMCwweDAyLDB4N2MsMHgwMCwweGZjIH0sCi0gIDE2LCAweGUxZDAsIDAsIHsweDAwLDB4M2YsMHg4MCwweDBmLDB4YzAsMHgwMywweGIwLDB4MDAsMHhmZCwweDAwLDB4M2YsMHg4MCwweDBmLDB4ZjAsMHgwMywweDc4IH0sCi0gIDE2LCAweGUxZTAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YTksMHgwMCwweGRiLDB4MDAsMHgzYywweGMwIH0sCi0gIDE2LCAweGUxZjAsIDAsIHsweDJlLDB4OTQsMHgwMSwweDZjLDB4MTEsMHhjYiwweDAwLDB4YjgsMHhjMCwweDBjLDB4YjAsMHgwMywweDZjLDB4MDAsMHhlYiwweDAxIH0sCi0gIDE2LCAweGUyMDAsIDAsIHsweDMyLDB4MTAsMHgwNywweDkyLDB4MDMsMHhhOCwweDAwLDB4ZjgsMHgwMCwweDNlLDB4MGMsMHgwNywweGEyLDB4MDMsMHhhZCwweDAwIH0sCi0gIDE2LCAweGUyMTAsIDAsIHsweGQ4LDB4MDAsMHgzMiwweDAwLDB4MGMsMHg4MCwweDAzLDB4ZDAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUyMjAsIDAsIHsweGM4LDB4MDUsMHgyOCwweDA4LDB4YmYsMHgwMCwweDJmLDB4YzAsMHg4OCwweDgwLDB4MDIsMHgzYywweDA4LDB4ZWYsMHgwMywweDIyIH0sCi0gIDE2LCAweGUyMzAsIDAsIHsweDAwLDB4MGQsMHhmNSwweDAwLDB4M2MsMHgwMCwweDhiLDB4ODIsMHgyMiwweDYwLDB4MDMsMHg5YywweDAyLDB4MmMsMHgxMCwweGI5IH0sCi0gIDE2LCAweGUyNDAsIDAsIHsweGIwLDB4MjIsMHhmMCwweDBiLDB4OTAsMHgwMiwweDIwLDB4MDAsMHhiYiwweDAwLDB4MjIsMHhlMiwweDBkLDB4YjAsMHgwMiwweGYyIH0sCi0gIDE2LCAweGUyNTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NDAsMHgwMCwweGIzLDB4MDIsMHgyYywweGMwIH0sCi0gIDE2LCAweGUyNjAsIDAsIHsweDA4LDB4MzAsMHgwMiwweDZjLDB4MDAsMHg4MywweDAwLDB4MjAsMHhjMCwweDA5LDB4MzQsMHgwNCwweGVjLDB4MDAsMHhhOCwweDAwIH0sCi0gIDE2LCAweGUyNzAsIDAsIHsweDIyLDB4ZjAsMHgwYiwweDAwLDB4MDIsMHg4OCwweDAwLDB4YjMsMHgwMCwweDI4LDB4ZTAsMHgwYiwweDE0LDB4MDIsMHhhMCwweDAwIH0sCi0gIDE2LCAweGUyODAsIDAsIHsweDkzLDB4MDAsMHgyMCwweGMwLDB4MDgsMHhiMCwweDAyLDB4ZjgsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUyOTAsIDAsIHsweDIwLDB4MDEsMHgxZSwweDA0LDB4YjcsMHg4MCwweDJkLDB4ZTgsMHgwOCwweDc4LDB4MDIsMHgwZSwweGM4LDB4YTcsMHg5MCwweDIxIH0sCi0gIDE2LCAweGUyYTAsIDAsIHsweGE4LDB4MTksMHgzOCwweDUyLDB4OWUsMHhjMSwweDg3LDB4ODAsMHgyMSwweGUyLDB4MGIsMHhkOSwweDgyLDB4OWUsMHgwMCwweGI2IH0sCi0gIDE2LCAweGUyYjAsIDAsIHsweGEwLDB4MmQsMHgyMCwweDBiLDB4NjgsMHgwMiwweDFlLDB4MDAsMHhiNCwweGMxLDB4MjEsMHgyMCwweDA5LDB4NDgsMHgwMiwweGM4IH0sCi0gIDE2LCAweGUyYzAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDAwLDB4MGMsMHg4MCwweGIzLDB4MTAsMHgzZSwweGUwIH0sCi0gIDE2LCAweGUyZDAsIDAsIHsweDBlLDB4M2EsMHgwNywweDRlLDB4MDAsMHhjYiwweDkwLDB4M2EsMHg2MSwweDBkLDB4MzgsMHgwMywweGNlLDB4ZDEsMHhlMSwweDk4IH0sCi0gIDE2LCAweGUyZTAsIDAsIHsweDMwLDB4YTQsMHg4ZiwweDEwLDB4MDMsMHg4OCwweDAwLDB4YmEsMHhhMSwweDNjLDB4ODQsMHgwNywweDAwLDB4MDMsMHg4MiwweGQ0IH0sCi0gIDE2LCAweGUyZjAsIDAsIHsweGQxLDB4MDAsMHg3MiwweDgwLDB4MGMsMHgzMCwweDAzLDB4ZDIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUzMDAsIDAsIHsweDQwLDB4MTUsMHhiYywweDA0LDB4ZmYsMHgwMCwweDNmLDB4YzAsMHgwZiwweGMyLDB4MjMsMHhlYywweGIwLDB4ZmYsMHgwMCwweDMyIH0sCi0gIDE2LCAweGUzMTAsIDAsIHsweDA0LDB4MDYsMHhiNCwweDIzLDB4N2MsMHgxMCwweGJmLDB4MDAsMHgzZSwweDg0LDB4MGYsMHhiMCwweDAzLDB4N2MsMHg0MCwweGZmIH0sCi0gIDE2LCAweGUzMjAsIDAsIHsweDAwLDB4MzMsMHg0MCwweDBmLDB4ZjAsMHgwMywweGZjLDB4MDAsMHhmZSwweDAwLDB4YmYsMHg0MCwweDBmLDB4YzgsMHgwMywweGQwIH0sCi0gIDE2LCAweGUzMzAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4ZTQsMHgwMCwweGNiLDB4MzMsMHgzZSwweGM4IH0sCi0gIDE2LCAweGUzNDAsIDAsIHsweDRjLDB4YjAsMHgwMywweGFjLDB4OTAsMHhkYiwweGEwLDB4MzYsMHhjMCwweDBlLDB4YmEsMHg0MywweDZjLDB4MDAsMHhjOSwweDAwIH0sCi0gIDE2LCAweGUzNTAsIDAsIHsweDNlLDB4NDAsMHgwZiwweDAwLDB4MGYsMHgyOCwweDAwLDB4ZmIsMHgwMCwweDNlLDB4NDAsMHgwZiwweDE4LDB4NDMsMHg2MCwweDAwIH0sCi0gIDE2LCAweGUzNjAsIDAsIHsweGZhLDB4MDAsMHgzZSwweDQwLDB4NGYsMHgwOCwweDBiLDB4MmEsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUzNzAsIDAsIHsweDQ4LDB4MTEsMHg5YywweDEwLDB4MDcsMHgwOCwweDJjLDB4Y2EsMHgwOCwweDIwLDB4MDIsMHgxYywweDIwLDB4ODcsMHgyOCwweDNmIH0sCi0gIDE2LCAweGUzODAsIDAsIHsweDgwLDB4OGEsMHhmMCwweDAyLDB4MWQsMHg0MCwweDg3LDB4MDQsMHgyZCwweGMwLDB4MGIsMHg3MCwweDAyLDB4MWMsMHgwMCwweGI2IH0sCi0gIDE2LCAweGUzOTAsIDAsIHsweDAwLDB4MmQsMHg4MCwweDBiLDB4NjAsMHgwMywweDFjLDB4MDAsMHhiNSwweDAwLDB4MmQsMHg4MCwweDBiLDB4NzAsMHgwMiwweDEyIH0sCi0gIDE2LCAweGUzYTAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4OGUsMHgwMCwweDg3LDB4YTAsMHgyZCwweGU0IH0sCi0gIDE2LCAweGUzYjAsIDAsIHsweDBhLDB4NTgsMHgwMiwweDFlLDB4MDEsMHg4MywweDkwLDB4MjEsMHg3MCwweDBiLDB4NzksMHgwMiwweDllLDB4MDEsMHg4NSwweGMwIH0sCi0gIDE2LCAweGUzYzAsIDAsIHsweDJkLDB4ZTAsMHg0YiwweDU4LDB4MTIsMHgxYSwweDAwLDB4YjYsMHg4MCwweDJkLDB4MjAsMHgwYiwweDQ4LDB4MDIsMHg1MiwweDAwIH0sCi0gIDE2LCAweGUzZDAsIDAsIHsweGI0LDB4ODAsMHgyZCwweDIwLDB4MGIsMHg0OCwweDAyLDB4MzAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUzZTAsIDAsIHsweDQ4LDB4MTQsMHhlYywweDAwLDB4ODMsMHgwMCwweDJjLDB4YzAsMHg4OCwweDM2LDB4MDIsMHgwYywweDAyLDB4ODMsMHgwMCwweDZjIH0sCi0gIDE2LCAweGUzZjAsIDAsIHsweGMwLDB4MGIsMHgzMCwweDBhLDB4YWMsMHgwMCwweDliLDB4ZTAsMHg2YywweGM4LDB4MGIsMHgzMiwweDAyLDB4MGMsMHgwMSwweGIzIH0sCi0gIDE2LCAweGU0MDAsIDAsIHsweDAwLDB4MmMsMHhjMCwweDBiLDB4MzAsMHgwMiwweDBjLDB4MTAsMHhiMywweDQwLDB4MmMsMHhjMCwweDBiLDB4M2MsMHg4MiwweDEyIH0sCi0gIDE2LCAweGU0MTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YjgsMHgwMiwweGNhLDB4MDAsMHgzZSwweDgwIH0sCi0gIDE2LCAweGU0MjAsIDAsIHsweDBlLDB4ZTQsMHg4YiwweDI4LDB4MDAsMHhjYSwweDAwLDB4MzMsMHg5NSwweDBmLDB4YTAsMHgwNywweGE4LDB4MDIsMHhjZSwweDQwIH0sCi0gIDE2LCAweGU0MzAsIDAsIHsweDNmLDB4YjAsMHgwZiwweGU0LDB4ODIsMHgyOCwweDAwLDB4ZmEsMHgwMCwweDNlLDB4ODAsMHgwZiwweGEwLDB4MjMsMHg2OCwweDAwIH0sCi0gIDE2LCAweGU0NDAsIDAsIHsweGZhLDB4NDAsMHgzZSwweDgxLDB4NGYsMHhhNCwweGUzLDB4M2EsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU0NTAsIDAsIHsweDQ4LDB4MDAsMHhlMCwweDgwLDB4ZjAsMHgwMCwweDNjLDB4MDAsMHgyZiwweDAwLDB4MDIsMHg2MCwweDAwLDB4ZTgsMHgwMCwweDNjIH0sCi0gIDE2LCAweGU0NjAsIDAsIHsweDAwLDB4MGUsMHg4MCwweDAxLDB4MjAsMHgwMCwweGU4LDB4MDQsMHg1ZSwweDA0LDB4MGYsMHg4MCwweDAzLDB4ZTAsMHgwMCwweGZjIH0sCi0gIDE2LCAweGU0NzAsIDAsIHsweDAxLDB4M2YsMHgxMCwweDBmLDB4YzQsMHgwMywweGIwLDB4MDAsMHhmYywweDA5LDB4M2YsMHgwMCwweDBmLDB4YzAsMHgwMywweGQyIH0sCi0gIDE2LCAweGU0ODAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTQsMHgwMCwweGE5LDB4MjAsMHgzNiwweDQwIH0sCi0gIDE2LCAweGU0OTAsIDAsIHsweDBlLDB4OTAsMHgwMywweDQ0LDB4MDQsMHhkOSwweDAwLDB4M2UsMHg0MCwweDBkLDB4OTAsMHgwMywweGU0LDB4MDQsMHhjOSwweDAwIH0sCi0gIDE2LCAweGU0YTAsIDAsIHsweDMyLDB4NDAsMHg4ZiwweDkwLDB4MGIsMHhlNCwweDA4LDB4ZjksMHgwMCwweDNlLDB4NDQsMHgwZSwweDk4LDB4MDMsMHhlNiwweDAwIH0sCi0gIDE2LCAweGU0YjAsIDAsIHsweGY5LDB4MDAsMHgzZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4YzIsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU0YzAsIDAsIHsweDgwLDB4MDQsMHg2NCwweDAwLDB4ODksMHgwMCwweDIyLDB4NDAsMHgxOCwweDkwLDB4MDIsMHgyNCwweDAwLDB4ODksMHgwMCwweDJlIH0sCi0gIDE2LCAweGU0ZDAsIDAsIHsweDQwLDB4MDgsMHg5NCwweDAyLDB4ZTQsMHgwMCwweGQ5LDB4MDQsMHgyMiwweDQwLDB4MGIsMHgxYywweDBiLDB4NjQsMHgwMCwweGI5IH0sCi0gIDE2LCAweGU0ZTAsIDAsIHsweDk0LDB4MmMsMHg1MCwweDA4LDB4OWMsMHgwMiwweGU0LDB4MTQsMHhiOSwweDkwLDB4MGUsMHg0MCwweDBiLDB4OTAsMHgwMiwweGUwIH0sCi0gIDE2LCAweGU0ZjAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4MjQsMHgwMiwweDg5LDB4MDAsMHgyNiwweDQwIH0sCi0gIDE2LCAweGU1MDAsIDAsIHsweDRhLDB4OTAsMHgwMiwweDY0LDB4MDAsMHg5OSwweDA0LDB4MmUsMHg0MCwweDA4LDB4OTgsMHg4MiwweGU0LDB4MDAsMHg4OSwweDAwIH0sCi0gIDE2LCAweGU1MTAsIDAsIHsweDZhLDB4NDAsMHgwYSwweDkyLDB4ODIsMHhlNCwweDAwLDB4YmQsMHgwMSwweDJmLDB4NTAsMHgxMiwweGQ2LDB4MDIsMHhmNCwweDQwIH0sCi0gIDE2LCAweGU1MjAsIDAsIHsweGJkLDB4MDAsMHgwZiwweDQwLDB4MGIsMHhkMCwweDAyLDB4YzYsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU1MzAsIDAsIHsweDA4LDB4MDQsMHgwNCwweDgwLDB4ODEsMHgyMCwweDIwLDB4NDgsMHgwOCwweDEyLDB4MDIsMHgwNCwweDgwLDB4ODEsMHgyMiwweDJjIH0sCi0gIDE2LCAweGU1NDAsIDAsIHsweDQ4LDB4YTgsMHgxMiwweDA2LDB4YzQsMHg5MCwweDkxLDB4MjAsMHgyOCwweDUwLDB4MGIsMHg5MCwweDAyLDB4NDUsMHgwMCwweGI1IH0sCi0gIDE2LCAweGU1NTAsIDAsIHsweDQwLDB4NmQsMHg0MCwweDA4LDB4NTAsMHgxMiwweGQ0LDB4MDQsMHhiNSwweDAyLDB4MmQsMHg0MCwweDBiLDB4NTAsMHgwMiwweGMyIH0sCi0gIDE2LCAweGU1NjAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjEsMHg0MCwweGM4LDB4MDAsMHgzNiwweDE0IH0sCi0gIDE2LCAweGU1NzAsIDAsIHsweDBhLDB4ODUsMHgwMywweDQxLDB4NDAsMHhkOCwweDUwLDB4MmUsMHgxNCwweDBjLDB4ODUsMHgwMywweGMxLDB4NDAsMHhjOCwweDUwIH0sCi0gIDE2LCAweGU1ODAsIDAsIHsweGJhLDB4MDAsMHgwZSwweDgwLDB4MjMsMHhlMCwweDAwLDB4NzgsMHgwMCwweDNlLDB4MDAsMHgwZSwweDgwLDB4MDMsMHhlMCwweDA0IH0sCi0gIDE2LCAweGU1OTAsIDAsIHsweGY4LDB4MDAsMHgzZSwweDAwLDB4MGYsMHhjMCwweDAzLDB4ZWUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU1YTAsIDAsIHsweDk4LDB4MWQsMHhmNCwweDQwLDB4ZDksMHgxMCwweDNlLDB4NDQsMHgwNywweGYxLDB4MDMsMHhlNCwweDQwLDB4ZjksMHgxMCwweDNmIH0sCi0gIDE2LCAweGU1YjAsIDAsIHsweDQ0LDB4YWYsMHg5MSwweDAzLDB4ZTQsMHg0MCwweGZkLDB4MTAsMHgzNywweDUwLDB4MGYsMHhkMCwweDAzLDB4ZTQsMHgwMCwweGY5IH0sCi0gIDE2LCAweGU1YzAsIDAsIHsweDAwLDB4M2UsMHg0MCwweDBmLDB4OTAsMHgwMywweGU0LDB4YTAsMHhmOSwweDI4LDB4M2UsMHg0YSwweDBmLDB4OTIsMHg4MywweGU2IH0sCi0gIDE2LCAweGU1ZDAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4ZTYsMHhkNCwweGZkLDB4YTIsMHgzYSwweDcwIH0sCi0gIDE2LCAweGU1ZTAsIDAsIHsweDhjLDB4OWUsMHgwMywweDI2LDB4ODAsMHhjOSwweGEwLDB4MzIsMHg2OCwweDBjLDB4ZGIsMHg0MywweDI3LDB4ODAsMHg5ZCwweGEyIH0sCi0gIDE2LCAweGU1ZjAsIDAsIHsweGI3LDB4NDAsMHgwZiwweDUwLDB4MDMsMHg2NSwweDAwLDB4ZmQsMHgwMCwweDNmLDB4YzEsMHgwNywweGQwLDB4MDMsMHhmNSwweDA0IH0sCi0gIDE2LCAweGU2MDAsIDAsIHsweGZkLDB4NDAsMHgyZiwweGMwLDB4MGMsMHhkMCwweDAzLDB4YzYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU2MTAsIDAsIHsweDM4LDB4MTAsMHhlMywweDg4LDB4YjgsMHg1MCwweDIyLDB4MzgsMHgwOCwweDhlLDB4MDAsMHhhMiwweGEwLDB4ODgsMHhlOCwweDIyIH0sCi0gIDE2LCAweGU2MjAsIDAsIHsweDM4LDB4NDgsMHg4OCwweDAzLDB4NjIsMHgxMCwweGE4LDB4ZTgsMHgzYywweDAwLDB4MGIsMHg4MCwweDAzLDB4NjIsMHg4MCwweGI4IH0sCi0gIDE2LCAweGU2MzAsIDAsIHsweDAxLDB4MmUsMHg4MCwweDBiLDB4ODAsMHgyMSwweGEyLDB4MDAsMHhiMCwweDg0LDB4MmUsMHgyYSwweDI4LDB4OGEsMHg4MiwweGNlIH0sCi0gIDE2LCAweGU2NDAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4YzQsMHg0MCwweGIxLDB4MDAsMHgyOCwweDU4IH0sCi0gIDE2LCAweGU2NTAsIDAsIHsweDgwLDB4MTMsMHg0MCwweDA1LDB4MDAsMHg4MSwweDQwLDB4MjAsMHg1MiwweDI4LDB4MTYsMHgwMiwweDg1LDB4ODAsMHg5YiwweGMyIH0sCi0gIDE2LCAweGU2NjAsIDAsIHsweDY0LDB4NDEsMHg4YiwweDk4LDB4MDIsMHgwNCwweDAwLDB4YjEsMHgwOSwweDJjLDB4NDAsMHgxYiwweDEwLDB4MjAsMHhjNCwweDAwIH0sCi0gIDE2LCAweGU2NzAsIDAsIHsweGIxLDB4MDAsMHgyYywweDQwLDB4NDgsMHgxMCwweDAyLDB4YzIsMHgwNSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU2ODAsIDAsIHsweDE4LDB4MTUsMHhhNSwweDg0LDB4YjksMHgwMCwweDIwLDB4NDAsMHgwOCwweDkwLDB4MDIsMHgyNCwweDAwLDB4MDEsMHgwMCwweDIwIH0sCi0gIDE2LCAweGU2OTAsIDAsIHsweDUwLDB4MDgsMHg5MCwweDQyLDB4NjQsMHgwMCwweGE5LDB4MTAsMHhhZSwweDU4LDB4MDMsMHg5OCwweDAyLDB4NjQsMHgwMCwweGI5IH0sCi0gIDE2LCAweGU2YTAsIDAsIHsweDAwLDB4MmUsMHg0MCwweDBiLDB4OTAsMHg0NiwweGE0LDB4MTAsMHhiOSwweDAwLDB4MmUsMHg0MSwweDA4LDB4OTAsMHgwMiwweGM2IH0sCi0gIDE2LCAweGU2YjAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDExLDB4ZTcsMHgwMCwweGY5LDB4MDAsMHgyYSwweDQwIH0sCi0gIDE2LCAweGU2YzAsIDAsIHsweDJjLDB4OTQsMHgwYiwweDI0LDB4MDIsMHhjOSwweDAwLDB4YjIsMHg0NCwweDBjLDB4OTAsMHgwMywweDI0LDB4MDQsMHhkOSwweDgwIH0sCi0gIDE2LCAweGU2ZDAsIDAsIHsweGI2LDB4NDEsMHg4ZiwweDE4LDB4MDMsMHgyNCwweDAwLDB4ZjksMHg2MCwweDNlLDB4NDAsMHgwZiwweDk2LDB4MDMsMHhlNCwweDAwIH0sCi0gIDE2LCAweGU2ZTAsIDAsIHsweGY5LDB4ODAsMHgzZSwweDQyLDB4OGMsMHg5MCwweDAzLDB4ZTgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU2ZjAsIDAsIHsweDI4LDB4MDEsMHhhNiwweDAwLDB4ZjEsMHgwMCwweDNlLDB4NDAsMHgwZiwweDFjLDB4MDMsMHhjNCwweDAwLDB4ZjksMHgwMCwweDNlIH0sCi0gIDE2LCAweGU3MDAsIDAsIHsweDQwLDB4OGYsMHg5MCwweDIzLDB4YzQsMHgxMCwweGY5LDB4MDAsMHhiZSwweDQwLDB4MGYsMHg5MCwweDBiLDB4ZTQsMHgwMCwweGY5IH0sCi0gIDE2LCAweGU3MTAsIDAsIHsweDAwLDB4M2UsMHg0MCwweDA3LDB4OTAsMHgyMywweGU0LDB4MDAsMHhmOSwweDIwLDB4M2UsMHg0MCwweDhmLDB4OTAsMHgwMywweGNhIH0sCi0gIDE2LCAweGU3MjAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTEsMHgwMCwweGY4LDB4MDAsMHhiZSwweDAwIH0sCi0gIDE2LCAweGU3MzAsIDAsIHsweDBlLDB4ODQsMHgwMywweDIwLDB4MDAsMHhjOCwweDAwLDB4MzIsMHgwMCwweDBjLDB4MDAsMHg4MywweDIwLDB4MDAsMHhmOCwweDAwIH0sCi0gIDE2LCAweGU3NDAsIDAsIHsweDNlLDB4MDAsMHgwYywweDgwLDB4MDMsMHhhMCwweDAwLDB4ZjgsMHgwMCwweDM2LDB4MTAsMHgwZiwweDgwLDB4NDMsMHhlMCwweDA4IH0sCi0gIDE2LCAweGU3NTAsIDAsIHsweGY4LDB4MDAsMHgzMiwweDAwLDB4MGYsMHg4MCwweDAzLDB4Y2EsMHgwNCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU3NjAsIDAsIHsweDI4LDB4MDUsMHgyOCwweDAwLDB4YmEsMHgwMCwweDIyLDB4ODAsMHg0OCwweGEwLDB4MDMsMHg2OCwweDAwLDB4YWEsMHgwMCwweDJhIH0sCi0gIDE2LCAweGU3NzAsIDAsIHsweDgwLDB4MDgsMHhlMCwweDAzLDB4NjgsMHgwMCwweDgyLDB4MDAsMHgyZiwweDgwLDB4MDgsMHhlNiwweDAyLDB4MjgsMHgwNCwweGJlIH0sCi0gIDE2LCAweGU3ODAsIDAsIHsweDQwLDB4MjMsMHg4MCwweDBiLDB4ZTgsMHgwMiwweGVhLDB4MDAsMHhiZSwweDAxLDB4MjIsMHg4MCwweDBiLDB4ZTAsMHgwMiwweGNhIH0sCi0gIDE2LCAweGU3OTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NGMsMHgwMSwweDkzLDB4MDEsMHgyMCwweGMxIH0sCi0gIDE2LCAweGU3YTAsIDAsIHsweDBhLDB4MzAsMHgwMiwweDBjLDB4MDAsMHhhMywweDAwLDB4MjAsMHhjMCwweDg4LDB4MzgsMHg0MiwweDBjLDB4MDAsMHhhMywweDAwIH0sCi0gIDE2LCAweGU3YjAsIDAsIHsweDI0LDB4YzAsMHgwYSwweDNlLDB4NDIsMHg4YywweDAwLDB4YjIsMHg0YywweDI0LDB4ZTAsMHg0YiwweDM4LDB4MDIsMHhjNCwweDQxIH0sCi0gIDE2LCAweGU3YzAsIDAsIHsweGIzLDB4MDAsMHgyMiwweGMwLDB4MGIsMHgxMCwweDAyLDB4Y2EsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU3ZDAsIDAsIHsweGEwLDB4MDEsMHgxYywweDAwLDB4YjcsMHgwMCwweDIwLDB4YzksMHg0OCwweDcwLDB4MDIsMHhkYywweDQwLDB4YTcsMHgxNCwweDJjIH0sCi0gIDE2LCAweGU3ZTAsIDAsIHsweGM4LDB4MjgsMHgzMCwweDgyLDB4NWMsMHhjMSwweDg1LDB4MDAsMHgyZCwweGUwLDB4MmEsMHhmMCwweDEyLDB4MWMsMHg4MCwweGI3IH0sCi0gIDE2LCAweGU3ZjAsIDAsIHsweGEwLDB4MjEsMHg4MiwweDBiLDB4NzAsMHg4MiwweGQ0LDB4MTEsMHhiNiwweDgwLDB4MjEsMHg0MCwweDRiLDB4NTAsMHgwMiwweGU4IH0sCi0gIDE2LCAweGU4MDAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MWUsMHg4MCwweGQ1LDB4ODAsMHgyOSwweGVhIH0sCi0gIDE2LCAweGU4MTAsIDAsIHsweDRlLDB4M2EsMHgwNywweDBlLDB4ODAsMHhlMywweGIwLDB4MzEsMHhmYywweDBjLDB4NDgsMHgwMywweDBlLDB4NDEsMHhlNywweDgwIH0sCi0gIDE2LCAweGU4MjAsIDAsIHsweDNkLDB4ZTAsMHgwZSwweDc4LDB4MDMsMHg5ZSwweDgwLDB4ZjQsMHhjNCwweDM1LDB4ZTAsMHgwZiwweDc4LDB4MjcsMHhkZSwweDAwIH0sCi0gIDE2LCAweGU4MzAsIDAsIHsweGY1LDB4ODAsMHhiMSwweGUwLDB4MGYsMHg1OCwweDAzLDB4ZWEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU4NDAsIDAsIHsweDA4LDB4MWQsMHhhYywweDAwLDB4MzEsMHgwNCwweDNhLDB4YzQsMHgwZiwweGI1LDB4OTMsMHg2ZCwweDA4LDB4ZmIsMHg0MCwweDNhIH0sCi0gIDE2LCAweGU4NTAsIDAsIHsweGM4LDB4NjMsMHg4MCwweDIzLDB4ZWMsMHg5OCwweGU5LDB4MDAsMHgzZSwweGMwLDB4MGQsMHhiMCwweDQzLDB4ZWMsMHgwMCwweGYzIH0sCi0gIDE2LCAweGU4NjAsIDAsIHsweDgwLDB4M2UsMHg0MCwweDRmLDB4YTAsMHgwMywweGVjLDB4MDAsMHhmOCwweDY4LDB4M2UsMHg0MCwweDhmLDB4OTgsMHgwMywweGMyIH0sCi0gIDE2LCAweGU4NzAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZmUsMHg2MCwweGViLDB4OTAsMHgzZSwweGU0IH0sCi0gIDE2LCAweGU4ODAsIDAsIHsweDBmLDB4YjgsMHgwMCwweDNmLDB4NDAsMHhjYiwweDgwLDB4N2YsMHhlMCwweDBlLDB4ZmIsMHgwMywweDJlLDB4NDAsMHhjYiwweDgwIH0sCi0gIDE2LCAweGU4OTAsIDAsIHsweDNmLDB4ZTAsMHgwZiwweDc5LDB4NDMsMHgyZSwweDYwLDB4Y2EsMHg4MSwweDMzLDB4NjQsMHg4ZiwweGQ5LDB4MDMsMHhmZSwweDAwIH0sCi0gIDE2LCAweGU4YTAsIDAsIHsweGZmLDB4ODEsMHgzMywweGUwLDB4MGYsMHhkOSwweDhiLDB4MDAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU4YjAsIDAsIHsweGE4LDB4MDEsMHg5YywweDAwLDB4ODcsMHg4MSwweDE5LDB4ZTQsMHgwYiwweGZhLDB4MTMsMHg1ZSwweDgwLDB4ODcsMHhiMiwweDJkIH0sCi0gIDE2LCAweGU4YzAsIDAsIHsweGVjLDB4MGQsMHg3OSwweDAxLDB4OWUsMHgwMCwweGQ1LDB4OTAsMHgyZCwweGY4LDB4MGIsMHg3OCwweDAzLDB4N2UsMHgwOCwweGFiIH0sCi0gIDE2LCAweGU4ZDAsIDAsIHsweDkxLDB4MjksMHg4NSwweDBiLDB4NTEsMHgwMiwweGRjLDB4NDgsMHhiNiwweDQwLDB4MjEsMHg0MCwweDBiLDB4NTAsMHgwMiwweDJhIH0sCi0gIDE2LCAweGU4ZTAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OGMsMHgxNCwweGI1LDB4MjAsMHg2ZCwweGM4IH0sCi0gIDE2LCAweGU4ZjAsIDAsIHsweDBiLDB4NzIsMHgwMiwweDVjLDB4ODAsMHg4NywweDIwLDB4NjksMHhjMCwweDg4LDB4NTMsMHgwMiwweGNjLDB4ODEsMHg5NywweDUwIH0sCi0gIDE2LCAweGU5MDAsIDAsIHsweDJkLDB4YzgsMHgwYiwweGY3LDB4MGEsMHhkYywweGMwLDB4ODQsMHgwMSwweDIxLDB4NDQsMHgxYiwweDcwLDB4MjIsMHhkYywweDAwIH0sCi0gIDE2LCAweGU5MTAsIDAsIHsweGI1LDB4MDAsMHgyMSwweGM0LDB4MGIsMHg1MCwweDg2LDB4MDAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU5MjAsIDAsIHsweDIwLDB4MTQsMHhjZiwweDMwLDB4OTEsMHgwMCwweDJjLDB4YzAsMHgwYiwweDM0LDB4MDIsMHg0YywweDAwLDB4ODMsMHgwMCwweDJjIH0sCi0gIDE2LCAweGU5MzAsIDAsIHsweGYyLDB4MGIsMHgxMCwweDIyLDB4MGMsMHgwMCwweDkxLDB4MDAsMHgyYywweGM4LDB4MGIsMHgxOCwweDBhLDB4Y2QsMHgwMSwweGEzIH0sCi0gIDE2LCAweGU5NDAsIDAsIHsweDAwLDB4MjgsMHg2MCwweDBiLDB4MjEsMHgwMiwweGNlLDB4MjAsMHhiOCwweDQwLDB4YTAsMHg1NCwweDBiLDB4MTgsMHgwMiwweDA4IH0sCi0gIDE2LCAweGU5NTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDExLDB4YmQsMHgwMCwweGY5LDB4MDAsMHgyZiwweGMwIH0sCi0gIDE2LCAweGU5NjAsIDAsIHsweDBmLDB4ZjQsMHgwMiwweDdjLDB4MTIsMHhjZiwweDAzLDB4M2YsMHhjMiwweDBlLDB4YjAsMHgwMywweGZjLDB4MDQsMHg5YiwweDAyIH0sCi0gIDE2LCAweGU5NzAsIDAsIHsweDJlLDB4ZjIsMHgwZiwweGE0LDB4MGIsMHhkYywweDAwLDB4Y2UsMHgwMCwweGIwLDB4YzgsMHg4ZiwweGE0LDB4MDMsMHhlZiwweDAwIH0sCi0gIDE2LCAweGU5ODAsIDAsIHsweGY4LDB4ODAsMHgzMiwweGY1LDB4MWYsMHhkZCwweDAzLDB4MmEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU5OTAsIDAsIHsweDgwLDB4MDAsMHhlYywweDQwLDB4ZTksMHgwMCwweDNhLDB4YzAsMHgwZiwweGIxLDB4MDMsMHhjYywweDAwLDB4ZjMsMHgwMCwweDNlIH0sCi0gIDE2LCAweGU5YTAsIDAsIHsweGMwLDB4MGQsMHhiNCwweDA5LDB4ZWMsMHgxOCwweGY5LDB4MTAsMHgzZSwweDEwLDB4NGYsMHhiMSwweDBhLDB4NmMsMHg4MCwweGY5IH0sCi0gIDE2LCAweGU5YjAsIDAsIHsweDg5LDB4MzYsMHg4MiwweDBiLDB4YTYsMHgwMywweGVjLDB4NTAsMHhmOSwweDUwLDB4M2UsMHhjMCwweDFmLDB4OTAsMHgwMywweDYwIH0sCi0gIDE2LCAweGU5YzAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZmMsMHgwMCwweGZkLDB4YTAsMHgzZCwweGMwIH0sCi0gIDE2LCAweGU5ZDAsIDAsIHsweDBjLDB4NzAsMHg4MywweDJjLDB4MDAsMHhlZiwweDAyLDB4MzUsMHhjMCwweDBkLDB4ZTIsMHgwMywweGZjLDB4MDQsMHhmZiwweDAyIH0sCi0gIDE2LCAweGU5ZTAsIDAsIHsweDJkLDB4ZTAsMHg4ZSwweGYwLDB4MDMsMHgzYywweDEwLDB4ZGMsMHgwMCwweDNmLDB4ODAsMHgwYywweGQ4LDB4MDMsMHhmYywweDAwIH0sCi0gIDE2LCAweGU5ZjAsIDAsIHsweGRlLDB4MTgsMHgzMywweGYwLDB4NGYsMHhkMCwweDAzLDB4YzAsMHg0NCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVhMDAsIDAsIHsweDgxLDB4MDAsMHg2YywweDAwLDB4YjksMHgwMCwweDJlLDB4YzAsMHg0YywweGIwLDB4MDMsMHg2YywweDAwLDB4OGIsMHgwMiwweDM2IH0sCi0gIDE2LCAweGVhMTAsIDAsIHsweGMwLDB4MGQsMHhhYywweDEyLDB4ZWMsMHgwMCwweDc5LDB4MDAsMHgyZSwweDMwLDB4MGQsMHgzZCwweDQyLDB4YWMsMHgwMCwweDg5IH0sCi0gIDE2LCAweGVhMjAsIDAsIHsweDg4LDB4MWEsMHgxMCwweDBkLDB4ODYsMHgwMiwweGVlLDB4MDQsMHhiYiwweDQwLDB4MjIsMHhlMCwweDBiLDB4OTAsMHgwMiwweGUwIH0sCi0gIDE2LCAweGVhMzAsIDAsIHsweDQwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MmMsMHgwMSwweGI5LDB4MDAsMHgyZSwweGMwIH0sCi0gIDE2LCAweGVhNDAsIDAsIHsweDA4LDB4YjAsMHg0MiwweGFjLDB4MDAsMHgwYiwweDA1LDB4MjYsMHhjMCwweDA5LDB4OTQsMHgyMCwweGVjLDB4MDAsMHhiOSwweDgwIH0sCi0gIDE2LCAweGVhNTAsIDAsIHsweDZlLDB4YzQsMHg4OCwweGIwLDB4ODIsMHgyYywweDAwLDB4OWIsMHg4MiwweDJlLDB4NDIsMHgwOCwweDgxLDB4MDIsMHhlNCwweDgwIH0sCi0gIDE2LCAweGVhNjAsIDAsIHsweGI4LDB4MDAsMHgyMiwweGMxLDB4MGIsMHg5MCwweDAyLDB4ZTAsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVhNzAsIDAsIHsweDA4LDB4MDQsMHgwYywweDEwLDB4YjEsMHgyNSwweDJjLDB4Y2EsMHgwOCwweDM0LDB4NDYsMHhjYywweDA4LDB4ODMsMHgwMCwweDI0IH0sCi0gIDE2LCAweGVhODAsIDAsIHsweGMyLDB4MGIsMHgwMiwweDUyLDB4Y2MsMHg4MSwweDgzLDB4MDAsMHgyYywweDAwLDB4MTksMHhiMiwweDQyLDB4YWMsMHg4MCwweDgxIH0sCi0gIDE2LCAweGVhOTAsIDAsIHsweDA4LDB4MjgsMHg4MCwweDA5LDB4MDAsMHgwMiwweGM0LDB4NDAsMHhiMSwweDAwLDB4MjAsMHhjMCwweDBiLDB4MTAsMHgwMiwweGMyIH0sCi0gIDE2LCAweGVhYTAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4NmMsMHgwMCwweGI5LDB4MDAsMHgzZiwweGQwIH0sCi0gIDE2LCAweGVhYjAsIDAsIHsweDA4LDB4ZjYsMHgwNywweGJjLDB4YzIsMHhhZiwweDMwLDB4NzUsMHhkYywweDBkLDB4MTYsMHgwMiwweGZjLDB4ZTAsMHhiOSwweDUwIH0sCi0gIDE2LCAweGVhYzAsIDAsIHsweDNlLDB4Y2MsMHgwYywweGIwLDB4MjMsMHgyYywweDEwLDB4ZDksMHgwMCwweDNlLDB4MDAsMHgwYywweDkwLDB4MDMsMHhlYywweDAwIH0sCi0gIDE2LCAweGVhZDAsIDAsIHsweGRlLDB4MDEsMHgzMiwweGMwLDB4MGYsMHg5MCwweDAzLDB4YzAsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVhZTAsIDAsIHsweGEwLDB4MTksMHhmYywweDAwLDB4ZmQsMHgxMCwweDNmLDB4Y2EsMHgyZSwweGY2LDB4MDMsMHg2ZCwweDk0LDB4OWYsMHgzMCwweDNhIH0sCi0gIDE2LCAweGVhZjAsIDAsIHsweGM5LDB4MGMsMHg4MywweDkzLDB4ZmMsMHg4MCwweGZmLDB4MTEsMHg3ZSwweDE5LDB4MGIsMHhiMSwweDAzLDB4ZmMsMHg0MCwweGZkIH0sCi0gIDE2LCAweGViMDAsIDAsIHsweDA4LDB4M2IsMHgwMCwweDBmLDB4YzAsMHgwMywweGZjLDB4ODAsMHg3NywweDAwLDB4YmYsMHhjMCwweDBmLDB4NTAsMHgwMywweGU4IH0sCi0gIDE2LCAweGViMTAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAxLDB4ZmMsMHgwMCwweGY0LDB4OTQsMHgzNywweGM4IH0sCi0gIDE2LCAweGViMjAsIDAsIHsweDBkLDB4NjksMHg2MywweDdjLDB4MTAsMHhmZiwweDYyLDB4MzcsMHhjMCwweDBkLDB4YjQsMHgwMywweDdjLDB4NjAsMHhkNCwweDgwIH0sCi0gIDE2LCAweGViMzAsIDAsIHsweDNmLDB4NDAsMHgwZiwweDQ4LDB4MjMsMHgzMiwweDAwLDB4Y2UsMHgwMCwweGJmLDB4NDAsMHg4ZiwweGQxLDB4MDMsMHgzMCwweGUwIH0sCi0gIDE2LCAweGViNDAsIDAsIHsweGZmLDB4MzAsMHgzYiwweDYwLDB4MGYsMHhkOCwweDAzLDB4YjAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGViNTAsIDAsIHsweDgwLDB4MTAsMHhlZCwweDIwLDB4YjgsMHgyNCwweDIzLDB4ZjQsMHg0OSwweGEyLDB4MDIsMHgzZiwweDQwLDB4OGYsMHg1MSwweDIzIH0sCi0gIDE2LCAweGViNjAsIDAsIHsweGRhLDB4MDgsMHhmNiwweDEyLDB4M2QsMHg4MCwweDliLDB4ODAsMHgyZSwweDQ5LDB4NGIsMHg4MCwweDAzLDB4NDAsMHgwMCwweGQ5IH0sCi0gIDE2LCAweGViNzAsIDAsIHsweDAxLDB4MjIsMHg3NCwweDBiLDB4ZDUsMHgwMiwweDIxLDB4MDAsMHhiZiwweDQyLDB4MmUsMHg0OSwweDBiLDB4OWMsMHgwMiwweGUwIH0sCi0gIDE2LCAweGViODAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4Y2QsMHg4MCwweGI4LDB4MjAsMHgyOCwweGMxIH0sCi0gIDE2LCAweGViOTAsIDAsIHsweDFiLDB4YTAsMHgwMiwweDRjLDB4MDAsMHg5MywweDIwLDB4MmMsMHhkOCwweDBiLDB4MzQsMHgwMiwweGNjLDB4MDAsMHg5MCwweDAxIH0sCi0gIDE2LCAweGViYTAsIDAsIHsweDJjLDB4YzYsMHgxYSwweGEwLDB4MDIsMHg2OCwweDA4LDB4ODMsMHgwMCwweGE0LDB4NDAsMHgwYiwweDEwLDB4MDIsMHgwMCwweDAwIH0sCi0gIDE2LCAweGViYjAsIDAsIHsweGIzLDB4MTAsMHgyOCwweDQyLDB4MGIsMHgxNCwweDAyLDB4YTIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGViYzAsIDAsIHsweGMwLDB4MTUsMHhhYywweDAwLDB4YjgsMHg2MCwweDJhLDB4YzAsMHgxYiwweGEwLDB4OGUsMHhhYywweDAxLDB4OWIsMHgwNSwweDI2IH0sCi0gIDE2LCAweGViZDAsIDAsIHsweGMwLDB4MDMsMHhiMCwweDQyLDB4NmMsMHgwMCwweDliLDB4ODAsMHgyZSwweGMwLDB4MDMsMHhhMCwweDA2LDB4NjksMHgwMCwweDk5IH0sCi0gIDE2LCAweGViZTAsIDAsIHsweDgwLDB4YWEsMHhjMCwweDBiLDB4OTAsMHgwMiwweDYzLDB4MDAsMHgzYiwweDAwLDB4MmUsMHg1OCwweDRiLDB4OTAsMHgwMiwweGYwIH0sCi0gIDE2LCAweGViZjAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDExLDB4ZWMsMHgwNCwweGY4LDB4ODAsMHhiYSwweGMwIH0sCi0gIDE2LCAweGVjMDAsIDAsIHsweDBmLDB4MzAsMHgwMywweDZjLDB4MTAsMHhkYiwweDAzLDB4MzYsMHhjMCwweDhmLDB4YjAsMHgwMywweGVjLDB4MDgsMHhkOCwweDgwIH0sCi0gIDE2LCAweGVjMTAsIDAsIHsweDdlLDB4ZTAsMHgwNiwweDg4LDB4MDMsMHg0MSwweDA4LDB4Y2IsMHhhMCwweDNlLDB4NjQsMHgwZiwweDkwLDB4MGIsMHgyYSwweDAwIH0sCi0gIDE2LCAweGVjMjAsIDAsIHsweDdiLDB4MDAsMHgzYSwweDAxLDB4MGYsMHg5MCwweDAzLDB4OTAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVjMzAsIDAsIHsweGUwLDB4MDEsMHhiYywweDAwLDB4ZmMsMHg4NCwweDMyLDB4YzAsMHgwYywweGY5LDB4MDMsMHg1YywweDEwLDB4ZWYsMHgwMCwweDNiIH0sCi0gIDE2LCAweGVjNDAsIDAsIHsweGMwLDB4MGMsMHg3MCwweDAzLDB4OWMsMHgwMCwweGVjLDB4MDEsMHgzZiwweGU0LDB4NGYsMHhkMSwweDAzLDB4ZjEsMHgwMCwweGYzIH0sCi0gIDE2LCAweGVjNTAsIDAsIHsweDA1LDB4MzMsMHg2MCwweDBmLDB4ZDAsMHgwMywweGJjLDB4MDQsMHhmZiwweDAwLDB4M2YsMHgyMSwweDBmLDB4ZDAsMHgwMywweGY4IH0sCi0gIDE2LCAweGVjNjAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YWMsMHgwMCwweGM4LDB4NDAsMHgzYSwweGM2IH0sCi0gIDE2LCAweGVjNzAsIDAsIHsweDBkLDB4YjQsMHgwMywweDZjLDB4MDAsMHhmMywweDAwLDB4MzQsMHhjMCwweDBlLDB4YjAsMHgwMywweDZjLDB4MDAsMHhlOSwweDEwIH0sCi0gIDE2LCAweGVjODAsIDAsIHsweDNhLDB4YzAsMHgwZiwweDg0LDB4MDMsMHgyYywweDYwLDB4Y2IsMHgwMCwweDMyLDB4NjAsMHgwYywweDUwLDB4MDMsMHg2MSwweDAwIH0sCi0gIDE2LCAweGVjOTAsIDAsIHsweGNiLDB4MDAsMHgzZSwweDkwLDB4MGUsMHg5MCwweGEzLDB4OTAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVjYTAsIDAsIHsweGM4LDB4MDUsMHgzYywweDAyLDB4ODgsMHgwMSwweDAxLDB4ZjAsMHgyMCwweGIwLDB4MDEsMHgzZSwweDAwLDB4M2YsMHgwMCwweDMzIH0sCi0gIDE2LCAweGVjYjAsIDAsIHsweGMwLDB4MGIsMHhmMCwweDMyLDB4M2MsMHgwOCwweDg5LDB4ODAsMHgyMiwweGMwLDB4MDEsMHgxNSwweDEyLDB4YWMsMHgwMCwweDhiIH0sCi0gIDE2LCAweGVjYzAsIDAsIHsweDAwLDB4MjIsMHhjMCwweDQ4LDB4ZGIsMHgwMiwweDJmLDB4NDAsMHg4ZiwweDAwLDB4MmUsMHgwMSwweDA4LDB4ZDQsMHg4MCwweDMyIH0sCi0gIDE2LCAweGVjZDAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NGMsMHgwMCwweDA4LDB4MDAsMHgwOCwweGYwIH0sCi0gIDE2LCAweGVjZTAsIDAsIHsweDA4LDB4MDAsMHgxMiwweDRjLDB4MDAsMHgzMywweDAxLDB4MjQsMHhjMCwweDRhLDB4MzAsMHgwMiwweDRjLDB4MDAsMHhhMCwweDIwIH0sCi0gIDE2LCAweGVjZjAsIDAsIHsweDI4LDB4YzAsMHgwYiwweDEwLDB4MDIsMHg0NiwweDA0LDB4ODMsMHgwNCwweDIwLDB4YzAsMHgyOSwweDE4LDB4MDIsMHgwNCwweDQwIH0sCi0gIDE2LCAweGVkMDAsIDAsIHsweGIzLDB4MDAsMHgyYywweDQwLDB4MGEsMHgxYywweDQyLDB4YjEsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVkMTAsIDAsIHsweDIwLDB4MDEsMHgxZSwweDAxLDB4OGQsMHg4MCwweDIxLDB4ZTAsMHgxOCwweGM4LDB4MDIsMHgxZSwweDAwLDB4YjMsMHhhMCwweDIxIH0sCi0gIDE2LCAweGVkMjAsIDAsIHsweGUwLDB4MWIsMHgzOCwweDAyLDB4MGUsMHgwMSwweGE3LDB4ODAsMHgyMSwweGUwLDB4MDksMHhkOCwweDQwLDB4ZDYsMHg0MCwweDg3IH0sCi0gIDE2LCAweGVkMzAsIDAsIHsweDgwLDB4MDEsMHhlMCwweDA5LDB4NTksMHgwMiwweDE2LDB4MDAsMHg5NywweDg0LDB4MmQsMHg2MCwweDA4LDB4NTgsMHg0MCwweDAwIH0sCi0gIDE2LCAweGVkNDAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MmMsMHg0MCwweGMwLDB4MDAsMHgzOCwweGM0IH0sCi0gIDE2LCAweGVkNTAsIDAsIHsweDBjLDB4MzAsMHgyNywweDRjLDB4MjAsMHhmMywweDAxLDB4MzQsMHhjMSwweDBlLDB4M2EsMHgwMywweDRjLDB4YzQsMHhlMCwweDAwIH0sCi0gIDE2LCAweGVkNjAsIDAsIHsweDE4LDB4YzgsMHgwZiwweDM0LDB4MDMsMHg0NCwweDQwLDB4YzMsMHgwMCwweDMwLDB4YzAsMHgwZCwweDkwLDB4MDMsMHgyZSwweDAwIH0sCi0gIDE2LCAweGVkNzAsIDAsIHsweGYzLDB4MDAsMHgzZSwweDQwLDB4MGUsMHgxMCwweDAxLDB4OWEsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVkODAsIDAsIHsweDQwLDB4MWQsMHhiYywweDAwLDB4ZjksMHgwMCwweDBlLDB4ZDQsMHgwZSwweGIwLDB4MDMsMHhlYywweDIwLDB4ZmIsMHgyMCwweDNmIH0sCi0gIDE2LCAweGVkOTAsIDAsIHsweGM0LDB4MGYsMHhmMSwweDAzLDB4ZWMsMHg2MCwweGRiLDB4MTAsMHgzZiwweGMwLDB4NGYsMHhmMCwweDAzLDB4YTQsMHg0NiwweGZiIH0sCi0gIDE2LCAweGVkYTAsIDAsIHsweDAwLDB4YmQsMHhjMCwweDBlLDB4ZDAsMHgwYiwweGI0LDB4MDAsMHhlZiwweDQ4LDB4M2YsMHg0MCwweDBmLDB4NTAsMHgwMywweGQwIH0sCi0gIDE2LCAweGVkYjAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZWMsMHgwMCwweGY4LDB4MDAsMHgzMiwweGQ0IH0sCi0gIDE2LCAweGVkYzAsIDAsIHsweDBmLDB4ODAsMHgwMywweGFkLDB4MDAsMHhlYiwweDA4LDB4MjIsMHhkMiwweDBjLDB4YjYsMHgwMywweDZjLDB4MDAsMHhmMiwweDgwIH0sCi0gIDE2LCAweGVkZDAsIDAsIHsweDM2LDB4YzAsMHgwZSwweGEwLDB4MDMsMHgyOCwweDEwLDB4Y2IsMHgwMCwweGIyLDB4YzAsMHgwZiwweGQ2LDB4MDMsMHgyOCwweDEwIH0sCi0gIDE2LCAweGVkZTAsIDAsIHsweGZiLDB4MjAsMHgzZSwweDQwLDB4NGYsMHg5OSwweDEzLDB4MmIsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVkZjAsIDAsIHsweDQ4LDB4MTEsMHg5ZCwweDEwLDB4YjQsMHgwMSwweDIxLDB4YzEsMHg4YiwweGMwLDB4MDIsMHgxYywweGEwLDB4YmYsMHgwNCwweDI3IH0sCi0gIDE2LCAweGVlMDAsIDAsIHsweGM4LDB4MDgsMHg3NSwweDAyLDB4MWMsMHhjMCwweGI2LDB4MDAsMHgyMSwweGMwLDB4MDgsMHhmMCwweDQyLDB4MTgsMHgxMCwweDhmIH0sCi0gIDE2LCAweGVlMTAsIDAsIHsweDAwLDB4MjEsMHhjMCwweDBiLDB4NTQsMHhhMiwweDFjLDB4MDAsMHhiNywweDA0LDB4MmQsMHg0MSwweDBiLDB4NTIsMHgwMiwweDEyIH0sCi0gIDE2LCAweGVlMjAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4OWUsMHg4MCwweGI2LDB4ODgsMHhhNSwweGUwIH0sCi0gIDE2LCAweGVlMzAsIDAsIHsweDBiLDB4NzgsMHgxMiwweDllLDB4ODEsMHhhNywweDkwLDB4MjUsMHhlNCwweDg4LDB4NzgsMHgwMiwweDFlLDB4ODAsMHhiZiwweDgwIH0sCi0gIDE2LCAweGVlNDAsIDAsIHsweDI0LDB4NjAsMHgwYiwweDY4LDB4MDIsMHgxZSwweDAwLDB4ODcsMHg4NCwweDYxLDB4ZTAsMHgwYSwweDFhLDB4MGEsMHgxYSwweDAwIH0sCi0gIDE2LCAweGVlNTAsIDAsIHsweGI3LDB4YTAsMHgyZCwweGUwLDB4MGIsMHhkYSwweDAyLDB4MzAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVlNjAsIDAsIHsweDQ4LDB4MTQsMHhjYywweDAwLDB4YmEsMHhjMCwweGE0LDB4YzAsMHgwYiwweDM0LDB4MDIsMHgwYywweDAwLDB4YjMsMHgwMCwweDI0IH0sCi0gIDE2LCAweGVlNzAsIDAsIHsweGMwLDB4MDgsMHhiMCwweDBlLDB4MmMsMHgwMCwweGIzLDB4OTgsMHgyMCwweDYwLDB4MDksMHgzMywweDAyLDB4MmMsMHgwMCwweGEzIH0sCi0gIDE2LCAweGVlODAsIDAsIHsweGM4LDB4MjAsMHhjMCwweDBiLDB4MTAsMHgwMiwweDBjLDB4MDAsMHhiMywweDAwLDB4MmMsMHhmMCwweDBiLDB4MTAsMHgwMiwweDEyIH0sCi0gIDE2LCAweGVlOTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YTgsMHgwMCwweGZlLDB4ODAsMHgzNiwweDgxIH0sCi0gIDE2LCAweGVlYTAsIDAsIHsweDBiLDB4ZTAsMHgwMywweGE4LDB4MDAsMHhlYSwweDAwLDB4YjIsMHg4MCwweDA4LDB4YTAsMHgwMywweDY4LDB4MDAsMHhmZSwweDAwIH0sCi0gIDE2LCAweGVlYjAsIDAsIHsweDM2LDB4YTAsMHgxZiwweGU4LDB4MTMsMHgzYiwweDgyLDB4Y2UsMHhlMCwweDIyLDB4ODAsMHg4ZSwweGEwLDB4MDMsMHgzOCwweDAwIH0sCi0gIDE2LCAweGVlYzAsIDAsIHsweGJhLDB4MDAsMHgzZiwweGEyLDB4MGYsMHhhMCwweDAzLDB4M2EsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVlZDAsIDAsIHsweDQ4LDB4MDAsMHhlMCwweDAwLDB4ZjgsMHgyMCwweDNhLDB4MTAsMHgwNywweDgwLDB4MDMsMHhjMSwweDAwLDB4ZjgsMHgwMCwweDM4IH0sCi0gIDE2LCAweGVlZTAsIDAsIHsweDAwLDB4MmYsMHg4MCwweDAzLDB4YTAsMHgwMSwweGY4LDB4NDIsMHgzZSwweDA1LDB4MGUsMHg4MCwweDBiLDB4ZTAsMHg4MCwweGQ4IH0sCi0gIDE2LCAweGVlZjAsIDAsIHsweDAwLDB4M2UsMHgwMCwweDBmLDB4ODQsMHgwMywweGUxLDB4MDAsMHhmOCwweDAwLDB4M2UsMHgwMCwweDBmLDB4ODQsMHgwYiwweGQyIH0sCi0gIDE2LCAweGVmMDAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTQsMHgwMCwweGM5LDB4MDAsMHgzYSwweDUwIH0sCi0gIDE2LCAweGVmMTAsIDAsIHsweDhmLDB4OTAsMHg4MywweGE0LDB4MDIsMHhkMSwweDAwLDB4YjIsMHg0MCwweDRjLDB4OTAsMHgyMywweDI0LDB4MDgsMHhjOSwweDAxIH0sCi0gIDE2LCAweGVmMjAsIDAsIHsweDNlLDB4NDAsMHgwYywweDkwLDB4MDMsMHgyNCwweDAwLDB4YzEsMHgwMCwweDMyLDB4NDAsMHgwZiwweDE0LDB4MGEsMHgyNSwweDIwIH0sCi0gIDE2LCAweGVmMzAsIDAsIHsweGU5LDB4MDAsMHgzZSwweDQyLDB4MGYsMHg5MCwweDAzLDB4YzIsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVmNDAsIDAsIHsweDgwLDB4MDQsMHg2NCwweDBhLDB4ODksMHgwMCwweDIyLDB4NzAsMHgwYiwweDkwLDB4MTIsMHgyNSwweDgwLDB4YzksMHgwMCwweDIyIH0sCi0gIDE2LCAweGVmNTAsIDAsIHsweDQwLDB4MGEsMHg5MCwweDAzLDB4NjQsMHgwMCwweDg5LDB4MjAsMHgyYywweDQwLDB4MGEsMHg5MCwweDBhLDB4MjQsMHgwMCwweDg5IH0sCi0gIDE2LCAweGVmNjAsIDAsIHsweGMxLDB4MzIsMHg0MCwweDBiLDB4OTgsMHgwMiwweDA2LDB4MDAsMHg4OSwweDkwLDB4MmUsMHg0MCwweDBiLDB4OTQsMHgxMiwweGUwIH0sCi0gIDE2LCAweGVmNzAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDAxLDB4MDQsMHgwMCwweDg5LDB4MDAsMHg2YSwweDQyIH0sCi0gIDE2LCAweGVmODAsIDAsIHsweDBhLDB4MTAsMHgwMiwweGE0LDB4MDAsMHg4OSwweDAwLDB4YTIsMHg0MCwweDBhLDB4OTAsMHgwMiwweDI0LDB4MDAsMHgwOSwweDAwIH0sCi0gIDE2LCAweGVmOTAsIDAsIHsweDJlLDB4NDAsMHg1OCwweDEwLDB4MDIsMHgyNCwweDAwLDB4ODksMHg4MCwweGFhLDB4NjAsMHgwYiwweDkwLDB4MDIsMHhhNCwweDA0IH0sCi0gIDE2LCAweGVmYTAsIDAsIHsweGE5LDB4MDAsMHgyZSwweDQwLDB4MGIsMHg5NCwweDAyLDB4YzYsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVmYjAsIDAsIHsweDA4LDB4MDQsMHgwNCwweDgwLDB4ODEsMHgwMCwweDYwLDB4NDgsMHgwYiwweDEwLDB4MDIsMHgwNCwweDgxLDB4ODEsMHgyMCwweDYwIH0sCi0gIDE2LCAweGVmYzAsIDAsIHsweDQ4LDB4MGEsMHgxMiwweDAyLDB4NDQsMHg4OCwweDgxLDB4MDAsMHgwZSwweDU5LDB4MGEsMHgxNCwweDAyLDB4MDUsMHgwMCwweDgxIH0sCi0gIDE2LCAweGVmZDAsIDAsIHsweGMwLDB4MjgsMHg1MCwweDQ5LDB4MzAsMHgwMiwweDhjLDB4ODQsMHgwMSwweDYwLDB4MmMsMHg1MCwweDBiLDB4MTAsMHgwMiwweGMyIH0sCi0gIDE2LCAweGVmZTAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjEsMHg0MCwweGMwLDB4NTQsMHgyYSwweDAwIH0sCi0gIDE2LCAweGVmZjAsIDAsIHsweDBlLDB4ODUsMHgwMywweGEwLDB4MDAsMHhjOCwweDUwLDB4MzIsMHgxNSwweDFlLDB4MDUsMHgyMiwweDIxLDB4NDIsMHhjOCwweDAwIH0sCi0gIDE2LCAweGYwMDAsIDAsIHsweDNlLDB4MDAsMHgwYywweDgwLDB4MDMsMHgwMCwweDA0LDB4YzgsMHgwMCwweDNhLDB4MDAsMHg0ZiwweDg1LDB4MDMsMHhhMSwweDQwIH0sCi0gIDE2LCAweGYwMTAsIDAsIHsweDY4LDB4MDAsMHgzZSwweDAwLDB4MGYsMHg4MCwweDAzLDB4ZWUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYwMjAsIDAsIHsweDk4LDB4MWQsMHhlNCwweDQwLDB4ZmQsMHgwMywweDNlLDB4NDQsMHgwZiwweGQwLDB4MDMsMHhlNCwweDQ4LDB4ZTksMHgxMCwweDNlIH0sCi0gIDE2LCAweGYwMzAsIDAsIHsweDQ1LDB4MGYsMHg5MSwweDEzLDB4ZTQsMHg0MCwweGZkLDB4MDAsMHgzZiwweDQ0LDB4MGYsMHhkMCwweDAzLDB4ZjQsMHgwMiwweGZkIH0sCi0gIDE2LCAweGYwNDAsIDAsIHsweDQwLDB4MzMsMHg1MCwweDBmLDB4ZDQsMHgyMywweDc0LDB4NDAsMHhmOSwweDEwLDB4M2YsMHg0MCwweDBmLDB4NTQsMHgwMywweGU2IH0sCi0gIDE2LCAweGYwNTAsIDAsIHsweDAyLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4ZTQsMHgwMCwweGY5LDB4MDEsMHgzMywweDZhIH0sCi0gIDE2LCAweGYwNjAsIDAsIHsweDA5LDB4OTAsMHgwMywweGI2LDB4MzQsMHhmOSwweGM4LDB4MzIsMHg2NCwweDBjLDB4OWEsMHgwMywweGU2LDB4YTAsMHhkZCwweDAwIH0sCi0gIDE2LCAweGYwNzAsIDAsIHsweDNjLDB4NzAsMHgwZiwweDkwLDB4MDMsMHhhNSwweDAwLDB4ODksMHg4MCwweDMzLDB4MzIsMHgwZiwweGQ4LDB4MTMsMHgzYywweDAwIH0sCi0gIDE2LCAweGYwODAsIDAsIHsweGZkLDB4MDAsMHg3MCwweDUwLDB4MGYsMHhkMCwweDAzLDB4MDYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYwOTAsIDAsIHsweDM4LDB4MTAsMHhlMiwweDgwLDB4YjgsMHhhOCwweDIyLDB4MTAsMHgwOCwweDg4LDB4MDIsMHgyMSwweDAwLDB4YjgsMHhjMCwweDIwIH0sCi0gIDE2LCAweGYwYTAsIDAsIHsweDMwLDB4MGQsMHg4ZSwweDg3LDB4ODMsMHg4OCwweDg4LDB4MDAsMHgyZSwweDM0LDB4MGIsMHg4YSwweDgyLDB4MjIsMHg4MCwweGRjIH0sCi0gIDE2LCAweGYwYjAsIDAsIHsweGUwLDB4MjIsMHgzOCwweDBiLDB4ODAsMHgwMiwweDIwLDB4MDAsMHhmOCwweGE4LDB4MmEsMHgyOCwweDBiLDB4ODAsMHgwMiwweDBlIH0sCi0gIDE2LCAweGYwYzAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4YzQsMHgyMCwweGIxLDB4MDAsMHgyMCwweDQwIH0sCi0gIDE2LCAweGYwZDAsIDAsIHsweDBhLDB4OTIsMHg5MiwweDg0LDB4MTEsMHhiMSwweDI0LDB4NjgsMHg1OCwweDA5LDB4MTEsMHgwMiwweGM0LDB4MjAsMHg5MSwweDAxIH0sCi0gIDE2LCAweGYwZTAsIDAsIHsweDJjLDB4NDgsMHgxYiwweDUwLDB4MDIsMHg3NCwweDg0LDB4OTUsMHg0OCwweGFjLDB4NDgsMHgwYiwweDk0LDB4MDIsMHgwNCwweDA0IH0sCi0gIDE2LCAweGYwZjAsIDAsIHsweGIxLDB4MDIsMHgyNCwweDQ4LDB4MGIsMHgxMCwweDAyLDB4MDIsMHgwNSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYxMDAsIDAsIHsweDE4LDB4MTEsMHhhNCwweDAwLDB4YjEsMHgyMCwweDIyLDB4NDAsMHgwYSwweDkwLDB4MDYsMHgyYywweDAxLDB4YjksMHgwMCwweDJhIH0sCi0gIDE2LCAweGYxMTAsIDAsIHsweDQwLDB4MDksMHg5MCwweDAyLDB4YTQsMHgwMCwweDliLDB4MDgsMHgyZSwweDQ4LDB4MGIsMHgxMiwweDFhLDB4NzQsMHgwMCwweDk1IH0sCi0gIDE2LCAweGYxMjAsIDAsIHsweDQ1LDB4MmUsMHg2MCwweDAzLDB4OTAsMHgwMiwweDI0LDB4MDAsMHhiOSwweDAwLDB4MmUsMHg0MCwweDBiLDB4OTAsMHgwMiwweDA2IH0sCi0gIDE2LCAweGYxMzAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4ZTQsMHgwMCwweGY5LDB4ODAsMHgzMCwweDQwIH0sCi0gIDE2LCAweGYxNDAsIDAsIHsweDBlLDB4MTYsMHgwMywweGE0LDB4MDAsMHhiOSwweDA0LDB4MzIsMHg0MCwweDBkLDB4OTAsMHgwMiwweGU0LDB4MDAsMHhkOSwweDQwIH0sCi0gIDE2LCAweGYxNTAsIDAsIHsweDJlLDB4NDAsMHgxZiwweDk4LDB4MDMsMHhlNSwweDgwLDB4ZDksMHgwMCwweGFlLDB4NjAsMHgwNywweDEwLDB4MGIsMHgyNiwweDAxIH0sCi0gIDE2LCAweGYxNjAsIDAsIHsweGI5LDB4MDAsMHhhNiwweDQwLDB4MGYsMHg5MCwweDBiLDB4MjgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYxNzAsIDAsIHsweDI4LDB4MDEsMHhhNCwweDAwLDB4ZjksMHgwMCwweGJlLDB4NDAsMHhhYywweDkyLDB4MDMsMHhlNCwweDAwLDB4ZjksMHgwMCwweGI0IH0sCi0gIDE2LCAweGYxODAsIDAsIHsweDQwLDB4MGYsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGU5LDB4MDAsMHgzZSwweDYwLDB4MGYsMHg5MCwweDAzLDB4YTQsMHg4MCwweGY5IH0sCi0gIDE2LCAweGYxOTAsIDAsIHsweDAwLDB4MzIsMHgwMCwweDBmLDB4OTAsMHg4MywweGU2LDB4ODUsMHhlMSwweDAwLDB4MzIsMHg0NCwweDBmLDB4MTAsMHgwMywweGNhIH0sCi0gIDE2LCAweGYxYTAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTAsMHgwMCwweGY4LDB4MDAsMHgzMiwweDAwIH0sCi0gIDE2LCAweGYxYjAsIDAsIHsweDBmLDB4ODAsMHgxMywweGUwLDB4OTQsMHhlMCwweDAwLDB4MzIsMHgwMCwweDBjLDB4ODAsMHgwMywweDYwLDB4MDAsMHhjOCwweDAwIH0sCi0gIDE2LCAweGYxYzAsIDAsIHsweDNlLDB4MDAsMHgwZCwweDgwLDB4NDMsMHgyMCwweDA4LDB4ZjgsMHgwMCwweDMyLDB4MDAsMHgwZiwweDgwLDB4MDMsMHhlMCwweDQwIH0sCi0gIDE2LCAweGYxZDAsIDAsIHsweGY4LDB4MDAsMHgzMiwweDAwLDB4NGMsMHg4MCwweDIzLDB4Y2EsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYxZTAsIDAsIHsweDI4LDB4MDUsMHgyOCwweDAwLDB4YmEsMHgwMCwweDIzLDB4ODAsMHgwYiwweGEwLDB4MDIsMHhmYiwweDA0LDB4NmEsMHgwMCwweDIyIH0sCi0gIDE2LCAweGYxZjAsIDAsIHsweDgwLDB4MGEsMHhhMCwweDAzLDB4NjgsMHgwYSwweDhlLDB4ODgsMHgzYSwweDgwLDB4MDgsMHhhMCwweDAyLDB4MDgsMHgwMCwweGJhIH0sCi0gIDE2LCAweGYyMDAsIDAsIHsweDAwLDB4YjcsMHgyMiwweDAzLDB4ZTQsMHgwMiwweGZhLDB4MDAsMHg4YSwweDAwLDB4MjIsMHg4MCwweDA4LDB4ZTgsMHgwMiwweGNhIH0sCi0gIDE2LCAweGYyMTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NGMsMHgwMCwweGIzLDB4MDAsMHg2MCwweDQxIH0sCi0gIDE2LCAweGYyMjAsIDAsIHsweDAzLDB4MzAsMHgwMiwweGNjLDB4NDEsMHhhMywweDAwLDB4MDQsMHhjMCwweDBiLDB4MzAsMHgwMiwweDJjLDB4MDAsMHhhMywweDgwIH0sCi0gIDE2LCAweGYyMzAsIDAsIHsweDJjLDB4YzAsMHgwOSwweDM4LDB4MDIsMHgwYywweDAwLDB4YjMsMHgwMCwweGEwLDB4YzAsMHgwYiwweDM0LDB4MDIsMHhjYywweDgwIH0sCi0gIDE2LCAweGYyNDAsIDAsIHsweGExLDB4MDAsMHgyMCwweGMwLDB4MDgsMHgzOCwweDAyLDB4Y2EsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYyNTAsIDAsIHsweGEwLDB4MDEsMHgxYywweDQwLDB4YjcsMHgwMCwweDYxLDB4MDAsMHgwYiwweDcxLDB4MDIsMHhkYywweDAwLDB4YTMsMHgwMCwweDI1IH0sCi0gIDE2LCAweGYyNjAsIDAsIHsweGM4LDB4MTksMHgzOCwweDAyLDB4NWMsMHg4MCwweGE3LDB4MDAsMHgwZiwweGU4LDB4MDksMHg2NCwweDIyLDB4MTAsMHgwMCwweGIzIH0sCi0gIDE2LCAweGYyNzAsIDAsIHsweDAwLDB4MjUsMHhjOCwweDBiLDB4NjAsMHgwMiwweGYyLDB4MDAsMHg4NSwweDAxLDB4MjMsMHhlOCwweDA4LDB4NzAsMHg4MiwweGU4IH0sCi0gIDE2LCAweGYyODAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MWUsMHgyMCwweGZmLDB4ODAsMHhhMSwweGEwIH0sCi0gIDE2LCAweGYyOTAsIDAsIHsweDBmLDB4N2EsMHg0MiwweGRhLDB4MDAsMHhlNywweGU4LDB4MzUsMHhmMCwweDJmLDB4N2IsMHg2MiwweDFlLDB4ODIsMHhlNiwweDgwIH0sCi0gIDE2LCAweGYyYTAsIDAsIHsweDFkLDB4ZTAsMHgwZCwweGY4LDB4MGIsMHgxZSwweDAwLDB4ZjcsMHg4MCwweDMxLDB4ZjAsMHgwZiwweDc4LDB4MDMsMHhkZSwweDBjIH0sCi0gIDE2LCAweGYyYjAsIDAsIHsweGVmLDB4ODAsMHgzMSwweGY4LDB4MmMsMHg3OCwweDAzLDB4ZWEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYyYzAsIDAsIHsweDA4LDB4MWQsMHhhZCwweDg0LDB4ZmIsMHg2OCwweDNlLDB4MDAsMHgwZiwweGIwLDB4MDMsMHhlOCwweDAwLDB4ZmIsMHgwMCwweGZhIH0sCi0gIDE2LCAweGYyZDAsIDAsIHsweGQ4LDB4MGUsMHhiNSwweDAzLDB4ZWQsMHgwMCwweGRiLDB4MDAsMHgzYSwweGMwLDB4OGUsMHhhMCwweDAzLDB4ZTAsMHgwMCwweGZiIH0sCi0gIDE2LCAweGYyZTAsIDAsIHsweDQwLDB4M2UsMHhjMCwweDBiLDB4YjAsMHg0MywweGM0LDB4MDQsMHhlZiwweDAyLDB4YmYsMHhjMCwweDBmLDB4YjAsMHgwMywweGMyIH0sCi0gIDE2LCAweGYyZjAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZmUsMHg0MiwweGM3LDB4MzgsMHgzMywweDY0IH0sCi0gIDE2LCAweGYzMDAsIDAsIHsweDBlLDB4N2MsMHgwMywweDVlLDB4MDAsMHhkZiwweGEwLDB4MzcsMHhmMCwweDBkLDB4ZjgsMHgwMywweGZmLDB4MjAsMHhjZiwweDgxIH0sCi0gIDE2LCAweGYzMTAsIDAsIHsweDMzLDB4ZTIsMHgwYywweGQ4LDB4MDMsMHhiZSwweDAwLDB4N2YsMHhjMCwweDMzLDB4ZTAsMHgwYywweGY5LDB4MDMsMHg3ZSwweDAwIH0sCi0gIDE2LCAweGYzMjAsIDAsIHsweGZkLDB4ODAsMHgzZiwweGUwLDB4MGYsMHhmOCwweDAzLDB4YzAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYzMzAsIDAsIHsweGE4LDB4MTEsMHg5YywweDAwLDB4ODcsMHhhMCwweDIxLDB4MTQsMHgwOCwweDcxLDB4MDIsMHgxNCwweDEwLDB4ZDcsMHgyMCwweDM1IH0sCi0gIDE2LCAweGYzNDAsIDAsIHsweGMwLDB4MGMsMHg3MCwweDAzLDB4YmMsMHgwMCwweDg1LDB4MDgsMHgyYiwweGMwLDB4NGQsMHg0NiwweDAyLDB4ZDEsMHgwMCwweGI3IH0sCi0gIDE2LCAweGYzNTAsIDAsIHsweDAwLDB4MjEsMHhjMCwweDA4LDB4NjAsMHgwMiwweDA4LDB4ODAsMHhmNSwweDIwLDB4M2QsMHhjYSwweDBmLDB4NTQsMHgwMywweGVhIH0sCi0gIDE2LCAweGYzNjAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OWMsMHgxMSwweDhmLDB4MDEsMHgyMCwweDg0IH0sCi0gIDE2LCAweGYzNzAsIDAsIHsweDFhLDB4ZjAsMHgwMiwweDE4LDB4MDAsMHhhNywweDM0LDB4NjUsMHhjMCwweDA5LDB4NzEsMHgwMiwweGRjLDB4MDAsMHg4ZSwweDAwIH0sCi0gIDE2LCAweGYzODAsIDAsIHsweDI5LDB4YzAsMHgwOCwweDUwLDB4MDYsMHg5YywweDAwLDB4YmYsMHg4OCwweDJkLDB4YzQsMHgwYSwweDYwLDB4MjYsMHg1OCwweDI0IH0sCi0gIDE2LCAweGYzOTAsIDAsIHsweDk3LDB4MDAsMHg2ZCwweGMwLDB4OWIsMHg3MCwweDAyLDB4YzAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYzYTAsIDAsIHsweDIwLDB4MTQsMHhjYywweDAwLDB4OGIsMHg0MCwweDIwLDB4MDAsMHgxOCwweDMwLDB4MDIsMHgwMCwweDAwLDB4YmIsMHgwMiwweDI0IH0sCi0gIDE2LCAweGYzYjAsIDAsIHsweGMwLDB4MDgsMHgzMCwweDIwLDB4Y2MsMHgwMCwweDgxLDB4YzAsMHgyOCwweGMwLDB4MGIsMHgwNCwweDgyLDB4ZTAsMHgxMCwweGJiIH0sCi0gIDE2LCAweGYzYzAsIDAsIHsweGEwLDB4MmMsMHhlMCwweDBhLDB4MjAsMHgwNiwweDAwLDB4MDAsMHhiMywweDAwLDB4MjgsMHhjMCwweDBhLDB4MTAsMHgwMiwweDg4IH0sCi0gIDE2LCAweGYzZDAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YmMsMHgwMCwweGNmLDB4MTAsMHgzMiwweDAwIH0sCi0gIDE2LCAweGYzZTAsIDAsIHsweDBlLDB4ZjAsMHgwYiwweDI0LDB4MDAsMHhlZiwweDAwLDB4MzcsMHhjMCwweDBkLDB4ZjAsMHgwMywweGZjLDB4MDYsMHhjMSwweDUwIH0sCi0gIDE2LCAweGYzZjAsIDAsIHsweDNiLDB4YzAsMHgwYywweGI0LDB4MDMsMHhhYywweDAwLDB4ZjgsMHhjMCwweGJlLDB4YzgsMHgyZSwweGIwLDB4MDMsMHg2ZSwweDAxIH0sCi0gIDE2LCAweGY0MDAsIDAsIHsweGZiLDB4MDAsMHgyZCwweGMwLDB4NGIsMHg5MCwweDAyLDB4ZWEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY0MTAsIDAsIHsweDgwLDB4MDAsMHhlYywweDA0LDB4ZmIsMHgwMCwweDNlLDB4MDAsMHgwZiwweGIwLDB4MDMsMHhhZCwweDAwLDB4OWIsMHgwMCwweDNlIH0sCi0gIDE2LCAweGY0MjAsIDAsIHsweGMwLDB4MGYsMHgzMCwweDAzLDB4YWMsMHgwMCwweGY4LDB4MDAsMHgyZSwweGMwLDB4MDUsMHhiNCwweDAzLDB4ZWQsMHgwMCwweGY4IH0sCi0gIDE2LCAweGY0MzAsIDAsIHsweDQwLDB4MzIsMHhjMCwweDA5LDB4MDAsMHgwMywweGUwLDB4OTEsMHhlMywweDAwLDB4M2UsMHhjMCwweDBmLDB4OTAsMHgxMSwweGUwIH0sCi0gIDE2LCAweGY0NDAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZWMsMHgwMCwweGVmLDB4MDAsMHgzMywweDIwIH0sCi0gIDE2LCAweGY0NTAsIDAsIHsweDRmLDB4ZjAsMHgwMywweGI0LDB4MDAsMHhlZiwweDAzLDB4M2EsMHhjMCwweDBmLDB4ZjAsMHgwMywweDNjLDB4MDAsMHhkYywweDAwIH0sCi0gIDE2LCAweGY0NjAsIDAsIHsweDMxLDB4YzAsMHg4ZCwweGY4LDB4MDMsMHhmZSwweDA0LDB4Y2YsMHgwMCwweDMyLDB4YzgsMHgwYywweGYwLDB4MGIsMHgxYywweDAwIH0sCi0gIDE2LCAweGY0NzAsIDAsIHsweGNmLDB4OTMsMHgzMywweGMwLDB4OGMsMHg0MCwweDAyLDB4MDAsMHg0NCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY0ODAsIDAsIHsweDgxLDB4MDQsMHg2YywweDAwLDB4YmIsMHgwMCwweGEyLDB4MDQsMHgwYiwweDMwLDB4MDIsMHgwZSwweDAwLDB4YWIsMHgwMCwweDJhIH0sCi0gIDE2LCAweGY0OTAsIDAsIHsweGMwLDB4MDksMHhiMCwweDAzLDB4NmMsMHgwOCwweGE4LDB4YzAsMHgzNiwweGMwLDB4MDgsMHhiYywweDAyLDB4ZWYsMHgwMiwweGFiIH0sCi0gIDE2LCAweGY0YTAsIDAsIHsweGQwLDB4MjAsMHhlMCwweDA4LDB4YjgsMHgyMiwweDI2LDB4MTAsMHg4YiwweDAwLDB4MjIsMHhjMCwweDIwLDB4OWMsMHgwMiwweDIwIH0sCi0gIDE2LCAweGY0YjAsIDAsIHsweDQwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MmMsMHgwMCwweGJiLDB4MDAsMHgyNiwweDAwIH0sCi0gIDE2LCAweGY0YzAsIDAsIHsweDBhLDB4YjAsMHgwMiwweGEyLDB4MDgsMHhhYiwweDAwLDB4NmEsMHhjMCwweDBiLDB4YjAsMHgwYSwweDBjLDB4MDAsMHg4YiwweDgwIH0sCi0gIDE2LCAweGY0ZDAsIDAsIHsweDIyLDB4YzAsMHgwOSwweGIxLDB4MDIsMHhlYywweDQwLDB4ODgsMHgwOCwweDIyLDB4YzAsMHgwOCwweGI4LDB4MDIsMHgyNiwweDAwIH0sCi0gIDE2LCAweGY0ZTAsIDAsIHsweDhiLDB4MDAsMHgyMiwweGMwLDB4MDgsMHg5OCwweDAyLDB4YTAsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY0ZjAsIDAsIHsweDA4LDB4MDQsMHgwYywweDAwLDB4YjMsMHgwMCwweDI0LDB4MDAsMHgwYiwweGIwLDB4MDIsMHgwMCwweDAxLDB4ODMsMHgwMCwweDIwIH0sCi0gIDE2LCAweGY1MDAsIDAsIHsweGMwLDB4MDksMHgzMCwweDAyLDB4NGMsMHgwMCwweDAwLDB4MDQsMHgyNCwweGMwLDB4MDgsMHgzMCwweDA2LDB4NGMsMHgwMCwweDgwIH0sCi0gIDE2LCAweGY1MTAsIDAsIHsweDAwLDB4MmMsMHhjMCwweDA4LDB4MDAsMHgwMiwweDAwLDB4NDEsMHg4MywweDAwLDB4YTIsMHhjMCwweDA4LDB4MTAsMHgwYSwweDgyIH0sCi0gIDE2LCAweGY1MjAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4N2MsMHgwMCwweGVmLDB4MDgsMHgyNiwweDAwIH0sCi0gIDE2LCAweGY1MzAsIDAsIHsweDBlLDB4ZjAsMHgwMiwweGEwLDB4MDAsMHhlNywweDAwLDB4M2IsMHhjMCwweDBmLDB4ZjUsMHg0MywweDNjLDB4MDIsMHhkYSwweDAwIH0sCi0gIDE2LCAweGY1NDAsIDAsIHsweDMyLDB4YzAsMHgwZCwweGIwLDB4MDMsMHhlYywweDAwLDB4Y2IsMHgwMCwweGIyLDB4YzAsMHgwYywweGEwLDB4MDMsMHgyOCwweDEwIH0sCi0gIDE2LCAweGY1NTAsIDAsIHsweGNiLDB4MDAsMHgzMiwweGMwLDB4MGMsMHg4MCwweDAzLDB4ODAsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY1NjAsIDAsIHsweGEwLDB4MGQsMHhmYywweDAwLDB4ZmIsMHgwMCwweDNiLDB4MDAsMHgwZiwweGYwLDB4MDMsMHhmMCwweDAwLDB4ZmYsMHgwMiwweDNmIH0sCi0gIDE2LCAweGY1NzAsIDAsIHsweGMwLDB4MGQsMHhmMiwweDAzLDB4YmMsMHgwMCwweGY0LDB4MDAsMHgzZiwweGMwLDB4MGYsMHhmMCwweDAzLDB4ZmMsMHgwMCwweGY3IH0sCi0gIDE2LCAweGY1ODAsIDAsIHsweDAwLDB4MzMsMHhjMCwweDBmLDB4NjAsMHgwMywweGYwLDB4ODgsMHhmZiwweDAwLDB4M2YsMHhjMCwweDRmLDB4ZDAsMHgwMywweDY4IH0sCi0gIDE2LCAweGY1OTAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZmMsMHg0MCwweGZjLDB4MzEsMHgzYiwweDA4IH0sCi0gIDE2LCAweGY1YTAsIDAsIHsweDRmLDB4ZjksMHg0MywweGVmLDB4MDAsMHhkZiwweDMwLDB4MzIsMHgyMSwweDBmLDB4OTQsMHgwNywweDdkLDB4ODAsMHhlZiwweDM4IH0sCi0gIDE2LCAweGY1YjAsIDAsIHsweDMyLDB4MDksMHgxYywweDM4LDB4MDMsMHhmMiwweDIxLDB4ZmQsMHgwMCwweDMzLDB4YzQsMHgwYywweGYwLDB4MDIsMHhmYywweDAwIH0sCi0gIDE2LCAweGY1YzAsIDAsIHsweGRmLDB4MDAsMHgzMywweGMwLDB4MGYsMHhmMCwweDAzLDB4MzAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY1ZDAsIDAsIHsweDgwLDB4MTAsMHhlYywweDg4LDB4OGIsMHg2MCwweDIyLDB4ZTUsMHgwZSwweGIyLDB4MjIsMHhlYywweDgwLDB4YWYsMHgxMSwweDJhIH0sCi0gIDE2LCAweGY1ZTAsIDAsIHsweDIwLDB4MGIsMHhiMSwweDEzLDB4YWMsMHg0OCwweDhiLDB4NDUsMHgzNCwweGNjLDB4NDgsMHhiMCwweDAyLDB4NmIsMHgwMCwweGJhIH0sCi0gIDE2LCAweGY1ZjAsIDAsIHsweDgyLDB4MzYsMHgwMCwweDA4LDB4ODgsMHgyMiwweGMwLDB4MDQsMHg4OCwweDAwLDB4YTIsMHgwOCwweDhiLDB4ODgsMHg2MiwweDIwIH0sCi0gIDE2LCAweGY2MDAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4Y2MsMHgwMCwweGExLDB4MzAsMHgyOCwweDAwIH0sCi0gIDE2LCAweGY2MTAsIDAsIHsweDBiLDB4MzIsMHgwMiwweGNjLDB4MDAsMHhhMywweDIyLDB4MmMsMHgwMCwweDhiLDB4MTIsMHgwNiwweGM4LDB4ODAsMHhhMywweDAwIH0sCi0gIDE2LCAweGY2MjAsIDAsIHsweDIwLDB4MDIsMHhjYSwweDMwLDB4MDYsMHhjNCwweDAxLDB4YjEsMHgwMCwweDY4LDB4ODAsMHgwOSwweDIwLDB4MDIsMHg4OCwweDAwIH0sCi0gIDE2LCAweGY2MzAsIDAsIHsweDgzLDB4MDAsMHgyMCwweGMyLDB4MGIsMHgwMCwweDBhLDB4YTIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY2NDAsIDAsIHsweGMwLDB4MTUsMHhhYywweDAwLDB4OGIsMHg2MSwweDYyLDB4YzAsMHgwYiwweGIyLDB4MDIsMHhlOCwweDAwLDB4YWIsMHgwMiwweDJhIH0sCi0gIDE2LCAweGY2NTAsIDAsIHsweDYxLDB4MWIsMHg5MCwweDAyLDB4YTgsMHgwMCwweGFiLDB4MDAsMHgyMCwweGMwLDB4MGEsMHhiMCwweDAyLDB4NmMsMHgwNCwweGJhIH0sCi0gIDE2LCAweGY2NjAsIDAsIHsweDAwLDB4MmUsMHg0MCwweDg5LDB4OTAsMHgwMiwweGU2LDB4MDgsMHg5OCwweDAwLDB4MjIsMHgwMCwweDBiLDB4YjAsMHgwMiwweGIwIH0sCi0gIDE2LCAweGY2NzAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDE1LDB4ZWUsMHgwMCwweGY4LDB4MDEsMHgzYSwweDA0IH0sCi0gIDE2LCAweGY2ODAsIDAsIHsweDBmLDB4YWMsMHgwMywweGVjLDB4OTAsMHhmYiwweDAyLDB4M2UsMHhlMCwweDBiLDB4OTAsMHg0MiwweDY3LDB4ODAsMHhhOCwweGM0IH0sCi0gIDE2LCAweGY2OTAsIDAsIHsweDIyLDB4NDgsMHgyMiwweDg2LDB4MDMsMHhlMSwweDQwLDB4YjgsMHgwMiwweDJhLDB4NDAsMHgyOSwweDkwLDB4MDMsMHhlYywweDAyIH0sCi0gIDE2LCAweGY2YTAsIDAsIHsweGM5LDB4NDgsMHgzMiwweDQwLDB4MGYsMHhiMCwweDEzLDB4OTAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY2YjAsIDAsIHsweGUwLDB4MDEsMHhhYywweDQwLDB4ZmIsMHgwMCwweDFmLDB4YTIsMHgwZSwweGY4LDB4ODIsMHhmYywweDA4LDB4ZmYsMHgwMCwweDNmIH0sCi0gIDE2LCAweGY2YzAsIDAsIHsweGMwLDB4MGYsMHhmYSwweDQzLDB4OTYsMHg0NCwweGQ0LDB4OTEsMHgzZiwweDQwLDB4MGQsMHhjMCwweDAzLDB4ZmEsMHgwMCwweGZmIH0sCi0gIDE2LCAweGY2ZDAsIDAsIHsweDA4LDB4MjUsMHg4MCwweDBlLDB4ZTAsMHgwMywweGQwLDB4MDAsMHhlYSwweDAwLDB4M2YsMHg4MCwweDBmLDB4YzAsMHgwMywweDc4IH0sCi0gIDE2LCAweGY2ZTAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YWMsMHgwMCwweGUxLDB4MjAsMHgzYSwweDUwIH0sCi0gIDE2LCAweGY2ZjAsIDAsIHsweDBmLDB4OTAsMHgwMywweDJjLDB4MDAsMHhlYiwweDA4LDB4NzYsMHgwNSwweDBlLDB4YjAsMHgyNywweGUwLDB4MTAsMHhlYSwweDQwIH0sCi0gIDE2LCAweGY3MDAsIDAsIHsweGIyLDB4YzAsMHgwYywweGE0LDB4NDMsMHgyNSwweDAwLDB4ZjgsMHgwMCwweDMyLDB4MDgsMHgwZiwweDgwLDB4NDMsMHhlOCwweDAwIH0sCi0gIDE2LCAweGY3MTAsIDAsIHsweGQxLDB4MDgsMHhlZSwweDQwLDB4MGYsMHgwMCwweDAzLDB4ZDAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY3MjAsIDAsIHsweGM4LDB4MDUsMHgyYywweDAwLDB4OGIsMHgwMCwweDIyLDB4ZDAsMHgwYiwweDkwLDB4ODIsMHgyYywweDAwLDB4ODcsMHg0MCwweDIyIH0sCi0gIDE2LCAweGY3MzAsIDAsIHsweDYwLDB4OGIsMHhiMCwweDAyLDB4ZTAsMHgwMCwweGQ4LDB4NTAsMHgyMiwweGQwLDB4MGMsMHhhMCwweDAzLDB4NmMsMHgwMCwweGIzIH0sCi0gIDE2LCAweGY3NDAsIDAsIHsweGM4LDB4M2UsMHhkMCwweDBiLDB4YjgsMHgwMiwweDI1LDB4MDgsMHg4YSwweDIwLDB4MmEsMHg4MCwweDhiLDB4YjgsMHg4MiwweGYyIH0sCi0gIDE2LCAweGY3NTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NjQsMHgwMCwweGEwLDB4YzAsMHgyNCwweGMwIH0sCi0gIDE2LCAweGY3NjAsIDAsIHsweDA5LDB4MzgsMHgwMiwweDJjLDB4MDAsMHg4MywweDAzLDB4MjAsMHgwMCwweDEwLDB4MzAsMHgyMiwweGNjLDB4MDAsMHg4MywweDAwIH0sCi0gIDE2LCAweGY3NzAsIDAsIHsweDYwLDB4MDgsMHgwYSwweDMwLDB4ODIsMHg0YywweDAwLDB4YjEsMHhjMCwweDAwLDB4ZDEsMHgwYiwweDM4LDB4MDIsMHg4NCwweDgwIH0sCi0gIDE2LCAweGY3ODAsIDAsIHsweDgyLDB4MDEsMHgyMCwweDgwLDB4MDMsMHgzOCwweDAyLDB4ZjgsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY3OTAsIDAsIHsweDIwLDB4MDEsMHgxNiwweDQwLDB4ODQsMHg5OCwweDI1LDB4ZTAsMHgwYiwweDdhLDB4MDIsMHhmYSwweDQ4LDB4YTMsMHgyMCwweDYxIH0sCi0gIDE2LCAweGY3YTAsIDAsIHsweDI0LDB4MGIsMHg3OSwweDAwLDB4Y2UsMHhjMCwweDkzLDB4YTQsMHgyMSwweGE2LDB4MGIsMHg3OCwweDEyLDB4ZGUsMHg4MCwweGI2IH0sCi0gIDE2LCAweGY3YjAsIDAsIHsweDgwLDB4MmQsMHgyNCwweDBiLDB4NGIsMHgwMiwweDFhLDB4NDAsMHg4NSwweDgxLDB4MjEsMHg2MCwweDBiLDB4NDgsMHgwMiwweGM4IH0sCi0gIDE2LCAweGY3YzAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MGMsMHgwMCwweGUyLDB4YTAsMHhiNCwweGZlIH0sCi0gIDE2LCAweGY3ZDAsIDAsIHsweDRiLDB4YjgsMHgwYiwweDBlLDB4MDAsMHhhMywweGIwLDB4MjQsMHhhOCwweDBlLDB4MWIsMHgwMiwweGNlLDB4YzEsMHhjMywweGMwIH0sCi0gIDE2LCAweGY3ZTAsIDAsIHsweDMwLDB4NjgsMHgyZSwweDNhLDB4NDcsMHg0ZSwweDgwLDB4ZjEsMHg4MCwweDMwLDB4ODAsMHgwZiwweDIyLDB4ODMsMHg4MCwweDAwIH0sCi0gIDE2LCAweGY3ZjAsIDAsIHsweGMyLDB4MTAsMHgzOCwweDgwLDB4NGYsMHgwMCwweDA3LDB4ZDIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY4MDAsIDAsIHsweDQwLDB4MGQsMHhiYywweDEwLDB4ZmUsMHgwNCwweDNiLDB4YzEsMHgwNywweGYwLDB4MDMsMHgxYywweGM4LDB4ZGYsMHgyYSwweDBiIH0sCi0gIDE2LCAweGY4MTAsIDAsIHsweGM0LDB4OGYsMHhkMSwweDQzLDB4ZjgsMHgwMiwweDdmLDB4MDAsMHgzZiwweGMwLDB4MGMsMHhmMSwweDBmLDB4M2MsMHgwMCwweGYyIH0sCi0gIDE2LCAweGY4MjAsIDAsIHsweDExLDB4M2YsMHg0MSwweDFmLDB4NTIsMHgwMywweGJjLDB4MGUsMHhlZCwweDE0LDB4M2YsMHg0MCwweDBmLDB4ZjgsMHgwMywweGQwIH0sCi0gIDE2LCAweGY4MzAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZTQsMHgwMCwweGU5LDB4MDAsMHgzMiwweDgwIH0sCi0gIDE2LCAweGY4NDAsIDAsIHsweDBlLDB4YmUsMHg0YiwweDZmLDB4MDAsMHhjYiwweDgyLDB4N2EsMHhjMCwweDJjLDB4YjAsMHgwMywweDJjLDB4MDAsMHhjOSwweDAwIH0sCi0gIDE2LCAweGY4NTAsIDAsIHsweDMyLDB4MDAsMHgyYywweDEwLDB4MDMsMHgyYywweDA4LDB4YzAsMHgwMCwweDI2LDB4NDAsMHg2YywweDkwLDB4MTMsMHgyNCwweDEyIH0sCi0gIDE2LCAweGY4NjAsIDAsIHsweGM4LDB4MDEsMHgzZSwweDAwLDB4MGYsMHhiOCwweDBiLDB4MmEsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY4NzAsIDAsIHsweDQ4LDB4MTEsMHg5NCwweDAwLDB4OGQsMHgwMCwweDIxLDB4ODAsMHgwYiwweDcwLDB4ODIsMHgzYywweDIwLDB4ODMsMHgzMiwweDI5IH0sCi0gIDE2LCAweGY4ODAsIDAsIHsweGMwLDB4MDgsMHhmMCwweDIwLDB4MTQsMHgwMCwweDgwLDB4MDAsMHgyMywweDAwLDB4MDgsMHg1MCwweDA2LDB4OWMsMHgwNCwweGQ3IH0sCi0gIDE2LCAweGY4OTAsIDAsIHsweDAyLDB4MjgsMHg4MCwweDA4LDB4NjAsMHgwMiwweDA4LDB4MTAsMHg4NywweDAwLDB4MmQsMHhjMCwweDBiLDB4NDAsMHgwMiwweDEyIH0sCi0gIDE2LCAweGY4YTAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4OWUsMHgwMCwweGE3LDB4ODAsMHgyMSwweGUwIH0sCi0gIDE2LCAweGY4YjAsIDAsIHsweDBiLDB4NWMsMHgxMiwweDFlLDB4MDQsMHg4NywweDgyLDB4MGQsMHhhMCwweDA5LDB4NzgsMHgxNiwweDAyLDB4MDAsMHhiNCwweDgwIH0sCi0gIDE2LCAweGY4YzAsIDAsIHsweDI1LDB4ZTAsMHgwYiwweDc4LDB4MDIsMHg5ZSwweDAwLDB4ODQsMHg4MCwweDIxLDB4MjIsMHgwOCwweDA4LDB4MDIsMHgxMiwweDAxIH0sCi0gIDE2LCAweGY4ZDAsIDAsIHsweDg0LDB4YzAsMHgyZCwweDIwLDB4MGIsMHgwOCwweDAyLDB4MzAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY4ZTAsIDAsIHsweDQ4LDB4MTQsMHhjYywweDAwLDB4ODMsMHg0MiwweGEwLDB4ZDgsMHgwYiwweDM0LDB4ODIsMHgwYywweDAwLDB4YTMsMHgwMiwweDIwIH0sCi0gIDE2LCAweGY4ZjAsIDAsIHsweGUwLDB4MDgsMHhiMCwweDAyLDB4MGMsMHg4OCwweGIzLDB4MjEsMHgyNCwweGQ4LDB4MGIsMHgzZSwweDAyLDB4OGMsMHgwMCwweDkzIH0sCi0gIDE2LCAweGY5MDAsIDAsIHsweDA4LDB4MjgsMHhjMCwweDA4LDB4MzgsMHgwMiwweDJjLDB4MDUsMHg4YiwweDAxLDB4MmMsMHhlMCwweDBiLDB4MzAsMHgwMiwweDEyIH0sCi0gIDE2LCAweGY5MTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YTgsMHgwMCwweGVlLDB4MDAsMHgzMywweDkwIH0sCi0gIDE2LCAweGY5MjAsIDAsIHsweDBmLDB4YTAsMHgwYiwweDY4LDB4MDAsMHhjYSwweDAxLDB4N2YsMHhhOCwweDBjLDB4YWEsMHgwMywweDNhLDB4MTIsMHhmZSwweGUyIH0sCi0gIDE2LCAweGY5MzAsIDAsIHsweDM3LDB4YjAsMHgwZiwweGVlLDB4MDIsMHgxOCwweDAwLDB4Y2EsMHg0MCwweDM2LDB4YTAsMHgwOCwweGEwLDB4OGIsMHgyOCwweDAwIH0sCi0gIDE2LCAweGY5NDAsIDAsIHsweGNhLDB4ODEsMHgyZSwweGEwLDB4MGYsMHhlMCwweDAzLDB4M2EsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY5NTAsIDAsIHsweDQ4LDB4MDAsMHhlMCwweDAwLDB4ZjgsMHgwOCwweDNlLDB4MDAsMHgwZiwweDgwLDB4MDMsMHhhMiwweDAyLDB4ZDgsMHg0MCwweDNlIH0sCi0gIDE2LCAweGY5NjAsIDAsIHsweDA4LDB4MGYsMHg4MCwweDEzLDB4ZTAsMHg0MCwweDQ4LDB4NDAsMHhiOCwweDA0LDB4MDgsMHg4NCwweDAzLDB4NjEsMHgwMCwweGZjIH0sCi0gIDE2LCAweGY5NzAsIDAsIHsweDAwLDB4M2YsMHgwMCwweDRmLDB4YzAsMHgwMywweGYxLDB4MDAsMHhmYywweDAwLDB4M2YsMHgwNCwweDBmLDB4YzAsMHgwMywweGQyIH0sCi0gIDE2LCAweGY5ODAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4YzQsMHgwMCwweGY5LDB4MDAsMHgzMCwweDUwIH0sCi0gIDE2LCAweGY5OTAsIDAsIHsweDRjLDB4YjksMHgwMywweDZjLDB4MTgsMHhmOSwweDAwLDB4MzYsMHg0MCwweDBlLDB4OWMsMHgyMywweGE0LDB4MDIsMHg0MSwweDAwIH0sCi0gIDE2LCAweGY5YTAsIDAsIHsweGIyLDB4NDQsMHgwZSwweDlhLDB4MDMsMHhhNiwweDgwLDB4YzksMHgwMCwweDNhLDB4NjAsMHgwYSwweDkwLDB4MDMsMHhhNCwweDgwIH0sCi0gIDE2LCAweGY5YjAsIDAsIHsweGM5LDB4MDAsMHgzNCwweDQwLDB4MGMsMHg5MCwweDAzLDB4YzIsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY5YzAsIDAsIHsweDgwLDB4MDQsMHg2NCwweDAwLDB4ODksMHg0MCwweDIyLDB4NzgsMHgwOCwweDk0LDB4MDIsMHhlNCwweDEwLDB4YjksMHgwMCwweDNjIH0sCi0gIDE2LCAweGY5ZDAsIDAsIHsweDYyLDB4MTgsMHg5NCwweDgyLDB4YTQsMHgwMCwweDg5LDB4YzgsMHgyMiwweDcwLDB4NDgsMHgxZSwweDAxLDB4NjcsMHg4MCwweGQxIH0sCi0gIDE2LCAweGY5ZTAsIDAsIHsweDAwLDB4YmMsMHg0MiwweDA4LDB4MTAsMHgwMiwweDI1LDB4MjAsMHg4OSwweDAyLDB4MjIsMHg0MCwweDA4LDB4OTAsMHgwMiwweGUwIH0sCi0gIDE2LCAweGY5ZjAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4MjQsMHgwMCwweGIxLDB4MjgsMHgyMiwweDQwIH0sCi0gIDE2LCAweGZhMDAsIDAsIHsweDA4LDB4YjAsMHg4MiwweDY0LDB4MDQsMHgzOSwweDQxLDB4MmUsMHg0OCwweDBhLDB4OTAsMHgwMiwweDA0LDB4MTgsMHhhOSwweDIwIH0sCi0gIDE2LCAweGZhMTAsIDAsIHsweDIyLDB4NDIsMHg0YSwweDkwLDB4MDIsMHgyYywweDA0LDB4ODksMHgwNCwweDJiLDB4NDgsMHgwMiwweGQwLDB4MDIsMHhiNCwweDBhIH0sCi0gIDE2LCAweGZhMjAsIDAsIHsweDhkLDB4ODAsMHgyMywweGMwLDB4NDgsMHhkMCwweDAyLDB4YzYsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZhMzAsIDAsIHsweDA4LDB4MDQsMHgwNCwweDgwLDB4ODEsMHgyMCwweGEwLDB4NDgsMHgyOCwweDEwLDB4MDIsMHhjNCwweDAwLDB4YjEsMHgyNCwweDJhIH0sCi0gIDE2LCAweGZhNDAsIDAsIHsweDQwLDB4MDgsMHgxMiwweDQyLDB4ODUsMHg4MCwweGExLDB4MjAsMHhhMCwweDQ4LDB4MDgsMHg5MCwweDAyLDB4NDQsMHgwMCwweDk1IH0sCi0gIDE2LCAweGZhNTAsIDAsIHsweDJjLDB4MmQsMHg1YSwweDBhLDB4NzIsMHg4MiwweDE0LDB4YTAsMHg4NSwweGE4LDB4MjEsMHg0YSwweDA4LDB4NTIsMHg4MiwweGMyIH0sCi0gIDE2LCAweGZhNjAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NDEsMHg0MCwweGY4LDB4NTAsMHgzMiwweDAwIH0sCi0gIDE2LCAweGZhNzAsIDAsIHsweDhjLDB4MDUsMHgwMywweDYxLDB4NDAsMHhmOCwweDUxLDB4MmUsMHgwMCwweDBhLDB4ODUsMHgwMiwweDIwLDB4MDAsMHhlOCwweDUwIH0sCi0gIDE2LCAweGZhODAsIDAsIHsweDMyLDB4MTQsMHgwNiwweDg1LDB4MTcsMHhhMCwweDAwLDB4YzgsMHgyMCwweDNhLDB4MDgsMHgwZSwweDgyLDB4MDMsMHhhMCwweDgwIH0sCi0gIDE2LCAweGZhOTAsIDAsIHsweGM4LDB4MjAsMHgzMiwweDA4LDB4MmMsMHhjMiwweDAzLDB4ZWUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZhYTAsIDAsIHsweDk4LDB4MTksMHhmNCwweDQwLDB4ZmYsMHgxMCwweDNmLDB4NDQsMHgwYiwweGIwLDB4MDMsMHhlNCwweDAwLDB4ZjksMHgxMCwweDNkIH0sCi0gIDE2LCAweGZhYjAsIDAsIHsweDQwLDB4MGYsMHhkMSwweDAzLDB4ZjQsMHg1OCwweDlkLDB4MTAsMHgzZiwweDQ0LDB4NGYsMHhkMCwweDAzLDB4ZDUsMHgwMCwweGY5IH0sCi0gIDE2LCAweGZhYzAsIDAsIHsweDAwLDB4M2UsMHg0MCwweDhkLDB4OTAsMHgwMywweGU0LDB4YjgsMHhmOSwweDI4LDB4YmEsMHg2YSwweDBmLDB4OTAsMHgwMywweGU2IH0sCi0gIDE2LCAweGZhZDAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDAxLDB4ZTcsMHgwMCwweGZkLDB4ODgsMHgzZSwweDYwIH0sCi0gIDE2LCAweGZhZTAsIDAsIHsweDhmLDB4ZDAsMHgwMywweDI0LDB4MDEsMHhkZCwweDgwLDB4NzMsMHg0MCwweDBmLDB4ZDgsMHgwMywweGE2LDB4MDQsMHhjZCwweGEyIH0sCi0gIDE2LCAweGZhZjAsIDAsIHsweDMzLDB4NzgsMHgxYywweGQwLDB4MDMsMHgzNCwweDAxLDB4ZjUsMHg4OCwweDNiLDB4NjgsMHgwYywweGRhLDB4NDcsMHgzNywweDgwIH0sCi0gIDE2LCAweGZiMDAsIDAsIHsweGNkLDB4ODgsMHgzMiwweDYyLDB4MGMsMHhkYSwweDAzLDB4MDYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZiMTAsIDAsIHsweDM4LDB4MTAsMHhlMywweDgwLDB4YjgsMHg4MCwweDJlLDB4MTQsMHgwYiwweDBhLDB4ODIsMHgyMiwweDgwLDB4YjgsMHhmOCwweGEyIH0sCi0gIDE2LCAweGZiMjAsIDAsIHsweDAwLDB4MGIsMHg4ZiwweGEzLDB4ODMsMHhlMCwweDg4LDB4ZWIsMHgyMiwweGE5LDB4MDgsMHg4OCwweDEyLDB4YTAsMHgwNSwweGI4IH0sCi0gIDE2LCAweGZiMzAsIDAsIHsweDAwLDB4MmEsMHhhYSwweDg4LDB4ODAsMHgxMywweDYyLDB4ODIsMHg4OCwweDgwLDB4MjIsMHgyOCwweDg4LDB4YTQsMHgwMiwweDBlIH0sCi0gIDE2LCAweGZiNDAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4YzUsMHgwMCwweGIxLDB4MGEsMHgyYywweDQxIH0sCi0gIDE2LCAweGZiNTAsIDAsIHsweDBiLDB4MTAsMHgwNiwweDA0LDB4MjAsMHhhMSwweDAwLDB4MDAsMHg0MCwweDhiLDB4MTAsMHg0NiwweGM0LDB4MDEsMHg5MSwweDExIH0sCi0gIDE2LCAweGZiNjAsIDAsIHsweDI0LDB4NTgsMHg2OCwweDkwLDB4YzIsMHgwNCwweDAwLDB4YjEsMHgwMCwweGE4LDB4NTAsMHgwOSwweDE0LDB4MGEsMHgwNSwweDk1IH0sCi0gIDE2LCAweGZiNzAsIDAsIHsweGExLDB4MDgsMHhhMCwweDQyLDB4MjgsMHgxMSwweDBhLDB4MDIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZiODAsIDAsIHsweDE4LDB4MTUsMHhhNCwweDE4LDB4YjksMHgyMCwweDJlLDB4NTAsMHgwYiwweDkwLDB4MDYsMHgyNCwweDA5LDB4YjksMHgwMCwweDIyIH0sCi0gIDE2LCAweGZiOTAsIDAsIHsweDQwLDB4OGIsMHg5MSwweDAyLDB4ODQsMHgwMCwweDk5LDB4NjQsMHgyNCwweDQwLDB4NTgsMHg5MCwweDAyLDB4YTQsMHgyMCwweGJiIH0sCi0gIDE2LCAweGZiYTAsIDAsIHsweDAwLDB4MmEsMHg0MCwweDA5LDB4YjAsMHgwMiwweDA1LDB4MDEsMHhhOSwweDAwLDB4MjIsMHg0MCwweDg4LDB4OTIsMHgwMiwweDA2IH0sCi0gIDE2LCAweGZiYjAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4ZTYsMHgwMCwweGY5LDB4NDAsMHgzZSwweDQwIH0sCi0gIDE2LCAweGZiYzAsIDAsIHsweDRmLDB4OTgsMHgwYiwweDI0LDB4ODAsMHhkOSwweDAwLDB4MjIsMHg3MiwweDBiLDB4OTgsMHgwMywweGU0LDB4ODQsMHhkOSwweDAwIH0sCi0gIDE2LCAweGZiZDAsIDAsIHsweGI2LDB4NzAsMHgwOCwweDk5LDB4MDIsMHgyNCwweDAwLDB4YjksMHgwMCwweDJhLDB4NDAsMHgwZCwweDk0LDB4YzIsMHgyNSwweDAwIH0sCi0gIDE2LCAweGZiZTAsIDAsIHsweGE5LDB4MDAsMHgyMiwweDQwLDB4MGMsMHg5NCwweDAzLDB4MjgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZiZjAsIDAsIHsweDI4LDB4MDEsMHhhNiwweDgwLDB4ZjksMHgwOCwweDNlLDB4YzAsMHgwZiwweDkxLDB4NDMsMHhlNCwweDAwLDB4ZjksMHgwMCwweDNlIH0sCi0gIDE2LCAweGZjMDAsIDAsIHsweDUwLDB4MGYsMHg5OCwweDAzLDB4YTUsMHgwMCwweGU5LDB4MDAsMHgzYSwweDY0LDB4MGYsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGY5IH0sCi0gIDE2LCAweGZjMTAsIDAsIHsweDAwLDB4M2MsMHg0MCwweDZlLDB4OTAsMHgwMywweGU0LDB4MjAsMHhkOSwweDAwLDB4M2MsMHg0MCwweDBmLDB4OTAsMHg4MiwweGNhIH0sCi0gIDE2LCAweGZjMjAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTAsMHgwMCwweGU4LDB4MDAsMHgzZSwweDAwIH0sCi0gIDE2LCAweGZjMzAsIDAsIHsweDRmLDB4ODQsMHgwYiwweDIwLDB4MDAsMHhmOCwweDAwLDB4MzYsMHgwMSwweDBlLDB4ODAsMHgwMywweGUwLDB4MDAsMHhjOCwweDQwIH0sCi0gIDE2LCAweGZjNDAsIDAsIHsweDMyLDB4MTAsMHgyZCwweDgwLDB4MDMsMHhlMCwweDU0LDB4YzgsMHgwMCwweDM2LDB4MTAsMHgwZiwweDA0LDB4ODMsMHhlMCwweDUwIH0sCi0gIDE2LCAweGZjNTAsIDAsIHsweGQ4LDB4MDQsMHgxMiwweDAwLDB4MGMsMHgwMCwweDBiLDB4MGEsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZjNjAsIDAsIHsweDI4LDB4MDUsMHgyOCwweDAwLDB4OGUsMHg0MiwweDJlLDB4YTIsMHg4YiwweGVhLDB4MDIsMHgyOCwweDA4LDB4YmUsMHg4OSwweDM3IH0sCi0gIDE2LCAweGZjNzAsIDAsIHsweDg0LDB4NDgsMHhlMCwweDEyLDB4MjgsMHgwMiwweDhlLDB4YzAsMHgyMywweGIwLDB4NGQsMHg2MCwweDYyLDB4ZjgsMHgwMCwweDg2IH0sCi0gIDE2LCAweGZjODAsIDAsIHsweDAwLDB4MjMsMHg4MCwweDBiLDB4ZTAsMHgwMiwweGY4LDB4MDAsMHgwZSwweDAwLDB4MjIsMHg4MCwweDA4LDB4ZTQsMHgwMiwweDBhIH0sCi0gIDE2LCAweGZjOTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NGMsMHgwMCwweGEzLDB4MDAsMHgyYywweDgwIH0sCi0gIDE2LCAweGZjYTAsIDAsIHsweDFiLDB4YjAsMHg5YSwweDRjLDB4MTAsMHg5YiwweDgwLDB4MjQsMHhjMCwweDBhLDB4MzAsMHgwMCwweDBjLDB4MDQsMHg5YiwweDIwIH0sCi0gIDE2LCAweGZjYjAsIDAsIHsweDIwLDB4ZDYsMHgwOCwweDMwLDB4MDIsMHg4ZSwweDA4LDB4YTMsMHgwNCwweDI0LDB4YzAsMHgxOSwweDM0LDB4MDIsMHhjNywweDA3IH0sCi0gIDE2LCAweGZjYzAsIDAsIHsweGFhLDB4YTQsMHhhMCwweGMwLDB4NDgsMHgzNCwweDAyLDB4MGEsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZjZDAsIDAsIHsweGEwLDB4MDEsMHgwZSwweDAwLDB4ODcsMHgwMCwweDJkLDB4YzAsMHgwYiwweDQwLDB4MDIsMHg1YywweDQwLDB4YjMsMHgxNCwweDI1IH0sCi0gIDE2LCAweGZjZTAsIDAsIHsweGUwLDB4MDgsMHg3YSwweDAyLDB4OWUsMHhjMCwweDkyLDB4NDAsMHhhMCwweDAwLDB4NDksMHg2MCwweDAyLDB4Y2UsMHgwMiwweDhlIH0sCi0gIDE2LCAweGZjZjAsIDAsIHsweDAxLDB4MjEsMHhjMCwweDhiLDB4NTQsMHgwMiwweGM0LDB4MDgsMHg4NiwweDQwLDB4MjEsMHhjOCwweDg4LDB4MTAsMHgwMiwweDI4IH0sCi0gIDE2LCAweGZkMDAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MWUsMHhjMCwweGU0LDB4ODAsMHgzZCwweGUyIH0sCi0gIDE2LCAweGZkMTAsIDAsIHsweDBmLDB4NTgsMHgwMywweDVlLDB4OTAsMHhiNiwweGEyLDB4MzUsMHhlMCwweDBlLDB4N2MsMHgyMywweDFjLDB4MDAsMHhkNiwweDgwIH0sCi0gIDE2LCAweGZkMjAsIDAsIHsweDMxLDB4ZTAsMHg4NCwweDc4LDB4MDMsMHhkZSwweDAwLDB4YzcsMHg4MCwweDM1LDB4ZTAsMHgwZiwweDY4LDB4MDMsMHhkZSwweDAwIH0sCi0gIDE2LCAweGZkMzAsIDAsIHsweGUzLDB4ODAsMHgzMywweGU4LDB4MmMsMHg3OCwweDAzLDB4MmEsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZkNDAsIDAsIHsweDA4LDB4MWQsMHhhYywweDkwLDB4ZmEsMHgwMCwweDdlLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhhYywweDAxLDB4ZmIsMHgwMCwweDNjIH0sCi0gIDE2LCAweGZkNTAsIDAsIHsweDQxLDB4MGYsMHgzMCwweDBiLDB4MmQsMHgwNCwweGViLDB4MDEsMHgzZSwweGMwLDB4MGUsMHhiMCwweDAzLDB4ZWMsMHgwMCwweGZhIH0sCi0gIDE2LCAweGZkNjAsIDAsIHsweDAwLDB4M2YsMHhjMCwweDBmLDB4ODAsMHgwMywweGVjLDB4MDAsMHhlOSwweDYwLDB4M2UsMHhlNCwweDBmLDB4OTAsMHgwMywweGMyIH0sCi0gIDE2LCAweGZkNzAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZmUsMHgyMCwweGZmLDB4OTAsMHgzZSwweDIwIH0sCi0gIDE2LCAweGZkODAsIDAsIHsweDBjLDB4YTksMHgwNywweDJlLDB4NDQsMHhjOSwweDkxLDB4MzAsMHhhMCwweDBjLDB4YjgsMHg2MywweDJmLDB4NDQsMHhjYiwweGExIH0sCi0gIDE2LCAweGZkOTAsIDAsIHsweDM2LDB4MjAsMHg4YywweGY4LDB4MDMsMHgzNiwweDAwLDB4Y2YsMHg4MiwweDMzLDB4ZTAsMHgwYywweGY4LDB4MjMsMHgyZSwweDAwIH0sCi0gIDE2LCAweGZkYTAsIDAsIHsweGNlLDB4YzAsMHgzYiwweGUwLDB4MGMsMHg2OCwweDAzLDB4MDAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZkYjAsIDAsIHsweGE4LDB4MTEsMHg5YywweDg0LDB4YjMsMHg1NCwweDJjLDB4ZjQsMHgyOCwweGJhLDB4OGEsMHgzZSwweDQwLDB4ODEsMHhhMCwweDI5IH0sCi0gIDE2LCAweGZkYzAsIDAsIHsweGIwLDB4MGYsMHg3OCwweDQyLDB4YWUsMHgwMCwweDgzLDB4OTAsMHgzMywweGU4LDB4MGQsMHhlMSwweDAwLDB4ODUsMHg0MCwweDgyIH0sCi0gIDE2LCAweGZkZDAsIDAsIHsweDI0LDB4MjMsMHhjNiwweDBkLDB4NzEsMHgwMywweDVlLDB4ZTAsMHg4NywweDAwLDB4MmIsMHhjMSwweDBkLDB4NDQsMHgwMiwweDJhIH0sCi0gIDE2LCAweGZkZTAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OWMsMHgwOCwweDM1LDB4MTQsMHg2ZCwweGMwIH0sCi0gIDE2LCAweGZkZjAsIDAsIHsweDg4LDB4NzIsMHgzMiwweDVjLDB4ODAsMHg4NCwweDMwLDB4MmIsMHg4OCwweDBhLDB4NzAsMHg0MiwweDVjLDB4YTgsMHg5MSwweDA4IH0sCi0gIDE2LCAweGZlMDAsIDAsIHsweDI1LDB4YzgsMHgwOSwweDcwLDB4MDIsMHg0YywweDIyLDB4ODMsMHgwYSwweDYxLDB4YzAsMHgwOSwweDIwLDB4MDIsMHgwNCwweDAwIH0sCi0gIDE2LCAweGZlMTAsIDAsIHsweDg3LDB4MDAsMHgyMSwweGMwLDB4MDgsMHg2MCwweDAyLDB4MDAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZlMjAsIDAsIHsweDIwLDB4MTQsMHhjYywweDEwLDB4YjMsMHg4NSwweDZjLDB4ZGMsMHgwOCwweDM0LDB4MDIsMHg0ZCwweDIxLDB4ODEsMHgwMCwweDI4IH0sCi0gIDE2LCAweGZlMzAsIDAsIHsweDAyLDB4NGEsMHgzMSwweDEyLDB4ZWYsMHgwYywweDkxLDB4YzIsMHgyMCwweGYwLDB4MDgsMHgzMCwweDQyLDB4OGUsMHgwMCwweDgyIH0sCi0gIDE2LCAweGZlNDAsIDAsIHsweDQwLDB4MjAsMHhjOCwweDE5LDB4MjgsMHgwMiwweDIyLDB4ODEsMHg4MywweGMwLDB4MjgsMHhkNCwweDA5LDB4MDAsMHgwYSwweDA4IH0sCi0gIDE2LCAweGZlNTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YmMsMHgwMCwweGZiLDB4YTAsMHgzZSwweGMwIH0sCi0gIDE2LCAweGZlNjAsIDAsIHsweDhjLDB4MDQsMHgxMiwweDdkLDB4MTAsMHhjZiwweDAyLDB4M2EsMHg1MCwweDA4LDB4YzAsMHg0MiwweDdkLDB4NTIsMHg1OCwweDAxIH0sCi0gIDE2LCAweGZlNzAsIDAsIHsweDM2LDB4MjIsMHg2OSwweGQwLDB4MTMsMHgyYSwweDAwLDB4ODgsMHg4MiwweDMyLDB4ZjAsMHgwOSwweGI4LDB4ODIsMHgyZiwweDAwIH0sCi0gIDE2LCAweGZlODAsIDAsIHsweGM5LDB4YzgsMHgyMywweGMwLDB4MGMsMHg4YSwweDAzLDB4MmEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZlOTAsIDAsIHsweDgwLDB4MDAsMHhlYywweDAwLDB4YjksMHg0MCwweDNjLDB4NTAsMHg0ZiwweDgwLDB4MjMsMHhhYywweDEyLDB4ZmIsMHgwMCwweDJhIH0sCi0gIDE2LCAweGZlYTAsIDAsIHsweGMwLDB4NmQsMHg4MCwweDEzLDB4YWMsMHgwMCwweGU4LDB4MDQsMHhiYSwweDEwLDB4MGYsMHg4MCwweDAzLDB4ZTgsMHgwMCwweGYzIH0sCi0gIDE2LCAweGZlYjAsIDAsIHsweDA4LDB4M2MsMHg4MCwweDBmLDB4OTAsMHg4MywweGVjLDB4MDQsMHhmOSwweDYwLDB4MmMsMHhjMiwweDBmLDB4ODAsMHg4MywweGUwIH0sCi0gIDE2LCAweGZlYzAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZGMsMHgwMCwweGVjLDB4MmMsMHgzZiwweGYwIH0sCi0gIDE2LCAweGZlZDAsIDAsIHsweDhjLDB4ZmEsMHg4YiwweGJjLDB4MDAsMHhmZSwweDAwLDB4M2YsMHgwMCwweDBmLDB4NzksMHgwMywweDNjLDB4MDAsMHhjZSwweDA4IH0sCi0gIDE2LCAweGZlZTAsIDAsIHsweDBiLDB4YzIsMHgwYywweGYwLDB4MDMsMHhiYywweDAwLDB4ZmMsMHgwMCwweDMzLDB4NDAsMHg4YywweDdhLDB4MDMsMHgzYSwweDAwIH0sCi0gIDE2LCAweGZlZjAsIDAsIHsweGM1LDB4MDAsMHgzMywweGMwLDB4NGMsMHhjOCwweDAzLDB4MDAsMHg0NCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZmMDAsIDAsIHsweDgxLDB4MDQsMHg2YywweDAwLDB4ODgsMHhjMCwweDJlLDB4ZTAsMHgwOCwweDk0LDB4MDIsMHgyYywweDAwLDB4YmIsMHg4MCwweDY2IH0sCi0gIDE2LCAweGZmMTAsIDAsIHsweDMwLDB4MTYsMHhiMCwweDAyLDB4MmMsMHgwMCwweGRhLDB4NGMsMHgyMiwweGYwLDB4MDgsMHhmMCwweDAzLDB4ZWMsMHgwMCwweGViIH0sCi0gIDE2LCAweGZmMjAsIDAsIHsweGMwLDB4MjIsMHg2OCwweDAwLDB4OTQsMHgwMiwweDJjLDB4MDIsMHhhOSwweDgwLDB4MjIsMHhjMCwweDA4LDB4MGMsMHgwMiwweGEwIH0sCi0gIDE2LCAweGZmMzAsIDAsIHsweDQwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MmMsMHgwMCwweGFiLDB4MDQsMHgyZSwweGMwIH0sCi0gIDE2LCAweGZmNDAsIDAsIHsweDA4LDB4YTQsMHgwNiwweDJjLDB4MDQsMHhhYiwweDEwLDB4MmUsMHg2MCwweDQzLDB4ODAsMHg4MiwweDZjLDB4MDEsMHg4MSwweDgwIH0sCi0gIDE2LCAweGZmNTAsIDAsIHsweDI4LDB4MGEsMHgwOCwweDkxLDB4MDAsMHhlMCwweDAwLDB4YjgsMHg4MCwweDAyLDB4ZTAsMHgwOCwweDgwLDB4MDIsMHgyZCwweDgwIH0sCi0gIDE2LCAweGZmNjAsIDAsIHsweDg4LDB4YzAsMHgyMiwweGMwLDB4MDgsMHg4MiwweDAyLDB4MjAsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZmNzAsIDAsIHsweDA4LDB4MDQsMHgwYywweDAwLDB4ODAsMHg0NCwweDJjLDB4YzgsMHgyOCwweGEwLDB4MjIsMHgwYywweDA0LDB4YjMsMHgyNiwweDJjIH0sCi0gIDE2LCAweGZmODAsIDAsIHsweGM4LDB4ODgsMHgwMSwweDA2LDB4MGMsMHhlMCwweDkxLDB4MjAsMHgyMCwweDBjLDB4MzgsMHgwNCwweDIyLDB4YzAsMHg0OCwweGEzIH0sCi0gIDE2LCAweGZmOTAsIDAsIHsweDQyLDB4YTAsMHg4MSwweDA4LDB4MDAsMHgwMiwweDBjLDB4ODAsMHg4MSwweDAwLDB4MjAsMHhjMCwweDI4LDB4MDAsMHgwMiwweDgyIH0sCi0gIDE2LCAweGZmYTAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4N2MsMHgwMCwweGE5LDB4NDAsMHgzZSwweDQ0IH0sCi0gIDE2LCAweGZmYjAsIDAsIHsweDA4LDB4YjEsMHgwMywweDJjLDB4NDAsMHhlYSwweDQ5LDB4MmUsMHgwZCwweDBiLDB4YjYsMHgxMywweDdkLDB4ODAsMHhjOSwweDQwIH0sCi0gIDE2LCAweGZmYzAsIDAsIHsweGJhLDB4ZDAsMHgwYywweGI0LDB4MDMsMHhhYywweDAwLDB4ZjgsMHgwMCwweDMyLDB4NDAsMHgwYywweDgwLDB4MGIsMHgyMCwweDAwIH0sCi0gIDE2LCAweGZmZDAsIDAsIHsweGM1LDB4MDAsMHhiMiwweGMwLDB4MGMsMHg4MCwweDAzLDB4MDAsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZmZTAsIDAsIHsweGEwLDB4MWQsMHhmYywweDA0LDB4ZmMsMHgwMCwweDNkLDB4YzUsMHgwYiwweGYxLDB4MDAsMHhmYywweGQwLDB4NzcsMHgyOSwweDM3IH0sCi0gIDE2LCAweGZmZjAsIDAsIHsweDBjLDB4OGUsMHg3NCwweDAzLDB4ZmMsMHgwOCwweGZkLDB4NjksMHgzZiwweGQ4LDB4MGYsMHhmMCwweDAzLDB4YmMsMHgwMCwweGVmIH0sCi0gIDE2LCAweDgwMTAsIDAsIHsweDAwLDB4M2YsMHg0MCwweDA3LDB4YzAsMHgwMywweGYwLDB4NDAsMHhmZCwweDAwLDB4M2YsMHhjMCwweDBmLDB4YzAsMHgwMywweGU4IH0sCi0gIDE2LCAweDgwMjAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDBkLDB4ZmMsMHhjMCwweGRjLDB4ODAsMHgzZiwweGM4IH0sCi0gIDE2LCAweDgwMzAsIDAsIHsweDBmLDB4NDgsMHgwMywweDdjLDB4MjAsMHhmZiwweDY4LDB4MzcsMHhlMCwweDBlLDB4ZjEsMHgwMywweDljLDB4MDAsMHhiZiwweDIwIH0sCi0gIDE2LCAweDgwNDAsIDAsIHsweDM3LDB4ZTAsMHgwYywweGM4LDB4MTMsMHgzYywweDQwLDB4ZWQsMHg2MCwweGJiLDB4ZTQsMHgyYywweDQzLDB4NGIsMHg3MCwweGEwIH0sCi0gIDE2LCAweDgwNTAsIDAsIHsweGNjLDB4MmMsMHgzZiwweDA5LDB4MGYsMHhkOCwweDQzLDB4NzAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDgwNjAsIDAsIHsweDgwLDB4MDAsMHhlZCwweGMwLDB4YjgsMHg4MCwweDJmLDB4ZjQsMHgwZiwweDk4LDB4MDIsMHgzZiwweDAwLDB4YmYsMHg0MiwweDIyIH0sCi0gIDE2LCAweDgwNzAsIDAsIHsweGNhLDB4MDgsMHhmNCwweDAyLDB4M2UsMHgwMCwweGJmLDB4ZDAsMHgyMiwweDYwLDB4MjgsMHg4OCwweDBhLDB4M2QsMHg4MCwweDhkIH0sCi0gIDE2LCAweDgwODAsIDAsIHsweDQwLDB4MjIsMHhjOCwweDA4LDB4ODEsMHgwMiwweDIxLDB4ODAsMHhkYiwweGMwLDB4MmUsMHhhNSwweDBiLDB4OTgsMHg0MiwweDIwIH0sCi0gIDE2LCAweDgwOTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4Y2MsMHgxMCwweGIwLDB4MDAsMHgyYywweGMwIH0sCi0gIDE2LCAweDgwYTAsIDAsIHsweDBiLDB4MjAsMHgwMiwweGNjLDB4MDAsMHhiMywweDIwLDB4MjYsMHhjMCwweDhhLDB4MzYsMHgxMiwweDhjLDB4NDEsMHhiMywweDAwIH0sCi0gIDE2LCAweDgwYjAsIDAsIHsweDJlLDB4NDAsMHgwOCwweDAwLDB4MDIsMHgwZCwweDgxLDB4YTEsMHgzMCwweDIyLDB4YzgsMHg4OSwweGEyLDB4NDIsMHgwOCwweDIwIH0sCi0gIDE2LCAweDgwYzAsIDAsIHsweGIwLDB4MDAsMHgyYywweDQwLDB4MGIsMHg5MCwweDI2LDB4NjIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDgwZDAsIDAsIHsweGMwLDB4MTUsMHhhYywweDAwLDB4YjgsMHg1MCwweDJlLDB4YzAsMHgwYSwweDkwLDB4MDIsMHhhYywweDAwLDB4YmIsMHgwMCwweDIyIH0sCi0gIDE2LCAweDgwZTAsIDAsIHsweGMwLDB4MDgsMHhiMCwweDYyLDB4MmMsMHgxMCwweGJiLDB4MDQsMHgyYSwweGYwLDB4NGEsMHg4OCwweDAyLDB4MGMsMHgwMCwweDgxIH0sCi0gIDE2LCAweDgwZjAsIDAsIHsweDAwLDB4MjIsMHhjMCwweDA5LDB4YjgsMHg4MCwweDI2LDB4MDAsMHhiOCwweDgwLDB4MmUsMHgyMSwweDBiLDB4OTAsMHgwMiwweDMwIH0sCi0gIDE2LCAweDgxMDAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDE1LDB4ZWMsMHgwMCwweGQ4LDB4YzAsMHgzZSwweGMwIH0sCi0gIDE2LCAweDgxMTAsIDAsIHsweDBiLDB4ODAsMHgwMywweGVjLDB4MDAsMHhmYiwweDAwLDB4MzYsMHg4MCwweDBlLDB4YjAsMHgwMywweGFjLDB4MDAsMHhmYiwweDAwIH0sCi0gIDE2LCAweDgxMjAsIDAsIHsweDNjLDB4ZTAsMHgwYywweDBjLDB4MDMsMHgyYywweDAwLDB4ZTksMHgwMCwweDEwLDB4YzAsMHgwYywweDhjLDB4MDMsMHgwNiwweDAwIH0sCi0gIDE2LCAweDgxMzAsIDAsIHsweGY4LDB4Y2QsMHgzZSwweDIyLDB4MGYsMHgxOCwweDAzLDB4NDAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDgxNDAsIDAsIHsweGUwLDB4MDEsMHhiYywweDAwLDB4ZmYsMHgwMCwweDNlLDB4YzAsMHgwZiwweGYwLDB4MDMsMHg3YywweDAwLDB4ZjcsMHgwMiwweDNmIH0sCi0gIDE2LCAweDgxNTAsIDAsIHsweGU0LDB4MGYsMHg3MCwweDAzLDB4N2MsMHgwNCwweGI3LDB4MDAsMHgzNywweDQwLDB4MGQsMHhjMCwweDAzLDB4ZmMsMHgwMCwweGZkIH0sCi0gIDE2LCAweDgxNjAsIDAsIHsweDAwLDB4MzcsMHhkMCwweDBlLDB4YzAsMHg0MywweGY0LDB4MDAsMHhkZiwweDAwLDB4M2YsMHg4MCwweDhmLDB4ZGEsMHgwMywweGY4IH0sCi0gIDE2LCAweDgxNzAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YWMsMHgwMCwweGY4LDB4MTAsMHgzYSwweGMwIH0sCi0gIDE2LCAweDgxODAsIDAsIHsweDZkLDB4YTYsMHgxMywweGVjLDB4MDAsMHhjYiwweDAwLDB4M2EsMHhkMCwweDBmLDB4YjAsMHgwMywweDJjLDB4MTAsMHhkYiwweDEwIH0sCi0gIDE2LCAweDgxOTAsIDAsIHsweDM2LDB4ZDgsMHgwZCwweDg0LDB4MDMsMHhlYywweDA2LDB4YzksMHgwOCwweDNhLDB4YzAsMHgwZSwweDg2LDB4MDMsMHhhOCwweDYwIH0sCi0gIDE2LCAweDgxYTAsIDAsIHsweGY4LDB4MjAsMHgzYSwweDQwLDB4MGMsMHg5MCwweDAzLDB4NTQsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDgxYjAsIDAsIHsweDk4LDB4MDUsMHgzYywweDAwLDB4YmIsMHg0MCwweDIzLDB4ZDAsMHgwOCwweDMwLDB4MDIsMHgzZSwweDEwLDB4YWYsMHgwMCwweDIwIH0sCi0gIDE2LCAweDgxYzAsIDAsIHsweGMwLDB4MGIsMHhmMCwweDAyLDB4M2MsMHgwMCwweDhmLDB4NTAsMHgyZSwweGM4LDB4MDYsMHg4YSwweDAyLDB4ZmMsMHgwMCwweDhkIH0sCi0gIDE2LCAweDgxZDAsIDAsIHsweDI0LDB4ODIsMHhkNiwweDA4LDB4MzIsMHgwMiwweDJkLDB4MDgsMHgzYSwweDQwLDB4MjIsMHg4MCwweDBkLDB4OTAsMHgwMywweDYyIH0sCi0gIDE2LCAweDgxZTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDA1LDB4NGMsMHgwMCwweGIwLDB4MjAsMHgyOCwweGMyIH0sCi0gIDE2LCAweDgxZjAsIDAsIHsweDA4LDB4MDQsMHgwMiwweDhjLDB4MDAsMHgxMywweDAyLDB4MjgsMHhjMCwweDBiLDB4MzAsMHgwMiwweDBjLDB4MzAsMHg5MywweDgwIH0sCi0gIDE2LCAweDgyMDAsIDAsIHsweDI0LDB4ZDAsMHgwOSwweDIwLDB4MDIsMHhjYywweDAwLDB4OTEsMHg0MCwweDA4LDB4YzAsMHgyYSwweDE0LDB4MDIsMHg4MSwweDAwIH0sCi0gIDE2LCAweDgyMTAsIDAsIHsweDkwLDB4MDAsMHg2OCwweDAwLDB4MDgsMHgxOCwweDAyLDB4M2EsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDgyMjAsIDAsIHsweDcwLDB4MDEsMHgxZSwweDAwLDB4YjQsMHhhMCwweDIxLDB4ZTAsMHgwOCwweGM4LDB4MTIsMHg5ZSwweDAwLDB4YjMsMHg4MiwweDIxIH0sCi0gIDE2LCAweDgyMzAsIDAsIHsweGUwLDB4MGIsMHg3YSwweDBhLDB4MWUsMHgwMCwweDk3LDB4ODAsMHgyZCwweGUxLDB4MGEsMHg0OCwweDAyLDB4Y2UsMHg0MCwweDk1IH0sCi0gIDE2LCAweDgyNDAsIDAsIHsweDkwLDB4MjksMHhlNCwweDA4LDB4NTgsMHgwMiwweDlhLDB4MDAsMHhiNywweDg4LDB4MjEsMHhlMCwweDA5LDB4NTgsMHgwMiwweDVjIH0sCi0gIDE2LCAweDgyNTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0YSwweDAwLDB4MGMsMHgwMCwweGYwLDB4ODAsMHgzOCwweGM0IH0sCi0gIDE2LCAweDgyNjAsIDAsIHsweDBjLDB4MjUsMHgwMywweDhjLDB4MjAsMHg5MywweDAwLDB4MzgsMHhjNCwweDBmLDB4YjAsMHgwMywweDBjLDB4ODAsMHhkMywweDAwIH0sCi0gIDE2LCAweDgyNzAsIDAsIHsweDM0LDB4YzAsMHgwZCwweDA0LDB4MTMsMHhjYywweDA4LDB4OTksMHgwMCwweDJhLDB4YzAsMHgwZSwweDIxLDB4MDMsMHg4OCwweDA0IH0sCi0gIDE2LCAweDgyODAsIDAsIHsweGYzLDB4MDAsMHgzOCwweGMwLDB4MGMsMHgxMSwweDgzLDB4MTIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDgyOTAsIDAsIHsweDQyLDB4MTUsMHhiYywweDAwLDB4ZjQsMHgwMCwweDNmLDB4YzMsMHgwZSwweGMwLDB4MDMsMHgxYywweDAwLDB4YWYsMHg0YSwweDdmIH0sCi0gIDE2LCAweDgyYTAsIDAsIHsweGM0LDB4MGYsMHhiMiwweDAzLDB4ZmQsMHgwMSwweGVmLDB4MTAsMHgzZiwweDg0LDB4MGYsMHhjMCwweDAzLDB4ZmMsMHgwMCwweGU5IH0sCi0gIDE2LCAweDgyYjAsIDAsIHsweDAwLDB4MzcsMHhjMiwweDBlLDB4ZjEsMHg0NywweDdjLDB4MDAsMHhmNywweDAwLDB4M2QsMHhjMCwweDBmLDB4NTAsMHgwMywweGQwIH0sCi0gIDE2LCAweDgyYzAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhYSwweDE1LDB4ZWMsMHgwOCwweGY4LDB4MDAsMHgzZSwweGNhIH0sCi0gIDE2LCAweDgyZDAsIDAsIHsweDBmLDB4OTAsMHgwMywweGVmLDB4MjEsMHhmYiwweDgwLDB4N2EsMHg0MCwweDhmLDB4YjIsMHhhMSwweDJmLDB4MDAsMHhjYiwweDYwIH0sCi0gIDE2LCAweDgyZTAsIDAsIHsweDNlLDB4YzAsMHgwZiwweGIwLDB4MDMsMHhlZCwweGEwLDB4ZTksMHgzMCwweDMyLDB4YzAsMHgyZCwweGIwLDB4MDMsMHhlNCwweDAwIH0sCi0gIDE2LCAweDgyZjAsIDAsIHsweGY4LDB4MDAsMHgzZSwweDAwLDB4MGYsMHhiMCwweDAzLDB4ZWEsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDgzMDAsIDAsIHsweGM4LDB4OTEsMHg5ZCwweDAwLDB4YjQsMHgwMSwweDJkLDB4YzgsMHgwYiwweDcwLDB4MDIsMHhjYywweDgwLDB4OGYsMHgyMCwweDIxIH0sCi0gIDE2LCAweDgzMTAsIDAsIHsweGMwLDB4OGIsMHg3NiwweDAzLDB4NWQsMHgwMCwweDg3LDB4MGEsMHgyZCwweGMwLDB4MGIsMHg0MCwweDIyLDB4ZmQsMHgwMCwweDhkIH0sCi0gIDE2LCAweDgzMjAsIDAsIHsweDEwLDB4MjMsMHhjOCwweDA4LDB4NTAsMHgxMiwweGQ0LDB4MDAsMHhiNywweDAwLDB4MmQsMHhjMCwweDBiLDB4NzAsMHgwMiwweGYyIH0sCi0gIDE2LCAweDgzMzAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MSwweDAwLDB4OWUsMHgwMCwweGI0LDB4ODAsMHgyZCwweGUwIH0sCi0gIDE2LCAweDgzNDAsIDAsIHsweDBiLDB4N2MsMHgwMiwweGRlLDB4NDAsMHhhNywweDgyLDB4MmQsMHhlMCwweDBiLDB4M2EsMHgwMiwweDhlLDB4MDAsMHg4NywweDkwIH0sCi0gIDE2LCAweDgzNTAsIDAsIHsweDJkLDB4ZTAsMHgwYiwweDU4LDB4MDIsMHg1ZSwweDAwLDB4YTUsMHhhMiwweDY1LDB4ZTAsMHgwOCwweDY4LDB4ODIsMHhkYSwweDAwIH0sCi0gIDE2LCAweDgzNjAsIDAsIHsweDk1LDB4ODAsMHgyZCwweDYwLDB4MGIsMHg3OCwweDAyLDB4ZTAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDgzNzAsIDAsIHsweDA4LDB4ODQsMHhjYywweDAwLDB4YjAsMHgwOSwweDJjLDB4YzAsMHgwYiwweDM4LDB4MDIsMHhjYywweDAwLDB4ODMsMHgwMCwweDJlIH0sCi0gIDE2LCAweDgzODAsIDAsIHsweGMwLDB4MGIsMHgzMCwweDQyLDB4NGMsMHgwMCwweDgzLDB4MDAsMHgyYywweGEwLDB4MGIsMHgwNCwweDAyLDB4Y2MsMHgwMCwweDgxIH0sCi0gIDE2LCAweDgzOTAsIDAsIHsweDAwLDB4YTAsMHhjMCwweDA4LDB4YjAsMHgwNiwweGNmLDB4ODAsMHhiMywweDEwLDB4MmMsMHhjNCwweDBiLDB4MzEsMHgwMiwweGMzIH0sCi0gIDE2LCAweDgzYTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDA1LDB4YTgsMHgwMCwweGZlLDB4ODAsMHgzZSwweDgwIH0sCi0gIDE2LCAweDgzYjAsIDAsIHsweDBmLDB4ZTgsMHgxMywweGU4LDB4MDAsMHhlYSwweDAwLDB4M2YsMHhiMCwweDBmLDB4YTAsMHgwMywweGE4LDB4MDIsMHhjMiwweDAwIH0sCi0gIDE2LCAweDgzYzAsIDAsIHsweDJmLDB4ODgsMHgwZiwweGUwLDB4MDMsMHhlOCwweDAwLDB4ZWEsMHgwMCwweDM2LDB4MDAsMHgwYywweGUwLDB4MDMsMHhmOSwweDIwIH0sCi0gIDE2LCAweDgzZDAsIDAsIHsweGRlLDB4ODAsMHgzZiwweGEwLDB4NGYsMHhhOCwweDAzLDB4ZmEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDgzZTAsIDAsIHsweDQ4LDB4MDAsMHhlMCwweDAwLDB4ZjgsMHgxMCwweDNjLDB4MTAsMHgwZiwweDgwLDB4ODMsMHhlMSwweDAwLDB4ZTgsMHgwMCwweDIyIH0sCi0gIDE2LCAweDgzZjAsIDAsIHsweDA2LDB4MGYsMHgwMCwweDEzLDB4ZTAsMHgwMSwweGY4LDB4MDAsMHgzZSwweDAwLDB4MGYsMHg4MCwweDgzLDB4ZTAsMHgwMCwweGY4IH0sCi0gIDE2LCAweDg0MDAsIDAsIHsweDAwLDB4M2UsMHgwMCwweDBmLDB4ODQsMHgyMywweGUwLDB4MDAsMHhmOCwweDAwLDB4M2UsMHgxMCwweDBmLDB4ODAsMHgwMywweGQyIH0sCi0gIDE2LCAweDg0MTAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDAwLDB4ZTQsMHgwMCwweGY5LDB4MTAsMHgzZSwweDQ0IH0sCi0gIDE2LCAweDg0MjAsIDAsIHsweDBkLDB4OTAsMHgwMywweGU0LDB4MDAsMHhmOSwweDAwLDB4M2UsMHg0MCwweDBjLDB4OTAsMHgxMiwweDI0LDB4MDAsMHhmOSwweDEwIH0sCi0gIDE2LCAweDg0MzAsIDAsIHsweDMyLDB4NDAsMHg4ZiwweDkwLDB4MDMsMHhjNCwweDAwLDB4YzksMHgwMCwweDMyLDB4MTAsMHgwYywweDljLDB4MDEsMHgyNCwweDAwIH0sCi0gIDE2LCAweDg0NDAsIDAsIHsweGY5LDB4MTAsMHgzZSwweDcwLDB4MGYsMHg5MCwweDAyLDB4YzIsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDg0NTAsIDAsIHsweDgwLDB4MTQsMHg2NCwweDAwLDB4YjksMHhjMCwweDJlLDB4NDgsMHgwOCwweDkxLDB4MDIsMHhlNCwweDAwLDB4YjksMHgwMCwweDJlIH0sCi0gIDE2LCAweDg0NjAsIDAsIHsweDQwLDB4MGQsMHg5MCwweDAzLDB4NjcsMHgwMCwweGI5LDB4ODAsMHgyYSwweDYwLDB4MGIsMHg5OSwweDAyLDB4ZTQsMHgwMCwweDgxIH0sCi0gIDE2LCAweDg0NzAsIDAsIHsweDAwLDB4MjIsMHg0MCwweDJjLDB4OTAsMHgxMiwweDI1LDB4MjAsMHhiOSwweDQ4LDB4MmUsMHg1MiwweDBiLDB4OTQsMHgwMiwweGUwIH0sCi0gIDE2LCAweDg0ODAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4MjQsMHgwMCwweGI5LDB4MDAsMHgyZSwweDQwIH0sCi0gIDE2LCAweDg0OTAsIDAsIHsweDY4LDB4OTAsMHg0NiwweGU0LDB4MDAsMHhiOSwweDAwLDB4MmUsMHhjMCwweDA4LDB4OTAsMHgwMiwweGE0LDB4NjAsMHhiOSwweDAwIH0sCi0gIDE2LCAweDg0YTAsIDAsIHsweDIyLDB4NDgsMHgwYiwweDkwLDB4MDYsMHhlNCwweDAyLDB4ODksMHgwMCwweGEwLDB4NDAsMHgwOCwweDkwLDB4MDIsMHhhNiwweDEwIH0sCi0gIDE2LCAweDg0YjAsIDAsIHsweGI5LDB4MDAsMHgwZSwweDQwLDB4MGIsMHg5MCwweDAyLDB4YzYsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDg0YzAsIDAsIHsweDA4LDB4MDQsMHgwNCwweDgwLDB4YjEsMHgwMCwweDJjLDB4NDgsMHgwOCwweDEwLDB4MDIsMHhjNCwweDg0LDB4YjEsMHgyMCwweDJjIH0sCi0gIDE2LCAweDg0ZDAsIDAsIHsweDQwLDB4MDksMHgxMiwweDAyLDB4YzQsMHg4MCwweGIxLDB4MjAsMHgyOCwweDQwLDB4MGIsMHgxMCwweDAyLDB4YzQsMHg4MCwweDg5IH0sCi0gIDE2LCAweDg0ZTAsIDAsIHsweDIwLDB4MjAsMHg0MCwweDRiLDB4MTIsMHgwYSwweDg0LDB4ODQsMHhiMSwweDIwLDB4MmMsMHg0OCwweDhiLDB4MTAsMHgwMiwweGMyIH0sCi0gIDE2LCAweDg0ZjAsIDAsIHsweDExLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjEsMHg0MCwweGJhLDB4MDAsMHgyZSwweDAwIH0sCi0gIDE2LCAweDg1MDAsIDAsIHsweDBjLDB4ODAsMHgwMywweGU4LDB4MDgsMHhmOCwweDUwLDB4M2UsMHgxNCwweDBjLDB4ODUsMHgwMywweDIwLDB4MDAsMHhiOCwweDAwIH0sCi0gIDE2LCAweDg1MTAsIDAsIHsweDMyLDB4MDAsMHgwZiwweGEwLDB4MDMsMHhlMSwweDQwLDB4YzgsMHg1MCwweDMyLDB4MTQsMHgwYywweGE1LDB4MDMsMHhhMSwweDQwIH0sCi0gIDE2LCAweDg1MjAsIDAsIHsweGY4LDB4MDAsMHgzZSwweDAwLDB4MGYsMHhhMCwweDAzLDB4ZWUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDg1MzAsIDAsIHsweDg4LDB4MGQsMHhlNCwweDQwLDB4ZmQsMHgwMCwweDNlLDB4NDQsMHgwZiwweGQwLDB4MDMsMHhlNCwweDQwLDB4YjksMHgxMSwweDNmIH0sCi0gIDE2LCAweDg1NDAsIDAsIHsweDQwLDB4MGYsMHg5MSwweDAzLDB4NjQsMHg0NCwweGY5LDB4MTAsMHgzZiwweDQwLDB4MGYsMHhkMCwweDAzLDB4ZTQsMHg0MCwweGZkIH0sCi0gIDE2LCAweDg1NTAsIDAsIHsweDEwLDB4M2YsMHgxMCwweDhjLDB4ZDEsMHgwMywweDc0LDB4NDAsMHhmZiwweDEwLDB4M2YsMHg0NCwweDBmLDB4ZDAsMHgwMywweGU2IH0sCi0gIDE2LCAweDg1NjAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4NjYsMHgyMCwweGVkLDB4MDAsMHgzMywweDY5IH0sCi0gIDE2LCAweDg1NzAsIDAsIHsweDRkLDB4NTAsMHg0MywweDU2LDB4MDAsMHhmOSwweGEwLDB4MzQsMHg0MCwweDBmLDB4OWEsMHgwYiwweDM0LDB4MDAsMHhkZCwweDgwIH0sCi0gIDE2LCAweDg1ODAsIDAsIHsweDNiLDB4NDAsMHgwYiwweDUwLDB4MDMsMHhlNCwweDAwLDB4ZjksMHgwMCwweDMyLDB4ZTAsMHgwZSwweGQwLDB4MDMsMHhmNCwweDAwIH0sCi0gIDE2LCAweDg1OTAsIDAsIHsweGZkLDB4MDAsMHgzZiwweDQwLDB4MGMsMHhkMCwweDAzLDB4YzYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDg1YTAsIDAsIHsweDc4LDB4MTAsMHhlMiwweDgwLDB4ODgsMHgwNCwweDIyLDB4MTAsMHgwYiwweDgwLDB4MDIsMHgyMCwweDA5LDB4YjgsMHhmMCwweDIyIH0sCi0gIDE2LCAweDg1YjAsIDAsIHsweDAwLDB4MGIsMHg4ZSwweDEyLDB4YTAsMHgwMCwweGI4LDB4NTIsMHgyZSwweDAwLDB4MGIsMHg4MCwweDAyLDB4ZTAsMHgwNSwweGI4IH0sCi0gIDE2LCAweDg1YzAsIDAsIHsweGFhLDB4MjMsMHgzZSwweDBkLDB4ODAsMHgwMiwweGUwLDB4MDAsMHhiOCwweDAwLDB4M2EsMHgwMCwweDA4LDB4ODAsMHgwMiwweGNlIH0sCi0gIDE2LCAweDg1ZDAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA1LDB4YzQsMHgyMCwweGE5LDB4MDAsMHhhNCwweDQ0IH0sCi0gIDE2LCAweDg1ZTAsIDAsIHsweDA5LDB4OTAsMHgwMiwweGM1LDB4MDAsMHhhMSwweDA4LDB4MmMsMHg0MCwweDBiLDB4MTEsMHg4MiwweDA0LDB4MDAsMHhiMSwweDAwIH0sCi0gIDE2LCAweDg1ZjAsIDAsIHsweDI4LDB4NDAsMHgwYSwweDEwLDB4NDIsMHhjNCwweDAwLDB4YjUsMHgwMCwweGExLDB4NDAsMHgwOCwweDEwLDB4MDIsMHhjNCwweDAwIH0sCi0gIDE2LCAweDg2MDAsIDAsIHsweGIxLDB4MDEsMHgyYywweDQwLDB4MDgsMHgxMCwweDIwLDB4ZDIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDg2MTAsIDAsIHsweDE4LDB4MTUsMHhhNCwweDAwLDB4ODksMHgwNCwweDIyLDB4NDAsMHgwYiwweDkwLDB4MDAsMHhhYywweDAwLDB4MzksMHgwMCwweDJhIH0sCi0gIDE2LCAweDg2MjAsIDAsIHsweDQwLDB4MGIsMHgxMCwweDAyLDB4YTQsMHgwMCwweGI5LDB4MDAsMHgyZSwweDQ4LDB4MGIsMHg5MCwweDEyLDB4ZTQsMHgwMCwweGI5IH0sCi0gIDE2LCAweDg2MzAsIDAsIHsweDAwLDB4MjEsMHg2MCwweDA5LDB4OTIsMHgyMiwweGU0LDB4MjgsMHhiOSwweDAwLDB4MGEsMHg1MCwweDA4LDB4OTAsMHgwNiwweGM2IH0sCi0gIDE2LCAweDg2NDAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4ZTQsMHgwMCwweGU5LDB4MDAsMHgzNiwweDQwIH0sCi0gIDE2LCAweDg2NTAsIDAsIHsweDBkLDB4OTAsMHgwMywweGU0LDB4MDAsMHhmOSwweDAwLDB4M2UsMHg0OCwweDBmLDB4OTAsMHgwMywweDI0LDB4MDAsMHhkOSwweDAwIH0sCi0gIDE2LCAweDg2NjAsIDAsIHsweDNhLDB4NzgsMHgwZSwweDk4LDB4MDMsMHhlNCwweDAwLDB4YjksMHgwMCwweGIyLDB4NDAsMHgwZSwweDkyLDB4MjMsMHhlNiwweDAwIH0sCi0gIDE2LCAweDg2NzAsIDAsIHsweGI5LDB4NTAsMHgzZSwweDcwLDB4MmMsMHg5MCwweDAzLDB4ZTgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDg2ODAsIDAsIHsweDY4LDB4MDEsMHg4NCwweDAwLDB4ZjksMHgwMCwweDNlLDB4NDAsMHg0ZiwweDljLDB4MjMsMHg2NCwweDAwLDB4ZjksMHgwNCwweDM2IH0sCi0gIDE2LCAweDg2OTAsIDAsIHsweDQ4LDB4MGYsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGY5LDB4MDAsMHgzZSwweDYwLDB4MGYsMHg5MiwweDAzLDB4ZTQsMHgwMCwweGY5IH0sCi0gIDE2LCAweDg2YTAsIDAsIHsweDAwLDB4M2UsMHg0MCwweDhmLDB4OTAsMHg4MywweGU0LDB4NDQsMHhmOSwweDAwLDB4NzgsMHg2NCwweDBmLDB4OTAsMHgwMywweGRhIH0sCi0gIDE2LCAweDg2YjAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTAsMHgwMCwweGY4LDB4MDAsMHgzZSwweDAwIH0sCi0gIDE2LCAweDg2YzAsIDAsIHsweDBmLDB4ODIsMHgwMywweGEwLDB4NDAsMHhlOCwweDAwLDB4M2UsMHgwMCwweDBkLDB4ODAsMHgwMywweDIwLDB4YzAsMHhjOCwweDgwIH0sCi0gIDE2LCAweDg2ZDAsIDAsIHsweDNlLDB4MTIsMHgwZiwweDgwLDB4MDMsMHg2MCwweDAwLDB4N2MsMHgwMCwweDMzLDB4MDAsMHgwZCwweDgwLDB4MTMsMHhlMCwweDEwIH0sCi0gIDE2LCAweDg2ZTAsIDAsIHsweGM4LDB4NjQsMHgzZSwweDA4LDB4MGMsMHg4MiwweDAzLDB4Y2EsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDg2ZjAsIDAsIHsweDI4LDB4MDUsMHgyOCwweDAwLDB4YjYsMHhlMCwweDBmLDB4YTAsMHgwYiwweDYwLDB4ODIsMHgzOCwweDAwLDB4YWEsMHgwMCwweDJlIH0sCi0gIDE2LCAweDg3MDAsIDAsIHsweDgwLDB4MDgsMHhhMCwweDQyLDB4YmEsMHgwMCwweGFlLDB4MjAsMHgyZiwweDg4LDB4MGIsMHhlNSwweDAyLDB4MjgsMHgwMCwweGJhIH0sCi0gIDE2LCAweDg3MTAsIDAsIHsweGQ4LDB4MzcsMHg4MCwweDA4LDB4ZWMsMHgwMiwweGY4LDB4MDQsMHg4ZSwweDAwLDB4MmYsMHg5MCwweDBkLDB4ZTAsMHgwMiwweGNhIH0sCi0gIDE2LCAweDg3MjAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NGMsMHgwMCwweGIwLDB4MjQsMHgyYywweDYwIH0sCi0gIDE2LCAweDg3MzAsIDAsIHsweDBiLDB4MzgsMHgwMiwweDhlLDB4ODAsMHhhYiwweDAwLDB4MmMsMHhjMCwweDA5LDB4MzAsMHgwMiwweDBkLDB4MDgsMHgwMCwweDgwIH0sCi0gIDE2LCAweDg3NDAsIDAsIHsweDZjLDB4ZDAsMHgwYiwweDM0LDB4MDIsMHhjYywweDAwLDB4YjgsMHhjMCwweDIwLDB4MDAsMHg0OCwweDM0LDB4MTIsMHhjYywweDQwIH0sCi0gIDE2LCAweDg3NTAsIDAsIHsweDgzLDB4MDAsMHgyYywweGUwLDB4MGEsMHgzNSwweDAyLDB4Y2EsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDg3NjAsIDAsIHsweGEwLDB4MDEsMHgxYywweDQwLDB4YjcsMHgwMCwweDJkLDB4MDIsMHg4YiwweDYwLDB4MDIsMHg5ZSwweDAwLDB4ODcsMHgyMCwweDJmIH0sCi0gIDE2LCAweDg3NzAsIDAsIHsweGUwLDB4MDgsMHg3MiwweDAyLDB4OWUsMHgwMCwweGE0LDB4MDAsMHgyZCwweGMwLDB4MGIsMHhmOCwweDAyLDB4OWMsMHhjMCwweGIzIH0sCi0gIDE2LCAweDg3ODAsIDAsIHsweDAyLDB4YTUsMHhjMCwweDA4LDB4NTAsMHg4NiwweGZlLDB4MDAsMHg4NywweDAwLDB4MmYsMHhkMCwweDA5LDB4NzAsMHgwMiwweGU4IH0sCi0gIDE2LCAweDg3OTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MWUsMHgwMCwweGY0LDB4ODAsMHgzZCwweDIwIH0sCi0gIDE2LCAweDg3YTAsIDAsIHsweDBmLDB4NTgsMHgwMywweDllLDB4MDAsMHg2NywweDgwLDB4M2QsMHhmOCwweDBkLDB4MzgsMHgwMiwweDFhLDB4MTAsMHg0NCwweDgwIH0sCi0gIDE2LCAweDg3YjAsIDAsIHsweDNkLDB4ZTAsMHgwZiwweDU4LDB4MDMsMHhkZSwweDIwLDB4YjQsMHg4MCwweDMzLDB4YTAsMHgyYywweDY4LDB4MDMsMHhkNiwweDAwIH0sCi0gIDE2LCAweDg3YzAsIDAsIHsweGM3LDB4ODEsMHgzZCwweGUwLDB4MGMsMHg3OCwweDAzLDB4ZWEsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDg3ZDAsIDAsIHsweDA4LDB4MWQsMHhhYywweDA4LDB4ZjgsMHgwMCwweDNlLDB4MDAsMHg4ZiwweDgwLDB4MDMsMHg2YywweDAwLDB4M2IsMHgxMiwweDNlIH0sCi0gIDE2LCAweDg3ZTAsIDAsIHsweGNhLDB4MGYsMHhiNSwweDAzLDB4YzgsMHgwMCwweGY4LDB4MDQsMHg3ZSwweGMwLDB4MGYsMHg5MCwweDAzLDB4NmMsMHg4MCwweGZiIH0sCi0gIDE2LCAweDg3ZjAsIDAsIHsweDA0LDB4M2EsMHg0MCwweDBmLDB4OTAsMHgyMywweGM4LDB4MDAsMHhmOSwweDAxLDB4M2MsMHhjMCwweDBmLDB4YjAsMHgwMywweGMyIH0sCi0gIDE2LCAweDg4MDAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZmUsMHgwMCwweGFjLDB4OTAsMHgzMSwweDQ4IH0sCi0gIDE2LCAweDg4MTAsIDAsIHsweDA4LDB4ZjgsMHgwMywweGZhLDB4MDAsMHhjZiwweDgwLDB4M2YsMHhlMCwweDBjLDB4ZmMsMHgxMywweDNlLDB4MDQsMHhmYywweDgwIH0sCi0gIDE2LCAweDg4MjAsIDAsIHsweDM1LDB4YTAsMHgwYywweDc4LDB4MDMsMHhiZSwweDAwLDB4ZGYsMHg4MCwweDNiLDB4MjAsMHgyNCwweGY4LDB4MDMsMHgyZSwweDQwIH0sCi0gIDE2LCAweDg4MzAsIDAsIHsweGNmLDB4ODAsMHgzMywweGUwLDB4MDMsMHhmOSwweDAzLDB4ZDAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDg4NDAsIDAsIHsweGE4LDB4MTEsMHhiYywweDAwLDB4ODAsMHgwMCwweDAxLDB4MDAsMHgwOCwweDcyLDB4MDIsMHhkMCwweDAwLDB4ODcsMHgwMCwweDJkIH0sCi0gIDE2LCAweDg4NTAsIDAsIHsweGM4LDB4MGEsMHhmMCwweDAyLDB4OTgsMHg0MCwweGY1LDB4MDAsMHg2MSwweDQxLDB4MDAsMHg3NCwweDAyLDB4MWMsMHgwMCwweGI0IH0sCi0gIDE2LCAweDg4NjAsIDAsIHsweDAwLDB4MjEsMHhjOCwweDA4LDB4NjAsMHgwMiwweDNlLDB4MjAsMHg4NiwweDA4LDB4MjEsMHhkOCwweDBmLDB4NTAsMHgwMiwweGVhIH0sCi0gIDE2LCAweDg4NzAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDAwLDB4OWMsMHgwMCwweGE0LDB4MDAsMHgyMSwweDAwIH0sCi0gIDE2LCAweDg4ODAsIDAsIHsweDA4LDB4NTAsMHgwMiwweGQ4LDB4MDAsMHg5NywweDAwLDB4MmQsMHhjMCwweDg4LDB4NzEsMHgwMiwweDE0LDB4MDAsMHhiMCwweDAwIH0sCi0gIDE2LCAweDg4OTAsIDAsIHsweDI1LDB4OTAsMHgwOCwweGMwLDB4ODIsMHg5YywweDQwLDB4OTMsMHgwMCwweDI5LDB4YTEsMHg4OCwweDYwLDB4MDIsMHgxNCwweDEyIH0sCi0gIDE2LCAweDg4YTAsIDAsIHsweDg3LDB4NDAsMHgyOSwweDQwLDB4MGIsMHg2MCwweDAyLDB4YzQsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDg4YjAsIDAsIHsweDYwLDB4MTQsMHhjYywweDAwLDB4ODAsMHhkMCwweGEwLDB4MDAsMHgwOCwweDFjLDB4MDIsMHhjMCwweDAwLDB4OTMsMHgwMCwweDJjIH0sCi0gIDE2LCAweDg4YzAsIDAsIHsweGQwLDB4MGEsMHhiMCwweDI2LDB4ODAsMHgwMCwweGIzLDB4MDAsMHgyNCwweGU0LDB4MDgsMHgwOCwweDAyLDB4OGMsMHgwMCwweGIwIH0sCi0gIDE2LCAweDg4ZDAsIDAsIHsweDAyLDB4MDIsMHg0MSwweDA4LDB4MDgsMHgwMiwweDAzLDB4MDEsMHg4MSwweDAwLDB4MjgsMHg0MiwweDFhLDB4MDAsMHg0MiwweGQ4IH0sCi0gIDE2LCAweDg4ZTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhmOCwweDE1LDB4YmMsMHgwMCwweGU4LDB4YzAsMHgzMiwweDgwIH0sCi0gIDE2LCAweDg4ZjAsIDAsIHsweDBjLDB4YjUsMHgwMywweGU0LDB4MDAsMHg5ZiwweDAwLDB4M2QsMHhlMCwweDBjLDB4ZjAsMHgwYiwweDI0LDB4MDAsMHhmOCwweDAwIH0sCi0gIDE2LCAweDg5MDAsIDAsIHsweDM2LDB4ZTAsMHgwYywweDI1LDB4MDMsMHhiYywweDA1LDB4ZDgsMHgwMiwweDJhLDB4MDAsMHgwOCwweGJhLDB4MDIsMHgyYSwweDAwIH0sCi0gIDE2LCAweDg5MTAsIDAsIHsweGMxLDB4MDIsMHgzYSwweDUwLDB4OGIsMHg5MCwweDAzLDB4ZWUsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDg5MjAsIDAsIHsweDgwLDB4MDAsMHhlYywweDAwLDB4ZmIsMHgwOCwweDNlLDB4ODAsMHgwZiwweGExLDB4MDMsMHhlYywweDA0LDB4ZWIsMHgwMiwweDJlIH0sCi0gIDE2LCAweDg5MzAsIDAsIHsweGM2LDB4MGYsMHhiMCwweDE3LDB4NDQsMHgwMCwweGU4LDB4MDAsMHgzYSwweDQwLDB4MGYsMHg4MCwweDAyLDB4NmMsMHgwMCwweGZiIH0sCi0gIDE2LCAweDg5NDAsIDAsIHsweDAwLDB4M2UsMHhlMCwweDBmLDB4OTAsMHg5MywweGUxLDB4MDAsMHhkOSwweDAwLDB4MjYsMHg3MCwweDhmLDB4OTAsMHgwMSwweGUxIH0sCi0gIDE2LCAweDg5NTAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDEwLDB4ZmMsMHgwMCwweGZjLDB4MDMsMHgzNywweDI0IH0sCi0gIDE2LCAweDg5NjAsIDAsIHsweDBkLDB4ZjgsMHgwMywweGUwLDB4MDAsMHhmZiwweDAwLDB4M2YsMHhjMSwweDhkLDB4ZjAsMHgwYiwweDM4LDB4MDAsMHhjYywweDAwIH0sCi0gIDE2LCAweDg5NzAsIDAsIHsweDNmLDB4YzAsMHgwZiwweGZhLDB4MDMsMHgzYywweDBjLDB4ZmMsMHgwNCwweDNiLDB4ODAsMHgwYywweGEwLDB4MDMsMHg5NCwweDIwIH0sCi0gIDE2LCAweDg5ODAsIDAsIHsweDg5LDB4MDUsMHgzYiwweDAwLDB4NGYsMHhkMCwweDIzLDB4YzAsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDg5OTAsIDAsIHsweDgwLDB4MDQsMHg2YywweDAwLDB4YjAsMHgwNiwweDIwLDB4MTMsMHg4OCwweGE4LDB4MDIsMHhlYiwweDAwLDB4YmIsMHgwMCwweDJlIH0sCi0gIDE2LCAweDg5YTAsIDAsIHsweGMwLDB4MDgsMHhiMCwweDAyLDB4MmEsMHgwMCwweGE4LDB4ODAsMHgyZSwweGUwLDB4MGIsMHg5NCwweDFhLDB4MmMsMHgwMCwweGJiIH0sCi0gIDE2LCAweDg5YjAsIDAsIHsweDAwLDB4YTIsMHg0MCwweDI5LDB4OTgsMHgwMiwweGUyLDB4MDAsMHhhOSwweDg0LDB4MjIsMHgyMCwweDBiLDB4OTgsMHgwMiwweGUwIH0sCi0gIDE2LCAweDg5YzAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MmMsMHgwMCwweGI4LDB4MDAsMHgyMiwweDAwIH0sCi0gIDE2LCAweDg5ZDAsIDAsIHsweDA5LDB4ODIsMHgwMiwweGU2LDB4MDAsMHhiYiwweDAwLDB4MmUsMHhjMCwweDBiLDB4YjAsMHgwMiwweDI2LDB4MDAsMHg4OCwweDgwIH0sCi0gIDE2LCAweDg5ZTAsIDAsIHsweDJlLDB4YTAsMHgwYiwweGEwLDB4MDIsMHgyYywweDAwLDB4YjMsMHgwMCwweDJhLDB4MDAsMHgwOSwweDk4LDB4MDIsMHhlYSwweDIwIH0sCi0gIDE2LCAweDg5ZjAsIDAsIHsweGE5LDB4ODAsMHgyYSwweDYwLDB4OWIsMHg5OCwweDgyLDB4ZTAsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDhhMDAsIDAsIHsweDA4LDB4MDQsMHgwYywweDAwLDB4YjgsMHgwMCwweDIwLDB4MDAsMHgwOSwweDA4LDB4MDIsMHhjNCwweDAwLDB4YjMsMHgwMCwweDI2IH0sCi0gIDE2LCAweDhhMTAsIDAsIHsweGMwLDB4MDAsMHgzMCwweDAyLDB4MDAsMHgwMCwweDgxLDB4MDAsMHgyYywweDQxLDB4MGIsMHgwMCwweDAyLDB4MGMsMHgwMCwweGIwIH0sCi0gIDE2LCAweDhhMjAsIDAsIHsweDAwLDB4MjAsMHhjMCwweDBiLDB4MDAsMHgwMiwweGM4LDB4ODAsMHhhOCwweDAwLDB4MjAsMHg0MSwweDBiLDB4MTAsMHgwMiwweGMyIH0sCi0gIDE2LCAweDhhMzAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4NmMsMHgxMCwweGY4LDB4NTAsMHhiMiwweDAwIH0sCi0gIDE2LCAweDhhNDAsIDAsIHsweDBkLDB4ODAsMHgwMywweGUwLDB4MDAsMHhmYiwweDAwLDB4M2QsMHhjMCwweDBkLDB4ZjAsMHgxMywweDI0LDB4MDIsMHhjOCwweDA2IH0sCi0gIDE2LCAweDhhNTAsIDAsIHsweDNlLDB4ODAsMHgwZiwweGEwLDB4MDMsMHgzYywweDA0LDB4ZmIsMHgwMCwweDc4LDB4ODAsMHgwYywweGEwLDB4MDMsMHhlNCwweDAwIH0sCi0gIDE2LCAweDhhNjAsIDAsIHsweGU5LDB4MDAsMHgxYSwweDQwLDB4MGYsMHg5MCwweDAzLDB4YzAsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDhhNzAsIDAsIHsweGEwLDB4MWQsMHhmYywweDAwLDB4ZjQsMHgyMCwweDNmLDB4MDAsMHgwZSwweGMwLDB4MDIsMHhmMCwweDAxLDB4ZmYsMHgwMCwweDNmIH0sCi0gIDE2LCAweDhhODAsIDAsIHsweGMwLDB4MGYsMHhmMCwweDIzLDB4ZjAsMHgwMCwweGZkLDB4MDAsMHgzZiwweGMwLDB4MGYsMHhjMCwweDAzLDB4ZmMsMHgwMCwweGZjIH0sCi0gIDE2LCAweDhhOTAsIDAsIHsweDAwLDB4M2YsMHg0MCwweDljLDB4YzAsMHgwMywweGYwLDB4NDAsMHhmZCwweDAwLDB4M2YsMHg0MCwweDBmLDB4ZDAsMHg0MywweGU4IH0sCi0gIDE2LCAweDhhYTAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZjAsMHgwMCwweGVkLDB4MjMsMHhiNywweDQ4IH0sCi0gIDE2LCAweDhhYjAsIDAsIHsweDBjLDB4ZTEsMHhjMywweDdjLDB4YzAsMHhkZCwweDgwLDB4MzcsMHhlMCwweDBmLDB4Y2IsMHgwMywweGZlLDB4MDgsMHhmYywweDI4IH0sCi0gIDE2LCAweDhhYzAsIDAsIHsweDNmLDB4ZjAsMHgxYywweGZiLDB4MjMsMHg3YywweDAxLDB4ZmYsMHgxNCwweDc3LDB4ZTIsMHg0ZiwweGU4LDB4MjMsMHg3YywweDAwIH0sCi0gIDE2LCAweDhhZDAsIDAsIHsweGM0LDB4ODAsMHgzMywweDQ4LDB4MmMsMHhmOCwweDIyLDB4MzAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDhhZTAsIDAsIHsweDgwLDB4MTAsMHhlMCwweGUwLDB4YzksMHhjMCwweDIyLDB4NWIsMHg4OCwweDk2LDB4MjIsMHgyZCwweDAwLDB4ODksMHgyMiwweDIyIH0sCi0gIDE2LCAweDhhZjAsIDAsIHsweGNhLDB4MGIsMHg5ZSwweDIyLDB4ZTIsMHhhMCwweGI5LDB4NjEsMHgyYywweGUwLDB4ODgsMHg5ZiwweDAyLDB4M2QsMHg4NSwweGJmIH0sCi0gIDE2LCAweDhiMDAsIDAsIHsweDYwLDB4MjYsMHg1MCwweDQ4LDB4YTAsMHgwMiwweDNjLDB4MDAsMHg4OCwweDAwLDB4MjIsMHg1MCwweDA4LDB4YjAsMHgwMiwweDIwIH0sCi0gIDE2LCAweDhiMTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4YzAsMHg4MCwweGIxLDB4MTAsMHgyMCwweDQ0IH0sCi0gIDE2LCAweDhiMjAsIDAsIHsweDBiLDB4YjIsMHgwMiwweGNlLDB4ZDAsMHg4MSwweDA4LDB4MmMsMHhjMCwweDBiLDB4MDEsMHgwMiwweDhjLDB4MDgsMHhiMywweDA4IH0sCi0gIDE2LCAweDhiMzAsIDAsIHsweDJjLDB4YzksMHgwOCwweDEwLDB4NjIsMHg4YywweDYwLDB4YjMsMHgzMiwweDI0LDB4ODAsMHgwYSwweGEwLDB4MDIsMHg2YywweDAzIH0sCi0gIDE2LCAweDhiNDAsIDAsIHsweDlhLDB4MDEsMHgyNiwweDQ0LDB4NDgsMHhiMCwweDQyLDB4NjIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDhiNTAsIDAsIHsweGMwLDB4MTUsMHhhNCwweGEwLDB4OGIsMHgwMiwweDIyLDB4ZTAsMHgwYiwweGIwLDB4NjIsMHhhYywweDk4LDB4OTksMHgwMCwweDJhIH0sCi0gIDE2LCAweDhiNjAsIDAsIHsweGMyLDB4MGIsMHg5OCwweDA2LDB4ZTQsMHgwMCwweGJiLDB4MDIsMHgyZSwweGMwLDB4MDgsMHg5MSwweDQyLDB4MmMsMHgxMCwweGJiIH0sCi0gIDE2LCAweDhiNzAsIDAsIHsweDAwLDB4NmUsMHg4MCwweDBhLDB4ODAsMHgwMiwweDZjLDB4MDAsMHgxYiwweDAwLDB4MDYsMHg0MCwweDQ4LDB4YjgsMHgwYSwweDcwIH0sCi0gIDE2LCAweDhiODAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDExLDB4ZTcsMHgwMCwweGExLDB4MDAsMHg3NiwweDc4IH0sCi0gIDE2LCAweDhiOTAsIDAsIHsweDBmLDB4YjAsMHgwMywweGU4LDB4MTAsMHhkOSwweDAwLDB4M2UsMHhkMCwweDRiLDB4OWUsMHgxMywweGFjLDB4MDgsMHhiOCwweGEwIH0sCi0gIDE2LCAweDhiYTAsIDAsIHsweDdlLDB4YzYsMHgwOCwweGE4LDB4MDIsMHgyYywweDAxLDB4YmIsMHgwMCwweDI2LDB4MzAsMHg0ZSwweDIwLDB4MDMsMHg0YywweDE4IH0sCi0gIDE2LCAweDhiYjAsIDAsIHsweDk5LDB4ODAsMHhiNCwweDQwLDB4NGMsMHgzYSwweDAzLDB4NDAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDhiYzAsIDAsIHsweGUwLDB4MDEsMHhiMiwweDAwLDB4ZmQsMHhjNSwweDNiLDB4YzAsMHg0YywweGQwLDB4MDMsMHg2YSwweDAyLDB4ZWQsMHgwNiwweDMzIH0sCi0gIDE2LCAweDhiZDAsIDAsIHsweGM0LDB4MGYsMHhkMCwweDUzLDB4ZjgsMHgwMCwweGZjLDB4OTAsMHg3ZiwweGMxLDB4MGYsMHg3OCwweDAzLDB4YmMsMHgwNCwweGZmIH0sCi0gIDE2LCAweDhiZTAsIDAsIHsweDAwLDB4MzcsMHg2NCwweDBjLDB4ZjEsMHgwMywweGE0LDB4MDAsMHhlZCwweGExLDB4M2IsMHg0MCwweDBiLDB4ZjAsMHg4MywweGI4IH0sCi0gIDE2LCAweDhiZjAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4OGMsMHgwMCwweGNiLDB4MjAsMHgzZSwweDcxIH0sCi0gIDE2LCAweDhjMDAsIDAsIHsweDBmLDB4YjMsMHgwMywweDk4LDB4MDIsMHhmYiwweDAyLDB4MzYsMHg0OCwweDBmLDB4OTAsMHgwMywweGVjLDB4MjAsMHhmOCwweDAwIH0sCi0gIDE2LCAweDhjMTAsIDAsIHsweDNlLDB4Y2MsMHgwNCwweDg0LDB4MDMsMHgyYywweDAwLDB4ZGIsMHgwNCwweDNjLDB4MTAsMHgwZiwweGEwLDB4MDMsMHhlYywweDAwIH0sCi0gIDE2LCAweDhjMjAsIDAsIHsweDliLDB4MDAsMHgzMiwweDQwLDB4MGMsMHg5MCwweDAzLDB4ZDAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDhjMzAsIDAsIHsweDg4LDB4MDUsMHgyYywweDAyLDB4OGIsMHg0OCwweDJlLDB4ZTAsMHgwYiwweDM0LDB4MDMsMHg2YiwweDAwLDB4OGIsMHhmNSwweDIyIH0sCi0gIDE2LCAweDhjNDAsIDAsIHsweGYyLDB4MGIsMHg5YywweDAzLDB4YWYsMHgwMCwweGI4LDB4NTAsMHgyZSwweGMwLDB4MDgsMHhiMCwweDAyLDB4N2MsMHgwMCwweDhmIH0sCi0gIDE2LCAweDhjNTAsIDAsIHsweDAwLDB4MGUsMHg1ZCwweDBiLDB4ODAsMHgwMiwweGY1LDB4NDAsMHg4MywweDUwLDB4MjMsMHg1NCwweDA4LDB4OWMsMHgwMiwweGU2IH0sCi0gIDE2LCAweDhjNjAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA0LDB4NGMsMHgwMCwweDgxLDB4ODEsMHgyZSwweDQwIH0sCi0gIDE2LCAweDhjNzAsIDAsIHsweDAzLDB4MmMsMHgwMiwweDA0LDB4MzMsMHg5OSwweDAwLDB4MjAsMHhmMCwweDRhLDB4MjgsMHg4MCwweGNjLDB4NDAsMHhiMCwweDAwIH0sCi0gIDE2LCAweDhjODAsIDAsIHsweDI2LDB4MTAsMHgwOCwweDIwLDB4MDIsMHg0YywweDAwLDB4ODMsMHgwMCwweDJjLDB4YzAsMHgwOSwweDIwLDB4MDIsMHhjYywweDAwIH0sCi0gIDE2LCAweDhjOTAsIDAsIHsweGEwLDB4MDIsMHgyOCwweDQwLDB4MDgsMHgwOCwweDAyLDB4N2EsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDhjYTAsIDAsIHsweDIwLDB4MDEsMHgwYSwweDAwLDB4ODUsMHg4MCwweDJkLDB4ZjgsMHgwYiwweGRhLDB4MDIsMHhkNiwweDQwLDB4ODUsMHhhMCwweDIxIH0sCi0gIDE2LCAweDhjYjAsIDAsIHsweGUwLDB4MGIsMHg0OCwweDA2LDB4OTIsMHgwNCwweGI1LDB4ODAsMHgyZCwweDIxLDB4MDgsMHgwMCwweDAyLDB4NGUsMHgwMCwweDg3IH0sCi0gIDE2LCAweDhjYzAsIDAsIHsweGE0LDB4MmQsMHg2MCwweDBiLDB4NjgsMHgwMiwweGRlLDB4YzIsMHhhZCwweDkwLDB4MmIsMHg2MCwweDI4LDB4NTgsMHg4MiwweGRjIH0sCi0gIDE2LCAweDhjZDAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4NGMsMHg0MCwweGMzLDB4MTAsMHgyYywweDZjIH0sCi0gIDE2LCAweDhjZTAsIDAsIHsweDBmLDB4MzAsMHgwMywweDg2LDB4YTIsMHhmOSwweGIwLDB4YjAsMHhlMCwweDBmLDB4MjksMHg4MywweGNlLDB4NDQsMHhmMywweDgwIH0sCi0gIDE2LCAweDhjZjAsIDAsIHsweDNjLDB4YWMsMHgwYywweDMwLDB4MDMsMHgwYywweDAwLDB4YzMsMHgwMCwweDNjLDB4ZDUsMHgwZiwweDIwLDB4MDMsMHhjZSwweGMxIH0sCi0gIDE2LCAweDhkMDAsIDAsIHsweGUwLDB4MTAsMHhiOCwweDQwLDB4MGMsMHgwMCwweDAzLDB4ZDIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDhkMTAsIDAsIHsweGMwLDB4MWQsMHhiYywweDAwLDB4ZWIsMHgwMCwweDNlLDB4Y2MsMHgwZiwweDMyLDB4MDMsMHg2NCwweDA4LDB4ZjksMHgwMCwweDNiIH0sCi0gIDE2LCAweDhkMjAsIDAsIHsweDkwLDB4MGYsMHhmMCwweDQzLDB4ZTQsMHg0MCwweGZiLDB4MzQsMHgzZiwweDgxLDB4MDcsMHhkMSwweDAzLDB4YWQsMHgyMCwweGViIH0sCi0gIDE2LCAweDhkMzAsIDAsIHsweDIwLDB4N2YsMHhjNCwweDBmLDB4ZTEsMHgwMywweGZjLDB4NTAsMHhjZCwweDEwLDB4MzUsMHg0MCwweDBmLDB4ZDAsMHgwMywweGQwIH0sCi0gIDE2LCAweDhkNDAsIDAsIHsweDAyLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZTQsMHgwNCwweGZkLDB4MDQsMHgzZCwweDQwIH0sCi0gIDE2LCAweDhkNTAsIDAsIHsweDJkLDB4MzAsMHgwMiwweDNjLDB4MDAsMHhjOSwweDAxLDB4M2UsMHhjMCwweDRmLDB4YjgsMHg0MywweGVjLDB4MTAsMHhmYiwweDAwIH0sCi0gIDE2LCAweDhkNjAsIDAsIHsweDMyLDB4NDAsMHgwZiwweGEwLDB4MjMsMHhlYywweDgwLDB4Y2IsMHgzNiwweDMyLDB4ODAsMHg0ZCwweGE4LDB4MDMsMHgyYywweDEwIH0sCi0gIDE2LCAweDhkNzAsIDAsIHsweGNiLDB4MDAsMHgzMiwweDQwLDB4MGMsMHg5MCwweDAzLDB4NmEsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDhkODAsIDAsIHsweGM4LDB4MTEsMHg5MCwweDA4LDB4YjUsMHgwMCwweDJkLDB4YzAsMHgwOCwweDUwLDB4MDIsMHhiYywweDAyLDB4ODUsMHgwNCwweDJkIH0sCi0gIDE2LCAweDhkOTAsIDAsIHsweGMwLDB4OGUsMHg2MCwweDA2LDB4ZDgsMHgwNCwweGI3LDB4MDQsMHgyMSwweDQwLDB4MGIsMHg3MCwweDAyLDB4ZmMsMHg4MCwweGFmIH0sCi0gIDE2LCAweDhkYTAsIDAsIHsweDI4LDB4MjEsMHhjMCwweDBiLDB4NzAsMHgwMiwweDA2LDB4NDAsMHg4NywweDAwLDB4MjEsMHg1MCwweDA4LDB4NTAsMHgwMiwweDMyIH0sCi0gIDE2LCAweDhkYjAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDAwLDB4OWUsMHgyMCwweGI3LDB4ODAsMHgyYiwweDcwIH0sCi0gIDE2LCAweDhkYzAsIDAsIHsweDA4LDB4ZjgsMHgwNiwweDFlLDB4MDAsMHg4NywweDgwLDB4MmQsMHhlMCwweDBiLDB4NzAsMHgzMiwweGRlLDB4MDQsMHgzNywweDg0IH0sCi0gIDE2LCAweDhkZDAsIDAsIHsweDI1LDB4ZTAsMHgwYiwweDY4LDB4MDYsMHhkZSwweDgwLDB4ODcsMHg4MCwweDIxLDB4YTEsMHgxYiwweDY4LDB4MDIsMHgxZSwweDQwIH0sCi0gIDE2LCAweDhkZTAsIDAsIHsweDlmLDB4ODAsMHgyMCwweDYwLDB4MDgsMHg1OCwweDAyLDB4MjAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDhkZjAsIDAsIHsweDQ4LDB4MTQsMHhjYywweDIwLDB4YjMsMHgwMCwweDJjLDB4ODAsMHg4OCwweGI0LDB4MjIsMHg4ZCwweDAwLDB4ODMsMHg5MCwweDJjIH0sCi0gIDE2LCAweDhlMDAsIDAsIHsweGMwLDB4MGEsMHgzOCwweDAyLDB4Y2UsMHgwOCwweGJiLDB4MjAsMHgyNCwweGQwLDB4MGIsMHhiMywweDAyLDB4Y2MsMHgwMCwweGEzIH0sCi0gIDE2LCAweDhlMTAsIDAsIHsweDAwLDB4NjAsMHhkMiwweDBiLDB4MjAsMHgyYSwweDA0LDB4MDgsMHg5MywweDUwLDB4MjAsMHg0MCwweDA4LDB4MTcsMHgwYSwweDAyIH0sCi0gIDE2LCAweDhlMjAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YmEsMHgwMCwweGJhLDB4YTAsMHgzZiwweDg0IH0sCi0gIDE2LCAweDhlMzAsIDAsIHsweDFjLDB4ZTAsMHgwYiwweDM4LDB4NDAsMHg4ZSwweDA2LDB4MmUsMHg4MCwweDBiLDB4ZTMsMHgwMywweGY4LDB4ODAsMHhmZSwweGU0IH0sCi0gIDE2LCAweDhlNDAsIDAsIHsweGI3LDB4OTAsMHgwZiwweGVjLDB4MDIsMHhlOCwweDAwLDB4OGEsMHgwMCwweGEzLDB4YTAsMHgwOSwweGU0LDB4MDMsMHgyYSwweDAyIH0sCi0gIDE2LCAweDhlNTAsIDAsIHsweGRlLDB4YzAsMHhmMywweDgwLDB4MGMsMHg2YywweDAzLDB4M2EsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDhlNjAsIDAsIHsweDQ4LDB4MDEsMHhlMCwweDAwLDB4ZjgsMHg0MCwweDNlLDB4MDAsMHgwZiwweDg0LDB4MTMsMHhlMCwweDAwLDB4ZjgsMHgwMCwweDJlIH0sCi0gIDE2LCAweDhlNzAsIDAsIHsweDMwLDB4MGEsMHg4NCwweDAzLDB4ZTAsMHgwNCwweGY4LDB4MDAsMHgzYSwweDAyLDB4MGYsMHg4MCwweDEzLDB4ZTAsMHgwMCwweGY4IH0sCi0gIDE2LCAweDhlODAsIDAsIHsweDAwLDB4M2UsMHgwNCwweDBkLDB4ODAsMHg4MywweGUwLDB4NDAsMHhlOCwweDIwLDB4M2UsMHgwMCwweDJmLDB4ODAsMHgwMywweGQyIH0sCi0gIDE2LCAweDhlOTAsIDAsIHsweDEwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4YTQsMHgwMCwweGY5LDB4MDAsMHgzYywweDY0IH0sCi0gIDE2LCAweDhlYTAsIDAsIHsweDRlLDB4OTAsMHg4MywweDI0LDB4ODAsMHhjOSwweDAwLDB4MzIsMHhlMCwweDBmLDB4MTAsMHgwMywweDI1LDB4MDAsMHhmOSwweDAwIH0sCi0gIDE2LCAweDhlYjAsIDAsIHsweDMyLDB4NDQsMHgwZiwweDkyLDB4MjMsMHg2NCwweDAwLDB4YzEsMHgwMCwweDMyLDB4NDAsMHgwYywweDkwLDB4MTMsMHhlNCwweDAwIH0sCi0gIDE2LCAweDhlYzAsIDAsIHsweGM5LDB4MDAsMHgyMiwweDQwLDB4MGMsMHg5MCwweDAzLDB4MDIsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDhlZDAsIDAsIHsweDgwLDB4MDQsMHg2NCwweDAwLDB4YjksMHgyMCwweDJlLDB4NDAsMHg0OCwweDk2LDB4MjIsMHgyNSwweDAwLDB4ZDksMHhjMCwweGEyIH0sCi0gIDE2LCAweDhlZTAsIDAsIHsweDcwLDB4MGIsMHg5OCwweDAyLDB4MjQsMHgwMCwweGI5LDB4NDAsMHhhMiwweDcwLDB4NGIsMHg5MCwweDAyLDB4MjQsMHgwMCwweGQ5IH0sCi0gIDE2LCAweDhlZjAsIDAsIHsweDAwLDB4YTIsMHg0MCwweDJjLDB4OTQsMHgyMiwweGU0LDB4MDIsMHg4OSwweDAwLDB4YTIsMHg0MCwweDI4LDB4OTQsMHgxMywweDIwIH0sCi0gIDE2LCAweDhmMDAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDAxLDB4MjQsMHgwMCwweGI5LDB4MDAsMHgyZSwweDQwIH0sCi0gIDE2LCAweDhmMTAsIDAsIHsweDBhLDB4OTAsMHgwMiwweDA0LDB4MDAsMHg4MSwweDgwLDB4YTIsMHg0NCwweDBiLDB4OTEsMHgwMiwweDI1LDB4MDAsMHgxOSwweDQwIH0sCi0gIDE2LCAweDhmMjAsIDAsIHsweDYyLDB4NDAsMHgwYiwweGI0LDB4MDIsMHg0NCwweDAwLDB4ODksMHgwMCwweDIwLDB4NDAsMHgwOCwweDkwLDB4ODIsMHhjNCwweDAxIH0sCi0gIDE2LCAweDhmMzAsIDAsIHsweDgzLDB4MDIsMHgyOCwweDQwLDB4NDgsMHg5MCwweDgyLDB4MDYsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDhmNDAsIDAsIHsweDAwLDB4MDQsMHgwNSwweDgwLDB4YjEsMHgwMCwweDZjLDB4NTEsMHgwOCwweDE0LDB4MWEsMHgwNSwweDAwLDB4OTMsMHgwMCwweDIwIH0sCi0gIDE2LCAweDhmNTAsIDAsIHsweDQwLDB4OGIsMHgxNCwweDAyLDB4MDUsMHgwMCwweGIxLDB4MjAsMHgyMCwweDUwLDB4MGIsMHgxNCwweDA2LDB4MDQsMHg4MCwweDkxIH0sCi0gIDE2LCAweDhmNjAsIDAsIHsweDIwLDB4MjAsMHg0MCwweDA5LDB4MTAsMHgwMiwweGM0LDB4YTgsMHg4MSwweDAwLDB4MjgsMHg0YSwweDA4LDB4OTAsMHg0YSwweDQyIH0sCi0gIDE2LCAweDhmNzAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjAsMHgwMCwweGY4LDB4MDAsMHgzZSwweDAwIH0sCi0gIDE2LCAweDhmODAsIDAsIHsweDBlLDB4ODAsMHgwMywweDI4LDB4MDEsMHhjOCwweDUwLDB4MzIsMHg5NCwweDhiLDB4YTAsMHgwMywweDIwLDB4MDAsMHhiMCwweDUwIH0sCi0gIDE2LCAweDhmOTAsIDAsIHsweDMyLDB4ODAsMHgwZiwweDgwLDB4MDcsMHg2MSwweDUxLDB4YzgsMHg1MCwweDIyLDB4MDAsMHgwYywweDAwLDB4MDMsMHhlMCwweDg0IH0sCi0gIDE2LCAweDhmYTAsIDAsIHsweGM4LDB4MDQsMHgzYSwweDA4LDB4MGMsMHgwMCwweDAzLDB4MmUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDhmYjAsIDAsIHsweDk4LDB4OWQsMHhmNCwweDQwLDB4YmQsMHg0MSwweDNmLDB4NTAsMHgwZiwweGY0LDB4MDMsMHhmNSwweDEwLDB4ZmQsMHgwMCwweDNlIH0sCi0gIDE2LCAweDhmYzAsIDAsIHsweDQwLDB4MGYsMHhkNCwweDAzLDB4ZjQsMHgwMCwweGZmLDB4MTAsMHgyZiwweDQwLDB4NGYsMHhkNCwweDQwLDB4YTQsMHg0OCwweGY5IH0sCi0gIDE2LCAweDhmZDAsIDAsIHsweDEyLDB4M2YsMHg1YSwweDhlLDB4ZDIsMHg4MywweGY0LDB4YTgsMHhmNSwweDJjLDB4MzcsMHg0YSwweDBmLDB4ZDIsMHg4MywweGE2IH0sCi0gIDE2LCAweDhmZTAsIDAsIHsweDEyLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4ZTYsMHg4MCwweGZkLDB4MjgsMHgzZiwweDRjIH0sCi0gIDE2LCAweDhmZjAsIDAsIHsweDBmLDB4NTAsMHgwMywweDNjLDB4NDQsMHhjZCwweDQwLDB4M2YsMHhkMCwweDBkLDB4ZDAsMHgwMiwweDE0LDB4MDEsMHhmZCwweGEwIH0sCi0gIDE2LCAweDkwMDAsIDAsIHsweDMxLDB4NDAsMHgwMywweGQwLDB4MDMsMHhlNywweDg5LDB4ZjksMHg5MCwweDdlLDB4NTAsMHgwYywweDk0LDB4MDMsMHhlNiwweGMwIH0sCi0gIDE2LCAweDkwMTAsIDAsIHsweGM5LDB4MTAsMHgzMiwweDZkLDB4MGYsMHg5MSwweDAyLDB4YzYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDkwMjAsIDAsIHsweDM4LDB4MTAsMHhlMCwweDgwLDB4YjgsMHgwMSwweDJlLDB4MGMsMHg4YiwweDg0LDB4ODIsMHgyMCwweDQyLDB4ODgsMHhhMCwweDZlIH0sCi0gIDE2LCAweDkwMzAsIDAsIHsweDIwLDB4MDgsMHg4MCwweDAzLDB4NjAsMHgwMCwweDk4LDB4ZTgsMHgyMiwweDAwLDB4MDksMHg4MCwweDAyLDB4ZTMsMHhjMCwweGU4IH0sCi0gIDE2LCAweDkwNDAsIDAsIHsweGQwLDB4MmUsMHgyOCwweDA4LDB4OGEsMHgyMywweGUyLDB4ODQsMHhkOCwweGEwLDB4MjIsMHgzZCwweDBiLDB4YzgsMHgwMiwweGNlIH0sCi0gIDE2LCAweDkwNTAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA1LDB4YzUsMHhiMCwweGIxLDB4MDAsMHgyYywweDQ4IH0sCi0gIDE2LCAweDkwNjAsIDAsIHsweDBiLDB4MTMsMHgwMiwweDA0LDB4MDIsMHhiMSwweDIwLDB4MmUsMHg0MCwweDg4LDB4MTAsMHgyMiwweGM0LDB4MDAsMHhiMSwweDE0IH0sCi0gIDE2LCAweDkwNzAsIDAsIHsweDI0LDB4NDAsMHgwYiwweDEwLDB4NTIsMHhjNCwweDAwLDB4YjEsMHgyMSwweDJkLDB4NDgsMHgwYSwweDUyLDB4MDIsMHhkNSwweDAwIH0sCi0gIDE2LCAweDkwODAsIDAsIHsweGJkLDB4MDAsMHhhZCwweDQwLDB4MGIsMHg1MiwweDAyLDB4ZDIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDkwOTAsIDAsIHsweDE4LDB4NTUsMHhhNSwweDAwLDB4YjksMHg4MiwweDJlLDB4NDksMHg4YiwweGIwLDB4MTIsMHgyNCwweDEwLDB4OTksMHgwMiwweDJlIH0sCi0gIDE2LCAweDkwYTAsIDAsIHsweDQwLDB4MDgsMHhiMiwweDAwLDB4NjUsMHgwMCwweDk5LDB4ODAsMHgyNiwweDQ0LDB4MDksMHg5MSwweDAyLDB4ZTQsMHgwOSwweGE5IH0sCi0gIDE2LCAweDkwYjAsIDAsIHsweDA0LDB4MmUsMHg0NiwweDBhLDB4ZDQsMHgwMiwweGI0LDB4MDAsMHhiZCwweDQwLDB4MmYsMHg0MCwweDBiLDB4ZDAsMHgwMiwweGM2IH0sCi0gIDE2LCAweDkwYzAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4ZTcsMHg0MCwweGY5LDB4ODAsMHgyZSwweDYyIH0sCi0gIDE2LCAweDkwZDAsIDAsIHsweDBmLDB4OWMsMHg0MiwweDI0LDB4MDAsMHg5OSwweDAxLDB4MmUsMHg2OCwweDJjLDB4OTIsMHgwMiwweDY0LDB4MDAsMHhiOSwweDQwIH0sCi0gIDE2LCAweDkwZTAsIDAsIHsweGI2LDB4NjAsMHgwZiwweDlhLDB4MDMsMHhlNCwweDAwLDB4YjksMHgwMCwweDJlLDB4NzAsMHgzZSwweDk5LDB4MDYsMHhlNCwweDAyIH0sCi0gIDE2LCAweDkwZjAsIDAsIHsweGY5LDB4MDAsMHgzZSwweDQwLDB4MGYsMHg5OCwweDAzLDB4ZTgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDkxMDAsIDAsIHsweDY4LDB4MDEsMHhhNiwweDAwLDB4ZjksMHgwMCwweDNlLDB4NDAsMHgxZiwweDEyLDB4YWIsMHhlNCwweDAwLDB4ZTksMHg5MCwweDNlIH0sCi0gIDE2LCAweDkxMTAsIDAsIHsweDQ5LDB4MGUsMHg5OCwweDAzLDB4ZTQsMHgwMCwweGYxLDB4MDAsMHgzYSwweDQwLDB4MGQsMHg5OCwweDAzLDB4ZTQsMHgwMCwweGY5IH0sCi0gIDE2LCAweDkxMjAsIDAsIHsweDAxLDB4M2UsMHg2MCwweDA1LDB4OTAsMHgxMywweGU0LDB4MDAsMHg1OSwweDIwLDB4MzIsMHg0MCwweDhmLDB4OTEsMHgwMywweGRhIH0sCi0gIDE2LCAweDkxMzAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg2OCwweDEwLDB4YTAsMHgwMCwweGM4LDB4MDgsMHgzZSwweDAxIH0sCi0gIDE2LCAweDkxNDAsIDAsIHsweDBmLDB4ODQsMHg2MywweDAwLDB4MjIsMHhlOCwweDIwLDB4M2UsMHgxMywweDBmLDB4ODQsMHgwMywweGUxLDB4YzAsMHhkOCwweDRjIH0sCi0gIDE2LCAweDkxNTAsIDAsIHsweDMyLDB4MDAsMHgwYywweDg0LDB4NDMsMHhlMCwweDAwLDB4ZjgsMHgwMCwweDIyLDB4MTAsMHgwZiwweDg0LDB4MDMsMHgwMCwweDAwIH0sCi0gIDE2LCAweDkxNjAsIDAsIHsweGM4LDB4MDAsMHhiMiwweDAwLDB4MGMsMHhjMCwweDAzLDB4MGEsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDkxNzAsIDAsIHsweDI4LDB4MDUsMHgyOCwweDAwLDB4OGUsMHgwMCwweDJmLDB4ODYsMHg0YiwweGUwLDB4MDIsMHgzOSwweDA4LDB4OGUsMHgyMCwweDJkIH0sCi0gIDE2LCAweDkxODAsIDAsIHsweDkwLDB4MGIsMHhlZCwweDkyLDB4ZjgsMHgwMiwweDhlLDB4ZTAsMHhhMywweDk4LDB4MDgsMHhlMCwweDAyLDB4ZTgsMHgwOCwweGJhIH0sCi0gIDE2LCAweDkxOTAsIDAsIHsweDAwLDB4NjIsMHg4MCwweDA4LDB4YTAsMHgwMiwweDI4LDB4MDAsMHgwMiwweDgwLDB4MDIsMHg4MCwweDQ4LDB4ZTAsMHgwMywweDRhIH0sCi0gIDE2LCAweDkxYTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg2OCwweDA1LDB4NGMsMHgwMCwweDgzLDB4MTAsMHgyYywweGYwIH0sCi0gIDE2LCAweDkxYjAsIDAsIHsweDBhLDB4MTQsMHgyYSwweDBkLDB4MWEsMHhiMywweDAxLDB4MjQsMHhkMCwweDBiLDB4YmMsMHgzMiwweGNjLDB4MDgsMHgwMywweDAwIH0sCi0gIDE2LCAweDkxYzAsIDAsIHsweDIwLDB4YzgsMHgwYiwweDMwLDB4MDIsMHhjYywweDAwLDB4YjMsMHgwMiwweDIyLDB4YzAsMHgwOSwweDMwLDB4MDIsMHgwYywweDExIH0sCi0gIDE2LCAweDkxZDAsIDAsIHsweDgzLDB4MDAsMHgyMCwweGMwLDB4MjgsMHgyMCwweDAyLDB4MGEsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDkxZTAsIDAsIHsweDIwLDB4MDEsMHgxZSwweDAxLDB4ODUsMHgwMCwweDJkLDB4MDAsMHgwYiwweDcwLDB4MDIsMHgxOCwweDMyLDB4ODYsMHgwMCwweDJkIH0sCi0gIDE2LCAweDkxZjAsIDAsIHsweGMwLDB4MGIsMHg2MCwweDE2LDB4ZmUsMHgwNCwweDg2LDB4MDAsMHgyNywweGEwLDB4OGIsMHg3MCwweDQyLDB4ZGMsMHg4MCwweGI3IH0sCi0gIDE2LCAweDkyMDAsIDAsIHsweDgwLDB4MjEsMHgwMSwweDA4LDB4ZjgsMHgwYSwweDE4LDB4MDAsMHg4NiwweDA4LDB4MjAsMHhhMCwweDA4LDB4ZTgsMHgwYSwweDY4IH0sCi0gIDE2LCAweDkyMTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA4LDB4M2UsMHgwMiwweGM2LDB4ODAsMHgzZCwweGUwIH0sCi0gIDE2LCAweDkyMjAsIDAsIHsweDBmLDB4NDgsMHgwMywweDA2LDB4MDQsMHhmNSwweDgyLDB4MzUsMHhlMCwweDBmLDB4NzgsMHgwMywweGRhLDB4MDAsMHhkMywweDgwIH0sCi0gIDE2LCAweDkyMzAsIDAsIHsweDMxLDB4NjAsMHgwNywweDc4LDB4MDMsMHhkZSwweDIwLDB4ZjMsMHhiMCwweDgxLDB4ZTAsMHg0ZiwweDY4LDB4MDcsMHgwZSwweDAyIH0sCi0gIDE2LCAweDkyNDAsIDAsIHsweGNmLDB4ODAsMHgzMSwweGUwLDB4MGMsMHg3OCwweDEzLDB4MmEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDkyNTAsIDAsIHsweDA4LDB4MWQsMHhhZCwweGEwLDB4ZjksMHgwMCwweDNmLDB4MDAsMHgwZiwweGIwLDB4NTMsMHhmOCwweDEwLDB4YTksMHgwMCwweDNlIH0sCi0gIDE2LCAweDkyNjAsIDAsIHsweDAwLDB4MGYsMHg4MCwweDAxLDB4ZWMsMHgwMCwweGZiLDB4MDIsMHgzYSwweGMwLDB4MGMsMHhiMCwweDAzLDB4ZWMsMHgwMCwweGZiIH0sCi0gIDE2LCAweDkyNzAsIDAsIHsweDc0LDB4M2MsMHgwMCwweDBmLDB4MjAsMHgwMywweGU4LDB4MDAsMHhmYSwweDAwLDB4M2UsMHg4MCwweDBmLDB4MzAsMHgwMywweGMyIH0sCi0gIDE2LCAweDkyODAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDA1LDB4ZmUsMHgwMiwweDhmLDB4ODAsMHgzNSwweGUwIH0sCi0gIDE2LCAweDkyOTAsIDAsIHsweDhkLDB4ZDksMHgwMywweDJlLDB4YzQsMHhmNiwweDgwLDB4MzIsMHhhNCwweDBjLDB4YjgsMHgwMywweGRlLDB4MDAsMHhjZiwweDkwIH0sCi0gIDE2LCAweDkyYTAsIDAsIHsweDNjLDB4ZTQsMHgwYywweGI4LDB4MDMsMHhmZSwweDY1LDB4ZmYsMHg4MCwweDBmLDB4ZWMsMHg4ZiwweGY4LDB4MDMsMHhmZSwweDAwIH0sCi0gIDE2LCAweDkyYjAsIDAsIHsweGM1LDB4ODAsMHgzMywweGUwLDB4MGYsMHg2OCwweDAzLDB4MTAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDkyYzAsIDAsIHsweGFhLDB4MTEsMHg5YywweDgwLDB4ODQsMHhiMCwweDIwLDB4MjAsMHgyOSwweDczLDB4MGEsMHgwZSwweDgyLDB4YTIsMHhhMCwweGEyIH0sCi0gIDE2LCAweDkyZDAsIDAsIHsweGEwLDB4NGYsMHgzYiwweDAzLDB4ODcsMHg4NCwweGIyLDB4ODAsMHgyYywweGEwLDB4MGEsMHg3ZCwweDAyLDB4ZGUsMHg4MCwweGY3IH0sCi0gIDE2LCAweDkyZTAsIDAsIHsweDIwLDB4MjUsMHgwNiwweDA4LDB4NzAsMHgwMiwweGM4LDB4NDAsMHg4NCwweDAwLDB4MzUsMHg4MCwweDBiLDB4NjAsMHgwMywweDZhIH0sCi0gIDE2LCAweDkyZjAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OWMsMHgxMCwweDg2LDB4MzgsMHgyNywweGMwIH0sCi0gIDE2LCAweDkzMDAsIDAsIHsweDQ5LDB4NTQsMHgwNiwweDU0LDB4NDAsMHgxZCwweDIwLDB4MjEsMHhjYSwweDA5LDB4NjEsMHg0MCwweGY4LDB4ODAsMHhiNywweDIwIH0sCi0gIDE2LCAweDkzMTAsIDAsIHsweDJmLDB4MDAsMHg4OSwweDcwLDB4MTIsMHhkYywweDgxLDB4YjcsMHgwNCwweDJkLDB4YzksMHgwYSwweDYwLDB4MDIsMHhjYywweDAwIH0sCi0gIDE2LCAweDkzMjAsIDAsIHsweDhkLDB4MDAsMHgyZCwweGMwLDB4MGIsMHhmOCwweDAyLDB4MDQsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDkzMzAsIDAsIHsweDYwLDB4MTQsMHhjZCwweDI4LDB4ODAsMHgwMCwweDI0LDB4MDAsMHgwOSwweGIwLDB4MjIsMHg0YywweDAyLDB4YTEsMHgwMSwweDIwIH0sCi0gIDE2LCAweDkzNDAsIDAsIHsweDMwLDB4MWIsMHgyMywweDAyLDB4YWYsMHgyMCwweGIzLDB4MDgsMHgyYywweDgwLDB4MWIsMHgzMCwweDAwLDB4Y2MsMHgwNCwweGEzIH0sCi0gIDE2LCAweDkzNTAsIDAsIHsweDAxLDB4MjYsMHgzMCwweDA4LDB4YWMsMHgyMiwweGU4LDB4MDIsMHg4MCwweDA4LDB4MmUsMHg4MCwweDRiLDB4YjQsMHgwMiwweDU4IH0sCi0gIDE2LCAweDkzNjAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YmMsMHgxMCwweDhiLDB4ODAsMHgzNiwweGYwIH0sCi0gIDE2LCAweDkzNzAsIDAsIHsweDJkLDB4YmMsMHgwYiwweDZjLDB4MDEsMHhkYSwweDA0LDB4MjIsMHg0MCwweDdkLDB4OTQsMHgyMiwweGU0LDB4MDAsMHhhYiwweDQ0IH0sCi0gIDE2LCAweDkzODAsIDAsIHsweDJlLDB4YzAsMHgwOSwweGI4LDB4MDIsMHhmYywweDAwLDB4YmYsMHgwMCwweDNlLDB4ZjAsMHhjYSwweDkyLDB4MDIsMHhlNCwweDAyIH0sCi0gIDE2LCAweDkzOTAsIDAsIHsweGNiLDB4MDAsMHg2ZSwweDQwLDB4MGYsMHg4NCwweDAxLDB4MmUsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDkzYTAsIDAsIHsweDgwLDB4MDAsMHhlYywweDAwLDB4ZmIsMHgwMCwweDNhLDB4ZTAsMHgyZSwweGJjLDB4MDMsMHg5OCwweDA4LDB4ZWEsMHg0MCwweDM2IH0sCi0gIDE2LCAweDkzYjAsIDAsIHsweDQzLDB4OGMsMHg5MCwweDAzLDB4YTQsMHg0NCwweDJhLDB4NDAsMHgzZSwweDEwLDB4MGUsMHhiNSwweDgzLDB4ZWMsMHgxNCwweGZiIH0sCi0gIDE2LCAweDkzYzAsIDAsIHsweDAwLDB4MjYsMHgwMCwweDBlLDB4OTIsMHgwMywweGUwLDB4NDAsMHhmYSwweDAwLDB4MTYsMHgwMCwweDBmLDB4ODAsMHgxMywweGUwIH0sCi0gIDE2LCAweDkzZDAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZWMsMHgwMiwweGZhLDB4ODAsMHgzZiwweGUyIH0sCi0gIDE2LCAweDkzZTAsIDAsIHsweDBmLDB4YjAsMHgwYiwweDI0LDB4MDAsMHhlZiwweDkyLDB4YmIsMHhlMCwweDFjLDB4ZDAsMHgwMywweDc0LDB4MDAsMHhjZiwweDA1IH0sCi0gIDE2LCAweDkzZjAsIDAsIHsweDNiLDB4NDAsMHgwZiwweGM4LDB4MDMsMHg1YywweDAwLDB4Y2YsMHgwMCwweDMyLDB4YzIsMHg0ZCwweGMxLDB4MjMsMHgzNCwweDQwIH0sCi0gIDE2LCAweDk0MDAsIDAsIHsweGNmLDB4MDAsMHgxNywweDQ0LDB4MGMsMHhkMSwweDgzLDB4MDAsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDk0MTAsIDAsIHsweDgxLDB4MDQsMHg2YywweDAwLDB4OGIsMHg4NCwweDJlLDB4NTQsMHgwYiwweGJjLDB4MGEsMHgyOSwweDgwLDB4OGIsMHg4MCwweDMyIH0sCi0gIDE2LCAweDk0MjAsIDAsIHsweDAwLDB4MDgsMHg5YywweDAzLDB4YTcsMHgwMCwweGFiLDB4ODQsMHgyZSwweDdjLDB4MGIsMHg4MCwweDAyLDB4MmMsMHgxMCwweGRiIH0sCi0gIDE2LCAweDk0MzAsIDAsIHsweDAxLDB4MzYsMHgwMCwweDA4LDB4ODAsMHgwMiwweDIwLDB4MDAsMHg4MiwweDAwLDB4MjIsMHgwMCwweDA4LDB4OTAsMHgwMiwweDI0IH0sCi0gIDE2LCAweDk0NDAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MGMsMHgwMCwweDg5LDB4MTAsMHg2NiwweDkwIH0sCi0gIDE2LCAweDk0NTAsIDAsIHsweDBiLDB4YjgsMHgwMiwweDZlLDB4MTIsMHhhMywweDQxLDB4MjAsMHgwNCwweDBhLDB4OTgsMHgyMiwweGUyLDB4MDAsMHg4OSwweDE5IH0sCi0gIDE2LCAweDk0NjAsIDAsIHsweDJlLDB4YzAsMHg0YiwweDMxLDB4MjIsMHg2YywweDA4LDB4ODMsMHgwMCwweDIyLDB4YzAsMHgwOSwweDkwLDB4MDIsMHgyNCwweDAwIH0sCi0gIDE2LCAweDk0NzAsIDAsIHsweDg5LDB4MDAsMHgyYSwweDQwLDB4MDgsMHg4MCwweDAyLDB4MjAsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDk0ODAsIDAsIHsweDA4LDB4MTAsMHgwYywweDAwLDB4ODAsMHgyMCwweDJjLDB4MGUsMHgxYiwweDMwLDB4MDIsMHgwNCwweDQxLDB4ODAsMHgyMCwweDIwIH0sCi0gIDE2LCAweDk0OTAsIDAsIHsweDEyLDB4MTgsMHgxNiwweDQyLDB4MDAsMHg1MCwweGEwLDB4NDAsMHgyYywweDg4LDB4MWIsMHgzMCwweDAyLDB4MGMsMHg4MSwweDkzIH0sCi0gIDE2LCAweDk0YTAsIDAsIHsweDAwLDB4MjQsMHgwMCwweDA4LDB4MTAsMHgyYSwweDAwLDB4MGEsMHg4OCwweDAwLDB4MjgsMHgwMCwweDI4LDB4MDAsMHgwYSwweDAyIH0sCi0gIDE2LCAweDk0YjAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBjLDB4N2MsMHgxMSwweGU4LDB4MDAsMHgyNiwweDk4IH0sCi0gIDE2LCAweDk0YzAsIDAsIHsweDBmLDB4YjAsMHgxMywweDIxLDB4MGMsMHhlYiwweDYwLDB4M2EsMHhkOCwweDI4LDB4ODQsMHhhMiwweGUxLDB4ODAsMHhjOCwweDIwIH0sCi0gIDE2LCAweDk0ZDAsIDAsIHsweDNlLDB4NWUsMHgxZiwweDgyLDB4MDMsMHg3YywweDAwLDB4Y2YsMHgwMCwweDMyLDB4YzAsMHg0ZCwweDgwLDB4MDcsMHgyNSwweDAwIH0sCi0gIDE2LCAweDk0ZTAsIDAsIHsweGM5LDB4MDAsMHgzMiwweDQwLDB4MGMsMHg5MCwweDAzLDB4MDAsMHgwMSwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDk0ZjAsIDAsIHsweGExLDB4MTEsMHhmYywweDAwLDB4ZjgsMHgxMywweDFlLDB4MDAsMHgwYiwweGYwLDB4MDEsMHhmMCwweGQwLDB4ZjksMHgxOSwweDFmIH0sCi0gIDE2LCAweDk1MDAsIDAsIHsweDA4LDB4NGYsMHhjMCwweDEzLDB4YTEsMHgwMCwweGY4LDB4NjIsMHgzZiwweGMwLDB4MGIsMHhjNCwweDA3LDB4ZWQsMHgwMCwweGZmIH0sCi0gIDE2LCAweDk1MTAsIDAsIHsweDAwLDB4M2YsMHgwMCwweDBmLDB4YzAsMHgyMywweGYwLDB4YTAsMHhmYywweDAwLDB4MzMsMHgwMCwweDBmLDB4ZDAsMHgwMywweGU4IH0sCi0gIDE2LCAweDk1MjAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZmMsMHgwMCwweGZmLDB4MGMsMHgzZiwweDIwIH0sCi0gIDE2LCAweDk1MzAsIDAsIHsweDBjLDB4YzksMHgwMywweDMyLDB4MDAsMHhjZiwweDM4LDB4M2YsMHhkMCwweDBmLDB4NDgsMHgwMywweGZjLDB4YTAsMHhjZSwweDIyIH0sCi0gIDE2LCAweDk1NDAsIDAsIHsweDMzLDB4MDAsMHgwZiwweGMxLDB4MDMsMHgzYywweDAwLDB4ZmYsMHgwMCwweDNkLDB4YzQsMHg0YywweGMwLDB4MjMsMHg4YywweGU0IH0sCi0gIDE2LCAweDk1NTAsIDAsIHsweGZmLDB4MTAsMHgzNywweDIwLDB4MDgsMHhmMSwweDAzLDB4ZjAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDk1NjAsIDAsIHsweDgwLDB4MTAsMHhmZSwweDAwLDB4YmYsMHg4MCwweDJlLDB4NzQsMHgwNSwweDIyLDB4MDIsMHhhMiwweDEwLDB4ZGYsMHg2MSwweDJmIH0sCi0gIDE2LCAweDk1NzAsIDAsIHsweGQwLDB4OGIsMHg5MCwweDAyLDB4M2QsMHhhNCwweGFhLDB4OTAsMHgyMiwweGY0LDB4MGIsMHgwNywweDEyLDB4MWQsMHgyMCwweGJiIH0sCi0gIDE2LCAweDk1ODAsIDAsIHsweGMwLDB4MmYsMHhkOCwweDg4LDB4OTcsMHg4MiwweGZkLDB4ODAsMHhlZiwweDcyLDB4MjIsMHgwOCwweDI4LDB4ZjYsMHgyMywweGUwIH0sCi0gIDE2LCAweDk1OTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4Y2MsMHg0MCwweGIzLDB4MDAsMHgyYywweDAwIH0sCi0gIDE2LCAweDk1YTAsIDAsIHsweDA4LDB4ODIsMHgwMiwweDIyLDB4MDAsMHg4MywweDAxLDB4MDgsMHhjYywweDhiLDB4MjAsMHg4MiwweGNjLDB4MDAsMHg5MCwweDAwIH0sCi0gIDE2LCAweDk1YjAsIDAsIHsweDIwLDB4MDAsMHg0YiwweDEyLDB4MDIsMHgwZCwweDgwLDB4YjMsMHg0MCwweDJjLDB4ZDgsMHgwOCwweDIwLDB4NDIsMHg4YywweDgwIH0sCi0gIDE2LCAweDk1YzAsIDAsIHsweGIzLDB4MjAsMHgyNiwweDAyLDB4MTgsMHgzMywweDI2LDB4ZTIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDk1ZDAsIDAsIHsweGMwLDB4MTUsMHhhYywweDA5LDB4YmIsMHgwMCwweDJlLDB4NjAsMHgwOCwweDgwLDB4MDIsMHhhMiwweDAwLDB4OWIsMHgwMCwweDJlIH0sCi0gIDE2LCAweDk1ZTAsIDAsIHsweGMwLDB4MGIsMHhhYywweDAyLDB4MmMsMHgwMCwweGJhLDB4MDYsMHgyMiwweGMyLDB4MGIsMHg5NCwweDAyLDB4YWMsMHgxMCwweGJiIH0sCi0gIDE2LCAweDk1ZjAsIDAsIHsweDAwLDB4MmUsMHhjMSwweDA4LDB4YTgsMHgwMiwweGVjLDB4MDAsMHhhYiwweDAwLDB4MjIsMHgwMCwweDA4LDB4YjAsMHgwNiwweGYwIH0sCi0gIDE2LCAweDk2MDAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5MCwweDE1LDB4ZWMsMHgwMCwweGZiLDB4MDQsMHgzZSwweDYwIH0sCi0gIDE2LCAweDk2MTAsIDAsIHsweDI4LDB4ODIsMHgxMywweDBlLDB4MDgsMHhjYiwweDAwLDB4M2EsMHhjMCwweDBmLDB4OGMsMHgwMywweGVjLDB4MTEsMHhkYiwweDIwIH0sCi0gIDE2LCAweDk2MjAsIDAsIHsweGIyLDB4OTAsMHg0YiwweGE4LDB4MGIsMHgyYywweDAwLDB4YmIsMHgwMCwweDJjLDB4YzAsMHgwYywweDg4LDB4MTMsMHhhYywweDAwIH0sCi0gIDE2LCAweDk2MzAsIDAsIHsweGYzLDB4MDAsMHgzNiwweDA2LDB4NDgsMHhiMCwweDEyLDB4YzQsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDk2NDAsIDAsIHsweGUwLDB4MDEsMHhiYywweDAwLDB4ZmIsMHgwOCwweDNkLDB4NDAsMHg4ZiwweGVhLDB4MDEsMHhmNCwweDAwLDB4ZmYsMHgwMSwweDJmIH0sCi0gIDE2LCAweDk2NTAsIDAsIHsweGMwLDB4MGYsMHhkMCwweDIyLDB4ZmMsMHgwNCwweGFmLDB4MDAsMHgzZiwweGMwLDB4OGYsMHhlOSwweDAzLDB4N2MsMHgwMCwweGZmIH0sCi0gIDE2LCAweDk2NjAsIDAsIHsweDAwLDB4M2YsMHhjMCwweDBmLDB4OTAsMHg0MywweGZjLDB4MjAsMHhlZiwweDAyLDB4M2YsMHgwMCwweDhmLDB4ZjAsMHgwMywweGI4IH0sCi0gIDE2LCAweDk2NzAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg1MCwweDEwLDB4YWMsMHgwOCwweGViLDB4MDAsMHgxMiwweDQwIH0sCi0gIDE2LCAweDk2ODAsIDAsIHsweDBmLDB4OTAsMHgwMywweDI4LDB4MjAsMHhhYiwweDAwLDB4M2EsMHhjMCwweDhmLDB4ODUsMHg4MywweGFjLDB4MTAsMHhmMywweDUwIH0sCi0gIDE2LCAweDk2OTAsIDAsIHsweDMyLDB4OTAsMHg0YywweDM0LDB4MTMsMHg2YywweDAwLDB4ZmIsMHgwMCwweDNlLDB4YzAsMHgwYywweDk4LDB4MDMsMHgyYywweDQwIH0sCi0gIDE2LCAweDk2YTAsIDAsIHsweGViLDB4ODAsMHgzMiwweDEyLDB4MGQsMHhiMCwweDBiLDB4NTAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDk2YjAsIDAsIHsweDg4LDB4MDEsMHgzYywweDEwLDB4MGYsMHgwNSwweGEyLDB4NTAsMHgwYywweDEwLDB4MDIsMHgyMiwweDEwLDB4OGYsMHgwMCwweDIzIH0sCi0gIDE2LCAweDk2YzAsIDAsIHsweGMwLDB4MGIsMHg4OCwweDEyLDB4M2MsMHgwMCwweDliLDB4ODIsMHgyMiwweGMwLDB4MDgsMHhiMCwweDAyLDB4M2MsMHgwMCwweDhmIH0sCi0gIDE2LCAweDk2ZDAsIDAsIHsweGEwLDB4MmYsMHhjMCwweDA4LDB4YjAsMHgwMiwweDNjLDB4MDgsMHg4ZiwweDAyLDB4MjAsMHgwMCwweDA4LDB4ZjAsMHgwMywweDI2IH0sCi0gIDE2LCAweDk2ZTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NGQsMHgyMCwweDkzLDB4MDAsMHgyMCwweGIyIH0sCi0gIDE2LCAweDk2ZjAsIDAsIHsweDBiLDB4MTAsMHgwMiwweDAxLDB4MDAsMHhhMywweDAwLDB4NjgsMHhjMCwweDBiLDB4ODQsMHgwMiwweGFjLDB4MDAsMHhiMywweDgwIH0sCi0gIDE2LCAweDk3MDAsIDAsIHsweDIwLDB4NDAsMHgwYSwweDMwLDB4MDIsMHg0YywweDAwLDB4YTMsMHgwNCwweDJjLDB4YzAsMHgwOCwweDAwLDB4MDIsMHgwZCwweDAwIH0sCi0gIDE2LCAweDk3MTAsIDAsIHsweGEzLDB4MDAsMHgyMCwweDI0LDB4MDgsMHgzMCwweDAyLDB4MzgsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDk3MjAsIDAsIHsweDcwLDB4MDEsMHgxYywweDIwLDB4OTcsMHg4MCwweDIzLDB4NjAsMHgwOCwweDc4LDB4MTIsMHgzYSwweDAwLDB4ODMsMHg5MSwweDI5IH0sCi0gIDE2LCAweDk3MzAsIDAsIHsweGU0LDB4MGIsMHg1OSwweDAyLDB4MWUsMHgwMCwweDk3LDB4OTAsMHgyMCwweGZjLDB4MGEsMHg3OCwweDAyLDB4MWUsMHgwMCwweDg3IH0sCi0gIDE2LCAweDk3NDAsIDAsIHsweDkwLDB4MmQsMHhlMCwweDE5LDB4NTksMHgwMiwweDFlLDB4ODAsMHg4MywweDgwLDB4NjEsMHhhMCwweDA4LDB4NzgsMHgwMiwweDE4IH0sCi0gIDE2LCAweDk3NTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MGMsMHg0MCwweGQzLDB4MzIsMHgzMCwweDA2IH0sCi0gIDE2LCAweDk3NjAsIDAsIHsweDBmLDB4MzAsMHgwMywweDA0LDB4NjQsMHhlMywweDAxLDB4MzgsMHhjNCwweDFmLDB4MzAsMHgwNywweDhjLDB4MTgsMHhmMSwweDAwIH0sCi0gIDE2LCAweDk3NzAsIDAsIHsweDMwLDB4NGMsMHgwZSwweDMwLDB4MDMsMHg0YywweDAwLDB4ZTMsMHgwMCwweDJjLDB4YzAsMHgwYywweDIwLDB4MDMsMHgwZSwweDAwIH0sCi0gIDE2LCAweDk3ODAsIDAsIHsweGUzLDB4MDAsMHgzMiwweDA4LDB4MGMsMHhiMSwweDAzLDB4MTIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDk3OTAsIDAsIHsweDQwLDB4MWQsMHg5YywweDgwLDB4ZWYsMHgxMCwweDNkLDB4NDQsMHg0ZiwweGYxLDB4MDcsMHhjYywweDAwLDB4ZmYsMHgwOCwweDM2IH0sCi0gIDE2LCAweDk3YTAsIDAsIHsweGM2LDB4Y2YsMHhiMCwweDAzLDB4ZmMsMHgwMCwweDk3LDB4MDAsMHhiZSwweGNjLDB4MGQsMHhiMSwweDAzLDB4ZmQsMHgwNCwweGZmIH0sCi0gIDE2LCAweDk3YjAsIDAsIHsweDBjLDB4M2YsMHhkMiwweDllLDB4ZTAsMHg0YiwweGZkLDB4MjAsMHhmZiwweDAyLDB4M2YsMHg4MCwweDBlLDB4ZjAsMHgxMywweGQwIH0sCi0gIDE2LCAweDk3YzAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4ZWMsMHhjMCwweGNiLDB4MjgsMHgzZSwweGMwIH0sCi0gIDE2LCAweDk3ZDAsIDAsIHsweDBmLDB4ODAsMHgwMywweGVjLDB4MDAsMHhmYiwweDAxLDB4MzIsMHhlOSwweDBjLDB4MjgsMHgwMywweDJjLDB4MDAsMHhmYiwweDAwIH0sCi0gIDE2LCAweDk3ZTAsIDAsIHsweDMyLDB4YzAsMHgwYywweGI0LDB4ODMsMHgyYywweDAxLDB4ZWYsMHgwMCwweGIyLDB4YzgsMHgwYywweDIwLDB4MDMsMHg2ZCwweDAwIH0sCi0gIDE2LCAweDk3ZjAsIDAsIHsweGNiLDB4MTAsMHgzZSwweDAwLDB4MGYsMHhiMiwweDAzLDB4ZWEsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDk4MDAsIDAsIHsweGM4LDB4OTEsMHg5YywweGM0LDB4ODcsMHg2MCwweDJkLDB4YzAsMHgwYiwweDYwLDB4MDIsMHhkYywweDAwLDB4YjcsMHgxMiwweDIwIH0sCi0gIDE2LCAweDk4MTAsIDAsIHsweGNjLDB4MGEsMHg3MCwweDAyLDB4MWMsMHhjMCwweGIzLDB4MDAsMHhhMCwweGMwLDB4YzgsMHg3MCwweDIyLDB4MWMsMHg4MCwweGI3IH0sCi0gIDE2LCAweDk4MjAsIDAsIHsweDI0LDB4MjEsMHhjOCwweDQ4LDB4NTAsMHgwMiwweDBjLDB4ODAsMHg4NywweDEwLDB4MmQsMHg0MCwweDBiLDB4NzIsMHg4MiwweGYyIH0sCi0gIDE2LCAweDk4MzAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MSwweDAwLDB4OGUsMHgwMiwweDg3LDB4ODAsMHgyZCwweGUwIH0sCi0gIDE2LCAweDk4NDAsIDAsIHsweDBiLDB4NzgsMHgxMiwweGRlLDB4MDAsMHhiNywweGEwLDB4MjEsMHhlMCwweDA4LDB4ZjgsMHg4ZSwweDFlLDB4NDAsMHhiNywweDg4IH0sCi0gIDE2LCAweDk4NTAsIDAsIHsweDIxLDB4ZTAsMHgwOCwweDM4LDB4MDIsMHgxZSwweDQwLDB4YjMsMHhhMSwweDIwLDB4ZTgsMHg0OCwweGY4LDB4ODIsMHg1ZSwweDAyIH0sCi0gIDE2LCAweDk4NjAsIDAsIHsweDg3LDB4ODAsMHgyZCwweDIyLDB4MGIsMHg3OSwweDAyLDB4ZTAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDk4NzAsIDAsIHsweDA4LDB4MDQsMHhjYywweDA0LDB4ODMsMHgwMiwweDJjLDB4ZDQsMHgwYiwweDMwLDB4MDIsMHhjYywweDAwLDB4YjMsMHgwMCwweGEwIH0sCi0gIDE2LCAweDk4ODAsIDAsIHsweGMwLDB4OGEsMHgzOCwweDA2LDB4MGMsMHgwMCwweGIzLDB4ODAsMHgyMCwweGUxLDB4NDgsMHgzOSwweDEyLDB4MmMsMHgwMCwweGIzIH0sCi0gIDE2LCAweDk4OTAsIDAsIHsweDAwLDB4MjIsMHhjMCwweDA4LDB4YjAsMHg4MiwweDZjLDB4MDAsMHg4MywweDAwLDB4MmMsMHg0OCwweDBiLDB4MzAsMHgwMiwweGMyIH0sCi0gIDE2LCAweDk4YTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDA1LDB4YTgsMHgwMCwweGNhLDB4MDAsMHgzZiwweGEwIH0sCi0gIDE2LCAweDk4YjAsIDAsIHsweDBmLDB4ZTQsMHgwMywweGQ4LDB4MDAsMHhmYSwweDAwLDB4MzIsMHg4MCwweDBjLDB4ZTgsMHgwMywweDI4LDB4MDAsMHhmYSwweDQwIH0sCi0gIDE2LCAweDk4YzAsIDAsIHsweDMyLDB4YTgsMHgyYywweGEwLDB4MDksMHgyOCwweDA4LDB4ZjIsMHgwMCwweDMyLDB4ODAsMHgwYywweGU0LDB4MDMsMHg2OCwweDAwIH0sCi0gIDE2LCAweDk4ZDAsIDAsIHsweGNhLDB4MDAsMHgzZiwweDgwLDB4MGYsMHhhMCwweDAzLDB4ZmIsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDk4ZTAsIDAsIHsweDQ4LDB4MDAsMHhjMCwweDAwLDB4ZjgsMHgwMSwweDNlLDB4MTIsMHgwYiwweDgwLDB4MDMsMHhlMCwweDQwLDB4ZjgsMHgwMCwweDNlIH0sCi0gIDE2LCAweDk4ZjAsIDAsIHsweDAwLDB4NGYsMHg4NCwweDAzLDB4ZTAsMHgwNCwweGYwLDB4MDgsMHgzZSwweDAwLDB4NGYsMHgwMCwweDAzLDB4ZTAsMHgwMCwweGY4IH0sCi0gIDE2LCAweDk5MDAsIDAsIHsweDQxLDB4M2UsMHgwMCwweDJmLDB4ODQsMHgwMywweGEwLDB4MDAsMHhmOCwweDAwLDB4M2UsMHgwMCwweDBmLDB4ODAsMHgwMywweGQyIH0sCi0gIDE2LCAweDk5MTAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDAwLDB4ZTYsMHgwMCwweGM5LDB4MTIsMHgzZSwweDUwIH0sCi0gIDE2LCAweDk5MjAsIDAsIHsweDhmLDB4OTAsMHg4MywweGU0LDB4MjAsMHhjMSwweDAwLDB4M2EsMHg0MSwweDBmLDB4OTAsMHgwMywweGU0LDB4MDAsMHhmOSwweDAwIH0sCi0gIDE2LCAweDk5MzAsIDAsIHsweDMwLDB4NjgsMHgwYywweDkwLDB4MDMsMHgyNCwweDAwLDB4ZDksMHgwMCwweDNhLDB4NDAsMHgwZSwweDk4LDB4MDMsMHgyNCwweDAwIH0sCi0gIDE2LCAweDk5NDAsIDAsIHsweGM5LDB4OTAsMHgzZSwweDY5LDB4MGMsMHgxMCwweDAzLDB4MDIsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDk5NTAsIDAsIHsweDgwLDB4MDQsMHg2NywweDRhLDB4ODksMHg4MCwweDJlLDB4NTAsMHgwYiwweDkwLDB4MDIsMHhlNCwweDgwLDB4YTksMHgwMCwweDIyIH0sCi0gIDE2LCAweDk5NjAsIDAsIHsweDQwLDB4MGIsMHg5MCwweDAyLDB4ZTQsMHgwMCwweGI5LDB4MDEsMHgyMiwweDQwLDB4MDgsMHg5MCwweDAyLDB4MjQsMHgxMCwweDg5IH0sCi0gIDE2LCAweDk5NzAsIDAsIHsweDAwLDB4MjIsMHg0MCwweDA4LDB4OTMsMHgwMiwweDI0LDB4MjIsMHg4OSwweDQyLDB4MmMsMHg2MCwweDQ4LDB4OTAsMHgwMiwweDIwIH0sCi0gIDE2LCAweDk5ODAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDE1LDB4MjQsMHgwMCwweDk5LDB4MDAsMHgyZSwweDQwIH0sCi0gIDE2LCAweDk5OTAsIDAsIHsweDBiLDB4OTAsMHgwMiwweGU0LDB4MDAsMHg4OSwweDAwLDB4MmEsMHg0MCwweDBiLDB4OTAsMHgwMiwweGU0LDB4MDAsMHhiOSwweDAwIH0sCi0gIDE2LCAweDk5YTAsIDAsIHsweDIzLDB4NDAsMHgwOCwweGQwLDB4MDIsMHgyNCwweDAwLDB4OTksMHgwMCwweDJhLDB4NDAsMHgwYSwweDkwLDB4MDYsMHgyNCwweDQwIH0sCi0gIDE2LCAweDk5YjAsIDAsIHsweDg5LDB4NDEsMHgyZSwweDQwLDB4MDgsMHg5MCwweDAyLDB4MDYsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDk5YzAsIDAsIHsweDA4LDB4MDQsMHgwYywweDgwLDB4OTEsMHgyMCwweDJjLDB4NDgsMHgwYiwweDEwLDB4MDIsMHhjNCwweDAwLDB4YTEsMHgyMCwweDIwIH0sCi0gIDE2LCAweDk5ZDAsIDAsIHsweDQ4LDB4MGIsMHgxMCwweDAyLDB4YzQsMHg4MCwweGIxLDB4MjAsMHhhMSwweDQ5LDB4MDgsMHg1MiwweDRhLDB4MDQsMHg4MCwweDgxIH0sCi0gIDE2LCAweDk5ZTAsIDAsIHsweDAwLDB4MjAsMHg0OCwweDQ4LDB4MTIsMHgwYSwweDA0LDB4ODAsMHg4MSwweDIwLDB4MmMsMHg0MCwweDI4LDB4MTIsMHgwMiwweDAyIH0sCi0gIDE2LCAweDk5ZjAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjAsMHgwOCwweGQ4LDB4MDQsMHgzZSwweDgwIH0sCi0gIDE2LCAweDlhMDAsIDAsIHsweDBmLDB4ODUsMHgwMywweGUwLDB4MDAsMHhjMCwweDUwLDB4M2EsMHgxNCwweDBmLDB4YTUsMHgwMywweGUxLDB4NDAsMHhmOCwweDAyIH0sCi0gIDE2LCAweDlhMTAsIDAsIHsweDMyLDB4ODAsMHgyYywweGM1LDB4MDMsMHgyMSwweDQwLDB4ZGEsMHgwMCwweDNhLDB4MTQsMHgwZSwweDg1LDB4NDMsMHgyMSwweDQwIH0sCi0gIDE2LCAweDlhMjAsIDAsIHsweGM4LDB4NTIsMHgzZSwweDE0LDB4MGMsMHg4NSwweDBiLDB4MmUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDlhMzAsIDAsIHsweDg4LDB4MWQsMHhlNCwweDQ0LDB4ZTksMHgxMCwweDNmLDB4NDQsMHg0ZiwweGQwLDB4MDIsMHhmYywweDAwLDB4ZjksMHgxMiwweDNlIH0sCi0gIDE2LCAweDlhNDAsIDAsIHsweDQ0LDB4MGYsMHhkMCwweDAzLDB4ZTQsMHg0MCwweGZkLDB4MTAsMHgzZSwweDQ0LDB4NGYsMHg5MSwweDAzLDB4ZTQsMHg0MCwweGU5IH0sCi0gIDE2LCAweDlhNTAsIDAsIHsweDQwLDB4M2UsMHg0NCwweDBmLDB4ZDEsMHgwMywweGU0LDB4NDAsMHhmOSwweDEyLDB4M2YsMHg0MCwweDBmLDB4OTEsMHgwMywweGU2IH0sCi0gIDE2LCAweDlhNjAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4ZjYsMHhhMCwweGZkLDB4ODAsMHhiMywweDQwIH0sCi0gIDE2LCAweDlhNzAsIDAsIHsweDBjLDB4MTAsMHgwMywweDE0LDB4MDAsMHhmZCwweGEwLDB4MzIsMHg0MCwweDBmLDB4ZDEsMHgwMywweGU0LDB4MDAsMHhmNSwweDg2IH0sCi0gIDE2LCAweDlhODAsIDAsIHsweDMzLDB4NjAsMHgyYywweDlhLDB4ODMsMHgyNCwweDA0LDB4ZmQsMHhhOCwweDIyLDB4NDAsMHgwZCwweDUwLDB4NDMsMHhmNCwweDAwIH0sCi0gIDE2LCAweDlhOTAsIDAsIHsweGZkLDB4MDAsMHgzMywweDQwLDB4MGYsMHg5MCwweDAzLDB4MDYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDlhYTAsIDAsIHsweDc4LDB4MTAsMHhlMSwweDAwLDB4YjgsMHgwMCwweDIyLDB4MDAsMHgyOCwweDgwLDB4MDIsMHgyMCwweDAwLDB4YjgsMHgwMCwweGEyIH0sCi0gIDE2LCAweDlhYjAsIDAsIHsweDAwLDB4MGIsMHg4YSwweDEyLDB4ZTAsMHgwMCwweGI4LDB4MDQsMHgyMiwweDE0LDB4MDgsMHg4NCwweDAyLDB4MjAsMHgwMCwweGI4IH0sCi0gIDE2LCAweDlhYzAsIDAsIHsweDQwLDB4MjAsMHgwMCwweDg4LDB4ODAsMHgwMiwweGUwLDB4MDAsMHhiOCwweDAwLDB4YTIsMHgwMCwweDBiLDB4ODAsMHgwMiwweDBlIH0sCi0gIDE2LCAweDlhZDAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA1LDB4YzQsMHgwMCwweGIxLDB4NDIsMHgyMCwweDQwIH0sCi0gIDE2LCAweDlhZTAsIDAsIHsweDA4LDB4MTAsMHgwMiwweDA0LDB4MDAsMHhiMSwweDQwLDB4MjAsMHg0MCwweDBiLDB4MTAsMHgwNiwweGM0LDB4MDAsMHhiMSwweDQwIH0sCi0gIDE2LCAweDlhZjAsIDAsIHsweDI0LDB4NDAsMHgwOCwweDEwLDB4MDIsMHg0NCwweDA0LDB4YjEsMHgwMCwweDYwLDB4NDAsMHgwOSwweDEwLDB4MDIsMHhjNCwweDAwIH0sCi0gIDE2LCAweDliMDAsIDAsIHsweGIxLDB4MDAsMHgyMCwweDQwLDB4MGIsMHgxMCwweDAyLDB4MTIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDliMTAsIDAsIHsweDE4LDB4MTUsMHhhNCwweDAwLDB4YjksMHgwMiwweDIyLDB4NjAsMHgwOCwweDk0LDB4MDIsMHgyNCwweDAwLDB4YjksMHgwMSwweDIyIH0sCi0gIDE2LCAweDliMjAsIDAsIHsweDQwLDB4MGIsMHg5MCwweDA2LDB4ZTQsMHgwMCwweGI5LDB4MjAsMHgyNiwweDQwLDB4MDgsMHg5NCwweDAyLDB4NjQsMHgwOCwweGI5IH0sCi0gIDE2LCAweDliMzAsIDAsIHsweDAwLDB4MjIsMHg0MCwweDA4LDB4OTIsMHgwMiwweGVjLDB4MDgsMHhiOSwweDA0LDB4MjIsMHg0MSwweDBiLDB4MTAsMHgwMiwweDA2IH0sCi0gIDE2LCAweDliNDAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4ZTQsMHgxMCwweGYxLDB4MDAsMHgzMiwweDYwIH0sCi0gIDE2LCAweDliNTAsIDAsIHsweDBjLDB4OTQsMHgwYiwweDI1LDB4MDAsMHhmOSwweDAwLDB4MzIsMHg0MCwweDhmLDB4OTQsMHhkMywweGU0LDB4MDAsMHhmOSwweDAwIH0sCi0gIDE2LCAweDliNjAsIDAsIHsweDM2LDB4NDAsMHg0YywweDkwLDB4MGIsMHg2NCwweDAwLDB4ZjEsMHgwMCwweDMyLDB4NDAsMHgwZCwweDkyLDB4MTIsMHhlNCwweDAwIH0sCi0gIDE2LCAweDliNzAsIDAsIHsweGY5LDB4MDAsMHgzMiwweDQwLDB4MGYsMHg5MCwweDBiLDB4MjgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDliODAsIDAsIHsweDY4LDB4NDEsMHhhNCwweDAwLDB4ZjksMHgwMCwweDNjLDB4NDAsMHg4ZiwweDkyLDB4MDMsMHhlNCwweDAwLDB4ZjksMHgwMCwweDNlIH0sCi0gIDE2LCAweDliOTAsIDAsIHsweDQwLDB4MGYsMHg5YywweDAzLDB4ZTQsMHgwMCwweGY5LDB4MDAsMHhiYSwweDQwLDB4MmYsMHg5MCwweDIzLDB4YTQsMHgwMCwweGY5IH0sCi0gIDE2LCAweDliYTAsIDAsIHsweDA4LDB4YmUsMHg0MCwweGNmLDB4OTAsMHgwMywweGU0LDB4MTAsMHhmMSwweDAxLDB4M2UsMHg0MSwweDBmLDB4OTAsMHgwMywweGRhIH0sCi0gIDE2LCAweDliYjAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTAsMHhjOCwweGY4LDB4MDAsMHgzZSwweDAzIH0sCi0gIDE2LCAweDliYzAsIDAsIHsweDBjLDB4ODQsMHgwMywweGExLDB4MTAsMHhlOCwweDAwLDB4MzIsMHgwMCwweDhjLDB4ODUsMHg4MywweGUwLDB4MDAsMHhjMCwweDAwIH0sCi0gIDE2LCAweDliZDAsIDAsIHsweDM4LDB4MGMsMHgyYywweDAwLDB4MDMsMHg2MCwweDAwLDB4YzgsMHgwMCwweDNjLDB4MDAsMHgwZCwweDgwLDB4MDIsMHgyMCwweDEwIH0sCi0gIDE2LCAweDliZTAsIDAsIHsweGM4LDB4MjAsMHhiMiwweDAyLDB4MGYsMHg4MCwweDAzLDB4Y2EsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDliZjAsIDAsIHsweDI4LDB4MDUsMHgzOSwweDEwLDB4YmUsMHgwNCwweDZmLDB4YTAsMHgwOCwweGEwLDB4MDIsMHgzYSwweDAwLDB4ODIsMHgwMCwweGEyIH0sCi0gIDE2LCAweDljMDAsIDAsIHsweDgwLDB4OGQsMHhlYywweDAzLDB4YTgsMHgwMCwweDhhLDB4MDAsMHgyMywweDgwLDB4MDgsMHhhMCwweDIyLDB4MjgsMHgwMCwweDhlIH0sCi0gIDE2LCAweDljMTAsIDAsIHsweGNjLDB4MmYsMHg4MCwweDA4LDB4ZTgsMHhjMiwweGI4LDB4MDAsMHg4ZSwweDYwLDB4MjMsMHg5MCwweDBiLDB4YTAsMHgwMiwweGNhIH0sCi0gIDE2LCAweDljMjAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NGUsMHgwOCwweGIwLDB4NzIsMHgyYywweGQwIH0sCi0gIDE2LCAweDljMzAsIDAsIHsweDI4LDB4YjAsMHgwNiwweDhjLDB4MDEsMHhhMSwweDAyLDB4MjAsMHhjMCwweDA4LDB4MzgsMHgwMiwweGNjLDB4MDAsMHg4MywweDAwIH0sCi0gIDE2LCAweDljNDAsIDAsIHsweDIwLDB4YzAsMHgyOSwweDMwLDB4MDIsMHg0YywweDAwLDB4ODEsMHgwMCwweDJjLDB4YzAsMHgwOCwweDMyLDB4MDIsMHgwYywweDQwIH0sCi0gIDE2LCAweDljNTAsIDAsIHsweDgzLDB4MDAsMHgyMCwweGY0LDB4MGIsMHgzMCwweDAyLDB4Y2EsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDljNjAsIDAsIHsweGEwLDB4MDEsMHgxYywweDAwLDB4YjQsMHgwMCwweDJkLDB4ZDAsMHg0OCwweGYyLDB4MDIsMHgxZSwweDIxLDB4ODUsMHgyMCwweDIwIH0sCi0gIDE2LCAweDljNzAsIDAsIHsweGU4LDB4MDksMHg3MiwweDAyLDB4OGUsMHg4MCwweDhmLDB4MDEsMHgyMCwweGMwLDB4MDksMHg3MiwweDAyLDB4MGUsMHg4MCwweDg3IH0sCi0gIDE2LCAweDljODAsIDAsIHsweDAwLDB4MmQsMHhjYywweDE4LDB4NTgsMHgwMiwweDhlLDB4MDAsMHg4NSwweDAwLDB4MjEsMHhjMCwweDBiLDB4NzIsMHgwMiwweGU4IH0sCi0gIDE2LCAweDljOTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MWUsMHgwMCwweGI0LDB4ODAsMHgyZCwweGUwIH0sCi0gIDE2LCAweDljYTAsIDAsIHsweDBjLDB4NzgsMHg4MywweDlhLDB4MDAsMHhlZCwweGQwLDB4MzEsMHhmNCwweDBjLDB4NmEsMHgwMywweGRlLDB4ODIsMHhjNywweDgwIH0sCi0gIDE2LCAweDljYjAsIDAsIHsweDM5LDB4ZTAsMHgwZCwweGY4LDB4ODMsMHg1ZSwweGMyLDB4YzUsMHg4MCwweDNkLDB4ZTgsMHgwYywweDY4LDB4MDMsMHgxMiwweDAwIH0sCi0gIDE2LCAweDljYzAsIDAsIHsweGNmLDB4ODAsMHgzMSwweGUwLDB4MGYsMHg3ZSwweDgzLDB4ZWEsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDljZDAsIDAsIHsweDA4LDB4MGQsMHhhYywweDA4LDB4ZjgsMHgwMCwweDNjLDB4YzAsMHgwZiwweGIzLDB4MDMsMHhlYywweDAwLDB4ZjksMHgwMiwweDNlIH0sCi0gIDE2LCAweDljZTAsIDAsIHsweGM4LDB4MGYsMHhiMCwweDAzLDB4ZWQsMHg0MCwweGZiLDB4MDAsMHhiZSwweDgwLDB4MGUsMHhiMywweDAzLDB4ZWQsMHhjMCwweGZiIH0sCi0gIDE2LCAweDljZjAsIDAsIHsweDAwLDB4M2UsMHhkMiwweDJlLDB4ODAsMHgwMywweGVjLDB4MDIsMHhmOSwweDAwLDB4M2UsMHhjMCwweDBmLDB4YjAsMHgwMywweGMyIH0sCi0gIDE2LCAweDlkMDAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZmUsMHgwMCwweGYwLDB4OTEsMHgzMywweGUwIH0sCi0gIDE2LCAweDlkMTAsIDAsIHsweDhmLDB4ZjgsMHgwMywweGZlLDB4MDAsMHhmZCwweDgwLDB4M2YsMHhlMCwweDBjLDB4NzgsMHg4MywweDNmLDB4MDAsMHhjZiwweDgwIH0sCi0gIDE2LCAweDlkMjAsIDAsIHsweDNmLDB4YTAsMHgwYywweGY4LDB4MDMsMHgzZSwweDAwLDB4Y2QsMHg4MCwweDNmLDB4ZTAsMHgwZiwweGY4LDB4MTMsMHhmZSwweDEwIH0sCi0gIDE2LCAweDlkMzAsIDAsIHsweGZmLDB4ODAsMHgzZiwweDIwLDB4MGYsMHhmOSwweDQzLDB4ZDAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDlkNDAsIDAsIHsweGE4LDB4MTEsMHg5YywweDAwLDB4YjQsMHhjMSwweDMxLDB4YzAsMHgwYiwweDcwLDB4MDIsMHhkNCwweDEwLDB4ZTUsMHgyMCwweDJmIH0sCi0gIDE2LCAweDlkNTAsIDAsIHsweGM4LDB4MGYsMHg0MCwweDAzLDB4NWMsMHgwMCwweDg3LDB4MDAsMHgyZCwweDgwLDB4MDgsMHg3MCwweDAyLDB4MWMsMHg0MCwweDg3IH0sCi0gIDE2LCAweDlkNjAsIDAsIHsweDEwLDB4MmQsMHhjMCwweDBiLDB4NzYsMHgwMiwweGRjLDB4ODAsMHhiNywweDAwLDB4MmQsMHhjMCwweDBiLDB4NzAsMHgwMiwweGVhIH0sCi0gIDE2LCAweDlkNzAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxMCwweDAwLDB4OWMsMHgwMCwweGI2LDB4MjIsMHgyMSwweGQwIH0sCi0gIDE2LCAweDlkODAsIDAsIHsweDBiLDB4NzAsMHg4MiwweGQ4LDB4NDAsMHhiNSwweDAyLDB4MmQsMHhjMCwweDg4LDB4NjUsMHgwMiwweDBjLDB4MDAsMHg4NywweDE4IH0sCi0gIDE2LCAweDlkOTAsIDAsIHsweDJjLDB4MDQsMHgwOCwweDMwLDB4MDIsMHg4YywweDAyLDB4ODUsMHgwMCwweDJkLDB4YzAsMHgwYiwweDcwLDB4NDYsMHg5MCwweDEwIH0sCi0gIDE2LCAweDlkYTAsIDAsIHsweGI2LDB4MDAsMHgyZCwweDAwLDB4MGIsMHg3MCwweDIyLDB4YzQsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDlkYjAsIDAsIHsweDYwLDB4MTQsMHhjYywweDA4LDB4YjIsMHgwMCwweGE0LDB4YzAsMHgwYiwweDMwLDB4NDIsMHhjNiwweDEwLDB4YTEsMHgwMCwweDJjIH0sCi0gIDE2LCAweDlkYzAsIDAsIHsweGMwLDB4MGEsMHgwMCwweDAyLDB4NGMsMHgwMCwweDgzLDB4MDAsMHgyYywweDA4LDB4MDgsMHgzMCwweDAyLDB4OGMsMHgwMCwweDgzIH0sCi0gIDE2LCAweDlkZDAsIDAsIHsweDAwLDB4MmMsMHhjMCwweDBiLDB4MTgsMHg4MiwweGM0LDB4MDAsMHhiMCwweDAwLDB4MmMsMHg0MCwweDBiLDB4MzAsMHgxMiwweGQ4IH0sCi0gIDE2LCAweDlkZTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhmOCwweDE1LDB4YWMsMHgwMCwweDM4LDB4MDAsMHgzMiwweDUwIH0sCi0gIDE2LCAweDlkZjAsIDAsIHsweDBmLDB4ZjAsMHgwMywweGU2LDB4MjAsMHhmZCwweDAwLDB4M2YsMHhjMCwweDA4LDB4ZDAsMHgwMiwweDNjLDB4MDIsMHhjYiwweDgwIH0sCi0gIDE2LCAweDllMDAsIDAsIHsweDNjLDB4NTAsMHgyYywweGYwLDB4MGEsMHhiYywweDAwLDB4YzksMHgwMCwweDNmLDB4YzAsMHgwZiwweGJlLDB4MDMsMHhhYywweDAwIH0sCi0gIDE2LCAweDllMTAsIDAsIHsweGZhLDB4MDIsMHgyZSwweGY3LDB4NGYsMHhmMCwweDAzLDB4ZWUsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDllMjAsIDAsIHsweDgwLDB4MDAsMHhlYywweDAwLDB4ZjEsMHgwMCwweDNhLDB4ZjAsMHgwZiwweGIwLDB4MDMsMHhlOSwweDAwLDB4ZjksMHgwMSwweDNlIH0sCi0gIDE2LCAweDllMzAsIDAsIHsweGMwLDB4MGYsMHg5MCwweDEzLDB4ZWMsMHgwMCwweGY5LDB4MDAsMHgzZSwweDU1LDB4MGYsMHhiMCwweDAxLDB4NmMsMHgwMCwweGZiIH0sCi0gIDE2LCAweDllNDAsIDAsIHsweDAyLDB4M2UsMHhjMCwweDBmLDB4OTAsMHg3MywweGUwLDB4MDAsMHhmOCwweDQxLDB4M2UsMHgwMCwweDBmLDB4MzAsMHgwMSwweGUwIH0sCi0gIDE2LCAweDllNTAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDEwLDB4ZmMsMHgwMCwweGZjLDB4MDAsMHgzMywweGMwIH0sCi0gIDE2LCAweDllNjAsIDAsIHsweDFmLDB4ZjAsMHgxMywweGYwLDB4MDgsMHhmZCwweDAyLDB4M2YsMHhjMCwweDhkLDB4YzAsMHgwMywweDNjLDB4MDAsMHhjZiwweGEwIH0sCi0gIDE2LCAweDllNzAsIDAsIHsweDNmLDB4ODAsMHgwYywweDcwLDB4MDMsMHgzYywweDEwLDB4ZmMsMHgwMCwweDM3LDB4YzAsMHgwZiwweGUwLDB4MDMsMHhiMCwweDAwIH0sCi0gIDE2LCAweDllODAsIDAsIHsweGZlLDB4MDAsMHgzZiwweGMwLDB4MGMsMHhmMCwweDAzLDB4MDQsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDllOTAsIDAsIHsweDg0LDB4MDQsMHg2ZSwweDAwLDB4YjksMHhjMiwweGEyLDB4ZjAsMHgwYiwweGIwLDB4NDIsMHhlYiwweDAwLDB4YjksMHgwMCwweDJlIH0sCi0gIDE2LCAweDllYTAsIDAsIHsweGMwLDB4MGYsMHgxOCwweDAzLDB4NmMsMHgwMCwweGQ5LDB4ODEsMHgyZSwweGIwLDB4MGEsMHhiMCwweDQyLDB4MmMsMHgwMCwweGJhIH0sCi0gIDE2LCAweDllYjAsIDAsIHsweGM2LDB4MmUsMHhjMCwweDBiLDB4OGMsMHgwMiwweGUzLDB4MDAsMHhiOCwweGMwLDB4M2MsMHhhMCwweDBkLDB4YjAsMHgwMiwweDIwIH0sCi0gIDE2LCAweDllYzAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MmYsMHgwMCwweGI4LDB4ODAsMHgyMiwweGUyIH0sCi0gIDE2LCAweDllZDAsIDAsIHsweDBiLDB4YjAsMHgwMiwweGU2LDB4MjAsMHhiOSwweDAwLDB4MmMsMHhjMCwweDA4LDB4YjgsMHgwMiwweDBjLDB4MDAsMHg4YiwweDAwIH0sCi0gIDE2LCAweDllZTAsIDAsIHsweDJlLDB4MzAsMHg0OCwweGIwLDB4MDIsMHgyYywweDAwLDB4YjksMHhjMCwweDJlLDB4YzEsMHgwYiwweDg4LDB4MDIsMHhlZSwweDEwIH0sCi0gIDE2LCAweDllZjAsIDAsIHsweGI5LDB4YzAsMHgyZSwweDIwLDB4MTksMHhiMCwweDAyLDB4MjAsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDlmMDAsIDAsIHsweDA4LDB4MDQsMHgwYywweDAwLDB4YjAsMHgwMCwweDIwLDB4YzAsMHgwYiwweDMwLDB4MDYsMHhjMCwweDAwLDB4OTEsMHgwMCwweDJjIH0sCi0gIDE2LCAweDlmMTAsIDAsIHsweGMwLDB4NDksMHg4MCwweDAyLDB4NGMsMHgwNCwweDkxLDB4MDAsMHgyYywweDAwLDB4OGEsMHgzMCwweDBhLDB4MGMsMHgwNCwweGIxIH0sCi0gIDE2LCAweDlmMjAsIDAsIHsweDAwLDB4MmMsMHhjMCwweDFiLDB4MDAsMHgxMiwweDQ5LDB4MTAsMHhiMSwweDAwLDB4MmUsMHgyMCwweDA5LDB4MzAsMHgwMiwweDAyIH0sCi0gIDE2LCAweDlmMzAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4NmMsMHgwMCwweGI4LDB4MjAsMHgyMiwweGMwIH0sCi0gIDE2LCAweDlmNDAsIDAsIHsweDhiLDB4ZjAsMHgwMywweGUwLDB4MDgsMHhmZCwweDAwLDB4M2YsMHhjMCwweDBjLDB4YTAsMHgwMywweDNjLDB4MDAsMHhjYiwweDAwIH0sCi0gIDE2LCAweDlmNTAsIDAsIHsweDNlLDB4MDAsMHg0YywweGYwLDB4MGEsMHgzYywweDAwLDB4YjksMHgwMCwweDM3LDB4YzEsMHgwZiwweGEwLDB4MDMsMHhlMCwweDAwIH0sCi0gIDE2LCAweDlmNjAsIDAsIHsweGZhLDB4MDAsMHgzZSwweDAwLDB4MGQsMHhmMCwweDBiLDB4MDAsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDlmNzAsIDAsIHsweGEwLDB4MWQsMHhmMCwweDAxLDB4ZmMsMHg0MCwweDNmLDB4ODAsMHg0ZiwweGYwLDB4MDIsMHhmMCwweDAwLDB4ZmQsMHgwMCwweDNmIH0sCi0gIDE2LCAweDlmODAsIDAsIHsweGMxLDB4MGYsMHhjMCwweDAzLDB4ZmMsMHgwMCwweGZkLDB4MDAsMHgzZiwweDAwLDB4NGYsMHhmMCwweDYzLDB4ZmMsMHgwMCwweGZkIH0sCi0gIDE2LCAweDlmOTAsIDAsIHsweDA0LDB4M2YsMHhjMCwweDBmLDB4YzAsMHgwMywweGYwLDB4ODAsMHhmYywweDAwLDB4N2IsMHgwMCwweDBmLDB4ZjAsMHg0MywweGU4IH0sCi0gIDE2LCAweDlmYTAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZjgsMHgwMCwweGM4LDB4MTAsMHgzMywweDA0IH0sCi0gIDE2LCAweDlmYjAsIDAsIHsweDBjLDB4NDAsMHgwMiwweDM0LDB4MDAsMHhjOCwweDg1LDB4MWYsMHhjMCwweDJkLDB4ZDksMHgwMywweGZjLDB4YzAsMHhkYiwweDI4IH0sCi0gIDE2LCAweDlmYzAsIDAsIHsweDM3LDB4NjQsMHgwZiwweGRiLDB4MDMsMHgzZSwweDAwLDB4ZmYsMHgyNSwweDNmLDB4YzgsMHgwZSwweGYyLDB4MDMsMHhmZSwweDIwIH0sCi0gIDE2LCAweDlmZDAsIDAsIHsweGZmLDB4YTQsMHgzNywweGM0LDB4MGMsMHhjOCwweDAzLDB4MzAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDlmZTAsIDAsIHsweDgwLDB4MTAsMHhlOCwweDAwLDB4ODgsMHgyMCwweDIyLDB4MDAsMHgwOCwweDg4LDB4MTIsMHgyNiwweDA0LDB4ODksMHg4MiwweDJlIH0sCi0gIDE2LCAweDlmZjAsIDAsIHsweGY0LDB4NDgsMHhiOCwweDAyLDB4ZmMsMHhjNCwweDk4LDB4YzIsMHgyMiwweDdjLDB4NGIsMHg5ZCwweDQyLDB4MjYsMHgwOCwweGJmIH0sCi0gIDE2LCAweGEwMDAsIDAsIHsweDE4LDB4NzcsMHhlNCwweDA4LDB4ZjEsMHg4MiwweGVmLDB4MDAsMHhiYiwweGQwLDB4MjIsMHhkOCwweDA4LDB4OTAsMHg4MywweDYwIH0sCi0gIDE2LCAweGEwMTAsIDAsIHsweDAyLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDQ1LDB4YzgsMHgwNCwweGEwLDB4MDAsMHgyNCwweDAwIH0sCi0gIDE2LCAweGEwMjAsIDAsIHsweDBhLDB4MDAsMHgwMiwweDBjLDB4MDAsMHg4MiwweDA0LDB4MmMsMHhlMCwweDA4LDB4MTAsMHgwMiwweGNjLDB4ODAsMHg4MywweDAwIH0sCi0gIDE2LCAweGEwMzAsIDAsIHsweDI0LDB4MDAsMHgwYiwweDEwLDB4MDYsMHhjOCwweDAxLDB4YjMsMHgyMCwweDJjLDB4YzAsMHgyOSwweDMyLDB4MDIsMHhjOCwweDA4IH0sCi0gIDE2LCAweGEwNDAsIDAsIHsweGIxLDB4MDAsMHgyNCwweGQwLDB4MDgsMHg4MiwweDAyLDB4NjIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGEwNTAsIDAsIHsweGMwLDB4MTUsMHhhOCwweDAwLDB4YTgsMHgwYywweDI2LDB4MDAsMHgwYSwweDgwLDB4MDIsMHgyYywweDE0LDB4OGEsMHgwMiwweDZlIH0sCi0gIDE2LCAweGEwNjAsIDAsIHsweGUwLDB4MDgsMHhiMCwweDAyLDB4NGMsMHgwOCwweGE4LDB4MDAsMHgyNiwweDIwLDB4MGIsMHg5YywweDAyLDB4ZTQsMHgwMCwweGJiIH0sCi0gIDE2LCAweGEwNzAsIDAsIHsweDA0LDB4MjIsMHhjMCwweDE5LDB4YjAsMHgwMiwweGU4LDB4MDEsMHhiYiwweDExLDB4MDIsMHhjMCwweDg4LDB4OTAsMHgwMiwweGYwIH0sCi0gIDE2LCAweGEwODAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE1LDB4ZWMsMHgwMiwweGVhLDB4NDAsMHhiNiwweDYwIH0sCi0gIDE2LCAweGEwOTAsIDAsIHsweDJlLDB4OTgsMHgwYiwweDIwLDB4MDIsMHhjOCwweDAyLDB4M2UsMHhjMCwweDBkLDB4OTgsMHgwMywweGVjLDB4MDIsMHhkYiwweDg4IH0sCi0gIDE2LCAweGEwYTAsIDAsIHsweGI2LDB4MjEsMHgwZiwweDg4LDB4MDMsMHhhYywweDA4LDB4ZmIsMHgwMCwweDJjLDB4YzAsMHgwZSwweGIwLDB4NDMsMHhlNSwweDgwIH0sCi0gIDE2LCAweGEwYjAsIDAsIHsweGYwLDB4NjAsMHgzNiwweGMwLDB4MGMsMHgwMSwweDQzLDB4NDgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGEwYzAsIDAsIHsweGUwLDB4MDEsMHhiYywweDAwLDB4ZDYsMHgwMSwweDNiLDB4NjQsMHg4NSwweGQ5LDB4MDMsMHhmMCwweDBjLDB4ZmYsMHgwMCwweDNlIH0sCi0gIDE2LCAweGEwZDAsIDAsIHsweGMxLDB4MGYsMHhmYywweDIxLDB4ZWMsMHgwMCwweGQ3LDB4OTAsMHgzYiwweDQwLDB4MGYsMHg1MCwweDAzLDB4M2MsMHgwMCwweGZmIH0sCi0gIDE2LCAweGEwZTAsIDAsIHsweDAwLDB4M2YsMHhjMCwweDhlLDB4ZjAsMHgwMywweGY0LDB4NDAsMHhmZCwweDg4LDB4M2YsMHhjMCwweDJmLDB4ZDAsMHgwMiwweDc4IH0sCi0gIDE2LCAweGEwZjAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4OGMsMHgwMCwweGRhLDB4NDAsMHgzYywweDQwIH0sCi0gIDE2LCAweGExMDAsIDAsIHsweDBmLDB4MTAsMHgwMywweDQ4LDB4MDAsMHhmOSwweDIyLDB4M2MsMHhjMiwweDBlLDB4OTAsMHg4MywweGVjLDB4MDIsMHhkYiwweDA0IH0sCi0gIDE2LCAweGExMTAsIDAsIHsweDNhLDB4MDgsMHgwZiwweDg0LDB4ODcsMHhlOCwweDAwLDB4Y2IsMHgwMCwweDNlLDB4YzQsMHgwZSwweGIwLDB4MDMsMHhlZCwweDAwIH0sCi0gIDE2LCAweGExMjAsIDAsIHsweGU4LDB4NDIsMHgzYSwweGMwLDB4MGYsMHg4MCwweDBiLDB4MTAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGExMzAsIDAsIHsweDg4LDB4MDUsMHgyYywweDA4LDB4OGEsMHgwMCwweDJlLDB4NDIsMHg4YiwweDkwLDB4MDIsMHgyOCwweDE4LDB4YmIsMHg0OSwweDIyIH0sCi0gIDE2LCAweGExNDAsIDAsIHsweGQwLDB4MzgsMHhiYywweDgyLDB4ZmMsMHgwMCwweGU4LDB4MDIsMHgyMiwweDYyLDB4Y2IsMHg5YywweDAwLDB4ZWYsMHg2MCwweGRmIH0sCi0gIDE2LCAweGExNTAsIDAsIHsweDAwLDB4MmYsMHhjMCwweDBiLDB4ZjAsMHgwMiwweGVjLDB4MDAsMHgwOSwweDQwLDB4MzcsMHhjMCwweDBiLDB4OTAsMHgwMiwweDMyIH0sCi0gIDE2LCAweGExNjAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NDgsMHgxMCwweDExLDB4MDAsMHgyYywweGEwIH0sCi0gIDE2LCAweGExNzAsIDAsIHsweDBiLDB4MjAsMHgwMiwweDQ0LDB4MDAsMHg5MCwweGMwLDB4NjQsMHgzNCwweDI4LDB4MzQsMHgwMiwweGNjLDB4MDAsMHg5MywweDg0IH0sCi0gIDE2LCAweGExODAsIDAsIHsweDI4LDB4NDAsMHgwYiwweDA4LDB4MDAsMHhjZSwweDAwLDB4OTMsMHgwMCwweDJjLDB4YzIsMHgwYSwweDMwLDB4MDIsMHhjMCwweDAwIH0sCi0gIDE2LCAweGExOTAsIDAsIHsweGIyLDB4NDAsMHgyMiwweGMwLDB4MGIsMHgyMCwweDAyLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGExYTAsIDAsIHsweDcwLDB4MDEsMHgxYSwweDQwLDB4ODUsMHg4MCwweDJkLDB4YTAsMHgwYiwweDY4LDB4MDYsMHgxNiwweDgwLDB4YmQsMHg5MCwweDI1IH0sCi0gIDE2LCAweGExYjAsIDAsIHsweDI0LDB4MTgsMHg3YiwweDQyLDB4ZGUsMHg0MCwweGEwLDB4ODAsMHgyMSwweGUwLDB4MGIsMHg2OCwweDAyLDB4ZDYsMHgwMCwweDk3IH0sCi0gIDE2LCAweGExYzAsIDAsIHsweDkwLDB4MmQsMHhlMCwweDBiLDB4NzgsMHgwMiwweGNlLDB4NDAsMHg5MiwweDgwLDB4NmQsMHhlNCwweDBiLDB4NzgsMHgwMiwweDA4IH0sCi0gIDE2LCAweGExZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MjgsMHgwMCwweGQxLDB4ODAsMHgzYywweDg4IH0sCi0gIDE2LCAweGExZTAsIDAsIHsweDBiLDB4MjIsMHgwMywweDRlLDB4ODAsMHhmMiwweGExLDB4M2MsMHgyNCwweDJhLDB4MzksMHgwMywweGNjLDB4NDAsMHhkMywweGFjIH0sCi0gIDE2LCAweGExZjAsIDAsIHsweDM4LDB4YzUsMHgwZiwweDMwLDB4ODIsMHhjOCwweDAwLDB4ZDMsMHgwMCwweDNjLDB4YzAsMHgwZSwweDMwLDB4MTMsMHhjMCwweDAwIH0sCi0gIDE2LCAweGEyMDAsIDAsIHsweGYxLDB4MDAsMHgzOCwweGMwLDB4MGYsMHhhMCwweDAzLDB4MWEsMHgwNiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGEyMTAsIDAsIHsweDQwLDB4MWQsMHhiOCwweDEwLDB4ZmQsMHgzNCwweDNlLDB4ODAsMHgwZiwweGUwLDB4MDMsMHhlZSwweDAwLDB4NzIsMHgwMCwweDNhIH0sCi0gIDE2LCAweGEyMjAsIDAsIHsweDAwLDB4MGYsMHhiMCwweDYzLDB4ZWMsMHg0MCwweGY4LDB4MjIsMHgzZSwweGMwLDB4MGYsMHhmMCwweDAzLDB4ZDQsMHg0MCwweGZmIH0sCi0gIDE2LCAweGEyMzAsIDAsIHsweDAwLDB4M2YsMHhkMiwweDBmLDB4ZjAsMHgwMywweGVjLDB4MDAsMHhjZiwweDAwLDB4MzcsMHhjMCwweDBmLDB4ZjAsMHgwMywweGQwIH0sCi0gIDE2LCAweGEyNDAsIDAsIHsweDA2LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZWUsMHgwMCwweGViLDB4MDAsMHgzNiwweGUwIH0sCi0gIDE2LCAweGEyNTAsIDAsIHsweDBkLDB4YjAsMHgwMywweDIwLDB4MDAsMHhmMCwweDgwLDB4MzMsMHhjMCwweDA4LDB4YjgsMHgwMywweDJjLDB4ODAsMHhjYiwweDAwIH0sCi0gIDE2LCAweGEyNjAsIDAsIHsweDMyLDB4ODAsMHgwZiwweGEwLDB4MTMsMHg2ZSwweDA4LDB4Y2IsMHgyOCwweDMyLDB4ZTAsMHgwZCwweGI0LDB4ODMsMHhlMiwweDAwIH0sCi0gIDE2LCAweGEyNzAsIDAsIHsweGNhLDB4MDAsMHgzZSwweGUwLDB4MGMsMHhhOCwweDAzLDB4MDIsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGEyODAsIDAsIHsweGM4LDB4MTEsMHg4YywweDA0LDB4ODMsMHgwMCwweDIxLDB4YzAsMHg0OCwweDcwLDB4MDIsMHgxMCwweDAwLDB4YjcsMHgwMiwweDIxIH0sCi0gIDE2LCAweGEyOTAsIDAsIHsweGMwLDB4NGEsMHg3MCwweDAyLDB4MGQsMHg0OCwweGQ0LDB4MDAsMHgzNSwweGMwLDB4MGUsMHg2MCwweDAyLDB4ZGMsMHgwMCwweGE3IH0sCi0gIDE2LCAweGEyYTAsIDAsIHsweDQwLDB4MjksMHhjMCwweDA5LDB4NzIsMHgwMiwweGQ0LDB4MTAsMHhhNiwweDAyLDB4MmYsMHhjOCwweDA4LDB4NzAsMHgwMiwweDEyIH0sCi0gIDE2LCAweGEyYjAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDAwLDB4OWUsMHgwMCwweGE3LDB4ODAsMHgyMCwweGUwIH0sCi0gIDE2LCAweGEyYzAsIDAsIHsweDBhLDB4MzgsMHgwMiwweDFhLDB4MDAsMHhiNSwweDgwLDB4MjEsMHhlMCwweDA4LDB4ZjgsMHgyMiwweDVjLDB4ODEsMHg4MywweDgwIH0sCi0gIDE2LCAweGEyZDAsIDAsIHsweDIxLDB4YTEsMHgwYiwweDc4LDB4ODIsMHg1YSwweDEwLDB4ODMsMHhhMCwweDIwLDB4ZTgsMHgwYSwweDdiLDB4MDIsMHhkYSwweDAwIH0sCi0gIDE2LCAweGEyZTAsIDAsIHsweDk3LDB4YzAsMHgyZCwweGU0LDB4MDgsMHhlOCwweDAyLDB4MDgsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGEyZjAsIDAsIHsweDA4LDB4MTQsMHhjYywweDAwLDB4ODMsMHgxMCwweDIwLDB4YzAsMHgwYSwweDMwLDB4MDIsMHgwOCwweDA4LDB4YjMsMHg3MCwweDIwIH0sCi0gIDE2LCAweGEzMDAsIDAsIHsweGY4LDB4MGEsMHgzMCwweDQyLDB4NGMsMHgwNCwweDkzLDB4MTQsMHgyNiwweGM0LDB4MGEsMHgzOCwweDAyLDB4Y2MsMHgwMCwweGEzIH0sCi0gIDE2LCAweGEzMTAsIDAsIHsweDAwLDB4MjgsMHhjMCwweGFhLDB4MzAsMHgwMiwweGNlLDB4NDAsMHhiMywweDg4LDB4MmMsMHhjMCwweDI4LDB4MzAsMHgwYSwweDEyIH0sCi0gIDE2LCAweGEzMjAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YTksMHgwMCwweGVhLDB4ODAsMHhiNiwweDkwIH0sCi0gIDE2LCAweGEzMzAsIDAsIHsweDJmLDB4MjQsMHgwYiwweDM5LDB4MDQsMHhiZSwweGMwLDB4MzMsMHg5MiwweDBjLDB4YTAsMHgwYiwweDY4LDB4MTgsMHhjZSwweGMwIH0sCi0gIDE2LCAweGEzNDAsIDAsIHsweDMzLDB4ODAsMHgwZiwweGU5LDB4NDMsMHg3OCwweDAwLDB4Y2EsMHgwMCwweDMyLDB4ODAsMHgwZiwweGEwLDB4MTMsMHhmOCwweDQ4IH0sCi0gIDE2LCAweGEzNTAsIDAsIHsweGRlLDB4MDAsMHgzZSwweDgwLDB4MGMsMHhlMCwweDAyLDB4M2EsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGEzNjAsIDAsIHsweDQ4LDB4MDAsMHhlMCwweDI0LDB4ZjgsMHgwMCwweDNlLDB4MTIsMHgwZCwweDgwLDB4OTMsMHhiMCwweDI4LDB4ZjgsMHgwMCwweGJjIH0sCi0gIDE2LCAweGEzNzAsIDAsIHsweDAwLDB4MGYsMHg4NCwweDAzLDB4YTAsMHgwMCwweGYwLDB4MDAsMHgzZSwweDAyLDB4MGUsMHg4MCwweDAwLDB4ZTAsMHgwMCwweGY4IH0sCi0gIDE2LCAweGEzODAsIDAsIHsweDAxLDB4M2UsMHgwMCwweDBkLDB4ODAsMHgwMywweGUwLDB4MDAsMHhlOCwweDAwLDB4M2UsMHgwMCwweDBmLDB4ODAsMHgwMywweGQyIH0sCi0gIDE2LCAweGEzOTAsIDAsIHsweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTQsMHgwMCwweGY5LDB4MDAsMHhiMiwweDcwIH0sCi0gIDE2LCAweGEzYTAsIDAsIHsweDBmLDB4OTAsMHgwMSwweDA0LDB4MDAsMHhjOSwweDAwLDB4M2UsMHg0MCwweDBjLDB4OTgsMHgwMywweGU0LDB4MDQsMHhlOSwweDA4IH0sCi0gIDE2LCAweGEzYjAsIDAsIHsweDNhLDB4NDgsMHgwYywweDlhLDB4MDMsMHhlNCwweDAwLDB4ZjksMHgwMCwweDM2LDB4NDAsMHgwYiwweDEwLDB4MGIsMHgyNiwweDgwIH0sCi0gIDE2LCAweGEzYzAsIDAsIHsweGYxLDB4ODAsMHgzMiwweDQwLDB4MGYsMHg5MCwweDAzLDB4YzIsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGEzZDAsIDAsIHsweDgwLDB4MDQsMHg2NCwweDAwLDB4YjksMHgwMCwweDIyLDB4NjEsMHgwYiwweDkwLDB4MDIsMHgyNCwweDA4LDB4ODksMHgwMCwweDJlIH0sCi0gIDE2LCAweGEzZTAsIDAsIHsweDQwLDB4MGQsMHg5YSwweDAyLDB4ZTQsMHgwOCwweGE5LDB4MDAsMHgyMiwweDc4LDB4MGQsMHg5NCwweDA2LDB4ZTQsMHgxMCwweGI5IH0sCi0gIDE2LCAweGEzZjAsIDAsIHsweDAwLDB4MjIsMHg1MCwweDBiLDB4OTAsMHgwMiwweDI1LDB4ODAsMHhiOSwweDgwLDB4MzYsMHg0MCwweDBiLDB4OTAsMHgwMiwweGUwIH0sCi0gIDE2LCAweGE0MDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4MjQsMHgwMCwweGI1LDB4MDAsMHgyMywweDQyIH0sCi0gIDE2LCAweGE0MTAsIDAsIHsweDBiLDB4ZDAsMHgwZSwweGI0LDB4MDAsMHg4OSwweDA0LDB4MmUsMHg2MCwweDA4LDB4OTEsMHgwMiwweGM0LDB4MDQsMHhiOSwweDA0IH0sCi0gIDE2LCAweGE0MjAsIDAsIHsweDJhLDB4YzAsMHgwOCwweDk0LDB4MDIsMHhlNCwweDEwLDB4YjEsMHgwMCwweDI2LDB4NDIsMHgwYSwweDkwLDB4MDIsMHgyNCwweDAwIH0sCi0gIDE2LCAweGE0MzAsIDAsIHsweGI5LDB4MjEsMHg2MiwweDQwLDB4MGIsMHg5MCwweDAyLDB4YzYsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGE0NDAsIDAsIHsweDA4LDB4MDQsMHgwNSwweDAwLDB4YjUsMHg0MCwweDIxLDB4NTAsMHg0YiwweDUwLDB4MDYsMHg5NCwweDAyLDB4ODEsMHgwMCwweDJjIH0sCi0gIDE2LCAweGE0NTAsIDAsIHsweDYwLDB4MjksMHgxNCwweDA2LDB4YzUsMHgwMCwweGExLDB4MjIsMHgyMCwweDUxLDB4ODksMHgxNCwweDAyLDB4YzQsMHgwMCwweGIxIH0sCi0gIDE2LCAweGE0NjAsIDAsIHsweDIwLDB4MjAsMHg0OCwweDBiLDB4MTQsMHgwMiwweDA0LDB4MDEsMHhiMSwweDAwLDB4MDQsMHg1MCwweDBiLDB4MTAsMHgwMiwweGMyIH0sCi0gIDE2LCAweGE0NzAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjAsMHgwOCwweGI4LDB4MDAsMHgzMiwweDAwIH0sCi0gIDE2LCAweGE0ODAsIDAsIHsweDhmLDB4ODAsMHgwMywweGIwLDB4MDAsMHg4OCwweDAwLDB4M2UsMHgwMCwweDBjLDB4ODAsMHgwMywweGUwLDB4MDAsMHhlOCwweDA0IH0sCi0gIDE2LCAweGE0OTAsIDAsIHsweDNhLDB4MDAsMHgwYywweDgwLDB4MDIsMHhlMCwweDAwLDB4ZjgsMHg1MCwweDM2LDB4MDAsMHgwZiwweDgwLDB4MDMsMHgyMCwweDA0IH0sCi0gIDE2LCAweGE0YTAsIDAsIHsweGY4LDB4MDEsMHgxMiwweDAwLDB4NGYsMHg4MCwweDA3LDB4ZWUsMHgwNywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGE0YjAsIDAsIHsweDk4LDB4MWQsMHhlNSwweDEwLDB4ZjksMHg0MCwweDNlLDB4NTAsMHgwZiwweDk0LDB4MDIsMHg2NSwweDAxLDB4ZmQsMHgwMSwweDNkIH0sCi0gIDE2LCAweGE0YzAsIDAsIHsweDUwLDB4NGYsMHg1MCwweDEzLDB4ZTUsMHgwMCwweGZkLDB4MTAsMHgxZiwweDUwLDB4MDcsMHhkNCwweDQzLDB4ZDQsMHgwMCwweGY5IH0sCi0gIDE2LCAweGE0ZDAsIDAsIHsweDEwLDB4MWUsMHg0NCwweDBmLDB4OTQsMHgwMywweGQ1LDB4MDAsMHhmZCwweDQwLDB4M2UsMHg1MCwweDBmLDB4NTIsMHg4MywweGVlIH0sCi0gIDE2LCAweGE0ZTAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDE1LDB4ZTQsMHg0MCwweGY5LDB4NjAsMHgzZiwweDQ0IH0sCi0gIDE2LCAweGE0ZjAsIDAsIHsweDBmLDB4ZDAsMHhjMywweGU0LDB4MzAsMHhmOSwweDAxLDB4M2UsMHg0MiwweDBjLDB4ZDAsMHgwMywweGU3LDB4ODAsMHhkZCwweGEwIH0sCi0gIDE2LCAweGE1MDAsIDAsIHsweDMzLDB4NDAsMHgwYywweGQwLDB4MDMsMHhmYywweDAwLDB4YzksMHg5MCwweDNmLDB4NjgsMHgxZSwweDkxLDB4MDMsMHgzNCwweDAwIH0sCi0gIDE2LCAweGE1MTAsIDAsIHsweGZkLDB4MDAsMHgzZSwweDY4LDB4MGMsMHg5NCwweDAzLDB4MGUsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGE1MjAsIDAsIHsweDM5LDB4MTAsMHhlMCwweDAwLDB4YjgsMHg0MiwweDJlLDB4MDksMHgwYiwweDg0LDB4MDIsMHhlMSwweDA0LDB4YmUsMHgwMCwweDJlIH0sCi0gIDE2LCAweGE1MzAsIDAsIHsweDEwLDB4MDgsMHg4MCwweDIyLDB4YzIsMHg4MCwweDg4LDB4NDAsMHgyMiwweDAwLDB4MGEsMHg4MCwweDAyLDB4ZTAsMHgwMCwweGE4IH0sCi0gIDE2LCAweGE1NDAsIDAsIHsweGQwLDB4MmUsMHgxMCwweDRiLDB4OGEsMHgwMywweDYwLDB4MDAsMHhiYSwweDAwLDB4MmUsMHgzMCwweDA4LDB4OGEsMHgwMiwweDg2IH0sCi0gIDE2LCAweGE1NTAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDA1LDB4YzUsMHg4MCwweGIxLDB4NjAsMHg2YywweGQwIH0sCi0gIDE2LCAweGE1NjAsIDAsIHsweDBiLDB4MTAsMHgwMCwweGRjLDB4MGMsMHhiNSwweDAwLDB4MmMsMHg0MSwweDA4LDB4MTAsMHgwMiwweGM1LDB4ODAsMHg5MSwweDEwIH0sCi0gIDE2LCAweGE1NzAsIDAsIHsweDY4LDB4YzAsMHgwOCwweDMwLDB4MDIsMHhlNCwweDBjLDB4ODEsMHgyMiwweDJjLDB4NTAsMHgwOCwweDEwLDB4NDIsMHgwNCwweDAwIH0sCi0gIDE2LCAweGE1ODAsIDAsIHsweGExLDB4MDAsMHgyYywweDVhLDB4MjgsMHg5MCwweDAyLDB4NTIsMHgxMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGE1OTAsIDAsIHsweDE4LDB4MTUsMHhhNCwweDAwLDB4YjksMHgwMCwweDJlLDB4NDEsMHgwYiwweDkwLDB4MTIsMHhmNCwweDgwLDB4YmYsMHgwMCwweDJlIH0sCi0gIDE2LCAweGE1YTAsIDAsIHsweDQwLDB4MDgsMHg5MCwweDAyLDB4ZTQsMHgwMCwweGE5LDB4NjAsMHg2MCwweDQyLDB4MGEsMHg5NCwweDEyLDB4ZTUsMHgwMCwweGE5IH0sCi0gIDE2LCAweGE1YjAsIDAsIHsweDAwLDB4MmUsMHg0MCwweDBiLDB4OTAsMHgwMiwweDY0LDB4MjAsMHhiOSwweDAwLDB4MGUsMHg0MCwweDA5LDB4OTAsMHgwMiwweGM2IH0sCi0gIDE2LCAweGE1YzAsIDAsIHsweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDA1LDB4ZTQsMHgwMCwweGY5LDB4MDAsMHgzZSwweDQxIH0sCi0gIDE2LCAweGE1ZDAsIDAsIHsweDBmLDB4OTAsMHgyMywweGU0LDB4MDAsMHhmOSwweDAwLDB4M2UsMHg0MCwweDBjLDB4OTAsMHgwMywweGU0LDB4MDQsMHhkMSwweGMwIH0sCi0gIDE2LCAweGE1ZTAsIDAsIHsweGJhLDB4NzAsMHgwYywweDk4LDB4MDMsMHhjNCwweDAwLDB4YzksMHgwMCwweDNlLDB4NDAsMHgwZSwweDkwLDB4MDMsMHgyNSwweDQwIH0sCi0gIDE2LCAweGE1ZjAsIDAsIHsweGU5LDB4NDAsMHgzZSwweDQwLDB4MGMsMHgxMCwweDAzLDB4NjgsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGE2MDAsIDAsIHsweDY4LDB4MDEsMHhhNCwweDE0LDB4ZjksMHgwMCwweDNlLDB4NDAsMHgwZiwweDkwLDB4MjMsMHhlNCwweDA4LDB4ZjksMHhhMCwweDNjIH0sCi0gIDE2LCAweGE2MTAsIDAsIHsweGMyLDB4MmYsMHg5MCwweDAzLDB4YzQsMHgwMCwweGQ5LDB4ODAsMHgzZSwweDcwLDB4MGYsMHg5MSwweDQzLDB4ZTQsMHgwMCwweGY5IH0sCi0gIDE2LCAweGE2MjAsIDAsIHsweDAwLDB4M2UsMHg0MCwweDFmLDB4OTAsMHgxMywweGU2LDB4MjAsMHhmOSwweGEwLDB4M2MsMHg0MCwweDRlLDB4OTAsMHgwMywweDlhIH0sCi0gIDE2LCAweGE2MzAsIDAsIHsweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDAwLDB4YTAsMHgwMCwweGY4LDB4MDAsMHgzZSwweDAyIH0sCi0gIDE2LCAweGE2NDAsIDAsIHsweDBmLDB4ODAsMHgxMywweDIwLDB4MGMsMHhmYywweDAxLDB4M2UsMHgwMCwweDBjLDB4ODAsMHgwMywweGUwLDB4MDAsMHhjOCwweDUwIH0sCi0gIDE2LCAweGE2NTAsIDAsIHsweDMyLDB4MDAsMHgwZiwweDgwLDB4MGIsMHgyMCwweDA4LDB4ZjgsMHgwMCwweDMyLDB4MDAsMHgyYywweDgwLDB4NDMsMHhlMCwweDQwIH0sCi0gIDE2LCAweGE2NjAsIDAsIHsweGY4LDB4MDIsMHgzYSwweDAwLDB4OGYsMHg4MCwweDAzLDB4MGEsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGE2NzAsIDAsIHsweGE4LDB4ODUsMHgyOCwweDA4LDB4M2EsMHgwMCwweDBmLDB4ODAsMHg0YiwweGExLDB4MDIsMHgyOCwweDAwLDB4YmEsMHg4MiwweDJlIH0sCi0gIDE2LCAweGE2ODAsIDAsIHsweDg4LDB4NDgsMHhlNCwweDAyLDB4ZTgsMHgwMCwweGFlLDB4OTAsMHhhMywweDkwLDB4MGIsMHhlMCwweDAwLDB4MzgsMHgwMCwweGJhIH0sCi0gIDE2LCAweGE2OTAsIDAsIHsweDAwLDB4MzcsMHhhMCwweDA4LDB4YTAsMHgwMiwweGY4LDB4MDAsMHg5ZSwweGUwLDB4MjIsMHg4MCwweDBiLDB4YTAsMHgyMywweDQyIH0sCi0gIDE2LCAweGE2YTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NGMsMHgxMCwweDMzLDB4MDAsMHgyYywweGQwIH0sCi0gIDE2LCAweGE2YjAsIDAsIHsweDBiLDB4MTQsMHgwMiwweDBjLDB4MDAsMHhiMiwweDkxLDB4MmMsMHhkMCwweDA4LDB4M2UsMHgwMiwweDRjLDB4MDAsMHg4MywweDQwIH0sCi0gIDE2LCAweGE2YzAsIDAsIHsweDI0LDB4YzIsMHgwYiwweDM2LDB4MDAsMHg4YywweDAwLDB4YjMsMHgwMCwweDIwLDB4YzAsMHgwOSwweGIwLDB4MDIsMHhjZSwweDAwIH0sCi0gIDE2LCAweGE2ZDAsIDAsIHsweGIzLDB4Y2MsMHg2OCwweGMwLDB4MGIsMHgzMCwweDAyLDB4MDIsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGE2ZTAsIDAsIHsweGUwLDB4MDEsMHgxYywweDg4LDB4YjcsMHgyNSwweDJkLDB4YzAsMHg4YiwweDU4LDB4MWEsMHgxYywweDA4LDB4YjYsMHgwMCwweDJkIH0sCi0gIDE2LCAweGE2ZjAsIDAsIHsweGMwLDB4MDgsMHg3NCwweDAyLDB4ZGMsMHg0MCwweGE1LDB4MDAsMHgyNSwweGMwLDB4MWIsMHg3OCwweDAyLDB4OTQsMHgwOCwweGI3IH0sCi0gIDE2LCAweGE3MDAsIDAsIHsweDgwLDB4MjUsMHhlMywweDBhLDB4NzEsMHgwMiwweGRjLDB4MDAsMHg5NywweDgzLDB4MjEsMHhjOCwweDhiLDB4ZjEsMHgwMiwweDQ4IH0sCi0gIDE2LCAweGE3MTAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MWYsMHgwMCwweGY3LDB4ZTIsMHg3ZCwweGUwIH0sCi0gIDE2LCAweGE3MjAsIDAsIHsweDBmLDB4NTgsMHg0MywweDFlLDB4MTgsMHhmNiwweDgwLDB4N2MsMHhlMCwweDJjLDB4NjgsMHgwMiwweDVlLDB4OTAsMHhjMywweDgwIH0sCi0gIDE2LCAweGE3MzAsIDAsIHsweDM1LDB4ZTAsMHgwZiwweGY4LDB4MDMsMHg5ZSwweDA0LDB4ZmYsMHhhMSwweDIwLDB4YTEsMHgwZCwweDc4LDB4MDMsMHhkNiwweDAwIH0sCi0gIDE2LCAweGE3NDAsIDAsIHsweGY3LDB4ODAsMHgzOSwweGY4LDB4MGYsMHg3OCwweDAzLDB4MGEsMHgwNiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGE3NTAsIDAsIHsweDQ4LDB4MWQsMHhhYywweDAwLDB4ZmIsMHg0MCwweDdmLDB4NDEsMHgwZiwweDEwLDB4MDMsMHhlYywweDA0LDB4ZmEsMHgwMCwweDNlIH0sCi0gIDE2LCAweGE3NjAsIDAsIHsweGQwLDB4MGYsMHhhMCwweDAzLDB4ZWQsMHgwMCwweGU5LDB4MDAsMHgyYSwweDAwLDB4MGYsMHhiMCwweDAzLDB4NjQsMHgwMCwweGZiIH0sCi0gIDE2LCAweGE3NzAsIDAsIHsweDQwLDB4M2UsMHhjMCwweDBkLDB4YjAsMHgwMywweGU0LDB4MDAsMHhkMywweDAwLDB4MzYsMHhjMCwweDBmLDB4MzgsMHgwMywweGMyIH0sCi0gIDE2LCAweGE3ODAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDA1LDB4ZmUsMHg0OCwweGNmLDB4YzAsMHgzMywweDYwIH0sCi0gIDE2LCAweGE3OTAsIDAsIHsweDhjLDB4YzgsMHg0MywweGQ2LDB4MDAsMHhjYywweDk0LDB4M2YsMHhiMCwweDBkLDB4ZjgsMHgwMywweDdmLDB4MDAsMHhkZiwweDgwIH0sCi0gIDE2LCAweGE3YTAsIDAsIHsweDNmLDB4NjAsMHgwZiwweGQ4LDB4MDMsMHhkZSwweDAwLDB4Y2YsMHhjYSwweDNkLDB4NjAsMHgwYywweGY4LDB4MTMsMHgzYSwweDQ0IH0sCi0gIDE2LCAweGE3YjAsIDAsIHsweGRkLDB4ODAsMHgzZiwweGUwLDB4MGYsMHhmOCwweDQzLDB4MTgsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGE3YzAsIDAsIHsweGE4LDB4MTEsMHg5YywweDAwLDB4OGYsMHgxMSwweDMzLDB4YzAsMHg0OCwweDQxLDB4MTIsMHhjNCwweDQ4LDB4ODQsMHgxMSwweDJjIH0sCi0gIDE2LCAweGE3ZDAsIDAsIHsweGVjLDB4MmEsMHhiYSwweDAzLDB4M2MsMHg0MCwweGQ3LDB4NDgsMHgyZCwweDQxLDB4MGIsMHg2MCwweDAyLDB4ZDQsMHgwMCwweGQ3IH0sCi0gIDE2LCAweGE3ZTAsIDAsIHsweDAxLDB4M2QsMHhjMCwweDBkLDB4ZjAsMHgwMywweDVhLDB4MDAsMHg4NCwweDE4LDB4MmQsMHhjMCwweDBiLDB4NzAsMHgwMywweDZhIH0sCi0gIDE2LCAweGE3ZjAsIDAsIHsweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4OGMsMHgwOCwweDg3LDB4MDAsMHgyMSwweDQwIH0sCi0gIDE2LCAweGE4MDAsIDAsIHsweDA5LDB4NDAsMHgwMiwweGQ0LDB4MDAsMHhhNCwweDkyLDB4MmQsMHhjOCwweDA5LDB4NjIsMHg4MiwweDVjLDB4MDAsMHg4NywweDAwIH0sCi0gIDE2LCAweGE4MTAsIDAsIHsweDJkLDB4YzAsMHgwYiwweDUwLDB4MDIsMHhmYywweDAwLDB4ODcsMHgwMCwweDJkLDB4MDQsMHgwOCwweDcwLDB4MDIsMHgxYywweDgwIH0sCi0gIDE2LCAweGE4MjAsIDAsIHsweGI1LDB4MDAsMHgyZCwweGMwLDB4MGIsMHhmMCwweDAyLDB4MDAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGE4MzAsIDAsIHsweDYwLDB4MTAsMHhjYywweDAwLDB4ODMsMHgwMCwweDIwLDB4NDAsMHgwOSwweDAwLDB4MjIsMHhjNywweDAwLDB4YTAsMHg0MSwweDJjIH0sCi0gIDE2LCAweGE4NDAsIDAsIHsweGMxLDB4NGIsMHgwOCwweDAyLDB4MmMsMHgwMCwweDkzLDB4NDAsMHgyYywweDdjLDB4MGIsMHgzOCwweDAyLDB4YzcsMHgyMCwweDkzIH0sCi0gIDE2LCAweGE4NTAsIDAsIHsweDAwLDB4MmMsMHhjMCwweDA5LDB4MzAsMHgwMiwweDRmLDB4ODQsMHhiMCwweDgwLDB4MmMsMHhjMCwweDBiLDB4MzIsMHgxMCwweDUwIH0sCi0gIDE2LCAweGE4NjAsIDAsIHsweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhYSwweDE1LDB4YmMsMHgwMiwweGNmLDB4MDAsMHhiMiwweDQwIH0sCi0gIDE2LCAweGE4NzAsIDAsIHsweDBkLDB4MTAsMHgwMywweGU4LDB4MjQsMHhlYiwweGMxLDB4M2UsMHhjMCwweDJkLDB4OTgsMHgxMywweDdjLDB4MGEsMHhjMiwweDQzIH0sCi0gIDE2LCAweGE4ODAsIDAsIHsweDNlLDB4YjAsMHgwZiwweGE5LDB4MDMsMHhlOSwweDIwLDB4Y2YsMHgwMCwweDNlLDB4YzAsMHg4YywweGYwLDB4MDMsMHgwZCwweDIwIH0sCi0gIDE2LCAweGE4OTAsIDAsIHsweGZhLDB4YzAsMHgzZiwweGMwLDB4MGYsMHg3NCwweDAxLDB4MmEsMHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGE4YTAsIDAsIHsweDgwLDB4MDAsMHhlYywweDAwLDB4ZmIsMHgwMiwweDNhLDB4NDAsMHg4ZSwweDkwLDB4MDMsMHhlOCwweDE0LDB4NWIsMHg1MCwweDNjIH0sCi0gIDE2LCAweGE4YjAsIDAsIHsweDUwLDB4NGUsMHg4NCwweDAzLDB4ZWMsMHgwMCwweGY4LDB4NDAsMHgzZSwweDgwLDB4MDcsMHg4MSwweDAzLDB4ZWMsMHgwOCwweGYzIH0sCi0gIDE2LCAweGE4YzAsIDAsIHsweDAwLDB4M2EsMHhjMCwweDlmLDB4MzAsMHgwMywweGVjLDB4MDAsMHhjYiwweDIwLDB4M2UsMHhjMCwweDBmLDB4YjAsMHgyMywweGU4IH0sCi0gIDE2LCAweGE4ZDAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDkwLDB4ZmMsMHgwMCwweGZmLDB4MDAsMHgzZiwweDQwIH0sCi0gIDE2LCAweGE4ZTAsIDAsIHsweDBmLDB4ZDAsMHgwMywweDM4LDB4MjAsMHhjZiwweDA4LDB4MzIsMHhjMSwweDBlLDB4ZDAsMHgwMywweGZjLDB4MDAsMHhmZSwweDA4IH0sCi0gIDE2LCAweGE4ZjAsIDAsIHsweDMxLDB4ZTUsMHgwZSwweGU0LDB4MDMsMHgzYSwweDAwLDB4ZmYsMHgwMCwweDMzLDB4ODAsMHgwZiwweGYwLDB4MmIsMHgyNCwweDAwIH0sCi0gIDE2LCAweGE5MDAsIDAsIHsweGNjLDB4YTAsMHgzZiwweGMwLDB4MGYsMHhmMCwweDAzLDB4MDAsMHg0NCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGE5MTAsIDAsIHsweDgwLDB4MDQsMHg2YywweDAwLDB4YmIsMHgwMCwweDNhLDB4NjksMHgwYiwweDkwLDB4NmUsMHgwOCwweDAwLDB4ODMsMHg0MSwweDM2IH0sCi0gIDE2LCAweGE5MjAsIDAsIHsweDQwLDB4YzgsMHg4OCwweGM2LDB4ZWMsMHgwMCwweDg4LDB4NDAsMHgzNiwweDgwLDB4MGQsMHhhOCwweDAzLDB4NmUsMHg1MCwweGJiIH0sCi0gIDE2LCAweGE5MzAsIDAsIHsweDAwLDB4MzYsMHhjMCwweDBiLDB4YjAsMHgwMiwweDI0LDB4MDAsMHhkOSwweDA4LDB4MmUsMHhjMCwweDBiLDB4YjAsMHgwMywweGUwIH0sCi0gIDE2LCAweGE5NDAsIDAsIHsweDQwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MmMsMHgwMCwweGJiLDB4MDAsMHgyZSwweDYwIH0sCi0gIDE2LCAweGE5NTAsIDAsIHsweDAzLDB4ODAsMHgwMiwweDIwLDB4MDAsMHg4OSwweDAxLDB4MjIsMHg1OCwweDA4LDB4OTgsMHgyMiwweGVjLDB4MDEsMHhhYiwweDAwIH0sCi0gIDE2LCAweGE5NjAsIDAsIHsweDIyLDB4MDAsMHgwYSwweDEwLDB4MDIsMHgyOCwweDAwLDB4YmIsMHgwMCwweDIyLDB4NDAsMHgwYiwweGIwLDB4MDIsMHgyOCwweDAwIH0sCi0gIDE2LCAweGE5NzAsIDAsIHsweDhhLDB4MDAsMHgyZSwweGMwLDB4MGIsMHhiMCwweDQyLDB4MjAsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGE5ODAsIDAsIHsweDA4LDB4MDQsMHgwYywweDAwLDB4YjMsMHgwMCwweDI4LDB4NDAsMHg4YiwweDAwLDB4MDIsMHgwMiwweDQwLDB4ODksMHgwMSwweDI0IH0sCi0gIDE2LCAweGE5OTAsIDAsIHsweGQyLDB4MjgsMHgxMCwweDAyLDB4Y2MsMHgwMCwweDgzLDB4MTAsMHgyNCwweDIwLDB4MDgsMHgwOCwweDAyLDB4NGUsMHgwMCwweGIzIH0sCi0gIDE2LCAweGE5YTAsIDAsIHsweDA0LDB4YTAsMHhjMCwweDBiLDB4MzAsMHgwMiwweDA4LDB4ODgsMHg5MiwweDAwLDB4MmMsMHhjMCwweDBiLDB4YjAsMHgwMiwweGMyIH0sCi0gIDE2LCAweGE5YjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4NmMsMHgwMCwweGZmLDB4MDAsMHgzZSwweDAwIH0sCi0gIDE2LCAweGE5YzAsIDAsIHsweDBmLDB4ODAsMHgwMiwweDIwLDB4MTAsMHg4OSwweDUwLDB4MjIsMHhkOCwweDJlLDB4OTYsMHgyMiwweGZjLDB4MDAsMHhlYiwweDQwIH0sCi0gIDE2LCAweGE5ZDAsIDAsIHsweDMyLDB4YzAsMHgwYSwweDkwLDB4MDMsMHgyOCwweDAwLDB4ZmYsMHgwMCwweDIyLDB4MDAsMHgwZiwweGIwLDB4MDMsMHgyYywweGEwIH0sCi0gIDE2LCAweGE5ZTAsIDAsIHsweGM4LDB4MDAsMHgzZSwweGMwLDB4MGYsMHhiMCwweDAzLDB4MDAsMHgwNiwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGE5ZjAsIDAsIHsweGEwLDB4MTksMHhmYywweDAwLDB4ZmYsMHgwYywweDNiLDB4MDAsMHgwZiwweGMwLDB4MDIsMHg3MCwweDkwLDB4ZmQsMHgwMCwweDNlIH0sCi0gIDE2LCAweGFhMDAsIDAsIHsweGM5LDB4MGYsMHg5NiwweGMzLDB4ZmMsMHgwMCwweGZmLDB4MDAsMHgzZiwweGMwLDB4MGYsMHhmMCwweDAzLDB4ZmMsMHgwNCwweGZmIH0sCi0gIDE2LCAweGFhMTAsIDAsIHsweDA0LDB4M2YsMHhjMCwweDBmLDB4ZjAsMHgwMywweGVjLDB4MDAsMHhmYywweDAwLDB4M2YsMHhjMCwweDBmLDB4NzAsMHgwMywweGU4IH0sCi0gIDE2LCAweGFhMjAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZGMsMHg4MCwweGZiLDB4MjgsMHgzZiwweDAwIH0sCi0gIDE2LCAweGFhMzAsIDAsIHsweDBjLDB4YzEsMHgwYiwweGYxLDB4MDIsMHhlZCwweDAwLDB4MzcsMHgzMCwweDJjLDB4ZjEsMHgwMywweGIyLDB4NDAsMHhmZiwweDAwIH0sCi0gIDE2LCAweGFhNDAsIDAsIHsweGJiLDB4YzAsMHgwZiwweDQ4LDB4MDYsMHhiMiwweDAwLDB4ZmMsMHg4MCwweDNiLDB4Y2MsMHgwYywweGYwLDB4MDMsMHg3MCwweDgwIH0sCi0gIDE2LCAweGFhNTAsIDAsIHsweGRmLDB4MjgsMHgzMywweDA0LDB4MGYsMHhmNCwweDAzLDB4MzAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGFhNjAsIDAsIHsweDgwLDB4MTAsMHhmZiwweDQwLDB4YmYsMHg2MCwweDJlLDB4MjEsMHgwOCwweDgyLDB4MDIsMHgyMCwweDAwLDB4YTksMHgyOCwweDJhIH0sCi0gIDE2LCAweGFhNzAsIDAsIHsweDAwLDB4MDksMHhmYSwweDAyLDB4MjAsMHgwMCwweGJmLDB4NTEsMHgyMywweGQ4LDB4MDksMHg5OCwweDAyLDB4ZTQsMHgzMCwweGIwIH0sCi0gIDE2LCAweGFhODAsIDAsIHsweDAwLDB4MjMsMHhkMCwweDA4LDB4ZjUsMHhhMiwweDI1LDB4YTQsMHg4ZiwweDQyLDB4M2MsMHgxMCwweDBiLDB4YjAsMHgwYSwweDIwIH0sCi0gIDE2LCAweGFhOTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4Y2MsMHgwMCwweGIzLDB4MDgsMHgyYywweDAwIH0sCi0gIDE2LCAweGFhYTAsIDAsIHsweDI4LDB4MDAsMHgxYSwweGMwLDB4ODQsMHgyMCwweDAwLDB4MjQsMHhjOCwweDRiLDB4MzEsMHg0MiwweGMwLDB4MDAsMHg5MywweDAyIH0sCi0gIDE2LCAweGFhYjAsIDAsIHsweDIwLDB4YzYsMHgwOCwweDAwLDB4MDYsMHhjMCwweDgxLDB4YjMsMHgwMCwweDJjLDB4ZDgsMHgwOSwweDMyLDB4MDIsMHhhMCwweDQwIH0sCi0gIDE2LCAweGFhYzAsIDAsIHsweDkzLDB4MDEsMHgyNCwweDRjLDB4MGIsMHgzMiwweDAyLDB4MjIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGFhZDAsIDAsIHsweGMwLDB4MTEsMHhhYywweDAwLDB4YmIsMHgwMiwweDJlLDB4MGEsMHgwOCwweDgwLDB4ODIsMHg2MCwweDAwLDB4YTgsMHgwMCwweDJlIH0sCi0gIDE2LCAweGFhZTAsIDAsIHsweGUwLDB4MWIsMHhiMCwweDAyLDB4NjIsMHgwMSwweDNiLDB4MDAsMHgyMiwweGMxLDB4MDksMHg5MCwweDAyLDB4ZTIsMHgwMCwweGJiIH0sCi0gIDE2LCAweGFhZjAsIDAsIHsweDYwLDB4MjYsMHhjMSwweDA4LDB4YjAsMHgyYSwweDI2LDB4MDAsMHg5YiwweDA0LDB4MmUsMHgyMSwweDBiLDB4YjAsMHgwMiwweDMwIH0sCi0gIDE2LCAweGFiMDAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDExLDB4ZWMsMHgxMCwweGZiLDB4MDAsMHgzZSwweDEwIH0sCi0gIDE2LCAweGFiMTAsIDAsIHsweDA4LDB4ODQsMHgxMywweGVjLDB4MDIsMHhhOSwweDA0LDB4MzYsMHgyMCwweDBmLDB4YjAsMHgwMywweGVlLDB4ODAsMHhmYiwweDAwIH0sCi0gIDE2LCAweGFiMjAsIDAsIHsweDNhLDB4YzAsMHgwYywweGEwLDB4MDMsMHhhMiwweDgwLDB4NzksMHg0MCwweDFlLDB4YzAsMHg4YywweGIwLDB4NjMsMHg2YSwweDEwIH0sCi0gIDE2LCAweGFiMzAsIDAsIHsweGQzLDB4MDAsMHgzNiwweGEyLDB4MDcsMHhiMCwweDAzLDB4MDAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGFiNDAsIDAsIHsweGUwLDB4MDEsMHhiYywweDAwLDB4ZmYsMHgwMCwweDNlLDB4MjAsMHg0ZCwweDQxLDB4MDMsMHg5YywweDAwLDB4ZmQsMHgyMCwweGFiIH0sCi0gIDE2LCAweGFiNTAsIDAsIHsweDAwLDB4MGMsMHhmMCwweDAzLDB4YjgsMHgwMCwweGY3LDB4MDAsMHgzZiwweGMwLDB4NGQsMHhjOSwweDAzLDB4ZjQsMHgwMCwweGZmIH0sCi0gIDE2LCAweGFiNjAsIDAsIHsweDAwLDB4M2IsMHhjMCwweDJlLDB4ZjAsMHgwMCwweGYwLDB4MDAsMHhlZiwweDAwLDB4M2YsMHgwMCwweDRiLDB4NzAsMHgwMywweGY4IH0sCi0gIDE2LCAweGFiNzAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YWMsMHg4MCwweGViLDB4MDAsMHg3ZSwweDEwIH0sCi0gIDE2LCAweGFiODAsIDAsIHsweDJlLDB4ODQsMHgwMywweGVjLDB4MDAsMHhlMCwweDAwLDB4MzIsMHg1MCwweDBmLDB4YjAsMHg4NiwweDI1LDB4MDAsMHhkYiwweDIwIH0sCi0gIDE2LCAweGFiOTAsIDAsIHsweDNhLDB4YzAsMHgwZCwweGIwLDB4NjMsMHhlMSwweDEwLDB4ZmIsMHg0OCwweDM4LDB4YzEsMHgwZiwweDMwLDB4MDMsMHgyYywweDA0IH0sCi0gIDE2LCAweGFiYTAsIDAsIHsweGZiLDB4MDgsMHgzMiwweGMwLDB4MGMsMHhiMCwweDBiLDB4OTAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGFiYjAsIDAsIHsweGM4LDB4MDUsMHgzYywweDAwLDB4OGYsMHgwMCwweDY0LDB4MjksMHgyOCwweDgwLDB4MDMsMHhlYywweDAyLDB4ZTgsMHgwNCwweGE4IH0sCi0gIDE2LCAweGFiYzAsIDAsIHsweDU2LDB4MDgsMHhmYywweDA3LDB4ZTAsMHgwMCwweDBmLDB4YTAsMHhiZiwweGMwLDB4MGIsMHg5NSwweDAyLDB4YTAsMHgwMCwweGJiIH0sCi0gIDE2LCAweGFiZDAsIDAsIHsweDA1LDB4MzcsMHhjMCwweDg5LDB4ZjAsMHgwYSwweDBkLDB4YzgsMHhiZiwweDA4LDB4MmEsMHg4MCwweDA4LDB4ZjAsMHgwMiwweDMyIH0sCi0gIDE2LCAweGFiZTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NGMsMHgwMSwweGIzLDB4MDIsMHgyNCwweGUwIH0sCi0gIDE2LCAweGFiZjAsIDAsIHsweDBhLDB4MzAsMHgxMiwweDgwLDB4MDMsMHhhMywweDAwLDB4YTgsMHgwMCwweDAyLDB4YjgsMHgyMiwweGMwLDB4MDAsMHhiMywweDAwIH0sCi0gIDE2LCAweGFjMDAsIDAsIHsweDI4LDB4YzEsMHgwYiwweDA0LDB4MDIsMHgwOCwweDAwLDB4YjksMHg0MCwweDI4LDB4YzAsMHgwYiwweDMwLDB4MDIsMHgwMywweDA0IH0sCi0gIDE2LCAweGFjMTAsIDAsIHsweGIzLDB4NDQsMHgyMCwweDAwLDB4NGEsMHgzMCwweDAyLDB4MzgsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGFjMjAsIDAsIHsweDIwLDB4MDEsMHgxZSwweDIwLDB4MTcsMHhhMCwweDY1LDB4ZWMsMHgwOCwweDM4LDB4MDIsMHhjMiwweDQxLDB4YjMsMHg5MiwweDJiIH0sCi0gIDE2LCAweGFjMzAsIDAsIHsweDY0LDB4MGEsMHgzOCwweDAyLDB4MzYsMHgwMSwweGI3LDB4OTAsMHgyZCwweGUwLDB4MDMsMHhmOCwweDAwLDB4OWEsMHgwMCwweGI1IH0sCi0gIDE2LCAweGFjNDAsIDAsIHsweDgwLDB4MmQsMHhlMCwweDg5LDB4NzgsMHgxMiwweDFlLDB4MDAsMHhiNywweDgwLDB4MjksMHhlMCwweDBhLDB4NzgsMHgwMiwweDA4IH0sCi0gIDE2LCAweGFjNTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MGMsMHgwMCwweDczLDB4YjAsMHgyNCwweGM4IH0sCi0gIDE2LCAweGFjNjAsIDAsIHsweDRlLDB4MzAsMHgwYSwweDgwLDB4MDIsMHhlMiwweDAwLDB4MzgsMHg5NCwweDBlLDB4MzEsMHhhMiwweGM4LDB4MDAsMHg3MywweDAwIH0sCi0gIDE2LCAweGFjNzAsIDAsIHsweDE4LDB4YzQsMHgwNSwweDAwLDB4MDMsMHgwMCwweDAwLDB4ZjMsMHgwMCwweDM4LDB4YzAsMHgwNywweGIxLDB4MDMsMHgwMCwweDAwIH0sCi0gIDE2LCAweGFjODAsIDAsIHsweGYzLDB4MDEsMHgzMCwweDQxLDB4MGUsMHhiMCwweDAzLDB4OTIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGFjOTAsIDAsIHsweDQwLDB4MWQsMHhiZCwweDAwLDB4ZWYsMHgxMCwweDI2LDB4YzgsMHgwMywweGIxLDB4MDMsMHhlMCwweDAwLDB4ZWEsMHg4MSwweDc4IH0sCi0gIDE2LCAweGFjYTAsIDAsIHsweGM1LDB4MGMsMHhiNSwweGUzLDB4ZGMsMHgwMCwweGMzLDB4MDAsMHgzZSwweGMxLDB4MGYsMHhmMCwweDgzLDB4YjAsMHgwMCwweGZmIH0sCi0gIDE2LCAweGFjYjAsIDAsIHsweDAwLDB4MzcsMHhjMCwweDBkLDB4ZjQsMHgwMywweGU0LDB4MDAsMHhmNywweDAwLDB4M2YsMHg0MCwweDBkLDB4ZjAsMHgwMywweGQwIH0sCi0gIDE2LCAweGFjYzAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZWQsMHgxMCwweGNiLDB4MjgsMHgzZSwweGMwIH0sCi0gIDE2LCAweGFjZDAsIDAsIHsweDBkLDB4YjAsMHgxMywweGFjLDB4MTAsMHhmYiwweDAwLDB4M2EsMHg4MCwweDA0LDB4YjQsMHgwMywweGFjLDB4MDAsMHhmYiwweDA0IH0sCi0gIDE2LCAweGFjZTAsIDAsIHsweDNlLDB4YzAsMHgwZiwweGE0LDB4YjMsMHhlMCwweDAwLDB4ZmIsMHg4MCwweDMyLDB4YzAsMHgwZiwweGIwLDB4MDMsMHhlOCwweDAwIH0sCi0gIDE2LCAweGFjZjAsIDAsIHsweGZiLDB4NDgsMHhiMiwweDgwLDB4MGYsMHhiMCwweDQzLDB4ZWEsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGFkMDAsIDAsIHsweDQ4LDB4MTEsMHg5YywweDAyLDB4ODcsMHg0NCwweDM4LDB4YzAsMHg4ZCwweDMwLDB4MDIsMHg0YywweDAwLDB4ZmYsMHgwMCwweDIxIH0sCi0gIDE2LCAweGFkMTAsIDAsIHsweGMwLDB4MDgsMHg3MCwweDAzLDB4OWMsMHgwMCwweGIzLDB4NTAsMHgyMSwweGQ0LDB4NGUsMHg2MiwweDAyLDB4ZDAsMHgwMCwweGJmIH0sCi0gIDE2LCAweGFkMjAsIDAsIHsweDAwLDB4MzUsMHhkNCwweDA5LDB4NzAsMHgyMiwweGQ4LDB4MDAsMHhiZiwweDIyLDB4MjEsMHhjMCwweDBiLDB4NzIsMHgwMiwweGQyIH0sCi0gIDE2LCAweGFkMzAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4OWUsMHg0MCwweDg3LDB4ODAsMHgyZCwweGUwIH0sCi0gIDE2LCAweGFkNDAsIDAsIHsweDA5LDB4NzgsMHgwMiwweGRlLDB4MDAsMHhiNiwweDgwLDB4MjksMHhhMSwweDI4LDB4N2EsMHgzMiwweGRlLDB4MDAsMHgzNywweGEwIH0sCi0gIDE2LCAweGFkNTAsIDAsIHsweDI1LDB4ZTAsMHgwOSwweDc4LDB4MDYsMHhkMiwweDAwLDB4YjcsMHg4MCwweDIxLDB4ZTgsMHgwYiwweDc5LDB4MDIsMHhkZSwweDAwIH0sCi0gIDE2LCAweGFkNjAsIDAsIHsweGI3LDB4OTAsMHgyMSwweGUwLDB4MGIsMHg3OSwweDAyLDB4ZjAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGFkNzAsIDAsIHsweDQ4LDB4MTQsMHhjYywweDA0LDB4ODMsMHgwMSwweDI4LDB4YzAsMHg4OSwweGIwLDB4MGEsMHg0ZiwweDAwLDB4YjIsMHgwMCwweDIwIH0sCi0gIDE2LCAweGFkODAsIDAsIHsweGM0LDB4ODgsMHgzMCwweDE2LDB4Y2YsMHgwMCwweGJiLDB4MDQsMHgyMCwweGMxLDB4MGEsMHgzMiwweDA2LDB4YzIsMHgwMCwweGIzIH0sCi0gIDE2LCAweGFkOTAsIDAsIHsweDAwLDB4MjQsMHhjMCwweDA5LDB4MzAsMHg0MiwweGVmLDB4MTAsMHhiMywweDAwLDB4MjAsMHhjMCwweDBiLDB4MzAsMHgwMiwweGQyIH0sCi0gIDE2LCAweGFkYTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YTgsMHgwMCwweDRhLDB4MDAsMHgzZSwweDgwIH0sCi0gIDE2LCAweGFkYjAsIDAsIHsweDJkLDB4YTAsMHgwYiwweGFhLDB4ODAsMHhmZSwweDAwLDB4MmIsMHg4MCwweDBjLDB4YTAsMHg0MywweGZiLDB4MzAsMHhmYSwweDAwIH0sCi0gIDE2LCAweGFkYzAsIDAsIHsweDNlLDB4ODAsMHgwZiwweGEwLDB4ODMsMHhmYSwweDA0LDB4ZmUsMHgxOCwweDIyLDB4ODAsMHgwZiwweGEwLDB4MDMsMHhmYSwweDg0IH0sCi0gIDE2LCAweGFkZDAsIDAsIHsweGYyLDB4MDAsMHgzMywweGEyLDB4MGYsMHhhMCwweDAzLDB4ZjIsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGFkZTAsIDAsIHsweDQ4LDB4MDAsMHhlMCwweDAwLDB4ZjAsMHgwMCwweDNlLDB4MDAsMHgyZiwweDgwLDB4MDMsMHhhMCwweDIwLDB4ZmMsMHgwMiwweDNlIH0sCi0gIDE2LCAweGFkZjAsIDAsIHsweDAwLDB4MWYsMHg4NCwweDAzLDB4YTAsMHgwMCwweGY4LDB4NDAsMHgzZSwweDAwLDB4NGYsMHg4MCwweDAxLDB4ZTAsMHg0MCwweGY4IH0sCi0gIDE2LCAweGFlMDAsIDAsIHsweDQwLDB4M2UsMHgwMCwweDBkLDB4ODAsMHgxMywweGUwLDB4MDAsMHhmOCwweDAwLDB4M2UsMHgwMCwweDBmLDB4ODAsMHgwMywweGQyIH0sCi0gIDE2LCAweGFlMTAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4YzYsMHgwMCwweGQ5LDB4MDAsMHgzNiwweDQwIH0sCi0gIDE2LCAweGFlMjAsIDAsIHsweDBmLDB4OTAsMHgwYiwweDA0LDB4MDAsMHhjOSwweDAwLDB4MzYsMHg2OCwweDZjLDB4OTQsMHgwMywweGU0LDB4MjAsMHhiOSwweDkwIH0sCi0gIDE2LCAweGFlMzAsIDAsIHsweDM2LDB4NDAsMHgwYywweDk0LDB4MDMsMHhlNCwweDAwLDB4MjksMHg4MCwweDNlLDB4NDAsMHgwZiwweDkwLDB4MDMsMHgyNCwweDIwIH0sCi0gIDE2LCAweGFlNDAsIDAsIHsweGM5LDB4MDAsMHgzNiwweDQwLDB4MGYsMHg5MCwweDAzLDB4YzIsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGFlNTAsIDAsIHsweDgwLDB4MDQsMHg2NiwweDUwLDB4ODksMHgwMCwweDIwLDB4NTAsMHgwOCwweDkwLDB4MDIsMHgyNCwweDA5LDB4ZDksMHgwMCwweDIwIH0sCi0gIDE2LCAweGFlNjAsIDAsIHsweDQ4LDB4NDgsMHg5MCwweDA2LDB4ZTQsMHgwNCwweDk5LDB4YTAsMHgyMiwweDQwLDB4MGQsMHhiOCwweDIyLDB4NjQsMHgwMCwweDA5IH0sCi0gIDE2LCAweGFlNzAsIDAsIHsweDUwLDB4MzIsMHg0MCwweDBiLDB4OTAsMHgwMiwweDI3LDB4OTAsMHg4OSwweDQwLDB4MmEsMHg0MCwweDBiLDB4OTAsMHgwMiwweGUwIH0sCi0gIDE2LCAweGFlODAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDAxLDB4MjQsMHgwMCwweDk5LDB4MDAsMHg2NiwweDQyIH0sCi0gIDE2LCAweGFlOTAsIDAsIHsweDBhLDB4ZDAsMHgxMiwweDM0LDB4MDAsMHg4NSwweDAwLDB4MjYsMHg0MCwweDRhLDB4OTAsMHgwMiwweGU0LDB4MDEsMHhiOSwweDAxIH0sCi0gIDE2LCAweGFlYTAsIDAsIHsweDI0LDB4NDAsMHg1OCwweDkwLDB4MTIsMHhjNCwweDAwLDB4MjksMHg0MCwweDJlLDB4NDAsMHgwYiwweDEwLDB4MGEsMHgyNCwweDgwIH0sCi0gIDE2LCAweGFlYjAsIDAsIHsweDg5LDB4MDUsMHgyNiwweDQxLDB4MGIsMHg5MCwweDAyLDB4YzYsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGFlYzAsIDAsIHsweDA4LDB4MDQsMHgwNCwweDgwLDB4ODEsMHgyMCwweDYxLDB4NDgsMHgwOCwweDUyLDB4MDIsMHgxNCwweDgxLDB4OTUsMHgyMCwweDIwIH0sCi0gIDE2LCAweGFlZDAsIDAsIHsweDQwLDB4MGEsMHgzNiwweDAyLDB4YzQsMHgwMCwweGIxLDB4MjAsMHgwMCwweDQ4LDB4NDEsMHgxMCwweDQyLDB4NDQsMHgwMSwweGExIH0sCi0gIDE2LCAweGFlZTAsIDAsIHsweDAwLDB4MjQsMHg0OCwweDBiLDB4MTIsMHgxMiwweDA0LDB4ODAsMHg4MSwweDIwLDB4MjgsMHg0OCwweDBiLDB4MTIsMHgwMiwweGNhIH0sCi0gIDE2LCAweGFlZjAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjAsMHgwMCwweGQ4LDB4NTAsMHgzNiwweDAwIH0sCi0gIDE2LCAweGFmMDAsIDAsIHsweDBlLDB4ODUsMHgyMywweDIxLDB4NDIsMHg4YywweDU0LDB4MzQsMHgxNCwweDBlLDB4ODAsMHgwMiwweGUxLDB4NDAsMHhmOCwweDUwIH0sCi0gIDE2LCAweGFmMTAsIDAsIHsweDM2LDB4MTQsMHgwNCwweDgwLDB4MDMsMHhlMSwweDQ0LDB4ZTgsMHg1MCwweDdlLDB4MTUsMHgwZiwweDg1LDB4MDMsMHgyMSwweDQyIH0sCi0gIDE2LCAweGFmMjAsIDAsIHsweDRhLDB4MDAsMHgzNiwweDE0LDB4MGYsMHg4MCwweDAzLDB4ZWUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGFmMzAsIDAsIHsweDk4LDB4MWQsMHhjNCwweDQwLDB4ZjksMHgxMCwweDFlLDB4NDQsMHg0ZSwweDkxLDB4MDMsMHhlNCwweDQwLDB4ZjksMHgxMCwweDNmIH0sCi0gIDE2LCAweGFmNDAsIDAsIHsweGMwLDB4MGQsMHg5MSwweDAzLDB4ZjQsMHgwMCwweGQ5LDB4MTQsMHgzZSwweDQ0LDB4MGYsMHg5MCwweDAzLDB4NzQsMHgwMCwweGRkIH0sCi0gIDE2LCAweGFmNTAsIDAsIHsweDAwLDB4N2EsMHg0NCwweDBmLDB4OTEsMHgwMywweGY0LDB4NDAsMHhmOSwweDM4LDB4M2YsMHg0NCwweDBmLDB4OTMsMHg4MywweGU3IH0sCi0gIDE2LCAweGFmNjAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDAxLDB4ZjYsMHg4MCwweGY5LDB4YTQsMHgzZiwweDY4IH0sCi0gIDE2LCAweGFmNzAsIDAsIHsweDBlLDB4OWUsMHg0MywweDY3LDB4ODAsMHhkOSwweGU0LDB4M2YsMHg0MSwweDBmLDB4ZDgsMHg0MywweDA0LDB4MDAsMHhlZCwweGMwIH0sCi0gIDE2LCAweGFmODAsIDAsIHsweDM2LDB4NDAsMHgwYywweDkwLDB4MDMsMHhlNCwweDAwLDB4ZDUsMHg0MCwweDMyLDB4NDAsMHgwYywweDkwLDB4MDMsMHhmNCwweDAwIH0sCi0gIDE2LCAweGFmOTAsIDAsIHsweGRkLDB4MDAsMHgzMiwweDQwLDB4MmMsMHg5YSwweDAzLDB4YzYsMHgwMSwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGFmYTAsIDAsIHsweDM4LDB4MTAsMHhlMCwweDAwLDB4ZTgsMHhjMCwweDJlLDB4MTQsMHg0ZCwweDhmLDB4MjIsMHgyMywweGMwLDB4ZjgsMHhmMCwweGFhIH0sCi0gIDE2LCAweGFmYjAsIDAsIHsweDAwLDB4MGMsMHg4MCwweDAzLDB4YTIsMHhhMCwweGQ4LDB4ODIsMHgyMiwweDAwLDB4MDgsMHg4MCwweDAyLDB4ZTgsMHgwMCwweGQ4IH0sCi0gIDE2LCAweGFmYzAsIDAsIHsweDgwLDB4MmEsMHgwMCwweDA4LDB4ODAsMHgwMiwweGU4LDB4MDgsMHg4OCwweGE4LDB4MzYsMHgwMCwweDQ4LDB4OGEsMHg4MiwweGNlIH0sCi0gIDE2LCAweGFmZDAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4YzUsMHgwMCwweGIxLDB4NDgsMHgyZSwweDQwIH0sCi0gIDE2LCAweGFmZTAsIDAsIHsweDBhLDB4MTIsMHgyMiwweDQ0LDB4MDAsMHg5MSwweDA0LDB4YTQsMHg0MSwweDBhLDB4OTQsMHgwNiwweDI0LDB4MDAsMHg5MSwweDQyIH0sCi0gIDE2LCAweGFmZjAsIDAsIHsweDI0LDB4NDEsMHgwOSwweDEwLDB4MDIsMHhlNCwweDAxLDB4OTEsMHgyMCwweDI0LDB4NDAsMHgwOSwweDEwLDB4MDIsMHhjNCwweDAxIH0sCi0gIDE2LCAweGIwMDAsIDAsIHsweDkxLDB4MDAsMHgyYywweDQwLDB4MDksMHgxNCwweDAyLDB4YzIsMHgwMSwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGIwMTAsIDAsIHsweDE4LDB4MTUsMHhhNCwweDAwLDB4YTksMHgwMCwweDJlLDB4NDAsMHg0OCwweDEwLDB4MDIsMHgyNCwweDAwLDB4YjksMHg0MCwweGFhIH0sCi0gIDE2LCAweGIwMjAsIDAsIHsweDQwLDB4MTgsMHhiMCwweDAyLDB4ZTQsMHgwOCwweDk5LDB4MDAsMHgyMiwweDQwLDB4MTksMHg5MCwweDQ2LDB4ZTQsMHg4MCwweDk5IH0sCi0gIDE2LCAweGIwMzAsIDAsIHsweDA0LDB4MmUsMHg0MCwweDA5LDB4OTAsMHgwMiwweGU0LDB4MDEsMHg5OSwweDA0LDB4MjYsMHg1MCwweDA5LDB4OTAsMHgwMiwweGM2IH0sCi0gIDE2LCAweGIwNDAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDExLDB4ZTQsMHgwMCwweGY5LDB4MDYsMHgzYywweDQwIH0sCi0gIDE2LCAweGIwNTAsIDAsIHsweDBhLDB4OTAsMHgwMywweDY0LDB4MDIsMHhkOSwweDAwLDB4YjYsMHg1MCwweDBlLDB4OTAsMHgyMywweDI2LDB4MDEsMHhmOSwweDAwIH0sCi0gIDE2LCAweGIwNjAsIDAsIHsweDM2LDB4NDAsMHgyOSwweDk0LDB4ODMsMHhlNCwweDAwLDB4ZDksMHg0OCwweDM2LDB4NDAsMHgwZCwweDkwLDB4MDMsMHhjNywweDAwIH0sCi0gIDE2LCAweGIwNzAsIDAsIHsweGQxLDB4MDcsMHgzYSwweDUwLDB4Y2QsMHg5MCwweDAzLDB4ZTgsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGIwODAsIDAsIHsweDI4LDB4MDEsMHhhNCwweDA4LDB4ZTksMHgwMCwweDNlLDB4NDAsMHg4ZiwweDkwLDB4MDMsMHhjNCwweDA4LDB4ZjEsMHgwMCwweDNhIH0sCi0gIDE2LCAweGIwOTAsIDAsIHsweDY4LDB4OGYsMHg5MCwweDAzLDB4YTQsMHg0MSwweGY5LDB4MDAsMHhiZSwweDQwLDB4MGUsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGY5IH0sCi0gIDE2LCAweGIwYTAsIDAsIHsweGMwLDB4MzgsMHg0MCwweDJlLDB4OTAsMHgwMywweGU2LDB4NDAsMHhlOSwweDAwLDB4M2UsMHg2OCwweDA2LDB4OTAsMHgwMywweGNhIH0sCi0gIDE2LCAweGIwYjAsIDAsIHsweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTAsMHgwMCwweGQ4LDB4MDUsMHgzZSwweDAwIH0sCi0gIDE2LCAweGIwYzAsIDAsIHsweDA3LDB4ODAsMHgwYiwweDIwLDB4MDAsMHhlOCwweDQwLDB4M2UsMHgxMCwweDBkLDB4ODIsMHgwMywweDYwLDB4MDAsMHhjOCwweDAwIH0sCi0gIDE2LCAweGIwZDAsIDAsIHsweGIyLDB4MDAsMHg4ZCwweDgzLDB4MDMsMHhlMCwweDAwLDB4ZDgsMHg1MCwweDNhLDB4MDAsMHgxZSwweDgwLDB4MDMsMHhlMSwweDI0IH0sCi0gIDE2LCAweGIwZTAsIDAsIHsweGY4LDB4MDAsMHhiMiwweDAwLDB4MGYsMHg4MCwweDAzLDB4MDIsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGIwZjAsIDAsIHsweDI4LDB4MDUsMHgzOCwweDAwLDB4OGEsMHgwNCwweDJmLDB4ODQsMHg2YSwweGEwLDB4MGIsMHhlOCwweDA4LDB4OGUsMHgwMCwweDNkIH0sCi0gIDE2LCAweGIxMDAsIDAsIHsweDgwLDB4ODgsMHhlYywweDAzLDB4NjgsMHgxMCwweGE2LDB4MDEsMHgzNiwweDgwLDB4MDgsMHhhOCwweDAwLDB4YzgsMHgxMCwweDhlIH0sCi0gIDE2LCAweGIxMTAsIDAsIHsweDEwLDB4MjIsMHg4MCwweDA4LDB4YTAsMHgwMiwweGZiLDB4MjAsMHhiZSwweDUxLDB4MmEsMHg4MCwweDBiLDB4YTAsMHgwMiwweDgyIH0sCi0gIDE2LCAweGIxMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NDEsMHgyMSwweDkzLDB4MDAsMHgyYywweGYwIH0sCi0gIDE2LCAweGIxMzAsIDAsIHsweDM5LDB4MzAsMHgwNiwweDBjLDB4MDAsMHhhMywweDAwLDB4MjgsMHgwOCwweDI4LDB4YmMsMHgwMiwweDJjLDB4MDAsMHg4MywweDgwIH0sCi0gIDE2LCAweGIxNDAsIDAsIHsweDJhLDB4YzAsMHgwOCwweDMwLDB4MDAsMHhjYywweDAwLDB4OWEsMHg4MCwweDI4LDB4YzAsMHgwYSwweDMwLDB4MDIsMHhjZCwweDAwIH0sCi0gIDE2LCAweGIxNTAsIDAsIHsweGIzLDB4MDQsMHg2MiwweGMxLDB4MGIsMHgzMCwweDAyLDB4MGEsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGIxNjAsIDAsIHsweGEwLDB4MDEsMHgxZSwweDA0LDB4MDcsMHgxMSwweDJjLDB4ZDAsMHgwYSwweDMyLDB4MjIsMHhkYywweGMxLDB4ODcsMHgwMCwweDZkIH0sCi0gIDE2LCAweGIxNzAsIDAsIHsweGQwLDB4MDgsMHgzNCwweDAyLDB4N2MsMHgwMCwweGE3LDB4MDgsMHgyNCwweGM4LDB4MDgsMHg3MCwweDAyLDB4ZGMsMHg4MCwweDBmIH0sCi0gIDE2LCAweGIxODAsIDAsIHsweDAwLDB4MjEsMHhjNCwweDA4LDB4NzMsMHgwNiwweGRjLDB4MDAsMHhiMiwweDAwLDB4NjEsMHhjOCwweDBiLDB4M2EsMHgwMiwweDg4IH0sCi0gIDE2LCAweGIxOTAsIDAsIHsweDA0LDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MGEsMHgwMCwweDU3LDB4ODEsMHgyZCwweGEwIH0sCi0gIDE2LCAweGIxYTAsIDAsIHsweDJkLDB4N2MsMHgwMiwweDNlLDB4ODIsMHhlMywweGUwLDB4M2IsMHhlMCwweDBjLDB4NzgsMHgwMywweDFlLDB4MjAsMHhjNywweDgwIH0sCi0gIDE2LCAweGIxYjAsIDAsIHsweGI5LDB4ZTgsMHgyYywweDc4LDB4MDMsMHhmZiwweDgwLDB4ZDYsMHg4MCwweDNiLDB4ZWMsMHgwMiwweDdhLDB4MDMsMHhkZSwweDAwIH0sCi0gIDE2LCAweGIxYzAsIDAsIHsweGY3LDB4ODEsMHgzMSwweGVjLDB4OGYsMHg3YywweDAzLDB4MGEsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGIxZDAsIDAsIHsweDA4LDB4MWQsMHhhYywweDAwLDB4ZmIsMHgwMCwweDFlLDB4ODAsMHgyMywweGI2LDB4ODMsMHhlZCwweGEwLDB4ZGIsMHg2NCwweDNlIH0sCi0gIDE2LCAweGIxZTAsIDAsIHsweGMwLDB4MGUsMHhiMCwweDAzLDB4ZWQsMHhjMCwweGYyLDB4MDAsMHgzZSwweGQ0LDB4MGEsMHhiMCwweDAzLDB4ZWMsMHgzMCwweGVlIH0sCi0gIDE2LCAweGIxZjAsIDAsIHsweDY0LDB4M2UsMHhjMCwweDA3LDB4YjAsMHhjMywweGU4LDB4MDAsMHhmYiwweDAxLDB4M2UsMHhjOCwweDBmLDB4YjgsMHgwMywweGMyIH0sCi0gIDE2LCAweGIyMDAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZjYsMHgwMCwweGVmLDB4ODAsMHgzYiwweGUwIH0sCi0gIDE2LCAweGIyMTAsIDAsIHsweDBmLDB4ZjgsMHg2MywweDdlLDB4MDQsMHhjZiwweGMwLDB4YjcsMHgyMCwweDBlLDB4ZjgsMHgwMywweGZjLDB4MDAsMHhjNywweDgwIH0sCi0gIDE2LCAweGIyMjAsIDAsIHsweDMzLDB4ZjAsMHgwYywweGNjLDB4MDMsMHhmZSwweDA4LDB4ZjcsMHhjMSwweDMzLDB4ZTAsMHg0ZiwweGY4LDB4MDMsMHhiMiwweDQwIH0sCi0gIDE2LCAweGIyMzAsIDAsIHsweGZmLDB4YTAsMHgzMSwweGU2LDB4MGMsMHhmOCwweDAzLDB4MTAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGIyNDAsIDAsIHsweGE4LDB4MTEsMHg5YywweDAwLDB4ZWYsMHgwMiwweDIxLDB4NDAsMHgyZCwweDcwLDB4MDIsMHgxYywweDAwLDB4ZjcsMHgxMCwweDI5IH0sCi0gIDE2LCAweGIyNTAsIDAsIHsweDQwLDB4MDgsMHg3MCwweDIyLDB4ZmMsMHhjMCwweGE3LDB4MDAsMHgzZCwweGMwLDB4MDgsMHg0MCwweDAyLDB4ZGMsMHgwMCwweGI3IH0sCi0gIDE2LCAweGIyNjAsIDAsIHsweDQwLDB4MjEsMHhjMCwweDBiLDB4NzAsMHgwMiwweGRhLDB4ODAsMHhiNywweDI0LDB4MjksMHhjNiwweDQ4LDB4ZjAsMHgwMiwweDJhIH0sCi0gIDE2LCAweGIyNzAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OWMsMHgwMCwweGE3LDB4MDAsMHgyOCwweDg0IH0sCi0gIDE2LCAweGIyODAsIDAsIHsweDBiLDB4MzAsMHgwMiwweDBjLDB4MDAsMHg5MywweDAwLDB4MjUsMHg4MCwweDBhLDB4NjEsMHgwMiwweGRjLDB4MDEsMHhhNywweDEwIH0sCi0gIDE2LCAweGIyOTAsIDAsIHsweDI0LDB4YzAsMHgwOCwweDQwLDB4ODIsMHhkYywweDAwLDB4OWYsMHgwMCwweDI1LDB4YzQsMHgwYiwweDcwLDB4MDIsMHg5NCwweDI1IH0sCi0gIDE2LCAweGIyYTAsIDAsIHsweGI3LDB4MzIsMHgyMywweGM0LDB4MWIsMHg3MCwweDAyLDB4MDAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGIyYjAsIDAsIHsweDIwLDB4MTQsMHhjYywweDBjLDB4YTMsMHgwMCwweDIwLDB4MDAsMHgyOSwweDMwLDB4MGEsMHgwYywweDAwLDB4YTMsMHgwMCwweDZjIH0sCi0gIDE2LCAweGIyYzAsIDAsIHsweDAwLDB4MDgsMHgxMCwweDQyLDB4Y2QsMHgxMCwweGFhLDB4MDAsMHhhYywweGMwLDB4MDAsMHgwNCwweDAyLDB4Y2QsMHgwMCwweGJiIH0sCi0gIDE2LCAweGIyZDAsIDAsIHsweDEwLDB4MjQsMHhjMCwweDAzLDB4MzAsMHg0MiwweGMzLDB4MDksMHhiMywweDAwLDB4MmMsMHhkMCwweDBhLDB4MzAsMHgwMiwweDE4IH0sCi0gIDE2LCAweGIyZTAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4ODAsMHgwMCwweGVmLDB4MDAsMHgzYSwweDQwIH0sCi0gIDE2LCAweGIyZjAsIDAsIHsweDA3LDB4ZjAsMHg0MywweDNjLDB4MDAsMHg5ZiwweGMwLDB4YjYsMHgxNCwweDBlLDB4ODAsMHgwNiwweGZjLDB4MDEsMHhjYiwweDAxIH0sCi0gIDE2LCAweGIzMDAsIDAsIHsweDM3LDB4YzAsMHhhYywweGI0LDB4MDIsMHhmYywweDAwLDB4ZDksMHgwMSwweDM3LDB4YzAsMHg0YiwweGYwLDB4MTMsMHhhZSwweDA4IH0sCi0gIDE2LCAweGIzMTAsIDAsIHsweGZiLDB4MDAsMHgzMywweGQwLDB4MmUsMHhmMCwweDBiLDB4MmEsMHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGIzMjAsIDAsIHsweDgwLDB4MDAsMHhlYywweDAwLDB4ZmIsMHgwNSwweDNlLDB4NDAsMHgwZiwweDMwLDB4MDMsMHhhYywweDE0LDB4ZmIsMHhhMCwweDNhIH0sCi0gIDE2LCAweGIzMzAsIDAsIHsweGMwLDB4MGYsMHg4NCwweDQzLDB4ZWMsMHgwMSwweGY5LDB4NDAsMHgzZSwweGMwLDB4MGYsMHhhMiwweDAzLDB4ZWMsMHgyMSwweGY5IH0sCi0gIDE2LCAweGIzNDAsIDAsIHsweDAwLDB4M2EsMHhjMCwweDBmLDB4YjAsMHgwMywweGU0LDB4MjAsMHhmMCwweDAwLDB4YmEsMHhjMCwweDBkLDB4YjAsMHgwMywweGUwIH0sCi0gIDE2LCAweGIzNTAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZjgsMHgwMCwweGQ3LDB4MDEsMHgzNSwweDY4IH0sCi0gIDE2LCAweGIzNjAsIDAsIHsweDZkLDB4ZjAsMHgwMywweDNjLDB4MDEsMHhlNywweDAwLDB4MzMsMHhjMCwweDBkLDB4YzAsMHgwMywweGZjLDB4MjQsMHhjZiwweDAyIH0sCi0gIDE2LCAweGIzNzAsIDAsIHsweDM3LDB4YzAsMHgwZCwweGQyLDB4MDIsMHhmYywweDAwLDB4ZGYsMHgwMSwweDMzLDB4YzAsMHg1ZSwweDcwLDB4MzMsMHgxYywweDE4IH0sCi0gIDE2LCAweGIzODAsIDAsIHsweGNmLDB4NDEsMHgzMSwweGMyLDB4MGMsMHhmMCwweDAzLDB4NDAsMHg0MCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGIzOTAsIDAsIHsweDgxLDB4MDAsMHg2YywweDAwLDB4OGIsMHgwMCwweDIyLDB4NTIsMHgyYSwweGIwLDB4MDMsMHg2YywweDAwLDB4YWIsMHgwMCwweDI4IH0sCi0gIDE2LCAweGIzYTAsIDAsIHsweGMwLDB4MGEsMHg4YywweDAyLDB4ZWMsMHgxMCwweDhiLDB4ZTAsMHgyMiwweGMwLDB4MGYsMHg4MCwweDAyLDB4Y2MsMHgwMCwweDhiIH0sCi0gIDE2LCAweGIzYjAsIDAsIHsweDgwLDB4MjIsMHhjMCwweDA4LDB4YjAsMHgwMiwweDJhLDB4MTAsMHhkOSwweDgwLDB4MjIsMHhjMCwweGM4LDB4YjAsMHgwMiwweGUwIH0sCi0gIDE2LCAweGIzYzAsIDAsIHsweDQwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MjQsMHgwMSwweDliLDB4MDAsMHgyNiwweDgwIH0sCi0gIDE2LCAweGIzZDAsIDAsIHsweDI5LDB4YjAsMHg2MiwweDBjLDB4MDAsMHhhYiwweDAxLDB4NmEsMHgwMCwweDA4LDB4OTgsMHgwMiwweGNjLDB4MDAsMHg5YiwweDgzIH0sCi0gIDE2LCAweGIzZTAsIDAsIHsweDJlLDB4YzAsMHhjYiwweGI0LDB4MTIsMHhlYywweDAzLDB4OGIsMHg4MCwweDI4LDB4YzAsMHgwYSwweGIwLDB4MDYsMHhhMiwweDAwIH0sCi0gIDE2LCAweGIzZjAsIDAsIHsweDhiLDB4MDIsMHg2MiwweGMwLDB4MDgsMHhiMCwweDAyLDB4ZTAsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGI0MDAsIDAsIHsweDA4LDB4MDQsMHgwYywweDAxLDB4ODMsMHgxNCwweDIwLDB4MDAsMHgwYSwweDMwLDB4MDIsMHg0YywweDAwLDB4ODMsMHgwMCwweDJhIH0sCi0gIDE2LCAweGI0MTAsIDAsIHsweDQwLDB4MGEsMHgxMCwweDAwLDB4Y2MsMHgwMiwweDkzLDB4MDAsMHgyOCwweGMwLDB4MGEsMHgyMCwweDAyLDB4ZWMsMHgwMCwweDAzIH0sCi0gIDE2LCAweGI0MjAsIDAsIHsweDAwLDB4MjAsMHhjMCwweDA4LDB4MzAsMHgxNiwweDAwLDB4ODAsMHg5MSwweDAwLDB4NjAsMHhjMCwweDA4LDB4MzAsMHgwMiwweGMyIH0sCi0gIDE2LCAweGI0MzAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4NmMsMHgwMCwweGRiLDB4MDAsMHgzNiwweDgwIH0sCi0gIDE2LCAweGI0NDAsIDAsIHsweDJkLDB4ZjAsMHgwMywweDNjLDB4MDAsMHhhZiwweDAwLDB4M2EsMHg4MCwweDBkLDB4ODAsMHgwMywweGZjLDB4MDAsMHg1YiwweDAwIH0sCi0gIDE2LCAweGI0NTAsIDAsIHsweDM3LDB4YzAsMHgwOSwweDkwLDB4MDMsMHhmYywweDAwLDB4ZGYsMHgwMCwweDMzLDB4YzAsMHgwYSwweGYwLDB4MDMsMHhhNCwweDIwIH0sCi0gIDE2LCAweGI0NjAsIDAsIHsweGNiLDB4MDAsMHhiMywweGMwLDB4OGMsMHhiMCwweDAzLDB4NDAsMHgwMiwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGI0NzAsIDAsIHsweGEwLDB4MWQsMHhmYywweDA0LDB4ZmYsMHgyMCwweDBmLDB4MDAsMHgyNywweGYwLDB4MDMsMHhmYywweDAwLDB4ZmYsMHgwMCwweDJkIH0sCi0gIDE2LCAweGI0ODAsIDAsIHsweDAwLDB4MGIsMHhkMCwweDI3LDB4ZmMsMHgwMCwweGVmLDB4MDAsMHgzNywweGMwLDB4MGYsMHhjMCwweDQzLDB4ZmMsMHgwMCwweGZmIH0sCi0gIDE2LCAweGI0OTAsIDAsIHsweDAwLDB4M2YsMHhjMCwweDBkLDB4ZjAsMHgwYiwweGUwLDB4MDAsMHhmNSwweDAwLDB4M2YsMHhjMCwweDFmLDB4ZjAsMHgwMywweGU4IH0sCi0gIDE2LCAweGI0YTAsIDAsIHsweDA3LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAxLDB4ZjQsMHhjMCwweGZjLDB4MjIsMHg3ZiwweGMwIH0sCi0gIDE2LCAweGI0YjAsIDAsIHsweDBjLDB4ZDAsMHg0MywweDM2LDB4MDAsMHhjNCwweDgxLDB4MzQsMHhjMCwweDFjLDB4ODksMHgwNywweGYyLDB4ODAsMHhjZiwweDgwIH0sCi0gIDE2LCAweGI0YzAsIDAsIHsweDMzLDB4NjAsMHgwZiwweDc5LDB4MDMsMHgzYywweGUwLDB4Y2YsMHgwOCwweDMzLDB4NDgsMHgwZCwweGM0LDB4MDMsMHhmMCwweDUwIH0sCi0gIDE2LCAweGI0ZDAsIDAsIHsweGRjLDB4OTAsMHgzNywweGNjLDB4MGYsMHhmOCwweDAzLDB4ZjAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGI0ZTAsIDAsIHsweDgwLDB4MTAsMHhlOSwweDkwLDB4YjgsMHg4MCwweDdlLDB4ZTQsMHg4OCwweDk5LDB4MGEsMHgyNiwweDA4LDB4YTksMHg4MCwweDIyIH0sCi0gIDE2LCAweGI0ZjAsIDAsIHsweGY0LDB4MmMsMHg5OSwweDAzLDB4YTcsMHgwMiwweDg5LDB4ODAsMHgyMiwweDM0LDB4MGIsMHg5YSwweDAzLDB4N2QsMHgwMCwweGRmIH0sCi0gIDE2LCAweGI1MDAsIDAsIHsweDQ4LDB4MmIsMHg2MCwweDA4LDB4MDUsMHgwMiwweGU1LDB4MDAsMHg4MiwweDIwLDB4MjIsMHhjNCwweDhiLDB4YjAsMHgwMiwweGUwIH0sCi0gIDE2LCAweGI1MTAsIDAsIHsweDA2LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4YzUsMHgwMCwweGIwLDB4MTAsMHgyYywweGMwIH0sCi0gIDE2LCAweGI1MjAsIDAsIHsweDJhLDB4MDAsMHgwMiwweGE0LDB4MDgsMHhhOCwweDA0LDB4ZTAsMHg4MCwweDBiLDB4MDAsMHgwMiwweGM0LDB4NDEsMHhiMiwweDA0IH0sCi0gIDE2LCAweGI1MzAsIDAsIHsweGE0LDB4MGEsMHgwYiwweGIwLDB4MDIsMHg4YywweDgxLDB4ODMsMHgyMCwweDYwLDB4NTAsMHg5OCwweDEyLDB4MTIsMHg4YiwweDgwIH0sCi0gIDE2LCAweGI1NDAsIDAsIHsweDg5LDB4MDAsMHgyYywweGM4LDB4MGIsMHgzMCwweDAyLDB4ZTIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGI1NTAsIDAsIHsweGMwLDB4MTEsMHhhYywweDIwLDB4YmIsMHgwMiwweDJhLDB4YzAsMHgwYSwweDg4LDB4MDIsMHhhNCwweDA4LDB4YTksMHg4MCwweGEyIH0sCi0gIDE2LCAweGI1NjAsIDAsIHsweGUxLDB4MWIsMHg5YywweDIyLDB4ZTYsMHgwMCwweGI4LDB4NDAsMHgyNiwweDMwLDB4MGIsMHg5MCwweDAyLDB4Y2MsMHgwMSwweDkzIH0sCi0gIDE2LCAweGI1NzAsIDAsIHsweDA0LDB4MmEsMHg0MCwweDM5LDB4OTgsMHg4MiwweGVjLDB4MTQsMHg4YiwweDY1LDB4MmEsMHhjMCwweDBiLDB4YjIsMHgwMiwweGY4IH0sCi0gIDE2LCAweGI1ODAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDE1LDB4ZTcsMHgwMCwweGI4LDB4NDgsMHgyZSwweDAwIH0sCi0gIDE2LCAweGI1OTAsIDAsIHsweDBlLDB4ODgsMHg0MywweDg0LDB4MDAsMHhlMywweGMxLDB4MzYsMHhlOCwweDBmLDB4OWMsMHgxMiwweGUyLDB4ODAsMHhmMywweGMwIH0sCi0gIDE2LCAweGI1YTAsIDAsIHsweDM2LDB4NzAsMHg1ZiwweGE4LDB4MjMsMHhhYywweDAxLDB4Y2IsMHgwNCwweDIyLDB4NDAsMHg0ZCwweDg0LDB4MDMsMHhlMiwweDAwIH0sCi0gIDE2LCAweGI1YjAsIDAsIHsweGQ4LDB4MDAsMHgzZSwweGMwLDB4MGYsMHg5MCwweDAzLDB4ZDAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGI1YzAsIDAsIHsweGUwLDB4MDEsMHhiMywweDA5LDB4ZmUsMHgxMCwweDNlLDB4ODEsMHgwZCwweGMwLDB4MDMsMHg3NCwweDBjLDB4ZmYsMHgwMCwweDNkIH0sCi0gIDE2LCAweGI1ZDAsIDAsIHsweGMxLDB4OGMsMHhkMCwweDgzLDB4MTQsMHgwMCwweGNkLDB4MjAsMHgzYSwweDQwLDB4MGQsMHhjYSwweDAxLDB4N2MsMHgwMCwweGZmIH0sCi0gIDE2LCAweGI1ZTAsIDAsIHsweDAwLDB4MWYsMHg0MCwweDBlLDB4YzAsMHgyMywweGYyLDB4NDYsMHhmZSwweDg0LDB4MzcsMHhjMCwweDBmLDB4ZDgsMHgwMywweGY4IH0sCi0gIDE2LCAweGI1ZjAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YWMsMHgwMCwweGRkLDB4MDIsMHgzZCwweDQwIH0sCi0gIDE2LCAweGI2MDAsIDAsIHsweDBlLDB4OTAsMHgwMywweGFjLDB4MDAsMHhlYiwweDQ4LDB4M2UsMHhkMCwweDBjLDB4ODAsMHg2MywweGEyLDB4MDgsMHhjYSwweDAwIH0sCi0gIDE2LCAweGI2MTAsIDAsIHsweDMyLDB4MDgsMHgwYywweGIwLDB4MDMsMHhhYywweDA4LDB4ZWIsMHgwMCwweDNlLDB4NDAsMHgwYywweGQ0LDB4ODMsMHg1OCwweDIwIH0sCi0gIDE2LCAweGI2MjAsIDAsIHsweGY5LDB4NDIsMHgzMiwweGMwLDB4MGMsMHhiMCwweDAzLDB4ZDAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGI2MzAsIDAsIHsweGM4LDB4MDUsMHgyOCwweDAyLDB4ZGIsMHgwMCwweDJlLDB4ZTAsMHgyOCwweDNhLDB4MDIsMHgyZSwweDAwLDB4ZGIsMHg2MCwweDc2IH0sCi0gIDE2LCAweGI2NDAsIDAsIHsweGUwLDB4MGQsMHg4YywweDAyLDB4ZTAsMHgwMCwweDg4LDB4MDIsMHgzNiwweDU4LDB4NjgsMHgxNSwweDgzLDB4N2MsMHgwOCwweGJmIH0sCi0gIDE2LCAweGI2NTAsIDAsIHsweDAwLDB4MmQsMHg2MCwweDA4LDB4OTAsMHgwMiwweGE5LDB4MDAsMHhiMywweDA1LDB4MjMsMHhjMCwweDA4LDB4YjAsMHgwMiwweGYyIH0sCi0gIDE2LCAweGI2NjAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NGMsMHgxMCwweDgwLDB4MDAsMHgwYywweGMxIH0sCi0gIDE2LCAweGI2NzAsIDAsIHsweDA4LDB4MWMsMHg4MiwweDA2LDB4MDAsMHg5MywweGMwLDB4MjAsMHhmNiwweDBhLDB4MjAsMHgwMiwweDA4LDB4MDAsMHg5MywweDAwIH0sCi0gIDE2LCAweGI2ODAsIDAsIHsweDI0LDB4NjAsMHgwOSwweDNjLDB4MDIsMHgwYywweDAwLDB4ODMsMHgwMCwweDJjLDB4NjAsMHgwOSwweDAxLDB4MTIsMHgwMCwweDQwIH0sCi0gIDE2LCAweGI2OTAsIDAsIHsweGIwLDB4MDAsMHhlMCwweGMwLDB4MDgsMHgzMCwweDAyLDB4NzAsMHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGI2YTAsIDAsIHsweDIwLDB4NDEsMHgwYSwweDQwLDB4ODYsMHg4MSwweDJkLDB4ZTAsMHg1OCwweDE4LDB4MGEsMHgxNiwweGEwLDB4OTcsMHg4MCwweDI1IH0sCi0gIDE2LCAweGI2YjAsIDAsIHsweGU5LDB4MTksMHg3OCwweDgyLDB4ZDYsMHgwMCwweDk3LDB4ODAsMHgyNSwweGEwLDB4MTksMHhmOCwweDAyLDB4NWUsMHgwMCwweGI3IH0sCi0gIDE2LCAweGI2YzAsIDAsIHsweDgwLDB4MmQsMHg2MCwweDI4LDB4NDgsMHgxMiwweDk2LDB4MDAsMHhiNCwweDgwLDB4MjEsMHhlMCwweDI4LDB4NzgsMHgwMiwweGM4IH0sCi0gIDE2LCAweGI2ZDAsIDAsIHsweDA0LDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MGMsMHgwMCwweDgxLDB4MzAsMHgzYywweGMyIH0sCi0gIDE2LCAweGI2ZTAsIDAsIHsweDBlLDB4MDAsMHgwMiwweDg0LDB4MDAsMHhlMywweDQwLDB4MjgsMHhlOCwweDRjLDB4MjksMHgwMywweDBjLDB4MDAsMHhkMywweDAwIH0sCi0gIDE2LCAweGI2ZjAsIDAsIHsweDM0LDB4YzQsMHgwZCwweDMxLDB4MDMsMHg4YywweDA4LDB4ZTMsMHgwMCwweDNjLDB4NDYsMHgwYywweDIwLDB4MDMsMHgwMCwweDgwIH0sCi0gIDE2LCAweGI3MDAsIDAsIHsweGYyLDB4MDAsMHgzMiwweGMwLDB4MGMsMHgzMCwweDAzLDB4ZDIsMHgwMiwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGI3MTAsIDAsIHsweDQwLDB4MTksMHhiOCwweDAwLDB4ZmYsMHgxMCwweDJmLDB4YzAsMHgwZiwweGMwLDB4MjMsMHhjNCwweDgwLDB4N2YsMHgxMCwweDNlIH0sCi0gIDE2LCAweGI3MjAsIDAsIHsweGMwLDB4MGYsMHhiMSwweDAzLDB4ZGMsMHgwMCwweGU3LDB4MDAsMHgzZiwweDgwLDB4MDYsMHhmMSwweDQzLDB4ZmMsMHgwMCwweGZmIH0sCi0gIDE2LCAweGI3MzAsIDAsIHsweDA4LDB4N2QsMHg1MCwweDBlLDB4ZTEsMHgyMywweGI0LDB4MDgsMHhmZSwweDEwLDB4M2YsMHhjNCwweDBmLDB4ZjAsMHgwMywweGQwIH0sCi0gIDE2LCAweGI3NDAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZTQsMHgwMiwweGNjLDB4MDAsMHgzZSwweDAwIH0sCi0gIDE2LCAweGI3NTAsIDAsIHsweDJjLDB4YzAsMHgwMywweDA0LDB4MDEsMHhjYiwweDAwLDB4MzMsMHg2MCwweDJjLDB4OTAsMHgxMywweGU4LDB4MDAsMHg3MywweDAwIH0sCi0gIDE2LCAweGI3NjAsIDAsIHsweGIyLDB4YzEsMHgwZiwweGEwLDB4MDMsMHhlYywweDgwLDB4ZmIsMHgyOCwweDNlLDB4NTQsMHgxZiwweGQwLDB4MDMsMHhmZSwweDAyIH0sCi0gIDE2LCAweGI3NzAsIDAsIHsweGM5LDB4ODAsMHgzMiwweGMwLDB4MGYsMHhiMCwweDAzLDB4Y2EsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGI3ODAsIDAsIHsweDQ4LDB4MTEsMHg4MCwweDAwLDB4ODYsMHgwMCwweDJkLDB4ODAsMHgwOCwweDIwLDB4MDIsMHgxNCwweDA4LDB4ODcsMHgwMCwweDI5IH0sCi0gIDE2LCAweGI3OTAsIDAsIHsweDQwLDB4MDgsMHg3MCwweDAyLDB4ZGMsMHgwMCwweGI3LDB4MDAsMHgyMSwweGMwLDB4MGIsMHg2MCwweDAyLDB4NWMsMHhhMCwweDk3IH0sCi0gIDE2LCAweGI3YTAsIDAsIHsweDIwLDB4MmQsMHg0OCwweDBiLDB4NTAsMHgwMiwweGRjLDB4MTAsMHg4ZCwweDAwLDB4MjEsMHhjOCwweDBiLDB4NzAsMHgwMiwweGQyIH0sCi0gIDE2LCAweGI3YjAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4OWYsMHgwMCwweDg1LDB4ODEsMHgyYywweDYwIH0sCi0gIDE2LCAweGI3YzAsIDAsIHsweDE4LDB4NTgsMHgwMiwweGRlLDB4MjAsMHhiNywweDgyLDB4MjgsMHg2MCwweDVhLDB4NzgsMHg1MiwweGRlLDB4MTAsMHhiZiwweDgwIH0sCi0gIDE2LCAweGI3ZDAsIDAsIHsweDIxLDB4ZTAsMHg0YiwweDc4LDB4MDYsMHhkZSwweDQwLDB4YjcsMHhhMCwweDJkLDB4NjksMHg5YiwweDc4LDB4MTIsMHhjZSwweDAwIH0sCi0gIDE2LCAweGI3ZTAsIDAsIHsweDg3LDB4ODAsMHhlMSwweGU0LDB4MGIsMHg3OCwweDAyLDB4YzAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGI3ZjAsIDAsIHsweDQ4LDB4MTQsMHhlZSwweDAwLDB4ODMsMHgwMCwweDJjLDB4YzIsMHgwOCwweDM2LDB4MDIsMHg4YywweDA4LDB4ODMsMHhmMCwweDY4IH0sCi0gIDE2LCAweGI4MDAsIDAsIHsweDQwLDB4MGEsMHgzZSwweDAyLDB4Y2QsMHg0MCwweGIzLDB4MDAsMHgyMCwweGUwLDB4MGIsMHgzMiwweDA2LDB4NGMsMHgwMCwweDliIH0sCi0gIDE2LCAweGI4MTAsIDAsIHsweDAwLDB4MGMsMHg0MCwweDBiLDB4MzAsMHgwMiwweGNkLDB4ODAsMHg4MywweDA4LDB4MjAsMHhjMCwweDBiLDB4YjEsMHgwMiwweGRhIH0sCi0gIDE2LCAweGI4MjAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YjgsMHgwMCwweGNlLDB4MDgsMHgzZiwweGIwIH0sCi0gIDE2LCAweGI4MzAsIDAsIHsweDBjLDB4ZTQsMHgyMywweGRhLDB4MDIsMHhkZSwweDQwLDB4YmIsMHhiMiwweDBlLDB4ZTIsMHg0MywweGZhLDB4MDAsMHhmZSwweDAwIH0sCi0gIDE2LCAweGI4NDAsIDAsIHsweDMzLDB4OTAsMHgwYiwweGUwLDB4MDMsMHhlOCwweDAwLDB4ZmEsMHgwMCwweDNlLDB4ODEsMHgwYiwweGUwLDB4MTMsMHhmOSwweDA4IH0sCi0gIDE2LCAweGI4NTAsIDAsIHsweGNlLDB4NDAsMHgzMiwweDgwLDB4MGYsMHhhOCwweDAzLDB4ZmEsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGI4NjAsIDAsIHsweDQ4LDB4MDAsMHhlMCwweDI0LDB4OTgsMHgwOCwweDNjLDB4MDQsMHgwZiwweDAwLDB4MGIsMHg2MCwweDAwLDB4ZjgsMHg0MCwweDJlIH0sCi0gIDE2LCAweGI4NzAsIDAsIHsweDAzLDB4MGQsMHg4MCwweDAzLDB4ZTAsMHgwMCwweGY4LDB4MDAsMHgzZSwweDA2LDB4MGIsMHg4MCwweDAzLDB4ZTAsMHgwMCwweGQ4IH0sCi0gIDE2LCAweGI4ODAsIDAsIHsweDAwLDB4M2MsMHgwMCwweDAzLDB4OGMsMHgyMywweGUxLDB4MDAsMHhmOCwweDAwLDB4N2UsMHgwMCwweDBmLDB4ODAsMHgwMywweGQyIH0sCi0gIDE2LCAweGI4OTAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTQsMHgwMiwweGM5LDB4MDAsMHgzZSwweDQwIH0sCi0gIDE2LCAweGI4YTAsIDAsIHsweDhjLDB4OTAsMHgwMywweDI1LDB4MDAsMHhlOSwweDgwLDB4MzIsMHg0NCwweDBmLDB4OTQsMHgwMiwweGU0LDB4MjAsMHhmOSwweDAwIH0sCi0gIDE2LCAweGI4YjAsIDAsIHsweDMyLDB4NzAsMHgwZiwweDlhLDB4NDMsMHhlNCwweDAwLDB4ZjksMHgwMCwweDMyLDB4NDAsMHgwYywweDEwLDB4MzMsMHgyNCwweDEwIH0sCi0gIDE2LCAweGI4YzAsIDAsIHsweGY5LDB4MDEsMHgzZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4MDIsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGI4ZDAsIDAsIHsweDgwLDB4MDQsMHg2NCwweDAwLDB4ODksMHg4MiwweDJlLDB4NDAsMHgyOCwweDkwLDB4MDIsMHgyNCwweDgyLDB4ODEsMHhjMCwweGEyIH0sCi0gIDE2LCAweGI4ZTAsIDAsIHsweDcwLDB4MGIsMHg5YywweDAyLDB4ZTQsMHgwMCwweDMxLDB4NDIsMHhhMiwweDYwLDB4MGIsMHg5NCwweDgyLDB4ZTQsMHgwMCwweGI5IH0sCi0gIDE2LCAweGI4ZjAsIDAsIHsweDAwLDB4MmEsMHg0MCwweDA4LDB4OTQsMHhhMiwweDI1LDB4MDAsMHhiOSwweDAwLDB4MmUsMHg0MCwweDBiLDB4OTAsMHgwYSwweDIwIH0sCi0gIDE2LCAweGI5MDAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4MjQsMHgwMCwweDg5LDB4NjQsMHgyZSwweDQwIH0sCi0gIDE2LCAweGI5MTAsIDAsIHsweDA4LDB4OTAsMHg0MiwweGE0LDB4MDAsMHg4OSwweDYwLDB4MjIsMHg0MiwweDBiLDB4OTAsMHgwMiwweGU2LDB4MDAsMHhiOSwweDgwIH0sCi0gIDE2LCAweGI5MjAsIDAsIHsweDIyLDB4NDAsMHgwYiwweDkwLDB4MDIsMHhhNCwweDA0LDB4YjksMHgwMCwweDIyLDB4NDAsMHgyOCwweDkwLDB4MDIsMHgyNCwweDA0IH0sCi0gIDE2LCAweGI5MzAsIDAsIHsweGI5LDB4MDAsMHgyZSwweDQwLDB4MGIsMHg5MCwweDAyLDB4MGUsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGI5NDAsIDAsIHsweDA4LDB4MDQsMHgwNSwweDgwLDB4ODEsMHgwMCwweDJjLDB4YzEsMHg0OCwweDEwLDB4MDIsMHhhNCwweDAyLDB4ODEsMHgwMCwweDIwIH0sCi0gIDE2LCAweGI5NTAsIDAsIHsweDQwLDB4ODMsMHgzNCwweDAyLDB4YzQsMHgwMCwweGJiLDB4MDAsMHgyMCwweGQwLDB4MGIsMHgxNCwweDAyLDB4YzQsMHg4MCwweGIxIH0sCi0gIDE2LCAweGI5NjAsIDAsIHsweDIwLDB4YTAsMHg2OCwweDE4LDB4MTQsMHgxYSwweDBkLDB4MDAsMHhiMSwweDQwLDB4MmMsMHg1MCwweDBiLDB4MTAsMHgwMiwweDBhIH0sCi0gIDE2LCAweGI5NzAsIDAsIHsweDA1LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjAsMHgwMCwweGM4LDB4MDAsMHgzZSwweDAwIH0sCi0gIDE2LCAweGI5ODAsIDAsIHsweDhjLDB4ODAsMHgwYiwweGEwLDB4MDQsMHhlOCwweDAwLDB4MzIsMHgwMCwweDA3LDB4ODAsMHgwMywweGUwLDB4MDAsMHhmOCwweDAwIH0sCi0gIDE2LCAweGI5OTAsIDAsIHsweDMyLDB4MDAsMHgxZiwweDgwLDB4MDMsMHhhMSwweDQwLDB4ZjgsMHg1MCwweDMyLDB4MDAsMHgwYywweDgwLDB4MDMsMHgyMCwweDAwIH0sCi0gIDE2LCAweGI5YTAsIDAsIHsweGY4LDB4MDAsMHgzZSwweDAwLDB4MGYsMHg4MCwweDAzLDB4MmUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGI5YjAsIDAsIHsweDk4LDB4MWQsMHhmNCwweDQ2LDB4ZmQsMHg0MCwweDNmLDB4NTAsMHgyMywweGQ0LDB4MTMsMHg3NCwweDA0LDB4ZjUsMHgwMiwweDNmIH0sCi0gIDE2LCAweGI5YzAsIDAsIHsweDUwLDB4MGYsMHhkNCwweDAzLDB4ZmQsMHgwMCwweGJkLDB4MDAsMHgyZiwweDUwLDB4MGYsMHhkMCwweDAzLDB4ZTQsMHg0MCwweGY5IH0sCi0gIDE2LCAweGI5ZDAsIDAsIHsweDEwLDB4M2YsMHg0NCwweDBmLDB4ZDQsMHgwMywweGY1LDB4MDgsMHhmZCwweDA2LDB4M2UsMHg1MCwweDBmLDB4ZDIsMHg4MywweGU2IH0sCi0gIDE2LCAweGI5ZTAsIDAsIHsweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4ZTYsMHg0MCwweGVkLDB4MDQsMHgzZSwweDQ4IH0sCi0gIDE2LCAweGI5ZjAsIDAsIHsweDBjLDB4YjIsMHg4MywweGY0LDB4MDAsMHhjMSwweDAwLDB4MzIsMHg0MCwweDhjLDB4ZDAsMHgwMywweDM0LDB4MDAsMHhmZCwweDAwIH0sCi0gIDE2LCAweGJhMDAsIDAsIHsweDM3LDB4NDAsMHgwZiwweGQwLDB4MDMsMHhlNiwweDIwLDB4ZjksMHg4OCwweDNkLDB4NjIsMHgwYywweGQ4LDB4MDMsMHhmZSwweDI0IH0sCi0gIDE2LCAweGJhMTAsIDAsIHsweGMxLDB4MDAsMHgzZSwweDc4LDB4MGYsMHhkMCwweDAzLDB4MDYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGJhMjAsIDAsIHsweDM4LDB4MTAsMHhlMSwweDAwLDB4ODgsMHg0MCwweDJlLDB4MTAsMHgwOCwweGM0LDB4MjMsMHhhMCwweDA4LDB4ODgsMHgwNiwweDJhIH0sCi0gIDE2LCAweGJhMzAsIDAsIHsweDE0LDB4MDgsMHg4MCwweDAzLDB4NjAsMHgwNCwweGI4LDB4MDAsMHgyMiwweDAwLDB4MGIsMHg4MCwweDAyLDB4ZTIsMHgwMCwweGI4IH0sCi0gIDE2LCAweGJhNDAsIDAsIHsweDgwLDB4MmUsMHgwMCwweDA4LDB4OGMsMHgwMiwweGUzLDB4ODAsMHg4OCwweDAyLDB4MmUsMHgzOCwweDBiLDB4ODgsMHgwMiwweDBlIH0sCi0gIDE2LCAweGJhNTAsIDAsIHsweDA2LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4YzUsMHg4MCwweGExLDB4YzAsMHgyZCwweDcwIH0sCi0gIDE2LCAweGJhNjAsIDAsIHsweDA4LDB4NTAsMHg0MiwweGM0LDB4MDAsMHhhOSwweDAwLDB4MjAsMHhlMCwweDJhLDB4MTAsMHgwYSwweDA0LDB4MTAsMHhiMSwweDAwIH0sCi0gIDE2LCAweGJhNzAsIDAsIHsweDI0LDB4NDAsMHg0YiwweDEwLDB4MDYsMHhjNCwweDIwLDB4YjEsMHgwOCwweDZlLDB4NDAsMHgwYiwweDE2LDB4ODIsMHhjNCwweDIwIH0sCi0gIDE2LCAweGJhODAsIDAsIHsweDgxLDB4MDAsMHgyYywweDUwLDB4MGIsMHg5MiwweDgyLDB4NTIsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGJhOTAsIDAsIHsweDE4LDB4MTEsMHhhNCwweDAwLDB4YTksMHgwMSwweDJlLDB4NDAsMHgyOCwweGQwLDB4MjAsMHhhNCwweDA0LDB4YTksMHgwMCwweDJhIH0sCi0gIDE2LCAweGJhYTAsIDAsIHsweDQwLDB4MWEsMHhiMCwweDEyLDB4MjQsMHgwMCwweGI5LDB4MGMsMHgyMiwweDQyLDB4MGIsMHg5NCwweDAyLDB4ZTQsMHgwMCwweGI5IH0sCi0gIDE2LCAweGJhYjAsIDAsIHsweDAwLDB4NmUsMHg0MCwweDBiLDB4OTYsMHgwMiwweGU0LDB4MTEsMHg4OSwweDIwLDB4NmUsMHg0MCwweDBiLDB4OTAsMHgwMiwweDQ2IH0sCi0gIDE2LCAweGJhYzAsIDAsIHsweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4ZTQsMHhjMCwweGE5LDB4YzAsMHgzZSwweDUwIH0sCi0gIDE2LCAweGJhZDAsIDAsIHsweDA4LDB4OWMsMHg4MywweGU0LDB4MDIsMHhlOSwweDAwLDB4YjIsMHg0MCwweDJhLDB4OTIsMHgxMiwweDI2LDB4NDAsMHhmOSwweDQwIH0sCi0gIDE2LCAweGJhZTAsIDAsIHsweDM2LDB4NzAsMHgwZiwweDk0LDB4MDMsMHhlNCwweDA0LDB4ZjksMHgwMSwweDNjLDB4NDAsMHgwZiwweDk4LDB4MDMsMHhlNiwweDAyIH0sCi0gIDE2LCAweGJhZjAsIDAsIHsweGM5LDB4MjIsMHgzZSwweDQwLDB4MGYsMHgxMCwweDAyLDB4NjgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGJiMDAsIDAsIHsweDI4LDB4MDEsMHg4NiwweDA0LDB4ZDksMHg0MCwweDFjLDB4NDAsMHgwZiwweDkyLDB4MjMsMHhhNCwweGIwLDB4ZGIsMHgwNCwweDNjIH0sCi0gIDE2LCAweGJiMTAsIDAsIHsweGMwLDB4MGQsMHg5YSwweDAzLDB4ZTQsMHgwMCwweGY5LDB4MDAsMHgzZSwweDQ0LDB4MGYsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGY5IH0sCi0gIDE2LCAweGJiMjAsIDAsIHsweDAwLDB4M2UsMHg0MiwweDJjLDB4OTAsMHgyMywweGU0LDB4ODAsMHhmOSwweDAwLDB4M2UsMHg0MCwweDhmLDB4OTIsMHgwMywweDkyIH0sCi0gIDE2LCAweGJiMzAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTEsMHgwMCwweGM4LDB4MjAsMHgzMiwweDAwIH0sCi0gIDE2LCAweGJiNDAsIDAsIHsweDRjLDB4YzAsMHg4YiwweDIwLDB4MDIsMHhjOCwweDMxLDB4MzIsMHgyMCwweDJkLDB4ODQsMHgwMywweGUxLDB4MDQsMHhmOCwweDQ4IH0sCi0gIDE2LCAweGJiNTAsIDAsIHsweGJhLDB4MDAsMHgwZiwweDg5LDB4MDMsMHhlMCwweDAwLDB4YzgsMHgwMCwweDMyLDB4MDAsMHgwZCwweDgxLDB4MTMsMHgyMCwweDEwIH0sCi0gIDE2LCAweGJiNjAsIDAsIHsweGY4LDB4MDAsMHgzYSwweDAwLDB4MGYsMHg4MSwweDIzLDB4MDIsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGJiNzAsIDAsIHsweDI4LDB4MDUsMHgyOCwweDAwLDB4MGUsMHg0MCwweDIyLDB4ODAsMHgyOCwweGE0LDB4MDIsMHgxOSwweDAwLDB4NTIsMHg4MCwweGEyIH0sCi0gIDE2LCAweGJiODAsIDAsIHsweDgwLDB4NGQsMHhlZCwweDgyLDB4ZTgsMHgwMCwweGI2LDB4NDIsMHgyMywweGJkLDB4MGIsMHhlOCwweDAyLDB4ZTgsMHgwNCwweGRhIH0sCi0gIDE2LCAweGJiOTAsIDAsIHsweDAwLDB4MzcsMHg4MCwweDA4LDB4ZTAsMHgwMiwweDNhLDB4MjAsMHhiYSwweDAwLDB4MjIsMHg4MCwweDBiLDB4YTgsMHgwYSwweDBhIH0sCi0gIDE2LCAweGJiYTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NGMsMHgwMCwweDgzLDB4ODAsMHg2MCwweGMwIH0sCi0gIDE2LCAweGJiYjAsIDAsIHsweDA4LDB4MjksMHgwMiwweDBkLDB4MDAsMHg5MiwweDQwLDB4MjQsMHhjMCwweDA4LDB4YjQsMHgwMiwweGNjLDB4MDAsMHhiMywweDAwIH0sCi0gIDE2LCAweGJiYzAsIDAsIHsweDY4LDB4ZTAsMHgxYiwweDMwLDB4MDIsMHhjYywweDAwLDB4OTMsMHgwMSwweDI0LDB4YzAsMHg2OSwweDM4LDB4MDIsMHg2YywweDAwIH0sCi0gIDE2LCAweGJiZDAsIDAsIHsweGIzLDB4MDAsMHgyYywweGMwLDB4MGIsMHgzMCwweDAyLDB4MGEsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGJiZTAsIDAsIHsweGEwLDB4MDEsMHgxYywweDQwLDB4ODMsMHhjMCwweDIwLDB4NDAsMHgwOCwweDI4LDB4MDYsMHg5YywweDE4LDB4OWMsMHgwMiwweDI0IH0sCi0gIDE2LCAweGJiZjAsIDAsIHsweGMwLDB4MDksMHg3MCwweDAyLDB4ZDQsMHgwMCwweGI3LDB4MDAsMHgyMSwweGMwLDB4MGIsMHg3MCwweDAyLDB4Y2UsMHg0MCwweDk3IH0sCi0gIDE2LCAweGJjMDAsIDAsIHsweGIwLDB4MjUsMHg0MCwweDA4LDB4NzgsMHgxYSwweDU4LDB4MDAsMHhiZiwweGEyLDB4NjUsMHhjOCwweDBiLDB4NzgsMHgwMiwweDIwIH0sCi0gIDE2LCAweGJjMTAsIDAsIHsweDA0LDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MGUsMHgwMiwweDg3LDB4ODAsMHhiMSwweGEwIH0sCi0gIDE2LCAweGJjMjAsIDAsIHsweDBjLDB4NjgsMHgwMywweDFhLDB4MDgsMHhkNiwweDkyLDB4MzUsMHhlNCwweDI4LDB4NzgsMHg0MiwweGQ2LDB4MTAsMHhmNSwweDgwIH0sCi0gIDE2LCAweGJjMzAsIDAsIHsweDM5LDB4YTAsMHgwZiwweDc4LDB4MjMsMHhkZSwweDMwLDB4ZDMsMHhhMiwweDM1LDB4YTAsMHg0ZCwweGU4LDB4MDMsMHg1ZSwweDAwIH0sCi0gIDE2LCAweGJjNDAsIDAsIHsweGY3LDB4ZDAsMHgzZCwweGY4LDB4MGYsMHhmMCwweDAzLDB4MjIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGJjNTAsIDAsIHsweDA4LDB4MWQsMHhhYywweDAwLDB4ZmIsMHgwNCwweDNlLDB4MDAsMHgwYiwweGEwLDB4MDMsMHg0OCwweDA0LDB4ZmEsMHg0MSwweDNhIH0sCi0gIDE2LCAweGJjNjAsIDAsIHsweDUwLDB4MGYsMHhiMCwweDAzLDB4ZTQsMHgwMCwweGYxLDB4MDAsMHgzZSwweGMwLDB4MGYsMHhiMCwweDAzLDB4ZWQsMHg4OCwweGZiIH0sCi0gIDE2LCAweGJjNzAsIDAsIHsweDRkLDB4M2UsMHgwMCwweDBmLDB4ZjAsMHgwMywweGJjLDB4MDgsMHhmYiwweDIwLDB4M2EsMHhjMCwweDBmLDB4YjAsMHgwMywweGMyIH0sCi0gIDE2LCAweGJjODAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZmUsMHgwMCwweGRjLDB4ODAsMHhiMywweGUwIH0sCi0gIDE2LCAweGJjOTAsIDAsIHsweDBjLDB4ZDgsMHgwMywweGNlLDB4MDAsMHhjOCwweGEwLDB4MzEsMHhhMCwweDhkLDB4ZTksMHgwMywweGJlLDB4MDAsMHhiMiwweDgwIH0sCi0gIDE2LCAweGJjYTAsIDAsIHsweDMzLDB4ZTAsMHgwYywweGU4LDB4NDMsMHg3ZSwweDA0LDB4MGYsMHg4MSwweDMxLDB4ZTQsMHgwYywweGQ4LDB4MDMsMHhmNiwweDAwIH0sCi0gIDE2LCAweGJjYjAsIDAsIHsweGZmLDB4ODAsMHgzZiwweGUwLDB4MGYsMHhmOCwweDAzLDB4MDAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGJjYzAsIDAsIHsweGE4LDB4MTEsMHg5YywweDAwLDB4YjQsMHg0MCwweDM1LDB4NDAsMHgwOCwweDUwLDB4ODIsMHhkZSwweDgwLDB4ZDQsMHg5MCwweDIxIH0sCi0gIDE2LCAweGJjZDAsIDAsIHsweGUwLDB4MGQsMHg1MSwweDAyLDB4ZDQsMHg0MCwweGI2LDB4YjAsMHgyYiwweDkwLDB4MGUsMHhlNSwweDAyLDB4OWMsMHg0MCwweGQ3IH0sCi0gIDE2LCAweGJjZTAsIDAsIHsweDIyLDB4MTksMHg1YywweDBkLDB4NzAsMHgwMiwweGQ4LDB4MDAsMHhiNywweDIwLDB4MmQsMHhjMCwweDBiLDB4ZjAsMHgwMywweDZhIH0sCi0gIDE2LCAweGJjZjAsIDAsIHsweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OWMsMHgwMCwweDkzLDB4MTAsMHgyMSwweDgwIH0sCi0gIDE2LCAweGJkMDAsIDAsIHsweDA4LDB4NTgsMHgwMiwweGRjLDB4YzAsMHg5NCwweDAwLDB4MjMsMHhkMCwweDA4LDB4NzAsMHhhMCwweGQ0LDB4MjAsMHhiNSwweDAyIH0sCi0gIDE2LCAweGJkMTAsIDAsIHsweDI5LDB4ODAsMHgwOSwweDYwLDB4ODIsMHgwYywweDAwLDB4ODcsMHgwMiwweDI1LDB4YzAsMHgxOSwweDQwLDB4MDIsMHhkNCwweDAwIH0sCi0gIDE2LCAweGJkMjAsIDAsIHsweGI3LDB4MDAsMHg2ZCwweGMwLDB4MGIsMHg3MCwweDAyLDB4MDAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGJkMzAsIDAsIHsweDIwLDB4MTQsMHhlYywweDAwLDB4YjMsMHhjMCwweDIwLDB4MDEsMHg0OCwweDE4LDB4MDIsMHhjYywweDAyLDB4ODEsMHg0NCwweGEwIH0sCi0gIDE2LCAweGJkNDAsIDAsIHsweGMwLDB4ODksMHgzOCwweDAyLDB4YzcsMHg4MCwweGIxLDB4MDAsMHgyYywweDA5LDB4NGEsMHgwMCwweDYyLDB4YWMsMHgwOSwweDkzIH0sCi0gIDE2LCAweGJkNTAsIDAsIHsweDAxLDB4MjgsMHg0MCwweDE5LDB4MzAsMHgwMiwweGNkLDB4MTAsMHhiMywweDkwLDB4MmMsMHhjMCwweDBiLDB4MzAsMHgwMiwweGM4IH0sCi0gIDE2LCAweGJkNjAsIDAsIHsweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YmMsMHgyMCwweGRiLDB4NjIsMHgyMiwweGUwIH0sCi0gIDE2LCAweGJkNzAsIDAsIHsweDZjLDB4YTAsMHgwMywweGU0LDB4MDAsMHg5OCwweDAwLDB4MzIsMHhjMCwweGVjLDB4OTgsMHgyMywweGFlLDB4MDgsMHhmYiwweDA4IH0sCi0gIDE2LCAweGJkODAsIDAsIHsweDNhLDB4NzgsMHgwOSwweDkwLDB4MDMsMHg3YywweDEwLDB4Y2YsMHgwMCwweDI2LDB4NDAsMHgwYywweGIwLDB4MDMsMHhlYywweDAwIH0sCi0gIDE2LCAweGJkOTAsIDAsIHsweGZmLDB4ODAsMHgzZiwweGMwLDB4MGYsMHg5MCwweDAzLDB4MmEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGJkYTAsIDAsIHsweDgwLDB4MDAsMHhlYywweDIwLDB4ZmIsMHg0OCwweDNjLDB4NjEsMHgwZiwweGEwLDB4NDMsMHhlZCwweDAwLDB4ZjgsMHgyNCwweDNlIH0sCi0gIDE2LCAweGJkYjAsIDAsIHsweDUwLDB4MGYsMHg5MCwweDgzLDB4ZTQsMHgwMCwweGZiLDB4MDAsMHgzYSwweDUwLDB4MGYsMHg4MCwweDQzLDB4ZWMsMHgwOCwweGZiIH0sCi0gIDE2LCAweGJkYzAsIDAsIHsweDAwLDB4M2UsMHg0MCwweDBmLDB4NDAsMHgwMywweGYwLDB4MDAsMHhmYiwweDAwLDB4M2UsMHhjMSwweDBmLDB4OTAsMHgwMywweDYwIH0sCi0gIDE2LCAweGJkZDAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZmMsMHgwMCwweGRkLDB4YTAsMHgzMiwweDgwIH0sCi0gIDE2LCAweGJkZTAsIDAsIHsweDBjLDB4ZTAsMHgwMSwweGZjLDB4MDAsMHhkYywweDkxLDB4MzksMHhjMCwweDNjLDB4NDAsMHgwMywweDM0LDB4MDAsMHhmZiwweDgwIH0sCi0gIDE2LCAweGJkZjAsIDAsIHsweDNmLDB4MDAsMHgwZiwweGQwLDB4MDcsMHhmYywweDAwLDB4Y2IsMHgwMCwweDNkLDB4NDAsMHgwYywweGUwLDB4MDMsMHgzOCwweDIwIH0sCi0gIDE2LCAweGJlMDAsIDAsIHsweGNmLDB4MDIsMHgzZCwweGMwLDB4MGMsMHhkMCwweDAzLDB4MDgsMHg0NCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGJlMTAsIDAsIHsweDgxLDB4MDQsMHg2YywweDAwLDB4MDEsMHg0MCwweDIyLDB4MDAsMHgyOCwweGEwLDB4MDIsMHhjZSwweDg2LDB4ODMsMHg2NCwweDIyIH0sCi0gIDE2LCAweGJlMjAsIDAsIHsweGY0LDB4MDgsMHg4YywweDBmLDB4NjQsMHgwMCwweGJiLDB4MTAsMHgyZSwweDYwLDB4MGIsMHg5YywweDAzLDB4YWMsMHgwMSwweGRiIH0sCi0gIDE2LCAweGJlMzAsIDAsIHsweDAwLDB4M2UsMHg2MCwweDA4LDB4OGYsMHgwMiwweDIzLDB4NDAsMHg4YiwweDAwLDB4M2EsMHhjMCwweDBkLDB4MTAsMHg0MywweDY4IH0sCi0gIDE2LCAweGJlNDAsIDAsIHsweDQwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MmMsMHgwMCwweDk5LDB4MDAsMHhhMiwweGMwIH0sCi0gIDE2LCAweGJlNTAsIDAsIHsweDA4LDB4OTAsMHgwMiwweGE2LDB4MDcsMHg5OCwweDAwLDB4MDIsMHhjMiwweDQ4LDB4ODgsMHgwMiwweDJjLDB4MDAsMHhiYSwweDAyIH0sCi0gIDE2LCAweGJlNjAsIDAsIHsweDZlLDB4NjAsMHgwYSwweDk4LDB4MDIsMHhlYywweDAwLDB4OGIsMHgwMSwweDJlLDB4NjAsMHgwOCwweDkwLDB4MDIsMHgwNSwweDAwIH0sCi0gIDE2LCAweGJlNzAsIDAsIHsweDhiLDB4MDAsMHgyZSwweGMwLDB4MDgsMHhiMSwweDAyLDB4MjAsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGJlODAsIDAsIHsweDA4LDB4MDQsMHgwYywweDEwLDB4ODEsMHgwMCwweDIwLDB4NDAsMHgyOCwweDEwLDB4MjYsMHhjYywweDgwLDB4ODAsMHgyMCwweGEwIH0sCi0gIDE2LCAweGJlOTAsIDAsIHsweGNjLDB4MTgsMHgxNCwweDQyLDB4MDQsMHgwMCwweGIyLDB4MjAsMHg2YywweDQwLDB4MGIsMHgwMCwweDAyLDB4OGMsMHgwMCwweDgzIH0sCi0gIDE2LCAweGJlYTAsIDAsIHsweDAwLDB4MjgsMHg0MCwweDI4LDB4MDAsMHgwMiwweDAwLDB4MDAsMHg4MywweDAwLDB4MjgsMHhjMCwweDA5LDB4YjAsMHgwMiwweDQyIH0sCi0gIDE2LCAweGJlYjAsIDAsIHsweDA1LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4NmMsMHgwMCwweGQ5LDB4MDAsMHgyMiwweDgwIH0sCi0gIDE2LCAweGJlYzAsIDAsIHsweDBjLDB4OTAsMHgwMywweGFjLDB4ODAsMHhkYSwweDI5LDB4MmEsMHhkMiwweDI4LDB4ODAsMHgwMiwweDI0LDB4MDAsMHhmYiwweDIwIH0sCi0gIDE2LCAweGJlZDAsIDAsIHsweDNlLDB4MDAsMHgwZiwweDkwLDB4MDIsMHhmYywweDAwLDB4OGYsMHgwMCwweDJlLDB4NDAsMHgwYywweDgwLDB4MGIsMHgyMCwweDAyIH0sCi0gIDE2LCAweGJlZTAsIDAsIHsweGNmLDB4MDAsMHgzZSwweGMwLDB4MGMsMHhiMCwweDAzLDB4MDAsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGJlZjAsIDAsIHsweGEwLDB4MWQsMHhmYywweDAwLDB4ZmQsMHgwMCwweDNmLDB4MDAsMHgwZiwweGQwLDB4NjMsMHhmYywweDQ5LDB4ZjUsMHgwMCwweDNlIH0sCi0gIDE2LCAweGJmMDAsIDAsIHsweGMwLDB4MGIsMHhjMCwweDAxLDB4ZjQsMHgwMCwweDdmLDB4NDAsMHgzZiwweDQwLDB4MWYsMHhkMCwweDAzLDB4YmMsMHgwMCwweGZmIH0sCi0gIDE2LCAweGJmMTAsIDAsIHsweDAwLDB4M2YsMHg0MCwweDBmLDB4YzAsMHgwMywweGYwLDB4MDAsMHhmZiwweDAwLDB4M2IsMHhjMCwweDBmLDB4ZjAsMHgwMywweGU4IH0sCi0gIDE2LCAweGJmMjAsIDAsIHsweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAxLDB4ZjIsMHg0MCwweGVjLDB4YTAsMHgzZiwweGUwIH0sCi0gIDE2LCAweGJmMzAsIDAsIHsweDBkLDB4NDgsMHgwMywweDdkLDB4ODAsMHhmNCwweDgwLDB4MzMsMHg2YywweDBlLDB4YzgsMHgwMywweDMyLDB4MDAsMHhkZCwweDkwIH0sCi0gIDE2LCAweGJmNDAsIDAsIHsweDNiLDB4YTAsMHgyZCwweGYwLDB4MDMsMHhmYywweGMwLDB4ZmYsMHgwMCwweDNiLDB4ZTAsMHg4ZSwweGYwLDB4MDMsMHgzYywweDA0IH0sCi0gIDE2LCAweGJmNTAsIDAsIHsweGVjLDB4NjAsMHgzMSwweDAwLDB4MGMsMHhmMCwweDAzLDB4YjAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGJmNjAsIDAsIHsweDgwLDB4MTAsMHhlYywweDAwLDB4ZDksMHhjMSwweDJlLDB4ZTEsMHgwZCwweDg4LDB4MDIsMHgzYywweDgwLDB4ZjgsMHg4MCwweDM2IH0sCi0gIDE2LCAweGJmNzAsIDAsIHsweDdkLDB4MTgsMHhhMCwweDAyLDB4MjgsMHhiMCwweGVhLDB4MjAsMHgyMiwweDIwLDB4MDgsMHg3NywweDAyLDB4ZmQsMHg1MCwweGJiIH0sCi0gIDE2LCAweGJmODAsIDAsIHsweDgwLDB4MjIsMHg0MCwweDBiLDB4ZjQsMHg0MiwweDNkLDB4ODAsMHg4OCwweDMxLDB4MjIsMHgxMiwweDA4LDB4ZjYsMHgwMiwweGUwIH0sCi0gIDE2LCAweGJmOTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4Y2MsMHgwMCwweDgwLDB4MTEsMHgyZSwweGMxIH0sCi0gIDE2LCAweGJmYTAsIDAsIHsweDA4LDB4MDAsMHgwMiwweDRkLDB4ODAsMHhiOCwweDAwLDB4MjAsMHgwMCwweDBhLDB4MDIsMHg4MiwweDAwLDB4MDAsMHg5OSwweDIwIH0sCi0gIDE2LCAweGJmYjAsIDAsIHsweDIyLDB4YzAsMHgwOSwweDMwLDB4ODIsMHhjYywweDAwLDB4YjMsMHgwMCwweDI4LDB4Y2EsMHgwYiwweDM0LDB4ODIsMHgwZCwweDIwIH0sCi0gIDE2LCAweGJmYzAsIDAsIHsweDgwLDB4MDAsMHhhMCwweDhjLDB4MDgsMHgzNCwweDgyLDB4YTIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGJmZDAsIDAsIHsweGMwLDB4MTUsMHhhYywweDQwLDB4OTksMHg4MCwweDJlLDB4YzIsMHgwOSwweDk0LDB4MDIsMHgyYywweDAwLDB4YTksMHg4MCwweDI2IH0sCi0gIDE2LCAweGJmZTAsIDAsIHsweDYwLDB4MDgsMHgzOCwweDQyLDB4MjIsMHgyMCwweGJhLDB4NDEsMHg2MiwweDQ2LDB4M2IsMHhiMCwweDAyLDB4ZWMsMHgwMSwweGJiIH0sCi0gIDE2LCAweGJmZjAsIDAsIHsweDgwLDB4MjIsMHg0MCwweDBiLDB4YjAsMHg0NiwweDBjLDB4MTgsMHg4OCwweGMwLDB4MjIsMHgyMiwweDA4LDB4YjAsMHgwNiwweGYwIH0sCi0gIDE2LCAweGMwMDAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDE1LDB4Y2MsMHgwMCwweGM5LDB4ODEsMHgzYywweGMxIH0sCi0gIDE2LCAweGMwMTAsIDAsIHsweDBjLDB4YTksMHgyMywweDZjLDB4MDAsMHhiMiwweDgwLDB4MzIsMHg3OCwweDBhLDB4OGEsMHgwYiwweDI2LDB4MDAsMHg5OSwweDAxIH0sCi0gIDE2LCAweGMwMjAsIDAsIHsweDMwLDB4ZTAsMHgwZCwweGIwLDB4MDMsMHhlYywweDAwLDB4YjksMHgwMCwweDNhLDB4YzAsMHgxZSwweGIwLDB4MDMsMHgyYywweDAwIH0sCi0gIDE2LCAweGMwMzAsIDAsIHsweGNiLDB4ODAsMHgzMiwweDYxLDB4MGMsMHhiMCwweDEzLDB4OTAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGMwNDAsIDAsIHsweGUwLDB4MDEsMHhiYywweDEwLDB4ZGQsMHgwMCwweDNmLDB4YzIsMHgwZiwweGU4LDB4MDMsMHhhYywweDAwLDB4ZmUsMHgwMCwweDNkIH0sCi0gIDE2LCAweGMwNTAsIDAsIHsweDQwLDB4MGYsMHhjMCwweDQzLDB4ZjgsMHgxMCwweGVmLDB4MTQsMHhiNywweGUwLDB4MGMsMHhmMCwweDAzLDB4ZmMsMHgwMCwweGY1IH0sCi0gIDE2LCAweGMwNjAsIDAsIHsweDAyLDB4M2YsMHg0NCwweDRmLDB4YjAsMHg0YiwweGZjLDB4MDIsMHhkNCwweDA0LDB4M2QsMHg0MCwweDJmLDB4ZjAsMHgwMywweGY4IH0sCi0gIDE2LCAweGMwNzAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YWMsMHgwMCwweGY5LDB4MDgsMHgzZSwweDYwIH0sCi0gIDE2LCAweGMwODAsIDAsIHsweDBkLDB4YTAsMHgwMywweGFjLDB4MDAsMHhlOCwweDUwLDB4MzIsMHgwMCwweDBjLDB4ODQsMHgwMywweGE1LDB4MDAsMHhlOSwweDAwIH0sCi0gIDE2LCAweGMwOTAsIDAsIHsweDNhLDB4ZDgsMHgwZiwweGIwLDB4MDMsMHgyYywweDAwLDB4ZjksMHgwMCwweDNhLDB4YzAsMHgwZiwweDMwLDB4MDMsMHgyYywweDAwIH0sCi0gIDE2LCAweGMwYTAsIDAsIHsweGNiLDB4NDQsMHgzZSwweGQ0LDB4MGUsMHhiMCwweDAzLDB4ZDAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGMwYjAsIDAsIHsweGM4LDB4MDUsMHgyYywweDA4LDB4YjksMHg4MCwweDJlLDB4YzAsMHgwYSwweDMwLDB4NDIsMHgzYywweDAwLDB4ODksMHgwNCwweDc2IH0sCi0gIDE2LCAweGMwYzAsIDAsIHsweDYwLDB4MDgsMHg5MCwweDYyLDB4MjAsMHgwMCwweDgyLDB4MDQsMHgyMiwweGQwLDB4MDgsMHhmMCwweDQzLDB4N2MsMHgwMCwweGJiIH0sCi0gIDE2LCAweGMwZDAsIDAsIHsweDgyLDB4MjIsMHg0MCwweDBiLDB4ZjAsMHg0MiwweDNjLDB4MDAsMHg4YSwweGMwLDB4MmUsMHhjMSwweDA4LDB4ZjAsMHgwMiwweGYyIH0sCi0gIDE2LCAweGMwZTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NGMsMHgxMCwweGIyLDB4ZDAsMHgyYywweGMwIH0sCi0gIDE2LCAweGMwZjAsIDAsIHsweDI5LDB4MTgsMHgwMiwweDhjLDB4MDQsMHhhMSwweDAwLDB4MjQsMHg5YywweDA4LDB4MTAsMHgwMiwweDgwLDB4MDAsMHhhMSwweDAxIH0sCi0gIDE2LCAweGMxMDAsIDAsIHsweDBjLDB4YzEsMHgyYiwweDMwLDB4NTIsMHg4YywweDA0LDB4YjMsMHgwMSwweDI4LDB4NDAsMHg0YiwweDMwLDB4MDIsMHg0YywweDAwIH0sCi0gIDE2LCAweGMxMTAsIDAsIHsweDkwLDB4MjAsMHgyYywweDIwLDB4MGEsMHgzMCwweDAyLDB4ZjgsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGMxMjAsIDAsIHsweDIwLDB4NDEsMHgxZSwweDAwLDB4YjcsMHhhMiwweDI1LDB4ZTgsMHg4YSwweDY4LDB4MDIsMHgxZSwweDAwLDB4ODUsMHg4MCwweDI1IH0sCi0gIDE2LCAweGMxMzAsIDAsIHsweDgwLDB4ODgsMHhlOCwweDAyLDB4M2UsMHgwMCwweDg1LDB4ODAsMHgyZiwweGU0LDB4MjgsMHg3OCwweDAyLDB4ZGUsMHgwMCwweGI3IH0sCi0gIDE2LCAweGMxNDAsIDAsIHsweDgwLDB4NjEsMHhlMCwweDAzLDB4NzgsMHgwMiwweDVlLDB4ODIsMHhiNywweDgyLDB4MmQsMHhlMCwweDA4LDB4NzgsMHgwMiwweGM4IH0sCi0gIDE2LCAweGMxNTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MGQsMHgwMCwweGYwLDB4MTAsMHgzYywweDgwIH0sCi0gIDE2LCAweGMxNjAsIDAsIHsweDBkLDB4MTAsMHg4MywweDhjLDB4MDAsMHhlMiwweDUwLDB4MjYsMHgwNCwweDBjLDB4MTEsMHgwMywweDg4LDB4NDAsMHhlYiwweDAwIH0sCi0gIDE2LCAweGMxNzAsIDAsIHsweDNjLDB4YzQsMHgwZiwweDMwLDB4MDMsMHg4YywweDAwLDB4ZjMsMHgwOCwweDM4LDB4NDAsMHgwNywweDMwLDB4MDMsMHg2ZSwweDQwIH0sCi0gIDE2LCAweGMxODAsIDAsIHsweGQwLDB4MDgsMHgzYywweDg4LDB4MGUsMHgzMCwweDQzLDB4ZDIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGMxOTAsIDAsIHsweDQwLDB4MWQsMHhiYywweDAwLDB4ZmIsMHgzNCwweDNjLDB4YzksMHg0ZSwweGIwLDB4MjMsMHhlZCwweDIwLDB4ZmIsMHgwNCwweDNmIH0sCi0gIDE2LCAweGMxYTAsIDAsIHsweGM4LDB4OGYsMHg3MCwweDUzLDB4NGMsMHgwMCwweGViLDB4MTAsMHgzMSwweGM1LDB4MGUsMHhmNCwweDAzLDB4NmQsMHgwMCwweGYzIH0sCi0gIDE2LCAweGMxYjAsIDAsIHsweDAwLDB4M2YsMHhjMCwweDBmLDB4ZjQsMHgwYiwweGJjLDB4MDAsMHhjZCwweDAwLDB4M2YsMHhjMCwweDBmLDB4ZjQsMHg4MywweGQwIH0sCi0gIDE2LCAweGMxYzAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4Y2UsMHgwNCwweGM5LDB4MDQsMHhiMCwweGMxIH0sCi0gIDE2LCAweGMxZDAsIDAsIHsweDBmLDB4OTgsMHgxMywweDZjLDB4OTAsMHhjYiwweDAyLDB4M2UsMHhjMCwweDRmLDB4YjAsMHg2MywweGU0LDB4MDAsMHhmMSwweDgwIH0sCi0gIDE2LCAweGMxZTAsIDAsIHsweDEyLDB4YzAsMHgwYywweGI1LDB4MDMsMHhlYywweGMwLDB4Y2YsMHg4MywweDMyLDB4NDAsMHgwZiwweGIzLDB4MjMsMHgyZCwweGE0IH0sCi0gIDE2LCAweGMxZjAsIDAsIHsweGZiLDB4MDAsMHgzZSwweDAwLDB4MGYsMHhiNCwweDAzLDB4MmEsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGMyMDAsIDAsIHsweDQ4LDB4MTEsMHg5YywweDAwLDB4ODcsMHgwMCwweDIxLDB4YzAsMHgyZCwweDYwLDB4MDIsMHgxYywweDAwLDB4ZDcsMHgwMCwweDM5IH0sCi0gIDE2LCAweGMyMTAsIDAsIHsweGMwLDB4MGIsMHg2MCwweDAyLDB4ZGMsMHgwMCwweGI1LDB4MDAsMHgyMSwweGMwLDB4MmEsMHg3MCwweDEyLDB4Y2MsMHg4MCwweDg3IH0sCi0gIDE2LCAweGMyMjAsIDAsIHsweDAwLDB4MzUsMHhjMCwweDBiLDB4NzIsMHg1MiwweDFjLDB4MDAsMHhiNywweDAwLDB4MmQsMHg0MSwweDBiLDB4MzIsMHgwMiwweDEyIH0sCi0gIDE2LCAweGMyMzAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4YmUsMHgwMCwweDgxLDB4YzAsMHgyMywweDIwIH0sCi0gIDE2LCAweGMyNDAsIDAsIHsweDBiLDB4ZDgsMHgwMiwweDVlLDB4MDAsMHgwNiwweGMwLDB4MmQsMHhhMCwweDBiLDB4N2MsMHgxMiwweGRlLDB4MDgsMHhiZiwweDgwIH0sCi0gIDE2LCAweGMyNTAsIDAsIHsweGExLDB4ZTIsMHgyYSwweDdhLDB4MDIsMHhkZSwweDAwLDB4OTMsMHg4MCwweDI1LDB4NjAsMHgwYiwweDc4LDB4MWUsMHg1ZSwweDUwIH0sCi0gIDE2LCAweGMyNjAsIDAsIHsweGI3LDB4ODAsMHgyZCwweGEwLDB4MGIsMHg3OCwweDAyLDB4MzAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGMyNzAsIDAsIHsweDQ4LDB4MTQsMHhjZSwweDAwLDB4ODMsMHg2MCwweDIwLDB4YzAsMHgwOSwweDMxLDB4MDIsMHgyYywweDAwLDB4OTMsMHgwMCwweDI4IH0sCi0gIDE2LCAweGMyODAsIDAsIHsweGMwLDB4MWIsMHhiMCwweDA2LDB4Y2MsMHg4MCwweGIzLDB4NDgsMHgyMCwweGYwLDB4MGEsMHgzMCwweDAyLDB4ZWMsMHgwMCwweDkzIH0sCi0gIDE2LCAweGMyOTAsIDAsIHsweDgwLDB4MjQsMHhjMCwweDBiLDB4YjAsMHgwMiwweDRjLDB4MTAsMHhiMywweGM4LDB4MmMsMHhkMiwweDhiLDB4MzAsMHgwMiwweDEyIH0sCi0gIDE2LCAweGMyYTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YmIsMHgwMCwweGM2LDB4YzQsMHgzMSwweDgxIH0sCi0gIDE2LCAweGMyYjAsIDAsIHsweDBmLDB4ZTAsMHgwMywweDY4LDB4MDAsMHhjZSwweDgwLDB4M2YsMHhhMiwweDBiLDB4ZTgsMHgwMywweGY5LDB4MDAsMHhmZSwweDQwIH0sCi0gIDE2LCAweGMyYzAsIDAsIHsweDMxLDB4ODAsMHg2ZSwweGEwLDB4MDcsMHhlOCwweDAwLDB4ZGEsMHgwMCwweDI2LDB4ODEsMHgwZiwweGEwLDB4MDIsMHg2OCwweDAxIH0sCi0gIDE2LCAweGMyZDAsIDAsIHsweGY2LDB4ZTAsMHgzZCwweDkyLDB4MGYsMHhhMCwweDAzLDB4M2EsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGMyZTAsIDAsIHsweDQ4LDB4MDAsMHhlMCwweGMyLDB4ZjgsMHgwNCwweDNlLDB4MTQsMHgwZiwweDgwLDB4MTMsMHhlMCwweDEwLDB4ZjgsMHgwMSwweDNlIH0sCi0gIDE2LCAweGMyZjAsIDAsIHsweDEwLDB4MGYsMHg4MCwweDQzLDB4ZTAsMHgwMCwweGI4LDB4MDAsMHgzZSwweDAwLDB4NDcsMHg4MCwweDAzLDB4ZTAsMHgwMiwweGU4IH0sCi0gIDE2LCAweGMzMDAsIDAsIHsweDEwLDB4M2UsMHgwMCwweDBmLDB4ODAsMHgwNywweGEwLDB4MDAsMHhmOCwweDAwLDB4MmUsMHgwMCwweDBmLDB4ODAsMHgwYiwweGQyIH0sCi0gIDE2LCAweGMzMTAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTQsMHgwMCwweGY5LDB4MDEsMHgzMiwweDQwIH0sCi0gIDE2LCAweGMzMjAsIDAsIHsweDhjLDB4OTAsMHgwMywweGU0LDB4MDAsMHhjOSwweDAwLDB4MzYsMHg0MiwweDBmLDB4OTAsMHgwMywweGE0LDB4MDAsMHhjOSwweDAwIH0sCi0gIDE2LCAweGMzMzAsIDAsIHsweDNlLDB4NDIsMHgwZCwweDkwLDB4MDMsMHg2NCwweDAwLDB4ZDksMHgwMCwweDNlLDB4NDAsMHgwZiwweDkwLDB4MGIsMHg2NCwweDAwIH0sCi0gIDE2LCAweGMzNDAsIDAsIHsweGY5LDB4OTAsMHgzMiwweDQxLDB4MGMsMHg5MCwweDAzLDB4MDIsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGMzNTAsIDAsIHsweDgwLDB4MDQsMHg2NCwweDAwLDB4YjksMHhjOCwweGEyLDB4NjAsMHgwYSwweDkyLDB4MDIsMHhlNCwweDAwLDB4ODksMHg0MCwweDJlIH0sCi0gIDE2LCAweGMzNjAsIDAsIHsweDU4LDB4MGIsMHg5MCwweDAyLDB4MDQsMHgwMCwweGQ5LDB4MDAsMHgyZSwweDQyLDB4MDgsMHg5MCwweDAyLDB4ZTQsMHgwNCwweDg5IH0sCi0gIDE2LCAweGMzNzAsIDAsIHsweDAwLDB4MmUsMHg0MCwweDBiLDB4OTAsMHgwNiwweDI0LDB4MDQsMHhiOSwweDA4LDB4MmEsMHg0MCwweDQ4LDB4OTAsMHgxMiwweDIwIH0sCi0gIDE2LCAweGMzODAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4MjQsMHgwMCwweGI5LDB4MTAsMHgyMiwweDQ0IH0sCi0gIDE2LCAweGMzOTAsIDAsIHsweDA4LDB4OTAsMHgwMiwweGU0LDB4MDAsMHg4OSwweDAwLDB4MjIsMHg0NSwweDhiLDB4OTAsMHgwMiwweGE0LDB4MDAsMHg4OSwweDAwIH0sCi0gIDE2LCAweGMzYTAsIDAsIHsweDJhLDB4NDAsMHgwOSwweDkwLDB4MDIsMHhlNCwweDAwLDB4OTksMHg4MCwweDJlLDB4NDAsMHgwYiwweDkwLDB4MjYsMHgyNCwweDAwIH0sCi0gIDE2LCAweGMzYjAsIDAsIHsweGI5LDB4MDEsMHgyMiwweDcwLDB4MDksMHgxMCwweDAyLDB4MDYsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGMzYzAsIDAsIHsweDA4LDB4MDQsMHgwNCwweDA4LDB4YjEsMHgyMCwweDIwLDB4NDAsMHgwYSwweDEwLDB4MDIsMHhjNCwweDgwLDB4ODMsMHgwMCwweDJjIH0sCi0gIDE2LCAweGMzZDAsIDAsIHsweDUwLDB4NGIsMHgxMCwweDAyLDB4MjQsMHgwMCwweDkxLDB4MDAsMHgyZSwweDQwLDB4MDgsMHgxMiwweDAyLDB4YzQsMHg4MSwweDgxIH0sCi0gIDE2LCAweGMzZTAsIDAsIHsweGEyLDB4NmMsMHg0MCwweDBiLDB4MTIsMHgwMiwweDA0LDB4ODAsMHhiOSwweDIwLDB4MmEsMHg0OCwweDI5LDB4MTIsMHgwMiwweDAyIH0sCi0gIDE2LCAweGMzZjAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjEsMHg0MCwweGY4LDB4MDAsMHgzMiwweDgwIH0sCi0gIDE2LCAweGM0MDAsIDAsIHsweDA4LDB4ODAsMHgwMywweGUxLDB4NDIsMHhjOCwweDAwLDB4MzIsMHgwMCwweDFmLDB4ODUsMHgwMywweGExLDB4NDAsMHhjOCwweDUwIH0sCi0gIDE2LCAweGM0MTAsIDAsIHsweDNhLDB4MDAsMHg4ZCwweDg1LDB4MDMsMHg2MSwweDQwLDB4ZDgsMHgwMCwweDNlLDB4MDAsMHgwZiwweDA1LDB4MDMsMHgyMSwweDQwIH0sCi0gIDE2LCAweGM0MjAsIDAsIHsweGY4LDB4NTAsMHgzMiwweDE0LDB4MGQsMHg4NSwweDBiLDB4MmUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGM0MzAsIDAsIHsweDk4LDB4MWQsMHhmNCwweDA0LDB4ZmQsMHgxMCwweDNmLDB4NDAsMHgwZiwweDUwLDB4MDMsMHhjNCwweDQwLDB4ZmQsMHgwMCwweDNmIH0sCi0gIDE2LCAweGM0NDAsIDAsIHsweDUxLDB4MGYsMHhkMCwweDAzLDB4ZjQsMHgwMCwweGZmLDB4MDEsMHgzZCwweDQwLDB4MGYsMHg5MSwweDAzLDB4ZTQsMHg0MCwweGZkIH0sCi0gIDE2LCAweGM0NTAsIDAsIHsweDEwLDB4M2YsMHg0YSwweDBmLDB4OTEsMHgwMywweGU0LDB4NDAsMHhmZCwweDEwLDB4M2YsMHg0NCwweDBlLDB4OTEsMHgwMywweGU2IH0sCi0gIDE2LCAweGM0NjAsIDAsIHsweDAyLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4YzUsMHgwMCwweGNkLDB4MDAsMHgzMSwweDQwIH0sCi0gIDE2LCAweGM0NzAsIDAsIHsweDBkLDB4ZDAsMHg0MywweGU0LDB4MDAsMHhjZCwweDAwLDB4MzMsMHg0MCwweDRmLDB4MTEsMHgwMiwweGU0LDB4MDQsMHhjMSwweDAwIH0sCi0gIDE2LCAweGM0ODAsIDAsIHsweDNkLDB4NDAsMHgwYywweDkwLDB4MDMsMHhlNCwweDAwLDB4ZWQsMHhhNCwweDMyLDB4NTAsMHgwZiwweDkwLDB4MDMsMHhlNCwweDAwIH0sCi0gIDE2LCAweGM0OTAsIDAsIHsweGZkLDB4MDAsMHgzZiwweDQwLDB4MGYsMHg5MCwweDAzLDB4YzYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGM0YTAsIDAsIHsweDM4LDB4MTAsMHhlMiwweDA4LDB4ZDgsMHgwMCwweDMyLDB4MDEsMHgwMCwweDgwLDB4MTIsMHhjMCwweDAwLDB4NDgsMHgwMCwweDM2IH0sCi0gIDE2LCAweGM0YjAsIDAsIHsweDgwLDB4MGIsMHg4YSwweDAyLDB4ZTAsMHgwMCwweGE4LDB4MDAsMHgyZSwweDAwLDB4MGYsMHg4MCwweDAyLDB4ZTAsMHgwMCwweDg4IH0sCi0gIDE2LCAweGM0YzAsIDAsIHsweDUwLDB4MzQsMHgyOCwweDBiLDB4ODAsMHgwMiwweGUwLDB4MDAsMHhiOCwweDAwLDB4MmUsMHgwMCwweDBiLDB4ODAsMHgwMiwweGNlIH0sCi0gIDE2LCAweGM0ZDAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4YzQsMHg4MCwweDgxLDB4MDAsMHgyNiwweDQwIH0sCi0gIDE2LCAweGM0ZTAsIDAsIHsweDA5LDB4MTgsMHgwMiwweGM0LDB4MDgsMHgyMSwweDAwLDB4MjgsMHg0MCwweDhiLDB4MTAsMHgwMiwweGM0LDB4MDAsMHhiMSwweDAxIH0sCi0gIDE2LCAweGM0ZjAsIDAsIHsweDJlLDB4NDAsMHgxOCwweDEwLDB4MDIsMHhjNCwweDAwLDB4YTEsMHgwMSwweDIwLDB4NDgsMHgxYiwweDEwLDB4MDIsMHhjNCwweDAwIH0sCi0gIDE2LCAweGM1MDAsIDAsIHsweGIxLDB4MDAsMHg2YywweDQwLDB4MGIsMHgxMCwweDEyLDB4YzIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGM1MTAsIDAsIHsweDE4LDB4MTEsMHhhNCwweDAwLDB4OTksMHg4MCwweGEyLDB4NDIsMHg0OCwweDkwLDB4MDIsMHhlNCwweDAwLDB4YTksMHgyYSwweDI2IH0sCi0gIDE2LCAweGM1MjAsIDAsIHsweDQ0LDB4MGIsMHg5MCwweDgyLDB4YzQsMHg4MSwweGI5LDB4MDAsMHgyZSwweDQwLDB4MGIsMHg5MCwweDQyLDB4YzQsMHgwMCwweDg5IH0sCi0gIDE2LCAweGM1MzAsIDAsIHsweDAwLDB4MjYsMHg0MCwweDBiLDB4OTAsMHgwMiwweGU0LDB4MDAsMHhiOSwweDAxLDB4MmUsMHg0MSwweDBiLDB4OTAsMHgwMiwweGM2IH0sCi0gIDE2LCAweGM1NDAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4YzUsMHgyMCwweGM5LDB4ODQsMHgzMCwweDcwIH0sCi0gIDE2LCAweGM1NTAsIDAsIHsweDBkLDB4OTAsMHgxMywweGU0LDB4MDIsMHhlOSwweDAwLDB4MzIsMHg3MCwweDBmLDB4OTQsMHgwMywweGU0LDB4MDAsMHhmOSwweDQwIH0sCi0gIDE2LCAweGM1NjAsIDAsIHsweDNjLDB4NDgsMHgwYywweDkwLDB4MDMsMHhlNCwweDAwLDB4ZTEsMHgwMCwweDMyLDB4NDAsMHgwZiwweDkwLDB4MDEsMHhlNCwweDAwIH0sCi0gIDE2LCAweGM1NzAsIDAsIHsweGY5LDB4OTAsMHgzZSwweDYwLDB4MGYsMHg5MCwweDI2LDB4ZTgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGM1ODAsIDAsIHsweDI4LDB4MDEsMHhhNSwweDAwLDB4ZjEsMHgwNCwweDNhLDB4NDQsMHg4ZiwweDkwLDB4MDMsMHhlNCwweDEwLDB4YzksMHgwNCwweDNlIH0sCi0gIDE2LCAweGM1OTAsIDAsIHsweDYwLDB4MGYsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGU5LDB4MjAsMHgzZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4ZTQsMHgxMCwweGY5IH0sCi0gIDE2LCAweGM1YTAsIDAsIHsweDkwLDB4M2UsMHg0MCwweDBmLDB4OTAsMHgwMywweGU0LDB4MDAsMHhmOSwweDgwLDB4M2UsMHg2NCwweDBmLDB4OTAsMHgwNywweGNhIH0sCi0gIDE2LCAweGM1YjAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTEsMHgwMCwweGM4LDB4MDQsMHgzYSwweDAwIH0sCi0gIDE2LCAweGM1YzAsIDAsIHsweDFlLDB4ODAsMHgwMywweDgwLDB4MDMsMHhjOCwweDQwLDB4MmEsMHgwNCwweDFmLDB4ODAsMHgwMywweDIwLDB4MDAsMHg4OCwweDAwIH0sCi0gIDE2LCAweGM1ZDAsIDAsIHsweDMyLDB4MzAsMHgwYywweDgwLDB4MDMsMHgyMCwweDAwLDB4ZjgsMHgwMCwweDNlLDB4MDAsMHgwYywweDgwLDB4MDMsMHhlMCwweDAwIH0sCi0gIDE2LCAweGM1ZTAsIDAsIHsweGM4LDB4ODAsMHgzZSwweDIwLDB4MGYsMHg4MCwweDAzLDB4Y2EsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGM1ZjAsIDAsIHsweDI4LDB4MDUsMHgzOCwweDAwLDB4YWUsMHhkMCwweDM3LDB4ODAsMHgwOCwweGVjLDB4NDYsMHgzOCwweDAwLDB4ZDYsMHgwNCwweDIzIH0sCi0gIDE2LCAweGM2MDAsIDAsIHsweGEwLDB4MGIsMHhhMCwweDQxLDB4NzgsMHgwNCwweGZhLDB4MDAsMHgzNywweDgwLDB4MGQsMHhhMCwweDAyLDB4YTgsMHgxMCwweGVlIH0sCi0gIDE2LCAweGM2MTAsIDAsIHsweDIxLDB4MmUsMHg4MCwweDA4LDB4YTAsMHgwMiwweGU4LDB4MDgsMHg4ZSwweDgwLDB4MmYsMHhhMCwweDhiLDB4YTAsMHgwMiwweGNhIH0sCi0gIDE2LCAweGM2MjAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDAxLDB4NGMsMHgwMiwweDgzLDB4YzAsMHhhOCwweGU4IH0sCi0gIDE2LCAweGM2MzAsIDAsIHsweDRhLDB4MzYsMHgwMiwweDhjLDB4MDAsMHgxMywweGEwLDB4MjgsMHhjMiwweDBiLDB4MzAsMHgwNiwweDBjLDB4MDAsMHhiMywweDAwIH0sCi0gIDE2LCAweGM2NDAsIDAsIHsweDI0LDB4ODQsMHgwOSwweDMwLDB4MDIsMHgwYywweDAwLDB4YjMsMHgyMCwweDI4LDB4YzAsMHgwOSwweDMwLDB4MDIsMHhjYywweDAwIH0sCi0gIDE2LCAweGM2NTAsIDAsIHsweDgzLDB4ODAsMHgyYywweGMwLDB4MGIsMHgzMCwweDAyLDB4Y2EsMHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGM2NjAsIDAsIHsweGEwLDB4MDEsMHgzYywweDQ0LDB4YWYsMHg0MCwweDI1LDB4YzIsMHg0OCwweGY4LDB4ODIsMHgxYywweGM4LDB4OWYsMHgwOCwweDIxIH0sCi0gIDE2LCAweGM2NzAsIDAsIHsweGMwLDB4OGIsMHhmOCwweDAyLDB4NWMsMHgwMCwweGJmLDB4YjAsMHgyNywweDgwLDB4MDksMHgzYSwweDAyLDB4OWMsMHgwMCwweGE1IH0sCi0gIDE2LCAweGM2ODAsIDAsIHsweDAyLDB4MmQsMHhlOCwweDA5LDB4NzAsMHgwMiwweGNlLDB4ODAsMHg4NSwweDA4LDB4MmQsMHhjMiwweDBiLDB4NzMsMHgwMiwweGU4IH0sCi0gIDE2LCAweGM2OTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MWUsMHgwMCwweGM3LDB4ODIsMHhhOSwweGUwIH0sCi0gIDE2LCAweGM2YTAsIDAsIHsweDBhLDB4NzgsMHgwMiwweDllLDB4NDAsMHg5NywweDg0LDB4MzksMHhhMCwweDBiLDB4N2EsMHg4MywweDNmLDB4ODAsMHhkNywweDkxIH0sCi0gIDE2LCAweGM2YjAsIDAsIHsweDM1LDB4YTAsMHgwZCwweDdhLDB4MDksMHgxZSwweDQ0LDB4ZjcsMHg4MCwweDNkLDB4ZTgsMHgyZCwweDdhLDB4MDMsMHhkZSwweDgyIH0sCi0gIDE2LCAweGM2YzAsIDAsIHsweGM2LDB4ODAsMHgzZCwweDIwLDB4NGIsMHg3YiwweDIzLDB4ZWEsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGM2ZDAsIDAsIHsweDA4LDB4MWQsMHhhYywweDAwLDB4ZDMsMHgwMCwweDNlLDB4YzEsMHgwZiwweDMwLDB4MDMsMHhlZCwweDgwLDB4ZTMsMHgwMCwweDNlIH0sCi0gIDE2LCAweGM2ZTAsIDAsIHsweDgwLDB4MGYsMHhiNiwweDIxLDB4ZWMsMHgwOCwweGRiLDB4MjEsMHgzZSwweDgwLDB4MGYsMHhiNSwweDAzLDB4NmMsMHg0MCwweGY5IH0sCi0gIDE2LCAweGM2ZjAsIDAsIHsweDAwLDB4M2UsMHhkYywweDBlLDB4YjIsMHgwMywweGVkLDB4NDAsMHhmOSwweDAyLDB4M2UsMHg4MCwweDBmLDB4YjAsMHgwMywweGMyIH0sCi0gIDE2LCAweGM3MDAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZmUsMHgwMCwweGNmLDB4ODAsMHgzZCwweGUwIH0sCi0gIDE2LCAweGM3MTAsIDAsIHsweDBmLDB4YzgsMHg0MywweGZlLDB4MDAsMHhmZSwweDg0LDB4M2YsMHhlMCwweDBkLDB4ZjgsMHhjMywweGZmLDB4MTAsMHhhZiwweDkwIH0sCi0gIDE2LCAweGM3MjAsIDAsIHsweDM1LDB4YTAsMHgwYywweGZjLDB4MDMsMHgzZSwweDE0LDB4ZWMsMHg4NCwweDNmLDB4ZjAsMHgwZSwweGZjLDB4YzMsMHhmZiwweDA4IH0sCi0gIDE2LCAweGM3MzAsIDAsIHsweDRmLDB4ODAsMHgzMywweGU0LDB4MGMsMHhmOCwweDAzLDB4MDAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGM3NDAsIDAsIHsweGE4LDB4MTEsMHg5YywweDAwLDB4ZDcsMHhhMiwweDJkLDB4YzQsMHgwYywweDQxLDB4YzIsMHhkYywweDAwLDB4NzQsMHgwMCwweDI1IH0sCi0gIDE2LCAweGM3NTAsIDAsIHsweDgwLDB4MGYsMHg3MiwweDQyLDB4ZGMsMHg5MCwweGQ3LDB4MzgsMHgyZCwweDk4LDB4MGEsMHg3MCwweDAyLDB4MWMsMHgwNCwweDg2IH0sCi0gIDE2LCAweGM3NjAsIDAsIHsweDAwLDB4M2YsMHhjMCwweDBkLDB4NzAsMHgwMiwweGNjLDB4MDAsMHg4NiwweDA4LDB4MzcsMHhjNiwweDI4LDB4NzAsMHgwMiwweDJhIH0sCi0gIDE2LCAweGM3NzAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OWMsMHgwMCwweDg3LDB4NjAsMHgyZCwweGMyIH0sCi0gIDE2LCAweGM3ODAsIDAsIHsweDBhLDB4NTAsMHgwMiwweGRjLDB4MDAsMHhiNiwweDEwLDB4MjUsMHhjMiwweDA5LDB4NzAsMHg4NiwweGRjLDB4MzAsMHg5NywweDAwIH0sCi0gIDE2LCAweGM3OTAsIDAsIHsweDI1LDB4ODAsMHgwOCwweDMwLDB4MDIsMHg1YywweDAwLDB4ODcsMHgwOCwweDJkLDB4YzAsMHgwOCwweDcwLDB4MDIsMHhjYywweDQwIH0sCi0gIDE2LCAweGM3YTAsIDAsIHsweDg2LDB4MDAsMHgyMSwweDAwLDB4MDksMHg3MCwweDBhLDB4MDAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGM3YjAsIDAsIHsweDIwLDB4MTQsMHhlZCwweDgwLDB4OTMsMHgwMCwweDBjLDB4ZTEsMHgyOCwweDE4LDB4MDIsMHhjYywweDA4LDB4YTAsMHgwMCwweDI0IH0sCi0gIDE2LCAweGM3YzAsIDAsIHsweDEyLDB4MWEsMHgzNCwweDAyLDB4Y2YsMHgwNCwweDkzLDB4NDAsMHgyYywweDgwLDB4MGEsMHhiMCwweDIyLDB4NGMsMHgwMiwweDgxIH0sCi0gIDE2LCAweGM3ZDAsIDAsIHsweDgwLDB4MjgsMHhlMCwweDI4LDB4MzAsMHgwMiwweGNjLDB4MDAsMHg4OCwweDgyLDB4MjQsMHgyMCwweDA4LDB4YjAsMHgwMiwweDA4IH0sCi0gIDE2LCAweGM3ZTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YmYsMHgyMCwweGM5LDB4ZTAsMHgyYywweGYxIH0sCi0gIDE2LCAweGM3ZjAsIDAsIHsweDBlLDB4YmQsMHgwMywweGZjLDB4MDAsMHhiOSwweDQwLDB4MzYsMHg0MCwweDA5LDB4ZjUsMHgwMiwweGZkLDB4NDAsMHhmZiwweDgwIH0sCi0gIDE2LCAweGM4MDAsIDAsIHsweDM2LDB4YTIsMHgwOCwweGYwLDB4MGIsMHg3YywweDAwLDB4ZWIsMHg4MCwweDJmLDB4ZTAsMHgwYSwweGYwLDB4NDMsMHhmYywweDAyIH0sCi0gIDE2LCAweGM4MTAsIDAsIHsweDhiLDB4ZDAsMHgzMiwweGYwLDB4MGQsMHhmMCwweDAzLDB4MmEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGM4MjAsIDAsIHsweDgwLDB4MDAsMHhlYywweDEwLDB4ZmIsMHgwMCwweDNlLDB4YzgsMHgwZiwweDk0LDB4MTMsMHhlYywweDAwLDB4ZjksMHg0MCwweDM2IH0sCi0gIDE2LCAweGM4MzAsIDAsIHsweDQwLDB4MWYsMHhiMCwweDAzLDB4ZWMsMHgxMCwweGZiLDB4MDEsMHgzZSwweGQwLDB4MGYsMHhiMCwweDAzLDB4YWMsMHgwMCwweGY5IH0sCi0gIDE2LCAweGM4NDAsIDAsIHsweDAwLDB4M2UsMHhjNCwweDBmLDB4YjAsMHgwMSwweGVjLDB4MDAsMHhmOSwweDA0LDB4M2UsMHg0OCwweDBmLDB4YjAsMHgwMywweGUwIH0sCi0gIDE2LCAweGM4NTAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZmMsMHgwMCwweGRmLDB4MDAsMHgzZiwweGMwIH0sCi0gIDE2LCAweGM4NjAsIDAsIHsweDBjLDB4ZTAsMHgwNywweGZjLDB4MDAsMHhmYywweDBhLDB4MjcsMHgwMCwweDRmLDB4ZjAsMHgwMywweGZjLDB4MDAsMHhmZiwweDA4IH0sCi0gIDE2LCAweGM4NzAsIDAsIHsweDMzLDB4ODAsMHgwYywweGYwLDB4MDAsMHgyYywweDAwLDB4NWYsMHgwMCwweDMzLDB4YzAsMHgwYywweGYwLDB4MDEsMHhmYywweDAwIH0sCi0gIDE2LCAweGM4ODAsIDAsIHsweGZlLDB4MDAsMHgyMywweDQwLDB4MGYsMHhiMCwweDAzLDB4MDAsMHg0NCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGM4OTAsIDAsIHsweDgxLDB4MDQsMHg2YywweDAwLDB4OGIsMHg4NiwweDJlLDB4ZTAsMHg0OCwweDhmLDB4MDIsMHhlYywweDA4LDB4YjgsMHhhMCwweDM2IH0sCi0gIDE2LCAweGM4YTAsIDAsIHsweDMwLDB4NGIsMHhiMCwweDAzLDB4YWMsMHgwYywweDliLDB4MDIsMHgzYywweGEwLDB4MGMsMHhiMCwweDQzLDB4NmMsMHgwMCwweGIxIH0sCi0gIDE2LCAweGM4YjAsIDAsIHsweDAwLDB4MjgsMHhjMCwweDBkLDB4YjAsMHgxMiwweGVjLDB4MTAsMHhiOSwweDgwLDB4YTIsMHg2MSwweDBiLDB4YjAsMHgwMiwweDIwIH0sCi0gIDE2LCAweGM4YzAsIDAsIHsweDQwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MmMsMHgwMCwweDliLDB4ODgsMHgyZSwweGUwIH0sCi0gIDE2LCAweGM4ZDAsIDAsIHsweDA4LDB4YTAsMHgwMiwweGVjLDB4MDEsMHhiYiwweDgwLDB4MjYsMHg2MiwweDBiLDB4YjAsMHgwMiwweGVjLDB4MDAsMHhiMywweDAxIH0sCi0gIDE2LCAweGM4ZTAsIDAsIHsweDJhLDB4MjEsMHgwOCwweGIwLDB4MTIsMHgyYywweDAwLDB4YjgsMHgwMCwweDIyLDB4YzAsMHgwOCwweGIwLDB4MTIsMHhlYywweDE0IH0sCi0gIDE2LCAweGM4ZjAsIDAsIHsweGI5LDB4ODQsMHgyMiwweGEyLDB4MGIsMHhiMCwweDAyLDB4YTAsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGM5MDAsIDAsIHsweDA4LDB4MDQsMHgwYywweDA0LDB4OTMsMHgwMCwweDJjLDB4ZTAsMHgwOCwweDAwLDB4MDIsMHhjYywweDA5LDB4OTEsMHgwMCwweDIwIH0sCi0gIDE2LCAweGM5MTAsIDAsIHsweDQwLDB4MGIsMHgzMCwweDA2LDB4NGMsMHgwNCwweDEzLDB4MDAsMHgyNiwweDAwLDB4MDgsMHgzMCwweDAyLDB4Y2MsMHgwNCwweGIyIH0sCi0gIDE2LCAweGM5MjAsIDAsIHsweDAwLDB4MmEsMHhjMCwweDAxLDB4MzAsMHgwMCwweGNkLDB4MDAsMHhiMCwweDAwLDB4MjAsMHg4MCwweDBiLDB4MzAsMHgwYSwweDAyIH0sCi0gIDE2LCAweGM5MzAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4NmMsMHgwMCwweGRiLDB4MjQsMHg2ZSwweGMwIH0sCi0gIDE2LCAweGM5NDAsIDAsIHsweDJjLDB4YTAsMHgwMiwweGZjLDB4MDAsMHhiYSwweDA0LDB4MjYsMHg0MCwweDRmLDB4ZjAsMHg1NywweGZjLDB4MDAsMHgzZiwweDAxIH0sCi0gIDE2LCAweGM5NTAsIDAsIHsweDNhLDB4MDAsMHgyYywweGYwLDB4MDEsMHgzYywweDAwLDB4ZGIsMHgwMCwweDMzLDB4YzAsMHg4NCwweGYwLDB4MDMsMHhmZCwweDA4IH0sCi0gIDE2LCAweGM5NjAsIDAsIHsweGZhLDB4MDAsMHgzMiwweDAwLDB4MGYsMHhmMCwweDAzLDB4MDAsMHgwMSwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGM5NzAsIDAsIHsweGEwLDB4MTksMHhkYywweDAwLDB4ZWEsMHg0MCwweDNmLDB4MDAsMHgwNywweGMwLDB4MDMsMHhmYywweDA0LDB4ZmMsMHgwMCwweDNmIH0sCi0gIDE2LCAweGM5ODAsIDAsIHsweDQwLDB4MGYsMHhmMCwweDAzLDB4OWMsMHgwMCwweGZmLDB4MDAsMHgzZiwweDAwLDB4MGUsMHhmMCwweDAzLDB4N2MsMHgwMCwweGZkIH0sCi0gIDE2LCAweGM5OTAsIDAsIHsweDAwLDB4M2YsMHhjMSwweDBmLDB4ZjAsMHgwMywweGZjLDB4ODQsMHhmNCwweDAwLDB4M2YsMHgwMCwweDBmLDB4ZjAsMHgwMywweGU4IH0sCi0gIDE2LCAweGM5YTAsIDAsIHsweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAxLDB4ZjAsMHg4MCwweGZmLDB4MDAsMHgwMywweGMyIH0sCi0gIDE2LCAweGM5YjAsIDAsIHsweDBmLDB4YzIsMHgwMywweDNlLDB4MDAsMHhkZiwweGMwLDB4M2UsMHhjMCwweDRkLDB4ZGIsMHgwMiwweGIwLDB4YzAsMHhkYywweDMwIH0sCi0gIDE2LCAweGM5YzAsIDAsIHsweDNmLDB4ZTAsMHgwZiwweGRiLDB4MjMsMHhmNiwweDIwLDB4ZmYsMHgyNiwweDMzLDB4ZTAsMHgwZiwweDUyLDB4MDMsMHg1ZSwweDAwIH0sCi0gIDE2LCAweGM5ZDAsIDAsIHsweGZmLDB4ODAsMHgzMywweGMwLDB4NGMsMHg0OSwweDAzLDB4MzAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGM5ZTAsIDAsIHsweDgwLDB4MTAsMHhlMSwweGUwLDB4YjcsMHgwOCwweDIzLDB4ZjAsMHgwYiwweGFkLDB4MGEsMHgyZSwweDAwLDB4OWEsMHgwNCwweDJlIH0sCi0gIDE2LCAweGM5ZjAsIDAsIHsweGIwLDB4MDksMHg4ZiwweDAzLDB4YTAsMHg0MCwweGI5LDB4MzAsMHgyZSwweGEwLDB4MGIsMHg5ZiwweDAzLDB4YTcsMHgwMCwweGJiIH0sCi0gIDE2LCAweGNhMDAsIDAsIHsweDgwLDB4MjYsMHhlMCwweDBiLDB4ZGQsMHgwMiwweDJlLDB4MDAsMHhiYiwweDgwLDB4MjIsMHhmNCwweDBhLDB4OTIsMHgwMiwweGEwIH0sCi0gIDE2LCAweGNhMTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4YzgsMHg4MCwweGIzLDB4MTAsMHgyNCwweGMwIH0sCi0gIDE2LCAweGNhMjAsIDAsIHsweDBiLDB4ODAsMHgwMiwweGFjLDB4MDAsMHhhMywweDI0LDB4MmMsMHhkMCwweDA4LDB4MTAsMHgwNiwweGMwLDB4ODAsMHhiMiwweDAxIH0sCi0gIDE2LCAweGNhMzAsIDAsIHsweDJjLDB4ZWEsMHg0YiwweDAwLDB4MTIsMHhjMiwweDA0LDB4YjMsMHgxMCwweDA4LDB4YzAsMHgwYSwweDkwLDB4MDIsMHgwYywweDAwIH0sCi0gIDE2LCAweGNhNDAsIDAsIHsweDkzLDB4MDQsMHgyNCwweGMwLDB4MDksMHg4MiwweDAyLDB4YTIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGNhNTAsIDAsIHsweGMwLDB4MTUsMHhhNSwweDAwLDB4YmIsMHgwMCwweDIyLDB4YzAsMHgwYiwweDgwLDB4MDIsMHhhYywweDA4LDB4YmIsMHgxOCwweDJlIH0sCi0gIDE2LCAweGNhNjAsIDAsIHsweGUwLDB4MTgsMHg4OCwweDAyLDB4ZWMsMHgwMSwweGJhLDB4MDAsMHgyZSwweDgwLDB4MGIsMHg5OCwweDg2LDB4ZTIsMHgwMCwweGJiIH0sCi0gIDE2LCAweGNhNzAsIDAsIHsweDAwLDB4MjIsMHhjNCwweDBiLDB4OTAsMHgwMiwweDZjLDB4MDAsMHhiYiwweDAwLDB4YTYsMHhjMCwweDBiLDB4OTAsMHgwMCwweGIwIH0sCi0gIDE2LCAweGNhODAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDExLDB4ZTcsMHgwMCwweGZiLDB4MDAsMHhiMiwweGMwIH0sCi0gIDE2LCAweGNhOTAsIDAsIHsweDBmLDB4YTgsMHgwMywweGFjLDB4MDIsMHhlYiwweDAwLDB4M2UsMHg2MCwweDBkLDB4OWUsMHgwMywweGVjLDB4MDAsMHhkOCwweDQwIH0sCi0gIDE2LCAweGNhYTAsIDAsIHsweDNlLDB4NDAsMHgwZiwweDg4LDB4NDMsMHhlMiwweDAwLDB4ZmIsMHgyMCwweDMyLDB4YzAsMHgwZiwweDEwLDB4MGIsMHg2ZiwweDkwIH0sCi0gIDE2LCAweGNhYjAsIDAsIHsweDViLDB4ODIsMHgzNiwweGMwLDB4MmQsMHgwOCwweDAxLDB4OTAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGNhYzAsIDAsIHsweGUwLDB4MDEsMHhiNywweDA4LDB4ZjcsMHgwMCwweDNmLDB4YzAsMHgwZiwweGY5LDB4MDMsMHg3YywweDA4LDB4Y2YsMHg4MiwweDNjIH0sCi0gIDE2LCAweGNhZDAsIDAsIHsweDAwLDB4YWYsMHhkMCwweDIxLDB4YmMsMHgwOCwweGZkLDB4MTAsMHgzZiwweDgwLDB4OGYsMHhjMCwweDAzLDB4YTQsMHgwMCwweGY3IH0sCi0gIDE2LCAweGNhZTAsIDAsIHsweDAxLDB4YmYsMHhjMCwweDA3LDB4ZDAsMHgwMywweGJkLDB4MzAsMHhmZiwweGE0LDB4MzgsMHhjMCwweDBlLDB4ZGEsMHgwMywweGY4IH0sCi0gIDE2LCAweGNhZjAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YTgsMHgwMCwweGZiLDB4MDAsMHhiMiwweGMxIH0sCi0gIDE2LCAweGNiMDAsIDAsIHsweDBlLDB4ODEsMHgwMywweGVjLDB4NDAsMHhmYiwweDQ0LDB4M2EsMHhjMSwweDBlLDB4OTUsMHgwMywweGUwLDB4MDAsMHhjYiwweDQxIH0sCi0gIDE2LCAweGNiMTAsIDAsIHsweDMyLDB4NGQsMHgwZiwweDgxLDB4MDMsMHhlMCwweDIwLDB4YzksMHgwMCwweDcyLDB4ZTgsMHg0NCwweDkxLDB4MDMsMHg2ZCwweDAwIH0sCi0gIDE2LCAweGNiMjAsIDAsIHsweGNiLDB4MDIsMHgzZSwweGMwLDB4MGMsMHg4MCwweDAzLDB4OTAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGNiMzAsIDAsIHsweGM4LDB4MDUsMHgyNCwweDAwLDB4YmYsMHgwMCwweDMzLDB4YzQsMHgwOCwweDFkLDB4MDMsMHg4YywweDAwLDB4YmIsMHg5OCwweDM2IH0sCi0gIDE2LCAweGNiNDAsIDAsIHsweDQ4LDB4NGQsMHg5OCwweDIyLDB4ZWQsMHg0MCwweGRiLDB4MDAsMHgzNiwweGIwLDB4MGIsMHg5OCwweDAyLDB4ZTMsMHgwMCwweGRiIH0sCi0gIDE2LCAweGNiNTAsIDAsIHsweDAwLDB4MzIsMHhlMCwweDg4LDB4ZDgsMHgwMiwweDJjLDB4MDIsMHhjMywweDgwLDB4MmYsMHhjMCwweDA4LDB4OTAsMHgwMywweDcyIH0sCi0gIDE2LCAweGNiNjAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDAxLDB4NDQsMHgwMCwweGIzLDB4MDAsMHgyMCwweGYwIH0sCi0gIDE2LCAweGNiNzAsIDAsIHsweDE4LDB4MDgsMHgwMiwweDRmLDB4ODQsMHhiMSwweGMwLDB4MjQsMHhjMCwweDg5LDB4MDYsMHgwMiwweGM0LDB4MDAsMHg5MSwweDAwIH0sCi0gIDE2LCAweGNiODAsIDAsIHsweDIwLDB4ZjAsMHgxYiwweDE4LDB4ODIsMHhjNiwweDAwLDB4OTMsMHgwMCwweDJjLDB4ZDEsMHgwOCwweDFlLDB4MDIsMHgwZSwweDQ0IH0sCi0gIDE2LCAweGNiOTAsIDAsIHsweDkzLDB4OTQsMHgyYywweGMwLDB4MDgsMHgyMCwweDAyLDB4YjgsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGNiYTAsIDAsIHsweDIwLDB4MDEsMHgxZSwweDA0LDB4YjcsMHg4MCwweDIwLDB4ZTIsMHgwOCwweDY4LDB4MDYsMHg5ZSwweDgwLDB4YmYsMHg4NCwweDI1IH0sCi0gIDE2LCAweGNiYjAsIDAsIHsweGE4LDB4MDksMHg2OCwweDAyLDB4YzYsMHgwMCwweDkzLDB4YTAsMHg2NSwweGU0LDB4MGIsMHg3OCwweDEyLDB4ZGUsMHgwMCwweDkzIH0sCi0gIDE2LCAweGNiYzAsIDAsIHsweDAwLDB4YTEsMHhlMCwweDA4LDB4ZDgsMHgwMiwweDFlLDB4ZDAsMHhhNywweDgwLDB4MmQsMHhlMCwweDA4LDB4ZjgsMHgwMiwweDQ4IH0sCi0gIDE2LCAweGNiZDAsIDAsIHsweDEwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MDgsMHgwMCwweGIzLDB4MjAsMHgzMCwweGMwIH0sCi0gIDE2LCAweGNiZTAsIDAsIHsweDBhLDB4MjIsMHgwMiwweGNlLDB4NDAsMHhmMywweGEwLDB4M2MsMHhlOCwweDBiLDB4MzAsMHgwMiwweGMxLDB4MDAsMHhkMCwweGMxIH0sCi0gIDE2LCAweGNiZjAsIDAsIHsweDMwLDB4YzAsMHgwYiwweDIxLDB4MTMsMHhjYywweDIxLDB4ZDMsMHgwMCwweDJjLDB4YzAsMHgyYywweDEwLDB4MGIsMHgwYywweDgwIH0sCi0gIDE2LCAweGNjMDAsIDAsIHsweGQzLDB4NjEsMHgzYywweGM4LDB4MmMsMHgyMCwweDAzLDB4OTIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGNjMTAsIDAsIHsweDQwLDB4MWQsMHhiYywweDAwLDB4ZmYsMHg0MCwweDNiLDB4YzAsMHgwZiwweGUwLDB4MDMsMHhmYywweDAwLDB4ZjcsMHg1MCwweDdmIH0sCi0gIDE2LCAweGNjMjAsIDAsIHsweGM0LDB4MmUsMHhmMCwweDAzLDB4ZmMsMHg0MCwweGZlLDB4MDAsMHgzZiwweGMwLDB4MGYsMHhmMCwweDQ3LDB4ZmMsMHgwMCwweGZmIH0sCi0gIDE2LCAweGNjMzAsIDAsIHsweDAwLDB4N2QsMHhjMiwweDBmLDB4ZDAsMHgwMSwweGJjLDB4ODAsMHg1ZiwweDAwLDB4M2YsMHhjMCwweDBmLDB4ZjAsMHgwMywweGQwIH0sCi0gIDE2LCAweGNjNDAsIDAsIHsweDAyLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZTQsMHgwMCwweGZiLDB4YzAsMHgzMiwweGM4IH0sCi0gIDE2LCAweGNjNTAsIDAsIHsweDBlLDB4ZTAsMHgwMywweGFjLDB4YTAsMHhlYiwweDIwLDB4MzIsMHg0MCwweDhjLDB4YTAsMHgxMywweDJjLDB4MDAsMHhkOSwweDAwIH0sCi0gIDE2LCAweGNjNjAsIDAsIHsweDNlLDB4NjAsMHgwYywweGIwLDB4MDMsMHhlOCwweDAwLDB4ZmEsMHg4MCwweDMwLDB4YzAsMHgzYywweDkyLDB4MDMsMHhlZiwweDYwIH0sCi0gIDE2LCAweGNjNzAsIDAsIHsweGMzLDB4MjAsMHgzMSwweGM0LDB4MGMsMHhhMCwweDAzLDB4MmEsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGNjODAsIDAsIHsweDQ4LDB4MTEsMHg5YywweDAwLDB4MzMsMHgyMCwweDIxLDB4ZGEsMHgwYiwweDcwLDB4NDMsMHg5YywweDAxLDB4YjUsMHgwMCwweDIxIH0sCi0gIDE2LCAweGNjOTAsIDAsIHsweDAwLDB4MGEsMHhlMCwweDAyLDB4MWMsMHgwMCwweGI3LDB4MDAsMHgyZiwweGMwLDB4MGQsMHg3MCwweDAzLDB4OWMsMHgwMCwweGI2IH0sCi0gIDE2LCAweGNjYTAsIDAsIHsweDAwLDB4MzEsMHhjOCwweDA4LDB4NTcsMHgwMiwweGRjLDB4MDAsMHg4NywweDUwLDB4MjEsMHhjMCwweDBhLDB4NzAsMHg0MiwweDkyIH0sCi0gIDE2LCAweGNjYjAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4OWEsMHgxMSwweGI3LDB4OTAsMHgyMSwweGUwIH0sCi0gIDE2LCAweGNjYzAsIDAsIHsweDBiLDB4NjgsMHg4MiwweGRlLDB4MDgsMHhhNywweDgwLDB4MjQsMHg2MCwweDA4LDB4NzAsMHgxMiwweDEyLDB4MDgsMHg5NSwweDgwIH0sCi0gIDE2LCAweGNjZDAsIDAsIHsweDJkLDB4NjAsMHgwOSwweDZjLDB4MDIsMHhkZSwweDAwLDB4YjEsMHg4MCwweDIzLDB4ZTAsMHgwYSwweDU4LDB4NjIsMHhmZSwweDAwIH0sCi0gIDE2LCAweGNjZTAsIDAsIHsweDk3LDB4YTAsMHgyMSwweGU4LDB4MDksMHhlOCwweDAyLDB4MzAsMHgxMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGNjZjAsIDAsIHsweDQ4LDB4MTQsMHhjZCwweDAwLDB4YjMsMHgwMCwweDIwLDB4YzAsMHg4YiwweDNjLDB4MDIsMHg4YywweDAwLDB4YmIsMHgwMCwweDI0IH0sCi0gIDE2LCAweGNkMDAsIDAsIHsweGM0LDB4MWEsMHgzZCwweDAyLDB4MmYsMHg4OCwweGIzLDB4NDgsMHgyYywweGUwLDB4ODksMHgzZSwweDAyLDB4OGQsMHg4MCwweDkzIH0sCi0gIDE2LCAweGNkMTAsIDAsIHsweGQ5LDB4YTQsMHg0MCwweDg4LDB4MTAsMHgwMiwweGNjLDB4MDQsMHg5MywweGM4LDB4MjAsMHhjMCwweDBiLDB4MzAsMHgwMiwweDkyIH0sCi0gIDE2LCAweGNkMjAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YjksMHg0MCwweGZhLDB4MDAsMHhiMiwweDgwIH0sCi0gIDE2LCAweGNkMzAsIDAsIHsweDBmLDB4ZTAsMHgwMywweGU4LDB4MDAsMHhlYSwweDgwLDB4MzcsMHhhMCwweDBjLDB4ZTgsMHgxMywweDNiLDB4MDgsMHhkZSwweDAxIH0sCi0gIDE2LCAweGNkNDAsIDAsIHsweDNmLDB4ODIsMHgwYywweGUwLDB4NDMsMHhmYSwweDgwLDB4ZmUsMHg4MCwweDMxLDB4MjgsMHgwYywweGEwLDB4MDMsMHhmMCwweDAyIH0sCi0gIDE2LCAweGNkNTAsIDAsIHsweGM0LDB4YzAsMHhiMiwweDgwLDB4MGQsMHhlMCwweDAzLDB4M2EsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGNkNjAsIDAsIHsweDQ4LDB4MDAsMHhlMCwweDAwLDB4ZjgsMHgwMCwweDNlLDB4MTAsMHgwYiwweDgwLDB4ODMsMHhlMCwweDAwLDB4ZjgsMHgzMCwweDNhIH0sCi0gIDE2LCAweGNkNzAsIDAsIHsweDAwLDB4NmQsMHg4MCwweDgzLDB4ZTEsMHg0NCwweGI4LDB4MDQsMHgzZSwweDEwLDB4MGYsMHg4MCwweDEzLDB4ZTAsMHgwMCwweGY4IH0sCi0gIDE2LCAweGNkODAsIDAsIHsweDAwLDB4M2EsMHgxMCwweDRmLDB4MDQsMHgwMywweGUzLDB4MDAsMHhlOCwweDEwLDB4M2UsMHgwMCwweDBlLDB4ODAsMHgwMywweGQyIH0sCi0gIDE2LCAweGNkOTAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTQsMHgwMCwweGM5LDB4MDAsMHgzOCwweDQwIH0sCi0gIDE2LCAweGNkYTAsIDAsIHsweDBmLDB4MWEsMHgwMywweDJlLDB4MDAsMHhmYiwweGEwLDB4MzYsMHg2MCwweDBjLDB4OTgsMHgwMywweGU2LDB4MDQsMHhkMSwweDAwIH0sCi0gIDE2LCAweGNkYjAsIDAsIHsweDM2LDB4NDgsMHgwZSwweDkxLDB4MDIsMHhlNiwweDAwLDB4ZjksMHgwMCwweDNlLDB4MDAsMHgwYywweDk5LDB4MDMsMHg2MiwweDQwIH0sCi0gIDE2LCAweGNkYzAsIDAsIHsweGY4LDB4MDAsMHhhMCwweDY4LDB4MGMsMHg5MCwweDAzLDB4MDIsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGNkZDAsIDAsIHsweDgwLDB4MDQsMHg2NCwweDAyLDB4ODksMHgwNCwweDJlLDB4NjQsMHg4OCwweDk0LDB4MDIsMHhhNSwweDAwLDB4YjksMHg4MCwweDIwIH0sCi0gIDE2LCAweGNkZTAsIDAsIHsweDY0LDB4MGQsMHg5YywweDAyLDB4ZTYsMHg0MiwweDg5LDB4MDAsMHgyMiwweDYwLDB4MGIsMHg5YywweDAyLDB4ZTQsMHgxMCwweGI5IH0sCi0gIDE2LCAweGNkZjAsIDAsIHsweDQwLDB4M2EsMHg1MCwweDA4LDB4OWMsMHgwMiwweDI3LDB4MjAsMHhiOSwweDAwLDB4MjIsMHg0MCwweDA4LDB4MTAsMHgwMywweDYwIH0sCi0gIDE2LCAweGNlMDAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4MDQsMHgwMCwweDg5LDB4MDAsMHgyMiwweDQwIH0sCi0gIDE2LCAweGNlMTAsIDAsIHsweDBhLDB4OTAsMHg4MiwweDI1LDB4NGMsMHhiOSwweDAwLDB4MDIsMHg0MCwweDA4LDB4OTYsMHgwMiwweGU0LDB4MTAsMHg4OSwweDAwIH0sCi0gIDE2LCAweGNlMjAsIDAsIHsweDI2LDB4NTAsMHgxMywweDk0LDB4MDIsMHhlNCwweDQwLDB4YjksMHgwOCwweDJlLDB4NDAsMHgwOCwweDkwLDB4OGEsMHgyNCwweDAwIH0sCi0gIDE2LCAweGNlMzAsIDAsIHsweGI5LDB4MDEsMHgyYSwweDQwLDB4MDgsMHg5MCwweDAyLDB4MDYsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGNlNDAsIDAsIHsweDA4LDB4MDQsMHgwNSwweDgwLDB4ODEsMHg0MCwweDJjLDB4YzgsMHgwOCwweDEwLDB4MDYsMHg4NCwweDAwLDB4YjEsMHgwNCwweDIwIH0sCi0gIDE2LCAweGNlNTAsIDAsIHsweDQ5LDB4MDksMHgxNCwweDQyLDB4Y2MsMHg4OSwweDgxLDB4MjAsMHgyMCwweDUwLDB4MGIsMHgxNCwweDQ2LDB4YzQsMHgwMCwweGIxIH0sCi0gIDE2LCAweGNlNjAsIDAsIHsweDAwLDB4MmEsMHhjMCwweDI4LDB4MTQsMHgwMiwweDAxLDB4MDEsMHhiMCwweDA0LDB4MjgsMHg0MCwweDM4LDB4OTQsMHgwMiwweDQyIH0sCi0gIDE2LCAweGNlNzAsIDAsIHsweDExLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjAsMHgwMCwweDg4LDB4MDAsMHgzYSwweDAwIH0sCi0gIDE2LCAweGNlODAsIDAsIHsweDBlLDB4ODAsMHgyMywweDIwLDB4MDAsMHhmOCwweDUwLDB4YjIsMHgwMCwweDBjLDB4ODAsMHgxMiwweGUxLDB4NDAsMHhkOCwweDUwIH0sCi0gIDE2LCAweGNlOTAsIDAsIHsweDM2LDB4MDAsMHgwZSwweDgwLDB4MDMsMHhlMCwweDAwLDB4ZjgsMHgwMCwweDJlLDB4MDAsMHgwYywweDgwLDB4NTMsMHg2MCwweDA0IH0sCi0gIDE2LCAweGNlYTAsIDAsIHsweGY4LDB4MDAsMHgzYSwweDAwLDB4MGMsMHg4MCwweDAzLDB4MmUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGNlYjAsIDAsIHsweDk4LDB4MWQsMHhmNCwweDQwLDB4ZjksMHg0NCwweDNlLDB4NDQsMHgwZiwweGQ0LDB4MDMsMHhlNCwweDAwLDB4ZjEsMHgwMCwweDNmIH0sCi0gIDE2LCAweGNlYzAsIDAsIHsweDQ0LDB4MGYsMHhkNCwweDUzLDB4ZjQsMHg0NCwweGZkLDB4MTAsMHgyZiwweDQwLDB4MGYsMHhmNCwweDAzLDB4ZmQsMHgwMCwweGZkIH0sCi0gIDE2LCAweGNlZDAsIDAsIHsweDQwLDB4M2IsMHgxMCwweDBmLDB4ZDQsMHgyMywweGQxLDB4MDQsMHg3YywweDQzLDB4MzYsMHg1MCwweDBmLDB4NTAsMHgwMywweGU2IH0sCi0gIDE2LCAweGNlZTAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4YTYsMHgwMCwweGY5LDB4MTAsMHgyZSwweDYyIH0sCi0gIDE2LCAweGNlZjAsIDAsIHsweDBmLDB4ZDIsMHg4MywweGU0LDB4MDAsMHhiZCwweDQyLDB4M2UsMHg2MSwweDBmLDB4ZDAsMHgwMywweGY2LDB4YzAsMHhjOSwweGEyIH0sCi0gIDE2LCAweGNmMDAsIDAsIHsweDJiLDB4NDAsMHgwYywweGQwLDB4MDMsMHgzNCwweDAwLDB4ZjksMHg4MSwweDNlLDB4NjgsMHgwOCwweGMxLDB4NDMsMHhmYSwweDAwIH0sCi0gIDE2LCAweGNmMTAsIDAsIHsweGY1LDB4ODAsMHgzZiwweDYyLDB4MGMsMHgxNCwweDAzLDB4MDYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGNmMjAsIDAsIHsweDM4LDB4MTAsMHhlMSwweDIwLDB4ODgsMHgxMSwweDJlLDB4MTAsMHgwYiwweDgwLDB4MDIsMHhlMCwweDAwLDB4YjgsMHg4MiwweDJlIH0sCi0gIDE2LCAweGNmMzAsIDAsIHsweDEwLDB4MGIsMHg4MCwweDAwLDB4ZTMsMHhjNCwweDg4LDB4ZjAsMHgyMiwweDAwLDB4MGIsMHg4MCwweDBhLDB4MjAsMHgwMCwweGU4IH0sCi0gIDE2LCAweGNmNDAsIDAsIHsweDQwLDB4MmYsMHgxNCwweDA4LDB4ODgsMHgwMiwweGUyLDB4MDAsMHhiOCwweDAwLDB4MmUsMHgwMCwweDA4LDB4ODgsMHgwMiwweDhlIH0sCi0gIDE2LCAweGNmNTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA0LDB4YzUsMHgwMCwweGExLDB4MDAsMHgyYywweDQwIH0sCi0gIDE2LCAweGNmNjAsIDAsIHsweDBiLDB4MTAsMHgwMiwweGM0LDB4MTgsMHhiMSwweDIyLDB4NmMsMHhkMSwweDBiLDB4MTAsMHgyNiwweGM0LDB4MDAsMHg4MSwweDA4IH0sCi0gIDE2LCAweGNmNzAsIDAsIHsweDJhLDB4NDAsMHg4OCwweDEwLDB4MDIsMHgwNCwweDA0LDB4YjUsMHhjMCwweDBmLDB4NDAsMHgwYiwweDAyLDB4MDIsMHg0MSwweGEwIH0sCi0gIDE2LCAweGNmODAsIDAsIHsweGIxLDB4NDAsMHgyYywweDQwLDB4MDgsMHgxMiwweDAyLDB4MDIsMHgxMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGNmOTAsIDAsIHsweDE4LDB4MTUsMHhhNCwweDAwLDB4ODksMHgwNiwweDJlLDB4NDAsMHgwYiwweDkwLDB4MTIsMHhlNCwweDAwLDB4YjksMHg0MCwweDJlIH0sCi0gIDE2LCAweGNmYTAsIDAsIHsweDQwLDB4MGIsMHhiMCwweDgyLDB4YzQsMHgwMiwweDg5LDB4NDQsMHgyMiwweDQwLDB4MGEsMHg5MCwweDAyLDB4MjQsMHgwMCwweGE5IH0sCi0gIDE2LCAweGNmYjAsIDAsIHsweDAwLDB4MjcsMHg0OCwweDA5LDB4YjAsMHgxMiwweGVjLDB4MTgsMHhiOSwweDAxLDB4MmUsMHg0MCwweDQwLDB4OTAsMHgwMiwweDg2IH0sCi0gIDE2LCAweGNmYzAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4ZTcsMHg4NCwweGU5LDB4MDEsMHgzZSwweDQwIH0sCi0gIDE2LCAweGNmZDAsIDAsIHsweDBmLDB4OTAsMHgwMywweGU0LDB4MDAsMHhmOSwweDAwLDB4M2UsMHg3MiwweDBmLDB4OTAsMHgwMywweGU3LDB4NjAsMHg4OSwweDEwIH0sCi0gIDE2LCAweGNmZTAsIDAsIHsweDNhLDB4NDAsMHgwYywweDkwLDB4MDMsMHgyNCwweDAwLDB4ZjksMHg0NCwweDNjLDB4NDAsMHgyZCwweDkwLDB4MDMsMHhlNywweDYwIH0sCi0gIDE2LCAweGNmZjAsIDAsIHsweGY5LDB4NzEsMHgzZSwweDQwLDB4MjgsMHg5MCwweDAzLDB4MjgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQwMDAsIDAsIHsweDI4LDB4MDEsMHhhNCwweDQ4LDB4YTksMHgwMCwweDNlLDB4YzAsMHgwZiwweDlhLDB4NDMsMHhlYywweDAwLDB4ZjksMHgyMCwweDdlIH0sCi0gIDE2LCAweGQwMTAsIDAsIHsweGM4LDB4MGYsMHg5YSwweDA3LDB4NjYsMHgwMCwweDc5LDB4ODAsMHg3ZSwweDQwLDB4MGYsMHgxYywweDAzLDB4ZTcsMHgwMCwweGU5IH0sCi0gIDE2LCAweGQwMjAsIDAsIHsweGEwLDB4M2UsMHg0MCwweDQ2LDB4ODAsMHgwMywweGUwLDB4MjAsMHhmOSwweDAwLDB4M2MsMHg0MCwweDBmLDB4OTAsMHgwMywweGNhIH0sCi0gIDE2LCAweGQwMzAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4ODAsMHgwMCwweGY4LDB4MDAsMHgzYSwweDAwIH0sCi0gIDE2LCAweGQwNDAsIDAsIHsweDBmLDB4ODAsMHgwMywweGEwLDB4MDgsMHhlOCwweDQwLDB4M2EsMHgxMCwweDBjLDB4ODMsMHgwMywweGExLDB4YzAsMHhmMCwweDQwIH0sCi0gIDE2LCAweGQwNTAsIDAsIHsweDNlLDB4MDYsMHgwZiwweDg0LDB4MDMsMHhlMSwweDAwLDB4ZjgsMHgwMCwweDNiLDB4MDAsMHgwZiwweDgxLDB4MDMsMHgyMCwweDAwIH0sCi0gIDE2LCAweGQwNjAsIDAsIHsweGY4LDB4MTAsMHhiMiwweDAwLDB4NGMsMHg4MCwweDBiLDB4MGEsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQwNzAsIDAsIHsweDI4LDB4MDUsMHgyOCwweDAwLDB4YmEsMHgwMCwweDJlLDB4YjAsMHgwYiwweGU4LDB4MDIsMHhlOSwweDAwLDB4M2UsMHg5MCwweDAyIH0sCi0gIDE2LCAweGQwODAsIDAsIHsweDgxLDB4MDgsMHhlNCwweDEyLDB4NzgsMHgwMCwweGJhLDB4MDAsMHgyZCwweGIwLDB4ODksMHhlOCwweDIyLDB4ZjgsMHgwYywweGJhIH0sCi0gIDE2LCAweGQwOTAsIDAsIHsweDAwLDB4NmUsMHg4MCwweDAzLDB4YzUsMHgwMywweDMwLDB4MDAsMHhiYSwweDAwLDB4MjIsMHhhOCwweDA4LDB4YTAsMHgyMiwweDhhIH0sCi0gIDE2LCAweGQwYTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NGMsMHgwMCwweGIzLDB4MDAsMHgyOCwweGU4IH0sCi0gIDE2LCAweGQwYjAsIDAsIHsweDFiLDB4MzEsMHgxMiwweDhjLDB4YzQsMHhhMywweDkyLDB4MmMsMHg0MCwweDg4LDB4MzQsMHgwNiwweDhlLDB4MDAsMHg5MywweDAwIH0sCi0gIDE2LCAweGQwYzAsIDAsIHsweDJjLDB4ZjAsMHgxOSwweDMxLDB4YTIsMHhjYywweDA0LDB4YjMsMHgwMCwweDI4LDB4ODAsMHgwMSwweDM4LDB4MDIsMHg0YywweDAwIH0sCi0gIDE2LCAweGQwZDAsIDAsIHsweGIzLDB4ODAsMHgyMCwweGUwLDB4MGEsMHhiMCwweDEyLDB4MDIsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQwZTAsIDAsIHsweGEwLDB4MDEsMHgxYywweDAwLDB4YjcsMHgxNCwweDJkLDB4NDIsMHgwYiwweDYwLDB4MDIsMHhkYywweDAwLDB4YjcsMHg4MSwweDI3IH0sCi0gIDE2LCAweGQwZjAsIDAsIHsweGUwLDB4MTgsMHg2MCwweDAyLDB4NTgsMHgxOCwweGI3LDB4MjIsMHgyZCwweDgwLDB4MDksMHg3MCwweDIyLDB4ZGMsMHgwMCwweGI3IH0sCi0gIDE2LCAweGQxMDAsIDAsIHsweDAwLDB4MmQsMHg4MCwweDBiLDB4M2IsMHgwMiwweDFkLDB4ZDAsMHhiZiwweDgwLDB4MjgsMHhjMCwweDhhLDB4ZjIsMHgwMiwweGEwIH0sCi0gIDE2LCAweGQxMTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MWYsMHg4MCwweGY3LDB4YTAsMHgzOSwweGUyIH0sCi0gIDE2LCAweGQxMjAsIDAsIHsweDBmLDB4NjgsMHgwMywweDllLDB4MDAsMHhlZCwweDg0LDB4M2QsMHhlMiwweDQ0LDB4NzgsMHgwMywweDllLDB4MDAsMHhmNywweGI0IH0sCi0gIDE2LCAweGQxMzAsIDAsIHsweDJkLDB4ZTAsMHgwZCwweDY4LDB4MDMsMHhkNiwweDAwLDB4ZjYsMHg4MCwweDM5LDB4ZTAsMHgwZiwweDc5LDB4MDMsMHg1ZSwweDkwIH0sCi0gIDE2LCAweGQxNDAsIDAsIHsweGY3LDB4ODEsMHgzMSwweDYwLDB4MmUsMHg3YywweDAzLDB4MmEsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQxNTAsIDAsIHsweDA4LDB4MWQsMHhhZCwweDAwLDB4ZmIsMHg0MiwweDNlLDB4YzgsMHgwZiwweGEwLDB4MDMsMHhlZCwweGEwLDB4YmIsMHgwMCwweDM4IH0sCi0gIDE2LCAweGQxNjAsIDAsIHsweGM4LDB4MGYsMHhiMCwweDAzLDB4NjgsMHgwMCwweGZiLDB4MTEsMHgzZSwweDQwLDB4MDksMHhiMCwweDQxLDB4ZWMsMHgwMCwweGZhIH0sCi0gIDE2LCAweGQxNzAsIDAsIHsweDAyLDB4M2UsMHhjMCwweDBmLDB4YjIsMHgwYiwweGVkLDB4ODAsMHgzYiwweDAwLDB4MzYsMHg0MCwweDBkLDB4YjAsMHgyMywweDQyIH0sCi0gIDE2LCAweGQxODAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZmYsMHgwMCwweGNmLDB4ZDAsMHgzMywweGU0IH0sCi0gIDE2LCAweGQxOTAsIDAsIHsweDRmLDB4ZjksMHgwMywweGRlLDB4NDAsMHhkYywweDgwLDB4MzYsMHhlNCwweDBjLDB4YjksMHgxMywweGZlLDB4MDAsMHhjZiwweDkwIH0sCi0gIDE2LCAweGQxYTAsIDAsIHsweDM3LDB4ZTUsMHgwZiwweGY4LDB4NDMsMHhmZSwweDAwLDB4Y2YsMHg5MiwweDNmLDB4YTQsMHgwZiwweDc4LDB4MDMsMHgxZiwweDAwIH0sCi0gIDE2LCAweGQxYjAsIDAsIHsweGM1LDB4ODAsMHgzMywweDYwLDB4MGMsMHhmOCwweDIwLDB4MDAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQxYzAsIDAsIHsweGE4LDB4MTEsMHhiYywweDAwLDB4MGYsMHgxMCwweDIxLDB4ODEsMHgwYiwweDYwLDB4MDMsMHg4NCwweDAwLDB4OGIsMHgwOCwweDIxIH0sCi0gIDE2LCAweGQxZDAsIDAsIHsweDYwLDB4MGEsMHg3YiwweDAzLDB4OTgsMHgwMCwweDhiLDB4MTAsMHgyOSwweDg0LDB4MGUsMHg2NCwweDIyLDB4ZGMsMHg0MCwweGQ3IH0sCi0gIDE2LCAweGQxZTAsIDAsIHsweDAyLDB4MmQsMHg4NCwweDBiLDB4NzAsMHgwMiwweDFjLDB4MDAsMHg4NSwweDE4LDB4MjEsMHg0MCwweDBhLDB4ZjAsMHgyMiwweGFhIH0sCi0gIDE2LCAweGQxZjAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OWMsMHgwMCwweGE3LDB4MTQsMHg2OSwweGMwIH0sCi0gIDE2LCAweGQyMDAsIDAsIHsweDFhLDB4NjAsMHgxMiwweGZjLDB4MDEsMHhhNCwweDEwLDB4MmQsMHhjMCwweDBhLDB4NTIsMHgwMiwweDQ1LDB4NDAsMHg4NywweDBjIH0sCi0gIDE2LCAweGQyMTAsIDAsIHsweDIxLDB4ODAsMHgxYiwweDYwLDB4ODIsMHhkNCwweDAwLDB4ODYsMHgwMywweDI1LDB4ZTAsMHgxYiwweDcwLDB4MDIsMHg1YywweDQwIH0sCi0gIDE2LCAweGQyMjAsIDAsIHsweDlkLDB4MDAsMHgyOSwweDQwLDB4MDgsMHg3MCwweDAyLDB4MDAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQyMzAsIDAsIHsweDIwLDB4MTQsMHhjZCwweDAwLDB4YTMsMHgwMCwweDI4LDB4YzAsMHgxYiwweDIwLDB4MjIsMHg4YywweDExLDB4YTMsMHgwMCwweDY4IH0sCi0gIDE2LCAweGQyNDAsIDAsIHsweGY2LDB4MGEsMHgzYywweDA2LDB4ODIsMHgwMCwweDgzLDB4ODAsMHgyOCwweDg0LDB4MGEsMHg4YywweDgyLDB4Y2MsMHg0NCwweDkyIH0sCi0gIDE2LCAweGQyNTAsIDAsIHsweDAwLDB4MmMsMHhjMCwweDBiLDB4MzAsMHgwMiwweDRlLDB4MDAsMHg5MSwweDAwLDB4MjgsMHg0MCwweDBhLDB4MzAsMHgwMiwweDg4IH0sCi0gIDE2LCAweGQyNjAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YmUsMHgyMiwweGVmLDB4MDQsMHhiYSwweGMwIH0sCi0gIDE2LCAweGQyNzAsIDAsIHsweDBmLDB4MTQsMHg5MywweGVjLDB4MDIsMHhmMSwweGMzLDB4M2UsMHhmMCwweDBlLDB4OTAsMHg4MywweDY2LDB4MDAsMHhjZiwweGQyIH0sCi0gIDE2LCAweGQyODAsIDAsIHsweDMyLDB4NTAsMHgwZiwweDljLDB4MDMsMHhjYiwweDAwLDB4YzksMHg4MCwweDNlLDB4MjgsMHgwZiwweGIwLDB4MDMsMHg0ZiwweDAwIH0sCi0gIDE2LCAweGQyOTAsIDAsIHsweGQxLDB4YzAsMHhhYSwweGMwLDB4MGMsMHg3MSwweDAzLDB4MmEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQyYTAsIDAsIHsweDgwLDB4MDAsMHhlYywweDIwLDB4ZGIsMHgwMCwweDI2LDB4ODAsMHgwZiwweGEwLDB4MDMsMHhlYywweDA4LDB4MWIsMHgwMCwweDM2IH0sCi0gIDE2LCAweGQyYjAsIDAsIHsweGMwLDB4MGYsMHg4NiwweDAxLDB4ZTUsMHg0MCwweGZiLDB4MDIsMHgzYSwweDQ4LDB4MGUsMHg5NCwweDAzLDB4ZWMsMHg4MCwweGYxIH0sCi0gIDE2LCAweGQyYzAsIDAsIHsweDg0LDB4M2UsMHgwMCwweDRmLDB4YjAsMHgwMywweGFkLDB4YzAsMHhlYiwweDIwLDB4MzYsMHhjMCwweDBmLDB4YjAsMHgyMywweGUwIH0sCi0gIDE2LCAweGQyZDAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZGMsMHgwMCwweGNmLDB4MDAsMHgzZiwweDYwIH0sCi0gIDE2LCAweGQyZTAsIDAsIHsweDBjLDB4ZTAsMHg4MywweDNlLDB4ODAsMHhlZCwweDA4LDB4MzMsMHhkMCwweDhmLDB4NTAsMHgwMywweDllLDB4MDAsMHhkZiwweDAwIH0sCi0gIDE2LCAweGQyZjAsIDAsIHsweDMzLDB4NDAsMHgwYywweGMwLDB4MDMsMHgzMCwweDAwLDB4Y2MsMHgxMCwweDMzLDB4NjgsMHgwYywweGYwLDB4MDMsMHgzYywweDg0IH0sCi0gIDE2LCAweGQzMDAsIDAsIHsweDhkLDB4OTAsMHgzMCwweDQwLDB4MGMsMHhmMCwweDAzLDB4MDgsMHg0NCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQzMTAsIDAsIHsweDgxLDB4MDQsMHg2YywweDAwLDB4OGIsMHgwMiwweDJjLDB4ZjQsMHgwOCwweGE4LDB4NjIsMHgwYywweDgwLDB4OGIsMHg4MCwweDJhIH0sCi0gIDE2LCAweGQzMjAsIDAsIHsweDYwLDB4MGYsMHg5YywweDAyLDB4MmUsMHgwMCwweDhiLDB4MDAsMHgyMCwweDYwLDB4MGQsMHg5OCwweDAyLDB4MmMsMHg4MCwweGQ4IH0sCi0gIDE2LCAweGQzMzAsIDAsIHsweDAwLDB4MTQsMHg0MCwweDA4LDB4MzQsMHgxMiwweDJlLDB4MDAsMHg4YiwweDgyLDB4MzIsMHg0MCwweDBkLDB4YjAsMHgwMywweDYwIH0sCi0gIDE2LCAweGQzNDAsIDAsIHsweDQwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MmMsMHgwMCwweDhiLDB4MDAsMHgyZSwweGQwIH0sCi0gIDE2LCAweGQzNTAsIDAsIHsweDA4LDB4YjgsMHgwMiwweDJjLDB4MDAsMHg4YSwweDg0LDB4MjIsMHhjMCwweDBiLDB4ODgsMHgwMiwweGU0LDB4YTAsMHg4MywweDAwIH0sCi0gIDE2LCAweGQzNjAsIDAsIHsweDIyLDB4NjIsMHgwYSwweDk4LDB4MDIsMHgyOCwweDAwLDB4ODksMHgwMCwweDIyLDB4MDAsMHgwYSwweGIxLDB4MDYsMHgyYywweDAwIH0sCi0gIDE2LCAweGQzNzAsIDAsIHsweGFiLDB4MDAsMHgyMiwweDQwLDB4MDgsMHhiMCwweDAyLDB4NjAsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQzODAsIDAsIHsweDA4LDB4MDQsMHgwYywweDAyLDB4YTMsMHgwMCwweDJjLDB4YzEsMHgwOCwweDIwLDB4MDIsMHgwYywweDAyLDB4OGIsMHgwMCwweDI4IH0sCi0gIDE2LCAweGQzOTAsIDAsIHsweGMyLDB4MGEsMHgwMCwweDAyLDB4NDQsMHgxMCwweDgzLDB4MTAsMHgyMiwweDQwLDB4MGIsMHgxMCwweDA2LDB4MGMsMHgwMCwweDkxIH0sCi0gIDE2LCAweGQzYTAsIDAsIHsweDA0LDB4YWEsMHgwMCwweDI4LDB4MzAsMHgwMiwweDJjLDB4MDAsMHhhMSwweDAxLDB4MjAsMHg0MCwweDA5LDB4YjAsMHgwMiwweDQyIH0sCi0gIDE2LCAweGQzYjAsIDAsIHsweDExLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4N2MsMHgwMCwweDhmLDB4MDAsMHgzZSwweGMwIH0sCi0gIDE2LCAweGQzYzAsIDAsIHsweDJjLDB4YTAsMHgwMywweDI5LDB4NDAsMHhhOCwweDQwLDB4MzIsMHhjYywweDhiLDB4ODAsMHgwMiwweGUwLDB4MDAsMHhjZiwweDQwIH0sCi0gIDE2LCAweGQzZDAsIDAsIHsweDMyLDB4MDAsMHgwZSwweDgwLDB4MGEsMHgyMCwweDAwLDB4ODgsMHgwMCwweDIyLDB4NDAsMHgwYywweGIwLDB4MDMsMHgyYywweDA0IH0sCi0gIDE2LCAweGQzZTAsIDAsIHsweGViLDB4MDAsMHhiMiwweDQwLDB4OGMsMHhiMCwweDAzLDB4NDAsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQzZjAsIDAsIHsweGEwLDB4MWQsMHhmYywweDAwLDB4ZGYsMHgwMCwweDNmLDB4NDAsMHgwZiwweGUwLDB4MDMsMHhmYywweDgwLDB4ZmYsMHgyOCwweDNkIH0sCi0gIDE2LCAweGQ0MDAsIDAsIHsweGMwLDB4MGIsMHhjMSwweDAzLDB4YjAsMHgxNCwweGZmLDB4MDAsMHgzZiwweDAwLDB4MGQsMHhkMCwweDAzLDB4ZGMsMHgwMCwweGZjIH0sCi0gIDE2LCAweGQ0MTAsIDAsIHsweDAwLDB4MzcsMHg0MCwweDBmLDB4ZjAsMHgyMSwweGZjLDB4MDAsMHgxZCwweDAwLDB4N2IsMHg0MCwweDhmLDB4ZjAsMHgwMywweGUwIH0sCi0gIDE2LCAweGQ0MjAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZDIsMHgwMCwweGRmLDB4MDAsMHgzMSwweGEwIH0sCi0gIDE2LCAweGQ0MzAsIDAsIHsweDRkLDB4ZjAsMHg0MywweDMyLDB4MDAsMHhjZSwweDE0LDB4MWIsMHg2OCwweDBlLDB4ZGEsMHgyMywweGIyLDB4YzAsMHgyZiwweDAwIH0sCi0gIDE2LCAweGQ0NDAsIDAsIHsweDNmLDB4YzIsMHgyYywweGU4LDB4MDMsMHgzYywweDQwLDB4ZmQsMHgwOCwweDNiLDB4YzgsMHg0YywweGYwLDB4ODMsMHgzYywweGEwIH0sCi0gIDE2LCAweGQ0NTAsIDAsIHsweGNmLDB4MDAsMHgzMywweGM0LDB4MGMsMHhmMywweDA3LDB4ZjAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQ0NjAsIDAsIHsweDgwLDB4MTAsMHhlMiwweDAwLDB4OGYsMHhjMCwweDIyLDB4YTAsMHgwOCwweGZkLDB4NDIsMHgyZiwweDAwLDB4OGIsMHg3MCwweDIyIH0sCi0gIDE2LCAweGQ0NzAsIDAsIHsweDFlLDB4NDgsMHg4OSwweDAyLDB4MjcsMHhjMCwweDhmLDB4NWEsMHgyZSwweDUwLDB4NDgsMHgzMCwweDAyLDB4YmQsMHhjMCwweGJkIH0sCi0gIDE2LCAweGQ0ODAsIDAsIHsweDQwLDB4MjMsMHhjNSwweDQ4LDB4ZjQsMHg4MiwweDNkLDB4MmMsMHg4NywweDcwLDB4MjIsMHhjMCwweDA4LDB4ZjEsMHgwMywweGUwIH0sCi0gIDE2LCAweGQ0OTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4ZTAsMHgwMCwweDkzLDB4MTAsMHgyNiwweDgxIH0sCi0gIDE2LCAweGQ0YTAsIDAsIHsweDQ5LDB4MzAsMHgwMiwweDgwLDB4NDAsMHg4MywweDIwLDB4MjgsMHg0MCwweDBhLDB4MTAsMHgwMiwweDgwLDB4MDAsMHhhMywweDI0IH0sCi0gIDE2LCAweGQ0YjAsIDAsIHsweDJjLDB4Y2EsMHgwOCwweDMyLDB4ODIsMHgwYywweDAwLDB4OTEsMHgyOCwweDIwLDB4Y2EsMHgxYiwweDMyLDB4MDIsMHgwYywweDg4IH0sCi0gIDE2LCAweGQ0YzAsIDAsIHsweDgzLDB4MDksMHgyMCwweGM4LDB4MDksMHgzMiwweDAyLDB4ZTIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQ0ZDAsIDAsIHsweGMwLDB4MTUsMHhhMywweDE0LDB4OGIsMHgwNCwweDI2LDB4ODksMHgwOCwweGIwLDB4MDIsMHhhYywweDIyLDB4OGIsMHg4OCwweDJhIH0sCi0gIDE2LCAweGQ0ZTAsIDAsIHsweDIwLDB4MDgsMHg5OCwweDgyLDB4YTYsMHgxMCwweGFiLDB4MDAsMHgyZSwweGNhLDB4MDgsMHhiMCwweDgyLDB4YWMsMHgwMCwweGI5IH0sCi0gIDE2LCAweGQ0ZjAsIDAsIHsweDAwLDB4MjIsMHhjMCwweDI5LDB4YjAsMHgwYSwweDJjLDB4MDEsMHg4YiwweDAwLDB4MjIsMHhjMCwweDA5LDB4YjAsMHgyMiwweGYwIH0sCi0gIDE2LCAweGQ1MDAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDE1LDB4ZTMsMHgwMCwweGRiLDB4MDAsMHgzNCwweGUyIH0sCi0gIDE2LCAweGQ1MTAsIDAsIHsweDBkLDB4YjAsMHgwMywweGEzLDB4MDAsMHhjYSwweDgwLDB4YmEsMHg3MCwweDBlLDB4ODgsMHgwMywweGE2LDB4MDAsMHhlYiwweDAwIH0sCi0gIDE2LCAweGQ1MjAsIDAsIHsweDNlLDB4OTAsMHgwYywweGI1LDB4MDMsMHgyYywweDAwLDB4ZmIsMHgxMCwweGJhLDB4YzAsMHgwZSwweGIwLDB4MDMsMHgyYywweDAyIH0sCi0gIDE2LCAweGQ1MzAsIDAsIHsweGNiLDB4MDIsMHgzMiwweGMwLDB4MDksMHhiMCwweDAyLDB4ZDAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQ1NDAsIDAsIHsweGUwLDB4MDEsMHhiMCwweDA4LDB4ZmYsMHgwMCwweGJiLDB4ZTAsMHgwZiwweDcwLDB4MDMsMHg2NSwweDAwLDB4ZjQsMHgwMCwweDM1IH0sCi0gIDE2LCAweGQ1NTAsIDAsIHsweDQwLDB4MGYsMHg0MCwweDAzLDB4NTQsMHgwMCwweGRmLDB4MDAsMHgzZSwweDQwLDB4MGYsMHhmOCwweDAzLDB4ZWMsMHgwMCwweGY3IH0sCi0gIDE2LCAweGQ1NjAsIDAsIHsweDAxLDB4M2QsMHhjMSwweDBlLDB4MzAsMHgwMywweGVjLDB4MDAsMHhmZiwweDAwLDB4M2YsMHhjMCwweDhlLDB4ZjAsMHgwMywweGI4IH0sCi0gIDE2LCAweGQ1NzAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YTAsMHg0MCwweGViLDB4MDgsMHgzZSwweDgwIH0sCi0gIDE2LCAweGQ1ODAsIDAsIHsweDBkLDB4YjAsMHgwMywweGUwLDB4MDAsMHhjOCwweDAwLDB4M2EsMHg1MSwweDBmLDB4ODIsMHgwMywweDY0LDB4MjAsMHhkYiwweDAwIH0sCi0gIDE2LCAweGQ1OTAsIDAsIHsweDNkLDB4ODIsMHgwYywweGJjLDB4MDMsMHgyYywweDEwLDB4ZGIsMHgwMCwweDcyLDB4YzAsMHgwZCwweGIxLDB4MDMsMHgwYywweDIwIH0sCi0gIDE2LCAweGQ1YTAsIDAsIHsweGQzLDB4MDAsMHgzMiwweGMwLDB4MGYsMHhiMCwweDBiLDB4NTAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQ1YjAsIDAsIHsweGM4LDB4MDUsMHgwMSwweDAwLDB4ODcsMHhjMCwweDJlLDB4YTgsMHgwOCwweGYxLDB4MTIsMHhjNSwweDQwLDB4ODgsMHgwMCwweDIyIH0sCi0gIDE2LCAweGQ1YzAsIDAsIHsweDQwLDB4MGIsMHg4NCwweDAyLDB4MjcsMHgwMCwweGFmLDB4MDAsMHgyZSwweGMwLDB4MDgsMHhiYywweDEyLDB4M2MsMHgwMCwweDhiIH0sCi0gIDE2LCAweGQ1ZDAsIDAsIHsweDAxLDB4MjMsMHhjMCwweDI4LDB4ZjUsMHg0YSwweDNkLDB4MjgsMHhkZiwweDAwLDB4MzMsMHhjMCwweDRiLDB4ZjAsMHgwMywweDMyIH0sCi0gIDE2LCAweGQ1ZTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NDgsMHg4MCwweGEzLDB4OTAsMHgyYywweDAwIH0sCi0gIDE2LCAweGQ1ZjAsIDAsIHsweDA4LDB4MzAsMHgwMiwweGMxLDB4MDAsMHg5MiwweDA0LDB4MjgsMHgwMCwweDBiLDB4MTQsMHgxMiwweDQzLDB4MDAsMHhiMywweDA0IH0sCi0gIDE2LCAweGQ2MDAsIDAsIHsweDJjLDB4MzAsMHgwYSwweGIwLDB4MGEsMHg4YywweDAwLDB4OTMsMHgwMCwweDYwLDB4YzAsMHgwOCwweDNjLDB4MDYsMHgwZSwweDAxIH0sCi0gIDE2LCAweGQ2MTAsIDAsIHsweGIzLDB4MDAsMHgyZSwweGMwLDB4OGIsMHgzMCwweDA2LDB4MzgsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQ2MjAsIDAsIHsweDIwLDB4MDEsMHgxMiwweDAwLDB4ODcsMHg4MCwweDJkLDB4MjQsMHgwOCwweDc4LDB4MDIsMHhkMiwweDAwLDB4OTUsMHg4MCwweDIxIH0sCi0gIDE2LCAweGQ2MzAsIDAsIHsweGEwLDB4MGIsMHg2OCwweDAyLDB4NWEsMHgyMCwweDg3LDB4ODAsMHgyZCwweDY2LDB4MWEsMHg3YywweDAyLDB4OWUsMHgwMCwweDg3IH0sCi0gIDE2LCAweGQ2NDAsIDAsIHsweDgwLDB4MjEsMHhlMSwweDE4LDB4NzksMHgwMiwweDllLDB4NDAsMHhiNywweDgwLDB4YTEsMHhlMCwweDBiLDB4NzgsMHgwMiwweDQ4IH0sCi0gIDE2LCAweGQ2NTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MDAsMHgwMCwweGUzLDB4YTAsMHgzYywweDQwIH0sCi0gIDE2LCAweGQ2NjAsIDAsIHsweDBjLDB4MzAsMHgwMywweGM0LDB4MjIsMHhkOSwweDAwLDB4MzgsMHhkNCwweDBmLDB4MzAsMHg4MywweDY4LDB4NDAsMHhmMywweDAwIH0sCi0gIDE2LCAweGQ2NzAsIDAsIHsweDNjLDB4ODAsMHgwYSwweDMyLDB4MDIsMHg4YywweDAwLDB4ZGIsMHgwMCwweGEyLDB4YzQsMHgwYywweDMwLDB4MDMsMHgwYywweDAwIH0sCi0gIDE2LCAweGQ2ODAsIDAsIHsweGYzLDB4MDAsMHgzYywweGMwLDB4MGYsMHhiMSwweDAzLDB4MTIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQ2OTAsIDAsIHsweDQwLDB4MGQsMHhiMCwweDAwLDB4ZmYsMHgxMCwweDNmLDB4NDAsMHgwZSwweGYwLDB4MDMsMHhmYywweDAwLDB4ZWQsMHgwMCwweDNmIH0sCi0gIDE2LCAweGQ2YTAsIDAsIHsweGMwLDB4MGYsMHgzMCwweDEzLDB4YmMsMHg0MCwweDdmLDB4MTAsMHgzZiwweGMxLDB4MmQsMHhmMCwweDAzLDB4N2MsMHgwMCwweGZiIH0sCi0gIDE2LCAweGQ2YjAsIDAsIHsweDQwLDB4M2YsMHhjMiwweDBlLDB4ZjQsMHg4MywweDdjLDB4MDAsMHhkZiwweDAwLDB4M2YsMHhjMiwweDBmLDB4ZjAsMHgwMywweDkwIH0sCi0gIDE2LCAweGQ2YzAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZWMsMHgwMCwweGRiLDB4YTAsMHgzMiwweGMwIH0sCi0gIDE2LCAweGQ2ZDAsIDAsIHsweDBkLDB4YjcsMHgwMywweGUwLDB4MDAsMHhjYSwweDA0LDB4M2UsMHg4MCwweDBmLDB4YjgsMHgwMywweDJjLDB4MTAsMHhmYiwweDAwIH0sCi0gIDE2LCAweGQ2ZTAsIDAsIHsweDMzLDB4MDAsMHg4ZCwweGIwLDB4MDMsMHgyYywweDgwLDB4ZTksMHg0MCwweDNlLDB4ZDIsMHgwZiwweGI0LDB4MDMsMHgyZCwweDgwIH0sCi0gIDE2LCAweGQ2ZjAsIDAsIHsweGViLDB4MjAsMHhiMiwweGMwLDB4MGYsMHhiMiwweDAzLDB4ZWEsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQ3MDAsIDAsIHsweDQ4LDB4MTEsMHg5MCwweDAwLDB4YjcsMHgxMCwweDExLDB4YzAsMHgwOCwweDcwLDB4ODIsMHhkOCwweDBhLDB4ODcsMHgwMSwweDJkIH0sCi0gIDE2LCAweGQ3MTAsIDAsIHsweDgwLDB4ODksMHg3MCwweDAzLDB4ZDgsMHgwOCwweGI3LDB4MGEsMHgyMSwweDQwLDB4MmMsMHg3MCwweDAyLDB4MGQsMHhjMCwweDg1IH0sCi0gIDE2LCAweGQ3MjAsIDAsIHsweDAxLDB4NzksMHhjOCwweDBiLDB4MzIsMHgwMiwweDBkLDB4MjAsMHg4ZiwweDI4LDB4MjEsMHhjMCwweDBiLDB4NzIsMHg4MiwweGQyIH0sCi0gIDE2LCAweGQ3MzAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDQwLDB4OTYsMHgxMCwweDk3LDB4OTAsMHgyMywweGUwIH0sCi0gIDE2LCAweGQ3NDAsIDAsIHsweDA5LDB4N2EsMHgwMiwweGQ2LDB4MDAsMHg5NywweDgwLDB4MmQsMHhmMCwweDBiLDB4NzgsMHg4MiwweDFlLDB4MDAsMHhiMywweGIwIH0sCi0gIDE2LCAweGQ3NTAsIDAsIHsweDIxLDB4YTAsMHgwOCwweDc4LDB4MDIsMHgxZSwweDAwLDB4YTUsMHg4MCwweDJkLDB4ZTAsMHgwYiwweDdhLDB4MDIsMHgxZSwweDgwIH0sCi0gIDE2LCAweGQ3NjAsIDAsIHsweGE3LDB4YjAsMHgyMSwweGU4LDB4MGIsMHg3OSwweDAyLDB4ZjAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQ3NzAsIDAsIHsweDQ4LDB4MTQsMHhjMCwweDAwLDB4YjMsMHgwMCwweDIwLDB4ZTIsMHgwOCwweDMwLDB4MDIsMHhjNiwweDQwLDB4OTMsMHg3MCwweDJjIH0sCi0gIDE2LCAweGQ3ODAsIDAsIHsweGMwLDB4MDksMHgzYywweDAyLDB4OGUsMHgwMCwweGIzLDB4MDAsMHgyMCwweGQ4LDB4MDgsMHgxOCwweDAyLDB4MGMsMHgwMCwweDgxIH0sCi0gIDE2LCAweGQ3OTAsIDAsIHsweDkwLDB4MmUsMHhjMCwweDBiLDB4MzAsMHgyYSwweDJjLDB4MTAsMHg4MywweDAwLDB4YTAsMHhjMCwweDBiLDB4MzAsMHgwMiwweGQyIH0sCi0gIDE2LCAweGQ3YTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDExLDB4YjksMHgwMCwweGRhLDB4MDIsMHgzMywweGI4IH0sCi0gIDE2LCAweGQ3YjAsIDAsIHsweDBkLDB4YTAsMHgwMywweGY4LDB4MDAsMHhkZSwweGMwLDB4M2YsMHhiMCwweDRmLDB4ZWMsMHgwNiwweDM4LDB4NDAsMHhmYSwweDAwIH0sCi0gIDE2LCAweGQ3YzAsIDAsIHsweGIzLDB4OTAsMHgwYywweDZjLDB4MGIsMHgyOCwweDA4LDB4ZWEsMHgwMSwweDdlLDB4ODAsMHgwZiwweGEwLDB4MDMsMHgyOCwweDAwIH0sCi0gIDE2LCAweGQ3ZDAsIDAsIHsweGVhLDB4MDAsMHgzMiwweDgwLDB4MGYsMHhhMCwweDAzLDB4ZmEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQ3ZTAsIDAsIHsweDQ4LDB4MDAsMHhlMCwweDAwLDB4ZjgsMHg0MCwweDNhLDB4MDAsMHgwZiwweDg0LDB4MDMsMHhlMSwweDAwLDB4ZTgsMHgwMiwweDNlIH0sCi0gIDE2LCAweGQ3ZjAsIDAsIHsweDAwLDB4MGYsMHg4NCwweDAzLDB4ZTEsMHg0MCwweGY4LDB4MDAsMHgzZSwweDAwLDB4MGYsMHg4MSwweDAzLDB4ZTAsMHgwMCwweGY4IH0sCi0gIDE2LCAweGQ4MDAsIDAsIHsweDAwLDB4M2EsMHgwMCwweDBmLDB4ODAsMHgwMywweGUwLDB4MDAsMHhmOCwweDAwLDB4M2UsMHgwMCwweDBmLDB4ODAsMHgwMywweGQyIH0sCi0gIDE2LCAweGQ4MTAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTQsMHgyMCwweGY5LDB4YzAsMHgzZSwweDcwIH0sCi0gIDE2LCAweGQ4MjAsIDAsIHsweDBlLDB4OTAsMHgwMiwweGU0LDB4ODAsMHhjOSwweDAwLDB4MzIsMHg0MiwweDBjLDB4OTgsMHg4MywweGE0LDB4ODQsMHhmOSwweDAwIH0sCi0gIDE2LCAweGQ4MzAsIDAsIHsweGIyLDB4NjAsMHgwYywweDkwLDB4ODMsMHgyNCwweDAwLDB4YzksMHgwMCwweDNlLDB4NDAsMHgwYywweDFhLDB4MDIsMHgyNCwweDAwIH0sCi0gIDE2LCAweGQ4NDAsIDAsIHsweGMxLDB4MDAsMHhiMiwweDQwLDB4MGYsMHg5MCwweDAxLDB4YzIsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQ4NTAsIDAsIHsweDgwLDB4MDQsMHg2NSwweDAwLDB4YjksMHg4MSwweDJjLDB4NjAsMHgwZCwweDk0LDB4YzIsMHhjNywweDA4LDB4ODksMHgwMCwweDIyIH0sCi0gIDE2LCAweGQ4NjAsIDAsIHsweDQwLDB4MDgsMHg5NSwweGM3LDB4YTQsMHgwMCwweGI5LDB4MDAsMHgyOCwweDcwLDB4YTgsMHg5NCwweDBhLDB4MjQsMHgwMCwweDg5IH0sCi0gIDE2LCAweGQ4NzAsIDAsIHsweDA0LDB4MmUsMHg0MCwweDI4LDB4OTAsMHgyYSwweDI2LDB4MDAsMHg4OSwweDAwLDB4MjIsMHg0MCwweDBiLDB4OTAsMHgwMiwweGUwIH0sCi0gIDE2LCAweGQ4ODAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4MjQsMHgwMCwweGI5LDB4NDAsMHgyZSwweDQwIH0sCi0gIDE2LCAweGQ4OTAsIDAsIHsweDBhLDB4OTAsMHgwMiwweGU1LDB4MDAsMHg4MSwweDAwLDB4YTAsMHg0MCwweDA5LDB4OTAsMHg0MiwweGVjLDB4MDAsMHhiMSwweDAwIH0sCi0gIDE2LCAweGQ4YTAsIDAsIHsweDIyLDB4NTgsMHgwOCwweDkwLDB4YTIsMHgwNCwweDAyLDB4ODksMHgwMCwweDJlLDB4NDAsMHgwOCwweDkwLDB4MDIsMHhhNCwweGEwIH0sCi0gIDE2LCAweGQ4YjAsIDAsIHsweDg5LDB4MDAsMHgyMiwweDQwLDB4MGIsMHg5MCwweDAyLDB4YzYsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQ4YzAsIDAsIHsweDA4LDB4MDQsMHgwNCwweDAwLDB4YjEsMHgyMCwweDJlLDB4YzAsMHg4OSwweDEyLDB4MDIsMHhjNCwweDgwLDB4ODEsMHgyMCwweDIwIH0sCi0gIDE2LCAweGQ4ZDAsIDAsIHsweDQwLDB4NjEsMHgxMCwweDQyLDB4YzUsMHgwMCwweGIxLDB4MjAsMHgyOCwweDQ4LDB4MTgsMHg5MCwweDQyLDB4MDQsMHg4MCwweDgxIH0sCi0gIDE2LCAweGQ4ZTAsIDAsIHsweDI4LDB4MmMsMHg0OCwweDA4LDB4MTIsMHg4MiwweDg0LDB4YTAsMHg4MSwweDIwLDB4MjAsMHg0OCwweDBiLDB4MTIsMHg4MiwweGMyIH0sCi0gIDE2LCAweGQ4ZjAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjgsMHgwMCwweGY4LDB4MDAsMHgyZSwweDAwIH0sCi0gIDE2LCAweGQ5MDAsIDAsIHsweDBlLDB4ODAsMHgwMywweGUwLDB4MDgsMHhjOCwweDUwLDB4MzIsMHgxNCwweDBkLDB4ODAsMHgxNywweGU4LDB4MDQsMHhmOCwweDUwIH0sCi0gIDE2LCAweGQ5MTAsIDAsIHsweDMyLDB4MTQsMHg0YywweDA1LDB4MGIsMHgyMSwweDQwLDB4YzgsMHgyMCwweDNlLDB4MDAsMHgwYywweDg3LDB4MDMsMHhhMSwweGMyIH0sCi0gIDE2LCAweGQ5MjAsIDAsIHsweGM4LDB4MDAsMHgzMiwweDE0LDB4OGYsMHg4MiwweDAzLDB4ZWUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQ5MzAsIDAsIHsweDk4LDB4MWQsMHhmNCwweDAwLDB4ZjEsMHgxMCwweDNkLDB4NDAsMHgwZiwweDkxLDB4MDIsMHhkNCwweDQyLDB4ZmQsMHgxMCwweDNmIH0sCi0gIDE2LCAweGQ5NDAsIDAsIHsweDUxLDB4MGUsMHg1NCwweDEzLDB4YjUsMHgwMCwweGY5LDB4MTAsMHgzNSwweDQ0LDB4MmYsMHhkMCwweDAzLDB4ZTQsMHg1MCwweGZkIH0sCi0gIDE2LCAweGQ5NTAsIDAsIHsweDI4LDB4M2UsMHg0ZSwweDBmLDB4OTAsMHgwMywweDY0LDB4MDAsMHhmOSwweDM4LDB4M2UsMHg0NCwweDBmLDB4OTIsMHg4MywweGU2IH0sCi0gIDE2LCAweGQ5NjAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDE1LDB4ZjQsMHgwMCwweGZkLDB4MDAsMHgzZCwweDQwIH0sCi0gIDE2LCAweGQ5NzAsIDAsIHsweDJjLDB4ZDAsMHgwMywweGI2LDB4MDAsMHhmOSwweDgyLDB4M2UsMHg0MCwweDBjLDB4ZDAsMHgwMywweGY0LDB4MDAsMHhmOSwweDgwIH0sCi0gIDE2LCAweGQ5ODAsIDAsIHsweDMzLDB4NzAsMHgwYywweDUwLDB4MDMsMHgzNCwweDAwLDB4YzksMHhjMCwweDNlLDB4NDAsMHgwYywweGRhLDB4MDMsMHgxNiwweDgwIH0sCi0gIDE2LCAweGQ5OTAsIDAsIHsweGM5LDB4NDAsMHgzZSwweDYyLDB4MmMsMHg5OCwweDgzLDB4MDYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQ5YTAsIDAsIHsweDM4LDB4MTAsMHhlMCwweDAwLDB4YjgsMHgwMCwweDJlLDB4MDAsMHgwOCwweDgwLDB4MDIsMHgyOCwweDAwLDB4YjgsMHg1MCwweDI2IH0sCi0gIDE2LCAweGQ5YjAsIDAsIHsweDAwLDB4MDgsMHhhMCwweDAyLDB4ZTgsMHgwMCwweGI4LDB4MDAsMHgyYSwweDM0LDB4MmEsMHhhYSwweDBhLDB4MjAsMHgwMCwweDg4IH0sCi0gIDE2LCAweGQ5YzAsIDAsIHsweGMwLDB4MmUsMHgyYSwweDA4LDB4ODAsMHgyMiwweDIxLDB4MDAsMHhhOCwweDgwLDB4MmUsMHgwMCwweDA4LDB4ODAsMHgwMiwweDBlIH0sCi0gIDE2LCAweGQ5ZDAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4YzQsMHgwMCwweGIxLDB4MDAsMHgyZSwweDQwIH0sCi0gIDE2LCAweGQ5ZTAsIDAsIHsweDQ4LDB4MTAsMHgwNiwweDhkLDB4MDAsMHhiMSwweDAwLDB4MmMsMHg0MCwweDI4LDB4MTAsMHgwMiwweGM0LDB4MDAsMHhiMSwweDQwIH0sCi0gIDE2LCAweGQ5ZjAsIDAsIHsweDJjLDB4NDgsMHgwOCwweDEwLDB4ODIsMHg0NCwweDAwLDB4ODEsMHg2MCwweDJjLDB4NDAsMHgyOCwweDE0LDB4MGEsMHgwNCwweDQwIH0sCi0gIDE2LCAweGRhMDAsIDAsIHsweDgxLDB4MjAsMHgyYywweDQwLDB4MDgsMHgxMCwweDAyLDB4MDIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGRhMTAsIDAsIHsweDE4LDB4MDUsMHhhNCwweDQwLDB4YjksMHgwMCwweDJlLDB4NDAsMHgwOCwweGIwLDB4MDIsMHgyNCwweDAwLDB4YjksMHgyOCwweDJlIH0sCi0gIDE2LCAweGRhMjAsIDAsIHsweDUwLDB4MDgsMHg5MCwweDIyLDB4ZTQsMHgwMCwweGI5LDB4MDAsMHgyZSwweDYwLDB4MGIsMHgxMiwweDQyLDB4NjQsMHgwMCwweDg5IH0sCi0gIDE2LCAweGRhMzAsIDAsIHsweDAwLDB4MmMsMHg0MCwweDA5LDB4OTAsMHgwMiwweDI0LDB4MDAsMHhhOSwweDAwLDB4MmMsMHg0MCwweDA4LDB4MTAsMHgwMiwweDQ2IH0sCi0gIDE2LCAweGRhNDAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDA1LDB4ZTYsMHgwMCwweGY5LDB4MDAsMHgzYywweDQyIH0sCi0gIDE2LCAweGRhNTAsIDAsIHsweDBjLDB4OTAsMHgwMywweGE3LDB4NDAsMHhmOSwweDQwLDB4M2UsMHg3MCwweDBjLDB4OTgsMHgwMiwweGU1LDB4NDAsMHhmOSwweDAwIH0sCi0gIDE2LCAweGRhNjAsIDAsIHsweDNlLDB4NDAsMHgwYywweDk4LDB4MDMsMHg2NCwweDA2LDB4YzksMHgwMSwweDJlLDB4NDAsMHgwYywweDkwLDB4MDMsMHgyNCwweDA0IH0sCi0gIDE2LCAweGRhNzAsIDAsIHsweGM5LDB4MDAsMHgzZSwweDQwLDB4MGMsMHg5MCwweDBiLDB4MjgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGRhODAsIDAsIHsweDI4LDB4MDEsMHhhNCwweDAwLDB4ZjksMHgwMCwweDNlLDB4NDAsMHgwZiwweDkwLDB4ODMsMHhlNiwweDEwLDB4ZjksMHgwMCwweDM2IH0sCi0gIDE2LCAweGRhOTAsIDAsIHsweDY4LDB4MGYsMHg5YywweDAzLDB4ZTYsMHgwMCwweGY5LDB4MDAsMHgzYSwweDQwLDB4MGUsMHg5OCwweDkzLDB4YTQsMHgwMCwweGY5IH0sCi0gIDE2LCAweGRhYTAsIDAsIHsweDAwLDB4M2UsMHg0MCwweDBlLDB4OTAsMHg4MywweGM0LDB4MDAsMHhmOSwweDAwLDB4M2UsMHg0MCwweDBmLDB4OTAsMHgwMywweDhhIH0sCi0gIDE2LCAweGRhYjAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDAwLDB4YTAsMHgwMCwweGY4LDB4MDAsMHgzZSwweDA0IH0sCi0gIDE2LCAweGRhYzAsIDAsIHsweDBjLDB4ODAsMHgwMywweDIxLDB4MDIsMHhjOCwweDQwLDB4MzIsMHgwMCwweDBmLDB4ODAsMHgwMywweGUxLDB4MDAsMHhmMCwweDAwIH0sCi0gIDE2LCAweGRhZDAsIDAsIHsweDNlLDB4MDIsMHgwYywweDgwLDB4MDMsMHgyMCwweDAwLDB4ZjgsMHgwMCwweDNlLDB4MDAsMHgwYywweDAwLDB4MDMsMHgyMCwweDAwIH0sCi0gIDE2LCAweGRhZTAsIDAsIHsweGM4LDB4MDAsMHgzMiwweDAwLDB4MGYsMHg4MCwweDAzLDB4MGEsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGRhZjAsIDAsIHsweDI4LDB4MTUsMHgzYSwweDAwLDB4YmUsMHgwMiwweDJmLDB4YjAsMHgwOCwweDY4LDB4MTIsMHgzOCwweDAwLDB4OGEsMHgwNCwweDJhIH0sCi0gIDE2LCAweGRiMDAsIDAsIHsweDgwLDB4MGIsMHhlMCwweDQyLDB4ZmIsMHgyMCwweGJhLDB4MDAsMHgyZiwweDkxLDB4MDgsMHhlMCwweDAyLDB4MjgsMHgwMCwweGJhIH0sCi0gIDE2LCAweGRiMTAsIDAsIHsweDAwLDB4MjYsMHg4MCwweDA4LDB4ZWUsMHgwYSwweDM4LDB4MDAsMHg4YSwweDAwLDB4MjIsMHg4MCwweDBiLDB4YTAsMHgwMiwweDhhIH0sCi0gIDE2LCAweGRiMjAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NDIsMHgwMCwweGIzLDB4MDAsMHgyYywweGMyIH0sCi0gIDE2LCAweGRiMzAsIDAsIHsweDI4LDB4MzgsMHgwYSwweDQ4LDB4MDAsMHg4MywweDA0LDB4MjIsMHhjMCwweDBiLDB4MTAsMHgwMiwweGNkLDB4ODAsMHhiMywweDAwIH0sCi0gIDE2LCAweGRiNDAsIDAsIHsweDJlLDB4YzAsMHgwOCwweDFjLDB4MDIsMHgyNCwweDAwLDB4YjMsMHgwMCwweDJjLDB4YzAsMHgwOCwweDM0LDB4MTIsMHgwZSwweDQwIH0sCi0gIDE2LCAweGRiNTAsIDAsIHsweDgzLDB4MDAsMHgyMCwweGMwLDB4MGIsMHgzMCwweDEyLDB4MGEsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGRiNjAsIDAsIHsweGEwLDB4MDEsMHgxMSwweDAwLDB4YjcsMHgwMCwweDJmLDB4YzAsMHgwOCwweDcwLDB4YTIsMHg0ZSwweDAwLDB4OGYsMHhiMCwweDIxIH0sCi0gIDE2LCAweGRiNzAsIDAsIHsweGNjLDB4MGIsMHg2MCwweDEyLDB4ZGMsMHgxMCwweGI3LDB4MzAsMHgyZCwweGMwLDB4MDgsMHhkMCwweDgyLDB4MTQsMHg4MCwweGI3IH0sCi0gIDE2LCAweGRiODAsIDAsIHsweDEyLDB4MjUsMHhjOCwweDI4LDB4NjAsMHgwMiwweDE0LDB4MDAsMHg4NywweGIyLDB4MjEsMHhjYywweDBiLDB4MzEsMHgwMiwweGE4IH0sCi0gIDE2LCAweGRiOTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MTIsMHgwMCwweGY3LDB4ODAsMHgzZCwweGUwIH0sCi0gIDE2LCAweGRiYTAsIDAsIHsweDBjLDB4MzgsMHgwMywweDU2LDB4MDAsMHhjNywweDkwLDB4YjEsMHhlNCwweDBmLDB4NzgsMHgwMywweGRlLDB4MDAsMHhmNywweDkwIH0sCi0gIDE2LCAweGRiYjAsIDAsIHsweDFmLDB4NjAsMHgyYywweDQ4LDB4MGIsMHgxNiwweGEwLDB4ZjcsMHg4MCwweDNjLDB4ZjQsMHgwYywweDM4LDB4MDMsMHgxZSwweDAwIH0sCi0gIDE2LCAweGRiYzAsIDAsIHsweGNmLDB4YTAsMHhiMSwweGU4LDB4MGYsMHg3YiwweDAzLDB4MmEsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGRiZDAsIDAsIHsweDA4LDB4MGQsMHhhMCwweDAwLDB4ZjgsMHgwMCwweDNlLDB4YzAsMHgwYiwweGIwLDB4MDMsMHhhYywweDAwLDB4ZjMsMHgyMSwweDNlIH0sCi0gIDE2LCAweGRiZTAsIDAsIHsweGM4LDB4MDcsMHhiMCwweDAyLDB4ZTQsMHgwMCwweGZiLDB4MjAsMHgzZiwweDQwLDB4MGYsMHg4MCwweDAzLDB4ZTQsMHg4MCwweGZiIH0sCi0gIDE2LCAweGRiZjAsIDAsIHsweDAwLDB4MzYsMHhkMCwweDBmLDB4YTAsMHgwMywweGUwLDB4MDgsMHhmYiwweDQyLDB4M2UsMHhkOCwweDBmLDB4YjAsMHgwMywweGMyIH0sCi0gIDE2LCAweGRjMDAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZjAsMHg4MCwweGNmLDB4ODAsMHgzMSwweGUxIH0sCi0gIDE2LCAweGRjMTAsIDAsIHsweDBjLDB4ZjgsMHgwMywweGRhLDB4MTAsMHhlZiwweDgwLDB4M2YsMHhlNCwweDBmLDB4ZDgsMHgwMywweGZlLDB4MTAsMHhmZiwweDgyIH0sCi0gIDE2LCAweGRjMjAsIDAsIHsweDNmLDB4ZTAsMHg0YywweGQ4LDB4MWIsMHgxNiwweDIwLDB4Y2YsMHg4MCwweDNmLDB4ZTAsMHg0YywweGQ4LDB4MzAsMHhlZSwweDQwIH0sCi0gIDE2LCAweGRjMzAsIDAsIHsweGZmLDB4YzAsMHhiMywweGY0LDB4MGYsMHhmOCwweDAzLDB4YzAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGRjNDAsIDAsIHsweGE4LDB4MDEsMHg5OCwweDIwLDB4ODMsMHg0MCwweDIxLDB4YzAsMHgwOCwweDcxLDB4MDIsMHhkYywweDg0LDB4ODcsMHgyMCwweDJkIH0sCi0gIDE2LCAweGRjNTAsIDAsIHsweGMwLDB4MGIsMHg2MCwweDAyLDB4ZDksMHg2MCwweGY3LDB4MDAsMHgyZCwweGMwLDB4MDgsMHhmMCwweDgyLDB4MTQsMHgwNCwweDg3IH0sCi0gIDE2LCAweGRjNjAsIDAsIHsweDAwLDB4MmQsMHhjMCwweDA4LDB4ZjAsMHgwMywweDFlLDB4MDAsMHhiNywweDIwLDB4MjEsMHhjMCwweDhiLDB4NzAsMHgwMiwweGVhIH0sCi0gIDE2LCAweGRjNzAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjAsMHgwMCwweDg3LDB4MDAsMHgyMSwweDgwIH0sCi0gIDE2LCAweGRjODAsIDAsIHsweDA4LDB4NzAsMHgwMiwweGY1LDB4MDQsMHgyNywweDAwLDB4MmQsMHhjMCwweDhiLDB4NzAsMHgwMiwweGRjLDB4MDAsMHhiNywweDAwIH0sCi0gIDE2LCAweGRjOTAsIDAsIHsweDJjLDB4NTAsMHgwOCwweDQwLDB4MDIsMHgxNCwweDAwLDB4ODcsMHgwMCwweDJkLDB4YzAsMHgwOCwweDUwLDB4MDIsMHg1YywweDA0IH0sCi0gIDE2LCAweGRjYTAsIDAsIHsweGI3LDB4MDAsMHhhMSwweGMwLDB4OGIsMHg3MCwweDAyLDB4YzAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGRjYjAsIDAsIHsweDIwLDB4MTQsMHhjOCwweDAwLDB4ODAsMHgwMCwweDAwLDB4ODAsMHgwOCwweDMwLDB4MDIsMHhjZSwweDAwLDB4ODMsMHhjMCwweDJjIH0sCi0gIDE2LCAweGRjYzAsIDAsIHsweGQwLDB4NGIsMHgzMCwweDAyLDB4Y2UsMHgwMCwweGFiLDB4MDIsMHgyYywweDQwLDB4NDgsMHhiYywweDAyLDB4MDQsMHgwMCwweDgzIH0sCi0gIDE2LCAweGRjZDAsIDAsIHsweDAwLDB4MmMsMHhjMCwweDA4LDB4MTAsMHgwMiwweDAwLDB4MDgsMHhiMywweDAwLDB4MjAsMHhjMCwweDA5LDB4MzAsMHgwMiwweGM4IH0sCi0gIDE2LCAweGRjZTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4ODMsMHg0MCwweGM4LDB4MDAsMHgzMCwweGMwIH0sCi0gIDE2LCAweGRjZjAsIDAsIHsweDJjLDB4YjAsMHgwMywweGVjLDB4MDAsMHhlZiwweDg4LDB4M2YsMHhlNiwweDA3LDB4YjEsMHg4MywweGUxLDB4MDAsMHhiZiwweDAwIH0sCi0gIDE2LCAweGRkMDAsIDAsIHsweDNlLDB4ZTAsMHgwYywweGI4LDB4MDMsMHgzNCwweDAwLDB4Y2YsMHgwMCwweDNmLDB4YzAsMHgyYywweGIwLDB4MDMsMHg2OCwweDEwIH0sCi0gIDE2LCAweGRkMTAsIDAsIHsweGZmLDB4MDAsMHgzMywweGMwLDB4MGYsMHhmMCwweDAzLDB4ZWEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGRkMjAsIDAsIHsweDgwLDB4MDAsMHhlNCwweDAwLDB4ZjEsMHg0MCwweDNlLDB4YzAsMHgwZiwweGI0LDB4MDMsMHhlZCwweDQwLDB4ZmIsMHgwOCwweDNlIH0sCi0gIDE2LCAweGRkMzAsIDAsIHsweGMwLDB4MGYsMHhhMCwweDAzLDB4ZTUsMHgyMCwweGZiLDB4MDAsMHgzZSwweGUwLDB4MGQsMHhiMCwweDgzLDB4ZTQsMHgwMCwweGYzIH0sCi0gIDE2LCAweGRkNDAsIDAsIHsweDAwLDB4M2UsMHhjMCwweDBmLDB4ODAsMHgwMywweGM0LDB4MDAsMHhmYiwweDAwLDB4M2UsMHhjMCwweDBmLDB4MzAsMHgwMywweGUwIH0sCi0gIDE2LCAweGRkNTAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZjAsMHgwMCwweGNhLDB4MDAsMHgzMywweGUwIH0sCi0gIDE2LCAweGRkNjAsIDAsIHsweDRlLDB4ZjAsMHgwMywweDM0LDB4MDAsMHhmZiwweDAwLDB4M2YsMHhjMCwweDhmLDB4ZTgsMHgwMywweGYwLDB4MDAsMHhmZiwweDAwIH0sCi0gIDE2LCAweGRkNzAsIDAsIHsweGIxLDB4NDAsMHgwYywweGUwLDB4MDMsMHgzNCwweDAwLDB4ZWYsMHgwMCwweGIzLDB4YzAsMHgwYywweGYwLDB4MDMsMHgzOCwweDAwIH0sCi0gIDE2LCAweGRkODAsIDAsIHsweGNmLDB4MDAsMHgzZCwweGMwLDB4MGEsMHhmMCwweDAzLDB4MDAsMHg0NCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGRkOTAsIDAsIHsweDgxLDB4MDQsMHg2MiwweDIyLDB4ODgsMHg5MCwweDIyLDB4ZTAsMHgwOCwweDNjLDB4MDIsMHgyZSwweDA4LDB4YmIsMHgwMSwweDJlIH0sCi0gIDE2LCAweGRkYTAsIDAsIHsweGMwLDB4MGIsMHhhMCwweDAyLDB4NjYsMHgwMCwweGJiLDB4MDAsMHgyMiwweGEwLDB4MDgsMHhhOSwweDAyLDB4MjQsMHgwMCwweGJiIH0sCi0gIDE2LCAweGRkYjAsIDAsIHsweDAwLDB4MjIsMHhjMCwweDI4LDB4MmMsMHgwMiwweGEyLDB4MDAsMHhkYiwweDAwLDB4MmUsMHhjMCwweDBhLDB4YjAsMHgwMiwweGEwIH0sCi0gIDE2LCAweGRkYzAsIDAsIHsweDQwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MjIsMHgwMCwweDk4LDB4MDAsMHgyMiwweGM4IH0sCi0gIDE2LCAweGRkZDAsIDAsIHsweDBhLDB4OTgsMHgwMiwweDI3LDB4MDQsMHhiYiwweDAwLDB4MmUsMHhjMCwweDBiLDB4YjEsMHgwMiwweGUyLDB4MDAsMHhiYiwweDAwIH0sCi0gIDE2LCAweGRkZTAsIDAsIHsweDIyLDB4ZTIsMHgwOCwweGIwLDB4MDIsMHhhNCwweDAwLDB4YWIsMHgwMCwweDIwLDB4YzAsMHgwYSwweDg4LDB4ODIsMHgyMywweDAwIH0sCi0gIDE2LCAweGRkZjAsIDAsIHsweDhiLDB4MDAsMHgyZSwweGMwLDB4MDgsMHhiMCwweDAyLDB4YTAsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGRlMDAsIDAsIHsweDA4LDB4MTQsMHgwNCwweDAwLDB4OTEsMHg0MCwweDIyLDB4YzAsMHgwOCwweDEwLDB4MDIsMHgwYywweDAwLDB4YjMsMHgwMCwweDJjIH0sCi0gIDE2LCAweGRlMTAsIDAsIHsweGMwLDB4NGIsMHgyOCwweDIyLDB4NDAsMHgwNCwweGIzLDB4MDAsMHgyMCwweGMwLDB4MjgsMHgzMCwweDBhLDB4MDQsMHgwNCwweGIzIH0sCi0gIDE2LCAweGRlMjAsIDAsIHsweDAwLDB4NjAsMHhjMCwweDA4LDB4MDAsMHgwMiwweDg0LDB4MjAsMHg5MywweDAwLDB4MmMsMHhjMCwweDBhLDB4MzAsMHgwMiwweDgyIH0sCi0gIDE2LCAweGRlMzAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4NjAsMHgwMCwweGRhLDB4NDAsMHhiMiwweDgwIH0sCi0gIDE2LCAweGRlNDAsIDAsIHsweDBlLDB4OTAsMHgwMywweDI0LDB4MDAsMHhmZiwweDAwLDB4M2YsMHhjMCwweDhmLDB4YTAsMHgwMywweGUwLDB4MDksMHhmZiwweDAwIH0sCi0gIDE2LCAweGRlNTAsIDAsIHsweDMyLDB4NDAsMHgwOCwweGEwLDB4MGIsMHgzNCwweDAwLDB4ZWIsMHgwMCwweDMxLDB4YzAsMHgwYywweDgwLDB4MDMsMHgyOCwweDgwIH0sCi0gIDE2LCAweGRlNjAsIDAsIHsweGM3LDB4MDAsMHgzZiwweGMwLDB4MGMsMHhmMCwweDAzLDB4MDAsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGRlNzAsIDAsIHsweGEwLDB4MTUsMHhkMCwweDAwLDB4ZWMsMHgyMCwweDNmLDB4MDAsMHgwZiwweGMwLDB4MGIsMHhmYywweDEwLDB4ZmYsMHgwMSwweDNmIH0sCi0gIDE2LCAweGRlODAsIDAsIHsweGMwLDB4MGYsMHhlMCwweDAzLDB4ZjQsMHgwMCwweGZmLDB4MDAsMHgzZiwweGMwLDB4MGYsMHhmMCwweDAzLDB4ZjQsMHgwMCwweGZmIH0sCi0gIDE2LCAweGRlOTAsIDAsIHsweDAwLDB4M2YsMHhjMCwweDRmLDB4YzAsMHgwMSwweGYwLDB4MDgsMHhmZiwweDAwLDB4M2YsMHhjMCwweDBmLDB4ZjAsMHgwMywweGU4IH0sCi0gIDE2LCAweGRlYTAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZmMsMHgwMCwweGNjLDB4OTAsMHgzNywweDIwIH0sCi0gIDE2LCAweGRlYjAsIDAsIHsweDBlLDB4ZjAsMHgxMywweGJkLDB4MDQsMHhkNCwweGMxLDB4MzMsMHgyYywweDRjLDB4ZDksMHgyMywweDMyLDB4NjAsMHhmZiwweDIwIH0sCi0gIDE2LCAweGRlYzAsIDAsIHsweDNkLDB4ZTAsMHg0ZiwweGMxLDB4MDMsMHhiNiwweDQwLDB4Y2QsMHgwMCwweDM3LDB4ZTAsMHgwYywweGUyLDB4OGIsMHgxMCwweGMwIH0sCi0gIDE2LCAweGRlZDAsIDAsIHsweGNkLDB4MDAsMHgzMywweGM2LDB4MGYsMHhkOCwweDAzLDB4MzAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGRlZTAsIDAsIHsweDgwLDB4MTAsMHhlZSwweDA4LDB4OGEsMHgyMCwweDIyLDB4MDAsMHgwOCwweGI3LDB4MDIsMHgyZCwweDAwLDB4OGEsMHgwMCwweGI2IH0sCi0gIDE2LCAweGRlZjAsIDAsIHsweDNjLDB4MDgsMHg5OSwweDAyLDB4MjcsMHg4NCwweGJmLDB4NjgsMHgyZSwweDgyLDB4MGIsMHgwMSwweDAyLDB4MjQsMHg0MCwweGQ5IH0sCi0gIDE2LCAweGRmMDAsIDAsIHsweDQyLDB4MjAsMHhjMCwweDhhLDB4YWMsMHgwMiwweDJkLDB4YzIsMHg4MiwweDQ4LDB4YTIsMHhkMCwweDBiLDB4ODIsMHgwMiwweDIwIH0sCi0gIDE2LCAweGRmMTAsIDAsIHsweDA2LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4Y2MsMHgwMCwweDg4LDB4MDQsMHgyNiwweDgwIH0sCi0gIDE2LCAweGRmMjAsIDAsIHsweDJhLDB4MzAsMHhjMiwweGE1LDB4ODAsMHhhOSwweDIxLDB4MjgsMHgwMCwweDhhLDB4MDAsMHgwMiwweDAwLDB4MDAsMHhhMywweDEwIH0sCi0gIDE2LCAweGRmMzAsIDAsIHsweDJjLDB4YzgsMHgwYiwweDAwLDB4MDIsMHhjNCwweDkwLDB4ODMsMHg0MiwweDI0LDB4YzEsMHgwOCwweDAwLDB4MDIsMHg0MCwweDg4IH0sCi0gIDE2LCAweGRmNDAsIDAsIHsweGEzLDB4NjAsMHhhOCwweGMwLDB4MGIsMHgwMCwweGMyLDB4MjIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGRmNTAsIDAsIHsweGMwLDB4MTUsMHhhYywweDA2LDB4OGEsMHgwMCwweDIyLDB4ZTAsMHg0OCwweGIwLDB4MDIsMHgyZSwweDAyLDB4YWIsMHg4MCwweDJlIH0sCi0gIDE2LCAweGRmNjAsIDAsIHsweDIwLDB4NGEsMHg4YywweDAyLDB4MjYsMHgyMCwweGJiLDB4MDAsMHg2ZSwweDgwLDB4MGIsMHgzMCwweGMyLDB4NDYsMHgwNCwweDliIH0sCi0gIDE2LCAweGRmNzAsIDAsIHsweDBhLDB4YTIsMHhjMCwweDBhLDB4ODAsMHgxMiwweDZjLDB4NDAsMHhhOCwweDAwLDB4MmEsMHhjMCwweDBiLDB4OGMsMHgwMiwweDMwIH0sCi0gIDE2LCAweGRmODAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDE1LDB4ZWMsMHgwMCwweGMxLDB4MDksMHgzNiwweDYxIH0sCi0gIDE2LCAweGRmOTAsIDAsIHsweDBlLDB4MzIsMHgwMywweGFiLDB4MjAsMHhmOCwweDg0LDB4M2EsMHg3OCwweDJlLDB4OTgsMHgwMywweDI2LDB4MDAsMHhlYiwweDAwIH0sCi0gIDE2LCAweGRmYTAsIDAsIHsweDNlLDB4NDAsMHg0ZiwweDkwLDB4MDMsMHhlMiwweDAwLDB4YzksMHg0MCwweDM2LDB4ZTAsMHgwYywweGI0LDB4MDMsMHg2ZSwweDAwIH0sCi0gIDE2LCAweGRmYjAsIDAsIHsweGViLDB4MDAsMHgzYSwweGMwLDB4MGYsMHg4OCwweDAzLDB4MTAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGRmYzAsIDAsIHsweGUwLDB4MDEsMHhiYywweDAwLDB4ZmQsMHgwMCwweDNmLDB4NDAsMHgwZiwweGZhLDB4MTMsMHhmOCwweDEwLDB4ZGMsMHgwNCwweDI3IH0sCi0gIDE2LCAweGRmZDAsIDAsIHsweDQwLDB4MGQsMHg1MCwweDQzLDB4ZjQsMHgwMCwweGZmLDB4MDAsMHgzZiwweDQwLDB4MGYsMHhkOSwweDAzLDB4YjAsMHgwMCwweGY5IH0sCi0gIDE2LCAweGRmZTAsIDAsIHsweDAxLDB4M2YsMHhmMCwweDBmLDB4ZjAsMHgyMywweGIyLDB4MDAsMHhkNCwweGEwLDB4MzcsMHhjMCwweDBmLDB4YzAsMHgwYiwweGY4IH0sCi0gIDE2LCAweGRmZjAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YWMsMHgyMCwweGViLDB4MTAsMHhmMiwweDAwIH0sCi0gIDE2LCAweGUwMDAsIDAsIHsweDBlLDB4YjQsMHgwMywweDIxLDB4ODAsMHhjOSwweDQwLDB4M2EsMHg0OCwweDBmLDB4OTAsMHgxMywweGUxLDB4MjAsMHhmYiwweDAwIH0sCi0gIDE2LCAweGUwMTAsIDAsIHsweDNlLDB4YzAsMHgwYywweDg0LDB4MDMsMHgyNCwweDAwLDB4ZmIsMHgwMSwweDM2LDB4ZTAsMHgwYywweDc0LDB4MGIsMHg5YywweDAwIH0sCi0gIDE2LCAweGUwMjAsIDAsIHsweGNmLDB4MDAsMHgzMiwweGUwLDB4MGYsMHg4NCwweDAzLDB4ZDAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUwMzAsIDAsIHsweGM4LDB4MDUsMHgxZSwweDAwLDB4OGIsMHg4MCwweDIwLDB4NDAsMHgwOCwweGI4LDB4MDIsMHg4MywweDgwLDB4ODEsMHhhMCwweDIyIH0sCi0gIDE2LCAweGUwNDAsIDAsIHsweDc4LDB4MGIsMHg5MSwweDgzLDB4ZTMsMHgwMCwweGJmLDB4MDAsMHgwZSwweGMxLDB4MGEsMHhiNCwweDAzLDB4NjQsMHgwNCwweGI5IH0sCi0gIDE2LCAweGUwNTAsIDAsIHsweDUwLDB4MzIsMHhjMCwweDBhLDB4YjIsMHgwMiwweDIwLDB4MDAsMHg4OCwweDAwLDB4MjMsMHhkNCwweDBiLDB4ODgsMHgwMiwweGYyIH0sCi0gIDE2LCAweGUwNjAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NGMsMHg0MiwweGEwLDB4ODAsMHgyMCwweDAwIH0sCi0gIDE2LCAweGUwNzAsIDAsIHsweDQ4LDB4MDAsMHgwMiwweDBkLDB4MDYsMHg4MCwweDgwLDB4MmEsMHhkMCwweDAzLDB4MDAsMHgwMiwweGM4LDB4MDAsMHhiMywweDAwIH0sCi0gIDE2LCAweGUwODAsIDAsIHsweDJjLDB4YzAsMHgwOCwweDM2LDB4MDIsMHg0MCwweDAwLDB4YjksMHgwMiwweDIyLDB4YzIsMHg4YiwweDI2LDB4MDIsMHgwYywweDEwIH0sCi0gIDE2LCAweGUwOTAsIDAsIHsweDAxLDB4MDIsMHgyNCwweGMwLDB4NGIsMHhhMSwweDAyLDB4ZjgsMHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUwYTAsIDAsIHsweDIwLDB4MDEsMHgxZSwweDA4LDB4OGUsMHg4MCwweDIxLDB4MjEsMHgwOCwweDI4LDB4YzIsMHg5ZSwweDAwLDB4OGUsMHg4MCwweDIxIH0sCi0gIDE2LCAweGUwYjAsIDAsIHsweDYwLDB4MGIsMHg3OCwweDAyLDB4OWUsMHgyMCwweGI3LDB4ODIsMHgyZiwweGExLDB4MGEsMHg3OCwweDAyLDB4NWUsMHgwMCwweGI1IH0sCi0gIDE2LCAweGUwYzAsIDAsIHsweDkxLDB4YTEsMHhlMCwweDBiLDB4MjksMHgwMiwweDMyLDB4NDQsMHg4NiwweDgwLDB4YTUsMHhlMCwweDBiLDB4NGMsMHgwMiwweGM4IH0sCi0gIDE2LCAweGUwZDAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MGMsMHgwMCwweGUxLDB4MDAsMHgyMiwweDgwIH0sCi0gIDE2LCAweGUwZTAsIDAsIHsweDBlLDB4MDAsMHgwYiwweDI0LDB4MDAsMHhjMCwweDQ0LDB4MjgsMHhhZCwweDBmLDB4MjAsMHgwMiwweGM4LDB4MDAsMHhmMywweDAwIH0sCi0gIDE2LCAweGUwZjAsIDAsIHsweDFjLDB4YzAsMHgwYywweDAxLDB4MDMsMHg0OCwweDRjLDB4ZjIsMHgwNCwweDMwLDB4YzAsMHgwZiwweDE1LDB4MDMsMHg4MCwweDQwIH0sCi0gIDE2LCAweGUxMDAsIDAsIHsweGMxLDB4MDAsMHgxNCwweGM4LDB4MGYsMHgwMCwweDAzLDB4ZGEsMHgwMiwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUxMTAsIDAsIHsweDQwLDB4MWQsMHg5YywweDQwLDB4ZjcsMHgwMCwweDNmLDB4YzAsMHg4ZiwweGMwLDB4MDMsMHhlNCwweDAwLDB4ZmEsMHgwMSwweDNmIH0sCi0gIDE2LCAweGUxMjAsIDAsIHsweGMwLDB4MGYsMHhmMCwweDIzLDB4ZmMsMHgwOCwweGZiLDB4MDAsMHgzZiwweDgwLDB4MGYsMHhmMCwweDAxLDB4ZmMsMHgxMCwweGZmIH0sCi0gIDE2LCAweGUxMzAsIDAsIHsweDAwLDB4M2YsMHhjMCwweDBlLDB4ZDEsMHgwMywweGZjLDB4NDIsMHhmZSwweDgwLDB4M2IsMHhjMCwweDBmLDB4YzAsMHgwMywweGQwIH0sCi0gIDE2LCAweGUxNDAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZWMsMHg0MCwweGM4LDB4MDAsMHgzZSwweGMwIH0sCi0gIDE2LCAweGUxNTAsIDAsIHsweDBmLDB4OTAsMHgwMywweGVlLDB4MDgsMHhjYiwweDAwLDB4MzIsMHhjMCwweDBmLDB4YTAsMHgyMywweGU2LDB4MDMsMHhjYiwweDRjIH0sCi0gIDE2LCAweGUxNjAsIDAsIHsweDMyLDB4NDAsMHgwZiwweGIwLDB4MDcsMHhlOCwweDAwLDB4ZjksMHgwMCwweDE2LDB4NDAsMHgwYywweGEwLDB4MGIsMHg2YywweDAwIH0sCi0gIDE2LCAweGUxNzAsIDAsIHsweGNmLDB4MDIsMHgzMiwweGM1LDB4MGMsMHg4MCwweDAzLDB4MDIsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUxODAsIDAsIHsweDQ4LDB4MTEsMHg5YywweDgwLDB4ODQsMHgwNCwweDJkLDB4YzEsMHgwYiwweDQwLDB4NDAsMHhkYywweDAwLDB4ODcsMHgwNCwweDIxIH0sCi0gIDE2LCAweGUxOTAsIDAsIHsweGMwLDB4NGIsMHg3MCwweDEyLDB4ZmMsMHgwMSwweDhmLDB4NjAsMHgyOSwweDQwLDB4MGIsMHg3MCwweDEzLDB4OWMsMHgwMCwweGI1IH0sCi0gIDE2LCAweGUxYTAsIDAsIHsweDAwLDB4YTMsMHg0MCwweDBhLDB4NjAsMHgwMiwweDAwLDB4MDAsMHg4NCwweDAwLDB4MjEsMHhjMCwweDA4LDB4NDAsMHgwMiwweDEyIH0sCi0gIDE2LCAweGUxYjAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4OGUsMHgwMCwweDg3LDB4ODAsMHgyZCwweGEyIH0sCi0gIDE2LCAweGUxYzAsIDAsIHsweDBiLDB4NGMsMHgxNiwweGQ2LDB4MDgsMHg5NywweDg4LDB4MjEsMHhhMCwweDRiLDB4NjgsMHgwMiwweGRlLDB4MDQsMHhhNywweDgwIH0sCi0gIDE2LCAweGUxZDAsIDAsIHsweDIxLDB4ZTAsMHgwYiwweDQ4LDB4MDIsMHhkYSwweDA0LDB4YjYsMHg4MiwweDI1LDB4NjAsMHgwYSwweGU4LDB4NjIsMHgxZSwweDAwIH0sCi0gIDE2LCAweGUxZTAsIDAsIHsweDg3LDB4ODAsMHgyMCwweGU4LDB4MDgsMHg0OCwweDAyLDB4MDgsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUxZjAsIDAsIHsweDQ4LDB4MTQsMHhjYywweDAwLDB4OGIsMHg4MCwweDZjLDB4ZjAsMHgwYiwweDNjLDB4MDIsMHhjZSwweDQ2LDB4OWIsMHhjMCwweDIwIH0sCi0gIDE2LCAweGUyMDAsIDAsIHsweGU0LDB4MGIsMHgzYywweDAyLDB4Y2MsMHgyMCwweGEzLDB4MDAsMHgyOCwweGUwLDB4MGIsMHgzMCwweDAyLDB4OGQsMHg4MCwweGIxIH0sCi0gIDE2LCAweGUyMTAsIDAsIHsweDgwLDB4MjIsMHg0NCwweDBhLDB4MjEsMHgwYSwweDAzLDB4ODIsMHg4MCwweDgwLDB4YTAsMHhjMCwweDA4LDB4MDYsMHgwYSwweDEyIH0sCi0gIDE2LCAweGUyMjAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YTgsMHgwMiwweGNlLDB4ODAsMHgzZiwweGEwIH0sCi0gIDE2LCAweGUyMzAsIDAsIHsweDBmLDB4ZTAsMHgwMywweGZhLDB4NDAsMHhkZSwweGMwLDB4YjMsMHg5MCwweDBmLDB4ZWEsMHgxMywweGY5LDB4MDgsMHhlYSwweDA0IH0sCi0gIDE2LCAweGUyNDAsIDAsIHsweDMzLDB4ODIsMHg4ZiwweGU0LDB4MDMsMHhmYiwweDA4LDB4ZmUsMHhhMCwweDM2LDB4YTAsMHgwYywweGFjLDB4MGIsMHg2YiwweDgyIH0sCi0gIDE2LCAweGUyNTAsIDAsIHsweGM2LDB4YTAsMHgzMiwweDgwLDB4MmMsMHhlNCwweDAzLDB4M2EsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUyNjAsIDAsIHsweDQ4LDB4MDAsMHhlMCwweDAwLDB4ZjgsMHg5MCwweDNlLDB4MDIsMHgwZiwweDgwLDB4ODMsMHhlMSwweDAwLDB4ZTgsMHgyMCwweDNlIH0sCi0gIDE2LCAweGUyNzAsIDAsIHsweDAzLDB4MGYsMHg4MiwweDAzLDB4ZTEsMHg0MCwweGQ4LDB4MDAsMHgzZSwweDIwLDB4MGYsMHgwMCwweDkzLDB4YTAsMHg0MCwweGY4IH0sCi0gIDE2LCAweGUyODAsIDAsIHsweDAwLDB4M2UsMHgxMCwweDhmLDB4MDgsMHgwYiwweGYwLDB4MDAsMHhmYywweDAwLDB4M2UsMHgwMCwweDBmLDB4ODAsMHgwMywweGQyIH0sCi0gIDE2LCAweGUyOTAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTQsMHgwMCwweGU5LDB4MDAsMHgzNiwweDQwIH0sCi0gIDE2LCAweGUyYTAsIDAsIHsweDBmLDB4OTQsMHgwNywweGU2LDB4MDAsMHhmOSwweDgwLDB4YjAsMHg0MCwweDBjLDB4OTQsMHgwMywweGU0LDB4NDAsMHhmOSwweDAwIH0sCi0gIDE2LCAweGUyYjAsIDAsIHsweDMyLDB4NDAsMHgwZiwweDk0LDB4MGIsMHhhNCwweDAwLDB4NzEsMHhjMCwweDMyLDB4NDAsMHgyYywweDk0LDB4MjMsMHgyNCwweDAyIH0sCi0gIDE2LCAweGUyYzAsIDAsIHsweGM5LDB4MDAsMHgzMiwweDQwLDB4MGMsMHg5MCwweDAzLDB4MDIsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUyZDAsIDAsIHsweDgwLDB4MDQsMHg0NCwweDAwLDB4ODksMHgwMCwweDIyLDB4NDAsMHgwYiwweDk4LDB4MDIsMHhlNiwweDYwLDB4YjksMHgwMCwweDIyIH0sCi0gIDE2LCAweGUyZTAsIDAsIHsweDYwLDB4MGEsMHg5YywweDAyLDB4ZTYsMHgyNCwweGI5LDB4MDQsMHgzNiwweDQwLDB4MGIsMHg5OCwweDAwLDB4MjQsMHgwMCwweGI5IH0sCi0gIDE2LCAweGUyZjAsIDAsIHsweDgwLDB4YTIsMHg1MiwweDA4LDB4OTAsMHgwMiwweDI0LDB4MDAsMHg4OSwweDQwLDB4MjIsMHg0MCwweDY4LDB4OTQsMHgwMiwweDIwIH0sCi0gIDE2LCAweGUzMDAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4MjQsMHgwMCwweGE5LDB4MDAsMHgyNiwweDQwIH0sCi0gIDE2LCAweGUzMTAsIDAsIHsweDAzLDB4OTQsMHgwMiwweGU0LDB4MDEsMHhiOSwweDEwLDB4MjIsMHg1NSwweDA4LDB4OTAsMHgyMiwweGU0LDB4MDAsMHhiMSwweDAwIH0sCi0gIDE2LCAweGUzMjAsIDAsIHsweDI2LDB4NDAsMHgwYiwweDkwLDB4MDAsMHgyYywweDA5LDB4YjksMHgwMCwweDIyLDB4NjAsMHgwOCwweDkwLDB4MGEsMHgxYywweDA0IH0sCi0gIDE2LCAweGUzMzAsIDAsIHsweDhkLDB4MDgsMHhhMCwweDQwLDB4MDgsMHgxMCwweDgyLDB4MGUsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUzNDAsIDAsIHsweDA4LDB4MDQsMHgwNiwweDAwLDB4ODEsMHgwMCwweDIwLDB4NTAsMHgwYiwweDEyLDB4NDIsMHhjNCwweDgwLDB4YjEsMHgwNCwweDIwIH0sCi0gIDE2LCAweGUzNTAsIDAsIHsweDUwLDB4MGEsMHgxNCwweDAyLDB4YzUsMHgwMCwweGIxLDB4MjIsMHgyNCwweDQwLDB4MGIsMHgxMiwweDIyLDB4MDQsMHgwMSwweGIxIH0sCi0gIDE2LCAweGUzNjAsIDAsIHsweDQwLDB4MjAsMHg1MCwweDA4LDB4MTAsMHgwYSwweDE1LDB4MDAsMHg4NSwweDQwLDB4MjgsMHg1MCwweDA4LDB4MTQsMHgwYSwweDBhIH0sCi0gIDE2LCAweGUzNzAsIDAsIHsweDA1LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjAsMHgwMCwweGU4LDB4NTAsMHgzNiwweDAwIH0sCi0gIDE2LCAweGUzODAsIDAsIHsweDBmLDB4ODUsMHgwMiwweGUxLDB4NDAsMHhmOCwweDUwLDB4MzIsMHgwMCwweDBjLDB4YTAsMHgyMywweGUwLDB4MTAsMHhmOCwweDUwIH0sCi0gIDE2LCAweGUzOTAsIDAsIHsweGIyLDB4MTQsMHgwZiwweGE1LDB4MDMsMHhhMSwweDQ4LDB4ZmEsMHgwMCwweGIyLDB4MDAsMHgwYywweDgwLDB4MDMsMHgyMCwweDA0IH0sCi0gIDE2LCAweGUzYTAsIDAsIHsweGM0LDB4MDIsMHgzMiwweDAwLDB4MGMsMHgwMCwweDAzLDB4MmUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUzYjAsIDAsIHsweDk4LDB4MWQsMHhlNSwweDAwLDB4ZmQsMHgwMCwweDNmLDB4NDAsMHgwZiwweGQxLDB4MDMsMHhkNCwweDQ0LDB4ZjUsMHgwMCwweDNmIH0sCi0gIDE2LCAweGUzYzAsIDAsIHsweDUxLDB4MGYsMHhkNCwweDAzLDB4ZjUsMHgwMCwweGY5LDB4MTAsMHgzYiwweDQwLDB4MGYsMHhkMSwweDAwLDB4ZjUsMHgxMCwweGY1IH0sCi0gIDE2LCAweGUzZDAsIDAsIHsweDQwLDB4N2YsMHg0MCwweDBmLDB4NTQsMHgyYiwweGU1LDB4MDAsMHhmOSwweDQwLDB4MzYsMHg1MCwweDBmLDB4ZDAsMHgwMywweGU2IH0sCi0gIDE2LCAweGUzZTAsIDAsIHsweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4ZjYsMHgxMCwweGJkLDB4NDAsMHgzMywweDQwIH0sCi0gIDE2LCAweGUzZjAsIDAsIHsweDBmLDB4ZGEsMHgwMywweDM3LDB4ODAsMHhjZCwweDAwLDB4M2YsMHg0MCwweDBmLDB4ZDAsMHgwMywweGY0LDB4MDAsMHhlOSwweGEwIH0sCi0gIDE2LCAweGU0MDAsIDAsIHsweDNlLDB4NDAsMHgwYywweGRlLDB4MTcsMHhhNCwweDA4LDB4ZmQsMHhjMCwweDMzLDB4NDEsMHg4ZCwweGRhLDB4MTMsMHgyNiwweGEwIH0sCi0gIDE2LCAweGU0MTAsIDAsIHsweGY5LDB4YTgsMHgzMiwweDc4LDB4MGMsMHhiNCwweDBiLDB4MDYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU0MjAsIDAsIHsweDM4LDB4MTAsMHhlMSwweDAwLDB4YjgsMHhhMCwweDM2LDB4MjAsMHgwYiwweDhhLDB4ODIsMHhhMiwweDgwLDB4MmEsMHhhOCwweDJlIH0sCi0gIDE2LCAweGU0MzAsIDAsIHsweDAwLDB4MGIsMHg4MCwweDEyLDB4ZTAsMHgwNCwweGI4LDB4YTEsMHgyZSwweDI4LDB4NGEsMHg4ZSwweDAyLDB4MmEsMHhhMCwweGJhIH0sCi0gIDE2LCAweGU0NDAsIDAsIHsweGMwLDB4MjIsMHgyOCwweDA4LDB4ODUsMHgwMiwweDIxLDB4MDgsMHhiOCwweGU4LDB4YTIsMHgzYywweDA4LDB4YzgsMHgwMiwweDBlIH0sCi0gIDE2LCAweGU0NTAsIDAsIHsweDA2LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4YzUsMHgwMCwweGI5LDB4MDAsMHgyMCwweDRhIH0sCi0gIDE2LCAweGU0NjAsIDAsIHsweDBiLDB4MTQsMHgwMiwweDA1LDB4ODAsMHgwMSwweDAwLDB4MmMsMHg0MSwweDBiLDB4MTAsMHgwMiwweGM0LDB4MDQsMHhhMSwweDRhIH0sCi0gIDE2LCAweGU0NzAsIDAsIHsweDJlLDB4NDIsMHgwOCwweDE0LDB4MDIsMHg4NCwweDEwLDB4YjEsMHg2MCwweGEwLDB4NGEsMHgwOSwweDEwLDB4MDIsMHg0NCwweDAwIH0sCi0gIDE2LCAweGU0ODAsIDAsIHsweGI1LDB4MDEsMHgyOSwweDQwLDB4MTgsMHhkMiwweDAyLDB4MTIsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU0OTAsIDAsIHsweDE4LDB4MTUsMHhhNCwweDAwLDB4YjksMHgyMSwweDI2LDB4NDAsMHgwYiwweDk2LDB4MDIsMHhhNCwweDEwLDB4YTksMHgwMCwweDJlIH0sCi0gIDE2LCAweGU0YTAsIDAsIHsweDQwLDB4MGIsMHg5NiwweDEyLDB4ZTQsMHgyMCwweGI5LDB4MDAsMHgyZSwweDQxLDB4MGEsMHg5MCwweDQyLDB4MjQsMHgwMCwweGI5IH0sCi0gIDE2LCAweGU0YjAsIDAsIHsweDAwLDB4MjIsMHg0MSwweDA4LDB4OTgsMHgyMiwweDY0LDB4MDAsMHhiOSwweDIwLDB4MmIsMHg0MSwweDI4LDB4ZDQsMHgwMiwweDA2IH0sCi0gIDE2LCAweGU0YzAsIDAsIHsweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDExLDB4ZTQsMHgwMCwweGY5LDB4ZTAsMHgzMiwweDU4IH0sCi0gIDE2LCAweGU0ZDAsIDAsIHsweDBmLDB4OTgsMHgwMywweDI2LDB4NDAsMHhjOSwweDQwLDB4M2UsMHg1OCwweDBmLDB4OWMsMHgwMywweGU0LDB4MDAsMHhlOSwweDAwIH0sCi0gIDE2LCAweGU0ZTAsIDAsIHsweDZlLDB4NDAsMHgwYywweDlhLDB4MDIsMHhhNiwweDAwLDB4ZjksMHg0NCwweDMyLDB4NDAsMHgwZCwweDlhLDB4MGIsMHg2NCwweDg0IH0sCi0gIDE2LCAweGU0ZjAsIDAsIHsweGY5LDB4MDAsMHhiYSwweDQwLDB4MGMsMHgxOCwweDAzLDB4MjgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU1MDAsIDAsIHsweDI4LDB4MDEsMHhhNCwweDAwLDB4ZjksMHgwMCwweDNlLDB4NTAsMHgwZiwweDkwLDB4MDMsMHhlNiwweDAwLDB4ZjksMHgwNCwweDNlIH0sCi0gIDE2LCAweGU1MTAsIDAsIHsweDQ4LDB4MGYsMHg5MCwweDAzLDB4ZTQsMHg0MCwweGY5LDB4MDAsMHgzZSwweDY1LDB4MGYsMHg5OSwweDgxLDB4ZTQsMHg1MCwweGY5IH0sCi0gIDE2LCAweGU1MjAsIDAsIHsweDIwLDB4M2UsMHg0MCwweDhmLDB4OTAsMHgwMywweGE0LDB4ODAsMHhmOSwweDAwLDB4MzQsMHg0MCwweDBmLDB4OTIsMHgwMywweGQyIH0sCi0gIDE2LCAweGU1MzAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTAsMHgwMCwweGY4LDB4NDAsMHgzZSwweDEwIH0sCi0gIDE2LCAweGU1NDAsIDAsIHsweDBlLDB4ODQsMHgwMywweDYwLDB4MDgsMHhjOCwweDAwLDB4M2UsMHgwOCwweDBmLDB4ODAsMHg4MywweGUwLDB4MjgsMHhlOCwweDA0IH0sCi0gIDE2LCAweGU1NTAsIDAsIHsweDNlLDB4MDAsMHgwYywweDg0LDB4MDMsMHgyMSwweDFjLDB4ZjAsMHg0OCwweDMyLDB4MDAsMHgwYiwweDAwLDB4MDMsMHhlMCwweDAyIH0sCi0gIDE2LCAweGU1NjAsIDAsIHsweGMwLDB4MDAsMHgzMiwweDAwLDB4MGMsMHhjMCwweDBiLDB4MDIsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU1NzAsIDAsIHsweDI4LDB4MDUsMHgzOCwweDAwLDB4YjIsMHg4OCwweDJlLDB4ODAsMHgwOCwweGUwLDB4MDMsMHg3YSwweDgwLDB4OGUsMHgwMCwweDJmIH0sCi0gIDE2LCAweGU1ODAsIDAsIHsweGEwLDB4MGIsMHhlOCwweDAyLDB4ZjksMHgxMCwweGJhLDB4MDAsMHgyYywweDgwLDB4MjgsMHhlNCwweDAyLDB4MjgsMHgwMCwweGJlIH0sCi0gIDE2LCAweGU1OTAsIDAsIHsweDQwLDB4MjMsMHhiOCwweDA4LDB4ZTgsMHgwMiwweGU4LDB4MDQsMHhjYSwweDIwLDB4YTIsMHg4MCwweDA4LDB4ZTgsMHgwMiwweDBhIH0sCi0gIDE2LCAweGU1YTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NGMsMHgwMSwweGIzLDB4MDAsMHgyYywweDQwIH0sCi0gIDE2LCAweGU1YjAsIDAsIHsweDA4LDB4YjgsMHg0MiwweDZjLDB4MDIsMHg4MywweDAwLDB4MmMsMHhlMCwweDBiLDB4MzgsMHgwMCwweGNmLDB4NDAsMHhiMywweDAwIH0sCi0gIDE2LCAweGU1YzAsIDAsIHsweDJjLDB4YzAsMHgwOCwweGI0LDB4MGEsMHgwYywweDAwLDB4YjMsMHg0MCwweGEyLDB4ODIsMHgwYSwweDM5LDB4MDIsMHhjYywweDAwIH0sCi0gIDE2LCAweGU1ZDAsIDAsIHsweDkzLDB4ODAsMHhhMCwweGMwLDB4MjksMHgyMCwweDAyLDB4MGEsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU1ZTAsIDAsIHsweGEwLDB4MDEsMHgxZCwweDAwLDB4YjcsMHgwMCwweDJkLDB4NjQsMHgyOCwweDc0LDB4MDIsMHg0MCwweDAwLDB4ODcsMHgwNSwweDJkIH0sCi0gIDE2LCAweGU1ZjAsIDAsIHsweDkwLDB4MGIsMHg3NCwweDAyLDB4ZGMsMHgxMCwweGI3LDB4MzAsMHgyZCwweGM4LDB4MDgsMHgzNCwweDA2LDB4MWMsMHg4MCwweGI3IH0sCi0gIDE2LCAweGU2MDAsIDAsIHsweDAwLDB4YTEsMHhjMCwweDBhLDB4NzAsMHgwMiwweGRlLDB4ODAsMHg4MywweDAwLDB4MDEsMHgwMCwweDA5LDB4NjAsMHg4MiwweDIwIH0sCi0gIDE2LCAweGU2MTAsIDAsIHsweDA0LDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MWEsMHgwMCwweGY3LDB4ODAsMHgzZCwweDYwIH0sCi0gIDE2LCAweGU2MjAsIDAsIHsweDBlLDB4ZDgsMHgwYiwweDVlLDB4MDAsMHhjNywweDgwLDB4M2QsMHhlMCwweDBmLDB4NjgsMHgwMywweGRlLDB4MTAsMHhmNywweGE5IH0sCi0gIDE2LCAweGU2MzAsIDAsIHsweDdmLDB4ZTgsMHg0OCwweDc4LDB4MDMsMHgxZiwweDMwLDB4ZmYsMHg5NCwweDMzLDB4YTAsMHgwZSwweDc4LDB4MDMsMHhjZiwweDI0IH0sCi0gIDE2LCAweGU2NDAsIDAsIHsweGQ2LDB4ODAsMHhiMSwweGUwLDB4MGQsMHhmOCwweDQzLDB4MjIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU2NTAsIDAsIHsweDA4LDB4MWQsMHhhYywweDAwLDB4YmIsMHgwMCwweDBjLDB4NDAsMHgwZiwweGIwLDB4MDMsMHhlYywweDA4LDB4ZjksMHgwMCwweDNlIH0sCi0gIDE2LCAweGU2NjAsIDAsIHsweDAwLDB4MGYsMHg5MCwweDQxLDB4ZWMsMHgwMCwweGZiLDB4NjEsMHg3ZSwweGQwLDB4MGYsMHhiMCwweDAzLDB4ZWMsMHg4MCwweGZiIH0sCi0gIDE2LCAweGU2NzAsIDAsIHsweDQwLDB4M2YsMHg5YiwweDBjLDB4YjAsMHgwMywweGVkLDB4OTAsMHhmYSwweDAwLDB4M2MsMHgwMCwweDBlLDB4YjAsMHgwMywweGMyIH0sCi0gIDE2LCAweGU2ODAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZGUsMHgwMCwweGVmLDB4ODAsMHgzMywweDYwIH0sCi0gIDE2LCAweGU2OTAsIDAsIHsweDBkLDB4ZDgsMHgwMywweDM2LDB4NDAsMHhlZiwweDkwLDB4M2UsMHhlMCwweDBmLDB4ZjksMHgwMywweGZlLDB4MDAsMHhmZiwweDgwIH0sCi0gIDE2LCAweGU2YTAsIDAsIHsweDMzLDB4ZmUsMHgwYywweGZhLDB4MDMsMHhmZSwweDAwLDB4Y2YsMHg4MCwweGIzLDB4ZTAsMHgwZiwweGY4LDB4MDMsMHhmZSwweDAwIH0sCi0gIDE2LCAweGU2YjAsIDAsIHsweGNkLDB4ODAsMHgzMywweGUwLDB4MGYsMHhjOCwweDQzLDB4YzAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU2YzAsIDAsIHsweGE4LDB4MTEsMHg5YywweDAwLDB4ODUsMHgwOCwweDM1LDB4NDAsMHgwOCwweDcwLDB4MDMsMHg1MiwweDIwLDB4ODcsMHgxMSwweDJjIH0sCi0gIDE2LCAweGU2ZDAsIDAsIHsweGVjLDB4MGIsMHg3MSwweDAyLDB4ZDAsMHgwMCwweGU3LDB4MDAsMHgzNSwweGM0LDB4MDgsMHg3NCwweDAyLDB4ZGMsMHg0MCwweDg3IH0sCi0gIDE2LCAweGU2ZTAsIDAsIHsweDEwLDB4MjEsMHhjMCwweDBiLDB4NzAsMHgwMiwweGZjLDB4ODAsMHg4NSwweDA4LDB4MjEsMHgwMCwweDBiLDB4NDEsMHg4MiwweGVhIH0sCi0gIDE2LCAweGU2ZjAsIDAsIHsweDA2LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OTgsMHgwMCwweGFmLDB4MDAsMHgyMywweDUwIH0sCi0gIDE2LCAweGU3MDAsIDAsIHsweDA5LDB4NTAsMHgwMiwweDFjLDB4ODAsMHhhNywweDAxLDB4MjksMHhjMCwweDFiLDB4NjAsMHgwNiwweGRjLDB4NDAsMHhiNywweDEwIH0sCi0gIDE2LCAweGU3MTAsIDAsIHsweDIxLDB4YzgsMHg0YSwweDUyLDB4MDIsMHhkYywweDAwLDB4ODMsMHgwMCwweDIxLDB4YzAsMHgwYiwweDcwLDB4MDIsMHhkYywweDEzIH0sCi0gIDE2LCAweGU3MjAsIDAsIHsweDg0LDB4MDAsMHgyNSwweGMwLDB4MGIsMHg1OCwweDAyLDB4YzAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU3MzAsIDAsIHsweDIwLDB4MTQsMHhjYywweDAwLDB4ODEsMHg4MCwweDI0LDB4NDAsMHgwOCwweDNlLDB4MDIsMHg2ZSwweDAwLDB4ODksMHgwMCwweDJjIH0sCi0gIDE2LCAweGU3NDAsIDAsIHsweGMwLDB4MGIsMHhiNCwweDAyLDB4Y2EsMHg4MCwweGEzLDB4MDAsMHgyNCwweGMwLDB4MGEsMHgwNCwweDAyLDB4ZWMsMHg0MCwweDgyIH0sCi0gIDE2LCAweGU3NTAsIDAsIHsweDBhLDB4MjAsMHhjMCwweDBiLDB4MzAsMHgwMiwweGNkLDB4MTAsMHg4MCwweGMwLDB4YTQsMHgwMCwweDBiLDB4MWMsMHgwMiwweGM4IH0sCi0gIDE2LCAweGU3NjAsIDAsIHsweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4ODQsMHgwMCwweGViLDB4ODAsMHgzMywweDQwIH0sCi0gIDE2LCAweGU3NzAsIDAsIHsweDBkLDB4OGMsMHg4MywweDI2LDB4MDAsMHhlOSwweGEwLDB4M2UsMHg3OCwweDhmLDB4OTAsMHg4MywweGUxLDB4MDAsMHhmZiwweDAwIH0sCi0gIDE2LCAweGU3ODAsIDAsIHsweDMxLDB4ZDEsMHgwZSwweDg0LDB4MjMsMHhmYywweDAwLDB4Y2IsMHg4MiwweDMyLDB4YzAsMHg4ZiwweGIwLDB4MDIsMHhmZCwweDQwIH0sCi0gIDE2LCAweGU3OTAsIDAsIHsweGNiLDB4ODAsMHhiNiwweGMwLDB4MGYsMHhhNCwweDAzLDB4ZWEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU3YTAsIDAsIHsweDgwLDB4MDAsMHhlYywweDAwLDB4ZmIsMHgwMCwweDNlLDB4NDAsMHgwZiwweGEwLDB4MDMsMHhlMCwweDAwLDB4ZjksMHgwMSwweDNlIH0sCi0gIDE2LCAweGU3YjAsIDAsIHsweDQyLDB4MGYsMHg5MCwweDAzLDB4ZTUsMHg1NCwweGUzLDB4MDAsMHgzZSwweGM4LDB4MDUsMHg5MywweDAzLDB4ZWMsMHg4MCwweGZiIH0sCi0gIDE2LCAweGU3YzAsIDAsIHsweGMxLDB4M2UsMHhjMCwweDBmLDB4MjAsMHgwMywweGNjLDB4NDgsMHhmMywweDA4LDB4M2EsMHgwMCwweDBmLDB4YTAsMHg0MywweGUwIH0sCi0gIDE2LCAweGU3ZDAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZjAsMHgwMCwweGNmLDB4MDAsMHgzZiwweDQwIH0sCi0gIDE2LCAweGU3ZTAsIDAsIHsweDBmLDB4MzAsMHgwMSwweDJjLDB4MGEsMHhjZCwweDEwLDB4MzMsMHgwMCwweDBmLDB4ZDAsMHg4MywweDE0LDB4MDAsMHhjYiwweDAyIH0sCi0gIDE2LCAweGU3ZjAsIDAsIHsweDMzLDB4YzAsMHgwYywweGUxLDB4MDMsMHhlYywweDEwLDB4Y2QsMHgwMCwweDMzLDB4YzAsMHgwYywweGYwLDB4MzMsMHgzYywweDAwIH0sCi0gIDE2LCAweGU4MDAsIDAsIHsweGVhLDB4MDAsMHgzMywweGMwLDB4MGMsMHhmMCwweDgzLDB4YzgsMHg0NCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU4MTAsIDAsIHsweDgxLDB4MDQsMHg2ZSwweDAwLDB4OGIsMHgwMCwweDJlLDB4NDAsMHgwYiwweGJjLDB4MDIsMHgyZSwweDAwLDB4MGIsMHgwMCwweDIyIH0sCi0gIDE2LCAweGU4MjAsIDAsIHsweDMwLDB4MGIsMHg5YywweDAyLDB4MjcsMHg4MCwweGFiLDB4MDAsMHgyYSwweGMwLDB4MDgsMHhiOCwweDAyLDB4ZWMsMHgwMCwweDg5IH0sCi0gIDE2LCAweGU4MzAsIDAsIHsweGMwLDB4MjAsMHhlMCwweDA4LDB4YWUsMHgwMiwweDJjLDB4MDgsMHg4YSwweDAwLDB4MjIsMHgwMCwweDA4LDB4YjAsMHg0MiwweGU4IH0sCi0gIDE2LCAweGU4NDAsIDAsIHsweDQwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MmUsMHgwMCwweDhiLDB4MDQsMHgyZSwweDQwIH0sCi0gIDE2LCAweGU4NTAsIDAsIHsweDhiLDB4OGMsMHgwMiwweGFlLDB4MTAsMHg4OSwweDAwLDB4MjIsMHg3MCwweDBiLDB4OGMsMHgwMiwweGEyLDB4MDAsMHg4YiwweDAxIH0sCi0gIDE2LCAweGU4NjAsIDAsIHsweDIyLDB4YzAsMHgwOCwweDgwLDB4MDIsMHhlYywweDEwLDB4ODIsMHg4OCwweGEyLDB4NzAsMHgwOSwweGI4LDB4MDIsMHgyYywweDA4IH0sCi0gIDE2LCAweGU4NzAsIDAsIHsweDg5LDB4MDAsMHgyMCwweGMwLDB4MjgsMHg4MCwweDIyLDB4ZTAsMHgxMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU4ODAsIDAsIHsweDA4LDB4MDQsMHgwYywweDA0LDB4ODEsMHgwMCwweDJjLDB4NDAsMHgwYiwweDIwLDB4MDIsMHg4MCwweDAwLDB4ODEsMHgwNCwweGEwIH0sCi0gIDE2LCAweGU4OTAsIDAsIHsweDUwLDB4NGIsMHgwMCwweDBhLDB4ODAsMHgwMCwweGEzLDB4MDEsMHgyYSwweGMxLDB4MjAsMHgxMCwweDAyLDB4Y2MsMHgxNCwweDgzIH0sCi0gIDE2LCAweGU4YTAsIDAsIHsweDAwLDB4MjIsMHhjMCwweDA4LDB4MjAsMHgwMiwweDBjLDB4MDAsMHg4MSwweDAwLDB4ZTAsMHgwMCwweDA4LDB4MDAsMHgwMiwweGMyIH0sCi0gIDE2LCAweGU4YjAsIDAsIHsweDA1LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4NjgsMHgwMCwweGNiLDB4MDAsMHgzZSwweDQwIH0sCi0gIDE2LCAweGU4YzAsIDAsIHsweDBmLDB4OTAsMHgwYiwweGFjLDB4ODAsMHhjOSwweDAwLDB4MzIsMHgxMCwweDBmLDB4ODAsMHgwMywweGE0LDB4MDAsMHhjZiwweDAyIH0sCi0gIDE2LCAweGU4ZDAsIDAsIHsweDMxLDB4YzAsMHgwYywweDgwLDB4MTMsMHhmYywweDAyLDB4Y2QsMHgwMCwweDMzLDB4YzAsMHgyYywweDkwLDB4MDMsMHgzYywweDAyIH0sCi0gIDE2LCAweGU4ZTAsIDAsIHsweGU4LDB4MDAsMHhiMiwweGMwLDB4MGMsMHg5MCwweDAzLDB4YzAsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU4ZjAsIDAsIHsweGEwLDB4MWQsMHhmYywweDAyLDB4ZjUsMHgwMCwweDNkLDB4NDAsMHg4ZiwweGYwLDB4MjMsMHg2ZCwweDAwLDB4ZmYsMHgwMCwweDNmIH0sCi0gIDE2LCAweGU5MDAsIDAsIHsweDA0LDB4MGYsMHhjMCwweDAzLDB4NzAsMHgxYywweGZmLDB4MDEsMHgzZiwweGMwLDB4NGYsMHhjMCwweDAzLDB4ZmMsMHgwMCwweGZkIH0sCi0gIDE2LCAweGU5MTAsIDAsIHsweDAwLDB4M2YsMHhjMCwweDBmLDB4ZTAsMHgwZiwweGZjLDB4MTgsMHhmYywweDAwLDB4M2YsMHgwMCwweDBmLDB4ZDAsMHgwMywweGU4IH0sCi0gIDE2LCAweGU5MjAsIDAsIHsweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZmUsMHgwMCwweGQ3LDB4MDIsMHgwZiwweDMwIH0sCi0gIDE2LCAweGU5MzAsIDAsIHsweDBjLDB4ZjIsMHgwMSwweDdlLDB4MDYsMHg0NCwweDMwLDB4M2YsMHgyMCwweDBlLDB4ZjAsMHgwMiwweDdjLDB4ODQsMHhmZCwweDIwIH0sCi0gIDE2LCAweGU5NDAsIDAsIHsweDI3LDB4MDgsMHgwYywweGQwLDB4MDEsMHgzNiwweDAwLDB4ZmYsMHg2MCwweDMzLDB4Y2MsMHgwYiwweGYxLDB4MTMsMHgyYywweGM0IH0sCi0gIDE2LCAweGU5NTAsIDAsIHsweGZmLDB4MzAsMHgwZiwweGNkLDB4MGMsMHhmNCwweDAzLDB4ZjAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU5NjAsIDAsIHsweDgwLDB4MTAsMHhlZSwweDAwLDB4OGYsMHhjMCwweDJlLDB4MDAsMHgwOCwweGZjLDB4MDIsMHgyZSwweDAwLDB4OGEsMHgzMCwweDI4IH0sCi0gIDE2LCAweGU5NzAsIDAsIHsweDUyLDB4MDgsMHhmNiwweDgyLDB4M2MsMHg2OCwweGJkLDB4OTAsMHgzMiwweDM0LDB4NDgsMHg5YywweDEyLDB4MjYsMHgwMCwweGNmIH0sCi0gIDE2LCAweGU5ODAsIDAsIHsweDQwLDB4MjMsMHhjYywweDBiLDB4ZjYsMHgwMiwweDNkLDB4MDAsMHhiZiwweDEwLDB4MmYsMHhjYywweDg4LDB4ZjYsMHgwMiwweGUwIH0sCi0gIDE2LCAweGU5OTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4Y2MsMHgwMCwweDkzLDB4MTAsMHgyYywweDA4IH0sCi0gIDE2LCAweGU5YTAsIDAsIHsweDA5LDB4MzEsMHgwMiwweDRjLDB4MDAsMHg5YiwweDIwLDB4NjQsMHg1OCwweDAzLDB4MzEsMHg2MiwweDRjLDB4ODEsMHhhMSwweDAwIH0sCi0gIDE2LCAweGU5YjAsIDAsIHsweDIwLDB4MDAsMHg0OCwweDE0LDB4MDIsMHg0NCwweDAwLDB4OTMsMHgzMCwweDI0LDB4YzAsMHgwYiwweDMzLDB4MDIsMHg4ZCwweDg0IH0sCi0gIDE2LCAweGU5YzAsIDAsIHsweGIzLDB4MjAsMHg2YywweGMwLDB4MmEsMHgzNiwweDAyLDB4ZTIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU5ZDAsIDAsIHsweGMwLDB4MTUsMHhhYywweDEwLDB4OWIsMHgwMiwweDJlLDB4NDEsMHgwYiwweGIwLDB4MDIsMHhhNCwweDAwLDB4OWEsMHgwMCwweDRhIH0sCi0gIDE2LCAweGU5ZTAsIDAsIHsweDYwLDB4ODgsMHhiMCwweDUyLDB4NmMsMHgwMSwweGI5LDB4MDAsMHgyNiwweDAwLDB4MDgsMHg5MSwweDIyLDB4ZWMsMHgwOCwweGJiIH0sCi0gIDE2LCAweGU5ZjAsIDAsIHsweDAwLDB4MjYsMHhjMCwweDBiLDB4YjAsMHgwMiwweGFjLDB4MDAsMHhiYiwweDA1LDB4NmUsMHhjMSwweDBhLDB4YjAsMHgwMiwweGYwIH0sCi0gIDE2LCAweGVhMDAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDE1LDB4ZWMsMHgwMCwweGRiLDB4MDEsMHgzZSwweDMwIH0sCi0gIDE2LCAweGVhMTAsIDAsIHsweDJkLDB4MzAsMHgwMywweDQ3LDB4NjAsMHhkOCwweGEwLDB4MTYsMHgzOCwweDhmLDB4YjAsMHgwMywweDZjLDB4MDAsMHg3OSwweDAyIH0sCi0gIDE2LCAweGVhMjAsIDAsIHsweDMxLDB4NjAsMHgwYywweGM4LDB4MGEsMHg2NiwweDAwLDB4YmIsMHgwMCwweGI2LDB4YzAsMHgwZiwweGIwLDB4MGIsMHhhYywweDAwIH0sCi0gIDE2LCAweGVhMzAsIDAsIHsweGZiLDB4MDEsMHgzZSwweGMxLDB4MGUsMHhiMCwweDAzLDB4ZDAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVhNDAsIDAsIHsweGUwLDB4MDEsMHhiYywweDEwLDB4ZWYsMHgwOCwweDNmLDB4MjQsMHgwYywweGYwLDB4MDMsMHg3NiwweDIwLDB4ZWUsMHg5MCwweDM1IH0sCi0gIDE2LCAweGVhNTAsIDAsIHsweDQwLDB4MGUsMHg3MCwweDAzLDB4YWMsMHgwMCwweGZkLDB4MDAsMHhiYiwweDY0LDB4MGYsMHg4OCwweDEzLDB4MzQsMHg4MCwweGNiIH0sCi0gIDE2LCAweGVhNjAsIDAsIHsweDAwLDB4M2IsMHhjMCwweDBmLDB4YjAsMHgwMywweDZjLDB4MDgsMHhmZiwweDAwLDB4M2UsMHhjMCwweDBkLDB4ZjAsMHgwMywweGY4IH0sCi0gIDE2LCAweGVhNzAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YWMsMHgwMSwweGZiLDB4ODAsMHgzMiwweDEwIH0sCi0gIDE2LCAweGVhODAsIDAsIHsweDBlLDB4YjAsMHgwMywweGVkLDB4MDAsMHhjYiwweDUwLDB4M2UsMHg0MCwweDhjLDB4YjAsMHg0MywweDJjLDB4MTAsMHhmOSwweDAwIH0sCi0gIDE2LCAweGVhOTAsIDAsIHsweDMyLDB4NjAsMHgwYywweDQwLDB4MGIsMHgyNiwweDAwLDB4YzMsMHgwNCwweDM2LDB4YzAsMHgwYywweDMwLDB4MDMsMHgyYywweDAwIH0sCi0gIDE2LCAweGVhYTAsIDAsIHsweDliLDB4MDAsMHhiMCwweGMwLDB4MGMsMHhiMCwweDAzLDB4ZDAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVhYjAsIDAsIHsweGM4LDB4MDUsMHgwZSwweDgwLDB4YmYsMHgwNCwweDJhLDB4NDAsMHgwMCwweGY1LDB4MDAsMHhlNiwweDAwLDB4ODIsMHhkMiwweDIyIH0sCi0gIDE2LCAweGVhYzAsIDAsIHsweDQwLDB4MGQsMHhmMCwweDIyLDB4M2MsMHgwMCwweDk1LDB4MDIsMHgzNiwweDQwLDB4MGEsMHg4MCwweDAyLDB4MmUsMHgwMCwweDhmIH0sCi0gIDE2LCAweGVhZDAsIDAsIHsweDAwLDB4MzcsMHhjMCwweDBhLDB4ZjAsMHg0MiwweDNjLDB4MDAsMHg4ZiwweDAwLDB4MjMsMHhjMCwweDI4LDB4ZjAsMHgwMiwweGYyIH0sCi0gIDE2LCAweGVhZTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NGUsMHgwMCwweGIzLDB4MDAsMHgyMiwweDIwIH0sCi0gIDE2LCAweGVhZjAsIDAsIHsweDRhLDB4MzAsMHgwMCwweGNjLDB4MDAsMHg4MSwweGMwLDB4MjgsMHgwMCwweDA4LDB4MzAsMHgwMiwweDBjLDB4MTAsMHhhMSwweDAwIH0sCi0gIDE2LCAweGViMDAsIDAsIHsweDI4LDB4ODAsMHgxOCwweDMwLDB4MjIsMHgwNCwweDA0LDB4ODMsMHgwMCwweDI0LDB4YzAsMHgwOCwweDMwLDB4MDIsMHhjYywweDA4IH0sCi0gIDE2LCAweGViMTAsIDAsIHsweDkzLDB4MDAsMHgyMCwweGMwLDB4MDgsMHgzMCwweDA2LDB4ZjgsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGViMjAsIDAsIHsweDIwLDB4MDEsMHgxZSwweDAwLDB4YjcsMHg4MCwweDI5LDB4YTAsMHgwOCwweDc4LDB4MDIsMHhmZSwweDIwLDB4OGQsMHg4MCwweDI5IH0sCi0gIDE2LCAweGViMzAsIDAsIHsweGU1LDB4NWIsMHgzOCwweDQyLDB4MWUsMHg0MCwweGExLDB4ODEsMHgyNSwweGE4LDB4MDgsMHg3OSwweDAyLDB4MzcsMHgwMCwweDg3IH0sCi0gIDE2LCAweGViNDAsIDAsIHsweDgwLDB4MjUsMHhlMCwweDBhLDB4NzgsMHgwYSwweGRlLDB4ODEsMHg4NywweDgwLDB4MjUsMHhlNSwweDQ4LDB4NzgsMHgwMiwweGM4IH0sCi0gIDE2LCAweGViNTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MGMsMHgwMCwweGIzLDB4MTAsMHgzMCwweDEyIH0sCi0gIDE2LCAweGViNjAsIDAsIHsweDBlLDB4MzAsMHgxMiwweGNjLDB4YzAsMHhjMywweDAwLDB4MzgsMHg4MCwweDBjLDB4MzEsMHgwNiwweDBjLDB4NDAsMHhmMSwweDAwIH0sCi0gIDE2LCAweGViNzAsIDAsIHsweDM4LDB4ODAsMHgwYywweDMwLDB4NDMsMHgwNCwweDQyLDB4YzMsMHgwMCwweDM2LDB4YzAsMHgwYywweDMyLDB4MDMsMHhjZSwweGMwIH0sCi0gIDE2LCAweGViODAsIDAsIHsweGRiLDB4MDAsMHgzMCwweGMwLDB4MGMsMHgzMCwweDAzLDB4ZDIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGViOTAsIDAsIHsweDQwLDB4MWQsMHhiYywweDAwLDB4ZmYsMHgxMCwweDNkLDB4ODQsMHg0ZiwweGYxLDB4MDMsMHhkMCwweDQwLDB4ZmMsMHgxMCwweDMzIH0sCi0gIDE2LCAweGViYTAsIDAsIHsweDgwLDB4NWQsMHhiMSwweDgzLDB4ZmMsMHg1MCwweGRkLDB4MGEsMHgyNSwweDg5LDB4MGYsMHhiOCwweDAzLDB4ZDQsMHgwMCwweGZmIH0sCi0gIDE2LCAweGViYjAsIDAsIHsweDEwLDB4M2YsMHhjMCwweDBmLDB4ZjQsMHgwMywweDNjLDB4NDAsMHhmZiwweDAwLDB4M2IsMHhjMCwweDBmLDB4ZjAsMHgwMywweGQwIH0sCi0gIDE2LCAweGViYzAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZWMsMHgwMCwweGZiLDB4MjAsMHgzZSwweDAwIH0sCi0gIDE2LCAweGViZDAsIDAsIHsweDBmLDB4YjUsMHgwMywweDI5LDB4MjAsMHhmOSwweDAwLDB4MzIsMHhhMCwweDBjLDB4YjAsMHg4MywweGVjLDB4MDAsMHg0OSwweGM4IH0sCi0gIDE2LCAweGViZTAsIDAsIHsweGIyLDB4YzAsMHg4YywweGEwLDB4MDMsMHg2NCwweDAwLDB4ZmIsMHgwOCwweDEyLDB4ZWEsMHgwYywweGIwLDB4MGIsMHgyYywweDgwIH0sCi0gIDE2LCAweGViZjAsIDAsIHsweGZiLDB4MjAsMHgyZSwweGQyLDB4NmMsMHhiNiwweDQzLDB4ZWEsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVjMDAsIDAsIHsweDQ4LDB4MTEsMHg5YywweDAwLDB4YjcsMHg0OSwweDJkLDB4MDAsMHgwYiwweDMwLDB4ODIsMHgxMCwweDAxLDB4YjUsMHgwMiwweDgzIH0sCi0gIDE2LCAweGVjMTAsIDAsIHsweGMwLDB4MWEsMHg3MiwweDIyLDB4ZGQsMHg0MSwweDg1LDB4MDAsMHg2MSwweGMwLDB4MTgsMHgyMCwweDIwLDB4MTQsMHgwMCwweGJmIH0sCi0gIDE2LCAweGVjMjAsIDAsIHsweDQwLDB4MzUsMHhkMCwweDBkLDB4MzQsMHgwMiwweDFkLDB4MjAsMHhiNywweDI4LDB4MjUsMHhjMSwweDA4LDB4NzQsMHg4MiwweGQyIH0sCi0gIDE2LCAweGVjMzAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4OWUsMHgwNCwweDM3LDB4YTAsMHgyZCwweDIwIH0sCi0gIDE2LCAweGVjNDAsIDAsIHsweDBiLDB4N2EsMHgxMiwweDE2LDB4MDEsMHhiMywweDgwLDB4MjEsMHhlMiwweDA4LDB4NzgsMHg0MiwweDllLDB4MDAsMHg4NSwweDgwIH0sCi0gIDE2LCAweGVjNTAsIDAsIHsweDIwLDB4ZTEsMHgxOCwweDY4LDB4MDIsMHg1NiwweDAwLDB4YjcsMHhhMCwweDI1LDB4ZTAsMHgwOCwweDdhLDB4MDIsMHgxZSwweDAwIH0sCi0gIDE2LCAweGVjNjAsIDAsIHsweGI3LDB4OTAsMHgyYywweGU1LDB4ODgsMHg3YSwweDAyLDB4ZjAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVjNzAsIDAsIHsweDQ4LDB4MTQsMHhjYywweDAwLDB4YjMsMHgwMCwweDZjLDB4MjQsMHgxYiwweDMwLDB4MDIsMHgwMCwweDAwLDB4YjAsMHgwMCwweDIwIH0sCi0gIDE2LCAweGVjODAsIDAsIHsweGY4LDB4MGEsMHgzMCwweDAyLDB4Y2MsMHgwMCwweDgxLDB4MDAsMHgyMCwweGQ4LDB4MTgsMHgyMCwweDAyLDB4MDQsMHgwMCwweGIzIH0sCi0gIDE2LCAweGVjOTAsIDAsIHsweDAwLDB4MjQsMHhjMCwweDA5LDB4MzAsMHgwMiwweDBjLDB4MDAsMHhiMywweDAwLDB4MjYsMHhjMCwweDA4LDB4MzAsMHgwMiwweGQyIH0sCi0gIDE2LCAweGVjYTAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YTgsMHgwMCwweGZhLDB4MDAsMHgzZCwweDgwIH0sCi0gIDE2LCAweGVjYjAsIDAsIHsweDBmLDB4MjAsMHgwYiwweDI4LDB4ODAsMHhmZSwweDAwLDB4MzMsMHhhMCwweDBjLDB4YTAsMHgwMywweGU4LDB4MDIsMHhjYSwweDAyIH0sCi0gIDE2LCAweGVjYzAsIDAsIHsweDMyLDB4OTAsMHgyYywweGU0LDB4MDMsMHg3OCwweDAwLDB4ZmEsMHgwMCwweDMyLDB4ODAsMHgwYywweGEwLDB4MDMsMHgyOCwweDAwIH0sCi0gIDE2LCAweGVjZDAsIDAsIHsweGZhLDB4MDAsMHgzZSwweDgwLDB4MGMsMHhhMCwweDAzLDB4ZmEsMHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVjZTAsIDAsIHsweDQ4LDB4MDAsMHhlMSwweDAwLDB4ZjAsMHgwMCwweDNlLDB4MDAsMHg0ZiwweDgwLDB4MDMsMHhlMCwweDgwLDB4ZjgsMHgwMCwweDNlIH0sCi0gIDE2LCAweGVjZjAsIDAsIHsweDAwLDB4MGYsMHg4MCwweDIzLDB4YzAsMHgwMCwweGY4LDB4MDIsMHgzYywweDAwLDB4MGYsMHhjMCwweDgzLDB4NjAsMHgwMCwweGI4IH0sCi0gIDE2LCAweGVkMDAsIDAsIHsweDAwLDB4M2UsMHgwMCwweDBmLDB4ODAsMHgyMywweGUwLDB4MTgsMHhmOCwweDAxLDB4MzYsMHgwMCwweDBmLDB4ODAsMHgwMywweGQyIH0sCi0gIDE2LCAweGVkMTAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTYsMHgwMCwweGY5LDB4MjEsMHgzMiwweDYwIH0sCi0gIDE2LCAweGVkMjAsIDAsIHsweDBjLDB4OTAsMHgwMywweDJjLDB4NDQsMHhmOSwweDAwLDB4YjIsMHg0MCwweDBmLDB4OTAsMHgxYiwweDI0LDB4MDAsMHhlOSwweDAwIH0sCi0gIDE2LCAweGVkMzAsIDAsIHsweDNlLDB4NDAsMHgwYywweDEwLDB4MDMsMHhhNCwweDAwLDB4ZjksMHgwMCwweDMyLDB4NDAsMHgwZiwweDEwLDB4MzMsMHgyNCwweDEwIH0sCi0gIDE2LCAweGVkNDAsIDAsIHsweGYxLDB4MDAsMHgzMiwweDQwLDB4MGMsMHg5MCwweDAzLDB4MDIsMHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVkNTAsIDAsIHsweDgwLDB4MDQsMHg2NCwweDAwLDB4YjksMHg0MCwweGEyLDB4NDEsMHgwOCwweDkwLDB4MDIsMHgyNCwweDgwLDB4ZTksMHgwMCwweDIyIH0sCi0gIDE2LCAweGVkNjAsIDAsIHsweDQwLDB4MGIsMHg5MCwweDEyLDB4MjQsMHgwMCwweDg5LDB4MDAsMHg2ZSwweDQxLDB4MTgsMHg5MCwweDQyLDB4MjQsMHgwMCwweGI5IH0sCi0gIDE2LCAweGVkNzAsIDAsIHsweDA0LDB4MmEsMHg0MSwweDBiLDB4OTAsMHgwMywweDY0LDB4MDAsMHhmOSwweDAwLDB4MmEsMHg0MCwweDBhLDB4OTAsMHgwYSwweDIwIH0sCi0gIDE2LCAweGVkODAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDAxLDB4MjQsMHg4MCwweGI5LDB4NDIsMHg2MiwweDQ4IH0sCi0gIDE2LCAweGVkOTAsIDAsIHsweDI4LDB4OTAsMHgwYSwweDI0LDB4MDAsMHhiMSwweDAwLDB4MjIsMHg0MCwweDBiLDB4MTAsMHgwMiwweDI0LDB4MTAsMHhiOSwweDAyIH0sCi0gIDE2LCAweGVkYTAsIDAsIHsweDJlLDB4NDAsMHgwOCwweGQwLDB4MDIsMHhhNCwweDAwLDB4YjEsMHgwMCwweDIyLDB4NDAsMHgwYiwweDkwLDB4MDIsMHgyNCwweDA0IH0sCi0gIDE2LCAweGVkYjAsIDAsIHsweGI5LDB4MDAsMHgyMiwweDQwLDB4MDgsMHgxMCwweDAyLDB4MDYsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVkYzAsIDAsIHsweDA4LDB4MDQsMHgwYywweDAwLDB4YjEsMHgyMCwweDYwLDB4NDAsMHgwOCwweDEyLDB4MDIsMHgwNCwweDAwLDB4YTEsMHgyMCwweDIwIH0sCi0gIDE2LCAweGVkZDAsIDAsIHsweDQwLDB4MGIsMHgxMiwweDAyLDB4MDQsMHg4MCwweDkxLDB4MjAsMHgyZCwweDY4LDB4MDgsMHg1MiwweDEyLDB4MDQsMHgwMCwweGIxIH0sCi0gIDE2LCAweGVkZTAsIDAsIHsweDI4LDB4MjgsMHg0YSwweDA5LDB4MTIsMHg4MiwweDQ0LDB4YTAsMHhiMSwweDJjLDB4MjgsMHg0YSwweDBhLDB4MTIsMHg4MiwweDAyIH0sCi0gIDE2LCAweGVkZjAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjAsMHgwMCwweGY4LDB4MDAsMHgzMiwweDE0IH0sCi0gIDE2LCAweGVlMDAsIDAsIHsweDBjLDB4ODAsMHgwMywweDIwLDB4MDAsMHhmOCwweDUwLDB4MzIsMHgxNCwweDBmLDB4ODUsMHgwMywweDAxLDB4NDAsMHhmOCwweDAwIH0sCi0gIDE2LCAweGVlMTAsIDAsIHsweDJlLDB4MDAsMHgyOCwweGMwLDB4MDMsMHhhMCwweDAwLDB4ZjgsMHgyNCwweDMwLDB4MDgsMHgwZiwweDgyLDB4MjMsMHgyMCwweDgwIH0sCi0gIDE2LCAweGVlMjAsIDAsIHsweGY4LDB4MjAsMHgzMiwweDA4LDB4MGMsMHg4MiwweDAzLDB4MmUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVlMzAsIDAsIHsweDk4LDB4MWQsMHhlNCwweDA4LDB4ZjksMHgxMCwweDNmLDB4NDAsMHg4ZiwweDkxLDB4MTMsMHhlNCwweDAwLDB4ZWQsMHgxMCwweDNmIH0sCi0gIDE2LCAweGVlNDAsIDAsIHsweDUwLDB4MGYsMHg5MSwweDAzLDB4ZTQsMHg0MCwweGE1LDB4MTAsMHgzZSwweDQ0LDB4MGYsMHg5MSwweDAzLDB4ZjQsMHgwNCwweGY5IH0sCi0gIDE2LCAweGVlNTAsIDAsIHsweDI4LDB4M2UsMHg0YiwweDBiLDB4OTIsMHhhMywweGU0LDB4YTAsMHhlOSwweDI4LDB4M2UsMHg0YSwweDBmLDB4OTIsMHg4MywweGU2IH0sCi0gIDE2LCAweGVlNjAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4ZjQsMHgwMCwweGNkLDB4MDAsMHgzMywweDQwIH0sCi0gIDE2LCAweGVlNzAsIDAsIHsweDgwLDB4ZDAsMHgwMSwweGY0LDB4MDAsMHhhNSwweDAwLDB4MjYsMHg0MCwweDBmLDB4OTAsMHgwMywweDI2LDB4MDAsMHhmMSwweDg4IH0sCi0gIDE2LCAweGVlODAsIDAsIHsweDNlLDB4NjgsMHgwZCwweDk4LDB4ODMsMHg0NCwweDAwLDB4YzksMHhjMCwweDNhLDB4NDAsMHgwYywweDk4LDB4MDMsMHgyNCwweDA4IH0sCi0gIDE2LCAweGVlOTAsIDAsIHsweGY5LDB4YTAsMHgzMiwweDc4LDB4MGYsMHg5YSwweDAzLDB4MDYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVlYTAsIDAsIHsweDM4LDB4MTAsMHhlMCwweDAyLDB4ODgsMHgwMCwweGEyLDB4MDAsMHgwOCwweDgwLDB4MDIsMHhlMCwweDAwLDB4MGEsMHgwMCwweDIyIH0sCi0gIDE2LCAweGVlYjAsIDAsIHsweDAwLDB4MGIsMHg4MCwweDAyLDB4MjAsMHgwMCwweGI4LDB4NDAsMHgyZSwweDE0LDB4MDgsMHg4MCwweDQzLDB4MzAsMHgwMCwweDg4IH0sCi0gIDE2LCAweGVlYzAsIDAsIHsweGEwLDB4MjIsMHgyYSwweDBhLDB4OGEsMHg0MiwweGEwLDB4MDUsMHhiOCwweDQyLDB4MzIsMHgzOCwweDBiLDB4ODAsMHgwMiwweDBlIH0sCi0gIDE2LCAweGVlZDAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4YzQsMHgwMywweDkxLDB4MDAsMHgyNCwweDQwIH0sCi0gIDE2LCAweGVlZTAsIDAsIHsweDBiLDB4MTAsMHgwMiwweGM0LDB4MTEsMHhiMSwweDA0LDB4MjAsMHg0MSwweDFiLDB4MTAsMHgyMiwweDQ1LDB4MDAsMHhiNSwweDAwIH0sCi0gIDE2LCAweGVlZjAsIDAsIHsweDI1LDB4NDAsMHgwOSwweDUwLDB4MDIsMHg1NCwweDAxLDB4ODEsMHg0MCwweDJjLDB4NDAsMHgwOSwweDE0LDB4OTIsMHg0NCwweDAwIH0sCi0gIDE2LCAweGVmMDAsIDAsIHsweGIxLDB4NDAsMHgyNCwweDRjLDB4MGIsMHgxNCwweDBhLDB4NDIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVmMTAsIDAsIHsweDE4LDB4MTUsMHhhNCwweDAwLDB4OTksMHgwMCwweDI0LDB4NDIsMHgwYiwweDkwLDB4MDIsMHhlNCwweDAxLDB4OTksMHgyMCwweDI2IH0sCi0gIDE2LCAweGVmMjAsIDAsIHsweDQwLDB4Y2IsMHg5MCwweDAyLDB4NjQsMHgwMCwweGJiLDB4MDAsMHgyZiwweDQxLDB4MGEsMHhkMCwweDAyLDB4MzQsMHgwMCwweDg5IH0sCi0gIDE2LCAweGVmMzAsIDAsIHsweDAwLDB4MjYsMHg0MCwweDBiLDB4MTAsMHgwMiwweGU0LDB4MDAsMHgzMSwweDAwLDB4NjIsMHg0MCwweDBiLDB4OTAsMHgwMiwweDQ2IH0sCi0gIDE2LCAweGVmNDAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4YzQsMHgwMCwweGQ5LDB4MDEsMHgzNiwweDUwIH0sCi0gIDE2LCAweGVmNTAsIDAsIHsweDJmLDB4OTAsMHgwMywweGU2LDB4NjAsMHhmOSwweDgwLDB4MzYsMHg1MiwweDBiLDB4OTAsMHgwYSwweDY0LDB4MDAsMHhmOSwweDAwIH0sCi0gIDE2LCAweGVmNjAsIDAsIHsweDM2LDB4NDAsMHgwZCwweDkwLDB4MDMsMHg2NCwweDAyLDB4MDksMHgwMCwweDNlLDB4NDAsMHgwZCwweDkwLDB4MDMsMHg2NCwweDAwIH0sCi0gIDE2LCAweGVmNzAsIDAsIHsweGI5LDB4MDAsMHhiNiwweDQwLDB4MGYsMHg5MCwweDAzLDB4NjgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVmODAsIDAsIHsweDI4LDB4MDEsMHhhNCwweDAwLDB4ZTEsMHgwMCwweDNhLDB4NDEsMHgwYywweDkwLDB4MjMsMHhlNiwweDIwLDB4ZTksMHgwMCwweGJhIH0sCi0gIDE2LCAweGVmOTAsIDAsIHsweDcwLDB4MGYsMHg5MCwweDAzLDB4YTQsMHgwMCwweGY5LDB4MDAsMHgzZSwweDQwLDB4MGQsMHgxMCwweDEzLDB4YTcsMHgwMCwweGY5IH0sCi0gIDE2LCAweGVmYTAsIDAsIHsweDAwLDB4M2EsMHg0MCwweDBlLDB4OTAsMHg0MywweGE0LDB4MDgsMHhmOSwweDAwLDB4M2EsMHg0MCwweDBmLDB4OTAsMHgwMywweDhhIH0sCi0gIDE2LCAweGVmYjAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTAsMHgyMCwweGY4LDB4MDAsMHgzMiwweDAwIH0sCi0gIDE2LCAweGVmYzAsIDAsIHsweDBmLDB4ODAsMHg4MywweDIxLDB4MDAsMHhmMCwweDAwLDB4M2EsMHgxMSwweDA5LDB4ODAsMHgwMywweGUwLDB4MDAsMHhjOCwweDAxIH0sCi0gIDE2LCAweGVmZDAsIDAsIHsweDMwLDB4MDEsMHgwYywweDgwLDB4MDMsMHhiMCwweDAwLDB4ZDAsMHgwMCwweDM0LDB4MDAsMHgwZCwweDgwLDB4MDMsMHgyMCwweDAwIH0sCi0gIDE2LCAweGVmZTAsIDAsIHsweGM4LDB4MDAsMHgzMiwweDAwLDB4MGMsMHg4MCwweDAzLDB4MGEsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVmZjAsIDAsIHsweDI4LDB4MDUsMHgzOCwweDAwLDB4YmUsMHgwMCwweDIyLDB4ODAsMHgwMywweGU4LDB4MDIsMHgxYSwweDA4LDB4YmUsMHg0OCwweDIyIH0sCi0gIDE2LCAweGYwMDAsIDAsIHsweDgwLDB4MGEsMHhhMCwweDAzLDB4YjgsMHgwMCwweGNhLDB4MDgsMHgyMiwweDgwLDB4MGYsMHhhNCwweDAyLDB4MDgsMHgwMCwweDhhIH0sCi0gIDE2LCAweGYwMTAsIDAsIHsweDAwLDB4MjIsMHg4MCwweDhkLDB4YTAsMHgwMiwweDI4LDB4MDAsMHhkYSwweDAwLDB4MmEsMHg4MSwweDA4LDB4YTAsMHgwMiwweDhhIH0sCi0gIDE2LCAweGYwMjAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NDQsMHgwMCwweGIzLDB4MDAsMHgyMCwweDQwIH0sCi0gIDE2LCAweGYwMzAsIDAsIHsweDBiLDB4MzAsMHgwMiwweDA4LDB4MDAsMHhiMCwweDY0LDB4NjgsMHhjMSwweDA4LDB4YjAsMHgyMiwweGNjLDB4MGMsMHg5MywweDgwIH0sCi0gIDE2LCAweGYwNDAsIDAsIHsweDAwLDB4YzAsMHg0OCwweDM2LDB4MDIsMHg4OCwweDAwLDB4YjMsMHgwMCwweDI0LDB4YzAsMHgwOCwweDMwLDB4MDYsMHgwYywweDAxIH0sCi0gIDE2LCAweGYwNTAsIDAsIHsweGEzLDB4MDIsMHgyYywweGMwLDB4MDgsMHhiMCwweDAyLDB4MGEsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYwNjAsIDAsIHsweGEwLDB4MDEsMHgxNCwweDA4LDB4YjUsMHgwMCwweDIxLDB4NDAsMHgwYiwweDM4LDB4ODIsMHgxYywweDIxLDB4YjcsMHgwMCwweDIzIH0sCi0gIDE2LCAweGYwNzAsIDAsIHsweGU4LDB4NGEsMHg3MiwweDI2LDB4OWUsMHg0MCwweDhmLDB4ODEsMHhhYiwweDQwLDB4NDIsMHg3MCwweDUyLDB4MzgsMHgwMCwweGEzIH0sCi0gIDE2LCAweGYwODAsIDAsIHsweDIyLDB4MjAsMHhjNCwweDQ5LDB4MzEsMHgwMiwweDFlLDB4MGEsMHhiNywweDIyLDB4MmQsMHhlOCwweDA4LDB4NzIsMHgwMiwweGE4IH0sCi0gIDE2LCAweGYwOTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MTIsMHgwMCwweGY2LDB4ODAsMHgyMSwweGUwIH0sCi0gIDE2LCAweGYwYTAsIDAsIHsweDBiLDB4NzgsMHgwYiwweDFlLDB4MDAsMHhiNCwweDgyLDB4M2IsMHhlOCwweDRjLDB4N2MsMHgxMywweGZlLDB4MDIsMHg5NywweDgwIH0sCi0gIDE2LCAweGYwYjAsIDAsIHsweDMzLDB4YTAsMHgwOCwweDM4LDB4MDMsMHg5YSwweDAwLDB4ZjcsMHg4OCwweDM1LDB4ZTIsMHgwYywweDc4LDB4ZTMsMHgwZSwweDAwIH0sCi0gIDE2LCAweGYwYzAsIDAsIHsweGUzLDB4ZTgsMHgzNCwweGY4LDB4MGMsMHgzYywweDIzLDB4MmEsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYwZDAsIDAsIHsweDA4LDB4MWQsMHhhOCwweDA0LDB4ZjEsMHgwMCwweDNlLDB4NDIsMHgwZiwweGIwLDB4MTMsMHhlYywweDAwLDB4ZmIsMHgwMCwweGJlIH0sCi0gIDE2LCAweGYwZTAsIDAsIHsweGNjLDB4MWUsMHhiNiwweDA3LDB4ZWQsMHg4MCwweGZiLDB4MDAsMHgzNiwweDAwLDB4MGYsMHhiMCwweDQzLDB4NjgsMHgwMCwweGNiIH0sCi0gIDE2LCAweGYwZjAsIDAsIHsweDMwLDB4M2UsMHhkOCwweDBmLDB4YjYsMHgwYiwweGVkLDB4NDAsMHhjYiwweDAwLDB4M2EsMHhjMCwweDJmLDB4YjYsMHgwMywweGMyIH0sCi0gIDE2LCAweGYxMDAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZjIsMHg0MCwweGZiLDB4OTEsMHgzZCwweDRjIH0sCi0gIDE2LCAweGYxMTAsIDAsIHsweDgwLDB4ZjgsMHgwMywweGRlLDB4NDAsMHhjNiwweDgwLDB4MWIsMHhmMCwweDRmLDB4ZmQsMHgwNywweGZmLDB4MDAsMHhjZCwweDgwIH0sCi0gIDE2LCAweGYxMjAsIDAsIHsweDMzLDB4ZTAsMHgwYywweDY4LDB4MDMsMHhiYSwweDAwLDB4ZmYsMHg4MCwweDMzLDB4ZTAsMHgwNywweGY4LDB4MDMsMHgzZiwweDEwIH0sCi0gIDE2LCAweGYxMzAsIDAsIHsweGNmLDB4ODAsMHgzZiwweGUwLDB4MGMsMHhmYywweDAzLDB4MDAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYxNDAsIDAsIHsweGE4LDB4MTEsMHg5MCwweDAwLDB4YjUsMHhjMCwweDJkLDB4NDAsMHgwOCwweDYyLDB4MDIsMHhkYywweDIwLDB4ZDYsMHgwMiwweDIxIH0sCi0gIDE2LCAweGYxNTAsIDAsIHsweGM4LDB4OGYsMHg3MCwweDAyLDB4ZGMsMHg4MSwweGI1LDB4MDAsMHg4MSwweDQ0LDB4MGQsMHg2MSwweDIyLDB4MTgsMHgwNCwweGI3IH0sCi0gIDE2LCAweGYxNjAsIDAsIHsweDAwLDB4MzUsMHhjMCwweDBiLDB4NzAsMHgwMiwweGJjLDB4MDAsMHhhNywweDAxLDB4MmQsMHhjMCwweDA4LDB4NzAsMHgwMywweGVhIH0sCi0gIDE2LCAweGYxNzAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OTAsMHgwMSwweGI2LDB4MDEsMHgyZiwweGMwIH0sCi0gIDE2LCAweGYxODAsIDAsIHsweDE4LDB4NzAsMHgwMiwweGRjLDB4MGEsMHg5NiwweDEwLDB4MjksMHhjMSwweDRiLDB4NzAsMHgwNiwweGRjLDB4MTAsMHg4NSwweDAwIH0sCi0gIDE2LCAweGYxOTAsIDAsIHsweDI1LDB4ODAsMHgwOCwweDYwLDB4ODIsMHgxYSwweDIwLDB4YTMsMHgwMCwweDI1LDB4YzAsMHgwYiwweDMxLDB4MDIsMHg1YywweDQwIH0sCi0gIDE2LCAweGYxYTAsIDAsIHsweDg3LDB4MDAsMHgyZCwweGMwLDB4MDgsMHg3MCwweDAyLDB4MDAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYxYjAsIDAsIHsweDIwLDB4MTQsMHhjOCwweDAwLDB4YjEsMHgwMCwweDJjLDB4NDAsMHg4OCwweDIwLDB4MDIsMHhlZCwweDAwLDB4OGEsMHg2MCwweDIwIH0sCi0gIDE2LCAweGYxYzAsIDAsIHsweGMwLDB4MGEsMHgzMCwweDAyLDB4Y2MsMHgwNCwweGIxLDB4MDAsMHgyNCwweDAwLDB4MjgsMHgyNCwweDAyLDB4MGEsMHgwMCwweDMzIH0sCi0gIDE2LCAweGYxZDAsIDAsIHsweDAwLDB4MjQsMHhjMCwweDBiLDB4YjAsMHgwMiwweGNjLDB4MDAsMHhhMywweDAwLDB4MmMsMHhjMCwweDg4LDB4MzAsMHgwMiwweDg4IH0sCi0gIDE2LCAweGYxZTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YTAsMHgwMCwweGZiLDB4MDAsMHgzZSwweGM2IH0sCi0gIDE2LCAweGYxZjAsIDAsIHsweDBjLDB4ODAsMHgwMywweGU1LDB4MDAsMHgwOSwweGM4LDB4YWIsMHhlMiwweDBiLDB4ZjAsMHgwMiwweGZjLDB4MDAsMHg0YSwweDAwIH0sCi0gIDE2LCAweGYyMDAsIDAsIHsweDM2LDB4YzAsMHgwOCwweDkwLDB4MDMsMHhhNiwweDAwLDB4ZmYsMHgwMCwweDMzLDB4YzAsMHgwZiwweGYwLDB4MDMsMHg3YywweDAwIH0sCi0gIDE2LCAweGYyMTAsIDAsIHsweDhmLDB4MDAsMHgyZiwweGMwLDB4MjgsMHhmMCwweDAyLDB4MmEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYyMjAsIDAsIHsweDgwLDB4MDAsMHhlMSwweDAwLDB4ZmEsMHgwMSwweDNlLDB4YzAsMHgwZiwweDgwLDB4MDMsMHhlYywweDAwLDB4ZjksMHg0MCwweDNlIH0sCi0gIDE2LCAweGYyMzAsIDAsIHsweGMwLDB4MDcsMHhiMCwweDAzLDB4ZWMsMHgwMCwweGZhLDB4MDAsMHgzYSwweDQwLDB4MGYsMHg5MCwweDIzLDB4ZTUsMHgwMCwweGZiIH0sCi0gIDE2LCAweGYyNDAsIDAsIHsweDAwLDB4M2UsMHhjMCwweDBmLDB4YjAsMHgwMywweGFjLDB4MDAsMHhmYiwweDAwLDB4M2MsMHhjMCwweDBmLDB4YjAsMHgyMywweGUwIH0sCi0gIDE2LCAweGYyNTAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZjAsMHgwMCwweGZjLDB4MjAsMHgzZiwweGMwIH0sCi0gIDE2LCAweGYyNjAsIDAsIHsweDBjLDB4YzgsMHgwMywweGZjLDB4MjAsMHhjZCwweDgxLDB4YjMsMHhjMiwweDRmLDB4ZjAsMHgwMywweGZjLDB4MDAsMHhjYSwweDAwIH0sCi0gIDE2LCAweGYyNzAsIDAsIHsweDNjLDB4ODAsMHgwYywweGQwLDB4ODIsMHgzNiwweDAxLDB4ZmYsMHgwMCwweDNmLDB4YzAsMHgwZiwweGYwLDB4MDMsMHgzYywweDA4IH0sCi0gIDE2LCAweGYyODAsIDAsIHsweGNmLDB4MDQsMHgzYSwweGMwLDB4NWMsMHhiMCwweDAzLDB4YzAsMHg0NCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYyOTAsIDAsIHsweDgxLDB4MDQsMHg2MiwweDA0LDB4YjgsMHg0MCwweDJjLDB4NjAsMHgwOCwweDg5LDB4MDIsMHhlZSwweDgwLDB4YTksMHg2MCwweDJhIH0sCi0gIDE2LCAweGYyYTAsIDAsIHsweGMwLDB4MGIsMHhiMCwweDAzLDB4OGMsMHgwMCwweGFhLDB4NDAsMHgyZSwweDAwLDB4MDgsMHgxMCwweDAyLDB4MjYsMHg4MSwweGViIH0sCi0gIDE2LCAweGYyYjAsIDAsIHsweDAwLDB4MjYsMHhjMCwweDhiLDB4YjAsMHgxMywweDZjLDB4MDAsMHhkYiwweDAwLDB4MmUsMHhjMCwweDNkLDB4YjAsMHgwMiwweGUwIH0sCi0gIDE2LCAweGYyYzAsIDAsIHsweDQwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MjMsMHgwMCwweGJiLDB4MDMsMHgyZSwweGM4IH0sCi0gIDE2LCAweGYyZDAsIDAsIHsweDA5LDB4YjAsMHgwMiwweGVlLDB4MDAsMHg4YiwweDEwLDB4MjYsMHhjMCwweDBiLDB4YjAsMHgwMiwweGVjLDB4MDAsMHhhOCwweDAwIH0sCi0gIDE2LCAweGYyZTAsIDAsIHsweDJlLDB4YzAsMHgwOCwweDg4LDB4MjIsMHhhNCwweDgwLDB4YmIsMHgwMCwweDJlLDB4YzAsMHg0YiwweGIwLDB4MjIsMHgwYywweDAwIH0sCi0gIDE2LCAweGYyZjAsIDAsIHsweDhiLDB4MDAsMHgyZSwweGMwLDB4MGIsMHhiMCwweDAyLDB4ZTAsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYzMDAsIDAsIHsweDA4LDB4MDQsMHgwMCwweDAwLDB4YjIsMHgwMCwweDJlLDB4YzAsMHgyOSwweDI4LDB4MDIsMHhlYywweDAxLDB4YTAsMHgwMiwweDIwIH0sCi0gIDE2LCAweGYzMTAsIDAsIHsweGMwLDB4MDksMHgzMCwweDAyLDB4Y2MsMHgwMCwweGEwLDB4MDAsMHgyYywweDQwLDB4MDgsMHgwMCwweDQyLDB4ODQsMHgwMCwweDkzIH0sCi0gIDE2LCAweGYzMjAsIDAsIHsweDAwLDB4NmMsMHhjMCwweDBiLDB4MzAsMHgwNiwweDRkLDB4MDAsMHg5MywweDAwLDB4MmMsMHhjMCwweDA4LDB4MzAsMHgwMiwweGMyIH0sCi0gIDE2LCAweGYzMzAsIDAsIHsweDExLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4NjAsMHgwMCwweGY4LDB4MjAsMHgyZiwweGMwIH0sCi0gIDE2LCAweGYzNDAsIDAsIHsweDBkLDB4YjAsMHgwMywweGVjLDB4MDAsMHhjYiwweDAwLDB4MzMsMHhjMCwweDBiLDB4ZjAsMHgwMywweGZjLDB4MTgsMHhlOCwweDAwIH0sCi0gIDE2LCAweGYzNTAsIDAsIHsweDJlLDB4ODAsMHgwOCwweDgwLDB4MDMsMHhhNCwweDAwLDB4YmYsMHgwMCwweDNmLDB4YzAsMHgwZiwweGYwLDB4NDMsMHgzZCwweDExIH0sCi0gIDE2LCAweGYzNjAsIDAsIHsweGNmLDB4MDMsMHgzZSwweGMxLDB4NWQsMHhmMCwweDIzLDB4YzAsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYzNzAsIDAsIHsweGEwLDB4MWQsMHhmMCwweDAwLDB4ZmMsMHgxMCwweDNmLDB4NDAsMHgwZSwweGUwLDB4MDMsMHhmYywweDAwLDB4ZmMsMHgwMCwweDNmIH0sCi0gIDE2LCAweGYzODAsIDAsIHsweGMwLDB4MGYsMHhmMCwweDAzLDB4YmMsMHgwMCwweGZjLDB4MDAsMHgzZiwweDAwLDB4MmYsMHhjMCwweDAzLDB4NzQsMHgwMCwweGVmIH0sCi0gIDE2LCAweGYzOTAsIDAsIHsweDAwLDB4MjcsMHhjMCwweDBmLDB4ZjAsMHgwMywweGZjLDB4MTgsMHhmZiwweDAwLDB4M2YsMHhjMCwweDBmLDB4ZjAsMHgwMywweGU4IH0sCi0gIDE2LCAweGYzYTAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDE1LDB4ZmMsMHg4OCwweDljLDB4MjksMHgzZiwweDA4IH0sCi0gIDE2LCAweGYzYjAsIDAsIHsweDBmLDB4ZDIsMHg4MywweGVjLDB4MDAsMHhmZiwweDA4LDB4M2YsMHgyOCwweDBmLDB4Y2EsMHgwMywweDNjLDB4NDEsMHhjZiwweDIwIH0sCi0gIDE2LCAweGYzYzAsIDAsIHsweDczLDB4MmMsMHgwYywweGMwLDB4MDMsMHgzMCwweDIwLDB4Y2YsMHg2MCwweDMzLDB4ZDgsMHgwZiwweDc4LDB4MDMsMHgzZiwweDgwIH0sCi0gIDE2LCAweGYzZDAsIDAsIHsweGRkLDB4OTIsMHgzMywweGM4LDB4MGYsMHg1MCwweDAzLDB4MzAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYzZTAsIDAsIHsweDgwLDB4MTAsMHhlNSwweDQwLDB4ODgsMHg0MCwweDJlLDB4MDQsMHg4YiwweDk0LDB4MDIsMHhlNCwweDAwLDB4YjksMHgwMCwweDBlIH0sCi0gIDE2LCAweGYzZjAsIDAsIHsweDdmLDB4OGYsMHg5ZSwweDgzLDB4NjUsMHg4MiwweGNmLDB4NjgsMHgzZSwweDUwLDB4OGQsMHgwNCwweDkyLDB4MmYsMHgwNCwweGQzIH0sCi0gIDE2LCAweGY0MDAsIDAsIHsweDQwLDB4NzQsMHhkYywweDBkLDB4YTIsMHgwMiwweDIwLDB4NDAsMHg4OSwweDAwLDB4MjIsMHhmMCwweDBiLDB4OTgsMHgwMiwweDIwIH0sCi0gIDE2LCAweGY0MTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4YzgsMHgwOSwweGEwLDB4ODUsMHgyYywweDAxIH0sCi0gIDE2LCAweGY0MjAsIDAsIHsweDBiLDB4MDAsMHgxMCwweGNjLDB4NDAsMHhhMiwweDA4LDB4MmMsMHgwMCwweGRiLDB4MTEsMHgwMiwweDg5LDB4MDAsMHg5MywweDMwIH0sCi0gIDE2LCAweGY0MzAsIDAsIHsweDIwLDB4MDUsMHgwOCwweDEzLDB4MDIsMHg4MCwweDA4LDB4YTMsMHg2MCwweDYwLDB4YzAsMHgwYSwweGIwLDB4ODIsMHgwOCwweDg0IH0sCi0gIDE2LCAweGY0NDAsIDAsIHsweDgxLDB4MjAsMHgyMCwweGQwLDB4MGIsMHgxMCwweDAyLDB4YTIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY0NTAsIDAsIHsweGMwLDB4MTUsMHhhNCwweDEyLDB4ODgsMHg4MCwweDZlLDB4MjAsMHgwYiwweDg4LDB4ODIsMHhlZSwweDAwLDB4YmEsMHg4MSwweDJlIH0sCi0gIDE2LCAweGY0NjAsIDAsIHsweDYwLDB4NWEsMHg5OCwweDAyLDB4YTIsMHgwMCwweDhiLDB4MDAsMHgyYSwweDYwLDB4MDgsMHgxMSwweDFhLDB4MmMsMHgwMCwweGJiIH0sCi0gIDE2LCAweGY0NzAsIDAsIHsweDAwLDB4MjIsMHhjMCwweDA4LDB4YjgsMHgwYSwweDI4LDB4MDAsMHg4MSwweDIwLDB4MDIsMHhjMCwweDBiLDB4OTAsMHgwMiwweGIwIH0sCi0gIDE2LCAweGY0ODAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDA1LDB4ZWQsMHgwMCwweGQ5LDB4ODAsMHgzZSwweDIwIH0sCi0gIDE2LCAweGY0OTAsIDAsIHsweDRmLDB4OTgsMHgwMCwweGViLDB4MjAsMHhmYiwweGUwLDB4MmUsMHg2MCwweDBiLDB4OGMsMHg2MiwweGFlLDB4MjAsMHg4YiwweDAwIH0sCi0gIDE2LCAweGY0YTAsIDAsIHsweDIyLDB4NjAsMHgwOCwweGJjLDB4MDMsMHhhMCwweDIwLDB4ZWIsMHgwMCwweDIyLDB4YzEsMHgwYSwweDE4LDB4MGIsMHgyNSwweDAwIH0sCi0gIDE2LCAweGY0YjAsIDAsIHsweGQ5LDB4MDAsMHhiMiwweGMwLDB4MGYsMHg5MCwweDBiLDB4OTAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY0YzAsIDAsIHsweGUwLDB4MDEsMHg5NCwweDg4LDB4ZmYsMHgwMCwweDNmLDB4MDEsMHgwZiwweGQwLDB4MDEsMHhmMCwweDA4LDB4ZGQsMHgwMSwweDNmIH0sCi0gIDE2LCAweGY0ZDAsIDAsIHsweDQyLDB4MDcsMHg0MCwweDAzLDB4NWMsMHgwMCwweGFmLDB4MDAsMHgzZiwweDQwLDB4MGYsMHhmOCwweDAwLDB4ZjAsMHgwMCwweGRmIH0sCi0gIDE2LCAweGY0ZTAsIDAsIHsweDAwLDB4M2YsMHhjMCwweDBmLDB4YzAsMHgyMywweGY0LDB4NTAsMHhmZCwweDgwLDB4M2YsMHhjMCwweDBmLDB4ZDAsMHgwMywweDc4IH0sCi0gIDE2LCAweGY0ZjAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDAwLDB4YWMsMHgwMCwweGQ5LDB4MDAsMHgzZSwweDQwIH0sCi0gIDE2LCAweGY1MDAsIDAsIHsweDBmLDB4OTQsMHgwMywweGE4LDB4MjAsMHhjYSwweDQwLDB4M2EsMHg0MCwweDBmLDB4OTQsMHgwMywweGVhLDB4MDgsMHhmYiwweDAwIH0sCi0gIDE2LCAweGY1MTAsIDAsIHsweDNhLDB4MDAsMHg0YywweGY2LDB4MjMsMHgyYywweDMwLDB4Y2IsMHgwMCwweDM2LDB4YzAsMHgwZCwweDkwLDB4MDMsMHhhMSwweDAyIH0sCi0gIDE2LCAweGY1MjAsIDAsIHsweGQ5LDB4MDAsMHhiYSwweGMwLDB4MGYsMHg5OCwweDAzLDB4MTAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY1MzAsIDAsIHsweGM4LDB4MDUsMHgyNCwweDAwLDB4OGEsMHgwMCwweDJlLDB4NDAsMHgwYiwweDk1LDB4MDIsMHhlMCwweDA4LDB4ODgsMHg4MCwweDIyIH0sCi0gIDE2LCAweGY1NDAsIDAsIHsweDcwLDB4OGYsMHg4YywweDAyLDB4ZTAsMHgwMCwweGJmLDB4MDIsMHgyMCwweDAwLDB4MDgsMHhiOCwweDAyLDB4MGUsMHgwMCwweGRmIH0sCi0gIDE2LCAweGY1NTAsIDAsIHsweDAwLDB4MjMsMHhkZCwweDA4LDB4OTgsMHg4MiwweDJhLDB4MDAsMHg4OSwweDgwLDB4MjMsMHhjMCwweDBiLDB4NTAsMHgxYSwweDMyIH0sCi0gIDE2LCAweGY1NjAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NDQsMHgwMCwweDgzLDB4MDUsMHgyNCwweDQxIH0sCi0gIDE2LCAweGY1NzAsIDAsIHsweDA5LDB4MTAsMHgwMiwweGNlLDB4MDAsMHg4MywweDkwLDB4MmMsMHg4MCwweDFiLDB4MjQsMHg4MiwweGNjLDB4MDAsMHhiYiwweDAwIH0sCi0gIDE2LCAweGY1ODAsIDAsIHsweDJjLDB4ODAsMHgwOCwweDA0LDB4MDgsMHgwNCwweDAxLDB4OGIsMHgwMCwweDIyLDB4YzAsMHgyOCwweDEyLDB4MDIsMHg2YywweDgwIH0sCi0gIDE2LCAweGY1OTAsIDAsIHsweDgxLDB4NDgsMHgyNCwweGM0LDB4MGIsMHgxMCwweDAyLDB4MzgsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY1YTAsIDAsIHsweDIwLDB4MDEsMHgzZSwweDQyLDB4ODYsMHg4MCwweDJkLDB4NjAsMHgwYiwweDY4LDB4MDIsMHhmNiwweDkwLDB4OGQsMHg4MCwweDIxIH0sCi0gIDE2LCAweGY1YjAsIDAsIHsweDIyLDB4MGIsMHg1OCwweDAyLDB4ZDcsMHg0MCwweGI3LDB4OTAsMHgyMSwweGUwLDB4MDgsMHg0OSwweDkyLDB4MWUsMHg1MywweDk3IH0sCi0gIDE2LCAweGY1YzAsIDAsIHsweDgxLDB4MjEsMHhlMCwweDQ4LDB4YzgsMHgwYSwweDUyLDB4MjIsMHg4NSwweDg4LDB4MjUsMHhlMCwweDBiLDB4NTgsMHgwMiwweDA4IH0sCi0gIDE2LCAweGY1ZDAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MGMsMHgwMCwweDgzLDB4MDAsMHgzNCwweGMwIH0sCi0gIDE2LCAweGY1ZTAsIDAsIHsweDBmLDB4MDAsMHgwMywweGNlLDB4MjAsMHhjMywweDMwLDB4N2MsMHg5NCwweDBiLDB4MzQsMHg4MywweGNjLDB4MTQsMHhmMywweDAyIH0sCi0gIDE2LCAweGY1ZjAsIDAsIHsweDNjLDB4ODAsMHgwYywweDA0LDB4MDMsMHgwNCwweDYwLDB4YzMsMHgwMCwweGIwLDB4YzAsMHgwYywweDEwLDB4MDMsMHhlYywweDAwIH0sCi0gIDE2LCAweGY2MDAsIDAsIHsweGM5LDB4MDAsMHgzYywweGM0LDB4MGYsMHgxMSwweDAzLDB4MTIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY2MTAsIDAsIHsweDQwLDB4MWQsMHg5YywweDAwLDB4ZWUsMHgwMSwweDNmLDB4YzAsMHg0ZiwweGUxLDB4MDMsMHhkNCwweDQwLDB4ZjUsMHgxNiwweDdhIH0sCi0gIDE2LCAweGY2MjAsIDAsIHsweGMwLDB4NGUsMHhmMCwweDAzLDB4ZjQsMHgxMCwweDM3LDB4MDUsMHgzZCwweGMwLDB4MGYsMHhjMCwweDBiLDB4ZGMsMHg0MCwweGZmIH0sCi0gIDE2LCAweGY2MzAsIDAsIHsweDAwLDB4M2IsMHhjMiwweDBlLDB4ZDAsMHgwNywweGJjLDB4MDIsMHhlZiwweDAwLDB4M2IsMHhjNiwweDBmLDB4ZDAsMHgwMywweGQwIH0sCi0gIDE2LCAweGY2NDAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZjQsMHgwMCwweGRkLDB4ODQsMHgzMywweDgwIH0sCi0gIDE2LCAweGY2NTAsIDAsIHsweDA0LDB4ZjAsMHgwMywweDZjLDB4MDIsMHhjYiwweDAyLDB4N2UsMHhjMCwweDFmLDB4YTAsMHg1MywweGVjLDB4MDAsMHhjYiwweDIwIH0sCi0gIDE2LCAweGY2NjAsIDAsIHsweDM0LDB4NDAsMHgwYywweGQwLDB4MGIsMHgyMCwweDEwLDB4ZWIsMHgwMCwweDFlLDB4ZTAsMHgwZiwweDMwLDB4MGIsMHgyYywweDAwIH0sCi0gIDE2LCAweGY2NzAsIDAsIHsweGMxLDB4MDAsMHgzMiwweGMwLDB4MGYsMHg5MSwweDAzLDB4ZWEsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY2ODAsIDAsIHsweDQ4LDB4MTEsMHg5YywweDAwLDB4ODcsMHgwMCwweDIxLDB4ODAsMHgwOCwweDYwLDB4MDAsMHgxNCwweDAwLDB4ODUsMHgwMCwweDJkIH0sCi0gIDE2LCAweGY2OTAsIDAsIHsweDgwLDB4MGIsMHg3MCwweDUyLDB4ZDQsMHgwNCwweDgzLDB4MjgsMHgyOSwweGMwLDB4MjgsMHg1MCwweDAzLDB4NTAsMHgwMCwweDg3IH0sCi0gIDE2LCAweGY2YTAsIDAsIHsweDQwLDB4MjUsMHhjOCwweDBmLDB4NjAsMHgwMiwweDA0LDB4MDAsMHhhNywweDAwLDB4M2QsMHhjOCwweDBiLDB4NTIsMHgwMiwweGQyIH0sCi0gIDE2LCAweGY2YjAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4OGUsMHgwMCwweDk1LDB4ODAsMHgyMSwweGUwIH0sCi0gIDE2LCAweGY2YzAsIDAsIHsweDA5LDB4MzgsMHgwMiwweDFlLDB4MTEsMHhhNywweDgwLDB4MmQsMHhmMCwweDBiLDB4NzgsMHg1MiwweGNlLDB4MGEsMHg5NywweDk1IH0sCi0gIDE2LCAweGY2ZDAsIDAsIHsweDIxLDB4ZTAsMHgxOSwweDVjLDB4MDIsMHgwZSwweDAwLDB4YTcsMHg4MCwweDI5LDB4YzgsMHgwYiwweGY4LDB4MDIsMHgxZSwweDIwIH0sCi0gIDE2LCAweGY2ZTAsIDAsIHsweDhkLDB4ODAsMHgyMSwweGUwLDB4MGIsMHg1OCwweDAyLDB4ZjAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY2ZjAsIDAsIHsweDQ4LDB4MTQsMHhjYywweDAwLDB4ODIsMHhlMCwweGEwLDB4ZTgsMHgyOSwweDMwLDB4MDYsMHgwZSwweDUwLDB4YWIsMHg4MCwweDJjIH0sCi0gIDE2LCAweGY3MDAsIDAsIHsweGYwLDB4MGIsMHgzMSwweDQyLDB4Y2MsMHgwMCwweDkzLDB4MDAsMHgyOCwweGM0LDB4MDksMHg5OCwweDAyLDB4NGMsMHgyOCwweDgzIH0sCi0gIDE2LCAweGY3MTAsIDAsIHsweDAwLDB4MjQsMHhjMCwweDBhLDB4YjAsMHgwMiwweDBkLDB4MDAsMHhhMiwweDU4LDB4MjgsMHhjMCwweDBiLDB4MTAsMHgwMiwweGQyIH0sCi0gIDE2LCAweGY3MjAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YjksMHgwMCwweGRlLDB4ODAsMHgzMSwweGEwIH0sCi0gIDE2LCAweGY3MzAsIDAsIHsweDA5LDB4ZTIsMHgwYiwweDc4LDB4MDQsMHhlZSwweGE0LDB4MmYsMHhhNCwweDhiLDB4ZWMsMHgwMiwweGQ4LDB4MDAsMHhkYSwweDAwIH0sCi0gIDE2LCAweGY3NDAsIDAsIHsweDI3LDB4ODEsMHgwZCwweGVjLDB4MDYsMHgxYiwweDAwLDB4ZWEsMHgwNCwweDNlLDB4ODAsMHgwYiwweGUwLDB4MDMsMHgzYiwweDAwIH0sCi0gIDE2LCAweGY3NTAsIDAsIHsweGNlLDB4YzAsMHgyMiwweDgwLDB4MGYsMHhhMCwweDAzLDB4ZmEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY3NjAsIDAsIHsweDQ4LDB4MDAsMHhlMCwweDgwLDB4ZjgsMHgxMCwweDNlLDB4MDUsMHgwZSwweDg4LDB4MDMsMHhlMCwweDA4LDB4OTgsMHg0MCwweDNlIH0sCi0gIDE2LCAweGY3NzAsIDAsIHsweDAwLDB4MGYsMHg4NCwweDgzLDB4ZTEsMHg0MCwweGU4LDB4MDAsMHgzYSwweDAyLDB4MGUsMHg4MCwweDQzLDB4ZTEsMHg0MCwweGY4IH0sCi0gIDE2LCAweGY3ODAsIDAsIHsweDAwLDB4MzYsMHgwMCwweDBmLDB4ODAsMHgwMywweGUwLDB4MjAsMHhmOCwweDAwLDB4M2UsMHgwMCwweDBmLDB4ODAsMHgwMywweGQyIH0sCi0gIDE2LCAweGY3OTAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4YzQsMHgwMCwweGU5LDB4MDAsMHgzZSwweDQwIH0sCi0gIDE2LCAweGY3YTAsIDAsIHsweDBjLDB4OTAsMHgwMywweDA0LDB4MjAsMHhlOSwweDkwLDB4MzIsMHg2OCwweDBlLDB4OTgsMHgwMywweGE0LDB4MDAsMHhjMSwweDAwIH0sCi0gIDE2LCAweGY3YjAsIDAsIHsweDMwLDB4NDAsMHgwYywweDk0LDB4ODMsMHgyNCwweDA4LDB4YzksMHgwMCwweDNlLDB4NDAsMHgwYywweDkwLDB4MDMsMHhhNCwweDAwIH0sCi0gIDE2LCAweGY3YzAsIDAsIHsweGM5LDB4MDAsMHgzMCwweDUwLDB4MGMsMHgxYSwweDAzLDB4MDIsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY3ZDAsIDAsIHsweDgwLDB4MDQsMHg2NCwweDAwLDB4ODksMHg0MCwweDJlLDB4NTAsMHgyOCwweDkwLDB4MGEsMHgyNCwweDA4LDB4ODksMHgwNiwweDE2IH0sCi0gIDE2LCAweGY3ZTAsIDAsIHsweDYxLDB4MGIsMHg5YywweDAyLDB4ZTQsMHgyMCwweGE5LDB4MDAsMHgzNiwweDQwLDB4MGQsMHg5MCwweDAyLDB4MjcsMHg2MCwweGE5IH0sCi0gIDE2LCAweGY3ZjAsIDAsIHsweDAwLDB4MmUsMHg0MCwweDI4LDB4OTAsMHgxYSwweDI0LDB4MDAsMHg4OSwweDAwLDB4MzYsMHg0MCwweDI4LDB4OTgsMHgwMiwweDIwIH0sCi0gIDE2LCAweGY4MDAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4MmMsMHgwMCwweGE5LDB4MDgsMHgyZSwweGMyIH0sCi0gIDE2LCAweGY4MTAsIDAsIHsweDA5LDB4MTAsMHgwMCwweDI0LDB4MDAsMHhhOSwweDAwLDB4MDYsMHg0MCwweDg5LDB4OTYsMHgwNiwweGU2LDB4MDAsMHg4OSwweDAwIH0sCi0gIDE2LCAweGY4MjAsIDAsIHsweDIyLDB4YzAsMHgwOCwweDkwLDB4MDIsMHgyNCwweDAyLDB4ODksMHgwMCwweDI0LDB4NDAsMHgwOCwweDkwLDB4MDIsMHgwYywweDA2IH0sCi0gIDE2LCAweGY4MzAsIDAsIHsweDgzLDB4MDAsMHgyMiwweDQwLDB4MDgsMHg5MCwweDAyLDB4MDYsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY4NDAsIDAsIHsweDA4LDB4MDQsMHgwNSwweDAwLDB4ODEsMHg0NCwweDJjLDB4NTAsMHgwOCwweDE0LDB4MDIsMHgwNSwweDgwLDB4ODEsMHgyMCwweDY0IH0sCi0gIDE2LCAweGY4NTAsIDAsIHsweDcwLDB4MWIsMHgxNCwweDAyLDB4ZTQsMHg4MCwweGExLDB4MjAsMHg2NCwweDQwLDB4MTksMHgxMiwweDBhLDB4MDQsMHg4MCwweGExIH0sCi0gIDE2LCAweGY4NjAsIDAsIHsweDAwLDB4MmMsMHg1MCwweDE4LDB4MTQsMHgwMiwweDg1LDB4MDAsMHg4MSwweDQwLDB4MjQsMHg0MCwweDQwLDB4MTAsMHgwMiwweDAyIH0sCi0gIDE2LCAweGY4NzAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjAsMHgwMCwweGUwLDB4MDAsMHgzYywweDAwIH0sCi0gIDE2LCAweGY4ODAsIDAsIHsweDBkLDB4ODAsMHgwMiwweDAwLDB4MDAsMHhhYSwweDUwLDB4MzYsMHgwMCwweDBmLDB4ODAsMHgwMywweGUxLDB4NDAsMHhjOCwweDUyIH0sCi0gIDE2LCAweGY4OTAsIDAsIHsweDcyLDB4MTQsMHgwYywweDA1LDB4MTYsMHgyMCwweDA4LDB4YzgsMHg1MCwweDNlLDB4MDEsMHgwYywweDgwLDB4MDMsMHhhMCwweDA0IH0sCi0gIDE2LCAweGY4YTAsIDAsIHsweGM4LDB4MDAsMHhiMiwweDAwLDB4MGMsMHg4MCwweDBiLDB4MmUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY4YjAsIDAsIHsweDk4LDB4MTksMHhmNSwweDAyLDB4ZmQsMHg0MCwweDNmLDB4ZDAsMHgwZiwweGQ0LDB4MjMsMHhmNCwweDQ0LDB4ZmQsMHgxNCwweDdmIH0sCi0gIDE2LCAweGY4YzAsIDAsIHsweDUwLDB4MGYsMHhkNCwweDA3LDB4ZjQsMHg0MCwweGY5LDB4MTAsMHgzZiwweDUwLDB4MDcsMHhkMSwweDIzLDB4ZjQsMHg0MCwweGY5IH0sCi0gIDE2LCAweGY4ZDAsIDAsIHsweDQwLDB4MWUsMHg1MCwweDA3LDB4ZDAsMHgwYiwweDc1LDB4MDAsMHhmZCwweDAyLDB4M2UsMHg1MCwweDBmLDB4ZDQsMHgwMywweGU2IH0sCi0gIDE2LCAweGY4ZTAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4ZjYsMHgwMCwweGM5LDB4YTgsMHgzZSwweDcyIH0sCi0gIDE2LCAweGY4ZjAsIDAsIHsweDBmLDB4OTgsMHgwMywweGU2LDB4YzAsMHhmZCwweGEwLDB4YjMsMHg0MCwweDBmLDB4ZDAsMHgwMywweDc3LDB4ODAsMHhjZCwweDkwIH0sCi0gIDE2LCAweGY5MDAsIDAsIHsweDdmLDB4NDAsMHgwZiwweGRhLDB4YTMsMHgxNiwweDkwLDB4YTksMHhjMCwweDMyLDB4NjAsMHg0YywweGIxLDB4MDMsMHgyNCwweDAwIH0sCi0gIDE2LCAweGY5MTAsIDAsIHsweGMxLDB4MDAsMHgzMywweDZhLDB4MGIsMHhkYSwweDAzLDB4MDYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY5MjAsIDAsIHsweDM4LDB4MTAsMHhlMywweDQwLDB4ODgsMHhlMCwweDJlLDB4MzAsMHgwYiwweDhkLDB4MDIsMHhmMywweDQwLDB4YjgsMHhlOCwweDc2IH0sCi0gIDE2LCAweGY5MzAsIDAsIHsweDAwLDB4NGYsMHg4MCwweDBhLDB4MjIsMHg4MCwweDg4LDB4OTAsMHg2ZSwweDI4LDB4OGYsMHg4YSwweDAzLDB4NjEsMHg0NCwweGY4IH0sCi0gIDE2LCAweGY5NDAsIDAsIHsweGUxLDB4M2UsMHgyYSwweDA4LDB4ODgsMHgwMywweDQyLDB4YTAsMHhkYywweGEwLDB4M2UsMHgxMCwweDBiLDB4ODUsMHgwYSwweDBlIH0sCi0gIDE2LCAweGY5NTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4YzQsMHhhMCwweDg1LDB4MDgsMHgyZCwweDQ4IH0sCi0gIDE2LCAweGY5NjAsIDAsIHsweDFiLDB4NTIsMHg4MiwweGQ0LDB4ODAsMHhiMSwweDE0LDB4MjAsMHg0MCwweDBiLDB4MTgsMHgwMiwweDA1LDB4ODIsMHg4MSwweDAwIH0sCi0gIDE2LCAweGY5NzAsIDAsIHsweDZjLDB4NDIsMHgwYiwweDEyLDB4ODIsMHgwNCwweDAwLDB4YTEsMHg2MCwweDIxLDB4NTAsMHgwYiwweDUwLDB4MDIsMHgxNCwweDkwIH0sCi0gIDE2LCAweGY5ODAsIDAsIHsweDk1LDB4MmMsMHgyOCwweDQwLDB4MGIsMHgxMCwweDAyLDB4MDIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY5OTAsIDAsIHsweDE4LDB4MTUsMHhhNCwweDAxLDB4OGQsMHg0NCwweDJmLDB4NDAsMHgwYiwweGQ0LDB4MDIsMHhmNCwweDA0LDB4YjksMHgwOCwweDIyIH0sCi0gIDE2LCAweGY5YTAsIDAsIHsweDQwLDB4MGEsMHg5MiwweDAyLDB4MmMsMHg4NCwweDg5LDB4MDAsMHgyZSwweDQwLDB4MGEsMHgxNCwweDAyLDB4NmMsMHg4MCwweGE5IH0sCi0gIDE2LCAweGY5YjAsIDAsIHsweDAxLDB4MmEsMHg0MCwweDA5LDB4NTAsMHgwYSwweDVjLDB4MDIsMHg4ZCwweDYwLDB4MmEsMHg0MCwweDBiLDB4OTAsMHg0MiwweDA2IH0sCi0gIDE2LCAweGY5YzAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4ZTYsMHg2MiwweGM5LDB4MDIsMHgzZSwweDU0IH0sCi0gIDE2LCAweGY5ZDAsIDAsIHsweDBmLDB4OTAsMHgwMywweGU0LDB4MDAsMHhmOSwweDQwLDB4MjIsMHg0NiwweDBiLDB4OTgsMHgwMywweDY3LDB4MjAsMHhjOSwweDAxIH0sCi0gIDE2LCAweGY5ZTAsIDAsIHsweDJlLDB4NjksMHgwYiwweDk0LDB4MGIsMHgyNSwweDIwLDB4YTksMHgwMCwweDIyLDB4NDAsMHgyZCwweDkyLDB4MGEsMHgyNiwweDIyIH0sCi0gIDE2LCAweGY5ZjAsIDAsIHsweDk5LDB4MDAsMHgyYSwweDQwLDB4OGYsMHg5MCwweDAzLDB4MjgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZhMDAsIDAsIHsweDI4LDB4MDEsMHg4NiwweDAyLDB4ZjksMHgwMCwweDNlLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhlNiwweDgwLDB4ZjEsMHhhMCwweDNlIH0sCi0gIDE2LCAweGZhMTAsIDAsIHsweDYyLDB4MGYsMHg5OCwweDgzLDB4YzYsMHgyMCwweGY5LDB4MDAsMHgzZSwweDQ5LDB4MGYsMHg5MCwweDgzLDB4ZTQsMHgwMCwweDcxIH0sCi0gIDE2LCAweGZhMjAsIDAsIHsweDAyLDB4M2UsMHg0MCwweDBlLDB4OTAsMHgwYiwweGU2LDB4ODAsMHhmOSwweDgwLDB4M2UsMHg0MCwweDBmLDB4OTAsMHgwMywweGNhIH0sCi0gIDE2LCAweGZhMzAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTAsMHgxMCwweGM4LDB4MDAsMHgzZSwweDAwIH0sCi0gIDE2LCAweGZhNDAsIDAsIHsweDRmLDB4ODAsMHg0MywweGIwLDB4MDAsMHhjOCwweDQxLDB4MzIsMHgwMCwweDBmLDB4ODAsMHgwMywweDIxLDB4MDIsMHhjOCwweDAyIH0sCi0gIDE2LCAweGZhNTAsIDAsIHsweDNlLDB4MTAsMHg0YywweDgwLDB4MDMsMHgwMSwweDIwLDB4YzgsMHgwMCwweDNiLDB4MDAsMHgwYywweGMwLDB4MDMsMHhiMCwweDAwIH0sCi0gIDE2LCAweGZhNjAsIDAsIHsweGNjLDB4MDQsMHgzMiwweDAwLDB4MGYsMHg4MCwweDAzLDB4MGEsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZhNzAsIDAsIHsweDI4LDB4MDUsMHgyOCwweDAwLDB4OGEsMHg4MCwweDJlLDB4ODAsMHgwYiwweGEwLDB4MDIsMHhmOCwweDA0LDB4OGUsMHgwMCwweDIzIH0sCi0gIDE2LCAweGZhODAsIDAsIHsweGIyLDB4MGUsMHhlMCwweDgyLDB4ZjksMHgwNCwweDhhLDB4MDAsMHgyZSwweDgxLDB4MGMsMHhlMCwweDBhLDB4M2EsMHg4MCwweGRhIH0sCi0gIDE2LCAweGZhOTAsIDAsIHsweDAwLDB4MjIsMHhiNiwweDA4LDB4YTAsMHgwMiwweDI4LDB4MDAsMHg4ZSwweDAwLDB4MmEsMHg4MCwweDBiLDB4NjAsMHgwYiwweDBhIH0sCi0gIDE2LCAweGZhYTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NDQsMHgwMiwweDkzLDB4ODEsMHgyYywweGMwIH0sCi0gIDE2LCAweGZhYjAsIDAsIHsweDRiLDB4MzAsMHgwMiwweGM4LDB4MDAsMHg4MywweGNhLDB4MjAsMHhlMCwweDE5LDB4YjAsMHgwNiwweDhjLDB4MDAsMHg4MSwweDA0IH0sCi0gIDE2LCAweGZhYzAsIDAsIHsweDQ0LDB4NDAsMHgwOCwweDM0LDB4MDIsMHgwZCwweDAwLDB4ODMsMHgwMCwweDJhLDB4MDAsMHgwOCwweDAwLDB4MGEsMHg4MCwweDQwIH0sCi0gIDE2LCAweGZhZDAsIDAsIHsweDg4LDB4MDAsMHgyMCwweGMwLDB4MGIsMHgzMCwweDAyLDB4NGIsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZhZTAsIDAsIHsweGEwLDB4MDEsMHgwNCwweDAyLDB4OTcsMHgwOCwweDJkLDB4YzAsMHgwYiwweDYwLDB4MDYsMHhjYSwweDAwLDB4ODMsMHgwOSwweDIxIH0sCi0gIDE2LCAweGZhZjAsIDAsIHsweGMwLDB4MGEsMHg3MCwweDAyLDB4ZGMsMHgwMCwweDg1LDB4MzEsMHgyZCwweDY4LDB4MDksMHgzMCwweDAyLDB4MWMsMHgxNCwweDkzIH0sCi0gIDE2LCAweGZiMDAsIDAsIHsweDIwLDB4MjAsMHhjMCwweDA4LDB4ZjAsMHg0MiwweDljLDB4MDIsMHg4ZiwweDAwLDB4MjksMHg0MCwweDAzLDB4NzAsMHgxMiwweDI4IH0sCi0gIDE2LCAweGZiMTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MTYsMHgwMCwweDk2LDB4ODQsMHgzZCwweGEwIH0sCi0gIDE2LCAweGZiMjAsIDAsIHsweDBmLDB4NzgsMHgwMywweDlhLDB4MDIsMHg4NywweDgwLDB4YjEsMHhlMCwweDBiLDB4NzgsMHgwMywweGI2LDB4MDAsMHhjNSwweGEwIH0sCi0gIDE2LCAweGZiMzAsIDAsIHsweDM1LDB4NjEsMHgwYywweDc4LDB4MTMsMHgxZSwweDAyLDB4YzcsMHg4MCwweDI5LDB4MDAsMHgwYywweDQ4LDB4MDMsMHg5MCwweDAwIH0sCi0gIDE2LCAweGZiNDAsIDAsIHsweGM0LDB4ODAsMHgzMSwweDYwLDB4MGYsMHg1OCwweDAzLDB4NmEsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZiNTAsIDAsIHsweDA4LDB4MWQsMHhhNCwweDAwLDB4ZWEsMHgwMCwweDNlLDB4ODAsMHgwZiwweGEwLDB4MDMsMHhlOCwweDA4LDB4ZmIsMHgwMCwweDNlIH0sCi0gIDE2LCAweGZiNjAsIDAsIHsweDgwLDB4MGYsMHg5MCwweDEzLDB4ZTQsMHgwOCwweGY5LDB4MDAsMHgzYywweDUwLDB4MmUsMHhmMCwweDAzLDB4ZTgsMHgwOCwweGZiIH0sCi0gIDE2LCAweGZiNzAsIDAsIHsweDQwLDB4M2UsMHhjMCwweDBiLDB4MzAsMHgxMywweDZjLDB4MDAsMHhmYiwweDAwLDB4M2UsMHg0MCwweDBmLDB4MzAsMHgwMywweGMyIH0sCi0gIDE2LCAweGZiODAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZDYsMHgwMCwweGNkLDB4ODAsMHgzMywweGUwIH0sCi0gIDE2LCAweGZiOTAsIDAsIHsweDBjLDB4ZjgsMHgwMywweGZhLDB4MDAsMHhmZCwweDgwLDB4M2YsMHhhMCwweDBkLDB4ZjgsMHgwMywweGZhLDB4NDAsMHhjZCwweGQwIH0sCi0gIDE2LCAweGZiYTAsIDAsIHsweDc3LDB4N2UsMHgwYywweGU4LDB4NDMsMHgxZSwweDAwLDB4Y2YsMHhkOCwweDNmLDB4ZTAsMHgwYywweGM4LDB4MDMsMHgzYSwweGM0IH0sCi0gIDE2LCAweGZiYjAsIDAsIHsweGNjLDB4ODAsMHgzMywweGUwLDB4MGMsMHhmOCwweDAzLDB4MDAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZiYzAsIDAsIHsweGE4LDB4MTEsMHg5NCwweDAyLDB4OGQsMHgwMCwweDIxLDB4YzAsMHgwOCwweDYwLDB4MDMsMHhkOCwweDEwLDB4MzUsMHgyMCwweDhiIH0sCi0gIDE2LCAweGZiZDAsIDAsIHsweGQ0LDB4MGQsMHg2NCwweDAzLDB4ZDgsMHhjMCwweDg1LDB4MDAsMHgyZiwweDRlLDB4MDcsMHg2NCwweDAyLDB4OWMsMHgwMiwweGQ3IH0sCi0gIDE2LCAweGZiZTAsIDAsIHsweDMwLDB4MmYsMHgwNCwweDBkLDB4ZjEsMHgwYiwweDU0LDB4NDAsMHhhZiwweDAwLDB4MzUsMHg0MCwweDA4LDB4NzAsMHgwMiwweDJhIH0sCi0gIDE2LCAweGZiZjAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OTQsMHg0MCwweDg0LDB4MTgsMHgyMSwweDgwIH0sCi0gIDE2LCAweGZjMDAsIDAsIHsweDA4LDB4NzAsMHgwMiwweGRhLDB4MjAsMHhiNSwweDAwLDB4MDksMHgwMCwweDA4LDB4NzAsMHgwMiwweGQ0LDB4MDQsMHg4NSwweDAwIH0sCi0gIDE2LCAweGZjMTAsIDAsIHsweDZkLDB4NGMsMHg4OSwweDYwLDB4MDIsMHg1YywweDQwLDB4OTcsMHgwMCwweDZkLDB4YzAsMHgwOSwweDQwLDB4MDIsMHg1OCwweDgwIH0sCi0gIDE2LCAweGZjMjAsIDAsIHsweDg0LDB4ODgsMHgyNSwweDQwLDB4MDgsMHhkMCwweDAyLDB4MDAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZjMzAsIDAsIHsweDIwLDB4MTQsMHhjNiwweDQ4LDB4ODAsMHgwMCwweDIwLDB4ODAsMHgwOCwweGFjLDB4MDIsMHhhOCwweDAwLDB4YjEsMHgwMCwweGE4IH0sCi0gIDE2LCAweGZjNDAsIDAsIHsweDg4LDB4MDksMHgyMiwweDAyLDB4ODYsMHg0MiwweDgxLDB4MDAsMHg2YywweDUyLDB4MGIsMHgyMCwweDAyLDB4YzcsMHg1MiwweDgzIH0sCi0gIDE2LCAweGZjNTAsIDAsIHsweDAwLDB4MmMsMHgwMCwweDA4LDB4MzQsMHg4MiwweDY3LDB4MDAsMHhhMywweDgwLDB4MjAsMHg0MCwweDA4LDB4MzAsMHgwMiwweDA4IH0sCi0gIDE2LCAweGZjNjAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YTMsMHgwMCwweGNiLDB4YzAsMHhiMiwweDQwIH0sCi0gIDE2LCAweGZjNzAsIDAsIHsweDJjLDB4OTAsMHg4MiwweGU2LDB4MDAsMHhiYiwweDgwLDB4YmUsMHg3OCwweDA4LDB4OGUsMHgwMiwweGVlLDB4MDAsMHg4ZCwweDAwIH0sCi0gIDE2LCAweGZjODAsIDAsIHsweDI3LDB4NjAsMHgwZCwweDkwLDB4MGEsMHg2ZiwweDAwLDB4OWYsMHgwMiwweDJlLDB4MDAsMHgwOSwweGI0LDB4MDMsMHg2NywweDgwIH0sCi0gIDE2LCAweGZjOTAsIDAsIHsweGNhLDB4NDAsMHhlNCwweGMwLDB4MGMsMHgzMCwweDAzLDB4MmEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZjYTAsIDAsIHsweDgwLDB4MDAsMHhlMCwweDgwLDB4ZmIsMHgyMiwweDNlLDB4NDAsMHgwZiwweDgwLDB4MTMsMHhlNCwweDAwLDB4ZmIsMHg4MCwweDNlIH0sCi0gIDE2LCAweGZjYjAsIDAsIHsweDQwLDB4MGYsMHg5MCwweDAzLDB4ZTUsMHgwMCwweGY5LDB4MDAsMHgzZSwweDQwLDB4MGUsMHg3MCwweDIzLDB4YWMsMHgyMCwweGZiIH0sCi0gIDE2LCAweGZjYzAsIDAsIHsweDAwLDB4M2UsMHhjMCwweDhmLDB4ODAsMHgwMywweGU5LDB4MjAsMHhmOSwweDA4LDB4M2UsMHg0MCwweDBmLDB4YjAsMHgxMywweGUwIH0sCi0gIDE2LCAweGZjZDAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZjAsMHgwMCwweGM2LDB4MDAsMHgzMiwweDAwIH0sCi0gIDE2LCAweGZjZTAsIDAsIHsweDBmLDB4ZDEsMHg4MywweDM0LDB4NDAsMHhjZiwweDAwLDB4M2QsMHg0MCwweDBjLDB4ZDAsMHgwMywweGRlLDB4NTAsMHgwZCwweDAwIH0sCi0gIDE2LCAweGZjZjAsIDAsIHsweDczLDB4NDAsMHgwYywweGQxLDB4MDMsMHg3YywweDQwLDB4ODcsMHgwMiwweGIzLDB4MDAsMHgwZCwweGY0LDB4MDMsMHgyNCwweDAwIH0sCi0gIDE2LCAweGZkMDAsIDAsIHsweGNlLDB4MjAsMHgzMiwweDQwLDB4MGMsMHhkMCwweDAzLDB4MDAsMHg0NCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZkMTAsIDAsIHsweDgxLDB4MDQsMHg2MSwweDIyLDB4OGEsMHgwMCwweDIyLDB4MDAsMHgwYiwweDgwLDB4NDAsMHgyNSwweDAwLDB4ODksMHhjMywweDJlIH0sCi0gIDE2LCAweGZkMjAsIDAsIHsweDIwLDB4MGEsMHg5OCwweDAzLDB4YTEsMHgwMCwweDg5LDB4MDAsMHgzNiwweDQwLDB4ODgsMHg5NCwweDAyLDB4MGYsMHgwMSwweGFiIH0sCi0gIDE2LCAweGZkMzAsIDAsIHsweDAwLDB4MzIsMHhjMCwweDA4LDB4MDQsMHgwYSwweDI5LDB4MDAsMHhhOSwweDAyLDB4YTIsMHg0MCwweDBkLDB4YjAsMHgwYSwweDIwIH0sCi0gIDE2LCAweGZkNDAsIDAsIHsweDQwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MDAsMHgwMCwweDg5LDB4MDAsMHgyMiwweDYxIH0sCi0gIDE2LCAweGZkNTAsIDAsIHsweDBiLDB4OTAsMHgwMiwweDI1LDB4MDEsMHg5YiwweDg4LDB4MmUsMHg2MCwweDA4LDB4ODgsMHgwMiwweGU4LDB4MDAsMHhiMSwweDAyIH0sCi0gIDE2LCAweGZkNjAsIDAsIHsweDI0LDB4NDAsMHgxOCwweDkwLDB4MDIsMHgyYywweDAwLDB4YWIsMHgwMSwweDIwLDB4YzEsMHgwOCwweGI0LDB4NDIsMHgyYywweDAwIH0sCi0gIDE2LCAweGZkNzAsIDAsIHsweDgyLDB4MDAsMHgyMiwweGMwLDB4MDgsMHhiMCwweDAyLDB4MjAsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZkODAsIDAsIHsweDA4LDB4MDQsMHgwMCwweDAwLDB4MDEsMHgwMCwweDIwLDB4NDAsMHgwYiwweDAwLDB4MGEsMHgwNCwweDQ2LDB4ODMsMHgwMSwweDJjIH0sCi0gIDE2LCAweGZkOTAsIDAsIHsweDQwLDB4MWEsMHgwMCwweDA2LDB4ODAsMHgwMCwweDgxLDB4MDAsMHgyNCwweDQwLDB4MDgsMHgyMCwweDBhLDB4MGMsMHgwMSwweGEzIH0sCi0gIDE2LCAweGZkYTAsIDAsIHsweDAwLDB4MjQsMHgwMCwweDA4LDB4ODAsMHgwMiwweDAwLDB4MDAsMHhhMSwweDAwLDB4MjAsMHg0MCwweDA5LDB4MzAsMHgwMiwweDAyIH0sCi0gIDE2LCAweGZkYjAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4NjAsMHgwMiwweGM4LDB4MDAsMHgyMiwweDAwIH0sCi0gIDE2LCAweGZkYzAsIDAsIHsweDBmLDB4OTAsMHgwMiwweDI1LDB4MDAsMHhkYSwweDAwLDB4M2UsMHg0MCwweDBjLDB4OTAsMHgwMiwweGNjLDB4MDAsMHhmZCwweDAwIH0sCi0gIDE2LCAweGZkZDAsIDAsIHsweDM3LDB4NDAsMHgwYywweDEwLDB4MTMsMHgyYywweDAyLDB4YWYsMHgwMCwweDMyLDB4YzAsMHgwZCwweGIwLDB4MDMsMHgyYywweDAwIH0sCi0gIDE2LCAweGZkZTAsIDAsIHsweGNhLDB4MDAsMHgzMiwweDQwLDB4NGMsMHg5MCwweDBiLDB4MDAsMHgwMSwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZkZjAsIDAsIHsweGEwLDB4MWQsMHhmMCwweDAwLDB4ZmMsMHgwMCwweDNmLDB4MDAsMHgwNywweGMwLDB4MDMsMHhmNCwweDFjLDB4ZjQsMHgwMCwweDNmIH0sCi0gIDE2LCAweGZlMDAsIDAsIHsweDAwLDB4MWYsMHhjMCwweDIzLDB4YjAsMHgwMiwweDlkLDB4MDEsMHgzZiwweDQwLDB4OGYsMHhjMCwweDA3LDB4ZmMsMHgwMiwweGZmIH0sCi0gIDE2LCAweGZlMTAsIDAsIHsweDAwLDB4N2IsMHgwMCwweDBmLDB4YzAsMHgwMywweGYwLDB4MDAsMHhmZCwweDAwLDB4M2YsMHg0MCwweDBmLDB4NzAsMHgwMywweGU4IH0sCi0gIDE2LCAweGZlMjAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZmEsMHgwMCwweGNiLDB4ODAsMHgzZiwweDI0IH0sCi0gIDE2LCAweGZlMzAsIDAsIHsweDBhLDB4YzEsMHgwMywweGZjLDB4MjQsMHhjZCwweDIwLDB4MzcsMHgwYSwweDBjLDB4YzIsMHg4MywweDMwLDB4ODAsMHhkYywweDAyIH0sCi0gIDE2LCAweGZlNDAsIDAsIHsweDNmLDB4Y2MsMHgwZCwweGQ5LDB4MDMsMHgzYywweDU4LDB4ZGYsMHgzMCwweDMzLDB4YzgsMHgwZCwweGY0LDB4MjMsMHgzYywweDQwIH0sCi0gIDE2LCAweGZlNTAsIDAsIHsweGZmLDB4MDAsMHgzZiwweGM1LDB4NGYsMHhmMCwweDIzLDB4YjAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZlNjAsIDAsIHsweDgwLDB4MDAsMHhlYywweDAyLDB4MGIsMHg4MiwweDJlLDB4MDgsMHgwZCwweGI3LDB4MDIsMHhmZCwweDAwLDB4ODMsMHgxOCwweDBhIH0sCi0gIDE2LCAweGZlNzAsIDAsIHsweDU4LDB4MGEsMHg4NCwweGEyLDB4YTUsMHhhMCwweDg5LDB4MzAsMHgyMiwweDU1LDB4MDgsMHgxMiwweDYyLDB4YmQsMHg5MCwweDhmIH0sCi0gIDE2LCAweGZlODAsIDAsIHsweDYyLDB4MjEsMHhkNiwweDQ4LDB4ZjMsMHgwMiwweDNjLDB4YzUsMHhiZiwweDQ4LDB4MmYsMHhkOCwweDRiLDB4YjcsMHgwMiwweGUwIH0sCi0gIDE2LCAweGZlOTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4ZWMsMHgwMCwweDgzLDB4MDAsMHgyZSwweDg5IH0sCi0gIDE2LCAweGZlYTAsIDAsIHsweDI4LDB4MDAsMHgwMiwweGVjLDB4YTAsMHg4OSwweDIyLDB4MjgsMHg4MiwweDA4LDB4MTIsMHgwMiwweDI4LDB4NDAsMHg5YSwweDA4IH0sCi0gIDE2LCAweGZlYjAsIDAsIHsweDI4LDB4YzgsMHg4OCwweGIyLDB4MGEsMHgwZCwweDEwLDB4OTMsMHgxMCwweGEwLDB4YzgsMHgyOCwweDMwLDB4MDIsMHg0YywweDAwIH0sCi0gIDE2LCAweGZlYzAsIDAsIHsweGIzLDB4NjAsMHgyYywweGM0LDB4MGIsMHgzMCwweGMyLDB4ZTIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZlZDAsIDAsIHsweGMwLDB4MTUsMHhhYywweDQwLDB4OGIsMHgwMCwweDJlLDB4ODAsMHgwOCwweGIxLDB4MDIsMHhlYywweDAyLDB4OGIsMHgwMCwweDIwIH0sCi0gIDE2LCAweGZlZTAsIDAsIHsweGQwLDB4MGEsMHg5MCwweDAyLDB4YWMsMHgwMCwweDBiLDB4MDEsMHgyNiwweDQwLDB4MDgsMHg5NCwweDAyLDB4OGMsMHgwMCwweDhiIH0sCi0gIDE2LCAweGZlZjAsIDAsIHsweDAwLDB4MjIsMHhjMCwweDA4LDB4YjAsMHgwMiwweDJjLDB4MTAsMHhiYiwweDAwLDB4MmUsMHhjMCwweDBiLDB4YjAsMHgwMiwweGYwIH0sCi0gIDE2LCAweGZmMDAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE0LDB4OGMsMHgyMCwweGNiLDB4MDIsMHgzZSwweDJkIH0sCi0gIDE2LCAweGZmMTAsIDAsIHsweDA4LDB4ODAsMHgwMywweGVjLDB4MDgsMHhjOSwweDgwLDB4MWUsMHgwNCwweDBjLDB4YjAsMHgwMywweDAxLDB4MDgsMHg1MCwweDE4IH0sCi0gIDE2LCAweGZmMjAsIDAsIHsweDNlLDB4NDAsMHgwYywweDA0LDB4MDMsMHgyYywweDAwLDB4ZGIsMHgwMSwweDMyLDB4YzAsMHgwYywweGIwLDB4MGIsMHgyYywweDA4IH0sCi0gIDE2LCAweGZmMzAsIDAsIHsweGJiLDB4MDAsMHgzZSwweGMwLDB4MGYsMHhiMCwweDAzLDB4ODAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZmNDAsIDAsIHsweGUxLDB4MDAsMHhiYywweDAwLDB4ZmYsMHgwMCwweDNmLDB4NjAsMHgwZiwweGMwLDB4MjMsMHhlYywweDAwLDB4ZmYsMHhjMCwweGJlIH0sCi0gIDE2LCAweGZmNTAsIDAsIHsweDYwLDB4OGYsMHhjOSwweDIzLDB4ZjYsMHg1MCwweGVkLDB4ODAsMHhiOCwweDUwLDB4YWYsMHhjMCwweDAzLDB4ZmMsMHgwMCwweGZmIH0sCi0gIDE2LCAweGZmNjAsIDAsIHsweDAwLDB4M2YsMHhjMSwweDBlLDB4YjAsMHgwMywweGZjLDB4MDQsMHhmZiwweDAyLDB4M2YsMHhjMCwweDBmLDB4ZjAsMHgwMywweGY4IH0sCi0gIDE2LCAweGZmNzAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YWMsMHgwMCwweGViLDB4MDAsMHgzMiwweDgwIH0sCi0gIDE2LCAweGZmODAsIDAsIHsweDBkLDB4OTAsMHgwMywweDJjLDB4MDAsMHg4OSwweDAwLDB4M2UsMHg5OCwweDhjLDB4MzAsMHgwMywweDYxLDB4ODAsMHhmYSwweDQwIH0sCi0gIDE2LCAweGZmOTAsIDAsIHsweDNlLDB4NDAsMHgyYywweGE1LDB4MDMsMHgyYywweDAwLDB4ZmIsMHgwMSwweDNjLDB4YzAsMHgyYywweDMwLDB4MDMsMHgyYywweDAwIH0sCi0gIDE2LCAweGZmYTAsIDAsIHsweGRiLDB4MDIsMHgzMiwweGMwLDB4MGYsMHhiMCwweDAzLDB4ZDAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZmYjAsIDAsIHsweGNhLDB4MDAsMHgyZSwweDgwLDB4OGIsMHg4MiwweGEwLDB4YzAsMHg4YywweDkwLDB4MDIsMHgzYywweDAwLDB4OGIsMHhmMCwweDIyIH0sCi0gIDE2LCAweGZmYzAsIDAsIHsweGMyLDB4MGQsMHg4MCwweDAyLDB4MjcsMHgwMCwweDhiLDB4MTAsMHgyMiwweDQwLDB4MDgsMHg4MCwweDIyLDB4M2MsMHgwMCwweGJmIH0sCi0gIDE2LCAweGZmZDAsIDAsIHsweDAwLDB4MmYsMHhjMCwweDA4LDB4ZjAsMHgwMiwweDNjLDB4MDAsMHhiZiwweDAxLDB4YTMsMHhjMCwweDBiLDB4ZjAsMHgxMiwweGYyIH0sCi0gIDE2LCAweGZmZTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NGMsMHgwMCwweGIzLDB4MWMsMHgyMCwweDQwIH0sCi0gIDE2LCAweGZmZjAsIDAsIHsweDA4LDB4MDAsMHgwNiwweDJjLDB4MDAsMHg5YiwweDAwLDB4MjAsMHhkMCwweDA4LDB4MjAsMHgwMiwweDRjLDB4MDAsMHhhMywweDAwIH0sCi0gIDE2LCAweDgwMTAsIDAsIHsweDJjLDB4YzAsMHgwOCwweDEwLDB4MGEsMHgwYywweDAwLDB4YmIsMHgwMCwweDI4LDB4YzAsMHgwOSwweDMwLDB4MDIsMHgwYywweDAwIH0sCi0gIDE2LCAweDgwMjAsIDAsIHsweGIzLDB4MDAsMHgyMCwweGMwLDB4MGIsMHgzMCwweDAyLDB4ZjgsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDgwMzAsIDAsIHsweDIyLDB4MTEsMHgxZSwweDAwLDB4OTcsMHhhMCwweDIxLDB4YTAsMHgwOCwweDc5LDB4MDIsMHgxZSwweDAwLDB4OTcsMHg5MCwweDIxIH0sCi0gIDE2LCAweDgwNDAsIDAsIHsweDYwLDB4MDksMHhlOCwweDIyLDB4M2UsMHgwMCwweGFmLDB4ODQsMHgyMSwweGU0LDB4NDgsMHg1YywweDAyLDB4MWUsMHgwMCwweGI3IH0sCi0gIDE2LCAweDgwNTAsIDAsIHsweDkwLDB4MmQsMHhlMCwweDA5LDB4NzgsMHgwMCwweDFlLDB4MDksMHhiMywweDkwLDB4MjEsMHhlNCwweDBiLDB4NzgsMHgwMiwweGQ4IH0sCi0gIDE2LCAweDgwNjAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDE4LDB4MmMsMHg0MCwweGIzLDB4YjAsMHgzMiwweDQwIH0sCi0gIDE2LCAweDgwNzAsIDAsIHsweDJjLDB4ODEsMHgxMywweDBjLDB4NDIsMHhkMSwweDAwLDB4YjAsMHhjMCwweDhjLDB4MzAsMHgwMywweDQ4LDB4MjAsMHhlMywweDAxIH0sCi0gIDE2LCAweDgwODAsIDAsIHsweDNjLDB4YzAsMHgwYywweDMwLDB4MDMsMHgwYywweDAwLDB4ZjMsMHgxMCwweDNjLDB4YzAsMHhjZCwweDMyLDB4MGIsMHgwYywweDQwIH0sCi0gIDE2LCAweDgwOTAsIDAsIHsweGQzLDB4MDAsMHgzMCwweGMwLDB4MGYsMHgzMCwweDAzLDB4ZDIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDgwYTAsIDAsIHsweDQwLDB4MTUsMHhiYywweDAwLDB4ZTcsMHgwMCwweDNmLDB4ODAsMHgwYiwweGYxLDB4MDMsMHhmZCwweDAwLDB4NmQsMHgwMCwweDMyIH0sCi0gIDE2LCAweDgwYjAsIDAsIHsweDQwLDB4MWYsMHg3MCwweDA3LDB4ZDgsMHg0MSwweGMzLDB4MTAsMHgzYiwweGMwLDB4MGYsMHhkMSwweDAzLDB4ZmQsMHgwMCwweGZmIH0sCi0gIDE2LCAweDgwYzAsIDAsIHsweDEwLDB4M2YsMHhjMCwweDBlLDB4ZjAsMHgwMywweGVjLDB4MTAsMHhmZiwweDA4LDB4M2YsMHhjMywweDBmLDB4ZjAsMHgwMywweGQwIH0sCi0gIDE2LCAweDgwZDAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4ZWMsMHgwNCwweGZiLDB4MDIsMHgzZSwweDQwIH0sCi0gIDE2LCAweDgwZTAsIDAsIHsweDBiLDB4YTAsMHgwMywweGFjLDB4MDAsMHhkYiwweDAwLDB4MzYsMHg4MCwweDBkLDB4YjAsMHgwMywweGFjLDB4MDAsMHhlOCwweDAwIH0sCi0gIDE2LCAweDgwZjAsIDAsIHsweDM2LDB4YzEsMHgyZSwweDkwLDB4MDMsMHgyYywweDAwLDB4Y2IsMHhhMCwweDM2LDB4ZGMsMHgwZiwweGIwLDB4MDMsMHgyZCwweDY4IH0sCi0gIDE2LCAweDgxMDAsIDAsIHsweGZiLDB4YTAsMHg5MiwweGMyLDB4MGMsMHhiMSwweDAzLDB4ZWEsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDgxMTAsIDAsIHsweDQ4LDB4MTEsMHg5YywweDA4LDB4MzcsMHgwMCwweDJkLDB4YzAsMHgwYiwweGUwLDB4MDIsMHgxZCwweDgwLDB4YjcsMHgwNCwweDIzIH0sCi0gIDE2LCAweDgxMjAsIDAsIHsweDAwLDB4MGEsMHg0MCwweDAyLDB4MWMsMHgxOCwweDg0LDB4MDAsMHgyNSwweGMwLDB4MTgsMHg1MCwweDMyLDB4MGQsMHg4MCwweGEzIH0sCi0gIDE2LCAweDgxMzAsIDAsIHsweDMwLDB4MjEsMHhjYywweDBiLDB4MzQsMHg4MiwweDFjLDB4MTAsMHhiNywweDMwLDB4MjEsMHhjOCwweDA4LDB4NzAsMHgwMiwweGQyIH0sCi0gIDE2LCAweDgxNDAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4OWUsMHgyMCwweGI3LDB4ODAsMHgyZCwweDYwIH0sCi0gIDE2LCAweDgxNTAsIDAsIHsweDBiLDB4ZmMsMHgyMiwweDllLDB4MDAsMHg4ZCwweDgwLDB4MjUsMHhhMCwweDA4LDB4ZjgsMHgyMiwweDkyLDB4MDAsMHhiNCwweDgwIH0sCi0gIDE2LCAweDgxNjAsIDAsIHsweDI1LDB4ZTAsMHgwOCwweGY4LDB4MDIsMHgxZSwweDAwLDB4ODcsMHhiMCwweDIxLDB4ZTAsMHgwOSwweDdhLDB4MDIsMHgxZSwweDE4IH0sCi0gIDE2LCAweDgxNzAsIDAsIHsweGIzLDB4ODAsMHgyMSwweGUwLDB4MDgsMHg3OCwweDAyLDB4ZjAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDgxODAsIDAsIHsweDQ4LDB4MDQsMHhjNSwweDIwLDB4YjMsMHgwMSwweDJjLDB4ZDgsMHgwYiwweDNjLDB4MDIsMHgyYywweDA4LDB4YjksMHgwMCwweDIwIH0sCi0gIDE2LCAweDgxOTAsIDAsIHsweDAzLDB4MGEsMHgwMCwweDgyLDB4MjIsMHgwOCwweDkwLDB4MGQsMHgyNiwweGU0LDB4MDgsMHgxMCwweDAyLDB4MGMsMHgwMCwweGEzIH0sCi0gIDE2LCAweDgxYTAsIDAsIHsweDAwLDB4MjIsMHhjMCwweDBiLDB4MzAsMHgwMiwweDZjLDB4MDAsMHhiMywweDAwLDB4MjIsMHhjMCwweDI4LDB4MzAsMHgwMiwweGMyIH0sCi0gIDE2LCAweDgxYjAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDA1LDB4OTksMHgwMCwweGZhLDB4MDIsMHgzZiwweDkwIH0sCi0gIDE2LCAweDgxYzAsIDAsIHsweDBmLDB4ZWMsMHgyMywweGE4LDB4MDAsMHhkYSwweDAwLDB4MzUsMHg4MCwweDBkLDB4ZTAsMHgwMiwweGJhLDB4MDIsMHhmZSwweGMyIH0sCi0gIDE2LCAweDgxZDAsIDAsIHsweGI2LDB4YTAsMHgwZSwweGU0LDB4MGIsMHgyOCwweDAwLDB4Y2EsMHgwMCwweGIyLDB4ODAsMHgwZiwweGEwLDB4MGIsMHgyOCwweDAwIH0sCi0gIDE2LCAweDgxZTAsIDAsIHsweGZhLDB4MDAsMHgzMiwweDgwLDB4MGMsMHhhMCwweDAzLDB4ZmEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDgxZjAsIDAsIHsweDQ4LDB4MDAsMHhlMCwweDAwLDB4ZjgsMHgwMCwweDNlLDB4MDAsMHgwZiwweDgyLDB4MDMsMHhlMCwweDAwLDB4ZjgsMHgwMCwweDNlIH0sCi0gIDE2LCAweDgyMDAsIDAsIHsweDAwLDB4MGYsMHg4MSwweDAzLDB4ZTAsMHg0MCwweGU4LDB4MTAsMHgzYSwweDAwLDB4NGYsMHg4NCwweDgzLDB4ZTAsMHgwMCwweGY4IH0sCi0gIDE2LCAweDgyMTAsIDAsIHsweDAwLDB4M2EsMHgwMCwweDBmLDB4MDAsMHgwMywweGEwLDB4MDAsMHhmOCwweDAwLDB4M2UsMHgwMCwweDBmLDB4ODAsMHgwMywweGQyIH0sCi0gIDE2LCAweDgyMjAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDAwLDB4ZTUsMHgwMCwweGM5LDB4MDIsMHgzZSwweDQwIH0sCi0gIDE2LCAweDgyMzAsIDAsIHsweDBmLDB4OTAsMHgyMywweDI0LDB4MDAsMHhjOSwweDAwLDB4MzIsMHg2OCwweDJmLDB4MTAsMHgwMywweDI0LDB4MDAsMHhlOSwweDE0IH0sCi0gIDE2LCAweDgyNDAsIDAsIHsweDMyLDB4NDAsMHgwZCwweDkwLDB4MGIsMHgwNCwweDAwLDB4ZDksMHgwMCwweDFlLDB4NDAsMHgwYywweDkwLDB4MDMsMHgyNCwweDAwIH0sCi0gIDE2LCAweDgyNTAsIDAsIHsweGM5LDB4MDAsMHgzNiwweDQwLDB4MGMsMHg5MCwweDAzLDB4MDIsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDgyNjAsIDAsIHsweDgwLDB4MTQsMHg2NCwweDAwLDB4ODksMHgwMSwweDJlLDB4NDAsMHg0YiwweDkwLDB4MTIsMHgyNCwweDAwLDB4ODksMHhjMiwweGEyIH0sCi0gIDE2LCAweDgyNzAsIDAsIHsweDYwLDB4ODgsMHg5MCwweDAzLDB4NjQsMHgwMCwweDg5LDB4YzEsMHhhMiwweDQwLDB4NDgsMHgxNiwweDAzLDB4NjQsMHgwMiwweDg5IH0sCi0gIDE2LCAweDgyODAsIDAsIHsweDAwLDB4MmUsMHg0MCwweDA4LDB4OTAsMHgyMiwweDI0LDB4MDAsMHg4OSwweDAwLDB4M2UsMHg0MCwweDI4LDB4OTAsMHgwYSwweDIwIH0sCi0gIDE2LCAweDgyOTAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA0LDB4MjQsMHgwMCwweDg5LDB4MDIsMHgyZSwweDQwIH0sCi0gIDE2LCAweDgyYTAsIDAsIHsweDBiLDB4MTAsMHgwMiwweDI0LDB4MDAsMHg4OSwweDEwLDB4MjIsMHg0MCwweDg5LDB4OTAsMHgwMiwweGFjLDB4MDAsMHhhMSwweDA4IH0sCi0gIDE2LCAweDgyYjAsIDAsIHsweDIyLDB4NDAsMHgwOSwweDk4LDB4MDIsMHhhNCwweDAwLDB4ODksMHgwMCwweDJhLDB4NDAsMHgwOCwweDkwLDB4MDIsMHgyNCwweDAwIH0sCi0gIDE2LCAweDgyYzAsIDAsIHsweDg5LDB4MDAsMHgyNiwweDQwLDB4MDgsMHgxMCwweDAyLDB4MDYsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDgyZDAsIDAsIHsweDA4LDB4MDAsMHgyNCwweDAwLDB4ODEsMHgwMCwweDJjLDB4NDEsMHgwYiwweDEyLDB4MDIsMHgwNCwweDgxLDB4ODEsMHgyMCwweDIyIH0sCi0gIDE2LCAweDgyZTAsIDAsIHsweDQ4LDB4MDgsMHgxMiwweDAyLDB4YzQsMHg4MSwweDgxLDB4MjQsMHgwMiwweDQ4LDB4MGEsMHg5MCwweDAyLDB4ODQsMHhhMCwweDgxIH0sCi0gIDE2LCAweDgyZjAsIDAsIHsweDI4LDB4NmMsMHg0YSwweDA4LDB4MTIsMHhkMiwweDA0LDB4YTEsMHg4MSwweDI4LDB4MmMsMHg0YSwweDA4LDB4MTIsMHg4MiwweDAyIH0sCi0gIDE2LCAweDgzMDAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDA4LDB4NjEsMHg0MCwweGM4LDB4MDAsMHgyZSwweDE0IH0sCi0gIDE2LCAweDgzMTAsIDAsIHsweDBmLDB4ODUsMHgwYiwweDIxLDB4NDIsMHhjYSwweDUwLDB4MjIsMHgxNCwweDBkLDB4ODUsMHg0MywweGExLDB4NDAsMHhlOCwweDUwIH0sCi0gIDE2LCAweDgzMjAsIDAsIHsweDMwLDB4MDAsMHgwZCwweDg1LDB4MDIsMHhhMSwweGMwLDB4ZDgsMHgyMCwweDNhLDB4MDgsMHgyYywweDgyLDB4MGIsMHgyMCwweDgyIH0sCi0gIDE2LCAweDgzMzAsIDAsIHsweGM4LDB4MjAsMHgzNCwweDA5LDB4OGMsMHg4MiwweDAzLDB4MmUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDgzNDAsIDAsIHsweDk4LDB4MGQsMHhmYywweDAyLDB4ZjksMHgwMCwweDNmLDB4NDAsMHg0ZiwweGQxLDB4MDMsMHhlNCwweDQwLDB4ZjUsMHgxNCwweGJmIH0sCi0gIDE2LCAweDgzNTAsIDAsIHsweDQ0LDB4MGQsMHg1MSwweDIzLDB4NWMsMHg0MCwweGY1LDB4MTAsMHgxZiwweDRlLDB4NGQsMHg1MCwweDAzLDB4NjQsMHgwOCwweGY5IH0sCi0gIDE2LCAweDgzNjAsIDAsIHsweDI4LDB4M2UsMHg0YSwweDhmLDB4OTIsMHg4MywweGU0LDB4YTAsMHhmOSwweDI4LDB4M2EsMHg0YiwweDBmLDB4OTIsMHg4MywweGU2IH0sCi0gIDE2LCAweDgzNzAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4ZjQsMHg0MCwweGZkLDB4MDAsMHgzMCwweDQwIH0sCi0gIDE2LCAweDgzODAsIDAsIHsweDBjLDB4OTAsMHgwMywweDI0LDB4MDAsMHhkZCwweDAwLDB4M2IsMHg0MCwweDBlLDB4OTAsMHgwMywweDc0LDB4MDAsMHg1ZCwweDAwIH0sCi0gIDE2LCAweDgzOTAsIDAsIHsweDM2LDB4NjQsMHgwZCwweGQwLDB4MDAsMHhhNiwweDAwLDB4ZjksMHg0MCwweDMyLDB4NzgsMHgwYywweDk5LDB4MDMsMHgyNCwweDQwIH0sCi0gIDE2LCAweDgzYTAsIDAsIHsweGM5LDB4OTAsMHgzMiwweDUwLDB4MGYsMHg5YiwweDAzLDB4MDYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDgzYjAsIDAsIHsweDM4LDB4MTAsMHhlMiwweDgwLDB4YjgsMHgwMCwweDIyLDB4MDEsMHgwOCwweDgwLDB4MGEsMHgyMCwweDAwLDB4ODgsMHgwMCwweDJhIH0sCi0gIDE2LCAweDgzYzAsIDAsIHsweDAwLDB4MDgsMHg4MCwweDAyLDB4MjAsMHgwMCwweDg4LDB4MDAsMHgyMiwweDIwLDB4MDgsMHg4YSwweDhiLDB4ZTEsMHgwMCwweGI4IH0sCi0gIDE2LCAweDgzZDAsIDAsIHsweDgwLDB4MjIsMHgzMCwweDI4LDB4MGQsMHgwMiwweDIyLDB4MDAsMHhkOCwweGU0LDB4MjIsMHgyOCwweDBiLDB4OGYsMHgwYSwweDBlIH0sCi0gIDE2LCAweDgzZTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4YzQsMHg4MCwweGIxLDB4MDAsMHhhMCwweDQwIH0sCi0gIDE2LCAweDgzZjAsIDAsIHsweDA4LDB4MTAsMHgwMiwweDA0LDB4MDAsMHg4OSwweDAwLDB4MDgsMHg0MCwweDBhLDB4OTAsMHg0MiwweDQ0LDB4MDAsMHg5MSwweDAwIH0sCi0gIDE2LCAweDg0MDAsIDAsIHsweDIwLDB4NTgsMHgyOCwweDkwLDB4MDIsMHg4NSwweDAwLDB4ODEsMHgyMCwweGEwLDB4NGMsMHgwOSwweDEyLDB4MGEsMHgwNCwweDgwIH0sCi0gIDE2LCAweDg0MTAsIDAsIHsweDkxLDB4NDAsMHhhMCwweDQwLDB4MGIsMHgxMCwweDAyLDB4MDIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDg0MjAsIDAsIHsweDE4LDB4MTUsMHhhNCwweDAwLDB4YjksMHgwMiwweDIwLDB4NDAsMHgwOCwweDkwLDB4MDIsMHgwNCwweDAwLDB4ODksMHgwMSwweDIyIH0sCi0gIDE2LCAweDg0MzAsIDAsIHsweDQwLDB4MjgsMHg5MCwweDIyLDB4MDQsMHgwMCwweDg5LDB4MTAsMHgyMiwweDQwLDB4MDgsMHg5MCwweDAyLDB4ZTQsMHgwMCwweGIxIH0sCi0gIDE2LCAweDg0NDAsIDAsIHsweDAwLDB4MjIsMHg0MCwweDgxLDB4OTAsMHgwMiwweDA0LDB4MDAsMHg5MSwweDAwLDB4MjIsMHg0MCwweDBiLDB4OTAsMHgwMiwweDA2IH0sCi0gIDE2LCAweDg0NTAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4ZTUsMHgwMCwweGYxLDB4MDAsMHgzMiwweDYwIH0sCi0gIDE2LCAweDg0NjAsIDAsIHsweDJjLDB4OTIsMHgxMywweDI0LDB4MDIsMHhkMSwweDEwLDB4M2EsMHg0MCwweDBlLDB4MTIsMHgwMywweDY2LDB4MDQsMHhkOSwweDAwIH0sCi0gIDE2LCAweDg0NzAsIDAsIHsweGI2LDB4NDAsMHgwZCwweDE5LDB4MDMsMHhhNCwweDAwLDB4ZjksMHgwMCwweDMyLDB4NDAsMHgwOSwweDkwLDB4MDEsMHgyNCwweDAwIH0sCi0gIDE2LCAweDg0ODAsIDAsIHsweGQ5LDB4MDIsMHgyMiwweDQwLDB4MGYsMHg5MCwweDAzLDB4MjgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDg0OTAsIDAsIHsweDJhLDB4MDEsMHhhNSwweDAwLDB4ZjksMHgwMCwweDNlLDB4NjQsMHgwZiwweDEwLDB4MDMsMHhlNCwweDAwLDB4ZjksMHg4MSwweDNlIH0sCi0gIDE2LCAweDg0YTAsIDAsIHsweDY2LDB4OGYsMHg5MCwweDIzLDB4ZTQsMHg4MCwweGY5LDB4MDQsMHgzZSwweDQwLDB4OGYsMHg5MCwweDAzLDB4ZTQsMHgwNCwweGY5IH0sCi0gIDE2LCAweDg0YjAsIDAsIHsweDAwLDB4M2MsMHg0MCwweDBlLDB4OTAsMHgwMywweGU0LDB4MDAsMHhmOSwweDAwLDB4M2UsMHg0MCwweDBmLDB4MTAsMHgwMywweGNhIH0sCi0gIDE2LCAweDg0YzAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyYSwweDEwLDB4YTAsMHgwMCwweGY4LDB4MjQsMHgzZSwweDAwIH0sCi0gIDE2LCAweDg0ZDAsIDAsIHsweDJjLDB4ODQsMHgwMywweDIwLDB4MDAsMHhiOCwweDIwLDB4M2UsMHgwMCwweDhjLDB4ODAsMHgwMywweGEwLDB4MDAsMHg3MCwweDgyIH0sCi0gIDE2LCAweDg0ZTAsIDAsIHsweDMyLDB4MDAsMHgwZiwweDgwLDB4MDMsMHgyMCwweDA4LDB4ZjgsMHgwMCwweDMyLDB4MDAsMHgyYywweDgwLDB4MGIsMHgyMCwweDA4IH0sCi0gIDE2LCAweDg0ZjAsIDAsIHsweGM4LDB4MDAsMHgzZSwweDAwLDB4MGMsMHg4MCwweDAzLDB4Y2EsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDg1MDAsIDAsIHsweDI4LDB4MDUsMHgyOCwweDA0LDB4YmUsMHg4MCwweDNhLDB4ODAsMHgwOCwweGEwLDB4MDIsMHgyOCwweDA0LDB4OGUsMHgwMCwweDZkIH0sCi0gIDE2LCAweDg1MTAsIDAsIHsweDkwLDB4MGQsMHhhMCwweDAyLDB4M2EsMHgwMCwweDhlLDB4ODAsMHhhMiwweDgwLDB4MGUsMHhlMCwweDBiLDB4NjgsMHgwMCwweGJhIH0sCi0gIDE2LCAweDg1MjAsIDAsIHsweDAwLDB4MjIsMHg4MCwweDA4LDB4YTAsMHgwMiwweDI4LDB4MDAsMHhkYSwweDAwLDB4MmUsMHg4MCwweDA4LDB4YTAsMHgwMiwweGNhIH0sCi0gIDE2LCAweDg1MzAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDgxLDB4NGMsMHgwMCwweGIxLDB4MDAsMHgyYywweGMwIH0sCi0gIDE2LCAweDg1NDAsIDAsIHsweDA4LDB4MzAsMHgwMiwweDBjLDB4MTgsMHhhMywweDAyLDB4MmMsMHgxMCwweDg4LDB4MzAsMHgwNiwweDgyLDB4ODEsMHhhMCwweDAwIH0sCi0gIDE2LCAweDg1NTAsIDAsIHsweDJhLDB4YzAsMHgwYiwweDMwLDB4MGEsMHg0YywweDAwLDB4YjMsMHgwMCwweDIwLDB4YzAsMHgxYSwweGIwLDB4MDIsMHg4YywweDAxIH0sCi0gIDE2LCAweDg1NjAsIDAsIHsweDgzLDB4MDAsMHgyYywweGMwLDB4MDgsMHgzMCwweDAyLDB4Y2EsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDg1NzAsIDAsIHsweDIwLDB4MDEsMHgxYywweDEwLDB4YjQsMHgwYSwweDJiLDB4YzgsMHgwOCwweDMxLDB4MjYsMHgxYywweDAwLDB4ODYsMHgwMCwweDJkIH0sCi0gIDE2LCAweDg1ODAsIDAsIHsweGMwLDB4MDksMHg3MiwweDAyLDB4MWQsMHgwMCwweGE1LDB4NDAsMHgyOSwweGMwLDB4MGEsMHg2MCwweDAyLDB4NWMsMHg4OCwweGIzIH0sCi0gIDE2LCAweDg1OTAsIDAsIHsweDIwLDB4MjUsMHhjOCwweDBhLDB4NzIsMHgwMiwweDljLDB4ODAsMHg5NywweDIwLDB4MmMsMHhlOCwweDgwLDB4NzIsMHgwMiwweGU4IH0sCi0gIDE2LCAweDg1YTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA4LDB4MTYsMHgwMCwweGI1LDB4ODAsMHgzZCwweGUyIH0sCi0gIDE2LCAweDg1YjAsIDAsIHsweDBjLDB4N2EsMHg4YiwweDBlLDB4YzAsMHhhNywweDgxLDB4MmMsMHgyMCwweDBjLDB4ZmMsMHgwMywweDkyLDB4MDIsMHhlZiwweDgwIH0sCi0gIDE2LCAweDg1YzAsIDAsIHsweDM5LDB4ZTQsMHgwYiwweGQ4LDB4MDEsMHgxZiwweDAwLDB4ZjcsMHg4MCwweGIzLDB4ZjQsMHg4ZSwweDc5LDB4MDMsMHg4ZSwweDAwIH0sCi0gIDE2LCAweDg1ZDAsIDAsIHsweGM3LDB4YzQsMHgzZCwweGU4LDB4MmMsMHg3YiwweDAzLDB4ZWEsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDg1ZTAsIDAsIHsweDA4LDB4MWQsMHhhYywweDAwLDB4ZjgsMHgwMCwweDNlLDB4ZGQsMHg4NywweGI2LDB4MDMsMHhlZCwweGNjLDB4ZTksMHgwMCwweDNlIH0sCi0gIDE2LCAweDg1ZjAsIDAsIHsweDQwLDB4MGYsMHhiMCwweDA3LDB4Y2MsMHgxMCwweDBiLDB4MDAsMHgzNiwweGQ4LDB4MGYsMHg4MCwweDQzLDB4YWQsMHg4MCwweGZiIH0sCi0gIDE2LCAweDg2MDAsIDAsIHsweDI4LDB4M2EsMHhjMCwweDBkLDB4YjQsMHgwMywweDZjLDB4ZTIsMHhlYiwweDYwLDB4M2UsMHhkNCwweDBmLDB4YjAsMHgwMywweGMyIH0sCi0gIDE2LCAweDg2MTAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDA1LDB4ZmUsMHgwMCwweGZlLDB4OTAsMHgzZiwweGU1IH0sCi0gIDE2LCAweDg2MjAsIDAsIHsweDBlLDB4ZjgsMHgwMywweDNlLDB4MTAsMHhmZiwweDkwLDB4MTcsMHg2MCwweDBmLDB4ZmMsMHgwMywweDdhLDB4MDAsMHhlZSwweDgwIH0sCi0gIDE2LCAweDg2MzAsIDAsIHsweDM3LDB4ZTIsMHgwZSwweDc4LDB4MGYsMHhmZiwweDQwLDB4ZWYsMHg4OCwweDFmLDB4ZTAsMHgwYywweGY4LDB4ODMsMHhmZSwweDgwIH0sCi0gIDE2LCAweDg2NDAsIDAsIHsweGNmLDB4ZDAsMHhiMywweGYwLDB4MGMsMHhmOCwweGMzLDB4MTAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDg2NTAsIDAsIHsweGE4LDB4MTEsMHg5YywweDQwLDB4YjQsMHgxMCwweDBmLDB4Y2MsMHgwMCwweDcyLDB4MDIsMHgxYywweDAwLDB4YjYsMHgwMiwweDA5IH0sCi0gIDE2LCAweDg2NjAsIDAsIHsweGMwLDB4MjgsMHhmMCwweDAyLDB4OTgsMHgwMCwweGE2LDB4MDAsMHgyMSwweGMwLDB4MGIsMHg2MCwweDAzLDB4ZmMsMHgwMiwweDg3IH0sCi0gIDE2LCAweDg2NzAsIDAsIHsweDAwLDB4MmQsMHhjMCwweDA4LDB4NzAsMHgwMiwweGRlLDB4MDAsMHg4ZiwweDEwLDB4MjEsMHhjMCwweDA4LDB4ZjAsMHgwMywweDZhIH0sCi0gIDE2LCAweDg2ODAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDAwLDB4OTQsMHgwMCwweGI2LDB4MDIsMHgyZiwweGMyIH0sCi0gIDE2LCAweDg2OTAsIDAsIHsweDFhLDB4MzAsMHg4MCwweDFjLDB4MDAsMHhiNiwweDA4LDB4MDEsMHg0MCwweDBhLDB4ZjAsMHgwMiwweDE4LDB4MDAsMHg4NywweDAwIH0sCi0gIDE2LCAweDg2YTAsIDAsIHsweDIxLDB4YzAsMHgwYiwweGQwLDB4MDIsMHg5YywweDEwLDB4ODcsMHgwMCwweDI5LDB4YzAsMHgwOCwweDcwLDB4MDIsMHhkYywweDQ0IH0sCi0gIDE2LCAweDg2YjAsIDAsIHsweDg3LDB4MTAsMHg2NCwweGMwLDB4MDgsMHg3MCwweDAyLDB4MDYsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDg2YzAsIDAsIHsweDYwLDB4MTQsMHhjZSwweDYwLDB4YjAsMHgwMCwweDJjLDB4YzAsMHgwOCwweDM0LDB4MGEsMHgwYywweDA4LDB4YjAsMHgwNCwweDAwIH0sCi0gIDE2LCAweDg2ZDAsIDAsIHsweDQwLDB4MDgsMHgzMCwweGEyLDB4ODksMHg4MCwweGEyLDB4NjIsMHgyMCwweGUwLDB4MGIsMHgwMCwweDBhLDB4Y2MsMHgwOCwweDgzIH0sCi0gIDE2LCAweDg2ZTAsIDAsIHsweDAwLDB4NmMsMHhjMCwweDA4LDB4MzAsMHg1MiwweGNjLDB4MDAsMHg4MywweDAwLDB4MjQsMHhjMCwweDA4LDB4MzAsMHgwMiwweDU4IH0sCi0gIDE2LCAweDg2ZjAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YWUsMHgwMCwweGY4LDB4MDAsMHgzZiwweGQwIH0sCi0gIDE2LCAweDg3MDAsIDAsIHsweDBlLDB4ZmMsMHgwMywweDNjLDB4MDAsMHhmOSwweDAwLDB4OTIsMHg4NCwweDBmLDB4ZmMsMHgwMywweDY0LDB4MDAsMHg4MCwweDAwIH0sCi0gIDE2LCAweDg3MTAsIDAsIHsweGI3LDB4YzMsMHgwZiwweGI4LDB4ODMsMHhiYywweDA0LDB4ZWYsMHgwMCwweDNmLDB4YzAsMHgzYywweGYwLDB4MDMsMHhmYywweDAyIH0sCi0gIDE2LCAweDg3MjAsIDAsIHsweGNmLDB4MDAsMHgzNywweGMwLDB4MjgsMHhmMCwweDEzLDB4MmEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDg3MzAsIDAsIHsweDgwLDB4MDAsMHhlYywweDAwLDB4ZjgsMHg0MSwweDNlLDB4YzgsMHgwZiwweDMyLDB4MDMsMHhlYywweDAwLDB4ZjgsMHgwMCwweDNhIH0sCi0gIDE2LCAweDg3NDAsIDAsIHsweGM0LDB4MGYsMHhiMSwweDAzLDB4YzQsMHgwMCwweGY5LDB4MDAsMHgzNiwweGMwLDB4MGYsMHhlNCwweDBiLDB4ZWMsMHgwNCwweGZiIH0sCi0gIDE2LCAweDg3NTAsIDAsIHsweDAwLDB4M2UsMHhjMSwweDBmLDB4YjAsMHg0MywweGVjLDB4MDQsMHhmYiwweDAwLDB4M2EsMHhjMCwweDBmLDB4YjAsMHgwMywweGU0IH0sCi0gIDE2LCAweDg3NjAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZjQsMHgwMCwweGZjLDB4ODAsMHgzZiwweGMwIH0sCi0gIDE2LCAweDg3NzAsIDAsIHsweDFmLDB4ZjAsMHgwMywweDNjLDB4MDgsMHhmYiwweDAwLDB4MzMsMHg4MCwweDJlLDB4ZjAsMHgxMywweGE0LDB4MDQsMHhjYiwweDAwIH0sCi0gIDE2LCAweDg3ODAsIDAsIHsweGI5LDB4YzAsMHgyYywweGQ4LDB4MGIsMHgzYywweDAwLDB4ZmYsMHgwMCwweDNmLDB4YzAsMHgwOSwweDcwLDB4MDAsMHgyYywweDA0IH0sCi0gIDE2LCAweDg3OTAsIDAsIHsweGZmLDB4MDAsMHgzZiwweGMwLDB4MGYsMHhmMCwweDAzLDB4YzAsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDg3YTAsIDAsIHsweGMxLDB4MDAsMHg2YywweDAwLDB4YjgsMHg4MCwweDJlLDB4YzAsMHgwYiwweGIwLDB4MDMsMHg2YywweDAwLDB4YjksMHgxNiwweDI4IH0sCi0gIDE2LCAweDg3YjAsIDAsIHsweDcyLDB4MDgsMHhiMCwweDIyLDB4MjcsMHg0MCwweGRiLDB4MDAsMHgyMiwweGMwLDB4MDgsMHhiZCwweDgyLDB4MmMsMHgwOCwweGJiIH0sCi0gIDE2LCAweDg3YzAsIDAsIHsweDAwLDB4MmUsMHhjMCwweDQ4LDB4YjAsMHgwMiwweDJjLDB4MDAsMHhiYiwweDAwLDB4MmUsMHhjMSwweDBiLDB4YjAsMHgwMiwweGUwIH0sCi0gIDE2LCAweDg3ZDAsIDAsIHsweDQwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MmMsMHgwMCwweGI4LDB4NjAsMHgyZSwweGMwIH0sCi0gIDE2LCAweDg3ZTAsIDAsIHsweDBiLDB4YjAsMHgwMiwweDJjLDB4MDAsMHhiMSwweDAwLDB4MmEsMHg4NCwweDRhLDB4MzAsMHgyMiwweGFjLDB4MjAsMHg5OCwweDgwIH0sCi0gIDE2LCAweDg3ZjAsIDAsIHsweDJhLDB4YzAsMHgwOCwweDMwLDB4MDIsMHhhYywweDAwLDB4M2IsMHgwMCwweDJjLDB4YzAsMHgwYSwweGIwLDB4MDIsMHhhYywweDA4IH0sCi0gIDE2LCAweDg4MDAsIDAsIHsweGJiLDB4MDAsMHgyZSwweGMwLDB4MGIsMHhiMCwweDQyLDB4ZTAsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDg4MTAsIDAsIHsweDA4LDB4MDQsMHgwYywweDAxLDB4YjAsMHgwMCwweDJjLDB4YzAsMHgwYiwweDMwLDB4MDIsMHg0YywweDA0LDB4YjAsMHgwMCwweDJhIH0sCi0gIDE2LCAweDg4MjAsIDAsIHsweDgwLDB4MDgsMHgzMCwweDAyLDB4MDAsMHgwMCwweDEwLDB4MDQsMHgyOCwweGMwLDB4MDgsMHgyMCwweDQyLDB4OGMsMHgwMCwweGIzIH0sCi0gIDE2LCAweDg4MzAsIDAsIHsweDAwLDB4MmMsMHhjMCwweDQyLDB4MzAsMHgwYSwweDhjLDB4MDAsMHhiMywweDAwLDB4MmMsMHhjMCwweDhiLDB4MzAsMHgwMiwweGMyIH0sCi0gIDE2LCAweDg4NDAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4NjQsMHgwMCwweGY4LDB4NTAsMHgzZiwweGMwIH0sCi0gIDE2LCAweDg4NTAsIDAsIHsweDBiLDB4ZjAsMHgwMywweDNjLDB4MDAsMHhmYSwweDA0LDB4MzIsMHg4MCwweDBlLDB4ZjAsMHgyMywweGFjLDB4MDAsMHhkOSwweDAwIH0sCi0gIDE2LCAweDg4NjAsIDAsIHsweDNiLDB4YzAsMHgwYywweDkwLDB4MDMsMHhiYywweDA0LDB4ZmYsMHgwMCwweDNkLDB4YzAsMHgyZSwweGYwLDB4MGIsMHgzYywweDAwIH0sCi0gIDE2LCAweDg4NzAsIDAsIHsweGZmLDB4MDQsMHgzZiwweGMwLDB4MGYsMHhmMCwweDAzLDB4YzAsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDg4ODAsIDAsIHsweGEwLDB4MWQsMHhmYywweDAwLDB4ZmMsMHgwMCwweDNmLDB4YzAsMHgwNywweGYwLDB4MDMsMHhmYywweDA0LDB4N2MsMHgwMiwweGI1IH0sCi0gIDE2LCAweDg4OTAsIDAsIHsweDAwLDB4MGYsMHhmMCwweDAzLDB4ZjAsMHgwMCwweGZjLDB4MDAsMHgzNywweGMwLDB4MGYsMHhmMCwweDEzLDB4N2MsMHgwMCwweGZmIH0sCi0gIDE2LCAweDg4YTAsIDAsIHsweDAwLDB4M2YsMHhjMCwweDBkLDB4ZjAsMHgwMywweDZkLDB4MDAsMHhmZiwweDAwLDB4M2YsMHhjMCwweDFmLDB4ZjAsMHgwMywweGU4IH0sCi0gIDE2LCAweDg4YjAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZDIsMHgwMCwweGQ1LDB4ODAsMHgzMywweDBhIH0sCi0gIDE2LCAweDg4YzAsIDAsIHsweDRjLDB4ZjgsMHgwMywweGYyLDB4MDAsMHhmYywweDAwLDB4MzcsMHgyNiwweDFmLDB4Y2EsMHgwMywweGJjLDB4YzQsMHhjZiwweDIwIH0sCi0gIDE2LCAweDg4ZDAsIDAsIHsweDMzLDB4ZTQsMHgwZiwweDc4LDB4MDMsMHgzZSwweDQ0LDB4Y2YsMHgwMCwweDNiLDB4Y2UsMHg5ZiwweDY4LDB4MTMsMHhkMCwweDAwIH0sCi0gIDE2LCAweDg4ZTAsIDAsIHsweGNkLDB4ODAsMHhiMywweDYwLDB4MGYsMHhmYSwweDgzLDB4ZjAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDg4ZjAsIDAsIHsweDgwLDB4MTAsMHhlMCwweDgwLDB4YzksMHgyOCwweDIyLDB4MzAsMHgwOCwweGIyLDB4MjIsMHhlYSwweDAxLDB4YjgsMHg4MiwweDIwIH0sCi0gIDE2LCAweDg5MDAsIDAsIHsweDUwLDB4NGYsMHg5YywweDAwLDB4YTgsMHhkMSwweGRiLDB4MTAsMHhhNiwweGUwLDB4MTcsMHhiOCwweDAzLDB4ZWMsMHg4MCwweGRiIH0sCi0gIDE2LCAweDg5MTAsIDAsIHsweDA4LDB4MWYsMHhkMCwweDBiLDB4YjgsMHgwMiwweGY2LDB4MDAsMHhmYiwweDgwLDB4MjIsMHg0MCwweDBiLDB4YjAsMHgwMiwweDYwIH0sCi0gIDE2LCAweDg5MjAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4YzQsMHgyMCwweDgxLDB4ODAsMHgyMCwweDAwIH0sCi0gIDE2LCAweDg5MzAsIDAsIHsweDhiLDB4MzAsMHg4MiwweGMwLDB4MDAsMHhiMCwweDEwLDB4MjgsMHgwOCwweDhiLDB4MTEsMHgzMCwweGM0LDB4ODQsMHg5MCwweDI4IH0sCi0gIDE2LCAweDg5NDAsIDAsIHsweDI0LDB4YzgsMHgwYiwweDMwLDB4MDIsMHg0YywweDAwLDB4ODMsMHgxMCwweDA0LDB4YzgsMHgwYiwweDMwLDB4MDIsMHhjYywweDAwIH0sCi0gIDE2LCAweDg5NTAsIDAsIHsweGIzLDB4MDAsMHgyNCwweDQwLDB4MGIsMHgzMCwweDAyLDB4ZTIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDg5NjAsIDAsIHsweGMwLDB4MTUsMHhhNiwweDAwLDB4ODEsMHgwMCwweDIyLDB4MTAsMHgwYiwweGIwLDB4MTIsMHhlYSwweDIwLDB4YmIsMHgwMCwweDJhIH0sCi0gIDE2LCAweDg5NzAsIDAsIHsweDcwLDB4MGEsMHg5YywweDAyLDB4NjIsMHgwMCwweDk4LDB4ODgsMHgyNiwweGM4LDB4MDIsMHhiMiwweDAyLDB4OGUsMHgwOCwweDhiIH0sCi0gIDE2LCAweDg5ODAsIDAsIHsweDE4LDB4MjIsMHhjMCwweDBiLDB4YTAsMHgwMiwweGVlLDB4MjAsMHgzYiwweDAwLDB4MjYsMHg0MCwweDBiLDB4YjAsMHgwMiwweDcwIH0sCi0gIDE2LCAweDg5OTAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDE1LDB4ZTAsMHgwMCwweGNiLDB4MDAsMHgzMiwweDgwIH0sCi0gIDE2LCAweDg5YTAsIDAsIHsweDBmLDB4YjAsMHgwMywweGU3LDB4MDAsMHhiOCwweDUyLDB4M2UsMHgyMCwweDRiLDB4MGMsMHg0MywweGVmLDB4ODIsMHg5YiwweGMwIH0sCi0gIDE2LCAweDg5YjAsIDAsIHsweDMyLDB4YzAsMHgwYiwweGIwLDB4MDIsMHg2YywweDAxLDB4OGIsMHg4MCwweDJlLDB4YzAsMHgwYiwweGEwLDB4ODMsMHhlNiwweDAwIH0sCi0gIDE2LCAweDg5YzAsIDAsIHsweGZiLDB4MDAsMHgzNiwweDQwLDB4MGYsMHhmMCwweDAzLDB4ZDAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDg5ZDAsIDAsIHsweGUwLDB4MDEsMHhiMCwweDAyLDB4ZmYsMHgwNCwweDNmLDB4OTAsMHgwYywweGYxLDB4MDEsMHhmNCwweDA4LDB4N2QsMHg4MCwweDM3IH0sCi0gIDE2LCAweDg5ZTAsIDAsIHsweDAwLDB4MGYsMHhjMCwweDIzLDB4OTgsMHgwMCwweGY3LDB4MDAsMHgyYiwweGUwLDB4MGYsMHhmOCwweDIzLDB4ZmMsMHgwNiwweGZiIH0sCi0gIDE2LCAweDg5ZjAsIDAsIHsweDgzLDB4YmYsMHhjMCwweDg3LDB4ZDAsMHgwMywweGRjLDB4MDAsMHhlZiwweDAwLDB4M2IsMHhjMCwweDBmLDB4YjAsMHgwMSwweGY4IH0sCi0gIDE2LCAweDhhMDAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YTYsMHgwMCwweGNiLDB4MDAsMHgzMywweDgwIH0sCi0gIDE2LCAweDhhMTAsIDAsIHsweDBmLDB4YjAsMHgwMywweGUxLDB4MTAsMHhmMiwweDQwLDB4YjIsMHgwMCwweDNkLDB4OTQsMHgxNywweDJkLDB4NDQsMHhmYSwweDQxIH0sCi0gIDE2LCAweDhhMjAsIDAsIHsweDMyLDB4YzAsMHg5ZiwweGIwLDB4MjMsMHgyYywweDAyLDB4Y2IsMHg0MCwweDMyLDB4YzAsMHg0ZiwweDkwLDB4MDMsMHgzZCwweDAwIH0sCi0gIDE2LCAweDhhMzAsIDAsIHsweGNiLDB4MDAsMHgzZSwweDQwLDB4MGYsMHhiMCwweDAzLDB4MTAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDhhNDAsIDAsIHsweDg4LDB4MDUsMHgyNiwweDAwLDB4OGIsMHg3MSwweDIwLDB4ZDUsMHgwMywweDk5LDB4MDIsMHhlMCwweDAwLDB4YmIsMHg4MCwweDIyIH0sCi0gIDE2LCAweDhhNTAsIDAsIHsweDYwLDB4MWMsMHg4MCwweDAzLDB4NjAsMHgwMCwweGI4LDB4MDIsMHgyMiwweGMyLDB4MGIsMHgzMiwweDAyLDB4MmMsMHgwMSwweDhmIH0sCi0gIDE2LCAweDhhNjAsIDAsIHsweDAyLDB4ZDcsMHhjMCwweDBiLDB4YTAsMHgwMywweDZkLDB4NDAsMHg1MywweDgwLDB4MmUsMHhjMCwweDBlLDB4ZjAsMHg0MywweDcyIH0sCi0gIDE2LCAweDhhNzAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NjgsMHgwMiwweDgwLDB4MDAsMHgyNCwweDAwIH0sCi0gIDE2LCAweDhhODAsIDAsIHsweDBiLDB4MzUsMHgyNiwweGMyLDB4MDAsMHhiMCwweDkwLDB4MjAsMHhjMCwweDg4LDB4MDAsMHgwMiwweDRmLDB4MjAsMHhiMywweDAyIH0sCi0gIDE2LCAweDhhOTAsIDAsIHsweDYwLDB4ZTIsMHgxYiwweDM4LDB4MDIsMHgwYywweDAwLDB4ODgsMHgwMCwweDYwLDB4YzAsMHgwYiwweDM0LDB4ODIsMHg0YywweDAyIH0sCi0gIDE2LCAweDhhYTAsIDAsIHsweGExLDB4OTAsMHgyYywweDQwLDB4MGIsMHgzMCwweDAyLDB4MzAsMHgwMSwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDhhYjAsIDAsIHsweDIwLDB4MDEsMHgzYSwweDA4LDB4OGMsMHhhMCwweDJkLDB4MjAsMHg0YiwweDc4LDB4MDIsMHhkYSwweDAwLDB4YjIsMHg5MCwweDIxIH0sCi0gIDE2LCAweDhhYzAsIDAsIHsweDY2LDB4NDgsMHg3OSwweDAyLDB4ZGUsMHg0MCwweGI3LDB4OTEsMHhhMSwweGUwLDB4ZGIsMHhmOCwweDAyLDB4MWUsMHg0MCwweDg0IH0sCi0gIDE2LCAweDhhZDAsIDAsIHsweDkwLDB4MDEsMHhlMCwweDhiLDB4ZjksMHgwMiwweDVlLDB4MDEsMHg5NywweDgwLDB4MmQsMHg2MCwweDBhLDB4NzgsMHgwMCwweDQ4IH0sCi0gIDE2LCAweDhhZTAsIDAsIHsweDA0LDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MGMsMHgwMCwweDgwLDB4MDAsMHgyNCwweDA0IH0sCi0gIDE2LCAweDhhZjAsIDAsIHsweDBmLDB4MzIsMHgwMywweGM0LDB4YTAsMHhmMSwweDQyLDB4MzAsMHhjNCwweDJjLDB4MzEsMHgwMiwweDQ0LDB4MDAsMHhmMSwweDExIH0sCi0gIDE2LCAweDhiMDAsIDAsIHsweGEwLDB4YzAsMHgwYiwweDMwLDB4MGIsMHgwYywweDQyLDB4ODMsMHgwMCwweDAwLDB4YzAsMHgwZiwweDMwLDB4MDMsMHg0YywweDAyIH0sCi0gIDE2LCAweDhiMTAsIDAsIHsweGUzLDB4MDAsMHgzYywweDQwLDB4MGIsMHgzMCwweDAxLDB4MTIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDhiMjAsIDAsIHsweGMwLDB4MWQsMHhiYywweDAwLDB4ZmMsMHhhNSwweDMzLDB4YzAsMHgwZiwweGQwLDB4MDMsMHhmYywweDAxLDB4YmYsMHgwMCwweDNmIH0sCi0gIDE2LCAweDhiMzAsIDAsIHsweGM0LDB4MGUsMHg3MSwweDAzLDB4NzQsMHgwMCwweDc1LDB4MTAsMHgzZiwweGMwLDB4MDUsMHhmMCwweDAzLDB4ZGMsMHg0MCwweGZmIH0sCi0gIDE2LCAweDhiNDAsIDAsIHsweDA0LDB4M2YsMHhjMCwweDBmLDB4ZjAsMHg0MywweGZjLDB4MDAsMHg3ZiwweDAwLDB4M2YsMHg0MCwweDBlLDB4ZjAsMHgwMywweGQwIH0sCi0gIDE2LCAweDhiNTAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA0LDB4ZTgsMHgwMCwweGYyLDB4MDQsMHhiMywweDgwIH0sCi0gIDE2LCAweDhiNjAsIDAsIHsweDBmLDB4YjgsMHgwYiwweDJjLDB4MDAsMHhlYiwweDgwLDB4MzIsMHhjMCwweDBjLDB4MjAsMHgxMywweDJlLDB4MDgsMHhjYiwweDAxIH0sCi0gIDE2LCAweDhiNzAsIDAsIHsweDMyLDB4YzUsMHgwZiwweGIxLDB4MDMsMHhlYywweDQ4LDB4YzgsMHgxMCwweDMyLDB4ZmEsMHg4YywweDM4LDB4MDMsMHgzYywweDkwIH0sCi0gIDE2LCAweDhiODAsIDAsIHsweGNiLDB4MDAsMHgzZSwweDQwLDB4MGYsMHhiMCwweDEzLDB4YzIsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDhiOTAsIDAsIHsweGM4LDB4MTAsMHg5OCwweDAwLDB4ZjYsMHgwMCwweDYxLDB4ODEsMHgwYiwweGYwLDB4MDIsMHgxYywweDAwLDB4ZDcsMHgwMCwweGI3IH0sCi0gIDE2LCAweDhiYTAsIDAsIHsweDgwLDB4MGMsMHg3MCwweDAyLDB4YmMsMHgxMCwweDhmLDB4MDAsMHgyMSwweGM4LDB4OGIsMHg3MiwweDQzLDB4ZmMsMHg4OCwweGRjIH0sCi0gIDE2LCAweDhiYjAsIDAsIHsweDAwLDB4MzcsMHhjOCwweDBkLDB4NTAsMHgwMiwweDFjLDB4MjIsMHg4NywweDAwLDB4MmQsMHhjMCwweDBiLDB4NzAsMHgwMiwweGQzIH0sCi0gIDE2LCAweDhiYzAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDAwLDB4OWUsMHgwMCwweGI2LDB4ODAsMHhhOSwweGEwIH0sCi0gIDE2LCAweDhiZDAsIDAsIHsweDRiLDB4N2MsMHgwMiwweDVlLDB4MzAsMHhhMywweDg4LDB4MjEsMHhmMCwweDA4LDB4NzgsMHgwMiwweDE2LDB4MDAsMHg4NSwweDgwIH0sCi0gIDE2LCAweDhiZTAsIDAsIHsweDIxLDB4ZTAsMHgwYiwweDc4LDB4MDIsMHhkZSwweDAwLDB4ODcsMHg4MCwweGExLDB4ZTQsMHgwOCwweGQ4LDB4MDIsMHg0ZSwweDAwIH0sCi0gIDE2LCAweDhiZjAsIDAsIHsweDk3LDB4ODAsMHgyZCwweDcwLDB4MGIsMHg3OCwweDAyLDB4YzgsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDhjMDAsIDAsIHsweDQ4LDB4MTQsMHhlYywweDAwLDB4YjIsMHgwMCwweDI4LDB4YzAsMHgwYiwweDEwLDB4MDIsMHg0ZSwweDkwLDB4OTMsMHgwMiwweDIyIH0sCi0gIDE2LCAweDhjMTAsIDAsIHsweGYwLDB4MDgsMHgzOCwweDQyLDB4OGMsMHg0MiwweDgzLDB4MDQsMHgyMiwweGU0LDB4NGIsMHgzOCwweDAyLDB4OGUsMHg0MCwweDgzIH0sCi0gIDE2LCAweDhjMjAsIDAsIHsweDAwLDB4MjAsMHhjMCwweDA5LDB4MzgsMHgyMiwweDRlLDB4MjEsMHg5MywweDAwLDB4MmUsMHhlMCwweDBiLDB4MzAsMHgwMiwweGRiIH0sCi0gIDE2LCAweDhjMzAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YTgsMHgwMSwweGZhLDB4MDAsMHgzYiwweDg5IH0sCi0gIDE2LCAweDhjNDAsIDAsIHsweDBmLDB4YTAsMHgwMiwweDc4LDB4MDgsMHhhZSwweDQwLDB4MjMsMHg4MCwweDJjLDB4NmMsMHgwYiwweDNhLDB4MDAsMHg4ZSwweDhjIH0sCi0gIDE2LCAweDhjNTAsIDAsIHsweGIyLDB4MDAsMHgwYiwweDgwLDB4ODIsMHhlMCwweDAyLDB4OGUsMHgwMCwweDIyLDB4ODAsMHgwYywweGU4LDB4MDIsMHg3YiwweDgwIH0sCi0gIDE2LCAweDhjNjAsIDAsIHsweDlhLDB4ODAsMHgzZSwweDgwLDB4MGYsMHhhMCwweDAzLDB4ZmEsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDhjNzAsIDAsIHsweDQ4LDB4MDAsMHhlMCwweDA5LDB4ZWMsMHgwMCwweDM2LDB4MjEsMHgwYiwweDgwLDB4MTMsMHhhMSwweDAwLDB4ZjgsMHg2MCwweDNlIH0sCi0gIDE2LCAweDhjODAsIDAsIHsweDAwLDB4MGYsMHg4MSwweDAzLDB4ZTAsMHgwMCwweGY4LDB4MDAsMHgzZSwweDAwLDB4MGYsMHg4MCwweDQzLDB4ZTAsMHgxMCwweGY4IH0sCi0gIDE2LCAweDhjOTAsIDAsIHsweDAwLDB4YmUsMHgwMCwweDBmLDB4ODUsMHgwYiwweDgwLDB4MDAsMHhlOCwweDEwLDB4M2UsMHgwMCwweDBmLDB4ODAsMHgwMywweGQyIH0sCi0gIDE2LCAweDhjYTAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTQsMHgwMiwweGM5LDB4MDIsMHgzMCwweDQ4IH0sCi0gIDE2LCAweDhjYjAsIDAsIHsweDBjLDB4OTksMHgxMywweGE0LDB4MDIsMHhjOSwweDAwLDB4M2UsMHg0MiwweDBjLDB4OTAsMHg4ZiwweDI0LDB4MDAsMHhmOSwweDAwIH0sCi0gIDE2LCAweDhjYzAsIDAsIHsweDMyLDB4MjgsMHgwYywweDg4LDB4MDMsMHhlMCwweDAwLDB4YzksMHgwMCwweGIyLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhlNywweDAwIH0sCi0gIDE2LCAweDhjZDAsIDAsIHsweGM5LDB4MTAsMHgzZSwweDQwLDB4MGMsMHgxMCwweDAzLDB4MDIsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDhjZTAsIDAsIHsweDgwLDB4MDQsMHg2NCwweDAxLDB4ODksMHg4MCwweGEyLDB4NDgsMHgyOCwweDkyLDB4NDIsMHhjNSwweDAwLDB4ODksMHg0MCwweDJlIH0sCi0gIDE2LCAweDhjZjAsIDAsIHsweDQwLDB4MmMsMHg5MCwweDA2LDB4MjUsMHgwMCwweGI5LDB4MDAsMHgyMiwweDUwLDB4MDgsMHg5OCwweDAyLDB4YzQsMHgwMCwweDg5IH0sCi0gIDE2LCAweDhkMDAsIDAsIHsweDAxLDB4NzYsMHg0MCwweDRiLDB4OTIsMHgwMiwweGU1LDB4MDIsMHg4OSwweDAwLDB4MmUsMHg0MCwweDBkLDB4OTAsMHgwMywweDYwIH0sCi0gIDE2LCAweDhkMTAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4MjQsMHgwYywweDg1LDB4MjAsMHhhMiwweDQwIH0sCi0gIDE2LCAweDhkMjAsIDAsIHsweDA4LDB4OTAsMHgwNiwweGU1LDB4MDAsMHg4OSwweDQwLDB4MmUsMHg0MCwweDA5LDB4OTAsMHg0MiwweGE0LDB4YTAsMHgzMSwweDAwIH0sCi0gIDE2LCAweDhkMzAsIDAsIHsweDIyLDB4NTAsMHgxOCwweDkxLDB4MDIsMHhlNCwweDAwLDB4ODEsMHgwMCwweDIyLDB4NDAsMHgwYiwweDkwLDB4MDYsMHhlNCwweDAwIH0sCi0gIDE2LCAweDhkNDAsIDAsIHsweDg5LDB4MDAsMHgyZSwweDQwLDB4MDksMHg5MCwweDAyLDB4MGUsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDhkNTAsIDAsIHsweDAwLDB4MDQsMHgxNSwweDAwLDB4ODUsMHg0MCwweDIwLDB4NDAsMHgwOCwweDE0LDB4MjYsMHhlNCwweDAwLDB4ODEsMHgwMCwweDJjIH0sCi0gIDE2LCAweDhkNjAsIDAsIHsweDQwLDB4MTgsMHgxMCwweDAyLDB4ODQsMHg4MCwweGIxLDB4MjAsMHhhMCwweDUwLDB4MDgsMHgxNCwweDAyLDB4ZTUsMHgwMiwweDgxIH0sCi0gIDE2LCAweDhkNzAsIDAsIHsweDQwLDB4MjAsMHg0OCwweDBiLDB4MTAsMHgwNiwweGNjLDB4MDAsMHg4MSwweDAxLDB4MmMsMHg1MCwweDA5LDB4MTQsMHgwMiwweDRhIH0sCi0gIDE2LCAweDhkODAsIDAsIHsweDA1LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjAsMHgwMCwweDhjLDB4MDAsMHgzMiwweDAwIH0sCi0gIDE2LCAweDhkOTAsIDAsIHsweDBjLDB4ODAsMHgyMywweGUwLDB4MDAsMHhjOCwweDAwLDB4M2UsMHgxNCwweDBkLDB4ODAsMHgxMiwweGExLDB4NDQsMHhmOCwweDUxIH0sCi0gIDE2LCAweDhkYTAsIDAsIHsweDMyLDB4MDAsMHgyYywweDgwLDB4MDMsMHhlMCwweDAwLDB4ODgsMHgwNCwweDIyLDB4MTQsMHgwZiwweDgwLDB4MDcsMHhlMCwweDAwIH0sCi0gIDE2LCAweDhkYjAsIDAsIHsweGM4LDB4MDAsMHgzZSwweDAwLDB4MGQsMHg4MCwweDAzLDB4MmUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDhkYzAsIDAsIHsweDk4LDB4OWQsMHhlNCwweDAwLDB4ZjksMHgwMCwweDNmLDB4NTAsMHgwZiwweGQwLDB4MDMsMHhkYywweDAxLDB4YmQsMHg0MiwweDNmIH0sCi0gIDE2LCAweDhkZDAsIDAsIHsweDUwLDB4NGYsMHhkNCwweDQzLDB4NzQsMHg0MSwweGZkLDB4MTAsMHgzZiwweDEwLDB4MWYsMHhjNCwweDEzLDB4ZjEsMHgwMCwweGZkIH0sCi0gIDE2LCAweDhkZTAsIDAsIHsweDQwLDB4N2UsMHg0NCwweDBmLDB4ZDAsMHg0MywweGY1LDB4MDEsMHhmZCwweDAwLDB4M2YsMHg0MCwweDBmLDB4OTQsMHgwMywweGU2IH0sCi0gIDE2LCAweDhkZjAsIDAsIHsweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4ZjQsMHgwMCwweGRmLDB4MDUsMHgzMywweDYxIH0sCi0gIDE2LCAweDhlMDAsIDAsIHsweDBmLDB4NTAsMHg1MywweDM0LDB4MTAsMHhmZCwweDA0LDB4MzMsMHg0NCwweDRmLDB4NTAsMHgwMywweDc2LDB4YzEsMHhjZCwweGUwIH0sCi0gIDE2LCAweDhlMTAsIDAsIHsweDMzLDB4NjAsMHgwYywweGNlLDB4MDMsMHhmNiwweGMwLDB4ZTEsMHhjMCwweGI2LDB4NjQsMHg4ZiwweDUwLDB4MGIsMHgzNiwweDgyIH0sCi0gIDE2LCAweDhlMjAsIDAsIHsweGNkLDB4MDAsMHgzZSwweDQ0LDB4NGMsMHg5ZSwweGMzLDB4YzYsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDhlMzAsIDAsIHsweDM4LDB4MTAsMHhlYSwweDI4LDB4ODAsMHhhMCwweGIyLDB4MDQsMHgwYiwweDhhLDB4ODMsMHg2MCwweDAwLDB4ZmEsMHgwMCwweDM2IH0sCi0gIDE2LCAweDhlNDAsIDAsIHsweDI4LDB4OGIsMHg4MCwweDAzLDB4ZTMsMHhjOCwweGM4LDB4ODQsMHgyMiwweDE0LDB4MDgsMHg4YSwweDAyLDB4ZTIsMHg4MCwweGQ4IH0sCi0gIDE2LCAweDhlNTAsIDAsIHsweDgyLDB4MzQsMHgzNCwweDFiLDB4ODAsMHgwMywweDYwLDB4MDQsMHg4OCwweDAwLDB4MmUsMHgyMCwweDBhLDB4OGUsMHg0MiwweGNlIH0sCi0gIDE2LCAweDhlNjAsIDAsIHsweDA2LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA1LDB4YzQsMHg4MCwweDgxLDB4MDgsMHgwNCwweDQxIH0sCi0gIDE2LCAweDhlNzAsIDAsIHsweDBiLDB4OTIsMHgwMiwweDA0LDB4MDAsMHhiMSwweDAwLDB4MmMsMHg0MCwweDBiLDB4MTgsMHgwMiwweDI0LDB4MDAsMHhiMSwweDYwIH0sCi0gIDE2LCAweDhlODAsIDAsIHsweDI2LDB4NDAsMHgwYSwweDE2LDB4MDIsMHhjNSwweDAwLDB4YTEsMHhjMCwweDIwLDB4NDgsMHgwYiwweDkwLDB4MDIsMHg0NywweDAwIH0sCi0gIDE2LCAweDhlOTAsIDAsIHsweDkxLDB4MDEsMHgyYywweDQ4LDB4MTgsMHgxMiwweDAyLDB4ZDIsMHgwMSwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDhlYTAsIDAsIHsweDE4LDB4MTUsMHhhNCwweDBjLDB4OGIsMHgwNCwweGEyLDB4NTAsMHgwYiwweDkxLDB4MDIsMHgyNCwweDA0LDB4YTksMHgwMSwweDJlIH0sCi0gIDE2LCAweDhlYjAsIDAsIHsweDQyLDB4MGIsMHg5MCwweDAyLDB4YTQsMHgwMCwweGE5LDB4MDAsMHgyNiwweDYwLDB4MGEsMHg5MCwweDAyLDB4ZTYsMHgwMCwweDgxIH0sCi0gIDE2LCAweDhlYzAsIDAsIHsweDAwLDB4MjIsMHg0MCwweDhiLDB4YjAsMHgwMiwweDI0LDB4MDgsMHg5OSwweDEwLDB4MmUsMHg0MCwweDFhLDB4OTAsMHgwMiwweGM2IH0sCi0gIDE2LCAweDhlZDAsIDAsIHsweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4ZTUsMHgwMCwweGM5LDB4MDAsMHgzNiwweDQwIH0sCi0gIDE2LCAweDhlZTAsIDAsIHsweDBmLDB4MTAsMHgwMiwweDI1LDB4MDAsMHhiMSwweDAwLDB4MmUsMHg2MCwweDBmLDB4MTAsMHgxMiwweDI0LDB4MDIsMHhiOSwweGEwIH0sCi0gIDE2LCAweDhlZjAsIDAsIHsweGE0LDB4NDAsMHgyZSwweDkxLDB4MDMsMHhlNiwweDAwLDB4YTksMHgwMCwweDIyLDB4NDAsMHgwYiwweDE5LDB4ODAsMHg2NCwweDA0IH0sCi0gIDE2LCAweDhmMDAsIDAsIHsweGQ5LDB4ODEsMHgyZSwweDQwLDB4NGMsMHg5MCwweDAzLDB4ZTgsMHgxNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDhmMTAsIDAsIHsweDY4LDB4MDEsMHhhNCwweDBhLDB4ZTksMHgwMCwweGJlLDB4NDgsMHgwZiwweDk4LDB4MGIsMHhlNCwweDAwLDB4ZjksMHhjNCwweDM2IH0sCi0gIDE2LCAweDhmMjAsIDAsIHsweDcwLDB4MWYsMHg5MiwweDAzLDB4ZTYsMHg5MCwweGMxLDB4OTAsMHgzYSwweDQwLDB4OGQsMHg4OCwweDAzLDB4ZTQsMHgwMCwweGY5IH0sCi0gIDE2LCAweDhmMzAsIDAsIHsweDkwLDB4M2UsMHg0MCwweDBiLDB4OTgsMHgwMywweGU2LDB4NDAsMHhlOSwweDAwLDB4M2UsMHg0MCwweDBmLDB4OTAsMHgwMywweGQyIH0sCi0gIDE2LCAweDhmNDAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg2OCwweDEwLDB4YTEsMHgwMiwweGQ4LDB4MjAsMHhiMiwweDEwIH0sCi0gIDE2LCAweDhmNTAsIDAsIHsweDBjLDB4ODAsMHg4MywweDIxLDB4NDAsMHhjOCwweDU4LDB4YjIsMHgxMCwweDRjLDB4ODAsMHgwYiwweDIwLDB4MDAsMHhmOCwweDQyIH0sCi0gIDE2LCAweDhmNjAsIDAsIHsweDMyLDB4MDAsMHgwZiwweDgwLDB4MDMsMHhlMCwweDAyLDB4ZDgsMHgwMCwweDcyLDB4MDAsMHgxYywweDgwLDB4MDAsMHgyMCwweDAwIH0sCi0gIDE2LCAweDhmNzAsIDAsIHsweGY4LDB4MDQsMHgzZSwweDAwLDB4MGYsMHg4MCwweDAzLDB4MDIsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDhmODAsIDAsIHsweDI4LDB4MDUsMHgzOCwweDA0LDB4Y2UsMHg0MSwweDIzLDB4ODAsMHgwOCwweGUwLDB4MDIsMHgzOSwweDEwLDB4YWUsMHg0MCwweDIyIH0sCi0gIDE2LCAweDhmOTAsIDAsIHsweDgwLDB4MDgsMHhlMCwweDAyLDB4MWEsMHgwMCwweGJhLDB4MDAsMHgyYiwweGFkLDB4MDMsMHg4MCwweDAyLDB4ZTgsMHgwMCwweGNhIH0sCi0gIDE2LCAweDhmYTAsIDAsIHsweDAwLDB4MmEsMHg4MCwweDBhLDB4ZTAsMHgwMiwweDE4LDB4MDAsMHhiYSwweDAwLDB4MWEsMHg4MCwweDBiLDB4YTAsMHgwMywweDRhIH0sCi0gIDE2LCAweDhmYjAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg2OCwweDA1LDB4NmMsMHgxMiwweDg5LDB4MDAsMHhhMCwweGUwIH0sCi0gIDE2LCAweDhmYzAsIDAsIHsweDA4LDB4MzgsMHgwMiwweDBkLDB4ODgsMHg4MywweDAwLDB4MDQsMHhlMCwweDA4LDB4MzgsMHgzMiwweDBlLDB4MjUsMHgzMSwweDAxIH0sCi0gIDE2LCAweDhmZDAsIDAsIHsweDI0LDB4ZTAsMHg4YiwweDM4LDB4MDIsMHhlNCwweDAxLDB4ODMsMHgwMCwweDIwLDB4YzAsMHgwOCwweDMwLDB4MDIsMHg4YywweDAwIH0sCi0gIDE2LCAweDhmZTAsIDAsIHsweGIzLDB4MDAsMHgyZSwweGMwLDB4MGIsMHgzMCwweDAyLDB4MGEsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDhmZjAsIDAsIHsweGEwLDB4MDEsMHgxNCwweDIwLDB4ODYsMHgyMCwweDI5LDB4YjAsMHgwOCwweGYwLDB4ODIsMHgzZSwweDA0LDB4YTcsMHgwMCwweDIxIH0sCi0gIDE2LCAweDkwMDAsIDAsIHsweDcwLDB4ODgsMHg3MCwweDkyLDB4MWMsMHgyMCwweGJkLDB4MDAsMHg2OSwweGMwLDB4MGIsMHg3NiwweDAyLDB4ZDQsMHg4MCwweDhmIH0sCi0gIDE2LCAweDkwMTAsIDAsIHsweDIxLDB4MjksMHhlMCwweDBhLDB4NjAsMHg4NiwweDk4LDB4MDEsMHhiNywweDAwLDB4MmQsMHhjOCwweDBiLDB4M2IsMHgwMiwweDYwIH0sCi0gIDE2LCAweDkwMjAsIDAsIHsweDA0LDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4M2UsMHgwMCwweGM3LDB4YTAsMHhiMCwweGUwIH0sCi0gIDE2LCAweDkwMzAsIDAsIHsweDJjLDB4NzgsMHgwYiwweDFhLDB4MDAsMHhjMywweDgwLDB4MzcsMHhlMCwweDI4LDB4NzgsMHgwMywweDFhLDB4MDgsMHhmNSwweDkwIH0sCi0gIDE2LCAweDkwNDAsIDAsIHsweDM1LDB4ZTAsMHgwZiwweDdjLDB4MTIsMHhkNiwweDgyLDB4YzcsMHg5MCwweDIxLDB4ZTQsMHgwOCwweDc4LDB4MDMsMHg5ZSwweDAwIH0sCi0gIDE2LCAweDkwNTAsIDAsIHsweGY1LDB4ODAsMHgzZCwweGYxLDB4MGYsMHg3OCwweDAzLDB4MjIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDkwNjAsIDAsIHsweDA4LDB4MTksMHhhNCwweDAwLDB4ZWUsMHg4MCwweDM2LDB4YzEsMHg0ZiwweGQwLDB4MDMsMHhjOCwweDAwLDB4ZmIsMHgwMCwweDNlIH0sCi0gIDE2LCAweDkwNzAsIDAsIHsweDUxLDB4MGYsMHhiMCwweDAzLDB4ZTQsMHgwOCwweGYxLDB4NjAsMHgzZSwweGMwLDB4MGYsMHhiMCwweDAzLDB4YzUsMHgwMCwweGViIH0sCi0gIDE2LCAweDkwODAsIDAsIHsweDEwLDB4M2UsMHhjMCwweDBmLDB4YjAsMHgwOSwweDZjLDB4MDAsMHhmYiwweDAwLDB4M2EsMHhjMCwweDBmLDB4YjAsMHgwMywweGMyIH0sCi0gIDE2LCAweDkwOTAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4ZmUsMHgwMCwweGZkLDB4ODgsMHgzMywweDYwIH0sCi0gIDE2LCAweDkwYTAsIDAsIHsweDBmLDB4ZjksMHgwMywweGNlLDB4NDAsMHhkNywweDg0LDB4MzcsMHg3MCwweDBjLDB4ZDgsMHgyMywweDM2LDB4MDAsMHhjNSwweDg4IH0sCi0gIDE2LCAweDkwYjAsIDAsIHsweDMzLDB4ZTAsMHg0ZiwweGY4LDB4MTMsMHhmNywweDI4LDB4ZGYsMHg4MCwweDM3LDB4ZTIsMHgwYywweDU4LDB4MDMsMHgzZSwweDAwIH0sCi0gIDE2LCAweDkwYzAsIDAsIHsweGZmLDB4OTAsMHgzZiwweGUwLDB4MGMsMHhmOCwweDAzLDB4MDAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDkwZDAsIDAsIHsweGE5LDB4MTEsMHg5YywweDA4LDB4ZjYsMHgwMCwweGExLDB4MDAsMHgwYiwweDYzLDB4MDIsMHhkNiwweDMwLDB4ODUsMHg0MSwweDMxIH0sCi0gIDE2LCAweDkwZTAsIDAsIHsweGM4LDB4MDgsMHg1MCwweDIzLDB4MWMsMHgwMCwweGQ1LDB4MjAsMHhiMSwweDgwLDB4MGYsMHg3MCwweDAzLDB4YjQsMHgwMCwweGM3IH0sCi0gIDE2LCAweDkwZjAsIDAsIHsweDAwLDB4MjEsMHhjMCwweDBmLDB4NDAsMHhhMywweDU4LDB4NDAsMHhiNywweDAwLDB4M2YsMHhjNCwweDBhLDB4ZjAsMHgwMiwweDJhIH0sCi0gIDE2LCAweDkxMDAsIDAsIHsweDA2LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OWMsMHg0MCwweGI3LDB4MTAsMHgyMSwweGQyIH0sCi0gIDE2LCAweDkxMTAsIDAsIHsweDBiLDB4NzAsMHgwMiwweGRjLDB4NDIsMHg4NiwweDAwLDB4MjUsMHg2MSwweDA4LDB4NTEsMHgwMiwweDUwLDB4MDAsMHg5NSwweDAwIH0sCi0gIDE2LCAweDkxMjAsIDAsIHsweDI1LDB4YzAsMHgwOSwweDcwLDB4ODIsMHhkNCwweDAwLDB4ODcsMHgwMCwweDI0LDB4YzAsMHgwOCwweDUwLDB4MDIsMHg1YywweDAwIH0sCi0gIDE2LCAweDkxMzAsIDAsIHsweDk1LDB4MDQsMHgyZCwweGMwLDB4MDgsMHg3MCwweDAyLDB4MDAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDkxNDAsIDAsIHsweDIwLDB4MTQsMHhjYywweDA4LDB4YjIsMHhkMCwweDIwLDB4ZTAsMHg0YiwweDA4LDB4MDIsMHhjNCwweDAwLDB4ODAsMHg4MCwweDIwIH0sCi0gIDE2LCAweDkxNTAsIDAsIHsweGYwLDB4MDgsMHgxYSwweDAyLDB4ODUsMHg0OCwweDgxLDB4MTAsMHgyMCwweDQwLDB4MGEsMHgzMCwweDAyLDB4YzYsMHgxMCwweDkzIH0sCi0gIDE2LCAweDkxNjAsIDAsIHsweDAwLDB4MjAsMHhjMCwweDBhLDB4MWMsMHgwMiwweDBkLDB4NDAsMHhiMywweDAwLDB4NjgsMHhjNCwweDBhLDB4YjAsMHgwMiwweDA5IH0sCi0gIDE2LCAweDkxNzAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YWMsMHgwMSwweGZlLDB4MDAsMHgzMiwweGYwIH0sCi0gIDE2LCAweDkxODAsIDAsIHsweDBmLDB4ODgsMHgwMywweGU2LDB4MDAsMHhjOCwweGM4LDB4MzYsMHhmNiwweDI4LDB4YTYsMHgwYSwweDZkLDB4MDAsMHg5ZCwweDAwIH0sCi0gIDE2LCAweDkxOTAsIDAsIHsweDMyLDB4MDAsMHgwYiwweGIwLDB4MDMsMHhmNiwweDAzLDB4YzcsMHgwMCwweDM3LDB4YzAsMHgwOCwweDljLDB4MGEsMHg2ZSwweDAwIH0sCi0gIDE2LCAweDkxYTAsIDAsIHsweGJiLDB4MDAsMHgyZiwweGMwLDB4MGMsMHhmMCwweDAzLDB4MmEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDkxYjAsIDAsIHsweDgwLDB4MDAsMHhlNCwweDAxLDB4ZWIsMHg0MCwweDNlLDB4ODAsMHg0ZiwweGMxLDB4MDMsMHhlNCwweDAwLDB4YjgsMHgwOCwweDNhIH0sCi0gIDE2LCAweDkxYzAsIDAsIHsweDQwLDB4OGYsMHhhNCwweDEzLDB4NmMsMHgyMCwweGY5LDB4MDAsMHgzZSwweDcwLDB4MGYsMHhiMCwweDAzLDB4YTQsMHg0MCwweGViIH0sCi0gIDE2LCAweDkxZDAsIDAsIHsweDAwLDB4M2UsMHhjMCwweDBmLDB4OTIsMHgyMywweGU4LDB4MDAsMHhmOSwweDgwLDB4M2UsMHhjMCwweDBmLDB4YjAsMHg2MywweGUwIH0sCi0gIDE2LCAweDkxZTAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZmMsMHgwOCwweGNlLDB4MDgsMHgzMywweGMwIH0sCi0gIDE2LCAweDkxZjAsIDAsIHsweDBmLDB4ZGEsMHgwMywweDMwLDB4MDAsMHhlNCwweDA0LDB4MzUsMHhjMCwweDBkLDB4YTAsMHgwMywweDI4LDB4MDAsMHhjNSwweDAwIH0sCi0gIDE2LCAweDkyMDAsIDAsIHsweDMzLDB4MDAsMHgwYiwweGZhLDB4MDMsMHhmNCwweDAzLDB4Y2IsMHgwMCwweDMxLDB4YzAsMHgwYywweGQ0LDB4MDMsMHgxNCwweDIwIH0sCi0gIDE2LCAweDkyMTAsIDAsIHsweGNkLDB4ODAsMHgyMywweGMxLDB4MGMsMHhmMCwweDAyLDB4MDgsMHg0NCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDkyMjAsIDAsIHsweDgxLDB4MDQsMHg0NCwweDEwLDB4Y2IsMHhkMCwweDIyLDB4YzAsMHgwYiwweDk0LDB4MDIsMHgyMiwweDg0LDB4YjgsMHhjNiwweDAyIH0sCi0gIDE2LCAweDkyMzAsIDAsIHsweDQwLDB4MDgsMHgyOCwweDAyLDB4YTUsMHg4MCwweDg5LDB4MDAsMHgyMiwweDYwLDB4MGIsMHhiOCwweDAyLDB4NjQsMHgwMCwweDhiIH0sCi0gIDE2LCAweDkyNDAsIDAsIHsweDAwLDB4MmEsMHhjMCwweGM4LDB4MDAsMHgwMywweDY2LDB4MDAsMHg4MSwweDAwLDB4MDAsMHhjMCwweDBkLDB4YjAsMHgwYSwweGE4IH0sCi0gIDE2LCAweDkyNTAsIDAsIHsweDQwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MmMsMHgwMCwweDEzLDB4MDAsMHgyMiwweDQwIH0sCi0gIDE2LCAweDkyNjAsIDAsIHsweDhiLDB4MjQsMHgwMiwweDJhLDB4MDAsMHhiYiwweDgyLDB4MjIsMHg0MCwweDAwLDB4YWMsMHgwMiwweDg0LDB4MDAsMHg4OSwweDAwIH0sCi0gIDE2LCAweDkyNzAsIDAsIHsweDIyLDB4MjIsMHgwYiwweGIwLDB4MDIsMHhjNCwweDAwLDB4OWIsMHgwMCwweDJhLDB4YzAsMHgwOCwweGIwLDB4MDIsMHgyZSwweDAwIH0sCi0gIDE2LCAweDkyODAsIDAsIHsweDhiLDB4MTAsMHgyYSwweGMwLDB4MDgsMHhiMCwweDAyLDB4YTAsMHgxMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDkyOTAsIDAsIHsweDA4LDB4MDQsMHgwYywweDEwLDB4ODMsMHgwMCwweDIwLDB4MDEsMHgwYiwweDIwLDB4MDIsMHgwMCwweDgwLDB4YjEsMHgwMCwweDIwIH0sCi0gIDE2LCAweDkyYTAsIDAsIHsweGMxLDB4MDgsMHgyMCwweDAyLDB4ODgsMHgwMSwweDgxLDB4MDAsMHhhMCwweDAwLDB4MGIsMHgzMCwweDAyLDB4NDQsMHgwMSwweDliIH0sCi0gIDE2LCAweDkyYjAsIDAsIHsweDAwLDB4MjgsMHhjMCwweDA4LDB4YjAsMHgwMiwweDQ4LDB4MDYsMHg4OSwweDAwLDB4MmEsMHhjMCwweDA5LDB4MzAsMHgwMiwweDgyIH0sCi0gIDE2LCAweDkyYzAsIDAsIHsweDA1LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDhkLDB4NmMsMHgwMCwweGMzLDB4MDAsMHhiMiwweGMwIH0sCi0gIDE2LCAweDkyZDAsIDAsIHsweDBmLDB4YjAsMHgwMywweDI4LDB4MjAsMHhmYSwweDAwLDB4YjEsMHg0MCwweDBkLDB4YTAsMHgwNywweGEwLDB4MDAsMHhjZCwweDAwIH0sCi0gIDE2LCAweDkyZTAsIDAsIHsweDIyLDB4MDAsMHgwZiwweGIwLDB4MDMsMHhmNCwweDAwLDB4OWYsMHgwMCwweDNiLDB4YzAsMHgyYywweGIwLDB4MGIsMHgyNCwweDAwIH0sCi0gIDE2LCAweDkyZjAsIDAsIHsweGM5LDB4MDAsMHhiYSwweGMwLDB4MGMsMHhiMCwweDAzLDB4ODAsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDkzMDAsIDAsIHsweGEwLDB4MWQsMHhmYywweDA2LDB4ZmYsMHgwMiwweGFmLDB4YzAsMHgwZiwweGMwLDB4MDMsMHhmMCwweDEwLDB4ZmMsMHgwMCwweDNmIH0sCi0gIDE2LCAweDkzMTAsIDAsIHsweGMwLDB4OWYsMHhlMCwweDEzLDB4ZjAsMHgwMCwweGZkLDB4MDQsMHgzZiwweDQwLDB4NGYsMHhmMCwweDAzLDB4NzQsMHgwMCwweGVmIH0sCi0gIDE2LCAweDkzMjAsIDAsIHsweDAwLDB4M2YsMHhjMCwweDhmLDB4ZTAsMHgwMiwweGI0LDB4MDEsMHhmZCwweDA0LDB4MzcsMHhjMCwweDBmLDB4ZjAsMHg0MywweDY4IH0sCi0gIDE2LCAweDkzMzAsIDAsIHsweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZmMsMHgwMCwweGM3LDB4MjAsMHhiMywweGM4IH0sCi0gIDE2LCAweDkzNDAsIDAsIHsweDFjLDB4ZjEsMHgwMywweDdjLDB4MjAsMHhjZiwweDBhLDB4M2YsMHhkMCwweDBkLDB4ZjAsMHgwMywweDdjLDB4ODAsMHg4ZiwweDMyIH0sCi0gIDE2LCAweDkzNTAsIDAsIHsweDMzLDB4YzQsMHgwZiwweGYxLDB4ODMsMHgzYywweGUwLDB4Y2YsMHgxMCwweDMzLDB4YzQsMHgwZCwweGYyLDB4ODMsMHgzYywweGUyIH0sCi0gIDE2LCAweDkzNjAsIDAsIHsweGM3LDB4ODAsMHgxNywweGNjLDB4NGMsMHhmMywweDgzLDB4MzAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDkzNzAsIDAsIHsweDgwLDB4MTAsMHhlMywweDQwLDB4ODgsMHg2OCwweDIyLDB4MzAsMHgwOCwweDA2LDB4MDIsMHgwMSwweGExLDB4ODgsMHhjNCwweDBlIH0sCi0gIDE2LCAweDkzODAsIDAsIHsweDE0LDB4MDgsMHg4NywweDgwLDB4MDEsMHhjMCwweDI4LDB4NTAsMHgwMiwweDA0LDB4OGIsMHg4NiwweDAyLDB4YTEsMHg5OCwweDg4IH0sCi0gIDE2LCAweDkzOTAsIDAsIHsweDQxLDB4MmEsMHgwNCwweDBhLDB4ODQsMHg4MiwweGJkLDB4ODAsMHg4YiwweDA4LDB4MmIsMHhjNCwweDg4LDB4ZjQsMHgwMywweDYwIH0sCi0gIDE2LCAweDkzYTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4Y2MsMHgwOCwweDgyLDB4NDAsMHgyMCwweDEwIH0sCi0gIDE2LCAweDkzYjAsIDAsIHsweDA4LDB4MjEsMHgxMiwweDQ0LDB4MDQsMHg4MiwweDA0LDB4MmMsMHgwOCwweDg5LDB4OTAsMHgwMiwweDQ0LDB4MjEsMHg4YiwweDAwIH0sCi0gIDE2LCAweDkzYzAsIDAsIHsweDI0LDB4ODgsMHg4YiwweGEwLDB4MDAsMHg0MCwweDg0LDB4ODksMHgzMCwweDIyLDB4NDgsMHg4OCwweGIwLDB4MDIsMHhjYywweDA4IH0sCi0gIDE2LCAweDkzZDAsIDAsIHsweDg4LDB4MjAsMHhhNCwweGM4LDB4MDAsMHgzMiwweDBhLDB4MjIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDkzZTAsIDAsIHsweGMwLDB4MTUsMHhhMCwweDAwLDB4ODksMHgwMCwweDIyLDB4YzEsMHg4OCwweDkwLDB4NjIsMHgyOCwweDA4LDB4ODksMHgwOCwweDJlIH0sCi0gIDE2LCAweDkzZjAsIDAsIHsweGMwLDB4MDgsMHhhMCwweDAyLDB4MjgsMHgwOCwweGE4LDB4MDAsMHgyNiwweDQyLDB4MGIsMHg5MCwweDAyLDB4Y2MsMHg1MCwweDhhIH0sCi0gIDE2LCAweDk0MDAsIDAsIHsweDIyLDB4MmEsMHg4NiwweDBhLDB4ODAsMHgwMiwweGVjLDB4MDAsMHg4OCwweDg0LDB4MmEsMHhjMSwweDA4LDB4YjAsMHgyNiwweDMwIH0sCi0gIDE2LCAweDk0MTAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDE1LDB4ZjAsMHgwMiwweGNmLDB4MDAsMHgzMywweGMwIH0sCi0gIDE2LCAweDk0MjAsIDAsIHsweDQ4LDB4ZjgsMHg0MywweDc5LDB4MDAsMHg4ZCwweGMwLDB4M2YsMHgzMCwweDhkLDB4NjAsMHg4MywweDc4LDB4NjAsMHhjNCwweDU4IH0sCi0gIDE2LCAweDk0MzAsIDAsIHsweDM3LDB4MjAsMHgwZiwweDU4LDB4MTMsMHg3YiwweDAyLDB4Y2MsMHhjNCwweDMxLDB4MjAsMHgwYywweDQ0LDB4MDMsMHhlYywweDAyIH0sCi0gIDE2LCAweDk0NDAsIDAsIHsweDhiLDB4ODAsMHgzNiwweGMwLDB4MjQsMHhiMCwweDEyLDB4MTAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDk0NTAsIDAsIHsweGUwLDB4MDEsMHg5YywweDAwLDB4ZjQsMHgxMCwweDNkLDB4MDAsMHg2ZiwweGM5LDB4MTMsMHhkNCwweDEyLDB4ZmUsMHg5MCwweDNmIH0sCi0gIDE2LCAweDk0NjAsIDAsIHsweGYwLDB4MGYsMHhkYSwweDIzLDB4ZjQsMHgxNCwweGZmLDB4MDIsMHgzYiwweGYwLDB4MGYsMHhlYSwweDIzLDB4YjYsMHgwMCwweGZmIH0sCi0gIDE2LCAweDk0NzAsIDAsIHsweDgyLDB4M2YsMHhlMSwweDhmLDB4ZjQsMHgwMywweGJjLDB4MDAsMHhmZiwweDAwLDB4M2YsMHhjMCwweGFmLDB4NzAsMHgwMywweGY4IH0sCi0gIDE2LCAweDk0ODAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YTAsMHgwMCwweGNhLDB4MDAsMHgzMiwweDA4IH0sCi0gIDE2LCAweDk0OTAsIDAsIHsweDFjLDB4YTAsMHgwMywweGE1LDB4MjAsMHhjYiwweDQwLDB4YmEsMHgxMCwweDFmLDB4YjAsMHgwMywweGFjLDB4MDAsMHhlYiwweDAwIH0sCi0gIDE2LCAweDk0YTAsIDAsIHsweDcyLDB4OTAsMHgwYywweGI0LDB4MDMsMHgyOSwweDA0LDB4YzksMHg1MiwweDMyLDB4NTAsMHgwYywweGI0LDB4MDMsMHgwYywweDAwIH0sCi0gIDE2LCAweDk0YjAsIDAsIHsweGY4LDB4NDAsMHgzMiwweGMxLDB4MGUsMHhiMCwweDBiLDB4NTAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDk0YzAsIDAsIHsweGM4LDB4MDUsMHgyZCwweDgwLDB4ODksMHg4MCwweDIyLDB4ZDksMHgwOCwweDkwLDB4MjIsMHgyYSwweDAwLDB4ODgsMHg1NCwweDIyIH0sCi0gIDE2LCAweDk0ZDAsIDAsIHsweGMwLDB4OGIsMHg4MCwweDIyLDB4MjAsMHgxOSwweGM4LDB4MDAsMHgyMiwweDQwLDB4OGQsMHg4MCwweDFhLDB4MjQsMHgxMCwweGQyIH0sCi0gIDE2LCAweDk0ZTAsIDAsIHsweDQ0LDB4MjIsMHg4MSwweDBkLDB4ODAsMHgwMywweDdjLDB4MDAsMHhiMCwweDAwLDB4MzcsMHhjMCwweDg4LDB4ZjAsMHgwMiwweDMyIH0sCi0gIDE2LCAweDk0ZjAsIDAsIHsweDEwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NGUsMHgwMCwweDgxLDB4MDAsMHhhMCwweGYwIH0sCi0gIDE2LCAweDk1MDAsIDAsIHsweDA4LDB4OTAsMHgwMiwweDg5LDB4MDIsMHg4MCwweDAwLDB4MjIsMHhjMCwweDBiLDB4MDAsMHgyMiwweGEwLDB4MDAsMHhiMCwweDAwIH0sCi0gIDE2LCAweDk1MTAsIDAsIHsweDIwLDB4NDAsMHgwOCwweDAwLDB4MDIsMHgwNCwweDAwLDB4ODIsMHg2MCwweDIwLDB4ODAsMHgwOCwweDAwLDB4MDIsMHgwYywweDA4IH0sCi0gIDE2LCAweDk1MjAsIDAsIHsweGIyLDB4MDAsMHgyMiwweGMwLDB4MDgsMHgzMCwweDAyLDB4MzgsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDk1MzAsIDAsIHsweDIwLDB4MDEsMHgwMywweDEwLDB4OGUsMHg5MCwweDIzLDB4MjQsMHgwOCwweDZiLDB4MDIsMHgxNiwweDYwLDB4OGYsMHg4MCwweDIxIH0sCi0gIDE2LCAweDk1NDAsIDAsIHsweDI4LDB4MGIsMHhmOSwweDA2LDB4MWUsMHg0MCwweDhmLDB4ODAsMHgyMywweGE0LDB4NDksMHg3OSwweDAyLDB4M2EsMHg0MCwweDlkIH0sCi0gIDE2LCAweDk1NTAsIDAsIHsweDkwLDB4MjMsMHg2NCwweDA5LDB4ZjgsMHgwMiwweDVlLDB4NDAsMHhiZSwweDkwLDB4MjQsMHhlNCwweDI4LDB4NzksMHgwMiwweDA4IH0sCi0gIDE2LCAweDk1NjAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MGMsMHg0MiwweGMwLDB4MDksMHgzMCwweDAwIH0sCi0gIDE2LCAweDk1NzAsIDAsIHsweDI4LDB4MDIsMHgwMywweDg0LDB4MDAsMHg4YSwweDIwLDB4MzAsMHhjNCwweDhiLDB4MTEsMHgwMywweDg0LDB4NTAsMHhiMywweDAwIH0sCi0gIDE2LCAweDk1ODAsIDAsIHsweDIwLDB4YzAsMHgwYywweGE0LDB4MjIsMHgwNCwweDAwLDB4Y2IsMHg0MCwweDMwLDB4YzUsMHgwYywweDMwLDB4MDMsMHgwZSwweDQwIH0sCi0gIDE2LCAweDk1OTAsIDAsIHsweGYzLDB4MTAsMHgzMCwweGM0LDB4MGMsMHhiMCwweDAzLDB4MTIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDk1YTAsIDAsIHsweDQwLDB4MWQsMHhiMCwweDA0LDB4ZmIsMHgwNCwweDNkLDB4YzAsMHgwZiwweGYyLDB4NDMsMHhmOCwweDA0LDB4ZmQsMHgwMSwweDNmIH0sCi0gIDE2LCAweDk1YjAsIDAsIHsweDBjLDB4MGYsMHg2MSwweDAzLDB4ZjgsMHg0OCwweGY0LDB4MDAsMHgzZCwweDAxLDB4MGYsMHhkMCwweDAzLDB4YzgsMHgwMCwweGZjIH0sCi0gIDE2LCAweDk1YzAsIDAsIHsweDA0LDB4YmQsMHgwNCwweDBiLDB4NDgsMHgwMywweGZjLDB4MTgsMHhmZiwweDE0LDB4M2YsMHhkNSwweDBkLDB4ZjAsMHgwMywweDkwIH0sCi0gIDE2LCAweDk1ZDAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZTAsMHgwMCwweGY5LDB4MDEsMHgzMiwweGMwIH0sCi0gIDE2LCAweDk1ZTAsIDAsIHsweDhlLDB4OTAsMHgwMywweDI4LDB4MDIsMHhkMSwweDAwLDB4MzIsMHhjMCwweDBkLDB4YTgsMHgwYiwweDA4LDB4MDAsMHhlOCwweDAwIH0sCi0gIDE2LCAweDk1ZjAsIDAsIHsweDJlLDB4NDAsMHgwYywweDk4LDB4MGIsMHgyZSwweDAyLDB4Y2EsMHgwMCwweGIyLDB4YTAsMHg2YywweDgwLDB4MjMsMHgyZCwweDgwIH0sCi0gIDE2LCAweDk2MDAsIDAsIHsweGNhLDB4ODAsMHgzMiwweGQwLDB4MGMsMHhiYSwweDAzLDB4MmEsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDk2MTAsIDAsIHsweDQ4LDB4MTEsMHg5YywweDAwLDB4YjYsMHgwMCwweGEzLDB4MDAsMHgwOCwweDYwLDB4MDIsMHgwNCwweDAwLDB4ODYsMHgwNCwweDI5IH0sCi0gIDE2LCAweDk2MjAsIDAsIHsweDAwLDB4MDgsMHg1MCwweDQyLDB4MTQsMHgwNCwweGE3LDB4MDAsMHgwZCwweDgwLDB4NGEsMHg2MCwweDAyLDB4MDAsMHgwMCwweDgxIH0sCi0gIDE2LCAweDk2MzAsIDAsIHsweDAwLDB4MjEsMHg0MCwweDA4LDB4NzAsMHgwMiwweDlkLDB4NDIsMHg4NiwweDAxLDB4MjAsMHhjMCwweDA4LDB4MzIsMHg4MiwweDEyIH0sCi0gIDE2LCAweDk2NDAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4OTIsMHgwMCwweGJjLDB4ODAsMHg2MywweDIwIH0sCi0gIDE2LCAweDk2NTAsIDAsIHsweDgyLDB4MDgsMHgwMiwweDUyLDB4MDAsMHg4NCwweGMyLDB4MjMsMHgyMCwweDg4LDB4MGMsMHgwMiwweDMzLDB4MDAsMHg4NCwweDgwIH0sCi0gIDE2LCAweDk2NjAsIDAsIHsweDJmLDB4MjEsMHg4OSwweDRjLDB4MDIsMHgxMiwweDE0LDB4OTQsMHhjNSwweDY0LDB4MjEsMHgwOCwweDRjLDB4MDIsMHgwZSwweDgwIH0sCi0gIDE2LCAweDk2NzAsIDAsIHsweDk3LDB4ODIsMHhhMSwweGVjLDB4MDgsMHg3OSwweDAyLDB4MzAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDk2ODAsIDAsIHsweDQ4LDB4MTQsMHhjZCwweDQ0LDB4YjMsMHgwMCwweDIwLDB4YzAsMHgwOCwweDMwLDB4MDIsMHg0ZCwweDgwLDB4MDMsMHg4OCwweDI4IH0sCi0gIDE2LCAweDk2OTAsIDAsIHsweGMwLDB4MDgsMHgzYywweDA2LDB4MGYsMHgwMCwweGEzLDB4NDMsMHgyYywweGMyLDB4MWIsMHgzOCwweDAyLDB4MGYsMHgwMCwweDliIH0sCi0gIDE2LCAweDk2YTAsIDAsIHsweDg4LDB4NjQsMHhkMCwweDA4LDB4YjgsMHgwMiwweDhjLDB4MTAsMHg5MywweDAwLDB4MjAsMHhjMCwweDA4LDB4MzAsMHgwYSwweDEyIH0sCi0gIDE2LCAweDk2YjAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YWEsMHgwMCwweGZhLDB4MDUsMHgzMiwweDgwIH0sCi0gIDE2LCAweDk2YzAsIDAsIHsweDhlLDB4YTAsMHgwYiwweDY5LDB4MDAsMHhjYSwweDQwLDB4MzIsMHhhMCwweDNjLDB4YTgsMHgwMywweDJhLDB4MDAsMHhlYSwweDI2IH0sCi0gIDE2LCAweDk2ZDAsIDAsIHsweDNlLDB4YjAsMHgwZCwweGExLDB4NjMsMHgyOCwweDIwLDB4Y2EsMHg0MCwweDM2LDB4YTAsMHgwYywweGUwLDB4MTMsMHgyOCwweDA5IH0sCi0gIDE2LCAweDk2ZTAsIDAsIHsweGRlLDB4MDAsMHgzMiwweDgwLDB4MmMsMHhhMCwweDAzLDB4M2EsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDk2ZjAsIDAsIHsweDQ4LDB4MDAsMHhmMCwweDIwLDB4ZjQsMHgwMCwweDNmLDB4MDAsMHgwZiwweDQwLDB4MjMsMHhiMCwweDAwLDB4ZWMsMHgwMCwweDNmIH0sCi0gIDE2LCAweDk3MDAsIDAsIHsweDA2LDB4MWUsMHhjMiwweDEzLDB4ZjAsMHg4OCwweGZjLDB4MjAsMHgzZiwweDA0LDB4OGUsMHhjMCwweDAzLDB4ZjAsMHg4MCwweGVjIH0sCi0gIDE2LCAweDk3MTAsIDAsIHsweDQwLDB4M2IsMHgwYywweDBmLDB4YzAsMHhhMywweGUwLDB4MDAsMHhlOCwweDAwLDB4M2UsMHgwMCwweDRmLDB4ODAsMHgwMywweGQyIH0sCi0gIDE2LCAweDk3MjAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTQsMHgwMCwweGY5LDB4MDAsMHgzMiwweDQwIH0sCi0gIDE2LCAweDk3MzAsIDAsIHsweDBjLDB4OTAsMHgwMywweDI0LDB4MDAsMHhjOSwweDgwLDB4MzIsMHg0MCwweDBmLDB4OTAsMHg1MywweGU0LDB4MTAsMHhjOSwweDAwIH0sCi0gIDE2LCAweDk3NDAsIDAsIHsweDMyLDB4NDAsMHgwZCwweDkwLDB4MDMsMHhlNCwweDAwLDB4ZjksMHgwMCwweDM2LDB4NDAsMHg4ZiwweDkwLDB4MDMsMHgyNCwweDEwIH0sCi0gIDE2LCAweDk3NTAsIDAsIHsweGM5LDB4MDEsMHgzYywweDQwLDB4MGMsMHg5MCwweDAzLDB4YzIsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDk3NjAsIDAsIHsweDgwLDB4MDQsMHg0NywweDQ0LDB4ODksMHgwMCwweDIwLDB4NDAsMHgwOCwweDkwLDB4MDIsMHgyNSwweDBhLDB4ODEsMHgxMCwweDIyIH0sCi0gIDE2LCAweDk3NzAsIDAsIHsweDQwLDB4NDgsMHg5MCwweDAzLDB4YzQsMHgwMCwweDg5LDB4MDAsMHg3NiwweDQwLDB4MjgsMHg5MCwweDAyLDB4ZTQsMHgxMCwweGI5IH0sCi0gIDE2LCAweDk3ODAsIDAsIHsweDQwLDB4YjIsMHg0MCwweDBiLDB4OTAsMHgwMywweDY0LDB4MDAsMHg4OSwweDAwLDB4MmUsMHg0MSwweDA4LDB4OTAsMHg0MiwweGUwIH0sCi0gIDE2LCAweDk3OTAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4MjQsMHgwMiwweGJkLDB4MDAsMHgyMywweDQ4IH0sCi0gIDE2LCAweDk3YTAsIDAsIHsweDA4LDB4ZDAsMHgwNiwweDFkLDB4MDQsMHg4ZCwweDAwLDB4MjksMHhjMCwweDRhLDB4ZDAsMHgyMiwweGY0LDB4MDAsMHg4NSwweDAwIH0sCi0gIDE2LCAweDk3YjAsIDAsIHsweDYxLDB4NDAsMHgxOCwweGQwLDB4MTIsMHhmYywweDAwLDB4YmQsMHg0MCwweGEzLDB4NDAsMHg0YiwweGYwLDB4MDIsMHgwNCwweDAxIH0sCi0gIDE2LCAweDk3YzAsIDAsIHsweDhiLDB4MDAsMHgyZSwweDQwLDB4MDgsMHg5MCwweDAyLDB4YzYsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDk3ZDAsIDAsIHsweDA4LDB4MDQsMHgzNiwweDgwLDB4ODUsMHgyMCwweGEzLDB4NDgsMHgwOCwweDUyLDB4MGEsMHgxNCwweDgxLDB4ODUsMHgyMCwweDI5IH0sCi0gIDE2LCAweDk3ZTAsIDAsIHsweDQ4LDB4MDgsMHg1MiwweDAyLDB4YjQsMHg4MCwweDg1LDB4MjAsMHgyNSwweDQ4LDB4ODgsMHg1MiwweDAyLDB4ZDQsMHg4MCwweGI1IH0sCi0gIDE2LCAweDk3ZjAsIDAsIHsweDIwLDB4MjEsMHg0OCwweDBiLDB4NTIsMHgwMiwweDQ0LDB4YTIsMHg4MSwweDAwLDB4MmMsMHg0YSwweDA4LDB4MTIsMHg4MiwweGMyIH0sCi0gIDE2LCAweDk4MDAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjAsMHgwMCwweGY4LDB4NTEsMHgyMiwweDAwIH0sCi0gIDE2LCAweDk4MTAsIDAsIHsweDJjLDB4ODUsMHgwMiwweDIxLDB4NDgsMHhjOCwweDAwLDB4YmEsMHgxNCwweDBmLDB4ODUsMHgxMiwweGUxLDB4NDIsMHhjOCwweDUwIH0sCi0gIDE2LCAweDk4MjAsIDAsIHsweDIyLDB4MDAsMHgwYywweDAwLDB4MDMsMHhlMCwweDAwLDB4ZjgsMHg1MCwweDMyLDB4MDAsMHgwNywweDQ1LDB4MDMsMHgyMCwweDgwIH0sCi0gIDE2LCAweDk4MzAsIDAsIHsweGMwLDB4MDEsMHgzZSwweDA4LDB4MmMsMHg4MiwweDAzLDB4ZWUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDk4NDAsIDAsIHsweDk4LDB4MGQsMHhlNCwweDQwLDB4ZjEsMHgxMCwweDNlLDB4NDQsMHgwNywweDkxLDB4NDMsMHhlNCwweDU4LDB4ZjksMHgxMSwweDM0IH0sCi0gIDE2LCAweDk4NTAsIDAsIHsweDQ0LDB4NGYsMHg5MSwweDAyLDB4ZTQsMHg1MCwweGY5LDB4MTAsMHgzYywweDRmLDB4MGYsMHg5MywweDgzLDB4ZTQsMHhmMCwweGY5IH0sCi0gIDE2LCAweDk4NjAsIDAsIHsweDExLDB4M2EsMHg0ZiwweDBmLDB4OTEsMHgwMywweGU0LDB4YTAsMHhmZCwweDI4LDB4M2UsMHg0YSwweDBmLDB4OTIsMHg4MywweGU2IH0sCi0gIDE2LCAweDk4NzAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4ZjYsMHhhMCwweGNkLDB4YTAsMHhiMywweDY4IH0sCi0gIDE2LCAweDk4ODAsIDAsIHsweDhjLDB4OWEsMHgwMywweDM2LDB4ODAsMHhjNSwweGEwLDB4MjIsMHg2MCwweDBjLDB4OWEsMHgyMywweDI2LDB4MDQsMHhmOSwweGEwIH0sCi0gIDE2LCAweDk4OTAsIDAsIHsweDMyLDB4NjYsMHgwYywweDlhLDB4ODMsMHgwNiwweDIwLDB4YzUsMHhhMCwweDIyLDB4NjAsMHgwYywweDliLDB4MDMsMHgyNiwweDQ4IH0sCi0gIDE2LCAweDk4YTAsIDAsIHsweGM5LDB4MDAsMHgzZSwweDc4LDB4MGMsMHg5YSwweDAzLDB4MDYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDk4YjAsIDAsIHsweDM4LDB4MDAsMHhlMSwweDAwLDB4ODgsMHg0NCwweDIyLDB4OTUsMHgwOCwweDg1LDB4MTIsMHhhMSwweDQyLDB4ODgsMHg0MCwweDAyIH0sCi0gIDE2LCAweDk4YzAsIDAsIHsweDkwLDB4MDgsMHg4NCwweDAyLDB4MjMsMHhhMCwweGJhLDB4NDAsMHgyMiwweGEwLDB4MDgsMHg4ZSwweDkyLDB4YTMsMHhhMCwweGE4IH0sCi0gIDE2LCAweDk4ZDAsIDAsIHsweDQwLDB4MmEsMHgxMCwweDA4LDB4YWUsMHgwMiwweDIzLDB4NDAsMHg4OCwweDAwLDB4MmUsMHgzOCwweDA4LDB4ODQsMHgxMiwweDBlIH0sCi0gIDE2LCAweDk4ZTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDE1LDB4YzQsMHgwMCwweDhiLDB4MTIsMHgyMiwweDQwIH0sCi0gIDE2LCAweDk4ZjAsIDAsIHsweDA4LDB4OTAsMHgwMiwweDQ0LDB4MDAsMHg4MSwweDQwLDB4YTAsMHg1MCwweDA4LDB4MTEsMHgwYSwweDA1LDB4MDAsMHhiMSwweDEwIH0sCi0gIDE2LCAweDk5MDAsIDAsIHsweGEwLDB4NDgsMHgwOCwweDkwLDB4MDIsMHgwNCwweDAwLDB4ODEsMHg0MCwweDIwLDB4NTAsMHgyOCwweDExLDB4MDIsMHg0NCwweDgyIH0sCi0gIDE2LCAweDk5MTAsIDAsIHsweDgxLDB4MDAsMHgyYywweDUwLDB4MDgsMHgxMSwweDAyLDB4MDIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDk5MjAsIDAsIHsweDE4LDB4MTUsMHhhNCwweDAyLDB4ODksMHg0MCwweDIyLDB4NDAsMHgwOCwweDk0LDB4MTIsMHhhNSwweDAwLDB4ODksMHgyOCwweDIyIH0sCi0gIDE2LCAweDk5MzAsIDAsIHsweDQ5LDB4MDgsMHg5NCwweDAyLDB4MjQsMHg0OCwweGI5LDB4MTQsMHgyMiwweDQwLDB4MDgsMHg5NCwweDAyLDB4YTQsMHg0MCwweGExIH0sCi0gIDE2LCAweDk5NDAsIDAsIHsweDUwLDB4MmEsMHg1MCwweDA4LDB4OTEsMHg0MiwweDY0LDB4MDAsMHg4OSwweDQwLDB4MmUsMHg0MCwweDA4LDB4MTAsMHgwMiwweDA2IH0sCi0gIDE2LCAweDk5NTAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4ZTQsMHgwMCwweGM5LDB4MDAsMHgzMCwweDcwIH0sCi0gIDE2LCAweDk5NjAsIDAsIHsweDJjLDB4MTAsMHgwYiwweDY2LDB4MDAsMHhjOSwweDQwLDB4MzIsMHg1MCwweDBjLDB4OTAsMHgwMywweDI2LDB4MjAsMHhmOSwweGMwIH0sCi0gIDE2LCAweDk5NzAsIDAsIHsweDMyLDB4NzAsMHgwYywweDkwLDB4MDMsMHgyNiwweDIwLDB4YzksMHgwMCwweDMyLDB4NDAsMHgwYywweDljLDB4MDMsMHg2NCwweDAwIH0sCi0gIDE2LCAweDk5ODAsIDAsIHsweGM5LDB4NDEsMHgzZSwweDQwLDB4MmMsMHg5MCwweDBiLDB4MjgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDk5OTAsIDAsIHsweDI4LDB4MDEsMHhhNCwweDAwLDB4ZjksMHgwNCwweDNlLDB4NDgsMHgwZiwweDkwLDB4MDMsMHhlNCwweDg4LDB4ZjksMHgwMCwweDM0IH0sCi0gIDE2LCAweDk5YTAsIDAsIHsweDQxLDB4MmYsMHg5YywweDAzLDB4ZTQsMHgxMCwweGY5LDB4MDAsMHgzZSwweDQ0LDB4MmYsMHg5OSwweDAzLDB4ZTQsMHgxMCwweGY5IH0sCi0gIDE2LCAweDk5YjAsIDAsIHsweDAwLDB4M2UsMHg1MCwweDBmLDB4MTAsMHg0YiwweGE0LDB4MTAsMHhmOSwweDIwLDB4M2MsMHg0MCwweDBmLDB4OTAsMHgwMywweDRhIH0sCi0gIDE2LCAweDk5YzAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTAsMHgwMCwweGM4LDB4MDAsMHgzZSwweDEwIH0sCi0gIDE2LCAweDk5ZDAsIDAsIHsweDJjLDB4ODAsMHgwMywweDIwLDB4MDIsMHhjMCwweDQwLDB4MzIsMHgwMCwweDFjLDB4MDQsMHgwZiwweDIxLDB4MDAsMHhjMCwweDA0IH0sCi0gIDE2LCAweDk5ZTAsIDAsIHsweDM4LDB4MDAsMHgwZiwweDgwLDB4MDMsMHgyMSwweDA4LDB4YzgsMHg2MCwweDMwLDB4MTAsMHgwZiwweDgwLDB4MDIsMHgyMCwweDAwIH0sCi0gIDE2LCAweDk5ZjAsIDAsIHsweGY4LDB4MDAsMHgzMiwweDAwLDB4MGMsMHg4MCwweDAzLDB4Y2EsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDlhMDAsIDAsIHsweDI4LDB4MDUsMHgxYSwweDIwLDB4ODIsMHgwNCwweDJmLDB4ODAsMHgwOCwweGEwLDB4MDIsMHgzOCwweDAwLDB4OGUsMHg4MCwweDIyIH0sCi0gIDE2LCAweDlhMTAsIDAsIHsweDgwLDB4MDgsMHhlMCwweDAyLDB4MjgsMHgwMCwweDhhLDB4MDAsMHgyMiwweDgxLDB4MGIsMHgyMCwweDAyLDB4MjgsMHgwMCwweGRlIH0sCi0gIDE2LCAweDlhMjAsIDAsIHsweGU0LDB4MzYsMHg4MCwweDBiLDB4YTAsMHg0MiwweDI4LDB4MDAsMHhiYSwweDA0LDB4MjIsMHg4MCwweDA4LDB4YTAsMHgwMiwweGNhIH0sCi0gIDE2LCAweDlhMzAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NGMsMHgwMCwweDgzLDB4MDEsMHgyYywweDgwIH0sCi0gIDE2LCAweDlhNDAsIDAsIHsweDA4LDB4MzAsMHgwMiwweDJlLDB4NjAsMHg4MiwweDkwLDB4YTAsMHhjMCwweDQ4LDB4MzAsMHgwMiwweDBjLDB4MDIsMHg4MywweDAwIH0sCi0gIDE2LCAweDlhNTAsIDAsIHsweDI4LDB4YzAsMHgwYiwweDMwLDB4MGEsMHgyYywweDAwLDB4ODMsMHhjMiwweDIwLDB4YzAsMHgwYiwweDMwLDB4MmEsMHgyYywweDAwIH0sCi0gIDE2LCAweDlhNjAsIDAsIHsweGIzLDB4MDAsMHhhMCwweGMwLDB4MDgsMHgzMCwweDAyLDB4Y2EsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDlhNzAsIDAsIHsweGEwLDB4MDEsMHgzYywweDAwLDB4ODcsMHgwMSwweDJkLDB4YzIsMHgwOCwweGYzLDB4MTIsMHgzYywweDAwLDB4OGYsMHgwMSwweDIxIH0sCi0gIDE2LCAweDlhODAsIDAsIHsweGM4LDB4NjgsMHg3MiwweDIyLDB4MWUsMHgwNCwweDg3LDB4MjAsMHgyMSwweGM0LDB4MGIsMHg3MCwweDAyLDB4M2MsMHg4NCwweDlmIH0sCi0gIDE2LCAweDlhOTAsIDAsIHsweDAwLDB4MjUsMHhjNCwweDRiLDB4NzAsMHgwMiwweDFjLDB4MDQsMHhiNywweDgxLDB4MjEsMHhjOCwweDA4LDB4NzIsMHgwMiwweGU4IH0sCi0gIDE2LCAweDlhYTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDAwLDB4MWUsMHgwMCwweGM3LDB4ODEsMHgzYywweGEwIH0sCi0gIDE2LCAweDlhYjAsIDAsIHsweDRjLDB4N2EsMHgwYiwweDFhLDB4MDAsMHhjNiwweDgwLDB4MzAsMHhlMCwweDA4LDB4ZjgsMHg4MiwweDBlLDB4NDAsMHhjZiwweGYwIH0sCi0gIDE2LCAweDlhYzAsIDAsIHsweDM5LDB4ZTgsMHgwZiwweDNhLDB4MDMsMHgxZSwweDIwLDB4YzcsMHg4MCwweDMxLDB4ZTMsMHgwZiwweDM4LDB4MjMsMHgxZiwweDA4IH0sCi0gIDE2LCAweDlhZDAsIDAsIHsweGZmLDB4YzAsMHgzMywweGYyLDB4MGMsMHg3ZSwweDAzLDB4ZWEsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDlhZTAsIDAsIHsweDA4LDB4MTUsMHg4OCwweDBhLDB4N2IsMHgwMCwweDNlLDB4YzEsMHgwYiwweDM0LDB4MjMsMHhjOCwweDEwLDB4ZmIsMHgwMiwweDNlIH0sCi0gIDE2LCAweDlhZjAsIDAsIHsweGNhLDB4MGYsMHhiNywweDQzLDB4ZWMsMHg4MCwweGZiLDB4MDAsMHgyZSwweGMyLDB4MGIsMHhiNCwweDgzLDB4ZWQsMHhkMCwweGZhIH0sCi0gIDE2LCAweDliMDAsIDAsIHsweDAwLDB4M2UsMHhkOSwweDBmLDB4YjMsMHg4MywweGVjLDB4ODAsMHhiYiwweDIwLDB4M2UsMHhkOCwweDJmLDB4YjQsMHgwMywweGMyIH0sCi0gIDE2LCAweDliMTAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZmUsMHgwMCwweGY1LDB4OTEsMHgzMSwweGEwIH0sCi0gIDE2LCAweDliMjAsIDAsIHsweDBjLDB4ZmMsMHgwMywweGZlLDB4MDAsMHhjNCwweDgxLDB4MzEsMHhlZSwweDhkLDB4ZjgsMHgwYSwweDNlLDB4MzAsMHhjZiwweDg0IH0sCi0gIDE2LCAweDliMzAsIDAsIHsweDMzLDB4ZTAsMHgyYywweGY4LDB4ODMsMHhmZSwweDEwLDB4ZmUsMHg4MCwweDMzLDB4ZTAsMHgwYywweGY5LDB4MTksMHgzZiwweDQ4IH0sCi0gIDE2LCAweDliNDAsIDAsIHsweGNmLDB4YzAsMHgzMywweGUwLDB4MDQsMHhmYywweDAzLDB4YzAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDliNTAsIDAsIHsweGE4LDB4MTEsMHg5YywweDA4LDB4YjcsMHhhMSwweDIxLDB4YzgsMHgwOCwweDcxLDB4MDIsMHhmMCwweGEwLDB4ODUsMHgyMCwweDIxIH0sCi0gIDE2LCAweDliNjAsIDAsIHsweGNlLDB4MDgsMHg3MCwweDAyLDB4M2MsMHg4MCwweDhmLDB4MDAsMHgyYiwweGM1LDB4MDgsMHg3MSwweDAyLDB4ZGMsMHgxMCwweGI0IH0sCi0gIDE2LCAweDliNzAsIDAsIHsweDAwLDB4MjEsMHhjMSwweDBhLDB4ZjMsMHg4MiwweDBjLDB4MDAsMHg4NywweDAxLDB4MjksMHhjMCwweDA4LDB4NzEsMHgwMiwweDZhIH0sCi0gIDE2LCAweDliODAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OWQsMHgwMCwweGJkLDB4MjEsMHgyNywweDgyIH0sCi0gIDE2LCAweDliOTAsIDAsIHsweDAwLDB4NzAsMHgwMiwweGZjLDB4MDQsMHg4YywweDAwLDB4YTcsMHhjYywweGE4LDB4NzAsMHgwMiwweDNjLDB4MDgsMHhhZiwweDAwIH0sCi0gIDE2LCAweDliYTAsIDAsIHsweDIxLDB4YzAsMHgwOCwweDcwLDB4MDIsMHhkYywweDAwLDB4YjcsMHgwMCwweDIxLDB4YzQsMHgwOCwweDcwLDB4MTYsMHgxYywweDBhIH0sCi0gIDE2LCAweDliYjAsIDAsIHsweDhmLDB4MDAsMHgyMSwweGMwLDB4MDgsMHg3MCwweDAyLDB4YzAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDliYzAsIDAsIHsweDIwLDB4MTAsMHhjOCwweDAwLDB4YmIsMHg0NCwweDI0LDB4ZTIsMHgwOCwweGIxLDB4MDIsMHhjMiwweDgwLDB4MDEsMHg4MCwweDI0IH0sCi0gIDE2LCAweDliZDAsIDAsIHsweGQwLDB4ODgsMHgzMCwweDAyLDB4MGYsMHg1MiwweDgzLDB4OTEsMHgyOCwweGU0LDB4ODgsMHgzZCwweDAyLDB4Y2UsMHhkMCwweGIwIH0sCi0gIDE2LCAweDliZTAsIDAsIHsweGIyLDB4YTIsMHhjMCwweDBhLDB4MzQsMHgxMiwweDBjLDB4MDIsMHg4MywweDAwLDB4MjgsMHhjMCwweDA4LDB4MzAsMHgwMiwweDQ4IH0sCi0gIDE2LCAweDliZjAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YWMsMHgwMCwweGZiLDB4MDEsMHhlNCwweDQwIH0sCi0gIDE2LCAweDljMDAsIDAsIHsweDJjLDB4ZjAsMHg0MywweGU1LDB4MDAsMHg4YSwweDg4LDB4MzcsMHhlMCwweDAwLDB4ZmEsMHgwMiwweDNkLDB4MDAsMHhlZiwweDAwIH0sCi0gIDE2LCAweDljMTAsIDAsIHsweDMzLDB4ZDEsMHgwYywweGY0LDB4MDMsMHhmZCwweDAwLDB4ZjksMHg0MCwweDMzLDB4ZTgsMHgwYywweGZjLDB4MDEsMHgzYywweDA0IH0sCi0gIDE2LCAweDljMjAsIDAsIHsweGNmLDB4MDIsMHgzMywweGMwLDB4MmMsMHhmMCwweDAzLDB4ZWEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDljMzAsIDAsIHsweDgwLDB4MDAsMHhlZSwweDA4LDB4ZjksMHgxMCwweDNhLDB4ZDAsMHgwZiwweGIwLDB4OTMsMHhlYywweDAwLDB4ZmIsMHgwYiwweDNhIH0sCi0gIDE2LCAweDljNDAsIDAsIHsweGMwLDB4OGUsMHhiMCwweDgzLDB4ZWMsMHg4MCwweGZiLDB4MDksMHg3ZSwweGM4LDB4MGYsMHhiMiwweDEzLDB4ZWMsMHgwMCwweGY5IH0sCi0gIDE2LCAweDljNTAsIDAsIHsweDAwLDB4M2UsMHhjMiwweDhmLDB4YjIsMHg0YiwweGNjLDB4MDQsMHhmYiwweDAwLDB4M2UsMHhjMCwweDBmLDB4YjAsMHgwMywweDYwIH0sCi0gIDE2LCAweDljNjAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZmMsMHgwMCwweGZmLDB4MDgsMHgzMywweGMwIH0sCi0gIDE2LCAweDljNzAsIDAsIHsweDFjLDB4ZjAsMHgwMywweDcwLDB4NDAsMHhjNCwweGMwLDB4MzMsMHhjMiwweDBmLDB4ZjAsMHgwMywweDFjLDB4MTAsMHhjNywweDAwIH0sCi0gIDE2LCAweDljODAsIDAsIHsweDMxLDB4YzAsMHgwYywweDcwLDB4MDMsMHgxYywweDAwLDB4YzUsMHg0MSwweDMzLDB4YzAsMHgwYywweGYwLDB4MjMsMHgyYywweDAwIH0sCi0gIDE2LCAweDljOTAsIDAsIHsweGNmLDB4MDAsMHhiMywweGMwLDB4NmMsMHhmMCwweDAzLDB4ODAsMHg0NCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDljYTAsIDAsIHsweDgxLDB4MDQsMHg2YSwweDAwLDB4YjksMHg5MCwweDMyLDB4ZjEsMHgwOCwweGIwLDB4MDIsMHgwYSwweDEwLDB4ZDksMHgwMCwweDIyIH0sCi0gIDE2LCAweDljYjAsIDAsIHsweGMxLDB4MGIsMHhiMCwweDAyLDB4MmMsMHgwMCwweGNiLDB4MDYsMHgyMiwweGMwLDB4ODgsMHhiMCwweDEyLDB4MmMsMHgwMCwweDg4IH0sCi0gIDE2LCAweDljYzAsIDAsIHsweDgwLDB4MjIsMHhjMSwweDBkLDB4YjAsMHgwMiwweDJjLDB4MDAsMHg4MywweDAwLDB4MjIsMHhjMSwweDA4LDB4YjAsMHg0NiwweGUwIH0sCi0gIDE2LCAweDljZDAsIDAsIHsweDQwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDAxLDB4MmUsMHgwMCwweGI5LDB4MDAsMHgyMiwweGYwIH0sCi0gIDE2LCAweDljZTAsIDAsIHsweDA4LDB4YjAsMHgxMiwweDY0LDB4MDAsMHg4YSwweDAwLDB4MjIsMHhjMCwweDBiLDB4MzAsMHg0MiwweDJjLDB4MDAsMHg4YiwweDAwIH0sCi0gIDE2LCAweDljZjAsIDAsIHsweDIyLDB4YzAsMHgwOCwweGIwLDB4MDIsMHgyYywweDAwLDB4OGEsMHgwMCwweDIyLDB4YzAsMHg4OCwweDMwLDB4MGEsMHgyYywweDAwIH0sCi0gIDE2LCAweDlkMDAsIDAsIHsweDhiLDB4MDAsMHgyMCwweGMwLDB4MDgsMHhiMCwweDAyLDB4ZTAsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDlkMTAsIDAsIHsweDA4LDB4MDQsMHgwYywweDA0LDB4YjEsMHgwMiwweGU0LDB4YzEsMHgwOCwweGIwLDB4MjIsMHgyMCwweDAyLDB4OTMsMHgwMCwweDIwIH0sCi0gIDE2LCAweDlkMjAsIDAsIHsweGMwLDB4MGIsMHgzMCwweDEyLDB4MGMsMHgwMiwweDgzLDB4MDIsMHhhMCwweGMwLDB4MjgsMHgzMCwweDBlLDB4MGMsMHgwMiwweDgwIH0sCi0gIDE2LCAweDlkMzAsIDAsIHsweDAwLDB4YTAsMHhjMCwweDQ5LDB4MzAsMHgwYSwweDBjLDB4MDIsMHg4YiwweDAwLDB4MjAsMHhjMCwweDA4LDB4MzAsMHgwMiwweGMyIH0sCi0gIDE2LCAweDlkNDAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4NmMsMHgwMCwweGY5LDB4MjQsMHgzMiwweGMwIH0sCi0gIDE2LCAweDlkNTAsIDAsIHsweDA4LDB4ZjAsMHgwMywweDY0LDB4MDAsMHhjOCwweDAwLDB4YjMsMHhjMCwweDFmLDB4ZjAsMHgwYiwweDNjLDB4MDAsMHg4ZiwweDAwIH0sCi0gIDE2LCAweDlkNjAsIDAsIHsweDMzLDB4YzAsMHg0YywweGYwLDB4NDMsMHgzYywweDA4LDB4YzMsMHgwMCwweDMxLDB4YzAsMHgwYywweGYwLDB4MDMsMHgzZCwweDQ4IH0sCi0gIDE2LCAweDlkNzAsIDAsIHsweGNmLDB4MDAsMHgzMSwweGMwLDB4MGMsMHhmMCwweDAzLDB4ODAsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDlkODAsIDAsIHsweGEwLDB4MWQsMHhmMCwweDA0LDB4ZjksMHg0MSwweDNiLDB4YzAsMHg0ZiwweGYwLDB4MDMsMHhmMCwweDExLDB4ZmQsMHgwMCwweDNmIH0sCi0gIDE2LCAweDlkOTAsIDAsIHsweGMwLDB4ODcsMHg3MCwweDI3LDB4ZmMsMHgwMCwweGVmLDB4MDYsMHgzZiwweGMwLDB4MGYsMHhmMCwweDAyLDB4ZmMsMHgwOCwweGZjIH0sCi0gIDE2LCAweDlkYTAsIDAsIHsweDAwLDB4M2YsMHhjMCwweDQ3LDB4ZjAsMHg0MywweGZjLDB4MDAsMHg3NywweDAwLDB4M2YsMHhjMCwweDBmLDB4ZjAsMHgwMywweGU4IH0sCi0gIDE2LCAweDlkYjAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZDIsMHgwMCwweGM3LDB4MDEsMHgzNywweDBjIH0sCi0gIDE2LCAweDlkYzAsIDAsIHsweDBmLDB4ZTgsMHgyMywweDEwLDB4NGEsMHhjNCwweGMwLDB4MzEsMHgzMCwweDBjLDB4YzksMHgwMywweDM0LDB4NDYsMHhjZiwweDEwIH0sCi0gIDE2LCAweDlkZDAsIDAsIHsweDMzLDB4ZDAsMHgwYywweGY0LDB4MDMsMHgzYywweDU4LDB4Y2YsMHgwMCwweDMzLDB4YzAsMHgyZCwweGYxLDB4MDMsMHgzZSwweDAyIH0sCi0gIDE2LCAweDlkZTAsIDAsIHsweGNmLDB4MjEsMHgzZiwweGU0LDB4MGYsMHhmMiwweDAzLDB4MzAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDlkZjAsIDAsIHsweDgwLDB4MTAsMHhlNCwweDg0LDB4MGIsMHg0MCwweDIyLDB4NGMsMHgwYiwweGE4LDB4MDIsMHgyYywweGMwLDB4OGIsMHgyMCwweDIyIH0sCi0gIDE2LCAweDllMDAsIDAsIHsweGM4LDB4NGEsMHgzMiwweDAyLDB4MjQsMHg4MCwweDgzLDB4MjAsMHgyMCwweGMwLDB4MDgsMHgzMCwweDAyLDB4MjAsMHgwMCwweDhiIH0sCi0gIDE2LCAweDllMTAsIDAsIHsweDIxLDB4MzIsMHhjYSwweDQ4LDB4MzIsMHgwMiwweDJjLDB4MzAsMHg4ZiwweDkwLDB4MmUsMHg4OCwweDBiLDB4YmQsMHgxMiwweDIwIH0sCi0gIDE2LCAweDllMjAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4Y2UsMHgyMCwweGEzLDB4NDAsMHhlMCwweDQ4IH0sCi0gIDE2LCAweDllMzAsIDAsIHsweDRiLDB4MjAsMHgyMiwweDBjLDB4MDIsMHg4MiwweDAwLDB4MmEsMHgwMCwweDA4LDB4MjAsMHgwMiwweDA0LDB4ODAsMHg4MCwweDIwIH0sCi0gIDE2LCAweDllNDAsIDAsIHsweDIwLDB4YzgsMHgwOCwweDAyLDB4MDIsMHgwYywweDAwLDB4ODAsMHgwYywweDYwLDB4MDAsMHgwOCwweDIwLDB4MTIsMHgyYywweDg4IH0sCi0gIDE2LCAweDllNTAsIDAsIHsweDgzLDB4MDAsMHgyYywweGU4LDB4MGIsMHgzMCwweDAyLDB4NjIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDllNjAsIDAsIHsweGMwLDB4MTUsMHhhZSwweDAwLDB4YWIsMHgwMSwweGEyLDB4NjAsMHgwYiwweGEwLDB4MDIsMHgyMCwweDAxLDB4ODEsMHgwMCwweDIyIH0sCi0gIDE2LCAweDllNzAsIDAsIHsweGMwLDB4MGEsMHg5MCwweDEyLDB4MDQsMHgyMCwweDhhLDB4MDgsMHgyMiwweGMxLDB4MDgsMHhhMCwweDAyLDB4MjgsMHgwMCwweDg4IH0sCi0gIDE2LCAweDllODAsIDAsIHsweDAwLDB4MjQsMHg0NCwweDA4LDB4YTIsMHgwMiwweGFjLDB4MDAsMHg4YiwweDA0LDB4MmUsMHg4OCwweDAzLDB4YjAsMHgwMiwweDcwIH0sCi0gIDE2LCAweDllOTAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDE1LDB4ZWMsMHgwMCwweGVhLDB4OTAsMHgzMiwweDI4IH0sCi0gIDE2LCAweDllYTAsIDAsIHsweDBmLDB4YjYsMHgwMywweDIwLDB4MDgsMHhjOSwweDA0LDB4M2EsMHhjMCwweDRjLDB4OTAsMHgyMiwweDI0LDB4MDAsMHhjYiwweDQwIH0sCi0gIDE2LCAweDllYjAsIDAsIHsweDMyLDB4YTgsMHgwYywweGIyLDB4MDMsMHgyYywweDAwLDB4Y2IsMHg4MCwweGIyLDB4ZTAsMHgwYywweGIwLDB4MGIsMHgwNCwweDAwIH0sCi0gIDE2LCAweDllYzAsIDAsIHsweGNiLDB4MDAsMHgzZSwweGMwLDB4NGYsMHhiMCwweDBiLDB4NTAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDllZDAsIDAsIHsweGUwLDB4MDEsMHhiYywweDAwLDB4ZGYsMHg4MCwweDNiLDB4ODEsMHgwZiwweGYwLDB4YzMsMHhmYywweDAwLDB4YmUsMHgwMSwweDFmIH0sCi0gIDE2LCAweDllZTAsIDAsIHsweDAwLDB4MGYsMHhlMCwweDIzLDB4ZjQsMHgwMCwweGZmLDB4MDAsMHgzZiwweGIwLDB4NGYsMHhmMCwweDQzLDB4ZDQsMHgwMiwweGZmIH0sCi0gIDE2LCAweDllZjAsIDAsIHsweDkxLDB4M2EsMHhlMCwweDRlLDB4ZjAsMHgwMywweDdjLDB4MGMsMHhmZiwweDAwLDB4MmYsMHg4MCwweDBmLDB4MzAsMHgwMywweGI4IH0sCi0gIDE2LCAweDlmMDAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YWMsMHgwMSwweGNhLDB4MDAsMHg3MiwweDUwIH0sCi0gIDE2LCAweDlmMTAsIDAsIHsweDA0LDB4YjQsMHgwMywweDJjLDB4ODIsMHhjYiwweDAwLDB4MzIsMHhlMCwweDBjLDB4YjgsMHgwMywweDI3LDB4MDQsMHhjOCwweGM4IH0sCi0gIDE2LCAweDlmMjAsIDAsIHsweGIyLDB4YTIsMHgwYywweDg4LDB4MDMsMHgyYywweDAwLDB4YzEsMHgwMCwweDNlLDB4MDAsMHgyYywweDMwLDB4MWIsMHgyYywweDA0IH0sCi0gIDE2LCAweDlmMzAsIDAsIHsweGZiLDB4MTAsMHgzZSwweGMwLDB4MGYsMHhiMCwweDAzLDB4MTAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDlmNDAsIDAsIHsweGM4LDB4MDUsMHgyYywweDA0LDB4MDMsMHg1MCwweGEyLDB4ZTAsMHgwOCwweDM0LDB4NDIsMHgzMywweDAwLDB4ODgsMHgwMCwweDIwIH0sCi0gIDE2LCAweDlmNTAsIDAsIHsweDEwLDB4MGQsMHg4NCwweDAzLDB4MjUsMHgwMCwweDhhLDB4NDAsMHgyMiwweDkwLDB4MDgsMHhhNSwweDAyLDB4MmMsMHgwMCwweDg5IH0sCi0gIDE2LCAweDlmNjAsIDAsIHsweGE0LDB4M2EsMHg0MCwweDA4LDB4YjAsMHgwMiwweDJjLDB4MDAsMHhiZiwweDg0LDB4MmUsMHg4MCwweDBiLDB4ZjAsMHg1MiwweDMyIH0sCi0gIDE2LCAweDlmNzAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NmMsMHg4MCwweDgxLDB4ODAsMHgyNCwweDg4IH0sCi0gIDE2LCAweDlmODAsIDAsIHsweDg5LDB4M2MsMHgyNiwweDIxLDB4MDAsMHg5MCwweDAwLDB4MjAsMHgwMiwweDA4LDB4ODAsMHg4MiwweDAwLDB4MjAsMHg5YiwweDAwIH0sCi0gIDE2LCAweDlmOTAsIDAsIHsweDIyLDB4NDAsMHg4OCwweGIwLDB4MTIsMHgwYywweDA4LDB4ODMsMHg4MCwweDJjLDB4YzAsMHgwOCwweDEwLDB4MDIsMHgwYywweDAwIH0sCi0gIDE2LCAweDlmYTAsIDAsIHsweGIzLDB4ODAsMHgyYywweDQwLDB4MGIsMHgzMCwweDAyLDB4MzgsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDlmYjAsIDAsIHsweDIwLDB4MDEsMHgzZSwweDBhLDB4ODUsMHhhMCwweGE1LDB4NjAsMHgwOCwweGZiLDB4ODIsMHgzZSwweDg0LDB4OWYsMHg4MSwweDYzIH0sCi0gIDE2LCAweDlmYzAsIDAsIHsweGUwLDB4ODksMHg3OSwweDEyLDB4NTIsMHg4MCwweDk3LDB4ODIsMHgyMSwweDZjLDB4MTgsMHg3OCwweDAyLDB4MTIsMHgwMCwweDg3IH0sCi0gIDE2LCAweDlmZDAsIDAsIHsweGExLDB4MjksMHhlMCwweDA4LDB4NWIsMHgwMiwweDFlLDB4MDAsMHhiNywweGMwLDB4MmQsMHg2MCwweDBiLDB4NzgsMHgwMiwweDA4IH0sCi0gIDE2LCAweDlmZTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MGMsMHgwMCwweDgxLDB4MDgsMHgyNiwweGMyIH0sCi0gIDE2LCAweDlmZjAsIDAsIHsweDJjLDB4MzIsMHgxMywweDBlLDB4YTQsMHhkMiwweDAwLDB4YjAsMHgwMCwweDFjLDB4MjEsMHgxMiwweDI0LDB4MDIsMHhkMSwweDIwIH0sCi0gIDE2LCAweGEwMDAsIDAsIHsweDMwLDB4YzgsMHgwYywweDEwLDB4MDMsMHgwYywweDAwLDB4YzIsMHgxMCwweDNjLDB4ODAsMHgwYywweDIzLDB4MDMsMHgwYywweDQwIH0sCi0gIDE2LCAweGEwMTAsIDAsIHsweGYzLDB4MDAsMHgzYywweDQ4LDB4MGYsMHgzMCwweDBiLDB4MTIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGEwMjAsIDAsIHsweDQwLDB4MWQsMHhiYywweDAwLDB4ZmQsMHgyMCwweGJiLDB4NDAsMHgwNywweDcyLDB4MDIsMHhmMCwweDEwLDB4ZWQsMHgxMCwweDNmIH0sCi0gIDE2LCAweGEwMzAsIDAsIHsweGM0LDB4MGYsMHhkMSwweDYzLDB4YjQsMHg4MCwweGVmLDB4MDAsMHgzZiwweGM4LDB4MGYsMHhmMCwweDAzLDB4ZDgsMHgwMCwweGZlIH0sCi0gIDE2LCAweGEwNDAsIDAsIHsweDM0LDB4M2YsMHhjNCwweDBmLDB4ZWIsMHg0MywweGZjLDB4MDAsMHhmZiwweDA4LDB4N2YsMHg0MCwweDBmLDB4ZjEsMHg4MywweGQwIH0sCi0gIDE2LCAweGEwNTAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZWMsMHgwMCwweGM4LDB4MDAsMHgzMywweDgwIH0sCi0gIDE2LCAweGEwNjAsIDAsIHsweDhmLDB4MjgsMHgwMywweDIwLDB4MDAsMHg0OSwweDAyLDB4MzIsMHhjMCwweDBmLDB4OTAsMHgwMywweDIwLDB4MDAsMHhjYiwweDAwIH0sCi0gIDE2LCAweGEwNzAsIDAsIHsweDMyLDB4NDAsMHg0YywweGIwLDB4MGIsMHgyYywweDAwLDB4Y2IsMHg4MCwweDMyLDB4YzAsMHgwZSwweDllLDB4MDMsMHgyNCwweDAwIH0sCi0gIDE2LCAweGEwODAsIDAsIHsweGZiLDB4MjAsMHgzZSwweGMwLDB4MGYsMHhiMCwweDAzLDB4MmEsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGEwOTAsIDAsIHsweDQ4LDB4MTEsMHg5YywweDAwLDB4OGQsMHgwMSwweDIxLDB4YzAsMHgwYiwweDYwLDB4MDIsMHgxZCwweDAwLDB4ZDYsMHgwMCwweDIxIH0sCi0gIDE2LCAweGEwYTAsIDAsIHsweDAwLDB4MGIsMHhlMCwweDAyLDB4MDAsMHgwMCwweDgzLDB4MDQsMHgyMCwweDQwLDB4MDgsMHg3MCwweDQyLDB4MzQsMHgwMiwweDg3IH0sCi0gIDE2LCAweGEwYjAsIDAsIHsweDAxLDB4MjMsMHhjMCwweDI4LDB4NTEsMHgwYSwweDFjLDB4MDQsMHhiNywweDMwLDB4MmQsMHhjMCwweDBiLDB4NzIsMHgwMywweDkyIH0sCi0gIDE2LCAweGEwYzAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4OWUsMHgwMCwweGE2LDB4NDAsMHgyMSwweGEwIH0sCi0gIDE2LCAweGEwZDAsIDAsIHsweDBiLDB4NjgsMHgwMiwweDBlLDB4MDAsMHg4ZiwweDgwLDB4MjEsMHhlMCwweDBiLDB4NzgsMHgwMiwweDE2LDB4MTAsMHhhNSwweDgwIH0sCi0gIDE2LCAweGEwZTAsIDAsIHsweDIxLDB4ZTAsMHgwOCwweDE4LDB4MDIsMHgxZSwweDAwLDB4ODMsMHg4MCwweDIxLDB4YTAsMHgwOCwweDc4LDB4MDIsMHgxZiwweDAwIH0sCi0gIDE2LCAweGEwZjAsIDAsIHsweGI3LDB4ODAsMHgyZCwweGUwLDB4MGIsMHgzOCwweDAyLDB4MzAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGExMDAsIDAsIHsweDQ4LDB4MTQsMHhlYywweDEyLDB4YTEsMHg2NCwweDIwLDB4ZTYsMHgwYiwweDIwLDB4MDIsMHgwMCwweDEwLDB4OTAsMHg0YSwweDIwIH0sCi0gIDE2LCAweGExMTAsIDAsIHsweDIwLDB4NGIsMHgwMCwweDQyLDB4MDQsMHgwMCwweDgzLDB4MDAsMHgyMCwweGMyLDB4MDgsMHgzMCwweDAyLDB4OGMsMHgwMCwweDgzIH0sCi0gIDE2LCAweGExMjAsIDAsIHsweDA0LDB4MjAsMHhjMCwweDA4LDB4MzAsMHgwMiwweDBlLDB4MDAsMHhiMywweDAwLDB4MmMsMHhlMCwweDRiLDB4MzAsMHgwMiwweDkyIH0sCi0gIDE2LCAweGExMzAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YjgsMHgwMCwweGVlLDB4YzAsMHgzMywweDkwIH0sCi0gIDE2LCAweGExNDAsIDAsIHsweDBmLDB4YTAsMHgxYiwweDA4LDB4MDAsMHhjYSwweDQwLDB4YjIsMHg4MiwweDBmLDB4YTAsMHgwYiwweDI4LDB4MDIsMHhjYSwweDAwIH0sCi0gIDE2LCAweGExNTAsIDAsIHsweGIyLDB4OTAsMHhhYywweGEwLDB4MDMsMHgyOSwweDAwLDB4Y2EsMHg0MCwweGIyLDB4ODAsMHg4ZSwweGE0LDB4MDMsMHgyYSwweDAwIH0sCi0gIDE2LCAweGExNjAsIDAsIHsweGZhLDB4MDAsMHgzZiwweGE4LDB4MGYsMHhhMCwweDBiLDB4M2EsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGExNzAsIDAsIHsweDQ4LDB4MDAsMHhlMiwweDAyLDB4OTAsMHgwMCwweDNlLDB4MDAsMHgwZiwweDg4LDB4MDMsMHhmMSwweDAwLDB4ZmMsMHgwMiwweDNmIH0sCi0gIDE2LCAweGExODAsIDAsIHsweDIwLDB4MGYsMHhjOCwweDAzLDB4YzEsMHgwMCwweGYwLDB4MDAsMHgzZSwweDAwLDB4OGYsMHgwMCwweDAxLDB4NjAsMHgwMiwweGY4IH0sCi0gIDE2LCAweGExOTAsIDAsIHsweDA4LDB4M2UsMHgwMCwweDBmLDB4ODAsMHg4MywweGUwLDB4MDAsMHhmOCwweDAwLDB4MmUsMHgwMCwweDhmLDB4ODAsMHgxMywweDkyIH0sCi0gIDE2LCAweGExYTAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTQsMHgwMiwweGM5LDB4MDAsMHhiMiwweDY0IH0sCi0gIDE2LCAweGExYjAsIDAsIHsweDBmLDB4OTEsMHgwMywweGU0LDB4MDQsMHhjOSwweDAwLDB4MzIsMHg0MCwweDZjLDB4OTAsMHgwMywweDI1LDB4MDIsMHhjOSwweDkwIH0sCi0gIDE2LCAweGExYzAsIDAsIHsweGIwLDB4NDAsMHgwYywweDkwLDB4MDMsMHgyNCwweDIwLDB4YzksMHhhMCwweDNlLDB4NDAsMHg0YywweDkwLDB4MjMsMHhlNCwweDAwIH0sCi0gIDE2LCAweGExZDAsIDAsIHsweGYxLDB4MDAsMHg5MiwweDQwLDB4MGMsMHgxMCwweDAzLDB4MDIsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGExZTAsIDAsIHsweDgwLDB4MDQsMHg2NCwweDAwLDB4ODksMHg4MCwweGEyLDB4NDAsMHgwYiwweDk2LDB4NDIsMHhlNSwweDA0LDB4ODksMHgwMCwweDIyIH0sCi0gIDE2LCAweGExZjAsIDAsIHsweDQwLDB4MDgsMHg5MCwweDAyLDB4MjQsMHgwOCwweDA5LDB4NDEsMHgyMiwweDQwLDB4NDgsMHg5MCwweDQyLDB4MjQsMHgwNCwweDg5IH0sCi0gIDE2LCAweGEyMDAsIDAsIHsweDgwLDB4MjYsMHg0MCwweDA4LDB4OTAsMHgwMiwweGU0LDB4MDAsMHhiOSwweDAwLDB4MjIsMHg0MCwweDA4LDB4OTQsMHgwMiwweDIwIH0sCi0gIDE2LCAweGEyMTAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4MjUsMHgwMCwweDg5LDB4MjAsMHgyMiwweDQwIH0sCi0gIDE2LCAweGEyMjAsIDAsIHsweDBiLDB4OTAsMHgwMiwweGY0LDB4ODQsMHg4NSwweDAwLDB4MjEsMHg0MCwweDQ4LDB4NTAsMHgwMiwweDI0LDB4MjAsMHg4ZCwweDA4IH0sCi0gIDE2LCAweGEyMzAsIDAsIHsweDIzLDB4NDAsMHgwOCwweGQwLDB4MDIsMHg5NCwweDAwLDB4OGQsMHgwMCwweDI5LDB4NDAsMHgwYSwweGQwLDB4MDIsMHhhNCwweDA4IH0sCi0gIDE2LCAweGEyNDAsIDAsIHsweGI5LDB4MDAsMHgyOCwweDQwLDB4MTgsMHg5MCwweGMyLDB4MDYsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGEyNTAsIDAsIHsweDA4LDB4MDQsMHgwNSwweDAwLDB4ODEsMHgwMCwweDIwLDB4NTEsMHgwYiwweDEwLDB4MDIsMHhmNSwweDgwLDB4ODUsMHhjMSwweGExIH0sCi0gIDE2LCAweGEyNjAsIDAsIHsweDUwLDB4MDgsMHg1NCwweDBhLDB4MDUsMHgwNiwweDg1LDB4NDAsMHgyMSwweDUwLDB4ODgsMHg1NCwweDAyLDB4OTUsMHgwMCwweDg1IH0sCi0gIDE2LCAweGEyNzAsIDAsIHsweDQ0LDB4MmQsMHg1MCwweDJhLDB4NTQsMHgxMiwweGM1LDB4MDEsMHhiMSwweDAwLDB4MDgsMHg1MCwweDA4LDB4MTAsMHgwMiwweDAyIH0sCi0gIDE2LCAweGEyODAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjAsMHgwMCwweGNhLDB4NTAsMHgzMiwweDgwIH0sCi0gIDE2LCAweGEyOTAsIDAsIHsweDBmLDB4ODAsMHgwMywweGU4LDB4MDIsMHhjOCwweDAxLDB4MzIsMHgwMCwweDJjLDB4YzAsMHgwMywweDIwLDB4MDAsMHhjOCwweDAyIH0sCi0gIDE2LCAweGEyYTAsIDAsIHsweDMyLDB4MDAsMHgyYywweDgwLDB4MGIsMHhhMCwweDAwLDB4YzgsMHgwMCwweDNhLDB4MDAsMHg0ZSwweDQwLDB4MjMsMHhhMCwweDA4IH0sCi0gIDE2LCAweGEyYjAsIDAsIHsweGY4LDB4MDAsMHgzYSwweDAwLDB4MmMsMHg4MCwweDBiLDB4MmUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGEyYzAsIDAsIHsweDk4LDB4MWQsMHhkYywweDA0LDB4ZmQsMHg0MCwweDNmLDB4NTAsMHg0ZiwweDkwLDB4NjMsMHhlNCwweDQwLDB4ZjEsMHgwMiwweDNlIH0sCi0gIDE2LCAweGEyZDAsIDAsIHsweDQxLDB4MGYsMHg5MCwweDEzLDB4ZjUsMHgwNCwweGY5LDB4NDEsMHgzZSwweDUwLDB4MGYsMHg5NCwweDQzLDB4NjUsMHgwMiwweGY5IH0sCi0gIDE2LCAweGEyZTAsIDAsIHsweDQxLDB4MzYsMHg1MCwweDRkLDB4OTQsMHgwMywweGY0LDB4MDAsMHhmOSwweDQxLDB4MzcsMHg0MCwweDRmLDB4OTQsMHgwMywweGU2IH0sCi0gIDE2LCAweGEyZjAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDAxLDB4ZmMsMHgwMCwweGNkLDB4YTgsMHgzMywweDcwIH0sCi0gIDE2LCAweGEzMDAsIDAsIHsweDBmLDB4ZDAsMHgxMywweGY2LDB4ODgsMHhjZCwweDAwLDB4MzIsMHg1MCwweDRmLDB4MTQsMHgyMywweDA3LDB4YTAsMHhjOSwweGMwIH0sCi0gIDE2LCAweGEzMTAsIDAsIHsweDMyLDB4NzgsMHgwYywweDllLDB4MDMsMHgzNywweDAyLDB4Y2QsMHhjMCwweDMyLDB4NjQsMHgwZiwweDk4LDB4MDMsMHgyNCwweDAwIH0sCi0gIDE2LCAweGEzMjAsIDAsIHsweGNkLDB4MDAsMHgzMiwweDQwLDB4MmMsMHhkYSwweDAzLDB4MDYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGEzMzAsIDAsIHsweDM4LDB4MTAsMHhlMiwweDA4LDB4ODgsMHhlYiwweDIyLDB4MzAsMHgwYiwweDgwLDB4MTIsMHhlOCwweDA0LDB4YTAsMHhhMCwweDJhIH0sCi0gIDE2LCAweGEzNDAsIDAsIHsweDIwLDB4MGIsMHg4YSwweDBhLDB4MjMsMHgwMCwweDg4LDB4ODAsMHgyMiwweDI4LDB4MDAsMHhjOCwweDQyLDB4MjMsMHg4MCwweDgwIH0sCi0gIDE2LCAweGEzNTAsIDAsIHsweGQ0LDB4MjAsMHgyOCwweDA5LDB4ODAsMHgwMiwweDIyLDB4OTQsMHhhOCwweDAwLDB4MmEsMHgwMCwweDg4LDB4ODUsMHgwMiwweDBlIH0sCi0gIDE2LCAweGEzNjAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4YzQsMHhhMCwweDgzLDB4MDAsMHgyNCwweGQ4IH0sCi0gIDE2LCAweGEzNzAsIDAsIHsweDhiLDB4MTAsMHgwMiwweGU1LDB4MTQsMHg4OSwweDBhLDB4MjEsMHg0OCwweDBiLDB4NTIsMHgwMiwweDU0LDB4ODAsMHg4NSwweDQwIH0sCi0gIDE2LCAweGEzODAsIDAsIHsweDI1LDB4NTgsMHgwOSwweDU2LDB4MDIsMHg0NSwweDAyLDB4ODEsMHgyMCwweDIwLDB4NTAsMHgwYiwweDE0LDB4MDIsMHgwNCwweDMwIH0sCi0gIDE2LCAweGEzOTAsIDAsIHsweDgxLDB4MDAsMHgyMCwweDQwLDB4MDgsMHgxMCwweDAyLDB4NDIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGEzYTAsIDAsIHsweDE4LDB4MTUsMHhhNCwweDEyLDB4ODksMHgwMCwweGE2LDB4NDAsMHgwYiwweDkwLDB4NDIsMHhlNCwweDk4LDB4YTksMHg4MCwweDJiIH0sCi0gIDE2LCAweGEzYjAsIDAsIHsweDQwLDB4MGIsMHg1MSwweDAyLDB4NTUsMHgwMCwweDlkLDB4MDgsMHgyNywweDQ4LDB4MDksMHhmNiwweDAyLDB4NDQsMHgwMCwweDgxIH0sCi0gIDE2LCAweGEzYzAsIDAsIHsweDA0LDB4MjIsMHg0MCwweDE5LDB4OTEsMHg4YSwweDI0LDB4ODAsMHhhOSwweDAwLDB4MmEsMHg0MCwweDA4LDB4OTAsMHgwMiwweDQ2IH0sCi0gIDE2LCAweGEzZDAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4ZTcsMHgwMiwweGM5LDB4MDQsMHgzNiwweDU4IH0sCi0gIDE2LCAweGEzZTAsIDAsIHsweDBmLDB4OTAsMHgwMywweGM1LDB4MDAsMHhjOSwweDAwLDB4MzIsMHg0MCwweDBmLDB4OTAsMHgxMywweDY0LDB4MDIsMHhjOSwweDAwIH0sCi0gIDE2LCAweGEzZjAsIDAsIHsweDM2LDB4NDAsMHgyZCwweDkwLDB4MGIsMHg2NiwweDA0LDB4YzksMHhlMCwweGIyLDB4NDgsMHg4ZiwweDk4LDB4NDcsMHgyNCwweDAwIH0sCi0gIDE2LCAweGE0MDAsIDAsIHsweGM5LDB4MDAsMHg3MiwweDQwLDB4MGMsMHgxMCwweDAzLDB4NjgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGE0MTAsIDAsIHsweDI4LDB4MDEsMHhhNSwweDA4LDB4ZjksMHgyMSwweDNhLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhlNiwweDA0LDB4ZjksMHgwMCwweDNlIH0sCi0gIDE2LCAweGE0MjAsIDAsIHsweDQwLDB4NGYsMHg5OCwweDgzLDB4YTQsMHgwMCwweGU5LDB4NDAsMHhiYSwweDYwLDB4MGUsMHg5MCwweDAzLDB4YTQsMHg4MCwweGY5IH0sCi0gIDE2LCAweGE0MzAsIDAsIHsweGEzLDB4M2UsMHg0OCwweDBmLDB4OTgsMHgwYiwweGU0LDB4MDAsMHhmOSwweDAwLDB4MWUsMHg0MCwweDBmLDB4OTAsMHgwMywweDhhIH0sCi0gIDE2LCAweGE0NDAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTIsMHg0OCwweGM4LDB4MjAsMHgzMiwweDA4IH0sCi0gIDE2LCAweGE0NTAsIDAsIHsweDFmLDB4ODAsMHg4MywweGUxLDB4MjIsMHhjOCwweDAxLDB4MzMsMHgwMCwweDJjLDB4YzAsMHgwMywweDMwLDB4MDQsMHhjYywweDQwIH0sCi0gIDE2LCAweGE0NjAsIDAsIHsweGIxLDB4MDAsMHgwYywweDQ0LDB4MDMsMHgyMCwweDEyLDB4YzgsMHg0MSwweDMyLDB4MDAsMHgyZCwweDg0LDB4MGIsMHg2MCwweDAwIH0sCi0gIDE2LCAweGE0NzAsIDAsIHsweGY4LDB4MDAsMHhiMiwweDAwLDB4NGMsMHg4MCwweDBiLDB4MGEsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGE0ODAsIDAsIHsweDI4LDB4MDUsMHgzYSwweDAwLDB4YTYsMHgwMCwweDIzLDB4OTAsMHgwMywweGU0LDB4OTIsMHhmOCwweDAwLDB4ODIsMHgwMCwweDM2IH0sCi0gIDE2LCAweGE0OTAsIDAsIHsweDgwLDB4MDgsMHhhMCwweDAzLDB4NjgsMHgwMCwweGNhLDB4MDAsMHgyMiwweDgzLDB4MDgsMHhhMCwweDAyLDB4MjgsMHgwMywweDhhIH0sCi0gIDE2LCAweGE0YTAsIDAsIHsweDAwLDB4MjIsMHg4MCwweDA4LDB4YTAsMHgwMiwweDI4LDB4MDAsMHhiNiwweDgwLDB4MjIsMHg4MCwweDBkLDB4ZTgsMHgwMiwweDBhIH0sCi0gIDE2LCAweGE0YjAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NmUsMHgwMCwweDgyLDB4NDIsMHgyMCwweGMwIH0sCi0gIDE2LCAweGE0YzAsIDAsIHsweDBiLDB4MzQsMHgwMiwweGNkLDB4MDksMHg4MCwweDAwLDB4MjAsMHgwMCwweDA4LDB4MDAsMHgwMiwweDAwLDB4MDIsMHg5OCwweDAwIH0sCi0gIDE2LCAweGE0ZDAsIDAsIHsweDIwLDB4MjAsMHgyOCwweDAwLDB4MGEsMHgwNCwweDEwLDB4ODEsMHg4MCwweDIwLDB4YzAsMHgwOCwweGIwLDB4MDIsMHgyYywweDAwIH0sCi0gIDE2LCAweGE0ZTAsIDAsIHsweGIzLDB4MDAsMHgyMiwweGMwLDB4MTgsMHgzMSwweDAyLDB4MGEsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGE0ZjAsIDAsIHsweGEwLDB4MDEsMHgzOCwweDAyLDB4YTMsMHgwMCwweDIxLDB4NDAsMHgxYiwweDcwLDB4MDIsMHhkYywweDIwLDB4ODQsMHgwNSwweDY1IH0sCi0gIDE2LCAweGE1MDAsIDAsIHsweGUwLDB4MDgsMHhmMCwweDAyLDB4N2MsMHgxMCwweDk3LDB4MDAsMHgyNCwweGMwLDB4MDgsMHgzMCwweDAyLDB4NTQsMHg4OCwweDg3IH0sCi0gIDE2LCAweGE1MTAsIDAsIHsweDA5LDB4MjEsMHhlOCwweDA5LDB4MzMsMHgwMiwweDFjLDB4ODAsMHhiNiwweDA4LDB4NjMsMHhjOCwweDA5LDB4MzgsMHgxMiwweDI4IH0sCi0gIDE2LCAweGE1MjAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MWUsMHgwMCwweGM3LDB4YTAsMHhhMSwweGUwIH0sCi0gIDE2LCAweGE1MzAsIDAsIHsweDBiLDB4NzgsMHgwMywweGZlLDB4MDAsMHhjNSwweDgyLDB4MzMsMHgyMCwweDBjLDB4NDgsMHgwMywweDFlLDB4MDEsMHhkZiwweDgwIH0sCi0gIDE2LCAweGE1NDAsIDAsIHsweDMxLDB4MjAsMHgwYywweDQ4LDB4MDMsMHgwNiwweDQwLDB4ODcsMHg4MiwweDMxLDB4ZjgsMHgwZCwweDdiLDB4MDMsMHg1ZiwweDAwIH0sCi0gIDE2LCAweGE1NTAsIDAsIHsweGYzLDB4ODAsMHgzMSwweGYyLDB4MGMsMHg2MCwweDAzLDB4MmEsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGE1NjAsIDAsIHsweDA4LDB4MWQsMHg5YywweDAwLDB4ZmIsMHgwMSwweDJmLDB4NDAsMHgwNywweGIwLDB4MDMsMHhlOCwweDA0LDB4ZjksMHgwMCwweDNlIH0sCi0gIDE2LCAweGE1NzAsIDAsIHsweGMxLDB4MGYsMHhiMCwweDAzLDB4ZTAsMHgwNiwweGU4LDB4MDIsMHgzYSwweGMwLDB4MGYsMHhiMCwweDAxLDB4YTQsMHgxMCwweGY5IH0sCi0gIDE2LCAweGE1ODAsIDAsIHsweDQwLDB4YmUsMHhkMCwweDA2LDB4YjAsMHgwMywweGVlLDB4MDAsMHhmYSwweDAwLDB4M2MsMHhkOCwweDBmLDB4YTAsMHgwMywweGMyIH0sCi0gIDE2LCAweGE1OTAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZjYsMHgwMCwweGNmLDB4ODgsMHgzMywweDY0IH0sCi0gIDE2LCAweGE1YTAsIDAsIHsweDJjLDB4ZjgsMHgwMywweGZlLDB4MDIsMHhjNCwweGIwLDB4MzMsMHgyMCwweDhjLDB4ZDgsMHgwMywweDMyLDB4MDAsMHhjYywweGI0IH0sCi0gIDE2LCAweGE1YjAsIDAsIHsweDMzLDB4YTAsMHgwYywweGM4LDB4MDMsMHgxNiwweDIwLDB4Y2YsMHhjMCwweDMzLDB4ZjAsMHgwYywweGY4LDB4MDMsMHhmZSwweDAwIH0sCi0gIDE2LCAweGE1YzAsIDAsIHsweGNkLDB4ODAsMHgzZiwweGUwLDB4MGYsMHhkOCwweDAzLDB4MDAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGE1ZDAsIDAsIHsweGE4LDB4MTEsMHhiNSwweDA0LDB4ODcsMHgxMiwweGExLDB4NTAsMHgwYSwweDc0LDB4MTIsMHhjNCwweDQwLDB4ODQsMHgxMSwweDIzIH0sCi0gIDE2LCAweGE1ZTAsIDAsIHsweGMwLDB4MjgsMHhlMCwweDAyLDB4MWMsMHgwMiwweGE3LDB4MTEsMHgyMSwweDU4LDB4NDgsMHg3MCwweDBhLDB4MTQsMHgwMCwweDhkIH0sCi0gIDE2LCAweGE1ZjAsIDAsIHsweDAwLDB4MjMsMHhjMCwweDBiLDB4NzAsMHgwMiwweGZjLDB4NDAsMHg4NiwweDAwLDB4MmQsMHhjMCwweDBiLDB4NTAsMHgwMiwweDJhIH0sCi0gIDE2LCAweGE2MDAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OTUsMHgwMCwweDg3LDB4NDAsMHgyMSwweDAwIH0sCi0gIDE2LCAweGE2MTAsIDAsIHsweDE4LDB4NzEsMHgwMiwweGRjLDB4MDAsMHg5NSwweDI4LDB4ZTEsMHgwMiwweDA4LDB4NTAsMHgwMiwweDNjLDB4NDIsMHhhNywweDIyIH0sCi0gIDE2LCAweGE2MjAsIDAsIHsweDIxLDB4ODAsMHg4OCwweDQxLDB4MDIsMHgxNCwweDAwLDB4ODUsMHgwMCwweGExLDB4YzAsMHgwOSwweDcxLDB4MDIsMHhkYywweDAwIH0sCi0gIDE2LCAweGE2MzAsIDAsIHsweGI1LDB4MTAsMHgyZCwweGMwLDB4MGIsMHg0MCwweDAyLDB4MDAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGE2NDAsIDAsIHsweDIwLDB4MTQsMHhjNCwweDEwLDB4ODMsMHg4NCwweDIwLDB4MTEsMHgwOCwweDMwLDB4MDIsMHhjMywweDEwLDB4OTEsMHgyMCwweDIwIH0sCi0gIDE2LCAweGE2NTAsIDAsIHsweGMwLDB4MDgsMHgyOCwweDEyLDB4MDAsMHgwMCwweGEwLDB4ODQsMHgyMCwweDQwLDB4MDgsMHgzMCwweDAyLDB4MDQsMHgyNiwweDgzIH0sCi0gIDE2LCAweGE2NjAsIDAsIHsweDAwLDB4MjAsMHhkMCwweDBiLDB4MzAsMHgwMiwweGNjLDB4MDAsMHhiMiwweDAwLDB4MmMsMHhjMCwweDBiLDB4MDAsMHgwMiwweDA4IH0sCi0gIDE2LCAweGE2NzAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YWQsMHgwMCwweGNmLDB4ODgsMHhiMiwweGU4IH0sCi0gIDE2LCAweGE2ODAsIDAsIHsweDBjLDB4MzAsMHgxMywweGNlLDB4YzIsMHhkMCwweDgyLDB4MzIsMHgwMCwweDBjLDB4MGUsMHgwYiwweDIwLDB4MDAsMHhjOCwweDg4IH0sCi0gIDE2LCAweGE2OTAsIDAsIHsweGIyLDB4NDAsMHgyYywweGJhLDB4NDMsMHgzNywweDAyLDB4Y2IsMHgwMCwweGIzLDB4YzAsMHgyYywweGYwLDB4MDMsMHhmYywweDEyIH0sCi0gIDE2LCAweGE2YTAsIDAsIHsweGZiLDB4MDAsMHg3ZiwweGQxLDB4MGYsMHgzMCwweDBiLDB4MmIsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGE2YjAsIDAsIHsweDgwLDB4MDAsMHhlZCwweDAyLDB4ZjEsMHg0MCwweDNlLDB4NDEsMHgwZiwweGIwLDB4MjMsMHhlZCwweDAwLDB4ZTgsMHgwMSwweDNlIH0sCi0gIDE2LCAweGE2YzAsIDAsIHsweGM4LDB4MGYsMHhiMCwweDEzLDB4ZWMsMHgwNCwweGRiLDB4MDAsMHgzYywweDgwLDB4MGYsMHgwNCwweDAzLDB4ZTQsMHg0MCwweGY5IH0sCi0gIDE2LCAweGE2ZDAsIDAsIHsweDAwLDB4M2MsMHhjMiwweDBlLDB4YjAsMHgwMywweGVlLDB4MDAsMHg0YiwweDQxLDB4M2UsMHhjMCwweDBmLDB4YjAsMHgwMywweGUwIH0sCi0gIDE2LCAweGE2ZTAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZmMsMHgwMCwweDRiLDB4MDAsMHgzMiwweDQyIH0sCi0gIDE2LCAweGE2ZjAsIDAsIHsweDBjLDB4ZjAsMHgwMywweDM2LDB4ODAsMHhjZCwweDAwLDB4MzMsMHgwMCwweDRjLDB4YzAsMHg4MywweDNjLDB4MDQsMHhmNywweDAwIH0sCi0gIDE2LCAweGE3MDAsIDAsIHsweDMyLDB4NDAsMHgwYywweGIxLDB4NDMsMHgxNCwweDAwLDB4Y2QsMHg4MCwweDMzLDB4YzAsMHgwYywweGYwLDB4MDMsMHhmYywweDAwIH0sCi0gIDE2LCAweGE3MTAsIDAsIHsweGZmLDB4MDAsMHhiMywweGMyLDB4MGMsMHhhMCwweDAzLDB4MDAsMHg0NCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGE3MjAsIDAsIHsweDgxLDB4MDQsMHg0ZiwweDAyLDB4OGIsMHg4MCwweDIwLDB4MzAsMHgwOCwweGJjLDB4MDIsMHgyMCwweDEwLDB4ODksMHgwMCwweDIyIH0sCi0gIDE2LCAweGE3MzAsIDAsIHsweGMwLDB4MDAsMHhiMCwweDAzLDB4NjAsMHgwNCwweGI4LDB4MDAsMHhhMiwweDkwLDB4MjgsMHg4YywweDFhLDB4MjQsMHgwMiwweDhiIH0sCi0gIDE2LCAweGE3NDAsIDAsIHsweDgzLDB4MjIsMHhjMSwweDA4LDB4YjAsMHgwMiwweGZjLDB4MDAsMHhiMywweDYwLDB4MjAsMHhjMCwweDBkLDB4YTAsMHgwMywweGUwIH0sCi0gIDE2LCAweGE3NTAsIDAsIHsweDQwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MmUsMHgwMCwweGFiLDB4YzAsMHgyMiwweDYwIH0sCi0gIDE2LCAweGE3NjAsIDAsIHsweDA4LDB4YjgsMHgwMiwweDI5LDB4MDAsMHg4OCwweDAxLDB4MjAsMHgwMCwweDA4LDB4OTAsMHgwMiwweDIwLDB4MDAsMHhiOCwweDAwIH0sCi0gIDE2LCAweGE3NzAsIDAsIHsweDIyLDB4YzAsMHgwOCwweGIwLDB4MDIsMHhlNCwweDAwLDB4ODEsMHgyNCwweGEyLDB4YzAsMHgwOSwweGIwLDB4NDYsMHhlYywweDAwIH0sCi0gIDE2LCAweGE3ODAsIDAsIHsweGI5LDB4MDAsMHgyMiwweGMwLDB4MDgsMHg5MCwweDAyLDB4MjAsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGE3OTAsIDAsIHsweDA4LDB4MDQsMHgyYywweDAwLDB4YTEsMHgwMCwweGEwLDB4NDEsMHgwOCwweGIwLDB4MGEsMHgyMCwweDUzLDB4ODgsMHgwMCwweDIwIH0sCi0gIDE2LCAweGE3YTAsIDAsIHsweGMwLDB4MjgsMHhhMCwweDAyLDB4NGMsMHgwMCwweGIzLDB4MDAsMHgyMCwweDAwLDB4ODgsMHgwMCwweDAyLDB4ODQsMHgwMCwweDgzIH0sCi0gIDE2LCAweGE3YjAsIDAsIHsweDA0LDB4MjAsMHhjMCwweDI4LDB4MzAsMHgwMiwweGNjLDB4MDAsMHhiMywweDAyLDB4NjIsMHhjMCwweDA5LDB4MTAsMHgwMiwweGMyIH0sCi0gIDE2LCAweGE3YzAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4NmMsMHgwMCwweGU5LDB4MDAsMHgyMiwweDAwIH0sCi0gIDE2LCAweGE3ZDAsIDAsIHsweDBjLDB4YjAsMHgwMywweDAwLDB4MDQsMHhjOSwweDAwLDB4YjIsMHgwMCwweDBjLDB4OTAsMHgwMywweDJjLDB4MDAsMHhmMywweDAwIH0sCi0gIDE2LCAweGE3ZTAsIDAsIHsweGIyLDB4YzAsMHg4YywweGIwLDB4MDMsMHhiNCwweDAyLDB4OGYsMHgwMCwweDIzLDB4YzAsMHgwNCwweGYwLDB4MDMsMHhlYywweDA4IH0sCi0gIDE2LCAweGE3ZjAsIDAsIHsweGY5LDB4MDAsMHgzMywweGMwLDB4MGMsMHg4MCwweDAzLDB4MDAsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGE4MDAsIDAsIHsweGEwLDB4MWQsMHhmYywweDEwLDB4ZGQsMHgwNCwweDNmLDB4MDAsMHgwZiwweGMwLDB4MjMsMHhmMCwweDkwLDB4ZmQsMHgwMCwweDJmIH0sCi0gIDE2LCAweGE4MTAsIDAsIHsweGMwLDB4MGYsMHhlMCwweDQzLDB4ZDAsMHgwMCwweGZjLDB4MDAsMHgzZiwweDAwLDB4OGYsMHhjMCwweDIyLDB4NzQsMHgwMCwweGZkIH0sCi0gIDE2LCAweGE4MjAsIDAsIHsweDA0LDB4M2YsMHhjMCwweDBmLDB4ZjAsMHgwMywweGZjLDB4MDAsMHhmZiwweDA2LDB4M2YsMHhjMCwweDBmLDB4YzAsMHg0MywweGU4IH0sCi0gIDE2LCAweGE4MzAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZmMsMHg4MCwweGVmLDB4MjAsMHgxMSwweGMwIH0sCi0gIDE2LCAweGE4NDAsIDAsIHsweDBlLDB4NzIsMHgwMywweGJkLDB4YjAsMHhjZiwweDMxLDB4YmYsMHhjYywweDAyLDB4ZjAsMHgwMywweGZjLDB4YzYsMHhjZiwweDAxIH0sCi0gIDE2LCAweGE4NTAsIDAsIHsweDBiLDB4YzUsMHgwZiwweGYxLDB4MDMsMHgzYywweDA0LDB4ZWYsMHg2MSwweDMzLDB4ZDgsMHgwNywweGYwLDB4MDMsMHgzNCwweDgwIH0sCi0gIDE2LCAweGE4NjAsIDAsIHsweGNkLDB4MzAsMHg3MywweGNjLDB4MGYsMHhlOCwweDAzLDB4MzAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGE4NzAsIDAsIHsweDgwLDB4MTgsMHhlOSwweDAwLDB4ODgsMHg2OSwweDIyLDB4MTAsMHgwOCwweDhjLDB4MDAsMHgyMSwweDg0LDB4ODgsMHg0MSwweDIyIH0sCi0gIDE2LCAweGE4ODAsIDAsIHsweDEwLDB4ODgsMHg4NiwweDkyLDB4MDEsMHgwMCwweDg4LDB4NjIsMHgyMiwweDEwLDB4NGIsMHg4NywweDAyLDB4MjEsMHhhMCwweDg4IH0sCi0gIDE2LCAweGE4OTAsIDAsIHsweDYwLDB4MjAsMHgxMCwweDBiLDB4ODYsMHhhMiwweDM1LDB4YTAsMHhhYiwweDYwLDB4YTEsMHhjNCwweDBiLDB4YjgsMHgwMiwweDIwIH0sCi0gIDE2LCAweGE4YTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4Y2QsMHhhOCwweDMzLDB4NDEsMHgyMCwweGM2IH0sCi0gIDE2LCAweGE4YjAsIDAsIHsweDRhLDB4MzEsMHgwMCwweDhjLDB4MTAsMHg5MywweDMzLDB4MjgsMHhjYywweDI5LDB4MzQsMHgxMiwweDhjLDB4NTAsMHg5MywweDFjIH0sCi0gIDE2LCAweGE4YzAsIDAsIHsweDI4LDB4ODQsMHgwMSwweDIwLDB4NGEsMHg0YywweDQxLDB4ODMsMHgxMCwweDI0LDB4Y2MsMHg0YiwweDMxLDB4NDIsMHg0YywweDQwIH0sCi0gIDE2LCAweGE4ZDAsIDAsIHsweDkxLDB4MTAsMHgyNCwweGMwLDB4MGIsMHg4MCwweDAyLDB4MjIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGE4ZTAsIDAsIHsweGMwLDB4MDUsMHhhOCwweDIwLDB4OTAsMHgwMiwweDIyLDB4MDAsMHgwOCwweDgwLDB4MDAsMHgyMCwweDMwLDB4YjgsMHgwOCwweDI2IH0sCi0gIDE2LCAweGE4ZjAsIDAsIHsweDAwLDB4MDEsMHg4MCwweDgyLDB4MjAsMHgyMCwweDE4LDB4MDgsMHg0MiwweDQwLDB4MDMsMHg5MSwweDAyLDB4NjAsMHgwMCwweDA4IH0sCi0gIDE2LCAweGE5MDAsIDAsIHsweDAxLDB4YTYsMHgwMCwweDBiLDB4ODAsMHgwMCwweDZjLDB4MTAsMHhiYiwweDAxLDB4MjYsMHhjMCwweDRiLDB4OTAsMHgwYSwweDMwIH0sCi0gIDE2LCAweGE5MTAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDExLDB4ZmQsMHgwMCwweGZkLDB4NDEsMHgzMywweGExIH0sCi0gIDE2LCAweGE5MjAsIDAsIHsweDBlLDB4ZDIsMHgwMywweGI1LDB4MDIsMHhkZiwweDQyLDB4M2IsMHgwMSwweDBmLDB4ZDQsMHg0MywweGI1LDB4MDAsMHhjZCwweDQwIH0sCi0gIDE2LCAweGE5MzAsIDAsIHsweDFiLDB4YzQsMHgwZCwweDc4LDB4MDMsMHg3MCwweDAyLDB4ZWMsMHgwMCwweDE3LDB4YTEsMHgwZiwweGU4LDB4MGIsMHgyYywweDAyIH0sCi0gIDE2LCAweGE5NDAsIDAsIHsweGQ5LDB4OTAsMHgyNiwweGMwLDB4MGYsMHhhYywweDAzLDB4MDAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGE5NTAsIDAsIHsweGUwLDB4MDEsMHhiOCwweDAwLDB4ZWUsMHgwMCwweDFmLDB4NjQsMHg0ZiwweGUwLDB4MDMsMHhkOCwweDEwLDB4YzQsMHgxOCwweDMzIH0sCi0gIDE2LCAweGE5NjAsIDAsIHsweGMwLDB4MGMsMHhhMCwweGExLDB4YjgsMHgwOSwweGU2LDB4MDksMHgzNiwweDIyLDB4MGYsMHg4OCwweDIzLDB4YmMsMHgwMCwweGZiIH0sCi0gIDE2LCAweGE5NzAsIDAsIHsweDAwLDB4M2IsMHg2NCwweDBmLDB4ZDksMHgwMywweDljLDB4MDAsMHhlMywweDA0LDB4M2IsMHhjMCwweDBmLDB4ZjQsMHgwMywweGY4IH0sCi0gIDE2LCAweGE5ODAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4OGQsMHgwMCwweGM5LDB4NDAsMHhiNiwweDgwIH0sCi0gIDE2LCAweGE5OTAsIDAsIHsweDBmLDB4MTAsMHgwMywweGE3LDB4MjAsMHhmYiwweDUwLDB4YjYsMHgwOCwweDRjLDB4MTQsMHgwMywweDY1LDB4MjIsMHhkOSwweDQwIH0sCi0gIDE2LCAweGE5YTAsIDAsIHsweGI2LDB4ODAsMHgwZSwweGEwLDB4MGIsMHgwMCwweDAwLDB4ZDgsMHgwMCwweDc2LDB4ODIsMHgyOCwweGEwLDB4MjMsMHg2NCwweDAwIH0sCi0gIDE2LCAweGE5YjAsIDAsIHsweGM5LDB4MDQsMHgxMiwweGMwLDB4OGUsMHg4MCwweDAzLDB4OTAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGE5YzAsIDAsIHsweGM4LDB4MDUsMHgyYiwweDYwLDB4OGEsMHgwOSwweDIwLDB4NTAsMHgwOCwweGEwLDB4MjMsMHhlOSwweDAwLDB4YjgsMHhjMCwweDIyIH0sCi0gIDE2LCAweGE5ZDAsIDAsIHsweGYwLDB4MDgsMHhhYywweDAyLDB4MjgsMHgwNCwweDhhLDB4YzIsMHgyMiwweDUwLDB4MDgsMHg5MCwweDA2LDB4MmMsMHgwMCwweDhiIH0sCi0gIDE2LCAweGE5ZTAsIDAsIHsweDA0LDB4MjIsMHg1MSwweDA4LDB4OTQsMHgwMiwweGU0LDB4MDQsMHg4YiwweDA0LDB4MzcsMHhjMCwweDA4LDB4MTgsMHg0MiwweDI2IH0sCi0gIDE2LCAweGE5ZjAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA0LDB4NGIsMHgwMCwweDgyLDB4YzgsMHgyNCwweDQzIH0sCi0gIDE2LCAweGFhMDAsIDAsIHsweDBiLDB4MjYsMHgwYSwweDg4LDB4MDAsMHhiMCwweDgwLDB4MjIsMHhlNCwweDBiLDB4MjAsMHg0MiwweDY5LDB4MDAsMHhhMiwweDkwIH0sCi0gIDE2LCAweGFhMTAsIDAsIHsweDI4LDB4NDAsMHhlOCwweDEwLDB4MDIsMHgwYywweDAwLDB4YmIsMHgwMCwweDI4LDB4NTAsMHg4OCwweDkwLDB4ODIsMHhjNCwweDAxIH0sCi0gIDE2LCAweGFhMjAsIDAsIHsweDgzLDB4MDAsMHgyMCwweGMwLDB4MGEsMHgxMCwweDAyLDB4YmEsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGFhMzAsIDAsIHsweDIwLDB4MTAsMHg0ZSwweDgwLDB4ODEsMHgwMCwweDIxLDB4YTgsMHgwOCwweDU4LDB4MDIsMHhkNiwweDAxLDB4YjcsMHg5MCwweDY4IH0sCi0gIDE2LCAweGFhNDAsIDAsIHsweDIwLDB4MDMsMHg1OSwweDgyLDB4NTYsMHgwMCwweGE1LDB4ODQsMHgyZCwweGEyLDB4MTgsMHg2OSwweDIyLDB4MDIsMHgwMCwweDM0IH0sCi0gIDE2LCAweGFhNTAsIDAsIHsweDgwLDB4MjksMHhhOCwweDA4LDB4NjgsMHgwNiwweGM2LDB4MTQsMHg4NSwweDgyLDB4MjUsMHhlMCwweDA4LDB4NTgsMHg4MiwweDFjIH0sCi0gIDE2LCAweGFhNjAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4NDgsMHgwMCwweGMyLDB4ZjAsMHgzNCwweDQwIH0sCi0gIDE2LCAweGFhNzAsIDAsIHsweDBmLDB4MjAsMHgwMywweDg4LDB4ODAsMHhmOCwweDEwLDB4MzAsMHhjMCwweDI3LDB4MjEsMHgwYiwweDQ4LDB4ODAsMHhlYSwweDIwIH0sCi0gIDE2LCAweGFhODAsIDAsIHsweDM4LDB4MDAsMHgwYywweDAwLDB4MTIsMHgwYywweDA4LDB4NzMsMHgwMCwweGI4LDB4NDAsMHgwYywweDEyLDB4MjMsMHg0YywweDAyIH0sCi0gIDE2LCAweGFhOTAsIDAsIHsweDQzLDB4MzQsMHgzMCwweGMwLDB4MGUsMHgxMSwweDAzLDB4OTIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGFhYTAsIDAsIHsweDQwLDB4MTUsMHhhYywweDkwLDB4ZjksMHgwMSwweDJlLDB4ODgsMHg0YiwweDkwLDB4MTEsMHg2NCwweDAwLDB4ZmIsMHgxMCwweDMyIH0sCi0gIDE2LCAweGFhYjAsIDAsIHsweDAwLDB4MDAsMHg5MSwweDAzLDB4YTQsMHgwMCwweGM5LDB4MDAsMHgzMiwweGM0LDB4NGQsMHhiMCwweDQzLDB4ZTAsMHgwNCwweGM4IH0sCi0gIDE2LCAweGFhYzAsIDAsIHsweDAwLDB4MzYsMHg4OSwweDBmLDB4YTgsMHgwMywweGVkLDB4MDAsMHhmOSwweDE0LDB4M2UsMHhjMCwweDBmLDB4MTAsMHg0MywweGQwIH0sCi0gIDE2LCAweGFhZDAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4ZTgsMHgwMCwweGM4LDB4MDAsMHgzYSwweDAwIH0sCi0gIDE2LCAweGFhZTAsIDAsIHsweDBjLDB4MDAsMHg1MywweGEwLDB4MDAsMHhlOCwweDAxLDB4MzIsMHgwMSwweDBlLDB4ODAsMHg1MywweDIwLDB4MTAsMHhjOCwweDAwIH0sCi0gIDE2LCAweGFhZjAsIDAsIHsweDNhLDB4NDAsMHgwYywweDkwLDB4MDMsMHgyMCwweDEwLDB4ZTgsMHgwNCwweGI2LDB4MDAsMHg4NCwweDgwLDB4MDMsMHgyZCwweDEyIH0sCi0gIDE2LCAweGFiMDAsIDAsIHsweGNiLDB4MDAsMHgyZSwweGNhLDB4MDQsMHg5MCwweDAzLDB4ZWEsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGFiMTAsIDAsIHsweDRjLDB4MTksMHg4YywweDAwLDB4ODcsMHgwMiwweDIxLDB4YzAsMHgwOCwweDcwLDB4MDIsMHgwYywweDAwLDB4ODMsMHgwMCwweDIxIH0sCi0gIDE2LCAweGFiMjAsIDAsIHsweGMwLDB4MDgsMHgzMCwweDYyLDB4NGMsMHgwNCwweDgzLDB4MDAsMHgyMSwweDgwLDB4NDgsMHhlMCwweDEyLDB4M2MsMHgwMCwweDg3IH0sCi0gIDE2LCAweGFiMzAsIDAsIHsweDAwLDB4MjEsMHhjMCwweDA4LDB4NzAsMHgwMiwweDFjLDB4MDAsMHg4NSwweDAxLDB4MjQsMHhkMCwweDBhLDB4NTAsMHgwMiwweGYyIH0sCi0gIDE2LCAweGFiNDAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMCwweDAwLDB4OWEsMHgwMCwweDgwLDB4ODAsMHgyOCwweDIwIH0sCi0gIDE2LCAweGFiNTAsIDAsIHsweDA4LDB4NGMsMHgyMiwweGQyLDB4MDAsMHhhNCwweDgwLDB4MjQsMHgzMCwweDBiLDB4NDgsMHgwMiwweDUyLDB4MDAsMHg4NCwweGMwIH0sCi0gIDE2LCAweGFiNjAsIDAsIHsweDIxLDB4MjAsMHgwOSwweDQ4LDB4NjgsMHgxMywweDAwLDB4YTQsMHg4MCwweDYwLDB4MjAsMHgwOSwweDA4LDB4MDIsMHg1NiwweDAwIH0sCi0gIDE2LCAweGFiNzAsIDAsIHsweDk3LDB4ODAsMHgyZCwweGUwLDB4ODgsMHg1OCwweDAyLDB4ZTAsMHgxMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGFiODAsIDAsIHsweDZjLDB4MDQsMHhjYywweDAwLDB4ODMsMHg4MCwweDIwLDB4ZDgsMHgwOCwweDMwLDB4MDIsMHg0YywweDQwLDB4ODMsMHgwMCwweDI0IH0sCi0gIDE2LCAweGFiOTAsIDAsIHsweGQxLDB4MDksMHhiOSwweDQyLDB4NGUsMHgwMCwweDgzLDB4MDAsMHgyMCwweGMxLDB4ODksMHgzMCwweDQyLDB4MGMsMHgwMCwweDgzIH0sCi0gIDE2LCAweGFiYTAsIDAsIHsweGYwLDB4YTAsMHhkOSwweDE5LDB4MzYsMHgyMiwweDY2LDB4MDYsMHg5MSwweDAwLDB4MGMsMHhjMSwweDBhLDB4MTAsMHgwMiwweGMyIH0sCi0gIDE2LCAweGFiYjAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4ZTgsMHgwMiwweGNhLDB4YTUsMHgyYSwweDkxIH0sCi0gIDE2LCAweGFiYzAsIDAsIHsweDI4LDB4YTgsMHgwMywweGVhLDB4MDIsMHhhYSwweDAwLDB4YjYsMHhhMCwweDBmLDB4YTAsMHgwYSwweDJhLDB4OTIsMHhjYSwweDgzIH0sCi0gIDE2LCAweGFiZDAsIDAsIHsweGJhLDB4ODAsMHgyOSwweGEwLDB4MDMsMHgyYiwweDAwLDB4ZWEsMHg0MCwweDY2LDB4OTAsMHgyZCwweGU0LDB4MGIsMHg2YSwweDgwIH0sCi0gIDE2LCAweGFiZTAsIDAsIHsweGRhLDB4MDAsMHgzZSwweDgwLDB4MGMsMHhlMCwweDAzLDB4ZmEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGFiZjAsIDAsIHsweDQ4LDB4MDEsMHg4MCwweDAwLDB4ZmMsMHgwMCwweDNkLDB4MDAsMHgwZiwweGMwLDB4MDMsMHhiMCwweDE0LDB4ZmMsMHgwMCwweDNiIH0sCi0gIDE2LCAweGFjMDAsIDAsIHsweDEyLDB4MGUsMHhjMCwweDQzLDB4YjEsMHgxNCwweGZjLDB4MDAsMHgzZCwweDAwLDB4MGUsMHhjMCwweDAzLDB4ZjAsMHgyMCwweGY0IH0sCi0gIDE2LCAweGFjMTAsIDAsIHsweDAwLDB4MzEsMHgwMCwweDBlLDB4NDQsMHgxMywweGEwLDB4MDAsMHhlOCwweDA2LDB4MzYsMHgwMCwweDRmLDB4ODAsMHgxMywweGQyIH0sCi0gIDE2LCAweGFjMjAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4YTQsMHgwMCwweGQxLDB4MDAsMHgzNiwweDYwIH0sCi0gIDE2LCAweGFjMzAsIDAsIHsweDFjLDB4MTgsMHgwYiwweDQ2LDB4MDAsMHhkOSwweDgwLDB4MzAsMHg0MCwweDJjLDB4OTgsMHgwNSwweDg2LDB4MDAsMHhjMSwweDgwIH0sCi0gIDE2LCAweGFjNDAsIDAsIHsweDkyLDB4NDAsMHgwZCwweDEwLDB4MDMsMHg0NCwweDAyLDB4ODksMHgwMCwweDMyLDB4NzAsMHgwYywweDk4LDB4MDEsMHgyNCwweDAwIH0sCi0gIDE2LCAweGFjNTAsIDAsIHsweGM5LDB4MDQsMHgzMCwweDQwLDB4MGMsMHg5MCwweDAzLDB4YzIsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGFjNjAsIDAsIHsweDgwLDB4MDQsMHg2NCwweDAwLDB4ODksMHgwMCwweDIyLDB4NDAsMHgwOCwweDk0LDB4MDIsMHgyNCwweDgwLDB4ODksMHgwMSwweDIyIH0sCi0gIDE2LCAweGFjNzAsIDAsIHsweDQwLDB4NDgsMHg5MSwweDAyLDB4MjQsMHgwMCwweGQ5LDB4OTAsMHgyMiwweDQxLDB4MDgsMHg5MCwweDEyLDB4MjQsMHgxMCwweDg5IH0sCi0gIDE2LCAweGFjODAsIDAsIHsweDAwLDB4MzIsMHg0MCwweDA4LDB4OTUsMHgxMiwweDI0LDB4MDIsMHg4MSwweDAwLDB4YTIsMHg0MSwweDBkLDB4OTAsMHg0MiwweGUwIH0sCi0gIDE2LCAweGFjOTAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzOCwweDA1LDB4MjQsMHgwMiwweDlkLDB4MDAsMHgyMywweDQ0IH0sCi0gIDE2LCAweGFjYTAsIDAsIHsweDA4LDB4ZDIsMHgwNiwweDc0LDB4ODAsMHhiNSwweDIwLDB4MjMsMHg0MCwweDFhLDB4ZDAsMHgwNiwweDM1LDB4OTAsMHg4ZCwweDAyIH0sCi0gIDE2LCAweGFjYjAsIDAsIHsweDJmLDB4NDQsMHgxOSwweGQwLDB4MDIsMHg3NCwweDAwLDB4OGQsMHgwMCwweDYzLDB4NDAsMHgxOCwweGQ0LDB4MDIsMHhhNCwweDExIH0sCi0gIDE2LCAweGFjYzAsIDAsIHsweDg5LDB4MDAsMHgyMiwweDQwLDB4MDgsMHhiMCwweDAyLDB4YzYsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGFjZDAsIDAsIHsweDI4LDB4MTQsMHgwNCwweDgwLDB4ODUsMHgyMCwweDIxLDB4NjgsMHgwOCwweDUyLDB4MDIsMHgxNCwweDgwLDB4YTUsMHgyMCwweGExIH0sCi0gIDE2LCAweGFjZTAsIDAsIHsweDQ4LDB4MGEsMHg3MiwweDM4LDB4MTQsMHg4MCwweDk1LDB4MjQsMHgyZCwweDQ4LDB4MjgsMHg1MiwweDAyLDB4MTQsMHg4MCwweDg1IH0sCi0gIDE2LCAweGFjZjAsIDAsIHsweDIwLDB4MjEsMHg0OCwweDA4LDB4NTIsMHgwNiwweDg0LDB4ODAsMHg4MSwweDIwLDB4MjAsMHg0YSwweDA5LDB4MTAsMHgwMiwweGMyIH0sCi0gIDE2LCAweGFkMDAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzOCwweDBkLDB4NjEsMHg0MCwweGQ4LDB4NTAsMHhiMiwweDE0IH0sCi0gIDE2LCAweGFkMTAsIDAsIHsweDI4LDB4YTAsMHgwMywweDYxLDB4NDAsMHhmOCwweDUwLDB4MzIsMHg5NCwweDRlLDB4ODUsMHgwNCwweDIxLDB4NDIsMHhjOCwweDUwIH0sCi0gIDE2LCAweGFkMjAsIDAsIHsweDNjLDB4MTQsMHgwZCwweDgwLDB4MDMsMHg2MSwweDQwLDB4ODgsMHg1MCwweGIyLDB4MTQsMHgyYywweGM1LDB4MDksMHhhMSwweDQwIH0sCi0gIDE2LCAweGFkMzAsIDAsIHsweGM4LDB4NTAsMHgzMiwweDFjLDB4MGMsMHg4MCwweDAzLDB4ZWUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGFkNDAsIDAsIHsweDk4LDB4MTUsMHhlNCwweDQwLDB4ZjksMHgxMCwweDNhLDB4NDQsMHgwZiwweDkxLDB4MDMsMHhlNCwweDQwLDB4ZDksMHgxNCwweDNlIH0sCi0gIDE2LCAweGFkNTAsIDAsIHsweDQ0LDB4MGQsMHg5MSwweDQzLDB4NjQsMHg0MCwweGU5LDB4MTAsMHgzMiwweDQ0LDB4MDcsMHg5MywweGMzLDB4ZTQsMHg1MCwweGQxIH0sCi0gIDE2LCAweGFkNjAsIDAsIHsweDEwLDB4N2UsMHg0NCwweDAzLDB4OTEsMHgwMSwweDU0LDB4NDQsMHhmZCwweDE0LDB4M2UsMHg0MCwweDBmLDB4ZDAsMHgwMywweGU2IH0sCi0gIDE2LCAweGFkNzAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4ZjYsMHg4MCwweGRkLDB4YTAsMHgzMywweDY4IH0sCi0gIDE2LCAweGFkODAsIDAsIHsweDFlLDB4ZGEsMHgwMywweDM2LDB4OTAsMHhjZCwweGEwLDB4M2IsMHg2OCwweDBhLDB4ZDgsMHgyMywweDc2LDB4MGMsMHhlZCwweDgwIH0sCi0gIDE2LCAweGFkOTAsIDAsIHsweDJiLDB4NjIsMHgwYiwweDk5LDB4MDIsMHhhNywweDgwLDB4ZjksMHhlMSwweDM3LDB4NjgsMHgwYywweGRhLDB4MDMsMHgyNywweDgwIH0sCi0gIDE2LCAweGFkYTAsIDAsIHsweGM5LDB4YTIsMHgyMiwweDY4LDB4NGMsMHg1MCwweDAzLDB4YzYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGFkYjAsIDAsIHsweDM4LDB4MTgsMHhlMSwweDQwLDB4ODgsMHg1MCwweDIyLDB4MTQsMHgwOCwweDgwLDB4MjIsMHg2MCwweDAwLDB4ODgsMHgwNCwweDIyIH0sCi0gIDE2LCAweGFkYzAsIDAsIHsweDAwLDB4MDgsMHgwNCwweDI2LDB4MDEsMHgwMCwweDg4LDB4NTAsMHgyMiwweDEwLDB4MDgsMHhhZiwweDAyLDB4MjMsMHgwMCwweDg4IH0sCi0gIDE2LCAweGFkZDAsIDAsIHsweGMwLDB4YTAsMHgxMCwweDg4LDB4ODQsMHgwMiwweDIzLDB4ODAsMHhhMCwweDQwLDB4MmEsMHgxMCwweDA4LDB4ODAsMHgxMiwweDRlIH0sCi0gIDE2LCAweGFkZTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDAwLDB4ODQsMHgwMCwweDgxLDB4MDEsMHgyMCwweDQwIH0sCi0gIDE2LCAweGFkZjAsIDAsIHsweDBhLDB4MTQsMHgwMiwweDQ1LDB4MDAsMHg4MSwweDQxLDB4MmMsMHg1MCwweDBiLDB4MTQsMHgwMiwweDA1LDB4MDQsMHhhMSwweDAwIH0sCi0gIDE2LCAweGFlMDAsIDAsIHsweDI4LDB4NDAsMHg4MiwweDEwLDB4MDIsMHg4NCwweDQwLDB4YTEsMHgzMiwweDgwLDB4NTAsMHgwOSwweDE0LDB4MDIsMHgwNCwweGM0IH0sCi0gIDE2LCAweGFlMTAsIDAsIHsweDkxLDB4MTAsMHg2NCwweDQ0LDB4MjgsMHgxMCwweDAyLDB4ZDIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGFlMjAsIDAsIHsweDE4LDB4MDQsMHhhYywweDAyLDB4ODEsMHgwMCwweDIyLDB4YzEsMHgwOCwweDkwLDB4MDIsMHg0NCwweDAyLDB4ODksMHgwMiwweDI2IH0sCi0gIDE2LCAweGFlMzAsIDAsIHsweDQxLDB4MDksMHg5MCwweDBhLDB4MjQsMHgwYywweDg5LDB4MDQsMHgyMiwweDUwLDB4MDgsMHg5MCwweDI2LDB4MjQsMHgwMCwweDg5IH0sCi0gIDE2LCAweGFlNDAsIDAsIHsweDAwLDB4MjIsMHg0MSwweDA5LDB4MTAsMHgyMiwweDI0LDB4NDAsMHhiOSwweDAxLDB4MmUsMHg0MCwweDA4LDB4OTAsMHgwMiwweDQ2IH0sCi0gIDE2LCAweGFlNTAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4ZTQsMHgxMCwweDg5LDB4MDAsMHgzMiwweDQwIH0sCi0gIDE2LCAweGFlNjAsIDAsIHsweDBhLDB4OTAsMHgwYiwweDI0LDB4MTAsMHg4OSwweDAwLDB4MWUsMHg0MCwweDliLDB4OTAsMHgwMiwweDI0LDB4MTAsMHgyOSwweDAwIH0sCi0gIDE2LCAweGFlNzAsIDAsIHsweDFhLDB4NDAsMHgwZSwweDk0LDB4NDEsMHhhNCwweDAwLDB4MjksMHgwMCwweDEyLDB4NDAsMHgwNSwweDkwLDB4NDEsMHgyNiwweDAwIH0sCi0gIDE2LCAweGFlODAsIDAsIHsweGQ5LDB4MDAsMHgyNCwweDQwLDB4MGMsMHg5MCwweDAzLDB4ZTgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGFlOTAsIDAsIHsweDQ4LDB4MDEsMHhhNCwweDAyLDB4YTksMHgwMCwweGJjLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhhNCwweDA0LDB4ZjksMHgwMCwweDNhIH0sCi0gIDE2LCAweGFlYTAsIDAsIHsweDQxLDB4MGUsMHg5MCwweDgzLDB4ODQsMHgwMCwweGY5LDB4MDAsMHgzYywweDQwLDB4MGUsMHg5MCwweDAyLDB4YzQsMHgwOCwweGU5IH0sCi0gIDE2LCAweGFlYjAsIDAsIHsweDAwLDB4M2EsMHg0MCwweDJlLDB4OTAsMHgwYiwweGU2LDB4MDAsMHhlMSwweDA0LDB4M2EsMHg0MCwweDBmLDB4OTIsMHgwMywweDVhIH0sCi0gIDE2LCAweGFlYzAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4YTAsMHgyMCwweGQ4LDB4MDAsMHgzNiwweDAyIH0sCi0gIDE2LCAweGFlZDAsIDAsIHsweDBlLDB4MDAsMHhhMywweGUwLDB4MTgsMHhjMCwweDAwLDB4MzAsMHgwMywweDBmLDB4ODAsMHgzMywweDIwLDB4MDAsMHg0MCwweDAwIH0sCi0gIDE2LCAweGFlZTAsIDAsIHsweDMyLDB4MGQsMHgwZiwweDA0LDB4MGIsMHhhMCwweDAyLDB4YzgsMHgwMiwweDMyLDB4MDIsMHg4YywweDgyLDB4MDMsMHgyMCwweDAyIH0sCi0gIDE2LCAweGFlZjAsIDAsIHsweGM4LDB4MDQsMHgxNiwweDAwLDB4NGUsMHg4MCwweDAxLDB4MGEsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGFmMDAsIDAsIHsweDI4LDB4MDUsMHgzYiwweDAwLDB4OGUsMHhkOCwweDIzLDB4ODAsMHgwOCwweGUwLDB4MDIsMHhmOCwweDgwLDB4OGUsMHgxMCwweDIzIH0sCi0gIDE2LCAweGFmMTAsIDAsIHsweGEyLDB4MGIsMHhlMCwweDgyLDB4N2EsMHgyMCwweDhlLDB4MzAsMHgyMywweGExLDB4MGIsMHhlMCwweDAyLDB4MjgsMHgwMCwweDhlIH0sCi0gIDE2LCAweGFmMjAsIDAsIHsweDAwLDB4MmIsMHg4OCwweDA4LDB4ZTQsMHg0MiwweDM4LDB4MDAsMHg4ZSwweDA0LDB4MjMsMHg4MCwweDA4LDB4YTAsMHgwMiwweDBhIH0sCi0gIDE2LCAweGFmMzAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NmYsMHg0MCwweDkzLDB4YzYsMHgyNCwweDQwIH0sCi0gIDE2LCAweGFmNDAsIDAsIHsweDBhLDB4MzgsMHgwMiwweGNjLDB4MDAsMHg4MywweDAxLDB4YWMsMHhmMCwweDBiLDB4YjQsMHgwMiwweDRjLDB4MDQsMHhhMywweDgwIH0sCi0gIDE2LCAweGFmNTAsIDAsIHsweDI4LDB4ZDAsMHg0YiwweDMwLDB4MDIsMHg0YywweDAwLDB4YWIsMHgwNCwweDJhLDB4YzAsMHgyYSwweDMwLDB4MGEsMHhhYywweDEwIH0sCi0gIDE2LCAweGFmNjAsIDAsIHsweDkzLDB4MDAsMHgyMCwweGMxLDB4MGEsMHgzMSwweDAyLDB4MGEsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGFmNzAsIDAsIHsweDgwLDB4MTEsMHgxYywweDAwLDB4ODIsMHgwMCwweDIxLDB4NDIsMHg4OCwweDc0LDB4MDYsMHhkYywweDBiLDB4ODYsMHgwMiwweDJkIH0sCi0gIDE2LCAweGFmODAsIDAsIHsweDgwLDB4MGIsMHg3MCwweDJhLDB4NTgsMHgwMCwweGE2LDB4MDAsMHhhOSwweGMwLDB4MGIsMHg3MCwweDAyLDB4NWMsMHg4OCwweGE3IH0sCi0gIDE2LCAweGFmOTAsIDAsIHsweDIwLDB4MjksMHhjMCwweDBhLDB4NzAsMHgwMiwweDljLDB4MTAsMHg5NywweDIwLDB4YTEsMHhjOCwweDA4LDB4ZDgsMHgwMiwweDI4IH0sCi0gIDE2LCAweGFmYTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA4LDB4MGUsMHgwMCwweGQ3LDB4ODAsMHgzNywweDYwIH0sCi0gIDE2LCAweGFmYjAsIDAsIHsweDBlLDB4NjgsMHgxMywweGZlLDB4MDAsMHhjZiwweDgwLDB4M2QsMHhlMCwweDBmLDB4NzgsMHgyMywweDFlLDB4MDAsMHhlZiwweDgyIH0sCi0gIDE2LCAweGFmYzAsIDAsIHsweDMxLDB4ZTAsMHgwZiwweDNjLDB4YzMsMHg3ZSwweDA0LDB4ZWYsMHg4MCwweGIxLDB4ZTAsMHgwZSwweGU4LDB4MDMsMHhiZSwweDgwIH0sCi0gIDE2LCAweGFmZDAsIDAsIHsweGQ3LDB4ZTAsMHgzMywweGVhLDB4MGUsMHg3OCwweDAzLDB4MmEsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGFmZTAsIDAsIHsweDA4LDB4MTUsMHhhYywweDAwLDB4ZmEsMHgwMSwweDNlLDB4MDAsMHgwZiwweGIwLDB4MDMsMHhlMCwweDA0LDB4ZjgsMHgwMCwweDMyIH0sCi0gIDE2LCAweGFmZjAsIDAsIHsweDgwLDB4MGYsMHg4MCwweDQzLDB4YWMsMHgwYSwweGQ4LDB4MDAsMHgzNiwweDQwLDB4MGYsMHhiMCwweDAzLDB4MmMsMHgwYywweGRiIH0sCi0gIDE2LCAweGIwMDAsIDAsIHsweDAwLDB4MjYsMHhjMSwweDA5LDB4YTAsMHgxMywweDZjLDB4NDAsMHhlYiwweDQwLDB4M2EsMHhkYywweDBmLDB4OTAsMHgwYiwweGMyIH0sCi0gIDE2LCAweGIwMTAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDA0LDB4YmUsMHgwMCwweGNmLDB4ODEsMHgzMywweGU5IH0sCi0gIDE2LCAweGIwMjAsIDAsIHsweDFmLDB4ZjksMHgxMywweGI2LDB4NTAsMHhlZiwweDgwLDB4MWYsMHhlNCwweDA0LDB4YzgsMHgwMywweDdlLDB4MDAsMHg2ZCwweDgxIH0sCi0gIDE2LCAweGIwMzAsIDAsIHsweDMzLDB4NjQsMHgwYywweGY4LDB4MWIsMHgzZSwweDIwLDB4MmYsMHg4OCwweDkzLDB4ZTgsMHgwZiwweGZiLDB4MDMsMHgyZSwweDgwIH0sCi0gIDE2LCAweGIwNDAsIDAsIHsweGNmLDB4YzAsMHg3MywweGUwLDB4MmMsMHhkOSwweDAzLDB4ZDAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGIwNTAsIDAsIHsweGE4LDB4MTgsMHg5MCwweDQyLDB4ODksMHgxOCwweDIxLDB4YzAsMHgxZiwweDcxLDB4MDIsMHgxNCwweGMwLDB4ZjcsMHgyMCwweDI3IH0sCi0gIDE2LCAweGIwNjAsIDAsIHsweDQwLDB4NDAsMHg3MSwweDEyLDB4MTgsMHgwMCwweDg3LDB4MjAsMHgyMSwweDgwLDB4NDgsMHg3MSwweDAyLDB4M2MsMHgwOCwweDg3IH0sCi0gIDE2LCAweGIwNzAsIDAsIHsweDIwLDB4MjEsMHg4MiwweDBiLDB4NjEsMHhhMiwweDFlLDB4NDQsMHhkZiwweDAxLDB4MzEsMHhjOCwweDA4LDB4NzMsMHgwMiwweGVhIH0sCi0gIDE2LCAweGIwODAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxMCwweDAwLDB4OGMsMHgwMCwweDg3LDB4MDAsMHgyMSwweGM4IH0sCi0gIDE2LCAweGIwOTAsIDAsIHsweDBiLDB4NzAsMHgwMiwweDljLDB4MDksMHg4NywweDAyLDB4MmQsMHg4MiwweDk5LDB4NDAsMHgwMiwweDA0LDB4MDAsMHhhNSwweDA5IH0sCi0gIDE2LCAweGIwYTAsIDAsIHsweDIxLDB4NDAsMHgxOSwweDcwLDB4MDIsMHgxYywweDAwLDB4ODcsMHgwNSwweDI1LDB4NDgsMHg0YiwweDcyLDB4MDIsMHgwYywweDQwIH0sCi0gIDE2LCAweGIwYjAsIDAsIHsweDg3LDB4MDAsMHhhMSwweGMwLDB4NDgsMHg1MCwweDAyLDB4YzQsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGIwYzAsIDAsIHsweDY4LDB4MDQsMHhjMSwweDIwLDB4ODksMHg0YywweGEwLDB4YjQsMHgwYSwweDM4LDB4MDIsMHgyMiwweDAwLDB4YTEsMHhkMCwweDI0IH0sCi0gIDE2LCAweGIwZDAsIDAsIHsweDMwLDB4MDksMHg4MCwweDAyLDB4MjcsMHg0NCwweDgxLDB4YzYsMHgyMiwweDE0LDB4MDksMHgzZCwweDJhLDB4MGYsMHgwMiwweDhiIH0sCi0gIDE2LCAweGIwZTAsIDAsIHsweGMwLDB4YTYsMHgyMCwweDBiLDB4MjQsMHgwMCwweDBjLDB4MTAsMHg5MywweDgxLDB4MjAsMHhjMCwweDQ4LDB4MzAsMHgwNiwweGQ4IH0sCi0gIDE2LCAweGIwZjAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDE1LDB4YTEsMHgwMCwweDg5LDB4YzEsMHgzMiwweGQxIH0sCi0gIDE2LCAweGIxMDAsIDAsIHsweDAzLDB4YmMsMHgwMywweGE5LDB4MjAsMHg4OSwweDQxLDB4M2UsMHg2MCwweDg1LDB4YmMsMHg4YiwweDI1LDB4NDAsMHhlYiwweDQxIH0sCi0gIDE2LCAweGIxMTAsIDAsIHsweGEyLDB4YTAsMHgwZCwweGYwLDB4MTMsMHgzZSwweDIwLDB4Y2YsMHg5MCwweDM2LDB4MzAsMHg0ZiwweGJjLDB4MGIsMHgzYywweDAwIH0sCi0gIDE2LCAweGIxMjAsIDAsIHsweGNmLDB4ODAsMHgzMywweGMxLDB4MGMsMHhiMSwweDAzLDB4ZWEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGIxMzAsIDAsIHsweDgwLDB4MDAsMHhlZCwweDAwLDB4ZjgsMHgwMSwweDNjLDB4ZDAsMHgwZiwweGIzLDB4MDMsMHhlOCwweDgyLDB4ZDgsMHgyMCwweDM2IH0sCi0gIDE2LCAweGIxNDAsIDAsIHsweDgwLDB4MmUsMHhiMiwweDEzLDB4ZTEsMHgwMCwweGZhLDB4MDAsMHg3ZSwweGM4LDB4MmUsMHhiMCwweDAzLDB4ZWMsMHg4MCwweGRiIH0sCi0gIDE2LCAweGIxNTAsIDAsIHsweDEwLDB4M2EsMHgwOCwweDRmLDB4YjIsMHgyMywweGNjLDB4MDIsMHhmYiwweDEwLDB4M2EsMHhjMCwweDBmLDB4OTAsMHgwMywweGU0IH0sCi0gIDE2LCAweGIxNjAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDEwLDB4ZjAsMHgwMCwweGNkLDB4MTAsMHgzMywweDQyIH0sCi0gIDE2LCAweGIxNzAsIDAsIHsweDBjLDB4Y2EsMHgyMywweDdjLDB4MDAsMHhjZiwweDAwLDB4MzMsMHg2MiwweDA2LDB4ZjAsMHgwMSwweDNhLDB4MDAsMHhjZiwweDA4IH0sCi0gIDE2LCAweGIxODAsIDAsIHsweDMzLDB4ODAsMHgxYywweGYwLDB4ODEsMHgzYywweDAwLDB4ZmYsMHgwMCwweDMzLDB4YTAsMHgwYywweGNhLDB4MDEsMHhmYywweDA0IH0sCi0gIDE2LCAweGIxOTAsIDAsIHsweGNmLDB4MDAsMHgzZiwweGMwLDB4MGYsMHhmMCwweDAzLDB4YzAsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGIxYTAsIDAsIHsweGExLDB4MDQsMHg2ZCwweDQwLDB4ODgsMHg0OCwweGEyLDB4MzEsMHgwOCwweDEwLDB4MDIsMHgyMCwweDEwLDB4ODgsMHhiNCwweDIyIH0sCi0gIDE2LCAweGIxYjAsIDAsIHsweGEwLDB4MDgsMHg4MCwweDAwLDB4NmEsMHg4NCwweDg4LDB4MjAsMHgyMiwweDUyLDB4MDgsMHhiMCwweDBhLDB4MmMsMHgxMCwweGJiIH0sCi0gIDE2LCAweGIxYzAsIDAsIHsweDAwLDB4MzIsMHhiMywweDg4LDB4ODAsMHgwMiwweGVjLDB4MDAsMHhkYiwweDAwLDB4MmUsMHhjMCwweDBiLDB4OTAsMHgxMiwweGUxIH0sCi0gIDE2LCAweGIxZDAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4MDAsMHgxMCwweDhhLDB4MDEsMHgyMiwweGEwIH0sCi0gIDE2LCAweGIxZTAsIDAsIHsweDA4LDB4YjAsMHg0MiwweDYwLDB4MjAsMHg4MCwweDAwLDB4MjAsMHg0NCwweDFhLDB4ODAsMHgxYSwweGU0LDB4NDIsMHhhMCwweDA2IH0sCi0gIDE2LCAweGIxZjAsIDAsIHsweDIyLDB4MDAsMHg3OCwweDMwLDB4MDIsMHhhYywweDAwLDB4YmIsMHgwMCwweGEyLDB4NDQsMHgwOCwweGIwLDB4MTIsMHhlYywweDAwIH0sCi0gIDE2LCAweGIyMDAsIDAsIHsweDhiLDB4MDAsMHgwZSwweGMwLDB4MGIsMHg5MCwweDAyLDB4ZTAsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGIyMTAsIDAsIHsweDA4LDB4MTQsMHgwMCwweDA4LDB4ODAsMHgwMCwweDIwLDB4ODEsMHgwOCwweDMwLDB4MDIsMHg0MCwweDEyLDB4ODAsMHgwMCwweGEwIH0sCi0gIDE2LCAweGIyMjAsIDAsIHsweDQwLDB4MDgsMHhiMCwweDAyLDB4YzAsMHgwMCwweDgyLDB4MDAsMHgwMCwweDgwLDB4MDgsMHgzMCwweDAyLDB4OGMsMHgwMCwweGJiIH0sCi0gIDE2LCAweGIyMzAsIDAsIHsweDAwLDB4MjAsMHgwMCwweDA4LDB4MjAsMHgwMiwweGNjLDB4ODAsMHg5MywweDAwLDB4MmMsMHhjMCwweDBiLDB4MzAsMHgwMiwweGMyIH0sCi0gIDE2LCAweGIyNDAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4NjAsMHgwMCwweGNhLDB4MTQsMHgzMiwweDAwIH0sCi0gIDE2LCAweGIyNTAsIDAsIHsweDBjLDB4YjAsMHgwMywweDRjLDB4MDAsMHhjYSwweDAwLDB4MzIsMHgwMCwweDBlLDB4MDAsMHgxMiwweGEwLDB4MDAsMHhjMCwweDAwIH0sCi0gIDE2LCAweGIyNjAsIDAsIHsweDcwLDB4MDAsMHgyOCwweGYwLDB4MTMsMHhhYywweDAwLDB4ZmIsMHgwMCwweDMyLDB4NDAsMHgyYywweDEwLDB4NDMsMHhlYywweDAwIH0sCi0gIDE2LCAweGIyNzAsIDAsIHsweGNmLDB4MDAsMHgzZiwweGMwLDB4MGYsMHg5MCwweDAzLDB4YzAsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGIyODAsIDAsIHsweDIwLDB4MTUsMHhmMCwweDAyLDB4ZmMsMHgwMCwweDFmLDB4MDAsMHg2NywweDcwLDB4MDMsMHhiMCwweDAwLDB4ZmMsMHgwMCwweDNmIH0sCi0gIDE2LCAweGIyOTAsIDAsIHsweDAwLDB4MmQsMHhjMCwweDAzLDB4MzAsMHgxMCwweGZjLDB4MDEsMHhiZiwweDAwLDB4MGYsMHg3MCwweDAzLDB4N2MsMHgwMCwweGY3IH0sCi0gIDE2LCAweGIyYTAsIDAsIHsweDA0LDB4M2IsMHgwMCwweDBmLDB4YzAsMHgxMywweGZkLDB4MTAsMHhmZiwweDAwLDB4M2QsMHhjMCwweDBmLDB4ZjAsMHgwMywweGU4IH0sCi0gIDE2LCAweGIyYjAsIDAsIHsweDEyLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZjQsMHhjMCwweGNmLDB4ODAsMHgzMywweDYwIH0sCi0gIDE2LCAweGIyYzAsIDAsIHsweDBlLDB4YzksMHgxMywweDM2LDB4NTAsMHhjZSwweDg2LDB4M2YsMHgwOCwweDBjLDB4YzAsMHgwMywweDNlLDB4MDIsMHhkNywweDgwIH0sCi0gIDE2LCAweGIyZDAsIDAsIHsweDM5LDB4ZTAsMHgwZiwweGY4LDB4MTMsMHgzZSwweDQwLDB4YzcsMHgzMCwweDNiLDB4Y2UsMHgwZCwweGY2LDB4MDMsMHgzZCwweDg4IH0sCi0gIDE2LCAweGIyZTAsIDAsIHsweGNmLDB4MzEsMHgzMywweGU0LDB4MGYsMHg3OCwweDAzLDB4MzAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGIyZjAsIDAsIHsweDgwLDB4MTAsMHhlNSwweGQwLDB4ZGIsMHg4MCwweDcyLDB4NjAsMHg4OCwweDkyLDB4MDIsMHhlNCwweDEwLDB4OGEsMHg4MCwweDJlIH0sCi0gIDE2LCAweGIzMDAsIDAsIHsweDM0LDB4NGEsMHg4YywweDAzLDB4MmUsMHgwMCwweGFiLDB4ODAsMHgwMiwweGUwLDB4MGIsMHhiOCwweDAyLDB4MmMsMHg4MCwweDhmIH0sCi0gIDE2LCAweGIzMTAsIDAsIHsweDYwLDB4MTMsMHhkOCwweDRhLDB4NzYsMHgwMiwweDlkLDB4ODQsMHhhZiwweDMwLDB4MjIsMHg0OCwweDBiLDB4ODgsMHgxMiwweGEwIH0sCi0gIDE2LCAweGIzMjAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4YzQsMHgwMCwweDhiLDB4MDAsMHgyNCwweDAwIH0sCi0gIDE2LCAweGIzMzAsIDAsIHsweDRhLDB4MDAsMHgwMiwweGFjLDB4ODAsMHg4MywweDAwLDB4MmMsMHgwMSwweDI4LDB4MDQsMHgwMiwweGFjLDB4MDAsMHg4YiwweDAxIH0sCi0gIDE2LCAweGIzNDAsIDAsIHsweDIwLDB4YzAsMHgwMywweGIwLDB4MDIsMHgwYywweDgwLDB4ODMsMHg0MCwweDIwLDB4YzEsMHhhOCwweDM0LDB4MjIsMHg4ZCwweDEzIH0sCi0gIDE2LCAweGIzNTAsIDAsIHsweDgzLDB4MjAsMHhhYywweGM4LDB4MGIsMHhiMCwweDAyLDB4NjIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGIzNjAsIDAsIHsweGMwLDB4MTUsMHg4NiwweDAwLDB4OWIsMHgwNCwweGFlLDB4MDAsMHgwYSwweDkwLDB4MDIsMHhlYywweDAwLDB4MGIsMHgxNCwweDJlIH0sCi0gIDE2LCAweGIzNzAsIDAsIHsweGM2LDB4MDIsMHhiMSwweDEyLDB4NmMsMHgwMCwweGFiLDB4MjAsMHgyYSwweGMxLDB4MGIsMHhiMCwweDQyLDB4MmMsMHgwMCwweDhiIH0sCi0gIDE2LCAweGIzODAsIDAsIHsweDAyLDB4MjYsMHhjMSwweDBhLDB4YjAsMHgwMiwweGFjLDB4MDAsMHhhYiwweDA0LDB4MmEsMHg0MCwweDBiLDB4OTAsMHgwMiwweGYwIH0sCi0gIDE2LCAweGIzOTAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDExLDB4ZTcsMHgwMCwweGMzLDB4MDEsMHgzNiwweDQwIH0sCi0gIDE2LCAweGIzYTAsIDAsIHsweDBlLDB4ODgsMHgxMywweDI0LDB4MDIsMHhjYSwweDAwLDB4MWUsMHgyMCwweDJjLDB4OGUsMHgwYiwweDJjLDB4MDAsMHhjYiwweDAwIH0sCi0gIDE2LCAweGIzYjAsIDAsIHsweDJhLDB4YzAsMHgwZiwweGI4LDB4MDMsMHgyZSwweDA2LDB4Y2IsMHgwMCwweDNhLDB4YzAsMHg0YywweGIwLDB4MTMsMHhhYywweDBjIH0sCi0gIDE2LCAweGIzYzAsIDAsIHsweGNiLDB4MDAsMHgzZSwweGM4LDB4MGYsMHhiMCwweDQzLDB4NTAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGIzZDAsIDAsIHsweGUwLDB4MDEsMHhiNCwweDA4LDB4ZmYsMHg5MSwweDMzLDB4NDAsMHgwOSwweGRjLDB4MDEsMHhmNCwweDIwLDB4N2UsMHgwMiwweDJlIH0sCi0gIDE2LCAweGIzZTAsIDAsIHsweDQwLDB4MGQsMHg5OCwweDAxLDB4YmMsMHg4MCwweGVmLDB4ODAsMHhiNywweGU0LDB4OGYsMHhmNCwweDBiLDB4ZmUsMHg0MCwweDdmIH0sCi0gIDE2LCAweGIzZjAsIDAsIHsweDAwLDB4YjksMHhjMCwweDRlLDB4ZjAsMHgwMywweGZjLDB4MDgsMHhmNywweDAwLDB4MzcsMHhjMCwweDBmLDB4ZTAsMHgwMiwweGI4IH0sCi0gIDE2LCAweGI0MDAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YTEsMHg0NCwweGNiLDB4MDIsMHgzMiwweDAwIH0sCi0gIDE2LCAweGI0MTAsIDAsIHsweDBkLDB4ODAsMHgwYSwweDZkLDB4MDAsMHhlYiwweDA0LDB4MTAsMHg5MCwweDI4LDB4MjIsMHgwYiwweDJjLDB4YzIsMHhjYiwweDIwIH0sCi0gIDE2LCAweGI0MjAsIDAsIHsweDc2LDB4YzAsMHgwZSwweGIxLDB4MDMsMHhlYywweDAxLDB4Y2IsMHgwNiwweDMyLDB4YzEsMHgwYywweDMwLDB4MDMsMHgyYywweDAyIH0sCi0gIDE2LCAweGI0MzAsIDAsIHsweGNiLDB4MDAsMHgzZSwweGQwLDB4MGMsMHhiMCwweDAzLDB4MTAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGI0NDAsIDAsIHsweGM4LDB4MDUsMHgyMSwweDQ4LDB4YWIsMHgwMCwweDIwLDB4MDAsMHgwMCwweDk1LDB4MjMsMHg0YywweDA4LDB4YmIsMHgwMSwweDIyIH0sCi0gIDE2LCAweGI0NTAsIDAsIHsweGMwLDB4MDgsMHhiMiwweDAyLDB4MGMsMHgwOCwweDgzLDB4ODgsMHg5MiwweGQ1LDB4MjgsMHgzNCwweDAyLDB4ZWMsMHgwMiwweDhmIH0sCi0gIDE2LCAweGI0NjAsIDAsIHsweDIwLDB4MjMsMHhjMCwweDRkLDB4ZjAsMHgwMSwweDdjLDB4MDAsMHhkZiwweDAwLDB4MmUsMHhjMCwweDBkLDB4MzAsMHgwMywweDcyIH0sCi0gIDE2LCAweGI0NzAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NDQsMHgwMCwweDgzLDB4MTAsMHgyMCwweDYwIH0sCi0gIDE2LCAweGI0ODAsIDAsIHsweDA5LDB4MjUsMHgwMiwweDAwLDB4MDgsMHhhMCwweDAwLDB4NGMsMHgwMCwweDBiLDB4MGMsMHgyMiwweDRmLDB4MTIsMHg5MywweDQwIH0sCi0gIDE2LCAweGI0OTAsIDAsIHsweDAwLDB4YzAsMHgwOSwweDNlLDB4MDIsMHhlYywweDAwLDB4YWIsMHg4MCwweGE0LDB4YzAsMHgwOSwweDMwLDB4MjIsMHgyYywweDA4IH0sCi0gIDE2LCAweGI0YTAsIDAsIHsweGIzLDB4MDEsMHgwYywweDgxLDB4MDgsMHgzMCwweDAyLDB4MzgsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGI0YjAsIDAsIHsweDYwLDB4MDEsMHgxNiwweDA5LDB4YjcsMHg4MCwweDIxLDB4NjQsMHgwOCwweDc4LDB4MDYsMHgxMiwweDAwLDB4YjQsMHg4MiwweDJkIH0sCi0gIDE2LCAweGI0YzAsIDAsIHsweGE0LDB4MWIsMHg2OSwweDA2LDB4N2UsMHgwNCwweDE3LDB4OTIsMHgyNSwweGU2LDB4MDksMHg3OCwweDA2LDB4ZGUsMHg4MCwweGE3IH0sCi0gIDE2LCAweGI0ZDAsIDAsIHsweDkwLDB4MjUsMHhlMCwweDA5LDB4NzksMHg1MCwweDVlLDB4MDQsMHhiNywweDkyLDB4MmYsMHg2MSwweDA5LDB4YzgsMHgwMiwweDQ4IH0sCi0gIDE2LCAweGI0ZTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MjUsMHgwMCwweGMzLDB4MDAsMHhiMCwweDAzIH0sCi0gIDE2LCAweGI0ZjAsIDAsIHsweDBkLDB4YTMsMHg0MiwweDA5LDB4NDAsMHhlMSwweDAwLDB4YmMsMHg0MCwweDBmLDB4MTEsMHgwMywweDRjLDB4MDAsMHgxMywweDAwIH0sCi0gIDE2LCAweGI1MDAsIDAsIHsweDIwLDB4YzAsMHgwOSwweDMyLDB4MDMsMHhjYywweDEwLDB4YTMsMHgwMCwweDI2LDB4YzQsMHg4ZCwweDMwLDB4MmIsMHgwYywweDgwIH0sCi0gIDE2LCAweGI1MTAsIDAsIHsweGYzLDB4MDAsMHg3YywweDgwLDB4MGMsMHgzMCwweDAxLDB4MTIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGI1MjAsIDAsIHsweDQwLDB4MWQsMHhiYywweDAwLDB4ZTcsMHgxMCwweDNkLDB4MDEsMHgyZiwweGYxLDB4NDIsMHhlOCwweDAwLDB4ZjUsMHg5MCwweDAzIH0sCi0gIDE2LCAweGI1MzAsIDAsIHsweGMxLDB4MGMsMHhmMSwweDQzLDB4OWMsMHgwNCwweGVmLDB4MDgsMHgzYiwweGMyLDB4MGMsMHhmMCwweDgxLDB4ZGMsMHhhMCwweGRmIH0sCi0gIDE2LCAweGI1NDAsIDAsIHsweDAwLDB4M2IsMHhjMywweDNmLDB4ZjAsMHg4MywweGZjLDB4MDUsMHhkZiwweDBjLDB4M2QsMHg0MCwweDBmLDB4ZDEsMHgwMywweGQwIH0sCi0gIDE2LCAweGI1NTAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZjQsMHgwMCwweGNiLDB4ODAsMHgzMCwweDQwIH0sCi0gIDE2LCAweGI1NjAsIDAsIHsweDJjLDB4YTAsMHgwMywweGUwLDB4MDAsMHhmOCwweDgwLDB4MzIsMHhjMCwweDJlLDB4YjgsMHgwYiwweDJjLDB4NDYsMHhkMywweDAwIH0sCi0gIDE2LCAweGI1NzAsIDAsIHsweDMwLDB4YzAsMHgwYywweDMwLDB4MDMsMHgwYywweDAwLDB4ZGIsMHg0OCwweDMyLDB4YzAsMHgxZiwweGI0LDB4MDMsMHgyYywweDg4IH0sCi0gIDE2LCAweGI1ODAsIDAsIHsweGNiLDB4NDgsMHgzMiwweDgwLDB4MGMsMHgzMCwweDEzLDB4MmEsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGI1OTAsIDAsIHsweDQ4LDB4MTEsMHhiNCwweDAwLDB4ODcsMHgwMSwweDIxLDB4NDAsMHgwOCwweDcwLDB4NDIsMHhkMCwweDA4LDB4YjQsMHgwMCwweDI5IH0sCi0gIDE2LCAweGI1YTAsIDAsIHsweGMwLDB4MDgsMHg3MCwweDAyLDB4MWMsMHgwMCwweDg3LDB4MDAsMHgyMSwweGM4LDB4MGMsMHg3MiwweDBhLDB4MWMsMHg4NCwweDhmIH0sCi0gIDE2LCAweGI1YjAsIDAsIHsweDQwLDB4MDksMHhjNCwweDhmLDB4NzMsMHgxMiwweDljLDB4NDAsMHg4MywweDIwLDB4MjEsMHhjMCwweDA4LDB4NjAsMHgwMiwweDkyIH0sCi0gIDE2LCAweGI1YzAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4OTYsMHgwMSwweGFmLDB4ODAsMHgyMSwweDIwIH0sCi0gIDE2LCAweGI1ZDAsIDAsIHsweDA4LDB4NjgsMHgwMiwweGRhLDB4MDAsMHhiZCwweDgwLDB4MjEsMHhlMCwweDA5LDB4NzgsMHgwMiwweDFlLDB4MDAsMHg4ZiwweDg4IH0sCi0gIDE2LCAweGI1ZTAsIDAsIHsweDgzLDB4ZTIsMHgyOSwweGY4LDB4ODIsMHg1ZiwweDgwLDB4ODcsMHhhMCwweDI1LDB4ZTAsMHgwYiwweDNhLDB4MTIsMHgwZSwweDUwIH0sCi0gIDE2LCAweGI1ZjAsIDAsIHsweDk3LDB4YTQsMHgyMSwweGEwLDB4MjksMHg3OCwweDAyLDB4MzAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGI2MDAsIDAsIHsweDA4LDB4MTQsMHhjYywweDAyLDB4YTEsMHg4MSwweDAwLDB4MDAsMHg0OCwweDcwLDB4MDIsMHhjOCwweDAwLDB4YjEsMHgwMCwweDJjIH0sCi0gIDE2LCAweGI2MTAsIDAsIHsweGY4LDB4MDksMHgzMSwweDQyLDB4MGMsMHgxMCwweDgzLDB4MDAsMHgyMCwweGUwLDB4MDgsMHgzOCwweDEyLDB4NGUsMHgwMCwweDgzIH0sCi0gIDE2LCAweGI2MjAsIDAsIHsweDAwLDB4NmEsMHhjMCwweDBiLDB4MzAsMHgwMiwweDhjLDB4MDQsMHg5MywweDAwLDB4MjAsMHhlMCwweDA5LDB4MzgsMHgwMiwweDkyIH0sCi0gIDE2LCAweGI2MzAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YjksMHg0MCwweGVlLDB4MjAsMHgzMCwweDgwIH0sCi0gIDE2LCAweGI2NDAsIDAsIHsweDBjLDB4YTAsMHgwMywweGU4LDB4MDAsMHhmYSwweDAwLDB4MzMsMHhiMCwweDBkLDB4ZTQsMHgwMywweDMyLDB4ODgsMHhjYywweDgwIH0sCi0gIDE2LCAweGI2NTAsIDAsIHsweDIzLDB4MDAsMHgwZCwweGMwLDB4MDMsMHg2MiwweDAyLDB4Y2EsMHgwMCwweDM2LDB4ODAsMHgwZiwweGEwLDB4NDMsMHgyOCwweDA2IH0sCi0gIDE2LCAweGI2NjAsIDAsIHsweGRhLDB4MDAsMHgzMywweGEwLDB4MGQsMHg2YSwweDAzLDB4M2EsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGI2NzAsIDAsIHsweDQ4LDB4MDAsMHhlMCwweDAwLDB4OTgsMHgwMSwweGJlLDB4MDAsMHgwZiwweDgwLDB4MDMsMHhmMCwweDAwLDB4YmMsMHgwMCwweDM4IH0sCi0gIDE2LCAweGI2ODAsIDAsIHsweDA0LDB4MDgsMHg4MCwweGEzLDB4ZTAsMHgwMCwweGY4LDB4MDAsMHgzZSwweDAwLDB4MGYsMHg4MCwweDEzLDB4YTAsMHgwMCwweGUwIH0sCi0gIDE2LCAweGI2OTAsIDAsIHsweDAwLDB4M2UsMHgwMCwweDBlLDB4MDAsMHgwMywweGMwLDB4MDAsMHhlOCwweDAwLDB4YmUsMHgwNCwweDRlLDB4ODAsMHgwNywweGQyIH0sCi0gIDE2LCAweGI2YTAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTQsMHg4MCwweGM5LDB4MDAsMHgzZSwweDY4IH0sCi0gIDE2LCAweGI2YjAsIDAsIHsweDBjLDB4OTAsMHgwMywweDY0LDB4MDAsMHhjOSwweDAwLDB4M2UsMHg0MCwweDBjLDB4OTAsMHg0MywweGUwLDB4MDAsMHhjOCwweDAwIH0sCi0gIDE2LCAweGI2YzAsIDAsIHsweDMyLDB4MDAsMHgwYywweDgwLDB4MTMsMHgyMCwweDAwLDB4YzksMHgwMCwweDM2LDB4NDAsMHgwYywweDkwLDB4MDMsMHg2NCwweDAwIH0sCi0gIDE2LCAweGI2ZDAsIDAsIHsweDgxLDB4MDAsMHgzMiwweDQwLDB4MDQsMHg5MCwweDEzLDB4MDIsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGI2ZTAsIDAsIHsweDgwLDB4MDQsMHg2NSwweDA2LDB4ODksMHg0MCwweDJlLDB4NjAsMHgxYSwweDE0LDB4MmEsMHgwNSwweDIwLDB4ODksMHgwMCwweDJlIH0sCi0gIDE2LCAweGI2ZjAsIDAsIHsweDQwLDB4MDgsMHg5MCwweDAyLDB4YzQsMHgwOCwweGMxLDB4MDIsMHgyMCwweDQwLDB4MDgsMHgxMCwweDFhLDB4MjQsMHgwMCwweDg5IH0sCi0gIDE2LCAweGI3MDAsIDAsIHsweDEwLDB4MzIsMHg0MSwweDA4LDB4OTAsMHgxMiwweDI0LDB4MDAsMHg4OSwweDA0LDB4MzYsMHg0MCwweDg4LDB4OTQsMHgwYSwweDIwIH0sCi0gIDE2LCAweGI3MTAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4MDQsMHgyMCwweDg5LDB4NTUsMHgyZSwweDQwIH0sCi0gIDE2LCAweGI3MjAsIDAsIHsweDA4LDB4ZDUsMHgwMiwweDM0LDB4MDAsMHg4ZCwweDAwLDB4MmUsMHg0MCwweDE4LDB4OTAsMHgwMiwweGU0LDB4MDAsMHg5OSwweDAwIH0sCi0gIDE2LCAweGI3MzAsIDAsIHsweDI2LDB4NDAsMHgwOCwweDkwLDB4MDIsMHgwNCwweDBhLDB4ODksMHgwMCwweDI2LDB4NDAsMHgzOCwweDkwLDB4MGEsMHgyNCwweDAwIH0sCi0gIDE2LCAweGI3NDAsIDAsIHsweGE5LDB4MDAsMHgyMCwweDQwLDB4MGEsMHg5MCwweDgyLDB4MDYsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGI3NTAsIDAsIHsweDA4LDB4MDQsMHgwNSwweDAwLDB4ODEsMHgwMCwweDJmLDB4NDAsMHgwYSwweGQ0LDB4MDIsMHgzNCwweDAwLDB4ODUsMHgwMSwweDJjIH0sCi0gIDE2LCAweGI3NjAsIDAsIHsweDQwLDB4MDgsMHgxMCwweDQyLDB4ZTQsMHgwNiwweDk5LDB4MDAsMHgyMiwweDQwLDB4MDgsMHgxMCwweDAyLDB4MDUsMHgwMCwweDgxIH0sCi0gIDE2LCAweGI3NzAsIDAsIHsweDQwLDB4MjgsMHg1MCwweDA4LDB4MTQsMHgxMiwweDA1LDB4MDAsMHhhMSwweDQwLDB4MjQsMHg1MCwweDVhLDB4MTAsMHgwMiwweDAyIH0sCi0gIDE2LCAweGI3ODAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjAsMHgwMCwweGM4LDB4MDQsMHgzZSwweDAwIH0sCi0gIDE2LCAweGI3OTAsIDAsIHsweDA4LDB4ODAsMHgwMywweDIxLDB4NDIsMHhjYywweDAwLDB4M2UsMHgwMCwweDJjLDB4ODAsMHgwMiwweGUwLDB4MDAsMHhkOCwweDAwIH0sCi0gIDE2LCAweGI3YTAsIDAsIHsweGI2LDB4MDAsMHgyYywweDgwLDB4MDIsMHgyMCwweDAyLDB4YzgsMHgwMCwweDM2LDB4MDAsMHgwYywweDgwLDB4MDMsMHg2MCwweDAyIH0sCi0gIDE2LCAweGI3YjAsIDAsIHsweGU4LDB4MDAsMHgzMiwweDAwLDB4OGUsMHg4MCwweDAzLDB4MmUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGI3YzAsIDAsIHsweDk4LDB4MWQsMHhmNSwweDAwLDB4ZjUsMHgwMCwweDNlLDB4NDAsMHg4NywweDkwLDB4MDMsMHhlNCwweDAwLDB4ZjEsMHgwMCwweDNkIH0sCi0gIDE2LCAweGI3ZDAsIDAsIHsweDUwLDB4MGYsMHg1NCwweDAzLDB4ZDEsMHgwMCwweGVjLDB4NDAsMHgzZiwweDEwLDB4MGIsMHhjNCwweDQzLDB4ZjEsMHgwMCwweGY5IH0sCi0gIDE2LCAweGI3ZTAsIDAsIHsweDQwLDB4MzYsMHg1MCwweDBmLDB4OTQsMHgxMywweGU1LDB4MTAsMHhkOSwweDQ0LDB4M2QsMHg0MCwweDJkLDB4ZDAsMHgwMywweGU2IH0sCi0gIDE2LCAweGI3ZjAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4ZjYsMHg2MCwweGNkLDB4MDIsMHgzYiwweDQwIH0sCi0gIDE2LCAweGI4MDAsIDAsIHsweDBjLDB4ZDAsMHgwMywweGI0LDB4NDAsMHhmZCwweDA2LDB4M2UsMHg0MCwweDBjLDB4OTAsMHgwMywweDY2LDB4MDQsMHhjOSwweDgyIH0sCi0gIDE2LCAweGI4MTAsIDAsIHsweGI2LDB4NjIsMHgwZiwweDE4LDB4MGIsMHgzNiwweDAwLDB4Y2QsMHg0MCwweDMyLDB4NjEsMHgwYywweDkwLDB4MjMsMHgyNCwweDBhIH0sCi0gIDE2LCAweGI4MjAsIDAsIHsweGM5LDB4MDAsMHgzMiwweDQwLDB4NGMsMHhkMCwweDQzLDB4MDYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGI4MzAsIDAsIHsweDM5LDB4MTAsMHhlMywweDgwLDB4ZDgsMHgwMCwweDIyLDB4MDAsMHgwZCwweDgwLDB4MDIsMHgyMiwweDk0LDB4YjgsMHgwMCwweDJlIH0sCi0gIDE2LCAweGI4NDAsIDAsIHsweDAwLDB4MGQsMHg4MCwweDAzLDB4MjEsMHgwMCwweDg4LDB4NDAsMHgyMiwweDAwLDB4MGIsMHhjNCwweDIyLDB4MjEsMHg1MCwweDg4IH0sCi0gIDE2LCAweGI4NTAsIDAsIHsweDgwLDB4MjIsMHgyMiwweDA4LDB4ODAsMHgwMiwweDIwLDB4MTAsMHg4MCwweDAxLDB4MmEsMHgwMCwweDBhLDB4ODAsMHgwMywweDRlIH0sCi0gIDE2LCAweGI4NjAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4YzYsMHgwMCwweDg5LDB4MDAsMHgyYSwweDQwIH0sCi0gIDE2LCAweGI4NzAsIDAsIHsweDg4LDB4MTAsMHgwYSwweDg0LDB4MDgsMHhiMSwweDAwLDB4MjksMHg0MCwweDBhLDB4NzAsMHgwYSwweGI1LDB4MDAsMHg4ZiwweDQwIH0sCi0gIDE2LCAweGI4ODAsIDAsIHsweDI5LDB4YzAsMHgwYiwweGY0LDB4MDIsMHgyNCwweDAwLDB4ODEsMHgyMCwweDI4LDB4NDQsMHg4OSwweDEwLDB4MDIsMHgwNCwweDA0IH0sCi0gIDE2LCAweGI4OTAsIDAsIHsweDgxLDB4MDIsMHgyYSwweDQwLDB4MDgsMHgxMCwweDAyLDB4MDIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGI4YTAsIDAsIHsweDE4LDB4MTUsMHhhNiwweDAwLDB4OTksMHgyMCwweDIyLDB4NDAsMHgwOSwweDkwLDB4MTIsMHgyNCwweDgwLDB4YjksMHgwMCwweDJmIH0sCi0gIDE2LCAweGI4YjAsIDAsIHsweDQ0LDB4MDMsMHhkMCwweDAyLDB4ZjQsMHgwMCwweDhkLDB4MDAsMHgyYiwweDQxLDB4MGIsMHhkMCwweDAyLDB4MjYsMHgxMCwweDg5IH0sCi0gIDE2LCAweGI4YzAsIDAsIHsweDA0LDB4MmEsMHg0MCwweDA5LDB4OTAsMHg2ZSwweDI0LDB4MDAsMHg4OSwweDAwLDB4MmEsMHg0MCwweDBhLDB4OTQsMHgwMiwweDQ2IH0sCi0gIDE2LCAweGI4ZDAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMiwweDE1LDB4ZTYsMHgwMCwweGM5LDB4MDAsMHgzOCwweDQyIH0sCi0gIDE2LCAweGI4ZTAsIDAsIHsweDBjLDB4MTAsMHgxMywweGE2LDB4MDQsMHg3OSwweDA4LDB4M2EsMHg3OCwweDA2LDB4OTIsMHgwMywweGE0LDB4MDgsMHhjOSwweDAwIH0sCi0gIDE2LCAweGI4ZjAsIDAsIHsweDNhLDB4NjAsMHg4ZiwweDk4LDB4MjMsMHgwNiwweDAyLDB4YzksMHgwMiwweDNhLDB4NDAsMHgwZCwweDkwLDB4MDMsMHgwNCwweDAwIH0sCi0gIDE2LCAweGI5MDAsIDAsIHsweGM5LDB4MDAsMHgzOCwweDQwLDB4MGMsMHg5MCwweDAzLDB4MjgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGI5MTAsIDAsIHsweDI4LDB4MDEsMHg4NCwweDEwLDB4ZjksMHg4MCwweGJlLDB4NDAsMHg0ZiwweDkwLDB4MDIsMHhlNCwweDAwLDB4ZjksMHgwMCwweDNjIH0sCi0gIDE2LCAweGI5MjAsIDAsIHsweDYwLDB4OGQsMHg5MiwweDAzLDB4MjQsMHg0MiwweGU5LDB4MTAsMHgzMiwweDUwLDB4MGYsMHg5NCwweDAzLDB4ZTQsMHgwMCwweGY5IH0sCi0gIDE2LCAweGI5MzAsIDAsIHsweDAwLDB4YjYsMHg0MSwweDJlLDB4MTAsMHgwMywweGU0LDB4MDAsMHhmOSwweDAwLDB4MmUsMHg0MCwweDBmLDB4OTAsMHgwMywweGNhIH0sCi0gIDE2LCAweGI5NDAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTAsMHgwOCwweGM4LDB4MDAsMHgzZSwweDEwIH0sCi0gIDE2LCAweGI5NTAsIDAsIHsweDBmLDB4ODgsMHgwMywweDIwLDB4MDgsMHhmOCwweGMwLDB4MWUsMHgxMCwweDJjLDB4NDAsMHgwMywweGYyLDB4MDAsMHhjYywweDAwIH0sCi0gIDE2LCAweGI5NjAsIDAsIHsweDNmLDB4MDAsMHgwYywweGMwLDB4MTMsMHgyMCwweDAyLDB4YzAsMHgwMCwweDMwLDB4MDAsMHgwYywweDgwLDB4MmIsMHgyMCwweDEwIH0sCi0gIDE2LCAweGI5NzAsIDAsIHsweGMwLDB4MDQsMHgzMiwweDAwLDB4MGYsMHg4MCwweDAzLDB4MGEsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGI5ODAsIDAsIHsweGE4LDB4MDUsMHgzYSwweDgwLDB4ODYsMHhlMCwweDJmLDB4YTAsMHgxYiwweGUwLDB4MDIsMHgzYSwweDgwLDB4YmEsMHgwNCwweDJlIH0sCi0gIDE2LCAweGI5OTAsIDAsIHsweDgwLDB4MDgsMHhhMCwweDAzLDB4ODgsMHgwOCwweGMyLDB4MDAsMHgyZSwweDgxLDB4MDgsMHg2MCwweDAyLDB4MjgsMHgxMCwweDhlIH0sCi0gIDE2LCAweGI5YTAsIDAsIHsweDgxLDB4MDMsMHg4MCwweDA4LDB4ZTAsMHgwMSwweDc4LDB4MDAsMHg4ZSwweDA0LDB4MDMsMHg4MCwweDA5LDB4NjgsMHgwMywweGNhIH0sCi0gIDE2LCAweGI5YjAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NGMsMHgwMCwweDgzLDB4NjAsMHgyYywweDQ0IH0sCi0gIDE2LCAweGI5YzAsIDAsIHsweDBiLDB4MzgsMHgwMiwweDBmLDB4ODAsMHhiMSwweDAwLDB4MmMsMHhlNSwweDAzLDB4MzAsMHgxMCwweGNjLDB4MTAsMHg4MywweDAwIH0sCi0gIDE2LCAweGI5ZDAsIDAsIHsweDBjLDB4YzAsMHgyOSwweDMwLDB4MjIsMHgwNCwweDA5LDB4OTEsMHgxMCwweDI0LDB4YzAsMHhjOCwweDMwLDB4MDAsMHg0YywweDA0IH0sCi0gIDE2LCAweGI5ZTAsIDAsIHsweDkzLDB4MDIsMHgyNCwweGMwLDB4MGIsMHgzMSwweDAyLDB4MGEsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGI5ZjAsIDAsIHsweGUwLDB4MDEsMHgxOCwweDgwLDB4ODcsMHgwMCwweDJkLDB4NDAsMHgwYiwweDc0LDB4NDIsMHgxYywweDAxLDB4YjUsMHgwMSwweDJjIH0sCi0gIDE2LCAweGJhMDAsIDAsIHsweGMwLDB4MGIsMHg2MCwweDAyLDB4YjAsMHgwMCwweDk0LDB4MDQsMHgyZiwweDIwLDB4MDksMHhjMCwweDAyLDB4MTQsMHg5MCwweDk3IH0sCi0gIDE2LCAweGJhMTAsIDAsIHsweDAwLDB4MjUsMHhjOCwweDA4LDB4NzAsMHgwMiwweDRjLDB4ODAsMHg5NywweDIwLDB4MjUsMHhjMCwweDA5LDB4NzAsMHgwMiwweGU4IH0sCi0gIDE2LCAweGJhMjAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4M2EsMHg4MiwweGM2LDB4ODAsMHgyZCwweDYwIH0sCi0gIDE2LCAweGJhMzAsIDAsIHsweDBiLDB4ZjgsMHgwYiwweDFhLDB4MDAsMHhmNSwweDgwLDB4M2QsMHhlMCwweDhmLDB4NzgsMHgwMywweGRlLDB4MDIsMHhjNywweDgwIH0sCi0gIDE2LCAweGJhNDAsIDAsIHsweDJkLDB4ZTAsMHgwZCwweDc4LDB4MGIsMHgxNywweDAyLDB4ZGYsMHg4MCwweDI0LDB4ZjgsMHgyYywweGZkLDB4MDMsMHg1ZSwweDBjIH0sCi0gIDE2LCAweGJhNTAsIDAsIHsweGQ3LDB4ZTAsMHgzNSwweGUwLDB4MGYsMHg2OCwweDAzLDB4MmEsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGJhNjAsIDAsIHsweDQ4LDB4MWQsMHhhZSwweDQwLDB4ZmEsMHgwNCwweDNlLDB4NDAsMHgwZiwweDgwLDB4MTMsMHhlYywweDA0LDB4ZjksMHgwMCwweDNlIH0sCi0gIDE2LCAweGJhNzAsIDAsIHsweGMxLDB4MGMsMHhhMCwweDEzLDB4YzAsMHgxMCwweGU4LDB4MDAsMHgzYywweDAwLDB4NGUsMHg4MCwweDQzLDB4YzQsMHgyMCwweDg5IH0sCi0gIDE2LCAweGJhODAsIDAsIHsweDAwLDB4YmEsMHhjMCwweDA3LDB4YjYsMHgyMSwweGVkLDB4MDYsMHhlYiwweDY4LDB4YmEsMHhjYywweDBmLDB4MjAsMHgxMywweGMyIH0sCi0gIDE2LCAweGJhOTAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDA1LDB4YmUsMHgwMCwweGM2LDB4ODAsMHgzMSwweDYwIH0sCi0gIDE2LCAweGJhYTAsIDAsIHsweDJkLDB4NzgsMHgwYiwweDNlLDB4NDgsMHhlYywweDkyLDB4M2QsMHg2MCwweDBjLDB4NTgsMHgwMywweDVhLDB4NDAsMHhkNSwweDgwIH0sCi0gIDE2LCAweGJhYjAsIDAsIHsweDMxLDB4NjEsMHgwYywweDU4LDB4MjMsMHgzNiwweDAwLDB4Y2YsMHg4MiwweDNmLDB4ZTAsMHgwYywweGY4LDB4MDMsMHhmZiwweDYwIH0sCi0gIDE2LCAweGJhYzAsIDAsIHsweGNmLDB4OTAsMHgzMywweGYwLDB4MGMsMHg1MiwweDAzLDB4MDAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGJhZDAsIDAsIHsweGE4LDB4MTEsMHhiOCwweDg0LDB4ODYsMHgxNCwweGI1LDB4YzAsMHgwOCwweDcwLDB4MDIsMHgxZSwweGMwLDB4YzQsMHgwMCwweDJkIH0sCi0gIDE2LCAweGJhZTAsIDAsIHsweDQwLDB4MDgsMHg0MCwweDAyLDB4MTQsMHhkMCwweDg2LDB4MTAsMHgyMSwweDgwLDB4NGMsMHg2MiwweDQyLDB4MzQsMHg0MCwweGE1IH0sCi0gIDE2LCAweGJhZjAsIDAsIHsweDAwLDB4MzUsMHhjMCwweDI4LDB4NzAsMHg0MiwweGRjLDB4YzIsMHg4ZiwweDMwLDB4MjMsMHhjMCwweDA4LDB4NTAsMHgwMiwweDJhIH0sCi0gIDE2LCAweGJiMDAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMiwweDAwLDB4OTgsMHgyOCwweDhlLDB4MDAsMHhhNSwweDQwIH0sCi0gIDE2LCAweGJiMTAsIDAsIHsweDA4LDB4ZjEsMHgwMiwweDE4LDB4NjQsMHhiNCwweDAwLDB4NmQsMHg0MiwweDA4LDB4NTAsMHgwMiwweDE4LDB4MDEsMHg4NSwweDA4IH0sCi0gIDE2LCAweGJiMjAsIDAsIHsweDIxLDB4NDAsMHgwOSwweDU4LDB4MjIsMHg1NCwweDAwLDB4ODUsMHgxMCwweDJkLDB4YzQsMHgwOSwweDcwLDB4MDIsMHhkYywweDA0IH0sCi0gIDE2LCAweGJiMzAsIDAsIHsweDk3LDB4MDAsMHgyNSwweGMwLDB4MDgsMHg0NCwweDAyLDB4MDAsMHgxMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGJiNDAsIDAsIHsweDYwLDB4MTQsMHg4YywweDAwLDB4ODIsMHg4MCwweDI0LDB4YzAsMHgwOCwweDgwLDB4MDIsMHgyZCwweDAwLDB4ODAsMHg0YSwweDJjIH0sCi0gIDE2LCAweGJiNTAsIDAsIHsweDQyLDB4MDgsMHgwYSwweDQyLDB4MDYsMHgwMCwweDkyLDB4ODQsMHgyMCwweGEwLDB4ODgsMHgyOCwweDQyLDB4NDQsMHgwMCwweGEzIH0sCi0gIDE2LCAweGJiNjAsIDAsIHsweDA2LDB4MjQsMHhjMCwweDBiLDB4MzAsMHgwMiwweGNjLDB4MTAsMHg5MywweDA0LDB4MjQsMHhjMSwweDA5LDB4MDAsMHgwMiwweDA4IH0sCi0gIDE2LCAweGJiNzAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YmMsMHgwMCwweGNiLDB4MDAsMHgzNiwweDQwIH0sCi0gIDE2LCAweGJiODAsIDAsIHsweDBjLDB4YjQsMHgxMywweDJjLDB4MDAsMHhmOSwweDAwLDB4M2UsMHhhMCwweDBjLDB4YTIsMHgwMywweDA0LDB4MDgsMHhjMiwweDgwIH0sCi0gIDE2LCAweGJiOTAsIDAsIHsweDMwLDB4YTgsMHgwZCwweDJhLDB4MDMsMHg1NCwweDAwLDB4Y2IsMHgwMCwweDNmLDB4YzAsMHgwZCwweGYwLDB4MDMsMHhmYywweDA4IH0sCi0gIDE2LCAweGJiYTAsIDAsIHsweGRmLDB4MDAsMHgzNywweGQwLDB4MGMsMHhiMCwweDAzLDB4MmEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGJiYjAsIDAsIHsweDgwLDB4MDAsMHhlMCwweDAwLDB4ZmIsMHgxMCwweDNhLDB4NDAsMHgwZSwweGIwLDB4MDMsMHhlZCwweDkwLDB4ZjksMHgxMSwweDdlIH0sCi0gIDE2LCAweGJiYzAsIDAsIHsweDgwLDB4NGYsMHhiMCwweDUzLDB4ZTgsMHg0MCwweGU5LDB4MDAsMHgzZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4YTYsMHgwOCwweGY5IH0sCi0gIDE2LCAweGJiZDAsIDAsIHsweDAxLDB4M2EsMHhjMCwweDBjLDB4YjAsMHgxMywweGNjLDB4MDAsMHhlYiwweDAyLDB4M2EsMHhjNiwweDhlLDB4YjgsMHgwMywweGUwIH0sCi0gIDE2LCAweGJiZTAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZjAsMHgwYywweGNlLDB4MDAsMHgzZiwweGUwIH0sCi0gIDE2LCAweGJiZjAsIDAsIHsweDJjLDB4ZjAsMHg4MywweDNhLDB4NDgsMHhjZCwweDAxLDB4MzUsMHg4MCwweDBjLDB4NjAsMHgxMiwweDM0LDB4MGEsMHhjZSwweDAwIH0sCi0gIDE2LCAweGJjMDAsIDAsIHsweGIzLDB4ODAsMHgyYywweGUwLDB4MGIsMHg3NCwweDAwLDB4YzksMHgxMCwweGIzLDB4YzEsMHgwZiwweGYwLDB4MWIsMHgzYywweDAwIH0sCi0gIDE2LCAweGJjMTAsIDAsIHsweGNmLDB4MDAsMHhiNywweGMwLDB4MmMsMHhlMCwweDAzLDB4MDAsMHg0NCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGJjMjAsIDAsIHsweDgxLDB4MDQsMHg2ZSwweDEwLDB4ODgsMHg4MCwweDJjLDB4YzAsMHgxOCwweDk4LDB4MDIsMHgyZCwweDgwLDB4ODEsMHgwMCwweDM2IH0sCi0gIDE2LCAweGJjMzAsIDAsIHsweDkxLDB4MDgsMHhiMCwweDAzLDB4NjgsMHgwMCwweGM5LDB4MDAsMHgyMiwweDQwLDB4MDgsMHg5MCwweDAyLDB4MjQsMHgwMCwweDgzIH0sCi0gIDE2LCAweGJjNDAsIDAsIHsweDgwLDB4MzYsMHhjMCwweDBiLDB4MzAsMHgwMiwweDJjLDB4MDIsMHg4MywweDAwLDB4MjAsMHhjMCwweDA4LDB4MjAsMHgwMywweDYwIH0sCi0gIDE2LCAweGJjNTAsIDAsIHsweDQwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MDYsMHgwMCwweDhhLDB4ODAsMHgyZSwweDQ1IH0sCi0gIDE2LCAweGJjNjAsIDAsIHsweDI4LDB4ODgsMHgwMiwweDI0LDB4MDIsMHg4OCwweDAyLDB4MDIsMHgwMiwweDA4LDB4ODAsMHgwMiwweGEyLDB4MDAsMHg5OCwweDAwIH0sCi0gIDE2LCAweGJjNzAsIDAsIHsweDIyLDB4MDAsMHgwOCwweDgwLDB4MTIsMHgyNCwweDAwLDB4ODksMHgwMSwweDIyLDB4YzEsMHgwYSwweGIwLDB4MDIsMHg2YywweDAwIH0sCi0gIDE2LCAweGJjODAsIDAsIHsweGFiLDB4MDAsMHgyMiwweGMxLDB4MDgsMHg5MCwweDEyLDB4NjAsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGJjOTAsIDAsIHsweDA4LDB4MDQsMHgwMCwweDAwLDB4ODAsMHgwMCwweDJjLDB4YzAsMHg0OCwweDA4LDB4MTIsMHgwMCwweDgwLDB4ODAsMHgwMiwweDI0IH0sCi0gIDE2LCAweGJjYTAsIDAsIHsweDAwLDB4MDgsMHgxOCwweDQyLDB4YWMsMHgwMiwweDhiLDB4ODAsMHgyMiwweGUwLDB4MDgsMHhiOCwweDEyLDB4MDQsMHgwMiwweDgzIH0sCi0gIDE2LCAweGJjYjAsIDAsIHsweDAwLDB4MjAsMHhjMCwweDBiLDB4MzAsMHg0MiwweDBjLDB4MDAsMHhhMywweDAxLDB4NjAsMHhjMCwweDQ4LDB4MTAsMHgwMiwweDQyIH0sCi0gIDE2LCAweGJjYzAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4NjgsMHgwOCwweGNhLDB4MDAsMHgyZSwweDQwIH0sCi0gIDE2LCAweGJjZDAsIDAsIHsweDA4LDB4ODAsMHgwMywweDAwLDB4MDAsMHhjOCwweDA2LDB4MzIsMHgwMCwweDBjLDB4ODAsMHgwMiwweGEwLDB4MDAsMHhkOCwweDAwIH0sCi0gIDE2LCAweGJjZTAsIDAsIHsweDMyLDB4MDAsMHgwYywweDgwLDB4MDMsMHg3NCwweDAwLDB4Y2IsMHgwMCwweDIyLDB4YzAsMHgwZiwweGYwLDB4MDMsMHgzYywweDAwIH0sCi0gIDE2LCAweGJjZjAsIDAsIHsweGVmLDB4MDAsMHgzNywweGMwLDB4MGMsMHg4MCwweDAxLDB4NDAsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGJkMDAsIDAsIHsweGEwLDB4MTksMHhmYywweDAwLDB4ZmMsMHgwNCwweDNmLDB4YzAsMHgwZiwweGMwLDB4MDMsMHhlMSwweDAwLDB4ZmMsMHgwMCwweDNiIH0sCi0gIDE2LCAweGJkMTAsIDAsIHsweDAwLDB4MGYsMHhkMCwweDAzLDB4N2MsMHgwMCwweGVmLDB4MDAsMHgyZiwweGMwLDB4MGYsMHhmMCwweDExLDB4ZjQsMHgxMCwweGZkIH0sCi0gIDE2LCAweGJkMjAsIDAsIHsweDAyLDB4M2QsMHhjMCwweDRmLDB4ZjAsMHgwMywweGRjLDB4MDAsMHhkZiwweDA0LDB4M2YsMHhjMCwweDBmLDB4YzAsMHg0MywweGU5IH0sCi0gIDE2LCAweGJkMzAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGM1LDB4NDEsMHgwMiwweDcwLDB4MjAsMHhkYywweDEwIH0sCi0gIDE2LCAweGJkNDAsIDAsIHsweDY3LDB4MDQsMHgwZCwweGMxLDB4MDIsMHg3MCwweDIwLDB4OWMsMHgxMCwweDM3LDB4MDQsMHgwZCwweGMxLDB4MDYsMHg3MCwweDQwIH0sCi0gIDE2LCAweGJkNTAsIDAsIHsweDRjLDB4MTAsMHgzNywweDE0LDB4MTUsMHhjMSwweDAzLDB4NzAsMHg0MCwweGRjLDB4MTAsMHgxMywweDA0LDB4MGQsMHhjMSwweDA3IH0sCi0gIDE2LCAweGJkNjAsIDAsIHsweDcwLDB4NDAsMHhkYywweDEwLDB4MzcsMHgwNCwweDBkLDB4YzAsMHgzMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGJkNzAsIDAsIHsweDAwLDB4YzUsMHg0NCwweDA1LDB4NzEsMHgyMSwweDVjLDB4NDAsMHg1NywweDEwLDB4MTUsMHhjNCwweDA1LDB4NzEsMHgwNSwweDVjIH0sCi0gIDE2LCAweGJkODAsIDAsIHsweDQwLDB4NTcsMHgxMCwweDE1LDB4YzQsMHgwNiwweDcxLDB4MDEsMHg0YywweDQwLDB4NTcsMHgxMCwweDBkLDB4YzQsMHgwNSwweDcxIH0sCi0gIDE2LCAweGJkOTAsIDAsIHsweDA1LDB4NWMsMHg0MCwweDUzLDB4MTAsMHgxNSwweGM0LDB4MDcsMHg3MSwweDAxLDB4NWMsMHg0MCwweDU3LDB4MTAsMHgxNSwweGMwIH0sCi0gIDE2LCAweGJkYTAsIDAsIHsweDExLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDIsMHgwMSwweDIwLDB4ODAsMHg0OCwweDIwIH0sCi0gIDE2LCAweGJkYjAsIDAsIHsweDEyLDB4MDgsMHgwNCwweDgyLDB4MDEsMHgyMCwweDgwLDB4NDgsMHgyMCwweDEyLDB4MDgsMHgwNCwweDgyLDB4MDEsMHgyMCwweDgwIH0sCi0gIDE2LCAweGJkYzAsIDAsIHsweDQ4LDB4MjAsMHgxMiwweDA4LDB4MDQsMHg4MiwweDAxLDB4MjAsMHg4MCwweDQ4LDB4MjAsMHgxMiwweDA4LDB4MDQsMHg4MiwweDAxIH0sCi0gIDE2LCAweGJkZDAsIDAsIHsweDIwLDB4ODAsMHg0OCwweDIwLDB4MTIsMHgwOCwweDA0LDB4ODAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGJkZTAsIDAsIHsweDAwLDB4ODQsMHgwMCwweDAxLDB4NjAsMHgwMCwweDU4LDB4MDAsMHg1NiwweDAwLDB4MDUsMHg4MCwweDAxLDB4NjAsMHgwNCwweDU4IH0sCi0gIDE2LCAweGJkZjAsIDAsIHsweDAwLDB4MTYsMHgwMCwweDA1LDB4ODAsMHgwMSwweDIwLDB4MDEsMHg1OCwweDAwLDB4MTYsMHgwMCwweDA1LDB4ODAsMHgwMSwweDYwIH0sCi0gIDE2LCAweGJlMDAsIDAsIHsweDAwLDB4NTgsMHgwMCwweDU2LDB4MDAsMHgwNSwweDgwLDB4MDEsMHg2MCwweDAwLDB4NTgsMHgwMCwweDE2LDB4MDAsMHgwMSwweDgwIH0sCi0gIDE2LCAweGJlMTAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGM1LDB4NDgsMHgwNSwweDcyLDB4MTEsMHg1YywweDgwIH0sCi0gIDE2LCAweGJlMjAsIDAsIHsweDE3LDB4MjAsMHgxNSwweGQ4LDB4MDUsMHgzMiwweDExLDB4MWMsMHg4MCwweDQ3LDB4MjAsMHgxNCwweDg4LDB4MDAsMHg3MiwweDAxIH0sCi0gIDE2LCAweGJlMzAsIDAsIHsweDFjLDB4ODAsMHg1NywweDIwLDB4MDUsMHhjOCwweDA0LDB4NzIsMHgwMSwweDVjLDB4ODAsMHg1NywweDIwLDB4MTUsMHhjOCwweDAxIH0sCi0gIDE2LCAweGJlNDAsIDAsIHsweDcyLDB4MDEsMHg1YywweDgwLDB4NTcsMHgyNCwweDE1LDB4YzAsMHgxMSwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGJlNTAsIDAsIHsweDAwLDB4YzEsMHg0MCwweDAwLDB4NjAsMHgwMCwweDE4LDB4MDAsMHgwNiwweDAwLDB4MDEsMHg4MCwweDQwLDB4MjAsMHgwMCwweDE4IH0sCi0gIDE2LCAweGJlNjAsIDAsIHsweDAwLDB4MDYsMHgwMCwweDAxLDB4OTAsMHgwMCwweDYwLDB4MDAsMHgxOCwweDAwLDB4MDYsMHgwMCwweDQxLDB4ODAsMHgwMCwweDYwIH0sCi0gIDE2LCAweGJlNzAsIDAsIHsweDAwLDB4MTgsMHgwMCwweDA2LDB4MDAsMHgwMSwweDgwLDB4MDAsMHg2MCwweDAwLDB4MTgsMHgxMCwweDA2LDB4MDAsMHgwMSwweDgwIH0sCi0gIDE2LCAweGJlODAsIDAsIHsweDMxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGM1LDB4NDgsMHgwNCwweDIyLDB4MDEsMHgwOCwweDgwIH0sCi0gIDE2LCAweGJlOTAsIDAsIHsweDAyLDB4MjAsMHgxMCwweDg4LDB4MDQsMHg2MiwweDAxLDB4MDgsMHg4MCwweDQyLDB4MjAsMHgxMCwweDg4LDB4MDAsMHgyMCwweDAxIH0sCi0gIDE2LCAweGJlYTAsIDAsIHsweDA4LDB4ODAsMHg0MiwweDIwLDB4MDAsMHg4OCwweDA0LDB4MjIsMHgwMSwweDA4LDB4MDAsMHg0MiwweDIwLDB4MTAsMHg4OCwweDAwIH0sCi0gIDE2LCAweGJlYjAsIDAsIHsweDIyLDB4MDEsMHgwOCwweDgwLDB4NDIsMHgzMCwweDEwLDB4ODAsMHgzMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGJlYzAsIDAsIHsweDAwLDB4YzUsMHg0YSwweDA1LDB4NDIsMHg4MSwweDUwLDB4YTAsMHgwNCwweDI4LDB4MTUsMHgwYSwweDA1LDB4NTIsMHg4MSwweDEwIH0sCi0gIDE2LCAweGJlZDAsIDAsIHsweGEwLDB4NDQsMHgyOCwweDExLDB4MWEsMHgwMCwweDQwLDB4ODAsMHgxMCwweGEwLDB4NTQsMHgyOCwweDA1LDB4MGEsMHgwNSwweDQyIH0sCi0gIDE2LCAweGJlZTAsIDAsIHsweDgxLDB4NTEsMHgyMCwweDE0LDB4MjgsMHgxNSwweDBhLDB4MDEsMHg0MiwweDgxLDB4NTAsMHhhMCwweDU0LDB4MjgsMHgxNSwweDAwIH0sCi0gIDE2LCAweGJlZjAsIDAsIHsweDMxLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MGMsMHgwMSwweDUzLDB4NDAsMHg1NCwweGMwIH0sCi0gIDE2LCAweGJmMDAsIDAsIHsweDE1LDB4MzAsMHgwNSwweDVjLDB4MDEsMHg1NywweDQwLDB4NTQsMHhjMCwweDE1LDB4MzAsMHgwNSwweDVjLDB4MDEsMHg1MywweDAwIH0sCi0gIDE2LCAweGJmMTAsIDAsIHsweDU1LDB4YzAsMHgxNSwweDc0LDB4MDUsMHg0YywweDAxLDB4NTMsMHgwMCwweDU1LDB4YzAsMHgxNSwweDc0LDB4MDUsMHg0YywweDAxIH0sCi0gIDE2LCAweGJmMjAsIDAsIHsweDUzLDB4MDAsMHg1NCwweGMwLDB4MTEsMHgzMCwweDAxLDB4NDAsMHgyMSwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGJmMzAsIDAsIHsweDAwLDB4ODAsMHgwMCwweDAwLDB4NDAsMHgwMCwweDEwLDB4MDAsMHgwNCwweDAwLDB4MDEsMHgwMCwweDAwLDB4NDAsMHgwMCwweDEwIH0sCi0gIDE2LCAweGJmNDAsIDAsIHsweDAwLDB4MDQsMHgwMCwweDAxLDB4MDAsMHgwMCwweDQyLDB4MDAsMHgxMCwweDAwLDB4MDQsMHgwMCwweDExLDB4MDAsMHgwMCwweDQwIH0sCi0gIDE2LCAweGJmNTAsIDAsIHsweDAwLDB4MTAsMHhjMSwweDA0LDB4MDAsMHgwMSwweDAwLDB4MDAsMHg0MCwweDAwLDB4MTAsMHgwMCwweDAxLDB4MTAsMHgwMSwweDAxIH0sCi0gIDE2LCAweGJmNjAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGM1LDB4NjAsMHgwMiwweDA4LDB4MDAsMHg4MiwweDAwIH0sCi0gIDE2LCAweGJmNzAsIDAsIHsweDIwLDB4ODAsMHgwOCwweDIwLDB4MDIsMHgwOCwweDAwLDB4ODIsMHgwMCwweDIwLDB4ODAsMHgwOCwweDIwLDB4MDIsMHgwOCwweDAwIH0sCi0gIDE2LCAweGJmODAsIDAsIHsweDgyLDB4MDAsMHgyMCwweDg0LDB4MDAsMHgyMCwweDAyLDB4MDgsMHgwMCwweDgyLDB4MDAsMHgyMCwweDg0LDB4MDgsMHgyMCwweDAyIH0sCi0gIDE2LCAweGJmOTAsIDAsIHsweDA4LDB4MDAsMHg4MiwweDAwLDB4MjEsMHg4MCwweDA4LDB4MDEsMHgxMSwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGJmYTAsIDAsIHsweDAwLDB4YzUsMHg0MCwweDA1LDB4NjAsMHgwMSwweDU4LDB4MDAsMHg5NiwweDAwLDB4MTUsMHg5MCwweDA1LDB4NjQsMHgwMiwweDU4IH0sCi0gIDE2LCAweGJmYjAsIDAsIHsweDAwLDB4NTYsMHgwMCwweDU1LDB4OTAsMHgwNSwweDYwLDB4MDEsMHhkOSwweDAwLDB4MTYsMHg0MCwweDE1LDB4ODAsMHgwNSwweDYwIH0sCi0gIDE2LCAweGJmYzAsIDAsIHsweDAxLDB4NTksMHgwMCwweDc2LDB4NDAsMHgxNSwweDgwLDB4MDUsMHg2MCwweDAxLDB4NTgsMHgwMCwweDU2LDB4MDAsMHgxNSwweDgwIH0sCi0gIDE2LCAweGJmZDAsIDAsIHsweDMxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGM0LDB4NDAsMHgwMywweDYwLDB4MDAsMHhkOCwweDAwIH0sCi0gIDE2LCAweGJmZTAsIDAsIHsweDM2LDB4MDAsMHg0ZCwweDgwLDB4MDMsMHg2MCwweDAwLDB4ZDgsMHgwMCwweDM2LDB4MDAsMHgwZCwweDgwLDB4MDcsMHg2MiwweDAwIH0sCi0gIDE2LCAweGJmZjAsIDAsIHsweDU4LDB4MDAsMHgzNiwweDAwLDB4MGQsMHg4MCwweDA3LDB4NjAsMHgwMCwweGQ4LDB4ODAsMHgxNiwweDAwLDB4MGQsMHg4MCwweDAzIH0sCi0gIDE2LCAweGMwMDAsIDAsIHsweDYwLDB4MDAsMHhkOCwweDAwLDB4MzYsMHgwMCwweDFkLDB4ODAsMHgzMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGMwMTAsIDAsIHsweDAwLDB4YzUsMHg0MiwweDA0LDB4MzAsMHg4MSwweDBjLDB4MjAsMHg0MywweDA4LDB4MTAsMHhjMiwweDA0LDB4MzAsMHg4MSwweDBjIH0sCi0gIDE2LCAweGMwMjAsIDAsIHsweDIwLDB4NDMsMHgwOCwweDEwLDB4YzIsMHgwNCwweDMwLDB4YzEsMHgwYywweDIwLDB4NDMsMHgwOCwweDEwLDB4YzIsMHgwNiwweDMwIH0sCi0gIDE2LCAweGMwMzAsIDAsIHsweDgxLDB4MGMsMHgyMCwweDQzLDB4MDgsMHgxMCwweGMyLDB4MDQsMHgzMCwweDgxLDB4MGMsMHgyMCwweDQzLDB4MDgsMHgxOCwweGMwIH0sCi0gIDE2LCAweGMwNDAsIDAsIHsweDExLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHgwMCwweDMwLDB4MDAsMHgwYywweDAwIH0sCi0gIDE2LCAweGMwNTAsIDAsIHsweDAzLDB4MDAsMHgwMCwweGMwLDB4MDAsMHgzMCwweDAwLDB4MGMsMHgwMCwweDAzLDB4MDAsMHgwMCwweGMwLDB4NDAsMHgzMCwweDAwIH0sCi0gIDE2LCAweGMwNjAsIDAsIHsweDBjLDB4MDAsMHgwMywweDAwLDB4MDAsMHhjMCwweDAwLDB4MzAsMHgwMCwweDBjLDB4MDAsMHgwMywweDAwLDB4MDAsMHhjMCwweDAwIH0sCi0gIDE2LCAweGMwNzAsIDAsIHsweDMwLDB4MDAsMHgwYywweDAwLDB4MDMsMHgwMCwweDAwLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGMwODAsIDAsIHsweDAwLDB4ODAsMHgwMiwweDAxLDB4MzAsMHg4MCwweDRjLDB4MjAsMHgxMywweDA4LDB4MDQsMHhjMiwweDAxLDB4MzAsMHg4MCwweDRjIH0sCi0gIDE2LCAweGMwOTAsIDAsIHsweDIwLDB4MTMsMHgwOCwweDA0LDB4YzIsMHgyNSwweDMwLDB4ODEsMHg0YywweDIwLDB4MTMsMHgwOCwweDA0LDB4YzIsMHgwMSwweDMwIH0sCi0gIDE2LCAweGMwYTAsIDAsIHsweDgwLDB4NGMsMHgzMiwweDUzLDB4MDgsMHgwNCwweGMyLDB4MDEsMHgzMCwweDgwLDB4NGMsMHgyMCwweDEzLDB4MDgsMHgwNCwweGMwIH0sCi0gIDE2LCAweGMwYjAsIDAsIHsweDIwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGM1LDB4NDIsMHgwNSwweDYyLDB4ODEsMHg1OCwweDIwIH0sCi0gIDE2LCAweGMwYzAsIDAsIHsweDU2LDB4MDgsMHgxNSwweDgyLDB4MDQsMHg2MCwweDgxLDB4NTgsMHgyMCwweDQ2LDB4MDgsMHgxNSwweDgyLDB4MDEsMHg2MCwweGMxIH0sCi0gIDE2LCAweGMwZDAsIDAsIHsweDU4LDB4MjAsMHg0NiwweDA4LDB4MTUsMHg4MiwweDAxLDB4NjAsMHg4MSwweDU4LDB4MzAsMHg1NiwweDA4LDB4MTUsMHg4MiwweDA1IH0sCi0gIDE2LCAweGMwZTAsIDAsIHsweDYwLDB4ODEsMHg1OCwweDIwLDB4NTYsMHgwOCwweDA1LDB4ODAsMHgxMSwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGMwZjAsIDAsIHsweDAwLDB4YzUsMHg0MiwweDAwLDB4MjAsMHg4MCwweDA4LDB4MjAsMHgwMiwweDA4LDB4MDAsMHg4MiwweDAwLDB4MjAsMHg4MCwweDA4IH0sCi0gIDE2LCAweGMxMDAsIDAsIHsweDIwLDB4MDIsMHgwOCwweDAwLDB4ODIsMHgwMCwweDIwLDB4ODAsMHgwYywweDIwLDB4MDIsMHgwOCwweDAwLDB4ODIsMHgwMCwweDIwIH0sCi0gIDE2LCAweGMxMTAsIDAsIHsweDgwLDB4MDgsMHgyMCwweDAzLDB4MDgsMHgwMCwweDgyLDB4MDAsMHgyMCwweDgwLDB4MDgsMHgyMCwweDAyLDB4MDgsMHgwMCwweDgwIH0sCi0gIDE2LCAweGMxMjAsIDAsIHsweDIxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGM1LDB4NDIsMHgwNCwweDY2LDB4ODEsMHgxOCwweDIwIH0sCi0gIDE2LCAweGMxMzAsIDAsIHsweDQ2LDB4MDgsMHgxMSwweDgyLDB4MDQsMHg2NCwweDgxLDB4MTgsMHgyMCwweDQ2LDB4MDgsMHgxMSwweDgyLDB4MDAsMHg2MCwweDgxIH0sCi0gIDE2LCAweGMxNDAsIDAsIHsweDBjLDB4MjAsMHg0NiwweDA4LDB4MTEsMHg4MiwweDAwLDB4NjAsMHg4MSwweDE5LDB4MjAsMHg0MywweDA4LDB4MTEsMHg4MiwweDA0IH0sCi0gIDE2LCAweGMxNTAsIDAsIHsweDYwLDB4ODEsMHgxOSwweDIwLDB4NDYsMHg0OCwweDAxLDB4ODAsMHgxMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGMxNjAsIDAsIHsweDAwLDB4YzUsMHg2MCwweDA1LDB4NTgsMHgwMSwweDU2LDB4MDAsMHg1NSwweDgwLDB4MTUsMHg2MCwweDA0LDB4NTgsMHgwMSwweDU2IH0sCi0gIDE2LCAweGMxNzAsIDAsIHsweDAwLDB4NDUsMHg4MCwweDExLDB4NjAsMHgwMCwweDU4LDB4MDAsMHgwNiwweDAwLDB4NDUsMHg4MCwweDE1LDB4NjAsMHgwMSwweDU4IH0sCi0gIDE2LCAweGMxODAsIDAsIHsweDAxLDB4MTYsMHgwMCwweDAxLDB4ODAsMHgxNSwweDYwLDB4MDUsMHg1OCwweDAxLDB4NTYsMHgwMCwweDU1LDB4ODAsMHgwNSwweDQwIH0sCi0gIDE2LCAweGMxOTAsIDAsIHsweDExLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDYsMHgwMSwweDQ5LDB4ODAsMHgxMCwweDYwIH0sCi0gIDE2LCAweGMxYTAsIDAsIHsweDE0LDB4MTgsMHgwNSwweDA2LDB4MDEsMHg3OSwweDgwLDB4NTAsMHg2MCwweDE0LDB4MTgsMHgwMSwweDA2LDB4MDEsMHg0MSwweDgwIH0sCi0gIDE2LCAweGMxYjAsIDAsIHsweDUwLDB4NjAsMHgwNCwweDE4LDB4MDUsMHgwNiwweDAxLDB4NDEsMHg4MCwweDEwLDB4NjAsMHgxNCwweDE4LDB4MDUsMHgwNiwweDAxIH0sCi0gIDE2LCAweGMxYzAsIDAsIHsweDQxLDB4ODAsMHg1MCwweDYwLDB4MTQsMHgxOCwweDA1LDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGMxZDAsIDAsIHsweDAwLDB4ODAsMHgwMiwweDAxLDB4MDQsMHg4MCwweDQwLDB4MjAsMHgxMCwweDA4LDB4MDQsMHgwMiwweDAwLDB4MDQsMHgwNCwweDQwIH0sCi0gIDE2LCAweGMxZTAsIDAsIHsweDIwLDB4MTAsMHgwOCwweDA0LDB4MDIsMHgwMSwweDAwLDB4ODQsMHg0MCwweDIwLDB4MTAsMHgwOCwweDA0LDB4MDIsMHgwMSwweDAwIH0sCi0gIDE2LCAweGMxZjAsIDAsIHsweDgwLDB4NDEsMHgyMCwweDEwLDB4MDgsMHgwNCwweDAyLDB4MTEsMHgwMCwweDgwLDB4NDEsMHgyMCwweDEwLDB4NDgsMHgwNCwweDAwIH0sCi0gIDE2LCAweGMyMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGM1LDB4NDYsMHgwMywweDUxLDB4ODAsMHhkNCwweDYwIH0sCi0gIDE2LCAweGMyMTAsIDAsIHsweDM1LDB4MTgsMHgwZCwweDQ2LDB4MDIsMHgxMSwweDgwLDB4ZDQsMHg2MCwweDM1LDB4MTgsMHgwZCwweDQ2LDB4MDMsMHgxMSwweDgwIH0sCi0gIDE2LCAweGMyMjAsIDAsIHsweGQ0LDB4NjAsMHgzNSwweDE4LDB4MGQsMHg0NiwweDAzLDB4NTEsMHg4MCwweGQ0LDB4NjAsMHgzNSwweDE4LDB4MGQsMHg0NiwweDAzIH0sCi0gIDE2LCAweGMyMzAsIDAsIHsweDUxLDB4ODAsMHhkNCwweDYwLDB4MzUsMHgxOCwweDBkLDB4NDAsMHgzMSwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGMyNDAsIDAsIHsweDAwLDB4YzUsMHg0NiwweDA1LDB4NzAsMHg4MSwweDVjLDB4NjAsMHgwNywweDE4LDB4MTUsMHhjNiwweDA0LDB4NzEsMHg4MSwweDFjIH0sCi0gIDE2LCAweGMyNTAsIDAsIHsweDYwLDB4MTcsMHgxOCwweDE1LDB4YzYsMHgwNSwweDMxLDB4ODEsMHhkYywweDYwLDB4NTcsMHgxOCwweDE1LDB4YzYsMHgwNSwweDcxIH0sCi0gIDE2LCAweGMyNjAsIDAsIHsweDgwLDB4MWMsMHg2MCwweDc3LDB4MTgsMHgxNSwweGNlLDB4MDUsMHg3MSwweDgxLDB4NWMsMHg2MCwweDU3LDB4MTgsMHgxNSwweGMwIH0sCi0gIDE2LCAweGMyNzAsIDAsIHsweDExLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4NDYsMHgwMiwweDcxLDB4ODAsMHg5YywweDYxIH0sCi0gIDE2LCAweGMyODAsIDAsIHsweDc3LDB4MTgsMHgwZCwweGM2LDB4MDIsMHg3MSwweDgwLDB4OWMsMHg2MCwweDM3LDB4MTgsMHgwZCwweGMyLDB4MDMsMHgzMSwweDgwIH0sCi0gIDE2LCAweGMyOTAsIDAsIHsweDVjLDB4NjAsMHgyNywweDE4LDB4MGQsMHhjNiwweDAzLDB4NzEsMHg4MCwweDljLDB4NjAsMHgxNywweDE4LDB4MGQsMHhjZSwweDAzIH0sCi0gIDE2LCAweGMyYTAsIDAsIHsweDcxLDB4ODAsMHhkYywweDYwLDB4MzcsMHgxOCwweDBkLDB4YzAsMHgxMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGMyYjAsIDAsIHsweDAwLDB4NDUsMHg0NiwweDA1LDB4NzUsMHg4MSwweDVjLDB4NjAsMHg3NywweDE4LDB4MTUsMHhjNiwweDA1LDB4NzUsMHg4MSwweDVjIH0sCi0gIDE2LCAweGMyYzAsIDAsIHsweDYwLDB4NTcsMHgxOCwweDE1LDB4YzYsMHgwNSwweDMxLDB4ODEsMHgwYywweDYwLDB4NTcsMHgxOCwweDE1LDB4YzYsMHgwNSwweDcxIH0sCi0gIDE2LCAweGMyZDAsIDAsIHsweDgxLDB4NWMsMHg2MCwweDQzLDB4MTgsMHgxNSwweGM2LDB4MDUsMHg3MSwweDgxLDB4NWMsMHg2MCwweDU3LDB4MTgsMHgxNSwweGMwIH0sCi0gIDE2LCAweGMyZTAsIDAsIHsweDExLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MDIsMHgwMSwweDIwLDB4ODAsMHg0OCwweDIwIH0sCi0gIDE2LCAweGMyZjAsIDAsIHsweDEyLDB4MDgsMHgwNCwweDgyLDB4MDEsMHgyMCwweDgwLDB4NDgsMHgyMCwweDEyLDB4MDgsMHgwNCwweDgyLDB4MDEsMHgyMCwweDgwIH0sCi0gIDE2LCAweGMzMDAsIDAsIHsweDVjLDB4MjAsMHgxMiwweDA4LDB4MDQsMHg4MiwweDAxLDB4MjAsMHg4MCwweDQ4LDB4MDAsMHgxNywweDA4LDB4MDQsMHg4MiwweDAxIH0sCi0gIDE2LCAweGMzMTAsIDAsIHsweDIwLDB4ODAsMHg0OCwweDIwLDB4MTIsMHgwOCwweDA0LDB4ODAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGMzMjAsIDAsIHsweDAwLDB4MDAsMHgwNiwweDAxLDB4NjMsMHg4MCwweDU4LDB4NjAsMHgxNiwweDE4LDB4MDUsMHg4NiwweDAxLDB4NjEsMHg4MCwweDU4IH0sCi0gIDE2LCAweGMzMzAsIDAsIHsweDYwLDB4MTYsMHgxOCwweDA1LDB4ODYsMHgwMSwweDYxLDB4ODEsMHg1OCwweDYwLDB4MTYsMHgxOCwweDA1LDB4ODYsMHgwMSwweDYxIH0sCi0gIDE2LCAweGMzNDAsIDAsIHsweDgwLDB4NTgsMHg2MCwweDU2LDB4MTgsMHgwNSwweDg2LDB4MDEsMHg2MSwweDgwLDB4NTgsMHg2MCwweDE2LDB4MTgsMHgwNSwweDgwIH0sCi0gIDE2LCAweGMzNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ1LDB4NDAsMHgwNSwweDcwLDB4MDEsMHg1YywweDAwIH0sCi0gIDE2LCAweGMzNjAsIDAsIHsweDE3LDB4MDAsMHgxNSwweGMwLDB4ODUsMHg3NCwweDAxLDB4MWMsMHgwMCwweDQ3LDB4MDAsMHgxMSwweGMwLDB4MDUsMHg3MCwweDAxIH0sCi0gIDE2LCAweGMzNzAsIDAsIHsweDVjLDB4MDAsMHg1MywweDAwLDB4MTAsMHhjMCwweDA1LDB4NzAsMHgwMSwweDVjLDB4MDAsMHg1NywweDAwLDB4MTQsMHhjOSwweDA0IH0sCi0gIDE2LCAweGMzODAsIDAsIHsweDcwLDB4MDEsMHgxYywweDAwLDB4NTcsMHgwMCwweDE1LDB4YzAsMHgxMSwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGMzOTAsIDAsIHsweDAwLDB4NDUsMHg0MiwweDAwLDB4NjAsMHhjMCwweDE4LDB4MjAsMHgwNiwweDA4LDB4MDEsMHg4MiwweDAwLDB4NjAsMHg4MCwweDE4IH0sCi0gIDE2LCAweGMzYTAsIDAsIHsweDIwLDB4MDYsMHgwOCwweDAxLDB4ODIsMHgwMCwweDIwLDB4ODAsMHgxOCwweDMwLDB4MDIsMHgwOCwweDAwLDB4ODIsMHgxMCwweDYwIH0sCi0gIDE2LCAweGMzYjAsIDAsIHsweDgwLDB4MTgsMHgyMCwweDA2LDB4MDgsMHgwMCwweDgyLDB4MDAsMHg2MCwweDgwLDB4MTgsMHgyMCwweDA2LDB4MDgsMHgwMSwweDgwIH0sCi0gIDE2LCAweGMzYzAsIDAsIHsweDExLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ0LDB4NDIsMHgwNCwweDIwLDB4ODEsMHgwOCwweDIwIH0sCi0gIDE2LCAweGMzZDAsIDAsIHsweDAyLDB4MDgsMHgxMCwweDgyLDB4MDQsMHgyMCwweDgxLDB4MDgsMHgyMCwweDQyLDB4MDgsMHgxMCwweDgyLDB4MDQsMHgyMCwweDgxIH0sCi0gIDE2LCAweGMzZTAsIDAsIHsweDA4LDB4MjAsMHg0NiwweDA4LDB4MTEsMHg4MiwweDA0LDB4MjAsMHg4MSwweDA4LDB4MjAsMHg0MiwweDA4LDB4MTEsMHg4MiwweDA0IH0sCi0gIDE2LCAweGMzZjAsIDAsIHsweDIwLDB4ODEsMHgwOCwweDIwLDB4NDIsMHgwOCwweDEwLDB4ODAsMHgxMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGM0MDAsIDAsIHsweDAwLDB4NDUsMHg0MiwweDA1LDB4NDAsMHhjNSwweDUwLDB4MjAsMHgxNCwweDA4LDB4MTUsMHgwMCwweDA0LDB4NDAsMHg4MSwweDUwIH0sCi0gIDE2LCAweGM0MTAsIDAsIHsweDIwLDB4NTQsMHgwOCwweDExLDB4MDIsMHgwNSwweDAwLDB4ODAsMHgxMCwweDIwLDB4NDUsMHgwYywweDExLDB4NDIsMHgwNCwweDQwIH0sCi0gIDE2LCAweGM0MjAsIDAsIHsweDgxLDB4NTAsMHgyMCwweDE0LDB4MGMsMHgxNSwweDQyLDB4MDQsMHg0MCwweDgxLDB4MTAsMHgyMCwweDU0LDB4MDgsMHgxNSwweDAwIH0sCi0gIDE2LCAweGM0MzAsIDAsIHsweDExLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MDMsMHgwMSwweDUwLDB4YzAsMHg0NCwweDMwIH0sCi0gIDE2LCAweGM0NDAsIDAsIHsweDE1LDB4MGMsMHgwNSwweDQzLDB4MDEsMHg1MCwweGMwLDB4NGMsMHgzMCwweDE1LDB4MGMsMHgwNSwweDQzLDB4MjEsMHg1MCwweGMwIH0sCi0gIDE2LCAweGM0NTAsIDAsIHsweDU0LDB4MzAsMHgxNSwweDBjLDB4MDUsMHg0MywweDAxLDB4NTAsMHhjMCwweDU0LDB4MzAsMHgxNSwweDBjLDB4MDUsMHg0MywweDAxIH0sCi0gIDE2LCAweGM0NjAsIDAsIHsweDUwLDB4YzAsMHg1NCwweDIwLDB4MTUsMHgwYywweDA1LDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGM0NzAsIDAsIHsweDAwLDB4MDAsMHgwOCwweDAwLDB4NDIsMHgwMCwweDA0LDB4ODAsMHgwNCwweDIwLDB4MDEsMHgwOCwweDAwLDB4NDIsMHgwMCwweDA0IH0sCi0gIDE2LCAweGM0ODAsIDAsIHsweDgwLDB4MDQsMHgyMCwweDAxLDB4MDgsMHgwMCwweDAyLDB4MDAsMHgxMCwweDAwLDB4MDQsMHgwMCwweDAxLDB4MDgsMHgwMCwweDQyIH0sCi0gIDE2LCAweGM0OTAsIDAsIHsweDAwLDB4MTAsMHg4MCwweDA0LDB4MDAsMHgwMSwweDA4LDB4MDAsMHg0MiwweDAwLDB4MTAsMHg4MCwweDA0LDB4MjAsMHgwMSwweDAwIH0sCi0gIDE2LCAweGM0YTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ1LDB4NDIsMHgwMiwweDAwLDB4ODAsMHg4NCwweDIwIH0sCi0gIDE2LCAweGM0YjAsIDAsIHsweDIwLDB4MDgsMHgwOCwweDAyLDB4MDIsMHgwMCwweDgwLDB4ODQsMHgyMCwweDIwLDB4MDgsMHgwOCwweDAyLDB4MDIsMHgwMCwweDgwIH0sCi0gIDE2LCAweGM0YzAsIDAsIHsweDgwLDB4YTAsMHgyMCwweDI4LDB4MDgsMHgwMiwweDAyLDB4MDAsMHg4MCwweDgwLDB4MjAsMHgyMCwweDI4LDB4MDgsMHgwMiwweDAyIH0sCi0gIDE2LCAweGM0ZDAsIDAsIHsweDAwLDB4ODAsMHg4MCwweDIwLDB4MjAsMHgwOCwweDA4LDB4MDAsMHgxMSwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGM0ZTAsIDAsIHsweDAwLDB4NDUsMHg0MCwweDA1LDB4NjAsMHg0MSwweDU4LDB4MDAsMHg1NiwweDAwLDB4MTUsMHg4MCwweDA1LDB4NjAsMHgwMSwweDU4IH0sCi0gIDE2LCAweGM0ZjAsIDAsIHsweDAwLDB4NTYsMHgwMCwweDE1LDB4ODAsMHgwNSwweDIwLDB4MDEsMHhkOCwweDAwLDB4NTYsMHgwMCwweDE1LDB4ODAsMHgwNSwweDYwIH0sCi0gIDE2LCAweGM1MDAsIDAsIHsweDAxLDB4NTgsMHgwMCwweDc2LDB4MDAsMHgxNSwweDgwLDB4MDUsMHg2MCwweDAxLDB4NTgsMHgwMCwweDU2LDB4MDAsMHgxNSwweDgwIH0sCi0gIDE2LCAweGM1MTAsIDAsIHsweDExLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGM1LDB4NDAsMHgwMywweDYwLDB4MDAsMHhkOCwweDAwIH0sCi0gIDE2LCAweGM1MjAsIDAsIHsweDI2LDB4MDAsMHgwZCwweDgwLDB4MDIsMHg2MCwweDAwLDB4ZDgsMHgwMCwweDM2LDB4MDAsMHgwZCwweDgwLDB4MDcsMHg2MCwweDAxIH0sCi0gIDE2LCAweGM1MzAsIDAsIHsweDVjLDB4MDAsMHgzNiwweDAwLDB4MGQsMHg4MCwweDAzLDB4NjAsMHgwMCwweGQ4LDB4MDAsMHg1NywweDAwLDB4MGQsMHg4MCwweDAyIH0sCi0gIDE2LCAweGM1NDAsIDAsIHsweDYwLDB4MDAsMHg5OCwweDAwLDB4MzYsMHgwMCwweDBkLDB4ODAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGM1NTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDA0LDB4MzAsMHgyMSwweDBjLDB4MDAsMHg0MywweDAwLDB4MTAsMHhjMCwweDA0LDB4MzAsMHgwMSwweDBjIH0sCi0gIDE2LCAweGM1NjAsIDAsIHsweDAwLDB4NDMsMHgwMCwweDEwLDB4YzAsMHgwNCwweDMwLDB4MDEsMHgxOCwweDAwLDB4NDMsMHgwMCwweDEwLDB4YzAsMHgwNCwweDMwIH0sCi0gIDE2LCAweGM1NzAsIDAsIHsweDAxLDB4MGMsMHgwMCwweDQ2LDB4MDAsMHgxMCwweGMwLDB4MDQsMHgzMCwweDAxLDB4MGMsMHgwMCwweDQzLDB4MDAsMHgxMCwweGMwIH0sCi0gIDE2LCAweGM1ODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDMwLDB4MDAsMHgwYywweDAwIH0sCi0gIDE2LCAweGM1OTAsIDAsIHsweDAzLDB4MDAsMHgwMCwweGMwLDB4MDAsMHgzNSwweDA4LDB4MGMsMHgwMCwweDAzLDB4MDAsMHgwMCwweGM2LDB4MDAsMHgxNCwweDAwIH0sCi0gIDE2LCAweGM1YTAsIDAsIHsweDA4LDB4MDAsMHgwMywweDQwLDB4MDAsMHhjMCwweDAwLDB4MzAsMHgwMCwweDBkLDB4NDAsMHgwMiwweDAwLDB4MDAsMHhjMCwweDAwIH0sCi0gIDE2LCAweGM1YjAsIDAsIHsweDMwLDB4MDAsMHgwYywweDAwLDB4MDMsMHgwMCwweDAwLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGM1YzAsIDAsIHsweDAwLDB4MDAsMHgwNSwweDAxLDB4MzEsMHg0MCwweDRjLDB4NTAsMHgxMywweDE0LDB4MDQsMHhjNSwweDAxLDB4MzEsMHhjMCwweDRjIH0sCi0gIDE2LCAweGM1ZDAsIDAsIHsweDUwLDB4MTMsMHgxNCwweDA0LDB4YzUsMHgwNSwweDMxLDB4NDEsMHg0YywweDUwLDB4MTMsMHgxNCwweDA0LDB4YzUsMHgwMSwweDMxIH0sCi0gIDE2LCAweGM1ZTAsIDAsIHsweDQwLDB4NGMsMHg3MCwweDUzLDB4MTQsMHgwNCwweGM1LDB4MDEsMHgzMSwweDQwLDB4NGMsMHg0MCwweDEzLDB4MTQsMHgwNCwweGMwIH0sCi0gIDE2LCAweGM1ZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjMsMHgwNSwweDY4LDB4YzEsMHg1YSwweDMwIH0sCi0gIDE2LCAweGM2MDAsIDAsIHsweDU2LDB4OGMsMHgxNSwweGEzLDB4MDUsMHg2OSwweGMxLDB4NWEsMHgzMCwweDQ2LDB4OGMsMHgxMSwweGE3LDB4MDEsMHg2OCwweGMwIH0sCi0gIDE2LCAweGM2MTAsIDAsIHsweDFhLDB4MzAsMHg1NiwweDhjLDB4MTEsMHhhMywweDA0LDB4NjgsMHhjMSwweDFhLDB4MzAsMHgxNiwweDhjLDB4MTUsMHhhMywweDA0IH0sCi0gIDE2LCAweGM2MjAsIDAsIHsweDY4LDB4YzEsMHg1YSwweDMwLDB4NTYsMHg4YywweDExLDB4ODAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGM2MzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MjAsMHgwMCwweDA4LDB4MDAsMHgwMiwweDAwLDB4MDAsMHg4MCwweDAwLDB4MjQsMHgwMCwweDA4IH0sCi0gIDE2LCAweGM2NDAsIDAsIHsweDAxLDB4MDIsMHgwMCwweDAwLDB4ODAsMHgwMCwweDI0LDB4MDAsMHgwOCwweDgwLDB4MDIsMHg2MCwweDAwLDB4ODAsMHgwMCwweDIwIH0sCi0gIDE2LCAweGM2NTAsIDAsIHsweDAwLDB4MDksMHg0MCwweDAyLDB4MjAsMHgwMCwweDgwLDB4MDAsMHgyMCwweDAwLDB4MDgsMHgwMCwweDAyLDB4MDAsMHgwMCwweDgwIH0sCi0gIDE2LCAweGM2NjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHg0NCwweDYyLDB4MTEsMHgxOCwweDg0IH0sCi0gIDE2LCAweGM2NzAsIDAsIHsweDQ2LDB4MjEsMHgxMSwweDg4LDB4NDQsMHg2MiwweDA5LDB4MTgsMHg4NCwweDQ2LDB4MjEsMHgxMSwweDg4LDB4NjAsMHg2MiwweDEwIH0sCi0gIDE2LCAweGM2ODAsIDAsIHsweDE4LDB4MDQsMHg0NiwweDAxLDB4MTEsMHg4OCwweDQ0LDB4NjIsMHgxMSwweDE4LDB4ODAsMHgwNiwweDAxLDB4MTEsMHg4OCwweDQ0IH0sCi0gIDE2LCAweGM2OTAsIDAsIHsweDYyLDB4MTEsMHgxOCwweDg0LDB4NDYsMHgyMSwweDExLDB4ODAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGM2YTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDQ1LDB4NTAsMHgxMSwweDU0LDB4MDQsMHg1NSwweDAxLDB4MTUsMHg0MCwweDQ0LDB4NTAsMHgxMSwweDU0IH0sCi0gIDE2LCAweGM2YjAsIDAsIHsweDA0LDB4NDUsMHgwMSwweDExLDB4NDAsMHg0MCwweDUwLDB4MTAsMHg1NCwweDA0LDB4NDUsMHgwMSwweDE1LDB4NDAsMHg0NCwweDUwIH0sCi0gIDE2LCAweGM2YzAsIDAsIHsweDExLDB4MTQsMHgwMCwweDE1LDB4MDEsMHgxNSwweDQwLDB4NDQsMHg1MCwweDExLDB4NTQsMHgwNCwweDU1LDB4MDAsMHgxMSwweDQwIH0sCi0gIDE2LCAweGM2ZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgyMSwweDQyLDB4MDgsMHg1MCwweDgyIH0sCi0gIDE2LCAweGM2ZTAsIDAsIHsweDE0LDB4MjAsMHg4NSwweDA4LDB4MjEsMHg0MiwweDAwLDB4NTAsMHg4MiwweDE0LDB4MjAsMHg4NSwweDA4LDB4MjAsMHg0MiwweDA4IH0sCi0gIDE2LCAweGM2ZjAsIDAsIHsweDUwLDB4ODIsMHgxNSwweDIwLDB4MDUsMHg0OCwweDIxLDB4NDIsMHgwOCwweDUwLDB4ODIsMHgxNCwweDIwLDB4ODEsMHg0MCwweDIxIH0sCi0gIDE2LCAweGM3MDAsIDAsIHsweDQyLDB4MDgsMHg1MCwweDgyLDB4MTQsMHgyMCwweDg1LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGM3MTAsIDAsIHsweDAwLDB4MDAsMHgwYSwweDAxLDB4MDIsMHg4MCwweDQwLDB4YTAsMHgxMCwweDI4LDB4MDQsMHgwYSwweDAxLDB4MDIsMHg4NCwweDQwIH0sCi0gIDE2LCAweGM3MjAsIDAsIHsweGExLDB4MTAsMHgyOCwweDA0LDB4MGEsMHgwMSwweDAyLDB4ODAsMHg0MCwweGEwLDB4MDAsMHgyOCwweDAwLDB4MGEsMHgwMSwweDAyIH0sCi0gIDE2LCAweGM3MzAsIDAsIHsweDgwLDB4NDAsMHhiMCwweDEwLDB4MjgsMHgwMCwweDBhLDB4MDEsMHgwMiwweDgwLDB4NDAsMHhhMCwweDEwLDB4MjgsMHgwNCwweDAwIH0sCi0gIDE2LCAweGM3NDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGMsMHgwMywweDUzLDB4MDAsMHhkNCwweGMwIH0sCi0gIDE2LCAweGM3NTAsIDAsIHsweDM1LDB4MzAsMHgwZCwweDRjLDB4MDMsMHg1MywweDAwLDB4ZDQsMHhjMCwweDM1LDB4MzAsMHgwZCwweDRjLDB4MDMsMHg1MywweDAwIH0sCi0gIDE2LCAweGM3NjAsIDAsIHsweGQ0LDB4YzAsMHgyMSwweDMwLDB4MDgsMHg0YywweDAzLDB4NTMsMHgwMCwweGQ0LDB4YzAsMHgzNSwweDMwLDB4MDgsMHg0YywweDAzIH0sCi0gIDE2LCAweGM3NzAsIDAsIHsweDUzLDB4MDAsMHhkNCwweGMwLDB4MzUsMHgzMCwweDBkLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGM3ODAsIDAsIHsweDAwLDB4MDAsMHgwOCwweDA0LDB4NzAsMHgwMSwweDVjLDB4ODAsMHgwNywweDIwLDB4MjUsMHhjOSwweDA0LDB4NzIsMHgwMSwweDVjIH0sCi0gIDE2LCAweGM3OTAsIDAsIHsweDgwLDB4NDcsMHgyMCwweDE1LDB4YzgsMHgwMCwweDcyLDB4MDUsMHhkYywweDgwLDB4NTcsMHgyMCwweDE1LDB4YzgsMHgwNSwweDcyIH0sCi0gIDE2LCAweGM3YTAsIDAsIHsweDAxLDB4MWMsMHg5MCwweDY3LDB4MjAsMHgxNSwweGM4LDB4MDUsMHg3MiwweDAxLDB4MWMsMHg4MCwweDU3LDB4MjAsMHgxNSwweGMwIH0sCi0gIDE2LCAweGM3YjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjMsMHgxOCwweDQ4LDB4YzIsMHgxMiwweDMxIH0sCi0gIDE2LCAweGM3YzAsIDAsIHsweDg0LDB4OGMsMHg2MSwweDAzLDB4MTgsMHg0MCwweGM4LDB4MTIsMHgzMSwweDg0LDB4OGMsMHg2MSwweDAzLDB4MTgsMHg0OCwweGM0IH0sCi0gIDE2LCAweGM3ZDAsIDAsIHsweDEwLDB4MzEsMHg4NCwweDBjLDB4NDEsMHgyMywweDE4LDB4NDgsMHhjNiwweDEwLDB4MzAsMHgwNCwweDBjLDB4NjEsMHgyMywweDE4IH0sCi0gIDE2LCAweGM3ZTAsIDAsIHsweDQ4LDB4YzYsMHgxMiwweDMwLDB4ODQsMHg4YywweDIxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGM3ZjAsIDAsIHsweDAwLDB4MDAsMHgzZiwweGZmLDB4NGYsMHhmZiwweGQzLDB4ZmYsMHhmNCwweGZmLDB4ZmQsMHgzZiwweGZmLDB4NGYsMHhmZiwweGQzIH0sCi0gIDE2LCAweGM4MDAsIDAsIHsweGZmLDB4ZjQsMHhmZiwweGZkLDB4M2YsMHhmZiwweDRmLDB4ZmYsMHhkMywweGZmLDB4ZjQsMHhmZiwweGZkLDB4M2YsMHhmZiwweDRmIH0sCi0gIDE2LCAweGM4MTAsIDAsIHsweGZmLDB4ZDMsMHhmZiwweGY0LDB4ZmYsMHhmZCwweDNmLDB4ZmYsMHg0ZiwweGZmLDB4ZDMsMHhmZiwweGY0LDB4ZmYsMHhiZCwweDAwIH0sCi0gIDE2LCAweGM4MjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGM4MzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGM4NDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGM4NTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGM4NjAsIDAsIHsweDAwLDB4MDAsMHgyYywweGRiLDB4MGIsMHgzNiwweGMyLDB4Y2QsMHhiMCwweGIzLDB4NmMsMHgyYywweGRiLDB4MDksMHgzNiwweGMyIH0sCi0gIDE2LCAweGM4NzAsIDAsIHsweGNkLDB4YjAsMHhiMywweDZjLDB4MmMsMHhkYiwweDBiLDB4MzYsMHhjMiwweGNkLDB4YjAsMHhiMywweDZjLDB4MmMsMHhkYiwweDBiIH0sCi0gIDE2LCAweGM4ODAsIDAsIHsweDM2LDB4YzIsMHhjZCwweGIwLDB4YjMsMHg2YywweDJjLDB4ZGIsMHgwYiwweDM2LDB4YzIsMHhjZCwweGIwLDB4YjMsMHgyYywweDAwIH0sCi0gIDE2LCAweGM4OTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzMsMHgzYywweDRjLDB4Y2YsMHgxMywweDMzIH0sCi0gIDE2LCAweGM4YTAsIDAsIHsweGM0LDB4Y2MsMHhmMSwweDMzLDB4M2MsMHg0ZCwweDRlLDB4OTMsMHgzMywweGM0LDB4Y2MsMHhmMSwweDJiLDB4M2MsMHg0YywweGNmIH0sCi0gIDE2LCAweGM4YjAsIDAsIHsweDEzLDB4MzMsMHhjNCwweGNjLDB4ZTksMHgzMywweDNjLDB4NGMsMHhjZiwweDEyLDB4YjUsMHhjNCwweGNjLDB4ZjEsMHgzMywweDNjIH0sCi0gIDE2LCAweGM4YzAsIDAsIHsweDRjLDB4Y2YsMHgxMywweDMzLDB4YzQsMHhjZCwweDMxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGM4ZDAsIDAsIHsweDAwLDB4MDAsMHgzYiwweDdlLDB4NGUsMHhjNywweDkzLDB4YjcsMHhlNCwweGVkLDB4ZjksMHgyMywweDdlLDB4NGUsMHg0NywweDkzIH0sCi0gIDE2LCAweGM4ZTAsIDAsIHsweGI3LDB4ZTQsMHhlZCwweGY5LDB4M2YsMHg3ZSwweDRlLDB4ZGUsMHgxMiwweDM3LDB4ZTQsMHg4ZCwweGY5LDB4M2IsMHg3ZSwweDRlIH0sCi0gIDE2LCAweGM4ZjAsIDAsIHsweGRmLDB4OTMsMHhmNywweDg0LDB4OGQsMHhmOSwweDNiLDB4N2UsMHg0ZSwweGRmLDB4OTMsMHhiMSwweGU0LDB4ZWQsMHhiOSwweDAwIH0sCi0gIDE2LCAweGM5MDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgwMiwweDcwLDB4NDAsMHg5YywweDExIH0sCi0gIDE2LCAweGM5MTAsIDAsIHsweDY3LDB4MDQsMHgxOSwweGMzLDB4MDIsMHg3MCwweDQwLDB4OWMsMHgxMCwweDI3LDB4MDQsMHgwOSwweGMxLDB4MDIsMHg3MCwweDQwIH0sCi0gIDE2LCAweGM5MjAsIDAsIHsweDFjLDB4MTAsMHgyNywweDE0LDB4MDEsMHhjMSwweDAyLDB4NzAsMHg0MCwweDljLDB4NTAsMHgwNywweDA0LDB4MDksMHhjMSwweDAyIH0sCi0gIDE2LCAweGM5MzAsIDAsIHsweDcwLDB4NDAsMHg5YywweDEwLDB4NjcsMHgxNCwweDExLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGM5NDAsIDAsIHsweDAwLDB4MDAsMHgwNCwweDA1LDB4NzEsMHgwMSwweDVjLDB4NDAsMHg1NywweDEwLDB4MTUsMHhjNCwweDA1LDB4NzEsMHgwMSwweDVjIH0sCi0gIDE2LCAweGM5NTAsIDAsIHsweDQwLDB4NTcsMHgxMCwweDE1LDB4YzYsMHgwNSwweDcxLDB4MDEsMHg1YywweDQwLDB4NTcsMHgxMCwweDEwLDB4YzQsMHgwNSwweDcxIH0sCi0gIDE2LCAweGM5NjAsIDAsIHsweDAxLDB4NWMsMHg2NCwweDAzLDB4MTAsMHg1NSwweGM0LDB4MDUsMHg3MSwweDAxLDB4NWMsMHg0MCwweDU3LDB4MTAsMHgxNSwweGMwIH0sCi0gIDE2LCAweGM5NzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDIsMHgwMSwweDIwLDB4ODAsMHg0OCwweDIwIH0sCi0gIDE2LCAweGM5ODAsIDAsIHsweDEyLDB4MDgsMHgwNCwweDgyLDB4MDEsMHgyMSwweDgwLDB4NDgsMHgyMCwweDEyLDB4MDgsMHgwNCwweDgwLDB4MDEsMHgyMCwweDgwIH0sCi0gIDE2LCAweGM5OTAsIDAsIHsweDQ4LDB4MjAsMHgxMiwweDA4LDB4MDUsMHhjMiwweDAxLDB4MjAsMHg4MCwweDQ4LDB4MjQsMHgxNywweDA4LDB4MDQsMHg4MiwweDAxIH0sCi0gIDE2LCAweGM5YTAsIDAsIHsweDIwLDB4ODAsMHg0OCwweDIwLDB4MTIsMHgwOCwweDA0LDB4ODAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGM5YjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4NjAsMHgwMCwweDE4LDB4MDAsMHg0NiwweDAwLDB4MTEsMHg4NCwweDAwLDB4NjAsMHgwMCwweDE4IH0sCi0gIDE2LCAweGM5YzAsIDAsIHsweDAwLDB4MDYsMHgwMCwweDAxLDB4ODAsMHgwMCwweDYwLDB4MDEsMHgxOCwweDAwLDB4MDYsMHgxMCwweDkxLDB4ODAsMHgwMCwweDYwIH0sCi0gIDE2LCAweGM5ZDAsIDAsIHsweDAwLDB4MTgsMHg0NiwweDQ2LDB4MTgsMHgwMSwweDgwLDB4MDAsMHg2MCwweDAwLDB4MTgsMHgwMCwweDA2LDB4MTAsMHgwMSwweDgwIH0sCi0gIDE2LCAweGM5ZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweDczLDB4MDEsMHgxYywweDgwIH0sCi0gIDE2LCAweGM5ZjAsIDAsIHsweDA3LDB4MjAsMHgwMSwweGM4LDB4MDQsMHg3MiwweDAxLDB4MWMsMHg4MCwweDQ3LDB4MjAsMHgxMSwweGM4LDB4MDQsMHg3MiwweDAxIH0sCi0gIDE2LCAweGNhMDAsIDAsIHsweDFjLDB4ODAsMHg0NywweDIyLDB4MTEsMHhjOCwweDA0LDB4NzIsMHgwMSwweDFjLDB4ODAsMHgwNywweDIwLDB4MTEsMHhjOCwweDA0IH0sCi0gIDE2LCAweGNhMTAsIDAsIHsweDcyLDB4MDEsMHgxYywweDgwLDB4MDcsMHgyOCwweDExLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGNhMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4NjAsMHgwMCwweDE4LDB4MDAsMHgwNiwweDAwLDB4MDEsMHg4MCwweDAwLDB4NjAsMHgwMCwweDE4IH0sCi0gIDE2LCAweGNhMzAsIDAsIHsweDAwLDB4MDYsMHgwMCwweDAxLDB4ODAsMHgwMCwweDYwLDB4MDAsMHgxOCwweDAwLDB4MDYsMHgwMCwweDAxLDB4ODAsMHgwMCwweDYwIH0sCi0gIDE2LCAweGNhNDAsIDAsIHsweDAwLDB4MTgsMHgwMCwweDQ2LDB4MDQsMHgwMSwweDgwLDB4MDAsMHg2MCwweDAwLDB4MTgsMHgwMCwweDA2LDB4MDAsMHgwMSwweDgwIH0sCi0gIDE2LCAweGNhNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHgwNCwweDIyLDB4MDEsMHgwOCwweDgwIH0sCi0gIDE2LCAweGNhNjAsIDAsIHsweDAyLDB4MjAsMHgwMCwweDkwLDB4MDQsMHgyNywweDgxLDB4MDgsMHg4MCwweDQyLDB4MjAsMHgxMCwweDk4LDB4MDQsMHgyNCwweDAxIH0sCi0gIDE2LCAweGNhNzAsIDAsIHsweDA4LDB4ODAsMHg0MiwweDQ4LDB4MTAsMHg4OCwweDA0LDB4MjIsMHgwMSwweDA5LDB4NDAsMHg0MiwweDYwLDB4MTAsMHg4OCwweDA0IH0sCi0gIDE2LCAweGNhODAsIDAsIHsweDIyLDB4MDEsMHgwOCwweGMwLDB4MDIsMHg0MCwweDEwLDB4ODAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGNhOTAsIDAsIHsweDAwLDB4MDAsMHgyYSwweDA0LDB4NGIsMHg4MSwweDEyLDB4YTAsMHgwNCwweGE4LDB4MDEsMHgyYSwweDA0LDB4NGEsMHg4MSwweDEyIH0sCi0gIDE2LCAweGNhYTAsIDAsIHsweGEwLDB4NDQsMHhhOCwweDExLDB4MmEsMHgwNCwweDQ4LDB4ODAsMHgxMiwweGEwLDB4NDQsMHg4OCwweDAxLDB4MmEsMHgwNCwweDRhIH0sCi0gIDE2LCAweGNhYjAsIDAsIHsweDgxLDB4MTIsMHgyMCwweDA0LDB4YWMsMHgxMSwweDJhLDB4MDQsMHg0YSwweDgxLDB4MTIsMHhiMCwweDQ0LDB4OWMsMHgxMSwweDAwIH0sCi0gIDE2LCAweGNhYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweGMwLDB4MGMsMHgwMCwweDUzLDB4MDAsMHgxNCwweGMwIH0sCi0gIDE2LCAweGNhZDAsIDAsIHsweDA1LDB4MzAsMHgwMSwweDQ0LDB4MDAsMHg1MywweDAwLDB4MTQsMHhjMCwweDA1LDB4MzAsMHgwNCwweDBjLDB4MDAsMHg1MywweDAwIH0sCi0gIDE2LCAweGNhZTAsIDAsIHsweDE0LDB4YzAsMHgwNSwweGIwLDB4MDEsMHg0YywweDAwLDB4NTMsMHgwMCwweDE2LDB4YzAsMHgwMSwweDMwLDB4MDEsMHg0YywweDAwIH0sCi0gIDE2LCAweGNhZjAsIDAsIHsweDUzLDB4MDAsMHgxNCwweGMwLDB4MDEsMHgzOCwweDAwLDB4NDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGNiMDAsIDAsIHsweDA4LDB4YzAsMHgwMCwweDEwLDB4NDAsMHgwMCwweDEwLDB4MDAsMHgwNCwweDAwLDB4MDEsMHgxMCwweDAwLDB4NDQsMHg4MCwweDEwIH0sCi0gIDE2LCAweGNiMTAsIDAsIHsweDAwLDB4MDQsMHgwMCwweDAxLDB4MTAsMHgwMCwweDQ2LDB4MDAsMHgwMCwweDAwLDB4MDQsMHg2MCwweDAxLDB4MDAsMHgwMCwweDQwIH0sCi0gIDE2LCAweGNiMjAsIDAsIHsweDAwLDB4MTEsMHg2MCwweDAyLDB4NDAsMHgwMSwweDAwLDB4MTAsMHg0MCwweDAwLDB4MTAsMHg2MCwweDAxLDB4NTAsMHgxMCwweDQwIH0sCi0gIDE2LCAweGNiMzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweGMwLDB4NDAsMHgwMiwweDAwLDB4MDAsMHg4MCwweDAwIH0sCi0gIDE2LCAweGNiNDAsIDAsIHsweDIwLDB4MDAsMHgwOCwweDA4LDB4MDIsMHgwMCwweDAwLDB4ODAsMHgwMCwweDIwLDB4MDAsMHgwOCwweDAwLDB4MDIsMHgwMCwweDAwIH0sCi0gIDE2LCAweGNiNTAsIDAsIHsweDgwLDB4MDAsMHgyMCwweDAwLDB4MDgsMHgwMCwweDAyLDB4MDAsMHgwMCwweDgwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwMCwweDAyIH0sCi0gIDE2LCAweGNiNjAsIDAsIHsweDAwLDB4MDAsMHg4MCwweDAwLDB4MjEsMHgwMCwweDA4LDB4NDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGNiNzAsIDAsIHsweDA4LDB4YzAsMHg0MCwweDA0LDB4NjAsMHgwMSwweDE4LDB4MDAsMHg0NiwweDAwLDB4MTEsMHg4MCwweDA0LDB4NjAsMHgwMSwweDE4IH0sCi0gIDE2LCAweGNiODAsIDAsIHsweDAwLDB4NDYsMHgwMCwweDExLDB4ODAsMHgwNCwweDYwLDB4MDEsMHhjOCwweDAwLDB4NDYsMHgwMCwweDE5LDB4ODAsMHgwMCwweDYwIH0sCi0gIDE2LCAweGNiOTAsIDAsIHsweDAwLDB4MTgsMHgwMCwweDY2LDB4MDAsMHgxMSwweDgwLDB4MDQsMHg2MCwweDAxLDB4MTgsMHgwMCwweDA2LDB4MDAsMHgxMSwweDgwIH0sCi0gIDE2LCAweGNiYTAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxMCwweDAxLDB4MDAsMHgwMiwweDYwLDB4MDAsMHg5OCwweDAwIH0sCi0gIDE2LCAweGNiYjAsIDAsIHsweDI2LDB4MDAsMHgwOSwweDgxLDB4MDIsMHg2MCwweDAxLDB4OTgsMHgwMCwweDI2LDB4MDAsMHgwOSwweDgwLDB4MDYsMHg2MiwweDAwIH0sCi0gIDE2LCAweGNiYzAsIDAsIHsweDQ4LDB4MDAsMHgyNiwweDIwLDB4MDEsMHhjMCwweDAyLDB4NjAsMHgwMSwweDk4LDB4MDAsMHgwNywweDAwLDB4MDksMHg4MCwweDAyIH0sCi0gIDE2LCAweGNiZDAsIDAsIHsweDYwLDB4MDAsMHg5OCwweDAwLDB4MjYsMHgwMCwweDExLDB4ODIsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGNiZTAsIDAsIHsweDQwLDB4NDUsMHg0MiwweDA0LDB4MzAsMHg4MSwweDBjLDB4MjAsMHg0MywweDA4LDB4MTAsMHhjMiwweDA0LDB4MzAsMHg4NSwweDhjIH0sCi0gIDE2LCAweGNiZjAsIDAsIHsweDIwLDB4NDMsMHgwOCwweDEwLDB4YzIsMHgwNCwweDMwLDB4ODEsMHgwYywweDIwLDB4NDMsMHg0OCwweDExLDB4ODIsMHgwNCwweDMwIH0sCi0gIDE2LCAweGNjMDAsIDAsIHsweDgxLDB4OGQsMHgyMCwweDQ2LDB4MDgsMHgxMCwweGMyLDB4MDQsMHgzMCwweDgxLDB4MGMsMHgyMCwweDQzLDB4MGMsMHgxMCwweGMwIH0sCi0gIDE2LCAweGNjMTAsIDAsIHsweDExLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDA0LDB4MDAsMHgwMCwweDMwLDB4MDAsMHgwYywweDAwIH0sCi0gIDE2LCAweGNjMjAsIDAsIHsweDAzLDB4MDAsMHgwMCwweGMwLDB4MDAsMHgxMCwweDAwLDB4MGMsMHgwMCwweDAzLDB4MDAsMHgwMCwweGMwLDB4MDAsMHgzMCwweDAwIH0sCi0gIDE2LCAweGNjMzAsIDAsIHsweDA4LDB4MDAsMHgwMywweDAwLDB4MDAsMHg4MCwweDAwLDB4MzAsMHgwMCwweDBjLDB4ODAsMHgwMiwweDAwLDB4MDAsMHhjMCwweDAwIH0sCi0gIDE2LCAweGNjNDAsIDAsIHsweDMwLDB4MDAsMHgwYywweDAwLDB4MDMsMHgyMCwweDAwLDB4YzAsMHgxMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGNjNTAsIDAsIHsweDQwLDB4MDAsMHgwMiwweDAwLDB4MzAsMHg4MCwweDBjLDB4MjEsMHgwMywweDA4LDB4MDAsMHhjMiwweDAwLDB4MzAsMHg4MCwweDBjIH0sCi0gIDE2LCAweGNjNjAsIDAsIHsweDIwLDB4MDMsMHgwOCwweDAwLDB4YzIsMHgwNCwweDMwLDB4YzEsMHgwYywweDIwLDB4MDMsMHgwYywweDEwLDB4YzIsMHgwMCwweDMwIH0sCi0gIDE2LCAweGNjNzAsIDAsIHsweDgwLDB4MGMsMHhiMCwweDQzLDB4MDgsMHgwMCwweGMyLDB4MDAsMHgzMCwweDgwLDB4MGMsMHgyMCwweDAzLDB4MjgsMHgxMCwweGMwIH0sCi0gIDE2LCAweGNjODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDQ1LDB4NDIsMHgwNCwweDYwLDB4ODEsMHgxOCwweDIwIH0sCi0gIDE2LCAweGNjOTAsIDAsIHsweDQ2LDB4MDgsMHgxMSwweDgyLDB4MDQsMHg2MCwweDgwLDB4MTgsMHgyMCwweDQ2LDB4MDgsMHgxMSwweDgyLDB4MDAsMHg2MCwweDgxIH0sCi0gIDE2LCAweGNjYTAsIDAsIHsweDE4LDB4MjAsMHg0NiwweDA4LDB4MTEsMHg4MiwweDA0LDB4NjAsMHg4MCwweDE4LDB4MjAsMHgwNiwweDA4LDB4MTEsMHg4MiwweDA0IH0sCi0gIDE2LCAweGNjYjAsIDAsIHsweDYwLDB4ODEsMHgxOCwweDIwLDB4NDYsMHgwYywweDExLDB4YzAsMHgxMSwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGNjYzAsIDAsIHsweDQwLDB4MDEsMHg0MiwweDAwLDB4MjAsMHg4MCwweDA4LDB4MjAsMHgwMiwweDA4LDB4MDAsMHg4MiwweDAwLDB4MjAsMHg4MCwweDA4IH0sCi0gIDE2LCAweGNjZDAsIDAsIHsweDIwLDB4MDIsMHgwOCwweDAwLDB4ODIsMHgwMCwweDIwLDB4ODAsMHgwYywweDIwLDB4MDIsMHgwOCwweDAwLDB4YzIsMHgwMCwweDIwIH0sCi0gIDE2LCAweGNjZTAsIDAsIHsweDgwLDB4MDgsMHgyMCwweDQyLDB4MDgsMHgwMCwweDgyLDB4MDAsMHgyMCwweDgwLDB4MDgsMHgyMCwweDAyLDB4MDgsMHgwMSwweDgwIH0sCi0gIDE2LCAweGNjZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg1MCwweDAxLDB4NDIsMHgwNCwweDYwLDB4ODEsMHgxOCwweDIwIH0sCi0gIDE2LCAweGNkMDAsIDAsIHsweDQ2LDB4MDgsMHgxMSwweDgyLDB4MDQsMHg2MCwweDgwLDB4MTgsMHgyMCwweDQ2LDB4MDgsMHgxMSwweDgyLDB4MDAsMHg2MCwweGMxIH0sCi0gIDE2LCAweGNkMTAsIDAsIHsweDBjLDB4MjAsMHg0NiwweDBjLDB4MTAsMHhjMiwweDA0LDB4NjAsMHg4MCwweDE4LDB4MzAsMHg0MiwweDA4LDB4MTEsMHg4MiwweDA0IH0sCi0gIDE2LCAweGNkMjAsIDAsIHsweDYwLDB4ODEsMHgxOCwweDIwLDB4NDYsMHgwOCwweDEwLDB4ODAsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGNkMzAsIDAsIHsweDQwLDB4NDUsMHg0MCwweDA0LDB4NTAsMHgwMSwweDE0LDB4MDAsMHg0NSwweDAwLDB4MTEsMHg0MCwweDA0LDB4NTAsMHgwMCwweDE0IH0sCi0gIDE2LCAweGNkNDAsIDAsIHsweDAwLDB4NDUsMHgwMCwweDExLDB4NDAsMHgwMCwweDUwLDB4MDAsMHgwNCwweDAwLDB4NDUsMHgwMCwweDAwLDB4NDAsMHgwNCwweDUwIH0sCi0gIDE2LCAweGNkNTAsIDAsIHsweDAwLDB4MTQsMHgwMCwweDAxLDB4MDAsMHgxMSwweDQwLDB4MDQsMHg1MCwweDAxLDB4MTQsMHgwMCwweDQ1LDB4MDAsMHgwMCwweDQyIH0sCi0gIDE2LCAweGNkNjAsIDAsIHsweDAxLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDAwLDB4MDYsMHgwMCwweDQxLDB4ODAsMHgxMCwweDYwIH0sCi0gIDE2LCAweGNkNzAsIDAsIHsweDA0LDB4MTgsMHgwMSwweDA2LDB4MDAsMHg0MSwweDgwLDB4MTAsMHg2MCwweDA0LDB4MTgsMHgwMSwweDA2LDB4MDAsMHg0MSwweDgwIH0sCi0gIDE2LCAweGNkODAsIDAsIHsweDEwLDB4NjAsMHgwNCwweDE4LDB4MDEsMHgwNiwweDAwLDB4NDEsMHg4MCwweDEwLDB4NjAsMHgwNCwweDE4LDB4MDEsMHgwNiwweDAwIH0sCi0gIDE2LCAweGNkOTAsIDAsIHsweDQxLDB4ODAsMHgxMCwweDYwLDB4MDQsMHgxOCwweDAxLDB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGNkYTAsIDAsIHsweDQ4LDB4MDAsMHgwMiwweDAxLDB4MDAsMHg4MCwweDQwLDB4MjEsMHgxMCwweDA4LDB4MDQsMHgwMiwweDAxLDB4MDAsMHg4MCwweDQwIH0sCi0gIDE2LCAweGNkYjAsIDAsIHsweDIwLDB4MTAsMHgwOCwweDA0LDB4MDIsMHgwMSwweDAwLDB4ODAsMHg0MCwweDIxLDB4MTAsMHgwOCwweDA0LDB4MDIsMHgwMSwweDAwIH0sCi0gIDE2LCAweGNkYzAsIDAsIHsweDgwLDB4NDAsMHgzMCwweDEwLDB4MDgsMHgwNCwweDAyLDB4MTEsMHgwMCwweDg0LDB4NDAsMHgyMCwweDEwLDB4MDgsMHgxNCwweDAwIH0sCi0gIDE2LCAweGNkZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDQ1LDB4NDYsMHgwMywweDUxLDB4ODAsMHhkNCwweDYwIH0sCi0gIDE2LCAweGNkZTAsIDAsIHsweDM1LDB4MTgsMHgwZCwweDQ2LDB4MDMsMHg1MSwweDgwLDB4ZDQsMHg2MCwweDM1LDB4MTgsMHgwZCwweDQ2LDB4MDMsMHg1MSwweDgwIH0sCi0gIDE2LCAweGNkZjAsIDAsIHsweGQ0LDB4NjAsMHgzNSwweDEwLDB4MGQsMHg0NiwweDAzLDB4NTEsMHg4MCwweGQ0LDB4NDAsMHgzNSwweDE4LDB4MGQsMHg0NiwweDAzIH0sCi0gIDE2LCAweGNlMDAsIDAsIHsweDUxLDB4ODAsMHhkNCwweDYwLDB4MzUsMHgxOCwweDBkLDB4NDAsMHgxMSwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGNlMTAsIDAsIHsweDAwLDB4MDEsMHg0NiwweDA0LDB4NzEsMHg4MSwweDFjLDB4NjAsMHgwNywweDE4LDB4MTEsMHhjZSwweDA0LDB4NzEsMHg4MSwweDFjIH0sCi0gIDE2LCAweGNlMjAsIDAsIHsweDYwLDB4NDcsMHgxOCwweDAxLDB4YzYsMHgwNCwweDcxLDB4ODEsMHg5YywweDYwLDB4NDcsMHgxOCwweDE5LDB4YzYsMHgwNCwweDcxIH0sCi0gIDE2LCAweGNlMzAsIDAsIHsweDgwLDB4MWMsMHg2MCwweDY3LDB4MTgsMHgxMSwweGM2LDB4MDQsMHg3MSwweDgxLDB4MWMsMHg2MCwweDQ3LDB4MTgsMHgxMSwweGMwIH0sCi0gIDE2LCAweGNlNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDAwLDB4NDYsMHgwMiwweDcxLDB4ODAsMHg5YywweDYwIH0sCi0gIDE2LCAweGNlNTAsIDAsIHsweDI3LDB4MTgsMHgwOSwweGM2LDB4MDYsMHg3MSwweDgwLDB4MWMsMHg2MCwweDI3LDB4MTgsMHgwOSwweGM2LDB4MDEsMHgzMSwweDgwIH0sCi0gIDE2LCAweGNlNjAsIDAsIHsweDFjLDB4NjAsMHgwNywweDE4LDB4MDksMHhjNiwweDAyLDB4NzEsMHg4MCwweDljLDB4NjAsMHgwNywweDE4LDB4MDksMHhjNiwweDEyIH0sCi0gIDE2LCAweGNlNzAsIDAsIHsweDcxLDB4ODAsMHg5YywweDYwLDB4MzMsMHgxOCwweDAxLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGNlODAsIDAsIHsweDUwLDB4NDUsMHg0NiwweDA1LDB4NzEsMHg4MSwweDVjLDB4NjAsMHg1NywweDE4LDB4MTUsMHhjNiwweDA1LDB4NzEsMHg4MCwweDVjIH0sCi0gIDE2LCAweGNlOTAsIDAsIHsweDYwLDB4NTcsMHgxOCwweDE1LDB4YzYsMHgwMSwweDMxLDB4ODEsMHgwYywweDYwLDB4MTcsMHgxOCwweDEwLDB4YzYsMHgwNSwweDcxIH0sCi0gIDE2LCAweGNlYTAsIDAsIHsweDgxLDB4NWMsMHg2MCwweDAzLDB4MTgsMHgxNSwweGM2LDB4MDUsMHg3MSwweDgxLDB4NWMsMHg2MCwweDUzLDB4MTgsMHgxOCwweDgyIH0sCi0gIDE2LCAweGNlYjAsIDAsIHsweDEwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDQwLDB4MTIsMHgwMSwweDI0LDB4ODAsMHg0OCwweDIwIH0sCi0gIDE2LCAweGNlYzAsIDAsIHsweDEyLDB4MDgsMHgwNCwweDgyLDB4MDEsMHgyNCwweDgwLDB4NDgsMHgyMCwweDEyLDB4MDgsMHgwNCwweDgyLDB4MDEsMHgyMCwweDgwIH0sCi0gIDE2LCAweGNlZDAsIDAsIHsweDU4LDB4MjAsMHg1MiwweDBjLDB4MDUsMHg4MiwweDAxLDB4MjAsMHg4MCwweDQ5LDB4MjAsMHgwMiwweDA4LDB4MDQsMHg4MiwweDAxIH0sCi0gIDE2LCAweGNlZTAsIDAsIHsweDIwLDB4ODAsMHg0OSwweDIwLDB4MTIsMHg0OCwweDA0LDB4ODAsMHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGNlZjAsIDAsIHsweDQwLDB4MDQsMHgwNiwweDAwLDB4NjEsMHg4MCwweDE4LDB4NjAsMHgwNiwweDE4LDB4MDEsMHg4NiwweDA0LDB4NjEsMHg4MCwweDE4IH0sCi0gIDE2LCAweGNmMDAsIDAsIHsweDYwLDB4MDYsMHgxOCwweDAxLDB4ODYsMHgwMCwweDYxLDB4ODEsMHg0OCwweDYwLDB4MDYsMHgxOCwweDE0LDB4ODYsMHgwMCwweDYxIH0sCi0gIDE2LCAweGNmMTAsIDAsIHsweDgwLDB4MTgsMHg2MCwweDQyLDB4MTgsMHgwMSwweDg2LDB4MDAsMHg2MSwweDgwLDB4MTgsMHg2MCwweDA2LDB4MTgsMHgwMCwweDgwIH0sCi0gIDE2LCAweGNmMjAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ1LDB4NjAsMHgwNCwweDc4LDB4MDEsMHgxZSwweDAwIH0sCi0gIDE2LCAweGNmMzAsIDAsIHsweDQ3LDB4ODAsMHgxMSwweGU4LDB4MDAsMHg3OCwweDAxLDB4MWUsMHgwMCwweDQ3LDB4ODAsMHgxMSwweGUwLDB4MDQsMHg3OCwweDAxIH0sCi0gIDE2LCAweGNmNDAsIDAsIHsweDFlLDB4MDAsMHg0MywweDgwLDB4MTEsMHhlMCwweDA0LDB4NzgsMHgwMSwweDFlLDB4MDAsMHgwMywweDgwLDB4MTUsMHhlMCwweDA0IH0sCi0gIDE2LCAweGNmNTAsIDAsIHsweDc4LDB4MDEsMHgxZSwweDAwLDB4NDcsMHg4MCwweDExLDB4YzAsMHgxMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGNmNjAsIDAsIHsweDQwLDB4MDEsMHgxMiwweDAwLDB4NjQsMHg4MCwweDE4LDB4MjAsMHgwNiwweDA4LDB4MDEsMHg4MiwweDAwLDB4NjQsMHg4MCwweDE4IH0sCi0gIDE2LCAweGNmNzAsIDAsIHsweDIwLDB4MDYsMHgwOCwweDAxLDB4ODIsMHgwMCwweDYwLDB4ODAsMHgxOCwweDMwLDB4MDIsMHgwOCwweDAxLDB4ODIsMHgwMCwweDYwIH0sCi0gIDE2LCAweGNmODAsIDAsIHsweDgwLDB4MTksMHgzMCwweDQyLDB4MDgsMHgwMCwweDgyLDB4MDAsMHg2MCwweDgwLDB4MTksMHgyMCwweDA2LDB4NDgsMHgwMSwweDgwIH0sCi0gIDE2LCAweGNmOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDAxLDB4NDIsMHgwNCwweDIwLDB4ODEsMHgwOCwweDIwIH0sCi0gIDE2LCAweGNmYTAsIDAsIHsweDQyLDB4MDgsMHgxMCwweDgyLDB4MDAsMHgyMCwweDgxLDB4MDgsMHgyMCwweDQyLDB4MDgsMHgxMCwweDgyLDB4MDQsMHgyMCwweDgxIH0sCi0gIDE2LCAweGNmYjAsIDAsIHsweDA4LDB4MjAsMHg0NiwweDA4LDB4MTAsMHg4MiwweDA0LDB4MjAsMHg4MSwweDA4LDB4MjAsMHg0MiwweDA4LDB4MTEsMHg4MiwweDA0IH0sCi0gIDE2LCAweGNmYzAsIDAsIHsweDIwLDB4ODEsMHgwOCwweDIwLDB4NDIsMHgwOCwweDEwLDB4ODAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGNmZDAsIDAsIHsweDQwLDB4NDUsMHg0MiwweDA0LDB4NDAsMHg4MSwweDEwLDB4MjAsMHg0NCwweDA4LDB4MTEsMHgwMiwweDAwLDB4NDAsMHg4MSwweDEwIH0sCi0gIDE2LCAweGNmZTAsIDAsIHsweDIwLDB4NDQsMHgwOCwweDExLDB4MDIsMHgwNCwweDQwLDB4ODAsMHgxMCwweDIwLDB4NDUsMHgwOCwweDAxLDB4MDIsMHgwNCwweDQwIH0sCi0gIDE2LCAweGNmZjAsIDAsIHsweDgxLDB4MTAsMHgyMSwweDAwLDB4MGMsMHgxMSwweDAyLDB4MDQsMHg0MCwweDgxLDB4MTAsMHgyMCwweDQ0LDB4MDgsMHgwMSwweDAwIH0sCi0gIDE2LCAweGQwMDAsIDAsIHsweDExLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDAwLDB4MDMsMHgwMCwweDUwLDB4YzAsMHgxNCwweDMwIH0sCi0gIDE2LCAweGQwMTAsIDAsIHsweDA1LDB4MGMsMHgwMSwweDQzLDB4MDAsMHg1MCwweGMwLDB4MTQsMHgzMCwweDA1LDB4MGMsMHgwMSwweDQzLDB4MDAsMHg1MCwweGMwIH0sCi0gIDE2LCAweGQwMjAsIDAsIHsweDE0LDB4MzAsMHgwNSwweDBjLDB4MDEsMHg0MywweDAwLDB4NTAsMHhjMCwweDE0LDB4MzAsMHgwNSwweDBjLDB4MDEsMHg0MywweDAwIH0sCi0gIDE2LCAweGQwMzAsIDAsIHsweDUwLDB4YzAsMHgxNCwweDMwLDB4MDUsMHgwYywweDAxLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQwNDAsIDAsIHsweDQwLDB4MDAsMHgwOCwweDAwLDB4NDIsMHgwNCwweDEwLDB4ODAsMHgwNCwweDIwLDB4MDEsMHgwOSwweDAwLDB4NDIsMHgwMSwweDEwIH0sCi0gIDE2LCAweGQwNTAsIDAsIHsweDgwLDB4MDQsMHgyMCwweDAxLDB4MDgsMHgwMCwweDQyLDB4MDAsMHgxMCwweDAwLDB4MDQsMHgyMCwweDAxLDB4MDgsMHgwMCwweDQyIH0sCi0gIDE2LCAweGQwNjAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDA0LDB4MDAsMHgwMSwweDA4LDB4MDAsMHg0MiwweDAwLDB4MTAsMHg4MCwweDA0LDB4MjAsMHgxMSwweDAwIH0sCi0gIDE2LCAweGQwNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDQ1LDB4NDIsMHgwMiwweDAwLDB4ODAsMHg4MCwweDIwIH0sCi0gIDE2LCAweGQwODAsIDAsIHsweDIwLDB4MDgsMHgwOCwweDAyLDB4MDIsMHgwMCwweDgwLDB4MDAsMHgyMCwweDIwLDB4MDgsMHgwOCwweDAyLDB4MDAsMHgwMCwweDgwIH0sCi0gIDE2LCAweGQwOTAsIDAsIHsweDgwLDB4YTAsMHgwMCwweDBhLDB4MDgsMHgwMiwweDAyLDB4MDAsMHg4MCwweDgwLDB4MzQsMHg2MiwweDI4LDB4MDgsMHgwMiwweDAyIH0sCi0gIDE2LCAweGQwYTAsIDAsIHsweDAwLDB4ODAsMHg4MCwweDMwLDB4MjAsMHgwYywweDA4LDB4MDAsMHgxMSwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQwYjAsIDAsIHsweDQwLDB4MDEsMHg0MCwweDA0LDB4NjAsMHgwMSwweDE4LDB4MDAsMHg0NiwweDAwLDB4MTEsMHg4MCwweDA0LDB4NjAsMHgwMywweDE4IH0sCi0gIDE2LCAweGQwYzAsIDAsIHsweDAwLDB4NDYsMHgwMCwweDExLDB4ODAsMHgwNiwweDYwLDB4MDEsMHg5OCwweDAwLDB4NDYsMHgwMCwweDExLDB4ODAsMHgwNCwweDYwIH0sCi0gIDE2LCAweGQwZDAsIDAsIHsweDAxLDB4MTgsMHgwMCwweDY2LDB4MDAsMHgxMSwweDgwLDB4MDQsMHg2MCwweDAxLDB4MTgsMHgwMCwweDQ2LDB4MDAsMHgxMSwweDgwIH0sCi0gIDE2LCAweGQwZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDAxLDB4MDAsMHgwMiwweDYwLDB4MDAsMHg5OCwweDAwIH0sCi0gIDE2LCAweGQwZjAsIDAsIHsweDI2LDB4MDAsMHgwOSwweDgwLDB4MDIsMHg2NCwweDAwLDB4OTgsMHgwMCwweDI2LDB4MDAsMHgxOSwweDkwLDB4MDIsMHg2MCwweDAwIH0sCi0gIDE2LCAweGQxMDAsIDAsIHsweDFkLDB4MDAsMHgyNiwweDAwLDB4MDEsMHhjMCwweDAyLDB4NjAsMHgwMCwweDk5LDB4MDAsMHgwNiwweDQwLDB4MTksMHg4MCwweDAyIH0sCi0gIDE2LCAweGQxMTAsIDAsIHsweDYwLDB4MDAsMHg5OCwweDAwLDB4NjYsMHgwMCwweDAxLDB4ODAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQxMjAsIDAsIHsweDQwLDB4NDUsMHg2MCwweDA0LDB4MzgsMHgwMSwweDBlLDB4MDAsMHg0MywweDgwLDB4MTAsMHhlMCwweDA0LDB4MzgsMHgwMSwweDBlIH0sCi0gIDE2LCAweGQxMzAsIDAsIHsweDAwLDB4NDMsMHg4MCwweDEwLDB4ZTAsMHgwNCwweDM4LDB4MDEsMHgxYSwweDAwLDB4NDMsMHg4MCwweDExLDB4YTAsMHgwNCwweDM4IH0sCi0gIDE2LCAweGQxNDAsIDAsIHsweDAxLDB4MGUsMHgwMCwweDAyLDB4ODAsMHg0MCwweGUwLDB4MDQsMHgzOCwweDAxLDB4MGUsMHgwMCwweDQzLDB4ODAsMHgxOCwweDgwIH0sCi0gIDE2LCAweGQxNTAsIDAsIHsweDExLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg1MCwweDA0LDB4MDEsMHgwMCwweDMwLDB4NDAsMHgwYywweDEwIH0sCi0gIDE2LCAweGQxNjAsIDAsIHsweDAzLDB4MDQsMHgwMCwweGM5LDB4MDAsMHgzMCwweDQwLDB4MGMsMHgxMCwweDAzLDB4MDQsMHgwMCwweGMxLDB4MDAsMHgzMCwweDQwIH0sCi0gIDE2LCAweGQxNzAsIDAsIHsweDA4LDB4MTAsMHgwMywweDA0LDB4MDAsMHg4MSwweDAwLDB4MzAsMHg0MCwweDBjLDB4NzgsMHgwMiwweDE0LDB4MDAsMHhjMSwweDAwIH0sCi0gIDE2LCAweGQxODAsIDAsIHsweDMwLDB4NDAsMHgwYywweDEwLDB4MDMsMHgwNCwweDAwLDB4ODAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQxOTAsIDAsIHsweDQwLDB4MDAsMHgwNSwweDAwLDB4MzEsMHg0MCwweDBjLDB4NTAsMHgwMywweDE0LDB4MDAsMHhjNSwweDAwLDB4MzUsMHg0MCwweDBjIH0sCi0gIDE2LCAweGQxYTAsIDAsIHsweDUwLDB4MDMsMHgxNCwweDEwLDB4ZDUsMHgwMCwweDMxLDB4NDEsMHgwZCwweDUwLDB4MDMsMHgxNCwweDEwLDB4YzUsMHgwMCwweDMxIH0sCi0gIDE2LCAweGQxYjAsIDAsIHsweDQwLDB4MGQsMHg0OCwweDQzLDB4NTQsMHgxMCwweGM1LDB4MDAsMHgzMSwweDQwLDB4MGMsMHg0MCwweDQzLDB4MTAsMHgwMCwweGMyIH0sCi0gIDE2LCAweGQxYzAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDQ1LDB4NDMsMHgwNCwweDYwLDB4YzEsMHgxOCwweDMwIH0sCi0gIDE2LCAweGQxZDAsIDAsIHsweDQ2LDB4MGMsMHgxMSwweDgzLDB4MDQsMHg2MSwweGMxLDB4MTgsMHgzMCwweDQ2LDB4MGMsMHgwMSwweDg3LDB4MDQsMHg2MCwweGMxIH0sCi0gIDE2LCAweGQxZTAsIDAsIHsweDE4LDB4MzAsMHg0NiwweDA4LDB4MTEsMHg4MywweDA0LDB4NjAsMHhjMSwweDE4LDB4MjAsMHgwNiwweDBjLDB4MDEsMHg4MywweDA0IH0sCi0gIDE2LCAweGQxZjAsIDAsIHsweDYwLDB4YzEsMHgxOCwweDMwLDB4NDYsMHgwYywweDExLDB4ODAsMHgxMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQyMDAsIDAsIHsweDQwLDB4MDEsMHg0MCwweDAwLDB4MjAsMHgwMCwweDA4LDB4MDAsMHgwMiwweDAwLDB4MDAsMHg4MCwweDAwLDB4MjAsMHgwMCwweDA4IH0sCi0gIDE2LCAweGQyMTAsIDAsIHsweDAwLDB4MDIsMHgwMCwweDAwLDB4ODEsMHgwMCwweDIwLDB4MDAsMHgwOCwweDgwLDB4MDIsMHgwMCwweDAwLDB4YzAsMHgwMCwweDIwIH0sCi0gIDE2LCAweGQyMjAsIDAsIHsweDAwLDB4MDgsMHg0MCwweDQzLDB4MzAsMHgwMCwweDgwLDB4MDAsMHgyMCwweDAwLDB4MDgsMHgwMCwweDAyLDB4MDAsMHgwMCwweDgwIH0sCi0gIDE2LCAweGQyMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDAxLDB4NDgsMHg0NCwweDYyLDB4MTEsMHgxOCwweDg0IH0sCi0gIDE2LCAweGQyNDAsIDAsIHsweDQ2LDB4MjEsMHgxMSwweDg4LDB4NDQsMHg2MywweDAxLDB4MTgsMHg4NCwweDQ2LDB4MjEsMHgwMSwweDg4LDB4MDQsMHg2MiwweDExIH0sCi0gIDE2LCAweGQyNTAsIDAsIHsweDE4LDB4MDQsMHg0NiwweDIxLDB4MTAsMHhjOCwweDQ0LDB4NjIsMHgxMSwweDE4LDB4MDUsMHg0MywweDAxLDB4ODEsMHg4OCwweDQ0IH0sCi0gIDE2LCAweGQyNjAsIDAsIHsweDYyLDB4MTEsMHgxOCwweDg0LDB4NDYsMHgyMSwweDExLDB4ODAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQyNzAsIDAsIHsweDQwLDB4NDUsMHg0MCwweDA0LDB4NTAsMHgwMSwweDE0LDB4MDQsMHg0NSwweDAxLDB4MTEsMHg0MCwweDQ0LDB4NTAsMHgwMSwweDE0IH0sCi0gIDE2LCAweGQyODAsIDAsIHsweDA0LDB4NDUsMHgwMSwweDAxLDB4NDAsMHg0NSwweDAwLDB4MTAsMHgxNCwweDA0LDB4NDUsMHgwMywweDAwLDB4NDAsMHg0NCwweDUwIH0sCi0gIDE2LCAweGQyOTAsIDAsIHsweDExLDB4MTQsMHgwNCwweDAxLDB4MDUsMHg0MSwweDQwLDB4NDQsMHg1MCwweDExLDB4MTQsMHgwNCwweDA1LDB4MDEsMHgwMSwweDQwIH0sCi0gIDE2LCAweGQyYTAsIDAsIHsweDExLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDAwLDB4MDgsMHgyMCwweDQyLDB4MDgsMHgxMCwweDgyIH0sCi0gIDE2LCAweGQyYjAsIDAsIHsweDA0LDB4MjAsMHg4MSwweDA4LDB4MDAsMHg0MiwweDAwLDB4MTAsMHg4MiwweDA0LDB4MjAsMHg4MSwweDA4LDB4MDAsMHg0MiwweDA4IH0sCi0gIDE2LCAweGQyYzAsIDAsIHsweDEwLDB4ODIsMHgwNSwweDIwLDB4ODEsMHgwOCwweDIwLDB4NDIsMHgwOCwweDEwLDB4OGEsMHgwNSwweDIwLDB4MDUsMHgwOCwweDIwIH0sCi0gIDE2LCAweGQyZDAsIDAsIHsweDQyLDB4MDgsMHgxMCwweDgyLDB4MDQsMHgyMiwweDgxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQyZTAsIDAsIHsweDAwLDB4MDAsMHgwYSwweDAxLDB4MDIsMHg4MCwweDQwLDB4YTAsMHgxMCwweDI4LDB4MDQsMHgwMiwweDAxLDB4MDIsMHg4MCwweDQwIH0sCi0gIDE2LCAweGQyZjAsIDAsIHsweGEwLDB4MTAsMHgyOCwweDA0LDB4MGEsMHgwMSwweDAyLDB4ODAsMHg0MCwweGEwLDB4MDAsMHgyOSwweDA0LDB4MGEsMHgwMSwweDAyIH0sCi0gIDE2LCAweGQzMDAsIDAsIHsweDgwLDB4NDAsMHhhNCwweDAwLDB4MjgsMHgwNCwweDBhLDB4MDEsMHgwMiwweDgwLDB4NDAsMHhhOCwweDEwLDB4MmIsMHgxNCwweDAwIH0sCi0gIDE2LCAweGQzMTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDQ1LDB4NGQsMHgwMywweDUzLDB4NDAsMHhkNCwweGQwIH0sCi0gIDE2LCAweGQzMjAsIDAsIHsweDM1LDB4MzQsMHgwZCwweDRkLDB4MDMsMHg1MywweDQwLDB4ZDQsMHhkMCwweDM1LDB4MzQsMHgwZCwweDRkLDB4MDMsMHg1MywweDQwIH0sCi0gIDE2LCAweGQzMzAsIDAsIHsweGQ0LDB4ZDAsMHgyMSwweDM0LDB4NGQsMHg0ZCwweDAzLDB4NTMsMHg0MCwweGQ0LDB4ZDksMHg2MSwweDM0LDB4MDQsMHgwZCwweDAzIH0sCi0gIDE2LCAweGQzNDAsIDAsIHsweDUzLDB4NDAsMHhjMCwweGQ4LDB4MzUsMHgzNywweDBkLDB4NDAsMHgxMSwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQzNTAsIDAsIHsweDQwLDB4MDEsMHg0OCwweDA0LDB4NzIsMHgwMCwweDFjLDB4ODAsMHg0NywweDIwLDB4MTEsMHhjOCwweDA0LDB4NzIsMHgwMSwweDFjIH0sCi0gIDE2LCAweGQzNjAsIDAsIHsweDgwLDB4NDcsMHgyMCwweDExLDB4YzgsMHgwNCwweDcyLDB4MDAsMHg5YywweDgwLDB4NDcsMHgyMCwweDE5LDB4YzgsMHgwMCwweDcyIH0sCi0gIDE2LCAweGQzNzAsIDAsIHsweDAxLDB4MWMsMHg4OCwweDY3LDB4MjAsMHgxMSwweGM4LDB4MDQsMHg3MiwweDAxLDB4NWMsMHg4MiwweDQ3LDB4MjIsMHgxMSwweGMwIH0sCi0gIDE2LCAweGQzODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjMsMHgwOCwweDQ4LDB4YzIsMHgxMiwweDMxIH0sCi0gIDE2LCAweGQzOTAsIDAsIHsweDg0LDB4OGMsMHg2MSwweDIzLDB4MTAsMHg0MCwweGMwLDB4MTIsMHgzMSwweDg0LDB4OGMsMHg2MSwweDAzLDB4MTAsMHg0OCwweGM0IH0sCi0gIDE2LCAweGQzYTAsIDAsIHsweDEwLDB4MzEsMHg4NCwweDhjLDB4NDEsMHgyMywweDE4LDB4NDgsMHhjNiwweDEwLDB4MzAsMHgwNCwweDBjLDB4NDEsMHgyMywweDE4IH0sCi0gIDE2LCAweGQzYjAsIDAsIHsweDQ4LDB4YzYsMHgxMiwweDMwLDB4ODQsMHg4YywweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQzYzAsIDAsIHsweDAwLDB4MDAsMHgzZiwweGZmLDB4NGYsMHhmZiwweGQzLDB4ZmYsMHhmNCwweGZmLDB4ZmQsMHgzZiwweGZmLDB4NGYsMHhmZiwweGQzIH0sCi0gIDE2LCAweGQzZDAsIDAsIHsweGZmLDB4ZjQsMHhmZiwweGZkLDB4M2YsMHhmZiwweDRmLDB4ZmYsMHhkMywweGZmLDB4ZjQsMHhmZiwweGZkLDB4M2YsMHhmZiwweDRmIH0sCi0gIDE2LCAweGQzZTAsIDAsIHsweGZmLDB4ZDMsMHhmZiwweGY0LDB4ZmYsMHhkZCwweDNmLDB4ZmYsMHg0ZiwweGZmLDB4ZDMsMHhmZiwweGY0LDB4ZmYsMHhmZCwweDAwIH0sCi0gIDE2LCAweGQzZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQ0MDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQ0MTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQ0MjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQ0MzAsIDAsIHsweDAwLDB4MDAsMHgyYywweGRiLDB4MGIsMHgzNiwweGMyLDB4Y2QsMHhiMCwweGIzLDB4NmMsMHgyYywweGRiLDB4MGIsMHgzNiwweGMyIH0sCi0gIDE2LCAweGQ0NDAsIDAsIHsweGNkLDB4YjAsMHhiMywweDZjLDB4MmMsMHhkYiwweDBiLDB4MzYsMHhjMiwweGNkLDB4YjAsMHhiMywweDZjLDB4MmMsMHhkYiwweDBiIH0sCi0gIDE2LCAweGQ0NTAsIDAsIHsweDM2LDB4YzIsMHhjZCwweGIwLDB4YjMsMHg0YywweDJjLDB4ZGIsMHgwYiwweDM2LDB4YzIsMHhjZCwweGIwLDB4YjMsMHg2YywweDAwIH0sCi0gIDE2LCAweGQ0NjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzMsMHg1YywweDRjLDB4ZDcsMHgxMywweDMzIH0sCi0gIDE2LCAweGQ0NzAsIDAsIHsweGM0LDB4Y2MsMHhmMSwweDMzLDB4M2EsMHg0YSwweGQ2LDB4OTMsMHgzMywweGM0LDB4Y2MsMHhmMSwweDJiLDB4M2EsMHg0YywweGNmIH0sCi0gIDE2LCAweGQ0ODAsIDAsIHsweDEzLDB4MzMsMHhjNCwweGNjLDB4ZTksMHgzMywweDNjLDB4NGMsMHhjZiwweDEyLDB4YjUsMHhhNCwweGFjLDB4YzksMHgzMywweDNjIH0sCi0gIDE2LCAweGQ0OTAsIDAsIHsweDRjLDB4Y2YsMHgxMywweDM1LDB4YzQsMHhjZCwweDY5LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQ0YTAsIDAsIHsweDAwLDB4MDAsMHgzYiwweDdlLDB4NGUsMHhkZiwweDkzLDB4YjcsMHhlNCwweGVkLDB4ZjksMHgzYiwweDdlLDB4NGUsMHhkZiwweDkzIH0sCi0gIDE2LCAweGQ0YjAsIDAsIHsweGI3LDB4ZTQsMHhlZCwweGY5LDB4M2IsMHg3ZSwweDRlLDB4ZGUsMHgxMiwweDM3LDB4ZTQsMHhlZCwweGUxLDB4M2IsMHg3ZSwweDRlIH0sCi0gIDE2LCAweGQ0YzAsIDAsIHsweGRmLDB4OTIsMHgzMSwweDg0LDB4OGQsMHhkOSwweDNiLDB4N2UsMHg0ZSwweGRmLDB4OTMsMHhiMSwweGU0LDB4ZWMsMHg2MSwweDAwIH0sCi0gIDE2LCAweGQ0ZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4NCwweDA0LDB4YTEsMHg4MywweDJjIH0sCi0gIDE2LCAweGQ0ZTAsIDAsIHsweDAzLDB4MGEsMHgxMCwweDgyLDB4YzEsMHgzNCwweDEwLDB4OGYsMHgwMCwweDQwLDB4MDksMHgxNCwweDAyLDB4MDMsMHgxNCwweDkxIH0sCi0gIDE2LCAweGQ0ZjAsIDAsIHsweDAwLDB4MDgsMHg0MiwweDBiLDB4MTgsMHg4MiwweGM0LDB4MDAsMHgzMSwweGNhLDB4MGMsMHg1MiwweDAyLDB4MTAsMHg4MCwweDg1IH0sCi0gIDE2LCAweGQ1MDAsIDAsIHsweDAwLDB4MjEsMHg4MiwweDI4LDB4NDAsMHgwYSwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQ1MTAsIDAsIHsweDAwLDB4MDAsMHgwYSwweDA0LDB4MDIsMHgwMSwweDQwLDB4ODAsMHg3MywweDI4LDB4MTAsMHg0OCwweDA3LDB4MDYsMHgwMSwweDA0IH0sCi0gIDE2LCAweGQ1MjAsIDAsIHsweGE0LDB4NDEsMHgyMSwweDE0LDB4MDgsMHg0NCwweDA2LDB4MTEsMHg0MCwweDgwLDB4NzAsMHgyMCwweDE0LDB4MGEsMHgwNCwweDAyIH0sCi0gIDE2LCAweGQ1MzAsIDAsIHsweDAwLDB4YzgsMHg4NCwweDQxLDB4MjEsMHgxYywweDA4LDB4MDYsMHgxMiwweDAxLDB4YzAsMHg4MCwweDYwLDB4MjAsMHgxNCwweDAwIH0sCi0gIDE2LCAweGQ1NDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDIsMHg4NCwweDA0LDB4MjEsMHg4MiwweDA4IH0sCi0gIDE2LCAweGQ1NTAsIDAsIHsweDUzLDB4MDIsMHgxMCwweDgwLDB4YzUsMHgwMCwweDgxLDB4NGEsMHgwNCwweDQyLDB4MDIsMHgxNCwweDAwLDB4MDQsMHgyMCwweDIxIH0sCi0gIDE2LCAweGQ1NjAsIDAsIHsweDgwLDB4YTgsMHg3MiwweDIyLDB4MWMsMHg4OCwweGM0LDB4MDYsMHhhMSwweDQyLDB4OGMsMHg1MiwweDIyLDB4MWMsMHg4OCwweDg1IH0sCi0gIDE2LCAweGQ1NzAsIDAsIHsweDI2LDB4MjEsMHhjMCwweDg4LDB4NTAsMHgyMiwweDE4LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQ1ODAsIDAsIHsweDAwLDB4MDAsMHgwMiwweDQ0LDB4MDAsMHgwMSwweDAxLDB4MDAsMHg2MiwweDAwLDB4MTAsMHgwMCwweDA0LDB4MDAsMHgwMSwweDAxIH0sCi0gIDE2LCAweGQ1OTAsIDAsIHsweDIwLDB4NDAsMHgwMCwweDFjLDB4MDAsMHg0NCwweDA0LDB4MDEsMHgwMiwweDIwLDB4NjIsMHgwMCwweDFjLDB4ODAsMHgwNCwweDA0IH0sCi0gIDE2LCAweGQ1YTAsIDAsIHsweDgwLDB4ODksMHgyMCwweDUwLDB4MDgsMHgxNCwweDgwLDB4MDQsMHgyNCwweDAxLDB4YzEsMHgwMCwweDUwLDB4MDAsMHgxOCwweDAwIH0sCi0gIDE2LCAweGQ1YjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDIsMHg4MCwweDM4LDB4MjAsMHgwNCwweDBjIH0sCi0gIDE2LCAweGQ1YzAsIDAsIHsweDMxLDB4MGEsMHgwMCwweDAwLDB4MDIsMHgxOCwweDIwLDB4OGMsMHhhOCwweDEwLDB4MjgsMHgwOCwweDg4LDB4YzEsMHgxNCwweDEwIH0sCi0gIDE2LCAweGQ1ZDAsIDAsIHsweGM2LDB4MDAsMHgyMiwweDAzLDB4MDgsMHgwMiwweDAxLDB4MDgsMHhiMCwweDAwLDB4MGMsMHgyMSwweDAyLDB4MDAsMHg4MiwweDgwIH0sCi0gIDE2LCAweGQ1ZTAsIDAsIHsweDA4LDB4MDAsMHg0OSwweDA4LDB4MDAsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQ1ZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAxLDB4MDAsMHg4MCwweDA4LDB4MjAsMHgwMywweDAwLDB4MDQsMHgwMiwweDQzLDB4MjAsMHgwMCwweDQwIH0sCi0gIDE2LCAweGQ2MDAsIDAsIHsweDAwLDB4MjAsMHgwMCwweDA0LDB4NDIsMHgwMSwweDEwLDB4ODAsMHg4NCwweDIwLDB4MTEsMHgwOCwweDA0LDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQ2MTAsIDAsIHsweDAwLDB4NDQsMHgyNCwweDIwLDB4MDksMHgwOCwweDQwLDB4MDMsMHgwMCwweDkwLDB4YzQsMHgyMCwweDIwLDB4MDgsMHgwYywweDAyIH0sCi0gIDE2LCAweGQ2MjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDAwLDB4MDgsMHg4MSwweDA4LDB4MjAsMHgwNCwweDg4IH0sCi0gIDE2LCAweGQ2MzAsIDAsIHsweDAyLDB4MjIsMHgwOCwweDA4LDB4YzMsMHgyYSwweDkwLDB4NDAsMHg4NCwweDEwLDB4MjAsMHgwNCwweDgwLDB4YzIsMHgyNiwweDIwIH0sCi0gIDE2LCAweGQ2NDAsIDAsIHsweDQ5LDB4ODgsMHgyMiwweDIyLDB4MGMsMHgwOCwweGMxLDB4MjYsMHhhMCwweGM5LDB4OGMsMHgxMiwweDJhLDB4MDQsMHg4OCwweDQzIH0sCi0gIDE2LCAweGQ2NTAsIDAsIHsweDBlLDB4YTAsMHhjYiwweDg4LDB4MTAsMHgyMiwweDBjLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQ2NjAsIDAsIHsweDA4LDB4MDAsMHgwYSwweDQwLDB4MzIsMHgwMCwweDAxLDB4ODAsMHgzMSwweDI4LDB4MDAsMHgwMCwweDAxLDB4MTIsMHg4MCwweDhkIH0sCi0gIDE2LCAweGQ2NzAsIDAsIHsweDg0LDB4MDAsMHgyOCwweDBjLDB4MDgsMHgwMSwweDMyLDB4MDAsMHg4YywweDgwLDB4MDIsMHgyMCwweDBjLDB4MDgsMHgwMSwweDJlIH0sCi0gIDE2LCAweGQ2ODAsIDAsIHsweDAwLDB4YzMsMHg4MCwweDAyLDB4MjAsMHgwNCwweDA4LDB4NDMsMHgwMiwweDAwLDB4NDAsMHg4MCwweDEwLDB4MjAsMHgwNCwweDAyIH0sCi0gIDE2LCAweGQ2OTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDAwLDB4MDgsMHg4NywweDBhLDB4MjEsMHgwNCwweDg4IH0sCi0gIDE2LCAweGQ2YTAsIDAsIHsweDExLDB4MmEsMHgxYywweDBhLDB4MDYsMHgyMiwweDIxLDB4NDAsMHhhMCwweDQyLDB4MmEsMHgxMCwweDg4LDB4ODUsMHgwYSwweGExIH0sCi0gIDE2LCAweGQ2YjAsIDAsIHsweDA2LDB4YTQsMHg2MiwweDIyLDB4MWMsMHgwYSwweGM0LDB4MDIsMHgyMSwweDgwLDB4OGMsMHg1MiwweDIyLDB4MTQsMHg0OCwweDg2IH0sCi0gIDE2LCAweGQ2YzAsIDAsIHsweDIyLDB4MjAsMHgwOCwweGE4LDB4NjAsMHgyYSwweDE0LDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQ2ZDAsIDAsIHsweDAwLDB4MDAsMHgwOCwweDQ1LDB4MDYsMHgwMSwweDg5LDB4ODAsMHg2MywweDIwLDB4MWMsMHg4OCwweDQwLDB4MzQsMHgxMSwweDAxIH0sCi0gIDE2LCAweGQ2ZTAsIDAsIHsweGE0LDB4NTAsMHgyOCwweDE4LDB4NDgsMHgwNCwweDBlLDB4MDEsMHg0YiwweDgwLDB4NzMsMHgyOCwweDFjLDB4OGEsMHgwNCwweDA2IH0sCi0gIDE2LCAweGQ2ZjAsIDAsIHsweDkxLDB4NDksMHgwNCwweDYzLDB4MjAsMHgxYywweDhhLDB4MDYsMHgyNiwweDAxLDB4ODUsMHg4MCwweDcwLDB4MjAsMHgxOCwweDAyIH0sCi0gIDE2LCAweGQ3MDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDAwLDB4MDAsMHg4NSwweDAwLDB4YjEsMHg0NSwweDJjIH0sCi0gIDE2LCAweGQ3MTAsIDAsIHsweDcwLDB4MDIsMHgxNCwweGMwLDB4MDcsMHgwOCwweDIxLDB4NDksMHgwMCwweDQyLDB4MDEsMHgxNCwweDgyLDB4MDUsMHgwMCwweDExIH0sCi0gIDE2LCAweGQ3MjAsIDAsIHsweDg0LDB4MDAsMHg1MiwweDAyLDB4MWMsMHgwMCwweGM0LDB4MDAsMHgyMSwweGM0LDB4MmMsMHg1MywweDAyLDB4MWMsMHgwMiwweDgxIH0sCi0gIDE2LCAweGQ3MzAsIDAsIHsweDA0LDB4YTEsMHhjZCwweDA4LDB4NTAsMHgwMiwweDE0LDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQ3NDAsIDAsIHsweDA4LDB4MTAsMHgxMiwweDA0LDB4MzQsMHgwMSwweGNjLDB4MDAsMHg3MywweDQwLDB4MWMsMHg5MCwweDQ1LDB4MDQsMHgwMSwweDQ4IH0sCi0gIDE2LCAweGQ3NTAsIDAsIHsweDA0LDB4NjAsMHg0MSwweDE4LDB4YzAsMHg0NCwweDA0LDB4MDEsMHgwNSwweDA0LDB4NzMsMHg0OCwweDE0LDB4NTAsMHg0NywweDM0IH0sCi0gIDE2LCAweGQ3NjAsIDAsIHsweDAxLDB4NDUsMHgyMCwweDYyLDB4MDgsMHgxYywweGMyLDB4MDQsMHgwYywweDgxLDB4YzcsMHgwMCwweDczLDB4ODAsMHgxOCwweGMyIH0sCi0gIDE2LCAweGQ3NzAsIDAsIHsweDA0LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDAwLDB4MTAsMHg4NCwweDEwLDB4MjEsMHhjYywweDI4IH0sCi0gIDE2LCAweGQ3ODAsIDAsIHsweDQyLDB4MDIsMHgxNCwweDEyLDB4YzUsMHgxMCwweDIxLDB4ODQsMHgwNCwweDQwLDB4MDAsMHgxYywweDgwLDB4ODQsMHgwMCwweDkxIH0sCi0gIDE2LCAweGQ3OTAsIDAsIHsweDAwLDB4MDgsMHg3MywweDgyLDB4MWMsMHg5MCwweDA1LDB4MGMsMHgwMSwweGNmLDB4MGMsMHg0MCwweDAyLDB4MTQsMHgzMCwweDQ1IH0sCi0gIDE2LCAweGQ3YTAsIDAsIHsweDIwLDB4YTEsMHhjMCwweDA4LDB4NTAsMHgwMiwweDEwLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQ3YjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDQ1LDB4MGMsMHg4MSwweDAwLDB4MDAsMHgwMSwweDA4LDB4MDgsMHgwMCwweDA1LDB4MTgsMHg5MSwweDA1IH0sCi0gIDE2LCAweGQ3YzAsIDAsIHsweDA0LDB4MDAsMHgwMSwweDA0LDB4NDAsMHgwNiwweDE4LDB4MDAsMHgwMiwweDI0LDB4NzAsMHg0MCwweDA0LDB4MDAsMHg0MCwweDAwIH0sCi0gIDE2LCAweGQ3ZDAsIDAsIHsweDAxLDB4YzQsMHgyNCwweDAwLDB4ODgsMHgwNCwweDAwLDB4NDMsMHgxMCwweDAwLDB4NDAsMHgyMCwweDAwLDB4ODgsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQ3ZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTIsMHg4NSwweDI0LDB4MzEsMHgwMiwweDBjIH0sCi0gIDE2LCAweGQ3ZjAsIDAsIHsweDAyLDB4YzIsMHgwNCwweDEwLDB4YzQsMHgyOCwweDIxLDB4NDksMHgwYywweDAyLDB4YzAsMHgwNCwweGIyLDB4MDYsMHgxYywweDIwIH0sCi0gIDE2LCAweGQ4MDAsIDAsIHsweDAzLDB4MDgsMHg1MCwweDQyLDB4MGMsMHg4MCwweDAxLDB4MDQsMHhhMSwweDQ5LDB4MGMsMHgwMCwweGMyLDB4MGMsMHgxMCwweDQzIH0sCi0gIDE2LCAweGQ4MTAsIDAsIHsweDI0LDB4YTAsMHhjMSwweDA4LDB4MTAsMHg0MiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQ4MjAsIDAsIHsweDAwLDB4MTAsMHhhMiwweDAwLDB4MjAsMHgwMCwweGNkLDB4MDAsMHgwMCwweDQwLDB4MDQsMHgyMCwweDAxLDB4MTAsMHgwMCwweDA5IH0sCi0gIDE2LCAweGQ4MzAsIDAsIHsweDA0LDB4MDIsMHg0OSwweDBjLDB4OTIsMHgwNywweDMwLDB4MDAsMHgwMCwweDAwLDB4MzMsMHgwOCwweDBjLDB4OTIsMHg0MSwweDAwIH0sCi0gIDE2LCAweGQ4NDAsIDAsIHsweDgwLDB4Y2MsMHgwMCwweDAwLDB4MDAsMHgwYywweDAwLDB4NDMsMHgyOCwweDgwLDB4YzIsMHgwMCwweDEwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQ4NTAsIDAsIHsweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzAsMHgxMCwweDUwLDB4ODAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQ4NjAsIDAsIHsweDEwLDB4MDAsMHgwMCwweGYwLDB4MDAsMHgxMCwweDgwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwMCwweGQwLDB4ODAsMHg4MCwweDAwIH0sCi0gIDE2LCAweGQ4NzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDgwLDB4MTAsMHg5MCwweDgwLDB4ODAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MTAsMHg5MCwweDgwIH0sCi0gIDE2LCAweGQ4ODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDEwLDB4ODAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQ4OTAsIDAsIHsweDNjLDB4M2MsMHgxMCwweDgwLDB4ODAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTAsMHg5MCwweGEwLDB4ODAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQ4YTAsIDAsIHsweDAwLDB4MDAsMHg0MCwweDEwLDB4OTAsMHg4MCwweGEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDEwLDB4OTAsMHg4MCwweGEwIH0sCi0gIDE2LCAweGQ4YjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDIwLDB4ODAsMHgxMCwweDkwLDB4YTAsMHhhMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgxMCwweDhmIH0sCi0gIDE2LCAweGQ4YzAsIDAsIHsweDBmLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MmMsMHhjMiwweGU0LDB4ODEsMHg4MCwweDNmIH0sCi0gIDE2LCAweGQ4ZDAsIDAsIHsweGQ5LDB4YmYsMHhkOSwweDk4LDB4NzEsMHg5ZCwweDQyLDB4ODAsMHgwMCwweDI2LDB4N2YsMHhlNiwweDcyLDB4YWIsMHg3YywweDNhIH0sCi0gIDE2LCAweGQ4ZTAsIDAsIHsweDQwLDB4MDAsMHgxOSwweDgwLDB4MjYsMHg0OCwweGRkLDB4M2MsMHg5MSwweGMwLDB4MjYsMHg0MCwweDI2LDB4NDAsMHgzOCwweDMxIH0sCi0gIDE2LCAweGQ4ZjAsIDAsIHsweGRiLDB4NjEsMHhjMCwweDE5LDB4OTksMHhiZiwweGM5LDB4ODAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQ5MDAsIDAsIHsweDAwLDB4MDAsMHgxMCwweDgwLDB4MTAsMHgxNCwweDgwLDB4MDYsMHg4NCwweDk3LDB4OTYsMHg4NiwweDk2LDB4MDYsMHg5MCwweDAwIH0sCi0gIDE2LCAweGQ5MTAsIDAsIHsweDNmLDB4YTEsMHgyOCwweDAxLDB4MDIsMHg5MCwweDEyLDB4MDAsMHg4MCwweDE3LDB4ODgsMHgxNiwweDllLDB4OTAsMHg5MCwweDA0IH0sCi0gIDE2LCAweGQ5MjAsIDAsIHsweDEwLDB4MDAsMHgzNiwweGJlLDB4YmUsMHg5ZSwweDg2LDB4MTYsMHgxMiwweDg0LDB4ODAsMHgxMywweGJlLDB4OTcsMHhhZSwweDgwIH0sCi0gIDE2LCAweGQ5MzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDgyIH0sCi0gIDE2LCAweGQ5NDAsIDAsIHsweDgxLDB4ODQsMHgyMSwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHhhMSwweDM4LDB4MDEsMHg3OCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQ5NTAsIDAsIHsweDA4LDB4YjgsMHgyMSwweDcyLDB4NjgsMHg4MCwweDAwLDB4MDAsMHgwMCwweDA4LDB4OTgsMHg0NCwweDg4LDB4NjgsMHg4MCwweDAwIH0sCi0gIDE2LCAweGQ5NjAsIDAsIHsweDAwLDB4MDAsMHgwOCwweGI4LDB4MDEsMHg3OCwweDAxLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQ5NzAsIDAsIHsweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGY3LDB4YWYsMHhmZiwweGMwIH0sCi0gIDE2LCAweGQ5ODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4ZmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmIH0sCi0gIDE2LCAweGQ5OTAsIDAsIHsweGZmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhiZiwweGZmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQ5YTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4ZmYsMHhjMCwweDAwIH0sCi0gIDE2LCAweGQ5YjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweDdmLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGZmIH0sCi0gIDE2LCAweGQ5YzAsIDAsIHsweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmIH0sCi0gIDE2LCAweGQ5ZDAsIDAsIHsweDJmLDB4ZmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQ5ZTAsIDAsIHsweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHg3ZiwweGMwIH0sCi0gIDE2LCAweGQ5ZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4ZmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmIH0sCi0gIDE2LCAweGRhMDAsIDAsIHsweGZmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweDdmLDB4ODAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGRhMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4ZmYsMHhjMCwweDAwIH0sCi0gIDE2LCAweGRhMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhiZiwweGJmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZGYsMHhiZiwweGRmIH0sCi0gIDE2LCAweGRhMzAsIDAsIHsweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGVmLDB4ZmYsMHhmZiwweDgwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGRmIH0sCi0gIDE2LCAweGRhNDAsIDAsIHsweGZmLDB4ZmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGRhNTAsIDAsIHsweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweDNlLDB4YWYsMHhmZiwweGMwIH0sCi0gIDE2LCAweGRhNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MWYsMHhmZiwweGRmLDB4ZmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhlNywweGZlIH0sCi0gIDE2LCAweGRhNzAsIDAsIHsweGVmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGRmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGRhODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4ZmYsMHhjMCwweDAwIH0sCi0gIDE2LCAweGRhOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGZmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDJmLDB4ZjcsMHhmZiwweGZmIH0sCi0gIDE2LCAweGRhYTAsIDAsIHsweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyZiwweGZmLDB4ZmYsMHhkZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGY3IH0sCi0gIDE2LCAweGRhYjAsIDAsIHsweGRmLDB4ZjcsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGRhYzAsIDAsIHsweDAwLDB4MDAsMHgwMiwweGM0LDB4MDAsMHhiMSwweGMzLDB4MmMsMHg1MCwweDA5LDB4MTQsMHg4MiwweGM0LDB4MzAsMHg5MSwweGM3IH0sCi0gIDE2LCAweGRhZDAsIDAsIHsweDI0LDB4NjAsMHgwOCwweDFjLDB4ODIsMHgwNywweDM0LDB4OTEsMHg0YywweDA0LDB4NDMsMHgwYSwweDEwLDB4YzIsMHg4NCwweDA0IH0sCi0gIDE2LCAweGRhZTAsIDAsIHsweDkxLDB4ODQsMHgyNCwweDUyLDB4MGIsMHgxOCwweDAyLDB4YzQsMHgyNCwweGIxLDB4YzMsMHgyYywweDQwLDB4MGEsMHgxMCwweDgwIH0sCi0gIDE2LCAweGRhZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweDAyLDB4MDEsMHhjNCwweDgwIH0sCi0gIDE2LCAweGRiMDAsIDAsIHsweDYwLDB4MjAsMHgxYywweDA4LDB4NDQsMHgyMiwweDAxLDB4YzAsMHg4NCwweDUwLDB4MDEsMHg5YywweDA4LDB4MDcsMHgwYSwweDAxIH0sCi0gIDE2LCAweGRiMTAsIDAsIHsweGMwLDB4ODQsMHg3MiwweDIwLDB4MWMsMHhjOCwweDA0LDB4MTIsMHgxMSwweDQ0LDB4ODAsMHg0MSwweDAxLDB4MWMsMHg4MCwweDA3IH0sCi0gIDE2LCAweGRiMjAsIDAsIHsweDA4LDB4MTEsMHhjNCwweDAwLDB4NzAsMHgwMCwweDEwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGRiMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDg2LDB4MmMsMHgyMSwweDRhLDB4MGMsMHg1MiwweDAyLDB4MWMsMHg4MCwweDA0LDB4MjAsMHgyMSwweGNhIH0sCi0gIDE2LCAweGRiNDAsIDAsIHsweDEwLDB4NjIsMHgwMiwweDFjLDB4ODEsMHg0NywweDA0LDB4MjEsMHhjMywweDIwLDB4NTEsMHgwMSwweDFjLDB4ODAsMHgwNCwweDJjIH0sCi0gIDE2LCAweGRiNTAsIDAsIHsweDAxLDB4Y2IsMHgwNCwweDUyLDB4MDMsMHgxNCwweDQwLDB4YzcsMHgyMCwweDMxLDB4YzgsMHgwYywweDUwLDB4MjIsMHgxMCwweDgwIH0sCi0gIDE2LCAweGRiNjAsIDAsIHsweDAxLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNiwweDIwLDB4MDEsMHg4OSwweDAwIH0sCi0gIDE2LCAweGRiNzAsIDAsIHsweDUyLDB4MDAsMHgxNCwweDgwLDB4MDQsMHgyOCwweDAxLDB4NDUsMHgwNCwweDYyLDB4MDAsMHgxMCwweDgwLDB4NDYsMHgzMCwweDExIH0sCi0gIDE2LCAweGRiODAsIDAsIHsweDBkLDB4MDAsMHg0MiwweDAxLDB4MTQsMHhjMCwweDQ0LDB4MDAsMHgxMSwweDA1LDB4MDAsMHg1MCwweDAwLDB4MWMsMHgwMCwweDQ0IH0sCi0gIDE2LCAweGRiOTAsIDAsIHsweDI4LDB4MDEsMHg0OSwweDAwLDB4NzAsMHgwMCwweDEwLDB4ODAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGRiYTAsIDAsIHsweDAwLDB4MDAsMHgwOCwweGMwLDB4MDIsMHgzMCwweDBjLDB4OGMsMHgzMCwweDIyLDB4MDgsMHg4OCwweGMyLDB4MjYsMHgwMCwweDA4IH0sCi0gIDE2LCAweGRiYjAsIDAsIHsweDgwLDB4MjAsMHgyMiwweDBjLDB4ODgsMHg4MSwweDAyLDB4MTAsMHhjNCwweDgwLDB4MTAsMHgyMiwweDBjLDB4MDgsMHg0MCwweDAyIH0sCi0gIDE2LCAweGRiYzAsIDAsIHsweDEwLDB4NDgsMHg4OCwweDAxLDB4MjMsMHgwNCwweGM4LDB4NDIsMHgwMiwweDEwLDB4NDYsMHg4YywweDEyLDB4MjIsMHgwMCwweDAwIH0sCi0gIDE2LCAweGRiZDAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDAwLDB4MDIsMHgwMCwweDAwLDB4ODAsMHhjOCwweDIwIH0sCi0gIDE2LCAweGRiZTAsIDAsIHsweDExLDB4MDksMHgwMCwweDgwLDB4NDEsMHgxMCwweDkwLDB4MDgsMHgyNCwweDMwLDB4MDgsMHgwNCwweDQyLDB4NDEsMHgwMCwweDkwIH0sCi0gIDE2LCAweGRiZjAsIDAsIHsweGM0LDB4MjAsMHgwMCwweDA4LDB4MDQsMHg0MiwweDAwLDB4MTAsMHg4MCwweDRjLDB4MjAsMHgyMywweDA5LDB4MDQsMHhjMiwweDQzIH0sCi0gIDE2LCAweGRjMDAsIDAsIHsweDMwLDB4ODAsMHg0MCwweDIwLDB4MTEsMHgwOCwweDAwLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGRjMTAsIDAsIHsweDA4LDB4MDAsMHgwOCwweDgxLDB4MDIsMHgyMCwweGM5LDB4OGMsMHgxMiwweDIwLDB4MDQsMHg0OCwweDQxLDB4MjIsMHgwMCwweDA5IH0sCi0gIDE2LCAweGRjMjAsIDAsIHsweDg4LDB4MzAsMHgyMCwweDBjLDB4ODgsMHgwMywweDBlLDB4MDAsMHg0OSwweDhjLDB4MTAsMHgyMiwweDBjLDB4ODgsMHg0MCwweDJlIH0sCi0gIDE2LCAweGRjMzAsIDAsIHsweDAwLDB4YzksMHg4NCwweDEzLDB4MjEsMHgwNCwweGM4LDB4YzMsMHgyMiwweDAwLDB4Y2IsMHg4YywweDMyLDB4MjIsMHgwMCwweDAwIH0sCi0gIDE2LCAweGRjNDAsIDAsIHsweDA0LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDAwLDB4MDgsMHgwMSwweDAyLDB4MDAsMHg0YiwweDgwIH0sCi0gIDE2LCAweGRjNTAsIDAsIHsweDMyLDB4MjEsMHgwOCwweDg4LDB4NDEsMHgwMiwweDEwLDB4MGYsMHg4MCwweDEwLDB4MjEsMHg4YywweDA4LDB4NDEsMHgwMiwweDAwIH0sCi0gIDE2LCAweGRjNjAsIDAsIHsweDg3LDB4ODQsMHgxMCwweDIwLDB4MDQsMHg4OCwweDAwLDB4MDIsMHgwMCwweDQ3LDB4ODAsMHgxMCwweDIxLDB4MGMsMHg4OCwweDQxIH0sCi0gIDE2LCAweGRjNzAsIDAsIHsweDE2LDB4MTAsMHg0NiwweDgwLDB4MzAsMHgyMCwweDAwLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGRjODAsIDAsIHsweDAwLDB4MDAsMHgwYSwweGM0LDB4MjIsMHhhMSwweDA4LDB4YTQsMHg3MiwweDJhLDB4MTQsMHgwYSwweDg1LDB4MDIsMHg4MSwweDg0IH0sCi0gIDE2LCAweGRjOTAsIDAsIHsweGEwLDB4NDIsMHgyOCwweDFjLDB4MGEsMHhjNSwweDAyLDB4OTEsMHg0MCwweGI4LDB4NzMsMHgyOSwweDEwLDB4Y2EsMHhjNCwweDAyIH0sCi0gIDE2LCAweGRjYTAsIDAsIHsweGExLDB4ODAsMHhhNCwweDQyLDB4MmEsMHgxNCwweGNhLDB4ODUsMHgyMiwweDkxLDB4ODAsMHhhOCwweDcwLDB4MmEsMHgxOCwweDAyIH0sCi0gIDE2LCAweGRjYjAsIDAsIHsweDAwLDB4ODAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDAwLDB4MDgsMHgwNCwweDFlLDB4MDEsMHhjOCwweDgwIH0sCi0gIDE2LCAweGRjYzAsIDAsIHsweDQzLDB4MjAsMHgxOCwweDA4LDB4NDUsMHgzZSwweDAxLDB4MGMsMHg4MCwweDYxLDB4MjAsMHg5YywweDQ4LDB4MDYsMHgxMiwweDgxIH0sCi0gIDE2LCAweGRjZDAsIDAsIHsweGMwLDB4ODAsMHg3MywweDAwLDB4MTAsMHg4OCwweDA2LDB4MDIsMHgwMSwweGM4LDB4MDAsMHg0MiwweDIwLDB4MTAsMHhjOCwweDA3IH0sCi0gIDE2LCAweGRjZTAsIDAsIHsweDAyLDB4MTEsMHhjZCwweDgwLDB4NTEsMHgyMCwweDE0LDB4ODIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGRjZjAsIDAsIHsweDA4LDB4MDAsMHgwMCwweGM0LDB4MjQsMHgyMSwweGM4LDB4MGMsMHg0MiwweDAxLDB4MTQsMHgwMCwweDAwLDB4MjgsMHgxMCwweDRjIH0sCi0gIDE2LCAweGRkMDAsIDAsIHsweDA4LDB4NTIsMHgwMiwweDE0LDB4ODAsMHg0NSwweDI0LDB4MjksMHg0MCwweDA0LDB4NzIsMHgwMCwweDEwLDB4YzAsMHgwNSwweDI0IH0sCi0gIDE2LCAweGRkMTAsIDAsIHsweDExLDB4NDQsMHgwOCwweDQzLDB4MDEsMHgxNCwweGMwLDB4NDcsMHgyNCwweDIwLDB4NDgsMHgwOCwweDcyLDB4MDIsMHgxMCwweDAwIH0sCi0gIDE2LCAweGRkMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4MDAsMHgwNywweDEwLDB4MTEsMHgwNiwweDAwIH0sCi0gIDE2LCAweGRkMzAsIDAsIHsweDcyLDB4MDAsMHgxOCwweGQwLDB4NDYsMHgyMCwweDAxLDB4NGQsMHgwMCwweDcxLDB4NDAsMHgxMCwweDUwLDB4MDcsMHgzMCwweDExIH0sCi0gIDE2LCAweGRkNDAsIDAsIHsweGMzLDB4MDAsMHg3MSwweDQxLDB4MTAsMHhiMCwweDA1LDB4MmMsMHgwMSwweDQ5LDB4MDAsMHg0MywweDAwLDB4MWMsMHg1MCwweDQ1IH0sCi0gIDE2LCAweGRkNTAsIDAsIHsweDMwLDB4MDEsMHg4YywweDAwLDB4NjEsMHg0MCwweDE4LDB4NDIsMHgwNCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGRkNjAsIDAsIHsweDAwLDB4MDAsMHgzMCwweGM1LDB4MDAsMHgyMSwweGMwLDB4MGMsMHg0MCwweDAxLDB4MTQsMHgxMiwweDQ0LDB4MDQsMHgzMSwweDg0IH0sCi0gIDE2LCAweGRkNzAsIDAsIHsweDI0LDB4NDAsMHg4MCwweDE0LDB4YTEsMHhjNywweDAwLDB4MDEsMHg0MCwweDA4LDB4NDAsMHgwMSwweDE0LDB4MjAsMHgwNSwweDIwIH0sCi0gIDE2LCAweGRkODAsIDAsIHsweDExLDB4YzAsMHgwMiwweDYwLDB4ODIsMHgxOCwweDAwLDB4ODcsMHgyNCwweDExLDB4NDAsMHgwOCwweDQwLDB4NDIsMHgxMCwweDAyIH0sCi0gIDE2LCAweGRkOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDIsMHgwMCwweDBjLDB4ODAsMHhjNCwweDI0IH0sCi0gIDE2LCAweGRkYTAsIDAsIHsweDMxLDB4NDgsMHgwYywweDAwLDB4MDEsMHgwOCwweGMxLDB4NDEsMHgwMCwweDAwLDB4NDksMHgwMCwweDQyLDB4MDMsMHgwOCwweDEwIH0sCi0gIDE2LCAweGRkYjAsIDAsIHsweDgwLDB4MjAsMHgyMSwweDA5LDB4MGMsMHgwMiwweDAyLDB4MTgsMHg4MCwweGMxLDB4MjQsMHgzMCwweDA4LDB4MGMsMHg0MiwweDAxIH0sCi0gIDE2LCAweGRkYzAsIDAsIHsweDEwLDB4ODAsMHg4MywweDIwLDB4MTEsMHgwOCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGRkZDAsIDAsIHsweDAwLDB4MDAsMHgxMCwweGMxLDB4MDQsMHgyMCwweDQ4LDB4MGMsMHgxMiwweDQyLDB4MDQsMHgwMCwweDgzLDB4MDAsMHgzMSwweDQ4IH0sCi0gIDE2LCAweGRkZTAsIDAsIHsweDAwLDB4MDIsMHg0MSwweDA0LDB4YTAsMHgwNywweDBjLDB4MjAsMHg0MCwweDAwLDB4MTIsMHhjMiwweDBjLDB4ODAsMHhjMSwweDIwIH0sCi0gIDE2LCAweGRkZjAsIDAsIHsweDIwLDB4YzgsMHgwMCwweDEyLDB4YzEsMHgwYywweGIwLDB4NDEsMHgyMCwweDAwLDB4NDksMHgwOCwweDAyLDB4NDIsMHgwMCwweDAwIH0sCi0gIDE2LCAweGRlMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDEwLDB4ODAsMHgwMSwweDAwLDB4MTAsMHg4MSwweDAwIH0sCi0gIDE2LCAweGRlMTAsIDAsIHsweDMwLDB4NDAsMHgwOCwweDIwLDB4MDMsMHgwMCwweDEwLDB4YzEsMHgyMCwweDAyLDB4MDAsMHgwNCwweDgwLDB4NDAsMHgzMCwweDkwIH0sCi0gIDE2LCAweGRlMjAsIDAsIHsweDAxLDB4MTQsMHgwMiwweDQwLDB4MDQsMHg4MCwweDQwLDB4MjAsMHgwMCwweDA5LDB4MDQsMHgzMiwweDAxLDB4MDgsMHhhMCwweDAzIH0sCi0gIDE2LCAweGRlMzAsIDAsIHsweDA0LDB4MTAsMHgwOCwweDAwLDB4MjIsMHg0MCwweDAwLDB4MDAsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGRlNDAsIDAsIHsweDAwLDB4MDAsMHgzMCwweDAwLDB4MTAsMHg4MCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MDAsMHhmMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGRlNTAsIDAsIHsweDAwLDB4MTAsMHg4MCwweDAwLDB4ZjAsMHgwMCwweDgwLDB4ODAsMHgwMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4ZjAsMHgxMCwweGEwIH0sCi0gIDE2LCAweGRlNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDIwLDB4MDAsMHgwMCwweGYwLDB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDIwLDB4ODAsMHgwMCwweGNjIH0sCi0gIDE2LCAweGRlNzAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzYywweDNjLDB4MTAsMHhhMCwweDgwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGRlODAsIDAsIHsweDAwLDB4MDAsMHgxMCwweDkwLDB4ODAsMHhjMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxMCwweDkwLDB4ODAsMHg4MCwweDAwIH0sCi0gIDE2LCAweGRlOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MTAsMHg5MCwweDgwLDB4ODAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTAsMHg5MCwweDgwIH0sCi0gIDE2LCAweGRlYTAsIDAsIHsweGUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDEwLDB4OGMsMHgwOCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGRlYjAsIDAsIHsweDAwLDB4MDAsMHgwOSwweDRkLDB4YjEsMHhlOSwweDAwLDB4MjYsMHg0MCwweDJhLDB4N2YsMHhlMywweGYyLDB4NTQsMHg5OCwweGMwIH0sCi0gIDE2LCAweGRlYzAsIDAsIHsweDNmLDB4ZTYsMHg0MCwweDAwLDB4MDEsMHg0MiwweDkxLDB4ZDAsMHhjMCwweDEzLDB4ZTUsMHg4NywweDYzLDB4ODMsMHhiOCwweGNkIH0sCi0gIDE2LCAweGRlZDAsIDAsIHsweGY5LDB4MDAsMHgyNiwweDdmLDB4MDAsMHgwMCwweDM1LDB4MmUsMHhkNSwweDAzLDB4NDAsMHgzZiwweGQ5LDB4YmYsMHhiMSwweDgwIH0sCi0gIDE2LCAweGRlZTAsIDAsIHsweDAxLDB4ZjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDQsMHgwMiwweDE2LDB4MTQsMHgwMCwweDFjIH0sCi0gIDE2LCAweGRlZjAsIDAsIHsweGE4LDB4M2YsMHg4OCwweDE2LDB4MDAsMHg4MCwweDg0LDB4ODAsMHgzNywweDllLDB4YmEsMHhhMCwweDUwLDB4MTAsMHgwMiwweDEyIH0sCi0gIDE2LCAweGRmMDAsIDAsIHsweDAwLDB4MTcsMHg5NiwweDk3LDB4MjYsMHg1MCwweDEwLDB4MTAsMHg4MiwweDgwLDB4MWUsMHg4MCwweGRlLDB4YmUsMHg5NCwweDE0IH0sCi0gIDE2LCAweGRmMTAsIDAsIHsweDAyLDB4MTAsMHg4MCwweDE3LDB4YmUsMHg4MSwweDk0LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGRmMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4YTgsMHg0NCwweDk0LDB4MjgsMHg4MCwweDAwLDB4MDAsMHgwMCwweDA4IH0sCi0gIDE2LCAweGRmMzAsIDAsIHsweDk0LDB4MjEsMHg0NCwweDUxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDg0LDB4NDIsMHg0MSwweDAxLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGRmNDAsIDAsIHsweDAwLDB4MDgsMHhhMSwweDcyLDB4MjMsMHg0MSwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHhiOCwweDAxLDB4NzgsMHgzMiwweDQwIH0sCi0gIDE2LCAweGRmNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4ZmYsMHhjMCwweDAwIH0sCi0gIDE2LCAweGRmNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDNmLDB4ZjcsMHhmZSwweGQ3LDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhkNywweGRmIH0sCi0gIDE2LCAweGRmNzAsIDAsIHsweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4N2YsMHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzNywweDdmIH0sCi0gIDE2LCAweGRmODAsIDAsIHsweGZmLDB4ZmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGRmOTAsIDAsIHsweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxZSwweGZmLDB4ZGUsMHg3NywweGMwIH0sCi0gIDE2LCAweGRmYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MWYsMHhlZiwweGZmLDB4ZmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmIH0sCi0gIDE2LCAweGRmYjAsIDAsIHsweGZmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweDdmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGRmYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4ZmYsMHhjMCwweDAwIH0sCi0gIDE2LCAweGRmZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDFmLDB4Y2YsMHhkZiwweGZmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGJmIH0sCi0gIDE2LCAweGRmZTAsIDAsIHsweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHhiZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmIH0sCi0gIDE2LCAweGRmZjAsIDAsIHsweGZmLDB4YmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUwMDAsIDAsIHsweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHhmZiwweGMwIH0sCi0gIDE2LCAweGUwMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4ZmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MWYsMHhmZiwweDFmIH0sCi0gIDE2LCAweGUwMjAsIDAsIHsweDdmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDJmLDB4ZGYsMHhmZiwweGNmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUwMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4ZmYsMHhjMCwweDAwIH0sCi0gIDE2LCAweGUwNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDNmLDB4YmYsMHhhZiwweGZmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGZmIH0sCi0gIDE2LCAweGUwNTAsIDAsIHsweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZSwweGRlLDB4N2YsMHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmIH0sCi0gIDE2LCAweGUwNjAsIDAsIHsweGZmLDB4ZjcsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUwNzAsIDAsIHsweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweDdmLDB4ZmYsMHhmZiwweGMwIH0sCi0gIDE2LCAweGUwODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4ZmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZSwweGJlIH0sCi0gIDE2LCAweGUwOTAsIDAsIHsweDdmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNlLDB4ZmYsMHhkNywweDdmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUwYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUwYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUwYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUwZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUwZTAsIDAsIHsweDMwLDB4MDAsMHgyMCwweDAxLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgzMCwweDAwLDB4NDMsMHg4ZSwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUwZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUxMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUxMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUxMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUxMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUxNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUxNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUxNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUxNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUxODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUxOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUxYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUxYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUxYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUxZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUxZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUxZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUyMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUyMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUyMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUyMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUyNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUyNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUyNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUyNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUyODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUyOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUyYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUyYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUyYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUyZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUyZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUyZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUzMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUzMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUzMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUzMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUzNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUzNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUzNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUzNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUzODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUzOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUzYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUzYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUzYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUzZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUzZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUzZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU0MDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU0MTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU0MjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU0MzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU0NDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU0NTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU0NjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU0NzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU0ODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU0OTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU0YTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU0YjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU0YzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU0ZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU0ZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU0ZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU1MDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU1MTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU1MjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU1MzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU1NDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU1NTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU1NjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU1NzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU1ODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU1OTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU1YTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU1YjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU1YzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU1ZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU1ZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU1ZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU2MDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU2MTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU2MjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU2MzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU2NDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU2NTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU2NjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU2NzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU2ODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU2OTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU2YTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU2YjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU2YzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU2ZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU2ZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU2ZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU3MDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU3MTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU3MjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU3MzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU3NDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU3NTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU3NjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU3NzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU3ODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU3OTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU3YTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU3YjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU3YzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU3ZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU3ZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU3ZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU4MDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU4MTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU4MjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU4MzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU4NDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU4NTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU4NjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU4NzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU4ODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU4OTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU4YTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU4YjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU4YzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU4ZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU4ZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU4ZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU5MDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU5MTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU5MjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU5MzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU5NDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU5NTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU5NjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU5NzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU5ODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU5OTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU5YTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU5YjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU5YzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU5ZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU5ZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU5ZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVhMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVhMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVhMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVhMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVhNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVhNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVhNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVhNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVhODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVhOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVhYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVhYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVhYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVhZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVhZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVhZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGViMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGViMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGViMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGViMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGViNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGViNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGViNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGViNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGViODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGViOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGViYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGViYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGViYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGViZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGViZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGViZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVjMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVjMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVjMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVjMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVjNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVjNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVjNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVjNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVjODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVjOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVjYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVjYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVjYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVjZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVjZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVjZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVkMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVkMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVkMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVkMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVkNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVkNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVkNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVkNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVkODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVkOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVkYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVkYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVkYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVkZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVkZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVkZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVlMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVlMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVlMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVlMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVlNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVlNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVlNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVlNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVlODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVlOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVlYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVlYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVlYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVlZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVlZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVlZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVmMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVmMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVmMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MzAsMHgwMCwweDIwLDB4MDEsMHgwMiwweDAyLDB4MDAsMHgwMCwweDMwLDB4MDAsMHg0MywweDgwIH0sCi0gIDE2LCAweGVmMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVmNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVmNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVmNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVmNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVmODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVmOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVmYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVmYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVmYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVmZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVmZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVmZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYwMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYwMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYwMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYwMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYwNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYwNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYwNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYwNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYwODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYwOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYwYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYwYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYwYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYwZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYwZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYwZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYxMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYxMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYxMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYxMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYxNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYxNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYxNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYxNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYxODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYxOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYxYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYxYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYxYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYxZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYxZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYxZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYyMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYyMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYyMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYyMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYyNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYyNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYyNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYyNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYyODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYyOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYyYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYyYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYyYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYyZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYyZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYyZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYzMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYzMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYzMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYzMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYzNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYzNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYzNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYzNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYzODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYzOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYzYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYzYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYzYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYzZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYzZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYzZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY0MDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY0MTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY0MjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY0MzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY0NDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY0NTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY0NjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY0NzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY0ODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY0OTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY0YTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY0YjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY0YzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY0ZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY0ZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY0ZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY1MDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY1MTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY1MjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY1MzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY1NDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY1NTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY1NjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY1NzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY1ODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY1OTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY1YTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY1YjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY1YzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY1ZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY1ZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY1ZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY2MDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY2MTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY2MjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY2MzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY2NDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY2NTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY2NjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY2NzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY2ODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY2OTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY2YTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY2YjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY2YzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY2ZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY2ZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY2ZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY3MDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY3MTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY3MjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY3MzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY3NDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY3NTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY3NjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY3NzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY3ODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY3OTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY3YTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY3YjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY3YzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY3ZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY3ZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY3ZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY4MDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY4MTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY4MjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY4MzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY4NDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY4NTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY4NjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY4NzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY4ODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY4OTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY4YTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY4YjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY4YzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY4ZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY4ZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY4ZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY5MDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY5MTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY5MjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY5MzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY5NDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY5NTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY5NjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY5NzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY5ODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY5OTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY5YTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY5YjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY5YzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY5ZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY5ZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY5ZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZhMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZhMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZhMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZhMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZhNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZhNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZhNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZhNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZhODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZhOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZhYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZhYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZhYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZhZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZhZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZhZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZiMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZiMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZiMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZiMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZiNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZiNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZiNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZiNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZiODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZiOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZiYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZiYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZiYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZiZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZiZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZiZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZjMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZjMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZjMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZjMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZjNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZjNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZjNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZjNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZjODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZjOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZjYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZjYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZjYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZjZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZjZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZjZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZkMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZkMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZkMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZkMzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAxLDB4MDAsMHgwMCwweDVmLDB4YTcsMHgzMCwweDAwLDB4ODAsMHgwMSwweDAwLDB4MDAsMHgwMCwweDAzIH0sCi0gIDE2LCAweGZkNDAsIDAsIHsweDMwLDB4MDAsMHg0MCwweDBlLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZkNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZkNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZkNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDMwLDB4MDAsMHg4MCwweDAxIH0sCi0gIDE2LCAweGZkODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDA1LDB4MzAsMHgwMCwweGEwLDB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDMwLDB4MDAsMHgwMCwweDAxIH0sCi0gIDE2LCAweGZkOTAsIDAsIHsweDAwLDB4MDAsMHg2YiwweDk3LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDQsIDB4ZmRhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMCAsIDB4MDAwMCwgMSwgezB9Ci19OwotLy8gVkVSU0lPTj0gMS4wLjAuMTkxCi0vLyBEQVRFPSAyMDAyb2N0MjgKLXN0YXRpYyBJTlRFTF9IRVhfUkVDT1JEIGdfSGV4TWlkaUZ3NjJbXSA9IHsKLSAgIDMsMHgwMDAwLDAsezB4MDIsMHg0NiwweGI5fSwKLSAgIDMsMHgwMDAzLDAsezB4MDIsMHgwZiwweGZkfSwKLSAgIDMsMHgwMDBiLDAsezB4MDIsMHg0ZSwweDBmfSwKLSAgIDMsMHgwMDEzLDAsezB4MDIsMHgxNywweGZkfSwKLSAgIDMsMHgwMDFiLDAsezB4MDIsMHg0ZSwweDEyfSwKLSAgIDMsMHgwMDIzLDAsezB4MDIsMHg0ZCwweGVmfSwKLSAgIDMsMHgwMDJiLDAsezB4MDIsMHg0OCwweDAwfSwKLSAgIDMsMHgwMDMzLDAsezB4MDIsMHg0ZCwweGU2fSwKLSAgIDMsMHgwMDNiLDAsezB4MDIsMHg0ZCwweGY2fSwKLSAgIDMsMHgwMDQzLDAsezB4MDIsMHg0OSwweDAwfSwKLSAgIDMsMHgwMDRiLDAsezB4MDIsMHg0ZSwweDAzfSwKLSAgIDMsMHgwMDUzLDAsezB4MDIsMHg0OCwweGZhfSwKLSAgIDMsMHgwMDViLDAsezB4MDIsMHg0ZCwweGZkfSwKLSAgIDMsMHgwMDYzLDAsezB4MDIsMHg0ZSwweDA3fSwKLSAgMTYsMHgwNTAwLDAsezB4MTIsMHgwMSwweDEwLDB4MDEsMHgwMCwweDAwLDB4MDAsMHg0MCwweDZhLDB4MDgsMHgxMSwweDAxLDB4MDAsMHgwMSwweDAxLDB4MDJ9LAotICAxNiwweDA1MTAsMCx7MHgwMCwweDAxLDB4MDksMHgwMiwweDA4LDB4MDIsMHgwNSwweDAxLDB4MDAsMHg4MCwweDMyLDB4MDksMHgwNCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MDUyMCwwLHsweDAxLDB4MDEsMHgwMCwweDAwLDB4MGEsMHgyNCwweDAxLDB4MDAsMHgwMSwweDU2LDB4MDAsMHgwMiwweDAxLDB4MDIsMHgwYywweDI0fSwKLSAgMTYsMHgwNTMwLDAsezB4MDIsMHgwMSwweDAxLDB4MDEsMHgwMCwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZCwweDI0LDB4MDYsMHgwNSwweDAxLDB4MDJ9LAotICAxNiwweDA1NDAsMCx7MHgwMywweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA5LDB4MjQsMHgwMywweDAyLDB4MDQsMHgwMywweDAwLDB4MDUsMHgwMH0sCi0gIDE2LDB4MDU1MCwwLHsweDBjLDB4MjQsMHgwMiwweDAzLDB4MDUsMHgwMiwweDAwLDB4MDYsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE1LDB4MjQsMHgwNiwweDA2fSwKLSAgMTYsMHgwNTYwLDAsezB4MDMsMHgwMiwweDAwLDB4MDAsMHgwMywweDAwLDB4MDMsMHgwMCwweDAzLDB4MDAsMHgwMywweDAwLDB4MDMsMHgwMCwweDAzLDB4MDB9LAotICAxNiwweDA1NzAsMCx7MHgwMCwweDA5LDB4MjQsMHgwMywweDA0LDB4MDEsMHgwMSwweDAwLDB4MDYsMHgwMCwweDA5LDB4MDQsMHgwMSwweDAwLDB4MDAsMHgwMX0sCi0gIDE2LDB4MDU4MCwwLHsweDAyLDB4MDAsMHgwMCwweDA5LDB4MDQsMHgwMSwweDAxLDB4MDIsMHgwMSwweDAyLDB4MDAsMHgwMCwweDA3LDB4MjQsMHgwMSwweDAxfSwKLSAgMTYsMHgwNTkwLDAsezB4MDAsMHgwMSwweDAwLDB4MTEsMHgyNCwweDAyLDB4MDEsMHgwMiwweDAyLDB4MTAsMHgwMywweDQ0LDB4YWMsMHgwMCwweDgwLDB4YmJ9LAotICAxNiwweDA1YTAsMCx7MHgwMCwweDAwLDB4NzcsMHgwMSwweDA5LDB4MDUsMHgwYSwweDA1LDB4ODQsMHgwMSwweDAxLDB4MDAsMHg4ZiwweDA3LDB4MjUsMHgwMX0sCi0gIDE2LDB4MDViMCwwLHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDksMHgwNSwweDhmLDB4MDEsMHgwMywweDAwLDB4MDEsMHgwNSwweDAwLDB4MDksMHgwNCwweDAxfSwKLSAgMTYsMHgwNWMwLDAsezB4MDIsMHgwMiwweDAxLDB4MDIsMHgwMCwweDAwLDB4MDcsMHgyNCwweDAxLDB4MDEsMHgwMCwweDAxLDB4MDAsMHgxMSwweDI0LDB4MDJ9LAotICAxNiwweDA1ZDAsMCx7MHgwMSwweDAyLDB4MDMsMHgxOCwweDAzLDB4NDQsMHhhYywweDAwLDB4ODAsMHhiYiwweDAwLDB4MDAsMHg3NywweDAxLDB4MDksMHgwNX0sCi0gIDE2LDB4MDVlMCwwLHsweDBhLDB4MDUsMHg0NiwweDAyLDB4MDEsMHgwMCwweDhmLDB4MDcsMHgyNSwweDAxLDB4MDEsMHgwMCwweDAwLDB4MDAsMHgwOSwweDA1fSwKLSAgMTYsMHgwNWYwLDAsezB4OGYsMHgwMSwweDAzLDB4MDAsMHgwMSwweDA1LDB4MDAsMHgwOSwweDA0LDB4MDIsMHgwMCwweDAwLDB4MDEsMHgwMiwweDAwLDB4MDB9LAotICAxNiwweDA2MDAsMCx7MHgwOSwweDA0LDB4MDIsMHgwMSwweDAxLDB4MDEsMHgwMiwweDAwLDB4MDAsMHgwNywweDI0LDB4MDEsMHgwNCwweDAwLDB4MDEsMHgwMH0sCi0gIDE2LDB4MDYxMCwwLHsweDBlLDB4MjQsMHgwMiwweDAxLDB4MDYsMHgwMiwweDEwLDB4MDIsMHg0NCwweGFjLDB4MDAsMHg4MCwweGJiLDB4MDAsMHgwOSwweDA1fSwKLSAgMTYsMHgwNjIwLDAsezB4OGMsMHgwNSwweDRjLDB4MDIsMHgwMSwweDAwLDB4MDAsMHgwNywweDI1LDB4MDEsMHgwMCwweDAyLDB4MDAsMHgwMCwweDA5LDB4MDR9LAotICAxNiwweDA2MzAsMCx7MHgwMiwweDAyLDB4MDEsMHgwMSwweDAyLDB4MDAsMHgwMCwweDA3LDB4MjQsMHgwMSwweDA0LDB4MDAsMHgwMSwweDAwLDB4MGUsMHgyNH0sCi0gIDE2LDB4MDY0MCwwLHsweDAyLDB4MDEsMHgwNiwweDAzLDB4MTgsMHgwMiwweDQ0LDB4YWMsMHgwMCwweDgwLDB4YmIsMHgwMCwweDA5LDB4MDUsMHg4YywweDA1fSwKLSAgMTYsMHgwNjUwLDAsezB4NzIsMHgwMywweDAxLDB4MDAsMHgwMCwweDA3LDB4MjUsMHgwMSwweDAwLDB4MDIsMHgwMCwweDAwLDB4MDksMHgwNCwweDAyLDB4MDN9LAotICAxNiwweDA2NjAsMCx7MHgwMSwweDAxLDB4MDIsMHgwMCwweDAwLDB4MDcsMHgyNCwweDAxLDB4MDQsMHgwMCwweDAxLDB4MDAsMHgxMSwweDI0LDB4MDIsMHgwMX0sCi0gIDE2LDB4MDY3MCwwLHsweDAyLDB4MDIsMHgxMCwweDAzLDB4NDQsMHhhYywweDAwLDB4ODAsMHhiYiwweDAwLDB4MDAsMHg3NywweDAxLDB4MDksMHgwNSwweDhjfSwKLSAgMTYsMHgwNjgwLDAsezB4MDUsMHg4NCwweDAxLDB4MDEsMHgwMCwweDAwLDB4MDcsMHgyNSwweDAxLDB4MDAsMHgwMiwweDAwLDB4MDAsMHgwOSwweDA0LDB4MDJ9LAotICAxNiwweDA2OTAsMCx7MHgwNCwweDAxLDB4MDEsMHgwMiwweDAwLDB4MDAsMHgwNywweDI0LDB4MDEsMHgwNCwweDAwLDB4MDEsMHgwMCwweDExLDB4MjQsMHgwMn0sCi0gIDE2LDB4MDZhMCwwLHsweDAxLDB4MDIsMHgwMywweDE4LDB4MDMsMHg0NCwweGFjLDB4MDAsMHg4MCwweGJiLDB4MDAsMHgwMCwweDc3LDB4MDEsMHgwOSwweDA1fSwKLSAgMTYsMHgwNmIwLDAsezB4OGMsMHgwNSwweDQ2LDB4MDIsMHgwMSwweDAwLDB4MDAsMHgwNywweDI1LDB4MDEsMHgwMCwweDAyLDB4MDAsMHgwMCwweDA5LDB4MDR9LAotICAxNiwweDA2YzAsMCx7MHgwMywweDAwLDB4MDAsMHgwMSwweDAxLDB4MDAsMHgwMCwweDA5LDB4MjQsMHgwMSwweDAwLDB4MDEsMHgwOSwweDAwLDB4MDEsMHgwNH0sCi0gIDE2LDB4MDZkMCwwLHsweDA5LDB4MDQsMHgwNCwweDAwLDB4MDIsMHgwMSwweDAzLDB4MDAsMHgwMCwweDA3LDB4MjQsMHgwMSwweDAwLDB4MDEsMHgyNCwweDAwfSwKLSAgMTYsMHgwNmUwLDAsezB4MDYsMHgyNCwweDAyLDB4MDEsMHgwNywweDAwLDB4MDksMHgyNCwweDAzLDB4MDIsMHgwOCwweDAxLDB4MDcsMHgwMSwweDAwLDB4MDZ9LAotICAxNiwweDA2ZjAsMCx7MHgyNCwweDAyLDB4MDIsMHgwOSwweDAwLDB4MDksMHgyNCwweDAzLDB4MDEsMHgwYSwweDAxLDB4MDksMHgwMSwweDAwLDB4MDksMHgwNX0sCi0gIDE2LDB4MDcwMCwwLHsweDAxLDB4MDIsMHgwNCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDUsMHgyNSwweDAxLDB4MDEsMHgwNywweDA5LDB4MDUsMHg4MSwweDAyfSwKLSAgMTYsMHgwNzEwLDAsezB4MDQsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4MjUsMHgwMSwweDAxLDB4MGEsMHgwNCwweDAzLDB4MDksMHgwNCwweDE4LDB4MDN9LAotICAxNiwweDA3MjAsMCx7MHg0NSwweDAwLDB4NmQsMHgwMCwweDYxLDB4MDAsMHg2NywweDAwLDB4NjksMHgwMCwweDYzLDB4MDAsMHgyMCwweDAwLDB4NDcsMHgwMH0sCi0gIDE2LDB4MDczMCwwLHsweDZkLDB4MDAsMHg2MiwweDAwLDB4NDgsMHgwMCwweDIyLDB4MDMsMHg0NSwweDAwLDB4NmQsMHgwMCwweDYxLDB4MDAsMHg2NywweDAwfSwKLSAgMTYsMHgwNzQwLDAsezB4NjksMHgwMCwweDYzLDB4MDAsMHgyMCwweDAwLDB4NDUsMHgwMCwweDRkLDB4MDAsMHg0OSwweDAwLDB4MjAsMHgwMCwweDM2LDB4MDB9LAotICAxNiwweDA3NTAsMCx7MHg3YywweDAwLDB4MzIsMHgwMCwweDIwLDB4MDAsMHg2ZCwweDAwLDB4MmEsMHgwMywweDQzLDB4MDAsMHg2ZiwweDAwLDB4NmUsMHgwMH0sCi0gIDE2LDB4MDc2MCwwLHsweDY2LDB4MDAsMHg2OSwweDAwLDB4NjcsMHgwMCwweDc1LDB4MDAsMHg3MiwweDAwLDB4NjEsMHgwMCwweDc0LDB4MDAsMHg2OSwweDAwfSwKLSAgMTYsMHgwNzcwLDAsezB4NmYsMHgwMCwweDZlLDB4MDAsMHgyMCwweDAwLDB4NTMsMHgwMCwweDc0LDB4MDAsMHg3MiwweDAwLDB4NjksMHgwMCwweDZlLDB4MDB9LAotICAxNiwweDA3ODAsMCx7MHg2NywweDAwLDB4MjIsMHgwMywweDQ5LDB4MDAsMHg2ZSwweDAwLDB4NzQsMHgwMCwweDY1LDB4MDAsMHg3MiwweDAwLDB4NjYsMHgwMH0sCi0gIDE2LDB4MDc5MCwwLHsweDYxLDB4MDAsMHg2MywweDAwLDB4NjUsMHgwMCwweDIwLDB4MDAsMHg1MywweDAwLDB4NzQsMHgwMCwweDcyLDB4MDAsMHg2OSwweDAwfSwKLSAgIDYsMHgwN2EwLDAsezB4NmUsMHgwMCwweDY3LDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgwN2E2LDAsezB4ZTQsMHg5MCwweDc2LDB4NjYsMHhmMCwweDEyLDB4NDQsMHhhZCwweDIwLDB4MjYsMHgxMywweDkwLDB4NzYsMHg2NiwweGUwLDB4YzN9LAotICAxNiwweDA3YjYsMCx7MHg5NCwweDAyLDB4NTAsMHgwYSwweGUwLDB4MDQsMHhmMCwweGQyLDB4NDIsMHgxMiwweDRiLDB4N2YsMHg4MCwweGVhLDB4MzAsMHgyNn0sCi0gIDE2LDB4MDdjNiwwLHsweDA1LDB4MTIsMHgyOCwweDAxLDB4YzIsMHgyNiwweDMwLDB4MjUsMHgyYiwweDkwLDB4NzYsMHg5NiwweGUwLDB4NTQsMHhmYywweGYwfSwKLSAgMTYsMHgwN2Q2LDAsezB4OTAsMHg4MCwweDAzLDB4ZjAsMHgxMiwweDE0LDB4OTYsMHg5MCwweDc2LDB4OTYsMHhlMCwweDQ0LDB4MDMsMHhmMCwweDkwLDB4ODB9LAotICAxNiwweDA3ZTYsMCx7MHgwMywweGYwLDB4ZTQsMHg5MCwweDc2LDB4NjcsMHhmMCwweDkwLDB4NzYsMHg2NywweGUwLDB4MDQsMHhmMCwweGUwLDB4YjQsMHg0Yn0sCi0gIDEwLDB4MDdmNiwwLHsweGY2LDB4MTIsMHg0NywweGZhLDB4MTIsMHg0MSwweDFiLDB4ODAsMHhjNSwweDIyfSwKLSAgMTYsMHgwODAwLDAsezB4ZTQsMHg5MCwweDc2LDB4MzEsMHhmMCwweDkwLDB4NzYsMHgzMSwweGUwLDB4ZmYsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0LDB4MGZ9LAotICAxNiwweDA4MTAsMCx7MHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4ZmUsMHg5MCwweDdmLDB4ZWQsMHhlMCwweGZkLDB4ZWUsMHg2ZH0sCi0gIDE2LDB4MDgyMCwwLHsweDYwLDB4MGUsMHhlZiwweGMzLDB4OTQsMHgwYiwweDUwLDB4MDgsMHg5MCwweDc2LDB4MzEsMHhlMCwweDA0LDB4ZjAsMHg4MCwweGQ1fSwKLSAgMTYsMHgwODMwLDAsezB4ZWYsMHhiNCwweDBiLDB4MDgsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4ZWYsMHg3NSwweGYwLDB4MDN9LAotICAxNiwweDA4NDAsMCx7MHhhNCwweDI0LDB4MGUsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4OTAsMHg3NiwweDMzLDB4ZjAsMHgyNH0sCi0gIDE2LDB4MDg1MCwwLHsweGYwLDB4NjAsMHgwYSwweDI0LDB4MGUsMHg2MCwweDAyLDB4ODEsMHg4NywweDEyLDB4NGIsMHhjNywweDIyLDB4OTAsMHg3ZiwweGVkfSwKLSAgMTYsMHgwODYwLDAsezB4ZTAsMHg2NCwweDA1LDB4NzAsMHg1MSwweDkwLDB4NzYsMHgxOCwweDc0LDB4MDUsMHhmMCwweDkwLDB4NzYsMHgzNywweDc0LDB4MDF9LAotICAxNiwweDA4NzAsMCx7MHhmMCwweDkwLDB4NzYsMHgzOSwweDc0LDB4MDMsMHhmMCwweDkwLDB4NzYsMHgyMSwweGYwLDB4ZTQsMHg5MCwweDc2LDB4MjAsMHhmMH0sCi0gIDE2LDB4MDg4MCwwLHsweDkwLDB4N2YsMHhlYSwweGUwLDB4ZjQsMHg2MCwweDJmLDB4OTAsMHg3NiwweDIwLDB4ZTAsMHhmZiwweDc1LDB4ZjAsMHgwYSwweGE0fSwKLSAgMTYsMHgwODkwLDAsezB4MjQsMHhhYSwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHhmZSwweDkwLDB4N2YsMHhlYSwweGUwLDB4ZmR9LAotICAxNiwweDA4YTAsMCx7MHhlZSwweDZkLDB4NjAsMHgxMiwweDkwLDB4NzYsMHgyMSwweGUwLDB4ZmUsMHhlZiwweGMzLDB4OWUsMHg1MCwweDA4LDB4OTAsMHg3Nn0sCi0gIDE2LDB4MDhiMCwwLHsweDIwLDB4ZTAsMHgwNCwweGYwLDB4ODAsMHhkMSwweDkwLDB4N2YsMHhlZCwweGUwLDB4NjQsMHgwNiwweDcwLDB4NTIsMHg5MCwweDc2fSwKLSAgMTYsMHgwOGMwLDAsezB4MTgsMHg3NCwweDA2LDB4ZjAsMHg5MCwweDc2LDB4MzcsMHg3NCwweDA0LDB4ZjAsMHg5MCwweDc2LDB4MzksMHg3NCwweDBhLDB4ZjB9LAotICAxNiwweDA4ZDAsMCx7MHg5MCwweDc2LDB4MjEsMHhmMCwweDkwLDB4NzYsMHgyMCwweDc0LDB4MDMsMHhmMCwweDkwLDB4N2YsMHhlYSwweGUwLDB4ZjQsMHg2MH0sCi0gIDE2LDB4MDhlMCwwLHsweDJmLDB4OTAsMHg3NiwweDIwLDB4ZTAsMHhmZiwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhYSwweGY1LDB4ODIsMHhlNCwweDM0fSwKLSAgMTYsMHgwOGYwLDAsezB4NzUsMHhmNSwweDgzLDB4ZTAsMHhmZSwweDkwLDB4N2YsMHhlYSwweGUwLDB4ZmQsMHhlZSwweDZkLDB4NjAsMHgxMiwweDkwLDB4NzZ9LAotICAxNiwweDA5MDAsMCx7MHgyMSwweGUwLDB4ZmUsMHhlZiwweGMzLDB4OWUsMHg1MCwweDA4LDB4OTAsMHg3NiwweDIwLDB4ZTAsMHgwNCwweGYwLDB4ODAsMHhkMX0sCi0gIDE2LDB4MDkxMCwwLHsweDkwLDB4NzYsMHgyMCwweGUwLDB4ZmYsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWEsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1fSwKLSAgMTYsMHgwOTIwLDAsezB4ZjUsMHg4MywweGUwLDB4OTAsMHg3MiwweDI5LDB4ZjAsMHhlNCwweDkwLDB4NzYsMHgzYiwweGYwLDB4OTAsMHg3NiwweDIxLDB4ZTB9LAotICAxNiwweDA5MzAsMCx7MHhmZSwweGVmLDB4NmUsMHg3MCwweDA4LDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhlYn0sCi0gIDE2LDB4MDk0MCwwLHsweGUwLDB4MTQsMHg2MCwweDEzLDB4MTQsMHg3MCwweDAyLDB4MjEsMHhlMiwweDI0LDB4MDIsMHg2MCwweDAyLDB4ODEsMHg3ZiwweDkwfSwKLSAgMTYsMHgwOTUwLDAsezB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDdmLDB4ZTksMHhlMCwweDE0LDB4NzAsMHg3YywweDkwLDB4N2Z9LAotICAxNiwweDA5NjAsMCx7MHhlYSwweGUwLDB4ZjQsMHg3MCwweDQ4LDB4OTAsMHg3NiwweDM3LDB4ZTAsMHg5MCwweDc2LDB4MjAsMHhmMCwweDkwLDB4NzYsMHgzOX0sCi0gIDE2LDB4MDk3MCwwLHsweGUwLDB4ZmUsMHg5MCwweDc2LDB4MjAsMHhlMCwweGZkLDB4YzMsMHg5ZSwweDUwLDB4MmIsMHg5MCwweDc2LDB4M2IsMHhlMCwweGZlfSwKLSAgMTYsMHgwOTgwLDAsezB4MDQsMHhmMCwweDc0LDB4YzAsMHgyZSwweGY1LDB4ODIsMHhlNCwweDM0LDB4N2UsMHhmNSwweDgzLDB4ZTAsMHhmZSwweGVkLDB4NzV9LAotICAxNiwweDA5OTAsMCx7MHhmMCwweDBhLDB4YTQsMHgyNCwweGFiLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlZSwweGYwLDB4OTAsMHg3Nn0sCi0gIDE2LDB4MDlhMCwwLHsweDIwLDB4ZTAsMHgwNCwweGYwLDB4ODAsMHhjNywweDkwLDB4NzYsMHgzZiwweDc0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3ZSwweGMwfSwKLSAgMTYsMHgwOWIwLDAsezB4ZTAsMHhmZSwweGVmLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGFiLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODN9LAotICAxNiwweDA5YzAsMCx7MHhlZSwweGYwLDB4ZTAsMHhiNCwweDAxLDB4MDgsMHg5MCwweDc2LDB4M2UsMHg3NCwweDAxLDB4ZjAsMHg4MCwweDA1LDB4ZTQsMHg5MH0sCi0gIDE2LDB4MDlkMCwwLHsweDc2LDB4M2UsMHhmMCwweDkwLDB4NzYsMHgzZiwweDc0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxfSwKLSAgMTYsMHgwOWUwLDAsezB4ZjAsMHgyMiwweDkwLDB4N2YsMHhlOSwweGUwLDB4MjQsMHhmZSwweDcwLDB4MDIsMHg0MSwweGEzLDB4MTQsMHg3MCwweDAyLDB4NjF9LAotICAxNiwweDA5ZjAsMCx7MHgzZiwweDE0LDB4NzAsMHgwMiwweDYxLDB4ZGIsMHgyNCwweDAzLDB4NjAsMHgwMiwweDgxLDB4NzcsMHg5MCwweDdmLDB4ZWEsMHhlMH0sCi0gIDE2LDB4MGEwMCwwLHsweGY0LDB4NzAsMHg2YiwweDkwLDB4NzYsMHgzNywweGUwLDB4OTAsMHg3NiwweDIwLDB4ZjAsMHg5MCwweDc2LDB4MzksMHhlMCwweGZmfSwKLSAgMTYsMHgwYTEwLDAsezB4OTAsMHg3NiwweDIwLDB4ZTAsMHhmZSwweGMzLDB4OWYsMHg1MCwweDRlLDB4OTAsMHg3NiwweDNiLDB4ZTAsMHhmZiwweDA0LDB4ZjB9LAotICAxNiwweDBhMjAsMCx7MHg3NCwweGMwLDB4MmYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDdlLDB4ZjUsMHg4MywweGUwLDB4ZmYsMHhlZSwweDc1LDB4ZjAsMHgwYX0sCi0gIDE2LDB4MGEzMCwwLHsweGE0LDB4MjQsMHhhYywweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZWYsMHhmMCwweDkwLDB4NzYsMHgzYiwweGUwfSwKLSAgMTYsMHgwYTQwLDAsezB4ZmYsMHgwNCwweGYwLDB4NzQsMHhjMCwweDJmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3ZSwweGY1LDB4ODMsMHhlMCwweGZmLDB4ZWV9LAotICAxNiwweDBhNTAsMCx7MHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWQsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGVmLDB4ZjAsMHg5MH0sCi0gIDE2LDB4MGE2MCwwLHsweDc2LDB4MjAsMHhlMCwweDA0LDB4ZjAsMHg4MCwweGE0LDB4OTAsMHg3NiwweDQwLDB4NzQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDdlfSwKLSAgMTYsMHgwYTcwLDAsezB4YzAsMHhlMCwweGZmLDB4OTAsMHg3NiwweDIwLDB4ZTAsMHhmZSwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhYywweGY1LDB4ODJ9LAotICAxNiwweDBhODAsMCx7MHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZWYsMHhmMCwweDkwLDB4N2UsMHhjMSwweGUwLDB4ZmYsMHhlZSwweDc1LDB4ZjAsMHgwYX0sCi0gIDE2LDB4MGE5MCwwLHsweGE0LDB4MjQsMHhhZCwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZWYsMHhmMCwweDkwLDB4NzYsMHg0MSwweDc0fSwKLSAgMTYsMHgwYWEwLDAsezB4MDEsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGVhLDB4ZTAsMHhmNCwweDcwLDB4NjYsMHg5MCwweDc2LDB4MzcsMHhlMCwweDkwLDB4NzZ9LAotICAxNiwweDBhYjAsMCx7MHgyMCwweGYwLDB4OTAsMHg3NiwweDM5LDB4ZTAsMHhmZiwweDkwLDB4NzYsMHgyMCwweGUwLDB4ZmUsMHhjMywweDlmLDB4NDAsMHgwMn0sCi0gIDE2LDB4MGFjMCwwLHsweDgxLDB4OGUsMHg5MCwweDc2LDB4M2IsMHhlMCwweGZmLDB4MDQsMHhmMCwweDc0LDB4YzAsMHgyZiwweGY1LDB4ODIsMHhlNCwweDM0fSwKLSAgMTYsMHgwYWQwLDAsezB4N2UsMHhmNSwweDgzLDB4ZTAsMHhmZiwweGVlLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGFlLDB4ZjUsMHg4MiwweGU0LDB4MzR9LAotICAxNiwweDBhZTAsMCx7MHg3NSwweGY1LDB4ODMsMHhlZiwweGYwLDB4OTAsMHg3NiwweDNiLDB4ZTAsMHhmZiwweDA0LDB4ZjAsMHg3NCwweGMwLDB4MmYsMHhmNX0sCi0gIDE2LDB4MGFmMCwwLHsweDgyLDB4ZTQsMHgzNCwweDdlLDB4ZjUsMHg4MywweGUwLDB4ZmYsMHhlZSwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhZiwweGY1fSwKLSAgMTYsMHgwYjAwLDAsezB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZWYsMHhmMCwweDkwLDB4NzYsMHgyMCwweGUwLDB4MDQsMHhmMCwweDgwLDB4YTJ9LAotICAxNiwweDBiMTAsMCx7MHg5MCwweDdlLDB4YzAsMHhlMCwweGZmLDB4OTAsMHg3NiwweDIwLDB4ZTAsMHhmZSwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhZX0sCi0gIDE2LDB4MGIyMCwwLHsweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZWYsMHhmMCwweDkwLDB4N2UsMHhjMSwweGUwLDB4ZmYsMHhlZSwweDc1fSwKLSAgMTYsMHgwYjMwLDAsezB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZWYsMHhmMCwweDIyLDB4OTB9LAotICAxNiwweDBiNDAsMCx7MHg3ZiwweGVhLDB4ZTAsMHhmNCwweDcwLDB4NjYsMHg5MCwweDc2LDB4MzcsMHhlMCwweDkwLDB4NzYsMHgyMCwweGYwLDB4OTAsMHg3Nn0sCi0gIDE2LDB4MGI1MCwwLHsweDM5LDB4ZTAsMHhmZiwweDkwLDB4NzYsMHgyMCwweGUwLDB4ZmUsMHhjMywweDlmLDB4NDAsMHgwMiwweDgxLDB4OGUsMHg5MCwweDc2fSwKLSAgMTYsMHgwYjYwLDAsezB4M2IsMHhlMCwweGZmLDB4MDQsMHhmMCwweDc0LDB4YzAsMHgyZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4N2UsMHhmNSwweDgzLDB4ZTB9LAotICAxNiwweDBiNzAsMCx7MHhmZiwweGVlLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGIwLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlZn0sCi0gIDE2LDB4MGI4MCwwLHsweGYwLDB4OTAsMHg3NiwweDNiLDB4ZTAsMHhmZiwweDA0LDB4ZjAsMHg3NCwweGMwLDB4MmYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDdlfSwKLSAgMTYsMHgwYjkwLDAsezB4ZjUsMHg4MywweGUwLDB4ZmYsMHhlZSwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhiMSwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzV9LAotICAxNiwweDBiYTAsMCx7MHhmNSwweDgzLDB4ZWYsMHhmMCwweDkwLDB4NzYsMHgyMCwweGUwLDB4MDQsMHhmMCwweDgwLDB4YTIsMHg5MCwweDdlLDB4YzAsMHhlMH0sCi0gIDE2LDB4MGJiMCwwLHsweGZmLDB4OTAsMHg3NiwweDIwLDB4ZTAsMHhmZSwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhiMCwweGY1LDB4ODIsMHhlNCwweDM0fSwKLSAgMTYsMHgwYmMwLDAsezB4NzUsMHhmNSwweDgzLDB4ZWYsMHhmMCwweDkwLDB4N2UsMHhjMSwweGUwLDB4ZmYsMHhlZSwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjR9LAotICAxNiwweDBiZDAsMCx7MHhiMSwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZWYsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGVhLDB4ZTAsMHhmNH0sCi0gIDE2LDB4MGJlMCwwLHsweDcwLDB4NjYsMHg5MCwweDc2LDB4MzcsMHhlMCwweDkwLDB4NzYsMHgyMCwweGYwLDB4OTAsMHg3NiwweDM5LDB4ZTAsMHhmZiwweDkwfSwKLSAgMTYsMHgwYmYwLDAsezB4NzYsMHgyMCwweGUwLDB4ZmUsMHhjMywweDlmLDB4NDAsMHgwMiwweDgxLDB4OGUsMHg5MCwweDc2LDB4M2IsMHhlMCwweGZmLDB4MDR9LAotICAxNiwweDBjMDAsMCx7MHhmMCwweDc0LDB4YzAsMHgyZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4N2UsMHhmNSwweDgzLDB4ZTAsMHhmZiwweGVlLDB4NzUsMHhmMH0sCi0gIDE2LDB4MGMxMCwwLHsweDBhLDB4YTQsMHgyNCwweGIyLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlZiwweGYwLDB4OTAsMHg3NiwweDNifSwKLSAgMTYsMHgwYzIwLDAsezB4ZTAsMHhmZiwweDA0LDB4ZjAsMHg3NCwweGMwLDB4MmYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDdlLDB4ZjUsMHg4MywweGUwLDB4ZmZ9LAotICAxNiwweDBjMzAsMCx7MHhlZSwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhiMywweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZWYsMHhmMH0sCi0gIDE2LDB4MGM0MCwwLHsweDkwLDB4NzYsMHgyMCwweGUwLDB4MDQsMHhmMCwweDgwLDB4YTIsMHg5MCwweDdlLDB4YzAsMHhlMCwweGZmLDB4OTAsMHg3NiwweDIwfSwKLSAgMTYsMHgwYzUwLDAsezB4ZTAsMHhmZSwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhiMiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZWZ9LAotICAxNiwweDBjNjAsMCx7MHhmMCwweDkwLDB4N2UsMHhjMSwweGUwLDB4ZmYsMHhlZSwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhiMywweGY1LDB4ODIsMHhlNH0sCi0gIDE2LDB4MGM3MCwwLHsweDM0LDB4NzUsMHhmNSwweDgzLDB4ZWYsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweDkwfSwKLSAgMTUsMHgwYzgwLDAsezB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyfSwKLSAgMTYsMHgwYzhmLDAsezB4NDEsMHg3NiwweDY4LDB4MDEsMHg0MSwweDc2LDB4NmEsMHgwMiwweDQxLDB4NzYsMHg2YiwweDBhLDB4YzEsMHgyMCwweGMxLDB4MjF9LAotICAgMiwweDBjOWYsMCx7MHhjMSwweDJmfSwKLSAgIDQsMHgwY2ExLDAsezB4NDEsMHg3NiwweDIzLDB4MDB9LAotICAxNiwweDBjYTUsMCx7MHg0MSwweDcyLDB4MDEsMHgwMSwweDQ1LDB4NzIsMHgwNSwweDAwLDB4MDIsMHhjOSwweDAwLDB4MDAsMHg0NSwweDcyLDB4MGEsMHgwMH0sCi0gIDE2LDB4MGNiNSwwLHsweDAxLDB4MDIsMHgwMywweDA0LDB4NGQsMHg3MiwweDBmLDB4ZDEsMHgwMCwweGQxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgwY2M1LDAsezB4MjgsMHgyOCwweDA5LDB4MDAsMHg0ZCwweDcyLDB4MWMsMHgwMSwweDAwLDB4MDEsMHgwMiwweDAzLDB4MDQsMHgwNSwweDA2LDB4MDd9LAotICAxNiwweDBjZDUsMCx7MHgwOCwweDA5LDB4MGEsMHgwYiwweDQxLDB4NzIsMHgyZSwweDIyLDB4NDEsMHg3MiwweDJmLDB4MjMsMHg0MSwweDcyLDB4MzAsMHgyMH0sCi0gIDE2LDB4MGNlNSwwLHsweDQxLDB4NzIsMHgzMSwweDIxLDB4NjIsMHhkMiwweDcyLDB4M2EsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgwY2Y1LDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDBkMDUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MGQxNSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgwZDI1LDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDBkMzUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MGQ0NSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgwZDU1LDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDBkNjUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MGQ3NSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxfSwKLSAgMTYsMHgwZDg1LDAsezB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDF9LAotICAxNiwweDBkOTUsMCx7MHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMX0sCi0gIDE2LDB4MGRhNSwwLHsweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxfSwKLSAgMTYsMHgwZGI1LDAsezB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDJ9LAotICAxNiwweDBkYzUsMCx7MHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMn0sCi0gIDE2LDB4MGRkNSwwLHsweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyfSwKLSAgMTYsMHgwZGU1LDAsezB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDJ9LAotICAxNiwweDBkZjUsMCx7MHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwM30sCi0gIDE2LDB4MGUwNSwwLHsweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzfSwKLSAgMTYsMHgwZTE1LDAsezB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDN9LAotICAxNiwweDBlMjUsMCx7MHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwM30sCi0gIDE2LDB4MGUzNSwwLHsweDAzLDB4MDMsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0fSwKLSAgMTYsMHgwZTQ1LDAsezB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDR9LAotICAxNiwweDBlNTUsMCx7MHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNH0sCi0gIDE2LDB4MGU2NSwwLHsweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0fSwKLSAgMTYsMHgwZTc1LDAsezB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDV9LAotICAxNiwweDBlODUsMCx7MHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNX0sCi0gIDE2LDB4MGU5NSwwLHsweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1fSwKLSAgMTYsMHgwZWE1LDAsezB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA2LDB4MDZ9LAotICAxNiwweDBlYjUsMCx7MHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNn0sCi0gIDE2LDB4MGVjNSwwLHsweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2fSwKLSAgMTYsMHgwZWQ1LDAsezB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDZ9LAotICAxNiwweDBlZTUsMCx7MHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDcsMHgwNywweDA3LDB4MDgsMHgwOH0sCi0gIDE2LDB4MGVmNSwwLHsweDA4LDB4MDksMHgwOSwweDA5LDB4MGEsMHgwYSwweDBhLDB4MGIsMHgwYiwweDBiLDB4MGMsMHgwYywweDBjLDB4MGQsMHgwZCwweDBkfSwKLSAgMTYsMHgwZjA1LDAsezB4MGUsMHgwZSwweDBlLDB4MGYsMHgwZiwweDBmLDB4MTAsMHgxMCwweDEwLDB4MTEsMHgxMSwweDExLDB4MTIsMHgxMiwweDEyLDB4MTN9LAotICAxNiwweDBmMTUsMCx7MHgxMywweDEzLDB4MTQsMHgxNCwweDE0LDB4MTUsMHgxNSwweDE1LDB4MTYsMHgxNiwweDE2LDB4MTcsMHgxNywweDE3LDB4MTgsMHgxOH0sCi0gIDE2LDB4MGYyNSwwLHsweDE4LDB4MTksMHgxOSwweDE5LDB4MTksMHgxYSwweDFhLDB4MWEsMHgxYSwweDFiLDB4MWIsMHgxYiwweDFiLDB4MWMsMHgxYywweDFjfSwKLSAgMTYsMHgwZjM1LDAsezB4MWMsMHgxZCwweDFkLDB4MWQsMHgxZCwweDFlLDB4MWUsMHgxZSwweDFlLDB4MWYsMHgxZiwweDFmLDB4MWYsMHgyMCwweDIwLDB4MjB9LAotICAxNiwweDBmNDUsMCx7MHgyMSwweDIxLDB4MjEsMHgyMiwweDIyLDB4MjIsMHgyMywweDIzLDB4MjQsMHgyNCwweDI1LDB4MjUsMHgyNiwweDI2LDB4MjcsMHgyN30sCi0gIDE2LDB4MGY1NSwwLHsweDI4LDB4MjgsMHgyOSwweDI5LDB4MmEsMHgyYSwweDJiLDB4MmIsMHgyYywweDJjLDB4MmQsMHgyZCwweDJlLDB4MmUsMHgyZiwweDJmfSwKLSAgMTYsMHgwZjY1LDAsezB4MzAsMHgzMCwweDMxLDB4MzEsMHgzMiwweDMyLDB4MzMsMHgzMywweDM0LDB4MzQsMHgzNSwweDM1LDB4MzYsMHgzNiwweDM3LDB4Mzd9LAotICAxNiwweDBmNzUsMCx7MHgzOCwweDM4LDB4MzksMHgzOSwweDNhLDB4M2EsMHgzYiwweDNjLDB4M2QsMHgzZSwweDNmLDB4NDAsMHg0MSwweDQyLDB4NDMsMHg0NH0sCi0gIDE2LDB4MGY4NSwwLHsweDQ1LDB4NDYsMHg0NywweDQ4LDB4NDksMHg0OSwweDRhLDB4NGIsMHg0YiwweDRjLDB4NGQsMHg0ZSwweDRmLDB4NTAsMHg1MSwweDUyfSwKLSAgMTYsMHgwZjk1LDAsezB4NTMsMHg1NCwweDU1LDB4NTUsMHg1NiwweDU2LDB4NTcsMHg1NywweDU4LDB4NWEsMHg1YiwweDVkLDB4NWUsMHg1ZiwweDYxLDB4NjJ9LAotICAxNiwweDBmYTUsMCx7MHg2MywweDY0LDB4NjUsMHg2NiwweDY3LDB4NjgsMHg2OSwweDZhLDB4NmIsMHg2YywweDZkLDB4NmYsMHg3MSwweDcyLDB4NzMsMHg3NH0sCi0gIDE2LDB4MGZiNSwwLHsweDc1LDB4NzYsMHg3NywweDc4LDB4NzksMHg3YSwweDdiLDB4N2MsMHg3ZSwweDgwLDB4MDEsMHgzNywweDAxLDB4MDEsMHgzOCwweDAwfSwKLSAgIDEsMHgwZmM1LDAsezB4MDB9LAotICAxNiwweDBmYzYsMCx7MHhlNCwweGZmLDB4NzQsMHg0NiwweDJmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NiwweGY1LDB4ODMsMHhlMCwweGZlLDB4NzQsMHgyMH0sCi0gIDE2LDB4MGZkNiwwLHsweDJmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg4MCwweGY1LDB4ODMsMHhlZSwweGYwLDB4NzQsMHg0ZSwweDJmLDB4ZjUsMHg4MiwweGU0fSwKLSAgMTYsMHgwZmU2LDAsezB4MzQsMHg3NiwweGY1LDB4ODMsMHhlMCwweGZlLDB4NzQsMHgzMCwweDJmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg4MCwweGY1LDB4ODN9LAotICAgNiwweDBmZjYsMCx7MHhlZSwweGYwLDB4MGYsMHhiZiwweDA4LDB4Y2N9LAotICAgMSwweDBmZmMsMCx7MHgyMn0sCi0gICAzLDB4MGZmZCwwLHsweGMyLDB4ODksMHgzMn0sCi0gIDE2LDB4MTAwMCwwLHsweGU0LDB4OTAsMHg3NiwweDJjLDB4ZjAsMHg5MCwweDc2LDB4MmMsMHhlMCwweGZmLDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNCwweDBmfSwKLSAgMTYsMHgxMDEwLDAsezB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweGZlLDB4OTAsMHg3ZiwweGVkLDB4ZTAsMHhmZCwweGVlLDB4NmR9LAotICAxNiwweDEwMjAsMCx7MHg2MCwweDBlLDB4ZWYsMHhjMywweDk0LDB4MGIsMHg1MCwweDA4LDB4OTAsMHg3NiwweDJjLDB4ZTAsMHgwNCwweGYwLDB4ODAsMHhkNX0sCi0gIDE2LDB4MTAzMCwwLHsweGVmLDB4YjQsMHgwYiwweDA4LDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweGVmLDB4NzUsMHhmMCwweDAzfSwKLSAgMTYsMHgxMDQwLDAsezB4YTQsMHgyNCwweDBlLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweDkwLDB4NzYsMHgyZSwweGYwLDB4MjR9LAotICAxNiwweDEwNTAsMCx7MHhmMCwweDYwLDB4MGEsMHgyNCwweDBmLDB4NjAsMHgwMiwweDgxLDB4N2QsMHgxMiwweDRiLDB4YTQsMHgyMiwweDkwLDB4N2YsMHhlZH0sCi0gIDE2LDB4MTA2MCwwLHsweGUwLDB4NjQsMHgwNSwweDcwLDB4NTEsMHg5MCwweDc2LDB4MTgsMHg3NCwweDA1LDB4ZjAsMHg5MCwweDc2LDB4MzgsMHg3NCwweDAxfSwKLSAgMTYsMHgxMDcwLDAsezB4ZjAsMHg5MCwweDc2LDB4M2EsMHg3NCwweDAzLDB4ZjAsMHg5MCwweDc2LDB4MWMsMHhmMCwweGU0LDB4OTAsMHg3NiwweDFiLDB4ZjB9LAotICAxNiwweDEwODAsMCx7MHg5MCwweDdmLDB4ZWEsMHhlMCwweGY0LDB4NjAsMHgyZiwweDkwLDB4NzYsMHgxYiwweGUwLDB4ZmYsMHg3NSwweGYwLDB4MGEsMHhhNH0sCi0gIDE2LDB4MTA5MCwwLHsweDI0LDB4YWEsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4ZmUsMHg5MCwweDdmLDB4ZWEsMHhlMCwweGZkfSwKLSAgMTYsMHgxMGEwLDAsezB4ZWUsMHg2ZCwweDYwLDB4MTIsMHg5MCwweDc2LDB4MWMsMHhlMCwweGZlLDB4ZWYsMHhjMywweDllLDB4NTAsMHgwOCwweDkwLDB4NzZ9LAotICAxNiwweDEwYjAsMCx7MHgxYiwweGUwLDB4MDQsMHhmMCwweDgwLDB4ZDEsMHg5MCwweDdmLDB4ZWQsMHhlMCwweDY0LDB4MDYsMHg3MCwweDUyLDB4OTAsMHg3Nn0sCi0gIDE2LDB4MTBjMCwwLHsweDE4LDB4NzQsMHgwNiwweGYwLDB4OTAsMHg3NiwweDM4LDB4NzQsMHgwNCwweGYwLDB4OTAsMHg3NiwweDNhLDB4NzQsMHgwYSwweGYwfSwKLSAgMTYsMHgxMGQwLDAsezB4OTAsMHg3NiwweDFjLDB4ZjAsMHg5MCwweDc2LDB4MWIsMHg3NCwweDAzLDB4ZjAsMHg5MCwweDdmLDB4ZWEsMHhlMCwweGY0LDB4NjB9LAotICAxNiwweDEwZTAsMCx7MHgyZiwweDkwLDB4NzYsMHgxYiwweGUwLDB4ZmYsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWEsMHhmNSwweDgyLDB4ZTQsMHgzNH0sCi0gIDE2LDB4MTBmMCwwLHsweDc1LDB4ZjUsMHg4MywweGUwLDB4ZmUsMHg5MCwweDdmLDB4ZWEsMHhlMCwweGZkLDB4ZWUsMHg2ZCwweDYwLDB4MTIsMHg5MCwweDc2fSwKLSAgMTYsMHgxMTAwLDAsezB4MWMsMHhlMCwweGZlLDB4ZWYsMHhjMywweDllLDB4NTAsMHgwOCwweDkwLDB4NzYsMHgxYiwweGUwLDB4MDQsMHhmMCwweDgwLDB4ZDF9LAotICAxNiwweDExMTAsMCx7MHhlNCwweDkwLDB4NzYsMHgxZSwweGYwLDB4OTAsMHg3NiwweDFjLDB4ZTAsMHhmZiwweDkwLDB4NzYsMHgxYiwweGUwLDB4ZmUsMHg2Zn0sCi0gIDE2LDB4MTEyMCwwLHsweDcwLDB4MDgsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGViLDB4ZTAsMHgxNCwweDYwfSwKLSAgMTYsMHgxMTMwLDAsezB4MTMsMHgxNCwweDcwLDB4MDIsMHgyMSwweGJmLDB4MjQsMHgwMiwweDYwLDB4MDIsMHg4MSwweDc1LDB4OTAsMHg3ZiwweGI0LDB4ZTB9LAotICAxNiwweDExNDAsMCx7MHg0NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhlOSwweGUwLDB4MjQsMHg3ZiwweDcwLDB4NmIsMHg5MCwweDdmLDB4ZWEsMHhlMH0sCi0gIDE2LDB4MTE1MCwwLHsweGY0LDB4NzAsMHg0YSwweDkwLDB4NzYsMHgzOCwweGUwLDB4OTAsMHg3NiwweDFiLDB4ZjAsMHg5MCwweDc2LDB4M2EsMHhlMCwweGZmfSwKLSAgMTYsMHgxMTYwLDAsezB4OTAsMHg3NiwweDFiLDB4ZTAsMHhmZCwweGMzLDB4OWYsMHg1MCwweDJiLDB4ZWQsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWJ9LAotICAxNiwweDExNzAsMCx7MHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4ZmYsMHg5MCwweDc2LDB4MWUsMHhlMCwweGZkLDB4MDQsMHhmMH0sCi0gIDE2LDB4MTE4MCwwLHsweDc0LDB4MDAsMHgyZCwweGY1LDB4ODIsMHhlNCwweDM0LDB4N2YsMHhmNSwweDgzLDB4ZWYsMHhmMCwweDkwLDB4NzYsMHgxYiwweGUwfSwKLSAgMTYsMHgxMTkwLDAsezB4MDQsMHhmMCwweDgwLDB4YzcsMHg5MCwweDc2LDB4MWUsMHhlMCwweDkwLDB4N2YsMHhiNSwweGYwLDB4MjIsMHhlZSwweDc1LDB4ZjB9LAotICAxNiwweDExYTAsMCx7MHgwYSwweGE0LDB4MjQsMHhhYiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHg5MCwweDdmLDB4MDAsMHhmMH0sCi0gIDE2LDB4MTFiMCwwLHsweDkwLDB4N2YsMHhiNSwweDc0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweDkwfSwKLSAgMTYsMHgxMWMwLDAsezB4N2YsMHhlOSwweGUwLDB4MjQsMHg3ZSwweDcwLDB4MDIsMHg0MSwweDdlLDB4MTQsMHg3MCwweDAyLDB4NjEsMHgyMywweDE0LDB4NzB9LAotICAxNiwweDExZDAsMCx7MHgwMiwweDYxLDB4YzgsMHgyNCwweDAzLDB4NjAsMHgwMiwweDgxLDB4NmQsMHg5MCwweDdmLDB4ZWEsMHhlMCwweGY0LDB4NzAsMHg2ZH0sCi0gIDE2LDB4MTFlMCwwLHsweDkwLDB4NzYsMHgzOCwweGUwLDB4OTAsMHg3NiwweDFiLDB4ZjAsMHg5MCwweDc2LDB4M2EsMHhlMCwweGZmLDB4OTAsMHg3NiwweDFifSwKLSAgMTYsMHgxMWYwLDAsezB4ZTAsMHhjMywweDlmLDB4NTAsMHg0ZiwweGUwLDB4ZmYsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWMsMHhmNSwweDgyLDB4ZTR9LAotICAxNiwweDEyMDAsMCx7MHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4ZmUsMHg5MCwweDc2LDB4MWUsMHhlMCwweGZkLDB4MDQsMHhmMCwweDc0LDB4MDAsMHgyZH0sCi0gIDE2LDB4MTIxMCwwLHsweGY1LDB4ODIsMHhlNCwweDM0LDB4N2YsMHhmNSwweDgzLDB4ZWUsMHhmMCwweGVmLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGFkfSwKLSAgMTYsMHgxMjIwLDAsezB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweGZmLDB4OTAsMHg3NiwweDFlLDB4ZTAsMHhmZSwweDA0LDB4ZjB9LAotICAxNiwweDEyMzAsMCx7MHg3NCwweDAwLDB4MmUsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDdmLDB4ZjUsMHg4MywweGVmLDB4ZjAsMHg5MCwweDc2LDB4MWIsMHhlMH0sCi0gIDE2LDB4MTI0MCwwLHsweDA0LDB4ZjAsMHg4MCwweGE0LDB4OTAsMHg3NiwweDFlLDB4ZTAsMHg5MCwweDdmLDB4YjUsMHhmMCwweDIyLDB4OTAsMHg3NiwweDFifSwKLSAgMTYsMHgxMjUwLDAsezB4ZTAsMHhmZiwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhYywweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTB9LAotICAxNiwweDEyNjAsMCx7MHg5MCwweDdmLDB4MDAsMHhmMCwweGVmLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGFkLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NX0sCi0gIDE2LDB4MTI3MCwwLHsweGY1LDB4ODMsMHhlMCwweDkwLDB4N2YsMHgwMSwweGYwLDB4OTAsMHg3ZiwweGI1LDB4NzQsMHgwMiwweGYwLDB4MjIsMHg5MCwweDdmfSwKLSAgMTYsMHgxMjgwLDAsezB4ZWEsMHhlMCwweGY0LDB4NzAsMHg2ZCwweDkwLDB4NzYsMHgzOCwweGUwLDB4OTAsMHg3NiwweDFiLDB4ZjAsMHg5MCwweDc2LDB4M2F9LAotICAxNiwweDEyOTAsMCx7MHhlMCwweGZmLDB4OTAsMHg3NiwweDFiLDB4ZTAsMHhjMywweDlmLDB4NTAsMHg0ZiwweGUwLDB4ZmYsMHg3NSwweGYwLDB4MGEsMHhhNH0sCi0gIDE2LDB4MTJhMCwwLHsweDI0LDB4YWUsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4ZmUsMHg5MCwweDc2LDB4MWUsMHhlMCwweGZkfSwKLSAgMTYsMHgxMmIwLDAsezB4MDQsMHhmMCwweDc0LDB4MDAsMHgyZCwweGY1LDB4ODIsMHhlNCwweDM0LDB4N2YsMHhmNSwweDgzLDB4ZWUsMHhmMCwweGVmLDB4NzV9LAotICAxNiwweDEyYzAsMCx7MHhmMCwweDBhLDB4YTQsMHgyNCwweGFmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweGZmLDB4OTAsMHg3Nn0sCi0gIDE2LDB4MTJkMCwwLHsweDFlLDB4ZTAsMHhmZSwweDA0LDB4ZjAsMHg3NCwweDAwLDB4MmUsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDdmLDB4ZjUsMHg4MywweGVmfSwKLSAgMTYsMHgxMmUwLDAsezB4ZjAsMHg5MCwweDc2LDB4MWIsMHhlMCwweDA0LDB4ZjAsMHg4MCwweGE0LDB4OTAsMHg3NiwweDFlLDB4ZTAsMHg5MCwweDdmLDB4YjV9LAotICAxNiwweDEyZjAsMCx7MHhmMCwweDIyLDB4OTAsMHg3NiwweDFiLDB4ZTAsMHhmZiwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhZSwweGY1LDB4ODIsMHhlNH0sCi0gIDE2LDB4MTMwMCwwLHsweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHg5MCwweDdmLDB4MDAsMHhmMCwweGVmLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGFmfSwKLSAgMTYsMHgxMzEwLDAsezB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweDkwLDB4N2YsMHgwMSwweGYwLDB4OTAsMHg3ZiwweGI1LDB4NzR9LAotICAxNiwweDEzMjAsMCx7MHgwMiwweGYwLDB4MjIsMHg5MCwweDdmLDB4ZWEsMHhlMCwweGY0LDB4NzAsMHg2ZCwweDkwLDB4NzYsMHgzOCwweGUwLDB4OTAsMHg3Nn0sCi0gIDE2LDB4MTMzMCwwLHsweDFiLDB4ZjAsMHg5MCwweDc2LDB4M2EsMHhlMCwweGZmLDB4OTAsMHg3NiwweDFiLDB4ZTAsMHhjMywweDlmLDB4NTAsMHg0ZiwweGUwfSwKLSAgMTYsMHgxMzQwLDAsezB4ZmYsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YjAsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4ZmV9LAotICAxNiwweDEzNTAsMCx7MHg5MCwweDc2LDB4MWUsMHhlMCwweGZkLDB4MDQsMHhmMCwweDc0LDB4MDAsMHgyZCwweGY1LDB4ODIsMHhlNCwweDM0LDB4N2YsMHhmNX0sCi0gIDE2LDB4MTM2MCwwLHsweDgzLDB4ZWUsMHhmMCwweGVmLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGIxLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1fSwKLSAgMTYsMHgxMzcwLDAsezB4ODMsMHhlMCwweGZmLDB4OTAsMHg3NiwweDFlLDB4ZTAsMHhmZSwweDA0LDB4ZjAsMHg3NCwweDAwLDB4MmUsMHhmNSwweDgyLDB4ZTR9LAotICAxNiwweDEzODAsMCx7MHgzNCwweDdmLDB4ZjUsMHg4MywweGVmLDB4ZjAsMHg5MCwweDc2LDB4MWIsMHhlMCwweDA0LDB4ZjAsMHg4MCwweGE0LDB4OTAsMHg3Nn0sCi0gIDE2LDB4MTM5MCwwLHsweDFlLDB4ZTAsMHg5MCwweDdmLDB4YjUsMHhmMCwweDIyLDB4OTAsMHg3NiwweDFiLDB4ZTAsMHhmZiwweDc1LDB4ZjAsMHgwYSwweGE0fSwKLSAgMTYsMHgxM2EwLDAsezB4MjQsMHhiMCwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHg5MCwweDdmLDB4MDAsMHhmMCwweGVmLDB4NzV9LAotICAxNiwweDEzYjAsMCx7MHhmMCwweDBhLDB4YTQsMHgyNCwweGIxLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweDkwLDB4N2YsMHgwMX0sCi0gIDE2LDB4MTNjMCwwLHsweGYwLDB4OTAsMHg3ZiwweGI1LDB4NzQsMHgwMiwweGYwLDB4MjIsMHg5MCwweDdmLDB4ZWEsMHhlMCwweGY0LDB4NzAsMHg2ZCwweDkwfSwKLSAgMTYsMHgxM2QwLDAsezB4NzYsMHgzOCwweGUwLDB4OTAsMHg3NiwweDFiLDB4ZjAsMHg5MCwweDc2LDB4M2EsMHhlMCwweGZmLDB4OTAsMHg3NiwweDFiLDB4ZTB9LAotICAxNiwweDEzZTAsMCx7MHhjMywweDlmLDB4NTAsMHg0ZiwweGUwLDB4ZmYsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YjIsMHhmNSwweDgyLDB4ZTQsMHgzNH0sCi0gIDE2LDB4MTNmMCwwLHsweDc1LDB4ZjUsMHg4MywweGUwLDB4ZmUsMHg5MCwweDc2LDB4MWUsMHhlMCwweGZkLDB4MDQsMHhmMCwweDc0LDB4MDAsMHgyZCwweGY1fSwKLSAgMTYsMHgxNDAwLDAsezB4ODIsMHhlNCwweDM0LDB4N2YsMHhmNSwweDgzLDB4ZWUsMHhmMCwweGVmLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGIzLDB4ZjV9LAotICAxNiwweDE0MTAsMCx7MHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweGZmLDB4OTAsMHg3NiwweDFlLDB4ZTAsMHhmZSwweDA0LDB4ZjAsMHg3NH0sCi0gIDE2LDB4MTQyMCwwLHsweDAwLDB4MmUsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDdmLDB4ZjUsMHg4MywweGVmLDB4ZjAsMHg5MCwweDc2LDB4MWIsMHhlMCwweDA0fSwKLSAgMTYsMHgxNDMwLDAsezB4ZjAsMHg4MCwweGE0LDB4OTAsMHg3NiwweDFlLDB4ZTAsMHg5MCwweDdmLDB4YjUsMHhmMCwweDIyLDB4OTAsMHg3NiwweDFiLDB4ZTB9LAotICAxNiwweDE0NDAsMCx7MHhmZiwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhiMiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHg5MH0sCi0gIDE2LDB4MTQ1MCwwLHsweDdmLDB4MDAsMHhmMCwweGVmLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGIzLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1fSwKLSAgMTYsMHgxNDYwLDAsezB4ODMsMHhlMCwweDkwLDB4N2YsMHgwMSwweGYwLDB4OTAsMHg3ZiwweGI1LDB4NzQsMHgwMiwweGYwLDB4MjIsMHg5MCwweDdmLDB4YjR9LAotICAxNiwweDE0NzAsMCx7MHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhiNH0sCi0gICA1LDB4MTQ4MCwwLHsweGUwLDB4NDQsMHgwMSwweGYwLDB4MjJ9LAotICAxNiwweDE0ODUsMCx7MHg3NCwweDAwLDB4ZjUsMHg4NiwweDkwLDB4ZmQsMHhhNSwweDdjLDB4MDUsMHhhMywweGU1LDB4ODIsMHg0NSwweDgzLDB4NzAsMHhmOX0sCi0gICAxLDB4MTQ5NSwwLHsweDIyfSwKLSAgMTYsMHgxNDk2LDAsezB4OTAsMHg3ZiwweGQ2LDB4ZTAsMHg0NCwweDgwLDB4ZjAsMHg0MywweDg3LDB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjJ9LAotICAxNiwweDE0YTYsMCx7MHhjMCwweGQwLDB4YzAsMHhlMCwweDhmLDB4ZTAsMHhjMCwweGUwLDB4OGUsMHhlMCwweGMwLDB4ZTAsMHg4ZCwweGUwLDB4YzAsMHhlMH0sCi0gIDE2LDB4MTRiNiwwLHsweDhjLDB4ZTAsMHhjMCwweGUwLDB4YzAsMHg4MiwweGMwLDB4ODMsMHgwNSwweDg2LDB4YzAsMHg4NCwweGMwLDB4ODUsMHg3ZCwweDAwfSwKLSAgMTYsMHgxNGM2LDAsezB4OTAsMHg3ZiwweGUzLDB4NzQsMHg3YiwweGYwLDB4YTMsMHg3NCwweDgwLDB4ZjAsMHg3YywweDExLDB4OTAsMHg3ZiwweDk5LDB4ZTB9LAotICAxNiwweDE0ZDYsMCx7MHg1NCwweDQwLDB4ZGMsMHgwMywweDAyLDB4MTQsMHhmMywweGI0LDB4MDAsMHgxMywweDkwLDB4N2YsMHhlMiwweDc0LDB4NDAsMHhmMH0sCi0gIDE2LDB4MTRlNiwwLHsweDkwLDB4N2YsMHhlNSwweGYwLDB4OTAsMHg3ZiwweGUyLDB4NzQsMHgwMCwweGYwLDB4MDIsMHgxNCwweGQyLDB4OTAsMHg3NiwweDkwfSwKLSAgMTYsMHgxNGY2LDAsezB4ZTAsMHhiNCwweDAxLDB4MTIsMHg5MCwweDc2LDB4OGYsMHhlMCwweDJkLDB4ZmQsMHg5MCwweDdmLDB4ZTIsMHg3NCwweDgwLDB4ZjB9LAotICAxNiwweDE1MDYsMCx7MHg5MCwweDdmLDB4NmMsMHgwMiwweDE1LDB4NTcsMHhiNCwweDAyLDB4MTIsMHg5MCwweDc2LDB4OGYsMHhlMCwweDJkLDB4ZmQsMHg5MH0sCi0gIDE2LDB4MTUxNiwwLHsweDdmLDB4ZTIsMHg3NCwweDgwLDB4ZjAsMHg5MCwweDdmLDB4NmMsMHgwMiwweDE1LDB4OTYsMHhiNCwweDAzLDB4MTIsMHg5MCwweDc2fSwKLSAgMTYsMHgxNTI2LDAsezB4OGYsMHhlMCwweDJkLDB4ZmQsMHg5MCwweDdmLDB4ZTIsMHg3NCwweDgwLDB4ZjAsMHg5MCwweDdmLDB4NmMsMHgwMiwweDE1LDB4ZTF9LAotICAxNiwweDE1MzYsMCx7MHhiNCwweDA0LDB4MTIsMHg5MCwweDc2LDB4OGYsMHhlMCwweDJkLDB4ZmQsMHg5MCwweDdmLDB4ZTIsMHg3NCwweDgwLDB4ZjAsMHg5MH0sCi0gIDE2LDB4MTU0NiwwLHsweDdmLDB4NmMsMHgwMiwweDE2LDB4MTAsMHg5MCwweDdmLDB4ZTIsMHg3NCwweDgwLDB4ZjAsMHg5MCwweDdmLDB4NmMsMHgwMiwweDE2fSwKLSAgMTYsMHgxNTU2LDAsezB4NDAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhkZCwweGYyLDB4N2R9LAotICAxNiwweDE1NjYsMCx7MHgwMiwweDA1LDB4ODYsMHg5MCwweDdmLDB4ZTIsMHg3NCwweDAwLDB4ZjAsMHg5MCwweDdmLDB4OWIsMHhlMCwweDU0LDB4MDQsMHhiNH0sCi0gIDE2LDB4MTU3NiwwLHsweDAwLDB4MDUsMHgwNSwweDg2LDB4MDIsMHgxNiwweDQwLDB4OTAsMHg3ZiwweGUyLDB4NzQsMHg4MCwweGYwLDB4MDUsMHg4NiwweGYwfSwKLSAgMTYsMHgxNTg2LDAsezB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGRkLDB4ZDQsMHgwMiwweDE2LDB4NDB9LAotICAxNiwweDE1OTYsMCx7MHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMH0sCi0gIDE2LDB4MTVhNiwwLHsweGYwLDB4ZjAsMHhkZCwweGVjLDB4N2QsMHgwMiwweDA1LDB4ODYsMHg5MCwweDdmLDB4ZTIsMHg3NCwweDAwLDB4ZjAsMHg5MCwweDdmfSwKLSAgMTYsMHgxNWI2LDAsezB4OWIsMHhlMCwweDU0LDB4MDQsMHhiNCwweDAwLDB4MDUsMHgwNSwweDg2LDB4MDIsMHgxNiwweDQwLDB4OTAsMHg3ZiwweGUyLDB4NzR9LAotICAxNiwweDE1YzYsMCx7MHg4MCwweGYwLDB4MDUsMHg4NiwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMH0sCi0gICA2LDB4MTVkNiwwLHsweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMH0sCi0gIDE2LDB4MTVkYywwLHsweGRkLDB4Y2UsMHgwMiwweDE2LDB4NDAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGRkLDB4ZmEsMHg3ZCwweDAyLDB4MDUsMHg4NiwweDkwfSwKLSAgMTYsMHgxNWVjLDAsezB4N2YsMHhlMiwweDc0LDB4MDAsMHhmMCwweDkwLDB4N2YsMHg5YiwweGUwLDB4NTQsMHgwNCwweGI0LDB4MDAsMHgwNSwweDA1LDB4ODZ9LAotICAxNiwweDE1ZmMsMCx7MHgwMiwweDE2LDB4NDAsMHg5MCwweDdmLDB4ZTIsMHg3NCwweDgwLDB4ZjAsMHgwNSwweDg2LDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhkZH0sCi0gIDE2LDB4MTYwYywwLHsweGRjLDB4MDIsMHgxNiwweDQwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZGQsMHhmOCwweDdkLDB4MDIsMHgwNSwweDg2fSwKLSAgMTYsMHgxNjFjLDAsezB4OTAsMHg3ZiwweGUyLDB4NzQsMHgwMCwweGYwLDB4OTAsMHg3ZiwweDliLDB4ZTAsMHg1NCwweDA0LDB4YjQsMHgwMCwweDA1LDB4MDV9LAotICAxNiwweDE2MmMsMCx7MHg4NiwweDAyLDB4MTYsMHg0MCwweDkwLDB4N2YsMHhlMiwweDc0LDB4ODAsMHhmMCwweDA1LDB4ODYsMHhmMCwweGYwLDB4ZjAsMHhmMH0sCi0gIDE2LDB4MTYzYywwLHsweGYwLDB4ZjAsMHhkZCwweGRhLDB4OTAsMHg3ZiwweGUyLDB4NzQsMHgwMCwweGYwLDB4ZDAsMHg4NSwweGQwLDB4ODQsMHgwNSwweDg2fSwKLSAgMTYsMHgxNjRjLDAsezB4ZDAsMHg4MywweGQwLDB4ODIsMHhkMCwweGUwLDB4ZmMsMHhkMCwweGUwLDB4ZmQsMHhkMCwweGUwLDB4ZmUsMHhkMCwweGUwLDB4ZmZ9LAotICAgNSwweDE2NWMsMCx7MHhkMCwweGUwLDB4ZDAsMHhkMCwweDIyfSwKLSAgMTYsMHgxNjYxLDAsezB4YzAsMHhkMCwweGMwLDB4ZTAsMHhjMCwweDgyLDB4YzAsMHg4MywweDkwLDB4NzYsMHg3YywweGUwLDB4OTAsMHg3ZiwweDZmLDB4ZjB9LAotICAxNiwweDE2NzEsMCx7MHg5MCwweDc2LDB4N2QsMHhlMCwweDkwLDB4N2YsMHg2ZiwweGYwLDB4OTAsMHg3NiwweDdlLDB4ZTAsMHg5MCwweDdmLDB4NmYsMHhmMH0sCi0gICA5LDB4MTY4MSwwLHsweGQwLDB4ODMsMHhkMCwweDgyLDB4ZDAsMHhlMCwweGQwLDB4ZDAsMHgyMn0sCi0gIDE2LDB4MTY4YSwwLHsweGMwLDB4ZDAsMHhjMCwweGUwLDB4OGYsMHhlMCwweGMwLDB4ZTAsMHg4ZSwweGUwLDB4YzAsMHhlMCwweGMwLDB4ODIsMHhjMCwweDgzfSwKLSAgMTYsMHgxNjlhLDAsezB4MDUsMHg4NiwweGMwLDB4ODQsMHhjMCwweDg1LDB4OTAsMHg3NiwweDg3LDB4ZTAsMHhmZiwweGJmLDB4MDAsMHgwMywweDAyLDB4MTd9LAotICAxNiwweDE2YWEsMCx7MHgwMSwweDkwLDB4N2YsMHg5NiwweGUwLDB4NDQsMHg4MCwweGYwLDB4OTAsMHg3ZiwweGUyLDB4NzQsMHg4MCwweGYwLDB4OTAsMHg3Zn0sCi0gIDE2LDB4MTZiYSwwLHsweDYyLDB4ZTAsMHgwNSwweDg2LDB4OTAsMHg3ZiwweGUyLDB4NzQsMHgwMCwweGYwLDB4OTAsMHg3ZiwweDk2LDB4ZTAsMHg1NCwweDdmfSwKLSAgMTYsMHgxNmNhLDAsezB4ZjAsMHg5MCwweDdmLDB4ZTIsMHg3NCwweDgwLDB4ZjAsMHg5MCwweDc2LDB4OGUsMHhlMCwweGI0LDB4MDEsMHgwNSwweDA1LDB4ODZ9LAotICAxNiwweDE2ZGEsMCx7MHgwMiwweDE2LDB4ZjYsMHhiNCwweDAyLDB4MDUsMHgwNSwweDg2LDB4MDIsMHgxNiwweGViLDB4MDUsMHg4NiwweDAyLDB4MTYsMHhmYn0sCi0gIDE2LDB4MTZlYSwwLHsweGUwLDB4ZTAsMHhlMCwweGUwLDB4ZTAsMHhlMCwweGRmLDB4ZjgsMHgwMiwweDE2LDB4ZmIsMHhlMCwweGUwLDB4ZTAsMHhlMCwweGRmfSwKLSAgMTYsMHgxNmZhLDAsezB4ZmEsMHg5MCwweDdmLDB4ZTIsMHg3NCwweDAwLDB4ZjAsMHhkMCwweDg1LDB4ZDAsMHg4NCwweDA1LDB4ODYsMHhkMCwweDgzLDB4ZDB9LAotICAxMiwweDE3MGEsMCx7MHg4MiwweGQwLDB4ZTAsMHhmZSwweGQwLDB4ZTAsMHhmZiwweGQwLDB4ZTAsMHhkMCwweGQwLDB4MjJ9LAotICAxNiwweDE3MTYsMCx7MHhjMCwweDgyLDB4YzAsMHg4MywweGMwLDB4ZTAsMHhlOCwweGMwLDB4ZTAsMHg3OCwweGQxLDB4ZTgsMHgxNCwweGY4LDB4NzAsMHhmYn0sCi0gIDEwLDB4MTcyNiwwLHsweGQwLDB4ZTAsMHhmOCwweGQwLDB4ZTAsMHhkMCwweDgzLDB4ZDAsMHg4MiwweDIyfSwKLSAgMTYsMHgxNzMwLDAsezB4YzAsMHg4MiwweGMwLDB4ODMsMHhjMCwweGUwLDB4ZTgsMHhjMCwweGUwLDB4NzgsMHg3OCwweGU4LDB4MTQsMHhmOCwweDcwLDB4ZmJ9LAotICAxMCwweDE3NDAsMCx7MHhkMCwweGUwLDB4ZjgsMHhkMCwweGUwLDB4ZDAsMHg4MywweGQwLDB4ODIsMHgyMn0sCi0gICA3LDB4MTc0YSwwLHsweDkwLDB4N2YsMHhjNSwweDc0LDB4MDIsMHhmMCwweDIyfSwKLSAgMTYsMHgxNzUxLDAsezB4OTAsMHg3ZSwweGMwLDB4ZTAsMHg5MCwweDc2LDB4NDUsMHhmMCwweDkwLDB4N2UsMHhjMSwweGUwLDB4OTAsMHg3NiwweDQ0LDB4ZjB9LAotICAxNiwweDE3NjEsMCx7MHg5MCwweDdlLDB4YzIsMHhlMCwweDkwLDB4NzYsMHg0MywweGYwLDB4YjQsMHgwMCwweDAzLDB4MDIsMHgxNywweDc4LDB4OTAsMHg3Nn0sCi0gIDE2LDB4MTc3MSwwLHsweDE5LDB4NzQsMHgwMywweGYwLDB4MDIsMHgxNywweDhlLDB4OTAsMHg3NiwweDQ0LDB4ZTAsMHhiNCwweGJiLDB4MDksMHg5MCwweDc2fSwKLSAgMTYsMHgxNzgxLDAsezB4MTksMHg3NCwweDAyLDB4ZjAsMHgwMiwweDE3LDB4OGUsMHg5MCwweDc2LDB4MTksMHg3NCwweDAxLDB4ZjAsMHg5MCwweDc2LDB4NDJ9LAotICAgMywweDE3OTEsMCx7MHhlNCwweGYwLDB4MjJ9LAotICAgNCwweDE3OTQsMCx7MHg4ZCwweDI5LDB4OGIsMHgyYX0sCi0gIDE2LDB4MTc5OCwwLHsweDEyLDB4NGEsMHg1NSwweGVhLDB4NDksMHg2MCwweDU3LDB4MTIsMHgzNiwweDkyLDB4N2UsMHgwMCwweDI5LDB4ZmYsMHhlZSwweDNhfSwKLSAgMTYsMHgxN2E4LDAsezB4YzksMHhlZiwweGM5LDB4NzUsMHgyYiwweGZmLDB4ZjUsMHgyYywweDg5LDB4MmQsMHhhYiwweDJiLDB4YWEsMHgyYywweGE5LDB4MmR9LAotICAxNiwweDE3YjgsMCx7MHg5MCwweDAwLDB4MDEsMHgxMiwweDM2LDB4YWIsMHhmZiwweDY0LDB4MDQsMHg2MCwweDA1LDB4ZWYsMHg2NCwweDA1LDB4NzAsMHgyZX0sCi0gIDE2LDB4MTdjOCwwLHsweGVmLDB4YjQsMHgwNCwweDE1LDB4OTAsMHgwMCwweDAyLDB4MTIsMHgzNiwweGFiLDB4NjUsMHgyOSwweDcwLDB4MGIsMHg5MCwweDAwfSwKLSAgMTYsMHgxN2Q4LDAsezB4MDMsMHgxMiwweDM2LDB4YWIsMHg2NSwweDJhLDB4NzAsMHgwMSwweDIyLDB4MTIsMHgzNiwweDkyLDB4N2UsMHgwMCwweDI5LDB4ZmZ9LAotICAxNiwweDE3ZTgsMCx7MHhlZSwweDNhLDB4YzksMHhlZiwweGM5LDB4NzUsMHgyYiwweGZmLDB4ZjUsMHgyYywweDg5LDB4MmQsMHg4MCwweGJjLDB4N2IsMHgwMH0sCi0gICA0LDB4MTdmOCwwLHsweDdhLDB4MDAsMHg3OSwweDAwfSwKLSAgIDEsMHgxN2ZjLDAsezB4MjJ9LAotICAgMywweDE3ZmQsMCx7MHhjMiwweDhiLDB4MzJ9LAotICAxNiwweDE4MDAsMCx7MHg5MCwweDc2LDB4OTAsMHhlMCwweDE0LDB4NjAsMHgzNywweDE0LDB4NzAsMHgwMiwweDAxLDB4ZDgsMHgxNCwweDcwLDB4MDIsMHgyMX0sCi0gIDE2LDB4MTgxMCwwLHsweDcyLDB4MTQsMHg3MCwweDAyLDB4NDEsMHgzYiwweDI0LDB4MDQsMHg2MCwweDAyLDB4NjEsMHgwMywweDkwLDB4N2YsMHhmYywweDc0fSwKLSAgMTYsMHgxODIwLDAsezB4Y2MsMHhmMCwweDkwLDB4N2YsMHhmZiwweDc0LDB4ZmMsMHhmMCwweDkwLDB4NzYsMHg5NSwweGUwLDB4NDQsMHgwMSwweGYwLDB4NTR9LAotICAxNiwweDE4MzAsMCx7MHgwNSwweGYwLDB4OTAsMHg4MCwweDAxLDB4ZjAsMHhlNCwweDkwLDB4NzYsMHgxYSwweGYwLDB4YzIsMHgyZSwweDIyLDB4OTAsMHg3Nn0sCi0gIDE2LDB4MTg0MCwwLHsweDk1LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg0NCwweDAyLDB4ZjAsMHgzMCwweDNlLDB4MDYsMHhlMCwweDQ0LDB4MDQsMHhmMCwweDgwfSwKLSAgMTYsMHgxODUwLDAsezB4MDcsMHg5MCwweDc2LDB4OTUsMHhlMCwweDU0LDB4ZmIsMHhmMCwweDkwLDB4NzYsMHgxYSwweGUwLDB4YjQsMHgwMSwweDA4LDB4OTB9LAotICAxNiwweDE4NjAsMCx7MHg3NiwweDk1LDB4ZTAsMHg5MCwweDgwLDB4MDEsMHhmMCwweDkwLDB4NzYsMHgxOSwweGUwLDB4ZmYsMHhiNCwweDAxLDB4MjIsMHg5MH0sCi0gIDE2LDB4MTg3MCwwLHsweDdmLDB4ZmMsMHg3NCwweDc0LDB4ZjAsMHg5MCwweDdmLDB4ZmYsMHg3NCwweGZjLDB4ZjAsMHg5MCwweDc2LDB4OGYsMHg3NCwweDJifSwKLSAgMTYsMHgxODgwLDAsezB4ZjAsMHg5MCwweDc2LDB4OTcsMHhlMCwweDU0LDB4ZmQsMHhmMCwweGU0LDB4OTAsMHg3NiwweDgxLDB4ZjAsMHg5MCwweDc2LDB4ODB9LAotICAxNiwweDE4OTAsMCx7MHhmMCwweGVmLDB4YjQsMHgwMiwweDIyLDB4OTAsMHg3ZiwweGZjLDB4NzQsMHg2OCwweGYwLDB4OTAsMHg3ZiwweGZmLDB4NzQsMHhmY30sCi0gIDE2LDB4MThhMCwwLHsweGYwLDB4OTAsMHg3NiwweDhmLDB4NzQsMHgyZiwweGYwLDB4OTAsMHg3NiwweDk3LDB4ZTAsMHg0NCwweDAyLDB4ZjAsMHhlNCwweDkwfSwKLSAgMTYsMHgxOGIwLDAsezB4NzYsMHg4MSwweGYwLDB4OTAsMHg3NiwweDgwLDB4ZjAsMHgzMCwweDNmLDB4MDksMHg5MCwweDc2LDB4OTcsMHhlMCwweDU0LDB4ZmV9LAotICAxNiwweDE4YzAsMCx7MHhmMCwweDgwLDB4MDcsMHg5MCwweDc2LDB4OTcsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDkwLDB4NzYsMHg5NywweGUwLDB4NTQsMHhmYn0sCi0gIDE2LDB4MThkMCwwLHsweGYwLDB4OTAsMHg4MCwweDAyLDB4ZjAsMHhkMiwweDJlLDB4MjIsMHg5MCwweDc2LDB4OTUsMHhlMCwweDU0LDB4ZmUsMHhmMCwweDQ0fSwKLSAgMTYsMHgxOGUwLDAsezB4MDIsMHhmMCwweDMwLDB4M2UsMHgwNiwweGUwLDB4NDQsMHgwNCwweGYwLDB4ODAsMHgwNywweDkwLDB4NzYsMHg5NSwweGUwLDB4NTR9LAotICAxNiwweDE4ZjAsMCx7MHhmYiwweGYwLDB4OTAsMHg3NiwweDFhLDB4ZTAsMHhiNCwweDAxLDB4MDgsMHg5MCwweDc2LDB4OTUsMHhlMCwweDkwLDB4ODAsMHgwMX0sCi0gIDE2LDB4MTkwMCwwLHsweGYwLDB4OTAsMHg3NiwweDE5LDB4ZTAsMHhmZiwweGI0LDB4MDEsMHgyMiwweDkwLDB4N2YsMHhmYywweDc0LDB4MzAsMHhmMCwweDkwfSwKLSAgMTYsMHgxOTEwLDAsezB4N2YsMHhmZiwweDc0LDB4ZmMsMHhmMCwweDkwLDB4NzYsMHg4ZiwweDc0LDB4MmIsMHhmMCwweDkwLDB4NzYsMHg5NywweGUwLDB4NTR9LAotICAxNiwweDE5MjAsMCx7MHhmZCwweGYwLDB4ZTQsMHg5MCwweDc2LDB4ODEsMHhmMCwweDkwLDB4NzYsMHg4MCwweGYwLDB4ZWYsMHhiNCwweDAyLDB4MjIsMHg5MH0sCi0gIDE2LDB4MTkzMCwwLHsweDdmLDB4ZmMsMHg3NCwweDFjLDB4ZjAsMHg5MCwweDdmLDB4ZmYsMHg3NCwweGZjLDB4ZjAsMHg5MCwweDc2LDB4OGYsMHg3NCwweDJmfSwKLSAgMTYsMHgxOTQwLDAsezB4ZjAsMHg5MCwweDc2LDB4OTcsMHhlMCwweDQ0LDB4MDIsMHhmMCwweGU0LDB4OTAsMHg3NiwweDgxLDB4ZjAsMHg5MCwweDc2LDB4ODB9LAotICAxNiwweDE5NTAsMCx7MHhmMCwweDMwLDB4M2YsMHgwOSwweDkwLDB4NzYsMHg5NywweGUwLDB4NTQsMHhmZSwweGYwLDB4ODAsMHgwNywweDkwLDB4NzYsMHg5N30sCi0gIDE2LDB4MTk2MCwwLHsweGUwLDB4NDQsMHgwMSwweGYwLDB4OTAsMHg3NiwweDk3LDB4ZTAsMHg1NCwweGZiLDB4ZjAsMHg5MCwweDgwLDB4MDIsMHhmMCwweGQyfSwKLSAgMTYsMHgxOTcwLDAsezB4MmUsMHgyMiwweDkwLDB4NzYsMHg5NSwweGUwLDB4NDQsMHgwMSwweGYwLDB4NDQsMHgwMiwweGYwLDB4NDQsMHgwOCwweGYwLDB4MzB9LAotICAxNiwweDE5ODAsMCx7MHgzZSwweDA2LDB4ZTAsMHg0NCwweDA0LDB4ZjAsMHg4MCwweDA3LDB4OTAsMHg3NiwweDk1LDB4ZTAsMHg1NCwweGZiLDB4ZjAsMHg5MH0sCi0gIDE2LDB4MTk5MCwwLHsweDc2LDB4MWEsMHhlMCwweGI0LDB4MDEsMHgwOCwweDkwLDB4NzYsMHg5NSwweGUwLDB4OTAsMHg4MCwweDAxLDB4ZjAsMHg5MCwweDc2fSwKLSAgMTYsMHgxOWEwLDAsezB4MTksMHhlMCwweGZmLDB4YjQsMHgwMSwweDI1LDB4OTAsMHg3ZiwweGZjLDB4NzQsMHhjYywweGYwLDB4OTAsMHg3ZiwweGZmLDB4NzR9LAotICAxNiwweDE5YjAsMCx7MHhmYywweGYwLDB4OTAsMHg3NiwweDhmLDB4NzQsMHgyYiwweGYwLDB4OTAsMHg3NiwweDk3LDB4ZTAsMHg1NCwweGZkLDB4ZjAsMHg1NH0sCi0gIDE2LDB4MTljMCwwLHsweGZiLDB4ZjAsMHhlNCwweDkwLDB4NzYsMHg4MSwweGYwLDB4OTAsMHg3NiwweDgwLDB4ZjAsMHhlZiwweGI0LDB4MDIsMHgyNSwweDkwfSwKLSAgMTYsMHgxOWQwLDAsezB4N2YsMHhmYywweDc0LDB4YzgsMHhmMCwweDkwLDB4N2YsMHhmZiwweDc0LDB4ZmMsMHhmMCwweDkwLDB4NzYsMHg4ZiwweDc0LDB4MmZ9LAotICAxNiwweDE5ZTAsMCx7MHhmMCwweDkwLDB4NzYsMHg5NywweGUwLDB4NDQsMHgwMiwweGYwLDB4NTQsMHhmYiwweGYwLDB4ZTQsMHg5MCwweDc2LDB4ODEsMHhmMH0sCi0gIDE2LDB4MTlmMCwwLHsweDkwLDB4NzYsMHg4MCwweGYwLDB4ZWYsMHhiNCwweDAzLDB4MjUsMHg5MCwweDdmLDB4ZmMsMHg3NCwweDk4LDB4ZjAsMHg5MCwweDdmfSwKLSAgMTYsMHgxYTAwLDAsezB4ZmYsMHg3NCwweGZjLDB4ZjAsMHg5MCwweDc2LDB4OGYsMHg3NCwweDVmLDB4ZjAsMHg5MCwweDc2LDB4OTcsMHhlMCwweDU0LDB4ZmR9LAotICAxNiwweDFhMTAsMCx7MHhmMCwweDQ0LDB4MDQsMHhmMCwweGU0LDB4OTAsMHg3NiwweDgxLDB4ZjAsMHg5MCwweDc2LDB4ODAsMHhmMCwweDMwLDB4M2YsMHgwOX0sCi0gIDE2LDB4MWEyMCwwLHsweDkwLDB4NzYsMHg5NywweGUwLDB4NTQsMHhmZSwweGYwLDB4ODAsMHgwNywweDkwLDB4NzYsMHg5NywweGUwLDB4NDQsMHgwMSwweGYwfSwKLSAgMTYsMHgxYTMwLDAsezB4OTAsMHg3NiwweDk3LDB4ZTAsMHg5MCwweDgwLDB4MDIsMHhmMCwweGQyLDB4MmUsMHgyMiwweDkwLDB4NzYsMHg5NSwweGUwLDB4NTR9LAotICAxNiwweDFhNDAsMCx7MHhmZSwweGYwLDB4NDQsMHgwMiwweGYwLDB4NDQsMHgwOCwweGYwLDB4MzAsMHgzZSwweDA2LDB4ZTAsMHg0NCwweDA0LDB4ZjAsMHg4MH0sCi0gIDE2LDB4MWE1MCwwLHsweDA3LDB4OTAsMHg3NiwweDk1LDB4ZTAsMHg1NCwweGZiLDB4ZjAsMHg5MCwweDc2LDB4MWEsMHhlMCwweGI0LDB4MDEsMHgwOCwweDkwfSwKLSAgMTYsMHgxYTYwLDAsezB4NzYsMHg5NSwweGUwLDB4OTAsMHg4MCwweDAxLDB4ZjAsMHg5MCwweDc2LDB4MTksMHhlMCwweGZmLDB4YjQsMHgwMSwweDI1LDB4OTB9LAotICAxNiwweDFhNzAsMCx7MHg3ZiwweGZjLDB4NzQsMHhiNCwweGYwLDB4OTAsMHg3ZiwweGZmLDB4NzQsMHhmYywweGYwLDB4OTAsMHg3NiwweDhmLDB4NzQsMHgyYn0sCi0gIDE2LDB4MWE4MCwwLHsweGYwLDB4OTAsMHg3NiwweDk3LDB4ZTAsMHg1NCwweGZkLDB4ZjAsMHg1NCwweGZiLDB4ZjAsMHhlNCwweDkwLDB4NzYsMHg4MSwweGYwfSwKLSAgMTYsMHgxYTkwLDAsezB4OTAsMHg3NiwweDgwLDB4ZjAsMHhlZiwweGI0LDB4MDIsMHgyNSwweDkwLDB4N2YsMHhmYywweDc0LDB4YjAsMHhmMCwweDkwLDB4N2Z9LAotICAxNiwweDFhYTAsMCx7MHhmZiwweDc0LDB4ZmMsMHhmMCwweDkwLDB4NzYsMHg4ZiwweDc0LDB4MmYsMHhmMCwweDkwLDB4NzYsMHg5NywweGUwLDB4NDQsMHgwMn0sCi0gIDE2LDB4MWFiMCwwLHsweGYwLDB4NTQsMHhmYiwweGYwLDB4ZTQsMHg5MCwweDc2LDB4ODEsMHhmMCwweDkwLDB4NzYsMHg4MCwweGYwLDB4ZWYsMHhiNCwweDAzfSwKLSAgMTYsMHgxYWMwLDAsezB4MjUsMHg5MCwweDdmLDB4ZmMsMHg3NCwweDY4LDB4ZjAsMHg5MCwweDdmLDB4ZmYsMHg3NCwweGZjLDB4ZjAsMHg5MCwweDc2LDB4OGZ9LAotICAxNiwweDFhZDAsMCx7MHg3NCwweDVmLDB4ZjAsMHg5MCwweDc2LDB4OTcsMHhlMCwweDU0LDB4ZmQsMHhmMCwweDQ0LDB4MDQsMHhmMCwweGU0LDB4OTAsMHg3Nn0sCi0gIDE2LDB4MWFlMCwwLHsweDgxLDB4ZjAsMHg5MCwweDc2LDB4ODAsMHhmMCwweDMwLDB4M2YsMHgwOSwweDkwLDB4NzYsMHg5NywweGUwLDB4NTQsMHhmZSwweGYwfSwKLSAgMTYsMHgxYWYwLDAsezB4ODAsMHgwNywweDkwLDB4NzYsMHg5NywweGUwLDB4NDQsMHgwMSwweGYwLDB4OTAsMHg3NiwweDk3LDB4ZTAsMHg5MCwweDgwLDB4MDJ9LAotICAgNCwweDFiMDAsMCx7MHhmMCwweGQyLDB4MmUsMHgyMn0sCi0gIDE2LDB4MWIwNCwwLHsweDMwLDB4MmMsMHgzOCwweGMyLDB4MmMsMHg5MCwweDc2LDB4MTksMHhlMCwweGZmLDB4YjQsMHgwMSwweDBlLDB4OTAsMHg3NiwweDdjfSwKLSAgMTYsMHgxYjE0LDAsezB4NzQsMHhjMCwweGYwLDB4YTMsMHg3NCwweDE0LDB4ZjAsMHhhMywweDc0LDB4MGIsMHhmMCwweGVmLDB4YjQsMHgwMiwweDBkLDB4ZTR9LAotICAxNiwweDFiMjQsMCx7MHg5MCwweDc2LDB4N2MsMHhmMCwweGEzLDB4NzQsMHgxMCwweGYwLDB4YTMsMHg3NCwweDBjLDB4ZjAsMHhlZiwweGI0LDB4MDMsMHgwYn0sCi0gIDEyLDB4MWIzNCwwLHsweGU0LDB4OTAsMHg3NiwweDdjLDB4ZjAsMHhhMywweDc0LDB4MTgsMHhmMCwweGEzLDB4ZjAsMHgyMn0sCi0gIDE2LDB4MWI0MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxYjUwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFiNjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWI3MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxYjgwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFiOTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWJhMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxYmIwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFiYzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWJkMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxYmUwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFiZjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWMwMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxYzEwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFjMjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWMzMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxYzQwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFjNTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWM2MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxYzcwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFjODAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWM5MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxY2EwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFjYjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWNjMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxY2QwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFjZTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWNmMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxZDAwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFkMTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWQyMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxZDMwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFkNDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWQ1MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxZDYwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFkNzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWQ4MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxZDkwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFkYTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWRiMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxZGMwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFkZDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWRlMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxZGYwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFlMDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWUxMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxZTIwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFlMzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWU0MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxZTUwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFlNjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWU3MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxZTgwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFlOTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWVhMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTQsMHgxZWIwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWViZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxZWNlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFlZGUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWVlZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxZWZlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFmMGUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWYxZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxZjJlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAgMiwweDFmM2UsMCx7MHgwMCwweDAwfSwKLSAgMTYsMHgxZjQwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFmNTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWY2MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxZjcwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFmODAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWY5MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxZmEwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFmYjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWZjMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxZmQwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFmZTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWZmMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyMDAwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDIwMTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjAyMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyMDMwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDIwNDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjA1MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyMDYwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDIwNzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjA4MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyMDkwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDIwYTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjBiMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyMGMwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDIwZDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjBlMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyMGYwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDIxMDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjExMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyMTIwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDIxMzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjE0MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyMTUwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDIxNjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjE3MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyMTgwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDIxOTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjFhMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyMWIwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDIxYzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjFkMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyMWUwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDIxZjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjIwMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyMjEwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDIyMjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjIzMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyMjQwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDIyNTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjI2MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyMjcwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDIyODAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjI5MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyMmEwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDIyYjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjJjMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyMmQwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDIyZTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjJmMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyMzAwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDIzMTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjMyMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyMzMwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDIzNDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjM1MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyMzYwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNCwweDIzNzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyMzdlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDIzOGUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjM5ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyM2FlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDIzYmUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjNjZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyM2RlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDIzZWUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjNmZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyNDBlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDI0MWUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjQyZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyNDNlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDI0NGUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjQ1ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyNDZlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDI0N2UsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjQ4ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyNDllLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDI0YWUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjRiZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyNGNlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDI0ZGUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjRlZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyNGZlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDI1MGUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjUxZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyNTJlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDI1M2UsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjU0ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyNTVlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDI1NmUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjU3ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyNThlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDI1OWUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjVhZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyNWJlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDI1Y2UsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjVkZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyNWVlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDI1ZmUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjYwZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyNjFlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDI2MmUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjYzZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyNjRlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDI2NWUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjY2ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyNjdlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDI2OGUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjY5ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyNmFlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDI2YmUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjZjZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyNmRlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNCwweDI2ZWUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyNmZjLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDI3MGMsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjcxYywwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyNzJjLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDI3M2MsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4Mjc0YywwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyNzVjLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDI3NmMsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4Mjc3YywwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyNzhjLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDI3OWMsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjdhYywwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyN2JjLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDI3Y2MsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjdkYywwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyN2VjLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAgNSwweDI3ZmMsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDIyfSwKLSAgMTYsMHgyODAxLDAsezB4YzIsMHgyMCwweGMyLDB4MjEsMHhjMiwweDJhLDB4OTAsMHg3ZiwweGU4LDB4ZTAsMHgxMiwweDM3LDB4ZjksMHgyOCwweDMwLDB4MDB9LAotICAxNiwweDI4MTEsMCx7MHgyOCwweDhjLDB4MDEsMHgyOCwweGEyLDB4MDIsMHgyYSwweDFmLDB4MjEsMHgyYSwweDZhLDB4MjIsMHgyOSwweDNkLDB4ODAsMHgyOX0sCi0gIDE2LDB4MjgyMSwwLHsweDdkLDB4ODEsMHgyOSwweGQxLDB4ODIsMHgyYSwweDg0LDB4YTEsMHgyYSwweGJhLDB4YTIsMHgwMCwweDAwLDB4MmEsMHhiZiwweDkwfSwKLSAgMTYsMHgyODMxLDAsezB4N2YsMHhlOSwweGUwLDB4MTQsMHg2MCwweDExLDB4MjQsMHhmZSwweDYwLDB4MjgsMHgyNCwweGZlLDB4NjAsMHgzYiwweDI0LDB4ZmN9LAotICAxNiwweDI4NDEsMCx7MHg3MCwweDQwLDB4MTIsMHgzZiwweGU1LDB4NDEsMHhjYiwweDEyLDB4NGUsMHgxZCwweDQwLDB4MDIsMHg0MSwweGNiLDB4OTAsMHg3Zn0sCi0gIDE2LDB4Mjg1MSwwLHsweGVhLDB4ZTAsMHhiNCwweDAxLDB4MDQsMHhjMiwweDIyLDB4NDEsMHhjYiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwfSwKLSAgMTYsMHgyODYxLDAsezB4NDEsMHhjYiwweDEyLDB4NGUsMHgxZiwweDkwLDB4N2YsMHhlYSwweGUwLDB4YjQsMHgwMSwweDA0LDB4ZDIsMHgyMiwweDQxLDB4Y2J9LAotICAxNiwweDI4NzEsMCx7MHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDQxLDB4Y2IsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMH0sCi0gIDE2LDB4Mjg4MSwwLHsweDQxLDB4Y2IsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDQxLDB4Y2IsMHg5MCwweDdmLDB4ZTksMHhlMCwweDI0fSwKLSAgMTYsMHgyODkxLDAsezB4ZjUsMHg3MCwweDA1LDB4MTIsMHg0OCwweDYzLDB4NDEsMHhjYiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4NDF9LAotICAxNiwweDI4YTEsMCx7MHhjYiwweDkwLDB4N2YsMHhlOSwweGUwLDB4MjQsMHhmZCwweDYwLDB4NTQsMHgyNCwweDAyLDB4NjAsMHgwMiwweDIxLDB4MzQsMHgxMn0sCi0gIDE2LDB4MjhiMSwwLHsweDRlLDB4MWQsMHg0MCwweDAyLDB4NDEsMHhjYiwweDkwLDB4N2YsMHhlYSwweGUwLDB4NzAsMHgzOCwweDkwLDB4N2YsMHhlYywweGUwfSwKLSAgMTYsMHgyOGMxLDAsezB4ZjQsMHg1NCwweDgwLDB4ZmYsMHhjNCwweDU0LDB4MGYsMHhmZiwweGUwLDB4NTQsMHgwNywweDJmLDB4MjUsMHhlMCwweDI0LDB4YjR9LAotICAxNiwweDI4ZDEsMCx7MHhmNSwweDgyLDB4ZTQsMHgzNCwweDdmLDB4ZjUsMHg4MywweGU0LDB4ZjAsMHg5MCwweDdmLDB4ZWMsMHhlMCwweDU0LDB4ODAsMHhmZn0sCi0gIDE2LDB4MjhlMSwwLHsweDEzLDB4MTMsMHgxMywweDU0LDB4MWYsMHhmZiwweGUwLDB4NTQsMHgwNywweDJmLDB4OTAsMHg3ZiwweGQ3LDB4ZjAsMHhlMCwweDQ0fSwKLSAgMTYsMHgyOGYxLDAsezB4MjAsMHhmMCwweDQxLDB4Y2IsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDQxLDB4Y2IsMHgxMiwweDRlLDB4MWZ9LAotICAxNiwweDI5MDEsMCx7MHg0MCwweDAyLDB4NDEsMHhjYiwweDkwLDB4N2YsMHhlYSwweGUwLDB4NzAsMHgyMCwweDkwLDB4N2YsMHhlYywweGUwLDB4ZjQsMHg1NH0sCi0gIDE2LDB4MjkxMSwwLHsweDgwLDB4ZmYsMHhjNCwweDU0LDB4MGYsMHhmZiwweGUwLDB4NTQsMHgwNywweDJmLDB4MjUsMHhlMCwweDI0LDB4YjQsMHhmNSwweDgyfSwKLSAgMTYsMHgyOTIxLDAsezB4ZTQsMHgzNCwweDdmLDB4ZjUsMHg4MywweDc0LDB4MDEsMHhmMCwweDQxLDB4Y2IsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDF9LAotICAxNiwweDI5MzEsMCx7MHhmMCwweDQxLDB4Y2IsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDQxLDB4Y2IsMHg5MCwweDdmLDB4ZTksMHhlMH0sCi0gIDE2LDB4Mjk0MSwwLHsweDYwLDB4MTIsMHgyNCwweGY4LDB4NjAsMHgwOSwweDI0LDB4MDIsMHg3MCwweDI5LDB4MTIsMHg0MywweGU3LDB4NDEsMHhjYiwweDEyfSwKLSAgMTYsMHgyOTUxLDAsezB4NGQsMHhjYSwweDQxLDB4Y2IsMHgxMiwweDRlLDB4MWIsMHhhMiwweDIyLDB4ZTQsMHgzMywweGZmLDB4MjUsMHhlMCwweGZmLDB4YTJ9LAotICAxNiwweDI5NjEsMCx7MHgyMywweGU0LDB4MzMsMHg0ZiwweDkwLDB4N2YsMHgwMCwweGYwLDB4ZTQsMHhhMywweGYwLDB4OTAsMHg3ZiwweGI1LDB4NzQsMHgwMn0sCi0gIDE2LDB4Mjk3MSwwLHsweGYwLDB4NDEsMHhjYiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4NDEsMHhjYiwweDkwLDB4N2YsMHhlOSwweGUwfSwKLSAgMTYsMHgyOTgxLDAsezB4NjAsMHgzMywweDI0LDB4ZjYsMHg2MCwweDJhLDB4MjQsMHgwNCwweDcwLDB4M2QsMHg5MCwweDdmLDB4ZWIsMHhlMCwweDI0LDB4ZGV9LAotICAxNiwweDI5OTEsMCx7MHg2MCwweDBjLDB4MDQsMHg3MCwweDEyLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg0MSwweGNiLDB4OTAsMHg3Zn0sCi0gIDE2LDB4MjlhMSwwLHsweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg0MSwweGNiLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg0MSwweGNifSwKLSAgMTYsMHgyOWIxLDAsezB4MTIsMHg0NywweDQ1LDB4NDEsMHhjYiwweDEyLDB4NGUsMHgxYiwweGU0LDB4OTAsMHg3ZiwweDAwLDB4ZjAsMHhhMywweGYwLDB4OTB9LAotICAxNiwweDI5YzEsMCx7MHg3ZiwweGI1LDB4NzQsMHgwMiwweGYwLDB4NDEsMHhjYiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4NDEsMHhjYn0sCi0gIDE2LDB4MjlkMSwwLHsweDkwLDB4N2YsMHhlOSwweGUwLDB4MjQsMHhmNCwweDYwLDB4MzQsMHgyNCwweDBjLDB4NzAsMHgzOSwweDEyLDB4NGUsMHgxYiwweDkwfSwKLSAgMTYsMHgyOWUxLDAsezB4N2YsMHhlYywweGUwLDB4ZjQsMHg1NCwweDgwLDB4ZmYsMHhjNCwweDU0LDB4MGYsMHhmZiwweGUwLDB4NTQsMHgwNywweDJmLDB4MjV9LAotICAxNiwweDI5ZjEsMCx7MHhlMCwweDI0LDB4YjQsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDdmLDB4ZjUsMHg4MywweGUwLDB4NTQsMHhmZCwweDkwLDB4N2YsMHgwMH0sCi0gIDE2LDB4MmEwMSwwLHsweGYwLDB4ZTQsMHhhMywweGYwLDB4OTAsMHg3ZiwweGI1LDB4NzQsMHgwMiwweGYwLDB4NDEsMHhjYiwweDkwLDB4N2YsMHhiNCwweGUwfSwKLSAgMTYsMHgyYTExLDAsezB4NDQsMHgwMSwweGYwLDB4NDEsMHhjYiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4NDEsMHhjYiwweDkwLDB4N2Z9LAotICAxNiwweDJhMjEsMCx7MHhlOSwweGUwLDB4MjQsMHhmNiwweDYwLDB4MTIsMHgxNCwweDYwLDB4MWEsMHgyNCwweDAyLDB4NzAsMHgxZCwweGQyLDB4MjAsMHg5MH0sCi0gIDE2LDB4MmEzMSwwLHsweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDgwLDB4MTIsMHhkMiwweDIwLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxfSwKLSAgMTYsMHgyYTQxLDAsezB4ZjAsMHg4MCwweDA3LDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMCwweDIwLDB4MTgsMHg5MCwweDdmLDB4ZWV9LAotICAxNiwweDJhNTEsMCx7MHhlMCwweDcwLDB4MDQsMHhhMywweGUwLDB4NjAsMHgwYiwweGQyLDB4MjksMHhkMiwweDI3LDB4MTIsMHgxNywweDRhLDB4ZDIsMHgyYX0sCi0gIDE2LDB4MmE2MSwwLHsweDgwLDB4MDMsMHgxMiwweDA4LDB4MDAsMHhjMiwweDIwLDB4ODAsMHg2MSwweDkwLDB4N2YsMHhlZSwweGUwLDB4NzAsMHgwNCwweGEzfSwKLSAgMTYsMHgyYTcxLDAsezB4ZTAsMHg2MCwweDBiLDB4ZDIsMHgyOSwweGQyLDB4MjgsMHgxMiwweDE3LDB4NGEsMHhkMiwweDJhLDB4ODAsMHg0YywweDEyLDB4Mzh9LAotICAxNiwweDJhODEsMCx7MHg3NCwweDgwLDB4NDcsMHg5MCwweDdmLDB4ZTksMHhlMCwweDI0LDB4ZmUsMHg2MCwweDEyLDB4MTQsMHg2MCwweDFhLDB4MjQsMHgwMn0sCi0gIDE2LDB4MmE5MSwwLHsweDcwLDB4MWQsMHhkMiwweDIxLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg4MCwweDEyLDB4ZDIsMHgyMSwweDkwfSwKLSAgMTYsMHgyYWExLDAsezB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4ODAsMHgwNywweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjB9LAotICAxNiwweDJhYjEsMCx7MHgyMSwweDAzLDB4MTIsMHgxMCwweDAwLDB4YzIsMHgyMSwweDgwLDB4MTEsMHgxMiwweDJhLDB4ZDYsMHg4MCwweDBjLDB4MTIsMHg0ZX0sCi0gIDE2LDB4MmFjMSwwLHsweDIxLDB4NTAsMHgwNywweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjAsMHgyYSwweDA3LDB4OTAsMHg3ZiwweGI0fSwKLSAgIDUsMHgyYWQxLDAsezB4ZTAsMHg0NCwweDAyLDB4ZjAsMHgyMn0sCi0gIDE2LDB4MmFkNiwwLHsweGU0LDB4OTAsMHg3NiwweDI3LDB4ZjAsMHg5MCwweDc2LDB4MjcsMHhlMCwweGZmLDB4NzUsMHhmMCwweDBmLDB4YTQsMHgyNCwweDQyfSwKLSAgMTYsMHgyYWU2LDAsezB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweGZlLDB4OTAsMHg3ZiwweGVjLDB4ZTAsMHhmZCwweGVlLDB4NmR9LAotICAxNiwweDJhZjYsMCx7MHg2MCwweDBlLDB4ZWYsMHhjMywweDk0LDB4MDYsMHg1MCwweDA4LDB4OTAsMHg3NiwweDI3LDB4ZTAsMHgwNCwweGYwLDB4ODAsMHhkNX0sCi0gIDE2LDB4MmIwNiwwLHsweGVmLDB4YjQsMHgwNiwweDA4LDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweGVmLDB4NzUsMHhmMCwweDBmfSwKLSAgMTYsMHgyYjE2LDAsezB4YTQsMHgyNCwweDQxLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweDkwLDB4NzYsMHgyOCwweGYwLDB4MjR9LAotICAxNiwweDJiMjYsMCx7MHg5ZiwweDcwLDB4MDIsMHhhMSwweDc0LDB4MjQsMHgyMSwweDYwLDB4MDIsMHhhMSwweGExLDB4OTAsMHg3ZiwweGU5LDB4ZTAsMHgyNH0sCi0gIDE2LDB4MmIzNiwwLHsweDdlLDB4NzAsMHgwMiwweDYxLDB4ZmMsMHgxNCwweDcwLDB4MDIsMHg4MSwweGI1LDB4MjQsMHgwMiwweDYwLDB4MDIsMHhhMSwweDZjfSwKLSAgMTYsMHgyYjQ2LDAsezB4ZWYsMHg3NSwweGYwLDB4MGYsMHhhNCwweDI0LDB4NDMsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4ZmN9LAotICAxNiwweDJiNTYsMCx7MHhhMywweGUwLDB4ZmQsMHhhMywweGUwLDB4ZmUsMHhhMywweGUwLDB4ZmYsMHg3YiwweDQ0LDB4N2EsMHhhYywweDc5LDB4MDAsMHg3OH0sCi0gIDE2LDB4MmI2NiwwLHsweDAwLDB4YzMsMHgxMiwweDM3LDB4YWIsMHg3MCwweDEzLDB4OTAsMHg3ZiwweDAwLDB4NzQsMHg0NCwweGYwLDB4YTMsMHg3NCwweGFjfSwKLSAgMTYsMHgyYjc2LDAsezB4ZjAsMHhlNCwweGEzLDB4ZjAsMHg5MCwweDdmLDB4YjUsMHg3NCwweDAzLDB4ZjAsMHg5MCwweDc2LDB4MjcsMHhlMCwweDc1LDB4ZjB9LAotICAxNiwweDJiODYsMCx7MHgwZiwweGE0LDB4MjQsMHg0MywweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHhmYywweGEzLDB4ZTAsMHhmZH0sCi0gIDE2LDB4MmI5NiwwLHsweGEzLDB4ZTAsMHhmZSwweGEzLDB4ZTAsMHhmZiwweDdiLDB4ODAsMHg3YSwweGJiLDB4NzksMHgwMCwweDc4LDB4MDAsMHhjMywweDEyfSwKLSAgMTYsMHgyYmE2LDAsezB4MzcsMHhhYiwweDcwLDB4MTMsMHg5MCwweDdmLDB4MDAsMHg3NCwweDgwLDB4ZjAsMHhhMywweDc0LDB4YmIsMHhmMCwweGU0LDB4YTN9LAotICAxNiwweDJiYjYsMCx7MHhmMCwweDkwLDB4N2YsMHhiNSwweDc0LDB4MDMsMHhmMCwweDkwLDB4NzYsMHgyNywweGUwLDB4NzUsMHhmMCwweDBmLDB4YTQsMHgyNH0sCi0gIDE2LDB4MmJjNiwwLHsweDQzLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweGZjLDB4YTMsMHhlMCwweGZkLDB4YTMsMHhlMCwweGZlfSwKLSAgMTYsMHgyYmQ2LDAsezB4YTMsMHhlMCwweGZmLDB4N2IsMHgwMCwweDdhLDB4NzcsMHg3OSwweDAxLDB4NzgsMHgwMCwweGMzLDB4MTIsMHgzNywweGFiLDB4NjB9LAotICAxNiwweDJiZTYsMCx7MHgwMiwweGExLDB4YTgsMHg5MCwweDdmLDB4MDAsMHhmMCwweGEzLDB4NzQsMHg3NywweGYwLDB4YTMsMHg3NCwweDAxLDB4ZjAsMHg5MH0sCi0gIDE2LDB4MmJmNiwwLHsweDdmLDB4YjUsMHg3NCwweDAzLDB4ZjAsMHgyMiwweDkwLDB4NzYsMHgyNywweGUwLDB4NzUsMHhmMCwweDBmLDB4YTQsMHgyNCwweDQ3fSwKLSAgMTYsMHgyYzA2LDAsezB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweGZjLDB4YTMsMHhlMCwweGZkLDB4YTMsMHhlMCwweGZlLDB4YTN9LAotICAxNiwweDJjMTYsMCx7MHhlMCwweGZmLDB4N2IsMHg0NCwweDdhLDB4YWMsMHg3OSwweDAwLDB4NzgsMHgwMCwweGMzLDB4MTIsMHgzNywweGFiLDB4NzAsMHgxM30sCi0gIDE2LDB4MmMyNiwwLHsweDkwLDB4N2YsMHgwMCwweDc0LDB4NDQsMHhmMCwweGEzLDB4NzQsMHhhYywweGYwLDB4ZTQsMHhhMywweGYwLDB4OTAsMHg3ZiwweGI1fSwKLSAgMTYsMHgyYzM2LDAsezB4NzQsMHgwMywweGYwLDB4OTAsMHg3NiwweDI3LDB4ZTAsMHg3NSwweGYwLDB4MGYsMHhhNCwweDI0LDB4NDcsMHhmNSwweDgyLDB4ZTR9LAotICAxNiwweDJjNDYsMCx7MHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4ZmMsMHhhMywweGUwLDB4ZmQsMHhhMywweGUwLDB4ZmUsMHhhMywweGUwLDB4ZmYsMHg3Yn0sCi0gIDE2LDB4MmM1NiwwLHsweDgwLDB4N2EsMHhiYiwweDc5LDB4MDAsMHg3OCwweDAwLDB4YzMsMHgxMiwweDM3LDB4YWIsMHg3MCwweDEzLDB4OTAsMHg3ZiwweDAwfSwKLSAgMTYsMHgyYzY2LDAsezB4NzQsMHg4MCwweGYwLDB4YTMsMHg3NCwweGJiLDB4ZjAsMHhlNCwweGEzLDB4ZjAsMHg5MCwweDdmLDB4YjUsMHg3NCwweDAzLDB4ZjB9LAotICAxNiwweDJjNzYsMCx7MHg5MCwweDc2LDB4MjcsMHhlMCwweDc1LDB4ZjAsMHgwZiwweGE0LDB4MjQsMHg0NywweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNX0sCi0gIDE2LDB4MmM4NiwwLHsweDgzLDB4ZTAsMHhmYywweGEzLDB4ZTAsMHhmZCwweGEzLDB4ZTAsMHhmZSwweGEzLDB4ZTAsMHhmZiwweDdiLDB4MDAsMHg3YSwweDc3fSwKLSAgMTYsMHgyYzk2LDAsezB4NzksMHgwMSwweDc4LDB4MDAsMHhjMywweDEyLDB4MzcsMHhhYiwweDYwLDB4MDIsMHhhMSwweGE4LDB4OTAsMHg3ZiwweDAwLDB4ZjB9LAotICAxNiwweDJjYTYsMCx7MHhhMywweDc0LDB4NzcsMHhmMCwweGEzLDB4NzQsMHgwMSwweGYwLDB4OTAsMHg3ZiwweGI1LDB4NzQsMHgwMywweGYwLDB4MjIsMHg5MH0sCi0gIDE2LDB4MmNiNiwwLHsweDc2LDB4MjcsMHhlMCwweDc1LDB4ZjAsMHgwZiwweGE0LDB4MjQsMHg0YiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzfSwKLSAgMTYsMHgyY2M2LDAsezB4ZTAsMHhmYywweGEzLDB4ZTAsMHhmZCwweGEzLDB4ZTAsMHhmZSwweGEzLDB4ZTAsMHhmZiwweDdiLDB4NDQsMHg3YSwweGFjLDB4Nzl9LAotICAxNiwweDJjZDYsMCx7MHgwMCwweDc4LDB4MDAsMHhjMywweDEyLDB4MzcsMHhhYiwweDcwLDB4MTMsMHg5MCwweDdmLDB4MDAsMHg3NCwweDQ0LDB4ZjAsMHhhM30sCi0gIDE2LDB4MmNlNiwwLHsweDc0LDB4YWMsMHhmMCwweGU0LDB4YTMsMHhmMCwweDkwLDB4N2YsMHhiNSwweDc0LDB4MDMsMHhmMCwweDkwLDB4NzYsMHgyNywweGUwfSwKLSAgMTYsMHgyY2Y2LDAsezB4NzUsMHhmMCwweDBmLDB4YTQsMHgyNCwweDRiLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweGZjLDB4YTN9LAotICAxNiwweDJkMDYsMCx7MHhlMCwweGZkLDB4YTMsMHhlMCwweGZlLDB4YTMsMHhlMCwweGZmLDB4N2IsMHg4MCwweDdhLDB4YmIsMHg3OSwweDAwLDB4NzgsMHgwMH0sCi0gIDE2LDB4MmQxNiwwLHsweGMzLDB4MTIsMHgzNywweGFiLDB4NzAsMHgxMywweDkwLDB4N2YsMHgwMCwweDc0LDB4ODAsMHhmMCwweGEzLDB4NzQsMHhiYiwweGYwfSwKLSAgMTYsMHgyZDI2LDAsezB4ZTQsMHhhMywweGYwLDB4OTAsMHg3ZiwweGI1LDB4NzQsMHgwMywweGYwLDB4OTAsMHg3NiwweDI3LDB4ZTAsMHg3NSwweGYwLDB4MGZ9LAotICAxNiwweDJkMzYsMCx7MHhhNCwweDI0LDB4NGIsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4ZmMsMHhhMywweGUwLDB4ZmQsMHhhM30sCi0gIDE2LDB4MmQ0NiwwLHsweGUwLDB4ZmUsMHhhMywweGUwLDB4ZmYsMHg3YiwweDAwLDB4N2EsMHg3NywweDc5LDB4MDEsMHg3OCwweDAwLDB4YzMsMHgxMiwweDM3fSwKLSAgMTYsMHgyZDU2LDAsezB4YWIsMHg3MCwweDRmLDB4OTAsMHg3ZiwweDAwLDB4ZjAsMHhhMywweDc0LDB4NzcsMHhmMCwweGEzLDB4NzQsMHgwMSwweGYwLDB4OTB9LAotICAxNiwweDJkNjYsMCx7MHg3ZiwweGI1LDB4NzQsMHgwMywweGYwLDB4MjIsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3Zn0sCi0gIDE2LDB4MmQ3NiwwLHsweGU5LDB4ZTAsMHgyNCwweDdmLDB4NzAsMHgxZSwweDkwLDB4NzYsMHgyNywweGUwLDB4NzUsMHhmMCwweDBmLDB4YTQsMHgyNCwweDRmfSwKLSAgMTYsMHgyZDg2LDAsezB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweDkwLDB4N2YsMHgwMCwweGYwLDB4OTAsMHg3ZiwweGI1LDB4NzR9LAotICAxNiwweDJkOTYsMCx7MHgwMSwweGYwLDB4ODAsMHgwNywweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NH0sCi0gICAzLDB4MmRhNiwwLHsweDAxLDB4ZjAsMHgyMn0sCi0gIDE2LDB4MmRhOSwwLHsweGU0LDB4OTAsMHg3NiwweDM2LDB4ZjAsMHhlMCwweGZmLDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNCwweDBlLDB4ZjUsMHg4MiwweGU0fSwKLSAgMTYsMHgyZGI5LDAsezB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDAxLDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwMywweGE0LDB4MjQsMHgwZiwweGY1LDB4ODJ9LAotICAxNiwweDJkYzksMCx7MHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHgwMSwweGYwLDB4ZWYsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0LDB4MTAsMHhmNX0sCi0gIDE2LDB4MmRkOSwwLHsweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGU0LDB4ZjAsMHg5MCwweDc2LDB4MzYsMHhlMCwweDA0LDB4ZjAsMHhlMCwweGZmfSwKLSAgMTYsMHgyZGU5LDAsezB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNCwweDBlLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDEwLDB4ZjB9LAotICAxNiwweDJkZjksMCx7MHhlZiwweDc1LDB4ZjAsMHgwMywweGE0LDB4MjQsMHgwZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHgwNX0sCi0gIDE2LDB4MmUwOSwwLHsweGYwLDB4ZWYsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0LDB4MTAsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGU0fSwKLSAgMTYsMHgyZTE5LDAsezB4ZjAsMHg5MCwweDc2LDB4MzYsMHhlMCwweDA0LDB4ZjAsMHhlMCwweGZmLDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNCwweDBlLDB4ZjV9LAotICAxNiwweDJlMjksMCx7MHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDAyLDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwMywweGE0LDB4MjQsMHgwZn0sCi0gIDE2LDB4MmUzOSwwLHsweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHgwMiwweGYwLDB4ZWYsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0fSwKLSAgMTYsMHgyZTQ5LDAsezB4MTAsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGU0LDB4ZjAsMHg5MCwweDc2LDB4MzYsMHhlMCwweDA0LDB4ZjB9LAotICAxNiwweDJlNTksMCx7MHhlMCwweGZmLDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNCwweDBlLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NH0sCi0gIDE2LDB4MmU2OSwwLHsweDAxLDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwMywweGE0LDB4MjQsMHgwZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzfSwKLSAgMTYsMHgyZTc5LDAsezB4NzQsMHgwMywweGYwLDB4ZWYsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0LDB4MTAsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjV9LAotICAxNiwweDJlODksMCx7MHg4MywweGU0LDB4ZjAsMHg5MCwweDc2LDB4MzYsMHhlMCwweDA0LDB4ZjAsMHhlMCwweGZmLDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNH0sCi0gIDE2LDB4MmU5OSwwLHsweDBlLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDEwLDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwMywweGE0fSwKLSAgMTYsMHgyZWE5LDAsezB4MjQsMHgwZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHgwNiwweGYwLDB4ZWYsMHg3NSwweGYwLDB4MDN9LAotICAxNiwweDJlYjksMCx7MHhhNCwweDI0LDB4MTAsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGU0LDB4ZjAsMHg5MCwweDc2LDB4MzYsMHhlMH0sCi0gIDE2LDB4MmVjOSwwLHsweDA0LDB4ZjAsMHhlMCwweGZmLDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNCwweDBlLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1fSwKLSAgMTYsMHgyZWQ5LDAsezB4ODMsMHg3NCwweDAyLDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwMywweGE0LDB4MjQsMHgwZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzV9LAotICAxNiwweDJlZTksMCx7MHhmNSwweDgzLDB4NzQsMHgwNCwweGYwLDB4ZWYsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0LDB4MTAsMHhmNSwweDgyLDB4ZTQsMHgzNH0sCi0gIDE2LDB4MmVmOSwwLHsweDc1LDB4ZjUsMHg4MywweGU0LDB4ZjAsMHg5MCwweDc2LDB4MzYsMHhlMCwweDA0LDB4ZjAsMHhlMCwweGZmLDB4NzUsMHhmMCwweDAzfSwKLSAgMTYsMHgyZjA5LDAsezB4YTQsMHgyNCwweDBlLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDAyLDB4ZjAsMHhlZiwweDc1LDB4ZjB9LAotICAxNiwweDJmMTksMCx7MHgwMywweGE0LDB4MjQsMHgwZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHgwOCwweGYwLDB4ZWYsMHg3NX0sCi0gIDE2LDB4MmYyOSwwLHsweGYwLDB4MDMsMHhhNCwweDI0LDB4MTAsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4MDQsMHhmMCwweDkwfSwKLSAgMTYsMHgyZjM5LDAsezB4NzYsMHgzNiwweGUwLDB4MDQsMHhmMCwweGUwLDB4ZmYsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0LDB4MGUsMHhmNSwweDgyLDB4ZTR9LAotICAxNiwweDJmNDksMCx7MHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4MDIsMHhmMCwweGVmLDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNCwweDBmLDB4ZjUsMHg4Mn0sCi0gIDE2LDB4MmY1OSwwLHsweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDBhLDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwMywweGE0LDB4MjQsMHgxMCwweGY1fSwKLSAgMTYsMHgyZjY5LDAsezB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHgwNCwweGYwLDB4OTAsMHg3NiwweDM2LDB4ZTAsMHgwNCwweGYwLDB4ZTB9LAotICAxNiwweDJmNzksMCx7MHhmZiwweDc1LDB4ZjAsMHgwMywweGE0LDB4MjQsMHgwZSwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHgwMn0sCi0gIDE2LDB4MmY4OSwwLHsweGYwLDB4ZWYsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0LDB4MGYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDc0fSwKLSAgMTYsMHgyZjk5LDAsezB4MDksMHhmMCwweGVmLDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNCwweDEwLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODN9LAotICAxNiwweDJmYTksMCx7MHg3NCwweDA0LDB4ZjAsMHg5MCwweDc2LDB4MzYsMHhlMCwweDA0LDB4ZjAsMHhlMCwweGZmLDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNH0sCi0gIDE2LDB4MmZiOSwwLHsweDBlLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDAyLDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwMywweGE0fSwKLSAgMTYsMHgyZmM5LDAsezB4MjQsMHgwZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHgwNywweGYwLDB4ZWYsMHg3NSwweGYwLDB4MDN9LAotICAxNCwweDJmZDksMCx7MHhhNCwweDI0LDB4MTAsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4MDQsMHhmMCwweDIyfSwKLSAgMTYsMHgyZmU3LDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4ZDIsMHgyNiwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhYiwweDc0LDB4MDF9LAotICAgOCwweDJmZjcsMCx7MHhmMCwweGQwLDB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfSwKLSAgIDEsMHgyZmZmLDAsezB4MzJ9LAotICAxNiwweDMwMDAsMCx7MHg5MCwweDdmLDB4YjYsMHhlMCwweDIwLDB4ZTEsMHgwMiwweGMyLDB4M2QsMHhkMiwweDM2LDB4MjAsMHgzNiwweDAyLDB4NDEsMHg2ZX0sCi0gIDE2LDB4MzAxMCwwLHsweDMwLDB4M2QsMHgwMiwweDQxLDB4NmUsMHg5MCwweDgwLDB4MDcsMHhlMCwweDYwLDB4MDQsMHhkMiwweDM2LDB4ODAsMHgwMiwweGMyfSwKLSAgMTYsMHgzMDIwLDAsezB4MzYsMHgyMCwweDM2LDB4MDIsMHg0MSwweDJlLDB4ZDIsMHgzNSwweGU0LDB4ZjUsMHgxYSwweDkwLDB4ODAsMHgwNCwweGUwLDB4ZjV9LAotICAxNiwweDMwMzAsMCx7MHgxOSwweDc0LDB4MDgsMHgyNSwweDBlLDB4ZjgsMHhhNiwweDE5LDB4ODUsMHgxOSwweDE4LDB4ZTUsMHgxOCwweDIwLDB4ZTcsMHgwNH0sCi0gIDE2LDB4MzA0MCwwLHsweGQyLDB4MzgsMHg4MCwweDAyLDB4YzIsMHgzOCwweDMwLDB4MzgsMHgwMiwweDIxLDB4ZDQsMHhlNCwweGY1LDB4MTYsMHhlNSwweDE5fSwKLSAgMTYsMHgzMDUwLDAsezB4YjQsMHhmMCwweDBjLDB4ZDIsMHgzOSwweDc1LDB4MDgsMHgwNCwweDc1LDB4MDksMHhmMCwweDA1LDB4MGUsMHg4MCwweDAyLDB4MDV9LAotICAxNiwweDMwNjAsMCx7MHgxNiwweGU1LDB4MTksMHg2NCwweGY3LDB4NzAsMHgzZCwweGMyLDB4MzksMHhlNSwweDBlLDB4MjQsMHhmZSwweDYwLDB4MTcsMHgxNH0sCi0gIDE2LDB4MzA3MCwwLHsweDYwLDB4MjIsMHgyNCwweDAzLDB4NzAsMHgyOSwweDc1LDB4MDgsMHgwNSwweDc1LDB4MDksMHhmNywweGU0LDB4ZjUsMHgwYSwweGY1fSwKLSAgMTYsMHgzMDgwLDAsezB4MGIsMHg3NSwweDBlLDB4MDQsMHg4MCwweDIwLDB4NzUsMHgwOCwweDA2LDB4NzUsMHgwYSwweGY3LDB4ZTQsMHhmNSwweDBiLDB4NzV9LAotICAxNiwweDMwOTAsMCx7MHgwZSwweDA0LDB4ODAsMHgxMiwweDc1LDB4MDgsMHgwNywweDc1LDB4MGIsMHhmNywweDc1LDB4MGUsMHgwNCwweDgwLDB4MDcsMHgxMn0sCi0gIDE2LDB4MzBhMCwwLHsweDRkLDB4ZGEsMHg4MCwweDAyLDB4MDUsMHgxNiwweGU1LDB4MTksMHg1NCwweGY4LDB4NjQsMHhmOCwweDcwLDB4M2IsMHhjMiwweDM1fSwKLSAgMTYsMHgzMGIwLDAsezB4ZTUsMHgxOSwweDI0LDB4MDcsMHg2MCwweDBjLDB4MjQsMHhmYywweDYwLDB4MDgsMHgyNCwweDA1LDB4MjQsMHhmOCwweDUwLDB4MDZ9LAotICAxNiwweDMwYzAsMCx7MHg4MCwweDA4LDB4ZDIsMHgzYSwweDgwLDB4MDYsMHhjMiwweDNhLDB4ODAsMHgwMiwweGQyLDB4M2EsMHg3NSwweDFhLDB4MDEsMHgyMH0sCi0gIDE2LDB4MzBkMCwwLHsweDNhLDB4MTksMHg5MCwweDdlLDB4ODAsMHg3NCwweDBmLDB4ZjAsMHhhMywweGU1LDB4MTksMHhmMCwweGU0LDB4YTMsMHhmMCwweGEzfSwKLSAgMTYsMHgzMGUwLDAsezB4ZjAsMHg5MCwweDdmLDB4YjcsMHg3NCwweDA0LDB4ZjAsMHg4MCwweDAyLDB4MDUsMHgxNiwweDIwLDB4MzksMHg2ZCwweGU1LDB4MTl9LAotICAxNiwweDMwZjAsMCx7MHg2NCwweGY3LDB4NjAsMHg2NywweGU1LDB4MWEsMHg3MCwweDYzLDB4ZTUsMHgxOCwweDU0LDB4ZjAsMHg2NCwweGYwLDB4NzAsMHg1OX0sCi0gIDE2LDB4MzEwMCwwLHsweDg1LDB4MTgsMHgxOSwweGY1LDB4MGUsMHhlNSwweDE5LDB4MjQsMHgwZiwweDYwLDB4MWIsMHgyNCwweGZlLDB4NjAsMHgxNywweDI0fSwKLSAgMTYsMHgzMTEwLDAsezB4ZmQsMHg2MCwweDIyLDB4MTQsMHg2MCwweDFmLDB4MjQsMHgwNSwweDcwLDB4MmYsMHg3NSwweDA4LDB4MDMsMHgwNSwweDBlLDB4ODV9LAotICAxNiwweDMxMjAsMCx7MHgxOCwweDA5LDB4ZDIsMHgzNywweDgwLDB4MjgsMHg3NSwweDA4LDB4MDIsMHgwNSwweDBlLDB4ODUsMHgxOCwweDA5LDB4NzUsMHgxNH0sCi0gIDE2LDB4MzEzMCwwLHsweDAxLDB4ZDIsMHgzNywweDgwLDB4MTksMHg3NSwweDA4LDB4MDUsMHgwNSwweDBlLDB4ODUsMHgxOCwweDA5LDB4ZTQsMHhmNSwweDBhfSwKLSAgMTYsMHgzMTQwLDAsezB4ZjUsMHgwYiwweDc1LDB4MGUsMHgwMywweGQyLDB4MzcsMHg4MCwweDA1LDB4MTIsMHg0ZCwweGRhLDB4YzIsMHgzNSwweDMwLDB4MzV9LAotICAxNiwweDMxNTAsMCx7MHgwYSwweDg1LDB4MDgsMHgxMywweDg1LDB4MTgsMHgxMiwweDgwLDB4MDIsMHgwNSwweDE2LDB4ODUsMHgxOCwweDE5LDB4ZTUsMHgxNn0sCi0gIDE2LDB4MzE2MCwwLHsweDY0LDB4MDQsMHg3MCwweDYyLDB4ZjUsMHgwZSwweGU1LDB4MTksMHg1NCwweGYwLDB4ZjUsMHgxOSwweGY1LDB4MTUsMHg4NSwweDE4fSwKLSAgMTYsMHgzMTcwLDAsezB4MTksMHhlNSwweDE1LDB4MjQsMHg3MCwweDYwLDB4MTgsMHgyNCwweGYwLDB4NjAsMHgxNCwweDI0LDB4ZjAsMHg2MCwweDEwLDB4MjR9LAotICAxNiwweDMxODAsMCx7MHhmMCwweDYwLDB4MWUsMHgyNCwweGYwLDB4NjAsMHgxYSwweDI0LDB4ZjAsMHg2MCwweDA0LDB4MjQsMHg2MCwweDcwLDB4MjcsMHhlNX0sCi0gIDE2LDB4MzE5MCwwLHsweDE1LDB4YzQsMHg1NCwweDBmLDB4ZjUsMHgxOSwweGY1LDB4MDgsMHgwNSwweDBlLDB4ODUsMHgxOCwweDA5LDB4ZDIsMHgzNywweDgwfSwKLSAgMTYsMHgzMWEwLDAsezB4MWEsMHhlNSwweDE1LDB4YzQsMHg1NCwweDBmLDB4ZjUsMHgxOSwweGY1LDB4MDgsMHgwNSwweDBlLDB4ODUsMHgxOCwweDA5LDB4NzV9LAotICAxNiwweDMxYjAsMCx7MHgxNCwweDAxLDB4ZDIsMHgzNywweDgwLDB4MDUsMHgxMiwweDRkLDB4ZGEsMHhjMiwweDM1LDB4MzAsMHgzNSwweDBhLDB4ODUsMHgxOX0sCi0gIDE2LDB4MzFjMCwwLHsweDEzLDB4ODUsMHgxOCwweDEyLDB4ODAsMHgwMiwweDA1LDB4MTYsMHhlNSwweDE2LDB4ZDMsMHg5NCwweDA1LDB4NDAsMHg1NywweDEyfSwKLSAgMTYsMHgzMWQwLDAsezB4NGQsMHhkYSwweDgwLDB4NTIsMHgzMCwweDM5LDB4MTcsMHhlNSwweDBlLDB4NzAsMHgwYSwweDg1LDB4MDgsMHgwOSwweDc1LDB4MDh9LAotICAxNiwweDMxZTAsMCx7MHgwNCwweDA1LDB4MGUsMHg4MCwweDQxLDB4NzQsMHgwOCwweDI1LDB4MGUsMHhmOCwweGE2LDB4MTksMHg4MCwweDM4LDB4MjAsMHgzN30sCi0gIDE2LDB4MzFmMCwwLHsweDJhLDB4ZTUsMHgwZSwweGI0LDB4MDEsMHgwZiwweDg1LDB4MDgsMHgwYSwweDg1LDB4MDksMHgwYiwweDg1LDB4MTMsMHgwOCwweDg1fSwKLSAgMTYsMHgzMjAwLDAsezB4MTIsMHgwOSwweDc1LDB4MGUsMHgwNCwweGU1LDB4MTQsMHhiNCwweDAxLDB4MWMsMHg4NSwweDA4LDB4MGEsMHhlNCwweGY1LDB4MGJ9LAotICAxNiwweDMyMTAsMCx7MHg4NSwweDEzLDB4MDgsMHg4NSwweDEyLDB4MDksMHg3NSwweDBlLDB4MDQsMHg4MCwweDBiLDB4ZTUsMHgxNCwweGI0LDB4MDEsMHgwNn0sCi0gIDE2LDB4MzIyMCwwLHsweGU0LDB4ZjUsMHgwYiwweDc1LDB4MGUsMHgwNCwweGU0LDB4ZjUsMHgxYSwweDMwLDB4MzUsMHgwMiwweDA1LDB4MGUsMHhlNSwweDBlfSwKLSAgMTYsMHgzMjMwLDAsezB4ZDMsMHg5NCwweDAzLDB4NTAsMHgwMiwweDAxLDB4MGIsMHhjMiwweDM3LDB4ZTQsMHhmNSwweDBlLDB4ZjUsMHgxMCwweGMyLDB4MzZ9LAotICAxNiwweDMyNDAsMCx7MHhkMiwweDNkLDB4ZjUsMHgxNCwweDc0LDB4MDgsMHgyNSwweDEwLDB4ZjgsMHhlNiwweGZmLDB4NzQsMHg4MCwweDI1LDB4MTAsMHhmNX0sCi0gIDE2LDB4MzI1MCwwLHsweDgyLDB4ZTQsMHgzNCwweDdlLDB4ZjUsMHg4MywweGVmLDB4ZjAsMHg3NCwweDA4LDB4MjUsMHgxMCwweGY4LDB4ZTQsMHhmNiwweDA1fSwKLSAgMTUsMHgzMjYwLDAsezB4MTAsMHhlNSwweDEwLDB4YjQsMHgwNCwweGRlLDB4OTAsMHg3ZiwweGI3LDB4NzQsMHgwNCwweGYwLDB4MDEsMHgwYiwweDIyfSwKLSAgMTYsMHgzMjZmLDAsezB4OTAsMHg3NiwweDE4LDB4ZTAsMHhmZiwweDY0LDB4MDUsMHg3MCwweDQyLDB4OTAsMHg3NSwweGFiLDB4ZTAsMHhiNCwweDAxLDB4MTl9LAotICAxNiwweDMyN2YsMCx7MHg5MCwweDcyLDB4MzcsMHg3NCwweDAxLDB4ZjAsMHhlNCwweDkwLDB4ODAsMHgyMCwweGYwLDB4OTAsMHg4MCwweDMxLDB4ZjAsMHg5MH0sCi0gIDE2LDB4MzI4ZiwwLHsweDgwLDB4MjgsMHhmMCwweDkwLDB4ODAsMHgzOSwweGYwLDB4ODAsMHgyMiwweGU0LDB4OTAsMHg3MiwweDM3LDB4ZjAsMHg5MCwweDc1fSwKLSAgMTYsMHgzMjlmLDAsezB4YWQsMHhlMCwweDkwLDB4NzIsMHgyYiwweGYwLDB4ZTAsMHgyNCwweDgwLDB4ZjAsMHhlMCwweDkwLDB4ODAsMHgyMCwweGYwLDB4OTB9LAotICAxNiwweDMyYWYsMCx7MHg4MCwweDMxLDB4ZjAsMHg5MCwweDgwLDB4MjgsMHhmMCwweDkwLDB4ODAsMHgzOSwweGYwLDB4ZWYsMHg2NCwweDA2LDB4NjAsMHgwMn0sCi0gIDE2LDB4MzJiZiwwLHsweDgxLDB4OTksMHg5MCwweDcyLDB4MzksMHg3NCwweDA0LDB4ZjAsMHg5MCwweDcyLDB4MzksMHhlMCwweGZmLDB4MjQsMHhmZSwweDkwfSwKLSAgMTYsMHgzMmNmLDAsezB4NzIsMHgwNCwweGYwLDB4ZWYsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWIsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjV9LAotICAxNiwweDMyZGYsMCx7MHg4MywweGUwLDB4NjQsMHgwMSwweDcwLDB4NTQsMHg5MCwweDcyLDB4MzYsMHgwNCwweGYwLDB4OTAsMHg3MiwweDA0LDB4ZTAsMHhmZn0sCi0gIDE2LDB4MzJlZiwwLHsweDI0LDB4ZmQsMHg2MCwweDI4LDB4MjQsMHhmZSwweDYwLDB4MjQsMHgyNCwweDAzLDB4MjQsMHhmYiwweDUwLDB4MDQsMHg2MCwweDFjfSwKLSAgMTYsMHgzMmZmLDAsezB4ODEsMHg4YywweDc0LDB4MjAsMHgyZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4ODAsMHhmNSwweDgzLDB4ZTQsMHhmMCwweDc0LDB4Mjh9LAotICAxNiwweDMzMGYsMCx7MHgyZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4ODAsMHhmNSwweDgzLDB4ZTQsMHhmMCwweDgxLDB4OGMsMHg5MCwweDcyLDB4MDQsMHhlMH0sCi0gIDE2LDB4MzMxZiwwLHsweGZmLDB4MjQsMHgzMCwweGY1LDB4ODIsMHhlNCwweDM0LDB4ODAsMHhmNSwweDgzLDB4ZTQsMHhmMCwweDc0LDB4MzgsMHgyZiwweGY1fSwKLSAgMTYsMHgzMzJmLDAsezB4ODIsMHhlNCwweDM0LDB4ODAsMHhmNSwweDgzLDB4ZTQsMHhmMCwweDgxLDB4OGMsMHhlNCwweDkwLDB4NzIsMHgzNiwweGYwLDB4OTB9LAotICAxNiwweDMzM2YsMCx7MHg3MiwweDM5LDB4ZTAsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWQsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4M30sCi0gIDE2LDB4MzM0ZiwwLHsweGUwLDB4ZmYsMHg3ZSwweDAwLDB4OTAsMHg3NSwweDBjLDB4ZWUsMHhmMCwweGEzLDB4ZWYsMHhmMCwweDcwLDB4MDYsMHg5MCwweDcyfSwKLSAgMTYsMHgzMzVmLDAsezB4MDIsMHg3NCwweDNiLDB4ZjAsMHg5MCwweDc1LDB4MGMsMHhlMCwweGZlLDB4YTMsMHhlMCwweGZmLDB4NjQsMHg4MCwweDRlLDB4NzB9LAotICAxNiwweDMzNmYsMCx7MHgwNCwweDkwLDB4NzIsMHgwMiwweGYwLDB4ZWYsMHg0ZSwweDcwLDB4MDIsMHg4MSwweDM1LDB4ZWYsMHg2NCwweDgwLDB4NGUsMHg3MH0sCi0gIDE2LDB4MzM3ZiwwLHsweDAyLDB4ODEsMHgzNSwweGVmLDB4ZjgsMHhlNCwweDkwLDB4NzUsMHgwZCwweGYwLDB4ZTgsMHg5MCwweDc1LDB4MGMsMHhmMCwweDkwfSwKLSAgMTYsMHgzMzhmLDAsezB4NzIsMHgzNCwweGUwLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGFjLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODN9LAotICAxNiwweDMzOWYsMCx7MHhlMCwweGZmLDB4OTAsMHg3MiwweDAyLDB4ZjAsMHg5MCwweDc1LDB4MGQsMHhlMCwweDJmLDB4ZjAsMHg5MCwweDc1LDB4MGMsMHhlMH0sCi0gIDE2LDB4MzNhZiwwLHsweDM0LDB4MDAsMHhmMCwweGUwLDB4ZmUsMHhhMywweGUwLDB4ZmYsMHhlNCwweGZjLDB4ZmQsMHg3YiwweGQ2LDB4N2EsMHhhNSwweGY5fSwKLSAgMTYsMHgzM2JmLDAsezB4ZjgsMHhkMywweDEyLDB4MzcsMHg5NSwweDQwLDB4MGEsMHg5MCwweDc1LDB4MGMsMHg3NCwweGE1LDB4ZjAsMHhhMywweDc0LDB4ZDZ9LAotICAxNiwweDMzY2YsMCx7MHhmMCwweDkwLDB4NzUsMHgwZCwweGUwLDB4MjQsMHgyYSwweGYwLDB4OTAsMHg3NSwweDBjLDB4ZTAsMHgzNCwweDVhLDB4ZjAsMHhlMH0sCi0gIDE2LDB4MzNkZiwwLHsweGZlLDB4YTMsMHhlMCwweDc4LDB4MDUsMHhjZSwweGEyLDB4ZTcsMHgxMywweGNlLDB4MTMsMHhkOCwweGY4LDB4ZmYsMHg5MCwweDc1fSwKLSAgMTYsMHgzM2VmLDAsezB4MGMsMHhlZSwweGYwLDB4YTMsMHhlZiwweGYwLDB4OTAsMHg3MiwweDJjLDB4ZWUsMHhmMCwweGEzLDB4ZWYsMHhmMCwweGQzLDB4OTR9LAotICAxNiwweDMzZmYsMCx7MHhkMiwweGVlLDB4NjQsMHg4MCwweDk0LDB4ODIsMHg0MCwweDBhLDB4OTAsMHg3MiwweDJjLDB4NzQsMHgwMiwweGYwLDB4YTMsMHg3NH0sCi0gIDE2LDB4MzQwZiwwLHsweGQyLDB4ZjAsMHhjMywweDkwLDB4NzIsMHgyYywweGUwLDB4NjQsMHg4MCwweDk0LDB4ODAsMHg1MCwweDA0LDB4ZTQsMHhmMCwweGEzfSwKLSAgMTYsMHgzNDFmLDAsezB4ZjAsMHg5MCwweDcyLDB4MmMsMHhlMCwweGZlLDB4YTMsMHhlMCwweDI0LDB4M2EsMHhmNSwweDgyLDB4ZWUsMHgzNCwweDcyLDB4ZjV9LAotICAxNiwweDM0MmYsMCx7MHg4MywweGUwLDB4OTAsMHg3MiwweDAyLDB4ZjAsMHg5MCwweDcyLDB4MDQsMHhlMCwweGZmLDB4MjQsMHhmZCwweDYwLDB4MmQsMHgyNH0sCi0gIDE2LDB4MzQzZiwwLHsweGZlLDB4NjAsMHgyOSwweDI0LDB4MDMsMHgyNCwweGZiLDB4NTAsMHgwNCwweDYwLDB4MjEsMHg4MCwweDQwLDB4OTAsMHg3MiwweDAyfSwKLSAgMTYsMHgzNDRmLDAsezB4ZTAsMHhmZSwweDc0LDB4MjAsMHgyZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4ODAsMHhmNSwweDgzLDB4ZWUsMHhmMCwweDc0LDB4Mjh9LAotICAxNiwweDM0NWYsMCx7MHgyZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4ODAsMHhmNSwweDgzLDB4ZWUsMHhmMCwweDgwLDB4MjEsMHg5MCwweDcyLDB4MDIsMHhlMH0sCi0gIDE2LDB4MzQ2ZiwwLHsweGZmLDB4OTAsMHg3MiwweDA0LDB4ZTAsMHhmZSwweDI0LDB4MzAsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDgwLDB4ZjUsMHg4MywweGVmfSwKLSAgMTYsMHgzNDdmLDAsezB4ZjAsMHg3NCwweDM4LDB4MmUsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDgwLDB4ZjUsMHg4MywweGVmLDB4ZjAsMHg5MCwweDcyLDB4Mzl9LAotICAxMSwweDM0OGYsMCx7MHhlMCwweDA0LDB4ZjAsMHhlMCwweDY0LDB4MGEsMHg2MCwweDAyLDB4NDEsMHhjNywweDIyfSwKLSAgMTYsMHgzNDlhLDAsezB4OTAsMHg3NiwweDE4LDB4ZTAsMHhmZiwweGI0LDB4MDUsMHgyMywweDkwLDB4NzIsMHgzNywweGUwLDB4NzAsMHgxZCwweDkwLDB4NzV9LAotICAxNiwweDM0YWEsMCx7MHhhZCwweGUwLDB4OTAsMHg3MiwweDJiLDB4ZjAsMHhlMCwweDI0LDB4ODAsMHhmMCwweGUwLDB4OTAsMHg4MCwweDIwLDB4ZjAsMHg5MH0sCi0gIDE2LDB4MzRiYSwwLHsweDgwLDB4MzEsMHhmMCwweDkwLDB4ODAsMHgyOCwweGYwLDB4OTAsMHg4MCwweDM5LDB4ZjAsMHhlZiwweDY0LDB4MDYsMHg2MCwweDAyfSwKLSAgMTYsMHgzNGNhLDAsezB4YzEsMHg5MSwweDkwLDB4NzIsMHgzNiwweGUwLDB4NjAsMHgwMiwweGMxLDB4OTEsMHg5MCwweDc2LDB4NDAsMHhlMCwweDcwLDB4MzF9LAotICAxNiwweDM0ZGEsMCx7MHg5MCwweDcyLDB4MDMsMHg3NCwweDAzLDB4ZjAsMHg5MCwweDcyLDB4MDMsMHhlMCwweGZmLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNH0sCi0gIDE2LDB4MzRlYSwwLHsweGFhLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweGZlLDB4OTAsMHg3MiwweDI5LDB4ZTAsMHhmZCwweGVlfSwKLSAgMTYsMHgzNGZhLDAsezB4NmQsMHg2MCwweDBlLDB4ZWYsMHhjMywweDk0LDB4MGEsMHg1MCwweDA4LDB4OTAsMHg3MiwweDAzLDB4ZTAsMHgwNCwweGYwLDB4ODB9LAotICAxNiwweDM1MGEsMCx7MHhkNSwweDkwLDB4NzIsMHgzOSwweDc0LDB4MDQsMHhmMCwweDkwLDB4NzYsMHg0MCwweGUwLDB4NzAsMHgwOCwweDkwLDB4NzIsMHgwM30sCi0gIDE2LDB4MzUxYSwwLHsweGUwLDB4OTAsMHg3MiwweDM5LDB4ZjAsMHg5MCwweDcyLDB4MzksMHhlMCwweGZkLDB4MjQsMHhmZSwweDkwLDB4NzIsMHgyYSwweGYwfSwKLSAgMTYsMHgzNTJhLDAsezB4ZWQsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWQsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4ZmZ9LAotICAxNiwweDM1M2EsMCx7MHg3ZSwweDAwLDB4OTAsMHg3NSwweDBjLDB4ZWUsMHhmMCwweGEzLDB4ZWYsMHhmMCwweDcwLDB4MDYsMHg5MCwweDcyLDB4MDIsMHg3NH0sCi0gIDE2LDB4MzU0YSwwLHsweDgwLDB4ZjAsMHg5MCwweDc1LDB4MGMsMHhlMCwweGZlLDB4YTMsMHhlMCwweGZmLDB4NjQsMHg4MCwweDRlLDB4NzAsMHgwNCwweDkwfSwKLSAgMTYsMHgzNTVhLDAsezB4NzIsMHgwMiwweGYwLDB4ZWYsMHg0ZSwweDcwLDB4MDIsMHhjMSwweDFiLDB4ZWYsMHg2NCwweDgwLDB4NGUsMHg3MCwweDAyLDB4YzF9LAotICAxNiwweDM1NmEsMCx7MHgxYiwweGVmLDB4ZjgsMHhlNCwweDkwLDB4NzUsMHgwZCwweGYwLDB4ZTgsMHg5MCwweDc1LDB4MGMsMHhmMCwweGVkLDB4NzUsMHhmMH0sCi0gIDE2LDB4MzU3YSwwLHsweDBhLDB4YTQsMHgyNCwweGFjLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweGZmLDB4OTAsMHg3MiwweDAyfSwKLSAgMTYsMHgzNThhLDAsezB4ZjAsMHg5MCwweDc1LDB4MGQsMHhlMCwweDJmLDB4ZjAsMHg5MCwweDc1LDB4MGMsMHhlMCwweDM0LDB4MDAsMHhmMCwweGUwLDB4ZmV9LAotICAxNiwweDM1OWEsMCx7MHhhMywweGUwLDB4ZmYsMHhlNCwweGZjLDB4ZmQsMHg3YiwweGQ2LDB4N2EsMHhhNSwweGY5LDB4ZjgsMHhkMywweDEyLDB4MzcsMHg5NX0sCi0gIDE2LDB4MzVhYSwwLHsweDQwLDB4MGEsMHg5MCwweDc1LDB4MGMsMHg3NCwweGE1LDB4ZjAsMHhhMywweDc0LDB4ZDYsMHhmMCwweDkwLDB4NzUsMHgwZCwweGUwfSwKLSAgMTYsMHgzNWJhLDAsezB4MjQsMHgyYSwweGYwLDB4OTAsMHg3NSwweDBjLDB4ZTAsMHgzNCwweDVhLDB4ZjAsMHhlMCwweGZlLDB4YTMsMHhlMCwweDc4LDB4MDV9LAotICAxNiwweDM1Y2EsMCx7MHhjZSwweGEyLDB4ZTcsMHgxMywweGNlLDB4MTMsMHhkOCwweGY4LDB4ZmYsMHg5MCwweDc1LDB4MGMsMHhlZSwweGYwLDB4YTMsMHhlZn0sCi0gIDE2LDB4MzVkYSwwLHsweGYwLDB4OTAsMHg3MiwweDJjLDB4ZWUsMHhmMCwweGEzLDB4ZWYsMHhmMCwweGQzLDB4OTQsMHhkMiwweGVlLDB4NjQsMHg4MCwweDk0fSwKLSAgMTYsMHgzNWVhLDAsezB4ODIsMHg0MCwweDBhLDB4OTAsMHg3MiwweDJjLDB4NzQsMHgwMiwweGYwLDB4YTMsMHg3NCwweGQyLDB4ZjAsMHhjMywweDkwLDB4NzJ9LAotICAxNiwweDM1ZmEsMCx7MHgyYywweGUwLDB4NjQsMHg4MCwweDk0LDB4ODAsMHg1MCwweDA0LDB4ZTQsMHhmMCwweGEzLDB4ZjAsMHg5MCwweDcyLDB4MmMsMHhlMH0sCi0gIDE2LDB4MzYwYSwwLHsweGZlLDB4YTMsMHhlMCwweDI0LDB4M2EsMHhmNSwweDgyLDB4ZWUsMHgzNCwweDcyLDB4ZjUsMHg4MywweGUwLDB4OTAsMHg3MiwweDAyfSwKLSAgMTYsMHgzNjFhLDAsezB4ZjAsMHg5MCwweDcyLDB4MmEsMHhlMCwweGZmLDB4MjQsMHhmZCwweDYwLDB4MmQsMHgyNCwweGZlLDB4NjAsMHgyOSwweDI0LDB4MDN9LAotICAxNiwweDM2MmEsMCx7MHgyNCwweGZiLDB4NTAsMHgwNCwweDYwLDB4MjEsMHg4MCwweDQwLDB4OTAsMHg3MiwweDAyLDB4ZTAsMHhmZSwweDc0LDB4MjAsMHgyZn0sCi0gIDE2LDB4MzYzYSwwLHsweGY1LDB4ODIsMHhlNCwweDM0LDB4ODAsMHhmNSwweDgzLDB4ZWUsMHhmMCwweDc0LDB4MjgsMHgyZiwweGY1LDB4ODIsMHhlNCwweDM0fSwKLSAgMTYsMHgzNjRhLDAsezB4ODAsMHhmNSwweDgzLDB4ZWUsMHhmMCwweDgwLDB4MjEsMHg5MCwweDcyLDB4MDIsMHhlMCwweGZmLDB4OTAsMHg3MiwweDJhLDB4ZTB9LAotICAxNiwweDM2NWEsMCx7MHhmZSwweDI0LDB4MzAsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDgwLDB4ZjUsMHg4MywweGVmLDB4ZjAsMHg3NCwweDM4LDB4MmUsMHhmNX0sCi0gIDE2LDB4MzY2YSwwLHsweDgyLDB4ZTQsMHgzNCwweDgwLDB4ZjUsMHg4MywweGVmLDB4ZjAsMHg5MCwweDc2LDB4NDAsMHhlMCwweDcwLDB4MDYsMHg5MCwweDcyfSwKLSAgMTYsMHgzNjdhLDAsezB4MzksMHg3NCwweDBhLDB4ZjAsMHg5MCwweDcyLDB4MzksMHhlMCwweDA0LDB4ZjAsMHhlMCwweGMzLDB4OTQsMHgwYSwweDUwLDB4MDJ9LAotICAgOCwweDM2OGEsMCx7MHhhMSwweDExLDB4ZTQsMHg5MCwweDc2LDB4NDAsMHhmMCwweDIyfSwKLSAgMTYsMHgzNjkyLDAsezB4YmIsMHgwMSwweDA2LDB4ODksMHg4MiwweDhhLDB4ODMsMHhlMCwweDIyLDB4NTAsMHgwMiwweGU3LDB4MjIsMHhiYiwweGZlLDB4MDJ9LAotICAgOSwweDM2YTIsMCx7MHhlMywweDIyLDB4ODksMHg4MiwweDhhLDB4ODMsMHhlNCwweDkzLDB4MjJ9LAotICAxNiwweDM2YWIsMCx7MHhiYiwweDAxLDB4MGMsMHhlNSwweDgyLDB4MjksMHhmNSwweDgyLDB4ZTUsMHg4MywweDNhLDB4ZjUsMHg4MywweGUwLDB4MjIsMHg1MH0sCi0gIDE2LDB4MzZiYiwwLHsweDA2LDB4ZTksMHgyNSwweDgyLDB4ZjgsMHhlNiwweDIyLDB4YmIsMHhmZSwweDA2LDB4ZTksMHgyNSwweDgyLDB4ZjgsMHhlMiwweDIyfSwKLSAgMTMsMHgzNmNiLDAsezB4ZTUsMHg4MiwweDI5LDB4ZjUsMHg4MiwweGU1LDB4ODMsMHgzYSwweGY1LDB4ODMsMHhlNCwweDkzLDB4MjJ9LAotICAxNiwweDM2ZDgsMCx7MHhjMiwweGQ1LDB4ZWMsMHgzMCwweGU3LDB4MDksMHhiMiwweGQ1LDB4ZTQsMHhjMywweDlkLDB4ZmQsMHhlNCwweDljLDB4ZmMsMHhlZX0sCi0gIDE2LDB4MzZlOCwwLHsweDMwLDB4ZTcsMHgxNSwweGIyLDB4ZDUsMHhlNCwweGMzLDB4OWYsMHhmZiwweGU0LDB4OWUsMHhmZSwweDEyLDB4MzgsMHgxZiwweGMzfSwKLSAgMTYsMHgzNmY4LDAsezB4ZTQsMHg5ZCwweGZkLDB4ZTQsMHg5YywweGZjLDB4ODAsMHgwMywweDEyLDB4MzgsMHgxZiwweDMwLDB4ZDUsMHgwNywweGMzLDB4ZTR9LAotICAgNiwweDM3MDgsMCx7MHg5ZiwweGZmLDB4ZTQsMHg5ZSwweGZlLDB4MjJ9LAotICAxNiwweDM3MGUsMCx7MHhiYiwweDAxLDB4MTAsMHhlNSwweDgyLDB4MjksMHhmNSwweDgyLDB4ZTUsMHg4MywweDNhLDB4ZjUsMHg4MywweGUwLDB4ZjUsMHhmMH0sCi0gIDE2LDB4MzcxZSwwLHsweGEzLDB4ZTAsMHgyMiwweDUwLDB4MDksMHhlOSwweDI1LDB4ODIsMHhmOCwweDg2LDB4ZjAsMHgwOCwweGU2LDB4MjIsMHhiYiwweGZlfSwKLSAgMTYsMHgzNzJlLDAsezB4MGEsMHhlOSwweDI1LDB4ODIsMHhmOCwweGUyLDB4ZjUsMHhmMCwweDA4LDB4ZTIsMHgyMiwweGU1LDB4ODMsMHgyYSwweGY1LDB4ODN9LAotICAgOCwweDM3M2UsMCx7MHhlOSwweDkzLDB4ZjUsMHhmMCwweGEzLDB4ZTksMHg5MywweDIyfSwKLSAgMTYsMHgzNzQ2LDAsezB4ZTgsMHg4ZiwweGYwLDB4YTQsMHhjYywweDhiLDB4ZjAsMHhhNCwweDJjLDB4ZmMsMHhlOSwweDhlLDB4ZjAsMHhhNCwweDJjLDB4ZmN9LAotICAxNiwweDM3NTYsMCx7MHg4YSwweGYwLDB4ZWQsMHhhNCwweDJjLDB4ZmMsMHhlYSwweDhlLDB4ZjAsMHhhNCwweGNkLDB4YTgsMHhmMCwweDhiLDB4ZjAsMHhhNH0sCi0gIDE2LDB4Mzc2NiwwLHsweDJkLDB4Y2MsMHgzOCwweDI1LDB4ZjAsMHhmZCwweGU5LDB4OGYsMHhmMCwweGE0LDB4MmMsMHhjZCwweDM1LDB4ZjAsMHhmYywweGVifSwKLSAgMTYsMHgzNzc2LDAsezB4OGUsMHhmMCwweGE0LDB4ZmUsMHhhOSwweGYwLDB4ZWIsMHg4ZiwweGYwLDB4YTQsMHhjZiwweGM1LDB4ZjAsMHgyZSwweGNkLDB4Mzl9LAotICAxNSwweDM3ODYsMCx7MHhmZSwweGU0LDB4M2MsMHhmYywweGVhLDB4YTQsMHgyZCwweGNlLDB4MzUsMHhmMCwweGZkLDB4ZTQsMHgzYywweGZjLDB4MjJ9LAotICAxNiwweDM3OTUsMCx7MHhlYiwweDlmLDB4ZjUsMHhmMCwweGVhLDB4OWUsMHg0MiwweGYwLDB4ZTksMHg5ZCwweDQyLDB4ZjAsMHhlYywweDY0LDB4ODAsMHhjOH0sCi0gICA2LDB4MzdhNSwwLHsweDY0LDB4ODAsMHg5OCwweDQ1LDB4ZjAsMHgyMn0sCi0gIDE2LDB4MzdhYiwwLHsweGViLDB4OWYsMHhmNSwweGYwLDB4ZWEsMHg5ZSwweDQyLDB4ZjAsMHhlOSwweDlkLDB4NDIsMHhmMCwweGU4LDB4OWMsMHg0NSwweGYwfSwKLSAgIDEsMHgzN2JiLDAsezB4MjJ9LAotICAxMiwweDM3YmMsMCx7MHhlYywweGYwLDB4YTMsMHhlZCwweGYwLDB4YTMsMHhlZSwweGYwLDB4YTMsMHhlZiwweGYwLDB4MjJ9LAotICAxNiwweDM3YzgsMCx7MHhhOCwweDgyLDB4ODUsMHg4MywweGYwLDB4ZDAsMHg4MywweGQwLDB4ODIsMHgxMiwweDM3LDB4ZGYsMHgxMiwweDM3LDB4ZGYsMHgxMn0sCi0gIDE2LDB4MzdkOCwwLHsweDM3LDB4ZGYsMHgxMiwweDM3LDB4ZGYsMHhlNCwweDczLDB4ZTQsMHg5MywweGEzLDB4YzUsMHg4MywweGM1LDB4ZjAsMHhjNSwweDgzfSwKLSAgMTYsMHgzN2U4LDAsezB4YzgsMHhjNSwweDgyLDB4YzgsMHhmMCwweGEzLDB4YzUsMHg4MywweGM1LDB4ZjAsMHhjNSwweDgzLDB4YzgsMHhjNSwweDgyLDB4Yzh9LAotICAgMSwweDM3ZjgsMCx7MHgyMn0sCi0gIDE2LDB4MzdmOSwwLHsweGQwLDB4ODMsMHhkMCwweDgyLDB4ZjgsMHhlNCwweDkzLDB4NzAsMHgxMiwweDc0LDB4MDEsMHg5MywweDcwLDB4MGQsMHhhMywweGEzfSwKLSAgMTYsMHgzODA5LDAsezB4OTMsMHhmOCwweDc0LDB4MDEsMHg5MywweGY1LDB4ODIsMHg4OCwweDgzLDB4ZTQsMHg3MywweDc0LDB4MDIsMHg5MywweDY4LDB4NjB9LAotICAgNiwweDM4MTksMCx7MHhlZiwweGEzLDB4YTMsMHhhMywweDgwLDB4ZGZ9LAotICAxNiwweDM4MWYsMCx7MHhiYywweDAwLDB4MGIsMHhiZSwweDAwLDB4MjksMHhlZiwweDhkLDB4ZjAsMHg4NCwweGZmLDB4YWQsMHhmMCwweDIyLDB4ZTQsMHhjY30sCi0gIDE2LDB4MzgyZiwwLHsweGY4LDB4NzUsMHhmMCwweDA4LDB4ZWYsMHgyZiwweGZmLDB4ZWUsMHgzMywweGZlLDB4ZWMsMHgzMywweGZjLDB4ZWUsMHg5ZCwweGVjfSwKLSAgMTYsMHgzODNmLDAsezB4OTgsMHg0MCwweDA1LDB4ZmMsMHhlZSwweDlkLDB4ZmUsMHgwZiwweGQ1LDB4ZjAsMHhlOSwweGU0LDB4Y2UsMHhmZCwweDIyLDB4ZWR9LAotICAxNiwweDM4NGYsMCx7MHhmOCwweGY1LDB4ZjAsMHhlZSwweDg0LDB4MjAsMHhkMiwweDFjLDB4ZmUsMHhhZCwweGYwLDB4NzUsMHhmMCwweDA4LDB4ZWYsMHgyZn0sCi0gIDE2LDB4Mzg1ZiwwLHsweGZmLDB4ZWQsMHgzMywweGZkLDB4NDAsMHgwNywweDk4LDB4NTAsMHgwNiwweGQ1LDB4ZjAsMHhmMiwweDIyLDB4YzMsMHg5OCwweGZkfSwKLSAgIDUsMHgzODZmLDAsezB4MGYsMHhkNSwweGYwLDB4ZWEsMHgyMn0sCi0gIDE2LDB4Mzg3NCwwLHsweGU0LDB4OTAsMHg3NiwweDI5LDB4ZjAsMHg5MCwweDc2LDB4MjksMHhlMCwweGZmLDB4NzUsMHhmMCwweDBmLDB4YTQsMHgyNCwweDQyfSwKLSAgMTYsMHgzODg0LDAsezB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweGZlLDB4OTAsMHg3ZiwweGVjLDB4ZTAsMHhmZCwweGVlLDB4NmR9LAotICAxNiwweDM4OTQsMCx7MHg2MCwweDBlLDB4ZWYsMHhjMywweDk0LDB4MDYsMHg1MCwweDA4LDB4OTAsMHg3NiwweDI5LDB4ZTAsMHgwNCwweGYwLDB4ODAsMHhkNX0sCi0gIDE2LDB4MzhhNCwwLHsweGVmLDB4YjQsMHgwNiwweDA4LDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweGVmLDB4NzUsMHhmMCwweDBmfSwKLSAgMTYsMHgzOGI0LDAsezB4YTQsMHgyNCwweDQxLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweDkwLDB4NzYsMHgyYSwweGYwLDB4MjR9LAotICAxNiwweDM4YzQsMCx7MHhiZiwweDcwLDB4MDIsMHg0MSwweDQxLDB4MjQsMHhlMCwweDcwLDB4MDIsMHg0MSwweDEyLDB4MjQsMHgyMSwweDYwLDB4MDIsMHg0MX0sCi0gIDE2LDB4MzhkNCwwLHsweDNhLDB4OTAsMHg3ZiwweGU5LDB4ZTAsMHgyNCwweGZlLDB4NjAsMHg3ZCwweDE0LDB4NzAsMHgwMiwweDIxLDB4YjIsMHgyNCwweDAyfSwKLSAgMTYsMHgzOGU0LDAsezB4NjAsMHgwMiwweDQxLDB4MGEsMHgxMiwweDE3LDB4NTEsMHg5MCwweDc2LDB4NDIsMHhlMCwweGZjLDB4YTMsMHhlMCwweGZkLDB4YTN9LAotICAxNiwweDM4ZjQsMCx7MHhlMCwweGZlLDB4YTMsMHhlMCwweGZmLDB4OTAsMHg3NiwweDI5LDB4ZTAsMHg3NSwweGYwLDB4MGYsMHhhNCwweDI0LDB4NDMsMHhmNX0sCi0gIDE2LDB4MzkwNCwwLHsweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDEyLDB4MzcsMHhiYywweDkwLDB4NzYsMHgxOSwweGUwLDB4ZmYsMHhiNCwweDAxfSwKLSAgMTYsMHgzOTE0LDAsezB4MTIsMHg5MCwweDc2LDB4N2MsMHg3NCwweDY3LDB4ZjAsMHg5MCwweDc2LDB4N2QsMHg3NCwweDA2LDB4ZjAsMHg5MCwweDc2LDB4N2V9LAotICAxNiwweDM5MjQsMCx7MHg3NCwweDBiLDB4ZjAsMHhlZiwweGI0LDB4MDIsMHgwZiwweGU0LDB4OTAsMHg3NiwweDdjLDB4ZjAsMHg5MCwweDc2LDB4N2QsMHhmMH0sCi0gIDE2LDB4MzkzNCwwLHsweDkwLDB4NzYsMHg3ZSwweDc0LDB4MGMsMHhmMCwweGVmLDB4YjQsMHgwMywweDBmLDB4ZTQsMHg5MCwweDc2LDB4N2MsMHhmMCwweDkwfSwKLSAgMTYsMHgzOTQ0LDAsezB4NzYsMHg3ZCwweGYwLDB4OTAsMHg3NiwweDdlLDB4NzQsMHgxOCwweGYwLDB4OTAsMHg3NiwweDFhLDB4NzQsMHgwMSwweGYwLDB4MTJ9LAotICAxNiwweDM5NTQsMCx7MHgzZSwweDlmLDB4MTIsMHgxOCwweDAwLDB4MjIsMHg5MCwweDdlLDB4YzIsMHhlMCwweGZmLDB4ZTQsMHhmYywweGZkLDB4ZmUsMHhmYn0sCi0gIDE2LDB4Mzk2NCwwLHsweGZhLDB4NzksMHgwMSwweGY4LDB4MTIsMHgzNywweDQ2LDB4YzgsMHhlYywweGM4LDB4YzksMHhlZCwweGM5LDB4Y2EsMHhlZSwweGNhfSwKLSAgMTYsMHgzOTc0LDAsezB4Y2IsMHhlZiwweGNiLDB4OTAsMHg3ZSwweGMxLDB4ZTAsMHhmZSwweGU0LDB4ZmMsMHhmZCwweDJiLDB4ZmIsMHhlYSwweDNlLDB4ZmF9LAotICAxNiwweDM5ODQsMCx7MHhlZCwweDM5LDB4ZjksMHhlYywweDM4LDB4ZjgsMHg5MCwweDdlLDB4YzAsMHhlMCwweGZmLDB4ZTQsMHhmZSwweGViLDB4MmYsMHhmZn0sCi0gIDE2LDB4Mzk5NCwwLHsweGVlLDB4M2EsMHhmZSwweGVkLDB4MzksMHhmZCwweGVjLDB4MzgsMHhmYywweDkwLDB4NzYsMHgyOSwweGUwLDB4NzUsMHhmMCwweDBmfSwKLSAgMTYsMHgzOWE0LDAsezB4YTQsMHgyNCwweDQ3LDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHgxMiwweDM3LDB4YmMsMHgyMiwweDkwLDB4N2V9LAotICAxNiwweDM5YjQsMCx7MHhjMiwweGUwLDB4ZmYsMHhlNCwweGZjLDB4ZmQsMHhmZSwweGZiLDB4ZmEsMHg3OSwweDAxLDB4ZjgsMHgxMiwweDM3LDB4NDYsMHhjOH0sCi0gIDE2LDB4MzljNCwwLHsweGVjLDB4YzgsMHhjOSwweGVkLDB4YzksMHhjYSwweGVlLDB4Y2EsMHhjYiwweGVmLDB4Y2IsMHg5MCwweDdlLDB4YzEsMHhlMCwweGZlfSwKLSAgMTYsMHgzOWQ0LDAsezB4ZTQsMHhmYywweGZkLDB4MmIsMHhmYiwweGVhLDB4M2UsMHhmYSwweGVkLDB4MzksMHhmOSwweGVjLDB4MzgsMHhmOCwweDkwLDB4N2V9LAotICAxNiwweDM5ZTQsMCx7MHhjMCwweGUwLDB4ZmYsMHhlNCwweGZlLDB4ZWIsMHgyZiwweGZmLDB4ZWUsMHgzYSwweGZlLDB4ZWQsMHgzOSwweGZkLDB4ZWMsMHgzOH0sCi0gIDE2LDB4MzlmNCwwLHsweGZjLDB4OTAsMHg3NiwweDI5LDB4ZTAsMHg3NSwweGYwLDB4MGYsMHhhNCwweDI0LDB4NGIsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1fSwKLSAgMTYsMHgzYTA0LDAsezB4ZjUsMHg4MywweDEyLDB4MzcsMHhiYywweDIyLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4N2Z9LAotICAxNiwweDNhMTQsMCx7MHhlOSwweGUwLDB4MTQsMHg3MCwweDE5LDB4OTAsMHg3ZSwweGMwLDB4ZTAsMHhmZiwweDkwLDB4NzYsMHgyOSwweGUwLDB4NzUsMHhmMH0sCi0gIDE2LDB4M2EyNCwwLHsweDBmLDB4YTQsMHgyNCwweDRmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlZiwweGYwLDB4MjIsMHg5MCwweDdmfSwKLSAgMTQsMHgzYTM0LDAsezB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMn0sCi0gIDE2LDB4M2E0MiwwLHsweGU0LDB4OTAsMHg3NiwweDM1LDB4ZjAsMHg5MCwweDc2LDB4MzUsMHhlMCwweGZmLDB4YzMsMHg5NCwweDAzLDB4NDAsMHgwMiwweDQxfSwKLSAgMTYsMHgzYTUyLDAsezB4ZmYsMHhlZiwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhYSwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZWZ9LAotICAxNiwweDNhNjIsMCx7MHhmMCwweGVmLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGFiLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlNH0sCi0gIDE2LDB4M2E3MiwwLHsweGYwLDB4ZWYsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWMsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDc0fSwKLSAgMTYsMHgzYTgyLDAsezB4ZjAsMHhmMCwweGVmLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGFkLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODN9LAotICAxNiwweDNhOTIsMCx7MHg3NCwweGZmLDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhZSwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNX0sCi0gIDE2LDB4M2FhMiwwLHsweDgzLDB4ZTQsMHhmMCwweGVmLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGFmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1fSwKLSAgMTYsMHgzYWIyLDAsezB4ODMsMHg3NCwweDgwLDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhiMCwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzV9LAotICAxNiwweDNhYzIsMCx7MHhmNSwweDgzLDB4ZTQsMHhmMCwweGVmLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGIxLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NX0sCi0gIDE2LDB4M2FkMiwwLHsweGY1LDB4ODMsMHhlNCwweGYwLDB4ZWYsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YjIsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1fSwKLSAgMTYsMHgzYWUyLDAsezB4ZjUsMHg4MywweGU0LDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhiMywweGY1LDB4ODIsMHhlNCwweDM0LDB4NzV9LAotICAxNiwweDNhZjIsMCx7MHhmNSwweDgzLDB4NzQsMHgwMSwweGYwLDB4OTAsMHg3NiwweDM1LDB4ZTAsMHgwNCwweGYwLDB4NDEsMHg0NywweDkwLDB4NzYsMHgzY30sCi0gIDE2LDB4M2IwMiwwLHsweDc0LDB4MGEsMHhmMCwweGU0LDB4YTMsMHhmMCwweDkwLDB4NzYsMHgzNSwweDc0LDB4MDMsMHhmMCwweDkwLDB4NzYsMHgzYywweGUwfSwKLSAgMTYsMHgzYjEyLDAsezB4ZmYsMHg5MCwweDc2LDB4MzUsMHhlMCwweGZlLDB4YzMsMHg5ZiwweDQwLDB4MDIsMHg2MSwweGQyLDB4OTAsMHg3NiwweDNkLDB4ZTB9LAotICAxNiwweDNiMjIsMCx7MHhmZiwweDA0LDB4ZjAsMHhlZSwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhYSwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNX0sCi0gIDE2LDB4M2IzMiwwLHsweDgzLDB4ZWYsMHhmMCwweGVlLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGFiLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1fSwKLSAgMTYsMHgzYjQyLDAsezB4ODMsMHhlNCwweGYwLDB4ZWUsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWMsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjV9LAotICAxNiwweDNiNTIsMCx7MHg4MywweDc0LDB4NWUsMHhmMCwweGVlLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGFkLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NX0sCi0gIDE2LDB4M2I2MiwwLHsweGY1LDB4ODMsMHg3NCwweGJhLDB4ZjAsMHhlZSwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhZSwweGY1LDB4ODIsMHhlNCwweDM0fSwKLSAgMTYsMHgzYjcyLDAsezB4NzUsMHhmNSwweDgzLDB4NzQsMHgwNSwweGYwLDB4ZWUsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWYsMHhmNSwweDgyLDB4ZTR9LAotICAxNiwweDNiODIsMCx7MHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4ODAsMHhmMCwweGVlLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGIwLDB4ZjUsMHg4Mn0sCi0gIDE2LDB4M2I5MiwwLHsweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlNCwweGYwLDB4ZWUsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YjEsMHhmNSwweDgyfSwKLSAgMTYsMHgzYmEyLDAsezB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGU0LDB4ZjAsMHhlZSwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhiMiwweGY1LDB4ODJ9LAotICAxNiwweDNiYjIsMCx7MHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHgxNSwweGYwLDB4ZWUsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YjMsMHhmNX0sCi0gIDE2LDB4M2JjMiwwLHsweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGU0LDB4ZjAsMHg5MCwweDc2LDB4MzUsMHhlMCwweDA0LDB4ZjAsMHg2MSwweDBlfSwKLSAgIDEsMHgzYmQyLDAsezB4MjJ9LAotICAxNiwweDNiZDMsMCx7MHhlNCwweDkwLDB4NzYsMHgzNiwweGYwLDB4ZTAsMHhmYiwweDc1LDB4ZjAsMHgwZiwweGE0LDB4MjQsMHg0MSwweGY1LDB4ODIsMHhlNH0sCi0gIDE2LDB4M2JlMywwLHsweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHg0MCwweGYwLDB4ZWIsMHg3NSwweGYwLDB4MGYsMHhhNCwweDI0LDB4NDIsMHhmNSwweDgyfSwKLSAgMTYsMHgzYmYzLDAsezB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4MGEsMHhmMCwweGViLDB4NzUsMHhmMCwweDBmLDB4YTQsMHgyNCwweDQzLDB4ZjV9LAotICAxNiwweDNjMDMsMCx7MHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHgxMiwweDM3LDB4YzgsMHgwMCwweDAwLDB4YWMsMHg0NCwweGViLDB4NzUsMHhmMH0sCi0gIDE2LDB4M2MxMywwLHsweDBmLDB4YTQsMHgyNCwweDQ3LDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHgxMiwweDM3LDB4YzgsMHgwMCwweDAwfSwKLSAgMTYsMHgzYzIzLDAsezB4YWMsMHg0NCwweGViLDB4NzUsMHhmMCwweDBmLDB4YTQsMHgyNCwweDRiLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODN9LAotICAxNiwweDNjMzMsMCx7MHgxMiwweDM3LDB4YzgsMHgwMCwweDAxLDB4NzcsMHgwMCwweDkwLDB4NzYsMHgzNiwweGUwLDB4MDQsMHhmMCwweGUwLDB4ZmIsMHg3NX0sCi0gIDE2LDB4M2M0MywwLHsweGYwLDB4MGYsMHhhNCwweDI0LDB4NDEsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4NDAsMHhmMCwweGVifSwKLSAgMTYsMHgzYzUzLDAsezB4NzUsMHhmMCwweDBmLDB4YTQsMHgyNCwweDQyLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDhjLDB4ZjB9LAotICAxNiwweDNjNjMsMCx7MHhlYiwweDc1LDB4ZjAsMHgwZiwweGE0LDB4MjQsMHg0MywweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4MTIsMHgzN30sCi0gIDE2LDB4M2M3MywwLHsweGM4LDB4MDAsMHgwMCwweGFjLDB4NDQsMHhlYiwweDc1LDB4ZjAsMHgwZiwweGE0LDB4MjQsMHg0NywweGY1LDB4ODIsMHhlNCwweDM0fSwKLSAgMTYsMHgzYzgzLDAsezB4NzUsMHhmNSwweDgzLDB4MTIsMHgzNywweGM4LDB4MDAsMHgwMCwweGFjLDB4NDQsMHhlYiwweDc1LDB4ZjAsMHgwZiwweGE0LDB4MjR9LAotICAxNiwweDNjOTMsMCx7MHg0YiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4MTIsMHgzNywweGM4LDB4MDAsMHgwMSwweDc3LDB4MDAsMHg5MH0sCi0gIDE2LDB4M2NhMywwLHsweDc2LDB4MzYsMHhlMCwweDA0LDB4ZjAsMHhlMCwweGZmLDB4NzUsMHhmMCwweDBmLDB4YTQsMHgyNCwweDQxLDB4ZjUsMHg4MiwweGU0fSwKLSAgMTYsMHgzY2IzLDAsezB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDQwLDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwZiwweGE0LDB4MjQsMHg0MiwweGY1LDB4ODJ9LAotICAxNiwweDNjYzMsMCx7MHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHg4ZiwweGYwLDB4OTAsMHg3NiwweDM2LDB4ZTAsMHgwNCwweGYwLDB4ZTAsMHhmZn0sCi0gIDE2LDB4M2NkMywwLHsweDc1LDB4ZjAsMHgwZiwweGE0LDB4MjQsMHg0MSwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHg0MSwweGYwfSwKLSAgMTYsMHgzY2UzLDAsezB4ZWYsMHg3NSwweGYwLDB4MGYsMHhhNCwweDI0LDB4NDIsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4ODR9LAotICAxNiwweDNjZjMsMCx7MHhmMCwweDkwLDB4NzYsMHgzNiwweGUwLDB4MDQsMHhmMCwweGUwLDB4ZmYsMHg3NSwweGYwLDB4MGYsMHhhNCwweDI0LDB4NDEsMHhmNX0sCi0gIDE2LDB4M2QwMywwLHsweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4NjEsMHhmMCwweGVmLDB4NzUsMHhmMCwweDBmLDB4YTQsMHgyNCwweDQyfSwKLSAgMTYsMHgzZDEzLDAsezB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDgxLDB4ZjAsMHg5MCwweDc2LDB4MzYsMHhlMCwweDA0LDB4ZjB9LAotICAxNiwweDNkMjMsMCx7MHhlMCwweGZmLDB4NzUsMHhmMCwweDBmLDB4YTQsMHgyNCwweDQxLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NH0sCi0gIDE2LDB4M2QzMywwLHsweDYxLDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwZiwweGE0LDB4MjQsMHg0MiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzfSwKLSAgIDQsMHgzZDQzLDAsezB4NzQsMHgwMSwweGYwLDB4MjJ9LAotICAxNiwweDNkNDcsMCx7MHhjMCwweGUwLDB4YzAsMHhmMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4YzAsMHhkMCwweGU4LDB4YzAsMHhlMCwweGU5LDB4YzAsMHhlMH0sCi0gIDE2LDB4M2Q1NywwLHsweGVhLDB4YzAsMHhlMCwweGViLDB4YzAsMHhlMCwweGVjLDB4YzAsMHhlMCwweGVkLDB4YzAsMHhlMCwweGVlLDB4YzAsMHhlMCwweGVmfSwKLSAgMTYsMHgzZDY3LDAsezB4YzAsMHhlMCwweDkwLDB4N2YsMHhhMiwweGUwLDB4OTAsMHg3NiwweDdmLDB4ZjAsMHg5MCwweDdmLDB4NzQsMHhlMCwweDkwLDB4NzZ9LAotICAxNiwweDNkNzcsMCx7MHg4NywweGYwLDB4OTAsMHg3ZiwweDc1LDB4ZTAsMHg5MCwweDc2LDB4ODgsMHhmMCwweDkwLDB4N2YsMHg5OCwweGUwLDB4NDQsMHgwMn0sCi0gIDE2LDB4M2Q4NywwLHsweGYwLDB4OTAsMHg3NiwweDk2LDB4ZTAsMHhmZiwweDIwLDB4ZTEsMHgwYywweDQ0LDB4MDIsMHhmMCwweDkwLDB4ODAsMHgwMywweGYwfSwKLSAgMTYsMHgzZDk3LDAsezB4ZDIsMHgzMiwweDEyLDB4NGIsMHgyOCwweDkwLDB4NzYsMHg3ZiwweGUwLDB4MjAsMHhlMiwweDUwLDB4OTAsMHg3NiwweDg3LDB4ZTB9LAotICAxNiwweDNkYTcsMCx7MHhmZSwweGEzLDB4ZTAsMHg3YywweDAwLDB4MjQsMHgwMCwweGY1LDB4MzQsMHhlYywweDNlLDB4ZjUsMHgzMywweDkwLDB4NzYsMHg5OH0sCi0gIDE2LDB4M2RiNywwLHsweGUwLDB4ZmQsMHhhZSwweDMzLDB4YWYsMHgzNCwweDEyLDB4MzYsMHhkOCwweDkwLDB4NzYsMHg4NywweGVmLDB4ZjAsMHhkMiwweDJmfSwKLSAgMTYsMHgzZGM3LDAsezB4MzAsMHgzMSwweDI5LDB4MjAsMHgzZiwweDI2LDB4YzIsMHgzMSwweDkwLDB4N2YsMHg5NCwweGUwLDB4NTQsMHhjZiwweGYwLDB4OTB9LAotICAxNiwweDNkZDcsMCx7MHg3ZiwweDlhLDB4ZTAsMHgzMCwweGU0LDB4MDQsMHhkMiwweDJkLDB4YzIsMHgyYywweDkwLDB4N2YsMHg5YSwweGUwLDB4MjAsMHhlNX0sCi0gIDE2LDB4M2RlNywwLHsweDA0LDB4YzIsMHgyZCwweGQyLDB4MmMsMHg5MCwweDdmLDB4OTQsMHhlMCwweDQ0LDB4MzAsMHhmMCwweDEyLDB4NDgsMHhiZCwweDEyfSwKLSAgMTYsMHgzZGY3LDAsezB4MWIsMHgwNCwweDMwLDB4MmYsMHgxMiwweDEyLDB4NDIsMHgxZiwweGMyLDB4MmYsMHg3NSwweGU4LDB4MDEsMHgxMiwweDE2LDB4OGF9LAotICAxNiwweDNlMDcsMCx7MHg3NSwweGU4LDB4MGQsMHhkMiwweDJiLDB4ODAsMHgwNSwweDc1LDB4ZTgsMHgwMSwweGMyLDB4MmIsMHgyMCwweDJiLDB4MzQsMHg5MH0sCi0gIDE2LDB4M2UxNywwLHsweDc2LDB4MTksMHhlMCwweGZmLDB4YjQsMHgwMSwweDBlLDB4OTAsMHg3NiwweDdjLDB4NzQsMHg2NywweGYwLDB4YTMsMHg3NCwweDA2fSwKLSAgMTYsMHgzZTI3LDAsezB4ZjAsMHhhMywweDc0LDB4MGIsMHhmMCwweGVmLDB4YjQsMHgwMiwweDBiLDB4OTAsMHg3NiwweDdjLDB4ZTQsMHhmMCwweGEzLDB4ZjB9LAotICAxNiwweDNlMzcsMCx7MHhhMywweDc0LDB4MGMsMHhmMCwweGVmLDB4YjQsMHgwMywweDBiLDB4OTAsMHg3NiwweDdjLDB4ZTQsMHhmMCwweGEzLDB4ZjAsMHhhM30sCi0gIDE2LDB4M2U0NywwLHsweDc0LDB4MTgsMHhmMCwweDc1LDB4Y2EsMHhkMywweDc1LDB4Y2IsMHhmZSwweGQyLDB4Y2EsMHgzMCwweDM0LDB4MDQsMHhjMiwweDM0fSwKLSAgMTYsMHgzZTU3LDAsezB4ODAsMHgwMiwweGQyLDB4MzQsMHgzMCwweDM0LDB4MGQsMHg5MCwweDc2LDB4ODksMHhlMCwweGMzLDB4OTQsMHgwMywweDQwLDB4MDR9LAotICAxNiwweDNlNjcsMCx7MHhlMCwweDI0LDB4ZmQsMHhmMCwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhYiwweDc0LDB4MDIsMHhmMCwweGYwLDB4OTAsMHg3Zn0sCi0gIDE2LDB4M2U3NywwLHsweDk4LDB4ZTAsMHg1NCwweGZkLDB4ZjAsMHhkMCwweGUwLDB4ZmYsMHhkMCwweGUwLDB4ZmUsMHhkMCwweGUwLDB4ZmQsMHhkMCwweGUwfSwKLSAgMTYsMHgzZTg3LDAsezB4ZmMsMHhkMCwweGUwLDB4ZmIsMHhkMCwweGUwLDB4ZmEsMHhkMCwweGUwLDB4ZjksMHhkMCwweGUwLDB4ZjgsMHhkMCwweGQwLDB4ZDB9LAotICAgOCwweDNlOTcsMCx7MHg4MiwweGQwLDB4ODMsMHhkMCwweGYwLDB4ZDAsMHhlMCwweDMyfSwKLSAgMTYsMHgzZTlmLDAsezB4OTAsMHg3NiwweDkyLDB4ZTAsMHgxNCwweDYwLDB4MWQsMHgxNCwweDcwLDB4MDIsMHhlMSwweDU0LDB4MjQsMHgwMiwweDYwLDB4MDJ9LAotICAxNiwweDNlYWYsMCx7MHhlMSwweGU0LDB4OTAsMHg3NiwweDk0LDB4NzQsMHgwMSwweGYwLDB4OTAsMHg4MCwweDAwLDB4ZjAsMHhlNCwweDkwLDB4NzYsMHg4ZX0sCi0gIDE2LDB4M2ViZiwwLHsweGYwLDB4ZDIsMHgzMSwweDIyLDB4OTAsMHg3NiwweDE5LDB4ZTAsMHhmZiwweGI0LDB4MDEsMHgxYiwweGU0LDB4OTAsMHg3ZiwweGYyfSwKLSAgMTYsMHgzZWNmLDAsezB4ZjAsMHg5MCwweDdmLDB4ZjMsMHg3NCwweDMwLDB4ZjAsMHg5MCwweDdmLDB4ZmYsMHg3NCwweGZjLDB4ZjAsMHg5MCwweDc2LDB4OTd9LAotICAxNiwweDNlZGYsMCx7MHhlMCwweDU0LDB4ZmQsMHhmMCwweDU0LDB4ZmIsMHhmMCwweGVmLDB4YjQsMHgwMiwweDFiLDB4ZTQsMHg5MCwweDdmLDB4ZjIsMHhmMH0sCi0gIDE2LDB4M2VlZiwwLHsweDkwLDB4N2YsMHhmMywweDc0LDB4MzQsMHhmMCwweDkwLDB4N2YsMHhmZiwweDc0LDB4ZmMsMHhmMCwweDkwLDB4NzYsMHg5NywweGUwfSwKLSAgMTYsMHgzZWZmLDAsezB4NDQsMHgwMiwweGYwLDB4NTQsMHhmYiwweGYwLDB4ZWYsMHhiNCwweDAzLDB4MTgsMHhlNCwweDkwLDB4N2YsMHhmMiwweGYwLDB4OTB9LAotICAxNiwweDNmMGYsMCx7MHg3ZiwweGYzLDB4NzQsMHg2NCwweGYwLDB4OTAsMHg3ZiwweGZmLDB4NzQsMHhmYywweGYwLDB4OTAsMHg3NiwweDk3LDB4ZTAsMHg0NH0sCi0gIDE2LDB4M2YxZiwwLHsweDA0LDB4ZjAsMHg5MCwweDc2LDB4OTQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDkwLDB4ODAsMHgwMCwweGYwLDB4MzAsMHgzZiwweDA5fSwKLSAgMTYsMHgzZjJmLDAsezB4OTAsMHg3NiwweDk3LDB4ZTAsMHg1NCwweGZlLDB4ZjAsMHg4MCwweDA3LDB4OTAsMHg3NiwweDk3LDB4ZTAsMHg0NCwweDAxLDB4ZjB9LAotICAxNiwweDNmM2YsMCx7MHg5MCwweDc2LDB4OTcsMHhlMCwweDkwLDB4ODAsMHgwMiwweGYwLDB4OTAsMHg3NiwweDk4LDB4NzQsMHgwNCwweGYwLDB4OTAsMHg3Nn0sCi0gIDE2LDB4M2Y0ZiwwLHsweDhlLDB4NzQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDc2LDB4MTksMHhlMCwweGZmLDB4YjQsMHgwMSwweDFiLDB4ZTQsMHg5MCwweDdmfSwKLSAgMTYsMHgzZjVmLDAsezB4ZjIsMHhmMCwweDkwLDB4N2YsMHhmMywweDc0LDB4NDQsMHhmMCwweDkwLDB4N2YsMHhmZiwweDc0LDB4ZmMsMHhmMCwweDkwLDB4NzZ9LAotICAxNiwweDNmNmYsMCx7MHg5NywweGUwLDB4NTQsMHhmZCwweGYwLDB4NTQsMHhmYiwweGYwLDB4ZWYsMHhiNCwweDAyLDB4MWIsMHhlNCwweDkwLDB4N2YsMHhmMn0sCi0gIDE2LDB4M2Y3ZiwwLHsweGYwLDB4OTAsMHg3ZiwweGYzLDB4NzQsMHg0YywweGYwLDB4OTAsMHg3ZiwweGZmLDB4NzQsMHhmYywweGYwLDB4OTAsMHg3NiwweDk3fSwKLSAgMTYsMHgzZjhmLDAsezB4ZTAsMHg0NCwweDAyLDB4ZjAsMHg1NCwweGZiLDB4ZjAsMHhlZiwweGI0LDB4MDMsMHgxOCwweGU0LDB4OTAsMHg3ZiwweGYyLDB4ZjB9LAotICAxNiwweDNmOWYsMCx7MHg5MCwweDdmLDB4ZjMsMHg3NCwweDk0LDB4ZjAsMHg5MCwweDdmLDB4ZmYsMHg3NCwweGZjLDB4ZjAsMHg5MCwweDc2LDB4OTcsMHhlMH0sCi0gIDE2LDB4M2ZhZiwwLHsweDQ0LDB4MDQsMHhmMCwweDkwLDB4NzYsMHg5NCwweGUwLDB4NTQsMHhmZSwweGYwLDB4OTAsMHg4MCwweDAwLDB4ZjAsMHgzMCwweDNmfSwKLSAgMTYsMHgzZmJmLDAsezB4MDksMHg5MCwweDc2LDB4OTcsMHhlMCwweDU0LDB4ZmUsMHhmMCwweDgwLDB4MDcsMHg5MCwweDc2LDB4OTcsMHhlMCwweDQ0LDB4MDF9LAotICAxNiwweDNmY2YsMCx7MHhmMCwweDkwLDB4NzYsMHg5NywweGUwLDB4OTAsMHg4MCwweDAyLDB4ZjAsMHg5MCwweDc2LDB4OTgsMHg3NCwweDA2LDB4ZjAsMHg5MH0sCi0gICA2LDB4M2ZkZiwwLHsweDc2LDB4OGUsMHg3NCwweDAyLDB4ZjAsMHgyMn0sCi0gIDE2LDB4M2ZlNSwwLHsweDkwLDB4N2YsMHhlYSwweGUwLDB4OTAsMHg3NiwweDgyLDB4ZjAsMHhlNCwweDkwLDB4NzYsMHg5MSwweGYwLDB4OTAsMHg3NiwweDkyfSwKLSAgMTEsMHgzZmY1LDAsezB4ZjAsMHg5MCwweDc2LDB4OTAsMHhmMCwweDkwLDB4NzYsMHg5MywweGYwLDB4ZDMsMHgyMn0sCi0gIDE2LDB4NDAwMCwwLHsweGU1LDB4MTEsMHhkMywweDk0LDB4MDAsMHg1MCwweDAyLDB4MjEsMHgwNiwweDkwLDB4NzYsMHg4OSwweGUwLDB4YzMsMHg5NCwweDA4fSwKLSAgMTYsMHg0MDEwLDAsezB4NDAsMHgwMiwweDIxLDB4MDYsMHg3NCwweDQwLDB4MjUsMHgwZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4N2UsMHhmNSwweDgzLDB4ZTB9LAotICAxNiwweDQwMjAsMCx7MHhmNSwweDE3LDB4ZTUsMHgwZCwweDYwLDB4MGUsMHg5MCwweDgwLDB4MDUsMHhlNSwweDE3LDB4ZjAsMHg5MCwweDc2LDB4ODksMHhlMH0sCi0gIDE2LDB4NDAzMCwwLHsweDA0LDB4ZjAsMHgwMSwweGRhLDB4ZTUsMHgxNywweDEyLDB4MzcsMHhmOSwweDQwLDB4YzEsMHgwMiwweDQwLDB4NjcsMHgwNSwweDQwfSwKLSAgMTYsMHg0MDQwLDAsezB4N2EsMHgwNiwweDQwLDB4OTgsMHgwNywweDQwLDB4YzEsMHgwYywweDQwLDB4YzEsMHgwZCwweDQwLDB4YzcsMHgwZiwweDQwLDB4Y2J9LAotICAxNiwweDQwNTAsMCx7MHhmNiwweDQwLDB4Y2IsMHhmOCwweDQwLDB4Y2IsMHhmYSwweDQwLDB4Y2IsMHhmYiwweDQwLDB4Y2IsMHhmYywweDQwLDB4Y2IsMHhmZX0sCi0gIDE2LDB4NDA2MCwwLHsweDQwLDB4Y2IsMHhmZiwweDAwLDB4MDAsMHg0MCwweGRhLDB4OTAsMHg3ZSwweDQxLDB4ZTAsMHg5MCwweDgwLDB4MDUsMHhmMCwweDkwfSwKLSAgMTYsMHg0MDcwLDAsezB4NzYsMHg4OSwweGUwLDB4MDQsMHhmMCwweDc1LDB4MTEsMHgwMSwweDgwLDB4NjAsMHg5MCwweDdlLDB4NDEsMHhlMCwweDkwLDB4ODB9LAotICAxNiwweDQwODAsMCx7MHgwNSwweGYwLDB4OTAsMHg3ZSwweDQyLDB4ZTAsMHg5MCwweDgwLDB4MDUsMHhmMCwweDkwLDB4NzYsMHg4OSwweGUwLDB4MDQsMHhmMH0sCi0gIDE2LDB4NDA5MCwwLHsweGUwLDB4MDQsMHhmMCwweDc1LDB4MTEsMHgwMSwweDgwLDB4NDIsMHg5MCwweDdlLDB4NDEsMHhlMCwweDkwLDB4ODAsMHgwNSwweGYwfSwKLSAgMTYsMHg0MGEwLDAsezB4OTAsMHg3ZSwweDQyLDB4ZTAsMHg5MCwweDgwLDB4MDUsMHhmMCwweDkwLDB4N2UsMHg0MywweGUwLDB4OTAsMHg4MCwweDA1LDB4ZjB9LAotICAxNiwweDQwYjAsMCx7MHg5MCwweDc2LDB4ODksMHhlMCwweDA0LDB4ZjAsMHhlMCwweDA0LDB4ZjAsMHhlMCwweDA0LDB4ZjAsMHg3NSwweDExLDB4MDEsMHg4MH0sCi0gIDE2LDB4NDBjMCwwLHsweDE5LDB4ZDIsMHgzYiwweGQyLDB4M2MsMHg4MCwweDEzLDB4ZDIsMHgzYiwweDgwLDB4MGYsMHg5MCwweDgwLDB4MDUsMHhlNSwweDE3fSwKLSAgMTYsMHg0MGQwLDAsezB4ZjAsMHg5MCwweDc2LDB4ODksMHhlMCwweDA0LDB4ZjAsMHg3NSwweDExLDB4MDEsMHgyMCwweDNiLDB4MDQsMHgwNSwweDBkLDB4ODB9LAotICAxNiwweDQwZTAsMCx7MHgxZiwweDMwLDB4M2MsMHgxYywweDkwLDB4N2UsMHg0MSwweGUwLDB4OTAsMHg4MCwweDA1LDB4ZjAsMHg5MCwweDdlLDB4NDIsMHhlMH0sCi0gIDE2LDB4NDBmMCwwLHsweDkwLDB4ODAsMHgwNSwweGYwLDB4OTAsMHg3NiwweDg5LDB4ZTAsMHgwNCwweGYwLDB4ZTAsMHgwNCwweGYwLDB4NzUsMHgxMSwweDAxfSwKLSAgMTYsMHg0MTAwLDAsezB4MDUsMHgwZiwweDE1LDB4MTEsMHgwMSwweDAwLDB4ZTUsMHgxMSwweDcwLDB4MTAsMHhjMiwweDMzLDB4ZjUsMHgwZCwweGY1LDB4MGZ9LAotICAxMSwweDQxMTAsMCx7MHg5MCwweDdmLDB4YzcsMHg3NCwweDA0LDB4ZjAsMHhjMiwweDNiLDB4YzIsMHgzYywweDIyfSwKLSAgMTYsMHg0MTFiLDAsezB4OTAsMHg3NiwweDhkLDB4ZTAsMHg2NCwweDAxLDB4NzAsMHgyNywweDMwLDB4MjcsMHgwOCwweGMyLDB4MjcsMHgxMiwweDA4LDB4MDB9LAotICAxNiwweDQxMmIsMCx7MHgxMiwweDE3LDB4NGEsMHgzMCwweDI4LDB4MDgsMHhjMiwweDI4LDB4MTIsMHgzOCwweDc0LDB4MTIsMHgxNywweDRhLDB4MzAsMHgyYX0sCi0gIDE2LDB4NDEzYiwwLHsweDBlLDB4ZTQsMHg5MCwweDc2LDB4OGQsMHhmMCwweGMyLDB4MmEsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDIsMHhmMCwweDkwfSwKLSAgMTYsMHg0MTRiLDAsezB4NzYsMHgzZiwweGUwLDB4YjQsMHgwMSwweDA1LDB4ZTQsMHhmMCwweDEyLDB4MzIsMHg2ZiwweDkwLDB4NzYsMHg0MSwweGUwLDB4YjR9LAotICAxNiwweDQxNWIsMCx7MHgwMSwweDA1LDB4ZTQsMHhmMCwweDEyLDB4MzQsMHg5YSwweDkwLDB4NzYsMHg0MCwweGUwLDB4YjQsMHgwMSwweDAzLDB4MTIsMHgzNH0sCi0gIDE2LDB4NDE2YiwwLHsweDlhLDB4MTIsMHgzMCwweDAwLDB4MzAsMHgzMywweDAzLDB4MTIsMHg0MCwweDAwLDB4OTAsMHg3ZiwweDliLDB4ZTAsMHgyMCwweGU0fSwKLSAgMTYsMHg0MTdiLDAsezB4MDIsMHhjMiwweDNmLDB4OTAsMHg3ZiwweDliLDB4ZTAsMHgzMCwweGU0LDB4MDIsMHhkMiwweDNmLDB4OTAsMHg3ZiwweDliLDB4ZTB9LAotICAxNiwweDQxOGIsMCx7MHgyMCwweGU1LDB4MDIsMHhjMiwweDNlLDB4OTAsMHg3ZiwweDliLDB4ZTAsMHgzMCwweGU1LDB4MDIsMHhkMiwweDNlLDB4YTIsMHg0MX0sCi0gIDE2LDB4NDE5YiwwLHsweDMwLDB4M2YsMHgwMSwweGIzLDB4NTAsMHgxZiwweGEyLDB4M2YsMHg5MiwweDQxLDB4MzAsMHgzZiwweDA5LDB4OTAsMHg3NiwweDk3fSwKLSAgMTYsMHg0MWFiLDAsezB4ZTAsMHg1NCwweGZlLDB4ZjAsMHg4MCwweDA3LDB4OTAsMHg3NiwweDk3LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg5MCwweDc2LDB4OTd9LAotICAxNiwweDQxYmIsMCx7MHhlMCwweDkwLDB4ODAsMHgwMiwweGYwLDB4MzAsMHgzZiwweDM0LDB4OTAsMHg3NiwweDE5LDB4ZTAsMHhmZiwweGI0LDB4MDEsMHgwZX0sCi0gIDE2LDB4NDFjYiwwLHsweDkwLDB4NzYsMHg3YywweDc0LDB4NjcsMHhmMCwweGEzLDB4NzQsMHgwNiwweGYwLDB4YTMsMHg3NCwweDBiLDB4ZjAsMHhlZiwweGI0fSwKLSAgMTYsMHg0MWRiLDAsezB4MDIsMHgwYiwweGU0LDB4OTAsMHg3NiwweDdjLDB4ZjAsMHhhMywweGYwLDB4YTMsMHg3NCwweDBjLDB4ZjAsMHhlZiwweGI0LDB4MDN9LAotICAxNiwweDQxZWIsMCx7MHgwYiwweGU0LDB4OTAsMHg3NiwweDdjLDB4ZjAsMHhhMywweGYwLDB4YTMsMHg3NCwweDE4LDB4ZjAsMHhhMiwweDQwLDB4MzAsMHgzZX0sCi0gIDE2LDB4NDFmYiwwLHsweDAxLDB4YjMsMHg1MCwweDFmLDB4YTIsMHgzZSwweDkyLDB4NDAsMHgzMCwweDNlLDB4MDksMHg5MCwweDc2LDB4OTUsMHhlMCwweDQ0fSwKLSAgMTYsMHg0MjBiLDAsezB4MDQsMHhmMCwweDgwLDB4MDcsMHg5MCwweDc2LDB4OTUsMHhlMCwweDU0LDB4ZmIsMHhmMCwweDkwLDB4NzYsMHg5NSwweGUwLDB4OTB9LAotICAgNCwweDQyMWIsMCx7MHg4MCwweDAxLDB4ZjAsMHgyMn0sCi0gIDE2LDB4NDIxZiwwLHsweDkwLDB4NzYsMHgxOSwweGUwLDB4NjQsMHgwMSwweDcwLDB4MzUsMHg5MCwweDc2LDB4ODcsMHhlMCwweGZmLDB4ZDMsMHg5NCwweDJkfSwKLSAgMTYsMHg0MjJmLDAsezB4NDAsMHgyYiwweDkwLDB4NzYsMHg4NiwweDc0LDB4MDEsMHhmMCwweDkwLDB4NzYsMHg4NSwweGUwLDB4MDQsMHhmMCwweGUwLDB4ZDN9LAotICAxNiwweDQyM2YsMCx7MHg5NCwweDBmLDB4NDAsMHgxOSwweGU0LDB4ZjAsMHhlZiwweGQzLDB4OTQsMHgzMSwweDQwLDB4MDgsMHg5MCwweDc2LDB4MTksMHg3NH0sCi0gIDE2LDB4NDI0ZiwwLHsweDAzLDB4ZjAsMHg4MCwweDA2LDB4OTAsMHg3NiwweDE5LDB4NzQsMHgwMiwweGYwLDB4MTIsMHgzZSwweDlmLDB4OTAsMHg3NiwweDE5fSwKLSAgMTYsMHg0MjVmLDAsezB4ZTAsMHhiNCwweDAyLDB4MmMsMHg5MCwweDc2LDB4ODcsMHhlMCwweGZmLDB4YzMsMHg5NCwweDJmLDB4NTAsMHgyMiwweGVmLDB4ZDN9LAotICAxNiwweDQyNmYsMCx7MHg5NCwweDJhLDB4NDAsMHgxYywweDkwLDB4NzYsMHg4NiwweDc0LDB4MDEsMHhmMCwweDkwLDB4NzYsMHg4NSwweGUwLDB4MDQsMHhmMH0sCi0gIDE2LDB4NDI3ZiwwLHsweGUwLDB4ZDMsMHg5NCwweDBmLDB4NDAsMHgwYSwweGU0LDB4ZjAsMHg5MCwweDc2LDB4MTksMHgwNCwweGYwLDB4MTIsMHgzZSwweDlmfSwKLSAgMTYsMHg0MjhmLDAsezB4OTAsMHg3NiwweDE5LDB4ZTAsMHhiNCwweDAyLDB4MjYsMHg5MCwweDc2LDB4ODcsMHhlMCwweGQzLDB4OTQsMHgzMSwweDQwLDB4MWR9LAotICAxNiwweDQyOWYsMCx7MHg5MCwweDc2LDB4ODYsMHg3NCwweDAxLDB4ZjAsMHg5MCwweDc2LDB4ODUsMHhlMCwweDA0LDB4ZjAsMHhlMCwweGQzLDB4OTQsMHgwZn0sCi0gIDE2LDB4NDJhZiwwLHsweDQwLDB4MGIsMHhlNCwweGYwLDB4OTAsMHg3NiwweDE5LDB4NzQsMHgwMywweGYwLDB4MTIsMHgzZSwweDlmLDB4OTAsMHg3NiwweDE5fSwKLSAgMTYsMHg0MmJmLDAsezB4ZTAsMHg2NCwweDAzLDB4NzAsMHgzZiwweDkwLDB4NzYsMHg4NywweGUwLDB4ZmYsMHhjMywweDk0LDB4NWYsMHg1MCwweDM1LDB4OTB9LAotICAxNiwweDQyY2YsMCx7MHg3NiwweDg2LDB4NzQsMHgwMSwweGYwLDB4OTAsMHg3NiwweDg1LDB4ZTAsMHgwNCwweGYwLDB4ZTAsMHhkMywweDk0LDB4MGYsMHg0MH0sCi0gIDE2LDB4NDJkZiwwLHsweDIzLDB4ZTQsMHhmMCwweGVmLDB4YzMsMHg5NCwweDJmLDB4NTAsMHgwYywweGVmLDB4ZDMsMHg5NCwweDJhLDB4NDAsMHgwNiwweDkwfSwKLSAgMTYsMHg0MmVmLDAsezB4NzYsMHgxOSwweDc0LDB4MDEsMHhmMCwweGVmLDB4ZDMsMHg5NCwweDJmLDB4NDAsMHgwNiwweDkwLDB4NzYsMHgxOSwweDc0LDB4MDJ9LAotICAxNiwweDQyZmYsMCx7MHhmMCwweDEyLDB4M2UsMHg5ZiwweDkwLDB4NzYsMHg4NiwweGUwLDB4NzAsMHgwNSwweDkwLDB4NzYsMHg4NSwweGYwLDB4MjIsMHhlNH0sCi0gICA1LDB4NDMwZiwwLHsweDkwLDB4NzYsMHg4NiwweGYwLDB4MjJ9LAotICAxNiwweDQzMTQsMCx7MHhlNCwweDkwLDB4NzYsMHg5NiwweGYwLDB4OTAsMHg4MCwweDAzLDB4ZjAsMHg5MCwweDdmLDB4ZTAsMHg3NCwweDkwLDB4ZjAsMHg5MH0sCi0gIDE2LDB4NDMyNCwwLHsweDdmLDB4ZTEsMHg3NCwweDA0LDB4ZjAsMHhlNCwweDkwLDB4N2YsMHhkZCwweGYwLDB4OTAsMHg3ZiwweGExLDB4ZjAsMHg1MywweDhlfSwKLSAgMTYsMHg0MzM0LDAsezB4ZjgsMHg3NSwweDg4LDB4MDUsMHg3NSwweGI4LDB4MjAsMHg3NSwweGY4LDB4MDEsMHg0MywweDhlLDB4MzAsMHhmNSwweGM4LDB4NzV9LAotICAxNiwweDQzNDQsMCx7MHhjYSwweDdmLDB4NzUsMHhjYiwweGY4LDB4NDMsMHhhOCwweDIwLDB4MTIsMHg0NSwweDY1LDB4YzIsMHgyYywweGMyLDB4MmQsMHhjMn0sCi0gIDE2LDB4NDM1NCwwLHsweDJiLDB4YzIsMHgyZiwweDkwLDB4N2YsMHhmYywweDc0LDB4ZGQsMHhmMCwweDkwLDB4N2YsMHhmZiwweDc0LDB4ZmYsMHhmMCwweDkwfSwKLSAgMTYsMHg0MzY0LDAsezB4N2YsMHg5NywweGUwLDB4NDQsMHgwMSwweGYwLDB4OTAsMHg3NiwweDE5LDB4NzQsMHgwMSwweGYwLDB4ZTQsMHg5MCwweDc2LDB4ODV9LAotICAxNiwweDQzNzQsMCx7MHhmMCwweGEzLDB4ZjAsMHg5MCwweDc2LDB4ODEsMHhmMCwweDkwLDB4NzYsMHg4MCwweGYwLDB4MTIsMHg0OSwweGFlLDB4MTIsMHgwZn0sCi0gIDE2LDB4NDM4NCwwLHsweGM2LDB4MTIsMHg0YSwweGYxLDB4OTAsMHg3ZiwweDk3LDB4ZTAsMHg0NCwweDA4LDB4ZjAsMHhlMCwweDU0LDB4YjksMHhmMCwweGQyfSwKLSAgMTYsMHg0Mzk0LDAsezB4MzAsMHgyMCwweDMwLDB4MTgsMHgxMiwweDRhLDB4YTYsMHgxMiwweDMwLDB4MDAsMHgxMiwweDQwLDB4MDAsMHgxMiwweDQyLDB4MWZ9LAotICAxNiwweDQzYTQsMCx7MHgxMiwweDQ4LDB4YmQsMHgxMiwweDFiLDB4MDQsMHgxMiwweDE2LDB4NjEsMHgxMiwweDQyLDB4MWYsMHgxMiwweDRhLDB4YTYsMHhjMn0sCi0gIDE2LDB4NDNiNCwwLHsweDJmLDB4YzIsMHgzMSwweGMyLDB4MzIsMHhjMiwweDM0LDB4YzIsMHgzMywweGMyLDB4MjksMHhjMiwweDI3LDB4YzIsMHgyOCwweGU0fSwKLSAgMTYsMHg0M2M0LDAsezB4ZjUsMHgxMSwweDkwLDB4NzYsMHg4OSwweGYwLDB4OTAsMHg3NiwweDNmLDB4ZjAsMHg5MCwweDc2LDB4NDEsMHhmMCwweDkwLDB4NzZ9LAotICAxNiwweDQzZDQsMCx7MHg0MCwweGYwLDB4OTAsMHg3NiwweDhhLDB4ZjAsMHhhMywweGYwLDB4YTMsMHgwNCwweGYwLDB4ZTQsMHhhMywweGYwLDB4OTAsMHg3Nn0sCi0gICAzLDB4NDNlNCwwLHsweDk5LDB4ZjAsMHgyMn0sCi0gIDE2LDB4NDNlNywwLHsweDEyLDB4NGUsMHgxOSwweDQwLDB4MDIsMHg4MSwweGFjLDB4OTAsMHg3ZiwweGViLDB4ZTAsMHgyNCwweGZlLDB4NjAsMHgxZSwweDE0fSwKLSAgMTYsMHg0M2Y3LDAsezB4NjAsMHg0NiwweDE0LDB4NjAsMHg2ZSwweDE0LDB4NzAsMHgwMiwweDgxLDB4OWQsMHgyNCwweDA0LDB4NjAsMHgwMiwweDgxLDB4YTV9LAotICAxNiwweDQ0MDcsMCx7MHg3NCwweDA1LDB4OTAsMHg3ZiwweGQ0LDB4ZjAsMHg3NCwweDAwLDB4OTAsMHg3ZiwweGQ1LDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhlYX0sCi0gIDE2LDB4NDQxNywwLHsweGUwLDB4ZmYsMHgxMiwweDRhLDB4NTUsMHg4YiwweDIwLDB4OGEsMHgyMSwweDg5LDB4MjIsMHhlYSwweDQ5LDB4NjAsMHgxMSwweGNlfSwKLSAgMTYsMHg0NDI3LDAsezB4ZWEsMHhjZSwweGVlLDB4OTAsMHg3ZiwweGQ0LDB4ZjAsMHhjZiwweGU5LDB4Y2YsMHhlZiwweDkwLDB4N2YsMHhkNSwweGYwLDB4MjJ9LAotICAxNiwweDQ0MzcsMCx7MHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGVhLDB4ZTAsMHhmZiwweDEyLDB4NDcsMHhiN30sCi0gIDE2LDB4NDQ0NywwLHsweDhiLDB4MjAsMHg4YSwweDIxLDB4ODksMHgyMiwweGVhLDB4NDksMHg2MCwweDExLDB4Y2UsMHhlYSwweGNlLDB4ZWUsMHg5MCwweDdmfSwKLSAgMTYsMHg0NDU3LDAsezB4ZDQsMHhmMCwweGNmLDB4ZTksMHhjZiwweGVmLDB4OTAsMHg3ZiwweGQ1LDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDR9LAotICAxNiwweDQ0NjcsMCx7MHgwMSwweGYwLDB4MjIsMHg5MCwweDdmLDB4ZWEsMHhlMCwweGZmLDB4OTAsMHg3ZSwweGMwLDB4ZTAsMHhmZCwweGEzLDB4ZTAsMHhmYn0sCi0gIDE2LDB4NDQ3NywwLHsweDEyLDB4MTcsMHg5NCwweDhiLDB4MjAsMHg4YSwweDIxLDB4ODksMHgyMiwweGVhLDB4NDksMHg2MCwweDExLDB4Y2UsMHhlYSwweGNlfSwKLSAgMTYsMHg0NDg3LDAsezB4ZWUsMHg5MCwweDdmLDB4ZDQsMHhmMCwweGNmLDB4ZTksMHhjZiwweGVmLDB4OTAsMHg3ZiwweGQ1LDB4ZjAsMHgyMiwweDkwLDB4N2Z9LAotICAxNiwweDQ0OTcsMCx7MHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3Zn0sCi0gICA1LDB4NDRhNywwLHsweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjB9LAotICAgMSwweDQ0YWMsMCx7MHgyMn0sCi0gIDE2LDB4NDRhZCwwLHsweGMyLDB4YWYsMHhkMiwweDI0LDB4OTAsMHg3ZiwweDkzLDB4NzQsMHgzMCwweGYwLDB4OTAsMHg3ZiwweDljLDB4NzQsMHhiYiwweGYwfSwKLSAgMTYsMHg0NGJkLDAsezB4OTAsMHg3ZiwweDk2LDB4ZTAsMHg0NCwweDMwLDB4ZjAsMHhlMCwweDU0LDB4MzAsMHhmMCwweDkwLDB4N2YsMHg5NCwweDc0LDB4MzB9LAotICAxNiwweDQ0Y2QsMCx7MHhmMCwweDkwLDB4N2YsMHg5ZCwweDc0LDB4Y2YsMHhmMCwweDkwLDB4N2YsMHg5NywweDc0LDB4YTAsMHhmMCwweDkwLDB4N2YsMHg5NX0sCi0gIDE2LDB4NDRkZCwwLHsweDc0LDB4YzAsMHhmMCwweDkwLDB4N2YsMHg5ZSwweDc0LDB4MDMsMHhmMCwweDkwLDB4N2YsMHg5OSwweGUwLDB4MzAsMHhlMiwweDA5fSwKLSAgMTYsMHg0NGVkLDAsezB4OTAsMHgwNSwweDE5LDB4NzQsMHhhMCwweGYwLDB4ZTQsMHhhMywweGYwLDB4YzIsMHgyNSwweGMyLDB4MjIsMHhjMiwweDIzLDB4YzJ9LAotICAxNiwweDQ0ZmQsMCx7MHgyNiwweDEyLDB4NGIsMHgyOCwweDEyLDB4MmQsMHhhOSwweDEyLDB4M2IsMHhkMywweDEyLDB4NDYsMHgxOSwweDEyLDB4M2EsMHg0Mn0sCi0gIDE2LDB4NDUwZCwwLHsweDkwLDB4NzYsMHg2OCwweDc0LDB4MDEsMHhmMCwweDcwLDB4MGYsMHgxMiwweDRjLDB4MjksMHgxMiwweDRlLDB4MTUsMHgxMiwweDRlfSwKLSAgMTYsMHg0NTFkLDAsezB4MTcsMHgxMiwweDFiLDB4NDAsMHgxMiwweDE0LDB4OTYsMHgxMiwweDQzLDB4MTQsMHg5MCwweDdmLDB4YWYsMHhlMCwweDQ0LDB4MDF9LAotICAxNiwweDQ1MmQsMCx7MHhmMCwweDkwLDB4N2YsMHhhZSwweGUwLDB4NDQsMHgxZiwweGYwLDB4OTAsMHg3ZiwweGFjLDB4NzQsMHhmZiwweGYwLDB4OTAsMHg3Zn0sCi0gIDE2LDB4NDUzZCwwLHsweGFkLDB4ZjAsMHg5MCwweDdmLDB4ZGUsMHhmMCwweDkwLDB4N2YsMHhkZiwweGYwLDB4OTAsMHg3ZiwweGFiLDB4ZjAsMHg5MCwweDdmfSwKLSAgMTYsMHg0NTRkLDAsezB4YTksMHhmMCwweDkwLDB4N2YsMHhhYSwweGYwLDB4NTMsMHg5MSwweGVmLDB4NDMsMHhkOCwweDIwLDB4ZDIsMHhlOCwweDQzLDB4ZDh9LAotICAgOCwweDQ1NWQsMCx7MHgyMCwweDUzLDB4YTgsMHhhMCwweDQzLDB4YTgsMHg4MCwweDIyfSwKLSAgMTYsMHg0NTY1LDAsezB4OTAsMHg3NiwweDlhLDB4NzQsMHgwMiwweGYwLDB4ZTQsMHg5MCwweDc2LDB4OTEsMHhmMCwweGEzLDB4ZjAsMHg5MCwweDc2LDB4OTB9LAotICAxNiwweDQ1NzUsMCx7MHhmMCwweDkwLDB4NzYsMHg5MywweGYwLDB4OTAsMHg3NiwweDk2LDB4NzQsMHgwMywweGYwLDB4OTAsMHg4MCwweDAzLDB4ZjAsMHhlNH0sCi0gIDE2LDB4NDU4NSwwLHsweDkwLDB4NzYsMHg5NywweGYwLDB4OTAsMHg4MCwweDAyLDB4ZjAsMHg5MCwweDc2LDB4OTQsMHgwNCwweGYwLDB4OTAsMHg4MCwweDAwfSwKLSAgMTYsMHg0NTk1LDAsezB4ZjAsMHhlNCwweDkwLDB4NzYsMHg4ZSwweGYwLDB4OTAsMHg3NiwweDFhLDB4ZjAsMHg5MCwweDc2LDB4OTUsMHgwNCwweGYwLDB4YzJ9LAotICAxNiwweDQ1YTUsMCx7MHgyZSwweDkwLDB4N2YsMHg5YiwweGUwLDB4ZmYsMHg1NCwweDEwLDB4ZmYsMHg3MCwweDAyLDB4YzIsMHgzZiwweDkwLDB4N2YsMHg5Yn0sCi0gIDE2LDB4NDViNSwwLHsweGUwLDB4ZmYsMHg1NCwweDEwLDB4ZmUsMHhmZiwweGJlLDB4MTAsMHgwMiwweGQyLDB4M2YsMHg5MCwweDdmLDB4OWIsMHhlMCwweGZmfSwKLSAgMTYsMHg0NWM1LDAsezB4NTQsMHgyMCwweGZmLDB4NzAsMHgwMiwweGMyLDB4M2UsMHg5MCwweDdmLDB4OWIsMHhlMCwweGZmLDB4NTQsMHgyMCwweGZlLDB4ZmZ9LAotICAxNiwweDQ1ZDUsMCx7MHhiZSwweDIwLDB4MDIsMHhkMiwweDNlLDB4MzAsMHgzZiwweDA5LDB4OTAsMHg3NiwweDk3LDB4ZTAsMHg1NCwweGZlLDB4ZjAsMHg4MH0sCi0gIDE2LDB4NDVlNSwwLHsweDA3LDB4OTAsMHg3NiwweDk3LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg5MCwweDc2LDB4OTcsMHhlMCwweDkwLDB4ODAsMHgwMiwweGYwfSwKLSAgMTYsMHg0NWY1LDAsezB4MzAsMHgzZSwweDA5LDB4OTAsMHg3NiwweDk1LDB4ZTAsMHg0NCwweDA0LDB4ZjAsMHg4MCwweDA3LDB4OTAsMHg3NiwweDk1LDB4ZTB9LAotICAxNiwweDQ2MDUsMCx7MHg1NCwweGZiLDB4ZjAsMHg5MCwweDc2LDB4OTUsMHhlMCwweDkwLDB4ODAsMHgwMSwweGYwLDB4YTIsMHgzZSwweDkyLDB4NDAsMHhhMn0sCi0gICAzLDB4NDYxNSwwLHsweDNmLDB4OTIsMHg0MX0sCi0gICAxLDB4NDYxOCwwLHsweDIyfSwKLSAgMTYsMHg0NjE5LDAsezB4ZTQsMHg5MCwweDc2LDB4MzYsMHhmMCwweGUwLDB4ZmYsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0LDB4MzIsMHhmNSwweDgyLDB4ZTR9LAotICAxNiwweDQ2MjksMCx7MHgzNCwweDc1LDB4ZjUsMHg4MywweGU0LDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwMywweGE0LDB4MjQsMHgzMywweGY1LDB4ODIsMHhlNH0sCi0gIDE2LDB4NDYzOSwwLHsweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHgwMSwweGYwLDB4OTAsMHg3NiwweDM2LDB4ZTAsMHgwNCwweGYwLDB4ZTAsMHhmZiwweDc1fSwKLSAgMTYsMHg0NjQ5LDAsezB4ZjAsMHgwMywweGE0LDB4MjQsMHgzMiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTQsMHhmMCwweGVmLDB4NzV9LAotICAxNiwweDQ2NTksMCx7MHhmMCwweDAzLDB4YTQsMHgyNCwweDMzLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDAyLDB4ZjAsMHg5MH0sCi0gIDE2LDB4NDY2OSwwLHsweDc2LDB4MzYsMHhlMCwweDA0LDB4ZjAsMHhlMCwweGZmLDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNCwweDMyLDB4ZjUsMHg4MiwweGU0fSwKLSAgMTYsMHg0Njc5LDAsezB4MzQsMHg3NSwweGY1LDB4ODMsMHhlNCwweGYwLDB4ZWYsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0LDB4MzMsMHhmNSwweDgyLDB4ZTR9LAotICAxNiwweDQ2ODksMCx7MHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4MDMsMHhmMCwweDkwLDB4NzYsMHgzNiwweGUwLDB4MDQsMHhmMCwweGUwLDB4ZmYsMHg3NX0sCi0gIDE2LDB4NDY5OSwwLHsweGYwLDB4MDMsMHhhNCwweDI0LDB4MzIsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGU0LDB4ZjAsMHhlZiwweDc1fSwKLSAgMTYsMHg0NmE5LDAsezB4ZjAsMHgwMywweGE0LDB4MjQsMHgzMywweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHgwNCwweGYwLDB4MjJ9LAotICAxMiwweDQ2YjksMCx7MHg3OCwweDdmLDB4ZTQsMHhmNiwweGQ4LDB4ZmQsMHg3NSwweDgxLDB4MzgsMHgwMiwweDQ3LDB4MDB9LAotICAxNiwweDQ2YzUsMCx7MHgwMiwweDA3LDB4YTYsMHhlNCwweDkzLDB4YTMsMHhmOCwweGU0LDB4OTMsMHhhMywweDQwLDB4MDMsMHhmNiwweDgwLDB4MDEsMHhmMn0sCi0gIDE2LDB4NDZkNSwwLHsweDA4LDB4ZGYsMHhmNCwweDgwLDB4MjksMHhlNCwweDkzLDB4YTMsMHhmOCwweDU0LDB4MDcsMHgyNCwweDBjLDB4YzgsMHhjMywweDMzfSwKLSAgMTYsMHg0NmU1LDAsezB4YzQsMHg1NCwweDBmLDB4NDQsMHgyMCwweGM4LDB4ODMsMHg0MCwweDA0LDB4ZjQsMHg1NiwweDgwLDB4MDEsMHg0NiwweGY2LDB4ZGZ9LAotICAxNiwweDQ2ZjUsMCx7MHhlNCwweDgwLDB4MGIsMHgwMSwweDAyLDB4MDQsMHgwOCwweDEwLDB4MjAsMHg0MCwweDgwLDB4OTAsMHgwYywweDhmLDB4ZTQsMHg3ZX0sCi0gIDE2LDB4NDcwNSwwLHsweDAxLDB4OTMsMHg2MCwweGJjLDB4YTMsMHhmZiwweDU0LDB4M2YsMHgzMCwweGU1LDB4MDksMHg1NCwweDFmLDB4ZmUsMHhlNCwweDkzfSwKLSAgMTYsMHg0NzE1LDAsezB4YTMsMHg2MCwweDAxLDB4MGUsMHhjZiwweDU0LDB4YzAsMHgyNSwweGUwLDB4NjAsMHhhOCwweDQwLDB4YjgsMHhlNCwweDkzLDB4YTN9LAotICAxNiwweDQ3MjUsMCx7MHhmYSwweGU0LDB4OTMsMHhhMywweGY4LDB4ZTQsMHg5MywweGEzLDB4YzgsMHhjNSwweDgyLDB4YzgsMHhjYSwweGM1LDB4ODMsMHhjYX0sCi0gIDE2LDB4NDczNSwwLHsweGYwLDB4YTMsMHhjOCwweGM1LDB4ODIsMHhjOCwweGNhLDB4YzUsMHg4MywweGNhLDB4ZGYsMHhlOSwweGRlLDB4ZTcsMHg4MCwweGJlfSwKLSAgMTYsMHg0NzQ1LDAsezB4OTAsMHg3ZiwweGVjLDB4ZTAsMHg5MCwweDc2LDB4ODMsMHhmMCwweGUwLDB4MTQsMHg2MCwweDFkLDB4MTQsMHg2MCwweDJhLDB4MTR9LAotICAxNiwweDQ3NTUsMCx7MHg2MCwweDM3LDB4MTQsMHg2MCwweDQ0LDB4MjQsMHgwNCwweDcwLDB4NTAsMHg5MCwweDc2LDB4OTEsMHhlMCwweDkwLDB4N2YsMHgwMH0sCi0gIDE2LDB4NDc2NSwwLHsweGYwLDB4OTAsMHg3ZiwweGI1LDB4NzQsMHgwMSwweGYwLDB4ODAsMHg0NywweDkwLDB4NzYsMHg5MiwweGUwLDB4OTAsMHg3ZiwweDAwfSwKLSAgMTYsMHg0Nzc1LDAsezB4ZjAsMHg5MCwweDdmLDB4YjUsMHg3NCwweDAxLDB4ZjAsMHg4MCwweDM3LDB4OTAsMHg3NiwweDkwLDB4ZTAsMHg5MCwweDdmLDB4MDB9LAotICAxNiwweDQ3ODUsMCx7MHhmMCwweDkwLDB4N2YsMHhiNSwweDc0LDB4MDEsMHhmMCwweDgwLDB4MjcsMHg5MCwweDc2LDB4ODQsMHhlMCwweDkwLDB4N2YsMHgwMH0sCi0gIDE2LDB4NDc5NSwwLHsweGYwLDB4OTAsMHg3ZiwweGI1LDB4NzQsMHgwMSwweGYwLDB4ODAsMHgxNywweDkwLDB4NzYsMHg5MywweGUwLDB4OTAsMHg3ZiwweDAwfSwKLSAgMTYsMHg0N2E1LDAsezB4ZjAsMHg5MCwweDdmLDB4YjUsMHg3NCwweDAxLDB4ZjAsMHg4MCwweDA3LDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjB9LAotICAgMiwweDQ3YjUsMCx7MHhkMywweDIyfSwKLSAgIDIsMHg0N2I3LDAsezB4OGYsMHgyZX0sCi0gIDE2LDB4NDdiOSwwLHsweGU0LDB4ZjUsMHgyZiwweDc1LDB4MzAsMHhmZiwweDc1LDB4MzEsMHgwNywweDc1LDB4MzIsMHgxYSwweGFiLDB4MzAsMHhhYSwweDMxfSwKLSAgMTYsMHg0N2M5LDAsezB4YTksMHgzMiwweDkwLDB4MDAsMHgwMSwweDEyLDB4MzYsMHhhYiwweGI0LDB4MDMsMHgxZiwweGFmLDB4MmYsMHgwNSwweDJmLDB4ZWZ9LAotICAxNiwweDQ3ZDksMCx7MHg2NSwweDJlLDB4NzAsMHgwMSwweDIyLDB4MTIsMHgzNiwweDkyLDB4N2UsMHgwMCwweDI5LDB4ZmYsMHhlZSwweDNhLDB4YzksMHhlZn0sCi0gIDE2LDB4NDdlOSwwLHsweGM5LDB4NzUsMHgzMCwweGZmLDB4ZjUsMHgzMSwweDg5LDB4MzIsMHg4MCwweGQyLDB4N2IsMHgwMCwweDdhLDB4MDAsMHg3OSwweDAwfSwKLSAgIDEsMHg0N2Y5LDAsezB4MjJ9LAotICAgNiwweDQ3ZmEsMCx7MHgxMiwweDRiLDB4MjgsMHhjMiwweDMxLDB4MjJ9LAotICAxNiwweDQ4MDAsMCx7MHhjMCwweGUwLDB4YzAsMHhmMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4YzAsMHhkMCwweGU4LDB4YzAsMHhlMCwweGU5LDB4YzAsMHhlMH0sCi0gIDE2LDB4NDgxMCwwLHsweGVhLDB4YzAsMHhlMCwweGViLDB4YzAsMHhlMCwweGVjLDB4YzAsMHhlMCwweGVkLDB4YzAsMHhlMCwweGVlLDB4YzAsMHhlMCwweGVmfSwKLSAgMTYsMHg0ODIwLDAsezB4YzAsMHhlMCwweGMyLDB4Y2EsMHhjMiwweGNmLDB4OTAsMHg3ZiwweDk4LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgzMCwweDJlLDB4MDN9LAotICAxNiwweDQ4MzAsMCx7MHgxMiwweDE0LDB4YTYsMHg5MCwweDdmLDB4OTgsMHhlMCwweDU0LDB4ZmUsMHhmMCwweDUzLDB4YTgsMHhmYSwweDEyLDB4MTYsMHg2MX0sCi0gIDE2LDB4NDg0MCwwLHsweGQwLDB4ZTAsMHhmZiwweGQwLDB4ZTAsMHhmZSwweGQwLDB4ZTAsMHhmZCwweGQwLDB4ZTAsMHhmYywweGQwLDB4ZTAsMHhmYiwweGQwfSwKLSAgMTYsMHg0ODUwLDAsezB4ZTAsMHhmYSwweGQwLDB4ZTAsMHhmOSwweGQwLDB4ZTAsMHhmOCwweGQwLDB4ZDAsMHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZjB9LAotICAgMywweDQ4NjAsMCx7MHhkMCwweGUwLDB4MzJ9LAotICAxNiwweDQ4NjMsMCx7MHg5MCwweDdmLDB4ZWMsMHhlMCwweDkwLDB4NzYsMHg4MywweGYwLDB4ZTAsMHgxNCwweDYwLDB4MTcsMHgxNCwweDYwLDB4MjEsMHgxNH0sCi0gIDE2LDB4NDg3MywwLHsweDYwLDB4MmIsMHgxNCwweDYwLDB4MzIsMHgyNCwweDA0LDB4NzAsMHgzOCwweDkwLDB4N2YsMHhlYSwweGUwLDB4OTAsMHg3NiwweDkxfSwKLSAgMTYsMHg0ODgzLDAsezB4ZjAsMHg4MCwweDM1LDB4OTAsMHg3ZiwweGVhLDB4ZTAsMHg5MCwweDc2LDB4OTIsMHhmMCwweDEyLDB4M2UsMHg5ZiwweDgwLDB4Mjh9LAotICAxNiwweDQ4OTMsMCx7MHg5MCwweDdmLDB4ZWEsMHhlMCwweDkwLDB4NzYsMHg5MCwweGYwLDB4MTIsMHgxOCwweDAwLDB4ODAsMHgxYiwweDkwLDB4N2YsMHhlYX0sCi0gIDE2LDB4NDhhMywwLHsweGUwLDB4OTAsMHg3NiwweDg0LDB4ZjAsMHg4MCwweDExLDB4OTAsMHg3ZiwweGVhLDB4ZTAsMHg5MCwweDc2LDB4OTMsMHhmMCwweDgwfSwKLSAgMTAsMHg0OGIzLDAsezB4MDcsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweGQzLDB4MjJ9LAotICAxNiwweDQ4YmQsMCx7MHgzMCwweDJkLDB4MzksMHhjMiwweDJkLDB4OTAsMHg3NiwweDE5LDB4ZTAsMHhmZiwweGI0LDB4MDEsMHgwZCwweGU0LDB4OTAsMHg3Nn0sCi0gIDE2LDB4NDhjZCwwLHsweDdjLDB4ZjAsMHhhMywweDc0LDB4ZjgsMHhmMCwweGEzLDB4NzQsMHgwYSwweGYwLDB4ZWYsMHhiNCwweDAyLDB4MGQsMHhlNCwweDkwfSwKLSAgMTYsMHg0OGRkLDAsezB4NzYsMHg3YywweGYwLDB4YTMsMHg3NCwweGYwLDB4ZjAsMHhhMywweDc0LDB4MGIsMHhmMCwweGVmLDB4YjQsMHgwMywweDBkLDB4ZTR9LAotICAxMywweDQ4ZWQsMCx7MHg5MCwweDc2LDB4N2MsMHhmMCwweGEzLDB4NzQsMHhmOCwweGYwLDB4YTMsMHg3NCwweDE3LDB4ZjAsMHgyMn0sCi0gICA2LDB4NDhmYSwwLHsweDUzLDB4OTEsMHhiZiwweGQyLDB4MmQsMHgzMn0sCi0gIDE2LDB4NDkwMCwwLHsweDAyLDB4MmYsMHhlNywweDAwLDB4MDIsMHgzZCwweDQ3LDB4MDAsMHgwMiwweDRkLDB4YjQsMHgwMCwweDAyLDB4NGMsMHg0MywweDAwfSwKLSAgMTYsMHg0OTEwLDAsezB4MDIsMHg0YiwweGU5LDB4MDAsMHgwMiwweDJmLDB4ZmYsMHgwMCwweDAyLDB4NGMsMHg1YiwweDAwLDB4MDIsMHg0YywweDBhLDB4MDB9LAotICAxNiwweDQ5MjAsMCx7MHgwMiwweDRjLDB4NzIsMHgwMCwweDAyLDB4NGIsMHg1YSwweDAwLDB4MDIsMHg0YywweDg5LDB4MDAsMHgwMiwweDRjLDB4YTAsMHgwMH0sCi0gIDE2LDB4NDkzMCwwLHsweDAyLDB4NGMsMHhiNywweDAwLDB4MDIsMHg0YywweGNlLDB4MDAsMHgwMiwweDRjLDB4ZTUsMHgwMCwweDAyLDB4NGMsMHhmYywweDAwfSwKLSAgMTYsMHg0OTQwLDAsezB4MDIsMHg0ZCwweDEzLDB4MDAsMHgwMiwweDRkLDB4MmEsMHgwMCwweDAyLDB4NGQsMHg0MSwweDAwLDB4MDIsMHg0ZCwweDU4LDB4MDB9LAotICAgOCwweDQ5NTAsMCx7MHgwMiwweDRkLDB4NmYsMHgwMCwweDAyLDB4NGQsMHg4NiwweDAwfSwKLSAgMTYsMHg0OTU4LDAsezB4ZTQsMHg5MCwweDc2LDB4MjYsMHhmMCwweDkwLDB4NzYsMHgyNiwweGUwLDB4ZmYsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0LDB4MzR9LAotICAxNiwweDQ5NjgsMCx7MHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4ZmUsMHg5MCwweDdmLDB4ZWMsMHhlMCwweGZkLDB4ZWUsMHg2ZH0sCi0gIDE2LDB4NDk3OCwwLHsweDYwLDB4MGUsMHhlZiwweGMzLDB4OTQsMHgwNCwweDUwLDB4MDgsMHg5MCwweDc2LDB4MjYsMHhlMCwweDA0LDB4ZjAsMHg4MCwweGQ1fSwKLSAgMTYsMHg0OTg4LDAsezB4ZWYsMHhiNCwweDA0LDB4MDgsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4ZWYsMHg3NSwweGYwLDB4MDN9LAotICAxNiwweDQ5OTgsMCx7MHhhNCwweDI0LDB4MzIsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4OTAsMHg3ZiwweDAwLDB4ZjAsMHg5MH0sCi0gICA2LDB4NDlhOCwwLHsweDdmLDB4YjUsMHg3NCwweDAxLDB4ZjAsMHgyMn0sCi0gIDE2LDB4NDlhZSwwLHsweDkwLDB4NzYsMHg0NiwweDc0LDB4ODAsMHhmMCwweGU0LDB4YTMsMHhmMCwweGEzLDB4ZjAsMHhhMywweGYwLDB4YTMsMHhmMCwweGEzfSwKLSAgMTYsMHg0OWJlLDAsezB4ZjAsMHhhMywweGYwLDB4YTMsMHhmMCwweGEzLDB4ZjAsMHhhMywweDc0LDB4ODAsMHhmMCwweGU0LDB4YTMsMHhmMCwweGEzLDB4ZjB9LAotICAxNiwweDQ5Y2UsMCx7MHhhMywweGYwLDB4YTMsMHhmMCwweGEzLDB4ZjAsMHhhMywweGYwLDB4YTMsMHg3NCwweDQwLDB4ZjAsMHhlNCwweGEzLDB4ZjAsMHhhM30sCi0gIDE2LDB4NDlkZSwwLHsweDc0LDB4NDAsMHhmMCwweGU0LDB4YTMsMHhmMCwweGEzLDB4ZjAsMHhhMywweGYwLDB4YTMsMHhmMCwweGEzLDB4ZjAsMHhhMywweGYwfSwKLSAgMTYsMHg0OWVlLDAsezB4YTMsMHg3NCwweDQwLDB4ZjAsMHhlNCwweGEzLDB4ZjAsMHhhMywweDc0LDB4NDAsMHhmMCwweGU0LDB4YTMsMHhmMCwweGEzLDB4ZjB9LAotICAgNSwweDQ5ZmUsMCx7MHhhMywweGYwLDB4YTMsMHhmMCwweDIyfSwKLSAgMTYsMHg0YTAzLDAsezB4ZTQsMHg5MCwweDc2LDB4MjUsMHhmMCwweDkwLDB4NzYsMHgyNSwweGUwLDB4ZmYsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0LDB4MzR9LAotICAxNiwweDRhMTMsMCx7MHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4ZmUsMHg5MCwweDdmLDB4ZWMsMHhlMCwweGZkLDB4ZWUsMHg2ZH0sCi0gIDE2LDB4NGEyMywwLHsweDYwLDB4MGUsMHhlZiwweGMzLDB4OTQsMHgwNCwweDUwLDB4MDgsMHg5MCwweDc2LDB4MjUsMHhlMCwweDA0LDB4ZjAsMHg4MCwweGQ1fSwKLSAgMTYsMHg0YTMzLDAsezB4ZWYsMHhiNCwweDA0LDB4MDgsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3ZSwweGMwLDB4ZTB9LAotICAxNiwweDRhNDMsMCx7MHhmZSwweGVmLDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNCwweDMyLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlZX0sCi0gICAyLDB4NGE1MywwLHsweGYwLDB4MjJ9LAotICAxNiwweDRhNTUsMCx7MHhlNCwweGZlLDB4NzUsMHgxZCwweGZmLDB4NzUsMHgxZSwweDA1LDB4NzUsMHgxZiwweDEyLDB4YWIsMHgxZCwweGFhLDB4MWUsMHhhOX0sCi0gIDE2LDB4NGE2NSwwLHsweDFmLDB4OTAsMHgwMCwweDAxLDB4MTIsMHgzNiwweGFiLDB4NjQsMHgwMiwweDcwLDB4MmYsMHhjZCwweGVlLDB4Y2QsMHgwZSwweGVkfSwKLSAgMTYsMHg0YTc1LDAsezB4NmYsMHg3MCwweDAxLDB4MjIsMHg5MCwweDAwLDB4MDIsMHgxMiwweDM3LDB4MGUsMHg4NSwweGYwLDB4MWIsMHhmNSwweDFjLDB4NjJ9LAotICAxNiwweDRhODUsMCx7MHgxYiwweGU1LDB4MWIsMHg2MiwweDFjLDB4ZTUsMHgxYywweDYyLDB4MWIsMHgyOSwweGZkLDB4ZTUsMHgxYiwweDNhLDB4YzksMHhlZH0sCi0gIDE2LDB4NGE5NSwwLHsweGM5LDB4NzUsMHgxZCwweGZmLDB4ZjUsMHgxZSwweDg5LDB4MWYsMHg4MCwweGMxLDB4N2IsMHgwMCwweDdhLDB4MDAsMHg3OSwweDAwfSwKLSAgIDEsMHg0YWE1LDAsezB4MjJ9LAotICAxNiwweDRhYTYsMCx7MHhlNCwweDkwLDB4NzYsMHg5YiwweGYwLDB4OTAsMHg3NiwweDliLDB4ZTAsMHhmZiwweDA0LDB4ZjAsMHhlZiwweDYwLDB4MDgsMHhlMH0sCi0gIDE2LDB4NGFiNiwwLHsweDI0LDB4MDgsMHhmOCwweGU0LDB4ZjYsMHg4MCwweGVlLDB4OTAsMHg3NiwweDk2LDB4ZTAsMHg0NCwweDA0LDB4ZjAsMHg0NCwweDA4fSwKLSAgMTYsMHg0YWM2LDAsezB4ZjAsMHg5MCwweDgwLDB4MDMsMHhmMCwweGU0LDB4ZjUsMHgxOCwweGQyLDB4MzUsMHhmNSwweDBlLDB4ZjUsMHgxMCwweGQyLDB4MzZ9LAotICAxNiwweDRhZDYsMCx7MHg3NSwweDEyLDB4MTEsMHg3NSwweDEzLDB4MjIsMHhjMiwweDM3LDB4YzIsMHgzOSwweGMyLDB4MzgsMHhmNSwweDE2LDB4ZjUsMHgxNH0sCi0gIDExLDB4NGFlNiwwLHsweGY1LDB4MWEsMHhmNSwweDBkLDB4YzIsMHgzYiwweGMyLDB4M2MsMHhjMiwweDNkLDB4MjJ9LAotICAxNiwweDRhZjEsMCx7MHhlNCwweGZmLDB4NzQsMHg1NiwweDJmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NiwweGY1LDB4ODMsMHhlMCwweGZlLDB4NzQsMHgyOH0sCi0gIDE2LDB4NGIwMSwwLHsweDJmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg4MCwweGY1LDB4ODMsMHhlZSwweGYwLDB4NzQsMHg1ZSwweDJmLDB4ZjUsMHg4MiwweGU0fSwKLSAgMTYsMHg0YjExLDAsezB4MzQsMHg3NiwweGY1LDB4ODMsMHhlMCwweGZlLDB4NzQsMHgzOCwweDJmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg4MCwweGY1LDB4ODN9LAotICAgNiwweDRiMjEsMCx7MHhlZSwweGYwLDB4MGYsMHhiZiwweDA4LDB4Y2N9LAotICAgMSwweDRiMjcsMCx7MHgyMn0sCi0gIDE2LDB4NGIyOCwwLHsweGU0LDB4OTAsMHg3MiwweDM2LDB4ZjAsMHhhMywweGYwLDB4OTAsMHg3ZiwweDk3LDB4ZTAsMHg1NCwweGZiLDB4ZjAsMHhlNCwweDkwfSwKLSAgMTYsMHg0YjM4LDAsezB4NzIsMHgzMywweGYwLDB4OTAsMHg3MiwweDMyLDB4ZjAsMHg5MCwweDcyLDB4MDEsMHgwNCwweGYwLDB4ZTQsMHg5MCwweDcyLDB4MzN9LAotICAxNiwweDRiNDgsMCx7MHhmMCwweDkwLDB4NzIsMHgzMiwweGYwLDB4OTAsMHg3MiwweDAxLDB4MDQsMHhmMCwweDkwLDB4N2YsMHg5NywweGUwLDB4NDQsMHgwNH0sCi0gICAyLDB4NGI1OCwwLHsweGYwLDB4MjJ9LAotICAxNiwweDRiNWEsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YWEsMHhlMCwweDQ0LDB4MDIsMHhmMH0sCi0gIDE2LDB4NGI2YSwwLHsweDkwLDB4N2YsMHhjNywweGUwLDB4ZjUsMHgxMSwweDc1LDB4MGYsMHgwMCwweDc1LDB4MGQsMHgwMCwweGQyLDB4MzMsMHhkMCwweDgyfSwKLSAgIDUsMHg0YjdhLDAsezB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn0sCi0gIDE2LDB4NGI3ZiwwLHsweDkwLDB4N2YsMHhkNiwweGUwLDB4NTQsMHhmYiwweGYwLDB4ZTAsMHg0NCwweDA4LDB4ZjAsMHgzMCwweDQyLDB4MDQsMHhlMCwweDQ0fSwKLSAgMTYsMHg0YjhmLDAsezB4MDIsMHhmMCwweDdmLDB4ZGMsMHg3ZSwweDA1LDB4MTIsMHg0ZCwweDlkLDB4OTAsMHg3ZiwweGQ2LDB4ZTAsMHg1NCwweGY3LDB4ZjB9LAotICAgNSwweDRiOWYsMCx7MHhlMCwweDQ0LDB4MDQsMHhmMCwweDIyfSwKLSAgMTYsMHg0YmE0LDAsezB4OTAsMHg3ZiwweGViLDB4ZTAsMHgxNCwweDcwLDB4MTQsMHg5MCwweDdmLDB4ZTksMHhlMCwweDI0LDB4N2YsMHg3MCwweDA0LDB4MTJ9LAotICAxNiwweDRiYjQsMCx7MHg0OSwweDU4LDB4MjIsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NH0sCi0gICAzLDB4NGJjNCwwLHsweDAxLDB4ZjAsMHgyMn0sCi0gIDE2LDB4NGJjNywwLHsweDkwLDB4N2YsMHhlYiwweGUwLDB4MTQsMHg3MCwweDEzLDB4OTAsMHg3ZiwweGU5LDB4ZTAsMHgxNCwweDcwLDB4MDQsMHgxMiwweDRhfSwKLSAgMTYsMHg0YmQ3LDAsezB4MDMsMHgyMiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDF9LAotICAgMiwweDRiZTcsMCx7MHhmMCwweDIyfSwKLSAgMTYsMHg0YmU5LDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGFiLDB4NzQsMHgxMCwweGYwLDB4OTB9LAotICAxNiwweDRiZjksMCx7MHg3NiwweDk2LDB4ZTAsMHg1NCwweGZkLDB4ZjAsMHg5MCwweDgwLDB4MDMsMHhmMCwweGQwLDB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMH0sCi0gICAxLDB4NGMwOSwwLHsweDMyfSwKLSAgMTYsMHg0YzBhLDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGFhLDB4ZTAsMHg0NCwweDAxLDB4ZjB9LAotICAxNSwweDRjMWEsMCx7MHhjMiwweDI5LDB4OTAsMHg3NiwweDhkLDB4NzQsMHgwMSwweGYwLDB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9LAotICAxNiwweDRjMjksMCx7MHg5MCwweDdmLDB4ZDYsMHhlMCwweDMwLDB4ZTcsMHgxMiwweGUwLDB4NDQsMHgwMSwweGYwLDB4N2YsMHgxNCwweDdlLDB4MDAsMHgxMn0sCi0gIDEwLDB4NGMzOSwwLHsweDRkLDB4OWQsMHg5MCwweDdmLDB4ZDYsMHhlMCwweDU0LDB4ZmUsMHhmMCwweDIyfSwKLSAgMTYsMHg0YzQzLDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4ZDIsMHgyNSwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhYiwweDc0LDB4MDh9LAotICAgOCwweDRjNTMsMCx7MHhmMCwweGQwLDB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfSwKLSAgMTYsMHg0YzViLDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGE5LDB4ZTAsMHg0NCwweDAxLDB4ZjB9LAotICAgNywweDRjNmIsMCx7MHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn0sCi0gIDE2LDB4NGM3MiwwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhOSwweGUwLDB4NDQsMHgwMiwweGYwfSwKLSAgIDcsMHg0YzgyLDAsezB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9LAotICAxNiwweDRjODksMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YTksMHhlMCwweDQ0LDB4MDQsMHhmMH0sCi0gICA3LDB4NGM5OSwwLHsweGQwLDB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfSwKLSAgMTYsMHg0Y2EwLDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGFhLDB4ZTAsMHg0NCwweDA0LDB4ZjB9LAotICAgNywweDRjYjAsMCx7MHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn0sCi0gIDE2LDB4NGNiNywwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhOSwweGUwLDB4NDQsMHgwOCwweGYwfSwKLSAgIDcsMHg0Y2M3LDAsezB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9LAotICAxNiwweDRjY2UsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YWEsMHhlMCwweDQ0LDB4MDgsMHhmMH0sCi0gICA3LDB4NGNkZSwwLHsweGQwLDB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfSwKLSAgMTYsMHg0Y2U1LDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGE5LDB4ZTAsMHg0NCwweDEwLDB4ZjB9LAotICAgNywweDRjZjUsMCx7MHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn0sCi0gIDE2LDB4NGNmYywwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhYSwweGUwLDB4NDQsMHgxMCwweGYwfSwKLSAgIDcsMHg0ZDBjLDAsezB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9LAotICAxNiwweDRkMTMsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YTksMHhlMCwweDQ0LDB4MjAsMHhmMH0sCi0gICA3LDB4NGQyMywwLHsweGQwLDB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfSwKLSAgMTYsMHg0ZDJhLDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGFhLDB4ZTAsMHg0NCwweDIwLDB4ZjB9LAotICAgNywweDRkM2EsMCx7MHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn0sCi0gIDE2LDB4NGQ0MSwwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhOSwweGUwLDB4NDQsMHg0MCwweGYwfSwKLSAgIDcsMHg0ZDUxLDAsezB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9LAotICAxNiwweDRkNTgsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YWEsMHhlMCwweDQ0LDB4NDAsMHhmMH0sCi0gICA3LDB4NGQ2OCwwLHsweGQwLDB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfSwKLSAgMTYsMHg0ZDZmLDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGE5LDB4ZTAsMHg0NCwweDgwLDB4ZjB9LAotICAgNywweDRkN2YsMCx7MHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn0sCi0gIDE2LDB4NGQ4NiwwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhYSwweGUwLDB4NDQsMHg4MCwweGYwfSwKLSAgIDcsMHg0ZDk2LDAsezB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9LAotICAxNiwweDRkOWQsMCx7MHg4ZSwweDM1LDB4OGYsMHgzNiwweGU1LDB4MzYsMHgxNSwweDM2LDB4YWUsMHgzNSwweDcwLDB4MDIsMHgxNSwweDM1LDB4NGUsMHg2MH0sCi0gICA3LDB4NGRhZCwwLHsweDA1LDB4MTIsMHgxNCwweDg1LDB4ODAsMHhlZSwweDIyfSwKLSAgMTYsMHg0ZGI0LDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGFiLDB4NzQsMHgwNCwweGYwLDB4ZDB9LAotICAgNiwweDRkYzQsMCx7MHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9LAotICAxNiwweDRkY2EsMCx7MHg5MCwweDc2LDB4ODIsMHhlMCwweDkwLDB4N2YsMHgwMCwweGYwLDB4OTAsMHg3ZiwweGI1LDB4NzQsMHgwMSwweGYwLDB4ZDMsMHgyMn0sCi0gIDEyLDB4NGRkYSwwLHsweGMyLDB4MzcsMHhlNCwweGY1LDB4MGUsMHhmNSwweDEwLDB4YzIsMHgzNiwweGY1LDB4MTQsMHgyMn0sCi0gICA5LDB4NGRlNiwwLHsweGMyLDB4MjUsMHg1MywweGQ4LDB4ZWYsMHg0MywweGQ4LDB4MjAsMHgzMn0sCi0gICA3LDB4NGRlZiwwLHsweDUzLDB4OTgsMHhmZSwweDUzLDB4OTgsMHhmZCwweDMyfSwKLSAgIDcsMHg0ZGY2LDAsezB4NTMsMHhjMCwweGZlLDB4NTMsMHhjMCwweGZkLDB4MzJ9LAotICAgNiwweDRkZmQsMCx7MHg1MywweDkxLDB4N2YsMHhkMiwweDJjLDB4MzJ9LAotICAgNCwweDRlMDMsMCx7MHg1MywweDkxLDB4ZGYsMHgzMn0sCi0gICA0LDB4NGUwNywwLHsweDUzLDB4ZDgsMHhmNywweDMyfSwKLSAgIDQsMHg0ZTBiLDAsezB4MTIsMHgxNywweDMwLDB4MjJ9LAotICAgMywweDRlMGYsMCx7MHhjMiwweDhkLDB4MzJ9LAotICAgMywweDRlMTIsMCx7MHhjMiwweDhmLDB4MzJ9LAotICAgMiwweDRlMTUsMCx7MHhkMywweDIyfSwKLSAgIDIsMHg0ZTE3LDAsezB4ZDMsMHgyMn0sCi0gICAyLDB4NGUxOSwwLHsweGQzLDB4MjJ9LAotICAgMiwweDRlMWIsMCx7MHhkMywweDIyfSwKLSAgIDIsMHg0ZTFkLDAsezB4ZDMsMHgyMn0sCi0gICAyLDB4NGUxZiwwLHsweGQzLDB4MjJ9LAotICAgMiwweDRlMjEsMCx7MHhjMywweDIyfSwKLSAgIDAsMHgwMDAwLDEsezB9Ci19OwotLyogU291cmNlOiBFTUk2Mk1GVy5IRVggCi06MTAwQzhGMDA0MTc2NjgwMTQxNzY2QTAyNDE3NjZCMEFDMTIwQzEyMTIzCi06MTA0NEFEMDBDMkFGRDIyNDkwN0Y5Mzc0MzBGMDkwN0Y5Qzc0QkJGMDk4Ci06MTA0NEJEMDA5MDdGOTZFMDQ0MzBGMEUwNTQzMEYwOTA3Rjk0NzQzMDZCCi06MTA0NENEMDBGMDkwN0Y5RDc0Q0ZGMDkwN0Y5Nzc0QTBGMDkwN0Y5NUMyCi06MTA0NEREMDA3NEMwRjA5MDdGOUU3NDAzRjA5MDdGOTlFMDMwRTIwOUY0Ci06MTA0NEVEMDA5MDA1MTk3NEEwRjBFNEEzRjBDMjI1QzIyMkMyMjNDMjI0Ci06MTA0NEZEMDAyNjEyNEIyODEyMkRBOTEyM0JEMzEyNDYxOTEyM0E0MkZECi06MTA0NTBEMDA5MDc2Njg3NDAxRjA3MDBGMTI0QzI5MTI0RTE1MTI0RUYwCi06MTA0NTFEMDAxNzEyMUI0MDEyMTQ5NjEyNDMxNDkwN0ZBRkUwNDQwMTAyCi06MTA0NTJEMDBGMDkwN0ZBRUUwNDQxRkYwOTA3RkFDNzRGRkYwOTA3RjcxCi06MTA0NTNEMDBBREYwOTA3RkRFRjA5MDdGREZGMDkwN0ZBQkYwOTA3RjVECi06MTA0NTREMDBBOUYwOTA3RkFBRjA1MzkxRUY0M0Q4MjBEMkU4NDNEODM5Ci06MDg0NTVEMDAyMDUzQThBMDQzQTg4MDIyMEUKLToxMDA3QTYwMEU0OTA3NjY2RjAxMjQ0QUQyMDI2MTM5MDc2NjZFMEMzOTgKLToxMDA3QjYwMDk0MDI1MDBBRTAwNEYwRDI0MjEyNEI3RjgwRUEzMDI2QkYKLToxMDA3QzYwMDA1MTIyODAxQzIyNjMwMjUyQjkwNzY5NkUwNTRGQ0YwQkYKLToxMDA3RDYwMDkwODAwM0YwMTIxNDk2OTA3Njk2RTA0NDAzRjA5MDgwOTEKLToxMDA3RTYwMDAzRjBFNDkwNzY2N0YwOTA3NjY3RTAwNEYwRTBCNDRCQUYKLTowQTA3RjYwMEY2MTI0N0ZBMTI0MTFCODBDNTIyREIKLToxMDI4MDEwMEMyMjBDMjIxQzIyQTkwN0ZFOEUwMTIzN0Y5MjgzMDAwQTUKLToxMDI4MTEwMDI4OEMwMTI4QTIwMjJBMUYyMTJBNkEyMjI5M0Q4MDI5MDcKLToxMDI4MjEwMDdEODEyOUQxODIyQTg0QTEyQUJBQTIwMDAwMkFCRjkwREYKLToxMDI4MzEwMDdGRTlFMDE0NjAxMTI0RkU2MDI4MjRGRTYwM0IyNEZDNDMKLToxMDI4NDEwMDcwNDAxMjNGRTU0MUNCMTI0RTFENDAwMjQxQ0I5MDdGQkIKLToxMDI4NTEwMEVBRTBCNDAxMDRDMjIyNDFDQjkwN0ZCNEUwNDQwMUYwMkMKLToxMDI4NjEwMDQxQ0IxMjRFMUY5MDdGRUFFMEI0MDEwNEQyMjI0MUNCNEEKLToxMDI4NzEwMDkwN0ZCNEUwNDQwMUYwNDFDQjkwN0ZCNEUwNDQwMUYwOUIKLToxMDI4ODEwMDQxQ0I5MDdGQjRFMDQ0MDFGMDQxQ0I5MDdGRTlFMDI0NUIKLToxMDI4OTEwMEY1NzAwNTEyNDg2MzQxQ0I5MDdGQjRFMDQ0MDFGMDQxRUIKLToxMDI4QTEwMENCOTA3RkU5RTAyNEZENjA1NDI0MDI2MDAyMjEzNDEyQzAKLToxMDI4QjEwMDRFMUQ0MDAyNDFDQjkwN0ZFQUUwNzAzODkwN0ZFQ0UwMDIKLToxMDI4QzEwMEY0NTQ4MEZGQzQ1NDBGRkZFMDU0MDcyRjI1RTAyNEI0RDMKLToxMDI4RDEwMEY1ODJFNDM0N0ZGNTgzRTRGMDkwN0ZFQ0UwNTQ4MEZGRUYKLToxMDI4RTEwMDEzMTMxMzU0MUZGRkUwNTQwNzJGOTA3RkQ3RjBFMDQ0RDgKLToxMDI4RjEwMDIwRjA0MUNCOTA3RkI0RTA0NDAxRjA0MUNCMTI0RTFGNTgKLToxMDI5MDEwMDQwMDI0MUNCOTA3RkVBRTA3MDIwOTA3RkVDRTBGNDU0RUMKLToxMDI5MTEwMDgwRkZDNDU0MEZGRkUwNTQwNzJGMjVFMDI0QjRGNTgyNTMKLToxMDI5MjEwMEU0MzQ3RkY1ODM3NDAxRjA0MUNCOTA3RkI0RTA0NDAxM0UKLToxMDI5MzEwMEYwNDFDQjkwN0ZCNEUwNDQwMUYwNDFDQjkwN0ZFOUUwREUKLToxMDI5NDEwMDYwMTIyNEY4NjAwOTI0MDI3MDI5MTI0M0U3NDFDQjEyNzYKLToxMDI5NTEwMDREQ0E0MUNCMTI0RTFCQTIyMkU0MzNGRjI1RTBGRkEyNTgKLToxMDI5NjEwMDIzRTQzMzRGOTA3RjAwRjBFNEEzRjA5MDdGQjU3NDAyMkQKLToxMDI5NzEwMEYwNDFDQjkwN0ZCNEUwNDQwMUYwNDFDQjkwN0ZFOUUwOUUKLToxMDI5ODEwMDYwMzMyNEY2NjAyQTI0MDQ3MDNEOTA3RkVCRTAyNERFNUUKLToxMDI5OTEwMDYwMEMwNDcwMTI5MDdGQjRFMDQ0MDFGMDQxQ0I5MDdGNTEKLToxMDI5QTEwMEI0RTA0NDAxRjA0MUNCOTA3RkI0RTA0NDAxRjA0MUNCNkQKLToxMDI5QjEwMDEyNDc0NTQxQ0IxMjRFMUJFNDkwN0YwMEYwQTNGMDkwRUIKLToxMDI5QzEwMDdGQjU3NDAyRjA0MUNCOTA3RkI0RTA0NDAxRjA0MUNCN0MKLToxMDI5RDEwMDkwN0ZFOUUwMjRGNDYwMzQyNDBDNzAzOTEyNEUxQjkwOEUKLToxMDI5RTEwMDdGRUNFMEY0NTQ4MEZGQzQ1NDBGRkZFMDU0MDcyRjI1MUYKLToxMDI5RjEwMEUwMjRCNEY1ODJFNDM0N0ZGNTgzRTA1NEZEOTA3RjAwNTgKLToxMDJBMDEwMEYwRTRBM0YwOTA3RkI1NzQwMkYwNDFDQjkwN0ZCNEUwODUKLToxMDJBMTEwMDQ0MDFGMDQxQ0I5MDdGQjRFMDQ0MDFGMDQxQ0I5MDdGODEKLToxMDJBMjEwMEU5RTAyNEY2NjAxMjE0NjAxQTI0MDI3MDFERDIyMDkwOEQKLToxMDJBMzEwMDdGQjRFMDQ0MDFGMDgwMTJEMjIwOTA3RkI0RTA0NDAxRTEKLToxMDJBNDEwMEYwODAwNzkwN0ZCNEUwNDQwMUYwMjAyMDE4OTA3RkVFRTEKLToxMDJBNTEwMEUwNzAwNEEzRTA2MDBCRDIyOUQyMjcxMjE3NEFEMjJBRDAKLToxMDJBNjEwMDgwMDMxMjA4MDBDMjIwODA2MTkwN0ZFRUUwNzAwNEEzMTEKLToxMDJBNzEwMEUwNjAwQkQyMjlEMjI4MTIxNzRBRDIyQTgwNEMxMjM4OTAKLToxMDJBODEwMDc0ODA0NzkwN0ZFOUUwMjRGRTYwMTIxNDYwMUEyNDAyRUEKLToxMDJBOTEwMDcwMUREMjIxOTA3RkI0RTA0NDAxRjA4MDEyRDIyMTkwQzgKLToxMDJBQTEwMDdGQjRFMDQ0MDFGMDgwMDc5MDdGQjRFMDQ0MDFGMDIwNUUKLToxMDJBQjEwMDIxMDMxMjEwMDBDMjIxODAxMTEyMkFENjgwMEMxMjRFNUQKLToxMDJBQzEwMDIxNTAwNzkwN0ZCNEUwNDQwMUYwMjAyQTA3OTA3RkI0QTEKLTowNTJBRDEwMEUwNDQwMkYwMjJDOAotOjEwNDNFNzAwMTI0RTE5NDAwMjgxQUM5MDdGRUJFMDI0RkU2MDFFMTQ1MAotOjEwNDNGNzAwNjA0NjE0NjA2RTE0NzAwMjgxOUQyNDA0NjAwMjgxQTVEQQotOjEwNDQwNzAwNzQwNTkwN0ZENEYwNzQwMDkwN0ZENUYwMjI5MDdGRUFGNgotOjEwNDQxNzAwRTBGRjEyNEE1NThCMjA4QTIxODkyMkVBNDk2MDExQ0U5MgotOjEwNDQyNzAwRUFDRUVFOTA3RkQ0RjBDRkU5Q0ZFRjkwN0ZENUYwMjJBMAotOjEwNDQzNzAwOTA3RkI0RTA0NDAxRjAyMjkwN0ZFQUUwRkYxMjQ3Qjc5MwotOjEwNDQ0NzAwOEIyMDhBMjE4OTIyRUE0OTYwMTFDRUVBQ0VFRTkwN0YzRAotOjEwNDQ1NzAwRDRGMENGRTlDRkVGOTA3RkQ1RjAyMjkwN0ZCNEUwNDQzRQotOjEwNDQ2NzAwMDFGMDIyOTA3RkVBRTBGRjkwN0VDMEUwRkRBM0UwRkIzMQotOjEwNDQ3NzAwMTIxNzk0OEIyMDhBMjE4OTIyRUE0OTYwMTFDRUVBQ0U0RAotOjEwNDQ4NzAwRUU5MDdGRDRGMENGRTlDRkVGOTA3RkQ1RjAyMjkwN0ZFOQotOjEwNDQ5NzAwQjRFMDQ0MDFGMDIyOTA3RkI0RTA0NDAxRjAyMjkwN0YyMQotOjA1NDRBNzAwQjRFMDQ0MDFGMDQ3Ci06MDE0NEFDMDAyMkVECi06MDMwMDMzMDAwMjRERTY5NQotOjA5NERFNjAwQzIyNTUzRDhFRjQzRDgyMDMyNTYKLTowMjBDOUYwMEMxMkY2MwotOjA2NDdGQTAwMTI0QjI4QzIzMTIyMUYKLToxMDQzMTQwMEU0OTA3Njk2RjA5MDgwMDNGMDkwN0ZFMDc0OTBGMDkwQjMKLToxMDQzMjQwMDdGRTE3NDA0RjBFNDkwN0ZEREYwOTA3RkExRjA1MzhFODAKLToxMDQzMzQwMEY4NzU4ODA1NzVCODIwNzVGODAxNDM4RTMwRjVDODc1OTEKLToxMDQzNDQwMENBN0Y3NUNCRjg0M0E4MjAxMjQ1NjVDMjJDQzIyREMyODIKLToxMDQzNTQwMDJCQzIyRjkwN0ZGQzc0RERGMDkwN0ZGRjc0RkZGMDkwRjAKLToxMDQzNjQwMDdGOTdFMDQ0MDFGMDkwNzYxOTc0MDFGMEU0OTA3Njg1MkIKLToxMDQzNzQwMEYwQTNGMDkwNzY4MUYwOTA3NjgwRjAxMjQ5QUUxMjBGOUYKLToxMDQzODQwMEM2MTI0QUYxOTA3Rjk3RTA0NDA4RjBFMDU0QjlGMEQyQTUKLToxMDQzOTQwMDMwMjAzMDE4MTI0QUE2MTIzMDAwMTI0MDAwMTI0MjFGNzgKLToxMDQzQTQwMDEyNDhCRDEyMUIwNDEyMTY2MTEyNDIxRjEyNEFBNkMyMDEKLToxMDQzQjQwMDJGQzIzMUMyMzJDMjM0QzIzM0MyMjlDMjI3QzIyOEU0NTYKLToxMDQzQzQwMEY1MTE5MDc2ODlGMDkwNzYzRkYwOTA3NjQxRjA5MDc2RjIKLToxMDQzRDQwMDQwRjA5MDc2OEFGMEEzRjBBMzA0RjBFNEEzRjA5MDc2ODIKLTowMzQzRTQwMDk5RjAyMjJCCi06MTA0OEJEMDAzMDJEMzlDMjJEOTA3NjE5RTBGRkI0MDEwREU0OTA3NkJDCi06MTA0OENEMDA3Q0YwQTM3NEY4RjBBMzc0MEFGMEVGQjQwMjBERTQ5MDM5Ci06MTA0OEREMDA3NjdDRjBBMzc0RjBGMEEzNzQwQkYwRUZCNDAzMERFNDQ5Ci06MEQ0OEVEMDA5MDc2N0NGMEEzNzRGOEYwQTM3NDE3RjAyMjBECi06MTAxQjA0MDAzMDJDMzhDMjJDOTA3NjE5RTBGRkI0MDEwRTkwNzY3QzBDCi06MTAxQjE0MDA3NEMwRjBBMzc0MTRGMEEzNzQwQkYwRUZCNDAyMERFNERBCi06MTAxQjI0MDA5MDc2N0NGMEEzNzQxMEYwQTM3NDBDRjBFRkI0MDMwQjY0Ci06MEMxQjM0MDBFNDkwNzY3Q0YwQTM3NDE4RjBBM0YwMjI3QgotOjEwNDExQjAwOTA3NjhERTA2NDAxNzAyNzMwMjcwOEMyMjcxMjA4MDBDMwotOjEwNDEyQjAwMTIxNzRBMzAyODA4QzIyODEyMzg3NDEyMTc0QTMwMkEzQwotOjEwNDEzQjAwMEVFNDkwNzY4REYwQzIyQTkwN0ZCNEUwNDQwMkYwOTBBQQotOjEwNDE0QjAwNzYzRkUwQjQwMTA1RTRGMDEyMzI2RjkwNzY0MUUwQjRCMwotOjEwNDE1QjAwMDEwNUU0RjAxMjM0OUE5MDc2NDBFMEI0MDEwMzEyMzQ3NgotOjEwNDE2QjAwOUExMjMwMDAzMDMzMDMxMjQwMDA5MDdGOUJFMDIwRTQyMgotOjEwNDE3QjAwMDJDMjNGOTA3RjlCRTAzMEU0MDJEMjNGOTA3RjlCRTBGNgotOjEwNDE4QjAwMjBFNTAyQzIzRTkwN0Y5QkUwMzBFNTAyRDIzRUEyNDE4OQotOjEwNDE5QjAwMzAzRjAxQjM1MDFGQTIzRjkyNDEzMDNGMDk5MDc2OTdCOQotOjEwNDFBQjAwRTA1NEZFRjA4MDA3OTA3Njk3RTA0NDAxRjA5MDc2OTcwQwotOjEwNDFCQjAwRTA5MDgwMDJGMDMwM0YzNDkwNzYxOUUwRkZCNDAxMEVBRQotOjEwNDFDQjAwOTA3NjdDNzQ2N0YwQTM3NDA2RjBBMzc0MEJGMEVGQjRENQotOjEwNDFEQjAwMDIwQkU0OTA3NjdDRjBBM0YwQTM3NDBDRjBFRkI0MDMyNQotOjEwNDFFQjAwMEJFNDkwNzY3Q0YwQTNGMEEzNzQxOEYwQTI0MDMwM0U2MQotOjEwNDFGQjAwMDFCMzUwMUZBMjNFOTI0MDMwM0UwOTkwNzY5NUUwNDRBOQotOjEwNDIwQjAwMDRGMDgwMDc5MDc2OTVFMDU0RkJGMDkwNzY5NUUwOTA2MwotOjA0NDIxQjAwODAwMUYwMjIwQwotOjAyNEUxNTAwRDMyMkE2Ci06MDI0RTE3MDBEMzIyQTQKLTowMjRFMTkwMEQzMjJBMgotOjEwM0ZFNTAwOTA3RkVBRTA5MDc2ODJGMEU0OTA3NjkxRjA5MDc2OTI3OAotOjBCM0ZGNTAwRjA5MDc2OTBGMDkwNzY5M0YwRDMyMkNECi06MTA0RENBMDA5MDc2ODJFMDkwN0YwMEYwOTA3RkI1NzQwMUYwRDMyMjU0Ci06MTA0ODYzMDA5MDdGRUNFMDkwNzY4M0YwRTAxNDYwMTcxNDYwMjExNERECi06MTA0ODczMDA2MDJCMTQ2MDMyMjQwNDcwMzg5MDdGRUFFMDkwNzY5MUM0Ci06MTA0ODgzMDBGMDgwMzU5MDdGRUFFMDkwNzY5MkYwMTIzRTlGODAyODg4Ci06MTA0ODkzMDA5MDdGRUFFMDkwNzY5MEYwMTIxODAwODAxQjkwN0ZFQUY4Ci06MTA0OEEzMDBFMDkwNzY4NEYwODAxMTkwN0ZFQUUwOTA3NjkzRjA4MDM4Ci06MEE0OEIzMDAwNzkwN0ZCNEUwNDQwMUYwRDMyMjI3Ci06MTA0NzQ1MDA5MDdGRUNFMDkwNzY4M0YwRTAxNDYwMUQxNDYwMkExNEVECi06MTA0NzU1MDA2MDM3MTQ2MDQ0MjQwNDcwNTA5MDc2OTFFMDkwN0YwMDk3Ci06MTA0NzY1MDBGMDkwN0ZCNTc0MDFGMDgwNDc5MDc2OTJFMDkwN0YwMERECi06MTA0Nzc1MDBGMDkwN0ZCNTc0MDFGMDgwMzc5MDc2OTBFMDkwN0YwMERGCi06MTA0Nzg1MDBGMDkwN0ZCNTc0MDFGMDgwMjc5MDc2ODRFMDkwN0YwMEVCCi06MTA0Nzk1MDBGMDkwN0ZCNTc0MDFGMDgwMTc5MDc2OTNFMDkwN0YwMERDCi06MTA0N0E1MDBGMDkwN0ZCNTc0MDFGMDgwMDc5MDdGQjRFMDQ0MDFGMDhDCi06MDI0N0I1MDBEMzIyMEQKLTowMjRFMUIwMEQzMjJBMAotOjAyNEUxRDAwRDMyMjlFCi06MDI0RTFGMDBEMzIyOUMKLTowMjRFMjEwMEMzMjJBQQotOjEwMkZFNzAwQzBFMEMwODNDMDgyRDIyNjUzOTFFRjkwN0ZBQjc0MDFCQgotOjA4MkZGNzAwRjBEMDgyRDA4M0QwRTAzMjVCCi06MTA0REI0MDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQUI3NDA0RjBEMDA1Ci06MDY0REM0MDA4MkQwODNEMEUwMzIzMgotOjEwM0Q0NzAwQzBFMEMwRjBDMDgzQzA4MkMwRDBFOEMwRTBFOUMwRTBGNgotOjEwM0Q1NzAwRUFDMEUwRUJDMEUwRUNDMEUwRURDMEUwRUVDMEUwRUZCMQotOjEwM0Q2NzAwQzBFMDkwN0ZBMkUwOTA3NjdGRjA5MDdGNzRFMDkwNzYzRAotOjEwM0Q3NzAwODdGMDkwN0Y3NUUwOTA3Njg4RjA5MDdGOThFMDQ0MDIxNgotOjEwM0Q4NzAwRjA5MDc2OTZFMEZGMjBFMTBDNDQwMkYwOTA4MDAzRjA3QgotOjEwM0Q5NzAwRDIzMjEyNEIyODkwNzY3RkUwMjBFMjUwOTA3Njg3RTA2RgotOjEwM0RBNzAwRkVBM0UwN0MwMDI0MDBGNTM0RUMzRUY1MzM5MDc2OThEMgotOjEwM0RCNzAwRTBGREFFMzNBRjM0MTIzNkQ4OTA3Njg3RUZGMEQyMkZDRQotOjEwM0RDNzAwMzAzMTI5MjAzRjI2QzIzMTkwN0Y5NEUwNTRDRkYwOTBDNAotOjEwM0RENzAwN0Y5QUUwMzBFNDA0RDIyREMyMkM5MDdGOUFFMDIwRTU1MAotOjEwM0RFNzAwMDRDMjJERDIyQzkwN0Y5NEUwNDQzMEYwMTI0OEJEMTJDQgotOjEwM0RGNzAwMUIwNDMwMkYxMjEyNDIxRkMyMkY3NUU4MDExMjE2OEFCOAotOjEwM0UwNzAwNzVFODBERDIyQjgwMDU3NUU4MDFDMjJCMjAyQjM0OTA2NQotOjEwM0UxNzAwNzYxOUUwRkZCNDAxMEU5MDc2N0M3NDY3RjBBMzc0MDYwMAotOjEwM0UyNzAwRjBBMzc0MEJGMEVGQjQwMjBCOTA3NjdDRTRGMEEzRjBGMAotOjEwM0UzNzAwQTM3NDBDRjBFRkI0MDMwQjkwNzY3Q0U0RjBBM0YwQTMyQgotOjEwM0U0NzAwNzQxOEYwNzVDQUQzNzVDQkZFRDJDQTMwMzQwNEMyMzRBNQotOjEwM0U1NzAwODAwMkQyMzQzMDM0MEQ5MDc2ODlFMEMzOTQwMzQwMDQ1NQotOjEwM0U2NzAwRTAyNEZERjA1MzkxRUY5MDdGQUI3NDAyRjBGMDkwN0Y2OAotOjEwM0U3NzAwOThFMDU0RkRGMEQwRTBGRkQwRTBGRUQwRTBGREQwRTBDOAotOjEwM0U4NzAwRkNEMEUwRkJEMEUwRkFEMEUwRjlEMEUwRjhEMEQwRDAxOQotOjA4M0U5NzAwODJEMDgzRDBGMEQwRTAzMkFDCi06MTA0QkU5MDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQUI3NDEwRjA5MDA2Ci06MTA0QkY5MDA3Njk2RTA1NEZERjA5MDgwMDNGMEQwODJEMDgzRDBFMDI3Ci06MDE0QzA5MDAzMjc4Ci06MDEyRkZGMDAzMjlGCi06MTA0QzQzMDBDMEUwQzA4M0MwODJEMjI1NTM5MUVGOTA3RkFCNzQwODNDCi06MDg0QzUzMDBGMEQwODJEMDgzRDBFMDMyRTIKLToxMDRDNUIwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBOUUwNDQwMUYwODQKLTowNzRDNkIwMEQwODJEMDgzRDBFMDMyQkIKLToxMDRDMEEwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBQUUwNDQwMUYwRDQKLTowRjRDMUEwMEMyMjk5MDc2OEQ3NDAxRjBEMDgyRDA4M0QwRTAzMjIxCi06MTA0QzcyMDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQTlFMDQ0MDJGMDZDCi06MDc0QzgyMDBEMDgyRDA4M0QwRTAzMkE0Ci06MTA0QjVBMDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQUFFMDQ0MDJGMDg0Ci06MTA0QjZBMDA5MDdGQzdFMEY1MTE3NTBGMDA3NTBEMDBEMjMzRDA4MjIyCi06MDU0QjdBMDBEMDgzRDBFMDMyMDEKLToxMDRDODkwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBOUUwNDQwNEYwNTMKLTowNzRDOTkwMEQwODJEMDgzRDBFMDMyOEQKLToxMDRDQTAwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBQUUwNDQwNEYwM0IKLTowNzRDQjAwMEQwODJEMDgzRDBFMDMyNzYKLToxMDRDQjcwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBOUUwNDQwOEYwMjEKLTowNzRDQzcwMEQwODJEMDgzRDBFMDMyNUYKLToxMDRDQ0UwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBQUUwNDQwOEYwMDkKLTowNzRDREUwMEQwODJEMDgzRDBFMDMyNDgKLToxMDRDRTUwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBOUUwNDQxMEYwRUIKLTowNzRDRjUwMEQwODJEMDgzRDBFMDMyMzEKLToxMDRDRkMwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBQUUwNDQxMEYwRDMKLTowNzREMEMwMEQwODJEMDgzRDBFMDMyMTkKLToxMDREMTMwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBOUUwNDQyMEYwQUMKLTowNzREMjMwMEQwODJEMDgzRDBFMDMyMDIKLToxMDREMkEwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBQUUwNDQyMEYwOTQKLTowNzREM0EwMEQwODJEMDgzRDBFMDMyRUIKLToxMDRENDEwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBOUUwNDQ0MEYwNUUKLTowNzRENTEwMEQwODJEMDgzRDBFMDMyRDQKLToxMDRENTgwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBQUUwNDQ0MEYwNDYKLTowNzRENjgwMEQwODJEMDgzRDBFMDMyQkQKLToxMDRENkYwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBOUUwNDQ4MEYwRjAKLTowNzREN0YwMEQwODJEMDgzRDBFMDMyQTYKLToxMDREODYwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBQUUwNDQ4MEYwRDgKLTowNzREOTYwMEQwODJEMDgzRDBFMDMyOEYKLToxMDQyMUYwMDkwNzYxOUUwNjQwMTcwMzU5MDc2ODdFMEZGRDM5NDJEODYKLToxMDQyMkYwMDQwMkI5MDc2ODY3NDAxRjA5MDc2ODVFMDA0RjBFMEQzMTEKLToxMDQyM0YwMDk0MEY0MDE5RTRGMEVGRDM5NDMxNDAwODkwNzYxOTc0M0QKLToxMDQyNEYwMDAzRjA4MDA2OTA3NjE5NzQwMkYwMTIzRTlGOTA3NjE5NTMKLToxMDQyNUYwMEUwQjQwMjJDOTA3Njg3RTBGRkMzOTQyRjUwMjJFRkQzNjcKLToxMDQyNkYwMDk0MkE0MDFDOTA3Njg2NzQwMUYwOTA3Njg1RTAwNEYwRDUKLToxMDQyN0YwMEUwRDM5NDBGNDAwQUU0RjA5MDc2MTkwNEYwMTIzRTlGQjkKLToxMDQyOEYwMDkwNzYxOUUwQjQwMjI2OTA3Njg3RTBEMzk0MzE0MDFERTIKLToxMDQyOUYwMDkwNzY4Njc0MDFGMDkwNzY4NUUwMDRGMEUwRDM5NDBGNjkKLToxMDQyQUYwMDQwMEJFNEYwOTA3NjE5NzQwM0YwMTIzRTlGOTA3NjE5NEMKLToxMDQyQkYwMEUwNjQwMzcwM0Y5MDc2ODdFMEZGQzM5NDVGNTAzNTkwQzIKLToxMDQyQ0YwMDc2ODY3NDAxRjA5MDc2ODVFMDA0RjBFMEQzOTQwRjQwODkKLToxMDQyREYwMDIzRTRGMEVGQzM5NDJGNTAwQ0VGRDM5NDJBNDAwNjkwQjEKLToxMDQyRUYwMDc2MTk3NDAxRjBFRkQzOTQyRjQwMDY5MDc2MTk3NDAyNkIKLToxMDQyRkYwMEYwMTIzRTlGOTA3Njg2RTA3MDA1OTA3Njg1RjAyMkU0NkUKLTowNTQzMEYwMDkwNzY4NkYwMjIwQgotOjEwNDU2NTAwOTA3NjlBNzQwMkYwRTQ5MDc2OTFGMEEzRjA5MDc2OTBBQwotOjEwNDU3NTAwRjA5MDc2OTNGMDkwNzY5Njc0MDNGMDkwODAwM0YwRTREMwotOjEwNDU4NTAwOTA3Njk3RjA5MDgwMDJGMDkwNzY5NDA0RjA5MDgwMDBGOQotOjEwNDU5NTAwRjBFNDkwNzY4RUYwOTA3NjFBRjA5MDc2OTUwNEYwQzI1RAotOjEwNDVBNTAwMkU5MDdGOUJFMEZGNTQxMEZGNzAwMkMyM0Y5MDdGOUJDRgotOjEwNDVCNTAwRTBGRjU0MTBGRUZGQkUxMDAyRDIzRjkwN0Y5QkUwRkY0QwotOjEwNDVDNTAwNTQyMEZGNzAwMkMyM0U5MDdGOUJFMEZGNTQyMEZFRkYwNwotOjEwNDVENTAwQkUyMDAyRDIzRTMwM0YwOTkwNzY5N0UwNTRGRUYwODAyRgotOjEwNDVFNTAwMDc5MDc2OTdFMDQ0MDFGMDkwNzY5N0UwOTA4MDAyRjA4RQotOjEwNDVGNTAwMzAzRTA5OTA3Njk1RTA0NDA0RjA4MDA3OTA3Njk1RTA4QQotOjEwNDYwNTAwNTRGQkYwOTA3Njk1RTA5MDgwMDFGMEEyM0U5MjQwQTI5NgotOjAzNDYxNTAwM0Y5MjQxOTAKLTowMTQ2MTgwMDIyN0YKLToxMDNFOUYwMDkwNzY5MkUwMTQ2MDFEMTQ3MDAyRTE1NDI0MDI2MDAyQzcKLToxMDNFQUYwMEUxRTQ5MDc2OTQ3NDAxRjA5MDgwMDBGMEU0OTA3NjhFQzcKLToxMDNFQkYwMEYwRDIzMTIyOTA3NjE5RTBGRkI0MDExQkU0OTA3RkYyMkIKLToxMDNFQ0YwMEYwOTA3RkYzNzQzMEYwOTA3RkZGNzRGQ0YwOTA3Njk3NTIKLToxMDNFREYwMEUwNTRGREYwNTRGQkYwRUZCNDAyMUJFNDkwN0ZGMkYwREUKLToxMDNFRUYwMDkwN0ZGMzc0MzRGMDkwN0ZGRjc0RkNGMDkwNzY5N0UwM0UKLToxMDNFRkYwMDQ0MDJGMDU0RkJGMEVGQjQwMzE4RTQ5MDdGRjJGMDkwMUIKLToxMDNGMEYwMDdGRjM3NDY0RjA5MDdGRkY3NEZDRjA5MDc2OTdFMDQ0MzkKLToxMDNGMUYwMDA0RjA5MDc2OTRFMDQ0MDFGMDkwODAwMEYwMzAzRjA5NzcKLToxMDNGMkYwMDkwNzY5N0UwNTRGRUYwODAwNzkwNzY5N0UwNDQwMUYwOEEKLToxMDNGM0YwMDkwNzY5N0UwOTA4MDAyRjA5MDc2OTg3NDA0RjA5MDc2RTcKLToxMDNGNEYwMDhFNzQwMUYwMjI5MDc2MTlFMEZGQjQwMTFCRTQ5MDdGOEMKLToxMDNGNUYwMEYyRjA5MDdGRjM3NDQ0RjA5MDdGRkY3NEZDRjA5MDc2NTIKLToxMDNGNkYwMDk3RTA1NEZERjA1NEZCRjBFRkI0MDIxQkU0OTA3RkYyQTYKLToxMDNGN0YwMEYwOTA3RkYzNzQ0Q0YwOTA3RkZGNzRGQ0YwOTA3Njk3ODUKLToxMDNGOEYwMEUwNDQwMkYwNTRGQkYwRUZCNDAzMThFNDkwN0ZGMkYwM0EKLToxMDNGOUYwMDkwN0ZGMzc0OTRGMDkwN0ZGRjc0RkNGMDkwNzY5N0UwMkQKLToxMDNGQUYwMDQ0MDRGMDkwNzY5NEUwNTRGRUYwOTA4MDAwRjAzMDNGOUYKLToxMDNGQkYwMDA5OTA3Njk3RTA1NEZFRjA4MDA3OTA3Njk3RTA0NDAxRTEKLToxMDNGQ0YwMEYwOTA3Njk3RTA5MDgwMDJGMDkwNzY5ODc0MDZGMDkwREIKLTowNjNGREYwMDc2OEU3NDAyRjAyMjUwCi06MTAxODAwMDA5MDc2OTBFMDE0NjAzNzE0NzAwMjAxRDgxNDcwMDIyMUIxCi06MTAxODEwMDA3MjE0NzAwMjQxM0IyNDA0NjAwMjYxMDM5MDdGRkM3NEU3Ci06MTAxODIwMDBDQ0YwOTA3RkZGNzRGQ0YwOTA3Njk1RTA0NDAxRjA1NDhBCi06MTAxODMwMDAwNUYwOTA4MDAxRjBFNDkwNzYxQUYwQzIyRTIyOTA3NkE2Ci06MTAxODQwMDA5NUUwNDQwMUYwNDQwMkYwMzAzRTA2RTA0NDA0RjA4MEFDCi06MTAxODUwMDAwNzkwNzY5NUUwNTRGQkYwOTA3NjFBRTBCNDAxMDg5MDdBCi06MTAxODYwMDA3Njk1RTA5MDgwMDFGMDkwNzYxOUUwRkZCNDAxMjI5MDI3Ci06MTAxODcwMDA3RkZDNzQ3NEYwOTA3RkZGNzRGQ0YwOTA3NjhGNzQyQjczCi06MTAxODgwMDBGMDkwNzY5N0UwNTRGREYwRTQ5MDc2ODFGMDkwNzY4MEM5Ci06MTAxODkwMDBGMEVGQjQwMjIyOTA3RkZDNzQ2OEYwOTA3RkZGNzRGQzNDCi06MTAxOEEwMDBGMDkwNzY4Rjc0MkZGMDkwNzY5N0UwNDQwMkYwRTQ5MEY5Ci06MTAxOEIwMDA3NjgxRjA5MDc2ODBGMDMwM0YwOTkwNzY5N0UwNTRGRTg0Ci06MTAxOEMwMDBGMDgwMDc5MDc2OTdFMDQ0MDFGMDkwNzY5N0UwNTRGQjIzCi06MTAxOEQwMDBGMDkwODAwMkYwRDIyRTIyOTA3Njk1RTA1NEZFRjA0NEYzCi06MTAxOEUwMDAwMkYwMzAzRTA2RTA0NDA0RjA4MDA3OTA3Njk1RTA1NDI0Ci06MTAxOEYwMDBGQkYwOTA3NjFBRTBCNDAxMDg5MDc2OTVFMDkwODAwMUI0Ci06MTAxOTAwMDBGMDkwNzYxOUUwRkZCNDAxMjI5MDdGRkM3NDMwRjA5MEUzCi06MTAxOTEwMDA3RkZGNzRGQ0YwOTA3NjhGNzQyQkYwOTA3Njk3RTA1NEY0Ci06MTAxOTIwMDBGREYwRTQ5MDc2ODFGMDkwNzY4MEYwRUZCNDAyMjI5MEEyCi06MTAxOTMwMDA3RkZDNzQxQ0YwOTA3RkZGNzRGQ0YwOTA3NjhGNzQyRjA2Ci06MTAxOTQwMDBGMDkwNzY5N0UwNDQwMkYwRTQ5MDc2ODFGMDkwNzY4MDEzCi06MTAxOTUwMDBGMDMwM0YwOTkwNzY5N0UwNTRGRUYwODAwNzkwNzY5NzNDCi06MTAxOTYwMDBFMDQ0MDFGMDkwNzY5N0UwNTRGQkYwOTA4MDAyRjBEMkQyCi06MTAxOTcwMDAyRTIyOTA3Njk1RTA0NDAxRjA0NDAyRjA0NDA4RjAzMEM1Ci06MTAxOTgwMDAzRTA2RTA0NDA0RjA4MDA3OTA3Njk1RTA1NEZCRjA5MDJBCi06MTAxOTkwMDA3NjFBRTBCNDAxMDg5MDc2OTVFMDkwODAwMUYwOTA3Njk4Ci06MTAxOUEwMDAxOUUwRkZCNDAxMjU5MDdGRkM3NENDRjA5MDdGRkY3NEE4Ci06MTAxOUIwMDBGQ0YwOTA3NjhGNzQyQkYwOTA3Njk3RTA1NEZERjA1NDA1Ci06MTAxOUMwMDBGQkYwRTQ5MDc2ODFGMDkwNzY4MEYwRUZCNDAyMjU5MDAxCi06MTAxOUQwMDA3RkZDNzRDOEYwOTA3RkZGNzRGQ0YwOTA3NjhGNzQyRkJBCi06MTAxOUUwMDBGMDkwNzY5N0UwNDQwMkYwNTRGQkYwRTQ5MDc2ODFGMEJBCi06MTAxOUYwMDA5MDc2ODBGMEVGQjQwMzI1OTA3RkZDNzQ5OEYwOTA3RjkwCi06MTAxQTAwMDBGRjc0RkNGMDkwNzY4Rjc0NUZGMDkwNzY5N0UwNTRGRDUxCi06MTAxQTEwMDBGMDQ0MDRGMEU0OTA3NjgxRjA5MDc2ODBGMDMwM0YwOTU1Ci06MTAxQTIwMDA5MDc2OTdFMDU0RkVGMDgwMDc5MDc2OTdFMDQ0MDFGMEJFCi06MTAxQTMwMDA5MDc2OTdFMDkwODAwMkYwRDIyRTIyOTA3Njk1RTA1NDM2Ci06MTAxQTQwMDBGRUYwNDQwMkYwNDQwOEYwMzAzRTA2RTA0NDA0RjA4MDJBCi06MTAxQTUwMDAwNzkwNzY5NUUwNTRGQkYwOTA3NjFBRTBCNDAxMDg5MDc4Ci06MTAxQTYwMDA3Njk1RTA5MDgwMDFGMDkwNzYxOUUwRkZCNDAxMjU5MDIyCi06MTAxQTcwMDA3RkZDNzRCNEYwOTA3RkZGNzRGQ0YwOTA3NjhGNzQyQjMxCi06MTAxQTgwMDBGMDkwNzY5N0UwNTRGREYwNTRGQkYwRTQ5MDc2ODFGMDBFCi06MTAxQTkwMDA5MDc2ODBGMEVGQjQwMjI1OTA3RkZDNzRCMEYwOTA3RkQ4Ci06MTAxQUEwMDBGRjc0RkNGMDkwNzY4Rjc0MkZGMDkwNzY5N0UwNDQwMkVDCi06MTAxQUIwMDBGMDU0RkJGMEU0OTA3NjgxRjA5MDc2ODBGMEVGQjQwMzgwCi06MTAxQUMwMDAyNTkwN0ZGQzc0NjhGMDkwN0ZGRjc0RkNGMDkwNzY4RjE3Ci06MTAxQUQwMDA3NDVGRjA5MDc2OTdFMDU0RkRGMDQ0MDRGMEU0OTA3NjYzCi06MTAxQUUwMDA4MUYwOTA3NjgwRjAzMDNGMDk5MDc2OTdFMDU0RkVGMEQ4Ci06MTAxQUYwMDA4MDA3OTA3Njk3RTA0NDAxRjA5MDc2OTdFMDkwODAwMjFFCi06MDQxQjAwMDBGMEQyMkUyMkNGCi06MDQwQ0ExMDA0MTc2MjMwMDc1Ci06MTAyREE5MDBFNDkwNzYzNkYwRTBGRjc1RjAwM0E0MjQwRUY1ODJFNDkyCi06MTAyREI5MDAzNDc1RjU4Mzc0MDFGMEVGNzVGMDAzQTQyNDBGRjU4MkRGCi06MTAyREM5MDBFNDM0NzVGNTgzNzQwMUYwRUY3NUYwMDNBNDI0MTBGNTZDCi06MTAyREQ5MDA4MkU0MzQ3NUY1ODNFNEYwOTA3NjM2RTAwNEYwRTBGRkEwCi06MTAyREU5MDA3NUYwMDNBNDI0MEVGNTgyRTQzNDc1RjU4Mzc0MTBGMEFDCi06MTAyREY5MDBFRjc1RjAwM0E0MjQwRkY1ODJFNDM0NzVGNTgzNzQwNUE3Ci06MTAyRTA5MDBGMEVGNzVGMDAzQTQyNDEwRjU4MkU0MzQ3NUY1ODNFNDNBCi06MTAyRTE5MDBGMDkwNzYzNkUwMDRGMEUwRkY3NUYwMDNBNDI0MEVGNTk3Ci06MTAyRTI5MDA4MkU0MzQ3NUY1ODM3NDAyRjBFRjc1RjAwM0E0MjQwRjdFCi06MTAyRTM5MDBGNTgyRTQzNDc1RjU4Mzc0MDJGMEVGNzVGMDAzQTQyNDg4Ci06MTAyRTQ5MDAxMEY1ODJFNDM0NzVGNTgzRTRGMDkwNzYzNkUwMDRGMDA5Ci06MTAyRTU5MDBFMEZGNzVGMDAzQTQyNDBFRjU4MkU0MzQ3NUY1ODM3NDVDCi06MTAyRTY5MDAwMUYwRUY3NUYwMDNBNDI0MEZGNTgyRTQzNDc1RjU4M0JFCi06MTAyRTc5MDA3NDAzRjBFRjc1RjAwM0E0MjQxMEY1ODJFNDM0NzVGNUJBCi06MTAyRTg5MDA4M0U0RjA5MDc2MzZFMDA0RjBFMEZGNzVGMDAzQTQyNEMzCi06MTAyRTk5MDAwRUY1ODJFNDM0NzVGNTgzNzQxMEYwRUY3NUYwMDNBNDMwCi06MTAyRUE5MDAyNDBGRjU4MkU0MzQ3NUY1ODM3NDA2RjBFRjc1RjAwM0E5Ci06MTAyRUI5MDBBNDI0MTBGNTgyRTQzNDc1RjU4M0U0RjA5MDc2MzZFMEM1Ci06MTAyRUM5MDAwNEYwRTBGRjc1RjAwM0E0MjQwRUY1ODJFNDM0NzVGNUVGCi06MTAyRUQ5MDA4Mzc0MDJGMEVGNzVGMDAzQTQyNDBGRjU4MkU0MzQ3NUNFCi06MTAyRUU5MDBGNTgzNzQwNEYwRUY3NUYwMDNBNDI0MTBGNTgyRTQzNDNCCi06MTAyRUY5MDA3NUY1ODNFNEYwOTA3NjM2RTAwNEYwRTBGRjc1RjAwM0IxCi06MTAyRjA5MDBBNDI0MEVGNTgyRTQzNDc1RjU4Mzc0MDJGMEVGNzVGMEFDCi06MTAyRjE5MDAwM0E0MjQwRkY1ODJFNDM0NzVGNTgzNzQwOEYwRUY3NTgyCi06MTAyRjI5MDBGMDAzQTQyNDEwRjU4MkU0MzQ3NUY1ODM3NDA0RjA5MDU5Ci06MTAyRjM5MDA3NjM2RTAwNEYwRTBGRjc1RjAwM0E0MjQwRUY1ODJFNDkwCi06MTAyRjQ5MDAzNDc1RjU4Mzc0MDJGMEVGNzVGMDAzQTQyNDBGRjU4MjRDCi06MTAyRjU5MDBFNDM0NzVGNTgzNzQwQUYwRUY3NUYwMDNBNDI0MTBGNUQxCi06MTAyRjY5MDA4MkU0MzQ3NUY1ODM3NDA0RjA5MDc2MzZFMDA0RjBFMDc5Ci06MTAyRjc5MDBGRjc1RjAwM0E0MjQwRUY1ODJFNDM0NzVGNTgzNzQwMjE5Ci06MTAyRjg5MDBGMEVGNzVGMDAzQTQyNDBGRjU4MkU0MzQ3NUY1ODM3NDJBCi06MTAyRjk5MDAwOUYwRUY3NUYwMDNBNDI0MTBGNTgyRTQzNDc1RjU4Mzg0Ci06MTAyRkE5MDA3NDA0RjA5MDc2MzZFMDA0RjBFMEZGNzVGMDAzQTQyNDkxCi06MTAyRkI5MDAwRUY1ODJFNDM0NzVGNTgzNzQwMkYwRUY3NUYwMDNBNDFECi06MTAyRkM5MDAyNDBGRjU4MkU0MzQ3NUY1ODM3NDA3RjBFRjc1RjAwMzg3Ci06MEUyRkQ5MDBBNDI0MTBGNTgyRTQzNDc1RjU4Mzc0MDRGMDIyMEMKLToxMDNCRDMwMEU0OTA3NjM2RjBFMEZCNzVGMDBGQTQyNDQxRjU4MkU0MUYKLToxMDNCRTMwMDM0NzVGNTgzNzQ0MEYwRUI3NUYwMEZBNDI0NDJGNTgyMkQKLToxMDNCRjMwMEU0MzQ3NUY1ODM3NDBBRjBFQjc1RjAwRkE0MjQ0M0Y1RjAKLToxMDNDMDMwMDgyRTQzNDc1RjU4MzEyMzdDODAwMDBBQzQ0RUI3NUYwRDkKLToxMDNDMTMwMDBGQTQyNDQ3RjU4MkU0MzQ3NUY1ODMxMjM3QzgwMDAwRjYKLToxMDNDMjMwMEFDNDRFQjc1RjAwRkE0MjQ0QkY1ODJFNDM0NzVGNTgzQjMKLToxMDNDMzMwMDEyMzdDODAwMDE3NzAwOTA3NjM2RTAwNEYwRTBGQjc1OTgKLToxMDNDNDMwMEYwMEZBNDI0NDFGNTgyRTQzNDc1RjU4Mzc0NDBGMEVCNUUKLToxMDNDNTMwMDc1RjAwRkE0MjQ0MkY1ODJFNDM0NzVGNTgzNzQ4Q0YwNzcKLToxMDNDNjMwMEVCNzVGMDBGQTQyNDQzRjU4MkU0MzQ3NUY1ODMxMjM3MjIKLToxMDNDNzMwMEM4MDAwMEFDNDRFQjc1RjAwRkE0MjQ0N0Y1ODJFNDM0OEMKLToxMDNDODMwMDc1RjU4MzEyMzdDODAwMDBBQzQ0RUI3NUYwMEZBNDI0MUMKLToxMDNDOTMwMDRCRjU4MkU0MzQ3NUY1ODMxMjM3QzgwMDAxNzcwMDkwNDEKLToxMDNDQTMwMDc2MzZFMDA0RjBFMEZGNzVGMDBGQTQyNDQxRjU4MkU0REEKLToxMDNDQjMwMDM0NzVGNTgzNzQ0MEYwRUY3NUYwMEZBNDI0NDJGNTgyNTgKLToxMDNDQzMwMEU0MzQ3NUY1ODM3NDhGRjA5MDc2MzZFMDA0RjBFMEZGMEEKLToxMDNDRDMwMDc1RjAwRkE0MjQ0MUY1ODJFNDM0NzVGNTgzNzQ0MUYwNDMKLToxMDNDRTMwMEVGNzVGMDBGQTQyNDQyRjU4MkU0MzQ3NUY1ODM3NDg0RjAKLToxMDNDRjMwMEYwOTA3NjM2RTAwNEYwRTBGRjc1RjAwRkE0MjQ0MUY1NzAKLToxMDNEMDMwMDgyRTQzNDc1RjU4Mzc0NjFGMEVGNzVGMDBGQTQyNDQyRjcKLToxMDNEMTMwMEY1ODJFNDM0NzVGNTgzNzQ4MUYwOTA3NjM2RTAwNEYwMkYKLToxMDNEMjMwMEUwRkY3NUYwMEZBNDI0NDFGNTgyRTQzNDc1RjU4Mzc0NDQKLToxMDNEMzMwMDYxRjBFRjc1RjAwRkE0MjQ0MkY1ODJFNDM0NzVGNTgzNDYKLTowNDNENDMwMDc0MDFGMDIyRjUKLToxMDQ2MTkwMEU0OTA3NjM2RjBFMEZGNzVGMDAzQTQyNDMyRjU4MkU0RTUKLToxMDQ2MjkwMDM0NzVGNTgzRTRGMEVGNzVGMDAzQTQyNDMzRjU4MkU0REYKLToxMDQ2MzkwMDM0NzVGNTgzNzQwMUYwOTA3NjM2RTAwNEYwRTBGRjc1ODcKLToxMDQ2NDkwMEYwMDNBNDI0MzJGNTgyRTQzNDc1RjU4M0U0RjBFRjc1QzAKLToxMDQ2NTkwMEYwMDNBNDI0MzNGNTgyRTQzNDc1RjU4Mzc0MDJGMDkwRjEKLToxMDQ2NjkwMDc2MzZFMDA0RjBFMEZGNzVGMDAzQTQyNDMyRjU4MkU0MjUKLToxMDQ2NzkwMDM0NzVGNTgzRTRGMEVGNzVGMDAzQTQyNDMzRjU4MkU0OEYKLToxMDQ2ODkwMDM0NzVGNTgzNzQwM0YwOTA3NjM2RTAwNEYwRTBGRjc1MzUKLToxMDQ2OTkwMEYwMDNBNDI0MzJGNTgyRTQzNDc1RjU4M0U0RjBFRjc1NzAKLToxMDQ2QTkwMEYwMDNBNDI0MzNGNTgyRTQzNDc1RjU4Mzc0MDRGMDIyMEQKLToxMDNBNDIwMEU0OTA3NjM1RjA5MDc2MzVFMEZGQzM5NDAzNDAwMjQxNkUKLToxMDNBNTIwMEZGRUY3NUYwMEFBNDI0QUFGNTgyRTQzNDc1RjU4M0VGMkEKLToxMDNBNjIwMEYwRUY3NUYwMEFBNDI0QUJGNTgyRTQzNDc1RjU4M0U0MzMKLToxMDNBNzIwMEYwRUY3NUYwMEFBNDI0QUNGNTgyRTQzNDc1RjU4Mzc0OTIKLToxMDNBODIwMEYwRjBFRjc1RjAwQUE0MjRBREY1ODJFNDM0NzVGNTgzMDUKLToxMDNBOTIwMDc0RkZGMEVGNzVGMDBBQTQyNEFFRjU4MkU0MzQ3NUY1RjQKLToxMDNBQTIwMDgzRTRGMEVGNzVGMDBBQTQyNEFGRjU4MkU0MzQ3NUY1RUYKLToxMDNBQjIwMDgzNzQ4MEYwRUY3NUYwMEFBNDI0QjBGNTgyRTQzNDc1QzMKLToxMDNBQzIwMEY1ODNFNEYwRUY3NUYwMEFBNDI0QjFGNTgyRTQzNDc1Q0QKLToxMDNBRDIwMEY1ODNFNEYwRUY3NUYwMEFBNDI0QjJGNTgyRTQzNDc1QkMKLToxMDNBRTIwMEY1ODNFNEYwRUY3NUYwMEFBNDI0QjNGNTgyRTQzNDc1QUIKLToxMDNBRjIwMEY1ODM3NDAxRjA5MDc2MzVFMDA0RjA0MTQ3OTA3NjNDMEUKLToxMDNCMDIwMDc0MEFGMEU0QTNGMDkwNzYzNTc0MDNGMDkwNzYzQ0UwMEEKLToxMDNCMTIwMEZGOTA3NjM1RTBGRUMzOUY0MDAyNjFEMjkwNzYzREUwOTEKLToxMDNCMjIwMEZGMDRGMEVFNzVGMDBBQTQyNEFBRjU4MkU0MzQ3NUY1RDgKLToxMDNCMzIwMDgzRUZGMEVFNzVGMDBBQTQyNEFCRjU4MkU0MzQ3NUY1NTgKLToxMDNCNDIwMDgzRTRGMEVFNzVGMDBBQTQyNEFDRjU4MkU0MzQ3NUY1NTIKLToxMDNCNTIwMDgzNzQ1RUYwRUU3NUYwMEFBNDI0QURGNTgyRTQzNDc1NDgKLToxMDNCNjIwMEY1ODM3NEJBRjBFRTc1RjAwQUE0MjRBRUY1ODJFNDM0NUIKLToxMDNCNzIwMDc1RjU4Mzc0MDVGMEVFNzVGMDBBQTQyNEFGRjU4MkU0QkUKLToxMDNCODIwMDM0NzVGNTgzNzQ4MEYwRUU3NUYwMEFBNDI0QjBGNTgyRTIKLToxMDNCOTIwMEU0MzQ3NUY1ODNFNEYwRUU3NUYwMEFBNDI0QjFGNTgyRkQKLToxMDNCQTIwMEU0MzQ3NUY1ODNFNEYwRUU3NUYwMEFBNDI0QjJGNTgyRUMKLToxMDNCQjIwMEU0MzQ3NUY1ODM3NDE1RjBFRTc1RjAwQUE0MjRCM0Y1QjgKLToxMDNCQzIwMDgyRTQzNDc1RjU4M0U0RjA5MDc2MzVFMDA0RjA2MTBFMUEKLTowMTNCRDIwMDIyRDAKLToxMDA4MDAwMEU0OTA3NjMxRjA5MDc2MzFFMEZGNzVGMDAzQTQyNDBGODgKLToxMDA4MTAwMEY1ODJFNDM0NzVGNTgzRTBGRTkwN0ZFREUwRkRFRTZENEEKLToxMDA4MjAwMDYwMEVFRkMzOTQwQjUwMDg5MDc2MzFFMDA0RjA4MEQ1NTEKLToxMDA4MzAwMEVGQjQwQjA4OTA3RkI0RTA0NDAxRjAyMkVGNzVGMDAzQjEKLToxMDA4NDAwMEE0MjQwRUY1ODJFNDM0NzVGNTgzRTA5MDc2MzNGMDI0MjkKLToxMDA4NTAwMEYwNjAwQTI0MEU2MDAyODE4NzEyNEJDNzIyOTA3RkVENjAKLToxMDA4NjAwMEUwNjQwNTcwNTE5MDc2MTg3NDA1RjA5MDc2Mzc3NDAxNDUKLToxMDA4NzAwMEYwOTA3NjM5NzQwM0YwOTA3NjIxRjBFNDkwNzYyMEYwRDEKLToxMDA4ODAwMDkwN0ZFQUUwRjQ2MDJGOTA3NjIwRTBGRjc1RjAwQUE0RjQKLToxMDA4OTAwMDI0QUFGNTgyRTQzNDc1RjU4M0UwRkU5MDdGRUFFMEZENUEKLToxMDA4QTAwMEVFNkQ2MDEyOTA3NjIxRTBGRUVGQzM5RTUwMDg5MDc2QzgKLToxMDA4QjAwMDIwRTAwNEYwODBEMTkwN0ZFREUwNjQwNjcwNTI5MDc2RTUKLToxMDA4QzAwMDE4NzQwNkYwOTA3NjM3NzQwNEYwOTA3NjM5NzQwQUYwNTQKLToxMDA4RDAwMDkwNzYyMUYwOTA3NjIwNzQwM0YwOTA3RkVBRTBGNDYwNDcKLToxMDA4RTAwMDJGOTA3NjIwRTBGRjc1RjAwQUE0MjRBQUY1ODJFNDM0NjQKLToxMDA4RjAwMDc1RjU4M0UwRkU5MDdGRUFFMEZERUU2RDYwMTI5MDc2ODQKLToxMDA5MDAwMDIxRTBGRUVGQzM5RTUwMDg5MDc2MjBFMDA0RjA4MEQxRjUKLToxMDA5MTAwMDkwNzYyMEUwRkY3NUYwMEFBNDI0QUFGNTgyRTQzNDc1RUQKLToxMDA5MjAwMEY1ODNFMDkwNzIyOUYwRTQ5MDc2M0JGMDkwNzYyMUUwMzgKLToxMDA5MzAwMEZFRUY2RTcwMDg5MDdGQjRFMDQ0MDFGMDIyOTA3RkVCRjAKLToxMDA5NDAwMEUwMTQ2MDEzMTQ3MDAyMjFFMjI0MDI2MDAyODE3RjkwOUYKLToxMDA5NTAwMDdGQjRFMDQ0MDFGMDIyOTA3RkU5RTAxNDcwN0M5MDdGNDYKLToxMDA5NjAwMEVBRTBGNDcwNDg5MDc2MzdFMDkwNzYyMEYwOTA3NjM5OUYKLToxMDA5NzAwMEUwRkU5MDc2MjBFMEZEQzM5RTUwMkI5MDc2M0JFMEZFOUIKLToxMDA5ODAwMDA0RjA3NEMwMkVGNTgyRTQzNDdFRjU4M0UwRkVFRDc1NEMKLToxMDA5OTAwMEYwMEFBNDI0QUJGNTgyRTQzNDc1RjU4M0VFRjA5MDc2OEEKLToxMDA5QTAwMDIwRTAwNEYwODBDNzkwNzYzRjc0MDFGMDIyOTA3RUMwNzIKLToxMDA5QjAwMEUwRkVFRjc1RjAwQUE0MjRBQkY1ODJFNDM0NzVGNTgzMEMKLToxMDA5QzAwMEVFRjBFMEI0MDEwODkwNzYzRTc0MDFGMDgwMDVFNDkwMEEKLToxMDA5RDAwMDc2M0VGMDkwNzYzRjc0MDFGMDIyOTA3RkI0RTA0NDAxQkYKLToxMDA5RTAwMEYwMjI5MDdGRTlFMDI0RkU3MDAyNDFBMzE0NzAwMjYxQkUKLToxMDA5RjAwMDNGMTQ3MDAyNjFEQjI0MDM2MDAyODE3NzkwN0ZFQUUwOUMKLToxMDBBMDAwMEY0NzA2QjkwNzYzN0UwOTA3NjIwRjA5MDc2MzlFMEZGQzYKLToxMDBBMTAwMDkwNzYyMEUwRkVDMzlGNTA0RTkwNzYzQkUwRkYwNEYwQkUKLToxMDBBMjAwMDc0QzAyRkY1ODJFNDM0N0VGNTgzRTBGRkVFNzVGMDBBQTIKLToxMDBBMzAwMEE0MjRBQ0Y1ODJFNDM0NzVGNTgzRUZGMDkwNzYzQkUwQzYKLToxMDBBNDAwMEZGMDRGMDc0QzAyRkY1ODJFNDM0N0VGNTgzRTBGRkVFRkUKLToxMDBBNTAwMDc1RjAwQUE0MjRBREY1ODJFNDM0NzVGNTgzRUZGMDkwQzcKLToxMDBBNjAwMDc2MjBFMDA0RjA4MEE0OTA3NjQwNzQwMUYwMjI5MDdFMUQKLToxMDBBNzAwMEMwRTBGRjkwNzYyMEUwRkU3NUYwMEFBNDI0QUNGNTgyNzkKLToxMDBBODAwMEU0MzQ3NUY1ODNFRkYwOTA3RUMxRTBGRkVFNzVGMDBBNzcKLToxMDBBOTAwMEE0MjRBREY1ODJFNDM0NzVGNTgzRUZGMDkwNzY0MTc0Q0IKLToxMDBBQTAwMDAxRjAyMjkwN0ZFQUUwRjQ3MDY2OTA3NjM3RTA5MDc2NkQKLToxMDBBQjAwMDIwRjA5MDc2MzlFMEZGOTA3NjIwRTBGRUMzOUY0MDAyNjAKLToxMDBBQzAwMDgxOEU5MDc2M0JFMEZGMDRGMDc0QzAyRkY1ODJFNDM0MTEKLToxMDBBRDAwMDdFRjU4M0UwRkZFRTc1RjAwQUE0MjRBRUY1ODJFNDM0REYKLToxMDBBRTAwMDc1RjU4M0VGRjA5MDc2M0JFMEZGMDRGMDc0QzAyRkY1Q0UKLToxMDBBRjAwMDgyRTQzNDdFRjU4M0UwRkZFRTc1RjAwQUE0MjRBRkY1QkUKLToxMDBCMDAwMDgyRTQzNDc1RjU4M0VGRjA5MDc2MjBFMDA0RjA4MEEyNjMKLToxMDBCMTAwMDkwN0VDMEUwRkY5MDc2MjBFMEZFNzVGMDBBQTQyNEFFM0YKLToxMDBCMjAwMEY1ODJFNDM0NzVGNTgzRUZGMDkwN0VDMUUwRkZFRTc1NTkKLToxMDBCMzAwMEYwMEFBNDI0QUZGNTgyRTQzNDc1RjU4M0VGRjAyMjkwMzcKLToxMDBCNDAwMDdGRUFFMEY0NzA2NjkwNzYzN0UwOTA3NjIwRjA5MDc2NTkKLToxMDBCNTAwMDM5RTBGRjkwNzYyMEUwRkVDMzlGNDAwMjgxOEU5MDc2QzAKLToxMDBCNjAwMDNCRTBGRjA0RjA3NEMwMkZGNTgyRTQzNDdFRjU4M0UwQUYKLToxMDBCNzAwMEZGRUU3NUYwMEFBNDI0QjBGNTgyRTQzNDc1RjU4M0VGMzYKLToxMDBCODAwMEYwOTA3NjNCRTBGRjA0RjA3NEMwMkZGNTgyRTQzNDdFRjEKLToxMDBCOTAwMEY1ODNFMEZGRUU3NUYwMEFBNDI0QjFGNTgyRTQzNDc1MjQKLToxMDBCQTAwMEY1ODNFRkYwOTA3NjIwRTAwNEYwODBBMjkwN0VDMEUwMjQKLToxMDBCQjAwMEZGOTA3NjIwRTBGRTc1RjAwQUE0MjRCMEY1ODJFNDM0QkMKLToxMDBCQzAwMDc1RjU4M0VGRjA5MDdFQzFFMEZGRUU3NUYwMEFBNDI0ODYKLToxMDBCRDAwMEIxRjU4MkU0MzQ3NUY1ODNFRkYwMjI5MDdGRUFFMEY0MUEKLToxMDBCRTAwMDcwNjY5MDc2MzdFMDkwNzYyMEYwOTA3NjM5RTBGRjkwNEUKLToxMDBCRjAwMDc2MjBFMEZFQzM5RjQwMDI4MThFOTA3NjNCRTBGRjA0QUEKLToxMDBDMDAwMEYwNzRDMDJGRjU4MkU0MzQ3RUY1ODNFMEZGRUU3NUYwREEKLToxMDBDMTAwMDBBQTQyNEIyRjU4MkU0MzQ3NUY1ODNFRkYwOTA3NjNCQjQKLToxMDBDMjAwMEUwRkYwNEYwNzRDMDJGRjU4MkU0MzQ3RUY1ODNFMEZGMkEKLToxMDBDMzAwMEVFNzVGMDBBQTQyNEIzRjU4MkU0MzQ3NUY1ODNFRkYwODEKLToxMDBDNDAwMDkwNzYyMEUwMDRGMDgwQTI5MDdFQzBFMEZGOTA3NjIwQjUKLToxMDBDNTAwMEUwRkU3NUYwMEFBNDI0QjJGNTgyRTQzNDc1RjU4M0VGNjIKLToxMDBDNjAwMEYwOTA3RUMxRTBGRkVFNzVGMDBBQTQyNEIzRjU4MkU0QjMKLToxMDBDNzAwMDM0NzVGNTgzRUZGMDIyOTA3RkI0RTA0NDAxRjAyMjkwQzgKLTowRjBDODAwMDdGQjRFMDQ0MDFGMDIyOTA3RkI0RTA0NDAxRjAyMjAxCi06MTAxMDAwMDBFNDkwNzYyQ0YwOTA3NjJDRTBGRjc1RjAwM0E0MjQwRjhBCi06MTAxMDEwMDBGNTgyRTQzNDc1RjU4M0UwRkU5MDdGRURFMEZERUU2RDQyCi06MTAxMDIwMDA2MDBFRUZDMzk0MEI1MDA4OTA3NjJDRTAwNEYwODBENTRFCi06MTAxMDMwMDBFRkI0MEIwODkwN0ZCNEUwNDQwMUYwMjJFRjc1RjAwM0E5Ci06MTAxMDQwMDBBNDI0MEVGNTgyRTQzNDc1RjU4M0UwOTA3NjJFRjAyNDI2Ci06MTAxMDUwMDBGMDYwMEEyNDBGNjAwMjgxN0QxMjRCQTQyMjkwN0ZFRDg0Ci06MTAxMDYwMDBFMDY0MDU3MDUxOTA3NjE4NzQwNUYwOTA3NjM4NzQwMTNDCi06MTAxMDcwMDBGMDkwNzYzQTc0MDNGMDkwNzYxQ0YwRTQ5MDc2MUJGMEQyCi06MTAxMDgwMDA5MDdGRUFFMEY0NjAyRjkwNzYxQkUwRkY3NUYwMEFBNEYxCi06MTAxMDkwMDAyNEFBRjU4MkU0MzQ3NUY1ODNFMEZFOTA3RkVBRTBGRDUyCi06MTAxMEEwMDBFRTZENjAxMjkwNzYxQ0UwRkVFRkMzOUU1MDA4OTA3NkM1Ci06MTAxMEIwMDAxQkUwMDRGMDgwRDE5MDdGRURFMDY0MDY3MDUyOTA3NkUyCi06MTAxMEMwMDAxODc0MDZGMDkwNzYzODc0MDRGMDkwNzYzQTc0MEFGMDRBCi06MTAxMEQwMDA5MDc2MUNGMDkwNzYxQjc0MDNGMDkwN0ZFQUUwRjQ2MDQ5Ci06MTAxMEUwMDAyRjkwNzYxQkUwRkY3NUYwMEFBNDI0QUFGNTgyRTQzNDYxCi06MTAxMEYwMDA3NUY1ODNFMEZFOTA3RkVBRTBGREVFNkQ2MDEyOTA3NjdDCi06MTAxMTAwMDAxQ0UwRkVFRkMzOUU1MDA4OTA3NjFCRTAwNEYwODBEMUY3Ci06MTAxMTEwMDBFNDkwNzYxRUYwOTA3NjFDRTBGRjkwNzYxQkUwRkU2RjY4Ci06MTAxMTIwMDA3MDA4OTA3RkI0RTA0NDAxRjAyMjkwN0ZFQkUwMTQ2MEZGCi06MTAxMTMwMDAxMzE0NzAwMjIxQkYyNDAyNjAwMjgxNzU5MDdGQjRFMDE1Ci06MTAxMTQwMDA0NDAxRjAyMjkwN0ZFOUUwMjQ3RjcwNkI5MDdGRUFFMDE5Ci06MTAxMTUwMDBGNDcwNEE5MDc2MzhFMDkwNzYxQkYwOTA3NjNBRTBGRjkzCi06MTAxMTYwMDA5MDc2MUJFMEZEQzM5RjUwMkJFRDc1RjAwQUE0MjRBQkQ1Ci06MTAxMTcwMDBGNTgyRTQzNDc1RjU4M0UwRkY5MDc2MUVFMEZEMDRGMDFGCi06MTAxMTgwMDA3NDAwMkRGNTgyRTQzNDdGRjU4M0VGRjA5MDc2MUJFMDU4Ci06MTAxMTkwMDAwNEYwODBDNzkwNzYxRUUwOTA3RkI1RjAyMkVFNzVGMEU3Ci06MTAxMUEwMDAwQUE0MjRBQkY1ODJFNDM0NzVGNTgzRTA5MDdGMDBGMDY3Ci06MTAxMUIwMDA5MDdGQjU3NDAxRjAyMjkwN0ZCNEUwNDQwMUYwMjI5MDVBCi06MTAxMUMwMDA3RkU5RTAyNDdFNzAwMjQxN0UxNDcwMDI2MTIzMTQ3MDc2Ci06MTAxMUQwMDAwMjYxQzgyNDAzNjAwMjgxNkQ5MDdGRUFFMEY0NzA2REMzCi06MTAxMUUwMDA5MDc2MzhFMDkwNzYxQkYwOTA3NjNBRTBGRjkwNzYxQjkwCi06MTAxMUYwMDBFMEMzOUY1MDRGRTBGRjc1RjAwQUE0MjRBQ0Y1ODJFNEYxCi06MTAxMjAwMDAzNDc1RjU4M0UwRkU5MDc2MUVFMEZEMDRGMDc0MDAyRDQ5Ci06MTAxMjEwMDBGNTgyRTQzNDdGRjU4M0VFRjBFRjc1RjAwQUE0MjRBRDk3Ci06MTAxMjIwMDBGNTgyRTQzNDc1RjU4M0UwRkY5MDc2MUVFMEZFMDRGMDZECi06MTAxMjMwMDA3NDAwMkVGNTgyRTQzNDdGRjU4M0VGRjA5MDc2MUJFMEE2Ci06MTAxMjQwMDAwNEYwODBBNDkwNzYxRUUwOTA3RkI1RjAyMjkwNzYxQjhCCi06MTAxMjUwMDBFMEZGNzVGMDBBQTQyNEFDRjU4MkU0MzQ3NUY1ODNFMDcwCi06MTAxMjYwMDA5MDdGMDBGMEVGNzVGMDBBQTQyNEFERjU4MkU0MzQ3NUE4Ci06MTAxMjcwMDBGNTgzRTA5MDdGMDFGMDkwN0ZCNTc0MDJGMDIyOTA3RkJCCi06MTAxMjgwMDBFQUUwRjQ3MDZEOTA3NjM4RTA5MDc2MUJGMDkwNzYzQTU0Ci06MTAxMjkwMDBFMEZGOTA3NjFCRTBDMzlGNTA0RkUwRkY3NUYwMEFBNDdCCi06MTAxMkEwMDAyNEFFRjU4MkU0MzQ3NUY1ODNFMEZFOTA3NjFFRTBGRDExCi06MTAxMkIwMDAwNEYwNzQwMDJERjU4MkU0MzQ3RkY1ODNFRUYwRUY3NUQxCi06MTAxMkMwMDBGMDBBQTQyNEFGRjU4MkU0MzQ3NUY1ODNFMEZGOTA3NjRDCi06MTAxMkQwMDAxRUUwRkUwNEYwNzQwMDJFRjU4MkU0MzQ3RkY1ODNFRjA3Ci06MTAxMkUwMDBGMDkwNzYxQkUwMDRGMDgwQTQ5MDc2MUVFMDkwN0ZCNTJECi06MTAxMkYwMDBGMDIyOTA3NjFCRTBGRjc1RjAwQUE0MjRBRUY1ODJFNDlDCi06MTAxMzAwMDAzNDc1RjU4M0UwOTA3RjAwRjBFRjc1RjAwQUE0MjRBRjA4Ci06MTAxMzEwMDBGNTgyRTQzNDc1RjU4M0UwOTA3RjAxRjA5MDdGQjU3NDM5Ci06MTAxMzIwMDAwMkYwMjI5MDdGRUFFMEY0NzA2RDkwNzYzOEUwOTA3NkRCCi06MTAxMzMwMDAxQkYwOTA3NjNBRTBGRjkwNzYxQkUwQzM5RjUwNEZFMEExCi06MTAxMzQwMDBGRjc1RjAwQUE0MjRCMEY1ODJFNDM0NzVGNTgzRTBGRTVECi06MTAxMzUwMDA5MDc2MUVFMEZEMDRGMDc0MDAyREY1ODJFNDM0N0ZGNUY0Ci06MTAxMzYwMDA4M0VFRjBFRjc1RjAwQUE0MjRCMUY1ODJFNDM0NzVGNTRDCi06MTAxMzcwMDA4M0UwRkY5MDc2MUVFMEZFMDRGMDc0MDAyRUY1ODJFNDE4Ci06MTAxMzgwMDAzNDdGRjU4M0VGRjA5MDc2MUJFMDA0RjA4MEE0OTA3NjM0Ci06MTAxMzkwMDAxRUUwOTA3RkI1RjAyMjkwNzYxQkUwRkY3NUYwMEFBNDY2Ci06MTAxM0EwMDAyNEIwRjU4MkU0MzQ3NUY1ODNFMDkwN0YwMEYwRUY3NUFBCi06MTAxM0IwMDBGMDBBQTQyNEIxRjU4MkU0MzQ3NUY1ODNFMDkwN0YwMTRFCi06MTAxM0MwMDBGMDkwN0ZCNTc0MDJGMDIyOTA3RkVBRTBGNDcwNkQ5MEE3Ci06MTAxM0QwMDA3NjM4RTA5MDc2MUJGMDkwNzYzQUUwRkY5MDc2MUJFMDRFCi06MTAxM0UwMDBDMzlGNTA0RkUwRkY3NUYwMEFBNDI0QjJGNTgyRTQzNEE1Ci06MTAxM0YwMDA3NUY1ODNFMEZFOTA3NjFFRTBGRDA0RjA3NDAwMkRGNTk3Ci06MTAxNDAwMDA4MkU0MzQ3RkY1ODNFRUYwRUY3NUYwMEFBNDI0QjNGNTlGCi06MTAxNDEwMDA4MkU0MzQ3NUY1ODNFMEZGOTA3NjFFRTBGRTA0RjA3NEZDCi06MTAxNDIwMDAwMDJFRjU4MkU0MzQ3RkY1ODNFRkYwOTA3NjFCRTAwNDI0Ci06MTAxNDMwMDBGMDgwQTQ5MDc2MUVFMDkwN0ZCNUYwMjI5MDc2MUJFMEJECi06MTAxNDQwMDBGRjc1RjAwQUE0MjRCMkY1ODJFNDM0NzVGNTgzRTA5MEM4Ci06MTAxNDUwMDA3RjAwRjBFRjc1RjAwQUE0MjRCM0Y1ODJFNDM0NzVGNTRCCi06MTAxNDYwMDA4M0UwOTA3RjAxRjA5MDdGQjU3NDAyRjAyMjkwN0ZCNDBBCi06MTAxNDcwMDBFMDQ0MDFGMDIyOTA3RkI0RTA0NDAxRjAyMjkwN0ZCNDc4Ci06MDUxNDgwMDBFMDQ0MDFGMDIyMzAKLToxMDM4NzQwMEU0OTA3NjI5RjA5MDc2MjlFMEZGNzVGMDBGQTQyNDQyQjUKLToxMDM4ODQwMEY1ODJFNDM0NzVGNTgzRTBGRTkwN0ZFQ0UwRkRFRTZEQTcKLToxMDM4OTQwMDYwMEVFRkMzOTQwNjUwMDg5MDc2MjlFMDA0RjA4MEQ1QkEKLToxMDM4QTQwMEVGQjQwNjA4OTA3RkI0RTA0NDAxRjAyMkVGNzVGMDBGMDYKLToxMDM4QjQwMEE0MjQ0MUY1ODJFNDM0NzVGNTgzRTA5MDc2MkFGMDI0NUIKLToxMDM4QzQwMEJGNzAwMjQxNDEyNEUwNzAwMjQxMTIyNDIxNjAwMjQxOTAKLToxMDM4RDQwMDNBOTA3RkU5RTAyNEZFNjA3RDE0NzAwMjIxQjIyNDAyNTQKLToxMDM4RTQwMDYwMDI0MTBBMTIxNzUxOTA3NjQyRTBGQ0EzRTBGREEzNjYKLToxMDM4RjQwMEUwRkVBM0UwRkY5MDc2MjlFMDc1RjAwRkE0MjQ0M0Y1RTEKLToxMDM5MDQwMDgyRTQzNDc1RjU4MzEyMzdCQzkwNzYxOUUwRkZCNDAxNzQKLToxMDM5MTQwMDEyOTA3NjdDNzQ2N0YwOTA3NjdENzQwNkYwOTA3NjdFRDMKLToxMDM5MjQwMDc0MEJGMEVGQjQwMjBGRTQ5MDc2N0NGMDkwNzY3REYwQTcKLToxMDM5MzQwMDkwNzY3RTc0MENGMEVGQjQwMzBGRTQ5MDc2N0NGMDkwRjQKLToxMDM5NDQwMDc2N0RGMDkwNzY3RTc0MThGMDkwNzYxQTc0MDFGMDEyRjkKLToxMDM5NTQwMDNFOUYxMjE4MDAyMjkwN0VDMkUwRkZFNEZDRkRGRUZCQjUKLToxMDM5NjQwMEZBNzkwMUY4MTIzNzQ2QzhFQ0M4QzlFREM5Q0FFRUNBREIKLToxMDM5NzQwMENCRUZDQjkwN0VDMUUwRkVFNEZDRkQyQkZCRUEzRUZBRUMKLToxMDM5ODQwMEVEMzlGOUVDMzhGODkwN0VDMEUwRkZFNEZFRUIyRkZGNTAKLToxMDM5OTQwMEVFM0FGRUVEMzlGREVDMzhGQzkwNzYyOUUwNzVGMDBGMzcKLToxMDM5QTQwMEE0MjQ0N0Y1ODJFNDM0NzVGNTgzMTIzN0JDMjI5MDdFNTMKLToxMDM5QjQwMEMyRTBGRkU0RkNGREZFRkJGQTc5MDFGODEyMzc0NkM4QzkKLToxMDM5QzQwMEVDQzhDOUVEQzlDQUVFQ0FDQkVGQ0I5MDdFQzFFMEZFMEMKLToxMDM5RDQwMEU0RkNGRDJCRkJFQTNFRkFFRDM5RjlFQzM4Rjg5MDdFNzUKLToxMDM5RTQwMEMwRTBGRkU0RkVFQjJGRkZFRTNBRkVFRDM5RkRFQzM4Q0MKLToxMDM5RjQwMEZDOTA3NjI5RTA3NUYwMEZBNDI0NEJGNTgyRTQzNDc1MkQKLToxMDNBMDQwMEY1ODMxMjM3QkMyMjkwN0ZCNEUwNDQwMUYwMjI5MDdGMEEKLToxMDNBMTQwMEU5RTAxNDcwMTk5MDdFQzBFMEZGOTA3NjI5RTA3NUYwMUIKLToxMDNBMjQwMDBGQTQyNDRGRjU4MkU0MzQ3NUY1ODNFRkYwMjI5MDdGRTAKLTowRTNBMzQwMEI0RTA0NDAxRjAyMjkwN0ZCNEUwNDQwMUYwMjI5RgotOjEwMkFENjAwRTQ5MDc2MjdGMDkwNzYyN0UwRkY3NUYwMEZBNDI0NDI2NQotOjEwMkFFNjAwRjU4MkU0MzQ3NUY1ODNFMEZFOTA3RkVDRTBGREVFNkQ1MwotOjEwMkFGNjAwNjAwRUVGQzM5NDA2NTAwODkwNzYyN0UwMDRGMDgwRDU2OAotOjEwMkIwNjAwRUZCNDA2MDg5MDdGQjRFMDQ0MDFGMDIyRUY3NUYwMEZCMQotOjEwMkIxNjAwQTQyNDQxRjU4MkU0MzQ3NUY1ODNFMDkwNzYyOEYwMjQwOAotOjEwMkIyNjAwOUY3MDAyQTE3NDI0MjE2MDAyQTFBMTkwN0ZFOUUwMjQ5NAotOjEwMkIzNjAwN0U3MDAyNjFGQzE0NzAwMjgxQjUyNDAyNjAwMkExNkNGMQotOjEwMkI0NjAwRUY3NUYwMEZBNDI0NDNGNTgyRTQzNDc1RjU4M0UwRkNCOQotOjEwMkI1NjAwQTNFMEZEQTNFMEZFQTNFMEZGN0I0NDdBQUM3OTAwNzgxNgotOjEwMkI2NjAwMDBDMzEyMzdBQjcwMTM5MDdGMDA3NDQ0RjBBMzc0QUNBQgotOjEwMkI3NjAwRjBFNEEzRjA5MDdGQjU3NDAzRjA5MDc2MjdFMDc1RjA0QgotOjEwMkI4NjAwMEZBNDI0NDNGNTgyRTQzNDc1RjU4M0UwRkNBM0UwRkQ0RAotOjEwMkI5NjAwQTNFMEZFQTNFMEZGN0I4MDdBQkI3OTAwNzgwMEMzMTIzNgotOjEwMkJBNjAwMzdBQjcwMTM5MDdGMDA3NDgwRjBBMzc0QkJGMEU0QTM3RQotOjEwMkJCNjAwRjA5MDdGQjU3NDAzRjA5MDc2MjdFMDc1RjAwRkE0MjRBQgotOjEwMkJDNjAwNDNGNTgyRTQzNDc1RjU4M0UwRkNBM0UwRkRBM0UwRkU2MwotOjEwMkJENjAwQTNFMEZGN0IwMDdBNzc3OTAxNzgwMEMzMTIzN0FCNjBGOAotOjEwMkJFNjAwMDJBMUE4OTA3RjAwRjBBMzc0NzdGMEEzNzQwMUYwOTA3RgotOjEwMkJGNjAwN0ZCNTc0MDNGMDIyOTA3NjI3RTA3NUYwMEZBNDI0NDc4MgotOjEwMkMwNjAwRjU4MkU0MzQ3NUY1ODNFMEZDQTNFMEZEQTNFMEZFQTNDMgotOjEwMkMxNjAwRTBGRjdCNDQ3QUFDNzkwMDc4MDBDMzEyMzdBQjcwMTNCRgotOjEwMkMyNjAwOTA3RjAwNzQ0NEYwQTM3NEFDRjBFNEEzRjA5MDdGQjVGOQotOjEwMkMzNjAwNzQwM0YwOTA3NjI3RTA3NUYwMEZBNDI0NDdGNTgyRTQzQwotOjEwMkM0NjAwMzQ3NUY1ODNFMEZDQTNFMEZEQTNFMEZFQTNFMEZGN0I4MwotOjEwMkM1NjAwODA3QUJCNzkwMDc4MDBDMzEyMzdBQjcwMTM5MDdGMDA3RgotOjEwMkM2NjAwNzQ4MEYwQTM3NEJCRjBFNEEzRjA5MDdGQjU3NDAzRjAxNgotOjEwMkM3NjAwOTA3NjI3RTA3NUYwMEZBNDI0NDdGNTgyRTQzNDc1RjVDNQotOjEwMkM4NjAwODNFMEZDQTNFMEZEQTNFMEZFQTNFMEZGN0IwMDdBNzdGMAotOjEwMkM5NjAwNzkwMTc4MDBDMzEyMzdBQjYwMDJBMUE4OTA3RjAwRjBEQgotOjEwMkNBNjAwQTM3NDc3RjBBMzc0MDFGMDkwN0ZCNTc0MDNGMDIyOTBCQgotOjEwMkNCNjAwNzYyN0UwNzVGMDBGQTQyNDRCRjU4MkU0MzQ3NUY1ODM4RQotOjEwMkNDNjAwRTBGQ0EzRTBGREEzRTBGRUEzRTBGRjdCNDQ3QUFDNzk0MQotOjEwMkNENjAwMDA3ODAwQzMxMjM3QUI3MDEzOTA3RjAwNzQ0NEYwQTNFMgotOjEwMkNFNjAwNzRBQ0YwRTRBM0YwOTA3RkI1NzQwM0YwOTA3NjI3RTAxRgotOjEwMkNGNjAwNzVGMDBGQTQyNDRCRjU4MkU0MzQ3NUY1ODNFMEZDQTM0QwotOjEwMkQwNjAwRTBGREEzRTBGRUEzRTBGRjdCODA3QUJCNzkwMDc4MDBCQwotOjEwMkQxNjAwQzMxMjM3QUI3MDEzOTA3RjAwNzQ4MEYwQTM3NEJCRjBCRQotOjEwMkQyNjAwRTRBM0YwOTA3RkI1NzQwM0YwOTA3NjI3RTA3NUYwMEY3QQotOjEwMkQzNjAwQTQyNDRCRjU4MkU0MzQ3NUY1ODNFMEZDQTNFMEZEQTNGRgotOjEwMkQ0NjAwRTBGRUEzRTBGRjdCMDA3QTc3NzkwMTc4MDBDMzEyMzdCMwotOjEwMkQ1NjAwQUI3MDRGOTA3RjAwRjBBMzc0NzdGMEEzNzQwMUYwOTBFRQotOjEwMkQ2NjAwN0ZCNTc0MDNGMDIyOTA3RkI0RTA0NDAxRjAyMjkwN0Y5NwotOjEwMkQ3NjAwRTlFMDI0N0Y3MDFFOTA3NjI3RTA3NUYwMEZBNDI0NEZCQgotOjEwMkQ4NjAwRjU4MkU0MzQ3NUY1ODNFMDkwN0YwMEYwOTA3RkI1NzRBQQotOjEwMkQ5NjAwMDFGMDgwMDc5MDdGQjRFMDQ0MDFGMDkwN0ZCNEUwNDRGNgotOjAzMkRBNjAwMDFGMDIyMTcKLToxMDRCQTQwMDkwN0ZFQkUwMTQ3MDE0OTA3RkU5RTAyNDdGNzAwNDEyOEUKLToxMDRCQjQwMDQ5NTgyMjkwN0ZCNEUwNDQwMUYwMjI5MDdGQjRFMDQ0NEQKLTowMzRCQzQwMDAxRjAyMkRCCi06MTA0QkM3MDA5MDdGRUJFMDE0NzAxMzkwN0ZFOUUwMTQ3MDA0MTI0QUIxCi06MTA0QkQ3MDAwMzIyOTA3RkI0RTA0NDAxRjAyMjkwN0ZCNEUwNDQwMUM3Ci06MDI0QkU3MDBGMDIyQkEKLToxMDQ5NTgwMEU0OTA3NjI2RjA5MDc2MjZFMEZGNzVGMDAzQTQyNDM0RTAKLToxMDQ5NjgwMEY1ODJFNDM0NzVGNTgzRTBGRTkwN0ZFQ0UwRkRFRTZEQjIKLToxMDQ5NzgwMDYwMEVFRkMzOTQwNDUwMDg5MDc2MjZFMDA0RjA4MEQ1Q0EKLToxMDQ5ODgwMEVGQjQwNDA4OTA3RkI0RTA0NDAxRjAyMkVGNzVGMDAzMUYKLToxMDQ5OTgwMEE0MjQzMkY1ODJFNDM0NzVGNTgzRTA5MDdGMDBGMDkwMkEKLTowNjQ5QTgwMDdGQjU3NDAxRjAyMjRFCi06MTA0QTAzMDBFNDkwNzYyNUYwOTA3NjI1RTBGRjc1RjAwM0E0MjQzNDM2Ci06MTA0QTEzMDBGNTgyRTQzNDc1RjU4M0UwRkU5MDdGRUNFMEZERUU2RDA2Ci06MTA0QTIzMDA2MDBFRUZDMzk0MDQ1MDA4OTA3NjI1RTAwNEYwODBENTFGCi06MTA0QTMzMDBFRkI0MDQwODkwN0ZCNEUwNDQwMUYwMjI5MDdFQzBFMDFDCi06MTA0QTQzMDBGRUVGNzVGMDAzQTQyNDMyRjU4MkU0MzQ3NUY1ODNFRUFBCi06MDI0QTUzMDBGMDIyNEYKLTowMzAwMDMwMDAyMEZGREVDCi06MDMwRkZEMDBDMjg5MzI3NAotOjAzMDAxMzAwMDIxN0ZERDQKLTowMzE3RkQwMEMyOEIzMjZBCi06MDMwMDRCMDAwMjRFMDM1RgotOjA0NEUwMzAwNTM5MURGMzJCNgotOjAzMDA1MzAwMDI0OEZBNjYKLTowNjQ4RkEwMDUzOTFCRkQyMkQzMkU0Ci06MDMwMDVCMDAwMjRERkQ1NgotOjA2NERGRDAwNTM5MTdGRDIyQzMyMUQKLTowMzAwNjMwMDAyNEUwNzQzCi06MDQ0RTA3MDA1M0Q4RjczMjUzCi06MDMwMDBCMDAwMjRFMEY5MwotOjAzNEUwRjAwQzI4RDMyMUYKLTowMzAwMUIwMDAyNEUxMjgwCi06MDM0RTEyMDBDMjhGMzIxQQotOjAzMDAyMzAwMDI0REVGOUMKLTowNzRERUYwMDUzOThGRTUzOThGRDMyQkEKLTowMzAwM0IwMDAyNERGNjdECi06MDc0REY2MDA1M0MwRkU1M0MwRkQzMjYzCi06MDMwMDJCMDAwMjQ4MDA4OAotOjEwNDgwMDAwQzBFMEMwRjBDMDgzQzA4MkMwRDBFOEMwRTBFOUMwRTAzMgotOjEwNDgxMDAwRUFDMEUwRUJDMEUwRUNDMEUwRURDMEUwRUVDMEUwRUZFRAotOjEwNDgyMDAwQzBFMEMyQ0FDMkNGOTA3Rjk4RTA0NDAxRjAzMDJFMDNBRQotOjEwNDgzMDAwMTIxNEE2OTA3Rjk4RTA1NEZFRjA1M0E4RkExMjE2NjE2NQotOjEwNDg0MDAwRDBFMEZGRDBFMEZFRDBFMEZERDBFMEZDRDBFMEZCRDAzNwotOjEwNDg1MDAwRTBGQUQwRTBGOUQwRTBGOEQwRDBEMDgyRDA4M0QwRjAyOAotOjAzNDg2MDAwRDBFMDMyNzMKLToxMDRBQTYwMEU0OTA3NjlCRjA5MDc2OUJFMEZGMDRGMEVGNjAwOEUwRTAKLToxMDRBQjYwMDI0MDhGOEU0RjY4MEVFOTA3Njk2RTA0NDA0RjA0NDA4ODQKLToxMDRBQzYwMEYwOTA4MDAzRjBFNEY1MThEMjM1RjUwRUY1MTBEMjM2RTUKLToxMDRBRDYwMDc1MTIxMTc1MTMyMkMyMzdDMjM5QzIzOEY1MTZGNTE0OEMKLTowQjRBRTYwMEY1MUFGNTBEQzIzQkMyM0NDMjNEMjI5OAotOjEwMzAwMDAwOTA3RkI2RTAyMEUxMDJDMjNERDIzNjIwMzYwMjQxNkUwQQotOjEwMzAxMDAwMzAzRDAyNDE2RTkwODAwN0UwNjAwNEQyMzY4MDAyQzJFQgotOjEwMzAyMDAwMzYyMDM2MDI0MTJFRDIzNUU0RjUxQTkwODAwNEUwRjVDMAotOjEwMzAzMDAwMTk3NDA4MjUwRUY4QTYxOTg1MTkxOEU1MTgyMEU3MDQ1MwotOjEwMzA0MDAwRDIzODgwMDJDMjM4MzAzODAyMjFENEU0RjUxNkU1MTlBRQotOjEwMzA1MDAwQjRGMDBDRDIzOTc1MDgwNDc1MDlGMDA1MEU4MDAyMDUyQwotOjEwMzA2MDAwMTZFNTE5NjRGNzcwM0RDMjM5RTUwRTI0RkU2MDE3MTRBOQotOjEwMzA3MDAwNjAyMjI0MDM3MDI5NzUwODA1NzUwOUY3RTRGNTBBRjUzRgotOjEwMzA4MDAwMEI3NTBFMDQ4MDIwNzUwODA2NzUwQUY3RTRGNTBCNzVCQwotOjEwMzA5MDAwMEUwNDgwMTI3NTA4MDc3NTBCRjc3NTBFMDQ4MDA3MTI3MQotOjEwMzBBMDAwNEREQTgwMDIwNTE2RTUxOTU0Rjg2NEY4NzAzQkMyMzUxNAotOjEwMzBCMDAwRTUxOTI0MDc2MDBDMjRGQzYwMDgyNDA1MjRGODUwMDY1OAotOjEwMzBDMDAwODAwOEQyM0E4MDA2QzIzQTgwMDJEMjNBNzUxQTAxMjBBQwotOjEwMzBEMDAwM0ExOTkwN0U4MDc0MEZGMEEzRTUxOUYwRTRBM0YwQTNGMQotOjEwMzBFMDAwRjA5MDdGQjc3NDA0RjA4MDAyMDUxNjIwMzk2REU1MTk2MQotOjEwMzBGMDAwNjRGNzYwNjdFNTFBNzA2M0U1MTg1NEYwNjRGMDcwNTk3RQotOjEwMzEwMDAwODUxODE5RjUwRUU1MTkyNDBGNjAxQjI0RkU2MDE3MjQ5RAotOjEwMzExMDAwRkQ2MDIyMTQ2MDFGMjQwNTcwMkY3NTA4MDMwNTBFODVCRAotOjEwMzEyMDAwMTgwOUQyMzc4MDI4NzUwODAyMDUwRTg1MTgwOTc1MTQwQwotOjEwMzEzMDAwMDFEMjM3ODAxOTc1MDgwNTA1MEU4NTE4MDlFNEY1MEFDRQotOjEwMzE0MDAwRjUwQjc1MEUwM0QyMzc4MDA1MTI0RERBQzIzNTMwMzVENgotOjEwMzE1MDAwMEE4NTA4MTM4NTE4MTI4MDAyMDUxNjg1MTgxOUU1MTZDOAotOjEwMzE2MDAwNjQwNDcwNjJGNTBFRTUxOTU0RjBGNTE5RjUxNTg1MTgyQgotOjEwMzE3MDAwMTlFNTE1MjQ3MDYwMTgyNEYwNjAxNDI0RjA2MDEwMjQwMAotOjEwMzE4MDAwRjA2MDFFMjRGMDYwMUEyNEYwNjAwNDI0NjA3MDI3RTVDQgotOjEwMzE5MDAwMTVDNDU0MEZGNTE5RjUwODA1MEU4NTE4MDlEMjM3ODBBNgotOjEwMzFBMDAwMUFFNTE1QzQ1NDBGRjUxOUY1MDgwNTBFODUxODA5NzVBQgotOjEwMzFCMDAwMTQwMUQyMzc4MDA1MTI0RERBQzIzNTMwMzUwQTg1MTkyRgotOjEwMzFDMDAwMTM4NTE4MTI4MDAyMDUxNkU1MTZEMzk0MDU0MDU3MTI5MAotOjEwMzFEMDAwNEREQTgwNTIzMDM5MTdFNTBFNzAwQTg1MDgwOTc1MDhGNgotOjEwMzFFMDAwMDQwNTBFODA0MTc0MDgyNTBFRjhBNjE5ODAzODIwMzc5MgotOjEwMzFGMDAwMkFFNTBFQjQwMTBGODUwODBBODUwOTBCODUxMzA4ODU5OQotOjEwMzIwMDAwMTIwOTc1MEUwNEU1MTRCNDAxMUM4NTA4MEFFNEY1MEJENwotOjEwMzIxMDAwODUxMzA4ODUxMjA5NzUwRTA0ODAwQkU1MTRCNDAxMDZBOAotOjEwMzIyMDAwRTRGNTBCNzUwRTA0RTRGNTFBMzAzNTAyMDUwRUU1MEVEMwotOjEwMzIzMDAwRDM5NDAzNTAwMjAxMEJDMjM3RTRGNTBFRjUxMEMyMzZFOQotOjEwMzI0MDAwRDIzREY1MTQ3NDA4MjUxMEY4RTZGRjc0ODAyNTEwRjVCQQotOjEwMzI1MDAwODJFNDM0N0VGNTgzRUZGMDc0MDgyNTEwRjhFNEY2MDU3NwotOjBGMzI2MDAwMTBFNTEwQjQwNERFOTA3RkI3NzQwNEYwMDEwQjIyNjgKLTowQzREREEwMEMyMzdFNEY1MEVGNTEwQzIzNkY1MTQyMkM1Ci06MTA0MDAwMDBFNTExRDM5NDAwNTAwMjIxMDY5MDc2ODlFMEMzOTQwODBDCi06MTA0MDEwMDA0MDAyMjEwNjc0NDAyNTBGRjU4MkU0MzQ3RUY1ODNFMEVBCi06MTA0MDIwMDBGNTE3RTUwRDYwMEU5MDgwMDVFNTE3RjA5MDc2ODlFMEI0Ci06MTA0MDMwMDAwNEYwMDFEQUU1MTcxMjM3Rjk0MEMxMDI0MDY3MDU0MDg0Ci06MTA0MDQwMDA3QTA2NDA5ODA3NDBDMTBDNDBDMTBENDBDNzBGNDBDQkQ1Ci06MTA0MDUwMDBGNjQwQ0JGODQwQ0JGQTQwQ0JGQjQwQ0JGQzQwQ0JGRTRDCi06MTA0MDYwMDA0MENCRkYwMDAwNDBEQTkwN0U0MUUwOTA4MDA1RjA5MDY4Ci06MTA0MDcwMDA3Njg5RTAwNEYwNzUxMTAxODA2MDkwN0U0MUUwOTA4MEM3Ci06MTA0MDgwMDAwNUYwOTA3RTQyRTA5MDgwMDVGMDkwNzY4OUUwMDRGMEEzCi06MTA0MDkwMDBFMDA0RjA3NTExMDE4MDQyOTA3RTQxRTA5MDgwMDVGMENGCi06MTA0MEEwMDA5MDdFNDJFMDkwODAwNUYwOTA3RTQzRTA5MDgwMDVGMEE1Ci06MTA0MEIwMDA5MDc2ODlFMDA0RjBFMDA0RjBFMDA0RjA3NTExMDE4MEVFCi06MTA0MEMwMDAxOUQyM0JEMjNDODAxM0QyM0I4MDBGOTA4MDA1RTUxNzdDCi06MTA0MEQwMDBGMDkwNzY4OUUwMDRGMDc1MTEwMTIwM0IwNDA1MEQ4MDE1Ci06MTA0MEUwMDAxRjMwM0MxQzkwN0U0MUUwOTA4MDA1RjA5MDdFNDJFMEM1Ci06MTA0MEYwMDA5MDgwMDVGMDkwNzY4OUUwMDRGMEUwMDRGMDc1MTEwMUZECi06MTA0MTAwMDAwNTBGMTUxMTAxMDBFNTExNzAxMEMyMzNGNTBERjUwRjAzCi06MEI0MTEwMDA5MDdGQzc3NDA0RjBDMjNCQzIzQzIyNDkKLToxMDRDMjkwMDkwN0ZENkUwMzBFNzEyRTA0NDAxRjA3RjE0N0UwMDEyNTUKLTowQTRDMzkwMDREOUQ5MDdGRDZFMDU0RkVGMDIyNUUKLToxMDRCN0YwMDkwN0ZENkUwNTRGQkYwRTA0NDA4RjAzMDQyMDRFMDQ0NkMKLToxMDRCOEYwMDAyRjA3RkRDN0UwNTEyNEQ5RDkwN0ZENkUwNTRGN0YwNEEKLTowNTRCOUYwMEUwNDQwNEYwMjJENwotOjEwNEQ5RDAwOEUzNThGMzZFNTM2MTUzNkFFMzU3MDAyMTUzNTRFNjBDQgotOjA3NERBRDAwMDUxMjE0ODU4MEVFMjJCRgotOjEwNEE1NTAwRTRGRTc1MURGRjc1MUUwNTc1MUYxMkFCMURBQTFFQTk2NwotOjEwNEE2NTAwMUY5MDAwMDExMjM2QUI2NDAyNzAyRkNERUVDRDBFRUQxNgotOjEwNEE3NTAwNkY3MDAxMjI5MDAwMDIxMjM3MEU4NUYwMUJGNTFDNjI0MwotOjEwNEE4NTAwMUJFNTFCNjIxQ0U1MUM2MjFCMjlGREU1MUIzQUM5RURGNAotOjEwNEE5NTAwQzk3NTFERkZGNTFFODkxRjgwQzE3QjAwN0EwMDc5MDA0RAotOjAxNEFBNTAwMjJFRQotOjA0MTc5NDAwOEQyOThCMkFFNgotOjEwMTc5ODAwMTI0QTU1RUE0OTYwNTcxMjM2OTI3RTAwMjlGRkVFM0FGRQotOjEwMTdBODAwQzlFRkM5NzUyQkZGRjUyQzg5MkRBQjJCQUEyQ0E5MkRCOAotOjEwMTdCODAwOTAwMDAxMTIzNkFCRkY2NDA0NjAwNUVGNjQwNTcwMkVEQgotOjEwMTdDODAwRUZCNDA0MTU5MDAwMDIxMjM2QUI2NTI5NzAwQjkwMDAzNwotOjEwMTdEODAwMDMxMjM2QUI2NTJBNzAwMTIyMTIzNjkyN0UwMDI5RkY2OQotOjEwMTdFODAwRUUzQUM5RUZDOTc1MkJGRkY1MkM4OTJEODBCQzdCMDAxQgotOjA0MTdGODAwN0EwMDc5MDBGQQotOjAxMTdGQzAwMjJDQQotOjAyNDdCNzAwOEYyRTQzCi06MTA0N0I5MDBFNEY1MkY3NTMwRkY3NTMxMDc3NTMyMUFBQjMwQUEzMTIwCi06MTA0N0M5MDBBOTMyOTAwMDAxMTIzNkFCQjQwMzFGQUYyRjA1MkZFRkFBCi06MTA0N0Q5MDA2NTJFNzAwMTIyMTIzNjkyN0UwMDI5RkZFRTNBQzlFRjRBCi06MTA0N0U5MDBDOTc1MzBGRkY1MzE4OTMyODBEMjdCMDA3QTAwNzkwMEIyCi06MDE0N0Y5MDAyMjlECi06MTAwNTAwMDAxMjAxMTAwMTAwMDAwMDQwNkEwODExMDEwMDAxMDEwMkZGCi06MTAwNTEwMDAwMDAxMDkwMjA4MDIwNTAxMDA4MDMyMDkwNDAwMDAwMDAwCi06MTAwNTIwMDAwMTAxMDAwMDBBMjQwMTAwMDE1NjAwMDIwMTAyMEMyNDBFCi06MTAwNTMwMDAwMjAxMDEwMTAwMDIwMDAwMDAwMDBEMjQwNjA1MDEwMjc1Ci06MTAwNTQwMDAwMzAwMDAwMDAwMDAwMDA5MjQwMzAyMDQwMzAwMDUwMDZBCi06MTAwNTUwMDAwQzI0MDIwMzA1MDIwMDA2MDAwMDAwMDAxNTI0MDYwNjE0Ci06MTAwNTYwMDAwMzAyMDAwMDAzMDAwMzAwMDMwMDAzMDAwMzAwMDMwMDc0Ci06MTAwNTcwMDAwMDA5MjQwMzA0MDEwMTAwMDYwMDA5MDQwMTAwMDAwMTMwCi06MTAwNTgwMDAwMjAwMDAwOTA0MDEwMTAyMDEwMjAwMDAwNzI0MDEwMTI4Ci06MTAwNTkwMDAwMDAxMDAxMTI0MDIwMTAyMDIxMDAzNDRBQzAwODBCQkUwCi06MTAwNUEwMDAwMDAwNzcwMTA5MDUwQTA1ODQwMTAxMDA4RjA3MjUwMTc0Ci06MTAwNUIwMDAwMTAwMDAwMDA5MDU4RjAxMDMwMDAxMDUwMDA5MDQwMTg1Ci06MTAwNUMwMDAwMjAyMDEwMjAwMDAwNzI0MDEwMTAwMDEwMDExMjQwMkJGCi06MTAwNUQwMDAwMTAyMDMxODAzNDRBQzAwODBCQjAwMDA3NzAxMDkwNTQ5Ci06MTAwNUUwMDAwQTA1NDYwMjAxMDA4RjA3MjUwMTAxMDAwMDAwMDkwNUU4Ci06MTAwNUYwMDA4RjAxMDMwMDAxMDUwMDA5MDQwMjAwMDAwMTAyMDAwMDUwCi06MTAwNjAwMDAwOTA0MDIwMTAxMDEwMjAwMDAwNzI0MDEwNDAwMDEwMEE1Ci06MTAwNjEwMDAwRTI0MDIwMTA2MDIxMDAyNDRBQzAwODBCQjAwMDkwNTUyCi06MTAwNjIwMDA4QzA1NEMwMjAxMDAwMDA3MjUwMTAwMDIwMDAwMDkwNEFFCi06MTAwNjMwMDAwMjAyMDEwMTAyMDAwMDA3MjQwMTA0MDAwMTAwMEUyNDRGCi06MTAwNjQwMDAwMjAxMDYwMzE4MDI0NEFDMDA4MEJCMDAwOTA1OEMwNUJBCi06MTAwNjUwMDA3MjAzMDEwMDAwMDcyNTAxMDAwMjAwMDAwOTA0MDIwM0UzCi06MTAwNjYwMDAwMTAxMDIwMDAwMDcyNDAxMDQwMDAxMDAxMTI0MDIwMTFECi06MTAwNjcwMDAwMjAyMTAwMzQ0QUMwMDgwQkIwMDAwNzcwMTA5MDU4QzI2Ci06MTAwNjgwMDAwNTg0MDEwMTAwMDAwNzI1MDEwMDAyMDAwMDA5MDQwMkExCi06MTAwNjkwMDAwNDAxMDEwMjAwMDAwNzI0MDEwNDAwMDEwMDExMjQwMkVBCi06MTAwNkEwMDAwMTAyMDMxODAzNDRBQzAwODBCQjAwMDA3NzAxMDkwNTc4Ci06MTAwNkIwMDA4QzA1NDYwMjAxMDAwMDA3MjUwMTAwMDIwMDAwMDkwNDI0Ci06MTAwNkMwMDAwMzAwMDAwMTAxMDAwMDA5MjQwMTAwMDEwOTAwMDEwNEU4Ci06MTAwNkQwMDAwOTA0MDQwMDAyMDEwMzAwMDAwNzI0MDEwMDAxMjQwMEIyCi06MTAwNkUwMDAwNjI0MDIwMTA3MDAwOTI0MDMwMjA4MDEwNzAxMDAwNjhECi06MTAwNkYwMDAyNDAyMDIwOTAwMDkyNDAzMDEwQTAxMDkwMTAwMDkwNTc1Ci06MTAwNzAwMDAwMTAyMDQwMDAwMDAwMDA1MjUwMTAxMDcwOTA1ODEwMjFFCi06MTAwNzEwMDAwNDAwMDAwMDAwMDUyNTAxMDEwQTA0MDMwOTA0MTgwMzcwCi06MTAwNzIwMDA0NTAwNkQwMDYxMDA2NzAwNjkwMDYzMDAyMDAwNDcwMDFDCi06MTAwNzMwMDA2RDAwNjIwMDQ4MDAyMjAzNDUwMDZEMDA2MTAwNjcwMDAzCi06MTAwNzQwMDA2OTAwNjMwMDIwMDA0NTAwNEQwMDQ5MDAyMDAwMzYwMDhDCi06MTAwNzUwMDA3QzAwMzIwMDIwMDA2RDAwMkEwMzQzMDA2RjAwNkUwMDExCi06MTAwNzYwMDA2NjAwNjkwMDY3MDA3NTAwNzIwMDYxMDA3NDAwNjkwMDJFCi06MTAwNzcwMDA2RjAwNkUwMDIwMDA1MzAwNzQwMDcyMDA2OTAwNkUwMDZDCi06MTAwNzgwMDA2NzAwMjIwMzQ5MDA2RTAwNzQwMDY1MDA3MjAwNjYwMDc1Ci06MTAwNzkwMDA2MTAwNjMwMDY1MDAyMDAwNTMwMDc0MDA3MjAwNjkwMDZFCi06MDYwN0EwMDA2RTAwNjcwMDAwMDA3RQotOjEwMTQ4NTAwNzQwMEY1ODY5MEZEQTU3QzA1QTNFNTgyNDU4MzcwRjk3QQotOjAxMTQ5NTAwMjIzNAotOjEwMTQ5NjAwOTA3RkQ2RTA0NDgwRjA0Mzg3MDEwMDAwMDAwMDAwMjJFMAotOjEwMTRBNjAwQzBEMEMwRTA4RkUwQzBFMDhFRTBDMEUwOERFMEMwRTBEQwotOjEwMTRCNjAwOENFMEMwRTBDMDgyQzA4MzA1ODZDMDg0QzA4NTdEMDAwNAotOjEwMTRDNjAwOTA3RkUzNzQ3QkYwQTM3NDgwRjA3QzExOTA3Rjk5RTBBOQotOjEwMTRENjAwNTQ0MERDMDMwMjE0RjNCNDAwMTM5MDdGRTI3NDQwRjAyRQotOjEwMTRFNjAwOTA3RkU1RjA5MDdGRTI3NDAwRjAwMjE0RDI5MDc2OTAzRgotOjEwMTRGNjAwRTBCNDAxMTI5MDc2OEZFMDJERkQ5MDdGRTI3NDgwRjBDQgotOjEwMTUwNjAwOTA3RjZDMDIxNTU3QjQwMjEyOTA3NjhGRTAyREZEOTBGNQotOjEwMTUxNjAwN0ZFMjc0ODBGMDkwN0Y2QzAyMTU5NkI0MDMxMjkwNzY4OQotOjEwMTUyNjAwOEZFMDJERkQ5MDdGRTI3NDgwRjA5MDdGNkMwMjE1RTFENAotOjEwMTUzNjAwQjQwNDEyOTA3NjhGRTAyREZEOTA3RkUyNzQ4MEYwOTBENwotOjEwMTU0NjAwN0Y2QzAyMTYxMDkwN0ZFMjc0ODBGMDkwN0Y2QzAyMTYxQQotOjEwMTU1NjAwNDBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBEREYyN0RCOQotOjEwMTU2NjAwMDIwNTg2OTA3RkUyNzQwMEYwOTA3RjlCRTA1NDA0QjRGRAotOjEwMTU3NjAwMDAwNTA1ODYwMjE2NDA5MDdGRTI3NDgwRjAwNTg2RjAyRAotOjEwMTU4NjAwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMERERDQwMjE2NDBGQwotOjEwMTU5NjAwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjA0NQotOjEwMTVBNjAwRjBGMERERUM3RDAyMDU4NjkwN0ZFMjc0MDBGMDkwN0YxRQotOjEwMTVCNjAwOUJFMDU0MDRCNDAwMDUwNTg2MDIxNjQwOTA3RkUyNzQ1MQotOjEwMTVDNjAwODBGMDA1ODZGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBEQQotOjA2MTVENjAwRjBGMEYwRjBGMEYwNkYKLToxMDE1REMwMEREQ0UwMjE2NDBGMEYwRjBGMERERkE3RDAyMDU4NjkwQ0IKLToxMDE1RUMwMDdGRTI3NDAwRjA5MDdGOUJFMDU0MDRCNDAwMDUwNTg2MDQKLToxMDE1RkMwMDAyMTY0MDkwN0ZFMjc0ODBGMDA1ODZGMEYwRjBGMEREOEEKLToxMDE2MEMwMERDMDIxNjQwRjBGMEYwRjBGMEYwRERGODdEMDIwNTg2MUIKLToxMDE2MUMwMDkwN0ZFMjc0MDBGMDkwN0Y5QkUwNTQwNEI0MDAwNTA1QzkKLToxMDE2MkMwMDg2MDIxNjQwOTA3RkUyNzQ4MEYwMDU4NkYwRjBGMEYwQjAKLToxMDE2M0MwMEYwRjBERERBOTA3RkUyNzQwMEYwRDA4NUQwODQwNTg2N0UKLToxMDE2NEMwMEQwODNEMDgyRDBFMEZDRDBFMEZERDBFMEZFRDBFMEZGMzMKLTowNTE2NUMwMEQwRTBEMEQwMjIxNwotOjEwMTY2MTAwQzBEMEMwRTBDMDgyQzA4MzkwNzY3Q0UwOTA3RjZGRjBGNAotOjEwMTY3MTAwOTA3NjdERTA5MDdGNkZGMDkwNzY3RUUwOTA3RjZGRjBDNgotOjA5MTY4MTAwRDA4M0QwODJEMEUwRDBEMDIyNDkKLToxMDE2OEEwMEMwRDBDMEUwOEZFMEMwRTA4RUUwQzBFMEMwODJDMDgzN0UKLToxMDE2OUEwMDA1ODZDMDg0QzA4NTkwNzY4N0UwRkZCRjAwMDMwMjE3RTUKLToxMDE2QUEwMDAxOTA3Rjk2RTA0NDgwRjA5MDdGRTI3NDgwRjA5MDdGMTIKLToxMDE2QkEwMDYyRTAwNTg2OTA3RkUyNzQwMEYwOTA3Rjk2RTA1NDdGQTYKLToxMDE2Q0EwMEYwOTA3RkUyNzQ4MEYwOTA3NjhFRTBCNDAxMDUwNTg2OTIKLToxMDE2REEwMDAyMTZGNkI0MDIwNTA1ODYwMjE2RUIwNTg2MDIxNkZCMEIKLToxMDE2RUEwMEUwRTBFMEUwRTBFMERGRjgwMjE2RkJFMEUwRTBFMERGNjcKLToxMDE2RkEwMEZBOTA3RkUyNzQwMEYwRDA4NUQwODQwNTg2RDA4M0QwM0EKLTowQzE3MEEwMDgyRDBFMEZFRDBFMEZGRDBFMEQwRDAyMjgyCi06MTAxNzE2MDBDMDgyQzA4M0MwRTBFOEMwRTA3OEQxRTgxNEY4NzBGQjZFCi06MEExNzI2MDBEMEUwRjhEMEUwRDA4M0QwODIyMjlBCi06MTAwQ0E1MDA0MTcyMDEwMTQ1NzIwNTAwMDJDOTAwMDA0NTcyMEEwMDQyCi06MTAwQ0I1MDAwMTAyMDMwNDRENzIwRkQxMDBEMTAwMDAwMDAwMDAwMEI1Ci06MTAwQ0M1MDAyODI4MDkwMDRENzIxQzAxMDAwMTAyMDMwNDA1MDYwN0NFCi06MTAwQ0Q1MDAwODA5MEEwQjQxNzIyRTIyNDE3MjJGMjM0MTcyMzAyMERFCi06MTAwQ0U1MDA0MTcyMzEyMTYyRDI3MjNBMDAwMDAwMDAwMDAwMDAwMDFBCi06MTAwQ0Y1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVGCi06MTAwRDA1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERFCi06MTAwRDE1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENFCi06MTAwRDI1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEJFCi06MTAwRDM1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEFFCi06MTAwRDQ1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDlFCi06MTAwRDU1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhFCi06MTAwRDY1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdFCi06MTAwRDc1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMDEwMTAxMDEwMTY4Ci06MTAwRDg1MDAwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTRFCi06MTAwRDk1MDAwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTNFCi06MTAwREE1MDAwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTJFCi06MTAwREI1MDAwMTAxMDEwMTAxMDEwMTAxMDIwMjAyMDIwMjAyMDIwMjE2Ci06MTAwREM1MDAwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMkZFCi06MTAwREQ1MDAwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMkVFCi06MTAwREU1MDAwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMkRFCi06MTAwREY1MDAwMjAyMDIwMjAyMDMwMzAzMDMwMzAzMDMwMzAzMDMwM0MzCi06MTAwRTA1MDAwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwM0FECi06MTAwRTE1MDAwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzlECi06MTAwRTI1MDAwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzhECi06MTAwRTM1MDAwMzAzMDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDZGCi06MTAwRTQ1MDAwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDVECi06MTAwRTU1MDAwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDRECi06MTAwRTY1MDAwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDNECi06MTAwRTc1MDAwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNTFECi06MTAwRTg1MDAwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNTBECi06MTAwRTk1MDAwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNUZECi06MTAwRUE1MDAwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDYwNkVCCi06MTAwRUI1MDAwNjA2MDYwNjA2MDYwNjA2MDYwNjA2MDYwNjA2MDYwNkNECi06MTAwRUM1MDAwNjA2MDYwNjA2MDYwNjA2MDYwNjA2MDYwNjA2MDYwNkJECi06MTAwRUQ1MDAwNjA2MDYwNjA2MDYwNjA2MDYwNjA2MDYwNjA2MDYwNkFECi06MTAwRUU1MDAwNjA2MDYwNjA2MDYwNjA2MDYwNjA2MDcwNzA3MDgwODk2Ci06MTAwRUY1MDAwODA5MDkwOTBBMEEwQTBCMEIwQjBDMEMwQzBEMEQwRDQwCi06MTAwRjA1MDAwRTBFMEUwRjBGMEYxMDEwMTAxMTExMTExMjEyMTIxM0Q5Ci06MTAwRjE1MDAxMzEzMTQxNDE0MTUxNTE1MTYxNjE2MTcxNzE3MTgxODc0Ci06MTAwRjI1MDAxODE5MTkxOTE5MUExQTFBMUExQjFCMUIxQjFDMUMxQzE4Ci06MTAwRjM1MDAxQzFEMUQxRDFEMUUxRTFFMUUxRjFGMUYxRjIwMjAyMEM4Ci06MTAwRjQ1MDAyMTIxMjEyMjIyMjIyMzIzMjQyNDI1MjUyNjI2MjcyNzYxCi06MTAwRjU1MDAyODI4MjkyOTJBMkEyQjJCMkMyQzJEMkQyRTJFMkYyRkQ0Ci06MTAwRjY1MDAzMDMwMzEzMTMyMzIzMzMzMzQzNDM1MzUzNjM2MzczNzQ0Ci06MTAwRjc1MDAzODM4MzkzOTNBM0EzQjNDM0QzRTNGNDA0MTQyNDM0NDlCCi06MTAwRjg1MDA0NTQ2NDc0ODQ5NDk0QTRCNEI0QzRENEU0RjUwNTE1MkE3Ci06MTAwRjk1MDA1MzU0NTU1NTU2NTY1NzU3NTg1QTVCNUQ1RTVGNjE2MkI3Ci06MTAwRkE1MDA2MzY0NjU2NjY3Njg2OTZBNkI2QzZENkY3MTcyNzM3NDhCCi06MTAwRkI1MDA3NTc2Nzc3ODc5N0E3QjdDN0U4MDAxMzcwMTAxMzgwMEY4Ci06MTA0QjI4MDBFNDkwNzIzNkYwQTNGMDkwN0Y5N0UwNTRGQkYwRTQ5MEE1Ci06MTA0QjM4MDA3MjMzRjA5MDcyMzJGMDkwNzIwMTA0RjBFNDkwNzIzM0E0Ci06MTA0QjQ4MDBGMDkwNzIzMkYwOTA3MjAxMDRGMDkwN0Y5N0UwNDQwNDg0Ci06MDI0QjU4MDBGMDIyNDkKLToxMDMyNkYwMDkwNzYxOEUwRkY2NDA1NzA0MjkwNzVBQkUwQjQwMTE5RDkKLToxMDMyN0YwMDkwNzIzNzc0MDFGMEU0OTA4MDIwRjA5MDgwMzFGMDkwREMKLToxMDMyOEYwMDgwMjhGMDkwODAzOUYwODAyMkU0OTA3MjM3RjA5MDc1QUEKLToxMDMyOUYwMEFERTA5MDcyMkJGMEUwMjQ4MEYwRTA5MDgwMjBGMDkwNzEKLToxMDMyQUYwMDgwMzFGMDkwODAyOEYwOTA4MDM5RjBFRjY0MDY2MDAyNTIKLToxMDMyQkYwMDgxOTk5MDcyMzk3NDA0RjA5MDcyMzlFMEZGMjRGRTkwNzYKLToxMDMyQ0YwMDcyMDRGMEVGNzVGMDBBQTQyNEFCRjU4MkU0MzQ3NUY1QkYKLToxMDMyREYwMDgzRTA2NDAxNzA1NDkwNzIzNjA0RjA5MDcyMDRFMEZGNDIKLToxMDMyRUYwMDI0RkQ2MDI4MjRGRTYwMjQyNDAzMjRGQjUwMDQ2MDFDNkEKLToxMDMyRkYwMDgxOEM3NDIwMkZGNTgyRTQzNDgwRjU4M0U0RjA3NDI4RjgKLToxMDMzMEYwMDJGRjU4MkU0MzQ4MEY1ODNFNEYwODE4QzkwNzIwNEUwMzEKLToxMDMzMUYwMEZGMjQzMEY1ODJFNDM0ODBGNTgzRTRGMDc0MzgyRkY1MjAKLToxMDMzMkYwMDgyRTQzNDgwRjU4M0U0RjA4MThDRTQ5MDcyMzZGMDkwN0YKLToxMDMzM0YwMDcyMzlFMDc1RjAwQUE0MjRBREY1ODJFNDM0NzVGNTgzOTMKLToxMDMzNEYwMEUwRkY3RTAwOTA3NTBDRUVGMEEzRUZGMDcwMDY5MDcyMjgKLToxMDMzNUYwMDAyNzQzQkYwOTA3NTBDRTBGRUEzRTBGRjY0ODA0RTcwQUEKLToxMDMzNkYwMDA0OTA3MjAyRjBFRjRFNzAwMjgxMzVFRjY0ODA0RTcwNjAKLToxMDMzN0YwMDAyODEzNUVGRjhFNDkwNzUwREYwRTg5MDc1MENGMDkwNDAKLToxMDMzOEYwMDcyMzRFMDc1RjAwQUE0MjRBQ0Y1ODJFNDM0NzVGNTgzNDkKLToxMDMzOUYwMEUwRkY5MDcyMDJGMDkwNzUwREUwMkZGMDkwNzUwQ0UwNDkKLToxMDMzQUYwMDM0MDBGMEUwRkVBM0UwRkZFNEZDRkQ3QkQ2N0FBNUY5NDQKLToxMDMzQkYwMEY4RDMxMjM3OTU0MDBBOTA3NTBDNzRBNUYwQTM3NEQ2MDQKLToxMDMzQ0YwMEYwOTA3NTBERTAyNDJBRjA5MDc1MENFMDM0NUFGMEUwN0YKLToxMDMzREYwMEZFQTNFMDc4MDVDRUEyRTcxM0NFMTNEOEY4RkY5MDc1QzEKLToxMDMzRUYwMDBDRUVGMEEzRUZGMDkwNzIyQ0VFRjBBM0VGRjBEMzk0NkQKLToxMDMzRkYwMEQyRUU2NDgwOTQ4MjQwMEE5MDcyMkM3NDAyRjBBMzc0MEYKLToxMDM0MEYwMEQyRjBDMzkwNzIyQ0UwNjQ4MDk0ODA1MDA0RTRGMEEzNTcKLToxMDM0MUYwMEYwOTA3MjJDRTBGRUEzRTAyNDNBRjU4MkVFMzQ3MkY1QzAKLToxMDM0MkYwMDgzRTA5MDcyMDJGMDkwNzIwNEUwRkYyNEZENjAyRDI0N0YKLToxMDM0M0YwMEZFNjAyOTI0MDMyNEZCNTAwNDYwMjE4MDQwOTA3MjAyMTcKLToxMDM0NEYwMEUwRkU3NDIwMkZGNTgyRTQzNDgwRjU4M0VFRjA3NDI4Q0IKLToxMDM0NUYwMDJGRjU4MkU0MzQ4MEY1ODNFRUYwODAyMTkwNzIwMkUwNDQKLToxMDM0NkYwMEZGOTA3MjA0RTBGRTI0MzBGNTgyRTQzNDgwRjU4M0VGQTAKLToxMDM0N0YwMEYwNzQzODJFRjU4MkU0MzQ4MEY1ODNFRkYwOTA3MjM5RDIKLTowQjM0OEYwMEUwMDRGMEUwNjQwQTYwMDI0MUM3MjI4NAotOjEwMzQ5QTAwOTA3NjE4RTBGRkI0MDUyMzkwNzIzN0UwNzAxRDkwNzU5RQotOjEwMzRBQTAwQURFMDkwNzIyQkYwRTAyNDgwRjBFMDkwODAyMEYwOTA2NAotOjEwMzRCQTAwODAzMUYwOTA4MDI4RjA5MDgwMzlGMEVGNjQwNjYwMDI0NQotOjEwMzRDQTAwQzE5MTkwNzIzNkUwNjAwMkMxOTE5MDc2NDBFMDcwMzEwRAotOjEwMzREQTAwOTA3MjAzNzQwM0YwOTA3MjAzRTBGRjc1RjAwQUE0MjQ1QgotOjEwMzRFQTAwQUFGNTgyRTQzNDc1RjU4M0UwRkU5MDcyMjlFMEZERUVEOAotOjEwMzRGQTAwNkQ2MDBFRUZDMzk0MEE1MDA4OTA3MjAzRTAwNEYwODBFNgotOjEwMzUwQTAwRDU5MDcyMzk3NDA0RjA5MDc2NDBFMDcwMDg5MDcyMDM5NgotOjEwMzUxQTAwRTA5MDcyMzlGMDkwNzIzOUUwRkQyNEZFOTA3MjJBRjA0MAotOjEwMzUyQTAwRUQ3NUYwMEFBNDI0QURGNTgyRTQzNDc1RjU4M0UwRkY2NQotOjEwMzUzQTAwN0UwMDkwNzUwQ0VFRjBBM0VGRjA3MDA2OTA3MjAyNzRBNAotOjEwMzU0QTAwODBGMDkwNzUwQ0UwRkVBM0UwRkY2NDgwNEU3MDA0OTA1QQotOjEwMzU1QTAwNzIwMkYwRUY0RTcwMDJDMTFCRUY2NDgwNEU3MDAyQzExRQotOjEwMzU2QTAwMUJFRkY4RTQ5MDc1MERGMEU4OTA3NTBDRjBFRDc1RjAyRQotOjEwMzU3QTAwMEFBNDI0QUNGNTgyRTQzNDc1RjU4M0UwRkY5MDcyMDI2NAotOjEwMzU4QTAwRjA5MDc1MERFMDJGRjA5MDc1MENFMDM0MDBGMEUwRkUzRAotOjEwMzU5QTAwQTNFMEZGRTRGQ0ZEN0JENjdBQTVGOUY4RDMxMjM3OTVCMAotOjEwMzVBQTAwNDAwQTkwNzUwQzc0QTVGMEEzNzRENkYwOTA3NTBERTBERQotOjEwMzVCQTAwMjQyQUYwOTA3NTBDRTAzNDVBRjBFMEZFQTNFMDc4MDU3NgotOjEwMzVDQTAwQ0VBMkU3MTNDRTEzRDhGOEZGOTA3NTBDRUVGMEEzRUY1NgotOjEwMzVEQTAwRjA5MDcyMkNFRUYwQTNFRkYwRDM5NEQyRUU2NDgwOTRDNAotOjEwMzVFQTAwODI0MDBBOTA3MjJDNzQwMkYwQTM3NEQyRjBDMzkwNzJEMwotOjEwMzVGQTAwMkNFMDY0ODA5NDgwNTAwNEU0RjBBM0YwOTA3MjJDRTBGNAotOjEwMzYwQTAwRkVBM0UwMjQzQUY1ODJFRTM0NzJGNTgzRTA5MDcyMDI2QQotOjEwMzYxQTAwRjA5MDcyMkFFMEZGMjRGRDYwMkQyNEZFNjAyOTI0MDMyNQotOjEwMzYyQTAwMjRGQjUwMDQ2MDIxODA0MDkwNzIwMkUwRkU3NDIwMkYzNwotOjEwMzYzQTAwRjU4MkU0MzQ4MEY1ODNFRUYwNzQyODJGRjU4MkU0MzRDMQotOjEwMzY0QTAwODBGNTgzRUVGMDgwMjE5MDcyMDJFMEZGOTA3MjJBRTAwQQotOjEwMzY1QTAwRkUyNDMwRjU4MkU0MzQ4MEY1ODNFRkYwNzQzODJFRjVEOQotOjEwMzY2QTAwODJFNDM0ODBGNTgzRUZGMDkwNzY0MEUwNzAwNjkwNzI0MQotOjEwMzY3QTAwMzk3NDBBRjA5MDcyMzlFMDA0RjBFMEMzOTQwQTUwMDJGNwotOjA4MzY4QTAwQTExMUU0OTA3NjQwRjAyMjRBCi06MDQ0RTBCMDAxMjE3MzAyMjI4Ci06MTA0OUFFMDA5MDc2NDY3NDgwRjBFNEEzRjBBM0YwQTNGMEEzRjBBM0Y2Ci06MTA0OUJFMDBGMEEzRjBBM0YwQTNGMEEzNzQ4MEYwRTRBM0YwQTNGMEFGCi06MTA0OUNFMDBBM0YwQTNGMEEzRjBBM0YwQTM3NDQwRjBFNEEzRjBBMzJDCi06MTA0OURFMDA3NDQwRjBFNEEzRjBBM0YwQTNGMEEzRjBBM0YwQTNGMENGCi06MTA0OUVFMDBBMzc0NDBGMEU0QTNGMEEzNzQ0MEYwRTRBM0YwQTNGMEFBCi06MDU0OUZFMDBBM0YwQTNGMDIyNkMKLToxMDBGQzYwMEU0RkY3NDQ2MkZGNTgyRTQzNDc2RjU4M0UwRkU3NDIwNjAKLToxMDBGRDYwMDJGRjU4MkU0MzQ4MEY1ODNFRUYwNzQ0RTJGRjU4MkU0MkIKLToxMDBGRTYwMDM0NzZGNTgzRTBGRTc0MzAyRkY1ODJFNDM0ODBGNTgzQTEKLTowNjBGRjYwMEVFRjAwRkJGMDhDQzc1Ci06MDEwRkZDMDAyMkQyCi06MTA0QUYxMDBFNEZGNzQ1NjJGRjU4MkU0MzQ3NkY1ODNFMEZFNzQyOEUyCi06MTA0QjAxMDAyRkY1ODJFNDM0ODBGNTgzRUVGMDc0NUUyRkY1ODJFNEI0Ci06MTA0QjExMDAzNDc2RjU4M0UwRkU3NDM4MkZGNTgyRTQzNDgwRjU4MzMyCi06MDY0QjIxMDBFRUYwMEZCRjA4Q0MwRQotOjAxNEIyNzAwMjI2QgotOjEwMTczMDAwQzA4MkMwODNDMEUwRThDMEUwNzg3OEU4MTRGODcwRkJBRAotOjBBMTc0MDAwRDBFMEY4RDBFMEQwODNEMDgyMjI4MAotOjAzMDA0MzAwMDI0OTAwNkYKLToxMDQ5MDAwMDAyMkZFNzAwMDIzRDQ3MDAwMjREQjQwMDAyNEM0MzAwNzUKLToxMDQ5MTAwMDAyNEJFOTAwMDIyRkZGMDAwMjRDNUIwMDAyNEMwQTAwMzAKLToxMDQ5MjAwMDAyNEM3MjAwMDI0QjVBMDAwMjRDODkwMDAyNENBMDAwNUIKLToxMDQ5MzAwMDAyNENCNzAwMDI0Q0NFMDAwMjRDRTUwMDAyNENGQzAwRDkKLToxMDQ5NDAwMDAyNEQxMzAwMDI0RDJBMDAwMjRENDEwMDAyNEQ1ODAwNTUKLTowODQ5NTAwMDAyNEQ2RjAwMDI0RDg2MDBDQwotOjEwMUI0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5NQotOjEwMUI1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4NQotOjEwMUI2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3NQotOjEwMUI3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NQotOjEwMUI4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1NQotOjEwMUI5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0NQotOjEwMUJBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzNQotOjEwMUJCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNQotOjEwMUJDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNQotOjEwMUJEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNQotOjEwMUJFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGNQotOjEwMUJGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNQotOjEwMUMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBENAotOjEwMUMxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDNAotOjEwMUMyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCNAotOjEwMUMzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBNAotOjEwMUM0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5NAotOjEwMUM1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4NAotOjEwMUM2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3NAotOjEwMUM3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NAotOjEwMUM4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1NAotOjEwMUM5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0NAotOjEwMUNBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzNAotOjEwMUNCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNAotOjEwMUNDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNAotOjEwMUNEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNAotOjEwMUNFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGNAotOjEwMUNGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNAotOjEwMUQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBEMwotOjEwMUQxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDMwotOjEwMUQyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCMwotOjEwMUQzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMwotOjEwMUQ0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5MwotOjEwMUQ1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MwotOjEwMUQ2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3MwotOjEwMUQ3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MwotOjEwMUQ4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1MwotOjEwMUQ5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MwotOjEwMURBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMwotOjEwMURCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMwotOjEwMURDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMwotOjEwMUREMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMwotOjEwMURFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGMwotOjEwMURGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFMwotOjEwMUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBEMgotOjEwMUUxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDMgotOjEwMUUyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCMgotOjEwMUUzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMgotOjEwMUU0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5MgotOjEwMUU1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MgotOjEwMUU2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3MgotOjEwMUU3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MgotOjEwMUU4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1MgotOjEwMUU5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MgotOjEwMUVBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMgotOjBFMUVCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI0Ci06MTAxRUJFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE0Ci06MTAxRUNFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0Ci06MTAxRURFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEY0Ci06MTAxRUVFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU0Ci06MTAxRUZFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQ0Ci06MTAxRjBFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEMzCi06MTAxRjFFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEIzCi06MTAxRjJFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEEzCi06MDIxRjNFMDAwMDAwQTEKLToxMDFGNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTEKLToxMDFGNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODEKLToxMDFGNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzEKLToxMDFGNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjEKLToxMDFGODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTEKLToxMDFGOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDEKLToxMDFGQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzEKLToxMDFGQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjEKLToxMDFGQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTEKLToxMDFGRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEKLToxMDFGRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjEKLToxMDFGRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTEKLToxMDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDAKLToxMDIwMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzAKLToxMDIwMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjAKLToxMDIwMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTAKLToxMDIwNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTAKLToxMDIwNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODAKLToxMDIwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzAKLToxMDIwNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjAKLToxMDIwODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTAKLToxMDIwOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDAKLToxMDIwQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzAKLToxMDIwQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjAKLToxMDIwQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTAKLToxMDIwRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLToxMDIwRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjAKLToxMDIwRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTAKLToxMDIxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQ0YKLToxMDIxMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQkYKLToxMDIxMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQUYKLToxMDIxMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOUYKLToxMDIxNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOEYKLToxMDIxNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN0YKLToxMDIxNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNkYKLToxMDIxNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNUYKLToxMDIxODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNEYKLToxMDIxOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0YKLToxMDIxQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMkYKLToxMDIxQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMUYKLToxMDIxQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEYKLToxMDIxRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRkYKLToxMDIxRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRUYKLToxMDIxRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwREYKLToxMDIyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQ0UKLToxMDIyMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQkUKLToxMDIyMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQUUKLToxMDIyMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOUUKLToxMDIyNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOEUKLToxMDIyNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN0UKLToxMDIyNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNkUKLToxMDIyNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNUUKLToxMDIyODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNEUKLToxMDIyOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0UKLToxMDIyQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMkUKLToxMDIyQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMUUKLToxMDIyQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEUKLToxMDIyRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRkUKLToxMDIyRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRUUKLToxMDIyRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwREUKLToxMDIzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQ0QKLToxMDIzMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQkQKLToxMDIzMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQUQKLToxMDIzMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOUQKLToxMDIzNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOEQKLToxMDIzNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN0QKLToxMDIzNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNkQKLTowRTIzNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1RgotOjEwMjM3RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0RgotOjEwMjM4RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRgotOjEwMjM5RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyRgotOjEwMjNBRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxRgotOjEwMjNCRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRgotOjEwMjNDRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGRgotOjEwMjNERTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFRgotOjEwMjNFRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBERgotOjEwMjNGRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDRgotOjEwMjQwRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCRQotOjEwMjQxRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBRQotOjEwMjQyRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5RQotOjEwMjQzRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4RQotOjEwMjQ0RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3RQotOjEwMjQ1RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2RQotOjEwMjQ2RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1RQotOjEwMjQ3RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0RQotOjEwMjQ4RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRQotOjEwMjQ5RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyRQotOjEwMjRBRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxRQotOjEwMjRCRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRQotOjEwMjRDRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGRQotOjEwMjRERTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFRQotOjEwMjRFRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBERQotOjEwMjRGRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDRQotOjEwMjUwRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCRAotOjEwMjUxRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBRAotOjEwMjUyRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5RAotOjEwMjUzRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4RAotOjEwMjU0RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3RAotOjEwMjU1RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2RAotOjEwMjU2RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1RAotOjEwMjU3RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0RAotOjEwMjU4RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRAotOjEwMjU5RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyRAotOjEwMjVBRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxRAotOjEwMjVCRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRAotOjEwMjVDRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGRAotOjEwMjVERTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFRAotOjEwMjVFRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBERAotOjEwMjVGRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDRAotOjEwMjYwRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCQwotOjEwMjYxRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBQwotOjEwMjYyRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5QwotOjEwMjYzRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4QwotOjEwMjY0RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3QwotOjEwMjY1RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2QwotOjEwMjY2RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1QwotOjEwMjY3RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0QwotOjEwMjY4RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzQwotOjEwMjY5RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyQwotOjEwMjZBRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxQwotOjEwMjZCRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQwotOjEwMjZDRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGQwotOjEwMjZERTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFQwotOjBFMjZFRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERFCi06MTAyNkZDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENFCi06MTAyNzBDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEJECi06MTAyNzFDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEFECi06MTAyNzJDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDlECi06MTAyNzNDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhECi06MTAyNzRDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdECi06MTAyNzVDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDZECi06MTAyNzZDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDVECi06MTAyNzdDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRECi06MTAyNzhDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNECi06MTAyNzlDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJECi06MTAyN0FDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFECi06MTAyN0JDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBECi06MTAyN0NDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEZECi06MTAyN0RDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVECi06MTAyN0VDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERECi06MDUyN0ZDMDAwMDAwMDAwMDIyQjYKLTowNzE3NEEwMDkwN0ZDNTc0MDJGMDIyM0MKLToxMDE3NTEwMDkwN0VDMEUwOTA3NjQ1RjA5MDdFQzFFMDkwNzY0NEYwQjYKLToxMDE3NjEwMDkwN0VDMkUwOTA3NjQzRjBCNDAwMDMwMjE3Nzg5MDc2NDEKLToxMDE3NzEwMDE5NzQwM0YwMDIxNzhFOTA3NjQ0RTBCNEJCMDk5MDc2OTkKLToxMDE3ODEwMDE5NzQwMkYwMDIxNzhFOTA3NjE5NzQwMUYwOTA3NjQyNjYKLTowMzE3OTEwMEU0RjAyMjVGCi06MDMwMDAwMDAwMjQ2QjlGQwotOjBDNDZCOTAwNzg3RkU0RjZEOEZENzU4MTM4MDI0NzAwRDgKLToxMDM2OTIwMEJCMDEwNjg5ODI4QTgzRTAyMjUwMDJFNzIyQkJGRTAyMzYKLTowOTM2QTIwMEUzMjI4OTgyOEE4M0U0OTMyMjY5Ci06MTAzNkFCMDBCQjAxMENFNTgyMjlGNTgyRTU4MzNBRjU4M0UwMjI1MEQ0Ci06MTAzNkJCMDAwNkU5MjU4MkY4RTYyMkJCRkUwNkU5MjU4MkY4RTIyMjFFCi06MEQzNkNCMDBFNTgyMjlGNTgyRTU4MzNBRjU4M0U0OTMyMjM4Ci06MTAzNkQ4MDBDMkQ1RUMzMEU3MDlCMkQ1RTRDMzlERkRFNDlDRkNFRTBECi06MTAzNkU4MDAzMEU3MTVCMkQ1RTRDMzlGRkZFNDlFRkUxMjM4MUZDMzJFCi06MTAzNkY4MDBFNDlERkRFNDlDRkM4MDAzMTIzODFGMzBENTA3QzNFNDI5Ci06MDYzNzA4MDA5RkZGRTQ5RUZFMjI3QgotOjEwMzcwRTAwQkIwMTEwRTU4MjI5RjU4MkU1ODMzQUY1ODNFMEY1RjBGOQotOjEwMzcxRTAwQTNFMDIyNTAwOUU5MjU4MkY4ODZGMDA4RTYyMkJCRkVENgotOjEwMzcyRTAwMEFFOTI1ODJGOEUyRjVGMDA4RTIyMkU1ODMyQUY1ODMxQwotOjA4MzczRTAwRTk5M0Y1RjBBM0U5OTMyMkUxCi06MTAzNzQ2MDBFODhGRjBBNENDOEJGMEE0MkNGQ0U5OEVGMEE0MkNGQzIyCi06MTAzNzU2MDA4QUYwRURBNDJDRkNFQThFRjBBNENEQThGMDhCRjBBNEEwCi06MTAzNzY2MDAyRENDMzgyNUYwRkRFOThGRjBBNDJDQ0QzNUYwRkNFQkZGCi06MTAzNzc2MDA4RUYwQTRGRUE5RjBFQjhGRjBBNENGQzVGMDJFQ0QzOUM0Ci06MEYzNzg2MDBGRUU0M0NGQ0VBQTQyRENFMzVGMEZERTQzQ0ZDMjIzMQotOjEwMzc5NTAwRUI5RkY1RjBFQTlFNDJGMEU5OUQ0MkYwRUM2NDgwQzhBQgotOjA2MzdBNTAwNjQ4MDk4NDVGMDIyNEIKLToxMDM3QUIwMEVCOUZGNUYwRUE5RTQyRjBFOTlENDJGMEU4OUM0NUYwNzQKLTowMTM3QkIwMDIyRUIKLTowQzM3QkMwMEVDRjBBM0VERjBBM0VFRjBBM0VGRjAyMjgwCi06MTAzN0M4MDBBODgyODU4M0YwRDA4M0QwODIxMjM3REYxMjM3REYxMkM4Ci06MTAzN0Q4MDAzN0RGMTIzN0RGRTQ3M0U0OTNBM0M1ODNDNUYwQzU4M0VECi06MTAzN0U4MDBDOEM1ODJDOEYwQTNDNTgzQzVGMEM1ODNDOEM1ODJDODRCCi06MDEzN0Y4MDAyMkFFCi06MTAzN0Y5MDBEMDgzRDA4MkY4RTQ5MzcwMTI3NDAxOTM3MDBEQTNBMzVGCi06MTAzODA5MDA5M0Y4NzQwMTkzRjU4Mjg4ODNFNDczNzQwMjkzNjg2MDcyCi06MDYzODE5MDBFRkEzQTNBMzgwREY3MgotOjEwNDZDNTAwMDIwN0E2RTQ5M0EzRjhFNDkzQTM0MDAzRjY4MDAxRjI1RQotOjEwNDZENTAwMDhERkY0ODAyOUU0OTNBM0Y4NTQwNzI0MENDOEMzMzNGNgotOjEwNDZFNTAwQzQ1NDBGNDQyMEM4ODM0MDA0RjQ1NjgwMDE0NkY2REZDNQotOjEwNDZGNTAwRTQ4MDBCMDEwMjA0MDgxMDIwNDA4MDkwMEM4RkU0N0VCQQotOjEwNDcwNTAwMDE5MzYwQkNBM0ZGNTQzRjMwRTUwOTU0MUZGRUU0OTNCOQotOjEwNDcxNTAwQTM2MDAxMEVDRjU0QzAyNUUwNjBBODQwQjhFNDkzQTM4MAotOjEwNDcyNTAwRkFFNDkzQTNGOEU0OTNBM0M4QzU4MkM4Q0FDNTgzQ0FBQgotOjEwNDczNTAwRjBBM0M4QzU4MkM4Q0FDNTgzQ0FERkU5REVFNzgwQkU2MwotOjAxMEZDNTAwMDAyQgotOjEwMzgxRjAwQkMwMDBCQkUwMDI5RUY4REYwODRGRkFERjAyMkU0Q0M4RAotOjEwMzgyRjAwRjg3NUYwMDhFRjJGRkZFRTMzRkVFQzMzRkNFRTlERUM1NgotOjEwMzgzRjAwOTg0MDA1RkNFRTlERkUwRkQ1RjBFOUU0Q0VGRDIyRUQ5QwotOjEwMzg0RjAwRjhGNUYwRUU4NDIwRDIxQ0ZFQURGMDc1RjAwOEVGMkZFNgotOjEwMzg1RjAwRkZFRDMzRkQ0MDA3OTg1MDA2RDVGMEYyMjJDMzk4RkRENwotOjA1Mzg2RjAwMEZENUYwRUEyMjc0Ci06MDAwMDAwMDFGRgotLyoKLVZFUlNJT049MS4wNC4wNjIKLURBVEU9MTYuMTAuMjAwMiAgCi0qLwotc3RhdGljIElOVEVMX0hFWF9SRUNPUkQgZ19lbWk2Ml9sb2FkZXJbXSA9IHsKLSAgIDMsMHgwMDAwLDAsezB4MDIsMHgwMiwweDg3fSwKLSAgIDMsMHgwMDQzLDAsezB4MDIsMHgwNCwweDAwfSwKLSAgMTYsMHgwMTAwLDAsezB4ZTQsMHhmZiwweGZlLDB4YzIsMHgyMCwweGQyLDB4ZTgsMHg0MywweGQ4LDB4MjAsMHg5MCwweDdmLDB4YWIsMHg3NCwweGZmLDB4ZjB9LAotICAxNiwweDAxMTAsMCx7MHg5MCwweDdmLDB4YTksMHhmMCwweDkwLDB4N2YsMHhhYSwweGYwLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweDk1LDB4NzQsMHhjMH0sCi0gIDE2LDB4MDEyMCwwLHsweGYwLDB4OTAsMHg3ZiwweDllLDB4ZjAsMHg5MCwweDdmLDB4OTgsMHhmMCwweGU0LDB4OTAsMHg3ZiwweDk0LDB4ZjAsMHg5MCwweDdmfSwKLSAgMTYsMHgwMTMwLDAsezB4OWQsMHg3NCwweGZmLDB4ZjAsMHg5MCwweDdmLDB4OTcsMHg3NCwweGEwLDB4ZjAsMHg5MCwweDdmLDB4OTMsMHhlMCwweDU0LDB4ZmN9LAotICAxNiwweDAxNDAsMCx7MHhmMCwweDkwLDB4N2YsMHg5YywweDc0LDB4MDMsMHhmMCwweGU0LDB4OTAsMHg3ZiwweDk2LDB4ZjAsMHg5MCwweDdmLDB4YWYsMHhlMH0sCi0gIDE2LDB4MDE1MCwwLHsweDQ0LDB4MDEsMHhmMCwweDkwLDB4N2YsMHhhZSwweGUwLDB4NDQsMHgwZCwweGYwLDB4ZDIsMHhhZiwweDBmLDB4YmYsMHgwMCwweDAxfSwKLSAgMTYsMHgwMTYwLDAsezB4MGUsMHhiZSwweDA3LDB4ZjgsMHhiZiwweDA4LDB4ZjUsMHgyMCwweDIwLDB4NDIsMHg3NSwweDE0LDB4MDAsMHg3NSwweDEzLDB4MDB9LAotICAxNiwweDAxNzAsMCx7MHg3NSwweDEyLDB4MDAsMHg3NSwweDExLDB4MDAsMHg3ZiwweDQ4LDB4N2UsMHg5MiwweDdkLDB4MDAsMHg3YywweDAwLDB4YWIsMHgxNH0sCi0gIDE2LDB4MDE4MCwwLHsweGFhLDB4MTMsMHhhOSwweDEyLDB4YTgsMHgxMSwweGMzLDB4MTIsMHgwMywweGVkLDB4NTAsMHhkYiwweDIwLDB4MjAsMHhkOCwweDdhfSwKLSAgMTYsMHgwMTkwLDAsezB4MDAsMHg3OSwweDAwLDB4NzgsMHgwMCwweGU1LDB4MTQsMHgyNCwweDAxLDB4ZjUsMHgxNCwweGVhLDB4MzUsMHgxMywweGY1LDB4MTN9LAotICAxNiwweDAxYTAsMCx7MHhlOSwweDM1LDB4MTIsMHhmNSwweDEyLDB4ZTgsMHgzNSwweDExLDB4ZjUsMHgxMSwweDgwLDB4Y2EsMHgzMCwweDIwLDB4ZmQsMHgxMn0sCi0gIDE2LDB4MDFiMCwwLHsweDAxLDB4YzcsMHg1MCwweDA3LDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0fSwKLSAgIDYsMHgwMWMwLDAsezB4MDIsMHhmMCwweGMyLDB4MjAsMHg4MCwweGU2fSwKLSAgIDEsMHgwMWM2LDAsezB4MjJ9LAotICAxNiwweDAxYzcsMCx7MHg5MCwweDdmLDB4ZTksMHhlMCwweDI0LDB4NWIsMHg2MCwweDYwLDB4MjQsMHgwMiwweDYwLDB4MDMsMHgwMiwweDAyLDB4ODUsMHg5MH0sCi0gIDE2LDB4MDFkNywwLHsweDdmLDB4ZWEsMHhlMCwweDc1LDB4MGEsMHgwMCwweGY1LDB4MGIsMHhhMywweGUwLDB4ZmUsMHhlNCwweGVlLDB4NDIsMHgwYSwweDkwfSwKLSAgMTYsMHgwMWU3LDAsezB4N2YsMHhlZSwweGUwLDB4NzUsMHgxNSwweDAwLDB4ZjUsMHgxNiwweGEzLDB4ZTAsMHhmZSwweGU0LDB4ZWUsMHg0MiwweDE1LDB4ZTV9LAotICAxNiwweDAxZjcsMCx7MHgxNiwweDQ1LDB4MTUsMHg3MCwweDAzLDB4MDIsMHgwMiwweDg1LDB4ZTQsMHg5MCwweDdmLDB4YzUsMHhmMCwweDkwLDB4N2YsMHhiNH0sCi0gIDE2LDB4MDIwNywwLHsweGUwLDB4MjAsMHhlMywweGY5LDB4OTAsMHg3ZiwweGM1LDB4ZTAsMHhmNSwweDBjLDB4MTIsMHgwMywweDEzLDB4YWYsMHgwYywweDdlfSwKLSAgMTYsMHgwMjE3LDAsezB4MDAsMHhlZiwweDI1LDB4MGIsMHhmNSwweDBiLDB4ZWUsMHgzNSwweDBhLDB4ZjUsMHgwYSwweGMzLDB4ZTUsMHgxNiwweDlmLDB4ZjV9LAotICAxNiwweDAyMjcsMCx7MHgxNiwweGU1LDB4MTUsMHg5ZSwweGY1LDB4MTUsMHg4MCwweGM3LDB4OTAsMHg3ZiwweGVhLDB4ZTAsMHg3NSwweDBhLDB4MDAsMHhmNX0sCi0gIDE2LDB4MDIzNywwLHsweDBiLDB4YTMsMHhlMCwweGZlLDB4ZTQsMHhlZSwweDQyLDB4MGEsMHg5MCwweDdmLDB4ZWUsMHhlMCwweDc1LDB4MTUsMHgwMCwweGY1fSwKLSAgMTYsMHgwMjQ3LDAsezB4MTYsMHhhMywweGUwLDB4ZmUsMHhlNCwweGVlLDB4NDIsMHgxNSwweGU1LDB4MTYsMHg0NSwweDE1LDB4NjAsMHgzMCwweGU0LDB4OTB9LAotICAxNiwweDAyNTcsMCx7MHg3ZiwweGM1LDB4ZjAsMHg5MCwweDdmLDB4YjQsMHhlMCwweDIwLDB4ZTMsMHhmOSwweDkwLDB4N2YsMHhjNSwweGUwLDB4ZjUsMHgwY30sCi0gIDE2LDB4MDI2NywwLHsweDEyLDB4MDMsMHgyYiwweGFmLDB4MGMsMHg3ZSwweDAwLDB4ZWYsMHgyNSwweDBiLDB4ZjUsMHgwYiwweGVlLDB4MzUsMHgwYSwweGY1fSwKLSAgMTUsMHgwMjc3LDAsezB4MGEsMHhjMywweGU1LDB4MTYsMHg5ZiwweGY1LDB4MTYsMHhlNSwweDE1LDB4OWUsMHhmNSwweDE1LDB4ODAsMHhjYSwweGMzfSwKLSAgIDEsMHgwMjg2LDAsezB4MjJ9LAotICAxMiwweDAyODcsMCx7MHg3OCwweDdmLDB4ZTQsMHhmNiwweGQ4LDB4ZmQsMHg3NSwweDgxLDB4MjksMHgwMiwweDAyLDB4Y2V9LAotICAxNiwweDAyOTMsMCx7MHgwMiwweDAxLDB4MDAsMHhlNCwweDkzLDB4YTMsMHhmOCwweGU0LDB4OTMsMHhhMywweDQwLDB4MDMsMHhmNiwweDgwLDB4MDEsMHhmMn0sCi0gIDE2LDB4MDJhMywwLHsweDA4LDB4ZGYsMHhmNCwweDgwLDB4MjksMHhlNCwweDkzLDB4YTMsMHhmOCwweDU0LDB4MDcsMHgyNCwweDBjLDB4YzgsMHhjMywweDMzfSwKLSAgMTYsMHgwMmIzLDAsezB4YzQsMHg1NCwweDBmLDB4NDQsMHgyMCwweGM4LDB4ODMsMHg0MCwweDA0LDB4ZjQsMHg1NiwweDgwLDB4MDEsMHg0NiwweGY2LDB4ZGZ9LAotICAxNiwweDAyYzMsMCx7MHhlNCwweDgwLDB4MGIsMHgwMSwweDAyLDB4MDQsMHgwOCwweDEwLDB4MjAsMHg0MCwweDgwLDB4OTAsMHgwNCwweDZlLDB4ZTQsMHg3ZX0sCi0gIDE2LDB4MDJkMywwLHsweDAxLDB4OTMsMHg2MCwweGJjLDB4YTMsMHhmZiwweDU0LDB4M2YsMHgzMCwweGU1LDB4MDksMHg1NCwweDFmLDB4ZmUsMHhlNCwweDkzfSwKLSAgMTYsMHgwMmUzLDAsezB4YTMsMHg2MCwweDAxLDB4MGUsMHhjZiwweDU0LDB4YzAsMHgyNSwweGUwLDB4NjAsMHhhOCwweDQwLDB4YjgsMHhlNCwweDkzLDB4YTN9LAotICAxNiwweDAyZjMsMCx7MHhmYSwweGU0LDB4OTMsMHhhMywweGY4LDB4ZTQsMHg5MywweGEzLDB4YzgsMHhjNSwweDgyLDB4YzgsMHhjYSwweGM1LDB4ODMsMHhjYX0sCi0gIDE2LDB4MDMwMywwLHsweGYwLDB4YTMsMHhjOCwweGM1LDB4ODIsMHhjOCwweGNhLDB4YzUsMHg4MywweGNhLDB4ZGYsMHhlOSwweGRlLDB4ZTcsMHg4MCwweGJlfSwKLSAgMTYsMHgwMzEzLDAsezB4ZTUsMHgwYywweGZmLDB4ZTUsMHgwYiwweGY1LDB4ODIsMHhlNSwweDBhLDB4ZjUsMHg4MywweDc1LDB4OTIsMHg3ZSwweDc0LDB4YzB9LAotICAgOCwweDAzMjMsMCx7MHhmOCwweGUyLDB4MDgsMHhmMCwweGEzLDB4ZGYsMHhmYSwweDIyfSwKLSAgMTYsMHgwMzJiLDAsezB4OTAsMHg3ZiwweDk2LDB4ODUsMHg4MywweDkyLDB4YTgsMHg4MiwweDc5LDB4MDIsMHg5MCwweDAwLDB4MDAsMHhlMCwweGI0LDB4MDB9LAotICAxNiwweDAzM2IsMCx7MHgwZCwweDc0LDB4MDEsMHhmMCwweDkwLDB4N2YsMHg5NywweGUwLDB4NTQsMHg3ZiwweGYwLDB4NDQsMHg4MCwweGYwLDB4ZTUsMHgwY30sCi0gIDE2LDB4MDM0YiwwLHsweGZmLDB4OTAsMHg3ZSwweGMwLDB4ZTAsMHhmNSwweDI4LDB4ZTQsMHhhMiwweDQ3LDB4MzMsMHhmMiwweDY5LDB4ZjIsMHhlNCwweGEyfSwKLSAgMTYsMHgwMzViLDAsezB4NDYsMHgzMywweGYyLDB4NjksMHhmMiwweGU0LDB4YTIsMHg0NSwweDMzLDB4ZjIsMHg2OSwweGYyLDB4ZTQsMHhhMiwweDQ0LDB4MzN9LAotICAxNiwweDAzNmIsMCx7MHhmMiwweDY5LDB4ZjIsMHhlNCwweGEyLDB4NDMsMHgzMywweGYyLDB4NjksMHhmMiwweGU0LDB4YTIsMHg0MiwweDMzLDB4ZjIsMHg2OX0sCi0gIDE2LDB4MDM3YiwwLHsweGYyLDB4ZTQsMHhhMiwweDQxLDB4MzMsMHhmMiwweDY5LDB4ZjIsMHhlNCwweGEyLDB4NDAsMHgzMywweGYyLDB4NjksMHhmMiwweGEzfSwKLSAgIDMsMHgwMzhiLDAsezB4ZGYsMHhjMiwweDIyfSwKLSAgMTYsMHgwMzhlLDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4OTAsMHg3ZiwweGM0LDB4ZTQsMHhmMCwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2Z9LAotICAxMSwweDAzOWUsMCx7MHhhYiwweDc0LDB4MDQsMHhmMCwweGQwLDB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfSwKLSAgMTYsMHgwM2E5LDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4ZDIsMHgyMCwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhYiwweDc0LDB4MDF9LAotICAgOCwweDAzYjksMCx7MHhmMCwweGQwLDB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfSwKLSAgMTYsMHgwM2MxLDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGFiLDB4NzQsMHgwMiwweGYwLDB4ZDB9LAotICAgNiwweDAzZDEsMCx7MHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9LAotICAxNiwweDAzZDcsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YWIsMHg3NCwweDEwLDB4ZjAsMHhkMH0sCi0gICA2LDB4MDNlNywwLHsweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn0sCi0gIDE2LDB4MDNlZCwwLHsweGViLDB4OWYsMHhmNSwweGYwLDB4ZWEsMHg5ZSwweDQyLDB4ZjAsMHhlOSwweDlkLDB4NDIsMHhmMCwweGU4LDB4OWMsMHg0NSwweGYwfSwKLSAgIDEsMHgwM2ZkLDAsezB4MjJ9LAotICAgMSwweDAzZmUsMCx7MHgzMn0sCi0gICAxLDB4MDNmZiwwLHsweDMyfSwKLSAgMTYsMHgwNDAwLDAsezB4MDIsMHgwMywweGE5LDB4MDAsMHgwMiwweDAzLDB4YzEsMHgwMCwweDAyLDB4MDMsMHg4ZSwweDAwLDB4MDIsMHgwNCwweDU4LDB4MDB9LAotICAxNiwweDA0MTAsMCx7MHgwMiwweDAzLDB4ZDcsMHgwMCwweDAyLDB4MDMsMHhmZSwweDAwLDB4MDIsMHgwMywweGZmLDB4MDAsMHgwMiwweDA0LDB4ODQsMHgwMH0sCi0gIDE2LDB4MDQyMCwwLHsweDAyLDB4MDQsMHg4NSwweDAwLDB4MDIsMHgwNCwweDg2LDB4MDAsMHgwMiwweDA0LDB4ODcsMHgwMCwweDAyLDB4MDQsMHg4OCwweDAwfSwKLSAgMTYsMHgwNDMwLDAsezB4MDIsMHgwNCwweDg5LDB4MDAsMHgwMiwweDA0LDB4OGEsMHgwMCwweDAyLDB4MDQsMHg4YiwweDAwLDB4MDIsMHgwNCwweDhjLDB4MDB9LAotICAxNiwweDA0NDAsMCx7MHgwMiwweDA0LDB4OGQsMHgwMCwweDAyLDB4MDQsMHg4ZSwweDAwLDB4MDIsMHgwNCwweDhmLDB4MDAsMHgwMiwweDA0LDB4OTAsMHgwMH0sCi0gICA4LDB4MDQ1MCwwLHsweDAyLDB4MDQsMHg5MSwweDAwLDB4MDIsMHgwNCwweDkyLDB4MDB9LAotICAxNiwweDA0NTgsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YWIsMHg3NCwweDA4LDB4ZjAsMHhkMH0sCi0gICA2LDB4MDQ2OCwwLHsweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn0sCi0gIDE2LDB4MDQ2ZSwwLHsweDAyLDB4MGEsMHgwMCwweDBmLDB4MDEsMHgwYywweDExLDB4MDQsMHgwZCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDEsMHgwMCwweDAwfSwKLSAgIDEsMHgwNDdlLDAsezB4MDB9LAotICAgNCwweDA0N2YsMCx7MHgwMiwweDE3LDB4MDAsMHgwMH0sCi0gICAxLDB4MDQ4MywwLHsweDAwfSwKLSAgIDEsMHgwNDg0LDAsezB4MzJ9LAotICAgMSwweDA0ODUsMCx7MHgzMn0sCi0gICAxLDB4MDQ4NiwwLHsweDMyfSwKLSAgIDEsMHgwNDg3LDAsezB4MzJ9LAotICAgMSwweDA0ODgsMCx7MHgzMn0sCi0gICAxLDB4MDQ4OSwwLHsweDMyfSwKLSAgIDEsMHgwNDhhLDAsezB4MzJ9LAotICAgMSwweDA0OGIsMCx7MHgzMn0sCi0gICAxLDB4MDQ4YywwLHsweDMyfSwKLSAgIDEsMHgwNDhkLDAsezB4MzJ9LAotICAgMSwweDA0OGUsMCx7MHgzMn0sCi0gICAxLDB4MDQ4ZiwwLHsweDMyfSwKLSAgIDEsMHgwNDkwLDAsezB4MzJ9LAotICAgMSwweDA0OTEsMCx7MHgzMn0sCi0gICAxLDB4MDQ5MiwwLHsweDMyfSwKLSAgMTYsMHgxMTAwLDAsezB4MTIsMHgwMSwweDEwLDB4MDEsMHgwMCwweDAwLDB4MDAsMHg0MCwweDZhLDB4MDgsMHgwMSwweDAxLDB4MDAsMHgwMSwweDAxLDB4MDJ9LAotICAxNiwweDExMTAsMCx7MHgwMCwweDAxLDB4MDksMHgwMiwweDIwLDB4MDAsMHgwMSwweDAxLDB4MDMsMHhhMCwweDAwLDB4MDksMHgwNCwweDAwLDB4MDAsMHgwMn0sCi0gIDE2LDB4MTEyMCwwLHsweGZmLDB4MDAsMHgwMCwweDA0LDB4MDcsMHgwNSwweDgyLDB4MDIsMHg0MCwweDAwLDB4MDAsMHgwNywweDA1LDB4MDIsMHgwMiwweDQwfSwKLSAgMTYsMHgxMTMwLDAsezB4MDAsMHgwMCwweDA0LDB4MDMsMHgwOSwweDA0LDB4MjYsMHgwMywweDQxLDB4MDAsMHg2ZSwweDAwLDB4NjMsMHgwMCwweDY4LDB4MDB9LAotICAxNiwweDExNDAsMCx7MHg2ZiwweDAwLDB4NzIsMHgwMCwweDIwLDB4MDAsMHg0MywweDAwLDB4NjgsMHgwMCwweDY5LDB4MDAsMHg3MCwweDAwLDB4NzMsMHgwMH0sCi0gIDE2LDB4MTE1MCwwLHsweDJjLDB4MDAsMHgyMCwweDAwLDB4NDksMHgwMCwweDZlLDB4MDAsMHg2MywweDAwLDB4MmUsMHgwMCwweDI4LDB4MDMsMHg0NiwweDAwfSwKLSAgMTYsMHgxMTYwLDAsezB4NjksMHgwMCwweDcyLDB4MDAsMHg2ZCwweDAwLDB4NzcsMHgwMCwweDYxLDB4MDAsMHg3MiwweDAwLDB4NjUsMHgwMCwweDIwLDB4MDB9LAotICAxNiwweDExNzAsMCx7MHg0NiwweDAwLDB4NzIsMHgwMCwweDYxLDB4MDAsMHg2ZCwweDAwLDB4NjUsMHgwMCwweDU3LDB4MDAsMHg2ZiwweDAwLDB4NzIsMHgwMH0sCi0gIDE2LDB4MTE4MCwwLHsweDZiLDB4MDAsMHg3MywweDAwLDB4MmEsMHgwMywweDQzLDB4MDAsMHg2ZiwweDAwLDB4NmUsMHgwMCwweDY2LDB4MDAsMHg2OSwweDAwfSwKLSAgMTYsMHgxMTkwLDAsezB4NjcsMHgwMCwweDc1LDB4MDAsMHg3MiwweDAwLDB4NjEsMHgwMCwweDc0LDB4MDAsMHg2OSwweDAwLDB4NmYsMHgwMCwweDZlLDB4MDB9LAotICAxNiwweDExYTAsMCx7MHgyMCwweDAwLDB4NTMsMHgwMCwweDc0LDB4MDAsMHg3MiwweDAwLDB4NjksMHgwMCwweDZlLDB4MDAsMHg2NywweDAwLDB4MjIsMHgwM30sCi0gIDE2LDB4MTFiMCwwLHsweDQ5LDB4MDAsMHg2ZSwweDAwLDB4NzQsMHgwMCwweDY1LDB4MDAsMHg3MiwweDAwLDB4NjYsMHgwMCwweDYxLDB4MDAsMHg2MywweDAwfSwKLSAgMTYsMHgxMWMwLDAsezB4NjUsMHgwMCwweDIwLDB4MDAsMHg1MywweDAwLDB4NzQsMHgwMCwweDcyLDB4MDAsMHg2OSwweDAwLDB4NmUsMHgwMCwweDY3LDB4MDB9LAotICAgMiwweDExZDAsMCx7MHgwMCwweDAwfSwKLSAgIDAsMHgwMDAwLDEsezB9Ci19OwotLyogU291cmNlOiBFTUlMT0FELkhFWCAKLToxMDA0NkUwMDAyMEEwMDBGMDEwQzExMDQwRDAwMDAwMDAwNDEwMDAwRjMKLTowMTA0N0UwMDAwN0QKLToxMDAxQzcwMDkwN0ZFOUUwMjQ1QjYwNjAyNDAyNjAwMzAyMDI4NTkwNkYKLToxMDAxRDcwMDdGRUFFMDc1MEEwMEY1MEJBM0UwRkVFNEVFNDIwQTkwMjEKLToxMDAxRTcwMDdGRUVFMDc1MTUwMEY1MTZBM0UwRkVFNEVFNDIxNUU1OTcKLToxMDAxRjcwMDE2NDUxNTcwMDMwMjAyODVFNDkwN0ZDNUYwOTA3RkI0MjEKLToxMDAyMDcwMEUwMjBFM0Y5OTA3RkM1RTBGNTBDMTIwMzEzQUYwQzdFRjUKLToxMDAyMTcwMDAwRUYyNTBCRjUwQkVFMzUwQUY1MEFDM0U1MTY5RkY1M0EKLToxMDAyMjcwMDE2RTUxNTlFRjUxNTgwQzc5MDdGRUFFMDc1MEEwMEY1N0IKLToxMDAyMzcwMDBCQTNFMEZFRTRFRTQyMEE5MDdGRUVFMDc1MTUwMEY1QjEKLToxMDAyNDcwMDE2QTNFMEZFRTRFRTQyMTVFNTE2NDUxNTYwMzBFNDkwOEUKLToxMDAyNTcwMDdGQzVGMDkwN0ZCNEUwMjBFM0Y5OTA3RkM1RTBGNTBDMEYKLToxMDAyNjcwMDEyMDMyQkFGMEM3RTAwRUYyNTBCRjUwQkVFMzUwQUY1Q0QKLTowRjAyNzcwMDBBQzNFNTE2OUZGNTE2RTUxNTlFRjUxNTgwQ0FDMzU3Ci06MDEwMjg2MDAyMjU1Ci06MTAwM0E5MDBDMEUwQzA4M0MwODJEMjIwNTM5MUVGOTA3RkFCNzQwMTJCCi06MDgwM0I5MDBGMEQwODJEMDgzRDBFMDMyQzUKLToxMDAzOEUwMEMwRTBDMDgzQzA4MjkwN0ZDNEU0RjA1MzkxRUY5MDdGQjEKLTowQjAzOUUwMEFCNzQwNEYwRDA4MkQwODNEMEUwMzJCQQotOjEwMDNDMTAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkFCNzQwMkYwRDA0NAotOjA2MDNEMTAwODJEMDgzRDBFMDMyNkYKLToxMDAzRDcwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBQjc0MTBGMEQwMjAKLTowNjAzRTcwMDgyRDA4M0QwRTAzMjU5Ci06MDEwM0ZFMDAzMkNDCi06MTAwNDU4MDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQUI3NDA4RjBEMEE2Ci06MDYwNDY4MDA4MkQwODNEMEUwMzJENwotOjAxMDNGRjAwMzJDQgotOjAxMDQ4NDAwMzI0NQotOjAxMDQ4NTAwMzI0NAotOjAxMDQ4NjAwMzI0MwotOjAxMDQ4NzAwMzI0MgotOjAxMDQ4ODAwMzI0MQotOjAxMDQ4OTAwMzI0MAotOjAxMDQ4QTAwMzIzRgotOjAxMDQ4QjAwMzIzRQotOjAxMDQ4QzAwMzIzRAotOjAxMDQ4RDAwMzIzQwotOjAxMDQ4RTAwMzIzQgotOjAxMDQ4RjAwMzIzQQotOjAxMDQ5MDAwMzIzOQotOjAxMDQ5MTAwMzIzOAotOjAxMDQ5MjAwMzIzNwotOjA0MDQ3RjAwMDIxNzAwMDA2MAotOjEwMDEwMDAwRTRGRkZFQzIyMEQyRTg0M0Q4MjA5MDdGQUI3NEZGRjAxQQotOjEwMDExMDAwOTA3RkE5RjA5MDdGQUFGMDUzOTFFRjkwN0Y5NTc0QzBFMwotOjEwMDEyMDAwRjA5MDdGOUVGMDkwN0Y5OEYwRTQ5MDdGOTRGMDkwN0YyNQotOjEwMDEzMDAwOUQ3NEZGRjA5MDdGOTc3NEEwRjA5MDdGOTNFMDU0RkM0MwotOjEwMDE0MDAwRjA5MDdGOUM3NDAzRjBFNDkwN0Y5NkYwOTA3RkFGRTA5NgotOjEwMDE1MDAwNDQwMUYwOTA3RkFFRTA0NDBERjBEMkFGMEZCRjAwMDEzQwotOjEwMDE2MDAwMEVCRTA3RjhCRjA4RjUyMDIwNDI3NTE0MDA3NTEzMDA3NQotOjEwMDE3MDAwNzUxMjAwNzUxMTAwN0Y0ODdFOTI3RDAwN0MwMEFCMTRFMwotOjEwMDE4MDAwQUExM0E5MTJBODExQzMxMjAzRUQ1MERCMjAyMEQ4N0FCQwotOjEwMDE5MDAwMDA3OTAwNzgwMEU1MTQyNDAxRjUxNEVBMzUxM0Y1MTMwRAotOjEwMDFBMDAwRTkzNTEyRjUxMkU4MzUxMUY1MTE4MENBMzAyMEZEMTIzQgotOjEwMDFCMDAwMDFDNzUwMDc5MDdGQjRFMDQ0MDFGMDkwN0ZCNEUwNDQ2MQotOjA2MDFDMDAwMDJGMEMyMjA4MEU2RkYKLTowMTAxQzYwMDIyMTYKLToxMDExMDAwMDEyMDExMDAxMDAwMDAwNDA2QTA4MDEwMTAwMDEwMTAyMDMKLToxMDExMTAwMDAwMDEwOTAyMjAwMDAxMDEwM0EwMDAwOTA0MDAwMDAyRUYKLToxMDExMjAwMEZGMDAwMDA0MDcwNTgyMDI0MDAwMDAwNzA1MDIwMjQwOUMKLToxMDExMzAwMDAwMDAwNDAzMDkwNDI2MDM0MTAwNkUwMDYzMDA2ODAwRjgKLToxMDExNDAwMDZGMDA3MjAwMjAwMDQzMDA2ODAwNjkwMDcwMDA3MzAwQTcKLToxMDExNTAwMDJDMDAyMDAwNDkwMDZFMDA2MzAwMkUwMDI4MDM0NjAwOEEKLToxMDExNjAwMDY5MDA3MjAwNkQwMDc3MDA2MTAwNzIwMDY1MDAyMDAwNjgKLToxMDExNzAwMDQ2MDA3MjAwNjEwMDZEMDA2NTAwNTcwMDZGMDA3MjAwNEMKLToxMDExODAwMDZCMDA3MzAwMkEwMzQzMDA2RjAwNkUwMDY2MDA2OTAwNjUKLToxMDExOTAwMDY3MDA3NTAwNzIwMDYxMDA3NDAwNjkwMDZGMDA2RTAwRTYKLToxMDExQTAwMDIwMDA1MzAwNzQwMDcyMDA2OTAwNkUwMDY3MDAyMjAzODMKLToxMDExQjAwMDQ5MDA2RTAwNzQwMDY1MDA3MjAwNjYwMDYxMDA2MzAwMDMKLToxMDExQzAwMDY1MDAyMDAwNTMwMDc0MDA3MjAwNjkwMDZFMDA2NzAwMjMKLTowMjExRDAwMDAwMDAxRAotOjEwMDMxMzAwRTUwQ0ZGRTUwQkY1ODJFNTBBRjU4Mzc1OTI3RTc0QzA2MwotOjA4MDMyMzAwRjhFMjA4RjBBM0RGRkEyMjYyCi06MTAwMzJCMDA5MDdGOTY4NTgzOTJBODgyNzkwMjkwMDAwMEUwQjQwMEJBCi06MTAwMzNCMDAwRDc0MDFGMDkwN0Y5N0UwNTQ3RkYwNDQ4MEYwRTUwQzUyCi06MTAwMzRCMDBGRjkwN0VDMEUwRjUyOEU0QTI0NzMzRjI2OUYyRTRBMjA1Ci06MTAwMzVCMDA0NjMzRjI2OUYyRTRBMjQ1MzNGMjY5RjJFNEEyNDQzMzg0Ci06MTAwMzZCMDBGMjY5RjJFNEEyNDMzM0YyNjlGMkU0QTI0MjMzRjI2OTk2Ci06MTAwMzdCMDBGMkU0QTI0MTMzRjI2OUYyRTRBMjQwMzNGMjY5RjJBMzUwCi06MDMwMzhCMDBERkMyMjJBQwotOjAzMDA0MzAwMDIwNDAwQjQKLToxMDA0MDAwMDAyMDNBOTAwMDIwM0MxMDAwMjAzOEUwMDAyMDQ1ODAwODcKLToxMDA0MTAwMDAyMDNENzAwMDIwM0ZFMDAwMjAzRkYwMDAyMDQ4NDAwNkYKLToxMDA0MjAwMDAyMDQ4NTAwMDIwNDg2MDAwMjA0ODcwMDAyMDQ4ODAwOUEKLToxMDA0MzAwMDAyMDQ4OTAwMDIwNDhBMDAwMjA0OEIwMDAyMDQ4QzAwN0EKLToxMDA0NDAwMDAyMDQ4RDAwMDIwNDhFMDAwMjA0OEYwMDAyMDQ5MDAwNUEKLTowODA0NTAwMDAyMDQ5MTAwMDIwNDkyMDA3NQotOjAzMDAwMDAwMDIwMjg3NzIKLTowQzAyODcwMDc4N0ZFNEY2RDhGRDc1ODEyOTAyMDJDRUQ0Ci06MTAwM0VEMDBFQjlGRjVGMEVBOUU0MkYwRTk5RDQyRjBFODlDNDVGMDY2Ci06MDEwM0ZEMDAyMkRECi06MTAwMjkzMDAwMjAxMDBFNDkzQTNGOEU0OTNBMzQwMDNGNjgwMDFGMjgwCi06MTAwMkEzMDAwOERGRjQ4MDI5RTQ5M0EzRjg1NDA3MjQwQ0M4QzMzMzZDCi06MTAwMkIzMDBDNDU0MEY0NDIwQzg4MzQwMDRGNDU2ODAwMTQ2RjZERjNCCi06MTAwMkMzMDBFNDgwMEIwMTAyMDQwODEwMjA0MDgwOTAwNDZFRTQ3RTU5Ci06MTAwMkQzMDAwMTkzNjBCQ0EzRkY1NDNGMzBFNTA5NTQxRkZFRTQ5MzMwCi06MTAwMkUzMDBBMzYwMDEwRUNGNTRDMDI1RTA2MEE4NDBCOEU0OTNBM0Y3Ci06MTAwMkYzMDBGQUU0OTNBM0Y4RTQ5M0EzQzhDNTgyQzhDQUM1ODNDQTIyCi06MTAwMzAzMDBGMEEzQzhDNTgyQzhDQUM1ODNDQURGRTlERUU3ODBCRUQ5Ci06MDEwNDgzMDAwMDc4Ci06MDAwMDAwMDFGRgotLyoKLVZFUlNJT049MS4wLjIuMDAyCi1EQVRFPTEwLjAxLjIwMDIKLUVNSTI2XzYyCi0qLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2IvbWlzYy9lbWk2Ml9md19zLmggYi9kcml2ZXJzL3VzYi9taXNjL2VtaTYyX2Z3X3MuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggY2VmMDVlOC4uMDAwMDAwMAotLS0gYS9kcml2ZXJzL3VzYi9taXNjL2VtaTYyX2Z3X3MuaAorKysgL2Rldi9udWxsCkBAIC0xLDg4MzcgKzAsMCBAQAotLyoKLSAqIFRoaXMgZmlsZSBpcyBnZW5lcmF0ZWQgZnJvbSB0aHJlZSBkaWZmZXJlbnQgZmlsZXMsIHByb3ZpZGVkIGJ5IEVtYWdpYy4KLSAqLwotLyogZ2VuZXJhdGVkIFR1ZSBBcHIgMTUgMjE6NTk6NDIgRUVTVCAyMDAzICovCi0KLXN0YXRpYyBJTlRFTF9IRVhfUkVDT1JEIGdfZW1pNjJic1tdPXsKLSB7MTYsIDB4ODAxMCwgMCwgezB4ZmYsMHhmZiwweGZmLDB4ZmYsMHhhYSwweDk5LDB4NTUsMHg2NiwweDMwLDB4MDAsMHg4MCwweDAxLDB4MDAsMHgwMCwweDAwLDB4MDcgfX0sCi0gezE2LCAweDgwMjAsIDAsIHsweDMwLDB4MDEsMHg2MCwweDAxLDB4MDAsMHgwMCwweDAwLDB4MGQsMHgzMCwweDAxLDB4MjAsMHgwMSwweDAwLDB4ODAsMHgzZiwweDJkIH19LAotIHsxNiwgMHg4MDMwLCAwLCB7MHgzMCwweDAwLDB4YzAsMHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzAsMHgwMCwweDgwLDB4MDEsMHgwMCwweDAwLDB4MDAsMHgwOSB9fSwKLSB7MTYsIDB4ODA0MCwgMCwgezB4MzAsMHgwMCwweDIwLDB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDMwLDB4MDAsMHg4MCwweDAxLDB4MDAsMHgwMCwweDAwLDB4MDEgfX0sCi0gezE2LCAweDgwNTAsIDAsIHsweDMwLDB4MDAsMHg0MCwweDAwLDB4NTAsMHgwMCwweDU4LDB4MWEsMHg4MCwweDEyLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4MDYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODA3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDgwODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4NDAsMHgwNCwweDgwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4MDkwLCAwLCB7MHgwMCwweDEyLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODBhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDgwYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDQ4IH19LAotIHsxNiwgMHg4MGMwLCAwLCB7MHgwNCwweDgwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODBkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDgwZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4MGYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODEwMCwgMCwgezB4MDAsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDgxMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4MTIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODEzMCwgMCwgezB4MDAsMHg4MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDgxNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4MTUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODE2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA0LDB4ODAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDgxNzAsIDAsIHsweDgwLDB4MTIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4MTgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODE5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDgxYTAsIDAsIHsweDAwLDB4OTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDEyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4MWIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODFjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDgxZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweDkwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4MWUwLCAwLCB7MHg3ZiwweDEwLDB4MDAsMHgzNCwweDAwLDB4MGQsMHgwMCwweDAzLDB4NDAsMHgwMCwweGQwLDB4MDAsMHgzNCwweDAwLDB4MDUsMHgwMCB9fSwKLSB7MTYsIDB4ODFmMCwgMCwgezB4MDcsMHg0MCwweDAxLDB4ZDAsMHgwMCwweDc0LDB4MDAsMHgxZCwweDAwLDB4MDcsMHg0MCwweDAxLDB4ZDAsMHgwMCwweDc0LDB4MDAgfX0sCi0gezE2LCAweDgyMDAsIDAsIHsweDFkLDB4ODAsMHgwNywweGUwLDB4MDEsMHhiOCwweDAwLDB4NmUsMHgwMCwweDFiLDB4ODAsMHgwNiwweGUwLDB4MDEsMHgzOCwweDM3IH19LAotIHsxNiwgMHg4MjEwLCAwLCB7MHhjNCwweDkwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMSwweGZjLDB4ODAsMHhmYiwweDMwLDB4MzYsMHhjOCB9fSwKLSB7MTYsIDB4ODIyMCwgMCwgezB4NGUsMHgwOSwweDAzLDB4ZmMsMHg4NCwweGZmLDB4MTAsMHgzYiwweGMwLDB4MGUsMHhjOCwweDA3LDB4MjIsMHg4MCwweGZmLDB4MjIgfX0sCi0gezE2LCAweDgyMzAsIDAsIHsweDMzLDB4YzAsMHgwZiwweGM4LDB4MzMsMHg2ZSwweDAwLDB4ZmIsMHg4MCwweDNmLDB4MjAsMHgwZCwweGMyLDB4NTMsMHhkNCwweDgwIH19LAotIHsxNiwgMHg4MjQwLCAwLCB7MHhjYywweDNhLDB4M2YsMHgwMCwweDBjLDB4ZjEsMHgwMywweGYwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODI1MCwgMCwgezB4ODAsMHgwMCwweGVkLDB4NjAsMHhiZiwweDYwLDB4MjMsMHhmMCwweDBkLDB4ODIsMHgxMiwweDNjLDB4NjAsMHg4ZiwweDcwLDB4MjMgfX0sCi0gezE2LCAweDgyNjAsIDAsIHsweGYwLDB4MDgsMHg4OCwweDAyLDB4YTUsMHg0MCwweGJmLDB4ZDAsMHg2MywweGQ2LDB4MGIsMHg4OCwweDAyLDB4MmUsMHgwYywweGJiIH19LAotIHsxNiwgMHg4MjcwLCAwLCB7MHg4MCwweDJlLDB4MjAsMHg4OCwweDhkLDB4MDIsMHhlNiwweDQwLDB4ODAsMHg2MCwweDJlLDB4MzAsMHgwYSwweGIxLDB4MTIsMHgyMCB9fSwKLSB7MTYsIDB4ODI4MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjYywweDgwLDB4YTMsMHg0MCwweDJjLDB4YzQgfX0sCi0gezE2LCAweDgyOTAsIDAsIHsweDRhLDB4MDAsMHgxMiwweDhjLDB4ODgsMHhhMywweDIyLDB4MjAsMHhjNCwweDBhLDB4OTAsMHg0MiwweDA0LDB4YTksMHhhMywweDAwIH19LAotIHsxNiwgMHg4MmEwLCAwLCB7MHgyNCwweGM4LDB4OGIsMHg4MCwweDAyLDB4Y2MsMHgwMCwweGIzLDB4MDAsMHgyZSwweDAxLDB4MDksMHgwOCwweDAyLDB4ODQsMHgwMCB9fSwKLSB7MTYsIDB4ODJiMCwgMCwgezB4ODAsMHgyMCwweDJjLDB4MTAsMHgwYSwweDMyLDB4NDIsMHgyMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDgyYzAsIDAsIHsweGMwLDB4MTUsMHhhYywweDA0LDB4YjMsMHgwMCwweDJhLDB4YzAsMHgwOCwweDA4LDB4YTIsMHg4YywweDAwLDB4OGIsMHgwMCwweGEyIH19LAotIHsxNiwgMHg4MmQwLCAwLCB7MHhjMSwweDEwLDB4OTgsMHg0MiwweGE3LDB4MDAsMHhiYiwweDAxLDB4NjYsMHhjMSwweDBiLDB4ODAsMHgwMiwweGFjLDB4MDQsMHhiYiB9fSwKLSB7MTYsIDB4ODJlMCwgMCwgezB4MDAsMHgyZSwweDAwLDB4MGIsMHhiOCwweDEyLDB4ZTQsMHgwMiwweDg5LDB4MDgsMHgwZSwweDQwLDB4MGEsMHhiMCwweDAyLDB4MzAgfX0sCi0gezE2LCAweDgyZjAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDEwLDB4YWMsMHgwMCwweGViLDB4MDAsMHgzZSwweGMwIH19LAotIHsxNiwgMHg4MzAwLCAwLCB7MHg0YSwweGI4LDB4MjMsMHhlYywweDE4LDB4ZWIsMHgwMCwweDMyLDB4YzAsMHgwZSwweDJjLDB4MTIsMHgyMiwweDEwLDB4ZWIsMHgwMCB9fSwKLSB7MTYsIDB4ODMxMCwgMCwgezB4MjYsMHhjMCwweDRmLDB4MDAsMHg0MywweGVkLDB4MDAsMHhmYiwweDAwLDB4MmUsMHgyNCwweDBkLDB4ODAsMHgxMywweGU0LDB4MDAgfX0sCi0gezE2LCAweDgzMjAsIDAsIHsweGM4LDB4ZDAsMHg3YywweDEyLDB4MGUsMHhiMCwweDAzLDB4NDAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4MzMwLCAwLCB7MHhlMSwweDAwLDB4YmMsMHgwMCwweGZmLDB4MDAsMHgzNSwweGMwLDB4NGYsMHhlMCwweDAzLDB4N2MsMHgwOCwweGZmLDB4MDEsMHgxNyB9fSwKLSB7MTYsIDB4ODM0MCwgMCwgezB4YzIsMHg0ZCwweGMwLDB4MDMsMHhmNCwweDA4LDB4ZjcsMHgwMCwweDNiLDB4YzAsMHgwNywweGMwLDB4MDMsMHg3YywweDgwLDB4ZmYgfX0sCi0gezE2LCAweDgzNTAsIDAsIHsweDI0LDB4M2YsMHg0MCwweDBjLDB4ZjAsMHgwMSwweGY0LDB4MDQsMHhiYywweDA4LDB4M2YsMHgyOCwweDBmLDB4ZjAsMHgwMywweDc4IH19LAotIHsxNiwgMHg4MzYwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweGFjLDB4MDgsMHhmYiwweDA0LDB4M2EsMHhjOCB9fSwKLSB7MTYsIDB4ODM3MCwgMCwgezB4MGYsMHg5NCwweDAzLDB4ZWMsMHgxMCwweGYzLDB4MDAsMHgzNCwweGMwLDB4MGUsMHhiMCwweDAzLDB4NjEsMHgwNCwweGZiLDB4MDAgfX0sCi0gezE2LCAweDgzODAsIDAsIHsweDM2LDB4YzAsMHgwZSwweGEzLDB4MDMsMHgyYywweDgwLDB4ZmIsMHg3MiwweDNlLDB4MDIsMHgwZiwweDhhLDB4MDMsMHhlNCwweDAyIH19LAotIHsxNiwgMHg4MzkwLCAwLCB7MHhjOSwweDgwLDB4MmEsMHg1MCwweDBmLDB4YjAsMHgwMywweGQwLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODNhMCwgMCwgezB4Y2EsMHg0NCwweDNjLDB4MDAsMHhiZiwweDAwLDB4MDMsMHhjMCwweDA4LDB4ODAsMHgwMywweDdjLDB4MDAsMHhiZiwweDAwLDB4M2YgfX0sCi0gezE2LCAweDgzYjAsIDAsIHsweGUyLDB4MDgsMHg5MCwweDQzLDB4NjAsMHgwMCwweGJmLDB4MDAsMHgzNywweGMwLDB4MDgsMHg5MCwweDAxLDB4NmQsMHgwMCwweGJiIH19LAotIHsxNiwgMHg4M2MwLCAwLCB7MHg0MCwweDJjLDB4MTAsMHgwYiwweGIwLDB4NDIsMHhkNywweGMwLDB4ODksMHgwMCwweDJhLDB4N2MsMHgwYiwweGYwLDB4MDIsMHhmMiB9fSwKLSB7MTYsIDB4ODNkMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUyLDB4MDUsMHg0YywweDAwLDB4YjMsMHgwMCwweDIwLDB4ZDUgfX0sCi0gezE2LCAweDgzZTAsIDAsIHsweDRhLDB4MDAsMHgwMCwweDBjLDB4MDQsMHg5MywweDAwLDB4MGMsMHhmMCwweDBiLDB4MDksMHgwMiwweDA4LDB4MDEsMHhiMywweDIwIH19LAotIHsxNiwgMHg4M2YwLCAwLCB7MHgyOCwweGMwLDB4MGEsMHgwYywweDBhLDB4MGUsMHgwMCwweGIzLDB4MDAsMHgyNCwweDMwLDB4MDksMHgwMCwweDAyLDB4YzYsMHgxMCB9fSwKLSB7MTYsIDB4ODQwMCwgMCwgezB4ODAsMHg0MiwweDIwLDB4MDAsMHg4YiwweGIwLDB4MDIsMHhmOCwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDg0MTAsIDAsIHsweDIyLDB4MDEsMHgxZSwweDAwLDB4YjcsMHg5NCwweDIxLDB4ZTQsMHg0OCwweGQ5LDB4MTIsMHg1ZSwweDQwLDB4YjcsMHg5MCwweDI5IH19LAotIHsxNiwgMHg4NDIwLCAwLCB7MHhlMCwweDhiLDB4NjksMHgxMiwweGQ2LDB4ODAsMHgzNywweDgyLDB4MmMsMHhlOCwweDA4LDB4NGEsMHgwMiwweDVlLDB4MDAsMHhiNyB9fSwKLSB7MTYsIDB4ODQzMCwgMCwgezB4YTQsMHgyZCwweDIwLDB4MGIsMHg3OSwweDAyLDB4ZDYsMHgwOCwweDg2LDB4OTAsMHgyOSwweGEwLDB4MGIsMHg3OSwweDAyLDB4ZDggfX0sCi0gezE2LCAweDg0NDAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDAwLDB4MGMsMHgwMCwweGZiLDB4YTAsMHgyOCwweGU4IH19LAotIHsxNiwgMHg4NDUwLCAwLCB7MHgwZSwweDJhLDB4MDIsMHg4YywweDAwLDB4ZDMsMHgwMCwweDY0LDB4YzAsMHgwZiwweDAwLDB4NDMsMHgwZSwweGM0LDB4ZjMsMHgwMCB9fSwKLSB7MTYsIDB4ODQ2MCwgMCwgezB4NzgsMHhlYywweDBlLDB4MGEsMHg0MywweDBlLDB4MjAsMHg3MywweGUwLDB4M2MsMHgwMiwweDRmLDB4MDAsMHgwMywweGM0LDB4NDAgfX0sCi0gezE2LCAweDg0NzAsIDAsIHsweGMzLDB4MDAsMHgzOCwweGMwLDB4MGYsMHgzMCwweDAzLDB4ZDIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4NDgwLCAwLCB7MHg0MCwweDFkLDB4YmMsMHgwMCwweGZmLDB4MDAsMHhiYywweGNjLDB4MGUsMHhiMCwweDAzLDB4ZWMsMHgyMCwweGZiLDB4MDAsMHgzYyB9fSwKLSB7MTYsIDB4ODQ5MCwgMCwgezB4YzIsMHgwYywweDIwLDB4MDMsMHg2YywweDUwLDB4ZjMsMHgwMCwweDM2LDB4YzQsMHgwZiwweDQwLDB4MDMsMHhmYywweDA4LDB4ZmYgfX0sCi0gezE2LCAweDg0YTAsIDAsIHsweDFhLDB4M2YsMHg4MCwweDBmLDB4ZjAsMHgwMSwweGU0LDB4MzAsMHhmZiwweDAyLDB4M2YsMHhjMCwweDBmLDB4ZjAsMHg2MywweGQwIH19LAotIHsxNiwgMHg4NGIwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxNSwweGVjLDB4NDAsMHhmYiwweDAwLDB4YjIsMHhkOCB9fSwKLSB7MTYsIDB4ODRjMCwgMCwgezB4MGMsMHhiMCwweDAxLDB4MmQsMHgyMCwweGRiLDB4MDEsMHgzYSwweGM4LDB4OGMsMHgzOCwweDAzLDB4YTgsMHgwMCwweGZiLDB4NDggfX0sCi0gezE2LCAweDg0ZDAsIDAsIHsweDNlLDB4YzksMHgwZiwweDgwLDB4MDMsMHhlYywweDQwLDB4ZmIsMHgwMSwweDNlLDB4MDAsMHgwZiwweDA4LDB4MDMsMHhhNCwweDA4IH19LAotIHsxNiwgMHg4NGUwLCAwLCB7MHhmYSwweDgwLDB4YjIsMHg4MCwweDBmLDB4YjEsMHgwMiwweDZhLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODRmMCwgMCwgezB4NDgsMHgxOSwweDFjLDB4ODAsMHhiZiwweDMwLDB4MjEsMHhjYSwweDA4LDB4ZjAsMHgwYSwweDBjLDB4ODAsMHg4ZiwweDUwLDB4MjEgfX0sCi0gezE2LCAweDg1MDAsIDAsIHsweGMyLDB4MDgsMHg3MCwweDUwLDB4OWMsMHgwMCwweGI3LDB4MDAsMHgzOSwweGM0LDB4MGIsMHg0MCwweDAyLDB4OWMsMHgwNCwweGI3IH19LAotIHsxNiwgMHg4NTEwLCAwLCB7MHgyMCwweDI1LDB4NDAsMHgwYiwweDcwLDB4MDIsMHgxNCwweDgwLDB4YjYsMHgwMCwweDIxLDB4ODAsMHgwYiwweGY4LDB4MDIsMHgxMiB9fSwKLSB7MTYsIDB4ODUyMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHg5ZSwweDAwLDB4YjcsMHhiMCwweDIxLDB4ZWMgfX0sCi0gezE2LCAweDg1MzAsIDAsIHsweDBiLDB4NzgsMHgxMiwweGRlLDB4ODQsMHg5NywweDgwLDB4MGQsMHhlMCwweDI4LDB4ZjgsMHgwMiwweGRlLDB4MDAsMHhiNywweDkwIH19LAotIHsxNiwgMHg4NTQwLCAwLCB7MHgyZCwweGU0LDB4MGIsMHg2OCwweDgyLDB4NWUsMHg4MCwweGI3LDB4YTAsMHgyOSwweDIwLDB4MGIsMHg0OCwweDAyLDB4OTYsMHgwMCB9fSwKLSB7MTYsIDB4ODU1MCwgMCwgezB4YjcsMHg4MCwweDIxLDB4ZTEsMHgwYiwweDdhLDB4MDIsMHg3MCwweDQwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDg1NjAsIDAsIHsweDQ4LDB4MDQsMHhjYywweDAwLDB4YjMsMHgwMCwweDIwLDB4YzAsMHgwYiwweDM4LDB4MDIsMHg4YywweDA0LDB4ODMsMHgwMCwweDI4IH19LAotIHsxNiwgMHg4NTcwLCAwLCB7MHhjMCwweDg4LDB4MzksMHgwMiwweDRjLDB4NDAsMHhiMywweDA0LDB4MjgsMHhjMCwweDFiLDB4MTAsMHgwMiwweDhjLDB4MDEsMHhiMyB9fSwKLSB7MTYsIDB4ODU4MCwgMCwgezB4MDQsMHgyNCwweDg4LDB4NGIsMHgzMSwweDAyLDB4MDQsMHgwMCwweGIzLDB4ODAsMHgyMCwweGYyLDB4MGIsMHgzMCwweDAyLDB4MDIgfX0sCi0gezE2LCAweDg1OTAsIDAsIHsweDI0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDA1LDB4YTgsMHgwMCwweGZhLDB4MDAsMHgzMiwweDgwIH19LAotIHsxNiwgMHg4NWEwLCAwLCB7MHgwZiwweGU4LDB4MDMsMHhlOCwweDAwLDB4ZGEsMHgwMSwweDNhLDB4ODAsMHg4YywweGVkLDB4MDMsMHhmYiwweDA0LDB4ZmEsMHgwMCB9fSwKLSB7MTYsIDB4ODViMCwgMCwgezB4M2UsMHg4MCwweDBmLDB4NmMsMHgwMywweGZiLDB4YzgsMHhiZSwweGMyLDB4MWYsMHg4MCwweDBmLDB4ZTUsMHgwMywweGE4LDB4MDAgfX0sCi0gezE2LCAweDg1YzAsIDAsIHsweGZlLDB4NDgsMHgzMywweDgwLDB4NGYsMHhhMCwweDAzLDB4N2EsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4NWQwLCAwLCB7MHg0OCwweDAwLDB4ZTAsMHgwMCwweGY4LDB4MDAsMHgzYywweDAwLDB4MGMsMHg4MSwweDkzLDB4NjAsMHgwMCwweGY4LDB4MDEsMHgzNiB9fSwKLSB7MTYsIDB4ODVlMCwgMCwgezB4MTAsMHgwZiwweDgwLDB4MDMsMHhhMCwweDIwLDB4ZjgsMHgwMCwweDJhLDB4MDEsMHg4ZiwweDg0LDB4MTMsMHhlMSwweDAwLDB4ZjggfX0sCi0gezE2LCAweDg1ZjAsIDAsIHsweDE4LDB4MzYsMHgwMCwweDBmLDB4ODAsMHgxMywweGUwLDB4MDAsMHhmOCwweDIwLDB4M2UsMHgxNCwweDBmLDB4ODAsMHgwMywweGQyIH19LAotIHsxNiwgMHg4NjAwLCAwLCB7MHg4MCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwMCwweGU0LDB4MDAsMHhmMSwweDAwLDB4YWEsMHg0MCB9fSwKLSB7MTYsIDB4ODYxMCwgMCwgezB4MGMsMHg5MCwweDAzLDB4MjQsMHgwMCwweGUxLDB4MDAsMHgzOCwweDQwLDB4MWMsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGY5LDB4YTAgfX0sCi0gezE2LCAweDg2MjAsIDAsIHsweDNhLDB4NDAsMHg0NywweDlhLDB4OTMsMHhhMiwweDgwLDB4ZjgsMHgxMCwweDNlLDB4NDAsMHgwYiwweDk0LDB4MDMsMHhlNiwweDQwIH19LAotIHsxNiwgMHg4NjMwLCAwLCB7MHhmOSwweGMwLDB4M2UsMHg2OCwweDBiLDB4MTAsMHgwMywweDAyLDB4ODQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODY0MCwgMCwgezB4ODAsMHgwNCwweGU0LDB4MDQsMHhiOSwweDAwLDB4MjIsMHg0MCwweDA4LDB4OTAsMHgwMiwweDI0LDB4MDQsMHg4OSwweDAwLDB4MzYgfX0sCi0gezE2LCAweDg2NTAsIDAsIHsweDQwLDB4MDgsMHg5MCwweDAyLDB4ZTQsMHgwNCwweGI5LDB4ODAsMHgyZSwweDQwLDB4NGYsMHg5NCwweDAzLDB4NjEsMHgxMCwweGU4IH19LAotIHsxNiwgMHg4NjYwLCAwLCB7MHg0MCwweDJlLDB4NDAsMHgwYiwweDkwLDB4NDIsMHhlNiwweDA0LDB4YjksMHgwMCwweDJlLDB4NDAsMHgwYiwweDkwLDB4MDIsMHgyMCB9fSwKLSB7MTYsIDB4ODY3MCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDQsMHgyNCwweDAwLDB4YjksMHgwMCwweDIyLDB4NDAgfX0sCi0gezE2LCAweDg2ODAsIDAsIHsweDBhLDB4MTAsMHg1MiwweDA0LDB4MDQsMHhhOSwweDA0LDB4MmEsMHg0MCwweDA4LDB4YjAsMHgwMiwweGU0LDB4MDEsMHhiOSwweDAwIH19LAotIHsxNiwgMHg4NjkwLCAwLCB7MHgyZSwweDQwLDB4MGIsMHg5MCwweDAyLDB4YTgsMHgwZCwweGI4LDB4NDAsMHgyZSwweDQwLDB4MDksMHg5NCwweDAyLDB4ZTUsMHgwMCB9fSwKLSB7MTYsIDB4ODZhMCwgMCwgezB4YjksMHgwNCwweDJlLDB4NDAsMHgwYiwweDkwLDB4MDIsMHgwNiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDg2YjAsIDAsIHsweDA4LDB4MDQsMHgwNCwweDgwLDB4YjEsMHgyMCwweDIwLDB4YzgsMHgwYSwweDEwLDB4NDIsMHgwNCwweDkwLDB4ODEsMHgyMCwweDA0IH19LAotIHsxNiwgMHg4NmMwLCAwLCB7MHhjOCwweDA4LDB4MzAsMHgyNiwweGM0LDB4MDAsMHhiMSwweDIwLDB4MmMsMHg0OCwweDBiLDB4OTAsMHgwMiwweDQ1LDB4MDEsMHhiMSB9fSwKLSB7MTYsIDB4ODZkMCwgMCwgezB4NDAsMHgyYywweDQwLDB4MGIsMHgxMiwweDgyLDB4YzQsMHgwMCwweGIxLDB4MmIsMHgyYywweDRhLDB4MGIsMHgxMiwweDgyLDB4MDIgfX0sCi0gezE2LCAweDg2ZTAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDA4LDB4MjEsMHg0OCwweGY4LDB4NTAsMHgzMiwweDAwIH19LAotIHsxNiwgMHg4NmYwLCAwLCB7MHg0ZSwweDg1LDB4MGIsMHgyMSwweDQwLDB4YTgsMHg1MiwweDJhLDB4MDAsMHgwOCwweDgwLDB4MjMsMHhlMSwweDQwLDB4ZjgsMHgwMCB9fSwKLSB7MTYsIDB4ODcwMCwgMCwgezB4M2EsMHgxNCwweDBmLDB4YTAsMHg0MywweGE4LDB4MDAsMHhmOCwweDAwLDB4M2UsMHgwMCwweDBmLDB4ODIsMHgwMywweGUwLDB4MDAgfX0sCi0gezE2LCAweDg3MTAsIDAsIHsweGYwLDB4MjAsMHgzZSwweDg4LDB4NGYsMHg4MiwweDBiLDB4MmUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4NzIwLCAwLCB7MHg5OCwweDE5LDB4ZTQsMHg0MCwweGY5LDB4MTEsMHgzNCwweDQ0LDB4MmQsMHhkMCwweDAzLDB4ZTQsMHg1MCwweDc5LDB4MTAsMHgzOCB9fSwKLSB7MTYsIDB4ODczMCwgMCwgezB4NDQsMHgyZiwweGQwLDB4MDMsMHhmNSwweDEwLDB4ZjksMHgxMCwweDNlLDB4NDUsMHgwNiwweDUwLDB4MDMsMHhlNSwweDAwLDB4ZTkgfX0sCi0gezE2LCAweDg3NDAsIDAsIHsweDQwLDB4M2YsMHg0MCwweDBmLDB4ZDAsMHg0MywweGY1LDB4MDAsMHhmZCwweDI4LDB4M2YsMHg0MCwweDBmLDB4OTIsMHg4MywweGU2IH19LAotIHsxNiwgMHg4NzUwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwMSwweGU2LDB4MDAsMHhkOSwweDkwLDB4MzcsMHg2OSB9fSwKLSB7MTYsIDB4ODc2MCwgMCwgezB4NGQsMHg5MCwweDIzLDB4NjcsMHg4MCwweGQ5LDB4ZTAsMHgzNywweDY4LDB4MGUsMHhkMCwweDA3LDB4YTQsMHgwMCwweDA1LDB4ODYgfX0sCi0gezE2LCAweDg3NzAsIDAsIHsweDNlLDB4NjYsMHgwZCwweDUwLDB4MjMsMHgyNiwweDAwLDB4YzksMHg4MiwweDNkLDB4NDAsMHgwZCwweGQ4LDB4MDcsMHgzNiwweDAyIH19LAotIHsxNiwgMHg4NzgwLCAwLCB7MHhjZCwweGMwLDB4MzMsMHg2MCwweDBjLDB4OWMsMHgwMywweDA2LDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODc5MCwgMCwgezB4MzgsMHgxMCwweGUyLDB4ODAsMHg4OCwweGEyLDB4MjIsMHgxMCwweDI4LDB4OGEsMHg4MiwweDIzLDB4ODQsMHg4OCwweGEwLDB4MjIgfX0sCi0gezE2LCAweDg3YTAsIDAsIHsweDE0LDB4NDgsMHg4MCwweDQyLDB4ODIsMHgwMCwweDg4LDB4NDAsMHgyZSwweDMwLDB4MDgsMHg4MCwweDAyLDB4YTIsMHgwMCwweGQ4IH19LAotIHsxNiwgMHg4N2IwLCAwLCB7MHg5MCwweDI2LDB4MDAsMHgwOCwweDg0LDB4MGEsMHgyMSwweDAwLDB4YzgsMHhhMCwweGEyLDB4MTQsMHgyOCwweDhjLDB4MDIsMHgwZSB9fSwKLSB7MTYsIDB4ODdjMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhjNSwweDIwLDB4OTEsMHg0MCwweDJjLDB4NDQgfX0sCi0gezE2LCAweDg3ZDAsIDAsIHsweDE4LDB4MTAsMHgwMiwweDg1LDB4MDQsMHhiMSwweDQwLDB4MGMsMHg0MCwweDBhLDB4MTAsMHgwNiwweDg0LDB4MzAsMHg4MSwweDQwIH19LAotIHsxNiwgMHg4N2UwLCAwLCB7MHgyYywweDQ4LDB4NTksMHgxMCwweDFhLDB4MDQsMHg2MCwweDgxLDB4MDksMHgyZSwweDQwLDB4MWIsMHgxNCwweDAyLDB4MjUsMHgwMCB9fSwKLSB7MTYsIDB4ODdmMCwgMCwgezB4OTEsMHhlMCwweDIwLDB4NjAsMHgwOCwweDE2LDB4MDIsMHgwMCwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDg4MDAsIDAsIHsweDE4LDB4MTUsMHhhNCwweDAwLDB4ODEsMHgwMCwweDJhLDB4NDEsMHgwOCwweDkwLDB4MDIsMHhhNCwweDAwLDB4YTEsMHgwMCwweDJhIH19LAotIHsxNiwgMHg4ODEwLCAwLCB7MHg0MSwweDA4LDB4YjAsMHg4MiwweDI0LDB4MTEsMHg4YiwweDAwLDB4MmUsMHg0MCwweDE4LDB4OTEsMHgwMiwweGEwLDB4MDQsMHg5OCB9fSwKLSB7MTYsIDB4ODgyMCwgMCwgezB4MjAsMHgyZSwweDU0LDB4MWIsMHg5MCwweDgyLDB4MmMsMHgwMCwweDg5LDB4MTAsMHgyMiwweDQ0LDB4ODgsMHg5MCwweDAyLDB4MDYgfX0sCi0gezE2LCAweDg4MzAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4ZTQsMHgwMCwweGQ5LDB4MDAsMHgzZSwweDQwIH19LAotIHsxNiwgMHg4ODQwLCAwLCB7MHg0YywweDkwLDB4MDMsMHhhNCwweDEwLDB4ZjksMHgwMCwweDNlLDB4NDAsMHg4ZSwweDEwLDB4MDIsMHhhNCwweGMyLDB4YzksMHgwMCB9fSwKLSB7MTYsIDB4ODg1MCwgMCwgezB4M2UsMHg0MCwweDBkLDB4MTYsMHgxMywweDAxLDB4ODQsMHhjOCwweDIwLDB4M2MsMHg2MCwweDBmLDB4OTAsMHgxMiwweDA0LDB4MDAgfX0sCi0gezE2LCAweDg4NjAsIDAsIHsweGQ5LDB4NDAsMHgzMiwweDUwLDB4MGMsMHg5MCwweDAzLDB4MjgsMHg4NCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4ODcwLCAwLCB7MHgyOCwweDAxLDB4ODQsMHgwMCwweGY5LDB4MDAsMHgzNiwweDQwLDB4NGYsMHg5OSwweDRhLDB4NDQsMHgwMCwweDk5LDB4MDAsMHhiNCB9fSwKLSB7MTYsIDB4ODg4MCwgMCwgezB4NDAsMHgwZiwweDkwLDB4MTMsMHhlNiwweDAwLDB4ZjksMHgwMCwweDNjLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhlMywweDAwLDB4ZjggfX0sCi0gezE2LCAweDg4OTAsIDAsIHsweDAxLDB4MzYsMHg0MCwweDBjLDB4OTksMHgwMywweGU0LDB4MDIsMHhmOSwweDgwLDB4M2UsMHg2MCwweDRmLDB4OTAsMHgwYiwweGNhIH19LAotIHsxNiwgMHg4OGEwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxMCwweGEwLDB4MDAsMHhkOCwweDAwLDB4M2MsMHgwMCB9fSwKLSB7MTYsIDB4ODhiMCwgMCwgezB4MWQsMHg4MCwweDAzLDB4MjAsMHgwMCwweGU4LDB4MDAsMHgzMiwweDAwLDB4MGMsMHg4NCwweDgzLDB4ZTAsMHgxMCwweGU4LDB4MjAgfX0sCi0gezE2LCAweDg4YzAsIDAsIHsweDMyLDB4MDAsMHg4ZSwweDg0LDB4MDMsMHgyMSwweDgwLDB4YzgsMHgwMCwweDNhLDB4MTksMHgwZiwweDA0LDB4MDMsMHhlMCwweDI0IH19LAotIHsxNiwgMHg4OGQwLCAwLCB7MHhmMCwweDAyLDB4M2MsMHgwMCwweDBmLDB4ODAsMHgxMywweDhhLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODhlMCwgMCwgezB4MjgsMHgwNSwweDI4LDB4MDIsMHg4YSwweDAxLDB4MGYsMHhhMiwweDY4LDB4YTAsMHgwMCwweDI4LDB4MDAsMHg4YSwweDAwLDB4NzcgfX0sCi0gezE2LCAweDg4ZjAsIDAsIHsweDgwLDB4NjgsMHhlMCwweDEyLDB4ZTgsMHgwMCwweGRlLDB4MDAsMHgzNiwweDgxLDB4MDgsMHhlMCwweDAzLDB4N2EsMHgwOCwweGFlIH19LAotIHsxNiwgMHg4OTAwLCAwLCB7MHhjNCwweDJmLDB4ODAsMHgwOCwweGVkLDB4MDIsMHhmYSwweDAwLDB4YmUsMHhhMCwweDNiLDB4ODAsMHgwYiwweGEwLDB4NDIsMHgwYSB9fSwKLSB7MTYsIDB4ODkxMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4ODUsMHg0YywweDAwLDB4OTMsMHgwMCwweDJjLDB4YzAgfX0sCi0gezE2LCAweDg5MjAsIDAsIHsweDg4LDB4YjAsMHgwMiwweDBjLDB4MTQsMHhhMywweDA0LDB4MjAsMHhjNCwweDE4LDB4MzgsMHgwMiwweGVjLDB4MTAsMHg5MywweDU0IH19LAotIHsxNiwgMHg4OTMwLCAwLCB7MHgyOCwweGMwLDB4MGEsMHgwMCwweDAyLDB4NGUsMHgwMCwweDgzLDB4NDksMHg2OCwweGMwLDB4MDIsMHgzOSwweDQyLDB4Y2UsMHg0MCB9fSwKLSB7MTYsIDB4ODk0MCwgMCwgezB4YjMsMHgwMCwweDJjLDB4ZTYsMHgwYiwweGIwLDB4MDIsMHg4YiwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDg5NTAsIDAsIHsweDIwLDB4MDEsMHgxYywweDA4LDB4ODcsMHgyMCwweDJjLDB4ODAsMHgxOCwweGYyLDB4MjIsMHgxYywweDAwLDB4ODcsMHgxMCwweDIxIH19LAotIHsxNiwgMHg4OTYwLCAwLCB7MHhjMCwweDA4LDB4NzAsMHg4MiwweGRjLDB4ODAsMHg5NiwweDgwLDB4MmQsMHhjMCwweDBhLDB4NDAsMHgwMiwweDdkLDB4NDAsMHgyNyB9fSwKLSB7MTYsIDB4ODk3MCwgMCwgezB4NjQsMHg2ZCwweGQwLDB4NDgsMHg2MCwweDQyLDB4ZDgsMHgwNSwweGI2LDB4MDQsMHgyOSwweGMwLDB4NGIsMHg3MiwweDAyLDB4MjggfX0sCi0gezE2LCAweDg5ODAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA4LDB4M2UsMHg4OCwweGQ3LDB4ZTAsMHgzZCwweGUwIH19LAotIHsxNiwgMHg4OTkwLCAwLCB7MHgwOCwweDdjLDB4NDIsMHgzZSwweDAwLDB4ZTMsMHg4MiwweDIwLDB4ZTAsMHgwYywweDY4LDB4MDMsMHhkZiwweDA0LDB4ZDcsMHg4MCB9fSwKLSB7MTYsIDB4ODlhMCwgMCwgezB4M2IsMHhlMCwweDRlLDB4NDgsMHgwYSwweDVlLDB4ODAsMHhjNywweGMyLDB4MTksMHhlMCwweDBlLDB4NzgsMHgwMywweGQ2LDB4MDggfX0sCi0gezE2LCAweDg5YjAsIDAsIHsweGY3LDB4ODAsMHgzZCwweGUwLDB4MGYsMHhmOCwweDAzLDB4YWEsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4OWMwLCAwLCB7MHgwOCwweDFkLDB4YWMsMHg0MCwweGZiLDB4NDAsMHg3ZSwweDgwLDB4MGUsMHgzNiwweDgzLDB4ZWQsMHg0MCwweGRiLDB4NjAsMHgzZSB9fSwKLSB7MTYsIDB4ODlkMCwgMCwgezB4ODAsMHgwZiwweGEwLDB4MDMsMHhlZCwweDI4LDB4ZGEsMHgwMCwweDMyLDB4YzQsMHgwYywweGIwLDB4MGIsMHhjYywweDAwLDB4ZmIgfX0sCi0gezE2LCAweDg5ZTAsIDAsIHsweDAwLDB4M2UsMHhjMCwweDBlLDB4ODAsMHgxMywweGUwLDB4MTAsMHhmOCwweDAwLDB4M2UsMHgwMCwweDBmLDB4YjEsMHg1MywweGMyIH19LAotIHsxNiwgMHg4OWYwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwNSwweGZlLDB4MDAsMHhmZiwweGMwLDB4MzMsMHhlMCB9fSwKLSB7MTYsIDB4OGEwMCwgMCwgezB4MGMsMHhmOSwweDAzLDB4N2YsMHgwNCwweGNmLDB4ZDAsMHgzZiwweGU0LDB4MGYsMHhiOCwweDAzLDB4ZmUsMHgwMCwweGZmLDB4OTQgfX0sCi0gezE2LCAweDhhMTAsIDAsIHsweDNmLDB4ZTAsMHgwZiwweGM4LDB4MDMsMHg3ZSwweDEwLDB4ZjMsMHg4MCwweDNiLDB4ZTAsMHgwZiwweGY4LDB4MDMsMHhmZSwweDQ4IH19LAotIHsxNiwgMHg4YTIwLCAwLCB7MHhlZCwweDgwLDB4MzMsMHgyNCwweDA0LDB4ZjgsMHgwMywweDMwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OGEzMCwgMCwgezB4YTgsMHgxMSwweDljLDB4ODAsMHhiZiwweDA0LDB4MjEsMHgyOCwweDA4LDB4ZjgsMHgwMiwweDFlLDB4YzAsMHhjZiwweDkwLDB4MjEgfX0sCi0gezE2LCAweDhhNDAsIDAsIHsweDRjLDB4MGIsMHg1YSwweDQyLDB4ZGUsMHgwMCwweGI3LDB4ODAsMHgyYywweGU4LDB4MGIsMHgwNCwweDAyLDB4MWMsMHgwMCwweGI3IH19LAotIHsxNiwgMHg4YTUwLCAwLCB7MHhhMCwweDM1LDB4MTAsMHg4ZiwweDcxLDB4MTMsMHhkZSwweGMwLDB4ODQsMHgxMCwweDIxLDB4ODAsMHgwZCwweDcxLDB4MDIsMHgyYSB9fSwKLSB7MTYsIDB4OGE2MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4NDAsMHg5YywweDA4LDB4YjcsMHgwMCwweDI1LDB4YzggfX0sCi0gezE2LCAweDhhNzAsIDAsIHsweDA4LDB4NzEsMHgwMiwweGNjLDB4ODAsMHg5NywweDAwLDB4MjksMHhjMCwweDhiLDB4NzIsMHgwNiwweGRjLDB4MDgsMHhiNSwweDAwIH19LAotIHsxNiwgMHg4YTgwLCAwLCB7MHgyZCwweGM4LDB4MGIsMHg0MCwweDAyLDB4MWMsMHg0MCwweGJmLDB4MTAsMHgyMSwweGMwLDB4MGIsMHg3NCwweDAyLDB4ZDQsMHg4MCB9fSwKLSB7MTYsIDB4OGE5MCwgMCwgezB4YTcsMHg0MCwweDIxLDB4NDEsMHgwOCwweDcwLDB4MDIsMHgwNCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDhhYTAsIDAsIHsweDYwLDB4MTQsMHhjYywweDAwLDB4YjMsMHgwMCwweDI0LDB4MDAsMHgwOCwweDM0LDB4ODIsMHhhYywweDExLDB4ODMsMHgwMCwweDIwIH19LAotIHsxNiwgMHg4YWIwLCAwLCB7MHgwMCwweDRiLDB4MTgsMHgyNiwweGNmLDB4MjAsMHhiMSwweDA2LDB4MmMsMHhjMSwweDBiLDB4MzIsMHgwMiwweDBlLDB4MDgsMHhiMyB9fSwKLSB7MTYsIDB4OGFjMCwgMCwgezB4ODgsMHgyNCwweDMyLDB4MGEsMHgzMCwweDEyLDB4ODQsMHgwOCwweDgwLDB4MDAsMHhhMCwweDM0LDB4MjgsMHgzMCwweDAyLDB4MTggfX0sCi0gezE2LCAweDhhZDAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDExLDB4YmMsMHgwMCwweGZmLDB4MDAsMHhiNiwweDQwIH19LAotIHsxNiwgMHg4YWUwLCAwLCB7MHgyYywweGY0LDB4NDMsMHhmYywweDAxLDB4ZGYsMHgwMCwweDNhLDB4MDAsMHgwMywweDkyLDB4MDMsMHhmZiwweDg4LDB4ZjksMHgwMCB9fSwKLSB7MTYsIDB4OGFmMCwgMCwgezB4MmYsMHhjMCwweDFiLDB4MGUsMHg0YiwweDJlLDB4OTAsMHhmYiwweGUwLDB4MzAsMHgzMiwweDBiLDB4OTgsMHgwMiwweGVjLDB4MDggfX0sCi0gezE2LCAweDhiMDAsIDAsIHsweDZiLDB4YzAsMHgzMiwweGMwLDB4MDgsMHhmMCwweDA5LDB4M2UsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4YjEwLCAwLCB7MHg4MCwweDAwLDB4ZWMsMHgwMCwweGYzLDB4MDAsMHgzYSwweGMwLDB4MGYsMHhiMCwweDAxLDB4NmMsMHgwMCwweGZiLDB4MDAsMHgzYSB9fSwKLSB7MTYsIDB4OGIyMCwgMCwgezB4MTAsMHgwZiwweGI0LDB4MDMsMHhlYywweDAwLDB4ZjAsMHgwMCwweDNjLDB4YzAsMHgwZiwweDgwLDB4MGIsMHhhZCwweDIwLDB4ZmIgfX0sCi0gezE2LCAweDhiMzAsIDAsIHsweDQwLDB4M2UsMHgxMCwweDA3LDB4YTgsMHg2MywweGUwLDB4MDAsMHhmYiwweDgwLDB4M2UsMHhkOCwweDBmLDB4YjAsMHgwMywweGUwIH19LAotIHsxNiwgMHg4YjQwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGZjLDB4MDAsMHhmZiwweDAwLDB4NzIsMHgwMCB9fSwKLSB7MTYsIDB4OGI1MCwgMCwgezB4MGYsMHhmMCwweDIzLDB4ZmMsMHgwMCwweGRmLDB4MDAsMHgzZiwweDQwLDB4MGYsMHhjMCwweDAzLDB4ZGMsMHgwMCwweDhmLDB4MDAgfX0sCi0gezE2LCAweDhiNjAsIDAsIHsweDMzLDB4YzEsMHgwYywweGMwLDB4MDMsMHhiZSwweDAwLDB4ZmYsMHg5MCwweDNiLDB4MjgsMHgwZSwweDU5LDB4MDMsMHgyZSwweDAwIH19LAotIHsxNiwgMHg4YjcwLCAwLCB7MHg3YiwweDAwLDB4MzIsMHhjNCwweDBmLDB4YjAsMHgwMywweGQwLDB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OGI4MCwgMCwgezB4YzEsMHgwNCwweDZjLDB4MDAsMHhiYiwweDAwLDB4NjIsMHhhMCwweDBmLDB4YjAsMHgwMiwweGVjLDB4MDksMHg4YiwweDAwLDB4MmUgfX0sCi0gezE2LCAweDhiOTAsIDAsIHsweDMwLDB4MGIsMHhhOCwweDAzLDB4YWMsMHgwMCwweGZhLDB4YzEsMHgyMiwweGMxLDB4MDgsMHg4YywweDAyLDB4MmMsMHgwMCwweGIzIH19LAotIHsxNiwgMHg4YmEwLCAwLCB7MHg4MSwweDJhLDB4MDAsMHgwZCwweDg4LDB4YjIsMHgyMiwweDAwLDB4YjMsMHhjMCwweDIyLDB4YzgsMHgwYiwweGIwLDB4NDIsMHg2MSB9fSwKLSB7MTYsIDB4OGJiMCwgMCwgezB4NDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHg2YywweDAwLDB4YmIsMHgwMSwweDIyLDB4NjIgfX0sCi0gezE2LCAweDhiYzAsIDAsIHsweDBiLDB4YjAsMHgwMiwweGVjLDB4MDQsMHg4YiwweDAwLDB4MmUsMHhhMiwweDQ5LDB4ODgsMHgyNiwweGVjLDB4MDAsMHhhOCwweDgwIH19LAotIHsxNiwgMHg4YmQwLCAwLCB7MHgyMiwweGMwLDB4MjgsMHg4MiwweDBhLDB4YWMsMHhhMCwweGJiLDB4MDgsMHgyMiwweGMwLDB4MDgsMHg4MCwweDBhLDB4MjgsMHg4NCB9fSwKLSB7MTYsIDB4OGJlMCwgMCwgezB4YjksMHhjMCwweGEyLDB4MDAsMHgwYiwweGIwLDB4MDIsMHhlMCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDhiZjAsIDAsIHsweDA4LDB4MDQsMHgwYywweDAwLDB4YjMsMHgxMCwweDIwLDB4NDgsMHgwYSwweDMyLDB4MDIsMHhjYywweDgwLDB4ODMsMHgwMSwweDI0IH19LAotIHsxNiwgMHg4YzAwLCAwLCB7MHgwMCwweDBiLDB4MDIsMHgwNiwweDhjLDB4NjAsMHhhMCwweDIwLDB4MjAsMHhjOCwweDA4LDB4MDEsMHgwMiwweDBjLDB4MDAsMHhiMyB9fSwKLSB7MTYsIDB4OGMxMCwgMCwgezB4MDAsMHgyOCwweDAwLDB4MDksMHgyMCwweDAyLDB4MDgsMHg4MCwweGIxLDB4MDAsMHhhMCwweDgwLDB4MGIsMHgzMCwweDAyLDB4NDIgfX0sCi0gezE2LCAweDhjMjAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA5LDB4NmMsMHgwMCwweGZmLDB4MDAsMHhhMiwweDBlIH19LAotIHsxNiwgMHg4YzMwLCAwLCB7MHgwYiwweGYxLDB4MDMsMHhmYywweDA4LDB4Y2YsMHgyMCwweDNlLDB4YzAsMHgwZiwweDgwLDB4MDMsMHhmYywweDg0LDB4YTgsMHgyMCB9fSwKLSB7MTYsIDB4OGM0MCwgMCwgezB4YjIsMHhjOCwweDhjLDB4ODAsMHgwMywweGFjLDB4NDQsMHhmYiwweDcwLDB4M2EsMHhjMCwweDBlLDB4OTAsMHgwMywweDJjLDB4YTQgfX0sCi0gezE2LCAweDhjNTAsIDAsIHsweGZiLDB4MDAsMHhiMiwweDQwLDB4MGYsMHhiMCwweDAzLDB4YzAsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4YzYwLCAwLCB7MHhhMCwweDFkLDB4ZmMsMHgwMCwweGZmLDB4MjYsMHgzZSwweDAwLDB4MGYsMHhiNiwweDEzLDB4ZWQsMHgwMCwweGZiLDB4MTAsMHgzZiB9fSwKLSB7MTYsIDB4OGM3MCwgMCwgezB4MDAsMHgwZiwweGMxLDB4MTMsMHhhYywweDgwLDB4ZjgsMHgxMiwweDNlLDB4YzYsMHg0ZiwweDQyLDB4NDMsMHhmYywweDA0LDB4ZmYgfX0sCi0gezE2LCAweDhjODAsIDAsIHsweDMxLDB4M2YsMHgwMCwweDBmLDB4ZjAsMHgwMywweGVjLDB4MDAsMHhmZiwweDAwLDB4YmYsMHhjMCwweDhmLDB4ZjAsMHgwMywweGU4IH19LAotIHsxNiwgMHg4YzkwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMSwweGZjLDB4NDAsMHhmYywweDgwLDB4MzYsMHhjOCB9fSwKLSB7MTYsIDB4OGNhMCwgMCwgezB4MGYsMHgwOSwweDAzLDB4YzIsMHgwMCwweGY4LDB4YzAsMHgzMywweGNjLDB4MmMsMHg0YywweDAzLDB4NjMsMHg5MCwweGUwLDB4OTAgfX0sCi0gezE2LCAweDhjYjAsIDAsIHsweDNhLDB4YzAsMHgwZCwweDUwLDB4MGIsMHgzYywweDA0LDB4ZGYsMHg2NCwweDNmLDB4YzgsMHg4ZCwweGYxLDB4NDMsMHgyYywweDAwIH19LAotIHsxNiwgMHg4Y2MwLCAwLCB7MHhkNSwweDAwLDB4MzMsMHhjMCwweDQ1LDB4ZjIsMHgyMywweDcwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OGNkMCwgMCwgezB4ODAsMHgxMCwweGVkLDB4ODAsMHhiYSwweDAyLDB4MjEsMHhkZSwweDhiLDB4ODIsMHgyMiwweGUwLDB4MjAsMHhiMCwweDAwLDB4MmIgfX0sCi0gezE2LCAweDhjZTAsIDAsIHsweGVjLDB4MDksMHg4MCwweDAyLDB4ZTMsMHg0MCwweGJhLDB4MjAsMHgyZiwweGRjLDB4MDgsMHg5OCwweDEyLDB4MmMsMHgwMCwweDhiIH19LAotIHsxNiwgMHg4Y2YwLCAwLCB7MHg1MSwweDJhLDB4ZDAsMHgwOCwweDcyLDB4MjIsMHgyZSwweDAwLDB4OGQsMHg4MCwweDIxLDB4ZDAsMHgwOCwweGI2LDB4ODIsMHgyMCB9fSwKLSB7MTYsIDB4OGQwMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjYywweDQwLDB4YjksMHgyOCwweDI0LDB4YzAgfX0sCi0gezE2LCAweDhkMTAsIDAsIHsweDRhLDB4MTIsMHgxMiwweDg4LDB4ODUsMHhhOCwweDIwLDB4MjAsMHhjMCwweDBiLDB4MjIsMHgwMiwweGMwLDB4OTEsMHhhMSwweDAwIH19LAotIHsxNiwgMHg4ZDIwLCAwLCB7MHgyOCwweGMyLDB4MGIsMHgwMCwweDEyLDB4OGMsMHg0MCwweGEzLDB4MjAsMHgyMCwweGM0LDB4MGIsMHgzMCwweDBhLDB4MGMsMHgxMSB9fSwKLSB7MTYsIDB4OGQzMCwgMCwgezB4OTksMHgwMCwweDIwLDB4YzUsMHgwOSwweDAxLDB4MDIsMHg2MiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDhkNDAsIDAsIHsweGMwLDB4MTEsMHhhYywweDAwLDB4YjgsMHg4MCwweDIyLDB4YzAsMHgwYiwweDg4LDB4MDIsMHhlZSwweDAxLDB4YjgsMHhjMSwweDJhIH19LAotIHsxNiwgMHg4ZDUwLCAwLCB7MHhjMCwweDFiLDB4YTgsMHgwNiwweGUyLDB4MDAsMHhiYiwweDgwLDB4MmUsMHhjMCwweDhhLDB4ODAsMHgwMiwweGFjLDB4MDAsMHhhYiB9fSwKLSB7MTYsIDB4OGQ2MCwgMCwgezB4MDAsMHgyZSwweGMwLDB4MGEsMHhiMCwweDAyLDB4MmMsMHgwMCwweDk5LDB4MDAsMHgyNCwweGMwLDB4MDgsMHg4MCwweDAyLDB4MzAgfX0sCi0gezE2LCAweDhkNzAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDE1LDB4ZWMsMHgwMCwweGIwLDB4ODAsMHgzNiwweGMwIH19LAotIHsxNiwgMHg4ZDgwLCAwLCB7MHgwZSwweGE4LDB4MTMsMHhlMiwweDg1LDB4ZjMsMHhjMCwweDMyLDB4YzAsMHgwZSwweDljLDB4MjMsMHhlNywweDI0LDB4ZTgsMHg4MiB9fSwKLSB7MTYsIDB4OGQ5MCwgMCwgezB4M2EsMHhjMSwweDBmLDB4OTQsMHgwMywweGFjLDB4MDIsMHhlYiwweDAwLDB4M2UsMHhjMCwweDBmLDB4YjAsMHgwMywweDJlLDB4MTAgfX0sCi0gezE2LCAweDhkYTAsIDAsIHsweDUxLDB4MDAsMHhiMiwweGMwLDB4MGQsMHhiMCwweDAzLDB4NTAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4ZGIwLCAwLCB7MHhlMCwweDAxLDB4YmMsMHgwMCwweGZmLDB4MDAsMHgzZiwweGMwLDB4OGYsMHhkMCwweDAzLDB4ZjAsMHgwNCwweGZkLDB4MDQsMHgzZiB9fSwKLSB7MTYsIDB4OGRjMCwgMCwgezB4YzAsMHg0YywweGMwLDB4MDMsMHhmMCwweDEwLDB4ZmMsMHgwMCwweDFmLDB4YzAsMHgwZCwweGQxLDB4MjMsMHgxYywweDAwLDB4YzcgfX0sCi0gezE2LCAweDhkZDAsIDAsIHsweDAwLDB4MzksMHhjMCwweDBkLDB4ZjAsMHg4MywweGZlLDB4NDQsMHhlZCwweDAwLDB4M2IsMHhjMCwweDBmLDB4NzQsMHgwMywweGY4IH19LAotIHsxNiwgMHg4ZGUwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweGFjLDB4MDAsMHhmOSwweDAxLDB4YmEsMHhjMSB9fSwKLSB7MTYsIDB4OGRmMCwgMCwgezB4MGMsMHhiMCwweDAzLDB4YTEsMHgwOCwweGZhLDB4MDAsMHgzMCwweGM4LDB4OGYsMHg5NCwweDAzLDB4MjUsMHgwMCwweGY5LDB4MDAgfX0sCi0gezE2LCAweDhlMDAsIDAsIHsweDNjLDB4YzAsMHgwZiwweDA0LDB4ODMsMHhlYywweDAwLDB4ZmIsMHgwMCwweDNlLDB4ZTAsMHgwZiwweDcxLDB4MGIsMHgyYywweDQwIH19LAotIHsxNiwgMHg4ZTEwLCAwLCB7MHhmZCwweDA4LDB4MzcsMHhjMCwweDRlLDB4OTEsMHgwMywweDkwLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OGUyMCwgMCwgezB4YzgsMHgwNSwweDNjLDB4MDAsMHhiOSwweDAwLDB4MjMsMHhjMCwweDA4LDB4OTAsMHgwMiwweDI0LDB4MDAsMHhjOCwweDAwLDB4MzcgfX0sCi0gezE2LCAweDhlMzAsIDAsIHsweGYwLDB4MGIsMHg4MCwweDAxLDB4NjQsMHgwMCwweDQ5LDB4MDIsMHgzMywweGMwLDB4ODQsMHg5YywweDAzLDB4M2MsMHgwMCwweGJmIH19LAotIHsxNiwgMHg4ZTQwLCAwLCB7MHgwMiwweDBmLDB4ZDAsMHgwOCwweGY0LDB4MDIsMHgwZSwweDEwLDB4YmQsMHg4MCwweDMzLDB4ZTAsMHgwOCwweDkwLDB4MGEsMHgzMiB9fSwKLSB7MTYsIDB4OGU1MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg0YywweDAwLDB4YjAsMHgwNiwweDIwLDB4YzAgfX0sCi0gezE2LCAweDhlNjAsIDAsIHsweDA4LDB4MDAsMHg0MiwweDg0LDB4MDAsMHhhMCwweDAwLDB4MjAsMHhmMCwweDBiLDB4MDAsMHgyMiwweGNjLDB4MDAsMHg5MCwweDAwIH19LAotIHsxNiwgMHg4ZTcwLCAwLCB7MHgyOCwweGMwLDB4MDIsMHgzZCwweDAyLDB4OGMsMHgwMCwweGIzLDB4MDAsMHgyYywweGMyLDB4OWEsMHgzOCwweDAyLDB4MDYsMHgwNCB9fSwKLSB7MTYsIDB4OGU4MCwgMCwgezB4YjEsMHgxMiwweDIwLDB4ZTAsMHgwOCwweDMwLDB4MDIsMHgzOCwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDhlOTAsIDAsIHsweDIwLDB4MDEsMHgxZSwweDAwLDB4YjYsMHg4MCwweDIxLDB4ZTAsMHgyOCwweGVhLDB4MDIsMHgzNiwweDgwLDB4ODYsMHg5MCwweDY1IH19LAotIHsxNiwgMHg4ZWEwLCAwLCB7MHhlMCwweDFiLDB4ZGEsMHgwNiwweDVlLDB4MDEsMHg5ZSwweDg0LDB4MjUsMHhlYywweDBhLDB4NzgsMHgwMiwweDVlLDB4MDAsMHhiNyB9fSwKLSB7MTYsIDB4OGViMCwgMCwgezB4ODAsMHgyZCwweGUwLDB4MDgsMHg3OSwweDRhLDB4MTYsMHg0MCwweGJkLDB4ODAsMHgyNSwweGUwLDB4MDgsMHgzOCwweDAyLDB4MDggfX0sCi0gezE2LCAweDhlYzAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MGMsMHgwMCwweGZiLDB4MDAsMHgyOCwweGUwIH19LAotIHsxNiwgMHg4ZWQwLCAwLCB7MHgwOCwweDE4LDB4MDIsMHg4YSwweDg4LDB4YTEsMHhhMCwweDIwLDB4YzIsMHgxZiwweDJhLDB4MjMsMHhlNiwweGM4LDB4ZjAsMHhjMCB9fSwKLSB7MTYsIDB4OGVlMCwgMCwgezB4M2EsMHhlZCwweDRlLDB4MzQsMHgwMiwweDhjLDB4MDgsMHhmMywweDgxLDB4MWUsMHhjMCwweDBlLDB4MzAsMHgwMywweDBlLDB4YzAgfX0sCi0gezE2LCAweDhlZjAsIDAsIHsweGYxLDB4MDAsMHhiMCwweGNhLDB4MGUsMHgyMSwweDAzLDB4OTIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4ZjAwLCAwLCB7MHg0MCwweDFkLDB4YmMsMHgwOCwweGZlLDB4MTAsMHgzZiwweGQyLDB4MGYsMHhlMCwweDAzLDB4ZWMsMHgwNCwweGZmLDB4MTQsMHg3ZSB9fSwKLSB7MTYsIDB4OGYxMCwgMCwgezB4YzAsMHgwZiwweGIxLDB4MjMsMHhmYywweDAxLDB4ZWUsMHgwMCwweDNhLDB4YzQsMHgwZCwweGIwLDB4MTMsMHhiYywweDAwLDB4ZmYgfX0sCi0gezE2LCAweDhmMjAsIDAsIHsweDAwLDB4M2YsMHhjMCwweDBlLDB4ZjAsMHg4MywweGZjLDB4MGMsMHhmZCwweDEwLDB4M2IsMHhjMCwweDJmLDB4ZTEsMHgwMywweGQwIH19LAotIHsxNiwgMHg4ZjMwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGVjLDB4NDAsMHhmMCwweDgwLDB4MzIsMHhkMCB9fSwKLSB7MTYsIDB4OGY0MCwgMCwgezB4MGMsMHhhMCwweDAzLDB4NmMsMHgwMCwweGYzLDB4ODAsMHgzMiwweGRhLDB4MGYsMHhiMCwweDAzLDB4ZWMsMHgwMCwweGZiLDB4MDAgfX0sCi0gezE2LCAweDhmNTAsIDAsIHsweDNlLDB4Y2MsMHg0YywweDk4LDB4MTMsMHgyYywweDEwLDB4ZmIsMHgwNCwweDNlLDB4YzQsMHgwYywweGYyLDB4ODMsMHhhNiwweDEwIH19LAotIHsxNiwgMHg4ZjYwLCAwLCB7MHhkZCwweDIwLDB4M2YsMHhkMSwweDBjLDB4YjAsMHgwMywweGVhLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OGY3MCwgMCwgezB4NDgsMHgxMSwweDljLDB4ODAsMHhiNywweDAwLDB4MjEsMHhjOCwweDBjLDB4NzAsMHgwMiwweGRjLDB4MDgsMHhiNywweDAwLDB4MjEgfX0sCi0gezE2LCAweDhmODAsIDAsIHsweGM4LDB4MGUsMHg3MCwweDIyLDB4ZDgsMHgwMCwweGI3LDB4MDAsMHgyYywweGMyLDB4MGEsMHg3MCwweDBhLDB4MWYsMHgwOCwweGI3IH19LAotIHsxNiwgMHg4ZjkwLCAwLCB7MHgwMCwweDM5LDB4YzgsMHgwYSwweDcwLDB4MDIsMHgxNCwweDAwLDB4YzUsMHg2OSwweDJjLDB4Y2EsMHgyYSwweDcwLDB4MDIsMHhkMiB9fSwKLSB7MTYsIDB4OGZhMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHg5ZSwweDAwLDB4YmYsMHg4MSwweDY0LDB4ZTEgfX0sCi0gezE2LCAweDhmYjAsIDAsIHsweDA4LDB4NzgsMHgwMiwweDVhLDB4MDEsMHhiZiwweDgwLDB4MjEsMHhlYywweDRiLDB4NzgsMHg0NiwweDlmLDB4MDgsMHgzNywweDgwIH19LAotIHsxNiwgMHg4ZmMwLCAwLCB7MHgyZCwweGU4LDB4ODgsMHgxOCwweDAyLDB4MWUsMHg4MSwweGI3LDB4YjAsMHgyZCwweGUwLDB4MDksMHg3YSwweDAyLDB4OGUsMHgwMCB9fSwKLSB7MTYsIDB4OGZkMCwgMCwgezB4OTUsMHhhMCwweDJkLDB4ZTQsMHgwOCwweDc4LDB4MDIsMHhmMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDhmZTAsIDAsIHsweDQ4LDB4MTQsMHhlYywweDAwLDB4YjMsMHg2MCwweDIwLDB4YzAsMHgwOCwweGI2LDB4MDIsMHhjYywweDAwLDB4YjMsMHgwMSwweDIwIH19LAotIHsxNiwgMHg4ZmYwLCAwLCB7MHhjMCwweDhhLDB4YjAsMHg4NiwweGNmLDB4MDAsMHhiYiwweDEwLDB4NmMsMHhjMSwweDBhLDB4MzgsMHgwMiwweDBjLDB4MDEsMHhiMyB9fSwKLSB7MTYsIDB4OTAwMCwgMCwgezB4MDIsMHgyOCwweGMwLDB4MGIsMHhiMCwweDBhLDB4MGMsMHgwMCwweDgxLDB4MDAsMHgyZSwweGMwLDB4MGEsMHhiNCwweDgyLDB4ZDIgfX0sCi0gezE2LCAweDkwMTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YTgsMHgwMCwweGZlLDB4NDAsMHhiNiwweDgwIH19LAotIHsxNiwgMHg5MDIwLCAwLCB7MHgwYywweGU0LDB4MDMsMHg3OCwweDgwLDB4ZmUsMHg3NCwweDMyLDB4ODAsMHgwYiwweGU2LDB4MDMsMHhmOSwweDAwLDB4ZmUsMHgwMCB9fSwKLSB7MTYsIDB4OTAzMCwgMCwgezB4M2UsMHg4MCwweDBjLDB4ZTAsMHgwMywweDI4LDB4MDAsMHhmYSwweDAwLDB4M2UsMHg4MCwweDRkLDB4YTAsMHgwMywweGE4LDB4MDAgfX0sCi0gezE2LCAweDkwNDAsIDAsIHsweGRhLDB4MDQsMHgzZSwweDgwLDB4MGMsMHhlNCwweDAzLDB4ZmEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5MDUwLCAwLCB7MHg0OCwweDAwLDB4ZTAsMHgwMCwweGY4LDB4MDAsMHgzZSwweDAwLDB4MmUsMHg4MCwweDIzLDB4ZTAsMHgwMCwweGY4LDB4MDEsMHgzYyB9fSwKLSB7MTYsIDB4OTA2MCwgMCwgezB4MDAsMHgwZSwweDgwLDB4MDMsMHhlMCwweDIwLDB4ZjgsMHgyMCwweDNlLDB4MDEsMHg4ZiwweDg5LDB4MDMsMHhlMCwweDAwLDB4ZjggfX0sCi0gezE2LCAweDkwNzAsIDAsIHsweDAwLDB4M2EsMHgxMCwweDBlLDB4ODAsMHgwMSwweGUwLDB4MDAsMHhlOCwweDQwLDB4N2UsMHgwMCwweDRmLDB4ODAsMHgwMywweGQyIH19LAotIHsxNiwgMHg5MDgwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGU0LDB4MDIsMHhjOSwweDAxLDB4N2UsMHg0MCB9fSwKLSB7MTYsIDB4OTA5MCwgMCwgezB4MmMsMHg5MCwweDBiLDB4MjQsMHgwMCwweGY5LDB4MDAsMHgzZSwweDY4LDB4MDUsMHg5MCwweDEzLDB4YTQsMHgwNCwweGQ5LDB4MDAgfX0sCi0gezE2LCAweDkwYTAsIDAsIHsweDMyLDB4NDEsMHgwZSwweDkxLDB4MDMsMHhlNCwweDAwLDB4ZjksMHgwMCwweDNlLDB4NjAsMHgwZSwweDkwLDB4MDMsMHgyNCwweDAwIH19LAotIHsxNiwgMHg5MGIwLCAwLCB7MHhmMSwweDAwLDB4MzIsMHg0MCwweDY4LDB4OTAsMHg0MywweDgyLDB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTBjMCwgMCwgezB4ODAsMHgwNCwweDY0LDB4MDAsMHg4OSwweDAwLDB4NmUsMHg0MCwweDA4LDB4OTAsMHg0MiwweDI0LDB4MDAsMHhiOSwweDAwLDB4MmUgfX0sCi0gezE2LCAweDkwZDAsIDAsIHsweDcwLDB4ODgsMHg5MCwweDAzLDB4MjQsMHgwMCwweGI5LDB4MDAsMHgyMiwweDQwLDB4MDgsMHg5OCwweDEyLDB4ZTQsMHgwMCwweGI5IH19LAotIHsxNiwgMHg5MGUwLCAwLCB7MHgwMCwweDJlLDB4NDAsMHgwYSwweDkwLDB4MGEsMHgyNiwweDAwLDB4YjksMHg4MCwweGEyLDB4NDAsMHgwOCwweDkwLDB4MTIsMHgyMCB9fSwKLSB7MTYsIDB4OTBmMCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHgyNCwweDAwLDB4ODksMHgwNCwweDJjLDB4NDAgfX0sCi0gezE2LCAweDkxMDAsIDAsIHsweDA4LDB4OTAsMHgwMiwweDI0LDB4MDEsMHhiOSwweDAwLDB4MmEsMHg0MCwweDBiLDB4YjAsMHgwMiwweGE0LDB4MDEsMHhiOSwweDAwIH19LAotIHsxNiwgMHg5MTEwLCAwLCB7MHhlMCwweDQwLDB4MGEsMHg5MCwweDgyLDB4YTQsMHgwMCwweGI5LDB4MDAsMHgyYywweDQ4LDB4MGEsMHg5OCwweDAyLDB4MjQsMHg4MCB9fSwKLSB7MTYsIDB4OTEyMCwgMCwgezB4MzksMHgyMCwweDIyLDB4NDAsMHgyYSwweDkwLDB4MDIsMHg4NiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDkxMzAsIDAsIHsweDA4LDB4MDQsMHgwNCwweDgwLDB4ODEsMHgwMCwweDJjLDB4NDgsMHgwOCwweDEwLDB4MTIsMHgwNCwweDEwLDB4YjEsMHgwNCwweDJjIH19LAotIHsxNiwgMHg5MTQwLCAwLCB7MHhkOCwweDBhLDB4MTAsMHgwMiwweDA0LDB4MDAsMHhiMSwweDAwLDB4MjAsMHg0OCwweDA4LDB4MTAsMHgwMiwweGM0LDB4ODAsMHhiMSB9fSwKLSB7MTYsIDB4OTE1MCwgMCwgezB4MjIsMHgyYywweDUwLDB4OGEsMHgzMiwweDgyLDB4MDUsMHhhMCwweGIxLDB4MmEsMHgyMCwweDRhLDB4MGEsMHgxMiwweDgyLDB4MDIgfX0sCi0gezE2LCAweDkxNjAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjEsMHg1MCwweGM4LDB4NTIsMHgyZSwweDE0IH19LAotIHsxNiwgMHg5MTcwLCAwLCB7MHgwYywweDg1LDB4MDMsMHgyMSwweDQwLDB4ZjgsMHg1MCwweDNhLDB4MDAsMHgxZiwweDg1LDB4MDMsMHhhMSwweDQwLDB4ZjgsMHg1MCB9fSwKLSB7MTYsIDB4OTE4MCwgMCwgezB4MzIsMHgxNCwweDBlLDB4ODAsMHgwMywweGExLDB4NDAsMHhmOCwweDUwLDB4M2MsMHg4MCwweDBlLDB4MDIsMHgwMywweDIwLDB4ODAgfX0sCi0gezE2LCAweDkxOTAsIDAsIHsweGZhLDB4MjAsMHgzMiwweDA4LDB4MGUsMHg4MiwweDEzLDB4YWUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5MWEwLCAwLCB7MHg5OCwweDFkLDB4ZTQsMHg1MCwweGZkLDB4MDAsMHgzZSwweDQ0LDB4MGYsMHhkMCwweDAzLDB4ZjQsMHgwMCwweGZkLDB4MDAsMHgzZSB9fSwKLSB7MTYsIDB4OTFiMCwgMCwgezB4NDQsMHg4ZCwweGQwLDB4MDEsMHhiZCwweDAwLDB4ZmQsMHgwMiwweDNlLDB4NDQsMHgwZiwweGQ0LDB4MDAsMHhlNCwweDQ4LDB4NzkgfX0sCi0gezE2LCAweDkxYzAsIDAsIHsweDE0LDB4M2UsMHg1MCwweDBmLDB4OTIsMHhhMiwweGY0LDB4MDgsMHhmZCwweDAwLDB4M2UsMHg0YSwweDBkLDB4ZDIsMHg4MywweGU2IH19LAotIHsxNiwgMHg5MWQwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweGU3LDB4MDAsMHhmOSwweDEwLDB4M2EsMHg2ZSB9fSwKLSB7MTYsIDB4OTFlMCwgMCwgezB4MGMsMHhiMSwweDAzLDB4ZTQsMHg0MCwweGY5LDB4NDQsMHgzYiwweDYxLDB4OGUsMHg5NCwweDAzLDB4ZTQsMHgwMCwweGU5LDB4NDAgfX0sCi0gezE2LCAweDkxZjAsIDAsIHsweDMyLDB4NjYsMHgwZiwweGRhLDB4MGIsMHhhNywweDI4LDB4YzksMHhlMCwweDNmLDB4NjgsMHgwYywweGRhLDB4ODMsMHhiMywweDIwIH19LAotIHsxNiwgMHg5MjAwLCAwLCB7MHhlZCwweGEwLDB4MzMsMHg3OSwweDA4LDB4ZDgsMHgwMywweDQ2LDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTIxMCwgMCwgezB4MzgsMHgxMCwweGUyLDB4MDAsMHhiOCwweGEwLDB4MmUsMHgzOCwweDA4LDB4OGEsMHgwMiwweGUyLDB4ODgsMHhlOCwweDgxLDB4MmUgfX0sCi0gezE2LCAweDkyMjAsIDAsIHsweDE0LDB4MDksMHgwYSwweDAzLDB4ZTIsMHg4MCwweGI4LDB4ODAsMHgzMiwweDMwLDB4MGIsMHg4NSwweDAyLDB4MjEsMHgwMSwweGE4IH19LAotIHsxNiwgMHg5MjMwLCAwLCB7MHhmNCwweDM4LDB4MmEsMHgwOCwweDBlLDB4Y2EsMHgyMywweDkwLDB4YzgsMHg1NCwweDM0LDB4MzgsMHgwOCwweDhhLDB4OTIsMHgwZSB9fSwKLSB7MTYsIDB4OTI0MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhjNSwweDAwLDB4YjEsMHgwMCwweDI4LDB4NDAgfX0sCi0gezE2LCAweDkyNTAsIDAsIHsweDE5LDB4MTAsMHgwMiwweGM0LDB4MDAsMHhiMSwweDIwLDB4MjgsMHg0MCwweDBiLDB4MTAsMHgwNiwweGM0LDB4MjAsMHhhMSwweGEyIH19LAotIHsxNiwgMHg5MjYwLCAwLCB7MHg2YywweDQ4LDB4MGIsMHgxMCwweDAyLDB4ODQsMHgwOCwweDgxLDB4MjAsMHgyYywweDUwLDB4MDksMHgxMCwweDAyLDB4YzQsMHgwNCB9fSwKLSB7MTYsIDB4OTI3MCwgMCwgezB4YjEsMHgwMCwweDI0LDB4NTgsMHgwOCwweDNjLDB4MDIsMHg0MiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDkyODAsIDAsIHsweDE4LDB4MTUsMHhhNCwweDAxLDB4YjksMHgyMCwweDJjLDB4NDAsMHgwOSwweDkwLDB4MDIsMHhlNCwweDEwLDB4YTksMHg0MCwweDJlIH19LAotIHsxNiwgMHg5MjkwLCAwLCB7MHg0MCwweDBiLDB4OTAsMHgwMiwweGE0LDB4MDAsMHhiMSwweDAxLDB4MmEsMHg0MCwweDBiLDB4OTQsMHgwMiwweDI0LDB4MDAsMHhhOSB9fSwKLSB7MTYsIDB4OTJhMCwgMCwgezB4MDAsMHgyYSwweDQwLDB4MDEsMHgxMCwweDUyLDB4NjQsMHgwMCwweDg5LDB4MDAsMHgyNiwweDQwLDB4MDAsMHg5OCwweDAyLDB4NDYgfX0sCi0gezE2LCAweDkyYjAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4ZTQsMHgwMCwweGY5LDB4NjEsMHgzYSwweDQwIH19LAotIHsxNiwgMHg5MmMwLCAwLCB7MHgwZCwweDkwLDB4ODMsMHhlNSwweDIwLDB4ZjksMHgwMSwweDNhLDB4NDAsMHgyZSwweDkwLDB4MDIsMHhlNCwweDQwLDB4ZTksMHgwMSB9fSwKLSB7MTYsIDB4OTJkMCwgMCwgezB4OWUsMHg0MCwweDBmLDB4OTQsMHgwMywweGE0LDB4MDAsMHg4OSwweDAwLDB4M2UsMHg0MCwweDJkLDB4OTAsMHgwMiwweGU2LDB4MDggfX0sCi0gezE2LCAweDkyZTAsIDAsIHsweGI5LDB4MDEsMHgzNiwweDQwLDB4MmMsMHg5MCwweDAxLDB4NjgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5MmYwLCAwLCB7MHgyOCwweDAxLDB4YTQsMHgwMCwweGY5LDB4MDAsMHgzZSwweDQwLDB4MmUsMHg5MCwweDAzLDB4ZTQsMHg4MCwweGY5LDB4MDAsMHgzYyB9fSwKLSB7MTYsIDB4OTMwMCwgMCwgezB4NDAsMHgwYywweDljLDB4MjMsMHhlNCwweDAwLDB4ZjksMHgwMCwweDM2LDB4NDAsMHgwZiwweDEwLDB4NDMsMHg4NCwweDAwLDB4ZjkgfX0sCi0gezE2LCAweDkzMTAsIDAsIHsweDAyLDB4M2UsMHg0MCwweDBlLDB4OTAsMHgwMywweDgwLDB4ODAsMHhmOSwweDAwLDB4M2MsMHg0MCwweDJmLDB4OTAsMHgwMywweDhhIH19LAotIHsxNiwgMHg5MzIwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxMCwweGEwLDB4MDAsMHhjOCwweDQwLDB4MzYsMHgwMSB9fSwKLSB7MTYsIDB4OTMzMCwgMCwgezB4MGQsMHg4NCwweDAzLDB4ZTEsMHgwMCwweGU4LDB4NDAsMHgzZSwweDA4LDB4MGMsMHg4MCwweDAzLDB4ZTEsMHgwMCwweGY4LDB4MDAgfX0sCi0gezE2LCAweDkzNDAsIDAsIHsweDMyLDB4MDAsMHg4ZiwweDgwLDB4MDMsMHhhMCwweDEwLDB4ZjgsMHgwMCwweDMyLDB4MDQsMHgwZSwweDgwLDB4ODMsMHg2MCwweDAwIH19LAotIHsxNiwgMHg5MzUwLCAwLCB7MHhmOCwweDAwLDB4M2UsMHgwMCwweDBjLDB4MDAsMHgwMywweDBhLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTM2MCwgMCwgezB4MjgsMHgwNSwweDI4LDB4MDAsMHg4YSwweDAxLDB4MjIsMHg4MCwweDA4LDB4YTAsMHgyNCwweGU4LDB4MDAsMHgwYSwweDAwLDB4MmYgfX0sCi0gezE2LCAweDkzNzAsIDAsIHsweDgwLDB4MWEsMHhhMCwweDAyLDB4MjgsMHgwMCwweGJhLDB4MDAsMHgxNiwweDgwLDB4MGIsMHhlMCwweDAzLDB4MjgsMHgwOCwweGVhIH19LAotIHsxNiwgMHg5MzgwLCAwLCB7MHgwMCwweDMzLDB4OTAsMHgwOCwweGVjLDB4MWIsMHgyMiwweDgwLDB4YzYsMHgxNCwweDJmLDB4OTEsMHgwOCwweGEwLDB4NDMsMHg0YSB9fSwKLSB7MTYsIDB4OTM5MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg0YywweDAwLDB4OTMsMHgwMCwweDI0LDB4YzAgfX0sCi0gezE2LCAweDkzYTAsIDAsIHsweDA5LDB4MzAsMHgxMiwweGNjLDB4MDQsMHhhMywweDA0LDB4NmMsMHhjMCwweDA5LDB4MzAsMHgwMiwweDhjLDB4MDAsMHhiMywweDAwIH19LAotIHsxNiwgMHg5M2IwLCAwLCB7MHgyYywweGMwLDB4MTMsMHgzMCwweDAyLDB4OGMsMHgwMCwweGIzLDB4MDAsMHhlNiwweGI4LDB4MGEsMHgzOCwweDAyLDB4NDQsMHgwOCB9fSwKLSB7MTYsIDB4OTNjMCwgMCwgezB4ODIsMHg1MCwweDJjLDB4ZDIsMHgzYSwweDMwLDB4MDIsMHg4YSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDkzZDAsIDAsIHsweGEwLDB4MDEsMHgwZSwweDgwLDB4OTcsMHhiNCwweDIxLDB4YzQsMHg0OSwweDcxLDB4MDIsMHhkZSwweDgxLDB4ODcsMHgyMSwweDJkIH19LAotIHsxNiwgMHg5M2UwLCAwLCB7MHhkMCwweDBiLDB4N2IsMHgwMiwweDFjLDB4MDEsMHhiZiwweDIwLDB4MjksMHhjNCwweDBiLDB4MzAsMHgwMiwweDVjLDB4MDAsMHhhNyB9fSwKLSB7MTYsIDB4OTNmMCwgMCwgezB4YTEsMHgyMSwweGMwLDB4NGEsMHg3MCwweDhhLDB4MGMsMHg4MSwweDg0LDB4MDAsMHgyZCwweGQwLDB4MGEsMHg1MCwweDAyLDB4ZTggfX0sCi0gezE2LCAweDk0MDAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MWUsMHg4MiwweGRmLDB4YTAsMHgzNCwweGVjIH19LAotIHsxNiwgMHg5NDEwLCAwLCB7MHgwZCwweDc5LDB4MDIsMHhmZSwweDgwLDB4ZTcsMHhlOCwweDJmLDB4YTAsMHgwOSwweDdhLDB4MDIsMHg5ZSwweDAwLDB4ZjcsMHhhMiB9fSwKLSB7MTYsIDB4OTQyMCwgMCwgezB4MjUsMHhlYSwweDBiLDB4NDgsMHgwMywweDllLDB4MDQsMHhmZiwweGMwLDB4NjUsMHhlNCwweDBlLDB4NjgsMHgwMywweDVmLDB4MDAgfX0sCi0gezE2LCAweDk0MzAsIDAsIHsweGU0LDB4ODAsMHgzZCwweGUwLDB4MGUsMHhmOCwweDAzLDB4YWEsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5NDQwLCAwLCB7MHgwOCwweDFkLDB4YWMsMHg0OCwweGViLDB4MDUsMHgzZSwweGQ5LDB4MGUsMHhiMiwweDAzLDB4ZWMsMHgwMCwweGZiLDB4NjAsMHgzZSB9fSwKLSB7MTYsIDB4OTQ1MCwgMCwgezB4YzAsMHgwZSwweGIyLDB4ODMsMHhhYywweDAwLDB4ZjMsMHg1MCwweGE2LDB4YzAsMHg0ZiwweGIwLDB4MDMsMHhhYywweDAwLDB4ZmIgfX0sCi0gezE2LCAweDk0NjAsIDAsIHsweDgwLDB4M2YsMHhkOCwweDBkLDB4YTAsMHgwMywweGVjLDB4MGEsMHhmOSwweDAwLDB4M2UsMHhjMCwweDBkLDB4OTAsMHgwMywweDQyIH19LAotIHsxNiwgMHg5NDcwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweGZlLDB4MDAsMHhiYiwweDkwLDB4M2UsMHhlMCB9fSwKLSB7MTYsIDB4OTQ4MCwgMCwgezB4MDgsMHgzOSwweDAzLDB4OWUsMHgyMCwweGNmLDB4ODIsMHg3NywweGUwLDB4MWYsMHhmOCwweDAzLDB4ZWUsMHgwMCwweGZmLDB4YzAgfX0sCi0gezE2LCAweDk0OTAsIDAsIHsweDNmLDB4ZTUsMHgwZCwweGY5LDB4MDMsMHhlZSwweDAwLDB4ZmIsMHg5MCwweDM3LDB4YTAsMHgwOCwweGY4LDB4MGYsMHgxZSwweDAwIH19LAotIHsxNiwgMHg5NGEwLCAwLCB7MHhjYywweDk0LDB4MzMsMHg2MCwweDBkLDB4ZjgsMHgwMywweGMwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTRiMCwgMCwgezB4YTgsMHgxMSwweDljLDB4MDAsMHhiNywweDkwLDB4MmYsMHhlNCwweDA4LDB4N2EsMHgwMiwweDFlLDB4MDAsMHg4ZiwweDEyLDB4MjUgfX0sCi0gezE2LCAweDk0YzAsIDAsIHsweGQ4LDB4MGIsMHhiYiwweDAyLDB4MWUsMHgwMCwweGI3LDB4MDAsMHgyZCwweGU4LDB4MDgsMHg3ZCwweDgyLDB4ZGUsMHg0MCwweGJiIH19LAotIHsxNiwgMHg5NGQwLCAwLCB7MHhhMCwweDI3LDB4OTAsMHgwYSwweDc2LDB4MDIsMHg1YywweDgwLDB4ODUsMHgwMCwweDM3LDB4YzQsMHg0ZCwweDcxLDB4MDMsMHhlYSB9fSwKLSB7MTYsIDB4OTRlMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5YywweDAwLDB4YjcsMHgyMCwweDJkLDB4YzAgfX0sCi0gezE2LCAweDk0ZjAsIDAsIHsweDI5LDB4ZjIsMHgyMiwweGJjLDB4ODAsMHg5NywweDAwLDB4MjUsMHg0MSwweDBiLDB4NzAsMHgxMiwweDljLDB4MDAsMHhiNywweDA4IH19LAotIHsxNiwgMHg5NTAwLCAwLCB7MHgyOSwweGMwLDB4MDgsMHg0MiwweDEyLDB4ZGMsMHg0MCwweGI3LDB4MDAsMHgyOSwweGMwLDB4MDksMHg2MCwweDIyLDB4ZGMsMHgxMCB9fSwKLSB7MTYsIDB4OTUxMCwgMCwgezB4ODAsMHgwMCwweDIxLDB4NDAsMHgwOSwweDcwLDB4MDIsMHhjMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDk1MjAsIDAsIHsweDIwLDB4MTQsMHhjYywweDAwLDB4YjMsMHhjMCwweDJlLDB4YzAsMHgwOCwweDM0LDB4ODIsMHgyZCwweDAwLDB4OTMsMHgwMCwweDI0IH19LAotIHsxNiwgMHg5NTMwLCAwLCB7MHhjMCwweDBiLDB4MzAsMHgwMiwweDBmLDB4ODAsMHgxMywweDAwLDB4MmMsMHhjMCwweDBhLDB4MzQsMHhhMiwweGVjLDB4MDAsMHhiMyB9fSwKLSB7MTYsIDB4OTU0MCwgMCwgezB4MDAsMHgyOCwweGMwLDB4MGIsMHgwMCwweDAyLDB4Y2MsMHgwMCwweDgxLDB4MDAsMHgyMCwweGMwLDB4MDksMHgzMCwweDAyLDB4ODkgfX0sCi0gezE2LCAweDk1NTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDExLDB4YmMsMHgwMCwweGZmLDB4ZTAsMHgzZiwweGMwIH19LAotIHsxNiwgMHg5NTYwLCAwLCB7MHgwYywweGY0LDB4ODMsMHhiZCwweDAwLDB4ZGYsMHgwOCwweDM2LDB4NDAsMHgwYiwweDc1LDB4NDIsMHhmYywweDIwLDB4ZmYsMHg4MCB9fSwKLSB7MTYsIDB4OTU3MCwgMCwgezB4M2IsMHhjMCwweDJjLDB4M2MsMHgwMywweGZjLDB4MDAsMHhiZiwweDAwLDB4YmUsMHhjMCwweDhkLDB4OTAsMHgwYiwweGFjLDB4MDIgfX0sCi0gezE2LCAweDk1ODAsIDAsIHsweGNhLDB4MDAsMHgyMiwweDgwLDB4MGQsMHhiMCwweDAyLDB4ZWEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5NTkwLCAwLCB7MHg4MCwweDAwLDB4ZWMsMHgwMCwweGZiLDB4MDgsMHgxZSwweGMwLDB4MGYsMHhiMCwweDEzLDB4ZWMsMHgwMCwweGViLDB4MDAsMHgzYSB9fSwKLSB7MTYsIDB4OTVhMCwgMCwgezB4MTAsMHgwZiwweGIwLDB4MjMsMHhhYywweDAxLDB4ZmIsMHgwMCwweDNlLDB4YzAsMHgzYywweDg0LDB4MDMsMHhlYywweDAwLDB4ZmIgfX0sCi0gezE2LCAweDk1YjAsIDAsIHsweDAwLDB4MjYsMHg0MCwweDBlLDB4OTQsMHgwYiwweDJjLDB4MDAsMHhmOSwweDQwLDB4M2UsMHg5MCwweDBlLDB4OTAsMHgxMywweGUwIH19LAotIHsxNiwgMHg5NWMwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGRjLDB4MDIsMHhjZiwweDAwLDB4M2YsMHhjMCB9fSwKLSB7MTYsIDB4OTVkMCwgMCwgezB4MGQsMHhmMCwweDBiLDB4M2MsMHgyMCwweGNmLDB4MDAsMHgzZCwweDAwLDB4MGUsMHhmMCwweDA3LDB4OWMsMHgwMSwweGNmLDB4MDIgfX0sCi0gezE2LCAweDk1ZTAsIDAsIHsweDNlLDB4YzAsMHgwZiwweGM0LDB4MDMsMHgzYywweDAwLDB4Y2YsMHgwMCwweDBmLDB4YzAsMHgwZSwweDQ0LDB4MDMsMHgxZiwweDAyIH19LAotIHsxNiwgMHg5NWYwLCAwLCB7MHhjYywweDAwLDB4M2YsMHg4MCwweDJjLDB4NzAsMHgwMywweDAwLDB4NDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTYwMCwgMCwgezB4ODEsMHgwNCwweDZjLDB4MDAsMHg4YiwweDAyLDB4MmUsMHhjMCwweDBkLDB4YjAsMHgwMiwweDJjLDB4MDAsMHhhYiwweDAwLDB4MDYgfX0sCi0gezE2LCAweDk2MTAsIDAsIHsweDIwLDB4MDgsMHhiMCwweDAzLDB4ZmMsMHgwMCwweGFiLDB4MDAsMHgyZSwweGMwLDB4MGYsMHg4MCwweDA2LDB4YmMsMHgwMCwweGFiIH19LAotIHsxNiwgMHg5NjIwLCAwLCB7MHgwNCwweDNhLDB4ZjAsMHgwYywweDg4LDB4MDIsMHgyYywweDAwLDB4YzksMHg4MCwweDNhLDB4OTIsMHgwOCwweDkwLDB4MGEsMHhhMCB9fSwKLSB7MTYsIDB4OTYzMCwgMCwgezB4NDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgyYywweDAwLDB4YWIsMHgwMCwweDJlLDB4YzAgfX0sCi0gezE2LCAweDk2NDAsIDAsIHsweDA5LDB4MzAsMHgwMiwweDJjLDB4MDAsMHg4YiwweDAwLDB4MjYsMHg2MCwweDBiLDB4YjAsMHgwMiwweGFjLDB4MDAsMHg4YiwweDAwIH19LAotIHsxNiwgMHg5NjUwLCAwLCB7MHg2ZSwweGMwLDB4MGIsMHhiMCwweDQyLDB4MmMsMHgwMCwweDliLDB4MDAsMHg0YywweGUwLDB4MGEsMHg5MCwweDIyLDB4MmMsMHgwMCB9fSwKLSB7MTYsIDB4OTY2MCwgMCwgezB4OGEsMHhjMiwweDJjLDB4NDAsMHgwOCwweGIwLDB4NDIsMHgyMCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDk2NzAsIDAsIHsweDA4LDB4MDQsMHgwYywweDAwLDB4ODMsMHgwZCwweDJjLDB4YzYsMHgwOSwweDMxLDB4MDIsMHgwZCwweDgxLDB4YTMsMHgxMSwweDI0IH19LAotIHsxNiwgMHg5NjgwLCAwLCB7MHgwMCwweDhhLDB4YjEsMHhlMiwweDRjLDB4ODAsMHhhMywweDAwLDB4MmMsMHhjYywweDBiLDB4MDIsMHgwMiwweDhjLDB4ODAsMHhhMyB9fSwKLSB7MTYsIDB4OTY5MCwgMCwgezB4NDgsMHgwOCwweGMwLDB4MDgsMHgwMCwweDBhLDB4MGQsMHgwMCwweDgxLDB4MDAsMHgyOCwweGMwLDB4MDgsMHgzMCwweDAyLDB4ODIgfX0sCi0gezE2LCAweDk2YTAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4NmMsMHgwMCwweGNiLDB4MjAsMHgyZiwweGM4IH19LAotIHsxNiwgMHg5NmIwLCAwLCB7MHg4ZCwweGY2LDB4MTMsMHgyZCwweGIwLDB4OGYsMHgwMCwweDM2LDB4NDAsMHgwZiwweGYwLDB4MDIsMHhhZCwweGE4LDB4OGYsMHgxMCB9fSwKLSB7MTYsIDB4OTZjMCwgMCwgezB4M2YsMHhjYSwweDBiLDB4ODAsMHg5MiwweDJjLDB4MTAsMHhkYiwweDQwLDB4M2YsMHhjMCwweDBlLDB4MDAsMHgwMywweDJkLDB4MDQgfX0sCi0gezE2LCAweDk2ZDAsIDAsIHsweGM4LDB4MDIsMHgzZSwweDQwLDB4MGMsMHhiMCwweDAzLDB4MDAsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5NmUwLCAwLCB7MHhhMCwweDFkLDB4ZmMsMHgwMCwweGZmLDB4MDAsMHgzZiwweGM4LDB4MGUsMHhmMSwweDAzLDB4ZWMsMHg4NCwweGZmLDB4MjAsMHgzNyB9fSwKLSB7MTYsIDB4OTZmMCwgMCwgezB4MDAsMHgwZCwweGIyLDB4MDMsMHhiYywweGEwLDB4ZmYsMHgwMCwweDNlLDB4YzksMHgwZSwweDgwLDB4MDMsMHhmZCwweDExLDB4ZmYgfX0sCi0gezE2LCAweDk3MDAsIDAsIHsweDAwLDB4M2IsMHhjMCwweDBlLDB4YzAsMHgwMywweGZjLDB4ODAsMHhlZCwweDAwLDB4M2IsMHhjMCwweDBmLDB4ZjAsMHg0MywweDY4IH19LAotIHsxNiwgMHg5NzEwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMSwweGZjLDB4OTAsMHhjYywweDkyLDB4M2IsMHhjOCB9fSwKLSB7MTYsIDB4OTcyMCwgMCwgezB4MGQsMHhmMCwweDgzLDB4NzMsMHgxMCwweGZmLDB4MjgsMHgzNywweGNhLDB4NGYsMHhiMiwweDAzLDB4ZmMsMHgwMCwweGRmLDB4MjAgfX0sCi0gezE2LCAweDk3MzAsIDAsIHsweGIzLDB4YzQsMHgwZCwweDY4LDB4NDMsMHhmZSwweDE0LDB4Y2IsMHg4NCwweDMzLDB4ZTAsMHgwZCwweDc4LDB4MDMsMHhiZSwweDAwIH19LAotIHsxNiwgMHg5NzQwLCAwLCB7MHhmZiwweDgwLDB4MzcsMHhhMCwweDBjLDB4ZjMsMHgwMywweDMwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTc1MCwgMCwgezB4ODAsMHgwMCwweGZjLDB4NDgsMHg4MiwweDIxLDB4MDMsMHhmNCwweDBmLDB4ZjYsMHg0MiwweDIwLDB4MDQsMHg4YSwweDYwLDB4MmIgfX0sCi0gezE2LCAweDk3NjAsIDAsIHsweGRhLDB4MGIsMHhmOSwweDAyLDB4M2YsMHgwNCwweDhmLDB4NTIsMHgyMywweGQ1LDB4NGQsMHg4OCwweDAyLDB4YWUsMHgwMCwweGRiIH19LAotIHsxNiwgMHg5NzcwLCAwLCB7MHg4MCwweDM2LDB4YzAsMHgwOCwweDgwLDB4MDIsMHgyMCwweDA0LDB4YjgsMHgwMCwweDIyLDB4NjAsMHgwZCwweDc0LDB4MDMsMHhlMCB9fSwKLSB7MTYsIDB4OTc4MCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjYywweGEwLDB4ODAsMHgwMSwweDA4LDB4YzAgfX0sCi0gezE2LCAweDk3OTAsIDAsIHsweDRiLDB4MzAsMHg4MiwweDQyLDB4OTAsMHhhMywweDA4LDB4MmMsMHhjOCwweDFhLDB4MzAsMHgyMiwweDhkLDB4MDAsMHg5MywweDAwIH19LAotIHsxNiwgMHg5N2EwLCAwLCB7MHgyNCwweGM4LDB4MDksMHhhMCwweDEyLDB4MGMsMHgwNCwweGFiLDB4MDAsMHg2MiwweGMwLDB4MDksMHhiMCwweDAyLDB4Y2MsMHgwMCB9fSwKLSB7MTYsIDB4OTdiMCwgMCwgezB4YjMsMHgwMCwweDI4LDB4ODAsMHgwOCwweDM2LDB4MDYsMHhhMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDk3YzAsIDAsIHsweGMwLDB4MTUsMHhhYywweDAwLDB4ODgsMHgwOCwweDIyLDB4YzAsMHgwYSwweDMwLDB4MWEsMHgwMCwweDExLDB4ODIsMHgwMCwweDBhIH19LAotIHsxNiwgMHg5N2QwLCAwLCB7MHhjMCwweDBiLDB4YjAsMHg0MiwweDJjLDB4MDAsMHg4YiwweDAwLDB4MjYsMHhjMCwweDA5LDB4OTEsMHgwMiwweGVjLDB4MjAsMHhiYiB9fSwKLSB7MTYsIDB4OTdlMCwgMCwgezB4MjgsMHg2NiwweGMwLDB4MDgsMHg4MCwweDAyLDB4NjAsMHgwMCwweGI4LDB4MDAsMHgyYSwweDQwLDB4ODEsMHhiMCwweDA2LDB4ZjggfX0sCi0gezE2LCAweDk3ZjAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE1LDB4ZWMsMHgwMiwweGM4LDB4MDQsMHgzYSwweGMwIH19LAotIHsxNiwgMHg5ODAwLCAwLCB7MHg4OSwweGIwLDB4MDMsMHg2OCwweDAwLDB4ZTksMHhjMSwweDFlLDB4YzEsMHgwZSwweDMwLDB4MDMsMHhlYywweDAwLDB4ZGIsMHgwMCB9fSwKLSB7MTYsIDB4OTgxMCwgMCwgezB4MzYsMHhjMSwweDBkLDB4MDAsMHgyMywweDBlLDB4MDAsMHhlYiwweDgwLDB4MzIsMHhjOCwweGNkLDB4MzAsMHgzMiwweGVjLDB4MDggfX0sCi0gezE2LCAweDk4MjAsIDAsIHsweGYzLDB4MDAsMHgzYywweDgwLDB4MGMsMHhiMCwweDA2LDB4ODAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5ODMwLCAwLCB7MHhlMCwweDAxLDB4OWMsMHgwMCwweDdjLDB4MDAsMHgzZiwweGMwLDB4MGIsMHhiMCwweDQzLDB4ZmQsMHgwMCwweGJlLDB4YzQsMHgzNyB9fSwKLSB7MTYsIDB4OTg0MCwgMCwgezB4YzAsMHgxZiwweGYwLDB4MDMsMHg1YywweDAwLDB4ZmYsMHgwMSwweDNiLDB4YzAsMHgwZSwweGM4LDB4MDMsMHhiZiwweDIwLDB4ZGYgfX0sCi0gezE2LCAweDk4NTAsIDAsIHsweDAwLDB4M2YsMHhkMCwweDBmLDB4YzAsMHgxMywweGIwLDB4MDAsMHg3YywweDAwLDB4YjcsMHg0MCwweDBmLDB4ZjAsMHgxYiwweGIwIH19LAotIHsxNiwgMHg5ODYwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweGFjLDB4MGMsMHhkOCwweDQxLDB4MzIsMHhjMCB9fSwKLSB7MTYsIDB4OTg3MCwgMCwgezB4MGUsMHhiMCwweDA3LDB4YTgsMHgwMSwweDY5LDB4NDAsMHhiMiwweGMwLDB4OGQsMHhiMCwweGEzLDB4ZWMsMHgwOCwweGYzLDB4MDAgfX0sCi0gezE2LCAweDk4ODAsIDAsIHsweDMyLDB4YzAsMHgwZiwweDgwLDB4MDMsMHhlZCwweDAwLDB4ZmIsMHg0OCwweDNhLDB4YzAsMHgwZCwweGIwLDB4ODMsMHgyYywweDAwIH19LAotIHsxNiwgMHg5ODkwLCAwLCB7MHhmYiwweDIwLDB4M2UsMHg4MCwweDBmLDB4NzAsMHgyMywweGQwLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OThhMCwgMCwgezB4YzgsMHgwNSwweDNjLDB4MDAsMHg4OCwweDAwLDB4MjMsMHhjMCwweDA4LDB4ZjAsMHgwNiwweDJjLDB4MTAsMHg4OCwweDUxLDB4MzcgfX0sCi0gezE2LCAweDk4YjAsIDAsIHsweGMwLDB4MDgsMHhmMCwweDA3LDB4N2QsMHg2MCwweDhmLDB4MDIsMHgzNywweGMwLDB4MGIsMHg4YywweDAwLDB4MmQsMHgwMCwweGIzIH19LAotIHsxNiwgMHg5OGMwLCAwLCB7MHgwMCwweDM4LDB4YzAsMHgwOCwweDgwLDB4ODIsMHgyMCwweDAwLDB4YjgsMHgwMCwweDJlLDB4NTAsMHgwYiwweGYwLDB4MDAsMHgzMiB9fSwKLSB7MTYsIDB4OThkMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg0YywweDAwLDB4OTgsMHgwMCwweDI4LDB4YzAgfX0sCi0gezE2LCAweDk4ZTAsIDAsIHsweDBhLDB4MzAsMHgwMiwweDg0LDB4MDQsMHhhMywweDAwLDB4MDAsMHhjMCwweDY4LDB4MzksMHgwNiwweDBjLDB4MTAsMHg5MywweDIwIH19LAotIHsxNiwgMHg5OGYwLCAwLCB7MHgyMiwweGMwLDB4OWIsMHgwMSwweGEwLDB4OGYsMHgxNCwweDMzLDB4MTQsMHgyOCwweGMwLDB4MDksMHgzYywweDAyLDB4MGMsMHgwMSB9fSwKLSB7MTYsIDB4OTkwMCwgMCwgezB4OTMsMHg0MCwweDJjLDB4ODgsMHgwYiwweDMwLDB4MDIsMHhiOCwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDk5MTAsIDAsIHsweDYwLDB4MDEsMHgxZSwweDEwLDB4ODcsMHg4MCwweDI5LDB4ZTAsMHgwOCwweDc4LDB4MDIsMHgzZSwweDAwLDB4ODMsMHg5MCwweDI0IH19LAotIHsxNiwgMHg5OTIwLCAwLCB7MHhlMCwweDA4LDB4NzgsMHgxMCwweGNlLDB4MDQsMHgwNywweDkxLDB4MjUsMHhlMCwweDgzLDB4YzksMHgwMiwweDFlLDB4MDQsMHhiNyB9fSwKLSB7MTYsIDB4OTkzMCwgMCwgezB4ODQsMHgyYiwweGE0LDB4MDgsMHg0OCwweDQyLDB4MTIsMHhjYywweGI0LDB4ODAsMHgyZCwweDY0LDB4MGIsMHg3OCwweDAyLDB4MTkgfX0sCi0gezE2LCAweDk5NDAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDAwLDB4MmMsMHgwMCwweGQwLDB4MTAsMHgyOCwweGM4IH19LAotIHsxNiwgMHg5OTUwLCAwLCB7MHgwZSwweDNiLDB4MDIsMHg4NCwweDAwLDB4ZTMsMHg0MCwweDMwLDB4YzgsMHgwYywweDM4LDB4NjIsMHg4YywweDAwLDB4NTMsMHgwMCB9fSwKLSB7MTYsIDB4OTk2MCwgMCwgezB4MzAsMHhjNCwweDFmLDB4MDAsMHgyMywweDhjLDB4M2MsMHhmMywweDgwLDB4MTgsMHhjMCwweDBkLDB4MzAsMHgwMywweDBlLDB4ODAgfX0sCi0gezE2LCAweDk5NzAsIDAsIHsweGQzLDB4MTAsMHgzYywweDgwLDB4MGYsMHgzMCwweDAzLDB4OTIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5OTgwLCAwLCB7MHg0MCwweDFkLDB4YmQsMHgwMCwweGY5LDB4MTIsMHhiNCwweGMwLDB4MDcsMHhiMCwweDAzLDB4Y2MsMHgwMCwweDRhLDB4MDAsMHg3NyB9fSwKLSB7MTYsIDB4OTk5MCwgMCwgezB4YzAsMHgwZSwweDcxLDB4NDMsMHg2YywweDAwLDB4ZjMsMHgwMCwweDNmLDB4ZDAsMHgxZiwweGQwLDB4NTMsMHhhYywweDY4LDB4ZmIgfX0sCi0gezE2LCAweDk5YTAsIDAsIHsweDE4LDB4M2QsMHhjMCwweDBmLDB4YzAsMHgxMywweGYwLDB4NTAsMHhmYywweDA0LDB4M2YsMHg0MCwweDBmLDB4ZjQsMHgwMywweDkwIH19LAotIHsxNiwgMHg5OWIwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGVkLDB4NDAsMHhmOCwweDA0LDB4M2UsMHhkMiB9fSwKLSB7MTYsIDB4OTljMCwgMCwgezB4MGYsMHhiMywweDEzLDB4ZTAsMHgxMCwweGY5LDB4MDAsMHhiMiwweGNjLDB4MGUsMHhiYSwweDAzLDB4NmQsMHg4MCwweGRiLDB4MDIgfX0sCi0gezE2LCAweDk5ZDAsIDAsIHsweDMyLDB4ZGMsMHg0ZiwweDAwLDB4MDMsMHg2YywweDA0LDB4ZjMsMHgwMiwweDM2LDB4NDAsMHgwZSwweGIwLDB4MDMsMHhjYywweDAwIH19LAotIHsxNiwgMHg5OWUwLCAwLCB7MHg0YiwweDAwLDB4M2MsMHg4MCwweDBjLDB4ZjEsMHgwMywweDYyLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTlmMCwgMCwgezB4NDgsMHgxMSwweDljLDB4MDAsMHhiNCwweDAwLDB4MmQsMHhjOSwweDBiLDB4NzAsMHg4MiwweGRjLDB4MDAsMHhiYywweDA0LDB4MjEgfX0sCi0gezE2LCAweDlhMDAsIDAsIHsweGM0LDB4NGIsMHgzNywweDAyLDB4MGMsMHhhMCwweDhmLDB4NzQsMHgyMSwweGMwLDB4MGIsMHg0MCwweDAyLDB4MWMsMHg4MSwweGI3IH19LAotIHsxNiwgMHg5YTEwLCAwLCB7MHgyMCwweDJiLDB4YzAsMHgwOCwweDQwLDB4MDIsMHhkMCwweDAyLDB4ODQsMHgwMCwweDJkLDB4NDAsMHgwYSwweGYyLDB4MDIsMHgxMiB9fSwKLSB7MTYsIDB4OWEyMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHg5ZSwweDgwLDB4YjQsMHhjMCwweDJkLDB4ZTQgfX0sCi0gezE2LCAweDlhMzAsIDAsIHsweDBiLDB4N2EsMHgwMiwweGQyLDB4MDAsMHhiNSwweDg4LDB4MjEsMHhlOCwweDBhLDB4NzgsMHgwMiwweGRlLDB4NDAsMHg5NywweDAwIH19LAotIHsxNiwgMHg5YTQwLCAwLCB7MHgyMSwweGU4LDB4MGIsMHhjYywweDQ2LDB4NWUsMHgyOCwweGI3LDB4YzQsMHgyMSwweGYwLDB4MGEsMHg3OCwweDAyLDB4ZmUsMHgwOCB9fSwKLSB7MTYsIDB4OWE1MCwgMCwgezB4OTcsMHg4NCwweDJkLDB4YTAsMHgwOCwweDc4LDB4MDIsMHg3MCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDlhNjAsIDAsIHsweDA4LDB4MTQsMHhjYywweDAwLDB4YjAsMHhjMCwweDJjLDB4YzAsMHg5YiwweGIwLDB4MDIsMHhjYywweDIwLDB4YjMsMHg2MCwweDIyIH19LAotIHsxNiwgMHg5YTcwLCAwLCB7MHhjMCwweDBiLDB4MzAsMHgwMiwweDhjLDB4MDAsMHg4MywweDAxLDB4MjAsMHhjMCwweDFiLDB4MDYsMHgxNiwweDRmLDB4MDAsMHhiMyB9fSwKLSB7MTYsIDB4OWE4MCwgMCwgezB4YTAsMHgyYSwweGYwLDB4MDgsMHgwMCwweDAyLDB4ZTAsMHgwMCwweDkwLDB4MDAsMHgyYywweDQwLDB4MGEsMHgzMCwweDAyLDB4MDIgfX0sCi0gezE2LCAweDlhOTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YTgsMHgxMCwweGZlLDB4YzAsMHgzZSwweDgwIH19LAotIHsxNiwgMHg5YWEwLCAwLCB7MHgwZiwweGEwLDB4MDMsMHhmOSwweDA4LDB4ZmUsMHg0MCwweDIyLDB4ODAsMHgwZSwweGEwLDB4MDMsMHhlOCwweDAwLDB4ZDIsMHgwMCB9fSwKLSB7MTYsIDB4OWFiMCwgMCwgezB4MzIsMHg4MCwweDhmLDB4ZTAsMHgwMywweDU4LDB4MDAsMHhmNiwweDAwLDB4MzMsMHhiMCwweDBlLDB4MjAsMHgwMiwweGU4LDB4MGMgfX0sCi0gezE2LCAweDlhYzAsIDAsIHsweGQyLDB4MDIsMHgzYywweDgwLDB4MGMsMHhhMCwweDAzLDB4N2EsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5YWQwLCAwLCB7MHg0OCwweDAwLDB4ZTAsMHgwMCwweGY4LDB4MjAsMHgzZSwweDAxLDB4MGIsMHg4MCwweDAzLDB4ZTAsMHgwMCwweGYwLDB4NDAsMHgzZSB9fSwKLSB7MTYsIDB4OWFlMCwgMCwgezB4MDAsMHg1NywweDgwLDB4MjMsMHgwMCwweDAwLDB4ZjgsMHgwMCwweDNlLDB4MDAsMHgwZiwweDg0LDB4MDMsMHhhMCwweDMwLDB4MzggfX0sCi0gezE2LCAweDlhZjAsIDAsIHsweDAwLDB4M2EsMHgwOCwweDBmLDB4YzQsMHgwMywweGYwLDB4MDAsMHhlYywweDAwLDB4M2YsMHgxMCwweDBmLDB4ODAsMHgwMywweGQyIH19LAotIHsxNiwgMHg5YjAwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGU0LDB4MDAsMHhkOSwweDAxLDB4M2MsMHg0OCB9fSwKLSB7MTYsIDB4OWIxMCwgMCwgezB4NGMsMHg5MCwweDBiLDB4MjQsMHgwMSwweGM5LDB4YzAsMHgzMiwweDQwLDB4YWMsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGQ5LDB4NDAgfX0sCi0gezE2LCAweDliMjAsIDAsIHsweDMwLDB4NDAsMHgwZCwweDlhLDB4MDMsMHgyMiwweDg0LDB4YzgsMHgxNCwweDMyLDB4NDAsMHgwZSwweDkwLDB4MDMsMHgyNCwweDAwIH19LAotIHsxNiwgMHg5YjMwLCAwLCB7MHhjOSwweDAwLDB4ODIsMHg2OCwweDJjLDB4OTAsMHgwMywweDAyLDB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OWI0MCwgMCwgezB4ODAsMHgwNCwweDY0LDB4MDAsMHg4OSwweDAwLDB4MmUsMHg0MCwweDA4LDB4OTAsMHgyMiwweDI0LDB4MDAsMHg4OSwweDAyLDB4ODIgfX0sCi0gezE2LCAweDliNTAsIDAsIHsweDQwLDB4MDgsMHg5MCwweDAyLDB4ZTcsMHg0MCwweDg5LDB4ODAsMHgzNiwweDQxLDB4OGQsMHgxOCwweDAyLDB4YTAsMHgyNCwweGE4IH19LAotIHsxNiwgMHg5YjYwLCAwLCB7MHgwNCwweDYyLDB4NDAsMHgwOCwweDk0LDB4ODMsMHgyNCwweDAwLDB4ODksMHgwMSwweDIyLDB4NzIsMHgwOCwweDkwLDB4MGIsMHgyMCB9fSwKLSB7MTYsIDB4OWI3MCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHgwNCwweDAwLDB4OTksMHgwMCwweDJhLDB4NDAgfX0sCi0gezE2LCAweDliODAsIDAsIHsweDI4LDB4OTAsMHgxMiwweDA0LDB4MDAsMHg4OSwweDAwLDB4MjIsMHg0MCwweDA4LDB4OTAsMHgwMiwweGE0LDB4MjAsMHg5OSwweDAwIH19LAotIHsxNiwgMHg5YjkwLCAwLCB7MHgyMiwweDQwLDB4MTgsMHg5MCwweDA2LDB4MjAsMHgwMSwweDg4LDB4MDgsMHg2MiwweDQwLDB4MGEsMHg5MCwweDAyLDB4MzQsMHgxMCB9fSwKLSB7MTYsIDB4OWJhMCwgMCwgezB4OGQsMHg4MSwweDIzLDB4NDEsMHgwOCwweDEwLDB4MDIsMHgwNiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDliYjAsIDAsIHsweDA4LDB4MDQsMHgwNCwweDgwLDB4ODEsMHgwNCwweDJjLDB4NDgsMHgwOCwweDEyLDB4MDIsMHgwNCwweDAyLDB4ODMsMHgyMCwweDIwIH19LAotIHsxNiwgMHg5YmMwLCAwLCB7MHg0OCwweDA4LDB4MTIsMHgwMiwweGM0LDB4ODAsMHg4MywweDYwLDB4MjQsMHg0OCwweDE5LDB4MzQsMHg2MiwweGE1LDB4MDQsMHhhMSB9fSwKLSB7MTYsIDB4OWJkMCwgMCwgezB4MDIsMHg2MCwweDQwLDB4MDgsMHhkMCwweDAyLDB4NTQsMHgwMCwweDhkLDB4MDAsMHgyOSwweDQwLDB4MDgsMHgxMiwweDgyLDB4MDIgfX0sCi0gezE2LCAweDliZTAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjEsMHg0MCwweGQ4LDB4NTAsMHgzYSwweDgwIH19LAotIHsxNiwgMHg5YmYwLCAwLCB7MHgwYywweDg1LDB4MDIsMHgyMSwweDQ0LDB4ODgsMHg1MCwweDMyLDB4MTQsMHg0YywweDgwLDB4NDMsMHhlMCwweDAwLDB4ZDgsMHgwMCB9fSwKLSB7MTYsIDB4OWMwMCwgMCwgezB4MjIsMHgxNCwweDBjLDB4ODAsMHgwMywweDIwLDB4MDAsMHhjOCwweDAwLDB4YTIsMHgwMCwweDBlLDB4ODAsMHgwMywweDIwLDB4MDAgfX0sCi0gezE2LCAweDljMTAsIDAsIHsweGM4LDB4MDAsMHgzMywweDAwLDB4MGMsMHg4MiwweDAzLDB4MmUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5YzIwLCAwLCB7MHg5OCwweDFkLDB4ZTQsMHg0NCwweGZkLDB4MDAsMHgzZSwweDQ0LDB4MGYsMHg5MSwweDAzLDB4ZjQsMHgxMCwweGZmLDB4MTAsMHgzZSB9fSwKLSB7MTYsIDB4OWMzMCwgMCwgezB4NDQsMHgwZiwweDkxLDB4MDMsMHhlNCwweDQwLDB4ZjksMHgxMCwweDNlLDB4NDQsMHgwYiwweGYwLDB4MTMsMHhlNSwweDEwLDB4ZjkgfX0sCi0gezE2LCAweDljNDAsIDAsIHsweDQwLDB4M2YsMHg0YSwweDJmLDB4OTIsMHg4YSwweGE0LDB4YTIsMHhmOSwweDI4LDB4MzYsMHg0MCwweDBmLDB4OTIsMHg4MywweGE2IH19LAotIHsxNiwgMHg5YzUwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgxMSwweGU2LDB4YzAsMHhjMSwweDAwLDB4M2YsMHg2OSB9fSwKLSB7MTYsIDB4OWM2MCwgMCwgezB4MGMsMHg5YSwweDQzLDB4NmMsMHgwMCwweGZkLDB4YTAsMHgzZSwweDc4LDB4MmMsMHhkOCwweDA3LDB4ZDYsMHgwMiwweGQ1LDB4OTYgfX0sCi0gezE2LCAweDljNzAsIDAsIHsweDMyLDB4NzgsMHgwZCwweDkwLDB4MDMsMHgyNywweDAwLDB4ZmQsMHhhMCwweDM1LDB4NTAsMHgwNiwweGQ0LDB4MDMsMHhlNSwweDAwIH19LAotIHsxNiwgMHg5YzgwLCAwLCB7MHhmZCwweDQwLDB4YjMsMHg0MCwweDBmLDB4OTgsMHhhMywweDQ2LDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OWM5MCwgMCwgezB4MzgsMHgxMCwweGUzLDB4YzIsMHg4OCwweDg4LDB4MmUsMHgxNCwweGE4LDB4OGEsMHhjMiwweDIyLDB4YTAsMHhiOCwweGMwLDB4MmMgfX0sCi0gezE2LCAweDljYTAsIDAsIHsweDI0LDB4NDgsMHg4NCwweDAyLDB4ZTEsMHgwMCwweDk4LDB4YzQsMHgyMCwweDNjLDB4MDgsMHg4YSwweDgyLDB4MjMsMHg4MCwweGI4IH19LAotIHsxNiwgMHg5Y2IwLCAwLCB7MHgwNCwweDIyLDB4MjAsMHgwOCwweDg4LDB4MDMsMHhhMiwweDAwLDB4YjgsMHhhMCwweDIyLDB4MDAsMHgwYiwweDg4LDB4MDIsMHgwZSB9fSwKLSB7MTYsIDB4OWNjMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhjNCwweDgwLDB4YTEsMHgyMCwweDZjLDB4NDAgfX0sCi0gezE2LCAweDljZDAsIDAsIHsweDBhLDB4MTQsMHgwMiwweDQ0LDB4MDQsMHhhMSwweDY4LDB4MmMsMHg0OCwweDA4LDB4MTQsMHgwMiwweGM1LDB4MDAsMHg4MSwweDYwIH19LAotIHsxNiwgMHg5Y2UwLCAwLCB7MHgyMCwweDQ4LDB4MTksMHg5MCwweDAyLDB4ODUsMHg4MSwweGIxLDB4NDAsMHgyNCwweDY4LDB4MGEsMHgxMiwweDQyLDB4YzQsMHg4MCB9fSwKLSB7MTYsIDB4OWNmMCwgMCwgezB4YjksMHgyMCwweDIwLDB4NDAsMHg4YiwweDEwLDB4ODIsMHg0MiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDlkMDAsIDAsIHsweDE4LDB4MDUsMHhhNCwweDEwLDB4YTksMHgwMCwweDZlLDB4YzAsMHgwYSwweDEwLDB4MDIsMHgyNCwweDE0LDB4YjksMHgwMCwweDJlIH19LAotIHsxNiwgMHg5ZDEwLCAwLCB7MHg0MCwweDA4LDB4OTAsMHgxMiwweGU0LDB4MDAsMHg5OSwweDAwLDB4MjIsMHg0MCwweDA4LDB4ODAsMHgwNiwweGEwLDB4NjAsMHhiOSB9fSwKLSB7MTYsIDB4OWQyMCwgMCwgezB4MDksMHgyMiwweDYwLDB4MDgsMHg5MCwweDAyLDB4YTQsMHgwMCwweGI5LDB4MDAsMHgwMiwweDQwLDB4MGIsMHgxMCwweDA2LDB4MDYgfX0sCi0gezE2LCAweDlkMzAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDA1LDB4ZTQsMHgwMCwweGU5LDB4ODAsMHgzZSwweDQxIH19LAotIHsxNiwgMHg5ZDQwLCAwLCB7MHgwZSwweDkwLDB4MDMsMHg2NCwweDAwLDB4ZTksMHhjMCwweDNlLDB4NDAsMHgwYywweDkwLDB4MDIsMHhlNCwweDAwLDB4YzksMHgwMCB9fSwKLSB7MTYsIDB4OWQ1MCwgMCwgezB4MjIsMHg0MSwweDBkLDB4ODAsMHgwMiwweGEzLDB4MDQsMHhmMSwweDQwLDB4MzYsMHg0MCwweDBlLDB4OTAsMHgwMiwweGU0LDB4MDAgfX0sCi0gezE2LCAweDlkNjAsIDAsIHsweGYxLDB4MDAsMHgxMiwweDQwLDB4MGYsMHg5MCwweDAzLDB4NjgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5ZDcwLCAwLCB7MHgyOCwweDAxLDB4YTQsMHgwMCwweGQ5LDB4MjIsMHgzZSwweDQyLDB4MGQsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGI5LDB4YzQsMHgzYyB9fSwKLSB7MTYsIDB4OWQ4MCwgMCwgezB4NDAsMHgwZiwweDkwLDB4MDMsMHhlNCwweDAwLDB4ZTksMHgwMiwweGFlLDB4NDAsMHgwZiwweDgwLDB4NGIsMHg2MiwweDEwLDB4ZjkgfX0sCi0gezE2LCAweDlkOTAsIDAsIHsweDIwLDB4M2UsMHg0MCwweDBmLDB4OTAsMHgwMywweGU0LDB4MDAsMHhmOSwweDAyLDB4N2UsMHg0MSwweDBmLDB4OTAsMHgxMywweGNhIH19LAotIHsxNiwgMHg5ZGEwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwMCwweDgwLDB4MDAsMHhjOCwweDAwLDB4MzgsMHgwMCB9fSwKLSB7MTYsIDB4OWRiMCwgMCwgezB4MGYsMHg4MCwweDIwLDB4ZTAsMHgwMCwweGE4LDB4MjAsMHgzMiwweDAwLDB4MGMsMHg4MCwweDA3LDB4ZTAsMHg4MCwweGM4LDB4MDAgfX0sCi0gezE2LCAweDlkYzAsIDAsIHsweDM4LDB4MDAsMHgwZCwweDgwLDB4ODMsMHgyMSwweDEwLDB4ZjgsMHg2MCwweDMyLDB4MDAsMHg4ZSwweDgwLDB4YjMsMHgyMCwweDA4IH19LAotIHsxNiwgMHg5ZGQwLCAwLCB7MHhmOCwweDAwLDB4M2UsMHgwMCwweDBjLDB4ODAsMHgwMywweGNhLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OWRlMCwgMCwgezB4MjgsMHgwNSwweDI4LDB4MDQsMHg4YSwweDAwLDB4MzMsMHg5MCwweDQzLDB4YTAsMHgyMiwweDI4LDB4MDAsMHg4ZSwweDgwLDB4NzYgfX0sCi0gezE2LCAweDlkZjAsIDAsIHsweDgwLDB4MDgsMHhlMSwweDAzLDB4MTksMHgwMCwweDg2LDB4ODAsMHgyMiwweDgwLDB4MGQsMHg2MCwweDAxLDB4NzgsMHgwMCwweGJlIH19LAotIHsxNiwgMHg5ZTAwLCAwLCB7MHgwMCwweDM2LDB4ODAsMHgwYywweGU0LDB4MDIsMHhhOCwweDEwLDB4YmUsMHhhMCwweDJmLDB4ODAsMHgwZCwweGEwLDB4MDIsMHgwYSB9fSwKLSB7MTYsIDB4OWUxMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MTEsMHg0YywweDA0LDB4MDMsMHgwNCwweDJjLDB4ZDQgfX0sCi0gezE2LCAweDllMjAsIDAsIHsweDBiLDB4MzAsMHgwMiwweDRjLDB4MDEsMHhhMywweGM0LDB4MjAsMHhjMCwweDI4LDB4MzUsMHgwMiwweDg2LDB4MDAsMHg4MywweDgwIH19LAotIHsxNiwgMHg5ZTMwLCAwLCB7MHgyOCwweGMwLDB4MDgsMHgzOCwweDA2LDB4MGUsMHg5NCwweDMwLDB4YzAsMHhhMiwweGMwLDB4MGIsMHgzYywweDAyLDB4MGMsMHgwMCB9fSwKLSB7MTYsIDB4OWU0MCwgMCwgezB4YjMsMHg4MCwweDJjLDB4NDgsMHgwOCwweDMwLDB4MDIsMHg4YSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDllNTAsIDAsIHsweGEwLDB4MDEsMHgwYywweDA0LDB4OGYsMHg4MCwweDIxLDB4YzEsMHgxYiwweDcyLDB4NDIsMHgxZSwweGMwLDB4ODMsMHg4OCwweDIxIH19LAotIHsxNiwgMHg5ZTYwLCAwLCB7MHhjMCwweDE4LDB4MjgsMHgwNiwweDEwLDB4MjEsMHg4NiwweDM4LDB4MjEsMHhjMCwweDE5LDB4ZjcsMHgwMiwweDVkLDB4YzAsMHhiNCB9fSwKLSB7MTYsIDB4OWU3MCwgMCwgezB4NDEsMHgyNywweGQwLDB4MDgsMHg3OCwweGM2LDB4OWMsMHgwMCwweGI3LDB4MDAsMHgyZiwweDYwLDB4MDksMHg3MiwweDAyLDB4MjggfX0sCi0gezE2LCAweDllODAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MWUsMHgwMiwweGM3LDB4ODAsMHgyZCwweGEwIH19LAotIHsxNiwgMHg5ZTkwLCAwLCB7MHgwZiwweDNlLDB4MDMsMHhmZSwweDgwLDB4YTcsMHg4MCwweGExLDB4ZTAsMHgwYywweDc4LDB4MDIsMHg5NCwweDAwLDB4ODUsMHhhMCB9fSwKLSB7MTYsIDB4OWVhMCwgMCwgezB4MzksMHhlNCwweDBjLDB4NzgsMHgxMywweDFlLDB4OTAsMHhiNSwweDg0LDB4MzEsMHhlMCwweDBmLDB4ZjgsMHg4NywweDFlLDB4MDQgfX0sCi0gezE2LCAweDllYjAsIDAsIHsweGY3LDB4ODAsMHgzZCwweDYwLDB4MGMsMHgzYiwweDAzLDB4YWEsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5ZWMwLCAwLCB7MHgwOCwweDFkLDB4YWQsMHhlNCwweGZiLDB4NTQsMHgzZSwweDgwLDB4MGYsMHhiNCwweDIzLDB4ZWMsMHgzMiwweGZiLDB4MDAsMHgzZSB9fSwKLSB7MTYsIDB4OWVkMCwgMCwgezB4ZDgsMHg0ZiwweGEwLDB4MDMsMHhlNCwweDAwLDB4ZjksMHgwMCwweDNlLDB4YzAsMHgwZiwweDMwLDB4MzMsMHhlYywweDA0LDB4ZjIgfX0sCi0gezE2LCAweDllZTAsIDAsIHsweDAxLDB4M2UsMHhjMCwweDBmLDB4YjIsMHgwMywweGZlLDB4MTAsMHhmYiwweDY4LDB4M2MsMHg0MSwweDBmLDB4ZjAsMHg0MywweDgyIH19LAotIHsxNiwgMHg5ZWYwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwNSwweGZlLDB4MDAsMHhjZiwweGU0LDB4M2YsMHhlNCB9fSwKLSB7MTYsIDB4OWYwMCwgMCwgezB4MGMsMHhmYywweDAzLDB4N2UsMHg4MCwweGNmLDB4ODEsMHgzMywweGZhLDB4MGYsMHhmOCwweDAzLDB4ZjYsMHgwMCwweGZmLDB4ODAgfX0sCi0gezE2LCAweDlmMTAsIDAsIHsweDNmLDB4ZTIsMHgwZiwweDc5LDB4MDMsMHgzZSwweDQwLDB4ZjQsMHg4MCwweDMzLDB4NjAsMHgwYywweGU4LDB4MDMsMHgzZSwweDAwIH19LAotIHsxNiwgMHg5ZjIwLCAwLCB7MHhmZiwweDgwLDB4MzMsMHg2MCwweDBjLDB4ZjgsMHg4MywweDUwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OWYzMCwgMCwgezB4YTgsMHgxMSwweDljLDB4MDAsMHhkNywweGEwLDB4MmQsMHhjNCwweDA4LDB4YmEsMHgwMiwweDNjLDB4YTAsMHg4NywweDIwLDB4MjEgfX0sCi0gezE2LCAweDlmNDAsIDAsIHsweGMwLDB4MGYsMHg1MiwweDAzLDB4ZDQsMHgwMCwweGI2LDB4MTAsMHgyZCwweGMwLDB4OGIsMHg3MywweDAzLDB4NWMsMHg0MCwweGI0IH19LAotIHsxNiwgMHg5ZjUwLCAwLCB7MHhiMCwweDJiLDB4NDgsMHgyOCwweDQxLDB4MDIsMHgwYywweDAwLDB4YmYsMHgxOCwweDM1LDB4NDYsMHgyOCwweDcyLDB4NDIsMHgyYSB9fSwKLSB7MTYsIDB4OWY2MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDAsMHg5YywweDAwLDB4ODcsMHg0MSwweDJkLDB4NDQgfX0sCi0gezE2LCAweDlmNzAsIDAsIHsweDBhLDB4NzMsMHgwMiwweDljLDB4YzQsMHg4MSwweDAwLDB4NmQsMHhjOCwweDhiLDB4NzAsMHgwMiwweGQ0LDB4MDAsMHhiNywweDAwIH19LAotIHsxNiwgMHg5ZjgwLCAwLCB7MHgyZCwweGMwLDB4MGIsMHhmMCwweDQ2LDB4OWMsMHg1NSwweGI0LDB4MjAsMHgyNSwweDQwLDB4MTgsMHg2MCwweDgyLDB4MWMsMHgwMCB9fSwKLSB7MTYsIDB4OWY5MCwgMCwgezB4YjcsMHgwMCwweDIzLDB4NDAsMHgwOCwweDcwLDB4NDYsMHg0NCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDlmYTAsIDAsIHsweDYwLDB4MTQsMHhjYywweDAwLDB4OTMsMHgwMCwweDJjLDB4NDAsMHgwYiwweGIwLDB4MDIsMHgwYywweDgyLDB4ODAsMHhjMCwweDIwIH19LAotIHsxNiwgMHg5ZmIwLCAwLCB7MHhjMCwweDBhLDB4MTAsMHgwMiwweDA0LDB4MDAsMHhiMywweDAwLDB4MmMsMHhjMCwweDFiLDB4MzAsMHgwMCwweGNkLDB4MDEsMHhiMCB9fSwKLSB7MTYsIDB4OWZjMCwgMCwgezB4NDAsMHhhYywweDc4LDB4ODgsMHg4YywweDA2LDB4MGQsMHg2MCwweGIzLDB4NGMsMHgyNCwweDEyLDB4MDgsMHgzMCwweDBhLDB4MTggfX0sCi0gezE2LCAweDlmZDAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDE1LDB4YmMsMHgwMCwweGM3LDB4MDAsMHgyZSwweDQwIH19LAotIHsxNiwgMHg5ZmUwLCAwLCB7MHgwZSwweGYwLDB4MmEsMHhiZiwweDAwLDB4YzgsMHhjOCwweGJmLDB4YzAsMHgwYiwweDkwLDB4MDIsMHhlNCwweDA0LDB4YmYsMHgwMCB9fSwKLSB7MTYsIDB4OWZmMCwgMCwgezB4M2YsMHhjMCwweDBmLDB4YjIsMHgwYSwweGFjLDB4MDAsMHhmOCwweDgwLDB4MzQsMHg0OSwweDBjLDB4YjksMHgwYiwweDNmLDB4MDAgfX0sCi0gezE2LCAweGEwMDAsIDAsIHsweGZiLDB4YzAsMHgzMCwweGYwLDB4MGMsMHhmMCwweDAzLDB4NmUsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhMDEwLCAwLCB7MHg4MCwweDAwLDB4Y2MsMHgwMCwweGZiLDB4ODAsMHgzZSwweDQxLDB4MmMsMHhiMCwweDEzLDB4YWMsMHgwMCwweGY4LDB4MDAsMHgzZSB9fSwKLSB7MTYsIDB4YTAyMCwgMCwgezB4YzEsMHgwZiwweGEwLDB4MDMsMHhlOCwweDAwLDB4ZmEsMHg0MCwweDNlLDB4YzAsMHgwZiwweGIwLDB4MGIsMHg2ZCwweDQwLDB4ZjggfX0sCi0gezE2LCAweGEwMzAsIDAsIHsweDEwLDB4M2EsMHg0MCwweDBmLDB4YjAsMHgwMywweGVjLDB4MTAsMHhmZSwweDQwLDB4M2UsMHhjMCwweDBmLDB4ZjAsMHgwMywweGUxIH19LAotIHsxNiwgMHhhMDQwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxMCwweGVjLDB4MGMsMHhkZiwweDAwLDB4M2IsMHg4MCB9fSwKLSB7MTYsIDB4YTA1MCwgMCwgezB4MGYsMHhmMCwweDBiLDB4M2MsMHgwOCwweGU3LDB4MDgsMHgzMywweGMwLDB4MGIsMHhkMCwweDIzLDB4NzQsMHgwMCwweDU0LDB4MDAgfX0sCi0gezE2LCAweGEwNjAsIDAsIHsweDMzLDB4YzAsMHgwZiwweGYwLDB4ODMsMHhiZSwweDIwLDB4ZmQsMHgwYywweDNiLDB4NjAsMHgyYywweGUwLDB4MDMsMHgzYywweDAwIH19LAotIHsxNiwgMHhhMDcwLCAwLCB7MHhjZiwweDEyLDB4MzMsMHg1MCwweDBjLDB4MzAsMHgwMywweDgwLDB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTA4MCwgMCwgezB4ODEsMHgwNCwweDZjLDB4MDQsMHhhYiwweDAwLDB4MjIsMHhhMCwweDBiLDB4YjAsMHgwNiwweDBjLDB4MDAsMHhhYiwweDQwLDB4MzYgfX0sCi0gezE2LCAweGEwOTAsIDAsIHsweGMwLDB4MGIsMHhhOCwweDAyLDB4NjYsMHgwMCwweGI4LDB4MDAsMHgzNiwweGMxLDB4MGIsMHgzNCwweDQzLDB4ZWUsMHgwMCwweGIyIH19LAotIHsxNiwgMHhhMGEwLCAwLCB7MHgwMCwweDIyLDB4NjAsMHgwOCwweGI0LDB4ODIsMHg4YywweDA0LDB4OGEsMHgyMSwweDIyLDB4NDAsMHgwOCwweGIwLDB4MDIsMHgyMCB9fSwKLSB7MTYsIDB4YTBiMCwgMCwgezB4NDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgyYywweDAwLDB4OWIsMHgwMCwweDJhLDB4MjAgfX0sCi0gezE2LCAweGEwYzAsIDAsIHsweDBiLDB4YjAsMHgwMiwweDJjLDB4MDAsMHg4OCwweGM1LDB4MjIsMHhjMCwweDBiLDB4ODgsMHg4MiwweGU2LDB4MDEsMHhiYiwweDA4IH19LAotIHsxNiwgMHhhMGQwLCAwLCB7MHgyMiwweGMwLDB4MGEsMHhiMiwweDgyLDB4YWMsMHg2MCwweGI4LDB4MDIsMHg0YSwweGM0LDB4MDgsMHhiMSwweDAyLDB4MmMsMHgwMCB9fSwKLSB7MTYsIDB4YTBlMCwgMCwgezB4ODMsMHgwMCwweDIyLDB4YzAsMHgwOCwweGIwLDB4MDIsMHhhMCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGEwZjAsIDAsIHsweDA4LDB4MDQsMHgwYywweDAwLDB4YWIsMHgyMCwweDIwLDB4MDEsMHgwYiwweDMyLDB4MDYsMHgyYywweDAwLDB4YTAsMHgwMCwweDIwIH19LAotIHsxNiwgMHhhMTAwLCAwLCB7MHhjMCwweDA5LDB4MDQsMHgyMiwweGM0LDB4MDAsMHhiMiwweDAwLDB4MjQsMHhjMSwweDhiLDB4YjAsMHgwMiwweDRjLDB4MDAsMHhiMCB9fSwKLSB7MTYsIDB4YTExMCwgMCwgezB4MDAsMHg2MiwweGMwLDB4NDgsMHgzMCwweDAyLDB4YWMsMHgxMCwweDgyLDB4MDAsMHgyMCwweGMwLDB4MDgsMHgzMCwweDAyLDB4MDIgfX0sCi0gezE2LCAweGExMjAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4N2MsMHgwOCwweGRmLDB4MmEsMHgzYSwweDAwIH19LAotIHsxNiwgMHhhMTMwLCAwLCB7MHgwZiwweGY1LDB4MTIsMHgzYywweDEwLDB4YzksMHgwMCwweGEzLDB4YzAsMHgwZiwweDgwLDB4NTMsMHhlYywweDAxLDB4ZGEsMHgwMCB9fSwKLSB7MTYsIDB4YTE0MCwgMCwgezB4MzMsMHhjMCwweDBlLDB4YjAsMHgwMywweGFjLDB4MDQsMHhmOCwweDcwLDB4M2EsMHhjMCwweDBjLDB4NjAsMHg0MywweDJjLDB4NDIgfX0sCi0gezE2LCAweGExNTAsIDAsIHsweGNkLDB4MDAsMHhiMiwweDQwLDB4MmMsMHhmMCwweDAzLDB4ODAsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhMTYwLCAwLCB7MHhhMCwweDE5LDB4ZmMsMHgwMCwweGZiLDB4MDEsMHgzZCwweDAwLDB4MGYsMHhiNCwweDE3LDB4ZmMsMHgwMCwweDNjLDB4MDAsMHgzZiB9fSwKLSB7MTYsIDB4YTE3MCwgMCwgezB4YzAsMHg0ZiwweGMwLDB4MDMsMHg3NCwweDA4LDB4ZmUsMHgwMCwweDNmLDB4YzAsMHg0ZiwweGYwLDB4MDMsMHhmYywweDA4LDB4ZjggfX0sCi0gezE2LCAweGExODAsIDAsIHsweDMwLDB4M2YsMHhjMCwweDBmLDB4ZjAsMHgwMywweGZjLDB4MDQsMHhmYywweDAwLDB4M2QsMHgwMCwweDBmLDB4ZjAsMHgwMywweGU4IH19LAotIHsxNiwgMHhhMTkwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGY0LDB4OTAsMHhlZiwweDAwLDB4M2YsMHhkOCB9fSwKLSB7MTYsIDB4YTFhMCwgMCwgezB4MGUsMHhmMywweDAzLDB4MmMsMHgwMSwweGQ0LDB4ODAsMHgzNywweGNjLDB4MGQsMHg4OSwweDQzLDB4MTIsMHg1MCwweGVjLDB4MmMgfX0sCi0gezE2LCAweGExYjAsIDAsIHsweDMyLDB4MDUsMHgwZCwweGIwLDB4NTMsMHgzYywweGQ0LDB4YzUsMHg5NCwweDdmLDB4YTAsMHg4ZiwweGYwLDB4NDMsMHgzMCwweDAwIH19LAotIHsxNiwgMHhhMWMwLCAwLCB7MHhkYywweDAwLDB4MzMsMHgwMCwweDBjLDB4NDgsMHgwNywweGYwLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTFkMCwgMCwgezB4ODAsMHgxMCwweGU2LDB4NDAsMHg4YiwweDcwLDB4MmYsMHhkYywweDA4LDB4ZjcsMHgwMiwweDBjLDB4ODAsMHg4YSwweDIwLDB4MDAgfX0sCi0gezE2LCAweGExZTAsIDAsIHsweGM4LDB4NGEsMHgyMiwweDAyLDB4YTAsMHgwMCwweDhhLDB4NDgsMHgyMiwweDU4LDB4ODgsMHhmZCwweDAyLDB4YWQsMHgwMiwweGE5IH19LAotIHsxNiwgMHhhMWYwLCAwLCB7MHgyMCwweDFlLDB4YTAsMHgwMywweDgwLDB4MDIsMHgyYywweDA0LDB4OGIsMHgwMCwweDIyLDB4YzAsMHg0YywweDg4LDB4MDcsMHg2MCB9fSwKLSB7MTYsIDB4YTIwMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjMCwweDAwLDB4MjMsMHgyYywweDJjLDB4YzkgfX0sCi0gezE2LCAweGEyMTAsIDAsIHsweDAyLDB4MzAsMHgwMiwweDBjLDB4NjgsMHhhMCwweDI4LDB4MmMsMHhkMCwweDA5LDB4MTIsMHgwMiwweDg0LDB4MDAsMHhhMCwweDIxIH19LAotIHsxNiwgMHhhMjIwLCAwLCB7MHgyMCwweDE4LDB4MTksMHgzMCwweDIyLDB4ODAsMHhkMCwweDgzLDB4MDYsMHgwYywweGEwLDB4MGIsMHhiMCwweDA2LDB4MDAsMHgxMiB9fSwKLSB7MTYsIDB4YTIzMCwgMCwgezB4YTAsMHgwMCwweDIwLDB4MDAsMHgyOSwweDAwLDB4MGUsMHhhMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGEyNDAsIDAsIHsweGMwLDB4MTEsMHhhOCwweDMwLDB4OGIsMHgwMCwweDJlLDB4YzAsMHg0YSwweDMwLDB4MGEsMHgyYywweDE0LDB4YTAsMHg4MCwweDBhIH19LAotIHsxNiwgMHhhMjUwLCAwLCB7MHhjMSwweDA4LDB4ODgsMHg4NiwweDg3LDB4MDAsMHg4MywweDAwLDB4MjIsMHg0OSwweDA4LDB4YjAsMHgwNiwweGEwLDB4NDAsMHhhYiB9fSwKLSB7MTYsIDB4YTI2MCwgMCwgezB4MjAsMHgyMiwweDIwLDB4MGIsMHg4MCwweDBhLDB4MGMsMHgwNCwweGFiLDB4MDIsMHgyMiwweGMwLDB4ODgsMHg4MCwweDAyLDB4ZjAgfX0sCi0gezE2LCAweGEyNzAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDE1LDB4ZWYsMHg0MCwweGViLDB4MDYsMHgzZSwweGMwIH19LAotIHsxNiwgMHhhMjgwLCAwLCB7MHgwZSwweGIwLDB4MDMsMHgyYywweDAyLDB4ZjksMHhhMCwweDNlLDB4YzAsMHgwZCwweDhjLDB4MDMsMHhhYSwweDEwLDB4ZTksMHg0MCB9fSwKLSB7MTYsIDB4YTI5MCwgMCwgezB4YjIsMHg0OCwweDBkLDB4YjAsMHg0MywweGFkLDB4MDAsMHhjYiwweDg2LDB4MmUsMHgyMCwweDBmLDB4MzAsMHgwMywweDI0LDB4MDAgfX0sCi0gezE2LCAweGEyYTAsIDAsIHsweGY5LDB4ODAsMHgzMiwweGMwLDB4MGQsMHgwYywweGMyLDB4OTAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhMmIwLCAwLCB7MHhlMCwweDAxLDB4OTQsMHgwMCwweGZmLDB4MDAsMHgzZCwweGMwLDB4MGQsMHhmMCwweDAzLDB4N2MsMHgwMCwweGRmLDB4MDAsMHgzNyB9fSwKLSB7MTYsIDB4YTJjMCwgMCwgezB4YzAsMHgwZiwweGUwLDB4MDMsMHhmMCwweDAwLDB4ZmUsMHgyMCwweDNmLDB4NDAsMHgwZiwweDcwLDB4MDMsMHhmZSwweDAwLDB4ZmYgfX0sCi0gezE2LCAweGEyZDAsIDAsIHsweDgyLDB4N2YsMHgwMCwweDBmLDB4YzAsMHgwMywweGY5LDB4MDQsMHhkZSwweDIwLDB4YmQsMHgwMCwweDBmLDB4ZDksMHgwYiwweDdjIH19LAotIHsxNiwgMHhhMmUwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweGFjLDB4MDEsMHhjYiwweDAwLDB4M2UsMHhjMCB9fSwKLSB7MTYsIDB4YTJmMCwgMCwgezB4MmMsMHhiMCwweDBiLDB4MmMsMHgwMCwweGU4LDB4NDAsMHgzZSwweGMwLDB4MGYsMHg5NCwweDA3LDB4MjksMHgwMCwweGM5LDB4NDAgfX0sCi0gezE2LCAweGEzMDAsIDAsIHsweGIyLDB4YzAsMHgwZiwweGIwLDB4MDMsMHgwMSwweDAyLDB4Y2IsMHgwMCwweDMyLDB4MDQsMHg0ZiwweGYwLDB4NDMsMHgzNCwweGMwIH19LAotIHsxNiwgMHhhMzEwLCAwLCB7MHhiNSwweDFhLDB4M2YsMHhjMSwweDBmLDB4ODAsMHg5MywweGQwLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTMyMCwgMCwgezB4YzgsMHgwNSwweDI4LDB4MDAsMHg4ZiwweDAwLDB4MmYsMHhjMCwweDA4LDB4ZjAsMHgwMiwweDNjLDB4MDQsMHhkOCwweDAwLDB4MmIgfX0sCi0gezE2LCAweGEzMzAsIDAsIHsweGMwLDB4MGMsMHg4MCwweDQ1LDB4NjAsMHgwMCwweDdiLDB4NTgsMHgyMiwweGM4LDB4MGIsMHhmYSwweDAxLDB4NjEsMHg0MCwweDhiIH19LAotIHsxNiwgMHhhMzQwLCAwLCB7MHgwMCwweDMyLDB4MDQsMHg0YiwweGNlLDB4MDIsMHgyOCwweDAwLDB4M2EsMHg0MCwweDJlLDB4MDcsMHgwYiwweDkwLDB4MDIsMHgyNiB9fSwKLSB7MTYsIDB4YTM1MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg0YywweDAwLDB4ODMsMHgwMSwweDRjLDB4YzAgfX0sCi0gezE2LCAweGEzNjAsIDAsIHsweDBiLDB4MzAsMHgwMiwweGVjLDB4MTAsMHg5MCwweDAwLDB4MmEsMHhjMCwweDBhLDB4ODAsMHgwNiwweGMwLDB4MDQsMHg4MywweDA0IH19LAotIHsxNiwgMHhhMzcwLCAwLCB7MHhhMiwweDg5LDB4MTksMHgzMCwweDA2LDB4Y2MsMHgwMCwweDgzLDB4MDAsMHgyMCwweDkwLDB4MGIsMHgzMCwweGMyLDB4NDgsMHgwMCB9fSwKLSB7MTYsIDB4YTM4MCwgMCwgezB4YjIsMHg0MCwweDI0LDB4MjAsMHgwYiwweDA5LDB4MDAsMHhiOCwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGEzOTAsIDAsIHsweDIwLDB4MDEsMHgwNiwweDA0LDB4ODcsMHhhNCwweDJkLDB4ZTAsMHgwOSwweDM4LDB4MDIsMHhkZSwweDAwLDB4OWUsMHg4MSwweDI5IH19LAotIHsxNiwgMHhhM2EwLCAwLCB7MHhlMCwweDA4LDB4NzgsMHg1MiwweGZhLDB4YzAsMHg5NiwweDgwLDB4MDEsMHhhMCwweDhiLDB4M2EsMHgyMiwweGNlLDB4NDAsMHg4ZiB9fSwKLSB7MTYsIDB4YTNiMCwgMCwgezB4YjAsMHgyNSwweGEwLDB4MGIsMHgwOCwweDAyLDB4NTYsMHgwOCwweGI1LDB4OTAsMHgyZCwweGU0LDB4NGIsMHhkOCwweDIyLDB4MGMgfX0sCi0gezE2LCAweGEzYzAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MDgsMHgwMiwweDgzLDB4ODAsMHgyZSwweGU4IH19LAotIHsxNiwgMHhhM2QwLCAwLCB7MHgwYiwweDM4LDB4MTMsMHhjZSwweDQxLDB4ZDMsMHgxMCwweDI4LDB4YzAsMHgwZSwweDNhLDB4MDIsMHhjNiwweDA4LDB4NGIsMHg0MCB9fSwKLSB7MTYsIDB4YTNlMCwgMCwgezB4MzAsMHg2MCwweDBkLDB4M2IsMHgyNywweGNmLDB4YzQsMHhjMywweGEwLDB4MzAsMHgwMCwweDBmLDB4MzAsMHg0MywweDQ4LDB4NDAgfX0sCi0gezE2LCAweGEzZjAsIDAsIHsweGYyLDB4MDAsMHgzYywweDA0LDB4MGYsMHgwMiwweDAzLDB4OTIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhNDAwLCAwLCB7MHg0MCwweDFkLDB4YjgsMHgwMCwweGZmLDB4MDAsMHgzZiwweGM0LDB4MGUsMHhmMSwweDAzLDB4M2MsMHgwMCwweGZmLDB4MDEsMHgzMyB9fSwKLSB7MTYsIDB4YTQxMCwgMCwgezB4YzAsMHg0ZCwweGIxLDB4MDcsMHg3YywweDkwLDB4ZmYsMHgwMCwweDNmLDB4NDAsMHgwMywweGYxLDB4MDMsMHg3MCwweDAwLDB4ZmIgfX0sCi0gezE2LCAweGE0MjAsIDAsIHsweDEwLDB4M2IsMHgwMCwweDBmLDB4YzAsMHgwYiwweGI0LDB4MDAsMHhmZCwweDAwLDB4M2YsMHhjNCwweDBmLDB4ZDAsMHgwMywweDkwIH19LAotIHsxNiwgMHhhNDMwLCAwLCB7MHgwMiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGVjLDB4MDQsMHhmYiwweDg0LDB4M2EsMHhjMiB9fSwKLSB7MTYsIDB4YTQ0MCwgMCwgezB4NGMsMHhiNCwweDkzLDB4MmMsMHgwNCwweGU5LDB4MDAsMHgzYSwweGM0LDB4OGQsMHgwOCwweDAzLDB4MmUsMHgwMCwweGNiLDB4MDEgfX0sCi0gezE2LCAweGE0NTAsIDAsIHsweDMyLDB4ODAsMHg4ZiwweGIyLDB4ODMsMHhlYywweDAwLDB4Y2IsMHg4MCwweDMyLDB4MDAsMHgwZiwweGY5LDB4MDMsMHgzYywweDEwIH19LAotIHsxNiwgMHhhNDYwLCAwLCB7MHhkZiwweDgxLDB4YjMsMHhlMCwweDhjLDB4YTAsMHgwMywweGVhLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTQ3MCwgMCwgezB4NDgsMHgxMSwweDk0LDB4MDgsMHhiNywweDA0LDB4MjQsMHhjOCwweDFhLDB4MzAsMHg0YSwweDFkLDB4MDAsMHhiNywweDAxLDB4MmQgfX0sCi0gezE2LCAweGE0ODAsIDAsIHsweGMwLDB4ODgsMHg3MCwweDA2LDB4MWMsMHgwMCwweDgyLDB4MDAsMHgyMSwweDgwLDB4NGIsMHg3NiwweDEyLDB4ZGMsMHgwMCwweDg3IH19LAotIHsxNiwgMHhhNDkwLCAwLCB7MHgwMCwweDI5LDB4NDAsMHg4YiwweDQwLDB4MDIsMHgxMCwweDAwLDB4YmMsMHgwMCwweDIwLDB4MDEsMHgyOCwweDcwLDB4MDMsMHhiMiB9fSwKLSB7MTYsIDB4YTRhMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHg5YSwweDAwLDB4YjMsMHg5MCwweDJkLDB4ZTQgfX0sCi0gezE2LCAweGE0YjAsIDAsIHsweDA5LDB4NzksMHgwMiwweDFlLDB4ODAsMHhhNywweDgwLDB4MmMsMHhlOCwweDE5LDB4ZjgsMHgxMiwweDVlLDB4MDEsMHg4NywweDgwIH19LAotIHsxNiwgMHhhNGMwLCAwLCB7MHgyNSwweGUwLDB4NGIsMHg3OCwweDA2LDB4ZDIsMHgwMCwweDk3LDB4ODAsMHgyMSwweDYyLDB4MGIsMHgzYSwweDAyLDB4MWUsMHgwMCB9fSwKLSB7MTYsIDB4YTRkMCwgMCwgezB4YjcsMHg4NiwweDI5LDB4ZjAsMHgwOCwweDY4LDB4MDYsMHhlMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGE0ZTAsIDAsIHsweDQ4LDB4MTQsMHhjZiwweGMwLDB4YjMsMHgwMCwweDI0LDB4YzAsMHg4YSwweDMwLDB4MzIsMHgwYywweDAwLDB4YjMsMHgwOCwweDJjIH19LAotIHsxNiwgMHhhNGYwLCAwLCB7MHhjMCwweDA4LDB4MzAsMHgxMiwweDBlLDB4MjAsMHg4MywweDAwLDB4MjQsMHhmMSwweDBiLDB4MzAsMHgwNiwweGNlLDB4MDAsMHg4MyB9fSwKLSB7MTYsIDB4YTUwMCwgMCwgezB4OTAsMHgyOCwweDYwLDB4MGIsMHgwMCwweDJhLDB4MjEsMHg4MCwweGIwLDB4MDgsMHgyOCwweDAwLDB4MDgsMHgzNywweDAyLDB4OTIgfX0sCi0gezE2LCAweGE1MTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YjksMHgwMCwweGZhLDB4MDAsMHgzZSwweDgwIH19LAotIHsxNiwgMHhhNTIwLCAwLCB7MHg0ZCwweGEwLDB4MDMsMHgyOCwweDAwLDB4ZWUsMHg0MSwweDNlLDB4ODAsMHgwZCwweGUwLDB4MDMsMHg3OCwweDAwLDB4OGUsMHg0MCB9fSwKLSB7MTYsIDB4YTUzMCwgMCwgezB4MjcsMHhhOCwweDBiLDB4YTAsMHgwMywweGZiLDB4MDIsMHhjYSwweDgyLDB4MzMsMHhhMCwweDBmLDB4YTAsMHgxMywweDI5LDB4MDAgfX0sCi0gezE2LCAweGE1NDAsIDAsIHsweGZhLDB4NDAsMHgzYSwweDgwLDB4MGMsMHg2YywweDAzLDB4ZmEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhNTUwLCAwLCB7MHg0OCwweDAwLDB4YzAsMHgwMCwweGY4LDB4MDAsMHgzYSwweDAwLDB4MGMsMHg4MCwweDAzLDB4ZTAsMHgwOCwweGY4LDB4MDAsMHgzZSB9fSwKLSB7MTYsIDB4YTU2MCwgMCwgezB4MDAsMHg4ZiwweDgwLDB4MjMsMHhhMCwweDQyLDB4ZjgsMHgwOSwweGJhLDB4MTAsMHg0ZiwweDgwLDB4MDMsMHhlMCwweDYwLDB4ZjggfX0sCi0gezE2LCAweGE1NzAsIDAsIHsweDAwLDB4M2UsMHgyMCwweDBmLDB4YzAsMHgwMywweGYwLDB4MDAsMHhmYywweDAwLDB4MjcsMHgwMCwweDhmLDB4ODAsMHgwMywweDkyIH19LAotIHsxNiwgMHhhNTgwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGU1LDB4MDAsMHg4OSwweDAwLDB4M2UsMHg0MCB9fSwKLSB7MTYsIDB4YTU5MCwgMCwgezB4NmUsMHg5MCwweDAzLDB4YTQsMHgwOCwweGM5LDB4MDAsMHgzYywweDQwLDB4MGQsMHg5MCwweDAzLDB4MjQsMHgxMCwweGY5LDB4YTAgfX0sCi0gezE2LCAweGE1YTAsIDAsIHsweDMyLDB4NDIsMHgwYywweDkwLDB4MTMsMHhjNCwweDAwLDB4YzksMHgwMCwweDNlLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhlNCwweDQwIH19LAotIHsxNiwgMHhhNWIwLCAwLCB7MHhjOSwweDIwLDB4M2UsMHg1MiwweGNmLDB4OTAsMHgwOSwweDAyLDB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTVjMCwgMCwgezB4ODAsMHgwNCwweDY2LDB4MDAsMHg4OSwweDA0LDB4MmUsMHg0MCwweDA4LDB4OTAsMHgwMiwweDI0LDB4MDAsMHhkOSwweDAwLDB4M2EgfX0sCi0gezE2LCAweGE1ZDAsIDAsIHsweDQxLDB4MDgsMHg5MCwweDA1LDB4YTQsMHgwMCwweGI5LDB4NDAsMHhhMiwweDQwLDB4MGQsMHg5MCwweDAyLDB4ZTUsMHg0NiwweDg5IH19LAotIHsxNiwgMHhhNWUwLCAwLCB7MHgwMCwweDJlLDB4NDAsMHgwYiwweDkwLDB4MTIsMHhlNSwweDAwLDB4YTksMHhjOCwweDJlLDB4NjEsMHg4YiwweDk0LDB4NDIsMHgyMCB9fSwKLSB7MTYsIDB4YTVmMCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDEsMHgyNCwweDAwLDB4YTksMHgwMCwweDZjLDB4NDAgfX0sCi0gezE2LCAweGE2MDAsIDAsIHsweDQ4LDB4MTAsMHgyMiwweDg0LDB4MDMsMHhhOSwweDAwLDB4MmUsMHg0MCwweDA5LDB4OTAsMHgwMiwweGU0LDB4MDQsMHhiMSwweDA4IH19LAotIHsxNiwgMHhhNjEwLCAwLCB7MHgyOCwweDQwLDB4MTgsMHg5OCwweDAyLDB4ZTUsMHgwMCwweDg5LDB4MDAsMHgyZSwweDQwLDB4MGIsMHg5MCwweDAyLDB4ZjQsMHgyMCB9fSwKLSB7MTYsIDB4YTYyMCwgMCwgezB4OGQsMHgwMCwweDJmLDB4NDAsMHgwYiwweDk0LDB4NDIsMHg4NiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGE2MzAsIDAsIHsweDA4LDB4MDQsMHgwNCwweDgwLDB4YTEsMHgyNCwweDJjLDB4NDgsMHgxOCwweDEyLDB4MDIsMHgwNCwweDgwLDB4YTEsMHgwMCwweDI4IH19LAotIHsxNiwgMHhhNjQwLCAwLCB7MHg0OCwweDA4LDB4MTAsMHgwMiwweDg0LDB4MDAsMHg5MSwweDIwLDB4MjAsMHg0OCwweDA5LDB4MTIsMHgwMiwweGM0LDB4OTQsMHg4MSB9fSwKLSB7MTYsIDB4YTY1MCwgMCwgezB4MDAsMHgyYywweDYxLDB4MGIsMHg1YSwweDgyLDB4ZDQsMHhhMCwweGE1LDB4MjgsMHgyZCwweDRhLDB4MGIsMHg5MCwweDAyLDB4ODIgfX0sCi0gezE2LCAweGE2NjAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjAsMHgwMiwweGU4LDB4NTAsMHgyZSwweDE0IH19LAotIHsxNiwgMHhhNjcwLCAwLCB7MHgwZSwweDg1LDB4MDMsMHhhMSwweDQwLDB4YTgsMHg1MCwweDNlLDB4MTQsMHgwZCwweDg1LDB4MDEsMHg4MSwweDQwLDB4ZjgsMHg1MiB9fSwKLSB7MTYsIDB4YTY4MCwgMCwgezB4MzIsMHg5NCwweDBjLDB4ODAsMHgxMywweGMxLDB4NDIsMHhjMCwweDUxLDB4M2UsMHgwMCwweDhmLDB4ODIsMHgwMywweGUwLDB4ODAgfX0sCi0gezE2LCAweGE2OTAsIDAsIHsweGM4LDB4MjAsMHgzZiwweDA4LDB4MGYsMHg4MCwweDAzLDB4YWUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhNmEwLCAwLCB7MHg5OCwweDE5LDB4ZjQsMHg1MCwweGQ5LDB4MTEsMHgzZSwweDQ0LDB4OGYsMHg5MSwweDQzLDB4ZTQsMHg0MCwweGRkLDB4MDAsMHgzYSB9fSwKLSB7MTYsIDB4YTZiMCwgMCwgezB4NDQsMHg0ZiwweGQwLDB4MjcsMHhiNCwweDAwLDB4ZmQsMHgxMiwweDNmLDB4NDQsMHg0ZiwweDkxLDB4NDMsMHhmNCwweDQwLDB4ZmQgfX0sCi0gezE2LCAweGE2YzAsIDAsIHsweDAwLDB4M2YsMHg0MSwweDBmLDB4OTIsMHg4MywweGU0LDB4YTAsMHhmOSwweDI4LDB4M2UsMHg0YSwweDBmLDB4ZDAsMHgwMywweDY2IH19LAotIHsxNiwgMHhhNmQwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgxMSwweGY2LDB4ODAsMHhlOSwweGMwLDB4M2UsMHg3OCB9fSwKLSB7MTYsIDB4YTZlMCwgMCwgezB4OGYsMHg5YiwweDAzLDB4YTcsMHg4MCwweGM5LDB4NDAsMHgzNiwweDc4LDB4MGYsMHgxMCwweDIzLDB4ZTUsMHgwNCwweGRkLDB4YTQgfX0sCi0gezE2LCAweGE2ZjAsIDAsIHsweDMzLDB4NjIsMHgwZiwweGRhLDB4MDMsMHhmNiwweDYwLDB4YzksMHgxMCwweDMzLDB4NDAsMHgwZSwweDk4LDB4OTMsMHhlNiwweDMwIH19LAotIHsxNiwgMHhhNzAwLCAwLCB7MHhjOSwweGM5LDB4MzIsMHg3OCwweDhjLDB4ZDAsMHgwYiwweDA2LDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTcxMCwgMCwgezB4MzgsMHgxMCwweGUwLDB4MDAsMHg4OCwweGUyLDB4MmUsMHgzMCwweDBiLDB4ODgsMHg0MiwweDIzLDB4NDAsMHhhMCwweGExLDB4MjIgfX0sCi0gezE2LCAweGE3MjAsIDAsIHsweDM4LDB4MGIsMHg4YSwweDAyLDB4ZTIsMHg4MCwweGFhLDB4ZTAsMHgyMiwweDMwLDB4MGIsMHg4MCwweDIzLDB4YWIsMHgwMiwweDg4IH19LAotIHsxNiwgMHhhNzMwLCAwLCB7MHhhMCwweDJhLDB4MDAsMHgwYiwweDhjLDB4MDIsMHhlMywweDAwLDB4ODgsMHhlMCwweDIzLDB4MzgsMHgwOCwweDgwLDB4MDIsMHgwZSB9fSwKLSB7MTYsIDB4YTc0MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhjNSwweDAwLDB4YTEsMHg0NCwweDI4LDB4NTggfX0sCi0gezE2LCAweGE3NTAsIDAsIHsweDQzLDB4MTYsMHgyMiwweDg0LDB4ODEsMHg4MSwweDIwLDB4MmMsMHg1OCwweDQ5LDB4MTAsMHg4MCwweGM0LDB4ODEsMHg5MSwweDQ4IH19LAotIHsxNiwgMHhhNzYwLCAwLCB7MHg2YywweDRhLDB4MGIsMHgxNCwweDAyLDB4NDQsMHg4NCwweDgxLDB4MDEsMHg2MCwweDQwLDB4MGEsMHg1MiwweDg2LDB4ZDQsMHhhMCB9fSwKLSB7MTYsIDB4YTc3MCwgMCwgezB4ODUsMHgwMCwweGExLDB4NTAsMHg2OCwweDkwLDB4MDYsMHhkMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGE3ODAsIDAsIHsweDE4LDB4MDUsMHhhNiwweDAwLDB4ODksMHgwMCwweDJlLDB4NDAsMHgwYiwweDkwLDB4MDIsMHgwNCwweDAwLDB4YTksMHg2MCwweDIyIH19LAotIHsxNiwgMHhhNzkwLCAwLCB7MHg0MCwweDBiLDB4OTUsMHgwMiwweGU0LDB4MTAsMHhiMSwweDAwLDB4NGUsMHg0MCwweDBiLDB4OTAsMHg2NiwweGFjLDB4ODAsMHg4OSB9fSwKLSB7MTYsIDB4YTdhMCwgMCwgezB4MDAsMHgyYSwweDYwLDB4MGIsMHg5MCwweDUyLDB4ZjQsMHgwMCwweDg1LDB4MDAsMHgyMSwweDQwLDB4MDgsMHg5MCwweDAyLDB4YzYgfX0sCi0gezE2LCAweGE3YjAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDA1LDB4ZTYsMHgyMCwweGU5LDB4MDAsMHgzZSwweDQwIH19LAotIHsxNiwgMHhhN2MwLCAwLCB7MHgwZiwweDkwLDB4MDMsMHhhNCwweDEwLDB4YzksMHgwMCwweDM2LDB4NDAsMHgwZiwweDk0LDB4MDEsMHhlNSwweDIwLDB4ZDksMHg0MCB9fSwKLSB7MTYsIDB4YTdkMCwgMCwgezB4YmEsMHg2OCwweDhmLDB4OTAsMHgwNywweGU2LDB4MDAsMHhjOSwweDEwLDB4MzIsMHg2MiwweDBlLDB4OTAsMHgwMiwweGU0LDB4MTggfX0sCi0gezE2LCAweGE3ZTAsIDAsIHsweGM5LDB4MDAsMHgzMiwweDQwLDB4MGMsMHg5MCwweDAzLDB4ZTgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhN2YwLCAwLCB7MHgyOCwweDAxLDB4YTQsMHgwMCwweGY5LDB4MDQsMHgzZSwweDQwLDB4MGIsMHg5MCwweDAzLDB4NjQsMHgwMCwweGY5LDB4MDAsMHgzZSB9fSwKLSB7MTYsIDB4YTgwMCwgMCwgezB4NDAsMHg4ZiwweDkwLDB4MDMsMHhlNCwweDAwLDB4ZTksMHgwMiwweDcyLDB4NjgsMHgwZiwweDkwLDB4MDMsMHhlNiwweDAwLDB4ZjkgfX0sCi0gezE2LCAweGE4MTAsIDAsIHsweDAxLDB4M2UsMHg0MiwweDBmLDB4OTAsMHgwMywweGM0LDB4MDIsMHhmOSwweDA0LDB4M2UsMHg0MCwweDRmLDB4OTAsMHgwMywweDFhIH19LAotIHsxNiwgMHhhODIwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwMCwweDgwLDB4MDIsMHhjOCwweDAwLDB4MzIsMHgwMCB9fSwKLSB7MTYsIDB4YTgzMCwgMCwgezB4MGMsMHg4MCwweDAzLDB4NjAsMHgwMCwweGM4LDB4NDAsMHgzNiwweDAwLDB4MGYsMHg4NCwweDAzLDB4YTAsMHgwMCwweGQ4LDB4NTAgfX0sCi0gezE2LCAweGE4NDAsIDAsIHsweGIyLDB4MTAsMHg4YywweDgxLDB4MDMsMHhjMSwweDIwLDB4YzgsMHgwMCwweDNlLDB4MDAsMHgwZiwweGMwLDB4MTMsMHhmMCwweDA0IH19LAotIHsxNiwgMHhhODUwLCAwLCB7MHg0YywweDAwLDB4M2YsMHgwMCwweDBmLDB4ODAsMHgwMywweDBhLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTg2MCwgMCwgezB4MjgsMHgxNSwweDJhLDB4MDAsMHg4YSwweDA0LDB4MjIsMHg4MSwweDI4LDB4YTAsMHgxMiwweDI4LDB4MDAsMHg4YSwweDAxLDB4MzYgfX0sCi0gezE2LCAweGE4NzAsIDAsIHsweDgwLDB4MGIsMHhhMCwweDEwLDB4MjgsMHgxMCwweGNlLDB4MDEsMHgyMywweDgxLDB4MGMsMHhhOCwweDEyLDB4ZmIsMHgwMCwweDhhIH19LAotIHsxNiwgMHhhODgwLCAwLCB7MHgwMSwweDNiLDB4ODAsMHg4MywweGEwLDB4NDIsMHhlOCwweDEwLDB4OGEsMHgwMCwweDJmLDB4ODAsMHgwYiwweDYwLDB4NDIsMHgwYSB9fSwKLSB7MTYsIDB4YTg5MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg0YywweDAwLDB4ODMsMHgwMCwweGEwLDB4YzAgfX0sCi0gezE2LCAweGE4YTAsIDAsIHsweDE4LDB4YjAsMHgwMCwweGNjLDB4MDAsMHg5YiwweDAwLDB4MjQsMHhjMCwweDBiLDB4MzAsMHgwNiwweDZjLDB4MDAsMHhhMywweDA4IH19LAotIHsxNiwgMHhhOGIwLCAwLCB7MHgyOCwweGM4LDB4MDksMHgzMCwweDAyLDB4Y2MsMHg0MywweDhiLDB4MDAsMHgyYywweDgwLDB4MGIsMHgzMCwweDAyLDB4Y2MsMHgwMiB9fSwKLSB7MTYsIDB4YThjMCwgMCwgezB4ODMsMHgwMSwweDJjLDB4YzAsMHg0YiwweDMwLDB4MDAsMHg0YSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGE4ZDAsIDAsIHsweGEwLDB4MDEsMHgwYywweDI0LDB4ODcsMHg5NCwweDIxLDB4ZTQsMHgxOCwweDMxLDB4MDIsMHhkYywweDgwLDB4OTcsMHgxMCwweDI1IH19LAotIHsxNiwgMHhhOGUwLCAwLCB7MHhjZCwweDBiLDB4ZjIsMHgwMiwweDdjLDB4MDAsMHhhMCwweDAwLDB4MjgsMHhlMCwweDE4LDB4NzAsMHgwMiwweGRjLDB4MDEsMHg4NyB9fSwKLSB7MTYsIDB4YThmMCwgMCwgezB4MzQsMHgyOSwweDQwLDB4MDksMHg0MCwweDAyLDB4ZDAsMHgwNCwweDg0LDB4MDQsMHgyZCwweDAwLDB4NGIsMHhkMCwweDIyLDB4NjggfX0sCi0gezE2LCAweGE5MDAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MTYsMHgwMCwweGNmLDB4YTAsMHg3MCwweGU5IH19LAotIHsxNiwgMHhhOTEwLCAwLCB7MHgxOCwweDdiLDB4MDMsMHhmZiwweDQwLDB4OTcsMHhhMCwweDM1LDB4ZTgsMHgwZiwweDc0LDB4MDIsMHg1ZSwweDIwLDB4ZTQsMHg4MCB9fSwKLSB7MTYsIDB4YTkyMCwgMCwgezB4MzksMHhhMCwweDJkLDB4NzgsMHgwMywweGZlLDB4MDAsMHhjNywweDgwLDB4M2QsMHhlMCwweDVmLDB4NjgsMHg0MywweGMyLDB4MDAgfX0sCi0gezE2LCAweGE5MzAsIDAsIHsweGM0LDB4ODQsMHgxZCwweDYwLDB4MGYsMHg3OCwweDAzLDB4NmEsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhOTQwLCAwLCB7MHgwOCwweDBkLDB4YTQsMHgwMCwweDNiLDB4MDAsMHgyZSwweGQ4LDB4MGYsMHhiNCwweDAzLDB4MmQsMHg4YSwweGViLDB4NjIsMHgzYSB9fSwKLSB7MTYsIDB4YTk1MCwgMCwgezB4ZDAsMHgwZiwweGIyLDB4ODcsMHgwYywweGQwLDB4ZDgsMHgwMCwweDMyLDB4YzAsMHg0ZiwweDkwLDB4NDMsMHhlYywweDAwLDB4ZmIgfX0sCi0gezE2LCAweGE5NjAsIDAsIHsweDA4LDB4M2UsMHg0MCwweDhmLDB4OTAsMHgwMywweGZjLDB4MDAsMHhmZiwweDA0LDB4M2YsMHg4MCwweDBmLDB4MDAsMHgyYiwweDgyIH19LAotIHsxNiwgMHhhOTcwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweGY2LDB4MDAsMHhmZiwweGEwLDB4M2UsMHhmNCB9fSwKLSB7MTYsIDB4YTk4MCwgMCwgezB4MGUsMHhiOCwweDAzLDB4ZWUsMHgwOCwweDRiLDB4ZjAsMHg3ZiwweGY0LDB4MGMsMHhmOSwweDIzLDB4ZWUsMHg0OCwweDc4LDB4OTAgfX0sCi0gezE2LCAweGE5OTAsIDAsIHsweDMyLDB4ZTQsMHgwYywweGY5LDB4MDMsMHhmZSwweDAwLDB4ZmYsMHg4MCwweDNmLDB4ZTQsMHgxYywweDc5LDB4MDMsMHgyZSwweDQwIH19LAotIHsxNiwgMHhhOWEwLCAwLCB7MHhmZiwweDgwLDB4MzMsMHhlMCwweDJjLDB4NzgsMHgwNywweDAwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTliMCwgMCwgezB4YTgsMHgxMSwweDk0LDB4MDAsMHhiMywweDAwLDB4MGMsMHhlNSwweDBiLDB4MzgsMHgwMiwweGZlLDB4ODAsMHg4ZiwweDgwLDB4NjEgfX0sCi0gezE2LCAweGE5YzAsIDAsIHsweGM0LDB4MjgsMHg3OCwweDAwLDB4NGUsMHgwMCwweGY0LDB4ODQsMHgyNSwweGE4LDB4MGMsMHg3MCwweDAyLDB4Y2MsMHgwNCwweGIzIH19LAotIHsxNiwgMHhhOWQwLCAwLCB7MHg5MCwweDI1LDB4NDAsMHgwYywweDQxLDB4ODMsMHg1MiwweDQwLDB4YjQsMHgxMCwweGEzLDB4MDAsMHgwYywweDUyLDB4MDMsMHg2YSB9fSwKLSB7MTYsIDB4YTllMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5NCwweDAwLDB4YjcsMHgyMSwweDZkLDB4YzggfX0sCi0gezE2LCAweGE5ZjAsIDAsIHsweDRiLDB4NzAsMHgwMiwweGRjLDB4NDIsMHhhNywweDMxLDB4MjksMHhjNCwweDA4LDB4NzIsMHgwMiwweGRjLDB4MDAsMHhiNywweDI4IH19LAotIHsxNiwgMHhhYTAwLCAwLCB7MHgyNCwweDgwLDB4MDgsMHg3MCwweDA2LDB4ZDQsMHgyMCwweGI3LDB4MDEsMHgyZCwweGMxLDB4MDgsMHg2MCwweDAyLDB4NTAsMHg4MCB9fSwKLSB7MTYsIDB4YWExMCwgMCwgezB4YjQsMHgwOCwweDIxLDB4NjIsMHgwOSwweDc0LDB4MDYsMHg4MCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGFhMjAsIDAsIHsweDIwLDB4MTQsMHhjNywweDA0LDB4YjMsMHgwMCwweDJjLDB4YzAsMHgwYiwweGIwLDB4MDIsMHhjYywweDAwLDB4YTMsMHgwMiwweDYwIH19LAotIHsxNiwgMHhhYTMwLCAwLCB7MHhjMCwweDA4LDB4MzgsMHgwMiwweDRlLDB4NDQsMHhhMCwweGMwLDB4MjQsMHg5MSwweDA4LDB4MzAsMHgwMiwweGMwLDB4MDAsMHhiMyB9fSwKLSB7MTYsIDB4YWE0MCwgMCwgezB4MDAsMHgyNCwweDYwLDB4MDgsMHgxYywweDAyLDB4NGMsMHg4OCwweGIzLDB4YzAsMHgyMCwweGEwLDB4MDgsMHgwMCwweDBhLDB4ODggfX0sCi0gezE2LCAweGFhNTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YWMsMHgwMCwweGZmLDB4MDAsMHgyZiwweGMwIH19LAotIHsxNiwgMHhhYTYwLCAwLCB7MHg0ZiwweGYwLDB4MTMsMHhmYywweDA4LDB4ZTcsMHg4YSwweDNmLDB4YzAsMHgwYywweGY1LDB4YzIsMHhmZSwweDEwLDB4YmIsMHhjMCB9fSwKLSB7MTYsIDB4YWE3MCwgMCwgezB4MzIsMHhkNCwweDBjLDB4MzAsMHgxMywweGUzLDB4MDQsMHhiZiwweDAwLDB4MmUsMHg2MiwweDA4LDB4YjksMHgwMiwweDZlLDB4MDAgfX0sCi0gezE2LCAweGFhODAsIDAsIHsweGZiLDB4MDEsMHgzMiwweGE0LDB4NGQsMHg5NCwweDAyLDB4YWIsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhYTkwLCAwLCB7MHg4MCwweDAwLDB4ZWMsMHg2MCwweGZiLDB4MDAsMHgxZSwweGMwLDB4MGYsMHhiMCwweDEzLDB4ZWMsMHgwMCwweDViLDB4MDAsMHgzYSB9fSwKLSB7MTYsIDB4YWFhMCwgMCwgezB4YzAsMHgwZiwweGIwLDB4NDEsMHhlYywweDAwLDB4N2IsMHg0NSwweGJhLDB4NDAsMHgyZSwweGIwLDB4MTUsMHhlMCwweDAxLDB4ZmIgfX0sCi0gezE2LCAweGFhYjAsIDAsIHsweDAwLDB4M2UsMHg1MCwweDBlLDB4YzAsMHgwMywweGYwLDB4NDAsMHhmYywweDIwLDB4M2YsMHg1MCwweDhmLDB4OTAsMHgwMSwweDYwIH19LAotIHsxNiwgMHhhYWMwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGY0LDB4MDAsMHhmZiwweDAwLDB4M2YsMHhjMCB9fSwKLSB7MTYsIDB4YWFkMCwgMCwgezB4OGYsMHhmMCwweDAzLDB4MWMsMHgwMiwweGNmLDB4MDAsMHgzNiwweGMwLDB4MGQsMHhmMCwweDAzLDB4N2MsMHgwMCwweDdmLDB4MmEgfX0sCi0gezE2LCAweGFhZTAsIDAsIHsweDNmLDB4ODAsMHgwZiwweGY4LDB4MTMsMHg5MCwweDIxLDB4Y2YsMHgwMCwweDNmLDB4NjIsMHgwYywweGUwLDB4MDMsMHgzMCwweDAwIH19LAotIHsxNiwgMHhhYWYwLCAwLCB7MHhmOCwweDAwLDB4M2YsMHgwMCwweDBmLDB4ZDAsMHgwMywweDgwLDB4NDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YWIwMCwgMCwgezB4ODEsMHgwNCwweDY0LDB4MTEsMHhiYiwweDAwLDB4MmUsMHhjMCwweDBiLDB4YjAsMHgwMiwweDJjLDB4MDAsMHhkYiwweDA0LDB4MzIgfX0sCi0gezE2LCAweGFiMTAsIDAsIHsweGMwLDB4MGUsMHhiMCwweDAyLDB4ZWMsMHgwMCwweGJiLDB4ODQsMHgyZSwweDQwLDB4MGIsMHhiOSwweDQyLDB4MjIsMHg0MiwweDhiIH19LAotIHsxNiwgMHhhYjIwLCAwLCB7MHgwMSwweDJjLDB4NzIsMHgwYSwweDkwLDB4NDIsMHgyYywweDAwLDB4YmIsMHgwMCwweDJlLDB4YzIsMHg4ZiwweDg4LDB4MDYsMHhlMCB9fSwKLSB7MTYsIDB4YWIzMCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDEsMHgyNCwweDAwLDB4YmIsMHgwMCwweDZlLDB4YzAgfX0sCi0gezE2LCAweGFiNDAsIDAsIHsweDQ4LDB4YjAsMHg0MiwweDJjLDB4MDAsMHg4YiwweDAwLDB4MjYsMHhjMCwweDBhLDB4YjAsMHgxMiwweGVjLDB4MDAsMHhiYiwweDQwIH19LAotIHsxNiwgMHhhYjUwLCAwLCB7MHgyZSwweGM4LDB4MGIsMHhiMCwweDEyLDB4MmMsMHgwMCwweDhiLDB4MDAsMHgyZSwweDQ4LDB4MGEsMHgzMCwweDAyLDB4NmMsMHgwMCB9fSwKLSB7MTYsIDB4YWI2MCwgMCwgezB4YmIsMHgwMCwweDJlLDB4ODAsMHg0YiwweDk4LDB4MDIsMHhlMCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGFiNzAsIDAsIHsweDA4LDB4MDQsMHgwNCwweDAwLDB4YjMsMHgwMCwweDZjLDB4YzIsMHg0YiwweDMxLDB4MDIsMHgwYywweDUwLDB4OWIsMHgyMCwweDIwIH19LAotIHsxNiwgMHhhYjgwLCAwLCB7MHhjMCwweDBhLDB4MzIsMHgxMiwweGNjLDB4ODAsMHhiMywweDAwLDB4NmMsMHgwYywweDBiLDB4MzEsMHgwMiwweDBjLDB4NDIsMHg4MyB9fSwKLSB7MTYsIDB4YWI5MCwgMCwgezB4MDgsMHgyZSwweDQwLDB4MGEsMHgwMCwweDAyLDB4MDAsMHg4MCwweGIwLDB4MDAsMHgyYywweDQxLDB4MGIsMHgxMCwweDAyLDB4NDIgfX0sCi0gezE2LCAweGFiYTAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4NjQsMHgwMCwweGJiLDB4NDAsMHgzZiwweGNjIH19LAotIHsxNiwgMHhhYmIwLCAwLCB7MHgwZSwweGYwLDB4ODMsMHgzZCwweGEwLDB4Y2YsMHgyMCwweDM3LDB4YzAsMHgwYywweGY3LDB4YzMsMHhmZCwweDQ4LDB4ZjMsMHgwMCB9fSwKLSB7MTYsIDB4YWJjMCwgMCwgezB4M2UsMHg4OCwweDBmLDB4YjQsMHgxMywweGE1LDB4MDAsMHg4ZiwweDMwLDB4M2UsMHg0MCwweDBjLDB4YTAsMHgwMywweDYwLDB4ODAgfX0sCi0gezE2LCAweGFiZDAsIDAsIHsweGY4LDB4MDAsMHgzZSwweDAwLDB4MGYsMHg5MCwweDIzLDB4YzAsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhYmUwLCAwLCB7MHhhMCwweDE5LDB4ZjQsMHgwMCwweGZmLDB4MjksMHgzZiwweGM5LDB4MGYsMHhmMCwweDEzLDB4ZmMsMHg5NCwweGVmLDB4MTIsMHgzYiB9fSwKLSB7MTYsIDB4YWJmMCwgMCwgezB4YzAsMHg4ZSwweGIyLDB4MDcsMHhmZCwweDA0LDB4ZmYsMHgxMCwweDNmLDB4MGMsMHgwZiwweGYwLDB4MDMsMHhmMCwweDAwLDB4ZmIgfX0sCi0gezE2LCAweGFjMDAsIDAsIHsweDIwLDB4M2QsMHg0MCwweDBmLDB4ZDAsMHg0MywweGZjLDB4NDAsMHhmZiwweDA0LDB4M2YsMHhjMCwweDBlLDB4YzAsMHg0MywweGU4IH19LAotIHsxNiwgMHhhYzEwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGZjLDB4YTIsMHhjNywweDIwLDB4M2YsMHgyNCB9fSwKLSB7MTYsIDB4YWMyMCwgMCwgezB4MGMsMHhmMCwweDAzLDB4M2MsMHg4MCwweGNjLDB4MDksMHgzMywweGQxLDB4MGMsMHhmMSwweDIzLDB4ZmMsMHgyMCwweGRmLDB4MzYgfX0sCi0gezE2LCAweGFjMzAsIDAsIHsweDNmLDB4YzAsMHgwZSwweDQ4LDB4MDMsMHhmZSwweDAwLDB4ZmYsMHg4MCwweDM3LDB4ZTQsMHgwZCwweDc4LDB4MDMsMHgxMSwweGEwIH19LAotIHsxNiwgMHhhYzQwLCAwLCB7MHhjZiwweDAwLDB4MzcsMHhjOCwweDBjLDB4ZjAsMHgwMywweDMwLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YWM1MCwgMCwgezB4ODAsMHgxMCwweGZmLDB4MDAsMHg4ZiwweGQxLDB4MmUsMHgwOCwweDBkLDB4YjYsMHgxMiwweDNkLDB4NDUsMHhmOSwweDY0LDB4MjcgfX0sCi0gezE2LCAweGFjNjAsIDAsIHsweGQwLDB4ODgsMHhiYSwweDE0LDB4Y2MsMHgwNCwweDhmLDB4NDAsMHgyMywweGYwLDB4MGIsMHg4OCwweDAyLDB4MmUsMHgwNCwweGJiIH19LAotIHsxNiwgMHhhYzcwLCAwLCB7MHg4MCwweGFlLDB4YzAsMHgwOCwweGI4LDB4MGEsMHgyMSwweDAwLDB4ODgsMHhkMCwweDIyLDB4MjAsMHgyOCwweGIwLDB4MDIsMHgyMCB9fSwKLSB7MTYsIDB4YWM4MCwgMCwgezB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjYywweDAwLDB4OTMsMHgwMCwweDJlLDB4MDAgfX0sCi0gezE2LCAweGFjOTAsIDAsIHsweDBhLDB4MzQsMHg4MiwweDhjLDB4YTAsMHhhMCwweDA4LDB4MjQsMHhkOCwweDA5LDB4MzEsMHgwMiwweGNjLDB4MjAsMHhiMywweDMyIH19LAotIHsxNiwgMHhhY2EwLCAwLCB7MHgyOCwweGQwLDB4NGEsMHg4MCwweDAyLDB4Y2MsMHgwYywweGJiLDB4MDAsMHgyMiwweDQwLDB4ODksMHhiMCwweDAyLDB4NjAsMHg4MCB9fSwKLSB7MTYsIDB4YWNiMCwgMCwgezB4OTMsMHgwMCwweDI0LDB4ZDAsMHgwYiwweDMwLDB4MDIsMHhhMiwweDAxLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGFjYzAsIDAsIHsweGMwLDB4MTEsMHhhYywweDAwLDB4OWIsMHgwMCwweDJlLDB4MjAsMHgwOSwweGIwLDB4NGEsMHgyYywweDAyLDB4YTAsMHgwMCwweDA2IH19LAotIHsxNiwgMHhhY2QwLCAwLCB7MHhjMCwweDA5LDB4YjAsMHgwMCwweGVjLDB4MDAsMHhhYiwweDAwLDB4MmEsMHhjMCwweDBiLDB4ODgsMHgwMiwweDZjLDB4MDAsMHhiYiB9fSwKLSB7MTYsIDB4YWNlMCwgMCwgezB4MjAsMHgyYSwweGUyLDB4NDEsMHhiOCwweDJhLDB4NjAsMHgwYSwweDk4LDB4MDAsMHgyNiwweDAwLDB4MGIsMHhiMCwweDAyLDB4YjggfX0sCi0gezE2LCAweGFjZjAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDE1LDB4ZWMsMHgwOCwweGRiLDB4MDIsMHgzZSwweDIwIH19LAotIHsxNiwgMHhhZDAwLCAwLCB7MHg0YywweGIwLDB4MDMsMHgyYywweDAyLDB4OGIsMHgyMCwweDEyLDB4YzAsMHgyOSwweGIwLDB4MTIsMHhlYywweDAwLDB4ZmIsMHgwMCB9fSwKLSB7MTYsIDB4YWQxMCwgMCwgezB4M2EsMHhjMCwweDBlLDB4ODgsMHgwMywweGVkLDB4MjAsMHhmYiwweGM4LDB4MzQsMHhmMCwweDBkLDB4YmEsMHgwMywweDQ3LDB4NjAgfX0sCi0gezE2LCAweGFkMjAsIDAsIHsweGM5LDB4MDAsMHgzNiwweDQwLDB4MGYsMHhiMCwweDBiLDB4OTAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhZDMwLCAwLCB7MHhlMCwweDAxLDB4OWMsMHgwMCwweGVmLDB4MDAsMHgwZiwweDAwLDB4MGYsMHgzMCwweDAwLDB4ZmMsMHgwMCwweGRmLDB4OTAsMHhiYiB9fSwKLSB7MTYsIDB4YWQ0MCwgMCwgezB4YzAsMHhjZSwweGYwLDB4MDMsMHhmYywweDA0LDB4Y2IsMHgwMCwweDE3LDB4YzAsMHgwZiwweGMwLDB4MDMsMHhiYywweDg0LDB4ZmYgfX0sCi0gezE2LCAweGFkNTAsIDAsIHsweDAwLDB4MzcsMHhjMCwweDBlLDB4ZDAsMHg2MywweGI4LDB4MDAsMHhlYSwweDAwLDB4M2EsMHg4MCwweDBjLDB4MzAsMHgwMywweDcwIH19LAotIHsxNiwgMHhhZDYwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweGFjLDB4MDAsMHhmYiwweDAyLDB4MzIsMHgwMCB9fSwKLSB7MTYsIDB4YWQ3MCwgMCwgezB4MGYsMHhiMCwweDUzLDB4MmMsMHgwMCwweGZhLDB4MDAsMHgzMiwweGMwLDB4OGYsMHhiMCwweDA3LDB4MmMsMHgwMCwweGZiLDB4MDAgfX0sCi0gezE2LCAweGFkODAsIDAsIHsweGIyLDB4YzAsMHgwZiwweDgwLDB4MDcsMHhhYywweDgwLDB4ZGIsMHgyNCwweDdlLDB4ZDAsMHgwZSwweGIwLDB4MjMsMHg3NCwweDA0IH19LAotIHsxNiwgMHhhZDkwLCAwLCB7MHhkZCwweDA4LDB4YjUsMHg0MCwweDBjLDB4YjAsMHgwMywweDEwLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YWRhMCwgMCwgezB4YzgsMHgwNSwweDNjLDB4MDAsMHhiZiwweGMwLDB4YTAsMHgwMCwweDFiLDB4ZjAsMHgwMiwweDNmLDB4NjAsMHhlYSwweDUwLDB4MjMgfX0sCi0gezE2LCAweGFkYjAsIDAsIHsweGMwLDB4MDgsMHhmYSwweDA3LDB4ZmMsMHgwMCwweGRmLDB4MDAsMHg2MywweGMwLDB4NDgsMHgxOCwweDAyLDB4MmQsMHgwMCwweGIzIH19LAotIHsxNiwgMHhhZGMwLCAwLCB7MHgwMCwweDZlLDB4YzAsMHgwZCwweDNhLDB4MDMsMHgyNCwweDAwLDB4ODIsMHg4MCwweDMyLDB4ODAsMHgwZCwweGYwLDB4MDMsMHgzMiB9fSwKLSB7MTYsIDB4YWRkMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg0YywweDE0LDB4YjMsMHg1OSwweDIwLDB4ODAgfX0sCi0gezE2LCAweGFkZTAsIDAsIHsweDA5LDB4MzAsMHgwMiwweDJlLDB4MDUsMHhiMCwweDQ0LDB4MmUsMHhjMCwweDA5LDB4MzQsMHg4MiwweGVjLDB4MDAsMHhhYiwweDA0IH19LAotIHsxNiwgMHhhZGYwLCAwLCB7MHgyMCwweGMwLDB4MDksMHgyMSwweGIyLDB4OGUsMHgwNCwweDkzLDB4YzAsMHgyNCwweGMwLDB4MGEsMHgxOCwweDA2LDB4NGMsMHgwMCB9fSwKLSB7MTYsIDB4YWUwMCwgMCwgezB4OTIsMHg1MCwweDIwLDB4YzAsMHgwOCwweDMwLDB4MDIsMHg3MCwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGFlMTAsIDAsIHsweDIwLDB4MDEsMHgxZSwweDAwLDB4YjcsMHg4MCwweDYxLDB4ZTAsMHgwYiwweDc4LDB4MGEsMHg1ZSwweDAxLDB4YjEsMHhhMCwweDJkIH19LAotIHsxNiwgMHhhZTIwLCAwLCB7MHhlMCwweDBhLDB4NzgsMHgwMiwweDVlLDB4MDAsMHgwNywweDkwLDB4MjEsMHhlMCwweDE4LDB4YzgsMHgwMiwweDFlLDB4MDAsMHhiNyB9fSwKLSB7MTYsIDB4YWUzMCwgMCwgezB4ODAsMHgyZCwweGUwLDB4OGEsMHhkOCwweDAyLDB4M2UsMHhjMCwweDg1LDB4ODAsMHgyMSwweDIwLDB4MTksMHg3OCwweDIyLDB4MDAgfX0sCi0gezE2LCAweGFlNDAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MGMsMHgwMCwweGYzLDB4OTQsMHgyMCwweDEwIH19LAotIHsxNiwgMHhhZTUwLCAwLCB7MHg0YiwweDMwLDB4MDcsMHgwYywweDAwLDB4ZjMsMHgwMCwweDNlLDB4YzgsMHgwZiwweDMwLDB4MDMsMHhjYywweDAwLDB4MjMsMHgxMCB9fSwKLSB7MTYsIDB4YWU2MCwgMCwgezB4MDAsMHhjYiwweDA1LDB4MjAsMHgwMiwweDhjLDB4NjAsMHg5MywweDBhLDB4MmUsMHhjNCwweDBhLDB4MDEsMHgwNywweDRjLDB4ODAgfX0sCi0gezE2LCAweGFlNzAsIDAsIHsweGQyLDB4MDEsMHgzMCwweGMwLDB4MmMsMHgzMCwweDBiLDB4NWEsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhZTgwLCAwLCB7MHg0MCwweDFkLDB4YmMsMHgwMCwweGZmLDB4MDEsMHgwZiwweDQwLDB4MGYsMHhmMCwweDEzLDB4YmMsMHgwMCwweGVmLDB4MjYsMHg3MyB9fSwKLSB7MTYsIDB4YWU5MCwgMCwgezB4YzIsMHgwYywweGIwLDB4ODMsMHhiYywweDQwLDB4ZmYsMHgxOCwweDNkLDB4YzAsMHg0YSwweGMxLDB4MDMsMHhmYywweDAwLDB4ZmIgfX0sCi0gezE2LCAweGFlYTAsIDAsIHsweDEyLDB4M2YsMHhjNCwweDRkLDB4YzEsMHgwYiwweGZjLDB4ODEsMHhmZCwweDAwLDB4M2YsMHgyMCwweDBmLDB4ZjAsMHgwMywweGQwIH19LAotIHsxNiwgMHhhZWIwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGVjLDB4MjAsMHhjYiwweDQ4LDB4M2UsMHgwMCB9fSwKLSB7MTYsIDB4YWVjMCwgMCwgezB4MGMsMHhiMCwweDAzLDB4MmQsMHgyMCwweGU5LDB4ODAsMHhmYSwweGM4LDB4MGQsMHhiMCwweDAzLDB4ZWUsMHgwMCwweGRiLDB4MjQgfX0sCi0gezE2LCAweGFlZDAsIDAsIHsweDc2LDB4ZjMsMHg4ZSwweDgwLDB4MzMsMHhlYywweDQ0LDB4ZWIsMHgxMCwweDNlLDB4YzAsMHgwZiwweDkwLDB4MDMsMHhlOCwweDA0IH19LAotIHsxNiwgMHhhZWUwLCAwLCB7MHhkYywweDAwLDB4YjMsMHg2MSwweDBjLDB4YjAsMHgwMywweDJhLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YWVmMCwgMCwgezB4NDgsMHgxMSwweDhkLDB4MDAsMHg4NywweDIwLDB4MmYsMHgwMSwweDI4LDB4NzAsMHgwMiwweDBjLDB4ODQsMHg4ZCwweDA0LDB4MzEgfX0sCi0gezE2LCAweGFmMDAsIDAsIHsweGNjLDB4YzksMHg3MiwweDAyLDB4ZGQsMHgwMCwweDM3LDB4MzMsMHgyMSwweGQ4LDB4MDgsMHg0MCwweDAyLDB4ZGMsMHgwMCwweGI3IH19LAotIHsxNiwgMHhhZjEwLCAwLCB7MHgyMCwweDNkLDB4YzAsMHgwOSwweDUwLDB4MjIsMHhmMCwweDAwLDB4OTcsMHgwMCwweDIxLDB4ODAsMHgwYSwweGZjLDB4MDIsMHg5MiB9fSwKLSB7MTYsIDB4YWYyMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHgxZSwweDgyLDB4ODcsMHhiMCwweDJkLDB4MjAgfX0sCi0gezE2LCAweGFmMzAsIDAsIHsweDA4LDB4MzksMHgwMiwweDFlLDB4NDEsMHhhNywweDgwLDB4MjQsMHhlMCwweDA5LDB4N2EsMHgzMiwweDhlLDB4ODIsMHgwNywweGEwIH19LAotIHsxNiwgMHhhZjQwLCAwLCB7MHgyNSwweGUwLDB4OGIsMHg0OCwweDAyLDB4MWUsMHgwMCwweGE3LDB4ZTEsMHgyZCwweGUwLDB4NGIsMHg1OCwweDAwLDB4ZGEsMHgwMCB9fSwKLSB7MTYsIDB4YWY1MCwgMCwgezB4YTAsMHg4MCwweDI0LDB4NjAsMHgwOCwweDdhLDB4MDIsMHgzMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGFmNjAsIDAsIHsweDQ4LDB4MTQsMHhjYywweDAwLDB4ODMsMHgwMCwweDJjLDB4MDAsMHgwOCwweDMwLDB4MDIsMHg4YywweDAwLDB4OTMsMHgwMCwweDIyIH19LAotIHsxNiwgMHhhZjcwLCAwLCB7MHhjMSwweDA5LDB4MzAsMHg0MiwweGNjLDB4MDAsMHg4MywweDAwLDB4NjAsMHhjMCwweDA4LDB4MWEsMHgwMiwweGNlLDB4MDQsMHhiMyB9fSwKLSB7MTYsIDB4YWY4MCwgMCwgezB4ZTAsMHgyOCwweGEwLDB4MDksMHgxYywweDgyLDB4NGIsMHgwOCwweGEzLDB4ODAsMHgyNCwweGEwLDB4MmEsMHgzMCwweDAyLDB4OWEgfX0sCi0gezE2LCAweGFmOTAsIDAsIHsweDA0LDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YTgsMHgwMCwweGNhLDB4MDAsMHgyZiwweDg4IH19LAotIHsxNiwgMHhhZmEwLCAwLCB7MHgwYywweGEwLDB4MTMsMHgyOCwweDAwLDB4ZWUsMHgwMCwweDJlLDB4ODAsMHgyZCwweGEwLDB4MDMsMHhlOCwweDAwLDB4ZGEsMHgwMCB9fSwKLSB7MTYsIDB4YWZiMCwgMCwgezB4NzYsMHg4MCwweDBlLDB4ZTgsMHgwMywweGJiLDB4ODAsMHhlZSwweDQwLDB4MmYsMHhhMiwweDhmLDB4ZTYsMHgwMywweGViLDB4ODYgfX0sCi0gezE2LCAweGFmYzAsIDAsIHsweGZhLDB4ODAsMHgzNywweDgyLDB4MGMsMHgyMCwweDA3LDB4M2EsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhZmQwLCAwLCB7MHg0OCwweDAwLDB4ZTAsMHgwMCwweGY4LDB4NDAsMHgxZSwweDAwLDB4MGYsMHg4MCwweDBiLDB4NjEsMHgwMCwweGU4LDB4YzAsMHgzYSB9fSwKLSB7MTYsIDB4YWZlMCwgMCwgezB4MDAsMHgwZSwweDgwLDB4MDMsMHhlMCwweDAxLDB4ZjgsMHgwMCwweDdlLDB4MTAsMHgxZSwweDgxLDB4MDMsMHhlMCwweDA4LDB4ZjggfX0sCi0gezE2LCAweGFmZjAsIDAsIHsweDAwLDB4M2UsMHgwMCwweDBkLDB4ODAsMHgwMywweGMwLDB4MjgsMHhkYywweDUwLDB4M2IsMHgwMCwweDBmLDB4ODAsMHgwMywweGQyIH19LAotIHsxNiwgMHhiMDAwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGM0LDB4MDIsMHhjOSwweDAwLDB4M2UsMHg0MiB9fSwKLSB7MTYsIDB4YjAxMCwgMCwgezB4MGYsMHgxMCwweDAzLDB4YTYsMHgwMCwweGM5LDB4MDEsMHgzYSwweDQwLDB4MGUsMHg5NCwweDAxLDB4ZTQsMHgxMCwweGYxLDB4MDQgfX0sCi0gezE2LCAweGIwMjAsIDAsIHsweDMyLDB4NDAsMHgwZiwweDlhLDB4MjMsMHgyMCwweDYwLDB4ZjgsMHgwNCwweDBhLDB4NDIsMHgwZSwweDkwLDB4MTMsMHgyNCwweDAwIH19LAotIHsxNiwgMHhiMDMwLCAwLCB7MHhjMSwweDAwLDB4MzIsMHg0MCwweDBmLDB4OTAsMHgwMywweDAyLDB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YjA0MCwgMCwgezB4ODAsMHgwNCwweDY3LDB4MDgsMHhhOSwweDAwLDB4NmUsMHg0MCwweDA4LDB4OTAsMHgwMiwweDI3LDB4ODIsMHg4OSwweDAwLDB4MjYgfX0sCi0gezE2LCAweGIwNTAsIDAsIHsweDQwLDB4MDgsMHg5YywweDAzLDB4YTQsMHgxMCwweGI5LDB4MDAsMHgzNiwweDQwLDB4OWIsMHgxYywweDFhLDB4MjMsMHgwNCwweGI4IH19LAotIHsxNiwgMHhiMDYwLCAwLCB7MHgwMCwweDNhLDB4NDAsMHgwZSwweDEwLDB4MDIsMHgyNCwweDAyLDB4YzksMHhhMCwweGEyLDB4NDAsMHgwYiwweDkwLDB4MGEsMHgyMCB9fSwKLSB7MTYsIDB4YjA3MCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHgyNSwweDgwLDB4ODksMHgwNCwweDJjLDB4NDAgfX0sCi0gezE2LCAweGIwODAsIDAsIHsweDA4LDB4OTAsMHgwMiwweDg0LDB4ODEsMHg5OSwweDQwLDB4MmUsMHg0MCwweDFhLDB4OTAsMHgwNiwweGU0LDB4MDEsMHhiOSwweDAwIH19LAotIHsxNiwgMHhiMDkwLCAwLCB7MHhhNiwweDQxLDB4MWIsMHg5MCwweDgyLDB4MjEsMHgwMCwweGI4LDB4MTAsMHgyZSwweDQwLDB4MGEsMHg5MiwweDBhLDB4YTQsMHgwMSB9fSwKLSB7MTYsIDB4YjBhMCwgMCwgezB4OGYsMHgyMiwweDIzLDB4NDAsMHgwYiwweDkwLDB4MDIsMHgwNiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGIwYjAsIDAsIHsweDA4LDB4MDQsMHgwNCwweDgwLDB4YTMsMHgyMCwweDJjLDB4NDEsMHgwOSwweDEyLDB4MDIsMHgwNCwweDgwLDB4ODEsMHgyMCwweDI0IH19LAotIHsxNiwgMHhiMGMwLCAwLCB7MHg0OCwweDBhLDB4MzYsMHgwMiwweGM0LDB4ODAsMHhiMSwweDIwLDB4MDQsMHhjOCwweDRiLDB4MTQsMHgwMiwweDA1LDB4MDAsMHhiMSB9fSwKLSB7MTYsIDB4YjBkMCwgMCwgezB4MDUsMHgyOCwweDUwLDB4MGEsMHg5MCwweDAyLDB4MDUsMHgwMiwweDg1LDB4MDAsMHgyMSwweDQwLDB4MGIsMHgxMiwweDAyLDB4MDIgfX0sCi0gezE2LCAweGIwZTAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjAsMHgwMCwweGM4LDB4MDAsMHg2ZSwweDE0IH19LAotIHsxNiwgMHhiMGYwLCAwLCB7MHgyYywweDg1LDB4MDIsMHhhMSwweDQwLDB4YzgsMHg1MCwweDNhLDB4MTQsMHgwZSwweDgwLDB4MDIsMHhlMSwweDQwLDB4YjAsMHg1MCB9fSwKLSB7MTYsIDB4YjEwMCwgMCwgezB4MzIsMHgwMCwweDBiLDB4ODAsMHgwMywweDIwLDB4MDAsMHhmYSwweDAwLDB4M2UsMHgwMCwweDBlLDB4ODAsMHgwMywweGEwLDB4MDIgfX0sCi0gezE2LCAweGIxMTAsIDAsIHsweGM4LDB4MDAsMHgxMywweDAwLDB4MGYsMHg4MiwweDAzLDB4MmUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiMTIwLCAwLCB7MHg5OCwweDFkLDB4ZTQsMHg0OCwweGY5LDB4MTQsMHgzZiwweDQwLDB4MGMsMHg5MSwweDAzLDB4ZTQsMHg0MiwweGZkLDB4MTAsMHgzNiB9fSwKLSB7MTYsIDB4YjEzMCwgMCwgezB4NDQsMHgwZCwweDkxLDB4MjMsMHhhNCwweDQ4LDB4ZjksMHgxMSwweDM4LDB4NDQsMHgwZiwweGQwLDB4MDMsMHhlNSwweDE0LDB4MzkgfX0sCi0gezE2LCAweGIxNDAsIDAsIHsweDQyLDB4N2IsMHg0MCwweDhlLDB4ZDAsMHgwMSwweGY1LDB4MDAsMHhhOSwweDQwLDB4M2UsMHg1MCwweDA3LDB4OTYsMHg4MywweGU2IH19LAotIHsxNiwgMHhiMTUwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwMSwweGY2LDB4ODAsMHhkZCwweGFlLDB4M2EsMHg1MCB9fSwKLSB7MTYsIDB4YjE2MCwgMCwgezB4MGQsMHg5YSwweDBiLDB4NzYsMHg4MCwweGNmLDB4ODgsMHgzMiwweDcwLDB4MmQsMHhkYSwweDAzLDB4YTcsMHgwMSwweGU5LDB4OTIgfX0sCi0gezE2LCAweGIxNzAsIDAsIHsweDM3LDB4NjgsMHgwZCwweDk0LDB4MDMsMHhlNywweDAwLDB4ZWQsMHhhMCwweDNhLDB4NTAsMHgwZiwweGQwLDB4MDMsMHhlNywweDAyIH19LAotIHsxNiwgMHhiMTgwLCAwLCB7MHhjZCwweDgwLDB4MzMsMHg2OCwweDBjLDB4ZDgsMHg4MywweDA2LDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YjE5MCwgMCwgezB4MzgsMHgxMCwweGUxLDB4MDAsMHg4OCwweDQwLDB4MjAsMHgyMCwweDBjLDB4OGMsMHgwMiwweDIzLDB4MDAsMHg4OCwweGUwLDB4MjIgfX0sCi0gezE2LCAweGIxYTAsIDAsIHsweDMwLDB4MDgsMHg4NCwweDAyLDB4ZTMsMHgwMCwweGI4LDB4ZTAsMHgyMiwweDE0LDB4OGQsMHg4OCwweDAyLDB4ZTMsMHgwMCwweGI4IH19LAotIHsxNiwgMHhiMWIwLCAwLCB7MHg1MCwweDJlLDB4YTgsMHg4YiwweDgwLDB4MjIsMHhlMywweDQ4LDB4ODgsMHg1MCwweDIyLDB4MDAsMHgwOCwweDhjLDB4MDIsMHgwZSB9fSwKLSB7MTYsIDB4YjFjMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhjNCwweDQwLDB4OTEsMHgwMCwweDJhLDB4NDggfX0sCi0gezE2LCAweGIxZDAsIDAsIHsweDA5LDB4MTQsMHg4MiwweDA1LDB4MjAsMHg4MSwweDA4LDB4MjAsMHg1OCwweDA5LDB4MTEsMHgwMiwweDg1LDB4ODgsMHhiMSwweDQwIH19LAotIHsxNiwgMHhiMWUwLCAwLCB7MHhhMCwweDQwLDB4MDgsMHgxMiwweDAyLDB4YzUsMHg4MCwweGExLDB4MDAsMHgyOCwweDQwLDB4MGIsMHgxOCwweDAyLDB4YzQsMHg4NCB9fSwKLSB7MTYsIDB4YjFmMCwgMCwgezB4YTEsMHgwMCwweDI0LDB4NTAsMHgwOCwweDEwLDB4OTIsMHgwMywweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGIyMDAsIDAsIHsweDE4LDB4MTUsMHhhYywweDEwLDB4OWIsMHgwMCwweDIyLDB4NDAsMHgwOCwweDkwLDB4MDIsMHgwNCwweDA2LDB4ODksMHgwNCwweDIwIH19LAotIHsxNiwgMHhiMjEwLCAwLCB7MHg0MCwweDA5LDB4OTAsMHgwMiwweGU0LDB4MDEsMHhiOSwweDAyLDB4MjIsMHg0MSwweDg5LDB4YTAsMHg4MiwweGUwLDB4YTAsMHhiOSB9fSwKLSB7MTYsIDB4YjIyMCwgMCwgezB4MjgsMHgyZSwweDQ0LDB4MGIsMHhiMCwweDAyLDB4ZTQsMHgwMiwweGI5LDB4MDAsMHgyNiwweDQwLDB4MjgsMHgxMCwweDAyLDB4MDYgfX0sCi0gezE2LCAweGIyMzAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4ZTQsMHgwMCwweGQ5LDB4MDAsMHgzOCwweDQwIH19LAotIHsxNiwgMHhiMjQwLCAwLCB7MHgwZCwweDkwLDB4MDMsMHgyNCwweDAwLDB4YzksMHhhMCwweGEyLDB4NDAsMHg4ZCwweDkwLDB4MDMsMHhhNCwweDAwLDB4ZjksMHgwMCB9fSwKLSB7MTYsIDB4YjI1MCwgMCwgezB4MzYsMHg0MCwweDBjLDB4ODQsMHgxMywweGUyLDB4MDAsMHhlOSwweDAwLDB4M2EsMHg1MCwweDBmLDB4OWMsMHgwMiwweGU2LDB4ODQgfX0sCi0gezE2LCAweGIyNjAsIDAsIHsweGU5LDB4MDAsMHhiNiwweDQwLDB4MGMsMHg5MCwweDAzLDB4MjgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiMjcwLCAwLCB7MHgyOCwweDAxLDB4YTQsMHgwMCwweGUxLDB4MDAsMHgzZSwweDY4LDB4MGUsMHgxMCwweDAzLDB4YTQsMHgwMCwweGYxLDB4MjgsMHgzYSB9fSwKLSB7MTYsIDB4YjI4MCwgMCwgezB4NDAsMHgwZSwweDkwLDB4MDMsMHhlNCwweDAwLDB4ZjksMHgwMCwweDNlLDB4NDIsMHgwZiwweDgwLDB4MjMsMHhlMiwweDAwLDB4ZjkgfX0sCi0gezE2LCAweGIyOTAsIDAsIHsweDAwLDB4M2UsMHg0MCwweDBmLDB4OTEsMHgyMywweGU0LDB4NDAsMHhjMSwweDAwLDB4M2EsMHg0MCwweDBmLDB4OTAsMHgwYiwweGNhIH19LAotIHsxNiwgMHhiMmEwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxMCwweDgwLDB4MDAsMHhjOCwweDAwLDB4MzIsMHgwMCB9fSwKLSB7MTYsIDB4YjJiMCwgMCwgezB4MGMsMHg4MCwweDAzLDB4YTAsMHgyMCwweGM4LDB4NDAsMHgzZSwweDAwLDB4MGUsMHg4MSwweDYzLDB4NjAsMHgwMCwweGYwLDB4MDQgfX0sCi0gezE2LCAweGIyYzAsIDAsIHsweDNjLDB4MDEsMHgwYywweDg0LDB4MDMsMHhlMCwweDAwLDB4YzgsMHgwMCwweDNlLDB4MDAsMHgwZSwweDgwLDB4MDMsMHhjMSwweDAwIH19LAotIHsxNiwgMHhiMmQwLCAwLCB7MHhkOCwweDEwLDB4MzIsMHgwMCwweDBjLDB4ODAsMHgyMywweDBhLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YjJlMCwgMCwgezB4MjgsMHgwNSwweDM4LDB4NjAsMHg4ZSwweDAwLDB4MjIsMHg4MCwweDBhLDB4YTAsMHgwMiwweDM4LDB4ODAsMHhiZSwweDAwLDB4M2EgfX0sCi0gezE2LCAweGIyZjAsIDAsIHsweDgwLDB4MDgsMHhlMCwweDAyLDB4MjgsMHgwMCwweGJhLDB4MDAsMHgyMywweDk4LDB4MTgsMHhlYywweDAyLDB4ZjgsMHgyMCwweGFlIH19LAotIHsxNiwgMHhiMzAwLCAwLCB7MHgwMCwweDIyLDB4ODAsMHgwYiwweGU0LDB4ODIsMHhlOCwweDAyLDB4Y2UsMHg0NCwweDI4LDB4ODAsMHgwZCwweGEwLDB4MGEsMHgwYSB9fSwKLSB7MTYsIDB4YjMxMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg0MCwweDAwLDB4ODIsMHgwNCwweGEwLDB4YzAgfX0sCi0gezE2LCAweGIzMjAsIDAsIHsweDA5LDB4MzAsMHgwMiwweDhlLDB4MDQsMHg4MywweDUwLDB4NmMsMHhjMCwweDBhLDB4MzAsMHg4NiwweDBjLDB4MDAsMHhiMywweDAwIH19LAotIHsxNiwgMHhiMzMwLCAwLCB7MHgyOCwweDMwLDB4MGEsMHgzNiwweDEyLDB4Y2MsMHg4MCwweDgxLDB4MDAsMHgyNCwweGMwLDB4MGIsMHgzMiwweDA2LDB4Y2MsMHgwMCB9fSwKLSB7MTYsIDB4YjM0MCwgMCwgezB4ODAsMHg4OCwweDY0LDB4NjAsMHgyOCwweDEwLDB4MDIsMHgwMiwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGIzNTAsIDAsIHsweGEwLDB4MDEsMHgxMCwweDEyLDB4ODQsMHg0MCwweDIxLDB4YzgsMHgwYSwweDcyLDB4MDIsMHgxMCwweDAwLDB4YjcsMHgwMCwweDJkIH19LAotIHsxNiwgMHhiMzYwLCAwLCB7MHhjYywweDA4LDB4MzgsMHgxMiwweDFjLDB4MDAsMHhiMywweDMwLDB4MjAsMHgwMCwweDA4LDB4NzEsMHg4MiwweGZlLDB4MDAsMHhhNCB9fSwKLSB7MTYsIDB4YjM3MCwgMCwgezB4ODAsMHgyMSwweGM4LDB4MGIsMHg3MCwweDAyLDB4ZGMsMHgwMSwweDg3LDB4MDAsMHgyYywweDQyLDB4MDksMHg1MSwweDAyLDB4MjAgfX0sCi0gezE2LCAweGIzODAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MTIsMHgwMCwweGMyLDB4ODAsMHgzMSwweGY4IH19LAotIHsxNiwgMHhiMzkwLCAwLCB7MHg0YywweGZjLDB4MTMsMHg5MiwweDA5LDB4YzcsMHg4MCwweDNjLDB4ZWQsMHgxZSwweDc4LDB4MjcsMHgxZSwweDAwLDB4ZjcsMHg4YyB9fSwKLSB7MTYsIDB4YjNhMCwgMCwgezB4NzksMHgyMCwweDA4LDB4N2EsMHgwMywweGRlLDB4ODEsMHg4NCwweDgwLDB4M2QsMHhlMCwweDBlLDB4NzgsMHgwMywweGZlLDB4MjAgfX0sCi0gezE2LCAweGIzYjAsIDAsIHsweGM1LDB4ODEsMHgzNSwweDYwLDB4MmMsMHg1OCwweDAzLDB4MmEsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiM2MwLCAwLCB7MHgwOCwweDFkLDB4ODAsMHgwMCwweGY4LDB4MDQsMHgzZSwweGQwLDB4MGYsMHhiMCwweDEzLDB4ZTAsMHgwMCwweGZiLDB4MDIsMHgzYSB9fSwKLSB7MTYsIDB4YjNkMCwgMCwgezB4ZDAsMHgwZiwweGEwLDB4MGIsMHhhYywweDQwLDB4ZmIsMHgwMCwweDNhLDB4MDAsMHgyZiwweGIwLDB4MDMsMHhjYywweDAwLDB4ZjAgfX0sCi0gezE2LCAweGIzZTAsIDAsIHsweDAwLDB4M2EsMHhjNCwweDBmLDB4YjAsMHgwMywweGZjLDB4NDEsMHhmMywweDAwLDB4M2EsMHg0MCwweDBmLDB4NTAsMHg5MywweGMyIH19LAotIHsxNiwgMHhiM2YwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweGY2LDB4MDAsMHhjYywweDgxLDB4M2YsMHhmYyB9fSwKLSB7MTYsIDB4YjQwMCwgMCwgezB4MWMsMHhmOCwweDAzLDB4NzYsMHg0MCwweGVmLDB4OTIsMHgzZiwweGU0LDB4OGMsMHhmOCwweDAzLDB4YmYsMHgxMCwweGZmLDB4ODAgfX0sCi0gezE2LCAweGI0MTAsIDAsIHsweGIzLDB4MjAsMHgwZSwweGY5LDB4MTMsMHhmZSwweDI0LDB4ZmQsMHg5NCwweDM3LDB4ZTAsMHgxYywweGY5LDB4MDMsMHhlZSwweDAwIH19LAotIHsxNiwgMHhiNDIwLCAwLCB7MHhjZCwweDgwLDB4YjMsMHhlMCwweDBjLDB4NTgsMHgwMiwweDAwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YjQzMCwgMCwgezB4YTgsMHgxMSwweDk0LDB4NDAsMHg4MCwweDAwLDB4MmYsMHhjNCwweDA4LDB4NzIsMHgwMiwweGRkLDB4MDgsMHhkNywweDAwLDB4MmQgfX0sCi0gezE2LCAweGI0NDAsIDAsIHsweGNjLDB4MDgsMHhkZSwweDAzLDB4NWMsMHgwMCwweGI3LDB4MDQsMHgyMSwweDgwLDB4YzgsMHg3MCwweDgzLDB4ZGMsMHgwMCwweGI0IH19LAotIHsxNiwgMHhiNDUwLCAwLCB7MHhhMCwweDJmLDB4YzAsMHgwYywweDcwLDB4MDIsMHhkZSwweDgwLDB4ODcsMHgwMCwweDIxLDB4YzIsMHgwYSwweDUxLDB4NDIsMHgyYSB9fSwKLSB7MTYsIDB4YjQ2MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5MCwweDAwLDB4ODQsMHgwMCwweDJkLDB4YzggfX0sCi0gezE2LCAweGI0NzAsIDAsIHsweDQ4LDB4NzAsMHgwMiwweDU0LDB4MGMsMHhhNywweDAwLDB4MmMsMHhjMCwweDg5LDB4NzIsMHgwMiwweDVjLDB4MDAsMHhiMywweDEwIH19LAotIHsxNiwgMHhiNDgwLCAwLCB7MHgyMCwweDAwLDB4MGEsMHg3MCwweDA2LDB4ZGMsMHgwMCwweGI0LDB4MjAsMHgyZCwweGMwLDB4MDgsMHg3MCwweDAyLDB4ZGMsMHg4MCB9fSwKLSB7MTYsIDB4YjQ5MCwgMCwgezB4OTMsMHgwMCwweDIwLDB4YzAsMHgwOCwweDUwLDB4MDIsMHgwMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGI0YTAsIDAsIHsweDIwLDB4MTQsMHhjMCwweDAwLDB4ODAsMHgwMCwweDJlLDB4YzAsMHgwOCwweDMwLDB4MDIsMHhjNCwweDA4LDB4YTIsMHg0MiwweDJjIH19LAotIHsxNiwgMHhiNGIwLCAwLCB7MHhjMSwweDA5LDB4MjAsMHgwMiwweDRjLDB4MDAsMHhiMywweDAwLDB4MjAsMHg4MCwweDA4LDB4M2MsMHgyMiwweDhjLDB4MjAsMHhiMCB9fSwKLSB7MTYsIDB4YjRjMCwgMCwgezB4MDgsMHgyZSwweGUwLDB4MDgsMHgzOCwweDEwLDB4Y2YsMHgwYSwweDkzLDB4NDAsMHhhMCwweGYwLDB4MGEsMHgxMCwweDAyLDB4MDggfX0sCi0gezE2LCAweGI0ZDAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YTgsMHgwMCwweGMxLDB4MDAsMHgzZiwweGMwIH19LAotIHsxNiwgMHhiNGUwLCAwLCB7MHgyYywweGYwLDB4MDMsMHg2OCwweDAwLDB4YWEsMHgwMCwweDNmLDB4YzAsMHgyZCwweDgwLDB4MDMsMHg3YywweDAwLDB4ZmYsMHgwMCB9fSwKLSB7MTYsIDB4YjRmMCwgMCwgezB4MzIsMHgwMCwweDBlLDB4YjAsMHgxMiwweGVkLDB4MjQsMHhmYSwweDA4LDB4MjcsMHhjOCwweDEwLDB4YjgsMHhhMiwweGZmLDB4NjAgfX0sCi0gezE2LCAweGI1MDAsIDAsIHsweDk4LDB4YTAsMHhhMiwweGUwLDB4MGMsMHg1MCwweDAzLDB4MmEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiNTEwLCAwLCB7MHg4MCwweDAwLDB4YzksMHgwNiwweGY4LDB4NDEsMHgzZSwweGMwLDB4MGYsMHhiMCwweDAzLDB4ZTksMHgxMCwweDVhLDB4MjAsMHgzZSB9fSwKLSB7MTYsIDB4YjUyMCwgMCwgezB4YzAsMHgwZSwweDgwLDB4MDMsMHhlYywweDAwLDB4ZjMsMHgwMCwweDdlLDB4MDEsMHgwZiwweGIwLDB4OTMsMHhlZCwweDAwLDB4ZjggfX0sCi0gezE2LCAweGI1MzAsIDAsIHsweDQwLDB4M2UsMHhjMCwweDBlLDB4YjAsMHgwMywweGZjLDB4MDAsMHhlMywweDA4LDB4M2MsMHhjMiwweDBmLDB4ZDAsMHgxMywweGUwIH19LAotIHsxNiwgMHhiNTQwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGYzLDB4MDIsMHhjYywweDAwLDB4M2IsMHhjMiB9fSwKLSB7MTYsIDB4YjU1MCwgMCwgezB4MGMsMHhmMCwweDIzLDB4YWUsMHg0MCwweGRmLDB4ODEsMHgzOSwweGMwLDB4MDYsMHhkMCwweDAzLDB4ZmMsMHgwMCwweGZmLDB4MDQgfX0sCi0gezE2LCAweGI1NjAsIDAsIHsweDMxLDB4NDEsMHgwYywweGYwLDB4MDMsMHhmYywweDAwLDB4Y2MsMHhhMCwweDM3LDB4YzIsMHgwYywweGYwLDB4MDMsMHg3YywweDA0IH19LAotIHsxNiwgMHhiNTcwLCAwLCB7MHhjZCwweDAwLDB4MzMsMHhmMCwweDBjLDB4ZDAsMHgwMywweDA4LDB4NDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YjU4MCwgMCwgezB4ODEsMHgwNCwweDYwLDB4MDAsMHg4OCwweDgwLDB4MjIsMHhjMCwweDBhLDB4YjAsMHgwMiwweGU5LDB4MDAsMHhhYiwweDQ0LDB4MmUgfX0sCi0gezE2LCAweGI1OTAsIDAsIHsweGMwLDB4MDgsMHg4OCwweDAyLDB4ZWMsMHgwMCwweGJiLDB4MDAsMHhhMiwweDcwLDB4MGEsMHhiNCwweDAyLDB4Y2MsMHgwMCwweGEwIH19LAotIHsxNiwgMHhiNWEwLCAwLCB7MHgyMCwweDIyLDB4YzAsMHgwZiwweGJjLDB4MDIsMHhjYywweDBhLDB4OGIsMHg4MCwweGEyLDB4YzAsMHgwZCwweDkwLDB4MDIsMHgyMCB9fSwKLSB7MTYsIDB4YjViMCwgMCwgezB4NDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgyMCwweDAwLDB4ODksMHg4MCwweDJhLDB4YzAgfX0sCi0gezE2LCAweGI1YzAsIDAsIHsweDA4LDB4YjAsMHgwMiwweGNjLDB4MDYsMHg4OCwweDYwLDB4MmUsMHhjMCwweDBhLDB4OTgsMHgwNiwweGVjLDB4MDEsMHhiYiwweDAwIH19LAotIHsxNiwgMHhiNWQwLCAwLCB7MHgyMiwweDMxLDB4MDIsMHhiMiwweDAyLDB4ZWMsMHhhMCwweDhhLDB4MDAsMHgyNiwweGMwLDB4NDgsMHhhOCwweDAyLDB4ZWMsMHgwNCB9fSwKLSB7MTYsIDB4YjVlMCwgMCwgezB4YTksMHg4MCwweDIyLDB4NDAsMHgwOCwweDkwLDB4MDIsMHgyMCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGI1ZjAsIDAsIHsweDA4LDB4MDQsMHgwMCwweDAwLDB4ODAsMHgwMCwweDIwLDB4YzAsMHgwYSwweDMwLDB4NDIsMHhjYywweDAwLDB4ODAsMHgwMSwweDJjIH19LAotIHsxNiwgMHhiNjAwLCAwLCB7MHhjMCwweDFhLDB4MTIsMHgwMiwweGNjLDB4MDAsMHhiMywweDAwLDB4MjAsMHgwMCwweDRhLDB4MzAsMHgwMiwweGNjLDB4MDAsMHhhMCB9fSwKLSB7MTYsIDB4YjYxMCwgMCwgezB4MDAsMHgwOCwweGMwLDB4MGIsMHgyMCwweDA2LDB4ZWMsMHhhMCwweGEzLDB4MDAsMHhhMCwweDQwLDB4MjksMHgxMCwweDAwLDB4MDIgfX0sCi0gezE2LCAweGI2MjAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4NjAsMHgwMCwweGM4LDB4NTAsMHgzYiwweGMwIH19LAotIHsxNiwgMHhiNjMwLCAwLCB7MHgwYywweGIwLDB4MDMsMHhhYywweDAwLDB4YzksMHgwMCwweDNiLDB4YzAsMHgwZSwweDkyLDB4ODMsMHhmYywweDAwLDB4YmYsMHgwMCB9fSwKLSB7MTYsIDB4YjY0MCwgMCwgezB4MTIsMHgwMCwweDBjLDB4YjAsMHgwMywweGVjLDB4MDAsMHg4OCwweDI2LDB4MTYsMHhjMCwweDBjLDB4ODAsMHgxNywweDVjLDB4ODAgfX0sCi0gezE2LCAweGI2NTAsIDAsIHsweGU5LDB4MDEsMHgzMiwweDQwLDB4MmMsMHhkMCwweDAzLDB4MDAsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiNjYwLCAwLCB7MHhhMCwweDFkLDB4ZDAsMHgwMCwweGZjLDB4MjAsMHgzZiwweGMwLDB4MGYsMHhmMCwweDAzLDB4ZmMsMHgwMCwweGZjLDB4MDAsMHgzZiB9fSwKLSB7MTYsIDB4YjY3MCwgMCwgezB4YzAsMHgwZCwweDgwLDB4MDMsMHhmYywweDA4LDB4ZmYsMHgwMCwweDNmLDB4MDAsMHgwZiwweGYwLDB4MDMsMHhmYywweDEwLDB4ZjggfX0sCi0gezE2LCAweGI2ODAsIDAsIHsweDQwLDB4MzcsMHhjMCwweDBlLDB4ZTAsMHgyMSwweGZjLDB4MDgsMHhkZiwweDAwLDB4M2YsMHg0MCwweDBmLDB4ZDAsMHgwMywweGUwIH19LAotIHsxNiwgMHhiNjkwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGZjLDB4YzAsMHhmZiwweDIxLDB4NzEsMHgyNCB9fSwKLSB7MTYsIDB4YjZhMCwgMCwgezB4MGYsMHhmMSwweDgzLDB4ZjIsMHg0MCwweGZmLDB4MDAsMHgzNywweGM0LDB4OWYsMHhmMiwweDQ3LDB4M2QsMHgwNCwweGM3LDB4MjAgfX0sCi0gezE2LCAweGI2YjAsIDAsIHsweDMzLDB4YzAsMHgwYywweDc4LDB4MjMsMHhmZSwweDQwLDB4ZTgsMHgxMCwweDI3LDB4YzQsMHgwZiwweGYyLDB4MTMsMHgzYywweDg0IH19LAotIHsxNiwgMHhiNmMwLCAwLCB7MHhjNCwweDgxLDB4MzMsMHgyMCwweDRjLDB4ZjAsMHgyMywweDcwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YjZkMCwgMCwgezB4ODAsMHgxMCwweGVkLDB4NDAsMHhiZiwweDU0LDB4NjIsMHhjOCwweDBiLDB4ZjYsMHgwMiwweGUwLDB4MDAsMHhiYiwweGQwLDB4MjIgfX0sCi0gezE2LCAweGI2ZTAsIDAsIHsweGYwLDB4MWYsMHhmOSwweDEyLDB4M2QsMHg4MCwweDlmLDB4ODEsMHgyYiwweGUwLDB4MGEsMHhiOCwweDEyLDB4ZTgsMHgwMCwweDhmIH19LAotIHsxNiwgMHhiNmYwLCAwLCB7MHgwNCwweDIyLDB4ZDAsMHgwOCwweGIzLDB4OGEsMHhiZiwweDQyLDB4OGIsMHg4MiwweDIyLDB4ZTAsMHgyOCwweDhjLDB4MDIsMHgyMCB9fSwKLSB7MTYsIDB4YjcwMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjYywweDAwLDB4YjMsMHgyOCwweDI4LDB4MDggfX0sCi0gezE2LCAweGI3MTAsIDAsIHsweDBiLDB4MzAsMHgwNiwweDgwLDB4ODAsMHhiMywweDAyLDB4MjQsMHhkMSwweDBiLDB4MzAsMHgwMiwweDhkLDB4ODAsMHg5MywweDEwIH19LAotIHsxNiwgMHhiNzIwLCAwLCB7MHgyMCwweGNlLDB4OGIsMHgzMCwweDAyLDB4Y2MsMHg4NCwweGExLDB4MjEsMHgyYywweGNjLDB4MGEsMHgzMCwweDBhLDB4NGMsMHgwMCB9fSwKLSB7MTYsIDB4YjczMCwgMCwgezB4OTMsMHgwMCwweDI4LDB4YzAsMHgwOCwweDNjLDB4MDIsMHgyMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGI3NDAsIDAsIHsweGMwLDB4MTUsMHhhYywweDEwLDB4YmIsMHgwMiwweDZhLDB4ZTAsMHgwYiwweGIwLDB4MDIsMHhlMSwweDA4LDB4YmIsMHgwNCwweDJhIH19LAotIHsxNiwgMHhiNzUwLCAwLCB7MHhjMCwweDBhLDB4YjAsMHgxMiwweDhjLDB4MDAsMHg5YiwweDAwLDB4MmEsMHhjMCwweDBiLDB4YjEsMHgwNiwweGM4LDB4ODAsMHg4YiB9fSwKLSB7MTYsIDB4Yjc2MCwgMCwgezB4ODIsMHg2YSwweGMxLDB4MGEsMHgzMCwweDAyLDB4YWMsMHgxOCwweDg4LDB4MTAsMHgyYSwweDQ4LDB4MDgsMHg4MCwweDAyLDB4MzAgfX0sCi0gezE2LCAweGI3NzAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDE1LDB4ZWMsMHgwMCwweGZiLDB4MDAsMHhhYSwweDMwIH19LAotIHsxNiwgMHhiNzgwLCAwLCB7MHgwZiwweGIwLDB4MDMsMHhhOCwweDAwLDB4ZjMsMHgwMSwweGI2LDB4YzEsMHgwYiwweGIwLDB4MDIsMHhhYywweDA4LDB4NGIsMHgwMCB9fSwKLSB7MTYsIDB4Yjc5MCwgMCwgezB4YjIsMHhjMCwweDBmLDB4YjgsMHgwMiwweGVjLDB4MTAsMHhhOSwweDgxLDB4M2UsMHhjMCwweDBmLDB4YjAsMHgwMywweDBjLDB4MDAgfX0sCi0gezE2LCAweGI3YTAsIDAsIHsweGNiLDB4YTAsMHgxOCwweGQwLDB4MGMsMHhiMCwweDAzLDB4MTAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiN2IwLCAwLCB7MHhlMCwweDAxLDB4YmMsMHgwOCwweGY3LDB4MDAsMHgzNywweDAwLDB4MGYsMHhmMCwweDAzLDB4ZmQsMHgwMCwweGZmLDB4MDAsMHgzNyB9fSwKLSB7MTYsIDB4YjdjMCwgMCwgezB4YzAsMHgwZiwweGIwLDB4MDcsMHg3YywweDAwLDB4ZTcsMHgwMCwweDNlLDB4YzAsMHgwYSwweGYwLDB4MDMsMHhmZSwweDAwLDB4ZjcgfX0sCi0gezE2LCAweGI3ZDAsIDAsIHsweDAwLDB4MzYsMHhjMCwweDBjLDB4ZjAsMHgwMywweGZjLDB4MDAsMHhmZiwweDgwLDB4MzcsMHhlMCwweDBmLDB4YTAsMHgwMywweGI4IH19LAotIHsxNiwgMHhiN2UwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweGFjLDB4MDAsMHhkYiwweDAwLDB4MzYsMHgwMCB9fSwKLSB7MTYsIDB4YjdmMCwgMCwgezB4MGUsMHhiMCwweDAzLDB4NjksMHgwMCwweGRiLDB4MDksMHgzYSwweGMwLDB4MWYsMHgzMCwweDIzLDB4ZWMsMHgwOCwweGNiLDB4MjAgfX0sCi0gezE2LCAweGI4MDAsIDAsIHsweDM0LDB4YzAsMHgyZiwweGIwLDB4MDMsMHhlYywweDQwLDB4ZWIsMHg0OCwweDNlLDB4YzQsMHg0ZCwweGIwLDB4OGIsMHg2YywweDAwIH19LAotIHsxNiwgMHhiODEwLCAwLCB7MHhjYiwweDAwLDB4MzIsMHg5MCwweDBmLDB4MzAsMHgwMywweDkwLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YjgyMCwgMCwgezB4YzgsMHgwNSwweDNjLDB4MDAsMHg4ZiwweDAwLDB4MjIsMHgwMCwweDQ4LDB4ZjAsMHgyMiwweDJjLDB4MDAsMHg4ZiwweDAwLDB4MjMgfX0sCi0gezE2LCAweGI4MzAsIDAsIHsweGUwLDB4OGIsMHhmNSwweDEwLDB4M2MsMHgwMCwweDhmLDB4ODAsMHgyMywweGYwLDB4ODAsMHg5OCwweDAzLDB4MmQsMHg0NCwweGRiIH19LAotIHsxNiwgMHhiODQwLCAwLCB7MHgwMCwweDIzLDB4ZDQsMHgwOCwweGY4LDB4MDIsMHgzYywweDAwLDB4ODMsMHgwMCwweDIyLDB4YzAsMHgwYiwweGE0LDB4ODIsMHgzMiB9fSwKLSB7MTYsIDB4Yjg1MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg0YywweDAwLDB4OTMsMHgwMCwweDI0LDB4MDAgfX0sCi0gezE2LCAweGI4NjAsIDAsIHsweDBiLDB4MzAsMHgwMiwweDg0LDB4MDAsMHhiMywweDAxLDB4MjgsMHhmNiwweDA5LDB4MzQsMHgzMiwweDhjLDB4MDEsMHhiMywweGQwIH19LAotIHsxNiwgMHhiODcwLCAwLCB7MHgyNCwweGU4LDB4MGEsMHgzMSwweDBhLDB4ODYsMHgwMCwweDgzLDB4MDAsMHgyYSwweGUwLDB4MDAsMHgzMCwweDAyLDB4OGMsMHgwMCB9fSwKLSB7MTYsIDB4Yjg4MCwgMCwgezB4ODMsMHgwMCwweDI4LDB4YzAsMHg4OSwweDM4LDB4YTIsMHg3OCwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGI4OTAsIDAsIHsweDIwLDB4MDEsMHgxZSwweDAwLDB4OTcsMHg5NCwweDIzLDB4ZTAsMHgwOSwweDM4LDB4MDIsMHgzMiwweDAwLDB4OTcsMHhhMSwweDIxIH19LAotIHsxNiwgMHhiOGEwLCAwLCB7MHhlNCwweDBiLDB4NzgsMHgwMiwweDFlLDB4NDAsMHhiNywweGEwLDB4MjUsMHhlYywweDA4LDB4ZmMsMHgwMiwweDNhLDB4MDAsMHg5MyB9fSwKLSB7MTYsIDB4YjhiMCwgMCwgezB4YjgsMHgyMSwweGUwLDB4MDgsMHg3OCwweDgyLDB4OWUsMHg0MCwweDg3LDB4YzAsMHgyOSwweGEwLDB4MGIsMHg1OCwweDAyLDB4NDggfX0sCi0gezE2LCAweGI4YzAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MmMsMHgwMCwweGRiLDB4MDAsMHgzNCwweDIwIH19LAotIHsxNiwgMHhiOGQwLCAwLCB7MHgwZiwweDNhLDB4MDMsMHg4ZSwweDAwLDB4ZjMsMHhiMCwweDI4LDB4YzQsMHgwYiwweDNhLDB4MDMsMHhhZSwweDQwLDB4ZjMsMHhhMCB9fSwKLSB7MTYsIDB4YjhlMCwgMCwgezB4MzQsMHhlZSwweDBmLDB4MzAsMHgyMywweDg0LDB4MDAsMHhlMywweGYwLDB4MzgsMHhjMCwweDBjLDB4YjAsMHgwYiwweDhlLDB4NDIgfX0sCi0gezE2LCAweGI4ZjAsIDAsIHsweGMzLDB4MDAsMHgzOCwweGMwLDB4MGYsMHgzMCwweDYzLDB4ZDIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiOTAwLCAwLCB7MHg0MCwweDFkLDB4YmMsMHgwMCwweGViLDB4NDIsMHgzYSwweGM0LDB4MWUsMHhiMSwweDA3LDB4ODgsMHhkMSwweGUzLDB4MDAsMHgzZiB9fSwKLSB7MTYsIDB4YjkxMCwgMCwgezB4YzUsMHg4ZiwweGYxLDB4NjMsMHhhYywweDEwLDB4Y2IsMHg1MCwweDNiLDB4YzMsMHgwZiwweGQxLDB4MDMsMHhjOCwweDAwLDB4YmIgfX0sCi0gezE2LCAweGI5MjAsIDAsIHsweDIwLDB4M2IsMHhjMCwweDJlLDB4ZjEsMHgwMywweDFjLDB4MDAsMHhmZiwweDAwLDB4MzcsMHhjMCwweDRmLDB4ZDEsMHgwMywweDkwIH19LAotIHsxNiwgMHhiOTMwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGVjLDB4NDAsMHhmYiwweDQ0LDB4YjIsMHhjMCB9fSwKLSB7MTYsIDB4Yjk0MCwgMCwgezB4NGYsMHhiMywweDQzLDB4MjQsMHgwMCwweGRiLDB4MTAsMHgzNiwweGMwLDB4NGMsMHhiZSwweDIyLDB4NmQsMHgyMCwweGNiLDB4NTAgfX0sCi0gezE2LCAweGI5NTAsIDAsIHsweDNlLDB4YzksMHg0YywweGIwLDB4MTMsMHgyNCwweDAwLDB4Y2YsMHgyMCwweDMzLDB4YzAsMHgzZCwweGYwLDB4MjMsMHgyYywweGMwIH19LAotIHsxNiwgMHhiOTYwLCAwLCB7MHhkOCwweDAwLDB4M2UsMHg0MCwweDhmLDB4MzAsMHgwMywweDJhLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Yjk3MCwgMCwgezB4NDgsMHgxMSwweDljLDB4MDQsMHhiNywweDYwLDB4MjEsMHhjMSwweDhiLDB4ZjAsMHhhMiwweDE0LDB4MTAsMHg4NywweDAwLDB4MGYgfX0sCi0gezE2LCAweGI5ODAsIDAsIHsweGM4LDB4MGQsMHg3MSwweDBhLDB4MWQsMHgwMCwweDg3LDB4MDAsMHgyYywweGNjLDB4NDgsMHg3MCwweDJhLDB4OWMsMHgwMCwweDg3IH19LAotIHsxNiwgMHhiOTkwLCAwLCB7MHgwYywweDIxLDB4YzAsMHgwYywweDcyLDB4MDIsMHgwYywweGEyLDB4ODcsMHgwMCwweDJkLDB4YzAsMHgwYiwweDcwLDB4MDIsMHgxMiB9fSwKLSB7MTYsIDB4YjlhMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHg5ZSwweDAwLDB4YjMsMHg4MCwweDIxLDB4ZTAgfX0sCi0gezE2LCAweGI5YjAsIDAsIHsweDBiLDB4N2EsMHgwMiwweGRlLDB4MDAsMHhiNywweDgxLDB4MDUsMHhlNCwweDA4LDB4NzksMHgwMiwweDVjLDB4ODAsMHg4NywweGEwIH19LAotIHsxNiwgMHhiOWMwLCAwLCB7MHgyZCwweGUwLDB4MDgsMHhmOCwweDA2LDB4YjYsMHgwMCwweDg3LDB4ODAsMHgyMCwweGU0LDB4MGEsMHg3YiwweDEyLDB4MWUsMHg5MCB9fSwKLSB7MTYsIDB4YjlkMCwgMCwgezB4OTcsMHg4OCwweDJkLDB4ZTAsMHgwYiwweDc4LDB4MGUsMHgzMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGI5ZTAsIDAsIHsweDQ4LDB4MTQsMHhjYywweDAwLDB4YjMsMHgwMCwweDIwLDB4ZDAsMHgwYiwweGIwLDB4MDIsMHg2ZSwweDM0LDB4YTMsMHgwMCwweDJjIH19LAotIHsxNiwgMHhiOWYwLCAwLCB7MHhjMSwweDA5LDB4MzAsMHgwMiwweDRjLDB4MDAsMHg4MywweDAwLDB4MmMsMHhjMCwweDQ4LDB4MTAsMHgwMiwweDhkLDB4ODAsMHg4MyB9fSwKLSB7MTYsIDB4YmEwMCwgMCwgezB4YzAsMHgwMCwweGMwLDB4OGEsMHgzMCwweDEyLDB4MGMsMHgwMCwweDgwLDB4MDAsMHgyYywweDE2LDB4MGIsMHgzOCwweDAyLDB4MTIgfX0sCi0gezE2LCAweGJhMTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YTgsMHgwMCwweGZhLDB4MDAsMHgzMywweDg4IH19LAotIHsxNiwgMHhiYTIwLCAwLCB7MHgwZiwweGEwLDB4MDMsMHg3OSwweDkwLDB4ZmEsMHgwMSwweDM2LDB4ODAsMHgxYywweGEwLDB4MDMsMHg2OCwweDAwLDB4Y2EsMHgwMCB9fSwKLSB7MTYsIDB4YmEzMCwgMCwgezB4M2UsMHg4MSwweDJjLDB4YTAsMHgwYiwweGI5LDB4MGMsMHhjZSwweGUyLDB4YjIsMHg4MCwweDhlLDB4YTAsMHgwYiwweDI4LDB4MDAgfX0sCi0gezE2LCAweGJhNDAsIDAsIHsweGRhLDB4ODAsMHgzYywweGIwLDB4MGYsMHhlMCwweDgzLDB4M2EsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiYTUwLCAwLCB7MHg0OCwweDAwLDB4ZTAsMHgwMCwweGYwLDB4MDAsMHgzZSwweDAwLDB4MGYsMHg4MCwweDAzLDB4YTAsMHgwMCwweGM4LDB4MDAsMHgyZSB9fSwKLSB7MTYsIDB4YmE2MCwgMCwgezB4MDAsMHgwZiwweDg0LDB4MjMsMHhhMCwweDAwLDB4ZjAsMHg0MCwweDNlLDB4MTAsMHgwZiwweDg0LDB4MDMsMHhlMSwweDAyLDB4ZjggfX0sCi0gezE2LCAweGJhNzAsIDAsIHsweDQ4LDB4M2UsMHgxMCwweDBjLDB4ODAsMHgwMywweGMwLDB4MTAsMHhmOCwweDgwLDB4M2UsMHgwMCwweDBmLDB4MDAsMHgwMywweGQyIH19LAotIHsxNiwgMHhiYTgwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGU0LDB4MDAsMHhkOSwweDAwLDB4MzYsMHg0MiB9fSwKLSB7MTYsIDB4YmE5MCwgMCwgezB4MGYsMHg5MCwweDAzLDB4MjQsMHgxOCwweGY5LDB4MTAsMHgzYywweDQ4LDB4NjgsMHg5MiwweDEzLDB4ZTQsMHgwMCwweGE5LDB4MTEgfX0sCi0gezE2LCAweGJhYTAsIDAsIHsweGIyLDB4NjAsMHgwZSwweDkxLDB4MDMsMHgyNiwweDAwLDB4YzksMHgwMCwweDMyLDB4NjAsMHgwYywweDEwLDB4MDMsMHgyNCwweDA4IH19LAotIHsxNiwgMHhiYWIwLCAwLCB7MHhjOSwweDAwLDB4M2UsMHg0MCwweDBjLDB4OTAsMHgyMywweDAyLDB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YmFjMCwgMCwgezB4ODAsMHgwNCwweDY0LDB4MDAsMHg4OSwweDAwLDB4MjIsMHg0MCwweDBiLDB4OTAsMHgwMiwweGE0LDB4MDgsMHg4OSwweDAwLDB4MmUgfX0sCi0gezE2LCAweGJhZDAsIDAsIHsweDQyLDB4NDgsMHg5NCwweDAyLDB4ZTQsMHgwMCwweDg5LDB4ODAsMHgyMiwweDcwLDB4MDgsMHgxNCwweDIyLDB4YTQsMHgwMiwweDg5IH19LAotIHsxNiwgMHhiYWUwLCAwLCB7MHg0MiwweDJhLDB4NzAsMHgyOCwweDkwLDB4MGEsMHgyNCwweDAwLDB4YTksMHgwMCwweDJlLDB4NDAsMHgyOCwweDkwLDB4MDIsMHhhMCB9fSwKLSB7MTYsIDB4YmFmMCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHgwNCwweDAwLDB4OTksMHgwMCwweDI2LDB4YzAgfX0sCi0gezE2LCAweGJiMDAsIDAsIHsweDAzLDB4OTAsMHgwMiwweDI0LDB4MDEsMHhhOSwweDAwLDB4MGUsMHg0MCwweDBhLDB4OTAsMHg0NiwweGM0LDB4MGEsMHg4OSwweDAwIH19LAotIHsxNiwgMHhiYjEwLCAwLCB7MHgyMCwweDQ4LDB4MGEsMHg5MCwweDAyLDB4MDUsMHg4MCwweDgxLDB4NDEsMHhhMCwweDU4LDB4ODgsMHg5MCwweDAyLDB4MjQsMHgwOCB9fSwKLSB7MTYsIDB4YmIyMCwgMCwgezB4OGQsMHg4MCwweDJmLDB4YzAsMHgwOCwweDk4LDB4MDIsMHgwNiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGJiMzAsIDAsIHsweDA4LDB4MDQsMHgwNCwweDgwLDB4ODEsMHgyMCwweDIwLDB4NDAsMHgwYiwweDEyLDB4MDIsMHg4NCwweDAwLDB4ODEsMHgyNCwweDJjIH19LAotIHsxNiwgMHhiYjQwLCAwLCB7MHg1OCwweDBhLDB4MzIsMHgyMiwweGM1LDB4ODQsMHhhMSwweDAwLDB4MjAsMHg1MCwweDA4LDB4YjAsMHgwMiwweDg1LDB4MDgsMHg4MSB9fSwKLSB7MTYsIDB4YmI1MCwgMCwgezB4NDAsMHgyMCwweDVhLDB4MDgsMHgxNiwweDgyLDB4MDQsMHgwMCwweGE1LDB4MDAsMHgyZCwweDQwLDB4MDgsMHgxMiwweDgyLDB4ODIgfX0sCi0gezE2LCAweGJiNjAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjEsMHg0MCwweGQ4LDB4NTAsMHgzNiwweDE0IH19LAotIHsxNiwgMHhiYjcwLCAwLCB7MHgwZiwweDg1LDB4MjMsMHgwMSwweDQwLDB4ZTgsMHgwMCwweDNlLDB4MDAsMHgwZSwweDgwLDB4NDMsMHhjMCwweDA4LDB4Y2EsMHgwMCB9fSwKLSB7MTYsIDB4YmI4MCwgMCwgezB4MzIsMHg4MCwweDBlLDB4ODAsMHgwMywweDIwLDB4MDAsMHhjMCwweDAwLDB4MzIsMHgwOCwweDJjLDB4MDIsMHgwMywweDIwLDB4MDggfX0sCi0gezE2LCAweGJiOTAsIDAsIHsweGM4LDB4MDAsMHgzZiwweDAwLDB4MGMsMHg4MiwweDAzLDB4MmUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiYmEwLCAwLCB7MHg5OCwweDFkLDB4ZTQsMHg0MCwweGY5LDB4MTAsMHgzZiwweDQwLDB4MGYsMHg5MSwweDQzLDB4ZjQsMHgwNCwweGY5LDB4MTAsMHgzZSB9fSwKLSB7MTYsIDB4YmJiMCwgMCwgezB4NDQsMHgwZCwweDExLDB4MDMsMHhlNCwweDQ0LDB4NTksMHg0MCwweDNlLDB4NTAsMHg0ZiwweDUwLDB4NDMsMHhkNCwweDAyLDB4ZmQgfX0sCi0gezE2LCAweGJiYzAsIDAsIHsweDQwLDB4M2UsMHg0MCwweDBmLDB4OTAsMHgwYiwweGU1LDB4MDAsMHhmOSwweDAwLDB4M2UsMHg0MCwweDRmLDB4ZDAsMHgwMywweGU2IH19LAotIHsxNiwgMHhiYmQwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweDY2LDB4NjAsMHhjOSwweGUwLDB4MzIsMHg0NCB9fSwKLSB7MTYsIDB4YmJlMCwgMCwgezB4MGYsMHg5YywweDAzLDB4ZTQsMHgwMCwweGRkLDB4ODQsMHgzZiwweDY4LDB4OGYsMHhkOCwweDQyLDB4ZTYsMHhhMCwweGRkLDB4YTQgfX0sCi0gezE2LCAweGJiZjAsIDAsIHsweDMzLDB4NjgsMHgwZCwweDcwLDB4MDMsMHgyNSwweDAwLDB4YzksMHhlMCwweGIyLDB4NjgsMHgwYywweDlhLDB4YzMsMHgyNiwweDAwIH19LAotIHsxNiwgMHhiYzAwLCAwLCB7MHg5OSwweDAwLDB4M2UsMHg0MCwweDBmLDB4OWEsMHgwMywweDA2LDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YmMxMCwgMCwgezB4MzgsMHgxMCwweGUzLDB4MDAsMHg4OCwweDgwLDB4YWEsMHgyMCwweDhiLDB4ODgsMHgwMiwweGUyLDB4ODgsMHhiOCwweDAxLDB4MmUgfX0sCi0gezE2LCAweGJjMjAsIDAsIHsweDAwLDB4MGIsMHg4NCwweDAyLDB4ZTIsMHhiMCwweDg4LDB4NTAsMHgyMiwweDE0LDB4MDgsMHg4MCwweDAyLDB4ODIsMHg4MCwweDg4IH19LAotIHsxNiwgMHhiYzMwLCAwLCB7MHhlMCwweGI2LDB4M2EsMHgwOCwweGNlLDB4YTIsMHgyMSwweDA4LDB4ODgsMHgwMCwweDJlLDB4MDAsMHgwYiwweGM0LDB4MDIsMHgwZSB9fSwKLSB7MTYsIDB4YmM0MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhjNCwweDgwLDB4ODEsMHg2MCwweDY4LDB4NDggfX0sCi0gezE2LCAweGJjNTAsIDAsIHsweDViLDB4MTYsMHgwMiwweGM0LDB4MjAsMHhhMSwweDQwLDB4NmMsMHg1MCwweDBiLDB4MTQsMHgwMiwweGM0LDB4MDAsMHhhMSwweDAwIH19LAotIHsxNiwgMHhiYzYwLCAwLCB7MHgyNCwweDQwLDB4MGIsMHg5MCwweDIyLDB4MTQsMHg5MCwweDg1LDB4NDIsMHgyMSwweDUwLDB4NWIsMHg1MCwweDFhLDB4MTUsMHgwMCB9fSwKLSB7MTYsIDB4YmM3MCwgMCwgezB4OTUsMHgwMCwweDJkLDB4NDAsMHgwYiwweDUxLDB4MGEsMHg4MiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGJjODAsIDAsIHsweDE4LDB4MTUsMHhhNCwweDAxLDB4ODksMHgwMCwweDJhLDB4NDAsMHgwYiwweDkwLDB4NDYsMHhlNCwweDAwLDB4YjksMHgwMSwweDJlIH19LAotIHsxNiwgMHhiYzkwLCAwLCB7MHg0MCwweDBiLDB4OTAsMHgyMCwweGU0LDB4MDAsMHhiOSwweDAwLDB4MjYsMHg0MCwweDE4LDB4YjgsMHgwMiwweGE0LDB4MDIsMHg4ZCB9fSwKLSB7MTYsIDB4YmNhMCwgMCwgezB4MDgsMHgyZiwweDQwLDB4OGIsMHhkMCwweDAyLDB4MjQsMHgwMCwweDhkLDB4MjAsMHgyZiwweDQ4LDB4MGIsMHhkMCwweDAyLDB4ODYgfX0sCi0gezE2LCAweGJjYjAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4ZTQsMHgwMCwweGM5LDB4MDAsMHgzMiwweDQwIH19LAotIHsxNiwgMHhiY2MwLCAwLCB7MHgwZiwweDkwLDB4MDIsMHhlNCwweDEwLDB4NDksMHgwMCwweDNlLDB4NDAsMHgwZiwweDkwLDB4MDIsMHhlNCwweDAwLDB4ZTksMHgwMSB9fSwKLSB7MTYsIDB4YmNkMCwgMCwgezB4MzYsMHg0MCwweDBmLDB4MTgsMHgxMywweDI0LDB4MTAsMHhjOSwweDgyLDB4MzIsMHg0MCwweDdmLDB4OTAsMHgyMywweDI0LDB4MDAgfX0sCi0gezE2LCAweGJjZTAsIDAsIHsweGQ5LDB4MjAsMHgzZSwweDcyLDB4MGYsMHg5MCwweDAzLDB4YTgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiY2YwLCAwLCB7MHgyOCwweDAxLDB4ODQsMHgwMiwweGYxLDB4MDEsMHgxNiwweDQwLDB4NGYsMHg5MCwweDAzLDB4ZTUsMHgxMCwweGY5LDB4MDgsMHgyZSB9fSwKLSB7MTYsIDB4YmQwMCwgMCwgezB4NDAsMHgwZiwweDkwLDB4MTMsMHhlNCwweDAwLDB4YzksMHgwMSwweDNhLDB4NDAsMHgxZiwweDkwLDB4MDMsMHhlNCwweDAwLDB4ZjkgfX0sCi0gezE2LCAweGJkMTAsIDAsIHsweDIwLDB4MzQsMHg0MCwweDhjLDB4OTAsMHgwMywweGM0LDB4MDgsMHhmOSwweDAwLDB4M2UsMHg2MCwweDBmLDB4MTAsMHgwMywweDRhIH19LAotIHsxNiwgMHhiZDIwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxMCwweGEwLDB4MDgsMHhmOCwweDAwLDB4M2UsMHgwMCB9fSwKLSB7MTYsIDB4YmQzMCwgMCwgezB4MGMsMHg4MCwweDAzLDB4NjAsMHgwMCwweGU4LDB4MDAsMHgzZSwweDAyLDB4NGYsMHg4MCwweDEzLDB4ZTAsMHgwMCwweGQwLDB4MDAgfX0sCi0gezE2LCAweGJkNDAsIDAsIHsweDNlLDB4MDAsMHgwZSwweDgxLDB4MDMsMHgzMCwweDAwLDB4Y2MsMHg0MCwweDMzLDB4MDAsMHgwYywweGMwLDB4MGIsMHgyMCwweDIwIH19LAotIHsxNiwgMHhiZDUwLCAwLCB7MHhlOCwweDAwLDB4M2UsMHgxMCwweDBmLDB4YzAsMHgwMywweGNhLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YmQ2MCwgMCwgezB4MjgsMHgwNSwweDI4LDB4MDQsMHhiYSwweDAwLDB4MjIsMHg4MCwweDA4LDB4YTAsMHgwMiwweDI4LDB4MDAsMHhiZSwweGM4LDB4NmYgfX0sCi0gezE2LCAweGJkNzAsIDAsIHsweDgwLDB4MGIsMHhlMSwweDIyLDB4YTgsMHgwMCwweDhlLDB4MjAsMHgyZiwweDgwLDB4MGIsMHhlMCwweDIzLDB4NjgsMHgwMCwweDhhIH19LAotIHsxNiwgMHhiZDgwLCAwLCB7MHgwMCwweDIyLDB4ODAsMHgwOCwweGUwLDB4MDIsMHgyOSwweDAwLDB4OGEsMHgwMCwweDJlLDB4YTgsMHgwYiwweGEwLDB4MDAsMHhjYSB9fSwKLSB7MTYsIDB4YmQ5MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg0YywweDAwLDB4YjMsMHgwMCwweDI0LDB4YzAgfX0sCi0gezE2LCAweGJkYTAsIDAsIHsweDA5LDB4MzAsMHgwMiwweDBjLDB4MDAsMHhiMywweGMxLDB4MmMsMHhlMCwweDBiLDB4MzgsMHg1NiwweDJjLDB4MTAsMHgxMywweDAwIH19LAotIHsxNiwgMHhiZGIwLCAwLCB7MHgyZSwweGMwLDB4MGEsMHgzOCwweDZhLDB4MjAsMHgwMCwweDg4LDB4MDAsMHgyMCwweDAwLDB4MDksMHg4MCwweDIyLDB4NGMsMHg0MiB9fSwKLSB7MTYsIDB4YmRjMCwgMCwgezB4YTMsMHgwMCwweDJjLDB4ZTAsMHgwYiwweDI0LDB4ODAsMHhjYSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGJkZDAsIDAsIHsweGEwLDB4MDEsMHgxYywweDA4LDB4YjcsMHgyNCwweDJmLDB4ZTAsMHgwOSwweDM5LDB4MDIsMHgxYywweDAxLDB4YjYsMHgwMCwweDJkIH19LAotIHsxNiwgMHhiZGUwLCAwLCB7MHg5MCwweDBiLDB4NjAsMHg5MiwweDhlLDB4MDAsMHg4NiwweDgyLDB4MmQsMHhjMiwweDBiLDB4ZjAsMHgwMiwweDVjLDB4MDYsMHg4NyB9fSwKLSB7MTYsIDB4YmRmMCwgMCwgezB4MDAsMHg2MCwweGMwLDB4MjksMHg3MCwweDAyLDB4NWMsMHgwMCwweDg2LDB4MDAsMHgyZCwweGMwLDB4MGIsMHg2MCwweDAyLDB4ZTggfX0sCi0gezE2LCAweGJlMDAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MWYsMHg0MCwweGYzLDB4ZTQsMHgzZCwweGU4IH19LAotIHsxNiwgMHhiZTEwLCAwLCB7MHgwZCwweDc5LDB4MGIsMHgxZSwweGMwLDB4NjcsMHg4MCwweDJkLDB4ZTAsMHgwZiwweDcwLDB4NDMsMHgxZCwweDgwLDB4ZDUsMHgwMCB9fSwKLSB7MTYsIDB4YmUyMCwgMCwgezB4M2QsMHg2MCwweDBlLDB4NzgsMHgwMywweDFlLDB4MDAsMHhjZCwweDgwLDB4MzEsMHhlMCwweDBkLDB4YzgsMHgwMywweDRlLDB4MDAgfX0sCi0gezE2LCAweGJlMzAsIDAsIHsweGU1LDB4ODAsMHgzZCwweGUwLDB4MGYsMHg0OCwweDAzLDB4ZWEsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiZTQwLCAwLCB7MHgwOCwweDFkLDB4YWMsMHg4MCwweGZiLDB4MDAsMHg3MCwweGMwLDB4NmUsMHhiNiwweDEzLDB4YWQsMHg0MCwweGZhLDB4MDAsMHgzZSB9fSwKLSB7MTYsIDB4YmU1MCwgMCwgezB4YzAsMHgwZiwweDIwLDB4NDMsMHgyZCwweDE4LDB4NTksMHgwMCwweDNlLDB4MDAsMHgwMywweGIwLDB4MGIsMHhlMCwweDAwLDB4ZmEgfX0sCi0gezE2LCAweGJlNjAsIDAsIHsweDAwLDB4YmUsMHgwMCwweDBlLDB4YjAsMHgxMywweGFjLDB4MDAsMHhmOCwweDAwLDB4M2UsMHhjMCwweDBmLDB4ODAsMHgwMywweGMyIH19LAotIHsxNiwgMHhiZTcwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweGZlLDB4NDAsMHhmZiwweDgwLDB4M2YsMHhlNiB9fSwKLSB7MTYsIDB4YmU4MCwgMCwgezB4MGYsMHhmOCwweDIzLDB4MmUsMHgwNCwweGZmLDB4OTAsMHgzZiwweGU0LDB4MGQsMHhiYSwweDAzLDB4ZmYsMHg0MCwweGNmLDB4ODAgfX0sCi0gezE2LCAweGJlOTAsIDAsIHsweDIyLDB4ZTEsMHgwYywweDM5LDB4NDMsMHgzMiwweDEwLDB4ZWMsMHg5MCwweDMzLDB4MjAsMHg4ZSwweGM4LDB4MDMsMHhmMiwweDAwIH19LAotIHsxNiwgMHhiZWEwLCAwLCB7MHhkZiwweDgwLDB4M2YsMHg2MCwweDBmLDB4ZjgsMHgwMywweGMwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YmViMCwgMCwgezB4YTgsMHgxMSwweDljLDB4NDAsMHhiNywweDkwLDB4M2MsMHhlMCwweDBiLDB4M2EsMHgwMywweDRlLDB4ODAsMHhmMywweGIxLDB4MmQgfX0sCi0gezE2LCAweGJlYzAsIDAsIHsweDA0LDB4NGMsMHgzOCwweDIzLDB4YWUsMHgwMCwweDgwLDB4ODAsMHgzNCwweGU4LDB4NGQsMHg3OCwweDAyLDB4M2UsMHg4MCwweDg3IH19LAotIHsxNiwgMHhiZWQwLCAwLCB7MHhhMCwweDI5LDB4YzAsMHgwOCwweDcwLDB4MDIsMHhjMCwweDgwLDB4ODYsMHgwMiwweDJkLDB4NDEsMHgwYiwweDcwLDB4MDIsMHhlYSB9fSwKLSB7MTYsIDB4YmVlMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5YywweDQ4LDB4MzcsMHgwMSwweDJkLDB4YzkgfX0sCi0gezE2LCAweGJlZjAsIDAsIHsweDBiLDB4NzIsMHgyMiwweDFjLDB4ODQsMHhiNSwweDE2LDB4MGQsMHhjNCwweDE5LDB4NDAsMHg0MiwweGRjLDB4ODAsMHg4NywweDAwIH19LAotIHsxNiwgMHhiZjAwLCAwLCB7MHgyMCwweGM4LDB4ODgsMHg3MywweDBhLDB4OWMsMHg4MCwweGI1LDB4MDAsMHgyOSwweGMwLDB4MGEsMHg0OCwweDAyLDB4YzAsMHgwMiB9fSwKLSB7MTYsIDB4YmYxMCwgMCwgezB4OTUsMHgwMCwweDJkLDB4NDIsMHgwYiwweDU4LDB4MDIsMHhjMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGJmMjAsIDAsIHsweDIwLDB4MTQsMHhjYywweDAwLDB4YjMsMHgwMCwweDJhLDB4ZTAsMHgwYiwweDMwLDB4MDIsMHg0YywweDIwLDB4YTEsMHgwMSwweDI0IH19LAotIHsxNiwgMHhiZjMwLCAwLCB7MHhjMSwweDA4LDB4MDAsMHgwMiwweDhjLDB4MDAsMHg4MSwweDAwLDB4MjQsMHg4MCwweDA5LDB4MzgsMHgwYSwweDYwLDB4ODAsMHg5MiB9fSwKLSB7MTYsIDB4YmY0MCwgMCwgezB4NDAsMHgyYSwweDAwLDB4MGEsMHgzMCwweDAyLDB4YzAsMHgwMCwweDgwLDB4YzgsMHgyYywweDcyLDB4MGIsMHgxNCwweDAyLDB4YzggfX0sCi0gezE2LCAweGJmNTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YmMsMHgwMCwweGZmLDB4MDAsMHgyZiwweGY0IH19LAotIHsxNiwgMHhiZjYwLCAwLCB7MHg4ZiwweGYwLDB4MDMsMHgzYywweDAwLDB4YjksMHgwMCwweDNlLDB4NDAsMHgwOSwweDkwLDB4MDMsMHhmYywweDAyLDB4YzMsMHgwMSB9fSwKLSB7MTYsIDB4YmY3MCwgMCwgezB4MzIsMHhjMCwweDQ4LDB4YjgsMHgxMywweGExLDB4MDAsMHhiYSwweDAwLDB4MmEsMHgwMCwweDBhLDB4YTAsMHgwNywweGVjLDB4MDAgfX0sCi0gezE2LCAweGJmODAsIDAsIHsweGRiLDB4YzgsMHgzZSwweDkwLDB4MGYsMHhhMiwweDAyLDB4ZWEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiZjkwLCAwLCB7MHg4MCwweDAwLDB4ZWMsMHgwMCwweGZiLDB4MDIsMHgzZSwweGM0LDB4MGYsMHhiMCwweDYzLDB4ZWMsMHgwMSwweGY4LDB4NDAsMHgzZSB9fSwKLSB7MTYsIDB4YmZhMCwgMCwgezB4NDAsMHgwYiwweDgwLDB4MDMsMHhjYywweDAwLDB4ZmEsMHg0MiwweDNlLDB4YzAsMHgwZiwweGI1LDB4MDAsMHhhYywweDU4LDB4ZTkgfX0sCi0gezE2LCAweGJmYjAsIDAsIHsweDgyLDB4M2UsMHhjMCwweDFkLDB4OTAsMHgwMywweGVjLDB4MDQsMHhmYSwweDAwLDB4M2UsMHg4MCwweDBmLDB4YTAsMHgwMywweGUwIH19LAotIHsxNiwgMHhiZmMwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGZjLDB4MGMsMHhkZiwweDAwLDB4N2YsMHhjMCB9fSwKLSB7MTYsIDB4YmZkMCwgMCwgezB4MmMsMHhmMCwweDAzLDB4N2MsMHgwMSwweGM3LDB4MDAsMHgzMywweDQwLDB4OGYsMHhkMCwweDAzLDB4ZmMsMHgwMCwweGQ4LDB4MDAgfX0sCi0gezE2LCAweGJmZTAsIDAsIHsweDE1LDB4NDQsMHgwYywweGUwLDB4MWIsMHgzYywweDAwLDB4Y2IsMHgwZSwweDMzLDB4YzAsMHg1YywweDYyLDB4MDIsMHgxYywweDAyIH19LAotIHsxNiwgMHhiZmYwLCAwLCB7MHhjNSwweDAwLDB4MmIsMHg4MCwweDBmLDB4YzAsMHg4NywweDgwLDB4NDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YzAwMCwgMCwgezB4ODEsMHg0NCwweDZjLDB4MTAsMHhiYiwweDAwLDB4MmUsMHhjMCwweDA4LDB4YjAsMHg1MiwweDBjLDB4MDEsMHhmYSwweGM0LDB4MjIgfX0sCi0gezE2LCAweGMwMTAsIDAsIHsweDYxLDB4MGIsMHg4OCwweDAzLDB4NmMsMHgwMCwweDg4LDB4NDcsMHgyYSwweDAwLDB4MGUsMHgxYywweDAyLDB4MjAsMHgwMiwweDg4IH19LAotIHsxNiwgMHhjMDIwLCAwLCB7MHgwMCwweGFhLDB4MDAsMHgyOCwweDkwLDB4MGEsMHgyYywweDA0LDB4YTgsMHgwMCwweDIyLDB4OTAsMHgwYiwweDgwLDB4MDIsMHhlMCB9fSwKLSB7MTYsIDB4YzAzMCwgMCwgezB4NDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDEsMHgyYywweDAwLDB4YmIsMHgwMCwweDJlLDB4YzEgfX0sCi0gezE2LCAweGMwNDAsIDAsIHsweDA4LDB4MzAsMHgxMiwweDZjLDB4MDAsMHg4OCwweDg4LDB4MmEsMHgzMCwweDBiLDB4YjgsMHgwMiwweGVjLDB4MDAsMHg5YiwweDA4IH19LAotIHsxNiwgMHhjMDUwLCAwLCB7MHgyYSwweDQwLDB4MDgsMHhiOCwweDAyLDB4MjAsMHgwMCwweDgyLDB4MTAsMHgyMiwweDAwLDB4MDgsMHhhMCwweDIyLDB4YTAsMHgwMCB9fSwKLSB7MTYsIDB4YzA2MCwgMCwgezB4OGIsMHgwMCwweDJhLDB4MDIsMHgwYiwweGIwLDB4MDIsMHhlMCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGMwNzAsIDAsIHsweDA4LDB4MDAsMHgwYywweDAwLDB4YjMsMHgyMCwweDJjLDB4YzIsMHgwOCwweDM2LDB4MDIsMHgyYywweGMwLDB4YTAsMHgwOCwweDIwIH19LAotIHsxNiwgMHhjMDgwLCAwLCB7MHgwMCwweDBiLDB4MzMsMHg0NiwweGNkLDB4MjgsMHg4MCwweDIwLDB4MjgsMHhjMCwweDBiLDB4MzIsMHgwMiwweDBjLDB4MjAsMHg4MSB9fSwKLSB7MTYsIDB4YzA5MCwgMCwgezB4MzAsMHgyOCwweGMwLDB4MDgsMHgxMCwweDAyLDB4ODEsMHgwMCwweGFhLDB4MDAsMHgyOCwweDAwLDB4MDMsMHgzMCwweDAyLDB4YzIgfX0sCi0gezE2LCAweGMwYTAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBjLDB4N2MsMHgwMCwweGZiLDB4MjgsMHgyZSwweGNjIH19LAotIHsxNiwgMHhjMGIwLCAwLCB7MHgwYywweDcwLDB4NTMsMHg3ZCwweDA5LDB4ODgsMHgwMCwweGJhLDB4MDAsMHgwZiwweDgwLDB4MDMsMHhmZCwweDgwLDB4ZGEsMHg2MCB9fSwKLSB7MTYsIDB4YzBjMCwgMCwgezB4M2EsMHg1MCwweDhjLDB4YTIsMHg4MywweDJjLDB4ODAsMHg0YiwweDIwLDB4MzAsMHhjMCwweDI4LDB4YTAsMHgwMywweGExLDB4MDAgfX0sCi0gezE2LCAweGMwZDAsIDAsIHsweGM5LDB4MDAsMHgzYSwweDAwLDB4MGYsMHg5MCwweDAzLDB4YzAsMHgwMywweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjMGUwLCAwLCB7MHhhMCwweDFkLDB4ZmMsMHgwNCwweGZiLDB4MDAsMHg3ZSwweGM5LDB4MGIsMHhiNiwweDAzLDB4ZmMsMHhjMCwweGY4LDB4MGMsMHgzZiB9fSwKLSB7MTYsIDB4YzBmMCwgMCwgezB4MDAsMHg0ZiwweGMzLDB4NDMsMHgyYywweDAwLDB4YjgsMHgzOCwweDNmLDB4OGUsMHg1ZSwweGYwLDB4NDMsMHhlMCwweDEwLDB4ZjggfX0sCi0gezE2LCAweGMxMDAsIDAsIHsweDMwLDB4M2YsMHgwMSwweDBmLDB4ZDAsMHgwMywweDcwLDB4MDAsMHhmYywweDAwLDB4MzcsMHgwMCwweDBkLDB4ZDAsMHgwNywweGU5IH19LAotIHsxNiwgMHhjMTEwLCAwLCB7MHgwMywweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGZjLDB4ZTAsMHhjYywweDgwLDB4MzMsMHhjMCB9fSwKLSB7MTYsIDB4YzEyMCwgMCwgezB4MGQsMHhmMCwweDgzLDB4ZmMsMHg4MCwweGRjLDB4OTQsMHgzMywweGMwLDB4MWMsMHhmMSwweDAzLDB4N2QsMHg4YywweGZmLDB4MzAgfX0sCi0gezE2LCAweGMxMzAsIDAsIHsweDNmLDB4MzAsMHg4ZiwweGM4LDB4MDMsMHg3ZSwweDEwLDB4Y2YsMHg5MCwweDM5LDB4YTAsMHg4ZCwweGY4LDB4MDMsMHhhZSwweDAwIH19LAotIHsxNiwgMHhjMTQwLCAwLCB7MHhkNSwweDgwLDB4MTMsMHhlMCwweDBjLDB4NTgsMHgwMywweGYwLDB4MDEsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YzE1MCwgMCwgezB4ODAsMHgxMCwweGRkLDB4MDgsMHg4OCwweDAwLDB4MjMsMHhjNCwweDA4LDB4ZmMsMHgwMiwweGVjLDB4YTgsMHhjYiwweDIwLDB4MjEgfX0sCi0gezE2LCAweGMxNjAsIDAsIHsweGMyLDB4MGQsMHhmNywweDEyLDB4MWMsMHg0MCwweGRmLDB4MzAsMHgyMiwweGEwLDB4MGIsMHg4OCwweDAyLDB4MmUsMHgwNCwweGRiIH19LAotIHsxNiwgMHhjMTcwLCAwLCB7MHgyMSwweDIyLDB4YzAsMHgwOCwweGI4LDB4MjIsMHgyZSwweDAwLDB4YjksMHg4MCwweDJhLDB4NjAsMHgwYSwweDg4LDB4MDIsMHhlMCB9fSwKLSB7MTYsIDB4YzE4MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4NDUsMHhjYywweDEwLDB4ODAsMHgyYywweDI4LDB4Y2EgfX0sCi0gezE2LCAweGMxOTAsIDAsIHsweDY4LDB4MzAsMHgwMiwweDhkLDB4MDAsMHg5YiwweDIwLDB4MjgsMHhjNCwweDA4LDB4MzIsMHgwMiwweGNjLDB4MTAsMHhiMywweDAwIH19LAotIHsxNiwgMHhjMWEwLCAwLCB7MHgyNCwweDA4LDB4MGIsMHg4MCwweDQyLDB4NmMsMHgwMCwweDgzLDB4MDAsMHgyYSwweGNhLDB4M2EsMHhiMCwweDAyLDB4OGMsMHgwNCB9fSwKLSB7MTYsIDB4YzFiMCwgMCwgezB4YjAsMHgwNCwweDI4LDB4YzAsMHgwOCwweDEwLDB4MDIsMHhlMywweDAxLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGMxYzAsIDAsIHsweGMwLDB4MTUsMHg4YywweDAyLDB4ODAsMHg0MCwweGFhLDB4YzAsMHgwOCwweGIwLDB4MDIsMHhlYywweDAwLDB4OWIsMHgyMCwweDJhIH19LAotIHsxNiwgMHhjMWQwLCAwLCB7MHhjMCwweDg4LDB4YjAsMHgwMiwweGFjLDB4MDAsMHg5YiwweDAwLDB4MjYsMHhlMCwweDAzLDB4ODAsMHg4MiwweDJjLDB4MjgsMHg5YiB9fSwKLSB7MTYsIDB4YzFlMCwgMCwgezB4MjAsMHgyMiwweGUxLDB4MGIsMHhiMiwweDAyLDB4YWMsMHg4MCwweGI4LDB4ODAsMHgyYSwweGMxLDB4MGEsMHg5OCwweDAyLDB4ZjAgfX0sCi0gezE2LCAweGMxZjAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDE1LDB4ZWMsMHgwMCwweGM4LDB4NTAsMHgzYSwweGMwIH19LAotIHsxNiwgMHhjMjAwLCAwLCB7MHgwZCwweGIwLDB4MDMsMHhlYywweDAwLDB4ZGIsMHg4OCwweGJhLDB4YzAsMHgwOCwweGIwLDB4MDMsMHg2YywweDA4LDB4ZmIsMHgwMCB9fSwKLSB7MTYsIDB4YzIxMCwgMCwgezB4MzYsMHg2MCwweDBmLDB4OGMsMHg2MywweDZjLDB4MDAsMHhjYiwweGMwLDB4M2EsMHg4MCwweDBlLDB4YmUsMHgwMywweGFmLDB4ODQgfX0sCi0gezE2LCAweGMyMjAsIDAsIHsweDc5LDB4ODAsMHgzYSwweDg4LDB4MDQsMHg5OCwweDAxLDB4ZDAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjMjMwLCAwLCB7MHhlMCwweDAxLDB4YmMsMHgwMCwweGZjLDB4ODAsMHgzNSwweGMwLDB4NGYsMHhmMCwweDAzLDB4ZGMsMHgwMCwweGVmLDB4MDAsMHgzNyB9fSwKLSB7MTYsIDB4YzI0MCwgMCwgezB4YzAsMHhhZiwweGYwLDB4MDMsMHgxYywweDAxLDB4NmYsMHgwMCwweDEzLDB4MDAsMHgwZiwweGMxLDB4MjMsMHhmYywweGI4LDB4ZmYgfX0sCi0gezE2LCAweGMyNTAsIDAsIHsweDA0LDB4MzcsMHhjMCwweDBjLDB4ZjgsMHg0MywweDdlLDB4MDQsMHhmZCwweDAwLDB4M2YsMHgwNCwweDBmLDB4ZDAsMHgwMywweGY4IH19LAotIHsxNiwgMHhjMjYwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweGFjLDB4MDAsMHhjOCwweDQwLDB4M2EsMHhjMCB9fSwKLSB7MTYsIDB4YzI3MCwgMCwgezB4MGMsMHhiMCwweDAzLDB4ZWMsMHgwMCwweGZiLDB4NDAsMHgzOCwweGMxLDB4MGUsMHhiMCwweDQzLDB4MmMsMHgwOCwweGMzLDB4MDAgfX0sCi0gezE2LCAweGMyODAsIDAsIHsweDNlLDB4NDAsMHgwZSwweDgyLDB4MDMsMHg2ZCwweDAwLDB4ZGIsMHg0MCwweDMyLDB4YzEsMHg1ZiwweGI0LDB4YTMsMHhlZCwweDIwIH19LAotIHsxNiwgMHhjMjkwLCAwLCB7MHhjOSwweDQwLDB4MzIsMHhlMCwweDhmLDB4OTgsMHg0MywweDkwLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YzJhMCwgMCwgezB4YzgsMHgwNSwweDNjLDB4MDAsMHg4OCwweDAwLDB4MjMsMHhjMCwweDI4LDB4ZjUsMHhjMiwweGZjLDB4MDAsMHhiMywweDA0LDB4MjMgfX0sCi0gezE2LCAweGMyYjAsIDAsIHsweGMxLDB4NDgsMHhmMCwweDIyLDB4YmMsMHgwNiwweGFmLDB4MDAsMHgwZSwweDQwLDB4MDgsMHgwMCwweDAyLDB4Y2QsMHgwMCwweGJiIH19LAotIHsxNiwgMHhjMmMwLCAwLCB7MHgwMSwweDIwLDB4YzAsMHgwOCwweDMwLDB4MDIsMHhlZSwweDAwLDB4ODEsMHhlMCwweDM0LDB4YTAsMHgwYiwweDkwLDB4MDIsMHgzMiB9fSwKLSB7MTYsIDB4YzJkMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg0YywweDAyLDB4ODAsMHgwMCwweDI4LDB4YzAgfX0sCi0gezE2LCAweGMyZTAsIDAsIHsweDA5LDB4M2MsMHgwMiwweDRjLDB4MDAsMHhiMywweDAwLDB4MmMsMHhjMCwweDBhLDB4YjAsMHgwMiwweDBjLDB4MDAsMHg4MywweDAxIH19LAotIHsxNiwgMHhjMmYwLCAwLCB7MHgyYywweDAwLDB4MGEsMHgwNSwweDAyLDB4Y2QsMHg1OCwweGJiLDB4MDAsMHgyMCwweDAwLDB4MGEsMHgzZCwweDAyLDB4Y2YsMHg0MCB9fSwKLSB7MTYsIDB4YzMwMCwgMCwgezB4MjEsMHgyMCwweDYwLDB4YzAsMHgwOSwweDEwLDB4MDIsMHhmOCwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGMzMTAsIDAsIHsweDIwLDB4MDEsMHgxZSwweDAwLDB4ODQsMHg4MCwweDI4LDB4ZTQsMHg4OCwweDc4LDB4NDIsMHhkZSwweDAwLDB4YjcsMHg5MCwweDY1IH19LAotIHsxNiwgMHhjMzIwLCAwLCB7MHhlNCwweDg4LDB4N2EsMHg0MiwweDllLDB4NDAsMHhhNywweDkwLDB4MmQsMHhhMCwweDBhLDB4NDgsMHgyMiwweGRlLDB4MDQsMHhiNyB9fSwKLSB7MTYsIDB4YzMzMCwgMCwgezB4ODAsMHgyMywweDYwLDB4NDgsMHg3OCwweDQyLDB4ZmUsMHg4MCwweGFmLDB4OTAsMHg2NSwweGUwLDB4MGIsMHhlOCwweDAyLDB4YzggfX0sCi0gezE2LCAweGMzNDAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MGMsMHgwMCwweGM4LDB4MDAsMHgzOCwweGMwIH19LAotIHsxNiwgMHhjMzUwLCAwLCB7MHgwYywweDMwLDB4MDMsMHhjYywweDAwLDB4ZmIsMHgwMCwweDNjLDB4YzAsMHgwZSwweGJhLDB4MDMsMHgwYywweDAwLDB4YzMsMHgwMCB9fSwKLSB7MTYsIDB4YzM2MCwgMCwgezB4M2UsMHgwMCwweDRlLDB4MjIsMHgwMiwweGNjLDB4YzAsMHhmYiwweDQwLDB4MzAsMHhjMCwweDBhLDB4MzAsMHgwMywweGNlLDB4ODAgfX0sCi0gezE2LCAweGMzNzAsIDAsIHsweGUxLDB4NDEsMHgzMCwweGM5LDB4MGYsMHgzMCwweDAzLDB4ZDIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjMzgwLCAwLCB7MHg0MCwweDFkLDB4YmMsMHgyMCwweGZjLDB4MDAsMHgzNywweGMyLDB4MGUsMHhmMSwweDIzLDB4ZWMsMHg0MCwweGZmLDB4MDQsMHgzYSB9fSwKLSB7MTYsIDB4YzM5MCwgMCwgezB4YzAsMHgwZiwweGIwLDB4MjMsMHhmYywweDAwLDB4ZmYsMHgwNCwweDNlLDB4YzAsMHgwZCwweGEwLDB4MDMsMHhmYywweDU4LDB4ZmYgfX0sCi0gezE2LCAweGMzYTAsIDAsIHsweDAwLDB4YmYsMHhjMCwweDA2LDB4ZjAsMHg4MywweGRjLDB4NjIsMHhkZiwweDAwLDB4M2YsMHhjMCwweDBmLDB4ZjAsMHgwMywweDEwIH19LAotIHsxNiwgMHhjM2IwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGVkLDB4ODAsMHhjOSwweDAxLDB4M2UsMHhjMCB9fSwKLSB7MTYsIDB4YzNjMCwgMCwgezB4OGMsMHhiMiwweDA3LDB4YWUsMHgwNCwweGNiLDB4ODAsMHgzYSwweGM4LDB4NGMsMHhiMiwweDAzLDB4MmMsMHg4NCwweGNiLDB4MzAgfX0sCi0gezE2LCAweGMzZDAsIDAsIHsweGIwLDB4ZTAsMHgwZCwweDg4LDB4MGIsMHgyYywweDAwLDB4ZWIsMHgwMCwweDMwLDB4MDAsMHgwYywweGJjLDB4ODMsMHgyZCwweDgwIH19LAotIHsxNiwgMHhjM2UwLCAwLCB7MHhmYiwweDAwLDB4MzIsMHhjMCwweDBjLDB4OTAsMHgwMywweGVhLDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YzNmMCwgMCwgezB4NDgsMHgxMSwweDljLDB4NDAsMHg4NywweDAwLDB4MmMsMHhjYywweDA4LDB4NzYsMHg4MiwweDNjLDB4ODIsMHg4NywweDAwLDB4MjEgfX0sCi0gezE2LCAweGM0MDAsIDAsIHsweGMyLDB4OGQsMHgzMiwweDgyLDB4MGQsMHg0YywweGE3LDB4MjgsMHgyMSwweDgwLDB4MDgsMHg0MCwweDAyLDB4MWQsMHg4MCwweGJmIH19LAotIHsxNiwgMHhjNDEwLCAwLCB7MHgyMCwweDM1LDB4NDAsMHgwOSwweDcyLDB4NDMsMHg1YywweGEwLDB4YjcsMHgwMCwweDI5LDB4YzAsMHgwOCwweDcwLDB4MDIsMHhkMiB9fSwKLSB7MTYsIDB4YzQyMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHg4ZSwweDAwLDB4ODQsMHg4MCwweDJkLDB4ZTAgfX0sCi0gezE2LCAweGM0MzAsIDAsIHsweDA4LDB4NzgsMHgwMiwweGRlLDB4YzAsMHg4ZiwweDgwLDB4MjgsMHhlYywweDI4LDB4N2IsMHgwYSwweDllLDB4OTQsMHg4MywweDg0IH19LAotIHsxNiwgMHhjNDQwLCAwLCB7MHgyMywweGUwLDB4MDksMHg1OCwweDUwLDB4OWUsMHgxMCwweGE3LDB4YjAsMHgyMywweGUwLDB4MGIsMHg3OCwweDAyLDB4MWUsMHgyMCB9fSwKLSB7MTYsIDB4YzQ1MCwgMCwgezB4YjcsMHg4MCwweDIxLDB4ZTAsMHgwOSwweDc4LDB4MDIsMHhmMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGM0NjAsIDAsIHsweDQ4LDB4MTQsMHhjYywweDAyLDB4ODIsMHgxYywweDJjLDB4YzAsMHgyOCwweDMwLDB4MDIsMHg0YywweDAwLDB4ODMsMHhjMCwweDIwIH19LAotIHsxNiwgMHhjNDcwLCAwLCB7MHhjMCwweDA4LDB4MzAsMHgwMiwweDBjLDB4MDAsMHhhMywweDAwLDB4NjAsMHhkMiwweDA4LDB4MWQsMHgwMiwweDBmLDB4MjAsMHhiYiB9fSwKLSB7MTYsIDB4YzQ4MCwgMCwgezB4MjQsMHgyNCwweGMwLDB4MGIsMHgzYywweDAyLDB4NGYsMHgwMCwweGIzLDB4ODAsMHgyOCwweGQ4LDB4MDksMHgzMiwweDAyLDB4ZDIgfX0sCi0gezE2LCAweGM0OTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDExLDB4YTgsMHgwMCwweGNlLDB4ODQsMHgzZSwweDgwIH19LAotIHsxNiwgMHhjNGEwLCAwLCB7MHgwYywweGEwLDB4MDMsMHhlOCwweDAwLDB4Y2UsMHhjMCwweDNhLDB4ODAsMHgwOCwweGEwLDB4MDMsMHhhOCwweDAwLDB4Y2EsMHgwMCB9fSwKLSB7MTYsIDB4YzRiMCwgMCwgezB4MzMsMHg4MCwweDBkLDB4ZWMsMHgwMywweDNiLDB4ODAsMHhlZSwweDgyLDB4MzMsMHg4MCwweDBhLDB4YzAsMHg4NywweDEwLDB4NDAgfX0sCi0gezE2LCAweGM0YzAsIDAsIHsweGY2LDB4YzAsMHgzMywweDkwLDB4YWQsMHg2NCwweDAzLDB4ZmEsMHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjNGQwLCAwLCB7MHg0OCwweDAwLDB4YzAsMHgwMiwweGY4LDB4MDAsMHgzYywweDAwLDB4MWYsMHgwNCwweDAzLDB4YTAsMHgwNCwweGY4LDB4MzAsMHgzZSB9fSwKLSB7MTYsIDB4YzRlMCwgMCwgezB4MDAsMHgwZiwweDgwLDB4MDMsMHhlMCwweDAwLDB4ZjgsMHgwMCwweDNlLDB4MDQsMHgwZiwweDgwLDB4OTMsMHhlMCwweDAwLDB4ZjggfX0sCi0gezE2LCAweGM0ZjAsIDAsIHsweDEwLDB4M2UsMHgwMCwweDJjLDB4ODQsMHgwMywweGUwLDB4MDAsMHhmOCwweDE4LDB4M2UsMHgxMCwweDBlLDB4ODAsMHgwMywweGQyIH19LAotIHsxNiwgMHhjNTAwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGU0LDB4MDAsMHhkOSwweDAwLDB4M2UsMHg0MCB9fSwKLSB7MTYsIDB4YzUxMCwgMCwgezB4MGUsMHg5MCwweDAzLDB4YTQsMHgxMCwweGY5LDB4MDAsMHgzZSwweDQwLDB4MDQsMHg5MCwweDAzLDB4MjQsMHgwMCwweDQxLDB4MDAgfX0sCi0gezE2LCAweGM1MjAsIDAsIHsweDNlLDB4NDAsMHgwZiwweDkxLDB4MTMsMHhlMSwweDA4LDB4ZjgsMHgwMCwweDMyLDB4NDAsMHgwOCwweDg5LDB4ODMsMHhhMiwweDAwIH19LAotIHsxNiwgMHhjNTMwLCAwLCB7MHhjOSwweDgwLDB4MzIsMHg0MCwweDBjLDB4OTAsMHgwYiwweDAyLDB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YzU0MCwgMCwgezB4ODAsMHgwNCwweDY0LDB4MDIsMHg4OSwweDAwLDB4MmUsMHg0MCwweDBkLDB4OTAsMHgwMiwweDI0LDB4MDAsMHhiOSwweDAwLDB4MmUgfX0sCi0gezE2LCAweGM1NTAsIDAsIHsweDQwLDB4NDgsMHg5MCwweDAyLDB4YTQsMHgwMCwweDg5LDB4MDAsMHgyMiwweDQwLDB4OGIsMHg5NCwweDQyLDB4ZTIsMHgyMCwweGI4IH19LAotIHsxNiwgMHhjNTYwLCAwLCB7MHgwMCwweGEyLDB4NDAsMHgwOCwweDk0LDB4MDIsMHhlNSwweDA0LDB4YTksMHg5MCwweDM0LDB4NjAsMHgwOCwweDkwLDB4MDIsMHgyMCB9fSwKLSB7MTYsIDB4YzU3MCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHgyNCwweDEwLDB4OTksMHgwMCwweDJlLDB4NDAgfX0sCi0gezE2LCAweGM1ODAsIDAsIHsweDBhLDB4OTAsMHgwMiwweGU0LDB4MDAsMHhiOSwweDAwLDB4MjQsMHg0MCwweDBhLDB4MTAsMHgwMiwweDA0LDB4MDAsMHhhOSwweDAwIH19LAotIHsxNiwgMHhjNTkwLCAwLCB7MHgyYSwweDQwLDB4MGIsMHg5MCwweDgyLDB4ZTAsMHgwMSwweGI4LDB4MDAsMHgyMCwweDQwLDB4M2EsMHg5MCwweDAyLDB4YTQsMHg0NCB9fSwKLSB7MTYsIDB4YzVhMCwgMCwgezB4ODksMHgwNCwweDIyLDB4NjIsMHgwOCwweDk4LDB4MDIsMHgwNiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGM1YjAsIDAsIHsweDA4LDB4MDQsMHgwNCwweDhhLDB4ODEsMHgwMCwweDJjLDB4NDgsMHgwOSwweDMyLDB4MDYsMHg0NCwweDgwLDB4YjEsMHgwMCwweDJjIH19LAotIHsxNiwgMHhjNWMwLCAwLCB7MHg0OCwweDBhLDB4MTIsMHgwMiwweDg0LDB4ODAsMHhhMSwweDIwLDB4MjAsMHg1MCwweDBiLDB4MTQsMHgwMiwweGM1LDB4MDAsMHhiMSB9fSwKLSB7MTYsIDB4YzVkMCwgMCwgezB4NDAsMHgyMCwweDUwLDB4MGEsMHgyNCwweDAyLDB4YzksMHgwMCwweGEzLDB4MDAsMHgyNCwweDQwLDB4MDgsMHgxMSwweDAyLDB4MDIgfX0sCi0gezE2LCAweGM1ZTAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjEsMHg0MCwweGQ4LDB4NTAsMHgzZSwweDE0IH19LAotIHsxNiwgMHhjNWYwLCAwLCB7MHgwZSwweDgwLDB4MDMsMHhlMSwweDQwLDB4ZjgsMHg1MSwweDM2LDB4MTQsMHgyZSwweDg1LDB4NDMsMHgyMSwweDQyLDB4ZTgsMHg1MCB9fSwKLSB7MTYsIDB4YzYwMCwgMCwgezB4M2EsMHgwMCwweDBmLDB4ODAsMHgxMiwweGUwLDB4MDAsMHhmOCwweDAwLDB4MzIsMHgwMCwweDFlLDB4ODAsMHg0MywweGEwLDB4MDAgfX0sCi0gezE2LCAweGM2MTAsIDAsIHsweGM4LDB4MDEsMHgzMiwweDAwLDB4MGMsMHg4MCwweDAzLDB4MmUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjNjIwLCAwLCB7MHg5OCwweDFkLDB4ZTQsMHg0MCwweGZkLDB4MDAsMHgzZSwweDQ0LDB4NGUsMHgxMSwweDAzLDB4YTQsMHg0MCwweGI1LDB4MDAsMHgzZSB9fSwKLSB7MTYsIDB4YzYzMCwgMCwgezB4NDQsMHgwZCwweDkxLDB4MDMsMHhlNCwweDQwLDB4ZDksMHgxMCwweDNmLDB4NDAsMHgwZiwweDUwLDB4MDMsMHhlNSwweDAwLDB4ZjkgfX0sCi0gezE2LCAweGM2NDAsIDAsIHsweDQwLDB4M2YsMHg0MCwweDBkLDB4NDQsMHgwMywweGYxLDB4MDAsMHhmNSwweDAyLDB4M2QsMHhjMCwweDJmLDB4ZDIsMHgwMywweGU2IH19LAotIHsxNiwgMHhjNjUwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweGU3LDB4MDAsMHhlOSwweDAwLDB4MzYsMHg2MCB9fSwKLSB7MTYsIDB4YzY2MCwgMCwgezB4MGQsMHhkYSwweDAzLDB4ZTYsMHg0MCwweGY5LDB4NDAsMHgzZSwweDY4LDB4MGMsMHg5YSwweDAzLDB4NjYsMHgyMCwweDg5LDB4YTAgfX0sCi0gezE2LCAweGM2NzAsIDAsIHsweDMzLDB4NDAsMHgwZSwweDkwLDB4MDcsMHhhNiwweDAwLDB4ZjksMHg4MCwweDNlLDB4NTAsMHgwYywweGNhLDB4MDMsMHhmMywweDgwIH19LAotIHsxNiwgMHhjNjgwLCAwLCB7MHhjNSwweDAyLDB4MzMsMHg0MCwweDBjLDB4YzAsMHgwMywweGM2LDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YzY5MCwgMCwgezB4MzgsMHgxMCwweGUzLDB4MDQsMHg4OCwweGEyLDB4MjAsMHgzOCwweDA4LDB4ODAsMHgwMiwweGUzLDB4NDAsMHhiMCwweDgwLDB4MmUgfX0sCi0gezE2LCAweGM2YTAsIDAsIHsweDI4LDB4MDgsMHg4YSwweDgyLDB4MjMsMHg4MCwweDg4LDB4ODAsMHgyMiwweDAwLDB4ZGIsMHg4OCwweDAyLDB4NjIsMHgwNCwweGI4IH19LAotIHsxNiwgMHhjNmIwLCAwLCB7MHhiMCwweDJlLDB4YTgsMHg4OCwweDhlLDB4YTIsMHhlYSwweDgwLDB4ODgsMHgwMCwweDJhLDB4MDAsMHgyOCwweDg4LDB4MDMsMHg4ZSB9fSwKLSB7MTYsIDB4YzZjMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhjNSwweDgyLDB4YTksMHgwOCwweDJjLDB4NTIgfX0sCi0gezE2LCAweGM2ZDAsIDAsIHsweDBiLDB4MTQsMHgwMiwweGM0LDB4ODAsMHhiMSwweDIxLDB4MGMsMHg1MiwweDg4LDB4MTQsMHgwMiwweDQ0LDB4MjAsMHg5MSwweDY5IH19LAotIHsxNiwgMHhjNmUwLCAwLCB7MHgyMCwweDQwLDB4MGEsMHgxMCwweDgyLDB4YzYsMHhlMCwweGIxLDB4MGMsMHgyYywweDQ4LDB4MDgsMHgwMSwweDAyLDB4ZTEsMHg5MyB9fSwKLSB7MTYsIDB4YzZmMCwgMCwgezB4YTEsMHgwMSwweDI0LDB4NDEsMHgwYSwweDEwLDB4MDIsMHhjMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGM3MDAsIDAsIHsweDE4LDB4MTUsMHhhNCwweDAwLDB4ODksMHgwNCwweDIyLDB4NDAsMHgwOCwweDkwLDB4MDAsMHhlNCwweDAwLDB4MzksMHgwMiwweDBlIH19LAotIHsxNiwgMHhjNzEwLCAwLCB7MHg0MCwweDA4LDB4MTAsMHg2MiwweDI0LDB4MDAsMHg5MSwweDAwLDB4NjIsMHg0MCwweDhiLDB4ODAsMHgwMiwweGUwLDB4NTQsMHhiOSB9fSwKLSB7MTYsIDB4YzcyMCwgMCwgezB4MGMsMHgyZSwweDQwLDB4MDksMHhiNiwweDUyLDB4ZWMsMHgwMCwweGE5LDB4MDAsMHgyYSwweDQwLDB4MGEsMHg5MiwweDgwLDB4ODYgfX0sCi0gezE2LCAweGM3MzAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDExLDB4ZTQsMHgwMCwweGUxLDB4NjAsMHgzNiwweDQwIH19LAotIHsxNiwgMHhjNzQwLCAwLCB7MHgwZCwweDkwLDB4MjMsMHhlNCwweDAwLDB4ZjksMHgzMCwweDNlLDB4NDAsMHgyYywweDkwLDB4NDMsMHg2NCwweDA2LDB4YzksMHgwMCB9fSwKLSB7MTYsIDB4Yzc1MCwgMCwgezB4MzIsMHg0OSwweDBlLDB4OGQsMHg5MywweGUwLDB4MDAsMHhmOSwweDAwLDB4MmUsMHg0MCwweDJjLDB4OTQsMHgwMywweGM3LDB4NDAgfX0sCi0gezE2LCAweGM3NjAsIDAsIHsweGU5LDB4MjAsMHgzMCwweDU1LDB4MGUsMHg5MCwweDAzLDB4ZTgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjNzcwLCAwLCB7MHgyOCwweDAxLDB4YTQsMHgwMCwweGY5LDB4MDAsMHgxZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGY5LDB4ODAsMHgzYyB9fSwKLSB7MTYsIDB4Yzc4MCwgMCwgezB4NDAsMHg0ZiwweDkwLDB4MDMsMHhlNCwweDAwLDB4ZTksMHgwNCwweGJlLDB4NDAsMHgwZiwweDg4LDB4MzMsMHg2MiwweDAwLDB4ZjkgfX0sCi0gezE2LCAweGM3OTAsIDAsIHsweGMyLDB4M2UsMHg0OCwweDJlLDB4ODgsMHgzMywweGUyLDB4MDAsMHhkOSwweDAwLDB4M2UsMHg2MCwweDBkLDB4ODAsMHgwMywweGNhIH19LAotIHsxNiwgMHhjN2EwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxMCwweGEwLDB4MDAsMHhjOCwweDAwLDB4M2UsMHgwMCB9fSwKLSB7MTYsIDB4YzdiMCwgMCwgezB4MGQsMHg4MCwweDAzLDB4YTAsMHgwNCwweGU4LDB4NDAsMHhiYSwweDAwLDB4MGMsMHg4MCwweDAzLDB4ZTAsMHgwNCwweGM4LDB4MDAgfX0sCi0gezE2LCAweGM3YzAsIDAsIHsweDNhLDB4MDAsMHgwZSwweDhjLDB4MDMsMHhlMCwweDAwLDB4ZjgsMHgwMiwweDMyLDB4MDAsMHgwZSwweDgwLDB4MDMsMHg2MSwweDIwIH19LAotIHsxNiwgMHhjN2QwLCAwLCB7MHhmOCwweDAwLDB4MzIsMHgxNiwweDBmLDB4ODAsMHgwMywweGNhLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YzdlMCwgMCwgezB4MjgsMHgwNSwweDI4LDB4MDAsMHg4YSwweDAwLDB4MmUsMHg4MCwweDA4LDB4ZTIsMHgwMywweDI4LDB4MDAsMHg4YSwweDAwLDB4MjIgfX0sCi0gezE2LCAweGM3ZjAsIDAsIHsweDgwLDB4MDgsMHhhMCwweDAyLDB4ZTgsMHgwNCwweDhhLDB4MDAsMHgyZSwweGEyLDB4MDksMHhlOCwweDAyLDB4ZmEsMHgwNCwweGJlIH19LAotIHsxNiwgMHhjODAwLCAwLCB7MHgwMCwweGEyLDB4ODAsMHgwOCwweGNkLDB4ODIsMHgzMywweDIwLDB4YjYsMHhjMCwweDM3LDB4YTAsMHg0YiwweGM4LDB4ODIsMHhjYSB9fSwKLSB7MTYsIDB4YzgxMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg2YywweDAwLDB4ODMsMHgwMCwweDI2LDB4YzAgfX0sCi0gezE2LCAweGM4MjAsIDAsIHsweDA5LDB4MzgsMHgwMiwweDRjLDB4MDAsMHhiMywweDAwLDB4MjQsMHhjMCwweDA4LDB4MzAsMHgwMiwweGVjLDB4MDAsMHg4MywweDAwIH19LAotIHsxNiwgMHhjODMwLCAwLCB7MHgyOCwweGUwLDB4MGIsMHgzMCwweDAyLDB4Y2UsMHg4MSwweGIzLDB4MDAsMHg2MiwweGMwLDB4MDgsMHgzYywweDAyLDB4NGYsMHgwMCB9fSwKLSB7MTYsIDB4Yzg0MCwgMCwgezB4YjMsMHhhMCwweDIwLDB4YjAsMHgwMywweDMwLDB4MDIsMHhjYSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGM4NTAsIDAsIHsweGEwLDB4MDEsMHgwYywweDQxLDB4ODcsMHgzNCwweDJkLDB4YzAsMHgwOCwweDYwLDB4MDIsMHg5ZSwweDQwLDB4YjcsMHhhMCwweDJkIH19LAotIHsxNiwgMHhjODYwLCAwLCB7MHhjMCwweDA4LDB4NzMsMHgwMiwweGRjLDB4MDAsMHg4NywweDIwLDB4MmQsMHhjMCwweDBiLDB4NzAsMHg4MiwweGRkLDB4ODUsMHhiZiB9fSwKLSB7MTYsIDB4Yzg3MCwgMCwgezB4ODEsMHg2MywweGM4LDB4ODgsMHg3YiwweDAyLDB4MWMsMHgwMCwweGI3LDB4NDAsMHg2NSwweDAwLDB4MWIsMHg3MiwweDAyLDB4ZTggfX0sCi0gezE2LCAweGM4ODAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MWUsMHgwMCwweGM3LDB4ODEsMHgzZCwweGUwIH19LAotIHsxNiwgMHhjODkwLCAwLCB7MHhkZCwweDcwLDB4MDMsMHhmZSwweDgwLDB4ZjcsMHg5MCwweDNmLDB4ZTAsMHgyYywweDc5LDB4MDMsMHhmZSwweDgwLDB4YzcsMHhhMCB9fSwKLSB7MTYsIDB4YzhhMCwgMCwgezB4MzksMHhlMCwweDBmLDB4N2EsMHgwMiwweGRlLDB4ODQsMHhmNywweGMyLDB4MzEsMHhmMiwweDBjLDB4NzksMHgwMywweDVlLDB4MDQgfX0sCi0gezE2LCAweGM4YjAsIDAsIHsweGY3LDB4ODQsMHgzMSwweDYwLDB4MGYsMHg3ZSwweDAzLDB4ZWEsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjOGMwLCAwLCB7MHgwOCwweDFkLDB4YWQsMHgwYSwweGZiLDB4NjAsMHg3ZSwweGQ0LDB4MGYsMHgzMCwweDAzLDB4NmMsMHgwMCwweGNiLDB4MDAsMHgzMiB9fSwKLSB7MTYsIDB4YzhkMCwgMCwgezB4ZGUsMHgyZiwweGIyLDB4MDMsMHhlZCwweDQyLDB4MWIsMHg2MCwweDNlLDB4YzEsMHgwZCwweGIxLDB4MDMsMHhlYywweDUwLDB4ZjcgfX0sCi0gezE2LCAweGM4ZTAsIDAsIHsweDgwLDB4M2QsMHhkOCwweDJlLDB4MzIsMHgwMywweGVjLDB4MzAsMHhmYiwweDAwLDB4M2UsMHg0MCwweDBmLDB4YjAsMHgwMywweGMyIH19LAotIHsxNiwgMHhjOGYwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweGZmLDB4MDAsMHhjYiwweGQwLDB4M2YsMHhmMCB9fSwKLSB7MTYsIDB4YzkwMCwgMCwgezB4NGMsMHhmOCwweDEzLDB4ZmUsMHgwMCwweGNmLDB4ODgsMHgzZiwweGUwLDB4MGMsMHhmOCwweDQzLDB4M2YsMHgwMCwweGNmLDB4YzggfX0sCi0gezE2LCAweGM5MTAsIDAsIHsweDMzLDB4ZTAsMHgwYywweGY4LDB4MDMsMHhmZSwweDAwLDB4ZmYsMHg4MCwweDNmLDB4ZTAsMHgyYywweGY4LDB4MDMsMHhiZSwweDIwIH19LAotIHsxNiwgMHhjOTIwLCAwLCB7MHhjNywweDgwLDB4MzMsMHhlMCwweDBjLDB4ZjgsMHgwMSwweDAwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YzkzMCwgMCwgezB4YTgsMHgwMSwweGJjLDB4NDAsMHg4NywweDkwLDB4M2QsMHhjMCwweDA4LDB4NDAsMHgwMiwweGRjLDB4ODAsMHhkNywweDAwLDB4MmQgfX0sCi0gezE2LCAweGM5NDAsIDAsIHsweGMwLDB4MGMsMHgzMCwweDAzLDB4N2MsMHgwMCwweDg3LDB4MTAsMHgyMSwweGM0LDB4MWUsMHg3MCwweDIwLDB4ZGMsMHg0NCwweGI3IH19LAotIHsxNiwgMHhjOTUwLCAwLCB7MHgwMCwweDM5LDB4YzAsMHgwYywweDcxLDB4MDIsMHgxYywweDQwLDB4ZDcsMHgwMiwweDI5LDB4NDAsMHgwOCwweDcwLDB4MDIsMHgyYSB9fSwKLSB7MTYsIDB4Yzk2MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5YywweDAwLDB4ODcsMHgzMiwweDJkLDB4YzAgfX0sCi0gezE2LCAweGM5NzAsIDAsIHsweDA4LDB4NzAsMHgwMiwweGRjLDB4MDEsMHg4NywweDAwLDB4MmMsMHhjMCwweDJiLDB4NzAsMHgwYSwweDVjLDB4MDAsMHg4MywweDAwIH19LAotIHsxNiwgMHhjOTgwLCAwLCB7MHgyMywweGMwLDB4MDgsMHg3MCwweDAyLDB4ZGQsMHgwMCwweGI3LDB4MDAsMHgyZCwweGM0LDB4MGIsMHhmMCwweDAyLDB4OWMsMHgyMCB9fSwKLSB7MTYsIDB4Yzk5MCwgMCwgezB4ODcsMHgxOCwweDI5LDB4NDAsMHgwOCwweDcwLDB4ODIsMHgwMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGM5YTAsIDAsIHsweDIwLDB4MTQsMHhjYywweDAwLDB4ODMsMHgwMiwweDI4LDB4YzAsMHgwOCwweDEwLDB4MDIsMHhjYywweDA4LDB4ODMsMHg0MCwweDJlIH19LAotIHsxNiwgMHhjOWIwLCAwLCB7MHhjMCwweDJhLDB4MzAsMHgwMiwweDBjLDB4MDAsMHg4YiwweDAwLDB4MjAsMHhmMiwweDBhLDB4MzAsMHgwMiwweGNlLDB4MDAsMHhiMyB9fSwKLSB7MTYsIDB4YzljMCwgMCwgezB4ODgsMHgyYSwweGQwLDB4MGEsMHgzMCwweDA2LDB4MGMsMHgwMCwweDkyLDB4MDAsMHgyOCwweDc4LDB4MDgsMHgzYywweDQyLDB4MDggfX0sCi0gezE2LCAweGM5ZDAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YmMsMHgwMiwweGM3LDB4MDAsMHgyZiwweGMwIH19LAotIHsxNiwgMHhjOWUwLCAwLCB7MHgyYywweDkwLDB4MDIsMHhmYywweDAyLDB4OGYsMHhkOCwweDNmLDB4YzAsMHg0YiwweGYwLDB4MDIsMHg3YywweDAyLDB4Y2YsMHgwMCB9fSwKLSB7MTYsIDB4YzlmMCwgMCwgezB4MjAsMHhmMiwweDA4LDB4YjAsMHgxMywweGVlLDB4ODAsMHhmZiwweDAwLDB4M2YsMHhkNCwweDJlLDB4YmQsMHg4MywweGFjLDB4MDAgfX0sCi0gezE2LCAweGNhMDAsIDAsIHsweGNiLDB4ODAsMHgzYSwweGEwLDB4YWMsMHhiOCwweDAzLDB4MmEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjYTEwLCAwLCB7MHg4MCwweDAwLDB4ZWMsMHgwMCwweGZiLDB4MTAsMHgzZSwweGMwLDB4MGYsMHg4NCwweDAzLDB4ZWMsMHgxMCwweGZiLDB4MDAsMHgzZSB9fSwKLSB7MTYsIDB4Y2EyMCwgMCwgezB4YzAsMHgwMSwweGIwLDB4MDMsMHhlYywweDAwLDB4ZmIsMHgwMCwweGJlLDB4YzAsMHgwZSwweGIwLDB4MjMsMHhlYywweDA4LDB4ZmIgfX0sCi0gezE2LCAweGNhMzAsIDAsIHsweDEwLDB4M2YsMHhjMCwweDBkLDB4YjQsMHgwMywweGVkLDB4MDQsMHhmOSwweDAwLDB4MWUsMHgxNCwweGNmLDB4YjAsMHg4MywweGUwIH19LAotIHsxNiwgMHhjYTQwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGZjLDB4MDAsMHhjZiwweDAwLDB4MzAsMHhjMCB9fSwKLSB7MTYsIDB4Y2E1MCwgMCwgezB4MGMsMHg0MCwweDAzLDB4YWMsMHgwMCwweGZmLDB4MDAsMHgzZiwweGMwLDB4MmMsMHhiMCwweDAzLDB4YmMsMHgwMCwweGZmLDB4MDAgfX0sCi0gezE2LCAweGNhNjAsIDAsIHsweGIzLDB4ZTAsMHgwZCwweGZhLDB4MDMsMHg3ZSwweDgwLDB4Y2YsMHgwMCwweDMzLDB4YzAsMHgwYywweGZjLDB4NDMsMHhmZiwweDIwIH19LAotIHsxNiwgMHhjYTcwLCAwLCB7MHhmZiwweDAwLDB4M2YsMHg0MCwweDA4LDB4ZjgsMHgwMywweGMwLDB4NDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Y2E4MCwgMCwgezB4ODEsMHgwNCwweDZjLDB4MTAsMHhhYiwweDAwLDB4MmEsMHhjMCwweDBhLDB4OGUsMHg0MiwweDJjLDB4MDQsMHhiYiwweDAwLDB4MmUgfX0sCi0gezE2LCAweGNhOTAsIDAsIHsweGMwLDB4MDgsMHhiMCwweDAyLDB4NmMsMHgwMCwweGJiLDB4MDAsMHgzYSwweGMwLDB4MGUsMHgzMCwweDAyLDB4MGQsMHgwOCwweDgzIH19LAotIHsxNiwgMHhjYWEwLCAwLCB7MHgwMiwweDIyLDB4YzAsMHgwYSwweGJjLDB4MDIsMHhlZiwweDAwLDB4YmIsMHhjMCwweDJjLDB4NjgsMHgwYSwweGI5LDB4MDIsMHhlMCB9fSwKLSB7MTYsIDB4Y2FiMCwgMCwgezB4NDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgwYywweDAwLDB4OGIsMHgwMCwweDIyLDB4YzAgfX0sCi0gezE2LCAweGNhYzAsIDAsIHsweDA4LDB4YjgsMHgwMiwweGFjLDB4MDAsMHhiYiwweDAyLDB4MmUsMHhjMCwweDA4LDB4YjAsMHgwMiwweGVjLDB4MDAsMHhiYiwweDAwIH19LAotIHsxNiwgMHhjYWQwLCAwLCB7MHgyNiwweDQ4LDB4MTksMHhiMCwweDAyLDB4NmQsMHgwMCwweDhiLDB4MDAsMHgyMiwweGMwLDB4MGEsMHhiMCwweDAyLDB4ZWMsMHgwNCB9fSwKLSB7MTYsIDB4Y2FlMCwgMCwgezB4YmIsMHgxYywweDJlLDB4MjAsMHgwYSwweGIwLDB4MDIsMHhlMCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGNhZjAsIDAsIHsweDA4LDB4MTQsMHgwYywweDAwLDB4YWIsMHgyMCwweDI4LDB4YzAsMHgwYSwweDAwLDB4MDIsMHgwYywweDAwLDB4OTMsMHgwNCwweDJjIH19LAotIHsxNiwgMHhjYjAwLCAwLCB7MHhjMSwweDA4LDB4MzAsMHgwMiwweDRjLDB4MDAsMHhiMywweDAwLDB4MjQsMHg0MSwweDA5LDB4YjgsMHgwMiwweDBjLDB4MDIsMHg4MyB9fSwKLSB7MTYsIDB4Y2IxMCwgMCwgezB4MDEsMHhhMCwweGMwLDB4MGEsMHgzMCwweDAyLDB4Y2MsMHgxMCwweDkzLDB4MDAsMHgyYywweDAwLDB4MGEsMHgzMCwweDAyLDB4YzIgfX0sCi0gezE2LCAweGNiMjAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4N2MsMHgwMCwweGNmLDB4MjgsMHgzMywweGMwIH19LAotIHsxNiwgMHhjYjMwLCAwLCB7MHgwYywweGEwLDB4NDYsMHhhYywweDExLDB4YmYsMHgwMCwweDNmLDB4YzAsMHg1YywweGYwLDB4NDMsMHhmYywweDAwLDB4ZmYsMHgwNCB9fSwKLSB7MTYsIDB4Y2I0MCwgMCwgezB4MzIsMHg0MCwweDBkLDB4YjAsMHgwMywweDZjLDB4MDgsMHhjYiwweDA0LDB4MzEsMHhjMCwweDBjLDB4YjAsMHgzMywweGVkLDB4NDAgfX0sCi0gezE2LCAweGNiNTAsIDAsIHsweGZiLDB4MDQsMHgzZSwweDQwLDB4MGUsMHhiMCwweDAzLDB4YzAsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjYjYwLCAwLCB7MHhhMCwweDE1LDB4ZmMsMHgwMCwweGZmLDB4MDAsMHgzZiwweGMwLDB4MGYsMHhjMCwweDIzLDB4ZmMsMHgwMSwweGZmLDB4MDAsMHgzZiB9fSwKLSB7MTYsIDB4Y2I3MCwgMCwgezB4YzAsMHg0ZiwweGYwLDB4ODcsMHg3YywweDAwLDB4ZmYsMHgwMCwweDM5LDB4NDAsMHgwZSwweGYwLDB4MDMsMHhmYywweDAwLDB4ZmYgfX0sCi0gezE2LCAweGNiODAsIDAsIHsweDAwLDB4M2YsMHhjMCwweDBmLDB4NzAsMHgwMywweGRjLDB4ODAsMHhmZiwweDAwLDB4M2QsMHg0MCwweDBmLDB4NzAsMHgwMywweGU4IH19LAotIHsxNiwgMHhjYjkwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGZjLDB4NDAsMHhlYiwweDQ4LDB4M2UsMHhjMiB9fSwKLSB7MTYsIDB4Y2JhMCwgMCwgezB4MGUsMHgwOSwweDAzLDB4YmMsMHg2MCwweGMwLDB4MjAsMHgzNSwweDI0LDB4MGUsMHhkMiwweDEzLDB4MmMsMHg2MCwweGZiLDB4NmEgfX0sCi0gezE2LCAweGNiYjAsIDAsIHsweDMzLDB4YzAsMHgwZiwweGNhLDB4MDMsMHgyMiwweDIwLDB4YzAsMHg4MCwweDM3LDB4YzAsMHgwZCwweGYwLDB4MDMsMHg3YywweDAwIH19LAotIHsxNiwgMHhjYmMwLCAwLCB7MHhlZiwweDAwLDB4MzMsMHgyNCwweDBmLDB4YzgsMHgwMywweDMwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Y2JkMCwgMCwgezB4ODAsMHgxMCwweGRkLDB4MDAsMHg4ZiwweDYwLDB4MmYsMHhkOCwweDA4LDB4YTIsMHgwMiwweGZkLDB4ODAsMHhjOCwweDcwLDB4MjIgfX0sCi0gezE2LCAweGNiZTAsIDAsIHsweDAwLDB4MmMsMHhmZCwweDA3LDB4ZGMsMHg4NCwweGJmLDB4NjAsMHgyMywweGQyLDB4MGIsMHhiZCwweDAyLDB4MjMsMHgwMCwweDg4IH19LAotIHsxNiwgMHhjYmYwLCAwLCB7MHg4MCwweGEyLDB4MjAsMHg4OCwweGIwLDB4MjIsMHgzNCwweDAwLDB4YmIsMHg1MCwweDIyLDB4YzgsMHgwYiwweGIwLDB4MDIsMHgyMCB9fSwKLSB7MTYsIDB4Y2MwMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjYywweDQwLDB4YTMsMHgwMywweDJjLDB4YzIgfX0sCi0gezE2LCAweGNjMTAsIDAsIHsweDBhLDB4MDAsMHg0MiwweDhjLDB4ODIsMHhhMywweDBhLDB4MjQsMHg4MCwweDBiLDB4MzAsMHgwMiwweGNjLDB4OTAsMHhiMywweDAwIH19LAotIHsxNiwgMHhjYzIwLCAwLCB7MHgyOCwweGQ4LDB4MGIsMHgxMCwweDAyLDB4OGMsMHgwMiwweDkwLDB4MDAsMHgyMCwweGMwLDB4MGIsMHgxMCwweDQyLDB4NGMsMHgwMCB9fSwKLSB7MTYsIDB4Y2MzMCwgMCwgezB4YjMsMHgwNCwweDI0LDB4YzAsMHgwYiwweDMwLDB4MGUsMHhhMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGNjNDAsIDAsIHsweGMwLDB4MTUsMHhhYywweDEwLDB4OWIsMHgwNCwweDJjLDB4YzAsMHhmOCwweDk4LDB4MDYsMHhlYywweDAwLDB4YWIsMHg4MCwweDI2IH19LAotIHsxNiwgMHhjYzUwLCAwLCB7MHgyMCwweDA4LDB4OTAsMHgyYSwweGFjLDB4MTAsMHhiYiwweDAwLDB4MGEsMHhjMCwweDFiLDB4YjAsMHgyMiwweGFkLDB4MDAsMHg5OCB9fSwKLSB7MTYsIDB4Y2M2MCwgMCwgezB4NDAsMHgyYSwweDcwLDB4NGIsMHhiMCwweDAyLDB4MmMsMHgwMCwweGIzLDB4MDAsMHhhNiwweDg2LDB4MWIsMHhiMCwweDgyLDB4YjAgfX0sCi0gezE2LCAweGNjNzAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDE1LDB4ZWMsMHgwMCwweGViLDB4MDAsMHgzZSwweGMwIH19LAotIHsxNiwgMHhjYzgwLCAwLCB7MHg4ZSwweDk4LDB4MDMsMHhhYywweDA4LDB4ZTgsMHhjMCwweDM2LDB4MzAsMHg0ZiwweGIwLDB4NDIsMHhlYywweDAwLDB4ZjksMHg4MCB9fSwKLSB7MTYsIDB4Y2M5MCwgMCwgezB4M2EsMHhjMCwweDhmLDB4ODgsMHg0MiwweDIwLDB4MTAsMHhjOCwweDEwLDB4MzAsMHhmMCwweDBmLDB4MzAsMHgxMywweDZjLDB4MTAgfX0sCi0gezE2LCAweGNjYTAsIDAsIHsweGViLDB4MDAsMHgzNiwweGYwLDB4MGYsMHhiZCwweDAzLDB4OTAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjY2IwLCAwLCB7MHhlMCwweDAxLDB4YmMsMHgwMCwweGVmLDB4MDQsMHg3ZiwweGMwLDB4MGYsMHhmMCwweDQzLDB4ZGMsMHgwMCwweGM0LDB4MDAsMHgzYiB9fSwKLSB7MTYsIDB4Y2NjMCwgMCwgezB4NDAsMHg4YiwweGRjLDB4MDMsMHg3YywweDEwLDB4ZjksMHg5MCwweDM2LDB4YzIsMHg0ZiwweGY5LDB4MjMsMHg2MiwweDQxLDB4YWMgfX0sCi0gezE2LCAweGNjZDAsIDAsIHsweDAxLDB4MTMsMHg0MCwweDA0LDB4YjAsMHgwMywweGU0LDB4MDAsMHhmZiwweDAwLDB4M2IsMHhjMCwweDBmLDB4YzAsMHgwMywweDc4IH19LAotIHsxNiwgMHhjY2UwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweDhjLDB4MTIsMHhjYiwweDAwLDB4ZjIsMHhjMCB9fSwKLSB7MTYsIDB4Y2NmMCwgMCwgezB4MGYsMHg4MCwweDAzLDB4YWMsMHgwOCwweGQ5LDB4MDAsMHgzYSwweDgwLDB4MGYsMHgxMiwweDAzLDB4YWMsMHgwMCwweGUxLDB4MDAgfX0sCi0gezE2LCAweGNkMDAsIDAsIHsweDMyLDB4YzAsMHgwYywweDkwLDB4MDMsMHhlZCwweDAyLDB4YzgsMHg0MCwweDNlLDB4ZDAsMHgwZiwweDkwLDB4MTMsMHgyYywweDAyIH19LAotIHsxNiwgMHhjZDEwLCAwLCB7MHhkYiwweDAwLDB4M2UsMHg1MCwweDBjLDB4YjQsMHgwMywweDEwLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Y2QyMCwgMCwgezB4YzgsMHgwNSwweDNjLDB4MDAsMHg4ZiwweDAwLDB4MTcsMHhjMCwweDA4LDB4OTAsMHgwMiwweDNjLDB4MDgsMHg4ZCwweDAwLDB4MjIgfX0sCi0gezE2LCAweGNkMzAsIDAsIHsweDU0LDB4MDgsMHhiNCwweDAzLDB4M2MsMHgwMCwweDg5LDB4MDAsMHgyMywweGMwLDB4NDAsMHgzNSwweDAyLDB4Y2MsMHgyNCwweDgwIH19LAotIHsxNiwgMHhjZDQwLCAwLCB7MHgwMCwweDIyLDB4NzQsMHg0YywweGIwLDB4MDIsMHgyYywweDAwLDB4OGYsMHgwMCwweDJlLDB4ZDQsMHgwYSwweGIwLDB4MGEsMHgzMiB9fSwKLSB7MTYsIDB4Y2Q1MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDEsMHg0YywweDAyLDB4ODMsMHgwMCwweDI0LDB4YzAgfX0sCi0gezE2LCAweGNkNjAsIDAsIHsweDA5LDB4MDAsMHgwMiwweDhjLDB4MDEsMHg5MCwweDAwLDB4NmEsMHg0MSwweDBhLDB4MzAsMHgyMCwweDRlLDB4MTAsMHgzMSwweDAyIH19LAotIHsxNiwgMHhjZDcwLCAwLCB7MHgyYywweGMwLDB4MDksMHgyMCwweDA2LDB4Y2UsMHgwMCwweDgwLDB4MDAsMHg2MCwweGUwLDB4MGEsMHgzMCwweDgyLDB4MGMsMHgwOCB9fSwKLSB7MTYsIDB4Y2Q4MCwgMCwgezB4ODMsMHgwOCwweDJjLDB4ZDAsMHgwOSwweGIwLDB4MDIsMHg3OCwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGNkOTAsIDAsIHsweDIwLDB4MDEsMHgxZSwweDA0LDB4ODcsMHhiMCwweDIwLDB4ZWMsMHgwOSwweGU5LDB4MDIsMHg4ZSwweDU4LDB4OWQsMHhiMCwweDJiIH19LAotIHsxNiwgMHhjZGEwLCAwLCB7MHhhNSwweDQwLDB4NWIsMHgwNiwweGRlLDB4NDAsMHg5NSwweDk0LDB4MmQsMHhlNCwweDE5LDB4N2IsMHgwNiwweGRlLDB4MDAsMHg4NCB9fSwKLSB7MTYsIDB4Y2RiMCwgMCwgezB4ODAsMHg2MCwweGUwLDB4MGEsMHg3OCwweDBhLDB4MTYsMHgxMCwweDg3LDB4ODAsMHgyZCwweDY4LDB4MGIsMHg3OSwweDAyLDB4NDggfX0sCi0gezE2LCAweGNkYzAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MGMsMHgwMCwweGNiLDB4YTAsMHgyNCwweGUwIH19LAotIHsxNiwgMHhjZGQwLCAwLCB7MHgwZiwweDJhLDB4MDMsMHg4ZSwweDAwLDB4ZDIsMHhkMCwweDM4LDB4ZmEsMHgwZiwweDE4LDB4YzMsMHhjZSwweDI0LDB4MzEsMHhiMCB9fSwKLSB7MTYsIDB4Y2RlMCwgMCwgezB4M2MsMHhlNSwweDBjLDB4M2IsMHgxNywweGNlLDB4MDQsMHhjMCwweDgyLDB4MzgsMHhjMiwweDllLDB4MTAsMHgwMywweDBjLDB4MDAgfX0sCi0gezE2LCAweGNkZjAsIDAsIHsweGMzLDB4MDEsMHgzZSwweGMwLDB4MGQsMHg4MSwweDAzLDB4NTIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjZTAwLCAwLCB7MHg0MCwweDFkLDB4YmMsMHgwMCwweGVmLDB4MTAsMHgzZSwweGMyLDB4MGUsMHhiMSwweDIzLDB4MmMsMHhjMSwweGFiLDB4MDEsMHgzNiB9fSwKLSB7MTYsIDB4Y2UxMCwgMCwgezB4ODAsMHgwZiwweGIwLDB4MjMsMHgyZCwweDkwLDB4ZTksMHg4NCwweDcyLDB4YzgsMHg2MiwweGYxLDB4MTcsMHhmYywweDAwLDB4ZmMgfX0sCi0gezE2LCAweGNlMjAsIDAsIHsweDAwLDB4M2IsMHhjNCwweDFkLDB4ZjAsMHgwMywweGVjLDB4MDAsMHhlZiwweDA4LDB4M2YsMHhjOCwweDBlLDB4ZjEsMHgwMywweDkwIH19LAotIHsxNiwgMHhjZTMwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGVjLDB4ODAsMHhmYiwweGE0LDB4M2EsMHhjOCB9fSwKLSB7MTYsIDB4Y2U0MCwgMCwgezB4MGUsMHg5MCwweDAzLDB4MmMsMHgwNCwweGNhLDB4MDAsMHgzMCwweDYwLDB4MmQsMHgxYSwweDI3LDB4NmMsMHg4NCwweGNiLDB4NjAgfX0sCi0gezE2LCAweGNlNTAsIDAsIHsweDMyLDB4ZDIsMHgwYywweGEwLDB4MTMsMHgyZCwweDg0LDB4Y2IsMHgwMiwweDNlLDB4YzAsMHgwZCwweGI4LDB4MDMsMHhhYywweDgwIH19LAotIHsxNiwgMHhjZTYwLCAwLCB7MHhjYiwweDgxLDB4MzIsMHg4MCwweDBjLDB4YjAsMHgwMywweGFhLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Y2U3MCwgMCwgezB4NDgsMHgxMSwweDljLDB4YTQsMHhiNywweDI4LDB4NzMsMHhjMiwweDA4LDB4ZjAsMHgwMiwweDNjLDB4YzAsMHg4ZiwweDAwLDB4MzEgfX0sCi0gezE2LCAweGNlODAsIDAsIHsweGMwLDB4MDksMHg3MCwweDgyLDB4OWMsMHg4MCwweDg3LDB4MGMsMHgyMCwweGQ4LDB4MDksMHg3MCwweDIyLDB4MWMsMHgzMCwweDg0IH19LAotIHsxNiwgMHhjZTkwLCAwLCB7MHgwMCwweDNkLDB4YzAsMHgwOCwweDcwLDB4MDIsMHgxNCwweDI0LDB4ODcsMHhhMCwweDIxLDB4YzAsMHgwOCwweDcwLDB4MTIsMHgxMiB9fSwKLSB7MTYsIDB4Y2VhMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHg5ZSwweDQwLDB4YjMsMHg5NSwweDI5LDB4ZTkgfX0sCi0gezE2LCAweGNlYjAsIDAsIHsweDBhLDB4NjgsMHgwMiwweDllLDB4ZDAsMHg4NiwweGYwLDB4YTMsMHhlMCwweDA4LDB4NzgsMHgxMiwweDllLDB4NDQsMHhhMywweDgyIH19LAotIHsxNiwgMHhjZWMwLCAwLCB7MHgyMSwweGU4LDB4MGIsMHgzOCwweDAyLDB4MGUsMHgxMCwweDg3LDB4ODAsMHgyZiwweGUwLDB4MGIsMHgxOCwweDAyLDB4OGUsMHgwMiB9fSwKLSB7MTYsIDB4Y2VkMCwgMCwgezB4ODcsMHgwMCwweDIxLDB4ZTAsMHgwOCwweDc4LDB4MDIsMHgzMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGNlZTAsIDAsIHsweDQ4LDB4MTQsMHhjYywweDAwLDB4YjMsMHgwMCwweDI0LDB4YzAsMHg0OCwweDMwLDB4MDIsMHgwYywweDA0LDB4ODMsMHg4MCwweDIwIH19LAotIHsxNiwgMHhjZWYwLCAwLCB7MHhkMCwweDA5LDB4MTAsMHgwMiwweDhjLDB4MDYsMHhhMywweDgwLDB4MjAsMHhjMCwweDBiLDB4MzAsMHgwMiwweDBjLDB4MDIsMHg4MCB9fSwKLSB7MTYsIDB4Y2YwMCwgMCwgezB4NDAsMHgyOCwweGQyLDB4MGEsMHgzMCwweDAyLDB4MGMsMHgwMSwweDgzLDB4MDAsMHgyMiwweDNjLDB4MDgsMHg4NywweDAyLDB4MTIgfX0sCi0gezE2LCAweGNmMTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YTgsMHgxOCwweGZhLDB4MDAsMHgzYSwweDgwIH19LAotIHsxNiwgMHhjZjIwLCAwLCB7MHg4ZSwweGU0LDB4NDIsMHgyOCwweDAyLDB4Y2UsMHg4MCwweDMzLDB4ODAsMHg0ZCwweGEwLDB4ODMsMHhlOCwweDAwLDB4ZWEsMHhhMCB9fSwKLSB7MTYsIDB4Y2YzMCwgMCwgezB4YjIsMHg4MCwweDBhLDB4YTAsMHgwYSwweDI4LDB4MDAsMHhjZSwweDE4LDB4MmYsMHg4MCwweDBmLDB4YTAsMHgxMywweGE4LDB4MDAgfX0sCi0gezE2LCAweGNmNDAsIDAsIHsweGNhLDB4MDAsMHgzMiwweDkwLDB4MmMsMHhhYywweDBiLDB4M2EsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjZjUwLCAwLCB7MHg0OCwweDAwLDB4ZTAsMHgwMCwweGY4LDB4MDQsMHgzYSwweDAwLDB4MGYsMHg4MCwweDgzLDB4YzAsMHgwOCwweGU4LDB4MDMsMHgzYSB9fSwKLSB7MTYsIDB4Y2Y2MCwgMCwgezB4MDAsMHgwZSwweDgwLDB4MjIsMHhjMCwweDAwLDB4ZDAsMHgwMCwweDdlLDB4MTAsMHhhNCwweDgwLDB4MDMsMHhjMCwweDAwLDB4ZjggfX0sCi0gezE2LCAweGNmNzAsIDAsIHsweDAwLDB4M2UsMHgxMCwweDBkLDB4ODQsMHgwMywweGMwLDB4MDAsMHhmOCwweDAwLDB4YmUsMHgwMCwweDBmLDB4ODAsMHgwMSwweDUyIH19LAotIHsxNiwgMHhjZjgwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGM0LDB4MDIsMHhjOSwweDAwLDB4MzYsMHg0MCB9fSwKLSB7MTYsIDB4Y2Y5MCwgMCwgezB4MGMsMHg5MCwweDAzLDB4NjQsMHgwMiwweDg5LDB4MDQsMHgzMiwweDQyLDB4MGQsMHg5MiwweDAzLDB4ZTYsMHg0MiwweGM5LDB4MDAgfX0sCi0gezE2LCAweGNmYTAsIDAsIHsweDMyLDB4NzAsMHgwZSwweDEyLDB4MGIsMHgyNCwweDA4LDB4YzksMHgwMCwweDNlLDB4NDUsMHgwZSwweDk5LDB4MDMsMHhlNCwweDAyIH19LAotIHsxNiwgMHhjZmIwLCAwLCB7MHhjMSwweDAwLDB4MzIsMHg1MCwweDA0LDB4OTQsMHgwMywweDAyLDB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Y2ZjMCwgMCwgezB4ODAsMHgwNCwweDY0LDB4MDAsMHg4OSwweDAwLDB4NmUsMHg0MCwweDA4LDB4OTAsMHgwMiwweDI0LDB4MDAsMHg4OSwweDAwLDB4MjIgfX0sCi0gezE2LCAweGNmZDAsIDAsIHsweDU0LDB4MGIsMHg5MCwweDAzLDB4ZTYsMHgwMCwweDg5LDB4MDAsMHgyMiwweDQwLDB4MDgsMHg5MCwweDBhLDB4MjQsMHgwMCwweDg5IH19LAotIHsxNiwgMHhjZmUwLCAwLCB7MHgwMCwweDM4LDB4NDgsMHgwOCwweDkwLDB4ODIsMHhlNCwweDA0LDB4ZDksMHgwMCwweDIyLDB4NDAsMHgwOCwweDkwLDB4MDIsMHgyMCB9fSwKLSB7MTYsIDB4Y2ZmMCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHgyNCwweDAwLDB4ODksMHgwMSwweDJjLDB4NDAgfX0sCi0gezE2LCAweGQwMDAsIDAsIHsweDI4LDB4MTAsMHg0MiwweDY0LDB4MDAsMHhhMSwweDA0LDB4MjIsMHg1MCwweDAxLDB4OTAsMHg0MiwweGU0LDB4MDAsMHg4OSwweDA0IH19LAotIHsxNiwgMHhkMDEwLCAwLCB7MHgyMCwweDQyLDB4MGEsMHg5MCwweDQyLDB4MzQsMHgwMCwweDg5LDB4MDAsMHg2ZSwweDQwLDB4MGEsMHg5MCwweDAwLDB4ZTQsMHgwMCB9fSwKLSB7MTYsIDB4ZDAyMCwgMCwgezB4ODksMHgwMCwweDIzLDB4NDAsMHgwYSwweGQwLDB4MDIsMHgwNiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQwMzAsIDAsIHsweDA4LDB4MDQsMHgwNCwweDgwLDB4ODEsMHgyNCwweDJjLDB4NDgsMHgwOCwweDEwLDB4MDIsMHgwNCwweDgwLDB4YTEsMHgyMCwweDI4IH19LAotIHsxNiwgMHhkMDQwLCAwLCB7MHg0MCwweDBiLDB4MTAsMHgwMiwweDg1LDB4ODAsMHg4MSwweDIwLDB4MjAsMHg0OCwweDA4LDB4NTAsMHg2MiwweDE0LDB4MDIsMHg4MSB9fSwKLSB7MTYsIDB4ZDA1MCwgMCwgezB4MDMsMHgyZSwweDQwLDB4ODgsMHgxNiwweDgyLDB4YzQsMHhhMCwweDkxLDB4MjgsMHgyMSwweDQwLDB4MmEsMHg1MCwweDAyLDB4MDIgfX0sCi0gezE2LCAweGQwNjAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjEsMHg0MCwweGM4LDB4NTAsMHgyZSwweDE0IH19LAotIHsxNiwgMHhkMDcwLCAwLCB7MHgwYywweDg1LDB4MDMsMHg2MSwweDQwLDB4ZTgsMHg1MCwweGIyLDB4MTUsMHg0ZCwweDgwLDB4MDIsMHhjMCwweDAwLDB4NDgsMHg1MCB9fSwKLSB7MTYsIDB4ZDA4MCwgMCwgezB4YjIsMHgxNSwweDFhLDB4ODAsMHgxMywweDMwLDB4MDgsMHhjOCwweDAwLDB4M2UsMHgwMCwweDBlLDB4ODIsMHgwMywweGUwLDB4ODAgfX0sCi0gezE2LCAweGQwOTAsIDAsIHsweGMwLDB4MjAsMHgzMCwweDAwLDB4MGUsMHg0MCwweDBiLDB4MmUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkMGEwLCAwLCB7MHg5OCwweDFkLDB4ZTQsMHg0MCwweGY5LDB4MTAsMHgzZSwweDQ0LDB4MGYsMHhkMCwweDAzLDB4ZTQsMHg0OCwweGRkLDB4MTAsMHgzNyB9fSwKLSB7MTYsIDB4ZDBiMCwgMCwgezB4NDAsMHgwZiwweGQ0LDB4MDcsMHhlNCwweDQwLDB4ZmQsMHgxMCwweDNlLDB4NDUsMHgwZiwweDk0LDB4MDMsMHhlNSwweDA4LDB4ZmQgfX0sCi0gezE2LCAweGQwYzAsIDAsIHsweDAyLDB4MzksMHhkMCwweDBmLDB4ZDAsMHg0MywweGY0LDB4YTAsMHhmOSwweDI4LDB4M2UsMHg0YiwweDBkLDB4OTIsMHg4MywweGU2IH19LAotIHsxNiwgMHhkMGQwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweGU2LDB4ODAsMHhjOSwweGE2LDB4MzIsMHg2OCB9fSwKLSB7MTYsIDB4ZDBlMCwgMCwgezB4MGMsMHg5MCwweDAzLDB4YTYsMHg4MSwweGU5LDB4ZTksMHgzYiwweDQwLDB4MGUsMHg1OCwweDAzLDB4MzYsMHgyMCwweGM5LDB4YTAgfX0sCi0gezE2LCAweGQwZjAsIDAsIHsweDM3LDB4NzgsMHgwZCwweGRhLDB4MDMsMHgzNiwweDI2LDB4YzUsMHgwMCwweDM3LDB4NjksMHgwZSwweGRlLDB4MDMsMHhhNiwweDgyIH19LAotIHsxNiwgMHhkMTAwLCAwLCB7MHhjZCwweGMwLDB4MzMsMHg1MCwweDBmLDB4ZDAsMHgwMywweDA2LDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDExMCwgMCwgezB4MzgsMHgxMCwweGUzLDB4YTQsMHg4OCwweGE5LDB4MjIsMHgzYSwweDA4LDB4MDgsMHgwMCwweDIyLDB4YTAsMHhiOCwweGU1LDB4MzAgfX0sCi0gezE2LCAweGQxMjAsIDAsIHsweDIwLDB4MjgsMHg4MCwweDIyLDB4NDMsMHhhMCwweDA4LDB4ZTgsMHgyYSwweDNkLDB4MDgsMHhhNCwweDYyLDB4MjAsMHgwMCwweDg4IH19LAotIHsxNiwgMHhkMTMwLCAwLCB7MHgwMCwweDJlLDB4MTAsMHgwOCwweDhlLDB4MDMsMHgyMywweGEwLDB4ODgsMHhhMCwweDIwLDB4MjgsMHgwYiwweDhhLDB4ODIsMHgwZSB9fSwKLSB7MTYsIDB4ZDE0MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhjNCwweDQwLDB4OTEsMHg0MCwweDIwLDB4NDQgfX0sCi0gezE2LCAweGQxNTAsIDAsIHsweDA4LDB4OTAsMHhhMiwweDg1LDB4MTAsMHhhMSwweDIwLDB4MmMsMHg0MiwweDBiLDB4MTQsMHgxMiwweDhjLDB4MDEsMHg5MSwweDEwIH19LAotIHsxNiwgMHhkMTYwLCAwLCB7MHgyYywweDQ4LDB4MDksMHgxMSwweDBhLDB4YzQsMHgwMCwweDgxLDB4MDAsMHgyYywweDUwLDB4MGIsMHgxMSwweDEyLDB4YzUsMHgwMSB9fSwKLSB7MTYsIDB4ZDE3MCwgMCwgezB4YjEsMHg0MCwweDI0LDB4NDgsMHgwYiwweDE4LDB4MGUsMHgwMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQxODAsIDAsIHsweDE4LDB4MTUsMHhhNCwweDAwLDB4OTEsMHgwMCwweDIyLDB4NDEsMHgwOCwweDk0LDB4NDIsMHgyNCwweDAwLDB4YjEsMHg0MCwweDIwIH19LAotIHsxNiwgMHhkMTkwLCAwLCB7MHg0MCwweDQ5LDB4YjIsMHg2MiwweDI0LDB4MDAsMHg5OSwweDAwLDB4MGEsMHg0MCwweDA4LDB4OTAsMHgwMiwweGU1LDB4ODAsMHg4OSB9fSwKLSB7MTYsIDB4ZDFhMCwgMCwgezB4MDAsMHgyZSwweDQwLDB4MDksMHhiMCwweDAyLDB4MjQsMHg4MCwweGI5LDB4MDAsMHgyNiwweDUwLDB4NGIsMHg5MCwweDAyLDB4MDYgfX0sCi0gezE2LCAweGQxYjAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4ZTQsMHgwMiwweGQ5LDB4MDAsMHhiMiwweDQwIH19LAotIHsxNiwgMHhkMWMwLCAwLCB7MHgyYywweDk1LDB4MTMsMHhhNCwweDEwLDB4ZTksMHgwMCwweGJlLDB4NjAsMHg4ZiwweDkwLDB4MGIsMHhhNCwweDEwLDB4NTksMHgwMCB9fSwKLSB7MTYsIDB4ZDFkMCwgMCwgezB4MWUsMHg0MCwweDlkLDB4OTQsMHgyMywweGU0LDB4MDIsMHg4OSwweDAwLDB4MzQsMHg0MCwweDBmLDB4OTAsMHgwMywweGU2LDB4MDggfX0sCi0gezE2LCAweGQxZTAsIDAsIHsweDc5LDB4MDAsMHhiNiwweDQwLDB4MDcsMHg5OCwweDAzLDB4MjgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkMWYwLCAwLCB7MHgyOCwweDAxLDB4ODQsMHgwMCwweGU5LDB4MDIsMHgzYywweDQwLDB4MmYsMHg5OCwweDAyLDB4ZTQsMHgwMCwweGY5LDB4NDIsMHgzYSB9fSwKLSB7MTYsIDB4ZDIwMCwgMCwgezB4NjgsMHgwYSwweDEwLDB4MDMsMHhlNCwweDEwLDB4ZTksMHgwMCwweDNlLDB4NDAsMHgwZSwweDkwLDB4MGYsMHgyNiwweDAwLDB4ZjkgfX0sCi0gezE2LCAweGQyMTAsIDAsIHsweDA0LDB4M2UsMHg0MCwweDBlLDB4MWMsMHgwMywweGU2LDB4MDAsMHhjMSwweDAwLDB4M2EsMHg1MCwweDBmLDB4OTksMHg4MywweGNhIH19LAotIHsxNiwgMHhkMjIwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxMCwweGEwLDB4MDAsMHhlOCwweDAwLDB4M2EsMHgwMCB9fSwKLSB7MTYsIDB4ZDIzMCwgMCwgezB4MGMsMHg4NCwweDAzLDB4MjAsMHgwMCwweGQ4LDB4NDIsMHgzMiwweDA0LDB4MGMsMHg4OCwweDEzLDB4ZTAsMHgwMCwweGM4LDB4MDAgfX0sCi0gezE2LCAweGQyNDAsIDAsIHsweDMwLDB4MDAsMHgwYywweDA0LDB4MGIsMHgwMCwweDAwLDB4ZDgsMHgwMCwweDM2LDB4MDAsMHgwZSwweDgwLDB4MjMsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkMjUwLCAwLCB7MHhjOCwweDgwLDB4MzIsMHgwMCwweDBjLDB4ODAsMHgwMSwweDBhLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDI2MCwgMCwgezB4MjgsMHgwNSwweDI4LDB4MTAsMHg4YSwweDAwLDB4MmUsMHg4MCwweDI4LDB4MjAsMHgyMiwweDI4LDB4MDAsMHg4YSwweDAwLDB4MjMgfX0sCi0gezE2LCAweGQyNzAsIDAsIHsweGIwLDB4ODgsMHhlMCwweDAyLDB4MjgsMHgxMCwweGRhLDB4MDAsMHhhMywweGI0LDB4MDgsMHhlOCwweDEwLDB4MjgsMHgwMCwweDhlIH19LAotIHsxNiwgMHhkMjgwLCAwLCB7MHgyMCwweDIzLDB4YTAsMHg0OCwweGVkLDB4MWEsMHgyOCwweDAwLDB4ZGUsMHgwMCwweDIzLDB4OTAsMHgwYSwweGUwLDB4MDIsMHgwYSB9fSwKLSB7MTYsIDB4ZDI5MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg0YywweDAwLDB4YTMsMHgwMCwweDI4LDB4YzAgfX0sCi0gezE2LCAweGQyYTAsIDAsIHsweDA4LDB4MzAsMHgwYSwweDBjLDB4MDAsMHg5MywweDAwLDB4MjAsMHhjMiwweDJhLDB4MzAsMHgyMiwweGE0LDB4MDAsMHhiYiwweDAwIH19LAotIHsxNiwgMHhkMmIwLCAwLCB7MHgwOCwweGUwLDB4MTgsMHgwOSwweDBhLDB4NGMsMHgwMCwweDkzLDB4MDIsMHgyNCwweGU4LDB4MDIsMHgwOCwweDA2LDB4NGMsMHgwMCB9fSwKLSB7MTYsIDB4ZDJjMCwgMCwgezB4OTMsMHgwMCwweDIwLDB4ZDgsMHgwYSwweDkwLDB4MDIsMHg0YSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQyZDAsIDAsIHsweGEwLDB4MDEsMHgxYywweDgwLDB4ODcsMHgwNCwweDJkLDB4YzAsMHgwOCwweDcwLDB4MDIsMHgwZSwweDAwLDB4ODcsMHgxMCwweDI1IH19LAotIHsxNiwgMHhkMmUwLCAwLCB7MHgwMCwweDBhLDB4NjAsMHgwMiwweDVlLDB4MDAsMHg5NywweDAwLDB4MjksMHg4MiwweDA4LDB4NTAsMHgxMiwweDU0LDB4MDAsMHg4ZiB9fSwKLSB7MTYsIDB4ZDJmMCwgMCwgezB4ODAsMHg2MSwweGQwLDB4MDgsMHgwNCwweDAyLDB4NWMsMHgwMSwweGI3LDB4MDgsMHhhOSwweGEwLDB4MGEsMHg1MCwweDgyLDB4NjggfX0sCi0gezE2LCAweGQzMDAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4M2UsMHg4MCwweGU3LDB4ODAsMHgzOCwweGU0IH19LAotIHsxNiwgMHhkMzEwLCAwLCB7MHgwOCwweDdlLDB4MDMsMHgxZiwweDAwLDB4ZGYsMHg4MCwweGIxLDB4MjEsMHgxZSwweDc4LDB4MDMsMHhkYywweDA0LDB4ZjMsMHg4MCB9fSwKLSB7MTYsIDB4ZDMyMCwgMCwgezB4NWIsMHhlMSwweDA4LDB4MjgsMHgwMywweDVlLDB4MDAsMHhkNywweDgwLDB4MzUsMHg2MCwweDBlLDB4NjgsMHgwMywweDRlLDB4MDAgfX0sCi0gezE2LCAweGQzMzAsIDAsIHsweGRmLDB4ODAsMHgzMSwweGUwLDB4MGUsMHhmOCwweDBiLDB4NmEsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkMzQwLCAwLCB7MHgwOCwweDFkLDB4YWQsMHgwMiwweGZiLDB4NzQsMHgzZSwweGQwLDB4NGYsMHhiMiwweDgzLDB4ZWQsMHgwMCwweDdiLDB4NjgsMHgzYSB9fSwKLSB7MTYsIDB4ZDM1MCwgMCwgezB4MDAsMHg4ZCwweDgwLDB4MDMsMHhhNCwweDIwLDB4ZGIsMHgwMSwweDM2LDB4ODAsMHg2ZiwweGIwLDB4NDEsMHg4NCwweDAwLDB4ZWIgfX0sCi0gezE2LCAweGQzNjAsIDAsIHsweDAwLDB4M2MsMHhjMCwweDBmLDB4ZTYsMHg4MywweGJjLDB4NDAsMHhkYiwweDAwLDB4YjYsMHg4MCwweDBmLDB4YjAsMHgwMywweDgyIH19LAotIHsxNiwgMHhkMzcwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweGZmLDB4MjAsMHhkZiwweGMwLDB4M2IsMHhlNiB9fSwKLSB7MTYsIDB4ZDM4MCwgMCwgezB4MGUsMHhmOCwweDEzLDB4ZmYsMHg0NCwweGM3LDB4ODIsMHgzYiwweGUwLDB4MGYsMHhmOSwweDAzLDB4YmUsMHgxMCwweGNmLDB4YzggfX0sCi0gezE2LCAweGQzOTAsIDAsIHsweDMzLDB4NjAsMHg4ZCwweGViLDB4MDMsMHgzZSwweDAwLDB4ZGIsMHg4MiwweDNmLDB4ZTAsMHgwYywweGQ4LDB4MDMsMHgzZSwweDQwIH19LAotIHsxNiwgMHhkM2EwLCAwLCB7MHhjZSwweDgwLDB4MzMsMHhlNCwweDBmLDB4ZjgsMHgwMywweDAwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDNiMCwgMCwgezB4YTgsMHgxMSwweGJjLDB4NDAsMHg4NywweDAwLDB4MjEsMHhlNCwweDBiLDB4NzgsMHhhMiwweGNlLDB4OTAsMHhjNywweGIwLDB4MjAgfX0sCi0gezE2LCAweGQzYzAsIDAsIHsweGU4LDB4MGIsMHgyOCwweDkyLDB4YjYsMHg4OCwweDg3LDB4YTAsMHgyMCwweDY0LDB4MGIsMHgzNSwweDAzLDB4MTQsMHgwMCwweDg3IH19LAotIHsxNiwgMHhkM2QwLCAwLCB7MHhiMiwweDM5LDB4YzAsMHgyYywweGMwLDB4MDMsMHg1ZSwweDAyLDB4Y2YsMHgwMCwweDMxLDB4Y2UsMHgwYiwweDc2LDB4MTIsMHgyYSB9fSwKLSB7MTYsIDB4ZDNlMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5YywweDAwLDB4YTMsMHgxMCwweDI5LDB4YzggfX0sCi0gezE2LCAweGQzZjAsIDAsIHsweDBiLDB4NzQsMHgwMiwweGRjLDB4ODAsMHg4ZiwweDAwLDB4MjksMHhjYywweDBhLDB4MzAsMHgwNiwweDE0LDB4ODAsMHg4NywweDEwIH19LAotIHsxNiwgMHhkNDAwLCAwLCB7MHgyMSwweGMwLDB4MGIsMHg2NiwweDAyLDB4NWMsMHgwMCwweDg3LDB4MDAsMHgyZCwweGMwLDB4MGIsMHg1MSwweDAyLDB4MWMsMHg4MCB9fSwKLSB7MTYsIDB4ZDQxMCwgMCwgezB4OTYsMHgwMCwweDIxLDB4YzAsMHg1YiwweDc0LDB4ODIsMHgwMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQ0MjAsIDAsIHsweDIwLDB4MTQsMHhjYywweDA4LDB4YTMsMHgwMCwweDIwLDB4YzAsMHgwYiwweGI4LDB4MDIsMHhjYywweDAwLDB4OGIsMHg0MCwweGE4IH19LAotIHsxNiwgMHhkNDMwLCAwLCB7MHhjMCwweDhiLDB4MDgsMHgyMiwweDhjLDB4MDIsMHg4MywweDAwLDB4NjAsMHhjMCwweDBiLDB4MzAsMHg0MiwweDA0LDB4MDAsMHg4MyB9fSwKLSB7MTYsIDB4ZDQ0MCwgMCwgezB4NDAsMHgyOCwweGZjLDB4OGEsMHgwMCwweDAyLDB4NmUsMHgwMCwweDgzLDB4MDAsMHhhMCwweGQwLDB4OGIsMHgzOCwweDAyLDB4MDggfX0sCi0gezE2LCAweGQ0NTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDExLDB4YmMsMHgwMiwweGVmLDB4MDAsMHgzYiwweGMwIH19LAotIHsxNiwgMHhkNDYwLCAwLCB7MHg0ZiwweGY4LDB4MDIsMHhmYywweDAyLDB4Y2YsMHgwMCwweDM4LDB4MTIsMHgwZSwweDk4LDB4MDIsMHgyYywweDAwLDB4Y2YsMHgwMCB9fSwKLSB7MTYsIDB4ZDQ3MCwgMCwgezB4MzIsMHhjMCwweDA5LDB4OTAsMHgwMywweDY0LDB4MDIsMHg4MSwweGMwLDB4M2UsMHhkMCwweDBmLDB4OTAsMHgwNywweDNjLDB4MDMgfX0sCi0gezE2LCAweGQ0ODAsIDAsIHsweGQ5LDB4MDAsMHgzMiwweDYwLDB4MGYsMHg4OCwweDAzLDB4MmEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkNDkwLCAwLCB7MHg4MCwweDAwLDB4Y2MsMHgwMCwweGRiLDB4MDAsMHgzZSwweGMwLDB4OGYsMHhiMCwweDAzLDB4ZWMsMHgwMCwweGZiLDB4MDIsMHgzNiB9fSwKLSB7MTYsIDB4ZDRhMCwgMCwgezB4YzAsMHg0ZiwweDkwLDB4MDIsMHhlNCwweDAwLDB4ZmIsMHgwMCwweGJlLDB4OTAsMHgwZiwweDljLDB4MTMsMHhlYywweDAwLDB4ZTkgfX0sCi0gezE2LCAweGQ0YjAsIDAsIHsweDE4LDB4M2EsMHhkMCwweDA0LDB4ZDUsMHgwMywweGVjLDB4NDAsMHhlOSwweDAwLDB4M2EsMHgwMCwweDhmLDB4ODAsMHgwMywweGUwIH19LAotIHsxNiwgMHhkNGMwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGZjLDB4MDAsMHhjZiwweDAwLDB4M2QsMHhjMSB9fSwKLSB7MTYsIDB4ZDRkMCwgMCwgezB4OGMsMHhmMCwweDAzLDB4MmMsMHgwMCwweGVmLDB4MGEsMHhiMywweDEyLDB4MmMsMHg3MCwweDIzLDB4MTQsMHgwYSwweDRmLDB4MDAgfX0sCi0gezE2LCAweGQ0ZTAsIDAsIHsweDM1LDB4NjAsMHgwZCwweGIwLDB4MDMsMHgwNCwweDAwLDB4Y2QsMHg4MCwweDA3LDB4ZTgsMHgwYywweGM0LDB4MDMsMHgyYywweDAwIH19LAotIHsxNiwgMHhkNGYwLCAwLCB7MHhjZCwweDAwLDB4MzEsMHhlMiwweDJjLDB4ZTAsMHgwMywweDAwLDB4NDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDUwMCwgMCwgezB4ODEsMHgwNCwweDZjLDB4MDIsMHhhYiwweDAyLDB4MmUsMHhjMCwweDBlLDB4YjAsMHgwMiwweDJjLDB4MDAsMHg4YiwweDAwLDB4MzIgfX0sCi0gezE2LCAweGQ1MTAsIDAsIHsweDMwLDB4MDAsMHg5YywweDAzLDB4NmMsMHgwMCwweDhiLDB4MDQsMHgyMiwweDM2LDB4MDgsMHgzNCwweDRhLDB4MmMsMHgwOCwweDg5IH19LAotIHsxNiwgMHhkNTIwLCAwLCB7MHg5MCwweDIwLDB4YjgsMHgwZiwweDg0LDB4MDAsMHhhYywweDAyLDB4ODksMHgwMCwweDM2LDB4YTAsMHgwOCwweGE0LDB4MDIsMHgyMCB9fSwKLSB7MTYsIDB4ZDUzMCwgMCwgezB4NDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgyYywweDAwLDB4OGIsMHgwMCwweDJlLDB4YzAgfX0sCi0gezE2LCAweGQ1NDAsIDAsIHsweDA4LDB4YjAsMHgwMiwweDBjLDB4MDAsMHg4YiwweDAwLDB4MjIsMHhkMSwweDA4LDB4ODgsMHgxMiwweDI2LDB4MDAsMHhhMywweDAwIH19LAotIHsxNiwgMHhkNTUwLCAwLCB7MHgyNiwweDQwLDB4MGIsMHhiMCwweDAyLDB4MjYsMHgwMCwweDhiLDB4MDAsMHgyNiwweGMwLDB4NTgsMHgxMCwweDEyLDB4MmMsMHgwNCB9fSwKLSB7MTYsIDB4ZDU2MCwgMCwgezB4ODIsMHg4MCwweDJhLDB4NDksMHgwOCwweDMwLDB4MDIsMHgyMCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQ1NzAsIDAsIHsweDA4LDB4MDQsMHgwYywweDAwLDB4YTMsMHgxNCwweDJjLDB4YzgsMHgxYSwweDM0LDB4OGEsMHgwYywweDg0LDB4ODMsMHg0MCwweDIyIH19LAotIHsxNiwgMHhkNTgwLCAwLCB7MHhjOCwweDA4LDB4MDMsMHg2MiwweDRjLDB4YzAsMHhhMywweDYwLDB4MjAsMHg0MCwweDBhLDB4MzAsMHgwMiwweDBjLDB4MDAsMHg4YiB9fSwKLSB7MTYsIDB4ZDU5MCwgMCwgezB4NDUsMHgwOCwweGMwLDB4MGIsMHgxMCwweDAyLDB4OGMsMHhhMCwweDgzLDB4MDAsMHgyNiwweDQwLDB4MDgsMHgzMCwweDBhLDB4MDIgfX0sCi0gezE2LCAweGQ1YTAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4N2MsMHgwMCwweGNmLDB4NDAsMHgyZiwweGQyIH19LAotIHsxNiwgMHhkNWIwLCAwLCB7MHg4YywweGY2LDB4MDMsMHgzYywweDIyLDB4Y2YsMHg0MCwweDMyLDB4ZDYsMHg0YywweGE2LDB4YzEsMHgzZCwweGEwLDB4ODcsMHg0OCB9fSwKLSB7MTYsIDB4ZDVjMCwgMCwgezB4MzYsMHgwZCwweDBmLDB4YjEsMHgwMiwweDI0LDB4NDIsMHhjYiwweDYwLDB4MTYsMHhjMCwweDBjLDB4ZDAsMHgwMywweDJjLDB4ODAgfX0sCi0gezE2LCAweGQ1ZDAsIDAsIHsweGNhLDB4MDAsMHgzMiwweGMwLDB4MGMsMHgzMCwweDAzLDB4MDAsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkNWUwLCAwLCB7MHhhMCwweDE5LDB4ZmMsMHgwMCwweGZmLDB4MjAsMHgzZSwweGNhLDB4MGUsMHhiMCwweDAzLDB4ZWMsMHgyMCwweGRiLDB4MzQsMHgzYSB9fSwKLSB7MTYsIDB4ZDVmMCwgMCwgezB4YzgsMHgwZiwweDgwLDB4MDMsMHhlNCwweDEwLDB4ZGIsMHgyMSwweDNlLDB4MTgsMHgwZCwweGYyLDB4MDMsMHhmYywweDgwLDB4ZmYgfX0sCi0gezE2LCAweGQ2MDAsIDAsIHsweDMwLDB4MzUsMHhjMCwweDBmLDB4YzAsMHgxMywweGVjLDB4MDAsMHhmZiwweDAwLDB4M2IsMHhjMCwweDBmLDB4ZjAsMHgwMywweGU4IH19LAotIHsxNiwgMHhkNjEwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgxMSwweGZjLDB4MDAsMHhmYiwweDBiLDB4MmYsMHhjYSB9fSwKLSB7MTYsIDB4ZDYyMCwgMCwgezB4OGQsMHhmMiwweDAzLDB4ZmEsMHgwMCwweDk2LDB4ODAsMHgzYiwweGM0LDB4MGQsMHhmMSwweDAzLDB4N2MsMHg4MCwweGVjLDB4ODAgfX0sCi0gezE2LCAweGQ2MzAsIDAsIHsweDNiLDB4MDgsMHgwYywweGMyLDB4MDMsMHg3NCwweDAyLDB4Y2MsMHg4MCwweDNmLDB4NDgsMHgwZSwweGYwLDB4MDMsMHgzMCwweGEwIH19LAotIHsxNiwgMHhkNjQwLCAwLCB7MHhkNSwweDgwLDB4M2YsMHg0MCwweDBjLDB4ZjgsMHgwMywweGYwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDY1MCwgMCwgezB4ODAsMHgwOCwweGVlLDB4NDAsMHhiZiwweDgwLDB4MmYsMHhmMCwweDBiLDB4ZjcsMHgyMiwweGVlLDB4MjAsMHg4YSwweDgwLDB4MjMgfX0sCi0gezE2LCAweGQ2NjAsIDAsIHsweGZjLDB4ODgsMHg3NSwweDEyLDB4M2QsMHgwMCwweDg4LDB4MDAsMHgyMiwweDAwLDB4MjgsMHg4MCwweDAyLDB4MjQsMHgwOCwweDg4IH19LAotIHsxNiwgMHhkNjcwLCAwLCB7MHgwMCwweDZmLDB4NTAsMHgwMCwweGY1LDB4MDIsMHgyOSwweDAwLDB4ODksMHgwMCwweDJlLDB4NTQsMHgwZCwweDkwLDB4MTEsMHhhMCB9fSwKLSB7MTYsIDB4ZDY4MCwgMCwgezB4MDQsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjYywweDAwLDB4YjMsMHgwMCwweDJjLDB4YzEgfX0sCi0gezE2LCAweGQ2OTAsIDAsIHsweDA5LDB4MzAsMHg4MiwweGNjLDB4ODIsMHhiYiwweDAwLDB4MjgsMHhjMCwweDQ5LDB4MzIsMHgwMiwweGNkLDB4MDAsMHhiOCwweDAwIH19LAotIHsxNiwgMHhkNmEwLCAwLCB7MHgyYywweDUwLDB4MDksMHgwMSwweDAyLDB4MGMsMHg0MCwweDgwLDB4MDAsMHg2YywweDQ0LDB4MDksMHgzMCwweDAyLDB4MjAsMHgwMCB9fSwKLSB7MTYsIDB4ZDZiMCwgMCwgezB4YjAsMHgwMCwweDJjLDB4NDAsMHgxOCwweDMwLDB4MDYsMHhlMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQ2YzAsIDAsIHsweGMwLDB4MDEsMHhhYywweDAwLDB4YmIsMHgwMSwweDJlLDB4YzAsMHgwYiwweGIwLDB4MDIsMHhlZSwweDAwLDB4YWEsMHgwMCwweDRhIH19LAotIHsxNiwgMHhkNmQwLCAwLCB7MHhjMCwweDA4LDB4YjAsMHg1MiwweGVjLDB4MDAsMHg5OCwweDAyLDB4MjYsMHg0MCwweDA5LDB4ODAsMHgwMiwweDZjLDB4MDEsMHhhYSB9fSwKLSB7MTYsIDB4ZDZlMCwgMCwgezB4MDQsMHgyZSwweDQwLDB4MDksMHhiMCwweDAyLDB4MjIsMHgwMCwweGE5LDB4ODAsMHgyZSwweDQxLDB4MDksMHg5MCwweDAyLDB4ZjAgfX0sCi0gezE2LCAweGQ2ZjAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDA1LDB4ZWMsMHgwMCwweGZiLDB4MDAsMHgzZSwweGMwIH19LAotIHsxNiwgMHhkNzAwLCAwLCB7MHgwZCwweGIwLDB4MDMsMHhjZSwweDg0LDB4ZmEsMHgwMCwweDFhLDB4YzAsMHg4ZCwweGIwLDB4NDMsMHhlYywweDAwLDB4ZjAsMHgwMiB9fSwKLSB7MTYsIDB4ZDcxMCwgMCwgezB4M2YsMHgwMCwweDBkLDB4ZDEsMHgwMywweDM1LDB4MDAsMHhjYiwweDQ4LDB4MmUsMHg0MCwweDJmLDB4YjAsMHgwOSwweDIyLDB4ODAgfX0sCi0gezE2LCAweGQ3MjAsIDAsIHsweGY5LDB4YzgsMHgxZSwweGUwLDB4MDgsMHhiMSwweGUyLDB4ZDAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkNzMwLCAwLCB7MHhlMCwweDAxLDB4YmMsMHgwMCwweDdiLDB4MDAsMHgzZiwweGMwLDB4MGYsMHhmMCwweDIzLDB4ZmMsMHgwMCwweGRlLDB4MDAsMHgyNCB9fSwKLSB7MTYsIDB4ZDc0MCwgMCwgezB4YzAsMHg0ZiwweGYwLDB4MDMsMHgyYywweDAwLDB4ZWMsMHgyMCwweDNiLDB4MDAsMHgwZSwweDk4LDB4MDMsMHg5NCwweDAyLDB4ZGQgfX0sCi0gezE2LCAweGQ3NTAsIDAsIHsweDAwLDB4M2YsMHg0MCwweDRlLDB4ZjAsMHgwMSwweGY4LDB4MDAsMHhkZCwweDAwLDB4M2MsMHhlNCwweDBmLDB4ZDgsMHgwMywweGI4IH19LAotIHsxNiwgMHhkNzYwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwMCwweGFjLDB4YzAsMHhmYiwweDIwLDB4MzIsMHhjOCB9fSwKLSB7MTYsIDB4ZDc3MCwgMCwgezB4OGQsMHhiMCwweDAzLDB4ZWMsMHgwMCwweGY5LDB4MDAsMHgzYSwweGMyLDB4MmMsMHgzMCwweDAzLDB4NmMsMHgwNCwweGQ4LDB4MDIgfX0sCi0gezE2LCAweGQ3ODAsIDAsIHsweDNjLDB4NDQsMHg4ZCwweDEwLDB4MDMsMHhhZCwweDAzLDB4ZWEsMHgwMCwweDNjLDB4NDAsMHgwYywweDcwLDB4MjMsMHhlNCwweDAwIH19LAotIHsxNiwgMHhkNzkwLCAwLCB7MHhjOCwweDQwLDB4M2EsMHhjMCwweDBkLDB4YmMsMHgwMywweDUwLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDdhMCwgMCwgezB4YzgsMHgwMSwweDNkLDB4MDAsMHhiZiwweDQyLDB4MjMsMHhmMCwweDBkLDB4ZjAsMHgwMiwweGU1LDB4MDAsMHhlMiwweDAxLDB4MzcgfX0sCi0gezE2LCAweGQ3YjAsIDAsIHsweGYxLDB4MDgsMHhmMCwweDBlLDB4M2QsMHhjMCwweGE4LDB4MDAsMHgyZSwweDU0LDB4MjgsMHg5MCwweDAyLDB4MmMsMHgwMCwweDhhIH19LAotIHsxNiwgMHhkN2MwLCAwLCB7MHgwNSwweDNiLDB4NDEsMHg0OCwweGY1LDB4MDMsMHg4YywweDAwLDB4ODksMHgwMCwweDIyLDB4ZDQsMHgwZSwweDk1LDB4MDIsMHhmMiB9fSwKLSB7MTYsIDB4ZDdkMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg0YywweDAwLDB4YjMsMHgwNCwweDIwLDB4YzAgfX0sCi0gezE2LCAweGQ3ZTAsIDAsIHsweDg5LDB4MzAsMHgwMiwweGNjLDB4NDAsMHhiMiwweDAwLDB4MmMsMHhjNCwweDQ4LDB4MzAsMHgwMiwweDJjLDB4MDIsMHhhMiwweDAwIH19LAotIHsxNiwgMHhkN2YwLCAwLCB7MHgyYywweDIwLDB4MTksMHgyMCwweDFhLDB4ODAsMHgwOCwweGIwLDB4MDAsMHg2YywweDQwLDB4MDgsMHgzMCwweDAyLDB4YzQsMHgwMCB9fSwKLSB7MTYsIDB4ZDgwMCwgMCwgezB4ODEsMHgwMCwweDJjLDB4NDAsMHgwOCwweDMwLDB4MDIsMHhmOCwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQ4MTAsIDAsIHsweDIwLDB4MDEsMHgxZSwweDAwLDB4YjcsMHhhMCwweGUxLDB4ZTAsMHgwOSwweDc4LDB4MDIsMHhkZiwweDA0LDB4YWUsMHg4MCwweDJkIH19LAotIHsxNiwgMHhkODIwLCAwLCB7MHhlMCwweDA4LDB4NzksMHgwMiwweDFlLDB4MTAsMHg4NywweDkwLDB4MmMsMHgyOCwweDI5LDB4NjgsMHgwMiwweDgyLDB4ODEsMHhiNCB9fSwKLSB7MTYsIDB4ZDgzMCwgMCwgezB4ODAsMHgyZCwweDYwLDB4MDgsMHg3OCwweDEwLDB4YmMsMHgwMCwweDhmLDB4ODAsMHgyZCwweDYwLDB4MGIsMHg2OCwweDAyLDB4YzggfX0sCi0gezE2LCAweGQ4NDAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDAwLDB4MGMsMHgwNSwweGYzLDB4OTIsMHgzMCwweGNhIH19LAotIHsxNiwgMHhkODUwLCAwLCB7MHgwZCwweDMwLDB4MDMsMHhjYywweDAwLDB4ZjMsMHgwMCwweDNjLDB4YzAsMHgwYywweDMwLDB4MDIsMHgwYywweDgwLDB4NzAsMHgwMCB9fSwKLSB7MTYsIDB4ZDg2MCwgMCwgezB4MmMsMHg0MCwweDBkLDB4MjAsMHgwMywweDg5LDB4MDAsMHhiMSwweDAwLDB4M2UsMHg0MCwweDJjLDB4MzAsMHgwMywweGVjLDB4NTAgfX0sCi0gezE2LCAweGQ4NzAsIDAsIHsweGMzLDB4MjAsMHgzYywweDQwLDB4MGMsMHgzMCwweDAzLDB4ZDIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkODgwLCAwLCB7MHg0MCwweDFkLDB4YmMsMHgwMCwweGZmLDB4MDAsMHgzYywweGMwLDB4MGUsMHhiMCwweDgzLDB4ZWMsMHg0MCwweGVhLDB4MDAsMHgzNiB9fSwKLSB7MTYsIDB4ZDg5MCwgMCwgezB4YzIsMHgwZiwweGIwLDB4ODMsMHhhYywweDAwLDB4ZjgsMHgwMCwweDNlLDB4NDgsMHgwZSwweGUwLDB4MGIsMHg3YSwweDgwLDB4Y2YgfX0sCi0gezE2LCAweGQ4YTAsIDAsIHsweDAwLDB4M2IsMHg0NCwweDBmLDB4ZjAsMHgwMywweGVjLDB4YzAsMHhmZiwweDAwLDB4MDMsMHg0NCwweDBlLDB4ZTAsMHgwMywweGQwIH19LAotIHsxNiwgMHhkOGIwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGVjLDB4MDAsMHhmYiwweDIzLDB4M2UsMHhjOCB9fSwKLSB7MTYsIDB4ZDhjMCwgMCwgezB4MWQsMHhiMCwweDAzLDB4ZWUsMHgwMCwweGNhLDB4MDAsMHgzZSwweGM4LDB4MGMsMHhiMiwweDAzLDB4MmQsMHg5MCwweGM4LDB4ODQgfX0sCi0gezE2LCAweGQ4ZDAsIDAsIHsweDM2LDB4MDAsMHgyZCwweGIwLDB4MDMsMHg2MCwweDE4LDB4OWIsMHg4MCwweDMzLDB4NTAsMHgwYywweGYyLDB4MDMsMHhlMiwweDAwIH19LAotIHsxNiwgMHhkOGUwLCAwLCB7MHhjOSwweDgwLDB4MzIsMHg0MCwweDBjLDB4YjgsMHgwMywweDJhLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDhmMCwgMCwgezB4NDgsMHgxMSwweDljLDB4MDAsMHhiNywweDI4LDB4MGMsMHhkMiwweDI4LDB4NzMsMHgwMiwweGZjLDB4MDAsMHg4NiwweDA0LDB4MmMgfX0sCi0gezE2LCAweGQ5MDAsIDAsIHsweGNjLDB4MjgsMHg3MCwweDgzLDB4MGMsMHgyMCwweDk1LDB4MDEsMHgyMCwweDAwLDB4MDksMHgzMCwweDEyLDB4MTAsMHgwNCwweDg1IH19LAotIHsxNiwgMHhkOTEwLCAwLCB7MHgwMCwweDIxLDB4NTIsMHgwOCwweDc1LDB4MDIsMHhkOCwweDAwLDB4ODcsMHgwMCwweDIxLDB4NDAsMHgwOCwweDYwLDB4MDIsMHgxMiB9fSwKLSB7MTYsIDB4ZDkyMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHg5ZSwweGQ0LDB4YjcsMHhiMSwweDA5LDB4ZTEgfX0sCi0gezE2LCAweGQ5MzAsIDAsIHsweDA4LDB4NzgsMHgyMiwweGRlLDB4MDAsMHg5NSwweDgwLDB4MmQsMHhlMCwweDA4LDB4NzgsMHgwYSwweDVlLDB4NDIsMHg5NCwweGMwIH19LAotIHsxNiwgMHhkOTQwLCAwLCB7MHgyMSwweDYwLDB4MDgsMHg3OCwweDAyLDB4NWEsMHgwMCwweDg3LDB4ODAsMHgyZCwweDY4LDB4MDgsMHg3YSwweDAyLDB4ZDcsMHgwMCB9fSwKLSB7MTYsIDB4ZDk1MCwgMCwgezB4OTcsMHg4MCwweDIwLDB4NjAsMHgwOSwweDc4LDB4MDIsMHgzMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQ5NjAsIDAsIHsweDQ4LDB4MTAsMHhjYywweDAwLDB4YjMsMHgwMCwweDJjLDB4YzAsMHgwOCwweGIwLDB4MDIsMHhjZCwweDgwLDB4OTIsMHgwMCwweDJjIH19LAotIHsxNiwgMHhkOTcwLCAwLCB7MHhjMCwweDA4LDB4YjAsMHgwMiwweGNjLDB4MDAsMHg5MCwweDgwLDB4YTAsMHg0MCwweDA5LDB4MzYsMHgwMiwweDQ4LDB4MDIsMHg4MyB9fSwKLSB7MTYsIDB4ZDk4MCwgMCwgezB4YTAsMHhhYywweDQwLDB4MmEsMHgzMCwweDA2LDB4Y2UsMHgwMiwweDkzLDB4MDQsMHhhMCwweDQwLDB4MDksMHgyMCwweDBhLDB4MTIgfX0sCi0gezE2LCAweGQ5OTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YTgsMHgwMCwweGZhLDB4MDAsMHgzYSwweDgwIH19LAotIHsxNiwgMHhkOWEwLCAwLCB7MHgwZCwweGEwLDB4MDMsMHhmYiwweDAyLDB4ZGUsMHg4MCwweDNlLDB4ODAsMHgwYywweGEwLDB4MDMsMHgyOCwweDAwLDB4Y2UsMHg4MCB9fSwKLSB7MTYsIDB4ZDliMCwgMCwgezB4MzIsMHg4MCwweDBjLDB4YTQsMHgwMywweDc4LDB4MDAsMHhjZSwweGE0LDB4M2YsMHg4MCwweDBjLDB4YTAsMHgwNywweGY5LDB4MDAgfX0sCi0gezE2LCAweGQ5YzAsIDAsIHsweGRlLDB4MDAsMHgzMiwweDgwLDB4MmQsMHhlMCwweDAyLDB4M2EsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkOWQwLCAwLCB7MHg0OCwweDAwLDB4ZTEsMHgwMCwweGY4LDB4MDAsMHg3YywweDAwLDB4MGYsMHg4MCwweDAzLDB4ZTAsMHg0MCwweGU4LDB4MTAsMHgzYyB9fSwKLSB7MTYsIDB4ZDllMCwgMCwgezB4MDEsMHhjZiwweDgwLDB4MGYsMHgyMCwweDAwLDB4ZTgsMHgwMCwweDNlLDB4MDAsMHgwZSwweDA0LDB4MDMsMHg5MCwweDAwLDB4ZTggfX0sCi0gezE2LCAweGQ5ZjAsIDAsIHsweDAwLDB4MjAsMHgwMCwweDBkLDB4ODAsMHgwNywweGUwLDB4MDAsMHhlOCwweDAwLDB4M2UsMHgwNCwweDBlLDB4ODAsMHgwMywweGQyIH19LAotIHsxNiwgMHhkYTAwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGU0LDB4MDAsMHhmOSwweDEwLDB4N2UsMHg0MSB9fSwKLSB7MTYsIDB4ZGExMCwgMCwgezB4MGUsMHg5MCwweDAzLDB4MjQsMHgwMCwweGY5LDB4MDAsMHgzNiwweDY4LDB4MGUsMHg5MCwweDBmLDB4YTQsMHgwOCwweGM5LDB4MDAgfX0sCi0gezE2LCAweGRhMjAsIDAsIHsweDNhLDB4NDAsMHgwYywweDkwLDB4MGIsMHgyNCwweDEyLDB4ZTksMHgwMCwweDNlLDB4NDQsMHgyYywweDkwLDB4MDMsMHg2NCwweDI0IH19LAotIHsxNiwgMHhkYTMwLCAwLCB7MHhmOSwweDAyLDB4MmUsMHg0MCwweDBjLDB4OTAsMHgwMywweGMyLDB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZGE0MCwgMCwgezB4ODAsMHgwNCwweDY1LDB4MTAsMHhiOSwweDgwLDB4M2UsMHg0MCwweDA4LDB4OTAsMHgwYSwweDI2LDB4MDAsMHhiMSwweDEwLDB4MmEgfX0sCi0gezE2LCAweGRhNTAsIDAsIHsweDcyLDB4MDgsMHg5MCwweDA3LDB4NjQsMHgwMiwweDg5LDB4NDAsMHgyZSwweDQwLDB4MjgsMHg5MCwweDEyLDB4MjUsMHgwMCwweDg5IH19LAotIHsxNiwgMHhkYTYwLCAwLCB7MHg0NSwweDNlLDB4NTAsMHgwZCwweDkwLDB4MGEsMHgyNSwweDAwLDB4YjksMHg0MCwweDJlLDB4NDAsMHgyOCwweDk0LDB4MDMsMHhlMCB9fSwKLSB7MTYsIDB4ZGE3MCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHgyNCwweDAwLDB4YjksMHgwMCwweDJlLDB4NDAgfX0sCi0gezE2LCAweGRhODAsIDAsIHsweDQ4LDB4OTAsMHg0MiwweDI2LDB4MDEsMHhiOSwweDQwLDB4MjYsMHg0MCwweDBhLDB4OTAsMHg0MiwweDg0LDB4MDEsMHg4YiwweDA4IH19LAotIHsxNiwgMHhkYTkwLCAwLCB7MHgyYywweDQwLDB4MDksMHhkMCwweDgyLDB4MzQsMHgzMiwweGE5LDB4MDgsMHg2ZSwweDQyLDB4MDgsMHgxMCwweDAyLDB4MjQsMHgyMCB9fSwKLSB7MTYsIDB4ZGFhMCwgMCwgezB4YjksMHgwOCwweDJjLDB4NDAsMHgxOCwweDkwLDB4ODIsMHhjNiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGRhYjAsIDAsIHsweDA4LDB4MDQsMHgwNCwweDgwLDB4YjMsMHgyMCwweDI4LDB4NDgsMHgwOCwweDEyLDB4MDIsMHgwNCwweDAxLDB4YjEsMHgwMCwweDI4IH19LAotIHsxNiwgMHhkYWMwLCAwLCB7MHg1OCwweDA4LDB4MTIsMHgwMiwweDA1LDB4ODksMHg4MSwweDQwLDB4MmMsMHg1OCwweDA4LDB4NTYsMHgwNiwweDE1LDB4ODAsMHg4MSB9fSwKLSB7MTYsIDB4ZGFkMCwgMCwgezB4NDAsMHgyOCwweDUwLDB4MDksMHgxNCwweDAyLDB4MDUsMHg4MCwweGIxLDB4NDAsMHgyYywweDVhLDB4MDgsMHgxNCwweDAyLDB4YzIgfX0sCi0gezE2LCAweGRhZTAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjgsMHgwMCwweGY4LDB4MDAsMHgyZSwweDAwIH19LAotIHsxNiwgMHhkYWYwLCAwLCB7MHgyZSwweDg1LDB4MDMsMHgyMSwweDQ4LDB4ZjgsMHgwMCwweDM2LDB4MDAsMHg4ZSwweDA1LDB4MDIsMHhhMCwweDA4LDB4ODAsMHgwMCB9fSwKLSB7MTYsIDB4ZGIwMCwgMCwgezB4M2UsMHgwMCwweDBkLDB4ODAsMHgwYiwweDEwLDB4MDQsMHhlMCwweDAwLDB4MmMsMHgwMCwweDRjLDB4ODAsMHgwMywweDQwLDB4MDAgfX0sCi0gezE2LCAweGRiMTAsIDAsIHsweGYwLDB4MDAsMHgzZSwweDA4LDB4MGMsMHgwMCwweDAzLDB4ZWUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkYjIwLCAwLCB7MHg5OCwweDFkLDB4ZTQsMHg0MCwweGY5LDB4MTAsMHgzZSwweDQ0LDB4MGYsMHg5MSwweDAzLDB4ZjQsMHgwMCwweGZkLDB4MDAsMHgzZSB9fSwKLSB7MTYsIDB4ZGIzMCwgMCwgezB4NDQsMHgwZiwweDkxLDB4MDMsMHhlNCwweDQwLDB4ZmQsMHgwMywweDNmLDB4NDQsMHgxZiwweDkxLDB4MWIsMHhlNCwweDQwLDB4ZmQgfX0sCi0gezE2LCAweGRiNDAsIDAsIHsweDAxLDB4M2YsMHg1MCwweDBlLDB4OTQsMHgwMywweGY0LDB4NDAsMHhmZCwweDAwLDB4M2YsMHg0MCwweDBmLDB4ZDAsMHgwMywweGE2IH19LAotIHsxNiwgMHhkYjUwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgxNSwweGY0LDB4MDAsMHhjZCwweGEwLDB4NzEsMHg2OCB9fSwKLSB7MTYsIDB4ZGI2MCwgMCwgezB4OGQsMHg5OCwweDAzLDB4ZDQsMHgwMCwweGNkLDB4MDAsMHgzMywweDYwLDB4MGMsMHg5OCwweDhmLDB4MjcsMHgyMCwweGM5LDB4NDAgfX0sCi0gezE2LCAweGRiNzAsIDAsIHsweDNlLDB4NzgsMHgwYywweDllLDB4OGIsMHgyNywweDIwLDB4ZDEsMHgxMSwweDMwLDB4NjAsMHg4YywweDljLDB4MDMsMHgyNSwweDAwIH19LAotIHsxNiwgMHhkYjgwLCAwLCB7MHhmOSwweDQwLDB4M2UsMHg3OCwweDBmLDB4OTAsMHgwMywweDQ2LDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZGI5MCwgMCwgezB4MzgsMHgxMCwweGUwLDB4MTAsMHg4OCwweDAxLDB4MjIsMHgwMSwweDA4LDB4OGMsMHgyMiwweGU4LDB4MDAsMHg4OCwweDAyLDB4MmEgfX0sCi0gezE2LCAweGRiYTAsIDAsIHsweDE0LDB4MDgsMHg4YywweDBiLDB4MjMsMHg5MCwweDg4LDB4YTAsMHgyZSwweGIwLDB4MDgsMHg4YywweDQyLDB4MjMsMHgwMCwweDg4IH19LAotIHsxNiwgMHhkYmIwLCAwLCB7MHhhMCwweDM2LDB4MmEsMHgxOCwweDhhLDB4MDIsMHgyMiwweDAwLDB4YjgsMHhhMCwweDJlLDB4MzQsMHgwYiwweGNhLDB4ODIsMHgwZSB9fSwKLSB7MTYsIDB4ZGJjMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhjNCwweDAwLDB4ODEsMHg0MCwweDI0LDB4NTAgfX0sCi0gezE2LCAweGRiZDAsIDAsIHsweDA5LDB4MTYsMHg4MiwweGM0LDB4MDAsMHhhOSwweDAwLDB4MjAsMHg0MCwweDA4LDB4MTIsMHg5MiwweDU0LDB4MDgsMHg4NSwweDAwIH19LAotIHsxNiwgMHhkYmUwLCAwLCB7MHgyZiwweDRjLDB4MDksMHg1MiwweDEyLDB4MTQsMHg4MCwweDlkLDB4MDAsMHgyMSwweDUwLDB4MDgsMHg1NCwweDIyLDB4MTQsMHg4MCB9fSwKLSB7MTYsIDB4ZGJmMCwgMCwgezB4YjUsMHgwMCwweDJkLDB4NDgsMHgwYiwweGQwLDB4MDIsMHg0MiwweDA1LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGRjMDAsIDAsIHsweDE4LDB4MDUsMHhhNCwweDAyLDB4ODksMHgwMSwweGEyLDB4NDAsMHg0OCwweDkwLDB4MDIsMHhlNCwweDAyLDB4YTksMHgwMCwweDJhIH19LAotIHsxNiwgMHhkYzEwLCAwLCB7MHg0MCwweDY4LDB4OTAsMHgwMiwweDY0LDB4MTAsMHhhZCwweDAwLDB4MmYsMHg0MSwweDI4LDB4NTAsMHgwMiwweDM0LDB4MDAsMHg4ZCB9fSwKLSB7MTYsIDB4ZGMyMCwgMCwgezB4NDQsMHgyNywweDQwLDB4MzksMHhkMCwweDAyLDB4MzUsMHgwMCwweGJkLDB4MTQsMHgyZiwweDQwLDB4MGIsMHhkMCwweDAyLDB4NDYgfX0sCi0gezE2LCAweGRjMzAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDA1LDB4YzQsMHgwMCwweGM5LDB4MDAsMHgzNiwweDQwIH19LAotIHsxNiwgMHhkYzQwLCAwLCB7MHgyZCwweDkwLDB4MDMsMHhlNywweDAwLDB4ZTEsMHhlMCwweDMyLDB4NDAsMHgwYywweDkwLDB4MGIsMHg2NCwweDAyLDB4YzksMHgwOCB9fSwKLSB7MTYsIDB4ZGM1MCwgMCwgezB4M2MsMHg1MCwweDBjLDB4OTAsMHgwMiwweDI2LDB4MDIsMHhkOSwweGMwLDB4MzIsMHg0MCwweDBjLDB4OTAsMHgxMywweDI3LDB4MDAgfX0sCi0gezE2LCAweGRjNjAsIDAsIHsweGY5LDB4MjAsMHgzZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4NjgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkYzcwLCAwLCB7MHgyOCwweDAxLDB4YTQsMHgwMiwweGY5LDB4MDAsMHgzOCwweDQwLDB4MGYsMHg5MCwweDAzLDB4ZTYsMHg4MCwweGQ5LDB4YTAsMHgzYyB9fSwKLSB7MTYsIDB4ZGM4MCwgMCwgezB4NDAsMHgwZiwweDEwLDB4MDMsMHhhNCwweDAwLDB4ZDksMHgxMCwweDNlLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhjNCwweDkyLDB4ZjkgfX0sCi0gezE2LCAweGRjOTAsIDAsIHsweDIxLDB4M2MsMHg0MCwweDJlLDB4OTAsMHgwZiwweGU2LDB4ODAsMHhmOSwweDgwLDB4M2UsMHg0MCwweDBmLDB4OTAsMHgwMywweDhhIH19LAotIHsxNiwgMHhkY2EwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwMCwweGEwLDB4NDAsMHhlOCwweDEwLDB4M2UsMHgwNCB9fSwKLSB7MTYsIDB4ZGNiMCwgMCwgezB4NGUsMHg4MCwweDAzLDB4MjAsMHg4MCwweGQ4LDB4NjAsMHgzYSwweDAyLDB4MGMsMHg4MCwweDEzLDB4MjAsMHgwMCwweGY4LDB4NDAgfX0sCi0gezE2LCAweGRjYzAsIDAsIHsweDM2LDB4MTAsMHgyZCwweDgwLDB4MDMsMHhhMCwweDA4LDB4ZTgsMHg0MCwweDMyLDB4MDAsMHgwZCwweDAwLDB4MDMsMHgyMSwweDAyIH19LAotIHsxNiwgMHhkY2QwLCAwLCB7MHhjOCwweDQwLDB4YjIsMHgwMCwweDBmLDB4YzAsMHgwMywweGNhLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZGNlMCwgMCwgezB4MjgsMHgxMSwweDNiLDB4MTAsMHg4NiwweDAxLDB4MmYsMHhhMCwweDBkLDB4YTAsMHgwMiwweDM4LDB4MDAsMHg4ZSwweGUwLDB4MjMgfX0sCi0gezE2LCAweGRjZjAsIDAsIHsweGEyLDB4MDgsMHhhMCwweDAyLDB4MjgsMHgwMCwweGJhLDB4ODAsMHgyMiwweDgwLDB4MDgsMHhhMCwweDAyLDB4MjgsMHgwMCwweDgyIH19LAotIHsxNiwgMHhkZDAwLCAwLCB7MHgwMCwweDJhLDB4ODAsMHgyOCwweGEwLDB4MDIsMHgyYSwweDA0LDB4OGEsMHg4MCwweDIyLDB4YTAsMHgwYiwweDYwLDB4MDIsMHhjYSB9fSwKLSB7MTYsIDB4ZGQxMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg0MywweDgwLDB4YTIsMHgwMCwweDJjLDB4YTAgfX0sCi0gezE2LCAweGRkMjAsIDAsIHsweDA4LDB4MzAsMHgwMiwweDJlLDB4MDAsMHg5MiwweDAwLDB4MjgsMHhjMCwweDI4LDB4MzAsMHgwMiwweDJjLDB4MDAsMHhiMywweDgwIH19LAotIHsxNiwgMHhkZDMwLCAwLCB7MHgyNCwweGMwLDB4MDksMHgzMCwweDBhLDB4OGMsMHgwMCwweGEzLDB4MDAsMHg2MCwweGMwLDB4MDgsMHgzMCwweDBhLDB4NGMsMHgwMCB9fSwKLSB7MTYsIDB4ZGQ0MCwgMCwgezB4ODMsMHgwMCwweDIwLDB4ZTAsMHgwYiwweDIwLDB4MDIsMHhjYSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGRkNTAsIDAsIHsweGEwLDB4MDEsMHgxMCwweDAwLDB4ODYsMHgwMCwweDJkLDB4YzAsMHgwOSwweDNhLDB4MDIsMHgzNSwweDAwLDB4ODYsMHgwMCwweDIxIH19LAotIHsxNiwgMHhkZDYwLCAwLCB7MHhjMCwweDA4LDB4NzMsMHgwMiwweDEwLDB4MDAsMHhiZiwweDg4LDB4MjEsMHgwMCwweDA4LDB4NzAsMHgwMiwweDFjLDB4MDgsMHg4ZiB9fSwKLSB7MTYsIDB4ZGQ3MCwgMCwgezB4MDAsMHgyYiwweGMwLDB4MDgsMHgyMCwweDEyLDB4NWUsMHgyMCwweDg3LDB4ODgsMHgyMSwweDgzLDB4MGIsMHg2MCwweDAyLDB4ZTggfX0sCi0gezE2LCAweGRkODAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MTIsMHgwMCwweGU1LDB4ODEsMHgzZCwweGEwIH19LAotIHsxNiwgMHhkZDkwLCAwLCB7MHgyYywweDdhLDB4MGIsMHgxZSwweDAwLDB4ZDQsMHg4MCwweDM4LDB4ZTAsMHgwYywweGZhLDB4MGIsMHgxZSwweDAwLDB4ZjYsMHg4MCB9fSwKLSB7MTYsIDB4ZGRhMCwgMCwgezB4MzQsMHhlMCwweDBkLDB4MjgsMHgwMywweDhhLDB4MDAsMHhlNiwweDgwLDB4MzEsMHgyMCwweDBjLDB4NzgsMHgwMywweDdhLDB4MDQgfX0sCi0gezE2LCAweGRkYjAsIDAsIHsweGNlLDB4ODQsMHgzMSwweGUwLDB4NGYsMHg3OCwweDQzLDB4ZWEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkZGMwLCAwLCB7MHgwOCwweDBkLDB4ODAsMHgwMCwweGY4LDB4MDAsMHgzZSwweGMwLDB4MGYsMHhiNSwweDIzLDB4ZTQsMHgwMCwweGYwLDB4MDQsMHgzNiB9fSwKLSB7MTYsIDB4ZGRkMCwgMCwgezB4NDAsMHgwZiwweGI2LDB4ODcsMHhlMCwweDAwLDB4ZjIsMHgwMCwweDNlLDB4MDAsMHgxZiwweGEwLDB4MGIsMHhlOCwweDAwLDB4ZmEgfX0sCi0gezE2LCAweGRkZTAsIDAsIHsweDAwLDB4M2UsMHgwMCwweDBlLDB4YTAsMHgwMywweGE4LDB4MDAsMHhmYSwweDAwLDB4M2UsMHg4MCwweDBmLDB4YjAsMHgwMywweGMyIH19LAotIHsxNiwgMHhkZGYwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweGY2LDB4MDAsMHhjYywweDgwLDB4MzMsMHhhMCB9fSwKLSB7MTYsIDB4ZGUwMCwgMCwgezB4MGMsMHhmYywweDAzLDB4M2UsMHgwMCwweGZjLDB4ODAsMHgzNywweGUwLDB4MGYsMHhiOSwweDIxLDB4M2UsMHgwMCwweGZkLDB4ODIgfX0sCi0gezE2LCAweGRlMTAsIDAsIHsweDMzLDB4ZTAsMHgyYywweGY4LDB4MDMsMHg3ZSwweDEwLDB4ZGYsMHg4NCwweDNkLDB4ZTAsMHgwYywweGY4LDB4MDMsMHhmNiwweDAwIH19LAotIHsxNiwgMHhkZTIwLCAwLCB7MHhmZCwweDgwLDB4M2YsMHg2MCwweDBjLDB4ZTgsMHgyMywweDAwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZGUzMCwgMCwgezB4YTgsMHgxMSwweDk4LDB4NDAsMHg4NCwweDEwLDB4MjEsMHhjMCwweDA4LDB4NzAsMHgwMiwweDEwLDB4ODAsMHhiNCwweDAwLDB4MjEgfX0sCi0gezE2LCAweGRlNDAsIDAsIHsweGM4LDB4MGIsMHg3YSwweDAyLDB4MTAsMHgwMCwweGZkLDB4MDAsMHgyMSwweDA0LDB4MDgsMHg3MCwweDAyLDB4MWMsMHg0MiwweDg3IH19LAotIHsxNiwgMHhkZTUwLCAwLCB7MHgwMCwweDJkLDB4YzQsMHg0OCwweDYxLDB4MDIsMHhkNiwweDgwLDB4YjUsMHgwMCwweDJmLDB4MDQsMHgwOCwweDYxLDB4ODIsMHgyYSB9fSwKLSB7MTYsIDB4ZGU2MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5MCwweDAwLDB4ODEsMHgwMCwweDIxLDB4ODAgfX0sCi0gezE2LCAweGRlNzAsIDAsIHsweDA4LDB4MzAsMHgwMiwweDFjLDB4MTAsMHhiYywweDA4LDB4MjUsMHg4MCwweDRiLDB4MzAsMHgwZSwweDFjLDB4MDAsMHhiNCwweDAwIH19LAotIHsxNiwgMHhkZTgwLCAwLCB7MHgyMCwweGMwLDB4MDgsMHgyMCwweDAyLDB4NTgsMHgwMCwweDk2LDB4MDAsMHgyZiwweDAwLDB4MGEsMHg3MCwweDAyLDB4ZDAsMHg4MCB9fSwKLSB7MTYsIDB4ZGU5MCwgMCwgezB4YjQsMHgxOCwweDJkLDB4NDAsMHgwOSwweGY4LDB4MDIsMHgwMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGRlYTAsIDAsIHsweDIwLDB4MTQsMHhjOCwweDAyLDB4ODAsMHgwMCwweGEwLDB4YzAsMHgwOCwweDMwLDB4MjIsMHgwYiwweGMwLDB4YjAsMHhjMCwweDIyIH19LAotIHsxNiwgMHhkZWIwLCAwLCB7MHg4MCwweDBiLDB4MzAsMHgwMiwweDAwLDB4MDAsMHhhMCwweDA0LDB4MjIsMHgwMCwweDI4LDB4YTAsMHgwMiwweDJiLDB4MDAsMHg4YSB9fSwKLSB7MTYsIDB4ZGVjMCwgMCwgezB4MDAsMHgyYywweDAwLDB4MDgsMHhhMCwweDA2LDB4YzAsMHgwMCwweGIwLDB4YzIsMHgyYywweDAwLDB4MDksMHhiYywweDFhLDB4MDggfX0sCi0gezE2LCAweGRlZDAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YTAsMHgwMCwweGM4LDB4MDAsMHgzMiwweGMwIH19LAotIHsxNiwgMHhkZWUwLCAwLCB7MHgwYywweGYwLDB4MGIsMHgyNiwweDAwLDB4ZjksMHhjMCwweDM2LDB4MDAsMHgwZiwweGYwLDB4MTMsMHgyYywweDEwLDB4YmIsMHg0MCB9fSwKLSB7MTYsIDB4ZGVmMCwgMCwgezB4ZjIsMHhjMCwweDA4LDB4OTAsMHgwMywweDY3LDB4MDAsMHhkOSwweDgwLDB4M2UsMHhjMCwweDA4LDB4OTAsMHgwMiwweGVjLDB4MDAgfX0sCi0gezE2LCAweGRmMDAsIDAsIHsweGZiLDB4ZDAsMHgzZSwweGMwLDB4MjksMHg4YywweDAwLDB4MmEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkZjEwLCAwLCB7MHg4MCwweDAwLDB4ZTAsMHgwMCwweGY4LDB4NDQsMHgzYywweGQwLDB4MmYsMHhiMCwweDAzLDB4ZTQsMHgwMCwweGY5LDB4MjAsMHgzZSB9fSwKLSB7MTYsIDB4ZGYyMCwgMCwgezB4NDAsMHgwZiwweDMwLDB4MDMsMHhlMCwweDAwLDB4ZmIsMHgwOCwweDNlLDB4MDAsMHgwZiwweDkwLDB4MTMsMHhlNCwweDQyLDB4ZjkgfX0sCi0gezE2LCAweGRmMzAsIDAsIHsweDEwLDB4M2UsMHhjMCwweDBmLDB4ODAsMHgwMywweGVlLDB4MDAsMHhmYiwweDAwLDB4M2UsMHg4MCwweDBlLDB4ODIsMHgwMywweGUwIH19LAotIHsxNiwgMHhkZjQwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGUwLDB4MDgsMHhmYywweDgwLDB4MzIsMHhlNCB9fSwKLSB7MTYsIDB4ZGY1MCwgMCwgezB4MGUsMHhmMCwweDAzLDB4NzQsMHgwMCwweGZjLDB4MDAsMHgzZiwweDQwLDB4MGMsMHhmMCwweDBiLDB4M2MsMHgwMCwweGZlLDB4MDAgfX0sCi0gezE2LCAweGRmNjAsIDAsIHsweDNmLDB4YzAsMHgwZCwweGMxLDB4MDMsMHgyMCwweDIwLDB4Y2MsMHgxMCwweDMzLDB4MDAsMHgwYywweGQxLDB4MDMsMHg1OCwweDAwIH19LAotIHsxNiwgMHhkZjcwLCAwLCB7MHhjZSwweDAwLDB4MmYsMHhjMCwweDBmLDB4ZDEsMHgwMywweDAwLDB4NDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZGY4MCwgMCwgezB4ODEsMHg0NCwweDYyLDB4MDAsMHhiMCwweDQwLDB4MmEsMHhmMSwweDA4LDB4YjAsMHgxMiwweDI2LDB4MDgsMHhiOCwweGM4LDB4MmUgfX0sCi0gezE2LCAweGRmOTAsIDAsIHsweDcwLDB4MGEsMHhiMCwweDAyLDB4MjAsMHgwMCwweGJhLDB4MDAsMHgyZSwweDAwLDB4MjgsMHg4MCwweDAzLDB4MjIsMHg0MCwweDg4IH19LAotIHsxNiwgMHhkZmEwLCAwLCB7MHgwMSwweDIwLDB4MDAsMHgwYSwweDgwLDB4MDIsMHgyOCwweDAwLDB4OGEsMHgwMSwweDJlLDB4ODAsMHg4YiwweDkwLDB4MDIsMHgyMCB9fSwKLSB7MTYsIDB4ZGZiMCwgMCwgezB4NDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgyNiwweDAwLDB4YjgsMHgyOCwweDIyLDB4NDIgfX0sCi0gezE2LCAweGRmYzAsIDAsIHsweDA4LDB4MzAsMHgwMiwweDY2LDB4MDAsMHhiOCwweDgwLDB4MmUsMHgzMCwweDg4LDB4YjAsMHgwMiwweDJjLDB4MDAsMHhiOSwweDAxIH19LAotIHsxNiwgMHhkZmQwLCAwLCB7MHgyZSwweGMwLDB4ODgsMHg5MCwweDAyLDB4YTQsMHgwMCwweDg5LDB4MDAsMHgyMiwweGMwLDB4MDgsMHg5MCwweDAyLDB4MjQsMHgwYyB9fSwKLSB7MTYsIDB4ZGZlMCwgMCwgezB4ODksMHgwMSwweDJlLDB4NDAsMHgxYiwweDgwLDB4MDIsMHg2MCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGRmZjAsIDAsIHsweDA4LDB4MDQsMHgwMCwweDAwLDB4YjAsMHgwMCwweDI4LDB4YzAsMHgyOCwweDMwLDB4MDIsMHgwMCwweDAwLDB4YjAsMHgwMCwweDJjIH19LAotIHsxNiwgMHhlMDAwLCAwLCB7MHg0MCwweDBhLDB4MzAsMHgwMiwweDAwLDB4MDAsMHhiMSwweDAwLDB4MmMsMHgwMCwweDA4LDB4MTAsMHgwYSwweDA0LDB4MDAsMHg4MSB9fSwKLSB7MTYsIDB4ZTAxMCwgMCwgezB4MDEsMHhhMiwweGMwLDB4MDgsMHgwMCwweDBhLDB4MDQsMHg4MCwweDgxLDB4MDAsMHgyYywweDAwLDB4MWIsMHgwMCwweDBhLDB4MDIgfX0sCi0gezE2LCAweGUwMjAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4NjAsMHgwMCwweGY4LDB4MDAsMHgzMiwweDQwIH19LAotIHsxNiwgMHhlMDMwLCAwLCB7MHgwZSwweGYwLDB4MjMsMHg2NCwweDA4LDB4ZjgsMHgwMCwweDJlLDB4MDAsMHgwYywweGYwLDB4MDMsMHgyYywweDAwLDB4ZjgsMHgwMCB9fSwKLSB7MTYsIDB4ZTA0MCwgMCwgezB4M2UsMHhjMCwweDBjLDB4ODAsMHgwMywweDIwLDB4MDIsMHhjOCwweDA0LDB4MzIsMHgwMCwweDFjLDB4OTAsMHgwMywweDIwLDB4MDAgfX0sCi0gezE2LCAweGUwNTAsIDAsIHsweGM4LDB4MDEsMHgzZSwweDQxLDB4OWYsMHg5MCwweDQzLDB4NDAsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMDYwLCAwLCB7MHhhMCwweDFkLDB4ZjAsMHgwMCwweGZjLDB4MGMsMHgzZiwweGMwLDB4MGYsMHhmMCwweDAzLDB4ZjAsMHgxMCwweGY0LDB4MDAsMHgzZiB9fSwKLSB7MTYsIDB4ZTA3MCwgMCwgezB4MDAsMHgwZiwweGY0LDB4MjMsMHhmMCwweDAwLDB4ZmMsMHgwMCwweDNmLDB4MDAsMHgwZSwweGMwLDB4MDMsMHhiMCwweDAwLDB4ZmMgfX0sCi0gezE2LCAweGUwODAsIDAsIHsweDAwLDB4M2YsMHgwMCwweDBmLDB4YzAsMHgwMywweGUxLDB4MDAsMHhmYywweDAwLDB4M2YsMHgwMSwweDFmLDB4NTAsMHgwMywweGU4IH19LAotIHsxNiwgMHhlMDkwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwZCwweGYwLDB4ZDAsMHhmZiwweDIwLDB4M2UsMHhkMCB9fSwKLSB7MTYsIDB4ZTBhMCwgMCwgezB4OGUsMHhiMCwweDAzLDB4ZWMsMHhhMCwweGRiLDB4MjgsMHgzZSwweGNjLDB4MGMsMHhiMywweDAzLDB4YWQsMHgwOCwweGY4LDB4M2MgfX0sCi0gezE2LCAweGUwYjAsIDAsIHsweDMyLDB4MjMsMHgwZSwweDQ4LDB4MjMsMHg3YSwweDAwLDB4ZmQsMHg5NCwweDNmLDB4ZTAsMHgwZiwweDc4LDB4MzMsMHhlZSwweDA4IH19LAotIHsxNiwgMHhlMGMwLCAwLCB7MHhiZiwweDgwLDB4M2YsMHhlNCwweDBmLDB4ZjksMHgwMywweDMwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTBkMCwgMCwgezB4YTAsMHgwMCwweGVjLDB4YzgsMHhiZiwweGQxLDB4MGYsMHhjOCwweDBjLDB4MjYsMHg4MiwweGZkLDB4MjQsMHg4ZiwweDAwLDB4MmUgfX0sCi0gezE2LCAweGUwZTAsIDAsIHsweDk5LDB4MGEsMHhmMiwweDYyLDB4MWQsMHhkMCwweDk5LDB4NjEsMHgyMiwweDcxLDB4ODgsMHg4OCwweDAyLDB4YWMsMHgwMCwweGI4IH19LAotIHsxNiwgMHhlMGYwLCAwLCB7MHgyMiwweDJlLDB4MjAsMHg0YiwweDg4LDB4MDMsMHhhMCwweDAwLDB4ODAsMHgwMCwweDJlLDB4MDgsMHgwYiwweDgwLDB4MjMsMHg2MCB9fSwKLSB7MTYsIDB4ZTEwMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjYywweDA0LDB4YjMsMHgwMywweDBjLDB4Y2MgfX0sCi0gezE2LCAweGUxMTAsIDAsIHsweDBhLDB4MTMsMHgxMiwweGNjLDB4MTQsMHhhMywweDBlLDB4MGMsMHg1OCwweDBhLDB4MzMsMHgwMiwweDhjLDB4MTAsMHhhMywweDIwIH19LAotIHsxNiwgMHhlMTIwLCAwLCB7MHhhMCwweDBhLDB4MTgsMHg5MCwweDAyLDB4NDgsMHhhMCwweGIwLDB4MjAsMHgyNCwweDgwLDB4MGEsMHgyMCwweDAyLDB4Y2MsMHgwOSB9fSwKLSB7MTYsIDB4ZTEzMCwgMCwgezB4YTEsMHgwMCwweDJjLDB4ODAsMHgwYiwweDMyLDB4NDIsMHhhMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUxNDAsIDAsIHsweGUwLDB4MTEsMHhhYywweDIwLDB4YmIsMHgwMCwweDJlLDB4YzAsMHg0YiwweDgwLDB4YTIsMHhlYywweDAwLDB4YWIsMHgwMCwweDRlIH19LAotIHsxNiwgMHhlMTUwLCAwLCB7MHg0NiwweDJhLDB4YjAsMHgwMiwweDJjLDB4MDQsMHg5YiwweDgwLDB4MmEsMHg2MCwweDhhLDB4OWMsMHgwMiwweGFjLDB4MDAsMHhiOSB9fSwKLSB7MTYsIDB4ZTE2MCwgMCwgezB4ODEsMHgyZSwweDQwLDB4MGIsMHg5OCwweDAyLDB4YTMsMHgwMCwweDhhLDB4MDAsMHgyZSwweDQwLDB4MGIsMHg4MCwweDA0LDB4ZjAgfX0sCi0gezE2LCAweGUxNzAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDE1LDB4ZTEsMHgwMCwweGZiLDB4MDQsMHgzZSwweGMwIH19LAotIHsxNiwgMHhlMTgwLCAwLCB7MHgwZSwweGI0LDB4MDMsMHhlYywweDBhLDB4ZGIsMHgwMiwweDJlLDB4ZDEsMHgwZSwweGIwLDB4MDMsMHhhYywweDAwLDB4ZmIsMHg4MiB9fSwKLSB7MTYsIDB4ZTE5MCwgMCwgezB4MzIsMHgyOCwweDFlLDB4MGMsMHgwMywweDY4LDB4MDAsMHhiOSwweDAwLDB4M2UsMHg0MCwweDRmLDB4YjAsMHg0MywweGVkLDB4MDAgfX0sCi0gezE2LCAweGUxYTAsIDAsIHsweGVhLDB4MDAsMHgzZSwweDQwLDB4MGYsMHg4MCwweDAzLDB4OTAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMWIwLCAwLCB7MHhjMCwweDAxLDB4YjgsMHgxOCwweGZmLDB4MDIsMHgxZiwweGMwLDB4MGMsMHhlMiwweDAzLDB4ZmMsMHgwMCwweGRmLDB4MDMsMHgyZiB9fSwKLSB7MTYsIDB4ZTFjMCwgMCwgezB4YTEsMHgwZiwweDcwLDB4MDMsMHhmYywweDA0LDB4YWIsMHgwNCwweDM3LDB4NDIsMHgyZCwweGQwLDB4MDIsMHg3YywweDAwLDB4ZmMgfX0sCi0gezE2LCAweGUxZDAsIDAsIHsweDAwLDB4M2YsMHg4MCwweDBmLDB4YzAsMHgwMywweGIwLDB4MDAsMHhmZCwweDAwLDB4M2YsMHg4MCwweDBmLDB4ZjAsMHgwMywweDc4IH19LAotIHsxNiwgMHhlMWUwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweGE5LDB4MDAsMHhkYiwweDAwLDB4M2MsMHhjMCB9fSwKLSB7MTYsIDB4ZTFmMCwgMCwgezB4MmUsMHg5NCwweDAxLDB4NmMsMHgxMSwweGNiLDB4MDAsMHhiOCwweGMwLDB4MGMsMHhiMCwweDAzLDB4NmMsMHgwMCwweGViLDB4MDEgfX0sCi0gezE2LCAweGUyMDAsIDAsIHsweDMyLDB4MTAsMHgwNywweDkyLDB4MDMsMHhhOCwweDAwLDB4ZjgsMHgwMCwweDNlLDB4MGMsMHgwNywweGEyLDB4MDMsMHhhZCwweDAwIH19LAotIHsxNiwgMHhlMjEwLCAwLCB7MHhkOCwweDAwLDB4MzIsMHgwMCwweDBjLDB4ODAsMHgwMywweGQwLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTIyMCwgMCwgezB4YzgsMHgwNSwweDI4LDB4MDgsMHhiZiwweDAwLDB4MmYsMHhjMCwweDg4LDB4ODAsMHgwMiwweDNjLDB4MDgsMHhlZiwweDAzLDB4MjIgfX0sCi0gezE2LCAweGUyMzAsIDAsIHsweDAwLDB4MGQsMHhmNSwweDAwLDB4M2MsMHgwMCwweDhiLDB4ODIsMHgyMiwweDYwLDB4MDMsMHg5YywweDAyLDB4MmMsMHgxMCwweGI5IH19LAotIHsxNiwgMHhlMjQwLCAwLCB7MHhiMCwweDIyLDB4ZjAsMHgwYiwweDkwLDB4MDIsMHgyMCwweDAwLDB4YmIsMHgwMCwweDIyLDB4ZTIsMHgwZCwweGIwLDB4MDIsMHhmMiB9fSwKLSB7MTYsIDB4ZTI1MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg0MCwweDAwLDB4YjMsMHgwMiwweDJjLDB4YzAgfX0sCi0gezE2LCAweGUyNjAsIDAsIHsweDA4LDB4MzAsMHgwMiwweDZjLDB4MDAsMHg4MywweDAwLDB4MjAsMHhjMCwweDA5LDB4MzQsMHgwNCwweGVjLDB4MDAsMHhhOCwweDAwIH19LAotIHsxNiwgMHhlMjcwLCAwLCB7MHgyMiwweGYwLDB4MGIsMHgwMCwweDAyLDB4ODgsMHgwMCwweGIzLDB4MDAsMHgyOCwweGUwLDB4MGIsMHgxNCwweDAyLDB4YTAsMHgwMCB9fSwKLSB7MTYsIDB4ZTI4MCwgMCwgezB4OTMsMHgwMCwweDIwLDB4YzAsMHgwOCwweGIwLDB4MDIsMHhmOCwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUyOTAsIDAsIHsweDIwLDB4MDEsMHgxZSwweDA0LDB4YjcsMHg4MCwweDJkLDB4ZTgsMHgwOCwweDc4LDB4MDIsMHgwZSwweGM4LDB4YTcsMHg5MCwweDIxIH19LAotIHsxNiwgMHhlMmEwLCAwLCB7MHhhOCwweDE5LDB4MzgsMHg1MiwweDllLDB4YzEsMHg4NywweDgwLDB4MjEsMHhlMiwweDBiLDB4ZDksMHg4MiwweDllLDB4MDAsMHhiNiB9fSwKLSB7MTYsIDB4ZTJiMCwgMCwgezB4YTAsMHgyZCwweDIwLDB4MGIsMHg2OCwweDAyLDB4MWUsMHgwMCwweGI0LDB4YzEsMHgyMSwweDIwLDB4MDksMHg0OCwweDAyLDB4YzggfX0sCi0gezE2LCAweGUyYzAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDAwLDB4MGMsMHg4MCwweGIzLDB4MTAsMHgzZSwweGUwIH19LAotIHsxNiwgMHhlMmQwLCAwLCB7MHgwZSwweDNhLDB4MDcsMHg0ZSwweDAwLDB4Y2IsMHg5MCwweDNhLDB4NjEsMHgwZCwweDM4LDB4MDMsMHhjZSwweGQxLDB4ZTEsMHg5OCB9fSwKLSB7MTYsIDB4ZTJlMCwgMCwgezB4MzAsMHhhNCwweDhmLDB4MTAsMHgwMywweDg4LDB4MDAsMHhiYSwweGExLDB4M2MsMHg4NCwweDA3LDB4MDAsMHgwMywweDgyLDB4ZDQgfX0sCi0gezE2LCAweGUyZjAsIDAsIHsweGQxLDB4MDAsMHg3MiwweDgwLDB4MGMsMHgzMCwweDAzLDB4ZDIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMzAwLCAwLCB7MHg0MCwweDE1LDB4YmMsMHgwNCwweGZmLDB4MDAsMHgzZiwweGMwLDB4MGYsMHhjMiwweDIzLDB4ZWMsMHhiMCwweGZmLDB4MDAsMHgzMiB9fSwKLSB7MTYsIDB4ZTMxMCwgMCwgezB4MDQsMHgwNiwweGI0LDB4MjMsMHg3YywweDEwLDB4YmYsMHgwMCwweDNlLDB4ODQsMHgwZiwweGIwLDB4MDMsMHg3YywweDQwLDB4ZmYgfX0sCi0gezE2LCAweGUzMjAsIDAsIHsweDAwLDB4MzMsMHg0MCwweDBmLDB4ZjAsMHgwMywweGZjLDB4MDAsMHhmZSwweDAwLDB4YmYsMHg0MCwweDBmLDB4YzgsMHgwMywweGQwIH19LAotIHsxNiwgMHhlMzMwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGU0LDB4MDAsMHhjYiwweDMzLDB4M2UsMHhjOCB9fSwKLSB7MTYsIDB4ZTM0MCwgMCwgezB4NGMsMHhiMCwweDAzLDB4YWMsMHg5MCwweGRiLDB4YTAsMHgzNiwweGMwLDB4MGUsMHhiYSwweDQzLDB4NmMsMHgwMCwweGM5LDB4MDAgfX0sCi0gezE2LCAweGUzNTAsIDAsIHsweDNlLDB4NDAsMHgwZiwweDAwLDB4MGYsMHgyOCwweDAwLDB4ZmIsMHgwMCwweDNlLDB4NDAsMHgwZiwweDE4LDB4NDMsMHg2MCwweDAwIH19LAotIHsxNiwgMHhlMzYwLCAwLCB7MHhmYSwweDAwLDB4M2UsMHg0MCwweDRmLDB4MDgsMHgwYiwweDJhLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTM3MCwgMCwgezB4NDgsMHgxMSwweDljLDB4MTAsMHgwNywweDA4LDB4MmMsMHhjYSwweDA4LDB4MjAsMHgwMiwweDFjLDB4MjAsMHg4NywweDI4LDB4M2YgfX0sCi0gezE2LCAweGUzODAsIDAsIHsweDgwLDB4OGEsMHhmMCwweDAyLDB4MWQsMHg0MCwweDg3LDB4MDQsMHgyZCwweGMwLDB4MGIsMHg3MCwweDAyLDB4MWMsMHgwMCwweGI2IH19LAotIHsxNiwgMHhlMzkwLCAwLCB7MHgwMCwweDJkLDB4ODAsMHgwYiwweDYwLDB4MDMsMHgxYywweDAwLDB4YjUsMHgwMCwweDJkLDB4ODAsMHgwYiwweDcwLDB4MDIsMHgxMiB9fSwKLSB7MTYsIDB4ZTNhMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHg4ZSwweDAwLDB4ODcsMHhhMCwweDJkLDB4ZTQgfX0sCi0gezE2LCAweGUzYjAsIDAsIHsweDBhLDB4NTgsMHgwMiwweDFlLDB4MDEsMHg4MywweDkwLDB4MjEsMHg3MCwweDBiLDB4NzksMHgwMiwweDllLDB4MDEsMHg4NSwweGMwIH19LAotIHsxNiwgMHhlM2MwLCAwLCB7MHgyZCwweGUwLDB4NGIsMHg1OCwweDEyLDB4MWEsMHgwMCwweGI2LDB4ODAsMHgyZCwweDIwLDB4MGIsMHg0OCwweDAyLDB4NTIsMHgwMCB9fSwKLSB7MTYsIDB4ZTNkMCwgMCwgezB4YjQsMHg4MCwweDJkLDB4MjAsMHgwYiwweDQ4LDB4MDIsMHgzMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUzZTAsIDAsIHsweDQ4LDB4MTQsMHhlYywweDAwLDB4ODMsMHgwMCwweDJjLDB4YzAsMHg4OCwweDM2LDB4MDIsMHgwYywweDAyLDB4ODMsMHgwMCwweDZjIH19LAotIHsxNiwgMHhlM2YwLCAwLCB7MHhjMCwweDBiLDB4MzAsMHgwYSwweGFjLDB4MDAsMHg5YiwweGUwLDB4NmMsMHhjOCwweDBiLDB4MzIsMHgwMiwweDBjLDB4MDEsMHhiMyB9fSwKLSB7MTYsIDB4ZTQwMCwgMCwgezB4MDAsMHgyYywweGMwLDB4MGIsMHgzMCwweDAyLDB4MGMsMHgxMCwweGIzLDB4NDAsMHgyYywweGMwLDB4MGIsMHgzYywweDgyLDB4MTIgfX0sCi0gezE2LCAweGU0MTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YjgsMHgwMiwweGNhLDB4MDAsMHgzZSwweDgwIH19LAotIHsxNiwgMHhlNDIwLCAwLCB7MHgwZSwweGU0LDB4OGIsMHgyOCwweDAwLDB4Y2EsMHgwMCwweDMzLDB4OTUsMHgwZiwweGEwLDB4MDcsMHhhOCwweDAyLDB4Y2UsMHg0MCB9fSwKLSB7MTYsIDB4ZTQzMCwgMCwgezB4M2YsMHhiMCwweDBmLDB4ZTQsMHg4MiwweDI4LDB4MDAsMHhmYSwweDAwLDB4M2UsMHg4MCwweDBmLDB4YTAsMHgyMywweDY4LDB4MDAgfX0sCi0gezE2LCAweGU0NDAsIDAsIHsweGZhLDB4NDAsMHgzZSwweDgxLDB4NGYsMHhhNCwweGUzLDB4M2EsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNDUwLCAwLCB7MHg0OCwweDAwLDB4ZTAsMHg4MCwweGYwLDB4MDAsMHgzYywweDAwLDB4MmYsMHgwMCwweDAyLDB4NjAsMHgwMCwweGU4LDB4MDAsMHgzYyB9fSwKLSB7MTYsIDB4ZTQ2MCwgMCwgezB4MDAsMHgwZSwweDgwLDB4MDEsMHgyMCwweDAwLDB4ZTgsMHgwNCwweDVlLDB4MDQsMHgwZiwweDgwLDB4MDMsMHhlMCwweDAwLDB4ZmMgfX0sCi0gezE2LCAweGU0NzAsIDAsIHsweDAxLDB4M2YsMHgxMCwweDBmLDB4YzQsMHgwMywweGIwLDB4MDAsMHhmYywweDA5LDB4M2YsMHgwMCwweDBmLDB4YzAsMHgwMywweGQyIH19LAotIHsxNiwgMHhlNDgwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGU0LDB4MDAsMHhhOSwweDIwLDB4MzYsMHg0MCB9fSwKLSB7MTYsIDB4ZTQ5MCwgMCwgezB4MGUsMHg5MCwweDAzLDB4NDQsMHgwNCwweGQ5LDB4MDAsMHgzZSwweDQwLDB4MGQsMHg5MCwweDAzLDB4ZTQsMHgwNCwweGM5LDB4MDAgfX0sCi0gezE2LCAweGU0YTAsIDAsIHsweDMyLDB4NDAsMHg4ZiwweDkwLDB4MGIsMHhlNCwweDA4LDB4ZjksMHgwMCwweDNlLDB4NDQsMHgwZSwweDk4LDB4MDMsMHhlNiwweDAwIH19LAotIHsxNiwgMHhlNGIwLCAwLCB7MHhmOSwweDAwLDB4M2UsMHg0MCwweDBmLDB4OTAsMHgwMywweGMyLDB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTRjMCwgMCwgezB4ODAsMHgwNCwweDY0LDB4MDAsMHg4OSwweDAwLDB4MjIsMHg0MCwweDE4LDB4OTAsMHgwMiwweDI0LDB4MDAsMHg4OSwweDAwLDB4MmUgfX0sCi0gezE2LCAweGU0ZDAsIDAsIHsweDQwLDB4MDgsMHg5NCwweDAyLDB4ZTQsMHgwMCwweGQ5LDB4MDQsMHgyMiwweDQwLDB4MGIsMHgxYywweDBiLDB4NjQsMHgwMCwweGI5IH19LAotIHsxNiwgMHhlNGUwLCAwLCB7MHg5NCwweDJjLDB4NTAsMHgwOCwweDljLDB4MDIsMHhlNCwweDE0LDB4YjksMHg5MCwweDBlLDB4NDAsMHgwYiwweDkwLDB4MDIsMHhlMCB9fSwKLSB7MTYsIDB4ZTRmMCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHgyNCwweDAyLDB4ODksMHgwMCwweDI2LDB4NDAgfX0sCi0gezE2LCAweGU1MDAsIDAsIHsweDRhLDB4OTAsMHgwMiwweDY0LDB4MDAsMHg5OSwweDA0LDB4MmUsMHg0MCwweDA4LDB4OTgsMHg4MiwweGU0LDB4MDAsMHg4OSwweDAwIH19LAotIHsxNiwgMHhlNTEwLCAwLCB7MHg2YSwweDQwLDB4MGEsMHg5MiwweDgyLDB4ZTQsMHgwMCwweGJkLDB4MDEsMHgyZiwweDUwLDB4MTIsMHhkNiwweDAyLDB4ZjQsMHg0MCB9fSwKLSB7MTYsIDB4ZTUyMCwgMCwgezB4YmQsMHgwMCwweDBmLDB4NDAsMHgwYiwweGQwLDB4MDIsMHhjNiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU1MzAsIDAsIHsweDA4LDB4MDQsMHgwNCwweDgwLDB4ODEsMHgyMCwweDIwLDB4NDgsMHgwOCwweDEyLDB4MDIsMHgwNCwweDgwLDB4ODEsMHgyMiwweDJjIH19LAotIHsxNiwgMHhlNTQwLCAwLCB7MHg0OCwweGE4LDB4MTIsMHgwNiwweGM0LDB4OTAsMHg5MSwweDIwLDB4MjgsMHg1MCwweDBiLDB4OTAsMHgwMiwweDQ1LDB4MDAsMHhiNSB9fSwKLSB7MTYsIDB4ZTU1MCwgMCwgezB4NDAsMHg2ZCwweDQwLDB4MDgsMHg1MCwweDEyLDB4ZDQsMHgwNCwweGI1LDB4MDIsMHgyZCwweDQwLDB4MGIsMHg1MCwweDAyLDB4YzIgfX0sCi0gezE2LCAweGU1NjAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjEsMHg0MCwweGM4LDB4MDAsMHgzNiwweDE0IH19LAotIHsxNiwgMHhlNTcwLCAwLCB7MHgwYSwweDg1LDB4MDMsMHg0MSwweDQwLDB4ZDgsMHg1MCwweDJlLDB4MTQsMHgwYywweDg1LDB4MDMsMHhjMSwweDQwLDB4YzgsMHg1MCB9fSwKLSB7MTYsIDB4ZTU4MCwgMCwgezB4YmEsMHgwMCwweDBlLDB4ODAsMHgyMywweGUwLDB4MDAsMHg3OCwweDAwLDB4M2UsMHgwMCwweDBlLDB4ODAsMHgwMywweGUwLDB4MDQgfX0sCi0gezE2LCAweGU1OTAsIDAsIHsweGY4LDB4MDAsMHgzZSwweDAwLDB4MGYsMHhjMCwweDAzLDB4ZWUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNWEwLCAwLCB7MHg5OCwweDFkLDB4ZjQsMHg0MCwweGQ5LDB4MTAsMHgzZSwweDQ0LDB4MDcsMHhmMSwweDAzLDB4ZTQsMHg0MCwweGY5LDB4MTAsMHgzZiB9fSwKLSB7MTYsIDB4ZTViMCwgMCwgezB4NDQsMHhhZiwweDkxLDB4MDMsMHhlNCwweDQwLDB4ZmQsMHgxMCwweDM3LDB4NTAsMHgwZiwweGQwLDB4MDMsMHhlNCwweDAwLDB4ZjkgfX0sCi0gezE2LCAweGU1YzAsIDAsIHsweDAwLDB4M2UsMHg0MCwweDBmLDB4OTAsMHgwMywweGU0LDB4YTAsMHhmOSwweDI4LDB4M2UsMHg0YSwweDBmLDB4OTIsMHg4MywweGU2IH19LAotIHsxNiwgMHhlNWQwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweGU2LDB4ZDQsMHhmZCwweGEyLDB4M2EsMHg3MCB9fSwKLSB7MTYsIDB4ZTVlMCwgMCwgezB4OGMsMHg5ZSwweDAzLDB4MjYsMHg4MCwweGM5LDB4YTAsMHgzMiwweDY4LDB4MGMsMHhkYiwweDQzLDB4MjcsMHg4MCwweDlkLDB4YTIgfX0sCi0gezE2LCAweGU1ZjAsIDAsIHsweGI3LDB4NDAsMHgwZiwweDUwLDB4MDMsMHg2NSwweDAwLDB4ZmQsMHgwMCwweDNmLDB4YzEsMHgwNywweGQwLDB4MDMsMHhmNSwweDA0IH19LAotIHsxNiwgMHhlNjAwLCAwLCB7MHhmZCwweDQwLDB4MmYsMHhjMCwweDBjLDB4ZDAsMHgwMywweGM2LDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTYxMCwgMCwgezB4MzgsMHgxMCwweGUzLDB4ODgsMHhiOCwweDUwLDB4MjIsMHgzOCwweDA4LDB4OGUsMHgwMCwweGEyLDB4YTAsMHg4OCwweGU4LDB4MjIgfX0sCi0gezE2LCAweGU2MjAsIDAsIHsweDM4LDB4NDgsMHg4OCwweDAzLDB4NjIsMHgxMCwweGE4LDB4ZTgsMHgzYywweDAwLDB4MGIsMHg4MCwweDAzLDB4NjIsMHg4MCwweGI4IH19LAotIHsxNiwgMHhlNjMwLCAwLCB7MHgwMSwweDJlLDB4ODAsMHgwYiwweDgwLDB4MjEsMHhhMiwweDAwLDB4YjAsMHg4NCwweDJlLDB4MmEsMHgyOCwweDhhLDB4ODIsMHhjZSB9fSwKLSB7MTYsIDB4ZTY0MCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhjNCwweDQwLDB4YjEsMHgwMCwweDI4LDB4NTggfX0sCi0gezE2LCAweGU2NTAsIDAsIHsweDgwLDB4MTMsMHg0MCwweDA1LDB4MDAsMHg4MSwweDQwLDB4MjAsMHg1MiwweDI4LDB4MTYsMHgwMiwweDg1LDB4ODAsMHg5YiwweGMyIH19LAotIHsxNiwgMHhlNjYwLCAwLCB7MHg2NCwweDQxLDB4OGIsMHg5OCwweDAyLDB4MDQsMHgwMCwweGIxLDB4MDksMHgyYywweDQwLDB4MWIsMHgxMCwweDIwLDB4YzQsMHgwMCB9fSwKLSB7MTYsIDB4ZTY3MCwgMCwgezB4YjEsMHgwMCwweDJjLDB4NDAsMHg0OCwweDEwLDB4MDIsMHhjMiwweDA1LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU2ODAsIDAsIHsweDE4LDB4MTUsMHhhNSwweDg0LDB4YjksMHgwMCwweDIwLDB4NDAsMHgwOCwweDkwLDB4MDIsMHgyNCwweDAwLDB4MDEsMHgwMCwweDIwIH19LAotIHsxNiwgMHhlNjkwLCAwLCB7MHg1MCwweDA4LDB4OTAsMHg0MiwweDY0LDB4MDAsMHhhOSwweDEwLDB4YWUsMHg1OCwweDAzLDB4OTgsMHgwMiwweDY0LDB4MDAsMHhiOSB9fSwKLSB7MTYsIDB4ZTZhMCwgMCwgezB4MDAsMHgyZSwweDQwLDB4MGIsMHg5MCwweDQ2LDB4YTQsMHgxMCwweGI5LDB4MDAsMHgyZSwweDQxLDB4MDgsMHg5MCwweDAyLDB4YzYgfX0sCi0gezE2LCAweGU2YjAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDExLDB4ZTcsMHgwMCwweGY5LDB4MDAsMHgyYSwweDQwIH19LAotIHsxNiwgMHhlNmMwLCAwLCB7MHgyYywweDk0LDB4MGIsMHgyNCwweDAyLDB4YzksMHgwMCwweGIyLDB4NDQsMHgwYywweDkwLDB4MDMsMHgyNCwweDA0LDB4ZDksMHg4MCB9fSwKLSB7MTYsIDB4ZTZkMCwgMCwgezB4YjYsMHg0MSwweDhmLDB4MTgsMHgwMywweDI0LDB4MDAsMHhmOSwweDYwLDB4M2UsMHg0MCwweDBmLDB4OTYsMHgwMywweGU0LDB4MDAgfX0sCi0gezE2LCAweGU2ZTAsIDAsIHsweGY5LDB4ODAsMHgzZSwweDQyLDB4OGMsMHg5MCwweDAzLDB4ZTgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNmYwLCAwLCB7MHgyOCwweDAxLDB4YTYsMHgwMCwweGYxLDB4MDAsMHgzZSwweDQwLDB4MGYsMHgxYywweDAzLDB4YzQsMHgwMCwweGY5LDB4MDAsMHgzZSB9fSwKLSB7MTYsIDB4ZTcwMCwgMCwgezB4NDAsMHg4ZiwweDkwLDB4MjMsMHhjNCwweDEwLDB4ZjksMHgwMCwweGJlLDB4NDAsMHgwZiwweDkwLDB4MGIsMHhlNCwweDAwLDB4ZjkgfX0sCi0gezE2LCAweGU3MTAsIDAsIHsweDAwLDB4M2UsMHg0MCwweDA3LDB4OTAsMHgyMywweGU0LDB4MDAsMHhmOSwweDIwLDB4M2UsMHg0MCwweDhmLDB4OTAsMHgwMywweGNhIH19LAotIHsxNiwgMHhlNzIwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxMCwweGExLDB4MDAsMHhmOCwweDAwLDB4YmUsMHgwMCB9fSwKLSB7MTYsIDB4ZTczMCwgMCwgezB4MGUsMHg4NCwweDAzLDB4MjAsMHgwMCwweGM4LDB4MDAsMHgzMiwweDAwLDB4MGMsMHgwMCwweDgzLDB4MjAsMHgwMCwweGY4LDB4MDAgfX0sCi0gezE2LCAweGU3NDAsIDAsIHsweDNlLDB4MDAsMHgwYywweDgwLDB4MDMsMHhhMCwweDAwLDB4ZjgsMHgwMCwweDM2LDB4MTAsMHgwZiwweDgwLDB4NDMsMHhlMCwweDA4IH19LAotIHsxNiwgMHhlNzUwLCAwLCB7MHhmOCwweDAwLDB4MzIsMHgwMCwweDBmLDB4ODAsMHgwMywweGNhLDB4MDQsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTc2MCwgMCwgezB4MjgsMHgwNSwweDI4LDB4MDAsMHhiYSwweDAwLDB4MjIsMHg4MCwweDQ4LDB4YTAsMHgwMywweDY4LDB4MDAsMHhhYSwweDAwLDB4MmEgfX0sCi0gezE2LCAweGU3NzAsIDAsIHsweDgwLDB4MDgsMHhlMCwweDAzLDB4NjgsMHgwMCwweDgyLDB4MDAsMHgyZiwweDgwLDB4MDgsMHhlNiwweDAyLDB4MjgsMHgwNCwweGJlIH19LAotIHsxNiwgMHhlNzgwLCAwLCB7MHg0MCwweDIzLDB4ODAsMHgwYiwweGU4LDB4MDIsMHhlYSwweDAwLDB4YmUsMHgwMSwweDIyLDB4ODAsMHgwYiwweGUwLDB4MDIsMHhjYSB9fSwKLSB7MTYsIDB4ZTc5MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg0YywweDAxLDB4OTMsMHgwMSwweDIwLDB4YzEgfX0sCi0gezE2LCAweGU3YTAsIDAsIHsweDBhLDB4MzAsMHgwMiwweDBjLDB4MDAsMHhhMywweDAwLDB4MjAsMHhjMCwweDg4LDB4MzgsMHg0MiwweDBjLDB4MDAsMHhhMywweDAwIH19LAotIHsxNiwgMHhlN2IwLCAwLCB7MHgyNCwweGMwLDB4MGEsMHgzZSwweDQyLDB4OGMsMHgwMCwweGIyLDB4NGMsMHgyNCwweGUwLDB4NGIsMHgzOCwweDAyLDB4YzQsMHg0MSB9fSwKLSB7MTYsIDB4ZTdjMCwgMCwgezB4YjMsMHgwMCwweDIyLDB4YzAsMHgwYiwweDEwLDB4MDIsMHhjYSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU3ZDAsIDAsIHsweGEwLDB4MDEsMHgxYywweDAwLDB4YjcsMHgwMCwweDIwLDB4YzksMHg0OCwweDcwLDB4MDIsMHhkYywweDQwLDB4YTcsMHgxNCwweDJjIH19LAotIHsxNiwgMHhlN2UwLCAwLCB7MHhjOCwweDI4LDB4MzAsMHg4MiwweDVjLDB4YzEsMHg4NSwweDAwLDB4MmQsMHhlMCwweDJhLDB4ZjAsMHgxMiwweDFjLDB4ODAsMHhiNyB9fSwKLSB7MTYsIDB4ZTdmMCwgMCwgezB4YTAsMHgyMSwweDgyLDB4MGIsMHg3MCwweDgyLDB4ZDQsMHgxMSwweGI2LDB4ODAsMHgyMSwweDQwLDB4NGIsMHg1MCwweDAyLDB4ZTggfX0sCi0gezE2LCAweGU4MDAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MWUsMHg4MCwweGQ1LDB4ODAsMHgyOSwweGVhIH19LAotIHsxNiwgMHhlODEwLCAwLCB7MHg0ZSwweDNhLDB4MDcsMHgwZSwweDgwLDB4ZTMsMHhiMCwweDMxLDB4ZmMsMHgwYywweDQ4LDB4MDMsMHgwZSwweDQxLDB4ZTcsMHg4MCB9fSwKLSB7MTYsIDB4ZTgyMCwgMCwgezB4M2QsMHhlMCwweDBlLDB4NzgsMHgwMywweDllLDB4ODAsMHhmNCwweGM0LDB4MzUsMHhlMCwweDBmLDB4NzgsMHgyNywweGRlLDB4MDAgfX0sCi0gezE2LCAweGU4MzAsIDAsIHsweGY1LDB4ODAsMHhiMSwweGUwLDB4MGYsMHg1OCwweDAzLDB4ZWEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlODQwLCAwLCB7MHgwOCwweDFkLDB4YWMsMHgwMCwweDMxLDB4MDQsMHgzYSwweGM0LDB4MGYsMHhiNSwweDkzLDB4NmQsMHgwOCwweGZiLDB4NDAsMHgzYSB9fSwKLSB7MTYsIDB4ZTg1MCwgMCwgezB4YzgsMHg2MywweDgwLDB4MjMsMHhlYywweDk4LDB4ZTksMHgwMCwweDNlLDB4YzAsMHgwZCwweGIwLDB4NDMsMHhlYywweDAwLDB4ZjMgfX0sCi0gezE2LCAweGU4NjAsIDAsIHsweDgwLDB4M2UsMHg0MCwweDRmLDB4YTAsMHgwMywweGVjLDB4MDAsMHhmOCwweDY4LDB4M2UsMHg0MCwweDhmLDB4OTgsMHgwMywweGMyIH19LAotIHsxNiwgMHhlODcwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweGZlLDB4NjAsMHhlYiwweDkwLDB4M2UsMHhlNCB9fSwKLSB7MTYsIDB4ZTg4MCwgMCwgezB4MGYsMHhiOCwweDAwLDB4M2YsMHg0MCwweGNiLDB4ODAsMHg3ZiwweGUwLDB4MGUsMHhmYiwweDAzLDB4MmUsMHg0MCwweGNiLDB4ODAgfX0sCi0gezE2LCAweGU4OTAsIDAsIHsweDNmLDB4ZTAsMHgwZiwweDc5LDB4NDMsMHgyZSwweDYwLDB4Y2EsMHg4MSwweDMzLDB4NjQsMHg4ZiwweGQ5LDB4MDMsMHhmZSwweDAwIH19LAotIHsxNiwgMHhlOGEwLCAwLCB7MHhmZiwweDgxLDB4MzMsMHhlMCwweDBmLDB4ZDksMHg4YiwweDAwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZThiMCwgMCwgezB4YTgsMHgwMSwweDljLDB4MDAsMHg4NywweDgxLDB4MTksMHhlNCwweDBiLDB4ZmEsMHgxMywweDVlLDB4ODAsMHg4NywweGIyLDB4MmQgfX0sCi0gezE2LCAweGU4YzAsIDAsIHsweGVjLDB4MGQsMHg3OSwweDAxLDB4OWUsMHgwMCwweGQ1LDB4OTAsMHgyZCwweGY4LDB4MGIsMHg3OCwweDAzLDB4N2UsMHgwOCwweGFiIH19LAotIHsxNiwgMHhlOGQwLCAwLCB7MHg5MSwweDI5LDB4ODUsMHgwYiwweDUxLDB4MDIsMHhkYywweDQ4LDB4YjYsMHg0MCwweDIxLDB4NDAsMHgwYiwweDUwLDB4MDIsMHgyYSB9fSwKLSB7MTYsIDB4ZThlMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4YywweDE0LDB4YjUsMHgyMCwweDZkLDB4YzggfX0sCi0gezE2LCAweGU4ZjAsIDAsIHsweDBiLDB4NzIsMHgwMiwweDVjLDB4ODAsMHg4NywweDIwLDB4NjksMHhjMCwweDg4LDB4NTMsMHgwMiwweGNjLDB4ODEsMHg5NywweDUwIH19LAotIHsxNiwgMHhlOTAwLCAwLCB7MHgyZCwweGM4LDB4MGIsMHhmNywweDBhLDB4ZGMsMHhjMCwweDg0LDB4MDEsMHgyMSwweDQ0LDB4MWIsMHg3MCwweDIyLDB4ZGMsMHgwMCB9fSwKLSB7MTYsIDB4ZTkxMCwgMCwgezB4YjUsMHgwMCwweDIxLDB4YzQsMHgwYiwweDUwLDB4ODYsMHgwMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU5MjAsIDAsIHsweDIwLDB4MTQsMHhjZiwweDMwLDB4OTEsMHgwMCwweDJjLDB4YzAsMHgwYiwweDM0LDB4MDIsMHg0YywweDAwLDB4ODMsMHgwMCwweDJjIH19LAotIHsxNiwgMHhlOTMwLCAwLCB7MHhmMiwweDBiLDB4MTAsMHgyMiwweDBjLDB4MDAsMHg5MSwweDAwLDB4MmMsMHhjOCwweDBiLDB4MTgsMHgwYSwweGNkLDB4MDEsMHhhMyB9fSwKLSB7MTYsIDB4ZTk0MCwgMCwgezB4MDAsMHgyOCwweDYwLDB4MGIsMHgyMSwweDAyLDB4Y2UsMHgyMCwweGI4LDB4NDAsMHhhMCwweDU0LDB4MGIsMHgxOCwweDAyLDB4MDggfX0sCi0gezE2LCAweGU5NTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDExLDB4YmQsMHgwMCwweGY5LDB4MDAsMHgyZiwweGMwIH19LAotIHsxNiwgMHhlOTYwLCAwLCB7MHgwZiwweGY0LDB4MDIsMHg3YywweDEyLDB4Y2YsMHgwMywweDNmLDB4YzIsMHgwZSwweGIwLDB4MDMsMHhmYywweDA0LDB4OWIsMHgwMiB9fSwKLSB7MTYsIDB4ZTk3MCwgMCwgezB4MmUsMHhmMiwweDBmLDB4YTQsMHgwYiwweGRjLDB4MDAsMHhjZSwweDAwLDB4YjAsMHhjOCwweDhmLDB4YTQsMHgwMywweGVmLDB4MDAgfX0sCi0gezE2LCAweGU5ODAsIDAsIHsweGY4LDB4ODAsMHgzMiwweGY1LDB4MWYsMHhkZCwweDAzLDB4MmEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlOTkwLCAwLCB7MHg4MCwweDAwLDB4ZWMsMHg0MCwweGU5LDB4MDAsMHgzYSwweGMwLDB4MGYsMHhiMSwweDAzLDB4Y2MsMHgwMCwweGYzLDB4MDAsMHgzZSB9fSwKLSB7MTYsIDB4ZTlhMCwgMCwgezB4YzAsMHgwZCwweGI0LDB4MDksMHhlYywweDE4LDB4ZjksMHgxMCwweDNlLDB4MTAsMHg0ZiwweGIxLDB4MGEsMHg2YywweDgwLDB4ZjkgfX0sCi0gezE2LCAweGU5YjAsIDAsIHsweDg5LDB4MzYsMHg4MiwweDBiLDB4YTYsMHgwMywweGVjLDB4NTAsMHhmOSwweDUwLDB4M2UsMHhjMCwweDFmLDB4OTAsMHgwMywweDYwIH19LAotIHsxNiwgMHhlOWMwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGZjLDB4MDAsMHhmZCwweGEwLDB4M2QsMHhjMCB9fSwKLSB7MTYsIDB4ZTlkMCwgMCwgezB4MGMsMHg3MCwweDgzLDB4MmMsMHgwMCwweGVmLDB4MDIsMHgzNSwweGMwLDB4MGQsMHhlMiwweDAzLDB4ZmMsMHgwNCwweGZmLDB4MDIgfX0sCi0gezE2LCAweGU5ZTAsIDAsIHsweDJkLDB4ZTAsMHg4ZSwweGYwLDB4MDMsMHgzYywweDEwLDB4ZGMsMHgwMCwweDNmLDB4ODAsMHgwYywweGQ4LDB4MDMsMHhmYywweDAwIH19LAotIHsxNiwgMHhlOWYwLCAwLCB7MHhkZSwweDE4LDB4MzMsMHhmMCwweDRmLDB4ZDAsMHgwMywweGMwLDB4NDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWEwMCwgMCwgezB4ODEsMHgwMCwweDZjLDB4MDAsMHhiOSwweDAwLDB4MmUsMHhjMCwweDRjLDB4YjAsMHgwMywweDZjLDB4MDAsMHg4YiwweDAyLDB4MzYgfX0sCi0gezE2LCAweGVhMTAsIDAsIHsweGMwLDB4MGQsMHhhYywweDEyLDB4ZWMsMHgwMCwweDc5LDB4MDAsMHgyZSwweDMwLDB4MGQsMHgzZCwweDQyLDB4YWMsMHgwMCwweDg5IH19LAotIHsxNiwgMHhlYTIwLCAwLCB7MHg4OCwweDFhLDB4MTAsMHgwZCwweDg2LDB4MDIsMHhlZSwweDA0LDB4YmIsMHg0MCwweDIyLDB4ZTAsMHgwYiwweDkwLDB4MDIsMHhlMCB9fSwKLSB7MTYsIDB4ZWEzMCwgMCwgezB4NDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgyYywweDAxLDB4YjksMHgwMCwweDJlLDB4YzAgfX0sCi0gezE2LCAweGVhNDAsIDAsIHsweDA4LDB4YjAsMHg0MiwweGFjLDB4MDAsMHgwYiwweDA1LDB4MjYsMHhjMCwweDA5LDB4OTQsMHgyMCwweGVjLDB4MDAsMHhiOSwweDgwIH19LAotIHsxNiwgMHhlYTUwLCAwLCB7MHg2ZSwweGM0LDB4ODgsMHhiMCwweDgyLDB4MmMsMHgwMCwweDliLDB4ODIsMHgyZSwweDQyLDB4MDgsMHg4MSwweDAyLDB4ZTQsMHg4MCB9fSwKLSB7MTYsIDB4ZWE2MCwgMCwgezB4YjgsMHgwMCwweDIyLDB4YzEsMHgwYiwweDkwLDB4MDIsMHhlMCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVhNzAsIDAsIHsweDA4LDB4MDQsMHgwYywweDEwLDB4YjEsMHgyNSwweDJjLDB4Y2EsMHgwOCwweDM0LDB4NDYsMHhjYywweDA4LDB4ODMsMHgwMCwweDI0IH19LAotIHsxNiwgMHhlYTgwLCAwLCB7MHhjMiwweDBiLDB4MDIsMHg1MiwweGNjLDB4ODEsMHg4MywweDAwLDB4MmMsMHgwMCwweDE5LDB4YjIsMHg0MiwweGFjLDB4ODAsMHg4MSB9fSwKLSB7MTYsIDB4ZWE5MCwgMCwgezB4MDgsMHgyOCwweDgwLDB4MDksMHgwMCwweDAyLDB4YzQsMHg0MCwweGIxLDB4MDAsMHgyMCwweGMwLDB4MGIsMHgxMCwweDAyLDB4YzIgfX0sCi0gezE2LCAweGVhYTAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4NmMsMHgwMCwweGI5LDB4MDAsMHgzZiwweGQwIH19LAotIHsxNiwgMHhlYWIwLCAwLCB7MHgwOCwweGY2LDB4MDcsMHhiYywweGMyLDB4YWYsMHgzMCwweDc1LDB4ZGMsMHgwZCwweDE2LDB4MDIsMHhmYywweGUwLDB4YjksMHg1MCB9fSwKLSB7MTYsIDB4ZWFjMCwgMCwgezB4M2UsMHhjYywweDBjLDB4YjAsMHgyMywweDJjLDB4MTAsMHhkOSwweDAwLDB4M2UsMHgwMCwweDBjLDB4OTAsMHgwMywweGVjLDB4MDAgfX0sCi0gezE2LCAweGVhZDAsIDAsIHsweGRlLDB4MDEsMHgzMiwweGMwLDB4MGYsMHg5MCwweDAzLDB4YzAsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlYWUwLCAwLCB7MHhhMCwweDE5LDB4ZmMsMHgwMCwweGZkLDB4MTAsMHgzZiwweGNhLDB4MmUsMHhmNiwweDAzLDB4NmQsMHg5NCwweDlmLDB4MzAsMHgzYSB9fSwKLSB7MTYsIDB4ZWFmMCwgMCwgezB4YzksMHgwYywweDgzLDB4OTMsMHhmYywweDgwLDB4ZmYsMHgxMSwweDdlLDB4MTksMHgwYiwweGIxLDB4MDMsMHhmYywweDQwLDB4ZmQgfX0sCi0gezE2LCAweGViMDAsIDAsIHsweDA4LDB4M2IsMHgwMCwweDBmLDB4YzAsMHgwMywweGZjLDB4ODAsMHg3NywweDAwLDB4YmYsMHhjMCwweDBmLDB4NTAsMHgwMywweGU4IH19LAotIHsxNiwgMHhlYjEwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMSwweGZjLDB4MDAsMHhmNCwweDk0LDB4MzcsMHhjOCB9fSwKLSB7MTYsIDB4ZWIyMCwgMCwgezB4MGQsMHg2OSwweDYzLDB4N2MsMHgxMCwweGZmLDB4NjIsMHgzNywweGMwLDB4MGQsMHhiNCwweDAzLDB4N2MsMHg2MCwweGQ0LDB4ODAgfX0sCi0gezE2LCAweGViMzAsIDAsIHsweDNmLDB4NDAsMHgwZiwweDQ4LDB4MjMsMHgzMiwweDAwLDB4Y2UsMHgwMCwweGJmLDB4NDAsMHg4ZiwweGQxLDB4MDMsMHgzMCwweGUwIH19LAotIHsxNiwgMHhlYjQwLCAwLCB7MHhmZiwweDMwLDB4M2IsMHg2MCwweDBmLDB4ZDgsMHgwMywweGIwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWI1MCwgMCwgezB4ODAsMHgxMCwweGVkLDB4MjAsMHhiOCwweDI0LDB4MjMsMHhmNCwweDQ5LDB4YTIsMHgwMiwweDNmLDB4NDAsMHg4ZiwweDUxLDB4MjMgfX0sCi0gezE2LCAweGViNjAsIDAsIHsweGRhLDB4MDgsMHhmNiwweDEyLDB4M2QsMHg4MCwweDliLDB4ODAsMHgyZSwweDQ5LDB4NGIsMHg4MCwweDAzLDB4NDAsMHgwMCwweGQ5IH19LAotIHsxNiwgMHhlYjcwLCAwLCB7MHgwMSwweDIyLDB4NzQsMHgwYiwweGQ1LDB4MDIsMHgyMSwweDAwLDB4YmYsMHg0MiwweDJlLDB4NDksMHgwYiwweDljLDB4MDIsMHhlMCB9fSwKLSB7MTYsIDB4ZWI4MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjZCwweDgwLDB4YjgsMHgyMCwweDI4LDB4YzEgfX0sCi0gezE2LCAweGViOTAsIDAsIHsweDFiLDB4YTAsMHgwMiwweDRjLDB4MDAsMHg5MywweDIwLDB4MmMsMHhkOCwweDBiLDB4MzQsMHgwMiwweGNjLDB4MDAsMHg5MCwweDAxIH19LAotIHsxNiwgMHhlYmEwLCAwLCB7MHgyYywweGM2LDB4MWEsMHhhMCwweDAyLDB4NjgsMHgwOCwweDgzLDB4MDAsMHhhNCwweDQwLDB4MGIsMHgxMCwweDAyLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWJiMCwgMCwgezB4YjMsMHgxMCwweDI4LDB4NDIsMHgwYiwweDE0LDB4MDIsMHhhMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGViYzAsIDAsIHsweGMwLDB4MTUsMHhhYywweDAwLDB4YjgsMHg2MCwweDJhLDB4YzAsMHgxYiwweGEwLDB4OGUsMHhhYywweDAxLDB4OWIsMHgwNSwweDI2IH19LAotIHsxNiwgMHhlYmQwLCAwLCB7MHhjMCwweDAzLDB4YjAsMHg0MiwweDZjLDB4MDAsMHg5YiwweDgwLDB4MmUsMHhjMCwweDAzLDB4YTAsMHgwNiwweDY5LDB4MDAsMHg5OSB9fSwKLSB7MTYsIDB4ZWJlMCwgMCwgezB4ODAsMHhhYSwweGMwLDB4MGIsMHg5MCwweDAyLDB4NjMsMHgwMCwweDNiLDB4MDAsMHgyZSwweDU4LDB4NGIsMHg5MCwweDAyLDB4ZjAgfX0sCi0gezE2LCAweGViZjAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDExLDB4ZWMsMHgwNCwweGY4LDB4ODAsMHhiYSwweGMwIH19LAotIHsxNiwgMHhlYzAwLCAwLCB7MHgwZiwweDMwLDB4MDMsMHg2YywweDEwLDB4ZGIsMHgwMywweDM2LDB4YzAsMHg4ZiwweGIwLDB4MDMsMHhlYywweDA4LDB4ZDgsMHg4MCB9fSwKLSB7MTYsIDB4ZWMxMCwgMCwgezB4N2UsMHhlMCwweDA2LDB4ODgsMHgwMywweDQxLDB4MDgsMHhjYiwweGEwLDB4M2UsMHg2NCwweDBmLDB4OTAsMHgwYiwweDJhLDB4MDAgfX0sCi0gezE2LCAweGVjMjAsIDAsIHsweDdiLDB4MDAsMHgzYSwweDAxLDB4MGYsMHg5MCwweDAzLDB4OTAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlYzMwLCAwLCB7MHhlMCwweDAxLDB4YmMsMHgwMCwweGZjLDB4ODQsMHgzMiwweGMwLDB4MGMsMHhmOSwweDAzLDB4NWMsMHgxMCwweGVmLDB4MDAsMHgzYiB9fSwKLSB7MTYsIDB4ZWM0MCwgMCwgezB4YzAsMHgwYywweDcwLDB4MDMsMHg5YywweDAwLDB4ZWMsMHgwMSwweDNmLDB4ZTQsMHg0ZiwweGQxLDB4MDMsMHhmMSwweDAwLDB4ZjMgfX0sCi0gezE2LCAweGVjNTAsIDAsIHsweDA1LDB4MzMsMHg2MCwweDBmLDB4ZDAsMHgwMywweGJjLDB4MDQsMHhmZiwweDAwLDB4M2YsMHgyMSwweDBmLDB4ZDAsMHgwMywweGY4IH19LAotIHsxNiwgMHhlYzYwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweGFjLDB4MDAsMHhjOCwweDQwLDB4M2EsMHhjNiB9fSwKLSB7MTYsIDB4ZWM3MCwgMCwgezB4MGQsMHhiNCwweDAzLDB4NmMsMHgwMCwweGYzLDB4MDAsMHgzNCwweGMwLDB4MGUsMHhiMCwweDAzLDB4NmMsMHgwMCwweGU5LDB4MTAgfX0sCi0gezE2LCAweGVjODAsIDAsIHsweDNhLDB4YzAsMHgwZiwweDg0LDB4MDMsMHgyYywweDYwLDB4Y2IsMHgwMCwweDMyLDB4NjAsMHgwYywweDUwLDB4MDMsMHg2MSwweDAwIH19LAotIHsxNiwgMHhlYzkwLCAwLCB7MHhjYiwweDAwLDB4M2UsMHg5MCwweDBlLDB4OTAsMHhhMywweDkwLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWNhMCwgMCwgezB4YzgsMHgwNSwweDNjLDB4MDIsMHg4OCwweDAxLDB4MDEsMHhmMCwweDIwLDB4YjAsMHgwMSwweDNlLDB4MDAsMHgzZiwweDAwLDB4MzMgfX0sCi0gezE2LCAweGVjYjAsIDAsIHsweGMwLDB4MGIsMHhmMCwweDMyLDB4M2MsMHgwOCwweDg5LDB4ODAsMHgyMiwweGMwLDB4MDEsMHgxNSwweDEyLDB4YWMsMHgwMCwweDhiIH19LAotIHsxNiwgMHhlY2MwLCAwLCB7MHgwMCwweDIyLDB4YzAsMHg0OCwweGRiLDB4MDIsMHgyZiwweDQwLDB4OGYsMHgwMCwweDJlLDB4MDEsMHgwOCwweGQ0LDB4ODAsMHgzMiB9fSwKLSB7MTYsIDB4ZWNkMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg0YywweDAwLDB4MDgsMHgwMCwweDA4LDB4ZjAgfX0sCi0gezE2LCAweGVjZTAsIDAsIHsweDA4LDB4MDAsMHgxMiwweDRjLDB4MDAsMHgzMywweDAxLDB4MjQsMHhjMCwweDRhLDB4MzAsMHgwMiwweDRjLDB4MDAsMHhhMCwweDIwIH19LAotIHsxNiwgMHhlY2YwLCAwLCB7MHgyOCwweGMwLDB4MGIsMHgxMCwweDAyLDB4NDYsMHgwNCwweDgzLDB4MDQsMHgyMCwweGMwLDB4MjksMHgxOCwweDAyLDB4MDQsMHg0MCB9fSwKLSB7MTYsIDB4ZWQwMCwgMCwgezB4YjMsMHgwMCwweDJjLDB4NDAsMHgwYSwweDFjLDB4NDIsMHhiMSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVkMTAsIDAsIHsweDIwLDB4MDEsMHgxZSwweDAxLDB4OGQsMHg4MCwweDIxLDB4ZTAsMHgxOCwweGM4LDB4MDIsMHgxZSwweDAwLDB4YjMsMHhhMCwweDIxIH19LAotIHsxNiwgMHhlZDIwLCAwLCB7MHhlMCwweDFiLDB4MzgsMHgwMiwweDBlLDB4MDEsMHhhNywweDgwLDB4MjEsMHhlMCwweDA5LDB4ZDgsMHg0MCwweGQ2LDB4NDAsMHg4NyB9fSwKLSB7MTYsIDB4ZWQzMCwgMCwgezB4ODAsMHgwMSwweGUwLDB4MDksMHg1OSwweDAyLDB4MTYsMHgwMCwweDk3LDB4ODQsMHgyZCwweDYwLDB4MDgsMHg1OCwweDQwLDB4MDAgfX0sCi0gezE2LCAweGVkNDAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MmMsMHg0MCwweGMwLDB4MDAsMHgzOCwweGM0IH19LAotIHsxNiwgMHhlZDUwLCAwLCB7MHgwYywweDMwLDB4MjcsMHg0YywweDIwLDB4ZjMsMHgwMSwweDM0LDB4YzEsMHgwZSwweDNhLDB4MDMsMHg0YywweGM0LDB4ZTAsMHgwMCB9fSwKLSB7MTYsIDB4ZWQ2MCwgMCwgezB4MTgsMHhjOCwweDBmLDB4MzQsMHgwMywweDQ0LDB4NDAsMHhjMywweDAwLDB4MzAsMHhjMCwweDBkLDB4OTAsMHgwMywweDJlLDB4MDAgfX0sCi0gezE2LCAweGVkNzAsIDAsIHsweGYzLDB4MDAsMHgzZSwweDQwLDB4MGUsMHgxMCwweDAxLDB4OWEsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlZDgwLCAwLCB7MHg0MCwweDFkLDB4YmMsMHgwMCwweGY5LDB4MDAsMHgwZSwweGQ0LDB4MGUsMHhiMCwweDAzLDB4ZWMsMHgyMCwweGZiLDB4MjAsMHgzZiB9fSwKLSB7MTYsIDB4ZWQ5MCwgMCwgezB4YzQsMHgwZiwweGYxLDB4MDMsMHhlYywweDYwLDB4ZGIsMHgxMCwweDNmLDB4YzAsMHg0ZiwweGYwLDB4MDMsMHhhNCwweDQ2LDB4ZmIgfX0sCi0gezE2LCAweGVkYTAsIDAsIHsweDAwLDB4YmQsMHhjMCwweDBlLDB4ZDAsMHgwYiwweGI0LDB4MDAsMHhlZiwweDQ4LDB4M2YsMHg0MCwweDBmLDB4NTAsMHgwMywweGQwIH19LAotIHsxNiwgMHhlZGIwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGVjLDB4MDAsMHhmOCwweDAwLDB4MzIsMHhkNCB9fSwKLSB7MTYsIDB4ZWRjMCwgMCwgezB4MGYsMHg4MCwweDAzLDB4YWQsMHgwMCwweGViLDB4MDgsMHgyMiwweGQyLDB4MGMsMHhiNiwweDAzLDB4NmMsMHgwMCwweGYyLDB4ODAgfX0sCi0gezE2LCAweGVkZDAsIDAsIHsweDM2LDB4YzAsMHgwZSwweGEwLDB4MDMsMHgyOCwweDEwLDB4Y2IsMHgwMCwweGIyLDB4YzAsMHgwZiwweGQ2LDB4MDMsMHgyOCwweDEwIH19LAotIHsxNiwgMHhlZGUwLCAwLCB7MHhmYiwweDIwLDB4M2UsMHg0MCwweDRmLDB4OTksMHgxMywweDJiLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWRmMCwgMCwgezB4NDgsMHgxMSwweDlkLDB4MTAsMHhiNCwweDAxLDB4MjEsMHhjMSwweDhiLDB4YzAsMHgwMiwweDFjLDB4YTAsMHhiZiwweDA0LDB4MjcgfX0sCi0gezE2LCAweGVlMDAsIDAsIHsweGM4LDB4MDgsMHg3NSwweDAyLDB4MWMsMHhjMCwweGI2LDB4MDAsMHgyMSwweGMwLDB4MDgsMHhmMCwweDQyLDB4MTgsMHgxMCwweDhmIH19LAotIHsxNiwgMHhlZTEwLCAwLCB7MHgwMCwweDIxLDB4YzAsMHgwYiwweDU0LDB4YTIsMHgxYywweDAwLDB4YjcsMHgwNCwweDJkLDB4NDEsMHgwYiwweDUyLDB4MDIsMHgxMiB9fSwKLSB7MTYsIDB4ZWUyMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHg5ZSwweDgwLDB4YjYsMHg4OCwweGE1LDB4ZTAgfX0sCi0gezE2LCAweGVlMzAsIDAsIHsweDBiLDB4NzgsMHgxMiwweDllLDB4ODEsMHhhNywweDkwLDB4MjUsMHhlNCwweDg4LDB4NzgsMHgwMiwweDFlLDB4ODAsMHhiZiwweDgwIH19LAotIHsxNiwgMHhlZTQwLCAwLCB7MHgyNCwweDYwLDB4MGIsMHg2OCwweDAyLDB4MWUsMHgwMCwweDg3LDB4ODQsMHg2MSwweGUwLDB4MGEsMHgxYSwweDBhLDB4MWEsMHgwMCB9fSwKLSB7MTYsIDB4ZWU1MCwgMCwgezB4YjcsMHhhMCwweDJkLDB4ZTAsMHgwYiwweGRhLDB4MDIsMHgzMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVlNjAsIDAsIHsweDQ4LDB4MTQsMHhjYywweDAwLDB4YmEsMHhjMCwweGE0LDB4YzAsMHgwYiwweDM0LDB4MDIsMHgwYywweDAwLDB4YjMsMHgwMCwweDI0IH19LAotIHsxNiwgMHhlZTcwLCAwLCB7MHhjMCwweDA4LDB4YjAsMHgwZSwweDJjLDB4MDAsMHhiMywweDk4LDB4MjAsMHg2MCwweDA5LDB4MzMsMHgwMiwweDJjLDB4MDAsMHhhMyB9fSwKLSB7MTYsIDB4ZWU4MCwgMCwgezB4YzgsMHgyMCwweGMwLDB4MGIsMHgxMCwweDAyLDB4MGMsMHgwMCwweGIzLDB4MDAsMHgyYywweGYwLDB4MGIsMHgxMCwweDAyLDB4MTIgfX0sCi0gezE2LCAweGVlOTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YTgsMHgwMCwweGZlLDB4ODAsMHgzNiwweDgxIH19LAotIHsxNiwgMHhlZWEwLCAwLCB7MHgwYiwweGUwLDB4MDMsMHhhOCwweDAwLDB4ZWEsMHgwMCwweGIyLDB4ODAsMHgwOCwweGEwLDB4MDMsMHg2OCwweDAwLDB4ZmUsMHgwMCB9fSwKLSB7MTYsIDB4ZWViMCwgMCwgezB4MzYsMHhhMCwweDFmLDB4ZTgsMHgxMywweDNiLDB4ODIsMHhjZSwweGUwLDB4MjIsMHg4MCwweDhlLDB4YTAsMHgwMywweDM4LDB4MDAgfX0sCi0gezE2LCAweGVlYzAsIDAsIHsweGJhLDB4MDAsMHgzZiwweGEyLDB4MGYsMHhhMCwweDAzLDB4M2EsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlZWQwLCAwLCB7MHg0OCwweDAwLDB4ZTAsMHgwMCwweGY4LDB4MjAsMHgzYSwweDEwLDB4MDcsMHg4MCwweDAzLDB4YzEsMHgwMCwweGY4LDB4MDAsMHgzOCB9fSwKLSB7MTYsIDB4ZWVlMCwgMCwgezB4MDAsMHgyZiwweDgwLDB4MDMsMHhhMCwweDAxLDB4ZjgsMHg0MiwweDNlLDB4MDUsMHgwZSwweDgwLDB4MGIsMHhlMCwweDgwLDB4ZDggfX0sCi0gezE2LCAweGVlZjAsIDAsIHsweDAwLDB4M2UsMHgwMCwweDBmLDB4ODQsMHgwMywweGUxLDB4MDAsMHhmOCwweDAwLDB4M2UsMHgwMCwweDBmLDB4ODQsMHgwYiwweGQyIH19LAotIHsxNiwgMHhlZjAwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGU0LDB4MDAsMHhjOSwweDAwLDB4M2EsMHg1MCB9fSwKLSB7MTYsIDB4ZWYxMCwgMCwgezB4OGYsMHg5MCwweDgzLDB4YTQsMHgwMiwweGQxLDB4MDAsMHhiMiwweDQwLDB4NGMsMHg5MCwweDIzLDB4MjQsMHgwOCwweGM5LDB4MDEgfX0sCi0gezE2LCAweGVmMjAsIDAsIHsweDNlLDB4NDAsMHgwYywweDkwLDB4MDMsMHgyNCwweDAwLDB4YzEsMHgwMCwweDMyLDB4NDAsMHgwZiwweDE0LDB4MGEsMHgyNSwweDIwIH19LAotIHsxNiwgMHhlZjMwLCAwLCB7MHhlOSwweDAwLDB4M2UsMHg0MiwweDBmLDB4OTAsMHgwMywweGMyLDB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWY0MCwgMCwgezB4ODAsMHgwNCwweDY0LDB4MGEsMHg4OSwweDAwLDB4MjIsMHg3MCwweDBiLDB4OTAsMHgxMiwweDI1LDB4ODAsMHhjOSwweDAwLDB4MjIgfX0sCi0gezE2LCAweGVmNTAsIDAsIHsweDQwLDB4MGEsMHg5MCwweDAzLDB4NjQsMHgwMCwweDg5LDB4MjAsMHgyYywweDQwLDB4MGEsMHg5MCwweDBhLDB4MjQsMHgwMCwweDg5IH19LAotIHsxNiwgMHhlZjYwLCAwLCB7MHhjMSwweDMyLDB4NDAsMHgwYiwweDk4LDB4MDIsMHgwNiwweDAwLDB4ODksMHg5MCwweDJlLDB4NDAsMHgwYiwweDk0LDB4MTIsMHhlMCB9fSwKLSB7MTYsIDB4ZWY3MCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDEsMHgwNCwweDAwLDB4ODksMHgwMCwweDZhLDB4NDIgfX0sCi0gezE2LCAweGVmODAsIDAsIHsweDBhLDB4MTAsMHgwMiwweGE0LDB4MDAsMHg4OSwweDAwLDB4YTIsMHg0MCwweDBhLDB4OTAsMHgwMiwweDI0LDB4MDAsMHgwOSwweDAwIH19LAotIHsxNiwgMHhlZjkwLCAwLCB7MHgyZSwweDQwLDB4NTgsMHgxMCwweDAyLDB4MjQsMHgwMCwweDg5LDB4ODAsMHhhYSwweDYwLDB4MGIsMHg5MCwweDAyLDB4YTQsMHgwNCB9fSwKLSB7MTYsIDB4ZWZhMCwgMCwgezB4YTksMHgwMCwweDJlLDB4NDAsMHgwYiwweDk0LDB4MDIsMHhjNiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVmYjAsIDAsIHsweDA4LDB4MDQsMHgwNCwweDgwLDB4ODEsMHgwMCwweDYwLDB4NDgsMHgwYiwweDEwLDB4MDIsMHgwNCwweDgxLDB4ODEsMHgyMCwweDYwIH19LAotIHsxNiwgMHhlZmMwLCAwLCB7MHg0OCwweDBhLDB4MTIsMHgwMiwweDQ0LDB4ODgsMHg4MSwweDAwLDB4MGUsMHg1OSwweDBhLDB4MTQsMHgwMiwweDA1LDB4MDAsMHg4MSB9fSwKLSB7MTYsIDB4ZWZkMCwgMCwgezB4YzAsMHgyOCwweDUwLDB4NDksMHgzMCwweDAyLDB4OGMsMHg4NCwweDAxLDB4NjAsMHgyYywweDUwLDB4MGIsMHgxMCwweDAyLDB4YzIgfX0sCi0gezE2LCAweGVmZTAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjEsMHg0MCwweGMwLDB4NTQsMHgyYSwweDAwIH19LAotIHsxNiwgMHhlZmYwLCAwLCB7MHgwZSwweDg1LDB4MDMsMHhhMCwweDAwLDB4YzgsMHg1MCwweDMyLDB4MTUsMHgxZSwweDA1LDB4MjIsMHgyMSwweDQyLDB4YzgsMHgwMCB9fSwKLSB7MTYsIDB4ZjAwMCwgMCwgezB4M2UsMHgwMCwweDBjLDB4ODAsMHgwMywweDAwLDB4MDQsMHhjOCwweDAwLDB4M2EsMHgwMCwweDRmLDB4ODUsMHgwMywweGExLDB4NDAgfX0sCi0gezE2LCAweGYwMTAsIDAsIHsweDY4LDB4MDAsMHgzZSwweDAwLDB4MGYsMHg4MCwweDAzLDB4ZWUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMDIwLCAwLCB7MHg5OCwweDFkLDB4ZTQsMHg0MCwweGZkLDB4MDMsMHgzZSwweDQ0LDB4MGYsMHhkMCwweDAzLDB4ZTQsMHg0OCwweGU5LDB4MTAsMHgzZSB9fSwKLSB7MTYsIDB4ZjAzMCwgMCwgezB4NDUsMHgwZiwweDkxLDB4MTMsMHhlNCwweDQwLDB4ZmQsMHgwMCwweDNmLDB4NDQsMHgwZiwweGQwLDB4MDMsMHhmNCwweDAyLDB4ZmQgfX0sCi0gezE2LCAweGYwNDAsIDAsIHsweDQwLDB4MzMsMHg1MCwweDBmLDB4ZDQsMHgyMywweDc0LDB4NDAsMHhmOSwweDEwLDB4M2YsMHg0MCwweDBmLDB4NTQsMHgwMywweGU2IH19LAotIHsxNiwgMHhmMDUwLCAwLCB7MHgwMiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweGU0LDB4MDAsMHhmOSwweDAxLDB4MzMsMHg2YSB9fSwKLSB7MTYsIDB4ZjA2MCwgMCwgezB4MDksMHg5MCwweDAzLDB4YjYsMHgzNCwweGY5LDB4YzgsMHgzMiwweDY0LDB4MGMsMHg5YSwweDAzLDB4ZTYsMHhhMCwweGRkLDB4MDAgfX0sCi0gezE2LCAweGYwNzAsIDAsIHsweDNjLDB4NzAsMHgwZiwweDkwLDB4MDMsMHhhNSwweDAwLDB4ODksMHg4MCwweDMzLDB4MzIsMHgwZiwweGQ4LDB4MTMsMHgzYywweDAwIH19LAotIHsxNiwgMHhmMDgwLCAwLCB7MHhmZCwweDAwLDB4NzAsMHg1MCwweDBmLDB4ZDAsMHgwMywweDA2LDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjA5MCwgMCwgezB4MzgsMHgxMCwweGUyLDB4ODAsMHhiOCwweGE4LDB4MjIsMHgxMCwweDA4LDB4ODgsMHgwMiwweDIxLDB4MDAsMHhiOCwweGMwLDB4MjAgfX0sCi0gezE2LCAweGYwYTAsIDAsIHsweDMwLDB4MGQsMHg4ZSwweDg3LDB4ODMsMHg4OCwweDg4LDB4MDAsMHgyZSwweDM0LDB4MGIsMHg4YSwweDgyLDB4MjIsMHg4MCwweGRjIH19LAotIHsxNiwgMHhmMGIwLCAwLCB7MHhlMCwweDIyLDB4MzgsMHgwYiwweDgwLDB4MDIsMHgyMCwweDAwLDB4ZjgsMHhhOCwweDJhLDB4MjgsMHgwYiwweDgwLDB4MDIsMHgwZSB9fSwKLSB7MTYsIDB4ZjBjMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhjNCwweDIwLDB4YjEsMHgwMCwweDIwLDB4NDAgfX0sCi0gezE2LCAweGYwZDAsIDAsIHsweDBhLDB4OTIsMHg5MiwweDg0LDB4MTEsMHhiMSwweDI0LDB4NjgsMHg1OCwweDA5LDB4MTEsMHgwMiwweGM0LDB4MjAsMHg5MSwweDAxIH19LAotIHsxNiwgMHhmMGUwLCAwLCB7MHgyYywweDQ4LDB4MWIsMHg1MCwweDAyLDB4NzQsMHg4NCwweDk1LDB4NDgsMHhhYywweDQ4LDB4MGIsMHg5NCwweDAyLDB4MDQsMHgwNCB9fSwKLSB7MTYsIDB4ZjBmMCwgMCwgezB4YjEsMHgwMiwweDI0LDB4NDgsMHgwYiwweDEwLDB4MDIsMHgwMiwweDA1LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYxMDAsIDAsIHsweDE4LDB4MTEsMHhhNCwweDAwLDB4YjEsMHgyMCwweDIyLDB4NDAsMHgwYSwweDkwLDB4MDYsMHgyYywweDAxLDB4YjksMHgwMCwweDJhIH19LAotIHsxNiwgMHhmMTEwLCAwLCB7MHg0MCwweDA5LDB4OTAsMHgwMiwweGE0LDB4MDAsMHg5YiwweDA4LDB4MmUsMHg0OCwweDBiLDB4MTIsMHgxYSwweDc0LDB4MDAsMHg5NSB9fSwKLSB7MTYsIDB4ZjEyMCwgMCwgezB4NDUsMHgyZSwweDYwLDB4MDMsMHg5MCwweDAyLDB4MjQsMHgwMCwweGI5LDB4MDAsMHgyZSwweDQwLDB4MGIsMHg5MCwweDAyLDB4MDYgfX0sCi0gezE2LCAweGYxMzAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4ZTQsMHgwMCwweGY5LDB4ODAsMHgzMCwweDQwIH19LAotIHsxNiwgMHhmMTQwLCAwLCB7MHgwZSwweDE2LDB4MDMsMHhhNCwweDAwLDB4YjksMHgwNCwweDMyLDB4NDAsMHgwZCwweDkwLDB4MDIsMHhlNCwweDAwLDB4ZDksMHg0MCB9fSwKLSB7MTYsIDB4ZjE1MCwgMCwgezB4MmUsMHg0MCwweDFmLDB4OTgsMHgwMywweGU1LDB4ODAsMHhkOSwweDAwLDB4YWUsMHg2MCwweDA3LDB4MTAsMHgwYiwweDI2LDB4MDEgfX0sCi0gezE2LCAweGYxNjAsIDAsIHsweGI5LDB4MDAsMHhhNiwweDQwLDB4MGYsMHg5MCwweDBiLDB4MjgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMTcwLCAwLCB7MHgyOCwweDAxLDB4YTQsMHgwMCwweGY5LDB4MDAsMHhiZSwweDQwLDB4YWMsMHg5MiwweDAzLDB4ZTQsMHgwMCwweGY5LDB4MDAsMHhiNCB9fSwKLSB7MTYsIDB4ZjE4MCwgMCwgezB4NDAsMHgwZiwweDkwLDB4MDMsMHhlNCwweDAwLDB4ZTksMHgwMCwweDNlLDB4NjAsMHgwZiwweDkwLDB4MDMsMHhhNCwweDgwLDB4ZjkgfX0sCi0gezE2LCAweGYxOTAsIDAsIHsweDAwLDB4MzIsMHgwMCwweDBmLDB4OTAsMHg4MywweGU2LDB4ODUsMHhlMSwweDAwLDB4MzIsMHg0NCwweDBmLDB4MTAsMHgwMywweGNhIH19LAotIHsxNiwgMHhmMWEwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxMCwweGEwLDB4MDAsMHhmOCwweDAwLDB4MzIsMHgwMCB9fSwKLSB7MTYsIDB4ZjFiMCwgMCwgezB4MGYsMHg4MCwweDEzLDB4ZTAsMHg5NCwweGUwLDB4MDAsMHgzMiwweDAwLDB4MGMsMHg4MCwweDAzLDB4NjAsMHgwMCwweGM4LDB4MDAgfX0sCi0gezE2LCAweGYxYzAsIDAsIHsweDNlLDB4MDAsMHgwZCwweDgwLDB4NDMsMHgyMCwweDA4LDB4ZjgsMHgwMCwweDMyLDB4MDAsMHgwZiwweDgwLDB4MDMsMHhlMCwweDQwIH19LAotIHsxNiwgMHhmMWQwLCAwLCB7MHhmOCwweDAwLDB4MzIsMHgwMCwweDRjLDB4ODAsMHgyMywweGNhLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjFlMCwgMCwgezB4MjgsMHgwNSwweDI4LDB4MDAsMHhiYSwweDAwLDB4MjMsMHg4MCwweDBiLDB4YTAsMHgwMiwweGZiLDB4MDQsMHg2YSwweDAwLDB4MjIgfX0sCi0gezE2LCAweGYxZjAsIDAsIHsweDgwLDB4MGEsMHhhMCwweDAzLDB4NjgsMHgwYSwweDhlLDB4ODgsMHgzYSwweDgwLDB4MDgsMHhhMCwweDAyLDB4MDgsMHgwMCwweGJhIH19LAotIHsxNiwgMHhmMjAwLCAwLCB7MHgwMCwweGI3LDB4MjIsMHgwMywweGU0LDB4MDIsMHhmYSwweDAwLDB4OGEsMHgwMCwweDIyLDB4ODAsMHgwOCwweGU4LDB4MDIsMHhjYSB9fSwKLSB7MTYsIDB4ZjIxMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg0YywweDAwLDB4YjMsMHgwMCwweDYwLDB4NDEgfX0sCi0gezE2LCAweGYyMjAsIDAsIHsweDAzLDB4MzAsMHgwMiwweGNjLDB4NDEsMHhhMywweDAwLDB4MDQsMHhjMCwweDBiLDB4MzAsMHgwMiwweDJjLDB4MDAsMHhhMywweDgwIH19LAotIHsxNiwgMHhmMjMwLCAwLCB7MHgyYywweGMwLDB4MDksMHgzOCwweDAyLDB4MGMsMHgwMCwweGIzLDB4MDAsMHhhMCwweGMwLDB4MGIsMHgzNCwweDAyLDB4Y2MsMHg4MCB9fSwKLSB7MTYsIDB4ZjI0MCwgMCwgezB4YTEsMHgwMCwweDIwLDB4YzAsMHgwOCwweDM4LDB4MDIsMHhjYSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYyNTAsIDAsIHsweGEwLDB4MDEsMHgxYywweDQwLDB4YjcsMHgwMCwweDYxLDB4MDAsMHgwYiwweDcxLDB4MDIsMHhkYywweDAwLDB4YTMsMHgwMCwweDI1IH19LAotIHsxNiwgMHhmMjYwLCAwLCB7MHhjOCwweDE5LDB4MzgsMHgwMiwweDVjLDB4ODAsMHhhNywweDAwLDB4MGYsMHhlOCwweDA5LDB4NjQsMHgyMiwweDEwLDB4MDAsMHhiMyB9fSwKLSB7MTYsIDB4ZjI3MCwgMCwgezB4MDAsMHgyNSwweGM4LDB4MGIsMHg2MCwweDAyLDB4ZjIsMHgwMCwweDg1LDB4MDEsMHgyMywweGU4LDB4MDgsMHg3MCwweDgyLDB4ZTggfX0sCi0gezE2LCAweGYyODAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MWUsMHgyMCwweGZmLDB4ODAsMHhhMSwweGEwIH19LAotIHsxNiwgMHhmMjkwLCAwLCB7MHgwZiwweDdhLDB4NDIsMHhkYSwweDAwLDB4ZTcsMHhlOCwweDM1LDB4ZjAsMHgyZiwweDdiLDB4NjIsMHgxZSwweDgyLDB4ZTYsMHg4MCB9fSwKLSB7MTYsIDB4ZjJhMCwgMCwgezB4MWQsMHhlMCwweDBkLDB4ZjgsMHgwYiwweDFlLDB4MDAsMHhmNywweDgwLDB4MzEsMHhmMCwweDBmLDB4NzgsMHgwMywweGRlLDB4MGMgfX0sCi0gezE2LCAweGYyYjAsIDAsIHsweGVmLDB4ODAsMHgzMSwweGY4LDB4MmMsMHg3OCwweDAzLDB4ZWEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMmMwLCAwLCB7MHgwOCwweDFkLDB4YWQsMHg4NCwweGZiLDB4NjgsMHgzZSwweDAwLDB4MGYsMHhiMCwweDAzLDB4ZTgsMHgwMCwweGZiLDB4MDAsMHhmYSB9fSwKLSB7MTYsIDB4ZjJkMCwgMCwgezB4ZDgsMHgwZSwweGI1LDB4MDMsMHhlZCwweDAwLDB4ZGIsMHgwMCwweDNhLDB4YzAsMHg4ZSwweGEwLDB4MDMsMHhlMCwweDAwLDB4ZmIgfX0sCi0gezE2LCAweGYyZTAsIDAsIHsweDQwLDB4M2UsMHhjMCwweDBiLDB4YjAsMHg0MywweGM0LDB4MDQsMHhlZiwweDAyLDB4YmYsMHhjMCwweDBmLDB4YjAsMHgwMywweGMyIH19LAotIHsxNiwgMHhmMmYwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweGZlLDB4NDIsMHhjNywweDM4LDB4MzMsMHg2NCB9fSwKLSB7MTYsIDB4ZjMwMCwgMCwgezB4MGUsMHg3YywweDAzLDB4NWUsMHgwMCwweGRmLDB4YTAsMHgzNywweGYwLDB4MGQsMHhmOCwweDAzLDB4ZmYsMHgyMCwweGNmLDB4ODEgfX0sCi0gezE2LCAweGYzMTAsIDAsIHsweDMzLDB4ZTIsMHgwYywweGQ4LDB4MDMsMHhiZSwweDAwLDB4N2YsMHhjMCwweDMzLDB4ZTAsMHgwYywweGY5LDB4MDMsMHg3ZSwweDAwIH19LAotIHsxNiwgMHhmMzIwLCAwLCB7MHhmZCwweDgwLDB4M2YsMHhlMCwweDBmLDB4ZjgsMHgwMywweGMwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjMzMCwgMCwgezB4YTgsMHgxMSwweDljLDB4MDAsMHg4NywweGEwLDB4MjEsMHgxNCwweDA4LDB4NzEsMHgwMiwweDE0LDB4MTAsMHhkNywweDIwLDB4MzUgfX0sCi0gezE2LCAweGYzNDAsIDAsIHsweGMwLDB4MGMsMHg3MCwweDAzLDB4YmMsMHgwMCwweDg1LDB4MDgsMHgyYiwweGMwLDB4NGQsMHg0NiwweDAyLDB4ZDEsMHgwMCwweGI3IH19LAotIHsxNiwgMHhmMzUwLCAwLCB7MHgwMCwweDIxLDB4YzAsMHgwOCwweDYwLDB4MDIsMHgwOCwweDgwLDB4ZjUsMHgyMCwweDNkLDB4Y2EsMHgwZiwweDU0LDB4MDMsMHhlYSB9fSwKLSB7MTYsIDB4ZjM2MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5YywweDExLDB4OGYsMHgwMSwweDIwLDB4ODQgfX0sCi0gezE2LCAweGYzNzAsIDAsIHsweDFhLDB4ZjAsMHgwMiwweDE4LDB4MDAsMHhhNywweDM0LDB4NjUsMHhjMCwweDA5LDB4NzEsMHgwMiwweGRjLDB4MDAsMHg4ZSwweDAwIH19LAotIHsxNiwgMHhmMzgwLCAwLCB7MHgyOSwweGMwLDB4MDgsMHg1MCwweDA2LDB4OWMsMHgwMCwweGJmLDB4ODgsMHgyZCwweGM0LDB4MGEsMHg2MCwweDI2LDB4NTgsMHgyNCB9fSwKLSB7MTYsIDB4ZjM5MCwgMCwgezB4OTcsMHgwMCwweDZkLDB4YzAsMHg5YiwweDcwLDB4MDIsMHhjMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYzYTAsIDAsIHsweDIwLDB4MTQsMHhjYywweDAwLDB4OGIsMHg0MCwweDIwLDB4MDAsMHgxOCwweDMwLDB4MDIsMHgwMCwweDAwLDB4YmIsMHgwMiwweDI0IH19LAotIHsxNiwgMHhmM2IwLCAwLCB7MHhjMCwweDA4LDB4MzAsMHgyMCwweGNjLDB4MDAsMHg4MSwweGMwLDB4MjgsMHhjMCwweDBiLDB4MDQsMHg4MiwweGUwLDB4MTAsMHhiYiB9fSwKLSB7MTYsIDB4ZjNjMCwgMCwgezB4YTAsMHgyYywweGUwLDB4MGEsMHgyMCwweDA2LDB4MDAsMHgwMCwweGIzLDB4MDAsMHgyOCwweGMwLDB4MGEsMHgxMCwweDAyLDB4ODggfX0sCi0gezE2LCAweGYzZDAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YmMsMHgwMCwweGNmLDB4MTAsMHgzMiwweDAwIH19LAotIHsxNiwgMHhmM2UwLCAwLCB7MHgwZSwweGYwLDB4MGIsMHgyNCwweDAwLDB4ZWYsMHgwMCwweDM3LDB4YzAsMHgwZCwweGYwLDB4MDMsMHhmYywweDA2LDB4YzEsMHg1MCB9fSwKLSB7MTYsIDB4ZjNmMCwgMCwgezB4M2IsMHhjMCwweDBjLDB4YjQsMHgwMywweGFjLDB4MDAsMHhmOCwweGMwLDB4YmUsMHhjOCwweDJlLDB4YjAsMHgwMywweDZlLDB4MDEgfX0sCi0gezE2LCAweGY0MDAsIDAsIHsweGZiLDB4MDAsMHgyZCwweGMwLDB4NGIsMHg5MCwweDAyLDB4ZWEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNDEwLCAwLCB7MHg4MCwweDAwLDB4ZWMsMHgwNCwweGZiLDB4MDAsMHgzZSwweDAwLDB4MGYsMHhiMCwweDAzLDB4YWQsMHgwMCwweDliLDB4MDAsMHgzZSB9fSwKLSB7MTYsIDB4ZjQyMCwgMCwgezB4YzAsMHgwZiwweDMwLDB4MDMsMHhhYywweDAwLDB4ZjgsMHgwMCwweDJlLDB4YzAsMHgwNSwweGI0LDB4MDMsMHhlZCwweDAwLDB4ZjggfX0sCi0gezE2LCAweGY0MzAsIDAsIHsweDQwLDB4MzIsMHhjMCwweDA5LDB4MDAsMHgwMywweGUwLDB4OTEsMHhlMywweDAwLDB4M2UsMHhjMCwweDBmLDB4OTAsMHgxMSwweGUwIH19LAotIHsxNiwgMHhmNDQwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGVjLDB4MDAsMHhlZiwweDAwLDB4MzMsMHgyMCB9fSwKLSB7MTYsIDB4ZjQ1MCwgMCwgezB4NGYsMHhmMCwweDAzLDB4YjQsMHgwMCwweGVmLDB4MDMsMHgzYSwweGMwLDB4MGYsMHhmMCwweDAzLDB4M2MsMHgwMCwweGRjLDB4MDAgfX0sCi0gezE2LCAweGY0NjAsIDAsIHsweDMxLDB4YzAsMHg4ZCwweGY4LDB4MDMsMHhmZSwweDA0LDB4Y2YsMHgwMCwweDMyLDB4YzgsMHgwYywweGYwLDB4MGIsMHgxYywweDAwIH19LAotIHsxNiwgMHhmNDcwLCAwLCB7MHhjZiwweDkzLDB4MzMsMHhjMCwweDhjLDB4NDAsMHgwMiwweDAwLDB4NDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjQ4MCwgMCwgezB4ODEsMHgwNCwweDZjLDB4MDAsMHhiYiwweDAwLDB4YTIsMHgwNCwweDBiLDB4MzAsMHgwMiwweDBlLDB4MDAsMHhhYiwweDAwLDB4MmEgfX0sCi0gezE2LCAweGY0OTAsIDAsIHsweGMwLDB4MDksMHhiMCwweDAzLDB4NmMsMHgwOCwweGE4LDB4YzAsMHgzNiwweGMwLDB4MDgsMHhiYywweDAyLDB4ZWYsMHgwMiwweGFiIH19LAotIHsxNiwgMHhmNGEwLCAwLCB7MHhkMCwweDIwLDB4ZTAsMHgwOCwweGI4LDB4MjIsMHgyNiwweDEwLDB4OGIsMHgwMCwweDIyLDB4YzAsMHgyMCwweDljLDB4MDIsMHgyMCB9fSwKLSB7MTYsIDB4ZjRiMCwgMCwgezB4NDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgyYywweDAwLDB4YmIsMHgwMCwweDI2LDB4MDAgfX0sCi0gezE2LCAweGY0YzAsIDAsIHsweDBhLDB4YjAsMHgwMiwweGEyLDB4MDgsMHhhYiwweDAwLDB4NmEsMHhjMCwweDBiLDB4YjAsMHgwYSwweDBjLDB4MDAsMHg4YiwweDgwIH19LAotIHsxNiwgMHhmNGQwLCAwLCB7MHgyMiwweGMwLDB4MDksMHhiMSwweDAyLDB4ZWMsMHg0MCwweDg4LDB4MDgsMHgyMiwweGMwLDB4MDgsMHhiOCwweDAyLDB4MjYsMHgwMCB9fSwKLSB7MTYsIDB4ZjRlMCwgMCwgezB4OGIsMHgwMCwweDIyLDB4YzAsMHgwOCwweDk4LDB4MDIsMHhhMCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY0ZjAsIDAsIHsweDA4LDB4MDQsMHgwYywweDAwLDB4YjMsMHgwMCwweDI0LDB4MDAsMHgwYiwweGIwLDB4MDIsMHgwMCwweDAxLDB4ODMsMHgwMCwweDIwIH19LAotIHsxNiwgMHhmNTAwLCAwLCB7MHhjMCwweDA5LDB4MzAsMHgwMiwweDRjLDB4MDAsMHgwMCwweDA0LDB4MjQsMHhjMCwweDA4LDB4MzAsMHgwNiwweDRjLDB4MDAsMHg4MCB9fSwKLSB7MTYsIDB4ZjUxMCwgMCwgezB4MDAsMHgyYywweGMwLDB4MDgsMHgwMCwweDAyLDB4MDAsMHg0MSwweDgzLDB4MDAsMHhhMiwweGMwLDB4MDgsMHgxMCwweDBhLDB4ODIgfX0sCi0gezE2LCAweGY1MjAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4N2MsMHgwMCwweGVmLDB4MDgsMHgyNiwweDAwIH19LAotIHsxNiwgMHhmNTMwLCAwLCB7MHgwZSwweGYwLDB4MDIsMHhhMCwweDAwLDB4ZTcsMHgwMCwweDNiLDB4YzAsMHgwZiwweGY1LDB4NDMsMHgzYywweDAyLDB4ZGEsMHgwMCB9fSwKLSB7MTYsIDB4ZjU0MCwgMCwgezB4MzIsMHhjMCwweDBkLDB4YjAsMHgwMywweGVjLDB4MDAsMHhjYiwweDAwLDB4YjIsMHhjMCwweDBjLDB4YTAsMHgwMywweDI4LDB4MTAgfX0sCi0gezE2LCAweGY1NTAsIDAsIHsweGNiLDB4MDAsMHgzMiwweGMwLDB4MGMsMHg4MCwweDAzLDB4ODAsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNTYwLCAwLCB7MHhhMCwweDBkLDB4ZmMsMHgwMCwweGZiLDB4MDAsMHgzYiwweDAwLDB4MGYsMHhmMCwweDAzLDB4ZjAsMHgwMCwweGZmLDB4MDIsMHgzZiB9fSwKLSB7MTYsIDB4ZjU3MCwgMCwgezB4YzAsMHgwZCwweGYyLDB4MDMsMHhiYywweDAwLDB4ZjQsMHgwMCwweDNmLDB4YzAsMHgwZiwweGYwLDB4MDMsMHhmYywweDAwLDB4ZjcgfX0sCi0gezE2LCAweGY1ODAsIDAsIHsweDAwLDB4MzMsMHhjMCwweDBmLDB4NjAsMHgwMywweGYwLDB4ODgsMHhmZiwweDAwLDB4M2YsMHhjMCwweDRmLDB4ZDAsMHgwMywweDY4IH19LAotIHsxNiwgMHhmNTkwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGZjLDB4NDAsMHhmYywweDMxLDB4M2IsMHgwOCB9fSwKLSB7MTYsIDB4ZjVhMCwgMCwgezB4NGYsMHhmOSwweDQzLDB4ZWYsMHgwMCwweGRmLDB4MzAsMHgzMiwweDIxLDB4MGYsMHg5NCwweDA3LDB4N2QsMHg4MCwweGVmLDB4MzggfX0sCi0gezE2LCAweGY1YjAsIDAsIHsweDMyLDB4MDksMHgxYywweDM4LDB4MDMsMHhmMiwweDIxLDB4ZmQsMHgwMCwweDMzLDB4YzQsMHgwYywweGYwLDB4MDIsMHhmYywweDAwIH19LAotIHsxNiwgMHhmNWMwLCAwLCB7MHhkZiwweDAwLDB4MzMsMHhjMCwweDBmLDB4ZjAsMHgwMywweDMwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjVkMCwgMCwgezB4ODAsMHgxMCwweGVjLDB4ODgsMHg4YiwweDYwLDB4MjIsMHhlNSwweDBlLDB4YjIsMHgyMiwweGVjLDB4ODAsMHhhZiwweDExLDB4MmEgfX0sCi0gezE2LCAweGY1ZTAsIDAsIHsweDIwLDB4MGIsMHhiMSwweDEzLDB4YWMsMHg0OCwweDhiLDB4NDUsMHgzNCwweGNjLDB4NDgsMHhiMCwweDAyLDB4NmIsMHgwMCwweGJhIH19LAotIHsxNiwgMHhmNWYwLCAwLCB7MHg4MiwweDM2LDB4MDAsMHgwOCwweDg4LDB4MjIsMHhjMCwweDA0LDB4ODgsMHgwMCwweGEyLDB4MDgsMHg4YiwweDg4LDB4NjIsMHgyMCB9fSwKLSB7MTYsIDB4ZjYwMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjYywweDAwLDB4YTEsMHgzMCwweDI4LDB4MDAgfX0sCi0gezE2LCAweGY2MTAsIDAsIHsweDBiLDB4MzIsMHgwMiwweGNjLDB4MDAsMHhhMywweDIyLDB4MmMsMHgwMCwweDhiLDB4MTIsMHgwNiwweGM4LDB4ODAsMHhhMywweDAwIH19LAotIHsxNiwgMHhmNjIwLCAwLCB7MHgyMCwweDAyLDB4Y2EsMHgzMCwweDA2LDB4YzQsMHgwMSwweGIxLDB4MDAsMHg2OCwweDgwLDB4MDksMHgyMCwweDAyLDB4ODgsMHgwMCB9fSwKLSB7MTYsIDB4ZjYzMCwgMCwgezB4ODMsMHgwMCwweDIwLDB4YzIsMHgwYiwweDAwLDB4MGEsMHhhMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY2NDAsIDAsIHsweGMwLDB4MTUsMHhhYywweDAwLDB4OGIsMHg2MSwweDYyLDB4YzAsMHgwYiwweGIyLDB4MDIsMHhlOCwweDAwLDB4YWIsMHgwMiwweDJhIH19LAotIHsxNiwgMHhmNjUwLCAwLCB7MHg2MSwweDFiLDB4OTAsMHgwMiwweGE4LDB4MDAsMHhhYiwweDAwLDB4MjAsMHhjMCwweDBhLDB4YjAsMHgwMiwweDZjLDB4MDQsMHhiYSB9fSwKLSB7MTYsIDB4ZjY2MCwgMCwgezB4MDAsMHgyZSwweDQwLDB4ODksMHg5MCwweDAyLDB4ZTYsMHgwOCwweDk4LDB4MDAsMHgyMiwweDAwLDB4MGIsMHhiMCwweDAyLDB4YjAgfX0sCi0gezE2LCAweGY2NzAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDE1LDB4ZWUsMHgwMCwweGY4LDB4MDEsMHgzYSwweDA0IH19LAotIHsxNiwgMHhmNjgwLCAwLCB7MHgwZiwweGFjLDB4MDMsMHhlYywweDkwLDB4ZmIsMHgwMiwweDNlLDB4ZTAsMHgwYiwweDkwLDB4NDIsMHg2NywweDgwLDB4YTgsMHhjNCB9fSwKLSB7MTYsIDB4ZjY5MCwgMCwgezB4MjIsMHg0OCwweDIyLDB4ODYsMHgwMywweGUxLDB4NDAsMHhiOCwweDAyLDB4MmEsMHg0MCwweDI5LDB4OTAsMHgwMywweGVjLDB4MDIgfX0sCi0gezE2LCAweGY2YTAsIDAsIHsweGM5LDB4NDgsMHgzMiwweDQwLDB4MGYsMHhiMCwweDEzLDB4OTAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNmIwLCAwLCB7MHhlMCwweDAxLDB4YWMsMHg0MCwweGZiLDB4MDAsMHgxZiwweGEyLDB4MGUsMHhmOCwweDgyLDB4ZmMsMHgwOCwweGZmLDB4MDAsMHgzZiB9fSwKLSB7MTYsIDB4ZjZjMCwgMCwgezB4YzAsMHgwZiwweGZhLDB4NDMsMHg5NiwweDQ0LDB4ZDQsMHg5MSwweDNmLDB4NDAsMHgwZCwweGMwLDB4MDMsMHhmYSwweDAwLDB4ZmYgfX0sCi0gezE2LCAweGY2ZDAsIDAsIHsweDA4LDB4MjUsMHg4MCwweDBlLDB4ZTAsMHgwMywweGQwLDB4MDAsMHhlYSwweDAwLDB4M2YsMHg4MCwweDBmLDB4YzAsMHgwMywweDc4IH19LAotIHsxNiwgMHhmNmUwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweGFjLDB4MDAsMHhlMSwweDIwLDB4M2EsMHg1MCB9fSwKLSB7MTYsIDB4ZjZmMCwgMCwgezB4MGYsMHg5MCwweDAzLDB4MmMsMHgwMCwweGViLDB4MDgsMHg3NiwweDA1LDB4MGUsMHhiMCwweDI3LDB4ZTAsMHgxMCwweGVhLDB4NDAgfX0sCi0gezE2LCAweGY3MDAsIDAsIHsweGIyLDB4YzAsMHgwYywweGE0LDB4NDMsMHgyNSwweDAwLDB4ZjgsMHgwMCwweDMyLDB4MDgsMHgwZiwweDgwLDB4NDMsMHhlOCwweDAwIH19LAotIHsxNiwgMHhmNzEwLCAwLCB7MHhkMSwweDA4LDB4ZWUsMHg0MCwweDBmLDB4MDAsMHgwMywweGQwLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjcyMCwgMCwgezB4YzgsMHgwNSwweDJjLDB4MDAsMHg4YiwweDAwLDB4MjIsMHhkMCwweDBiLDB4OTAsMHg4MiwweDJjLDB4MDAsMHg4NywweDQwLDB4MjIgfX0sCi0gezE2LCAweGY3MzAsIDAsIHsweDYwLDB4OGIsMHhiMCwweDAyLDB4ZTAsMHgwMCwweGQ4LDB4NTAsMHgyMiwweGQwLDB4MGMsMHhhMCwweDAzLDB4NmMsMHgwMCwweGIzIH19LAotIHsxNiwgMHhmNzQwLCAwLCB7MHhjOCwweDNlLDB4ZDAsMHgwYiwweGI4LDB4MDIsMHgyNSwweDA4LDB4OGEsMHgyMCwweDJhLDB4ODAsMHg4YiwweGI4LDB4ODIsMHhmMiB9fSwKLSB7MTYsIDB4Zjc1MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg2NCwweDAwLDB4YTAsMHhjMCwweDI0LDB4YzAgfX0sCi0gezE2LCAweGY3NjAsIDAsIHsweDA5LDB4MzgsMHgwMiwweDJjLDB4MDAsMHg4MywweDAzLDB4MjAsMHgwMCwweDEwLDB4MzAsMHgyMiwweGNjLDB4MDAsMHg4MywweDAwIH19LAotIHsxNiwgMHhmNzcwLCAwLCB7MHg2MCwweDA4LDB4MGEsMHgzMCwweDgyLDB4NGMsMHgwMCwweGIxLDB4YzAsMHgwMCwweGQxLDB4MGIsMHgzOCwweDAyLDB4ODQsMHg4MCB9fSwKLSB7MTYsIDB4Zjc4MCwgMCwgezB4ODIsMHgwMSwweDIwLDB4ODAsMHgwMywweDM4LDB4MDIsMHhmOCwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY3OTAsIDAsIHsweDIwLDB4MDEsMHgxNiwweDQwLDB4ODQsMHg5OCwweDI1LDB4ZTAsMHgwYiwweDdhLDB4MDIsMHhmYSwweDQ4LDB4YTMsMHgyMCwweDYxIH19LAotIHsxNiwgMHhmN2EwLCAwLCB7MHgyNCwweDBiLDB4NzksMHgwMCwweGNlLDB4YzAsMHg5MywweGE0LDB4MjEsMHhhNiwweDBiLDB4NzgsMHgxMiwweGRlLDB4ODAsMHhiNiB9fSwKLSB7MTYsIDB4ZjdiMCwgMCwgezB4ODAsMHgyZCwweDI0LDB4MGIsMHg0YiwweDAyLDB4MWEsMHg0MCwweDg1LDB4ODEsMHgyMSwweDYwLDB4MGIsMHg0OCwweDAyLDB4YzggfX0sCi0gezE2LCAweGY3YzAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MGMsMHgwMCwweGUyLDB4YTAsMHhiNCwweGZlIH19LAotIHsxNiwgMHhmN2QwLCAwLCB7MHg0YiwweGI4LDB4MGIsMHgwZSwweDAwLDB4YTMsMHhiMCwweDI0LDB4YTgsMHgwZSwweDFiLDB4MDIsMHhjZSwweGMxLDB4YzMsMHhjMCB9fSwKLSB7MTYsIDB4ZjdlMCwgMCwgezB4MzAsMHg2OCwweDJlLDB4M2EsMHg0NywweDRlLDB4ODAsMHhmMSwweDgwLDB4MzAsMHg4MCwweDBmLDB4MjIsMHg4MywweDgwLDB4MDAgfX0sCi0gezE2LCAweGY3ZjAsIDAsIHsweGMyLDB4MTAsMHgzOCwweDgwLDB4NGYsMHgwMCwweDA3LDB4ZDIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmODAwLCAwLCB7MHg0MCwweDBkLDB4YmMsMHgxMCwweGZlLDB4MDQsMHgzYiwweGMxLDB4MDcsMHhmMCwweDAzLDB4MWMsMHhjOCwweGRmLDB4MmEsMHgwYiB9fSwKLSB7MTYsIDB4ZjgxMCwgMCwgezB4YzQsMHg4ZiwweGQxLDB4NDMsMHhmOCwweDAyLDB4N2YsMHgwMCwweDNmLDB4YzAsMHgwYywweGYxLDB4MGYsMHgzYywweDAwLDB4ZjIgfX0sCi0gezE2LCAweGY4MjAsIDAsIHsweDExLDB4M2YsMHg0MSwweDFmLDB4NTIsMHgwMywweGJjLDB4MGUsMHhlZCwweDE0LDB4M2YsMHg0MCwweDBmLDB4ZjgsMHgwMywweGQwIH19LAotIHsxNiwgMHhmODMwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGU0LDB4MDAsMHhlOSwweDAwLDB4MzIsMHg4MCB9fSwKLSB7MTYsIDB4Zjg0MCwgMCwgezB4MGUsMHhiZSwweDRiLDB4NmYsMHgwMCwweGNiLDB4ODIsMHg3YSwweGMwLDB4MmMsMHhiMCwweDAzLDB4MmMsMHgwMCwweGM5LDB4MDAgfX0sCi0gezE2LCAweGY4NTAsIDAsIHsweDMyLDB4MDAsMHgyYywweDEwLDB4MDMsMHgyYywweDA4LDB4YzAsMHgwMCwweDI2LDB4NDAsMHg2YywweDkwLDB4MTMsMHgyNCwweDEyIH19LAotIHsxNiwgMHhmODYwLCAwLCB7MHhjOCwweDAxLDB4M2UsMHgwMCwweDBmLDB4YjgsMHgwYiwweDJhLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Zjg3MCwgMCwgezB4NDgsMHgxMSwweDk0LDB4MDAsMHg4ZCwweDAwLDB4MjEsMHg4MCwweDBiLDB4NzAsMHg4MiwweDNjLDB4MjAsMHg4MywweDMyLDB4MjkgfX0sCi0gezE2LCAweGY4ODAsIDAsIHsweGMwLDB4MDgsMHhmMCwweDIwLDB4MTQsMHgwMCwweDgwLDB4MDAsMHgyMywweDAwLDB4MDgsMHg1MCwweDA2LDB4OWMsMHgwNCwweGQ3IH19LAotIHsxNiwgMHhmODkwLCAwLCB7MHgwMiwweDI4LDB4ODAsMHgwOCwweDYwLDB4MDIsMHgwOCwweDEwLDB4ODcsMHgwMCwweDJkLDB4YzAsMHgwYiwweDQwLDB4MDIsMHgxMiB9fSwKLSB7MTYsIDB4ZjhhMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHg5ZSwweDAwLDB4YTcsMHg4MCwweDIxLDB4ZTAgfX0sCi0gezE2LCAweGY4YjAsIDAsIHsweDBiLDB4NWMsMHgxMiwweDFlLDB4MDQsMHg4NywweDgyLDB4MGQsMHhhMCwweDA5LDB4NzgsMHgxNiwweDAyLDB4MDAsMHhiNCwweDgwIH19LAotIHsxNiwgMHhmOGMwLCAwLCB7MHgyNSwweGUwLDB4MGIsMHg3OCwweDAyLDB4OWUsMHgwMCwweDg0LDB4ODAsMHgyMSwweDIyLDB4MDgsMHgwOCwweDAyLDB4MTIsMHgwMSB9fSwKLSB7MTYsIDB4ZjhkMCwgMCwgezB4ODQsMHhjMCwweDJkLDB4MjAsMHgwYiwweDA4LDB4MDIsMHgzMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY4ZTAsIDAsIHsweDQ4LDB4MTQsMHhjYywweDAwLDB4ODMsMHg0MiwweGEwLDB4ZDgsMHgwYiwweDM0LDB4ODIsMHgwYywweDAwLDB4YTMsMHgwMiwweDIwIH19LAotIHsxNiwgMHhmOGYwLCAwLCB7MHhlMCwweDA4LDB4YjAsMHgwMiwweDBjLDB4ODgsMHhiMywweDIxLDB4MjQsMHhkOCwweDBiLDB4M2UsMHgwMiwweDhjLDB4MDAsMHg5MyB9fSwKLSB7MTYsIDB4ZjkwMCwgMCwgezB4MDgsMHgyOCwweGMwLDB4MDgsMHgzOCwweDAyLDB4MmMsMHgwNSwweDhiLDB4MDEsMHgyYywweGUwLDB4MGIsMHgzMCwweDAyLDB4MTIgfX0sCi0gezE2LCAweGY5MTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YTgsMHgwMCwweGVlLDB4MDAsMHgzMywweDkwIH19LAotIHsxNiwgMHhmOTIwLCAwLCB7MHgwZiwweGEwLDB4MGIsMHg2OCwweDAwLDB4Y2EsMHgwMSwweDdmLDB4YTgsMHgwYywweGFhLDB4MDMsMHgzYSwweDEyLDB4ZmUsMHhlMiB9fSwKLSB7MTYsIDB4ZjkzMCwgMCwgezB4MzcsMHhiMCwweDBmLDB4ZWUsMHgwMiwweDE4LDB4MDAsMHhjYSwweDQwLDB4MzYsMHhhMCwweDA4LDB4YTAsMHg4YiwweDI4LDB4MDAgfX0sCi0gezE2LCAweGY5NDAsIDAsIHsweGNhLDB4ODEsMHgyZSwweGEwLDB4MGYsMHhlMCwweDAzLDB4M2EsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmOTUwLCAwLCB7MHg0OCwweDAwLDB4ZTAsMHgwMCwweGY4LDB4MDgsMHgzZSwweDAwLDB4MGYsMHg4MCwweDAzLDB4YTIsMHgwMiwweGQ4LDB4NDAsMHgzZSB9fSwKLSB7MTYsIDB4Zjk2MCwgMCwgezB4MDgsMHgwZiwweDgwLDB4MTMsMHhlMCwweDQwLDB4NDgsMHg0MCwweGI4LDB4MDQsMHgwOCwweDg0LDB4MDMsMHg2MSwweDAwLDB4ZmMgfX0sCi0gezE2LCAweGY5NzAsIDAsIHsweDAwLDB4M2YsMHgwMCwweDRmLDB4YzAsMHgwMywweGYxLDB4MDAsMHhmYywweDAwLDB4M2YsMHgwNCwweDBmLDB4YzAsMHgwMywweGQyIH19LAotIHsxNiwgMHhmOTgwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGM0LDB4MDAsMHhmOSwweDAwLDB4MzAsMHg1MCB9fSwKLSB7MTYsIDB4Zjk5MCwgMCwgezB4NGMsMHhiOSwweDAzLDB4NmMsMHgxOCwweGY5LDB4MDAsMHgzNiwweDQwLDB4MGUsMHg5YywweDIzLDB4YTQsMHgwMiwweDQxLDB4MDAgfX0sCi0gezE2LCAweGY5YTAsIDAsIHsweGIyLDB4NDQsMHgwZSwweDlhLDB4MDMsMHhhNiwweDgwLDB4YzksMHgwMCwweDNhLDB4NjAsMHgwYSwweDkwLDB4MDMsMHhhNCwweDgwIH19LAotIHsxNiwgMHhmOWIwLCAwLCB7MHhjOSwweDAwLDB4MzQsMHg0MCwweDBjLDB4OTAsMHgwMywweGMyLDB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjljMCwgMCwgezB4ODAsMHgwNCwweDY0LDB4MDAsMHg4OSwweDQwLDB4MjIsMHg3OCwweDA4LDB4OTQsMHgwMiwweGU0LDB4MTAsMHhiOSwweDAwLDB4M2MgfX0sCi0gezE2LCAweGY5ZDAsIDAsIHsweDYyLDB4MTgsMHg5NCwweDgyLDB4YTQsMHgwMCwweDg5LDB4YzgsMHgyMiwweDcwLDB4NDgsMHgxZSwweDAxLDB4NjcsMHg4MCwweGQxIH19LAotIHsxNiwgMHhmOWUwLCAwLCB7MHgwMCwweGJjLDB4NDIsMHgwOCwweDEwLDB4MDIsMHgyNSwweDIwLDB4ODksMHgwMiwweDIyLDB4NDAsMHgwOCwweDkwLDB4MDIsMHhlMCB9fSwKLSB7MTYsIDB4ZjlmMCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHgyNCwweDAwLDB4YjEsMHgyOCwweDIyLDB4NDAgfX0sCi0gezE2LCAweGZhMDAsIDAsIHsweDA4LDB4YjAsMHg4MiwweDY0LDB4MDQsMHgzOSwweDQxLDB4MmUsMHg0OCwweDBhLDB4OTAsMHgwMiwweDA0LDB4MTgsMHhhOSwweDIwIH19LAotIHsxNiwgMHhmYTEwLCAwLCB7MHgyMiwweDQyLDB4NGEsMHg5MCwweDAyLDB4MmMsMHgwNCwweDg5LDB4MDQsMHgyYiwweDQ4LDB4MDIsMHhkMCwweDAyLDB4YjQsMHgwYSB9fSwKLSB7MTYsIDB4ZmEyMCwgMCwgezB4OGQsMHg4MCwweDIzLDB4YzAsMHg0OCwweGQwLDB4MDIsMHhjNiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZhMzAsIDAsIHsweDA4LDB4MDQsMHgwNCwweDgwLDB4ODEsMHgyMCwweGEwLDB4NDgsMHgyOCwweDEwLDB4MDIsMHhjNCwweDAwLDB4YjEsMHgyNCwweDJhIH19LAotIHsxNiwgMHhmYTQwLCAwLCB7MHg0MCwweDA4LDB4MTIsMHg0MiwweDg1LDB4ODAsMHhhMSwweDIwLDB4YTAsMHg0OCwweDA4LDB4OTAsMHgwMiwweDQ0LDB4MDAsMHg5NSB9fSwKLSB7MTYsIDB4ZmE1MCwgMCwgezB4MmMsMHgyZCwweDVhLDB4MGEsMHg3MiwweDgyLDB4MTQsMHhhMCwweDg1LDB4YTgsMHgyMSwweDRhLDB4MDgsMHg1MiwweDgyLDB4YzIgfX0sCi0gezE2LCAweGZhNjAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NDEsMHg0MCwweGY4LDB4NTAsMHgzMiwweDAwIH19LAotIHsxNiwgMHhmYTcwLCAwLCB7MHg4YywweDA1LDB4MDMsMHg2MSwweDQwLDB4ZjgsMHg1MSwweDJlLDB4MDAsMHgwYSwweDg1LDB4MDIsMHgyMCwweDAwLDB4ZTgsMHg1MCB9fSwKLSB7MTYsIDB4ZmE4MCwgMCwgezB4MzIsMHgxNCwweDA2LDB4ODUsMHgxNywweGEwLDB4MDAsMHhjOCwweDIwLDB4M2EsMHgwOCwweDBlLDB4ODIsMHgwMywweGEwLDB4ODAgfX0sCi0gezE2LCAweGZhOTAsIDAsIHsweGM4LDB4MjAsMHgzMiwweDA4LDB4MmMsMHhjMiwweDAzLDB4ZWUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmYWEwLCAwLCB7MHg5OCwweDE5LDB4ZjQsMHg0MCwweGZmLDB4MTAsMHgzZiwweDQ0LDB4MGIsMHhiMCwweDAzLDB4ZTQsMHgwMCwweGY5LDB4MTAsMHgzZCB9fSwKLSB7MTYsIDB4ZmFiMCwgMCwgezB4NDAsMHgwZiwweGQxLDB4MDMsMHhmNCwweDU4LDB4OWQsMHgxMCwweDNmLDB4NDQsMHg0ZiwweGQwLDB4MDMsMHhkNSwweDAwLDB4ZjkgfX0sCi0gezE2LCAweGZhYzAsIDAsIHsweDAwLDB4M2UsMHg0MCwweDhkLDB4OTAsMHgwMywweGU0LDB4YjgsMHhmOSwweDI4LDB4YmEsMHg2YSwweDBmLDB4OTAsMHgwMywweGU2IH19LAotIHsxNiwgMHhmYWQwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwMSwweGU3LDB4MDAsMHhmZCwweDg4LDB4M2UsMHg2MCB9fSwKLSB7MTYsIDB4ZmFlMCwgMCwgezB4OGYsMHhkMCwweDAzLDB4MjQsMHgwMSwweGRkLDB4ODAsMHg3MywweDQwLDB4MGYsMHhkOCwweDAzLDB4YTYsMHgwNCwweGNkLDB4YTIgfX0sCi0gezE2LCAweGZhZjAsIDAsIHsweDMzLDB4NzgsMHgxYywweGQwLDB4MDMsMHgzNCwweDAxLDB4ZjUsMHg4OCwweDNiLDB4NjgsMHgwYywweGRhLDB4NDcsMHgzNywweDgwIH19LAotIHsxNiwgMHhmYjAwLCAwLCB7MHhjZCwweDg4LDB4MzIsMHg2MiwweDBjLDB4ZGEsMHgwMywweDA2LDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmIxMCwgMCwgezB4MzgsMHgxMCwweGUzLDB4ODAsMHhiOCwweDgwLDB4MmUsMHgxNCwweDBiLDB4MGEsMHg4MiwweDIyLDB4ODAsMHhiOCwweGY4LDB4YTIgfX0sCi0gezE2LCAweGZiMjAsIDAsIHsweDAwLDB4MGIsMHg4ZiwweGEzLDB4ODMsMHhlMCwweDg4LDB4ZWIsMHgyMiwweGE5LDB4MDgsMHg4OCwweDEyLDB4YTAsMHgwNSwweGI4IH19LAotIHsxNiwgMHhmYjMwLCAwLCB7MHgwMCwweDJhLDB4YWEsMHg4OCwweDgwLDB4MTMsMHg2MiwweDgyLDB4ODgsMHg4MCwweDIyLDB4MjgsMHg4OCwweGE0LDB4MDIsMHgwZSB9fSwKLSB7MTYsIDB4ZmI0MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhjNSwweDAwLDB4YjEsMHgwYSwweDJjLDB4NDEgfX0sCi0gezE2LCAweGZiNTAsIDAsIHsweDBiLDB4MTAsMHgwNiwweDA0LDB4MjAsMHhhMSwweDAwLDB4MDAsMHg0MCwweDhiLDB4MTAsMHg0NiwweGM0LDB4MDEsMHg5MSwweDExIH19LAotIHsxNiwgMHhmYjYwLCAwLCB7MHgyNCwweDU4LDB4NjgsMHg5MCwweGMyLDB4MDQsMHgwMCwweGIxLDB4MDAsMHhhOCwweDUwLDB4MDksMHgxNCwweDBhLDB4MDUsMHg5NSB9fSwKLSB7MTYsIDB4ZmI3MCwgMCwgezB4YTEsMHgwOCwweGEwLDB4NDIsMHgyOCwweDExLDB4MGEsMHgwMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZiODAsIDAsIHsweDE4LDB4MTUsMHhhNCwweDE4LDB4YjksMHgyMCwweDJlLDB4NTAsMHgwYiwweDkwLDB4MDYsMHgyNCwweDA5LDB4YjksMHgwMCwweDIyIH19LAotIHsxNiwgMHhmYjkwLCAwLCB7MHg0MCwweDhiLDB4OTEsMHgwMiwweDg0LDB4MDAsMHg5OSwweDY0LDB4MjQsMHg0MCwweDU4LDB4OTAsMHgwMiwweGE0LDB4MjAsMHhiYiB9fSwKLSB7MTYsIDB4ZmJhMCwgMCwgezB4MDAsMHgyYSwweDQwLDB4MDksMHhiMCwweDAyLDB4MDUsMHgwMSwweGE5LDB4MDAsMHgyMiwweDQwLDB4ODgsMHg5MiwweDAyLDB4MDYgfX0sCi0gezE2LCAweGZiYjAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4ZTYsMHgwMCwweGY5LDB4NDAsMHgzZSwweDQwIH19LAotIHsxNiwgMHhmYmMwLCAwLCB7MHg0ZiwweDk4LDB4MGIsMHgyNCwweDgwLDB4ZDksMHgwMCwweDIyLDB4NzIsMHgwYiwweDk4LDB4MDMsMHhlNCwweDg0LDB4ZDksMHgwMCB9fSwKLSB7MTYsIDB4ZmJkMCwgMCwgezB4YjYsMHg3MCwweDA4LDB4OTksMHgwMiwweDI0LDB4MDAsMHhiOSwweDAwLDB4MmEsMHg0MCwweDBkLDB4OTQsMHhjMiwweDI1LDB4MDAgfX0sCi0gezE2LCAweGZiZTAsIDAsIHsweGE5LDB4MDAsMHgyMiwweDQwLDB4MGMsMHg5NCwweDAzLDB4MjgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmYmYwLCAwLCB7MHgyOCwweDAxLDB4YTYsMHg4MCwweGY5LDB4MDgsMHgzZSwweGMwLDB4MGYsMHg5MSwweDQzLDB4ZTQsMHgwMCwweGY5LDB4MDAsMHgzZSB9fSwKLSB7MTYsIDB4ZmMwMCwgMCwgezB4NTAsMHgwZiwweDk4LDB4MDMsMHhhNSwweDAwLDB4ZTksMHgwMCwweDNhLDB4NjQsMHgwZiwweDkwLDB4MDMsMHhlNCwweDAwLDB4ZjkgfX0sCi0gezE2LCAweGZjMTAsIDAsIHsweDAwLDB4M2MsMHg0MCwweDZlLDB4OTAsMHgwMywweGU0LDB4MjAsMHhkOSwweDAwLDB4M2MsMHg0MCwweDBmLDB4OTAsMHg4MiwweGNhIH19LAotIHsxNiwgMHhmYzIwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxMCwweGEwLDB4MDAsMHhlOCwweDAwLDB4M2UsMHgwMCB9fSwKLSB7MTYsIDB4ZmMzMCwgMCwgezB4NGYsMHg4NCwweDBiLDB4MjAsMHgwMCwweGY4LDB4MDAsMHgzNiwweDAxLDB4MGUsMHg4MCwweDAzLDB4ZTAsMHgwMCwweGM4LDB4NDAgfX0sCi0gezE2LCAweGZjNDAsIDAsIHsweDMyLDB4MTAsMHgyZCwweDgwLDB4MDMsMHhlMCwweDU0LDB4YzgsMHgwMCwweDM2LDB4MTAsMHgwZiwweDA0LDB4ODMsMHhlMCwweDUwIH19LAotIHsxNiwgMHhmYzUwLCAwLCB7MHhkOCwweDA0LDB4MTIsMHgwMCwweDBjLDB4MDAsMHgwYiwweDBhLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmM2MCwgMCwgezB4MjgsMHgwNSwweDI4LDB4MDAsMHg4ZSwweDQyLDB4MmUsMHhhMiwweDhiLDB4ZWEsMHgwMiwweDI4LDB4MDgsMHhiZSwweDg5LDB4MzcgfX0sCi0gezE2LCAweGZjNzAsIDAsIHsweDg0LDB4NDgsMHhlMCwweDEyLDB4MjgsMHgwMiwweDhlLDB4YzAsMHgyMywweGIwLDB4NGQsMHg2MCwweDYyLDB4ZjgsMHgwMCwweDg2IH19LAotIHsxNiwgMHhmYzgwLCAwLCB7MHgwMCwweDIzLDB4ODAsMHgwYiwweGUwLDB4MDIsMHhmOCwweDAwLDB4MGUsMHgwMCwweDIyLDB4ODAsMHgwOCwweGU0LDB4MDIsMHgwYSB9fSwKLSB7MTYsIDB4ZmM5MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg0YywweDAwLDB4YTMsMHgwMCwweDJjLDB4ODAgfX0sCi0gezE2LCAweGZjYTAsIDAsIHsweDFiLDB4YjAsMHg5YSwweDRjLDB4MTAsMHg5YiwweDgwLDB4MjQsMHhjMCwweDBhLDB4MzAsMHgwMCwweDBjLDB4MDQsMHg5YiwweDIwIH19LAotIHsxNiwgMHhmY2IwLCAwLCB7MHgyMCwweGQ2LDB4MDgsMHgzMCwweDAyLDB4OGUsMHgwOCwweGEzLDB4MDQsMHgyNCwweGMwLDB4MTksMHgzNCwweDAyLDB4YzcsMHgwNyB9fSwKLSB7MTYsIDB4ZmNjMCwgMCwgezB4YWEsMHhhNCwweGEwLDB4YzAsMHg0OCwweDM0LDB4MDIsMHgwYSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZjZDAsIDAsIHsweGEwLDB4MDEsMHgwZSwweDAwLDB4ODcsMHgwMCwweDJkLDB4YzAsMHgwYiwweDQwLDB4MDIsMHg1YywweDQwLDB4YjMsMHgxNCwweDI1IH19LAotIHsxNiwgMHhmY2UwLCAwLCB7MHhlMCwweDA4LDB4N2EsMHgwMiwweDllLDB4YzAsMHg5MiwweDQwLDB4YTAsMHgwMCwweDQ5LDB4NjAsMHgwMiwweGNlLDB4MDIsMHg4ZSB9fSwKLSB7MTYsIDB4ZmNmMCwgMCwgezB4MDEsMHgyMSwweGMwLDB4OGIsMHg1NCwweDAyLDB4YzQsMHgwOCwweDg2LDB4NDAsMHgyMSwweGM4LDB4ODgsMHgxMCwweDAyLDB4MjggfX0sCi0gezE2LCAweGZkMDAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MWUsMHhjMCwweGU0LDB4ODAsMHgzZCwweGUyIH19LAotIHsxNiwgMHhmZDEwLCAwLCB7MHgwZiwweDU4LDB4MDMsMHg1ZSwweDkwLDB4YjYsMHhhMiwweDM1LDB4ZTAsMHgwZSwweDdjLDB4MjMsMHgxYywweDAwLDB4ZDYsMHg4MCB9fSwKLSB7MTYsIDB4ZmQyMCwgMCwgezB4MzEsMHhlMCwweDg0LDB4NzgsMHgwMywweGRlLDB4MDAsMHhjNywweDgwLDB4MzUsMHhlMCwweDBmLDB4NjgsMHgwMywweGRlLDB4MDAgfX0sCi0gezE2LCAweGZkMzAsIDAsIHsweGUzLDB4ODAsMHgzMywweGU4LDB4MmMsMHg3OCwweDAzLDB4MmEsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmZDQwLCAwLCB7MHgwOCwweDFkLDB4YWMsMHg5MCwweGZhLDB4MDAsMHg3ZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4YWMsMHgwMSwweGZiLDB4MDAsMHgzYyB9fSwKLSB7MTYsIDB4ZmQ1MCwgMCwgezB4NDEsMHgwZiwweDMwLDB4MGIsMHgyZCwweDA0LDB4ZWIsMHgwMSwweDNlLDB4YzAsMHgwZSwweGIwLDB4MDMsMHhlYywweDAwLDB4ZmEgfX0sCi0gezE2LCAweGZkNjAsIDAsIHsweDAwLDB4M2YsMHhjMCwweDBmLDB4ODAsMHgwMywweGVjLDB4MDAsMHhlOSwweDYwLDB4M2UsMHhlNCwweDBmLDB4OTAsMHgwMywweGMyIH19LAotIHsxNiwgMHhmZDcwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweGZlLDB4MjAsMHhmZiwweDkwLDB4M2UsMHgyMCB9fSwKLSB7MTYsIDB4ZmQ4MCwgMCwgezB4MGMsMHhhOSwweDA3LDB4MmUsMHg0NCwweGM5LDB4OTEsMHgzMCwweGEwLDB4MGMsMHhiOCwweDYzLDB4MmYsMHg0NCwweGNiLDB4YTEgfX0sCi0gezE2LCAweGZkOTAsIDAsIHsweDM2LDB4MjAsMHg4YywweGY4LDB4MDMsMHgzNiwweDAwLDB4Y2YsMHg4MiwweDMzLDB4ZTAsMHgwYywweGY4LDB4MjMsMHgyZSwweDAwIH19LAotIHsxNiwgMHhmZGEwLCAwLCB7MHhjZSwweGMwLDB4M2IsMHhlMCwweDBjLDB4NjgsMHgwMywweDAwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmRiMCwgMCwgezB4YTgsMHgxMSwweDljLDB4ODQsMHhiMywweDU0LDB4MmMsMHhmNCwweDI4LDB4YmEsMHg4YSwweDNlLDB4NDAsMHg4MSwweGEwLDB4MjkgfX0sCi0gezE2LCAweGZkYzAsIDAsIHsweGIwLDB4MGYsMHg3OCwweDQyLDB4YWUsMHgwMCwweDgzLDB4OTAsMHgzMywweGU4LDB4MGQsMHhlMSwweDAwLDB4ODUsMHg0MCwweDgyIH19LAotIHsxNiwgMHhmZGQwLCAwLCB7MHgyNCwweDIzLDB4YzYsMHgwZCwweDcxLDB4MDMsMHg1ZSwweGUwLDB4ODcsMHgwMCwweDJiLDB4YzEsMHgwZCwweDQ0LDB4MDIsMHgyYSB9fSwKLSB7MTYsIDB4ZmRlMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5YywweDA4LDB4MzUsMHgxNCwweDZkLDB4YzAgfX0sCi0gezE2LCAweGZkZjAsIDAsIHsweDg4LDB4NzIsMHgzMiwweDVjLDB4ODAsMHg4NCwweDMwLDB4MmIsMHg4OCwweDBhLDB4NzAsMHg0MiwweDVjLDB4YTgsMHg5MSwweDA4IH19LAotIHsxNiwgMHhmZTAwLCAwLCB7MHgyNSwweGM4LDB4MDksMHg3MCwweDAyLDB4NGMsMHgyMiwweDgzLDB4MGEsMHg2MSwweGMwLDB4MDksMHgyMCwweDAyLDB4MDQsMHgwMCB9fSwKLSB7MTYsIDB4ZmUxMCwgMCwgezB4ODcsMHgwMCwweDIxLDB4YzAsMHgwOCwweDYwLDB4MDIsMHgwMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZlMjAsIDAsIHsweDIwLDB4MTQsMHhjYywweDEwLDB4YjMsMHg4NSwweDZjLDB4ZGMsMHgwOCwweDM0LDB4MDIsMHg0ZCwweDIxLDB4ODEsMHgwMCwweDI4IH19LAotIHsxNiwgMHhmZTMwLCAwLCB7MHgwMiwweDRhLDB4MzEsMHgxMiwweGVmLDB4MGMsMHg5MSwweGMyLDB4MjAsMHhmMCwweDA4LDB4MzAsMHg0MiwweDhlLDB4MDAsMHg4MiB9fSwKLSB7MTYsIDB4ZmU0MCwgMCwgezB4NDAsMHgyMCwweGM4LDB4MTksMHgyOCwweDAyLDB4MjIsMHg4MSwweDgzLDB4YzAsMHgyOCwweGQ0LDB4MDksMHgwMCwweDBhLDB4MDggfX0sCi0gezE2LCAweGZlNTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YmMsMHgwMCwweGZiLDB4YTAsMHgzZSwweGMwIH19LAotIHsxNiwgMHhmZTYwLCAwLCB7MHg4YywweDA0LDB4MTIsMHg3ZCwweDEwLDB4Y2YsMHgwMiwweDNhLDB4NTAsMHgwOCwweGMwLDB4NDIsMHg3ZCwweDUyLDB4NTgsMHgwMSB9fSwKLSB7MTYsIDB4ZmU3MCwgMCwgezB4MzYsMHgyMiwweDY5LDB4ZDAsMHgxMywweDJhLDB4MDAsMHg4OCwweDgyLDB4MzIsMHhmMCwweDA5LDB4YjgsMHg4MiwweDJmLDB4MDAgfX0sCi0gezE2LCAweGZlODAsIDAsIHsweGM5LDB4YzgsMHgyMywweGMwLDB4MGMsMHg4YSwweDAzLDB4MmEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmZTkwLCAwLCB7MHg4MCwweDAwLDB4ZWMsMHgwMCwweGI5LDB4NDAsMHgzYywweDUwLDB4NGYsMHg4MCwweDIzLDB4YWMsMHgxMiwweGZiLDB4MDAsMHgyYSB9fSwKLSB7MTYsIDB4ZmVhMCwgMCwgezB4YzAsMHg2ZCwweDgwLDB4MTMsMHhhYywweDAwLDB4ZTgsMHgwNCwweGJhLDB4MTAsMHgwZiwweDgwLDB4MDMsMHhlOCwweDAwLDB4ZjMgfX0sCi0gezE2LCAweGZlYjAsIDAsIHsweDA4LDB4M2MsMHg4MCwweDBmLDB4OTAsMHg4MywweGVjLDB4MDQsMHhmOSwweDYwLDB4MmMsMHhjMiwweDBmLDB4ODAsMHg4MywweGUwIH19LAotIHsxNiwgMHhmZWMwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGRjLDB4MDAsMHhlYywweDJjLDB4M2YsMHhmMCB9fSwKLSB7MTYsIDB4ZmVkMCwgMCwgezB4OGMsMHhmYSwweDhiLDB4YmMsMHgwMCwweGZlLDB4MDAsMHgzZiwweDAwLDB4MGYsMHg3OSwweDAzLDB4M2MsMHgwMCwweGNlLDB4MDggfX0sCi0gezE2LCAweGZlZTAsIDAsIHsweDBiLDB4YzIsMHgwYywweGYwLDB4MDMsMHhiYywweDAwLDB4ZmMsMHgwMCwweDMzLDB4NDAsMHg4YywweDdhLDB4MDMsMHgzYSwweDAwIH19LAotIHsxNiwgMHhmZWYwLCAwLCB7MHhjNSwweDAwLDB4MzMsMHhjMCwweDRjLDB4YzgsMHgwMywweDAwLDB4NDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmYwMCwgMCwgezB4ODEsMHgwNCwweDZjLDB4MDAsMHg4OCwweGMwLDB4MmUsMHhlMCwweDA4LDB4OTQsMHgwMiwweDJjLDB4MDAsMHhiYiwweDgwLDB4NjYgfX0sCi0gezE2LCAweGZmMTAsIDAsIHsweDMwLDB4MTYsMHhiMCwweDAyLDB4MmMsMHgwMCwweGRhLDB4NGMsMHgyMiwweGYwLDB4MDgsMHhmMCwweDAzLDB4ZWMsMHgwMCwweGViIH19LAotIHsxNiwgMHhmZjIwLCAwLCB7MHhjMCwweDIyLDB4NjgsMHgwMCwweDk0LDB4MDIsMHgyYywweDAyLDB4YTksMHg4MCwweDIyLDB4YzAsMHgwOCwweDBjLDB4MDIsMHhhMCB9fSwKLSB7MTYsIDB4ZmYzMCwgMCwgezB4NDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgyYywweDAwLDB4YWIsMHgwNCwweDJlLDB4YzAgfX0sCi0gezE2LCAweGZmNDAsIDAsIHsweDA4LDB4YTQsMHgwNiwweDJjLDB4MDQsMHhhYiwweDEwLDB4MmUsMHg2MCwweDQzLDB4ODAsMHg4MiwweDZjLDB4MDEsMHg4MSwweDgwIH19LAotIHsxNiwgMHhmZjUwLCAwLCB7MHgyOCwweDBhLDB4MDgsMHg5MSwweDAwLDB4ZTAsMHgwMCwweGI4LDB4ODAsMHgwMiwweGUwLDB4MDgsMHg4MCwweDAyLDB4MmQsMHg4MCB9fSwKLSB7MTYsIDB4ZmY2MCwgMCwgezB4ODgsMHhjMCwweDIyLDB4YzAsMHgwOCwweDgyLDB4MDIsMHgyMCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZmNzAsIDAsIHsweDA4LDB4MDQsMHgwYywweDAwLDB4ODAsMHg0NCwweDJjLDB4YzgsMHgyOCwweGEwLDB4MjIsMHgwYywweDA0LDB4YjMsMHgyNiwweDJjIH19LAotIHsxNiwgMHhmZjgwLCAwLCB7MHhjOCwweDg4LDB4MDEsMHgwNiwweDBjLDB4ZTAsMHg5MSwweDIwLDB4MjAsMHgwYywweDM4LDB4MDQsMHgyMiwweGMwLDB4NDgsMHhhMyB9fSwKLSB7MTYsIDB4ZmY5MCwgMCwgezB4NDIsMHhhMCwweDgxLDB4MDgsMHgwMCwweDAyLDB4MGMsMHg4MCwweDgxLDB4MDAsMHgyMCwweGMwLDB4MjgsMHgwMCwweDAyLDB4ODIgfX0sCi0gezE2LCAweGZmYTAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4N2MsMHgwMCwweGE5LDB4NDAsMHgzZSwweDQ0IH19LAotIHsxNiwgMHhmZmIwLCAwLCB7MHgwOCwweGIxLDB4MDMsMHgyYywweDQwLDB4ZWEsMHg0OSwweDJlLDB4MGQsMHgwYiwweGI2LDB4MTMsMHg3ZCwweDgwLDB4YzksMHg0MCB9fSwKLSB7MTYsIDB4ZmZjMCwgMCwgezB4YmEsMHhkMCwweDBjLDB4YjQsMHgwMywweGFjLDB4MDAsMHhmOCwweDAwLDB4MzIsMHg0MCwweDBjLDB4ODAsMHgwYiwweDIwLDB4MDAgfX0sCi0gezE2LCAweGZmZDAsIDAsIHsweGM1LDB4MDAsMHhiMiwweGMwLDB4MGMsMHg4MCwweDAzLDB4MDAsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmZmUwLCAwLCB7MHhhMCwweDFkLDB4ZmMsMHgwNCwweGZjLDB4MDAsMHgzZCwweGM1LDB4MGIsMHhmMSwweDAwLDB4ZmMsMHhkMCwweDc3LDB4MjksMHgzNyB9fSwKLSB7MTYsIDB4ZmZmMCwgMCwgezB4MGMsMHg4ZSwweDc0LDB4MDMsMHhmYywweDA4LDB4ZmQsMHg2OSwweDNmLDB4ZDgsMHgwZiwweGYwLDB4MDMsMHhiYywweDAwLDB4ZWYgfX0sCi0gezE2LCAweDgwMTAsIDAsIHsweDAwLDB4M2YsMHg0MCwweDA3LDB4YzAsMHgwMywweGYwLDB4NDAsMHhmZCwweDAwLDB4M2YsMHhjMCwweDBmLDB4YzAsMHgwMywweGU4IH19LAotIHsxNiwgMHg4MDIwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwZCwweGZjLDB4YzAsMHhkYywweDgwLDB4M2YsMHhjOCB9fSwKLSB7MTYsIDB4ODAzMCwgMCwgezB4MGYsMHg0OCwweDAzLDB4N2MsMHgyMCwweGZmLDB4NjgsMHgzNywweGUwLDB4MGUsMHhmMSwweDAzLDB4OWMsMHgwMCwweGJmLDB4MjAgfX0sCi0gezE2LCAweDgwNDAsIDAsIHsweDM3LDB4ZTAsMHgwYywweGM4LDB4MTMsMHgzYywweDQwLDB4ZWQsMHg2MCwweGJiLDB4ZTQsMHgyYywweDQzLDB4NGIsMHg3MCwweGEwIH19LAotIHsxNiwgMHg4MDUwLCAwLCB7MHhjYywweDJjLDB4M2YsMHgwOSwweDBmLDB4ZDgsMHg0MywweDcwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODA2MCwgMCwgezB4ODAsMHgwMCwweGVkLDB4YzAsMHhiOCwweDgwLDB4MmYsMHhmNCwweDBmLDB4OTgsMHgwMiwweDNmLDB4MDAsMHhiZiwweDQyLDB4MjIgfX0sCi0gezE2LCAweDgwNzAsIDAsIHsweGNhLDB4MDgsMHhmNCwweDAyLDB4M2UsMHgwMCwweGJmLDB4ZDAsMHgyMiwweDYwLDB4MjgsMHg4OCwweDBhLDB4M2QsMHg4MCwweDhkIH19LAotIHsxNiwgMHg4MDgwLCAwLCB7MHg0MCwweDIyLDB4YzgsMHgwOCwweDgxLDB4MDIsMHgyMSwweDgwLDB4ZGIsMHhjMCwweDJlLDB4YTUsMHgwYiwweDk4LDB4NDIsMHgyMCB9fSwKLSB7MTYsIDB4ODA5MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjYywweDEwLDB4YjAsMHgwMCwweDJjLDB4YzAgfX0sCi0gezE2LCAweDgwYTAsIDAsIHsweDBiLDB4MjAsMHgwMiwweGNjLDB4MDAsMHhiMywweDIwLDB4MjYsMHhjMCwweDhhLDB4MzYsMHgxMiwweDhjLDB4NDEsMHhiMywweDAwIH19LAotIHsxNiwgMHg4MGIwLCAwLCB7MHgyZSwweDQwLDB4MDgsMHgwMCwweDAyLDB4MGQsMHg4MSwweGExLDB4MzAsMHgyMiwweGM4LDB4ODksMHhhMiwweDQyLDB4MDgsMHgyMCB9fSwKLSB7MTYsIDB4ODBjMCwgMCwgezB4YjAsMHgwMCwweDJjLDB4NDAsMHgwYiwweDkwLDB4MjYsMHg2MiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDgwZDAsIDAsIHsweGMwLDB4MTUsMHhhYywweDAwLDB4YjgsMHg1MCwweDJlLDB4YzAsMHgwYSwweDkwLDB4MDIsMHhhYywweDAwLDB4YmIsMHgwMCwweDIyIH19LAotIHsxNiwgMHg4MGUwLCAwLCB7MHhjMCwweDA4LDB4YjAsMHg2MiwweDJjLDB4MTAsMHhiYiwweDA0LDB4MmEsMHhmMCwweDRhLDB4ODgsMHgwMiwweDBjLDB4MDAsMHg4MSB9fSwKLSB7MTYsIDB4ODBmMCwgMCwgezB4MDAsMHgyMiwweGMwLDB4MDksMHhiOCwweDgwLDB4MjYsMHgwMCwweGI4LDB4ODAsMHgyZSwweDIxLDB4MGIsMHg5MCwweDAyLDB4MzAgfX0sCi0gezE2LCAweDgxMDAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDE1LDB4ZWMsMHgwMCwweGQ4LDB4YzAsMHgzZSwweGMwIH19LAotIHsxNiwgMHg4MTEwLCAwLCB7MHgwYiwweDgwLDB4MDMsMHhlYywweDAwLDB4ZmIsMHgwMCwweDM2LDB4ODAsMHgwZSwweGIwLDB4MDMsMHhhYywweDAwLDB4ZmIsMHgwMCB9fSwKLSB7MTYsIDB4ODEyMCwgMCwgezB4M2MsMHhlMCwweDBjLDB4MGMsMHgwMywweDJjLDB4MDAsMHhlOSwweDAwLDB4MTAsMHhjMCwweDBjLDB4OGMsMHgwMywweDA2LDB4MDAgfX0sCi0gezE2LCAweDgxMzAsIDAsIHsweGY4LDB4Y2QsMHgzZSwweDIyLDB4MGYsMHgxOCwweDAzLDB4NDAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4MTQwLCAwLCB7MHhlMCwweDAxLDB4YmMsMHgwMCwweGZmLDB4MDAsMHgzZSwweGMwLDB4MGYsMHhmMCwweDAzLDB4N2MsMHgwMCwweGY3LDB4MDIsMHgzZiB9fSwKLSB7MTYsIDB4ODE1MCwgMCwgezB4ZTQsMHgwZiwweDcwLDB4MDMsMHg3YywweDA0LDB4YjcsMHgwMCwweDM3LDB4NDAsMHgwZCwweGMwLDB4MDMsMHhmYywweDAwLDB4ZmQgfX0sCi0gezE2LCAweDgxNjAsIDAsIHsweDAwLDB4MzcsMHhkMCwweDBlLDB4YzAsMHg0MywweGY0LDB4MDAsMHhkZiwweDAwLDB4M2YsMHg4MCwweDhmLDB4ZGEsMHgwMywweGY4IH19LAotIHsxNiwgMHg4MTcwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweGFjLDB4MDAsMHhmOCwweDEwLDB4M2EsMHhjMCB9fSwKLSB7MTYsIDB4ODE4MCwgMCwgezB4NmQsMHhhNiwweDEzLDB4ZWMsMHgwMCwweGNiLDB4MDAsMHgzYSwweGQwLDB4MGYsMHhiMCwweDAzLDB4MmMsMHgxMCwweGRiLDB4MTAgfX0sCi0gezE2LCAweDgxOTAsIDAsIHsweDM2LDB4ZDgsMHgwZCwweDg0LDB4MDMsMHhlYywweDA2LDB4YzksMHgwOCwweDNhLDB4YzAsMHgwZSwweDg2LDB4MDMsMHhhOCwweDYwIH19LAotIHsxNiwgMHg4MWEwLCAwLCB7MHhmOCwweDIwLDB4M2EsMHg0MCwweDBjLDB4OTAsMHgwMywweDU0LDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODFiMCwgMCwgezB4OTgsMHgwNSwweDNjLDB4MDAsMHhiYiwweDQwLDB4MjMsMHhkMCwweDA4LDB4MzAsMHgwMiwweDNlLDB4MTAsMHhhZiwweDAwLDB4MjAgfX0sCi0gezE2LCAweDgxYzAsIDAsIHsweGMwLDB4MGIsMHhmMCwweDAyLDB4M2MsMHgwMCwweDhmLDB4NTAsMHgyZSwweGM4LDB4MDYsMHg4YSwweDAyLDB4ZmMsMHgwMCwweDhkIH19LAotIHsxNiwgMHg4MWQwLCAwLCB7MHgyNCwweDgyLDB4ZDYsMHgwOCwweDMyLDB4MDIsMHgyZCwweDA4LDB4M2EsMHg0MCwweDIyLDB4ODAsMHgwZCwweDkwLDB4MDMsMHg2MiB9fSwKLSB7MTYsIDB4ODFlMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MDUsMHg0YywweDAwLDB4YjAsMHgyMCwweDI4LDB4YzIgfX0sCi0gezE2LCAweDgxZjAsIDAsIHsweDA4LDB4MDQsMHgwMiwweDhjLDB4MDAsMHgxMywweDAyLDB4MjgsMHhjMCwweDBiLDB4MzAsMHgwMiwweDBjLDB4MzAsMHg5MywweDgwIH19LAotIHsxNiwgMHg4MjAwLCAwLCB7MHgyNCwweGQwLDB4MDksMHgyMCwweDAyLDB4Y2MsMHgwMCwweDkxLDB4NDAsMHgwOCwweGMwLDB4MmEsMHgxNCwweDAyLDB4ODEsMHgwMCB9fSwKLSB7MTYsIDB4ODIxMCwgMCwgezB4OTAsMHgwMCwweDY4LDB4MDAsMHgwOCwweDE4LDB4MDIsMHgzYSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDgyMjAsIDAsIHsweDcwLDB4MDEsMHgxZSwweDAwLDB4YjQsMHhhMCwweDIxLDB4ZTAsMHgwOCwweGM4LDB4MTIsMHg5ZSwweDAwLDB4YjMsMHg4MiwweDIxIH19LAotIHsxNiwgMHg4MjMwLCAwLCB7MHhlMCwweDBiLDB4N2EsMHgwYSwweDFlLDB4MDAsMHg5NywweDgwLDB4MmQsMHhlMSwweDBhLDB4NDgsMHgwMiwweGNlLDB4NDAsMHg5NSB9fSwKLSB7MTYsIDB4ODI0MCwgMCwgezB4OTAsMHgyOSwweGU0LDB4MDgsMHg1OCwweDAyLDB4OWEsMHgwMCwweGI3LDB4ODgsMHgyMSwweGUwLDB4MDksMHg1OCwweDAyLDB4NWMgfX0sCi0gezE2LCAweDgyNTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0YSwweDAwLDB4MGMsMHgwMCwweGYwLDB4ODAsMHgzOCwweGM0IH19LAotIHsxNiwgMHg4MjYwLCAwLCB7MHgwYywweDI1LDB4MDMsMHg4YywweDIwLDB4OTMsMHgwMCwweDM4LDB4YzQsMHgwZiwweGIwLDB4MDMsMHgwYywweDgwLDB4ZDMsMHgwMCB9fSwKLSB7MTYsIDB4ODI3MCwgMCwgezB4MzQsMHhjMCwweDBkLDB4MDQsMHgxMywweGNjLDB4MDgsMHg5OSwweDAwLDB4MmEsMHhjMCwweDBlLDB4MjEsMHgwMywweDg4LDB4MDQgfX0sCi0gezE2LCAweDgyODAsIDAsIHsweGYzLDB4MDAsMHgzOCwweGMwLDB4MGMsMHgxMSwweDgzLDB4MTIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4MjkwLCAwLCB7MHg0MiwweDE1LDB4YmMsMHgwMCwweGY0LDB4MDAsMHgzZiwweGMzLDB4MGUsMHhjMCwweDAzLDB4MWMsMHgwMCwweGFmLDB4NGEsMHg3ZiB9fSwKLSB7MTYsIDB4ODJhMCwgMCwgezB4YzQsMHgwZiwweGIyLDB4MDMsMHhmZCwweDAxLDB4ZWYsMHgxMCwweDNmLDB4ODQsMHgwZiwweGMwLDB4MDMsMHhmYywweDAwLDB4ZTkgfX0sCi0gezE2LCAweDgyYjAsIDAsIHsweDAwLDB4MzcsMHhjMiwweDBlLDB4ZjEsMHg0NywweDdjLDB4MDAsMHhmNywweDAwLDB4M2QsMHhjMCwweDBmLDB4NTAsMHgwMywweGQwIH19LAotIHsxNiwgMHg4MmMwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YWEsMHgxNSwweGVjLDB4MDgsMHhmOCwweDAwLDB4M2UsMHhjYSB9fSwKLSB7MTYsIDB4ODJkMCwgMCwgezB4MGYsMHg5MCwweDAzLDB4ZWYsMHgyMSwweGZiLDB4ODAsMHg3YSwweDQwLDB4OGYsMHhiMiwweGExLDB4MmYsMHgwMCwweGNiLDB4NjAgfX0sCi0gezE2LCAweDgyZTAsIDAsIHsweDNlLDB4YzAsMHgwZiwweGIwLDB4MDMsMHhlZCwweGEwLDB4ZTksMHgzMCwweDMyLDB4YzAsMHgyZCwweGIwLDB4MDMsMHhlNCwweDAwIH19LAotIHsxNiwgMHg4MmYwLCAwLCB7MHhmOCwweDAwLDB4M2UsMHgwMCwweDBmLDB4YjAsMHgwMywweGVhLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODMwMCwgMCwgezB4YzgsMHg5MSwweDlkLDB4MDAsMHhiNCwweDAxLDB4MmQsMHhjOCwweDBiLDB4NzAsMHgwMiwweGNjLDB4ODAsMHg4ZiwweDIwLDB4MjEgfX0sCi0gezE2LCAweDgzMTAsIDAsIHsweGMwLDB4OGIsMHg3NiwweDAzLDB4NWQsMHgwMCwweDg3LDB4MGEsMHgyZCwweGMwLDB4MGIsMHg0MCwweDIyLDB4ZmQsMHgwMCwweDhkIH19LAotIHsxNiwgMHg4MzIwLCAwLCB7MHgxMCwweDIzLDB4YzgsMHgwOCwweDUwLDB4MTIsMHhkNCwweDAwLDB4YjcsMHgwMCwweDJkLDB4YzAsMHgwYiwweDcwLDB4MDIsMHhmMiB9fSwKLSB7MTYsIDB4ODMzMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgxLDB4MDAsMHg5ZSwweDAwLDB4YjQsMHg4MCwweDJkLDB4ZTAgfX0sCi0gezE2LCAweDgzNDAsIDAsIHsweDBiLDB4N2MsMHgwMiwweGRlLDB4NDAsMHhhNywweDgyLDB4MmQsMHhlMCwweDBiLDB4M2EsMHgwMiwweDhlLDB4MDAsMHg4NywweDkwIH19LAotIHsxNiwgMHg4MzUwLCAwLCB7MHgyZCwweGUwLDB4MGIsMHg1OCwweDAyLDB4NWUsMHgwMCwweGE1LDB4YTIsMHg2NSwweGUwLDB4MDgsMHg2OCwweDgyLDB4ZGEsMHgwMCB9fSwKLSB7MTYsIDB4ODM2MCwgMCwgezB4OTUsMHg4MCwweDJkLDB4NjAsMHgwYiwweDc4LDB4MDIsMHhlMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDgzNzAsIDAsIHsweDA4LDB4ODQsMHhjYywweDAwLDB4YjAsMHgwOSwweDJjLDB4YzAsMHgwYiwweDM4LDB4MDIsMHhjYywweDAwLDB4ODMsMHgwMCwweDJlIH19LAotIHsxNiwgMHg4MzgwLCAwLCB7MHhjMCwweDBiLDB4MzAsMHg0MiwweDRjLDB4MDAsMHg4MywweDAwLDB4MmMsMHhhMCwweDBiLDB4MDQsMHgwMiwweGNjLDB4MDAsMHg4MSB9fSwKLSB7MTYsIDB4ODM5MCwgMCwgezB4MDAsMHhhMCwweGMwLDB4MDgsMHhiMCwweDA2LDB4Y2YsMHg4MCwweGIzLDB4MTAsMHgyYywweGM0LDB4MGIsMHgzMSwweDAyLDB4YzMgfX0sCi0gezE2LCAweDgzYTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDA1LDB4YTgsMHgwMCwweGZlLDB4ODAsMHgzZSwweDgwIH19LAotIHsxNiwgMHg4M2IwLCAwLCB7MHgwZiwweGU4LDB4MTMsMHhlOCwweDAwLDB4ZWEsMHgwMCwweDNmLDB4YjAsMHgwZiwweGEwLDB4MDMsMHhhOCwweDAyLDB4YzIsMHgwMCB9fSwKLSB7MTYsIDB4ODNjMCwgMCwgezB4MmYsMHg4OCwweDBmLDB4ZTAsMHgwMywweGU4LDB4MDAsMHhlYSwweDAwLDB4MzYsMHgwMCwweDBjLDB4ZTAsMHgwMywweGY5LDB4MjAgfX0sCi0gezE2LCAweDgzZDAsIDAsIHsweGRlLDB4ODAsMHgzZiwweGEwLDB4NGYsMHhhOCwweDAzLDB4ZmEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4M2UwLCAwLCB7MHg0OCwweDAwLDB4ZTAsMHgwMCwweGY4LDB4MTAsMHgzYywweDEwLDB4MGYsMHg4MCwweDgzLDB4ZTEsMHgwMCwweGU4LDB4MDAsMHgyMiB9fSwKLSB7MTYsIDB4ODNmMCwgMCwgezB4MDYsMHgwZiwweDAwLDB4MTMsMHhlMCwweDAxLDB4ZjgsMHgwMCwweDNlLDB4MDAsMHgwZiwweDgwLDB4ODMsMHhlMCwweDAwLDB4ZjggfX0sCi0gezE2LCAweDg0MDAsIDAsIHsweDAwLDB4M2UsMHgwMCwweDBmLDB4ODQsMHgyMywweGUwLDB4MDAsMHhmOCwweDAwLDB4M2UsMHgxMCwweDBmLDB4ODAsMHgwMywweGQyIH19LAotIHsxNiwgMHg4NDEwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwMCwweGU0LDB4MDAsMHhmOSwweDEwLDB4M2UsMHg0NCB9fSwKLSB7MTYsIDB4ODQyMCwgMCwgezB4MGQsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGY5LDB4MDAsMHgzZSwweDQwLDB4MGMsMHg5MCwweDEyLDB4MjQsMHgwMCwweGY5LDB4MTAgfX0sCi0gezE2LCAweDg0MzAsIDAsIHsweDMyLDB4NDAsMHg4ZiwweDkwLDB4MDMsMHhjNCwweDAwLDB4YzksMHgwMCwweDMyLDB4MTAsMHgwYywweDljLDB4MDEsMHgyNCwweDAwIH19LAotIHsxNiwgMHg4NDQwLCAwLCB7MHhmOSwweDEwLDB4M2UsMHg3MCwweDBmLDB4OTAsMHgwMiwweGMyLDB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODQ1MCwgMCwgezB4ODAsMHgxNCwweDY0LDB4MDAsMHhiOSwweGMwLDB4MmUsMHg0OCwweDA4LDB4OTEsMHgwMiwweGU0LDB4MDAsMHhiOSwweDAwLDB4MmUgfX0sCi0gezE2LCAweDg0NjAsIDAsIHsweDQwLDB4MGQsMHg5MCwweDAzLDB4NjcsMHgwMCwweGI5LDB4ODAsMHgyYSwweDYwLDB4MGIsMHg5OSwweDAyLDB4ZTQsMHgwMCwweDgxIH19LAotIHsxNiwgMHg4NDcwLCAwLCB7MHgwMCwweDIyLDB4NDAsMHgyYywweDkwLDB4MTIsMHgyNSwweDIwLDB4YjksMHg0OCwweDJlLDB4NTIsMHgwYiwweDk0LDB4MDIsMHhlMCB9fSwKLSB7MTYsIDB4ODQ4MCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHgyNCwweDAwLDB4YjksMHgwMCwweDJlLDB4NDAgfX0sCi0gezE2LCAweDg0OTAsIDAsIHsweDY4LDB4OTAsMHg0NiwweGU0LDB4MDAsMHhiOSwweDAwLDB4MmUsMHhjMCwweDA4LDB4OTAsMHgwMiwweGE0LDB4NjAsMHhiOSwweDAwIH19LAotIHsxNiwgMHg4NGEwLCAwLCB7MHgyMiwweDQ4LDB4MGIsMHg5MCwweDA2LDB4ZTQsMHgwMiwweDg5LDB4MDAsMHhhMCwweDQwLDB4MDgsMHg5MCwweDAyLDB4YTYsMHgxMCB9fSwKLSB7MTYsIDB4ODRiMCwgMCwgezB4YjksMHgwMCwweDBlLDB4NDAsMHgwYiwweDkwLDB4MDIsMHhjNiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDg0YzAsIDAsIHsweDA4LDB4MDQsMHgwNCwweDgwLDB4YjEsMHgwMCwweDJjLDB4NDgsMHgwOCwweDEwLDB4MDIsMHhjNCwweDg0LDB4YjEsMHgyMCwweDJjIH19LAotIHsxNiwgMHg4NGQwLCAwLCB7MHg0MCwweDA5LDB4MTIsMHgwMiwweGM0LDB4ODAsMHhiMSwweDIwLDB4MjgsMHg0MCwweDBiLDB4MTAsMHgwMiwweGM0LDB4ODAsMHg4OSB9fSwKLSB7MTYsIDB4ODRlMCwgMCwgezB4MjAsMHgyMCwweDQwLDB4NGIsMHgxMiwweDBhLDB4ODQsMHg4NCwweGIxLDB4MjAsMHgyYywweDQ4LDB4OGIsMHgxMCwweDAyLDB4YzIgfX0sCi0gezE2LCAweDg0ZjAsIDAsIHsweDExLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjEsMHg0MCwweGJhLDB4MDAsMHgyZSwweDAwIH19LAotIHsxNiwgMHg4NTAwLCAwLCB7MHgwYywweDgwLDB4MDMsMHhlOCwweDA4LDB4ZjgsMHg1MCwweDNlLDB4MTQsMHgwYywweDg1LDB4MDMsMHgyMCwweDAwLDB4YjgsMHgwMCB9fSwKLSB7MTYsIDB4ODUxMCwgMCwgezB4MzIsMHgwMCwweDBmLDB4YTAsMHgwMywweGUxLDB4NDAsMHhjOCwweDUwLDB4MzIsMHgxNCwweDBjLDB4YTUsMHgwMywweGExLDB4NDAgfX0sCi0gezE2LCAweDg1MjAsIDAsIHsweGY4LDB4MDAsMHgzZSwweDAwLDB4MGYsMHhhMCwweDAzLDB4ZWUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4NTMwLCAwLCB7MHg4OCwweDBkLDB4ZTQsMHg0MCwweGZkLDB4MDAsMHgzZSwweDQ0LDB4MGYsMHhkMCwweDAzLDB4ZTQsMHg0MCwweGI5LDB4MTEsMHgzZiB9fSwKLSB7MTYsIDB4ODU0MCwgMCwgezB4NDAsMHgwZiwweDkxLDB4MDMsMHg2NCwweDQ0LDB4ZjksMHgxMCwweDNmLDB4NDAsMHgwZiwweGQwLDB4MDMsMHhlNCwweDQwLDB4ZmQgfX0sCi0gezE2LCAweDg1NTAsIDAsIHsweDEwLDB4M2YsMHgxMCwweDhjLDB4ZDEsMHgwMywweDc0LDB4NDAsMHhmZiwweDEwLDB4M2YsMHg0NCwweDBmLDB4ZDAsMHgwMywweGU2IH19LAotIHsxNiwgMHg4NTYwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweDY2LDB4MjAsMHhlZCwweDAwLDB4MzMsMHg2OSB9fSwKLSB7MTYsIDB4ODU3MCwgMCwgezB4NGQsMHg1MCwweDQzLDB4NTYsMHgwMCwweGY5LDB4YTAsMHgzNCwweDQwLDB4MGYsMHg5YSwweDBiLDB4MzQsMHgwMCwweGRkLDB4ODAgfX0sCi0gezE2LCAweDg1ODAsIDAsIHsweDNiLDB4NDAsMHgwYiwweDUwLDB4MDMsMHhlNCwweDAwLDB4ZjksMHgwMCwweDMyLDB4ZTAsMHgwZSwweGQwLDB4MDMsMHhmNCwweDAwIH19LAotIHsxNiwgMHg4NTkwLCAwLCB7MHhmZCwweDAwLDB4M2YsMHg0MCwweDBjLDB4ZDAsMHgwMywweGM2LDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODVhMCwgMCwgezB4NzgsMHgxMCwweGUyLDB4ODAsMHg4OCwweDA0LDB4MjIsMHgxMCwweDBiLDB4ODAsMHgwMiwweDIwLDB4MDksMHhiOCwweGYwLDB4MjIgfX0sCi0gezE2LCAweDg1YjAsIDAsIHsweDAwLDB4MGIsMHg4ZSwweDEyLDB4YTAsMHgwMCwweGI4LDB4NTIsMHgyZSwweDAwLDB4MGIsMHg4MCwweDAyLDB4ZTAsMHgwNSwweGI4IH19LAotIHsxNiwgMHg4NWMwLCAwLCB7MHhhYSwweDIzLDB4M2UsMHgwZCwweDgwLDB4MDIsMHhlMCwweDAwLDB4YjgsMHgwMCwweDNhLDB4MDAsMHgwOCwweDgwLDB4MDIsMHhjZSB9fSwKLSB7MTYsIDB4ODVkMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDUsMHhjNCwweDIwLDB4YTksMHgwMCwweGE0LDB4NDQgfX0sCi0gezE2LCAweDg1ZTAsIDAsIHsweDA5LDB4OTAsMHgwMiwweGM1LDB4MDAsMHhhMSwweDA4LDB4MmMsMHg0MCwweDBiLDB4MTEsMHg4MiwweDA0LDB4MDAsMHhiMSwweDAwIH19LAotIHsxNiwgMHg4NWYwLCAwLCB7MHgyOCwweDQwLDB4MGEsMHgxMCwweDQyLDB4YzQsMHgwMCwweGI1LDB4MDAsMHhhMSwweDQwLDB4MDgsMHgxMCwweDAyLDB4YzQsMHgwMCB9fSwKLSB7MTYsIDB4ODYwMCwgMCwgezB4YjEsMHgwMSwweDJjLDB4NDAsMHgwOCwweDEwLDB4MjAsMHhkMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDg2MTAsIDAsIHsweDE4LDB4MTUsMHhhNCwweDAwLDB4ODksMHgwNCwweDIyLDB4NDAsMHgwYiwweDkwLDB4MDAsMHhhYywweDAwLDB4MzksMHgwMCwweDJhIH19LAotIHsxNiwgMHg4NjIwLCAwLCB7MHg0MCwweDBiLDB4MTAsMHgwMiwweGE0LDB4MDAsMHhiOSwweDAwLDB4MmUsMHg0OCwweDBiLDB4OTAsMHgxMiwweGU0LDB4MDAsMHhiOSB9fSwKLSB7MTYsIDB4ODYzMCwgMCwgezB4MDAsMHgyMSwweDYwLDB4MDksMHg5MiwweDIyLDB4ZTQsMHgyOCwweGI5LDB4MDAsMHgwYSwweDUwLDB4MDgsMHg5MCwweDA2LDB4YzYgfX0sCi0gezE2LCAweDg2NDAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4ZTQsMHgwMCwweGU5LDB4MDAsMHgzNiwweDQwIH19LAotIHsxNiwgMHg4NjUwLCAwLCB7MHgwZCwweDkwLDB4MDMsMHhlNCwweDAwLDB4ZjksMHgwMCwweDNlLDB4NDgsMHgwZiwweDkwLDB4MDMsMHgyNCwweDAwLDB4ZDksMHgwMCB9fSwKLSB7MTYsIDB4ODY2MCwgMCwgezB4M2EsMHg3OCwweDBlLDB4OTgsMHgwMywweGU0LDB4MDAsMHhiOSwweDAwLDB4YjIsMHg0MCwweDBlLDB4OTIsMHgyMywweGU2LDB4MDAgfX0sCi0gezE2LCAweDg2NzAsIDAsIHsweGI5LDB4NTAsMHgzZSwweDcwLDB4MmMsMHg5MCwweDAzLDB4ZTgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4NjgwLCAwLCB7MHg2OCwweDAxLDB4ODQsMHgwMCwweGY5LDB4MDAsMHgzZSwweDQwLDB4NGYsMHg5YywweDIzLDB4NjQsMHgwMCwweGY5LDB4MDQsMHgzNiB9fSwKLSB7MTYsIDB4ODY5MCwgMCwgezB4NDgsMHgwZiwweDkwLDB4MDMsMHhlNCwweDAwLDB4ZjksMHgwMCwweDNlLDB4NjAsMHgwZiwweDkyLDB4MDMsMHhlNCwweDAwLDB4ZjkgfX0sCi0gezE2LCAweDg2YTAsIDAsIHsweDAwLDB4M2UsMHg0MCwweDhmLDB4OTAsMHg4MywweGU0LDB4NDQsMHhmOSwweDAwLDB4NzgsMHg2NCwweDBmLDB4OTAsMHgwMywweGRhIH19LAotIHsxNiwgMHg4NmIwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxMCwweGEwLDB4MDAsMHhmOCwweDAwLDB4M2UsMHgwMCB9fSwKLSB7MTYsIDB4ODZjMCwgMCwgezB4MGYsMHg4MiwweDAzLDB4YTAsMHg0MCwweGU4LDB4MDAsMHgzZSwweDAwLDB4MGQsMHg4MCwweDAzLDB4MjAsMHhjMCwweGM4LDB4ODAgfX0sCi0gezE2LCAweDg2ZDAsIDAsIHsweDNlLDB4MTIsMHgwZiwweDgwLDB4MDMsMHg2MCwweDAwLDB4N2MsMHgwMCwweDMzLDB4MDAsMHgwZCwweDgwLDB4MTMsMHhlMCwweDEwIH19LAotIHsxNiwgMHg4NmUwLCAwLCB7MHhjOCwweDY0LDB4M2UsMHgwOCwweDBjLDB4ODIsMHgwMywweGNhLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODZmMCwgMCwgezB4MjgsMHgwNSwweDI4LDB4MDAsMHhiNiwweGUwLDB4MGYsMHhhMCwweDBiLDB4NjAsMHg4MiwweDM4LDB4MDAsMHhhYSwweDAwLDB4MmUgfX0sCi0gezE2LCAweDg3MDAsIDAsIHsweDgwLDB4MDgsMHhhMCwweDQyLDB4YmEsMHgwMCwweGFlLDB4MjAsMHgyZiwweDg4LDB4MGIsMHhlNSwweDAyLDB4MjgsMHgwMCwweGJhIH19LAotIHsxNiwgMHg4NzEwLCAwLCB7MHhkOCwweDM3LDB4ODAsMHgwOCwweGVjLDB4MDIsMHhmOCwweDA0LDB4OGUsMHgwMCwweDJmLDB4OTAsMHgwZCwweGUwLDB4MDIsMHhjYSB9fSwKLSB7MTYsIDB4ODcyMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg0YywweDAwLDB4YjAsMHgyNCwweDJjLDB4NjAgfX0sCi0gezE2LCAweDg3MzAsIDAsIHsweDBiLDB4MzgsMHgwMiwweDhlLDB4ODAsMHhhYiwweDAwLDB4MmMsMHhjMCwweDA5LDB4MzAsMHgwMiwweDBkLDB4MDgsMHgwMCwweDgwIH19LAotIHsxNiwgMHg4NzQwLCAwLCB7MHg2YywweGQwLDB4MGIsMHgzNCwweDAyLDB4Y2MsMHgwMCwweGI4LDB4YzAsMHgyMCwweDAwLDB4NDgsMHgzNCwweDEyLDB4Y2MsMHg0MCB9fSwKLSB7MTYsIDB4ODc1MCwgMCwgezB4ODMsMHgwMCwweDJjLDB4ZTAsMHgwYSwweDM1LDB4MDIsMHhjYSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDg3NjAsIDAsIHsweGEwLDB4MDEsMHgxYywweDQwLDB4YjcsMHgwMCwweDJkLDB4MDIsMHg4YiwweDYwLDB4MDIsMHg5ZSwweDAwLDB4ODcsMHgyMCwweDJmIH19LAotIHsxNiwgMHg4NzcwLCAwLCB7MHhlMCwweDA4LDB4NzIsMHgwMiwweDllLDB4MDAsMHhhNCwweDAwLDB4MmQsMHhjMCwweDBiLDB4ZjgsMHgwMiwweDljLDB4YzAsMHhiMyB9fSwKLSB7MTYsIDB4ODc4MCwgMCwgezB4MDIsMHhhNSwweGMwLDB4MDgsMHg1MCwweDg2LDB4ZmUsMHgwMCwweDg3LDB4MDAsMHgyZiwweGQwLDB4MDksMHg3MCwweDAyLDB4ZTggfX0sCi0gezE2LCAweDg3OTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MWUsMHgwMCwweGY0LDB4ODAsMHgzZCwweDIwIH19LAotIHsxNiwgMHg4N2EwLCAwLCB7MHgwZiwweDU4LDB4MDMsMHg5ZSwweDAwLDB4NjcsMHg4MCwweDNkLDB4ZjgsMHgwZCwweDM4LDB4MDIsMHgxYSwweDEwLDB4NDQsMHg4MCB9fSwKLSB7MTYsIDB4ODdiMCwgMCwgezB4M2QsMHhlMCwweDBmLDB4NTgsMHgwMywweGRlLDB4MjAsMHhiNCwweDgwLDB4MzMsMHhhMCwweDJjLDB4NjgsMHgwMywweGQ2LDB4MDAgfX0sCi0gezE2LCAweDg3YzAsIDAsIHsweGM3LDB4ODEsMHgzZCwweGUwLDB4MGMsMHg3OCwweDAzLDB4ZWEsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4N2QwLCAwLCB7MHgwOCwweDFkLDB4YWMsMHgwOCwweGY4LDB4MDAsMHgzZSwweDAwLDB4OGYsMHg4MCwweDAzLDB4NmMsMHgwMCwweDNiLDB4MTIsMHgzZSB9fSwKLSB7MTYsIDB4ODdlMCwgMCwgezB4Y2EsMHgwZiwweGI1LDB4MDMsMHhjOCwweDAwLDB4ZjgsMHgwNCwweDdlLDB4YzAsMHgwZiwweDkwLDB4MDMsMHg2YywweDgwLDB4ZmIgfX0sCi0gezE2LCAweDg3ZjAsIDAsIHsweDA0LDB4M2EsMHg0MCwweDBmLDB4OTAsMHgyMywweGM4LDB4MDAsMHhmOSwweDAxLDB4M2MsMHhjMCwweDBmLDB4YjAsMHgwMywweGMyIH19LAotIHsxNiwgMHg4ODAwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGZlLDB4MDAsMHhhYywweDkwLDB4MzEsMHg0OCB9fSwKLSB7MTYsIDB4ODgxMCwgMCwgezB4MDgsMHhmOCwweDAzLDB4ZmEsMHgwMCwweGNmLDB4ODAsMHgzZiwweGUwLDB4MGMsMHhmYywweDEzLDB4M2UsMHgwNCwweGZjLDB4ODAgfX0sCi0gezE2LCAweDg4MjAsIDAsIHsweDM1LDB4YTAsMHgwYywweDc4LDB4MDMsMHhiZSwweDAwLDB4ZGYsMHg4MCwweDNiLDB4MjAsMHgyNCwweGY4LDB4MDMsMHgyZSwweDQwIH19LAotIHsxNiwgMHg4ODMwLCAwLCB7MHhjZiwweDgwLDB4MzMsMHhlMCwweDAzLDB4ZjksMHgwMywweGQwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODg0MCwgMCwgezB4YTgsMHgxMSwweGJjLDB4MDAsMHg4MCwweDAwLDB4MDEsMHgwMCwweDA4LDB4NzIsMHgwMiwweGQwLDB4MDAsMHg4NywweDAwLDB4MmQgfX0sCi0gezE2LCAweDg4NTAsIDAsIHsweGM4LDB4MGEsMHhmMCwweDAyLDB4OTgsMHg0MCwweGY1LDB4MDAsMHg2MSwweDQxLDB4MDAsMHg3NCwweDAyLDB4MWMsMHgwMCwweGI0IH19LAotIHsxNiwgMHg4ODYwLCAwLCB7MHgwMCwweDIxLDB4YzgsMHgwOCwweDYwLDB4MDIsMHgzZSwweDIwLDB4ODYsMHgwOCwweDIxLDB4ZDgsMHgwZiwweDUwLDB4MDIsMHhlYSB9fSwKLSB7MTYsIDB4ODg3MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDAsMHg5YywweDAwLDB4YTQsMHgwMCwweDIxLDB4MDAgfX0sCi0gezE2LCAweDg4ODAsIDAsIHsweDA4LDB4NTAsMHgwMiwweGQ4LDB4MDAsMHg5NywweDAwLDB4MmQsMHhjMCwweDg4LDB4NzEsMHgwMiwweDE0LDB4MDAsMHhiMCwweDAwIH19LAotIHsxNiwgMHg4ODkwLCAwLCB7MHgyNSwweDkwLDB4MDgsMHhjMCwweDgyLDB4OWMsMHg0MCwweDkzLDB4MDAsMHgyOSwweGExLDB4ODgsMHg2MCwweDAyLDB4MTQsMHgxMiB9fSwKLSB7MTYsIDB4ODhhMCwgMCwgezB4ODcsMHg0MCwweDI5LDB4NDAsMHgwYiwweDYwLDB4MDIsMHhjNCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDg4YjAsIDAsIHsweDYwLDB4MTQsMHhjYywweDAwLDB4ODAsMHhkMCwweGEwLDB4MDAsMHgwOCwweDFjLDB4MDIsMHhjMCwweDAwLDB4OTMsMHgwMCwweDJjIH19LAotIHsxNiwgMHg4OGMwLCAwLCB7MHhkMCwweDBhLDB4YjAsMHgyNiwweDgwLDB4MDAsMHhiMywweDAwLDB4MjQsMHhlNCwweDA4LDB4MDgsMHgwMiwweDhjLDB4MDAsMHhiMCB9fSwKLSB7MTYsIDB4ODhkMCwgMCwgezB4MDIsMHgwMiwweDQxLDB4MDgsMHgwOCwweDAyLDB4MDMsMHgwMSwweDgxLDB4MDAsMHgyOCwweDQyLDB4MWEsMHgwMCwweDQyLDB4ZDggfX0sCi0gezE2LCAweDg4ZTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhmOCwweDE1LDB4YmMsMHgwMCwweGU4LDB4YzAsMHgzMiwweDgwIH19LAotIHsxNiwgMHg4OGYwLCAwLCB7MHgwYywweGI1LDB4MDMsMHhlNCwweDAwLDB4OWYsMHgwMCwweDNkLDB4ZTAsMHgwYywweGYwLDB4MGIsMHgyNCwweDAwLDB4ZjgsMHgwMCB9fSwKLSB7MTYsIDB4ODkwMCwgMCwgezB4MzYsMHhlMCwweDBjLDB4MjUsMHgwMywweGJjLDB4MDUsMHhkOCwweDAyLDB4MmEsMHgwMCwweDA4LDB4YmEsMHgwMiwweDJhLDB4MDAgfX0sCi0gezE2LCAweDg5MTAsIDAsIHsweGMxLDB4MDIsMHgzYSwweDUwLDB4OGIsMHg5MCwweDAzLDB4ZWUsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4OTIwLCAwLCB7MHg4MCwweDAwLDB4ZWMsMHgwMCwweGZiLDB4MDgsMHgzZSwweDgwLDB4MGYsMHhhMSwweDAzLDB4ZWMsMHgwNCwweGViLDB4MDIsMHgyZSB9fSwKLSB7MTYsIDB4ODkzMCwgMCwgezB4YzYsMHgwZiwweGIwLDB4MTcsMHg0NCwweDAwLDB4ZTgsMHgwMCwweDNhLDB4NDAsMHgwZiwweDgwLDB4MDIsMHg2YywweDAwLDB4ZmIgfX0sCi0gezE2LCAweDg5NDAsIDAsIHsweDAwLDB4M2UsMHhlMCwweDBmLDB4OTAsMHg5MywweGUxLDB4MDAsMHhkOSwweDAwLDB4MjYsMHg3MCwweDhmLDB4OTAsMHgwMSwweGUxIH19LAotIHsxNiwgMHg4OTUwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxMCwweGZjLDB4MDAsMHhmYywweDAzLDB4MzcsMHgyNCB9fSwKLSB7MTYsIDB4ODk2MCwgMCwgezB4MGQsMHhmOCwweDAzLDB4ZTAsMHgwMCwweGZmLDB4MDAsMHgzZiwweGMxLDB4OGQsMHhmMCwweDBiLDB4MzgsMHgwMCwweGNjLDB4MDAgfX0sCi0gezE2LCAweDg5NzAsIDAsIHsweDNmLDB4YzAsMHgwZiwweGZhLDB4MDMsMHgzYywweDBjLDB4ZmMsMHgwNCwweDNiLDB4ODAsMHgwYywweGEwLDB4MDMsMHg5NCwweDIwIH19LAotIHsxNiwgMHg4OTgwLCAwLCB7MHg4OSwweDA1LDB4M2IsMHgwMCwweDRmLDB4ZDAsMHgyMywweGMwLDB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODk5MCwgMCwgezB4ODAsMHgwNCwweDZjLDB4MDAsMHhiMCwweDA2LDB4MjAsMHgxMywweDg4LDB4YTgsMHgwMiwweGViLDB4MDAsMHhiYiwweDAwLDB4MmUgfX0sCi0gezE2LCAweDg5YTAsIDAsIHsweGMwLDB4MDgsMHhiMCwweDAyLDB4MmEsMHgwMCwweGE4LDB4ODAsMHgyZSwweGUwLDB4MGIsMHg5NCwweDFhLDB4MmMsMHgwMCwweGJiIH19LAotIHsxNiwgMHg4OWIwLCAwLCB7MHgwMCwweGEyLDB4NDAsMHgyOSwweDk4LDB4MDIsMHhlMiwweDAwLDB4YTksMHg4NCwweDIyLDB4MjAsMHgwYiwweDk4LDB4MDIsMHhlMCB9fSwKLSB7MTYsIDB4ODljMCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgyYywweDAwLDB4YjgsMHgwMCwweDIyLDB4MDAgfX0sCi0gezE2LCAweDg5ZDAsIDAsIHsweDA5LDB4ODIsMHgwMiwweGU2LDB4MDAsMHhiYiwweDAwLDB4MmUsMHhjMCwweDBiLDB4YjAsMHgwMiwweDI2LDB4MDAsMHg4OCwweDgwIH19LAotIHsxNiwgMHg4OWUwLCAwLCB7MHgyZSwweGEwLDB4MGIsMHhhMCwweDAyLDB4MmMsMHgwMCwweGIzLDB4MDAsMHgyYSwweDAwLDB4MDksMHg5OCwweDAyLDB4ZWEsMHgyMCB9fSwKLSB7MTYsIDB4ODlmMCwgMCwgezB4YTksMHg4MCwweDJhLDB4NjAsMHg5YiwweDk4LDB4ODIsMHhlMCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDhhMDAsIDAsIHsweDA4LDB4MDQsMHgwYywweDAwLDB4YjgsMHgwMCwweDIwLDB4MDAsMHgwOSwweDA4LDB4MDIsMHhjNCwweDAwLDB4YjMsMHgwMCwweDI2IH19LAotIHsxNiwgMHg4YTEwLCAwLCB7MHhjMCwweDAwLDB4MzAsMHgwMiwweDAwLDB4MDAsMHg4MSwweDAwLDB4MmMsMHg0MSwweDBiLDB4MDAsMHgwMiwweDBjLDB4MDAsMHhiMCB9fSwKLSB7MTYsIDB4OGEyMCwgMCwgezB4MDAsMHgyMCwweGMwLDB4MGIsMHgwMCwweDAyLDB4YzgsMHg4MCwweGE4LDB4MDAsMHgyMCwweDQxLDB4MGIsMHgxMCwweDAyLDB4YzIgfX0sCi0gezE2LCAweDhhMzAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4NmMsMHgxMCwweGY4LDB4NTAsMHhiMiwweDAwIH19LAotIHsxNiwgMHg4YTQwLCAwLCB7MHgwZCwweDgwLDB4MDMsMHhlMCwweDAwLDB4ZmIsMHgwMCwweDNkLDB4YzAsMHgwZCwweGYwLDB4MTMsMHgyNCwweDAyLDB4YzgsMHgwNiB9fSwKLSB7MTYsIDB4OGE1MCwgMCwgezB4M2UsMHg4MCwweDBmLDB4YTAsMHgwMywweDNjLDB4MDQsMHhmYiwweDAwLDB4NzgsMHg4MCwweDBjLDB4YTAsMHgwMywweGU0LDB4MDAgfX0sCi0gezE2LCAweDhhNjAsIDAsIHsweGU5LDB4MDAsMHgxYSwweDQwLDB4MGYsMHg5MCwweDAzLDB4YzAsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4YTcwLCAwLCB7MHhhMCwweDFkLDB4ZmMsMHgwMCwweGY0LDB4MjAsMHgzZiwweDAwLDB4MGUsMHhjMCwweDAyLDB4ZjAsMHgwMSwweGZmLDB4MDAsMHgzZiB9fSwKLSB7MTYsIDB4OGE4MCwgMCwgezB4YzAsMHgwZiwweGYwLDB4MjMsMHhmMCwweDAwLDB4ZmQsMHgwMCwweDNmLDB4YzAsMHgwZiwweGMwLDB4MDMsMHhmYywweDAwLDB4ZmMgfX0sCi0gezE2LCAweDhhOTAsIDAsIHsweDAwLDB4M2YsMHg0MCwweDljLDB4YzAsMHgwMywweGYwLDB4NDAsMHhmZCwweDAwLDB4M2YsMHg0MCwweDBmLDB4ZDAsMHg0MywweGU4IH19LAotIHsxNiwgMHg4YWEwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGYwLDB4MDAsMHhlZCwweDIzLDB4YjcsMHg0OCB9fSwKLSB7MTYsIDB4OGFiMCwgMCwgezB4MGMsMHhlMSwweGMzLDB4N2MsMHhjMCwweGRkLDB4ODAsMHgzNywweGUwLDB4MGYsMHhjYiwweDAzLDB4ZmUsMHgwOCwweGZjLDB4MjggfX0sCi0gezE2LCAweDhhYzAsIDAsIHsweDNmLDB4ZjAsMHgxYywweGZiLDB4MjMsMHg3YywweDAxLDB4ZmYsMHgxNCwweDc3LDB4ZTIsMHg0ZiwweGU4LDB4MjMsMHg3YywweDAwIH19LAotIHsxNiwgMHg4YWQwLCAwLCB7MHhjNCwweDgwLDB4MzMsMHg0OCwweDJjLDB4ZjgsMHgyMiwweDMwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OGFlMCwgMCwgezB4ODAsMHgxMCwweGUwLDB4ZTAsMHhjOSwweGMwLDB4MjIsMHg1YiwweDg4LDB4OTYsMHgyMiwweDJkLDB4MDAsMHg4OSwweDIyLDB4MjIgfX0sCi0gezE2LCAweDhhZjAsIDAsIHsweGNhLDB4MGIsMHg5ZSwweDIyLDB4ZTIsMHhhMCwweGI5LDB4NjEsMHgyYywweGUwLDB4ODgsMHg5ZiwweDAyLDB4M2QsMHg4NSwweGJmIH19LAotIHsxNiwgMHg4YjAwLCAwLCB7MHg2MCwweDI2LDB4NTAsMHg0OCwweGEwLDB4MDIsMHgzYywweDAwLDB4ODgsMHgwMCwweDIyLDB4NTAsMHgwOCwweGIwLDB4MDIsMHgyMCB9fSwKLSB7MTYsIDB4OGIxMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjMCwweDgwLDB4YjEsMHgxMCwweDIwLDB4NDQgfX0sCi0gezE2LCAweDhiMjAsIDAsIHsweDBiLDB4YjIsMHgwMiwweGNlLDB4ZDAsMHg4MSwweDA4LDB4MmMsMHhjMCwweDBiLDB4MDEsMHgwMiwweDhjLDB4MDgsMHhiMywweDA4IH19LAotIHsxNiwgMHg4YjMwLCAwLCB7MHgyYywweGM5LDB4MDgsMHgxMCwweDYyLDB4OGMsMHg2MCwweGIzLDB4MzIsMHgyNCwweDgwLDB4MGEsMHhhMCwweDAyLDB4NmMsMHgwMyB9fSwKLSB7MTYsIDB4OGI0MCwgMCwgezB4OWEsMHgwMSwweDI2LDB4NDQsMHg0OCwweGIwLDB4NDIsMHg2MiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDhiNTAsIDAsIHsweGMwLDB4MTUsMHhhNCwweGEwLDB4OGIsMHgwMiwweDIyLDB4ZTAsMHgwYiwweGIwLDB4NjIsMHhhYywweDk4LDB4OTksMHgwMCwweDJhIH19LAotIHsxNiwgMHg4YjYwLCAwLCB7MHhjMiwweDBiLDB4OTgsMHgwNiwweGU0LDB4MDAsMHhiYiwweDAyLDB4MmUsMHhjMCwweDA4LDB4OTEsMHg0MiwweDJjLDB4MTAsMHhiYiB9fSwKLSB7MTYsIDB4OGI3MCwgMCwgezB4MDAsMHg2ZSwweDgwLDB4MGEsMHg4MCwweDAyLDB4NmMsMHgwMCwweDFiLDB4MDAsMHgwNiwweDQwLDB4NDgsMHhiOCwweDBhLDB4NzAgfX0sCi0gezE2LCAweDhiODAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDExLDB4ZTcsMHgwMCwweGExLDB4MDAsMHg3NiwweDc4IH19LAotIHsxNiwgMHg4YjkwLCAwLCB7MHgwZiwweGIwLDB4MDMsMHhlOCwweDEwLDB4ZDksMHgwMCwweDNlLDB4ZDAsMHg0YiwweDllLDB4MTMsMHhhYywweDA4LDB4YjgsMHhhMCB9fSwKLSB7MTYsIDB4OGJhMCwgMCwgezB4N2UsMHhjNiwweDA4LDB4YTgsMHgwMiwweDJjLDB4MDEsMHhiYiwweDAwLDB4MjYsMHgzMCwweDRlLDB4MjAsMHgwMywweDRjLDB4MTggfX0sCi0gezE2LCAweDhiYjAsIDAsIHsweDk5LDB4ODAsMHhiNCwweDQwLDB4NGMsMHgzYSwweDAzLDB4NDAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4YmMwLCAwLCB7MHhlMCwweDAxLDB4YjIsMHgwMCwweGZkLDB4YzUsMHgzYiwweGMwLDB4NGMsMHhkMCwweDAzLDB4NmEsMHgwMiwweGVkLDB4MDYsMHgzMyB9fSwKLSB7MTYsIDB4OGJkMCwgMCwgezB4YzQsMHgwZiwweGQwLDB4NTMsMHhmOCwweDAwLDB4ZmMsMHg5MCwweDdmLDB4YzEsMHgwZiwweDc4LDB4MDMsMHhiYywweDA0LDB4ZmYgfX0sCi0gezE2LCAweDhiZTAsIDAsIHsweDAwLDB4MzcsMHg2NCwweDBjLDB4ZjEsMHgwMywweGE0LDB4MDAsMHhlZCwweGExLDB4M2IsMHg0MCwweDBiLDB4ZjAsMHg4MywweGI4IH19LAotIHsxNiwgMHg4YmYwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweDhjLDB4MDAsMHhjYiwweDIwLDB4M2UsMHg3MSB9fSwKLSB7MTYsIDB4OGMwMCwgMCwgezB4MGYsMHhiMywweDAzLDB4OTgsMHgwMiwweGZiLDB4MDIsMHgzNiwweDQ4LDB4MGYsMHg5MCwweDAzLDB4ZWMsMHgyMCwweGY4LDB4MDAgfX0sCi0gezE2LCAweDhjMTAsIDAsIHsweDNlLDB4Y2MsMHgwNCwweDg0LDB4MDMsMHgyYywweDAwLDB4ZGIsMHgwNCwweDNjLDB4MTAsMHgwZiwweGEwLDB4MDMsMHhlYywweDAwIH19LAotIHsxNiwgMHg4YzIwLCAwLCB7MHg5YiwweDAwLDB4MzIsMHg0MCwweDBjLDB4OTAsMHgwMywweGQwLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OGMzMCwgMCwgezB4ODgsMHgwNSwweDJjLDB4MDIsMHg4YiwweDQ4LDB4MmUsMHhlMCwweDBiLDB4MzQsMHgwMywweDZiLDB4MDAsMHg4YiwweGY1LDB4MjIgfX0sCi0gezE2LCAweDhjNDAsIDAsIHsweGYyLDB4MGIsMHg5YywweDAzLDB4YWYsMHgwMCwweGI4LDB4NTAsMHgyZSwweGMwLDB4MDgsMHhiMCwweDAyLDB4N2MsMHgwMCwweDhmIH19LAotIHsxNiwgMHg4YzUwLCAwLCB7MHgwMCwweDBlLDB4NWQsMHgwYiwweDgwLDB4MDIsMHhmNSwweDQwLDB4ODMsMHg1MCwweDIzLDB4NTQsMHgwOCwweDljLDB4MDIsMHhlNiB9fSwKLSB7MTYsIDB4OGM2MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDQsMHg0YywweDAwLDB4ODEsMHg4MSwweDJlLDB4NDAgfX0sCi0gezE2LCAweDhjNzAsIDAsIHsweDAzLDB4MmMsMHgwMiwweDA0LDB4MzMsMHg5OSwweDAwLDB4MjAsMHhmMCwweDRhLDB4MjgsMHg4MCwweGNjLDB4NDAsMHhiMCwweDAwIH19LAotIHsxNiwgMHg4YzgwLCAwLCB7MHgyNiwweDEwLDB4MDgsMHgyMCwweDAyLDB4NGMsMHgwMCwweDgzLDB4MDAsMHgyYywweGMwLDB4MDksMHgyMCwweDAyLDB4Y2MsMHgwMCB9fSwKLSB7MTYsIDB4OGM5MCwgMCwgezB4YTAsMHgwMiwweDI4LDB4NDAsMHgwOCwweDA4LDB4MDIsMHg3YSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDhjYTAsIDAsIHsweDIwLDB4MDEsMHgwYSwweDAwLDB4ODUsMHg4MCwweDJkLDB4ZjgsMHgwYiwweGRhLDB4MDIsMHhkNiwweDQwLDB4ODUsMHhhMCwweDIxIH19LAotIHsxNiwgMHg4Y2IwLCAwLCB7MHhlMCwweDBiLDB4NDgsMHgwNiwweDkyLDB4MDQsMHhiNSwweDgwLDB4MmQsMHgyMSwweDA4LDB4MDAsMHgwMiwweDRlLDB4MDAsMHg4NyB9fSwKLSB7MTYsIDB4OGNjMCwgMCwgezB4YTQsMHgyZCwweDYwLDB4MGIsMHg2OCwweDAyLDB4ZGUsMHhjMiwweGFkLDB4OTAsMHgyYiwweDYwLDB4MjgsMHg1OCwweDgyLDB4ZGMgfX0sCi0gezE2LCAweDhjZDAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4NGMsMHg0MCwweGMzLDB4MTAsMHgyYywweDZjIH19LAotIHsxNiwgMHg4Y2UwLCAwLCB7MHgwZiwweDMwLDB4MDMsMHg4NiwweGEyLDB4ZjksMHhiMCwweGIwLDB4ZTAsMHgwZiwweDI5LDB4ODMsMHhjZSwweDQ0LDB4ZjMsMHg4MCB9fSwKLSB7MTYsIDB4OGNmMCwgMCwgezB4M2MsMHhhYywweDBjLDB4MzAsMHgwMywweDBjLDB4MDAsMHhjMywweDAwLDB4M2MsMHhkNSwweDBmLDB4MjAsMHgwMywweGNlLDB4YzEgfX0sCi0gezE2LCAweDhkMDAsIDAsIHsweGUwLDB4MTAsMHhiOCwweDQwLDB4MGMsMHgwMCwweDAzLDB4ZDIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4ZDEwLCAwLCB7MHhjMCwweDFkLDB4YmMsMHgwMCwweGViLDB4MDAsMHgzZSwweGNjLDB4MGYsMHgzMiwweDAzLDB4NjQsMHgwOCwweGY5LDB4MDAsMHgzYiB9fSwKLSB7MTYsIDB4OGQyMCwgMCwgezB4OTAsMHgwZiwweGYwLDB4NDMsMHhlNCwweDQwLDB4ZmIsMHgzNCwweDNmLDB4ODEsMHgwNywweGQxLDB4MDMsMHhhZCwweDIwLDB4ZWIgfX0sCi0gezE2LCAweDhkMzAsIDAsIHsweDIwLDB4N2YsMHhjNCwweDBmLDB4ZTEsMHgwMywweGZjLDB4NTAsMHhjZCwweDEwLDB4MzUsMHg0MCwweDBmLDB4ZDAsMHgwMywweGQwIH19LAotIHsxNiwgMHg4ZDQwLCAwLCB7MHgwMiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGU0LDB4MDQsMHhmZCwweDA0LDB4M2QsMHg0MCB9fSwKLSB7MTYsIDB4OGQ1MCwgMCwgezB4MmQsMHgzMCwweDAyLDB4M2MsMHgwMCwweGM5LDB4MDEsMHgzZSwweGMwLDB4NGYsMHhiOCwweDQzLDB4ZWMsMHgxMCwweGZiLDB4MDAgfX0sCi0gezE2LCAweDhkNjAsIDAsIHsweDMyLDB4NDAsMHgwZiwweGEwLDB4MjMsMHhlYywweDgwLDB4Y2IsMHgzNiwweDMyLDB4ODAsMHg0ZCwweGE4LDB4MDMsMHgyYywweDEwIH19LAotIHsxNiwgMHg4ZDcwLCAwLCB7MHhjYiwweDAwLDB4MzIsMHg0MCwweDBjLDB4OTAsMHgwMywweDZhLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OGQ4MCwgMCwgezB4YzgsMHgxMSwweDkwLDB4MDgsMHhiNSwweDAwLDB4MmQsMHhjMCwweDA4LDB4NTAsMHgwMiwweGJjLDB4MDIsMHg4NSwweDA0LDB4MmQgfX0sCi0gezE2LCAweDhkOTAsIDAsIHsweGMwLDB4OGUsMHg2MCwweDA2LDB4ZDgsMHgwNCwweGI3LDB4MDQsMHgyMSwweDQwLDB4MGIsMHg3MCwweDAyLDB4ZmMsMHg4MCwweGFmIH19LAotIHsxNiwgMHg4ZGEwLCAwLCB7MHgyOCwweDIxLDB4YzAsMHgwYiwweDcwLDB4MDIsMHgwNiwweDQwLDB4ODcsMHgwMCwweDIxLDB4NTAsMHgwOCwweDUwLDB4MDIsMHgzMiB9fSwKLSB7MTYsIDB4OGRiMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDAsMHg5ZSwweDIwLDB4YjcsMHg4MCwweDJiLDB4NzAgfX0sCi0gezE2LCAweDhkYzAsIDAsIHsweDA4LDB4ZjgsMHgwNiwweDFlLDB4MDAsMHg4NywweDgwLDB4MmQsMHhlMCwweDBiLDB4NzAsMHgzMiwweGRlLDB4MDQsMHgzNywweDg0IH19LAotIHsxNiwgMHg4ZGQwLCAwLCB7MHgyNSwweGUwLDB4MGIsMHg2OCwweDA2LDB4ZGUsMHg4MCwweDg3LDB4ODAsMHgyMSwweGExLDB4MWIsMHg2OCwweDAyLDB4MWUsMHg0MCB9fSwKLSB7MTYsIDB4OGRlMCwgMCwgezB4OWYsMHg4MCwweDIwLDB4NjAsMHgwOCwweDU4LDB4MDIsMHgyMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDhkZjAsIDAsIHsweDQ4LDB4MTQsMHhjYywweDIwLDB4YjMsMHgwMCwweDJjLDB4ODAsMHg4OCwweGI0LDB4MjIsMHg4ZCwweDAwLDB4ODMsMHg5MCwweDJjIH19LAotIHsxNiwgMHg4ZTAwLCAwLCB7MHhjMCwweDBhLDB4MzgsMHgwMiwweGNlLDB4MDgsMHhiYiwweDIwLDB4MjQsMHhkMCwweDBiLDB4YjMsMHgwMiwweGNjLDB4MDAsMHhhMyB9fSwKLSB7MTYsIDB4OGUxMCwgMCwgezB4MDAsMHg2MCwweGQyLDB4MGIsMHgyMCwweDJhLDB4MDQsMHgwOCwweDkzLDB4NTAsMHgyMCwweDQwLDB4MDgsMHgxNywweDBhLDB4MDIgfX0sCi0gezE2LCAweDhlMjAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YmEsMHgwMCwweGJhLDB4YTAsMHgzZiwweDg0IH19LAotIHsxNiwgMHg4ZTMwLCAwLCB7MHgxYywweGUwLDB4MGIsMHgzOCwweDQwLDB4OGUsMHgwNiwweDJlLDB4ODAsMHgwYiwweGUzLDB4MDMsMHhmOCwweDgwLDB4ZmUsMHhlNCB9fSwKLSB7MTYsIDB4OGU0MCwgMCwgezB4YjcsMHg5MCwweDBmLDB4ZWMsMHgwMiwweGU4LDB4MDAsMHg4YSwweDAwLDB4YTMsMHhhMCwweDA5LDB4ZTQsMHgwMywweDJhLDB4MDIgfX0sCi0gezE2LCAweDhlNTAsIDAsIHsweGRlLDB4YzAsMHhmMywweDgwLDB4MGMsMHg2YywweDAzLDB4M2EsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4ZTYwLCAwLCB7MHg0OCwweDAxLDB4ZTAsMHgwMCwweGY4LDB4NDAsMHgzZSwweDAwLDB4MGYsMHg4NCwweDEzLDB4ZTAsMHgwMCwweGY4LDB4MDAsMHgyZSB9fSwKLSB7MTYsIDB4OGU3MCwgMCwgezB4MzAsMHgwYSwweDg0LDB4MDMsMHhlMCwweDA0LDB4ZjgsMHgwMCwweDNhLDB4MDIsMHgwZiwweDgwLDB4MTMsMHhlMCwweDAwLDB4ZjggfX0sCi0gezE2LCAweDhlODAsIDAsIHsweDAwLDB4M2UsMHgwNCwweDBkLDB4ODAsMHg4MywweGUwLDB4NDAsMHhlOCwweDIwLDB4M2UsMHgwMCwweDJmLDB4ODAsMHgwMywweGQyIH19LAotIHsxNiwgMHg4ZTkwLCAwLCB7MHgxMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGE0LDB4MDAsMHhmOSwweDAwLDB4M2MsMHg2NCB9fSwKLSB7MTYsIDB4OGVhMCwgMCwgezB4NGUsMHg5MCwweDgzLDB4MjQsMHg4MCwweGM5LDB4MDAsMHgzMiwweGUwLDB4MGYsMHgxMCwweDAzLDB4MjUsMHgwMCwweGY5LDB4MDAgfX0sCi0gezE2LCAweDhlYjAsIDAsIHsweDMyLDB4NDQsMHgwZiwweDkyLDB4MjMsMHg2NCwweDAwLDB4YzEsMHgwMCwweDMyLDB4NDAsMHgwYywweDkwLDB4MTMsMHhlNCwweDAwIH19LAotIHsxNiwgMHg4ZWMwLCAwLCB7MHhjOSwweDAwLDB4MjIsMHg0MCwweDBjLDB4OTAsMHgwMywweDAyLDB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OGVkMCwgMCwgezB4ODAsMHgwNCwweDY0LDB4MDAsMHhiOSwweDIwLDB4MmUsMHg0MCwweDQ4LDB4OTYsMHgyMiwweDI1LDB4MDAsMHhkOSwweGMwLDB4YTIgfX0sCi0gezE2LCAweDhlZTAsIDAsIHsweDcwLDB4MGIsMHg5OCwweDAyLDB4MjQsMHgwMCwweGI5LDB4NDAsMHhhMiwweDcwLDB4NGIsMHg5MCwweDAyLDB4MjQsMHgwMCwweGQ5IH19LAotIHsxNiwgMHg4ZWYwLCAwLCB7MHgwMCwweGEyLDB4NDAsMHgyYywweDk0LDB4MjIsMHhlNCwweDAyLDB4ODksMHgwMCwweGEyLDB4NDAsMHgyOCwweDk0LDB4MTMsMHgyMCB9fSwKLSB7MTYsIDB4OGYwMCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDEsMHgyNCwweDAwLDB4YjksMHgwMCwweDJlLDB4NDAgfX0sCi0gezE2LCAweDhmMTAsIDAsIHsweDBhLDB4OTAsMHgwMiwweDA0LDB4MDAsMHg4MSwweDgwLDB4YTIsMHg0NCwweDBiLDB4OTEsMHgwMiwweDI1LDB4MDAsMHgxOSwweDQwIH19LAotIHsxNiwgMHg4ZjIwLCAwLCB7MHg2MiwweDQwLDB4MGIsMHhiNCwweDAyLDB4NDQsMHgwMCwweDg5LDB4MDAsMHgyMCwweDQwLDB4MDgsMHg5MCwweDgyLDB4YzQsMHgwMSB9fSwKLSB7MTYsIDB4OGYzMCwgMCwgezB4ODMsMHgwMiwweDI4LDB4NDAsMHg0OCwweDkwLDB4ODIsMHgwNiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDhmNDAsIDAsIHsweDAwLDB4MDQsMHgwNSwweDgwLDB4YjEsMHgwMCwweDZjLDB4NTEsMHgwOCwweDE0LDB4MWEsMHgwNSwweDAwLDB4OTMsMHgwMCwweDIwIH19LAotIHsxNiwgMHg4ZjUwLCAwLCB7MHg0MCwweDhiLDB4MTQsMHgwMiwweDA1LDB4MDAsMHhiMSwweDIwLDB4MjAsMHg1MCwweDBiLDB4MTQsMHgwNiwweDA0LDB4ODAsMHg5MSB9fSwKLSB7MTYsIDB4OGY2MCwgMCwgezB4MjAsMHgyMCwweDQwLDB4MDksMHgxMCwweDAyLDB4YzQsMHhhOCwweDgxLDB4MDAsMHgyOCwweDRhLDB4MDgsMHg5MCwweDRhLDB4NDIgfX0sCi0gezE2LCAweDhmNzAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjAsMHgwMCwweGY4LDB4MDAsMHgzZSwweDAwIH19LAotIHsxNiwgMHg4ZjgwLCAwLCB7MHgwZSwweDgwLDB4MDMsMHgyOCwweDAxLDB4YzgsMHg1MCwweDMyLDB4OTQsMHg4YiwweGEwLDB4MDMsMHgyMCwweDAwLDB4YjAsMHg1MCB9fSwKLSB7MTYsIDB4OGY5MCwgMCwgezB4MzIsMHg4MCwweDBmLDB4ODAsMHgwNywweDYxLDB4NTEsMHhjOCwweDUwLDB4MjIsMHgwMCwweDBjLDB4MDAsMHgwMywweGUwLDB4ODQgfX0sCi0gezE2LCAweDhmYTAsIDAsIHsweGM4LDB4MDQsMHgzYSwweDA4LDB4MGMsMHgwMCwweDAzLDB4MmUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4ZmIwLCAwLCB7MHg5OCwweDlkLDB4ZjQsMHg0MCwweGJkLDB4NDEsMHgzZiwweDUwLDB4MGYsMHhmNCwweDAzLDB4ZjUsMHgxMCwweGZkLDB4MDAsMHgzZSB9fSwKLSB7MTYsIDB4OGZjMCwgMCwgezB4NDAsMHgwZiwweGQ0LDB4MDMsMHhmNCwweDAwLDB4ZmYsMHgxMCwweDJmLDB4NDAsMHg0ZiwweGQ0LDB4NDAsMHhhNCwweDQ4LDB4ZjkgfX0sCi0gezE2LCAweDhmZDAsIDAsIHsweDEyLDB4M2YsMHg1YSwweDhlLDB4ZDIsMHg4MywweGY0LDB4YTgsMHhmNSwweDJjLDB4MzcsMHg0YSwweDBmLDB4ZDIsMHg4MywweGE2IH19LAotIHsxNiwgMHg4ZmUwLCAwLCB7MHgxMiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweGU2LDB4ODAsMHhmZCwweDI4LDB4M2YsMHg0YyB9fSwKLSB7MTYsIDB4OGZmMCwgMCwgezB4MGYsMHg1MCwweDAzLDB4M2MsMHg0NCwweGNkLDB4NDAsMHgzZiwweGQwLDB4MGQsMHhkMCwweDAyLDB4MTQsMHgwMSwweGZkLDB4YTAgfX0sCi0gezE2LCAweDkwMDAsIDAsIHsweDMxLDB4NDAsMHgwMywweGQwLDB4MDMsMHhlNywweDg5LDB4ZjksMHg5MCwweDdlLDB4NTAsMHgwYywweDk0LDB4MDMsMHhlNiwweGMwIH19LAotIHsxNiwgMHg5MDEwLCAwLCB7MHhjOSwweDEwLDB4MzIsMHg2ZCwweDBmLDB4OTEsMHgwMiwweGM2LDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTAyMCwgMCwgezB4MzgsMHgxMCwweGUwLDB4ODAsMHhiOCwweDAxLDB4MmUsMHgwYywweDhiLDB4ODQsMHg4MiwweDIwLDB4NDIsMHg4OCwweGEwLDB4NmUgfX0sCi0gezE2LCAweDkwMzAsIDAsIHsweDIwLDB4MDgsMHg4MCwweDAzLDB4NjAsMHgwMCwweDk4LDB4ZTgsMHgyMiwweDAwLDB4MDksMHg4MCwweDAyLDB4ZTMsMHhjMCwweGU4IH19LAotIHsxNiwgMHg5MDQwLCAwLCB7MHhkMCwweDJlLDB4MjgsMHgwOCwweDhhLDB4MjMsMHhlMiwweDg0LDB4ZDgsMHhhMCwweDIyLDB4M2QsMHgwYiwweGM4LDB4MDIsMHhjZSB9fSwKLSB7MTYsIDB4OTA1MCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDUsMHhjNSwweGIwLDB4YjEsMHgwMCwweDJjLDB4NDggfX0sCi0gezE2LCAweDkwNjAsIDAsIHsweDBiLDB4MTMsMHgwMiwweDA0LDB4MDIsMHhiMSwweDIwLDB4MmUsMHg0MCwweDg4LDB4MTAsMHgyMiwweGM0LDB4MDAsMHhiMSwweDE0IH19LAotIHsxNiwgMHg5MDcwLCAwLCB7MHgyNCwweDQwLDB4MGIsMHgxMCwweDUyLDB4YzQsMHgwMCwweGIxLDB4MjEsMHgyZCwweDQ4LDB4MGEsMHg1MiwweDAyLDB4ZDUsMHgwMCB9fSwKLSB7MTYsIDB4OTA4MCwgMCwgezB4YmQsMHgwMCwweGFkLDB4NDAsMHgwYiwweDUyLDB4MDIsMHhkMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDkwOTAsIDAsIHsweDE4LDB4NTUsMHhhNSwweDAwLDB4YjksMHg4MiwweDJlLDB4NDksMHg4YiwweGIwLDB4MTIsMHgyNCwweDEwLDB4OTksMHgwMiwweDJlIH19LAotIHsxNiwgMHg5MGEwLCAwLCB7MHg0MCwweDA4LDB4YjIsMHgwMCwweDY1LDB4MDAsMHg5OSwweDgwLDB4MjYsMHg0NCwweDA5LDB4OTEsMHgwMiwweGU0LDB4MDksMHhhOSB9fSwKLSB7MTYsIDB4OTBiMCwgMCwgezB4MDQsMHgyZSwweDQ2LDB4MGEsMHhkNCwweDAyLDB4YjQsMHgwMCwweGJkLDB4NDAsMHgyZiwweDQwLDB4MGIsMHhkMCwweDAyLDB4YzYgfX0sCi0gezE2LCAweDkwYzAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4ZTcsMHg0MCwweGY5LDB4ODAsMHgyZSwweDYyIH19LAotIHsxNiwgMHg5MGQwLCAwLCB7MHgwZiwweDljLDB4NDIsMHgyNCwweDAwLDB4OTksMHgwMSwweDJlLDB4NjgsMHgyYywweDkyLDB4MDIsMHg2NCwweDAwLDB4YjksMHg0MCB9fSwKLSB7MTYsIDB4OTBlMCwgMCwgezB4YjYsMHg2MCwweDBmLDB4OWEsMHgwMywweGU0LDB4MDAsMHhiOSwweDAwLDB4MmUsMHg3MCwweDNlLDB4OTksMHgwNiwweGU0LDB4MDIgfX0sCi0gezE2LCAweDkwZjAsIDAsIHsweGY5LDB4MDAsMHgzZSwweDQwLDB4MGYsMHg5OCwweDAzLDB4ZTgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5MTAwLCAwLCB7MHg2OCwweDAxLDB4YTYsMHgwMCwweGY5LDB4MDAsMHgzZSwweDQwLDB4MWYsMHgxMiwweGFiLDB4ZTQsMHgwMCwweGU5LDB4OTAsMHgzZSB9fSwKLSB7MTYsIDB4OTExMCwgMCwgezB4NDksMHgwZSwweDk4LDB4MDMsMHhlNCwweDAwLDB4ZjEsMHgwMCwweDNhLDB4NDAsMHgwZCwweDk4LDB4MDMsMHhlNCwweDAwLDB4ZjkgfX0sCi0gezE2LCAweDkxMjAsIDAsIHsweDAxLDB4M2UsMHg2MCwweDA1LDB4OTAsMHgxMywweGU0LDB4MDAsMHg1OSwweDIwLDB4MzIsMHg0MCwweDhmLDB4OTEsMHgwMywweGRhIH19LAotIHsxNiwgMHg5MTMwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NjgsMHgxMCwweGEwLDB4MDAsMHhjOCwweDA4LDB4M2UsMHgwMSB9fSwKLSB7MTYsIDB4OTE0MCwgMCwgezB4MGYsMHg4NCwweDYzLDB4MDAsMHgyMiwweGU4LDB4MjAsMHgzZSwweDEzLDB4MGYsMHg4NCwweDAzLDB4ZTEsMHhjMCwweGQ4LDB4NGMgfX0sCi0gezE2LCAweDkxNTAsIDAsIHsweDMyLDB4MDAsMHgwYywweDg0LDB4NDMsMHhlMCwweDAwLDB4ZjgsMHgwMCwweDIyLDB4MTAsMHgwZiwweDg0LDB4MDMsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5MTYwLCAwLCB7MHhjOCwweDAwLDB4YjIsMHgwMCwweDBjLDB4YzAsMHgwMywweDBhLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTE3MCwgMCwgezB4MjgsMHgwNSwweDI4LDB4MDAsMHg4ZSwweDAwLDB4MmYsMHg4NiwweDRiLDB4ZTAsMHgwMiwweDM5LDB4MDgsMHg4ZSwweDIwLDB4MmQgfX0sCi0gezE2LCAweDkxODAsIDAsIHsweDkwLDB4MGIsMHhlZCwweDkyLDB4ZjgsMHgwMiwweDhlLDB4ZTAsMHhhMywweDk4LDB4MDgsMHhlMCwweDAyLDB4ZTgsMHgwOCwweGJhIH19LAotIHsxNiwgMHg5MTkwLCAwLCB7MHgwMCwweDYyLDB4ODAsMHgwOCwweGEwLDB4MDIsMHgyOCwweDAwLDB4MDIsMHg4MCwweDAyLDB4ODAsMHg0OCwweGUwLDB4MDMsMHg0YSB9fSwKLSB7MTYsIDB4OTFhMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDY4LDB4MDUsMHg0YywweDAwLDB4ODMsMHgxMCwweDJjLDB4ZjAgfX0sCi0gezE2LCAweDkxYjAsIDAsIHsweDBhLDB4MTQsMHgyYSwweDBkLDB4MWEsMHhiMywweDAxLDB4MjQsMHhkMCwweDBiLDB4YmMsMHgzMiwweGNjLDB4MDgsMHgwMywweDAwIH19LAotIHsxNiwgMHg5MWMwLCAwLCB7MHgyMCwweGM4LDB4MGIsMHgzMCwweDAyLDB4Y2MsMHgwMCwweGIzLDB4MDIsMHgyMiwweGMwLDB4MDksMHgzMCwweDAyLDB4MGMsMHgxMSB9fSwKLSB7MTYsIDB4OTFkMCwgMCwgezB4ODMsMHgwMCwweDIwLDB4YzAsMHgyOCwweDIwLDB4MDIsMHgwYSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDkxZTAsIDAsIHsweDIwLDB4MDEsMHgxZSwweDAxLDB4ODUsMHgwMCwweDJkLDB4MDAsMHgwYiwweDcwLDB4MDIsMHgxOCwweDMyLDB4ODYsMHgwMCwweDJkIH19LAotIHsxNiwgMHg5MWYwLCAwLCB7MHhjMCwweDBiLDB4NjAsMHgxNiwweGZlLDB4MDQsMHg4NiwweDAwLDB4MjcsMHhhMCwweDhiLDB4NzAsMHg0MiwweGRjLDB4ODAsMHhiNyB9fSwKLSB7MTYsIDB4OTIwMCwgMCwgezB4ODAsMHgyMSwweDAxLDB4MDgsMHhmOCwweDBhLDB4MTgsMHgwMCwweDg2LDB4MDgsMHgyMCwweGEwLDB4MDgsMHhlOCwweDBhLDB4NjggfX0sCi0gezE2LCAweDkyMTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA4LDB4M2UsMHgwMiwweGM2LDB4ODAsMHgzZCwweGUwIH19LAotIHsxNiwgMHg5MjIwLCAwLCB7MHgwZiwweDQ4LDB4MDMsMHgwNiwweDA0LDB4ZjUsMHg4MiwweDM1LDB4ZTAsMHgwZiwweDc4LDB4MDMsMHhkYSwweDAwLDB4ZDMsMHg4MCB9fSwKLSB7MTYsIDB4OTIzMCwgMCwgezB4MzEsMHg2MCwweDA3LDB4NzgsMHgwMywweGRlLDB4MjAsMHhmMywweGIwLDB4ODEsMHhlMCwweDRmLDB4NjgsMHgwNywweDBlLDB4MDIgfX0sCi0gezE2LCAweDkyNDAsIDAsIHsweGNmLDB4ODAsMHgzMSwweGUwLDB4MGMsMHg3OCwweDEzLDB4MmEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5MjUwLCAwLCB7MHgwOCwweDFkLDB4YWQsMHhhMCwweGY5LDB4MDAsMHgzZiwweDAwLDB4MGYsMHhiMCwweDUzLDB4ZjgsMHgxMCwweGE5LDB4MDAsMHgzZSB9fSwKLSB7MTYsIDB4OTI2MCwgMCwgezB4MDAsMHgwZiwweDgwLDB4MDEsMHhlYywweDAwLDB4ZmIsMHgwMiwweDNhLDB4YzAsMHgwYywweGIwLDB4MDMsMHhlYywweDAwLDB4ZmIgfX0sCi0gezE2LCAweDkyNzAsIDAsIHsweDc0LDB4M2MsMHgwMCwweDBmLDB4MjAsMHgwMywweGU4LDB4MDAsMHhmYSwweDAwLDB4M2UsMHg4MCwweDBmLDB4MzAsMHgwMywweGMyIH19LAotIHsxNiwgMHg5MjgwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwNSwweGZlLDB4MDIsMHg4ZiwweDgwLDB4MzUsMHhlMCB9fSwKLSB7MTYsIDB4OTI5MCwgMCwgezB4OGQsMHhkOSwweDAzLDB4MmUsMHhjNCwweGY2LDB4ODAsMHgzMiwweGE0LDB4MGMsMHhiOCwweDAzLDB4ZGUsMHgwMCwweGNmLDB4OTAgfX0sCi0gezE2LCAweDkyYTAsIDAsIHsweDNjLDB4ZTQsMHgwYywweGI4LDB4MDMsMHhmZSwweDY1LDB4ZmYsMHg4MCwweDBmLDB4ZWMsMHg4ZiwweGY4LDB4MDMsMHhmZSwweDAwIH19LAotIHsxNiwgMHg5MmIwLCAwLCB7MHhjNSwweDgwLDB4MzMsMHhlMCwweDBmLDB4NjgsMHgwMywweDEwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTJjMCwgMCwgezB4YWEsMHgxMSwweDljLDB4ODAsMHg4NCwweGIwLDB4MjAsMHgyMCwweDI5LDB4NzMsMHgwYSwweDBlLDB4ODIsMHhhMiwweGEwLDB4YTIgfX0sCi0gezE2LCAweDkyZDAsIDAsIHsweGEwLDB4NGYsMHgzYiwweDAzLDB4ODcsMHg4NCwweGIyLDB4ODAsMHgyYywweGEwLDB4MGEsMHg3ZCwweDAyLDB4ZGUsMHg4MCwweGY3IH19LAotIHsxNiwgMHg5MmUwLCAwLCB7MHgyMCwweDI1LDB4MDYsMHgwOCwweDcwLDB4MDIsMHhjOCwweDQwLDB4ODQsMHgwMCwweDM1LDB4ODAsMHgwYiwweDYwLDB4MDMsMHg2YSB9fSwKLSB7MTYsIDB4OTJmMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5YywweDEwLDB4ODYsMHgzOCwweDI3LDB4YzAgfX0sCi0gezE2LCAweDkzMDAsIDAsIHsweDQ5LDB4NTQsMHgwNiwweDU0LDB4NDAsMHgxZCwweDIwLDB4MjEsMHhjYSwweDA5LDB4NjEsMHg0MCwweGY4LDB4ODAsMHhiNywweDIwIH19LAotIHsxNiwgMHg5MzEwLCAwLCB7MHgyZiwweDAwLDB4ODksMHg3MCwweDEyLDB4ZGMsMHg4MSwweGI3LDB4MDQsMHgyZCwweGM5LDB4MGEsMHg2MCwweDAyLDB4Y2MsMHgwMCB9fSwKLSB7MTYsIDB4OTMyMCwgMCwgezB4OGQsMHgwMCwweDJkLDB4YzAsMHgwYiwweGY4LDB4MDIsMHgwNCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDkzMzAsIDAsIHsweDYwLDB4MTQsMHhjZCwweDI4LDB4ODAsMHgwMCwweDI0LDB4MDAsMHgwOSwweGIwLDB4MjIsMHg0YywweDAyLDB4YTEsMHgwMSwweDIwIH19LAotIHsxNiwgMHg5MzQwLCAwLCB7MHgzMCwweDFiLDB4MjMsMHgwMiwweGFmLDB4MjAsMHhiMywweDA4LDB4MmMsMHg4MCwweDFiLDB4MzAsMHgwMCwweGNjLDB4MDQsMHhhMyB9fSwKLSB7MTYsIDB4OTM1MCwgMCwgezB4MDEsMHgyNiwweDMwLDB4MDgsMHhhYywweDIyLDB4ZTgsMHgwMiwweDgwLDB4MDgsMHgyZSwweDgwLDB4NGIsMHhiNCwweDAyLDB4NTggfX0sCi0gezE2LCAweDkzNjAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YmMsMHgxMCwweDhiLDB4ODAsMHgzNiwweGYwIH19LAotIHsxNiwgMHg5MzcwLCAwLCB7MHgyZCwweGJjLDB4MGIsMHg2YywweDAxLDB4ZGEsMHgwNCwweDIyLDB4NDAsMHg3ZCwweDk0LDB4MjIsMHhlNCwweDAwLDB4YWIsMHg0NCB9fSwKLSB7MTYsIDB4OTM4MCwgMCwgezB4MmUsMHhjMCwweDA5LDB4YjgsMHgwMiwweGZjLDB4MDAsMHhiZiwweDAwLDB4M2UsMHhmMCwweGNhLDB4OTIsMHgwMiwweGU0LDB4MDIgfX0sCi0gezE2LCAweDkzOTAsIDAsIHsweGNiLDB4MDAsMHg2ZSwweDQwLDB4MGYsMHg4NCwweDAxLDB4MmUsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5M2EwLCAwLCB7MHg4MCwweDAwLDB4ZWMsMHgwMCwweGZiLDB4MDAsMHgzYSwweGUwLDB4MmUsMHhiYywweDAzLDB4OTgsMHgwOCwweGVhLDB4NDAsMHgzNiB9fSwKLSB7MTYsIDB4OTNiMCwgMCwgezB4NDMsMHg4YywweDkwLDB4MDMsMHhhNCwweDQ0LDB4MmEsMHg0MCwweDNlLDB4MTAsMHgwZSwweGI1LDB4ODMsMHhlYywweDE0LDB4ZmIgfX0sCi0gezE2LCAweDkzYzAsIDAsIHsweDAwLDB4MjYsMHgwMCwweDBlLDB4OTIsMHgwMywweGUwLDB4NDAsMHhmYSwweDAwLDB4MTYsMHgwMCwweDBmLDB4ODAsMHgxMywweGUwIH19LAotIHsxNiwgMHg5M2QwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGVjLDB4MDIsMHhmYSwweDgwLDB4M2YsMHhlMiB9fSwKLSB7MTYsIDB4OTNlMCwgMCwgezB4MGYsMHhiMCwweDBiLDB4MjQsMHgwMCwweGVmLDB4OTIsMHhiYiwweGUwLDB4MWMsMHhkMCwweDAzLDB4NzQsMHgwMCwweGNmLDB4MDUgfX0sCi0gezE2LCAweDkzZjAsIDAsIHsweDNiLDB4NDAsMHgwZiwweGM4LDB4MDMsMHg1YywweDAwLDB4Y2YsMHgwMCwweDMyLDB4YzIsMHg0ZCwweGMxLDB4MjMsMHgzNCwweDQwIH19LAotIHsxNiwgMHg5NDAwLCAwLCB7MHhjZiwweDAwLDB4MTcsMHg0NCwweDBjLDB4ZDEsMHg4MywweDAwLDB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTQxMCwgMCwgezB4ODEsMHgwNCwweDZjLDB4MDAsMHg4YiwweDg0LDB4MmUsMHg1NCwweDBiLDB4YmMsMHgwYSwweDI5LDB4ODAsMHg4YiwweDgwLDB4MzIgfX0sCi0gezE2LCAweDk0MjAsIDAsIHsweDAwLDB4MDgsMHg5YywweDAzLDB4YTcsMHgwMCwweGFiLDB4ODQsMHgyZSwweDdjLDB4MGIsMHg4MCwweDAyLDB4MmMsMHgxMCwweGRiIH19LAotIHsxNiwgMHg5NDMwLCAwLCB7MHgwMSwweDM2LDB4MDAsMHgwOCwweDgwLDB4MDIsMHgyMCwweDAwLDB4ODIsMHgwMCwweDIyLDB4MDAsMHgwOCwweDkwLDB4MDIsMHgyNCB9fSwKLSB7MTYsIDB4OTQ0MCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgwYywweDAwLDB4ODksMHgxMCwweDY2LDB4OTAgfX0sCi0gezE2LCAweDk0NTAsIDAsIHsweDBiLDB4YjgsMHgwMiwweDZlLDB4MTIsMHhhMywweDQxLDB4MjAsMHgwNCwweDBhLDB4OTgsMHgyMiwweGUyLDB4MDAsMHg4OSwweDE5IH19LAotIHsxNiwgMHg5NDYwLCAwLCB7MHgyZSwweGMwLDB4NGIsMHgzMSwweDIyLDB4NmMsMHgwOCwweDgzLDB4MDAsMHgyMiwweGMwLDB4MDksMHg5MCwweDAyLDB4MjQsMHgwMCB9fSwKLSB7MTYsIDB4OTQ3MCwgMCwgezB4ODksMHgwMCwweDJhLDB4NDAsMHgwOCwweDgwLDB4MDIsMHgyMCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDk0ODAsIDAsIHsweDA4LDB4MTAsMHgwYywweDAwLDB4ODAsMHgyMCwweDJjLDB4MGUsMHgxYiwweDMwLDB4MDIsMHgwNCwweDQxLDB4ODAsMHgyMCwweDIwIH19LAotIHsxNiwgMHg5NDkwLCAwLCB7MHgxMiwweDE4LDB4MTYsMHg0MiwweDAwLDB4NTAsMHhhMCwweDQwLDB4MmMsMHg4OCwweDFiLDB4MzAsMHgwMiwweDBjLDB4ODEsMHg5MyB9fSwKLSB7MTYsIDB4OTRhMCwgMCwgezB4MDAsMHgyNCwweDAwLDB4MDgsMHgxMCwweDJhLDB4MDAsMHgwYSwweDg4LDB4MDAsMHgyOCwweDAwLDB4MjgsMHgwMCwweDBhLDB4MDIgfX0sCi0gezE2LCAweDk0YjAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBjLDB4N2MsMHgxMSwweGU4LDB4MDAsMHgyNiwweDk4IH19LAotIHsxNiwgMHg5NGMwLCAwLCB7MHgwZiwweGIwLDB4MTMsMHgyMSwweDBjLDB4ZWIsMHg2MCwweDNhLDB4ZDgsMHgyOCwweDg0LDB4YTIsMHhlMSwweDgwLDB4YzgsMHgyMCB9fSwKLSB7MTYsIDB4OTRkMCwgMCwgezB4M2UsMHg1ZSwweDFmLDB4ODIsMHgwMywweDdjLDB4MDAsMHhjZiwweDAwLDB4MzIsMHhjMCwweDRkLDB4ODAsMHgwNywweDI1LDB4MDAgfX0sCi0gezE2LCAweDk0ZTAsIDAsIHsweGM5LDB4MDAsMHgzMiwweDQwLDB4MGMsMHg5MCwweDAzLDB4MDAsMHgwMSwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5NGYwLCAwLCB7MHhhMSwweDExLDB4ZmMsMHgwMCwweGY4LDB4MTMsMHgxZSwweDAwLDB4MGIsMHhmMCwweDAxLDB4ZjAsMHhkMCwweGY5LDB4MTksMHgxZiB9fSwKLSB7MTYsIDB4OTUwMCwgMCwgezB4MDgsMHg0ZiwweGMwLDB4MTMsMHhhMSwweDAwLDB4ZjgsMHg2MiwweDNmLDB4YzAsMHgwYiwweGM0LDB4MDcsMHhlZCwweDAwLDB4ZmYgfX0sCi0gezE2LCAweDk1MTAsIDAsIHsweDAwLDB4M2YsMHgwMCwweDBmLDB4YzAsMHgyMywweGYwLDB4YTAsMHhmYywweDAwLDB4MzMsMHgwMCwweDBmLDB4ZDAsMHgwMywweGU4IH19LAotIHsxNiwgMHg5NTIwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGZjLDB4MDAsMHhmZiwweDBjLDB4M2YsMHgyMCB9fSwKLSB7MTYsIDB4OTUzMCwgMCwgezB4MGMsMHhjOSwweDAzLDB4MzIsMHgwMCwweGNmLDB4MzgsMHgzZiwweGQwLDB4MGYsMHg0OCwweDAzLDB4ZmMsMHhhMCwweGNlLDB4MjIgfX0sCi0gezE2LCAweDk1NDAsIDAsIHsweDMzLDB4MDAsMHgwZiwweGMxLDB4MDMsMHgzYywweDAwLDB4ZmYsMHgwMCwweDNkLDB4YzQsMHg0YywweGMwLDB4MjMsMHg4YywweGU0IH19LAotIHsxNiwgMHg5NTUwLCAwLCB7MHhmZiwweDEwLDB4MzcsMHgyMCwweDA4LDB4ZjEsMHgwMywweGYwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTU2MCwgMCwgezB4ODAsMHgxMCwweGZlLDB4MDAsMHhiZiwweDgwLDB4MmUsMHg3NCwweDA1LDB4MjIsMHgwMiwweGEyLDB4MTAsMHhkZiwweDYxLDB4MmYgfX0sCi0gezE2LCAweDk1NzAsIDAsIHsweGQwLDB4OGIsMHg5MCwweDAyLDB4M2QsMHhhNCwweGFhLDB4OTAsMHgyMiwweGY0LDB4MGIsMHgwNywweDEyLDB4MWQsMHgyMCwweGJiIH19LAotIHsxNiwgMHg5NTgwLCAwLCB7MHhjMCwweDJmLDB4ZDgsMHg4OCwweDk3LDB4ODIsMHhmZCwweDgwLDB4ZWYsMHg3MiwweDIyLDB4MDgsMHgyOCwweGY2LDB4MjMsMHhlMCB9fSwKLSB7MTYsIDB4OTU5MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjYywweDQwLDB4YjMsMHgwMCwweDJjLDB4MDAgfX0sCi0gezE2LCAweDk1YTAsIDAsIHsweDA4LDB4ODIsMHgwMiwweDIyLDB4MDAsMHg4MywweDAxLDB4MDgsMHhjYywweDhiLDB4MjAsMHg4MiwweGNjLDB4MDAsMHg5MCwweDAwIH19LAotIHsxNiwgMHg5NWIwLCAwLCB7MHgyMCwweDAwLDB4NGIsMHgxMiwweDAyLDB4MGQsMHg4MCwweGIzLDB4NDAsMHgyYywweGQ4LDB4MDgsMHgyMCwweDQyLDB4OGMsMHg4MCB9fSwKLSB7MTYsIDB4OTVjMCwgMCwgezB4YjMsMHgyMCwweDI2LDB4MDIsMHgxOCwweDMzLDB4MjYsMHhlMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDk1ZDAsIDAsIHsweGMwLDB4MTUsMHhhYywweDA5LDB4YmIsMHgwMCwweDJlLDB4NjAsMHgwOCwweDgwLDB4MDIsMHhhMiwweDAwLDB4OWIsMHgwMCwweDJlIH19LAotIHsxNiwgMHg5NWUwLCAwLCB7MHhjMCwweDBiLDB4YWMsMHgwMiwweDJjLDB4MDAsMHhiYSwweDA2LDB4MjIsMHhjMiwweDBiLDB4OTQsMHgwMiwweGFjLDB4MTAsMHhiYiB9fSwKLSB7MTYsIDB4OTVmMCwgMCwgezB4MDAsMHgyZSwweGMxLDB4MDgsMHhhOCwweDAyLDB4ZWMsMHgwMCwweGFiLDB4MDAsMHgyMiwweDAwLDB4MDgsMHhiMCwweDA2LDB4ZjAgfX0sCi0gezE2LCAweDk2MDAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5MCwweDE1LDB4ZWMsMHgwMCwweGZiLDB4MDQsMHgzZSwweDYwIH19LAotIHsxNiwgMHg5NjEwLCAwLCB7MHgyOCwweDgyLDB4MTMsMHgwZSwweDA4LDB4Y2IsMHgwMCwweDNhLDB4YzAsMHgwZiwweDhjLDB4MDMsMHhlYywweDExLDB4ZGIsMHgyMCB9fSwKLSB7MTYsIDB4OTYyMCwgMCwgezB4YjIsMHg5MCwweDRiLDB4YTgsMHgwYiwweDJjLDB4MDAsMHhiYiwweDAwLDB4MmMsMHhjMCwweDBjLDB4ODgsMHgxMywweGFjLDB4MDAgfX0sCi0gezE2LCAweDk2MzAsIDAsIHsweGYzLDB4MDAsMHgzNiwweDA2LDB4NDgsMHhiMCwweDEyLDB4YzQsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5NjQwLCAwLCB7MHhlMCwweDAxLDB4YmMsMHgwMCwweGZiLDB4MDgsMHgzZCwweDQwLDB4OGYsMHhlYSwweDAxLDB4ZjQsMHgwMCwweGZmLDB4MDEsMHgyZiB9fSwKLSB7MTYsIDB4OTY1MCwgMCwgezB4YzAsMHgwZiwweGQwLDB4MjIsMHhmYywweDA0LDB4YWYsMHgwMCwweDNmLDB4YzAsMHg4ZiwweGU5LDB4MDMsMHg3YywweDAwLDB4ZmYgfX0sCi0gezE2LCAweDk2NjAsIDAsIHsweDAwLDB4M2YsMHhjMCwweDBmLDB4OTAsMHg0MywweGZjLDB4MjAsMHhlZiwweDAyLDB4M2YsMHgwMCwweDhmLDB4ZjAsMHgwMywweGI4IH19LAotIHsxNiwgMHg5NjcwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NTAsMHgxMCwweGFjLDB4MDgsMHhlYiwweDAwLDB4MTIsMHg0MCB9fSwKLSB7MTYsIDB4OTY4MCwgMCwgezB4MGYsMHg5MCwweDAzLDB4MjgsMHgyMCwweGFiLDB4MDAsMHgzYSwweGMwLDB4OGYsMHg4NSwweDgzLDB4YWMsMHgxMCwweGYzLDB4NTAgfX0sCi0gezE2LCAweDk2OTAsIDAsIHsweDMyLDB4OTAsMHg0YywweDM0LDB4MTMsMHg2YywweDAwLDB4ZmIsMHgwMCwweDNlLDB4YzAsMHgwYywweDk4LDB4MDMsMHgyYywweDQwIH19LAotIHsxNiwgMHg5NmEwLCAwLCB7MHhlYiwweDgwLDB4MzIsMHgxMiwweDBkLDB4YjAsMHgwYiwweDUwLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTZiMCwgMCwgezB4ODgsMHgwMSwweDNjLDB4MTAsMHgwZiwweDA1LDB4YTIsMHg1MCwweDBjLDB4MTAsMHgwMiwweDIyLDB4MTAsMHg4ZiwweDAwLDB4MjMgfX0sCi0gezE2LCAweDk2YzAsIDAsIHsweGMwLDB4MGIsMHg4OCwweDEyLDB4M2MsMHgwMCwweDliLDB4ODIsMHgyMiwweGMwLDB4MDgsMHhiMCwweDAyLDB4M2MsMHgwMCwweDhmIH19LAotIHsxNiwgMHg5NmQwLCAwLCB7MHhhMCwweDJmLDB4YzAsMHgwOCwweGIwLDB4MDIsMHgzYywweDA4LDB4OGYsMHgwMiwweDIwLDB4MDAsMHgwOCwweGYwLDB4MDMsMHgyNiB9fSwKLSB7MTYsIDB4OTZlMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg0ZCwweDIwLDB4OTMsMHgwMCwweDIwLDB4YjIgfX0sCi0gezE2LCAweDk2ZjAsIDAsIHsweDBiLDB4MTAsMHgwMiwweDAxLDB4MDAsMHhhMywweDAwLDB4NjgsMHhjMCwweDBiLDB4ODQsMHgwMiwweGFjLDB4MDAsMHhiMywweDgwIH19LAotIHsxNiwgMHg5NzAwLCAwLCB7MHgyMCwweDQwLDB4MGEsMHgzMCwweDAyLDB4NGMsMHgwMCwweGEzLDB4MDQsMHgyYywweGMwLDB4MDgsMHgwMCwweDAyLDB4MGQsMHgwMCB9fSwKLSB7MTYsIDB4OTcxMCwgMCwgezB4YTMsMHgwMCwweDIwLDB4MjQsMHgwOCwweDMwLDB4MDIsMHgzOCwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDk3MjAsIDAsIHsweDcwLDB4MDEsMHgxYywweDIwLDB4OTcsMHg4MCwweDIzLDB4NjAsMHgwOCwweDc4LDB4MTIsMHgzYSwweDAwLDB4ODMsMHg5MSwweDI5IH19LAotIHsxNiwgMHg5NzMwLCAwLCB7MHhlNCwweDBiLDB4NTksMHgwMiwweDFlLDB4MDAsMHg5NywweDkwLDB4MjAsMHhmYywweDBhLDB4NzgsMHgwMiwweDFlLDB4MDAsMHg4NyB9fSwKLSB7MTYsIDB4OTc0MCwgMCwgezB4OTAsMHgyZCwweGUwLDB4MTksMHg1OSwweDAyLDB4MWUsMHg4MCwweDgzLDB4ODAsMHg2MSwweGEwLDB4MDgsMHg3OCwweDAyLDB4MTggfX0sCi0gezE2LCAweDk3NTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MGMsMHg0MCwweGQzLDB4MzIsMHgzMCwweDA2IH19LAotIHsxNiwgMHg5NzYwLCAwLCB7MHgwZiwweDMwLDB4MDMsMHgwNCwweDY0LDB4ZTMsMHgwMSwweDM4LDB4YzQsMHgxZiwweDMwLDB4MDcsMHg4YywweDE4LDB4ZjEsMHgwMCB9fSwKLSB7MTYsIDB4OTc3MCwgMCwgezB4MzAsMHg0YywweDBlLDB4MzAsMHgwMywweDRjLDB4MDAsMHhlMywweDAwLDB4MmMsMHhjMCwweDBjLDB4MjAsMHgwMywweDBlLDB4MDAgfX0sCi0gezE2LCAweDk3ODAsIDAsIHsweGUzLDB4MDAsMHgzMiwweDA4LDB4MGMsMHhiMSwweDAzLDB4MTIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5NzkwLCAwLCB7MHg0MCwweDFkLDB4OWMsMHg4MCwweGVmLDB4MTAsMHgzZCwweDQ0LDB4NGYsMHhmMSwweDA3LDB4Y2MsMHgwMCwweGZmLDB4MDgsMHgzNiB9fSwKLSB7MTYsIDB4OTdhMCwgMCwgezB4YzYsMHhjZiwweGIwLDB4MDMsMHhmYywweDAwLDB4OTcsMHgwMCwweGJlLDB4Y2MsMHgwZCwweGIxLDB4MDMsMHhmZCwweDA0LDB4ZmYgfX0sCi0gezE2LCAweDk3YjAsIDAsIHsweDBjLDB4M2YsMHhkMiwweDllLDB4ZTAsMHg0YiwweGZkLDB4MjAsMHhmZiwweDAyLDB4M2YsMHg4MCwweDBlLDB4ZjAsMHgxMywweGQwIH19LAotIHsxNiwgMHg5N2MwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxNSwweGVjLDB4YzAsMHhjYiwweDI4LDB4M2UsMHhjMCB9fSwKLSB7MTYsIDB4OTdkMCwgMCwgezB4MGYsMHg4MCwweDAzLDB4ZWMsMHgwMCwweGZiLDB4MDEsMHgzMiwweGU5LDB4MGMsMHgyOCwweDAzLDB4MmMsMHgwMCwweGZiLDB4MDAgfX0sCi0gezE2LCAweDk3ZTAsIDAsIHsweDMyLDB4YzAsMHgwYywweGI0LDB4ODMsMHgyYywweDAxLDB4ZWYsMHgwMCwweGIyLDB4YzgsMHgwYywweDIwLDB4MDMsMHg2ZCwweDAwIH19LAotIHsxNiwgMHg5N2YwLCAwLCB7MHhjYiwweDEwLDB4M2UsMHgwMCwweDBmLDB4YjIsMHgwMywweGVhLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTgwMCwgMCwgezB4YzgsMHg5MSwweDljLDB4YzQsMHg4NywweDYwLDB4MmQsMHhjMCwweDBiLDB4NjAsMHgwMiwweGRjLDB4MDAsMHhiNywweDEyLDB4MjAgfX0sCi0gezE2LCAweDk4MTAsIDAsIHsweGNjLDB4MGEsMHg3MCwweDAyLDB4MWMsMHhjMCwweGIzLDB4MDAsMHhhMCwweGMwLDB4YzgsMHg3MCwweDIyLDB4MWMsMHg4MCwweGI3IH19LAotIHsxNiwgMHg5ODIwLCAwLCB7MHgyNCwweDIxLDB4YzgsMHg0OCwweDUwLDB4MDIsMHgwYywweDgwLDB4ODcsMHgxMCwweDJkLDB4NDAsMHgwYiwweDcyLDB4ODIsMHhmMiB9fSwKLSB7MTYsIDB4OTgzMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgxLDB4MDAsMHg4ZSwweDAyLDB4ODcsMHg4MCwweDJkLDB4ZTAgfX0sCi0gezE2LCAweDk4NDAsIDAsIHsweDBiLDB4NzgsMHgxMiwweGRlLDB4MDAsMHhiNywweGEwLDB4MjEsMHhlMCwweDA4LDB4ZjgsMHg4ZSwweDFlLDB4NDAsMHhiNywweDg4IH19LAotIHsxNiwgMHg5ODUwLCAwLCB7MHgyMSwweGUwLDB4MDgsMHgzOCwweDAyLDB4MWUsMHg0MCwweGIzLDB4YTEsMHgyMCwweGU4LDB4NDgsMHhmOCwweDgyLDB4NWUsMHgwMiB9fSwKLSB7MTYsIDB4OTg2MCwgMCwgezB4ODcsMHg4MCwweDJkLDB4MjIsMHgwYiwweDc5LDB4MDIsMHhlMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDk4NzAsIDAsIHsweDA4LDB4MDQsMHhjYywweDA0LDB4ODMsMHgwMiwweDJjLDB4ZDQsMHgwYiwweDMwLDB4MDIsMHhjYywweDAwLDB4YjMsMHgwMCwweGEwIH19LAotIHsxNiwgMHg5ODgwLCAwLCB7MHhjMCwweDhhLDB4MzgsMHgwNiwweDBjLDB4MDAsMHhiMywweDgwLDB4MjAsMHhlMSwweDQ4LDB4MzksMHgxMiwweDJjLDB4MDAsMHhiMyB9fSwKLSB7MTYsIDB4OTg5MCwgMCwgezB4MDAsMHgyMiwweGMwLDB4MDgsMHhiMCwweDgyLDB4NmMsMHgwMCwweDgzLDB4MDAsMHgyYywweDQ4LDB4MGIsMHgzMCwweDAyLDB4YzIgfX0sCi0gezE2LCAweDk4YTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDA1LDB4YTgsMHgwMCwweGNhLDB4MDAsMHgzZiwweGEwIH19LAotIHsxNiwgMHg5OGIwLCAwLCB7MHgwZiwweGU0LDB4MDMsMHhkOCwweDAwLDB4ZmEsMHgwMCwweDMyLDB4ODAsMHgwYywweGU4LDB4MDMsMHgyOCwweDAwLDB4ZmEsMHg0MCB9fSwKLSB7MTYsIDB4OThjMCwgMCwgezB4MzIsMHhhOCwweDJjLDB4YTAsMHgwOSwweDI4LDB4MDgsMHhmMiwweDAwLDB4MzIsMHg4MCwweDBjLDB4ZTQsMHgwMywweDY4LDB4MDAgfX0sCi0gezE2LCAweDk4ZDAsIDAsIHsweGNhLDB4MDAsMHgzZiwweDgwLDB4MGYsMHhhMCwweDAzLDB4ZmIsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5OGUwLCAwLCB7MHg0OCwweDAwLDB4YzAsMHgwMCwweGY4LDB4MDEsMHgzZSwweDEyLDB4MGIsMHg4MCwweDAzLDB4ZTAsMHg0MCwweGY4LDB4MDAsMHgzZSB9fSwKLSB7MTYsIDB4OThmMCwgMCwgezB4MDAsMHg0ZiwweDg0LDB4MDMsMHhlMCwweDA0LDB4ZjAsMHgwOCwweDNlLDB4MDAsMHg0ZiwweDAwLDB4MDMsMHhlMCwweDAwLDB4ZjggfX0sCi0gezE2LCAweDk5MDAsIDAsIHsweDQxLDB4M2UsMHgwMCwweDJmLDB4ODQsMHgwMywweGEwLDB4MDAsMHhmOCwweDAwLDB4M2UsMHgwMCwweDBmLDB4ODAsMHgwMywweGQyIH19LAotIHsxNiwgMHg5OTEwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwMCwweGU2LDB4MDAsMHhjOSwweDEyLDB4M2UsMHg1MCB9fSwKLSB7MTYsIDB4OTkyMCwgMCwgezB4OGYsMHg5MCwweDgzLDB4ZTQsMHgyMCwweGMxLDB4MDAsMHgzYSwweDQxLDB4MGYsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGY5LDB4MDAgfX0sCi0gezE2LCAweDk5MzAsIDAsIHsweDMwLDB4NjgsMHgwYywweDkwLDB4MDMsMHgyNCwweDAwLDB4ZDksMHgwMCwweDNhLDB4NDAsMHgwZSwweDk4LDB4MDMsMHgyNCwweDAwIH19LAotIHsxNiwgMHg5OTQwLCAwLCB7MHhjOSwweDkwLDB4M2UsMHg2OSwweDBjLDB4MTAsMHgwMywweDAyLDB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTk1MCwgMCwgezB4ODAsMHgwNCwweDY3LDB4NGEsMHg4OSwweDgwLDB4MmUsMHg1MCwweDBiLDB4OTAsMHgwMiwweGU0LDB4ODAsMHhhOSwweDAwLDB4MjIgfX0sCi0gezE2LCAweDk5NjAsIDAsIHsweDQwLDB4MGIsMHg5MCwweDAyLDB4ZTQsMHgwMCwweGI5LDB4MDEsMHgyMiwweDQwLDB4MDgsMHg5MCwweDAyLDB4MjQsMHgxMCwweDg5IH19LAotIHsxNiwgMHg5OTcwLCAwLCB7MHgwMCwweDIyLDB4NDAsMHgwOCwweDkzLDB4MDIsMHgyNCwweDIyLDB4ODksMHg0MiwweDJjLDB4NjAsMHg0OCwweDkwLDB4MDIsMHgyMCB9fSwKLSB7MTYsIDB4OTk4MCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MTUsMHgyNCwweDAwLDB4OTksMHgwMCwweDJlLDB4NDAgfX0sCi0gezE2LCAweDk5OTAsIDAsIHsweDBiLDB4OTAsMHgwMiwweGU0LDB4MDAsMHg4OSwweDAwLDB4MmEsMHg0MCwweDBiLDB4OTAsMHgwMiwweGU0LDB4MDAsMHhiOSwweDAwIH19LAotIHsxNiwgMHg5OWEwLCAwLCB7MHgyMywweDQwLDB4MDgsMHhkMCwweDAyLDB4MjQsMHgwMCwweDk5LDB4MDAsMHgyYSwweDQwLDB4MGEsMHg5MCwweDA2LDB4MjQsMHg0MCB9fSwKLSB7MTYsIDB4OTliMCwgMCwgezB4ODksMHg0MSwweDJlLDB4NDAsMHgwOCwweDkwLDB4MDIsMHgwNiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDk5YzAsIDAsIHsweDA4LDB4MDQsMHgwYywweDgwLDB4OTEsMHgyMCwweDJjLDB4NDgsMHgwYiwweDEwLDB4MDIsMHhjNCwweDAwLDB4YTEsMHgyMCwweDIwIH19LAotIHsxNiwgMHg5OWQwLCAwLCB7MHg0OCwweDBiLDB4MTAsMHgwMiwweGM0LDB4ODAsMHhiMSwweDIwLDB4YTEsMHg0OSwweDA4LDB4NTIsMHg0YSwweDA0LDB4ODAsMHg4MSB9fSwKLSB7MTYsIDB4OTllMCwgMCwgezB4MDAsMHgyMCwweDQ4LDB4NDgsMHgxMiwweDBhLDB4MDQsMHg4MCwweDgxLDB4MjAsMHgyYywweDQwLDB4MjgsMHgxMiwweDAyLDB4MDIgfX0sCi0gezE2LCAweDk5ZjAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjAsMHgwOCwweGQ4LDB4MDQsMHgzZSwweDgwIH19LAotIHsxNiwgMHg5YTAwLCAwLCB7MHgwZiwweDg1LDB4MDMsMHhlMCwweDAwLDB4YzAsMHg1MCwweDNhLDB4MTQsMHgwZiwweGE1LDB4MDMsMHhlMSwweDQwLDB4ZjgsMHgwMiB9fSwKLSB7MTYsIDB4OWExMCwgMCwgezB4MzIsMHg4MCwweDJjLDB4YzUsMHgwMywweDIxLDB4NDAsMHhkYSwweDAwLDB4M2EsMHgxNCwweDBlLDB4ODUsMHg0MywweDIxLDB4NDAgfX0sCi0gezE2LCAweDlhMjAsIDAsIHsweGM4LDB4NTIsMHgzZSwweDE0LDB4MGMsMHg4NSwweDBiLDB4MmUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5YTMwLCAwLCB7MHg4OCwweDFkLDB4ZTQsMHg0NCwweGU5LDB4MTAsMHgzZiwweDQ0LDB4NGYsMHhkMCwweDAyLDB4ZmMsMHgwMCwweGY5LDB4MTIsMHgzZSB9fSwKLSB7MTYsIDB4OWE0MCwgMCwgezB4NDQsMHgwZiwweGQwLDB4MDMsMHhlNCwweDQwLDB4ZmQsMHgxMCwweDNlLDB4NDQsMHg0ZiwweDkxLDB4MDMsMHhlNCwweDQwLDB4ZTkgfX0sCi0gezE2LCAweDlhNTAsIDAsIHsweDQwLDB4M2UsMHg0NCwweDBmLDB4ZDEsMHgwMywweGU0LDB4NDAsMHhmOSwweDEyLDB4M2YsMHg0MCwweDBmLDB4OTEsMHgwMywweGU2IH19LAotIHsxNiwgMHg5YTYwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGY2LDB4YTAsMHhmZCwweDgwLDB4YjMsMHg0MCB9fSwKLSB7MTYsIDB4OWE3MCwgMCwgezB4MGMsMHgxMCwweDAzLDB4MTQsMHgwMCwweGZkLDB4YTAsMHgzMiwweDQwLDB4MGYsMHhkMSwweDAzLDB4ZTQsMHgwMCwweGY1LDB4ODYgfX0sCi0gezE2LCAweDlhODAsIDAsIHsweDMzLDB4NjAsMHgyYywweDlhLDB4ODMsMHgyNCwweDA0LDB4ZmQsMHhhOCwweDIyLDB4NDAsMHgwZCwweDUwLDB4NDMsMHhmNCwweDAwIH19LAotIHsxNiwgMHg5YTkwLCAwLCB7MHhmZCwweDAwLDB4MzMsMHg0MCwweDBmLDB4OTAsMHgwMywweDA2LDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OWFhMCwgMCwgezB4NzgsMHgxMCwweGUxLDB4MDAsMHhiOCwweDAwLDB4MjIsMHgwMCwweDI4LDB4ODAsMHgwMiwweDIwLDB4MDAsMHhiOCwweDAwLDB4YTIgfX0sCi0gezE2LCAweDlhYjAsIDAsIHsweDAwLDB4MGIsMHg4YSwweDEyLDB4ZTAsMHgwMCwweGI4LDB4MDQsMHgyMiwweDE0LDB4MDgsMHg4NCwweDAyLDB4MjAsMHgwMCwweGI4IH19LAotIHsxNiwgMHg5YWMwLCAwLCB7MHg0MCwweDIwLDB4MDAsMHg4OCwweDgwLDB4MDIsMHhlMCwweDAwLDB4YjgsMHgwMCwweGEyLDB4MDAsMHgwYiwweDgwLDB4MDIsMHgwZSB9fSwKLSB7MTYsIDB4OWFkMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDUsMHhjNCwweDAwLDB4YjEsMHg0MiwweDIwLDB4NDAgfX0sCi0gezE2LCAweDlhZTAsIDAsIHsweDA4LDB4MTAsMHgwMiwweDA0LDB4MDAsMHhiMSwweDQwLDB4MjAsMHg0MCwweDBiLDB4MTAsMHgwNiwweGM0LDB4MDAsMHhiMSwweDQwIH19LAotIHsxNiwgMHg5YWYwLCAwLCB7MHgyNCwweDQwLDB4MDgsMHgxMCwweDAyLDB4NDQsMHgwNCwweGIxLDB4MDAsMHg2MCwweDQwLDB4MDksMHgxMCwweDAyLDB4YzQsMHgwMCB9fSwKLSB7MTYsIDB4OWIwMCwgMCwgezB4YjEsMHgwMCwweDIwLDB4NDAsMHgwYiwweDEwLDB4MDIsMHgxMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDliMTAsIDAsIHsweDE4LDB4MTUsMHhhNCwweDAwLDB4YjksMHgwMiwweDIyLDB4NjAsMHgwOCwweDk0LDB4MDIsMHgyNCwweDAwLDB4YjksMHgwMSwweDIyIH19LAotIHsxNiwgMHg5YjIwLCAwLCB7MHg0MCwweDBiLDB4OTAsMHgwNiwweGU0LDB4MDAsMHhiOSwweDIwLDB4MjYsMHg0MCwweDA4LDB4OTQsMHgwMiwweDY0LDB4MDgsMHhiOSB9fSwKLSB7MTYsIDB4OWIzMCwgMCwgezB4MDAsMHgyMiwweDQwLDB4MDgsMHg5MiwweDAyLDB4ZWMsMHgwOCwweGI5LDB4MDQsMHgyMiwweDQxLDB4MGIsMHgxMCwweDAyLDB4MDYgfX0sCi0gezE2LCAweDliNDAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4ZTQsMHgxMCwweGYxLDB4MDAsMHgzMiwweDYwIH19LAotIHsxNiwgMHg5YjUwLCAwLCB7MHgwYywweDk0LDB4MGIsMHgyNSwweDAwLDB4ZjksMHgwMCwweDMyLDB4NDAsMHg4ZiwweDk0LDB4ZDMsMHhlNCwweDAwLDB4ZjksMHgwMCB9fSwKLSB7MTYsIDB4OWI2MCwgMCwgezB4MzYsMHg0MCwweDRjLDB4OTAsMHgwYiwweDY0LDB4MDAsMHhmMSwweDAwLDB4MzIsMHg0MCwweDBkLDB4OTIsMHgxMiwweGU0LDB4MDAgfX0sCi0gezE2LCAweDliNzAsIDAsIHsweGY5LDB4MDAsMHgzMiwweDQwLDB4MGYsMHg5MCwweDBiLDB4MjgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5YjgwLCAwLCB7MHg2OCwweDQxLDB4YTQsMHgwMCwweGY5LDB4MDAsMHgzYywweDQwLDB4OGYsMHg5MiwweDAzLDB4ZTQsMHgwMCwweGY5LDB4MDAsMHgzZSB9fSwKLSB7MTYsIDB4OWI5MCwgMCwgezB4NDAsMHgwZiwweDljLDB4MDMsMHhlNCwweDAwLDB4ZjksMHgwMCwweGJhLDB4NDAsMHgyZiwweDkwLDB4MjMsMHhhNCwweDAwLDB4ZjkgfX0sCi0gezE2LCAweDliYTAsIDAsIHsweDA4LDB4YmUsMHg0MCwweGNmLDB4OTAsMHgwMywweGU0LDB4MTAsMHhmMSwweDAxLDB4M2UsMHg0MSwweDBmLDB4OTAsMHgwMywweGRhIH19LAotIHsxNiwgMHg5YmIwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxMCwweGEwLDB4YzgsMHhmOCwweDAwLDB4M2UsMHgwMyB9fSwKLSB7MTYsIDB4OWJjMCwgMCwgezB4MGMsMHg4NCwweDAzLDB4YTEsMHgxMCwweGU4LDB4MDAsMHgzMiwweDAwLDB4OGMsMHg4NSwweDgzLDB4ZTAsMHgwMCwweGMwLDB4MDAgfX0sCi0gezE2LCAweDliZDAsIDAsIHsweDM4LDB4MGMsMHgyYywweDAwLDB4MDMsMHg2MCwweDAwLDB4YzgsMHgwMCwweDNjLDB4MDAsMHgwZCwweDgwLDB4MDIsMHgyMCwweDEwIH19LAotIHsxNiwgMHg5YmUwLCAwLCB7MHhjOCwweDIwLDB4YjIsMHgwMiwweDBmLDB4ODAsMHgwMywweGNhLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OWJmMCwgMCwgezB4MjgsMHgwNSwweDM5LDB4MTAsMHhiZSwweDA0LDB4NmYsMHhhMCwweDA4LDB4YTAsMHgwMiwweDNhLDB4MDAsMHg4MiwweDAwLDB4YTIgfX0sCi0gezE2LCAweDljMDAsIDAsIHsweDgwLDB4OGQsMHhlYywweDAzLDB4YTgsMHgwMCwweDhhLDB4MDAsMHgyMywweDgwLDB4MDgsMHhhMCwweDIyLDB4MjgsMHgwMCwweDhlIH19LAotIHsxNiwgMHg5YzEwLCAwLCB7MHhjYywweDJmLDB4ODAsMHgwOCwweGU4LDB4YzIsMHhiOCwweDAwLDB4OGUsMHg2MCwweDIzLDB4OTAsMHgwYiwweGEwLDB4MDIsMHhjYSB9fSwKLSB7MTYsIDB4OWMyMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg0ZSwweDA4LDB4YjAsMHg3MiwweDJjLDB4ZDAgfX0sCi0gezE2LCAweDljMzAsIDAsIHsweDI4LDB4YjAsMHgwNiwweDhjLDB4MDEsMHhhMSwweDAyLDB4MjAsMHhjMCwweDA4LDB4MzgsMHgwMiwweGNjLDB4MDAsMHg4MywweDAwIH19LAotIHsxNiwgMHg5YzQwLCAwLCB7MHgyMCwweGMwLDB4MjksMHgzMCwweDAyLDB4NGMsMHgwMCwweDgxLDB4MDAsMHgyYywweGMwLDB4MDgsMHgzMiwweDAyLDB4MGMsMHg0MCB9fSwKLSB7MTYsIDB4OWM1MCwgMCwgezB4ODMsMHgwMCwweDIwLDB4ZjQsMHgwYiwweDMwLDB4MDIsMHhjYSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDljNjAsIDAsIHsweGEwLDB4MDEsMHgxYywweDAwLDB4YjQsMHgwMCwweDJkLDB4ZDAsMHg0OCwweGYyLDB4MDIsMHgxZSwweDIxLDB4ODUsMHgyMCwweDIwIH19LAotIHsxNiwgMHg5YzcwLCAwLCB7MHhlOCwweDA5LDB4NzIsMHgwMiwweDhlLDB4ODAsMHg4ZiwweDAxLDB4MjAsMHhjMCwweDA5LDB4NzIsMHgwMiwweDBlLDB4ODAsMHg4NyB9fSwKLSB7MTYsIDB4OWM4MCwgMCwgezB4MDAsMHgyZCwweGNjLDB4MTgsMHg1OCwweDAyLDB4OGUsMHgwMCwweDg1LDB4MDAsMHgyMSwweGMwLDB4MGIsMHg3MiwweDAyLDB4ZTggfX0sCi0gezE2LCAweDljOTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MWUsMHgwMCwweGI0LDB4ODAsMHgyZCwweGUwIH19LAotIHsxNiwgMHg5Y2EwLCAwLCB7MHgwYywweDc4LDB4ODMsMHg5YSwweDAwLDB4ZWQsMHhkMCwweDMxLDB4ZjQsMHgwYywweDZhLDB4MDMsMHhkZSwweDgyLDB4YzcsMHg4MCB9fSwKLSB7MTYsIDB4OWNiMCwgMCwgezB4MzksMHhlMCwweDBkLDB4ZjgsMHg4MywweDVlLDB4YzIsMHhjNSwweDgwLDB4M2QsMHhlOCwweDBjLDB4NjgsMHgwMywweDEyLDB4MDAgfX0sCi0gezE2LCAweDljYzAsIDAsIHsweGNmLDB4ODAsMHgzMSwweGUwLDB4MGYsMHg3ZSwweDgzLDB4ZWEsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5Y2QwLCAwLCB7MHgwOCwweDBkLDB4YWMsMHgwOCwweGY4LDB4MDAsMHgzYywweGMwLDB4MGYsMHhiMywweDAzLDB4ZWMsMHgwMCwweGY5LDB4MDIsMHgzZSB9fSwKLSB7MTYsIDB4OWNlMCwgMCwgezB4YzgsMHgwZiwweGIwLDB4MDMsMHhlZCwweDQwLDB4ZmIsMHgwMCwweGJlLDB4ODAsMHgwZSwweGIzLDB4MDMsMHhlZCwweGMwLDB4ZmIgfX0sCi0gezE2LCAweDljZjAsIDAsIHsweDAwLDB4M2UsMHhkMiwweDJlLDB4ODAsMHgwMywweGVjLDB4MDIsMHhmOSwweDAwLDB4M2UsMHhjMCwweDBmLDB4YjAsMHgwMywweGMyIH19LAotIHsxNiwgMHg5ZDAwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGZlLDB4MDAsMHhmMCwweDkxLDB4MzMsMHhlMCB9fSwKLSB7MTYsIDB4OWQxMCwgMCwgezB4OGYsMHhmOCwweDAzLDB4ZmUsMHgwMCwweGZkLDB4ODAsMHgzZiwweGUwLDB4MGMsMHg3OCwweDgzLDB4M2YsMHgwMCwweGNmLDB4ODAgfX0sCi0gezE2LCAweDlkMjAsIDAsIHsweDNmLDB4YTAsMHgwYywweGY4LDB4MDMsMHgzZSwweDAwLDB4Y2QsMHg4MCwweDNmLDB4ZTAsMHgwZiwweGY4LDB4MTMsMHhmZSwweDEwIH19LAotIHsxNiwgMHg5ZDMwLCAwLCB7MHhmZiwweDgwLDB4M2YsMHgyMCwweDBmLDB4ZjksMHg0MywweGQwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OWQ0MCwgMCwgezB4YTgsMHgxMSwweDljLDB4MDAsMHhiNCwweGMxLDB4MzEsMHhjMCwweDBiLDB4NzAsMHgwMiwweGQ0LDB4MTAsMHhlNSwweDIwLDB4MmYgfX0sCi0gezE2LCAweDlkNTAsIDAsIHsweGM4LDB4MGYsMHg0MCwweDAzLDB4NWMsMHgwMCwweDg3LDB4MDAsMHgyZCwweDgwLDB4MDgsMHg3MCwweDAyLDB4MWMsMHg0MCwweDg3IH19LAotIHsxNiwgMHg5ZDYwLCAwLCB7MHgxMCwweDJkLDB4YzAsMHgwYiwweDc2LDB4MDIsMHhkYywweDgwLDB4YjcsMHgwMCwweDJkLDB4YzAsMHgwYiwweDcwLDB4MDIsMHhlYSB9fSwKLSB7MTYsIDB4OWQ3MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDEwLDB4MDAsMHg5YywweDAwLDB4YjYsMHgyMiwweDIxLDB4ZDAgfX0sCi0gezE2LCAweDlkODAsIDAsIHsweDBiLDB4NzAsMHg4MiwweGQ4LDB4NDAsMHhiNSwweDAyLDB4MmQsMHhjMCwweDg4LDB4NjUsMHgwMiwweDBjLDB4MDAsMHg4NywweDE4IH19LAotIHsxNiwgMHg5ZDkwLCAwLCB7MHgyYywweDA0LDB4MDgsMHgzMCwweDAyLDB4OGMsMHgwMiwweDg1LDB4MDAsMHgyZCwweGMwLDB4MGIsMHg3MCwweDQ2LDB4OTAsMHgxMCB9fSwKLSB7MTYsIDB4OWRhMCwgMCwgezB4YjYsMHgwMCwweDJkLDB4MDAsMHgwYiwweDcwLDB4MjIsMHhjNCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDlkYjAsIDAsIHsweDYwLDB4MTQsMHhjYywweDA4LDB4YjIsMHgwMCwweGE0LDB4YzAsMHgwYiwweDMwLDB4NDIsMHhjNiwweDEwLDB4YTEsMHgwMCwweDJjIH19LAotIHsxNiwgMHg5ZGMwLCAwLCB7MHhjMCwweDBhLDB4MDAsMHgwMiwweDRjLDB4MDAsMHg4MywweDAwLDB4MmMsMHgwOCwweDA4LDB4MzAsMHgwMiwweDhjLDB4MDAsMHg4MyB9fSwKLSB7MTYsIDB4OWRkMCwgMCwgezB4MDAsMHgyYywweGMwLDB4MGIsMHgxOCwweDgyLDB4YzQsMHgwMCwweGIwLDB4MDAsMHgyYywweDQwLDB4MGIsMHgzMCwweDEyLDB4ZDggfX0sCi0gezE2LCAweDlkZTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhmOCwweDE1LDB4YWMsMHgwMCwweDM4LDB4MDAsMHgzMiwweDUwIH19LAotIHsxNiwgMHg5ZGYwLCAwLCB7MHgwZiwweGYwLDB4MDMsMHhlNiwweDIwLDB4ZmQsMHgwMCwweDNmLDB4YzAsMHgwOCwweGQwLDB4MDIsMHgzYywweDAyLDB4Y2IsMHg4MCB9fSwKLSB7MTYsIDB4OWUwMCwgMCwgezB4M2MsMHg1MCwweDJjLDB4ZjAsMHgwYSwweGJjLDB4MDAsMHhjOSwweDAwLDB4M2YsMHhjMCwweDBmLDB4YmUsMHgwMywweGFjLDB4MDAgfX0sCi0gezE2LCAweDllMTAsIDAsIHsweGZhLDB4MDIsMHgyZSwweGY3LDB4NGYsMHhmMCwweDAzLDB4ZWUsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5ZTIwLCAwLCB7MHg4MCwweDAwLDB4ZWMsMHgwMCwweGYxLDB4MDAsMHgzYSwweGYwLDB4MGYsMHhiMCwweDAzLDB4ZTksMHgwMCwweGY5LDB4MDEsMHgzZSB9fSwKLSB7MTYsIDB4OWUzMCwgMCwgezB4YzAsMHgwZiwweDkwLDB4MTMsMHhlYywweDAwLDB4ZjksMHgwMCwweDNlLDB4NTUsMHgwZiwweGIwLDB4MDEsMHg2YywweDAwLDB4ZmIgfX0sCi0gezE2LCAweDllNDAsIDAsIHsweDAyLDB4M2UsMHhjMCwweDBmLDB4OTAsMHg3MywweGUwLDB4MDAsMHhmOCwweDQxLDB4M2UsMHgwMCwweDBmLDB4MzAsMHgwMSwweGUwIH19LAotIHsxNiwgMHg5ZTUwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxMCwweGZjLDB4MDAsMHhmYywweDAwLDB4MzMsMHhjMCB9fSwKLSB7MTYsIDB4OWU2MCwgMCwgezB4MWYsMHhmMCwweDEzLDB4ZjAsMHgwOCwweGZkLDB4MDIsMHgzZiwweGMwLDB4OGQsMHhjMCwweDAzLDB4M2MsMHgwMCwweGNmLDB4YTAgfX0sCi0gezE2LCAweDllNzAsIDAsIHsweDNmLDB4ODAsMHgwYywweDcwLDB4MDMsMHgzYywweDEwLDB4ZmMsMHgwMCwweDM3LDB4YzAsMHgwZiwweGUwLDB4MDMsMHhiMCwweDAwIH19LAotIHsxNiwgMHg5ZTgwLCAwLCB7MHhmZSwweDAwLDB4M2YsMHhjMCwweDBjLDB4ZjAsMHgwMywweDA0LDB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OWU5MCwgMCwgezB4ODQsMHgwNCwweDZlLDB4MDAsMHhiOSwweGMyLDB4YTIsMHhmMCwweDBiLDB4YjAsMHg0MiwweGViLDB4MDAsMHhiOSwweDAwLDB4MmUgfX0sCi0gezE2LCAweDllYTAsIDAsIHsweGMwLDB4MGYsMHgxOCwweDAzLDB4NmMsMHgwMCwweGQ5LDB4ODEsMHgyZSwweGIwLDB4MGEsMHhiMCwweDQyLDB4MmMsMHgwMCwweGJhIH19LAotIHsxNiwgMHg5ZWIwLCAwLCB7MHhjNiwweDJlLDB4YzAsMHgwYiwweDhjLDB4MDIsMHhlMywweDAwLDB4YjgsMHhjMCwweDNjLDB4YTAsMHgwZCwweGIwLDB4MDIsMHgyMCB9fSwKLSB7MTYsIDB4OWVjMCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgyZiwweDAwLDB4YjgsMHg4MCwweDIyLDB4ZTIgfX0sCi0gezE2LCAweDllZDAsIDAsIHsweDBiLDB4YjAsMHgwMiwweGU2LDB4MjAsMHhiOSwweDAwLDB4MmMsMHhjMCwweDA4LDB4YjgsMHgwMiwweDBjLDB4MDAsMHg4YiwweDAwIH19LAotIHsxNiwgMHg5ZWUwLCAwLCB7MHgyZSwweDMwLDB4NDgsMHhiMCwweDAyLDB4MmMsMHgwMCwweGI5LDB4YzAsMHgyZSwweGMxLDB4MGIsMHg4OCwweDAyLDB4ZWUsMHgxMCB9fSwKLSB7MTYsIDB4OWVmMCwgMCwgezB4YjksMHhjMCwweDJlLDB4MjAsMHgxOSwweGIwLDB4MDIsMHgyMCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDlmMDAsIDAsIHsweDA4LDB4MDQsMHgwYywweDAwLDB4YjAsMHgwMCwweDIwLDB4YzAsMHgwYiwweDMwLDB4MDYsMHhjMCwweDAwLDB4OTEsMHgwMCwweDJjIH19LAotIHsxNiwgMHg5ZjEwLCAwLCB7MHhjMCwweDQ5LDB4ODAsMHgwMiwweDRjLDB4MDQsMHg5MSwweDAwLDB4MmMsMHgwMCwweDhhLDB4MzAsMHgwYSwweDBjLDB4MDQsMHhiMSB9fSwKLSB7MTYsIDB4OWYyMCwgMCwgezB4MDAsMHgyYywweGMwLDB4MWIsMHgwMCwweDEyLDB4NDksMHgxMCwweGIxLDB4MDAsMHgyZSwweDIwLDB4MDksMHgzMCwweDAyLDB4MDIgfX0sCi0gezE2LCAweDlmMzAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4NmMsMHgwMCwweGI4LDB4MjAsMHgyMiwweGMwIH19LAotIHsxNiwgMHg5ZjQwLCAwLCB7MHg4YiwweGYwLDB4MDMsMHhlMCwweDA4LDB4ZmQsMHgwMCwweDNmLDB4YzAsMHgwYywweGEwLDB4MDMsMHgzYywweDAwLDB4Y2IsMHgwMCB9fSwKLSB7MTYsIDB4OWY1MCwgMCwgezB4M2UsMHgwMCwweDRjLDB4ZjAsMHgwYSwweDNjLDB4MDAsMHhiOSwweDAwLDB4MzcsMHhjMSwweDBmLDB4YTAsMHgwMywweGUwLDB4MDAgfX0sCi0gezE2LCAweDlmNjAsIDAsIHsweGZhLDB4MDAsMHgzZSwweDAwLDB4MGQsMHhmMCwweDBiLDB4MDAsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5ZjcwLCAwLCB7MHhhMCwweDFkLDB4ZjAsMHgwMSwweGZjLDB4NDAsMHgzZiwweDgwLDB4NGYsMHhmMCwweDAyLDB4ZjAsMHgwMCwweGZkLDB4MDAsMHgzZiB9fSwKLSB7MTYsIDB4OWY4MCwgMCwgezB4YzEsMHgwZiwweGMwLDB4MDMsMHhmYywweDAwLDB4ZmQsMHgwMCwweDNmLDB4MDAsMHg0ZiwweGYwLDB4NjMsMHhmYywweDAwLDB4ZmQgfX0sCi0gezE2LCAweDlmOTAsIDAsIHsweDA0LDB4M2YsMHhjMCwweDBmLDB4YzAsMHgwMywweGYwLDB4ODAsMHhmYywweDAwLDB4N2IsMHgwMCwweDBmLDB4ZjAsMHg0MywweGU4IH19LAotIHsxNiwgMHg5ZmEwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGY4LDB4MDAsMHhjOCwweDEwLDB4MzMsMHgwNCB9fSwKLSB7MTYsIDB4OWZiMCwgMCwgezB4MGMsMHg0MCwweDAyLDB4MzQsMHgwMCwweGM4LDB4ODUsMHgxZiwweGMwLDB4MmQsMHhkOSwweDAzLDB4ZmMsMHhjMCwweGRiLDB4MjggfX0sCi0gezE2LCAweDlmYzAsIDAsIHsweDM3LDB4NjQsMHgwZiwweGRiLDB4MDMsMHgzZSwweDAwLDB4ZmYsMHgyNSwweDNmLDB4YzgsMHgwZSwweGYyLDB4MDMsMHhmZSwweDIwIH19LAotIHsxNiwgMHg5ZmQwLCAwLCB7MHhmZiwweGE0LDB4MzcsMHhjNCwweDBjLDB4YzgsMHgwMywweDMwLDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OWZlMCwgMCwgezB4ODAsMHgxMCwweGU4LDB4MDAsMHg4OCwweDIwLDB4MjIsMHgwMCwweDA4LDB4ODgsMHgxMiwweDI2LDB4MDQsMHg4OSwweDgyLDB4MmUgfX0sCi0gezE2LCAweDlmZjAsIDAsIHsweGY0LDB4NDgsMHhiOCwweDAyLDB4ZmMsMHhjNCwweDk4LDB4YzIsMHgyMiwweDdjLDB4NGIsMHg5ZCwweDQyLDB4MjYsMHgwOCwweGJmIH19LAotIHsxNiwgMHhhMDAwLCAwLCB7MHgxOCwweDc3LDB4ZTQsMHgwOCwweGYxLDB4ODIsMHhlZiwweDAwLDB4YmIsMHhkMCwweDIyLDB4ZDgsMHgwOCwweDkwLDB4ODMsMHg2MCB9fSwKLSB7MTYsIDB4YTAxMCwgMCwgezB4MDIsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4NDUsMHhjOCwweDA0LDB4YTAsMHgwMCwweDI0LDB4MDAgfX0sCi0gezE2LCAweGEwMjAsIDAsIHsweDBhLDB4MDAsMHgwMiwweDBjLDB4MDAsMHg4MiwweDA0LDB4MmMsMHhlMCwweDA4LDB4MTAsMHgwMiwweGNjLDB4ODAsMHg4MywweDAwIH19LAotIHsxNiwgMHhhMDMwLCAwLCB7MHgyNCwweDAwLDB4MGIsMHgxMCwweDA2LDB4YzgsMHgwMSwweGIzLDB4MjAsMHgyYywweGMwLDB4MjksMHgzMiwweDAyLDB4YzgsMHgwOCB9fSwKLSB7MTYsIDB4YTA0MCwgMCwgezB4YjEsMHgwMCwweDI0LDB4ZDAsMHgwOCwweDgyLDB4MDIsMHg2MiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGEwNTAsIDAsIHsweGMwLDB4MTUsMHhhOCwweDAwLDB4YTgsMHgwYywweDI2LDB4MDAsMHgwYSwweDgwLDB4MDIsMHgyYywweDE0LDB4OGEsMHgwMiwweDZlIH19LAotIHsxNiwgMHhhMDYwLCAwLCB7MHhlMCwweDA4LDB4YjAsMHgwMiwweDRjLDB4MDgsMHhhOCwweDAwLDB4MjYsMHgyMCwweDBiLDB4OWMsMHgwMiwweGU0LDB4MDAsMHhiYiB9fSwKLSB7MTYsIDB4YTA3MCwgMCwgezB4MDQsMHgyMiwweGMwLDB4MTksMHhiMCwweDAyLDB4ZTgsMHgwMSwweGJiLDB4MTEsMHgwMiwweGMwLDB4ODgsMHg5MCwweDAyLDB4ZjAgfX0sCi0gezE2LCAweGEwODAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE1LDB4ZWMsMHgwMiwweGVhLDB4NDAsMHhiNiwweDYwIH19LAotIHsxNiwgMHhhMDkwLCAwLCB7MHgyZSwweDk4LDB4MGIsMHgyMCwweDAyLDB4YzgsMHgwMiwweDNlLDB4YzAsMHgwZCwweDk4LDB4MDMsMHhlYywweDAyLDB4ZGIsMHg4OCB9fSwKLSB7MTYsIDB4YTBhMCwgMCwgezB4YjYsMHgyMSwweDBmLDB4ODgsMHgwMywweGFjLDB4MDgsMHhmYiwweDAwLDB4MmMsMHhjMCwweDBlLDB4YjAsMHg0MywweGU1LDB4ODAgfX0sCi0gezE2LCAweGEwYjAsIDAsIHsweGYwLDB4NjAsMHgzNiwweGMwLDB4MGMsMHgwMSwweDQzLDB4NDgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhMGMwLCAwLCB7MHhlMCwweDAxLDB4YmMsMHgwMCwweGQ2LDB4MDEsMHgzYiwweDY0LDB4ODUsMHhkOSwweDAzLDB4ZjAsMHgwYywweGZmLDB4MDAsMHgzZSB9fSwKLSB7MTYsIDB4YTBkMCwgMCwgezB4YzEsMHgwZiwweGZjLDB4MjEsMHhlYywweDAwLDB4ZDcsMHg5MCwweDNiLDB4NDAsMHgwZiwweDUwLDB4MDMsMHgzYywweDAwLDB4ZmYgfX0sCi0gezE2LCAweGEwZTAsIDAsIHsweDAwLDB4M2YsMHhjMCwweDhlLDB4ZjAsMHgwMywweGY0LDB4NDAsMHhmZCwweDg4LDB4M2YsMHhjMCwweDJmLDB4ZDAsMHgwMiwweDc4IH19LAotIHsxNiwgMHhhMGYwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweDhjLDB4MDAsMHhkYSwweDQwLDB4M2MsMHg0MCB9fSwKLSB7MTYsIDB4YTEwMCwgMCwgezB4MGYsMHgxMCwweDAzLDB4NDgsMHgwMCwweGY5LDB4MjIsMHgzYywweGMyLDB4MGUsMHg5MCwweDgzLDB4ZWMsMHgwMiwweGRiLDB4MDQgfX0sCi0gezE2LCAweGExMTAsIDAsIHsweDNhLDB4MDgsMHgwZiwweDg0LDB4ODcsMHhlOCwweDAwLDB4Y2IsMHgwMCwweDNlLDB4YzQsMHgwZSwweGIwLDB4MDMsMHhlZCwweDAwIH19LAotIHsxNiwgMHhhMTIwLCAwLCB7MHhlOCwweDQyLDB4M2EsMHhjMCwweDBmLDB4ODAsMHgwYiwweDEwLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTEzMCwgMCwgezB4ODgsMHgwNSwweDJjLDB4MDgsMHg4YSwweDAwLDB4MmUsMHg0MiwweDhiLDB4OTAsMHgwMiwweDI4LDB4MTgsMHhiYiwweDQ5LDB4MjIgfX0sCi0gezE2LCAweGExNDAsIDAsIHsweGQwLDB4MzgsMHhiYywweDgyLDB4ZmMsMHgwMCwweGU4LDB4MDIsMHgyMiwweDYyLDB4Y2IsMHg5YywweDAwLDB4ZWYsMHg2MCwweGRmIH19LAotIHsxNiwgMHhhMTUwLCAwLCB7MHgwMCwweDJmLDB4YzAsMHgwYiwweGYwLDB4MDIsMHhlYywweDAwLDB4MDksMHg0MCwweDM3LDB4YzAsMHgwYiwweDkwLDB4MDIsMHgzMiB9fSwKLSB7MTYsIDB4YTE2MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg0OCwweDEwLDB4MTEsMHgwMCwweDJjLDB4YTAgfX0sCi0gezE2LCAweGExNzAsIDAsIHsweDBiLDB4MjAsMHgwMiwweDQ0LDB4MDAsMHg5MCwweGMwLDB4NjQsMHgzNCwweDI4LDB4MzQsMHgwMiwweGNjLDB4MDAsMHg5MywweDg0IH19LAotIHsxNiwgMHhhMTgwLCAwLCB7MHgyOCwweDQwLDB4MGIsMHgwOCwweDAwLDB4Y2UsMHgwMCwweDkzLDB4MDAsMHgyYywweGMyLDB4MGEsMHgzMCwweDAyLDB4YzAsMHgwMCB9fSwKLSB7MTYsIDB4YTE5MCwgMCwgezB4YjIsMHg0MCwweDIyLDB4YzAsMHgwYiwweDIwLDB4MDIsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGExYTAsIDAsIHsweDcwLDB4MDEsMHgxYSwweDQwLDB4ODUsMHg4MCwweDJkLDB4YTAsMHgwYiwweDY4LDB4MDYsMHgxNiwweDgwLDB4YmQsMHg5MCwweDI1IH19LAotIHsxNiwgMHhhMWIwLCAwLCB7MHgyNCwweDE4LDB4N2IsMHg0MiwweGRlLDB4NDAsMHhhMCwweDgwLDB4MjEsMHhlMCwweDBiLDB4NjgsMHgwMiwweGQ2LDB4MDAsMHg5NyB9fSwKLSB7MTYsIDB4YTFjMCwgMCwgezB4OTAsMHgyZCwweGUwLDB4MGIsMHg3OCwweDAyLDB4Y2UsMHg0MCwweDkyLDB4ODAsMHg2ZCwweGU0LDB4MGIsMHg3OCwweDAyLDB4MDggfX0sCi0gezE2LCAweGExZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MjgsMHgwMCwweGQxLDB4ODAsMHgzYywweDg4IH19LAotIHsxNiwgMHhhMWUwLCAwLCB7MHgwYiwweDIyLDB4MDMsMHg0ZSwweDgwLDB4ZjIsMHhhMSwweDNjLDB4MjQsMHgyYSwweDM5LDB4MDMsMHhjYywweDQwLDB4ZDMsMHhhYyB9fSwKLSB7MTYsIDB4YTFmMCwgMCwgezB4MzgsMHhjNSwweDBmLDB4MzAsMHg4MiwweGM4LDB4MDAsMHhkMywweDAwLDB4M2MsMHhjMCwweDBlLDB4MzAsMHgxMywweGMwLDB4MDAgfX0sCi0gezE2LCAweGEyMDAsIDAsIHsweGYxLDB4MDAsMHgzOCwweGMwLDB4MGYsMHhhMCwweDAzLDB4MWEsMHgwNiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhMjEwLCAwLCB7MHg0MCwweDFkLDB4YjgsMHgxMCwweGZkLDB4MzQsMHgzZSwweDgwLDB4MGYsMHhlMCwweDAzLDB4ZWUsMHgwMCwweDcyLDB4MDAsMHgzYSB9fSwKLSB7MTYsIDB4YTIyMCwgMCwgezB4MDAsMHgwZiwweGIwLDB4NjMsMHhlYywweDQwLDB4ZjgsMHgyMiwweDNlLDB4YzAsMHgwZiwweGYwLDB4MDMsMHhkNCwweDQwLDB4ZmYgfX0sCi0gezE2LCAweGEyMzAsIDAsIHsweDAwLDB4M2YsMHhkMiwweDBmLDB4ZjAsMHgwMywweGVjLDB4MDAsMHhjZiwweDAwLDB4MzcsMHhjMCwweDBmLDB4ZjAsMHgwMywweGQwIH19LAotIHsxNiwgMHhhMjQwLCAwLCB7MHgwNiwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGVlLDB4MDAsMHhlYiwweDAwLDB4MzYsMHhlMCB9fSwKLSB7MTYsIDB4YTI1MCwgMCwgezB4MGQsMHhiMCwweDAzLDB4MjAsMHgwMCwweGYwLDB4ODAsMHgzMywweGMwLDB4MDgsMHhiOCwweDAzLDB4MmMsMHg4MCwweGNiLDB4MDAgfX0sCi0gezE2LCAweGEyNjAsIDAsIHsweDMyLDB4ODAsMHgwZiwweGEwLDB4MTMsMHg2ZSwweDA4LDB4Y2IsMHgyOCwweDMyLDB4ZTAsMHgwZCwweGI0LDB4ODMsMHhlMiwweDAwIH19LAotIHsxNiwgMHhhMjcwLCAwLCB7MHhjYSwweDAwLDB4M2UsMHhlMCwweDBjLDB4YTgsMHgwMywweDAyLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTI4MCwgMCwgezB4YzgsMHgxMSwweDhjLDB4MDQsMHg4MywweDAwLDB4MjEsMHhjMCwweDQ4LDB4NzAsMHgwMiwweDEwLDB4MDAsMHhiNywweDAyLDB4MjEgfX0sCi0gezE2LCAweGEyOTAsIDAsIHsweGMwLDB4NGEsMHg3MCwweDAyLDB4MGQsMHg0OCwweGQ0LDB4MDAsMHgzNSwweGMwLDB4MGUsMHg2MCwweDAyLDB4ZGMsMHgwMCwweGE3IH19LAotIHsxNiwgMHhhMmEwLCAwLCB7MHg0MCwweDI5LDB4YzAsMHgwOSwweDcyLDB4MDIsMHhkNCwweDEwLDB4YTYsMHgwMiwweDJmLDB4YzgsMHgwOCwweDcwLDB4MDIsMHgxMiB9fSwKLSB7MTYsIDB4YTJiMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDAsMHg5ZSwweDAwLDB4YTcsMHg4MCwweDIwLDB4ZTAgfX0sCi0gezE2LCAweGEyYzAsIDAsIHsweDBhLDB4MzgsMHgwMiwweDFhLDB4MDAsMHhiNSwweDgwLDB4MjEsMHhlMCwweDA4LDB4ZjgsMHgyMiwweDVjLDB4ODEsMHg4MywweDgwIH19LAotIHsxNiwgMHhhMmQwLCAwLCB7MHgyMSwweGExLDB4MGIsMHg3OCwweDgyLDB4NWEsMHgxMCwweDgzLDB4YTAsMHgyMCwweGU4LDB4MGEsMHg3YiwweDAyLDB4ZGEsMHgwMCB9fSwKLSB7MTYsIDB4YTJlMCwgMCwgezB4OTcsMHhjMCwweDJkLDB4ZTQsMHgwOCwweGU4LDB4MDIsMHgwOCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGEyZjAsIDAsIHsweDA4LDB4MTQsMHhjYywweDAwLDB4ODMsMHgxMCwweDIwLDB4YzAsMHgwYSwweDMwLDB4MDIsMHgwOCwweDA4LDB4YjMsMHg3MCwweDIwIH19LAotIHsxNiwgMHhhMzAwLCAwLCB7MHhmOCwweDBhLDB4MzAsMHg0MiwweDRjLDB4MDQsMHg5MywweDE0LDB4MjYsMHhjNCwweDBhLDB4MzgsMHgwMiwweGNjLDB4MDAsMHhhMyB9fSwKLSB7MTYsIDB4YTMxMCwgMCwgezB4MDAsMHgyOCwweGMwLDB4YWEsMHgzMCwweDAyLDB4Y2UsMHg0MCwweGIzLDB4ODgsMHgyYywweGMwLDB4MjgsMHgzMCwweDBhLDB4MTIgfX0sCi0gezE2LCAweGEzMjAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YTksMHgwMCwweGVhLDB4ODAsMHhiNiwweDkwIH19LAotIHsxNiwgMHhhMzMwLCAwLCB7MHgyZiwweDI0LDB4MGIsMHgzOSwweDA0LDB4YmUsMHhjMCwweDMzLDB4OTIsMHgwYywweGEwLDB4MGIsMHg2OCwweDE4LDB4Y2UsMHhjMCB9fSwKLSB7MTYsIDB4YTM0MCwgMCwgezB4MzMsMHg4MCwweDBmLDB4ZTksMHg0MywweDc4LDB4MDAsMHhjYSwweDAwLDB4MzIsMHg4MCwweDBmLDB4YTAsMHgxMywweGY4LDB4NDggfX0sCi0gezE2LCAweGEzNTAsIDAsIHsweGRlLDB4MDAsMHgzZSwweDgwLDB4MGMsMHhlMCwweDAyLDB4M2EsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhMzYwLCAwLCB7MHg0OCwweDAwLDB4ZTAsMHgyNCwweGY4LDB4MDAsMHgzZSwweDEyLDB4MGQsMHg4MCwweDkzLDB4YjAsMHgyOCwweGY4LDB4MDAsMHhiYyB9fSwKLSB7MTYsIDB4YTM3MCwgMCwgezB4MDAsMHgwZiwweDg0LDB4MDMsMHhhMCwweDAwLDB4ZjAsMHgwMCwweDNlLDB4MDIsMHgwZSwweDgwLDB4MDAsMHhlMCwweDAwLDB4ZjggfX0sCi0gezE2LCAweGEzODAsIDAsIHsweDAxLDB4M2UsMHgwMCwweDBkLDB4ODAsMHgwMywweGUwLDB4MDAsMHhlOCwweDAwLDB4M2UsMHgwMCwweDBmLDB4ODAsMHgwMywweGQyIH19LAotIHsxNiwgMHhhMzkwLCAwLCB7MHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGU0LDB4MDAsMHhmOSwweDAwLDB4YjIsMHg3MCB9fSwKLSB7MTYsIDB4YTNhMCwgMCwgezB4MGYsMHg5MCwweDAxLDB4MDQsMHgwMCwweGM5LDB4MDAsMHgzZSwweDQwLDB4MGMsMHg5OCwweDAzLDB4ZTQsMHgwNCwweGU5LDB4MDggfX0sCi0gezE2LCAweGEzYjAsIDAsIHsweDNhLDB4NDgsMHgwYywweDlhLDB4MDMsMHhlNCwweDAwLDB4ZjksMHgwMCwweDM2LDB4NDAsMHgwYiwweDEwLDB4MGIsMHgyNiwweDgwIH19LAotIHsxNiwgMHhhM2MwLCAwLCB7MHhmMSwweDgwLDB4MzIsMHg0MCwweDBmLDB4OTAsMHgwMywweGMyLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTNkMCwgMCwgezB4ODAsMHgwNCwweDY0LDB4MDAsMHhiOSwweDAwLDB4MjIsMHg2MSwweDBiLDB4OTAsMHgwMiwweDI0LDB4MDgsMHg4OSwweDAwLDB4MmUgfX0sCi0gezE2LCAweGEzZTAsIDAsIHsweDQwLDB4MGQsMHg5YSwweDAyLDB4ZTQsMHgwOCwweGE5LDB4MDAsMHgyMiwweDc4LDB4MGQsMHg5NCwweDA2LDB4ZTQsMHgxMCwweGI5IH19LAotIHsxNiwgMHhhM2YwLCAwLCB7MHgwMCwweDIyLDB4NTAsMHgwYiwweDkwLDB4MDIsMHgyNSwweDgwLDB4YjksMHg4MCwweDM2LDB4NDAsMHgwYiwweDkwLDB4MDIsMHhlMCB9fSwKLSB7MTYsIDB4YTQwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHgyNCwweDAwLDB4YjUsMHgwMCwweDIzLDB4NDIgfX0sCi0gezE2LCAweGE0MTAsIDAsIHsweDBiLDB4ZDAsMHgwZSwweGI0LDB4MDAsMHg4OSwweDA0LDB4MmUsMHg2MCwweDA4LDB4OTEsMHgwMiwweGM0LDB4MDQsMHhiOSwweDA0IH19LAotIHsxNiwgMHhhNDIwLCAwLCB7MHgyYSwweGMwLDB4MDgsMHg5NCwweDAyLDB4ZTQsMHgxMCwweGIxLDB4MDAsMHgyNiwweDQyLDB4MGEsMHg5MCwweDAyLDB4MjQsMHgwMCB9fSwKLSB7MTYsIDB4YTQzMCwgMCwgezB4YjksMHgyMSwweDYyLDB4NDAsMHgwYiwweDkwLDB4MDIsMHhjNiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGE0NDAsIDAsIHsweDA4LDB4MDQsMHgwNSwweDAwLDB4YjUsMHg0MCwweDIxLDB4NTAsMHg0YiwweDUwLDB4MDYsMHg5NCwweDAyLDB4ODEsMHgwMCwweDJjIH19LAotIHsxNiwgMHhhNDUwLCAwLCB7MHg2MCwweDI5LDB4MTQsMHgwNiwweGM1LDB4MDAsMHhhMSwweDIyLDB4MjAsMHg1MSwweDg5LDB4MTQsMHgwMiwweGM0LDB4MDAsMHhiMSB9fSwKLSB7MTYsIDB4YTQ2MCwgMCwgezB4MjAsMHgyMCwweDQ4LDB4MGIsMHgxNCwweDAyLDB4MDQsMHgwMSwweGIxLDB4MDAsMHgwNCwweDUwLDB4MGIsMHgxMCwweDAyLDB4YzIgfX0sCi0gezE2LCAweGE0NzAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjAsMHgwOCwweGI4LDB4MDAsMHgzMiwweDAwIH19LAotIHsxNiwgMHhhNDgwLCAwLCB7MHg4ZiwweDgwLDB4MDMsMHhiMCwweDAwLDB4ODgsMHgwMCwweDNlLDB4MDAsMHgwYywweDgwLDB4MDMsMHhlMCwweDAwLDB4ZTgsMHgwNCB9fSwKLSB7MTYsIDB4YTQ5MCwgMCwgezB4M2EsMHgwMCwweDBjLDB4ODAsMHgwMiwweGUwLDB4MDAsMHhmOCwweDUwLDB4MzYsMHgwMCwweDBmLDB4ODAsMHgwMywweDIwLDB4MDQgfX0sCi0gezE2LCAweGE0YTAsIDAsIHsweGY4LDB4MDEsMHgxMiwweDAwLDB4NGYsMHg4MCwweDA3LDB4ZWUsMHgwNywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhNGIwLCAwLCB7MHg5OCwweDFkLDB4ZTUsMHgxMCwweGY5LDB4NDAsMHgzZSwweDUwLDB4MGYsMHg5NCwweDAyLDB4NjUsMHgwMSwweGZkLDB4MDEsMHgzZCB9fSwKLSB7MTYsIDB4YTRjMCwgMCwgezB4NTAsMHg0ZiwweDUwLDB4MTMsMHhlNSwweDAwLDB4ZmQsMHgxMCwweDFmLDB4NTAsMHgwNywweGQ0LDB4NDMsMHhkNCwweDAwLDB4ZjkgfX0sCi0gezE2LCAweGE0ZDAsIDAsIHsweDEwLDB4MWUsMHg0NCwweDBmLDB4OTQsMHgwMywweGQ1LDB4MDAsMHhmZCwweDQwLDB4M2UsMHg1MCwweDBmLDB4NTIsMHg4MywweGVlIH19LAotIHsxNiwgMHhhNGUwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgxNSwweGU0LDB4NDAsMHhmOSwweDYwLDB4M2YsMHg0NCB9fSwKLSB7MTYsIDB4YTRmMCwgMCwgezB4MGYsMHhkMCwweGMzLDB4ZTQsMHgzMCwweGY5LDB4MDEsMHgzZSwweDQyLDB4MGMsMHhkMCwweDAzLDB4ZTcsMHg4MCwweGRkLDB4YTAgfX0sCi0gezE2LCAweGE1MDAsIDAsIHsweDMzLDB4NDAsMHgwYywweGQwLDB4MDMsMHhmYywweDAwLDB4YzksMHg5MCwweDNmLDB4NjgsMHgxZSwweDkxLDB4MDMsMHgzNCwweDAwIH19LAotIHsxNiwgMHhhNTEwLCAwLCB7MHhmZCwweDAwLDB4M2UsMHg2OCwweDBjLDB4OTQsMHgwMywweDBlLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTUyMCwgMCwgezB4MzksMHgxMCwweGUwLDB4MDAsMHhiOCwweDQyLDB4MmUsMHgwOSwweDBiLDB4ODQsMHgwMiwweGUxLDB4MDQsMHhiZSwweDAwLDB4MmUgfX0sCi0gezE2LCAweGE1MzAsIDAsIHsweDEwLDB4MDgsMHg4MCwweDIyLDB4YzIsMHg4MCwweDg4LDB4NDAsMHgyMiwweDAwLDB4MGEsMHg4MCwweDAyLDB4ZTAsMHgwMCwweGE4IH19LAotIHsxNiwgMHhhNTQwLCAwLCB7MHhkMCwweDJlLDB4MTAsMHg0YiwweDhhLDB4MDMsMHg2MCwweDAwLDB4YmEsMHgwMCwweDJlLDB4MzAsMHgwOCwweDhhLDB4MDIsMHg4NiB9fSwKLSB7MTYsIDB4YTU1MCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MDUsMHhjNSwweDgwLDB4YjEsMHg2MCwweDZjLDB4ZDAgfX0sCi0gezE2LCAweGE1NjAsIDAsIHsweDBiLDB4MTAsMHgwMCwweGRjLDB4MGMsMHhiNSwweDAwLDB4MmMsMHg0MSwweDA4LDB4MTAsMHgwMiwweGM1LDB4ODAsMHg5MSwweDEwIH19LAotIHsxNiwgMHhhNTcwLCAwLCB7MHg2OCwweGMwLDB4MDgsMHgzMCwweDAyLDB4ZTQsMHgwYywweDgxLDB4MjIsMHgyYywweDUwLDB4MDgsMHgxMCwweDQyLDB4MDQsMHgwMCB9fSwKLSB7MTYsIDB4YTU4MCwgMCwgezB4YTEsMHgwMCwweDJjLDB4NWEsMHgyOCwweDkwLDB4MDIsMHg1MiwweDEwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGE1OTAsIDAsIHsweDE4LDB4MTUsMHhhNCwweDAwLDB4YjksMHgwMCwweDJlLDB4NDEsMHgwYiwweDkwLDB4MTIsMHhmNCwweDgwLDB4YmYsMHgwMCwweDJlIH19LAotIHsxNiwgMHhhNWEwLCAwLCB7MHg0MCwweDA4LDB4OTAsMHgwMiwweGU0LDB4MDAsMHhhOSwweDYwLDB4NjAsMHg0MiwweDBhLDB4OTQsMHgxMiwweGU1LDB4MDAsMHhhOSB9fSwKLSB7MTYsIDB4YTViMCwgMCwgezB4MDAsMHgyZSwweDQwLDB4MGIsMHg5MCwweDAyLDB4NjQsMHgyMCwweGI5LDB4MDAsMHgwZSwweDQwLDB4MDksMHg5MCwweDAyLDB4YzYgfX0sCi0gezE2LCAweGE1YzAsIDAsIHsweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDA1LDB4ZTQsMHgwMCwweGY5LDB4MDAsMHgzZSwweDQxIH19LAotIHsxNiwgMHhhNWQwLCAwLCB7MHgwZiwweDkwLDB4MjMsMHhlNCwweDAwLDB4ZjksMHgwMCwweDNlLDB4NDAsMHgwYywweDkwLDB4MDMsMHhlNCwweDA0LDB4ZDEsMHhjMCB9fSwKLSB7MTYsIDB4YTVlMCwgMCwgezB4YmEsMHg3MCwweDBjLDB4OTgsMHgwMywweGM0LDB4MDAsMHhjOSwweDAwLDB4M2UsMHg0MCwweDBlLDB4OTAsMHgwMywweDI1LDB4NDAgfX0sCi0gezE2LCAweGE1ZjAsIDAsIHsweGU5LDB4NDAsMHgzZSwweDQwLDB4MGMsMHgxMCwweDAzLDB4NjgsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhNjAwLCAwLCB7MHg2OCwweDAxLDB4YTQsMHgxNCwweGY5LDB4MDAsMHgzZSwweDQwLDB4MGYsMHg5MCwweDIzLDB4ZTQsMHgwOCwweGY5LDB4YTAsMHgzYyB9fSwKLSB7MTYsIDB4YTYxMCwgMCwgezB4YzIsMHgyZiwweDkwLDB4MDMsMHhjNCwweDAwLDB4ZDksMHg4MCwweDNlLDB4NzAsMHgwZiwweDkxLDB4NDMsMHhlNCwweDAwLDB4ZjkgfX0sCi0gezE2LCAweGE2MjAsIDAsIHsweDAwLDB4M2UsMHg0MCwweDFmLDB4OTAsMHgxMywweGU2LDB4MjAsMHhmOSwweGEwLDB4M2MsMHg0MCwweDRlLDB4OTAsMHgwMywweDlhIH19LAotIHsxNiwgMHhhNjMwLCAwLCB7MHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwMCwweGEwLDB4MDAsMHhmOCwweDAwLDB4M2UsMHgwMiB9fSwKLSB7MTYsIDB4YTY0MCwgMCwgezB4MGYsMHg4MCwweDEzLDB4MjAsMHgwYywweGZjLDB4MDEsMHgzZSwweDAwLDB4MGMsMHg4MCwweDAzLDB4ZTAsMHgwMCwweGM4LDB4NTAgfX0sCi0gezE2LCAweGE2NTAsIDAsIHsweDMyLDB4MDAsMHgwZiwweDgwLDB4MGIsMHgyMCwweDA4LDB4ZjgsMHgwMCwweDMyLDB4MDAsMHgyYywweDgwLDB4NDMsMHhlMCwweDQwIH19LAotIHsxNiwgMHhhNjYwLCAwLCB7MHhmOCwweDAyLDB4M2EsMHgwMCwweDhmLDB4ODAsMHgwMywweDBhLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTY3MCwgMCwgezB4YTgsMHg4NSwweDI4LDB4MDgsMHgzYSwweDAwLDB4MGYsMHg4MCwweDRiLDB4YTEsMHgwMiwweDI4LDB4MDAsMHhiYSwweDgyLDB4MmUgfX0sCi0gezE2LCAweGE2ODAsIDAsIHsweDg4LDB4NDgsMHhlNCwweDAyLDB4ZTgsMHgwMCwweGFlLDB4OTAsMHhhMywweDkwLDB4MGIsMHhlMCwweDAwLDB4MzgsMHgwMCwweGJhIH19LAotIHsxNiwgMHhhNjkwLCAwLCB7MHgwMCwweDM3LDB4YTAsMHgwOCwweGEwLDB4MDIsMHhmOCwweDAwLDB4OWUsMHhlMCwweDIyLDB4ODAsMHgwYiwweGEwLDB4MjMsMHg0MiB9fSwKLSB7MTYsIDB4YTZhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg0YywweDEwLDB4MzMsMHgwMCwweDJjLDB4ZDAgfX0sCi0gezE2LCAweGE2YjAsIDAsIHsweDBiLDB4MTQsMHgwMiwweDBjLDB4MDAsMHhiMiwweDkxLDB4MmMsMHhkMCwweDA4LDB4M2UsMHgwMiwweDRjLDB4MDAsMHg4MywweDQwIH19LAotIHsxNiwgMHhhNmMwLCAwLCB7MHgyNCwweGMyLDB4MGIsMHgzNiwweDAwLDB4OGMsMHgwMCwweGIzLDB4MDAsMHgyMCwweGMwLDB4MDksMHhiMCwweDAyLDB4Y2UsMHgwMCB9fSwKLSB7MTYsIDB4YTZkMCwgMCwgezB4YjMsMHhjYywweDY4LDB4YzAsMHgwYiwweDMwLDB4MDIsMHgwMiwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGE2ZTAsIDAsIHsweGUwLDB4MDEsMHgxYywweDg4LDB4YjcsMHgyNSwweDJkLDB4YzAsMHg4YiwweDU4LDB4MWEsMHgxYywweDA4LDB4YjYsMHgwMCwweDJkIH19LAotIHsxNiwgMHhhNmYwLCAwLCB7MHhjMCwweDA4LDB4NzQsMHgwMiwweGRjLDB4NDAsMHhhNSwweDAwLDB4MjUsMHhjMCwweDFiLDB4NzgsMHgwMiwweDk0LDB4MDgsMHhiNyB9fSwKLSB7MTYsIDB4YTcwMCwgMCwgezB4ODAsMHgyNSwweGUzLDB4MGEsMHg3MSwweDAyLDB4ZGMsMHgwMCwweDk3LDB4ODMsMHgyMSwweGM4LDB4OGIsMHhmMSwweDAyLDB4NDggfX0sCi0gezE2LCAweGE3MTAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MWYsMHgwMCwweGY3LDB4ZTIsMHg3ZCwweGUwIH19LAotIHsxNiwgMHhhNzIwLCAwLCB7MHgwZiwweDU4LDB4NDMsMHgxZSwweDE4LDB4ZjYsMHg4MCwweDdjLDB4ZTAsMHgyYywweDY4LDB4MDIsMHg1ZSwweDkwLDB4YzMsMHg4MCB9fSwKLSB7MTYsIDB4YTczMCwgMCwgezB4MzUsMHhlMCwweDBmLDB4ZjgsMHgwMywweDllLDB4MDQsMHhmZiwweGExLDB4MjAsMHhhMSwweDBkLDB4NzgsMHgwMywweGQ2LDB4MDAgfX0sCi0gezE2LCAweGE3NDAsIDAsIHsweGY3LDB4ODAsMHgzOSwweGY4LDB4MGYsMHg3OCwweDAzLDB4MGEsMHgwNiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhNzUwLCAwLCB7MHg0OCwweDFkLDB4YWMsMHgwMCwweGZiLDB4NDAsMHg3ZiwweDQxLDB4MGYsMHgxMCwweDAzLDB4ZWMsMHgwNCwweGZhLDB4MDAsMHgzZSB9fSwKLSB7MTYsIDB4YTc2MCwgMCwgezB4ZDAsMHgwZiwweGEwLDB4MDMsMHhlZCwweDAwLDB4ZTksMHgwMCwweDJhLDB4MDAsMHgwZiwweGIwLDB4MDMsMHg2NCwweDAwLDB4ZmIgfX0sCi0gezE2LCAweGE3NzAsIDAsIHsweDQwLDB4M2UsMHhjMCwweDBkLDB4YjAsMHgwMywweGU0LDB4MDAsMHhkMywweDAwLDB4MzYsMHhjMCwweDBmLDB4MzgsMHgwMywweGMyIH19LAotIHsxNiwgMHhhNzgwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwNSwweGZlLDB4NDgsMHhjZiwweGMwLDB4MzMsMHg2MCB9fSwKLSB7MTYsIDB4YTc5MCwgMCwgezB4OGMsMHhjOCwweDQzLDB4ZDYsMHgwMCwweGNjLDB4OTQsMHgzZiwweGIwLDB4MGQsMHhmOCwweDAzLDB4N2YsMHgwMCwweGRmLDB4ODAgfX0sCi0gezE2LCAweGE3YTAsIDAsIHsweDNmLDB4NjAsMHgwZiwweGQ4LDB4MDMsMHhkZSwweDAwLDB4Y2YsMHhjYSwweDNkLDB4NjAsMHgwYywweGY4LDB4MTMsMHgzYSwweDQ0IH19LAotIHsxNiwgMHhhN2IwLCAwLCB7MHhkZCwweDgwLDB4M2YsMHhlMCwweDBmLDB4ZjgsMHg0MywweDE4LDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTdjMCwgMCwgezB4YTgsMHgxMSwweDljLDB4MDAsMHg4ZiwweDExLDB4MzMsMHhjMCwweDQ4LDB4NDEsMHgxMiwweGM0LDB4NDgsMHg4NCwweDExLDB4MmMgfX0sCi0gezE2LCAweGE3ZDAsIDAsIHsweGVjLDB4MmEsMHhiYSwweDAzLDB4M2MsMHg0MCwweGQ3LDB4NDgsMHgyZCwweDQxLDB4MGIsMHg2MCwweDAyLDB4ZDQsMHgwMCwweGQ3IH19LAotIHsxNiwgMHhhN2UwLCAwLCB7MHgwMSwweDNkLDB4YzAsMHgwZCwweGYwLDB4MDMsMHg1YSwweDAwLDB4ODQsMHgxOCwweDJkLDB4YzAsMHgwYiwweDcwLDB4MDMsMHg2YSB9fSwKLSB7MTYsIDB4YTdmMCwgMCwgezB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHg4YywweDA4LDB4ODcsMHgwMCwweDIxLDB4NDAgfX0sCi0gezE2LCAweGE4MDAsIDAsIHsweDA5LDB4NDAsMHgwMiwweGQ0LDB4MDAsMHhhNCwweDkyLDB4MmQsMHhjOCwweDA5LDB4NjIsMHg4MiwweDVjLDB4MDAsMHg4NywweDAwIH19LAotIHsxNiwgMHhhODEwLCAwLCB7MHgyZCwweGMwLDB4MGIsMHg1MCwweDAyLDB4ZmMsMHgwMCwweDg3LDB4MDAsMHgyZCwweDA0LDB4MDgsMHg3MCwweDAyLDB4MWMsMHg4MCB9fSwKLSB7MTYsIDB4YTgyMCwgMCwgezB4YjUsMHgwMCwweDJkLDB4YzAsMHgwYiwweGYwLDB4MDIsMHgwMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGE4MzAsIDAsIHsweDYwLDB4MTAsMHhjYywweDAwLDB4ODMsMHgwMCwweDIwLDB4NDAsMHgwOSwweDAwLDB4MjIsMHhjNywweDAwLDB4YTAsMHg0MSwweDJjIH19LAotIHsxNiwgMHhhODQwLCAwLCB7MHhjMSwweDRiLDB4MDgsMHgwMiwweDJjLDB4MDAsMHg5MywweDQwLDB4MmMsMHg3YywweDBiLDB4MzgsMHgwMiwweGM3LDB4MjAsMHg5MyB9fSwKLSB7MTYsIDB4YTg1MCwgMCwgezB4MDAsMHgyYywweGMwLDB4MDksMHgzMCwweDAyLDB4NGYsMHg4NCwweGIwLDB4ODAsMHgyYywweGMwLDB4MGIsMHgzMiwweDEwLDB4NTAgfX0sCi0gezE2LCAweGE4NjAsIDAsIHsweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhYSwweDE1LDB4YmMsMHgwMiwweGNmLDB4MDAsMHhiMiwweDQwIH19LAotIHsxNiwgMHhhODcwLCAwLCB7MHgwZCwweDEwLDB4MDMsMHhlOCwweDI0LDB4ZWIsMHhjMSwweDNlLDB4YzAsMHgyZCwweDk4LDB4MTMsMHg3YywweDBhLDB4YzIsMHg0MyB9fSwKLSB7MTYsIDB4YTg4MCwgMCwgezB4M2UsMHhiMCwweDBmLDB4YTksMHgwMywweGU5LDB4MjAsMHhjZiwweDAwLDB4M2UsMHhjMCwweDhjLDB4ZjAsMHgwMywweDBkLDB4MjAgfX0sCi0gezE2LCAweGE4OTAsIDAsIHsweGZhLDB4YzAsMHgzZiwweGMwLDB4MGYsMHg3NCwweDAxLDB4MmEsMHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhOGEwLCAwLCB7MHg4MCwweDAwLDB4ZWMsMHgwMCwweGZiLDB4MDIsMHgzYSwweDQwLDB4OGUsMHg5MCwweDAzLDB4ZTgsMHgxNCwweDViLDB4NTAsMHgzYyB9fSwKLSB7MTYsIDB4YThiMCwgMCwgezB4NTAsMHg0ZSwweDg0LDB4MDMsMHhlYywweDAwLDB4ZjgsMHg0MCwweDNlLDB4ODAsMHgwNywweDgxLDB4MDMsMHhlYywweDA4LDB4ZjMgfX0sCi0gezE2LCAweGE4YzAsIDAsIHsweDAwLDB4M2EsMHhjMCwweDlmLDB4MzAsMHgwMywweGVjLDB4MDAsMHhjYiwweDIwLDB4M2UsMHhjMCwweDBmLDB4YjAsMHgyMywweGU4IH19LAotIHsxNiwgMHhhOGQwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHg5MCwweGZjLDB4MDAsMHhmZiwweDAwLDB4M2YsMHg0MCB9fSwKLSB7MTYsIDB4YThlMCwgMCwgezB4MGYsMHhkMCwweDAzLDB4MzgsMHgyMCwweGNmLDB4MDgsMHgzMiwweGMxLDB4MGUsMHhkMCwweDAzLDB4ZmMsMHgwMCwweGZlLDB4MDggfX0sCi0gezE2LCAweGE4ZjAsIDAsIHsweDMxLDB4ZTUsMHgwZSwweGU0LDB4MDMsMHgzYSwweDAwLDB4ZmYsMHgwMCwweDMzLDB4ODAsMHgwZiwweGYwLDB4MmIsMHgyNCwweDAwIH19LAotIHsxNiwgMHhhOTAwLCAwLCB7MHhjYywweGEwLDB4M2YsMHhjMCwweDBmLDB4ZjAsMHgwMywweDAwLDB4NDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTkxMCwgMCwgezB4ODAsMHgwNCwweDZjLDB4MDAsMHhiYiwweDAwLDB4M2EsMHg2OSwweDBiLDB4OTAsMHg2ZSwweDA4LDB4MDAsMHg4MywweDQxLDB4MzYgfX0sCi0gezE2LCAweGE5MjAsIDAsIHsweDQwLDB4YzgsMHg4OCwweGM2LDB4ZWMsMHgwMCwweDg4LDB4NDAsMHgzNiwweDgwLDB4MGQsMHhhOCwweDAzLDB4NmUsMHg1MCwweGJiIH19LAotIHsxNiwgMHhhOTMwLCAwLCB7MHgwMCwweDM2LDB4YzAsMHgwYiwweGIwLDB4MDIsMHgyNCwweDAwLDB4ZDksMHgwOCwweDJlLDB4YzAsMHgwYiwweGIwLDB4MDMsMHhlMCB9fSwKLSB7MTYsIDB4YTk0MCwgMCwgezB4NDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgyYywweDAwLDB4YmIsMHgwMCwweDJlLDB4NjAgfX0sCi0gezE2LCAweGE5NTAsIDAsIHsweDAzLDB4ODAsMHgwMiwweDIwLDB4MDAsMHg4OSwweDAxLDB4MjIsMHg1OCwweDA4LDB4OTgsMHgyMiwweGVjLDB4MDEsMHhhYiwweDAwIH19LAotIHsxNiwgMHhhOTYwLCAwLCB7MHgyMiwweDAwLDB4MGEsMHgxMCwweDAyLDB4MjgsMHgwMCwweGJiLDB4MDAsMHgyMiwweDQwLDB4MGIsMHhiMCwweDAyLDB4MjgsMHgwMCB9fSwKLSB7MTYsIDB4YTk3MCwgMCwgezB4OGEsMHgwMCwweDJlLDB4YzAsMHgwYiwweGIwLDB4NDIsMHgyMCwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGE5ODAsIDAsIHsweDA4LDB4MDQsMHgwYywweDAwLDB4YjMsMHgwMCwweDI4LDB4NDAsMHg4YiwweDAwLDB4MDIsMHgwMiwweDQwLDB4ODksMHgwMSwweDI0IH19LAotIHsxNiwgMHhhOTkwLCAwLCB7MHhkMiwweDI4LDB4MTAsMHgwMiwweGNjLDB4MDAsMHg4MywweDEwLDB4MjQsMHgyMCwweDA4LDB4MDgsMHgwMiwweDRlLDB4MDAsMHhiMyB9fSwKLSB7MTYsIDB4YTlhMCwgMCwgezB4MDQsMHhhMCwweGMwLDB4MGIsMHgzMCwweDAyLDB4MDgsMHg4OCwweDkyLDB4MDAsMHgyYywweGMwLDB4MGIsMHhiMCwweDAyLDB4YzIgfX0sCi0gezE2LCAweGE5YjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4NmMsMHgwMCwweGZmLDB4MDAsMHgzZSwweDAwIH19LAotIHsxNiwgMHhhOWMwLCAwLCB7MHgwZiwweDgwLDB4MDIsMHgyMCwweDEwLDB4ODksMHg1MCwweDIyLDB4ZDgsMHgyZSwweDk2LDB4MjIsMHhmYywweDAwLDB4ZWIsMHg0MCB9fSwKLSB7MTYsIDB4YTlkMCwgMCwgezB4MzIsMHhjMCwweDBhLDB4OTAsMHgwMywweDI4LDB4MDAsMHhmZiwweDAwLDB4MjIsMHgwMCwweDBmLDB4YjAsMHgwMywweDJjLDB4YTAgfX0sCi0gezE2LCAweGE5ZTAsIDAsIHsweGM4LDB4MDAsMHgzZSwweGMwLDB4MGYsMHhiMCwweDAzLDB4MDAsMHgwNiwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhOWYwLCAwLCB7MHhhMCwweDE5LDB4ZmMsMHgwMCwweGZmLDB4MGMsMHgzYiwweDAwLDB4MGYsMHhjMCwweDAyLDB4NzAsMHg5MCwweGZkLDB4MDAsMHgzZSB9fSwKLSB7MTYsIDB4YWEwMCwgMCwgezB4YzksMHgwZiwweDk2LDB4YzMsMHhmYywweDAwLDB4ZmYsMHgwMCwweDNmLDB4YzAsMHgwZiwweGYwLDB4MDMsMHhmYywweDA0LDB4ZmYgfX0sCi0gezE2LCAweGFhMTAsIDAsIHsweDA0LDB4M2YsMHhjMCwweDBmLDB4ZjAsMHgwMywweGVjLDB4MDAsMHhmYywweDAwLDB4M2YsMHhjMCwweDBmLDB4NzAsMHgwMywweGU4IH19LAotIHsxNiwgMHhhYTIwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGRjLDB4ODAsMHhmYiwweDI4LDB4M2YsMHgwMCB9fSwKLSB7MTYsIDB4YWEzMCwgMCwgezB4MGMsMHhjMSwweDBiLDB4ZjEsMHgwMiwweGVkLDB4MDAsMHgzNywweDMwLDB4MmMsMHhmMSwweDAzLDB4YjIsMHg0MCwweGZmLDB4MDAgfX0sCi0gezE2LCAweGFhNDAsIDAsIHsweGJiLDB4YzAsMHgwZiwweDQ4LDB4MDYsMHhiMiwweDAwLDB4ZmMsMHg4MCwweDNiLDB4Y2MsMHgwYywweGYwLDB4MDMsMHg3MCwweDgwIH19LAotIHsxNiwgMHhhYTUwLCAwLCB7MHhkZiwweDI4LDB4MzMsMHgwNCwweDBmLDB4ZjQsMHgwMywweDMwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YWE2MCwgMCwgezB4ODAsMHgxMCwweGZmLDB4NDAsMHhiZiwweDYwLDB4MmUsMHgyMSwweDA4LDB4ODIsMHgwMiwweDIwLDB4MDAsMHhhOSwweDI4LDB4MmEgfX0sCi0gezE2LCAweGFhNzAsIDAsIHsweDAwLDB4MDksMHhmYSwweDAyLDB4MjAsMHgwMCwweGJmLDB4NTEsMHgyMywweGQ4LDB4MDksMHg5OCwweDAyLDB4ZTQsMHgzMCwweGIwIH19LAotIHsxNiwgMHhhYTgwLCAwLCB7MHgwMCwweDIzLDB4ZDAsMHgwOCwweGY1LDB4YTIsMHgyNSwweGE0LDB4OGYsMHg0MiwweDNjLDB4MTAsMHgwYiwweGIwLDB4MGEsMHgyMCB9fSwKLSB7MTYsIDB4YWE5MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjYywweDAwLDB4YjMsMHgwOCwweDJjLDB4MDAgfX0sCi0gezE2LCAweGFhYTAsIDAsIHsweDI4LDB4MDAsMHgxYSwweGMwLDB4ODQsMHgyMCwweDAwLDB4MjQsMHhjOCwweDRiLDB4MzEsMHg0MiwweGMwLDB4MDAsMHg5MywweDAyIH19LAotIHsxNiwgMHhhYWIwLCAwLCB7MHgyMCwweGM2LDB4MDgsMHgwMCwweDA2LDB4YzAsMHg4MSwweGIzLDB4MDAsMHgyYywweGQ4LDB4MDksMHgzMiwweDAyLDB4YTAsMHg0MCB9fSwKLSB7MTYsIDB4YWFjMCwgMCwgezB4OTMsMHgwMSwweDI0LDB4NGMsMHgwYiwweDMyLDB4MDIsMHgyMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGFhZDAsIDAsIHsweGMwLDB4MTEsMHhhYywweDAwLDB4YmIsMHgwMiwweDJlLDB4MGEsMHgwOCwweDgwLDB4ODIsMHg2MCwweDAwLDB4YTgsMHgwMCwweDJlIH19LAotIHsxNiwgMHhhYWUwLCAwLCB7MHhlMCwweDFiLDB4YjAsMHgwMiwweDYyLDB4MDEsMHgzYiwweDAwLDB4MjIsMHhjMSwweDA5LDB4OTAsMHgwMiwweGUyLDB4MDAsMHhiYiB9fSwKLSB7MTYsIDB4YWFmMCwgMCwgezB4NjAsMHgyNiwweGMxLDB4MDgsMHhiMCwweDJhLDB4MjYsMHgwMCwweDliLDB4MDQsMHgyZSwweDIxLDB4MGIsMHhiMCwweDAyLDB4MzAgfX0sCi0gezE2LCAweGFiMDAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDExLDB4ZWMsMHgxMCwweGZiLDB4MDAsMHgzZSwweDEwIH19LAotIHsxNiwgMHhhYjEwLCAwLCB7MHgwOCwweDg0LDB4MTMsMHhlYywweDAyLDB4YTksMHgwNCwweDM2LDB4MjAsMHgwZiwweGIwLDB4MDMsMHhlZSwweDgwLDB4ZmIsMHgwMCB9fSwKLSB7MTYsIDB4YWIyMCwgMCwgezB4M2EsMHhjMCwweDBjLDB4YTAsMHgwMywweGEyLDB4ODAsMHg3OSwweDQwLDB4MWUsMHhjMCwweDhjLDB4YjAsMHg2MywweDZhLDB4MTAgfX0sCi0gezE2LCAweGFiMzAsIDAsIHsweGQzLDB4MDAsMHgzNiwweGEyLDB4MDcsMHhiMCwweDAzLDB4MDAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhYjQwLCAwLCB7MHhlMCwweDAxLDB4YmMsMHgwMCwweGZmLDB4MDAsMHgzZSwweDIwLDB4NGQsMHg0MSwweDAzLDB4OWMsMHgwMCwweGZkLDB4MjAsMHhhYiB9fSwKLSB7MTYsIDB4YWI1MCwgMCwgezB4MDAsMHgwYywweGYwLDB4MDMsMHhiOCwweDAwLDB4ZjcsMHgwMCwweDNmLDB4YzAsMHg0ZCwweGM5LDB4MDMsMHhmNCwweDAwLDB4ZmYgfX0sCi0gezE2LCAweGFiNjAsIDAsIHsweDAwLDB4M2IsMHhjMCwweDJlLDB4ZjAsMHgwMCwweGYwLDB4MDAsMHhlZiwweDAwLDB4M2YsMHgwMCwweDRiLDB4NzAsMHgwMywweGY4IH19LAotIHsxNiwgMHhhYjcwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweGFjLDB4ODAsMHhlYiwweDAwLDB4N2UsMHgxMCB9fSwKLSB7MTYsIDB4YWI4MCwgMCwgezB4MmUsMHg4NCwweDAzLDB4ZWMsMHgwMCwweGUwLDB4MDAsMHgzMiwweDUwLDB4MGYsMHhiMCwweDg2LDB4MjUsMHgwMCwweGRiLDB4MjAgfX0sCi0gezE2LCAweGFiOTAsIDAsIHsweDNhLDB4YzAsMHgwZCwweGIwLDB4NjMsMHhlMSwweDEwLDB4ZmIsMHg0OCwweDM4LDB4YzEsMHgwZiwweDMwLDB4MDMsMHgyYywweDA0IH19LAotIHsxNiwgMHhhYmEwLCAwLCB7MHhmYiwweDA4LDB4MzIsMHhjMCwweDBjLDB4YjAsMHgwYiwweDkwLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YWJiMCwgMCwgezB4YzgsMHgwNSwweDNjLDB4MDAsMHg4ZiwweDAwLDB4NjQsMHgyOSwweDI4LDB4ODAsMHgwMywweGVjLDB4MDIsMHhlOCwweDA0LDB4YTggfX0sCi0gezE2LCAweGFiYzAsIDAsIHsweDU2LDB4MDgsMHhmYywweDA3LDB4ZTAsMHgwMCwweDBmLDB4YTAsMHhiZiwweGMwLDB4MGIsMHg5NSwweDAyLDB4YTAsMHgwMCwweGJiIH19LAotIHsxNiwgMHhhYmQwLCAwLCB7MHgwNSwweDM3LDB4YzAsMHg4OSwweGYwLDB4MGEsMHgwZCwweGM4LDB4YmYsMHgwOCwweDJhLDB4ODAsMHgwOCwweGYwLDB4MDIsMHgzMiB9fSwKLSB7MTYsIDB4YWJlMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg0YywweDAxLDB4YjMsMHgwMiwweDI0LDB4ZTAgfX0sCi0gezE2LCAweGFiZjAsIDAsIHsweDBhLDB4MzAsMHgxMiwweDgwLDB4MDMsMHhhMywweDAwLDB4YTgsMHgwMCwweDAyLDB4YjgsMHgyMiwweGMwLDB4MDAsMHhiMywweDAwIH19LAotIHsxNiwgMHhhYzAwLCAwLCB7MHgyOCwweGMxLDB4MGIsMHgwNCwweDAyLDB4MDgsMHgwMCwweGI5LDB4NDAsMHgyOCwweGMwLDB4MGIsMHgzMCwweDAyLDB4MDMsMHgwNCB9fSwKLSB7MTYsIDB4YWMxMCwgMCwgezB4YjMsMHg0NCwweDIwLDB4MDAsMHg0YSwweDMwLDB4MDIsMHgzOCwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGFjMjAsIDAsIHsweDIwLDB4MDEsMHgxZSwweDIwLDB4MTcsMHhhMCwweDY1LDB4ZWMsMHgwOCwweDM4LDB4MDIsMHhjMiwweDQxLDB4YjMsMHg5MiwweDJiIH19LAotIHsxNiwgMHhhYzMwLCAwLCB7MHg2NCwweDBhLDB4MzgsMHgwMiwweDM2LDB4MDEsMHhiNywweDkwLDB4MmQsMHhlMCwweDAzLDB4ZjgsMHgwMCwweDlhLDB4MDAsMHhiNSB9fSwKLSB7MTYsIDB4YWM0MCwgMCwgezB4ODAsMHgyZCwweGUwLDB4ODksMHg3OCwweDEyLDB4MWUsMHgwMCwweGI3LDB4ODAsMHgyOSwweGUwLDB4MGEsMHg3OCwweDAyLDB4MDggfX0sCi0gezE2LCAweGFjNTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MGMsMHgwMCwweDczLDB4YjAsMHgyNCwweGM4IH19LAotIHsxNiwgMHhhYzYwLCAwLCB7MHg0ZSwweDMwLDB4MGEsMHg4MCwweDAyLDB4ZTIsMHgwMCwweDM4LDB4OTQsMHgwZSwweDMxLDB4YTIsMHhjOCwweDAwLDB4NzMsMHgwMCB9fSwKLSB7MTYsIDB4YWM3MCwgMCwgezB4MTgsMHhjNCwweDA1LDB4MDAsMHgwMywweDAwLDB4MDAsMHhmMywweDAwLDB4MzgsMHhjMCwweDA3LDB4YjEsMHgwMywweDAwLDB4MDAgfX0sCi0gezE2LCAweGFjODAsIDAsIHsweGYzLDB4MDEsMHgzMCwweDQxLDB4MGUsMHhiMCwweDAzLDB4OTIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhYzkwLCAwLCB7MHg0MCwweDFkLDB4YmQsMHgwMCwweGVmLDB4MTAsMHgyNiwweGM4LDB4MDMsMHhiMSwweDAzLDB4ZTAsMHgwMCwweGVhLDB4ODEsMHg3OCB9fSwKLSB7MTYsIDB4YWNhMCwgMCwgezB4YzUsMHgwYywweGI1LDB4ZTMsMHhkYywweDAwLDB4YzMsMHgwMCwweDNlLDB4YzEsMHgwZiwweGYwLDB4ODMsMHhiMCwweDAwLDB4ZmYgfX0sCi0gezE2LCAweGFjYjAsIDAsIHsweDAwLDB4MzcsMHhjMCwweDBkLDB4ZjQsMHgwMywweGU0LDB4MDAsMHhmNywweDAwLDB4M2YsMHg0MCwweDBkLDB4ZjAsMHgwMywweGQwIH19LAotIHsxNiwgMHhhY2MwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGVkLDB4MTAsMHhjYiwweDI4LDB4M2UsMHhjMCB9fSwKLSB7MTYsIDB4YWNkMCwgMCwgezB4MGQsMHhiMCwweDEzLDB4YWMsMHgxMCwweGZiLDB4MDAsMHgzYSwweDgwLDB4MDQsMHhiNCwweDAzLDB4YWMsMHgwMCwweGZiLDB4MDQgfX0sCi0gezE2LCAweGFjZTAsIDAsIHsweDNlLDB4YzAsMHgwZiwweGE0LDB4YjMsMHhlMCwweDAwLDB4ZmIsMHg4MCwweDMyLDB4YzAsMHgwZiwweGIwLDB4MDMsMHhlOCwweDAwIH19LAotIHsxNiwgMHhhY2YwLCAwLCB7MHhmYiwweDQ4LDB4YjIsMHg4MCwweDBmLDB4YjAsMHg0MywweGVhLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YWQwMCwgMCwgezB4NDgsMHgxMSwweDljLDB4MDIsMHg4NywweDQ0LDB4MzgsMHhjMCwweDhkLDB4MzAsMHgwMiwweDRjLDB4MDAsMHhmZiwweDAwLDB4MjEgfX0sCi0gezE2LCAweGFkMTAsIDAsIHsweGMwLDB4MDgsMHg3MCwweDAzLDB4OWMsMHgwMCwweGIzLDB4NTAsMHgyMSwweGQ0LDB4NGUsMHg2MiwweDAyLDB4ZDAsMHgwMCwweGJmIH19LAotIHsxNiwgMHhhZDIwLCAwLCB7MHgwMCwweDM1LDB4ZDQsMHgwOSwweDcwLDB4MjIsMHhkOCwweDAwLDB4YmYsMHgyMiwweDIxLDB4YzAsMHgwYiwweDcyLDB4MDIsMHhkMiB9fSwKLSB7MTYsIDB4YWQzMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHg5ZSwweDQwLDB4ODcsMHg4MCwweDJkLDB4ZTAgfX0sCi0gezE2LCAweGFkNDAsIDAsIHsweDA5LDB4NzgsMHgwMiwweGRlLDB4MDAsMHhiNiwweDgwLDB4MjksMHhhMSwweDI4LDB4N2EsMHgzMiwweGRlLDB4MDAsMHgzNywweGEwIH19LAotIHsxNiwgMHhhZDUwLCAwLCB7MHgyNSwweGUwLDB4MDksMHg3OCwweDA2LDB4ZDIsMHgwMCwweGI3LDB4ODAsMHgyMSwweGU4LDB4MGIsMHg3OSwweDAyLDB4ZGUsMHgwMCB9fSwKLSB7MTYsIDB4YWQ2MCwgMCwgezB4YjcsMHg5MCwweDIxLDB4ZTAsMHgwYiwweDc5LDB4MDIsMHhmMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGFkNzAsIDAsIHsweDQ4LDB4MTQsMHhjYywweDA0LDB4ODMsMHgwMSwweDI4LDB4YzAsMHg4OSwweGIwLDB4MGEsMHg0ZiwweDAwLDB4YjIsMHgwMCwweDIwIH19LAotIHsxNiwgMHhhZDgwLCAwLCB7MHhjNCwweDg4LDB4MzAsMHgxNiwweGNmLDB4MDAsMHhiYiwweDA0LDB4MjAsMHhjMSwweDBhLDB4MzIsMHgwNiwweGMyLDB4MDAsMHhiMyB9fSwKLSB7MTYsIDB4YWQ5MCwgMCwgezB4MDAsMHgyNCwweGMwLDB4MDksMHgzMCwweDQyLDB4ZWYsMHgxMCwweGIzLDB4MDAsMHgyMCwweGMwLDB4MGIsMHgzMCwweDAyLDB4ZDIgfX0sCi0gezE2LCAweGFkYTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YTgsMHgwMCwweDRhLDB4MDAsMHgzZSwweDgwIH19LAotIHsxNiwgMHhhZGIwLCAwLCB7MHgyZCwweGEwLDB4MGIsMHhhYSwweDgwLDB4ZmUsMHgwMCwweDJiLDB4ODAsMHgwYywweGEwLDB4NDMsMHhmYiwweDMwLDB4ZmEsMHgwMCB9fSwKLSB7MTYsIDB4YWRjMCwgMCwgezB4M2UsMHg4MCwweDBmLDB4YTAsMHg4MywweGZhLDB4MDQsMHhmZSwweDE4LDB4MjIsMHg4MCwweDBmLDB4YTAsMHgwMywweGZhLDB4ODQgfX0sCi0gezE2LCAweGFkZDAsIDAsIHsweGYyLDB4MDAsMHgzMywweGEyLDB4MGYsMHhhMCwweDAzLDB4ZjIsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhZGUwLCAwLCB7MHg0OCwweDAwLDB4ZTAsMHgwMCwweGYwLDB4MDAsMHgzZSwweDAwLDB4MmYsMHg4MCwweDAzLDB4YTAsMHgyMCwweGZjLDB4MDIsMHgzZSB9fSwKLSB7MTYsIDB4YWRmMCwgMCwgezB4MDAsMHgxZiwweDg0LDB4MDMsMHhhMCwweDAwLDB4ZjgsMHg0MCwweDNlLDB4MDAsMHg0ZiwweDgwLDB4MDEsMHhlMCwweDQwLDB4ZjggfX0sCi0gezE2LCAweGFlMDAsIDAsIHsweDQwLDB4M2UsMHgwMCwweDBkLDB4ODAsMHgxMywweGUwLDB4MDAsMHhmOCwweDAwLDB4M2UsMHgwMCwweDBmLDB4ODAsMHgwMywweGQyIH19LAotIHsxNiwgMHhhZTEwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGM2LDB4MDAsMHhkOSwweDAwLDB4MzYsMHg0MCB9fSwKLSB7MTYsIDB4YWUyMCwgMCwgezB4MGYsMHg5MCwweDBiLDB4MDQsMHgwMCwweGM5LDB4MDAsMHgzNiwweDY4LDB4NmMsMHg5NCwweDAzLDB4ZTQsMHgyMCwweGI5LDB4OTAgfX0sCi0gezE2LCAweGFlMzAsIDAsIHsweDM2LDB4NDAsMHgwYywweDk0LDB4MDMsMHhlNCwweDAwLDB4MjksMHg4MCwweDNlLDB4NDAsMHgwZiwweDkwLDB4MDMsMHgyNCwweDIwIH19LAotIHsxNiwgMHhhZTQwLCAwLCB7MHhjOSwweDAwLDB4MzYsMHg0MCwweDBmLDB4OTAsMHgwMywweGMyLDB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YWU1MCwgMCwgezB4ODAsMHgwNCwweDY2LDB4NTAsMHg4OSwweDAwLDB4MjAsMHg1MCwweDA4LDB4OTAsMHgwMiwweDI0LDB4MDksMHhkOSwweDAwLDB4MjAgfX0sCi0gezE2LCAweGFlNjAsIDAsIHsweDQ4LDB4NDgsMHg5MCwweDA2LDB4ZTQsMHgwNCwweDk5LDB4YTAsMHgyMiwweDQwLDB4MGQsMHhiOCwweDIyLDB4NjQsMHgwMCwweDA5IH19LAotIHsxNiwgMHhhZTcwLCAwLCB7MHg1MCwweDMyLDB4NDAsMHgwYiwweDkwLDB4MDIsMHgyNywweDkwLDB4ODksMHg0MCwweDJhLDB4NDAsMHgwYiwweDkwLDB4MDIsMHhlMCB9fSwKLSB7MTYsIDB4YWU4MCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDEsMHgyNCwweDAwLDB4OTksMHgwMCwweDY2LDB4NDIgfX0sCi0gezE2LCAweGFlOTAsIDAsIHsweDBhLDB4ZDAsMHgxMiwweDM0LDB4MDAsMHg4NSwweDAwLDB4MjYsMHg0MCwweDRhLDB4OTAsMHgwMiwweGU0LDB4MDEsMHhiOSwweDAxIH19LAotIHsxNiwgMHhhZWEwLCAwLCB7MHgyNCwweDQwLDB4NTgsMHg5MCwweDEyLDB4YzQsMHgwMCwweDI5LDB4NDAsMHgyZSwweDQwLDB4MGIsMHgxMCwweDBhLDB4MjQsMHg4MCB9fSwKLSB7MTYsIDB4YWViMCwgMCwgezB4ODksMHgwNSwweDI2LDB4NDEsMHgwYiwweDkwLDB4MDIsMHhjNiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGFlYzAsIDAsIHsweDA4LDB4MDQsMHgwNCwweDgwLDB4ODEsMHgyMCwweDYxLDB4NDgsMHgwOCwweDUyLDB4MDIsMHgxNCwweDgxLDB4OTUsMHgyMCwweDIwIH19LAotIHsxNiwgMHhhZWQwLCAwLCB7MHg0MCwweDBhLDB4MzYsMHgwMiwweGM0LDB4MDAsMHhiMSwweDIwLDB4MDAsMHg0OCwweDQxLDB4MTAsMHg0MiwweDQ0LDB4MDEsMHhhMSB9fSwKLSB7MTYsIDB4YWVlMCwgMCwgezB4MDAsMHgyNCwweDQ4LDB4MGIsMHgxMiwweDEyLDB4MDQsMHg4MCwweDgxLDB4MjAsMHgyOCwweDQ4LDB4MGIsMHgxMiwweDAyLDB4Y2EgfX0sCi0gezE2LCAweGFlZjAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjAsMHgwMCwweGQ4LDB4NTAsMHgzNiwweDAwIH19LAotIHsxNiwgMHhhZjAwLCAwLCB7MHgwZSwweDg1LDB4MjMsMHgyMSwweDQyLDB4OGMsMHg1NCwweDM0LDB4MTQsMHgwZSwweDgwLDB4MDIsMHhlMSwweDQwLDB4ZjgsMHg1MCB9fSwKLSB7MTYsIDB4YWYxMCwgMCwgezB4MzYsMHgxNCwweDA0LDB4ODAsMHgwMywweGUxLDB4NDQsMHhlOCwweDUwLDB4N2UsMHgxNSwweDBmLDB4ODUsMHgwMywweDIxLDB4NDIgfX0sCi0gezE2LCAweGFmMjAsIDAsIHsweDRhLDB4MDAsMHgzNiwweDE0LDB4MGYsMHg4MCwweDAzLDB4ZWUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhZjMwLCAwLCB7MHg5OCwweDFkLDB4YzQsMHg0MCwweGY5LDB4MTAsMHgxZSwweDQ0LDB4NGUsMHg5MSwweDAzLDB4ZTQsMHg0MCwweGY5LDB4MTAsMHgzZiB9fSwKLSB7MTYsIDB4YWY0MCwgMCwgezB4YzAsMHgwZCwweDkxLDB4MDMsMHhmNCwweDAwLDB4ZDksMHgxNCwweDNlLDB4NDQsMHgwZiwweDkwLDB4MDMsMHg3NCwweDAwLDB4ZGQgfX0sCi0gezE2LCAweGFmNTAsIDAsIHsweDAwLDB4N2EsMHg0NCwweDBmLDB4OTEsMHgwMywweGY0LDB4NDAsMHhmOSwweDM4LDB4M2YsMHg0NCwweDBmLDB4OTMsMHg4MywweGU3IH19LAotIHsxNiwgMHhhZjYwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwMSwweGY2LDB4ODAsMHhmOSwweGE0LDB4M2YsMHg2OCB9fSwKLSB7MTYsIDB4YWY3MCwgMCwgezB4MGUsMHg5ZSwweDQzLDB4NjcsMHg4MCwweGQ5LDB4ZTQsMHgzZiwweDQxLDB4MGYsMHhkOCwweDQzLDB4MDQsMHgwMCwweGVkLDB4YzAgfX0sCi0gezE2LCAweGFmODAsIDAsIHsweDM2LDB4NDAsMHgwYywweDkwLDB4MDMsMHhlNCwweDAwLDB4ZDUsMHg0MCwweDMyLDB4NDAsMHgwYywweDkwLDB4MDMsMHhmNCwweDAwIH19LAotIHsxNiwgMHhhZjkwLCAwLCB7MHhkZCwweDAwLDB4MzIsMHg0MCwweDJjLDB4OWEsMHgwMywweGM2LDB4MDEsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YWZhMCwgMCwgezB4MzgsMHgxMCwweGUwLDB4MDAsMHhlOCwweGMwLDB4MmUsMHgxNCwweDRkLDB4OGYsMHgyMiwweDIzLDB4YzAsMHhmOCwweGYwLDB4YWEgfX0sCi0gezE2LCAweGFmYjAsIDAsIHsweDAwLDB4MGMsMHg4MCwweDAzLDB4YTIsMHhhMCwweGQ4LDB4ODIsMHgyMiwweDAwLDB4MDgsMHg4MCwweDAyLDB4ZTgsMHgwMCwweGQ4IH19LAotIHsxNiwgMHhhZmMwLCAwLCB7MHg4MCwweDJhLDB4MDAsMHgwOCwweDgwLDB4MDIsMHhlOCwweDA4LDB4ODgsMHhhOCwweDM2LDB4MDAsMHg0OCwweDhhLDB4ODIsMHhjZSB9fSwKLSB7MTYsIDB4YWZkMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhjNSwweDAwLDB4YjEsMHg0OCwweDJlLDB4NDAgfX0sCi0gezE2LCAweGFmZTAsIDAsIHsweDBhLDB4MTIsMHgyMiwweDQ0LDB4MDAsMHg5MSwweDA0LDB4YTQsMHg0MSwweDBhLDB4OTQsMHgwNiwweDI0LDB4MDAsMHg5MSwweDQyIH19LAotIHsxNiwgMHhhZmYwLCAwLCB7MHgyNCwweDQxLDB4MDksMHgxMCwweDAyLDB4ZTQsMHgwMSwweDkxLDB4MjAsMHgyNCwweDQwLDB4MDksMHgxMCwweDAyLDB4YzQsMHgwMSB9fSwKLSB7MTYsIDB4YjAwMCwgMCwgezB4OTEsMHgwMCwweDJjLDB4NDAsMHgwOSwweDE0LDB4MDIsMHhjMiwweDAxLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGIwMTAsIDAsIHsweDE4LDB4MTUsMHhhNCwweDAwLDB4YTksMHgwMCwweDJlLDB4NDAsMHg0OCwweDEwLDB4MDIsMHgyNCwweDAwLDB4YjksMHg0MCwweGFhIH19LAotIHsxNiwgMHhiMDIwLCAwLCB7MHg0MCwweDE4LDB4YjAsMHgwMiwweGU0LDB4MDgsMHg5OSwweDAwLDB4MjIsMHg0MCwweDE5LDB4OTAsMHg0NiwweGU0LDB4ODAsMHg5OSB9fSwKLSB7MTYsIDB4YjAzMCwgMCwgezB4MDQsMHgyZSwweDQwLDB4MDksMHg5MCwweDAyLDB4ZTQsMHgwMSwweDk5LDB4MDQsMHgyNiwweDUwLDB4MDksMHg5MCwweDAyLDB4YzYgfX0sCi0gezE2LCAweGIwNDAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDExLDB4ZTQsMHgwMCwweGY5LDB4MDYsMHgzYywweDQwIH19LAotIHsxNiwgMHhiMDUwLCAwLCB7MHgwYSwweDkwLDB4MDMsMHg2NCwweDAyLDB4ZDksMHgwMCwweGI2LDB4NTAsMHgwZSwweDkwLDB4MjMsMHgyNiwweDAxLDB4ZjksMHgwMCB9fSwKLSB7MTYsIDB4YjA2MCwgMCwgezB4MzYsMHg0MCwweDI5LDB4OTQsMHg4MywweGU0LDB4MDAsMHhkOSwweDQ4LDB4MzYsMHg0MCwweDBkLDB4OTAsMHgwMywweGM3LDB4MDAgfX0sCi0gezE2LCAweGIwNzAsIDAsIHsweGQxLDB4MDcsMHgzYSwweDUwLDB4Y2QsMHg5MCwweDAzLDB4ZTgsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiMDgwLCAwLCB7MHgyOCwweDAxLDB4YTQsMHgwOCwweGU5LDB4MDAsMHgzZSwweDQwLDB4OGYsMHg5MCwweDAzLDB4YzQsMHgwOCwweGYxLDB4MDAsMHgzYSB9fSwKLSB7MTYsIDB4YjA5MCwgMCwgezB4NjgsMHg4ZiwweDkwLDB4MDMsMHhhNCwweDQxLDB4ZjksMHgwMCwweGJlLDB4NDAsMHgwZSwweDkwLDB4MDMsMHhlNCwweDAwLDB4ZjkgfX0sCi0gezE2LCAweGIwYTAsIDAsIHsweGMwLDB4MzgsMHg0MCwweDJlLDB4OTAsMHgwMywweGU2LDB4NDAsMHhlOSwweDAwLDB4M2UsMHg2OCwweDA2LDB4OTAsMHgwMywweGNhIH19LAotIHsxNiwgMHhiMGIwLCAwLCB7MHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxMCwweGEwLDB4MDAsMHhkOCwweDA1LDB4M2UsMHgwMCB9fSwKLSB7MTYsIDB4YjBjMCwgMCwgezB4MDcsMHg4MCwweDBiLDB4MjAsMHgwMCwweGU4LDB4NDAsMHgzZSwweDEwLDB4MGQsMHg4MiwweDAzLDB4NjAsMHgwMCwweGM4LDB4MDAgfX0sCi0gezE2LCAweGIwZDAsIDAsIHsweGIyLDB4MDAsMHg4ZCwweDgzLDB4MDMsMHhlMCwweDAwLDB4ZDgsMHg1MCwweDNhLDB4MDAsMHgxZSwweDgwLDB4MDMsMHhlMSwweDI0IH19LAotIHsxNiwgMHhiMGUwLCAwLCB7MHhmOCwweDAwLDB4YjIsMHgwMCwweDBmLDB4ODAsMHgwMywweDAyLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YjBmMCwgMCwgezB4MjgsMHgwNSwweDM4LDB4MDAsMHg4YSwweDA0LDB4MmYsMHg4NCwweDZhLDB4YTAsMHgwYiwweGU4LDB4MDgsMHg4ZSwweDAwLDB4M2QgfX0sCi0gezE2LCAweGIxMDAsIDAsIHsweDgwLDB4ODgsMHhlYywweDAzLDB4NjgsMHgxMCwweGE2LDB4MDEsMHgzNiwweDgwLDB4MDgsMHhhOCwweDAwLDB4YzgsMHgxMCwweDhlIH19LAotIHsxNiwgMHhiMTEwLCAwLCB7MHgxMCwweDIyLDB4ODAsMHgwOCwweGEwLDB4MDIsMHhmYiwweDIwLDB4YmUsMHg1MSwweDJhLDB4ODAsMHgwYiwweGEwLDB4MDIsMHg4MiB9fSwKLSB7MTYsIDB4YjEyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg0MSwweDIxLDB4OTMsMHgwMCwweDJjLDB4ZjAgfX0sCi0gezE2LCAweGIxMzAsIDAsIHsweDM5LDB4MzAsMHgwNiwweDBjLDB4MDAsMHhhMywweDAwLDB4MjgsMHgwOCwweDI4LDB4YmMsMHgwMiwweDJjLDB4MDAsMHg4MywweDgwIH19LAotIHsxNiwgMHhiMTQwLCAwLCB7MHgyYSwweGMwLDB4MDgsMHgzMCwweDAwLDB4Y2MsMHgwMCwweDlhLDB4ODAsMHgyOCwweGMwLDB4MGEsMHgzMCwweDAyLDB4Y2QsMHgwMCB9fSwKLSB7MTYsIDB4YjE1MCwgMCwgezB4YjMsMHgwNCwweDYyLDB4YzEsMHgwYiwweDMwLDB4MDIsMHgwYSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGIxNjAsIDAsIHsweGEwLDB4MDEsMHgxZSwweDA0LDB4MDcsMHgxMSwweDJjLDB4ZDAsMHgwYSwweDMyLDB4MjIsMHhkYywweGMxLDB4ODcsMHgwMCwweDZkIH19LAotIHsxNiwgMHhiMTcwLCAwLCB7MHhkMCwweDA4LDB4MzQsMHgwMiwweDdjLDB4MDAsMHhhNywweDA4LDB4MjQsMHhjOCwweDA4LDB4NzAsMHgwMiwweGRjLDB4ODAsMHgwZiB9fSwKLSB7MTYsIDB4YjE4MCwgMCwgezB4MDAsMHgyMSwweGM0LDB4MDgsMHg3MywweDA2LDB4ZGMsMHgwMCwweGIyLDB4MDAsMHg2MSwweGM4LDB4MGIsMHgzYSwweDAyLDB4ODggfX0sCi0gezE2LCAweGIxOTAsIDAsIHsweDA0LDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MGEsMHgwMCwweDU3LDB4ODEsMHgyZCwweGEwIH19LAotIHsxNiwgMHhiMWEwLCAwLCB7MHgyZCwweDdjLDB4MDIsMHgzZSwweDgyLDB4ZTMsMHhlMCwweDNiLDB4ZTAsMHgwYywweDc4LDB4MDMsMHgxZSwweDIwLDB4YzcsMHg4MCB9fSwKLSB7MTYsIDB4YjFiMCwgMCwgezB4YjksMHhlOCwweDJjLDB4NzgsMHgwMywweGZmLDB4ODAsMHhkNiwweDgwLDB4M2IsMHhlYywweDAyLDB4N2EsMHgwMywweGRlLDB4MDAgfX0sCi0gezE2LCAweGIxYzAsIDAsIHsweGY3LDB4ODEsMHgzMSwweGVjLDB4OGYsMHg3YywweDAzLDB4MGEsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiMWQwLCAwLCB7MHgwOCwweDFkLDB4YWMsMHgwMCwweGZiLDB4MDAsMHgxZSwweDgwLDB4MjMsMHhiNiwweDgzLDB4ZWQsMHhhMCwweGRiLDB4NjQsMHgzZSB9fSwKLSB7MTYsIDB4YjFlMCwgMCwgezB4YzAsMHgwZSwweGIwLDB4MDMsMHhlZCwweGMwLDB4ZjIsMHgwMCwweDNlLDB4ZDQsMHgwYSwweGIwLDB4MDMsMHhlYywweDMwLDB4ZWUgfX0sCi0gezE2LCAweGIxZjAsIDAsIHsweDY0LDB4M2UsMHhjMCwweDA3LDB4YjAsMHhjMywweGU4LDB4MDAsMHhmYiwweDAxLDB4M2UsMHhjOCwweDBmLDB4YjgsMHgwMywweGMyIH19LAotIHsxNiwgMHhiMjAwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweGY2LDB4MDAsMHhlZiwweDgwLDB4M2IsMHhlMCB9fSwKLSB7MTYsIDB4YjIxMCwgMCwgezB4MGYsMHhmOCwweDYzLDB4N2UsMHgwNCwweGNmLDB4YzAsMHhiNywweDIwLDB4MGUsMHhmOCwweDAzLDB4ZmMsMHgwMCwweGM3LDB4ODAgfX0sCi0gezE2LCAweGIyMjAsIDAsIHsweDMzLDB4ZjAsMHgwYywweGNjLDB4MDMsMHhmZSwweDA4LDB4ZjcsMHhjMSwweDMzLDB4ZTAsMHg0ZiwweGY4LDB4MDMsMHhiMiwweDQwIH19LAotIHsxNiwgMHhiMjMwLCAwLCB7MHhmZiwweGEwLDB4MzEsMHhlNiwweDBjLDB4ZjgsMHgwMywweDEwLDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YjI0MCwgMCwgezB4YTgsMHgxMSwweDljLDB4MDAsMHhlZiwweDAyLDB4MjEsMHg0MCwweDJkLDB4NzAsMHgwMiwweDFjLDB4MDAsMHhmNywweDEwLDB4MjkgfX0sCi0gezE2LCAweGIyNTAsIDAsIHsweDQwLDB4MDgsMHg3MCwweDIyLDB4ZmMsMHhjMCwweGE3LDB4MDAsMHgzZCwweGMwLDB4MDgsMHg0MCwweDAyLDB4ZGMsMHgwMCwweGI3IH19LAotIHsxNiwgMHhiMjYwLCAwLCB7MHg0MCwweDIxLDB4YzAsMHgwYiwweDcwLDB4MDIsMHhkYSwweDgwLDB4YjcsMHgyNCwweDI5LDB4YzYsMHg0OCwweGYwLDB4MDIsMHgyYSB9fSwKLSB7MTYsIDB4YjI3MCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5YywweDAwLDB4YTcsMHgwMCwweDI4LDB4ODQgfX0sCi0gezE2LCAweGIyODAsIDAsIHsweDBiLDB4MzAsMHgwMiwweDBjLDB4MDAsMHg5MywweDAwLDB4MjUsMHg4MCwweDBhLDB4NjEsMHgwMiwweGRjLDB4MDEsMHhhNywweDEwIH19LAotIHsxNiwgMHhiMjkwLCAwLCB7MHgyNCwweGMwLDB4MDgsMHg0MCwweDgyLDB4ZGMsMHgwMCwweDlmLDB4MDAsMHgyNSwweGM0LDB4MGIsMHg3MCwweDAyLDB4OTQsMHgyNSB9fSwKLSB7MTYsIDB4YjJhMCwgMCwgezB4YjcsMHgzMiwweDIzLDB4YzQsMHgxYiwweDcwLDB4MDIsMHgwMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGIyYjAsIDAsIHsweDIwLDB4MTQsMHhjYywweDBjLDB4YTMsMHgwMCwweDIwLDB4MDAsMHgyOSwweDMwLDB4MGEsMHgwYywweDAwLDB4YTMsMHgwMCwweDZjIH19LAotIHsxNiwgMHhiMmMwLCAwLCB7MHgwMCwweDA4LDB4MTAsMHg0MiwweGNkLDB4MTAsMHhhYSwweDAwLDB4YWMsMHhjMCwweDAwLDB4MDQsMHgwMiwweGNkLDB4MDAsMHhiYiB9fSwKLSB7MTYsIDB4YjJkMCwgMCwgezB4MTAsMHgyNCwweGMwLDB4MDMsMHgzMCwweDQyLDB4YzMsMHgwOSwweGIzLDB4MDAsMHgyYywweGQwLDB4MGEsMHgzMCwweDAyLDB4MTggfX0sCi0gezE2LCAweGIyZTAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4ODAsMHgwMCwweGVmLDB4MDAsMHgzYSwweDQwIH19LAotIHsxNiwgMHhiMmYwLCAwLCB7MHgwNywweGYwLDB4NDMsMHgzYywweDAwLDB4OWYsMHhjMCwweGI2LDB4MTQsMHgwZSwweDgwLDB4MDYsMHhmYywweDAxLDB4Y2IsMHgwMSB9fSwKLSB7MTYsIDB4YjMwMCwgMCwgezB4MzcsMHhjMCwweGFjLDB4YjQsMHgwMiwweGZjLDB4MDAsMHhkOSwweDAxLDB4MzcsMHhjMCwweDRiLDB4ZjAsMHgxMywweGFlLDB4MDggfX0sCi0gezE2LCAweGIzMTAsIDAsIHsweGZiLDB4MDAsMHgzMywweGQwLDB4MmUsMHhmMCwweDBiLDB4MmEsMHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiMzIwLCAwLCB7MHg4MCwweDAwLDB4ZWMsMHgwMCwweGZiLDB4MDUsMHgzZSwweDQwLDB4MGYsMHgzMCwweDAzLDB4YWMsMHgxNCwweGZiLDB4YTAsMHgzYSB9fSwKLSB7MTYsIDB4YjMzMCwgMCwgezB4YzAsMHgwZiwweDg0LDB4NDMsMHhlYywweDAxLDB4ZjksMHg0MCwweDNlLDB4YzAsMHgwZiwweGEyLDB4MDMsMHhlYywweDIxLDB4ZjkgfX0sCi0gezE2LCAweGIzNDAsIDAsIHsweDAwLDB4M2EsMHhjMCwweDBmLDB4YjAsMHgwMywweGU0LDB4MjAsMHhmMCwweDAwLDB4YmEsMHhjMCwweDBkLDB4YjAsMHgwMywweGUwIH19LAotIHsxNiwgMHhiMzUwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGY4LDB4MDAsMHhkNywweDAxLDB4MzUsMHg2OCB9fSwKLSB7MTYsIDB4YjM2MCwgMCwgezB4NmQsMHhmMCwweDAzLDB4M2MsMHgwMSwweGU3LDB4MDAsMHgzMywweGMwLDB4MGQsMHhjMCwweDAzLDB4ZmMsMHgyNCwweGNmLDB4MDIgfX0sCi0gezE2LCAweGIzNzAsIDAsIHsweDM3LDB4YzAsMHgwZCwweGQyLDB4MDIsMHhmYywweDAwLDB4ZGYsMHgwMSwweDMzLDB4YzAsMHg1ZSwweDcwLDB4MzMsMHgxYywweDE4IH19LAotIHsxNiwgMHhiMzgwLCAwLCB7MHhjZiwweDQxLDB4MzEsMHhjMiwweDBjLDB4ZjAsMHgwMywweDQwLDB4NDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YjM5MCwgMCwgezB4ODEsMHgwMCwweDZjLDB4MDAsMHg4YiwweDAwLDB4MjIsMHg1MiwweDJhLDB4YjAsMHgwMywweDZjLDB4MDAsMHhhYiwweDAwLDB4MjggfX0sCi0gezE2LCAweGIzYTAsIDAsIHsweGMwLDB4MGEsMHg4YywweDAyLDB4ZWMsMHgxMCwweDhiLDB4ZTAsMHgyMiwweGMwLDB4MGYsMHg4MCwweDAyLDB4Y2MsMHgwMCwweDhiIH19LAotIHsxNiwgMHhiM2IwLCAwLCB7MHg4MCwweDIyLDB4YzAsMHgwOCwweGIwLDB4MDIsMHgyYSwweDEwLDB4ZDksMHg4MCwweDIyLDB4YzAsMHhjOCwweGIwLDB4MDIsMHhlMCB9fSwKLSB7MTYsIDB4YjNjMCwgMCwgezB4NDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgyNCwweDAxLDB4OWIsMHgwMCwweDI2LDB4ODAgfX0sCi0gezE2LCAweGIzZDAsIDAsIHsweDI5LDB4YjAsMHg2MiwweDBjLDB4MDAsMHhhYiwweDAxLDB4NmEsMHgwMCwweDA4LDB4OTgsMHgwMiwweGNjLDB4MDAsMHg5YiwweDgzIH19LAotIHsxNiwgMHhiM2UwLCAwLCB7MHgyZSwweGMwLDB4Y2IsMHhiNCwweDEyLDB4ZWMsMHgwMywweDhiLDB4ODAsMHgyOCwweGMwLDB4MGEsMHhiMCwweDA2LDB4YTIsMHgwMCB9fSwKLSB7MTYsIDB4YjNmMCwgMCwgezB4OGIsMHgwMiwweDYyLDB4YzAsMHgwOCwweGIwLDB4MDIsMHhlMCwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGI0MDAsIDAsIHsweDA4LDB4MDQsMHgwYywweDAxLDB4ODMsMHgxNCwweDIwLDB4MDAsMHgwYSwweDMwLDB4MDIsMHg0YywweDAwLDB4ODMsMHgwMCwweDJhIH19LAotIHsxNiwgMHhiNDEwLCAwLCB7MHg0MCwweDBhLDB4MTAsMHgwMCwweGNjLDB4MDIsMHg5MywweDAwLDB4MjgsMHhjMCwweDBhLDB4MjAsMHgwMiwweGVjLDB4MDAsMHgwMyB9fSwKLSB7MTYsIDB4YjQyMCwgMCwgezB4MDAsMHgyMCwweGMwLDB4MDgsMHgzMCwweDE2LDB4MDAsMHg4MCwweDkxLDB4MDAsMHg2MCwweGMwLDB4MDgsMHgzMCwweDAyLDB4YzIgfX0sCi0gezE2LCAweGI0MzAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4NmMsMHgwMCwweGRiLDB4MDAsMHgzNiwweDgwIH19LAotIHsxNiwgMHhiNDQwLCAwLCB7MHgyZCwweGYwLDB4MDMsMHgzYywweDAwLDB4YWYsMHgwMCwweDNhLDB4ODAsMHgwZCwweDgwLDB4MDMsMHhmYywweDAwLDB4NWIsMHgwMCB9fSwKLSB7MTYsIDB4YjQ1MCwgMCwgezB4MzcsMHhjMCwweDA5LDB4OTAsMHgwMywweGZjLDB4MDAsMHhkZiwweDAwLDB4MzMsMHhjMCwweDBhLDB4ZjAsMHgwMywweGE0LDB4MjAgfX0sCi0gezE2LCAweGI0NjAsIDAsIHsweGNiLDB4MDAsMHhiMywweGMwLDB4OGMsMHhiMCwweDAzLDB4NDAsMHgwMiwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiNDcwLCAwLCB7MHhhMCwweDFkLDB4ZmMsMHgwNCwweGZmLDB4MjAsMHgwZiwweDAwLDB4MjcsMHhmMCwweDAzLDB4ZmMsMHgwMCwweGZmLDB4MDAsMHgyZCB9fSwKLSB7MTYsIDB4YjQ4MCwgMCwgezB4MDAsMHgwYiwweGQwLDB4MjcsMHhmYywweDAwLDB4ZWYsMHgwMCwweDM3LDB4YzAsMHgwZiwweGMwLDB4NDMsMHhmYywweDAwLDB4ZmYgfX0sCi0gezE2LCAweGI0OTAsIDAsIHsweDAwLDB4M2YsMHhjMCwweDBkLDB4ZjAsMHgwYiwweGUwLDB4MDAsMHhmNSwweDAwLDB4M2YsMHhjMCwweDFmLDB4ZjAsMHgwMywweGU4IH19LAotIHsxNiwgMHhiNGEwLCAwLCB7MHgwNywweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMSwweGY0LDB4YzAsMHhmYywweDIyLDB4N2YsMHhjMCB9fSwKLSB7MTYsIDB4YjRiMCwgMCwgezB4MGMsMHhkMCwweDQzLDB4MzYsMHgwMCwweGM0LDB4ODEsMHgzNCwweGMwLDB4MWMsMHg4OSwweDA3LDB4ZjIsMHg4MCwweGNmLDB4ODAgfX0sCi0gezE2LCAweGI0YzAsIDAsIHsweDMzLDB4NjAsMHgwZiwweDc5LDB4MDMsMHgzYywweGUwLDB4Y2YsMHgwOCwweDMzLDB4NDgsMHgwZCwweGM0LDB4MDMsMHhmMCwweDUwIH19LAotIHsxNiwgMHhiNGQwLCAwLCB7MHhkYywweDkwLDB4MzcsMHhjYywweDBmLDB4ZjgsMHgwMywweGYwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YjRlMCwgMCwgezB4ODAsMHgxMCwweGU5LDB4OTAsMHhiOCwweDgwLDB4N2UsMHhlNCwweDg4LDB4OTksMHgwYSwweDI2LDB4MDgsMHhhOSwweDgwLDB4MjIgfX0sCi0gezE2LCAweGI0ZjAsIDAsIHsweGY0LDB4MmMsMHg5OSwweDAzLDB4YTcsMHgwMiwweDg5LDB4ODAsMHgyMiwweDM0LDB4MGIsMHg5YSwweDAzLDB4N2QsMHgwMCwweGRmIH19LAotIHsxNiwgMHhiNTAwLCAwLCB7MHg0OCwweDJiLDB4NjAsMHgwOCwweDA1LDB4MDIsMHhlNSwweDAwLDB4ODIsMHgyMCwweDIyLDB4YzQsMHg4YiwweGIwLDB4MDIsMHhlMCB9fSwKLSB7MTYsIDB4YjUxMCwgMCwgezB4MDYsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjNSwweDAwLDB4YjAsMHgxMCwweDJjLDB4YzAgfX0sCi0gezE2LCAweGI1MjAsIDAsIHsweDJhLDB4MDAsMHgwMiwweGE0LDB4MDgsMHhhOCwweDA0LDB4ZTAsMHg4MCwweDBiLDB4MDAsMHgwMiwweGM0LDB4NDEsMHhiMiwweDA0IH19LAotIHsxNiwgMHhiNTMwLCAwLCB7MHhhNCwweDBhLDB4MGIsMHhiMCwweDAyLDB4OGMsMHg4MSwweDgzLDB4MjAsMHg2MCwweDUwLDB4OTgsMHgxMiwweDEyLDB4OGIsMHg4MCB9fSwKLSB7MTYsIDB4YjU0MCwgMCwgezB4ODksMHgwMCwweDJjLDB4YzgsMHgwYiwweDMwLDB4MDIsMHhlMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGI1NTAsIDAsIHsweGMwLDB4MTEsMHhhYywweDIwLDB4YmIsMHgwMiwweDJhLDB4YzAsMHgwYSwweDg4LDB4MDIsMHhhNCwweDA4LDB4YTksMHg4MCwweGEyIH19LAotIHsxNiwgMHhiNTYwLCAwLCB7MHhlMSwweDFiLDB4OWMsMHgyMiwweGU2LDB4MDAsMHhiOCwweDQwLDB4MjYsMHgzMCwweDBiLDB4OTAsMHgwMiwweGNjLDB4MDEsMHg5MyB9fSwKLSB7MTYsIDB4YjU3MCwgMCwgezB4MDQsMHgyYSwweDQwLDB4MzksMHg5OCwweDgyLDB4ZWMsMHgxNCwweDhiLDB4NjUsMHgyYSwweGMwLDB4MGIsMHhiMiwweDAyLDB4ZjggfX0sCi0gezE2LCAweGI1ODAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDE1LDB4ZTcsMHgwMCwweGI4LDB4NDgsMHgyZSwweDAwIH19LAotIHsxNiwgMHhiNTkwLCAwLCB7MHgwZSwweDg4LDB4NDMsMHg4NCwweDAwLDB4ZTMsMHhjMSwweDM2LDB4ZTgsMHgwZiwweDljLDB4MTIsMHhlMiwweDgwLDB4ZjMsMHhjMCB9fSwKLSB7MTYsIDB4YjVhMCwgMCwgezB4MzYsMHg3MCwweDVmLDB4YTgsMHgyMywweGFjLDB4MDEsMHhjYiwweDA0LDB4MjIsMHg0MCwweDRkLDB4ODQsMHgwMywweGUyLDB4MDAgfX0sCi0gezE2LCAweGI1YjAsIDAsIHsweGQ4LDB4MDAsMHgzZSwweGMwLDB4MGYsMHg5MCwweDAzLDB4ZDAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiNWMwLCAwLCB7MHhlMCwweDAxLDB4YjMsMHgwOSwweGZlLDB4MTAsMHgzZSwweDgxLDB4MGQsMHhjMCwweDAzLDB4NzQsMHgwYywweGZmLDB4MDAsMHgzZCB9fSwKLSB7MTYsIDB4YjVkMCwgMCwgezB4YzEsMHg4YywweGQwLDB4ODMsMHgxNCwweDAwLDB4Y2QsMHgyMCwweDNhLDB4NDAsMHgwZCwweGNhLDB4MDEsMHg3YywweDAwLDB4ZmYgfX0sCi0gezE2LCAweGI1ZTAsIDAsIHsweDAwLDB4MWYsMHg0MCwweDBlLDB4YzAsMHgyMywweGYyLDB4NDYsMHhmZSwweDg0LDB4MzcsMHhjMCwweDBmLDB4ZDgsMHgwMywweGY4IH19LAotIHsxNiwgMHhiNWYwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweGFjLDB4MDAsMHhkZCwweDAyLDB4M2QsMHg0MCB9fSwKLSB7MTYsIDB4YjYwMCwgMCwgezB4MGUsMHg5MCwweDAzLDB4YWMsMHgwMCwweGViLDB4NDgsMHgzZSwweGQwLDB4MGMsMHg4MCwweDYzLDB4YTIsMHgwOCwweGNhLDB4MDAgfX0sCi0gezE2LCAweGI2MTAsIDAsIHsweDMyLDB4MDgsMHgwYywweGIwLDB4MDMsMHhhYywweDA4LDB4ZWIsMHgwMCwweDNlLDB4NDAsMHgwYywweGQ0LDB4ODMsMHg1OCwweDIwIH19LAotIHsxNiwgMHhiNjIwLCAwLCB7MHhmOSwweDQyLDB4MzIsMHhjMCwweDBjLDB4YjAsMHgwMywweGQwLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YjYzMCwgMCwgezB4YzgsMHgwNSwweDI4LDB4MDIsMHhkYiwweDAwLDB4MmUsMHhlMCwweDI4LDB4M2EsMHgwMiwweDJlLDB4MDAsMHhkYiwweDYwLDB4NzYgfX0sCi0gezE2LCAweGI2NDAsIDAsIHsweGUwLDB4MGQsMHg4YywweDAyLDB4ZTAsMHgwMCwweDg4LDB4MDIsMHgzNiwweDU4LDB4NjgsMHgxNSwweDgzLDB4N2MsMHgwOCwweGJmIH19LAotIHsxNiwgMHhiNjUwLCAwLCB7MHgwMCwweDJkLDB4NjAsMHgwOCwweDkwLDB4MDIsMHhhOSwweDAwLDB4YjMsMHgwNSwweDIzLDB4YzAsMHgwOCwweGIwLDB4MDIsMHhmMiB9fSwKLSB7MTYsIDB4YjY2MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg0YywweDEwLDB4ODAsMHgwMCwweDBjLDB4YzEgfX0sCi0gezE2LCAweGI2NzAsIDAsIHsweDA4LDB4MWMsMHg4MiwweDA2LDB4MDAsMHg5MywweGMwLDB4MjAsMHhmNiwweDBhLDB4MjAsMHgwMiwweDA4LDB4MDAsMHg5MywweDAwIH19LAotIHsxNiwgMHhiNjgwLCAwLCB7MHgyNCwweDYwLDB4MDksMHgzYywweDAyLDB4MGMsMHgwMCwweDgzLDB4MDAsMHgyYywweDYwLDB4MDksMHgwMSwweDEyLDB4MDAsMHg0MCB9fSwKLSB7MTYsIDB4YjY5MCwgMCwgezB4YjAsMHgwMCwweGUwLDB4YzAsMHgwOCwweDMwLDB4MDIsMHg3MCwweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGI2YTAsIDAsIHsweDIwLDB4NDEsMHgwYSwweDQwLDB4ODYsMHg4MSwweDJkLDB4ZTAsMHg1OCwweDE4LDB4MGEsMHgxNiwweGEwLDB4OTcsMHg4MCwweDI1IH19LAotIHsxNiwgMHhiNmIwLCAwLCB7MHhlOSwweDE5LDB4NzgsMHg4MiwweGQ2LDB4MDAsMHg5NywweDgwLDB4MjUsMHhhMCwweDE5LDB4ZjgsMHgwMiwweDVlLDB4MDAsMHhiNyB9fSwKLSB7MTYsIDB4YjZjMCwgMCwgezB4ODAsMHgyZCwweDYwLDB4MjgsMHg0OCwweDEyLDB4OTYsMHgwMCwweGI0LDB4ODAsMHgyMSwweGUwLDB4MjgsMHg3OCwweDAyLDB4YzggfX0sCi0gezE2LCAweGI2ZDAsIDAsIHsweDA0LDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MGMsMHgwMCwweDgxLDB4MzAsMHgzYywweGMyIH19LAotIHsxNiwgMHhiNmUwLCAwLCB7MHgwZSwweDAwLDB4MDIsMHg4NCwweDAwLDB4ZTMsMHg0MCwweDI4LDB4ZTgsMHg0YywweDI5LDB4MDMsMHgwYywweDAwLDB4ZDMsMHgwMCB9fSwKLSB7MTYsIDB4YjZmMCwgMCwgezB4MzQsMHhjNCwweDBkLDB4MzEsMHgwMywweDhjLDB4MDgsMHhlMywweDAwLDB4M2MsMHg0NiwweDBjLDB4MjAsMHgwMywweDAwLDB4ODAgfX0sCi0gezE2LCAweGI3MDAsIDAsIHsweGYyLDB4MDAsMHgzMiwweGMwLDB4MGMsMHgzMCwweDAzLDB4ZDIsMHgwMiwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiNzEwLCAwLCB7MHg0MCwweDE5LDB4YjgsMHgwMCwweGZmLDB4MTAsMHgyZiwweGMwLDB4MGYsMHhjMCwweDIzLDB4YzQsMHg4MCwweDdmLDB4MTAsMHgzZSB9fSwKLSB7MTYsIDB4YjcyMCwgMCwgezB4YzAsMHgwZiwweGIxLDB4MDMsMHhkYywweDAwLDB4ZTcsMHgwMCwweDNmLDB4ODAsMHgwNiwweGYxLDB4NDMsMHhmYywweDAwLDB4ZmYgfX0sCi0gezE2LCAweGI3MzAsIDAsIHsweDA4LDB4N2QsMHg1MCwweDBlLDB4ZTEsMHgyMywweGI0LDB4MDgsMHhmZSwweDEwLDB4M2YsMHhjNCwweDBmLDB4ZjAsMHgwMywweGQwIH19LAotIHsxNiwgMHhiNzQwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGU0LDB4MDIsMHhjYywweDAwLDB4M2UsMHgwMCB9fSwKLSB7MTYsIDB4Yjc1MCwgMCwgezB4MmMsMHhjMCwweDAzLDB4MDQsMHgwMSwweGNiLDB4MDAsMHgzMywweDYwLDB4MmMsMHg5MCwweDEzLDB4ZTgsMHgwMCwweDczLDB4MDAgfX0sCi0gezE2LCAweGI3NjAsIDAsIHsweGIyLDB4YzEsMHgwZiwweGEwLDB4MDMsMHhlYywweDgwLDB4ZmIsMHgyOCwweDNlLDB4NTQsMHgxZiwweGQwLDB4MDMsMHhmZSwweDAyIH19LAotIHsxNiwgMHhiNzcwLCAwLCB7MHhjOSwweDgwLDB4MzIsMHhjMCwweDBmLDB4YjAsMHgwMywweGNhLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Yjc4MCwgMCwgezB4NDgsMHgxMSwweDgwLDB4MDAsMHg4NiwweDAwLDB4MmQsMHg4MCwweDA4LDB4MjAsMHgwMiwweDE0LDB4MDgsMHg4NywweDAwLDB4MjkgfX0sCi0gezE2LCAweGI3OTAsIDAsIHsweDQwLDB4MDgsMHg3MCwweDAyLDB4ZGMsMHgwMCwweGI3LDB4MDAsMHgyMSwweGMwLDB4MGIsMHg2MCwweDAyLDB4NWMsMHhhMCwweDk3IH19LAotIHsxNiwgMHhiN2EwLCAwLCB7MHgyMCwweDJkLDB4NDgsMHgwYiwweDUwLDB4MDIsMHhkYywweDEwLDB4OGQsMHgwMCwweDIxLDB4YzgsMHgwYiwweDcwLDB4MDIsMHhkMiB9fSwKLSB7MTYsIDB4YjdiMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHg5ZiwweDAwLDB4ODUsMHg4MSwweDJjLDB4NjAgfX0sCi0gezE2LCAweGI3YzAsIDAsIHsweDE4LDB4NTgsMHgwMiwweGRlLDB4MjAsMHhiNywweDgyLDB4MjgsMHg2MCwweDVhLDB4NzgsMHg1MiwweGRlLDB4MTAsMHhiZiwweDgwIH19LAotIHsxNiwgMHhiN2QwLCAwLCB7MHgyMSwweGUwLDB4NGIsMHg3OCwweDA2LDB4ZGUsMHg0MCwweGI3LDB4YTAsMHgyZCwweDY5LDB4OWIsMHg3OCwweDEyLDB4Y2UsMHgwMCB9fSwKLSB7MTYsIDB4YjdlMCwgMCwgezB4ODcsMHg4MCwweGUxLDB4ZTQsMHgwYiwweDc4LDB4MDIsMHhjMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGI3ZjAsIDAsIHsweDQ4LDB4MTQsMHhlZSwweDAwLDB4ODMsMHgwMCwweDJjLDB4YzIsMHgwOCwweDM2LDB4MDIsMHg4YywweDA4LDB4ODMsMHhmMCwweDY4IH19LAotIHsxNiwgMHhiODAwLCAwLCB7MHg0MCwweDBhLDB4M2UsMHgwMiwweGNkLDB4NDAsMHhiMywweDAwLDB4MjAsMHhlMCwweDBiLDB4MzIsMHgwNiwweDRjLDB4MDAsMHg5YiB9fSwKLSB7MTYsIDB4YjgxMCwgMCwgezB4MDAsMHgwYywweDQwLDB4MGIsMHgzMCwweDAyLDB4Y2QsMHg4MCwweDgzLDB4MDgsMHgyMCwweGMwLDB4MGIsMHhiMSwweDAyLDB4ZGEgfX0sCi0gezE2LCAweGI4MjAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YjgsMHgwMCwweGNlLDB4MDgsMHgzZiwweGIwIH19LAotIHsxNiwgMHhiODMwLCAwLCB7MHgwYywweGU0LDB4MjMsMHhkYSwweDAyLDB4ZGUsMHg0MCwweGJiLDB4YjIsMHgwZSwweGUyLDB4NDMsMHhmYSwweDAwLDB4ZmUsMHgwMCB9fSwKLSB7MTYsIDB4Yjg0MCwgMCwgezB4MzMsMHg5MCwweDBiLDB4ZTAsMHgwMywweGU4LDB4MDAsMHhmYSwweDAwLDB4M2UsMHg4MSwweDBiLDB4ZTAsMHgxMywweGY5LDB4MDggfX0sCi0gezE2LCAweGI4NTAsIDAsIHsweGNlLDB4NDAsMHgzMiwweDgwLDB4MGYsMHhhOCwweDAzLDB4ZmEsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiODYwLCAwLCB7MHg0OCwweDAwLDB4ZTAsMHgyNCwweDk4LDB4MDgsMHgzYywweDA0LDB4MGYsMHgwMCwweDBiLDB4NjAsMHgwMCwweGY4LDB4NDAsMHgyZSB9fSwKLSB7MTYsIDB4Yjg3MCwgMCwgezB4MDMsMHgwZCwweDgwLDB4MDMsMHhlMCwweDAwLDB4ZjgsMHgwMCwweDNlLDB4MDYsMHgwYiwweDgwLDB4MDMsMHhlMCwweDAwLDB4ZDggfX0sCi0gezE2LCAweGI4ODAsIDAsIHsweDAwLDB4M2MsMHgwMCwweDAzLDB4OGMsMHgyMywweGUxLDB4MDAsMHhmOCwweDAwLDB4N2UsMHgwMCwweDBmLDB4ODAsMHgwMywweGQyIH19LAotIHsxNiwgMHhiODkwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGU0LDB4MDIsMHhjOSwweDAwLDB4M2UsMHg0MCB9fSwKLSB7MTYsIDB4YjhhMCwgMCwgezB4OGMsMHg5MCwweDAzLDB4MjUsMHgwMCwweGU5LDB4ODAsMHgzMiwweDQ0LDB4MGYsMHg5NCwweDAyLDB4ZTQsMHgyMCwweGY5LDB4MDAgfX0sCi0gezE2LCAweGI4YjAsIDAsIHsweDMyLDB4NzAsMHgwZiwweDlhLDB4NDMsMHhlNCwweDAwLDB4ZjksMHgwMCwweDMyLDB4NDAsMHgwYywweDEwLDB4MzMsMHgyNCwweDEwIH19LAotIHsxNiwgMHhiOGMwLCAwLCB7MHhmOSwweDAxLDB4M2UsMHg0MCwweDBmLDB4OTAsMHgwMywweDAyLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YjhkMCwgMCwgezB4ODAsMHgwNCwweDY0LDB4MDAsMHg4OSwweDgyLDB4MmUsMHg0MCwweDI4LDB4OTAsMHgwMiwweDI0LDB4ODIsMHg4MSwweGMwLDB4YTIgfX0sCi0gezE2LCAweGI4ZTAsIDAsIHsweDcwLDB4MGIsMHg5YywweDAyLDB4ZTQsMHgwMCwweDMxLDB4NDIsMHhhMiwweDYwLDB4MGIsMHg5NCwweDgyLDB4ZTQsMHgwMCwweGI5IH19LAotIHsxNiwgMHhiOGYwLCAwLCB7MHgwMCwweDJhLDB4NDAsMHgwOCwweDk0LDB4YTIsMHgyNSwweDAwLDB4YjksMHgwMCwweDJlLDB4NDAsMHgwYiwweDkwLDB4MGEsMHgyMCB9fSwKLSB7MTYsIDB4YjkwMCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHgyNCwweDAwLDB4ODksMHg2NCwweDJlLDB4NDAgfX0sCi0gezE2LCAweGI5MTAsIDAsIHsweDA4LDB4OTAsMHg0MiwweGE0LDB4MDAsMHg4OSwweDYwLDB4MjIsMHg0MiwweDBiLDB4OTAsMHgwMiwweGU2LDB4MDAsMHhiOSwweDgwIH19LAotIHsxNiwgMHhiOTIwLCAwLCB7MHgyMiwweDQwLDB4MGIsMHg5MCwweDAyLDB4YTQsMHgwNCwweGI5LDB4MDAsMHgyMiwweDQwLDB4MjgsMHg5MCwweDAyLDB4MjQsMHgwNCB9fSwKLSB7MTYsIDB4YjkzMCwgMCwgezB4YjksMHgwMCwweDJlLDB4NDAsMHgwYiwweDkwLDB4MDIsMHgwZSwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGI5NDAsIDAsIHsweDA4LDB4MDQsMHgwNSwweDgwLDB4ODEsMHgwMCwweDJjLDB4YzEsMHg0OCwweDEwLDB4MDIsMHhhNCwweDAyLDB4ODEsMHgwMCwweDIwIH19LAotIHsxNiwgMHhiOTUwLCAwLCB7MHg0MCwweDgzLDB4MzQsMHgwMiwweGM0LDB4MDAsMHhiYiwweDAwLDB4MjAsMHhkMCwweDBiLDB4MTQsMHgwMiwweGM0LDB4ODAsMHhiMSB9fSwKLSB7MTYsIDB4Yjk2MCwgMCwgezB4MjAsMHhhMCwweDY4LDB4MTgsMHgxNCwweDFhLDB4MGQsMHgwMCwweGIxLDB4NDAsMHgyYywweDUwLDB4MGIsMHgxMCwweDAyLDB4MGEgfX0sCi0gezE2LCAweGI5NzAsIDAsIHsweDA1LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjAsMHgwMCwweGM4LDB4MDAsMHgzZSwweDAwIH19LAotIHsxNiwgMHhiOTgwLCAwLCB7MHg4YywweDgwLDB4MGIsMHhhMCwweDA0LDB4ZTgsMHgwMCwweDMyLDB4MDAsMHgwNywweDgwLDB4MDMsMHhlMCwweDAwLDB4ZjgsMHgwMCB9fSwKLSB7MTYsIDB4Yjk5MCwgMCwgezB4MzIsMHgwMCwweDFmLDB4ODAsMHgwMywweGExLDB4NDAsMHhmOCwweDUwLDB4MzIsMHgwMCwweDBjLDB4ODAsMHgwMywweDIwLDB4MDAgfX0sCi0gezE2LCAweGI5YTAsIDAsIHsweGY4LDB4MDAsMHgzZSwweDAwLDB4MGYsMHg4MCwweDAzLDB4MmUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiOWIwLCAwLCB7MHg5OCwweDFkLDB4ZjQsMHg0NiwweGZkLDB4NDAsMHgzZiwweDUwLDB4MjMsMHhkNCwweDEzLDB4NzQsMHgwNCwweGY1LDB4MDIsMHgzZiB9fSwKLSB7MTYsIDB4YjljMCwgMCwgezB4NTAsMHgwZiwweGQ0LDB4MDMsMHhmZCwweDAwLDB4YmQsMHgwMCwweDJmLDB4NTAsMHgwZiwweGQwLDB4MDMsMHhlNCwweDQwLDB4ZjkgfX0sCi0gezE2LCAweGI5ZDAsIDAsIHsweDEwLDB4M2YsMHg0NCwweDBmLDB4ZDQsMHgwMywweGY1LDB4MDgsMHhmZCwweDA2LDB4M2UsMHg1MCwweDBmLDB4ZDIsMHg4MywweGU2IH19LAotIHsxNiwgMHhiOWUwLCAwLCB7MHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweGU2LDB4NDAsMHhlZCwweDA0LDB4M2UsMHg0OCB9fSwKLSB7MTYsIDB4YjlmMCwgMCwgezB4MGMsMHhiMiwweDgzLDB4ZjQsMHgwMCwweGMxLDB4MDAsMHgzMiwweDQwLDB4OGMsMHhkMCwweDAzLDB4MzQsMHgwMCwweGZkLDB4MDAgfX0sCi0gezE2LCAweGJhMDAsIDAsIHsweDM3LDB4NDAsMHgwZiwweGQwLDB4MDMsMHhlNiwweDIwLDB4ZjksMHg4OCwweDNkLDB4NjIsMHgwYywweGQ4LDB4MDMsMHhmZSwweDI0IH19LAotIHsxNiwgMHhiYTEwLCAwLCB7MHhjMSwweDAwLDB4M2UsMHg3OCwweDBmLDB4ZDAsMHgwMywweDA2LDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YmEyMCwgMCwgezB4MzgsMHgxMCwweGUxLDB4MDAsMHg4OCwweDQwLDB4MmUsMHgxMCwweDA4LDB4YzQsMHgyMywweGEwLDB4MDgsMHg4OCwweDA2LDB4MmEgfX0sCi0gezE2LCAweGJhMzAsIDAsIHsweDE0LDB4MDgsMHg4MCwweDAzLDB4NjAsMHgwNCwweGI4LDB4MDAsMHgyMiwweDAwLDB4MGIsMHg4MCwweDAyLDB4ZTIsMHgwMCwweGI4IH19LAotIHsxNiwgMHhiYTQwLCAwLCB7MHg4MCwweDJlLDB4MDAsMHgwOCwweDhjLDB4MDIsMHhlMywweDgwLDB4ODgsMHgwMiwweDJlLDB4MzgsMHgwYiwweDg4LDB4MDIsMHgwZSB9fSwKLSB7MTYsIDB4YmE1MCwgMCwgezB4MDYsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhjNSwweDgwLDB4YTEsMHhjMCwweDJkLDB4NzAgfX0sCi0gezE2LCAweGJhNjAsIDAsIHsweDA4LDB4NTAsMHg0MiwweGM0LDB4MDAsMHhhOSwweDAwLDB4MjAsMHhlMCwweDJhLDB4MTAsMHgwYSwweDA0LDB4MTAsMHhiMSwweDAwIH19LAotIHsxNiwgMHhiYTcwLCAwLCB7MHgyNCwweDQwLDB4NGIsMHgxMCwweDA2LDB4YzQsMHgyMCwweGIxLDB4MDgsMHg2ZSwweDQwLDB4MGIsMHgxNiwweDgyLDB4YzQsMHgyMCB9fSwKLSB7MTYsIDB4YmE4MCwgMCwgezB4ODEsMHgwMCwweDJjLDB4NTAsMHgwYiwweDkyLDB4ODIsMHg1MiwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGJhOTAsIDAsIHsweDE4LDB4MTEsMHhhNCwweDAwLDB4YTksMHgwMSwweDJlLDB4NDAsMHgyOCwweGQwLDB4MjAsMHhhNCwweDA0LDB4YTksMHgwMCwweDJhIH19LAotIHsxNiwgMHhiYWEwLCAwLCB7MHg0MCwweDFhLDB4YjAsMHgxMiwweDI0LDB4MDAsMHhiOSwweDBjLDB4MjIsMHg0MiwweDBiLDB4OTQsMHgwMiwweGU0LDB4MDAsMHhiOSB9fSwKLSB7MTYsIDB4YmFiMCwgMCwgezB4MDAsMHg2ZSwweDQwLDB4MGIsMHg5NiwweDAyLDB4ZTQsMHgxMSwweDg5LDB4MjAsMHg2ZSwweDQwLDB4MGIsMHg5MCwweDAyLDB4NDYgfX0sCi0gezE2LCAweGJhYzAsIDAsIHsweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4ZTQsMHhjMCwweGE5LDB4YzAsMHgzZSwweDUwIH19LAotIHsxNiwgMHhiYWQwLCAwLCB7MHgwOCwweDljLDB4ODMsMHhlNCwweDAyLDB4ZTksMHgwMCwweGIyLDB4NDAsMHgyYSwweDkyLDB4MTIsMHgyNiwweDQwLDB4ZjksMHg0MCB9fSwKLSB7MTYsIDB4YmFlMCwgMCwgezB4MzYsMHg3MCwweDBmLDB4OTQsMHgwMywweGU0LDB4MDQsMHhmOSwweDAxLDB4M2MsMHg0MCwweDBmLDB4OTgsMHgwMywweGU2LDB4MDIgfX0sCi0gezE2LCAweGJhZjAsIDAsIHsweGM5LDB4MjIsMHgzZSwweDQwLDB4MGYsMHgxMCwweDAyLDB4NjgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiYjAwLCAwLCB7MHgyOCwweDAxLDB4ODYsMHgwNCwweGQ5LDB4NDAsMHgxYywweDQwLDB4MGYsMHg5MiwweDIzLDB4YTQsMHhiMCwweGRiLDB4MDQsMHgzYyB9fSwKLSB7MTYsIDB4YmIxMCwgMCwgezB4YzAsMHgwZCwweDlhLDB4MDMsMHhlNCwweDAwLDB4ZjksMHgwMCwweDNlLDB4NDQsMHgwZiwweDkwLDB4MDMsMHhlNCwweDAwLDB4ZjkgfX0sCi0gezE2LCAweGJiMjAsIDAsIHsweDAwLDB4M2UsMHg0MiwweDJjLDB4OTAsMHgyMywweGU0LDB4ODAsMHhmOSwweDAwLDB4M2UsMHg0MCwweDhmLDB4OTIsMHgwMywweDkyIH19LAotIHsxNiwgMHhiYjMwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxMCwweGExLDB4MDAsMHhjOCwweDIwLDB4MzIsMHgwMCB9fSwKLSB7MTYsIDB4YmI0MCwgMCwgezB4NGMsMHhjMCwweDhiLDB4MjAsMHgwMiwweGM4LDB4MzEsMHgzMiwweDIwLDB4MmQsMHg4NCwweDAzLDB4ZTEsMHgwNCwweGY4LDB4NDggfX0sCi0gezE2LCAweGJiNTAsIDAsIHsweGJhLDB4MDAsMHgwZiwweDg5LDB4MDMsMHhlMCwweDAwLDB4YzgsMHgwMCwweDMyLDB4MDAsMHgwZCwweDgxLDB4MTMsMHgyMCwweDEwIH19LAotIHsxNiwgMHhiYjYwLCAwLCB7MHhmOCwweDAwLDB4M2EsMHgwMCwweDBmLDB4ODEsMHgyMywweDAyLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YmI3MCwgMCwgezB4MjgsMHgwNSwweDI4LDB4MDAsMHgwZSwweDQwLDB4MjIsMHg4MCwweDI4LDB4YTQsMHgwMiwweDE5LDB4MDAsMHg1MiwweDgwLDB4YTIgfX0sCi0gezE2LCAweGJiODAsIDAsIHsweDgwLDB4NGQsMHhlZCwweDgyLDB4ZTgsMHgwMCwweGI2LDB4NDIsMHgyMywweGJkLDB4MGIsMHhlOCwweDAyLDB4ZTgsMHgwNCwweGRhIH19LAotIHsxNiwgMHhiYjkwLCAwLCB7MHgwMCwweDM3LDB4ODAsMHgwOCwweGUwLDB4MDIsMHgzYSwweDIwLDB4YmEsMHgwMCwweDIyLDB4ODAsMHgwYiwweGE4LDB4MGEsMHgwYSB9fSwKLSB7MTYsIDB4YmJhMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg0YywweDAwLDB4ODMsMHg4MCwweDYwLDB4YzAgfX0sCi0gezE2LCAweGJiYjAsIDAsIHsweDA4LDB4MjksMHgwMiwweDBkLDB4MDAsMHg5MiwweDQwLDB4MjQsMHhjMCwweDA4LDB4YjQsMHgwMiwweGNjLDB4MDAsMHhiMywweDAwIH19LAotIHsxNiwgMHhiYmMwLCAwLCB7MHg2OCwweGUwLDB4MWIsMHgzMCwweDAyLDB4Y2MsMHgwMCwweDkzLDB4MDEsMHgyNCwweGMwLDB4NjksMHgzOCwweDAyLDB4NmMsMHgwMCB9fSwKLSB7MTYsIDB4YmJkMCwgMCwgezB4YjMsMHgwMCwweDJjLDB4YzAsMHgwYiwweDMwLDB4MDIsMHgwYSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGJiZTAsIDAsIHsweGEwLDB4MDEsMHgxYywweDQwLDB4ODMsMHhjMCwweDIwLDB4NDAsMHgwOCwweDI4LDB4MDYsMHg5YywweDE4LDB4OWMsMHgwMiwweDI0IH19LAotIHsxNiwgMHhiYmYwLCAwLCB7MHhjMCwweDA5LDB4NzAsMHgwMiwweGQ0LDB4MDAsMHhiNywweDAwLDB4MjEsMHhjMCwweDBiLDB4NzAsMHgwMiwweGNlLDB4NDAsMHg5NyB9fSwKLSB7MTYsIDB4YmMwMCwgMCwgezB4YjAsMHgyNSwweDQwLDB4MDgsMHg3OCwweDFhLDB4NTgsMHgwMCwweGJmLDB4YTIsMHg2NSwweGM4LDB4MGIsMHg3OCwweDAyLDB4MjAgfX0sCi0gezE2LCAweGJjMTAsIDAsIHsweDA0LDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MGUsMHgwMiwweDg3LDB4ODAsMHhiMSwweGEwIH19LAotIHsxNiwgMHhiYzIwLCAwLCB7MHgwYywweDY4LDB4MDMsMHgxYSwweDA4LDB4ZDYsMHg5MiwweDM1LDB4ZTQsMHgyOCwweDc4LDB4NDIsMHhkNiwweDEwLDB4ZjUsMHg4MCB9fSwKLSB7MTYsIDB4YmMzMCwgMCwgezB4MzksMHhhMCwweDBmLDB4NzgsMHgyMywweGRlLDB4MzAsMHhkMywweGEyLDB4MzUsMHhhMCwweDRkLDB4ZTgsMHgwMywweDVlLDB4MDAgfX0sCi0gezE2LCAweGJjNDAsIDAsIHsweGY3LDB4ZDAsMHgzZCwweGY4LDB4MGYsMHhmMCwweDAzLDB4MjIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiYzUwLCAwLCB7MHgwOCwweDFkLDB4YWMsMHgwMCwweGZiLDB4MDQsMHgzZSwweDAwLDB4MGIsMHhhMCwweDAzLDB4NDgsMHgwNCwweGZhLDB4NDEsMHgzYSB9fSwKLSB7MTYsIDB4YmM2MCwgMCwgezB4NTAsMHgwZiwweGIwLDB4MDMsMHhlNCwweDAwLDB4ZjEsMHgwMCwweDNlLDB4YzAsMHgwZiwweGIwLDB4MDMsMHhlZCwweDg4LDB4ZmIgfX0sCi0gezE2LCAweGJjNzAsIDAsIHsweDRkLDB4M2UsMHgwMCwweDBmLDB4ZjAsMHgwMywweGJjLDB4MDgsMHhmYiwweDIwLDB4M2EsMHhjMCwweDBmLDB4YjAsMHgwMywweGMyIH19LAotIHsxNiwgMHhiYzgwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweGZlLDB4MDAsMHhkYywweDgwLDB4YjMsMHhlMCB9fSwKLSB7MTYsIDB4YmM5MCwgMCwgezB4MGMsMHhkOCwweDAzLDB4Y2UsMHgwMCwweGM4LDB4YTAsMHgzMSwweGEwLDB4OGQsMHhlOSwweDAzLDB4YmUsMHgwMCwweGIyLDB4ODAgfX0sCi0gezE2LCAweGJjYTAsIDAsIHsweDMzLDB4ZTAsMHgwYywweGU4LDB4NDMsMHg3ZSwweDA0LDB4MGYsMHg4MSwweDMxLDB4ZTQsMHgwYywweGQ4LDB4MDMsMHhmNiwweDAwIH19LAotIHsxNiwgMHhiY2IwLCAwLCB7MHhmZiwweDgwLDB4M2YsMHhlMCwweDBmLDB4ZjgsMHgwMywweDAwLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YmNjMCwgMCwgezB4YTgsMHgxMSwweDljLDB4MDAsMHhiNCwweDQwLDB4MzUsMHg0MCwweDA4LDB4NTAsMHg4MiwweGRlLDB4ODAsMHhkNCwweDkwLDB4MjEgfX0sCi0gezE2LCAweGJjZDAsIDAsIHsweGUwLDB4MGQsMHg1MSwweDAyLDB4ZDQsMHg0MCwweGI2LDB4YjAsMHgyYiwweDkwLDB4MGUsMHhlNSwweDAyLDB4OWMsMHg0MCwweGQ3IH19LAotIHsxNiwgMHhiY2UwLCAwLCB7MHgyMiwweDE5LDB4NWMsMHgwZCwweDcwLDB4MDIsMHhkOCwweDAwLDB4YjcsMHgyMCwweDJkLDB4YzAsMHgwYiwweGYwLDB4MDMsMHg2YSB9fSwKLSB7MTYsIDB4YmNmMCwgMCwgezB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5YywweDAwLDB4OTMsMHgxMCwweDIxLDB4ODAgfX0sCi0gezE2LCAweGJkMDAsIDAsIHsweDA4LDB4NTgsMHgwMiwweGRjLDB4YzAsMHg5NCwweDAwLDB4MjMsMHhkMCwweDA4LDB4NzAsMHhhMCwweGQ0LDB4MjAsMHhiNSwweDAyIH19LAotIHsxNiwgMHhiZDEwLCAwLCB7MHgyOSwweDgwLDB4MDksMHg2MCwweDgyLDB4MGMsMHgwMCwweDg3LDB4MDIsMHgyNSwweGMwLDB4MTksMHg0MCwweDAyLDB4ZDQsMHgwMCB9fSwKLSB7MTYsIDB4YmQyMCwgMCwgezB4YjcsMHgwMCwweDZkLDB4YzAsMHgwYiwweDcwLDB4MDIsMHgwMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGJkMzAsIDAsIHsweDIwLDB4MTQsMHhlYywweDAwLDB4YjMsMHhjMCwweDIwLDB4MDEsMHg0OCwweDE4LDB4MDIsMHhjYywweDAyLDB4ODEsMHg0NCwweGEwIH19LAotIHsxNiwgMHhiZDQwLCAwLCB7MHhjMCwweDg5LDB4MzgsMHgwMiwweGM3LDB4ODAsMHhiMSwweDAwLDB4MmMsMHgwOSwweDRhLDB4MDAsMHg2MiwweGFjLDB4MDksMHg5MyB9fSwKLSB7MTYsIDB4YmQ1MCwgMCwgezB4MDEsMHgyOCwweDQwLDB4MTksMHgzMCwweDAyLDB4Y2QsMHgxMCwweGIzLDB4OTAsMHgyYywweGMwLDB4MGIsMHgzMCwweDAyLDB4YzggfX0sCi0gezE2LCAweGJkNjAsIDAsIHsweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YmMsMHgyMCwweGRiLDB4NjIsMHgyMiwweGUwIH19LAotIHsxNiwgMHhiZDcwLCAwLCB7MHg2YywweGEwLDB4MDMsMHhlNCwweDAwLDB4OTgsMHgwMCwweDMyLDB4YzAsMHhlYywweDk4LDB4MjMsMHhhZSwweDA4LDB4ZmIsMHgwOCB9fSwKLSB7MTYsIDB4YmQ4MCwgMCwgezB4M2EsMHg3OCwweDA5LDB4OTAsMHgwMywweDdjLDB4MTAsMHhjZiwweDAwLDB4MjYsMHg0MCwweDBjLDB4YjAsMHgwMywweGVjLDB4MDAgfX0sCi0gezE2LCAweGJkOTAsIDAsIHsweGZmLDB4ODAsMHgzZiwweGMwLDB4MGYsMHg5MCwweDAzLDB4MmEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiZGEwLCAwLCB7MHg4MCwweDAwLDB4ZWMsMHgyMCwweGZiLDB4NDgsMHgzYywweDYxLDB4MGYsMHhhMCwweDQzLDB4ZWQsMHgwMCwweGY4LDB4MjQsMHgzZSB9fSwKLSB7MTYsIDB4YmRiMCwgMCwgezB4NTAsMHgwZiwweDkwLDB4ODMsMHhlNCwweDAwLDB4ZmIsMHgwMCwweDNhLDB4NTAsMHgwZiwweDgwLDB4NDMsMHhlYywweDA4LDB4ZmIgfX0sCi0gezE2LCAweGJkYzAsIDAsIHsweDAwLDB4M2UsMHg0MCwweDBmLDB4NDAsMHgwMywweGYwLDB4MDAsMHhmYiwweDAwLDB4M2UsMHhjMSwweDBmLDB4OTAsMHgwMywweDYwIH19LAotIHsxNiwgMHhiZGQwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGZjLDB4MDAsMHhkZCwweGEwLDB4MzIsMHg4MCB9fSwKLSB7MTYsIDB4YmRlMCwgMCwgezB4MGMsMHhlMCwweDAxLDB4ZmMsMHgwMCwweGRjLDB4OTEsMHgzOSwweGMwLDB4M2MsMHg0MCwweDAzLDB4MzQsMHgwMCwweGZmLDB4ODAgfX0sCi0gezE2LCAweGJkZjAsIDAsIHsweDNmLDB4MDAsMHgwZiwweGQwLDB4MDcsMHhmYywweDAwLDB4Y2IsMHgwMCwweDNkLDB4NDAsMHgwYywweGUwLDB4MDMsMHgzOCwweDIwIH19LAotIHsxNiwgMHhiZTAwLCAwLCB7MHhjZiwweDAyLDB4M2QsMHhjMCwweDBjLDB4ZDAsMHgwMywweDA4LDB4NDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YmUxMCwgMCwgezB4ODEsMHgwNCwweDZjLDB4MDAsMHgwMSwweDQwLDB4MjIsMHgwMCwweDI4LDB4YTAsMHgwMiwweGNlLDB4ODYsMHg4MywweDY0LDB4MjIgfX0sCi0gezE2LCAweGJlMjAsIDAsIHsweGY0LDB4MDgsMHg4YywweDBmLDB4NjQsMHgwMCwweGJiLDB4MTAsMHgyZSwweDYwLDB4MGIsMHg5YywweDAzLDB4YWMsMHgwMSwweGRiIH19LAotIHsxNiwgMHhiZTMwLCAwLCB7MHgwMCwweDNlLDB4NjAsMHgwOCwweDhmLDB4MDIsMHgyMywweDQwLDB4OGIsMHgwMCwweDNhLDB4YzAsMHgwZCwweDEwLDB4NDMsMHg2OCB9fSwKLSB7MTYsIDB4YmU0MCwgMCwgezB4NDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgyYywweDAwLDB4OTksMHgwMCwweGEyLDB4YzAgfX0sCi0gezE2LCAweGJlNTAsIDAsIHsweDA4LDB4OTAsMHgwMiwweGE2LDB4MDcsMHg5OCwweDAwLDB4MDIsMHhjMiwweDQ4LDB4ODgsMHgwMiwweDJjLDB4MDAsMHhiYSwweDAyIH19LAotIHsxNiwgMHhiZTYwLCAwLCB7MHg2ZSwweDYwLDB4MGEsMHg5OCwweDAyLDB4ZWMsMHgwMCwweDhiLDB4MDEsMHgyZSwweDYwLDB4MDgsMHg5MCwweDAyLDB4MDUsMHgwMCB9fSwKLSB7MTYsIDB4YmU3MCwgMCwgezB4OGIsMHgwMCwweDJlLDB4YzAsMHgwOCwweGIxLDB4MDIsMHgyMCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGJlODAsIDAsIHsweDA4LDB4MDQsMHgwYywweDEwLDB4ODEsMHgwMCwweDIwLDB4NDAsMHgyOCwweDEwLDB4MjYsMHhjYywweDgwLDB4ODAsMHgyMCwweGEwIH19LAotIHsxNiwgMHhiZTkwLCAwLCB7MHhjYywweDE4LDB4MTQsMHg0MiwweDA0LDB4MDAsMHhiMiwweDIwLDB4NmMsMHg0MCwweDBiLDB4MDAsMHgwMiwweDhjLDB4MDAsMHg4MyB9fSwKLSB7MTYsIDB4YmVhMCwgMCwgezB4MDAsMHgyOCwweDQwLDB4MjgsMHgwMCwweDAyLDB4MDAsMHgwMCwweDgzLDB4MDAsMHgyOCwweGMwLDB4MDksMHhiMCwweDAyLDB4NDIgfX0sCi0gezE2LCAweGJlYjAsIDAsIHsweDA1LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4NmMsMHgwMCwweGQ5LDB4MDAsMHgyMiwweDgwIH19LAotIHsxNiwgMHhiZWMwLCAwLCB7MHgwYywweDkwLDB4MDMsMHhhYywweDgwLDB4ZGEsMHgyOSwweDJhLDB4ZDIsMHgyOCwweDgwLDB4MDIsMHgyNCwweDAwLDB4ZmIsMHgyMCB9fSwKLSB7MTYsIDB4YmVkMCwgMCwgezB4M2UsMHgwMCwweDBmLDB4OTAsMHgwMiwweGZjLDB4MDAsMHg4ZiwweDAwLDB4MmUsMHg0MCwweDBjLDB4ODAsMHgwYiwweDIwLDB4MDIgfX0sCi0gezE2LCAweGJlZTAsIDAsIHsweGNmLDB4MDAsMHgzZSwweGMwLDB4MGMsMHhiMCwweDAzLDB4MDAsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiZWYwLCAwLCB7MHhhMCwweDFkLDB4ZmMsMHgwMCwweGZkLDB4MDAsMHgzZiwweDAwLDB4MGYsMHhkMCwweDYzLDB4ZmMsMHg0OSwweGY1LDB4MDAsMHgzZSB9fSwKLSB7MTYsIDB4YmYwMCwgMCwgezB4YzAsMHgwYiwweGMwLDB4MDEsMHhmNCwweDAwLDB4N2YsMHg0MCwweDNmLDB4NDAsMHgxZiwweGQwLDB4MDMsMHhiYywweDAwLDB4ZmYgfX0sCi0gezE2LCAweGJmMTAsIDAsIHsweDAwLDB4M2YsMHg0MCwweDBmLDB4YzAsMHgwMywweGYwLDB4MDAsMHhmZiwweDAwLDB4M2IsMHhjMCwweDBmLDB4ZjAsMHgwMywweGU4IH19LAotIHsxNiwgMHhiZjIwLCAwLCB7MHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMSwweGYyLDB4NDAsMHhlYywweGEwLDB4M2YsMHhlMCB9fSwKLSB7MTYsIDB4YmYzMCwgMCwgezB4MGQsMHg0OCwweDAzLDB4N2QsMHg4MCwweGY0LDB4ODAsMHgzMywweDZjLDB4MGUsMHhjOCwweDAzLDB4MzIsMHgwMCwweGRkLDB4OTAgfX0sCi0gezE2LCAweGJmNDAsIDAsIHsweDNiLDB4YTAsMHgyZCwweGYwLDB4MDMsMHhmYywweGMwLDB4ZmYsMHgwMCwweDNiLDB4ZTAsMHg4ZSwweGYwLDB4MDMsMHgzYywweDA0IH19LAotIHsxNiwgMHhiZjUwLCAwLCB7MHhlYywweDYwLDB4MzEsMHgwMCwweDBjLDB4ZjAsMHgwMywweGIwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YmY2MCwgMCwgezB4ODAsMHgxMCwweGVjLDB4MDAsMHhkOSwweGMxLDB4MmUsMHhlMSwweDBkLDB4ODgsMHgwMiwweDNjLDB4ODAsMHhmOCwweDgwLDB4MzYgfX0sCi0gezE2LCAweGJmNzAsIDAsIHsweDdkLDB4MTgsMHhhMCwweDAyLDB4MjgsMHhiMCwweGVhLDB4MjAsMHgyMiwweDIwLDB4MDgsMHg3NywweDAyLDB4ZmQsMHg1MCwweGJiIH19LAotIHsxNiwgMHhiZjgwLCAwLCB7MHg4MCwweDIyLDB4NDAsMHgwYiwweGY0LDB4NDIsMHgzZCwweDgwLDB4ODgsMHgzMSwweDIyLDB4MTIsMHgwOCwweGY2LDB4MDIsMHhlMCB9fSwKLSB7MTYsIDB4YmY5MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjYywweDAwLDB4ODAsMHgxMSwweDJlLDB4YzEgfX0sCi0gezE2LCAweGJmYTAsIDAsIHsweDA4LDB4MDAsMHgwMiwweDRkLDB4ODAsMHhiOCwweDAwLDB4MjAsMHgwMCwweDBhLDB4MDIsMHg4MiwweDAwLDB4MDAsMHg5OSwweDIwIH19LAotIHsxNiwgMHhiZmIwLCAwLCB7MHgyMiwweGMwLDB4MDksMHgzMCwweDgyLDB4Y2MsMHgwMCwweGIzLDB4MDAsMHgyOCwweGNhLDB4MGIsMHgzNCwweDgyLDB4MGQsMHgyMCB9fSwKLSB7MTYsIDB4YmZjMCwgMCwgezB4ODAsMHgwMCwweGEwLDB4OGMsMHgwOCwweDM0LDB4ODIsMHhhMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGJmZDAsIDAsIHsweGMwLDB4MTUsMHhhYywweDQwLDB4OTksMHg4MCwweDJlLDB4YzIsMHgwOSwweDk0LDB4MDIsMHgyYywweDAwLDB4YTksMHg4MCwweDI2IH19LAotIHsxNiwgMHhiZmUwLCAwLCB7MHg2MCwweDA4LDB4MzgsMHg0MiwweDIyLDB4MjAsMHhiYSwweDQxLDB4NjIsMHg0NiwweDNiLDB4YjAsMHgwMiwweGVjLDB4MDEsMHhiYiB9fSwKLSB7MTYsIDB4YmZmMCwgMCwgezB4ODAsMHgyMiwweDQwLDB4MGIsMHhiMCwweDQ2LDB4MGMsMHgxOCwweDg4LDB4YzAsMHgyMiwweDIyLDB4MDgsMHhiMCwweDA2LDB4ZjAgfX0sCi0gezE2LCAweGMwMDAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDE1LDB4Y2MsMHgwMCwweGM5LDB4ODEsMHgzYywweGMxIH19LAotIHsxNiwgMHhjMDEwLCAwLCB7MHgwYywweGE5LDB4MjMsMHg2YywweDAwLDB4YjIsMHg4MCwweDMyLDB4NzgsMHgwYSwweDhhLDB4MGIsMHgyNiwweDAwLDB4OTksMHgwMSB9fSwKLSB7MTYsIDB4YzAyMCwgMCwgezB4MzAsMHhlMCwweDBkLDB4YjAsMHgwMywweGVjLDB4MDAsMHhiOSwweDAwLDB4M2EsMHhjMCwweDFlLDB4YjAsMHgwMywweDJjLDB4MDAgfX0sCi0gezE2LCAweGMwMzAsIDAsIHsweGNiLDB4ODAsMHgzMiwweDYxLDB4MGMsMHhiMCwweDEzLDB4OTAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjMDQwLCAwLCB7MHhlMCwweDAxLDB4YmMsMHgxMCwweGRkLDB4MDAsMHgzZiwweGMyLDB4MGYsMHhlOCwweDAzLDB4YWMsMHgwMCwweGZlLDB4MDAsMHgzZCB9fSwKLSB7MTYsIDB4YzA1MCwgMCwgezB4NDAsMHgwZiwweGMwLDB4NDMsMHhmOCwweDEwLDB4ZWYsMHgxNCwweGI3LDB4ZTAsMHgwYywweGYwLDB4MDMsMHhmYywweDAwLDB4ZjUgfX0sCi0gezE2LCAweGMwNjAsIDAsIHsweDAyLDB4M2YsMHg0NCwweDRmLDB4YjAsMHg0YiwweGZjLDB4MDIsMHhkNCwweDA0LDB4M2QsMHg0MCwweDJmLDB4ZjAsMHgwMywweGY4IH19LAotIHsxNiwgMHhjMDcwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweGFjLDB4MDAsMHhmOSwweDA4LDB4M2UsMHg2MCB9fSwKLSB7MTYsIDB4YzA4MCwgMCwgezB4MGQsMHhhMCwweDAzLDB4YWMsMHgwMCwweGU4LDB4NTAsMHgzMiwweDAwLDB4MGMsMHg4NCwweDAzLDB4YTUsMHgwMCwweGU5LDB4MDAgfX0sCi0gezE2LCAweGMwOTAsIDAsIHsweDNhLDB4ZDgsMHgwZiwweGIwLDB4MDMsMHgyYywweDAwLDB4ZjksMHgwMCwweDNhLDB4YzAsMHgwZiwweDMwLDB4MDMsMHgyYywweDAwIH19LAotIHsxNiwgMHhjMGEwLCAwLCB7MHhjYiwweDQ0LDB4M2UsMHhkNCwweDBlLDB4YjAsMHgwMywweGQwLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YzBiMCwgMCwgezB4YzgsMHgwNSwweDJjLDB4MDgsMHhiOSwweDgwLDB4MmUsMHhjMCwweDBhLDB4MzAsMHg0MiwweDNjLDB4MDAsMHg4OSwweDA0LDB4NzYgfX0sCi0gezE2LCAweGMwYzAsIDAsIHsweDYwLDB4MDgsMHg5MCwweDYyLDB4MjAsMHgwMCwweDgyLDB4MDQsMHgyMiwweGQwLDB4MDgsMHhmMCwweDQzLDB4N2MsMHgwMCwweGJiIH19LAotIHsxNiwgMHhjMGQwLCAwLCB7MHg4MiwweDIyLDB4NDAsMHgwYiwweGYwLDB4NDIsMHgzYywweDAwLDB4OGEsMHhjMCwweDJlLDB4YzEsMHgwOCwweGYwLDB4MDIsMHhmMiB9fSwKLSB7MTYsIDB4YzBlMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg0YywweDEwLDB4YjIsMHhkMCwweDJjLDB4YzAgfX0sCi0gezE2LCAweGMwZjAsIDAsIHsweDI5LDB4MTgsMHgwMiwweDhjLDB4MDQsMHhhMSwweDAwLDB4MjQsMHg5YywweDA4LDB4MTAsMHgwMiwweDgwLDB4MDAsMHhhMSwweDAxIH19LAotIHsxNiwgMHhjMTAwLCAwLCB7MHgwYywweGMxLDB4MmIsMHgzMCwweDUyLDB4OGMsMHgwNCwweGIzLDB4MDEsMHgyOCwweDQwLDB4NGIsMHgzMCwweDAyLDB4NGMsMHgwMCB9fSwKLSB7MTYsIDB4YzExMCwgMCwgezB4OTAsMHgyMCwweDJjLDB4MjAsMHgwYSwweDMwLDB4MDIsMHhmOCwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGMxMjAsIDAsIHsweDIwLDB4NDEsMHgxZSwweDAwLDB4YjcsMHhhMiwweDI1LDB4ZTgsMHg4YSwweDY4LDB4MDIsMHgxZSwweDAwLDB4ODUsMHg4MCwweDI1IH19LAotIHsxNiwgMHhjMTMwLCAwLCB7MHg4MCwweDg4LDB4ZTgsMHgwMiwweDNlLDB4MDAsMHg4NSwweDgwLDB4MmYsMHhlNCwweDI4LDB4NzgsMHgwMiwweGRlLDB4MDAsMHhiNyB9fSwKLSB7MTYsIDB4YzE0MCwgMCwgezB4ODAsMHg2MSwweGUwLDB4MDMsMHg3OCwweDAyLDB4NWUsMHg4MiwweGI3LDB4ODIsMHgyZCwweGUwLDB4MDgsMHg3OCwweDAyLDB4YzggfX0sCi0gezE2LCAweGMxNTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MGQsMHgwMCwweGYwLDB4MTAsMHgzYywweDgwIH19LAotIHsxNiwgMHhjMTYwLCAwLCB7MHgwZCwweDEwLDB4ODMsMHg4YywweDAwLDB4ZTIsMHg1MCwweDI2LDB4MDQsMHgwYywweDExLDB4MDMsMHg4OCwweDQwLDB4ZWIsMHgwMCB9fSwKLSB7MTYsIDB4YzE3MCwgMCwgezB4M2MsMHhjNCwweDBmLDB4MzAsMHgwMywweDhjLDB4MDAsMHhmMywweDA4LDB4MzgsMHg0MCwweDA3LDB4MzAsMHgwMywweDZlLDB4NDAgfX0sCi0gezE2LCAweGMxODAsIDAsIHsweGQwLDB4MDgsMHgzYywweDg4LDB4MGUsMHgzMCwweDQzLDB4ZDIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjMTkwLCAwLCB7MHg0MCwweDFkLDB4YmMsMHgwMCwweGZiLDB4MzQsMHgzYywweGM5LDB4NGUsMHhiMCwweDIzLDB4ZWQsMHgyMCwweGZiLDB4MDQsMHgzZiB9fSwKLSB7MTYsIDB4YzFhMCwgMCwgezB4YzgsMHg4ZiwweDcwLDB4NTMsMHg0YywweDAwLDB4ZWIsMHgxMCwweDMxLDB4YzUsMHgwZSwweGY0LDB4MDMsMHg2ZCwweDAwLDB4ZjMgfX0sCi0gezE2LCAweGMxYjAsIDAsIHsweDAwLDB4M2YsMHhjMCwweDBmLDB4ZjQsMHgwYiwweGJjLDB4MDAsMHhjZCwweDAwLDB4M2YsMHhjMCwweDBmLDB4ZjQsMHg4MywweGQwIH19LAotIHsxNiwgMHhjMWMwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGNlLDB4MDQsMHhjOSwweDA0LDB4YjAsMHhjMSB9fSwKLSB7MTYsIDB4YzFkMCwgMCwgezB4MGYsMHg5OCwweDEzLDB4NmMsMHg5MCwweGNiLDB4MDIsMHgzZSwweGMwLDB4NGYsMHhiMCwweDYzLDB4ZTQsMHgwMCwweGYxLDB4ODAgfX0sCi0gezE2LCAweGMxZTAsIDAsIHsweDEyLDB4YzAsMHgwYywweGI1LDB4MDMsMHhlYywweGMwLDB4Y2YsMHg4MywweDMyLDB4NDAsMHgwZiwweGIzLDB4MjMsMHgyZCwweGE0IH19LAotIHsxNiwgMHhjMWYwLCAwLCB7MHhmYiwweDAwLDB4M2UsMHgwMCwweDBmLDB4YjQsMHgwMywweDJhLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YzIwMCwgMCwgezB4NDgsMHgxMSwweDljLDB4MDAsMHg4NywweDAwLDB4MjEsMHhjMCwweDJkLDB4NjAsMHgwMiwweDFjLDB4MDAsMHhkNywweDAwLDB4MzkgfX0sCi0gezE2LCAweGMyMTAsIDAsIHsweGMwLDB4MGIsMHg2MCwweDAyLDB4ZGMsMHgwMCwweGI1LDB4MDAsMHgyMSwweGMwLDB4MmEsMHg3MCwweDEyLDB4Y2MsMHg4MCwweDg3IH19LAotIHsxNiwgMHhjMjIwLCAwLCB7MHgwMCwweDM1LDB4YzAsMHgwYiwweDcyLDB4NTIsMHgxYywweDAwLDB4YjcsMHgwMCwweDJkLDB4NDEsMHgwYiwweDMyLDB4MDIsMHgxMiB9fSwKLSB7MTYsIDB4YzIzMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHhiZSwweDAwLDB4ODEsMHhjMCwweDIzLDB4MjAgfX0sCi0gezE2LCAweGMyNDAsIDAsIHsweDBiLDB4ZDgsMHgwMiwweDVlLDB4MDAsMHgwNiwweGMwLDB4MmQsMHhhMCwweDBiLDB4N2MsMHgxMiwweGRlLDB4MDgsMHhiZiwweDgwIH19LAotIHsxNiwgMHhjMjUwLCAwLCB7MHhhMSwweGUyLDB4MmEsMHg3YSwweDAyLDB4ZGUsMHgwMCwweDkzLDB4ODAsMHgyNSwweDYwLDB4MGIsMHg3OCwweDFlLDB4NWUsMHg1MCB9fSwKLSB7MTYsIDB4YzI2MCwgMCwgezB4YjcsMHg4MCwweDJkLDB4YTAsMHgwYiwweDc4LDB4MDIsMHgzMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGMyNzAsIDAsIHsweDQ4LDB4MTQsMHhjZSwweDAwLDB4ODMsMHg2MCwweDIwLDB4YzAsMHgwOSwweDMxLDB4MDIsMHgyYywweDAwLDB4OTMsMHgwMCwweDI4IH19LAotIHsxNiwgMHhjMjgwLCAwLCB7MHhjMCwweDFiLDB4YjAsMHgwNiwweGNjLDB4ODAsMHhiMywweDQ4LDB4MjAsMHhmMCwweDBhLDB4MzAsMHgwMiwweGVjLDB4MDAsMHg5MyB9fSwKLSB7MTYsIDB4YzI5MCwgMCwgezB4ODAsMHgyNCwweGMwLDB4MGIsMHhiMCwweDAyLDB4NGMsMHgxMCwweGIzLDB4YzgsMHgyYywweGQyLDB4OGIsMHgzMCwweDAyLDB4MTIgfX0sCi0gezE2LCAweGMyYTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YmIsMHgwMCwweGM2LDB4YzQsMHgzMSwweDgxIH19LAotIHsxNiwgMHhjMmIwLCAwLCB7MHgwZiwweGUwLDB4MDMsMHg2OCwweDAwLDB4Y2UsMHg4MCwweDNmLDB4YTIsMHgwYiwweGU4LDB4MDMsMHhmOSwweDAwLDB4ZmUsMHg0MCB9fSwKLSB7MTYsIDB4YzJjMCwgMCwgezB4MzEsMHg4MCwweDZlLDB4YTAsMHgwNywweGU4LDB4MDAsMHhkYSwweDAwLDB4MjYsMHg4MSwweDBmLDB4YTAsMHgwMiwweDY4LDB4MDEgfX0sCi0gezE2LCAweGMyZDAsIDAsIHsweGY2LDB4ZTAsMHgzZCwweDkyLDB4MGYsMHhhMCwweDAzLDB4M2EsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjMmUwLCAwLCB7MHg0OCwweDAwLDB4ZTAsMHhjMiwweGY4LDB4MDQsMHgzZSwweDE0LDB4MGYsMHg4MCwweDEzLDB4ZTAsMHgxMCwweGY4LDB4MDEsMHgzZSB9fSwKLSB7MTYsIDB4YzJmMCwgMCwgezB4MTAsMHgwZiwweDgwLDB4NDMsMHhlMCwweDAwLDB4YjgsMHgwMCwweDNlLDB4MDAsMHg0NywweDgwLDB4MDMsMHhlMCwweDAyLDB4ZTggfX0sCi0gezE2LCAweGMzMDAsIDAsIHsweDEwLDB4M2UsMHgwMCwweDBmLDB4ODAsMHgwNywweGEwLDB4MDAsMHhmOCwweDAwLDB4MmUsMHgwMCwweDBmLDB4ODAsMHgwYiwweGQyIH19LAotIHsxNiwgMHhjMzEwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGU0LDB4MDAsMHhmOSwweDAxLDB4MzIsMHg0MCB9fSwKLSB7MTYsIDB4YzMyMCwgMCwgezB4OGMsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGM5LDB4MDAsMHgzNiwweDQyLDB4MGYsMHg5MCwweDAzLDB4YTQsMHgwMCwweGM5LDB4MDAgfX0sCi0gezE2LCAweGMzMzAsIDAsIHsweDNlLDB4NDIsMHgwZCwweDkwLDB4MDMsMHg2NCwweDAwLDB4ZDksMHgwMCwweDNlLDB4NDAsMHgwZiwweDkwLDB4MGIsMHg2NCwweDAwIH19LAotIHsxNiwgMHhjMzQwLCAwLCB7MHhmOSwweDkwLDB4MzIsMHg0MSwweDBjLDB4OTAsMHgwMywweDAyLDB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YzM1MCwgMCwgezB4ODAsMHgwNCwweDY0LDB4MDAsMHhiOSwweGM4LDB4YTIsMHg2MCwweDBhLDB4OTIsMHgwMiwweGU0LDB4MDAsMHg4OSwweDQwLDB4MmUgfX0sCi0gezE2LCAweGMzNjAsIDAsIHsweDU4LDB4MGIsMHg5MCwweDAyLDB4MDQsMHgwMCwweGQ5LDB4MDAsMHgyZSwweDQyLDB4MDgsMHg5MCwweDAyLDB4ZTQsMHgwNCwweDg5IH19LAotIHsxNiwgMHhjMzcwLCAwLCB7MHgwMCwweDJlLDB4NDAsMHgwYiwweDkwLDB4MDYsMHgyNCwweDA0LDB4YjksMHgwOCwweDJhLDB4NDAsMHg0OCwweDkwLDB4MTIsMHgyMCB9fSwKLSB7MTYsIDB4YzM4MCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHgyNCwweDAwLDB4YjksMHgxMCwweDIyLDB4NDQgfX0sCi0gezE2LCAweGMzOTAsIDAsIHsweDA4LDB4OTAsMHgwMiwweGU0LDB4MDAsMHg4OSwweDAwLDB4MjIsMHg0NSwweDhiLDB4OTAsMHgwMiwweGE0LDB4MDAsMHg4OSwweDAwIH19LAotIHsxNiwgMHhjM2EwLCAwLCB7MHgyYSwweDQwLDB4MDksMHg5MCwweDAyLDB4ZTQsMHgwMCwweDk5LDB4ODAsMHgyZSwweDQwLDB4MGIsMHg5MCwweDI2LDB4MjQsMHgwMCB9fSwKLSB7MTYsIDB4YzNiMCwgMCwgezB4YjksMHgwMSwweDIyLDB4NzAsMHgwOSwweDEwLDB4MDIsMHgwNiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGMzYzAsIDAsIHsweDA4LDB4MDQsMHgwNCwweDA4LDB4YjEsMHgyMCwweDIwLDB4NDAsMHgwYSwweDEwLDB4MDIsMHhjNCwweDgwLDB4ODMsMHgwMCwweDJjIH19LAotIHsxNiwgMHhjM2QwLCAwLCB7MHg1MCwweDRiLDB4MTAsMHgwMiwweDI0LDB4MDAsMHg5MSwweDAwLDB4MmUsMHg0MCwweDA4LDB4MTIsMHgwMiwweGM0LDB4ODEsMHg4MSB9fSwKLSB7MTYsIDB4YzNlMCwgMCwgezB4YTIsMHg2YywweDQwLDB4MGIsMHgxMiwweDAyLDB4MDQsMHg4MCwweGI5LDB4MjAsMHgyYSwweDQ4LDB4MjksMHgxMiwweDAyLDB4MDIgfX0sCi0gezE2LCAweGMzZjAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjEsMHg0MCwweGY4LDB4MDAsMHgzMiwweDgwIH19LAotIHsxNiwgMHhjNDAwLCAwLCB7MHgwOCwweDgwLDB4MDMsMHhlMSwweDQyLDB4YzgsMHgwMCwweDMyLDB4MDAsMHgxZiwweDg1LDB4MDMsMHhhMSwweDQwLDB4YzgsMHg1MCB9fSwKLSB7MTYsIDB4YzQxMCwgMCwgezB4M2EsMHgwMCwweDhkLDB4ODUsMHgwMywweDYxLDB4NDAsMHhkOCwweDAwLDB4M2UsMHgwMCwweDBmLDB4MDUsMHgwMywweDIxLDB4NDAgfX0sCi0gezE2LCAweGM0MjAsIDAsIHsweGY4LDB4NTAsMHgzMiwweDE0LDB4MGQsMHg4NSwweDBiLDB4MmUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjNDMwLCAwLCB7MHg5OCwweDFkLDB4ZjQsMHgwNCwweGZkLDB4MTAsMHgzZiwweDQwLDB4MGYsMHg1MCwweDAzLDB4YzQsMHg0MCwweGZkLDB4MDAsMHgzZiB9fSwKLSB7MTYsIDB4YzQ0MCwgMCwgezB4NTEsMHgwZiwweGQwLDB4MDMsMHhmNCwweDAwLDB4ZmYsMHgwMSwweDNkLDB4NDAsMHgwZiwweDkxLDB4MDMsMHhlNCwweDQwLDB4ZmQgfX0sCi0gezE2LCAweGM0NTAsIDAsIHsweDEwLDB4M2YsMHg0YSwweDBmLDB4OTEsMHgwMywweGU0LDB4NDAsMHhmZCwweDEwLDB4M2YsMHg0NCwweDBlLDB4OTEsMHgwMywweGU2IH19LAotIHsxNiwgMHhjNDYwLCAwLCB7MHgwMiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweGM1LDB4MDAsMHhjZCwweDAwLDB4MzEsMHg0MCB9fSwKLSB7MTYsIDB4YzQ3MCwgMCwgezB4MGQsMHhkMCwweDQzLDB4ZTQsMHgwMCwweGNkLDB4MDAsMHgzMywweDQwLDB4NGYsMHgxMSwweDAyLDB4ZTQsMHgwNCwweGMxLDB4MDAgfX0sCi0gezE2LCAweGM0ODAsIDAsIHsweDNkLDB4NDAsMHgwYywweDkwLDB4MDMsMHhlNCwweDAwLDB4ZWQsMHhhNCwweDMyLDB4NTAsMHgwZiwweDkwLDB4MDMsMHhlNCwweDAwIH19LAotIHsxNiwgMHhjNDkwLCAwLCB7MHhmZCwweDAwLDB4M2YsMHg0MCwweDBmLDB4OTAsMHgwMywweGM2LDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YzRhMCwgMCwgezB4MzgsMHgxMCwweGUyLDB4MDgsMHhkOCwweDAwLDB4MzIsMHgwMSwweDAwLDB4ODAsMHgxMiwweGMwLDB4MDAsMHg0OCwweDAwLDB4MzYgfX0sCi0gezE2LCAweGM0YjAsIDAsIHsweDgwLDB4MGIsMHg4YSwweDAyLDB4ZTAsMHgwMCwweGE4LDB4MDAsMHgyZSwweDAwLDB4MGYsMHg4MCwweDAyLDB4ZTAsMHgwMCwweDg4IH19LAotIHsxNiwgMHhjNGMwLCAwLCB7MHg1MCwweDM0LDB4MjgsMHgwYiwweDgwLDB4MDIsMHhlMCwweDAwLDB4YjgsMHgwMCwweDJlLDB4MDAsMHgwYiwweDgwLDB4MDIsMHhjZSB9fSwKLSB7MTYsIDB4YzRkMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhjNCwweDgwLDB4ODEsMHgwMCwweDI2LDB4NDAgfX0sCi0gezE2LCAweGM0ZTAsIDAsIHsweDA5LDB4MTgsMHgwMiwweGM0LDB4MDgsMHgyMSwweDAwLDB4MjgsMHg0MCwweDhiLDB4MTAsMHgwMiwweGM0LDB4MDAsMHhiMSwweDAxIH19LAotIHsxNiwgMHhjNGYwLCAwLCB7MHgyZSwweDQwLDB4MTgsMHgxMCwweDAyLDB4YzQsMHgwMCwweGExLDB4MDEsMHgyMCwweDQ4LDB4MWIsMHgxMCwweDAyLDB4YzQsMHgwMCB9fSwKLSB7MTYsIDB4YzUwMCwgMCwgezB4YjEsMHgwMCwweDZjLDB4NDAsMHgwYiwweDEwLDB4MTIsMHhjMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGM1MTAsIDAsIHsweDE4LDB4MTEsMHhhNCwweDAwLDB4OTksMHg4MCwweGEyLDB4NDIsMHg0OCwweDkwLDB4MDIsMHhlNCwweDAwLDB4YTksMHgyYSwweDI2IH19LAotIHsxNiwgMHhjNTIwLCAwLCB7MHg0NCwweDBiLDB4OTAsMHg4MiwweGM0LDB4ODEsMHhiOSwweDAwLDB4MmUsMHg0MCwweDBiLDB4OTAsMHg0MiwweGM0LDB4MDAsMHg4OSB9fSwKLSB7MTYsIDB4YzUzMCwgMCwgezB4MDAsMHgyNiwweDQwLDB4MGIsMHg5MCwweDAyLDB4ZTQsMHgwMCwweGI5LDB4MDEsMHgyZSwweDQxLDB4MGIsMHg5MCwweDAyLDB4YzYgfX0sCi0gezE2LCAweGM1NDAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4YzUsMHgyMCwweGM5LDB4ODQsMHgzMCwweDcwIH19LAotIHsxNiwgMHhjNTUwLCAwLCB7MHgwZCwweDkwLDB4MTMsMHhlNCwweDAyLDB4ZTksMHgwMCwweDMyLDB4NzAsMHgwZiwweDk0LDB4MDMsMHhlNCwweDAwLDB4ZjksMHg0MCB9fSwKLSB7MTYsIDB4YzU2MCwgMCwgezB4M2MsMHg0OCwweDBjLDB4OTAsMHgwMywweGU0LDB4MDAsMHhlMSwweDAwLDB4MzIsMHg0MCwweDBmLDB4OTAsMHgwMSwweGU0LDB4MDAgfX0sCi0gezE2LCAweGM1NzAsIDAsIHsweGY5LDB4OTAsMHgzZSwweDYwLDB4MGYsMHg5MCwweDI2LDB4ZTgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjNTgwLCAwLCB7MHgyOCwweDAxLDB4YTUsMHgwMCwweGYxLDB4MDQsMHgzYSwweDQ0LDB4OGYsMHg5MCwweDAzLDB4ZTQsMHgxMCwweGM5LDB4MDQsMHgzZSB9fSwKLSB7MTYsIDB4YzU5MCwgMCwgezB4NjAsMHgwZiwweDkwLDB4MDMsMHhlNCwweDAwLDB4ZTksMHgyMCwweDNlLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhlNCwweDEwLDB4ZjkgfX0sCi0gezE2LCAweGM1YTAsIDAsIHsweDkwLDB4M2UsMHg0MCwweDBmLDB4OTAsMHgwMywweGU0LDB4MDAsMHhmOSwweDgwLDB4M2UsMHg2NCwweDBmLDB4OTAsMHgwNywweGNhIH19LAotIHsxNiwgMHhjNWIwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxMCwweGExLDB4MDAsMHhjOCwweDA0LDB4M2EsMHgwMCB9fSwKLSB7MTYsIDB4YzVjMCwgMCwgezB4MWUsMHg4MCwweDAzLDB4ODAsMHgwMywweGM4LDB4NDAsMHgyYSwweDA0LDB4MWYsMHg4MCwweDAzLDB4MjAsMHgwMCwweDg4LDB4MDAgfX0sCi0gezE2LCAweGM1ZDAsIDAsIHsweDMyLDB4MzAsMHgwYywweDgwLDB4MDMsMHgyMCwweDAwLDB4ZjgsMHgwMCwweDNlLDB4MDAsMHgwYywweDgwLDB4MDMsMHhlMCwweDAwIH19LAotIHsxNiwgMHhjNWUwLCAwLCB7MHhjOCwweDgwLDB4M2UsMHgyMCwweDBmLDB4ODAsMHgwMywweGNhLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YzVmMCwgMCwgezB4MjgsMHgwNSwweDM4LDB4MDAsMHhhZSwweGQwLDB4MzcsMHg4MCwweDA4LDB4ZWMsMHg0NiwweDM4LDB4MDAsMHhkNiwweDA0LDB4MjMgfX0sCi0gezE2LCAweGM2MDAsIDAsIHsweGEwLDB4MGIsMHhhMCwweDQxLDB4NzgsMHgwNCwweGZhLDB4MDAsMHgzNywweDgwLDB4MGQsMHhhMCwweDAyLDB4YTgsMHgxMCwweGVlIH19LAotIHsxNiwgMHhjNjEwLCAwLCB7MHgyMSwweDJlLDB4ODAsMHgwOCwweGEwLDB4MDIsMHhlOCwweDA4LDB4OGUsMHg4MCwweDJmLDB4YTAsMHg4YiwweGEwLDB4MDIsMHhjYSB9fSwKLSB7MTYsIDB4YzYyMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDEsMHg0YywweDAyLDB4ODMsMHhjMCwweGE4LDB4ZTggfX0sCi0gezE2LCAweGM2MzAsIDAsIHsweDRhLDB4MzYsMHgwMiwweDhjLDB4MDAsMHgxMywweGEwLDB4MjgsMHhjMiwweDBiLDB4MzAsMHgwNiwweDBjLDB4MDAsMHhiMywweDAwIH19LAotIHsxNiwgMHhjNjQwLCAwLCB7MHgyNCwweDg0LDB4MDksMHgzMCwweDAyLDB4MGMsMHgwMCwweGIzLDB4MjAsMHgyOCwweGMwLDB4MDksMHgzMCwweDAyLDB4Y2MsMHgwMCB9fSwKLSB7MTYsIDB4YzY1MCwgMCwgezB4ODMsMHg4MCwweDJjLDB4YzAsMHgwYiwweDMwLDB4MDIsMHhjYSwweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGM2NjAsIDAsIHsweGEwLDB4MDEsMHgzYywweDQ0LDB4YWYsMHg0MCwweDI1LDB4YzIsMHg0OCwweGY4LDB4ODIsMHgxYywweGM4LDB4OWYsMHgwOCwweDIxIH19LAotIHsxNiwgMHhjNjcwLCAwLCB7MHhjMCwweDhiLDB4ZjgsMHgwMiwweDVjLDB4MDAsMHhiZiwweGIwLDB4MjcsMHg4MCwweDA5LDB4M2EsMHgwMiwweDljLDB4MDAsMHhhNSB9fSwKLSB7MTYsIDB4YzY4MCwgMCwgezB4MDIsMHgyZCwweGU4LDB4MDksMHg3MCwweDAyLDB4Y2UsMHg4MCwweDg1LDB4MDgsMHgyZCwweGMyLDB4MGIsMHg3MywweDAyLDB4ZTggfX0sCi0gezE2LCAweGM2OTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MWUsMHgwMCwweGM3LDB4ODIsMHhhOSwweGUwIH19LAotIHsxNiwgMHhjNmEwLCAwLCB7MHgwYSwweDc4LDB4MDIsMHg5ZSwweDQwLDB4OTcsMHg4NCwweDM5LDB4YTAsMHgwYiwweDdhLDB4ODMsMHgzZiwweDgwLDB4ZDcsMHg5MSB9fSwKLSB7MTYsIDB4YzZiMCwgMCwgezB4MzUsMHhhMCwweDBkLDB4N2EsMHgwOSwweDFlLDB4NDQsMHhmNywweDgwLDB4M2QsMHhlOCwweDJkLDB4N2EsMHgwMywweGRlLDB4ODIgfX0sCi0gezE2LCAweGM2YzAsIDAsIHsweGM2LDB4ODAsMHgzZCwweDIwLDB4NGIsMHg3YiwweDIzLDB4ZWEsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjNmQwLCAwLCB7MHgwOCwweDFkLDB4YWMsMHgwMCwweGQzLDB4MDAsMHgzZSwweGMxLDB4MGYsMHgzMCwweDAzLDB4ZWQsMHg4MCwweGUzLDB4MDAsMHgzZSB9fSwKLSB7MTYsIDB4YzZlMCwgMCwgezB4ODAsMHgwZiwweGI2LDB4MjEsMHhlYywweDA4LDB4ZGIsMHgyMSwweDNlLDB4ODAsMHgwZiwweGI1LDB4MDMsMHg2YywweDQwLDB4ZjkgfX0sCi0gezE2LCAweGM2ZjAsIDAsIHsweDAwLDB4M2UsMHhkYywweDBlLDB4YjIsMHgwMywweGVkLDB4NDAsMHhmOSwweDAyLDB4M2UsMHg4MCwweDBmLDB4YjAsMHgwMywweGMyIH19LAotIHsxNiwgMHhjNzAwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweGZlLDB4MDAsMHhjZiwweDgwLDB4M2QsMHhlMCB9fSwKLSB7MTYsIDB4YzcxMCwgMCwgezB4MGYsMHhjOCwweDQzLDB4ZmUsMHgwMCwweGZlLDB4ODQsMHgzZiwweGUwLDB4MGQsMHhmOCwweGMzLDB4ZmYsMHgxMCwweGFmLDB4OTAgfX0sCi0gezE2LCAweGM3MjAsIDAsIHsweDM1LDB4YTAsMHgwYywweGZjLDB4MDMsMHgzZSwweDE0LDB4ZWMsMHg4NCwweDNmLDB4ZjAsMHgwZSwweGZjLDB4YzMsMHhmZiwweDA4IH19LAotIHsxNiwgMHhjNzMwLCAwLCB7MHg0ZiwweDgwLDB4MzMsMHhlNCwweDBjLDB4ZjgsMHgwMywweDAwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Yzc0MCwgMCwgezB4YTgsMHgxMSwweDljLDB4MDAsMHhkNywweGEyLDB4MmQsMHhjNCwweDBjLDB4NDEsMHhjMiwweGRjLDB4MDAsMHg3NCwweDAwLDB4MjUgfX0sCi0gezE2LCAweGM3NTAsIDAsIHsweDgwLDB4MGYsMHg3MiwweDQyLDB4ZGMsMHg5MCwweGQ3LDB4MzgsMHgyZCwweDk4LDB4MGEsMHg3MCwweDAyLDB4MWMsMHgwNCwweDg2IH19LAotIHsxNiwgMHhjNzYwLCAwLCB7MHgwMCwweDNmLDB4YzAsMHgwZCwweDcwLDB4MDIsMHhjYywweDAwLDB4ODYsMHgwOCwweDM3LDB4YzYsMHgyOCwweDcwLDB4MDIsMHgyYSB9fSwKLSB7MTYsIDB4Yzc3MCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5YywweDAwLDB4ODcsMHg2MCwweDJkLDB4YzIgfX0sCi0gezE2LCAweGM3ODAsIDAsIHsweDBhLDB4NTAsMHgwMiwweGRjLDB4MDAsMHhiNiwweDEwLDB4MjUsMHhjMiwweDA5LDB4NzAsMHg4NiwweGRjLDB4MzAsMHg5NywweDAwIH19LAotIHsxNiwgMHhjNzkwLCAwLCB7MHgyNSwweDgwLDB4MDgsMHgzMCwweDAyLDB4NWMsMHgwMCwweDg3LDB4MDgsMHgyZCwweGMwLDB4MDgsMHg3MCwweDAyLDB4Y2MsMHg0MCB9fSwKLSB7MTYsIDB4YzdhMCwgMCwgezB4ODYsMHgwMCwweDIxLDB4MDAsMHgwOSwweDcwLDB4MGEsMHgwMCwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGM3YjAsIDAsIHsweDIwLDB4MTQsMHhlZCwweDgwLDB4OTMsMHgwMCwweDBjLDB4ZTEsMHgyOCwweDE4LDB4MDIsMHhjYywweDA4LDB4YTAsMHgwMCwweDI0IH19LAotIHsxNiwgMHhjN2MwLCAwLCB7MHgxMiwweDFhLDB4MzQsMHgwMiwweGNmLDB4MDQsMHg5MywweDQwLDB4MmMsMHg4MCwweDBhLDB4YjAsMHgyMiwweDRjLDB4MDIsMHg4MSB9fSwKLSB7MTYsIDB4YzdkMCwgMCwgezB4ODAsMHgyOCwweGUwLDB4MjgsMHgzMCwweDAyLDB4Y2MsMHgwMCwweDg4LDB4ODIsMHgyNCwweDIwLDB4MDgsMHhiMCwweDAyLDB4MDggfX0sCi0gezE2LCAweGM3ZTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YmYsMHgyMCwweGM5LDB4ZTAsMHgyYywweGYxIH19LAotIHsxNiwgMHhjN2YwLCAwLCB7MHgwZSwweGJkLDB4MDMsMHhmYywweDAwLDB4YjksMHg0MCwweDM2LDB4NDAsMHgwOSwweGY1LDB4MDIsMHhmZCwweDQwLDB4ZmYsMHg4MCB9fSwKLSB7MTYsIDB4YzgwMCwgMCwgezB4MzYsMHhhMiwweDA4LDB4ZjAsMHgwYiwweDdjLDB4MDAsMHhlYiwweDgwLDB4MmYsMHhlMCwweDBhLDB4ZjAsMHg0MywweGZjLDB4MDIgfX0sCi0gezE2LCAweGM4MTAsIDAsIHsweDhiLDB4ZDAsMHgzMiwweGYwLDB4MGQsMHhmMCwweDAzLDB4MmEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjODIwLCAwLCB7MHg4MCwweDAwLDB4ZWMsMHgxMCwweGZiLDB4MDAsMHgzZSwweGM4LDB4MGYsMHg5NCwweDEzLDB4ZWMsMHgwMCwweGY5LDB4NDAsMHgzNiB9fSwKLSB7MTYsIDB4YzgzMCwgMCwgezB4NDAsMHgxZiwweGIwLDB4MDMsMHhlYywweDEwLDB4ZmIsMHgwMSwweDNlLDB4ZDAsMHgwZiwweGIwLDB4MDMsMHhhYywweDAwLDB4ZjkgfX0sCi0gezE2LCAweGM4NDAsIDAsIHsweDAwLDB4M2UsMHhjNCwweDBmLDB4YjAsMHgwMSwweGVjLDB4MDAsMHhmOSwweDA0LDB4M2UsMHg0OCwweDBmLDB4YjAsMHgwMywweGUwIH19LAotIHsxNiwgMHhjODUwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGZjLDB4MDAsMHhkZiwweDAwLDB4M2YsMHhjMCB9fSwKLSB7MTYsIDB4Yzg2MCwgMCwgezB4MGMsMHhlMCwweDA3LDB4ZmMsMHgwMCwweGZjLDB4MGEsMHgyNywweDAwLDB4NGYsMHhmMCwweDAzLDB4ZmMsMHgwMCwweGZmLDB4MDggfX0sCi0gezE2LCAweGM4NzAsIDAsIHsweDMzLDB4ODAsMHgwYywweGYwLDB4MDAsMHgyYywweDAwLDB4NWYsMHgwMCwweDMzLDB4YzAsMHgwYywweGYwLDB4MDEsMHhmYywweDAwIH19LAotIHsxNiwgMHhjODgwLCAwLCB7MHhmZSwweDAwLDB4MjMsMHg0MCwweDBmLDB4YjAsMHgwMywweDAwLDB4NDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Yzg5MCwgMCwgezB4ODEsMHgwNCwweDZjLDB4MDAsMHg4YiwweDg2LDB4MmUsMHhlMCwweDQ4LDB4OGYsMHgwMiwweGVjLDB4MDgsMHhiOCwweGEwLDB4MzYgfX0sCi0gezE2LCAweGM4YTAsIDAsIHsweDMwLDB4NGIsMHhiMCwweDAzLDB4YWMsMHgwYywweDliLDB4MDIsMHgzYywweGEwLDB4MGMsMHhiMCwweDQzLDB4NmMsMHgwMCwweGIxIH19LAotIHsxNiwgMHhjOGIwLCAwLCB7MHgwMCwweDI4LDB4YzAsMHgwZCwweGIwLDB4MTIsMHhlYywweDEwLDB4YjksMHg4MCwweGEyLDB4NjEsMHgwYiwweGIwLDB4MDIsMHgyMCB9fSwKLSB7MTYsIDB4YzhjMCwgMCwgezB4NDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgyYywweDAwLDB4OWIsMHg4OCwweDJlLDB4ZTAgfX0sCi0gezE2LCAweGM4ZDAsIDAsIHsweDA4LDB4YTAsMHgwMiwweGVjLDB4MDEsMHhiYiwweDgwLDB4MjYsMHg2MiwweDBiLDB4YjAsMHgwMiwweGVjLDB4MDAsMHhiMywweDAxIH19LAotIHsxNiwgMHhjOGUwLCAwLCB7MHgyYSwweDIxLDB4MDgsMHhiMCwweDEyLDB4MmMsMHgwMCwweGI4LDB4MDAsMHgyMiwweGMwLDB4MDgsMHhiMCwweDEyLDB4ZWMsMHgxNCB9fSwKLSB7MTYsIDB4YzhmMCwgMCwgezB4YjksMHg4NCwweDIyLDB4YTIsMHgwYiwweGIwLDB4MDIsMHhhMCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGM5MDAsIDAsIHsweDA4LDB4MDQsMHgwYywweDA0LDB4OTMsMHgwMCwweDJjLDB4ZTAsMHgwOCwweDAwLDB4MDIsMHhjYywweDA5LDB4OTEsMHgwMCwweDIwIH19LAotIHsxNiwgMHhjOTEwLCAwLCB7MHg0MCwweDBiLDB4MzAsMHgwNiwweDRjLDB4MDQsMHgxMywweDAwLDB4MjYsMHgwMCwweDA4LDB4MzAsMHgwMiwweGNjLDB4MDQsMHhiMiB9fSwKLSB7MTYsIDB4YzkyMCwgMCwgezB4MDAsMHgyYSwweGMwLDB4MDEsMHgzMCwweDAwLDB4Y2QsMHgwMCwweGIwLDB4MDAsMHgyMCwweDgwLDB4MGIsMHgzMCwweDBhLDB4MDIgfX0sCi0gezE2LCAweGM5MzAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4NmMsMHgwMCwweGRiLDB4MjQsMHg2ZSwweGMwIH19LAotIHsxNiwgMHhjOTQwLCAwLCB7MHgyYywweGEwLDB4MDIsMHhmYywweDAwLDB4YmEsMHgwNCwweDI2LDB4NDAsMHg0ZiwweGYwLDB4NTcsMHhmYywweDAwLDB4M2YsMHgwMSB9fSwKLSB7MTYsIDB4Yzk1MCwgMCwgezB4M2EsMHgwMCwweDJjLDB4ZjAsMHgwMSwweDNjLDB4MDAsMHhkYiwweDAwLDB4MzMsMHhjMCwweDg0LDB4ZjAsMHgwMywweGZkLDB4MDggfX0sCi0gezE2LCAweGM5NjAsIDAsIHsweGZhLDB4MDAsMHgzMiwweDAwLDB4MGYsMHhmMCwweDAzLDB4MDAsMHgwMSwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjOTcwLCAwLCB7MHhhMCwweDE5LDB4ZGMsMHgwMCwweGVhLDB4NDAsMHgzZiwweDAwLDB4MDcsMHhjMCwweDAzLDB4ZmMsMHgwNCwweGZjLDB4MDAsMHgzZiB9fSwKLSB7MTYsIDB4Yzk4MCwgMCwgezB4NDAsMHgwZiwweGYwLDB4MDMsMHg5YywweDAwLDB4ZmYsMHgwMCwweDNmLDB4MDAsMHgwZSwweGYwLDB4MDMsMHg3YywweDAwLDB4ZmQgfX0sCi0gezE2LCAweGM5OTAsIDAsIHsweDAwLDB4M2YsMHhjMSwweDBmLDB4ZjAsMHgwMywweGZjLDB4ODQsMHhmNCwweDAwLDB4M2YsMHgwMCwweDBmLDB4ZjAsMHgwMywweGU4IH19LAotIHsxNiwgMHhjOWEwLCAwLCB7MHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMSwweGYwLDB4ODAsMHhmZiwweDAwLDB4MDMsMHhjMiB9fSwKLSB7MTYsIDB4YzliMCwgMCwgezB4MGYsMHhjMiwweDAzLDB4M2UsMHgwMCwweGRmLDB4YzAsMHgzZSwweGMwLDB4NGQsMHhkYiwweDAyLDB4YjAsMHhjMCwweGRjLDB4MzAgfX0sCi0gezE2LCAweGM5YzAsIDAsIHsweDNmLDB4ZTAsMHgwZiwweGRiLDB4MjMsMHhmNiwweDIwLDB4ZmYsMHgyNiwweDMzLDB4ZTAsMHgwZiwweDUyLDB4MDMsMHg1ZSwweDAwIH19LAotIHsxNiwgMHhjOWQwLCAwLCB7MHhmZiwweDgwLDB4MzMsMHhjMCwweDRjLDB4NDksMHgwMywweDMwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YzllMCwgMCwgezB4ODAsMHgxMCwweGUxLDB4ZTAsMHhiNywweDA4LDB4MjMsMHhmMCwweDBiLDB4YWQsMHgwYSwweDJlLDB4MDAsMHg5YSwweDA0LDB4MmUgfX0sCi0gezE2LCAweGM5ZjAsIDAsIHsweGIwLDB4MDksMHg4ZiwweDAzLDB4YTAsMHg0MCwweGI5LDB4MzAsMHgyZSwweGEwLDB4MGIsMHg5ZiwweDAzLDB4YTcsMHgwMCwweGJiIH19LAotIHsxNiwgMHhjYTAwLCAwLCB7MHg4MCwweDI2LDB4ZTAsMHgwYiwweGRkLDB4MDIsMHgyZSwweDAwLDB4YmIsMHg4MCwweDIyLDB4ZjQsMHgwYSwweDkyLDB4MDIsMHhhMCB9fSwKLSB7MTYsIDB4Y2ExMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjOCwweDgwLDB4YjMsMHgxMCwweDI0LDB4YzAgfX0sCi0gezE2LCAweGNhMjAsIDAsIHsweDBiLDB4ODAsMHgwMiwweGFjLDB4MDAsMHhhMywweDI0LDB4MmMsMHhkMCwweDA4LDB4MTAsMHgwNiwweGMwLDB4ODAsMHhiMiwweDAxIH19LAotIHsxNiwgMHhjYTMwLCAwLCB7MHgyYywweGVhLDB4NGIsMHgwMCwweDEyLDB4YzIsMHgwNCwweGIzLDB4MTAsMHgwOCwweGMwLDB4MGEsMHg5MCwweDAyLDB4MGMsMHgwMCB9fSwKLSB7MTYsIDB4Y2E0MCwgMCwgezB4OTMsMHgwNCwweDI0LDB4YzAsMHgwOSwweDgyLDB4MDIsMHhhMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGNhNTAsIDAsIHsweGMwLDB4MTUsMHhhNSwweDAwLDB4YmIsMHgwMCwweDIyLDB4YzAsMHgwYiwweDgwLDB4MDIsMHhhYywweDA4LDB4YmIsMHgxOCwweDJlIH19LAotIHsxNiwgMHhjYTYwLCAwLCB7MHhlMCwweDE4LDB4ODgsMHgwMiwweGVjLDB4MDEsMHhiYSwweDAwLDB4MmUsMHg4MCwweDBiLDB4OTgsMHg4NiwweGUyLDB4MDAsMHhiYiB9fSwKLSB7MTYsIDB4Y2E3MCwgMCwgezB4MDAsMHgyMiwweGM0LDB4MGIsMHg5MCwweDAyLDB4NmMsMHgwMCwweGJiLDB4MDAsMHhhNiwweGMwLDB4MGIsMHg5MCwweDAwLDB4YjAgfX0sCi0gezE2LCAweGNhODAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDExLDB4ZTcsMHgwMCwweGZiLDB4MDAsMHhiMiwweGMwIH19LAotIHsxNiwgMHhjYTkwLCAwLCB7MHgwZiwweGE4LDB4MDMsMHhhYywweDAyLDB4ZWIsMHgwMCwweDNlLDB4NjAsMHgwZCwweDllLDB4MDMsMHhlYywweDAwLDB4ZDgsMHg0MCB9fSwKLSB7MTYsIDB4Y2FhMCwgMCwgezB4M2UsMHg0MCwweDBmLDB4ODgsMHg0MywweGUyLDB4MDAsMHhmYiwweDIwLDB4MzIsMHhjMCwweDBmLDB4MTAsMHgwYiwweDZmLDB4OTAgfX0sCi0gezE2LCAweGNhYjAsIDAsIHsweDViLDB4ODIsMHgzNiwweGMwLDB4MmQsMHgwOCwweDAxLDB4OTAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjYWMwLCAwLCB7MHhlMCwweDAxLDB4YjcsMHgwOCwweGY3LDB4MDAsMHgzZiwweGMwLDB4MGYsMHhmOSwweDAzLDB4N2MsMHgwOCwweGNmLDB4ODIsMHgzYyB9fSwKLSB7MTYsIDB4Y2FkMCwgMCwgezB4MDAsMHhhZiwweGQwLDB4MjEsMHhiYywweDA4LDB4ZmQsMHgxMCwweDNmLDB4ODAsMHg4ZiwweGMwLDB4MDMsMHhhNCwweDAwLDB4ZjcgfX0sCi0gezE2LCAweGNhZTAsIDAsIHsweDAxLDB4YmYsMHhjMCwweDA3LDB4ZDAsMHgwMywweGJkLDB4MzAsMHhmZiwweGE0LDB4MzgsMHhjMCwweDBlLDB4ZGEsMHgwMywweGY4IH19LAotIHsxNiwgMHhjYWYwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweGE4LDB4MDAsMHhmYiwweDAwLDB4YjIsMHhjMSB9fSwKLSB7MTYsIDB4Y2IwMCwgMCwgezB4MGUsMHg4MSwweDAzLDB4ZWMsMHg0MCwweGZiLDB4NDQsMHgzYSwweGMxLDB4MGUsMHg5NSwweDAzLDB4ZTAsMHgwMCwweGNiLDB4NDEgfX0sCi0gezE2LCAweGNiMTAsIDAsIHsweDMyLDB4NGQsMHgwZiwweDgxLDB4MDMsMHhlMCwweDIwLDB4YzksMHgwMCwweDcyLDB4ZTgsMHg0NCwweDkxLDB4MDMsMHg2ZCwweDAwIH19LAotIHsxNiwgMHhjYjIwLCAwLCB7MHhjYiwweDAyLDB4M2UsMHhjMCwweDBjLDB4ODAsMHgwMywweDkwLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Y2IzMCwgMCwgezB4YzgsMHgwNSwweDI0LDB4MDAsMHhiZiwweDAwLDB4MzMsMHhjNCwweDA4LDB4MWQsMHgwMywweDhjLDB4MDAsMHhiYiwweDk4LDB4MzYgfX0sCi0gezE2LCAweGNiNDAsIDAsIHsweDQ4LDB4NGQsMHg5OCwweDIyLDB4ZWQsMHg0MCwweGRiLDB4MDAsMHgzNiwweGIwLDB4MGIsMHg5OCwweDAyLDB4ZTMsMHgwMCwweGRiIH19LAotIHsxNiwgMHhjYjUwLCAwLCB7MHgwMCwweDMyLDB4ZTAsMHg4OCwweGQ4LDB4MDIsMHgyYywweDAyLDB4YzMsMHg4MCwweDJmLDB4YzAsMHgwOCwweDkwLDB4MDMsMHg3MiB9fSwKLSB7MTYsIDB4Y2I2MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDEsMHg0NCwweDAwLDB4YjMsMHgwMCwweDIwLDB4ZjAgfX0sCi0gezE2LCAweGNiNzAsIDAsIHsweDE4LDB4MDgsMHgwMiwweDRmLDB4ODQsMHhiMSwweGMwLDB4MjQsMHhjMCwweDg5LDB4MDYsMHgwMiwweGM0LDB4MDAsMHg5MSwweDAwIH19LAotIHsxNiwgMHhjYjgwLCAwLCB7MHgyMCwweGYwLDB4MWIsMHgxOCwweDgyLDB4YzYsMHgwMCwweDkzLDB4MDAsMHgyYywweGQxLDB4MDgsMHgxZSwweDAyLDB4MGUsMHg0NCB9fSwKLSB7MTYsIDB4Y2I5MCwgMCwgezB4OTMsMHg5NCwweDJjLDB4YzAsMHgwOCwweDIwLDB4MDIsMHhiOCwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGNiYTAsIDAsIHsweDIwLDB4MDEsMHgxZSwweDA0LDB4YjcsMHg4MCwweDIwLDB4ZTIsMHgwOCwweDY4LDB4MDYsMHg5ZSwweDgwLDB4YmYsMHg4NCwweDI1IH19LAotIHsxNiwgMHhjYmIwLCAwLCB7MHhhOCwweDA5LDB4NjgsMHgwMiwweGM2LDB4MDAsMHg5MywweGEwLDB4NjUsMHhlNCwweDBiLDB4NzgsMHgxMiwweGRlLDB4MDAsMHg5MyB9fSwKLSB7MTYsIDB4Y2JjMCwgMCwgezB4MDAsMHhhMSwweGUwLDB4MDgsMHhkOCwweDAyLDB4MWUsMHhkMCwweGE3LDB4ODAsMHgyZCwweGUwLDB4MDgsMHhmOCwweDAyLDB4NDggfX0sCi0gezE2LCAweGNiZDAsIDAsIHsweDEwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MDgsMHgwMCwweGIzLDB4MjAsMHgzMCwweGMwIH19LAotIHsxNiwgMHhjYmUwLCAwLCB7MHgwYSwweDIyLDB4MDIsMHhjZSwweDQwLDB4ZjMsMHhhMCwweDNjLDB4ZTgsMHgwYiwweDMwLDB4MDIsMHhjMSwweDAwLDB4ZDAsMHhjMSB9fSwKLSB7MTYsIDB4Y2JmMCwgMCwgezB4MzAsMHhjMCwweDBiLDB4MjEsMHgxMywweGNjLDB4MjEsMHhkMywweDAwLDB4MmMsMHhjMCwweDJjLDB4MTAsMHgwYiwweDBjLDB4ODAgfX0sCi0gezE2LCAweGNjMDAsIDAsIHsweGQzLDB4NjEsMHgzYywweGM4LDB4MmMsMHgyMCwweDAzLDB4OTIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjYzEwLCAwLCB7MHg0MCwweDFkLDB4YmMsMHgwMCwweGZmLDB4NDAsMHgzYiwweGMwLDB4MGYsMHhlMCwweDAzLDB4ZmMsMHgwMCwweGY3LDB4NTAsMHg3ZiB9fSwKLSB7MTYsIDB4Y2MyMCwgMCwgezB4YzQsMHgyZSwweGYwLDB4MDMsMHhmYywweDQwLDB4ZmUsMHgwMCwweDNmLDB4YzAsMHgwZiwweGYwLDB4NDcsMHhmYywweDAwLDB4ZmYgfX0sCi0gezE2LCAweGNjMzAsIDAsIHsweDAwLDB4N2QsMHhjMiwweDBmLDB4ZDAsMHgwMSwweGJjLDB4ODAsMHg1ZiwweDAwLDB4M2YsMHhjMCwweDBmLDB4ZjAsMHgwMywweGQwIH19LAotIHsxNiwgMHhjYzQwLCAwLCB7MHgwMiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGU0LDB4MDAsMHhmYiwweGMwLDB4MzIsMHhjOCB9fSwKLSB7MTYsIDB4Y2M1MCwgMCwgezB4MGUsMHhlMCwweDAzLDB4YWMsMHhhMCwweGViLDB4MjAsMHgzMiwweDQwLDB4OGMsMHhhMCwweDEzLDB4MmMsMHgwMCwweGQ5LDB4MDAgfX0sCi0gezE2LCAweGNjNjAsIDAsIHsweDNlLDB4NjAsMHgwYywweGIwLDB4MDMsMHhlOCwweDAwLDB4ZmEsMHg4MCwweDMwLDB4YzAsMHgzYywweDkyLDB4MDMsMHhlZiwweDYwIH19LAotIHsxNiwgMHhjYzcwLCAwLCB7MHhjMywweDIwLDB4MzEsMHhjNCwweDBjLDB4YTAsMHgwMywweDJhLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Y2M4MCwgMCwgezB4NDgsMHgxMSwweDljLDB4MDAsMHgzMywweDIwLDB4MjEsMHhkYSwweDBiLDB4NzAsMHg0MywweDljLDB4MDEsMHhiNSwweDAwLDB4MjEgfX0sCi0gezE2LCAweGNjOTAsIDAsIHsweDAwLDB4MGEsMHhlMCwweDAyLDB4MWMsMHgwMCwweGI3LDB4MDAsMHgyZiwweGMwLDB4MGQsMHg3MCwweDAzLDB4OWMsMHgwMCwweGI2IH19LAotIHsxNiwgMHhjY2EwLCAwLCB7MHgwMCwweDMxLDB4YzgsMHgwOCwweDU3LDB4MDIsMHhkYywweDAwLDB4ODcsMHg1MCwweDIxLDB4YzAsMHgwYSwweDcwLDB4NDIsMHg5MiB9fSwKLSB7MTYsIDB4Y2NiMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHg5YSwweDExLDB4YjcsMHg5MCwweDIxLDB4ZTAgfX0sCi0gezE2LCAweGNjYzAsIDAsIHsweDBiLDB4NjgsMHg4MiwweGRlLDB4MDgsMHhhNywweDgwLDB4MjQsMHg2MCwweDA4LDB4NzAsMHgxMiwweDEyLDB4MDgsMHg5NSwweDgwIH19LAotIHsxNiwgMHhjY2QwLCAwLCB7MHgyZCwweDYwLDB4MDksMHg2YywweDAyLDB4ZGUsMHgwMCwweGIxLDB4ODAsMHgyMywweGUwLDB4MGEsMHg1OCwweDYyLDB4ZmUsMHgwMCB9fSwKLSB7MTYsIDB4Y2NlMCwgMCwgezB4OTcsMHhhMCwweDIxLDB4ZTgsMHgwOSwweGU4LDB4MDIsMHgzMCwweDEwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGNjZjAsIDAsIHsweDQ4LDB4MTQsMHhjZCwweDAwLDB4YjMsMHgwMCwweDIwLDB4YzAsMHg4YiwweDNjLDB4MDIsMHg4YywweDAwLDB4YmIsMHgwMCwweDI0IH19LAotIHsxNiwgMHhjZDAwLCAwLCB7MHhjNCwweDFhLDB4M2QsMHgwMiwweDJmLDB4ODgsMHhiMywweDQ4LDB4MmMsMHhlMCwweDg5LDB4M2UsMHgwMiwweDhkLDB4ODAsMHg5MyB9fSwKLSB7MTYsIDB4Y2QxMCwgMCwgezB4ZDksMHhhNCwweDQwLDB4ODgsMHgxMCwweDAyLDB4Y2MsMHgwNCwweDkzLDB4YzgsMHgyMCwweGMwLDB4MGIsMHgzMCwweDAyLDB4OTIgfX0sCi0gezE2LCAweGNkMjAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YjksMHg0MCwweGZhLDB4MDAsMHhiMiwweDgwIH19LAotIHsxNiwgMHhjZDMwLCAwLCB7MHgwZiwweGUwLDB4MDMsMHhlOCwweDAwLDB4ZWEsMHg4MCwweDM3LDB4YTAsMHgwYywweGU4LDB4MTMsMHgzYiwweDA4LDB4ZGUsMHgwMSB9fSwKLSB7MTYsIDB4Y2Q0MCwgMCwgezB4M2YsMHg4MiwweDBjLDB4ZTAsMHg0MywweGZhLDB4ODAsMHhmZSwweDgwLDB4MzEsMHgyOCwweDBjLDB4YTAsMHgwMywweGYwLDB4MDIgfX0sCi0gezE2LCAweGNkNTAsIDAsIHsweGM0LDB4YzAsMHhiMiwweDgwLDB4MGQsMHhlMCwweDAzLDB4M2EsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjZDYwLCAwLCB7MHg0OCwweDAwLDB4ZTAsMHgwMCwweGY4LDB4MDAsMHgzZSwweDEwLDB4MGIsMHg4MCwweDgzLDB4ZTAsMHgwMCwweGY4LDB4MzAsMHgzYSB9fSwKLSB7MTYsIDB4Y2Q3MCwgMCwgezB4MDAsMHg2ZCwweDgwLDB4ODMsMHhlMSwweDQ0LDB4YjgsMHgwNCwweDNlLDB4MTAsMHgwZiwweDgwLDB4MTMsMHhlMCwweDAwLDB4ZjggfX0sCi0gezE2LCAweGNkODAsIDAsIHsweDAwLDB4M2EsMHgxMCwweDRmLDB4MDQsMHgwMywweGUzLDB4MDAsMHhlOCwweDEwLDB4M2UsMHgwMCwweDBlLDB4ODAsMHgwMywweGQyIH19LAotIHsxNiwgMHhjZDkwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGU0LDB4MDAsMHhjOSwweDAwLDB4MzgsMHg0MCB9fSwKLSB7MTYsIDB4Y2RhMCwgMCwgezB4MGYsMHgxYSwweDAzLDB4MmUsMHgwMCwweGZiLDB4YTAsMHgzNiwweDYwLDB4MGMsMHg5OCwweDAzLDB4ZTYsMHgwNCwweGQxLDB4MDAgfX0sCi0gezE2LCAweGNkYjAsIDAsIHsweDM2LDB4NDgsMHgwZSwweDkxLDB4MDIsMHhlNiwweDAwLDB4ZjksMHgwMCwweDNlLDB4MDAsMHgwYywweDk5LDB4MDMsMHg2MiwweDQwIH19LAotIHsxNiwgMHhjZGMwLCAwLCB7MHhmOCwweDAwLDB4YTAsMHg2OCwweDBjLDB4OTAsMHgwMywweDAyLDB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Y2RkMCwgMCwgezB4ODAsMHgwNCwweDY0LDB4MDIsMHg4OSwweDA0LDB4MmUsMHg2NCwweDg4LDB4OTQsMHgwMiwweGE1LDB4MDAsMHhiOSwweDgwLDB4MjAgfX0sCi0gezE2LCAweGNkZTAsIDAsIHsweDY0LDB4MGQsMHg5YywweDAyLDB4ZTYsMHg0MiwweDg5LDB4MDAsMHgyMiwweDYwLDB4MGIsMHg5YywweDAyLDB4ZTQsMHgxMCwweGI5IH19LAotIHsxNiwgMHhjZGYwLCAwLCB7MHg0MCwweDNhLDB4NTAsMHgwOCwweDljLDB4MDIsMHgyNywweDIwLDB4YjksMHgwMCwweDIyLDB4NDAsMHgwOCwweDEwLDB4MDMsMHg2MCB9fSwKLSB7MTYsIDB4Y2UwMCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHgwNCwweDAwLDB4ODksMHgwMCwweDIyLDB4NDAgfX0sCi0gezE2LCAweGNlMTAsIDAsIHsweDBhLDB4OTAsMHg4MiwweDI1LDB4NGMsMHhiOSwweDAwLDB4MDIsMHg0MCwweDA4LDB4OTYsMHgwMiwweGU0LDB4MTAsMHg4OSwweDAwIH19LAotIHsxNiwgMHhjZTIwLCAwLCB7MHgyNiwweDUwLDB4MTMsMHg5NCwweDAyLDB4ZTQsMHg0MCwweGI5LDB4MDgsMHgyZSwweDQwLDB4MDgsMHg5MCwweDhhLDB4MjQsMHgwMCB9fSwKLSB7MTYsIDB4Y2UzMCwgMCwgezB4YjksMHgwMSwweDJhLDB4NDAsMHgwOCwweDkwLDB4MDIsMHgwNiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGNlNDAsIDAsIHsweDA4LDB4MDQsMHgwNSwweDgwLDB4ODEsMHg0MCwweDJjLDB4YzgsMHgwOCwweDEwLDB4MDYsMHg4NCwweDAwLDB4YjEsMHgwNCwweDIwIH19LAotIHsxNiwgMHhjZTUwLCAwLCB7MHg0OSwweDA5LDB4MTQsMHg0MiwweGNjLDB4ODksMHg4MSwweDIwLDB4MjAsMHg1MCwweDBiLDB4MTQsMHg0NiwweGM0LDB4MDAsMHhiMSB9fSwKLSB7MTYsIDB4Y2U2MCwgMCwgezB4MDAsMHgyYSwweGMwLDB4MjgsMHgxNCwweDAyLDB4MDEsMHgwMSwweGIwLDB4MDQsMHgyOCwweDQwLDB4MzgsMHg5NCwweDAyLDB4NDIgfX0sCi0gezE2LCAweGNlNzAsIDAsIHsweDExLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjAsMHgwMCwweDg4LDB4MDAsMHgzYSwweDAwIH19LAotIHsxNiwgMHhjZTgwLCAwLCB7MHgwZSwweDgwLDB4MjMsMHgyMCwweDAwLDB4ZjgsMHg1MCwweGIyLDB4MDAsMHgwYywweDgwLDB4MTIsMHhlMSwweDQwLDB4ZDgsMHg1MCB9fSwKLSB7MTYsIDB4Y2U5MCwgMCwgezB4MzYsMHgwMCwweDBlLDB4ODAsMHgwMywweGUwLDB4MDAsMHhmOCwweDAwLDB4MmUsMHgwMCwweDBjLDB4ODAsMHg1MywweDYwLDB4MDQgfX0sCi0gezE2LCAweGNlYTAsIDAsIHsweGY4LDB4MDAsMHgzYSwweDAwLDB4MGMsMHg4MCwweDAzLDB4MmUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjZWIwLCAwLCB7MHg5OCwweDFkLDB4ZjQsMHg0MCwweGY5LDB4NDQsMHgzZSwweDQ0LDB4MGYsMHhkNCwweDAzLDB4ZTQsMHgwMCwweGYxLDB4MDAsMHgzZiB9fSwKLSB7MTYsIDB4Y2VjMCwgMCwgezB4NDQsMHgwZiwweGQ0LDB4NTMsMHhmNCwweDQ0LDB4ZmQsMHgxMCwweDJmLDB4NDAsMHgwZiwweGY0LDB4MDMsMHhmZCwweDAwLDB4ZmQgfX0sCi0gezE2LCAweGNlZDAsIDAsIHsweDQwLDB4M2IsMHgxMCwweDBmLDB4ZDQsMHgyMywweGQxLDB4MDQsMHg3YywweDQzLDB4MzYsMHg1MCwweDBmLDB4NTAsMHgwMywweGU2IH19LAotIHsxNiwgMHhjZWUwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweGE2LDB4MDAsMHhmOSwweDEwLDB4MmUsMHg2MiB9fSwKLSB7MTYsIDB4Y2VmMCwgMCwgezB4MGYsMHhkMiwweDgzLDB4ZTQsMHgwMCwweGJkLDB4NDIsMHgzZSwweDYxLDB4MGYsMHhkMCwweDAzLDB4ZjYsMHhjMCwweGM5LDB4YTIgfX0sCi0gezE2LCAweGNmMDAsIDAsIHsweDJiLDB4NDAsMHgwYywweGQwLDB4MDMsMHgzNCwweDAwLDB4ZjksMHg4MSwweDNlLDB4NjgsMHgwOCwweGMxLDB4NDMsMHhmYSwweDAwIH19LAotIHsxNiwgMHhjZjEwLCAwLCB7MHhmNSwweDgwLDB4M2YsMHg2MiwweDBjLDB4MTQsMHgwMywweDA2LDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Y2YyMCwgMCwgezB4MzgsMHgxMCwweGUxLDB4MjAsMHg4OCwweDExLDB4MmUsMHgxMCwweDBiLDB4ODAsMHgwMiwweGUwLDB4MDAsMHhiOCwweDgyLDB4MmUgfX0sCi0gezE2LCAweGNmMzAsIDAsIHsweDEwLDB4MGIsMHg4MCwweDAwLDB4ZTMsMHhjNCwweDg4LDB4ZjAsMHgyMiwweDAwLDB4MGIsMHg4MCwweDBhLDB4MjAsMHgwMCwweGU4IH19LAotIHsxNiwgMHhjZjQwLCAwLCB7MHg0MCwweDJmLDB4MTQsMHgwOCwweDg4LDB4MDIsMHhlMiwweDAwLDB4YjgsMHgwMCwweDJlLDB4MDAsMHgwOCwweDg4LDB4MDIsMHg4ZSB9fSwKLSB7MTYsIDB4Y2Y1MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDQsMHhjNSwweDAwLDB4YTEsMHgwMCwweDJjLDB4NDAgfX0sCi0gezE2LCAweGNmNjAsIDAsIHsweDBiLDB4MTAsMHgwMiwweGM0LDB4MTgsMHhiMSwweDIyLDB4NmMsMHhkMSwweDBiLDB4MTAsMHgyNiwweGM0LDB4MDAsMHg4MSwweDA4IH19LAotIHsxNiwgMHhjZjcwLCAwLCB7MHgyYSwweDQwLDB4ODgsMHgxMCwweDAyLDB4MDQsMHgwNCwweGI1LDB4YzAsMHgwZiwweDQwLDB4MGIsMHgwMiwweDAyLDB4NDEsMHhhMCB9fSwKLSB7MTYsIDB4Y2Y4MCwgMCwgezB4YjEsMHg0MCwweDJjLDB4NDAsMHgwOCwweDEyLDB4MDIsMHgwMiwweDExLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGNmOTAsIDAsIHsweDE4LDB4MTUsMHhhNCwweDAwLDB4ODksMHgwNiwweDJlLDB4NDAsMHgwYiwweDkwLDB4MTIsMHhlNCwweDAwLDB4YjksMHg0MCwweDJlIH19LAotIHsxNiwgMHhjZmEwLCAwLCB7MHg0MCwweDBiLDB4YjAsMHg4MiwweGM0LDB4MDIsMHg4OSwweDQ0LDB4MjIsMHg0MCwweDBhLDB4OTAsMHgwMiwweDI0LDB4MDAsMHhhOSB9fSwKLSB7MTYsIDB4Y2ZiMCwgMCwgezB4MDAsMHgyNywweDQ4LDB4MDksMHhiMCwweDEyLDB4ZWMsMHgxOCwweGI5LDB4MDEsMHgyZSwweDQwLDB4NDAsMHg5MCwweDAyLDB4ODYgfX0sCi0gezE2LCAweGNmYzAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4ZTcsMHg4NCwweGU5LDB4MDEsMHgzZSwweDQwIH19LAotIHsxNiwgMHhjZmQwLCAwLCB7MHgwZiwweDkwLDB4MDMsMHhlNCwweDAwLDB4ZjksMHgwMCwweDNlLDB4NzIsMHgwZiwweDkwLDB4MDMsMHhlNywweDYwLDB4ODksMHgxMCB9fSwKLSB7MTYsIDB4Y2ZlMCwgMCwgezB4M2EsMHg0MCwweDBjLDB4OTAsMHgwMywweDI0LDB4MDAsMHhmOSwweDQ0LDB4M2MsMHg0MCwweDJkLDB4OTAsMHgwMywweGU3LDB4NjAgfX0sCi0gezE2LCAweGNmZjAsIDAsIHsweGY5LDB4NzEsMHgzZSwweDQwLDB4MjgsMHg5MCwweDAzLDB4MjgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkMDAwLCAwLCB7MHgyOCwweDAxLDB4YTQsMHg0OCwweGE5LDB4MDAsMHgzZSwweGMwLDB4MGYsMHg5YSwweDQzLDB4ZWMsMHgwMCwweGY5LDB4MjAsMHg3ZSB9fSwKLSB7MTYsIDB4ZDAxMCwgMCwgezB4YzgsMHgwZiwweDlhLDB4MDcsMHg2NiwweDAwLDB4NzksMHg4MCwweDdlLDB4NDAsMHgwZiwweDFjLDB4MDMsMHhlNywweDAwLDB4ZTkgfX0sCi0gezE2LCAweGQwMjAsIDAsIHsweGEwLDB4M2UsMHg0MCwweDQ2LDB4ODAsMHgwMywweGUwLDB4MjAsMHhmOSwweDAwLDB4M2MsMHg0MCwweDBmLDB4OTAsMHgwMywweGNhIH19LAotIHsxNiwgMHhkMDMwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxMCwweDgwLDB4MDAsMHhmOCwweDAwLDB4M2EsMHgwMCB9fSwKLSB7MTYsIDB4ZDA0MCwgMCwgezB4MGYsMHg4MCwweDAzLDB4YTAsMHgwOCwweGU4LDB4NDAsMHgzYSwweDEwLDB4MGMsMHg4MywweDAzLDB4YTEsMHhjMCwweGYwLDB4NDAgfX0sCi0gezE2LCAweGQwNTAsIDAsIHsweDNlLDB4MDYsMHgwZiwweDg0LDB4MDMsMHhlMSwweDAwLDB4ZjgsMHgwMCwweDNiLDB4MDAsMHgwZiwweDgxLDB4MDMsMHgyMCwweDAwIH19LAotIHsxNiwgMHhkMDYwLCAwLCB7MHhmOCwweDEwLDB4YjIsMHgwMCwweDRjLDB4ODAsMHgwYiwweDBhLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDA3MCwgMCwgezB4MjgsMHgwNSwweDI4LDB4MDAsMHhiYSwweDAwLDB4MmUsMHhiMCwweDBiLDB4ZTgsMHgwMiwweGU5LDB4MDAsMHgzZSwweDkwLDB4MDIgfX0sCi0gezE2LCAweGQwODAsIDAsIHsweDgxLDB4MDgsMHhlNCwweDEyLDB4NzgsMHgwMCwweGJhLDB4MDAsMHgyZCwweGIwLDB4ODksMHhlOCwweDIyLDB4ZjgsMHgwYywweGJhIH19LAotIHsxNiwgMHhkMDkwLCAwLCB7MHgwMCwweDZlLDB4ODAsMHgwMywweGM1LDB4MDMsMHgzMCwweDAwLDB4YmEsMHgwMCwweDIyLDB4YTgsMHgwOCwweGEwLDB4MjIsMHg4YSB9fSwKLSB7MTYsIDB4ZDBhMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg0YywweDAwLDB4YjMsMHgwMCwweDI4LDB4ZTggfX0sCi0gezE2LCAweGQwYjAsIDAsIHsweDFiLDB4MzEsMHgxMiwweDhjLDB4YzQsMHhhMywweDkyLDB4MmMsMHg0MCwweDg4LDB4MzQsMHgwNiwweDhlLDB4MDAsMHg5MywweDAwIH19LAotIHsxNiwgMHhkMGMwLCAwLCB7MHgyYywweGYwLDB4MTksMHgzMSwweGEyLDB4Y2MsMHgwNCwweGIzLDB4MDAsMHgyOCwweDgwLDB4MDEsMHgzOCwweDAyLDB4NGMsMHgwMCB9fSwKLSB7MTYsIDB4ZDBkMCwgMCwgezB4YjMsMHg4MCwweDIwLDB4ZTAsMHgwYSwweGIwLDB4MTIsMHgwMiwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQwZTAsIDAsIHsweGEwLDB4MDEsMHgxYywweDAwLDB4YjcsMHgxNCwweDJkLDB4NDIsMHgwYiwweDYwLDB4MDIsMHhkYywweDAwLDB4YjcsMHg4MSwweDI3IH19LAotIHsxNiwgMHhkMGYwLCAwLCB7MHhlMCwweDE4LDB4NjAsMHgwMiwweDU4LDB4MTgsMHhiNywweDIyLDB4MmQsMHg4MCwweDA5LDB4NzAsMHgyMiwweGRjLDB4MDAsMHhiNyB9fSwKLSB7MTYsIDB4ZDEwMCwgMCwgezB4MDAsMHgyZCwweDgwLDB4MGIsMHgzYiwweDAyLDB4MWQsMHhkMCwweGJmLDB4ODAsMHgyOCwweGMwLDB4OGEsMHhmMiwweDAyLDB4YTAgfX0sCi0gezE2LCAweGQxMTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MWYsMHg4MCwweGY3LDB4YTAsMHgzOSwweGUyIH19LAotIHsxNiwgMHhkMTIwLCAwLCB7MHgwZiwweDY4LDB4MDMsMHg5ZSwweDAwLDB4ZWQsMHg4NCwweDNkLDB4ZTIsMHg0NCwweDc4LDB4MDMsMHg5ZSwweDAwLDB4ZjcsMHhiNCB9fSwKLSB7MTYsIDB4ZDEzMCwgMCwgezB4MmQsMHhlMCwweDBkLDB4NjgsMHgwMywweGQ2LDB4MDAsMHhmNiwweDgwLDB4MzksMHhlMCwweDBmLDB4NzksMHgwMywweDVlLDB4OTAgfX0sCi0gezE2LCAweGQxNDAsIDAsIHsweGY3LDB4ODEsMHgzMSwweDYwLDB4MmUsMHg3YywweDAzLDB4MmEsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkMTUwLCAwLCB7MHgwOCwweDFkLDB4YWQsMHgwMCwweGZiLDB4NDIsMHgzZSwweGM4LDB4MGYsMHhhMCwweDAzLDB4ZWQsMHhhMCwweGJiLDB4MDAsMHgzOCB9fSwKLSB7MTYsIDB4ZDE2MCwgMCwgezB4YzgsMHgwZiwweGIwLDB4MDMsMHg2OCwweDAwLDB4ZmIsMHgxMSwweDNlLDB4NDAsMHgwOSwweGIwLDB4NDEsMHhlYywweDAwLDB4ZmEgfX0sCi0gezE2LCAweGQxNzAsIDAsIHsweDAyLDB4M2UsMHhjMCwweDBmLDB4YjIsMHgwYiwweGVkLDB4ODAsMHgzYiwweDAwLDB4MzYsMHg0MCwweDBkLDB4YjAsMHgyMywweDQyIH19LAotIHsxNiwgMHhkMTgwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweGZmLDB4MDAsMHhjZiwweGQwLDB4MzMsMHhlNCB9fSwKLSB7MTYsIDB4ZDE5MCwgMCwgezB4NGYsMHhmOSwweDAzLDB4ZGUsMHg0MCwweGRjLDB4ODAsMHgzNiwweGU0LDB4MGMsMHhiOSwweDEzLDB4ZmUsMHgwMCwweGNmLDB4OTAgfX0sCi0gezE2LCAweGQxYTAsIDAsIHsweDM3LDB4ZTUsMHgwZiwweGY4LDB4NDMsMHhmZSwweDAwLDB4Y2YsMHg5MiwweDNmLDB4YTQsMHgwZiwweDc4LDB4MDMsMHgxZiwweDAwIH19LAotIHsxNiwgMHhkMWIwLCAwLCB7MHhjNSwweDgwLDB4MzMsMHg2MCwweDBjLDB4ZjgsMHgyMCwweDAwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDFjMCwgMCwgezB4YTgsMHgxMSwweGJjLDB4MDAsMHgwZiwweDEwLDB4MjEsMHg4MSwweDBiLDB4NjAsMHgwMywweDg0LDB4MDAsMHg4YiwweDA4LDB4MjEgfX0sCi0gezE2LCAweGQxZDAsIDAsIHsweDYwLDB4MGEsMHg3YiwweDAzLDB4OTgsMHgwMCwweDhiLDB4MTAsMHgyOSwweDg0LDB4MGUsMHg2NCwweDIyLDB4ZGMsMHg0MCwweGQ3IH19LAotIHsxNiwgMHhkMWUwLCAwLCB7MHgwMiwweDJkLDB4ODQsMHgwYiwweDcwLDB4MDIsMHgxYywweDAwLDB4ODUsMHgxOCwweDIxLDB4NDAsMHgwYSwweGYwLDB4MjIsMHhhYSB9fSwKLSB7MTYsIDB4ZDFmMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5YywweDAwLDB4YTcsMHgxNCwweDY5LDB4YzAgfX0sCi0gezE2LCAweGQyMDAsIDAsIHsweDFhLDB4NjAsMHgxMiwweGZjLDB4MDEsMHhhNCwweDEwLDB4MmQsMHhjMCwweDBhLDB4NTIsMHgwMiwweDQ1LDB4NDAsMHg4NywweDBjIH19LAotIHsxNiwgMHhkMjEwLCAwLCB7MHgyMSwweDgwLDB4MWIsMHg2MCwweDgyLDB4ZDQsMHgwMCwweDg2LDB4MDMsMHgyNSwweGUwLDB4MWIsMHg3MCwweDAyLDB4NWMsMHg0MCB9fSwKLSB7MTYsIDB4ZDIyMCwgMCwgezB4OWQsMHgwMCwweDI5LDB4NDAsMHgwOCwweDcwLDB4MDIsMHgwMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQyMzAsIDAsIHsweDIwLDB4MTQsMHhjZCwweDAwLDB4YTMsMHgwMCwweDI4LDB4YzAsMHgxYiwweDIwLDB4MjIsMHg4YywweDExLDB4YTMsMHgwMCwweDY4IH19LAotIHsxNiwgMHhkMjQwLCAwLCB7MHhmNiwweDBhLDB4M2MsMHgwNiwweDgyLDB4MDAsMHg4MywweDgwLDB4MjgsMHg4NCwweDBhLDB4OGMsMHg4MiwweGNjLDB4NDQsMHg5MiB9fSwKLSB7MTYsIDB4ZDI1MCwgMCwgezB4MDAsMHgyYywweGMwLDB4MGIsMHgzMCwweDAyLDB4NGUsMHgwMCwweDkxLDB4MDAsMHgyOCwweDQwLDB4MGEsMHgzMCwweDAyLDB4ODggfX0sCi0gezE2LCAweGQyNjAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YmUsMHgyMiwweGVmLDB4MDQsMHhiYSwweGMwIH19LAotIHsxNiwgMHhkMjcwLCAwLCB7MHgwZiwweDE0LDB4OTMsMHhlYywweDAyLDB4ZjEsMHhjMywweDNlLDB4ZjAsMHgwZSwweDkwLDB4ODMsMHg2NiwweDAwLDB4Y2YsMHhkMiB9fSwKLSB7MTYsIDB4ZDI4MCwgMCwgezB4MzIsMHg1MCwweDBmLDB4OWMsMHgwMywweGNiLDB4MDAsMHhjOSwweDgwLDB4M2UsMHgyOCwweDBmLDB4YjAsMHgwMywweDRmLDB4MDAgfX0sCi0gezE2LCAweGQyOTAsIDAsIHsweGQxLDB4YzAsMHhhYSwweGMwLDB4MGMsMHg3MSwweDAzLDB4MmEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkMmEwLCAwLCB7MHg4MCwweDAwLDB4ZWMsMHgyMCwweGRiLDB4MDAsMHgyNiwweDgwLDB4MGYsMHhhMCwweDAzLDB4ZWMsMHgwOCwweDFiLDB4MDAsMHgzNiB9fSwKLSB7MTYsIDB4ZDJiMCwgMCwgezB4YzAsMHgwZiwweDg2LDB4MDEsMHhlNSwweDQwLDB4ZmIsMHgwMiwweDNhLDB4NDgsMHgwZSwweDk0LDB4MDMsMHhlYywweDgwLDB4ZjEgfX0sCi0gezE2LCAweGQyYzAsIDAsIHsweDg0LDB4M2UsMHgwMCwweDRmLDB4YjAsMHgwMywweGFkLDB4YzAsMHhlYiwweDIwLDB4MzYsMHhjMCwweDBmLDB4YjAsMHgyMywweGUwIH19LAotIHsxNiwgMHhkMmQwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGRjLDB4MDAsMHhjZiwweDAwLDB4M2YsMHg2MCB9fSwKLSB7MTYsIDB4ZDJlMCwgMCwgezB4MGMsMHhlMCwweDgzLDB4M2UsMHg4MCwweGVkLDB4MDgsMHgzMywweGQwLDB4OGYsMHg1MCwweDAzLDB4OWUsMHgwMCwweGRmLDB4MDAgfX0sCi0gezE2LCAweGQyZjAsIDAsIHsweDMzLDB4NDAsMHgwYywweGMwLDB4MDMsMHgzMCwweDAwLDB4Y2MsMHgxMCwweDMzLDB4NjgsMHgwYywweGYwLDB4MDMsMHgzYywweDg0IH19LAotIHsxNiwgMHhkMzAwLCAwLCB7MHg4ZCwweDkwLDB4MzAsMHg0MCwweDBjLDB4ZjAsMHgwMywweDA4LDB4NDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDMxMCwgMCwgezB4ODEsMHgwNCwweDZjLDB4MDAsMHg4YiwweDAyLDB4MmMsMHhmNCwweDA4LDB4YTgsMHg2MiwweDBjLDB4ODAsMHg4YiwweDgwLDB4MmEgfX0sCi0gezE2LCAweGQzMjAsIDAsIHsweDYwLDB4MGYsMHg5YywweDAyLDB4MmUsMHgwMCwweDhiLDB4MDAsMHgyMCwweDYwLDB4MGQsMHg5OCwweDAyLDB4MmMsMHg4MCwweGQ4IH19LAotIHsxNiwgMHhkMzMwLCAwLCB7MHgwMCwweDE0LDB4NDAsMHgwOCwweDM0LDB4MTIsMHgyZSwweDAwLDB4OGIsMHg4MiwweDMyLDB4NDAsMHgwZCwweGIwLDB4MDMsMHg2MCB9fSwKLSB7MTYsIDB4ZDM0MCwgMCwgezB4NDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgyYywweDAwLDB4OGIsMHgwMCwweDJlLDB4ZDAgfX0sCi0gezE2LCAweGQzNTAsIDAsIHsweDA4LDB4YjgsMHgwMiwweDJjLDB4MDAsMHg4YSwweDg0LDB4MjIsMHhjMCwweDBiLDB4ODgsMHgwMiwweGU0LDB4YTAsMHg4MywweDAwIH19LAotIHsxNiwgMHhkMzYwLCAwLCB7MHgyMiwweDYyLDB4MGEsMHg5OCwweDAyLDB4MjgsMHgwMCwweDg5LDB4MDAsMHgyMiwweDAwLDB4MGEsMHhiMSwweDA2LDB4MmMsMHgwMCB9fSwKLSB7MTYsIDB4ZDM3MCwgMCwgezB4YWIsMHgwMCwweDIyLDB4NDAsMHgwOCwweGIwLDB4MDIsMHg2MCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQzODAsIDAsIHsweDA4LDB4MDQsMHgwYywweDAyLDB4YTMsMHgwMCwweDJjLDB4YzEsMHgwOCwweDIwLDB4MDIsMHgwYywweDAyLDB4OGIsMHgwMCwweDI4IH19LAotIHsxNiwgMHhkMzkwLCAwLCB7MHhjMiwweDBhLDB4MDAsMHgwMiwweDQ0LDB4MTAsMHg4MywweDEwLDB4MjIsMHg0MCwweDBiLDB4MTAsMHgwNiwweDBjLDB4MDAsMHg5MSB9fSwKLSB7MTYsIDB4ZDNhMCwgMCwgezB4MDQsMHhhYSwweDAwLDB4MjgsMHgzMCwweDAyLDB4MmMsMHgwMCwweGExLDB4MDEsMHgyMCwweDQwLDB4MDksMHhiMCwweDAyLDB4NDIgfX0sCi0gezE2LCAweGQzYjAsIDAsIHsweDExLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4N2MsMHgwMCwweDhmLDB4MDAsMHgzZSwweGMwIH19LAotIHsxNiwgMHhkM2MwLCAwLCB7MHgyYywweGEwLDB4MDMsMHgyOSwweDQwLDB4YTgsMHg0MCwweDMyLDB4Y2MsMHg4YiwweDgwLDB4MDIsMHhlMCwweDAwLDB4Y2YsMHg0MCB9fSwKLSB7MTYsIDB4ZDNkMCwgMCwgezB4MzIsMHgwMCwweDBlLDB4ODAsMHgwYSwweDIwLDB4MDAsMHg4OCwweDAwLDB4MjIsMHg0MCwweDBjLDB4YjAsMHgwMywweDJjLDB4MDQgfX0sCi0gezE2LCAweGQzZTAsIDAsIHsweGViLDB4MDAsMHhiMiwweDQwLDB4OGMsMHhiMCwweDAzLDB4NDAsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkM2YwLCAwLCB7MHhhMCwweDFkLDB4ZmMsMHgwMCwweGRmLDB4MDAsMHgzZiwweDQwLDB4MGYsMHhlMCwweDAzLDB4ZmMsMHg4MCwweGZmLDB4MjgsMHgzZCB9fSwKLSB7MTYsIDB4ZDQwMCwgMCwgezB4YzAsMHgwYiwweGMxLDB4MDMsMHhiMCwweDE0LDB4ZmYsMHgwMCwweDNmLDB4MDAsMHgwZCwweGQwLDB4MDMsMHhkYywweDAwLDB4ZmMgfX0sCi0gezE2LCAweGQ0MTAsIDAsIHsweDAwLDB4MzcsMHg0MCwweDBmLDB4ZjAsMHgyMSwweGZjLDB4MDAsMHgxZCwweDAwLDB4N2IsMHg0MCwweDhmLDB4ZjAsMHgwMywweGUwIH19LAotIHsxNiwgMHhkNDIwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGQyLDB4MDAsMHhkZiwweDAwLDB4MzEsMHhhMCB9fSwKLSB7MTYsIDB4ZDQzMCwgMCwgezB4NGQsMHhmMCwweDQzLDB4MzIsMHgwMCwweGNlLDB4MTQsMHgxYiwweDY4LDB4MGUsMHhkYSwweDIzLDB4YjIsMHhjMCwweDJmLDB4MDAgfX0sCi0gezE2LCAweGQ0NDAsIDAsIHsweDNmLDB4YzIsMHgyYywweGU4LDB4MDMsMHgzYywweDQwLDB4ZmQsMHgwOCwweDNiLDB4YzgsMHg0YywweGYwLDB4ODMsMHgzYywweGEwIH19LAotIHsxNiwgMHhkNDUwLCAwLCB7MHhjZiwweDAwLDB4MzMsMHhjNCwweDBjLDB4ZjMsMHgwNywweGYwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDQ2MCwgMCwgezB4ODAsMHgxMCwweGUyLDB4MDAsMHg4ZiwweGMwLDB4MjIsMHhhMCwweDA4LDB4ZmQsMHg0MiwweDJmLDB4MDAsMHg4YiwweDcwLDB4MjIgfX0sCi0gezE2LCAweGQ0NzAsIDAsIHsweDFlLDB4NDgsMHg4OSwweDAyLDB4MjcsMHhjMCwweDhmLDB4NWEsMHgyZSwweDUwLDB4NDgsMHgzMCwweDAyLDB4YmQsMHhjMCwweGJkIH19LAotIHsxNiwgMHhkNDgwLCAwLCB7MHg0MCwweDIzLDB4YzUsMHg0OCwweGY0LDB4ODIsMHgzZCwweDJjLDB4ODcsMHg3MCwweDIyLDB4YzAsMHgwOCwweGYxLDB4MDMsMHhlMCB9fSwKLSB7MTYsIDB4ZDQ5MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhlMCwweDAwLDB4OTMsMHgxMCwweDI2LDB4ODEgfX0sCi0gezE2LCAweGQ0YTAsIDAsIHsweDQ5LDB4MzAsMHgwMiwweDgwLDB4NDAsMHg4MywweDIwLDB4MjgsMHg0MCwweDBhLDB4MTAsMHgwMiwweDgwLDB4MDAsMHhhMywweDI0IH19LAotIHsxNiwgMHhkNGIwLCAwLCB7MHgyYywweGNhLDB4MDgsMHgzMiwweDgyLDB4MGMsMHgwMCwweDkxLDB4MjgsMHgyMCwweGNhLDB4MWIsMHgzMiwweDAyLDB4MGMsMHg4OCB9fSwKLSB7MTYsIDB4ZDRjMCwgMCwgezB4ODMsMHgwOSwweDIwLDB4YzgsMHgwOSwweDMyLDB4MDIsMHhlMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQ0ZDAsIDAsIHsweGMwLDB4MTUsMHhhMywweDE0LDB4OGIsMHgwNCwweDI2LDB4ODksMHgwOCwweGIwLDB4MDIsMHhhYywweDIyLDB4OGIsMHg4OCwweDJhIH19LAotIHsxNiwgMHhkNGUwLCAwLCB7MHgyMCwweDA4LDB4OTgsMHg4MiwweGE2LDB4MTAsMHhhYiwweDAwLDB4MmUsMHhjYSwweDA4LDB4YjAsMHg4MiwweGFjLDB4MDAsMHhiOSB9fSwKLSB7MTYsIDB4ZDRmMCwgMCwgezB4MDAsMHgyMiwweGMwLDB4MjksMHhiMCwweDBhLDB4MmMsMHgwMSwweDhiLDB4MDAsMHgyMiwweGMwLDB4MDksMHhiMCwweDIyLDB4ZjAgfX0sCi0gezE2LCAweGQ1MDAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDE1LDB4ZTMsMHgwMCwweGRiLDB4MDAsMHgzNCwweGUyIH19LAotIHsxNiwgMHhkNTEwLCAwLCB7MHgwZCwweGIwLDB4MDMsMHhhMywweDAwLDB4Y2EsMHg4MCwweGJhLDB4NzAsMHgwZSwweDg4LDB4MDMsMHhhNiwweDAwLDB4ZWIsMHgwMCB9fSwKLSB7MTYsIDB4ZDUyMCwgMCwgezB4M2UsMHg5MCwweDBjLDB4YjUsMHgwMywweDJjLDB4MDAsMHhmYiwweDEwLDB4YmEsMHhjMCwweDBlLDB4YjAsMHgwMywweDJjLDB4MDIgfX0sCi0gezE2LCAweGQ1MzAsIDAsIHsweGNiLDB4MDIsMHgzMiwweGMwLDB4MDksMHhiMCwweDAyLDB4ZDAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkNTQwLCAwLCB7MHhlMCwweDAxLDB4YjAsMHgwOCwweGZmLDB4MDAsMHhiYiwweGUwLDB4MGYsMHg3MCwweDAzLDB4NjUsMHgwMCwweGY0LDB4MDAsMHgzNSB9fSwKLSB7MTYsIDB4ZDU1MCwgMCwgezB4NDAsMHgwZiwweDQwLDB4MDMsMHg1NCwweDAwLDB4ZGYsMHgwMCwweDNlLDB4NDAsMHgwZiwweGY4LDB4MDMsMHhlYywweDAwLDB4ZjcgfX0sCi0gezE2LCAweGQ1NjAsIDAsIHsweDAxLDB4M2QsMHhjMSwweDBlLDB4MzAsMHgwMywweGVjLDB4MDAsMHhmZiwweDAwLDB4M2YsMHhjMCwweDhlLDB4ZjAsMHgwMywweGI4IH19LAotIHsxNiwgMHhkNTcwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweGEwLDB4NDAsMHhlYiwweDA4LDB4M2UsMHg4MCB9fSwKLSB7MTYsIDB4ZDU4MCwgMCwgezB4MGQsMHhiMCwweDAzLDB4ZTAsMHgwMCwweGM4LDB4MDAsMHgzYSwweDUxLDB4MGYsMHg4MiwweDAzLDB4NjQsMHgyMCwweGRiLDB4MDAgfX0sCi0gezE2LCAweGQ1OTAsIDAsIHsweDNkLDB4ODIsMHgwYywweGJjLDB4MDMsMHgyYywweDEwLDB4ZGIsMHgwMCwweDcyLDB4YzAsMHgwZCwweGIxLDB4MDMsMHgwYywweDIwIH19LAotIHsxNiwgMHhkNWEwLCAwLCB7MHhkMywweDAwLDB4MzIsMHhjMCwweDBmLDB4YjAsMHgwYiwweDUwLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDViMCwgMCwgezB4YzgsMHgwNSwweDAxLDB4MDAsMHg4NywweGMwLDB4MmUsMHhhOCwweDA4LDB4ZjEsMHgxMiwweGM1LDB4NDAsMHg4OCwweDAwLDB4MjIgfX0sCi0gezE2LCAweGQ1YzAsIDAsIHsweDQwLDB4MGIsMHg4NCwweDAyLDB4MjcsMHgwMCwweGFmLDB4MDAsMHgyZSwweGMwLDB4MDgsMHhiYywweDEyLDB4M2MsMHgwMCwweDhiIH19LAotIHsxNiwgMHhkNWQwLCAwLCB7MHgwMSwweDIzLDB4YzAsMHgyOCwweGY1LDB4NGEsMHgzZCwweDI4LDB4ZGYsMHgwMCwweDMzLDB4YzAsMHg0YiwweGYwLDB4MDMsMHgzMiB9fSwKLSB7MTYsIDB4ZDVlMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg0OCwweDgwLDB4YTMsMHg5MCwweDJjLDB4MDAgfX0sCi0gezE2LCAweGQ1ZjAsIDAsIHsweDA4LDB4MzAsMHgwMiwweGMxLDB4MDAsMHg5MiwweDA0LDB4MjgsMHgwMCwweDBiLDB4MTQsMHgxMiwweDQzLDB4MDAsMHhiMywweDA0IH19LAotIHsxNiwgMHhkNjAwLCAwLCB7MHgyYywweDMwLDB4MGEsMHhiMCwweDBhLDB4OGMsMHgwMCwweDkzLDB4MDAsMHg2MCwweGMwLDB4MDgsMHgzYywweDA2LDB4MGUsMHgwMSB9fSwKLSB7MTYsIDB4ZDYxMCwgMCwgezB4YjMsMHgwMCwweDJlLDB4YzAsMHg4YiwweDMwLDB4MDYsMHgzOCwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQ2MjAsIDAsIHsweDIwLDB4MDEsMHgxMiwweDAwLDB4ODcsMHg4MCwweDJkLDB4MjQsMHgwOCwweDc4LDB4MDIsMHhkMiwweDAwLDB4OTUsMHg4MCwweDIxIH19LAotIHsxNiwgMHhkNjMwLCAwLCB7MHhhMCwweDBiLDB4NjgsMHgwMiwweDVhLDB4MjAsMHg4NywweDgwLDB4MmQsMHg2NiwweDFhLDB4N2MsMHgwMiwweDllLDB4MDAsMHg4NyB9fSwKLSB7MTYsIDB4ZDY0MCwgMCwgezB4ODAsMHgyMSwweGUxLDB4MTgsMHg3OSwweDAyLDB4OWUsMHg0MCwweGI3LDB4ODAsMHhhMSwweGUwLDB4MGIsMHg3OCwweDAyLDB4NDggfX0sCi0gezE2LCAweGQ2NTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MDAsMHgwMCwweGUzLDB4YTAsMHgzYywweDQwIH19LAotIHsxNiwgMHhkNjYwLCAwLCB7MHgwYywweDMwLDB4MDMsMHhjNCwweDIyLDB4ZDksMHgwMCwweDM4LDB4ZDQsMHgwZiwweDMwLDB4ODMsMHg2OCwweDQwLDB4ZjMsMHgwMCB9fSwKLSB7MTYsIDB4ZDY3MCwgMCwgezB4M2MsMHg4MCwweDBhLDB4MzIsMHgwMiwweDhjLDB4MDAsMHhkYiwweDAwLDB4YTIsMHhjNCwweDBjLDB4MzAsMHgwMywweDBjLDB4MDAgfX0sCi0gezE2LCAweGQ2ODAsIDAsIHsweGYzLDB4MDAsMHgzYywweGMwLDB4MGYsMHhiMSwweDAzLDB4MTIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkNjkwLCAwLCB7MHg0MCwweDBkLDB4YjAsMHgwMCwweGZmLDB4MTAsMHgzZiwweDQwLDB4MGUsMHhmMCwweDAzLDB4ZmMsMHgwMCwweGVkLDB4MDAsMHgzZiB9fSwKLSB7MTYsIDB4ZDZhMCwgMCwgezB4YzAsMHgwZiwweDMwLDB4MTMsMHhiYywweDQwLDB4N2YsMHgxMCwweDNmLDB4YzEsMHgyZCwweGYwLDB4MDMsMHg3YywweDAwLDB4ZmIgfX0sCi0gezE2LCAweGQ2YjAsIDAsIHsweDQwLDB4M2YsMHhjMiwweDBlLDB4ZjQsMHg4MywweDdjLDB4MDAsMHhkZiwweDAwLDB4M2YsMHhjMiwweDBmLDB4ZjAsMHgwMywweDkwIH19LAotIHsxNiwgMHhkNmMwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGVjLDB4MDAsMHhkYiwweGEwLDB4MzIsMHhjMCB9fSwKLSB7MTYsIDB4ZDZkMCwgMCwgezB4MGQsMHhiNywweDAzLDB4ZTAsMHgwMCwweGNhLDB4MDQsMHgzZSwweDgwLDB4MGYsMHhiOCwweDAzLDB4MmMsMHgxMCwweGZiLDB4MDAgfX0sCi0gezE2LCAweGQ2ZTAsIDAsIHsweDMzLDB4MDAsMHg4ZCwweGIwLDB4MDMsMHgyYywweDgwLDB4ZTksMHg0MCwweDNlLDB4ZDIsMHgwZiwweGI0LDB4MDMsMHgyZCwweDgwIH19LAotIHsxNiwgMHhkNmYwLCAwLCB7MHhlYiwweDIwLDB4YjIsMHhjMCwweDBmLDB4YjIsMHgwMywweGVhLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDcwMCwgMCwgezB4NDgsMHgxMSwweDkwLDB4MDAsMHhiNywweDEwLDB4MTEsMHhjMCwweDA4LDB4NzAsMHg4MiwweGQ4LDB4MGEsMHg4NywweDAxLDB4MmQgfX0sCi0gezE2LCAweGQ3MTAsIDAsIHsweDgwLDB4ODksMHg3MCwweDAzLDB4ZDgsMHgwOCwweGI3LDB4MGEsMHgyMSwweDQwLDB4MmMsMHg3MCwweDAyLDB4MGQsMHhjMCwweDg1IH19LAotIHsxNiwgMHhkNzIwLCAwLCB7MHgwMSwweDc5LDB4YzgsMHgwYiwweDMyLDB4MDIsMHgwZCwweDIwLDB4OGYsMHgyOCwweDIxLDB4YzAsMHgwYiwweDcyLDB4ODIsMHhkMiB9fSwKLSB7MTYsIDB4ZDczMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4NDAsMHg5NiwweDEwLDB4OTcsMHg5MCwweDIzLDB4ZTAgfX0sCi0gezE2LCAweGQ3NDAsIDAsIHsweDA5LDB4N2EsMHgwMiwweGQ2LDB4MDAsMHg5NywweDgwLDB4MmQsMHhmMCwweDBiLDB4NzgsMHg4MiwweDFlLDB4MDAsMHhiMywweGIwIH19LAotIHsxNiwgMHhkNzUwLCAwLCB7MHgyMSwweGEwLDB4MDgsMHg3OCwweDAyLDB4MWUsMHgwMCwweGE1LDB4ODAsMHgyZCwweGUwLDB4MGIsMHg3YSwweDAyLDB4MWUsMHg4MCB9fSwKLSB7MTYsIDB4ZDc2MCwgMCwgezB4YTcsMHhiMCwweDIxLDB4ZTgsMHgwYiwweDc5LDB4MDIsMHhmMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQ3NzAsIDAsIHsweDQ4LDB4MTQsMHhjMCwweDAwLDB4YjMsMHgwMCwweDIwLDB4ZTIsMHgwOCwweDMwLDB4MDIsMHhjNiwweDQwLDB4OTMsMHg3MCwweDJjIH19LAotIHsxNiwgMHhkNzgwLCAwLCB7MHhjMCwweDA5LDB4M2MsMHgwMiwweDhlLDB4MDAsMHhiMywweDAwLDB4MjAsMHhkOCwweDA4LDB4MTgsMHgwMiwweDBjLDB4MDAsMHg4MSB9fSwKLSB7MTYsIDB4ZDc5MCwgMCwgezB4OTAsMHgyZSwweGMwLDB4MGIsMHgzMCwweDJhLDB4MmMsMHgxMCwweDgzLDB4MDAsMHhhMCwweGMwLDB4MGIsMHgzMCwweDAyLDB4ZDIgfX0sCi0gezE2LCAweGQ3YTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDExLDB4YjksMHgwMCwweGRhLDB4MDIsMHgzMywweGI4IH19LAotIHsxNiwgMHhkN2IwLCAwLCB7MHgwZCwweGEwLDB4MDMsMHhmOCwweDAwLDB4ZGUsMHhjMCwweDNmLDB4YjAsMHg0ZiwweGVjLDB4MDYsMHgzOCwweDQwLDB4ZmEsMHgwMCB9fSwKLSB7MTYsIDB4ZDdjMCwgMCwgezB4YjMsMHg5MCwweDBjLDB4NmMsMHgwYiwweDI4LDB4MDgsMHhlYSwweDAxLDB4N2UsMHg4MCwweDBmLDB4YTAsMHgwMywweDI4LDB4MDAgfX0sCi0gezE2LCAweGQ3ZDAsIDAsIHsweGVhLDB4MDAsMHgzMiwweDgwLDB4MGYsMHhhMCwweDAzLDB4ZmEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkN2UwLCAwLCB7MHg0OCwweDAwLDB4ZTAsMHgwMCwweGY4LDB4NDAsMHgzYSwweDAwLDB4MGYsMHg4NCwweDAzLDB4ZTEsMHgwMCwweGU4LDB4MDIsMHgzZSB9fSwKLSB7MTYsIDB4ZDdmMCwgMCwgezB4MDAsMHgwZiwweDg0LDB4MDMsMHhlMSwweDQwLDB4ZjgsMHgwMCwweDNlLDB4MDAsMHgwZiwweDgxLDB4MDMsMHhlMCwweDAwLDB4ZjggfX0sCi0gezE2LCAweGQ4MDAsIDAsIHsweDAwLDB4M2EsMHgwMCwweDBmLDB4ODAsMHgwMywweGUwLDB4MDAsMHhmOCwweDAwLDB4M2UsMHgwMCwweDBmLDB4ODAsMHgwMywweGQyIH19LAotIHsxNiwgMHhkODEwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGU0LDB4MjAsMHhmOSwweGMwLDB4M2UsMHg3MCB9fSwKLSB7MTYsIDB4ZDgyMCwgMCwgezB4MGUsMHg5MCwweDAyLDB4ZTQsMHg4MCwweGM5LDB4MDAsMHgzMiwweDQyLDB4MGMsMHg5OCwweDgzLDB4YTQsMHg4NCwweGY5LDB4MDAgfX0sCi0gezE2LCAweGQ4MzAsIDAsIHsweGIyLDB4NjAsMHgwYywweDkwLDB4ODMsMHgyNCwweDAwLDB4YzksMHgwMCwweDNlLDB4NDAsMHgwYywweDFhLDB4MDIsMHgyNCwweDAwIH19LAotIHsxNiwgMHhkODQwLCAwLCB7MHhjMSwweDAwLDB4YjIsMHg0MCwweDBmLDB4OTAsMHgwMSwweGMyLDB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDg1MCwgMCwgezB4ODAsMHgwNCwweDY1LDB4MDAsMHhiOSwweDgxLDB4MmMsMHg2MCwweDBkLDB4OTQsMHhjMiwweGM3LDB4MDgsMHg4OSwweDAwLDB4MjIgfX0sCi0gezE2LCAweGQ4NjAsIDAsIHsweDQwLDB4MDgsMHg5NSwweGM3LDB4YTQsMHgwMCwweGI5LDB4MDAsMHgyOCwweDcwLDB4YTgsMHg5NCwweDBhLDB4MjQsMHgwMCwweDg5IH19LAotIHsxNiwgMHhkODcwLCAwLCB7MHgwNCwweDJlLDB4NDAsMHgyOCwweDkwLDB4MmEsMHgyNiwweDAwLDB4ODksMHgwMCwweDIyLDB4NDAsMHgwYiwweDkwLDB4MDIsMHhlMCB9fSwKLSB7MTYsIDB4ZDg4MCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHgyNCwweDAwLDB4YjksMHg0MCwweDJlLDB4NDAgfX0sCi0gezE2LCAweGQ4OTAsIDAsIHsweDBhLDB4OTAsMHgwMiwweGU1LDB4MDAsMHg4MSwweDAwLDB4YTAsMHg0MCwweDA5LDB4OTAsMHg0MiwweGVjLDB4MDAsMHhiMSwweDAwIH19LAotIHsxNiwgMHhkOGEwLCAwLCB7MHgyMiwweDU4LDB4MDgsMHg5MCwweGEyLDB4MDQsMHgwMiwweDg5LDB4MDAsMHgyZSwweDQwLDB4MDgsMHg5MCwweDAyLDB4YTQsMHhhMCB9fSwKLSB7MTYsIDB4ZDhiMCwgMCwgezB4ODksMHgwMCwweDIyLDB4NDAsMHgwYiwweDkwLDB4MDIsMHhjNiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQ4YzAsIDAsIHsweDA4LDB4MDQsMHgwNCwweDAwLDB4YjEsMHgyMCwweDJlLDB4YzAsMHg4OSwweDEyLDB4MDIsMHhjNCwweDgwLDB4ODEsMHgyMCwweDIwIH19LAotIHsxNiwgMHhkOGQwLCAwLCB7MHg0MCwweDYxLDB4MTAsMHg0MiwweGM1LDB4MDAsMHhiMSwweDIwLDB4MjgsMHg0OCwweDE4LDB4OTAsMHg0MiwweDA0LDB4ODAsMHg4MSB9fSwKLSB7MTYsIDB4ZDhlMCwgMCwgezB4MjgsMHgyYywweDQ4LDB4MDgsMHgxMiwweDgyLDB4ODQsMHhhMCwweDgxLDB4MjAsMHgyMCwweDQ4LDB4MGIsMHgxMiwweDgyLDB4YzIgfX0sCi0gezE2LCAweGQ4ZjAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjgsMHgwMCwweGY4LDB4MDAsMHgyZSwweDAwIH19LAotIHsxNiwgMHhkOTAwLCAwLCB7MHgwZSwweDgwLDB4MDMsMHhlMCwweDA4LDB4YzgsMHg1MCwweDMyLDB4MTQsMHgwZCwweDgwLDB4MTcsMHhlOCwweDA0LDB4ZjgsMHg1MCB9fSwKLSB7MTYsIDB4ZDkxMCwgMCwgezB4MzIsMHgxNCwweDRjLDB4MDUsMHgwYiwweDIxLDB4NDAsMHhjOCwweDIwLDB4M2UsMHgwMCwweDBjLDB4ODcsMHgwMywweGExLDB4YzIgfX0sCi0gezE2LCAweGQ5MjAsIDAsIHsweGM4LDB4MDAsMHgzMiwweDE0LDB4OGYsMHg4MiwweDAzLDB4ZWUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkOTMwLCAwLCB7MHg5OCwweDFkLDB4ZjQsMHgwMCwweGYxLDB4MTAsMHgzZCwweDQwLDB4MGYsMHg5MSwweDAyLDB4ZDQsMHg0MiwweGZkLDB4MTAsMHgzZiB9fSwKLSB7MTYsIDB4ZDk0MCwgMCwgezB4NTEsMHgwZSwweDU0LDB4MTMsMHhiNSwweDAwLDB4ZjksMHgxMCwweDM1LDB4NDQsMHgyZiwweGQwLDB4MDMsMHhlNCwweDUwLDB4ZmQgfX0sCi0gezE2LCAweGQ5NTAsIDAsIHsweDI4LDB4M2UsMHg0ZSwweDBmLDB4OTAsMHgwMywweDY0LDB4MDAsMHhmOSwweDM4LDB4M2UsMHg0NCwweDBmLDB4OTIsMHg4MywweGU2IH19LAotIHsxNiwgMHhkOTYwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgxNSwweGY0LDB4MDAsMHhmZCwweDAwLDB4M2QsMHg0MCB9fSwKLSB7MTYsIDB4ZDk3MCwgMCwgezB4MmMsMHhkMCwweDAzLDB4YjYsMHgwMCwweGY5LDB4ODIsMHgzZSwweDQwLDB4MGMsMHhkMCwweDAzLDB4ZjQsMHgwMCwweGY5LDB4ODAgfX0sCi0gezE2LCAweGQ5ODAsIDAsIHsweDMzLDB4NzAsMHgwYywweDUwLDB4MDMsMHgzNCwweDAwLDB4YzksMHhjMCwweDNlLDB4NDAsMHgwYywweGRhLDB4MDMsMHgxNiwweDgwIH19LAotIHsxNiwgMHhkOTkwLCAwLCB7MHhjOSwweDQwLDB4M2UsMHg2MiwweDJjLDB4OTgsMHg4MywweDA2LDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDlhMCwgMCwgezB4MzgsMHgxMCwweGUwLDB4MDAsMHhiOCwweDAwLDB4MmUsMHgwMCwweDA4LDB4ODAsMHgwMiwweDI4LDB4MDAsMHhiOCwweDUwLDB4MjYgfX0sCi0gezE2LCAweGQ5YjAsIDAsIHsweDAwLDB4MDgsMHhhMCwweDAyLDB4ZTgsMHgwMCwweGI4LDB4MDAsMHgyYSwweDM0LDB4MmEsMHhhYSwweDBhLDB4MjAsMHgwMCwweDg4IH19LAotIHsxNiwgMHhkOWMwLCAwLCB7MHhjMCwweDJlLDB4MmEsMHgwOCwweDgwLDB4MjIsMHgyMSwweDAwLDB4YTgsMHg4MCwweDJlLDB4MDAsMHgwOCwweDgwLDB4MDIsMHgwZSB9fSwKLSB7MTYsIDB4ZDlkMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhjNCwweDAwLDB4YjEsMHgwMCwweDJlLDB4NDAgfX0sCi0gezE2LCAweGQ5ZTAsIDAsIHsweDQ4LDB4MTAsMHgwNiwweDhkLDB4MDAsMHhiMSwweDAwLDB4MmMsMHg0MCwweDI4LDB4MTAsMHgwMiwweGM0LDB4MDAsMHhiMSwweDQwIH19LAotIHsxNiwgMHhkOWYwLCAwLCB7MHgyYywweDQ4LDB4MDgsMHgxMCwweDgyLDB4NDQsMHgwMCwweDgxLDB4NjAsMHgyYywweDQwLDB4MjgsMHgxNCwweDBhLDB4MDQsMHg0MCB9fSwKLSB7MTYsIDB4ZGEwMCwgMCwgezB4ODEsMHgyMCwweDJjLDB4NDAsMHgwOCwweDEwLDB4MDIsMHgwMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGRhMTAsIDAsIHsweDE4LDB4MDUsMHhhNCwweDQwLDB4YjksMHgwMCwweDJlLDB4NDAsMHgwOCwweGIwLDB4MDIsMHgyNCwweDAwLDB4YjksMHgyOCwweDJlIH19LAotIHsxNiwgMHhkYTIwLCAwLCB7MHg1MCwweDA4LDB4OTAsMHgyMiwweGU0LDB4MDAsMHhiOSwweDAwLDB4MmUsMHg2MCwweDBiLDB4MTIsMHg0MiwweDY0LDB4MDAsMHg4OSB9fSwKLSB7MTYsIDB4ZGEzMCwgMCwgezB4MDAsMHgyYywweDQwLDB4MDksMHg5MCwweDAyLDB4MjQsMHgwMCwweGE5LDB4MDAsMHgyYywweDQwLDB4MDgsMHgxMCwweDAyLDB4NDYgfX0sCi0gezE2LCAweGRhNDAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDA1LDB4ZTYsMHgwMCwweGY5LDB4MDAsMHgzYywweDQyIH19LAotIHsxNiwgMHhkYTUwLCAwLCB7MHgwYywweDkwLDB4MDMsMHhhNywweDQwLDB4ZjksMHg0MCwweDNlLDB4NzAsMHgwYywweDk4LDB4MDIsMHhlNSwweDQwLDB4ZjksMHgwMCB9fSwKLSB7MTYsIDB4ZGE2MCwgMCwgezB4M2UsMHg0MCwweDBjLDB4OTgsMHgwMywweDY0LDB4MDYsMHhjOSwweDAxLDB4MmUsMHg0MCwweDBjLDB4OTAsMHgwMywweDI0LDB4MDQgfX0sCi0gezE2LCAweGRhNzAsIDAsIHsweGM5LDB4MDAsMHgzZSwweDQwLDB4MGMsMHg5MCwweDBiLDB4MjgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkYTgwLCAwLCB7MHgyOCwweDAxLDB4YTQsMHgwMCwweGY5LDB4MDAsMHgzZSwweDQwLDB4MGYsMHg5MCwweDgzLDB4ZTYsMHgxMCwweGY5LDB4MDAsMHgzNiB9fSwKLSB7MTYsIDB4ZGE5MCwgMCwgezB4NjgsMHgwZiwweDljLDB4MDMsMHhlNiwweDAwLDB4ZjksMHgwMCwweDNhLDB4NDAsMHgwZSwweDk4LDB4OTMsMHhhNCwweDAwLDB4ZjkgfX0sCi0gezE2LCAweGRhYTAsIDAsIHsweDAwLDB4M2UsMHg0MCwweDBlLDB4OTAsMHg4MywweGM0LDB4MDAsMHhmOSwweDAwLDB4M2UsMHg0MCwweDBmLDB4OTAsMHgwMywweDhhIH19LAotIHsxNiwgMHhkYWIwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwMCwweGEwLDB4MDAsMHhmOCwweDAwLDB4M2UsMHgwNCB9fSwKLSB7MTYsIDB4ZGFjMCwgMCwgezB4MGMsMHg4MCwweDAzLDB4MjEsMHgwMiwweGM4LDB4NDAsMHgzMiwweDAwLDB4MGYsMHg4MCwweDAzLDB4ZTEsMHgwMCwweGYwLDB4MDAgfX0sCi0gezE2LCAweGRhZDAsIDAsIHsweDNlLDB4MDIsMHgwYywweDgwLDB4MDMsMHgyMCwweDAwLDB4ZjgsMHgwMCwweDNlLDB4MDAsMHgwYywweDAwLDB4MDMsMHgyMCwweDAwIH19LAotIHsxNiwgMHhkYWUwLCAwLCB7MHhjOCwweDAwLDB4MzIsMHgwMCwweDBmLDB4ODAsMHgwMywweDBhLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZGFmMCwgMCwgezB4MjgsMHgxNSwweDNhLDB4MDAsMHhiZSwweDAyLDB4MmYsMHhiMCwweDA4LDB4NjgsMHgxMiwweDM4LDB4MDAsMHg4YSwweDA0LDB4MmEgfX0sCi0gezE2LCAweGRiMDAsIDAsIHsweDgwLDB4MGIsMHhlMCwweDQyLDB4ZmIsMHgyMCwweGJhLDB4MDAsMHgyZiwweDkxLDB4MDgsMHhlMCwweDAyLDB4MjgsMHgwMCwweGJhIH19LAotIHsxNiwgMHhkYjEwLCAwLCB7MHgwMCwweDI2LDB4ODAsMHgwOCwweGVlLDB4MGEsMHgzOCwweDAwLDB4OGEsMHgwMCwweDIyLDB4ODAsMHgwYiwweGEwLDB4MDIsMHg4YSB9fSwKLSB7MTYsIDB4ZGIyMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg0MiwweDAwLDB4YjMsMHgwMCwweDJjLDB4YzIgfX0sCi0gezE2LCAweGRiMzAsIDAsIHsweDI4LDB4MzgsMHgwYSwweDQ4LDB4MDAsMHg4MywweDA0LDB4MjIsMHhjMCwweDBiLDB4MTAsMHgwMiwweGNkLDB4ODAsMHhiMywweDAwIH19LAotIHsxNiwgMHhkYjQwLCAwLCB7MHgyZSwweGMwLDB4MDgsMHgxYywweDAyLDB4MjQsMHgwMCwweGIzLDB4MDAsMHgyYywweGMwLDB4MDgsMHgzNCwweDEyLDB4MGUsMHg0MCB9fSwKLSB7MTYsIDB4ZGI1MCwgMCwgezB4ODMsMHgwMCwweDIwLDB4YzAsMHgwYiwweDMwLDB4MTIsMHgwYSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGRiNjAsIDAsIHsweGEwLDB4MDEsMHgxMSwweDAwLDB4YjcsMHgwMCwweDJmLDB4YzAsMHgwOCwweDcwLDB4YTIsMHg0ZSwweDAwLDB4OGYsMHhiMCwweDIxIH19LAotIHsxNiwgMHhkYjcwLCAwLCB7MHhjYywweDBiLDB4NjAsMHgxMiwweGRjLDB4MTAsMHhiNywweDMwLDB4MmQsMHhjMCwweDA4LDB4ZDAsMHg4MiwweDE0LDB4ODAsMHhiNyB9fSwKLSB7MTYsIDB4ZGI4MCwgMCwgezB4MTIsMHgyNSwweGM4LDB4MjgsMHg2MCwweDAyLDB4MTQsMHgwMCwweDg3LDB4YjIsMHgyMSwweGNjLDB4MGIsMHgzMSwweDAyLDB4YTggfX0sCi0gezE2LCAweGRiOTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MTIsMHgwMCwweGY3LDB4ODAsMHgzZCwweGUwIH19LAotIHsxNiwgMHhkYmEwLCAwLCB7MHgwYywweDM4LDB4MDMsMHg1NiwweDAwLDB4YzcsMHg5MCwweGIxLDB4ZTQsMHgwZiwweDc4LDB4MDMsMHhkZSwweDAwLDB4ZjcsMHg5MCB9fSwKLSB7MTYsIDB4ZGJiMCwgMCwgezB4MWYsMHg2MCwweDJjLDB4NDgsMHgwYiwweDE2LDB4YTAsMHhmNywweDgwLDB4M2MsMHhmNCwweDBjLDB4MzgsMHgwMywweDFlLDB4MDAgfX0sCi0gezE2LCAweGRiYzAsIDAsIHsweGNmLDB4YTAsMHhiMSwweGU4LDB4MGYsMHg3YiwweDAzLDB4MmEsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkYmQwLCAwLCB7MHgwOCwweDBkLDB4YTAsMHgwMCwweGY4LDB4MDAsMHgzZSwweGMwLDB4MGIsMHhiMCwweDAzLDB4YWMsMHgwMCwweGYzLDB4MjEsMHgzZSB9fSwKLSB7MTYsIDB4ZGJlMCwgMCwgezB4YzgsMHgwNywweGIwLDB4MDIsMHhlNCwweDAwLDB4ZmIsMHgyMCwweDNmLDB4NDAsMHgwZiwweDgwLDB4MDMsMHhlNCwweDgwLDB4ZmIgfX0sCi0gezE2LCAweGRiZjAsIDAsIHsweDAwLDB4MzYsMHhkMCwweDBmLDB4YTAsMHgwMywweGUwLDB4MDgsMHhmYiwweDQyLDB4M2UsMHhkOCwweDBmLDB4YjAsMHgwMywweGMyIH19LAotIHsxNiwgMHhkYzAwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweGYwLDB4ODAsMHhjZiwweDgwLDB4MzEsMHhlMSB9fSwKLSB7MTYsIDB4ZGMxMCwgMCwgezB4MGMsMHhmOCwweDAzLDB4ZGEsMHgxMCwweGVmLDB4ODAsMHgzZiwweGU0LDB4MGYsMHhkOCwweDAzLDB4ZmUsMHgxMCwweGZmLDB4ODIgfX0sCi0gezE2LCAweGRjMjAsIDAsIHsweDNmLDB4ZTAsMHg0YywweGQ4LDB4MWIsMHgxNiwweDIwLDB4Y2YsMHg4MCwweDNmLDB4ZTAsMHg0YywweGQ4LDB4MzAsMHhlZSwweDQwIH19LAotIHsxNiwgMHhkYzMwLCAwLCB7MHhmZiwweGMwLDB4YjMsMHhmNCwweDBmLDB4ZjgsMHgwMywweGMwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZGM0MCwgMCwgezB4YTgsMHgwMSwweDk4LDB4MjAsMHg4MywweDQwLDB4MjEsMHhjMCwweDA4LDB4NzEsMHgwMiwweGRjLDB4ODQsMHg4NywweDIwLDB4MmQgfX0sCi0gezE2LCAweGRjNTAsIDAsIHsweGMwLDB4MGIsMHg2MCwweDAyLDB4ZDksMHg2MCwweGY3LDB4MDAsMHgyZCwweGMwLDB4MDgsMHhmMCwweDgyLDB4MTQsMHgwNCwweDg3IH19LAotIHsxNiwgMHhkYzYwLCAwLCB7MHgwMCwweDJkLDB4YzAsMHgwOCwweGYwLDB4MDMsMHgxZSwweDAwLDB4YjcsMHgyMCwweDIxLDB4YzAsMHg4YiwweDcwLDB4MDIsMHhlYSB9fSwKLSB7MTYsIDB4ZGM3MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiMCwweDAwLDB4ODcsMHgwMCwweDIxLDB4ODAgfX0sCi0gezE2LCAweGRjODAsIDAsIHsweDA4LDB4NzAsMHgwMiwweGY1LDB4MDQsMHgyNywweDAwLDB4MmQsMHhjMCwweDhiLDB4NzAsMHgwMiwweGRjLDB4MDAsMHhiNywweDAwIH19LAotIHsxNiwgMHhkYzkwLCAwLCB7MHgyYywweDUwLDB4MDgsMHg0MCwweDAyLDB4MTQsMHgwMCwweDg3LDB4MDAsMHgyZCwweGMwLDB4MDgsMHg1MCwweDAyLDB4NWMsMHgwNCB9fSwKLSB7MTYsIDB4ZGNhMCwgMCwgezB4YjcsMHgwMCwweGExLDB4YzAsMHg4YiwweDcwLDB4MDIsMHhjMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGRjYjAsIDAsIHsweDIwLDB4MTQsMHhjOCwweDAwLDB4ODAsMHgwMCwweDAwLDB4ODAsMHgwOCwweDMwLDB4MDIsMHhjZSwweDAwLDB4ODMsMHhjMCwweDJjIH19LAotIHsxNiwgMHhkY2MwLCAwLCB7MHhkMCwweDRiLDB4MzAsMHgwMiwweGNlLDB4MDAsMHhhYiwweDAyLDB4MmMsMHg0MCwweDQ4LDB4YmMsMHgwMiwweDA0LDB4MDAsMHg4MyB9fSwKLSB7MTYsIDB4ZGNkMCwgMCwgezB4MDAsMHgyYywweGMwLDB4MDgsMHgxMCwweDAyLDB4MDAsMHgwOCwweGIzLDB4MDAsMHgyMCwweGMwLDB4MDksMHgzMCwweDAyLDB4YzggfX0sCi0gezE2LCAweGRjZTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4ODMsMHg0MCwweGM4LDB4MDAsMHgzMCwweGMwIH19LAotIHsxNiwgMHhkY2YwLCAwLCB7MHgyYywweGIwLDB4MDMsMHhlYywweDAwLDB4ZWYsMHg4OCwweDNmLDB4ZTYsMHgwNywweGIxLDB4ODMsMHhlMSwweDAwLDB4YmYsMHgwMCB9fSwKLSB7MTYsIDB4ZGQwMCwgMCwgezB4M2UsMHhlMCwweDBjLDB4YjgsMHgwMywweDM0LDB4MDAsMHhjZiwweDAwLDB4M2YsMHhjMCwweDJjLDB4YjAsMHgwMywweDY4LDB4MTAgfX0sCi0gezE2LCAweGRkMTAsIDAsIHsweGZmLDB4MDAsMHgzMywweGMwLDB4MGYsMHhmMCwweDAzLDB4ZWEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkZDIwLCAwLCB7MHg4MCwweDAwLDB4ZTQsMHgwMCwweGYxLDB4NDAsMHgzZSwweGMwLDB4MGYsMHhiNCwweDAzLDB4ZWQsMHg0MCwweGZiLDB4MDgsMHgzZSB9fSwKLSB7MTYsIDB4ZGQzMCwgMCwgezB4YzAsMHgwZiwweGEwLDB4MDMsMHhlNSwweDIwLDB4ZmIsMHgwMCwweDNlLDB4ZTAsMHgwZCwweGIwLDB4ODMsMHhlNCwweDAwLDB4ZjMgfX0sCi0gezE2LCAweGRkNDAsIDAsIHsweDAwLDB4M2UsMHhjMCwweDBmLDB4ODAsMHgwMywweGM0LDB4MDAsMHhmYiwweDAwLDB4M2UsMHhjMCwweDBmLDB4MzAsMHgwMywweGUwIH19LAotIHsxNiwgMHhkZDUwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGYwLDB4MDAsMHhjYSwweDAwLDB4MzMsMHhlMCB9fSwKLSB7MTYsIDB4ZGQ2MCwgMCwgezB4NGUsMHhmMCwweDAzLDB4MzQsMHgwMCwweGZmLDB4MDAsMHgzZiwweGMwLDB4OGYsMHhlOCwweDAzLDB4ZjAsMHgwMCwweGZmLDB4MDAgfX0sCi0gezE2LCAweGRkNzAsIDAsIHsweGIxLDB4NDAsMHgwYywweGUwLDB4MDMsMHgzNCwweDAwLDB4ZWYsMHgwMCwweGIzLDB4YzAsMHgwYywweGYwLDB4MDMsMHgzOCwweDAwIH19LAotIHsxNiwgMHhkZDgwLCAwLCB7MHhjZiwweDAwLDB4M2QsMHhjMCwweDBhLDB4ZjAsMHgwMywweDAwLDB4NDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZGQ5MCwgMCwgezB4ODEsMHgwNCwweDYyLDB4MjIsMHg4OCwweDkwLDB4MjIsMHhlMCwweDA4LDB4M2MsMHgwMiwweDJlLDB4MDgsMHhiYiwweDAxLDB4MmUgfX0sCi0gezE2LCAweGRkYTAsIDAsIHsweGMwLDB4MGIsMHhhMCwweDAyLDB4NjYsMHgwMCwweGJiLDB4MDAsMHgyMiwweGEwLDB4MDgsMHhhOSwweDAyLDB4MjQsMHgwMCwweGJiIH19LAotIHsxNiwgMHhkZGIwLCAwLCB7MHgwMCwweDIyLDB4YzAsMHgyOCwweDJjLDB4MDIsMHhhMiwweDAwLDB4ZGIsMHgwMCwweDJlLDB4YzAsMHgwYSwweGIwLDB4MDIsMHhhMCB9fSwKLSB7MTYsIDB4ZGRjMCwgMCwgezB4NDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgyMiwweDAwLDB4OTgsMHgwMCwweDIyLDB4YzggfX0sCi0gezE2LCAweGRkZDAsIDAsIHsweDBhLDB4OTgsMHgwMiwweDI3LDB4MDQsMHhiYiwweDAwLDB4MmUsMHhjMCwweDBiLDB4YjEsMHgwMiwweGUyLDB4MDAsMHhiYiwweDAwIH19LAotIHsxNiwgMHhkZGUwLCAwLCB7MHgyMiwweGUyLDB4MDgsMHhiMCwweDAyLDB4YTQsMHgwMCwweGFiLDB4MDAsMHgyMCwweGMwLDB4MGEsMHg4OCwweDgyLDB4MjMsMHgwMCB9fSwKLSB7MTYsIDB4ZGRmMCwgMCwgezB4OGIsMHgwMCwweDJlLDB4YzAsMHgwOCwweGIwLDB4MDIsMHhhMCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGRlMDAsIDAsIHsweDA4LDB4MTQsMHgwNCwweDAwLDB4OTEsMHg0MCwweDIyLDB4YzAsMHgwOCwweDEwLDB4MDIsMHgwYywweDAwLDB4YjMsMHgwMCwweDJjIH19LAotIHsxNiwgMHhkZTEwLCAwLCB7MHhjMCwweDRiLDB4MjgsMHgyMiwweDQwLDB4MDQsMHhiMywweDAwLDB4MjAsMHhjMCwweDI4LDB4MzAsMHgwYSwweDA0LDB4MDQsMHhiMyB9fSwKLSB7MTYsIDB4ZGUyMCwgMCwgezB4MDAsMHg2MCwweGMwLDB4MDgsMHgwMCwweDAyLDB4ODQsMHgyMCwweDkzLDB4MDAsMHgyYywweGMwLDB4MGEsMHgzMCwweDAyLDB4ODIgfX0sCi0gezE2LCAweGRlMzAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4NjAsMHgwMCwweGRhLDB4NDAsMHhiMiwweDgwIH19LAotIHsxNiwgMHhkZTQwLCAwLCB7MHgwZSwweDkwLDB4MDMsMHgyNCwweDAwLDB4ZmYsMHgwMCwweDNmLDB4YzAsMHg4ZiwweGEwLDB4MDMsMHhlMCwweDA5LDB4ZmYsMHgwMCB9fSwKLSB7MTYsIDB4ZGU1MCwgMCwgezB4MzIsMHg0MCwweDA4LDB4YTAsMHgwYiwweDM0LDB4MDAsMHhlYiwweDAwLDB4MzEsMHhjMCwweDBjLDB4ODAsMHgwMywweDI4LDB4ODAgfX0sCi0gezE2LCAweGRlNjAsIDAsIHsweGM3LDB4MDAsMHgzZiwweGMwLDB4MGMsMHhmMCwweDAzLDB4MDAsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkZTcwLCAwLCB7MHhhMCwweDE1LDB4ZDAsMHgwMCwweGVjLDB4MjAsMHgzZiwweDAwLDB4MGYsMHhjMCwweDBiLDB4ZmMsMHgxMCwweGZmLDB4MDEsMHgzZiB9fSwKLSB7MTYsIDB4ZGU4MCwgMCwgezB4YzAsMHgwZiwweGUwLDB4MDMsMHhmNCwweDAwLDB4ZmYsMHgwMCwweDNmLDB4YzAsMHgwZiwweGYwLDB4MDMsMHhmNCwweDAwLDB4ZmYgfX0sCi0gezE2LCAweGRlOTAsIDAsIHsweDAwLDB4M2YsMHhjMCwweDRmLDB4YzAsMHgwMSwweGYwLDB4MDgsMHhmZiwweDAwLDB4M2YsMHhjMCwweDBmLDB4ZjAsMHgwMywweGU4IH19LAotIHsxNiwgMHhkZWEwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGZjLDB4MDAsMHhjYywweDkwLDB4MzcsMHgyMCB9fSwKLSB7MTYsIDB4ZGViMCwgMCwgezB4MGUsMHhmMCwweDEzLDB4YmQsMHgwNCwweGQ0LDB4YzEsMHgzMywweDJjLDB4NGMsMHhkOSwweDIzLDB4MzIsMHg2MCwweGZmLDB4MjAgfX0sCi0gezE2LCAweGRlYzAsIDAsIHsweDNkLDB4ZTAsMHg0ZiwweGMxLDB4MDMsMHhiNiwweDQwLDB4Y2QsMHgwMCwweDM3LDB4ZTAsMHgwYywweGUyLDB4OGIsMHgxMCwweGMwIH19LAotIHsxNiwgMHhkZWQwLCAwLCB7MHhjZCwweDAwLDB4MzMsMHhjNiwweDBmLDB4ZDgsMHgwMywweDMwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZGVlMCwgMCwgezB4ODAsMHgxMCwweGVlLDB4MDgsMHg4YSwweDIwLDB4MjIsMHgwMCwweDA4LDB4YjcsMHgwMiwweDJkLDB4MDAsMHg4YSwweDAwLDB4YjYgfX0sCi0gezE2LCAweGRlZjAsIDAsIHsweDNjLDB4MDgsMHg5OSwweDAyLDB4MjcsMHg4NCwweGJmLDB4NjgsMHgyZSwweDgyLDB4MGIsMHgwMSwweDAyLDB4MjQsMHg0MCwweGQ5IH19LAotIHsxNiwgMHhkZjAwLCAwLCB7MHg0MiwweDIwLDB4YzAsMHg4YSwweGFjLDB4MDIsMHgyZCwweGMyLDB4ODIsMHg0OCwweGEyLDB4ZDAsMHgwYiwweDgyLDB4MDIsMHgyMCB9fSwKLSB7MTYsIDB4ZGYxMCwgMCwgezB4MDYsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjYywweDAwLDB4ODgsMHgwNCwweDI2LDB4ODAgfX0sCi0gezE2LCAweGRmMjAsIDAsIHsweDJhLDB4MzAsMHhjMiwweGE1LDB4ODAsMHhhOSwweDIxLDB4MjgsMHgwMCwweDhhLDB4MDAsMHgwMiwweDAwLDB4MDAsMHhhMywweDEwIH19LAotIHsxNiwgMHhkZjMwLCAwLCB7MHgyYywweGM4LDB4MGIsMHgwMCwweDAyLDB4YzQsMHg5MCwweDgzLDB4NDIsMHgyNCwweGMxLDB4MDgsMHgwMCwweDAyLDB4NDAsMHg4OCB9fSwKLSB7MTYsIDB4ZGY0MCwgMCwgezB4YTMsMHg2MCwweGE4LDB4YzAsMHgwYiwweDAwLDB4YzIsMHgyMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGRmNTAsIDAsIHsweGMwLDB4MTUsMHhhYywweDA2LDB4OGEsMHgwMCwweDIyLDB4ZTAsMHg0OCwweGIwLDB4MDIsMHgyZSwweDAyLDB4YWIsMHg4MCwweDJlIH19LAotIHsxNiwgMHhkZjYwLCAwLCB7MHgyMCwweDRhLDB4OGMsMHgwMiwweDI2LDB4MjAsMHhiYiwweDAwLDB4NmUsMHg4MCwweDBiLDB4MzAsMHhjMiwweDQ2LDB4MDQsMHg5YiB9fSwKLSB7MTYsIDB4ZGY3MCwgMCwgezB4MGEsMHhhMiwweGMwLDB4MGEsMHg4MCwweDEyLDB4NmMsMHg0MCwweGE4LDB4MDAsMHgyYSwweGMwLDB4MGIsMHg4YywweDAyLDB4MzAgfX0sCi0gezE2LCAweGRmODAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDE1LDB4ZWMsMHgwMCwweGMxLDB4MDksMHgzNiwweDYxIH19LAotIHsxNiwgMHhkZjkwLCAwLCB7MHgwZSwweDMyLDB4MDMsMHhhYiwweDIwLDB4ZjgsMHg4NCwweDNhLDB4NzgsMHgyZSwweDk4LDB4MDMsMHgyNiwweDAwLDB4ZWIsMHgwMCB9fSwKLSB7MTYsIDB4ZGZhMCwgMCwgezB4M2UsMHg0MCwweDRmLDB4OTAsMHgwMywweGUyLDB4MDAsMHhjOSwweDQwLDB4MzYsMHhlMCwweDBjLDB4YjQsMHgwMywweDZlLDB4MDAgfX0sCi0gezE2LCAweGRmYjAsIDAsIHsweGViLDB4MDAsMHgzYSwweGMwLDB4MGYsMHg4OCwweDAzLDB4MTAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkZmMwLCAwLCB7MHhlMCwweDAxLDB4YmMsMHgwMCwweGZkLDB4MDAsMHgzZiwweDQwLDB4MGYsMHhmYSwweDEzLDB4ZjgsMHgxMCwweGRjLDB4MDQsMHgyNyB9fSwKLSB7MTYsIDB4ZGZkMCwgMCwgezB4NDAsMHgwZCwweDUwLDB4NDMsMHhmNCwweDAwLDB4ZmYsMHgwMCwweDNmLDB4NDAsMHgwZiwweGQ5LDB4MDMsMHhiMCwweDAwLDB4ZjkgfX0sCi0gezE2LCAweGRmZTAsIDAsIHsweDAxLDB4M2YsMHhmMCwweDBmLDB4ZjAsMHgyMywweGIyLDB4MDAsMHhkNCwweGEwLDB4MzcsMHhjMCwweDBmLDB4YzAsMHgwYiwweGY4IH19LAotIHsxNiwgMHhkZmYwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweGFjLDB4MjAsMHhlYiwweDEwLDB4ZjIsMHgwMCB9fSwKLSB7MTYsIDB4ZTAwMCwgMCwgezB4MGUsMHhiNCwweDAzLDB4MjEsMHg4MCwweGM5LDB4NDAsMHgzYSwweDQ4LDB4MGYsMHg5MCwweDEzLDB4ZTEsMHgyMCwweGZiLDB4MDAgfX0sCi0gezE2LCAweGUwMTAsIDAsIHsweDNlLDB4YzAsMHgwYywweDg0LDB4MDMsMHgyNCwweDAwLDB4ZmIsMHgwMSwweDM2LDB4ZTAsMHgwYywweDc0LDB4MGIsMHg5YywweDAwIH19LAotIHsxNiwgMHhlMDIwLCAwLCB7MHhjZiwweDAwLDB4MzIsMHhlMCwweDBmLDB4ODQsMHgwMywweGQwLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTAzMCwgMCwgezB4YzgsMHgwNSwweDFlLDB4MDAsMHg4YiwweDgwLDB4MjAsMHg0MCwweDA4LDB4YjgsMHgwMiwweDgzLDB4ODAsMHg4MSwweGEwLDB4MjIgfX0sCi0gezE2LCAweGUwNDAsIDAsIHsweDc4LDB4MGIsMHg5MSwweDgzLDB4ZTMsMHgwMCwweGJmLDB4MDAsMHgwZSwweGMxLDB4MGEsMHhiNCwweDAzLDB4NjQsMHgwNCwweGI5IH19LAotIHsxNiwgMHhlMDUwLCAwLCB7MHg1MCwweDMyLDB4YzAsMHgwYSwweGIyLDB4MDIsMHgyMCwweDAwLDB4ODgsMHgwMCwweDIzLDB4ZDQsMHgwYiwweDg4LDB4MDIsMHhmMiB9fSwKLSB7MTYsIDB4ZTA2MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg0YywweDQyLDB4YTAsMHg4MCwweDIwLDB4MDAgfX0sCi0gezE2LCAweGUwNzAsIDAsIHsweDQ4LDB4MDAsMHgwMiwweDBkLDB4MDYsMHg4MCwweDgwLDB4MmEsMHhkMCwweDAzLDB4MDAsMHgwMiwweGM4LDB4MDAsMHhiMywweDAwIH19LAotIHsxNiwgMHhlMDgwLCAwLCB7MHgyYywweGMwLDB4MDgsMHgzNiwweDAyLDB4NDAsMHgwMCwweGI5LDB4MDIsMHgyMiwweGMyLDB4OGIsMHgyNiwweDAyLDB4MGMsMHgxMCB9fSwKLSB7MTYsIDB4ZTA5MCwgMCwgezB4MDEsMHgwMiwweDI0LDB4YzAsMHg0YiwweGExLDB4MDIsMHhmOCwweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUwYTAsIDAsIHsweDIwLDB4MDEsMHgxZSwweDA4LDB4OGUsMHg4MCwweDIxLDB4MjEsMHgwOCwweDI4LDB4YzIsMHg5ZSwweDAwLDB4OGUsMHg4MCwweDIxIH19LAotIHsxNiwgMHhlMGIwLCAwLCB7MHg2MCwweDBiLDB4NzgsMHgwMiwweDllLDB4MjAsMHhiNywweDgyLDB4MmYsMHhhMSwweDBhLDB4NzgsMHgwMiwweDVlLDB4MDAsMHhiNSB9fSwKLSB7MTYsIDB4ZTBjMCwgMCwgezB4OTEsMHhhMSwweGUwLDB4MGIsMHgyOSwweDAyLDB4MzIsMHg0NCwweDg2LDB4ODAsMHhhNSwweGUwLDB4MGIsMHg0YywweDAyLDB4YzggfX0sCi0gezE2LCAweGUwZDAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MGMsMHgwMCwweGUxLDB4MDAsMHgyMiwweDgwIH19LAotIHsxNiwgMHhlMGUwLCAwLCB7MHgwZSwweDAwLDB4MGIsMHgyNCwweDAwLDB4YzAsMHg0NCwweDI4LDB4YWQsMHgwZiwweDIwLDB4MDIsMHhjOCwweDAwLDB4ZjMsMHgwMCB9fSwKLSB7MTYsIDB4ZTBmMCwgMCwgezB4MWMsMHhjMCwweDBjLDB4MDEsMHgwMywweDQ4LDB4NGMsMHhmMiwweDA0LDB4MzAsMHhjMCwweDBmLDB4MTUsMHgwMywweDgwLDB4NDAgfX0sCi0gezE2LCAweGUxMDAsIDAsIHsweGMxLDB4MDAsMHgxNCwweGM4LDB4MGYsMHgwMCwweDAzLDB4ZGEsMHgwMiwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMTEwLCAwLCB7MHg0MCwweDFkLDB4OWMsMHg0MCwweGY3LDB4MDAsMHgzZiwweGMwLDB4OGYsMHhjMCwweDAzLDB4ZTQsMHgwMCwweGZhLDB4MDEsMHgzZiB9fSwKLSB7MTYsIDB4ZTEyMCwgMCwgezB4YzAsMHgwZiwweGYwLDB4MjMsMHhmYywweDA4LDB4ZmIsMHgwMCwweDNmLDB4ODAsMHgwZiwweGYwLDB4MDEsMHhmYywweDEwLDB4ZmYgfX0sCi0gezE2LCAweGUxMzAsIDAsIHsweDAwLDB4M2YsMHhjMCwweDBlLDB4ZDEsMHgwMywweGZjLDB4NDIsMHhmZSwweDgwLDB4M2IsMHhjMCwweDBmLDB4YzAsMHgwMywweGQwIH19LAotIHsxNiwgMHhlMTQwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGVjLDB4NDAsMHhjOCwweDAwLDB4M2UsMHhjMCB9fSwKLSB7MTYsIDB4ZTE1MCwgMCwgezB4MGYsMHg5MCwweDAzLDB4ZWUsMHgwOCwweGNiLDB4MDAsMHgzMiwweGMwLDB4MGYsMHhhMCwweDIzLDB4ZTYsMHgwMywweGNiLDB4NGMgfX0sCi0gezE2LCAweGUxNjAsIDAsIHsweDMyLDB4NDAsMHgwZiwweGIwLDB4MDcsMHhlOCwweDAwLDB4ZjksMHgwMCwweDE2LDB4NDAsMHgwYywweGEwLDB4MGIsMHg2YywweDAwIH19LAotIHsxNiwgMHhlMTcwLCAwLCB7MHhjZiwweDAyLDB4MzIsMHhjNSwweDBjLDB4ODAsMHgwMywweDAyLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTE4MCwgMCwgezB4NDgsMHgxMSwweDljLDB4ODAsMHg4NCwweDA0LDB4MmQsMHhjMSwweDBiLDB4NDAsMHg0MCwweGRjLDB4MDAsMHg4NywweDA0LDB4MjEgfX0sCi0gezE2LCAweGUxOTAsIDAsIHsweGMwLDB4NGIsMHg3MCwweDEyLDB4ZmMsMHgwMSwweDhmLDB4NjAsMHgyOSwweDQwLDB4MGIsMHg3MCwweDEzLDB4OWMsMHgwMCwweGI1IH19LAotIHsxNiwgMHhlMWEwLCAwLCB7MHgwMCwweGEzLDB4NDAsMHgwYSwweDYwLDB4MDIsMHgwMCwweDAwLDB4ODQsMHgwMCwweDIxLDB4YzAsMHgwOCwweDQwLDB4MDIsMHgxMiB9fSwKLSB7MTYsIDB4ZTFiMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHg4ZSwweDAwLDB4ODcsMHg4MCwweDJkLDB4YTIgfX0sCi0gezE2LCAweGUxYzAsIDAsIHsweDBiLDB4NGMsMHgxNiwweGQ2LDB4MDgsMHg5NywweDg4LDB4MjEsMHhhMCwweDRiLDB4NjgsMHgwMiwweGRlLDB4MDQsMHhhNywweDgwIH19LAotIHsxNiwgMHhlMWQwLCAwLCB7MHgyMSwweGUwLDB4MGIsMHg0OCwweDAyLDB4ZGEsMHgwNCwweGI2LDB4ODIsMHgyNSwweDYwLDB4MGEsMHhlOCwweDYyLDB4MWUsMHgwMCB9fSwKLSB7MTYsIDB4ZTFlMCwgMCwgezB4ODcsMHg4MCwweDIwLDB4ZTgsMHgwOCwweDQ4LDB4MDIsMHgwOCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUxZjAsIDAsIHsweDQ4LDB4MTQsMHhjYywweDAwLDB4OGIsMHg4MCwweDZjLDB4ZjAsMHgwYiwweDNjLDB4MDIsMHhjZSwweDQ2LDB4OWIsMHhjMCwweDIwIH19LAotIHsxNiwgMHhlMjAwLCAwLCB7MHhlNCwweDBiLDB4M2MsMHgwMiwweGNjLDB4MjAsMHhhMywweDAwLDB4MjgsMHhlMCwweDBiLDB4MzAsMHgwMiwweDhkLDB4ODAsMHhiMSB9fSwKLSB7MTYsIDB4ZTIxMCwgMCwgezB4ODAsMHgyMiwweDQ0LDB4MGEsMHgyMSwweDBhLDB4MDMsMHg4MiwweDgwLDB4ODAsMHhhMCwweGMwLDB4MDgsMHgwNiwweDBhLDB4MTIgfX0sCi0gezE2LCAweGUyMjAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YTgsMHgwMiwweGNlLDB4ODAsMHgzZiwweGEwIH19LAotIHsxNiwgMHhlMjMwLCAwLCB7MHgwZiwweGUwLDB4MDMsMHhmYSwweDQwLDB4ZGUsMHhjMCwweGIzLDB4OTAsMHgwZiwweGVhLDB4MTMsMHhmOSwweDA4LDB4ZWEsMHgwNCB9fSwKLSB7MTYsIDB4ZTI0MCwgMCwgezB4MzMsMHg4MiwweDhmLDB4ZTQsMHgwMywweGZiLDB4MDgsMHhmZSwweGEwLDB4MzYsMHhhMCwweDBjLDB4YWMsMHgwYiwweDZiLDB4ODIgfX0sCi0gezE2LCAweGUyNTAsIDAsIHsweGM2LDB4YTAsMHgzMiwweDgwLDB4MmMsMHhlNCwweDAzLDB4M2EsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMjYwLCAwLCB7MHg0OCwweDAwLDB4ZTAsMHgwMCwweGY4LDB4OTAsMHgzZSwweDAyLDB4MGYsMHg4MCwweDgzLDB4ZTEsMHgwMCwweGU4LDB4MjAsMHgzZSB9fSwKLSB7MTYsIDB4ZTI3MCwgMCwgezB4MDMsMHgwZiwweDgyLDB4MDMsMHhlMSwweDQwLDB4ZDgsMHgwMCwweDNlLDB4MjAsMHgwZiwweDAwLDB4OTMsMHhhMCwweDQwLDB4ZjggfX0sCi0gezE2LCAweGUyODAsIDAsIHsweDAwLDB4M2UsMHgxMCwweDhmLDB4MDgsMHgwYiwweGYwLDB4MDAsMHhmYywweDAwLDB4M2UsMHgwMCwweDBmLDB4ODAsMHgwMywweGQyIH19LAotIHsxNiwgMHhlMjkwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGU0LDB4MDAsMHhlOSwweDAwLDB4MzYsMHg0MCB9fSwKLSB7MTYsIDB4ZTJhMCwgMCwgezB4MGYsMHg5NCwweDA3LDB4ZTYsMHgwMCwweGY5LDB4ODAsMHhiMCwweDQwLDB4MGMsMHg5NCwweDAzLDB4ZTQsMHg0MCwweGY5LDB4MDAgfX0sCi0gezE2LCAweGUyYjAsIDAsIHsweDMyLDB4NDAsMHgwZiwweDk0LDB4MGIsMHhhNCwweDAwLDB4NzEsMHhjMCwweDMyLDB4NDAsMHgyYywweDk0LDB4MjMsMHgyNCwweDAyIH19LAotIHsxNiwgMHhlMmMwLCAwLCB7MHhjOSwweDAwLDB4MzIsMHg0MCwweDBjLDB4OTAsMHgwMywweDAyLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTJkMCwgMCwgezB4ODAsMHgwNCwweDQ0LDB4MDAsMHg4OSwweDAwLDB4MjIsMHg0MCwweDBiLDB4OTgsMHgwMiwweGU2LDB4NjAsMHhiOSwweDAwLDB4MjIgfX0sCi0gezE2LCAweGUyZTAsIDAsIHsweDYwLDB4MGEsMHg5YywweDAyLDB4ZTYsMHgyNCwweGI5LDB4MDQsMHgzNiwweDQwLDB4MGIsMHg5OCwweDAwLDB4MjQsMHgwMCwweGI5IH19LAotIHsxNiwgMHhlMmYwLCAwLCB7MHg4MCwweGEyLDB4NTIsMHgwOCwweDkwLDB4MDIsMHgyNCwweDAwLDB4ODksMHg0MCwweDIyLDB4NDAsMHg2OCwweDk0LDB4MDIsMHgyMCB9fSwKLSB7MTYsIDB4ZTMwMCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHgyNCwweDAwLDB4YTksMHgwMCwweDI2LDB4NDAgfX0sCi0gezE2LCAweGUzMTAsIDAsIHsweDAzLDB4OTQsMHgwMiwweGU0LDB4MDEsMHhiOSwweDEwLDB4MjIsMHg1NSwweDA4LDB4OTAsMHgyMiwweGU0LDB4MDAsMHhiMSwweDAwIH19LAotIHsxNiwgMHhlMzIwLCAwLCB7MHgyNiwweDQwLDB4MGIsMHg5MCwweDAwLDB4MmMsMHgwOSwweGI5LDB4MDAsMHgyMiwweDYwLDB4MDgsMHg5MCwweDBhLDB4MWMsMHgwNCB9fSwKLSB7MTYsIDB4ZTMzMCwgMCwgezB4OGQsMHgwOCwweGEwLDB4NDAsMHgwOCwweDEwLDB4ODIsMHgwZSwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUzNDAsIDAsIHsweDA4LDB4MDQsMHgwNiwweDAwLDB4ODEsMHgwMCwweDIwLDB4NTAsMHgwYiwweDEyLDB4NDIsMHhjNCwweDgwLDB4YjEsMHgwNCwweDIwIH19LAotIHsxNiwgMHhlMzUwLCAwLCB7MHg1MCwweDBhLDB4MTQsMHgwMiwweGM1LDB4MDAsMHhiMSwweDIyLDB4MjQsMHg0MCwweDBiLDB4MTIsMHgyMiwweDA0LDB4MDEsMHhiMSB9fSwKLSB7MTYsIDB4ZTM2MCwgMCwgezB4NDAsMHgyMCwweDUwLDB4MDgsMHgxMCwweDBhLDB4MTUsMHgwMCwweDg1LDB4NDAsMHgyOCwweDUwLDB4MDgsMHgxNCwweDBhLDB4MGEgfX0sCi0gezE2LCAweGUzNzAsIDAsIHsweDA1LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjAsMHgwMCwweGU4LDB4NTAsMHgzNiwweDAwIH19LAotIHsxNiwgMHhlMzgwLCAwLCB7MHgwZiwweDg1LDB4MDIsMHhlMSwweDQwLDB4ZjgsMHg1MCwweDMyLDB4MDAsMHgwYywweGEwLDB4MjMsMHhlMCwweDEwLDB4ZjgsMHg1MCB9fSwKLSB7MTYsIDB4ZTM5MCwgMCwgezB4YjIsMHgxNCwweDBmLDB4YTUsMHgwMywweGExLDB4NDgsMHhmYSwweDAwLDB4YjIsMHgwMCwweDBjLDB4ODAsMHgwMywweDIwLDB4MDQgfX0sCi0gezE2LCAweGUzYTAsIDAsIHsweGM0LDB4MDIsMHgzMiwweDAwLDB4MGMsMHgwMCwweDAzLDB4MmUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlM2IwLCAwLCB7MHg5OCwweDFkLDB4ZTUsMHgwMCwweGZkLDB4MDAsMHgzZiwweDQwLDB4MGYsMHhkMSwweDAzLDB4ZDQsMHg0NCwweGY1LDB4MDAsMHgzZiB9fSwKLSB7MTYsIDB4ZTNjMCwgMCwgezB4NTEsMHgwZiwweGQ0LDB4MDMsMHhmNSwweDAwLDB4ZjksMHgxMCwweDNiLDB4NDAsMHgwZiwweGQxLDB4MDAsMHhmNSwweDEwLDB4ZjUgfX0sCi0gezE2LCAweGUzZDAsIDAsIHsweDQwLDB4N2YsMHg0MCwweDBmLDB4NTQsMHgyYiwweGU1LDB4MDAsMHhmOSwweDQwLDB4MzYsMHg1MCwweDBmLDB4ZDAsMHgwMywweGU2IH19LAotIHsxNiwgMHhlM2UwLCAwLCB7MHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweGY2LDB4MTAsMHhiZCwweDQwLDB4MzMsMHg0MCB9fSwKLSB7MTYsIDB4ZTNmMCwgMCwgezB4MGYsMHhkYSwweDAzLDB4MzcsMHg4MCwweGNkLDB4MDAsMHgzZiwweDQwLDB4MGYsMHhkMCwweDAzLDB4ZjQsMHgwMCwweGU5LDB4YTAgfX0sCi0gezE2LCAweGU0MDAsIDAsIHsweDNlLDB4NDAsMHgwYywweGRlLDB4MTcsMHhhNCwweDA4LDB4ZmQsMHhjMCwweDMzLDB4NDEsMHg4ZCwweGRhLDB4MTMsMHgyNiwweGEwIH19LAotIHsxNiwgMHhlNDEwLCAwLCB7MHhmOSwweGE4LDB4MzIsMHg3OCwweDBjLDB4YjQsMHgwYiwweDA2LDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTQyMCwgMCwgezB4MzgsMHgxMCwweGUxLDB4MDAsMHhiOCwweGEwLDB4MzYsMHgyMCwweDBiLDB4OGEsMHg4MiwweGEyLDB4ODAsMHgyYSwweGE4LDB4MmUgfX0sCi0gezE2LCAweGU0MzAsIDAsIHsweDAwLDB4MGIsMHg4MCwweDEyLDB4ZTAsMHgwNCwweGI4LDB4YTEsMHgyZSwweDI4LDB4NGEsMHg4ZSwweDAyLDB4MmEsMHhhMCwweGJhIH19LAotIHsxNiwgMHhlNDQwLCAwLCB7MHhjMCwweDIyLDB4MjgsMHgwOCwweDg1LDB4MDIsMHgyMSwweDA4LDB4YjgsMHhlOCwweGEyLDB4M2MsMHgwOCwweGM4LDB4MDIsMHgwZSB9fSwKLSB7MTYsIDB4ZTQ1MCwgMCwgezB4MDYsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhjNSwweDAwLDB4YjksMHgwMCwweDIwLDB4NGEgfX0sCi0gezE2LCAweGU0NjAsIDAsIHsweDBiLDB4MTQsMHgwMiwweDA1LDB4ODAsMHgwMSwweDAwLDB4MmMsMHg0MSwweDBiLDB4MTAsMHgwMiwweGM0LDB4MDQsMHhhMSwweDRhIH19LAotIHsxNiwgMHhlNDcwLCAwLCB7MHgyZSwweDQyLDB4MDgsMHgxNCwweDAyLDB4ODQsMHgxMCwweGIxLDB4NjAsMHhhMCwweDRhLDB4MDksMHgxMCwweDAyLDB4NDQsMHgwMCB9fSwKLSB7MTYsIDB4ZTQ4MCwgMCwgezB4YjUsMHgwMSwweDI5LDB4NDAsMHgxOCwweGQyLDB4MDIsMHgxMiwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU0OTAsIDAsIHsweDE4LDB4MTUsMHhhNCwweDAwLDB4YjksMHgyMSwweDI2LDB4NDAsMHgwYiwweDk2LDB4MDIsMHhhNCwweDEwLDB4YTksMHgwMCwweDJlIH19LAotIHsxNiwgMHhlNGEwLCAwLCB7MHg0MCwweDBiLDB4OTYsMHgxMiwweGU0LDB4MjAsMHhiOSwweDAwLDB4MmUsMHg0MSwweDBhLDB4OTAsMHg0MiwweDI0LDB4MDAsMHhiOSB9fSwKLSB7MTYsIDB4ZTRiMCwgMCwgezB4MDAsMHgyMiwweDQxLDB4MDgsMHg5OCwweDIyLDB4NjQsMHgwMCwweGI5LDB4MjAsMHgyYiwweDQxLDB4MjgsMHhkNCwweDAyLDB4MDYgfX0sCi0gezE2LCAweGU0YzAsIDAsIHsweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDExLDB4ZTQsMHgwMCwweGY5LDB4ZTAsMHgzMiwweDU4IH19LAotIHsxNiwgMHhlNGQwLCAwLCB7MHgwZiwweDk4LDB4MDMsMHgyNiwweDQwLDB4YzksMHg0MCwweDNlLDB4NTgsMHgwZiwweDljLDB4MDMsMHhlNCwweDAwLDB4ZTksMHgwMCB9fSwKLSB7MTYsIDB4ZTRlMCwgMCwgezB4NmUsMHg0MCwweDBjLDB4OWEsMHgwMiwweGE2LDB4MDAsMHhmOSwweDQ0LDB4MzIsMHg0MCwweDBkLDB4OWEsMHgwYiwweDY0LDB4ODQgfX0sCi0gezE2LCAweGU0ZjAsIDAsIHsweGY5LDB4MDAsMHhiYSwweDQwLDB4MGMsMHgxOCwweDAzLDB4MjgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNTAwLCAwLCB7MHgyOCwweDAxLDB4YTQsMHgwMCwweGY5LDB4MDAsMHgzZSwweDUwLDB4MGYsMHg5MCwweDAzLDB4ZTYsMHgwMCwweGY5LDB4MDQsMHgzZSB9fSwKLSB7MTYsIDB4ZTUxMCwgMCwgezB4NDgsMHgwZiwweDkwLDB4MDMsMHhlNCwweDQwLDB4ZjksMHgwMCwweDNlLDB4NjUsMHgwZiwweDk5LDB4ODEsMHhlNCwweDUwLDB4ZjkgfX0sCi0gezE2LCAweGU1MjAsIDAsIHsweDIwLDB4M2UsMHg0MCwweDhmLDB4OTAsMHgwMywweGE0LDB4ODAsMHhmOSwweDAwLDB4MzQsMHg0MCwweDBmLDB4OTIsMHgwMywweGQyIH19LAotIHsxNiwgMHhlNTMwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxMCwweGEwLDB4MDAsMHhmOCwweDQwLDB4M2UsMHgxMCB9fSwKLSB7MTYsIDB4ZTU0MCwgMCwgezB4MGUsMHg4NCwweDAzLDB4NjAsMHgwOCwweGM4LDB4MDAsMHgzZSwweDA4LDB4MGYsMHg4MCwweDgzLDB4ZTAsMHgyOCwweGU4LDB4MDQgfX0sCi0gezE2LCAweGU1NTAsIDAsIHsweDNlLDB4MDAsMHgwYywweDg0LDB4MDMsMHgyMSwweDFjLDB4ZjAsMHg0OCwweDMyLDB4MDAsMHgwYiwweDAwLDB4MDMsMHhlMCwweDAyIH19LAotIHsxNiwgMHhlNTYwLCAwLCB7MHhjMCwweDAwLDB4MzIsMHgwMCwweDBjLDB4YzAsMHgwYiwweDAyLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTU3MCwgMCwgezB4MjgsMHgwNSwweDM4LDB4MDAsMHhiMiwweDg4LDB4MmUsMHg4MCwweDA4LDB4ZTAsMHgwMywweDdhLDB4ODAsMHg4ZSwweDAwLDB4MmYgfX0sCi0gezE2LCAweGU1ODAsIDAsIHsweGEwLDB4MGIsMHhlOCwweDAyLDB4ZjksMHgxMCwweGJhLDB4MDAsMHgyYywweDgwLDB4MjgsMHhlNCwweDAyLDB4MjgsMHgwMCwweGJlIH19LAotIHsxNiwgMHhlNTkwLCAwLCB7MHg0MCwweDIzLDB4YjgsMHgwOCwweGU4LDB4MDIsMHhlOCwweDA0LDB4Y2EsMHgyMCwweGEyLDB4ODAsMHgwOCwweGU4LDB4MDIsMHgwYSB9fSwKLSB7MTYsIDB4ZTVhMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg0YywweDAxLDB4YjMsMHgwMCwweDJjLDB4NDAgfX0sCi0gezE2LCAweGU1YjAsIDAsIHsweDA4LDB4YjgsMHg0MiwweDZjLDB4MDIsMHg4MywweDAwLDB4MmMsMHhlMCwweDBiLDB4MzgsMHgwMCwweGNmLDB4NDAsMHhiMywweDAwIH19LAotIHsxNiwgMHhlNWMwLCAwLCB7MHgyYywweGMwLDB4MDgsMHhiNCwweDBhLDB4MGMsMHgwMCwweGIzLDB4NDAsMHhhMiwweDgyLDB4MGEsMHgzOSwweDAyLDB4Y2MsMHgwMCB9fSwKLSB7MTYsIDB4ZTVkMCwgMCwgezB4OTMsMHg4MCwweGEwLDB4YzAsMHgyOSwweDIwLDB4MDIsMHgwYSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU1ZTAsIDAsIHsweGEwLDB4MDEsMHgxZCwweDAwLDB4YjcsMHgwMCwweDJkLDB4NjQsMHgyOCwweDc0LDB4MDIsMHg0MCwweDAwLDB4ODcsMHgwNSwweDJkIH19LAotIHsxNiwgMHhlNWYwLCAwLCB7MHg5MCwweDBiLDB4NzQsMHgwMiwweGRjLDB4MTAsMHhiNywweDMwLDB4MmQsMHhjOCwweDA4LDB4MzQsMHgwNiwweDFjLDB4ODAsMHhiNyB9fSwKLSB7MTYsIDB4ZTYwMCwgMCwgezB4MDAsMHhhMSwweGMwLDB4MGEsMHg3MCwweDAyLDB4ZGUsMHg4MCwweDgzLDB4MDAsMHgwMSwweDAwLDB4MDksMHg2MCwweDgyLDB4MjAgfX0sCi0gezE2LCAweGU2MTAsIDAsIHsweDA0LDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MWEsMHgwMCwweGY3LDB4ODAsMHgzZCwweDYwIH19LAotIHsxNiwgMHhlNjIwLCAwLCB7MHgwZSwweGQ4LDB4MGIsMHg1ZSwweDAwLDB4YzcsMHg4MCwweDNkLDB4ZTAsMHgwZiwweDY4LDB4MDMsMHhkZSwweDEwLDB4ZjcsMHhhOSB9fSwKLSB7MTYsIDB4ZTYzMCwgMCwgezB4N2YsMHhlOCwweDQ4LDB4NzgsMHgwMywweDFmLDB4MzAsMHhmZiwweDk0LDB4MzMsMHhhMCwweDBlLDB4NzgsMHgwMywweGNmLDB4MjQgfX0sCi0gezE2LCAweGU2NDAsIDAsIHsweGQ2LDB4ODAsMHhiMSwweGUwLDB4MGQsMHhmOCwweDQzLDB4MjIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNjUwLCAwLCB7MHgwOCwweDFkLDB4YWMsMHgwMCwweGJiLDB4MDAsMHgwYywweDQwLDB4MGYsMHhiMCwweDAzLDB4ZWMsMHgwOCwweGY5LDB4MDAsMHgzZSB9fSwKLSB7MTYsIDB4ZTY2MCwgMCwgezB4MDAsMHgwZiwweDkwLDB4NDEsMHhlYywweDAwLDB4ZmIsMHg2MSwweDdlLDB4ZDAsMHgwZiwweGIwLDB4MDMsMHhlYywweDgwLDB4ZmIgfX0sCi0gezE2LCAweGU2NzAsIDAsIHsweDQwLDB4M2YsMHg5YiwweDBjLDB4YjAsMHgwMywweGVkLDB4OTAsMHhmYSwweDAwLDB4M2MsMHgwMCwweDBlLDB4YjAsMHgwMywweGMyIH19LAotIHsxNiwgMHhlNjgwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweGRlLDB4MDAsMHhlZiwweDgwLDB4MzMsMHg2MCB9fSwKLSB7MTYsIDB4ZTY5MCwgMCwgezB4MGQsMHhkOCwweDAzLDB4MzYsMHg0MCwweGVmLDB4OTAsMHgzZSwweGUwLDB4MGYsMHhmOSwweDAzLDB4ZmUsMHgwMCwweGZmLDB4ODAgfX0sCi0gezE2LCAweGU2YTAsIDAsIHsweDMzLDB4ZmUsMHgwYywweGZhLDB4MDMsMHhmZSwweDAwLDB4Y2YsMHg4MCwweGIzLDB4ZTAsMHgwZiwweGY4LDB4MDMsMHhmZSwweDAwIH19LAotIHsxNiwgMHhlNmIwLCAwLCB7MHhjZCwweDgwLDB4MzMsMHhlMCwweDBmLDB4YzgsMHg0MywweGMwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTZjMCwgMCwgezB4YTgsMHgxMSwweDljLDB4MDAsMHg4NSwweDA4LDB4MzUsMHg0MCwweDA4LDB4NzAsMHgwMywweDUyLDB4MjAsMHg4NywweDExLDB4MmMgfX0sCi0gezE2LCAweGU2ZDAsIDAsIHsweGVjLDB4MGIsMHg3MSwweDAyLDB4ZDAsMHgwMCwweGU3LDB4MDAsMHgzNSwweGM0LDB4MDgsMHg3NCwweDAyLDB4ZGMsMHg0MCwweDg3IH19LAotIHsxNiwgMHhlNmUwLCAwLCB7MHgxMCwweDIxLDB4YzAsMHgwYiwweDcwLDB4MDIsMHhmYywweDgwLDB4ODUsMHgwOCwweDIxLDB4MDAsMHgwYiwweDQxLDB4ODIsMHhlYSB9fSwKLSB7MTYsIDB4ZTZmMCwgMCwgezB4MDYsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5OCwweDAwLDB4YWYsMHgwMCwweDIzLDB4NTAgfX0sCi0gezE2LCAweGU3MDAsIDAsIHsweDA5LDB4NTAsMHgwMiwweDFjLDB4ODAsMHhhNywweDAxLDB4MjksMHhjMCwweDFiLDB4NjAsMHgwNiwweGRjLDB4NDAsMHhiNywweDEwIH19LAotIHsxNiwgMHhlNzEwLCAwLCB7MHgyMSwweGM4LDB4NGEsMHg1MiwweDAyLDB4ZGMsMHgwMCwweDgzLDB4MDAsMHgyMSwweGMwLDB4MGIsMHg3MCwweDAyLDB4ZGMsMHgxMyB9fSwKLSB7MTYsIDB4ZTcyMCwgMCwgezB4ODQsMHgwMCwweDI1LDB4YzAsMHgwYiwweDU4LDB4MDIsMHhjMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU3MzAsIDAsIHsweDIwLDB4MTQsMHhjYywweDAwLDB4ODEsMHg4MCwweDI0LDB4NDAsMHgwOCwweDNlLDB4MDIsMHg2ZSwweDAwLDB4ODksMHgwMCwweDJjIH19LAotIHsxNiwgMHhlNzQwLCAwLCB7MHhjMCwweDBiLDB4YjQsMHgwMiwweGNhLDB4ODAsMHhhMywweDAwLDB4MjQsMHhjMCwweDBhLDB4MDQsMHgwMiwweGVjLDB4NDAsMHg4MiB9fSwKLSB7MTYsIDB4ZTc1MCwgMCwgezB4MGEsMHgyMCwweGMwLDB4MGIsMHgzMCwweDAyLDB4Y2QsMHgxMCwweDgwLDB4YzAsMHhhNCwweDAwLDB4MGIsMHgxYywweDAyLDB4YzggfX0sCi0gezE2LCAweGU3NjAsIDAsIHsweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4ODQsMHgwMCwweGViLDB4ODAsMHgzMywweDQwIH19LAotIHsxNiwgMHhlNzcwLCAwLCB7MHgwZCwweDhjLDB4ODMsMHgyNiwweDAwLDB4ZTksMHhhMCwweDNlLDB4NzgsMHg4ZiwweDkwLDB4ODMsMHhlMSwweDAwLDB4ZmYsMHgwMCB9fSwKLSB7MTYsIDB4ZTc4MCwgMCwgezB4MzEsMHhkMSwweDBlLDB4ODQsMHgyMywweGZjLDB4MDAsMHhjYiwweDgyLDB4MzIsMHhjMCwweDhmLDB4YjAsMHgwMiwweGZkLDB4NDAgfX0sCi0gezE2LCAweGU3OTAsIDAsIHsweGNiLDB4ODAsMHhiNiwweGMwLDB4MGYsMHhhNCwweDAzLDB4ZWEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlN2EwLCAwLCB7MHg4MCwweDAwLDB4ZWMsMHgwMCwweGZiLDB4MDAsMHgzZSwweDQwLDB4MGYsMHhhMCwweDAzLDB4ZTAsMHgwMCwweGY5LDB4MDEsMHgzZSB9fSwKLSB7MTYsIDB4ZTdiMCwgMCwgezB4NDIsMHgwZiwweDkwLDB4MDMsMHhlNSwweDU0LDB4ZTMsMHgwMCwweDNlLDB4YzgsMHgwNSwweDkzLDB4MDMsMHhlYywweDgwLDB4ZmIgfX0sCi0gezE2LCAweGU3YzAsIDAsIHsweGMxLDB4M2UsMHhjMCwweDBmLDB4MjAsMHgwMywweGNjLDB4NDgsMHhmMywweDA4LDB4M2EsMHgwMCwweDBmLDB4YTAsMHg0MywweGUwIH19LAotIHsxNiwgMHhlN2QwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGYwLDB4MDAsMHhjZiwweDAwLDB4M2YsMHg0MCB9fSwKLSB7MTYsIDB4ZTdlMCwgMCwgezB4MGYsMHgzMCwweDAxLDB4MmMsMHgwYSwweGNkLDB4MTAsMHgzMywweDAwLDB4MGYsMHhkMCwweDgzLDB4MTQsMHgwMCwweGNiLDB4MDIgfX0sCi0gezE2LCAweGU3ZjAsIDAsIHsweDMzLDB4YzAsMHgwYywweGUxLDB4MDMsMHhlYywweDEwLDB4Y2QsMHgwMCwweDMzLDB4YzAsMHgwYywweGYwLDB4MzMsMHgzYywweDAwIH19LAotIHsxNiwgMHhlODAwLCAwLCB7MHhlYSwweDAwLDB4MzMsMHhjMCwweDBjLDB4ZjAsMHg4MywweGM4LDB4NDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTgxMCwgMCwgezB4ODEsMHgwNCwweDZlLDB4MDAsMHg4YiwweDAwLDB4MmUsMHg0MCwweDBiLDB4YmMsMHgwMiwweDJlLDB4MDAsMHgwYiwweDAwLDB4MjIgfX0sCi0gezE2LCAweGU4MjAsIDAsIHsweDMwLDB4MGIsMHg5YywweDAyLDB4MjcsMHg4MCwweGFiLDB4MDAsMHgyYSwweGMwLDB4MDgsMHhiOCwweDAyLDB4ZWMsMHgwMCwweDg5IH19LAotIHsxNiwgMHhlODMwLCAwLCB7MHhjMCwweDIwLDB4ZTAsMHgwOCwweGFlLDB4MDIsMHgyYywweDA4LDB4OGEsMHgwMCwweDIyLDB4MDAsMHgwOCwweGIwLDB4NDIsMHhlOCB9fSwKLSB7MTYsIDB4ZTg0MCwgMCwgezB4NDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgyZSwweDAwLDB4OGIsMHgwNCwweDJlLDB4NDAgfX0sCi0gezE2LCAweGU4NTAsIDAsIHsweDhiLDB4OGMsMHgwMiwweGFlLDB4MTAsMHg4OSwweDAwLDB4MjIsMHg3MCwweDBiLDB4OGMsMHgwMiwweGEyLDB4MDAsMHg4YiwweDAxIH19LAotIHsxNiwgMHhlODYwLCAwLCB7MHgyMiwweGMwLDB4MDgsMHg4MCwweDAyLDB4ZWMsMHgxMCwweDgyLDB4ODgsMHhhMiwweDcwLDB4MDksMHhiOCwweDAyLDB4MmMsMHgwOCB9fSwKLSB7MTYsIDB4ZTg3MCwgMCwgezB4ODksMHgwMCwweDIwLDB4YzAsMHgyOCwweDgwLDB4MjIsMHhlMCwweDEwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU4ODAsIDAsIHsweDA4LDB4MDQsMHgwYywweDA0LDB4ODEsMHgwMCwweDJjLDB4NDAsMHgwYiwweDIwLDB4MDIsMHg4MCwweDAwLDB4ODEsMHgwNCwweGEwIH19LAotIHsxNiwgMHhlODkwLCAwLCB7MHg1MCwweDRiLDB4MDAsMHgwYSwweDgwLDB4MDAsMHhhMywweDAxLDB4MmEsMHhjMSwweDIwLDB4MTAsMHgwMiwweGNjLDB4MTQsMHg4MyB9fSwKLSB7MTYsIDB4ZThhMCwgMCwgezB4MDAsMHgyMiwweGMwLDB4MDgsMHgyMCwweDAyLDB4MGMsMHgwMCwweDgxLDB4MDAsMHhlMCwweDAwLDB4MDgsMHgwMCwweDAyLDB4YzIgfX0sCi0gezE2LCAweGU4YjAsIDAsIHsweDA1LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4NjgsMHgwMCwweGNiLDB4MDAsMHgzZSwweDQwIH19LAotIHsxNiwgMHhlOGMwLCAwLCB7MHgwZiwweDkwLDB4MGIsMHhhYywweDgwLDB4YzksMHgwMCwweDMyLDB4MTAsMHgwZiwweDgwLDB4MDMsMHhhNCwweDAwLDB4Y2YsMHgwMiB9fSwKLSB7MTYsIDB4ZThkMCwgMCwgezB4MzEsMHhjMCwweDBjLDB4ODAsMHgxMywweGZjLDB4MDIsMHhjZCwweDAwLDB4MzMsMHhjMCwweDJjLDB4OTAsMHgwMywweDNjLDB4MDIgfX0sCi0gezE2LCAweGU4ZTAsIDAsIHsweGU4LDB4MDAsMHhiMiwweGMwLDB4MGMsMHg5MCwweDAzLDB4YzAsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlOGYwLCAwLCB7MHhhMCwweDFkLDB4ZmMsMHgwMiwweGY1LDB4MDAsMHgzZCwweDQwLDB4OGYsMHhmMCwweDIzLDB4NmQsMHgwMCwweGZmLDB4MDAsMHgzZiB9fSwKLSB7MTYsIDB4ZTkwMCwgMCwgezB4MDQsMHgwZiwweGMwLDB4MDMsMHg3MCwweDFjLDB4ZmYsMHgwMSwweDNmLDB4YzAsMHg0ZiwweGMwLDB4MDMsMHhmYywweDAwLDB4ZmQgfX0sCi0gezE2LCAweGU5MTAsIDAsIHsweDAwLDB4M2YsMHhjMCwweDBmLDB4ZTAsMHgwZiwweGZjLDB4MTgsMHhmYywweDAwLDB4M2YsMHgwMCwweDBmLDB4ZDAsMHgwMywweGU4IH19LAotIHsxNiwgMHhlOTIwLCAwLCB7MHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGZlLDB4MDAsMHhkNywweDAyLDB4MGYsMHgzMCB9fSwKLSB7MTYsIDB4ZTkzMCwgMCwgezB4MGMsMHhmMiwweDAxLDB4N2UsMHgwNiwweDQ0LDB4MzAsMHgzZiwweDIwLDB4MGUsMHhmMCwweDAyLDB4N2MsMHg4NCwweGZkLDB4MjAgfX0sCi0gezE2LCAweGU5NDAsIDAsIHsweDI3LDB4MDgsMHgwYywweGQwLDB4MDEsMHgzNiwweDAwLDB4ZmYsMHg2MCwweDMzLDB4Y2MsMHgwYiwweGYxLDB4MTMsMHgyYywweGM0IH19LAotIHsxNiwgMHhlOTUwLCAwLCB7MHhmZiwweDMwLDB4MGYsMHhjZCwweDBjLDB4ZjQsMHgwMywweGYwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTk2MCwgMCwgezB4ODAsMHgxMCwweGVlLDB4MDAsMHg4ZiwweGMwLDB4MmUsMHgwMCwweDA4LDB4ZmMsMHgwMiwweDJlLDB4MDAsMHg4YSwweDMwLDB4MjggfX0sCi0gezE2LCAweGU5NzAsIDAsIHsweDUyLDB4MDgsMHhmNiwweDgyLDB4M2MsMHg2OCwweGJkLDB4OTAsMHgzMiwweDM0LDB4NDgsMHg5YywweDEyLDB4MjYsMHgwMCwweGNmIH19LAotIHsxNiwgMHhlOTgwLCAwLCB7MHg0MCwweDIzLDB4Y2MsMHgwYiwweGY2LDB4MDIsMHgzZCwweDAwLDB4YmYsMHgxMCwweDJmLDB4Y2MsMHg4OCwweGY2LDB4MDIsMHhlMCB9fSwKLSB7MTYsIDB4ZTk5MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjYywweDAwLDB4OTMsMHgxMCwweDJjLDB4MDggfX0sCi0gezE2LCAweGU5YTAsIDAsIHsweDA5LDB4MzEsMHgwMiwweDRjLDB4MDAsMHg5YiwweDIwLDB4NjQsMHg1OCwweDAzLDB4MzEsMHg2MiwweDRjLDB4ODEsMHhhMSwweDAwIH19LAotIHsxNiwgMHhlOWIwLCAwLCB7MHgyMCwweDAwLDB4NDgsMHgxNCwweDAyLDB4NDQsMHgwMCwweDkzLDB4MzAsMHgyNCwweGMwLDB4MGIsMHgzMywweDAyLDB4OGQsMHg4NCB9fSwKLSB7MTYsIDB4ZTljMCwgMCwgezB4YjMsMHgyMCwweDZjLDB4YzAsMHgyYSwweDM2LDB4MDIsMHhlMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU5ZDAsIDAsIHsweGMwLDB4MTUsMHhhYywweDEwLDB4OWIsMHgwMiwweDJlLDB4NDEsMHgwYiwweGIwLDB4MDIsMHhhNCwweDAwLDB4OWEsMHgwMCwweDRhIH19LAotIHsxNiwgMHhlOWUwLCAwLCB7MHg2MCwweDg4LDB4YjAsMHg1MiwweDZjLDB4MDEsMHhiOSwweDAwLDB4MjYsMHgwMCwweDA4LDB4OTEsMHgyMiwweGVjLDB4MDgsMHhiYiB9fSwKLSB7MTYsIDB4ZTlmMCwgMCwgezB4MDAsMHgyNiwweGMwLDB4MGIsMHhiMCwweDAyLDB4YWMsMHgwMCwweGJiLDB4MDUsMHg2ZSwweGMxLDB4MGEsMHhiMCwweDAyLDB4ZjAgfX0sCi0gezE2LCAweGVhMDAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDE1LDB4ZWMsMHgwMCwweGRiLDB4MDEsMHgzZSwweDMwIH19LAotIHsxNiwgMHhlYTEwLCAwLCB7MHgyZCwweDMwLDB4MDMsMHg0NywweDYwLDB4ZDgsMHhhMCwweDE2LDB4MzgsMHg4ZiwweGIwLDB4MDMsMHg2YywweDAwLDB4NzksMHgwMiB9fSwKLSB7MTYsIDB4ZWEyMCwgMCwgezB4MzEsMHg2MCwweDBjLDB4YzgsMHgwYSwweDY2LDB4MDAsMHhiYiwweDAwLDB4YjYsMHhjMCwweDBmLDB4YjAsMHgwYiwweGFjLDB4MDAgfX0sCi0gezE2LCAweGVhMzAsIDAsIHsweGZiLDB4MDEsMHgzZSwweGMxLDB4MGUsMHhiMCwweDAzLDB4ZDAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlYTQwLCAwLCB7MHhlMCwweDAxLDB4YmMsMHgxMCwweGVmLDB4MDgsMHgzZiwweDI0LDB4MGMsMHhmMCwweDAzLDB4NzYsMHgyMCwweGVlLDB4OTAsMHgzNSB9fSwKLSB7MTYsIDB4ZWE1MCwgMCwgezB4NDAsMHgwZSwweDcwLDB4MDMsMHhhYywweDAwLDB4ZmQsMHgwMCwweGJiLDB4NjQsMHgwZiwweDg4LDB4MTMsMHgzNCwweDgwLDB4Y2IgfX0sCi0gezE2LCAweGVhNjAsIDAsIHsweDAwLDB4M2IsMHhjMCwweDBmLDB4YjAsMHgwMywweDZjLDB4MDgsMHhmZiwweDAwLDB4M2UsMHhjMCwweDBkLDB4ZjAsMHgwMywweGY4IH19LAotIHsxNiwgMHhlYTcwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweGFjLDB4MDEsMHhmYiwweDgwLDB4MzIsMHgxMCB9fSwKLSB7MTYsIDB4ZWE4MCwgMCwgezB4MGUsMHhiMCwweDAzLDB4ZWQsMHgwMCwweGNiLDB4NTAsMHgzZSwweDQwLDB4OGMsMHhiMCwweDQzLDB4MmMsMHgxMCwweGY5LDB4MDAgfX0sCi0gezE2LCAweGVhOTAsIDAsIHsweDMyLDB4NjAsMHgwYywweDQwLDB4MGIsMHgyNiwweDAwLDB4YzMsMHgwNCwweDM2LDB4YzAsMHgwYywweDMwLDB4MDMsMHgyYywweDAwIH19LAotIHsxNiwgMHhlYWEwLCAwLCB7MHg5YiwweDAwLDB4YjAsMHhjMCwweDBjLDB4YjAsMHgwMywweGQwLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWFiMCwgMCwgezB4YzgsMHgwNSwweDBlLDB4ODAsMHhiZiwweDA0LDB4MmEsMHg0MCwweDAwLDB4ZjUsMHgwMCwweGU2LDB4MDAsMHg4MiwweGQyLDB4MjIgfX0sCi0gezE2LCAweGVhYzAsIDAsIHsweDQwLDB4MGQsMHhmMCwweDIyLDB4M2MsMHgwMCwweDk1LDB4MDIsMHgzNiwweDQwLDB4MGEsMHg4MCwweDAyLDB4MmUsMHgwMCwweDhmIH19LAotIHsxNiwgMHhlYWQwLCAwLCB7MHgwMCwweDM3LDB4YzAsMHgwYSwweGYwLDB4NDIsMHgzYywweDAwLDB4OGYsMHgwMCwweDIzLDB4YzAsMHgyOCwweGYwLDB4MDIsMHhmMiB9fSwKLSB7MTYsIDB4ZWFlMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg0ZSwweDAwLDB4YjMsMHgwMCwweDIyLDB4MjAgfX0sCi0gezE2LCAweGVhZjAsIDAsIHsweDRhLDB4MzAsMHgwMCwweGNjLDB4MDAsMHg4MSwweGMwLDB4MjgsMHgwMCwweDA4LDB4MzAsMHgwMiwweDBjLDB4MTAsMHhhMSwweDAwIH19LAotIHsxNiwgMHhlYjAwLCAwLCB7MHgyOCwweDgwLDB4MTgsMHgzMCwweDIyLDB4MDQsMHgwNCwweDgzLDB4MDAsMHgyNCwweGMwLDB4MDgsMHgzMCwweDAyLDB4Y2MsMHgwOCB9fSwKLSB7MTYsIDB4ZWIxMCwgMCwgezB4OTMsMHgwMCwweDIwLDB4YzAsMHgwOCwweDMwLDB4MDYsMHhmOCwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGViMjAsIDAsIHsweDIwLDB4MDEsMHgxZSwweDAwLDB4YjcsMHg4MCwweDI5LDB4YTAsMHgwOCwweDc4LDB4MDIsMHhmZSwweDIwLDB4OGQsMHg4MCwweDI5IH19LAotIHsxNiwgMHhlYjMwLCAwLCB7MHhlNSwweDViLDB4MzgsMHg0MiwweDFlLDB4NDAsMHhhMSwweDgxLDB4MjUsMHhhOCwweDA4LDB4NzksMHgwMiwweDM3LDB4MDAsMHg4NyB9fSwKLSB7MTYsIDB4ZWI0MCwgMCwgezB4ODAsMHgyNSwweGUwLDB4MGEsMHg3OCwweDBhLDB4ZGUsMHg4MSwweDg3LDB4ODAsMHgyNSwweGU1LDB4NDgsMHg3OCwweDAyLDB4YzggfX0sCi0gezE2LCAweGViNTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MGMsMHgwMCwweGIzLDB4MTAsMHgzMCwweDEyIH19LAotIHsxNiwgMHhlYjYwLCAwLCB7MHgwZSwweDMwLDB4MTIsMHhjYywweGMwLDB4YzMsMHgwMCwweDM4LDB4ODAsMHgwYywweDMxLDB4MDYsMHgwYywweDQwLDB4ZjEsMHgwMCB9fSwKLSB7MTYsIDB4ZWI3MCwgMCwgezB4MzgsMHg4MCwweDBjLDB4MzAsMHg0MywweDA0LDB4NDIsMHhjMywweDAwLDB4MzYsMHhjMCwweDBjLDB4MzIsMHgwMywweGNlLDB4YzAgfX0sCi0gezE2LCAweGViODAsIDAsIHsweGRiLDB4MDAsMHgzMCwweGMwLDB4MGMsMHgzMCwweDAzLDB4ZDIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlYjkwLCAwLCB7MHg0MCwweDFkLDB4YmMsMHgwMCwweGZmLDB4MTAsMHgzZCwweDg0LDB4NGYsMHhmMSwweDAzLDB4ZDAsMHg0MCwweGZjLDB4MTAsMHgzMyB9fSwKLSB7MTYsIDB4ZWJhMCwgMCwgezB4ODAsMHg1ZCwweGIxLDB4ODMsMHhmYywweDUwLDB4ZGQsMHgwYSwweDI1LDB4ODksMHgwZiwweGI4LDB4MDMsMHhkNCwweDAwLDB4ZmYgfX0sCi0gezE2LCAweGViYjAsIDAsIHsweDEwLDB4M2YsMHhjMCwweDBmLDB4ZjQsMHgwMywweDNjLDB4NDAsMHhmZiwweDAwLDB4M2IsMHhjMCwweDBmLDB4ZjAsMHgwMywweGQwIH19LAotIHsxNiwgMHhlYmMwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGVjLDB4MDAsMHhmYiwweDIwLDB4M2UsMHgwMCB9fSwKLSB7MTYsIDB4ZWJkMCwgMCwgezB4MGYsMHhiNSwweDAzLDB4MjksMHgyMCwweGY5LDB4MDAsMHgzMiwweGEwLDB4MGMsMHhiMCwweDgzLDB4ZWMsMHgwMCwweDQ5LDB4YzggfX0sCi0gezE2LCAweGViZTAsIDAsIHsweGIyLDB4YzAsMHg4YywweGEwLDB4MDMsMHg2NCwweDAwLDB4ZmIsMHgwOCwweDEyLDB4ZWEsMHgwYywweGIwLDB4MGIsMHgyYywweDgwIH19LAotIHsxNiwgMHhlYmYwLCAwLCB7MHhmYiwweDIwLDB4MmUsMHhkMiwweDZjLDB4YjYsMHg0MywweGVhLDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWMwMCwgMCwgezB4NDgsMHgxMSwweDljLDB4MDAsMHhiNywweDQ5LDB4MmQsMHgwMCwweDBiLDB4MzAsMHg4MiwweDEwLDB4MDEsMHhiNSwweDAyLDB4ODMgfX0sCi0gezE2LCAweGVjMTAsIDAsIHsweGMwLDB4MWEsMHg3MiwweDIyLDB4ZGQsMHg0MSwweDg1LDB4MDAsMHg2MSwweGMwLDB4MTgsMHgyMCwweDIwLDB4MTQsMHgwMCwweGJmIH19LAotIHsxNiwgMHhlYzIwLCAwLCB7MHg0MCwweDM1LDB4ZDAsMHgwZCwweDM0LDB4MDIsMHgxZCwweDIwLDB4YjcsMHgyOCwweDI1LDB4YzEsMHgwOCwweDc0LDB4ODIsMHhkMiB9fSwKLSB7MTYsIDB4ZWMzMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHg5ZSwweDA0LDB4MzcsMHhhMCwweDJkLDB4MjAgfX0sCi0gezE2LCAweGVjNDAsIDAsIHsweDBiLDB4N2EsMHgxMiwweDE2LDB4MDEsMHhiMywweDgwLDB4MjEsMHhlMiwweDA4LDB4NzgsMHg0MiwweDllLDB4MDAsMHg4NSwweDgwIH19LAotIHsxNiwgMHhlYzUwLCAwLCB7MHgyMCwweGUxLDB4MTgsMHg2OCwweDAyLDB4NTYsMHgwMCwweGI3LDB4YTAsMHgyNSwweGUwLDB4MDgsMHg3YSwweDAyLDB4MWUsMHgwMCB9fSwKLSB7MTYsIDB4ZWM2MCwgMCwgezB4YjcsMHg5MCwweDJjLDB4ZTUsMHg4OCwweDdhLDB4MDIsMHhmMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVjNzAsIDAsIHsweDQ4LDB4MTQsMHhjYywweDAwLDB4YjMsMHgwMCwweDZjLDB4MjQsMHgxYiwweDMwLDB4MDIsMHgwMCwweDAwLDB4YjAsMHgwMCwweDIwIH19LAotIHsxNiwgMHhlYzgwLCAwLCB7MHhmOCwweDBhLDB4MzAsMHgwMiwweGNjLDB4MDAsMHg4MSwweDAwLDB4MjAsMHhkOCwweDE4LDB4MjAsMHgwMiwweDA0LDB4MDAsMHhiMyB9fSwKLSB7MTYsIDB4ZWM5MCwgMCwgezB4MDAsMHgyNCwweGMwLDB4MDksMHgzMCwweDAyLDB4MGMsMHgwMCwweGIzLDB4MDAsMHgyNiwweGMwLDB4MDgsMHgzMCwweDAyLDB4ZDIgfX0sCi0gezE2LCAweGVjYTAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YTgsMHgwMCwweGZhLDB4MDAsMHgzZCwweDgwIH19LAotIHsxNiwgMHhlY2IwLCAwLCB7MHgwZiwweDIwLDB4MGIsMHgyOCwweDgwLDB4ZmUsMHgwMCwweDMzLDB4YTAsMHgwYywweGEwLDB4MDMsMHhlOCwweDAyLDB4Y2EsMHgwMiB9fSwKLSB7MTYsIDB4ZWNjMCwgMCwgezB4MzIsMHg5MCwweDJjLDB4ZTQsMHgwMywweDc4LDB4MDAsMHhmYSwweDAwLDB4MzIsMHg4MCwweDBjLDB4YTAsMHgwMywweDI4LDB4MDAgfX0sCi0gezE2LCAweGVjZDAsIDAsIHsweGZhLDB4MDAsMHgzZSwweDgwLDB4MGMsMHhhMCwweDAzLDB4ZmEsMHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlY2UwLCAwLCB7MHg0OCwweDAwLDB4ZTEsMHgwMCwweGYwLDB4MDAsMHgzZSwweDAwLDB4NGYsMHg4MCwweDAzLDB4ZTAsMHg4MCwweGY4LDB4MDAsMHgzZSB9fSwKLSB7MTYsIDB4ZWNmMCwgMCwgezB4MDAsMHgwZiwweDgwLDB4MjMsMHhjMCwweDAwLDB4ZjgsMHgwMiwweDNjLDB4MDAsMHgwZiwweGMwLDB4ODMsMHg2MCwweDAwLDB4YjggfX0sCi0gezE2LCAweGVkMDAsIDAsIHsweDAwLDB4M2UsMHgwMCwweDBmLDB4ODAsMHgyMywweGUwLDB4MTgsMHhmOCwweDAxLDB4MzYsMHgwMCwweDBmLDB4ODAsMHgwMywweGQyIH19LAotIHsxNiwgMHhlZDEwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGU2LDB4MDAsMHhmOSwweDIxLDB4MzIsMHg2MCB9fSwKLSB7MTYsIDB4ZWQyMCwgMCwgezB4MGMsMHg5MCwweDAzLDB4MmMsMHg0NCwweGY5LDB4MDAsMHhiMiwweDQwLDB4MGYsMHg5MCwweDFiLDB4MjQsMHgwMCwweGU5LDB4MDAgfX0sCi0gezE2LCAweGVkMzAsIDAsIHsweDNlLDB4NDAsMHgwYywweDEwLDB4MDMsMHhhNCwweDAwLDB4ZjksMHgwMCwweDMyLDB4NDAsMHgwZiwweDEwLDB4MzMsMHgyNCwweDEwIH19LAotIHsxNiwgMHhlZDQwLCAwLCB7MHhmMSwweDAwLDB4MzIsMHg0MCwweDBjLDB4OTAsMHgwMywweDAyLDB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWQ1MCwgMCwgezB4ODAsMHgwNCwweDY0LDB4MDAsMHhiOSwweDQwLDB4YTIsMHg0MSwweDA4LDB4OTAsMHgwMiwweDI0LDB4ODAsMHhlOSwweDAwLDB4MjIgfX0sCi0gezE2LCAweGVkNjAsIDAsIHsweDQwLDB4MGIsMHg5MCwweDEyLDB4MjQsMHgwMCwweDg5LDB4MDAsMHg2ZSwweDQxLDB4MTgsMHg5MCwweDQyLDB4MjQsMHgwMCwweGI5IH19LAotIHsxNiwgMHhlZDcwLCAwLCB7MHgwNCwweDJhLDB4NDEsMHgwYiwweDkwLDB4MDMsMHg2NCwweDAwLDB4ZjksMHgwMCwweDJhLDB4NDAsMHgwYSwweDkwLDB4MGEsMHgyMCB9fSwKLSB7MTYsIDB4ZWQ4MCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDEsMHgyNCwweDgwLDB4YjksMHg0MiwweDYyLDB4NDggfX0sCi0gezE2LCAweGVkOTAsIDAsIHsweDI4LDB4OTAsMHgwYSwweDI0LDB4MDAsMHhiMSwweDAwLDB4MjIsMHg0MCwweDBiLDB4MTAsMHgwMiwweDI0LDB4MTAsMHhiOSwweDAyIH19LAotIHsxNiwgMHhlZGEwLCAwLCB7MHgyZSwweDQwLDB4MDgsMHhkMCwweDAyLDB4YTQsMHgwMCwweGIxLDB4MDAsMHgyMiwweDQwLDB4MGIsMHg5MCwweDAyLDB4MjQsMHgwNCB9fSwKLSB7MTYsIDB4ZWRiMCwgMCwgezB4YjksMHgwMCwweDIyLDB4NDAsMHgwOCwweDEwLDB4MDIsMHgwNiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVkYzAsIDAsIHsweDA4LDB4MDQsMHgwYywweDAwLDB4YjEsMHgyMCwweDYwLDB4NDAsMHgwOCwweDEyLDB4MDIsMHgwNCwweDAwLDB4YTEsMHgyMCwweDIwIH19LAotIHsxNiwgMHhlZGQwLCAwLCB7MHg0MCwweDBiLDB4MTIsMHgwMiwweDA0LDB4ODAsMHg5MSwweDIwLDB4MmQsMHg2OCwweDA4LDB4NTIsMHgxMiwweDA0LDB4MDAsMHhiMSB9fSwKLSB7MTYsIDB4ZWRlMCwgMCwgezB4MjgsMHgyOCwweDRhLDB4MDksMHgxMiwweDgyLDB4NDQsMHhhMCwweGIxLDB4MmMsMHgyOCwweDRhLDB4MGEsMHgxMiwweDgyLDB4MDIgfX0sCi0gezE2LCAweGVkZjAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjAsMHgwMCwweGY4LDB4MDAsMHgzMiwweDE0IH19LAotIHsxNiwgMHhlZTAwLCAwLCB7MHgwYywweDgwLDB4MDMsMHgyMCwweDAwLDB4ZjgsMHg1MCwweDMyLDB4MTQsMHgwZiwweDg1LDB4MDMsMHgwMSwweDQwLDB4ZjgsMHgwMCB9fSwKLSB7MTYsIDB4ZWUxMCwgMCwgezB4MmUsMHgwMCwweDI4LDB4YzAsMHgwMywweGEwLDB4MDAsMHhmOCwweDI0LDB4MzAsMHgwOCwweDBmLDB4ODIsMHgyMywweDIwLDB4ODAgfX0sCi0gezE2LCAweGVlMjAsIDAsIHsweGY4LDB4MjAsMHgzMiwweDA4LDB4MGMsMHg4MiwweDAzLDB4MmUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlZTMwLCAwLCB7MHg5OCwweDFkLDB4ZTQsMHgwOCwweGY5LDB4MTAsMHgzZiwweDQwLDB4OGYsMHg5MSwweDEzLDB4ZTQsMHgwMCwweGVkLDB4MTAsMHgzZiB9fSwKLSB7MTYsIDB4ZWU0MCwgMCwgezB4NTAsMHgwZiwweDkxLDB4MDMsMHhlNCwweDQwLDB4YTUsMHgxMCwweDNlLDB4NDQsMHgwZiwweDkxLDB4MDMsMHhmNCwweDA0LDB4ZjkgfX0sCi0gezE2LCAweGVlNTAsIDAsIHsweDI4LDB4M2UsMHg0YiwweDBiLDB4OTIsMHhhMywweGU0LDB4YTAsMHhlOSwweDI4LDB4M2UsMHg0YSwweDBmLDB4OTIsMHg4MywweGU2IH19LAotIHsxNiwgMHhlZTYwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweGY0LDB4MDAsMHhjZCwweDAwLDB4MzMsMHg0MCB9fSwKLSB7MTYsIDB4ZWU3MCwgMCwgezB4ODAsMHhkMCwweDAxLDB4ZjQsMHgwMCwweGE1LDB4MDAsMHgyNiwweDQwLDB4MGYsMHg5MCwweDAzLDB4MjYsMHgwMCwweGYxLDB4ODggfX0sCi0gezE2LCAweGVlODAsIDAsIHsweDNlLDB4NjgsMHgwZCwweDk4LDB4ODMsMHg0NCwweDAwLDB4YzksMHhjMCwweDNhLDB4NDAsMHgwYywweDk4LDB4MDMsMHgyNCwweDA4IH19LAotIHsxNiwgMHhlZTkwLCAwLCB7MHhmOSwweGEwLDB4MzIsMHg3OCwweDBmLDB4OWEsMHgwMywweDA2LDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWVhMCwgMCwgezB4MzgsMHgxMCwweGUwLDB4MDIsMHg4OCwweDAwLDB4YTIsMHgwMCwweDA4LDB4ODAsMHgwMiwweGUwLDB4MDAsMHgwYSwweDAwLDB4MjIgfX0sCi0gezE2LCAweGVlYjAsIDAsIHsweDAwLDB4MGIsMHg4MCwweDAyLDB4MjAsMHgwMCwweGI4LDB4NDAsMHgyZSwweDE0LDB4MDgsMHg4MCwweDQzLDB4MzAsMHgwMCwweDg4IH19LAotIHsxNiwgMHhlZWMwLCAwLCB7MHhhMCwweDIyLDB4MmEsMHgwYSwweDhhLDB4NDIsMHhhMCwweDA1LDB4YjgsMHg0MiwweDMyLDB4MzgsMHgwYiwweDgwLDB4MDIsMHgwZSB9fSwKLSB7MTYsIDB4ZWVkMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhjNCwweDAzLDB4OTEsMHgwMCwweDI0LDB4NDAgfX0sCi0gezE2LCAweGVlZTAsIDAsIHsweDBiLDB4MTAsMHgwMiwweGM0LDB4MTEsMHhiMSwweDA0LDB4MjAsMHg0MSwweDFiLDB4MTAsMHgyMiwweDQ1LDB4MDAsMHhiNSwweDAwIH19LAotIHsxNiwgMHhlZWYwLCAwLCB7MHgyNSwweDQwLDB4MDksMHg1MCwweDAyLDB4NTQsMHgwMSwweDgxLDB4NDAsMHgyYywweDQwLDB4MDksMHgxNCwweDkyLDB4NDQsMHgwMCB9fSwKLSB7MTYsIDB4ZWYwMCwgMCwgezB4YjEsMHg0MCwweDI0LDB4NGMsMHgwYiwweDE0LDB4MGEsMHg0MiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVmMTAsIDAsIHsweDE4LDB4MTUsMHhhNCwweDAwLDB4OTksMHgwMCwweDI0LDB4NDIsMHgwYiwweDkwLDB4MDIsMHhlNCwweDAxLDB4OTksMHgyMCwweDI2IH19LAotIHsxNiwgMHhlZjIwLCAwLCB7MHg0MCwweGNiLDB4OTAsMHgwMiwweDY0LDB4MDAsMHhiYiwweDAwLDB4MmYsMHg0MSwweDBhLDB4ZDAsMHgwMiwweDM0LDB4MDAsMHg4OSB9fSwKLSB7MTYsIDB4ZWYzMCwgMCwgezB4MDAsMHgyNiwweDQwLDB4MGIsMHgxMCwweDAyLDB4ZTQsMHgwMCwweDMxLDB4MDAsMHg2MiwweDQwLDB4MGIsMHg5MCwweDAyLDB4NDYgfX0sCi0gezE2LCAweGVmNDAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4YzQsMHgwMCwweGQ5LDB4MDEsMHgzNiwweDUwIH19LAotIHsxNiwgMHhlZjUwLCAwLCB7MHgyZiwweDkwLDB4MDMsMHhlNiwweDYwLDB4ZjksMHg4MCwweDM2LDB4NTIsMHgwYiwweDkwLDB4MGEsMHg2NCwweDAwLDB4ZjksMHgwMCB9fSwKLSB7MTYsIDB4ZWY2MCwgMCwgezB4MzYsMHg0MCwweDBkLDB4OTAsMHgwMywweDY0LDB4MDIsMHgwOSwweDAwLDB4M2UsMHg0MCwweDBkLDB4OTAsMHgwMywweDY0LDB4MDAgfX0sCi0gezE2LCAweGVmNzAsIDAsIHsweGI5LDB4MDAsMHhiNiwweDQwLDB4MGYsMHg5MCwweDAzLDB4NjgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlZjgwLCAwLCB7MHgyOCwweDAxLDB4YTQsMHgwMCwweGUxLDB4MDAsMHgzYSwweDQxLDB4MGMsMHg5MCwweDIzLDB4ZTYsMHgyMCwweGU5LDB4MDAsMHhiYSB9fSwKLSB7MTYsIDB4ZWY5MCwgMCwgezB4NzAsMHgwZiwweDkwLDB4MDMsMHhhNCwweDAwLDB4ZjksMHgwMCwweDNlLDB4NDAsMHgwZCwweDEwLDB4MTMsMHhhNywweDAwLDB4ZjkgfX0sCi0gezE2LCAweGVmYTAsIDAsIHsweDAwLDB4M2EsMHg0MCwweDBlLDB4OTAsMHg0MywweGE0LDB4MDgsMHhmOSwweDAwLDB4M2EsMHg0MCwweDBmLDB4OTAsMHgwMywweDhhIH19LAotIHsxNiwgMHhlZmIwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxMCwweGEwLDB4MjAsMHhmOCwweDAwLDB4MzIsMHgwMCB9fSwKLSB7MTYsIDB4ZWZjMCwgMCwgezB4MGYsMHg4MCwweDgzLDB4MjEsMHgwMCwweGYwLDB4MDAsMHgzYSwweDExLDB4MDksMHg4MCwweDAzLDB4ZTAsMHgwMCwweGM4LDB4MDEgfX0sCi0gezE2LCAweGVmZDAsIDAsIHsweDMwLDB4MDEsMHgwYywweDgwLDB4MDMsMHhiMCwweDAwLDB4ZDAsMHgwMCwweDM0LDB4MDAsMHgwZCwweDgwLDB4MDMsMHgyMCwweDAwIH19LAotIHsxNiwgMHhlZmUwLCAwLCB7MHhjOCwweDAwLDB4MzIsMHgwMCwweDBjLDB4ODAsMHgwMywweDBhLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWZmMCwgMCwgezB4MjgsMHgwNSwweDM4LDB4MDAsMHhiZSwweDAwLDB4MjIsMHg4MCwweDAzLDB4ZTgsMHgwMiwweDFhLDB4MDgsMHhiZSwweDQ4LDB4MjIgfX0sCi0gezE2LCAweGYwMDAsIDAsIHsweDgwLDB4MGEsMHhhMCwweDAzLDB4YjgsMHgwMCwweGNhLDB4MDgsMHgyMiwweDgwLDB4MGYsMHhhNCwweDAyLDB4MDgsMHgwMCwweDhhIH19LAotIHsxNiwgMHhmMDEwLCAwLCB7MHgwMCwweDIyLDB4ODAsMHg4ZCwweGEwLDB4MDIsMHgyOCwweDAwLDB4ZGEsMHgwMCwweDJhLDB4ODEsMHgwOCwweGEwLDB4MDIsMHg4YSB9fSwKLSB7MTYsIDB4ZjAyMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg0NCwweDAwLDB4YjMsMHgwMCwweDIwLDB4NDAgfX0sCi0gezE2LCAweGYwMzAsIDAsIHsweDBiLDB4MzAsMHgwMiwweDA4LDB4MDAsMHhiMCwweDY0LDB4NjgsMHhjMSwweDA4LDB4YjAsMHgyMiwweGNjLDB4MGMsMHg5MywweDgwIH19LAotIHsxNiwgMHhmMDQwLCAwLCB7MHgwMCwweGMwLDB4NDgsMHgzNiwweDAyLDB4ODgsMHgwMCwweGIzLDB4MDAsMHgyNCwweGMwLDB4MDgsMHgzMCwweDA2LDB4MGMsMHgwMSB9fSwKLSB7MTYsIDB4ZjA1MCwgMCwgezB4YTMsMHgwMiwweDJjLDB4YzAsMHgwOCwweGIwLDB4MDIsMHgwYSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYwNjAsIDAsIHsweGEwLDB4MDEsMHgxNCwweDA4LDB4YjUsMHgwMCwweDIxLDB4NDAsMHgwYiwweDM4LDB4ODIsMHgxYywweDIxLDB4YjcsMHgwMCwweDIzIH19LAotIHsxNiwgMHhmMDcwLCAwLCB7MHhlOCwweDRhLDB4NzIsMHgyNiwweDllLDB4NDAsMHg4ZiwweDgxLDB4YWIsMHg0MCwweDQyLDB4NzAsMHg1MiwweDM4LDB4MDAsMHhhMyB9fSwKLSB7MTYsIDB4ZjA4MCwgMCwgezB4MjIsMHgyMCwweGM0LDB4NDksMHgzMSwweDAyLDB4MWUsMHgwYSwweGI3LDB4MjIsMHgyZCwweGU4LDB4MDgsMHg3MiwweDAyLDB4YTggfX0sCi0gezE2LCAweGYwOTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MTIsMHgwMCwweGY2LDB4ODAsMHgyMSwweGUwIH19LAotIHsxNiwgMHhmMGEwLCAwLCB7MHgwYiwweDc4LDB4MGIsMHgxZSwweDAwLDB4YjQsMHg4MiwweDNiLDB4ZTgsMHg0YywweDdjLDB4MTMsMHhmZSwweDAyLDB4OTcsMHg4MCB9fSwKLSB7MTYsIDB4ZjBiMCwgMCwgezB4MzMsMHhhMCwweDA4LDB4MzgsMHgwMywweDlhLDB4MDAsMHhmNywweDg4LDB4MzUsMHhlMiwweDBjLDB4NzgsMHhlMywweDBlLDB4MDAgfX0sCi0gezE2LCAweGYwYzAsIDAsIHsweGUzLDB4ZTgsMHgzNCwweGY4LDB4MGMsMHgzYywweDIzLDB4MmEsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMGQwLCAwLCB7MHgwOCwweDFkLDB4YTgsMHgwNCwweGYxLDB4MDAsMHgzZSwweDQyLDB4MGYsMHhiMCwweDEzLDB4ZWMsMHgwMCwweGZiLDB4MDAsMHhiZSB9fSwKLSB7MTYsIDB4ZjBlMCwgMCwgezB4Y2MsMHgxZSwweGI2LDB4MDcsMHhlZCwweDgwLDB4ZmIsMHgwMCwweDM2LDB4MDAsMHgwZiwweGIwLDB4NDMsMHg2OCwweDAwLDB4Y2IgfX0sCi0gezE2LCAweGYwZjAsIDAsIHsweDMwLDB4M2UsMHhkOCwweDBmLDB4YjYsMHgwYiwweGVkLDB4NDAsMHhjYiwweDAwLDB4M2EsMHhjMCwweDJmLDB4YjYsMHgwMywweGMyIH19LAotIHsxNiwgMHhmMTAwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweGYyLDB4NDAsMHhmYiwweDkxLDB4M2QsMHg0YyB9fSwKLSB7MTYsIDB4ZjExMCwgMCwgezB4ODAsMHhmOCwweDAzLDB4ZGUsMHg0MCwweGM2LDB4ODAsMHgxYiwweGYwLDB4NGYsMHhmZCwweDA3LDB4ZmYsMHgwMCwweGNkLDB4ODAgfX0sCi0gezE2LCAweGYxMjAsIDAsIHsweDMzLDB4ZTAsMHgwYywweDY4LDB4MDMsMHhiYSwweDAwLDB4ZmYsMHg4MCwweDMzLDB4ZTAsMHgwNywweGY4LDB4MDMsMHgzZiwweDEwIH19LAotIHsxNiwgMHhmMTMwLCAwLCB7MHhjZiwweDgwLDB4M2YsMHhlMCwweDBjLDB4ZmMsMHgwMywweDAwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjE0MCwgMCwgezB4YTgsMHgxMSwweDkwLDB4MDAsMHhiNSwweGMwLDB4MmQsMHg0MCwweDA4LDB4NjIsMHgwMiwweGRjLDB4MjAsMHhkNiwweDAyLDB4MjEgfX0sCi0gezE2LCAweGYxNTAsIDAsIHsweGM4LDB4OGYsMHg3MCwweDAyLDB4ZGMsMHg4MSwweGI1LDB4MDAsMHg4MSwweDQ0LDB4MGQsMHg2MSwweDIyLDB4MTgsMHgwNCwweGI3IH19LAotIHsxNiwgMHhmMTYwLCAwLCB7MHgwMCwweDM1LDB4YzAsMHgwYiwweDcwLDB4MDIsMHhiYywweDAwLDB4YTcsMHgwMSwweDJkLDB4YzAsMHgwOCwweDcwLDB4MDMsMHhlYSB9fSwKLSB7MTYsIDB4ZjE3MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5MCwweDAxLDB4YjYsMHgwMSwweDJmLDB4YzAgfX0sCi0gezE2LCAweGYxODAsIDAsIHsweDE4LDB4NzAsMHgwMiwweGRjLDB4MGEsMHg5NiwweDEwLDB4MjksMHhjMSwweDRiLDB4NzAsMHgwNiwweGRjLDB4MTAsMHg4NSwweDAwIH19LAotIHsxNiwgMHhmMTkwLCAwLCB7MHgyNSwweDgwLDB4MDgsMHg2MCwweDgyLDB4MWEsMHgyMCwweGEzLDB4MDAsMHgyNSwweGMwLDB4MGIsMHgzMSwweDAyLDB4NWMsMHg0MCB9fSwKLSB7MTYsIDB4ZjFhMCwgMCwgezB4ODcsMHgwMCwweDJkLDB4YzAsMHgwOCwweDcwLDB4MDIsMHgwMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYxYjAsIDAsIHsweDIwLDB4MTQsMHhjOCwweDAwLDB4YjEsMHgwMCwweDJjLDB4NDAsMHg4OCwweDIwLDB4MDIsMHhlZCwweDAwLDB4OGEsMHg2MCwweDIwIH19LAotIHsxNiwgMHhmMWMwLCAwLCB7MHhjMCwweDBhLDB4MzAsMHgwMiwweGNjLDB4MDQsMHhiMSwweDAwLDB4MjQsMHgwMCwweDI4LDB4MjQsMHgwMiwweDBhLDB4MDAsMHgzMyB9fSwKLSB7MTYsIDB4ZjFkMCwgMCwgezB4MDAsMHgyNCwweGMwLDB4MGIsMHhiMCwweDAyLDB4Y2MsMHgwMCwweGEzLDB4MDAsMHgyYywweGMwLDB4ODgsMHgzMCwweDAyLDB4ODggfX0sCi0gezE2LCAweGYxZTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YTAsMHgwMCwweGZiLDB4MDAsMHgzZSwweGM2IH19LAotIHsxNiwgMHhmMWYwLCAwLCB7MHgwYywweDgwLDB4MDMsMHhlNSwweDAwLDB4MDksMHhjOCwweGFiLDB4ZTIsMHgwYiwweGYwLDB4MDIsMHhmYywweDAwLDB4NGEsMHgwMCB9fSwKLSB7MTYsIDB4ZjIwMCwgMCwgezB4MzYsMHhjMCwweDA4LDB4OTAsMHgwMywweGE2LDB4MDAsMHhmZiwweDAwLDB4MzMsMHhjMCwweDBmLDB4ZjAsMHgwMywweDdjLDB4MDAgfX0sCi0gezE2LCAweGYyMTAsIDAsIHsweDhmLDB4MDAsMHgyZiwweGMwLDB4MjgsMHhmMCwweDAyLDB4MmEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMjIwLCAwLCB7MHg4MCwweDAwLDB4ZTEsMHgwMCwweGZhLDB4MDEsMHgzZSwweGMwLDB4MGYsMHg4MCwweDAzLDB4ZWMsMHgwMCwweGY5LDB4NDAsMHgzZSB9fSwKLSB7MTYsIDB4ZjIzMCwgMCwgezB4YzAsMHgwNywweGIwLDB4MDMsMHhlYywweDAwLDB4ZmEsMHgwMCwweDNhLDB4NDAsMHgwZiwweDkwLDB4MjMsMHhlNSwweDAwLDB4ZmIgfX0sCi0gezE2LCAweGYyNDAsIDAsIHsweDAwLDB4M2UsMHhjMCwweDBmLDB4YjAsMHgwMywweGFjLDB4MDAsMHhmYiwweDAwLDB4M2MsMHhjMCwweDBmLDB4YjAsMHgyMywweGUwIH19LAotIHsxNiwgMHhmMjUwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGYwLDB4MDAsMHhmYywweDIwLDB4M2YsMHhjMCB9fSwKLSB7MTYsIDB4ZjI2MCwgMCwgezB4MGMsMHhjOCwweDAzLDB4ZmMsMHgyMCwweGNkLDB4ODEsMHhiMywweGMyLDB4NGYsMHhmMCwweDAzLDB4ZmMsMHgwMCwweGNhLDB4MDAgfX0sCi0gezE2LCAweGYyNzAsIDAsIHsweDNjLDB4ODAsMHgwYywweGQwLDB4ODIsMHgzNiwweDAxLDB4ZmYsMHgwMCwweDNmLDB4YzAsMHgwZiwweGYwLDB4MDMsMHgzYywweDA4IH19LAotIHsxNiwgMHhmMjgwLCAwLCB7MHhjZiwweDA0LDB4M2EsMHhjMCwweDVjLDB4YjAsMHgwMywweGMwLDB4NDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjI5MCwgMCwgezB4ODEsMHgwNCwweDYyLDB4MDQsMHhiOCwweDQwLDB4MmMsMHg2MCwweDA4LDB4ODksMHgwMiwweGVlLDB4ODAsMHhhOSwweDYwLDB4MmEgfX0sCi0gezE2LCAweGYyYTAsIDAsIHsweGMwLDB4MGIsMHhiMCwweDAzLDB4OGMsMHgwMCwweGFhLDB4NDAsMHgyZSwweDAwLDB4MDgsMHgxMCwweDAyLDB4MjYsMHg4MSwweGViIH19LAotIHsxNiwgMHhmMmIwLCAwLCB7MHgwMCwweDI2LDB4YzAsMHg4YiwweGIwLDB4MTMsMHg2YywweDAwLDB4ZGIsMHgwMCwweDJlLDB4YzAsMHgzZCwweGIwLDB4MDIsMHhlMCB9fSwKLSB7MTYsIDB4ZjJjMCwgMCwgezB4NDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgyMywweDAwLDB4YmIsMHgwMywweDJlLDB4YzggfX0sCi0gezE2LCAweGYyZDAsIDAsIHsweDA5LDB4YjAsMHgwMiwweGVlLDB4MDAsMHg4YiwweDEwLDB4MjYsMHhjMCwweDBiLDB4YjAsMHgwMiwweGVjLDB4MDAsMHhhOCwweDAwIH19LAotIHsxNiwgMHhmMmUwLCAwLCB7MHgyZSwweGMwLDB4MDgsMHg4OCwweDIyLDB4YTQsMHg4MCwweGJiLDB4MDAsMHgyZSwweGMwLDB4NGIsMHhiMCwweDIyLDB4MGMsMHgwMCB9fSwKLSB7MTYsIDB4ZjJmMCwgMCwgezB4OGIsMHgwMCwweDJlLDB4YzAsMHgwYiwweGIwLDB4MDIsMHhlMCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYzMDAsIDAsIHsweDA4LDB4MDQsMHgwMCwweDAwLDB4YjIsMHgwMCwweDJlLDB4YzAsMHgyOSwweDI4LDB4MDIsMHhlYywweDAxLDB4YTAsMHgwMiwweDIwIH19LAotIHsxNiwgMHhmMzEwLCAwLCB7MHhjMCwweDA5LDB4MzAsMHgwMiwweGNjLDB4MDAsMHhhMCwweDAwLDB4MmMsMHg0MCwweDA4LDB4MDAsMHg0MiwweDg0LDB4MDAsMHg5MyB9fSwKLSB7MTYsIDB4ZjMyMCwgMCwgezB4MDAsMHg2YywweGMwLDB4MGIsMHgzMCwweDA2LDB4NGQsMHgwMCwweDkzLDB4MDAsMHgyYywweGMwLDB4MDgsMHgzMCwweDAyLDB4YzIgfX0sCi0gezE2LCAweGYzMzAsIDAsIHsweDExLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4NjAsMHgwMCwweGY4LDB4MjAsMHgyZiwweGMwIH19LAotIHsxNiwgMHhmMzQwLCAwLCB7MHgwZCwweGIwLDB4MDMsMHhlYywweDAwLDB4Y2IsMHgwMCwweDMzLDB4YzAsMHgwYiwweGYwLDB4MDMsMHhmYywweDE4LDB4ZTgsMHgwMCB9fSwKLSB7MTYsIDB4ZjM1MCwgMCwgezB4MmUsMHg4MCwweDA4LDB4ODAsMHgwMywweGE0LDB4MDAsMHhiZiwweDAwLDB4M2YsMHhjMCwweDBmLDB4ZjAsMHg0MywweDNkLDB4MTEgfX0sCi0gezE2LCAweGYzNjAsIDAsIHsweGNmLDB4MDMsMHgzZSwweGMxLDB4NWQsMHhmMCwweDIzLDB4YzAsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMzcwLCAwLCB7MHhhMCwweDFkLDB4ZjAsMHgwMCwweGZjLDB4MTAsMHgzZiwweDQwLDB4MGUsMHhlMCwweDAzLDB4ZmMsMHgwMCwweGZjLDB4MDAsMHgzZiB9fSwKLSB7MTYsIDB4ZjM4MCwgMCwgezB4YzAsMHgwZiwweGYwLDB4MDMsMHhiYywweDAwLDB4ZmMsMHgwMCwweDNmLDB4MDAsMHgyZiwweGMwLDB4MDMsMHg3NCwweDAwLDB4ZWYgfX0sCi0gezE2LCAweGYzOTAsIDAsIHsweDAwLDB4MjcsMHhjMCwweDBmLDB4ZjAsMHgwMywweGZjLDB4MTgsMHhmZiwweDAwLDB4M2YsMHhjMCwweDBmLDB4ZjAsMHgwMywweGU4IH19LAotIHsxNiwgMHhmM2EwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgxNSwweGZjLDB4ODgsMHg5YywweDI5LDB4M2YsMHgwOCB9fSwKLSB7MTYsIDB4ZjNiMCwgMCwgezB4MGYsMHhkMiwweDgzLDB4ZWMsMHgwMCwweGZmLDB4MDgsMHgzZiwweDI4LDB4MGYsMHhjYSwweDAzLDB4M2MsMHg0MSwweGNmLDB4MjAgfX0sCi0gezE2LCAweGYzYzAsIDAsIHsweDczLDB4MmMsMHgwYywweGMwLDB4MDMsMHgzMCwweDIwLDB4Y2YsMHg2MCwweDMzLDB4ZDgsMHgwZiwweDc4LDB4MDMsMHgzZiwweDgwIH19LAotIHsxNiwgMHhmM2QwLCAwLCB7MHhkZCwweDkyLDB4MzMsMHhjOCwweDBmLDB4NTAsMHgwMywweDMwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjNlMCwgMCwgezB4ODAsMHgxMCwweGU1LDB4NDAsMHg4OCwweDQwLDB4MmUsMHgwNCwweDhiLDB4OTQsMHgwMiwweGU0LDB4MDAsMHhiOSwweDAwLDB4MGUgfX0sCi0gezE2LCAweGYzZjAsIDAsIHsweDdmLDB4OGYsMHg5ZSwweDgzLDB4NjUsMHg4MiwweGNmLDB4NjgsMHgzZSwweDUwLDB4OGQsMHgwNCwweDkyLDB4MmYsMHgwNCwweGQzIH19LAotIHsxNiwgMHhmNDAwLCAwLCB7MHg0MCwweDc0LDB4ZGMsMHgwZCwweGEyLDB4MDIsMHgyMCwweDQwLDB4ODksMHgwMCwweDIyLDB4ZjAsMHgwYiwweDk4LDB4MDIsMHgyMCB9fSwKLSB7MTYsIDB4ZjQxMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjOCwweDA5LDB4YTAsMHg4NSwweDJjLDB4MDEgfX0sCi0gezE2LCAweGY0MjAsIDAsIHsweDBiLDB4MDAsMHgxMCwweGNjLDB4NDAsMHhhMiwweDA4LDB4MmMsMHgwMCwweGRiLDB4MTEsMHgwMiwweDg5LDB4MDAsMHg5MywweDMwIH19LAotIHsxNiwgMHhmNDMwLCAwLCB7MHgyMCwweDA1LDB4MDgsMHgxMywweDAyLDB4ODAsMHgwOCwweGEzLDB4NjAsMHg2MCwweGMwLDB4MGEsMHhiMCwweDgyLDB4MDgsMHg4NCB9fSwKLSB7MTYsIDB4ZjQ0MCwgMCwgezB4ODEsMHgyMCwweDIwLDB4ZDAsMHgwYiwweDEwLDB4MDIsMHhhMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY0NTAsIDAsIHsweGMwLDB4MTUsMHhhNCwweDEyLDB4ODgsMHg4MCwweDZlLDB4MjAsMHgwYiwweDg4LDB4ODIsMHhlZSwweDAwLDB4YmEsMHg4MSwweDJlIH19LAotIHsxNiwgMHhmNDYwLCAwLCB7MHg2MCwweDVhLDB4OTgsMHgwMiwweGEyLDB4MDAsMHg4YiwweDAwLDB4MmEsMHg2MCwweDA4LDB4MTEsMHgxYSwweDJjLDB4MDAsMHhiYiB9fSwKLSB7MTYsIDB4ZjQ3MCwgMCwgezB4MDAsMHgyMiwweGMwLDB4MDgsMHhiOCwweDBhLDB4MjgsMHgwMCwweDgxLDB4MjAsMHgwMiwweGMwLDB4MGIsMHg5MCwweDAyLDB4YjAgfX0sCi0gezE2LCAweGY0ODAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDA1LDB4ZWQsMHgwMCwweGQ5LDB4ODAsMHgzZSwweDIwIH19LAotIHsxNiwgMHhmNDkwLCAwLCB7MHg0ZiwweDk4LDB4MDAsMHhlYiwweDIwLDB4ZmIsMHhlMCwweDJlLDB4NjAsMHgwYiwweDhjLDB4NjIsMHhhZSwweDIwLDB4OGIsMHgwMCB9fSwKLSB7MTYsIDB4ZjRhMCwgMCwgezB4MjIsMHg2MCwweDA4LDB4YmMsMHgwMywweGEwLDB4MjAsMHhlYiwweDAwLDB4MjIsMHhjMSwweDBhLDB4MTgsMHgwYiwweDI1LDB4MDAgfX0sCi0gezE2LCAweGY0YjAsIDAsIHsweGQ5LDB4MDAsMHhiMiwweGMwLDB4MGYsMHg5MCwweDBiLDB4OTAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNGMwLCAwLCB7MHhlMCwweDAxLDB4OTQsMHg4OCwweGZmLDB4MDAsMHgzZiwweDAxLDB4MGYsMHhkMCwweDAxLDB4ZjAsMHgwOCwweGRkLDB4MDEsMHgzZiB9fSwKLSB7MTYsIDB4ZjRkMCwgMCwgezB4NDIsMHgwNywweDQwLDB4MDMsMHg1YywweDAwLDB4YWYsMHgwMCwweDNmLDB4NDAsMHgwZiwweGY4LDB4MDAsMHhmMCwweDAwLDB4ZGYgfX0sCi0gezE2LCAweGY0ZTAsIDAsIHsweDAwLDB4M2YsMHhjMCwweDBmLDB4YzAsMHgyMywweGY0LDB4NTAsMHhmZCwweDgwLDB4M2YsMHhjMCwweDBmLDB4ZDAsMHgwMywweDc4IH19LAotIHsxNiwgMHhmNGYwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwMCwweGFjLDB4MDAsMHhkOSwweDAwLDB4M2UsMHg0MCB9fSwKLSB7MTYsIDB4ZjUwMCwgMCwgezB4MGYsMHg5NCwweDAzLDB4YTgsMHgyMCwweGNhLDB4NDAsMHgzYSwweDQwLDB4MGYsMHg5NCwweDAzLDB4ZWEsMHgwOCwweGZiLDB4MDAgfX0sCi0gezE2LCAweGY1MTAsIDAsIHsweDNhLDB4MDAsMHg0YywweGY2LDB4MjMsMHgyYywweDMwLDB4Y2IsMHgwMCwweDM2LDB4YzAsMHgwZCwweDkwLDB4MDMsMHhhMSwweDAyIH19LAotIHsxNiwgMHhmNTIwLCAwLCB7MHhkOSwweDAwLDB4YmEsMHhjMCwweDBmLDB4OTgsMHgwMywweDEwLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjUzMCwgMCwgezB4YzgsMHgwNSwweDI0LDB4MDAsMHg4YSwweDAwLDB4MmUsMHg0MCwweDBiLDB4OTUsMHgwMiwweGUwLDB4MDgsMHg4OCwweDgwLDB4MjIgfX0sCi0gezE2LCAweGY1NDAsIDAsIHsweDcwLDB4OGYsMHg4YywweDAyLDB4ZTAsMHgwMCwweGJmLDB4MDIsMHgyMCwweDAwLDB4MDgsMHhiOCwweDAyLDB4MGUsMHgwMCwweGRmIH19LAotIHsxNiwgMHhmNTUwLCAwLCB7MHgwMCwweDIzLDB4ZGQsMHgwOCwweDk4LDB4ODIsMHgyYSwweDAwLDB4ODksMHg4MCwweDIzLDB4YzAsMHgwYiwweDUwLDB4MWEsMHgzMiB9fSwKLSB7MTYsIDB4ZjU2MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg0NCwweDAwLDB4ODMsMHgwNSwweDI0LDB4NDEgfX0sCi0gezE2LCAweGY1NzAsIDAsIHsweDA5LDB4MTAsMHgwMiwweGNlLDB4MDAsMHg4MywweDkwLDB4MmMsMHg4MCwweDFiLDB4MjQsMHg4MiwweGNjLDB4MDAsMHhiYiwweDAwIH19LAotIHsxNiwgMHhmNTgwLCAwLCB7MHgyYywweDgwLDB4MDgsMHgwNCwweDA4LDB4MDQsMHgwMSwweDhiLDB4MDAsMHgyMiwweGMwLDB4MjgsMHgxMiwweDAyLDB4NmMsMHg4MCB9fSwKLSB7MTYsIDB4ZjU5MCwgMCwgezB4ODEsMHg0OCwweDI0LDB4YzQsMHgwYiwweDEwLDB4MDIsMHgzOCwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY1YTAsIDAsIHsweDIwLDB4MDEsMHgzZSwweDQyLDB4ODYsMHg4MCwweDJkLDB4NjAsMHgwYiwweDY4LDB4MDIsMHhmNiwweDkwLDB4OGQsMHg4MCwweDIxIH19LAotIHsxNiwgMHhmNWIwLCAwLCB7MHgyMiwweDBiLDB4NTgsMHgwMiwweGQ3LDB4NDAsMHhiNywweDkwLDB4MjEsMHhlMCwweDA4LDB4NDksMHg5MiwweDFlLDB4NTMsMHg5NyB9fSwKLSB7MTYsIDB4ZjVjMCwgMCwgezB4ODEsMHgyMSwweGUwLDB4NDgsMHhjOCwweDBhLDB4NTIsMHgyMiwweDg1LDB4ODgsMHgyNSwweGUwLDB4MGIsMHg1OCwweDAyLDB4MDggfX0sCi0gezE2LCAweGY1ZDAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MGMsMHgwMCwweDgzLDB4MDAsMHgzNCwweGMwIH19LAotIHsxNiwgMHhmNWUwLCAwLCB7MHgwZiwweDAwLDB4MDMsMHhjZSwweDIwLDB4YzMsMHgzMCwweDdjLDB4OTQsMHgwYiwweDM0LDB4ODMsMHhjYywweDE0LDB4ZjMsMHgwMiB9fSwKLSB7MTYsIDB4ZjVmMCwgMCwgezB4M2MsMHg4MCwweDBjLDB4MDQsMHgwMywweDA0LDB4NjAsMHhjMywweDAwLDB4YjAsMHhjMCwweDBjLDB4MTAsMHgwMywweGVjLDB4MDAgfX0sCi0gezE2LCAweGY2MDAsIDAsIHsweGM5LDB4MDAsMHgzYywweGM0LDB4MGYsMHgxMSwweDAzLDB4MTIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNjEwLCAwLCB7MHg0MCwweDFkLDB4OWMsMHgwMCwweGVlLDB4MDEsMHgzZiwweGMwLDB4NGYsMHhlMSwweDAzLDB4ZDQsMHg0MCwweGY1LDB4MTYsMHg3YSB9fSwKLSB7MTYsIDB4ZjYyMCwgMCwgezB4YzAsMHg0ZSwweGYwLDB4MDMsMHhmNCwweDEwLDB4MzcsMHgwNSwweDNkLDB4YzAsMHgwZiwweGMwLDB4MGIsMHhkYywweDQwLDB4ZmYgfX0sCi0gezE2LCAweGY2MzAsIDAsIHsweDAwLDB4M2IsMHhjMiwweDBlLDB4ZDAsMHgwNywweGJjLDB4MDIsMHhlZiwweDAwLDB4M2IsMHhjNiwweDBmLDB4ZDAsMHgwMywweGQwIH19LAotIHsxNiwgMHhmNjQwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGY0LDB4MDAsMHhkZCwweDg0LDB4MzMsMHg4MCB9fSwKLSB7MTYsIDB4ZjY1MCwgMCwgezB4MDQsMHhmMCwweDAzLDB4NmMsMHgwMiwweGNiLDB4MDIsMHg3ZSwweGMwLDB4MWYsMHhhMCwweDUzLDB4ZWMsMHgwMCwweGNiLDB4MjAgfX0sCi0gezE2LCAweGY2NjAsIDAsIHsweDM0LDB4NDAsMHgwYywweGQwLDB4MGIsMHgyMCwweDEwLDB4ZWIsMHgwMCwweDFlLDB4ZTAsMHgwZiwweDMwLDB4MGIsMHgyYywweDAwIH19LAotIHsxNiwgMHhmNjcwLCAwLCB7MHhjMSwweDAwLDB4MzIsMHhjMCwweDBmLDB4OTEsMHgwMywweGVhLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjY4MCwgMCwgezB4NDgsMHgxMSwweDljLDB4MDAsMHg4NywweDAwLDB4MjEsMHg4MCwweDA4LDB4NjAsMHgwMCwweDE0LDB4MDAsMHg4NSwweDAwLDB4MmQgfX0sCi0gezE2LCAweGY2OTAsIDAsIHsweDgwLDB4MGIsMHg3MCwweDUyLDB4ZDQsMHgwNCwweDgzLDB4MjgsMHgyOSwweGMwLDB4MjgsMHg1MCwweDAzLDB4NTAsMHgwMCwweDg3IH19LAotIHsxNiwgMHhmNmEwLCAwLCB7MHg0MCwweDI1LDB4YzgsMHgwZiwweDYwLDB4MDIsMHgwNCwweDAwLDB4YTcsMHgwMCwweDNkLDB4YzgsMHgwYiwweDUyLDB4MDIsMHhkMiB9fSwKLSB7MTYsIDB4ZjZiMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHg4ZSwweDAwLDB4OTUsMHg4MCwweDIxLDB4ZTAgfX0sCi0gezE2LCAweGY2YzAsIDAsIHsweDA5LDB4MzgsMHgwMiwweDFlLDB4MTEsMHhhNywweDgwLDB4MmQsMHhmMCwweDBiLDB4NzgsMHg1MiwweGNlLDB4MGEsMHg5NywweDk1IH19LAotIHsxNiwgMHhmNmQwLCAwLCB7MHgyMSwweGUwLDB4MTksMHg1YywweDAyLDB4MGUsMHgwMCwweGE3LDB4ODAsMHgyOSwweGM4LDB4MGIsMHhmOCwweDAyLDB4MWUsMHgyMCB9fSwKLSB7MTYsIDB4ZjZlMCwgMCwgezB4OGQsMHg4MCwweDIxLDB4ZTAsMHgwYiwweDU4LDB4MDIsMHhmMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY2ZjAsIDAsIHsweDQ4LDB4MTQsMHhjYywweDAwLDB4ODIsMHhlMCwweGEwLDB4ZTgsMHgyOSwweDMwLDB4MDYsMHgwZSwweDUwLDB4YWIsMHg4MCwweDJjIH19LAotIHsxNiwgMHhmNzAwLCAwLCB7MHhmMCwweDBiLDB4MzEsMHg0MiwweGNjLDB4MDAsMHg5MywweDAwLDB4MjgsMHhjNCwweDA5LDB4OTgsMHgwMiwweDRjLDB4MjgsMHg4MyB9fSwKLSB7MTYsIDB4ZjcxMCwgMCwgezB4MDAsMHgyNCwweGMwLDB4MGEsMHhiMCwweDAyLDB4MGQsMHgwMCwweGEyLDB4NTgsMHgyOCwweGMwLDB4MGIsMHgxMCwweDAyLDB4ZDIgfX0sCi0gezE2LCAweGY3MjAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YjksMHgwMCwweGRlLDB4ODAsMHgzMSwweGEwIH19LAotIHsxNiwgMHhmNzMwLCAwLCB7MHgwOSwweGUyLDB4MGIsMHg3OCwweDA0LDB4ZWUsMHhhNCwweDJmLDB4YTQsMHg4YiwweGVjLDB4MDIsMHhkOCwweDAwLDB4ZGEsMHgwMCB9fSwKLSB7MTYsIDB4Zjc0MCwgMCwgezB4MjcsMHg4MSwweDBkLDB4ZWMsMHgwNiwweDFiLDB4MDAsMHhlYSwweDA0LDB4M2UsMHg4MCwweDBiLDB4ZTAsMHgwMywweDNiLDB4MDAgfX0sCi0gezE2LCAweGY3NTAsIDAsIHsweGNlLDB4YzAsMHgyMiwweDgwLDB4MGYsMHhhMCwweDAzLDB4ZmEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNzYwLCAwLCB7MHg0OCwweDAwLDB4ZTAsMHg4MCwweGY4LDB4MTAsMHgzZSwweDA1LDB4MGUsMHg4OCwweDAzLDB4ZTAsMHgwOCwweDk4LDB4NDAsMHgzZSB9fSwKLSB7MTYsIDB4Zjc3MCwgMCwgezB4MDAsMHgwZiwweDg0LDB4ODMsMHhlMSwweDQwLDB4ZTgsMHgwMCwweDNhLDB4MDIsMHgwZSwweDgwLDB4NDMsMHhlMSwweDQwLDB4ZjggfX0sCi0gezE2LCAweGY3ODAsIDAsIHsweDAwLDB4MzYsMHgwMCwweDBmLDB4ODAsMHgwMywweGUwLDB4MjAsMHhmOCwweDAwLDB4M2UsMHgwMCwweDBmLDB4ODAsMHgwMywweGQyIH19LAotIHsxNiwgMHhmNzkwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGM0LDB4MDAsMHhlOSwweDAwLDB4M2UsMHg0MCB9fSwKLSB7MTYsIDB4ZjdhMCwgMCwgezB4MGMsMHg5MCwweDAzLDB4MDQsMHgyMCwweGU5LDB4OTAsMHgzMiwweDY4LDB4MGUsMHg5OCwweDAzLDB4YTQsMHgwMCwweGMxLDB4MDAgfX0sCi0gezE2LCAweGY3YjAsIDAsIHsweDMwLDB4NDAsMHgwYywweDk0LDB4ODMsMHgyNCwweDA4LDB4YzksMHgwMCwweDNlLDB4NDAsMHgwYywweDkwLDB4MDMsMHhhNCwweDAwIH19LAotIHsxNiwgMHhmN2MwLCAwLCB7MHhjOSwweDAwLDB4MzAsMHg1MCwweDBjLDB4MWEsMHgwMywweDAyLDB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjdkMCwgMCwgezB4ODAsMHgwNCwweDY0LDB4MDAsMHg4OSwweDQwLDB4MmUsMHg1MCwweDI4LDB4OTAsMHgwYSwweDI0LDB4MDgsMHg4OSwweDA2LDB4MTYgfX0sCi0gezE2LCAweGY3ZTAsIDAsIHsweDYxLDB4MGIsMHg5YywweDAyLDB4ZTQsMHgyMCwweGE5LDB4MDAsMHgzNiwweDQwLDB4MGQsMHg5MCwweDAyLDB4MjcsMHg2MCwweGE5IH19LAotIHsxNiwgMHhmN2YwLCAwLCB7MHgwMCwweDJlLDB4NDAsMHgyOCwweDkwLDB4MWEsMHgyNCwweDAwLDB4ODksMHgwMCwweDM2LDB4NDAsMHgyOCwweDk4LDB4MDIsMHgyMCB9fSwKLSB7MTYsIDB4ZjgwMCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHgyYywweDAwLDB4YTksMHgwOCwweDJlLDB4YzIgfX0sCi0gezE2LCAweGY4MTAsIDAsIHsweDA5LDB4MTAsMHgwMCwweDI0LDB4MDAsMHhhOSwweDAwLDB4MDYsMHg0MCwweDg5LDB4OTYsMHgwNiwweGU2LDB4MDAsMHg4OSwweDAwIH19LAotIHsxNiwgMHhmODIwLCAwLCB7MHgyMiwweGMwLDB4MDgsMHg5MCwweDAyLDB4MjQsMHgwMiwweDg5LDB4MDAsMHgyNCwweDQwLDB4MDgsMHg5MCwweDAyLDB4MGMsMHgwNiB9fSwKLSB7MTYsIDB4ZjgzMCwgMCwgezB4ODMsMHgwMCwweDIyLDB4NDAsMHgwOCwweDkwLDB4MDIsMHgwNiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY4NDAsIDAsIHsweDA4LDB4MDQsMHgwNSwweDAwLDB4ODEsMHg0NCwweDJjLDB4NTAsMHgwOCwweDE0LDB4MDIsMHgwNSwweDgwLDB4ODEsMHgyMCwweDY0IH19LAotIHsxNiwgMHhmODUwLCAwLCB7MHg3MCwweDFiLDB4MTQsMHgwMiwweGU0LDB4ODAsMHhhMSwweDIwLDB4NjQsMHg0MCwweDE5LDB4MTIsMHgwYSwweDA0LDB4ODAsMHhhMSB9fSwKLSB7MTYsIDB4Zjg2MCwgMCwgezB4MDAsMHgyYywweDUwLDB4MTgsMHgxNCwweDAyLDB4ODUsMHgwMCwweDgxLDB4NDAsMHgyNCwweDQwLDB4NDAsMHgxMCwweDAyLDB4MDIgfX0sCi0gezE2LCAweGY4NzAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjAsMHgwMCwweGUwLDB4MDAsMHgzYywweDAwIH19LAotIHsxNiwgMHhmODgwLCAwLCB7MHgwZCwweDgwLDB4MDIsMHgwMCwweDAwLDB4YWEsMHg1MCwweDM2LDB4MDAsMHgwZiwweDgwLDB4MDMsMHhlMSwweDQwLDB4YzgsMHg1MiB9fSwKLSB7MTYsIDB4Zjg5MCwgMCwgezB4NzIsMHgxNCwweDBjLDB4MDUsMHgxNiwweDIwLDB4MDgsMHhjOCwweDUwLDB4M2UsMHgwMSwweDBjLDB4ODAsMHgwMywweGEwLDB4MDQgfX0sCi0gezE2LCAweGY4YTAsIDAsIHsweGM4LDB4MDAsMHhiMiwweDAwLDB4MGMsMHg4MCwweDBiLDB4MmUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmOGIwLCAwLCB7MHg5OCwweDE5LDB4ZjUsMHgwMiwweGZkLDB4NDAsMHgzZiwweGQwLDB4MGYsMHhkNCwweDIzLDB4ZjQsMHg0NCwweGZkLDB4MTQsMHg3ZiB9fSwKLSB7MTYsIDB4ZjhjMCwgMCwgezB4NTAsMHgwZiwweGQ0LDB4MDcsMHhmNCwweDQwLDB4ZjksMHgxMCwweDNmLDB4NTAsMHgwNywweGQxLDB4MjMsMHhmNCwweDQwLDB4ZjkgfX0sCi0gezE2LCAweGY4ZDAsIDAsIHsweDQwLDB4MWUsMHg1MCwweDA3LDB4ZDAsMHgwYiwweDc1LDB4MDAsMHhmZCwweDAyLDB4M2UsMHg1MCwweDBmLDB4ZDQsMHgwMywweGU2IH19LAotIHsxNiwgMHhmOGUwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweGY2LDB4MDAsMHhjOSwweGE4LDB4M2UsMHg3MiB9fSwKLSB7MTYsIDB4ZjhmMCwgMCwgezB4MGYsMHg5OCwweDAzLDB4ZTYsMHhjMCwweGZkLDB4YTAsMHhiMywweDQwLDB4MGYsMHhkMCwweDAzLDB4NzcsMHg4MCwweGNkLDB4OTAgfX0sCi0gezE2LCAweGY5MDAsIDAsIHsweDdmLDB4NDAsMHgwZiwweGRhLDB4YTMsMHgxNiwweDkwLDB4YTksMHhjMCwweDMyLDB4NjAsMHg0YywweGIxLDB4MDMsMHgyNCwweDAwIH19LAotIHsxNiwgMHhmOTEwLCAwLCB7MHhjMSwweDAwLDB4MzMsMHg2YSwweDBiLDB4ZGEsMHgwMywweDA2LDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjkyMCwgMCwgezB4MzgsMHgxMCwweGUzLDB4NDAsMHg4OCwweGUwLDB4MmUsMHgzMCwweDBiLDB4OGQsMHgwMiwweGYzLDB4NDAsMHhiOCwweGU4LDB4NzYgfX0sCi0gezE2LCAweGY5MzAsIDAsIHsweDAwLDB4NGYsMHg4MCwweDBhLDB4MjIsMHg4MCwweDg4LDB4OTAsMHg2ZSwweDI4LDB4OGYsMHg4YSwweDAzLDB4NjEsMHg0NCwweGY4IH19LAotIHsxNiwgMHhmOTQwLCAwLCB7MHhlMSwweDNlLDB4MmEsMHgwOCwweDg4LDB4MDMsMHg0MiwweGEwLDB4ZGMsMHhhMCwweDNlLDB4MTAsMHgwYiwweDg1LDB4MGEsMHgwZSB9fSwKLSB7MTYsIDB4Zjk1MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhjNCwweGEwLDB4ODUsMHgwOCwweDJkLDB4NDggfX0sCi0gezE2LCAweGY5NjAsIDAsIHsweDFiLDB4NTIsMHg4MiwweGQ0LDB4ODAsMHhiMSwweDE0LDB4MjAsMHg0MCwweDBiLDB4MTgsMHgwMiwweDA1LDB4ODIsMHg4MSwweDAwIH19LAotIHsxNiwgMHhmOTcwLCAwLCB7MHg2YywweDQyLDB4MGIsMHgxMiwweDgyLDB4MDQsMHgwMCwweGExLDB4NjAsMHgyMSwweDUwLDB4MGIsMHg1MCwweDAyLDB4MTQsMHg5MCB9fSwKLSB7MTYsIDB4Zjk4MCwgMCwgezB4OTUsMHgyYywweDI4LDB4NDAsMHgwYiwweDEwLDB4MDIsMHgwMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY5OTAsIDAsIHsweDE4LDB4MTUsMHhhNCwweDAxLDB4OGQsMHg0NCwweDJmLDB4NDAsMHgwYiwweGQ0LDB4MDIsMHhmNCwweDA0LDB4YjksMHgwOCwweDIyIH19LAotIHsxNiwgMHhmOWEwLCAwLCB7MHg0MCwweDBhLDB4OTIsMHgwMiwweDJjLDB4ODQsMHg4OSwweDAwLDB4MmUsMHg0MCwweDBhLDB4MTQsMHgwMiwweDZjLDB4ODAsMHhhOSB9fSwKLSB7MTYsIDB4ZjliMCwgMCwgezB4MDEsMHgyYSwweDQwLDB4MDksMHg1MCwweDBhLDB4NWMsMHgwMiwweDhkLDB4NjAsMHgyYSwweDQwLDB4MGIsMHg5MCwweDQyLDB4MDYgfX0sCi0gezE2LCAweGY5YzAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4ZTYsMHg2MiwweGM5LDB4MDIsMHgzZSwweDU0IH19LAotIHsxNiwgMHhmOWQwLCAwLCB7MHgwZiwweDkwLDB4MDMsMHhlNCwweDAwLDB4ZjksMHg0MCwweDIyLDB4NDYsMHgwYiwweDk4LDB4MDMsMHg2NywweDIwLDB4YzksMHgwMSB9fSwKLSB7MTYsIDB4ZjllMCwgMCwgezB4MmUsMHg2OSwweDBiLDB4OTQsMHgwYiwweDI1LDB4MjAsMHhhOSwweDAwLDB4MjIsMHg0MCwweDJkLDB4OTIsMHgwYSwweDI2LDB4MjIgfX0sCi0gezE2LCAweGY5ZjAsIDAsIHsweDk5LDB4MDAsMHgyYSwweDQwLDB4OGYsMHg5MCwweDAzLDB4MjgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmYTAwLCAwLCB7MHgyOCwweDAxLDB4ODYsMHgwMiwweGY5LDB4MDAsMHgzZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4ZTYsMHg4MCwweGYxLDB4YTAsMHgzZSB9fSwKLSB7MTYsIDB4ZmExMCwgMCwgezB4NjIsMHgwZiwweDk4LDB4ODMsMHhjNiwweDIwLDB4ZjksMHgwMCwweDNlLDB4NDksMHgwZiwweDkwLDB4ODMsMHhlNCwweDAwLDB4NzEgfX0sCi0gezE2LCAweGZhMjAsIDAsIHsweDAyLDB4M2UsMHg0MCwweDBlLDB4OTAsMHgwYiwweGU2LDB4ODAsMHhmOSwweDgwLDB4M2UsMHg0MCwweDBmLDB4OTAsMHgwMywweGNhIH19LAotIHsxNiwgMHhmYTMwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxMCwweGEwLDB4MTAsMHhjOCwweDAwLDB4M2UsMHgwMCB9fSwKLSB7MTYsIDB4ZmE0MCwgMCwgezB4NGYsMHg4MCwweDQzLDB4YjAsMHgwMCwweGM4LDB4NDEsMHgzMiwweDAwLDB4MGYsMHg4MCwweDAzLDB4MjEsMHgwMiwweGM4LDB4MDIgfX0sCi0gezE2LCAweGZhNTAsIDAsIHsweDNlLDB4MTAsMHg0YywweDgwLDB4MDMsMHgwMSwweDIwLDB4YzgsMHgwMCwweDNiLDB4MDAsMHgwYywweGMwLDB4MDMsMHhiMCwweDAwIH19LAotIHsxNiwgMHhmYTYwLCAwLCB7MHhjYywweDA0LDB4MzIsMHgwMCwweDBmLDB4ODAsMHgwMywweDBhLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmE3MCwgMCwgezB4MjgsMHgwNSwweDI4LDB4MDAsMHg4YSwweDgwLDB4MmUsMHg4MCwweDBiLDB4YTAsMHgwMiwweGY4LDB4MDQsMHg4ZSwweDAwLDB4MjMgfX0sCi0gezE2LCAweGZhODAsIDAsIHsweGIyLDB4MGUsMHhlMCwweDgyLDB4ZjksMHgwNCwweDhhLDB4MDAsMHgyZSwweDgxLDB4MGMsMHhlMCwweDBhLDB4M2EsMHg4MCwweGRhIH19LAotIHsxNiwgMHhmYTkwLCAwLCB7MHgwMCwweDIyLDB4YjYsMHgwOCwweGEwLDB4MDIsMHgyOCwweDAwLDB4OGUsMHgwMCwweDJhLDB4ODAsMHgwYiwweDYwLDB4MGIsMHgwYSB9fSwKLSB7MTYsIDB4ZmFhMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg0NCwweDAyLDB4OTMsMHg4MSwweDJjLDB4YzAgfX0sCi0gezE2LCAweGZhYjAsIDAsIHsweDRiLDB4MzAsMHgwMiwweGM4LDB4MDAsMHg4MywweGNhLDB4MjAsMHhlMCwweDE5LDB4YjAsMHgwNiwweDhjLDB4MDAsMHg4MSwweDA0IH19LAotIHsxNiwgMHhmYWMwLCAwLCB7MHg0NCwweDQwLDB4MDgsMHgzNCwweDAyLDB4MGQsMHgwMCwweDgzLDB4MDAsMHgyYSwweDAwLDB4MDgsMHgwMCwweDBhLDB4ODAsMHg0MCB9fSwKLSB7MTYsIDB4ZmFkMCwgMCwgezB4ODgsMHgwMCwweDIwLDB4YzAsMHgwYiwweDMwLDB4MDIsMHg0YiwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZhZTAsIDAsIHsweGEwLDB4MDEsMHgwNCwweDAyLDB4OTcsMHgwOCwweDJkLDB4YzAsMHgwYiwweDYwLDB4MDYsMHhjYSwweDAwLDB4ODMsMHgwOSwweDIxIH19LAotIHsxNiwgMHhmYWYwLCAwLCB7MHhjMCwweDBhLDB4NzAsMHgwMiwweGRjLDB4MDAsMHg4NSwweDMxLDB4MmQsMHg2OCwweDA5LDB4MzAsMHgwMiwweDFjLDB4MTQsMHg5MyB9fSwKLSB7MTYsIDB4ZmIwMCwgMCwgezB4MjAsMHgyMCwweGMwLDB4MDgsMHhmMCwweDQyLDB4OWMsMHgwMiwweDhmLDB4MDAsMHgyOSwweDQwLDB4MDMsMHg3MCwweDEyLDB4MjggfX0sCi0gezE2LCAweGZiMTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MTYsMHgwMCwweDk2LDB4ODQsMHgzZCwweGEwIH19LAotIHsxNiwgMHhmYjIwLCAwLCB7MHgwZiwweDc4LDB4MDMsMHg5YSwweDAyLDB4ODcsMHg4MCwweGIxLDB4ZTAsMHgwYiwweDc4LDB4MDMsMHhiNiwweDAwLDB4YzUsMHhhMCB9fSwKLSB7MTYsIDB4ZmIzMCwgMCwgezB4MzUsMHg2MSwweDBjLDB4NzgsMHgxMywweDFlLDB4MDIsMHhjNywweDgwLDB4MjksMHgwMCwweDBjLDB4NDgsMHgwMywweDkwLDB4MDAgfX0sCi0gezE2LCAweGZiNDAsIDAsIHsweGM0LDB4ODAsMHgzMSwweDYwLDB4MGYsMHg1OCwweDAzLDB4NmEsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmYjUwLCAwLCB7MHgwOCwweDFkLDB4YTQsMHgwMCwweGVhLDB4MDAsMHgzZSwweDgwLDB4MGYsMHhhMCwweDAzLDB4ZTgsMHgwOCwweGZiLDB4MDAsMHgzZSB9fSwKLSB7MTYsIDB4ZmI2MCwgMCwgezB4ODAsMHgwZiwweDkwLDB4MTMsMHhlNCwweDA4LDB4ZjksMHgwMCwweDNjLDB4NTAsMHgyZSwweGYwLDB4MDMsMHhlOCwweDA4LDB4ZmIgfX0sCi0gezE2LCAweGZiNzAsIDAsIHsweDQwLDB4M2UsMHhjMCwweDBiLDB4MzAsMHgxMywweDZjLDB4MDAsMHhmYiwweDAwLDB4M2UsMHg0MCwweDBmLDB4MzAsMHgwMywweGMyIH19LAotIHsxNiwgMHhmYjgwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweGQ2LDB4MDAsMHhjZCwweDgwLDB4MzMsMHhlMCB9fSwKLSB7MTYsIDB4ZmI5MCwgMCwgezB4MGMsMHhmOCwweDAzLDB4ZmEsMHgwMCwweGZkLDB4ODAsMHgzZiwweGEwLDB4MGQsMHhmOCwweDAzLDB4ZmEsMHg0MCwweGNkLDB4ZDAgfX0sCi0gezE2LCAweGZiYTAsIDAsIHsweDc3LDB4N2UsMHgwYywweGU4LDB4NDMsMHgxZSwweDAwLDB4Y2YsMHhkOCwweDNmLDB4ZTAsMHgwYywweGM4LDB4MDMsMHgzYSwweGM0IH19LAotIHsxNiwgMHhmYmIwLCAwLCB7MHhjYywweDgwLDB4MzMsMHhlMCwweDBjLDB4ZjgsMHgwMywweDAwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmJjMCwgMCwgezB4YTgsMHgxMSwweDk0LDB4MDIsMHg4ZCwweDAwLDB4MjEsMHhjMCwweDA4LDB4NjAsMHgwMywweGQ4LDB4MTAsMHgzNSwweDIwLDB4OGIgfX0sCi0gezE2LCAweGZiZDAsIDAsIHsweGQ0LDB4MGQsMHg2NCwweDAzLDB4ZDgsMHhjMCwweDg1LDB4MDAsMHgyZiwweDRlLDB4MDcsMHg2NCwweDAyLDB4OWMsMHgwMiwweGQ3IH19LAotIHsxNiwgMHhmYmUwLCAwLCB7MHgzMCwweDJmLDB4MDQsMHgwZCwweGYxLDB4MGIsMHg1NCwweDQwLDB4YWYsMHgwMCwweDM1LDB4NDAsMHgwOCwweDcwLDB4MDIsMHgyYSB9fSwKLSB7MTYsIDB4ZmJmMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5NCwweDQwLDB4ODQsMHgxOCwweDIxLDB4ODAgfX0sCi0gezE2LCAweGZjMDAsIDAsIHsweDA4LDB4NzAsMHgwMiwweGRhLDB4MjAsMHhiNSwweDAwLDB4MDksMHgwMCwweDA4LDB4NzAsMHgwMiwweGQ0LDB4MDQsMHg4NSwweDAwIH19LAotIHsxNiwgMHhmYzEwLCAwLCB7MHg2ZCwweDRjLDB4ODksMHg2MCwweDAyLDB4NWMsMHg0MCwweDk3LDB4MDAsMHg2ZCwweGMwLDB4MDksMHg0MCwweDAyLDB4NTgsMHg4MCB9fSwKLSB7MTYsIDB4ZmMyMCwgMCwgezB4ODQsMHg4OCwweDI1LDB4NDAsMHgwOCwweGQwLDB4MDIsMHgwMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZjMzAsIDAsIHsweDIwLDB4MTQsMHhjNiwweDQ4LDB4ODAsMHgwMCwweDIwLDB4ODAsMHgwOCwweGFjLDB4MDIsMHhhOCwweDAwLDB4YjEsMHgwMCwweGE4IH19LAotIHsxNiwgMHhmYzQwLCAwLCB7MHg4OCwweDA5LDB4MjIsMHgwMiwweDg2LDB4NDIsMHg4MSwweDAwLDB4NmMsMHg1MiwweDBiLDB4MjAsMHgwMiwweGM3LDB4NTIsMHg4MyB9fSwKLSB7MTYsIDB4ZmM1MCwgMCwgezB4MDAsMHgyYywweDAwLDB4MDgsMHgzNCwweDgyLDB4NjcsMHgwMCwweGEzLDB4ODAsMHgyMCwweDQwLDB4MDgsMHgzMCwweDAyLDB4MDggfX0sCi0gezE2LCAweGZjNjAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YTMsMHgwMCwweGNiLDB4YzAsMHhiMiwweDQwIH19LAotIHsxNiwgMHhmYzcwLCAwLCB7MHgyYywweDkwLDB4ODIsMHhlNiwweDAwLDB4YmIsMHg4MCwweGJlLDB4NzgsMHgwOCwweDhlLDB4MDIsMHhlZSwweDAwLDB4OGQsMHgwMCB9fSwKLSB7MTYsIDB4ZmM4MCwgMCwgezB4MjcsMHg2MCwweDBkLDB4OTAsMHgwYSwweDZmLDB4MDAsMHg5ZiwweDAyLDB4MmUsMHgwMCwweDA5LDB4YjQsMHgwMywweDY3LDB4ODAgfX0sCi0gezE2LCAweGZjOTAsIDAsIHsweGNhLDB4NDAsMHhlNCwweGMwLDB4MGMsMHgzMCwweDAzLDB4MmEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmY2EwLCAwLCB7MHg4MCwweDAwLDB4ZTAsMHg4MCwweGZiLDB4MjIsMHgzZSwweDQwLDB4MGYsMHg4MCwweDEzLDB4ZTQsMHgwMCwweGZiLDB4ODAsMHgzZSB9fSwKLSB7MTYsIDB4ZmNiMCwgMCwgezB4NDAsMHgwZiwweDkwLDB4MDMsMHhlNSwweDAwLDB4ZjksMHgwMCwweDNlLDB4NDAsMHgwZSwweDcwLDB4MjMsMHhhYywweDIwLDB4ZmIgfX0sCi0gezE2LCAweGZjYzAsIDAsIHsweDAwLDB4M2UsMHhjMCwweDhmLDB4ODAsMHgwMywweGU5LDB4MjAsMHhmOSwweDA4LDB4M2UsMHg0MCwweDBmLDB4YjAsMHgxMywweGUwIH19LAotIHsxNiwgMHhmY2QwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGYwLDB4MDAsMHhjNiwweDAwLDB4MzIsMHgwMCB9fSwKLSB7MTYsIDB4ZmNlMCwgMCwgezB4MGYsMHhkMSwweDgzLDB4MzQsMHg0MCwweGNmLDB4MDAsMHgzZCwweDQwLDB4MGMsMHhkMCwweDAzLDB4ZGUsMHg1MCwweDBkLDB4MDAgfX0sCi0gezE2LCAweGZjZjAsIDAsIHsweDczLDB4NDAsMHgwYywweGQxLDB4MDMsMHg3YywweDQwLDB4ODcsMHgwMiwweGIzLDB4MDAsMHgwZCwweGY0LDB4MDMsMHgyNCwweDAwIH19LAotIHsxNiwgMHhmZDAwLCAwLCB7MHhjZSwweDIwLDB4MzIsMHg0MCwweDBjLDB4ZDAsMHgwMywweDAwLDB4NDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmQxMCwgMCwgezB4ODEsMHgwNCwweDYxLDB4MjIsMHg4YSwweDAwLDB4MjIsMHgwMCwweDBiLDB4ODAsMHg0MCwweDI1LDB4MDAsMHg4OSwweGMzLDB4MmUgfX0sCi0gezE2LCAweGZkMjAsIDAsIHsweDIwLDB4MGEsMHg5OCwweDAzLDB4YTEsMHgwMCwweDg5LDB4MDAsMHgzNiwweDQwLDB4ODgsMHg5NCwweDAyLDB4MGYsMHgwMSwweGFiIH19LAotIHsxNiwgMHhmZDMwLCAwLCB7MHgwMCwweDMyLDB4YzAsMHgwOCwweDA0LDB4MGEsMHgyOSwweDAwLDB4YTksMHgwMiwweGEyLDB4NDAsMHgwZCwweGIwLDB4MGEsMHgyMCB9fSwKLSB7MTYsIDB4ZmQ0MCwgMCwgezB4NDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgwMCwweDAwLDB4ODksMHgwMCwweDIyLDB4NjEgfX0sCi0gezE2LCAweGZkNTAsIDAsIHsweDBiLDB4OTAsMHgwMiwweDI1LDB4MDEsMHg5YiwweDg4LDB4MmUsMHg2MCwweDA4LDB4ODgsMHgwMiwweGU4LDB4MDAsMHhiMSwweDAyIH19LAotIHsxNiwgMHhmZDYwLCAwLCB7MHgyNCwweDQwLDB4MTgsMHg5MCwweDAyLDB4MmMsMHgwMCwweGFiLDB4MDEsMHgyMCwweGMxLDB4MDgsMHhiNCwweDQyLDB4MmMsMHgwMCB9fSwKLSB7MTYsIDB4ZmQ3MCwgMCwgezB4ODIsMHgwMCwweDIyLDB4YzAsMHgwOCwweGIwLDB4MDIsMHgyMCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZkODAsIDAsIHsweDA4LDB4MDQsMHgwMCwweDAwLDB4MDEsMHgwMCwweDIwLDB4NDAsMHgwYiwweDAwLDB4MGEsMHgwNCwweDQ2LDB4ODMsMHgwMSwweDJjIH19LAotIHsxNiwgMHhmZDkwLCAwLCB7MHg0MCwweDFhLDB4MDAsMHgwNiwweDgwLDB4MDAsMHg4MSwweDAwLDB4MjQsMHg0MCwweDA4LDB4MjAsMHgwYSwweDBjLDB4MDEsMHhhMyB9fSwKLSB7MTYsIDB4ZmRhMCwgMCwgezB4MDAsMHgyNCwweDAwLDB4MDgsMHg4MCwweDAyLDB4MDAsMHgwMCwweGExLDB4MDAsMHgyMCwweDQwLDB4MDksMHgzMCwweDAyLDB4MDIgfX0sCi0gezE2LCAweGZkYjAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4NjAsMHgwMiwweGM4LDB4MDAsMHgyMiwweDAwIH19LAotIHsxNiwgMHhmZGMwLCAwLCB7MHgwZiwweDkwLDB4MDIsMHgyNSwweDAwLDB4ZGEsMHgwMCwweDNlLDB4NDAsMHgwYywweDkwLDB4MDIsMHhjYywweDAwLDB4ZmQsMHgwMCB9fSwKLSB7MTYsIDB4ZmRkMCwgMCwgezB4MzcsMHg0MCwweDBjLDB4MTAsMHgxMywweDJjLDB4MDIsMHhhZiwweDAwLDB4MzIsMHhjMCwweDBkLDB4YjAsMHgwMywweDJjLDB4MDAgfX0sCi0gezE2LCAweGZkZTAsIDAsIHsweGNhLDB4MDAsMHgzMiwweDQwLDB4NGMsMHg5MCwweDBiLDB4MDAsMHgwMSwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmZGYwLCAwLCB7MHhhMCwweDFkLDB4ZjAsMHgwMCwweGZjLDB4MDAsMHgzZiwweDAwLDB4MDcsMHhjMCwweDAzLDB4ZjQsMHgxYywweGY0LDB4MDAsMHgzZiB9fSwKLSB7MTYsIDB4ZmUwMCwgMCwgezB4MDAsMHgxZiwweGMwLDB4MjMsMHhiMCwweDAyLDB4OWQsMHgwMSwweDNmLDB4NDAsMHg4ZiwweGMwLDB4MDcsMHhmYywweDAyLDB4ZmYgfX0sCi0gezE2LCAweGZlMTAsIDAsIHsweDAwLDB4N2IsMHgwMCwweDBmLDB4YzAsMHgwMywweGYwLDB4MDAsMHhmZCwweDAwLDB4M2YsMHg0MCwweDBmLDB4NzAsMHgwMywweGU4IH19LAotIHsxNiwgMHhmZTIwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGZhLDB4MDAsMHhjYiwweDgwLDB4M2YsMHgyNCB9fSwKLSB7MTYsIDB4ZmUzMCwgMCwgezB4MGEsMHhjMSwweDAzLDB4ZmMsMHgyNCwweGNkLDB4MjAsMHgzNywweDBhLDB4MGMsMHhjMiwweDgzLDB4MzAsMHg4MCwweGRjLDB4MDIgfX0sCi0gezE2LCAweGZlNDAsIDAsIHsweDNmLDB4Y2MsMHgwZCwweGQ5LDB4MDMsMHgzYywweDU4LDB4ZGYsMHgzMCwweDMzLDB4YzgsMHgwZCwweGY0LDB4MjMsMHgzYywweDQwIH19LAotIHsxNiwgMHhmZTUwLCAwLCB7MHhmZiwweDAwLDB4M2YsMHhjNSwweDRmLDB4ZjAsMHgyMywweGIwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmU2MCwgMCwgezB4ODAsMHgwMCwweGVjLDB4MDIsMHgwYiwweDgyLDB4MmUsMHgwOCwweDBkLDB4YjcsMHgwMiwweGZkLDB4MDAsMHg4MywweDE4LDB4MGEgfX0sCi0gezE2LCAweGZlNzAsIDAsIHsweDU4LDB4MGEsMHg4NCwweGEyLDB4YTUsMHhhMCwweDg5LDB4MzAsMHgyMiwweDU1LDB4MDgsMHgxMiwweDYyLDB4YmQsMHg5MCwweDhmIH19LAotIHsxNiwgMHhmZTgwLCAwLCB7MHg2MiwweDIxLDB4ZDYsMHg0OCwweGYzLDB4MDIsMHgzYywweGM1LDB4YmYsMHg0OCwweDJmLDB4ZDgsMHg0YiwweGI3LDB4MDIsMHhlMCB9fSwKLSB7MTYsIDB4ZmU5MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhlYywweDAwLDB4ODMsMHgwMCwweDJlLDB4ODkgfX0sCi0gezE2LCAweGZlYTAsIDAsIHsweDI4LDB4MDAsMHgwMiwweGVjLDB4YTAsMHg4OSwweDIyLDB4MjgsMHg4MiwweDA4LDB4MTIsMHgwMiwweDI4LDB4NDAsMHg5YSwweDA4IH19LAotIHsxNiwgMHhmZWIwLCAwLCB7MHgyOCwweGM4LDB4ODgsMHhiMiwweDBhLDB4MGQsMHgxMCwweDkzLDB4MTAsMHhhMCwweGM4LDB4MjgsMHgzMCwweDAyLDB4NGMsMHgwMCB9fSwKLSB7MTYsIDB4ZmVjMCwgMCwgezB4YjMsMHg2MCwweDJjLDB4YzQsMHgwYiwweDMwLDB4YzIsMHhlMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZlZDAsIDAsIHsweGMwLDB4MTUsMHhhYywweDQwLDB4OGIsMHgwMCwweDJlLDB4ODAsMHgwOCwweGIxLDB4MDIsMHhlYywweDAyLDB4OGIsMHgwMCwweDIwIH19LAotIHsxNiwgMHhmZWUwLCAwLCB7MHhkMCwweDBhLDB4OTAsMHgwMiwweGFjLDB4MDAsMHgwYiwweDAxLDB4MjYsMHg0MCwweDA4LDB4OTQsMHgwMiwweDhjLDB4MDAsMHg4YiB9fSwKLSB7MTYsIDB4ZmVmMCwgMCwgezB4MDAsMHgyMiwweGMwLDB4MDgsMHhiMCwweDAyLDB4MmMsMHgxMCwweGJiLDB4MDAsMHgyZSwweGMwLDB4MGIsMHhiMCwweDAyLDB4ZjAgfX0sCi0gezE2LCAweGZmMDAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE0LDB4OGMsMHgyMCwweGNiLDB4MDIsMHgzZSwweDJkIH19LAotIHsxNiwgMHhmZjEwLCAwLCB7MHgwOCwweDgwLDB4MDMsMHhlYywweDA4LDB4YzksMHg4MCwweDFlLDB4MDQsMHgwYywweGIwLDB4MDMsMHgwMSwweDA4LDB4NTAsMHgxOCB9fSwKLSB7MTYsIDB4ZmYyMCwgMCwgezB4M2UsMHg0MCwweDBjLDB4MDQsMHgwMywweDJjLDB4MDAsMHhkYiwweDAxLDB4MzIsMHhjMCwweDBjLDB4YjAsMHgwYiwweDJjLDB4MDggfX0sCi0gezE2LCAweGZmMzAsIDAsIHsweGJiLDB4MDAsMHgzZSwweGMwLDB4MGYsMHhiMCwweDAzLDB4ODAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmZjQwLCAwLCB7MHhlMSwweDAwLDB4YmMsMHgwMCwweGZmLDB4MDAsMHgzZiwweDYwLDB4MGYsMHhjMCwweDIzLDB4ZWMsMHgwMCwweGZmLDB4YzAsMHhiZSB9fSwKLSB7MTYsIDB4ZmY1MCwgMCwgezB4NjAsMHg4ZiwweGM5LDB4MjMsMHhmNiwweDUwLDB4ZWQsMHg4MCwweGI4LDB4NTAsMHhhZiwweGMwLDB4MDMsMHhmYywweDAwLDB4ZmYgfX0sCi0gezE2LCAweGZmNjAsIDAsIHsweDAwLDB4M2YsMHhjMSwweDBlLDB4YjAsMHgwMywweGZjLDB4MDQsMHhmZiwweDAyLDB4M2YsMHhjMCwweDBmLDB4ZjAsMHgwMywweGY4IH19LAotIHsxNiwgMHhmZjcwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweGFjLDB4MDAsMHhlYiwweDAwLDB4MzIsMHg4MCB9fSwKLSB7MTYsIDB4ZmY4MCwgMCwgezB4MGQsMHg5MCwweDAzLDB4MmMsMHgwMCwweDg5LDB4MDAsMHgzZSwweDk4LDB4OGMsMHgzMCwweDAzLDB4NjEsMHg4MCwweGZhLDB4NDAgfX0sCi0gezE2LCAweGZmOTAsIDAsIHsweDNlLDB4NDAsMHgyYywweGE1LDB4MDMsMHgyYywweDAwLDB4ZmIsMHgwMSwweDNjLDB4YzAsMHgyYywweDMwLDB4MDMsMHgyYywweDAwIH19LAotIHsxNiwgMHhmZmEwLCAwLCB7MHhkYiwweDAyLDB4MzIsMHhjMCwweDBmLDB4YjAsMHgwMywweGQwLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmZiMCwgMCwgezB4Y2EsMHgwMCwweDJlLDB4ODAsMHg4YiwweDgyLDB4YTAsMHhjMCwweDhjLDB4OTAsMHgwMiwweDNjLDB4MDAsMHg4YiwweGYwLDB4MjIgfX0sCi0gezE2LCAweGZmYzAsIDAsIHsweGMyLDB4MGQsMHg4MCwweDAyLDB4MjcsMHgwMCwweDhiLDB4MTAsMHgyMiwweDQwLDB4MDgsMHg4MCwweDIyLDB4M2MsMHgwMCwweGJmIH19LAotIHsxNiwgMHhmZmQwLCAwLCB7MHgwMCwweDJmLDB4YzAsMHgwOCwweGYwLDB4MDIsMHgzYywweDAwLDB4YmYsMHgwMSwweGEzLDB4YzAsMHgwYiwweGYwLDB4MTIsMHhmMiB9fSwKLSB7MTYsIDB4ZmZlMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg0YywweDAwLDB4YjMsMHgxYywweDIwLDB4NDAgfX0sCi0gezE2LCAweGZmZjAsIDAsIHsweDA4LDB4MDAsMHgwNiwweDJjLDB4MDAsMHg5YiwweDAwLDB4MjAsMHhkMCwweDA4LDB4MjAsMHgwMiwweDRjLDB4MDAsMHhhMywweDAwIH19LAotIHsxNiwgMHg4MDEwLCAwLCB7MHgyYywweGMwLDB4MDgsMHgxMCwweDBhLDB4MGMsMHgwMCwweGJiLDB4MDAsMHgyOCwweGMwLDB4MDksMHgzMCwweDAyLDB4MGMsMHgwMCB9fSwKLSB7MTYsIDB4ODAyMCwgMCwgezB4YjMsMHgwMCwweDIwLDB4YzAsMHgwYiwweDMwLDB4MDIsMHhmOCwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDgwMzAsIDAsIHsweDIyLDB4MTEsMHgxZSwweDAwLDB4OTcsMHhhMCwweDIxLDB4YTAsMHgwOCwweDc5LDB4MDIsMHgxZSwweDAwLDB4OTcsMHg5MCwweDIxIH19LAotIHsxNiwgMHg4MDQwLCAwLCB7MHg2MCwweDA5LDB4ZTgsMHgyMiwweDNlLDB4MDAsMHhhZiwweDg0LDB4MjEsMHhlNCwweDQ4LDB4NWMsMHgwMiwweDFlLDB4MDAsMHhiNyB9fSwKLSB7MTYsIDB4ODA1MCwgMCwgezB4OTAsMHgyZCwweGUwLDB4MDksMHg3OCwweDAwLDB4MWUsMHgwOSwweGIzLDB4OTAsMHgyMSwweGU0LDB4MGIsMHg3OCwweDAyLDB4ZDggfX0sCi0gezE2LCAweDgwNjAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDE4LDB4MmMsMHg0MCwweGIzLDB4YjAsMHgzMiwweDQwIH19LAotIHsxNiwgMHg4MDcwLCAwLCB7MHgyYywweDgxLDB4MTMsMHgwYywweDQyLDB4ZDEsMHgwMCwweGIwLDB4YzAsMHg4YywweDMwLDB4MDMsMHg0OCwweDIwLDB4ZTMsMHgwMSB9fSwKLSB7MTYsIDB4ODA4MCwgMCwgezB4M2MsMHhjMCwweDBjLDB4MzAsMHgwMywweDBjLDB4MDAsMHhmMywweDEwLDB4M2MsMHhjMCwweGNkLDB4MzIsMHgwYiwweDBjLDB4NDAgfX0sCi0gezE2LCAweDgwOTAsIDAsIHsweGQzLDB4MDAsMHgzMCwweGMwLDB4MGYsMHgzMCwweDAzLDB4ZDIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4MGEwLCAwLCB7MHg0MCwweDE1LDB4YmMsMHgwMCwweGU3LDB4MDAsMHgzZiwweDgwLDB4MGIsMHhmMSwweDAzLDB4ZmQsMHgwMCwweDZkLDB4MDAsMHgzMiB9fSwKLSB7MTYsIDB4ODBiMCwgMCwgezB4NDAsMHgxZiwweDcwLDB4MDcsMHhkOCwweDQxLDB4YzMsMHgxMCwweDNiLDB4YzAsMHgwZiwweGQxLDB4MDMsMHhmZCwweDAwLDB4ZmYgfX0sCi0gezE2LCAweDgwYzAsIDAsIHsweDEwLDB4M2YsMHhjMCwweDBlLDB4ZjAsMHgwMywweGVjLDB4MTAsMHhmZiwweDA4LDB4M2YsMHhjMywweDBmLDB4ZjAsMHgwMywweGQwIH19LAotIHsxNiwgMHg4MGQwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxNSwweGVjLDB4MDQsMHhmYiwweDAyLDB4M2UsMHg0MCB9fSwKLSB7MTYsIDB4ODBlMCwgMCwgezB4MGIsMHhhMCwweDAzLDB4YWMsMHgwMCwweGRiLDB4MDAsMHgzNiwweDgwLDB4MGQsMHhiMCwweDAzLDB4YWMsMHgwMCwweGU4LDB4MDAgfX0sCi0gezE2LCAweDgwZjAsIDAsIHsweDM2LDB4YzEsMHgyZSwweDkwLDB4MDMsMHgyYywweDAwLDB4Y2IsMHhhMCwweDM2LDB4ZGMsMHgwZiwweGIwLDB4MDMsMHgyZCwweDY4IH19LAotIHsxNiwgMHg4MTAwLCAwLCB7MHhmYiwweGEwLDB4OTIsMHhjMiwweDBjLDB4YjEsMHgwMywweGVhLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODExMCwgMCwgezB4NDgsMHgxMSwweDljLDB4MDgsMHgzNywweDAwLDB4MmQsMHhjMCwweDBiLDB4ZTAsMHgwMiwweDFkLDB4ODAsMHhiNywweDA0LDB4MjMgfX0sCi0gezE2LCAweDgxMjAsIDAsIHsweDAwLDB4MGEsMHg0MCwweDAyLDB4MWMsMHgxOCwweDg0LDB4MDAsMHgyNSwweGMwLDB4MTgsMHg1MCwweDMyLDB4MGQsMHg4MCwweGEzIH19LAotIHsxNiwgMHg4MTMwLCAwLCB7MHgzMCwweDIxLDB4Y2MsMHgwYiwweDM0LDB4ODIsMHgxYywweDEwLDB4YjcsMHgzMCwweDIxLDB4YzgsMHgwOCwweDcwLDB4MDIsMHhkMiB9fSwKLSB7MTYsIDB4ODE0MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHg5ZSwweDIwLDB4YjcsMHg4MCwweDJkLDB4NjAgfX0sCi0gezE2LCAweDgxNTAsIDAsIHsweDBiLDB4ZmMsMHgyMiwweDllLDB4MDAsMHg4ZCwweDgwLDB4MjUsMHhhMCwweDA4LDB4ZjgsMHgyMiwweDkyLDB4MDAsMHhiNCwweDgwIH19LAotIHsxNiwgMHg4MTYwLCAwLCB7MHgyNSwweGUwLDB4MDgsMHhmOCwweDAyLDB4MWUsMHgwMCwweDg3LDB4YjAsMHgyMSwweGUwLDB4MDksMHg3YSwweDAyLDB4MWUsMHgxOCB9fSwKLSB7MTYsIDB4ODE3MCwgMCwgezB4YjMsMHg4MCwweDIxLDB4ZTAsMHgwOCwweDc4LDB4MDIsMHhmMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDgxODAsIDAsIHsweDQ4LDB4MDQsMHhjNSwweDIwLDB4YjMsMHgwMSwweDJjLDB4ZDgsMHgwYiwweDNjLDB4MDIsMHgyYywweDA4LDB4YjksMHgwMCwweDIwIH19LAotIHsxNiwgMHg4MTkwLCAwLCB7MHgwMywweDBhLDB4MDAsMHg4MiwweDIyLDB4MDgsMHg5MCwweDBkLDB4MjYsMHhlNCwweDA4LDB4MTAsMHgwMiwweDBjLDB4MDAsMHhhMyB9fSwKLSB7MTYsIDB4ODFhMCwgMCwgezB4MDAsMHgyMiwweGMwLDB4MGIsMHgzMCwweDAyLDB4NmMsMHgwMCwweGIzLDB4MDAsMHgyMiwweGMwLDB4MjgsMHgzMCwweDAyLDB4YzIgfX0sCi0gezE2LCAweDgxYjAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDA1LDB4OTksMHgwMCwweGZhLDB4MDIsMHgzZiwweDkwIH19LAotIHsxNiwgMHg4MWMwLCAwLCB7MHgwZiwweGVjLDB4MjMsMHhhOCwweDAwLDB4ZGEsMHgwMCwweDM1LDB4ODAsMHgwZCwweGUwLDB4MDIsMHhiYSwweDAyLDB4ZmUsMHhjMiB9fSwKLSB7MTYsIDB4ODFkMCwgMCwgezB4YjYsMHhhMCwweDBlLDB4ZTQsMHgwYiwweDI4LDB4MDAsMHhjYSwweDAwLDB4YjIsMHg4MCwweDBmLDB4YTAsMHgwYiwweDI4LDB4MDAgfX0sCi0gezE2LCAweDgxZTAsIDAsIHsweGZhLDB4MDAsMHgzMiwweDgwLDB4MGMsMHhhMCwweDAzLDB4ZmEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4MWYwLCAwLCB7MHg0OCwweDAwLDB4ZTAsMHgwMCwweGY4LDB4MDAsMHgzZSwweDAwLDB4MGYsMHg4MiwweDAzLDB4ZTAsMHgwMCwweGY4LDB4MDAsMHgzZSB9fSwKLSB7MTYsIDB4ODIwMCwgMCwgezB4MDAsMHgwZiwweDgxLDB4MDMsMHhlMCwweDQwLDB4ZTgsMHgxMCwweDNhLDB4MDAsMHg0ZiwweDg0LDB4ODMsMHhlMCwweDAwLDB4ZjggfX0sCi0gezE2LCAweDgyMTAsIDAsIHsweDAwLDB4M2EsMHgwMCwweDBmLDB4MDAsMHgwMywweGEwLDB4MDAsMHhmOCwweDAwLDB4M2UsMHgwMCwweDBmLDB4ODAsMHgwMywweGQyIH19LAotIHsxNiwgMHg4MjIwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwMCwweGU1LDB4MDAsMHhjOSwweDAyLDB4M2UsMHg0MCB9fSwKLSB7MTYsIDB4ODIzMCwgMCwgezB4MGYsMHg5MCwweDIzLDB4MjQsMHgwMCwweGM5LDB4MDAsMHgzMiwweDY4LDB4MmYsMHgxMCwweDAzLDB4MjQsMHgwMCwweGU5LDB4MTQgfX0sCi0gezE2LCAweDgyNDAsIDAsIHsweDMyLDB4NDAsMHgwZCwweDkwLDB4MGIsMHgwNCwweDAwLDB4ZDksMHgwMCwweDFlLDB4NDAsMHgwYywweDkwLDB4MDMsMHgyNCwweDAwIH19LAotIHsxNiwgMHg4MjUwLCAwLCB7MHhjOSwweDAwLDB4MzYsMHg0MCwweDBjLDB4OTAsMHgwMywweDAyLDB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODI2MCwgMCwgezB4ODAsMHgxNCwweDY0LDB4MDAsMHg4OSwweDAxLDB4MmUsMHg0MCwweDRiLDB4OTAsMHgxMiwweDI0LDB4MDAsMHg4OSwweGMyLDB4YTIgfX0sCi0gezE2LCAweDgyNzAsIDAsIHsweDYwLDB4ODgsMHg5MCwweDAzLDB4NjQsMHgwMCwweDg5LDB4YzEsMHhhMiwweDQwLDB4NDgsMHgxNiwweDAzLDB4NjQsMHgwMiwweDg5IH19LAotIHsxNiwgMHg4MjgwLCAwLCB7MHgwMCwweDJlLDB4NDAsMHgwOCwweDkwLDB4MjIsMHgyNCwweDAwLDB4ODksMHgwMCwweDNlLDB4NDAsMHgyOCwweDkwLDB4MGEsMHgyMCB9fSwKLSB7MTYsIDB4ODI5MCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDQsMHgyNCwweDAwLDB4ODksMHgwMiwweDJlLDB4NDAgfX0sCi0gezE2LCAweDgyYTAsIDAsIHsweDBiLDB4MTAsMHgwMiwweDI0LDB4MDAsMHg4OSwweDEwLDB4MjIsMHg0MCwweDg5LDB4OTAsMHgwMiwweGFjLDB4MDAsMHhhMSwweDA4IH19LAotIHsxNiwgMHg4MmIwLCAwLCB7MHgyMiwweDQwLDB4MDksMHg5OCwweDAyLDB4YTQsMHgwMCwweDg5LDB4MDAsMHgyYSwweDQwLDB4MDgsMHg5MCwweDAyLDB4MjQsMHgwMCB9fSwKLSB7MTYsIDB4ODJjMCwgMCwgezB4ODksMHgwMCwweDI2LDB4NDAsMHgwOCwweDEwLDB4MDIsMHgwNiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDgyZDAsIDAsIHsweDA4LDB4MDAsMHgyNCwweDAwLDB4ODEsMHgwMCwweDJjLDB4NDEsMHgwYiwweDEyLDB4MDIsMHgwNCwweDgxLDB4ODEsMHgyMCwweDIyIH19LAotIHsxNiwgMHg4MmUwLCAwLCB7MHg0OCwweDA4LDB4MTIsMHgwMiwweGM0LDB4ODEsMHg4MSwweDI0LDB4MDIsMHg0OCwweDBhLDB4OTAsMHgwMiwweDg0LDB4YTAsMHg4MSB9fSwKLSB7MTYsIDB4ODJmMCwgMCwgezB4MjgsMHg2YywweDRhLDB4MDgsMHgxMiwweGQyLDB4MDQsMHhhMSwweDgxLDB4MjgsMHgyYywweDRhLDB4MDgsMHgxMiwweDgyLDB4MDIgfX0sCi0gezE2LCAweDgzMDAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDA4LDB4NjEsMHg0MCwweGM4LDB4MDAsMHgyZSwweDE0IH19LAotIHsxNiwgMHg4MzEwLCAwLCB7MHgwZiwweDg1LDB4MGIsMHgyMSwweDQyLDB4Y2EsMHg1MCwweDIyLDB4MTQsMHgwZCwweDg1LDB4NDMsMHhhMSwweDQwLDB4ZTgsMHg1MCB9fSwKLSB7MTYsIDB4ODMyMCwgMCwgezB4MzAsMHgwMCwweDBkLDB4ODUsMHgwMiwweGExLDB4YzAsMHhkOCwweDIwLDB4M2EsMHgwOCwweDJjLDB4ODIsMHgwYiwweDIwLDB4ODIgfX0sCi0gezE2LCAweDgzMzAsIDAsIHsweGM4LDB4MjAsMHgzNCwweDA5LDB4OGMsMHg4MiwweDAzLDB4MmUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4MzQwLCAwLCB7MHg5OCwweDBkLDB4ZmMsMHgwMiwweGY5LDB4MDAsMHgzZiwweDQwLDB4NGYsMHhkMSwweDAzLDB4ZTQsMHg0MCwweGY1LDB4MTQsMHhiZiB9fSwKLSB7MTYsIDB4ODM1MCwgMCwgezB4NDQsMHgwZCwweDUxLDB4MjMsMHg1YywweDQwLDB4ZjUsMHgxMCwweDFmLDB4NGUsMHg0ZCwweDUwLDB4MDMsMHg2NCwweDA4LDB4ZjkgfX0sCi0gezE2LCAweDgzNjAsIDAsIHsweDI4LDB4M2UsMHg0YSwweDhmLDB4OTIsMHg4MywweGU0LDB4YTAsMHhmOSwweDI4LDB4M2EsMHg0YiwweDBmLDB4OTIsMHg4MywweGU2IH19LAotIHsxNiwgMHg4MzcwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGY0LDB4NDAsMHhmZCwweDAwLDB4MzAsMHg0MCB9fSwKLSB7MTYsIDB4ODM4MCwgMCwgezB4MGMsMHg5MCwweDAzLDB4MjQsMHgwMCwweGRkLDB4MDAsMHgzYiwweDQwLDB4MGUsMHg5MCwweDAzLDB4NzQsMHgwMCwweDVkLDB4MDAgfX0sCi0gezE2LCAweDgzOTAsIDAsIHsweDM2LDB4NjQsMHgwZCwweGQwLDB4MDAsMHhhNiwweDAwLDB4ZjksMHg0MCwweDMyLDB4NzgsMHgwYywweDk5LDB4MDMsMHgyNCwweDQwIH19LAotIHsxNiwgMHg4M2EwLCAwLCB7MHhjOSwweDkwLDB4MzIsMHg1MCwweDBmLDB4OWIsMHgwMywweDA2LDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODNiMCwgMCwgezB4MzgsMHgxMCwweGUyLDB4ODAsMHhiOCwweDAwLDB4MjIsMHgwMSwweDA4LDB4ODAsMHgwYSwweDIwLDB4MDAsMHg4OCwweDAwLDB4MmEgfX0sCi0gezE2LCAweDgzYzAsIDAsIHsweDAwLDB4MDgsMHg4MCwweDAyLDB4MjAsMHgwMCwweDg4LDB4MDAsMHgyMiwweDIwLDB4MDgsMHg4YSwweDhiLDB4ZTEsMHgwMCwweGI4IH19LAotIHsxNiwgMHg4M2QwLCAwLCB7MHg4MCwweDIyLDB4MzAsMHgyOCwweDBkLDB4MDIsMHgyMiwweDAwLDB4ZDgsMHhlNCwweDIyLDB4MjgsMHgwYiwweDhmLDB4MGEsMHgwZSB9fSwKLSB7MTYsIDB4ODNlMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhjNCwweDgwLDB4YjEsMHgwMCwweGEwLDB4NDAgfX0sCi0gezE2LCAweDgzZjAsIDAsIHsweDA4LDB4MTAsMHgwMiwweDA0LDB4MDAsMHg4OSwweDAwLDB4MDgsMHg0MCwweDBhLDB4OTAsMHg0MiwweDQ0LDB4MDAsMHg5MSwweDAwIH19LAotIHsxNiwgMHg4NDAwLCAwLCB7MHgyMCwweDU4LDB4MjgsMHg5MCwweDAyLDB4ODUsMHgwMCwweDgxLDB4MjAsMHhhMCwweDRjLDB4MDksMHgxMiwweDBhLDB4MDQsMHg4MCB9fSwKLSB7MTYsIDB4ODQxMCwgMCwgezB4OTEsMHg0MCwweGEwLDB4NDAsMHgwYiwweDEwLDB4MDIsMHgwMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDg0MjAsIDAsIHsweDE4LDB4MTUsMHhhNCwweDAwLDB4YjksMHgwMiwweDIwLDB4NDAsMHgwOCwweDkwLDB4MDIsMHgwNCwweDAwLDB4ODksMHgwMSwweDIyIH19LAotIHsxNiwgMHg4NDMwLCAwLCB7MHg0MCwweDI4LDB4OTAsMHgyMiwweDA0LDB4MDAsMHg4OSwweDEwLDB4MjIsMHg0MCwweDA4LDB4OTAsMHgwMiwweGU0LDB4MDAsMHhiMSB9fSwKLSB7MTYsIDB4ODQ0MCwgMCwgezB4MDAsMHgyMiwweDQwLDB4ODEsMHg5MCwweDAyLDB4MDQsMHgwMCwweDkxLDB4MDAsMHgyMiwweDQwLDB4MGIsMHg5MCwweDAyLDB4MDYgfX0sCi0gezE2LCAweDg0NTAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4ZTUsMHgwMCwweGYxLDB4MDAsMHgzMiwweDYwIH19LAotIHsxNiwgMHg4NDYwLCAwLCB7MHgyYywweDkyLDB4MTMsMHgyNCwweDAyLDB4ZDEsMHgxMCwweDNhLDB4NDAsMHgwZSwweDEyLDB4MDMsMHg2NiwweDA0LDB4ZDksMHgwMCB9fSwKLSB7MTYsIDB4ODQ3MCwgMCwgezB4YjYsMHg0MCwweDBkLDB4MTksMHgwMywweGE0LDB4MDAsMHhmOSwweDAwLDB4MzIsMHg0MCwweDA5LDB4OTAsMHgwMSwweDI0LDB4MDAgfX0sCi0gezE2LCAweDg0ODAsIDAsIHsweGQ5LDB4MDIsMHgyMiwweDQwLDB4MGYsMHg5MCwweDAzLDB4MjgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4NDkwLCAwLCB7MHgyYSwweDAxLDB4YTUsMHgwMCwweGY5LDB4MDAsMHgzZSwweDY0LDB4MGYsMHgxMCwweDAzLDB4ZTQsMHgwMCwweGY5LDB4ODEsMHgzZSB9fSwKLSB7MTYsIDB4ODRhMCwgMCwgezB4NjYsMHg4ZiwweDkwLDB4MjMsMHhlNCwweDgwLDB4ZjksMHgwNCwweDNlLDB4NDAsMHg4ZiwweDkwLDB4MDMsMHhlNCwweDA0LDB4ZjkgfX0sCi0gezE2LCAweDg0YjAsIDAsIHsweDAwLDB4M2MsMHg0MCwweDBlLDB4OTAsMHgwMywweGU0LDB4MDAsMHhmOSwweDAwLDB4M2UsMHg0MCwweDBmLDB4MTAsMHgwMywweGNhIH19LAotIHsxNiwgMHg4NGMwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MmEsMHgxMCwweGEwLDB4MDAsMHhmOCwweDI0LDB4M2UsMHgwMCB9fSwKLSB7MTYsIDB4ODRkMCwgMCwgezB4MmMsMHg4NCwweDAzLDB4MjAsMHgwMCwweGI4LDB4MjAsMHgzZSwweDAwLDB4OGMsMHg4MCwweDAzLDB4YTAsMHgwMCwweDcwLDB4ODIgfX0sCi0gezE2LCAweDg0ZTAsIDAsIHsweDMyLDB4MDAsMHgwZiwweDgwLDB4MDMsMHgyMCwweDA4LDB4ZjgsMHgwMCwweDMyLDB4MDAsMHgyYywweDgwLDB4MGIsMHgyMCwweDA4IH19LAotIHsxNiwgMHg4NGYwLCAwLCB7MHhjOCwweDAwLDB4M2UsMHgwMCwweDBjLDB4ODAsMHgwMywweGNhLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODUwMCwgMCwgezB4MjgsMHgwNSwweDI4LDB4MDQsMHhiZSwweDgwLDB4M2EsMHg4MCwweDA4LDB4YTAsMHgwMiwweDI4LDB4MDQsMHg4ZSwweDAwLDB4NmQgfX0sCi0gezE2LCAweDg1MTAsIDAsIHsweDkwLDB4MGQsMHhhMCwweDAyLDB4M2EsMHgwMCwweDhlLDB4ODAsMHhhMiwweDgwLDB4MGUsMHhlMCwweDBiLDB4NjgsMHgwMCwweGJhIH19LAotIHsxNiwgMHg4NTIwLCAwLCB7MHgwMCwweDIyLDB4ODAsMHgwOCwweGEwLDB4MDIsMHgyOCwweDAwLDB4ZGEsMHgwMCwweDJlLDB4ODAsMHgwOCwweGEwLDB4MDIsMHhjYSB9fSwKLSB7MTYsIDB4ODUzMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4ODEsMHg0YywweDAwLDB4YjEsMHgwMCwweDJjLDB4YzAgfX0sCi0gezE2LCAweDg1NDAsIDAsIHsweDA4LDB4MzAsMHgwMiwweDBjLDB4MTgsMHhhMywweDAyLDB4MmMsMHgxMCwweDg4LDB4MzAsMHgwNiwweDgyLDB4ODEsMHhhMCwweDAwIH19LAotIHsxNiwgMHg4NTUwLCAwLCB7MHgyYSwweGMwLDB4MGIsMHgzMCwweDBhLDB4NGMsMHgwMCwweGIzLDB4MDAsMHgyMCwweGMwLDB4MWEsMHhiMCwweDAyLDB4OGMsMHgwMSB9fSwKLSB7MTYsIDB4ODU2MCwgMCwgezB4ODMsMHgwMCwweDJjLDB4YzAsMHgwOCwweDMwLDB4MDIsMHhjYSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDg1NzAsIDAsIHsweDIwLDB4MDEsMHgxYywweDEwLDB4YjQsMHgwYSwweDJiLDB4YzgsMHgwOCwweDMxLDB4MjYsMHgxYywweDAwLDB4ODYsMHgwMCwweDJkIH19LAotIHsxNiwgMHg4NTgwLCAwLCB7MHhjMCwweDA5LDB4NzIsMHgwMiwweDFkLDB4MDAsMHhhNSwweDQwLDB4MjksMHhjMCwweDBhLDB4NjAsMHgwMiwweDVjLDB4ODgsMHhiMyB9fSwKLSB7MTYsIDB4ODU5MCwgMCwgezB4MjAsMHgyNSwweGM4LDB4MGEsMHg3MiwweDAyLDB4OWMsMHg4MCwweDk3LDB4MjAsMHgyYywweGU4LDB4ODAsMHg3MiwweDAyLDB4ZTggfX0sCi0gezE2LCAweDg1YTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA4LDB4MTYsMHgwMCwweGI1LDB4ODAsMHgzZCwweGUyIH19LAotIHsxNiwgMHg4NWIwLCAwLCB7MHgwYywweDdhLDB4OGIsMHgwZSwweGMwLDB4YTcsMHg4MSwweDJjLDB4MjAsMHgwYywweGZjLDB4MDMsMHg5MiwweDAyLDB4ZWYsMHg4MCB9fSwKLSB7MTYsIDB4ODVjMCwgMCwgezB4MzksMHhlNCwweDBiLDB4ZDgsMHgwMSwweDFmLDB4MDAsMHhmNywweDgwLDB4YjMsMHhmNCwweDhlLDB4NzksMHgwMywweDhlLDB4MDAgfX0sCi0gezE2LCAweDg1ZDAsIDAsIHsweGM3LDB4YzQsMHgzZCwweGU4LDB4MmMsMHg3YiwweDAzLDB4ZWEsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4NWUwLCAwLCB7MHgwOCwweDFkLDB4YWMsMHgwMCwweGY4LDB4MDAsMHgzZSwweGRkLDB4ODcsMHhiNiwweDAzLDB4ZWQsMHhjYywweGU5LDB4MDAsMHgzZSB9fSwKLSB7MTYsIDB4ODVmMCwgMCwgezB4NDAsMHgwZiwweGIwLDB4MDcsMHhjYywweDEwLDB4MGIsMHgwMCwweDM2LDB4ZDgsMHgwZiwweDgwLDB4NDMsMHhhZCwweDgwLDB4ZmIgfX0sCi0gezE2LCAweDg2MDAsIDAsIHsweDI4LDB4M2EsMHhjMCwweDBkLDB4YjQsMHgwMywweDZjLDB4ZTIsMHhlYiwweDYwLDB4M2UsMHhkNCwweDBmLDB4YjAsMHgwMywweGMyIH19LAotIHsxNiwgMHg4NjEwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwNSwweGZlLDB4MDAsMHhmZSwweDkwLDB4M2YsMHhlNSB9fSwKLSB7MTYsIDB4ODYyMCwgMCwgezB4MGUsMHhmOCwweDAzLDB4M2UsMHgxMCwweGZmLDB4OTAsMHgxNywweDYwLDB4MGYsMHhmYywweDAzLDB4N2EsMHgwMCwweGVlLDB4ODAgfX0sCi0gezE2LCAweDg2MzAsIDAsIHsweDM3LDB4ZTIsMHgwZSwweDc4LDB4MGYsMHhmZiwweDQwLDB4ZWYsMHg4OCwweDFmLDB4ZTAsMHgwYywweGY4LDB4ODMsMHhmZSwweDgwIH19LAotIHsxNiwgMHg4NjQwLCAwLCB7MHhjZiwweGQwLDB4YjMsMHhmMCwweDBjLDB4ZjgsMHhjMywweDEwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODY1MCwgMCwgezB4YTgsMHgxMSwweDljLDB4NDAsMHhiNCwweDEwLDB4MGYsMHhjYywweDAwLDB4NzIsMHgwMiwweDFjLDB4MDAsMHhiNiwweDAyLDB4MDkgfX0sCi0gezE2LCAweDg2NjAsIDAsIHsweGMwLDB4MjgsMHhmMCwweDAyLDB4OTgsMHgwMCwweGE2LDB4MDAsMHgyMSwweGMwLDB4MGIsMHg2MCwweDAzLDB4ZmMsMHgwMiwweDg3IH19LAotIHsxNiwgMHg4NjcwLCAwLCB7MHgwMCwweDJkLDB4YzAsMHgwOCwweDcwLDB4MDIsMHhkZSwweDAwLDB4OGYsMHgxMCwweDIxLDB4YzAsMHgwOCwweGYwLDB4MDMsMHg2YSB9fSwKLSB7MTYsIDB4ODY4MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDAsMHg5NCwweDAwLDB4YjYsMHgwMiwweDJmLDB4YzIgfX0sCi0gezE2LCAweDg2OTAsIDAsIHsweDFhLDB4MzAsMHg4MCwweDFjLDB4MDAsMHhiNiwweDA4LDB4MDEsMHg0MCwweDBhLDB4ZjAsMHgwMiwweDE4LDB4MDAsMHg4NywweDAwIH19LAotIHsxNiwgMHg4NmEwLCAwLCB7MHgyMSwweGMwLDB4MGIsMHhkMCwweDAyLDB4OWMsMHgxMCwweDg3LDB4MDAsMHgyOSwweGMwLDB4MDgsMHg3MCwweDAyLDB4ZGMsMHg0NCB9fSwKLSB7MTYsIDB4ODZiMCwgMCwgezB4ODcsMHgxMCwweDY0LDB4YzAsMHgwOCwweDcwLDB4MDIsMHgwNiwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDg2YzAsIDAsIHsweDYwLDB4MTQsMHhjZSwweDYwLDB4YjAsMHgwMCwweDJjLDB4YzAsMHgwOCwweDM0LDB4MGEsMHgwYywweDA4LDB4YjAsMHgwNCwweDAwIH19LAotIHsxNiwgMHg4NmQwLCAwLCB7MHg0MCwweDA4LDB4MzAsMHhhMiwweDg5LDB4ODAsMHhhMiwweDYyLDB4MjAsMHhlMCwweDBiLDB4MDAsMHgwYSwweGNjLDB4MDgsMHg4MyB9fSwKLSB7MTYsIDB4ODZlMCwgMCwgezB4MDAsMHg2YywweGMwLDB4MDgsMHgzMCwweDUyLDB4Y2MsMHgwMCwweDgzLDB4MDAsMHgyNCwweGMwLDB4MDgsMHgzMCwweDAyLDB4NTggfX0sCi0gezE2LCAweDg2ZjAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YWUsMHgwMCwweGY4LDB4MDAsMHgzZiwweGQwIH19LAotIHsxNiwgMHg4NzAwLCAwLCB7MHgwZSwweGZjLDB4MDMsMHgzYywweDAwLDB4ZjksMHgwMCwweDkyLDB4ODQsMHgwZiwweGZjLDB4MDMsMHg2NCwweDAwLDB4ODAsMHgwMCB9fSwKLSB7MTYsIDB4ODcxMCwgMCwgezB4YjcsMHhjMywweDBmLDB4YjgsMHg4MywweGJjLDB4MDQsMHhlZiwweDAwLDB4M2YsMHhjMCwweDNjLDB4ZjAsMHgwMywweGZjLDB4MDIgfX0sCi0gezE2LCAweDg3MjAsIDAsIHsweGNmLDB4MDAsMHgzNywweGMwLDB4MjgsMHhmMCwweDEzLDB4MmEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4NzMwLCAwLCB7MHg4MCwweDAwLDB4ZWMsMHgwMCwweGY4LDB4NDEsMHgzZSwweGM4LDB4MGYsMHgzMiwweDAzLDB4ZWMsMHgwMCwweGY4LDB4MDAsMHgzYSB9fSwKLSB7MTYsIDB4ODc0MCwgMCwgezB4YzQsMHgwZiwweGIxLDB4MDMsMHhjNCwweDAwLDB4ZjksMHgwMCwweDM2LDB4YzAsMHgwZiwweGU0LDB4MGIsMHhlYywweDA0LDB4ZmIgfX0sCi0gezE2LCAweDg3NTAsIDAsIHsweDAwLDB4M2UsMHhjMSwweDBmLDB4YjAsMHg0MywweGVjLDB4MDQsMHhmYiwweDAwLDB4M2EsMHhjMCwweDBmLDB4YjAsMHgwMywweGU0IH19LAotIHsxNiwgMHg4NzYwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGY0LDB4MDAsMHhmYywweDgwLDB4M2YsMHhjMCB9fSwKLSB7MTYsIDB4ODc3MCwgMCwgezB4MWYsMHhmMCwweDAzLDB4M2MsMHgwOCwweGZiLDB4MDAsMHgzMywweDgwLDB4MmUsMHhmMCwweDEzLDB4YTQsMHgwNCwweGNiLDB4MDAgfX0sCi0gezE2LCAweDg3ODAsIDAsIHsweGI5LDB4YzAsMHgyYywweGQ4LDB4MGIsMHgzYywweDAwLDB4ZmYsMHgwMCwweDNmLDB4YzAsMHgwOSwweDcwLDB4MDAsMHgyYywweDA0IH19LAotIHsxNiwgMHg4NzkwLCAwLCB7MHhmZiwweDAwLDB4M2YsMHhjMCwweDBmLDB4ZjAsMHgwMywweGMwLDB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODdhMCwgMCwgezB4YzEsMHgwMCwweDZjLDB4MDAsMHhiOCwweDgwLDB4MmUsMHhjMCwweDBiLDB4YjAsMHgwMywweDZjLDB4MDAsMHhiOSwweDE2LDB4MjggfX0sCi0gezE2LCAweDg3YjAsIDAsIHsweDcyLDB4MDgsMHhiMCwweDIyLDB4MjcsMHg0MCwweGRiLDB4MDAsMHgyMiwweGMwLDB4MDgsMHhiZCwweDgyLDB4MmMsMHgwOCwweGJiIH19LAotIHsxNiwgMHg4N2MwLCAwLCB7MHgwMCwweDJlLDB4YzAsMHg0OCwweGIwLDB4MDIsMHgyYywweDAwLDB4YmIsMHgwMCwweDJlLDB4YzEsMHgwYiwweGIwLDB4MDIsMHhlMCB9fSwKLSB7MTYsIDB4ODdkMCwgMCwgezB4NDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgyYywweDAwLDB4YjgsMHg2MCwweDJlLDB4YzAgfX0sCi0gezE2LCAweDg3ZTAsIDAsIHsweDBiLDB4YjAsMHgwMiwweDJjLDB4MDAsMHhiMSwweDAwLDB4MmEsMHg4NCwweDRhLDB4MzAsMHgyMiwweGFjLDB4MjAsMHg5OCwweDgwIH19LAotIHsxNiwgMHg4N2YwLCAwLCB7MHgyYSwweGMwLDB4MDgsMHgzMCwweDAyLDB4YWMsMHgwMCwweDNiLDB4MDAsMHgyYywweGMwLDB4MGEsMHhiMCwweDAyLDB4YWMsMHgwOCB9fSwKLSB7MTYsIDB4ODgwMCwgMCwgezB4YmIsMHgwMCwweDJlLDB4YzAsMHgwYiwweGIwLDB4NDIsMHhlMCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDg4MTAsIDAsIHsweDA4LDB4MDQsMHgwYywweDAxLDB4YjAsMHgwMCwweDJjLDB4YzAsMHgwYiwweDMwLDB4MDIsMHg0YywweDA0LDB4YjAsMHgwMCwweDJhIH19LAotIHsxNiwgMHg4ODIwLCAwLCB7MHg4MCwweDA4LDB4MzAsMHgwMiwweDAwLDB4MDAsMHgxMCwweDA0LDB4MjgsMHhjMCwweDA4LDB4MjAsMHg0MiwweDhjLDB4MDAsMHhiMyB9fSwKLSB7MTYsIDB4ODgzMCwgMCwgezB4MDAsMHgyYywweGMwLDB4NDIsMHgzMCwweDBhLDB4OGMsMHgwMCwweGIzLDB4MDAsMHgyYywweGMwLDB4OGIsMHgzMCwweDAyLDB4YzIgfX0sCi0gezE2LCAweDg4NDAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4NjQsMHgwMCwweGY4LDB4NTAsMHgzZiwweGMwIH19LAotIHsxNiwgMHg4ODUwLCAwLCB7MHgwYiwweGYwLDB4MDMsMHgzYywweDAwLDB4ZmEsMHgwNCwweDMyLDB4ODAsMHgwZSwweGYwLDB4MjMsMHhhYywweDAwLDB4ZDksMHgwMCB9fSwKLSB7MTYsIDB4ODg2MCwgMCwgezB4M2IsMHhjMCwweDBjLDB4OTAsMHgwMywweGJjLDB4MDQsMHhmZiwweDAwLDB4M2QsMHhjMCwweDJlLDB4ZjAsMHgwYiwweDNjLDB4MDAgfX0sCi0gezE2LCAweDg4NzAsIDAsIHsweGZmLDB4MDQsMHgzZiwweGMwLDB4MGYsMHhmMCwweDAzLDB4YzAsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4ODgwLCAwLCB7MHhhMCwweDFkLDB4ZmMsMHgwMCwweGZjLDB4MDAsMHgzZiwweGMwLDB4MDcsMHhmMCwweDAzLDB4ZmMsMHgwNCwweDdjLDB4MDIsMHhiNSB9fSwKLSB7MTYsIDB4ODg5MCwgMCwgezB4MDAsMHgwZiwweGYwLDB4MDMsMHhmMCwweDAwLDB4ZmMsMHgwMCwweDM3LDB4YzAsMHgwZiwweGYwLDB4MTMsMHg3YywweDAwLDB4ZmYgfX0sCi0gezE2LCAweDg4YTAsIDAsIHsweDAwLDB4M2YsMHhjMCwweDBkLDB4ZjAsMHgwMywweDZkLDB4MDAsMHhmZiwweDAwLDB4M2YsMHhjMCwweDFmLDB4ZjAsMHgwMywweGU4IH19LAotIHsxNiwgMHg4OGIwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGQyLDB4MDAsMHhkNSwweDgwLDB4MzMsMHgwYSB9fSwKLSB7MTYsIDB4ODhjMCwgMCwgezB4NGMsMHhmOCwweDAzLDB4ZjIsMHgwMCwweGZjLDB4MDAsMHgzNywweDI2LDB4MWYsMHhjYSwweDAzLDB4YmMsMHhjNCwweGNmLDB4MjAgfX0sCi0gezE2LCAweDg4ZDAsIDAsIHsweDMzLDB4ZTQsMHgwZiwweDc4LDB4MDMsMHgzZSwweDQ0LDB4Y2YsMHgwMCwweDNiLDB4Y2UsMHg5ZiwweDY4LDB4MTMsMHhkMCwweDAwIH19LAotIHsxNiwgMHg4OGUwLCAwLCB7MHhjZCwweDgwLDB4YjMsMHg2MCwweDBmLDB4ZmEsMHg4MywweGYwLDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODhmMCwgMCwgezB4ODAsMHgxMCwweGUwLDB4ODAsMHhjOSwweDI4LDB4MjIsMHgzMCwweDA4LDB4YjIsMHgyMiwweGVhLDB4MDEsMHhiOCwweDgyLDB4MjAgfX0sCi0gezE2LCAweDg5MDAsIDAsIHsweDUwLDB4NGYsMHg5YywweDAwLDB4YTgsMHhkMSwweGRiLDB4MTAsMHhhNiwweGUwLDB4MTcsMHhiOCwweDAzLDB4ZWMsMHg4MCwweGRiIH19LAotIHsxNiwgMHg4OTEwLCAwLCB7MHgwOCwweDFmLDB4ZDAsMHgwYiwweGI4LDB4MDIsMHhmNiwweDAwLDB4ZmIsMHg4MCwweDIyLDB4NDAsMHgwYiwweGIwLDB4MDIsMHg2MCB9fSwKLSB7MTYsIDB4ODkyMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjNCwweDIwLDB4ODEsMHg4MCwweDIwLDB4MDAgfX0sCi0gezE2LCAweDg5MzAsIDAsIHsweDhiLDB4MzAsMHg4MiwweGMwLDB4MDAsMHhiMCwweDEwLDB4MjgsMHgwOCwweDhiLDB4MTEsMHgzMCwweGM0LDB4ODQsMHg5MCwweDI4IH19LAotIHsxNiwgMHg4OTQwLCAwLCB7MHgyNCwweGM4LDB4MGIsMHgzMCwweDAyLDB4NGMsMHgwMCwweDgzLDB4MTAsMHgwNCwweGM4LDB4MGIsMHgzMCwweDAyLDB4Y2MsMHgwMCB9fSwKLSB7MTYsIDB4ODk1MCwgMCwgezB4YjMsMHgwMCwweDI0LDB4NDAsMHgwYiwweDMwLDB4MDIsMHhlMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDg5NjAsIDAsIHsweGMwLDB4MTUsMHhhNiwweDAwLDB4ODEsMHgwMCwweDIyLDB4MTAsMHgwYiwweGIwLDB4MTIsMHhlYSwweDIwLDB4YmIsMHgwMCwweDJhIH19LAotIHsxNiwgMHg4OTcwLCAwLCB7MHg3MCwweDBhLDB4OWMsMHgwMiwweDYyLDB4MDAsMHg5OCwweDg4LDB4MjYsMHhjOCwweDAyLDB4YjIsMHgwMiwweDhlLDB4MDgsMHg4YiB9fSwKLSB7MTYsIDB4ODk4MCwgMCwgezB4MTgsMHgyMiwweGMwLDB4MGIsMHhhMCwweDAyLDB4ZWUsMHgyMCwweDNiLDB4MDAsMHgyNiwweDQwLDB4MGIsMHhiMCwweDAyLDB4NzAgfX0sCi0gezE2LCAweDg5OTAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDE1LDB4ZTAsMHgwMCwweGNiLDB4MDAsMHgzMiwweDgwIH19LAotIHsxNiwgMHg4OWEwLCAwLCB7MHgwZiwweGIwLDB4MDMsMHhlNywweDAwLDB4YjgsMHg1MiwweDNlLDB4MjAsMHg0YiwweDBjLDB4NDMsMHhlZiwweDgyLDB4OWIsMHhjMCB9fSwKLSB7MTYsIDB4ODliMCwgMCwgezB4MzIsMHhjMCwweDBiLDB4YjAsMHgwMiwweDZjLDB4MDEsMHg4YiwweDgwLDB4MmUsMHhjMCwweDBiLDB4YTAsMHg4MywweGU2LDB4MDAgfX0sCi0gezE2LCAweDg5YzAsIDAsIHsweGZiLDB4MDAsMHgzNiwweDQwLDB4MGYsMHhmMCwweDAzLDB4ZDAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4OWQwLCAwLCB7MHhlMCwweDAxLDB4YjAsMHgwMiwweGZmLDB4MDQsMHgzZiwweDkwLDB4MGMsMHhmMSwweDAxLDB4ZjQsMHgwOCwweDdkLDB4ODAsMHgzNyB9fSwKLSB7MTYsIDB4ODllMCwgMCwgezB4MDAsMHgwZiwweGMwLDB4MjMsMHg5OCwweDAwLDB4ZjcsMHgwMCwweDJiLDB4ZTAsMHgwZiwweGY4LDB4MjMsMHhmYywweDA2LDB4ZmIgfX0sCi0gezE2LCAweDg5ZjAsIDAsIHsweDgzLDB4YmYsMHhjMCwweDg3LDB4ZDAsMHgwMywweGRjLDB4MDAsMHhlZiwweDAwLDB4M2IsMHhjMCwweDBmLDB4YjAsMHgwMSwweGY4IH19LAotIHsxNiwgMHg4YTAwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweGE2LDB4MDAsMHhjYiwweDAwLDB4MzMsMHg4MCB9fSwKLSB7MTYsIDB4OGExMCwgMCwgezB4MGYsMHhiMCwweDAzLDB4ZTEsMHgxMCwweGYyLDB4NDAsMHhiMiwweDAwLDB4M2QsMHg5NCwweDE3LDB4MmQsMHg0NCwweGZhLDB4NDEgfX0sCi0gezE2LCAweDhhMjAsIDAsIHsweDMyLDB4YzAsMHg5ZiwweGIwLDB4MjMsMHgyYywweDAyLDB4Y2IsMHg0MCwweDMyLDB4YzAsMHg0ZiwweDkwLDB4MDMsMHgzZCwweDAwIH19LAotIHsxNiwgMHg4YTMwLCAwLCB7MHhjYiwweDAwLDB4M2UsMHg0MCwweDBmLDB4YjAsMHgwMywweDEwLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OGE0MCwgMCwgezB4ODgsMHgwNSwweDI2LDB4MDAsMHg4YiwweDcxLDB4MjAsMHhkNSwweDAzLDB4OTksMHgwMiwweGUwLDB4MDAsMHhiYiwweDgwLDB4MjIgfX0sCi0gezE2LCAweDhhNTAsIDAsIHsweDYwLDB4MWMsMHg4MCwweDAzLDB4NjAsMHgwMCwweGI4LDB4MDIsMHgyMiwweGMyLDB4MGIsMHgzMiwweDAyLDB4MmMsMHgwMSwweDhmIH19LAotIHsxNiwgMHg4YTYwLCAwLCB7MHgwMiwweGQ3LDB4YzAsMHgwYiwweGEwLDB4MDMsMHg2ZCwweDQwLDB4NTMsMHg4MCwweDJlLDB4YzAsMHgwZSwweGYwLDB4NDMsMHg3MiB9fSwKLSB7MTYsIDB4OGE3MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg2OCwweDAyLDB4ODAsMHgwMCwweDI0LDB4MDAgfX0sCi0gezE2LCAweDhhODAsIDAsIHsweDBiLDB4MzUsMHgyNiwweGMyLDB4MDAsMHhiMCwweDkwLDB4MjAsMHhjMCwweDg4LDB4MDAsMHgwMiwweDRmLDB4MjAsMHhiMywweDAyIH19LAotIHsxNiwgMHg4YTkwLCAwLCB7MHg2MCwweGUyLDB4MWIsMHgzOCwweDAyLDB4MGMsMHgwMCwweDg4LDB4MDAsMHg2MCwweGMwLDB4MGIsMHgzNCwweDgyLDB4NGMsMHgwMiB9fSwKLSB7MTYsIDB4OGFhMCwgMCwgezB4YTEsMHg5MCwweDJjLDB4NDAsMHgwYiwweDMwLDB4MDIsMHgzMCwweDAxLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDhhYjAsIDAsIHsweDIwLDB4MDEsMHgzYSwweDA4LDB4OGMsMHhhMCwweDJkLDB4MjAsMHg0YiwweDc4LDB4MDIsMHhkYSwweDAwLDB4YjIsMHg5MCwweDIxIH19LAotIHsxNiwgMHg4YWMwLCAwLCB7MHg2NiwweDQ4LDB4NzksMHgwMiwweGRlLDB4NDAsMHhiNywweDkxLDB4YTEsMHhlMCwweGRiLDB4ZjgsMHgwMiwweDFlLDB4NDAsMHg4NCB9fSwKLSB7MTYsIDB4OGFkMCwgMCwgezB4OTAsMHgwMSwweGUwLDB4OGIsMHhmOSwweDAyLDB4NWUsMHgwMSwweDk3LDB4ODAsMHgyZCwweDYwLDB4MGEsMHg3OCwweDAwLDB4NDggfX0sCi0gezE2LCAweDhhZTAsIDAsIHsweDA0LDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MGMsMHgwMCwweDgwLDB4MDAsMHgyNCwweDA0IH19LAotIHsxNiwgMHg4YWYwLCAwLCB7MHgwZiwweDMyLDB4MDMsMHhjNCwweGEwLDB4ZjEsMHg0MiwweDMwLDB4YzQsMHgyYywweDMxLDB4MDIsMHg0NCwweDAwLDB4ZjEsMHgxMSB9fSwKLSB7MTYsIDB4OGIwMCwgMCwgezB4YTAsMHhjMCwweDBiLDB4MzAsMHgwYiwweDBjLDB4NDIsMHg4MywweDAwLDB4MDAsMHhjMCwweDBmLDB4MzAsMHgwMywweDRjLDB4MDIgfX0sCi0gezE2LCAweDhiMTAsIDAsIHsweGUzLDB4MDAsMHgzYywweDQwLDB4MGIsMHgzMCwweDAxLDB4MTIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4YjIwLCAwLCB7MHhjMCwweDFkLDB4YmMsMHgwMCwweGZjLDB4YTUsMHgzMywweGMwLDB4MGYsMHhkMCwweDAzLDB4ZmMsMHgwMSwweGJmLDB4MDAsMHgzZiB9fSwKLSB7MTYsIDB4OGIzMCwgMCwgezB4YzQsMHgwZSwweDcxLDB4MDMsMHg3NCwweDAwLDB4NzUsMHgxMCwweDNmLDB4YzAsMHgwNSwweGYwLDB4MDMsMHhkYywweDQwLDB4ZmYgfX0sCi0gezE2LCAweDhiNDAsIDAsIHsweDA0LDB4M2YsMHhjMCwweDBmLDB4ZjAsMHg0MywweGZjLDB4MDAsMHg3ZiwweDAwLDB4M2YsMHg0MCwweDBlLDB4ZjAsMHgwMywweGQwIH19LAotIHsxNiwgMHg4YjUwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNCwweGU4LDB4MDAsMHhmMiwweDA0LDB4YjMsMHg4MCB9fSwKLSB7MTYsIDB4OGI2MCwgMCwgezB4MGYsMHhiOCwweDBiLDB4MmMsMHgwMCwweGViLDB4ODAsMHgzMiwweGMwLDB4MGMsMHgyMCwweDEzLDB4MmUsMHgwOCwweGNiLDB4MDEgfX0sCi0gezE2LCAweDhiNzAsIDAsIHsweDMyLDB4YzUsMHgwZiwweGIxLDB4MDMsMHhlYywweDQ4LDB4YzgsMHgxMCwweDMyLDB4ZmEsMHg4YywweDM4LDB4MDMsMHgzYywweDkwIH19LAotIHsxNiwgMHg4YjgwLCAwLCB7MHhjYiwweDAwLDB4M2UsMHg0MCwweDBmLDB4YjAsMHgxMywweGMyLDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OGI5MCwgMCwgezB4YzgsMHgxMCwweDk4LDB4MDAsMHhmNiwweDAwLDB4NjEsMHg4MSwweDBiLDB4ZjAsMHgwMiwweDFjLDB4MDAsMHhkNywweDAwLDB4YjcgfX0sCi0gezE2LCAweDhiYTAsIDAsIHsweDgwLDB4MGMsMHg3MCwweDAyLDB4YmMsMHgxMCwweDhmLDB4MDAsMHgyMSwweGM4LDB4OGIsMHg3MiwweDQzLDB4ZmMsMHg4OCwweGRjIH19LAotIHsxNiwgMHg4YmIwLCAwLCB7MHgwMCwweDM3LDB4YzgsMHgwZCwweDUwLDB4MDIsMHgxYywweDIyLDB4ODcsMHgwMCwweDJkLDB4YzAsMHgwYiwweDcwLDB4MDIsMHhkMyB9fSwKLSB7MTYsIDB4OGJjMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDAsMHg5ZSwweDAwLDB4YjYsMHg4MCwweGE5LDB4YTAgfX0sCi0gezE2LCAweDhiZDAsIDAsIHsweDRiLDB4N2MsMHgwMiwweDVlLDB4MzAsMHhhMywweDg4LDB4MjEsMHhmMCwweDA4LDB4NzgsMHgwMiwweDE2LDB4MDAsMHg4NSwweDgwIH19LAotIHsxNiwgMHg4YmUwLCAwLCB7MHgyMSwweGUwLDB4MGIsMHg3OCwweDAyLDB4ZGUsMHgwMCwweDg3LDB4ODAsMHhhMSwweGU0LDB4MDgsMHhkOCwweDAyLDB4NGUsMHgwMCB9fSwKLSB7MTYsIDB4OGJmMCwgMCwgezB4OTcsMHg4MCwweDJkLDB4NzAsMHgwYiwweDc4LDB4MDIsMHhjOCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDhjMDAsIDAsIHsweDQ4LDB4MTQsMHhlYywweDAwLDB4YjIsMHgwMCwweDI4LDB4YzAsMHgwYiwweDEwLDB4MDIsMHg0ZSwweDkwLDB4OTMsMHgwMiwweDIyIH19LAotIHsxNiwgMHg4YzEwLCAwLCB7MHhmMCwweDA4LDB4MzgsMHg0MiwweDhjLDB4NDIsMHg4MywweDA0LDB4MjIsMHhlNCwweDRiLDB4MzgsMHgwMiwweDhlLDB4NDAsMHg4MyB9fSwKLSB7MTYsIDB4OGMyMCwgMCwgezB4MDAsMHgyMCwweGMwLDB4MDksMHgzOCwweDIyLDB4NGUsMHgyMSwweDkzLDB4MDAsMHgyZSwweGUwLDB4MGIsMHgzMCwweDAyLDB4ZGIgfX0sCi0gezE2LCAweDhjMzAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YTgsMHgwMSwweGZhLDB4MDAsMHgzYiwweDg5IH19LAotIHsxNiwgMHg4YzQwLCAwLCB7MHgwZiwweGEwLDB4MDIsMHg3OCwweDA4LDB4YWUsMHg0MCwweDIzLDB4ODAsMHgyYywweDZjLDB4MGIsMHgzYSwweDAwLDB4OGUsMHg4YyB9fSwKLSB7MTYsIDB4OGM1MCwgMCwgezB4YjIsMHgwMCwweDBiLDB4ODAsMHg4MiwweGUwLDB4MDIsMHg4ZSwweDAwLDB4MjIsMHg4MCwweDBjLDB4ZTgsMHgwMiwweDdiLDB4ODAgfX0sCi0gezE2LCAweDhjNjAsIDAsIHsweDlhLDB4ODAsMHgzZSwweDgwLDB4MGYsMHhhMCwweDAzLDB4ZmEsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4YzcwLCAwLCB7MHg0OCwweDAwLDB4ZTAsMHgwOSwweGVjLDB4MDAsMHgzNiwweDIxLDB4MGIsMHg4MCwweDEzLDB4YTEsMHgwMCwweGY4LDB4NjAsMHgzZSB9fSwKLSB7MTYsIDB4OGM4MCwgMCwgezB4MDAsMHgwZiwweDgxLDB4MDMsMHhlMCwweDAwLDB4ZjgsMHgwMCwweDNlLDB4MDAsMHgwZiwweDgwLDB4NDMsMHhlMCwweDEwLDB4ZjggfX0sCi0gezE2LCAweDhjOTAsIDAsIHsweDAwLDB4YmUsMHgwMCwweDBmLDB4ODUsMHgwYiwweDgwLDB4MDAsMHhlOCwweDEwLDB4M2UsMHgwMCwweDBmLDB4ODAsMHgwMywweGQyIH19LAotIHsxNiwgMHg4Y2EwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGU0LDB4MDIsMHhjOSwweDAyLDB4MzAsMHg0OCB9fSwKLSB7MTYsIDB4OGNiMCwgMCwgezB4MGMsMHg5OSwweDEzLDB4YTQsMHgwMiwweGM5LDB4MDAsMHgzZSwweDQyLDB4MGMsMHg5MCwweDhmLDB4MjQsMHgwMCwweGY5LDB4MDAgfX0sCi0gezE2LCAweDhjYzAsIDAsIHsweDMyLDB4MjgsMHgwYywweDg4LDB4MDMsMHhlMCwweDAwLDB4YzksMHgwMCwweGIyLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhlNywweDAwIH19LAotIHsxNiwgMHg4Y2QwLCAwLCB7MHhjOSwweDEwLDB4M2UsMHg0MCwweDBjLDB4MTAsMHgwMywweDAyLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OGNlMCwgMCwgezB4ODAsMHgwNCwweDY0LDB4MDEsMHg4OSwweDgwLDB4YTIsMHg0OCwweDI4LDB4OTIsMHg0MiwweGM1LDB4MDAsMHg4OSwweDQwLDB4MmUgfX0sCi0gezE2LCAweDhjZjAsIDAsIHsweDQwLDB4MmMsMHg5MCwweDA2LDB4MjUsMHgwMCwweGI5LDB4MDAsMHgyMiwweDUwLDB4MDgsMHg5OCwweDAyLDB4YzQsMHgwMCwweDg5IH19LAotIHsxNiwgMHg4ZDAwLCAwLCB7MHgwMSwweDc2LDB4NDAsMHg0YiwweDkyLDB4MDIsMHhlNSwweDAyLDB4ODksMHgwMCwweDJlLDB4NDAsMHgwZCwweDkwLDB4MDMsMHg2MCB9fSwKLSB7MTYsIDB4OGQxMCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHgyNCwweDBjLDB4ODUsMHgyMCwweGEyLDB4NDAgfX0sCi0gezE2LCAweDhkMjAsIDAsIHsweDA4LDB4OTAsMHgwNiwweGU1LDB4MDAsMHg4OSwweDQwLDB4MmUsMHg0MCwweDA5LDB4OTAsMHg0MiwweGE0LDB4YTAsMHgzMSwweDAwIH19LAotIHsxNiwgMHg4ZDMwLCAwLCB7MHgyMiwweDUwLDB4MTgsMHg5MSwweDAyLDB4ZTQsMHgwMCwweDgxLDB4MDAsMHgyMiwweDQwLDB4MGIsMHg5MCwweDA2LDB4ZTQsMHgwMCB9fSwKLSB7MTYsIDB4OGQ0MCwgMCwgezB4ODksMHgwMCwweDJlLDB4NDAsMHgwOSwweDkwLDB4MDIsMHgwZSwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDhkNTAsIDAsIHsweDAwLDB4MDQsMHgxNSwweDAwLDB4ODUsMHg0MCwweDIwLDB4NDAsMHgwOCwweDE0LDB4MjYsMHhlNCwweDAwLDB4ODEsMHgwMCwweDJjIH19LAotIHsxNiwgMHg4ZDYwLCAwLCB7MHg0MCwweDE4LDB4MTAsMHgwMiwweDg0LDB4ODAsMHhiMSwweDIwLDB4YTAsMHg1MCwweDA4LDB4MTQsMHgwMiwweGU1LDB4MDIsMHg4MSB9fSwKLSB7MTYsIDB4OGQ3MCwgMCwgezB4NDAsMHgyMCwweDQ4LDB4MGIsMHgxMCwweDA2LDB4Y2MsMHgwMCwweDgxLDB4MDEsMHgyYywweDUwLDB4MDksMHgxNCwweDAyLDB4NGEgfX0sCi0gezE2LCAweDhkODAsIDAsIHsweDA1LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjAsMHgwMCwweDhjLDB4MDAsMHgzMiwweDAwIH19LAotIHsxNiwgMHg4ZDkwLCAwLCB7MHgwYywweDgwLDB4MjMsMHhlMCwweDAwLDB4YzgsMHgwMCwweDNlLDB4MTQsMHgwZCwweDgwLDB4MTIsMHhhMSwweDQ0LDB4ZjgsMHg1MSB9fSwKLSB7MTYsIDB4OGRhMCwgMCwgezB4MzIsMHgwMCwweDJjLDB4ODAsMHgwMywweGUwLDB4MDAsMHg4OCwweDA0LDB4MjIsMHgxNCwweDBmLDB4ODAsMHgwNywweGUwLDB4MDAgfX0sCi0gezE2LCAweDhkYjAsIDAsIHsweGM4LDB4MDAsMHgzZSwweDAwLDB4MGQsMHg4MCwweDAzLDB4MmUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4ZGMwLCAwLCB7MHg5OCwweDlkLDB4ZTQsMHgwMCwweGY5LDB4MDAsMHgzZiwweDUwLDB4MGYsMHhkMCwweDAzLDB4ZGMsMHgwMSwweGJkLDB4NDIsMHgzZiB9fSwKLSB7MTYsIDB4OGRkMCwgMCwgezB4NTAsMHg0ZiwweGQ0LDB4NDMsMHg3NCwweDQxLDB4ZmQsMHgxMCwweDNmLDB4MTAsMHgxZiwweGM0LDB4MTMsMHhmMSwweDAwLDB4ZmQgfX0sCi0gezE2LCAweDhkZTAsIDAsIHsweDQwLDB4N2UsMHg0NCwweDBmLDB4ZDAsMHg0MywweGY1LDB4MDEsMHhmZCwweDAwLDB4M2YsMHg0MCwweDBmLDB4OTQsMHgwMywweGU2IH19LAotIHsxNiwgMHg4ZGYwLCAwLCB7MHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweGY0LDB4MDAsMHhkZiwweDA1LDB4MzMsMHg2MSB9fSwKLSB7MTYsIDB4OGUwMCwgMCwgezB4MGYsMHg1MCwweDUzLDB4MzQsMHgxMCwweGZkLDB4MDQsMHgzMywweDQ0LDB4NGYsMHg1MCwweDAzLDB4NzYsMHhjMSwweGNkLDB4ZTAgfX0sCi0gezE2LCAweDhlMTAsIDAsIHsweDMzLDB4NjAsMHgwYywweGNlLDB4MDMsMHhmNiwweGMwLDB4ZTEsMHhjMCwweGI2LDB4NjQsMHg4ZiwweDUwLDB4MGIsMHgzNiwweDgyIH19LAotIHsxNiwgMHg4ZTIwLCAwLCB7MHhjZCwweDAwLDB4M2UsMHg0NCwweDRjLDB4OWUsMHhjMywweGM2LDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OGUzMCwgMCwgezB4MzgsMHgxMCwweGVhLDB4MjgsMHg4MCwweGEwLDB4YjIsMHgwNCwweDBiLDB4OGEsMHg4MywweDYwLDB4MDAsMHhmYSwweDAwLDB4MzYgfX0sCi0gezE2LCAweDhlNDAsIDAsIHsweDI4LDB4OGIsMHg4MCwweDAzLDB4ZTMsMHhjOCwweGM4LDB4ODQsMHgyMiwweDE0LDB4MDgsMHg4YSwweDAyLDB4ZTIsMHg4MCwweGQ4IH19LAotIHsxNiwgMHg4ZTUwLCAwLCB7MHg4MiwweDM0LDB4MzQsMHgxYiwweDgwLDB4MDMsMHg2MCwweDA0LDB4ODgsMHgwMCwweDJlLDB4MjAsMHgwYSwweDhlLDB4NDIsMHhjZSB9fSwKLSB7MTYsIDB4OGU2MCwgMCwgezB4MDYsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDUsMHhjNCwweDgwLDB4ODEsMHgwOCwweDA0LDB4NDEgfX0sCi0gezE2LCAweDhlNzAsIDAsIHsweDBiLDB4OTIsMHgwMiwweDA0LDB4MDAsMHhiMSwweDAwLDB4MmMsMHg0MCwweDBiLDB4MTgsMHgwMiwweDI0LDB4MDAsMHhiMSwweDYwIH19LAotIHsxNiwgMHg4ZTgwLCAwLCB7MHgyNiwweDQwLDB4MGEsMHgxNiwweDAyLDB4YzUsMHgwMCwweGExLDB4YzAsMHgyMCwweDQ4LDB4MGIsMHg5MCwweDAyLDB4NDcsMHgwMCB9fSwKLSB7MTYsIDB4OGU5MCwgMCwgezB4OTEsMHgwMSwweDJjLDB4NDgsMHgxOCwweDEyLDB4MDIsMHhkMiwweDAxLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDhlYTAsIDAsIHsweDE4LDB4MTUsMHhhNCwweDBjLDB4OGIsMHgwNCwweGEyLDB4NTAsMHgwYiwweDkxLDB4MDIsMHgyNCwweDA0LDB4YTksMHgwMSwweDJlIH19LAotIHsxNiwgMHg4ZWIwLCAwLCB7MHg0MiwweDBiLDB4OTAsMHgwMiwweGE0LDB4MDAsMHhhOSwweDAwLDB4MjYsMHg2MCwweDBhLDB4OTAsMHgwMiwweGU2LDB4MDAsMHg4MSB9fSwKLSB7MTYsIDB4OGVjMCwgMCwgezB4MDAsMHgyMiwweDQwLDB4OGIsMHhiMCwweDAyLDB4MjQsMHgwOCwweDk5LDB4MTAsMHgyZSwweDQwLDB4MWEsMHg5MCwweDAyLDB4YzYgfX0sCi0gezE2LCAweDhlZDAsIDAsIHsweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4ZTUsMHgwMCwweGM5LDB4MDAsMHgzNiwweDQwIH19LAotIHsxNiwgMHg4ZWUwLCAwLCB7MHgwZiwweDEwLDB4MDIsMHgyNSwweDAwLDB4YjEsMHgwMCwweDJlLDB4NjAsMHgwZiwweDEwLDB4MTIsMHgyNCwweDAyLDB4YjksMHhhMCB9fSwKLSB7MTYsIDB4OGVmMCwgMCwgezB4YTQsMHg0MCwweDJlLDB4OTEsMHgwMywweGU2LDB4MDAsMHhhOSwweDAwLDB4MjIsMHg0MCwweDBiLDB4MTksMHg4MCwweDY0LDB4MDQgfX0sCi0gezE2LCAweDhmMDAsIDAsIHsweGQ5LDB4ODEsMHgyZSwweDQwLDB4NGMsMHg5MCwweDAzLDB4ZTgsMHgxNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4ZjEwLCAwLCB7MHg2OCwweDAxLDB4YTQsMHgwYSwweGU5LDB4MDAsMHhiZSwweDQ4LDB4MGYsMHg5OCwweDBiLDB4ZTQsMHgwMCwweGY5LDB4YzQsMHgzNiB9fSwKLSB7MTYsIDB4OGYyMCwgMCwgezB4NzAsMHgxZiwweDkyLDB4MDMsMHhlNiwweDkwLDB4YzEsMHg5MCwweDNhLDB4NDAsMHg4ZCwweDg4LDB4MDMsMHhlNCwweDAwLDB4ZjkgfX0sCi0gezE2LCAweDhmMzAsIDAsIHsweDkwLDB4M2UsMHg0MCwweDBiLDB4OTgsMHgwMywweGU2LDB4NDAsMHhlOSwweDAwLDB4M2UsMHg0MCwweDBmLDB4OTAsMHgwMywweGQyIH19LAotIHsxNiwgMHg4ZjQwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NjgsMHgxMCwweGExLDB4MDIsMHhkOCwweDIwLDB4YjIsMHgxMCB9fSwKLSB7MTYsIDB4OGY1MCwgMCwgezB4MGMsMHg4MCwweDgzLDB4MjEsMHg0MCwweGM4LDB4NTgsMHhiMiwweDEwLDB4NGMsMHg4MCwweDBiLDB4MjAsMHgwMCwweGY4LDB4NDIgfX0sCi0gezE2LCAweDhmNjAsIDAsIHsweDMyLDB4MDAsMHgwZiwweDgwLDB4MDMsMHhlMCwweDAyLDB4ZDgsMHgwMCwweDcyLDB4MDAsMHgxYywweDgwLDB4MDAsMHgyMCwweDAwIH19LAotIHsxNiwgMHg4ZjcwLCAwLCB7MHhmOCwweDA0LDB4M2UsMHgwMCwweDBmLDB4ODAsMHgwMywweDAyLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OGY4MCwgMCwgezB4MjgsMHgwNSwweDM4LDB4MDQsMHhjZSwweDQxLDB4MjMsMHg4MCwweDA4LDB4ZTAsMHgwMiwweDM5LDB4MTAsMHhhZSwweDQwLDB4MjIgfX0sCi0gezE2LCAweDhmOTAsIDAsIHsweDgwLDB4MDgsMHhlMCwweDAyLDB4MWEsMHgwMCwweGJhLDB4MDAsMHgyYiwweGFkLDB4MDMsMHg4MCwweDAyLDB4ZTgsMHgwMCwweGNhIH19LAotIHsxNiwgMHg4ZmEwLCAwLCB7MHgwMCwweDJhLDB4ODAsMHgwYSwweGUwLDB4MDIsMHgxOCwweDAwLDB4YmEsMHgwMCwweDFhLDB4ODAsMHgwYiwweGEwLDB4MDMsMHg0YSB9fSwKLSB7MTYsIDB4OGZiMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDY4LDB4MDUsMHg2YywweDEyLDB4ODksMHgwMCwweGEwLDB4ZTAgfX0sCi0gezE2LCAweDhmYzAsIDAsIHsweDA4LDB4MzgsMHgwMiwweDBkLDB4ODgsMHg4MywweDAwLDB4MDQsMHhlMCwweDA4LDB4MzgsMHgzMiwweDBlLDB4MjUsMHgzMSwweDAxIH19LAotIHsxNiwgMHg4ZmQwLCAwLCB7MHgyNCwweGUwLDB4OGIsMHgzOCwweDAyLDB4ZTQsMHgwMSwweDgzLDB4MDAsMHgyMCwweGMwLDB4MDgsMHgzMCwweDAyLDB4OGMsMHgwMCB9fSwKLSB7MTYsIDB4OGZlMCwgMCwgezB4YjMsMHgwMCwweDJlLDB4YzAsMHgwYiwweDMwLDB4MDIsMHgwYSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDhmZjAsIDAsIHsweGEwLDB4MDEsMHgxNCwweDIwLDB4ODYsMHgyMCwweDI5LDB4YjAsMHgwOCwweGYwLDB4ODIsMHgzZSwweDA0LDB4YTcsMHgwMCwweDIxIH19LAotIHsxNiwgMHg5MDAwLCAwLCB7MHg3MCwweDg4LDB4NzAsMHg5MiwweDFjLDB4MjAsMHhiZCwweDAwLDB4NjksMHhjMCwweDBiLDB4NzYsMHgwMiwweGQ0LDB4ODAsMHg4ZiB9fSwKLSB7MTYsIDB4OTAxMCwgMCwgezB4MjEsMHgyOSwweGUwLDB4MGEsMHg2MCwweDg2LDB4OTgsMHgwMSwweGI3LDB4MDAsMHgyZCwweGM4LDB4MGIsMHgzYiwweDAyLDB4NjAgfX0sCi0gezE2LCAweDkwMjAsIDAsIHsweDA0LDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4M2UsMHgwMCwweGM3LDB4YTAsMHhiMCwweGUwIH19LAotIHsxNiwgMHg5MDMwLCAwLCB7MHgyYywweDc4LDB4MGIsMHgxYSwweDAwLDB4YzMsMHg4MCwweDM3LDB4ZTAsMHgyOCwweDc4LDB4MDMsMHgxYSwweDA4LDB4ZjUsMHg5MCB9fSwKLSB7MTYsIDB4OTA0MCwgMCwgezB4MzUsMHhlMCwweDBmLDB4N2MsMHgxMiwweGQ2LDB4ODIsMHhjNywweDkwLDB4MjEsMHhlNCwweDA4LDB4NzgsMHgwMywweDllLDB4MDAgfX0sCi0gezE2LCAweDkwNTAsIDAsIHsweGY1LDB4ODAsMHgzZCwweGYxLDB4MGYsMHg3OCwweDAzLDB4MjIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5MDYwLCAwLCB7MHgwOCwweDE5LDB4YTQsMHgwMCwweGVlLDB4ODAsMHgzNiwweGMxLDB4NGYsMHhkMCwweDAzLDB4YzgsMHgwMCwweGZiLDB4MDAsMHgzZSB9fSwKLSB7MTYsIDB4OTA3MCwgMCwgezB4NTEsMHgwZiwweGIwLDB4MDMsMHhlNCwweDA4LDB4ZjEsMHg2MCwweDNlLDB4YzAsMHgwZiwweGIwLDB4MDMsMHhjNSwweDAwLDB4ZWIgfX0sCi0gezE2LCAweDkwODAsIDAsIHsweDEwLDB4M2UsMHhjMCwweDBmLDB4YjAsMHgwOSwweDZjLDB4MDAsMHhmYiwweDAwLDB4M2EsMHhjMCwweDBmLDB4YjAsMHgwMywweGMyIH19LAotIHsxNiwgMHg5MDkwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweGZlLDB4MDAsMHhmZCwweDg4LDB4MzMsMHg2MCB9fSwKLSB7MTYsIDB4OTBhMCwgMCwgezB4MGYsMHhmOSwweDAzLDB4Y2UsMHg0MCwweGQ3LDB4ODQsMHgzNywweDcwLDB4MGMsMHhkOCwweDIzLDB4MzYsMHgwMCwweGM1LDB4ODggfX0sCi0gezE2LCAweDkwYjAsIDAsIHsweDMzLDB4ZTAsMHg0ZiwweGY4LDB4MTMsMHhmNywweDI4LDB4ZGYsMHg4MCwweDM3LDB4ZTIsMHgwYywweDU4LDB4MDMsMHgzZSwweDAwIH19LAotIHsxNiwgMHg5MGMwLCAwLCB7MHhmZiwweDkwLDB4M2YsMHhlMCwweDBjLDB4ZjgsMHgwMywweDAwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTBkMCwgMCwgezB4YTksMHgxMSwweDljLDB4MDgsMHhmNiwweDAwLDB4YTEsMHgwMCwweDBiLDB4NjMsMHgwMiwweGQ2LDB4MzAsMHg4NSwweDQxLDB4MzEgfX0sCi0gezE2LCAweDkwZTAsIDAsIHsweGM4LDB4MDgsMHg1MCwweDIzLDB4MWMsMHgwMCwweGQ1LDB4MjAsMHhiMSwweDgwLDB4MGYsMHg3MCwweDAzLDB4YjQsMHgwMCwweGM3IH19LAotIHsxNiwgMHg5MGYwLCAwLCB7MHgwMCwweDIxLDB4YzAsMHgwZiwweDQwLDB4YTMsMHg1OCwweDQwLDB4YjcsMHgwMCwweDNmLDB4YzQsMHgwYSwweGYwLDB4MDIsMHgyYSB9fSwKLSB7MTYsIDB4OTEwMCwgMCwgezB4MDYsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5YywweDQwLDB4YjcsMHgxMCwweDIxLDB4ZDIgfX0sCi0gezE2LCAweDkxMTAsIDAsIHsweDBiLDB4NzAsMHgwMiwweGRjLDB4NDIsMHg4NiwweDAwLDB4MjUsMHg2MSwweDA4LDB4NTEsMHgwMiwweDUwLDB4MDAsMHg5NSwweDAwIH19LAotIHsxNiwgMHg5MTIwLCAwLCB7MHgyNSwweGMwLDB4MDksMHg3MCwweDgyLDB4ZDQsMHgwMCwweDg3LDB4MDAsMHgyNCwweGMwLDB4MDgsMHg1MCwweDAyLDB4NWMsMHgwMCB9fSwKLSB7MTYsIDB4OTEzMCwgMCwgezB4OTUsMHgwNCwweDJkLDB4YzAsMHgwOCwweDcwLDB4MDIsMHgwMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDkxNDAsIDAsIHsweDIwLDB4MTQsMHhjYywweDA4LDB4YjIsMHhkMCwweDIwLDB4ZTAsMHg0YiwweDA4LDB4MDIsMHhjNCwweDAwLDB4ODAsMHg4MCwweDIwIH19LAotIHsxNiwgMHg5MTUwLCAwLCB7MHhmMCwweDA4LDB4MWEsMHgwMiwweDg1LDB4NDgsMHg4MSwweDEwLDB4MjAsMHg0MCwweDBhLDB4MzAsMHgwMiwweGM2LDB4MTAsMHg5MyB9fSwKLSB7MTYsIDB4OTE2MCwgMCwgezB4MDAsMHgyMCwweGMwLDB4MGEsMHgxYywweDAyLDB4MGQsMHg0MCwweGIzLDB4MDAsMHg2OCwweGM0LDB4MGEsMHhiMCwweDAyLDB4MDkgfX0sCi0gezE2LCAweDkxNzAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YWMsMHgwMSwweGZlLDB4MDAsMHgzMiwweGYwIH19LAotIHsxNiwgMHg5MTgwLCAwLCB7MHgwZiwweDg4LDB4MDMsMHhlNiwweDAwLDB4YzgsMHhjOCwweDM2LDB4ZjYsMHgyOCwweGE2LDB4MGEsMHg2ZCwweDAwLDB4OWQsMHgwMCB9fSwKLSB7MTYsIDB4OTE5MCwgMCwgezB4MzIsMHgwMCwweDBiLDB4YjAsMHgwMywweGY2LDB4MDMsMHhjNywweDAwLDB4MzcsMHhjMCwweDA4LDB4OWMsMHgwYSwweDZlLDB4MDAgfX0sCi0gezE2LCAweDkxYTAsIDAsIHsweGJiLDB4MDAsMHgyZiwweGMwLDB4MGMsMHhmMCwweDAzLDB4MmEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5MWIwLCAwLCB7MHg4MCwweDAwLDB4ZTQsMHgwMSwweGViLDB4NDAsMHgzZSwweDgwLDB4NGYsMHhjMSwweDAzLDB4ZTQsMHgwMCwweGI4LDB4MDgsMHgzYSB9fSwKLSB7MTYsIDB4OTFjMCwgMCwgezB4NDAsMHg4ZiwweGE0LDB4MTMsMHg2YywweDIwLDB4ZjksMHgwMCwweDNlLDB4NzAsMHgwZiwweGIwLDB4MDMsMHhhNCwweDQwLDB4ZWIgfX0sCi0gezE2LCAweDkxZDAsIDAsIHsweDAwLDB4M2UsMHhjMCwweDBmLDB4OTIsMHgyMywweGU4LDB4MDAsMHhmOSwweDgwLDB4M2UsMHhjMCwweDBmLDB4YjAsMHg2MywweGUwIH19LAotIHsxNiwgMHg5MWUwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGZjLDB4MDgsMHhjZSwweDA4LDB4MzMsMHhjMCB9fSwKLSB7MTYsIDB4OTFmMCwgMCwgezB4MGYsMHhkYSwweDAzLDB4MzAsMHgwMCwweGU0LDB4MDQsMHgzNSwweGMwLDB4MGQsMHhhMCwweDAzLDB4MjgsMHgwMCwweGM1LDB4MDAgfX0sCi0gezE2LCAweDkyMDAsIDAsIHsweDMzLDB4MDAsMHgwYiwweGZhLDB4MDMsMHhmNCwweDAzLDB4Y2IsMHgwMCwweDMxLDB4YzAsMHgwYywweGQ0LDB4MDMsMHgxNCwweDIwIH19LAotIHsxNiwgMHg5MjEwLCAwLCB7MHhjZCwweDgwLDB4MjMsMHhjMSwweDBjLDB4ZjAsMHgwMiwweDA4LDB4NDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTIyMCwgMCwgezB4ODEsMHgwNCwweDQ0LDB4MTAsMHhjYiwweGQwLDB4MjIsMHhjMCwweDBiLDB4OTQsMHgwMiwweDIyLDB4ODQsMHhiOCwweGM2LDB4MDIgfX0sCi0gezE2LCAweDkyMzAsIDAsIHsweDQwLDB4MDgsMHgyOCwweDAyLDB4YTUsMHg4MCwweDg5LDB4MDAsMHgyMiwweDYwLDB4MGIsMHhiOCwweDAyLDB4NjQsMHgwMCwweDhiIH19LAotIHsxNiwgMHg5MjQwLCAwLCB7MHgwMCwweDJhLDB4YzAsMHhjOCwweDAwLDB4MDMsMHg2NiwweDAwLDB4ODEsMHgwMCwweDAwLDB4YzAsMHgwZCwweGIwLDB4MGEsMHhhOCB9fSwKLSB7MTYsIDB4OTI1MCwgMCwgezB4NDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgyYywweDAwLDB4MTMsMHgwMCwweDIyLDB4NDAgfX0sCi0gezE2LCAweDkyNjAsIDAsIHsweDhiLDB4MjQsMHgwMiwweDJhLDB4MDAsMHhiYiwweDgyLDB4MjIsMHg0MCwweDAwLDB4YWMsMHgwMiwweDg0LDB4MDAsMHg4OSwweDAwIH19LAotIHsxNiwgMHg5MjcwLCAwLCB7MHgyMiwweDIyLDB4MGIsMHhiMCwweDAyLDB4YzQsMHgwMCwweDliLDB4MDAsMHgyYSwweGMwLDB4MDgsMHhiMCwweDAyLDB4MmUsMHgwMCB9fSwKLSB7MTYsIDB4OTI4MCwgMCwgezB4OGIsMHgxMCwweDJhLDB4YzAsMHgwOCwweGIwLDB4MDIsMHhhMCwweDEwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDkyOTAsIDAsIHsweDA4LDB4MDQsMHgwYywweDEwLDB4ODMsMHgwMCwweDIwLDB4MDEsMHgwYiwweDIwLDB4MDIsMHgwMCwweDgwLDB4YjEsMHgwMCwweDIwIH19LAotIHsxNiwgMHg5MmEwLCAwLCB7MHhjMSwweDA4LDB4MjAsMHgwMiwweDg4LDB4MDEsMHg4MSwweDAwLDB4YTAsMHgwMCwweDBiLDB4MzAsMHgwMiwweDQ0LDB4MDEsMHg5YiB9fSwKLSB7MTYsIDB4OTJiMCwgMCwgezB4MDAsMHgyOCwweGMwLDB4MDgsMHhiMCwweDAyLDB4NDgsMHgwNiwweDg5LDB4MDAsMHgyYSwweGMwLDB4MDksMHgzMCwweDAyLDB4ODIgfX0sCi0gezE2LCAweDkyYzAsIDAsIHsweDA1LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDhkLDB4NmMsMHgwMCwweGMzLDB4MDAsMHhiMiwweGMwIH19LAotIHsxNiwgMHg5MmQwLCAwLCB7MHgwZiwweGIwLDB4MDMsMHgyOCwweDIwLDB4ZmEsMHgwMCwweGIxLDB4NDAsMHgwZCwweGEwLDB4MDcsMHhhMCwweDAwLDB4Y2QsMHgwMCB9fSwKLSB7MTYsIDB4OTJlMCwgMCwgezB4MjIsMHgwMCwweDBmLDB4YjAsMHgwMywweGY0LDB4MDAsMHg5ZiwweDAwLDB4M2IsMHhjMCwweDJjLDB4YjAsMHgwYiwweDI0LDB4MDAgfX0sCi0gezE2LCAweDkyZjAsIDAsIHsweGM5LDB4MDAsMHhiYSwweGMwLDB4MGMsMHhiMCwweDAzLDB4ODAsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5MzAwLCAwLCB7MHhhMCwweDFkLDB4ZmMsMHgwNiwweGZmLDB4MDIsMHhhZiwweGMwLDB4MGYsMHhjMCwweDAzLDB4ZjAsMHgxMCwweGZjLDB4MDAsMHgzZiB9fSwKLSB7MTYsIDB4OTMxMCwgMCwgezB4YzAsMHg5ZiwweGUwLDB4MTMsMHhmMCwweDAwLDB4ZmQsMHgwNCwweDNmLDB4NDAsMHg0ZiwweGYwLDB4MDMsMHg3NCwweDAwLDB4ZWYgfX0sCi0gezE2LCAweDkzMjAsIDAsIHsweDAwLDB4M2YsMHhjMCwweDhmLDB4ZTAsMHgwMiwweGI0LDB4MDEsMHhmZCwweDA0LDB4MzcsMHhjMCwweDBmLDB4ZjAsMHg0MywweDY4IH19LAotIHsxNiwgMHg5MzMwLCAwLCB7MHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGZjLDB4MDAsMHhjNywweDIwLDB4YjMsMHhjOCB9fSwKLSB7MTYsIDB4OTM0MCwgMCwgezB4MWMsMHhmMSwweDAzLDB4N2MsMHgyMCwweGNmLDB4MGEsMHgzZiwweGQwLDB4MGQsMHhmMCwweDAzLDB4N2MsMHg4MCwweDhmLDB4MzIgfX0sCi0gezE2LCAweDkzNTAsIDAsIHsweDMzLDB4YzQsMHgwZiwweGYxLDB4ODMsMHgzYywweGUwLDB4Y2YsMHgxMCwweDMzLDB4YzQsMHgwZCwweGYyLDB4ODMsMHgzYywweGUyIH19LAotIHsxNiwgMHg5MzYwLCAwLCB7MHhjNywweDgwLDB4MTcsMHhjYywweDRjLDB4ZjMsMHg4MywweDMwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTM3MCwgMCwgezB4ODAsMHgxMCwweGUzLDB4NDAsMHg4OCwweDY4LDB4MjIsMHgzMCwweDA4LDB4MDYsMHgwMiwweDAxLDB4YTEsMHg4OCwweGM0LDB4MGUgfX0sCi0gezE2LCAweDkzODAsIDAsIHsweDE0LDB4MDgsMHg4NywweDgwLDB4MDEsMHhjMCwweDI4LDB4NTAsMHgwMiwweDA0LDB4OGIsMHg4NiwweDAyLDB4YTEsMHg5OCwweDg4IH19LAotIHsxNiwgMHg5MzkwLCAwLCB7MHg0MSwweDJhLDB4MDQsMHgwYSwweDg0LDB4ODIsMHhiZCwweDgwLDB4OGIsMHgwOCwweDJiLDB4YzQsMHg4OCwweGY0LDB4MDMsMHg2MCB9fSwKLSB7MTYsIDB4OTNhMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjYywweDA4LDB4ODIsMHg0MCwweDIwLDB4MTAgfX0sCi0gezE2LCAweDkzYjAsIDAsIHsweDA4LDB4MjEsMHgxMiwweDQ0LDB4MDQsMHg4MiwweDA0LDB4MmMsMHgwOCwweDg5LDB4OTAsMHgwMiwweDQ0LDB4MjEsMHg4YiwweDAwIH19LAotIHsxNiwgMHg5M2MwLCAwLCB7MHgyNCwweDg4LDB4OGIsMHhhMCwweDAwLDB4NDAsMHg4NCwweDg5LDB4MzAsMHgyMiwweDQ4LDB4ODgsMHhiMCwweDAyLDB4Y2MsMHgwOCB9fSwKLSB7MTYsIDB4OTNkMCwgMCwgezB4ODgsMHgyMCwweGE0LDB4YzgsMHgwMCwweDMyLDB4MGEsMHgyMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDkzZTAsIDAsIHsweGMwLDB4MTUsMHhhMCwweDAwLDB4ODksMHgwMCwweDIyLDB4YzEsMHg4OCwweDkwLDB4NjIsMHgyOCwweDA4LDB4ODksMHgwOCwweDJlIH19LAotIHsxNiwgMHg5M2YwLCAwLCB7MHhjMCwweDA4LDB4YTAsMHgwMiwweDI4LDB4MDgsMHhhOCwweDAwLDB4MjYsMHg0MiwweDBiLDB4OTAsMHgwMiwweGNjLDB4NTAsMHg4YSB9fSwKLSB7MTYsIDB4OTQwMCwgMCwgezB4MjIsMHgyYSwweDg2LDB4MGEsMHg4MCwweDAyLDB4ZWMsMHgwMCwweDg4LDB4ODQsMHgyYSwweGMxLDB4MDgsMHhiMCwweDI2LDB4MzAgfX0sCi0gezE2LCAweDk0MTAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDE1LDB4ZjAsMHgwMiwweGNmLDB4MDAsMHgzMywweGMwIH19LAotIHsxNiwgMHg5NDIwLCAwLCB7MHg0OCwweGY4LDB4NDMsMHg3OSwweDAwLDB4OGQsMHhjMCwweDNmLDB4MzAsMHg4ZCwweDYwLDB4ODMsMHg3OCwweDYwLDB4YzQsMHg1OCB9fSwKLSB7MTYsIDB4OTQzMCwgMCwgezB4MzcsMHgyMCwweDBmLDB4NTgsMHgxMywweDdiLDB4MDIsMHhjYywweGM0LDB4MzEsMHgyMCwweDBjLDB4NDQsMHgwMywweGVjLDB4MDIgfX0sCi0gezE2LCAweDk0NDAsIDAsIHsweDhiLDB4ODAsMHgzNiwweGMwLDB4MjQsMHhiMCwweDEyLDB4MTAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5NDUwLCAwLCB7MHhlMCwweDAxLDB4OWMsMHgwMCwweGY0LDB4MTAsMHgzZCwweDAwLDB4NmYsMHhjOSwweDEzLDB4ZDQsMHgxMiwweGZlLDB4OTAsMHgzZiB9fSwKLSB7MTYsIDB4OTQ2MCwgMCwgezB4ZjAsMHgwZiwweGRhLDB4MjMsMHhmNCwweDE0LDB4ZmYsMHgwMiwweDNiLDB4ZjAsMHgwZiwweGVhLDB4MjMsMHhiNiwweDAwLDB4ZmYgfX0sCi0gezE2LCAweDk0NzAsIDAsIHsweDgyLDB4M2YsMHhlMSwweDhmLDB4ZjQsMHgwMywweGJjLDB4MDAsMHhmZiwweDAwLDB4M2YsMHhjMCwweGFmLDB4NzAsMHgwMywweGY4IH19LAotIHsxNiwgMHg5NDgwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweGEwLDB4MDAsMHhjYSwweDAwLDB4MzIsMHgwOCB9fSwKLSB7MTYsIDB4OTQ5MCwgMCwgezB4MWMsMHhhMCwweDAzLDB4YTUsMHgyMCwweGNiLDB4NDAsMHhiYSwweDEwLDB4MWYsMHhiMCwweDAzLDB4YWMsMHgwMCwweGViLDB4MDAgfX0sCi0gezE2LCAweDk0YTAsIDAsIHsweDcyLDB4OTAsMHgwYywweGI0LDB4MDMsMHgyOSwweDA0LDB4YzksMHg1MiwweDMyLDB4NTAsMHgwYywweGI0LDB4MDMsMHgwYywweDAwIH19LAotIHsxNiwgMHg5NGIwLCAwLCB7MHhmOCwweDQwLDB4MzIsMHhjMSwweDBlLDB4YjAsMHgwYiwweDUwLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTRjMCwgMCwgezB4YzgsMHgwNSwweDJkLDB4ODAsMHg4OSwweDgwLDB4MjIsMHhkOSwweDA4LDB4OTAsMHgyMiwweDJhLDB4MDAsMHg4OCwweDU0LDB4MjIgfX0sCi0gezE2LCAweDk0ZDAsIDAsIHsweGMwLDB4OGIsMHg4MCwweDIyLDB4MjAsMHgxOSwweGM4LDB4MDAsMHgyMiwweDQwLDB4OGQsMHg4MCwweDFhLDB4MjQsMHgxMCwweGQyIH19LAotIHsxNiwgMHg5NGUwLCAwLCB7MHg0NCwweDIyLDB4ODEsMHgwZCwweDgwLDB4MDMsMHg3YywweDAwLDB4YjAsMHgwMCwweDM3LDB4YzAsMHg4OCwweGYwLDB4MDIsMHgzMiB9fSwKLSB7MTYsIDB4OTRmMCwgMCwgezB4MTAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg0ZSwweDAwLDB4ODEsMHgwMCwweGEwLDB4ZjAgfX0sCi0gezE2LCAweDk1MDAsIDAsIHsweDA4LDB4OTAsMHgwMiwweDg5LDB4MDIsMHg4MCwweDAwLDB4MjIsMHhjMCwweDBiLDB4MDAsMHgyMiwweGEwLDB4MDAsMHhiMCwweDAwIH19LAotIHsxNiwgMHg5NTEwLCAwLCB7MHgyMCwweDQwLDB4MDgsMHgwMCwweDAyLDB4MDQsMHgwMCwweDgyLDB4NjAsMHgyMCwweDgwLDB4MDgsMHgwMCwweDAyLDB4MGMsMHgwOCB9fSwKLSB7MTYsIDB4OTUyMCwgMCwgezB4YjIsMHgwMCwweDIyLDB4YzAsMHgwOCwweDMwLDB4MDIsMHgzOCwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDk1MzAsIDAsIHsweDIwLDB4MDEsMHgwMywweDEwLDB4OGUsMHg5MCwweDIzLDB4MjQsMHgwOCwweDZiLDB4MDIsMHgxNiwweDYwLDB4OGYsMHg4MCwweDIxIH19LAotIHsxNiwgMHg5NTQwLCAwLCB7MHgyOCwweDBiLDB4ZjksMHgwNiwweDFlLDB4NDAsMHg4ZiwweDgwLDB4MjMsMHhhNCwweDQ5LDB4NzksMHgwMiwweDNhLDB4NDAsMHg5ZCB9fSwKLSB7MTYsIDB4OTU1MCwgMCwgezB4OTAsMHgyMywweDY0LDB4MDksMHhmOCwweDAyLDB4NWUsMHg0MCwweGJlLDB4OTAsMHgyNCwweGU0LDB4MjgsMHg3OSwweDAyLDB4MDggfX0sCi0gezE2LCAweDk1NjAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MGMsMHg0MiwweGMwLDB4MDksMHgzMCwweDAwIH19LAotIHsxNiwgMHg5NTcwLCAwLCB7MHgyOCwweDAyLDB4MDMsMHg4NCwweDAwLDB4OGEsMHgyMCwweDMwLDB4YzQsMHg4YiwweDExLDB4MDMsMHg4NCwweDUwLDB4YjMsMHgwMCB9fSwKLSB7MTYsIDB4OTU4MCwgMCwgezB4MjAsMHhjMCwweDBjLDB4YTQsMHgyMiwweDA0LDB4MDAsMHhjYiwweDQwLDB4MzAsMHhjNSwweDBjLDB4MzAsMHgwMywweDBlLDB4NDAgfX0sCi0gezE2LCAweDk1OTAsIDAsIHsweGYzLDB4MTAsMHgzMCwweGM0LDB4MGMsMHhiMCwweDAzLDB4MTIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5NWEwLCAwLCB7MHg0MCwweDFkLDB4YjAsMHgwNCwweGZiLDB4MDQsMHgzZCwweGMwLDB4MGYsMHhmMiwweDQzLDB4ZjgsMHgwNCwweGZkLDB4MDEsMHgzZiB9fSwKLSB7MTYsIDB4OTViMCwgMCwgezB4MGMsMHgwZiwweDYxLDB4MDMsMHhmOCwweDQ4LDB4ZjQsMHgwMCwweDNkLDB4MDEsMHgwZiwweGQwLDB4MDMsMHhjOCwweDAwLDB4ZmMgfX0sCi0gezE2LCAweDk1YzAsIDAsIHsweDA0LDB4YmQsMHgwNCwweDBiLDB4NDgsMHgwMywweGZjLDB4MTgsMHhmZiwweDE0LDB4M2YsMHhkNSwweDBkLDB4ZjAsMHgwMywweDkwIH19LAotIHsxNiwgMHg5NWQwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGUwLDB4MDAsMHhmOSwweDAxLDB4MzIsMHhjMCB9fSwKLSB7MTYsIDB4OTVlMCwgMCwgezB4OGUsMHg5MCwweDAzLDB4MjgsMHgwMiwweGQxLDB4MDAsMHgzMiwweGMwLDB4MGQsMHhhOCwweDBiLDB4MDgsMHgwMCwweGU4LDB4MDAgfX0sCi0gezE2LCAweDk1ZjAsIDAsIHsweDJlLDB4NDAsMHgwYywweDk4LDB4MGIsMHgyZSwweDAyLDB4Y2EsMHgwMCwweGIyLDB4YTAsMHg2YywweDgwLDB4MjMsMHgyZCwweDgwIH19LAotIHsxNiwgMHg5NjAwLCAwLCB7MHhjYSwweDgwLDB4MzIsMHhkMCwweDBjLDB4YmEsMHgwMywweDJhLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTYxMCwgMCwgezB4NDgsMHgxMSwweDljLDB4MDAsMHhiNiwweDAwLDB4YTMsMHgwMCwweDA4LDB4NjAsMHgwMiwweDA0LDB4MDAsMHg4NiwweDA0LDB4MjkgfX0sCi0gezE2LCAweDk2MjAsIDAsIHsweDAwLDB4MDgsMHg1MCwweDQyLDB4MTQsMHgwNCwweGE3LDB4MDAsMHgwZCwweDgwLDB4NGEsMHg2MCwweDAyLDB4MDAsMHgwMCwweDgxIH19LAotIHsxNiwgMHg5NjMwLCAwLCB7MHgwMCwweDIxLDB4NDAsMHgwOCwweDcwLDB4MDIsMHg5ZCwweDQyLDB4ODYsMHgwMSwweDIwLDB4YzAsMHgwOCwweDMyLDB4ODIsMHgxMiB9fSwKLSB7MTYsIDB4OTY0MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHg5MiwweDAwLDB4YmMsMHg4MCwweDYzLDB4MjAgfX0sCi0gezE2LCAweDk2NTAsIDAsIHsweDgyLDB4MDgsMHgwMiwweDUyLDB4MDAsMHg4NCwweGMyLDB4MjMsMHgyMCwweDg4LDB4MGMsMHgwMiwweDMzLDB4MDAsMHg4NCwweDgwIH19LAotIHsxNiwgMHg5NjYwLCAwLCB7MHgyZiwweDIxLDB4ODksMHg0YywweDAyLDB4MTIsMHgxNCwweDk0LDB4YzUsMHg2NCwweDIxLDB4MDgsMHg0YywweDAyLDB4MGUsMHg4MCB9fSwKLSB7MTYsIDB4OTY3MCwgMCwgezB4OTcsMHg4MiwweGExLDB4ZWMsMHgwOCwweDc5LDB4MDIsMHgzMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDk2ODAsIDAsIHsweDQ4LDB4MTQsMHhjZCwweDQ0LDB4YjMsMHgwMCwweDIwLDB4YzAsMHgwOCwweDMwLDB4MDIsMHg0ZCwweDgwLDB4MDMsMHg4OCwweDI4IH19LAotIHsxNiwgMHg5NjkwLCAwLCB7MHhjMCwweDA4LDB4M2MsMHgwNiwweDBmLDB4MDAsMHhhMywweDQzLDB4MmMsMHhjMiwweDFiLDB4MzgsMHgwMiwweDBmLDB4MDAsMHg5YiB9fSwKLSB7MTYsIDB4OTZhMCwgMCwgezB4ODgsMHg2NCwweGQwLDB4MDgsMHhiOCwweDAyLDB4OGMsMHgxMCwweDkzLDB4MDAsMHgyMCwweGMwLDB4MDgsMHgzMCwweDBhLDB4MTIgfX0sCi0gezE2LCAweDk2YjAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YWEsMHgwMCwweGZhLDB4MDUsMHgzMiwweDgwIH19LAotIHsxNiwgMHg5NmMwLCAwLCB7MHg4ZSwweGEwLDB4MGIsMHg2OSwweDAwLDB4Y2EsMHg0MCwweDMyLDB4YTAsMHgzYywweGE4LDB4MDMsMHgyYSwweDAwLDB4ZWEsMHgyNiB9fSwKLSB7MTYsIDB4OTZkMCwgMCwgezB4M2UsMHhiMCwweDBkLDB4YTEsMHg2MywweDI4LDB4MjAsMHhjYSwweDQwLDB4MzYsMHhhMCwweDBjLDB4ZTAsMHgxMywweDI4LDB4MDkgfX0sCi0gezE2LCAweDk2ZTAsIDAsIHsweGRlLDB4MDAsMHgzMiwweDgwLDB4MmMsMHhhMCwweDAzLDB4M2EsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5NmYwLCAwLCB7MHg0OCwweDAwLDB4ZjAsMHgyMCwweGY0LDB4MDAsMHgzZiwweDAwLDB4MGYsMHg0MCwweDIzLDB4YjAsMHgwMCwweGVjLDB4MDAsMHgzZiB9fSwKLSB7MTYsIDB4OTcwMCwgMCwgezB4MDYsMHgxZSwweGMyLDB4MTMsMHhmMCwweDg4LDB4ZmMsMHgyMCwweDNmLDB4MDQsMHg4ZSwweGMwLDB4MDMsMHhmMCwweDgwLDB4ZWMgfX0sCi0gezE2LCAweDk3MTAsIDAsIHsweDQwLDB4M2IsMHgwYywweDBmLDB4YzAsMHhhMywweGUwLDB4MDAsMHhlOCwweDAwLDB4M2UsMHgwMCwweDRmLDB4ODAsMHgwMywweGQyIH19LAotIHsxNiwgMHg5NzIwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGU0LDB4MDAsMHhmOSwweDAwLDB4MzIsMHg0MCB9fSwKLSB7MTYsIDB4OTczMCwgMCwgezB4MGMsMHg5MCwweDAzLDB4MjQsMHgwMCwweGM5LDB4ODAsMHgzMiwweDQwLDB4MGYsMHg5MCwweDUzLDB4ZTQsMHgxMCwweGM5LDB4MDAgfX0sCi0gezE2LCAweDk3NDAsIDAsIHsweDMyLDB4NDAsMHgwZCwweDkwLDB4MDMsMHhlNCwweDAwLDB4ZjksMHgwMCwweDM2LDB4NDAsMHg4ZiwweDkwLDB4MDMsMHgyNCwweDEwIH19LAotIHsxNiwgMHg5NzUwLCAwLCB7MHhjOSwweDAxLDB4M2MsMHg0MCwweDBjLDB4OTAsMHgwMywweGMyLDB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTc2MCwgMCwgezB4ODAsMHgwNCwweDQ3LDB4NDQsMHg4OSwweDAwLDB4MjAsMHg0MCwweDA4LDB4OTAsMHgwMiwweDI1LDB4MGEsMHg4MSwweDEwLDB4MjIgfX0sCi0gezE2LCAweDk3NzAsIDAsIHsweDQwLDB4NDgsMHg5MCwweDAzLDB4YzQsMHgwMCwweDg5LDB4MDAsMHg3NiwweDQwLDB4MjgsMHg5MCwweDAyLDB4ZTQsMHgxMCwweGI5IH19LAotIHsxNiwgMHg5NzgwLCAwLCB7MHg0MCwweGIyLDB4NDAsMHgwYiwweDkwLDB4MDMsMHg2NCwweDAwLDB4ODksMHgwMCwweDJlLDB4NDEsMHgwOCwweDkwLDB4NDIsMHhlMCB9fSwKLSB7MTYsIDB4OTc5MCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHgyNCwweDAyLDB4YmQsMHgwMCwweDIzLDB4NDggfX0sCi0gezE2LCAweDk3YTAsIDAsIHsweDA4LDB4ZDAsMHgwNiwweDFkLDB4MDQsMHg4ZCwweDAwLDB4MjksMHhjMCwweDRhLDB4ZDAsMHgyMiwweGY0LDB4MDAsMHg4NSwweDAwIH19LAotIHsxNiwgMHg5N2IwLCAwLCB7MHg2MSwweDQwLDB4MTgsMHhkMCwweDEyLDB4ZmMsMHgwMCwweGJkLDB4NDAsMHhhMywweDQwLDB4NGIsMHhmMCwweDAyLDB4MDQsMHgwMSB9fSwKLSB7MTYsIDB4OTdjMCwgMCwgezB4OGIsMHgwMCwweDJlLDB4NDAsMHgwOCwweDkwLDB4MDIsMHhjNiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDk3ZDAsIDAsIHsweDA4LDB4MDQsMHgzNiwweDgwLDB4ODUsMHgyMCwweGEzLDB4NDgsMHgwOCwweDUyLDB4MGEsMHgxNCwweDgxLDB4ODUsMHgyMCwweDI5IH19LAotIHsxNiwgMHg5N2UwLCAwLCB7MHg0OCwweDA4LDB4NTIsMHgwMiwweGI0LDB4ODAsMHg4NSwweDIwLDB4MjUsMHg0OCwweDg4LDB4NTIsMHgwMiwweGQ0LDB4ODAsMHhiNSB9fSwKLSB7MTYsIDB4OTdmMCwgMCwgezB4MjAsMHgyMSwweDQ4LDB4MGIsMHg1MiwweDAyLDB4NDQsMHhhMiwweDgxLDB4MDAsMHgyYywweDRhLDB4MDgsMHgxMiwweDgyLDB4YzIgfX0sCi0gezE2LCAweDk4MDAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjAsMHgwMCwweGY4LDB4NTEsMHgyMiwweDAwIH19LAotIHsxNiwgMHg5ODEwLCAwLCB7MHgyYywweDg1LDB4MDIsMHgyMSwweDQ4LDB4YzgsMHgwMCwweGJhLDB4MTQsMHgwZiwweDg1LDB4MTIsMHhlMSwweDQyLDB4YzgsMHg1MCB9fSwKLSB7MTYsIDB4OTgyMCwgMCwgezB4MjIsMHgwMCwweDBjLDB4MDAsMHgwMywweGUwLDB4MDAsMHhmOCwweDUwLDB4MzIsMHgwMCwweDA3LDB4NDUsMHgwMywweDIwLDB4ODAgfX0sCi0gezE2LCAweDk4MzAsIDAsIHsweGMwLDB4MDEsMHgzZSwweDA4LDB4MmMsMHg4MiwweDAzLDB4ZWUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5ODQwLCAwLCB7MHg5OCwweDBkLDB4ZTQsMHg0MCwweGYxLDB4MTAsMHgzZSwweDQ0LDB4MDcsMHg5MSwweDQzLDB4ZTQsMHg1OCwweGY5LDB4MTEsMHgzNCB9fSwKLSB7MTYsIDB4OTg1MCwgMCwgezB4NDQsMHg0ZiwweDkxLDB4MDIsMHhlNCwweDUwLDB4ZjksMHgxMCwweDNjLDB4NGYsMHgwZiwweDkzLDB4ODMsMHhlNCwweGYwLDB4ZjkgfX0sCi0gezE2LCAweDk4NjAsIDAsIHsweDExLDB4M2EsMHg0ZiwweDBmLDB4OTEsMHgwMywweGU0LDB4YTAsMHhmZCwweDI4LDB4M2UsMHg0YSwweDBmLDB4OTIsMHg4MywweGU2IH19LAotIHsxNiwgMHg5ODcwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweGY2LDB4YTAsMHhjZCwweGEwLDB4YjMsMHg2OCB9fSwKLSB7MTYsIDB4OTg4MCwgMCwgezB4OGMsMHg5YSwweDAzLDB4MzYsMHg4MCwweGM1LDB4YTAsMHgyMiwweDYwLDB4MGMsMHg5YSwweDIzLDB4MjYsMHgwNCwweGY5LDB4YTAgfX0sCi0gezE2LCAweDk4OTAsIDAsIHsweDMyLDB4NjYsMHgwYywweDlhLDB4ODMsMHgwNiwweDIwLDB4YzUsMHhhMCwweDIyLDB4NjAsMHgwYywweDliLDB4MDMsMHgyNiwweDQ4IH19LAotIHsxNiwgMHg5OGEwLCAwLCB7MHhjOSwweDAwLDB4M2UsMHg3OCwweDBjLDB4OWEsMHgwMywweDA2LDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OThiMCwgMCwgezB4MzgsMHgwMCwweGUxLDB4MDAsMHg4OCwweDQ0LDB4MjIsMHg5NSwweDA4LDB4ODUsMHgxMiwweGExLDB4NDIsMHg4OCwweDQwLDB4MDIgfX0sCi0gezE2LCAweDk4YzAsIDAsIHsweDkwLDB4MDgsMHg4NCwweDAyLDB4MjMsMHhhMCwweGJhLDB4NDAsMHgyMiwweGEwLDB4MDgsMHg4ZSwweDkyLDB4YTMsMHhhMCwweGE4IH19LAotIHsxNiwgMHg5OGQwLCAwLCB7MHg0MCwweDJhLDB4MTAsMHgwOCwweGFlLDB4MDIsMHgyMywweDQwLDB4ODgsMHgwMCwweDJlLDB4MzgsMHgwOCwweDg0LDB4MTIsMHgwZSB9fSwKLSB7MTYsIDB4OThlMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTUsMHhjNCwweDAwLDB4OGIsMHgxMiwweDIyLDB4NDAgfX0sCi0gezE2LCAweDk4ZjAsIDAsIHsweDA4LDB4OTAsMHgwMiwweDQ0LDB4MDAsMHg4MSwweDQwLDB4YTAsMHg1MCwweDA4LDB4MTEsMHgwYSwweDA1LDB4MDAsMHhiMSwweDEwIH19LAotIHsxNiwgMHg5OTAwLCAwLCB7MHhhMCwweDQ4LDB4MDgsMHg5MCwweDAyLDB4MDQsMHgwMCwweDgxLDB4NDAsMHgyMCwweDUwLDB4MjgsMHgxMSwweDAyLDB4NDQsMHg4MiB9fSwKLSB7MTYsIDB4OTkxMCwgMCwgezB4ODEsMHgwMCwweDJjLDB4NTAsMHgwOCwweDExLDB4MDIsMHgwMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDk5MjAsIDAsIHsweDE4LDB4MTUsMHhhNCwweDAyLDB4ODksMHg0MCwweDIyLDB4NDAsMHgwOCwweDk0LDB4MTIsMHhhNSwweDAwLDB4ODksMHgyOCwweDIyIH19LAotIHsxNiwgMHg5OTMwLCAwLCB7MHg0OSwweDA4LDB4OTQsMHgwMiwweDI0LDB4NDgsMHhiOSwweDE0LDB4MjIsMHg0MCwweDA4LDB4OTQsMHgwMiwweGE0LDB4NDAsMHhhMSB9fSwKLSB7MTYsIDB4OTk0MCwgMCwgezB4NTAsMHgyYSwweDUwLDB4MDgsMHg5MSwweDQyLDB4NjQsMHgwMCwweDg5LDB4NDAsMHgyZSwweDQwLDB4MDgsMHgxMCwweDAyLDB4MDYgfX0sCi0gezE2LCAweDk5NTAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4ZTQsMHgwMCwweGM5LDB4MDAsMHgzMCwweDcwIH19LAotIHsxNiwgMHg5OTYwLCAwLCB7MHgyYywweDEwLDB4MGIsMHg2NiwweDAwLDB4YzksMHg0MCwweDMyLDB4NTAsMHgwYywweDkwLDB4MDMsMHgyNiwweDIwLDB4ZjksMHhjMCB9fSwKLSB7MTYsIDB4OTk3MCwgMCwgezB4MzIsMHg3MCwweDBjLDB4OTAsMHgwMywweDI2LDB4MjAsMHhjOSwweDAwLDB4MzIsMHg0MCwweDBjLDB4OWMsMHgwMywweDY0LDB4MDAgfX0sCi0gezE2LCAweDk5ODAsIDAsIHsweGM5LDB4NDEsMHgzZSwweDQwLDB4MmMsMHg5MCwweDBiLDB4MjgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5OTkwLCAwLCB7MHgyOCwweDAxLDB4YTQsMHgwMCwweGY5LDB4MDQsMHgzZSwweDQ4LDB4MGYsMHg5MCwweDAzLDB4ZTQsMHg4OCwweGY5LDB4MDAsMHgzNCB9fSwKLSB7MTYsIDB4OTlhMCwgMCwgezB4NDEsMHgyZiwweDljLDB4MDMsMHhlNCwweDEwLDB4ZjksMHgwMCwweDNlLDB4NDQsMHgyZiwweDk5LDB4MDMsMHhlNCwweDEwLDB4ZjkgfX0sCi0gezE2LCAweDk5YjAsIDAsIHsweDAwLDB4M2UsMHg1MCwweDBmLDB4MTAsMHg0YiwweGE0LDB4MTAsMHhmOSwweDIwLDB4M2MsMHg0MCwweDBmLDB4OTAsMHgwMywweDRhIH19LAotIHsxNiwgMHg5OWMwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxMCwweGEwLDB4MDAsMHhjOCwweDAwLDB4M2UsMHgxMCB9fSwKLSB7MTYsIDB4OTlkMCwgMCwgezB4MmMsMHg4MCwweDAzLDB4MjAsMHgwMiwweGMwLDB4NDAsMHgzMiwweDAwLDB4MWMsMHgwNCwweDBmLDB4MjEsMHgwMCwweGMwLDB4MDQgfX0sCi0gezE2LCAweDk5ZTAsIDAsIHsweDM4LDB4MDAsMHgwZiwweDgwLDB4MDMsMHgyMSwweDA4LDB4YzgsMHg2MCwweDMwLDB4MTAsMHgwZiwweDgwLDB4MDIsMHgyMCwweDAwIH19LAotIHsxNiwgMHg5OWYwLCAwLCB7MHhmOCwweDAwLDB4MzIsMHgwMCwweDBjLDB4ODAsMHgwMywweGNhLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OWEwMCwgMCwgezB4MjgsMHgwNSwweDFhLDB4MjAsMHg4MiwweDA0LDB4MmYsMHg4MCwweDA4LDB4YTAsMHgwMiwweDM4LDB4MDAsMHg4ZSwweDgwLDB4MjIgfX0sCi0gezE2LCAweDlhMTAsIDAsIHsweDgwLDB4MDgsMHhlMCwweDAyLDB4MjgsMHgwMCwweDhhLDB4MDAsMHgyMiwweDgxLDB4MGIsMHgyMCwweDAyLDB4MjgsMHgwMCwweGRlIH19LAotIHsxNiwgMHg5YTIwLCAwLCB7MHhlNCwweDM2LDB4ODAsMHgwYiwweGEwLDB4NDIsMHgyOCwweDAwLDB4YmEsMHgwNCwweDIyLDB4ODAsMHgwOCwweGEwLDB4MDIsMHhjYSB9fSwKLSB7MTYsIDB4OWEzMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg0YywweDAwLDB4ODMsMHgwMSwweDJjLDB4ODAgfX0sCi0gezE2LCAweDlhNDAsIDAsIHsweDA4LDB4MzAsMHgwMiwweDJlLDB4NjAsMHg4MiwweDkwLDB4YTAsMHhjMCwweDQ4LDB4MzAsMHgwMiwweDBjLDB4MDIsMHg4MywweDAwIH19LAotIHsxNiwgMHg5YTUwLCAwLCB7MHgyOCwweGMwLDB4MGIsMHgzMCwweDBhLDB4MmMsMHgwMCwweDgzLDB4YzIsMHgyMCwweGMwLDB4MGIsMHgzMCwweDJhLDB4MmMsMHgwMCB9fSwKLSB7MTYsIDB4OWE2MCwgMCwgezB4YjMsMHgwMCwweGEwLDB4YzAsMHgwOCwweDMwLDB4MDIsMHhjYSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDlhNzAsIDAsIHsweGEwLDB4MDEsMHgzYywweDAwLDB4ODcsMHgwMSwweDJkLDB4YzIsMHgwOCwweGYzLDB4MTIsMHgzYywweDAwLDB4OGYsMHgwMSwweDIxIH19LAotIHsxNiwgMHg5YTgwLCAwLCB7MHhjOCwweDY4LDB4NzIsMHgyMiwweDFlLDB4MDQsMHg4NywweDIwLDB4MjEsMHhjNCwweDBiLDB4NzAsMHgwMiwweDNjLDB4ODQsMHg5ZiB9fSwKLSB7MTYsIDB4OWE5MCwgMCwgezB4MDAsMHgyNSwweGM0LDB4NGIsMHg3MCwweDAyLDB4MWMsMHgwNCwweGI3LDB4ODEsMHgyMSwweGM4LDB4MDgsMHg3MiwweDAyLDB4ZTggfX0sCi0gezE2LCAweDlhYTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDAwLDB4MWUsMHgwMCwweGM3LDB4ODEsMHgzYywweGEwIH19LAotIHsxNiwgMHg5YWIwLCAwLCB7MHg0YywweDdhLDB4MGIsMHgxYSwweDAwLDB4YzYsMHg4MCwweDMwLDB4ZTAsMHgwOCwweGY4LDB4ODIsMHgwZSwweDQwLDB4Y2YsMHhmMCB9fSwKLSB7MTYsIDB4OWFjMCwgMCwgezB4MzksMHhlOCwweDBmLDB4M2EsMHgwMywweDFlLDB4MjAsMHhjNywweDgwLDB4MzEsMHhlMywweDBmLDB4MzgsMHgyMywweDFmLDB4MDggfX0sCi0gezE2LCAweDlhZDAsIDAsIHsweGZmLDB4YzAsMHgzMywweGYyLDB4MGMsMHg3ZSwweDAzLDB4ZWEsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5YWUwLCAwLCB7MHgwOCwweDE1LDB4ODgsMHgwYSwweDdiLDB4MDAsMHgzZSwweGMxLDB4MGIsMHgzNCwweDIzLDB4YzgsMHgxMCwweGZiLDB4MDIsMHgzZSB9fSwKLSB7MTYsIDB4OWFmMCwgMCwgezB4Y2EsMHgwZiwweGI3LDB4NDMsMHhlYywweDgwLDB4ZmIsMHgwMCwweDJlLDB4YzIsMHgwYiwweGI0LDB4ODMsMHhlZCwweGQwLDB4ZmEgfX0sCi0gezE2LCAweDliMDAsIDAsIHsweDAwLDB4M2UsMHhkOSwweDBmLDB4YjMsMHg4MywweGVjLDB4ODAsMHhiYiwweDIwLDB4M2UsMHhkOCwweDJmLDB4YjQsMHgwMywweGMyIH19LAotIHsxNiwgMHg5YjEwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweGZlLDB4MDAsMHhmNSwweDkxLDB4MzEsMHhhMCB9fSwKLSB7MTYsIDB4OWIyMCwgMCwgezB4MGMsMHhmYywweDAzLDB4ZmUsMHgwMCwweGM0LDB4ODEsMHgzMSwweGVlLDB4OGQsMHhmOCwweDBhLDB4M2UsMHgzMCwweGNmLDB4ODQgfX0sCi0gezE2LCAweDliMzAsIDAsIHsweDMzLDB4ZTAsMHgyYywweGY4LDB4ODMsMHhmZSwweDEwLDB4ZmUsMHg4MCwweDMzLDB4ZTAsMHgwYywweGY5LDB4MTksMHgzZiwweDQ4IH19LAotIHsxNiwgMHg5YjQwLCAwLCB7MHhjZiwweGMwLDB4MzMsMHhlMCwweDA0LDB4ZmMsMHgwMywweGMwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OWI1MCwgMCwgezB4YTgsMHgxMSwweDljLDB4MDgsMHhiNywweGExLDB4MjEsMHhjOCwweDA4LDB4NzEsMHgwMiwweGYwLDB4YTAsMHg4NSwweDIwLDB4MjEgfX0sCi0gezE2LCAweDliNjAsIDAsIHsweGNlLDB4MDgsMHg3MCwweDAyLDB4M2MsMHg4MCwweDhmLDB4MDAsMHgyYiwweGM1LDB4MDgsMHg3MSwweDAyLDB4ZGMsMHgxMCwweGI0IH19LAotIHsxNiwgMHg5YjcwLCAwLCB7MHgwMCwweDIxLDB4YzEsMHgwYSwweGYzLDB4ODIsMHgwYywweDAwLDB4ODcsMHgwMSwweDI5LDB4YzAsMHgwOCwweDcxLDB4MDIsMHg2YSB9fSwKLSB7MTYsIDB4OWI4MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5ZCwweDAwLDB4YmQsMHgyMSwweDI3LDB4ODIgfX0sCi0gezE2LCAweDliOTAsIDAsIHsweDAwLDB4NzAsMHgwMiwweGZjLDB4MDQsMHg4YywweDAwLDB4YTcsMHhjYywweGE4LDB4NzAsMHgwMiwweDNjLDB4MDgsMHhhZiwweDAwIH19LAotIHsxNiwgMHg5YmEwLCAwLCB7MHgyMSwweGMwLDB4MDgsMHg3MCwweDAyLDB4ZGMsMHgwMCwweGI3LDB4MDAsMHgyMSwweGM0LDB4MDgsMHg3MCwweDE2LDB4MWMsMHgwYSB9fSwKLSB7MTYsIDB4OWJiMCwgMCwgezB4OGYsMHgwMCwweDIxLDB4YzAsMHgwOCwweDcwLDB4MDIsMHhjMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDliYzAsIDAsIHsweDIwLDB4MTAsMHhjOCwweDAwLDB4YmIsMHg0NCwweDI0LDB4ZTIsMHgwOCwweGIxLDB4MDIsMHhjMiwweDgwLDB4MDEsMHg4MCwweDI0IH19LAotIHsxNiwgMHg5YmQwLCAwLCB7MHhkMCwweDg4LDB4MzAsMHgwMiwweDBmLDB4NTIsMHg4MywweDkxLDB4MjgsMHhlNCwweDg4LDB4M2QsMHgwMiwweGNlLDB4ZDAsMHhiMCB9fSwKLSB7MTYsIDB4OWJlMCwgMCwgezB4YjIsMHhhMiwweGMwLDB4MGEsMHgzNCwweDEyLDB4MGMsMHgwMiwweDgzLDB4MDAsMHgyOCwweGMwLDB4MDgsMHgzMCwweDAyLDB4NDggfX0sCi0gezE2LCAweDliZjAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YWMsMHgwMCwweGZiLDB4MDEsMHhlNCwweDQwIH19LAotIHsxNiwgMHg5YzAwLCAwLCB7MHgyYywweGYwLDB4NDMsMHhlNSwweDAwLDB4OGEsMHg4OCwweDM3LDB4ZTAsMHgwMCwweGZhLDB4MDIsMHgzZCwweDAwLDB4ZWYsMHgwMCB9fSwKLSB7MTYsIDB4OWMxMCwgMCwgezB4MzMsMHhkMSwweDBjLDB4ZjQsMHgwMywweGZkLDB4MDAsMHhmOSwweDQwLDB4MzMsMHhlOCwweDBjLDB4ZmMsMHgwMSwweDNjLDB4MDQgfX0sCi0gezE2LCAweDljMjAsIDAsIHsweGNmLDB4MDIsMHgzMywweGMwLDB4MmMsMHhmMCwweDAzLDB4ZWEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5YzMwLCAwLCB7MHg4MCwweDAwLDB4ZWUsMHgwOCwweGY5LDB4MTAsMHgzYSwweGQwLDB4MGYsMHhiMCwweDkzLDB4ZWMsMHgwMCwweGZiLDB4MGIsMHgzYSB9fSwKLSB7MTYsIDB4OWM0MCwgMCwgezB4YzAsMHg4ZSwweGIwLDB4ODMsMHhlYywweDgwLDB4ZmIsMHgwOSwweDdlLDB4YzgsMHgwZiwweGIyLDB4MTMsMHhlYywweDAwLDB4ZjkgfX0sCi0gezE2LCAweDljNTAsIDAsIHsweDAwLDB4M2UsMHhjMiwweDhmLDB4YjIsMHg0YiwweGNjLDB4MDQsMHhmYiwweDAwLDB4M2UsMHhjMCwweDBmLDB4YjAsMHgwMywweDYwIH19LAotIHsxNiwgMHg5YzYwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGZjLDB4MDAsMHhmZiwweDA4LDB4MzMsMHhjMCB9fSwKLSB7MTYsIDB4OWM3MCwgMCwgezB4MWMsMHhmMCwweDAzLDB4NzAsMHg0MCwweGM0LDB4YzAsMHgzMywweGMyLDB4MGYsMHhmMCwweDAzLDB4MWMsMHgxMCwweGM3LDB4MDAgfX0sCi0gezE2LCAweDljODAsIDAsIHsweDMxLDB4YzAsMHgwYywweDcwLDB4MDMsMHgxYywweDAwLDB4YzUsMHg0MSwweDMzLDB4YzAsMHgwYywweGYwLDB4MjMsMHgyYywweDAwIH19LAotIHsxNiwgMHg5YzkwLCAwLCB7MHhjZiwweDAwLDB4YjMsMHhjMCwweDZjLDB4ZjAsMHgwMywweDgwLDB4NDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OWNhMCwgMCwgezB4ODEsMHgwNCwweDZhLDB4MDAsMHhiOSwweDkwLDB4MzIsMHhmMSwweDA4LDB4YjAsMHgwMiwweDBhLDB4MTAsMHhkOSwweDAwLDB4MjIgfX0sCi0gezE2LCAweDljYjAsIDAsIHsweGMxLDB4MGIsMHhiMCwweDAyLDB4MmMsMHgwMCwweGNiLDB4MDYsMHgyMiwweGMwLDB4ODgsMHhiMCwweDEyLDB4MmMsMHgwMCwweDg4IH19LAotIHsxNiwgMHg5Y2MwLCAwLCB7MHg4MCwweDIyLDB4YzEsMHgwZCwweGIwLDB4MDIsMHgyYywweDAwLDB4ODMsMHgwMCwweDIyLDB4YzEsMHgwOCwweGIwLDB4NDYsMHhlMCB9fSwKLSB7MTYsIDB4OWNkMCwgMCwgezB4NDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDEsMHgyZSwweDAwLDB4YjksMHgwMCwweDIyLDB4ZjAgfX0sCi0gezE2LCAweDljZTAsIDAsIHsweDA4LDB4YjAsMHgxMiwweDY0LDB4MDAsMHg4YSwweDAwLDB4MjIsMHhjMCwweDBiLDB4MzAsMHg0MiwweDJjLDB4MDAsMHg4YiwweDAwIH19LAotIHsxNiwgMHg5Y2YwLCAwLCB7MHgyMiwweGMwLDB4MDgsMHhiMCwweDAyLDB4MmMsMHgwMCwweDhhLDB4MDAsMHgyMiwweGMwLDB4ODgsMHgzMCwweDBhLDB4MmMsMHgwMCB9fSwKLSB7MTYsIDB4OWQwMCwgMCwgezB4OGIsMHgwMCwweDIwLDB4YzAsMHgwOCwweGIwLDB4MDIsMHhlMCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDlkMTAsIDAsIHsweDA4LDB4MDQsMHgwYywweDA0LDB4YjEsMHgwMiwweGU0LDB4YzEsMHgwOCwweGIwLDB4MjIsMHgyMCwweDAyLDB4OTMsMHgwMCwweDIwIH19LAotIHsxNiwgMHg5ZDIwLCAwLCB7MHhjMCwweDBiLDB4MzAsMHgxMiwweDBjLDB4MDIsMHg4MywweDAyLDB4YTAsMHhjMCwweDI4LDB4MzAsMHgwZSwweDBjLDB4MDIsMHg4MCB9fSwKLSB7MTYsIDB4OWQzMCwgMCwgezB4MDAsMHhhMCwweGMwLDB4NDksMHgzMCwweDBhLDB4MGMsMHgwMiwweDhiLDB4MDAsMHgyMCwweGMwLDB4MDgsMHgzMCwweDAyLDB4YzIgfX0sCi0gezE2LCAweDlkNDAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4NmMsMHgwMCwweGY5LDB4MjQsMHgzMiwweGMwIH19LAotIHsxNiwgMHg5ZDUwLCAwLCB7MHgwOCwweGYwLDB4MDMsMHg2NCwweDAwLDB4YzgsMHgwMCwweGIzLDB4YzAsMHgxZiwweGYwLDB4MGIsMHgzYywweDAwLDB4OGYsMHgwMCB9fSwKLSB7MTYsIDB4OWQ2MCwgMCwgezB4MzMsMHhjMCwweDRjLDB4ZjAsMHg0MywweDNjLDB4MDgsMHhjMywweDAwLDB4MzEsMHhjMCwweDBjLDB4ZjAsMHgwMywweDNkLDB4NDggfX0sCi0gezE2LCAweDlkNzAsIDAsIHsweGNmLDB4MDAsMHgzMSwweGMwLDB4MGMsMHhmMCwweDAzLDB4ODAsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5ZDgwLCAwLCB7MHhhMCwweDFkLDB4ZjAsMHgwNCwweGY5LDB4NDEsMHgzYiwweGMwLDB4NGYsMHhmMCwweDAzLDB4ZjAsMHgxMSwweGZkLDB4MDAsMHgzZiB9fSwKLSB7MTYsIDB4OWQ5MCwgMCwgezB4YzAsMHg4NywweDcwLDB4MjcsMHhmYywweDAwLDB4ZWYsMHgwNiwweDNmLDB4YzAsMHgwZiwweGYwLDB4MDIsMHhmYywweDA4LDB4ZmMgfX0sCi0gezE2LCAweDlkYTAsIDAsIHsweDAwLDB4M2YsMHhjMCwweDQ3LDB4ZjAsMHg0MywweGZjLDB4MDAsMHg3NywweDAwLDB4M2YsMHhjMCwweDBmLDB4ZjAsMHgwMywweGU4IH19LAotIHsxNiwgMHg5ZGIwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGQyLDB4MDAsMHhjNywweDAxLDB4MzcsMHgwYyB9fSwKLSB7MTYsIDB4OWRjMCwgMCwgezB4MGYsMHhlOCwweDIzLDB4MTAsMHg0YSwweGM0LDB4YzAsMHgzMSwweDMwLDB4MGMsMHhjOSwweDAzLDB4MzQsMHg0NiwweGNmLDB4MTAgfX0sCi0gezE2LCAweDlkZDAsIDAsIHsweDMzLDB4ZDAsMHgwYywweGY0LDB4MDMsMHgzYywweDU4LDB4Y2YsMHgwMCwweDMzLDB4YzAsMHgyZCwweGYxLDB4MDMsMHgzZSwweDAyIH19LAotIHsxNiwgMHg5ZGUwLCAwLCB7MHhjZiwweDIxLDB4M2YsMHhlNCwweDBmLDB4ZjIsMHgwMywweDMwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OWRmMCwgMCwgezB4ODAsMHgxMCwweGU0LDB4ODQsMHgwYiwweDQwLDB4MjIsMHg0YywweDBiLDB4YTgsMHgwMiwweDJjLDB4YzAsMHg4YiwweDIwLDB4MjIgfX0sCi0gezE2LCAweDllMDAsIDAsIHsweGM4LDB4NGEsMHgzMiwweDAyLDB4MjQsMHg4MCwweDgzLDB4MjAsMHgyMCwweGMwLDB4MDgsMHgzMCwweDAyLDB4MjAsMHgwMCwweDhiIH19LAotIHsxNiwgMHg5ZTEwLCAwLCB7MHgyMSwweDMyLDB4Y2EsMHg0OCwweDMyLDB4MDIsMHgyYywweDMwLDB4OGYsMHg5MCwweDJlLDB4ODgsMHgwYiwweGJkLDB4MTIsMHgyMCB9fSwKLSB7MTYsIDB4OWUyMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjZSwweDIwLDB4YTMsMHg0MCwweGUwLDB4NDggfX0sCi0gezE2LCAweDllMzAsIDAsIHsweDRiLDB4MjAsMHgyMiwweDBjLDB4MDIsMHg4MiwweDAwLDB4MmEsMHgwMCwweDA4LDB4MjAsMHgwMiwweDA0LDB4ODAsMHg4MCwweDIwIH19LAotIHsxNiwgMHg5ZTQwLCAwLCB7MHgyMCwweGM4LDB4MDgsMHgwMiwweDAyLDB4MGMsMHgwMCwweDgwLDB4MGMsMHg2MCwweDAwLDB4MDgsMHgyMCwweDEyLDB4MmMsMHg4OCB9fSwKLSB7MTYsIDB4OWU1MCwgMCwgezB4ODMsMHgwMCwweDJjLDB4ZTgsMHgwYiwweDMwLDB4MDIsMHg2MiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDllNjAsIDAsIHsweGMwLDB4MTUsMHhhZSwweDAwLDB4YWIsMHgwMSwweGEyLDB4NjAsMHgwYiwweGEwLDB4MDIsMHgyMCwweDAxLDB4ODEsMHgwMCwweDIyIH19LAotIHsxNiwgMHg5ZTcwLCAwLCB7MHhjMCwweDBhLDB4OTAsMHgxMiwweDA0LDB4MjAsMHg4YSwweDA4LDB4MjIsMHhjMSwweDA4LDB4YTAsMHgwMiwweDI4LDB4MDAsMHg4OCB9fSwKLSB7MTYsIDB4OWU4MCwgMCwgezB4MDAsMHgyNCwweDQ0LDB4MDgsMHhhMiwweDAyLDB4YWMsMHgwMCwweDhiLDB4MDQsMHgyZSwweDg4LDB4MDMsMHhiMCwweDAyLDB4NzAgfX0sCi0gezE2LCAweDllOTAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDE1LDB4ZWMsMHgwMCwweGVhLDB4OTAsMHgzMiwweDI4IH19LAotIHsxNiwgMHg5ZWEwLCAwLCB7MHgwZiwweGI2LDB4MDMsMHgyMCwweDA4LDB4YzksMHgwNCwweDNhLDB4YzAsMHg0YywweDkwLDB4MjIsMHgyNCwweDAwLDB4Y2IsMHg0MCB9fSwKLSB7MTYsIDB4OWViMCwgMCwgezB4MzIsMHhhOCwweDBjLDB4YjIsMHgwMywweDJjLDB4MDAsMHhjYiwweDgwLDB4YjIsMHhlMCwweDBjLDB4YjAsMHgwYiwweDA0LDB4MDAgfX0sCi0gezE2LCAweDllYzAsIDAsIHsweGNiLDB4MDAsMHgzZSwweGMwLDB4NGYsMHhiMCwweDBiLDB4NTAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5ZWQwLCAwLCB7MHhlMCwweDAxLDB4YmMsMHgwMCwweGRmLDB4ODAsMHgzYiwweDgxLDB4MGYsMHhmMCwweGMzLDB4ZmMsMHgwMCwweGJlLDB4MDEsMHgxZiB9fSwKLSB7MTYsIDB4OWVlMCwgMCwgezB4MDAsMHgwZiwweGUwLDB4MjMsMHhmNCwweDAwLDB4ZmYsMHgwMCwweDNmLDB4YjAsMHg0ZiwweGYwLDB4NDMsMHhkNCwweDAyLDB4ZmYgfX0sCi0gezE2LCAweDllZjAsIDAsIHsweDkxLDB4M2EsMHhlMCwweDRlLDB4ZjAsMHgwMywweDdjLDB4MGMsMHhmZiwweDAwLDB4MmYsMHg4MCwweDBmLDB4MzAsMHgwMywweGI4IH19LAotIHsxNiwgMHg5ZjAwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweGFjLDB4MDEsMHhjYSwweDAwLDB4NzIsMHg1MCB9fSwKLSB7MTYsIDB4OWYxMCwgMCwgezB4MDQsMHhiNCwweDAzLDB4MmMsMHg4MiwweGNiLDB4MDAsMHgzMiwweGUwLDB4MGMsMHhiOCwweDAzLDB4MjcsMHgwNCwweGM4LDB4YzggfX0sCi0gezE2LCAweDlmMjAsIDAsIHsweGIyLDB4YTIsMHgwYywweDg4LDB4MDMsMHgyYywweDAwLDB4YzEsMHgwMCwweDNlLDB4MDAsMHgyYywweDMwLDB4MWIsMHgyYywweDA0IH19LAotIHsxNiwgMHg5ZjMwLCAwLCB7MHhmYiwweDEwLDB4M2UsMHhjMCwweDBmLDB4YjAsMHgwMywweDEwLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OWY0MCwgMCwgezB4YzgsMHgwNSwweDJjLDB4MDQsMHgwMywweDUwLDB4YTIsMHhlMCwweDA4LDB4MzQsMHg0MiwweDMzLDB4MDAsMHg4OCwweDAwLDB4MjAgfX0sCi0gezE2LCAweDlmNTAsIDAsIHsweDEwLDB4MGQsMHg4NCwweDAzLDB4MjUsMHgwMCwweDhhLDB4NDAsMHgyMiwweDkwLDB4MDgsMHhhNSwweDAyLDB4MmMsMHgwMCwweDg5IH19LAotIHsxNiwgMHg5ZjYwLCAwLCB7MHhhNCwweDNhLDB4NDAsMHgwOCwweGIwLDB4MDIsMHgyYywweDAwLDB4YmYsMHg4NCwweDJlLDB4ODAsMHgwYiwweGYwLDB4NTIsMHgzMiB9fSwKLSB7MTYsIDB4OWY3MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg2YywweDgwLDB4ODEsMHg4MCwweDI0LDB4ODggfX0sCi0gezE2LCAweDlmODAsIDAsIHsweDg5LDB4M2MsMHgyNiwweDIxLDB4MDAsMHg5MCwweDAwLDB4MjAsMHgwMiwweDA4LDB4ODAsMHg4MiwweDAwLDB4MjAsMHg5YiwweDAwIH19LAotIHsxNiwgMHg5ZjkwLCAwLCB7MHgyMiwweDQwLDB4ODgsMHhiMCwweDEyLDB4MGMsMHgwOCwweDgzLDB4ODAsMHgyYywweGMwLDB4MDgsMHgxMCwweDAyLDB4MGMsMHgwMCB9fSwKLSB7MTYsIDB4OWZhMCwgMCwgezB4YjMsMHg4MCwweDJjLDB4NDAsMHgwYiwweDMwLDB4MDIsMHgzOCwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDlmYjAsIDAsIHsweDIwLDB4MDEsMHgzZSwweDBhLDB4ODUsMHhhMCwweGE1LDB4NjAsMHgwOCwweGZiLDB4ODIsMHgzZSwweDg0LDB4OWYsMHg4MSwweDYzIH19LAotIHsxNiwgMHg5ZmMwLCAwLCB7MHhlMCwweDg5LDB4NzksMHgxMiwweDUyLDB4ODAsMHg5NywweDgyLDB4MjEsMHg2YywweDE4LDB4NzgsMHgwMiwweDEyLDB4MDAsMHg4NyB9fSwKLSB7MTYsIDB4OWZkMCwgMCwgezB4YTEsMHgyOSwweGUwLDB4MDgsMHg1YiwweDAyLDB4MWUsMHgwMCwweGI3LDB4YzAsMHgyZCwweDYwLDB4MGIsMHg3OCwweDAyLDB4MDggfX0sCi0gezE2LCAweDlmZTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MGMsMHgwMCwweDgxLDB4MDgsMHgyNiwweGMyIH19LAotIHsxNiwgMHg5ZmYwLCAwLCB7MHgyYywweDMyLDB4MTMsMHgwZSwweGE0LDB4ZDIsMHgwMCwweGIwLDB4MDAsMHgxYywweDIxLDB4MTIsMHgyNCwweDAyLDB4ZDEsMHgyMCB9fSwKLSB7MTYsIDB4YTAwMCwgMCwgezB4MzAsMHhjOCwweDBjLDB4MTAsMHgwMywweDBjLDB4MDAsMHhjMiwweDEwLDB4M2MsMHg4MCwweDBjLDB4MjMsMHgwMywweDBjLDB4NDAgfX0sCi0gezE2LCAweGEwMTAsIDAsIHsweGYzLDB4MDAsMHgzYywweDQ4LDB4MGYsMHgzMCwweDBiLDB4MTIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhMDIwLCAwLCB7MHg0MCwweDFkLDB4YmMsMHgwMCwweGZkLDB4MjAsMHhiYiwweDQwLDB4MDcsMHg3MiwweDAyLDB4ZjAsMHgxMCwweGVkLDB4MTAsMHgzZiB9fSwKLSB7MTYsIDB4YTAzMCwgMCwgezB4YzQsMHgwZiwweGQxLDB4NjMsMHhiNCwweDgwLDB4ZWYsMHgwMCwweDNmLDB4YzgsMHgwZiwweGYwLDB4MDMsMHhkOCwweDAwLDB4ZmUgfX0sCi0gezE2LCAweGEwNDAsIDAsIHsweDM0LDB4M2YsMHhjNCwweDBmLDB4ZWIsMHg0MywweGZjLDB4MDAsMHhmZiwweDA4LDB4N2YsMHg0MCwweDBmLDB4ZjEsMHg4MywweGQwIH19LAotIHsxNiwgMHhhMDUwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGVjLDB4MDAsMHhjOCwweDAwLDB4MzMsMHg4MCB9fSwKLSB7MTYsIDB4YTA2MCwgMCwgezB4OGYsMHgyOCwweDAzLDB4MjAsMHgwMCwweDQ5LDB4MDIsMHgzMiwweGMwLDB4MGYsMHg5MCwweDAzLDB4MjAsMHgwMCwweGNiLDB4MDAgfX0sCi0gezE2LCAweGEwNzAsIDAsIHsweDMyLDB4NDAsMHg0YywweGIwLDB4MGIsMHgyYywweDAwLDB4Y2IsMHg4MCwweDMyLDB4YzAsMHgwZSwweDllLDB4MDMsMHgyNCwweDAwIH19LAotIHsxNiwgMHhhMDgwLCAwLCB7MHhmYiwweDIwLDB4M2UsMHhjMCwweDBmLDB4YjAsMHgwMywweDJhLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTA5MCwgMCwgezB4NDgsMHgxMSwweDljLDB4MDAsMHg4ZCwweDAxLDB4MjEsMHhjMCwweDBiLDB4NjAsMHgwMiwweDFkLDB4MDAsMHhkNiwweDAwLDB4MjEgfX0sCi0gezE2LCAweGEwYTAsIDAsIHsweDAwLDB4MGIsMHhlMCwweDAyLDB4MDAsMHgwMCwweDgzLDB4MDQsMHgyMCwweDQwLDB4MDgsMHg3MCwweDQyLDB4MzQsMHgwMiwweDg3IH19LAotIHsxNiwgMHhhMGIwLCAwLCB7MHgwMSwweDIzLDB4YzAsMHgyOCwweDUxLDB4MGEsMHgxYywweDA0LDB4YjcsMHgzMCwweDJkLDB4YzAsMHgwYiwweDcyLDB4MDMsMHg5MiB9fSwKLSB7MTYsIDB4YTBjMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHg5ZSwweDAwLDB4YTYsMHg0MCwweDIxLDB4YTAgfX0sCi0gezE2LCAweGEwZDAsIDAsIHsweDBiLDB4NjgsMHgwMiwweDBlLDB4MDAsMHg4ZiwweDgwLDB4MjEsMHhlMCwweDBiLDB4NzgsMHgwMiwweDE2LDB4MTAsMHhhNSwweDgwIH19LAotIHsxNiwgMHhhMGUwLCAwLCB7MHgyMSwweGUwLDB4MDgsMHgxOCwweDAyLDB4MWUsMHgwMCwweDgzLDB4ODAsMHgyMSwweGEwLDB4MDgsMHg3OCwweDAyLDB4MWYsMHgwMCB9fSwKLSB7MTYsIDB4YTBmMCwgMCwgezB4YjcsMHg4MCwweDJkLDB4ZTAsMHgwYiwweDM4LDB4MDIsMHgzMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGExMDAsIDAsIHsweDQ4LDB4MTQsMHhlYywweDEyLDB4YTEsMHg2NCwweDIwLDB4ZTYsMHgwYiwweDIwLDB4MDIsMHgwMCwweDEwLDB4OTAsMHg0YSwweDIwIH19LAotIHsxNiwgMHhhMTEwLCAwLCB7MHgyMCwweDRiLDB4MDAsMHg0MiwweDA0LDB4MDAsMHg4MywweDAwLDB4MjAsMHhjMiwweDA4LDB4MzAsMHgwMiwweDhjLDB4MDAsMHg4MyB9fSwKLSB7MTYsIDB4YTEyMCwgMCwgezB4MDQsMHgyMCwweGMwLDB4MDgsMHgzMCwweDAyLDB4MGUsMHgwMCwweGIzLDB4MDAsMHgyYywweGUwLDB4NGIsMHgzMCwweDAyLDB4OTIgfX0sCi0gezE2LCAweGExMzAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YjgsMHgwMCwweGVlLDB4YzAsMHgzMywweDkwIH19LAotIHsxNiwgMHhhMTQwLCAwLCB7MHgwZiwweGEwLDB4MWIsMHgwOCwweDAwLDB4Y2EsMHg0MCwweGIyLDB4ODIsMHgwZiwweGEwLDB4MGIsMHgyOCwweDAyLDB4Y2EsMHgwMCB9fSwKLSB7MTYsIDB4YTE1MCwgMCwgezB4YjIsMHg5MCwweGFjLDB4YTAsMHgwMywweDI5LDB4MDAsMHhjYSwweDQwLDB4YjIsMHg4MCwweDhlLDB4YTQsMHgwMywweDJhLDB4MDAgfX0sCi0gezE2LCAweGExNjAsIDAsIHsweGZhLDB4MDAsMHgzZiwweGE4LDB4MGYsMHhhMCwweDBiLDB4M2EsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhMTcwLCAwLCB7MHg0OCwweDAwLDB4ZTIsMHgwMiwweDkwLDB4MDAsMHgzZSwweDAwLDB4MGYsMHg4OCwweDAzLDB4ZjEsMHgwMCwweGZjLDB4MDIsMHgzZiB9fSwKLSB7MTYsIDB4YTE4MCwgMCwgezB4MjAsMHgwZiwweGM4LDB4MDMsMHhjMSwweDAwLDB4ZjAsMHgwMCwweDNlLDB4MDAsMHg4ZiwweDAwLDB4MDEsMHg2MCwweDAyLDB4ZjggfX0sCi0gezE2LCAweGExOTAsIDAsIHsweDA4LDB4M2UsMHgwMCwweDBmLDB4ODAsMHg4MywweGUwLDB4MDAsMHhmOCwweDAwLDB4MmUsMHgwMCwweDhmLDB4ODAsMHgxMywweDkyIH19LAotIHsxNiwgMHhhMWEwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGU0LDB4MDIsMHhjOSwweDAwLDB4YjIsMHg2NCB9fSwKLSB7MTYsIDB4YTFiMCwgMCwgezB4MGYsMHg5MSwweDAzLDB4ZTQsMHgwNCwweGM5LDB4MDAsMHgzMiwweDQwLDB4NmMsMHg5MCwweDAzLDB4MjUsMHgwMiwweGM5LDB4OTAgfX0sCi0gezE2LCAweGExYzAsIDAsIHsweGIwLDB4NDAsMHgwYywweDkwLDB4MDMsMHgyNCwweDIwLDB4YzksMHhhMCwweDNlLDB4NDAsMHg0YywweDkwLDB4MjMsMHhlNCwweDAwIH19LAotIHsxNiwgMHhhMWQwLCAwLCB7MHhmMSwweDAwLDB4OTIsMHg0MCwweDBjLDB4MTAsMHgwMywweDAyLDB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTFlMCwgMCwgezB4ODAsMHgwNCwweDY0LDB4MDAsMHg4OSwweDgwLDB4YTIsMHg0MCwweDBiLDB4OTYsMHg0MiwweGU1LDB4MDQsMHg4OSwweDAwLDB4MjIgfX0sCi0gezE2LCAweGExZjAsIDAsIHsweDQwLDB4MDgsMHg5MCwweDAyLDB4MjQsMHgwOCwweDA5LDB4NDEsMHgyMiwweDQwLDB4NDgsMHg5MCwweDQyLDB4MjQsMHgwNCwweDg5IH19LAotIHsxNiwgMHhhMjAwLCAwLCB7MHg4MCwweDI2LDB4NDAsMHgwOCwweDkwLDB4MDIsMHhlNCwweDAwLDB4YjksMHgwMCwweDIyLDB4NDAsMHgwOCwweDk0LDB4MDIsMHgyMCB9fSwKLSB7MTYsIDB4YTIxMCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHgyNSwweDAwLDB4ODksMHgyMCwweDIyLDB4NDAgfX0sCi0gezE2LCAweGEyMjAsIDAsIHsweDBiLDB4OTAsMHgwMiwweGY0LDB4ODQsMHg4NSwweDAwLDB4MjEsMHg0MCwweDQ4LDB4NTAsMHgwMiwweDI0LDB4MjAsMHg4ZCwweDA4IH19LAotIHsxNiwgMHhhMjMwLCAwLCB7MHgyMywweDQwLDB4MDgsMHhkMCwweDAyLDB4OTQsMHgwMCwweDhkLDB4MDAsMHgyOSwweDQwLDB4MGEsMHhkMCwweDAyLDB4YTQsMHgwOCB9fSwKLSB7MTYsIDB4YTI0MCwgMCwgezB4YjksMHgwMCwweDI4LDB4NDAsMHgxOCwweDkwLDB4YzIsMHgwNiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGEyNTAsIDAsIHsweDA4LDB4MDQsMHgwNSwweDAwLDB4ODEsMHgwMCwweDIwLDB4NTEsMHgwYiwweDEwLDB4MDIsMHhmNSwweDgwLDB4ODUsMHhjMSwweGExIH19LAotIHsxNiwgMHhhMjYwLCAwLCB7MHg1MCwweDA4LDB4NTQsMHgwYSwweDA1LDB4MDYsMHg4NSwweDQwLDB4MjEsMHg1MCwweDg4LDB4NTQsMHgwMiwweDk1LDB4MDAsMHg4NSB9fSwKLSB7MTYsIDB4YTI3MCwgMCwgezB4NDQsMHgyZCwweDUwLDB4MmEsMHg1NCwweDEyLDB4YzUsMHgwMSwweGIxLDB4MDAsMHgwOCwweDUwLDB4MDgsMHgxMCwweDAyLDB4MDIgfX0sCi0gezE2LCAweGEyODAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjAsMHgwMCwweGNhLDB4NTAsMHgzMiwweDgwIH19LAotIHsxNiwgMHhhMjkwLCAwLCB7MHgwZiwweDgwLDB4MDMsMHhlOCwweDAyLDB4YzgsMHgwMSwweDMyLDB4MDAsMHgyYywweGMwLDB4MDMsMHgyMCwweDAwLDB4YzgsMHgwMiB9fSwKLSB7MTYsIDB4YTJhMCwgMCwgezB4MzIsMHgwMCwweDJjLDB4ODAsMHgwYiwweGEwLDB4MDAsMHhjOCwweDAwLDB4M2EsMHgwMCwweDRlLDB4NDAsMHgyMywweGEwLDB4MDggfX0sCi0gezE2LCAweGEyYjAsIDAsIHsweGY4LDB4MDAsMHgzYSwweDAwLDB4MmMsMHg4MCwweDBiLDB4MmUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhMmMwLCAwLCB7MHg5OCwweDFkLDB4ZGMsMHgwNCwweGZkLDB4NDAsMHgzZiwweDUwLDB4NGYsMHg5MCwweDYzLDB4ZTQsMHg0MCwweGYxLDB4MDIsMHgzZSB9fSwKLSB7MTYsIDB4YTJkMCwgMCwgezB4NDEsMHgwZiwweDkwLDB4MTMsMHhmNSwweDA0LDB4ZjksMHg0MSwweDNlLDB4NTAsMHgwZiwweDk0LDB4NDMsMHg2NSwweDAyLDB4ZjkgfX0sCi0gezE2LCAweGEyZTAsIDAsIHsweDQxLDB4MzYsMHg1MCwweDRkLDB4OTQsMHgwMywweGY0LDB4MDAsMHhmOSwweDQxLDB4MzcsMHg0MCwweDRmLDB4OTQsMHgwMywweGU2IH19LAotIHsxNiwgMHhhMmYwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwMSwweGZjLDB4MDAsMHhjZCwweGE4LDB4MzMsMHg3MCB9fSwKLSB7MTYsIDB4YTMwMCwgMCwgezB4MGYsMHhkMCwweDEzLDB4ZjYsMHg4OCwweGNkLDB4MDAsMHgzMiwweDUwLDB4NGYsMHgxNCwweDIzLDB4MDcsMHhhMCwweGM5LDB4YzAgfX0sCi0gezE2LCAweGEzMTAsIDAsIHsweDMyLDB4NzgsMHgwYywweDllLDB4MDMsMHgzNywweDAyLDB4Y2QsMHhjMCwweDMyLDB4NjQsMHgwZiwweDk4LDB4MDMsMHgyNCwweDAwIH19LAotIHsxNiwgMHhhMzIwLCAwLCB7MHhjZCwweDAwLDB4MzIsMHg0MCwweDJjLDB4ZGEsMHgwMywweDA2LDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTMzMCwgMCwgezB4MzgsMHgxMCwweGUyLDB4MDgsMHg4OCwweGViLDB4MjIsMHgzMCwweDBiLDB4ODAsMHgxMiwweGU4LDB4MDQsMHhhMCwweGEwLDB4MmEgfX0sCi0gezE2LCAweGEzNDAsIDAsIHsweDIwLDB4MGIsMHg4YSwweDBhLDB4MjMsMHgwMCwweDg4LDB4ODAsMHgyMiwweDI4LDB4MDAsMHhjOCwweDQyLDB4MjMsMHg4MCwweDgwIH19LAotIHsxNiwgMHhhMzUwLCAwLCB7MHhkNCwweDIwLDB4MjgsMHgwOSwweDgwLDB4MDIsMHgyMiwweDk0LDB4YTgsMHgwMCwweDJhLDB4MDAsMHg4OCwweDg1LDB4MDIsMHgwZSB9fSwKLSB7MTYsIDB4YTM2MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhjNCwweGEwLDB4ODMsMHgwMCwweDI0LDB4ZDggfX0sCi0gezE2LCAweGEzNzAsIDAsIHsweDhiLDB4MTAsMHgwMiwweGU1LDB4MTQsMHg4OSwweDBhLDB4MjEsMHg0OCwweDBiLDB4NTIsMHgwMiwweDU0LDB4ODAsMHg4NSwweDQwIH19LAotIHsxNiwgMHhhMzgwLCAwLCB7MHgyNSwweDU4LDB4MDksMHg1NiwweDAyLDB4NDUsMHgwMiwweDgxLDB4MjAsMHgyMCwweDUwLDB4MGIsMHgxNCwweDAyLDB4MDQsMHgzMCB9fSwKLSB7MTYsIDB4YTM5MCwgMCwgezB4ODEsMHgwMCwweDIwLDB4NDAsMHgwOCwweDEwLDB4MDIsMHg0MiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGEzYTAsIDAsIHsweDE4LDB4MTUsMHhhNCwweDEyLDB4ODksMHgwMCwweGE2LDB4NDAsMHgwYiwweDkwLDB4NDIsMHhlNCwweDk4LDB4YTksMHg4MCwweDJiIH19LAotIHsxNiwgMHhhM2IwLCAwLCB7MHg0MCwweDBiLDB4NTEsMHgwMiwweDU1LDB4MDAsMHg5ZCwweDA4LDB4MjcsMHg0OCwweDA5LDB4ZjYsMHgwMiwweDQ0LDB4MDAsMHg4MSB9fSwKLSB7MTYsIDB4YTNjMCwgMCwgezB4MDQsMHgyMiwweDQwLDB4MTksMHg5MSwweDhhLDB4MjQsMHg4MCwweGE5LDB4MDAsMHgyYSwweDQwLDB4MDgsMHg5MCwweDAyLDB4NDYgfX0sCi0gezE2LCAweGEzZDAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4ZTcsMHgwMiwweGM5LDB4MDQsMHgzNiwweDU4IH19LAotIHsxNiwgMHhhM2UwLCAwLCB7MHgwZiwweDkwLDB4MDMsMHhjNSwweDAwLDB4YzksMHgwMCwweDMyLDB4NDAsMHgwZiwweDkwLDB4MTMsMHg2NCwweDAyLDB4YzksMHgwMCB9fSwKLSB7MTYsIDB4YTNmMCwgMCwgezB4MzYsMHg0MCwweDJkLDB4OTAsMHgwYiwweDY2LDB4MDQsMHhjOSwweGUwLDB4YjIsMHg0OCwweDhmLDB4OTgsMHg0NywweDI0LDB4MDAgfX0sCi0gezE2LCAweGE0MDAsIDAsIHsweGM5LDB4MDAsMHg3MiwweDQwLDB4MGMsMHgxMCwweDAzLDB4NjgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhNDEwLCAwLCB7MHgyOCwweDAxLDB4YTUsMHgwOCwweGY5LDB4MjEsMHgzYSwweDQwLDB4MGYsMHg5MCwweDAzLDB4ZTYsMHgwNCwweGY5LDB4MDAsMHgzZSB9fSwKLSB7MTYsIDB4YTQyMCwgMCwgezB4NDAsMHg0ZiwweDk4LDB4ODMsMHhhNCwweDAwLDB4ZTksMHg0MCwweGJhLDB4NjAsMHgwZSwweDkwLDB4MDMsMHhhNCwweDgwLDB4ZjkgfX0sCi0gezE2LCAweGE0MzAsIDAsIHsweGEzLDB4M2UsMHg0OCwweDBmLDB4OTgsMHgwYiwweGU0LDB4MDAsMHhmOSwweDAwLDB4MWUsMHg0MCwweDBmLDB4OTAsMHgwMywweDhhIH19LAotIHsxNiwgMHhhNDQwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxMCwweGEyLDB4NDgsMHhjOCwweDIwLDB4MzIsMHgwOCB9fSwKLSB7MTYsIDB4YTQ1MCwgMCwgezB4MWYsMHg4MCwweDgzLDB4ZTEsMHgyMiwweGM4LDB4MDEsMHgzMywweDAwLDB4MmMsMHhjMCwweDAzLDB4MzAsMHgwNCwweGNjLDB4NDAgfX0sCi0gezE2LCAweGE0NjAsIDAsIHsweGIxLDB4MDAsMHgwYywweDQ0LDB4MDMsMHgyMCwweDEyLDB4YzgsMHg0MSwweDMyLDB4MDAsMHgyZCwweDg0LDB4MGIsMHg2MCwweDAwIH19LAotIHsxNiwgMHhhNDcwLCAwLCB7MHhmOCwweDAwLDB4YjIsMHgwMCwweDRjLDB4ODAsMHgwYiwweDBhLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTQ4MCwgMCwgezB4MjgsMHgwNSwweDNhLDB4MDAsMHhhNiwweDAwLDB4MjMsMHg5MCwweDAzLDB4ZTQsMHg5MiwweGY4LDB4MDAsMHg4MiwweDAwLDB4MzYgfX0sCi0gezE2LCAweGE0OTAsIDAsIHsweDgwLDB4MDgsMHhhMCwweDAzLDB4NjgsMHgwMCwweGNhLDB4MDAsMHgyMiwweDgzLDB4MDgsMHhhMCwweDAyLDB4MjgsMHgwMywweDhhIH19LAotIHsxNiwgMHhhNGEwLCAwLCB7MHgwMCwweDIyLDB4ODAsMHgwOCwweGEwLDB4MDIsMHgyOCwweDAwLDB4YjYsMHg4MCwweDIyLDB4ODAsMHgwZCwweGU4LDB4MDIsMHgwYSB9fSwKLSB7MTYsIDB4YTRiMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg2ZSwweDAwLDB4ODIsMHg0MiwweDIwLDB4YzAgfX0sCi0gezE2LCAweGE0YzAsIDAsIHsweDBiLDB4MzQsMHgwMiwweGNkLDB4MDksMHg4MCwweDAwLDB4MjAsMHgwMCwweDA4LDB4MDAsMHgwMiwweDAwLDB4MDIsMHg5OCwweDAwIH19LAotIHsxNiwgMHhhNGQwLCAwLCB7MHgyMCwweDIwLDB4MjgsMHgwMCwweDBhLDB4MDQsMHgxMCwweDgxLDB4ODAsMHgyMCwweGMwLDB4MDgsMHhiMCwweDAyLDB4MmMsMHgwMCB9fSwKLSB7MTYsIDB4YTRlMCwgMCwgezB4YjMsMHgwMCwweDIyLDB4YzAsMHgxOCwweDMxLDB4MDIsMHgwYSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGE0ZjAsIDAsIHsweGEwLDB4MDEsMHgzOCwweDAyLDB4YTMsMHgwMCwweDIxLDB4NDAsMHgxYiwweDcwLDB4MDIsMHhkYywweDIwLDB4ODQsMHgwNSwweDY1IH19LAotIHsxNiwgMHhhNTAwLCAwLCB7MHhlMCwweDA4LDB4ZjAsMHgwMiwweDdjLDB4MTAsMHg5NywweDAwLDB4MjQsMHhjMCwweDA4LDB4MzAsMHgwMiwweDU0LDB4ODgsMHg4NyB9fSwKLSB7MTYsIDB4YTUxMCwgMCwgezB4MDksMHgyMSwweGU4LDB4MDksMHgzMywweDAyLDB4MWMsMHg4MCwweGI2LDB4MDgsMHg2MywweGM4LDB4MDksMHgzOCwweDEyLDB4MjggfX0sCi0gezE2LCAweGE1MjAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MWUsMHgwMCwweGM3LDB4YTAsMHhhMSwweGUwIH19LAotIHsxNiwgMHhhNTMwLCAwLCB7MHgwYiwweDc4LDB4MDMsMHhmZSwweDAwLDB4YzUsMHg4MiwweDMzLDB4MjAsMHgwYywweDQ4LDB4MDMsMHgxZSwweDAxLDB4ZGYsMHg4MCB9fSwKLSB7MTYsIDB4YTU0MCwgMCwgezB4MzEsMHgyMCwweDBjLDB4NDgsMHgwMywweDA2LDB4NDAsMHg4NywweDgyLDB4MzEsMHhmOCwweDBkLDB4N2IsMHgwMywweDVmLDB4MDAgfX0sCi0gezE2LCAweGE1NTAsIDAsIHsweGYzLDB4ODAsMHgzMSwweGYyLDB4MGMsMHg2MCwweDAzLDB4MmEsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhNTYwLCAwLCB7MHgwOCwweDFkLDB4OWMsMHgwMCwweGZiLDB4MDEsMHgyZiwweDQwLDB4MDcsMHhiMCwweDAzLDB4ZTgsMHgwNCwweGY5LDB4MDAsMHgzZSB9fSwKLSB7MTYsIDB4YTU3MCwgMCwgezB4YzEsMHgwZiwweGIwLDB4MDMsMHhlMCwweDA2LDB4ZTgsMHgwMiwweDNhLDB4YzAsMHgwZiwweGIwLDB4MDEsMHhhNCwweDEwLDB4ZjkgfX0sCi0gezE2LCAweGE1ODAsIDAsIHsweDQwLDB4YmUsMHhkMCwweDA2LDB4YjAsMHgwMywweGVlLDB4MDAsMHhmYSwweDAwLDB4M2MsMHhkOCwweDBmLDB4YTAsMHgwMywweGMyIH19LAotIHsxNiwgMHhhNTkwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweGY2LDB4MDAsMHhjZiwweDg4LDB4MzMsMHg2NCB9fSwKLSB7MTYsIDB4YTVhMCwgMCwgezB4MmMsMHhmOCwweDAzLDB4ZmUsMHgwMiwweGM0LDB4YjAsMHgzMywweDIwLDB4OGMsMHhkOCwweDAzLDB4MzIsMHgwMCwweGNjLDB4YjQgfX0sCi0gezE2LCAweGE1YjAsIDAsIHsweDMzLDB4YTAsMHgwYywweGM4LDB4MDMsMHgxNiwweDIwLDB4Y2YsMHhjMCwweDMzLDB4ZjAsMHgwYywweGY4LDB4MDMsMHhmZSwweDAwIH19LAotIHsxNiwgMHhhNWMwLCAwLCB7MHhjZCwweDgwLDB4M2YsMHhlMCwweDBmLDB4ZDgsMHgwMywweDAwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTVkMCwgMCwgezB4YTgsMHgxMSwweGI1LDB4MDQsMHg4NywweDEyLDB4YTEsMHg1MCwweDBhLDB4NzQsMHgxMiwweGM0LDB4NDAsMHg4NCwweDExLDB4MjMgfX0sCi0gezE2LCAweGE1ZTAsIDAsIHsweGMwLDB4MjgsMHhlMCwweDAyLDB4MWMsMHgwMiwweGE3LDB4MTEsMHgyMSwweDU4LDB4NDgsMHg3MCwweDBhLDB4MTQsMHgwMCwweDhkIH19LAotIHsxNiwgMHhhNWYwLCAwLCB7MHgwMCwweDIzLDB4YzAsMHgwYiwweDcwLDB4MDIsMHhmYywweDQwLDB4ODYsMHgwMCwweDJkLDB4YzAsMHgwYiwweDUwLDB4MDIsMHgyYSB9fSwKLSB7MTYsIDB4YTYwMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5NSwweDAwLDB4ODcsMHg0MCwweDIxLDB4MDAgfX0sCi0gezE2LCAweGE2MTAsIDAsIHsweDE4LDB4NzEsMHgwMiwweGRjLDB4MDAsMHg5NSwweDI4LDB4ZTEsMHgwMiwweDA4LDB4NTAsMHgwMiwweDNjLDB4NDIsMHhhNywweDIyIH19LAotIHsxNiwgMHhhNjIwLCAwLCB7MHgyMSwweDgwLDB4ODgsMHg0MSwweDAyLDB4MTQsMHgwMCwweDg1LDB4MDAsMHhhMSwweGMwLDB4MDksMHg3MSwweDAyLDB4ZGMsMHgwMCB9fSwKLSB7MTYsIDB4YTYzMCwgMCwgezB4YjUsMHgxMCwweDJkLDB4YzAsMHgwYiwweDQwLDB4MDIsMHgwMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGE2NDAsIDAsIHsweDIwLDB4MTQsMHhjNCwweDEwLDB4ODMsMHg4NCwweDIwLDB4MTEsMHgwOCwweDMwLDB4MDIsMHhjMywweDEwLDB4OTEsMHgyMCwweDIwIH19LAotIHsxNiwgMHhhNjUwLCAwLCB7MHhjMCwweDA4LDB4MjgsMHgxMiwweDAwLDB4MDAsMHhhMCwweDg0LDB4MjAsMHg0MCwweDA4LDB4MzAsMHgwMiwweDA0LDB4MjYsMHg4MyB9fSwKLSB7MTYsIDB4YTY2MCwgMCwgezB4MDAsMHgyMCwweGQwLDB4MGIsMHgzMCwweDAyLDB4Y2MsMHgwMCwweGIyLDB4MDAsMHgyYywweGMwLDB4MGIsMHgwMCwweDAyLDB4MDggfX0sCi0gezE2LCAweGE2NzAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YWQsMHgwMCwweGNmLDB4ODgsMHhiMiwweGU4IH19LAotIHsxNiwgMHhhNjgwLCAwLCB7MHgwYywweDMwLDB4MTMsMHhjZSwweGMyLDB4ZDAsMHg4MiwweDMyLDB4MDAsMHgwYywweDBlLDB4MGIsMHgyMCwweDAwLDB4YzgsMHg4OCB9fSwKLSB7MTYsIDB4YTY5MCwgMCwgezB4YjIsMHg0MCwweDJjLDB4YmEsMHg0MywweDM3LDB4MDIsMHhjYiwweDAwLDB4YjMsMHhjMCwweDJjLDB4ZjAsMHgwMywweGZjLDB4MTIgfX0sCi0gezE2LCAweGE2YTAsIDAsIHsweGZiLDB4MDAsMHg3ZiwweGQxLDB4MGYsMHgzMCwweDBiLDB4MmIsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhNmIwLCAwLCB7MHg4MCwweDAwLDB4ZWQsMHgwMiwweGYxLDB4NDAsMHgzZSwweDQxLDB4MGYsMHhiMCwweDIzLDB4ZWQsMHgwMCwweGU4LDB4MDEsMHgzZSB9fSwKLSB7MTYsIDB4YTZjMCwgMCwgezB4YzgsMHgwZiwweGIwLDB4MTMsMHhlYywweDA0LDB4ZGIsMHgwMCwweDNjLDB4ODAsMHgwZiwweDA0LDB4MDMsMHhlNCwweDQwLDB4ZjkgfX0sCi0gezE2LCAweGE2ZDAsIDAsIHsweDAwLDB4M2MsMHhjMiwweDBlLDB4YjAsMHgwMywweGVlLDB4MDAsMHg0YiwweDQxLDB4M2UsMHhjMCwweDBmLDB4YjAsMHgwMywweGUwIH19LAotIHsxNiwgMHhhNmUwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGZjLDB4MDAsMHg0YiwweDAwLDB4MzIsMHg0MiB9fSwKLSB7MTYsIDB4YTZmMCwgMCwgezB4MGMsMHhmMCwweDAzLDB4MzYsMHg4MCwweGNkLDB4MDAsMHgzMywweDAwLDB4NGMsMHhjMCwweDgzLDB4M2MsMHgwNCwweGY3LDB4MDAgfX0sCi0gezE2LCAweGE3MDAsIDAsIHsweDMyLDB4NDAsMHgwYywweGIxLDB4NDMsMHgxNCwweDAwLDB4Y2QsMHg4MCwweDMzLDB4YzAsMHgwYywweGYwLDB4MDMsMHhmYywweDAwIH19LAotIHsxNiwgMHhhNzEwLCAwLCB7MHhmZiwweDAwLDB4YjMsMHhjMiwweDBjLDB4YTAsMHgwMywweDAwLDB4NDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTcyMCwgMCwgezB4ODEsMHgwNCwweDRmLDB4MDIsMHg4YiwweDgwLDB4MjAsMHgzMCwweDA4LDB4YmMsMHgwMiwweDIwLDB4MTAsMHg4OSwweDAwLDB4MjIgfX0sCi0gezE2LCAweGE3MzAsIDAsIHsweGMwLDB4MDAsMHhiMCwweDAzLDB4NjAsMHgwNCwweGI4LDB4MDAsMHhhMiwweDkwLDB4MjgsMHg4YywweDFhLDB4MjQsMHgwMiwweDhiIH19LAotIHsxNiwgMHhhNzQwLCAwLCB7MHg4MywweDIyLDB4YzEsMHgwOCwweGIwLDB4MDIsMHhmYywweDAwLDB4YjMsMHg2MCwweDIwLDB4YzAsMHgwZCwweGEwLDB4MDMsMHhlMCB9fSwKLSB7MTYsIDB4YTc1MCwgMCwgezB4NDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgyZSwweDAwLDB4YWIsMHhjMCwweDIyLDB4NjAgfX0sCi0gezE2LCAweGE3NjAsIDAsIHsweDA4LDB4YjgsMHgwMiwweDI5LDB4MDAsMHg4OCwweDAxLDB4MjAsMHgwMCwweDA4LDB4OTAsMHgwMiwweDIwLDB4MDAsMHhiOCwweDAwIH19LAotIHsxNiwgMHhhNzcwLCAwLCB7MHgyMiwweGMwLDB4MDgsMHhiMCwweDAyLDB4ZTQsMHgwMCwweDgxLDB4MjQsMHhhMiwweGMwLDB4MDksMHhiMCwweDQ2LDB4ZWMsMHgwMCB9fSwKLSB7MTYsIDB4YTc4MCwgMCwgezB4YjksMHgwMCwweDIyLDB4YzAsMHgwOCwweDkwLDB4MDIsMHgyMCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGE3OTAsIDAsIHsweDA4LDB4MDQsMHgyYywweDAwLDB4YTEsMHgwMCwweGEwLDB4NDEsMHgwOCwweGIwLDB4MGEsMHgyMCwweDUzLDB4ODgsMHgwMCwweDIwIH19LAotIHsxNiwgMHhhN2EwLCAwLCB7MHhjMCwweDI4LDB4YTAsMHgwMiwweDRjLDB4MDAsMHhiMywweDAwLDB4MjAsMHgwMCwweDg4LDB4MDAsMHgwMiwweDg0LDB4MDAsMHg4MyB9fSwKLSB7MTYsIDB4YTdiMCwgMCwgezB4MDQsMHgyMCwweGMwLDB4MjgsMHgzMCwweDAyLDB4Y2MsMHgwMCwweGIzLDB4MDIsMHg2MiwweGMwLDB4MDksMHgxMCwweDAyLDB4YzIgfX0sCi0gezE2LCAweGE3YzAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4NmMsMHgwMCwweGU5LDB4MDAsMHgyMiwweDAwIH19LAotIHsxNiwgMHhhN2QwLCAwLCB7MHgwYywweGIwLDB4MDMsMHgwMCwweDA0LDB4YzksMHgwMCwweGIyLDB4MDAsMHgwYywweDkwLDB4MDMsMHgyYywweDAwLDB4ZjMsMHgwMCB9fSwKLSB7MTYsIDB4YTdlMCwgMCwgezB4YjIsMHhjMCwweDhjLDB4YjAsMHgwMywweGI0LDB4MDIsMHg4ZiwweDAwLDB4MjMsMHhjMCwweDA0LDB4ZjAsMHgwMywweGVjLDB4MDggfX0sCi0gezE2LCAweGE3ZjAsIDAsIHsweGY5LDB4MDAsMHgzMywweGMwLDB4MGMsMHg4MCwweDAzLDB4MDAsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhODAwLCAwLCB7MHhhMCwweDFkLDB4ZmMsMHgxMCwweGRkLDB4MDQsMHgzZiwweDAwLDB4MGYsMHhjMCwweDIzLDB4ZjAsMHg5MCwweGZkLDB4MDAsMHgyZiB9fSwKLSB7MTYsIDB4YTgxMCwgMCwgezB4YzAsMHgwZiwweGUwLDB4NDMsMHhkMCwweDAwLDB4ZmMsMHgwMCwweDNmLDB4MDAsMHg4ZiwweGMwLDB4MjIsMHg3NCwweDAwLDB4ZmQgfX0sCi0gezE2LCAweGE4MjAsIDAsIHsweDA0LDB4M2YsMHhjMCwweDBmLDB4ZjAsMHgwMywweGZjLDB4MDAsMHhmZiwweDA2LDB4M2YsMHhjMCwweDBmLDB4YzAsMHg0MywweGU4IH19LAotIHsxNiwgMHhhODMwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGZjLDB4ODAsMHhlZiwweDIwLDB4MTEsMHhjMCB9fSwKLSB7MTYsIDB4YTg0MCwgMCwgezB4MGUsMHg3MiwweDAzLDB4YmQsMHhiMCwweGNmLDB4MzEsMHhiZiwweGNjLDB4MDIsMHhmMCwweDAzLDB4ZmMsMHhjNiwweGNmLDB4MDEgfX0sCi0gezE2LCAweGE4NTAsIDAsIHsweDBiLDB4YzUsMHgwZiwweGYxLDB4MDMsMHgzYywweDA0LDB4ZWYsMHg2MSwweDMzLDB4ZDgsMHgwNywweGYwLDB4MDMsMHgzNCwweDgwIH19LAotIHsxNiwgMHhhODYwLCAwLCB7MHhjZCwweDMwLDB4NzMsMHhjYywweDBmLDB4ZTgsMHgwMywweDMwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTg3MCwgMCwgezB4ODAsMHgxOCwweGU5LDB4MDAsMHg4OCwweDY5LDB4MjIsMHgxMCwweDA4LDB4OGMsMHgwMCwweDIxLDB4ODQsMHg4OCwweDQxLDB4MjIgfX0sCi0gezE2LCAweGE4ODAsIDAsIHsweDEwLDB4ODgsMHg4NiwweDkyLDB4MDEsMHgwMCwweDg4LDB4NjIsMHgyMiwweDEwLDB4NGIsMHg4NywweDAyLDB4MjEsMHhhMCwweDg4IH19LAotIHsxNiwgMHhhODkwLCAwLCB7MHg2MCwweDIwLDB4MTAsMHgwYiwweDg2LDB4YTIsMHgzNSwweGEwLDB4YWIsMHg2MCwweGExLDB4YzQsMHgwYiwweGI4LDB4MDIsMHgyMCB9fSwKLSB7MTYsIDB4YThhMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjZCwweGE4LDB4MzMsMHg0MSwweDIwLDB4YzYgfX0sCi0gezE2LCAweGE4YjAsIDAsIHsweDRhLDB4MzEsMHgwMCwweDhjLDB4MTAsMHg5MywweDMzLDB4MjgsMHhjYywweDI5LDB4MzQsMHgxMiwweDhjLDB4NTAsMHg5MywweDFjIH19LAotIHsxNiwgMHhhOGMwLCAwLCB7MHgyOCwweDg0LDB4MDEsMHgyMCwweDRhLDB4NGMsMHg0MSwweDgzLDB4MTAsMHgyNCwweGNjLDB4NGIsMHgzMSwweDQyLDB4NGMsMHg0MCB9fSwKLSB7MTYsIDB4YThkMCwgMCwgezB4OTEsMHgxMCwweDI0LDB4YzAsMHgwYiwweDgwLDB4MDIsMHgyMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGE4ZTAsIDAsIHsweGMwLDB4MDUsMHhhOCwweDIwLDB4OTAsMHgwMiwweDIyLDB4MDAsMHgwOCwweDgwLDB4MDAsMHgyMCwweDMwLDB4YjgsMHgwOCwweDI2IH19LAotIHsxNiwgMHhhOGYwLCAwLCB7MHgwMCwweDAxLDB4ODAsMHg4MiwweDIwLDB4MjAsMHgxOCwweDA4LDB4NDIsMHg0MCwweDAzLDB4OTEsMHgwMiwweDYwLDB4MDAsMHgwOCB9fSwKLSB7MTYsIDB4YTkwMCwgMCwgezB4MDEsMHhhNiwweDAwLDB4MGIsMHg4MCwweDAwLDB4NmMsMHgxMCwweGJiLDB4MDEsMHgyNiwweGMwLDB4NGIsMHg5MCwweDBhLDB4MzAgfX0sCi0gezE2LCAweGE5MTAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDExLDB4ZmQsMHgwMCwweGZkLDB4NDEsMHgzMywweGExIH19LAotIHsxNiwgMHhhOTIwLCAwLCB7MHgwZSwweGQyLDB4MDMsMHhiNSwweDAyLDB4ZGYsMHg0MiwweDNiLDB4MDEsMHgwZiwweGQ0LDB4NDMsMHhiNSwweDAwLDB4Y2QsMHg0MCB9fSwKLSB7MTYsIDB4YTkzMCwgMCwgezB4MWIsMHhjNCwweDBkLDB4NzgsMHgwMywweDcwLDB4MDIsMHhlYywweDAwLDB4MTcsMHhhMSwweDBmLDB4ZTgsMHgwYiwweDJjLDB4MDIgfX0sCi0gezE2LCAweGE5NDAsIDAsIHsweGQ5LDB4OTAsMHgyNiwweGMwLDB4MGYsMHhhYywweDAzLDB4MDAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhOTUwLCAwLCB7MHhlMCwweDAxLDB4YjgsMHgwMCwweGVlLDB4MDAsMHgxZiwweDY0LDB4NGYsMHhlMCwweDAzLDB4ZDgsMHgxMCwweGM0LDB4MTgsMHgzMyB9fSwKLSB7MTYsIDB4YTk2MCwgMCwgezB4YzAsMHgwYywweGEwLDB4YTEsMHhiOCwweDA5LDB4ZTYsMHgwOSwweDM2LDB4MjIsMHgwZiwweDg4LDB4MjMsMHhiYywweDAwLDB4ZmIgfX0sCi0gezE2LCAweGE5NzAsIDAsIHsweDAwLDB4M2IsMHg2NCwweDBmLDB4ZDksMHgwMywweDljLDB4MDAsMHhlMywweDA0LDB4M2IsMHhjMCwweDBmLDB4ZjQsMHgwMywweGY4IH19LAotIHsxNiwgMHhhOTgwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweDhkLDB4MDAsMHhjOSwweDQwLDB4YjYsMHg4MCB9fSwKLSB7MTYsIDB4YTk5MCwgMCwgezB4MGYsMHgxMCwweDAzLDB4YTcsMHgyMCwweGZiLDB4NTAsMHhiNiwweDA4LDB4NGMsMHgxNCwweDAzLDB4NjUsMHgyMiwweGQ5LDB4NDAgfX0sCi0gezE2LCAweGE5YTAsIDAsIHsweGI2LDB4ODAsMHgwZSwweGEwLDB4MGIsMHgwMCwweDAwLDB4ZDgsMHgwMCwweDc2LDB4ODIsMHgyOCwweGEwLDB4MjMsMHg2NCwweDAwIH19LAotIHsxNiwgMHhhOWIwLCAwLCB7MHhjOSwweDA0LDB4MTIsMHhjMCwweDhlLDB4ODAsMHgwMywweDkwLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTljMCwgMCwgezB4YzgsMHgwNSwweDJiLDB4NjAsMHg4YSwweDA5LDB4MjAsMHg1MCwweDA4LDB4YTAsMHgyMywweGU5LDB4MDAsMHhiOCwweGMwLDB4MjIgfX0sCi0gezE2LCAweGE5ZDAsIDAsIHsweGYwLDB4MDgsMHhhYywweDAyLDB4MjgsMHgwNCwweDhhLDB4YzIsMHgyMiwweDUwLDB4MDgsMHg5MCwweDA2LDB4MmMsMHgwMCwweDhiIH19LAotIHsxNiwgMHhhOWUwLCAwLCB7MHgwNCwweDIyLDB4NTEsMHgwOCwweDk0LDB4MDIsMHhlNCwweDA0LDB4OGIsMHgwNCwweDM3LDB4YzAsMHgwOCwweDE4LDB4NDIsMHgyNiB9fSwKLSB7MTYsIDB4YTlmMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDQsMHg0YiwweDAwLDB4ODIsMHhjOCwweDI0LDB4NDMgfX0sCi0gezE2LCAweGFhMDAsIDAsIHsweDBiLDB4MjYsMHgwYSwweDg4LDB4MDAsMHhiMCwweDgwLDB4MjIsMHhlNCwweDBiLDB4MjAsMHg0MiwweDY5LDB4MDAsMHhhMiwweDkwIH19LAotIHsxNiwgMHhhYTEwLCAwLCB7MHgyOCwweDQwLDB4ZTgsMHgxMCwweDAyLDB4MGMsMHgwMCwweGJiLDB4MDAsMHgyOCwweDUwLDB4ODgsMHg5MCwweDgyLDB4YzQsMHgwMSB9fSwKLSB7MTYsIDB4YWEyMCwgMCwgezB4ODMsMHgwMCwweDIwLDB4YzAsMHgwYSwweDEwLDB4MDIsMHhiYSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGFhMzAsIDAsIHsweDIwLDB4MTAsMHg0ZSwweDgwLDB4ODEsMHgwMCwweDIxLDB4YTgsMHgwOCwweDU4LDB4MDIsMHhkNiwweDAxLDB4YjcsMHg5MCwweDY4IH19LAotIHsxNiwgMHhhYTQwLCAwLCB7MHgyMCwweDAzLDB4NTksMHg4MiwweDU2LDB4MDAsMHhhNSwweDg0LDB4MmQsMHhhMiwweDE4LDB4NjksMHgyMiwweDAyLDB4MDAsMHgzNCB9fSwKLSB7MTYsIDB4YWE1MCwgMCwgezB4ODAsMHgyOSwweGE4LDB4MDgsMHg2OCwweDA2LDB4YzYsMHgxNCwweDg1LDB4ODIsMHgyNSwweGUwLDB4MDgsMHg1OCwweDgyLDB4MWMgfX0sCi0gezE2LCAweGFhNjAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4NDgsMHgwMCwweGMyLDB4ZjAsMHgzNCwweDQwIH19LAotIHsxNiwgMHhhYTcwLCAwLCB7MHgwZiwweDIwLDB4MDMsMHg4OCwweDgwLDB4ZjgsMHgxMCwweDMwLDB4YzAsMHgyNywweDIxLDB4MGIsMHg0OCwweDgwLDB4ZWEsMHgyMCB9fSwKLSB7MTYsIDB4YWE4MCwgMCwgezB4MzgsMHgwMCwweDBjLDB4MDAsMHgxMiwweDBjLDB4MDgsMHg3MywweDAwLDB4YjgsMHg0MCwweDBjLDB4MTIsMHgyMywweDRjLDB4MDIgfX0sCi0gezE2LCAweGFhOTAsIDAsIHsweDQzLDB4MzQsMHgzMCwweGMwLDB4MGUsMHgxMSwweDAzLDB4OTIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhYWEwLCAwLCB7MHg0MCwweDE1LDB4YWMsMHg5MCwweGY5LDB4MDEsMHgyZSwweDg4LDB4NGIsMHg5MCwweDExLDB4NjQsMHgwMCwweGZiLDB4MTAsMHgzMiB9fSwKLSB7MTYsIDB4YWFiMCwgMCwgezB4MDAsMHgwMCwweDkxLDB4MDMsMHhhNCwweDAwLDB4YzksMHgwMCwweDMyLDB4YzQsMHg0ZCwweGIwLDB4NDMsMHhlMCwweDA0LDB4YzggfX0sCi0gezE2LCAweGFhYzAsIDAsIHsweDAwLDB4MzYsMHg4OSwweDBmLDB4YTgsMHgwMywweGVkLDB4MDAsMHhmOSwweDE0LDB4M2UsMHhjMCwweDBmLDB4MTAsMHg0MywweGQwIH19LAotIHsxNiwgMHhhYWQwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGU4LDB4MDAsMHhjOCwweDAwLDB4M2EsMHgwMCB9fSwKLSB7MTYsIDB4YWFlMCwgMCwgezB4MGMsMHgwMCwweDUzLDB4YTAsMHgwMCwweGU4LDB4MDEsMHgzMiwweDAxLDB4MGUsMHg4MCwweDUzLDB4MjAsMHgxMCwweGM4LDB4MDAgfX0sCi0gezE2LCAweGFhZjAsIDAsIHsweDNhLDB4NDAsMHgwYywweDkwLDB4MDMsMHgyMCwweDEwLDB4ZTgsMHgwNCwweGI2LDB4MDAsMHg4NCwweDgwLDB4MDMsMHgyZCwweDEyIH19LAotIHsxNiwgMHhhYjAwLCAwLCB7MHhjYiwweDAwLDB4MmUsMHhjYSwweDA0LDB4OTAsMHgwMywweGVhLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YWIxMCwgMCwgezB4NGMsMHgxOSwweDhjLDB4MDAsMHg4NywweDAyLDB4MjEsMHhjMCwweDA4LDB4NzAsMHgwMiwweDBjLDB4MDAsMHg4MywweDAwLDB4MjEgfX0sCi0gezE2LCAweGFiMjAsIDAsIHsweGMwLDB4MDgsMHgzMCwweDYyLDB4NGMsMHgwNCwweDgzLDB4MDAsMHgyMSwweDgwLDB4NDgsMHhlMCwweDEyLDB4M2MsMHgwMCwweDg3IH19LAotIHsxNiwgMHhhYjMwLCAwLCB7MHgwMCwweDIxLDB4YzAsMHgwOCwweDcwLDB4MDIsMHgxYywweDAwLDB4ODUsMHgwMSwweDI0LDB4ZDAsMHgwYSwweDUwLDB4MDIsMHhmMiB9fSwKLSB7MTYsIDB4YWI0MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDIwLDB4MDAsMHg5YSwweDAwLDB4ODAsMHg4MCwweDI4LDB4MjAgfX0sCi0gezE2LCAweGFiNTAsIDAsIHsweDA4LDB4NGMsMHgyMiwweGQyLDB4MDAsMHhhNCwweDgwLDB4MjQsMHgzMCwweDBiLDB4NDgsMHgwMiwweDUyLDB4MDAsMHg4NCwweGMwIH19LAotIHsxNiwgMHhhYjYwLCAwLCB7MHgyMSwweDIwLDB4MDksMHg0OCwweDY4LDB4MTMsMHgwMCwweGE0LDB4ODAsMHg2MCwweDIwLDB4MDksMHgwOCwweDAyLDB4NTYsMHgwMCB9fSwKLSB7MTYsIDB4YWI3MCwgMCwgezB4OTcsMHg4MCwweDJkLDB4ZTAsMHg4OCwweDU4LDB4MDIsMHhlMCwweDEwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGFiODAsIDAsIHsweDZjLDB4MDQsMHhjYywweDAwLDB4ODMsMHg4MCwweDIwLDB4ZDgsMHgwOCwweDMwLDB4MDIsMHg0YywweDQwLDB4ODMsMHgwMCwweDI0IH19LAotIHsxNiwgMHhhYjkwLCAwLCB7MHhkMSwweDA5LDB4YjksMHg0MiwweDRlLDB4MDAsMHg4MywweDAwLDB4MjAsMHhjMSwweDg5LDB4MzAsMHg0MiwweDBjLDB4MDAsMHg4MyB9fSwKLSB7MTYsIDB4YWJhMCwgMCwgezB4ZjAsMHhhMCwweGQ5LDB4MTksMHgzNiwweDIyLDB4NjYsMHgwNiwweDkxLDB4MDAsMHgwYywweGMxLDB4MGEsMHgxMCwweDAyLDB4YzIgfX0sCi0gezE2LCAweGFiYjAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4ZTgsMHgwMiwweGNhLDB4YTUsMHgyYSwweDkxIH19LAotIHsxNiwgMHhhYmMwLCAwLCB7MHgyOCwweGE4LDB4MDMsMHhlYSwweDAyLDB4YWEsMHgwMCwweGI2LDB4YTAsMHgwZiwweGEwLDB4MGEsMHgyYSwweDkyLDB4Y2EsMHg4MyB9fSwKLSB7MTYsIDB4YWJkMCwgMCwgezB4YmEsMHg4MCwweDI5LDB4YTAsMHgwMywweDJiLDB4MDAsMHhlYSwweDQwLDB4NjYsMHg5MCwweDJkLDB4ZTQsMHgwYiwweDZhLDB4ODAgfX0sCi0gezE2LCAweGFiZTAsIDAsIHsweGRhLDB4MDAsMHgzZSwweDgwLDB4MGMsMHhlMCwweDAzLDB4ZmEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhYmYwLCAwLCB7MHg0OCwweDAxLDB4ODAsMHgwMCwweGZjLDB4MDAsMHgzZCwweDAwLDB4MGYsMHhjMCwweDAzLDB4YjAsMHgxNCwweGZjLDB4MDAsMHgzYiB9fSwKLSB7MTYsIDB4YWMwMCwgMCwgezB4MTIsMHgwZSwweGMwLDB4NDMsMHhiMSwweDE0LDB4ZmMsMHgwMCwweDNkLDB4MDAsMHgwZSwweGMwLDB4MDMsMHhmMCwweDIwLDB4ZjQgfX0sCi0gezE2LCAweGFjMTAsIDAsIHsweDAwLDB4MzEsMHgwMCwweDBlLDB4NDQsMHgxMywweGEwLDB4MDAsMHhlOCwweDA2LDB4MzYsMHgwMCwweDRmLDB4ODAsMHgxMywweGQyIH19LAotIHsxNiwgMHhhYzIwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGE0LDB4MDAsMHhkMSwweDAwLDB4MzYsMHg2MCB9fSwKLSB7MTYsIDB4YWMzMCwgMCwgezB4MWMsMHgxOCwweDBiLDB4NDYsMHgwMCwweGQ5LDB4ODAsMHgzMCwweDQwLDB4MmMsMHg5OCwweDA1LDB4ODYsMHgwMCwweGMxLDB4ODAgfX0sCi0gezE2LCAweGFjNDAsIDAsIHsweDkyLDB4NDAsMHgwZCwweDEwLDB4MDMsMHg0NCwweDAyLDB4ODksMHgwMCwweDMyLDB4NzAsMHgwYywweDk4LDB4MDEsMHgyNCwweDAwIH19LAotIHsxNiwgMHhhYzUwLCAwLCB7MHhjOSwweDA0LDB4MzAsMHg0MCwweDBjLDB4OTAsMHgwMywweGMyLDB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YWM2MCwgMCwgezB4ODAsMHgwNCwweDY0LDB4MDAsMHg4OSwweDAwLDB4MjIsMHg0MCwweDA4LDB4OTQsMHgwMiwweDI0LDB4ODAsMHg4OSwweDAxLDB4MjIgfX0sCi0gezE2LCAweGFjNzAsIDAsIHsweDQwLDB4NDgsMHg5MSwweDAyLDB4MjQsMHgwMCwweGQ5LDB4OTAsMHgyMiwweDQxLDB4MDgsMHg5MCwweDEyLDB4MjQsMHgxMCwweDg5IH19LAotIHsxNiwgMHhhYzgwLCAwLCB7MHgwMCwweDMyLDB4NDAsMHgwOCwweDk1LDB4MTIsMHgyNCwweDAyLDB4ODEsMHgwMCwweGEyLDB4NDEsMHgwZCwweDkwLDB4NDIsMHhlMCB9fSwKLSB7MTYsIDB4YWM5MCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDM4LDB4MDUsMHgyNCwweDAyLDB4OWQsMHgwMCwweDIzLDB4NDQgfX0sCi0gezE2LCAweGFjYTAsIDAsIHsweDA4LDB4ZDIsMHgwNiwweDc0LDB4ODAsMHhiNSwweDIwLDB4MjMsMHg0MCwweDFhLDB4ZDAsMHgwNiwweDM1LDB4OTAsMHg4ZCwweDAyIH19LAotIHsxNiwgMHhhY2IwLCAwLCB7MHgyZiwweDQ0LDB4MTksMHhkMCwweDAyLDB4NzQsMHgwMCwweDhkLDB4MDAsMHg2MywweDQwLDB4MTgsMHhkNCwweDAyLDB4YTQsMHgxMSB9fSwKLSB7MTYsIDB4YWNjMCwgMCwgezB4ODksMHgwMCwweDIyLDB4NDAsMHgwOCwweGIwLDB4MDIsMHhjNiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGFjZDAsIDAsIHsweDI4LDB4MTQsMHgwNCwweDgwLDB4ODUsMHgyMCwweDIxLDB4NjgsMHgwOCwweDUyLDB4MDIsMHgxNCwweDgwLDB4YTUsMHgyMCwweGExIH19LAotIHsxNiwgMHhhY2UwLCAwLCB7MHg0OCwweDBhLDB4NzIsMHgzOCwweDE0LDB4ODAsMHg5NSwweDI0LDB4MmQsMHg0OCwweDI4LDB4NTIsMHgwMiwweDE0LDB4ODAsMHg4NSB9fSwKLSB7MTYsIDB4YWNmMCwgMCwgezB4MjAsMHgyMSwweDQ4LDB4MDgsMHg1MiwweDA2LDB4ODQsMHg4MCwweDgxLDB4MjAsMHgyMCwweDRhLDB4MDksMHgxMCwweDAyLDB4YzIgfX0sCi0gezE2LCAweGFkMDAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzOCwweDBkLDB4NjEsMHg0MCwweGQ4LDB4NTAsMHhiMiwweDE0IH19LAotIHsxNiwgMHhhZDEwLCAwLCB7MHgyOCwweGEwLDB4MDMsMHg2MSwweDQwLDB4ZjgsMHg1MCwweDMyLDB4OTQsMHg0ZSwweDg1LDB4MDQsMHgyMSwweDQyLDB4YzgsMHg1MCB9fSwKLSB7MTYsIDB4YWQyMCwgMCwgezB4M2MsMHgxNCwweDBkLDB4ODAsMHgwMywweDYxLDB4NDAsMHg4OCwweDUwLDB4YjIsMHgxNCwweDJjLDB4YzUsMHgwOSwweGExLDB4NDAgfX0sCi0gezE2LCAweGFkMzAsIDAsIHsweGM4LDB4NTAsMHgzMiwweDFjLDB4MGMsMHg4MCwweDAzLDB4ZWUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhZDQwLCAwLCB7MHg5OCwweDE1LDB4ZTQsMHg0MCwweGY5LDB4MTAsMHgzYSwweDQ0LDB4MGYsMHg5MSwweDAzLDB4ZTQsMHg0MCwweGQ5LDB4MTQsMHgzZSB9fSwKLSB7MTYsIDB4YWQ1MCwgMCwgezB4NDQsMHgwZCwweDkxLDB4NDMsMHg2NCwweDQwLDB4ZTksMHgxMCwweDMyLDB4NDQsMHgwNywweDkzLDB4YzMsMHhlNCwweDUwLDB4ZDEgfX0sCi0gezE2LCAweGFkNjAsIDAsIHsweDEwLDB4N2UsMHg0NCwweDAzLDB4OTEsMHgwMSwweDU0LDB4NDQsMHhmZCwweDE0LDB4M2UsMHg0MCwweDBmLDB4ZDAsMHgwMywweGU2IH19LAotIHsxNiwgMHhhZDcwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweGY2LDB4ODAsMHhkZCwweGEwLDB4MzMsMHg2OCB9fSwKLSB7MTYsIDB4YWQ4MCwgMCwgezB4MWUsMHhkYSwweDAzLDB4MzYsMHg5MCwweGNkLDB4YTAsMHgzYiwweDY4LDB4MGEsMHhkOCwweDIzLDB4NzYsMHgwYywweGVkLDB4ODAgfX0sCi0gezE2LCAweGFkOTAsIDAsIHsweDJiLDB4NjIsMHgwYiwweDk5LDB4MDIsMHhhNywweDgwLDB4ZjksMHhlMSwweDM3LDB4NjgsMHgwYywweGRhLDB4MDMsMHgyNywweDgwIH19LAotIHsxNiwgMHhhZGEwLCAwLCB7MHhjOSwweGEyLDB4MjIsMHg2OCwweDRjLDB4NTAsMHgwMywweGM2LDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YWRiMCwgMCwgezB4MzgsMHgxOCwweGUxLDB4NDAsMHg4OCwweDUwLDB4MjIsMHgxNCwweDA4LDB4ODAsMHgyMiwweDYwLDB4MDAsMHg4OCwweDA0LDB4MjIgfX0sCi0gezE2LCAweGFkYzAsIDAsIHsweDAwLDB4MDgsMHgwNCwweDI2LDB4MDEsMHgwMCwweDg4LDB4NTAsMHgyMiwweDEwLDB4MDgsMHhhZiwweDAyLDB4MjMsMHgwMCwweDg4IH19LAotIHsxNiwgMHhhZGQwLCAwLCB7MHhjMCwweGEwLDB4MTAsMHg4OCwweDg0LDB4MDIsMHgyMywweDgwLDB4YTAsMHg0MCwweDJhLDB4MTAsMHgwOCwweDgwLDB4MTIsMHg0ZSB9fSwKLSB7MTYsIDB4YWRlMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDAsMHg4NCwweDAwLDB4ODEsMHgwMSwweDIwLDB4NDAgfX0sCi0gezE2LCAweGFkZjAsIDAsIHsweDBhLDB4MTQsMHgwMiwweDQ1LDB4MDAsMHg4MSwweDQxLDB4MmMsMHg1MCwweDBiLDB4MTQsMHgwMiwweDA1LDB4MDQsMHhhMSwweDAwIH19LAotIHsxNiwgMHhhZTAwLCAwLCB7MHgyOCwweDQwLDB4ODIsMHgxMCwweDAyLDB4ODQsMHg0MCwweGExLDB4MzIsMHg4MCwweDUwLDB4MDksMHgxNCwweDAyLDB4MDQsMHhjNCB9fSwKLSB7MTYsIDB4YWUxMCwgMCwgezB4OTEsMHgxMCwweDY0LDB4NDQsMHgyOCwweDEwLDB4MDIsMHhkMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGFlMjAsIDAsIHsweDE4LDB4MDQsMHhhYywweDAyLDB4ODEsMHgwMCwweDIyLDB4YzEsMHgwOCwweDkwLDB4MDIsMHg0NCwweDAyLDB4ODksMHgwMiwweDI2IH19LAotIHsxNiwgMHhhZTMwLCAwLCB7MHg0MSwweDA5LDB4OTAsMHgwYSwweDI0LDB4MGMsMHg4OSwweDA0LDB4MjIsMHg1MCwweDA4LDB4OTAsMHgyNiwweDI0LDB4MDAsMHg4OSB9fSwKLSB7MTYsIDB4YWU0MCwgMCwgezB4MDAsMHgyMiwweDQxLDB4MDksMHgxMCwweDIyLDB4MjQsMHg0MCwweGI5LDB4MDEsMHgyZSwweDQwLDB4MDgsMHg5MCwweDAyLDB4NDYgfX0sCi0gezE2LCAweGFlNTAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4ZTQsMHgxMCwweDg5LDB4MDAsMHgzMiwweDQwIH19LAotIHsxNiwgMHhhZTYwLCAwLCB7MHgwYSwweDkwLDB4MGIsMHgyNCwweDEwLDB4ODksMHgwMCwweDFlLDB4NDAsMHg5YiwweDkwLDB4MDIsMHgyNCwweDEwLDB4MjksMHgwMCB9fSwKLSB7MTYsIDB4YWU3MCwgMCwgezB4MWEsMHg0MCwweDBlLDB4OTQsMHg0MSwweGE0LDB4MDAsMHgyOSwweDAwLDB4MTIsMHg0MCwweDA1LDB4OTAsMHg0MSwweDI2LDB4MDAgfX0sCi0gezE2LCAweGFlODAsIDAsIHsweGQ5LDB4MDAsMHgyNCwweDQwLDB4MGMsMHg5MCwweDAzLDB4ZTgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhZTkwLCAwLCB7MHg0OCwweDAxLDB4YTQsMHgwMiwweGE5LDB4MDAsMHhiYywweDQwLDB4MGYsMHg5MCwweDAzLDB4YTQsMHgwNCwweGY5LDB4MDAsMHgzYSB9fSwKLSB7MTYsIDB4YWVhMCwgMCwgezB4NDEsMHgwZSwweDkwLDB4ODMsMHg4NCwweDAwLDB4ZjksMHgwMCwweDNjLDB4NDAsMHgwZSwweDkwLDB4MDIsMHhjNCwweDA4LDB4ZTkgfX0sCi0gezE2LCAweGFlYjAsIDAsIHsweDAwLDB4M2EsMHg0MCwweDJlLDB4OTAsMHgwYiwweGU2LDB4MDAsMHhlMSwweDA0LDB4M2EsMHg0MCwweDBmLDB4OTIsMHgwMywweDVhIH19LAotIHsxNiwgMHhhZWMwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGEwLDB4MjAsMHhkOCwweDAwLDB4MzYsMHgwMiB9fSwKLSB7MTYsIDB4YWVkMCwgMCwgezB4MGUsMHgwMCwweGEzLDB4ZTAsMHgxOCwweGMwLDB4MDAsMHgzMCwweDAzLDB4MGYsMHg4MCwweDMzLDB4MjAsMHgwMCwweDQwLDB4MDAgfX0sCi0gezE2LCAweGFlZTAsIDAsIHsweDMyLDB4MGQsMHgwZiwweDA0LDB4MGIsMHhhMCwweDAyLDB4YzgsMHgwMiwweDMyLDB4MDIsMHg4YywweDgyLDB4MDMsMHgyMCwweDAyIH19LAotIHsxNiwgMHhhZWYwLCAwLCB7MHhjOCwweDA0LDB4MTYsMHgwMCwweDRlLDB4ODAsMHgwMSwweDBhLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YWYwMCwgMCwgezB4MjgsMHgwNSwweDNiLDB4MDAsMHg4ZSwweGQ4LDB4MjMsMHg4MCwweDA4LDB4ZTAsMHgwMiwweGY4LDB4ODAsMHg4ZSwweDEwLDB4MjMgfX0sCi0gezE2LCAweGFmMTAsIDAsIHsweGEyLDB4MGIsMHhlMCwweDgyLDB4N2EsMHgyMCwweDhlLDB4MzAsMHgyMywweGExLDB4MGIsMHhlMCwweDAyLDB4MjgsMHgwMCwweDhlIH19LAotIHsxNiwgMHhhZjIwLCAwLCB7MHgwMCwweDJiLDB4ODgsMHgwOCwweGU0LDB4NDIsMHgzOCwweDAwLDB4OGUsMHgwNCwweDIzLDB4ODAsMHgwOCwweGEwLDB4MDIsMHgwYSB9fSwKLSB7MTYsIDB4YWYzMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg2ZiwweDQwLDB4OTMsMHhjNiwweDI0LDB4NDAgfX0sCi0gezE2LCAweGFmNDAsIDAsIHsweDBhLDB4MzgsMHgwMiwweGNjLDB4MDAsMHg4MywweDAxLDB4YWMsMHhmMCwweDBiLDB4YjQsMHgwMiwweDRjLDB4MDQsMHhhMywweDgwIH19LAotIHsxNiwgMHhhZjUwLCAwLCB7MHgyOCwweGQwLDB4NGIsMHgzMCwweDAyLDB4NGMsMHgwMCwweGFiLDB4MDQsMHgyYSwweGMwLDB4MmEsMHgzMCwweDBhLDB4YWMsMHgxMCB9fSwKLSB7MTYsIDB4YWY2MCwgMCwgezB4OTMsMHgwMCwweDIwLDB4YzEsMHgwYSwweDMxLDB4MDIsMHgwYSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGFmNzAsIDAsIHsweDgwLDB4MTEsMHgxYywweDAwLDB4ODIsMHgwMCwweDIxLDB4NDIsMHg4OCwweDc0LDB4MDYsMHhkYywweDBiLDB4ODYsMHgwMiwweDJkIH19LAotIHsxNiwgMHhhZjgwLCAwLCB7MHg4MCwweDBiLDB4NzAsMHgyYSwweDU4LDB4MDAsMHhhNiwweDAwLDB4YTksMHhjMCwweDBiLDB4NzAsMHgwMiwweDVjLDB4ODgsMHhhNyB9fSwKLSB7MTYsIDB4YWY5MCwgMCwgezB4MjAsMHgyOSwweGMwLDB4MGEsMHg3MCwweDAyLDB4OWMsMHgxMCwweDk3LDB4MjAsMHhhMSwweGM4LDB4MDgsMHhkOCwweDAyLDB4MjggfX0sCi0gezE2LCAweGFmYTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA4LDB4MGUsMHgwMCwweGQ3LDB4ODAsMHgzNywweDYwIH19LAotIHsxNiwgMHhhZmIwLCAwLCB7MHgwZSwweDY4LDB4MTMsMHhmZSwweDAwLDB4Y2YsMHg4MCwweDNkLDB4ZTAsMHgwZiwweDc4LDB4MjMsMHgxZSwweDAwLDB4ZWYsMHg4MiB9fSwKLSB7MTYsIDB4YWZjMCwgMCwgezB4MzEsMHhlMCwweDBmLDB4M2MsMHhjMywweDdlLDB4MDQsMHhlZiwweDgwLDB4YjEsMHhlMCwweDBlLDB4ZTgsMHgwMywweGJlLDB4ODAgfX0sCi0gezE2LCAweGFmZDAsIDAsIHsweGQ3LDB4ZTAsMHgzMywweGVhLDB4MGUsMHg3OCwweDAzLDB4MmEsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhZmUwLCAwLCB7MHgwOCwweDE1LDB4YWMsMHgwMCwweGZhLDB4MDEsMHgzZSwweDAwLDB4MGYsMHhiMCwweDAzLDB4ZTAsMHgwNCwweGY4LDB4MDAsMHgzMiB9fSwKLSB7MTYsIDB4YWZmMCwgMCwgezB4ODAsMHgwZiwweDgwLDB4NDMsMHhhYywweDBhLDB4ZDgsMHgwMCwweDM2LDB4NDAsMHgwZiwweGIwLDB4MDMsMHgyYywweDBjLDB4ZGIgfX0sCi0gezE2LCAweGIwMDAsIDAsIHsweDAwLDB4MjYsMHhjMSwweDA5LDB4YTAsMHgxMywweDZjLDB4NDAsMHhlYiwweDQwLDB4M2EsMHhkYywweDBmLDB4OTAsMHgwYiwweGMyIH19LAotIHsxNiwgMHhiMDEwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwNCwweGJlLDB4MDAsMHhjZiwweDgxLDB4MzMsMHhlOSB9fSwKLSB7MTYsIDB4YjAyMCwgMCwgezB4MWYsMHhmOSwweDEzLDB4YjYsMHg1MCwweGVmLDB4ODAsMHgxZiwweGU0LDB4MDQsMHhjOCwweDAzLDB4N2UsMHgwMCwweDZkLDB4ODEgfX0sCi0gezE2LCAweGIwMzAsIDAsIHsweDMzLDB4NjQsMHgwYywweGY4LDB4MWIsMHgzZSwweDIwLDB4MmYsMHg4OCwweDkzLDB4ZTgsMHgwZiwweGZiLDB4MDMsMHgyZSwweDgwIH19LAotIHsxNiwgMHhiMDQwLCAwLCB7MHhjZiwweGMwLDB4NzMsMHhlMCwweDJjLDB4ZDksMHgwMywweGQwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YjA1MCwgMCwgezB4YTgsMHgxOCwweDkwLDB4NDIsMHg4OSwweDE4LDB4MjEsMHhjMCwweDFmLDB4NzEsMHgwMiwweDE0LDB4YzAsMHhmNywweDIwLDB4MjcgfX0sCi0gezE2LCAweGIwNjAsIDAsIHsweDQwLDB4NDAsMHg3MSwweDEyLDB4MTgsMHgwMCwweDg3LDB4MjAsMHgyMSwweDgwLDB4NDgsMHg3MSwweDAyLDB4M2MsMHgwOCwweDg3IH19LAotIHsxNiwgMHhiMDcwLCAwLCB7MHgyMCwweDIxLDB4ODIsMHgwYiwweDYxLDB4YTIsMHgxZSwweDQ0LDB4ZGYsMHgwMSwweDMxLDB4YzgsMHgwOCwweDczLDB4MDIsMHhlYSB9fSwKLSB7MTYsIDB4YjA4MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDEwLDB4MDAsMHg4YywweDAwLDB4ODcsMHgwMCwweDIxLDB4YzggfX0sCi0gezE2LCAweGIwOTAsIDAsIHsweDBiLDB4NzAsMHgwMiwweDljLDB4MDksMHg4NywweDAyLDB4MmQsMHg4MiwweDk5LDB4NDAsMHgwMiwweDA0LDB4MDAsMHhhNSwweDA5IH19LAotIHsxNiwgMHhiMGEwLCAwLCB7MHgyMSwweDQwLDB4MTksMHg3MCwweDAyLDB4MWMsMHgwMCwweDg3LDB4MDUsMHgyNSwweDQ4LDB4NGIsMHg3MiwweDAyLDB4MGMsMHg0MCB9fSwKLSB7MTYsIDB4YjBiMCwgMCwgezB4ODcsMHgwMCwweGExLDB4YzAsMHg0OCwweDUwLDB4MDIsMHhjNCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGIwYzAsIDAsIHsweDY4LDB4MDQsMHhjMSwweDIwLDB4ODksMHg0YywweGEwLDB4YjQsMHgwYSwweDM4LDB4MDIsMHgyMiwweDAwLDB4YTEsMHhkMCwweDI0IH19LAotIHsxNiwgMHhiMGQwLCAwLCB7MHgzMCwweDA5LDB4ODAsMHgwMiwweDI3LDB4NDQsMHg4MSwweGM2LDB4MjIsMHgxNCwweDA5LDB4M2QsMHgyYSwweDBmLDB4MDIsMHg4YiB9fSwKLSB7MTYsIDB4YjBlMCwgMCwgezB4YzAsMHhhNiwweDIwLDB4MGIsMHgyNCwweDAwLDB4MGMsMHgxMCwweDkzLDB4ODEsMHgyMCwweGMwLDB4NDgsMHgzMCwweDA2LDB4ZDggfX0sCi0gezE2LCAweGIwZjAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDE1LDB4YTEsMHgwMCwweDg5LDB4YzEsMHgzMiwweGQxIH19LAotIHsxNiwgMHhiMTAwLCAwLCB7MHgwMywweGJjLDB4MDMsMHhhOSwweDIwLDB4ODksMHg0MSwweDNlLDB4NjAsMHg4NSwweGJjLDB4OGIsMHgyNSwweDQwLDB4ZWIsMHg0MSB9fSwKLSB7MTYsIDB4YjExMCwgMCwgezB4YTIsMHhhMCwweDBkLDB4ZjAsMHgxMywweDNlLDB4MjAsMHhjZiwweDkwLDB4MzYsMHgzMCwweDRmLDB4YmMsMHgwYiwweDNjLDB4MDAgfX0sCi0gezE2LCAweGIxMjAsIDAsIHsweGNmLDB4ODAsMHgzMywweGMxLDB4MGMsMHhiMSwweDAzLDB4ZWEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiMTMwLCAwLCB7MHg4MCwweDAwLDB4ZWQsMHgwMCwweGY4LDB4MDEsMHgzYywweGQwLDB4MGYsMHhiMywweDAzLDB4ZTgsMHg4MiwweGQ4LDB4MjAsMHgzNiB9fSwKLSB7MTYsIDB4YjE0MCwgMCwgezB4ODAsMHgyZSwweGIyLDB4MTMsMHhlMSwweDAwLDB4ZmEsMHgwMCwweDdlLDB4YzgsMHgyZSwweGIwLDB4MDMsMHhlYywweDgwLDB4ZGIgfX0sCi0gezE2LCAweGIxNTAsIDAsIHsweDEwLDB4M2EsMHgwOCwweDRmLDB4YjIsMHgyMywweGNjLDB4MDIsMHhmYiwweDEwLDB4M2EsMHhjMCwweDBmLDB4OTAsMHgwMywweGU0IH19LAotIHsxNiwgMHhiMTYwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxMCwweGYwLDB4MDAsMHhjZCwweDEwLDB4MzMsMHg0MiB9fSwKLSB7MTYsIDB4YjE3MCwgMCwgezB4MGMsMHhjYSwweDIzLDB4N2MsMHgwMCwweGNmLDB4MDAsMHgzMywweDYyLDB4MDYsMHhmMCwweDAxLDB4M2EsMHgwMCwweGNmLDB4MDggfX0sCi0gezE2LCAweGIxODAsIDAsIHsweDMzLDB4ODAsMHgxYywweGYwLDB4ODEsMHgzYywweDAwLDB4ZmYsMHgwMCwweDMzLDB4YTAsMHgwYywweGNhLDB4MDEsMHhmYywweDA0IH19LAotIHsxNiwgMHhiMTkwLCAwLCB7MHhjZiwweDAwLDB4M2YsMHhjMCwweDBmLDB4ZjAsMHgwMywweGMwLDB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YjFhMCwgMCwgezB4YTEsMHgwNCwweDZkLDB4NDAsMHg4OCwweDQ4LDB4YTIsMHgzMSwweDA4LDB4MTAsMHgwMiwweDIwLDB4MTAsMHg4OCwweGI0LDB4MjIgfX0sCi0gezE2LCAweGIxYjAsIDAsIHsweGEwLDB4MDgsMHg4MCwweDAwLDB4NmEsMHg4NCwweDg4LDB4MjAsMHgyMiwweDUyLDB4MDgsMHhiMCwweDBhLDB4MmMsMHgxMCwweGJiIH19LAotIHsxNiwgMHhiMWMwLCAwLCB7MHgwMCwweDMyLDB4YjMsMHg4OCwweDgwLDB4MDIsMHhlYywweDAwLDB4ZGIsMHgwMCwweDJlLDB4YzAsMHgwYiwweDkwLDB4MTIsMHhlMSB9fSwKLSB7MTYsIDB4YjFkMCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDUsMHgwMCwweDEwLDB4OGEsMHgwMSwweDIyLDB4YTAgfX0sCi0gezE2LCAweGIxZTAsIDAsIHsweDA4LDB4YjAsMHg0MiwweDYwLDB4MjAsMHg4MCwweDAwLDB4MjAsMHg0NCwweDFhLDB4ODAsMHgxYSwweGU0LDB4NDIsMHhhMCwweDA2IH19LAotIHsxNiwgMHhiMWYwLCAwLCB7MHgyMiwweDAwLDB4NzgsMHgzMCwweDAyLDB4YWMsMHgwMCwweGJiLDB4MDAsMHhhMiwweDQ0LDB4MDgsMHhiMCwweDEyLDB4ZWMsMHgwMCB9fSwKLSB7MTYsIDB4YjIwMCwgMCwgezB4OGIsMHgwMCwweDBlLDB4YzAsMHgwYiwweDkwLDB4MDIsMHhlMCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGIyMTAsIDAsIHsweDA4LDB4MTQsMHgwMCwweDA4LDB4ODAsMHgwMCwweDIwLDB4ODEsMHgwOCwweDMwLDB4MDIsMHg0MCwweDEyLDB4ODAsMHgwMCwweGEwIH19LAotIHsxNiwgMHhiMjIwLCAwLCB7MHg0MCwweDA4LDB4YjAsMHgwMiwweGMwLDB4MDAsMHg4MiwweDAwLDB4MDAsMHg4MCwweDA4LDB4MzAsMHgwMiwweDhjLDB4MDAsMHhiYiB9fSwKLSB7MTYsIDB4YjIzMCwgMCwgezB4MDAsMHgyMCwweDAwLDB4MDgsMHgyMCwweDAyLDB4Y2MsMHg4MCwweDkzLDB4MDAsMHgyYywweGMwLDB4MGIsMHgzMCwweDAyLDB4YzIgfX0sCi0gezE2LCAweGIyNDAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4NjAsMHgwMCwweGNhLDB4MTQsMHgzMiwweDAwIH19LAotIHsxNiwgMHhiMjUwLCAwLCB7MHgwYywweGIwLDB4MDMsMHg0YywweDAwLDB4Y2EsMHgwMCwweDMyLDB4MDAsMHgwZSwweDAwLDB4MTIsMHhhMCwweDAwLDB4YzAsMHgwMCB9fSwKLSB7MTYsIDB4YjI2MCwgMCwgezB4NzAsMHgwMCwweDI4LDB4ZjAsMHgxMywweGFjLDB4MDAsMHhmYiwweDAwLDB4MzIsMHg0MCwweDJjLDB4MTAsMHg0MywweGVjLDB4MDAgfX0sCi0gezE2LCAweGIyNzAsIDAsIHsweGNmLDB4MDAsMHgzZiwweGMwLDB4MGYsMHg5MCwweDAzLDB4YzAsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiMjgwLCAwLCB7MHgyMCwweDE1LDB4ZjAsMHgwMiwweGZjLDB4MDAsMHgxZiwweDAwLDB4NjcsMHg3MCwweDAzLDB4YjAsMHgwMCwweGZjLDB4MDAsMHgzZiB9fSwKLSB7MTYsIDB4YjI5MCwgMCwgezB4MDAsMHgyZCwweGMwLDB4MDMsMHgzMCwweDEwLDB4ZmMsMHgwMSwweGJmLDB4MDAsMHgwZiwweDcwLDB4MDMsMHg3YywweDAwLDB4ZjcgfX0sCi0gezE2LCAweGIyYTAsIDAsIHsweDA0LDB4M2IsMHgwMCwweDBmLDB4YzAsMHgxMywweGZkLDB4MTAsMHhmZiwweDAwLDB4M2QsMHhjMCwweDBmLDB4ZjAsMHgwMywweGU4IH19LAotIHsxNiwgMHhiMmIwLCAwLCB7MHgxMiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGY0LDB4YzAsMHhjZiwweDgwLDB4MzMsMHg2MCB9fSwKLSB7MTYsIDB4YjJjMCwgMCwgezB4MGUsMHhjOSwweDEzLDB4MzYsMHg1MCwweGNlLDB4ODYsMHgzZiwweDA4LDB4MGMsMHhjMCwweDAzLDB4M2UsMHgwMiwweGQ3LDB4ODAgfX0sCi0gezE2LCAweGIyZDAsIDAsIHsweDM5LDB4ZTAsMHgwZiwweGY4LDB4MTMsMHgzZSwweDQwLDB4YzcsMHgzMCwweDNiLDB4Y2UsMHgwZCwweGY2LDB4MDMsMHgzZCwweDg4IH19LAotIHsxNiwgMHhiMmUwLCAwLCB7MHhjZiwweDMxLDB4MzMsMHhlNCwweDBmLDB4NzgsMHgwMywweDMwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YjJmMCwgMCwgezB4ODAsMHgxMCwweGU1LDB4ZDAsMHhkYiwweDgwLDB4NzIsMHg2MCwweDg4LDB4OTIsMHgwMiwweGU0LDB4MTAsMHg4YSwweDgwLDB4MmUgfX0sCi0gezE2LCAweGIzMDAsIDAsIHsweDM0LDB4NGEsMHg4YywweDAzLDB4MmUsMHgwMCwweGFiLDB4ODAsMHgwMiwweGUwLDB4MGIsMHhiOCwweDAyLDB4MmMsMHg4MCwweDhmIH19LAotIHsxNiwgMHhiMzEwLCAwLCB7MHg2MCwweDEzLDB4ZDgsMHg0YSwweDc2LDB4MDIsMHg5ZCwweDg0LDB4YWYsMHgzMCwweDIyLDB4NDgsMHgwYiwweDg4LDB4MTIsMHhhMCB9fSwKLSB7MTYsIDB4YjMyMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjNCwweDAwLDB4OGIsMHgwMCwweDI0LDB4MDAgfX0sCi0gezE2LCAweGIzMzAsIDAsIHsweDRhLDB4MDAsMHgwMiwweGFjLDB4ODAsMHg4MywweDAwLDB4MmMsMHgwMSwweDI4LDB4MDQsMHgwMiwweGFjLDB4MDAsMHg4YiwweDAxIH19LAotIHsxNiwgMHhiMzQwLCAwLCB7MHgyMCwweGMwLDB4MDMsMHhiMCwweDAyLDB4MGMsMHg4MCwweDgzLDB4NDAsMHgyMCwweGMxLDB4YTgsMHgzNCwweDIyLDB4OGQsMHgxMyB9fSwKLSB7MTYsIDB4YjM1MCwgMCwgezB4ODMsMHgyMCwweGFjLDB4YzgsMHgwYiwweGIwLDB4MDIsMHg2MiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGIzNjAsIDAsIHsweGMwLDB4MTUsMHg4NiwweDAwLDB4OWIsMHgwNCwweGFlLDB4MDAsMHgwYSwweDkwLDB4MDIsMHhlYywweDAwLDB4MGIsMHgxNCwweDJlIH19LAotIHsxNiwgMHhiMzcwLCAwLCB7MHhjNiwweDAyLDB4YjEsMHgxMiwweDZjLDB4MDAsMHhhYiwweDIwLDB4MmEsMHhjMSwweDBiLDB4YjAsMHg0MiwweDJjLDB4MDAsMHg4YiB9fSwKLSB7MTYsIDB4YjM4MCwgMCwgezB4MDIsMHgyNiwweGMxLDB4MGEsMHhiMCwweDAyLDB4YWMsMHgwMCwweGFiLDB4MDQsMHgyYSwweDQwLDB4MGIsMHg5MCwweDAyLDB4ZjAgfX0sCi0gezE2LCAweGIzOTAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDExLDB4ZTcsMHgwMCwweGMzLDB4MDEsMHgzNiwweDQwIH19LAotIHsxNiwgMHhiM2EwLCAwLCB7MHgwZSwweDg4LDB4MTMsMHgyNCwweDAyLDB4Y2EsMHgwMCwweDFlLDB4MjAsMHgyYywweDhlLDB4MGIsMHgyYywweDAwLDB4Y2IsMHgwMCB9fSwKLSB7MTYsIDB4YjNiMCwgMCwgezB4MmEsMHhjMCwweDBmLDB4YjgsMHgwMywweDJlLDB4MDYsMHhjYiwweDAwLDB4M2EsMHhjMCwweDRjLDB4YjAsMHgxMywweGFjLDB4MGMgfX0sCi0gezE2LCAweGIzYzAsIDAsIHsweGNiLDB4MDAsMHgzZSwweGM4LDB4MGYsMHhiMCwweDQzLDB4NTAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiM2QwLCAwLCB7MHhlMCwweDAxLDB4YjQsMHgwOCwweGZmLDB4OTEsMHgzMywweDQwLDB4MDksMHhkYywweDAxLDB4ZjQsMHgyMCwweDdlLDB4MDIsMHgyZSB9fSwKLSB7MTYsIDB4YjNlMCwgMCwgezB4NDAsMHgwZCwweDk4LDB4MDEsMHhiYywweDgwLDB4ZWYsMHg4MCwweGI3LDB4ZTQsMHg4ZiwweGY0LDB4MGIsMHhmZSwweDQwLDB4N2YgfX0sCi0gezE2LCAweGIzZjAsIDAsIHsweDAwLDB4YjksMHhjMCwweDRlLDB4ZjAsMHgwMywweGZjLDB4MDgsMHhmNywweDAwLDB4MzcsMHhjMCwweDBmLDB4ZTAsMHgwMiwweGI4IH19LAotIHsxNiwgMHhiNDAwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweGExLDB4NDQsMHhjYiwweDAyLDB4MzIsMHgwMCB9fSwKLSB7MTYsIDB4YjQxMCwgMCwgezB4MGQsMHg4MCwweDBhLDB4NmQsMHgwMCwweGViLDB4MDQsMHgxMCwweDkwLDB4MjgsMHgyMiwweDBiLDB4MmMsMHhjMiwweGNiLDB4MjAgfX0sCi0gezE2LCAweGI0MjAsIDAsIHsweDc2LDB4YzAsMHgwZSwweGIxLDB4MDMsMHhlYywweDAxLDB4Y2IsMHgwNiwweDMyLDB4YzEsMHgwYywweDMwLDB4MDMsMHgyYywweDAyIH19LAotIHsxNiwgMHhiNDMwLCAwLCB7MHhjYiwweDAwLDB4M2UsMHhkMCwweDBjLDB4YjAsMHgwMywweDEwLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YjQ0MCwgMCwgezB4YzgsMHgwNSwweDIxLDB4NDgsMHhhYiwweDAwLDB4MjAsMHgwMCwweDAwLDB4OTUsMHgyMywweDRjLDB4MDgsMHhiYiwweDAxLDB4MjIgfX0sCi0gezE2LCAweGI0NTAsIDAsIHsweGMwLDB4MDgsMHhiMiwweDAyLDB4MGMsMHgwOCwweDgzLDB4ODgsMHg5MiwweGQ1LDB4MjgsMHgzNCwweDAyLDB4ZWMsMHgwMiwweDhmIH19LAotIHsxNiwgMHhiNDYwLCAwLCB7MHgyMCwweDIzLDB4YzAsMHg0ZCwweGYwLDB4MDEsMHg3YywweDAwLDB4ZGYsMHgwMCwweDJlLDB4YzAsMHgwZCwweDMwLDB4MDMsMHg3MiB9fSwKLSB7MTYsIDB4YjQ3MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg0NCwweDAwLDB4ODMsMHgxMCwweDIwLDB4NjAgfX0sCi0gezE2LCAweGI0ODAsIDAsIHsweDA5LDB4MjUsMHgwMiwweDAwLDB4MDgsMHhhMCwweDAwLDB4NGMsMHgwMCwweDBiLDB4MGMsMHgyMiwweDRmLDB4MTIsMHg5MywweDQwIH19LAotIHsxNiwgMHhiNDkwLCAwLCB7MHgwMCwweGMwLDB4MDksMHgzZSwweDAyLDB4ZWMsMHgwMCwweGFiLDB4ODAsMHhhNCwweGMwLDB4MDksMHgzMCwweDIyLDB4MmMsMHgwOCB9fSwKLSB7MTYsIDB4YjRhMCwgMCwgezB4YjMsMHgwMSwweDBjLDB4ODEsMHgwOCwweDMwLDB4MDIsMHgzOCwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGI0YjAsIDAsIHsweDYwLDB4MDEsMHgxNiwweDA5LDB4YjcsMHg4MCwweDIxLDB4NjQsMHgwOCwweDc4LDB4MDYsMHgxMiwweDAwLDB4YjQsMHg4MiwweDJkIH19LAotIHsxNiwgMHhiNGMwLCAwLCB7MHhhNCwweDFiLDB4NjksMHgwNiwweDdlLDB4MDQsMHgxNywweDkyLDB4MjUsMHhlNiwweDA5LDB4NzgsMHgwNiwweGRlLDB4ODAsMHhhNyB9fSwKLSB7MTYsIDB4YjRkMCwgMCwgezB4OTAsMHgyNSwweGUwLDB4MDksMHg3OSwweDUwLDB4NWUsMHgwNCwweGI3LDB4OTIsMHgyZiwweDYxLDB4MDksMHhjOCwweDAyLDB4NDggfX0sCi0gezE2LCAweGI0ZTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MjUsMHgwMCwweGMzLDB4MDAsMHhiMCwweDAzIH19LAotIHsxNiwgMHhiNGYwLCAwLCB7MHgwZCwweGEzLDB4NDIsMHgwOSwweDQwLDB4ZTEsMHgwMCwweGJjLDB4NDAsMHgwZiwweDExLDB4MDMsMHg0YywweDAwLDB4MTMsMHgwMCB9fSwKLSB7MTYsIDB4YjUwMCwgMCwgezB4MjAsMHhjMCwweDA5LDB4MzIsMHgwMywweGNjLDB4MTAsMHhhMywweDAwLDB4MjYsMHhjNCwweDhkLDB4MzAsMHgyYiwweDBjLDB4ODAgfX0sCi0gezE2LCAweGI1MTAsIDAsIHsweGYzLDB4MDAsMHg3YywweDgwLDB4MGMsMHgzMCwweDAxLDB4MTIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiNTIwLCAwLCB7MHg0MCwweDFkLDB4YmMsMHgwMCwweGU3LDB4MTAsMHgzZCwweDAxLDB4MmYsMHhmMSwweDQyLDB4ZTgsMHgwMCwweGY1LDB4OTAsMHgwMyB9fSwKLSB7MTYsIDB4YjUzMCwgMCwgezB4YzEsMHgwYywweGYxLDB4NDMsMHg5YywweDA0LDB4ZWYsMHgwOCwweDNiLDB4YzIsMHgwYywweGYwLDB4ODEsMHhkYywweGEwLDB4ZGYgfX0sCi0gezE2LCAweGI1NDAsIDAsIHsweDAwLDB4M2IsMHhjMywweDNmLDB4ZjAsMHg4MywweGZjLDB4MDUsMHhkZiwweDBjLDB4M2QsMHg0MCwweDBmLDB4ZDEsMHgwMywweGQwIH19LAotIHsxNiwgMHhiNTUwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGY0LDB4MDAsMHhjYiwweDgwLDB4MzAsMHg0MCB9fSwKLSB7MTYsIDB4YjU2MCwgMCwgezB4MmMsMHhhMCwweDAzLDB4ZTAsMHgwMCwweGY4LDB4ODAsMHgzMiwweGMwLDB4MmUsMHhiOCwweDBiLDB4MmMsMHg0NiwweGQzLDB4MDAgfX0sCi0gezE2LCAweGI1NzAsIDAsIHsweDMwLDB4YzAsMHgwYywweDMwLDB4MDMsMHgwYywweDAwLDB4ZGIsMHg0OCwweDMyLDB4YzAsMHgxZiwweGI0LDB4MDMsMHgyYywweDg4IH19LAotIHsxNiwgMHhiNTgwLCAwLCB7MHhjYiwweDQ4LDB4MzIsMHg4MCwweDBjLDB4MzAsMHgxMywweDJhLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YjU5MCwgMCwgezB4NDgsMHgxMSwweGI0LDB4MDAsMHg4NywweDAxLDB4MjEsMHg0MCwweDA4LDB4NzAsMHg0MiwweGQwLDB4MDgsMHhiNCwweDAwLDB4MjkgfX0sCi0gezE2LCAweGI1YTAsIDAsIHsweGMwLDB4MDgsMHg3MCwweDAyLDB4MWMsMHgwMCwweDg3LDB4MDAsMHgyMSwweGM4LDB4MGMsMHg3MiwweDBhLDB4MWMsMHg4NCwweDhmIH19LAotIHsxNiwgMHhiNWIwLCAwLCB7MHg0MCwweDA5LDB4YzQsMHg4ZiwweDczLDB4MTIsMHg5YywweDQwLDB4ODMsMHgyMCwweDIxLDB4YzAsMHgwOCwweDYwLDB4MDIsMHg5MiB9fSwKLSB7MTYsIDB4YjVjMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHg5NiwweDAxLDB4YWYsMHg4MCwweDIxLDB4MjAgfX0sCi0gezE2LCAweGI1ZDAsIDAsIHsweDA4LDB4NjgsMHgwMiwweGRhLDB4MDAsMHhiZCwweDgwLDB4MjEsMHhlMCwweDA5LDB4NzgsMHgwMiwweDFlLDB4MDAsMHg4ZiwweDg4IH19LAotIHsxNiwgMHhiNWUwLCAwLCB7MHg4MywweGUyLDB4MjksMHhmOCwweDgyLDB4NWYsMHg4MCwweDg3LDB4YTAsMHgyNSwweGUwLDB4MGIsMHgzYSwweDEyLDB4MGUsMHg1MCB9fSwKLSB7MTYsIDB4YjVmMCwgMCwgezB4OTcsMHhhNCwweDIxLDB4YTAsMHgyOSwweDc4LDB4MDIsMHgzMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGI2MDAsIDAsIHsweDA4LDB4MTQsMHhjYywweDAyLDB4YTEsMHg4MSwweDAwLDB4MDAsMHg0OCwweDcwLDB4MDIsMHhjOCwweDAwLDB4YjEsMHgwMCwweDJjIH19LAotIHsxNiwgMHhiNjEwLCAwLCB7MHhmOCwweDA5LDB4MzEsMHg0MiwweDBjLDB4MTAsMHg4MywweDAwLDB4MjAsMHhlMCwweDA4LDB4MzgsMHgxMiwweDRlLDB4MDAsMHg4MyB9fSwKLSB7MTYsIDB4YjYyMCwgMCwgezB4MDAsMHg2YSwweGMwLDB4MGIsMHgzMCwweDAyLDB4OGMsMHgwNCwweDkzLDB4MDAsMHgyMCwweGUwLDB4MDksMHgzOCwweDAyLDB4OTIgfX0sCi0gezE2LCAweGI2MzAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YjksMHg0MCwweGVlLDB4MjAsMHgzMCwweDgwIH19LAotIHsxNiwgMHhiNjQwLCAwLCB7MHgwYywweGEwLDB4MDMsMHhlOCwweDAwLDB4ZmEsMHgwMCwweDMzLDB4YjAsMHgwZCwweGU0LDB4MDMsMHgzMiwweDg4LDB4Y2MsMHg4MCB9fSwKLSB7MTYsIDB4YjY1MCwgMCwgezB4MjMsMHgwMCwweDBkLDB4YzAsMHgwMywweDYyLDB4MDIsMHhjYSwweDAwLDB4MzYsMHg4MCwweDBmLDB4YTAsMHg0MywweDI4LDB4MDYgfX0sCi0gezE2LCAweGI2NjAsIDAsIHsweGRhLDB4MDAsMHgzMywweGEwLDB4MGQsMHg2YSwweDAzLDB4M2EsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiNjcwLCAwLCB7MHg0OCwweDAwLDB4ZTAsMHgwMCwweDk4LDB4MDEsMHhiZSwweDAwLDB4MGYsMHg4MCwweDAzLDB4ZjAsMHgwMCwweGJjLDB4MDAsMHgzOCB9fSwKLSB7MTYsIDB4YjY4MCwgMCwgezB4MDQsMHgwOCwweDgwLDB4YTMsMHhlMCwweDAwLDB4ZjgsMHgwMCwweDNlLDB4MDAsMHgwZiwweDgwLDB4MTMsMHhhMCwweDAwLDB4ZTAgfX0sCi0gezE2LCAweGI2OTAsIDAsIHsweDAwLDB4M2UsMHgwMCwweDBlLDB4MDAsMHgwMywweGMwLDB4MDAsMHhlOCwweDAwLDB4YmUsMHgwNCwweDRlLDB4ODAsMHgwNywweGQyIH19LAotIHsxNiwgMHhiNmEwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGU0LDB4ODAsMHhjOSwweDAwLDB4M2UsMHg2OCB9fSwKLSB7MTYsIDB4YjZiMCwgMCwgezB4MGMsMHg5MCwweDAzLDB4NjQsMHgwMCwweGM5LDB4MDAsMHgzZSwweDQwLDB4MGMsMHg5MCwweDQzLDB4ZTAsMHgwMCwweGM4LDB4MDAgfX0sCi0gezE2LCAweGI2YzAsIDAsIHsweDMyLDB4MDAsMHgwYywweDgwLDB4MTMsMHgyMCwweDAwLDB4YzksMHgwMCwweDM2LDB4NDAsMHgwYywweDkwLDB4MDMsMHg2NCwweDAwIH19LAotIHsxNiwgMHhiNmQwLCAwLCB7MHg4MSwweDAwLDB4MzIsMHg0MCwweDA0LDB4OTAsMHgxMywweDAyLDB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YjZlMCwgMCwgezB4ODAsMHgwNCwweDY1LDB4MDYsMHg4OSwweDQwLDB4MmUsMHg2MCwweDFhLDB4MTQsMHgyYSwweDA1LDB4MjAsMHg4OSwweDAwLDB4MmUgfX0sCi0gezE2LCAweGI2ZjAsIDAsIHsweDQwLDB4MDgsMHg5MCwweDAyLDB4YzQsMHgwOCwweGMxLDB4MDIsMHgyMCwweDQwLDB4MDgsMHgxMCwweDFhLDB4MjQsMHgwMCwweDg5IH19LAotIHsxNiwgMHhiNzAwLCAwLCB7MHgxMCwweDMyLDB4NDEsMHgwOCwweDkwLDB4MTIsMHgyNCwweDAwLDB4ODksMHgwNCwweDM2LDB4NDAsMHg4OCwweDk0LDB4MGEsMHgyMCB9fSwKLSB7MTYsIDB4YjcxMCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHgwNCwweDIwLDB4ODksMHg1NSwweDJlLDB4NDAgfX0sCi0gezE2LCAweGI3MjAsIDAsIHsweDA4LDB4ZDUsMHgwMiwweDM0LDB4MDAsMHg4ZCwweDAwLDB4MmUsMHg0MCwweDE4LDB4OTAsMHgwMiwweGU0LDB4MDAsMHg5OSwweDAwIH19LAotIHsxNiwgMHhiNzMwLCAwLCB7MHgyNiwweDQwLDB4MDgsMHg5MCwweDAyLDB4MDQsMHgwYSwweDg5LDB4MDAsMHgyNiwweDQwLDB4MzgsMHg5MCwweDBhLDB4MjQsMHgwMCB9fSwKLSB7MTYsIDB4Yjc0MCwgMCwgezB4YTksMHgwMCwweDIwLDB4NDAsMHgwYSwweDkwLDB4ODIsMHgwNiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGI3NTAsIDAsIHsweDA4LDB4MDQsMHgwNSwweDAwLDB4ODEsMHgwMCwweDJmLDB4NDAsMHgwYSwweGQ0LDB4MDIsMHgzNCwweDAwLDB4ODUsMHgwMSwweDJjIH19LAotIHsxNiwgMHhiNzYwLCAwLCB7MHg0MCwweDA4LDB4MTAsMHg0MiwweGU0LDB4MDYsMHg5OSwweDAwLDB4MjIsMHg0MCwweDA4LDB4MTAsMHgwMiwweDA1LDB4MDAsMHg4MSB9fSwKLSB7MTYsIDB4Yjc3MCwgMCwgezB4NDAsMHgyOCwweDUwLDB4MDgsMHgxNCwweDEyLDB4MDUsMHgwMCwweGExLDB4NDAsMHgyNCwweDUwLDB4NWEsMHgxMCwweDAyLDB4MDIgfX0sCi0gezE2LCAweGI3ODAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjAsMHgwMCwweGM4LDB4MDQsMHgzZSwweDAwIH19LAotIHsxNiwgMHhiNzkwLCAwLCB7MHgwOCwweDgwLDB4MDMsMHgyMSwweDQyLDB4Y2MsMHgwMCwweDNlLDB4MDAsMHgyYywweDgwLDB4MDIsMHhlMCwweDAwLDB4ZDgsMHgwMCB9fSwKLSB7MTYsIDB4YjdhMCwgMCwgezB4YjYsMHgwMCwweDJjLDB4ODAsMHgwMiwweDIwLDB4MDIsMHhjOCwweDAwLDB4MzYsMHgwMCwweDBjLDB4ODAsMHgwMywweDYwLDB4MDIgfX0sCi0gezE2LCAweGI3YjAsIDAsIHsweGU4LDB4MDAsMHgzMiwweDAwLDB4OGUsMHg4MCwweDAzLDB4MmUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiN2MwLCAwLCB7MHg5OCwweDFkLDB4ZjUsMHgwMCwweGY1LDB4MDAsMHgzZSwweDQwLDB4ODcsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGYxLDB4MDAsMHgzZCB9fSwKLSB7MTYsIDB4YjdkMCwgMCwgezB4NTAsMHgwZiwweDU0LDB4MDMsMHhkMSwweDAwLDB4ZWMsMHg0MCwweDNmLDB4MTAsMHgwYiwweGM0LDB4NDMsMHhmMSwweDAwLDB4ZjkgfX0sCi0gezE2LCAweGI3ZTAsIDAsIHsweDQwLDB4MzYsMHg1MCwweDBmLDB4OTQsMHgxMywweGU1LDB4MTAsMHhkOSwweDQ0LDB4M2QsMHg0MCwweDJkLDB4ZDAsMHgwMywweGU2IH19LAotIHsxNiwgMHhiN2YwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweGY2LDB4NjAsMHhjZCwweDAyLDB4M2IsMHg0MCB9fSwKLSB7MTYsIDB4YjgwMCwgMCwgezB4MGMsMHhkMCwweDAzLDB4YjQsMHg0MCwweGZkLDB4MDYsMHgzZSwweDQwLDB4MGMsMHg5MCwweDAzLDB4NjYsMHgwNCwweGM5LDB4ODIgfX0sCi0gezE2LCAweGI4MTAsIDAsIHsweGI2LDB4NjIsMHgwZiwweDE4LDB4MGIsMHgzNiwweDAwLDB4Y2QsMHg0MCwweDMyLDB4NjEsMHgwYywweDkwLDB4MjMsMHgyNCwweDBhIH19LAotIHsxNiwgMHhiODIwLCAwLCB7MHhjOSwweDAwLDB4MzIsMHg0MCwweDRjLDB4ZDAsMHg0MywweDA2LDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YjgzMCwgMCwgezB4MzksMHgxMCwweGUzLDB4ODAsMHhkOCwweDAwLDB4MjIsMHgwMCwweDBkLDB4ODAsMHgwMiwweDIyLDB4OTQsMHhiOCwweDAwLDB4MmUgfX0sCi0gezE2LCAweGI4NDAsIDAsIHsweDAwLDB4MGQsMHg4MCwweDAzLDB4MjEsMHgwMCwweDg4LDB4NDAsMHgyMiwweDAwLDB4MGIsMHhjNCwweDIyLDB4MjEsMHg1MCwweDg4IH19LAotIHsxNiwgMHhiODUwLCAwLCB7MHg4MCwweDIyLDB4MjIsMHgwOCwweDgwLDB4MDIsMHgyMCwweDEwLDB4ODAsMHgwMSwweDJhLDB4MDAsMHgwYSwweDgwLDB4MDMsMHg0ZSB9fSwKLSB7MTYsIDB4Yjg2MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDUsMHhjNiwweDAwLDB4ODksMHgwMCwweDJhLDB4NDAgfX0sCi0gezE2LCAweGI4NzAsIDAsIHsweDg4LDB4MTAsMHgwYSwweDg0LDB4MDgsMHhiMSwweDAwLDB4MjksMHg0MCwweDBhLDB4NzAsMHgwYSwweGI1LDB4MDAsMHg4ZiwweDQwIH19LAotIHsxNiwgMHhiODgwLCAwLCB7MHgyOSwweGMwLDB4MGIsMHhmNCwweDAyLDB4MjQsMHgwMCwweDgxLDB4MjAsMHgyOCwweDQ0LDB4ODksMHgxMCwweDAyLDB4MDQsMHgwNCB9fSwKLSB7MTYsIDB4Yjg5MCwgMCwgezB4ODEsMHgwMiwweDJhLDB4NDAsMHgwOCwweDEwLDB4MDIsMHgwMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGI4YTAsIDAsIHsweDE4LDB4MTUsMHhhNiwweDAwLDB4OTksMHgyMCwweDIyLDB4NDAsMHgwOSwweDkwLDB4MTIsMHgyNCwweDgwLDB4YjksMHgwMCwweDJmIH19LAotIHsxNiwgMHhiOGIwLCAwLCB7MHg0NCwweDAzLDB4ZDAsMHgwMiwweGY0LDB4MDAsMHg4ZCwweDAwLDB4MmIsMHg0MSwweDBiLDB4ZDAsMHgwMiwweDI2LDB4MTAsMHg4OSB9fSwKLSB7MTYsIDB4YjhjMCwgMCwgezB4MDQsMHgyYSwweDQwLDB4MDksMHg5MCwweDZlLDB4MjQsMHgwMCwweDg5LDB4MDAsMHgyYSwweDQwLDB4MGEsMHg5NCwweDAyLDB4NDYgfX0sCi0gezE2LCAweGI4ZDAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMiwweDE1LDB4ZTYsMHgwMCwweGM5LDB4MDAsMHgzOCwweDQyIH19LAotIHsxNiwgMHhiOGUwLCAwLCB7MHgwYywweDEwLDB4MTMsMHhhNiwweDA0LDB4NzksMHgwOCwweDNhLDB4NzgsMHgwNiwweDkyLDB4MDMsMHhhNCwweDA4LDB4YzksMHgwMCB9fSwKLSB7MTYsIDB4YjhmMCwgMCwgezB4M2EsMHg2MCwweDhmLDB4OTgsMHgyMywweDA2LDB4MDIsMHhjOSwweDAyLDB4M2EsMHg0MCwweDBkLDB4OTAsMHgwMywweDA0LDB4MDAgfX0sCi0gezE2LCAweGI5MDAsIDAsIHsweGM5LDB4MDAsMHgzOCwweDQwLDB4MGMsMHg5MCwweDAzLDB4MjgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiOTEwLCAwLCB7MHgyOCwweDAxLDB4ODQsMHgxMCwweGY5LDB4ODAsMHhiZSwweDQwLDB4NGYsMHg5MCwweDAyLDB4ZTQsMHgwMCwweGY5LDB4MDAsMHgzYyB9fSwKLSB7MTYsIDB4YjkyMCwgMCwgezB4NjAsMHg4ZCwweDkyLDB4MDMsMHgyNCwweDQyLDB4ZTksMHgxMCwweDMyLDB4NTAsMHgwZiwweDk0LDB4MDMsMHhlNCwweDAwLDB4ZjkgfX0sCi0gezE2LCAweGI5MzAsIDAsIHsweDAwLDB4YjYsMHg0MSwweDJlLDB4MTAsMHgwMywweGU0LDB4MDAsMHhmOSwweDAwLDB4MmUsMHg0MCwweDBmLDB4OTAsMHgwMywweGNhIH19LAotIHsxNiwgMHhiOTQwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxMCwweGEwLDB4MDgsMHhjOCwweDAwLDB4M2UsMHgxMCB9fSwKLSB7MTYsIDB4Yjk1MCwgMCwgezB4MGYsMHg4OCwweDAzLDB4MjAsMHgwOCwweGY4LDB4YzAsMHgxZSwweDEwLDB4MmMsMHg0MCwweDAzLDB4ZjIsMHgwMCwweGNjLDB4MDAgfX0sCi0gezE2LCAweGI5NjAsIDAsIHsweDNmLDB4MDAsMHgwYywweGMwLDB4MTMsMHgyMCwweDAyLDB4YzAsMHgwMCwweDMwLDB4MDAsMHgwYywweDgwLDB4MmIsMHgyMCwweDEwIH19LAotIHsxNiwgMHhiOTcwLCAwLCB7MHhjMCwweDA0LDB4MzIsMHgwMCwweDBmLDB4ODAsMHgwMywweDBhLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Yjk4MCwgMCwgezB4YTgsMHgwNSwweDNhLDB4ODAsMHg4NiwweGUwLDB4MmYsMHhhMCwweDFiLDB4ZTAsMHgwMiwweDNhLDB4ODAsMHhiYSwweDA0LDB4MmUgfX0sCi0gezE2LCAweGI5OTAsIDAsIHsweDgwLDB4MDgsMHhhMCwweDAzLDB4ODgsMHgwOCwweGMyLDB4MDAsMHgyZSwweDgxLDB4MDgsMHg2MCwweDAyLDB4MjgsMHgxMCwweDhlIH19LAotIHsxNiwgMHhiOWEwLCAwLCB7MHg4MSwweDAzLDB4ODAsMHgwOCwweGUwLDB4MDEsMHg3OCwweDAwLDB4OGUsMHgwNCwweDAzLDB4ODAsMHgwOSwweDY4LDB4MDMsMHhjYSB9fSwKLSB7MTYsIDB4YjliMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg0YywweDAwLDB4ODMsMHg2MCwweDJjLDB4NDQgfX0sCi0gezE2LCAweGI5YzAsIDAsIHsweDBiLDB4MzgsMHgwMiwweDBmLDB4ODAsMHhiMSwweDAwLDB4MmMsMHhlNSwweDAzLDB4MzAsMHgxMCwweGNjLDB4MTAsMHg4MywweDAwIH19LAotIHsxNiwgMHhiOWQwLCAwLCB7MHgwYywweGMwLDB4MjksMHgzMCwweDIyLDB4MDQsMHgwOSwweDkxLDB4MTAsMHgyNCwweGMwLDB4YzgsMHgzMCwweDAwLDB4NGMsMHgwNCB9fSwKLSB7MTYsIDB4YjllMCwgMCwgezB4OTMsMHgwMiwweDI0LDB4YzAsMHgwYiwweDMxLDB4MDIsMHgwYSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGI5ZjAsIDAsIHsweGUwLDB4MDEsMHgxOCwweDgwLDB4ODcsMHgwMCwweDJkLDB4NDAsMHgwYiwweDc0LDB4NDIsMHgxYywweDAxLDB4YjUsMHgwMSwweDJjIH19LAotIHsxNiwgMHhiYTAwLCAwLCB7MHhjMCwweDBiLDB4NjAsMHgwMiwweGIwLDB4MDAsMHg5NCwweDA0LDB4MmYsMHgyMCwweDA5LDB4YzAsMHgwMiwweDE0LDB4OTAsMHg5NyB9fSwKLSB7MTYsIDB4YmExMCwgMCwgezB4MDAsMHgyNSwweGM4LDB4MDgsMHg3MCwweDAyLDB4NGMsMHg4MCwweDk3LDB4MjAsMHgyNSwweGMwLDB4MDksMHg3MCwweDAyLDB4ZTggfX0sCi0gezE2LCAweGJhMjAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4M2EsMHg4MiwweGM2LDB4ODAsMHgyZCwweDYwIH19LAotIHsxNiwgMHhiYTMwLCAwLCB7MHgwYiwweGY4LDB4MGIsMHgxYSwweDAwLDB4ZjUsMHg4MCwweDNkLDB4ZTAsMHg4ZiwweDc4LDB4MDMsMHhkZSwweDAyLDB4YzcsMHg4MCB9fSwKLSB7MTYsIDB4YmE0MCwgMCwgezB4MmQsMHhlMCwweDBkLDB4NzgsMHgwYiwweDE3LDB4MDIsMHhkZiwweDgwLDB4MjQsMHhmOCwweDJjLDB4ZmQsMHgwMywweDVlLDB4MGMgfX0sCi0gezE2LCAweGJhNTAsIDAsIHsweGQ3LDB4ZTAsMHgzNSwweGUwLDB4MGYsMHg2OCwweDAzLDB4MmEsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiYTYwLCAwLCB7MHg0OCwweDFkLDB4YWUsMHg0MCwweGZhLDB4MDQsMHgzZSwweDQwLDB4MGYsMHg4MCwweDEzLDB4ZWMsMHgwNCwweGY5LDB4MDAsMHgzZSB9fSwKLSB7MTYsIDB4YmE3MCwgMCwgezB4YzEsMHgwYywweGEwLDB4MTMsMHhjMCwweDEwLDB4ZTgsMHgwMCwweDNjLDB4MDAsMHg0ZSwweDgwLDB4NDMsMHhjNCwweDIwLDB4ODkgfX0sCi0gezE2LCAweGJhODAsIDAsIHsweDAwLDB4YmEsMHhjMCwweDA3LDB4YjYsMHgyMSwweGVkLDB4MDYsMHhlYiwweDY4LDB4YmEsMHhjYywweDBmLDB4MjAsMHgxMywweGMyIH19LAotIHsxNiwgMHhiYTkwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwNSwweGJlLDB4MDAsMHhjNiwweDgwLDB4MzEsMHg2MCB9fSwKLSB7MTYsIDB4YmFhMCwgMCwgezB4MmQsMHg3OCwweDBiLDB4M2UsMHg0OCwweGVjLDB4OTIsMHgzZCwweDYwLDB4MGMsMHg1OCwweDAzLDB4NWEsMHg0MCwweGQ1LDB4ODAgfX0sCi0gezE2LCAweGJhYjAsIDAsIHsweDMxLDB4NjEsMHgwYywweDU4LDB4MjMsMHgzNiwweDAwLDB4Y2YsMHg4MiwweDNmLDB4ZTAsMHgwYywweGY4LDB4MDMsMHhmZiwweDYwIH19LAotIHsxNiwgMHhiYWMwLCAwLCB7MHhjZiwweDkwLDB4MzMsMHhmMCwweDBjLDB4NTIsMHgwMywweDAwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YmFkMCwgMCwgezB4YTgsMHgxMSwweGI4LDB4ODQsMHg4NiwweDE0LDB4YjUsMHhjMCwweDA4LDB4NzAsMHgwMiwweDFlLDB4YzAsMHhjNCwweDAwLDB4MmQgfX0sCi0gezE2LCAweGJhZTAsIDAsIHsweDQwLDB4MDgsMHg0MCwweDAyLDB4MTQsMHhkMCwweDg2LDB4MTAsMHgyMSwweDgwLDB4NGMsMHg2MiwweDQyLDB4MzQsMHg0MCwweGE1IH19LAotIHsxNiwgMHhiYWYwLCAwLCB7MHgwMCwweDM1LDB4YzAsMHgyOCwweDcwLDB4NDIsMHhkYywweGMyLDB4OGYsMHgzMCwweDIzLDB4YzAsMHgwOCwweDUwLDB4MDIsMHgyYSB9fSwKLSB7MTYsIDB4YmIwMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAyLDB4MDAsMHg5OCwweDI4LDB4OGUsMHgwMCwweGE1LDB4NDAgfX0sCi0gezE2LCAweGJiMTAsIDAsIHsweDA4LDB4ZjEsMHgwMiwweDE4LDB4NjQsMHhiNCwweDAwLDB4NmQsMHg0MiwweDA4LDB4NTAsMHgwMiwweDE4LDB4MDEsMHg4NSwweDA4IH19LAotIHsxNiwgMHhiYjIwLCAwLCB7MHgyMSwweDQwLDB4MDksMHg1OCwweDIyLDB4NTQsMHgwMCwweDg1LDB4MTAsMHgyZCwweGM0LDB4MDksMHg3MCwweDAyLDB4ZGMsMHgwNCB9fSwKLSB7MTYsIDB4YmIzMCwgMCwgezB4OTcsMHgwMCwweDI1LDB4YzAsMHgwOCwweDQ0LDB4MDIsMHgwMCwweDEwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGJiNDAsIDAsIHsweDYwLDB4MTQsMHg4YywweDAwLDB4ODIsMHg4MCwweDI0LDB4YzAsMHgwOCwweDgwLDB4MDIsMHgyZCwweDAwLDB4ODAsMHg0YSwweDJjIH19LAotIHsxNiwgMHhiYjUwLCAwLCB7MHg0MiwweDA4LDB4MGEsMHg0MiwweDA2LDB4MDAsMHg5MiwweDg0LDB4MjAsMHhhMCwweDg4LDB4MjgsMHg0MiwweDQ0LDB4MDAsMHhhMyB9fSwKLSB7MTYsIDB4YmI2MCwgMCwgezB4MDYsMHgyNCwweGMwLDB4MGIsMHgzMCwweDAyLDB4Y2MsMHgxMCwweDkzLDB4MDQsMHgyNCwweGMxLDB4MDksMHgwMCwweDAyLDB4MDggfX0sCi0gezE2LCAweGJiNzAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YmMsMHgwMCwweGNiLDB4MDAsMHgzNiwweDQwIH19LAotIHsxNiwgMHhiYjgwLCAwLCB7MHgwYywweGI0LDB4MTMsMHgyYywweDAwLDB4ZjksMHgwMCwweDNlLDB4YTAsMHgwYywweGEyLDB4MDMsMHgwNCwweDA4LDB4YzIsMHg4MCB9fSwKLSB7MTYsIDB4YmI5MCwgMCwgezB4MzAsMHhhOCwweDBkLDB4MmEsMHgwMywweDU0LDB4MDAsMHhjYiwweDAwLDB4M2YsMHhjMCwweDBkLDB4ZjAsMHgwMywweGZjLDB4MDggfX0sCi0gezE2LCAweGJiYTAsIDAsIHsweGRmLDB4MDAsMHgzNywweGQwLDB4MGMsMHhiMCwweDAzLDB4MmEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiYmIwLCAwLCB7MHg4MCwweDAwLDB4ZTAsMHgwMCwweGZiLDB4MTAsMHgzYSwweDQwLDB4MGUsMHhiMCwweDAzLDB4ZWQsMHg5MCwweGY5LDB4MTEsMHg3ZSB9fSwKLSB7MTYsIDB4YmJjMCwgMCwgezB4ODAsMHg0ZiwweGIwLDB4NTMsMHhlOCwweDQwLDB4ZTksMHgwMCwweDNlLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhhNiwweDA4LDB4ZjkgfX0sCi0gezE2LCAweGJiZDAsIDAsIHsweDAxLDB4M2EsMHhjMCwweDBjLDB4YjAsMHgxMywweGNjLDB4MDAsMHhlYiwweDAyLDB4M2EsMHhjNiwweDhlLDB4YjgsMHgwMywweGUwIH19LAotIHsxNiwgMHhiYmUwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGYwLDB4MGMsMHhjZSwweDAwLDB4M2YsMHhlMCB9fSwKLSB7MTYsIDB4YmJmMCwgMCwgezB4MmMsMHhmMCwweDgzLDB4M2EsMHg0OCwweGNkLDB4MDEsMHgzNSwweDgwLDB4MGMsMHg2MCwweDEyLDB4MzQsMHgwYSwweGNlLDB4MDAgfX0sCi0gezE2LCAweGJjMDAsIDAsIHsweGIzLDB4ODAsMHgyYywweGUwLDB4MGIsMHg3NCwweDAwLDB4YzksMHgxMCwweGIzLDB4YzEsMHgwZiwweGYwLDB4MWIsMHgzYywweDAwIH19LAotIHsxNiwgMHhiYzEwLCAwLCB7MHhjZiwweDAwLDB4YjcsMHhjMCwweDJjLDB4ZTAsMHgwMywweDAwLDB4NDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YmMyMCwgMCwgezB4ODEsMHgwNCwweDZlLDB4MTAsMHg4OCwweDgwLDB4MmMsMHhjMCwweDE4LDB4OTgsMHgwMiwweDJkLDB4ODAsMHg4MSwweDAwLDB4MzYgfX0sCi0gezE2LCAweGJjMzAsIDAsIHsweDkxLDB4MDgsMHhiMCwweDAzLDB4NjgsMHgwMCwweGM5LDB4MDAsMHgyMiwweDQwLDB4MDgsMHg5MCwweDAyLDB4MjQsMHgwMCwweDgzIH19LAotIHsxNiwgMHhiYzQwLCAwLCB7MHg4MCwweDM2LDB4YzAsMHgwYiwweDMwLDB4MDIsMHgyYywweDAyLDB4ODMsMHgwMCwweDIwLDB4YzAsMHgwOCwweDIwLDB4MDMsMHg2MCB9fSwKLSB7MTYsIDB4YmM1MCwgMCwgezB4NDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgwNiwweDAwLDB4OGEsMHg4MCwweDJlLDB4NDUgfX0sCi0gezE2LCAweGJjNjAsIDAsIHsweDI4LDB4ODgsMHgwMiwweDI0LDB4MDIsMHg4OCwweDAyLDB4MDIsMHgwMiwweDA4LDB4ODAsMHgwMiwweGEyLDB4MDAsMHg5OCwweDAwIH19LAotIHsxNiwgMHhiYzcwLCAwLCB7MHgyMiwweDAwLDB4MDgsMHg4MCwweDEyLDB4MjQsMHgwMCwweDg5LDB4MDEsMHgyMiwweGMxLDB4MGEsMHhiMCwweDAyLDB4NmMsMHgwMCB9fSwKLSB7MTYsIDB4YmM4MCwgMCwgezB4YWIsMHgwMCwweDIyLDB4YzEsMHgwOCwweDkwLDB4MTIsMHg2MCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGJjOTAsIDAsIHsweDA4LDB4MDQsMHgwMCwweDAwLDB4ODAsMHgwMCwweDJjLDB4YzAsMHg0OCwweDA4LDB4MTIsMHgwMCwweDgwLDB4ODAsMHgwMiwweDI0IH19LAotIHsxNiwgMHhiY2EwLCAwLCB7MHgwMCwweDA4LDB4MTgsMHg0MiwweGFjLDB4MDIsMHg4YiwweDgwLDB4MjIsMHhlMCwweDA4LDB4YjgsMHgxMiwweDA0LDB4MDIsMHg4MyB9fSwKLSB7MTYsIDB4YmNiMCwgMCwgezB4MDAsMHgyMCwweGMwLDB4MGIsMHgzMCwweDQyLDB4MGMsMHgwMCwweGEzLDB4MDEsMHg2MCwweGMwLDB4NDgsMHgxMCwweDAyLDB4NDIgfX0sCi0gezE2LCAweGJjYzAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4NjgsMHgwOCwweGNhLDB4MDAsMHgyZSwweDQwIH19LAotIHsxNiwgMHhiY2QwLCAwLCB7MHgwOCwweDgwLDB4MDMsMHgwMCwweDAwLDB4YzgsMHgwNiwweDMyLDB4MDAsMHgwYywweDgwLDB4MDIsMHhhMCwweDAwLDB4ZDgsMHgwMCB9fSwKLSB7MTYsIDB4YmNlMCwgMCwgezB4MzIsMHgwMCwweDBjLDB4ODAsMHgwMywweDc0LDB4MDAsMHhjYiwweDAwLDB4MjIsMHhjMCwweDBmLDB4ZjAsMHgwMywweDNjLDB4MDAgfX0sCi0gezE2LCAweGJjZjAsIDAsIHsweGVmLDB4MDAsMHgzNywweGMwLDB4MGMsMHg4MCwweDAxLDB4NDAsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiZDAwLCAwLCB7MHhhMCwweDE5LDB4ZmMsMHgwMCwweGZjLDB4MDQsMHgzZiwweGMwLDB4MGYsMHhjMCwweDAzLDB4ZTEsMHgwMCwweGZjLDB4MDAsMHgzYiB9fSwKLSB7MTYsIDB4YmQxMCwgMCwgezB4MDAsMHgwZiwweGQwLDB4MDMsMHg3YywweDAwLDB4ZWYsMHgwMCwweDJmLDB4YzAsMHgwZiwweGYwLDB4MTEsMHhmNCwweDEwLDB4ZmQgfX0sCi0gezE2LCAweGJkMjAsIDAsIHsweDAyLDB4M2QsMHhjMCwweDRmLDB4ZjAsMHgwMywweGRjLDB4MDAsMHhkZiwweDA0LDB4M2YsMHhjMCwweDBmLDB4YzAsMHg0MywweGU5IH19LAotIHsxNiwgMHhiZDMwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjNSwweDQxLDB4MDIsMHg3MCwweDIwLDB4ZGMsMHgxMCB9fSwKLSB7MTYsIDB4YmQ0MCwgMCwgezB4NjcsMHgwNCwweDBkLDB4YzEsMHgwMiwweDcwLDB4MjAsMHg5YywweDEwLDB4MzcsMHgwNCwweDBkLDB4YzEsMHgwNiwweDcwLDB4NDAgfX0sCi0gezE2LCAweGJkNTAsIDAsIHsweDRjLDB4MTAsMHgzNywweDE0LDB4MTUsMHhjMSwweDAzLDB4NzAsMHg0MCwweGRjLDB4MTAsMHgxMywweDA0LDB4MGQsMHhjMSwweDA3IH19LAotIHsxNiwgMHhiZDYwLCAwLCB7MHg3MCwweDQwLDB4ZGMsMHgxMCwweDM3LDB4MDQsMHgwZCwweGMwLDB4MzEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YmQ3MCwgMCwgezB4MDAsMHhjNSwweDQ0LDB4MDUsMHg3MSwweDIxLDB4NWMsMHg0MCwweDU3LDB4MTAsMHgxNSwweGM0LDB4MDUsMHg3MSwweDA1LDB4NWMgfX0sCi0gezE2LCAweGJkODAsIDAsIHsweDQwLDB4NTcsMHgxMCwweDE1LDB4YzQsMHgwNiwweDcxLDB4MDEsMHg0YywweDQwLDB4NTcsMHgxMCwweDBkLDB4YzQsMHgwNSwweDcxIH19LAotIHsxNiwgMHhiZDkwLCAwLCB7MHgwNSwweDVjLDB4NDAsMHg1MywweDEwLDB4MTUsMHhjNCwweDA3LDB4NzEsMHgwMSwweDVjLDB4NDAsMHg1NywweDEwLDB4MTUsMHhjMCB9fSwKLSB7MTYsIDB4YmRhMCwgMCwgezB4MTEsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwMiwweDAxLDB4MjAsMHg4MCwweDQ4LDB4MjAgfX0sCi0gezE2LCAweGJkYjAsIDAsIHsweDEyLDB4MDgsMHgwNCwweDgyLDB4MDEsMHgyMCwweDgwLDB4NDgsMHgyMCwweDEyLDB4MDgsMHgwNCwweDgyLDB4MDEsMHgyMCwweDgwIH19LAotIHsxNiwgMHhiZGMwLCAwLCB7MHg0OCwweDIwLDB4MTIsMHgwOCwweDA0LDB4ODIsMHgwMSwweDIwLDB4ODAsMHg0OCwweDIwLDB4MTIsMHgwOCwweDA0LDB4ODIsMHgwMSB9fSwKLSB7MTYsIDB4YmRkMCwgMCwgezB4MjAsMHg4MCwweDQ4LDB4MjAsMHgxMiwweDA4LDB4MDQsMHg4MCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGJkZTAsIDAsIHsweDAwLDB4ODQsMHgwMCwweDAxLDB4NjAsMHgwMCwweDU4LDB4MDAsMHg1NiwweDAwLDB4MDUsMHg4MCwweDAxLDB4NjAsMHgwNCwweDU4IH19LAotIHsxNiwgMHhiZGYwLCAwLCB7MHgwMCwweDE2LDB4MDAsMHgwNSwweDgwLDB4MDEsMHgyMCwweDAxLDB4NTgsMHgwMCwweDE2LDB4MDAsMHgwNSwweDgwLDB4MDEsMHg2MCB9fSwKLSB7MTYsIDB4YmUwMCwgMCwgezB4MDAsMHg1OCwweDAwLDB4NTYsMHgwMCwweDA1LDB4ODAsMHgwMSwweDYwLDB4MDAsMHg1OCwweDAwLDB4MTYsMHgwMCwweDAxLDB4ODAgfX0sCi0gezE2LCAweGJlMTAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGM1LDB4NDgsMHgwNSwweDcyLDB4MTEsMHg1YywweDgwIH19LAotIHsxNiwgMHhiZTIwLCAwLCB7MHgxNywweDIwLDB4MTUsMHhkOCwweDA1LDB4MzIsMHgxMSwweDFjLDB4ODAsMHg0NywweDIwLDB4MTQsMHg4OCwweDAwLDB4NzIsMHgwMSB9fSwKLSB7MTYsIDB4YmUzMCwgMCwgezB4MWMsMHg4MCwweDU3LDB4MjAsMHgwNSwweGM4LDB4MDQsMHg3MiwweDAxLDB4NWMsMHg4MCwweDU3LDB4MjAsMHgxNSwweGM4LDB4MDEgfX0sCi0gezE2LCAweGJlNDAsIDAsIHsweDcyLDB4MDEsMHg1YywweDgwLDB4NTcsMHgyNCwweDE1LDB4YzAsMHgxMSwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiZTUwLCAwLCB7MHgwMCwweGMxLDB4NDAsMHgwMCwweDYwLDB4MDAsMHgxOCwweDAwLDB4MDYsMHgwMCwweDAxLDB4ODAsMHg0MCwweDIwLDB4MDAsMHgxOCB9fSwKLSB7MTYsIDB4YmU2MCwgMCwgezB4MDAsMHgwNiwweDAwLDB4MDEsMHg5MCwweDAwLDB4NjAsMHgwMCwweDE4LDB4MDAsMHgwNiwweDAwLDB4NDEsMHg4MCwweDAwLDB4NjAgfX0sCi0gezE2LCAweGJlNzAsIDAsIHsweDAwLDB4MTgsMHgwMCwweDA2LDB4MDAsMHgwMSwweDgwLDB4MDAsMHg2MCwweDAwLDB4MTgsMHgxMCwweDA2LDB4MDAsMHgwMSwweDgwIH19LAotIHsxNiwgMHhiZTgwLCAwLCB7MHgzMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjNSwweDQ4LDB4MDQsMHgyMiwweDAxLDB4MDgsMHg4MCB9fSwKLSB7MTYsIDB4YmU5MCwgMCwgezB4MDIsMHgyMCwweDEwLDB4ODgsMHgwNCwweDYyLDB4MDEsMHgwOCwweDgwLDB4NDIsMHgyMCwweDEwLDB4ODgsMHgwMCwweDIwLDB4MDEgfX0sCi0gezE2LCAweGJlYTAsIDAsIHsweDA4LDB4ODAsMHg0MiwweDIwLDB4MDAsMHg4OCwweDA0LDB4MjIsMHgwMSwweDA4LDB4MDAsMHg0MiwweDIwLDB4MTAsMHg4OCwweDAwIH19LAotIHsxNiwgMHhiZWIwLCAwLCB7MHgyMiwweDAxLDB4MDgsMHg4MCwweDQyLDB4MzAsMHgxMCwweDgwLDB4MzEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YmVjMCwgMCwgezB4MDAsMHhjNSwweDRhLDB4MDUsMHg0MiwweDgxLDB4NTAsMHhhMCwweDA0LDB4MjgsMHgxNSwweDBhLDB4MDUsMHg1MiwweDgxLDB4MTAgfX0sCi0gezE2LCAweGJlZDAsIDAsIHsweGEwLDB4NDQsMHgyOCwweDExLDB4MWEsMHgwMCwweDQwLDB4ODAsMHgxMCwweGEwLDB4NTQsMHgyOCwweDA1LDB4MGEsMHgwNSwweDQyIH19LAotIHsxNiwgMHhiZWUwLCAwLCB7MHg4MSwweDUxLDB4MjAsMHgxNCwweDI4LDB4MTUsMHgwYSwweDAxLDB4NDIsMHg4MSwweDUwLDB4YTAsMHg1NCwweDI4LDB4MTUsMHgwMCB9fSwKLSB7MTYsIDB4YmVmMCwgMCwgezB4MzEsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwYywweDAxLDB4NTMsMHg0MCwweDU0LDB4YzAgfX0sCi0gezE2LCAweGJmMDAsIDAsIHsweDE1LDB4MzAsMHgwNSwweDVjLDB4MDEsMHg1NywweDQwLDB4NTQsMHhjMCwweDE1LDB4MzAsMHgwNSwweDVjLDB4MDEsMHg1MywweDAwIH19LAotIHsxNiwgMHhiZjEwLCAwLCB7MHg1NSwweGMwLDB4MTUsMHg3NCwweDA1LDB4NGMsMHgwMSwweDUzLDB4MDAsMHg1NSwweGMwLDB4MTUsMHg3NCwweDA1LDB4NGMsMHgwMSB9fSwKLSB7MTYsIDB4YmYyMCwgMCwgezB4NTMsMHgwMCwweDU0LDB4YzAsMHgxMSwweDMwLDB4MDEsMHg0MCwweDIxLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGJmMzAsIDAsIHsweDAwLDB4ODAsMHgwMCwweDAwLDB4NDAsMHgwMCwweDEwLDB4MDAsMHgwNCwweDAwLDB4MDEsMHgwMCwweDAwLDB4NDAsMHgwMCwweDEwIH19LAotIHsxNiwgMHhiZjQwLCAwLCB7MHgwMCwweDA0LDB4MDAsMHgwMSwweDAwLDB4MDAsMHg0MiwweDAwLDB4MTAsMHgwMCwweDA0LDB4MDAsMHgxMSwweDAwLDB4MDAsMHg0MCB9fSwKLSB7MTYsIDB4YmY1MCwgMCwgezB4MDAsMHgxMCwweGMxLDB4MDQsMHgwMCwweDAxLDB4MDAsMHgwMCwweDQwLDB4MDAsMHgxMCwweDAwLDB4MDEsMHgxMCwweDAxLDB4MDEgfX0sCi0gezE2LCAweGJmNjAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGM1LDB4NjAsMHgwMiwweDA4LDB4MDAsMHg4MiwweDAwIH19LAotIHsxNiwgMHhiZjcwLCAwLCB7MHgyMCwweDgwLDB4MDgsMHgyMCwweDAyLDB4MDgsMHgwMCwweDgyLDB4MDAsMHgyMCwweDgwLDB4MDgsMHgyMCwweDAyLDB4MDgsMHgwMCB9fSwKLSB7MTYsIDB4YmY4MCwgMCwgezB4ODIsMHgwMCwweDIwLDB4ODQsMHgwMCwweDIwLDB4MDIsMHgwOCwweDAwLDB4ODIsMHgwMCwweDIwLDB4ODQsMHgwOCwweDIwLDB4MDIgfX0sCi0gezE2LCAweGJmOTAsIDAsIHsweDA4LDB4MDAsMHg4MiwweDAwLDB4MjEsMHg4MCwweDA4LDB4MDEsMHgxMSwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiZmEwLCAwLCB7MHgwMCwweGM1LDB4NDAsMHgwNSwweDYwLDB4MDEsMHg1OCwweDAwLDB4OTYsMHgwMCwweDE1LDB4OTAsMHgwNSwweDY0LDB4MDIsMHg1OCB9fSwKLSB7MTYsIDB4YmZiMCwgMCwgezB4MDAsMHg1NiwweDAwLDB4NTUsMHg5MCwweDA1LDB4NjAsMHgwMSwweGQ5LDB4MDAsMHgxNiwweDQwLDB4MTUsMHg4MCwweDA1LDB4NjAgfX0sCi0gezE2LCAweGJmYzAsIDAsIHsweDAxLDB4NTksMHgwMCwweDc2LDB4NDAsMHgxNSwweDgwLDB4MDUsMHg2MCwweDAxLDB4NTgsMHgwMCwweDU2LDB4MDAsMHgxNSwweDgwIH19LAotIHsxNiwgMHhiZmQwLCAwLCB7MHgzMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjNCwweDQwLDB4MDMsMHg2MCwweDAwLDB4ZDgsMHgwMCB9fSwKLSB7MTYsIDB4YmZlMCwgMCwgezB4MzYsMHgwMCwweDRkLDB4ODAsMHgwMywweDYwLDB4MDAsMHhkOCwweDAwLDB4MzYsMHgwMCwweDBkLDB4ODAsMHgwNywweDYyLDB4MDAgfX0sCi0gezE2LCAweGJmZjAsIDAsIHsweDU4LDB4MDAsMHgzNiwweDAwLDB4MGQsMHg4MCwweDA3LDB4NjAsMHgwMCwweGQ4LDB4ODAsMHgxNiwweDAwLDB4MGQsMHg4MCwweDAzIH19LAotIHsxNiwgMHhjMDAwLCAwLCB7MHg2MCwweDAwLDB4ZDgsMHgwMCwweDM2LDB4MDAsMHgxZCwweDgwLDB4MzEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YzAxMCwgMCwgezB4MDAsMHhjNSwweDQyLDB4MDQsMHgzMCwweDgxLDB4MGMsMHgyMCwweDQzLDB4MDgsMHgxMCwweGMyLDB4MDQsMHgzMCwweDgxLDB4MGMgfX0sCi0gezE2LCAweGMwMjAsIDAsIHsweDIwLDB4NDMsMHgwOCwweDEwLDB4YzIsMHgwNCwweDMwLDB4YzEsMHgwYywweDIwLDB4NDMsMHgwOCwweDEwLDB4YzIsMHgwNiwweDMwIH19LAotIHsxNiwgMHhjMDMwLCAwLCB7MHg4MSwweDBjLDB4MjAsMHg0MywweDA4LDB4MTAsMHhjMiwweDA0LDB4MzAsMHg4MSwweDBjLDB4MjAsMHg0MywweDA4LDB4MTgsMHhjMCB9fSwKLSB7MTYsIDB4YzA0MCwgMCwgezB4MTEsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDAwLDB4MzAsMHgwMCwweDBjLDB4MDAgfX0sCi0gezE2LCAweGMwNTAsIDAsIHsweDAzLDB4MDAsMHgwMCwweGMwLDB4MDAsMHgzMCwweDAwLDB4MGMsMHgwMCwweDAzLDB4MDAsMHgwMCwweGMwLDB4NDAsMHgzMCwweDAwIH19LAotIHsxNiwgMHhjMDYwLCAwLCB7MHgwYywweDAwLDB4MDMsMHgwMCwweDAwLDB4YzAsMHgwMCwweDMwLDB4MDAsMHgwYywweDAwLDB4MDMsMHgwMCwweDAwLDB4YzAsMHgwMCB9fSwKLSB7MTYsIDB4YzA3MCwgMCwgezB4MzAsMHgwMCwweDBjLDB4MDAsMHgwMywweDAwLDB4MDAsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGMwODAsIDAsIHsweDAwLDB4ODAsMHgwMiwweDAxLDB4MzAsMHg4MCwweDRjLDB4MjAsMHgxMywweDA4LDB4MDQsMHhjMiwweDAxLDB4MzAsMHg4MCwweDRjIH19LAotIHsxNiwgMHhjMDkwLCAwLCB7MHgyMCwweDEzLDB4MDgsMHgwNCwweGMyLDB4MjUsMHgzMCwweDgxLDB4NGMsMHgyMCwweDEzLDB4MDgsMHgwNCwweGMyLDB4MDEsMHgzMCB9fSwKLSB7MTYsIDB4YzBhMCwgMCwgezB4ODAsMHg0YywweDMyLDB4NTMsMHgwOCwweDA0LDB4YzIsMHgwMSwweDMwLDB4ODAsMHg0YywweDIwLDB4MTMsMHgwOCwweDA0LDB4YzAgfX0sCi0gezE2LCAweGMwYjAsIDAsIHsweDIwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGM1LDB4NDIsMHgwNSwweDYyLDB4ODEsMHg1OCwweDIwIH19LAotIHsxNiwgMHhjMGMwLCAwLCB7MHg1NiwweDA4LDB4MTUsMHg4MiwweDA0LDB4NjAsMHg4MSwweDU4LDB4MjAsMHg0NiwweDA4LDB4MTUsMHg4MiwweDAxLDB4NjAsMHhjMSB9fSwKLSB7MTYsIDB4YzBkMCwgMCwgezB4NTgsMHgyMCwweDQ2LDB4MDgsMHgxNSwweDgyLDB4MDEsMHg2MCwweDgxLDB4NTgsMHgzMCwweDU2LDB4MDgsMHgxNSwweDgyLDB4MDUgfX0sCi0gezE2LCAweGMwZTAsIDAsIHsweDYwLDB4ODEsMHg1OCwweDIwLDB4NTYsMHgwOCwweDA1LDB4ODAsMHgxMSwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjMGYwLCAwLCB7MHgwMCwweGM1LDB4NDIsMHgwMCwweDIwLDB4ODAsMHgwOCwweDIwLDB4MDIsMHgwOCwweDAwLDB4ODIsMHgwMCwweDIwLDB4ODAsMHgwOCB9fSwKLSB7MTYsIDB4YzEwMCwgMCwgezB4MjAsMHgwMiwweDA4LDB4MDAsMHg4MiwweDAwLDB4MjAsMHg4MCwweDBjLDB4MjAsMHgwMiwweDA4LDB4MDAsMHg4MiwweDAwLDB4MjAgfX0sCi0gezE2LCAweGMxMTAsIDAsIHsweDgwLDB4MDgsMHgyMCwweDAzLDB4MDgsMHgwMCwweDgyLDB4MDAsMHgyMCwweDgwLDB4MDgsMHgyMCwweDAyLDB4MDgsMHgwMCwweDgwIH19LAotIHsxNiwgMHhjMTIwLCAwLCB7MHgyMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjNSwweDQyLDB4MDQsMHg2NiwweDgxLDB4MTgsMHgyMCB9fSwKLSB7MTYsIDB4YzEzMCwgMCwgezB4NDYsMHgwOCwweDExLDB4ODIsMHgwNCwweDY0LDB4ODEsMHgxOCwweDIwLDB4NDYsMHgwOCwweDExLDB4ODIsMHgwMCwweDYwLDB4ODEgfX0sCi0gezE2LCAweGMxNDAsIDAsIHsweDBjLDB4MjAsMHg0NiwweDA4LDB4MTEsMHg4MiwweDAwLDB4NjAsMHg4MSwweDE5LDB4MjAsMHg0MywweDA4LDB4MTEsMHg4MiwweDA0IH19LAotIHsxNiwgMHhjMTUwLCAwLCB7MHg2MCwweDgxLDB4MTksMHgyMCwweDQ2LDB4NDgsMHgwMSwweDgwLDB4MTEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YzE2MCwgMCwgezB4MDAsMHhjNSwweDYwLDB4MDUsMHg1OCwweDAxLDB4NTYsMHgwMCwweDU1LDB4ODAsMHgxNSwweDYwLDB4MDQsMHg1OCwweDAxLDB4NTYgfX0sCi0gezE2LCAweGMxNzAsIDAsIHsweDAwLDB4NDUsMHg4MCwweDExLDB4NjAsMHgwMCwweDU4LDB4MDAsMHgwNiwweDAwLDB4NDUsMHg4MCwweDE1LDB4NjAsMHgwMSwweDU4IH19LAotIHsxNiwgMHhjMTgwLCAwLCB7MHgwMSwweDE2LDB4MDAsMHgwMSwweDgwLDB4MTUsMHg2MCwweDA1LDB4NTgsMHgwMSwweDU2LDB4MDAsMHg1NSwweDgwLDB4MDUsMHg0MCB9fSwKLSB7MTYsIDB4YzE5MCwgMCwgezB4MTEsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNiwweDAxLDB4NDksMHg4MCwweDEwLDB4NjAgfX0sCi0gezE2LCAweGMxYTAsIDAsIHsweDE0LDB4MTgsMHgwNSwweDA2LDB4MDEsMHg3OSwweDgwLDB4NTAsMHg2MCwweDE0LDB4MTgsMHgwMSwweDA2LDB4MDEsMHg0MSwweDgwIH19LAotIHsxNiwgMHhjMWIwLCAwLCB7MHg1MCwweDYwLDB4MDQsMHgxOCwweDA1LDB4MDYsMHgwMSwweDQxLDB4ODAsMHgxMCwweDYwLDB4MTQsMHgxOCwweDA1LDB4MDYsMHgwMSB9fSwKLSB7MTYsIDB4YzFjMCwgMCwgezB4NDEsMHg4MCwweDUwLDB4NjAsMHgxNCwweDE4LDB4MDUsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGMxZDAsIDAsIHsweDAwLDB4ODAsMHgwMiwweDAxLDB4MDQsMHg4MCwweDQwLDB4MjAsMHgxMCwweDA4LDB4MDQsMHgwMiwweDAwLDB4MDQsMHgwNCwweDQwIH19LAotIHsxNiwgMHhjMWUwLCAwLCB7MHgyMCwweDEwLDB4MDgsMHgwNCwweDAyLDB4MDEsMHgwMCwweDg0LDB4NDAsMHgyMCwweDEwLDB4MDgsMHgwNCwweDAyLDB4MDEsMHgwMCB9fSwKLSB7MTYsIDB4YzFmMCwgMCwgezB4ODAsMHg0MSwweDIwLDB4MTAsMHgwOCwweDA0LDB4MDIsMHgxMSwweDAwLDB4ODAsMHg0MSwweDIwLDB4MTAsMHg0OCwweDA0LDB4MDAgfX0sCi0gezE2LCAweGMyMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGM1LDB4NDYsMHgwMywweDUxLDB4ODAsMHhkNCwweDYwIH19LAotIHsxNiwgMHhjMjEwLCAwLCB7MHgzNSwweDE4LDB4MGQsMHg0NiwweDAyLDB4MTEsMHg4MCwweGQ0LDB4NjAsMHgzNSwweDE4LDB4MGQsMHg0NiwweDAzLDB4MTEsMHg4MCB9fSwKLSB7MTYsIDB4YzIyMCwgMCwgezB4ZDQsMHg2MCwweDM1LDB4MTgsMHgwZCwweDQ2LDB4MDMsMHg1MSwweDgwLDB4ZDQsMHg2MCwweDM1LDB4MTgsMHgwZCwweDQ2LDB4MDMgfX0sCi0gezE2LCAweGMyMzAsIDAsIHsweDUxLDB4ODAsMHhkNCwweDYwLDB4MzUsMHgxOCwweDBkLDB4NDAsMHgzMSwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjMjQwLCAwLCB7MHgwMCwweGM1LDB4NDYsMHgwNSwweDcwLDB4ODEsMHg1YywweDYwLDB4MDcsMHgxOCwweDE1LDB4YzYsMHgwNCwweDcxLDB4ODEsMHgxYyB9fSwKLSB7MTYsIDB4YzI1MCwgMCwgezB4NjAsMHgxNywweDE4LDB4MTUsMHhjNiwweDA1LDB4MzEsMHg4MSwweGRjLDB4NjAsMHg1NywweDE4LDB4MTUsMHhjNiwweDA1LDB4NzEgfX0sCi0gezE2LCAweGMyNjAsIDAsIHsweDgwLDB4MWMsMHg2MCwweDc3LDB4MTgsMHgxNSwweGNlLDB4MDUsMHg3MSwweDgxLDB4NWMsMHg2MCwweDU3LDB4MTgsMHgxNSwweGMwIH19LAotIHsxNiwgMHhjMjcwLCAwLCB7MHgxMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweDQ2LDB4MDIsMHg3MSwweDgwLDB4OWMsMHg2MSB9fSwKLSB7MTYsIDB4YzI4MCwgMCwgezB4NzcsMHgxOCwweDBkLDB4YzYsMHgwMiwweDcxLDB4ODAsMHg5YywweDYwLDB4MzcsMHgxOCwweDBkLDB4YzIsMHgwMywweDMxLDB4ODAgfX0sCi0gezE2LCAweGMyOTAsIDAsIHsweDVjLDB4NjAsMHgyNywweDE4LDB4MGQsMHhjNiwweDAzLDB4NzEsMHg4MCwweDljLDB4NjAsMHgxNywweDE4LDB4MGQsMHhjZSwweDAzIH19LAotIHsxNiwgMHhjMmEwLCAwLCB7MHg3MSwweDgwLDB4ZGMsMHg2MCwweDM3LDB4MTgsMHgwZCwweGMwLDB4MTEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YzJiMCwgMCwgezB4MDAsMHg0NSwweDQ2LDB4MDUsMHg3NSwweDgxLDB4NWMsMHg2MCwweDc3LDB4MTgsMHgxNSwweGM2LDB4MDUsMHg3NSwweDgxLDB4NWMgfX0sCi0gezE2LCAweGMyYzAsIDAsIHsweDYwLDB4NTcsMHgxOCwweDE1LDB4YzYsMHgwNSwweDMxLDB4ODEsMHgwYywweDYwLDB4NTcsMHgxOCwweDE1LDB4YzYsMHgwNSwweDcxIH19LAotIHsxNiwgMHhjMmQwLCAwLCB7MHg4MSwweDVjLDB4NjAsMHg0MywweDE4LDB4MTUsMHhjNiwweDA1LDB4NzEsMHg4MSwweDVjLDB4NjAsMHg1NywweDE4LDB4MTUsMHhjMCB9fSwKLSB7MTYsIDB4YzJlMCwgMCwgezB4MTEsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwMiwweDAxLDB4MjAsMHg4MCwweDQ4LDB4MjAgfX0sCi0gezE2LCAweGMyZjAsIDAsIHsweDEyLDB4MDgsMHgwNCwweDgyLDB4MDEsMHgyMCwweDgwLDB4NDgsMHgyMCwweDEyLDB4MDgsMHgwNCwweDgyLDB4MDEsMHgyMCwweDgwIH19LAotIHsxNiwgMHhjMzAwLCAwLCB7MHg1YywweDIwLDB4MTIsMHgwOCwweDA0LDB4ODIsMHgwMSwweDIwLDB4ODAsMHg0OCwweDAwLDB4MTcsMHgwOCwweDA0LDB4ODIsMHgwMSB9fSwKLSB7MTYsIDB4YzMxMCwgMCwgezB4MjAsMHg4MCwweDQ4LDB4MjAsMHgxMiwweDA4LDB4MDQsMHg4MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGMzMjAsIDAsIHsweDAwLDB4MDAsMHgwNiwweDAxLDB4NjMsMHg4MCwweDU4LDB4NjAsMHgxNiwweDE4LDB4MDUsMHg4NiwweDAxLDB4NjEsMHg4MCwweDU4IH19LAotIHsxNiwgMHhjMzMwLCAwLCB7MHg2MCwweDE2LDB4MTgsMHgwNSwweDg2LDB4MDEsMHg2MSwweDgxLDB4NTgsMHg2MCwweDE2LDB4MTgsMHgwNSwweDg2LDB4MDEsMHg2MSB9fSwKLSB7MTYsIDB4YzM0MCwgMCwgezB4ODAsMHg1OCwweDYwLDB4NTYsMHgxOCwweDA1LDB4ODYsMHgwMSwweDYxLDB4ODAsMHg1OCwweDYwLDB4MTYsMHgxOCwweDA1LDB4ODAgfX0sCi0gezE2LCAweGMzNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ1LDB4NDAsMHgwNSwweDcwLDB4MDEsMHg1YywweDAwIH19LAotIHsxNiwgMHhjMzYwLCAwLCB7MHgxNywweDAwLDB4MTUsMHhjMCwweDg1LDB4NzQsMHgwMSwweDFjLDB4MDAsMHg0NywweDAwLDB4MTEsMHhjMCwweDA1LDB4NzAsMHgwMSB9fSwKLSB7MTYsIDB4YzM3MCwgMCwgezB4NWMsMHgwMCwweDUzLDB4MDAsMHgxMCwweGMwLDB4MDUsMHg3MCwweDAxLDB4NWMsMHgwMCwweDU3LDB4MDAsMHgxNCwweGM5LDB4MDQgfX0sCi0gezE2LCAweGMzODAsIDAsIHsweDcwLDB4MDEsMHgxYywweDAwLDB4NTcsMHgwMCwweDE1LDB4YzAsMHgxMSwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjMzkwLCAwLCB7MHgwMCwweDQ1LDB4NDIsMHgwMCwweDYwLDB4YzAsMHgxOCwweDIwLDB4MDYsMHgwOCwweDAxLDB4ODIsMHgwMCwweDYwLDB4ODAsMHgxOCB9fSwKLSB7MTYsIDB4YzNhMCwgMCwgezB4MjAsMHgwNiwweDA4LDB4MDEsMHg4MiwweDAwLDB4MjAsMHg4MCwweDE4LDB4MzAsMHgwMiwweDA4LDB4MDAsMHg4MiwweDEwLDB4NjAgfX0sCi0gezE2LCAweGMzYjAsIDAsIHsweDgwLDB4MTgsMHgyMCwweDA2LDB4MDgsMHgwMCwweDgyLDB4MDAsMHg2MCwweDgwLDB4MTgsMHgyMCwweDA2LDB4MDgsMHgwMSwweDgwIH19LAotIHsxNiwgMHhjM2MwLCAwLCB7MHgxMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0NCwweDQyLDB4MDQsMHgyMCwweDgxLDB4MDgsMHgyMCB9fSwKLSB7MTYsIDB4YzNkMCwgMCwgezB4MDIsMHgwOCwweDEwLDB4ODIsMHgwNCwweDIwLDB4ODEsMHgwOCwweDIwLDB4NDIsMHgwOCwweDEwLDB4ODIsMHgwNCwweDIwLDB4ODEgfX0sCi0gezE2LCAweGMzZTAsIDAsIHsweDA4LDB4MjAsMHg0NiwweDA4LDB4MTEsMHg4MiwweDA0LDB4MjAsMHg4MSwweDA4LDB4MjAsMHg0MiwweDA4LDB4MTEsMHg4MiwweDA0IH19LAotIHsxNiwgMHhjM2YwLCAwLCB7MHgyMCwweDgxLDB4MDgsMHgyMCwweDQyLDB4MDgsMHgxMCwweDgwLDB4MTEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YzQwMCwgMCwgezB4MDAsMHg0NSwweDQyLDB4MDUsMHg0MCwweGM1LDB4NTAsMHgyMCwweDE0LDB4MDgsMHgxNSwweDAwLDB4MDQsMHg0MCwweDgxLDB4NTAgfX0sCi0gezE2LCAweGM0MTAsIDAsIHsweDIwLDB4NTQsMHgwOCwweDExLDB4MDIsMHgwNSwweDAwLDB4ODAsMHgxMCwweDIwLDB4NDUsMHgwYywweDExLDB4NDIsMHgwNCwweDQwIH19LAotIHsxNiwgMHhjNDIwLCAwLCB7MHg4MSwweDUwLDB4MjAsMHgxNCwweDBjLDB4MTUsMHg0MiwweDA0LDB4NDAsMHg4MSwweDEwLDB4MjAsMHg1NCwweDA4LDB4MTUsMHgwMCB9fSwKLSB7MTYsIDB4YzQzMCwgMCwgezB4MTEsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwMywweDAxLDB4NTAsMHhjMCwweDQ0LDB4MzAgfX0sCi0gezE2LCAweGM0NDAsIDAsIHsweDE1LDB4MGMsMHgwNSwweDQzLDB4MDEsMHg1MCwweGMwLDB4NGMsMHgzMCwweDE1LDB4MGMsMHgwNSwweDQzLDB4MjEsMHg1MCwweGMwIH19LAotIHsxNiwgMHhjNDUwLCAwLCB7MHg1NCwweDMwLDB4MTUsMHgwYywweDA1LDB4NDMsMHgwMSwweDUwLDB4YzAsMHg1NCwweDMwLDB4MTUsMHgwYywweDA1LDB4NDMsMHgwMSB9fSwKLSB7MTYsIDB4YzQ2MCwgMCwgezB4NTAsMHhjMCwweDU0LDB4MjAsMHgxNSwweDBjLDB4MDUsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGM0NzAsIDAsIHsweDAwLDB4MDAsMHgwOCwweDAwLDB4NDIsMHgwMCwweDA0LDB4ODAsMHgwNCwweDIwLDB4MDEsMHgwOCwweDAwLDB4NDIsMHgwMCwweDA0IH19LAotIHsxNiwgMHhjNDgwLCAwLCB7MHg4MCwweDA0LDB4MjAsMHgwMSwweDA4LDB4MDAsMHgwMiwweDAwLDB4MTAsMHgwMCwweDA0LDB4MDAsMHgwMSwweDA4LDB4MDAsMHg0MiB9fSwKLSB7MTYsIDB4YzQ5MCwgMCwgezB4MDAsMHgxMCwweDgwLDB4MDQsMHgwMCwweDAxLDB4MDgsMHgwMCwweDQyLDB4MDAsMHgxMCwweDgwLDB4MDQsMHgyMCwweDAxLDB4MDAgfX0sCi0gezE2LCAweGM0YTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ1LDB4NDIsMHgwMiwweDAwLDB4ODAsMHg4NCwweDIwIH19LAotIHsxNiwgMHhjNGIwLCAwLCB7MHgyMCwweDA4LDB4MDgsMHgwMiwweDAyLDB4MDAsMHg4MCwweDg0LDB4MjAsMHgyMCwweDA4LDB4MDgsMHgwMiwweDAyLDB4MDAsMHg4MCB9fSwKLSB7MTYsIDB4YzRjMCwgMCwgezB4ODAsMHhhMCwweDIwLDB4MjgsMHgwOCwweDAyLDB4MDIsMHgwMCwweDgwLDB4ODAsMHgyMCwweDIwLDB4MjgsMHgwOCwweDAyLDB4MDIgfX0sCi0gezE2LCAweGM0ZDAsIDAsIHsweDAwLDB4ODAsMHg4MCwweDIwLDB4MjAsMHgwOCwweDA4LDB4MDAsMHgxMSwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjNGUwLCAwLCB7MHgwMCwweDQ1LDB4NDAsMHgwNSwweDYwLDB4NDEsMHg1OCwweDAwLDB4NTYsMHgwMCwweDE1LDB4ODAsMHgwNSwweDYwLDB4MDEsMHg1OCB9fSwKLSB7MTYsIDB4YzRmMCwgMCwgezB4MDAsMHg1NiwweDAwLDB4MTUsMHg4MCwweDA1LDB4MjAsMHgwMSwweGQ4LDB4MDAsMHg1NiwweDAwLDB4MTUsMHg4MCwweDA1LDB4NjAgfX0sCi0gezE2LCAweGM1MDAsIDAsIHsweDAxLDB4NTgsMHgwMCwweDc2LDB4MDAsMHgxNSwweDgwLDB4MDUsMHg2MCwweDAxLDB4NTgsMHgwMCwweDU2LDB4MDAsMHgxNSwweDgwIH19LAotIHsxNiwgMHhjNTEwLCAwLCB7MHgxMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjNSwweDQwLDB4MDMsMHg2MCwweDAwLDB4ZDgsMHgwMCB9fSwKLSB7MTYsIDB4YzUyMCwgMCwgezB4MjYsMHgwMCwweDBkLDB4ODAsMHgwMiwweDYwLDB4MDAsMHhkOCwweDAwLDB4MzYsMHgwMCwweDBkLDB4ODAsMHgwNywweDYwLDB4MDEgfX0sCi0gezE2LCAweGM1MzAsIDAsIHsweDVjLDB4MDAsMHgzNiwweDAwLDB4MGQsMHg4MCwweDAzLDB4NjAsMHgwMCwweGQ4LDB4MDAsMHg1NywweDAwLDB4MGQsMHg4MCwweDAyIH19LAotIHsxNiwgMHhjNTQwLCAwLCB7MHg2MCwweDAwLDB4OTgsMHgwMCwweDM2LDB4MDAsMHgwZCwweDgwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YzU1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDQsMHgzMCwweDIxLDB4MGMsMHgwMCwweDQzLDB4MDAsMHgxMCwweGMwLDB4MDQsMHgzMCwweDAxLDB4MGMgfX0sCi0gezE2LCAweGM1NjAsIDAsIHsweDAwLDB4NDMsMHgwMCwweDEwLDB4YzAsMHgwNCwweDMwLDB4MDEsMHgxOCwweDAwLDB4NDMsMHgwMCwweDEwLDB4YzAsMHgwNCwweDMwIH19LAotIHsxNiwgMHhjNTcwLCAwLCB7MHgwMSwweDBjLDB4MDAsMHg0NiwweDAwLDB4MTAsMHhjMCwweDA0LDB4MzAsMHgwMSwweDBjLDB4MDAsMHg0MywweDAwLDB4MTAsMHhjMCB9fSwKLSB7MTYsIDB4YzU4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzAsMHgwMCwweDBjLDB4MDAgfX0sCi0gezE2LCAweGM1OTAsIDAsIHsweDAzLDB4MDAsMHgwMCwweGMwLDB4MDAsMHgzNSwweDA4LDB4MGMsMHgwMCwweDAzLDB4MDAsMHgwMCwweGM2LDB4MDAsMHgxNCwweDAwIH19LAotIHsxNiwgMHhjNWEwLCAwLCB7MHgwOCwweDAwLDB4MDMsMHg0MCwweDAwLDB4YzAsMHgwMCwweDMwLDB4MDAsMHgwZCwweDQwLDB4MDIsMHgwMCwweDAwLDB4YzAsMHgwMCB9fSwKLSB7MTYsIDB4YzViMCwgMCwgezB4MzAsMHgwMCwweDBjLDB4MDAsMHgwMywweDAwLDB4MDAsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGM1YzAsIDAsIHsweDAwLDB4MDAsMHgwNSwweDAxLDB4MzEsMHg0MCwweDRjLDB4NTAsMHgxMywweDE0LDB4MDQsMHhjNSwweDAxLDB4MzEsMHhjMCwweDRjIH19LAotIHsxNiwgMHhjNWQwLCAwLCB7MHg1MCwweDEzLDB4MTQsMHgwNCwweGM1LDB4MDUsMHgzMSwweDQxLDB4NGMsMHg1MCwweDEzLDB4MTQsMHgwNCwweGM1LDB4MDEsMHgzMSB9fSwKLSB7MTYsIDB4YzVlMCwgMCwgezB4NDAsMHg0YywweDcwLDB4NTMsMHgxNCwweDA0LDB4YzUsMHgwMSwweDMxLDB4NDAsMHg0YywweDQwLDB4MTMsMHgxNCwweDA0LDB4YzAgfX0sCi0gezE2LCAweGM1ZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjMsMHgwNSwweDY4LDB4YzEsMHg1YSwweDMwIH19LAotIHsxNiwgMHhjNjAwLCAwLCB7MHg1NiwweDhjLDB4MTUsMHhhMywweDA1LDB4NjksMHhjMSwweDVhLDB4MzAsMHg0NiwweDhjLDB4MTEsMHhhNywweDAxLDB4NjgsMHhjMCB9fSwKLSB7MTYsIDB4YzYxMCwgMCwgezB4MWEsMHgzMCwweDU2LDB4OGMsMHgxMSwweGEzLDB4MDQsMHg2OCwweGMxLDB4MWEsMHgzMCwweDE2LDB4OGMsMHgxNSwweGEzLDB4MDQgfX0sCi0gezE2LCAweGM2MjAsIDAsIHsweDY4LDB4YzEsMHg1YSwweDMwLDB4NTYsMHg4YywweDExLDB4ODAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjNjMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDIwLDB4MDAsMHgwOCwweDAwLDB4MDIsMHgwMCwweDAwLDB4ODAsMHgwMCwweDI0LDB4MDAsMHgwOCB9fSwKLSB7MTYsIDB4YzY0MCwgMCwgezB4MDEsMHgwMiwweDAwLDB4MDAsMHg4MCwweDAwLDB4MjQsMHgwMCwweDA4LDB4ODAsMHgwMiwweDYwLDB4MDAsMHg4MCwweDAwLDB4MjAgfX0sCi0gezE2LCAweGM2NTAsIDAsIHsweDAwLDB4MDksMHg0MCwweDAyLDB4MjAsMHgwMCwweDgwLDB4MDAsMHgyMCwweDAwLDB4MDgsMHgwMCwweDAyLDB4MDAsMHgwMCwweDgwIH19LAotIHsxNiwgMHhjNjYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4NDQsMHg2MiwweDExLDB4MTgsMHg4NCB9fSwKLSB7MTYsIDB4YzY3MCwgMCwgezB4NDYsMHgyMSwweDExLDB4ODgsMHg0NCwweDYyLDB4MDksMHgxOCwweDg0LDB4NDYsMHgyMSwweDExLDB4ODgsMHg2MCwweDYyLDB4MTAgfX0sCi0gezE2LCAweGM2ODAsIDAsIHsweDE4LDB4MDQsMHg0NiwweDAxLDB4MTEsMHg4OCwweDQ0LDB4NjIsMHgxMSwweDE4LDB4ODAsMHgwNiwweDAxLDB4MTEsMHg4OCwweDQ0IH19LAotIHsxNiwgMHhjNjkwLCAwLCB7MHg2MiwweDExLDB4MTgsMHg4NCwweDQ2LDB4MjEsMHgxMSwweDgwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YzZhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4NDUsMHg1MCwweDExLDB4NTQsMHgwNCwweDU1LDB4MDEsMHgxNSwweDQwLDB4NDQsMHg1MCwweDExLDB4NTQgfX0sCi0gezE2LCAweGM2YjAsIDAsIHsweDA0LDB4NDUsMHgwMSwweDExLDB4NDAsMHg0MCwweDUwLDB4MTAsMHg1NCwweDA0LDB4NDUsMHgwMSwweDE1LDB4NDAsMHg0NCwweDUwIH19LAotIHsxNiwgMHhjNmMwLCAwLCB7MHgxMSwweDE0LDB4MDAsMHgxNSwweDAxLDB4MTUsMHg0MCwweDQ0LDB4NTAsMHgxMSwweDU0LDB4MDQsMHg1NSwweDAwLDB4MTEsMHg0MCB9fSwKLSB7MTYsIDB4YzZkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDIxLDB4NDIsMHgwOCwweDUwLDB4ODIgfX0sCi0gezE2LCAweGM2ZTAsIDAsIHsweDE0LDB4MjAsMHg4NSwweDA4LDB4MjEsMHg0MiwweDAwLDB4NTAsMHg4MiwweDE0LDB4MjAsMHg4NSwweDA4LDB4MjAsMHg0MiwweDA4IH19LAotIHsxNiwgMHhjNmYwLCAwLCB7MHg1MCwweDgyLDB4MTUsMHgyMCwweDA1LDB4NDgsMHgyMSwweDQyLDB4MDgsMHg1MCwweDgyLDB4MTQsMHgyMCwweDgxLDB4NDAsMHgyMSB9fSwKLSB7MTYsIDB4YzcwMCwgMCwgezB4NDIsMHgwOCwweDUwLDB4ODIsMHgxNCwweDIwLDB4ODUsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGM3MTAsIDAsIHsweDAwLDB4MDAsMHgwYSwweDAxLDB4MDIsMHg4MCwweDQwLDB4YTAsMHgxMCwweDI4LDB4MDQsMHgwYSwweDAxLDB4MDIsMHg4NCwweDQwIH19LAotIHsxNiwgMHhjNzIwLCAwLCB7MHhhMSwweDEwLDB4MjgsMHgwNCwweDBhLDB4MDEsMHgwMiwweDgwLDB4NDAsMHhhMCwweDAwLDB4MjgsMHgwMCwweDBhLDB4MDEsMHgwMiB9fSwKLSB7MTYsIDB4YzczMCwgMCwgezB4ODAsMHg0MCwweGIwLDB4MTAsMHgyOCwweDAwLDB4MGEsMHgwMSwweDAyLDB4ODAsMHg0MCwweGEwLDB4MTAsMHgyOCwweDA0LDB4MDAgfX0sCi0gezE2LCAweGM3NDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGMsMHgwMywweDUzLDB4MDAsMHhkNCwweGMwIH19LAotIHsxNiwgMHhjNzUwLCAwLCB7MHgzNSwweDMwLDB4MGQsMHg0YywweDAzLDB4NTMsMHgwMCwweGQ0LDB4YzAsMHgzNSwweDMwLDB4MGQsMHg0YywweDAzLDB4NTMsMHgwMCB9fSwKLSB7MTYsIDB4Yzc2MCwgMCwgezB4ZDQsMHhjMCwweDIxLDB4MzAsMHgwOCwweDRjLDB4MDMsMHg1MywweDAwLDB4ZDQsMHhjMCwweDM1LDB4MzAsMHgwOCwweDRjLDB4MDMgfX0sCi0gezE2LCAweGM3NzAsIDAsIHsweDUzLDB4MDAsMHhkNCwweGMwLDB4MzUsMHgzMCwweDBkLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjNzgwLCAwLCB7MHgwMCwweDAwLDB4MDgsMHgwNCwweDcwLDB4MDEsMHg1YywweDgwLDB4MDcsMHgyMCwweDI1LDB4YzksMHgwNCwweDcyLDB4MDEsMHg1YyB9fSwKLSB7MTYsIDB4Yzc5MCwgMCwgezB4ODAsMHg0NywweDIwLDB4MTUsMHhjOCwweDAwLDB4NzIsMHgwNSwweGRjLDB4ODAsMHg1NywweDIwLDB4MTUsMHhjOCwweDA1LDB4NzIgfX0sCi0gezE2LCAweGM3YTAsIDAsIHsweDAxLDB4MWMsMHg5MCwweDY3LDB4MjAsMHgxNSwweGM4LDB4MDUsMHg3MiwweDAxLDB4MWMsMHg4MCwweDU3LDB4MjAsMHgxNSwweGMwIH19LAotIHsxNiwgMHhjN2IwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDIzLDB4MTgsMHg0OCwweGMyLDB4MTIsMHgzMSB9fSwKLSB7MTYsIDB4YzdjMCwgMCwgezB4ODQsMHg4YywweDYxLDB4MDMsMHgxOCwweDQwLDB4YzgsMHgxMiwweDMxLDB4ODQsMHg4YywweDYxLDB4MDMsMHgxOCwweDQ4LDB4YzQgfX0sCi0gezE2LCAweGM3ZDAsIDAsIHsweDEwLDB4MzEsMHg4NCwweDBjLDB4NDEsMHgyMywweDE4LDB4NDgsMHhjNiwweDEwLDB4MzAsMHgwNCwweDBjLDB4NjEsMHgyMywweDE4IH19LAotIHsxNiwgMHhjN2UwLCAwLCB7MHg0OCwweGM2LDB4MTIsMHgzMCwweDg0LDB4OGMsMHgyMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YzdmMCwgMCwgezB4MDAsMHgwMCwweDNmLDB4ZmYsMHg0ZiwweGZmLDB4ZDMsMHhmZiwweGY0LDB4ZmYsMHhmZCwweDNmLDB4ZmYsMHg0ZiwweGZmLDB4ZDMgfX0sCi0gezE2LCAweGM4MDAsIDAsIHsweGZmLDB4ZjQsMHhmZiwweGZkLDB4M2YsMHhmZiwweDRmLDB4ZmYsMHhkMywweGZmLDB4ZjQsMHhmZiwweGZkLDB4M2YsMHhmZiwweDRmIH19LAotIHsxNiwgMHhjODEwLCAwLCB7MHhmZiwweGQzLDB4ZmYsMHhmNCwweGZmLDB4ZmQsMHgzZiwweGZmLDB4NGYsMHhmZiwweGQzLDB4ZmYsMHhmNCwweGZmLDB4YmQsMHgwMCB9fSwKLSB7MTYsIDB4YzgyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGM4MzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjODQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Yzg1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGM4NjAsIDAsIHsweDAwLDB4MDAsMHgyYywweGRiLDB4MGIsMHgzNiwweGMyLDB4Y2QsMHhiMCwweGIzLDB4NmMsMHgyYywweGRiLDB4MDksMHgzNiwweGMyIH19LAotIHsxNiwgMHhjODcwLCAwLCB7MHhjZCwweGIwLDB4YjMsMHg2YywweDJjLDB4ZGIsMHgwYiwweDM2LDB4YzIsMHhjZCwweGIwLDB4YjMsMHg2YywweDJjLDB4ZGIsMHgwYiB9fSwKLSB7MTYsIDB4Yzg4MCwgMCwgezB4MzYsMHhjMiwweGNkLDB4YjAsMHhiMywweDZjLDB4MmMsMHhkYiwweDBiLDB4MzYsMHhjMiwweGNkLDB4YjAsMHhiMywweDJjLDB4MDAgfX0sCi0gezE2LCAweGM4OTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzMsMHgzYywweDRjLDB4Y2YsMHgxMywweDMzIH19LAotIHsxNiwgMHhjOGEwLCAwLCB7MHhjNCwweGNjLDB4ZjEsMHgzMywweDNjLDB4NGQsMHg0ZSwweDkzLDB4MzMsMHhjNCwweGNjLDB4ZjEsMHgyYiwweDNjLDB4NGMsMHhjZiB9fSwKLSB7MTYsIDB4YzhiMCwgMCwgezB4MTMsMHgzMywweGM0LDB4Y2MsMHhlOSwweDMzLDB4M2MsMHg0YywweGNmLDB4MTIsMHhiNSwweGM0LDB4Y2MsMHhmMSwweDMzLDB4M2MgfX0sCi0gezE2LCAweGM4YzAsIDAsIHsweDRjLDB4Y2YsMHgxMywweDMzLDB4YzQsMHhjZCwweDMxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjOGQwLCAwLCB7MHgwMCwweDAwLDB4M2IsMHg3ZSwweDRlLDB4YzcsMHg5MywweGI3LDB4ZTQsMHhlZCwweGY5LDB4MjMsMHg3ZSwweDRlLDB4NDcsMHg5MyB9fSwKLSB7MTYsIDB4YzhlMCwgMCwgezB4YjcsMHhlNCwweGVkLDB4ZjksMHgzZiwweDdlLDB4NGUsMHhkZSwweDEyLDB4MzcsMHhlNCwweDhkLDB4ZjksMHgzYiwweDdlLDB4NGUgfX0sCi0gezE2LCAweGM4ZjAsIDAsIHsweGRmLDB4OTMsMHhmNywweDg0LDB4OGQsMHhmOSwweDNiLDB4N2UsMHg0ZSwweGRmLDB4OTMsMHhiMSwweGU0LDB4ZWQsMHhiOSwweDAwIH19LAotIHsxNiwgMHhjOTAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MDIsMHg3MCwweDQwLDB4OWMsMHgxMSB9fSwKLSB7MTYsIDB4YzkxMCwgMCwgezB4NjcsMHgwNCwweDE5LDB4YzMsMHgwMiwweDcwLDB4NDAsMHg5YywweDEwLDB4MjcsMHgwNCwweDA5LDB4YzEsMHgwMiwweDcwLDB4NDAgfX0sCi0gezE2LCAweGM5MjAsIDAsIHsweDFjLDB4MTAsMHgyNywweDE0LDB4MDEsMHhjMSwweDAyLDB4NzAsMHg0MCwweDljLDB4NTAsMHgwNywweDA0LDB4MDksMHhjMSwweDAyIH19LAotIHsxNiwgMHhjOTMwLCAwLCB7MHg3MCwweDQwLDB4OWMsMHgxMCwweDY3LDB4MTQsMHgxMSwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Yzk0MCwgMCwgezB4MDAsMHgwMCwweDA0LDB4MDUsMHg3MSwweDAxLDB4NWMsMHg0MCwweDU3LDB4MTAsMHgxNSwweGM0LDB4MDUsMHg3MSwweDAxLDB4NWMgfX0sCi0gezE2LCAweGM5NTAsIDAsIHsweDQwLDB4NTcsMHgxMCwweDE1LDB4YzYsMHgwNSwweDcxLDB4MDEsMHg1YywweDQwLDB4NTcsMHgxMCwweDEwLDB4YzQsMHgwNSwweDcxIH19LAotIHsxNiwgMHhjOTYwLCAwLCB7MHgwMSwweDVjLDB4NjQsMHgwMywweDEwLDB4NTUsMHhjNCwweDA1LDB4NzEsMHgwMSwweDVjLDB4NDAsMHg1NywweDEwLDB4MTUsMHhjMCB9fSwKLSB7MTYsIDB4Yzk3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMiwweDAxLDB4MjAsMHg4MCwweDQ4LDB4MjAgfX0sCi0gezE2LCAweGM5ODAsIDAsIHsweDEyLDB4MDgsMHgwNCwweDgyLDB4MDEsMHgyMSwweDgwLDB4NDgsMHgyMCwweDEyLDB4MDgsMHgwNCwweDgwLDB4MDEsMHgyMCwweDgwIH19LAotIHsxNiwgMHhjOTkwLCAwLCB7MHg0OCwweDIwLDB4MTIsMHgwOCwweDA1LDB4YzIsMHgwMSwweDIwLDB4ODAsMHg0OCwweDI0LDB4MTcsMHgwOCwweDA0LDB4ODIsMHgwMSB9fSwKLSB7MTYsIDB4YzlhMCwgMCwgezB4MjAsMHg4MCwweDQ4LDB4MjAsMHgxMiwweDA4LDB4MDQsMHg4MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGM5YjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4NjAsMHgwMCwweDE4LDB4MDAsMHg0NiwweDAwLDB4MTEsMHg4NCwweDAwLDB4NjAsMHgwMCwweDE4IH19LAotIHsxNiwgMHhjOWMwLCAwLCB7MHgwMCwweDA2LDB4MDAsMHgwMSwweDgwLDB4MDAsMHg2MCwweDAxLDB4MTgsMHgwMCwweDA2LDB4MTAsMHg5MSwweDgwLDB4MDAsMHg2MCB9fSwKLSB7MTYsIDB4YzlkMCwgMCwgezB4MDAsMHgxOCwweDQ2LDB4NDYsMHgxOCwweDAxLDB4ODAsMHgwMCwweDYwLDB4MDAsMHgxOCwweDAwLDB4MDYsMHgxMCwweDAxLDB4ODAgfX0sCi0gezE2LCAweGM5ZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweDczLDB4MDEsMHgxYywweDgwIH19LAotIHsxNiwgMHhjOWYwLCAwLCB7MHgwNywweDIwLDB4MDEsMHhjOCwweDA0LDB4NzIsMHgwMSwweDFjLDB4ODAsMHg0NywweDIwLDB4MTEsMHhjOCwweDA0LDB4NzIsMHgwMSB9fSwKLSB7MTYsIDB4Y2EwMCwgMCwgezB4MWMsMHg4MCwweDQ3LDB4MjIsMHgxMSwweGM4LDB4MDQsMHg3MiwweDAxLDB4MWMsMHg4MCwweDA3LDB4MjAsMHgxMSwweGM4LDB4MDQgfX0sCi0gezE2LCAweGNhMTAsIDAsIHsweDcyLDB4MDEsMHgxYywweDgwLDB4MDcsMHgyOCwweDExLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjYTIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDYwLDB4MDAsMHgxOCwweDAwLDB4MDYsMHgwMCwweDAxLDB4ODAsMHgwMCwweDYwLDB4MDAsMHgxOCB9fSwKLSB7MTYsIDB4Y2EzMCwgMCwgezB4MDAsMHgwNiwweDAwLDB4MDEsMHg4MCwweDAwLDB4NjAsMHgwMCwweDE4LDB4MDAsMHgwNiwweDAwLDB4MDEsMHg4MCwweDAwLDB4NjAgfX0sCi0gezE2LCAweGNhNDAsIDAsIHsweDAwLDB4MTgsMHgwMCwweDQ2LDB4MDQsMHgwMSwweDgwLDB4MDAsMHg2MCwweDAwLDB4MTgsMHgwMCwweDA2LDB4MDAsMHgwMSwweDgwIH19LAotIHsxNiwgMHhjYTUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4MDQsMHgyMiwweDAxLDB4MDgsMHg4MCB9fSwKLSB7MTYsIDB4Y2E2MCwgMCwgezB4MDIsMHgyMCwweDAwLDB4OTAsMHgwNCwweDI3LDB4ODEsMHgwOCwweDgwLDB4NDIsMHgyMCwweDEwLDB4OTgsMHgwNCwweDI0LDB4MDEgfX0sCi0gezE2LCAweGNhNzAsIDAsIHsweDA4LDB4ODAsMHg0MiwweDQ4LDB4MTAsMHg4OCwweDA0LDB4MjIsMHgwMSwweDA5LDB4NDAsMHg0MiwweDYwLDB4MTAsMHg4OCwweDA0IH19LAotIHsxNiwgMHhjYTgwLCAwLCB7MHgyMiwweDAxLDB4MDgsMHhjMCwweDAyLDB4NDAsMHgxMCwweDgwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Y2E5MCwgMCwgezB4MDAsMHgwMCwweDJhLDB4MDQsMHg0YiwweDgxLDB4MTIsMHhhMCwweDA0LDB4YTgsMHgwMSwweDJhLDB4MDQsMHg0YSwweDgxLDB4MTIgfX0sCi0gezE2LCAweGNhYTAsIDAsIHsweGEwLDB4NDQsMHhhOCwweDExLDB4MmEsMHgwNCwweDQ4LDB4ODAsMHgxMiwweGEwLDB4NDQsMHg4OCwweDAxLDB4MmEsMHgwNCwweDRhIH19LAotIHsxNiwgMHhjYWIwLCAwLCB7MHg4MSwweDEyLDB4MjAsMHgwNCwweGFjLDB4MTEsMHgyYSwweDA0LDB4NGEsMHg4MSwweDEyLDB4YjAsMHg0NCwweDljLDB4MTEsMHgwMCB9fSwKLSB7MTYsIDB4Y2FjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4YzAsMHgwYywweDAwLDB4NTMsMHgwMCwweDE0LDB4YzAgfX0sCi0gezE2LCAweGNhZDAsIDAsIHsweDA1LDB4MzAsMHgwMSwweDQ0LDB4MDAsMHg1MywweDAwLDB4MTQsMHhjMCwweDA1LDB4MzAsMHgwNCwweDBjLDB4MDAsMHg1MywweDAwIH19LAotIHsxNiwgMHhjYWUwLCAwLCB7MHgxNCwweGMwLDB4MDUsMHhiMCwweDAxLDB4NGMsMHgwMCwweDUzLDB4MDAsMHgxNiwweGMwLDB4MDEsMHgzMCwweDAxLDB4NGMsMHgwMCB9fSwKLSB7MTYsIDB4Y2FmMCwgMCwgezB4NTMsMHgwMCwweDE0LDB4YzAsMHgwMSwweDM4LDB4MDAsMHg0MCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGNiMDAsIDAsIHsweDA4LDB4YzAsMHgwMCwweDEwLDB4NDAsMHgwMCwweDEwLDB4MDAsMHgwNCwweDAwLDB4MDEsMHgxMCwweDAwLDB4NDQsMHg4MCwweDEwIH19LAotIHsxNiwgMHhjYjEwLCAwLCB7MHgwMCwweDA0LDB4MDAsMHgwMSwweDEwLDB4MDAsMHg0NiwweDAwLDB4MDAsMHgwMCwweDA0LDB4NjAsMHgwMSwweDAwLDB4MDAsMHg0MCB9fSwKLSB7MTYsIDB4Y2IyMCwgMCwgezB4MDAsMHgxMSwweDYwLDB4MDIsMHg0MCwweDAxLDB4MDAsMHgxMCwweDQwLDB4MDAsMHgxMCwweDYwLDB4MDEsMHg1MCwweDEwLDB4NDAgfX0sCi0gezE2LCAweGNiMzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweGMwLDB4NDAsMHgwMiwweDAwLDB4MDAsMHg4MCwweDAwIH19LAotIHsxNiwgMHhjYjQwLCAwLCB7MHgyMCwweDAwLDB4MDgsMHgwOCwweDAyLDB4MDAsMHgwMCwweDgwLDB4MDAsMHgyMCwweDAwLDB4MDgsMHgwMCwweDAyLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Y2I1MCwgMCwgezB4ODAsMHgwMCwweDIwLDB4MDAsMHgwOCwweDAwLDB4MDIsMHgwMCwweDAwLDB4ODAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDAwLDB4MDIgfX0sCi0gezE2LCAweGNiNjAsIDAsIHsweDAwLDB4MDAsMHg4MCwweDAwLDB4MjEsMHgwMCwweDA4LDB4NDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjYjcwLCAwLCB7MHgwOCwweGMwLDB4NDAsMHgwNCwweDYwLDB4MDEsMHgxOCwweDAwLDB4NDYsMHgwMCwweDExLDB4ODAsMHgwNCwweDYwLDB4MDEsMHgxOCB9fSwKLSB7MTYsIDB4Y2I4MCwgMCwgezB4MDAsMHg0NiwweDAwLDB4MTEsMHg4MCwweDA0LDB4NjAsMHgwMSwweGM4LDB4MDAsMHg0NiwweDAwLDB4MTksMHg4MCwweDAwLDB4NjAgfX0sCi0gezE2LCAweGNiOTAsIDAsIHsweDAwLDB4MTgsMHgwMCwweDY2LDB4MDAsMHgxMSwweDgwLDB4MDQsMHg2MCwweDAxLDB4MTgsMHgwMCwweDA2LDB4MDAsMHgxMSwweDgwIH19LAotIHsxNiwgMHhjYmEwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTAsMHgwMSwweDAwLDB4MDIsMHg2MCwweDAwLDB4OTgsMHgwMCB9fSwKLSB7MTYsIDB4Y2JiMCwgMCwgezB4MjYsMHgwMCwweDA5LDB4ODEsMHgwMiwweDYwLDB4MDEsMHg5OCwweDAwLDB4MjYsMHgwMCwweDA5LDB4ODAsMHgwNiwweDYyLDB4MDAgfX0sCi0gezE2LCAweGNiYzAsIDAsIHsweDQ4LDB4MDAsMHgyNiwweDIwLDB4MDEsMHhjMCwweDAyLDB4NjAsMHgwMSwweDk4LDB4MDAsMHgwNywweDAwLDB4MDksMHg4MCwweDAyIH19LAotIHsxNiwgMHhjYmQwLCAwLCB7MHg2MCwweDAwLDB4OTgsMHgwMCwweDI2LDB4MDAsMHgxMSwweDgyLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Y2JlMCwgMCwgezB4NDAsMHg0NSwweDQyLDB4MDQsMHgzMCwweDgxLDB4MGMsMHgyMCwweDQzLDB4MDgsMHgxMCwweGMyLDB4MDQsMHgzMCwweDg1LDB4OGMgfX0sCi0gezE2LCAweGNiZjAsIDAsIHsweDIwLDB4NDMsMHgwOCwweDEwLDB4YzIsMHgwNCwweDMwLDB4ODEsMHgwYywweDIwLDB4NDMsMHg0OCwweDExLDB4ODIsMHgwNCwweDMwIH19LAotIHsxNiwgMHhjYzAwLCAwLCB7MHg4MSwweDhkLDB4MjAsMHg0NiwweDA4LDB4MTAsMHhjMiwweDA0LDB4MzAsMHg4MSwweDBjLDB4MjAsMHg0MywweDBjLDB4MTAsMHhjMCB9fSwKLSB7MTYsIDB4Y2MxMCwgMCwgezB4MTEsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MDQsMHgwMCwweDAwLDB4MzAsMHgwMCwweDBjLDB4MDAgfX0sCi0gezE2LCAweGNjMjAsIDAsIHsweDAzLDB4MDAsMHgwMCwweGMwLDB4MDAsMHgxMCwweDAwLDB4MGMsMHgwMCwweDAzLDB4MDAsMHgwMCwweGMwLDB4MDAsMHgzMCwweDAwIH19LAotIHsxNiwgMHhjYzMwLCAwLCB7MHgwOCwweDAwLDB4MDMsMHgwMCwweDAwLDB4ODAsMHgwMCwweDMwLDB4MDAsMHgwYywweDgwLDB4MDIsMHgwMCwweDAwLDB4YzAsMHgwMCB9fSwKLSB7MTYsIDB4Y2M0MCwgMCwgezB4MzAsMHgwMCwweDBjLDB4MDAsMHgwMywweDIwLDB4MDAsMHhjMCwweDEwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGNjNTAsIDAsIHsweDQwLDB4MDAsMHgwMiwweDAwLDB4MzAsMHg4MCwweDBjLDB4MjEsMHgwMywweDA4LDB4MDAsMHhjMiwweDAwLDB4MzAsMHg4MCwweDBjIH19LAotIHsxNiwgMHhjYzYwLCAwLCB7MHgyMCwweDAzLDB4MDgsMHgwMCwweGMyLDB4MDQsMHgzMCwweGMxLDB4MGMsMHgyMCwweDAzLDB4MGMsMHgxMCwweGMyLDB4MDAsMHgzMCB9fSwKLSB7MTYsIDB4Y2M3MCwgMCwgezB4ODAsMHgwYywweGIwLDB4NDMsMHgwOCwweDAwLDB4YzIsMHgwMCwweDMwLDB4ODAsMHgwYywweDIwLDB4MDMsMHgyOCwweDEwLDB4YzAgfX0sCi0gezE2LCAweGNjODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDQ1LDB4NDIsMHgwNCwweDYwLDB4ODEsMHgxOCwweDIwIH19LAotIHsxNiwgMHhjYzkwLCAwLCB7MHg0NiwweDA4LDB4MTEsMHg4MiwweDA0LDB4NjAsMHg4MCwweDE4LDB4MjAsMHg0NiwweDA4LDB4MTEsMHg4MiwweDAwLDB4NjAsMHg4MSB9fSwKLSB7MTYsIDB4Y2NhMCwgMCwgezB4MTgsMHgyMCwweDQ2LDB4MDgsMHgxMSwweDgyLDB4MDQsMHg2MCwweDgwLDB4MTgsMHgyMCwweDA2LDB4MDgsMHgxMSwweDgyLDB4MDQgfX0sCi0gezE2LCAweGNjYjAsIDAsIHsweDYwLDB4ODEsMHgxOCwweDIwLDB4NDYsMHgwYywweDExLDB4YzAsMHgxMSwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjY2MwLCAwLCB7MHg0MCwweDAxLDB4NDIsMHgwMCwweDIwLDB4ODAsMHgwOCwweDIwLDB4MDIsMHgwOCwweDAwLDB4ODIsMHgwMCwweDIwLDB4ODAsMHgwOCB9fSwKLSB7MTYsIDB4Y2NkMCwgMCwgezB4MjAsMHgwMiwweDA4LDB4MDAsMHg4MiwweDAwLDB4MjAsMHg4MCwweDBjLDB4MjAsMHgwMiwweDA4LDB4MDAsMHhjMiwweDAwLDB4MjAgfX0sCi0gezE2LCAweGNjZTAsIDAsIHsweDgwLDB4MDgsMHgyMCwweDQyLDB4MDgsMHgwMCwweDgyLDB4MDAsMHgyMCwweDgwLDB4MDgsMHgyMCwweDAyLDB4MDgsMHgwMSwweDgwIH19LAotIHsxNiwgMHhjY2YwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NTAsMHgwMSwweDQyLDB4MDQsMHg2MCwweDgxLDB4MTgsMHgyMCB9fSwKLSB7MTYsIDB4Y2QwMCwgMCwgezB4NDYsMHgwOCwweDExLDB4ODIsMHgwNCwweDYwLDB4ODAsMHgxOCwweDIwLDB4NDYsMHgwOCwweDExLDB4ODIsMHgwMCwweDYwLDB4YzEgfX0sCi0gezE2LCAweGNkMTAsIDAsIHsweDBjLDB4MjAsMHg0NiwweDBjLDB4MTAsMHhjMiwweDA0LDB4NjAsMHg4MCwweDE4LDB4MzAsMHg0MiwweDA4LDB4MTEsMHg4MiwweDA0IH19LAotIHsxNiwgMHhjZDIwLCAwLCB7MHg2MCwweDgxLDB4MTgsMHgyMCwweDQ2LDB4MDgsMHgxMCwweDgwLDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Y2QzMCwgMCwgezB4NDAsMHg0NSwweDQwLDB4MDQsMHg1MCwweDAxLDB4MTQsMHgwMCwweDQ1LDB4MDAsMHgxMSwweDQwLDB4MDQsMHg1MCwweDAwLDB4MTQgfX0sCi0gezE2LCAweGNkNDAsIDAsIHsweDAwLDB4NDUsMHgwMCwweDExLDB4NDAsMHgwMCwweDUwLDB4MDAsMHgwNCwweDAwLDB4NDUsMHgwMCwweDAwLDB4NDAsMHgwNCwweDUwIH19LAotIHsxNiwgMHhjZDUwLCAwLCB7MHgwMCwweDE0LDB4MDAsMHgwMSwweDAwLDB4MTEsMHg0MCwweDA0LDB4NTAsMHgwMSwweDE0LDB4MDAsMHg0NSwweDAwLDB4MDAsMHg0MiB9fSwKLSB7MTYsIDB4Y2Q2MCwgMCwgezB4MDEsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDAsMHgwNiwweDAwLDB4NDEsMHg4MCwweDEwLDB4NjAgfX0sCi0gezE2LCAweGNkNzAsIDAsIHsweDA0LDB4MTgsMHgwMSwweDA2LDB4MDAsMHg0MSwweDgwLDB4MTAsMHg2MCwweDA0LDB4MTgsMHgwMSwweDA2LDB4MDAsMHg0MSwweDgwIH19LAotIHsxNiwgMHhjZDgwLCAwLCB7MHgxMCwweDYwLDB4MDQsMHgxOCwweDAxLDB4MDYsMHgwMCwweDQxLDB4ODAsMHgxMCwweDYwLDB4MDQsMHgxOCwweDAxLDB4MDYsMHgwMCB9fSwKLSB7MTYsIDB4Y2Q5MCwgMCwgezB4NDEsMHg4MCwweDEwLDB4NjAsMHgwNCwweDE4LDB4MDEsMHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGNkYTAsIDAsIHsweDQ4LDB4MDAsMHgwMiwweDAxLDB4MDAsMHg4MCwweDQwLDB4MjEsMHgxMCwweDA4LDB4MDQsMHgwMiwweDAxLDB4MDAsMHg4MCwweDQwIH19LAotIHsxNiwgMHhjZGIwLCAwLCB7MHgyMCwweDEwLDB4MDgsMHgwNCwweDAyLDB4MDEsMHgwMCwweDgwLDB4NDAsMHgyMSwweDEwLDB4MDgsMHgwNCwweDAyLDB4MDEsMHgwMCB9fSwKLSB7MTYsIDB4Y2RjMCwgMCwgezB4ODAsMHg0MCwweDMwLDB4MTAsMHgwOCwweDA0LDB4MDIsMHgxMSwweDAwLDB4ODQsMHg0MCwweDIwLDB4MTAsMHgwOCwweDE0LDB4MDAgfX0sCi0gezE2LCAweGNkZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDQ1LDB4NDYsMHgwMywweDUxLDB4ODAsMHhkNCwweDYwIH19LAotIHsxNiwgMHhjZGUwLCAwLCB7MHgzNSwweDE4LDB4MGQsMHg0NiwweDAzLDB4NTEsMHg4MCwweGQ0LDB4NjAsMHgzNSwweDE4LDB4MGQsMHg0NiwweDAzLDB4NTEsMHg4MCB9fSwKLSB7MTYsIDB4Y2RmMCwgMCwgezB4ZDQsMHg2MCwweDM1LDB4MTAsMHgwZCwweDQ2LDB4MDMsMHg1MSwweDgwLDB4ZDQsMHg0MCwweDM1LDB4MTgsMHgwZCwweDQ2LDB4MDMgfX0sCi0gezE2LCAweGNlMDAsIDAsIHsweDUxLDB4ODAsMHhkNCwweDYwLDB4MzUsMHgxOCwweDBkLDB4NDAsMHgxMSwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjZTEwLCAwLCB7MHgwMCwweDAxLDB4NDYsMHgwNCwweDcxLDB4ODEsMHgxYywweDYwLDB4MDcsMHgxOCwweDExLDB4Y2UsMHgwNCwweDcxLDB4ODEsMHgxYyB9fSwKLSB7MTYsIDB4Y2UyMCwgMCwgezB4NjAsMHg0NywweDE4LDB4MDEsMHhjNiwweDA0LDB4NzEsMHg4MSwweDljLDB4NjAsMHg0NywweDE4LDB4MTksMHhjNiwweDA0LDB4NzEgfX0sCi0gezE2LCAweGNlMzAsIDAsIHsweDgwLDB4MWMsMHg2MCwweDY3LDB4MTgsMHgxMSwweGM2LDB4MDQsMHg3MSwweDgxLDB4MWMsMHg2MCwweDQ3LDB4MTgsMHgxMSwweGMwIH19LAotIHsxNiwgMHhjZTQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwMCwweDQ2LDB4MDIsMHg3MSwweDgwLDB4OWMsMHg2MCB9fSwKLSB7MTYsIDB4Y2U1MCwgMCwgezB4MjcsMHgxOCwweDA5LDB4YzYsMHgwNiwweDcxLDB4ODAsMHgxYywweDYwLDB4MjcsMHgxOCwweDA5LDB4YzYsMHgwMSwweDMxLDB4ODAgfX0sCi0gezE2LCAweGNlNjAsIDAsIHsweDFjLDB4NjAsMHgwNywweDE4LDB4MDksMHhjNiwweDAyLDB4NzEsMHg4MCwweDljLDB4NjAsMHgwNywweDE4LDB4MDksMHhjNiwweDEyIH19LAotIHsxNiwgMHhjZTcwLCAwLCB7MHg3MSwweDgwLDB4OWMsMHg2MCwweDMzLDB4MTgsMHgwMSwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Y2U4MCwgMCwgezB4NTAsMHg0NSwweDQ2LDB4MDUsMHg3MSwweDgxLDB4NWMsMHg2MCwweDU3LDB4MTgsMHgxNSwweGM2LDB4MDUsMHg3MSwweDgwLDB4NWMgfX0sCi0gezE2LCAweGNlOTAsIDAsIHsweDYwLDB4NTcsMHgxOCwweDE1LDB4YzYsMHgwMSwweDMxLDB4ODEsMHgwYywweDYwLDB4MTcsMHgxOCwweDEwLDB4YzYsMHgwNSwweDcxIH19LAotIHsxNiwgMHhjZWEwLCAwLCB7MHg4MSwweDVjLDB4NjAsMHgwMywweDE4LDB4MTUsMHhjNiwweDA1LDB4NzEsMHg4MSwweDVjLDB4NjAsMHg1MywweDE4LDB4MTgsMHg4MiB9fSwKLSB7MTYsIDB4Y2ViMCwgMCwgezB4MTAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4NDAsMHgxMiwweDAxLDB4MjQsMHg4MCwweDQ4LDB4MjAgfX0sCi0gezE2LCAweGNlYzAsIDAsIHsweDEyLDB4MDgsMHgwNCwweDgyLDB4MDEsMHgyNCwweDgwLDB4NDgsMHgyMCwweDEyLDB4MDgsMHgwNCwweDgyLDB4MDEsMHgyMCwweDgwIH19LAotIHsxNiwgMHhjZWQwLCAwLCB7MHg1OCwweDIwLDB4NTIsMHgwYywweDA1LDB4ODIsMHgwMSwweDIwLDB4ODAsMHg0OSwweDIwLDB4MDIsMHgwOCwweDA0LDB4ODIsMHgwMSB9fSwKLSB7MTYsIDB4Y2VlMCwgMCwgezB4MjAsMHg4MCwweDQ5LDB4MjAsMHgxMiwweDQ4LDB4MDQsMHg4MCwweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGNlZjAsIDAsIHsweDQwLDB4MDQsMHgwNiwweDAwLDB4NjEsMHg4MCwweDE4LDB4NjAsMHgwNiwweDE4LDB4MDEsMHg4NiwweDA0LDB4NjEsMHg4MCwweDE4IH19LAotIHsxNiwgMHhjZjAwLCAwLCB7MHg2MCwweDA2LDB4MTgsMHgwMSwweDg2LDB4MDAsMHg2MSwweDgxLDB4NDgsMHg2MCwweDA2LDB4MTgsMHgxNCwweDg2LDB4MDAsMHg2MSB9fSwKLSB7MTYsIDB4Y2YxMCwgMCwgezB4ODAsMHgxOCwweDYwLDB4NDIsMHgxOCwweDAxLDB4ODYsMHgwMCwweDYxLDB4ODAsMHgxOCwweDYwLDB4MDYsMHgxOCwweDAwLDB4ODAgfX0sCi0gezE2LCAweGNmMjAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ1LDB4NjAsMHgwNCwweDc4LDB4MDEsMHgxZSwweDAwIH19LAotIHsxNiwgMHhjZjMwLCAwLCB7MHg0NywweDgwLDB4MTEsMHhlOCwweDAwLDB4NzgsMHgwMSwweDFlLDB4MDAsMHg0NywweDgwLDB4MTEsMHhlMCwweDA0LDB4NzgsMHgwMSB9fSwKLSB7MTYsIDB4Y2Y0MCwgMCwgezB4MWUsMHgwMCwweDQzLDB4ODAsMHgxMSwweGUwLDB4MDQsMHg3OCwweDAxLDB4MWUsMHgwMCwweDAzLDB4ODAsMHgxNSwweGUwLDB4MDQgfX0sCi0gezE2LCAweGNmNTAsIDAsIHsweDc4LDB4MDEsMHgxZSwweDAwLDB4NDcsMHg4MCwweDExLDB4YzAsMHgxMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjZjYwLCAwLCB7MHg0MCwweDAxLDB4MTIsMHgwMCwweDY0LDB4ODAsMHgxOCwweDIwLDB4MDYsMHgwOCwweDAxLDB4ODIsMHgwMCwweDY0LDB4ODAsMHgxOCB9fSwKLSB7MTYsIDB4Y2Y3MCwgMCwgezB4MjAsMHgwNiwweDA4LDB4MDEsMHg4MiwweDAwLDB4NjAsMHg4MCwweDE4LDB4MzAsMHgwMiwweDA4LDB4MDEsMHg4MiwweDAwLDB4NjAgfX0sCi0gezE2LCAweGNmODAsIDAsIHsweDgwLDB4MTksMHgzMCwweDQyLDB4MDgsMHgwMCwweDgyLDB4MDAsMHg2MCwweDgwLDB4MTksMHgyMCwweDA2LDB4NDgsMHgwMSwweDgwIH19LAotIHsxNiwgMHhjZjkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwMSwweDQyLDB4MDQsMHgyMCwweDgxLDB4MDgsMHgyMCB9fSwKLSB7MTYsIDB4Y2ZhMCwgMCwgezB4NDIsMHgwOCwweDEwLDB4ODIsMHgwMCwweDIwLDB4ODEsMHgwOCwweDIwLDB4NDIsMHgwOCwweDEwLDB4ODIsMHgwNCwweDIwLDB4ODEgfX0sCi0gezE2LCAweGNmYjAsIDAsIHsweDA4LDB4MjAsMHg0NiwweDA4LDB4MTAsMHg4MiwweDA0LDB4MjAsMHg4MSwweDA4LDB4MjAsMHg0MiwweDA4LDB4MTEsMHg4MiwweDA0IH19LAotIHsxNiwgMHhjZmMwLCAwLCB7MHgyMCwweDgxLDB4MDgsMHgyMCwweDQyLDB4MDgsMHgxMCwweDgwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Y2ZkMCwgMCwgezB4NDAsMHg0NSwweDQyLDB4MDQsMHg0MCwweDgxLDB4MTAsMHgyMCwweDQ0LDB4MDgsMHgxMSwweDAyLDB4MDAsMHg0MCwweDgxLDB4MTAgfX0sCi0gezE2LCAweGNmZTAsIDAsIHsweDIwLDB4NDQsMHgwOCwweDExLDB4MDIsMHgwNCwweDQwLDB4ODAsMHgxMCwweDIwLDB4NDUsMHgwOCwweDAxLDB4MDIsMHgwNCwweDQwIH19LAotIHsxNiwgMHhjZmYwLCAwLCB7MHg4MSwweDEwLDB4MjEsMHgwMCwweDBjLDB4MTEsMHgwMiwweDA0LDB4NDAsMHg4MSwweDEwLDB4MjAsMHg0NCwweDA4LDB4MDEsMHgwMCB9fSwKLSB7MTYsIDB4ZDAwMCwgMCwgezB4MTEsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MDAsMHgwMywweDAwLDB4NTAsMHhjMCwweDE0LDB4MzAgfX0sCi0gezE2LCAweGQwMTAsIDAsIHsweDA1LDB4MGMsMHgwMSwweDQzLDB4MDAsMHg1MCwweGMwLDB4MTQsMHgzMCwweDA1LDB4MGMsMHgwMSwweDQzLDB4MDAsMHg1MCwweGMwIH19LAotIHsxNiwgMHhkMDIwLCAwLCB7MHgxNCwweDMwLDB4MDUsMHgwYywweDAxLDB4NDMsMHgwMCwweDUwLDB4YzAsMHgxNCwweDMwLDB4MDUsMHgwYywweDAxLDB4NDMsMHgwMCB9fSwKLSB7MTYsIDB4ZDAzMCwgMCwgezB4NTAsMHhjMCwweDE0LDB4MzAsMHgwNSwweDBjLDB4MDEsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQwNDAsIDAsIHsweDQwLDB4MDAsMHgwOCwweDAwLDB4NDIsMHgwNCwweDEwLDB4ODAsMHgwNCwweDIwLDB4MDEsMHgwOSwweDAwLDB4NDIsMHgwMSwweDEwIH19LAotIHsxNiwgMHhkMDUwLCAwLCB7MHg4MCwweDA0LDB4MjAsMHgwMSwweDA4LDB4MDAsMHg0MiwweDAwLDB4MTAsMHgwMCwweDA0LDB4MjAsMHgwMSwweDA4LDB4MDAsMHg0MiB9fSwKLSB7MTYsIDB4ZDA2MCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDQsMHgwMCwweDAxLDB4MDgsMHgwMCwweDQyLDB4MDAsMHgxMCwweDgwLDB4MDQsMHgyMCwweDExLDB4MDAgfX0sCi0gezE2LCAweGQwNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDQ1LDB4NDIsMHgwMiwweDAwLDB4ODAsMHg4MCwweDIwIH19LAotIHsxNiwgMHhkMDgwLCAwLCB7MHgyMCwweDA4LDB4MDgsMHgwMiwweDAyLDB4MDAsMHg4MCwweDAwLDB4MjAsMHgyMCwweDA4LDB4MDgsMHgwMiwweDAwLDB4MDAsMHg4MCB9fSwKLSB7MTYsIDB4ZDA5MCwgMCwgezB4ODAsMHhhMCwweDAwLDB4MGEsMHgwOCwweDAyLDB4MDIsMHgwMCwweDgwLDB4ODAsMHgzNCwweDYyLDB4MjgsMHgwOCwweDAyLDB4MDIgfX0sCi0gezE2LCAweGQwYTAsIDAsIHsweDAwLDB4ODAsMHg4MCwweDMwLDB4MjAsMHgwYywweDA4LDB4MDAsMHgxMSwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkMGIwLCAwLCB7MHg0MCwweDAxLDB4NDAsMHgwNCwweDYwLDB4MDEsMHgxOCwweDAwLDB4NDYsMHgwMCwweDExLDB4ODAsMHgwNCwweDYwLDB4MDMsMHgxOCB9fSwKLSB7MTYsIDB4ZDBjMCwgMCwgezB4MDAsMHg0NiwweDAwLDB4MTEsMHg4MCwweDA2LDB4NjAsMHgwMSwweDk4LDB4MDAsMHg0NiwweDAwLDB4MTEsMHg4MCwweDA0LDB4NjAgfX0sCi0gezE2LCAweGQwZDAsIDAsIHsweDAxLDB4MTgsMHgwMCwweDY2LDB4MDAsMHgxMSwweDgwLDB4MDQsMHg2MCwweDAxLDB4MTgsMHgwMCwweDQ2LDB4MDAsMHgxMSwweDgwIH19LAotIHsxNiwgMHhkMGUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwMSwweDAwLDB4MDIsMHg2MCwweDAwLDB4OTgsMHgwMCB9fSwKLSB7MTYsIDB4ZDBmMCwgMCwgezB4MjYsMHgwMCwweDA5LDB4ODAsMHgwMiwweDY0LDB4MDAsMHg5OCwweDAwLDB4MjYsMHgwMCwweDE5LDB4OTAsMHgwMiwweDYwLDB4MDAgfX0sCi0gezE2LCAweGQxMDAsIDAsIHsweDFkLDB4MDAsMHgyNiwweDAwLDB4MDEsMHhjMCwweDAyLDB4NjAsMHgwMCwweDk5LDB4MDAsMHgwNiwweDQwLDB4MTksMHg4MCwweDAyIH19LAotIHsxNiwgMHhkMTEwLCAwLCB7MHg2MCwweDAwLDB4OTgsMHgwMCwweDY2LDB4MDAsMHgwMSwweDgwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDEyMCwgMCwgezB4NDAsMHg0NSwweDYwLDB4MDQsMHgzOCwweDAxLDB4MGUsMHgwMCwweDQzLDB4ODAsMHgxMCwweGUwLDB4MDQsMHgzOCwweDAxLDB4MGUgfX0sCi0gezE2LCAweGQxMzAsIDAsIHsweDAwLDB4NDMsMHg4MCwweDEwLDB4ZTAsMHgwNCwweDM4LDB4MDEsMHgxYSwweDAwLDB4NDMsMHg4MCwweDExLDB4YTAsMHgwNCwweDM4IH19LAotIHsxNiwgMHhkMTQwLCAwLCB7MHgwMSwweDBlLDB4MDAsMHgwMiwweDgwLDB4NDAsMHhlMCwweDA0LDB4MzgsMHgwMSwweDBlLDB4MDAsMHg0MywweDgwLDB4MTgsMHg4MCB9fSwKLSB7MTYsIDB4ZDE1MCwgMCwgezB4MTEsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDUwLDB4MDQsMHgwMSwweDAwLDB4MzAsMHg0MCwweDBjLDB4MTAgfX0sCi0gezE2LCAweGQxNjAsIDAsIHsweDAzLDB4MDQsMHgwMCwweGM5LDB4MDAsMHgzMCwweDQwLDB4MGMsMHgxMCwweDAzLDB4MDQsMHgwMCwweGMxLDB4MDAsMHgzMCwweDQwIH19LAotIHsxNiwgMHhkMTcwLCAwLCB7MHgwOCwweDEwLDB4MDMsMHgwNCwweDAwLDB4ODEsMHgwMCwweDMwLDB4NDAsMHgwYywweDc4LDB4MDIsMHgxNCwweDAwLDB4YzEsMHgwMCB9fSwKLSB7MTYsIDB4ZDE4MCwgMCwgezB4MzAsMHg0MCwweDBjLDB4MTAsMHgwMywweDA0LDB4MDAsMHg4MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQxOTAsIDAsIHsweDQwLDB4MDAsMHgwNSwweDAwLDB4MzEsMHg0MCwweDBjLDB4NTAsMHgwMywweDE0LDB4MDAsMHhjNSwweDAwLDB4MzUsMHg0MCwweDBjIH19LAotIHsxNiwgMHhkMWEwLCAwLCB7MHg1MCwweDAzLDB4MTQsMHgxMCwweGQ1LDB4MDAsMHgzMSwweDQxLDB4MGQsMHg1MCwweDAzLDB4MTQsMHgxMCwweGM1LDB4MDAsMHgzMSB9fSwKLSB7MTYsIDB4ZDFiMCwgMCwgezB4NDAsMHgwZCwweDQ4LDB4NDMsMHg1NCwweDEwLDB4YzUsMHgwMCwweDMxLDB4NDAsMHgwYywweDQwLDB4NDMsMHgxMCwweDAwLDB4YzIgfX0sCi0gezE2LCAweGQxYzAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDQ1LDB4NDMsMHgwNCwweDYwLDB4YzEsMHgxOCwweDMwIH19LAotIHsxNiwgMHhkMWQwLCAwLCB7MHg0NiwweDBjLDB4MTEsMHg4MywweDA0LDB4NjEsMHhjMSwweDE4LDB4MzAsMHg0NiwweDBjLDB4MDEsMHg4NywweDA0LDB4NjAsMHhjMSB9fSwKLSB7MTYsIDB4ZDFlMCwgMCwgezB4MTgsMHgzMCwweDQ2LDB4MDgsMHgxMSwweDgzLDB4MDQsMHg2MCwweGMxLDB4MTgsMHgyMCwweDA2LDB4MGMsMHgwMSwweDgzLDB4MDQgfX0sCi0gezE2LCAweGQxZjAsIDAsIHsweDYwLDB4YzEsMHgxOCwweDMwLDB4NDYsMHgwYywweDExLDB4ODAsMHgxMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkMjAwLCAwLCB7MHg0MCwweDAxLDB4NDAsMHgwMCwweDIwLDB4MDAsMHgwOCwweDAwLDB4MDIsMHgwMCwweDAwLDB4ODAsMHgwMCwweDIwLDB4MDAsMHgwOCB9fSwKLSB7MTYsIDB4ZDIxMCwgMCwgezB4MDAsMHgwMiwweDAwLDB4MDAsMHg4MSwweDAwLDB4MjAsMHgwMCwweDA4LDB4ODAsMHgwMiwweDAwLDB4MDAsMHhjMCwweDAwLDB4MjAgfX0sCi0gezE2LCAweGQyMjAsIDAsIHsweDAwLDB4MDgsMHg0MCwweDQzLDB4MzAsMHgwMCwweDgwLDB4MDAsMHgyMCwweDAwLDB4MDgsMHgwMCwweDAyLDB4MDAsMHgwMCwweDgwIH19LAotIHsxNiwgMHhkMjMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwMSwweDQ4LDB4NDQsMHg2MiwweDExLDB4MTgsMHg4NCB9fSwKLSB7MTYsIDB4ZDI0MCwgMCwgezB4NDYsMHgyMSwweDExLDB4ODgsMHg0NCwweDYzLDB4MDEsMHgxOCwweDg0LDB4NDYsMHgyMSwweDAxLDB4ODgsMHgwNCwweDYyLDB4MTEgfX0sCi0gezE2LCAweGQyNTAsIDAsIHsweDE4LDB4MDQsMHg0NiwweDIxLDB4MTAsMHhjOCwweDQ0LDB4NjIsMHgxMSwweDE4LDB4MDUsMHg0MywweDAxLDB4ODEsMHg4OCwweDQ0IH19LAotIHsxNiwgMHhkMjYwLCAwLCB7MHg2MiwweDExLDB4MTgsMHg4NCwweDQ2LDB4MjEsMHgxMSwweDgwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDI3MCwgMCwgezB4NDAsMHg0NSwweDQwLDB4MDQsMHg1MCwweDAxLDB4MTQsMHgwNCwweDQ1LDB4MDEsMHgxMSwweDQwLDB4NDQsMHg1MCwweDAxLDB4MTQgfX0sCi0gezE2LCAweGQyODAsIDAsIHsweDA0LDB4NDUsMHgwMSwweDAxLDB4NDAsMHg0NSwweDAwLDB4MTAsMHgxNCwweDA0LDB4NDUsMHgwMywweDAwLDB4NDAsMHg0NCwweDUwIH19LAotIHsxNiwgMHhkMjkwLCAwLCB7MHgxMSwweDE0LDB4MDQsMHgwMSwweDA1LDB4NDEsMHg0MCwweDQ0LDB4NTAsMHgxMSwweDE0LDB4MDQsMHgwNSwweDAxLDB4MDEsMHg0MCB9fSwKLSB7MTYsIDB4ZDJhMCwgMCwgezB4MTEsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MDAsMHgwOCwweDIwLDB4NDIsMHgwOCwweDEwLDB4ODIgfX0sCi0gezE2LCAweGQyYjAsIDAsIHsweDA0LDB4MjAsMHg4MSwweDA4LDB4MDAsMHg0MiwweDAwLDB4MTAsMHg4MiwweDA0LDB4MjAsMHg4MSwweDA4LDB4MDAsMHg0MiwweDA4IH19LAotIHsxNiwgMHhkMmMwLCAwLCB7MHgxMCwweDgyLDB4MDUsMHgyMCwweDgxLDB4MDgsMHgyMCwweDQyLDB4MDgsMHgxMCwweDhhLDB4MDUsMHgyMCwweDA1LDB4MDgsMHgyMCB9fSwKLSB7MTYsIDB4ZDJkMCwgMCwgezB4NDIsMHgwOCwweDEwLDB4ODIsMHgwNCwweDIyLDB4ODEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQyZTAsIDAsIHsweDAwLDB4MDAsMHgwYSwweDAxLDB4MDIsMHg4MCwweDQwLDB4YTAsMHgxMCwweDI4LDB4MDQsMHgwMiwweDAxLDB4MDIsMHg4MCwweDQwIH19LAotIHsxNiwgMHhkMmYwLCAwLCB7MHhhMCwweDEwLDB4MjgsMHgwNCwweDBhLDB4MDEsMHgwMiwweDgwLDB4NDAsMHhhMCwweDAwLDB4MjksMHgwNCwweDBhLDB4MDEsMHgwMiB9fSwKLSB7MTYsIDB4ZDMwMCwgMCwgezB4ODAsMHg0MCwweGE0LDB4MDAsMHgyOCwweDA0LDB4MGEsMHgwMSwweDAyLDB4ODAsMHg0MCwweGE4LDB4MTAsMHgyYiwweDE0LDB4MDAgfX0sCi0gezE2LCAweGQzMTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDQ1LDB4NGQsMHgwMywweDUzLDB4NDAsMHhkNCwweGQwIH19LAotIHsxNiwgMHhkMzIwLCAwLCB7MHgzNSwweDM0LDB4MGQsMHg0ZCwweDAzLDB4NTMsMHg0MCwweGQ0LDB4ZDAsMHgzNSwweDM0LDB4MGQsMHg0ZCwweDAzLDB4NTMsMHg0MCB9fSwKLSB7MTYsIDB4ZDMzMCwgMCwgezB4ZDQsMHhkMCwweDIxLDB4MzQsMHg0ZCwweDRkLDB4MDMsMHg1MywweDQwLDB4ZDQsMHhkOSwweDYxLDB4MzQsMHgwNCwweDBkLDB4MDMgfX0sCi0gezE2LCAweGQzNDAsIDAsIHsweDUzLDB4NDAsMHhjMCwweGQ4LDB4MzUsMHgzNywweDBkLDB4NDAsMHgxMSwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkMzUwLCAwLCB7MHg0MCwweDAxLDB4NDgsMHgwNCwweDcyLDB4MDAsMHgxYywweDgwLDB4NDcsMHgyMCwweDExLDB4YzgsMHgwNCwweDcyLDB4MDEsMHgxYyB9fSwKLSB7MTYsIDB4ZDM2MCwgMCwgezB4ODAsMHg0NywweDIwLDB4MTEsMHhjOCwweDA0LDB4NzIsMHgwMCwweDljLDB4ODAsMHg0NywweDIwLDB4MTksMHhjOCwweDAwLDB4NzIgfX0sCi0gezE2LCAweGQzNzAsIDAsIHsweDAxLDB4MWMsMHg4OCwweDY3LDB4MjAsMHgxMSwweGM4LDB4MDQsMHg3MiwweDAxLDB4NWMsMHg4MiwweDQ3LDB4MjIsMHgxMSwweGMwIH19LAotIHsxNiwgMHhkMzgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDIzLDB4MDgsMHg0OCwweGMyLDB4MTIsMHgzMSB9fSwKLSB7MTYsIDB4ZDM5MCwgMCwgezB4ODQsMHg4YywweDYxLDB4MjMsMHgxMCwweDQwLDB4YzAsMHgxMiwweDMxLDB4ODQsMHg4YywweDYxLDB4MDMsMHgxMCwweDQ4LDB4YzQgfX0sCi0gezE2LCAweGQzYTAsIDAsIHsweDEwLDB4MzEsMHg4NCwweDhjLDB4NDEsMHgyMywweDE4LDB4NDgsMHhjNiwweDEwLDB4MzAsMHgwNCwweDBjLDB4NDEsMHgyMywweDE4IH19LAotIHsxNiwgMHhkM2IwLCAwLCB7MHg0OCwweGM2LDB4MTIsMHgzMCwweDg0LDB4OGMsMHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDNjMCwgMCwgezB4MDAsMHgwMCwweDNmLDB4ZmYsMHg0ZiwweGZmLDB4ZDMsMHhmZiwweGY0LDB4ZmYsMHhmZCwweDNmLDB4ZmYsMHg0ZiwweGZmLDB4ZDMgfX0sCi0gezE2LCAweGQzZDAsIDAsIHsweGZmLDB4ZjQsMHhmZiwweGZkLDB4M2YsMHhmZiwweDRmLDB4ZmYsMHhkMywweGZmLDB4ZjQsMHhmZiwweGZkLDB4M2YsMHhmZiwweDRmIH19LAotIHsxNiwgMHhkM2UwLCAwLCB7MHhmZiwweGQzLDB4ZmYsMHhmNCwweGZmLDB4ZGQsMHgzZiwweGZmLDB4NGYsMHhmZiwweGQzLDB4ZmYsMHhmNCwweGZmLDB4ZmQsMHgwMCB9fSwKLSB7MTYsIDB4ZDNmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQ0MDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkNDEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDQyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQ0MzAsIDAsIHsweDAwLDB4MDAsMHgyYywweGRiLDB4MGIsMHgzNiwweGMyLDB4Y2QsMHhiMCwweGIzLDB4NmMsMHgyYywweGRiLDB4MGIsMHgzNiwweGMyIH19LAotIHsxNiwgMHhkNDQwLCAwLCB7MHhjZCwweGIwLDB4YjMsMHg2YywweDJjLDB4ZGIsMHgwYiwweDM2LDB4YzIsMHhjZCwweGIwLDB4YjMsMHg2YywweDJjLDB4ZGIsMHgwYiB9fSwKLSB7MTYsIDB4ZDQ1MCwgMCwgezB4MzYsMHhjMiwweGNkLDB4YjAsMHhiMywweDRjLDB4MmMsMHhkYiwweDBiLDB4MzYsMHhjMiwweGNkLDB4YjAsMHhiMywweDZjLDB4MDAgfX0sCi0gezE2LCAweGQ0NjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzMsMHg1YywweDRjLDB4ZDcsMHgxMywweDMzIH19LAotIHsxNiwgMHhkNDcwLCAwLCB7MHhjNCwweGNjLDB4ZjEsMHgzMywweDNhLDB4NGEsMHhkNiwweDkzLDB4MzMsMHhjNCwweGNjLDB4ZjEsMHgyYiwweDNhLDB4NGMsMHhjZiB9fSwKLSB7MTYsIDB4ZDQ4MCwgMCwgezB4MTMsMHgzMywweGM0LDB4Y2MsMHhlOSwweDMzLDB4M2MsMHg0YywweGNmLDB4MTIsMHhiNSwweGE0LDB4YWMsMHhjOSwweDMzLDB4M2MgfX0sCi0gezE2LCAweGQ0OTAsIDAsIHsweDRjLDB4Y2YsMHgxMywweDM1LDB4YzQsMHhjZCwweDY5LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkNGEwLCAwLCB7MHgwMCwweDAwLDB4M2IsMHg3ZSwweDRlLDB4ZGYsMHg5MywweGI3LDB4ZTQsMHhlZCwweGY5LDB4M2IsMHg3ZSwweDRlLDB4ZGYsMHg5MyB9fSwKLSB7MTYsIDB4ZDRiMCwgMCwgezB4YjcsMHhlNCwweGVkLDB4ZjksMHgzYiwweDdlLDB4NGUsMHhkZSwweDEyLDB4MzcsMHhlNCwweGVkLDB4ZTEsMHgzYiwweDdlLDB4NGUgfX0sCi0gezE2LCAweGQ0YzAsIDAsIHsweGRmLDB4OTIsMHgzMSwweDg0LDB4OGQsMHhkOSwweDNiLDB4N2UsMHg0ZSwweGRmLDB4OTMsMHhiMSwweGU0LDB4ZWMsMHg2MSwweDAwIH19LAotIHsxNiwgMHhkNGQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODQsMHgwNCwweGExLDB4ODMsMHgyYyB9fSwKLSB7MTYsIDB4ZDRlMCwgMCwgezB4MDMsMHgwYSwweDEwLDB4ODIsMHhjMSwweDM0LDB4MTAsMHg4ZiwweDAwLDB4NDAsMHgwOSwweDE0LDB4MDIsMHgwMywweDE0LDB4OTEgfX0sCi0gezE2LCAweGQ0ZjAsIDAsIHsweDAwLDB4MDgsMHg0MiwweDBiLDB4MTgsMHg4MiwweGM0LDB4MDAsMHgzMSwweGNhLDB4MGMsMHg1MiwweDAyLDB4MTAsMHg4MCwweDg1IH19LAotIHsxNiwgMHhkNTAwLCAwLCB7MHgwMCwweDIxLDB4ODIsMHgyOCwweDQwLDB4MGEsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDUxMCwgMCwgezB4MDAsMHgwMCwweDBhLDB4MDQsMHgwMiwweDAxLDB4NDAsMHg4MCwweDczLDB4MjgsMHgxMCwweDQ4LDB4MDcsMHgwNiwweDAxLDB4MDQgfX0sCi0gezE2LCAweGQ1MjAsIDAsIHsweGE0LDB4NDEsMHgyMSwweDE0LDB4MDgsMHg0NCwweDA2LDB4MTEsMHg0MCwweDgwLDB4NzAsMHgyMCwweDE0LDB4MGEsMHgwNCwweDAyIH19LAotIHsxNiwgMHhkNTMwLCAwLCB7MHgwMCwweGM4LDB4ODQsMHg0MSwweDIxLDB4MWMsMHgwOCwweDA2LDB4MTIsMHgwMSwweGMwLDB4ODAsMHg2MCwweDIwLDB4MTQsMHgwMCB9fSwKLSB7MTYsIDB4ZDU0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMiwweDg0LDB4MDQsMHgyMSwweDgyLDB4MDggfX0sCi0gezE2LCAweGQ1NTAsIDAsIHsweDUzLDB4MDIsMHgxMCwweDgwLDB4YzUsMHgwMCwweDgxLDB4NGEsMHgwNCwweDQyLDB4MDIsMHgxNCwweDAwLDB4MDQsMHgyMCwweDIxIH19LAotIHsxNiwgMHhkNTYwLCAwLCB7MHg4MCwweGE4LDB4NzIsMHgyMiwweDFjLDB4ODgsMHhjNCwweDA2LDB4YTEsMHg0MiwweDhjLDB4NTIsMHgyMiwweDFjLDB4ODgsMHg4NSB9fSwKLSB7MTYsIDB4ZDU3MCwgMCwgezB4MjYsMHgyMSwweGMwLDB4ODgsMHg1MCwweDIyLDB4MTgsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQ1ODAsIDAsIHsweDAwLDB4MDAsMHgwMiwweDQ0LDB4MDAsMHgwMSwweDAxLDB4MDAsMHg2MiwweDAwLDB4MTAsMHgwMCwweDA0LDB4MDAsMHgwMSwweDAxIH19LAotIHsxNiwgMHhkNTkwLCAwLCB7MHgyMCwweDQwLDB4MDAsMHgxYywweDAwLDB4NDQsMHgwNCwweDAxLDB4MDIsMHgyMCwweDYyLDB4MDAsMHgxYywweDgwLDB4MDQsMHgwNCB9fSwKLSB7MTYsIDB4ZDVhMCwgMCwgezB4ODAsMHg4OSwweDIwLDB4NTAsMHgwOCwweDE0LDB4ODAsMHgwNCwweDI0LDB4MDEsMHhjMSwweDAwLDB4NTAsMHgwMCwweDE4LDB4MDAgfX0sCi0gezE2LCAweGQ1YjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDIsMHg4MCwweDM4LDB4MjAsMHgwNCwweDBjIH19LAotIHsxNiwgMHhkNWMwLCAwLCB7MHgzMSwweDBhLDB4MDAsMHgwMCwweDAyLDB4MTgsMHgyMCwweDhjLDB4YTgsMHgxMCwweDI4LDB4MDgsMHg4OCwweGMxLDB4MTQsMHgxMCB9fSwKLSB7MTYsIDB4ZDVkMCwgMCwgezB4YzYsMHgwMCwweDIyLDB4MDMsMHgwOCwweDAyLDB4MDEsMHgwOCwweGIwLDB4MDAsMHgwYywweDIxLDB4MDIsMHgwMCwweDgyLDB4ODAgfX0sCi0gezE2LCAweGQ1ZTAsIDAsIHsweDA4LDB4MDAsMHg0OSwweDA4LDB4MDAsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkNWYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMSwweDAwLDB4ODAsMHgwOCwweDIwLDB4MDMsMHgwMCwweDA0LDB4MDIsMHg0MywweDIwLDB4MDAsMHg0MCB9fSwKLSB7MTYsIDB4ZDYwMCwgMCwgezB4MDAsMHgyMCwweDAwLDB4MDQsMHg0MiwweDAxLDB4MTAsMHg4MCwweDg0LDB4MjAsMHgxMSwweDA4LDB4MDQsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQ2MTAsIDAsIHsweDAwLDB4NDQsMHgyNCwweDIwLDB4MDksMHgwOCwweDQwLDB4MDMsMHgwMCwweDkwLDB4YzQsMHgyMCwweDIwLDB4MDgsMHgwYywweDAyIH19LAotIHsxNiwgMHhkNjIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwMCwweDA4LDB4ODEsMHgwOCwweDIwLDB4MDQsMHg4OCB9fSwKLSB7MTYsIDB4ZDYzMCwgMCwgezB4MDIsMHgyMiwweDA4LDB4MDgsMHhjMywweDJhLDB4OTAsMHg0MCwweDg0LDB4MTAsMHgyMCwweDA0LDB4ODAsMHhjMiwweDI2LDB4MjAgfX0sCi0gezE2LCAweGQ2NDAsIDAsIHsweDQ5LDB4ODgsMHgyMiwweDIyLDB4MGMsMHgwOCwweGMxLDB4MjYsMHhhMCwweGM5LDB4OGMsMHgxMiwweDJhLDB4MDQsMHg4OCwweDQzIH19LAotIHsxNiwgMHhkNjUwLCAwLCB7MHgwZSwweGEwLDB4Y2IsMHg4OCwweDEwLDB4MjIsMHgwYywweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDY2MCwgMCwgezB4MDgsMHgwMCwweDBhLDB4NDAsMHgzMiwweDAwLDB4MDEsMHg4MCwweDMxLDB4MjgsMHgwMCwweDAwLDB4MDEsMHgxMiwweDgwLDB4OGQgfX0sCi0gezE2LCAweGQ2NzAsIDAsIHsweDg0LDB4MDAsMHgyOCwweDBjLDB4MDgsMHgwMSwweDMyLDB4MDAsMHg4YywweDgwLDB4MDIsMHgyMCwweDBjLDB4MDgsMHgwMSwweDJlIH19LAotIHsxNiwgMHhkNjgwLCAwLCB7MHgwMCwweGMzLDB4ODAsMHgwMiwweDIwLDB4MDQsMHgwOCwweDQzLDB4MDIsMHgwMCwweDQwLDB4ODAsMHgxMCwweDIwLDB4MDQsMHgwMiB9fSwKLSB7MTYsIDB4ZDY5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDAsMHgwOCwweDg3LDB4MGEsMHgyMSwweDA0LDB4ODggfX0sCi0gezE2LCAweGQ2YTAsIDAsIHsweDExLDB4MmEsMHgxYywweDBhLDB4MDYsMHgyMiwweDIxLDB4NDAsMHhhMCwweDQyLDB4MmEsMHgxMCwweDg4LDB4ODUsMHgwYSwweGExIH19LAotIHsxNiwgMHhkNmIwLCAwLCB7MHgwNiwweGE0LDB4NjIsMHgyMiwweDFjLDB4MGEsMHhjNCwweDAyLDB4MjEsMHg4MCwweDhjLDB4NTIsMHgyMiwweDE0LDB4NDgsMHg4NiB9fSwKLSB7MTYsIDB4ZDZjMCwgMCwgezB4MjIsMHgyMCwweDA4LDB4YTgsMHg2MCwweDJhLDB4MTQsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQ2ZDAsIDAsIHsweDAwLDB4MDAsMHgwOCwweDQ1LDB4MDYsMHgwMSwweDg5LDB4ODAsMHg2MywweDIwLDB4MWMsMHg4OCwweDQwLDB4MzQsMHgxMSwweDAxIH19LAotIHsxNiwgMHhkNmUwLCAwLCB7MHhhNCwweDUwLDB4MjgsMHgxOCwweDQ4LDB4MDQsMHgwZSwweDAxLDB4NGIsMHg4MCwweDczLDB4MjgsMHgxYywweDhhLDB4MDQsMHgwNiB9fSwKLSB7MTYsIDB4ZDZmMCwgMCwgezB4OTEsMHg0OSwweDA0LDB4NjMsMHgyMCwweDFjLDB4OGEsMHgwNiwweDI2LDB4MDEsMHg4NSwweDgwLDB4NzAsMHgyMCwweDE4LDB4MDIgfX0sCi0gezE2LCAweGQ3MDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDAwLDB4MDAsMHg4NSwweDAwLDB4YjEsMHg0NSwweDJjIH19LAotIHsxNiwgMHhkNzEwLCAwLCB7MHg3MCwweDAyLDB4MTQsMHhjMCwweDA3LDB4MDgsMHgyMSwweDQ5LDB4MDAsMHg0MiwweDAxLDB4MTQsMHg4MiwweDA1LDB4MDAsMHgxMSB9fSwKLSB7MTYsIDB4ZDcyMCwgMCwgezB4ODQsMHgwMCwweDUyLDB4MDIsMHgxYywweDAwLDB4YzQsMHgwMCwweDIxLDB4YzQsMHgyYywweDUzLDB4MDIsMHgxYywweDAyLDB4ODEgfX0sCi0gezE2LCAweGQ3MzAsIDAsIHsweDA0LDB4YTEsMHhjZCwweDA4LDB4NTAsMHgwMiwweDE0LDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkNzQwLCAwLCB7MHgwOCwweDEwLDB4MTIsMHgwNCwweDM0LDB4MDEsMHhjYywweDAwLDB4NzMsMHg0MCwweDFjLDB4OTAsMHg0NSwweDA0LDB4MDEsMHg0OCB9fSwKLSB7MTYsIDB4ZDc1MCwgMCwgezB4MDQsMHg2MCwweDQxLDB4MTgsMHhjMCwweDQ0LDB4MDQsMHgwMSwweDA1LDB4MDQsMHg3MywweDQ4LDB4MTQsMHg1MCwweDQ3LDB4MzQgfX0sCi0gezE2LCAweGQ3NjAsIDAsIHsweDAxLDB4NDUsMHgyMCwweDYyLDB4MDgsMHgxYywweGMyLDB4MDQsMHgwYywweDgxLDB4YzcsMHgwMCwweDczLDB4ODAsMHgxOCwweGMyIH19LAotIHsxNiwgMHhkNzcwLCAwLCB7MHgwNCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwMCwweDEwLDB4ODQsMHgxMCwweDIxLDB4Y2MsMHgyOCB9fSwKLSB7MTYsIDB4ZDc4MCwgMCwgezB4NDIsMHgwMiwweDE0LDB4MTIsMHhjNSwweDEwLDB4MjEsMHg4NCwweDA0LDB4NDAsMHgwMCwweDFjLDB4ODAsMHg4NCwweDAwLDB4OTEgfX0sCi0gezE2LCAweGQ3OTAsIDAsIHsweDAwLDB4MDgsMHg3MywweDgyLDB4MWMsMHg5MCwweDA1LDB4MGMsMHgwMSwweGNmLDB4MGMsMHg0MCwweDAyLDB4MTQsMHgzMCwweDQ1IH19LAotIHsxNiwgMHhkN2EwLCAwLCB7MHgyMCwweGExLDB4YzAsMHgwOCwweDUwLDB4MDIsMHgxMCwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDdiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4NDUsMHgwYywweDgxLDB4MDAsMHgwMCwweDAxLDB4MDgsMHgwOCwweDAwLDB4MDUsMHgxOCwweDkxLDB4MDUgfX0sCi0gezE2LCAweGQ3YzAsIDAsIHsweDA0LDB4MDAsMHgwMSwweDA0LDB4NDAsMHgwNiwweDE4LDB4MDAsMHgwMiwweDI0LDB4NzAsMHg0MCwweDA0LDB4MDAsMHg0MCwweDAwIH19LAotIHsxNiwgMHhkN2QwLCAwLCB7MHgwMSwweGM0LDB4MjQsMHgwMCwweDg4LDB4MDQsMHgwMCwweDQzLDB4MTAsMHgwMCwweDQwLDB4MjAsMHgwMCwweDg4LDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDdlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxMiwweDg1LDB4MjQsMHgzMSwweDAyLDB4MGMgfX0sCi0gezE2LCAweGQ3ZjAsIDAsIHsweDAyLDB4YzIsMHgwNCwweDEwLDB4YzQsMHgyOCwweDIxLDB4NDksMHgwYywweDAyLDB4YzAsMHgwNCwweGIyLDB4MDYsMHgxYywweDIwIH19LAotIHsxNiwgMHhkODAwLCAwLCB7MHgwMywweDA4LDB4NTAsMHg0MiwweDBjLDB4ODAsMHgwMSwweDA0LDB4YTEsMHg0OSwweDBjLDB4MDAsMHhjMiwweDBjLDB4MTAsMHg0MyB9fSwKLSB7MTYsIDB4ZDgxMCwgMCwgezB4MjQsMHhhMCwweGMxLDB4MDgsMHgxMCwweDQyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQ4MjAsIDAsIHsweDAwLDB4MTAsMHhhMiwweDAwLDB4MjAsMHgwMCwweGNkLDB4MDAsMHgwMCwweDQwLDB4MDQsMHgyMCwweDAxLDB4MTAsMHgwMCwweDA5IH19LAotIHsxNiwgMHhkODMwLCAwLCB7MHgwNCwweDAyLDB4NDksMHgwYywweDkyLDB4MDcsMHgzMCwweDAwLDB4MDAsMHgwMCwweDMzLDB4MDgsMHgwYywweDkyLDB4NDEsMHgwMCB9fSwKLSB7MTYsIDB4ZDg0MCwgMCwgezB4ODAsMHhjYywweDAwLDB4MDAsMHgwMCwweDBjLDB4MDAsMHg0MywweDI4LDB4ODAsMHhjMiwweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQ4NTAsIDAsIHsweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzAsMHgxMCwweDUwLDB4ODAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkODYwLCAwLCB7MHgxMCwweDAwLDB4MDAsMHhmMCwweDAwLDB4MTAsMHg4MCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDAsMHhkMCwweDgwLDB4ODAsMHgwMCB9fSwKLSB7MTYsIDB4ZDg3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4ODAsMHgxMCwweDkwLDB4ODAsMHg4MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgxMCwweDkwLDB4ODAgfX0sCi0gezE2LCAweGQ4ODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDEwLDB4ODAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkODkwLCAwLCB7MHgzYywweDNjLDB4MTAsMHg4MCwweDgwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDEwLDB4OTAsMHhhMCwweDgwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDhhMCwgMCwgezB4MDAsMHgwMCwweDQwLDB4MTAsMHg5MCwweDgwLDB4YTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MTAsMHg5MCwweDgwLDB4YTAgfX0sCi0gezE2LCAweGQ4YjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDIwLDB4ODAsMHgxMCwweDkwLDB4YTAsMHhhMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgxMCwweDhmIH19LAotIHsxNiwgMHhkOGMwLCAwLCB7MHgwZiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDJjLDB4YzIsMHhlNCwweDgxLDB4ODAsMHgzZiB9fSwKLSB7MTYsIDB4ZDhkMCwgMCwgezB4ZDksMHhiZiwweGQ5LDB4OTgsMHg3MSwweDlkLDB4NDIsMHg4MCwweDAwLDB4MjYsMHg3ZiwweGU2LDB4NzIsMHhhYiwweDdjLDB4M2EgfX0sCi0gezE2LCAweGQ4ZTAsIDAsIHsweDQwLDB4MDAsMHgxOSwweDgwLDB4MjYsMHg0OCwweGRkLDB4M2MsMHg5MSwweGMwLDB4MjYsMHg0MCwweDI2LDB4NDAsMHgzOCwweDMxIH19LAotIHsxNiwgMHhkOGYwLCAwLCB7MHhkYiwweDYxLDB4YzAsMHgxOSwweDk5LDB4YmYsMHhjOSwweDgwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDkwMCwgMCwgezB4MDAsMHgwMCwweDEwLDB4ODAsMHgxMCwweDE0LDB4ODAsMHgwNiwweDg0LDB4OTcsMHg5NiwweDg2LDB4OTYsMHgwNiwweDkwLDB4MDAgfX0sCi0gezE2LCAweGQ5MTAsIDAsIHsweDNmLDB4YTEsMHgyOCwweDAxLDB4MDIsMHg5MCwweDEyLDB4MDAsMHg4MCwweDE3LDB4ODgsMHgxNiwweDllLDB4OTAsMHg5MCwweDA0IH19LAotIHsxNiwgMHhkOTIwLCAwLCB7MHgxMCwweDAwLDB4MzYsMHhiZSwweGJlLDB4OWUsMHg4NiwweDE2LDB4MTIsMHg4NCwweDgwLDB4MTMsMHhiZSwweDk3LDB4YWUsMHg4MCB9fSwKLSB7MTYsIDB4ZDkzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4ODIgfX0sCi0gezE2LCAweGQ5NDAsIDAsIHsweDgxLDB4ODQsMHgyMSwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHhhMSwweDM4LDB4MDEsMHg3OCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkOTUwLCAwLCB7MHgwOCwweGI4LDB4MjEsMHg3MiwweDY4LDB4ODAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDk4LDB4NDQsMHg4OCwweDY4LDB4ODAsMHgwMCB9fSwKLSB7MTYsIDB4ZDk2MCwgMCwgezB4MDAsMHgwMCwweDA4LDB4YjgsMHgwMSwweDc4LDB4MDEsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQ5NzAsIDAsIHsweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGY3LDB4YWYsMHhmZiwweGMwIH19LAotIHsxNiwgMHhkOTgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGZmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiB9fSwKLSB7MTYsIDB4ZDk5MCwgMCwgezB4ZmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGJmLDB4ZmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQ5YTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4ZmYsMHhjMCwweDAwIH19LAotIHsxNiwgMHhkOWIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHg3ZiwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHhmZiB9fSwKLSB7MTYsIDB4ZDljMCwgMCwgezB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGZmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYgfX0sCi0gezE2LCAweGQ5ZDAsIDAsIHsweDJmLDB4ZmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkOWUwLCAwLCB7MHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4ZmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4N2YsMHhjMCB9fSwKLSB7MTYsIDB4ZDlmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYgfX0sCi0gezE2LCAweGRhMDAsIDAsIHsweGZmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweDdmLDB4ODAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkYTEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGZmLDB4YzAsMHgwMCB9fSwKLSB7MTYsIDB4ZGEyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGJmLDB4YmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhkZiwweGJmLDB4ZGYgfX0sCi0gezE2LCAweGRhMzAsIDAsIHsweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGVmLDB4ZmYsMHhmZiwweDgwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGRmIH19LAotIHsxNiwgMHhkYTQwLCAwLCB7MHhmZiwweGZmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZGE1MCwgMCwgezB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGZmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4M2UsMHhhZiwweGZmLDB4YzAgfX0sCi0gezE2LCAweGRhNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MWYsMHhmZiwweGRmLDB4ZmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhlNywweGZlIH19LAotIHsxNiwgMHhkYTcwLCAwLCB7MHhlZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHhkZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZGE4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHhmZiwweGMwLDB4MDAgfX0sCi0gezE2LCAweGRhOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGZmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDJmLDB4ZjcsMHhmZiwweGZmIH19LAotIHsxNiwgMHhkYWEwLCAwLCB7MHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MmYsMHhmZiwweGZmLDB4ZGYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmNyB9fSwKLSB7MTYsIDB4ZGFiMCwgMCwgezB4ZGYsMHhmNywweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGRhYzAsIDAsIHsweDAwLDB4MDAsMHgwMiwweGM0LDB4MDAsMHhiMSwweGMzLDB4MmMsMHg1MCwweDA5LDB4MTQsMHg4MiwweGM0LDB4MzAsMHg5MSwweGM3IH19LAotIHsxNiwgMHhkYWQwLCAwLCB7MHgyNCwweDYwLDB4MDgsMHgxYywweDgyLDB4MDcsMHgzNCwweDkxLDB4NGMsMHgwNCwweDQzLDB4MGEsMHgxMCwweGMyLDB4ODQsMHgwNCB9fSwKLSB7MTYsIDB4ZGFlMCwgMCwgezB4OTEsMHg4NCwweDI0LDB4NTIsMHgwYiwweDE4LDB4MDIsMHhjNCwweDI0LDB4YjEsMHhjMywweDJjLDB4NDAsMHgwYSwweDEwLDB4ODAgfX0sCi0gezE2LCAweGRhZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweDAyLDB4MDEsMHhjNCwweDgwIH19LAotIHsxNiwgMHhkYjAwLCAwLCB7MHg2MCwweDIwLDB4MWMsMHgwOCwweDQ0LDB4MjIsMHgwMSwweGMwLDB4ODQsMHg1MCwweDAxLDB4OWMsMHgwOCwweDA3LDB4MGEsMHgwMSB9fSwKLSB7MTYsIDB4ZGIxMCwgMCwgezB4YzAsMHg4NCwweDcyLDB4MjAsMHgxYywweGM4LDB4MDQsMHgxMiwweDExLDB4NDQsMHg4MCwweDQxLDB4MDEsMHgxYywweDgwLDB4MDcgfX0sCi0gezE2LCAweGRiMjAsIDAsIHsweDA4LDB4MTEsMHhjNCwweDAwLDB4NzAsMHgwMCwweDEwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkYjMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHg4NiwweDJjLDB4MjEsMHg0YSwweDBjLDB4NTIsMHgwMiwweDFjLDB4ODAsMHgwNCwweDIwLDB4MjEsMHhjYSB9fSwKLSB7MTYsIDB4ZGI0MCwgMCwgezB4MTAsMHg2MiwweDAyLDB4MWMsMHg4MSwweDQ3LDB4MDQsMHgyMSwweGMzLDB4MjAsMHg1MSwweDAxLDB4MWMsMHg4MCwweDA0LDB4MmMgfX0sCi0gezE2LCAweGRiNTAsIDAsIHsweDAxLDB4Y2IsMHgwNCwweDUyLDB4MDMsMHgxNCwweDQwLDB4YzcsMHgyMCwweDMxLDB4YzgsMHgwYywweDUwLDB4MjIsMHgxMCwweDgwIH19LAotIHsxNiwgMHhkYjYwLCAwLCB7MHgwMSwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDYsMHgyMCwweDAxLDB4ODksMHgwMCB9fSwKLSB7MTYsIDB4ZGI3MCwgMCwgezB4NTIsMHgwMCwweDE0LDB4ODAsMHgwNCwweDI4LDB4MDEsMHg0NSwweDA0LDB4NjIsMHgwMCwweDEwLDB4ODAsMHg0NiwweDMwLDB4MTEgfX0sCi0gezE2LCAweGRiODAsIDAsIHsweDBkLDB4MDAsMHg0MiwweDAxLDB4MTQsMHhjMCwweDQ0LDB4MDAsMHgxMSwweDA1LDB4MDAsMHg1MCwweDAwLDB4MWMsMHgwMCwweDQ0IH19LAotIHsxNiwgMHhkYjkwLCAwLCB7MHgyOCwweDAxLDB4NDksMHgwMCwweDcwLDB4MDAsMHgxMCwweDgwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZGJhMCwgMCwgezB4MDAsMHgwMCwweDA4LDB4YzAsMHgwMiwweDMwLDB4MGMsMHg4YywweDMwLDB4MjIsMHgwOCwweDg4LDB4YzIsMHgyNiwweDAwLDB4MDggfX0sCi0gezE2LCAweGRiYjAsIDAsIHsweDgwLDB4MjAsMHgyMiwweDBjLDB4ODgsMHg4MSwweDAyLDB4MTAsMHhjNCwweDgwLDB4MTAsMHgyMiwweDBjLDB4MDgsMHg0MCwweDAyIH19LAotIHsxNiwgMHhkYmMwLCAwLCB7MHgxMCwweDQ4LDB4ODgsMHgwMSwweDIzLDB4MDQsMHhjOCwweDQyLDB4MDIsMHgxMCwweDQ2LDB4OGMsMHgxMiwweDIyLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZGJkMCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDAsMHgwMiwweDAwLDB4MDAsMHg4MCwweGM4LDB4MjAgfX0sCi0gezE2LCAweGRiZTAsIDAsIHsweDExLDB4MDksMHgwMCwweDgwLDB4NDEsMHgxMCwweDkwLDB4MDgsMHgyNCwweDMwLDB4MDgsMHgwNCwweDQyLDB4NDEsMHgwMCwweDkwIH19LAotIHsxNiwgMHhkYmYwLCAwLCB7MHhjNCwweDIwLDB4MDAsMHgwOCwweDA0LDB4NDIsMHgwMCwweDEwLDB4ODAsMHg0YywweDIwLDB4MjMsMHgwOSwweDA0LDB4YzIsMHg0MyB9fSwKLSB7MTYsIDB4ZGMwMCwgMCwgezB4MzAsMHg4MCwweDQwLDB4MjAsMHgxMSwweDA4LDB4MDAsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGRjMTAsIDAsIHsweDA4LDB4MDAsMHgwOCwweDgxLDB4MDIsMHgyMCwweGM5LDB4OGMsMHgxMiwweDIwLDB4MDQsMHg0OCwweDQxLDB4MjIsMHgwMCwweDA5IH19LAotIHsxNiwgMHhkYzIwLCAwLCB7MHg4OCwweDMwLDB4MjAsMHgwYywweDg4LDB4MDMsMHgwZSwweDAwLDB4NDksMHg4YywweDEwLDB4MjIsMHgwYywweDg4LDB4NDAsMHgyZSB9fSwKLSB7MTYsIDB4ZGMzMCwgMCwgezB4MDAsMHhjOSwweDg0LDB4MTMsMHgyMSwweDA0LDB4YzgsMHhjMywweDIyLDB4MDAsMHhjYiwweDhjLDB4MzIsMHgyMiwweDAwLDB4MDAgfX0sCi0gezE2LCAweGRjNDAsIDAsIHsweDA0LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDAwLDB4MDgsMHgwMSwweDAyLDB4MDAsMHg0YiwweDgwIH19LAotIHsxNiwgMHhkYzUwLCAwLCB7MHgzMiwweDIxLDB4MDgsMHg4OCwweDQxLDB4MDIsMHgxMCwweDBmLDB4ODAsMHgxMCwweDIxLDB4OGMsMHgwOCwweDQxLDB4MDIsMHgwMCB9fSwKLSB7MTYsIDB4ZGM2MCwgMCwgezB4ODcsMHg4NCwweDEwLDB4MjAsMHgwNCwweDg4LDB4MDAsMHgwMiwweDAwLDB4NDcsMHg4MCwweDEwLDB4MjEsMHgwYywweDg4LDB4NDEgfX0sCi0gezE2LCAweGRjNzAsIDAsIHsweDE2LDB4MTAsMHg0NiwweDgwLDB4MzAsMHgyMCwweDAwLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkYzgwLCAwLCB7MHgwMCwweDAwLDB4MGEsMHhjNCwweDIyLDB4YTEsMHgwOCwweGE0LDB4NzIsMHgyYSwweDE0LDB4MGEsMHg4NSwweDAyLDB4ODEsMHg4NCB9fSwKLSB7MTYsIDB4ZGM5MCwgMCwgezB4YTAsMHg0MiwweDI4LDB4MWMsMHgwYSwweGM1LDB4MDIsMHg5MSwweDQwLDB4YjgsMHg3MywweDI5LDB4MTAsMHhjYSwweGM0LDB4MDIgfX0sCi0gezE2LCAweGRjYTAsIDAsIHsweGExLDB4ODAsMHhhNCwweDQyLDB4MmEsMHgxNCwweGNhLDB4ODUsMHgyMiwweDkxLDB4ODAsMHhhOCwweDcwLDB4MmEsMHgxOCwweDAyIH19LAotIHsxNiwgMHhkY2IwLCAwLCB7MHgwMCwweDgwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwMCwweDA4LDB4MDQsMHgxZSwweDAxLDB4YzgsMHg4MCB9fSwKLSB7MTYsIDB4ZGNjMCwgMCwgezB4NDMsMHgyMCwweDE4LDB4MDgsMHg0NSwweDNlLDB4MDEsMHgwYywweDgwLDB4NjEsMHgyMCwweDljLDB4NDgsMHgwNiwweDEyLDB4ODEgfX0sCi0gezE2LCAweGRjZDAsIDAsIHsweGMwLDB4ODAsMHg3MywweDAwLDB4MTAsMHg4OCwweDA2LDB4MDIsMHgwMSwweGM4LDB4MDAsMHg0MiwweDIwLDB4MTAsMHhjOCwweDA3IH19LAotIHsxNiwgMHhkY2UwLCAwLCB7MHgwMiwweDExLDB4Y2QsMHg4MCwweDUxLDB4MjAsMHgxNCwweDgyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZGNmMCwgMCwgezB4MDgsMHgwMCwweDAwLDB4YzQsMHgyNCwweDIxLDB4YzgsMHgwYywweDQyLDB4MDEsMHgxNCwweDAwLDB4MDAsMHgyOCwweDEwLDB4NGMgfX0sCi0gezE2LCAweGRkMDAsIDAsIHsweDA4LDB4NTIsMHgwMiwweDE0LDB4ODAsMHg0NSwweDI0LDB4MjksMHg0MCwweDA0LDB4NzIsMHgwMCwweDEwLDB4YzAsMHgwNSwweDI0IH19LAotIHsxNiwgMHhkZDEwLCAwLCB7MHgxMSwweDQ0LDB4MDgsMHg0MywweDAxLDB4MTQsMHhjMCwweDQ3LDB4MjQsMHgyMCwweDQ4LDB4MDgsMHg3MiwweDAyLDB4MTAsMHgwMCB9fSwKLSB7MTYsIDB4ZGQyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHgwMCwweDA3LDB4MTAsMHgxMSwweDA2LDB4MDAgfX0sCi0gezE2LCAweGRkMzAsIDAsIHsweDcyLDB4MDAsMHgxOCwweGQwLDB4NDYsMHgyMCwweDAxLDB4NGQsMHgwMCwweDcxLDB4NDAsMHgxMCwweDUwLDB4MDcsMHgzMCwweDExIH19LAotIHsxNiwgMHhkZDQwLCAwLCB7MHhjMywweDAwLDB4NzEsMHg0MSwweDEwLDB4YjAsMHgwNSwweDJjLDB4MDEsMHg0OSwweDAwLDB4NDMsMHgwMCwweDFjLDB4NTAsMHg0NSB9fSwKLSB7MTYsIDB4ZGQ1MCwgMCwgezB4MzAsMHgwMSwweDhjLDB4MDAsMHg2MSwweDQwLDB4MTgsMHg0MiwweDA0LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGRkNjAsIDAsIHsweDAwLDB4MDAsMHgzMCwweGM1LDB4MDAsMHgyMSwweGMwLDB4MGMsMHg0MCwweDAxLDB4MTQsMHgxMiwweDQ0LDB4MDQsMHgzMSwweDg0IH19LAotIHsxNiwgMHhkZDcwLCAwLCB7MHgyNCwweDQwLDB4ODAsMHgxNCwweGExLDB4YzcsMHgwMCwweDAxLDB4NDAsMHgwOCwweDQwLDB4MDEsMHgxNCwweDIwLDB4MDUsMHgyMCB9fSwKLSB7MTYsIDB4ZGQ4MCwgMCwgezB4MTEsMHhjMCwweDAyLDB4NjAsMHg4MiwweDE4LDB4MDAsMHg4NywweDI0LDB4MTEsMHg0MCwweDA4LDB4NDAsMHg0MiwweDEwLDB4MDIgfX0sCi0gezE2LCAweGRkOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDIsMHgwMCwweDBjLDB4ODAsMHhjNCwweDI0IH19LAotIHsxNiwgMHhkZGEwLCAwLCB7MHgzMSwweDQ4LDB4MGMsMHgwMCwweDAxLDB4MDgsMHhjMSwweDQxLDB4MDAsMHgwMCwweDQ5LDB4MDAsMHg0MiwweDAzLDB4MDgsMHgxMCB9fSwKLSB7MTYsIDB4ZGRiMCwgMCwgezB4ODAsMHgyMCwweDIxLDB4MDksMHgwYywweDAyLDB4MDIsMHgxOCwweDgwLDB4YzEsMHgyNCwweDMwLDB4MDgsMHgwYywweDQyLDB4MDEgfX0sCi0gezE2LCAweGRkYzAsIDAsIHsweDEwLDB4ODAsMHg4MywweDIwLDB4MTEsMHgwOCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkZGQwLCAwLCB7MHgwMCwweDAwLDB4MTAsMHhjMSwweDA0LDB4MjAsMHg0OCwweDBjLDB4MTIsMHg0MiwweDA0LDB4MDAsMHg4MywweDAwLDB4MzEsMHg0OCB9fSwKLSB7MTYsIDB4ZGRlMCwgMCwgezB4MDAsMHgwMiwweDQxLDB4MDQsMHhhMCwweDA3LDB4MGMsMHgyMCwweDQwLDB4MDAsMHgxMiwweGMyLDB4MGMsMHg4MCwweGMxLDB4MjAgfX0sCi0gezE2LCAweGRkZjAsIDAsIHsweDIwLDB4YzgsMHgwMCwweDEyLDB4YzEsMHgwYywweGIwLDB4NDEsMHgyMCwweDAwLDB4NDksMHgwOCwweDAyLDB4NDIsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkZTAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxMCwweDgwLDB4MDEsMHgwMCwweDEwLDB4ODEsMHgwMCB9fSwKLSB7MTYsIDB4ZGUxMCwgMCwgezB4MzAsMHg0MCwweDA4LDB4MjAsMHgwMywweDAwLDB4MTAsMHhjMSwweDIwLDB4MDIsMHgwMCwweDA0LDB4ODAsMHg0MCwweDMwLDB4OTAgfX0sCi0gezE2LCAweGRlMjAsIDAsIHsweDAxLDB4MTQsMHgwMiwweDQwLDB4MDQsMHg4MCwweDQwLDB4MjAsMHgwMCwweDA5LDB4MDQsMHgzMiwweDAxLDB4MDgsMHhhMCwweDAzIH19LAotIHsxNiwgMHhkZTMwLCAwLCB7MHgwNCwweDEwLDB4MDgsMHgwMCwweDIyLDB4NDAsMHgwMCwweDAwLDB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZGU0MCwgMCwgezB4MDAsMHgwMCwweDMwLDB4MDAsMHgxMCwweDgwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwMCwweGYwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGRlNTAsIDAsIHsweDAwLDB4MTAsMHg4MCwweDAwLDB4ZjAsMHgwMCwweDgwLDB4ODAsMHgwMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4ZjAsMHgxMCwweGEwIH19LAotIHsxNiwgMHhkZTYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHhmMCwweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgyMCwweDgwLDB4MDAsMHhjYyB9fSwKLSB7MTYsIDB4ZGU3MCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNjLDB4M2MsMHgxMCwweGEwLDB4ODAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGRlODAsIDAsIHsweDAwLDB4MDAsMHgxMCwweDkwLDB4ODAsMHhjMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxMCwweDkwLDB4ODAsMHg4MCwweDAwIH19LAotIHsxNiwgMHhkZTkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDEwLDB4OTAsMHg4MCwweDgwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDEwLDB4OTAsMHg4MCB9fSwKLSB7MTYsIDB4ZGVhMCwgMCwgezB4ZTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTAsMHg4YywweDA4LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGRlYjAsIDAsIHsweDAwLDB4MDAsMHgwOSwweDRkLDB4YjEsMHhlOSwweDAwLDB4MjYsMHg0MCwweDJhLDB4N2YsMHhlMywweGYyLDB4NTQsMHg5OCwweGMwIH19LAotIHsxNiwgMHhkZWMwLCAwLCB7MHgzZiwweGU2LDB4NDAsMHgwMCwweDAxLDB4NDIsMHg5MSwweGQwLDB4YzAsMHgxMywweGU1LDB4ODcsMHg2MywweDgzLDB4YjgsMHhjZCB9fSwKLSB7MTYsIDB4ZGVkMCwgMCwgezB4ZjksMHgwMCwweDI2LDB4N2YsMHgwMCwweDAwLDB4MzUsMHgyZSwweGQ1LDB4MDMsMHg0MCwweDNmLDB4ZDksMHhiZiwweGIxLDB4ODAgfX0sCi0gezE2LCAweGRlZTAsIDAsIHsweDAxLDB4ZjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDQsMHgwMiwweDE2LDB4MTQsMHgwMCwweDFjIH19LAotIHsxNiwgMHhkZWYwLCAwLCB7MHhhOCwweDNmLDB4ODgsMHgxNiwweDAwLDB4ODAsMHg4NCwweDgwLDB4MzcsMHg5ZSwweGJhLDB4YTAsMHg1MCwweDEwLDB4MDIsMHgxMiB9fSwKLSB7MTYsIDB4ZGYwMCwgMCwgezB4MDAsMHgxNywweDk2LDB4OTcsMHgyNiwweDUwLDB4MTAsMHgxMCwweDgyLDB4ODAsMHgxZSwweDgwLDB4ZGUsMHhiZSwweDk0LDB4MTQgfX0sCi0gezE2LCAweGRmMTAsIDAsIHsweDAyLDB4MTAsMHg4MCwweDE3LDB4YmUsMHg4MSwweDk0LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkZjIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweGE4LDB4NDQsMHg5NCwweDI4LDB4ODAsMHgwMCwweDAwLDB4MDAsMHgwOCB9fSwKLSB7MTYsIDB4ZGYzMCwgMCwgezB4OTQsMHgyMSwweDQ0LDB4NTEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4ODQsMHg0MiwweDQxLDB4MDEsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGRmNDAsIDAsIHsweDAwLDB4MDgsMHhhMSwweDcyLDB4MjMsMHg0MSwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHhiOCwweDAxLDB4NzgsMHgzMiwweDQwIH19LAotIHsxNiwgMHhkZjUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGZmLDB4YzAsMHgwMCB9fSwKLSB7MTYsIDB4ZGY2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4M2YsMHhmNywweGZlLDB4ZDcsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGQ3LDB4ZGYgfX0sCi0gezE2LCAweGRmNzAsIDAsIHsweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4N2YsMHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzNywweDdmIH19LAotIHsxNiwgMHhkZjgwLCAwLCB7MHhmZiwweGZmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZGY5MCwgMCwgezB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGZmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDFlLDB4ZmYsMHhkZSwweDc3LDB4YzAgfX0sCi0gezE2LCAweGRmYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MWYsMHhlZiwweGZmLDB4ZmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmIH19LAotIHsxNiwgMHhkZmIwLCAwLCB7MHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHg3ZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZGZjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHhmZiwweGMwLDB4MDAgfX0sCi0gezE2LCAweGRmZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDFmLDB4Y2YsMHhkZiwweGZmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGJmIH19LAotIHsxNiwgMHhkZmUwLCAwLCB7MHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4YmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiB9fSwKLSB7MTYsIDB4ZGZmMCwgMCwgezB4ZmYsMHhiZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUwMDAsIDAsIHsweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHhmZiwweGMwIH19LAotIHsxNiwgMHhlMDEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGZmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDFmLDB4ZmYsMHgxZiB9fSwKLSB7MTYsIDB4ZTAyMCwgMCwgezB4N2YsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MmYsMHhkZiwweGZmLDB4Y2YsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUwMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4ZmYsMHhjMCwweDAwIH19LAotIHsxNiwgMHhlMDQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgzZiwweGJmLDB4YWYsMHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHhmZiB9fSwKLSB7MTYsIDB4ZTA1MCwgMCwgezB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNlLDB4ZGUsMHg3ZiwweGZmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYgfX0sCi0gezE2LCAweGUwNjAsIDAsIHsweGZmLDB4ZjcsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMDcwLCAwLCB7MHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4ZmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHg3ZiwweGZmLDB4ZmYsMHhjMCB9fSwKLSB7MTYsIDB4ZTA4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZlLDB4YmUgfX0sCi0gezE2LCAweGUwOTAsIDAsIHsweDdmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNlLDB4ZmYsMHhkNywweDdmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMGEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTBiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUwYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMGQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTBlMCwgMCwgezB4MzAsMHgwMCwweDIwLDB4MDEsMHgwMiwweDAwLDB4MDAsMHgwMCwweDMwLDB4MDAsMHg0MywweDhlLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUwZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMTAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTExMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUxMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMTMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTE0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUxNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMTYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTE3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUxODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMTkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTFhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUxYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMWMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTFkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUxZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMWYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTIwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUyMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMjIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTIzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUyNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMjUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTI2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUyNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMjgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTI5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUyYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMmIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTJjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUyZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMmUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTJmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUzMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMzEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTMyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUzMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMzQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTM1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUzNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMzcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTM4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUzOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlM2EwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTNiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUzYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlM2QwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTNlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUzZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNDAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTQxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU0MjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNDMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTQ0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU0NTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNDYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTQ3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU0ODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNDkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTRhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU0YjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNGMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTRkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU0ZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNGYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTUwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU1MTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNTIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTUzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU1NDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNTUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTU2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU1NzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNTgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTU5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU1YTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNWIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTVjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU1ZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNWUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTVmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU2MDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNjEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTYyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU2MzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNjQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTY1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU2NjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNjcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTY4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU2OTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNmEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTZiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU2YzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNmQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTZlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU2ZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNzAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTcxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU3MjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNzMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTc0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU3NTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNzYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTc3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU3ODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNzkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTdhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU3YjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlN2MwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTdkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU3ZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlN2YwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTgwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU4MTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlODIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTgzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU4NDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlODUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTg2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU4NzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlODgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTg5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU4YTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlOGIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZThjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU4ZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlOGUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZThmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU5MDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlOTEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTkyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU5MzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlOTQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTk1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU5NjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlOTcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTk4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU5OTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlOWEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTliMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU5YzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlOWQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTllMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU5ZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlYTAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWExMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVhMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlYTMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWE0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVhNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlYTYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWE3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVhODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlYTkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWFhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVhYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlYWMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWFkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVhZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlYWYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWIwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGViMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlYjIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWIzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGViNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlYjUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWI2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGViNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlYjgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWI5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGViYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlYmIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWJjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGViZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlYmUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWJmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVjMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlYzEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWMyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVjMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlYzQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWM1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVjNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlYzcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWM4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVjOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlY2EwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWNiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVjYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlY2QwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWNlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVjZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlZDAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWQxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVkMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlZDMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWQ0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVkNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlZDYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWQ3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVkODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlZDkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWRhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVkYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlZGMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWRkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVkZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlZGYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWUwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVlMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlZTIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWUzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVlNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlZTUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWU2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVlNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlZTgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWU5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVlYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlZWIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWVjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVlZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlZWUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWVmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVmMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlZjEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWYyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgzMCwweDAwLDB4MjAsMHgwMSwweDAyLDB4MDIsMHgwMCwweDAwLDB4MzAsMHgwMCwweDQzLDB4ODAgfX0sCi0gezE2LCAweGVmMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlZjQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWY1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVmNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlZjcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWY4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVmOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlZmEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWZiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVmYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlZmQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWZlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVmZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMDAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjAxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYwMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMDMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjA0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYwNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMDYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjA3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYwODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMDkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjBhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYwYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMGMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjBkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYwZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMGYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjEwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYxMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMTIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjEzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYxNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMTUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjE2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYxNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMTgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjE5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYxYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMWIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjFjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYxZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMWUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjFmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYyMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMjEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjIyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYyMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMjQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjI1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYyNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMjcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjI4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYyOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMmEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjJiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYyYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMmQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjJlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYyZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMzAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjMxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYzMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMzMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjM0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYzNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMzYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjM3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYzODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMzkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjNhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYzYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmM2MwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjNkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYzZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmM2YwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjQwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY0MTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNDIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjQzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY0NDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNDUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjQ2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY0NzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNDgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjQ5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY0YTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNGIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjRjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY0ZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNGUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjRmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY1MDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNTEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjUyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY1MzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNTQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjU1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY1NjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNTcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjU4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY1OTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNWEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjViMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY1YzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNWQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjVlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY1ZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNjAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjYxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY2MjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNjMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjY0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY2NTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNjYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjY3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY2ODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNjkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjZhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY2YjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNmMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjZkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY2ZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNmYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjcwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY3MTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNzIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjczMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY3NDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNzUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Zjc2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY3NzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNzgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Zjc5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY3YTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmN2IwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjdjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY3ZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmN2UwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjdmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY4MDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmODEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjgyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY4MzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmODQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Zjg1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY4NjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmODcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Zjg4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY4OTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmOGEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjhiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY4YzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmOGQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjhlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY4ZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmOTAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjkxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY5MjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmOTMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Zjk0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY5NTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmOTYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Zjk3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY5ODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmOTkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjlhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY5YjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmOWMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjlkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY5ZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmOWYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmEwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZhMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmYTIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmEzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZhNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmYTUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmE2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZhNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmYTgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmE5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZhYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmYWIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmFjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZhZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmYWUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmFmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZiMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmYjEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmIyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZiMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmYjQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmI1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZiNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmYjcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmI4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZiOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmYmEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmJiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZiYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmYmQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmJlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZiZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmYzAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmMxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZjMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmYzMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmM0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZjNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmYzYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmM3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZjODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmYzkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmNhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZjYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmY2MwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmNkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZjZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmY2YwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmQwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZkMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmZDIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmQzMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDEsMHgwMCwweDAwLDB4NWYsMHhhNywweDMwLDB4MDAsMHg4MCwweDAxLDB4MDAsMHgwMCwweDAwLDB4MDMgfX0sCi0gezE2LCAweGZkNDAsIDAsIHsweDMwLDB4MDAsMHg0MCwweDBlLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmZDUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmQ2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZkNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDMwLDB4MDAsMHg4MCwweDAxIH19LAotIHsxNiwgMHhmZDgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwNSwweDMwLDB4MDAsMHhhMCwweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMSB9fSwKLSB7MTYsIDB4ZmQ5MCwgMCwgezB4MDAsMHgwMCwweDZiLDB4OTcsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezQsIDB4ZmRhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezAgLCAweDAwMDAsIDEsIHswfX0KLX07Ci0vLyBWRVJTSU9OPSAxLjAuMC4xOTEKLS8vIERBVEU9IDIwMDJvY3QyOAotc3RhdGljIElOVEVMX0hFWF9SRUNPUkQgZ19IZXhTcGRpZkZ3NjJbXSA9IHsKLSAgezMsMHgwMDAwLDAsezB4MDIsMHg0NSwweGY5fX0sCi0geyAzLDB4MDAwMywwLHsweDAyLDB4MGYsMHhmZH19LAotIHsgMywweDAwMGIsMCx7MHgwMiwweDRkLDB4OWJ9fSwKLSB7IDMsMHgwMDEzLDAsezB4MDIsMHgxNywweGZkfX0sCi0geyAzLDB4MDAxYiwwLHsweDAyLDB4NGQsMHg5ZX19LAotIHsgMywweDAwMjMsMCx7MHgwMiwweDRkLDB4NzV9fSwKLSB7IDMsMHgwMDJiLDAsezB4MDIsMHg0NiwweGY3fX0sCi0geyAzLDB4MDAzMywwLHsweDAyLDB4NGQsMHg2Y319LAotIHsgMywweDAwM2IsMCx7MHgwMiwweDRkLDB4N2N9fSwKLSB7IDMsMHgwMDQzLDAsezB4MDIsMHg0OSwweDAwfX0sCi0geyAzLDB4MDA0YiwwLHsweDAyLDB4NGQsMHg4Zn19LAotIHsgMywweDAwNTMsMCx7MHgwMiwweDRkLDB4ODN9fSwKLSB7IDMsMHgwMDViLDAsezB4MDIsMHg0ZCwweDg5fX0sCi0geyAzLDB4MDA2MywwLHsweDAyLDB4NGQsMHg5M319LAotIHsxNiwweDA1MDAsMCx7MHgxMiwweDAxLDB4MTAsMHgwMSwweDAwLDB4MDAsMHgwMCwweDQwLDB4NmEsMHgwOCwweDExLDB4MDEsMHgwMCwweDAxLDB4MDEsMHgwMn19LAotIHsxNiwweDA1MTAsMCx7MHgwMCwweDAxLDB4MDksMHgwMiwweGFjLDB4MDEsMHgwMywweDAxLDB4MDAsMHg4MCwweDMyLDB4MDksMHgwNCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDA1MjAsMCx7MHgwMSwweDAxLDB4MDAsMHgwMCwweDBhLDB4MjQsMHgwMSwweDAwLDB4MDEsMHg1NiwweDAwLDB4MDIsMHgwMSwweDAyLDB4MGMsMHgyNH19LAotIHsxNiwweDA1MzAsMCx7MHgwMiwweDAxLDB4MDEsMHgwMSwweDAwLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4MjQsMHgwNiwweDA1LDB4MDEsMHgwMn19LAotIHsxNiwweDA1NDAsMCx7MHgwMywweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA5LDB4MjQsMHgwMywweDAyLDB4MDQsMHgwMywweDAwLDB4MDUsMHgwMH19LAotIHsxNiwweDA1NTAsMCx7MHgwYywweDI0LDB4MDIsMHgwMywweDA1LDB4MDIsMHgwMCwweDA2LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxNSwweDI0LDB4MDYsMHgwNn19LAotIHsxNiwweDA1NjAsMCx7MHgwMywweDAyLDB4MDAsMHgwMCwweDAzLDB4MDAsMHgwMywweDAwLDB4MDMsMHgwMCwweDAzLDB4MDAsMHgwMywweDAwLDB4MDMsMHgwMH19LAotIHsxNiwweDA1NzAsMCx7MHgwMCwweDA5LDB4MjQsMHgwMywweDA0LDB4MDEsMHgwMSwweDAwLDB4MDYsMHgwMCwweDA5LDB4MDQsMHgwMSwweDAwLDB4MDAsMHgwMX19LAotIHsxNiwweDA1ODAsMCx7MHgwMiwweDAwLDB4MDAsMHgwOSwweDA0LDB4MDEsMHgwMSwweDAyLDB4MDEsMHgwMiwweDAwLDB4MDAsMHgwNywweDI0LDB4MDEsMHgwMX19LAotIHsxNiwweDA1OTAsMCx7MHgwMCwweDAxLDB4MDAsMHgxMSwweDI0LDB4MDIsMHgwMSwweDAyLDB4MDIsMHgxMCwweDAzLDB4NDQsMHhhYywweDAwLDB4ODAsMHhiYn19LAotIHsxNiwweDA1YTAsMCx7MHgwMCwweDAwLDB4NzcsMHgwMSwweDA5LDB4MDUsMHgwYSwweDA1LDB4ODQsMHgwMSwweDAxLDB4MDAsMHg4ZiwweDA3LDB4MjUsMHgwMX19LAotIHsxNiwweDA1YjAsMCx7MHgwMSwweDAwLDB4MDAsMHgwMCwweDA5LDB4MDUsMHg4ZiwweDAxLDB4MDMsMHgwMCwweDAxLDB4MDUsMHgwMCwweDA5LDB4MDQsMHgwMX19LAotIHsxNiwweDA1YzAsMCx7MHgwMiwweDAyLDB4MDEsMHgwMiwweDAwLDB4MDAsMHgwNywweDI0LDB4MDEsMHgwMSwweDAwLDB4MDEsMHgwMCwweDExLDB4MjQsMHgwMn19LAotIHsxNiwweDA1ZDAsMCx7MHgwMSwweDAyLDB4MDMsMHgxOCwweDAzLDB4NDQsMHhhYywweDAwLDB4ODAsMHhiYiwweDAwLDB4MDAsMHg3NywweDAxLDB4MDksMHgwNX19LAotIHsxNiwweDA1ZTAsMCx7MHgwYSwweDA1LDB4NDYsMHgwMiwweDAxLDB4MDAsMHg4ZiwweDA3LDB4MjUsMHgwMSwweDAxLDB4MDAsMHgwMCwweDAwLDB4MDksMHgwNX19LAotIHsxNiwweDA1ZjAsMCx7MHg4ZiwweDAxLDB4MDMsMHgwMCwweDAxLDB4MDUsMHgwMCwweDA5LDB4MDQsMHgwMiwweDAwLDB4MDAsMHgwMSwweDAyLDB4MDAsMHgwMH19LAotIHsxNiwweDA2MDAsMCx7MHgwOSwweDA0LDB4MDIsMHgwMSwweDAxLDB4MDEsMHgwMiwweDAwLDB4MDAsMHgwNywweDI0LDB4MDEsMHgwNCwweDAwLDB4MDEsMHgwMH19LAotIHsxNiwweDA2MTAsMCx7MHgwZSwweDI0LDB4MDIsMHgwMSwweDA2LDB4MDIsMHgxMCwweDAyLDB4NDQsMHhhYywweDAwLDB4ODAsMHhiYiwweDAwLDB4MDksMHgwNX19LAotIHsxNiwweDA2MjAsMCx7MHg4YywweDA1LDB4NGMsMHgwMiwweDAxLDB4MDAsMHgwMCwweDA3LDB4MjUsMHgwMSwweDAwLDB4MDIsMHgwMCwweDAwLDB4MDksMHgwNH19LAotIHsxNiwweDA2MzAsMCx7MHgwMiwweDAyLDB4MDEsMHgwMSwweDAyLDB4MDAsMHgwMCwweDA3LDB4MjQsMHgwMSwweDA0LDB4MDAsMHgwMSwweDAwLDB4MGUsMHgyNH19LAotIHsxNiwweDA2NDAsMCx7MHgwMiwweDAxLDB4MDYsMHgwMywweDE4LDB4MDIsMHg0NCwweGFjLDB4MDAsMHg4MCwweGJiLDB4MDAsMHgwOSwweDA1LDB4OGMsMHgwNX19LAotIHsxNiwweDA2NTAsMCx7MHg3MiwweDAzLDB4MDEsMHgwMCwweDAwLDB4MDcsMHgyNSwweDAxLDB4MDAsMHgwMiwweDAwLDB4MDAsMHgwOSwweDA0LDB4MDIsMHgwM319LAotIHsxNiwweDA2NjAsMCx7MHgwMSwweDAxLDB4MDIsMHgwMCwweDAwLDB4MDcsMHgyNCwweDAxLDB4MDQsMHgwMCwweDAxLDB4MDAsMHgxMSwweDI0LDB4MDIsMHgwMX19LAotIHsxNiwweDA2NzAsMCx7MHgwMiwweDAyLDB4MTAsMHgwMywweDQ0LDB4YWMsMHgwMCwweDgwLDB4YmIsMHgwMCwweDAwLDB4NzcsMHgwMSwweDA5LDB4MDUsMHg4Y319LAotIHsxNiwweDA2ODAsMCx7MHgwNSwweDg0LDB4MDEsMHgwMSwweDAwLDB4MDAsMHgwNywweDI1LDB4MDEsMHgwMCwweDAyLDB4MDAsMHgwMCwweDA5LDB4MDQsMHgwMn19LAotIHsxNiwweDA2OTAsMCx7MHgwNCwweDAxLDB4MDEsMHgwMiwweDAwLDB4MDAsMHgwNywweDI0LDB4MDEsMHgwNCwweDAwLDB4MDEsMHgwMCwweDExLDB4MjQsMHgwMn19LAotIHsxNiwweDA2YTAsMCx7MHgwMSwweDAyLDB4MDMsMHgxOCwweDAzLDB4NDQsMHhhYywweDAwLDB4ODAsMHhiYiwweDAwLDB4MDAsMHg3NywweDAxLDB4MDksMHgwNX19LAotIHsxNiwweDA2YjAsMCx7MHg4YywweDA1LDB4NDYsMHgwMiwweDAxLDB4MDAsMHgwMCwweDA3LDB4MjUsMHgwMSwweDAwLDB4MDIsMHgwMCwweDAwLDB4MDQsMHgwM319LAotIHsxNiwweDA2YzAsMCx7MHgwOSwweDA0LDB4MTgsMHgwMywweDQ1LDB4MDAsMHg2ZCwweDAwLDB4NjEsMHgwMCwweDY3LDB4MDAsMHg2OSwweDAwLDB4NjMsMHgwMH19LAotIHsxNiwweDA2ZDAsMCx7MHgyMCwweDAwLDB4NDcsMHgwMCwweDZkLDB4MDAsMHg2MiwweDAwLDB4NDgsMHgwMCwweDIyLDB4MDMsMHg0NSwweDAwLDB4NmQsMHgwMH19LAotIHsxNiwweDA2ZTAsMCx7MHg2MSwweDAwLDB4NjcsMHgwMCwweDY5LDB4MDAsMHg2MywweDAwLDB4MjAsMHgwMCwweDQ1LDB4MDAsMHg0ZCwweDAwLDB4NDksMHgwMH19LAotIHsxNiwweDA2ZjAsMCx7MHgyMCwweDAwLDB4MzYsMHgwMCwweDdjLDB4MDAsMHgzMiwweDAwLDB4MjAsMHgwMCwweDZkLDB4MDAsMHgyYSwweDAzLDB4NDMsMHgwMH19LAotIHsxNiwweDA3MDAsMCx7MHg2ZiwweDAwLDB4NmUsMHgwMCwweDY2LDB4MDAsMHg2OSwweDAwLDB4NjcsMHgwMCwweDc1LDB4MDAsMHg3MiwweDAwLDB4NjEsMHgwMH19LAotIHsxNiwweDA3MTAsMCx7MHg3NCwweDAwLDB4NjksMHgwMCwweDZmLDB4MDAsMHg2ZSwweDAwLDB4MjAsMHgwMCwweDUzLDB4MDAsMHg3NCwweDAwLDB4NzIsMHgwMH19LAotIHsxNiwweDA3MjAsMCx7MHg2OSwweDAwLDB4NmUsMHgwMCwweDY3LDB4MDAsMHgyMiwweDAzLDB4NDksMHgwMCwweDZlLDB4MDAsMHg3NCwweDAwLDB4NjUsMHgwMH19LAotIHsxNiwweDA3MzAsMCx7MHg3MiwweDAwLDB4NjYsMHgwMCwweDYxLDB4MDAsMHg2MywweDAwLDB4NjUsMHgwMCwweDIwLDB4MDAsMHg1MywweDAwLDB4NzQsMHgwMH19LAotIHsxMCwweDA3NDAsMCx7MHg3MiwweDAwLDB4NjksMHgwMCwweDZlLDB4MDAsMHg2NywweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDA3NGEsMCx7MHg5MCwweDc2LDB4OWEsMHg3NCwweDAyLDB4ZjAsMHhlNCwweDkwLDB4NzYsMHg5MSwweGYwLDB4YTMsMHhmMCwweDkwLDB4NzYsMHg5MH19LAotIHsxNiwweDA3NWEsMCx7MHhmMCwweDkwLDB4NzYsMHg5MywweGYwLDB4OTAsMHg3NiwweDk2LDB4NzQsMHgwMywweGYwLDB4OTAsMHg4MCwweDAzLDB4ZjAsMHhlNH19LAotIHsxNiwweDA3NmEsMCx7MHg5MCwweDc2LDB4OTcsMHhmMCwweDkwLDB4ODAsMHgwMiwweGYwLDB4OTAsMHg3NiwweDk0LDB4MDQsMHhmMCwweDkwLDB4ODAsMHgwMH19LAotIHsxNiwweDA3N2EsMCx7MHhmMCwweGU0LDB4OTAsMHg3NiwweDhlLDB4ZjAsMHg5MCwweDc2LDB4MWEsMHhmMCwweDkwLDB4NzYsMHg5NSwweDA0LDB4ZjAsMHhjMn19LAotIHsxNiwweDA3OGEsMCx7MHgyZSwweDkwLDB4N2YsMHg5YiwweGUwLDB4ZmYsMHg1NCwweDEwLDB4ZmYsMHg3MCwweDAyLDB4YzIsMHgzZiwweDkwLDB4N2YsMHg5Yn19LAotIHsxNiwweDA3OWEsMCx7MHhlMCwweGZmLDB4NTQsMHgxMCwweGZlLDB4ZmYsMHhiZSwweDEwLDB4MDIsMHhkMiwweDNmLDB4OTAsMHg3ZiwweDliLDB4ZTAsMHhmZn19LAotIHsxNiwweDA3YWEsMCx7MHg1NCwweDIwLDB4ZmYsMHg3MCwweDAyLDB4YzIsMHgzZSwweDkwLDB4N2YsMHg5YiwweGUwLDB4ZmYsMHg1NCwweDIwLDB4ZmUsMHhmZn19LAotIHsxNiwweDA3YmEsMCx7MHhiZSwweDIwLDB4MDIsMHhkMiwweDNlLDB4MzAsMHgzZiwweDA5LDB4OTAsMHg3NiwweDk3LDB4ZTAsMHg1NCwweGZlLDB4ZjAsMHg4MH19LAotIHsxNiwweDA3Y2EsMCx7MHgwNywweDkwLDB4NzYsMHg5NywweGUwLDB4NDQsMHgwMSwweGYwLDB4OTAsMHg3NiwweDk3LDB4ZTAsMHg5MCwweDgwLDB4MDIsMHhmMH19LAotIHsxNiwweDA3ZGEsMCx7MHgzMCwweDNlLDB4MDksMHg5MCwweDc2LDB4OTUsMHhlMCwweDQ0LDB4MDQsMHhmMCwweDgwLDB4MDcsMHg5MCwweDc2LDB4OTUsMHhlMH19LAotIHsxNiwweDA3ZWEsMCx7MHg1NCwweGZiLDB4ZjAsMHg5MCwweDc2LDB4OTUsMHhlMCwweDkwLDB4ODAsMHgwMSwweGYwLDB4YTIsMHgzZSwweDkyLDB4NDAsMHhhMn19LAotIHsgMywweDA3ZmEsMCx7MHgzZiwweDkyLDB4NDF9fSwKLSB7IDEsMHgwN2ZkLDAsezB4MjJ9fSwKLSB7IDIsMHgwN2ZlLDAsezB4ZDMsMHgyMn19LAotIHsxNiwweDA4MDAsMCx7MHhlNCwweDkwLDB4NzYsMHgzMSwweGYwLDB4OTAsMHg3NiwweDMxLDB4ZTAsMHhmZiwweDc1LDB4ZjAsMHgwMywweGE0LDB4MjQsMHgwZn19LAotIHsxNiwweDA4MTAsMCx7MHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4ZmUsMHg5MCwweDdmLDB4ZWQsMHhlMCwweGZkLDB4ZWUsMHg2ZH19LAotIHsxNiwweDA4MjAsMCx7MHg2MCwweDBlLDB4ZWYsMHhjMywweDk0LDB4MGIsMHg1MCwweDA4LDB4OTAsMHg3NiwweDMxLDB4ZTAsMHgwNCwweGYwLDB4ODAsMHhkNX19LAotIHsxNiwweDA4MzAsMCx7MHhlZiwweGI0LDB4MGIsMHgwOCwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHhlZiwweDc1LDB4ZjAsMHgwM319LAotIHsxNiwweDA4NDAsMCx7MHhhNCwweDI0LDB4MGUsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4OTAsMHg3NiwweDMzLDB4ZjAsMHgyNH19LAotIHsxNiwweDA4NTAsMCx7MHhmMCwweDYwLDB4MGEsMHgyNCwweDBlLDB4NjAsMHgwMiwweDgxLDB4ODcsMHgxMiwweDRiLDB4M2UsMHgyMiwweDkwLDB4N2YsMHhlZH19LAotIHsxNiwweDA4NjAsMCx7MHhlMCwweDY0LDB4MDUsMHg3MCwweDUxLDB4OTAsMHg3NiwweDE4LDB4NzQsMHgwNSwweGYwLDB4OTAsMHg3NiwweDM3LDB4NzQsMHgwMX19LAotIHsxNiwweDA4NzAsMCx7MHhmMCwweDkwLDB4NzYsMHgzOSwweDc0LDB4MDMsMHhmMCwweDkwLDB4NzYsMHgyMSwweGYwLDB4ZTQsMHg5MCwweDc2LDB4MjAsMHhmMH19LAotIHsxNiwweDA4ODAsMCx7MHg5MCwweDdmLDB4ZWEsMHhlMCwweGY0LDB4NjAsMHgyZiwweDkwLDB4NzYsMHgyMCwweGUwLDB4ZmYsMHg3NSwweGYwLDB4MGEsMHhhNH19LAotIHsxNiwweDA4OTAsMCx7MHgyNCwweGFhLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweGZlLDB4OTAsMHg3ZiwweGVhLDB4ZTAsMHhmZH19LAotIHsxNiwweDA4YTAsMCx7MHhlZSwweDZkLDB4NjAsMHgxMiwweDkwLDB4NzYsMHgyMSwweGUwLDB4ZmUsMHhlZiwweGMzLDB4OWUsMHg1MCwweDA4LDB4OTAsMHg3Nn19LAotIHsxNiwweDA4YjAsMCx7MHgyMCwweGUwLDB4MDQsMHhmMCwweDgwLDB4ZDEsMHg5MCwweDdmLDB4ZWQsMHhlMCwweDY0LDB4MDYsMHg3MCwweDUyLDB4OTAsMHg3Nn19LAotIHsxNiwweDA4YzAsMCx7MHgxOCwweDc0LDB4MDYsMHhmMCwweDkwLDB4NzYsMHgzNywweDc0LDB4MDQsMHhmMCwweDkwLDB4NzYsMHgzOSwweDc0LDB4MGEsMHhmMH19LAotIHsxNiwweDA4ZDAsMCx7MHg5MCwweDc2LDB4MjEsMHhmMCwweDkwLDB4NzYsMHgyMCwweDc0LDB4MDMsMHhmMCwweDkwLDB4N2YsMHhlYSwweGUwLDB4ZjQsMHg2MH19LAotIHsxNiwweDA4ZTAsMCx7MHgyZiwweDkwLDB4NzYsMHgyMCwweGUwLDB4ZmYsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWEsMHhmNSwweDgyLDB4ZTQsMHgzNH19LAotIHsxNiwweDA4ZjAsMCx7MHg3NSwweGY1LDB4ODMsMHhlMCwweGZlLDB4OTAsMHg3ZiwweGVhLDB4ZTAsMHhmZCwweGVlLDB4NmQsMHg2MCwweDEyLDB4OTAsMHg3Nn19LAotIHsxNiwweDA5MDAsMCx7MHgyMSwweGUwLDB4ZmUsMHhlZiwweGMzLDB4OWUsMHg1MCwweDA4LDB4OTAsMHg3NiwweDIwLDB4ZTAsMHgwNCwweGYwLDB4ODAsMHhkMX19LAotIHsxNiwweDA5MTAsMCx7MHg5MCwweDc2LDB4MjAsMHhlMCwweGZmLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGFhLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NX19LAotIHsxNiwweDA5MjAsMCx7MHhmNSwweDgzLDB4ZTAsMHg5MCwweDcyLDB4MjksMHhmMCwweGU0LDB4OTAsMHg3NiwweDNiLDB4ZjAsMHg5MCwweDc2LDB4MjEsMHhlMH19LAotIHsxNiwweDA5MzAsMCx7MHhmZSwweGVmLDB4NmUsMHg3MCwweDA4LDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhlYn19LAotIHsxNiwweDA5NDAsMCx7MHhlMCwweDE0LDB4NjAsMHgxMywweDE0LDB4NzAsMHgwMiwweDIxLDB4ZTIsMHgyNCwweDAyLDB4NjAsMHgwMiwweDgxLDB4N2YsMHg5MH19LAotIHsxNiwweDA5NTAsMCx7MHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhlOSwweGUwLDB4MTQsMHg3MCwweDdjLDB4OTAsMHg3Zn19LAotIHsxNiwweDA5NjAsMCx7MHhlYSwweGUwLDB4ZjQsMHg3MCwweDQ4LDB4OTAsMHg3NiwweDM3LDB4ZTAsMHg5MCwweDc2LDB4MjAsMHhmMCwweDkwLDB4NzYsMHgzOX19LAotIHsxNiwweDA5NzAsMCx7MHhlMCwweGZlLDB4OTAsMHg3NiwweDIwLDB4ZTAsMHhmZCwweGMzLDB4OWUsMHg1MCwweDJiLDB4OTAsMHg3NiwweDNiLDB4ZTAsMHhmZX19LAotIHsxNiwweDA5ODAsMCx7MHgwNCwweGYwLDB4NzQsMHhjMCwweDJlLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3ZSwweGY1LDB4ODMsMHhlMCwweGZlLDB4ZWQsMHg3NX19LAotIHsxNiwweDA5OTAsMCx7MHhmMCwweDBhLDB4YTQsMHgyNCwweGFiLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlZSwweGYwLDB4OTAsMHg3Nn19LAotIHsxNiwweDA5YTAsMCx7MHgyMCwweGUwLDB4MDQsMHhmMCwweDgwLDB4YzcsMHg5MCwweDc2LDB4M2YsMHg3NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4N2UsMHhjMH19LAotIHsxNiwweDA5YjAsMCx7MHhlMCwweGZlLDB4ZWYsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWIsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4M319LAotIHsxNiwweDA5YzAsMCx7MHhlZSwweGYwLDB4ZTAsMHhiNCwweDAxLDB4MDgsMHg5MCwweDc2LDB4M2UsMHg3NCwweDAxLDB4ZjAsMHg4MCwweDA1LDB4ZTQsMHg5MH19LAotIHsxNiwweDA5ZDAsMCx7MHg3NiwweDNlLDB4ZjAsMHg5MCwweDc2LDB4M2YsMHg3NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMX19LAotIHsxNiwweDA5ZTAsMCx7MHhmMCwweDIyLDB4OTAsMHg3ZiwweGU5LDB4ZTAsMHgyNCwweGZlLDB4NzAsMHgwMiwweDQxLDB4YTMsMHgxNCwweDcwLDB4MDIsMHg2MX19LAotIHsxNiwweDA5ZjAsMCx7MHgzZiwweDE0LDB4NzAsMHgwMiwweDYxLDB4ZGIsMHgyNCwweDAzLDB4NjAsMHgwMiwweDgxLDB4NzcsMHg5MCwweDdmLDB4ZWEsMHhlMH19LAotIHsxNiwweDBhMDAsMCx7MHhmNCwweDcwLDB4NmIsMHg5MCwweDc2LDB4MzcsMHhlMCwweDkwLDB4NzYsMHgyMCwweGYwLDB4OTAsMHg3NiwweDM5LDB4ZTAsMHhmZn19LAotIHsxNiwweDBhMTAsMCx7MHg5MCwweDc2LDB4MjAsMHhlMCwweGZlLDB4YzMsMHg5ZiwweDUwLDB4NGUsMHg5MCwweDc2LDB4M2IsMHhlMCwweGZmLDB4MDQsMHhmMH19LAotIHsxNiwweDBhMjAsMCx7MHg3NCwweGMwLDB4MmYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDdlLDB4ZjUsMHg4MywweGUwLDB4ZmYsMHhlZSwweDc1LDB4ZjAsMHgwYX19LAotIHsxNiwweDBhMzAsMCx7MHhhNCwweDI0LDB4YWMsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGVmLDB4ZjAsMHg5MCwweDc2LDB4M2IsMHhlMH19LAotIHsxNiwweDBhNDAsMCx7MHhmZiwweDA0LDB4ZjAsMHg3NCwweGMwLDB4MmYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDdlLDB4ZjUsMHg4MywweGUwLDB4ZmYsMHhlZX19LAotIHsxNiwweDBhNTAsMCx7MHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWQsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGVmLDB4ZjAsMHg5MH19LAotIHsxNiwweDBhNjAsMCx7MHg3NiwweDIwLDB4ZTAsMHgwNCwweGYwLDB4ODAsMHhhNCwweDkwLDB4NzYsMHg0MCwweDc0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3ZX19LAotIHsxNiwweDBhNzAsMCx7MHhjMCwweGUwLDB4ZmYsMHg5MCwweDc2LDB4MjAsMHhlMCwweGZlLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGFjLDB4ZjUsMHg4Mn19LAotIHsxNiwweDBhODAsMCx7MHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZWYsMHhmMCwweDkwLDB4N2UsMHhjMSwweGUwLDB4ZmYsMHhlZSwweDc1LDB4ZjAsMHgwYX19LAotIHsxNiwweDBhOTAsMCx7MHhhNCwweDI0LDB4YWQsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGVmLDB4ZjAsMHg5MCwweDc2LDB4NDEsMHg3NH19LAotIHsxNiwweDBhYTAsMCx7MHgwMSwweGYwLDB4MjIsMHg5MCwweDdmLDB4ZWEsMHhlMCwweGY0LDB4NzAsMHg2NiwweDkwLDB4NzYsMHgzNywweGUwLDB4OTAsMHg3Nn19LAotIHsxNiwweDBhYjAsMCx7MHgyMCwweGYwLDB4OTAsMHg3NiwweDM5LDB4ZTAsMHhmZiwweDkwLDB4NzYsMHgyMCwweGUwLDB4ZmUsMHhjMywweDlmLDB4NDAsMHgwMn19LAotIHsxNiwweDBhYzAsMCx7MHg4MSwweDhlLDB4OTAsMHg3NiwweDNiLDB4ZTAsMHhmZiwweDA0LDB4ZjAsMHg3NCwweGMwLDB4MmYsMHhmNSwweDgyLDB4ZTQsMHgzNH19LAotIHsxNiwweDBhZDAsMCx7MHg3ZSwweGY1LDB4ODMsMHhlMCwweGZmLDB4ZWUsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWUsMHhmNSwweDgyLDB4ZTQsMHgzNH19LAotIHsxNiwweDBhZTAsMCx7MHg3NSwweGY1LDB4ODMsMHhlZiwweGYwLDB4OTAsMHg3NiwweDNiLDB4ZTAsMHhmZiwweDA0LDB4ZjAsMHg3NCwweGMwLDB4MmYsMHhmNX19LAotIHsxNiwweDBhZjAsMCx7MHg4MiwweGU0LDB4MzQsMHg3ZSwweGY1LDB4ODMsMHhlMCwweGZmLDB4ZWUsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWYsMHhmNX19LAotIHsxNiwweDBiMDAsMCx7MHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlZiwweGYwLDB4OTAsMHg3NiwweDIwLDB4ZTAsMHgwNCwweGYwLDB4ODAsMHhhMn19LAotIHsxNiwweDBiMTAsMCx7MHg5MCwweDdlLDB4YzAsMHhlMCwweGZmLDB4OTAsMHg3NiwweDIwLDB4ZTAsMHhmZSwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhZX19LAotIHsxNiwweDBiMjAsMCx7MHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGVmLDB4ZjAsMHg5MCwweDdlLDB4YzEsMHhlMCwweGZmLDB4ZWUsMHg3NX19LAotIHsxNiwweDBiMzAsMCx7MHhmMCwweDBhLDB4YTQsMHgyNCwweGFmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlZiwweGYwLDB4MjIsMHg5MH19LAotIHsxNiwweDBiNDAsMCx7MHg3ZiwweGVhLDB4ZTAsMHhmNCwweDcwLDB4NjYsMHg5MCwweDc2LDB4MzcsMHhlMCwweDkwLDB4NzYsMHgyMCwweGYwLDB4OTAsMHg3Nn19LAotIHsxNiwweDBiNTAsMCx7MHgzOSwweGUwLDB4ZmYsMHg5MCwweDc2LDB4MjAsMHhlMCwweGZlLDB4YzMsMHg5ZiwweDQwLDB4MDIsMHg4MSwweDhlLDB4OTAsMHg3Nn19LAotIHsxNiwweDBiNjAsMCx7MHgzYiwweGUwLDB4ZmYsMHgwNCwweGYwLDB4NzQsMHhjMCwweDJmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3ZSwweGY1LDB4ODMsMHhlMH19LAotIHsxNiwweDBiNzAsMCx7MHhmZiwweGVlLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGIwLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlZn19LAotIHsxNiwweDBiODAsMCx7MHhmMCwweDkwLDB4NzYsMHgzYiwweGUwLDB4ZmYsMHgwNCwweGYwLDB4NzQsMHhjMCwweDJmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3ZX19LAotIHsxNiwweDBiOTAsMCx7MHhmNSwweDgzLDB4ZTAsMHhmZiwweGVlLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGIxLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NX19LAotIHsxNiwweDBiYTAsMCx7MHhmNSwweDgzLDB4ZWYsMHhmMCwweDkwLDB4NzYsMHgyMCwweGUwLDB4MDQsMHhmMCwweDgwLDB4YTIsMHg5MCwweDdlLDB4YzAsMHhlMH19LAotIHsxNiwweDBiYjAsMCx7MHhmZiwweDkwLDB4NzYsMHgyMCwweGUwLDB4ZmUsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YjAsMHhmNSwweDgyLDB4ZTQsMHgzNH19LAotIHsxNiwweDBiYzAsMCx7MHg3NSwweGY1LDB4ODMsMHhlZiwweGYwLDB4OTAsMHg3ZSwweGMxLDB4ZTAsMHhmZiwweGVlLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNH19LAotIHsxNiwweDBiZDAsMCx7MHhiMSwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZWYsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGVhLDB4ZTAsMHhmNH19LAotIHsxNiwweDBiZTAsMCx7MHg3MCwweDY2LDB4OTAsMHg3NiwweDM3LDB4ZTAsMHg5MCwweDc2LDB4MjAsMHhmMCwweDkwLDB4NzYsMHgzOSwweGUwLDB4ZmYsMHg5MH19LAotIHsxNiwweDBiZjAsMCx7MHg3NiwweDIwLDB4ZTAsMHhmZSwweGMzLDB4OWYsMHg0MCwweDAyLDB4ODEsMHg4ZSwweDkwLDB4NzYsMHgzYiwweGUwLDB4ZmYsMHgwNH19LAotIHsxNiwweDBjMDAsMCx7MHhmMCwweDc0LDB4YzAsMHgyZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4N2UsMHhmNSwweDgzLDB4ZTAsMHhmZiwweGVlLDB4NzUsMHhmMH19LAotIHsxNiwweDBjMTAsMCx7MHgwYSwweGE0LDB4MjQsMHhiMiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZWYsMHhmMCwweDkwLDB4NzYsMHgzYn19LAotIHsxNiwweDBjMjAsMCx7MHhlMCwweGZmLDB4MDQsMHhmMCwweDc0LDB4YzAsMHgyZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4N2UsMHhmNSwweDgzLDB4ZTAsMHhmZn19LAotIHsxNiwweDBjMzAsMCx7MHhlZSwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhiMywweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZWYsMHhmMH19LAotIHsxNiwweDBjNDAsMCx7MHg5MCwweDc2LDB4MjAsMHhlMCwweDA0LDB4ZjAsMHg4MCwweGEyLDB4OTAsMHg3ZSwweGMwLDB4ZTAsMHhmZiwweDkwLDB4NzYsMHgyMH19LAotIHsxNiwweDBjNTAsMCx7MHhlMCwweGZlLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGIyLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlZn19LAotIHsxNiwweDBjNjAsMCx7MHhmMCwweDkwLDB4N2UsMHhjMSwweGUwLDB4ZmYsMHhlZSwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhiMywweGY1LDB4ODIsMHhlNH19LAotIHsxNiwweDBjNzAsMCx7MHgzNCwweDc1LDB4ZjUsMHg4MywweGVmLDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MH19LAotIHsxNSwweDBjODAsMCx7MHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjJ9fSwKLSB7MTYsMHgwYzhmLDAsezB4NDEsMHg3NiwweDY4LDB4MDEsMHg0MSwweDc2LDB4NmEsMHgwMiwweDQxLDB4NzYsMHg2YiwweDBhLDB4YzEsMHgyMCwweGMxLDB4MjF9fSwKLSB7IDIsMHgwYzlmLDAsezB4YzEsMHgyZn19LAotIHsgNCwweDBjYTEsMCx7MHg0MSwweDc2LDB4MjMsMHgwMH19LAotIHsxNiwweDBjYTUsMCx7MHg0MSwweDcyLDB4MDEsMHgwMSwweDQ1LDB4NzIsMHgwNSwweDAwLDB4MDIsMHhjOSwweDAwLDB4MDAsMHg0NSwweDcyLDB4MGEsMHgwMH19LAotIHsxNiwweDBjYjUsMCx7MHgwMSwweDAyLDB4MDMsMHgwNCwweDRkLDB4NzIsMHgwZiwweGQxLDB4MDAsMHhkMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDBjYzUsMCx7MHgyOCwweDI4LDB4MDksMHgwMCwweDRkLDB4NzIsMHgxYywweDAxLDB4MDAsMHgwMSwweDAyLDB4MDMsMHgwNCwweDA1LDB4MDYsMHgwN319LAotIHsxNiwweDBjZDUsMCx7MHgwOCwweDA5LDB4MGEsMHgwYiwweDQxLDB4NzIsMHgyZSwweDIyLDB4NDEsMHg3MiwweDJmLDB4MjMsMHg0MSwweDcyLDB4MzAsMHgyMH19LAotIHsxNiwweDBjZTUsMCx7MHg0MSwweDcyLDB4MzEsMHgyMSwweDYyLDB4ZDIsMHg3MiwweDNhLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDBjZjUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDBkMDUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDBkMTUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDBkMjUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDBkMzUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDBkNDUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDBkNTUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDBkNjUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDBkNzUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMX19LAotIHsxNiwweDBkODUsMCx7MHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMX19LAotIHsxNiwweDBkOTUsMCx7MHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMX19LAotIHsxNiwweDBkYTUsMCx7MHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMX19LAotIHsxNiwweDBkYjUsMCx7MHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMn19LAotIHsxNiwweDBkYzUsMCx7MHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMn19LAotIHsxNiwweDBkZDUsMCx7MHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMn19LAotIHsxNiwweDBkZTUsMCx7MHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMn19LAotIHsxNiwweDBkZjUsMCx7MHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwM319LAotIHsxNiwweDBlMDUsMCx7MHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwM319LAotIHsxNiwweDBlMTUsMCx7MHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwM319LAotIHsxNiwweDBlMjUsMCx7MHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwM319LAotIHsxNiwweDBlMzUsMCx7MHgwMywweDAzLDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNH19LAotIHsxNiwweDBlNDUsMCx7MHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNH19LAotIHsxNiwweDBlNTUsMCx7MHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNH19LAotIHsxNiwweDBlNjUsMCx7MHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNH19LAotIHsxNiwweDBlNzUsMCx7MHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNX19LAotIHsxNiwweDBlODUsMCx7MHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNX19LAotIHsxNiwweDBlOTUsMCx7MHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNX19LAotIHsxNiwweDBlYTUsMCx7MHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDYsMHgwNn19LAotIHsxNiwweDBlYjUsMCx7MHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNn19LAotIHsxNiwweDBlYzUsMCx7MHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNn19LAotIHsxNiwweDBlZDUsMCx7MHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNn19LAotIHsxNiwweDBlZTUsMCx7MHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDcsMHgwNywweDA3LDB4MDgsMHgwOH19LAotIHsxNiwweDBlZjUsMCx7MHgwOCwweDA5LDB4MDksMHgwOSwweDBhLDB4MGEsMHgwYSwweDBiLDB4MGIsMHgwYiwweDBjLDB4MGMsMHgwYywweDBkLDB4MGQsMHgwZH19LAotIHsxNiwweDBmMDUsMCx7MHgwZSwweDBlLDB4MGUsMHgwZiwweDBmLDB4MGYsMHgxMCwweDEwLDB4MTAsMHgxMSwweDExLDB4MTEsMHgxMiwweDEyLDB4MTIsMHgxM319LAotIHsxNiwweDBmMTUsMCx7MHgxMywweDEzLDB4MTQsMHgxNCwweDE0LDB4MTUsMHgxNSwweDE1LDB4MTYsMHgxNiwweDE2LDB4MTcsMHgxNywweDE3LDB4MTgsMHgxOH19LAotIHsxNiwweDBmMjUsMCx7MHgxOCwweDE5LDB4MTksMHgxOSwweDE5LDB4MWEsMHgxYSwweDFhLDB4MWEsMHgxYiwweDFiLDB4MWIsMHgxYiwweDFjLDB4MWMsMHgxY319LAotIHsxNiwweDBmMzUsMCx7MHgxYywweDFkLDB4MWQsMHgxZCwweDFkLDB4MWUsMHgxZSwweDFlLDB4MWUsMHgxZiwweDFmLDB4MWYsMHgxZiwweDIwLDB4MjAsMHgyMH19LAotIHsxNiwweDBmNDUsMCx7MHgyMSwweDIxLDB4MjEsMHgyMiwweDIyLDB4MjIsMHgyMywweDIzLDB4MjQsMHgyNCwweDI1LDB4MjUsMHgyNiwweDI2LDB4MjcsMHgyN319LAotIHsxNiwweDBmNTUsMCx7MHgyOCwweDI4LDB4MjksMHgyOSwweDJhLDB4MmEsMHgyYiwweDJiLDB4MmMsMHgyYywweDJkLDB4MmQsMHgyZSwweDJlLDB4MmYsMHgyZn19LAotIHsxNiwweDBmNjUsMCx7MHgzMCwweDMwLDB4MzEsMHgzMSwweDMyLDB4MzIsMHgzMywweDMzLDB4MzQsMHgzNCwweDM1LDB4MzUsMHgzNiwweDM2LDB4MzcsMHgzN319LAotIHsxNiwweDBmNzUsMCx7MHgzOCwweDM4LDB4MzksMHgzOSwweDNhLDB4M2EsMHgzYiwweDNjLDB4M2QsMHgzZSwweDNmLDB4NDAsMHg0MSwweDQyLDB4NDMsMHg0NH19LAotIHsxNiwweDBmODUsMCx7MHg0NSwweDQ2LDB4NDcsMHg0OCwweDQ5LDB4NDksMHg0YSwweDRiLDB4NGIsMHg0YywweDRkLDB4NGUsMHg0ZiwweDUwLDB4NTEsMHg1Mn19LAotIHsxNiwweDBmOTUsMCx7MHg1MywweDU0LDB4NTUsMHg1NSwweDU2LDB4NTYsMHg1NywweDU3LDB4NTgsMHg1YSwweDViLDB4NWQsMHg1ZSwweDVmLDB4NjEsMHg2Mn19LAotIHsxNiwweDBmYTUsMCx7MHg2MywweDY0LDB4NjUsMHg2NiwweDY3LDB4NjgsMHg2OSwweDZhLDB4NmIsMHg2YywweDZkLDB4NmYsMHg3MSwweDcyLDB4NzMsMHg3NH19LAotIHsxNiwweDBmYjUsMCx7MHg3NSwweDc2LDB4NzcsMHg3OCwweDc5LDB4N2EsMHg3YiwweDdjLDB4N2UsMHg4MCwweDAxLDB4MzcsMHgwMSwweDAxLDB4MzgsMHgwMH19LAotIHsgMSwweDBmYzUsMCx7MHgwMH19LAotIHsxNiwweDBmYzYsMCx7MHhlNCwweGZmLDB4NzQsMHg0NiwweDJmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NiwweGY1LDB4ODMsMHhlMCwweGZlLDB4NzQsMHgyMH19LAotIHsxNiwweDBmZDYsMCx7MHgyZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4ODAsMHhmNSwweDgzLDB4ZWUsMHhmMCwweDc0LDB4NGUsMHgyZiwweGY1LDB4ODIsMHhlNH19LAotIHsxNiwweDBmZTYsMCx7MHgzNCwweDc2LDB4ZjUsMHg4MywweGUwLDB4ZmUsMHg3NCwweDMwLDB4MmYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDgwLDB4ZjUsMHg4M319LAotIHsgNiwweDBmZjYsMCx7MHhlZSwweGYwLDB4MGYsMHhiZiwweDA4LDB4Y2N9fSwKLSB7IDEsMHgwZmZjLDAsezB4MjJ9fSwKLSB7IDMsMHgwZmZkLDAsezB4YzIsMHg4OSwweDMyfX0sCi0gezE2LDB4MTAwMCwwLHsweGU0LDB4OTAsMHg3NiwweDJjLDB4ZjAsMHg5MCwweDc2LDB4MmMsMHhlMCwweGZmLDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNCwweDBmfX0sCi0gezE2LDB4MTAxMCwwLHsweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHhmZSwweDkwLDB4N2YsMHhlZCwweGUwLDB4ZmQsMHhlZSwweDZkfX0sCi0gezE2LDB4MTAyMCwwLHsweDYwLDB4MGUsMHhlZiwweGMzLDB4OTQsMHgwYiwweDUwLDB4MDgsMHg5MCwweDc2LDB4MmMsMHhlMCwweDA0LDB4ZjAsMHg4MCwweGQ1fX0sCi0gezE2LDB4MTAzMCwwLHsweGVmLDB4YjQsMHgwYiwweDA4LDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweGVmLDB4NzUsMHhmMCwweDAzfX0sCi0gezE2LDB4MTA0MCwwLHsweGE0LDB4MjQsMHgwZSwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHg5MCwweDc2LDB4MmUsMHhmMCwweDI0fX0sCi0gezE2LDB4MTA1MCwwLHsweGYwLDB4NjAsMHgwYSwweDI0LDB4MGYsMHg2MCwweDAyLDB4ODEsMHg3ZCwweDEyLDB4NGIsMHgxYiwweDIyLDB4OTAsMHg3ZiwweGVkfX0sCi0gezE2LDB4MTA2MCwwLHsweGUwLDB4NjQsMHgwNSwweDcwLDB4NTEsMHg5MCwweDc2LDB4MTgsMHg3NCwweDA1LDB4ZjAsMHg5MCwweDc2LDB4MzgsMHg3NCwweDAxfX0sCi0gezE2LDB4MTA3MCwwLHsweGYwLDB4OTAsMHg3NiwweDNhLDB4NzQsMHgwMywweGYwLDB4OTAsMHg3NiwweDFjLDB4ZjAsMHhlNCwweDkwLDB4NzYsMHgxYiwweGYwfX0sCi0gezE2LDB4MTA4MCwwLHsweDkwLDB4N2YsMHhlYSwweGUwLDB4ZjQsMHg2MCwweDJmLDB4OTAsMHg3NiwweDFiLDB4ZTAsMHhmZiwweDc1LDB4ZjAsMHgwYSwweGE0fX0sCi0gezE2LDB4MTA5MCwwLHsweDI0LDB4YWEsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4ZmUsMHg5MCwweDdmLDB4ZWEsMHhlMCwweGZkfX0sCi0gezE2LDB4MTBhMCwwLHsweGVlLDB4NmQsMHg2MCwweDEyLDB4OTAsMHg3NiwweDFjLDB4ZTAsMHhmZSwweGVmLDB4YzMsMHg5ZSwweDUwLDB4MDgsMHg5MCwweDc2fX0sCi0gezE2LDB4MTBiMCwwLHsweDFiLDB4ZTAsMHgwNCwweGYwLDB4ODAsMHhkMSwweDkwLDB4N2YsMHhlZCwweGUwLDB4NjQsMHgwNiwweDcwLDB4NTIsMHg5MCwweDc2fX0sCi0gezE2LDB4MTBjMCwwLHsweDE4LDB4NzQsMHgwNiwweGYwLDB4OTAsMHg3NiwweDM4LDB4NzQsMHgwNCwweGYwLDB4OTAsMHg3NiwweDNhLDB4NzQsMHgwYSwweGYwfX0sCi0gezE2LDB4MTBkMCwwLHsweDkwLDB4NzYsMHgxYywweGYwLDB4OTAsMHg3NiwweDFiLDB4NzQsMHgwMywweGYwLDB4OTAsMHg3ZiwweGVhLDB4ZTAsMHhmNCwweDYwfX0sCi0gezE2LDB4MTBlMCwwLHsweDJmLDB4OTAsMHg3NiwweDFiLDB4ZTAsMHhmZiwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhYSwweGY1LDB4ODIsMHhlNCwweDM0fX0sCi0gezE2LDB4MTBmMCwwLHsweDc1LDB4ZjUsMHg4MywweGUwLDB4ZmUsMHg5MCwweDdmLDB4ZWEsMHhlMCwweGZkLDB4ZWUsMHg2ZCwweDYwLDB4MTIsMHg5MCwweDc2fX0sCi0gezE2LDB4MTEwMCwwLHsweDFjLDB4ZTAsMHhmZSwweGVmLDB4YzMsMHg5ZSwweDUwLDB4MDgsMHg5MCwweDc2LDB4MWIsMHhlMCwweDA0LDB4ZjAsMHg4MCwweGQxfX0sCi0gezE2LDB4MTExMCwwLHsweGU0LDB4OTAsMHg3NiwweDFlLDB4ZjAsMHg5MCwweDc2LDB4MWMsMHhlMCwweGZmLDB4OTAsMHg3NiwweDFiLDB4ZTAsMHhmZSwweDZmfX0sCi0gezE2LDB4MTEyMCwwLHsweDcwLDB4MDgsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGViLDB4ZTAsMHgxNCwweDYwfX0sCi0gezE2LDB4MTEzMCwwLHsweDEzLDB4MTQsMHg3MCwweDAyLDB4MjEsMHhiZiwweDI0LDB4MDIsMHg2MCwweDAyLDB4ODEsMHg3NSwweDkwLDB4N2YsMHhiNCwweGUwfX0sCi0gezE2LDB4MTE0MCwwLHsweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGU5LDB4ZTAsMHgyNCwweDdmLDB4NzAsMHg2YiwweDkwLDB4N2YsMHhlYSwweGUwfX0sCi0gezE2LDB4MTE1MCwwLHsweGY0LDB4NzAsMHg0YSwweDkwLDB4NzYsMHgzOCwweGUwLDB4OTAsMHg3NiwweDFiLDB4ZjAsMHg5MCwweDc2LDB4M2EsMHhlMCwweGZmfX0sCi0gezE2LDB4MTE2MCwwLHsweDkwLDB4NzYsMHgxYiwweGUwLDB4ZmQsMHhjMywweDlmLDB4NTAsMHgyYiwweGVkLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGFifX0sCi0gezE2LDB4MTE3MCwwLHsweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHhmZiwweDkwLDB4NzYsMHgxZSwweGUwLDB4ZmQsMHgwNCwweGYwfX0sCi0gezE2LDB4MTE4MCwwLHsweDc0LDB4MDAsMHgyZCwweGY1LDB4ODIsMHhlNCwweDM0LDB4N2YsMHhmNSwweDgzLDB4ZWYsMHhmMCwweDkwLDB4NzYsMHgxYiwweGUwfX0sCi0gezE2LDB4MTE5MCwwLHsweDA0LDB4ZjAsMHg4MCwweGM3LDB4OTAsMHg3NiwweDFlLDB4ZTAsMHg5MCwweDdmLDB4YjUsMHhmMCwweDIyLDB4ZWUsMHg3NSwweGYwfX0sCi0gezE2LDB4MTFhMCwwLHsweDBhLDB4YTQsMHgyNCwweGFiLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweDkwLDB4N2YsMHgwMCwweGYwfX0sCi0gezE2LDB4MTFiMCwwLHsweDkwLDB4N2YsMHhiNSwweDc0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweDkwfX0sCi0gezE2LDB4MTFjMCwwLHsweDdmLDB4ZTksMHhlMCwweDI0LDB4N2UsMHg3MCwweDAyLDB4NDEsMHg3ZSwweDE0LDB4NzAsMHgwMiwweDYxLDB4MjMsMHgxNCwweDcwfX0sCi0gezE2LDB4MTFkMCwwLHsweDAyLDB4NjEsMHhjOCwweDI0LDB4MDMsMHg2MCwweDAyLDB4ODEsMHg2ZCwweDkwLDB4N2YsMHhlYSwweGUwLDB4ZjQsMHg3MCwweDZkfX0sCi0gezE2LDB4MTFlMCwwLHsweDkwLDB4NzYsMHgzOCwweGUwLDB4OTAsMHg3NiwweDFiLDB4ZjAsMHg5MCwweDc2LDB4M2EsMHhlMCwweGZmLDB4OTAsMHg3NiwweDFifX0sCi0gezE2LDB4MTFmMCwwLHsweGUwLDB4YzMsMHg5ZiwweDUwLDB4NGYsMHhlMCwweGZmLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGFjLDB4ZjUsMHg4MiwweGU0fX0sCi0gezE2LDB4MTIwMCwwLHsweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHhmZSwweDkwLDB4NzYsMHgxZSwweGUwLDB4ZmQsMHgwNCwweGYwLDB4NzQsMHgwMCwweDJkfX0sCi0gezE2LDB4MTIxMCwwLHsweGY1LDB4ODIsMHhlNCwweDM0LDB4N2YsMHhmNSwweDgzLDB4ZWUsMHhmMCwweGVmLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGFkfX0sCi0gezE2LDB4MTIyMCwwLHsweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHhmZiwweDkwLDB4NzYsMHgxZSwweGUwLDB4ZmUsMHgwNCwweGYwfX0sCi0gezE2LDB4MTIzMCwwLHsweDc0LDB4MDAsMHgyZSwweGY1LDB4ODIsMHhlNCwweDM0LDB4N2YsMHhmNSwweDgzLDB4ZWYsMHhmMCwweDkwLDB4NzYsMHgxYiwweGUwfX0sCi0gezE2LDB4MTI0MCwwLHsweDA0LDB4ZjAsMHg4MCwweGE0LDB4OTAsMHg3NiwweDFlLDB4ZTAsMHg5MCwweDdmLDB4YjUsMHhmMCwweDIyLDB4OTAsMHg3NiwweDFifX0sCi0gezE2LDB4MTI1MCwwLHsweGUwLDB4ZmYsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWMsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwfX0sCi0gezE2LDB4MTI2MCwwLHsweDkwLDB4N2YsMHgwMCwweGYwLDB4ZWYsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWQsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1fX0sCi0gezE2LDB4MTI3MCwwLHsweGY1LDB4ODMsMHhlMCwweDkwLDB4N2YsMHgwMSwweGYwLDB4OTAsMHg3ZiwweGI1LDB4NzQsMHgwMiwweGYwLDB4MjIsMHg5MCwweDdmfX0sCi0gezE2LDB4MTI4MCwwLHsweGVhLDB4ZTAsMHhmNCwweDcwLDB4NmQsMHg5MCwweDc2LDB4MzgsMHhlMCwweDkwLDB4NzYsMHgxYiwweGYwLDB4OTAsMHg3NiwweDNhfX0sCi0gezE2LDB4MTI5MCwwLHsweGUwLDB4ZmYsMHg5MCwweDc2LDB4MWIsMHhlMCwweGMzLDB4OWYsMHg1MCwweDRmLDB4ZTAsMHhmZiwweDc1LDB4ZjAsMHgwYSwweGE0fX0sCi0gezE2LDB4MTJhMCwwLHsweDI0LDB4YWUsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4ZmUsMHg5MCwweDc2LDB4MWUsMHhlMCwweGZkfX0sCi0gezE2LDB4MTJiMCwwLHsweDA0LDB4ZjAsMHg3NCwweDAwLDB4MmQsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDdmLDB4ZjUsMHg4MywweGVlLDB4ZjAsMHhlZiwweDc1fX0sCi0gezE2LDB4MTJjMCwwLHsweGYwLDB4MGEsMHhhNCwweDI0LDB4YWYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4ZmYsMHg5MCwweDc2fX0sCi0gezE2LDB4MTJkMCwwLHsweDFlLDB4ZTAsMHhmZSwweDA0LDB4ZjAsMHg3NCwweDAwLDB4MmUsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDdmLDB4ZjUsMHg4MywweGVmfX0sCi0gezE2LDB4MTJlMCwwLHsweGYwLDB4OTAsMHg3NiwweDFiLDB4ZTAsMHgwNCwweGYwLDB4ODAsMHhhNCwweDkwLDB4NzYsMHgxZSwweGUwLDB4OTAsMHg3ZiwweGI1fX0sCi0gezE2LDB4MTJmMCwwLHsweGYwLDB4MjIsMHg5MCwweDc2LDB4MWIsMHhlMCwweGZmLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGFlLDB4ZjUsMHg4MiwweGU0fX0sCi0gezE2LDB4MTMwMCwwLHsweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHg5MCwweDdmLDB4MDAsMHhmMCwweGVmLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGFmfX0sCi0gezE2LDB4MTMxMCwwLHsweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHg5MCwweDdmLDB4MDEsMHhmMCwweDkwLDB4N2YsMHhiNSwweDc0fX0sCi0gezE2LDB4MTMyMCwwLHsweDAyLDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhlYSwweGUwLDB4ZjQsMHg3MCwweDZkLDB4OTAsMHg3NiwweDM4LDB4ZTAsMHg5MCwweDc2fX0sCi0gezE2LDB4MTMzMCwwLHsweDFiLDB4ZjAsMHg5MCwweDc2LDB4M2EsMHhlMCwweGZmLDB4OTAsMHg3NiwweDFiLDB4ZTAsMHhjMywweDlmLDB4NTAsMHg0ZiwweGUwfX0sCi0gezE2LDB4MTM0MCwwLHsweGZmLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGIwLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweGZlfX0sCi0gezE2LDB4MTM1MCwwLHsweDkwLDB4NzYsMHgxZSwweGUwLDB4ZmQsMHgwNCwweGYwLDB4NzQsMHgwMCwweDJkLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3ZiwweGY1fX0sCi0gezE2LDB4MTM2MCwwLHsweDgzLDB4ZWUsMHhmMCwweGVmLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGIxLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1fX0sCi0gezE2LDB4MTM3MCwwLHsweDgzLDB4ZTAsMHhmZiwweDkwLDB4NzYsMHgxZSwweGUwLDB4ZmUsMHgwNCwweGYwLDB4NzQsMHgwMCwweDJlLDB4ZjUsMHg4MiwweGU0fX0sCi0gezE2LDB4MTM4MCwwLHsweDM0LDB4N2YsMHhmNSwweDgzLDB4ZWYsMHhmMCwweDkwLDB4NzYsMHgxYiwweGUwLDB4MDQsMHhmMCwweDgwLDB4YTQsMHg5MCwweDc2fX0sCi0gezE2LDB4MTM5MCwwLHsweDFlLDB4ZTAsMHg5MCwweDdmLDB4YjUsMHhmMCwweDIyLDB4OTAsMHg3NiwweDFiLDB4ZTAsMHhmZiwweDc1LDB4ZjAsMHgwYSwweGE0fX0sCi0gezE2LDB4MTNhMCwwLHsweDI0LDB4YjAsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4OTAsMHg3ZiwweDAwLDB4ZjAsMHhlZiwweDc1fX0sCi0gezE2LDB4MTNiMCwwLHsweGYwLDB4MGEsMHhhNCwweDI0LDB4YjEsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4OTAsMHg3ZiwweDAxfX0sCi0gezE2LDB4MTNjMCwwLHsweGYwLDB4OTAsMHg3ZiwweGI1LDB4NzQsMHgwMiwweGYwLDB4MjIsMHg5MCwweDdmLDB4ZWEsMHhlMCwweGY0LDB4NzAsMHg2ZCwweDkwfX0sCi0gezE2LDB4MTNkMCwwLHsweDc2LDB4MzgsMHhlMCwweDkwLDB4NzYsMHgxYiwweGYwLDB4OTAsMHg3NiwweDNhLDB4ZTAsMHhmZiwweDkwLDB4NzYsMHgxYiwweGUwfX0sCi0gezE2LDB4MTNlMCwwLHsweGMzLDB4OWYsMHg1MCwweDRmLDB4ZTAsMHhmZiwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhiMiwweGY1LDB4ODIsMHhlNCwweDM0fX0sCi0gezE2LDB4MTNmMCwwLHsweDc1LDB4ZjUsMHg4MywweGUwLDB4ZmUsMHg5MCwweDc2LDB4MWUsMHhlMCwweGZkLDB4MDQsMHhmMCwweDc0LDB4MDAsMHgyZCwweGY1fX0sCi0gezE2LDB4MTQwMCwwLHsweDgyLDB4ZTQsMHgzNCwweDdmLDB4ZjUsMHg4MywweGVlLDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhiMywweGY1fX0sCi0gezE2LDB4MTQxMCwwLHsweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4ZmYsMHg5MCwweDc2LDB4MWUsMHhlMCwweGZlLDB4MDQsMHhmMCwweDc0fX0sCi0gezE2LDB4MTQyMCwwLHsweDAwLDB4MmUsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDdmLDB4ZjUsMHg4MywweGVmLDB4ZjAsMHg5MCwweDc2LDB4MWIsMHhlMCwweDA0fX0sCi0gezE2LDB4MTQzMCwwLHsweGYwLDB4ODAsMHhhNCwweDkwLDB4NzYsMHgxZSwweGUwLDB4OTAsMHg3ZiwweGI1LDB4ZjAsMHgyMiwweDkwLDB4NzYsMHgxYiwweGUwfX0sCi0gezE2LDB4MTQ0MCwwLHsweGZmLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGIyLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweDkwfX0sCi0gezE2LDB4MTQ1MCwwLHsweDdmLDB4MDAsMHhmMCwweGVmLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGIzLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1fX0sCi0gezE2LDB4MTQ2MCwwLHsweDgzLDB4ZTAsMHg5MCwweDdmLDB4MDEsMHhmMCwweDkwLDB4N2YsMHhiNSwweDc0LDB4MDIsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGI0fX0sCi0gezE2LDB4MTQ3MCwwLHsweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGI0fX0sCi0geyA1LDB4MTQ4MCwwLHsweGUwLDB4NDQsMHgwMSwweGYwLDB4MjJ9fSwKLSB7MTYsMHgxNDg1LDAsezB4NzQsMHgwMCwweGY1LDB4ODYsMHg5MCwweGZkLDB4YTUsMHg3YywweDA1LDB4YTMsMHhlNSwweDgyLDB4NDUsMHg4MywweDcwLDB4Zjl9fSwKLSB7IDEsMHgxNDk1LDAsezB4MjJ9fSwKLSB7MTYsMHgxNDk2LDAsezB4OTAsMHg3ZiwweGQ2LDB4ZTAsMHg0NCwweDgwLDB4ZjAsMHg0MywweDg3LDB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjJ9fSwKLSB7MTYsMHgxNGE2LDAsezB4YzAsMHhkMCwweGMwLDB4ZTAsMHg4ZiwweGUwLDB4YzAsMHhlMCwweDhlLDB4ZTAsMHhjMCwweGUwLDB4OGQsMHhlMCwweGMwLDB4ZTB9fSwKLSB7MTYsMHgxNGI2LDAsezB4OGMsMHhlMCwweGMwLDB4ZTAsMHhjMCwweDgyLDB4YzAsMHg4MywweDA1LDB4ODYsMHhjMCwweDg0LDB4YzAsMHg4NSwweDdkLDB4MDB9fSwKLSB7MTYsMHgxNGM2LDAsezB4OTAsMHg3ZiwweGUzLDB4NzQsMHg3YiwweGYwLDB4YTMsMHg3NCwweDgwLDB4ZjAsMHg3YywweDExLDB4OTAsMHg3ZiwweDk5LDB4ZTB9fSwKLSB7MTYsMHgxNGQ2LDAsezB4NTQsMHg0MCwweGRjLDB4MDMsMHgwMiwweDE0LDB4ZjMsMHhiNCwweDAwLDB4MTMsMHg5MCwweDdmLDB4ZTIsMHg3NCwweDQwLDB4ZjB9fSwKLSB7MTYsMHgxNGU2LDAsezB4OTAsMHg3ZiwweGU1LDB4ZjAsMHg5MCwweDdmLDB4ZTIsMHg3NCwweDAwLDB4ZjAsMHgwMiwweDE0LDB4ZDIsMHg5MCwweDc2LDB4OTB9fSwKLSB7MTYsMHgxNGY2LDAsezB4ZTAsMHhiNCwweDAxLDB4MTIsMHg5MCwweDc2LDB4OGYsMHhlMCwweDJkLDB4ZmQsMHg5MCwweDdmLDB4ZTIsMHg3NCwweDgwLDB4ZjB9fSwKLSB7MTYsMHgxNTA2LDAsezB4OTAsMHg3ZiwweDZjLDB4MDIsMHgxNSwweDU3LDB4YjQsMHgwMiwweDEyLDB4OTAsMHg3NiwweDhmLDB4ZTAsMHgyZCwweGZkLDB4OTB9fSwKLSB7MTYsMHgxNTE2LDAsezB4N2YsMHhlMiwweDc0LDB4ODAsMHhmMCwweDkwLDB4N2YsMHg2YywweDAyLDB4MTUsMHg5NiwweGI0LDB4MDMsMHgxMiwweDkwLDB4NzZ9fSwKLSB7MTYsMHgxNTI2LDAsezB4OGYsMHhlMCwweDJkLDB4ZmQsMHg5MCwweDdmLDB4ZTIsMHg3NCwweDgwLDB4ZjAsMHg5MCwweDdmLDB4NmMsMHgwMiwweDE1LDB4ZTF9fSwKLSB7MTYsMHgxNTM2LDAsezB4YjQsMHgwNCwweDEyLDB4OTAsMHg3NiwweDhmLDB4ZTAsMHgyZCwweGZkLDB4OTAsMHg3ZiwweGUyLDB4NzQsMHg4MCwweGYwLDB4OTB9fSwKLSB7MTYsMHgxNTQ2LDAsezB4N2YsMHg2YywweDAyLDB4MTYsMHgxMCwweDkwLDB4N2YsMHhlMiwweDc0LDB4ODAsMHhmMCwweDkwLDB4N2YsMHg2YywweDAyLDB4MTZ9fSwKLSB7MTYsMHgxNTU2LDAsezB4NDAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhkZCwweGYyLDB4N2R9fSwKLSB7MTYsMHgxNTY2LDAsezB4MDIsMHgwNSwweDg2LDB4OTAsMHg3ZiwweGUyLDB4NzQsMHgwMCwweGYwLDB4OTAsMHg3ZiwweDliLDB4ZTAsMHg1NCwweDA0LDB4YjR9fSwKLSB7MTYsMHgxNTc2LDAsezB4MDAsMHgwNSwweDA1LDB4ODYsMHgwMiwweDE2LDB4NDAsMHg5MCwweDdmLDB4ZTIsMHg3NCwweDgwLDB4ZjAsMHgwNSwweDg2LDB4ZjB9fSwKLSB7MTYsMHgxNTg2LDAsezB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGRkLDB4ZDQsMHgwMiwweDE2LDB4NDB9fSwKLSB7MTYsMHgxNTk2LDAsezB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjB9fSwKLSB7MTYsMHgxNWE2LDAsezB4ZjAsMHhmMCwweGRkLDB4ZWMsMHg3ZCwweDAyLDB4MDUsMHg4NiwweDkwLDB4N2YsMHhlMiwweDc0LDB4MDAsMHhmMCwweDkwLDB4N2Z9fSwKLSB7MTYsMHgxNWI2LDAsezB4OWIsMHhlMCwweDU0LDB4MDQsMHhiNCwweDAwLDB4MDUsMHgwNSwweDg2LDB4MDIsMHgxNiwweDQwLDB4OTAsMHg3ZiwweGUyLDB4NzR9fSwKLSB7MTYsMHgxNWM2LDAsezB4ODAsMHhmMCwweDA1LDB4ODYsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjB9fSwKLSB7IDYsMHgxNWQ2LDAsezB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwfX0sCi0gezE2LDB4MTVkYywwLHsweGRkLDB4Y2UsMHgwMiwweDE2LDB4NDAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGRkLDB4ZmEsMHg3ZCwweDAyLDB4MDUsMHg4NiwweDkwfX0sCi0gezE2LDB4MTVlYywwLHsweDdmLDB4ZTIsMHg3NCwweDAwLDB4ZjAsMHg5MCwweDdmLDB4OWIsMHhlMCwweDU0LDB4MDQsMHhiNCwweDAwLDB4MDUsMHgwNSwweDg2fX0sCi0gezE2LDB4MTVmYywwLHsweDAyLDB4MTYsMHg0MCwweDkwLDB4N2YsMHhlMiwweDc0LDB4ODAsMHhmMCwweDA1LDB4ODYsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGRkfX0sCi0gezE2LDB4MTYwYywwLHsweGRjLDB4MDIsMHgxNiwweDQwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZGQsMHhmOCwweDdkLDB4MDIsMHgwNSwweDg2fX0sCi0gezE2LDB4MTYxYywwLHsweDkwLDB4N2YsMHhlMiwweDc0LDB4MDAsMHhmMCwweDkwLDB4N2YsMHg5YiwweGUwLDB4NTQsMHgwNCwweGI0LDB4MDAsMHgwNSwweDA1fX0sCi0gezE2LDB4MTYyYywwLHsweDg2LDB4MDIsMHgxNiwweDQwLDB4OTAsMHg3ZiwweGUyLDB4NzQsMHg4MCwweGYwLDB4MDUsMHg4NiwweGYwLDB4ZjAsMHhmMCwweGYwfX0sCi0gezE2LDB4MTYzYywwLHsweGYwLDB4ZjAsMHhkZCwweGRhLDB4OTAsMHg3ZiwweGUyLDB4NzQsMHgwMCwweGYwLDB4ZDAsMHg4NSwweGQwLDB4ODQsMHgwNSwweDg2fX0sCi0gezE2LDB4MTY0YywwLHsweGQwLDB4ODMsMHhkMCwweDgyLDB4ZDAsMHhlMCwweGZjLDB4ZDAsMHhlMCwweGZkLDB4ZDAsMHhlMCwweGZlLDB4ZDAsMHhlMCwweGZmfX0sCi0geyA1LDB4MTY1YywwLHsweGQwLDB4ZTAsMHhkMCwweGQwLDB4MjJ9fSwKLSB7MTYsMHgxNjYxLDAsezB4YzAsMHhkMCwweGMwLDB4ZTAsMHhjMCwweDgyLDB4YzAsMHg4MywweDkwLDB4NzYsMHg3YywweGUwLDB4OTAsMHg3ZiwweDZmLDB4ZjB9fSwKLSB7MTYsMHgxNjcxLDAsezB4OTAsMHg3NiwweDdkLDB4ZTAsMHg5MCwweDdmLDB4NmYsMHhmMCwweDkwLDB4NzYsMHg3ZSwweGUwLDB4OTAsMHg3ZiwweDZmLDB4ZjB9fSwKLSB7IDksMHgxNjgxLDAsezB4ZDAsMHg4MywweGQwLDB4ODIsMHhkMCwweGUwLDB4ZDAsMHhkMCwweDIyfX0sCi0gezE2LDB4MTY4YSwwLHsweGMwLDB4ZDAsMHhjMCwweGUwLDB4OGYsMHhlMCwweGMwLDB4ZTAsMHg4ZSwweGUwLDB4YzAsMHhlMCwweGMwLDB4ODIsMHhjMCwweDgzfX0sCi0gezE2LDB4MTY5YSwwLHsweDA1LDB4ODYsMHhjMCwweDg0LDB4YzAsMHg4NSwweDkwLDB4NzYsMHg4NywweGUwLDB4ZmYsMHhiZiwweDAwLDB4MDMsMHgwMiwweDE3fX0sCi0gezE2LDB4MTZhYSwwLHsweDAxLDB4OTAsMHg3ZiwweDk2LDB4ZTAsMHg0NCwweDgwLDB4ZjAsMHg5MCwweDdmLDB4ZTIsMHg3NCwweDgwLDB4ZjAsMHg5MCwweDdmfX0sCi0gezE2LDB4MTZiYSwwLHsweDYyLDB4ZTAsMHgwNSwweDg2LDB4OTAsMHg3ZiwweGUyLDB4NzQsMHgwMCwweGYwLDB4OTAsMHg3ZiwweDk2LDB4ZTAsMHg1NCwweDdmfX0sCi0gezE2LDB4MTZjYSwwLHsweGYwLDB4OTAsMHg3ZiwweGUyLDB4NzQsMHg4MCwweGYwLDB4OTAsMHg3NiwweDhlLDB4ZTAsMHhiNCwweDAxLDB4MDUsMHgwNSwweDg2fX0sCi0gezE2LDB4MTZkYSwwLHsweDAyLDB4MTYsMHhmNiwweGI0LDB4MDIsMHgwNSwweDA1LDB4ODYsMHgwMiwweDE2LDB4ZWIsMHgwNSwweDg2LDB4MDIsMHgxNiwweGZifX0sCi0gezE2LDB4MTZlYSwwLHsweGUwLDB4ZTAsMHhlMCwweGUwLDB4ZTAsMHhlMCwweGRmLDB4ZjgsMHgwMiwweDE2LDB4ZmIsMHhlMCwweGUwLDB4ZTAsMHhlMCwweGRmfX0sCi0gezE2LDB4MTZmYSwwLHsweGZhLDB4OTAsMHg3ZiwweGUyLDB4NzQsMHgwMCwweGYwLDB4ZDAsMHg4NSwweGQwLDB4ODQsMHgwNSwweDg2LDB4ZDAsMHg4MywweGQwfX0sCi0gezEyLDB4MTcwYSwwLHsweDgyLDB4ZDAsMHhlMCwweGZlLDB4ZDAsMHhlMCwweGZmLDB4ZDAsMHhlMCwweGQwLDB4ZDAsMHgyMn19LAotIHsxNiwweDE3MTYsMCx7MHhjMCwweDgyLDB4YzAsMHg4MywweGMwLDB4ZTAsMHhlOCwweGMwLDB4ZTAsMHg3OCwweGQxLDB4ZTgsMHgxNCwweGY4LDB4NzAsMHhmYn19LAotIHsxMCwweDE3MjYsMCx7MHhkMCwweGUwLDB4ZjgsMHhkMCwweGUwLDB4ZDAsMHg4MywweGQwLDB4ODIsMHgyMn19LAotIHsxNiwweDE3MzAsMCx7MHhjMCwweDgyLDB4YzAsMHg4MywweGMwLDB4ZTAsMHhlOCwweGMwLDB4ZTAsMHg3OCwweDc4LDB4ZTgsMHgxNCwweGY4LDB4NzAsMHhmYn19LAotIHsxMCwweDE3NDAsMCx7MHhkMCwweGUwLDB4ZjgsMHhkMCwweGUwLDB4ZDAsMHg4MywweGQwLDB4ODIsMHgyMn19LAotIHsgNywweDE3NGEsMCx7MHg5MCwweDdmLDB4YzUsMHg3NCwweDAyLDB4ZjAsMHgyMn19LAotIHsxNiwweDE3NTEsMCx7MHg5MCwweDdlLDB4YzAsMHhlMCwweDkwLDB4NzYsMHg0NSwweGYwLDB4OTAsMHg3ZSwweGMxLDB4ZTAsMHg5MCwweDc2LDB4NDQsMHhmMH19LAotIHsxNiwweDE3NjEsMCx7MHg5MCwweDdlLDB4YzIsMHhlMCwweDkwLDB4NzYsMHg0MywweGYwLDB4YjQsMHgwMCwweDAzLDB4MDIsMHgxNywweDc4LDB4OTAsMHg3Nn19LAotIHsxNiwweDE3NzEsMCx7MHgxOSwweDc0LDB4MDMsMHhmMCwweDAyLDB4MTcsMHg4ZSwweDkwLDB4NzYsMHg0NCwweGUwLDB4YjQsMHhiYiwweDA5LDB4OTAsMHg3Nn19LAotIHsxNiwweDE3ODEsMCx7MHgxOSwweDc0LDB4MDIsMHhmMCwweDAyLDB4MTcsMHg4ZSwweDkwLDB4NzYsMHgxOSwweDc0LDB4MDEsMHhmMCwweDkwLDB4NzYsMHg0Mn19LAotIHsgMywweDE3OTEsMCx7MHhlNCwweGYwLDB4MjJ9fSwKLSB7IDQsMHgxNzk0LDAsezB4OGQsMHgyOSwweDhiLDB4MmF9fSwKLSB7MTYsMHgxNzk4LDAsezB4MTIsMHg0OSwweGZmLDB4ZWEsMHg0OSwweDYwLDB4NTcsMHgxMiwweDM2LDB4OTIsMHg3ZSwweDAwLDB4MjksMHhmZiwweGVlLDB4M2F9fSwKLSB7MTYsMHgxN2E4LDAsezB4YzksMHhlZiwweGM5LDB4NzUsMHgyYiwweGZmLDB4ZjUsMHgyYywweDg5LDB4MmQsMHhhYiwweDJiLDB4YWEsMHgyYywweGE5LDB4MmR9fSwKLSB7MTYsMHgxN2I4LDAsezB4OTAsMHgwMCwweDAxLDB4MTIsMHgzNiwweGFiLDB4ZmYsMHg2NCwweDA0LDB4NjAsMHgwNSwweGVmLDB4NjQsMHgwNSwweDcwLDB4MmV9fSwKLSB7MTYsMHgxN2M4LDAsezB4ZWYsMHhiNCwweDA0LDB4MTUsMHg5MCwweDAwLDB4MDIsMHgxMiwweDM2LDB4YWIsMHg2NSwweDI5LDB4NzAsMHgwYiwweDkwLDB4MDB9fSwKLSB7MTYsMHgxN2Q4LDAsezB4MDMsMHgxMiwweDM2LDB4YWIsMHg2NSwweDJhLDB4NzAsMHgwMSwweDIyLDB4MTIsMHgzNiwweDkyLDB4N2UsMHgwMCwweDI5LDB4ZmZ9fSwKLSB7MTYsMHgxN2U4LDAsezB4ZWUsMHgzYSwweGM5LDB4ZWYsMHhjOSwweDc1LDB4MmIsMHhmZiwweGY1LDB4MmMsMHg4OSwweDJkLDB4ODAsMHhiYywweDdiLDB4MDB9fSwKLSB7IDQsMHgxN2Y4LDAsezB4N2EsMHgwMCwweDc5LDB4MDB9fSwKLSB7IDEsMHgxN2ZjLDAsezB4MjJ9fSwKLSB7IDMsMHgxN2ZkLDAsezB4YzIsMHg4YiwweDMyfX0sCi0gezE2LDB4MTgwMCwwLHsweDkwLDB4NzYsMHg5MCwweGUwLDB4MTQsMHg2MCwweDM3LDB4MTQsMHg3MCwweDAyLDB4MDEsMHhkOCwweDE0LDB4NzAsMHgwMiwweDIxfX0sCi0gezE2LDB4MTgxMCwwLHsweDcyLDB4MTQsMHg3MCwweDAyLDB4NDEsMHgzYiwweDI0LDB4MDQsMHg2MCwweDAyLDB4NjEsMHgwMywweDkwLDB4N2YsMHhmYywweDc0fX0sCi0gezE2LDB4MTgyMCwwLHsweGNjLDB4ZjAsMHg5MCwweDdmLDB4ZmYsMHg3NCwweGZjLDB4ZjAsMHg5MCwweDc2LDB4OTUsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDU0fX0sCi0gezE2LDB4MTgzMCwwLHsweDA1LDB4ZjAsMHg5MCwweDgwLDB4MDEsMHhmMCwweGU0LDB4OTAsMHg3NiwweDFhLDB4ZjAsMHhjMiwweDJlLDB4MjIsMHg5MCwweDc2fX0sCi0gezE2LDB4MTg0MCwwLHsweDk1LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg0NCwweDAyLDB4ZjAsMHgzMCwweDNlLDB4MDYsMHhlMCwweDQ0LDB4MDQsMHhmMCwweDgwfX0sCi0gezE2LDB4MTg1MCwwLHsweDA3LDB4OTAsMHg3NiwweDk1LDB4ZTAsMHg1NCwweGZiLDB4ZjAsMHg5MCwweDc2LDB4MWEsMHhlMCwweGI0LDB4MDEsMHgwOCwweDkwfX0sCi0gezE2LDB4MTg2MCwwLHsweDc2LDB4OTUsMHhlMCwweDkwLDB4ODAsMHgwMSwweGYwLDB4OTAsMHg3NiwweDE5LDB4ZTAsMHhmZiwweGI0LDB4MDEsMHgyMiwweDkwfX0sCi0gezE2LDB4MTg3MCwwLHsweDdmLDB4ZmMsMHg3NCwweDc0LDB4ZjAsMHg5MCwweDdmLDB4ZmYsMHg3NCwweGZjLDB4ZjAsMHg5MCwweDc2LDB4OGYsMHg3NCwweDJifX0sCi0gezE2LDB4MTg4MCwwLHsweGYwLDB4OTAsMHg3NiwweDk3LDB4ZTAsMHg1NCwweGZkLDB4ZjAsMHhlNCwweDkwLDB4NzYsMHg4MSwweGYwLDB4OTAsMHg3NiwweDgwfX0sCi0gezE2LDB4MTg5MCwwLHsweGYwLDB4ZWYsMHhiNCwweDAyLDB4MjIsMHg5MCwweDdmLDB4ZmMsMHg3NCwweDY4LDB4ZjAsMHg5MCwweDdmLDB4ZmYsMHg3NCwweGZjfX0sCi0gezE2LDB4MThhMCwwLHsweGYwLDB4OTAsMHg3NiwweDhmLDB4NzQsMHgyZiwweGYwLDB4OTAsMHg3NiwweDk3LDB4ZTAsMHg0NCwweDAyLDB4ZjAsMHhlNCwweDkwfX0sCi0gezE2LDB4MThiMCwwLHsweDc2LDB4ODEsMHhmMCwweDkwLDB4NzYsMHg4MCwweGYwLDB4MzAsMHgzZiwweDA5LDB4OTAsMHg3NiwweDk3LDB4ZTAsMHg1NCwweGZlfX0sCi0gezE2LDB4MThjMCwwLHsweGYwLDB4ODAsMHgwNywweDkwLDB4NzYsMHg5NywweGUwLDB4NDQsMHgwMSwweGYwLDB4OTAsMHg3NiwweDk3LDB4ZTAsMHg1NCwweGZifX0sCi0gezE2LDB4MThkMCwwLHsweGYwLDB4OTAsMHg4MCwweDAyLDB4ZjAsMHhkMiwweDJlLDB4MjIsMHg5MCwweDc2LDB4OTUsMHhlMCwweDU0LDB4ZmUsMHhmMCwweDQ0fX0sCi0gezE2LDB4MThlMCwwLHsweDAyLDB4ZjAsMHgzMCwweDNlLDB4MDYsMHhlMCwweDQ0LDB4MDQsMHhmMCwweDgwLDB4MDcsMHg5MCwweDc2LDB4OTUsMHhlMCwweDU0fX0sCi0gezE2LDB4MThmMCwwLHsweGZiLDB4ZjAsMHg5MCwweDc2LDB4MWEsMHhlMCwweGI0LDB4MDEsMHgwOCwweDkwLDB4NzYsMHg5NSwweGUwLDB4OTAsMHg4MCwweDAxfX0sCi0gezE2LDB4MTkwMCwwLHsweGYwLDB4OTAsMHg3NiwweDE5LDB4ZTAsMHhmZiwweGI0LDB4MDEsMHgyMiwweDkwLDB4N2YsMHhmYywweDc0LDB4MzAsMHhmMCwweDkwfX0sCi0gezE2LDB4MTkxMCwwLHsweDdmLDB4ZmYsMHg3NCwweGZjLDB4ZjAsMHg5MCwweDc2LDB4OGYsMHg3NCwweDJiLDB4ZjAsMHg5MCwweDc2LDB4OTcsMHhlMCwweDU0fX0sCi0gezE2LDB4MTkyMCwwLHsweGZkLDB4ZjAsMHhlNCwweDkwLDB4NzYsMHg4MSwweGYwLDB4OTAsMHg3NiwweDgwLDB4ZjAsMHhlZiwweGI0LDB4MDIsMHgyMiwweDkwfX0sCi0gezE2LDB4MTkzMCwwLHsweDdmLDB4ZmMsMHg3NCwweDFjLDB4ZjAsMHg5MCwweDdmLDB4ZmYsMHg3NCwweGZjLDB4ZjAsMHg5MCwweDc2LDB4OGYsMHg3NCwweDJmfX0sCi0gezE2LDB4MTk0MCwwLHsweGYwLDB4OTAsMHg3NiwweDk3LDB4ZTAsMHg0NCwweDAyLDB4ZjAsMHhlNCwweDkwLDB4NzYsMHg4MSwweGYwLDB4OTAsMHg3NiwweDgwfX0sCi0gezE2LDB4MTk1MCwwLHsweGYwLDB4MzAsMHgzZiwweDA5LDB4OTAsMHg3NiwweDk3LDB4ZTAsMHg1NCwweGZlLDB4ZjAsMHg4MCwweDA3LDB4OTAsMHg3NiwweDk3fX0sCi0gezE2LDB4MTk2MCwwLHsweGUwLDB4NDQsMHgwMSwweGYwLDB4OTAsMHg3NiwweDk3LDB4ZTAsMHg1NCwweGZiLDB4ZjAsMHg5MCwweDgwLDB4MDIsMHhmMCwweGQyfX0sCi0gezE2LDB4MTk3MCwwLHsweDJlLDB4MjIsMHg5MCwweDc2LDB4OTUsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDQ0LDB4MDIsMHhmMCwweDQ0LDB4MDgsMHhmMCwweDMwfX0sCi0gezE2LDB4MTk4MCwwLHsweDNlLDB4MDYsMHhlMCwweDQ0LDB4MDQsMHhmMCwweDgwLDB4MDcsMHg5MCwweDc2LDB4OTUsMHhlMCwweDU0LDB4ZmIsMHhmMCwweDkwfX0sCi0gezE2LDB4MTk5MCwwLHsweDc2LDB4MWEsMHhlMCwweGI0LDB4MDEsMHgwOCwweDkwLDB4NzYsMHg5NSwweGUwLDB4OTAsMHg4MCwweDAxLDB4ZjAsMHg5MCwweDc2fX0sCi0gezE2LDB4MTlhMCwwLHsweDE5LDB4ZTAsMHhmZiwweGI0LDB4MDEsMHgyNSwweDkwLDB4N2YsMHhmYywweDc0LDB4Y2MsMHhmMCwweDkwLDB4N2YsMHhmZiwweDc0fX0sCi0gezE2LDB4MTliMCwwLHsweGZjLDB4ZjAsMHg5MCwweDc2LDB4OGYsMHg3NCwweDJiLDB4ZjAsMHg5MCwweDc2LDB4OTcsMHhlMCwweDU0LDB4ZmQsMHhmMCwweDU0fX0sCi0gezE2LDB4MTljMCwwLHsweGZiLDB4ZjAsMHhlNCwweDkwLDB4NzYsMHg4MSwweGYwLDB4OTAsMHg3NiwweDgwLDB4ZjAsMHhlZiwweGI0LDB4MDIsMHgyNSwweDkwfX0sCi0gezE2LDB4MTlkMCwwLHsweDdmLDB4ZmMsMHg3NCwweGM4LDB4ZjAsMHg5MCwweDdmLDB4ZmYsMHg3NCwweGZjLDB4ZjAsMHg5MCwweDc2LDB4OGYsMHg3NCwweDJmfX0sCi0gezE2LDB4MTllMCwwLHsweGYwLDB4OTAsMHg3NiwweDk3LDB4ZTAsMHg0NCwweDAyLDB4ZjAsMHg1NCwweGZiLDB4ZjAsMHhlNCwweDkwLDB4NzYsMHg4MSwweGYwfX0sCi0gezE2LDB4MTlmMCwwLHsweDkwLDB4NzYsMHg4MCwweGYwLDB4ZWYsMHhiNCwweDAzLDB4MjUsMHg5MCwweDdmLDB4ZmMsMHg3NCwweDk4LDB4ZjAsMHg5MCwweDdmfX0sCi0gezE2LDB4MWEwMCwwLHsweGZmLDB4NzQsMHhmYywweGYwLDB4OTAsMHg3NiwweDhmLDB4NzQsMHg1ZiwweGYwLDB4OTAsMHg3NiwweDk3LDB4ZTAsMHg1NCwweGZkfX0sCi0gezE2LDB4MWExMCwwLHsweGYwLDB4NDQsMHgwNCwweGYwLDB4ZTQsMHg5MCwweDc2LDB4ODEsMHhmMCwweDkwLDB4NzYsMHg4MCwweGYwLDB4MzAsMHgzZiwweDA5fX0sCi0gezE2LDB4MWEyMCwwLHsweDkwLDB4NzYsMHg5NywweGUwLDB4NTQsMHhmZSwweGYwLDB4ODAsMHgwNywweDkwLDB4NzYsMHg5NywweGUwLDB4NDQsMHgwMSwweGYwfX0sCi0gezE2LDB4MWEzMCwwLHsweDkwLDB4NzYsMHg5NywweGUwLDB4OTAsMHg4MCwweDAyLDB4ZjAsMHhkMiwweDJlLDB4MjIsMHg5MCwweDc2LDB4OTUsMHhlMCwweDU0fX0sCi0gezE2LDB4MWE0MCwwLHsweGZlLDB4ZjAsMHg0NCwweDAyLDB4ZjAsMHg0NCwweDA4LDB4ZjAsMHgzMCwweDNlLDB4MDYsMHhlMCwweDQ0LDB4MDQsMHhmMCwweDgwfX0sCi0gezE2LDB4MWE1MCwwLHsweDA3LDB4OTAsMHg3NiwweDk1LDB4ZTAsMHg1NCwweGZiLDB4ZjAsMHg5MCwweDc2LDB4MWEsMHhlMCwweGI0LDB4MDEsMHgwOCwweDkwfX0sCi0gezE2LDB4MWE2MCwwLHsweDc2LDB4OTUsMHhlMCwweDkwLDB4ODAsMHgwMSwweGYwLDB4OTAsMHg3NiwweDE5LDB4ZTAsMHhmZiwweGI0LDB4MDEsMHgyNSwweDkwfX0sCi0gezE2LDB4MWE3MCwwLHsweDdmLDB4ZmMsMHg3NCwweGI0LDB4ZjAsMHg5MCwweDdmLDB4ZmYsMHg3NCwweGZjLDB4ZjAsMHg5MCwweDc2LDB4OGYsMHg3NCwweDJifX0sCi0gezE2LDB4MWE4MCwwLHsweGYwLDB4OTAsMHg3NiwweDk3LDB4ZTAsMHg1NCwweGZkLDB4ZjAsMHg1NCwweGZiLDB4ZjAsMHhlNCwweDkwLDB4NzYsMHg4MSwweGYwfX0sCi0gezE2LDB4MWE5MCwwLHsweDkwLDB4NzYsMHg4MCwweGYwLDB4ZWYsMHhiNCwweDAyLDB4MjUsMHg5MCwweDdmLDB4ZmMsMHg3NCwweGIwLDB4ZjAsMHg5MCwweDdmfX0sCi0gezE2LDB4MWFhMCwwLHsweGZmLDB4NzQsMHhmYywweGYwLDB4OTAsMHg3NiwweDhmLDB4NzQsMHgyZiwweGYwLDB4OTAsMHg3NiwweDk3LDB4ZTAsMHg0NCwweDAyfX0sCi0gezE2LDB4MWFiMCwwLHsweGYwLDB4NTQsMHhmYiwweGYwLDB4ZTQsMHg5MCwweDc2LDB4ODEsMHhmMCwweDkwLDB4NzYsMHg4MCwweGYwLDB4ZWYsMHhiNCwweDAzfX0sCi0gezE2LDB4MWFjMCwwLHsweDI1LDB4OTAsMHg3ZiwweGZjLDB4NzQsMHg2OCwweGYwLDB4OTAsMHg3ZiwweGZmLDB4NzQsMHhmYywweGYwLDB4OTAsMHg3NiwweDhmfX0sCi0gezE2LDB4MWFkMCwwLHsweDc0LDB4NWYsMHhmMCwweDkwLDB4NzYsMHg5NywweGUwLDB4NTQsMHhmZCwweGYwLDB4NDQsMHgwNCwweGYwLDB4ZTQsMHg5MCwweDc2fX0sCi0gezE2LDB4MWFlMCwwLHsweDgxLDB4ZjAsMHg5MCwweDc2LDB4ODAsMHhmMCwweDMwLDB4M2YsMHgwOSwweDkwLDB4NzYsMHg5NywweGUwLDB4NTQsMHhmZSwweGYwfX0sCi0gezE2LDB4MWFmMCwwLHsweDgwLDB4MDcsMHg5MCwweDc2LDB4OTcsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDkwLDB4NzYsMHg5NywweGUwLDB4OTAsMHg4MCwweDAyfX0sCi0geyA0LDB4MWIwMCwwLHsweGYwLDB4ZDIsMHgyZSwweDIyfX0sCi0gezE2LDB4MWIwNCwwLHsweDMwLDB4MmMsMHgzOCwweGMyLDB4MmMsMHg5MCwweDc2LDB4MTksMHhlMCwweGZmLDB4YjQsMHgwMSwweDBlLDB4OTAsMHg3NiwweDdjfX0sCi0gezE2LDB4MWIxNCwwLHsweDc0LDB4YzAsMHhmMCwweGEzLDB4NzQsMHgxNCwweGYwLDB4YTMsMHg3NCwweDBiLDB4ZjAsMHhlZiwweGI0LDB4MDIsMHgwZCwweGU0fX0sCi0gezE2LDB4MWIyNCwwLHsweDkwLDB4NzYsMHg3YywweGYwLDB4YTMsMHg3NCwweDEwLDB4ZjAsMHhhMywweDc0LDB4MGMsMHhmMCwweGVmLDB4YjQsMHgwMywweDBifX0sCi0gezEyLDB4MWIzNCwwLHsweGU0LDB4OTAsMHg3NiwweDdjLDB4ZjAsMHhhMywweDc0LDB4MTgsMHhmMCwweGEzLDB4ZjAsMHgyMn19LAotIHsxNiwweDFiNDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFiNTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFiNjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFiNzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFiODAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFiOTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFiYTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFiYjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFiYzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFiZDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFiZTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFiZjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFjMDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFjMTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFjMjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFjMzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFjNDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFjNTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFjNjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFjNzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFjODAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFjOTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFjYTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFjYjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFjYzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFjZDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFjZTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFjZjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFkMDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFkMTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFkMjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFkMzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFkNDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFkNTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFkNjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFkNzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFkODAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFkOTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFkYTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFkYjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFkYzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFkZDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFkZTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFkZjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFlMDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFlMTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFlMjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFlMzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFlNDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFlNTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFlNjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFlNzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFlODAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFlOTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFlYTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNCwweDFlYjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWViZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWVjZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWVkZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWVlZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWVmZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWYwZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWYxZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWYyZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0geyAyLDB4MWYzZSwwLHsweDAwLDB4MDB9fSwKLSB7MTYsMHgxZjQwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgxZjUwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgxZjYwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgxZjcwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgxZjgwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgxZjkwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgxZmEwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgxZmIwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgxZmMwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgxZmQwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgxZmUwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgxZmYwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMDAwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMDEwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMDIwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMDMwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMDQwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMDUwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMDYwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMDcwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMDgwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMDkwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMGEwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMGIwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMGMwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMGQwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMGUwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMGYwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMTAwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMTEwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMTIwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMTMwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMTQwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMTUwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMTYwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMTcwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMTgwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMTkwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMWEwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMWIwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMWMwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMWQwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMWUwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMWYwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMjAwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMjEwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMjIwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMjMwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMjQwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMjUwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMjYwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMjcwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMjgwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMjkwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMmEwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMmIwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMmMwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMmQwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMmUwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMmYwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMzAwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMzEwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMzIwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMzMwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMzQwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMzUwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMzYwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTQsMHgyMzcwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIzN2UsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIzOGUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIzOWUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIzYWUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIzYmUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIzY2UsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIzZGUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIzZWUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIzZmUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI0MGUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI0MWUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI0MmUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI0M2UsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI0NGUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI0NWUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI0NmUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI0N2UsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI0OGUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI0OWUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI0YWUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI0YmUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI0Y2UsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI0ZGUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI0ZWUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI0ZmUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI1MGUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI1MWUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI1MmUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI1M2UsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI1NGUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI1NWUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI1NmUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI1N2UsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI1OGUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI1OWUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI1YWUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI1YmUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI1Y2UsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI1ZGUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI1ZWUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI1ZmUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI2MGUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI2MWUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI2MmUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI2M2UsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI2NGUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI2NWUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI2NmUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI2N2UsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI2OGUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI2OWUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI2YWUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI2YmUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI2Y2UsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI2ZGUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNCwweDI2ZWUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjZmYywwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjcwYywwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjcxYywwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjcyYywwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjczYywwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4Mjc0YywwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4Mjc1YywwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4Mjc2YywwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4Mjc3YywwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4Mjc4YywwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4Mjc5YywwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjdhYywwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjdiYywwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjdjYywwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjdkYywwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjdlYywwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0geyA1LDB4MjdmYywwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MjJ9fSwKLSB7MTYsMHgyODAxLDAsezB4YzIsMHgyMCwweGMyLDB4MjEsMHhjMiwweDJhLDB4OTAsMHg3ZiwweGU4LDB4ZTAsMHgxMiwweDM3LDB4ZjksMHgyOCwweDMwLDB4MDB9fSwKLSB7MTYsMHgyODExLDAsezB4MjgsMHg4YywweDAxLDB4MjgsMHhhMiwweDAyLDB4MmEsMHgxZiwweDIxLDB4MmEsMHg2YSwweDIyLDB4MjksMHgzZCwweDgwLDB4Mjl9fSwKLSB7MTYsMHgyODIxLDAsezB4N2QsMHg4MSwweDI5LDB4ZDEsMHg4MiwweDJhLDB4ODQsMHhhMSwweDJhLDB4YmEsMHhhMiwweDAwLDB4MDAsMHgyYSwweGJmLDB4OTB9fSwKLSB7MTYsMHgyODMxLDAsezB4N2YsMHhlOSwweGUwLDB4MTQsMHg2MCwweDExLDB4MjQsMHhmZSwweDYwLDB4MjgsMHgyNCwweGZlLDB4NjAsMHgzYiwweDI0LDB4ZmN9fSwKLSB7MTYsMHgyODQxLDAsezB4NzAsMHg0MCwweDEyLDB4NGIsMHhhMCwweDQxLDB4Y2IsMHgxMiwweDRkLDB4YTcsMHg0MCwweDAyLDB4NDEsMHhjYiwweDkwLDB4N2Z9fSwKLSB7MTYsMHgyODUxLDAsezB4ZWEsMHhlMCwweGI0LDB4MDEsMHgwNCwweGMyLDB4MjIsMHg0MSwweGNiLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjB9fSwKLSB7MTYsMHgyODYxLDAsezB4NDEsMHhjYiwweDEyLDB4NGQsMHhhOSwweDkwLDB4N2YsMHhlYSwweGUwLDB4YjQsMHgwMSwweDA0LDB4ZDIsMHgyMiwweDQxLDB4Y2J9fSwKLSB7MTYsMHgyODcxLDAsezB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg0MSwweGNiLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjB9fSwKLSB7MTYsMHgyODgxLDAsezB4NDEsMHhjYiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4NDEsMHhjYiwweDkwLDB4N2YsMHhlOSwweGUwLDB4MjR9fSwKLSB7MTYsMHgyODkxLDAsezB4ZjUsMHg3MCwweDA1LDB4MTIsMHg0OCwweDAwLDB4NDEsMHhjYiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4NDF9fSwKLSB7MTYsMHgyOGExLDAsezB4Y2IsMHg5MCwweDdmLDB4ZTksMHhlMCwweDI0LDB4ZmQsMHg2MCwweDU0LDB4MjQsMHgwMiwweDYwLDB4MDIsMHgyMSwweDM0LDB4MTJ9fSwKLSB7MTYsMHgyOGIxLDAsezB4NGQsMHhhNywweDQwLDB4MDIsMHg0MSwweGNiLDB4OTAsMHg3ZiwweGVhLDB4ZTAsMHg3MCwweDM4LDB4OTAsMHg3ZiwweGVjLDB4ZTB9fSwKLSB7MTYsMHgyOGMxLDAsezB4ZjQsMHg1NCwweDgwLDB4ZmYsMHhjNCwweDU0LDB4MGYsMHhmZiwweGUwLDB4NTQsMHgwNywweDJmLDB4MjUsMHhlMCwweDI0LDB4YjR9fSwKLSB7MTYsMHgyOGQxLDAsezB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3ZiwweGY1LDB4ODMsMHhlNCwweGYwLDB4OTAsMHg3ZiwweGVjLDB4ZTAsMHg1NCwweDgwLDB4ZmZ9fSwKLSB7MTYsMHgyOGUxLDAsezB4MTMsMHgxMywweDEzLDB4NTQsMHgxZiwweGZmLDB4ZTAsMHg1NCwweDA3LDB4MmYsMHg5MCwweDdmLDB4ZDcsMHhmMCwweGUwLDB4NDR9fSwKLSB7MTYsMHgyOGYxLDAsezB4MjAsMHhmMCwweDQxLDB4Y2IsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDQxLDB4Y2IsMHgxMiwweDRkLDB4YTl9fSwKLSB7MTYsMHgyOTAxLDAsezB4NDAsMHgwMiwweDQxLDB4Y2IsMHg5MCwweDdmLDB4ZWEsMHhlMCwweDcwLDB4MjAsMHg5MCwweDdmLDB4ZWMsMHhlMCwweGY0LDB4NTR9fSwKLSB7MTYsMHgyOTExLDAsezB4ODAsMHhmZiwweGM0LDB4NTQsMHgwZiwweGZmLDB4ZTAsMHg1NCwweDA3LDB4MmYsMHgyNSwweGUwLDB4MjQsMHhiNCwweGY1LDB4ODJ9fSwKLSB7MTYsMHgyOTIxLDAsezB4ZTQsMHgzNCwweDdmLDB4ZjUsMHg4MywweDc0LDB4MDEsMHhmMCwweDQxLDB4Y2IsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDF9fSwKLSB7MTYsMHgyOTMxLDAsezB4ZjAsMHg0MSwweGNiLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg0MSwweGNiLDB4OTAsMHg3ZiwweGU5LDB4ZTB9fSwKLSB7MTYsMHgyOTQxLDAsezB4NjAsMHgxMiwweDI0LDB4ZjgsMHg2MCwweDA5LDB4MjQsMHgwMiwweDcwLDB4MjksMHgxMiwweDQzLDB4ZGIsMHg0MSwweGNiLDB4MTJ9fSwKLSB7MTYsMHgyOTUxLDAsezB4NGQsMHg1YywweDQxLDB4Y2IsMHgxMiwweDRkLDB4YTUsMHhhMiwweDIyLDB4ZTQsMHgzMywweGZmLDB4MjUsMHhlMCwweGZmLDB4YTJ9fSwKLSB7MTYsMHgyOTYxLDAsezB4MjMsMHhlNCwweDMzLDB4NGYsMHg5MCwweDdmLDB4MDAsMHhmMCwweGU0LDB4YTMsMHhmMCwweDkwLDB4N2YsMHhiNSwweDc0LDB4MDJ9fSwKLSB7MTYsMHgyOTcxLDAsezB4ZjAsMHg0MSwweGNiLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg0MSwweGNiLDB4OTAsMHg3ZiwweGU5LDB4ZTB9fSwKLSB7MTYsMHgyOTgxLDAsezB4NjAsMHgzMywweDI0LDB4ZjYsMHg2MCwweDJhLDB4MjQsMHgwNCwweDcwLDB4M2QsMHg5MCwweDdmLDB4ZWIsMHhlMCwweDI0LDB4ZGV9fSwKLSB7MTYsMHgyOTkxLDAsezB4NjAsMHgwYywweDA0LDB4NzAsMHgxMiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4NDEsMHhjYiwweDkwLDB4N2Z9fSwKLSB7MTYsMHgyOWExLDAsezB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDQxLDB4Y2IsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDQxLDB4Y2J9fSwKLSB7MTYsMHgyOWIxLDAsezB4MTIsMHg0NiwweDg1LDB4NDEsMHhjYiwweDEyLDB4NGQsMHhhNSwweGU0LDB4OTAsMHg3ZiwweDAwLDB4ZjAsMHhhMywweGYwLDB4OTB9fSwKLSB7MTYsMHgyOWMxLDAsezB4N2YsMHhiNSwweDc0LDB4MDIsMHhmMCwweDQxLDB4Y2IsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDQxLDB4Y2J9fSwKLSB7MTYsMHgyOWQxLDAsezB4OTAsMHg3ZiwweGU5LDB4ZTAsMHgyNCwweGY0LDB4NjAsMHgzNCwweDI0LDB4MGMsMHg3MCwweDM5LDB4MTIsMHg0ZCwweGE1LDB4OTB9fSwKLSB7MTYsMHgyOWUxLDAsezB4N2YsMHhlYywweGUwLDB4ZjQsMHg1NCwweDgwLDB4ZmYsMHhjNCwweDU0LDB4MGYsMHhmZiwweGUwLDB4NTQsMHgwNywweDJmLDB4MjV9fSwKLSB7MTYsMHgyOWYxLDAsezB4ZTAsMHgyNCwweGI0LDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3ZiwweGY1LDB4ODMsMHhlMCwweDU0LDB4ZmQsMHg5MCwweDdmLDB4MDB9fSwKLSB7MTYsMHgyYTAxLDAsezB4ZjAsMHhlNCwweGEzLDB4ZjAsMHg5MCwweDdmLDB4YjUsMHg3NCwweDAyLDB4ZjAsMHg0MSwweGNiLDB4OTAsMHg3ZiwweGI0LDB4ZTB9fSwKLSB7MTYsMHgyYTExLDAsezB4NDQsMHgwMSwweGYwLDB4NDEsMHhjYiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4NDEsMHhjYiwweDkwLDB4N2Z9fSwKLSB7MTYsMHgyYTIxLDAsezB4ZTksMHhlMCwweDI0LDB4ZjYsMHg2MCwweDEyLDB4MTQsMHg2MCwweDFhLDB4MjQsMHgwMiwweDcwLDB4MWQsMHhkMiwweDIwLDB4OTB9fSwKLSB7MTYsMHgyYTMxLDAsezB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4ODAsMHgxMiwweGQyLDB4MjAsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDF9fSwKLSB7MTYsMHgyYTQxLDAsezB4ZjAsMHg4MCwweDA3LDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMCwweDIwLDB4MTgsMHg5MCwweDdmLDB4ZWV9fSwKLSB7MTYsMHgyYTUxLDAsezB4ZTAsMHg3MCwweDA0LDB4YTMsMHhlMCwweDYwLDB4MGIsMHhkMiwweDI5LDB4ZDIsMHgyNywweDEyLDB4MTcsMHg0YSwweGQyLDB4MmF9fSwKLSB7MTYsMHgyYTYxLDAsezB4ODAsMHgwMywweDEyLDB4MDgsMHgwMCwweGMyLDB4MjAsMHg4MCwweDYxLDB4OTAsMHg3ZiwweGVlLDB4ZTAsMHg3MCwweDA0LDB4YTN9fSwKLSB7MTYsMHgyYTcxLDAsezB4ZTAsMHg2MCwweDBiLDB4ZDIsMHgyOSwweGQyLDB4MjgsMHgxMiwweDE3LDB4NGEsMHhkMiwweDJhLDB4ODAsMHg0YywweDEyLDB4Mzh9fSwKLSB7MTYsMHgyYTgxLDAsezB4NzQsMHg4MCwweDQ3LDB4OTAsMHg3ZiwweGU5LDB4ZTAsMHgyNCwweGZlLDB4NjAsMHgxMiwweDE0LDB4NjAsMHgxYSwweDI0LDB4MDJ9fSwKLSB7MTYsMHgyYTkxLDAsezB4NzAsMHgxZCwweGQyLDB4MjEsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDgwLDB4MTIsMHhkMiwweDIxLDB4OTB9fSwKLSB7MTYsMHgyYWExLDAsezB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4ODAsMHgwNywweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjB9fSwKLSB7MTYsMHgyYWIxLDAsezB4MjEsMHgwMywweDEyLDB4MTAsMHgwMCwweGMyLDB4MjEsMHg4MCwweDExLDB4MTIsMHgyYSwweGQ2LDB4ODAsMHgwYywweDEyLDB4NGR9fSwKLSB7MTYsMHgyYWMxLDAsezB4YWIsMHg1MCwweDA3LDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMCwweDJhLDB4MDcsMHg5MCwweDdmLDB4YjR9fSwKLSB7IDUsMHgyYWQxLDAsezB4ZTAsMHg0NCwweDAyLDB4ZjAsMHgyMn19LAotIHsxNiwweDJhZDYsMCx7MHhlNCwweDkwLDB4NzYsMHgyNywweGYwLDB4OTAsMHg3NiwweDI3LDB4ZTAsMHhmZiwweDc1LDB4ZjAsMHgwZiwweGE0LDB4MjQsMHg0Mn19LAotIHsxNiwweDJhZTYsMCx7MHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4ZmUsMHg5MCwweDdmLDB4ZWMsMHhlMCwweGZkLDB4ZWUsMHg2ZH19LAotIHsxNiwweDJhZjYsMCx7MHg2MCwweDBlLDB4ZWYsMHhjMywweDk0LDB4MDYsMHg1MCwweDA4LDB4OTAsMHg3NiwweDI3LDB4ZTAsMHgwNCwweGYwLDB4ODAsMHhkNX19LAotIHsxNiwweDJiMDYsMCx7MHhlZiwweGI0LDB4MDYsMHgwOCwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHhlZiwweDc1LDB4ZjAsMHgwZn19LAotIHsxNiwweDJiMTYsMCx7MHhhNCwweDI0LDB4NDEsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4OTAsMHg3NiwweDI4LDB4ZjAsMHgyNH19LAotIHsxNiwweDJiMjYsMCx7MHg5ZiwweDcwLDB4MDIsMHhhMSwweDc0LDB4MjQsMHgyMSwweDYwLDB4MDIsMHhhMSwweGExLDB4OTAsMHg3ZiwweGU5LDB4ZTAsMHgyNH19LAotIHsxNiwweDJiMzYsMCx7MHg3ZSwweDcwLDB4MDIsMHg2MSwweGZjLDB4MTQsMHg3MCwweDAyLDB4ODEsMHhiNSwweDI0LDB4MDIsMHg2MCwweDAyLDB4YTEsMHg2Y319LAotIHsxNiwweDJiNDYsMCx7MHhlZiwweDc1LDB4ZjAsMHgwZiwweGE0LDB4MjQsMHg0MywweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHhmY319LAotIHsxNiwweDJiNTYsMCx7MHhhMywweGUwLDB4ZmQsMHhhMywweGUwLDB4ZmUsMHhhMywweGUwLDB4ZmYsMHg3YiwweDQ0LDB4N2EsMHhhYywweDc5LDB4MDAsMHg3OH19LAotIHsxNiwweDJiNjYsMCx7MHgwMCwweGMzLDB4MTIsMHgzNywweGFiLDB4NzAsMHgxMywweDkwLDB4N2YsMHgwMCwweDc0LDB4NDQsMHhmMCwweGEzLDB4NzQsMHhhY319LAotIHsxNiwweDJiNzYsMCx7MHhmMCwweGU0LDB4YTMsMHhmMCwweDkwLDB4N2YsMHhiNSwweDc0LDB4MDMsMHhmMCwweDkwLDB4NzYsMHgyNywweGUwLDB4NzUsMHhmMH19LAotIHsxNiwweDJiODYsMCx7MHgwZiwweGE0LDB4MjQsMHg0MywweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHhmYywweGEzLDB4ZTAsMHhmZH19LAotIHsxNiwweDJiOTYsMCx7MHhhMywweGUwLDB4ZmUsMHhhMywweGUwLDB4ZmYsMHg3YiwweDgwLDB4N2EsMHhiYiwweDc5LDB4MDAsMHg3OCwweDAwLDB4YzMsMHgxMn19LAotIHsxNiwweDJiYTYsMCx7MHgzNywweGFiLDB4NzAsMHgxMywweDkwLDB4N2YsMHgwMCwweDc0LDB4ODAsMHhmMCwweGEzLDB4NzQsMHhiYiwweGYwLDB4ZTQsMHhhM319LAotIHsxNiwweDJiYjYsMCx7MHhmMCwweDkwLDB4N2YsMHhiNSwweDc0LDB4MDMsMHhmMCwweDkwLDB4NzYsMHgyNywweGUwLDB4NzUsMHhmMCwweDBmLDB4YTQsMHgyNH19LAotIHsxNiwweDJiYzYsMCx7MHg0MywweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHhmYywweGEzLDB4ZTAsMHhmZCwweGEzLDB4ZTAsMHhmZX19LAotIHsxNiwweDJiZDYsMCx7MHhhMywweGUwLDB4ZmYsMHg3YiwweDAwLDB4N2EsMHg3NywweDc5LDB4MDEsMHg3OCwweDAwLDB4YzMsMHgxMiwweDM3LDB4YWIsMHg2MH19LAotIHsxNiwweDJiZTYsMCx7MHgwMiwweGExLDB4YTgsMHg5MCwweDdmLDB4MDAsMHhmMCwweGEzLDB4NzQsMHg3NywweGYwLDB4YTMsMHg3NCwweDAxLDB4ZjAsMHg5MH19LAotIHsxNiwweDJiZjYsMCx7MHg3ZiwweGI1LDB4NzQsMHgwMywweGYwLDB4MjIsMHg5MCwweDc2LDB4MjcsMHhlMCwweDc1LDB4ZjAsMHgwZiwweGE0LDB4MjQsMHg0N319LAotIHsxNiwweDJjMDYsMCx7MHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4ZmMsMHhhMywweGUwLDB4ZmQsMHhhMywweGUwLDB4ZmUsMHhhM319LAotIHsxNiwweDJjMTYsMCx7MHhlMCwweGZmLDB4N2IsMHg0NCwweDdhLDB4YWMsMHg3OSwweDAwLDB4NzgsMHgwMCwweGMzLDB4MTIsMHgzNywweGFiLDB4NzAsMHgxM319LAotIHsxNiwweDJjMjYsMCx7MHg5MCwweDdmLDB4MDAsMHg3NCwweDQ0LDB4ZjAsMHhhMywweDc0LDB4YWMsMHhmMCwweGU0LDB4YTMsMHhmMCwweDkwLDB4N2YsMHhiNX19LAotIHsxNiwweDJjMzYsMCx7MHg3NCwweDAzLDB4ZjAsMHg5MCwweDc2LDB4MjcsMHhlMCwweDc1LDB4ZjAsMHgwZiwweGE0LDB4MjQsMHg0NywweGY1LDB4ODIsMHhlNH19LAotIHsxNiwweDJjNDYsMCx7MHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4ZmMsMHhhMywweGUwLDB4ZmQsMHhhMywweGUwLDB4ZmUsMHhhMywweGUwLDB4ZmYsMHg3Yn19LAotIHsxNiwweDJjNTYsMCx7MHg4MCwweDdhLDB4YmIsMHg3OSwweDAwLDB4NzgsMHgwMCwweGMzLDB4MTIsMHgzNywweGFiLDB4NzAsMHgxMywweDkwLDB4N2YsMHgwMH19LAotIHsxNiwweDJjNjYsMCx7MHg3NCwweDgwLDB4ZjAsMHhhMywweDc0LDB4YmIsMHhmMCwweGU0LDB4YTMsMHhmMCwweDkwLDB4N2YsMHhiNSwweDc0LDB4MDMsMHhmMH19LAotIHsxNiwweDJjNzYsMCx7MHg5MCwweDc2LDB4MjcsMHhlMCwweDc1LDB4ZjAsMHgwZiwweGE0LDB4MjQsMHg0NywweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNX19LAotIHsxNiwweDJjODYsMCx7MHg4MywweGUwLDB4ZmMsMHhhMywweGUwLDB4ZmQsMHhhMywweGUwLDB4ZmUsMHhhMywweGUwLDB4ZmYsMHg3YiwweDAwLDB4N2EsMHg3N319LAotIHsxNiwweDJjOTYsMCx7MHg3OSwweDAxLDB4NzgsMHgwMCwweGMzLDB4MTIsMHgzNywweGFiLDB4NjAsMHgwMiwweGExLDB4YTgsMHg5MCwweDdmLDB4MDAsMHhmMH19LAotIHsxNiwweDJjYTYsMCx7MHhhMywweDc0LDB4NzcsMHhmMCwweGEzLDB4NzQsMHgwMSwweGYwLDB4OTAsMHg3ZiwweGI1LDB4NzQsMHgwMywweGYwLDB4MjIsMHg5MH19LAotIHsxNiwweDJjYjYsMCx7MHg3NiwweDI3LDB4ZTAsMHg3NSwweGYwLDB4MGYsMHhhNCwweDI0LDB4NGIsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4M319LAotIHsxNiwweDJjYzYsMCx7MHhlMCwweGZjLDB4YTMsMHhlMCwweGZkLDB4YTMsMHhlMCwweGZlLDB4YTMsMHhlMCwweGZmLDB4N2IsMHg0NCwweDdhLDB4YWMsMHg3OX19LAotIHsxNiwweDJjZDYsMCx7MHgwMCwweDc4LDB4MDAsMHhjMywweDEyLDB4MzcsMHhhYiwweDcwLDB4MTMsMHg5MCwweDdmLDB4MDAsMHg3NCwweDQ0LDB4ZjAsMHhhM319LAotIHsxNiwweDJjZTYsMCx7MHg3NCwweGFjLDB4ZjAsMHhlNCwweGEzLDB4ZjAsMHg5MCwweDdmLDB4YjUsMHg3NCwweDAzLDB4ZjAsMHg5MCwweDc2LDB4MjcsMHhlMH19LAotIHsxNiwweDJjZjYsMCx7MHg3NSwweGYwLDB4MGYsMHhhNCwweDI0LDB4NGIsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4ZmMsMHhhM319LAotIHsxNiwweDJkMDYsMCx7MHhlMCwweGZkLDB4YTMsMHhlMCwweGZlLDB4YTMsMHhlMCwweGZmLDB4N2IsMHg4MCwweDdhLDB4YmIsMHg3OSwweDAwLDB4NzgsMHgwMH19LAotIHsxNiwweDJkMTYsMCx7MHhjMywweDEyLDB4MzcsMHhhYiwweDcwLDB4MTMsMHg5MCwweDdmLDB4MDAsMHg3NCwweDgwLDB4ZjAsMHhhMywweDc0LDB4YmIsMHhmMH19LAotIHsxNiwweDJkMjYsMCx7MHhlNCwweGEzLDB4ZjAsMHg5MCwweDdmLDB4YjUsMHg3NCwweDAzLDB4ZjAsMHg5MCwweDc2LDB4MjcsMHhlMCwweDc1LDB4ZjAsMHgwZn19LAotIHsxNiwweDJkMzYsMCx7MHhhNCwweDI0LDB4NGIsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4ZmMsMHhhMywweGUwLDB4ZmQsMHhhM319LAotIHsxNiwweDJkNDYsMCx7MHhlMCwweGZlLDB4YTMsMHhlMCwweGZmLDB4N2IsMHgwMCwweDdhLDB4NzcsMHg3OSwweDAxLDB4NzgsMHgwMCwweGMzLDB4MTIsMHgzN319LAotIHsxNiwweDJkNTYsMCx7MHhhYiwweDcwLDB4NGYsMHg5MCwweDdmLDB4MDAsMHhmMCwweGEzLDB4NzQsMHg3NywweGYwLDB4YTMsMHg3NCwweDAxLDB4ZjAsMHg5MH19LAotIHsxNiwweDJkNjYsMCx7MHg3ZiwweGI1LDB4NzQsMHgwMywweGYwLDB4MjIsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3Zn19LAotIHsxNiwweDJkNzYsMCx7MHhlOSwweGUwLDB4MjQsMHg3ZiwweDcwLDB4MWUsMHg5MCwweDc2LDB4MjcsMHhlMCwweDc1LDB4ZjAsMHgwZiwweGE0LDB4MjQsMHg0Zn19LAotIHsxNiwweDJkODYsMCx7MHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4OTAsMHg3ZiwweDAwLDB4ZjAsMHg5MCwweDdmLDB4YjUsMHg3NH19LAotIHsxNiwweDJkOTYsMCx7MHgwMSwweGYwLDB4ODAsMHgwNywweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NH19LAotIHsgMywweDJkYTYsMCx7MHgwMSwweGYwLDB4MjJ9fSwKLSB7MTYsMHgyZGE5LDAsezB4ZTQsMHg5MCwweDc2LDB4MzYsMHhmMCwweGUwLDB4ZmYsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0LDB4MGUsMHhmNSwweDgyLDB4ZTR9fSwKLSB7MTYsMHgyZGI5LDAsezB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDAxLDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwMywweGE0LDB4MjQsMHgwZiwweGY1LDB4ODJ9fSwKLSB7MTYsMHgyZGM5LDAsezB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4MDEsMHhmMCwweGVmLDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNCwweDEwLDB4ZjV9fSwKLSB7MTYsMHgyZGQ5LDAsezB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTQsMHhmMCwweDkwLDB4NzYsMHgzNiwweGUwLDB4MDQsMHhmMCwweGUwLDB4ZmZ9fSwKLSB7MTYsMHgyZGU5LDAsezB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNCwweDBlLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDEwLDB4ZjB9fSwKLSB7MTYsMHgyZGY5LDAsezB4ZWYsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0LDB4MGYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4MDV9fSwKLSB7MTYsMHgyZTA5LDAsezB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwMywweGE0LDB4MjQsMHgxMCwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTR9fSwKLSB7MTYsMHgyZTE5LDAsezB4ZjAsMHg5MCwweDc2LDB4MzYsMHhlMCwweDA0LDB4ZjAsMHhlMCwweGZmLDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNCwweDBlLDB4ZjV9fSwKLSB7MTYsMHgyZTI5LDAsezB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHgwMiwweGYwLDB4ZWYsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0LDB4MGZ9fSwKLSB7MTYsMHgyZTM5LDAsezB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDAyLDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwMywweGE0LDB4MjR9fSwKLSB7MTYsMHgyZTQ5LDAsezB4MTAsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGU0LDB4ZjAsMHg5MCwweDc2LDB4MzYsMHhlMCwweDA0LDB4ZjB9fSwKLSB7MTYsMHgyZTU5LDAsezB4ZTAsMHhmZiwweDc1LDB4ZjAsMHgwMywweGE0LDB4MjQsMHgwZSwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4NzR9fSwKLSB7MTYsMHgyZTY5LDAsezB4MDEsMHhmMCwweGVmLDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNCwweDBmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODN9fSwKLSB7MTYsMHgyZTc5LDAsezB4NzQsMHgwMywweGYwLDB4ZWYsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0LDB4MTAsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjV9fSwKLSB7MTYsMHgyZTg5LDAsezB4ODMsMHhlNCwweGYwLDB4OTAsMHg3NiwweDM2LDB4ZTAsMHgwNCwweGYwLDB4ZTAsMHhmZiwweDc1LDB4ZjAsMHgwMywweGE0LDB4MjR9fSwKLSB7MTYsMHgyZTk5LDAsezB4MGUsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4MTAsMHhmMCwweGVmLDB4NzUsMHhmMCwweDAzLDB4YTR9fSwKLSB7MTYsMHgyZWE5LDAsezB4MjQsMHgwZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHgwNiwweGYwLDB4ZWYsMHg3NSwweGYwLDB4MDN9fSwKLSB7MTYsMHgyZWI5LDAsezB4YTQsMHgyNCwweDEwLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlNCwweGYwLDB4OTAsMHg3NiwweDM2LDB4ZTB9fSwKLSB7MTYsMHgyZWM5LDAsezB4MDQsMHhmMCwweGUwLDB4ZmYsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0LDB4MGUsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjV9fSwKLSB7MTYsMHgyZWQ5LDAsezB4ODMsMHg3NCwweDAyLDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwMywweGE0LDB4MjQsMHgwZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzV9fSwKLSB7MTYsMHgyZWU5LDAsezB4ZjUsMHg4MywweDc0LDB4MDQsMHhmMCwweGVmLDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNCwweDEwLDB4ZjUsMHg4MiwweGU0LDB4MzR9fSwKLSB7MTYsMHgyZWY5LDAsezB4NzUsMHhmNSwweDgzLDB4ZTQsMHhmMCwweDkwLDB4NzYsMHgzNiwweGUwLDB4MDQsMHhmMCwweGUwLDB4ZmYsMHg3NSwweGYwLDB4MDN9fSwKLSB7MTYsMHgyZjA5LDAsezB4YTQsMHgyNCwweDBlLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDAyLDB4ZjAsMHhlZiwweDc1LDB4ZjB9fSwKLSB7MTYsMHgyZjE5LDAsezB4MDMsMHhhNCwweDI0LDB4MGYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4MDgsMHhmMCwweGVmLDB4NzV9fSwKLSB7MTYsMHgyZjI5LDAsezB4ZjAsMHgwMywweGE0LDB4MjQsMHgxMCwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHgwNCwweGYwLDB4OTB9fSwKLSB7MTYsMHgyZjM5LDAsezB4NzYsMHgzNiwweGUwLDB4MDQsMHhmMCwweGUwLDB4ZmYsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0LDB4MGUsMHhmNSwweDgyLDB4ZTR9fSwKLSB7MTYsMHgyZjQ5LDAsezB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDAyLDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwMywweGE0LDB4MjQsMHgwZiwweGY1LDB4ODJ9fSwKLSB7MTYsMHgyZjU5LDAsezB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4MGEsMHhmMCwweGVmLDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNCwweDEwLDB4ZjV9fSwKLSB7MTYsMHgyZjY5LDAsezB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHgwNCwweGYwLDB4OTAsMHg3NiwweDM2LDB4ZTAsMHgwNCwweGYwLDB4ZTB9fSwKLSB7MTYsMHgyZjc5LDAsezB4ZmYsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0LDB4MGUsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4MDJ9fSwKLSB7MTYsMHgyZjg5LDAsezB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwMywweGE0LDB4MjQsMHgwZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4NzR9fSwKLSB7MTYsMHgyZjk5LDAsezB4MDksMHhmMCwweGVmLDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNCwweDEwLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODN9fSwKLSB7MTYsMHgyZmE5LDAsezB4NzQsMHgwNCwweGYwLDB4OTAsMHg3NiwweDM2LDB4ZTAsMHgwNCwweGYwLDB4ZTAsMHhmZiwweDc1LDB4ZjAsMHgwMywweGE0LDB4MjR9fSwKLSB7MTYsMHgyZmI5LDAsezB4MGUsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4MDIsMHhmMCwweGVmLDB4NzUsMHhmMCwweDAzLDB4YTR9fSwKLSB7MTYsMHgyZmM5LDAsezB4MjQsMHgwZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHgwNywweGYwLDB4ZWYsMHg3NSwweGYwLDB4MDN9fSwKLSB7MTQsMHgyZmQ5LDAsezB4YTQsMHgyNCwweDEwLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDA0LDB4ZjAsMHgyMn19LAotIHsxNiwweDJmZTcsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHhkMiwweDI2LDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGFiLDB4NzQsMHgwMX19LAotIHsgOCwweDJmZjcsMCx7MHhmMCwweGQwLDB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfX0sCi0geyAxLDB4MmZmZiwwLHsweDMyfX0sCi0gezE2LDB4MzAwMCwwLHsweDkwLDB4N2YsMHhiNiwweGUwLDB4MjAsMHhlMSwweDAyLDB4YzIsMHgzZCwweGQyLDB4MzYsMHgyMCwweDM2LDB4MDIsMHg0MSwweDZlfX0sCi0gezE2LDB4MzAxMCwwLHsweDMwLDB4M2QsMHgwMiwweDQxLDB4NmUsMHg5MCwweDgwLDB4MDcsMHhlMCwweDYwLDB4MDQsMHhkMiwweDM2LDB4ODAsMHgwMiwweGMyfX0sCi0gezE2LDB4MzAyMCwwLHsweDM2LDB4MjAsMHgzNiwweDAyLDB4NDEsMHgyZSwweGQyLDB4MzUsMHhlNCwweGY1LDB4MWEsMHg5MCwweDgwLDB4MDQsMHhlMCwweGY1fX0sCi0gezE2LDB4MzAzMCwwLHsweDE5LDB4NzQsMHgwOCwweDI1LDB4MGUsMHhmOCwweGE2LDB4MTksMHg4NSwweDE5LDB4MTgsMHhlNSwweDE4LDB4MjAsMHhlNywweDA0fX0sCi0gezE2LDB4MzA0MCwwLHsweGQyLDB4MzgsMHg4MCwweDAyLDB4YzIsMHgzOCwweDMwLDB4MzgsMHgwMiwweDIxLDB4ZDQsMHhlNCwweGY1LDB4MTYsMHhlNSwweDE5fX0sCi0gezE2LDB4MzA1MCwwLHsweGI0LDB4ZjAsMHgwYywweGQyLDB4MzksMHg3NSwweDA4LDB4MDQsMHg3NSwweDA5LDB4ZjAsMHgwNSwweDBlLDB4ODAsMHgwMiwweDA1fX0sCi0gezE2LDB4MzA2MCwwLHsweDE2LDB4ZTUsMHgxOSwweDY0LDB4ZjcsMHg3MCwweDNkLDB4YzIsMHgzOSwweGU1LDB4MGUsMHgyNCwweGZlLDB4NjAsMHgxNywweDE0fX0sCi0gezE2LDB4MzA3MCwwLHsweDYwLDB4MjIsMHgyNCwweDAzLDB4NzAsMHgyOSwweDc1LDB4MDgsMHgwNSwweDc1LDB4MDksMHhmNywweGU0LDB4ZjUsMHgwYSwweGY1fX0sCi0gezE2LDB4MzA4MCwwLHsweDBiLDB4NzUsMHgwZSwweDA0LDB4ODAsMHgyMCwweDc1LDB4MDgsMHgwNiwweDc1LDB4MGEsMHhmNywweGU0LDB4ZjUsMHgwYiwweDc1fX0sCi0gezE2LDB4MzA5MCwwLHsweDBlLDB4MDQsMHg4MCwweDEyLDB4NzUsMHgwOCwweDA3LDB4NzUsMHgwYiwweGY3LDB4NzUsMHgwZSwweDA0LDB4ODAsMHgwNywweDEyfX0sCi0gezE2LDB4MzBhMCwwLHsweDQ4LDB4ZjMsMHg4MCwweDAyLDB4MDUsMHgxNiwweGU1LDB4MTksMHg1NCwweGY4LDB4NjQsMHhmOCwweDcwLDB4M2IsMHhjMiwweDM1fX0sCi0gezE2LDB4MzBiMCwwLHsweGU1LDB4MTksMHgyNCwweDA3LDB4NjAsMHgwYywweDI0LDB4ZmMsMHg2MCwweDA4LDB4MjQsMHgwNSwweDI0LDB4ZjgsMHg1MCwweDA2fX0sCi0gezE2LDB4MzBjMCwwLHsweDgwLDB4MDgsMHhkMiwweDNhLDB4ODAsMHgwNiwweGMyLDB4M2EsMHg4MCwweDAyLDB4ZDIsMHgzYSwweDc1LDB4MWEsMHgwMSwweDIwfX0sCi0gezE2LDB4MzBkMCwwLHsweDNhLDB4MTksMHg5MCwweDdlLDB4ODAsMHg3NCwweDBmLDB4ZjAsMHhhMywweGU1LDB4MTksMHhmMCwweGU0LDB4YTMsMHhmMCwweGEzfX0sCi0gezE2LDB4MzBlMCwwLHsweGYwLDB4OTAsMHg3ZiwweGI3LDB4NzQsMHgwNCwweGYwLDB4ODAsMHgwMiwweDA1LDB4MTYsMHgyMCwweDM5LDB4NmQsMHhlNSwweDE5fX0sCi0gezE2LDB4MzBmMCwwLHsweDY0LDB4ZjcsMHg2MCwweDY3LDB4ZTUsMHgxYSwweDcwLDB4NjMsMHhlNSwweDE4LDB4NTQsMHhmMCwweDY0LDB4ZjAsMHg3MCwweDU5fX0sCi0gezE2LDB4MzEwMCwwLHsweDg1LDB4MTgsMHgxOSwweGY1LDB4MGUsMHhlNSwweDE5LDB4MjQsMHgwZiwweDYwLDB4MWIsMHgyNCwweGZlLDB4NjAsMHgxNywweDI0fX0sCi0gezE2LDB4MzExMCwwLHsweGZkLDB4NjAsMHgyMiwweDE0LDB4NjAsMHgxZiwweDI0LDB4MDUsMHg3MCwweDJmLDB4NzUsMHgwOCwweDAzLDB4MDUsMHgwZSwweDg1fX0sCi0gezE2LDB4MzEyMCwwLHsweDE4LDB4MDksMHhkMiwweDM3LDB4ODAsMHgyOCwweDc1LDB4MDgsMHgwMiwweDA1LDB4MGUsMHg4NSwweDE4LDB4MDksMHg3NSwweDE0fX0sCi0gezE2LDB4MzEzMCwwLHsweDAxLDB4ZDIsMHgzNywweDgwLDB4MTksMHg3NSwweDA4LDB4MDUsMHgwNSwweDBlLDB4ODUsMHgxOCwweDA5LDB4ZTQsMHhmNSwweDBhfX0sCi0gezE2LDB4MzE0MCwwLHsweGY1LDB4MGIsMHg3NSwweDBlLDB4MDMsMHhkMiwweDM3LDB4ODAsMHgwNSwweDEyLDB4NDgsMHhmMywweGMyLDB4MzUsMHgzMCwweDM1fX0sCi0gezE2LDB4MzE1MCwwLHsweDBhLDB4ODUsMHgwOCwweDEzLDB4ODUsMHgxOCwweDEyLDB4ODAsMHgwMiwweDA1LDB4MTYsMHg4NSwweDE4LDB4MTksMHhlNSwweDE2fX0sCi0gezE2LDB4MzE2MCwwLHsweDY0LDB4MDQsMHg3MCwweDYyLDB4ZjUsMHgwZSwweGU1LDB4MTksMHg1NCwweGYwLDB4ZjUsMHgxOSwweGY1LDB4MTUsMHg4NSwweDE4fX0sCi0gezE2LDB4MzE3MCwwLHsweDE5LDB4ZTUsMHgxNSwweDI0LDB4NzAsMHg2MCwweDE4LDB4MjQsMHhmMCwweDYwLDB4MTQsMHgyNCwweGYwLDB4NjAsMHgxMCwweDI0fX0sCi0gezE2LDB4MzE4MCwwLHsweGYwLDB4NjAsMHgxZSwweDI0LDB4ZjAsMHg2MCwweDFhLDB4MjQsMHhmMCwweDYwLDB4MDQsMHgyNCwweDYwLDB4NzAsMHgyNywweGU1fX0sCi0gezE2LDB4MzE5MCwwLHsweDE1LDB4YzQsMHg1NCwweDBmLDB4ZjUsMHgxOSwweGY1LDB4MDgsMHgwNSwweDBlLDB4ODUsMHgxOCwweDA5LDB4ZDIsMHgzNywweDgwfX0sCi0gezE2LDB4MzFhMCwwLHsweDFhLDB4ZTUsMHgxNSwweGM0LDB4NTQsMHgwZiwweGY1LDB4MTksMHhmNSwweDA4LDB4MDUsMHgwZSwweDg1LDB4MTgsMHgwOSwweDc1fX0sCi0gezE2LDB4MzFiMCwwLHsweDE0LDB4MDEsMHhkMiwweDM3LDB4ODAsMHgwNSwweDEyLDB4NDgsMHhmMywweGMyLDB4MzUsMHgzMCwweDM1LDB4MGEsMHg4NSwweDE5fX0sCi0gezE2LDB4MzFjMCwwLHsweDEzLDB4ODUsMHgxOCwweDEyLDB4ODAsMHgwMiwweDA1LDB4MTYsMHhlNSwweDE2LDB4ZDMsMHg5NCwweDA1LDB4NDAsMHg1NywweDEyfX0sCi0gezE2LDB4MzFkMCwwLHsweDQ4LDB4ZjMsMHg4MCwweDUyLDB4MzAsMHgzOSwweDE3LDB4ZTUsMHgwZSwweDcwLDB4MGEsMHg4NSwweDA4LDB4MDksMHg3NSwweDA4fX0sCi0gezE2LDB4MzFlMCwwLHsweDA0LDB4MDUsMHgwZSwweDgwLDB4NDEsMHg3NCwweDA4LDB4MjUsMHgwZSwweGY4LDB4YTYsMHgxOSwweDgwLDB4MzgsMHgyMCwweDM3fX0sCi0gezE2LDB4MzFmMCwwLHsweDJhLDB4ZTUsMHgwZSwweGI0LDB4MDEsMHgwZiwweDg1LDB4MDgsMHgwYSwweDg1LDB4MDksMHgwYiwweDg1LDB4MTMsMHgwOCwweDg1fX0sCi0gezE2LDB4MzIwMCwwLHsweDEyLDB4MDksMHg3NSwweDBlLDB4MDQsMHhlNSwweDE0LDB4YjQsMHgwMSwweDFjLDB4ODUsMHgwOCwweDBhLDB4ZTQsMHhmNSwweDBifX0sCi0gezE2LDB4MzIxMCwwLHsweDg1LDB4MTMsMHgwOCwweDg1LDB4MTIsMHgwOSwweDc1LDB4MGUsMHgwNCwweDgwLDB4MGIsMHhlNSwweDE0LDB4YjQsMHgwMSwweDA2fX0sCi0gezE2LDB4MzIyMCwwLHsweGU0LDB4ZjUsMHgwYiwweDc1LDB4MGUsMHgwNCwweGU0LDB4ZjUsMHgxYSwweDMwLDB4MzUsMHgwMiwweDA1LDB4MGUsMHhlNSwweDBlfX0sCi0gezE2LDB4MzIzMCwwLHsweGQzLDB4OTQsMHgwMywweDUwLDB4MDIsMHgwMSwweDBiLDB4YzIsMHgzNywweGU0LDB4ZjUsMHgwZSwweGY1LDB4MTAsMHhjMiwweDM2fX0sCi0gezE2LDB4MzI0MCwwLHsweGQyLDB4M2QsMHhmNSwweDE0LDB4NzQsMHgwOCwweDI1LDB4MTAsMHhmOCwweGU2LDB4ZmYsMHg3NCwweDgwLDB4MjUsMHgxMCwweGY1fX0sCi0gezE2LDB4MzI1MCwwLHsweDgyLDB4ZTQsMHgzNCwweDdlLDB4ZjUsMHg4MywweGVmLDB4ZjAsMHg3NCwweDA4LDB4MjUsMHgxMCwweGY4LDB4ZTQsMHhmNiwweDA1fX0sCi0gezE1LDB4MzI2MCwwLHsweDEwLDB4ZTUsMHgxMCwweGI0LDB4MDQsMHhkZSwweDkwLDB4N2YsMHhiNywweDc0LDB4MDQsMHhmMCwweDAxLDB4MGIsMHgyMn19LAotIHsxNiwweDMyNmYsMCx7MHg5MCwweDc2LDB4MTgsMHhlMCwweGZmLDB4NjQsMHgwNSwweDcwLDB4NDIsMHg5MCwweDc1LDB4YWIsMHhlMCwweGI0LDB4MDEsMHgxOX19LAotIHsxNiwweDMyN2YsMCx7MHg5MCwweDcyLDB4MzcsMHg3NCwweDAxLDB4ZjAsMHhlNCwweDkwLDB4ODAsMHgyMCwweGYwLDB4OTAsMHg4MCwweDMxLDB4ZjAsMHg5MH19LAotIHsxNiwweDMyOGYsMCx7MHg4MCwweDI4LDB4ZjAsMHg5MCwweDgwLDB4MzksMHhmMCwweDgwLDB4MjIsMHhlNCwweDkwLDB4NzIsMHgzNywweGYwLDB4OTAsMHg3NX19LAotIHsxNiwweDMyOWYsMCx7MHhhZCwweGUwLDB4OTAsMHg3MiwweDJiLDB4ZjAsMHhlMCwweDI0LDB4ODAsMHhmMCwweGUwLDB4OTAsMHg4MCwweDIwLDB4ZjAsMHg5MH19LAotIHsxNiwweDMyYWYsMCx7MHg4MCwweDMxLDB4ZjAsMHg5MCwweDgwLDB4MjgsMHhmMCwweDkwLDB4ODAsMHgzOSwweGYwLDB4ZWYsMHg2NCwweDA2LDB4NjAsMHgwMn19LAotIHsxNiwweDMyYmYsMCx7MHg4MSwweDk5LDB4OTAsMHg3MiwweDM5LDB4NzQsMHgwNCwweGYwLDB4OTAsMHg3MiwweDM5LDB4ZTAsMHhmZiwweDI0LDB4ZmUsMHg5MH19LAotIHsxNiwweDMyY2YsMCx7MHg3MiwweDA0LDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhYiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNX19LAotIHsxNiwweDMyZGYsMCx7MHg4MywweGUwLDB4NjQsMHgwMSwweDcwLDB4NTQsMHg5MCwweDcyLDB4MzYsMHgwNCwweGYwLDB4OTAsMHg3MiwweDA0LDB4ZTAsMHhmZn19LAotIHsxNiwweDMyZWYsMCx7MHgyNCwweGZkLDB4NjAsMHgyOCwweDI0LDB4ZmUsMHg2MCwweDI0LDB4MjQsMHgwMywweDI0LDB4ZmIsMHg1MCwweDA0LDB4NjAsMHgxY319LAotIHsxNiwweDMyZmYsMCx7MHg4MSwweDhjLDB4NzQsMHgyMCwweDJmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg4MCwweGY1LDB4ODMsMHhlNCwweGYwLDB4NzQsMHgyOH19LAotIHsxNiwweDMzMGYsMCx7MHgyZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4ODAsMHhmNSwweDgzLDB4ZTQsMHhmMCwweDgxLDB4OGMsMHg5MCwweDcyLDB4MDQsMHhlMH19LAotIHsxNiwweDMzMWYsMCx7MHhmZiwweDI0LDB4MzAsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDgwLDB4ZjUsMHg4MywweGU0LDB4ZjAsMHg3NCwweDM4LDB4MmYsMHhmNX19LAotIHsxNiwweDMzMmYsMCx7MHg4MiwweGU0LDB4MzQsMHg4MCwweGY1LDB4ODMsMHhlNCwweGYwLDB4ODEsMHg4YywweGU0LDB4OTAsMHg3MiwweDM2LDB4ZjAsMHg5MH19LAotIHsxNiwweDMzM2YsMCx7MHg3MiwweDM5LDB4ZTAsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWQsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4M319LAotIHsxNiwweDMzNGYsMCx7MHhlMCwweGZmLDB4N2UsMHgwMCwweDkwLDB4NzUsMHgwYywweGVlLDB4ZjAsMHhhMywweGVmLDB4ZjAsMHg3MCwweDA2LDB4OTAsMHg3Mn19LAotIHsxNiwweDMzNWYsMCx7MHgwMiwweDc0LDB4M2IsMHhmMCwweDkwLDB4NzUsMHgwYywweGUwLDB4ZmUsMHhhMywweGUwLDB4ZmYsMHg2NCwweDgwLDB4NGUsMHg3MH19LAotIHsxNiwweDMzNmYsMCx7MHgwNCwweDkwLDB4NzIsMHgwMiwweGYwLDB4ZWYsMHg0ZSwweDcwLDB4MDIsMHg4MSwweDM1LDB4ZWYsMHg2NCwweDgwLDB4NGUsMHg3MH19LAotIHsxNiwweDMzN2YsMCx7MHgwMiwweDgxLDB4MzUsMHhlZiwweGY4LDB4ZTQsMHg5MCwweDc1LDB4MGQsMHhmMCwweGU4LDB4OTAsMHg3NSwweDBjLDB4ZjAsMHg5MH19LAotIHsxNiwweDMzOGYsMCx7MHg3MiwweDM0LDB4ZTAsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWMsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4M319LAotIHsxNiwweDMzOWYsMCx7MHhlMCwweGZmLDB4OTAsMHg3MiwweDAyLDB4ZjAsMHg5MCwweDc1LDB4MGQsMHhlMCwweDJmLDB4ZjAsMHg5MCwweDc1LDB4MGMsMHhlMH19LAotIHsxNiwweDMzYWYsMCx7MHgzNCwweDAwLDB4ZjAsMHhlMCwweGZlLDB4YTMsMHhlMCwweGZmLDB4ZTQsMHhmYywweGZkLDB4N2IsMHhkNiwweDdhLDB4YTUsMHhmOX19LAotIHsxNiwweDMzYmYsMCx7MHhmOCwweGQzLDB4MTIsMHgzNywweDk1LDB4NDAsMHgwYSwweDkwLDB4NzUsMHgwYywweDc0LDB4YTUsMHhmMCwweGEzLDB4NzQsMHhkNn19LAotIHsxNiwweDMzY2YsMCx7MHhmMCwweDkwLDB4NzUsMHgwZCwweGUwLDB4MjQsMHgyYSwweGYwLDB4OTAsMHg3NSwweDBjLDB4ZTAsMHgzNCwweDVhLDB4ZjAsMHhlMH19LAotIHsxNiwweDMzZGYsMCx7MHhmZSwweGEzLDB4ZTAsMHg3OCwweDA1LDB4Y2UsMHhhMiwweGU3LDB4MTMsMHhjZSwweDEzLDB4ZDgsMHhmOCwweGZmLDB4OTAsMHg3NX19LAotIHsxNiwweDMzZWYsMCx7MHgwYywweGVlLDB4ZjAsMHhhMywweGVmLDB4ZjAsMHg5MCwweDcyLDB4MmMsMHhlZSwweGYwLDB4YTMsMHhlZiwweGYwLDB4ZDMsMHg5NH19LAotIHsxNiwweDMzZmYsMCx7MHhkMiwweGVlLDB4NjQsMHg4MCwweDk0LDB4ODIsMHg0MCwweDBhLDB4OTAsMHg3MiwweDJjLDB4NzQsMHgwMiwweGYwLDB4YTMsMHg3NH19LAotIHsxNiwweDM0MGYsMCx7MHhkMiwweGYwLDB4YzMsMHg5MCwweDcyLDB4MmMsMHhlMCwweDY0LDB4ODAsMHg5NCwweDgwLDB4NTAsMHgwNCwweGU0LDB4ZjAsMHhhM319LAotIHsxNiwweDM0MWYsMCx7MHhmMCwweDkwLDB4NzIsMHgyYywweGUwLDB4ZmUsMHhhMywweGUwLDB4MjQsMHgzYSwweGY1LDB4ODIsMHhlZSwweDM0LDB4NzIsMHhmNX19LAotIHsxNiwweDM0MmYsMCx7MHg4MywweGUwLDB4OTAsMHg3MiwweDAyLDB4ZjAsMHg5MCwweDcyLDB4MDQsMHhlMCwweGZmLDB4MjQsMHhmZCwweDYwLDB4MmQsMHgyNH19LAotIHsxNiwweDM0M2YsMCx7MHhmZSwweDYwLDB4MjksMHgyNCwweDAzLDB4MjQsMHhmYiwweDUwLDB4MDQsMHg2MCwweDIxLDB4ODAsMHg0MCwweDkwLDB4NzIsMHgwMn19LAotIHsxNiwweDM0NGYsMCx7MHhlMCwweGZlLDB4NzQsMHgyMCwweDJmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg4MCwweGY1LDB4ODMsMHhlZSwweGYwLDB4NzQsMHgyOH19LAotIHsxNiwweDM0NWYsMCx7MHgyZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4ODAsMHhmNSwweDgzLDB4ZWUsMHhmMCwweDgwLDB4MjEsMHg5MCwweDcyLDB4MDIsMHhlMH19LAotIHsxNiwweDM0NmYsMCx7MHhmZiwweDkwLDB4NzIsMHgwNCwweGUwLDB4ZmUsMHgyNCwweDMwLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg4MCwweGY1LDB4ODMsMHhlZn19LAotIHsxNiwweDM0N2YsMCx7MHhmMCwweDc0LDB4MzgsMHgyZSwweGY1LDB4ODIsMHhlNCwweDM0LDB4ODAsMHhmNSwweDgzLDB4ZWYsMHhmMCwweDkwLDB4NzIsMHgzOX19LAotIHsxMSwweDM0OGYsMCx7MHhlMCwweDA0LDB4ZjAsMHhlMCwweDY0LDB4MGEsMHg2MCwweDAyLDB4NDEsMHhjNywweDIyfX0sCi0gezE2LDB4MzQ5YSwwLHsweDkwLDB4NzYsMHgxOCwweGUwLDB4ZmYsMHhiNCwweDA1LDB4MjMsMHg5MCwweDcyLDB4MzcsMHhlMCwweDcwLDB4MWQsMHg5MCwweDc1fX0sCi0gezE2LDB4MzRhYSwwLHsweGFkLDB4ZTAsMHg5MCwweDcyLDB4MmIsMHhmMCwweGUwLDB4MjQsMHg4MCwweGYwLDB4ZTAsMHg5MCwweDgwLDB4MjAsMHhmMCwweDkwfX0sCi0gezE2LDB4MzRiYSwwLHsweDgwLDB4MzEsMHhmMCwweDkwLDB4ODAsMHgyOCwweGYwLDB4OTAsMHg4MCwweDM5LDB4ZjAsMHhlZiwweDY0LDB4MDYsMHg2MCwweDAyfX0sCi0gezE2LDB4MzRjYSwwLHsweGMxLDB4OTEsMHg5MCwweDcyLDB4MzYsMHhlMCwweDYwLDB4MDIsMHhjMSwweDkxLDB4OTAsMHg3NiwweDQwLDB4ZTAsMHg3MCwweDMxfX0sCi0gezE2LDB4MzRkYSwwLHsweDkwLDB4NzIsMHgwMywweDc0LDB4MDMsMHhmMCwweDkwLDB4NzIsMHgwMywweGUwLDB4ZmYsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0fX0sCi0gezE2LDB4MzRlYSwwLHsweGFhLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweGZlLDB4OTAsMHg3MiwweDI5LDB4ZTAsMHhmZCwweGVlfX0sCi0gezE2LDB4MzRmYSwwLHsweDZkLDB4NjAsMHgwZSwweGVmLDB4YzMsMHg5NCwweDBhLDB4NTAsMHgwOCwweDkwLDB4NzIsMHgwMywweGUwLDB4MDQsMHhmMCwweDgwfX0sCi0gezE2LDB4MzUwYSwwLHsweGQ1LDB4OTAsMHg3MiwweDM5LDB4NzQsMHgwNCwweGYwLDB4OTAsMHg3NiwweDQwLDB4ZTAsMHg3MCwweDA4LDB4OTAsMHg3MiwweDAzfX0sCi0gezE2LDB4MzUxYSwwLHsweGUwLDB4OTAsMHg3MiwweDM5LDB4ZjAsMHg5MCwweDcyLDB4MzksMHhlMCwweGZkLDB4MjQsMHhmZSwweDkwLDB4NzIsMHgyYSwweGYwfX0sCi0gezE2LDB4MzUyYSwwLHsweGVkLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGFkLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweGZmfX0sCi0gezE2LDB4MzUzYSwwLHsweDdlLDB4MDAsMHg5MCwweDc1LDB4MGMsMHhlZSwweGYwLDB4YTMsMHhlZiwweGYwLDB4NzAsMHgwNiwweDkwLDB4NzIsMHgwMiwweDc0fX0sCi0gezE2LDB4MzU0YSwwLHsweDgwLDB4ZjAsMHg5MCwweDc1LDB4MGMsMHhlMCwweGZlLDB4YTMsMHhlMCwweGZmLDB4NjQsMHg4MCwweDRlLDB4NzAsMHgwNCwweDkwfX0sCi0gezE2LDB4MzU1YSwwLHsweDcyLDB4MDIsMHhmMCwweGVmLDB4NGUsMHg3MCwweDAyLDB4YzEsMHgxYiwweGVmLDB4NjQsMHg4MCwweDRlLDB4NzAsMHgwMiwweGMxfX0sCi0gezE2LDB4MzU2YSwwLHsweDFiLDB4ZWYsMHhmOCwweGU0LDB4OTAsMHg3NSwweDBkLDB4ZjAsMHhlOCwweDkwLDB4NzUsMHgwYywweGYwLDB4ZWQsMHg3NSwweGYwfX0sCi0gezE2LDB4MzU3YSwwLHsweDBhLDB4YTQsMHgyNCwweGFjLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweGZmLDB4OTAsMHg3MiwweDAyfX0sCi0gezE2LDB4MzU4YSwwLHsweGYwLDB4OTAsMHg3NSwweDBkLDB4ZTAsMHgyZiwweGYwLDB4OTAsMHg3NSwweDBjLDB4ZTAsMHgzNCwweDAwLDB4ZjAsMHhlMCwweGZlfX0sCi0gezE2LDB4MzU5YSwwLHsweGEzLDB4ZTAsMHhmZiwweGU0LDB4ZmMsMHhmZCwweDdiLDB4ZDYsMHg3YSwweGE1LDB4ZjksMHhmOCwweGQzLDB4MTIsMHgzNywweDk1fX0sCi0gezE2LDB4MzVhYSwwLHsweDQwLDB4MGEsMHg5MCwweDc1LDB4MGMsMHg3NCwweGE1LDB4ZjAsMHhhMywweDc0LDB4ZDYsMHhmMCwweDkwLDB4NzUsMHgwZCwweGUwfX0sCi0gezE2LDB4MzViYSwwLHsweDI0LDB4MmEsMHhmMCwweDkwLDB4NzUsMHgwYywweGUwLDB4MzQsMHg1YSwweGYwLDB4ZTAsMHhmZSwweGEzLDB4ZTAsMHg3OCwweDA1fX0sCi0gezE2LDB4MzVjYSwwLHsweGNlLDB4YTIsMHhlNywweDEzLDB4Y2UsMHgxMywweGQ4LDB4ZjgsMHhmZiwweDkwLDB4NzUsMHgwYywweGVlLDB4ZjAsMHhhMywweGVmfX0sCi0gezE2LDB4MzVkYSwwLHsweGYwLDB4OTAsMHg3MiwweDJjLDB4ZWUsMHhmMCwweGEzLDB4ZWYsMHhmMCwweGQzLDB4OTQsMHhkMiwweGVlLDB4NjQsMHg4MCwweDk0fX0sCi0gezE2LDB4MzVlYSwwLHsweDgyLDB4NDAsMHgwYSwweDkwLDB4NzIsMHgyYywweDc0LDB4MDIsMHhmMCwweGEzLDB4NzQsMHhkMiwweGYwLDB4YzMsMHg5MCwweDcyfX0sCi0gezE2LDB4MzVmYSwwLHsweDJjLDB4ZTAsMHg2NCwweDgwLDB4OTQsMHg4MCwweDUwLDB4MDQsMHhlNCwweGYwLDB4YTMsMHhmMCwweDkwLDB4NzIsMHgyYywweGUwfX0sCi0gezE2LDB4MzYwYSwwLHsweGZlLDB4YTMsMHhlMCwweDI0LDB4M2EsMHhmNSwweDgyLDB4ZWUsMHgzNCwweDcyLDB4ZjUsMHg4MywweGUwLDB4OTAsMHg3MiwweDAyfX0sCi0gezE2LDB4MzYxYSwwLHsweGYwLDB4OTAsMHg3MiwweDJhLDB4ZTAsMHhmZiwweDI0LDB4ZmQsMHg2MCwweDJkLDB4MjQsMHhmZSwweDYwLDB4MjksMHgyNCwweDAzfX0sCi0gezE2LDB4MzYyYSwwLHsweDI0LDB4ZmIsMHg1MCwweDA0LDB4NjAsMHgyMSwweDgwLDB4NDAsMHg5MCwweDcyLDB4MDIsMHhlMCwweGZlLDB4NzQsMHgyMCwweDJmfX0sCi0gezE2LDB4MzYzYSwwLHsweGY1LDB4ODIsMHhlNCwweDM0LDB4ODAsMHhmNSwweDgzLDB4ZWUsMHhmMCwweDc0LDB4MjgsMHgyZiwweGY1LDB4ODIsMHhlNCwweDM0fX0sCi0gezE2LDB4MzY0YSwwLHsweDgwLDB4ZjUsMHg4MywweGVlLDB4ZjAsMHg4MCwweDIxLDB4OTAsMHg3MiwweDAyLDB4ZTAsMHhmZiwweDkwLDB4NzIsMHgyYSwweGUwfX0sCi0gezE2LDB4MzY1YSwwLHsweGZlLDB4MjQsMHgzMCwweGY1LDB4ODIsMHhlNCwweDM0LDB4ODAsMHhmNSwweDgzLDB4ZWYsMHhmMCwweDc0LDB4MzgsMHgyZSwweGY1fX0sCi0gezE2LDB4MzY2YSwwLHsweDgyLDB4ZTQsMHgzNCwweDgwLDB4ZjUsMHg4MywweGVmLDB4ZjAsMHg5MCwweDc2LDB4NDAsMHhlMCwweDcwLDB4MDYsMHg5MCwweDcyfX0sCi0gezE2LDB4MzY3YSwwLHsweDM5LDB4NzQsMHgwYSwweGYwLDB4OTAsMHg3MiwweDM5LDB4ZTAsMHgwNCwweGYwLDB4ZTAsMHhjMywweDk0LDB4MGEsMHg1MCwweDAyfX0sCi0geyA4LDB4MzY4YSwwLHsweGExLDB4MTEsMHhlNCwweDkwLDB4NzYsMHg0MCwweGYwLDB4MjJ9fSwKLSB7MTYsMHgzNjkyLDAsezB4YmIsMHgwMSwweDA2LDB4ODksMHg4MiwweDhhLDB4ODMsMHhlMCwweDIyLDB4NTAsMHgwMiwweGU3LDB4MjIsMHhiYiwweGZlLDB4MDJ9fSwKLSB7IDksMHgzNmEyLDAsezB4ZTMsMHgyMiwweDg5LDB4ODIsMHg4YSwweDgzLDB4ZTQsMHg5MywweDIyfX0sCi0gezE2LDB4MzZhYiwwLHsweGJiLDB4MDEsMHgwYywweGU1LDB4ODIsMHgyOSwweGY1LDB4ODIsMHhlNSwweDgzLDB4M2EsMHhmNSwweDgzLDB4ZTAsMHgyMiwweDUwfX0sCi0gezE2LDB4MzZiYiwwLHsweDA2LDB4ZTksMHgyNSwweDgyLDB4ZjgsMHhlNiwweDIyLDB4YmIsMHhmZSwweDA2LDB4ZTksMHgyNSwweDgyLDB4ZjgsMHhlMiwweDIyfX0sCi0gezEzLDB4MzZjYiwwLHsweGU1LDB4ODIsMHgyOSwweGY1LDB4ODIsMHhlNSwweDgzLDB4M2EsMHhmNSwweDgzLDB4ZTQsMHg5MywweDIyfX0sCi0gezE2LDB4MzZkOCwwLHsweGMyLDB4ZDUsMHhlYywweDMwLDB4ZTcsMHgwOSwweGIyLDB4ZDUsMHhlNCwweGMzLDB4OWQsMHhmZCwweGU0LDB4OWMsMHhmYywweGVlfX0sCi0gezE2LDB4MzZlOCwwLHsweDMwLDB4ZTcsMHgxNSwweGIyLDB4ZDUsMHhlNCwweGMzLDB4OWYsMHhmZiwweGU0LDB4OWUsMHhmZSwweDEyLDB4MzgsMHgxZiwweGMzfX0sCi0gezE2LDB4MzZmOCwwLHsweGU0LDB4OWQsMHhmZCwweGU0LDB4OWMsMHhmYywweDgwLDB4MDMsMHgxMiwweDM4LDB4MWYsMHgzMCwweGQ1LDB4MDcsMHhjMywweGU0fX0sCi0geyA2LDB4MzcwOCwwLHsweDlmLDB4ZmYsMHhlNCwweDllLDB4ZmUsMHgyMn19LAotIHsxNiwweDM3MGUsMCx7MHhiYiwweDAxLDB4MTAsMHhlNSwweDgyLDB4MjksMHhmNSwweDgyLDB4ZTUsMHg4MywweDNhLDB4ZjUsMHg4MywweGUwLDB4ZjUsMHhmMH19LAotIHsxNiwweDM3MWUsMCx7MHhhMywweGUwLDB4MjIsMHg1MCwweDA5LDB4ZTksMHgyNSwweDgyLDB4ZjgsMHg4NiwweGYwLDB4MDgsMHhlNiwweDIyLDB4YmIsMHhmZX19LAotIHsxNiwweDM3MmUsMCx7MHgwYSwweGU5LDB4MjUsMHg4MiwweGY4LDB4ZTIsMHhmNSwweGYwLDB4MDgsMHhlMiwweDIyLDB4ZTUsMHg4MywweDJhLDB4ZjUsMHg4M319LAotIHsgOCwweDM3M2UsMCx7MHhlOSwweDkzLDB4ZjUsMHhmMCwweGEzLDB4ZTksMHg5MywweDIyfX0sCi0gezE2LDB4Mzc0NiwwLHsweGU4LDB4OGYsMHhmMCwweGE0LDB4Y2MsMHg4YiwweGYwLDB4YTQsMHgyYywweGZjLDB4ZTksMHg4ZSwweGYwLDB4YTQsMHgyYywweGZjfX0sCi0gezE2LDB4Mzc1NiwwLHsweDhhLDB4ZjAsMHhlZCwweGE0LDB4MmMsMHhmYywweGVhLDB4OGUsMHhmMCwweGE0LDB4Y2QsMHhhOCwweGYwLDB4OGIsMHhmMCwweGE0fX0sCi0gezE2LDB4Mzc2NiwwLHsweDJkLDB4Y2MsMHgzOCwweDI1LDB4ZjAsMHhmZCwweGU5LDB4OGYsMHhmMCwweGE0LDB4MmMsMHhjZCwweDM1LDB4ZjAsMHhmYywweGVifX0sCi0gezE2LDB4Mzc3NiwwLHsweDhlLDB4ZjAsMHhhNCwweGZlLDB4YTksMHhmMCwweGViLDB4OGYsMHhmMCwweGE0LDB4Y2YsMHhjNSwweGYwLDB4MmUsMHhjZCwweDM5fX0sCi0gezE1LDB4Mzc4NiwwLHsweGZlLDB4ZTQsMHgzYywweGZjLDB4ZWEsMHhhNCwweDJkLDB4Y2UsMHgzNSwweGYwLDB4ZmQsMHhlNCwweDNjLDB4ZmMsMHgyMn19LAotIHsxNiwweDM3OTUsMCx7MHhlYiwweDlmLDB4ZjUsMHhmMCwweGVhLDB4OWUsMHg0MiwweGYwLDB4ZTksMHg5ZCwweDQyLDB4ZjAsMHhlYywweDY0LDB4ODAsMHhjOH19LAotIHsgNiwweDM3YTUsMCx7MHg2NCwweDgwLDB4OTgsMHg0NSwweGYwLDB4MjJ9fSwKLSB7MTYsMHgzN2FiLDAsezB4ZWIsMHg5ZiwweGY1LDB4ZjAsMHhlYSwweDllLDB4NDIsMHhmMCwweGU5LDB4OWQsMHg0MiwweGYwLDB4ZTgsMHg5YywweDQ1LDB4ZjB9fSwKLSB7IDEsMHgzN2JiLDAsezB4MjJ9fSwKLSB7MTIsMHgzN2JjLDAsezB4ZWMsMHhmMCwweGEzLDB4ZWQsMHhmMCwweGEzLDB4ZWUsMHhmMCwweGEzLDB4ZWYsMHhmMCwweDIyfX0sCi0gezE2LDB4MzdjOCwwLHsweGE4LDB4ODIsMHg4NSwweDgzLDB4ZjAsMHhkMCwweDgzLDB4ZDAsMHg4MiwweDEyLDB4MzcsMHhkZiwweDEyLDB4MzcsMHhkZiwweDEyfX0sCi0gezE2LDB4MzdkOCwwLHsweDM3LDB4ZGYsMHgxMiwweDM3LDB4ZGYsMHhlNCwweDczLDB4ZTQsMHg5MywweGEzLDB4YzUsMHg4MywweGM1LDB4ZjAsMHhjNSwweDgzfX0sCi0gezE2LDB4MzdlOCwwLHsweGM4LDB4YzUsMHg4MiwweGM4LDB4ZjAsMHhhMywweGM1LDB4ODMsMHhjNSwweGYwLDB4YzUsMHg4MywweGM4LDB4YzUsMHg4MiwweGM4fX0sCi0geyAxLDB4MzdmOCwwLHsweDIyfX0sCi0gezE2LDB4MzdmOSwwLHsweGQwLDB4ODMsMHhkMCwweDgyLDB4ZjgsMHhlNCwweDkzLDB4NzAsMHgxMiwweDc0LDB4MDEsMHg5MywweDcwLDB4MGQsMHhhMywweGEzfX0sCi0gezE2LDB4MzgwOSwwLHsweDkzLDB4ZjgsMHg3NCwweDAxLDB4OTMsMHhmNSwweDgyLDB4ODgsMHg4MywweGU0LDB4NzMsMHg3NCwweDAyLDB4OTMsMHg2OCwweDYwfX0sCi0geyA2LDB4MzgxOSwwLHsweGVmLDB4YTMsMHhhMywweGEzLDB4ODAsMHhkZn19LAotIHsxNiwweDM4MWYsMCx7MHhiYywweDAwLDB4MGIsMHhiZSwweDAwLDB4MjksMHhlZiwweDhkLDB4ZjAsMHg4NCwweGZmLDB4YWQsMHhmMCwweDIyLDB4ZTQsMHhjY319LAotIHsxNiwweDM4MmYsMCx7MHhmOCwweDc1LDB4ZjAsMHgwOCwweGVmLDB4MmYsMHhmZiwweGVlLDB4MzMsMHhmZSwweGVjLDB4MzMsMHhmYywweGVlLDB4OWQsMHhlY319LAotIHsxNiwweDM4M2YsMCx7MHg5OCwweDQwLDB4MDUsMHhmYywweGVlLDB4OWQsMHhmZSwweDBmLDB4ZDUsMHhmMCwweGU5LDB4ZTQsMHhjZSwweGZkLDB4MjIsMHhlZH19LAotIHsxNiwweDM4NGYsMCx7MHhmOCwweGY1LDB4ZjAsMHhlZSwweDg0LDB4MjAsMHhkMiwweDFjLDB4ZmUsMHhhZCwweGYwLDB4NzUsMHhmMCwweDA4LDB4ZWYsMHgyZn19LAotIHsxNiwweDM4NWYsMCx7MHhmZiwweGVkLDB4MzMsMHhmZCwweDQwLDB4MDcsMHg5OCwweDUwLDB4MDYsMHhkNSwweGYwLDB4ZjIsMHgyMiwweGMzLDB4OTgsMHhmZH19LAotIHsgNSwweDM4NmYsMCx7MHgwZiwweGQ1LDB4ZjAsMHhlYSwweDIyfX0sCi0gezE2LDB4Mzg3NCwwLHsweGU0LDB4OTAsMHg3NiwweDI5LDB4ZjAsMHg5MCwweDc2LDB4MjksMHhlMCwweGZmLDB4NzUsMHhmMCwweDBmLDB4YTQsMHgyNCwweDQyfX0sCi0gezE2LDB4Mzg4NCwwLHsweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHhmZSwweDkwLDB4N2YsMHhlYywweGUwLDB4ZmQsMHhlZSwweDZkfX0sCi0gezE2LDB4Mzg5NCwwLHsweDYwLDB4MGUsMHhlZiwweGMzLDB4OTQsMHgwNiwweDUwLDB4MDgsMHg5MCwweDc2LDB4MjksMHhlMCwweDA0LDB4ZjAsMHg4MCwweGQ1fX0sCi0gezE2LDB4MzhhNCwwLHsweGVmLDB4YjQsMHgwNiwweDA4LDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweGVmLDB4NzUsMHhmMCwweDBmfX0sCi0gezE2LDB4MzhiNCwwLHsweGE0LDB4MjQsMHg0MSwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHg5MCwweDc2LDB4MmEsMHhmMCwweDI0fX0sCi0gezE2LDB4MzhjNCwwLHsweGJmLDB4NzAsMHgwMiwweDQxLDB4NDEsMHgyNCwweGUwLDB4NzAsMHgwMiwweDQxLDB4MTIsMHgyNCwweDIxLDB4NjAsMHgwMiwweDQxfX0sCi0gezE2LDB4MzhkNCwwLHsweDNhLDB4OTAsMHg3ZiwweGU5LDB4ZTAsMHgyNCwweGZlLDB4NjAsMHg3ZCwweDE0LDB4NzAsMHgwMiwweDIxLDB4YjIsMHgyNCwweDAyfX0sCi0gezE2LDB4MzhlNCwwLHsweDYwLDB4MDIsMHg0MSwweDBhLDB4MTIsMHgxNywweDUxLDB4OTAsMHg3NiwweDQyLDB4ZTAsMHhmYywweGEzLDB4ZTAsMHhmZCwweGEzfX0sCi0gezE2LDB4MzhmNCwwLHsweGUwLDB4ZmUsMHhhMywweGUwLDB4ZmYsMHg5MCwweDc2LDB4MjksMHhlMCwweDc1LDB4ZjAsMHgwZiwweGE0LDB4MjQsMHg0MywweGY1fX0sCi0gezE2LDB4MzkwNCwwLHsweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDEyLDB4MzcsMHhiYywweDkwLDB4NzYsMHgxOSwweGUwLDB4ZmYsMHhiNCwweDAxfX0sCi0gezE2LDB4MzkxNCwwLHsweDEyLDB4OTAsMHg3NiwweDdjLDB4NzQsMHg2NywweGYwLDB4OTAsMHg3NiwweDdkLDB4NzQsMHgwNiwweGYwLDB4OTAsMHg3NiwweDdlfX0sCi0gezE2LDB4MzkyNCwwLHsweDc0LDB4MGIsMHhmMCwweGVmLDB4YjQsMHgwMiwweDBmLDB4ZTQsMHg5MCwweDc2LDB4N2MsMHhmMCwweDkwLDB4NzYsMHg3ZCwweGYwfX0sCi0gezE2LDB4MzkzNCwwLHsweDkwLDB4NzYsMHg3ZSwweDc0LDB4MGMsMHhmMCwweGVmLDB4YjQsMHgwMywweDBmLDB4ZTQsMHg5MCwweDc2LDB4N2MsMHhmMCwweDkwfX0sCi0gezE2LDB4Mzk0NCwwLHsweDc2LDB4N2QsMHhmMCwweDkwLDB4NzYsMHg3ZSwweDc0LDB4MTgsMHhmMCwweDkwLDB4NzYsMHgxYSwweDc0LDB4MDEsMHhmMCwweDEyfX0sCi0gezE2LDB4Mzk1NCwwLHsweDNlLDB4OGYsMHgxMiwweDE4LDB4MDAsMHgyMiwweDkwLDB4N2UsMHhjMiwweGUwLDB4ZmYsMHhlNCwweGZjLDB4ZmQsMHhmZSwweGZifX0sCi0gezE2LDB4Mzk2NCwwLHsweGZhLDB4NzksMHgwMSwweGY4LDB4MTIsMHgzNywweDQ2LDB4YzgsMHhlYywweGM4LDB4YzksMHhlZCwweGM5LDB4Y2EsMHhlZSwweGNhfX0sCi0gezE2LDB4Mzk3NCwwLHsweGNiLDB4ZWYsMHhjYiwweDkwLDB4N2UsMHhjMSwweGUwLDB4ZmUsMHhlNCwweGZjLDB4ZmQsMHgyYiwweGZiLDB4ZWEsMHgzZSwweGZhfX0sCi0gezE2LDB4Mzk4NCwwLHsweGVkLDB4MzksMHhmOSwweGVjLDB4MzgsMHhmOCwweDkwLDB4N2UsMHhjMCwweGUwLDB4ZmYsMHhlNCwweGZlLDB4ZWIsMHgyZiwweGZmfX0sCi0gezE2LDB4Mzk5NCwwLHsweGVlLDB4M2EsMHhmZSwweGVkLDB4MzksMHhmZCwweGVjLDB4MzgsMHhmYywweDkwLDB4NzYsMHgyOSwweGUwLDB4NzUsMHhmMCwweDBmfX0sCi0gezE2LDB4MzlhNCwwLHsweGE0LDB4MjQsMHg0NywweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4MTIsMHgzNywweGJjLDB4MjIsMHg5MCwweDdlfX0sCi0gezE2LDB4MzliNCwwLHsweGMyLDB4ZTAsMHhmZiwweGU0LDB4ZmMsMHhmZCwweGZlLDB4ZmIsMHhmYSwweDc5LDB4MDEsMHhmOCwweDEyLDB4MzcsMHg0NiwweGM4fX0sCi0gezE2LDB4MzljNCwwLHsweGVjLDB4YzgsMHhjOSwweGVkLDB4YzksMHhjYSwweGVlLDB4Y2EsMHhjYiwweGVmLDB4Y2IsMHg5MCwweDdlLDB4YzEsMHhlMCwweGZlfX0sCi0gezE2LDB4MzlkNCwwLHsweGU0LDB4ZmMsMHhmZCwweDJiLDB4ZmIsMHhlYSwweDNlLDB4ZmEsMHhlZCwweDM5LDB4ZjksMHhlYywweDM4LDB4ZjgsMHg5MCwweDdlfX0sCi0gezE2LDB4MzllNCwwLHsweGMwLDB4ZTAsMHhmZiwweGU0LDB4ZmUsMHhlYiwweDJmLDB4ZmYsMHhlZSwweDNhLDB4ZmUsMHhlZCwweDM5LDB4ZmQsMHhlYywweDM4fX0sCi0gezE2LDB4MzlmNCwwLHsweGZjLDB4OTAsMHg3NiwweDI5LDB4ZTAsMHg3NSwweGYwLDB4MGYsMHhhNCwweDI0LDB4NGIsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1fX0sCi0gezE2LDB4M2EwNCwwLHsweGY1LDB4ODMsMHgxMiwweDM3LDB4YmMsMHgyMiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDdmfX0sCi0gezE2LDB4M2ExNCwwLHsweGU5LDB4ZTAsMHgxNCwweDcwLDB4MTksMHg5MCwweDdlLDB4YzAsMHhlMCwweGZmLDB4OTAsMHg3NiwweDI5LDB4ZTAsMHg3NSwweGYwfX0sCi0gezE2LDB4M2EyNCwwLHsweDBmLDB4YTQsMHgyNCwweDRmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlZiwweGYwLDB4MjIsMHg5MCwweDdmfX0sCi0gezE0LDB4M2EzNCwwLHsweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjJ9fSwKLSB7MTYsMHgzYTQyLDAsezB4ZTQsMHg5MCwweDc2LDB4MzUsMHhmMCwweDkwLDB4NzYsMHgzNSwweGUwLDB4ZmYsMHhjMywweDk0LDB4MDMsMHg0MCwweDAyLDB4NDF9fSwKLSB7MTYsMHgzYTUyLDAsezB4ZmYsMHhlZiwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhYSwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZWZ9fSwKLSB7MTYsMHgzYTYyLDAsezB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhYiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTR9fSwKLSB7MTYsMHgzYTcyLDAsezB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhYywweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4NzR9fSwKLSB7MTYsMHgzYTgyLDAsezB4ZjAsMHhmMCwweGVmLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGFkLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODN9fSwKLSB7MTYsMHgzYTkyLDAsezB4NzQsMHhmZiwweGYwLDB4ZWYsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWUsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjV9fSwKLSB7MTYsMHgzYWEyLDAsezB4ODMsMHhlNCwweGYwLDB4ZWYsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjV9fSwKLSB7MTYsMHgzYWIyLDAsezB4ODMsMHg3NCwweDgwLDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhiMCwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzV9fSwKLSB7MTYsMHgzYWMyLDAsezB4ZjUsMHg4MywweGU0LDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhiMSwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzV9fSwKLSB7MTYsMHgzYWQyLDAsezB4ZjUsMHg4MywweGU0LDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhiMiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzV9fSwKLSB7MTYsMHgzYWUyLDAsezB4ZjUsMHg4MywweGU0LDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhiMywweGY1LDB4ODIsMHhlNCwweDM0LDB4NzV9fSwKLSB7MTYsMHgzYWYyLDAsezB4ZjUsMHg4MywweDc0LDB4MDEsMHhmMCwweDkwLDB4NzYsMHgzNSwweGUwLDB4MDQsMHhmMCwweDQxLDB4NDcsMHg5MCwweDc2LDB4M2N9fSwKLSB7MTYsMHgzYjAyLDAsezB4NzQsMHgwYSwweGYwLDB4ZTQsMHhhMywweGYwLDB4OTAsMHg3NiwweDM1LDB4NzQsMHgwMywweGYwLDB4OTAsMHg3NiwweDNjLDB4ZTB9fSwKLSB7MTYsMHgzYjEyLDAsezB4ZmYsMHg5MCwweDc2LDB4MzUsMHhlMCwweGZlLDB4YzMsMHg5ZiwweDQwLDB4MDIsMHg2MSwweGQyLDB4OTAsMHg3NiwweDNkLDB4ZTB9fSwKLSB7MTYsMHgzYjIyLDAsezB4ZmYsMHgwNCwweGYwLDB4ZWUsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWEsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjV9fSwKLSB7MTYsMHgzYjMyLDAsezB4ODMsMHhlZiwweGYwLDB4ZWUsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWIsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjV9fSwKLSB7MTYsMHgzYjQyLDAsezB4ODMsMHhlNCwweGYwLDB4ZWUsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWMsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjV9fSwKLSB7MTYsMHgzYjUyLDAsezB4ODMsMHg3NCwweDVlLDB4ZjAsMHhlZSwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhZCwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzV9fSwKLSB7MTYsMHgzYjYyLDAsezB4ZjUsMHg4MywweDc0LDB4YmEsMHhmMCwweGVlLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGFlLDB4ZjUsMHg4MiwweGU0LDB4MzR9fSwKLSB7MTYsMHgzYjcyLDAsezB4NzUsMHhmNSwweDgzLDB4NzQsMHgwNSwweGYwLDB4ZWUsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWYsMHhmNSwweDgyLDB4ZTR9fSwKLSB7MTYsMHgzYjgyLDAsezB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDgwLDB4ZjAsMHhlZSwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhiMCwweGY1LDB4ODJ9fSwKLSB7MTYsMHgzYjkyLDAsezB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGU0LDB4ZjAsMHhlZSwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhiMSwweGY1LDB4ODJ9fSwKLSB7MTYsMHgzYmEyLDAsezB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGU0LDB4ZjAsMHhlZSwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhiMiwweGY1LDB4ODJ9fSwKLSB7MTYsMHgzYmIyLDAsezB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4MTUsMHhmMCwweGVlLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGIzLDB4ZjV9fSwKLSB7MTYsMHgzYmMyLDAsezB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTQsMHhmMCwweDkwLDB4NzYsMHgzNSwweGUwLDB4MDQsMHhmMCwweDYxLDB4MGV9fSwKLSB7IDEsMHgzYmQyLDAsezB4MjJ9fSwKLSB7MTYsMHgzYmQzLDAsezB4ZTQsMHg5MCwweDc2LDB4MzYsMHhmMCwweGUwLDB4ZmIsMHg3NSwweGYwLDB4MGYsMHhhNCwweDI0LDB4NDEsMHhmNSwweDgyLDB4ZTR9fSwKLSB7MTYsMHgzYmUzLDAsezB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDQwLDB4ZjAsMHhlYiwweDc1LDB4ZjAsMHgwZiwweGE0LDB4MjQsMHg0MiwweGY1LDB4ODJ9fSwKLSB7MTYsMHgzYmYzLDAsezB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4MGEsMHhmMCwweGViLDB4NzUsMHhmMCwweDBmLDB4YTQsMHgyNCwweDQzLDB4ZjV9fSwKLSB7MTYsMHgzYzAzLDAsezB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4MTIsMHgzNywweGM4LDB4MDAsMHgwMCwweGFjLDB4NDQsMHhlYiwweDc1LDB4ZjB9fSwKLSB7MTYsMHgzYzEzLDAsezB4MGYsMHhhNCwweDI0LDB4NDcsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDEyLDB4MzcsMHhjOCwweDAwLDB4MDB9fSwKLSB7MTYsMHgzYzIzLDAsezB4YWMsMHg0NCwweGViLDB4NzUsMHhmMCwweDBmLDB4YTQsMHgyNCwweDRiLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODN9fSwKLSB7MTYsMHgzYzMzLDAsezB4MTIsMHgzNywweGM4LDB4MDAsMHgwMSwweDc3LDB4MDAsMHg5MCwweDc2LDB4MzYsMHhlMCwweDA0LDB4ZjAsMHhlMCwweGZiLDB4NzV9fSwKLSB7MTYsMHgzYzQzLDAsezB4ZjAsMHgwZiwweGE0LDB4MjQsMHg0MSwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHg0MCwweGYwLDB4ZWJ9fSwKLSB7MTYsMHgzYzUzLDAsezB4NzUsMHhmMCwweDBmLDB4YTQsMHgyNCwweDQyLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDhjLDB4ZjB9fSwKLSB7MTYsMHgzYzYzLDAsezB4ZWIsMHg3NSwweGYwLDB4MGYsMHhhNCwweDI0LDB4NDMsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDEyLDB4Mzd9fSwKLSB7MTYsMHgzYzczLDAsezB4YzgsMHgwMCwweDAwLDB4YWMsMHg0NCwweGViLDB4NzUsMHhmMCwweDBmLDB4YTQsMHgyNCwweDQ3LDB4ZjUsMHg4MiwweGU0LDB4MzR9fSwKLSB7MTYsMHgzYzgzLDAsezB4NzUsMHhmNSwweDgzLDB4MTIsMHgzNywweGM4LDB4MDAsMHgwMCwweGFjLDB4NDQsMHhlYiwweDc1LDB4ZjAsMHgwZiwweGE0LDB4MjR9fSwKLSB7MTYsMHgzYzkzLDAsezB4NGIsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDEyLDB4MzcsMHhjOCwweDAwLDB4MDEsMHg3NywweDAwLDB4OTB9fSwKLSB7MTYsMHgzY2EzLDAsezB4NzYsMHgzNiwweGUwLDB4MDQsMHhmMCwweGUwLDB4ZmYsMHg3NSwweGYwLDB4MGYsMHhhNCwweDI0LDB4NDEsMHhmNSwweDgyLDB4ZTR9fSwKLSB7MTYsMHgzY2IzLDAsezB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDQwLDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwZiwweGE0LDB4MjQsMHg0MiwweGY1LDB4ODJ9fSwKLSB7MTYsMHgzY2MzLDAsezB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4OGYsMHhmMCwweDkwLDB4NzYsMHgzNiwweGUwLDB4MDQsMHhmMCwweGUwLDB4ZmZ9fSwKLSB7MTYsMHgzY2QzLDAsezB4NzUsMHhmMCwweDBmLDB4YTQsMHgyNCwweDQxLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDQxLDB4ZjB9fSwKLSB7MTYsMHgzY2UzLDAsezB4ZWYsMHg3NSwweGYwLDB4MGYsMHhhNCwweDI0LDB4NDIsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4ODR9fSwKLSB7MTYsMHgzY2YzLDAsezB4ZjAsMHg5MCwweDc2LDB4MzYsMHhlMCwweDA0LDB4ZjAsMHhlMCwweGZmLDB4NzUsMHhmMCwweDBmLDB4YTQsMHgyNCwweDQxLDB4ZjV9fSwKLSB7MTYsMHgzZDAzLDAsezB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHg2MSwweGYwLDB4ZWYsMHg3NSwweGYwLDB4MGYsMHhhNCwweDI0LDB4NDJ9fSwKLSB7MTYsMHgzZDEzLDAsezB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDgxLDB4ZjAsMHg5MCwweDc2LDB4MzYsMHhlMCwweDA0LDB4ZjB9fSwKLSB7MTYsMHgzZDIzLDAsezB4ZTAsMHhmZiwweDc1LDB4ZjAsMHgwZiwweGE0LDB4MjQsMHg0MSwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4NzR9fSwKLSB7MTYsMHgzZDMzLDAsezB4NjEsMHhmMCwweGVmLDB4NzUsMHhmMCwweDBmLDB4YTQsMHgyNCwweDQyLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODN9fSwKLSB7IDQsMHgzZDQzLDAsezB4NzQsMHgwMSwweGYwLDB4MjJ9fSwKLSB7MTYsMHgzZDQ3LDAsezB4YzAsMHhlMCwweGMwLDB4ZjAsMHhjMCwweDgzLDB4YzAsMHg4MiwweGMwLDB4ZDAsMHhlOCwweGMwLDB4ZTAsMHhlOSwweGMwLDB4ZTB9fSwKLSB7MTYsMHgzZDU3LDAsezB4ZWEsMHhjMCwweGUwLDB4ZWIsMHhjMCwweGUwLDB4ZWMsMHhjMCwweGUwLDB4ZWQsMHhjMCwweGUwLDB4ZWUsMHhjMCwweGUwLDB4ZWZ9fSwKLSB7MTYsMHgzZDY3LDAsezB4YzAsMHhlMCwweDkwLDB4N2YsMHhhMiwweGUwLDB4OTAsMHg3NiwweDdmLDB4ZjAsMHg5MCwweDdmLDB4NzQsMHhlMCwweDkwLDB4NzZ9fSwKLSB7MTYsMHgzZDc3LDAsezB4ODcsMHhmMCwweDkwLDB4N2YsMHg3NSwweGUwLDB4OTAsMHg3NiwweDg4LDB4ZjAsMHg5MCwweDdmLDB4OTgsMHhlMCwweDQ0LDB4MDJ9fSwKLSB7MTYsMHgzZDg3LDAsezB4ZjAsMHg5MCwweDc2LDB4OTYsMHhlMCwweGZmLDB4MjAsMHhlMSwweDBjLDB4NDQsMHgwMiwweGYwLDB4OTAsMHg4MCwweDAzLDB4ZjB9fSwKLSB7MTYsMHgzZDk3LDAsezB4ZDIsMHgzMiwweDEyLDB4NGEsMHhjNCwweDkwLDB4NzYsMHg3ZiwweGUwLDB4MjAsMHhlMiwweDUwLDB4OTAsMHg3NiwweDg3LDB4ZTB9fSwKLSB7MTYsMHgzZGE3LDAsezB4ZmUsMHhhMywweGUwLDB4N2MsMHgwMCwweDI0LDB4MDAsMHhmNSwweDM0LDB4ZWMsMHgzZSwweGY1LDB4MzMsMHg5MCwweDc2LDB4OTh9fSwKLSB7MTYsMHgzZGI3LDAsezB4ZTAsMHhmZCwweGFlLDB4MzMsMHhhZiwweDM0LDB4MTIsMHgzNiwweGQ4LDB4OTAsMHg3NiwweDg3LDB4ZWYsMHhmMCwweGQyLDB4MmZ9fSwKLSB7MTYsMHgzZGM3LDAsezB4MzAsMHgzMSwweDI5LDB4MjAsMHgzZiwweDI2LDB4YzIsMHgzMSwweDkwLDB4N2YsMHg5NCwweGUwLDB4NTQsMHhjZiwweGYwLDB4OTB9fSwKLSB7MTYsMHgzZGQ3LDAsezB4N2YsMHg5YSwweGUwLDB4MzAsMHhlNCwweDA0LDB4ZDIsMHgyZCwweGMyLDB4MmMsMHg5MCwweDdmLDB4OWEsMHhlMCwweDIwLDB4ZTV9fSwKLSB7MTYsMHgzZGU3LDAsezB4MDQsMHhjMiwweDJkLDB4ZDIsMHgyYywweDkwLDB4N2YsMHg5NCwweGUwLDB4NDQsMHgzMCwweGYwLDB4MTIsMHg0YSwweDUwLDB4MTJ9fSwKLSB7MTYsMHgzZGY3LDAsezB4MWIsMHgwNCwweDMwLDB4MmYsMHgxMiwweDEyLDB4NDIsMHgxNiwweGMyLDB4MmYsMHg3NSwweGU4LDB4MDEsMHgxMiwweDE2LDB4OGF9fSwKLSB7MTYsMHgzZTA3LDAsezB4NzUsMHhlOCwweDBkLDB4ZDIsMHgyYiwweDgwLDB4MDUsMHg3NSwweGU4LDB4MDEsMHhjMiwweDJiLDB4MjAsMHgyYiwweDM0LDB4OTB9fSwKLSB7MTYsMHgzZTE3LDAsezB4NzYsMHgxOSwweGUwLDB4ZmYsMHhiNCwweDAxLDB4MGUsMHg5MCwweDc2LDB4N2MsMHg3NCwweDY3LDB4ZjAsMHhhMywweDc0LDB4MDZ9fSwKLSB7MTYsMHgzZTI3LDAsezB4ZjAsMHhhMywweDc0LDB4MGIsMHhmMCwweGVmLDB4YjQsMHgwMiwweDBiLDB4OTAsMHg3NiwweDdjLDB4ZTQsMHhmMCwweGEzLDB4ZjB9fSwKLSB7MTYsMHgzZTM3LDAsezB4YTMsMHg3NCwweDBjLDB4ZjAsMHhlZiwweGI0LDB4MDMsMHgwYiwweDkwLDB4NzYsMHg3YywweGU0LDB4ZjAsMHhhMywweGYwLDB4YTN9fSwKLSB7MTYsMHgzZTQ3LDAsezB4NzQsMHgxOCwweGYwLDB4NzUsMHhjYSwweGQzLDB4NzUsMHhjYiwweGZlLDB4ZDIsMHhjYSwweDMwLDB4MzQsMHgwNCwweGMyLDB4MzR9fSwKLSB7MTYsMHgzZTU3LDAsezB4ODAsMHgwMiwweGQyLDB4MzQsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YWIsMHg3NCwweDAyLDB4ZjAsMHhmMCwweDkwLDB4N2Z9fSwKLSB7MTYsMHgzZTY3LDAsezB4OTgsMHhlMCwweDU0LDB4ZmQsMHhmMCwweGQwLDB4ZTAsMHhmZiwweGQwLDB4ZTAsMHhmZSwweGQwLDB4ZTAsMHhmZCwweGQwLDB4ZTB9fSwKLSB7MTYsMHgzZTc3LDAsezB4ZmMsMHhkMCwweGUwLDB4ZmIsMHhkMCwweGUwLDB4ZmEsMHhkMCwweGUwLDB4ZjksMHhkMCwweGUwLDB4ZjgsMHhkMCwweGQwLDB4ZDB9fSwKLSB7IDgsMHgzZTg3LDAsezB4ODIsMHhkMCwweDgzLDB4ZDAsMHhmMCwweGQwLDB4ZTAsMHgzMn19LAotIHsxNiwweDNlOGYsMCx7MHg5MCwweDc2LDB4OTIsMHhlMCwweDE0LDB4NjAsMHgxZCwweDE0LDB4NzAsMHgwMiwweGUxLDB4NDQsMHgyNCwweDAyLDB4NjAsMHgwMn19LAotIHsxNiwweDNlOWYsMCx7MHhlMSwweGQ0LDB4OTAsMHg3NiwweDk0LDB4NzQsMHgwMSwweGYwLDB4OTAsMHg4MCwweDAwLDB4ZjAsMHhlNCwweDkwLDB4NzYsMHg4ZX19LAotIHsxNiwweDNlYWYsMCx7MHhmMCwweGQyLDB4MzEsMHgyMiwweDkwLDB4NzYsMHgxOSwweGUwLDB4ZmYsMHhiNCwweDAxLDB4MWIsMHhlNCwweDkwLDB4N2YsMHhmMn19LAotIHsxNiwweDNlYmYsMCx7MHhmMCwweDkwLDB4N2YsMHhmMywweDc0LDB4MzAsMHhmMCwweDkwLDB4N2YsMHhmZiwweDc0LDB4ZmMsMHhmMCwweDkwLDB4NzYsMHg5N319LAotIHsxNiwweDNlY2YsMCx7MHhlMCwweDU0LDB4ZmQsMHhmMCwweDU0LDB4ZmIsMHhmMCwweGVmLDB4YjQsMHgwMiwweDFiLDB4ZTQsMHg5MCwweDdmLDB4ZjIsMHhmMH19LAotIHsxNiwweDNlZGYsMCx7MHg5MCwweDdmLDB4ZjMsMHg3NCwweDM0LDB4ZjAsMHg5MCwweDdmLDB4ZmYsMHg3NCwweGZjLDB4ZjAsMHg5MCwweDc2LDB4OTcsMHhlMH19LAotIHsxNiwweDNlZWYsMCx7MHg0NCwweDAyLDB4ZjAsMHg1NCwweGZiLDB4ZjAsMHhlZiwweGI0LDB4MDMsMHgxOCwweGU0LDB4OTAsMHg3ZiwweGYyLDB4ZjAsMHg5MH19LAotIHsxNiwweDNlZmYsMCx7MHg3ZiwweGYzLDB4NzQsMHg2NCwweGYwLDB4OTAsMHg3ZiwweGZmLDB4NzQsMHhmYywweGYwLDB4OTAsMHg3NiwweDk3LDB4ZTAsMHg0NH19LAotIHsxNiwweDNmMGYsMCx7MHgwNCwweGYwLDB4OTAsMHg3NiwweDk0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg5MCwweDgwLDB4MDAsMHhmMCwweDMwLDB4M2YsMHgwOX19LAotIHsxNiwweDNmMWYsMCx7MHg5MCwweDc2LDB4OTcsMHhlMCwweDU0LDB4ZmUsMHhmMCwweDgwLDB4MDcsMHg5MCwweDc2LDB4OTcsMHhlMCwweDQ0LDB4MDEsMHhmMH19LAotIHsxNiwweDNmMmYsMCx7MHg5MCwweDc2LDB4OTcsMHhlMCwweDkwLDB4ODAsMHgwMiwweGYwLDB4OTAsMHg3NiwweDk4LDB4NzQsMHgwNCwweGYwLDB4OTAsMHg3Nn19LAotIHsxNiwweDNmM2YsMCx7MHg4ZSwweDc0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3NiwweDE5LDB4ZTAsMHhmZiwweGI0LDB4MDEsMHgxYiwweGU0LDB4OTAsMHg3Zn19LAotIHsxNiwweDNmNGYsMCx7MHhmMiwweGYwLDB4OTAsMHg3ZiwweGYzLDB4NzQsMHg0NCwweGYwLDB4OTAsMHg3ZiwweGZmLDB4NzQsMHhmYywweGYwLDB4OTAsMHg3Nn19LAotIHsxNiwweDNmNWYsMCx7MHg5NywweGUwLDB4NTQsMHhmZCwweGYwLDB4NTQsMHhmYiwweGYwLDB4ZWYsMHhiNCwweDAyLDB4MWIsMHhlNCwweDkwLDB4N2YsMHhmMn19LAotIHsxNiwweDNmNmYsMCx7MHhmMCwweDkwLDB4N2YsMHhmMywweDc0LDB4NGMsMHhmMCwweDkwLDB4N2YsMHhmZiwweDc0LDB4ZmMsMHhmMCwweDkwLDB4NzYsMHg5N319LAotIHsxNiwweDNmN2YsMCx7MHhlMCwweDQ0LDB4MDIsMHhmMCwweDU0LDB4ZmIsMHhmMCwweGVmLDB4YjQsMHgwMywweDE4LDB4ZTQsMHg5MCwweDdmLDB4ZjIsMHhmMH19LAotIHsxNiwweDNmOGYsMCx7MHg5MCwweDdmLDB4ZjMsMHg3NCwweDk0LDB4ZjAsMHg5MCwweDdmLDB4ZmYsMHg3NCwweGZjLDB4ZjAsMHg5MCwweDc2LDB4OTcsMHhlMH19LAotIHsxNiwweDNmOWYsMCx7MHg0NCwweDA0LDB4ZjAsMHg5MCwweDc2LDB4OTQsMHhlMCwweDU0LDB4ZmUsMHhmMCwweDkwLDB4ODAsMHgwMCwweGYwLDB4MzAsMHgzZn19LAotIHsxNiwweDNmYWYsMCx7MHgwOSwweDkwLDB4NzYsMHg5NywweGUwLDB4NTQsMHhmZSwweGYwLDB4ODAsMHgwNywweDkwLDB4NzYsMHg5NywweGUwLDB4NDQsMHgwMX19LAotIHsxNiwweDNmYmYsMCx7MHhmMCwweDkwLDB4NzYsMHg5NywweGUwLDB4OTAsMHg4MCwweDAyLDB4ZjAsMHg5MCwweDc2LDB4OTgsMHg3NCwweDA2LDB4ZjAsMHg5MH19LAotIHsgNiwweDNmY2YsMCx7MHg3NiwweDhlLDB4NzQsMHgwMiwweGYwLDB4MjJ9fSwKLSB7MTYsMHgzZmQ1LDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGFhLDB4ZTAsMHg0NCwweDAyLDB4ZjB9fSwKLSB7MTYsMHgzZmU1LDAsezB4OTAsMHg3ZiwweGM3LDB4ZTAsMHhmNSwweDExLDB4NzUsMHgwZiwweDAwLDB4NzUsMHgwZCwweDAwLDB4ZDIsMHgzMywweGQwLDB4ODJ9fSwKLSB7IDUsMHgzZmY1LDAsezB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn19LAotIHsgNiwweDNmZmEsMCx7MHgxMiwweDRhLDB4YzQsMHhjMiwweDMxLDB4MjJ9fSwKLSB7MTYsMHg0MDAwLDAsezB4ZTUsMHgxMSwweGQzLDB4OTQsMHgwMCwweDUwLDB4MDIsMHgyMSwweDA2LDB4OTAsMHg3NiwweDg5LDB4ZTAsMHhjMywweDk0LDB4MDh9fSwKLSB7MTYsMHg0MDEwLDAsezB4NDAsMHgwMiwweDIxLDB4MDYsMHg3NCwweDQwLDB4MjUsMHgwZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4N2UsMHhmNSwweDgzLDB4ZTB9fSwKLSB7MTYsMHg0MDIwLDAsezB4ZjUsMHgxNywweGU1LDB4MGQsMHg2MCwweDBlLDB4OTAsMHg4MCwweDA1LDB4ZTUsMHgxNywweGYwLDB4OTAsMHg3NiwweDg5LDB4ZTB9fSwKLSB7MTYsMHg0MDMwLDAsezB4MDQsMHhmMCwweDAxLDB4ZGEsMHhlNSwweDE3LDB4MTIsMHgzNywweGY5LDB4NDAsMHhjMSwweDAyLDB4NDAsMHg2NywweDA1LDB4NDB9fSwKLSB7MTYsMHg0MDQwLDAsezB4N2EsMHgwNiwweDQwLDB4OTgsMHgwNywweDQwLDB4YzEsMHgwYywweDQwLDB4YzEsMHgwZCwweDQwLDB4YzcsMHgwZiwweDQwLDB4Y2J9fSwKLSB7MTYsMHg0MDUwLDAsezB4ZjYsMHg0MCwweGNiLDB4ZjgsMHg0MCwweGNiLDB4ZmEsMHg0MCwweGNiLDB4ZmIsMHg0MCwweGNiLDB4ZmMsMHg0MCwweGNiLDB4ZmV9fSwKLSB7MTYsMHg0MDYwLDAsezB4NDAsMHhjYiwweGZmLDB4MDAsMHgwMCwweDQwLDB4ZGEsMHg5MCwweDdlLDB4NDEsMHhlMCwweDkwLDB4ODAsMHgwNSwweGYwLDB4OTB9fSwKLSB7MTYsMHg0MDcwLDAsezB4NzYsMHg4OSwweGUwLDB4MDQsMHhmMCwweDc1LDB4MTEsMHgwMSwweDgwLDB4NjAsMHg5MCwweDdlLDB4NDEsMHhlMCwweDkwLDB4ODB9fSwKLSB7MTYsMHg0MDgwLDAsezB4MDUsMHhmMCwweDkwLDB4N2UsMHg0MiwweGUwLDB4OTAsMHg4MCwweDA1LDB4ZjAsMHg5MCwweDc2LDB4ODksMHhlMCwweDA0LDB4ZjB9fSwKLSB7MTYsMHg0MDkwLDAsezB4ZTAsMHgwNCwweGYwLDB4NzUsMHgxMSwweDAxLDB4ODAsMHg0MiwweDkwLDB4N2UsMHg0MSwweGUwLDB4OTAsMHg4MCwweDA1LDB4ZjB9fSwKLSB7MTYsMHg0MGEwLDAsezB4OTAsMHg3ZSwweDQyLDB4ZTAsMHg5MCwweDgwLDB4MDUsMHhmMCwweDkwLDB4N2UsMHg0MywweGUwLDB4OTAsMHg4MCwweDA1LDB4ZjB9fSwKLSB7MTYsMHg0MGIwLDAsezB4OTAsMHg3NiwweDg5LDB4ZTAsMHgwNCwweGYwLDB4ZTAsMHgwNCwweGYwLDB4ZTAsMHgwNCwweGYwLDB4NzUsMHgxMSwweDAxLDB4ODB9fSwKLSB7MTYsMHg0MGMwLDAsezB4MTksMHhkMiwweDNiLDB4ZDIsMHgzYywweDgwLDB4MTMsMHhkMiwweDNiLDB4ODAsMHgwZiwweDkwLDB4ODAsMHgwNSwweGU1LDB4MTd9fSwKLSB7MTYsMHg0MGQwLDAsezB4ZjAsMHg5MCwweDc2LDB4ODksMHhlMCwweDA0LDB4ZjAsMHg3NSwweDExLDB4MDEsMHgyMCwweDNiLDB4MDQsMHgwNSwweDBkLDB4ODB9fSwKLSB7MTYsMHg0MGUwLDAsezB4MWYsMHgzMCwweDNjLDB4MWMsMHg5MCwweDdlLDB4NDEsMHhlMCwweDkwLDB4ODAsMHgwNSwweGYwLDB4OTAsMHg3ZSwweDQyLDB4ZTB9fSwKLSB7MTYsMHg0MGYwLDAsezB4OTAsMHg4MCwweDA1LDB4ZjAsMHg5MCwweDc2LDB4ODksMHhlMCwweDA0LDB4ZjAsMHhlMCwweDA0LDB4ZjAsMHg3NSwweDExLDB4MDF9fSwKLSB7MTYsMHg0MTAwLDAsezB4MDUsMHgwZiwweDE1LDB4MTEsMHgwMSwweDAwLDB4ZTUsMHgxMSwweDcwLDB4MTAsMHhjMiwweDMzLDB4ZjUsMHgwZCwweGY1LDB4MGZ9fSwKLSB7MTEsMHg0MTEwLDAsezB4OTAsMHg3ZiwweGM3LDB4NzQsMHgwNCwweGYwLDB4YzIsMHgzYiwweGMyLDB4M2MsMHgyMn19LAotIHsxNiwweDQxMWIsMCx7MHg5MCwweDc2LDB4OGQsMHhlMCwweDY0LDB4MDEsMHg3MCwweDI3LDB4MzAsMHgyNywweDA4LDB4YzIsMHgyNywweDEyLDB4MDgsMHgwMH19LAotIHsxNiwweDQxMmIsMCx7MHgxMiwweDE3LDB4NGEsMHgzMCwweDI4LDB4MDgsMHhjMiwweDI4LDB4MTIsMHgzOCwweDc0LDB4MTIsMHgxNywweDRhLDB4MzAsMHgyYX19LAotIHsxNiwweDQxM2IsMCx7MHgwZSwweGU0LDB4OTAsMHg3NiwweDhkLDB4ZjAsMHhjMiwweDJhLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAyLDB4ZjAsMHg5MH19LAotIHsxNiwweDQxNGIsMCx7MHg3NiwweDNmLDB4ZTAsMHhiNCwweDAxLDB4MDUsMHhlNCwweGYwLDB4MTIsMHgzMiwweDZmLDB4OTAsMHg3NiwweDQxLDB4ZTAsMHhiNH19LAotIHsxNiwweDQxNWIsMCx7MHgwMSwweDA1LDB4ZTQsMHhmMCwweDEyLDB4MzQsMHg5YSwweDkwLDB4NzYsMHg0MCwweGUwLDB4YjQsMHgwMSwweDAzLDB4MTIsMHgzNH19LAotIHsxNiwweDQxNmIsMCx7MHg5YSwweDkwLDB4N2YsMHg5YiwweGUwLDB4MjAsMHhlNCwweDAyLDB4YzIsMHgzZiwweDkwLDB4N2YsMHg5YiwweGUwLDB4MzAsMHhlNH19LAotIHsxNiwweDQxN2IsMCx7MHgwMiwweGQyLDB4M2YsMHg5MCwweDdmLDB4OWIsMHhlMCwweDIwLDB4ZTUsMHgwMiwweGMyLDB4M2UsMHg5MCwweDdmLDB4OWIsMHhlMH19LAotIHsxNiwweDQxOGIsMCx7MHgzMCwweGU1LDB4MDIsMHhkMiwweDNlLDB4YTIsMHg0MSwweDMwLDB4M2YsMHgwMSwweGIzLDB4NTAsMHgxZiwweGEyLDB4M2YsMHg5Mn19LAotIHsxNiwweDQxOWIsMCx7MHg0MSwweDMwLDB4M2YsMHgwOSwweDkwLDB4NzYsMHg5NywweGUwLDB4NTQsMHhmZSwweGYwLDB4ODAsMHgwNywweDkwLDB4NzYsMHg5N319LAotIHsxNiwweDQxYWIsMCx7MHhlMCwweDQ0LDB4MDEsMHhmMCwweDkwLDB4NzYsMHg5NywweGUwLDB4OTAsMHg4MCwweDAyLDB4ZjAsMHgzMCwweDNmLDB4MzQsMHg5MH19LAotIHsxNiwweDQxYmIsMCx7MHg3NiwweDE5LDB4ZTAsMHhmZiwweGI0LDB4MDEsMHgwZSwweDkwLDB4NzYsMHg3YywweDc0LDB4NjcsMHhmMCwweGEzLDB4NzQsMHgwNn19LAotIHsxNiwweDQxY2IsMCx7MHhmMCwweGEzLDB4NzQsMHgwYiwweGYwLDB4ZWYsMHhiNCwweDAyLDB4MGIsMHhlNCwweDkwLDB4NzYsMHg3YywweGYwLDB4YTMsMHhmMH19LAotIHsxNiwweDQxZGIsMCx7MHhhMywweDc0LDB4MGMsMHhmMCwweGVmLDB4YjQsMHgwMywweDBiLDB4ZTQsMHg5MCwweDc2LDB4N2MsMHhmMCwweGEzLDB4ZjAsMHhhM319LAotIHsxNiwweDQxZWIsMCx7MHg3NCwweDE4LDB4ZjAsMHhhMiwweDQwLDB4MzAsMHgzZSwweDAxLDB4YjMsMHg1MCwweDFmLDB4YTIsMHgzZSwweDkyLDB4NDAsMHgzMH19LAotIHsxNiwweDQxZmIsMCx7MHgzZSwweDA5LDB4OTAsMHg3NiwweDk1LDB4ZTAsMHg0NCwweDA0LDB4ZjAsMHg4MCwweDA3LDB4OTAsMHg3NiwweDk1LDB4ZTAsMHg1NH19LAotIHsxMSwweDQyMGIsMCx7MHhmYiwweGYwLDB4OTAsMHg3NiwweDk1LDB4ZTAsMHg5MCwweDgwLDB4MDEsMHhmMCwweDIyfX0sCi0gezE2LDB4NDIxNiwwLHsweDkwLDB4NzYsMHgxOSwweGUwLDB4NjQsMHgwMSwweDcwLDB4MzUsMHg5MCwweDc2LDB4ODcsMHhlMCwweGZmLDB4ZDMsMHg5NCwweDJkfX0sCi0gezE2LDB4NDIyNiwwLHsweDQwLDB4MmIsMHg5MCwweDc2LDB4ODYsMHg3NCwweDAxLDB4ZjAsMHg5MCwweDc2LDB4ODUsMHhlMCwweDA0LDB4ZjAsMHhlMCwweGQzfX0sCi0gezE2LDB4NDIzNiwwLHsweDk0LDB4MGYsMHg0MCwweDE5LDB4ZTQsMHhmMCwweGVmLDB4ZDMsMHg5NCwweDMxLDB4NDAsMHgwOCwweDkwLDB4NzYsMHgxOSwweDc0fX0sCi0gezE2LDB4NDI0NiwwLHsweDAzLDB4ZjAsMHg4MCwweDA2LDB4OTAsMHg3NiwweDE5LDB4NzQsMHgwMiwweGYwLDB4MTIsMHgzZSwweDhmLDB4OTAsMHg3NiwweDE5fX0sCi0gezE2LDB4NDI1NiwwLHsweGUwLDB4YjQsMHgwMiwweDJjLDB4OTAsMHg3NiwweDg3LDB4ZTAsMHhmZiwweGMzLDB4OTQsMHgyZiwweDUwLDB4MjIsMHhlZiwweGQzfX0sCi0gezE2LDB4NDI2NiwwLHsweDk0LDB4MmEsMHg0MCwweDFjLDB4OTAsMHg3NiwweDg2LDB4NzQsMHgwMSwweGYwLDB4OTAsMHg3NiwweDg1LDB4ZTAsMHgwNCwweGYwfX0sCi0gezE2LDB4NDI3NiwwLHsweGUwLDB4ZDMsMHg5NCwweDBmLDB4NDAsMHgwYSwweGU0LDB4ZjAsMHg5MCwweDc2LDB4MTksMHgwNCwweGYwLDB4MTIsMHgzZSwweDhmfX0sCi0gezE2LDB4NDI4NiwwLHsweDkwLDB4NzYsMHgxOSwweGUwLDB4YjQsMHgwMiwweDI2LDB4OTAsMHg3NiwweDg3LDB4ZTAsMHhkMywweDk0LDB4MzEsMHg0MCwweDFkfX0sCi0gezE2LDB4NDI5NiwwLHsweDkwLDB4NzYsMHg4NiwweDc0LDB4MDEsMHhmMCwweDkwLDB4NzYsMHg4NSwweGUwLDB4MDQsMHhmMCwweGUwLDB4ZDMsMHg5NCwweDBmfX0sCi0gezE2LDB4NDJhNiwwLHsweDQwLDB4MGIsMHhlNCwweGYwLDB4OTAsMHg3NiwweDE5LDB4NzQsMHgwMywweGYwLDB4MTIsMHgzZSwweDhmLDB4OTAsMHg3NiwweDE5fX0sCi0gezE2LDB4NDJiNiwwLHsweGUwLDB4NjQsMHgwMywweDcwLDB4M2YsMHg5MCwweDc2LDB4ODcsMHhlMCwweGZmLDB4YzMsMHg5NCwweDVmLDB4NTAsMHgzNSwweDkwfX0sCi0gezE2LDB4NDJjNiwwLHsweDc2LDB4ODYsMHg3NCwweDAxLDB4ZjAsMHg5MCwweDc2LDB4ODUsMHhlMCwweDA0LDB4ZjAsMHhlMCwweGQzLDB4OTQsMHgwZiwweDQwfX0sCi0gezE2LDB4NDJkNiwwLHsweDIzLDB4ZTQsMHhmMCwweGVmLDB4YzMsMHg5NCwweDJmLDB4NTAsMHgwYywweGVmLDB4ZDMsMHg5NCwweDJhLDB4NDAsMHgwNiwweDkwfX0sCi0gezE2LDB4NDJlNiwwLHsweDc2LDB4MTksMHg3NCwweDAxLDB4ZjAsMHhlZiwweGQzLDB4OTQsMHgyZiwweDQwLDB4MDYsMHg5MCwweDc2LDB4MTksMHg3NCwweDAyfX0sCi0gezE2LDB4NDJmNiwwLHsweGYwLDB4MTIsMHgzZSwweDhmLDB4OTAsMHg3NiwweDg2LDB4ZTAsMHg3MCwweDA1LDB4OTAsMHg3NiwweDg1LDB4ZjAsMHgyMiwweGU0fX0sCi0geyA1LDB4NDMwNiwwLHsweDkwLDB4NzYsMHg4NiwweGYwLDB4MjJ9fSwKLSB7MTYsMHg0MzBiLDAsezB4ZTQsMHg5MCwweDc2LDB4OTYsMHhmMCwweDkwLDB4ODAsMHgwMywweGYwLDB4OTAsMHg3ZiwweGUwLDB4NzQsMHg5MCwweGYwLDB4OTB9fSwKLSB7MTYsMHg0MzFiLDAsezB4N2YsMHhlMSwweDc0LDB4MDQsMHhmMCwweGU0LDB4OTAsMHg3ZiwweGRkLDB4ZjAsMHg5MCwweDdmLDB4YTEsMHhmMCwweDUzLDB4OGV9fSwKLSB7MTYsMHg0MzJiLDAsezB4ZjgsMHg3NSwweDg4LDB4MDUsMHg3NSwweGI4LDB4MjAsMHg3NSwweGY4LDB4MDEsMHg0MywweDhlLDB4MzAsMHhmNSwweGM4LDB4NzV9fSwKLSB7MTYsMHg0MzNiLDAsezB4Y2EsMHg3ZiwweDc1LDB4Y2IsMHhmOCwweDQzLDB4YTgsMHgyMCwweDEyLDB4MDcsMHg0YSwweGMyLDB4MmMsMHhjMiwweDJkLDB4YzJ9fSwKLSB7MTYsMHg0MzRiLDAsezB4MmIsMHhjMiwweDJmLDB4OTAsMHg3ZiwweGZjLDB4NzQsMHhkZCwweGYwLDB4OTAsMHg3ZiwweGZmLDB4NzQsMHhmZiwweGYwLDB4OTB9fSwKLSB7MTYsMHg0MzViLDAsezB4N2YsMHg5NywweGUwLDB4NDQsMHgwMSwweGYwLDB4OTAsMHg3NiwweDE5LDB4NzQsMHgwMSwweGYwLDB4ZTQsMHg5MCwweDc2LDB4ODV9fSwKLSB7MTYsMHg0MzZiLDAsezB4ZjAsMHhhMywweGYwLDB4OTAsMHg3NiwweDgxLDB4ZjAsMHg5MCwweDc2LDB4ODAsMHhmMCwweDEyLDB4NDksMHg1OCwweDEyLDB4MGZ9fSwKLSB7MTYsMHg0MzdiLDAsezB4YzYsMHgxMiwweDRhLDB4OGQsMHg5MCwweDdmLDB4OTcsMHhlMCwweDQ0LDB4MDgsMHhmMCwweGUwLDB4NTQsMHhiOSwweGYwLDB4ZDJ9fSwKLSB7MTYsMHg0MzhiLDAsezB4MzAsMHgyMCwweDMwLDB4MTgsMHgxMiwweDQ3LDB4YjQsMHgxMiwweDMwLDB4MDAsMHgxMiwweDQwLDB4MDAsMHgxMiwweDQyLDB4MTZ9fSwKLSB7MTYsMHg0MzliLDAsezB4MTIsMHg0YSwweDUwLDB4MTIsMHgxYiwweDA0LDB4MTIsMHgxNiwweDYxLDB4MTIsMHg0MiwweDE2LDB4YzIsMHgyZiwweGMyLDB4MzF9fSwKLSB7MTYsMHg0M2FiLDAsezB4YzIsMHgzMiwweGMyLDB4MzQsMHhjMiwweDMzLDB4YzIsMHgyOSwweGMyLDB4MjcsMHhjMiwweDI4LDB4ZTQsMHhmNSwweDExLDB4OTB9fSwKLSB7MTYsMHg0M2JiLDAsezB4NzYsMHg4OSwweGYwLDB4OTAsMHg3NiwweDNmLDB4ZjAsMHg5MCwweDc2LDB4NDEsMHhmMCwweDkwLDB4NzYsMHg0MCwweGYwLDB4OTB9fSwKLSB7MTYsMHg0M2NiLDAsezB4NzYsMHg4YSwweGYwLDB4YTMsMHhmMCwweGEzLDB4MDQsMHhmMCwweGU0LDB4YTMsMHhmMCwweDkwLDB4NzYsMHg5OSwweGYwLDB4MjJ9fSwKLSB7MTYsMHg0M2RiLDAsezB4MTIsMHg0ZCwweGEzLDB4NDAsMHgwMiwweDgxLDB4YTAsMHg5MCwweDdmLDB4ZWIsMHhlMCwweDI0LDB4ZmUsMHg2MCwweDFlLDB4MTR9fSwKLSB7MTYsMHg0M2ViLDAsezB4NjAsMHg0NiwweDE0LDB4NjAsMHg2ZSwweDE0LDB4NzAsMHgwMiwweDgxLDB4OTEsMHgyNCwweDA0LDB4NjAsMHgwMiwweDgxLDB4OTl9fSwKLSB7MTYsMHg0M2ZiLDAsezB4NzQsMHgwNSwweDkwLDB4N2YsMHhkNCwweGYwLDB4NzQsMHgwMCwweDkwLDB4N2YsMHhkNSwweGYwLDB4MjIsMHg5MCwweDdmLDB4ZWF9fSwKLSB7MTYsMHg0NDBiLDAsezB4ZTAsMHhmZiwweDEyLDB4NDksMHhmZiwweDhiLDB4MjAsMHg4YSwweDIxLDB4ODksMHgyMiwweGVhLDB4NDksMHg2MCwweDExLDB4Y2V9fSwKLSB7MTYsMHg0NDFiLDAsezB4ZWEsMHhjZSwweGVlLDB4OTAsMHg3ZiwweGQ0LDB4ZjAsMHhjZiwweGU5LDB4Y2YsMHhlZiwweDkwLDB4N2YsMHhkNSwweGYwLDB4MjJ9fSwKLSB7MTYsMHg0NDJiLDAsezB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhlYSwweGUwLDB4ZmYsMHgxMiwweDQ4LDB4YjB9fSwKLSB7MTYsMHg0NDNiLDAsezB4OGIsMHgyMCwweDhhLDB4MjEsMHg4OSwweDIyLDB4ZWEsMHg0OSwweDYwLDB4MTEsMHhjZSwweGVhLDB4Y2UsMHhlZSwweDkwLDB4N2Z9fSwKLSB7MTYsMHg0NDRiLDAsezB4ZDQsMHhmMCwweGNmLDB4ZTksMHhjZiwweGVmLDB4OTAsMHg3ZiwweGQ1LDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDR9fSwKLSB7MTYsMHg0NDViLDAsezB4MDEsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGVhLDB4ZTAsMHhmZiwweDkwLDB4N2UsMHhjMCwweGUwLDB4ZmQsMHhhMywweGUwLDB4ZmJ9fSwKLSB7MTYsMHg0NDZiLDAsezB4MTIsMHgxNywweDk0LDB4OGIsMHgyMCwweDhhLDB4MjEsMHg4OSwweDIyLDB4ZWEsMHg0OSwweDYwLDB4MTEsMHhjZSwweGVhLDB4Y2V9fSwKLSB7MTYsMHg0NDdiLDAsezB4ZWUsMHg5MCwweDdmLDB4ZDQsMHhmMCwweGNmLDB4ZTksMHhjZiwweGVmLDB4OTAsMHg3ZiwweGQ1LDB4ZjAsMHgyMiwweDkwLDB4N2Z9fSwKLSB7MTYsMHg0NDhiLDAsezB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4N2Z9fSwKLSB7IDUsMHg0NDliLDAsezB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMH19LAotIHsgMSwweDQ0YTAsMCx7MHgyMn19LAotIHsxNiwweDQ0YTEsMCx7MHhjMiwweGFmLDB4ZDIsMHgyNCwweDkwLDB4N2YsMHg5MywweDc0LDB4MzAsMHhmMCwweDkwLDB4N2YsMHg5YywweDc0LDB4YmIsMHhmMH19LAotIHsxNiwweDQ0YjEsMCx7MHg5MCwweDdmLDB4OTYsMHhlMCwweDQ0LDB4MzAsMHhmMCwweGUwLDB4NTQsMHgzMCwweGYwLDB4OTAsMHg3ZiwweDk0LDB4NzQsMHgzMH19LAotIHsxNiwweDQ0YzEsMCx7MHhmMCwweDkwLDB4N2YsMHg5ZCwweDc0LDB4Y2YsMHhmMCwweDkwLDB4N2YsMHg5NywweDc0LDB4YTAsMHhmMCwweDkwLDB4N2YsMHg5NX19LAotIHsxNiwweDQ0ZDEsMCx7MHg3NCwweGMwLDB4ZjAsMHg5MCwweDdmLDB4OWUsMHg3NCwweDAzLDB4ZjAsMHg5MCwweDdmLDB4OTksMHhlMCwweDMwLDB4ZTIsMHgwOX19LAotIHsxNiwweDQ0ZTEsMCx7MHg5MCwweDA1LDB4MTksMHg3NCwweGEwLDB4ZjAsMHhlNCwweGEzLDB4ZjAsMHhjMiwweDI1LDB4YzIsMHgyMiwweGMyLDB4MjMsMHhjMn19LAotIHsxNiwweDQ0ZjEsMCx7MHgyNiwweDEyLDB4NGEsMHhjNCwweDEyLDB4MmQsMHhhOSwweDEyLDB4M2IsMHhkMywweDEyLDB4NDUsMHg1OSwweDEyLDB4M2EsMHg0Mn19LAotIHsxNiwweDQ1MDEsMCx7MHg5MCwweDc2LDB4NjgsMHg3NCwweDAxLDB4ZjAsMHg3MCwweDBmLDB4MTIsMHg0YiwweGJiLDB4MTIsMHgwNywweGZlLDB4MTIsMHg0ZH19LAotIHsxNiwweDQ1MTEsMCx7MHhhMSwweDEyLDB4MWIsMHg0MCwweDEyLDB4MTQsMHg5NiwweDEyLDB4NDMsMHgwYiwweDkwLDB4N2YsMHhhZiwweGUwLDB4NDQsMHgwMX19LAotIHsxNiwweDQ1MjEsMCx7MHhmMCwweDkwLDB4N2YsMHhhZSwweGUwLDB4NDQsMHgxZiwweGYwLDB4OTAsMHg3ZiwweGFjLDB4NzQsMHhmZiwweGYwLDB4OTAsMHg3Zn19LAotIHsxNiwweDQ1MzEsMCx7MHhhZCwweGYwLDB4OTAsMHg3ZiwweGRlLDB4ZjAsMHg5MCwweDdmLDB4ZGYsMHhmMCwweDkwLDB4N2YsMHhhYiwweGYwLDB4OTAsMHg3Zn19LAotIHsxNiwweDQ1NDEsMCx7MHhhOSwweGYwLDB4OTAsMHg3ZiwweGFhLDB4ZjAsMHg1MywweDkxLDB4ZWYsMHg0MywweGQ4LDB4MjAsMHhkMiwweGU4LDB4NDMsMHhkOH19LAotIHsgOCwweDQ1NTEsMCx7MHgyMCwweDUzLDB4YTgsMHhhMCwweDQzLDB4YTgsMHg4MCwweDIyfX0sCi0gezE2LDB4NDU1OSwwLHsweGU0LDB4OTAsMHg3NiwweDM2LDB4ZjAsMHhlMCwweGZmLDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNCwweDMyLDB4ZjUsMHg4MiwweGU0fX0sCi0gezE2LDB4NDU2OSwwLHsweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTQsMHhmMCwweGVmLDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNCwweDMzLDB4ZjUsMHg4MiwweGU0fX0sCi0gezE2LDB4NDU3OSwwLHsweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHgwMSwweGYwLDB4OTAsMHg3NiwweDM2LDB4ZTAsMHgwNCwweGYwLDB4ZTAsMHhmZiwweDc1fX0sCi0gezE2LDB4NDU4OSwwLHsweGYwLDB4MDMsMHhhNCwweDI0LDB4MzIsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGU0LDB4ZjAsMHhlZiwweDc1fX0sCi0gezE2LDB4NDU5OSwwLHsweGYwLDB4MDMsMHhhNCwweDI0LDB4MzMsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4MDIsMHhmMCwweDkwfX0sCi0gezE2LDB4NDVhOSwwLHsweDc2LDB4MzYsMHhlMCwweDA0LDB4ZjAsMHhlMCwweGZmLDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNCwweDMyLDB4ZjUsMHg4MiwweGU0fX0sCi0gezE2LDB4NDViOSwwLHsweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTQsMHhmMCwweGVmLDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNCwweDMzLDB4ZjUsMHg4MiwweGU0fX0sCi0gezE2LDB4NDVjOSwwLHsweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHgwMywweGYwLDB4OTAsMHg3NiwweDM2LDB4ZTAsMHgwNCwweGYwLDB4ZTAsMHhmZiwweDc1fX0sCi0gezE2LDB4NDVkOSwwLHsweGYwLDB4MDMsMHhhNCwweDI0LDB4MzIsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGU0LDB4ZjAsMHhlZiwweDc1fX0sCi0gezE2LDB4NDVlOSwwLHsweGYwLDB4MDMsMHhhNCwweDI0LDB4MzMsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4MDQsMHhmMCwweDIyfX0sCi0gezEyLDB4NDVmOSwwLHsweDc4LDB4N2YsMHhlNCwweGY2LDB4ZDgsMHhmZCwweDc1LDB4ODEsMHgzOCwweDAyLDB4NDYsMHg0MH19LAotIHsxNiwweDQ2MDUsMCx7MHgwMiwweDQ3LDB4NWEsMHhlNCwweDkzLDB4YTMsMHhmOCwweGU0LDB4OTMsMHhhMywweDQwLDB4MDMsMHhmNiwweDgwLDB4MDEsMHhmMn19LAotIHsxNiwweDQ2MTUsMCx7MHgwOCwweGRmLDB4ZjQsMHg4MCwweDI5LDB4ZTQsMHg5MywweGEzLDB4ZjgsMHg1NCwweDA3LDB4MjQsMHgwYywweGM4LDB4YzMsMHgzM319LAotIHsxNiwweDQ2MjUsMCx7MHhjNCwweDU0LDB4MGYsMHg0NCwweDIwLDB4YzgsMHg4MywweDQwLDB4MDQsMHhmNCwweDU2LDB4ODAsMHgwMSwweDQ2LDB4ZjYsMHhkZn19LAotIHsxNiwweDQ2MzUsMCx7MHhlNCwweDgwLDB4MGIsMHgwMSwweDAyLDB4MDQsMHgwOCwweDEwLDB4MjAsMHg0MCwweDgwLDB4OTAsMHgwYywweDhmLDB4ZTQsMHg3ZX19LAotIHsxNiwweDQ2NDUsMCx7MHgwMSwweDkzLDB4NjAsMHhiYywweGEzLDB4ZmYsMHg1NCwweDNmLDB4MzAsMHhlNSwweDA5LDB4NTQsMHgxZiwweGZlLDB4ZTQsMHg5M319LAotIHsxNiwweDQ2NTUsMCx7MHhhMywweDYwLDB4MDEsMHgwZSwweGNmLDB4NTQsMHhjMCwweDI1LDB4ZTAsMHg2MCwweGE4LDB4NDAsMHhiOCwweGU0LDB4OTMsMHhhM319LAotIHsxNiwweDQ2NjUsMCx7MHhmYSwweGU0LDB4OTMsMHhhMywweGY4LDB4ZTQsMHg5MywweGEzLDB4YzgsMHhjNSwweDgyLDB4YzgsMHhjYSwweGM1LDB4ODMsMHhjYX19LAotIHsxNiwweDQ2NzUsMCx7MHhmMCwweGEzLDB4YzgsMHhjNSwweDgyLDB4YzgsMHhjYSwweGM1LDB4ODMsMHhjYSwweGRmLDB4ZTksMHhkZSwweGU3LDB4ODAsMHhiZX19LAotIHsxNiwweDQ2ODUsMCx7MHg5MCwweDdmLDB4ZWMsMHhlMCwweDkwLDB4NzYsMHg4MywweGYwLDB4ZTAsMHgxNCwweDYwLDB4MWQsMHgxNCwweDYwLDB4MmEsMHgxNH19LAotIHsxNiwweDQ2OTUsMCx7MHg2MCwweDM3LDB4MTQsMHg2MCwweDQ0LDB4MjQsMHgwNCwweDcwLDB4NTAsMHg5MCwweDc2LDB4OTEsMHhlMCwweDkwLDB4N2YsMHgwMH19LAotIHsxNiwweDQ2YTUsMCx7MHhmMCwweDkwLDB4N2YsMHhiNSwweDc0LDB4MDEsMHhmMCwweDgwLDB4NDcsMHg5MCwweDc2LDB4OTIsMHhlMCwweDkwLDB4N2YsMHgwMH19LAotIHsxNiwweDQ2YjUsMCx7MHhmMCwweDkwLDB4N2YsMHhiNSwweDc0LDB4MDEsMHhmMCwweDgwLDB4MzcsMHg5MCwweDc2LDB4OTAsMHhlMCwweDkwLDB4N2YsMHgwMH19LAotIHsxNiwweDQ2YzUsMCx7MHhmMCwweDkwLDB4N2YsMHhiNSwweDc0LDB4MDEsMHhmMCwweDgwLDB4MjcsMHg5MCwweDc2LDB4ODQsMHhlMCwweDkwLDB4N2YsMHgwMH19LAotIHsxNiwweDQ2ZDUsMCx7MHhmMCwweDkwLDB4N2YsMHhiNSwweDc0LDB4MDEsMHhmMCwweDgwLDB4MTcsMHg5MCwweDc2LDB4OTMsMHhlMCwweDkwLDB4N2YsMHgwMH19LAotIHsxNiwweDQ2ZTUsMCx7MHhmMCwweDkwLDB4N2YsMHhiNSwweDc0LDB4MDEsMHhmMCwweDgwLDB4MDcsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMH19LAotIHsgMiwweDQ2ZjUsMCx7MHhkMywweDIyfX0sCi0gezE2LDB4NDZmNywwLHsweGMwLDB4ZTAsMHhjMCwweGYwLDB4YzAsMHg4MywweGMwLDB4ODIsMHhjMCwweGQwLDB4ZTgsMHhjMCwweGUwLDB4ZTksMHhjMCwweGUwfX0sCi0gezE2LDB4NDcwNywwLHsweGVhLDB4YzAsMHhlMCwweGViLDB4YzAsMHhlMCwweGVjLDB4YzAsMHhlMCwweGVkLDB4YzAsMHhlMCwweGVlLDB4YzAsMHhlMCwweGVmfX0sCi0gezE2LDB4NDcxNywwLHsweGMwLDB4ZTAsMHhjMiwweGNhLDB4YzIsMHhjZiwweDkwLDB4N2YsMHg5OCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MzAsMHgyZSwweDAzfX0sCi0gezE2LDB4NDcyNywwLHsweDEyLDB4MTQsMHhhNiwweDkwLDB4N2YsMHg5OCwweGUwLDB4NTQsMHhmZSwweGYwLDB4NTMsMHhhOCwweGZhLDB4MTIsMHgxNiwweDYxfX0sCi0gezE2LDB4NDczNywwLHsweGQwLDB4ZTAsMHhmZiwweGQwLDB4ZTAsMHhmZSwweGQwLDB4ZTAsMHhmZCwweGQwLDB4ZTAsMHhmYywweGQwLDB4ZTAsMHhmYiwweGQwfX0sCi0gezE2LDB4NDc0NywwLHsweGUwLDB4ZmEsMHhkMCwweGUwLDB4ZjksMHhkMCwweGUwLDB4ZjgsMHhkMCwweGQwLDB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGYwfX0sCi0geyAzLDB4NDc1NywwLHsweGQwLDB4ZTAsMHgzMn19LAotIHsxNiwweDQ3NWEsMCx7MHhlNCwweDkwLDB4NzYsMHg2NiwweGYwLDB4MTIsMHg0NCwweGExLDB4MjAsMHgyNiwweDEzLDB4OTAsMHg3NiwweDY2LDB4ZTAsMHhjM319LAotIHsxNiwweDQ3NmEsMCx7MHg5NCwweDAyLDB4NTAsMHgwYSwweGUwLDB4MDQsMHhmMCwweGQyLDB4NDIsMHgxMiwweDRhLDB4ZjYsMHg4MCwweGVhLDB4MzAsMHgyNn19LAotIHsxNiwweDQ3N2EsMCx7MHgwNSwweDEyLDB4MjgsMHgwMSwweGMyLDB4MjYsMHgzMCwweDI1LDB4MmIsMHg5MCwweDc2LDB4OTYsMHhlMCwweDU0LDB4ZmMsMHhmMH19LAotIHsxNiwweDQ3OGEsMCx7MHg5MCwweDgwLDB4MDMsMHhmMCwweDEyLDB4MTQsMHg5NiwweDkwLDB4NzYsMHg5NiwweGUwLDB4NDQsMHgwMywweGYwLDB4OTAsMHg4MH19LAotIHsxNiwweDQ3OWEsMCx7MHgwMywweGYwLDB4ZTQsMHg5MCwweDc2LDB4NjcsMHhmMCwweDkwLDB4NzYsMHg2NywweGUwLDB4MDQsMHhmMCwweGUwLDB4YjQsMHg0Yn19LAotIHsxMCwweDQ3YWEsMCx7MHhmNiwweDEyLDB4M2YsMHhmYSwweDEyLDB4NDEsMHgxYiwweDgwLDB4YzUsMHgyMn19LAotIHsxNiwweDQ3YjQsMCx7MHhlNCwweDkwLDB4NzYsMHg5YiwweGYwLDB4OTAsMHg3NiwweDliLDB4ZTAsMHhmZiwweDA0LDB4ZjAsMHhlZiwweDYwLDB4MDgsMHhlMH19LAotIHsxNiwweDQ3YzQsMCx7MHgyNCwweDA4LDB4ZjgsMHhlNCwweGY2LDB4ODAsMHhlZSwweDkwLDB4NzYsMHg5NiwweGUwLDB4NTQsMHhmYiwweGYwLDB4NTQsMHhmN319LAotIHsxNiwweDQ3ZDQsMCx7MHhmMCwweDkwLDB4ODAsMHgwMywweGYwLDB4ZTQsMHhmNSwweDE4LDB4ZDIsMHgzNSwweGY1LDB4MGUsMHhmNSwweDEwLDB4ZDIsMHgzNn19LAotIHsxNiwweDQ3ZTQsMCx7MHg3NSwweDEyLDB4MTEsMHg3NSwweDEzLDB4MjIsMHhjMiwweDM3LDB4YzIsMHgzOSwweGMyLDB4MzgsMHhmNSwweDE2LDB4ZjUsMHgxNH19LAotIHsxMSwweDQ3ZjQsMCx7MHhmNSwweDFhLDB4ZjUsMHgwZCwweGMyLDB4M2IsMHhjMiwweDNjLDB4YzIsMHgzZCwweDIyfX0sCi0gezE2LDB4NDgwMCwwLHsweDkwLDB4N2YsMHhlYywweGUwLDB4OTAsMHg3NiwweDgzLDB4ZjAsMHhlMCwweDE0LDB4NjAsMHgxNywweDE0LDB4NjAsMHgyMSwweDE0fX0sCi0gezE2LDB4NDgxMCwwLHsweDYwLDB4MmIsMHgxNCwweDYwLDB4MzIsMHgyNCwweDA0LDB4NzAsMHgzOCwweDkwLDB4N2YsMHhlYSwweGUwLDB4OTAsMHg3NiwweDkxfX0sCi0gezE2LDB4NDgyMCwwLHsweGYwLDB4ODAsMHgzNSwweDkwLDB4N2YsMHhlYSwweGUwLDB4OTAsMHg3NiwweDkyLDB4ZjAsMHgxMiwweDNlLDB4OGYsMHg4MCwweDI4fX0sCi0gezE2LDB4NDgzMCwwLHsweDkwLDB4N2YsMHhlYSwweGUwLDB4OTAsMHg3NiwweDkwLDB4ZjAsMHgxMiwweDE4LDB4MDAsMHg4MCwweDFiLDB4OTAsMHg3ZiwweGVhfX0sCi0gezE2LDB4NDg0MCwwLHsweGUwLDB4OTAsMHg3NiwweDg0LDB4ZjAsMHg4MCwweDExLDB4OTAsMHg3ZiwweGVhLDB4ZTAsMHg5MCwweDc2LDB4OTMsMHhmMCwweDgwfX0sCi0gezEwLDB4NDg1MCwwLHsweDA3LDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHhkMywweDIyfX0sCi0gezE2LDB4NDg1YSwwLHsweGU0LDB4OTAsMHg3NiwweDI2LDB4ZjAsMHg5MCwweDc2LDB4MjYsMHhlMCwweGZmLDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNCwweDM0fX0sCi0gezE2LDB4NDg2YSwwLHsweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHhmZSwweDkwLDB4N2YsMHhlYywweGUwLDB4ZmQsMHhlZSwweDZkfX0sCi0gezE2LDB4NDg3YSwwLHsweDYwLDB4MGUsMHhlZiwweGMzLDB4OTQsMHgwNCwweDUwLDB4MDgsMHg5MCwweDc2LDB4MjYsMHhlMCwweDA0LDB4ZjAsMHg4MCwweGQ1fX0sCi0gezE2LDB4NDg4YSwwLHsweGVmLDB4YjQsMHgwNCwweDA4LDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweGVmLDB4NzUsMHhmMCwweDAzfX0sCi0gezE2LDB4NDg5YSwwLHsweGE0LDB4MjQsMHgzMiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHg5MCwweDdmLDB4MDAsMHhmMCwweDkwfX0sCi0geyA2LDB4NDhhYSwwLHsweDdmLDB4YjUsMHg3NCwweDAxLDB4ZjAsMHgyMn19LAotIHsgMiwweDQ4YjAsMCx7MHg4ZiwweDJlfX0sCi0gezE2LDB4NDhiMiwwLHsweGU0LDB4ZjUsMHgyZiwweDc1LDB4MzAsMHhmZiwweDc1LDB4MzEsMHgwNiwweDc1LDB4MzIsMHhiZSwweGFiLDB4MzAsMHhhYSwweDMxfX0sCi0gezE2LDB4NDhjMiwwLHsweGE5LDB4MzIsMHg5MCwweDAwLDB4MDEsMHgxMiwweDM2LDB4YWIsMHhiNCwweDAzLDB4MWYsMHhhZiwweDJmLDB4MDUsMHgyZiwweGVmfX0sCi0gezE2LDB4NDhkMiwwLHsweDY1LDB4MmUsMHg3MCwweDAxLDB4MjIsMHgxMiwweDM2LDB4OTIsMHg3ZSwweDAwLDB4MjksMHhmZiwweGVlLDB4M2EsMHhjOSwweGVmfX0sCi0gezE2LDB4NDhlMiwwLHsweGM5LDB4NzUsMHgzMCwweGZmLDB4ZjUsMHgzMSwweDg5LDB4MzIsMHg4MCwweGQyLDB4N2IsMHgwMCwweDdhLDB4MDAsMHg3OSwweDAwfX0sCi0geyAxLDB4NDhmMiwwLHsweDIyfX0sCi0gezEyLDB4NDhmMywwLHsweGMyLDB4MzcsMHhlNCwweGY1LDB4MGUsMHhmNSwweDEwLDB4YzIsMHgzNiwweGY1LDB4MTQsMHgyMn19LAotIHsxNiwweDQ5MDAsMCx7MHgwMiwweDJmLDB4ZTcsMHgwMCwweDAyLDB4M2QsMHg0NywweDAwLDB4MDIsMHg0ZCwweDQ2LDB4MDAsMHgwMiwweDRiLDB4ZDUsMHgwMH19LAotIHsxNiwweDQ5MTAsMCx7MHgwMiwweDRiLDB4NjAsMHgwMCwweDAyLDB4MmYsMHhmZiwweDAwLDB4MDIsMHg0YiwweGVkLDB4MDAsMHgwMiwweDRiLDB4ODEsMHgwMH19LAotIHsxNiwweDQ5MjAsMCx7MHgwMiwweDRjLDB4MDQsMHgwMCwweDAyLDB4M2YsMHhkNSwweDAwLDB4MDIsMHg0YywweDFiLDB4MDAsMHgwMiwweDRjLDB4MzIsMHgwMH19LAotIHsxNiwweDQ5MzAsMCx7MHgwMiwweDRjLDB4NDksMHgwMCwweDAyLDB4NGMsMHg2MCwweDAwLDB4MDIsMHg0YywweDc3LDB4MDAsMHgwMiwweDRjLDB4OGUsMHgwMH19LAotIHsxNiwweDQ5NDAsMCx7MHgwMiwweDRjLDB4YTUsMHgwMCwweDAyLDB4NGMsMHhiYywweDAwLDB4MDIsMHg0YywweGQzLDB4MDAsMHgwMiwweDRjLDB4ZWEsMHgwMH19LAotIHsgOCwweDQ5NTAsMCx7MHgwMiwweDRkLDB4MDEsMHgwMCwweDAyLDB4NGQsMHgxOCwweDAwfX0sCi0gezE2LDB4NDk1OCwwLHsweDkwLDB4NzYsMHg0NiwweDc0LDB4ODAsMHhmMCwweGU0LDB4YTMsMHhmMCwweGEzLDB4ZjAsMHhhMywweGYwLDB4YTMsMHhmMCwweGEzfX0sCi0gezE2LDB4NDk2OCwwLHsweGYwLDB4YTMsMHhmMCwweGEzLDB4ZjAsMHhhMywweGYwLDB4YTMsMHg3NCwweDgwLDB4ZjAsMHhlNCwweGEzLDB4ZjAsMHhhMywweGYwfX0sCi0gezE2LDB4NDk3OCwwLHsweGEzLDB4ZjAsMHhhMywweGYwLDB4YTMsMHhmMCwweGEzLDB4ZjAsMHhhMywweDc0LDB4NDAsMHhmMCwweGU0LDB4YTMsMHhmMCwweGEzfX0sCi0gezE2LDB4NDk4OCwwLHsweDc0LDB4NDAsMHhmMCwweGU0LDB4YTMsMHhmMCwweGEzLDB4ZjAsMHhhMywweGYwLDB4YTMsMHhmMCwweGEzLDB4ZjAsMHhhMywweGYwfX0sCi0gezE2LDB4NDk5OCwwLHsweGEzLDB4NzQsMHg0MCwweGYwLDB4ZTQsMHhhMywweGYwLDB4YTMsMHg3NCwweDQwLDB4ZjAsMHhlNCwweGEzLDB4ZjAsMHhhMywweGYwfX0sCi0geyA1LDB4NDlhOCwwLHsweGEzLDB4ZjAsMHhhMywweGYwLDB4MjJ9fSwKLSB7MTYsMHg0OWFkLDAsezB4ZTQsMHg5MCwweDc2LDB4MjUsMHhmMCwweDkwLDB4NzYsMHgyNSwweGUwLDB4ZmYsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0LDB4MzR9fSwKLSB7MTYsMHg0OWJkLDAsezB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweGZlLDB4OTAsMHg3ZiwweGVjLDB4ZTAsMHhmZCwweGVlLDB4NmR9fSwKLSB7MTYsMHg0OWNkLDAsezB4NjAsMHgwZSwweGVmLDB4YzMsMHg5NCwweDA0LDB4NTAsMHgwOCwweDkwLDB4NzYsMHgyNSwweGUwLDB4MDQsMHhmMCwweDgwLDB4ZDV9fSwKLSB7MTYsMHg0OWRkLDAsezB4ZWYsMHhiNCwweDA0LDB4MDgsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3ZSwweGMwLDB4ZTB9fSwKLSB7MTYsMHg0OWVkLDAsezB4ZmUsMHhlZiwweDc1LDB4ZjAsMHgwMywweGE0LDB4MjQsMHgzMiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZWV9fSwKLSB7IDIsMHg0OWZkLDAsezB4ZjAsMHgyMn19LAotIHsxNiwweDQ5ZmYsMCx7MHhlNCwweGZlLDB4NzUsMHgxZCwweGZmLDB4NzUsMHgxZSwweDA1LDB4NzUsMHgxZiwweDEyLDB4YWIsMHgxZCwweGFhLDB4MWUsMHhhOX19LAotIHsxNiwweDRhMGYsMCx7MHgxZiwweDkwLDB4MDAsMHgwMSwweDEyLDB4MzYsMHhhYiwweDY0LDB4MDIsMHg3MCwweDJmLDB4Y2QsMHhlZSwweGNkLDB4MGUsMHhlZH19LAotIHsxNiwweDRhMWYsMCx7MHg2ZiwweDcwLDB4MDEsMHgyMiwweDkwLDB4MDAsMHgwMiwweDEyLDB4MzcsMHgwZSwweDg1LDB4ZjAsMHgxYiwweGY1LDB4MWMsMHg2Mn19LAotIHsxNiwweDRhMmYsMCx7MHgxYiwweGU1LDB4MWIsMHg2MiwweDFjLDB4ZTUsMHgxYywweDYyLDB4MWIsMHgyOSwweGZkLDB4ZTUsMHgxYiwweDNhLDB4YzksMHhlZH19LAotIHsxNiwweDRhM2YsMCx7MHhjOSwweDc1LDB4MWQsMHhmZiwweGY1LDB4MWUsMHg4OSwweDFmLDB4ODAsMHhjMSwweDdiLDB4MDAsMHg3YSwweDAwLDB4NzksMHgwMH19LAotIHsgMSwweDRhNGYsMCx7MHgyMn19LAotIHsxNiwweDRhNTAsMCx7MHgzMCwweDJkLDB4MzksMHhjMiwweDJkLDB4OTAsMHg3NiwweDE5LDB4ZTAsMHhmZiwweGI0LDB4MDEsMHgwZCwweGU0LDB4OTAsMHg3Nn19LAotIHsxNiwweDRhNjAsMCx7MHg3YywweGYwLDB4YTMsMHg3NCwweGY4LDB4ZjAsMHhhMywweDc0LDB4MGEsMHhmMCwweGVmLDB4YjQsMHgwMiwweDBkLDB4ZTQsMHg5MH19LAotIHsxNiwweDRhNzAsMCx7MHg3NiwweDdjLDB4ZjAsMHhhMywweDc0LDB4ZjAsMHhmMCwweGEzLDB4NzQsMHgwYiwweGYwLDB4ZWYsMHhiNCwweDAzLDB4MGQsMHhlNH19LAotIHsxMywweDRhODAsMCx7MHg5MCwweDc2LDB4N2MsMHhmMCwweGEzLDB4NzQsMHhmOCwweGYwLDB4YTMsMHg3NCwweDE3LDB4ZjAsMHgyMn19LAotIHsxNiwweDRhOGQsMCx7MHhlNCwweGZmLDB4NzQsMHg1NiwweDJmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NiwweGY1LDB4ODMsMHhlMCwweGZlLDB4NzQsMHgyOH19LAotIHsxNiwweDRhOWQsMCx7MHgyZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4ODAsMHhmNSwweDgzLDB4ZWUsMHhmMCwweDc0LDB4NWUsMHgyZiwweGY1LDB4ODIsMHhlNH19LAotIHsxNiwweDRhYWQsMCx7MHgzNCwweDc2LDB4ZjUsMHg4MywweGUwLDB4ZmUsMHg3NCwweDM4LDB4MmYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDgwLDB4ZjUsMHg4M319LAotIHsgNiwweDRhYmQsMCx7MHhlZSwweGYwLDB4MGYsMHhiZiwweDA4LDB4Y2N9fSwKLSB7IDEsMHg0YWMzLDAsezB4MjJ9fSwKLSB7MTYsMHg0YWM0LDAsezB4ZTQsMHg5MCwweDcyLDB4MzYsMHhmMCwweGEzLDB4ZjAsMHg5MCwweDdmLDB4OTcsMHhlMCwweDU0LDB4ZmIsMHhmMCwweGU0LDB4OTB9fSwKLSB7MTYsMHg0YWQ0LDAsezB4NzIsMHgzMywweGYwLDB4OTAsMHg3MiwweDMyLDB4ZjAsMHg5MCwweDcyLDB4MDEsMHgwNCwweGYwLDB4ZTQsMHg5MCwweDcyLDB4MzN9fSwKLSB7MTYsMHg0YWU0LDAsezB4ZjAsMHg5MCwweDcyLDB4MzIsMHhmMCwweDkwLDB4NzIsMHgwMSwweDA0LDB4ZjAsMHg5MCwweDdmLDB4OTcsMHhlMCwweDQ0LDB4MDR9fSwKLSB7IDIsMHg0YWY0LDAsezB4ZjAsMHgyMn19LAotIHsxNiwweDRhZjYsMCx7MHg5MCwweDdmLDB4ZDYsMHhlMCwweDU0LDB4ZmIsMHhmMCwweGUwLDB4NDQsMHgwOCwweGYwLDB4MzAsMHg0MiwweDA0LDB4ZTAsMHg0NH19LAotIHsxNiwweDRiMDYsMCx7MHgwMiwweGYwLDB4N2YsMHhkYywweDdlLDB4MDUsMHgxMiwweDRkLDB4MmYsMHg5MCwweDdmLDB4ZDYsMHhlMCwweDU0LDB4ZjcsMHhmMH19LAotIHsgNSwweDRiMTYsMCx7MHhlMCwweDQ0LDB4MDQsMHhmMCwweDIyfX0sCi0gezE2LDB4NGIxYiwwLHsweDkwLDB4N2YsMHhlYiwweGUwLDB4MTQsMHg3MCwweDE0LDB4OTAsMHg3ZiwweGU5LDB4ZTAsMHgyNCwweDdmLDB4NzAsMHgwNCwweDEyfX0sCi0gezE2LDB4NGIyYiwwLHsweDQ4LDB4NWEsMHgyMiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0fX0sCi0geyAzLDB4NGIzYiwwLHsweDAxLDB4ZjAsMHgyMn19LAotIHsxNiwweDRiM2UsMCx7MHg5MCwweDdmLDB4ZWIsMHhlMCwweDE0LDB4NzAsMHgxMywweDkwLDB4N2YsMHhlOSwweGUwLDB4MTQsMHg3MCwweDA0LDB4MTIsMHg0OX19LAotIHsxNiwweDRiNGUsMCx7MHhhZCwweDIyLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMX19LAotIHsgMiwweDRiNWUsMCx7MHhmMCwweDIyfX0sCi0gezE2LDB4NGI2MCwwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhYiwweDc0LDB4MTAsMHhmMCwweDkwfX0sCi0gezE2LDB4NGI3MCwwLHsweDc2LDB4OTYsMHhlMCwweDU0LDB4ZmQsMHhmMCwweDkwLDB4ODAsMHgwMywweGYwLDB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwfX0sCi0geyAxLDB4NGI4MCwwLHsweDMyfX0sCi0gezE2LDB4NGI4MSwwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhYSwweGUwLDB4NDQsMHgwMSwweGYwfX0sCi0gezE1LDB4NGI5MSwwLHsweGMyLDB4MjksMHg5MCwweDc2LDB4OGQsMHg3NCwweDAxLDB4ZjAsMHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn19LAotIHsxNiwweDRiYTAsMCx7MHg5MCwweDdmLDB4ZWEsMHhlMCwweDkwLDB4NzYsMHg4MiwweGYwLDB4ZTQsMHg5MCwweDc2LDB4OTEsMHhmMCwweDkwLDB4NzYsMHg5Mn19LAotIHsxMSwweDRiYjAsMCx7MHhmMCwweDkwLDB4NzYsMHg5MCwweGYwLDB4OTAsMHg3NiwweDkzLDB4ZjAsMHhkMywweDIyfX0sCi0gezE2LDB4NGJiYiwwLHsweDkwLDB4N2YsMHhkNiwweGUwLDB4MzAsMHhlNywweDEyLDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg3ZiwweDE0LDB4N2UsMHgwMCwweDEyfX0sCi0gezEwLDB4NGJjYiwwLHsweDRkLDB4MmYsMHg5MCwweDdmLDB4ZDYsMHhlMCwweDU0LDB4ZmUsMHhmMCwweDIyfX0sCi0gezE2LDB4NGJkNSwwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweGQyLDB4MjUsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YWIsMHg3NCwweDA4fX0sCi0geyA4LDB4NGJlNSwwLHsweGYwLDB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9fSwKLSB7MTYsMHg0YmVkLDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGE5LDB4ZTAsMHg0NCwweDAxLDB4ZjB9fSwKLSB7IDcsMHg0YmZkLDAsezB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9fSwKLSB7MTYsMHg0YzA0LDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGE5LDB4ZTAsMHg0NCwweDAyLDB4ZjB9fSwKLSB7IDcsMHg0YzE0LDAsezB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9fSwKLSB7MTYsMHg0YzFiLDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGE5LDB4ZTAsMHg0NCwweDA0LDB4ZjB9fSwKLSB7IDcsMHg0YzJiLDAsezB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9fSwKLSB7MTYsMHg0YzMyLDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGFhLDB4ZTAsMHg0NCwweDA0LDB4ZjB9fSwKLSB7IDcsMHg0YzQyLDAsezB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9fSwKLSB7MTYsMHg0YzQ5LDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGE5LDB4ZTAsMHg0NCwweDA4LDB4ZjB9fSwKLSB7IDcsMHg0YzU5LDAsezB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9fSwKLSB7MTYsMHg0YzYwLDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGFhLDB4ZTAsMHg0NCwweDA4LDB4ZjB9fSwKLSB7IDcsMHg0YzcwLDAsezB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9fSwKLSB7MTYsMHg0Yzc3LDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGE5LDB4ZTAsMHg0NCwweDEwLDB4ZjB9fSwKLSB7IDcsMHg0Yzg3LDAsezB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9fSwKLSB7MTYsMHg0YzhlLDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGFhLDB4ZTAsMHg0NCwweDEwLDB4ZjB9fSwKLSB7IDcsMHg0YzllLDAsezB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9fSwKLSB7MTYsMHg0Y2E1LDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGE5LDB4ZTAsMHg0NCwweDIwLDB4ZjB9fSwKLSB7IDcsMHg0Y2I1LDAsezB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9fSwKLSB7MTYsMHg0Y2JjLDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGFhLDB4ZTAsMHg0NCwweDIwLDB4ZjB9fSwKLSB7IDcsMHg0Y2NjLDAsezB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9fSwKLSB7MTYsMHg0Y2QzLDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGE5LDB4ZTAsMHg0NCwweDQwLDB4ZjB9fSwKLSB7IDcsMHg0Y2UzLDAsezB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9fSwKLSB7MTYsMHg0Y2VhLDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGFhLDB4ZTAsMHg0NCwweDQwLDB4ZjB9fSwKLSB7IDcsMHg0Y2ZhLDAsezB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9fSwKLSB7MTYsMHg0ZDAxLDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGE5LDB4ZTAsMHg0NCwweDgwLDB4ZjB9fSwKLSB7IDcsMHg0ZDExLDAsezB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9fSwKLSB7MTYsMHg0ZDE4LDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGFhLDB4ZTAsMHg0NCwweDgwLDB4ZjB9fSwKLSB7IDcsMHg0ZDI4LDAsezB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9fSwKLSB7MTYsMHg0ZDJmLDAsezB4OGUsMHgzNSwweDhmLDB4MzYsMHhlNSwweDM2LDB4MTUsMHgzNiwweGFlLDB4MzUsMHg3MCwweDAyLDB4MTUsMHgzNSwweDRlLDB4NjB9fSwKLSB7IDcsMHg0ZDNmLDAsezB4MDUsMHgxMiwweDE0LDB4ODUsMHg4MCwweGVlLDB4MjJ9fSwKLSB7MTYsMHg0ZDQ2LDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGFiLDB4NzQsMHgwNCwweGYwLDB4ZDB9fSwKLSB7IDYsMHg0ZDU2LDAsezB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfX0sCi0gezE2LDB4NGQ1YywwLHsweDkwLDB4NzYsMHg4MiwweGUwLDB4OTAsMHg3ZiwweDAwLDB4ZjAsMHg5MCwweDdmLDB4YjUsMHg3NCwweDAxLDB4ZjAsMHhkMywweDIyfX0sCi0geyA5LDB4NGQ2YywwLHsweGMyLDB4MjUsMHg1MywweGQ4LDB4ZWYsMHg0MywweGQ4LDB4MjAsMHgzMn19LAotIHsgNywweDRkNzUsMCx7MHg1MywweDk4LDB4ZmUsMHg1MywweDk4LDB4ZmQsMHgzMn19LAotIHsgNywweDRkN2MsMCx7MHg1MywweGMwLDB4ZmUsMHg1MywweGMwLDB4ZmQsMHgzMn19LAotIHsgNiwweDRkODMsMCx7MHg1MywweDkxLDB4YmYsMHhkMiwweDJkLDB4MzJ9fSwKLSB7IDYsMHg0ZDg5LDAsezB4NTMsMHg5MSwweDdmLDB4ZDIsMHgyYywweDMyfX0sCi0geyA0LDB4NGQ4ZiwwLHsweDUzLDB4OTEsMHhkZiwweDMyfX0sCi0geyA0LDB4NGQ5MywwLHsweDUzLDB4ZDgsMHhmNywweDMyfX0sCi0geyA0LDB4NGQ5NywwLHsweDEyLDB4MTcsMHgzMCwweDIyfX0sCi0geyAzLDB4NGQ5YiwwLHsweGMyLDB4OGQsMHgzMn19LAotIHsgMywweDRkOWUsMCx7MHhjMiwweDhmLDB4MzJ9fSwKLSB7IDIsMHg0ZGExLDAsezB4ZDMsMHgyMn19LAotIHsgMiwweDRkYTMsMCx7MHhkMywweDIyfX0sCi0geyAyLDB4NGRhNSwwLHsweGQzLDB4MjJ9fSwKLSB7IDIsMHg0ZGE3LDAsezB4ZDMsMHgyMn19LAotIHsgMiwweDRkYTksMCx7MHhkMywweDIyfX0sCi0geyAyLDB4NGRhYiwwLHsweGMzLDB4MjJ9fSwKLSB7IDAsMHgwMDAwLDEsezB9fQotfTsKLS8qIFNvdXJjZTogRU1JNjJTRlcuSEVYIAotOjEwMEM4RjAwNDE3NjY4MDE0MTc2NkEwMjQxNzY2QjBBQzEyMEMxMjEyMwotOjEwNDRBMTAwQzJBRkQyMjQ5MDdGOTM3NDMwRjA5MDdGOUM3NEJCRjBBNAotOjEwNDRCMTAwOTA3Rjk2RTA0NDMwRjBFMDU0MzBGMDkwN0Y5NDc0MzA3NwotOjEwNDRDMTAwRjA5MDdGOUQ3NENGRjA5MDdGOTc3NEEwRjA5MDdGOTVDRQotOjEwNDREMTAwNzRDMEYwOTA3RjlFNzQwM0YwOTA3Rjk5RTAzMEUyMDkwMAotOjEwNDRFMTAwOTAwNTE5NzRBMEYwRTRBM0YwQzIyNUMyMjJDMjIzQzIzMAotOjEwNDRGMTAwMjYxMjRBQzQxMjJEQTkxMjNCRDMxMjQ1NTkxMjNBNDIyRgotOjEwNDUwMTAwOTA3NjY4NzQwMUYwNzAwRjEyNEJCQjEyMDdGRTEyNERDQQotOjEwNDUxMTAwQTExMjFCNDAxMjE0OTYxMjQzMEI5MDdGQUZFMDQ0MDE4RAotOjEwNDUyMTAwRjA5MDdGQUVFMDQ0MUZGMDkwN0ZBQzc0RkZGMDkwN0Y3RAotOjEwNDUzMTAwQURGMDkwN0ZERUYwOTA3RkRGRjA5MDdGQUJGMDkwN0Y2OQotOjEwNDU0MTAwQTlGMDkwN0ZBQUYwNTM5MUVGNDNEODIwRDJFODQzRDg0NQotOjA4NDU1MTAwMjA1M0E4QTA0M0E4ODAyMjFBCi06MTA0NzVBMDBFNDkwNzY2NkYwMTI0NEExMjAyNjEzOTA3NjY2RTBDM0IwCi06MTA0NzZBMDA5NDAyNTAwQUUwMDRGMEQyNDIxMjRBRjY4MEVBMzAyNjU1Ci06MTA0NzdBMDAwNTEyMjgwMUMyMjYzMDI1MkI5MDc2OTZFMDU0RkNGMENCCi06MTA0NzhBMDA5MDgwMDNGMDEyMTQ5NjkwNzY5NkUwNDQwM0YwOTA4MDlECi06MTA0NzlBMDAwM0YwRTQ5MDc2NjdGMDkwNzY2N0UwMDRGMEUwQjQ0QkJCCi06MEE0N0FBMDBGNjEyM0ZGQTEyNDExQjgwQzUyMkVGCi06MTAyODAxMDBDMjIwQzIyMUMyMkE5MDdGRThFMDEyMzdGOTI4MzAwMEE1Ci06MTAyODExMDAyODhDMDEyOEEyMDIyQTFGMjEyQTZBMjIyOTNEODAyOTA3Ci06MTAyODIxMDA3RDgxMjlEMTgyMkE4NEExMkFCQUEyMDAwMDJBQkY5MERGCi06MTAyODMxMDA3RkU5RTAxNDYwMTEyNEZFNjAyODI0RkU2MDNCMjRGQzQzCi06MTAyODQxMDA3MDQwMTI0QkEwNDFDQjEyNERBNzQwMDI0MUNCOTA3RjZCCi06MTAyODUxMDBFQUUwQjQwMTA0QzIyMjQxQ0I5MDdGQjRFMDQ0MDFGMDJDCi06MTAyODYxMDA0MUNCMTI0REE5OTA3RkVBRTBCNDAxMDREMjIyNDFDQkMxCi06MTAyODcxMDA5MDdGQjRFMDQ0MDFGMDQxQ0I5MDdGQjRFMDQ0MDFGMDlCCi06MTAyODgxMDA0MUNCOTA3RkI0RTA0NDAxRjA0MUNCOTA3RkU5RTAyNDVCCi06MTAyODkxMDBGNTcwMDUxMjQ4MDA0MUNCOTA3RkI0RTA0NDAxRjA0MTRFCi06MTAyOEExMDBDQjkwN0ZFOUUwMjRGRDYwNTQyNDAyNjAwMjIxMzQxMkMwCi06MTAyOEIxMDA0REE3NDAwMjQxQ0I5MDdGRUFFMDcwMzg5MDdGRUNFMDc5Ci06MTAyOEMxMDBGNDU0ODBGRkM0NTQwRkZGRTA1NDA3MkYyNUUwMjRCNEQzCi06MTAyOEQxMDBGNTgyRTQzNDdGRjU4M0U0RjA5MDdGRUNFMDU0ODBGRkVGCi06MTAyOEUxMDAxMzEzMTM1NDFGRkZFMDU0MDcyRjkwN0ZEN0YwRTA0NEQ4Ci06MTAyOEYxMDAyMEYwNDFDQjkwN0ZCNEUwNDQwMUYwNDFDQjEyNERBOUNGCi06MTAyOTAxMDA0MDAyNDFDQjkwN0ZFQUUwNzAyMDkwN0ZFQ0UwRjQ1NEVDCi06MTAyOTExMDA4MEZGQzQ1NDBGRkZFMDU0MDcyRjI1RTAyNEI0RjU4MjUzCi06MTAyOTIxMDBFNDM0N0ZGNTgzNzQwMUYwNDFDQjkwN0ZCNEUwNDQwMTNFCi06MTAyOTMxMDBGMDQxQ0I5MDdGQjRFMDQ0MDFGMDQxQ0I5MDdGRTlFMERFCi06MTAyOTQxMDA2MDEyMjRGODYwMDkyNDAyNzAyOTEyNDNEQjQxQ0IxMjgyCi06MTAyOTUxMDA0RDVDNDFDQjEyNERBNUEyMjJFNDMzRkYyNUUwRkZBMjNECi06MTAyOTYxMDAyM0U0MzM0RjkwN0YwMEYwRTRBM0YwOTA3RkI1NzQwMjJECi06MTAyOTcxMDBGMDQxQ0I5MDdGQjRFMDQ0MDFGMDQxQ0I5MDdGRTlFMDlFCi06MTAyOTgxMDA2MDMzMjRGNjYwMkEyNDA0NzAzRDkwN0ZFQkUwMjRERTVFCi06MTAyOTkxMDA2MDBDMDQ3MDEyOTA3RkI0RTA0NDAxRjA0MUNCOTA3RjUxCi06MTAyOUExMDBCNEUwNDQwMUYwNDFDQjkwN0ZCNEUwNDQwMUYwNDFDQjZECi06MTAyOUIxMDAxMjQ2ODU0MUNCMTI0REE1RTQ5MDdGMDBGMEEzRjA5MDIzCi06MTAyOUMxMDA3RkI1NzQwMkYwNDFDQjkwN0ZCNEUwNDQwMUYwNDFDQjdDCi06MTAyOUQxMDA5MDdGRTlFMDI0RjQ2MDM0MjQwQzcwMzkxMjREQTU5MDA1Ci06MTAyOUUxMDA3RkVDRTBGNDU0ODBGRkM0NTQwRkZGRTA1NDA3MkYyNTFGCi06MTAyOUYxMDBFMDI0QjRGNTgyRTQzNDdGRjU4M0UwNTRGRDkwN0YwMDU4Ci06MTAyQTAxMDBGMEU0QTNGMDkwN0ZCNTc0MDJGMDQxQ0I5MDdGQjRFMDg1Ci06MTAyQTExMDA0NDAxRjA0MUNCOTA3RkI0RTA0NDAxRjA0MUNCOTA3RjgxCi06MTAyQTIxMDBFOUUwMjRGNjYwMTIxNDYwMUEyNDAyNzAxREQyMjA5MDhECi06MTAyQTMxMDA3RkI0RTA0NDAxRjA4MDEyRDIyMDkwN0ZCNEUwNDQwMUUxCi06MTAyQTQxMDBGMDgwMDc5MDdGQjRFMDQ0MDFGMDIwMjAxODkwN0ZFRUUxCi06MTAyQTUxMDBFMDcwMDRBM0UwNjAwQkQyMjlEMjI3MTIxNzRBRDIyQUQwCi06MTAyQTYxMDA4MDAzMTIwODAwQzIyMDgwNjE5MDdGRUVFMDcwMDRBMzExCi06MTAyQTcxMDBFMDYwMEJEMjI5RDIyODEyMTc0QUQyMkE4MDRDMTIzODkwCi06MTAyQTgxMDA3NDgwNDc5MDdGRTlFMDI0RkU2MDEyMTQ2MDFBMjQwMkVBCi06MTAyQTkxMDA3MDFERDIyMTkwN0ZCNEUwNDQwMUYwODAxMkQyMjE5MEM4Ci06MTAyQUExMDA3RkI0RTA0NDAxRjA4MDA3OTA3RkI0RTA0NDAxRjAyMDVFCi06MTAyQUIxMDAyMTAzMTIxMDAwQzIyMTgwMTExMjJBRDY4MDBDMTI0RDVFCi06MTAyQUMxMDBBQjUwMDc5MDdGQjRFMDQ0MDFGMDIwMkEwNzkwN0ZCNDE3Ci06MDUyQUQxMDBFMDQ0MDJGMDIyQzgKLToxMDQzREIwMDEyNERBMzQwMDI4MUEwOTA3RkVCRTAyNEZFNjAxRTE0REYKLToxMDQzRUIwMDYwNDYxNDYwNkUxNDcwMDI4MTkxMjQwNDYwMDI4MTk5RkUKLToxMDQzRkIwMDc0MDU5MDdGRDRGMDc0MDA5MDdGRDVGMDIyOTA3RkVBMDMKLToxMDQ0MEIwMEUwRkYxMjQ5RkY4QjIwOEEyMTg5MjJFQTQ5NjAxMUNFRjUKLToxMDQ0MUIwMEVBQ0VFRTkwN0ZENEYwQ0ZFOUNGRUY5MDdGRDVGMDIyQUMKLToxMDQ0MkIwMDkwN0ZCNEUwNDQwMUYwMjI5MDdGRUFFMEZGMTI0OEIwQTUKLToxMDQ0M0IwMDhCMjA4QTIxODkyMkVBNDk2MDExQ0VFQUNFRUU5MDdGNDkKLToxMDQ0NEIwMEQ0RjBDRkU5Q0ZFRjkwN0ZENUYwMjI5MDdGQjRFMDQ0NEEKLToxMDQ0NUIwMDAxRjAyMjkwN0ZFQUUwRkY5MDdFQzBFMEZEQTNFMEZCM0QKLToxMDQ0NkIwMDEyMTc5NDhCMjA4QTIxODkyMkVBNDk2MDExQ0VFQUNFNTkKLToxMDQ0N0IwMEVFOTA3RkQ0RjBDRkU5Q0ZFRjkwN0ZENUYwMjI5MDdGRjUKLToxMDQ0OEIwMEI0RTA0NDAxRjAyMjkwN0ZCNEUwNDQwMUYwMjI5MDdGMkQKLTowNTQ0OUIwMEI0RTA0NDAxRjA1MwotOjAxNDRBMDAwMjJGOQotOjAzMDAzMzAwMDI0RDZDMEYKLTowOTRENkMwMEMyMjU1M0Q4RUY0M0Q4MjAzMkQwCi06MDIwQzlGMDBDMTJGNjMKLTowNjNGRkEwMDEyNEFDNEMyMzEyMjhDCi06MTA0MzBCMDBFNDkwNzY5NkYwOTA4MDAzRjA5MDdGRTA3NDkwRjA5MEJDCi06MTA0MzFCMDA3RkUxNzQwNEYwRTQ5MDdGRERGMDkwN0ZBMUYwNTM4RTg5Ci06MTA0MzJCMDBGODc1ODgwNTc1QjgyMDc1RjgwMTQzOEUzMEY1Qzg3NTlBCi06MTA0MzNCMDBDQTdGNzVDQkY4NDNBODIwMTIwNzRBQzIyQ0MyMkRDMkU0Ci06MTA0MzRCMDAyQkMyMkY5MDdGRkM3NERERjA5MDdGRkY3NEZGRjA5MEY5Ci06MTA0MzVCMDA3Rjk3RTA0NDAxRjA5MDc2MTk3NDAxRjBFNDkwNzY4NTM0Ci06MTA0MzZCMDBGMEEzRjA5MDc2ODFGMDkwNzY4MEYwMTI0OTU4MTIwRkZFCi06MTA0MzdCMDBDNjEyNEE4RDkwN0Y5N0UwNDQwOEYwRTA1NEI5RjBEMjEyCi06MTA0MzhCMDAzMDIwMzAxODEyNDdCNDEyMzAwMDEyNDAwMDEyNDIxNjdGCi06MTA0MzlCMDAxMjRBNTAxMjFCMDQxMjE2NjExMjQyMTZDMjJGQzIzMTVFCi06MTA0M0FCMDBDMjMyQzIzNEMyMzNDMjI5QzIyN0MyMjhFNEY1MTE5MEVCCi06MTA0M0JCMDA3Njg5RjA5MDc2M0ZGMDkwNzY0MUYwOTA3NjQwRjA5MEQxCi06MTA0M0NCMDA3NjhBRjBBM0YwQTMwNEYwRTRBM0YwOTA3Njk5RjAyMkEwCi06MTA0QTUwMDAzMDJEMzlDMjJEOTA3NjE5RTBGRkI0MDEwREU0OTA3NjI3Ci06MTA0QTYwMDA3Q0YwQTM3NEY4RjBBMzc0MEFGMEVGQjQwMjBERTQ5MEE0Ci06MTA0QTcwMDA3NjdDRjBBMzc0RjBGMEEzNzQwQkYwRUZCNDAzMERFNEI0Ci06MEQ0QTgwMDA5MDc2N0NGMEEzNzRGOEYwQTM3NDE3RjAyMjc4Ci06MTAxQjA0MDAzMDJDMzhDMjJDOTA3NjE5RTBGRkI0MDEwRTkwNzY3QzBDCi06MTAxQjE0MDA3NEMwRjBBMzc0MTRGMEEzNzQwQkYwRUZCNDAyMERFNERBCi06MTAxQjI0MDA5MDc2N0NGMEEzNzQxMEYwQTM3NDBDRjBFRkI0MDMwQjY0Ci06MEMxQjM0MDBFNDkwNzY3Q0YwQTM3NDE4RjBBM0YwMjI3QgotOjEwNDExQjAwOTA3NjhERTA2NDAxNzAyNzMwMjcwOEMyMjcxMjA4MDBDMwotOjEwNDEyQjAwMTIxNzRBMzAyODA4QzIyODEyMzg3NDEyMTc0QTMwMkEzQwotOjEwNDEzQjAwMEVFNDkwNzY4REYwQzIyQTkwN0ZCNEUwNDQwMkYwOTBBQQotOjEwNDE0QjAwNzYzRkUwQjQwMTA1RTRGMDEyMzI2RjkwNzY0MUUwQjRCMwotOjEwNDE1QjAwMDEwNUU0RjAxMjM0OUE5MDc2NDBFMEI0MDEwMzEyMzQ3NgotOjEwNDE2QjAwOUE5MDdGOUJFMDIwRTQwMkMyM0Y5MDdGOUJFMDMwRTQ3QgotOjEwNDE3QjAwMDJEMjNGOTA3RjlCRTAyMEU1MDJDMjNFOTA3RjlCRTAwNgotOjEwNDE4QjAwMzBFNTAyRDIzRUEyNDEzMDNGMDFCMzUwMUZBMjNGOTIxNQotOjEwNDE5QjAwNDEzMDNGMDk5MDc2OTdFMDU0RkVGMDgwMDc5MDc2OTc3OAotOjEwNDFBQjAwRTA0NDAxRjA5MDc2OTdFMDkwODAwMkYwMzAzRjM0OTAzRAotOjEwNDFCQjAwNzYxOUUwRkZCNDAxMEU5MDc2N0M3NDY3RjBBMzc0MDY1OQotOjEwNDFDQjAwRjBBMzc0MEJGMEVGQjQwMjBCRTQ5MDc2N0NGMEEzRjA0OQotOjEwNDFEQjAwQTM3NDBDRjBFRkI0MDMwQkU0OTA3NjdDRjBBM0YwQTM4NAotOjEwNDFFQjAwNzQxOEYwQTI0MDMwM0UwMUIzNTAxRkEyM0U5MjQwMzBGMwotOjEwNDFGQjAwM0UwOTkwNzY5NUUwNDQwNEYwODAwNzkwNzY5NUUwNTQ2NAotOjBCNDIwQjAwRkJGMDkwNzY5NUUwOTA4MDAxRjAyMjFGCi06MDIwN0ZFMDBEMzIyMDQKLTowMjREQTEwMEQzMjIxQgotOjAyNERBMzAwRDMyMjE5Ci06MTA0QkEwMDA5MDdGRUFFMDkwNzY4MkYwRTQ5MDc2OTFGMDkwNzY5MkIxCi06MEI0QkIwMDBGMDkwNzY5MEYwOTA3NjkzRjBEMzIyMDYKLToxMDRENUMwMDkwNzY4MkUwOTA3RjAwRjA5MDdGQjU3NDAxRjBEMzIyQzIKLToxMDQ4MDAwMDkwN0ZFQ0UwOTA3NjgzRjBFMDE0NjAxNzE0NjAyMTE0NDAKLToxMDQ4MTAwMDYwMkIxNDYwMzIyNDA0NzAzODkwN0ZFQUUwOTA3NjkxMjcKLToxMDQ4MjAwMEYwODAzNTkwN0ZFQUUwOTA3NjkyRjAxMjNFOEY4MDI4RkIKLToxMDQ4MzAwMDkwN0ZFQUUwOTA3NjkwRjAxMjE4MDA4MDFCOTA3RkVBNUIKLToxMDQ4NDAwMEUwOTA3Njg0RjA4MDExOTA3RkVBRTA5MDc2OTNGMDgwOUIKLTowQTQ4NTAwMDA3OTA3RkI0RTA0NDAxRjBEMzIyOEEKLToxMDQ2ODUwMDkwN0ZFQ0UwOTA3NjgzRjBFMDE0NjAxRDE0NjAyQTE0QUUKLToxMDQ2OTUwMDYwMzcxNDYwNDQyNDA0NzA1MDkwNzY5MUUwOTA3RjAwNTgKLToxMDQ2QTUwMEYwOTA3RkI1NzQwMUYwODA0NzkwNzY5MkUwOTA3RjAwOUUKLToxMDQ2QjUwMEYwOTA3RkI1NzQwMUYwODAzNzkwNzY5MEUwOTA3RjAwQTAKLToxMDQ2QzUwMEYwOTA3RkI1NzQwMUYwODAyNzkwNzY4NEUwOTA3RjAwQUMKLToxMDQ2RDUwMEYwOTA3RkI1NzQwMUYwODAxNzkwNzY5M0UwOTA3RjAwOUQKLToxMDQ2RTUwMEYwOTA3RkI1NzQwMUYwODAwNzkwN0ZCNEUwNDQwMUYwNEQKLTowMjQ2RjUwMEQzMjJDRQotOjAyNERBNTAwRDMyMjE3Ci06MDI0REE3MDBEMzIyMTUKLTowMjREQTkwMEQzMjIxMwotOjAyNERBQjAwQzMyMjIxCi06MTAyRkU3MDBDMEUwQzA4M0MwODJEMjI2NTM5MUVGOTA3RkFCNzQwMUJCCi06MDgyRkY3MDBGMEQwODJEMDgzRDBFMDMyNUIKLToxMDRENDYwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBQjc0MDRGMEQwNzMKLTowNjRENTYwMDgyRDA4M0QwRTAzMkEwCi06MTAzRDQ3MDBDMEUwQzBGMEMwODNDMDgyQzBEMEU4QzBFMEU5QzBFMEY2Ci06MTAzRDU3MDBFQUMwRTBFQkMwRTBFQ0MwRTBFREMwRTBFRUMwRTBFRkIxCi06MTAzRDY3MDBDMEUwOTA3RkEyRTA5MDc2N0ZGMDkwN0Y3NEUwOTA3NjNECi06MTAzRDc3MDA4N0YwOTA3Rjc1RTA5MDc2ODhGMDkwN0Y5OEUwNDQwMjE2Ci06MTAzRDg3MDBGMDkwNzY5NkUwRkYyMEUxMEM0NDAyRjA5MDgwMDNGMDdCCi06MTAzRDk3MDBEMjMyMTI0QUM0OTA3NjdGRTAyMEUyNTA5MDc2ODdFMEQ0Ci06MTAzREE3MDBGRUEzRTA3QzAwMjQwMEY1MzRFQzNFRjUzMzkwNzY5OEQyCi06MTAzREI3MDBFMEZEQUUzM0FGMzQxMjM2RDg5MDc2ODdFRkYwRDIyRkNFCi06MTAzREM3MDAzMDMxMjkyMDNGMjZDMjMxOTA3Rjk0RTA1NENGRjA5MEM0Ci06MTAzREQ3MDA3RjlBRTAzMEU0MDREMjJEQzIyQzkwN0Y5QUUwMjBFNTUwCi06MTAzREU3MDAwNEMyMkREMjJDOTA3Rjk0RTA0NDMwRjAxMjRBNTAxMjM2Ci06MTAzREY3MDAxQjA0MzAyRjEyMTI0MjE2QzIyRjc1RTgwMTEyMTY4QUMxCi06MTAzRTA3MDA3NUU4MEREMjJCODAwNTc1RTgwMUMyMkIyMDJCMzQ5MDY1Ci06MTAzRTE3MDA3NjE5RTBGRkI0MDEwRTkwNzY3Qzc0NjdGMEEzNzQwNjAwCi06MTAzRTI3MDBGMEEzNzQwQkYwRUZCNDAyMEI5MDc2N0NFNEYwQTNGMEYwCi06MTAzRTM3MDBBMzc0MENGMEVGQjQwMzBCOTA3NjdDRTRGMEEzRjBBMzJCCi06MTAzRTQ3MDA3NDE4RjA3NUNBRDM3NUNCRkVEMkNBMzAzNDA0QzIzNEE1Ci06MTAzRTU3MDA4MDAyRDIzNDUzOTFFRjkwN0ZBQjc0MDJGMEYwOTA3RkUxCi06MTAzRTY3MDA5OEUwNTRGREYwRDBFMEZGRDBFMEZFRDBFMEZERDBFMEQ4Ci06MTAzRTc3MDBGQ0QwRTBGQkQwRTBGQUQwRTBGOUQwRTBGOEQwRDBEMDI5Ci06MDgzRTg3MDA4MkQwODNEMEYwRDBFMDMyQkMKLToxMDRCNjAwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBQjc0MTBGMDkwOEYKLToxMDRCNzAwMDc2OTZFMDU0RkRGMDkwODAwM0YwRDA4MkQwODNEMEUwQjAKLTowMTRCODAwMDMyMDIKLTowMTJGRkYwMDMyOUYKLToxMDRCRDUwMEMwRTBDMDgzQzA4MkQyMjU1MzkxRUY5MDdGQUI3NDA4QUIKLTowODRCRTUwMEYwRDA4MkQwODNEMEUwMzI1MQotOjEwNEJFRDAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkE5RTA0NDAxRjBGMwotOjA3NEJGRDAwRDA4MkQwODNEMEUwMzIyQQotOjEwNEI4MTAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkFBRTA0NDAxRjA1RQotOjBGNEI5MTAwQzIyOTkwNzY4RDc0MDFGMEQwODJEMDgzRDBFMDMyQUIKLToxMDRDMDQwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBOUUwNDQwMkYwREEKLTowNzRDMTQwMEQwODJEMDgzRDBFMDMyMTIKLToxMDNGRDUwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBQUUwNDQwMkYwMTUKLToxMDNGRTUwMDkwN0ZDN0UwRjUxMTc1MEYwMDc1MEQwMEQyMzNEMDgyQjMKLTowNTNGRjUwMEQwODNEMEUwMzI5MgotOjEwNEMxQjAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkE5RTA0NDA0RjBDMQotOjA3NEMyQjAwRDA4MkQwODNEMEUwMzJGQgotOjEwNEMzMjAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkFBRTA0NDA0RjBBOQotOjA3NEM0MjAwRDA4MkQwODNEMEUwMzJFNAotOjEwNEM0OTAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkE5RTA0NDA4RjA4RgotOjA3NEM1OTAwRDA4MkQwODNEMEUwMzJDRAotOjEwNEM2MDAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkFBRTA0NDA4RjA3NwotOjA3NEM3MDAwRDA4MkQwODNEMEUwMzJCNgotOjEwNEM3NzAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkE5RTA0NDEwRjA1OQotOjA3NEM4NzAwRDA4MkQwODNEMEUwMzI5RgotOjEwNEM4RTAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkFBRTA0NDEwRjA0MQotOjA3NEM5RTAwRDA4MkQwODNEMEUwMzI4OAotOjEwNENBNTAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkE5RTA0NDIwRjAxQgotOjA3NENCNTAwRDA4MkQwODNEMEUwMzI3MQotOjEwNENCQzAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkFBRTA0NDIwRjAwMwotOjA3NENDQzAwRDA4MkQwODNEMEUwMzI1QQotOjEwNENEMzAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkE5RTA0NDQwRjBDRAotOjA3NENFMzAwRDA4MkQwODNEMEUwMzI0MwotOjEwNENFQTAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkFBRTA0NDQwRjBCNQotOjA3NENGQTAwRDA4MkQwODNEMEUwMzIyQwotOjEwNEQwMTAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkE5RTA0NDgwRjA1RQotOjA3NEQxMTAwRDA4MkQwODNEMEUwMzIxNAotOjEwNEQxODAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkFBRTA0NDgwRjA0NgotOjA3NEQyODAwRDA4MkQwODNEMEUwMzJGRAotOjEwNDIxNjAwOTA3NjE5RTA2NDAxNzAzNTkwNzY4N0UwRkZEMzk0MkQ4RgotOjEwNDIyNjAwNDAyQjkwNzY4Njc0MDFGMDkwNzY4NUUwMDRGMEUwRDMxQQotOjEwNDIzNjAwOTQwRjQwMTlFNEYwRUZEMzk0MzE0MDA4OTA3NjE5NzQ0NgotOjEwNDI0NjAwMDNGMDgwMDY5MDc2MTk3NDAyRjAxMjNFOEY5MDc2MTk2QwotOjEwNDI1NjAwRTBCNDAyMkM5MDc2ODdFMEZGQzM5NDJGNTAyMkVGRDM3MAotOjEwNDI2NjAwOTQyQTQwMUM5MDc2ODY3NDAxRjA5MDc2ODVFMDA0RjBERQotOjEwNDI3NjAwRTBEMzk0MEY0MDBBRTRGMDkwNzYxOTA0RjAxMjNFOEZEMgotOjEwNDI4NjAwOTA3NjE5RTBCNDAyMjY5MDc2ODdFMEQzOTQzMTQwMURFQgotOjEwNDI5NjAwOTA3Njg2NzQwMUYwOTA3Njg1RTAwNEYwRTBEMzk0MEY3MgotOjEwNDJBNjAwNDAwQkU0RjA5MDc2MTk3NDAzRjAxMjNFOEY5MDc2MTk2NQotOjEwNDJCNjAwRTA2NDAzNzAzRjkwNzY4N0UwRkZDMzk0NUY1MDM1OTBDQgotOjEwNDJDNjAwNzY4Njc0MDFGMDkwNzY4NUUwMDRGMEUwRDM5NDBGNDA5MgotOjEwNDJENjAwMjNFNEYwRUZDMzk0MkY1MDBDRUZEMzk0MkE0MDA2OTBCQQotOjEwNDJFNjAwNzYxOTc0MDFGMEVGRDM5NDJGNDAwNjkwNzYxOTc0MDI3NAotOjEwNDJGNjAwRjAxMjNFOEY5MDc2ODZFMDcwMDU5MDc2ODVGMDIyRTQ4NwotOjA1NDMwNjAwOTA3Njg2RjAyMjE0Ci06MTAwNzRBMDA5MDc2OUE3NDAyRjBFNDkwNzY5MUYwQTNGMDkwNzY5MDA1Ci06MTAwNzVBMDBGMDkwNzY5M0YwOTA3Njk2NzQwM0YwOTA4MDAzRjBFNDJDCi06MTAwNzZBMDA5MDc2OTdGMDkwODAwMkYwOTA3Njk0MDRGMDkwODAwMDUyCi06MTAwNzdBMDBGMEU0OTA3NjhFRjA5MDc2MUFGMDkwNzY5NTA0RjBDMkI2Ci06MTAwNzhBMDAyRTkwN0Y5QkUwRkY1NDEwRkY3MDAyQzIzRjkwN0Y5QjI4Ci06MTAwNzlBMDBFMEZGNTQxMEZFRkZCRTEwMDJEMjNGOTA3RjlCRTBGRkE1Ci06MTAwN0FBMDA1NDIwRkY3MDAyQzIzRTkwN0Y5QkUwRkY1NDIwRkVGRjYwCi06MTAwN0JBMDBCRTIwMDJEMjNFMzAzRjA5OTA3Njk3RTA1NEZFRjA4MDg4Ci06MTAwN0NBMDAwNzkwNzY5N0UwNDQwMUYwOTA3Njk3RTA5MDgwMDJGMEU3Ci06MTAwN0RBMDAzMDNFMDk5MDc2OTVFMDQ0MDRGMDgwMDc5MDc2OTVFMEUzCi06MTAwN0VBMDA1NEZCRjA5MDc2OTVFMDkwODAwMUYwQTIzRTkyNDBBMkYwCi06MDMwN0ZBMDAzRjkyNDFFQQotOjAxMDdGRDAwMjJEOQotOjEwM0U4RjAwOTA3NjkyRTAxNDYwMUQxNDcwMDJFMTQ0MjQwMjYwMDJFNwotOjEwM0U5RjAwRTFENDkwNzY5NDc0MDFGMDkwODAwMEYwRTQ5MDc2OEVFNwotOjEwM0VBRjAwRjBEMjMxMjI5MDc2MTlFMEZGQjQwMTFCRTQ5MDdGRjIzQgotOjEwM0VCRjAwRjA5MDdGRjM3NDMwRjA5MDdGRkY3NEZDRjA5MDc2OTc2MgotOjEwM0VDRjAwRTA1NEZERjA1NEZCRjBFRkI0MDIxQkU0OTA3RkYyRjBFRQotOjEwM0VERjAwOTA3RkYzNzQzNEYwOTA3RkZGNzRGQ0YwOTA3Njk3RTA0RQotOjEwM0VFRjAwNDQwMkYwNTRGQkYwRUZCNDAzMThFNDkwN0ZGMkYwOTAyQgotOjEwM0VGRjAwN0ZGMzc0NjRGMDkwN0ZGRjc0RkNGMDkwNzY5N0UwNDQ0QQotOjEwM0YwRjAwMDRGMDkwNzY5NEUwNDQwMUYwOTA4MDAwRjAzMDNGMDk4NwotOjEwM0YxRjAwOTA3Njk3RTA1NEZFRjA4MDA3OTA3Njk3RTA0NDAxRjA5QQotOjEwM0YyRjAwOTA3Njk3RTA5MDgwMDJGMDkwNzY5ODc0MDRGMDkwNzZGNwotOjEwM0YzRjAwOEU3NDAxRjAyMjkwNzYxOUUwRkZCNDAxMUJFNDkwN0Y5QwotOjEwM0Y0RjAwRjJGMDkwN0ZGMzc0NDRGMDkwN0ZGRjc0RkNGMDkwNzY2MgotOjEwM0Y1RjAwOTdFMDU0RkRGMDU0RkJGMEVGQjQwMjFCRTQ5MDdGRjJCNgotOjEwM0Y2RjAwRjA5MDdGRjM3NDRDRjA5MDdGRkY3NEZDRjA5MDc2OTc5NQotOjEwM0Y3RjAwRTA0NDAyRjA1NEZCRjBFRkI0MDMxOEU0OTA3RkYyRjA0QQotOjEwM0Y4RjAwOTA3RkYzNzQ5NEYwOTA3RkZGNzRGQ0YwOTA3Njk3RTAzRAotOjEwM0Y5RjAwNDQwNEYwOTA3Njk0RTA1NEZFRjA5MDgwMDBGMDMwM0ZBRgotOjEwM0ZBRjAwMDk5MDc2OTdFMDU0RkVGMDgwMDc5MDc2OTdFMDQ0MDFGMQotOjEwM0ZCRjAwRjA5MDc2OTdFMDkwODAwMkYwOTA3Njk4NzQwNkYwOTBFQgotOjA2M0ZDRjAwNzY4RTc0MDJGMDIyNjAKLToxMDE4MDAwMDkwNzY5MEUwMTQ2MDM3MTQ3MDAyMDFEODE0NzAwMjIxQjEKLToxMDE4MTAwMDcyMTQ3MDAyNDEzQjI0MDQ2MDAyNjEwMzkwN0ZGQzc0RTcKLToxMDE4MjAwMENDRjA5MDdGRkY3NEZDRjA5MDc2OTVFMDQ0MDFGMDU0OEEKLToxMDE4MzAwMDA1RjA5MDgwMDFGMEU0OTA3NjFBRjBDMjJFMjI5MDc2QTYKLToxMDE4NDAwMDk1RTA0NDAxRjA0NDAyRjAzMDNFMDZFMDQ0MDRGMDgwQUMKLToxMDE4NTAwMDA3OTA3Njk1RTA1NEZCRjA5MDc2MUFFMEI0MDEwODkwN0EKLToxMDE4NjAwMDc2OTVFMDkwODAwMUYwOTA3NjE5RTBGRkI0MDEyMjkwMjcKLToxMDE4NzAwMDdGRkM3NDc0RjA5MDdGRkY3NEZDRjA5MDc2OEY3NDJCNzMKLToxMDE4ODAwMEYwOTA3Njk3RTA1NEZERjBFNDkwNzY4MUYwOTA3NjgwQzkKLToxMDE4OTAwMEYwRUZCNDAyMjI5MDdGRkM3NDY4RjA5MDdGRkY3NEZDM0MKLToxMDE4QTAwMEYwOTA3NjhGNzQyRkYwOTA3Njk3RTA0NDAyRjBFNDkwRjkKLToxMDE4QjAwMDc2ODFGMDkwNzY4MEYwMzAzRjA5OTA3Njk3RTA1NEZFODQKLToxMDE4QzAwMEYwODAwNzkwNzY5N0UwNDQwMUYwOTA3Njk3RTA1NEZCMjMKLToxMDE4RDAwMEYwOTA4MDAyRjBEMjJFMjI5MDc2OTVFMDU0RkVGMDQ0RjMKLToxMDE4RTAwMDAyRjAzMDNFMDZFMDQ0MDRGMDgwMDc5MDc2OTVFMDU0MjQKLToxMDE4RjAwMEZCRjA5MDc2MUFFMEI0MDEwODkwNzY5NUUwOTA4MDAxQjQKLToxMDE5MDAwMEYwOTA3NjE5RTBGRkI0MDEyMjkwN0ZGQzc0MzBGMDkwRTMKLToxMDE5MTAwMDdGRkY3NEZDRjA5MDc2OEY3NDJCRjA5MDc2OTdFMDU0RjQKLToxMDE5MjAwMEZERjBFNDkwNzY4MUYwOTA3NjgwRjBFRkI0MDIyMjkwQTIKLToxMDE5MzAwMDdGRkM3NDFDRjA5MDdGRkY3NEZDRjA5MDc2OEY3NDJGMDYKLToxMDE5NDAwMEYwOTA3Njk3RTA0NDAyRjBFNDkwNzY4MUYwOTA3NjgwMTMKLToxMDE5NTAwMEYwMzAzRjA5OTA3Njk3RTA1NEZFRjA4MDA3OTA3Njk3M0MKLToxMDE5NjAwMEUwNDQwMUYwOTA3Njk3RTA1NEZCRjA5MDgwMDJGMEQyRDIKLToxMDE5NzAwMDJFMjI5MDc2OTVFMDQ0MDFGMDQ0MDJGMDQ0MDhGMDMwQzUKLToxMDE5ODAwMDNFMDZFMDQ0MDRGMDgwMDc5MDc2OTVFMDU0RkJGMDkwMkEKLToxMDE5OTAwMDc2MUFFMEI0MDEwODkwNzY5NUUwOTA4MDAxRjA5MDc2OTgKLToxMDE5QTAwMDE5RTBGRkI0MDEyNTkwN0ZGQzc0Q0NGMDkwN0ZGRjc0QTgKLToxMDE5QjAwMEZDRjA5MDc2OEY3NDJCRjA5MDc2OTdFMDU0RkRGMDU0MDUKLToxMDE5QzAwMEZCRjBFNDkwNzY4MUYwOTA3NjgwRjBFRkI0MDIyNTkwMDEKLToxMDE5RDAwMDdGRkM3NEM4RjA5MDdGRkY3NEZDRjA5MDc2OEY3NDJGQkEKLToxMDE5RTAwMEYwOTA3Njk3RTA0NDAyRjA1NEZCRjBFNDkwNzY4MUYwQkEKLToxMDE5RjAwMDkwNzY4MEYwRUZCNDAzMjU5MDdGRkM3NDk4RjA5MDdGOTAKLToxMDFBMDAwMEZGNzRGQ0YwOTA3NjhGNzQ1RkYwOTA3Njk3RTA1NEZENTEKLToxMDFBMTAwMEYwNDQwNEYwRTQ5MDc2ODFGMDkwNzY4MEYwMzAzRjA5NTUKLToxMDFBMjAwMDkwNzY5N0UwNTRGRUYwODAwNzkwNzY5N0UwNDQwMUYwQkUKLToxMDFBMzAwMDkwNzY5N0UwOTA4MDAyRjBEMjJFMjI5MDc2OTVFMDU0MzYKLToxMDFBNDAwMEZFRjA0NDAyRjA0NDA4RjAzMDNFMDZFMDQ0MDRGMDgwMkEKLToxMDFBNTAwMDA3OTA3Njk1RTA1NEZCRjA5MDc2MUFFMEI0MDEwODkwNzgKLToxMDFBNjAwMDc2OTVFMDkwODAwMUYwOTA3NjE5RTBGRkI0MDEyNTkwMjIKLToxMDFBNzAwMDdGRkM3NEI0RjA5MDdGRkY3NEZDRjA5MDc2OEY3NDJCMzEKLToxMDFBODAwMEYwOTA3Njk3RTA1NEZERjA1NEZCRjBFNDkwNzY4MUYwMEUKLToxMDFBOTAwMDkwNzY4MEYwRUZCNDAyMjU5MDdGRkM3NEIwRjA5MDdGRDgKLToxMDFBQTAwMEZGNzRGQ0YwOTA3NjhGNzQyRkYwOTA3Njk3RTA0NDAyRUMKLToxMDFBQjAwMEYwNTRGQkYwRTQ5MDc2ODFGMDkwNzY4MEYwRUZCNDAzODAKLToxMDFBQzAwMDI1OTA3RkZDNzQ2OEYwOTA3RkZGNzRGQ0YwOTA3NjhGMTcKLToxMDFBRDAwMDc0NUZGMDkwNzY5N0UwNTRGREYwNDQwNEYwRTQ5MDc2NjMKLToxMDFBRTAwMDgxRjA5MDc2ODBGMDMwM0YwOTkwNzY5N0UwNTRGRUYwRDgKLToxMDFBRjAwMDgwMDc5MDc2OTdFMDQ0MDFGMDkwNzY5N0UwOTA4MDAyMUUKLTowNDFCMDAwMEYwRDIyRTIyQ0YKLTowNDBDQTEwMDQxNzYyMzAwNzUKLToxMDJEQTkwMEU0OTA3NjM2RjBFMEZGNzVGMDAzQTQyNDBFRjU4MkU0OTIKLToxMDJEQjkwMDM0NzVGNTgzNzQwMUYwRUY3NUYwMDNBNDI0MEZGNTgyREYKLToxMDJEQzkwMEU0MzQ3NUY1ODM3NDAxRjBFRjc1RjAwM0E0MjQxMEY1NkMKLToxMDJERDkwMDgyRTQzNDc1RjU4M0U0RjA5MDc2MzZFMDA0RjBFMEZGQTAKLToxMDJERTkwMDc1RjAwM0E0MjQwRUY1ODJFNDM0NzVGNTgzNzQxMEYwQUMKLToxMDJERjkwMEVGNzVGMDAzQTQyNDBGRjU4MkU0MzQ3NUY1ODM3NDA1QTcKLToxMDJFMDkwMEYwRUY3NUYwMDNBNDI0MTBGNTgyRTQzNDc1RjU4M0U0M0EKLToxMDJFMTkwMEYwOTA3NjM2RTAwNEYwRTBGRjc1RjAwM0E0MjQwRUY1OTcKLToxMDJFMjkwMDgyRTQzNDc1RjU4Mzc0MDJGMEVGNzVGMDAzQTQyNDBGN0UKLToxMDJFMzkwMEY1ODJFNDM0NzVGNTgzNzQwMkYwRUY3NUYwMDNBNDI0ODgKLToxMDJFNDkwMDEwRjU4MkU0MzQ3NUY1ODNFNEYwOTA3NjM2RTAwNEYwMDkKLToxMDJFNTkwMEUwRkY3NUYwMDNBNDI0MEVGNTgyRTQzNDc1RjU4Mzc0NUMKLToxMDJFNjkwMDAxRjBFRjc1RjAwM0E0MjQwRkY1ODJFNDM0NzVGNTgzQkUKLToxMDJFNzkwMDc0MDNGMEVGNzVGMDAzQTQyNDEwRjU4MkU0MzQ3NUY1QkEKLToxMDJFODkwMDgzRTRGMDkwNzYzNkUwMDRGMEUwRkY3NUYwMDNBNDI0QzMKLToxMDJFOTkwMDBFRjU4MkU0MzQ3NUY1ODM3NDEwRjBFRjc1RjAwM0E0MzAKLToxMDJFQTkwMDI0MEZGNTgyRTQzNDc1RjU4Mzc0MDZGMEVGNzVGMDAzQTkKLToxMDJFQjkwMEE0MjQxMEY1ODJFNDM0NzVGNTgzRTRGMDkwNzYzNkUwQzUKLToxMDJFQzkwMDA0RjBFMEZGNzVGMDAzQTQyNDBFRjU4MkU0MzQ3NUY1RUYKLToxMDJFRDkwMDgzNzQwMkYwRUY3NUYwMDNBNDI0MEZGNTgyRTQzNDc1Q0UKLToxMDJFRTkwMEY1ODM3NDA0RjBFRjc1RjAwM0E0MjQxMEY1ODJFNDM0M0IKLToxMDJFRjkwMDc1RjU4M0U0RjA5MDc2MzZFMDA0RjBFMEZGNzVGMDAzQjEKLToxMDJGMDkwMEE0MjQwRUY1ODJFNDM0NzVGNTgzNzQwMkYwRUY3NUYwQUMKLToxMDJGMTkwMDAzQTQyNDBGRjU4MkU0MzQ3NUY1ODM3NDA4RjBFRjc1ODIKLToxMDJGMjkwMEYwMDNBNDI0MTBGNTgyRTQzNDc1RjU4Mzc0MDRGMDkwNTkKLToxMDJGMzkwMDc2MzZFMDA0RjBFMEZGNzVGMDAzQTQyNDBFRjU4MkU0OTAKLToxMDJGNDkwMDM0NzVGNTgzNzQwMkYwRUY3NUYwMDNBNDI0MEZGNTgyNEMKLToxMDJGNTkwMEU0MzQ3NUY1ODM3NDBBRjBFRjc1RjAwM0E0MjQxMEY1RDEKLToxMDJGNjkwMDgyRTQzNDc1RjU4Mzc0MDRGMDkwNzYzNkUwMDRGMEUwNzkKLToxMDJGNzkwMEZGNzVGMDAzQTQyNDBFRjU4MkU0MzQ3NUY1ODM3NDAyMTkKLToxMDJGODkwMEYwRUY3NUYwMDNBNDI0MEZGNTgyRTQzNDc1RjU4Mzc0MkEKLToxMDJGOTkwMDA5RjBFRjc1RjAwM0E0MjQxMEY1ODJFNDM0NzVGNTgzODQKLToxMDJGQTkwMDc0MDRGMDkwNzYzNkUwMDRGMEUwRkY3NUYwMDNBNDI0OTEKLToxMDJGQjkwMDBFRjU4MkU0MzQ3NUY1ODM3NDAyRjBFRjc1RjAwM0E0MUQKLToxMDJGQzkwMDI0MEZGNTgyRTQzNDc1RjU4Mzc0MDdGMEVGNzVGMDAzODcKLTowRTJGRDkwMEE0MjQxMEY1ODJFNDM0NzVGNTgzNzQwNEYwMjIwQwotOjEwM0JEMzAwRTQ5MDc2MzZGMEUwRkI3NUYwMEZBNDI0NDFGNTgyRTQxRgotOjEwM0JFMzAwMzQ3NUY1ODM3NDQwRjBFQjc1RjAwRkE0MjQ0MkY1ODIyRAotOjEwM0JGMzAwRTQzNDc1RjU4Mzc0MEFGMEVCNzVGMDBGQTQyNDQzRjVGMAotOjEwM0MwMzAwODJFNDM0NzVGNTgzMTIzN0M4MDAwMEFDNDRFQjc1RjBEOQotOjEwM0MxMzAwMEZBNDI0NDdGNTgyRTQzNDc1RjU4MzEyMzdDODAwMDBGNgotOjEwM0MyMzAwQUM0NEVCNzVGMDBGQTQyNDRCRjU4MkU0MzQ3NUY1ODNCMwotOjEwM0MzMzAwMTIzN0M4MDAwMTc3MDA5MDc2MzZFMDA0RjBFMEZCNzU5OAotOjEwM0M0MzAwRjAwRkE0MjQ0MUY1ODJFNDM0NzVGNTgzNzQ0MEYwRUI1RQotOjEwM0M1MzAwNzVGMDBGQTQyNDQyRjU4MkU0MzQ3NUY1ODM3NDhDRjA3NwotOjEwM0M2MzAwRUI3NUYwMEZBNDI0NDNGNTgyRTQzNDc1RjU4MzEyMzcyMgotOjEwM0M3MzAwQzgwMDAwQUM0NEVCNzVGMDBGQTQyNDQ3RjU4MkU0MzQ4QwotOjEwM0M4MzAwNzVGNTgzMTIzN0M4MDAwMEFDNDRFQjc1RjAwRkE0MjQxQwotOjEwM0M5MzAwNEJGNTgyRTQzNDc1RjU4MzEyMzdDODAwMDE3NzAwOTA0MQotOjEwM0NBMzAwNzYzNkUwMDRGMEUwRkY3NUYwMEZBNDI0NDFGNTgyRTREQQotOjEwM0NCMzAwMzQ3NUY1ODM3NDQwRjBFRjc1RjAwRkE0MjQ0MkY1ODI1OAotOjEwM0NDMzAwRTQzNDc1RjU4Mzc0OEZGMDkwNzYzNkUwMDRGMEUwRkYwQQotOjEwM0NEMzAwNzVGMDBGQTQyNDQxRjU4MkU0MzQ3NUY1ODM3NDQxRjA0MwotOjEwM0NFMzAwRUY3NUYwMEZBNDI0NDJGNTgyRTQzNDc1RjU4Mzc0ODRGMAotOjEwM0NGMzAwRjA5MDc2MzZFMDA0RjBFMEZGNzVGMDBGQTQyNDQxRjU3MAotOjEwM0QwMzAwODJFNDM0NzVGNTgzNzQ2MUYwRUY3NUYwMEZBNDI0NDJGNwotOjEwM0QxMzAwRjU4MkU0MzQ3NUY1ODM3NDgxRjA5MDc2MzZFMDA0RjAyRgotOjEwM0QyMzAwRTBGRjc1RjAwRkE0MjQ0MUY1ODJFNDM0NzVGNTgzNzQ0NAotOjEwM0QzMzAwNjFGMEVGNzVGMDBGQTQyNDQyRjU4MkU0MzQ3NUY1ODM0NgotOjA0M0Q0MzAwNzQwMUYwMjJGNQotOjEwNDU1OTAwRTQ5MDc2MzZGMEUwRkY3NUYwMDNBNDI0MzJGNTgyRTRBNgotOjEwNDU2OTAwMzQ3NUY1ODNFNEYwRUY3NUYwMDNBNDI0MzNGNTgyRTRBMAotOjEwNDU3OTAwMzQ3NUY1ODM3NDAxRjA5MDc2MzZFMDA0RjBFMEZGNzU0OAotOjEwNDU4OTAwRjAwM0E0MjQzMkY1ODJFNDM0NzVGNTgzRTRGMEVGNzU4MQotOjEwNDU5OTAwRjAwM0E0MjQzM0Y1ODJFNDM0NzVGNTgzNzQwMkYwOTBCMgotOjEwNDVBOTAwNzYzNkUwMDRGMEUwRkY3NUYwMDNBNDI0MzJGNTgyRTRFNgotOjEwNDVCOTAwMzQ3NUY1ODNFNEYwRUY3NUYwMDNBNDI0MzNGNTgyRTQ1MAotOjEwNDVDOTAwMzQ3NUY1ODM3NDAzRjA5MDc2MzZFMDA0RjBFMEZGNzVGNgotOjEwNDVEOTAwRjAwM0E0MjQzMkY1ODJFNDM0NzVGNTgzRTRGMEVGNzUzMQotOjEwNDVFOTAwRjAwM0E0MjQzM0Y1ODJFNDM0NzVGNTgzNzQwNEYwMjJDRQotOjEwM0E0MjAwRTQ5MDc2MzVGMDkwNzYzNUUwRkZDMzk0MDM0MDAyNDE2RQotOjEwM0E1MjAwRkZFRjc1RjAwQUE0MjRBQUY1ODJFNDM0NzVGNTgzRUYyQQotOjEwM0E2MjAwRjBFRjc1RjAwQUE0MjRBQkY1ODJFNDM0NzVGNTgzRTQzMwotOjEwM0E3MjAwRjBFRjc1RjAwQUE0MjRBQ0Y1ODJFNDM0NzVGNTgzNzQ5MgotOjEwM0E4MjAwRjBGMEVGNzVGMDBBQTQyNEFERjU4MkU0MzQ3NUY1ODMwNQotOjEwM0E5MjAwNzRGRkYwRUY3NUYwMEFBNDI0QUVGNTgyRTQzNDc1RjVGNAotOjEwM0FBMjAwODNFNEYwRUY3NUYwMEFBNDI0QUZGNTgyRTQzNDc1RjVFRgotOjEwM0FCMjAwODM3NDgwRjBFRjc1RjAwQUE0MjRCMEY1ODJFNDM0NzVDMwotOjEwM0FDMjAwRjU4M0U0RjBFRjc1RjAwQUE0MjRCMUY1ODJFNDM0NzVDRAotOjEwM0FEMjAwRjU4M0U0RjBFRjc1RjAwQUE0MjRCMkY1ODJFNDM0NzVCQwotOjEwM0FFMjAwRjU4M0U0RjBFRjc1RjAwQUE0MjRCM0Y1ODJFNDM0NzVBQgotOjEwM0FGMjAwRjU4Mzc0MDFGMDkwNzYzNUUwMDRGMDQxNDc5MDc2M0MwRQotOjEwM0IwMjAwNzQwQUYwRTRBM0YwOTA3NjM1NzQwM0YwOTA3NjNDRTAwQQotOjEwM0IxMjAwRkY5MDc2MzVFMEZFQzM5RjQwMDI2MUQyOTA3NjNERTA5MQotOjEwM0IyMjAwRkYwNEYwRUU3NUYwMEFBNDI0QUFGNTgyRTQzNDc1RjVEOAotOjEwM0IzMjAwODNFRkYwRUU3NUYwMEFBNDI0QUJGNTgyRTQzNDc1RjU1OAotOjEwM0I0MjAwODNFNEYwRUU3NUYwMEFBNDI0QUNGNTgyRTQzNDc1RjU1MgotOjEwM0I1MjAwODM3NDVFRjBFRTc1RjAwQUE0MjRBREY1ODJFNDM0NzU0OAotOjEwM0I2MjAwRjU4Mzc0QkFGMEVFNzVGMDBBQTQyNEFFRjU4MkU0MzQ1QgotOjEwM0I3MjAwNzVGNTgzNzQwNUYwRUU3NUYwMEFBNDI0QUZGNTgyRTRCRQotOjEwM0I4MjAwMzQ3NUY1ODM3NDgwRjBFRTc1RjAwQUE0MjRCMEY1ODJFMgotOjEwM0I5MjAwRTQzNDc1RjU4M0U0RjBFRTc1RjAwQUE0MjRCMUY1ODJGRAotOjEwM0JBMjAwRTQzNDc1RjU4M0U0RjBFRTc1RjAwQUE0MjRCMkY1ODJFQwotOjEwM0JCMjAwRTQzNDc1RjU4Mzc0MTVGMEVFNzVGMDBBQTQyNEIzRjVCOAotOjEwM0JDMjAwODJFNDM0NzVGNTgzRTRGMDkwNzYzNUUwMDRGMDYxMEUxQQotOjAxM0JEMjAwMjJEMAotOjEwMDgwMDAwRTQ5MDc2MzFGMDkwNzYzMUUwRkY3NUYwMDNBNDI0MEY4OAotOjEwMDgxMDAwRjU4MkU0MzQ3NUY1ODNFMEZFOTA3RkVERTBGREVFNkQ0QQotOjEwMDgyMDAwNjAwRUVGQzM5NDBCNTAwODkwNzYzMUUwMDRGMDgwRDU1MQotOjEwMDgzMDAwRUZCNDBCMDg5MDdGQjRFMDQ0MDFGMDIyRUY3NUYwMDNCMQotOjEwMDg0MDAwQTQyNDBFRjU4MkU0MzQ3NUY1ODNFMDkwNzYzM0YwMjQyOQotOjEwMDg1MDAwRjA2MDBBMjQwRTYwMDI4MTg3MTI0QjNFMjI5MDdGRURFOQotOjEwMDg2MDAwRTA2NDA1NzA1MTkwNzYxODc0MDVGMDkwNzYzNzc0MDE0NQotOjEwMDg3MDAwRjA5MDc2Mzk3NDAzRjA5MDc2MjFGMEU0OTA3NjIwRjBEMQotOjEwMDg4MDAwOTA3RkVBRTBGNDYwMkY5MDc2MjBFMEZGNzVGMDBBQTRGNAotOjEwMDg5MDAwMjRBQUY1ODJFNDM0NzVGNTgzRTBGRTkwN0ZFQUUwRkQ1QQotOjEwMDhBMDAwRUU2RDYwMTI5MDc2MjFFMEZFRUZDMzlFNTAwODkwNzZDOAotOjEwMDhCMDAwMjBFMDA0RjA4MEQxOTA3RkVERTA2NDA2NzA1MjkwNzZFNQotOjEwMDhDMDAwMTg3NDA2RjA5MDc2Mzc3NDA0RjA5MDc2Mzk3NDBBRjA1NAotOjEwMDhEMDAwOTA3NjIxRjA5MDc2MjA3NDAzRjA5MDdGRUFFMEY0NjA0NwotOjEwMDhFMDAwMkY5MDc2MjBFMEZGNzVGMDBBQTQyNEFBRjU4MkU0MzQ2NAotOjEwMDhGMDAwNzVGNTgzRTBGRTkwN0ZFQUUwRkRFRTZENjAxMjkwNzY4NAotOjEwMDkwMDAwMjFFMEZFRUZDMzlFNTAwODkwNzYyMEUwMDRGMDgwRDFGNQotOjEwMDkxMDAwOTA3NjIwRTBGRjc1RjAwQUE0MjRBQUY1ODJFNDM0NzVFRAotOjEwMDkyMDAwRjU4M0UwOTA3MjI5RjBFNDkwNzYzQkYwOTA3NjIxRTAzOAotOjEwMDkzMDAwRkVFRjZFNzAwODkwN0ZCNEUwNDQwMUYwMjI5MDdGRUJGMAotOjEwMDk0MDAwRTAxNDYwMTMxNDcwMDIyMUUyMjQwMjYwMDI4MTdGOTA5RgotOjEwMDk1MDAwN0ZCNEUwNDQwMUYwMjI5MDdGRTlFMDE0NzA3QzkwN0Y0NgotOjEwMDk2MDAwRUFFMEY0NzA0ODkwNzYzN0UwOTA3NjIwRjA5MDc2Mzk5RgotOjEwMDk3MDAwRTBGRTkwNzYyMEUwRkRDMzlFNTAyQjkwNzYzQkUwRkU5QgotOjEwMDk4MDAwMDRGMDc0QzAyRUY1ODJFNDM0N0VGNTgzRTBGRUVENzU0QwotOjEwMDk5MDAwRjAwQUE0MjRBQkY1ODJFNDM0NzVGNTgzRUVGMDkwNzY4QQotOjEwMDlBMDAwMjBFMDA0RjA4MEM3OTA3NjNGNzQwMUYwMjI5MDdFQzA3MgotOjEwMDlCMDAwRTBGRUVGNzVGMDBBQTQyNEFCRjU4MkU0MzQ3NUY1ODMwQwotOjEwMDlDMDAwRUVGMEUwQjQwMTA4OTA3NjNFNzQwMUYwODAwNUU0OTAwQQotOjEwMDlEMDAwNzYzRUYwOTA3NjNGNzQwMUYwMjI5MDdGQjRFMDQ0MDFCRgotOjEwMDlFMDAwRjAyMjkwN0ZFOUUwMjRGRTcwMDI0MUEzMTQ3MDAyNjFCRQotOjEwMDlGMDAwM0YxNDcwMDI2MURCMjQwMzYwMDI4MTc3OTA3RkVBRTA5QwotOjEwMEEwMDAwRjQ3MDZCOTA3NjM3RTA5MDc2MjBGMDkwNzYzOUUwRkZDNgotOjEwMEExMDAwOTA3NjIwRTBGRUMzOUY1MDRFOTA3NjNCRTBGRjA0RjBCRQotOjEwMEEyMDAwNzRDMDJGRjU4MkU0MzQ3RUY1ODNFMEZGRUU3NUYwMEFBMgotOjEwMEEzMDAwQTQyNEFDRjU4MkU0MzQ3NUY1ODNFRkYwOTA3NjNCRTBDNgotOjEwMEE0MDAwRkYwNEYwNzRDMDJGRjU4MkU0MzQ3RUY1ODNFMEZGRUVGRQotOjEwMEE1MDAwNzVGMDBBQTQyNEFERjU4MkU0MzQ3NUY1ODNFRkYwOTBDNwotOjEwMEE2MDAwNzYyMEUwMDRGMDgwQTQ5MDc2NDA3NDAxRjAyMjkwN0UxRAotOjEwMEE3MDAwQzBFMEZGOTA3NjIwRTBGRTc1RjAwQUE0MjRBQ0Y1ODI3OQotOjEwMEE4MDAwRTQzNDc1RjU4M0VGRjA5MDdFQzFFMEZGRUU3NUYwMEE3NwotOjEwMEE5MDAwQTQyNEFERjU4MkU0MzQ3NUY1ODNFRkYwOTA3NjQxNzRDQgotOjEwMEFBMDAwMDFGMDIyOTA3RkVBRTBGNDcwNjY5MDc2MzdFMDkwNzY2RAotOjEwMEFCMDAwMjBGMDkwNzYzOUUwRkY5MDc2MjBFMEZFQzM5RjQwMDI2MAotOjEwMEFDMDAwODE4RTkwNzYzQkUwRkYwNEYwNzRDMDJGRjU4MkU0MzQxMQotOjEwMEFEMDAwN0VGNTgzRTBGRkVFNzVGMDBBQTQyNEFFRjU4MkU0MzRERgotOjEwMEFFMDAwNzVGNTgzRUZGMDkwNzYzQkUwRkYwNEYwNzRDMDJGRjVDRQotOjEwMEFGMDAwODJFNDM0N0VGNTgzRTBGRkVFNzVGMDBBQTQyNEFGRjVCRQotOjEwMEIwMDAwODJFNDM0NzVGNTgzRUZGMDkwNzYyMEUwMDRGMDgwQTI2MwotOjEwMEIxMDAwOTA3RUMwRTBGRjkwNzYyMEUwRkU3NUYwMEFBNDI0QUUzRgotOjEwMEIyMDAwRjU4MkU0MzQ3NUY1ODNFRkYwOTA3RUMxRTBGRkVFNzU1OQotOjEwMEIzMDAwRjAwQUE0MjRBRkY1ODJFNDM0NzVGNTgzRUZGMDIyOTAzNwotOjEwMEI0MDAwN0ZFQUUwRjQ3MDY2OTA3NjM3RTA5MDc2MjBGMDkwNzY1OQotOjEwMEI1MDAwMzlFMEZGOTA3NjIwRTBGRUMzOUY0MDAyODE4RTkwNzZDMAotOjEwMEI2MDAwM0JFMEZGMDRGMDc0QzAyRkY1ODJFNDM0N0VGNTgzRTBBRgotOjEwMEI3MDAwRkZFRTc1RjAwQUE0MjRCMEY1ODJFNDM0NzVGNTgzRUYzNgotOjEwMEI4MDAwRjA5MDc2M0JFMEZGMDRGMDc0QzAyRkY1ODJFNDM0N0VGMQotOjEwMEI5MDAwRjU4M0UwRkZFRTc1RjAwQUE0MjRCMUY1ODJFNDM0NzUyNAotOjEwMEJBMDAwRjU4M0VGRjA5MDc2MjBFMDA0RjA4MEEyOTA3RUMwRTAyNAotOjEwMEJCMDAwRkY5MDc2MjBFMEZFNzVGMDBBQTQyNEIwRjU4MkU0MzRCQwotOjEwMEJDMDAwNzVGNTgzRUZGMDkwN0VDMUUwRkZFRTc1RjAwQUE0MjQ4NgotOjEwMEJEMDAwQjFGNTgyRTQzNDc1RjU4M0VGRjAyMjkwN0ZFQUUwRjQxQQotOjEwMEJFMDAwNzA2NjkwNzYzN0UwOTA3NjIwRjA5MDc2MzlFMEZGOTA0RQotOjEwMEJGMDAwNzYyMEUwRkVDMzlGNDAwMjgxOEU5MDc2M0JFMEZGMDRBQQotOjEwMEMwMDAwRjA3NEMwMkZGNTgyRTQzNDdFRjU4M0UwRkZFRTc1RjBEQQotOjEwMEMxMDAwMEFBNDI0QjJGNTgyRTQzNDc1RjU4M0VGRjA5MDc2M0JCNAotOjEwMEMyMDAwRTBGRjA0RjA3NEMwMkZGNTgyRTQzNDdFRjU4M0UwRkYyQQotOjEwMEMzMDAwRUU3NUYwMEFBNDI0QjNGNTgyRTQzNDc1RjU4M0VGRjA4MQotOjEwMEM0MDAwOTA3NjIwRTAwNEYwODBBMjkwN0VDMEUwRkY5MDc2MjBCNQotOjEwMEM1MDAwRTBGRTc1RjAwQUE0MjRCMkY1ODJFNDM0NzVGNTgzRUY2MgotOjEwMEM2MDAwRjA5MDdFQzFFMEZGRUU3NUYwMEFBNDI0QjNGNTgyRTRCMwotOjEwMEM3MDAwMzQ3NUY1ODNFRkYwMjI5MDdGQjRFMDQ0MDFGMDIyOTBDOAotOjBGMEM4MDAwN0ZCNEUwNDQwMUYwMjI5MDdGQjRFMDQ0MDFGMDIyMDEKLToxMDEwMDAwMEU0OTA3NjJDRjA5MDc2MkNFMEZGNzVGMDAzQTQyNDBGOEEKLToxMDEwMTAwMEY1ODJFNDM0NzVGNTgzRTBGRTkwN0ZFREUwRkRFRTZENDIKLToxMDEwMjAwMDYwMEVFRkMzOTQwQjUwMDg5MDc2MkNFMDA0RjA4MEQ1NEUKLToxMDEwMzAwMEVGQjQwQjA4OTA3RkI0RTA0NDAxRjAyMkVGNzVGMDAzQTkKLToxMDEwNDAwMEE0MjQwRUY1ODJFNDM0NzVGNTgzRTA5MDc2MkVGMDI0MjYKLToxMDEwNTAwMEYwNjAwQTI0MEY2MDAyODE3RDEyNEIxQjIyOTA3RkVEMEQKLToxMDEwNjAwMEUwNjQwNTcwNTE5MDc2MTg3NDA1RjA5MDc2Mzg3NDAxM0MKLToxMDEwNzAwMEYwOTA3NjNBNzQwM0YwOTA3NjFDRjBFNDkwNzYxQkYwRDIKLToxMDEwODAwMDkwN0ZFQUUwRjQ2MDJGOTA3NjFCRTBGRjc1RjAwQUE0RjEKLToxMDEwOTAwMDI0QUFGNTgyRTQzNDc1RjU4M0UwRkU5MDdGRUFFMEZENTIKLToxMDEwQTAwMEVFNkQ2MDEyOTA3NjFDRTBGRUVGQzM5RTUwMDg5MDc2QzUKLToxMDEwQjAwMDFCRTAwNEYwODBEMTkwN0ZFREUwNjQwNjcwNTI5MDc2RTIKLToxMDEwQzAwMDE4NzQwNkYwOTA3NjM4NzQwNEYwOTA3NjNBNzQwQUYwNEEKLToxMDEwRDAwMDkwNzYxQ0YwOTA3NjFCNzQwM0YwOTA3RkVBRTBGNDYwNDkKLToxMDEwRTAwMDJGOTA3NjFCRTBGRjc1RjAwQUE0MjRBQUY1ODJFNDM0NjEKLToxMDEwRjAwMDc1RjU4M0UwRkU5MDdGRUFFMEZERUU2RDYwMTI5MDc2N0MKLToxMDExMDAwMDFDRTBGRUVGQzM5RTUwMDg5MDc2MUJFMDA0RjA4MEQxRjcKLToxMDExMTAwMEU0OTA3NjFFRjA5MDc2MUNFMEZGOTA3NjFCRTBGRTZGNjgKLToxMDExMjAwMDcwMDg5MDdGQjRFMDQ0MDFGMDIyOTA3RkVCRTAxNDYwRkYKLToxMDExMzAwMDEzMTQ3MDAyMjFCRjI0MDI2MDAyODE3NTkwN0ZCNEUwMTUKLToxMDExNDAwMDQ0MDFGMDIyOTA3RkU5RTAyNDdGNzA2QjkwN0ZFQUUwMTkKLToxMDExNTAwMEY0NzA0QTkwNzYzOEUwOTA3NjFCRjA5MDc2M0FFMEZGOTMKLToxMDExNjAwMDkwNzYxQkUwRkRDMzlGNTAyQkVENzVGMDBBQTQyNEFCRDUKLToxMDExNzAwMEY1ODJFNDM0NzVGNTgzRTBGRjkwNzYxRUUwRkQwNEYwMUYKLToxMDExODAwMDc0MDAyREY1ODJFNDM0N0ZGNTgzRUZGMDkwNzYxQkUwNTgKLToxMDExOTAwMDA0RjA4MEM3OTA3NjFFRTA5MDdGQjVGMDIyRUU3NUYwRTcKLToxMDExQTAwMDBBQTQyNEFCRjU4MkU0MzQ3NUY1ODNFMDkwN0YwMEYwNjcKLToxMDExQjAwMDkwN0ZCNTc0MDFGMDIyOTA3RkI0RTA0NDAxRjAyMjkwNUEKLToxMDExQzAwMDdGRTlFMDI0N0U3MDAyNDE3RTE0NzAwMjYxMjMxNDcwNzYKLToxMDExRDAwMDAyNjFDODI0MDM2MDAyODE2RDkwN0ZFQUUwRjQ3MDZEQzMKLToxMDExRTAwMDkwNzYzOEUwOTA3NjFCRjA5MDc2M0FFMEZGOTA3NjFCOTAKLToxMDExRjAwMEUwQzM5RjUwNEZFMEZGNzVGMDBBQTQyNEFDRjU4MkU0RjEKLToxMDEyMDAwMDM0NzVGNTgzRTBGRTkwNzYxRUUwRkQwNEYwNzQwMDJENDkKLToxMDEyMTAwMEY1ODJFNDM0N0ZGNTgzRUVGMEVGNzVGMDBBQTQyNEFEOTcKLToxMDEyMjAwMEY1ODJFNDM0NzVGNTgzRTBGRjkwNzYxRUUwRkUwNEYwNkQKLToxMDEyMzAwMDc0MDAyRUY1ODJFNDM0N0ZGNTgzRUZGMDkwNzYxQkUwQTYKLToxMDEyNDAwMDA0RjA4MEE0OTA3NjFFRTA5MDdGQjVGMDIyOTA3NjFCOEIKLToxMDEyNTAwMEUwRkY3NUYwMEFBNDI0QUNGNTgyRTQzNDc1RjU4M0UwNzAKLToxMDEyNjAwMDkwN0YwMEYwRUY3NUYwMEFBNDI0QURGNTgyRTQzNDc1QTgKLToxMDEyNzAwMEY1ODNFMDkwN0YwMUYwOTA3RkI1NzQwMkYwMjI5MDdGQkIKLToxMDEyODAwMEVBRTBGNDcwNkQ5MDc2MzhFMDkwNzYxQkYwOTA3NjNBNTQKLToxMDEyOTAwMEUwRkY5MDc2MUJFMEMzOUY1MDRGRTBGRjc1RjAwQUE0N0IKLToxMDEyQTAwMDI0QUVGNTgyRTQzNDc1RjU4M0UwRkU5MDc2MUVFMEZEMTEKLToxMDEyQjAwMDA0RjA3NDAwMkRGNTgyRTQzNDdGRjU4M0VFRjBFRjc1RDEKLToxMDEyQzAwMEYwMEFBNDI0QUZGNTgyRTQzNDc1RjU4M0UwRkY5MDc2NEMKLToxMDEyRDAwMDFFRTBGRTA0RjA3NDAwMkVGNTgyRTQzNDdGRjU4M0VGMDcKLToxMDEyRTAwMEYwOTA3NjFCRTAwNEYwODBBNDkwNzYxRUUwOTA3RkI1MkQKLToxMDEyRjAwMEYwMjI5MDc2MUJFMEZGNzVGMDBBQTQyNEFFRjU4MkU0OUMKLToxMDEzMDAwMDM0NzVGNTgzRTA5MDdGMDBGMEVGNzVGMDBBQTQyNEFGMDgKLToxMDEzMTAwMEY1ODJFNDM0NzVGNTgzRTA5MDdGMDFGMDkwN0ZCNTc0MzkKLToxMDEzMjAwMDAyRjAyMjkwN0ZFQUUwRjQ3MDZEOTA3NjM4RTA5MDc2REIKLToxMDEzMzAwMDFCRjA5MDc2M0FFMEZGOTA3NjFCRTBDMzlGNTA0RkUwQTEKLToxMDEzNDAwMEZGNzVGMDBBQTQyNEIwRjU4MkU0MzQ3NUY1ODNFMEZFNUQKLToxMDEzNTAwMDkwNzYxRUUwRkQwNEYwNzQwMDJERjU4MkU0MzQ3RkY1RjQKLToxMDEzNjAwMDgzRUVGMEVGNzVGMDBBQTQyNEIxRjU4MkU0MzQ3NUY1NEMKLToxMDEzNzAwMDgzRTBGRjkwNzYxRUUwRkUwNEYwNzQwMDJFRjU4MkU0MTgKLToxMDEzODAwMDM0N0ZGNTgzRUZGMDkwNzYxQkUwMDRGMDgwQTQ5MDc2MzQKLToxMDEzOTAwMDFFRTA5MDdGQjVGMDIyOTA3NjFCRTBGRjc1RjAwQUE0NjYKLToxMDEzQTAwMDI0QjBGNTgyRTQzNDc1RjU4M0UwOTA3RjAwRjBFRjc1QUEKLToxMDEzQjAwMEYwMEFBNDI0QjFGNTgyRTQzNDc1RjU4M0UwOTA3RjAxNEUKLToxMDEzQzAwMEYwOTA3RkI1NzQwMkYwMjI5MDdGRUFFMEY0NzA2RDkwQTcKLToxMDEzRDAwMDc2MzhFMDkwNzYxQkYwOTA3NjNBRTBGRjkwNzYxQkUwNEUKLToxMDEzRTAwMEMzOUY1MDRGRTBGRjc1RjAwQUE0MjRCMkY1ODJFNDM0QTUKLToxMDEzRjAwMDc1RjU4M0UwRkU5MDc2MUVFMEZEMDRGMDc0MDAyREY1OTcKLToxMDE0MDAwMDgyRTQzNDdGRjU4M0VFRjBFRjc1RjAwQUE0MjRCM0Y1OUYKLToxMDE0MTAwMDgyRTQzNDc1RjU4M0UwRkY5MDc2MUVFMEZFMDRGMDc0RkMKLToxMDE0MjAwMDAwMkVGNTgyRTQzNDdGRjU4M0VGRjA5MDc2MUJFMDA0MjQKLToxMDE0MzAwMEYwODBBNDkwNzYxRUUwOTA3RkI1RjAyMjkwNzYxQkUwQkQKLToxMDE0NDAwMEZGNzVGMDBBQTQyNEIyRjU4MkU0MzQ3NUY1ODNFMDkwQzgKLToxMDE0NTAwMDdGMDBGMEVGNzVGMDBBQTQyNEIzRjU4MkU0MzQ3NUY1NEIKLToxMDE0NjAwMDgzRTA5MDdGMDFGMDkwN0ZCNTc0MDJGMDIyOTA3RkI0MEEKLToxMDE0NzAwMEUwNDQwMUYwMjI5MDdGQjRFMDQ0MDFGMDIyOTA3RkI0NzgKLTowNTE0ODAwMEUwNDQwMUYwMjIzMAotOjEwMzg3NDAwRTQ5MDc2MjlGMDkwNzYyOUUwRkY3NUYwMEZBNDI0NDJCNQotOjEwMzg4NDAwRjU4MkU0MzQ3NUY1ODNFMEZFOTA3RkVDRTBGREVFNkRBNwotOjEwMzg5NDAwNjAwRUVGQzM5NDA2NTAwODkwNzYyOUUwMDRGMDgwRDVCQQotOjEwMzhBNDAwRUZCNDA2MDg5MDdGQjRFMDQ0MDFGMDIyRUY3NUYwMEYwNgotOjEwMzhCNDAwQTQyNDQxRjU4MkU0MzQ3NUY1ODNFMDkwNzYyQUYwMjQ1QgotOjEwMzhDNDAwQkY3MDAyNDE0MTI0RTA3MDAyNDExMjI0MjE2MDAyNDE5MAotOjEwMzhENDAwM0E5MDdGRTlFMDI0RkU2MDdEMTQ3MDAyMjFCMjI0MDI1NAotOjEwMzhFNDAwNjAwMjQxMEExMjE3NTE5MDc2NDJFMEZDQTNFMEZEQTM2NgotOjEwMzhGNDAwRTBGRUEzRTBGRjkwNzYyOUUwNzVGMDBGQTQyNDQzRjVFMQotOjEwMzkwNDAwODJFNDM0NzVGNTgzMTIzN0JDOTA3NjE5RTBGRkI0MDE3NAotOjEwMzkxNDAwMTI5MDc2N0M3NDY3RjA5MDc2N0Q3NDA2RjA5MDc2N0VEMwotOjEwMzkyNDAwNzQwQkYwRUZCNDAyMEZFNDkwNzY3Q0YwOTA3NjdERjBBNwotOjEwMzkzNDAwOTA3NjdFNzQwQ0YwRUZCNDAzMEZFNDkwNzY3Q0YwOTBGNAotOjEwMzk0NDAwNzY3REYwOTA3NjdFNzQxOEYwOTA3NjFBNzQwMUYwMTJGOQotOjEwMzk1NDAwM0U4RjEyMTgwMDIyOTA3RUMyRTBGRkU0RkNGREZFRkJDNQotOjEwMzk2NDAwRkE3OTAxRjgxMjM3NDZDOEVDQzhDOUVEQzlDQUVFQ0FEQgotOjEwMzk3NDAwQ0JFRkNCOTA3RUMxRTBGRUU0RkNGRDJCRkJFQTNFRkFFQwotOjEwMzk4NDAwRUQzOUY5RUMzOEY4OTA3RUMwRTBGRkU0RkVFQjJGRkY1MAotOjEwMzk5NDAwRUUzQUZFRUQzOUZERUMzOEZDOTA3NjI5RTA3NUYwMEYzNwotOjEwMzlBNDAwQTQyNDQ3RjU4MkU0MzQ3NUY1ODMxMjM3QkMyMjkwN0U1MwotOjEwMzlCNDAwQzJFMEZGRTRGQ0ZERkVGQkZBNzkwMUY4MTIzNzQ2QzhDOQotOjEwMzlDNDAwRUNDOEM5RURDOUNBRUVDQUNCRUZDQjkwN0VDMUUwRkUwQwotOjEwMzlENDAwRTRGQ0ZEMkJGQkVBM0VGQUVEMzlGOUVDMzhGODkwN0U3NQotOjEwMzlFNDAwQzBFMEZGRTRGRUVCMkZGRkVFM0FGRUVEMzlGREVDMzhDQwotOjEwMzlGNDAwRkM5MDc2MjlFMDc1RjAwRkE0MjQ0QkY1ODJFNDM0NzUyRAotOjEwM0EwNDAwRjU4MzEyMzdCQzIyOTA3RkI0RTA0NDAxRjAyMjkwN0YwQQotOjEwM0ExNDAwRTlFMDE0NzAxOTkwN0VDMEUwRkY5MDc2MjlFMDc1RjAxQgotOjEwM0EyNDAwMEZBNDI0NEZGNTgyRTQzNDc1RjU4M0VGRjAyMjkwN0ZFMAotOjBFM0EzNDAwQjRFMDQ0MDFGMDIyOTA3RkI0RTA0NDAxRjAyMjlGCi06MTAyQUQ2MDBFNDkwNzYyN0YwOTA3NjI3RTBGRjc1RjAwRkE0MjQ0MjY1Ci06MTAyQUU2MDBGNTgyRTQzNDc1RjU4M0UwRkU5MDdGRUNFMEZERUU2RDUzCi06MTAyQUY2MDA2MDBFRUZDMzk0MDY1MDA4OTA3NjI3RTAwNEYwODBENTY4Ci06MTAyQjA2MDBFRkI0MDYwODkwN0ZCNEUwNDQwMUYwMjJFRjc1RjAwRkIxCi06MTAyQjE2MDBBNDI0NDFGNTgyRTQzNDc1RjU4M0UwOTA3NjI4RjAyNDA4Ci06MTAyQjI2MDA5RjcwMDJBMTc0MjQyMTYwMDJBMUExOTA3RkU5RTAyNDk0Ci06MTAyQjM2MDA3RTcwMDI2MUZDMTQ3MDAyODFCNTI0MDI2MDAyQTE2Q0YxCi06MTAyQjQ2MDBFRjc1RjAwRkE0MjQ0M0Y1ODJFNDM0NzVGNTgzRTBGQ0I5Ci06MTAyQjU2MDBBM0UwRkRBM0UwRkVBM0UwRkY3QjQ0N0FBQzc5MDA3ODE2Ci06MTAyQjY2MDAwMEMzMTIzN0FCNzAxMzkwN0YwMDc0NDRGMEEzNzRBQ0FCCi06MTAyQjc2MDBGMEU0QTNGMDkwN0ZCNTc0MDNGMDkwNzYyN0UwNzVGMDRCCi06MTAyQjg2MDAwRkE0MjQ0M0Y1ODJFNDM0NzVGNTgzRTBGQ0EzRTBGRDRECi06MTAyQjk2MDBBM0UwRkVBM0UwRkY3QjgwN0FCQjc5MDA3ODAwQzMxMjM2Ci06MTAyQkE2MDAzN0FCNzAxMzkwN0YwMDc0ODBGMEEzNzRCQkYwRTRBMzdFCi06MTAyQkI2MDBGMDkwN0ZCNTc0MDNGMDkwNzYyN0UwNzVGMDBGQTQyNEFCCi06MTAyQkM2MDA0M0Y1ODJFNDM0NzVGNTgzRTBGQ0EzRTBGREEzRTBGRTYzCi06MTAyQkQ2MDBBM0UwRkY3QjAwN0E3Nzc5MDE3ODAwQzMxMjM3QUI2MEY4Ci06MTAyQkU2MDAwMkExQTg5MDdGMDBGMEEzNzQ3N0YwQTM3NDAxRjA5MDdGCi06MTAyQkY2MDA3RkI1NzQwM0YwMjI5MDc2MjdFMDc1RjAwRkE0MjQ0NzgyCi06MTAyQzA2MDBGNTgyRTQzNDc1RjU4M0UwRkNBM0UwRkRBM0UwRkVBM0MyCi06MTAyQzE2MDBFMEZGN0I0NDdBQUM3OTAwNzgwMEMzMTIzN0FCNzAxM0JGCi06MTAyQzI2MDA5MDdGMDA3NDQ0RjBBMzc0QUNGMEU0QTNGMDkwN0ZCNUY5Ci06MTAyQzM2MDA3NDAzRjA5MDc2MjdFMDc1RjAwRkE0MjQ0N0Y1ODJFNDNDCi06MTAyQzQ2MDAzNDc1RjU4M0UwRkNBM0UwRkRBM0UwRkVBM0UwRkY3QjgzCi06MTAyQzU2MDA4MDdBQkI3OTAwNzgwMEMzMTIzN0FCNzAxMzkwN0YwMDdGCi06MTAyQzY2MDA3NDgwRjBBMzc0QkJGMEU0QTNGMDkwN0ZCNTc0MDNGMDE2Ci06MTAyQzc2MDA5MDc2MjdFMDc1RjAwRkE0MjQ0N0Y1ODJFNDM0NzVGNUM1Ci06MTAyQzg2MDA4M0UwRkNBM0UwRkRBM0UwRkVBM0UwRkY3QjAwN0E3N0YwCi06MTAyQzk2MDA3OTAxNzgwMEMzMTIzN0FCNjAwMkExQTg5MDdGMDBGMERCCi06MTAyQ0E2MDBBMzc0NzdGMEEzNzQwMUYwOTA3RkI1NzQwM0YwMjI5MEJCCi06MTAyQ0I2MDA3NjI3RTA3NUYwMEZBNDI0NEJGNTgyRTQzNDc1RjU4MzhFCi06MTAyQ0M2MDBFMEZDQTNFMEZEQTNFMEZFQTNFMEZGN0I0NDdBQUM3OTQxCi06MTAyQ0Q2MDAwMDc4MDBDMzEyMzdBQjcwMTM5MDdGMDA3NDQ0RjBBM0UyCi06MTAyQ0U2MDA3NEFDRjBFNEEzRjA5MDdGQjU3NDAzRjA5MDc2MjdFMDFGCi06MTAyQ0Y2MDA3NUYwMEZBNDI0NEJGNTgyRTQzNDc1RjU4M0UwRkNBMzRDCi06MTAyRDA2MDBFMEZEQTNFMEZFQTNFMEZGN0I4MDdBQkI3OTAwNzgwMEJDCi06MTAyRDE2MDBDMzEyMzdBQjcwMTM5MDdGMDA3NDgwRjBBMzc0QkJGMEJFCi06MTAyRDI2MDBFNEEzRjA5MDdGQjU3NDAzRjA5MDc2MjdFMDc1RjAwRjdBCi06MTAyRDM2MDBBNDI0NEJGNTgyRTQzNDc1RjU4M0UwRkNBM0UwRkRBM0ZGCi06MTAyRDQ2MDBFMEZFQTNFMEZGN0IwMDdBNzc3OTAxNzgwMEMzMTIzN0IzCi06MTAyRDU2MDBBQjcwNEY5MDdGMDBGMEEzNzQ3N0YwQTM3NDAxRjA5MEVFCi06MTAyRDY2MDA3RkI1NzQwM0YwMjI5MDdGQjRFMDQ0MDFGMDIyOTA3Rjk3Ci06MTAyRDc2MDBFOUUwMjQ3RjcwMUU5MDc2MjdFMDc1RjAwRkE0MjQ0RkJCCi06MTAyRDg2MDBGNTgyRTQzNDc1RjU4M0UwOTA3RjAwRjA5MDdGQjU3NEFBCi06MTAyRDk2MDAwMUYwODAwNzkwN0ZCNEUwNDQwMUYwOTA3RkI0RTA0NEY2Ci06MDMyREE2MDAwMUYwMjIxNwotOjEwNEIxQjAwOTA3RkVCRTAxNDcwMTQ5MDdGRTlFMDI0N0Y3MDA0MTIxNwotOjEwNEIyQjAwNDg1QTIyOTA3RkI0RTA0NDAxRjAyMjkwN0ZCNEUwNDRENQotOjAzNEIzQjAwMDFGMDIyNjQKLToxMDRCM0UwMDkwN0ZFQkUwMTQ3MDEzOTA3RkU5RTAxNDcwMDQxMjQ5M0IKLToxMDRCNEUwMEFEMjI5MDdGQjRFMDQ0MDFGMDIyOTA3RkI0RTA0NDAxQTYKLTowMjRCNUUwMEYwMjI0MwotOjEwNDg1QTAwRTQ5MDc2MjZGMDkwNzYyNkUwRkY3NUYwMDNBNDI0MzRERgotOjEwNDg2QTAwRjU4MkU0MzQ3NUY1ODNFMEZFOTA3RkVDRTBGREVFNkRCMQotOjEwNDg3QTAwNjAwRUVGQzM5NDA0NTAwODkwNzYyNkUwMDRGMDgwRDVDOQotOjEwNDg4QTAwRUZCNDA0MDg5MDdGQjRFMDQ0MDFGMDIyRUY3NUYwMDMxRQotOjEwNDg5QTAwQTQyNDMyRjU4MkU0MzQ3NUY1ODNFMDkwN0YwMEYwOTAyOQotOjA2NDhBQTAwN0ZCNTc0MDFGMDIyNEQKLToxMDQ5QUQwMEU0OTA3NjI1RjA5MDc2MjVFMEZGNzVGMDAzQTQyNDM0OEQKLToxMDQ5QkQwMEY1ODJFNDM0NzVGNTgzRTBGRTkwN0ZFQ0UwRkRFRTZENUQKLToxMDQ5Q0QwMDYwMEVFRkMzOTQwNDUwMDg5MDc2MjVFMDA0RjA4MEQ1NzYKLToxMDQ5REQwMEVGQjQwNDA4OTA3RkI0RTA0NDAxRjAyMjkwN0VDMEUwNzMKLToxMDQ5RUQwMEZFRUY3NUYwMDNBNDI0MzJGNTgyRTQzNDc1RjU4M0VFMDEKLTowMjQ5RkQwMEYwMjJBNgotOjAzMDAwMzAwMDIwRkZERUMKLTowMzBGRkQwMEMyODkzMjc0Ci06MDMwMDEzMDAwMjE3RkRENAotOjAzMTdGRDAwQzI4QjMyNkEKLTowMzAwNEIwMDAyNEQ4RkQ0Ci06MDQ0RDhGMDA1MzkxREYzMjJCCi06MDMwMDUzMDAwMjREODNEOAotOjA2NEQ4MzAwNTM5MUJGRDIyRDMyNTYKLTowMzAwNUIwMDAyNEQ4OUNBCi06MDY0RDg5MDA1MzkxN0ZEMjJDMzI5MQotOjAzMDA2MzAwMDI0RDkzQjgKLTowNDREOTMwMDUzRDhGNzMyQzgKLTowMzAwMEIwMDAyNEQ5QjA4Ci06MDM0RDlCMDBDMjhEMzI5NAotOjAzMDAxQjAwMDI0RDlFRjUKLTowMzREOUUwMEMyOEYzMjhGCi06MDMwMDIzMDAwMjRENzUxNgotOjA3NEQ3NTAwNTM5OEZFNTM5OEZEMzIzNAotOjAzMDAzQjAwMDI0RDdDRjcKLTowNzREN0MwMDUzQzBGRTUzQzBGRDMyREQKLTowMzAwMkIwMDAyNDZGNzkzCi06MTA0NkY3MDBDMEUwQzBGMEMwODNDMDgyQzBEMEU4QzBFMEU5QzBFMDNECi06MTA0NzA3MDBFQUMwRTBFQkMwRTBFQ0MwRTBFREMwRTBFRUMwRTBFRkY3Ci06MTA0NzE3MDBDMEUwQzJDQUMyQ0Y5MDdGOThFMDQ0MDFGMDMwMkUwM0I4Ci06MTA0NzI3MDAxMjE0QTY5MDdGOThFMDU0RkVGMDUzQThGQTEyMTY2MTZGCi06MTA0NzM3MDBEMEUwRkZEMEUwRkVEMEUwRkREMEUwRkNEMEUwRkJEMDQxCi06MTA0NzQ3MDBFMEZBRDBFMEY5RDBFMEY4RDBEMEQwODJEMDgzRDBGMDMyCi06MDM0NzU3MDBEMEUwMzI3RAotOjEwNDdCNDAwRTQ5MDc2OUJGMDkwNzY5QkUwRkYwNEYwRUY2MDA4RTBENQotOjEwNDdDNDAwMjQwOEY4RTRGNjgwRUU5MDc2OTZFMDU0RkJGMDU0Rjc3MwotOjEwNDdENDAwRjA5MDgwMDNGMEU0RjUxOEQyMzVGNTBFRjUxMEQyMzZEQQotOjEwNDdFNDAwNzUxMjExNzUxMzIyQzIzN0MyMzlDMjM4RjUxNkY1MTQ4MQotOjBCNDdGNDAwRjUxQUY1MERDMjNCQzIzQ0MyM0QyMjhECi06MTAzMDAwMDA5MDdGQjZFMDIwRTEwMkMyM0REMjM2MjAzNjAyNDE2RTBBCi06MTAzMDEwMDAzMDNEMDI0MTZFOTA4MDA3RTA2MDA0RDIzNjgwMDJDMkVCCi06MTAzMDIwMDAzNjIwMzYwMjQxMkVEMjM1RTRGNTFBOTA4MDA0RTBGNUMwCi06MTAzMDMwMDAxOTc0MDgyNTBFRjhBNjE5ODUxOTE4RTUxODIwRTcwNDUzCi06MTAzMDQwMDBEMjM4ODAwMkMyMzgzMDM4MDIyMUQ0RTRGNTE2RTUxOUFFCi06MTAzMDUwMDBCNEYwMENEMjM5NzUwODA0NzUwOUYwMDUwRTgwMDIwNTJDCi06MTAzMDYwMDAxNkU1MTk2NEY3NzAzREMyMzlFNTBFMjRGRTYwMTcxNEE5Ci06MTAzMDcwMDA2MDIyMjQwMzcwMjk3NTA4MDU3NTA5RjdFNEY1MEFGNTNGCi06MTAzMDgwMDAwQjc1MEUwNDgwMjA3NTA4MDY3NTBBRjdFNEY1MEI3NUJDCi06MTAzMDkwMDAwRTA0ODAxMjc1MDgwNzc1MEJGNzc1MEUwNDgwMDcxMjcxCi06MTAzMEEwMDA0OEYzODAwMjA1MTZFNTE5NTRGODY0Rjg3MDNCQzIzNTAwCi06MTAzMEIwMDBFNTE5MjQwNzYwMEMyNEZDNjAwODI0MDUyNEY4NTAwNjU4Ci06MTAzMEMwMDA4MDA4RDIzQTgwMDZDMjNBODAwMkQyM0E3NTFBMDEyMEFDCi06MTAzMEQwMDAzQTE5OTA3RTgwNzQwRkYwQTNFNTE5RjBFNEEzRjBBM0YxCi06MTAzMEUwMDBGMDkwN0ZCNzc0MDRGMDgwMDIwNTE2MjAzOTZERTUxOTYxCi06MTAzMEYwMDA2NEY3NjA2N0U1MUE3MDYzRTUxODU0RjA2NEYwNzA1OTdFCi06MTAzMTAwMDA4NTE4MTlGNTBFRTUxOTI0MEY2MDFCMjRGRTYwMTcyNDlECi06MTAzMTEwMDBGRDYwMjIxNDYwMUYyNDA1NzAyRjc1MDgwMzA1MEU4NUJECi06MTAzMTIwMDAxODA5RDIzNzgwMjg3NTA4MDIwNTBFODUxODA5NzUxNDBDCi06MTAzMTMwMDAwMUQyMzc4MDE5NzUwODA1MDUwRTg1MTgwOUU0RjUwQUNFCi06MTAzMTQwMDBGNTBCNzUwRTAzRDIzNzgwMDUxMjQ4RjNDMjM1MzAzNUMyCi06MTAzMTUwMDAwQTg1MDgxMzg1MTgxMjgwMDIwNTE2ODUxODE5RTUxNkM4Ci06MTAzMTYwMDA2NDA0NzA2MkY1MEVFNTE5NTRGMEY1MTlGNTE1ODUxODJCCi06MTAzMTcwMDAxOUU1MTUyNDcwNjAxODI0RjA2MDE0MjRGMDYwMTAyNDAwCi06MTAzMTgwMDBGMDYwMUUyNEYwNjAxQTI0RjA2MDA0MjQ2MDcwMjdFNUNCCi06MTAzMTkwMDAxNUM0NTQwRkY1MTlGNTA4MDUwRTg1MTgwOUQyMzc4MEE2Ci06MTAzMUEwMDAxQUU1MTVDNDU0MEZGNTE5RjUwODA1MEU4NTE4MDk3NUFCCi06MTAzMUIwMDAxNDAxRDIzNzgwMDUxMjQ4RjNDMjM1MzAzNTBBODUxOTFCCi06MTAzMUMwMDAxMzg1MTgxMjgwMDIwNTE2RTUxNkQzOTQwNTQwNTcxMjkwCi06MTAzMUQwMDA0OEYzODA1MjMwMzkxN0U1MEU3MDBBODUwODA5NzUwOEUyCi06MTAzMUUwMDAwNDA1MEU4MDQxNzQwODI1MEVGOEE2MTk4MDM4MjAzNzkyCi06MTAzMUYwMDAyQUU1MEVCNDAxMEY4NTA4MEE4NTA5MEI4NTEzMDg4NTk5Ci06MTAzMjAwMDAxMjA5NzUwRTA0RTUxNEI0MDExQzg1MDgwQUU0RjUwQkQ3Ci06MTAzMjEwMDA4NTEzMDg4NTEyMDk3NTBFMDQ4MDBCRTUxNEI0MDEwNkE4Ci06MTAzMjIwMDBFNEY1MEI3NTBFMDRFNEY1MUEzMDM1MDIwNTBFRTUwRUQzCi06MTAzMjMwMDBEMzk0MDM1MDAyMDEwQkMyMzdFNEY1MEVGNTEwQzIzNkU5Ci06MTAzMjQwMDBEMjNERjUxNDc0MDgyNTEwRjhFNkZGNzQ4MDI1MTBGNUJBCi06MTAzMjUwMDA4MkU0MzQ3RUY1ODNFRkYwNzQwODI1MTBGOEU0RjYwNTc3Ci06MEYzMjYwMDAxMEU1MTBCNDA0REU5MDdGQjc3NDA0RjAwMTBCMjI2OAotOjBDNDhGMzAwQzIzN0U0RjUwRUY1MTBDMjM2RjUxNDIyQjEKLToxMDQwMDAwMEU1MTFEMzk0MDA1MDAyMjEwNjkwNzY4OUUwQzM5NDA4MEMKLToxMDQwMTAwMDQwMDIyMTA2NzQ0MDI1MEZGNTgyRTQzNDdFRjU4M0UwRUEKLToxMDQwMjAwMEY1MTdFNTBENjAwRTkwODAwNUU1MTdGMDkwNzY4OUUwQjQKLToxMDQwMzAwMDA0RjAwMURBRTUxNzEyMzdGOTQwQzEwMjQwNjcwNTQwODQKLToxMDQwNDAwMDdBMDY0MDk4MDc0MEMxMEM0MEMxMEQ0MEM3MEY0MENCRDUKLToxMDQwNTAwMEY2NDBDQkY4NDBDQkZBNDBDQkZCNDBDQkZDNDBDQkZFNEMKLToxMDQwNjAwMDQwQ0JGRjAwMDA0MERBOTA3RTQxRTA5MDgwMDVGMDkwNjgKLToxMDQwNzAwMDc2ODlFMDA0RjA3NTExMDE4MDYwOTA3RTQxRTA5MDgwQzcKLToxMDQwODAwMDA1RjA5MDdFNDJFMDkwODAwNUYwOTA3Njg5RTAwNEYwQTMKLToxMDQwOTAwMEUwMDRGMDc1MTEwMTgwNDI5MDdFNDFFMDkwODAwNUYwQ0YKLToxMDQwQTAwMDkwN0U0MkUwOTA4MDA1RjA5MDdFNDNFMDkwODAwNUYwQTUKLToxMDQwQjAwMDkwNzY4OUUwMDRGMEUwMDRGMEUwMDRGMDc1MTEwMTgwRUUKLToxMDQwQzAwMDE5RDIzQkQyM0M4MDEzRDIzQjgwMEY5MDgwMDVFNTE3N0MKLToxMDQwRDAwMEYwOTA3Njg5RTAwNEYwNzUxMTAxMjAzQjA0MDUwRDgwMTUKLToxMDQwRTAwMDFGMzAzQzFDOTA3RTQxRTA5MDgwMDVGMDkwN0U0MkUwQzUKLToxMDQwRjAwMDkwODAwNUYwOTA3Njg5RTAwNEYwRTAwNEYwNzUxMTAxRkQKLToxMDQxMDAwMDA1MEYxNTExMDEwMEU1MTE3MDEwQzIzM0Y1MERGNTBGMDMKLTowQjQxMTAwMDkwN0ZDNzc0MDRGMEMyM0JDMjNDMjI0OQotOjEwNEJCQjAwOTA3RkQ2RTAzMEU3MTJFMDQ0MDFGMDdGMTQ3RTAwMTJDNAotOjBBNEJDQjAwNEQyRjkwN0ZENkUwNTRGRUYwMjIzQgotOjEwNEFGNjAwOTA3RkQ2RTA1NEZCRjBFMDQ0MDhGMDMwNDIwNEUwNDRGNgotOjEwNEIwNjAwMDJGMDdGREM3RTA1MTI0RDJGOTA3RkQ2RTA1NEY3RjA0MQotOjA1NEIxNjAwRTA0NDA0RjAyMjYwCi06MTA0RDJGMDA4RTM1OEYzNkU1MzYxNTM2QUUzNTcwMDIxNTM1NEU2MDM5Ci06MDc0RDNGMDAwNTEyMTQ4NTgwRUUyMjJECi06MTA0OUZGMDBFNEZFNzUxREZGNzUxRTA1NzUxRjEyQUIxREFBMUVBOUJFCi06MTA0QTBGMDAxRjkwMDAwMTEyMzZBQjY0MDI3MDJGQ0RFRUNEMEVFRDZDCi06MTA0QTFGMDA2RjcwMDEyMjkwMDAwMjEyMzcwRTg1RjAxQkY1MUM2Mjk5Ci06MTA0QTJGMDAxQkU1MUI2MjFDRTUxQzYyMUIyOUZERTUxQjNBQzlFRDRBCi06MTA0QTNGMDBDOTc1MURGRkY1MUU4OTFGODBDMTdCMDA3QTAwNzkwMEEzCi06MDE0QTRGMDAyMjQ0Ci06MDQxNzk0MDA4RDI5OEIyQUU2Ci06MTAxNzk4MDAxMjQ5RkZFQTQ5NjA1NzEyMzY5MjdFMDAyOUZGRUUzQTU1Ci06MTAxN0E4MDBDOUVGQzk3NTJCRkZGNTJDODkyREFCMkJBQTJDQTkyREI4Ci06MTAxN0I4MDA5MDAwMDExMjM2QUJGRjY0MDQ2MDA1RUY2NDA1NzAyRURCCi06MTAxN0M4MDBFRkI0MDQxNTkwMDAwMjEyMzZBQjY1Mjk3MDBCOTAwMDM3Ci06MTAxN0Q4MDAwMzEyMzZBQjY1MkE3MDAxMjIxMjM2OTI3RTAwMjlGRjY5Ci06MTAxN0U4MDBFRTNBQzlFRkM5NzUyQkZGRjUyQzg5MkQ4MEJDN0IwMDFCCi06MDQxN0Y4MDA3QTAwNzkwMEZBCi06MDExN0ZDMDAyMkNBCi06MDI0OEIwMDA4RjJFNDkKLToxMDQ4QjIwMEU0RjUyRjc1MzBGRjc1MzEwNjc1MzJCRUFCMzBBQTMxODMKLToxMDQ4QzIwMEE5MzI5MDAwMDExMjM2QUJCNDAzMUZBRjJGMDUyRkVGQjAKLToxMDQ4RDIwMDY1MkU3MDAxMjIxMjM2OTI3RTAwMjlGRkVFM0FDOUVGNTAKLToxMDQ4RTIwMEM5NzUzMEZGRjUzMTg5MzI4MEQyN0IwMDdBMDA3OTAwQjgKLTowMTQ4RjIwMDIyQTMKLToxMDA1MDAwMDEyMDExMDAxMDAwMDAwNDA2QTA4MTEwMTAwMDEwMTAyRkYKLToxMDA1MTAwMDAwMDEwOTAyQUMwMTAzMDEwMDgwMzIwOTA0MDAwMDAwNUYKLToxMDA1MjAwMDAxMDEwMDAwMEEyNDAxMDAwMTU2MDAwMjAxMDIwQzI0MEUKLToxMDA1MzAwMDAyMDEwMTAxMDAwMjAwMDAwMDAwMEQyNDA2MDUwMTAyNzUKLToxMDA1NDAwMDAzMDAwMDAwMDAwMDAwMDkyNDAzMDIwNDAzMDAwNTAwNkEKLToxMDA1NTAwMDBDMjQwMjAzMDUwMjAwMDYwMDAwMDAwMDE1MjQwNjA2MTQKLToxMDA1NjAwMDAzMDIwMDAwMDMwMDAzMDAwMzAwMDMwMDAzMDAwMzAwNzQKLToxMDA1NzAwMDAwMDkyNDAzMDQwMTAxMDAwNjAwMDkwNDAxMDAwMDAxMzAKLToxMDA1ODAwMDAyMDAwMDA5MDQwMTAxMDIwMTAyMDAwMDA3MjQwMTAxMjgKLToxMDA1OTAwMDAwMDEwMDExMjQwMjAxMDIwMjEwMDM0NEFDMDA4MEJCRTAKLToxMDA1QTAwMDAwMDA3NzAxMDkwNTBBMDU4NDAxMDEwMDhGMDcyNTAxNzQKLToxMDA1QjAwMDAxMDAwMDAwMDkwNThGMDEwMzAwMDEwNTAwMDkwNDAxODUKLToxMDA1QzAwMDAyMDIwMTAyMDAwMDA3MjQwMTAxMDAwMTAwMTEyNDAyQkYKLToxMDA1RDAwMDAxMDIwMzE4MDM0NEFDMDA4MEJCMDAwMDc3MDEwOTA1NDkKLToxMDA1RTAwMDBBMDU0NjAyMDEwMDhGMDcyNTAxMDEwMDAwMDAwOTA1RTgKLToxMDA1RjAwMDhGMDEwMzAwMDEwNTAwMDkwNDAyMDAwMDAxMDIwMDAwNTAKLToxMDA2MDAwMDA5MDQwMjAxMDEwMTAyMDAwMDA3MjQwMTA0MDAwMTAwQTUKLToxMDA2MTAwMDBFMjQwMjAxMDYwMjEwMDI0NEFDMDA4MEJCMDAwOTA1NTIKLToxMDA2MjAwMDhDMDU0QzAyMDEwMDAwMDcyNTAxMDAwMjAwMDAwOTA0QUUKLToxMDA2MzAwMDAyMDIwMTAxMDIwMDAwMDcyNDAxMDQwMDAxMDAwRTI0NEYKLToxMDA2NDAwMDAyMDEwNjAzMTgwMjQ0QUMwMDgwQkIwMDA5MDU4QzA1QkEKLToxMDA2NTAwMDcyMDMwMTAwMDAwNzI1MDEwMDAyMDAwMDA5MDQwMjAzRTMKLToxMDA2NjAwMDAxMDEwMjAwMDAwNzI0MDEwNDAwMDEwMDExMjQwMjAxMUQKLToxMDA2NzAwMDAyMDIxMDAzNDRBQzAwODBCQjAwMDA3NzAxMDkwNThDMjYKLToxMDA2ODAwMDA1ODQwMTAxMDAwMDA3MjUwMTAwMDIwMDAwMDkwNDAyQTEKLToxMDA2OTAwMDA0MDEwMTAyMDAwMDA3MjQwMTA0MDAwMTAwMTEyNDAyRUEKLToxMDA2QTAwMDAxMDIwMzE4MDM0NEFDMDA4MEJCMDAwMDc3MDEwOTA1NzgKLToxMDA2QjAwMDhDMDU0NjAyMDEwMDAwMDcyNTAxMDAwMjAwMDAwNDAzMkEKLToxMDA2QzAwMDA5MDQxODAzNDUwMDZEMDA2MTAwNjcwMDY5MDA2MzAwQkMKLToxMDA2RDAwMDIwMDA0NzAwNkQwMDYyMDA0ODAwMjIwMzQ1MDA2RDAwQzUKLToxMDA2RTAwMDYxMDA2NzAwNjkwMDYzMDAyMDAwNDUwMDREMDA0OTAwN0IKLToxMDA2RjAwMDIwMDAzNjAwN0MwMDMyMDAyMDAwNkQwMDJBMDM0MzAwRjkKLToxMDA3MDAwMDZGMDA2RTAwNjYwMDY5MDA2NzAwNzUwMDcyMDA2MTAwOEUKLToxMDA3MTAwMDc0MDA2OTAwNkYwMDZFMDAyMDAwNTMwMDc0MDA3MjAwQzYKLToxMDA3MjAwMDY5MDA2RTAwNjcwMDIyMDM0OTAwNkUwMDc0MDA2NTAwRDYKLToxMDA3MzAwMDcyMDA2NjAwNjEwMDYzMDA2NTAwMjAwMDUzMDA3NDAwRDEKLTowQTA3NDAwMDcyMDA2OTAwNkUwMDY3MDAwMDAwRkYKLToxMDE0ODUwMDc0MDBGNTg2OTBGREE1N0MwNUEzRTU4MjQ1ODM3MEY5N0EKLTowMTE0OTUwMDIyMzQKLToxMDE0OTYwMDkwN0ZENkUwNDQ4MEYwNDM4NzAxMDAwMDAwMDAwMDIyRTAKLToxMDE0QTYwMEMwRDBDMEUwOEZFMEMwRTA4RUUwQzBFMDhERTBDMEUwREMKLToxMDE0QjYwMDhDRTBDMEUwQzA4MkMwODMwNTg2QzA4NEMwODU3RDAwMDQKLToxMDE0QzYwMDkwN0ZFMzc0N0JGMEEzNzQ4MEYwN0MxMTkwN0Y5OUUwQTkKLToxMDE0RDYwMDU0NDBEQzAzMDIxNEYzQjQwMDEzOTA3RkUyNzQ0MEYwMkUKLToxMDE0RTYwMDkwN0ZFNUYwOTA3RkUyNzQwMEYwMDIxNEQyOTA3NjkwM0YKLToxMDE0RjYwMEUwQjQwMTEyOTA3NjhGRTAyREZEOTA3RkUyNzQ4MEYwQ0IKLToxMDE1MDYwMDkwN0Y2QzAyMTU1N0I0MDIxMjkwNzY4RkUwMkRGRDkwRjUKLToxMDE1MTYwMDdGRTI3NDgwRjA5MDdGNkMwMjE1OTZCNDAzMTI5MDc2ODkKLToxMDE1MjYwMDhGRTAyREZEOTA3RkUyNzQ4MEYwOTA3RjZDMDIxNUUxRDQKLToxMDE1MzYwMEI0MDQxMjkwNzY4RkUwMkRGRDkwN0ZFMjc0ODBGMDkwRDcKLToxMDE1NDYwMDdGNkMwMjE2MTA5MDdGRTI3NDgwRjA5MDdGNkMwMjE2MUEKLToxMDE1NTYwMDQwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRERGMjdEQjkKLToxMDE1NjYwMDAyMDU4NjkwN0ZFMjc0MDBGMDkwN0Y5QkUwNTQwNEI0RkQKLToxMDE1NzYwMDAwMDUwNTg2MDIxNjQwOTA3RkUyNzQ4MEYwMDU4NkYwMkQKLToxMDE1ODYwMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBEREQ0MDIxNjQwRkMKLToxMDE1OTYwMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwNDUKLToxMDE1QTYwMEYwRjBEREVDN0QwMjA1ODY5MDdGRTI3NDAwRjA5MDdGMUUKLToxMDE1QjYwMDlCRTA1NDA0QjQwMDA1MDU4NjAyMTY0MDkwN0ZFMjc0NTEKLToxMDE1QzYwMDgwRjAwNTg2RjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwREEKLTowNjE1RDYwMEYwRjBGMEYwRjBGMDZGCi06MTAxNURDMDBERENFMDIxNjQwRjBGMEYwRjBEREZBN0QwMjA1ODY5MENCCi06MTAxNUVDMDA3RkUyNzQwMEYwOTA3RjlCRTA1NDA0QjQwMDA1MDU4NjA0Ci06MTAxNUZDMDAwMjE2NDA5MDdGRTI3NDgwRjAwNTg2RjBGMEYwRjBERDhBCi06MTAxNjBDMDBEQzAyMTY0MEYwRjBGMEYwRjBGMERERjg3RDAyMDU4NjFCCi06MTAxNjFDMDA5MDdGRTI3NDAwRjA5MDdGOUJFMDU0MDRCNDAwMDUwNUM5Ci06MTAxNjJDMDA4NjAyMTY0MDkwN0ZFMjc0ODBGMDA1ODZGMEYwRjBGMEIwCi06MTAxNjNDMDBGMEYwREREQTkwN0ZFMjc0MDBGMEQwODVEMDg0MDU4NjdFCi06MTAxNjRDMDBEMDgzRDA4MkQwRTBGQ0QwRTBGREQwRTBGRUQwRTBGRjMzCi06MDUxNjVDMDBEMEUwRDBEMDIyMTcKLToxMDE2NjEwMEMwRDBDMEUwQzA4MkMwODM5MDc2N0NFMDkwN0Y2RkYwRjQKLToxMDE2NzEwMDkwNzY3REUwOTA3RjZGRjA5MDc2N0VFMDkwN0Y2RkYwQzYKLTowOTE2ODEwMEQwODNEMDgyRDBFMEQwRDAyMjQ5Ci06MTAxNjhBMDBDMEQwQzBFMDhGRTBDMEUwOEVFMEMwRTBDMDgyQzA4MzdFCi06MTAxNjlBMDAwNTg2QzA4NEMwODU5MDc2ODdFMEZGQkYwMDAzMDIxN0U1Ci06MTAxNkFBMDAwMTkwN0Y5NkUwNDQ4MEYwOTA3RkUyNzQ4MEYwOTA3RjEyCi06MTAxNkJBMDA2MkUwMDU4NjkwN0ZFMjc0MDBGMDkwN0Y5NkUwNTQ3RkE2Ci06MTAxNkNBMDBGMDkwN0ZFMjc0ODBGMDkwNzY4RUUwQjQwMTA1MDU4NjkyCi06MTAxNkRBMDAwMjE2RjZCNDAyMDUwNTg2MDIxNkVCMDU4NjAyMTZGQjBCCi06MTAxNkVBMDBFMEUwRTBFMEUwRTBERkY4MDIxNkZCRTBFMEUwRTBERjY3Ci06MTAxNkZBMDBGQTkwN0ZFMjc0MDBGMEQwODVEMDg0MDU4NkQwODNEMDNBCi06MEMxNzBBMDA4MkQwRTBGRUQwRTBGRkQwRTBEMEQwMjI4MgotOjEwMTcxNjAwQzA4MkMwODNDMEUwRThDMEUwNzhEMUU4MTRGODcwRkI2RQotOjBBMTcyNjAwRDBFMEY4RDBFMEQwODNEMDgyMjI5QQotOjEwMENBNTAwNDE3MjAxMDE0NTcyMDUwMDAyQzkwMDAwNDU3MjBBMDA0MgotOjEwMENCNTAwMDEwMjAzMDQ0RDcyMEZEMTAwRDEwMDAwMDAwMDAwMDBCNQotOjEwMENDNTAwMjgyODA5MDA0RDcyMUMwMTAwMDEwMjAzMDQwNTA2MDdDRQotOjEwMENENTAwMDgwOTBBMEI0MTcyMkUyMjQxNzIyRjIzNDE3MjMwMjBERQotOjEwMENFNTAwNDE3MjMxMjE2MkQyNzIzQTAwMDAwMDAwMDAwMDAwMDAxQQotOjEwMENGNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFRgotOjEwMEQwNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBERQotOjEwMEQxNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDRQotOjEwMEQyNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCRQotOjEwMEQzNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBRQotOjEwMEQ0NTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5RQotOjEwMEQ1NTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4RQotOjEwMEQ2NTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3RQotOjEwMEQ3NTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTAxMDEwMTAxMDE2OAotOjEwMEQ4NTAwMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDE0RQotOjEwMEQ5NTAwMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEzRQotOjEwMERBNTAwMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEyRQotOjEwMERCNTAwMDEwMTAxMDEwMTAxMDEwMTAyMDIwMjAyMDIwMjAyMDIxNgotOjEwMERDNTAwMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDJGRQotOjEwMERENTAwMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDJFRQotOjEwMERFNTAwMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDJERQotOjEwMERGNTAwMDIwMjAyMDIwMjAzMDMwMzAzMDMwMzAzMDMwMzAzMDNDMwotOjEwMEUwNTAwMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDNBRAotOjEwMEUxNTAwMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDM5RAotOjEwMEUyNTAwMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDM4RAotOjEwMEUzNTAwMDMwMzA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQ2RgotOjEwMEU0NTAwMDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQ1RAotOjEwMEU1NTAwMDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQ0RAotOjEwMEU2NTAwMDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQzRAotOjEwMEU3NTAwMDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDUxRAotOjEwMEU4NTAwMDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwRAotOjEwMEU5NTAwMDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDVGRAotOjEwMEVBNTAwMDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA2MDZFQgotOjEwMEVCNTAwMDYwNjA2MDYwNjA2MDYwNjA2MDYwNjA2MDYwNjA2MDZDRAotOjEwMEVDNTAwMDYwNjA2MDYwNjA2MDYwNjA2MDYwNjA2MDYwNjA2MDZCRAotOjEwMEVENTAwMDYwNjA2MDYwNjA2MDYwNjA2MDYwNjA2MDYwNjA2MDZBRAotOjEwMEVFNTAwMDYwNjA2MDYwNjA2MDYwNjA2MDYwNjA3MDcwNzA4MDg5NgotOjEwMEVGNTAwMDgwOTA5MDkwQTBBMEEwQjBCMEIwQzBDMEMwRDBEMEQ0MAotOjEwMEYwNTAwMEUwRTBFMEYwRjBGMTAxMDEwMTExMTExMTIxMjEyMTNEOQotOjEwMEYxNTAwMTMxMzE0MTQxNDE1MTUxNTE2MTYxNjE3MTcxNzE4MTg3NAotOjEwMEYyNTAwMTgxOTE5MTkxOTFBMUExQTFBMUIxQjFCMUIxQzFDMUMxOAotOjEwMEYzNTAwMUMxRDFEMUQxRDFFMUUxRTFFMUYxRjFGMUYyMDIwMjBDOAotOjEwMEY0NTAwMjEyMTIxMjIyMjIyMjMyMzI0MjQyNTI1MjYyNjI3Mjc2MQotOjEwMEY1NTAwMjgyODI5MjkyQTJBMkIyQjJDMkMyRDJEMkUyRTJGMkZENAotOjEwMEY2NTAwMzAzMDMxMzEzMjMyMzMzMzM0MzQzNTM1MzYzNjM3Mzc0NAotOjEwMEY3NTAwMzgzODM5MzkzQTNBM0IzQzNEM0UzRjQwNDE0MjQzNDQ5QgotOjEwMEY4NTAwNDU0NjQ3NDg0OTQ5NEE0QjRCNEM0RDRFNEY1MDUxNTJBNwotOjEwMEY5NTAwNTM1NDU1NTU1NjU2NTc1NzU4NUE1QjVENUU1RjYxNjJCNwotOjEwMEZBNTAwNjM2NDY1NjY2NzY4Njk2QTZCNkM2RDZGNzE3MjczNzQ4QgotOjEwMEZCNTAwNzU3Njc3Nzg3OTdBN0I3QzdFODAwMTM3MDEwMTM4MDBGOAotOjEwNEFDNDAwRTQ5MDcyMzZGMEEzRjA5MDdGOTdFMDU0RkJGMEU0OTAwQQotOjEwNEFENDAwNzIzM0YwOTA3MjMyRjA5MDcyMDEwNEYwRTQ5MDcyMzMwOQotOjEwNEFFNDAwRjA5MDcyMzJGMDkwNzIwMTA0RjA5MDdGOTdFMDQ0MDRFOQotOjAyNEFGNDAwRjAyMkFFCi06MTAzMjZGMDA5MDc2MThFMEZGNjQwNTcwNDI5MDc1QUJFMEI0MDExOUQ5Ci06MTAzMjdGMDA5MDcyMzc3NDAxRjBFNDkwODAyMEYwOTA4MDMxRjA5MERDCi06MTAzMjhGMDA4MDI4RjA5MDgwMzlGMDgwMjJFNDkwNzIzN0YwOTA3NUFBCi06MTAzMjlGMDBBREUwOTA3MjJCRjBFMDI0ODBGMEUwOTA4MDIwRjA5MDcxCi06MTAzMkFGMDA4MDMxRjA5MDgwMjhGMDkwODAzOUYwRUY2NDA2NjAwMjUyCi06MTAzMkJGMDA4MTk5OTA3MjM5NzQwNEYwOTA3MjM5RTBGRjI0RkU5MDc2Ci06MTAzMkNGMDA3MjA0RjBFRjc1RjAwQUE0MjRBQkY1ODJFNDM0NzVGNUJGCi06MTAzMkRGMDA4M0UwNjQwMTcwNTQ5MDcyMzYwNEYwOTA3MjA0RTBGRjQyCi06MTAzMkVGMDAyNEZENjAyODI0RkU2MDI0MjQwMzI0RkI1MDA0NjAxQzZBCi06MTAzMkZGMDA4MThDNzQyMDJGRjU4MkU0MzQ4MEY1ODNFNEYwNzQyOEY4Ci06MTAzMzBGMDAyRkY1ODJFNDM0ODBGNTgzRTRGMDgxOEM5MDcyMDRFMDMxCi06MTAzMzFGMDBGRjI0MzBGNTgyRTQzNDgwRjU4M0U0RjA3NDM4MkZGNTIwCi06MTAzMzJGMDA4MkU0MzQ4MEY1ODNFNEYwODE4Q0U0OTA3MjM2RjA5MDdGCi06MTAzMzNGMDA3MjM5RTA3NUYwMEFBNDI0QURGNTgyRTQzNDc1RjU4MzkzCi06MTAzMzRGMDBFMEZGN0UwMDkwNzUwQ0VFRjBBM0VGRjA3MDA2OTA3MjI4Ci06MTAzMzVGMDAwMjc0M0JGMDkwNzUwQ0UwRkVBM0UwRkY2NDgwNEU3MEFBCi06MTAzMzZGMDAwNDkwNzIwMkYwRUY0RTcwMDI4MTM1RUY2NDgwNEU3MDYwCi06MTAzMzdGMDAwMjgxMzVFRkY4RTQ5MDc1MERGMEU4OTA3NTBDRjA5MDQwCi06MTAzMzhGMDA3MjM0RTA3NUYwMEFBNDI0QUNGNTgyRTQzNDc1RjU4MzQ5Ci06MTAzMzlGMDBFMEZGOTA3MjAyRjA5MDc1MERFMDJGRjA5MDc1MENFMDQ5Ci06MTAzM0FGMDAzNDAwRjBFMEZFQTNFMEZGRTRGQ0ZEN0JENjdBQTVGOTQ0Ci06MTAzM0JGMDBGOEQzMTIzNzk1NDAwQTkwNzUwQzc0QTVGMEEzNzRENjA0Ci06MTAzM0NGMDBGMDkwNzUwREUwMjQyQUYwOTA3NTBDRTAzNDVBRjBFMDdGCi06MTAzM0RGMDBGRUEzRTA3ODA1Q0VBMkU3MTNDRTEzRDhGOEZGOTA3NUMxCi06MTAzM0VGMDAwQ0VFRjBBM0VGRjA5MDcyMkNFRUYwQTNFRkYwRDM5NDZECi06MTAzM0ZGMDBEMkVFNjQ4MDk0ODI0MDBBOTA3MjJDNzQwMkYwQTM3NDBGCi06MTAzNDBGMDBEMkYwQzM5MDcyMkNFMDY0ODA5NDgwNTAwNEU0RjBBMzU3Ci06MTAzNDFGMDBGMDkwNzIyQ0UwRkVBM0UwMjQzQUY1ODJFRTM0NzJGNUMwCi06MTAzNDJGMDA4M0UwOTA3MjAyRjA5MDcyMDRFMEZGMjRGRDYwMkQyNDdGCi06MTAzNDNGMDBGRTYwMjkyNDAzMjRGQjUwMDQ2MDIxODA0MDkwNzIwMjE3Ci06MTAzNDRGMDBFMEZFNzQyMDJGRjU4MkU0MzQ4MEY1ODNFRUYwNzQyOENCCi06MTAzNDVGMDAyRkY1ODJFNDM0ODBGNTgzRUVGMDgwMjE5MDcyMDJFMDQ0Ci06MTAzNDZGMDBGRjkwNzIwNEUwRkUyNDMwRjU4MkU0MzQ4MEY1ODNFRkEwCi06MTAzNDdGMDBGMDc0MzgyRUY1ODJFNDM0ODBGNTgzRUZGMDkwNzIzOUQyCi06MEIzNDhGMDBFMDA0RjBFMDY0MEE2MDAyNDFDNzIyODQKLToxMDM0OUEwMDkwNzYxOEUwRkZCNDA1MjM5MDcyMzdFMDcwMUQ5MDc1OUUKLToxMDM0QUEwMEFERTA5MDcyMkJGMEUwMjQ4MEYwRTA5MDgwMjBGMDkwNjQKLToxMDM0QkEwMDgwMzFGMDkwODAyOEYwOTA4MDM5RjBFRjY0MDY2MDAyNDUKLToxMDM0Q0EwMEMxOTE5MDcyMzZFMDYwMDJDMTkxOTA3NjQwRTA3MDMxMEQKLToxMDM0REEwMDkwNzIwMzc0MDNGMDkwNzIwM0UwRkY3NUYwMEFBNDI0NUIKLToxMDM0RUEwMEFBRjU4MkU0MzQ3NUY1ODNFMEZFOTA3MjI5RTBGREVFRDgKLToxMDM0RkEwMDZENjAwRUVGQzM5NDBBNTAwODkwNzIwM0UwMDRGMDgwRTYKLToxMDM1MEEwMEQ1OTA3MjM5NzQwNEYwOTA3NjQwRTA3MDA4OTA3MjAzOTYKLToxMDM1MUEwMEUwOTA3MjM5RjA5MDcyMzlFMEZEMjRGRTkwNzIyQUYwNDAKLToxMDM1MkEwMEVENzVGMDBBQTQyNEFERjU4MkU0MzQ3NUY1ODNFMEZGNjUKLToxMDM1M0EwMDdFMDA5MDc1MENFRUYwQTNFRkYwNzAwNjkwNzIwMjc0QTQKLToxMDM1NEEwMDgwRjA5MDc1MENFMEZFQTNFMEZGNjQ4MDRFNzAwNDkwNUEKLToxMDM1NUEwMDcyMDJGMEVGNEU3MDAyQzExQkVGNjQ4MDRFNzAwMkMxMUUKLToxMDM1NkEwMDFCRUZGOEU0OTA3NTBERjBFODkwNzUwQ0YwRUQ3NUYwMkUKLToxMDM1N0EwMDBBQTQyNEFDRjU4MkU0MzQ3NUY1ODNFMEZGOTA3MjAyNjQKLToxMDM1OEEwMEYwOTA3NTBERTAyRkYwOTA3NTBDRTAzNDAwRjBFMEZFM0QKLToxMDM1OUEwMEEzRTBGRkU0RkNGRDdCRDY3QUE1RjlGOEQzMTIzNzk1QjAKLToxMDM1QUEwMDQwMEE5MDc1MEM3NEE1RjBBMzc0RDZGMDkwNzUwREUwREUKLToxMDM1QkEwMDI0MkFGMDkwNzUwQ0UwMzQ1QUYwRTBGRUEzRTA3ODA1NzYKLToxMDM1Q0EwMENFQTJFNzEzQ0UxM0Q4RjhGRjkwNzUwQ0VFRjBBM0VGNTYKLToxMDM1REEwMEYwOTA3MjJDRUVGMEEzRUZGMEQzOTREMkVFNjQ4MDk0QzQKLToxMDM1RUEwMDgyNDAwQTkwNzIyQzc0MDJGMEEzNzREMkYwQzM5MDcyRDMKLToxMDM1RkEwMDJDRTA2NDgwOTQ4MDUwMDRFNEYwQTNGMDkwNzIyQ0UwRjQKLToxMDM2MEEwMEZFQTNFMDI0M0FGNTgyRUUzNDcyRjU4M0UwOTA3MjAyNkEKLToxMDM2MUEwMEYwOTA3MjJBRTBGRjI0RkQ2MDJEMjRGRTYwMjkyNDAzMjUKLToxMDM2MkEwMDI0RkI1MDA0NjAyMTgwNDA5MDcyMDJFMEZFNzQyMDJGMzcKLToxMDM2M0EwMEY1ODJFNDM0ODBGNTgzRUVGMDc0MjgyRkY1ODJFNDM0QzEKLToxMDM2NEEwMDgwRjU4M0VFRjA4MDIxOTA3MjAyRTBGRjkwNzIyQUUwMEEKLToxMDM2NUEwMEZFMjQzMEY1ODJFNDM0ODBGNTgzRUZGMDc0MzgyRUY1RDkKLToxMDM2NkEwMDgyRTQzNDgwRjU4M0VGRjA5MDc2NDBFMDcwMDY5MDcyNDEKLToxMDM2N0EwMDM5NzQwQUYwOTA3MjM5RTAwNEYwRTBDMzk0MEE1MDAyRjcKLTowODM2OEEwMEExMTFFNDkwNzY0MEYwMjI0QQotOjA0NEQ5NzAwMTIxNzMwMjI5RAotOjEwNDk1ODAwOTA3NjQ2NzQ4MEYwRTRBM0YwQTNGMEEzRjBBM0YwQTM0QwotOjEwNDk2ODAwRjBBM0YwQTNGMEEzRjBBMzc0ODBGMEU0QTNGMEEzRjAwNQotOjEwNDk3ODAwQTNGMEEzRjBBM0YwQTNGMEEzNzQ0MEYwRTRBM0YwQTM4MgotOjEwNDk4ODAwNzQ0MEYwRTRBM0YwQTNGMEEzRjBBM0YwQTNGMEEzRjAyNQotOjEwNDk5ODAwQTM3NDQwRjBFNEEzRjBBMzc0NDBGMEU0QTNGMEEzRjAwMAotOjA1NDlBODAwQTNGMEEzRjAyMkMyCi06MTAwRkM2MDBFNEZGNzQ0NjJGRjU4MkU0MzQ3NkY1ODNFMEZFNzQyMDYwCi06MTAwRkQ2MDAyRkY1ODJFNDM0ODBGNTgzRUVGMDc0NEUyRkY1ODJFNDJCCi06MTAwRkU2MDAzNDc2RjU4M0UwRkU3NDMwMkZGNTgyRTQzNDgwRjU4M0ExCi06MDYwRkY2MDBFRUYwMEZCRjA4Q0M3NQotOjAxMEZGQzAwMjJEMgotOjEwNEE4RDAwRTRGRjc0NTYyRkY1ODJFNDM0NzZGNTgzRTBGRTc0Mjg0NgotOjEwNEE5RDAwMkZGNTgyRTQzNDgwRjU4M0VFRjA3NDVFMkZGNTgyRTQxOQotOjEwNEFBRDAwMzQ3NkY1ODNFMEZFNzQzODJGRjU4MkU0MzQ4MEY1ODM5NwotOjA2NEFCRDAwRUVGMDBGQkYwOENDNzMKLTowMTRBQzMwMDIyRDAKLToxMDE3MzAwMEMwODJDMDgzQzBFMEU4QzBFMDc4NzhFODE0Rjg3MEZCQUQKLTowQTE3NDAwMEQwRTBGOEQwRTBEMDgzRDA4MjIyODAKLTowMzAwNDMwMDAyNDkwMDZGCi06MTA0OTAwMDAwMjJGRTcwMDAyM0Q0NzAwMDI0RDQ2MDAwMjRCRDUwMDUyCi06MTA0OTEwMDAwMjRCNjAwMDAyMkZGRjAwMDI0QkVEMDAwMjRCODEwMEIyCi06MTA0OTIwMDAwMjRDMDQwMDAyM0ZENTAwMDI0QzFCMDAwMjRDMzIwMDM2Ci06MTA0OTMwMDAwMjRDNDkwMDAyNEM2MDAwMDI0Qzc3MDAwMjRDOEUwMDkxCi06MTA0OTQwMDAwMjRDQTUwMDAyNENCQzAwMDI0Q0QzMDAwMjRDRUEwMDExCi06MDg0OTUwMDAwMjREMDEwMDAyNEQxODAwQTgKLToxMDFCNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTUKLToxMDFCNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODUKLToxMDFCNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzUKLToxMDFCNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjUKLToxMDFCODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTUKLToxMDFCOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDUKLToxMDFCQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzUKLToxMDFCQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjUKLToxMDFCQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTUKLToxMDFCRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDUKLToxMDFCRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjUKLToxMDFCRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTUKLToxMDFDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDQKLToxMDFDMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzQKLToxMDFDMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjQKLToxMDFDMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTQKLToxMDFDNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTQKLToxMDFDNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODQKLToxMDFDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzQKLToxMDFDNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjQKLToxMDFDODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTQKLToxMDFDOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDQKLToxMDFDQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzQKLToxMDFDQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjQKLToxMDFDQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTQKLToxMDFDRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQKLToxMDFDRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjQKLToxMDFDRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTQKLToxMDFEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDMKLToxMDFEMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzMKLToxMDFEMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjMKLToxMDFEMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTMKLToxMDFENDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTMKLToxMDFENTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODMKLToxMDFENjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzMKLToxMDFENzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjMKLToxMDFEODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTMKLToxMDFEOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDMKLToxMDFEQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzMKLToxMDFEQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjMKLToxMDFEQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTMKLToxMDFERDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMKLToxMDFERTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjMKLToxMDFERjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTMKLToxMDFFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDIKLToxMDFFMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzIKLToxMDFFMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjIKLToxMDFFMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTIKLToxMDFFNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTIKLToxMDFFNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODIKLToxMDFFNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzIKLToxMDFFNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjIKLToxMDFFODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTIKLToxMDFFOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDIKLToxMDFFQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzIKLTowRTFFQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNAotOjEwMUVCRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNAotOjEwMUVDRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNAotOjEwMUVERTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGNAotOjEwMUVFRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNAotOjEwMUVGRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBENAotOjEwMUYwRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDMwotOjEwMUYxRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCMwotOjEwMUYyRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMwotOjAyMUYzRTAwMDAwMEExCi06MTAxRjQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDkxCi06MTAxRjUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgxCi06MTAxRjYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDcxCi06MTAxRjcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYxCi06MTAxRjgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDUxCi06MTAxRjkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQxCi06MTAxRkEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMxCi06MTAxRkIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIxCi06MTAxRkMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDExCi06MTAxRkQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxCi06MTAxRkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEYxCi06MTAxRkYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEUxCi06MTAyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQwCi06MTAyMDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEMwCi06MTAyMDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEIwCi06MTAyMDMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEEwCi06MTAyMDQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDkwCi06MTAyMDUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgwCi06MTAyMDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDcwCi06MTAyMDcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYwCi06MTAyMDgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDUwCi06MTAyMDkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQwCi06MTAyMEEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMwCi06MTAyMEIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIwCi06MTAyMEMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwCi06MTAyMEQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi06MTAyMEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEYwCi06MTAyMEYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEUwCi06MTAyMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENGCi06MTAyMTEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEJGCi06MTAyMTIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEFGCi06MTAyMTMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDlGCi06MTAyMTQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhGCi06MTAyMTUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdGCi06MTAyMTYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDZGCi06MTAyMTcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDVGCi06MTAyMTgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRGCi06MTAyMTkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNGCi06MTAyMUEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJGCi06MTAyMUIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFGCi06MTAyMUMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGCi06MTAyMUQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEZGCi06MTAyMUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVGCi06MTAyMUYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERGCi06MTAyMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENFCi06MTAyMjEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEJFCi06MTAyMjIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEFFCi06MTAyMjMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDlFCi06MTAyMjQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhFCi06MTAyMjUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdFCi06MTAyMjYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDZFCi06MTAyMjcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDVFCi06MTAyMjgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRFCi06MTAyMjkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNFCi06MTAyMkEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJFCi06MTAyMkIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFFCi06MTAyMkMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFCi06MTAyMkQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEZFCi06MTAyMkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVFCi06MTAyMkYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERFCi06MTAyMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENECi06MTAyMzEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEJECi06MTAyMzIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEFECi06MTAyMzMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDlECi06MTAyMzQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhECi06MTAyMzUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdECi06MTAyMzYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDZECi06MEUyMzcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNUYKLToxMDIzN0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNEYKLToxMDIzOEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0YKLToxMDIzOUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMkYKLToxMDIzQUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMUYKLToxMDIzQkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEYKLToxMDIzQ0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRkYKLToxMDIzREUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRUYKLToxMDIzRUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwREYKLToxMDIzRkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQ0YKLToxMDI0MEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQkUKLToxMDI0MUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQUUKLToxMDI0MkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOUUKLToxMDI0M0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOEUKLToxMDI0NEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN0UKLToxMDI0NUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNkUKLToxMDI0NkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNUUKLToxMDI0N0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNEUKLToxMDI0OEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0UKLToxMDI0OUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMkUKLToxMDI0QUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMUUKLToxMDI0QkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEUKLToxMDI0Q0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRkUKLToxMDI0REUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRUUKLToxMDI0RUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwREUKLToxMDI0RkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQ0UKLToxMDI1MEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQkQKLToxMDI1MUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQUQKLToxMDI1MkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOUQKLToxMDI1M0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOEQKLToxMDI1NEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN0QKLToxMDI1NUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNkQKLToxMDI1NkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNUQKLToxMDI1N0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNEQKLToxMDI1OEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0QKLToxMDI1OUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMkQKLToxMDI1QUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMUQKLToxMDI1QkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQKLToxMDI1Q0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRkQKLToxMDI1REUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRUQKLToxMDI1RUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwREQKLToxMDI1RkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQ0QKLToxMDI2MEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQkMKLToxMDI2MUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQUMKLToxMDI2MkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOUMKLToxMDI2M0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOEMKLToxMDI2NEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN0MKLToxMDI2NUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNkMKLToxMDI2NkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNUMKLToxMDI2N0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNEMKLToxMDI2OEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0MKLToxMDI2OUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMkMKLToxMDI2QUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMUMKLToxMDI2QkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEMKLToxMDI2Q0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRkMKLToxMDI2REUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRUMKLTowRTI2RUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBERQotOjEwMjZGQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDRQotOjEwMjcwQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCRAotOjEwMjcxQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBRAotOjEwMjcyQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5RAotOjEwMjczQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4RAotOjEwMjc0QzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3RAotOjEwMjc1QzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2RAotOjEwMjc2QzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1RAotOjEwMjc3QzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0RAotOjEwMjc4QzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRAotOjEwMjc5QzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyRAotOjEwMjdBQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxRAotOjEwMjdCQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRAotOjEwMjdDQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGRAotOjEwMjdEQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFRAotOjEwMjdFQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBERAotOjA1MjdGQzAwMDAwMDAwMDAyMkI2Ci06MDcxNzRBMDA5MDdGQzU3NDAyRjAyMjNDCi06MTAxNzUxMDA5MDdFQzBFMDkwNzY0NUYwOTA3RUMxRTA5MDc2NDRGMEI2Ci06MTAxNzYxMDA5MDdFQzJFMDkwNzY0M0YwQjQwMDAzMDIxNzc4OTA3NjQxCi06MTAxNzcxMDAxOTc0MDNGMDAyMTc4RTkwNzY0NEUwQjRCQjA5OTA3Njk5Ci06MTAxNzgxMDAxOTc0MDJGMDAyMTc4RTkwNzYxOTc0MDFGMDkwNzY0MjY2Ci06MDMxNzkxMDBFNEYwMjI1RgotOjAzMDAwMDAwMDI0NUY5QkQKLTowQzQ1RjkwMDc4N0ZFNEY2RDhGRDc1ODEzODAyNDY0MDVBCi06MTAzNjkyMDBCQjAxMDY4OTgyOEE4M0UwMjI1MDAyRTcyMkJCRkUwMjM2Ci06MDkzNkEyMDBFMzIyODk4MjhBODNFNDkzMjI2OQotOjEwMzZBQjAwQkIwMTBDRTU4MjI5RjU4MkU1ODMzQUY1ODNFMDIyNTBENAotOjEwMzZCQjAwMDZFOTI1ODJGOEU2MjJCQkZFMDZFOTI1ODJGOEUyMjIxRQotOjBEMzZDQjAwRTU4MjI5RjU4MkU1ODMzQUY1ODNFNDkzMjIzOAotOjEwMzZEODAwQzJENUVDMzBFNzA5QjJENUU0QzM5REZERTQ5Q0ZDRUUwRAotOjEwMzZFODAwMzBFNzE1QjJENUU0QzM5RkZGRTQ5RUZFMTIzODFGQzMyRQotOjEwMzZGODAwRTQ5REZERTQ5Q0ZDODAwMzEyMzgxRjMwRDUwN0MzRTQyOQotOjA2MzcwODAwOUZGRkU0OUVGRTIyN0IKLToxMDM3MEUwMEJCMDExMEU1ODIyOUY1ODJFNTgzM0FGNTgzRTBGNUYwRjkKLToxMDM3MUUwMEEzRTAyMjUwMDlFOTI1ODJGODg2RjAwOEU2MjJCQkZFRDYKLToxMDM3MkUwMDBBRTkyNTgyRjhFMkY1RjAwOEUyMjJFNTgzMkFGNTgzMUMKLTowODM3M0UwMEU5OTNGNUYwQTNFOTkzMjJFMQotOjEwMzc0NjAwRTg4RkYwQTRDQzhCRjBBNDJDRkNFOThFRjBBNDJDRkMyMgotOjEwMzc1NjAwOEFGMEVEQTQyQ0ZDRUE4RUYwQTRDREE4RjA4QkYwQTRBMAotOjEwMzc2NjAwMkRDQzM4MjVGMEZERTk4RkYwQTQyQ0NEMzVGMEZDRUJGRgotOjEwMzc3NjAwOEVGMEE0RkVBOUYwRUI4RkYwQTRDRkM1RjAyRUNEMzlDNAotOjBGMzc4NjAwRkVFNDNDRkNFQUE0MkRDRTM1RjBGREU0M0NGQzIyMzEKLToxMDM3OTUwMEVCOUZGNUYwRUE5RTQyRjBFOTlENDJGMEVDNjQ4MEM4QUIKLTowNjM3QTUwMDY0ODA5ODQ1RjAyMjRCCi06MTAzN0FCMDBFQjlGRjVGMEVBOUU0MkYwRTk5RDQyRjBFODlDNDVGMDc0Ci06MDEzN0JCMDAyMkVCCi06MEMzN0JDMDBFQ0YwQTNFREYwQTNFRUYwQTNFRkYwMjI4MAotOjEwMzdDODAwQTg4Mjg1ODNGMEQwODNEMDgyMTIzN0RGMTIzN0RGMTJDOAotOjEwMzdEODAwMzdERjEyMzdERkU0NzNFNDkzQTNDNTgzQzVGMEM1ODNFRAotOjEwMzdFODAwQzhDNTgyQzhGMEEzQzU4M0M1RjBDNTgzQzhDNTgyQzg0QgotOjAxMzdGODAwMjJBRQotOjEwMzdGOTAwRDA4M0QwODJGOEU0OTM3MDEyNzQwMTkzNzAwREEzQTM1RgotOjEwMzgwOTAwOTNGODc0MDE5M0Y1ODI4ODgzRTQ3Mzc0MDI5MzY4NjA3MgotOjA2MzgxOTAwRUZBM0EzQTM4MERGNzIKLToxMDQ2MDUwMDAyNDc1QUU0OTNBM0Y4RTQ5M0EzNDAwM0Y2ODAwMUYyMkEKLToxMDQ2MTUwMDA4REZGNDgwMjlFNDkzQTNGODU0MDcyNDBDQzhDMzMzQjYKLToxMDQ2MjUwMEM0NTQwRjQ0MjBDODgzNDAwNEY0NTY4MDAxNDZGNkRGODUKLToxMDQ2MzUwMEU0ODAwQjAxMDIwNDA4MTAyMDQwODA5MDBDOEZFNDdFN0EKLToxMDQ2NDUwMDAxOTM2MEJDQTNGRjU0M0YzMEU1MDk1NDFGRkVFNDkzN0EKLToxMDQ2NTUwMEEzNjAwMTBFQ0Y1NEMwMjVFMDYwQTg0MEI4RTQ5M0EzNDEKLToxMDQ2NjUwMEZBRTQ5M0EzRjhFNDkzQTNDOEM1ODJDOENBQzU4M0NBNkMKLToxMDQ2NzUwMEYwQTNDOEM1ODJDOENBQzU4M0NBREZFOURFRTc4MEJFMjQKLTowMTBGQzUwMDAwMkIKLToxMDM4MUYwMEJDMDAwQkJFMDAyOUVGOERGMDg0RkZBREYwMjJFNENDOEQKLToxMDM4MkYwMEY4NzVGMDA4RUYyRkZGRUUzM0ZFRUMzM0ZDRUU5REVDNTYKLToxMDM4M0YwMDk4NDAwNUZDRUU5REZFMEZENUYwRTlFNENFRkQyMkVEOUMKLToxMDM4NEYwMEY4RjVGMEVFODQyMEQyMUNGRUFERjA3NUYwMDhFRjJGRTYKLToxMDM4NUYwMEZGRUQzM0ZENDAwNzk4NTAwNkQ1RjBGMjIyQzM5OEZERDcKLTowNTM4NkYwMDBGRDVGMEVBMjI3NAotOjAwMDAwMDAxRkYKLSovCi0vKgotVkVSU0lPTj0xLjA0LjA2MgotREFURT0xNi4xMC4yMDAyICAKLSovCi1zdGF0aWMgSU5URUxfSEVYX1JFQ09SRCBnX2VtaTYyX2xvYWRlcltdID0gewotIHsgMywweDAwMDAsMCx7MHgwMiwweDAyLDB4ODd9fSwKLSB7IDMsMHgwMDQzLDAsezB4MDIsMHgwNCwweDAwfX0sCi0gezE2LDB4MDEwMCwwLHsweGU0LDB4ZmYsMHhmZSwweGMyLDB4MjAsMHhkMiwweGU4LDB4NDMsMHhkOCwweDIwLDB4OTAsMHg3ZiwweGFiLDB4NzQsMHhmZiwweGYwfX0sCi0gezE2LDB4MDExMCwwLHsweDkwLDB4N2YsMHhhOSwweGYwLDB4OTAsMHg3ZiwweGFhLDB4ZjAsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4OTUsMHg3NCwweGMwfX0sCi0gezE2LDB4MDEyMCwwLHsweGYwLDB4OTAsMHg3ZiwweDllLDB4ZjAsMHg5MCwweDdmLDB4OTgsMHhmMCwweGU0LDB4OTAsMHg3ZiwweDk0LDB4ZjAsMHg5MCwweDdmfX0sCi0gezE2LDB4MDEzMCwwLHsweDlkLDB4NzQsMHhmZiwweGYwLDB4OTAsMHg3ZiwweDk3LDB4NzQsMHhhMCwweGYwLDB4OTAsMHg3ZiwweDkzLDB4ZTAsMHg1NCwweGZjfX0sCi0gezE2LDB4MDE0MCwwLHsweGYwLDB4OTAsMHg3ZiwweDljLDB4NzQsMHgwMywweGYwLDB4ZTQsMHg5MCwweDdmLDB4OTYsMHhmMCwweDkwLDB4N2YsMHhhZiwweGUwfX0sCi0gezE2LDB4MDE1MCwwLHsweDQ0LDB4MDEsMHhmMCwweDkwLDB4N2YsMHhhZSwweGUwLDB4NDQsMHgwZCwweGYwLDB4ZDIsMHhhZiwweDBmLDB4YmYsMHgwMCwweDAxfX0sCi0gezE2LDB4MDE2MCwwLHsweDBlLDB4YmUsMHgwNywweGY4LDB4YmYsMHgwOCwweGY1LDB4MjAsMHgyMCwweDQyLDB4NzUsMHgxNCwweDAwLDB4NzUsMHgxMywweDAwfX0sCi0gezE2LDB4MDE3MCwwLHsweDc1LDB4MTIsMHgwMCwweDc1LDB4MTEsMHgwMCwweDdmLDB4NDgsMHg3ZSwweDkyLDB4N2QsMHgwMCwweDdjLDB4MDAsMHhhYiwweDE0fX0sCi0gezE2LDB4MDE4MCwwLHsweGFhLDB4MTMsMHhhOSwweDEyLDB4YTgsMHgxMSwweGMzLDB4MTIsMHgwMywweGVkLDB4NTAsMHhkYiwweDIwLDB4MjAsMHhkOCwweDdhfX0sCi0gezE2LDB4MDE5MCwwLHsweDAwLDB4NzksMHgwMCwweDc4LDB4MDAsMHhlNSwweDE0LDB4MjQsMHgwMSwweGY1LDB4MTQsMHhlYSwweDM1LDB4MTMsMHhmNSwweDEzfX0sCi0gezE2LDB4MDFhMCwwLHsweGU5LDB4MzUsMHgxMiwweGY1LDB4MTIsMHhlOCwweDM1LDB4MTEsMHhmNSwweDExLDB4ODAsMHhjYSwweDMwLDB4MjAsMHhmZCwweDEyfX0sCi0gezE2LDB4MDFiMCwwLHsweDAxLDB4YzcsMHg1MCwweDA3LDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0fX0sCi0geyA2LDB4MDFjMCwwLHsweDAyLDB4ZjAsMHhjMiwweDIwLDB4ODAsMHhlNn19LAotIHsgMSwweDAxYzYsMCx7MHgyMn19LAotIHsxNiwweDAxYzcsMCx7MHg5MCwweDdmLDB4ZTksMHhlMCwweDI0LDB4NWIsMHg2MCwweDYwLDB4MjQsMHgwMiwweDYwLDB4MDMsMHgwMiwweDAyLDB4ODUsMHg5MH19LAotIHsxNiwweDAxZDcsMCx7MHg3ZiwweGVhLDB4ZTAsMHg3NSwweDBhLDB4MDAsMHhmNSwweDBiLDB4YTMsMHhlMCwweGZlLDB4ZTQsMHhlZSwweDQyLDB4MGEsMHg5MH19LAotIHsxNiwweDAxZTcsMCx7MHg3ZiwweGVlLDB4ZTAsMHg3NSwweDE1LDB4MDAsMHhmNSwweDE2LDB4YTMsMHhlMCwweGZlLDB4ZTQsMHhlZSwweDQyLDB4MTUsMHhlNX19LAotIHsxNiwweDAxZjcsMCx7MHgxNiwweDQ1LDB4MTUsMHg3MCwweDAzLDB4MDIsMHgwMiwweDg1LDB4ZTQsMHg5MCwweDdmLDB4YzUsMHhmMCwweDkwLDB4N2YsMHhiNH19LAotIHsxNiwweDAyMDcsMCx7MHhlMCwweDIwLDB4ZTMsMHhmOSwweDkwLDB4N2YsMHhjNSwweGUwLDB4ZjUsMHgwYywweDEyLDB4MDMsMHgxMywweGFmLDB4MGMsMHg3ZX19LAotIHsxNiwweDAyMTcsMCx7MHgwMCwweGVmLDB4MjUsMHgwYiwweGY1LDB4MGIsMHhlZSwweDM1LDB4MGEsMHhmNSwweDBhLDB4YzMsMHhlNSwweDE2LDB4OWYsMHhmNX19LAotIHsxNiwweDAyMjcsMCx7MHgxNiwweGU1LDB4MTUsMHg5ZSwweGY1LDB4MTUsMHg4MCwweGM3LDB4OTAsMHg3ZiwweGVhLDB4ZTAsMHg3NSwweDBhLDB4MDAsMHhmNX19LAotIHsxNiwweDAyMzcsMCx7MHgwYiwweGEzLDB4ZTAsMHhmZSwweGU0LDB4ZWUsMHg0MiwweDBhLDB4OTAsMHg3ZiwweGVlLDB4ZTAsMHg3NSwweDE1LDB4MDAsMHhmNX19LAotIHsxNiwweDAyNDcsMCx7MHgxNiwweGEzLDB4ZTAsMHhmZSwweGU0LDB4ZWUsMHg0MiwweDE1LDB4ZTUsMHgxNiwweDQ1LDB4MTUsMHg2MCwweDMwLDB4ZTQsMHg5MH19LAotIHsxNiwweDAyNTcsMCx7MHg3ZiwweGM1LDB4ZjAsMHg5MCwweDdmLDB4YjQsMHhlMCwweDIwLDB4ZTMsMHhmOSwweDkwLDB4N2YsMHhjNSwweGUwLDB4ZjUsMHgwY319LAotIHsxNiwweDAyNjcsMCx7MHgxMiwweDAzLDB4MmIsMHhhZiwweDBjLDB4N2UsMHgwMCwweGVmLDB4MjUsMHgwYiwweGY1LDB4MGIsMHhlZSwweDM1LDB4MGEsMHhmNX19LAotIHsxNSwweDAyNzcsMCx7MHgwYSwweGMzLDB4ZTUsMHgxNiwweDlmLDB4ZjUsMHgxNiwweGU1LDB4MTUsMHg5ZSwweGY1LDB4MTUsMHg4MCwweGNhLDB4YzN9fSwKLSB7IDEsMHgwMjg2LDAsezB4MjJ9fSwKLSB7MTIsMHgwMjg3LDAsezB4NzgsMHg3ZiwweGU0LDB4ZjYsMHhkOCwweGZkLDB4NzUsMHg4MSwweDI5LDB4MDIsMHgwMiwweGNlfX0sCi0gezE2LDB4MDI5MywwLHsweDAyLDB4MDEsMHgwMCwweGU0LDB4OTMsMHhhMywweGY4LDB4ZTQsMHg5MywweGEzLDB4NDAsMHgwMywweGY2LDB4ODAsMHgwMSwweGYyfX0sCi0gezE2LDB4MDJhMywwLHsweDA4LDB4ZGYsMHhmNCwweDgwLDB4MjksMHhlNCwweDkzLDB4YTMsMHhmOCwweDU0LDB4MDcsMHgyNCwweDBjLDB4YzgsMHhjMywweDMzfX0sCi0gezE2LDB4MDJiMywwLHsweGM0LDB4NTQsMHgwZiwweDQ0LDB4MjAsMHhjOCwweDgzLDB4NDAsMHgwNCwweGY0LDB4NTYsMHg4MCwweDAxLDB4NDYsMHhmNiwweGRmfX0sCi0gezE2LDB4MDJjMywwLHsweGU0LDB4ODAsMHgwYiwweDAxLDB4MDIsMHgwNCwweDA4LDB4MTAsMHgyMCwweDQwLDB4ODAsMHg5MCwweDA0LDB4NmUsMHhlNCwweDdlfX0sCi0gezE2LDB4MDJkMywwLHsweDAxLDB4OTMsMHg2MCwweGJjLDB4YTMsMHhmZiwweDU0LDB4M2YsMHgzMCwweGU1LDB4MDksMHg1NCwweDFmLDB4ZmUsMHhlNCwweDkzfX0sCi0gezE2LDB4MDJlMywwLHsweGEzLDB4NjAsMHgwMSwweDBlLDB4Y2YsMHg1NCwweGMwLDB4MjUsMHhlMCwweDYwLDB4YTgsMHg0MCwweGI4LDB4ZTQsMHg5MywweGEzfX0sCi0gezE2LDB4MDJmMywwLHsweGZhLDB4ZTQsMHg5MywweGEzLDB4ZjgsMHhlNCwweDkzLDB4YTMsMHhjOCwweGM1LDB4ODIsMHhjOCwweGNhLDB4YzUsMHg4MywweGNhfX0sCi0gezE2LDB4MDMwMywwLHsweGYwLDB4YTMsMHhjOCwweGM1LDB4ODIsMHhjOCwweGNhLDB4YzUsMHg4MywweGNhLDB4ZGYsMHhlOSwweGRlLDB4ZTcsMHg4MCwweGJlfX0sCi0gezE2LDB4MDMxMywwLHsweGU1LDB4MGMsMHhmZiwweGU1LDB4MGIsMHhmNSwweDgyLDB4ZTUsMHgwYSwweGY1LDB4ODMsMHg3NSwweDkyLDB4N2UsMHg3NCwweGMwfX0sCi0geyA4LDB4MDMyMywwLHsweGY4LDB4ZTIsMHgwOCwweGYwLDB4YTMsMHhkZiwweGZhLDB4MjJ9fSwKLSB7MTYsMHgwMzJiLDAsezB4OTAsMHg3ZiwweDk2LDB4ODUsMHg4MywweDkyLDB4YTgsMHg4MiwweDc5LDB4MDIsMHg5MCwweDAwLDB4MDAsMHhlMCwweGI0LDB4MDB9fSwKLSB7MTYsMHgwMzNiLDAsezB4MGQsMHg3NCwweDAxLDB4ZjAsMHg5MCwweDdmLDB4OTcsMHhlMCwweDU0LDB4N2YsMHhmMCwweDQ0LDB4ODAsMHhmMCwweGU1LDB4MGN9fSwKLSB7MTYsMHgwMzRiLDAsezB4ZmYsMHg5MCwweDdlLDB4YzAsMHhlMCwweGY1LDB4MjgsMHhlNCwweGEyLDB4NDcsMHgzMywweGYyLDB4NjksMHhmMiwweGU0LDB4YTJ9fSwKLSB7MTYsMHgwMzViLDAsezB4NDYsMHgzMywweGYyLDB4NjksMHhmMiwweGU0LDB4YTIsMHg0NSwweDMzLDB4ZjIsMHg2OSwweGYyLDB4ZTQsMHhhMiwweDQ0LDB4MzN9fSwKLSB7MTYsMHgwMzZiLDAsezB4ZjIsMHg2OSwweGYyLDB4ZTQsMHhhMiwweDQzLDB4MzMsMHhmMiwweDY5LDB4ZjIsMHhlNCwweGEyLDB4NDIsMHgzMywweGYyLDB4Njl9fSwKLSB7MTYsMHgwMzdiLDAsezB4ZjIsMHhlNCwweGEyLDB4NDEsMHgzMywweGYyLDB4NjksMHhmMiwweGU0LDB4YTIsMHg0MCwweDMzLDB4ZjIsMHg2OSwweGYyLDB4YTN9fSwKLSB7IDMsMHgwMzhiLDAsezB4ZGYsMHhjMiwweDIyfX0sCi0gezE2LDB4MDM4ZSwwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweDkwLDB4N2YsMHhjNCwweGU0LDB4ZjAsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmfX0sCi0gezExLDB4MDM5ZSwwLHsweGFiLDB4NzQsMHgwNCwweGYwLDB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9fSwKLSB7MTYsMHgwM2E5LDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4ZDIsMHgyMCwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhYiwweDc0LDB4MDF9fSwKLSB7IDgsMHgwM2I5LDAsezB4ZjAsMHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn19LAotIHsxNiwweDAzYzEsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YWIsMHg3NCwweDAyLDB4ZjAsMHhkMH19LAotIHsgNiwweDAzZDEsMCx7MHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9fSwKLSB7MTYsMHgwM2Q3LDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGFiLDB4NzQsMHgxMCwweGYwLDB4ZDB9fSwKLSB7IDYsMHgwM2U3LDAsezB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfX0sCi0gezE2LDB4MDNlZCwwLHsweGViLDB4OWYsMHhmNSwweGYwLDB4ZWEsMHg5ZSwweDQyLDB4ZjAsMHhlOSwweDlkLDB4NDIsMHhmMCwweGU4LDB4OWMsMHg0NSwweGYwfX0sCi0geyAxLDB4MDNmZCwwLHsweDIyfX0sCi0geyAxLDB4MDNmZSwwLHsweDMyfX0sCi0geyAxLDB4MDNmZiwwLHsweDMyfX0sCi0gezE2LDB4MDQwMCwwLHsweDAyLDB4MDMsMHhhOSwweDAwLDB4MDIsMHgwMywweGMxLDB4MDAsMHgwMiwweDAzLDB4OGUsMHgwMCwweDAyLDB4MDQsMHg1OCwweDAwfX0sCi0gezE2LDB4MDQxMCwwLHsweDAyLDB4MDMsMHhkNywweDAwLDB4MDIsMHgwMywweGZlLDB4MDAsMHgwMiwweDAzLDB4ZmYsMHgwMCwweDAyLDB4MDQsMHg4NCwweDAwfX0sCi0gezE2LDB4MDQyMCwwLHsweDAyLDB4MDQsMHg4NSwweDAwLDB4MDIsMHgwNCwweDg2LDB4MDAsMHgwMiwweDA0LDB4ODcsMHgwMCwweDAyLDB4MDQsMHg4OCwweDAwfX0sCi0gezE2LDB4MDQzMCwwLHsweDAyLDB4MDQsMHg4OSwweDAwLDB4MDIsMHgwNCwweDhhLDB4MDAsMHgwMiwweDA0LDB4OGIsMHgwMCwweDAyLDB4MDQsMHg4YywweDAwfX0sCi0gezE2LDB4MDQ0MCwwLHsweDAyLDB4MDQsMHg4ZCwweDAwLDB4MDIsMHgwNCwweDhlLDB4MDAsMHgwMiwweDA0LDB4OGYsMHgwMCwweDAyLDB4MDQsMHg5MCwweDAwfX0sCi0geyA4LDB4MDQ1MCwwLHsweDAyLDB4MDQsMHg5MSwweDAwLDB4MDIsMHgwNCwweDkyLDB4MDB9fSwKLSB7MTYsMHgwNDU4LDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGFiLDB4NzQsMHgwOCwweGYwLDB4ZDB9fSwKLSB7IDYsMHgwNDY4LDAsezB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfX0sCi0gezE2LDB4MDQ2ZSwwLHsweDAyLDB4MGEsMHgwMCwweDBmLDB4MDEsMHgwYywweDExLDB4MDQsMHgwZCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDEsMHgwMCwweDAwfX0sCi0geyAxLDB4MDQ3ZSwwLHsweDAwfX0sCi0geyA0LDB4MDQ3ZiwwLHsweDAyLDB4MTcsMHgwMCwweDAwfX0sCi0geyAxLDB4MDQ4MywwLHsweDAwfX0sCi0geyAxLDB4MDQ4NCwwLHsweDMyfX0sCi0geyAxLDB4MDQ4NSwwLHsweDMyfX0sCi0geyAxLDB4MDQ4NiwwLHsweDMyfX0sCi0geyAxLDB4MDQ4NywwLHsweDMyfX0sCi0geyAxLDB4MDQ4OCwwLHsweDMyfX0sCi0geyAxLDB4MDQ4OSwwLHsweDMyfX0sCi0geyAxLDB4MDQ4YSwwLHsweDMyfX0sCi0geyAxLDB4MDQ4YiwwLHsweDMyfX0sCi0geyAxLDB4MDQ4YywwLHsweDMyfX0sCi0geyAxLDB4MDQ4ZCwwLHsweDMyfX0sCi0geyAxLDB4MDQ4ZSwwLHsweDMyfX0sCi0geyAxLDB4MDQ4ZiwwLHsweDMyfX0sCi0geyAxLDB4MDQ5MCwwLHsweDMyfX0sCi0geyAxLDB4MDQ5MSwwLHsweDMyfX0sCi0geyAxLDB4MDQ5MiwwLHsweDMyfX0sCi0gezE2LDB4MTEwMCwwLHsweDEyLDB4MDEsMHgxMCwweDAxLDB4MDAsMHgwMCwweDAwLDB4NDAsMHg2YSwweDA4LDB4MDEsMHgwMSwweDAwLDB4MDEsMHgwMSwweDAyfX0sCi0gezE2LDB4MTExMCwwLHsweDAwLDB4MDEsMHgwOSwweDAyLDB4MjAsMHgwMCwweDAxLDB4MDEsMHgwMywweGEwLDB4MDAsMHgwOSwweDA0LDB4MDAsMHgwMCwweDAyfX0sCi0gezE2LDB4MTEyMCwwLHsweGZmLDB4MDAsMHgwMCwweDA0LDB4MDcsMHgwNSwweDgyLDB4MDIsMHg0MCwweDAwLDB4MDAsMHgwNywweDA1LDB4MDIsMHgwMiwweDQwfX0sCi0gezE2LDB4MTEzMCwwLHsweDAwLDB4MDAsMHgwNCwweDAzLDB4MDksMHgwNCwweDI2LDB4MDMsMHg0MSwweDAwLDB4NmUsMHgwMCwweDYzLDB4MDAsMHg2OCwweDAwfX0sCi0gezE2LDB4MTE0MCwwLHsweDZmLDB4MDAsMHg3MiwweDAwLDB4MjAsMHgwMCwweDQzLDB4MDAsMHg2OCwweDAwLDB4NjksMHgwMCwweDcwLDB4MDAsMHg3MywweDAwfX0sCi0gezE2LDB4MTE1MCwwLHsweDJjLDB4MDAsMHgyMCwweDAwLDB4NDksMHgwMCwweDZlLDB4MDAsMHg2MywweDAwLDB4MmUsMHgwMCwweDI4LDB4MDMsMHg0NiwweDAwfX0sCi0gezE2LDB4MTE2MCwwLHsweDY5LDB4MDAsMHg3MiwweDAwLDB4NmQsMHgwMCwweDc3LDB4MDAsMHg2MSwweDAwLDB4NzIsMHgwMCwweDY1LDB4MDAsMHgyMCwweDAwfX0sCi0gezE2LDB4MTE3MCwwLHsweDQ2LDB4MDAsMHg3MiwweDAwLDB4NjEsMHgwMCwweDZkLDB4MDAsMHg2NSwweDAwLDB4NTcsMHgwMCwweDZmLDB4MDAsMHg3MiwweDAwfX0sCi0gezE2LDB4MTE4MCwwLHsweDZiLDB4MDAsMHg3MywweDAwLDB4MmEsMHgwMywweDQzLDB4MDAsMHg2ZiwweDAwLDB4NmUsMHgwMCwweDY2LDB4MDAsMHg2OSwweDAwfX0sCi0gezE2LDB4MTE5MCwwLHsweDY3LDB4MDAsMHg3NSwweDAwLDB4NzIsMHgwMCwweDYxLDB4MDAsMHg3NCwweDAwLDB4NjksMHgwMCwweDZmLDB4MDAsMHg2ZSwweDAwfX0sCi0gezE2LDB4MTFhMCwwLHsweDIwLDB4MDAsMHg1MywweDAwLDB4NzQsMHgwMCwweDcyLDB4MDAsMHg2OSwweDAwLDB4NmUsMHgwMCwweDY3LDB4MDAsMHgyMiwweDAzfX0sCi0gezE2LDB4MTFiMCwwLHsweDQ5LDB4MDAsMHg2ZSwweDAwLDB4NzQsMHgwMCwweDY1LDB4MDAsMHg3MiwweDAwLDB4NjYsMHgwMCwweDYxLDB4MDAsMHg2MywweDAwfX0sCi0gezE2LDB4MTFjMCwwLHsweDY1LDB4MDAsMHgyMCwweDAwLDB4NTMsMHgwMCwweDc0LDB4MDAsMHg3MiwweDAwLDB4NjksMHgwMCwweDZlLDB4MDAsMHg2NywweDAwfX0sCi0geyAyLDB4MTFkMCwwLHsweDAwLDB4MDB9fSwKLSB7IDAsMHgwMDAwLDEsezB9fQotfTsKLS8qIFNvdXJjZTogRU1JTE9BRC5IRVggCi06MTAwNDZFMDAwMjBBMDAwRjAxMEMxMTA0MEQwMDAwMDAwMDQxMDAwMEYzCi06MDEwNDdFMDAwMDdECi06MTAwMUM3MDA5MDdGRTlFMDI0NUI2MDYwMjQwMjYwMDMwMjAyODU5MDZGCi06MTAwMUQ3MDA3RkVBRTA3NTBBMDBGNTBCQTNFMEZFRTRFRTQyMEE5MDIxCi06MTAwMUU3MDA3RkVFRTA3NTE1MDBGNTE2QTNFMEZFRTRFRTQyMTVFNTk3Ci06MTAwMUY3MDAxNjQ1MTU3MDAzMDIwMjg1RTQ5MDdGQzVGMDkwN0ZCNDIxCi06MTAwMjA3MDBFMDIwRTNGOTkwN0ZDNUUwRjUwQzEyMDMxM0FGMEM3RUY1Ci06MTAwMjE3MDAwMEVGMjUwQkY1MEJFRTM1MEFGNTBBQzNFNTE2OUZGNTNBCi06MTAwMjI3MDAxNkU1MTU5RUY1MTU4MEM3OTA3RkVBRTA3NTBBMDBGNTdCCi06MTAwMjM3MDAwQkEzRTBGRUU0RUU0MjBBOTA3RkVFRTA3NTE1MDBGNUIxCi06MTAwMjQ3MDAxNkEzRTBGRUU0RUU0MjE1RTUxNjQ1MTU2MDMwRTQ5MDhFCi06MTAwMjU3MDA3RkM1RjA5MDdGQjRFMDIwRTNGOTkwN0ZDNUUwRjUwQzBGCi06MTAwMjY3MDAxMjAzMkJBRjBDN0UwMEVGMjUwQkY1MEJFRTM1MEFGNUNECi06MEYwMjc3MDAwQUMzRTUxNjlGRjUxNkU1MTU5RUY1MTU4MENBQzM1NwotOjAxMDI4NjAwMjI1NQotOjEwMDNBOTAwQzBFMEMwODNDMDgyRDIyMDUzOTFFRjkwN0ZBQjc0MDEyQgotOjA4MDNCOTAwRjBEMDgyRDA4M0QwRTAzMkM1Ci06MTAwMzhFMDBDMEUwQzA4M0MwODI5MDdGQzRFNEYwNTM5MUVGOTA3RkIxCi06MEIwMzlFMDBBQjc0MDRGMEQwODJEMDgzRDBFMDMyQkEKLToxMDAzQzEwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBQjc0MDJGMEQwNDQKLTowNjAzRDEwMDgyRDA4M0QwRTAzMjZGCi06MTAwM0Q3MDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQUI3NDEwRjBEMDIwCi06MDYwM0U3MDA4MkQwODNEMEUwMzI1OQotOjAxMDNGRTAwMzJDQwotOjEwMDQ1ODAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkFCNzQwOEYwRDBBNgotOjA2MDQ2ODAwODJEMDgzRDBFMDMyRDcKLTowMTAzRkYwMDMyQ0IKLTowMTA0ODQwMDMyNDUKLTowMTA0ODUwMDMyNDQKLTowMTA0ODYwMDMyNDMKLTowMTA0ODcwMDMyNDIKLTowMTA0ODgwMDMyNDEKLTowMTA0ODkwMDMyNDAKLTowMTA0OEEwMDMyM0YKLTowMTA0OEIwMDMyM0UKLTowMTA0OEMwMDMyM0QKLTowMTA0OEQwMDMyM0MKLTowMTA0OEUwMDMyM0IKLTowMTA0OEYwMDMyM0EKLTowMTA0OTAwMDMyMzkKLTowMTA0OTEwMDMyMzgKLTowMTA0OTIwMDMyMzcKLTowNDA0N0YwMDAyMTcwMDAwNjAKLToxMDAxMDAwMEU0RkZGRUMyMjBEMkU4NDNEODIwOTA3RkFCNzRGRkYwMUEKLToxMDAxMTAwMDkwN0ZBOUYwOTA3RkFBRjA1MzkxRUY5MDdGOTU3NEMwRTMKLToxMDAxMjAwMEYwOTA3RjlFRjA5MDdGOThGMEU0OTA3Rjk0RjA5MDdGMjUKLToxMDAxMzAwMDlENzRGRkYwOTA3Rjk3NzRBMEYwOTA3RjkzRTA1NEZDNDMKLToxMDAxNDAwMEYwOTA3RjlDNzQwM0YwRTQ5MDdGOTZGMDkwN0ZBRkUwOTYKLToxMDAxNTAwMDQ0MDFGMDkwN0ZBRUUwNDQwREYwRDJBRjBGQkYwMDAxM0MKLToxMDAxNjAwMDBFQkUwN0Y4QkYwOEY1MjAyMDQyNzUxNDAwNzUxMzAwNzUKLToxMDAxNzAwMDc1MTIwMDc1MTEwMDdGNDg3RTkyN0QwMDdDMDBBQjE0RTMKLToxMDAxODAwMEFBMTNBOTEyQTgxMUMzMTIwM0VENTBEQjIwMjBEODdBQkMKLToxMDAxOTAwMDAwNzkwMDc4MDBFNTE0MjQwMUY1MTRFQTM1MTNGNTEzMEQKLToxMDAxQTAwMEU5MzUxMkY1MTJFODM1MTFGNTExODBDQTMwMjBGRDEyM0IKLToxMDAxQjAwMDAxQzc1MDA3OTA3RkI0RTA0NDAxRjA5MDdGQjRFMDQ0NjEKLTowNjAxQzAwMDAyRjBDMjIwODBFNkZGCi06MDEwMUM2MDAyMjE2Ci06MTAxMTAwMDAxMjAxMTAwMTAwMDAwMDQwNkEwODAxMDEwMDAxMDEwMjAzCi06MTAxMTEwMDAwMDAxMDkwMjIwMDAwMTAxMDNBMDAwMDkwNDAwMDAwMkVGCi06MTAxMTIwMDBGRjAwMDAwNDA3MDU4MjAyNDAwMDAwMDcwNTAyMDI0MDlDCi06MTAxMTMwMDAwMDAwMDQwMzA5MDQyNjAzNDEwMDZFMDA2MzAwNjgwMEY4Ci06MTAxMTQwMDA2RjAwNzIwMDIwMDA0MzAwNjgwMDY5MDA3MDAwNzMwMEE3Ci06MTAxMTUwMDAyQzAwMjAwMDQ5MDA2RTAwNjMwMDJFMDAyODAzNDYwMDhBCi06MTAxMTYwMDA2OTAwNzIwMDZEMDA3NzAwNjEwMDcyMDA2NTAwMjAwMDY4Ci06MTAxMTcwMDA0NjAwNzIwMDYxMDA2RDAwNjUwMDU3MDA2RjAwNzIwMDRDCi06MTAxMTgwMDA2QjAwNzMwMDJBMDM0MzAwNkYwMDZFMDA2NjAwNjkwMDY1Ci06MTAxMTkwMDA2NzAwNzUwMDcyMDA2MTAwNzQwMDY5MDA2RjAwNkUwMEU2Ci06MTAxMUEwMDAyMDAwNTMwMDc0MDA3MjAwNjkwMDZFMDA2NzAwMjIwMzgzCi06MTAxMUIwMDA0OTAwNkUwMDc0MDA2NTAwNzIwMDY2MDA2MTAwNjMwMDAzCi06MTAxMUMwMDA2NTAwMjAwMDUzMDA3NDAwNzIwMDY5MDA2RTAwNjcwMDIzCi06MDIxMUQwMDAwMDAwMUQKLToxMDAzMTMwMEU1MENGRkU1MEJGNTgyRTUwQUY1ODM3NTkyN0U3NEMwNjMKLTowODAzMjMwMEY4RTIwOEYwQTNERkZBMjI2MgotOjEwMDMyQjAwOTA3Rjk2ODU4MzkyQTg4Mjc5MDI5MDAwMDBFMEI0MDBCQQotOjEwMDMzQjAwMEQ3NDAxRjA5MDdGOTdFMDU0N0ZGMDQ0ODBGMEU1MEM1MgotOjEwMDM0QjAwRkY5MDdFQzBFMEY1MjhFNEEyNDczM0YyNjlGMkU0QTIwNQotOjEwMDM1QjAwNDYzM0YyNjlGMkU0QTI0NTMzRjI2OUYyRTRBMjQ0MzM4NAotOjEwMDM2QjAwRjI2OUYyRTRBMjQzMzNGMjY5RjJFNEEyNDIzM0YyNjk5NgotOjEwMDM3QjAwRjJFNEEyNDEzM0YyNjlGMkU0QTI0MDMzRjI2OUYyQTM1MAotOjAzMDM4QjAwREZDMjIyQUMKLTowMzAwNDMwMDAyMDQwMEI0Ci06MTAwNDAwMDAwMjAzQTkwMDAyMDNDMTAwMDIwMzhFMDAwMjA0NTgwMDg3Ci06MTAwNDEwMDAwMjAzRDcwMDAyMDNGRTAwMDIwM0ZGMDAwMjA0ODQwMDZGCi06MTAwNDIwMDAwMjA0ODUwMDAyMDQ4NjAwMDIwNDg3MDAwMjA0ODgwMDlBCi06MTAwNDMwMDAwMjA0ODkwMDAyMDQ4QTAwMDIwNDhCMDAwMjA0OEMwMDdBCi06MTAwNDQwMDAwMjA0OEQwMDAyMDQ4RTAwMDIwNDhGMDAwMjA0OTAwMDVBCi06MDgwNDUwMDAwMjA0OTEwMDAyMDQ5MjAwNzUKLTowMzAwMDAwMDAyMDI4NzcyCi06MEMwMjg3MDA3ODdGRTRGNkQ4RkQ3NTgxMjkwMjAyQ0VENAotOjEwMDNFRDAwRUI5RkY1RjBFQTlFNDJGMEU5OUQ0MkYwRTg5QzQ1RjA2NgotOjAxMDNGRDAwMjJERAotOjEwMDI5MzAwMDIwMTAwRTQ5M0EzRjhFNDkzQTM0MDAzRjY4MDAxRjI4MAotOjEwMDJBMzAwMDhERkY0ODAyOUU0OTNBM0Y4NTQwNzI0MENDOEMzMzM2QwotOjEwMDJCMzAwQzQ1NDBGNDQyMEM4ODM0MDA0RjQ1NjgwMDE0NkY2REYzQgotOjEwMDJDMzAwRTQ4MDBCMDEwMjA0MDgxMDIwNDA4MDkwMDQ2RUU0N0U1OQotOjEwMDJEMzAwMDE5MzYwQkNBM0ZGNTQzRjMwRTUwOTU0MUZGRUU0OTMzMAotOjEwMDJFMzAwQTM2MDAxMEVDRjU0QzAyNUUwNjBBODQwQjhFNDkzQTNGNwotOjEwMDJGMzAwRkFFNDkzQTNGOEU0OTNBM0M4QzU4MkM4Q0FDNTgzQ0EyMgotOjEwMDMwMzAwRjBBM0M4QzU4MkM4Q0FDNTgzQ0FERkU5REVFNzgwQkVEOQotOjAxMDQ4MzAwMDA3OAotOjAwMDAwMDAxRkYKLSovCi0vKgotVkVSU0lPTj0xLjAuMi4wMDIKLURBVEU9MTAuMDEuMjAwMgotRU1JMjZfNjIKLSovCmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9taXNjL2lzaWdodF9maXJtd2FyZS5jIGIvZHJpdmVycy91c2IvbWlzYy9pc2lnaHRfZmlybXdhcmUuYwppbmRleCA5ZjMwYWExLi5kOTRhYTczIDEwMDY0NAotLS0gYS9kcml2ZXJzL3VzYi9taXNjL2lzaWdodF9maXJtd2FyZS5jCisrKyBiL2RyaXZlcnMvdXNiL21pc2MvaXNpZ2h0X2Zpcm13YXJlLmMKQEAgLTQxLDcgKzQxLDcgQEAKIAljb25zdCBzdHJ1Y3QgZmlybXdhcmUgKmZpcm13YXJlOwogCXVuc2lnbmVkIGNoYXIgKmJ1ZiA9IGttYWxsb2MoNTAsIEdGUF9LRVJORUwpOwogCXVuc2lnbmVkIGNoYXIgZGF0YVs0XTsKLQl1OCAqcHRyOworCWNvbnN0IHU4ICpwdHI7CiAKIAlpZiAoIWJ1ZikKIAkJcmV0dXJuIC1FTk9NRU07CmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9tb24vbW9uX2Jpbi5jIGIvZHJpdmVycy91c2IvbW9uL21vbl9iaW4uYwppbmRleCA0OTE0NTUzLi4yOTNhNDYyIDEwMDY0NAotLS0gYS9kcml2ZXJzL3VzYi9tb24vbW9uX2Jpbi5jCisrKyBiL2RyaXZlcnMvdXNiL21vbi9tb25fYmluLmMKQEAgLTE1LDYgKzE1LDcgQEAKICNpbmNsdWRlIDxsaW51eC9wb2xsLmg+CiAjaW5jbHVkZSA8bGludXgvY29tcGF0Lmg+CiAjaW5jbHVkZSA8bGludXgvbW0uaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogCiAjaW5jbHVkZSA8YXNtL3VhY2Nlc3MuaD4KIApAQCAtNTI3LDE0ICs1MjgsMTcgQEAKIAlzaXplX3Qgc2l6ZTsKIAlpbnQgcmM7CiAKKwlsb2NrX2tlcm5lbCgpOwogCW11dGV4X2xvY2soJm1vbl9sb2NrKTsKIAlpZiAoKG1idXMgPSBtb25fYnVzX2xvb2t1cChpbWlub3IoaW5vZGUpKSkgPT0gTlVMTCkgewogCQltdXRleF91bmxvY2soJm1vbl9sb2NrKTsKKwkJdW5sb2NrX2tlcm5lbCgpOwogCQlyZXR1cm4gLUVOT0RFVjsKIAl9CiAJaWYgKG1idXMgIT0gJm1vbl9idXMwICYmIG1idXMtPnVfYnVzID09IE5VTEwpIHsKIAkJcHJpbnRrKEtFUk5fRVJSIFRBRyAiOiBjb25zaXN0ZW5jeSBlcnJvciBvbiBvcGVuXG4iKTsKIAkJbXV0ZXhfdW5sb2NrKCZtb25fbG9jayk7CisJCXVubG9ja19rZXJuZWwoKTsKIAkJcmV0dXJuIC1FTk9ERVY7CiAJfQogCkBAIC01NjgsNiArNTcyLDcgQEAKIAogCWZpbGUtPnByaXZhdGVfZGF0YSA9IHJwOwogCW11dGV4X3VubG9jaygmbW9uX2xvY2spOworCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gMDsKIAogZXJyX2FsbG9jYnVmZjoKQEAgLTU3Niw2ICs1ODEsNyBAQAogCWtmcmVlKHJwKTsKIGVycl9hbGxvYzoKIAltdXRleF91bmxvY2soJm1vbl9sb2NrKTsKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIHJjOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9zZXJpYWwvS2NvbmZpZyBiL2RyaXZlcnMvdXNiL3NlcmlhbC9LY29uZmlnCmluZGV4IDliYTY0Y2MuLjlhNzY4MWIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdXNiL3NlcmlhbC9LY29uZmlnCisrKyBiL2RyaXZlcnMvdXNiL3NlcmlhbC9LY29uZmlnCkBAIC0zMDQsMTkgKzMwNCwxOSBAQAogCiBjb25maWcgVVNCX1NFUklBTF9LRVlTUEFOX01QUgogCWJvb2wgIlVTQiBLZXlzcGFuIE1QUiBGaXJtd2FyZSIKLQlkZXBlbmRzIG9uIFVTQl9TRVJJQUxfS0VZU1BBTgorCWRlcGVuZHMgb24gVVNCX1NFUklBTF9LRVlTUEFOICYmIEZJUk1XQVJFX0lOX0tFUk5FTAogCWhlbHAKIAkgIFNheSBZIGhlcmUgdG8gaW5jbHVkZSBmaXJtd2FyZSBmb3IgdGhlIEtleXNwYW4gTVBSIGNvbnZlcnRlci4KIAogY29uZmlnIFVTQl9TRVJJQUxfS0VZU1BBTl9VU0EyOAogCWJvb2wgIlVTQiBLZXlzcGFuIFVTQS0yOCBGaXJtd2FyZSIKLQlkZXBlbmRzIG9uIFVTQl9TRVJJQUxfS0VZU1BBTgorCWRlcGVuZHMgb24gVVNCX1NFUklBTF9LRVlTUEFOICYmIEZJUk1XQVJFX0lOX0tFUk5FTAogCWhlbHAKIAkgIFNheSBZIGhlcmUgdG8gaW5jbHVkZSBmaXJtd2FyZSBmb3IgdGhlIFVTQS0yOCBjb252ZXJ0ZXIuCiAKIGNvbmZpZyBVU0JfU0VSSUFMX0tFWVNQQU5fVVNBMjhYCiAJYm9vbCAiVVNCIEtleXNwYW4gVVNBLTI4WCBGaXJtd2FyZSIKLQlkZXBlbmRzIG9uIFVTQl9TRVJJQUxfS0VZU1BBTgorCWRlcGVuZHMgb24gVVNCX1NFUklBTF9LRVlTUEFOICYmIEZJUk1XQVJFX0lOX0tFUk5FTAogCWhlbHAKIAkgIFNheSBZIGhlcmUgdG8gaW5jbHVkZSBmaXJtd2FyZSBmb3IgdGhlIFVTQS0yOFggY29udmVydGVyLgogCSAgQmUgc3VyZSB5b3UgaGF2ZSBhIFVTQS0yOFgsIHRoZXJlIGFyZSBhbHNvIDI4WEEgYW5kIDI4WEIKQEAgLTMyNCw3ICszMjQsNyBAQAogCiBjb25maWcgVVNCX1NFUklBTF9LRVlTUEFOX1VTQTI4WEEKIAlib29sICJVU0IgS2V5c3BhbiBVU0EtMjhYQSBGaXJtd2FyZSIKLQlkZXBlbmRzIG9uIFVTQl9TRVJJQUxfS0VZU1BBTgorCWRlcGVuZHMgb24gVVNCX1NFUklBTF9LRVlTUEFOICYmIEZJUk1XQVJFX0lOX0tFUk5FTAogCWhlbHAKIAkgIFNheSBZIGhlcmUgdG8gaW5jbHVkZSBmaXJtd2FyZSBmb3IgdGhlIFVTQS0yOFhBIGNvbnZlcnRlci4KIAkgIEJlIHN1cmUgeW91IGhhdmUgYSBVU0EtMjhYQSwgdGhlcmUgYXJlIGFsc28gMjhYIGFuZCAyOFhCCkBAIC0zMzIsNyArMzMyLDcgQEAKIAogY29uZmlnIFVTQl9TRVJJQUxfS0VZU1BBTl9VU0EyOFhCCiAJYm9vbCAiVVNCIEtleXNwYW4gVVNBLTI4WEIgRmlybXdhcmUiCi0JZGVwZW5kcyBvbiBVU0JfU0VSSUFMX0tFWVNQQU4KKwlkZXBlbmRzIG9uIFVTQl9TRVJJQUxfS0VZU1BBTiAmJiBGSVJNV0FSRV9JTl9LRVJORUwKIAloZWxwCiAJICBTYXkgWSBoZXJlIHRvIGluY2x1ZGUgZmlybXdhcmUgZm9yIHRoZSBVU0EtMjhYQiBjb252ZXJ0ZXIuCiAJICBCZSBzdXJlIHlvdSBoYXZlIGEgVVNBLTI4WEIsIHRoZXJlIGFyZSBhbHNvIDI4WCBhbmQgMjhYQQpAQCAtMzQwLDQzICszNDAsNDMgQEAKIAogY29uZmlnIFVTQl9TRVJJQUxfS0VZU1BBTl9VU0ExOQogCWJvb2wgIlVTQiBLZXlzcGFuIFVTQS0xOSBGaXJtd2FyZSIKLQlkZXBlbmRzIG9uIFVTQl9TRVJJQUxfS0VZU1BBTgorCWRlcGVuZHMgb24gVVNCX1NFUklBTF9LRVlTUEFOICYmIEZJUk1XQVJFX0lOX0tFUk5FTAogCWhlbHAKIAkgIFNheSBZIGhlcmUgdG8gaW5jbHVkZSBmaXJtd2FyZSBmb3IgdGhlIFVTQS0xOSBjb252ZXJ0ZXIuCiAKIGNvbmZpZyBVU0JfU0VSSUFMX0tFWVNQQU5fVVNBMThYCiAJYm9vbCAiVVNCIEtleXNwYW4gVVNBLTE4WCBGaXJtd2FyZSIKLQlkZXBlbmRzIG9uIFVTQl9TRVJJQUxfS0VZU1BBTgorCWRlcGVuZHMgb24gVVNCX1NFUklBTF9LRVlTUEFOICYmIEZJUk1XQVJFX0lOX0tFUk5FTAogCWhlbHAKIAkgIFNheSBZIGhlcmUgdG8gaW5jbHVkZSBmaXJtd2FyZSBmb3IgdGhlIFVTQS0xOFggY29udmVydGVyLgogCiBjb25maWcgVVNCX1NFUklBTF9LRVlTUEFOX1VTQTE5VwogCWJvb2wgIlVTQiBLZXlzcGFuIFVTQS0xOVcgRmlybXdhcmUiCi0JZGVwZW5kcyBvbiBVU0JfU0VSSUFMX0tFWVNQQU4KKwlkZXBlbmRzIG9uIFVTQl9TRVJJQUxfS0VZU1BBTiAmJiBGSVJNV0FSRV9JTl9LRVJORUwKIAloZWxwCiAJICBTYXkgWSBoZXJlIHRvIGluY2x1ZGUgZmlybXdhcmUgZm9yIHRoZSBVU0EtMTlXIGNvbnZlcnRlci4KIAogY29uZmlnIFVTQl9TRVJJQUxfS0VZU1BBTl9VU0ExOVFXCiAJYm9vbCAiVVNCIEtleXNwYW4gVVNBLTE5UVcgRmlybXdhcmUiCi0JZGVwZW5kcyBvbiBVU0JfU0VSSUFMX0tFWVNQQU4KKwlkZXBlbmRzIG9uIFVTQl9TRVJJQUxfS0VZU1BBTiAmJiBGSVJNV0FSRV9JTl9LRVJORUwKIAloZWxwCiAJICBTYXkgWSBoZXJlIHRvIGluY2x1ZGUgZmlybXdhcmUgZm9yIHRoZSBVU0EtMTlRVyBjb252ZXJ0ZXIuCiAKIGNvbmZpZyBVU0JfU0VSSUFMX0tFWVNQQU5fVVNBMTlRSQogCWJvb2wgIlVTQiBLZXlzcGFuIFVTQS0xOVFJIEZpcm13YXJlIgotCWRlcGVuZHMgb24gVVNCX1NFUklBTF9LRVlTUEFOCisJZGVwZW5kcyBvbiBVU0JfU0VSSUFMX0tFWVNQQU4gJiYgRklSTVdBUkVfSU5fS0VSTkVMCiAJaGVscAogCSAgU2F5IFkgaGVyZSB0byBpbmNsdWRlIGZpcm13YXJlIGZvciB0aGUgVVNBLTE5UUkgY29udmVydGVyLgogCiBjb25maWcgVVNCX1NFUklBTF9LRVlTUEFOX1VTQTQ5VwogCWJvb2wgIlVTQiBLZXlzcGFuIFVTQS00OVcgRmlybXdhcmUiCi0JZGVwZW5kcyBvbiBVU0JfU0VSSUFMX0tFWVNQQU4KKwlkZXBlbmRzIG9uIFVTQl9TRVJJQUxfS0VZU1BBTiAmJiBGSVJNV0FSRV9JTl9LRVJORUwKIAloZWxwCiAJICBTYXkgWSBoZXJlIHRvIGluY2x1ZGUgZmlybXdhcmUgZm9yIHRoZSBVU0EtNDlXIGNvbnZlcnRlci4KIAogY29uZmlnIFVTQl9TRVJJQUxfS0VZU1BBTl9VU0E0OVdMQwogCWJvb2wgIlVTQiBLZXlzcGFuIFVTQS00OVdMQyBGaXJtd2FyZSIKLQlkZXBlbmRzIG9uIFVTQl9TRVJJQUxfS0VZU1BBTgorCWRlcGVuZHMgb24gVVNCX1NFUklBTF9LRVlTUEFOICYmIEZJUk1XQVJFX0lOX0tFUk5FTAogCWhlbHAKIAkgIFNheSBZIGhlcmUgdG8gaW5jbHVkZSBmaXJtd2FyZSBmb3IgdGhlIFVTQS00OVdMQyBjb252ZXJ0ZXIuCiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL3NlcmlhbC9pb19lZGdlcG9ydC5jIGIvZHJpdmVycy91c2Ivc2VyaWFsL2lvX2VkZ2Vwb3J0LmMKaW5kZXggMDZiNTJmNC4uMmZkNDQ5YiAxMDA2NDQKLS0tIGEvZHJpdmVycy91c2Ivc2VyaWFsL2lvX2VkZ2Vwb3J0LmMKKysrIGIvZHJpdmVycy91c2Ivc2VyaWFsL2lvX2VkZ2Vwb3J0LmMKQEAgLTQyLDYgKzQyLDggQEAKICNpbmNsdWRlIDxsaW51eC9zZXJpYWwuaD4KICNpbmNsdWRlIDxsaW51eC9pb2N0bC5oPgogI2luY2x1ZGUgPGxpbnV4L3dhaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9maXJtd2FyZS5oPgorI2luY2x1ZGUgPGxpbnV4L2loZXguaD4KICNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgogI2luY2x1ZGUgPGxpbnV4L3VzYi5oPgogI2luY2x1ZGUgPGxpbnV4L3VzYi9zZXJpYWwuaD4KQEAgLTU2LDI2ICs1OCw2IEBACiAjZGVmaW5lIERSSVZFUl9BVVRIT1IgIkdyZWcgS3JvYWgtSGFydG1hbiA8Z3JlZ0Brcm9haC5jb20+IGFuZCBEYXZpZCBJYWNvdmVsbGkiCiAjZGVmaW5lIERSSVZFUl9ERVNDICJFZGdlcG9ydCBVU0IgU2VyaWFsIERyaXZlciIKIAotLyogRmlyc3QsIHRoZSBsYXRlc3QgYm9vdCBjb2RlIC0gZm9yIGZpcnN0IGdlbmVyYXRpb24gZWRnZXBvcnRzICovCi0jZGVmaW5lIElNQUdFX0FSUkFZX05BTUUJQm9vdENvZGVJbWFnZV9HRU4xCi0jZGVmaW5lIElNQUdFX1ZFUlNJT05fTkFNRQlCb290Q29kZUltYWdlVmVyc2lvbl9HRU4xCi0jaW5jbHVkZSAiaW9fZndfYm9vdC5oIgkJLyogdGhlIGJvb3Rsb2FkZXIgZmlybXdhcmUgdG8gZG93bmxvYWQgdG8gYSBkZXZpY2UsIGlmIGl0IG5lZWRzIGl0ICovCi0KLS8qIGZvciBzZWNvbmQgZ2VuZXJhdGlvbiBlZGdlcG9ydHMgKi8KLSNkZWZpbmUgSU1BR0VfQVJSQVlfTkFNRQlCb290Q29kZUltYWdlX0dFTjIKLSNkZWZpbmUgSU1BR0VfVkVSU0lPTl9OQU1FCUJvb3RDb2RlSW1hZ2VWZXJzaW9uX0dFTjIKLSNpbmNsdWRlICJpb19md19ib290Mi5oIgkvKiB0aGUgYm9vdGxvYWRlciBmaXJtd2FyZSB0byBkb3dubG9hZCB0byBhIGRldmljZSwgaWYgaXQgbmVlZHMgaXQgKi8KLQotLyogVGhlbiBmaW5hbGx5IHRoZSBtYWluIHJ1bi10aW1lIG9wZXJhdGlvbmFsIGNvZGUgLSBmb3IgZmlyc3QgZ2VuZXJhdGlvbiBlZGdlcG9ydHMgKi8KLSNkZWZpbmUgSU1BR0VfQVJSQVlfTkFNRQlPcGVyYXRpb25hbENvZGVJbWFnZV9HRU4xCi0jZGVmaW5lIElNQUdFX1ZFUlNJT05fTkFNRQlPcGVyYXRpb25hbENvZGVJbWFnZVZlcnNpb25fR0VOMQotI2luY2x1ZGUgImlvX2Z3X2Rvd24uaCIJCS8qIERlZmluZSBhcnJheSBPcGVyYXRpb25hbENvZGVJbWFnZVtdICovCi0KLS8qIGZvciBzZWNvbmQgZ2VuZXJhdGlvbiBlZGdlcG9ydHMgKi8KLSNkZWZpbmUgSU1BR0VfQVJSQVlfTkFNRQlPcGVyYXRpb25hbENvZGVJbWFnZV9HRU4yCi0jZGVmaW5lIElNQUdFX1ZFUlNJT05fTkFNRQlPcGVyYXRpb25hbENvZGVJbWFnZVZlcnNpb25fR0VOMgotI2luY2x1ZGUgImlvX2Z3X2Rvd24yLmgiCS8qIERlZmluZSBhcnJheSBPcGVyYXRpb25hbENvZGVJbWFnZVtdICovCi0KICNkZWZpbmUgTUFYX05BTUVfTEVOCQk2NAogCiAjZGVmaW5lIENIQVNFX1RJTUVPVVQJCSg1KkhaKQkJLyogNSBzZWNvbmRzICovCkBAIC0yNTYsOSArMjM4LDkgQEAKIHN0YXRpYyBpbnQgIHdyaXRlX2NtZF91c2IJCShzdHJ1Y3QgZWRnZXBvcnRfcG9ydCAqZWRnZV9wb3J0LCB1bnNpZ25lZCBjaGFyICpidWZmZXIsIGludCB3cml0ZUxlbmd0aCk7CiBzdGF0aWMgdm9pZCBzZW5kX21vcmVfcG9ydF9kYXRhCQkoc3RydWN0IGVkZ2Vwb3J0X3NlcmlhbCAqZWRnZV9zZXJpYWwsIHN0cnVjdCBlZGdlcG9ydF9wb3J0ICplZGdlX3BvcnQpOwogCi1zdGF0aWMgaW50ICBzcmFtX3dyaXRlCQkJKHN0cnVjdCB1c2Jfc2VyaWFsICpzZXJpYWwsIF9fdTE2IGV4dEFkZHIsIF9fdTE2IGFkZHIsIF9fdTE2IGxlbmd0aCwgX191OCAqZGF0YSk7CitzdGF0aWMgaW50ICBzcmFtX3dyaXRlCQkJKHN0cnVjdCB1c2Jfc2VyaWFsICpzZXJpYWwsIF9fdTE2IGV4dEFkZHIsIF9fdTE2IGFkZHIsIF9fdTE2IGxlbmd0aCwgY29uc3QgX191OCAqZGF0YSk7CiBzdGF0aWMgaW50ICByb21fcmVhZAkJCShzdHJ1Y3QgdXNiX3NlcmlhbCAqc2VyaWFsLCBfX3UxNiBleHRBZGRyLCBfX3UxNiBhZGRyLCBfX3UxNiBsZW5ndGgsIF9fdTggKmRhdGEpOwotc3RhdGljIGludCAgcm9tX3dyaXRlCQkJKHN0cnVjdCB1c2Jfc2VyaWFsICpzZXJpYWwsIF9fdTE2IGV4dEFkZHIsIF9fdTE2IGFkZHIsIF9fdTE2IGxlbmd0aCwgX191OCAqZGF0YSk7CitzdGF0aWMgaW50ICByb21fd3JpdGUJCQkoc3RydWN0IHVzYl9zZXJpYWwgKnNlcmlhbCwgX191MTYgZXh0QWRkciwgX191MTYgYWRkciwgX191MTYgbGVuZ3RoLCBjb25zdCBfX3U4ICpkYXRhKTsKIHN0YXRpYyB2b2lkIGdldF9tYW51ZmFjdHVyaW5nX2Rlc2MJKHN0cnVjdCBlZGdlcG9ydF9zZXJpYWwgKmVkZ2Vfc2VyaWFsKTsKIHN0YXRpYyB2b2lkIGdldF9ib290X2Rlc2MJCShzdHJ1Y3QgZWRnZXBvcnRfc2VyaWFsICplZGdlX3NlcmlhbCk7CiBzdGF0aWMgdm9pZCBsb2FkX2FwcGxpY2F0aW9uX2Zpcm13YXJlCShzdHJ1Y3QgZWRnZXBvcnRfc2VyaWFsICplZGdlX3NlcmlhbCk7CkBAIC0yODMsMzcgKzI2NSw0MSBAQAogewogCV9fdTMyIEJvb3RDdXJWZXI7CiAJX191MzIgQm9vdE5ld1ZlcjsKLQlfX3U4IEJvb3RNYWpvclZlcnNpb247ICAgICAgICAgICAgICAgICAgCi0JX191OCBCb290TWlub3JWZXJzaW9uOyAgICAgICAgICAgICAgICAgIAotCV9fbGUxNiBCb290QnVpbGROdW1iZXI7Ci0JX191OCAqQm9vdEltYWdlOyAgICAgIAotCV9fdTMyIEJvb3RTaXplOwotCXN0cnVjdCBlZGdlX2Zpcm13YXJlX2ltYWdlX3JlY29yZCAqcmVjb3JkOwotCXVuc2lnbmVkIGNoYXIgKmZpcm13YXJlOworCV9fdTggQm9vdE1ham9yVmVyc2lvbjsKKwlfX3U4IEJvb3RNaW5vclZlcnNpb247CisJX191MTYgQm9vdEJ1aWxkTnVtYmVyOworCV9fdTMyIEJvb3RhZGRyOworCWNvbnN0IHN0cnVjdCBpaGV4X2JpbnJlYyAqcmVjOworCWNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqZnc7CisJY29uc3QgY2hhciAqZndfbmFtZTsKIAlpbnQgcmVzcG9uc2U7CiAKLQogCXN3aXRjaCAoZWRnZV9zZXJpYWwtPnByb2R1Y3RfaW5mby5pRG93bmxvYWRGaWxlKSB7CiAJCWNhc2UgRURHRV9ET1dOTE9BRF9GSUxFX0k5MzA6Ci0JCQlCb290TWFqb3JWZXJzaW9uCT0gQm9vdENvZGVJbWFnZVZlcnNpb25fR0VOMS5NYWpvclZlcnNpb247Ci0JCQlCb290TWlub3JWZXJzaW9uCT0gQm9vdENvZGVJbWFnZVZlcnNpb25fR0VOMS5NaW5vclZlcnNpb247Ci0JCQlCb290QnVpbGROdW1iZXIJCT0gY3B1X3RvX2xlMTYoQm9vdENvZGVJbWFnZVZlcnNpb25fR0VOMS5CdWlsZE51bWJlcik7Ci0JCQlCb290SW1hZ2UJCT0gJkJvb3RDb2RlSW1hZ2VfR0VOMVswXTsKLQkJCUJvb3RTaXplCQk9IHNpemVvZiggQm9vdENvZGVJbWFnZV9HRU4xICk7CisJCQlmd19uYW1lCT0gImVkZ2Vwb3J0L2Jvb3QuZnciOwogCQkJYnJlYWs7CiAKIAkJY2FzZSBFREdFX0RPV05MT0FEX0ZJTEVfODAyNTE6Ci0JCQlCb290TWFqb3JWZXJzaW9uCT0gQm9vdENvZGVJbWFnZVZlcnNpb25fR0VOMi5NYWpvclZlcnNpb247Ci0JCQlCb290TWlub3JWZXJzaW9uCT0gQm9vdENvZGVJbWFnZVZlcnNpb25fR0VOMi5NaW5vclZlcnNpb247Ci0JCQlCb290QnVpbGROdW1iZXIJCT0gY3B1X3RvX2xlMTYoQm9vdENvZGVJbWFnZVZlcnNpb25fR0VOMi5CdWlsZE51bWJlcik7Ci0JCQlCb290SW1hZ2UJCT0gJkJvb3RDb2RlSW1hZ2VfR0VOMlswXTsKLQkJCUJvb3RTaXplCQk9IHNpemVvZiggQm9vdENvZGVJbWFnZV9HRU4yICk7CisJCQlmd19uYW1lCT0gImVkZ2Vwb3J0L2Jvb3QyLmZ3IjsKIAkJCWJyZWFrOwogCiAJCWRlZmF1bHQ6CiAJCQlyZXR1cm47CiAJfQogCisJcmVzcG9uc2UgPSByZXF1ZXN0X2loZXhfZmlybXdhcmUoJmZ3LCBmd19uYW1lLAorCQkJCQkgJmVkZ2Vfc2VyaWFsLT5zZXJpYWwtPmRldi0+ZGV2KTsKKwlpZiAocmVzcG9uc2UpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICJGYWlsZWQgdG8gbG9hZCBpbWFnZSBcIiVzXCIgZXJyICVkXG4iLAorCQkgICAgICAgZndfbmFtZSwgcmVzcG9uc2UpOworCQlyZXR1cm47CisJfQorCisJcmVjID0gKGNvbnN0IHN0cnVjdCBpaGV4X2JpbnJlYyAqKWZ3LT5kYXRhOworCUJvb3RNYWpvclZlcnNpb24gPSByZWMtPmRhdGFbMF07CisJQm9vdE1pbm9yVmVyc2lvbiA9IHJlYy0+ZGF0YVsxXTsKKwlCb290QnVpbGROdW1iZXIgPSAocmVjLT5kYXRhWzJdIDw8IDgpIHwgcmVjLT5kYXRhWzNdOworCiAJLy8gQ2hlY2sgQm9vdCBJbWFnZSBWZXJzaW9uCiAJQm9vdEN1clZlciA9IChlZGdlX3NlcmlhbC0+Ym9vdF9kZXNjcmlwdG9yLk1ham9yVmVyc2lvbiA8PCAyNCkgKwogCQkgICAgIChlZGdlX3NlcmlhbC0+Ym9vdF9kZXNjcmlwdG9yLk1pbm9yVmVyc2lvbiA8PCAxNikgKwpAQCAtMzIxLDcgKzMwNyw3IEBACiAKIAlCb290TmV3VmVyID0gKEJvb3RNYWpvclZlcnNpb24gPDwgMjQpICsKIAkJICAgICAoQm9vdE1pbm9yVmVyc2lvbiA8PCAxNikgKwotCQkgICAgICBsZTE2X3RvX2NwdShCb290QnVpbGROdW1iZXIpOworCQkgICAgICBCb290QnVpbGROdW1iZXI7CiAKIAlkYmcoIkN1cnJlbnQgQm9vdCBJbWFnZSB2ZXJzaW9uICVkLiVkLiVkIiwKIAkgICAgZWRnZV9zZXJpYWwtPmJvb3RfZGVzY3JpcHRvci5NYWpvclZlcnNpb24sCkBAIC0zMzQsMzAgKzMyMCwzMCBAQAogCQkgICAgZWRnZV9zZXJpYWwtPmJvb3RfZGVzY3JpcHRvci5NYWpvclZlcnNpb24sCiAJCSAgICBlZGdlX3NlcmlhbC0+Ym9vdF9kZXNjcmlwdG9yLk1pbm9yVmVyc2lvbiwKIAkJICAgIGxlMTZfdG9fY3B1KGVkZ2Vfc2VyaWFsLT5ib290X2Rlc2NyaXB0b3IuQnVpbGROdW1iZXIpLAotCQkgICAgQm9vdE1ham9yVmVyc2lvbiwKLQkJICAgIEJvb3RNaW5vclZlcnNpb24sCi0JCSAgICBsZTE2X3RvX2NwdShCb290QnVpbGROdW1iZXIpKTsKLQorCQkgICAgQm9vdE1ham9yVmVyc2lvbiwgQm9vdE1pbm9yVmVyc2lvbiwgQm9vdEJ1aWxkTnVtYmVyKTsKIAogCQlkYmcoIkRvd25sb2FkaW5nIG5ldyBCb290IEltYWdlIik7CiAKLQkJZmlybXdhcmUgPSBCb290SW1hZ2U7Ci0KLQkJZm9yICg7OykgewotCQkJcmVjb3JkID0gKHN0cnVjdCBlZGdlX2Zpcm13YXJlX2ltYWdlX3JlY29yZCAqKWZpcm13YXJlOwotCQkJcmVzcG9uc2UgPSByb21fd3JpdGUgKGVkZ2Vfc2VyaWFsLT5zZXJpYWwsIGxlMTZfdG9fY3B1KHJlY29yZC0+RXh0QWRkciksIGxlMTZfdG9fY3B1KHJlY29yZC0+QWRkciksIGxlMTZfdG9fY3B1KHJlY29yZC0+TGVuKSwgJnJlY29yZC0+RGF0YVswXSk7CisJCWZvciAocmVjID0gaWhleF9uZXh0X2JpbnJlYyhyZWMpOyByZWM7CisJCSAgICAgcmVjID0gaWhleF9uZXh0X2JpbnJlYyhyZWMpKSB7CisJCQlCb290YWRkciA9IGJlMzJfdG9fY3B1KHJlYy0+YWRkcik7CisJCQlyZXNwb25zZSA9IHJvbV93cml0ZShlZGdlX3NlcmlhbC0+c2VyaWFsLAorCQkJCQkgICAgIEJvb3RhZGRyID4+IDE2LAorCQkJCQkgICAgIEJvb3RhZGRyICYgMHhGRkZGLAorCQkJCQkgICAgIGJlMTZfdG9fY3B1KHJlYy0+bGVuKSwKKwkJCQkJICAgICAmcmVjLT5kYXRhWzBdKTsKIAkJCWlmIChyZXNwb25zZSA8IDApIHsKLQkJCQlkZXZfZXJyKCZlZGdlX3NlcmlhbC0+c2VyaWFsLT5kZXYtPmRldiwgInJvbV93cml0ZSBmYWlsZWQgKCV4LCAleCwgJWQpXG4iLCBsZTE2X3RvX2NwdShyZWNvcmQtPkV4dEFkZHIpLCBsZTE2X3RvX2NwdShyZWNvcmQtPkFkZHIpLCBsZTE2X3RvX2NwdShyZWNvcmQtPkxlbikpOwotCQkJCWJyZWFrOwotCQkJfQotCQkJZmlybXdhcmUgKz0gc2l6ZW9mIChzdHJ1Y3QgZWRnZV9maXJtd2FyZV9pbWFnZV9yZWNvcmQpICsgbGUxNl90b19jcHUocmVjb3JkLT5MZW4pOwotCQkJaWYgKGZpcm13YXJlID49ICZCb290SW1hZ2VbQm9vdFNpemVdKSB7CisJCQkJZGV2X2VycigmZWRnZV9zZXJpYWwtPnNlcmlhbC0+ZGV2LT5kZXYsCisJCQkJCSJyb21fd3JpdGUgZmFpbGVkICgleCwgJXgsICVkKVxuIiwKKwkJCQkJQm9vdGFkZHIgPj4gMTYsIEJvb3RhZGRyICYgMHhGRkZGLAorCQkJCQliZTE2X3RvX2NwdShyZWMtPmxlbikpOwogCQkJCWJyZWFrOwogCQkJfQogCQl9CiAJfSBlbHNlIHsKIAkJZGJnKCJCb290IEltYWdlIC0tIGFscmVhZHkgdXAgdG8gZGF0ZSIpOwogCX0KKwlyZWxlYXNlX2Zpcm13YXJlKGZ3KTsKIH0KIAogCkBAIC00NDcsOSArNDMzLDYgQEAKIAlkYmcoIiAgQm9vdE1ham9yVmVyc2lvbiAgICAgICVkLiVkLiVkIiwgcHJvZHVjdF9pbmZvLT5Cb290TWFqb3JWZXJzaW9uLAogCSAgICBwcm9kdWN0X2luZm8tPkJvb3RNaW5vclZlcnNpb24sCiAJICAgIGxlMTZfdG9fY3B1KHByb2R1Y3RfaW5mby0+Qm9vdEJ1aWxkTnVtYmVyKSk7Ci0JZGJnKCIgIEZpcm13YXJlTWFqb3JWZXJzaW9uICAlZC4lZC4lZCIsIHByb2R1Y3RfaW5mby0+RmlybXdhcmVNYWpvclZlcnNpb24sCi0JICAgIHByb2R1Y3RfaW5mby0+RmlybXdhcmVNaW5vclZlcnNpb24sCi0JICAgIGxlMTZfdG9fY3B1KHByb2R1Y3RfaW5mby0+RmlybXdhcmVCdWlsZE51bWJlcikpOwogCWRiZygiICBNYW51ZmFjdHVyZURlc2NEYXRlICAgJWQvJWQvJWQiLCBwcm9kdWN0X2luZm8tPk1hbnVmYWN0dXJlRGVzY0RhdGVbMF0sCiAJICAgIHByb2R1Y3RfaW5mby0+TWFudWZhY3R1cmVEZXNjRGF0ZVsxXSwKIAkgICAgcHJvZHVjdF9pbmZvLT5NYW51ZmFjdHVyZURlc2NEYXRlWzJdKzE5MDApOwpAQCAtNDgwLDE0ICs0NjMsOCBAQAogCiAJLy8gY2hlY2sgaWYgdGhpcyBpcyAybmQgZ2VuZXJhdGlvbiBoYXJkd2FyZQogCWlmIChsZTE2X3RvX2NwdShlZGdlX3NlcmlhbC0+c2VyaWFsLT5kZXYtPmRlc2NyaXB0b3IuaWRQcm9kdWN0KSAmIElPTl9ERVZJQ0VfSURfODAyNTFfTkVUQ0hJUCkgewotCQlwcm9kdWN0X2luZm8tPkZpcm13YXJlTWFqb3JWZXJzaW9uCT0gT3BlcmF0aW9uYWxDb2RlSW1hZ2VWZXJzaW9uX0dFTjIuTWFqb3JWZXJzaW9uOwotCQlwcm9kdWN0X2luZm8tPkZpcm13YXJlTWlub3JWZXJzaW9uCT0gT3BlcmF0aW9uYWxDb2RlSW1hZ2VWZXJzaW9uX0dFTjIuTWlub3JWZXJzaW9uOwotCQlwcm9kdWN0X2luZm8tPkZpcm13YXJlQnVpbGROdW1iZXIJPSBjcHVfdG9fbGUxNihPcGVyYXRpb25hbENvZGVJbWFnZVZlcnNpb25fR0VOMi5CdWlsZE51bWJlcik7CiAJCXByb2R1Y3RfaW5mby0+aURvd25sb2FkRmlsZQkJPSBFREdFX0RPV05MT0FEX0ZJTEVfODAyNTE7CiAJfSBlbHNlIHsKLQkJcHJvZHVjdF9pbmZvLT5GaXJtd2FyZU1ham9yVmVyc2lvbgk9IE9wZXJhdGlvbmFsQ29kZUltYWdlVmVyc2lvbl9HRU4xLk1ham9yVmVyc2lvbjsKLQkJcHJvZHVjdF9pbmZvLT5GaXJtd2FyZU1pbm9yVmVyc2lvbgk9IE9wZXJhdGlvbmFsQ29kZUltYWdlVmVyc2lvbl9HRU4xLk1pbm9yVmVyc2lvbjsKLQkJcHJvZHVjdF9pbmZvLT5GaXJtd2FyZUJ1aWxkTnVtYmVyCT0gY3B1X3RvX2xlMTYoT3BlcmF0aW9uYWxDb2RlSW1hZ2VWZXJzaW9uX0dFTjEuQnVpbGROdW1iZXIpOwogCQlwcm9kdWN0X2luZm8tPmlEb3dubG9hZEZpbGUJCT0gRURHRV9ET1dOTE9BRF9GSUxFX0k5MzA7CiAJfQogCkBAIC0yMTMwLDcgKzIxMDcsNyBAQAogICoJSWYgc3VjY2Vzc2Z1bCByZXR1cm5zIHRoZSBudW1iZXIgb2YgYnl0ZXMgd3JpdHRlbiwgb3RoZXJ3aXNlIGl0IHJldHVybnMKICAqCWEgbmVnYXRpdmUgZXJyb3IgbnVtYmVyIG9mIHRoZSBwcm9ibGVtLgogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi1zdGF0aWMgaW50IHNyYW1fd3JpdGUgKHN0cnVjdCB1c2Jfc2VyaWFsICpzZXJpYWwsIF9fdTE2IGV4dEFkZHIsIF9fdTE2IGFkZHIsIF9fdTE2IGxlbmd0aCwgX191OCAqZGF0YSkKK3N0YXRpYyBpbnQgc3JhbV93cml0ZShzdHJ1Y3QgdXNiX3NlcmlhbCAqc2VyaWFsLCBfX3UxNiBleHRBZGRyLCBfX3UxNiBhZGRyLCBfX3UxNiBsZW5ndGgsIGNvbnN0IF9fdTggKmRhdGEpCiB7CiAJaW50IHJlc3VsdDsKIAlfX3UxNiBjdXJyZW50X2xlbmd0aDsKQEAgLTIxNzUsNyArMjE1Miw3IEBACiAgKglJZiBzdWNjZXNzZnVsIHJldHVybnMgdGhlIG51bWJlciBvZiBieXRlcyB3cml0dGVuLCBvdGhlcndpc2UgaXQgcmV0dXJucwogICoJYSBuZWdhdGl2ZSBlcnJvciBudW1iZXIgb2YgdGhlIHByb2JsZW0uCiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLXN0YXRpYyBpbnQgcm9tX3dyaXRlIChzdHJ1Y3QgdXNiX3NlcmlhbCAqc2VyaWFsLCBfX3UxNiBleHRBZGRyLCBfX3UxNiBhZGRyLCBfX3UxNiBsZW5ndGgsIF9fdTggKmRhdGEpCitzdGF0aWMgaW50IHJvbV93cml0ZShzdHJ1Y3QgdXNiX3NlcmlhbCAqc2VyaWFsLCBfX3UxNiBleHRBZGRyLCBfX3UxNiBhZGRyLCBfX3UxNiBsZW5ndGgsIGNvbnN0IF9fdTggKmRhdGEpCiB7CiAJaW50IHJlc3VsdDsKIAlfX3UxNiBjdXJyZW50X2xlbmd0aDsKQEAgLTI3NjEsMzIgKzI3MzgsMjMgQEAKICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogc3RhdGljIHZvaWQgbG9hZF9hcHBsaWNhdGlvbl9maXJtd2FyZSAoc3RydWN0IGVkZ2Vwb3J0X3NlcmlhbCAqZWRnZV9zZXJpYWwpCiB7Ci0Jc3RydWN0IGVkZ2VfZmlybXdhcmVfaW1hZ2VfcmVjb3JkICpyZWNvcmQ7Ci0JdW5zaWduZWQgY2hhciAqZmlybXdhcmU7Ci0JdW5zaWduZWQgY2hhciAqRmlybXdhcmVJbWFnZTsKLQlpbnQgSW1hZ2VTaXplOworCWNvbnN0IHN0cnVjdCBpaGV4X2JpbnJlYyAqcmVjOworCWNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqZnc7CisJY29uc3QgY2hhciAqZndfbmFtZTsKKwljb25zdCBjaGFyICpmd19pbmZvOwogCWludCByZXNwb25zZTsKLQorCV9fdTMyIE9wZXJhZGRyOworCV9fdTE2IGJ1aWxkOwogCiAJc3dpdGNoIChlZGdlX3NlcmlhbC0+cHJvZHVjdF9pbmZvLmlEb3dubG9hZEZpbGUpIHsKIAkJY2FzZSBFREdFX0RPV05MT0FEX0ZJTEVfSTkzMDoKLQkJCWRiZygiZG93bmxvYWRpbmcgZmlybXdhcmUgdmVyc2lvbiAoOTMwKSAlZC4lZC4lZCIsIAotCQkJICAgIE9wZXJhdGlvbmFsQ29kZUltYWdlVmVyc2lvbl9HRU4xLk1ham9yVmVyc2lvbiwgCi0JCQkgICAgT3BlcmF0aW9uYWxDb2RlSW1hZ2VWZXJzaW9uX0dFTjEuTWlub3JWZXJzaW9uLCAKLQkJCSAgICBPcGVyYXRpb25hbENvZGVJbWFnZVZlcnNpb25fR0VOMS5CdWlsZE51bWJlcik7Ci0JCQlmaXJtd2FyZSA9ICZPcGVyYXRpb25hbENvZGVJbWFnZV9HRU4xWzBdOwotCQkJRmlybXdhcmVJbWFnZSA9ICZPcGVyYXRpb25hbENvZGVJbWFnZV9HRU4xWzBdOwotCQkJSW1hZ2VTaXplID0gc2l6ZW9mKE9wZXJhdGlvbmFsQ29kZUltYWdlX0dFTjEpOworCQkJZndfaW5mbyA9ICJkb3dubG9hZGluZyBmaXJtd2FyZSB2ZXJzaW9uICg5MzApIjsKKwkJCWZ3X25hbWUJPSAiZWRnZXBvcnQvZG93bi5mdyI7CiAJCQlicmVhazsKIAogCQljYXNlIEVER0VfRE9XTkxPQURfRklMRV84MDI1MToKLQkJCWRiZygiZG93bmxvYWRpbmcgZmlybXdhcmUgdmVyc2lvbiAoODAyNTEpICVkLiVkLiVkIiwgCi0JCQkgICAgT3BlcmF0aW9uYWxDb2RlSW1hZ2VWZXJzaW9uX0dFTjIuTWFqb3JWZXJzaW9uLCAKLQkJCSAgICBPcGVyYXRpb25hbENvZGVJbWFnZVZlcnNpb25fR0VOMi5NaW5vclZlcnNpb24sIAotCQkJICAgIE9wZXJhdGlvbmFsQ29kZUltYWdlVmVyc2lvbl9HRU4yLkJ1aWxkTnVtYmVyKTsKLQkJCWZpcm13YXJlID0gJk9wZXJhdGlvbmFsQ29kZUltYWdlX0dFTjJbMF07Ci0JCQlGaXJtd2FyZUltYWdlID0gJk9wZXJhdGlvbmFsQ29kZUltYWdlX0dFTjJbMF07Ci0JCQlJbWFnZVNpemUgPSBzaXplb2YoT3BlcmF0aW9uYWxDb2RlSW1hZ2VfR0VOMik7CisJCQlmd19pbmZvID0gImRvd25sb2FkaW5nIGZpcm13YXJlIHZlcnNpb24gKDgwMjUxKSI7CisJCQlmd19uYW1lCT0gImVkZ2Vwb3J0L2Rvd24yLmZ3IjsKIAkJCWJyZWFrOwogCiAJCWNhc2UgRURHRV9ET1dOTE9BRF9GSUxFX05PTkU6CkBAIC0yNzk3LDE2ICsyNzY1LDM2IEBACiAJCQlyZXR1cm47CiAJfQogCisJcmVzcG9uc2UgPSByZXF1ZXN0X2loZXhfZmlybXdhcmUoJmZ3LCBmd19uYW1lLAorCQkJCSAgICAmZWRnZV9zZXJpYWwtPnNlcmlhbC0+ZGV2LT5kZXYpOworCWlmIChyZXNwb25zZSkgeworCQlwcmludGsoS0VSTl9FUlIgIkZhaWxlZCB0byBsb2FkIGltYWdlIFwiJXNcIiBlcnIgJWRcbiIsCisJCSAgICAgICBmd19uYW1lLCByZXNwb25zZSk7CisJCXJldHVybjsKKwl9CiAKLQlmb3IgKDs7KSB7Ci0JCXJlY29yZCA9IChzdHJ1Y3QgZWRnZV9maXJtd2FyZV9pbWFnZV9yZWNvcmQgKilmaXJtd2FyZTsKLQkJcmVzcG9uc2UgPSBzcmFtX3dyaXRlIChlZGdlX3NlcmlhbC0+c2VyaWFsLCBsZTE2X3RvX2NwdShyZWNvcmQtPkV4dEFkZHIpLCBsZTE2X3RvX2NwdShyZWNvcmQtPkFkZHIpLCBsZTE2X3RvX2NwdShyZWNvcmQtPkxlbiksICZyZWNvcmQtPkRhdGFbMF0pOworCXJlYyA9IChjb25zdCBzdHJ1Y3QgaWhleF9iaW5yZWMgKilmdy0+ZGF0YTsKKwlidWlsZCA9IChyZWMtPmRhdGFbMl0gPDwgOCkgfCByZWMtPmRhdGFbM107CisKKwlkYmcoIiVzICVkLiVkLiVkIiwgZndfaW5mbywgcmVjLT5kYXRhWzBdLCByZWMtPmRhdGFbMV0sIGJ1aWxkKTsKKworCWVkZ2Vfc2VyaWFsLT5wcm9kdWN0X2luZm8uRmlybXdhcmVNYWpvclZlcnNpb24gPSBmdy0+ZGF0YVswXTsKKwllZGdlX3NlcmlhbC0+cHJvZHVjdF9pbmZvLkZpcm13YXJlTWlub3JWZXJzaW9uID0gZnctPmRhdGFbMV07CisJZWRnZV9zZXJpYWwtPnByb2R1Y3RfaW5mby5GaXJtd2FyZUJ1aWxkTnVtYmVyID0gY3B1X3RvX2xlMTYoYnVpbGQpOworCisJZm9yIChyZWMgPSBpaGV4X25leHRfYmlucmVjKHJlYyk7IHJlYzsKKwkgICAgIHJlYyA9IGloZXhfbmV4dF9iaW5yZWMocmVjKSkgeworCQlPcGVyYWRkciA9IGJlMzJfdG9fY3B1KHJlYy0+YWRkcik7CisJCXJlc3BvbnNlID0gc3JhbV93cml0ZShlZGdlX3NlcmlhbC0+c2VyaWFsLAorCQkJCSAgICAgT3BlcmFkZHIgPj4gMTYsCisJCQkJICAgICBPcGVyYWRkciAmIDB4RkZGRiwKKwkJCQkgICAgIGJlMTZfdG9fY3B1KHJlYy0+bGVuKSwKKwkJCQkgICAgICZyZWMtPmRhdGFbMF0pOwogCQlpZiAocmVzcG9uc2UgPCAwKSB7Ci0JCQlkZXZfZXJyKCZlZGdlX3NlcmlhbC0+c2VyaWFsLT5kZXYtPmRldiwgInNyYW1fd3JpdGUgZmFpbGVkICgleCwgJXgsICVkKVxuIiwgbGUxNl90b19jcHUocmVjb3JkLT5FeHRBZGRyKSwgbGUxNl90b19jcHUocmVjb3JkLT5BZGRyKSwgbGUxNl90b19jcHUocmVjb3JkLT5MZW4pKTsKLQkJCWJyZWFrOwotCQl9Ci0JCWZpcm13YXJlICs9IHNpemVvZiAoc3RydWN0IGVkZ2VfZmlybXdhcmVfaW1hZ2VfcmVjb3JkKSArIGxlMTZfdG9fY3B1KHJlY29yZC0+TGVuKTsKLQkJaWYgKGZpcm13YXJlID49ICZGaXJtd2FyZUltYWdlW0ltYWdlU2l6ZV0pIHsKKwkJCWRldl9lcnIoJmVkZ2Vfc2VyaWFsLT5zZXJpYWwtPmRldi0+ZGV2LAorCQkJCSJzcmFtX3dyaXRlIGZhaWxlZCAoJXgsICV4LCAlZClcbiIsCisJCQkJT3BlcmFkZHIgPj4gMTYsIE9wZXJhZGRyICYgMHhGRkZGLAorCQkJCWJlMTZfdG9fY3B1KHJlYy0+bGVuKSk7CiAJCQlicmVhazsKIAkJfQogCX0KQEAgLTI4MTcsNiArMjgwNSw3IEBACiAJCQkJICAgIFVTQl9SRVFVRVNUX0lPTl9FWEVDX0RMX0NPREUsIAogCQkJCSAgICAweDQwLCAweDQwMDAsIDB4MDAwMSwgTlVMTCwgMCwgMzAwMCk7CiAKKwlyZWxlYXNlX2Zpcm13YXJlKGZ3KTsKIAlyZXR1cm47CiB9CiAKQEAgLTI5MDMsNiArMjg5MiwxMCBAQAogLy8JCWRiZygic2V0X2NvbmZpZ3VyYXRpb24gMSIpOwogLy8JCXVzYl9zZXRfY29uZmlndXJhdGlvbiAoZGV2LCAxKTsKIAl9CisJZGJnKCIgIEZpcm13YXJlTWFqb3JWZXJzaW9uICAlZC4lZC4lZCIsCisJICAgIGVkZ2Vfc2VyaWFsLT5wcm9kdWN0X2luZm8uRmlybXdhcmVNYWpvclZlcnNpb24sCisJICAgIGVkZ2Vfc2VyaWFsLT5wcm9kdWN0X2luZm8uRmlybXdhcmVNaW5vclZlcnNpb24sCisJICAgIGxlMTZfdG9fY3B1KGVkZ2Vfc2VyaWFsLT5wcm9kdWN0X2luZm8uRmlybXdhcmVCdWlsZE51bWJlcikpOwogCiAJLyogd2Ugc2V0IHVwIHRoZSBwb2ludGVycyB0byB0aGUgZW5kcG9pbnRzIGluIHRoZSBlZGdlX29wZW4gZnVuY3Rpb24sIAogCSAqIGFzIHRoZSBzdHJ1Y3R1cmVzIGFyZW4ndCBjcmVhdGVkIHlldC4gKi8KQEAgLTMxMTUsNiArMzEwOCwxMCBAQAogTU9EVUxFX0FVVEhPUiggRFJJVkVSX0FVVEhPUiApOwogTU9EVUxFX0RFU0NSSVBUSU9OKCBEUklWRVJfREVTQyApOwogTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOworTU9EVUxFX0ZJUk1XQVJFKCJlZGdlcG9ydC9ib290LmZ3Iik7CitNT0RVTEVfRklSTVdBUkUoImVkZ2Vwb3J0L2Jvb3QyLmZ3Iik7CitNT0RVTEVfRklSTVdBUkUoImVkZ2Vwb3J0L2Rvd24uZnciKTsKK01PRFVMRV9GSVJNV0FSRSgiZWRnZXBvcnQvZG93bjIuZnciKTsKIAogbW9kdWxlX3BhcmFtKGRlYnVnLCBib29sLCBTX0lSVUdPIHwgU19JV1VTUik7CiBNT0RVTEVfUEFSTV9ERVNDKGRlYnVnLCAiRGVidWcgZW5hYmxlZCBvciBub3QiKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL3NlcmlhbC9pb19md19ib290LmggYi9kcml2ZXJzL3VzYi9zZXJpYWwvaW9fZndfYm9vdC5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwOTlmYWZhLi4wMDAwMDAwCi0tLSBhL2RyaXZlcnMvdXNiL3NlcmlhbC9pb19md19ib290LmgKKysrIC9kZXYvbnVsbApAQCAtMSw1NTYgKzAsMCBAQAotLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotLy8qIEVkZ2Vwb3J0LzQgQmluYXJ5IEltYWdlCi0vLyogR2VuZXJhdGVkIGJ5IEhFWDJDIHYxLjA2Ci0vLyogQ29weXJpZ2h0IChDKSAxOTk4IEluc2lkZSBPdXQgTmV0d29ya3MsIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0vLyoJVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKLS8vKglpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotLy8qCXRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCi0vLyoJKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLS8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLQotCi0vL0ltYWdlIHN0cnVjdHVyZSBkZWZpbml0aW9uCi0jaWYgIWRlZmluZWQoREVGSU5FRF9FREdFX0ZJUk1XQVJFX0lNQUdFX1JFQ09SRCkKLSNkZWZpbmUgREVGSU5FRF9FREdFX0ZJUk1XQVJFX0lNQUdFX1JFQ09SRAotCXN0cnVjdCBlZGdlX2Zpcm13YXJlX2ltYWdlX3JlY29yZCB7Ci0JCV9fbGUxNiBFeHRBZGRyOwotCQlfX2xlMTYgQWRkcjsKLQkJX19sZTE2IExlbjsKLQkJdW5zaWduZWQgY2hhciAgRGF0YVswXTsKLQl9IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKTsKLQotCXN0cnVjdCBlZGdlX2Zpcm13YXJlX3ZlcnNpb25faW5mbyB7Ci0JCXVuc2lnbmVkIGNoYXIJIE1ham9yVmVyc2lvbjsKLQkJdW5zaWduZWQgY2hhciAgTWlub3JWZXJzaW9uOwotCQl1bnNpZ25lZCBzaG9ydCBCdWlsZE51bWJlcjsKLQl9OwotCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKElNQUdFX0FSUkFZX05BTUUpCi0jZGVmaW5lIElNQUdFX0FSUkFZX05BTUUJCUZpcm13YXJlSW1hZ2UKLSNkZWZpbmUgSU1BR0VfVkVSU0lPTl9OQU1FCUZpcm13YXJlSW1hZ2VWZXJzaW9uCi0jZW5kaWYKLQotc3RhdGljIHVuc2lnbmVkIGNoYXIgSU1BR0VfQVJSQVlfTkFNRVtdID0gewotCi0vLyBTZWdtZW50ICMxLCBTdGFydCBBZGRyZXNzIDAwZmYwMDAwLCBMZW5ndGggNgotMHhmZiwweDAwLDB4MDAsMHgwMCwweDA2LDB4MDAsCi0gICAgMHgwMiwgMHgwMCwgMHg4MCwgMHgwMiwgMHgwMCwgMHgwMywgCi0KLS8vIFNlZ21lbnQgIzIsIFN0YXJ0IEFkZHJlc3MgMDBmZjAwMGIsIExlbmd0aCAzCi0weGZmLDB4MDAsMHgwYiwweDAwLDB4MDMsMHgwMCwKLSAgICAweDAyLCAweDAwLCAweDBiLCAKLQotLy8gU2VnbWVudCAjMywgU3RhcnQgQWRkcmVzcyAwMGZmMDAxMywgTGVuZ3RoIDMKLTB4ZmYsMHgwMCwweDEzLDB4MDAsMHgwMywweDAwLAotICAgIDB4MDIsIDB4MDEsIDB4YjgsIAotCi0vLyBTZWdtZW50ICM0LCBTdGFydCBBZGRyZXNzIDAwZmYwMDFiLCBMZW5ndGggMwotMHhmZiwweDAwLDB4MWIsMHgwMCwweDAzLDB4MDAsCi0gICAgMHgwMiwgMHgwMCwgMHgxYiwgCi0KLS8vIFNlZ21lbnQgIzUsIFN0YXJ0IEFkZHJlc3MgMDBmZjAwMjMsIExlbmd0aCAzCi0weGZmLDB4MDAsMHgyMywweDAwLDB4MDMsMHgwMCwKLSAgICAweDAyLCAweDAwLCAweDIzLCAKLQotLy8gU2VnbWVudCAjNiwgU3RhcnQgQWRkcmVzcyAwMGZmMDAyYiwgTGVuZ3RoIDMKLTB4ZmYsMHgwMCwweDJiLDB4MDAsMHgwMywweDAwLAotICAgIDB4MDIsIDB4MDAsIDB4MmIsIAotCi0vLyBTZWdtZW50ICM3LCBTdGFydCBBZGRyZXNzIDAwZmYwMDMzLCBMZW5ndGggMwotMHhmZiwweDAwLDB4MzMsMHgwMCwweDAzLDB4MDAsCi0gICAgMHgwMiwgMHgwMCwgMHgzMywgCi0KLS8vIFNlZ21lbnQgIzgsIFN0YXJ0IEFkZHJlc3MgMDBmZjAwM2IsIExlbmd0aCAzCi0weGZmLDB4MDAsMHgzYiwweDAwLDB4MDMsMHgwMCwKLSAgICAweDAyLCAweDAwLCAweDNiLCAKLQotLy8gU2VnbWVudCAjOSwgU3RhcnQgQWRkcmVzcyAwMGZmMDA0MywgTGVuZ3RoIDMKLTB4ZmYsMHgwMCwweDQzLDB4MDAsMHgwMywweDAwLAotICAgIDB4MDIsIDB4MDEsIDB4YmQsIAotCi0vLyBTZWdtZW50ICMxMCwgU3RhcnQgQWRkcmVzcyAwMGZmMDA0YiwgTGVuZ3RoIDMKLTB4ZmYsMHgwMCwweDRiLDB4MDAsMHgwMywweDAwLAotICAgIDB4MDIsIDB4MDEsIDB4ZDAsIAotCi0vLyBTZWdtZW50ICMxMSwgU3RhcnQgQWRkcmVzcyAwMGZmMDA1MywgTGVuZ3RoIDMKLTB4ZmYsMHgwMCwweDUzLDB4MDAsMHgwMywweDAwLAotICAgIDB4MDIsIDB4MDEsIDB4MjEsIAotCi0vLyBTZWdtZW50ICMxMiwgU3RhcnQgQWRkcmVzcyAwMGZmMDA3YiwgTGVuZ3RoIDMKLTB4ZmYsMHgwMCwweDdiLDB4MDAsMHgwMywweDAwLAotICAgIDB4MDIsIDB4MDAsIDB4N2IsIAotCi0vLyBTZWdtZW50ICMxMywgU3RhcnQgQWRkcmVzcyAwMGZmMDA4MCwgTGVuZ3RoIDM1OAotMHhmZiwweDAwLDB4ODAsMHgwMCwweDY2LDB4MDEsCi0gICAgMHg3ZSwgMHhiMCwgMHgwMCwgMHg3YSwgMHhiMywgMHgzZiwgMHhmMiwgMHg3ZSwgMHhmOCwgMHgwMCwgMHgyMywgMHg3ZSwgMHgwMCwgMHgwMSwgMHg3ZSwgMHgxMCwgCi0gICAgMHgwMCwgMHgxMiwgMHgwNywgMHg1ZiwgMHg2OSwgMHgyMCwgMHgwMCwgMHgwYSwgMHhiZSwgMHgyNCwgMHgwMCwgMHgwMCwgMHg3OCwgMHgwNSwgMHg3NSwgMHg5MCwgCi0gICAgMHgwZCwgMHg4MCwgMHgwMywgMHg3NSwgMHg5MCwgMHgxZCwgMHhkMiwgMHhiNSwgMHg3ZSwgMHgwMCwgMHgwMCwgMHhhNSwgMHhkOCwgMHhmZCwgMHg3NSwgMHhhOCwgCi0gICAgMHgwMCwgMHg3NSwgMHhiMSwgMHgwMCwgMHhhOSwgMHhkNSwgMHg4NywgMHhjYSwgMHgyOSwgMHgxMiwgMHgwOSwgMHhjYywgMHgxMiwgMHgwOSwgMHhhMCwgMHhmNSwgCi0gICAgMHgwOSwgMHg3YSwgMHhhMSwgMHgyMCwgMHgxMiwgMHgwMSwgMHhlNiwgMHhkYSwgMHgyOSwgMHhhOSwgMHhkMCwgMHhjNywgMHg3ZSwgMHgwMCwgMHgwNSwgMHg3YSwgCi0gICAgMHgwMSwgMHhmMSwgMHg3NSwgMHhlMSwgMHgxMCwgMHhhOSwgMHhkNywgMHhmNCwgMHhhOSwgMHhkNywgMHhlNCwgMHhhNSwgMHhkOCwgMHhmMSwgMHg3NSwgMHhmMSwgCi0gICAgMHgwMCwgMHg3NSwgMHhlMSwgMHgzZiwgMHg3NSwgMHhhMiwgMHgwMywgMHg3NSwgMHhhMywgMHgwMCwgMHg3NSwgMHhjMCwgMHgwMCwgMHg3NSwgMHhjMSwgMHgwMCwgCi0gICAgMHhhOSwgMHhkMSwgMHhiMSwgMHhhOSwgMHhkMCwgMHhiMSwgMHhhOSwgMHhkNSwgMHhkMywgMHhkMiwgMHhhZiwgMHhlNCwgMHg3ZSwgMHgwNCwgMHgyOCwgMHgwMCwgCi0gICAgMHg4ZCwgMHhlZiwgMHgxYiwgMHgwNCwgMHg3OCwgMHhmYSwgMHgwNCwgMHhhOSwgMHgzNCwgMHhkMywgMHgwMywgMHgzMCwgMHhlMCwgMHhlZSwgMHhiZSwgMHgyNCwgCi0gICAgMHgwMCwgMHgwMCwgMHg3OCwgMHgwNSwgMHg2MywgMHg5MCwgMHgzMCwgMHg4MCwgMHhlMywgMHhiMiwgMHg5NSwgMHg4MCwgMHhkZiwgMHhiZSwgMHhiMCwgMHgwMiwgCi0gICAgMHgyMiwgMHhjMCwgMHhkMCwgMHhhOSwgMHgyMCwgMHhkZiwgMHgwZiwgMHhhOSwgMHgzMSwgMHhkZiwgMHgwMywgMHgwMiwgMHgwMSwgMHhiNSwgMHg3NSwgMHgwOCwgCi0gICAgMHgwMSwgMHgxMiwgMHgwOCwgMHgzMywgMHg4MCwgMHhmZSwgMHg3NSwgMHgwOCwgMHhmZSwgMHgxMiwgMHgwOCwgMHgzMywgMHg3NSwgMHhhOCwgMHgwMCwgMHg3ZSwgCi0gICAgMHhiMywgMHgzZiwgMHhmMiwgMHgzMCwgMHhlMCwgMHg0YiwgMHgzMCwgMHgwMSwgMHg0NiwgMHhjMiwgMHg5MiwgMHg3ZSwgMHgyNCwgMHg4MCwgMHgwMCwgMHg3ZSwgCi0gICAgMHgxMSwgMHgwOSwgMHg3NCwgMHgwOCwgMHgxOSwgMHhiMiwgMHgwMCwgMHgxMCwgMHg3NCwgMHgwZSwgMHgxOSwgMHhiMiwgMHgwMCwgMHgwNCwgMHgyZSwgMHgyNCwgCi0gICAgMHgwMSwgMHgwMCwgMHhhNSwgMHhkOSwgMHhlZCwgMHg3ZSwgMHgyNCwgMHg4MCwgMHgwMCwgMHg3ZSwgMHgxMSwgMHgwOSwgMHhlNCwgMHhkNSwgMHhlMCwgMHhmZCwgCi0gICAgMHgwOSwgMHhiMiwgMHgwMCwgMHgwOCwgMHgyMCwgMHhlMCwgMHgwYSwgMHgwOSwgMHhiMiwgMHgwMCwgMHgwMCwgMHgwOSwgMHhiMiwgMHgwMCwgMHgxOCwgMHg4MCwgCi0gICAgMHhlYiwgMHgyZSwgMHgyNCwgMHgwMSwgMHgwMCwgMHhhNSwgMHhkOSwgMHhlNCwgMHg0MywgMHg5MCwgMHgzMCwgMHhkMiwgMHhhYSwgMHg4MCwgMHgwNSwgMHhkMiwgCi0gICAgMHhhYSwgMHg0MywgMHg5MCwgMHgzNCwgMHhkMiwgMHhhZiwgMHhhOSwgMHhkMSwgMHg4NywgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHhhOSwgMHgxMSwgCi0gICAgMHhkZiwgMHgwMywgMHhhOSwgMHhkMiwgMHhkZiwgMHg3NSwgMHgwOCwgMHhmZiwgMHgxMiwgMHgwOCwgMHgzMywgMHhjMCwgMHhkMSwgMHhjYSwgMHgwMiwgMHhmZiwgCi0gICAgMHhjYSwgMHgwNiwgMHg4MywgMHgwMCwgMHgzMiwgMHhkMCwgMHhkMCwgMHgzMiwgMHhjMiwgMHg4YiwgMHhjMiwgMHhhYSwgMHgzMiwgMHg3NSwgMHgwOCwgMHgwOCwgCi0gICAgMHgxMiwgMHgwOCwgMHgzMywgMHhhOSwgMHhjMCwgMHhiMSwgMHhhOSwgMHhjNSwgMHhkMywgMHhhOSwgMHhjNiwgMHhkMywgMHhhOSwgMHhkMiwgMHhiMSwgMHgzMiwgCi0gICAgMHhjYSwgMHhiOCwgMHg3NSwgMHgwOCwgMHgwMiwgMHgxMiwgMHgwOCwgMHgzMywgMHhlNSwgMHhjMCwgMHg1NCwgMHgwMywgMHg2OCwgMHgwNSwgMHgxMiwgMHgwMSwgCi0gICAgMHhlZSwgMHg4MCwgMHhmNSwgMHhkYSwgMHhiOCwgMHgzMiwgCi0KLS8vIFNlZ21lbnQgIzE0LCBTdGFydCBBZGRyZXNzIDAwZmYxYmNhLCBMZW5ndGggMQotMHhmZiwweDAwLDB4Y2EsMHgxYiwweDAxLDB4MDAsCi0gICAgMHgwMCwgCi0KLS8vIFNlZ21lbnQgIzE1LCBTdGFydCBBZGRyZXNzIDAwZmYwMWU2LCBMZW5ndGggMTYxMwotMHhmZiwweDAwLDB4ZTYsMHgwMSwweDRkLDB4MDYsCi0gICAgMHhlNCwgMHg3YSwgMHhiMywgMHgzZiwgMHhmMSwgMHgwMiwgMHgwMiwgMHg2MywgMHhjYSwgMHgwYiwgMHhjYSwgMHgxYiwgMHhjYSwgMHgyYiwgMHhjYSwgMHgzYiwgCi0gICAgMHhjYSwgMHg0YiwgMHhjYSwgMHg1YiwgMHhjYSwgMHg2YiwgMHhjYSwgMHg3YiwgMHhjYSwgMHhlYiwgMHhjMCwgMHhmMSwgMHg3ZSwgMHhiMywgMHgwMSwgMHgyYiwgCi0gICAgMHhiNCwgMHgwMCwgMHgwMiwgMHg4MCwgMHgxOSwgMHhiNCwgMHgwMSwgMHgxNiwgMHgzMCwgMHhjMCwgMHgwOCwgMHg3NSwgMHhmMSwgMHgwMCwgMHgxMiwgMHgwMiwgCi0gICAgMHg0ZCwgMHg4MCwgMHgxZiwgMHgzMCwgMHhjMSwgMHgxYywgMHg3NSwgMHhmMSwgMHgwMCwgMHgxMiwgMHgwMiwgMHhkZSwgMHg4MCwgMHgxNCwgMHgzMCwgMHhjMSwgCi0gICAgMHgwOCwgMHg3NSwgMHhmMSwgMHgwMCwgMHgxMiwgMHgwMiwgMHhkZSwgMHg4MCwgMHgwOSwgMHgzMCwgMHhjMCwgMHgwNiwgMHg3NSwgMHhmMSwgMHgwMCwgMHgxMiwgCi0gICAgMHgwMiwgMHg0ZCwgMHhkMCwgMHhmMSwgMHhkYSwgMHhlYiwgMHhkYSwgMHg3YiwgMHhkYSwgMHg2YiwgMHhkYSwgMHg1YiwgMHhkYSwgMHg0YiwgMHhkYSwgMHgzYiwgCi0gICAgMHhkYSwgMHgyYiwgMHhkYSwgMHgxYiwgMHhkYSwgMHgwYiwgMHgyMiwgMHhjMiwgMHhjMCwgMHg3ZSwgMHhiMywgMHgwMSwgMHgyYiwgMHhiNCwgMHgwMiwgMHgwNywgCi0gICAgMHgxMiwgMHgwMiwgMHg2ZiwgMHgwMiwgMHgwMiwgMHg2MywgMHgyMiwgMHhiNCwgMHgwMSwgMHhmYywgMHgwMiwgMHgwMiwgMHhhOSwgMHg3ZSwgMHgwMCwgMHgwMCwgCi0gICAgMHg3YSwgMHgwMywgMHgwMSwgMHgyYiwgMHg3YSwgMHgwMywgMHgwMSwgMHgyYywgMHgyMiwgMHg3ZSwgMHhiMywgMHgwMSwgMHgyMywgMHg1NCwgMHg2MCwgMHg2MCwgCi0gICAgMHgwNSwgMHhiNCwgMHg0MCwgMHgxNSwgMHg4MCwgMHgxMywgMHg3ZSwgMHhiMywgMHgwMSwgMHgyNCwgMHhiNCwgMHgwNSwgMHgwYywgMHg3NSwgMHgwOCwgMHg3MSwgCi0gICAgMHgxMiwgMHgwOCwgMHgzMywgMHg3ZSwgMHhiMywgMHgwMSwgMHgyNiwgMHhmNSwgMHg4ZiwgMHgyMiwgMHg3NSwgMHhmNiwgMHgwMCwgMHgyMiwgMHhiZSwgMHg1NywgCi0gICAgMHgwMSwgMHgyOSwgMHgyOCwgMHgwNCwgMHg3ZSwgMHg1NywgMHgwMSwgMHgyOSwgMHg3YSwgMHgwZiwgMHgwMSwgMHgyZSwgMHg3YSwgMHg1NywgMHgwMSwgMHgzMiwgCi0gICAgMHgwMiwgMHgwMiwgMHhhOSwgMHg3ZSwgMHhlZiwgMHgwMSwgMHgyZSwgMHg3ZSwgMHhmNywgMHgwMSwgMHgzMiwgMHg3ZSwgMHgwNywgMHgwMSwgMHgzMiwgMHg0ZCwgCi0gICAgMHgwMCwgMHg2OCwgMHgyMSwgMHg3ZSwgMHgwMCwgMHgwMCwgMHg3ZSwgMHhlYiwgMHhiMCwgMHhmNSwgMHhmMywgMHhhMywgMHhhNSwgMHgwOCwgMHgxYiwgMHhmNCwgCi0gICAgMHg2OCwgMHgwNCwgMHhhNSwgMHhiOCwgMHgwOCwgMHhmMCwgMHg3YSwgMHhlZiwgMHgwMSwgMHgyZSwgMHg3YSwgMHhmNywgMHgwMSwgMHgzMiwgMHg3NSwgMHgwOCwgCi0gICAgMHgwNiwgMHgxMiwgMHgwOCwgMHgzMywgMHg3YSwgMHgwMSwgMHhmNiwgMHgyMiwgMHhjMiwgMHhjMSwgMHg3NSwgMHgwOCwgMHgwMywgMHgxMiwgMHgwOCwgMHgzMywgCi0gICAgMHhhOSwgMHgzNiwgMHhlMiwgMHgxNiwgMHhlNSwgMHhmNSwgMHg1NCwgMHhjMCwgMHg2OCwgMHgwNywgMHhhOSwgMHhkNywgMHhmNCwgMHhhOSwgMHgyNywgMHhmNCwgCi0gICAgMHhmYywgMHg1MywgMHhlMSwgMHgzZiwgMHg0MywgMHhmMiwgMHg4OCwgMHgwMiwgMHgwMywgMHg1NSwgMHg3ZSwgMHhiMywgMHgwMSwgMHgyYywgMHhiNCwgMHgwMiwgCi0gICAgMHgwZiwgMHhhOSwgMHhkNCwgMHhlNCwgMHg3ZSwgMHhiMCwgMHgwMCwgMHg3YSwgMHhiMywgMHgwMSwgMHgyYywgMHg3YSwgMHhiMywgMHgwMSwgMHgyYiwgMHgyMiwgCi0gICAgMHhiNCwgMHgwMSwgMHgzOSwgMHg3ZSwgMHgyMSwgMHhlNiwgMHg3YywgMHgzMiwgMHg3ZSwgMHgxMywgMHgwMSwgMHgyZCwgMHgyYywgMHgyMSwgMHg3YSwgMHgyMywgCi0gICAgMHgwMSwgMHgyZCwgMHg3ZSwgMHgwMCwgMHgwMCwgMHgyZSwgMHgwNCwgMHgwMSwgMHgzNCwgMHhlNSwgMHhlMywgMHg3YSwgMHgwOSwgMHhiMCwgMHgwYiwgMHgwNCwgCi0gICAgMHhhNSwgMHhkYiwgMHhmNiwgMHhhOSwgMHhkNCwgMHhlNCwgMHg3NSwgMHgwOCwgMHg3MCwgMHgxMiwgMHgwOCwgMHgzMywgMHg3ZSwgMHhiMywgMHgwMSwgMHgyZCwgCi0gICAgMHg3ZSwgMHhhMywgMHgwMSwgMHgyYSwgMHhiYywgMHhhYiwgMHg3OCwgMHgwMywgMHgxMiwgMHgwMywgMHhlYywgMHgyMiwgMHgwMiwgMHgwNywgMHg1NSwgMHhlNSwgCi0gICAgMHhlNiwgMHhiNCwgMHgwOCwgMHg2NSwgMHhhOSwgMHhjNCwgMHhlMiwgMHg3ZSwgMHgwMSwgMHhlMywgMHg3ZSwgMHgxMSwgMHhlMywgMHg3ZSwgMHgzMSwgMHhlMywgCi0gICAgMHg3ZSwgMHgyMSwgMHhlMywgMHg3ZSwgMHg1MSwgMHhlMywgMHg3ZSwgMHg0MSwgMHhlMywgMHg3ZSwgMHg3MSwgMHhlMywgMHg3ZSwgMHg2MSwgMHhlMywgMHg3YSwgCi0gICAgMHgwZiwgMHgwMSwgMHgyMywgMHg3YSwgMHgxZiwgMHgwMSwgMHgyNywgMHg3NSwgMHgwOCwgMHgwNCwgMHgxMiwgMHgwOCwgMHgzMywgMHg3YSwgMHgwMSwgMHgwOCwgCi0gICAgMHgxMiwgMHgwOCwgMHgzMywgMHg3YSwgMHgxMSwgMHgwOCwgMHgxMiwgMHgwOCwgMHgzMywgMHg3YSwgMHgyMSwgMHgwOCwgMHgxMiwgMHgwOCwgMHgzMywgMHg3YSwgCi0gICAgMHgzMSwgMHgwOCwgMHgxMiwgMHgwOCwgMHgzMywgMHg3YSwgMHg0MSwgMHgwOCwgMHgxMiwgMHgwOCwgMHgzMywgMHg3YSwgMHg1MSwgMHgwOCwgMHgxMiwgMHgwOCwgCi0gICAgMHgzMywgMHg3YSwgMHg2MSwgMHgwOCwgMHgxMiwgMHgwOCwgMHgzMywgMHg3YSwgMHg3MSwgMHgwOCwgMHgxMiwgMHgwOCwgMHgzMywgMHhhOSwgMHhkNCwgMHhlNCwgCi0gICAgMHhhOSwgMHhkNywgMHhmNCwgMHhhOSwgMHhjNiwgMHhlMiwgMHgxMiwgMHgwMywgMHhjMCwgMHgyMiwgMHg2ZCwgMHgwMCwgMHg3ZSwgMHgxNCwgMHgwMSwgMHgwMiwgCi0gICAgMHg3YSwgMHgwNywgMHgwMSwgMHgzMiwgMHg3YSwgMHgwMywgMHgwMSwgMHgyZCwgMHg3ZSwgMHhiMywgMHgwMSwgMHgyMywgMHgyMCwgMHhlNywgMHgwZiwgMHg3YSwgCi0gICAgMHgyMywgMHgwMSwgMHgyYywgMHg3YSwgMHgzMywgMHgwMSwgMHgyYiwgMHhiZSwgMHgwNywgMHgwMSwgMHgyOSwgMHg2OCwgMHgwOSwgMHgyMiwgMHg3YSwgMHgzMywgCi0gICAgMHgwMSwgMHgyYywgMHg3YSwgMHgyMywgMHgwMSwgMHgyYiwgMHg3ZSwgMHhiMywgMHgwMSwgMHgyMywgMHg1NCwgMHhlMywgMHgyMywgMHgyMywgMHgzMCwgMHhlMCwgCi0gICAgMHgwMiwgMHhkMiwgMHhlNSwgMHgzMCwgMHhlNywgMHgwMiwgMHhkMiwgMHhlNCwgMHgzMCwgMHhlNSwgMHgwNiwgMHgzMCwgMHhlNCwgMHgwMywgMHgwMiwgMHgwNywgCi0gICAgMHg1NSwgMHg1NCwgMHgzZSwgMHhmNSwgMHhmMCwgMHgwMywgMHg1NCwgMHgxZiwgMHhjMywgMHgyNSwgMHhmMCwgMHg5MCwgMHgwNCwgMHgxOCwgMHg3NSwgMHg4NCwgCi0gICAgMHhmZiwgMHg3MywgMHgwMiwgMHgwNSwgMHg2YywgMHgwMiwgMHgwNCwgMHg2MCwgMHgwMiwgMHgwNiwgMHgwOSwgMHgwMiwgMHgwNiwgMHgyNCwgMHgwMiwgMHgwNSwgCi0gICAgMHgwNSwgMHgwMiwgMHgwNCwgMHhjNiwgMHgwMiwgMHgwNiwgMHgzZCwgMHgwMiwgMHgwNiwgMHgzZCwgMHgwMiwgMHgwNiwgMHg0MCwgMHgwMiwgMHgwNiwgMHg0MCwgCi0gICAgMHgwMiwgMHgwNiwgMHg0MCwgMHgwMiwgMHgwNiwgMHg0MCwgMHgwMiwgMHgwNiwgMHg0MCwgMHgwMiwgMHgwNiwgMHg0MCwgMHgwMiwgMHgwNiwgMHg0MCwgMHgwMiwgCi0gICAgMHgwNiwgMHg0MCwgMHgwMiwgMHgwNiwgMHg0NiwgMHgwMiwgMHgwNiwgMHhmYSwgMHgwMiwgMHgwNiwgMHg0MywgMHgwMiwgMHgwNiwgMHg0MywgMHgwMiwgMHgwNiwgCi0gICAgMHg0MywgMHgwMiwgMHgwNiwgMHg0MywgMHgwMiwgMHgwNiwgMHg0MywgMHgwMiwgMHgwNiwgMHg0MywgMHg3ZSwgMHhiMywgMHgwMSwgMHgyNCwgMHhiNCwgMHgwNiwgCi0gICAgMHgyYSwgMHg3ZSwgMHhiMywgMHgwMSwgMHgyNSwgMHg2MCwgMHg1NiwgMHg3YywgMHgwYiwgMHg3ZSwgMHgxMywgMHgwMSwgMHgyNiwgMHg3ZSwgMHgxNywgMHgwMSwgCi0gICAgMHgyNywgMHg3NSwgMHgwOCwgMHg3MiwgMHgxMiwgMHgwOCwgMHgzMywgMHg3YSwgMHgwMSwgMHgwOCwgMHgxMiwgMHgwOCwgMHgzMywgMHg3YSwgMHgxMSwgMHgwOCwgCi0gICAgMHgxMiwgMHgwOCwgMHgzMywgMHgxMiwgMHgwNywgMHg1ZiwgMHg0MCwgMHgzNSwgMHgwMiwgMHgwMiwgMHg5NCwgMHhiNCwgMHgwOCwgMHgxMCwgMHg3NSwgMHgwOCwgCi0gICAgMHg3NCwgMHgxMiwgMHgwOCwgMHgzMywgMHg3ZSwgMHhiMywgMHgzZiwgMHhmMSwgMHhmNSwgMHhmMywgMHg3NSwgMHhmNiwgMHgwMSwgMHgyMiwgMHhiNCwgMHgwMCwgCi0gICAgMHgxYywgMHg3NSwgMHgwOCwgMHg3NSwgMHgxMiwgMHgwOCwgMHgzMywgMHg3ZSwgMHhiMywgMHgzZiwgMHhmMiwgMHgzMCwgMHhlMCwgMHgwNSwgMHg3NSwgMHhmMywgCi0gICAgMHgwMiwgMHg4MCwgMHgwMywgMHg3NSwgMHhmMywgMHgwMCwgMHg3NSwgMHhmMywgMHgwMCwgMHg3NSwgMHhmNiwgMHgwMiwgMHgyMiwgMHgwMiwgMHgwNywgMHg1NSwgCi0gICAgMHg3ZSwgMHhiMywgMHgwMSwgMHgyNCwgMHhiNCwgMHgwMCwgMHgzNSwgMHg3NSwgMHgwOCwgMHg3NiwgMHgxMiwgMHgwOCwgMHgzMywgMHg3ZSwgMHhiMywgMHgwMSwgCi0gICAgMHgyOCwgMHg1NCwgMHgwZiwgMHhmNSwgMHhmMSwgMHg3ZSwgMHhiMywgMHgwMSwgMHgyOCwgMHgyMCwgMHhlNywgMHgwOSwgMHhlNSwgMHhlMSwgMHgzMCwgMHhlNywgCi0gICAgMHgwZCwgMHg3NCwgMHgwMSwgMHg4MCwgMHgwYiwgMHhlNSwgMHhlMSwgMHgzMCwgMHhlNiwgMHgwNCwgMHg3NCwgMHgwMSwgMHg4MCwgMHgwMiwgMHg3NCwgMHgwMCwgCi0gICAgMHg1MywgMHhmMSwgMHg4MCwgMHhmNSwgMHhmMywgMHg3NSwgMHhmMywgMHgwMCwgMHg3NSwgMHhmNiwgMHgwMiwgMHgyMiwgMHgwMiwgMHgwNywgMHg1NSwgMHhjMCwgCi0gICAgMHhmMSwgMHg3ZSwgMHhiMywgMHgwMSwgMHgyOCwgMHg1NCwgMHgwZiwgMHg0MiwgMHhmMSwgMHg3ZSwgMHhiMywgMHgwMSwgMHgyNiwgMHhiNCwgMHgwMCwgMHg0NSwgCi0gICAgMHg3ZSwgMHhiMywgMHgwMSwgMHgyNCwgMHhiNCwgMHgwMSwgMHgyNCwgMHg3NSwgMHgwOCwgMHg3NywgMHgxMiwgMHgwOCwgMHgzMywgMHg3ZSwgMHhiMywgMHgwMSwgCi0gICAgMHgyOCwgMHg1NCwgMHgwZiwgMHg3OCwgMHgwNSwgMHg1MywgMHhlMSwgMHgzZiwgMHg4MCwgMHgzNywgMHg3ZSwgMHhiMywgMHgwMSwgMHgyOCwgMHgyMCwgMHhlNywgCi0gICAgMHgwNSwgMHg1MywgMHhlMSwgMHg3ZiwgMHg4MCwgMHgyYiwgMHg1MywgMHhlMSwgMHhiZiwgMHg4MCwgMHgyNiwgMHhiNCwgMHgwMywgMHgxNywgMHg3NSwgMHgwOCwgCi0gICAgMHg3OCwgMHgxMiwgMHgwOCwgMHgzMywgMHg3ZSwgMHhiMywgMHgwMSwgMHgyOCwgMHgyMCwgMHhlNywgMHgwNSwgMHg0MywgMHhlMSwgMHg4MCwgMHg4MCwgMHgxMSwgCi0gICAgMHg0MywgMHhlMSwgMHg0MCwgMHg4MCwgMHgwYywgMHg0MywgMHhlMSwgMHhjMCwgMHhkMCwgMHhmMSwgMHg3NSwgMHgwOCwgMHgwNywgMHgxMiwgMHgwOCwgMHgzMywgCi0gICAgMHgyMiwgMHhkMCwgMHhmMSwgMHgwMiwgMHgwMiwgMHg5MCwgMHg3ZSwgMHhiMywgMHgwMSwgMHgyNCwgMHhiNCwgMHgwOSwgMHgyMywgMHg3NSwgMHgwOCwgMHg3OSwgCi0gICAgMHgxMiwgMHgwOCwgMHgzMywgMHg3ZSwgMHhiMywgMHgwMSwgMHgyNiwgMHhiZSwgMHhiMywgMHgzZiwgMHhmMSwgMHg2OCwgMHgxMSwgMHhjYSwgMHhiOCwgMHhjMCwgCi0gICAgMHhmMSwgMHgxMiwgMHgwMSwgMHgxZCwgMHhkMCwgMHhmMSwgMHhkYSwgMHhiOCwgMHg1MCwgMHg3NiwgMHg3YSwgMHhiMywgMHgzZiwgMHhmMSwgMHg4MCwgMHg2ZCwgCi0gICAgMHhiNCwgMHgwNSwgMHgwOCwgMHg3NSwgMHgwOCwgMHg3YSwgMHgxMiwgMHgwOCwgMHgzMywgMHg4MCwgMHg2MiwgMHhiNCwgMHgwMywgMHgxOSwgMHg3NSwgMHgwOCwgCi0gICAgMHg3YiwgMHgxMiwgMHgwOCwgMHgzMywgMHg3ZSwgMHhiMywgMHgwMSwgMHgyNiwgMHhiNCwgMHgwMSwgMHg1NSwgMHg3ZSwgMHhiMywgMHgzZiwgMHhmMiwgMHg0NCwgCi0gICAgMHgwMSwgMHg3YSwgMHhiMywgMHgzZiwgMHhmMiwgMHg4MCwgMHg0NiwgMHhiNCwgMHgwMSwgMHgxOSwgMHg3NSwgMHgwOCwgMHg3YywgMHgxMiwgMHgwOCwgMHgzMywgCi0gICAgMHg3ZSwgMHhiMywgMHgwMSwgMHgyNiwgMHhiNCwgMHgwMSwgMHgzOSwgMHg3ZSwgMHhiMywgMHgzZiwgMHhmMiwgMHg1NCwgMHhmZSwgMHg3YSwgMHhiMywgMHgzZiwgCi0gICAgMHhmMiwgMHg4MCwgMHgyYSwgMHhiNCwgMHgwNywgMHgyYSwgMHg3ZSwgMHhiMywgMHgwMSwgMHgyNSwgMHg2MCwgMHgyNCwgMHg3YywgMHgwYiwgMHg3ZSwgMHgxMywgCi0gICAgMHgwMSwgMHgyNiwgMHg3ZSwgMHgxNywgMHgwMSwgMHgyNywgMHg3NSwgMHgwOCwgMHg3MywgMHgxMiwgMHgwOCwgMHgzMywgMHg3YSwgMHgwMSwgMHgwOCwgMHgxMiwgCi0gICAgMHgwOCwgMHgzMywgMHg3YSwgMHgxMSwgMHgwOCwgMHgxMiwgMHgwOCwgMHgzMywgMHgxMiwgMHgwNywgMHg4YiwgMHg0MCwgMHgwMywgMHgwMiwgMHgwMiwgMHg5MCwgCi0gICAgMHgwMiwgMHgwNywgMHg1NSwgMHg3ZSwgMHhiMywgMHgwMSwgMHgyNCwgMHhiNCwgMHgwYiwgMHhmNiwgMHg3NSwgMHgwOCwgMHg3ZCwgMHgxMiwgMHgwOCwgMHgzMywgCi0gICAgMHg3ZSwgMHhiMywgMHgwMSwgMHgyNiwgMHg3ZSwgMHhhMywgMHgwMSwgMHgyOCwgMHg0YywgMHhhYiwgMHg3OCwgMHhlNCwgMHg4MCwgMHhkZiwgMHg3ZSwgMHhiMywgCi0gICAgMHgwMSwgMHgyNCwgMHhiNCwgMHgwYSwgMHhkYiwgMHg3NSwgMHgwOCwgMHg3ZSwgMHgxMiwgMHgwOCwgMHgzMywgMHg3ZSwgMHhiMywgMHgwMSwgMHgyNiwgMHg3MCwgCi0gICAgMHhjZiwgMHhmNSwgMHhmMywgMHg3NSwgMHhmNiwgMHgwMSwgMHgyMiwgMHgwMiwgMHgwNywgMHg1NSwgMHgwMiwgMHgwNywgMHg1NSwgMHgwMiwgMHgwNywgMHg1NSwgCi0gICAgMHg3ZSwgMHhiMywgMHgwMSwgMHgyNCwgMHhiNCwgMHgwNCwgMHgyMCwgMHg3NSwgMHgwOCwgMHhjMywgMHgxMiwgMHgwOCwgMHgzMywgMHg3ZSwgMHgwNCwgMHgwMCwgCi0gICAgMHgwMSwgMHg3ZSwgMHgxNywgMHgwMSwgMHgyNSwgMHg3ZSwgMHgxOCwgMHgwMSwgMHgzNCwgMHg3YSwgMHgxYywgMHgwMCwgMHgwMCwgMHg3ZSwgMHg0NywgMHgwMSwgCi0gICAgMHgyOSwgMHgxMiwgMHgwOCwgMHgzZiwgMHgwMiwgMHgwNiwgMHhmNCwgMHhiNCwgMHgwNiwgMHgzYSwgMHg3NSwgMHgwOCwgMHhjMSwgMHgxMiwgMHgwOCwgMHgzMywgCi0gICAgMHg3ZSwgMHg1OCwgMHgwMCwgMHgwMCwgMHg3YSwgMHg1YywgMHgwMCwgMHhmZSwgMHg3ZCwgMHhjYSwgMHg3ZSwgMHhkNywgMHgwMSwgMHgyNSwgMHg3ZSwgMHg3OCwgCi0gICAgMHgwMSwgMHgzNCwgMHg3YSwgMHg3YywgMHgwMCwgMHgwMCwgMHg3ZSwgMHg3NywgMHgwMSwgMHgyOSwgMHg3NSwgMHgwOCwgMHhjMSwgMHgxMiwgMHgwOCwgMHgzMywgCi0gICAgMHhjMCwgMHhhOCwgMHhjMCwgMHg4NywgMHhjMiwgMHhhZiwgMHhhOSwgMHhkNSwgMHg4NywgMHgxMiwgMHgwOCwgMHhkNiwgMHhkMCwgMHg4NywgMHhkMCwgMHhhOCwgCi0gICAgMHg0MCwgMHg0ZiwgMHg4MCwgMHg0YSwgMHhiNCwgMHgwMCwgMHgxYywgMHhjMiwgMHhhZiwgMHhhOSwgMHhkNSwgMHg4NywgMHgxMiwgMHgwMiwgMHg5MCwgMHhlNCwgCi0gICAgMHg4ZCwgMHhlZiwgMHg4ZCwgMHhlZiwgMHg4ZCwgMHhlZiwgMHhkNSwgMHhlMCwgMHhmNywgMHhjMCwgMHhkMSwgMHhjYSwgMHgwMiwgMHhmZiwgMHhjYSwgMHgwNiwgCi0gICAgMHgwMCwgMHgwMCwgMHgzMiwgMHhiNCwgMHgwOSwgMHgxMiwgMHg3ZSwgMHg1NywgMHgwMSwgMHgyNSwgMHg0ZCwgMHg1NSwgMHg2OCwgMHgwNSwgMHhhOSwgMHhkMiwgCi0gICAgMHhiMSwgMHg4MCwgMHgwMywgMHhhOSwgMHhjMiwgMHhiMSwgMHg4MCwgMHgxNiwgMHhiNCwgMHgwNywgMHgxNiwgMHhjMiwgMHhhZiwgMHg3ZSwgMHgwNywgMHgwMSwgCi0gICAgMHgyNywgMHg3ZSwgMHgxNywgMHgwMSwgMHgyNSwgMHhjMCwgMHhkMSwgMHhjYSwgMHgxOCwgMHhjYSwgMHgzOCwgMHhjYSwgMHgyOCwgMHgzMiwgMHgwMiwgMHgwMiwgCi0gICAgMHg5MCwgMHgwMiwgMHgwNywgMHg1NSwgMHg3ZSwgMHhiMywgMHgwMSwgMHgyNCwgMHhiNCwgMHgwMywgMHgxNSwgMHg3NSwgMHgwOCwgMHhjMiwgMHgxMiwgMHgwOCwgCi0gICAgMHgzMywgMHg3ZSwgMHgwNCwgMHgwMCwgMHgwMSwgMHg3ZSwgMHgxNywgMHgwMSwgMHgyNSwgMHg3ZSwgMHg1NywgMHgwMSwgMHgyOSwgMHgwMiwgMHgwMiwgMHg5NCwgCi0gICAgMHhiNCwgMHgwNSwgMHgzOSwgMHg3NSwgMHgwOCwgMHhjMCwgMHgxMiwgMHgwOCwgMHgzMywgMHhjMCwgMHhhOCwgMHhjMCwgMHg4NywgMHhjMiwgMHhhZiwgMHhhOSwgCi0gICAgMHhkNSwgMHg4NywgMHg3ZSwgMHgwOCwgMHgwMSwgMHgzNCwgMHg3YSwgMHgwYywgMHgwMCwgMHgwMCwgMHg3ZSwgMHgyNCwgMHgwMCwgMHhmZSwgMHg3ZSwgMHgzNywgCi0gICAgMHgwMSwgMHgyNSwgMHg3ZSwgMHg0NywgMHgwMSwgMHgyOSwgMHgxMiwgMHgwOCwgMHgzZiwgMHhkMCwgMHg4NywgMHhkMCwgMHhhOCwgMHg3ZSwgMHgwOCwgMHgwMSwgCi0gICAgMHgzNCwgMHg3YSwgMHgwYywgMHgwMCwgMHgwMCwgMHg3ZSwgMHg1NywgMHgwMSwgMHgyOSwgMHgwMiwgMHgwMiwgMHg5NCwgMHgwMiwgMHgwNywgMHg1NSwgMHg3NSwgCi0gICAgMHgwOCwgMHgwNywgMHgxMiwgMHgwOCwgMHgzMywgMHg0MywgMHhlMSwgMHhjMCwgMHgyMiwgMHhjMCwgMHhhOCwgMHhjMCwgMHg4NywgMHhjMiwgMHhhZiwgMHhhOSwgCi0gICAgMHhkNSwgMHg4NywgMHgxMiwgMHgwNywgMHhjYSwgMHg0MCwgMHgxOSwgMHg3ZSwgMHgwOCwgMHgwMSwgMHgzNCwgMHg3YSwgMHgwYywgMHgwMCwgMHgwMCwgMHhjYSwgCi0gICAgMHgwYiwgMHhjYSwgMHg0OSwgMHgxMiwgMHgwOCwgMHgzZiwgMHhkYSwgMHg1OSwgMHhkYSwgMHgwYiwgMHhkMCwgMHg4NywgMHhkMCwgMHhhOCwgMHhjMywgMHgyMiwgCi0gICAgMHhkMCwgMHg4NywgMHhkMCwgMHhhOCwgMHgyMiwgMHhjMCwgMHhhOCwgMHhjMCwgMHg4NywgMHhjMiwgMHhhZiwgMHhhOSwgMHhkNSwgMHg4NywgMHgxMiwgMHgwNywgCi0gICAgMHhjYSwgMHg0MCwgMHgyYiwgMHg3ZSwgMHg1OCwgMHgwMCwgMHgwMCwgMHg3YSwgMHg1YywgMHgwMCwgMHhmZSwgMHg3ZiwgMHg2MSwgMHg3ZSwgMHg3OCwgMHgwMSwgCi0gICAgMHgzNCwgMHg3YSwgMHg3YywgMHgwMCwgMHgwMCwgMHg3ZSwgMHg3NywgMHgwMSwgMHgyOSwgMHhiZCwgMHg3NCwgMHg3OCwgMHgxMSwgMHg3NSwgMHgwOCwgMHhjMSwgCi0gICAgMHgxMiwgMHgwOCwgMHgzMywgMHgxMiwgMHgwOCwgMHhkNiwgMHg0MCwgMHgwNiwgMHhkMCwgMHg4NywgMHhkMCwgMHhhOCwgMHhjMywgMHgyMiwgMHhkMCwgMHg4NywgCi0gICAgMHhkMCwgMHhhOCwgMHhkMywgMHgyMiwgMHg3ZSwgMHgyNCwgMHgwMCwgMHhmZSwgMHg3ZSwgMHgzNCwgMHg3ZiwgMHhjYSwgMHgwYiwgMHgxYSwgMHg1MCwgMHhjNSwgCi0gICAgMHhmMCwgMHg3ZCwgMHg2MiwgMHg3ZCwgMHg3NSwgMHg3ZCwgMHg4NywgMHg3ZSwgMHgzNCwgMHg3ZiwgMHgwMywgMHg3ZSwgMHgxYiwgMHhiMCwgMHhiYywgMHgwYiwgCi0gICAgMHg1MCwgMHg0OSwgMHgzZSwgMHgwMCwgMHgzZSwgMHgwMCwgMHgwYSwgMHg1MCwgMHgyZCwgMHg3NSwgMHgwYiwgMHgzYSwgMHgzMCwgMHg2OSwgMHg1MywgMHgwMCwgCi0gICAgMHgwMiwgMHhiZCwgMHgzOCwgMHg1MCwgMHgwMiwgMHgyZCwgMHgzOCwgMHhiYywgMHgxYiwgMHg1MCwgMHgzMCwgMHgzZSwgMHgxMCwgMHgzZSwgMHgxMCwgMHgwYSwgCi0gICAgMHg1MSwgMHgyZCwgMHgzNSwgMHg2OSwgMHg0MSwgMHgwMCwgMHgwMiwgMHgwYiwgMHgxYSwgMHgzMCwgMHhiZCwgMHgzOCwgMHg1MCwgMHgwMiwgMHgyZCwgMHgzOCwgCi0gICAgMHhiZSwgMHg0NCwgMHhmZiwgMHhmZiwgMHg3OCwgMHgwNSwgMHg3ZSwgMHgxYiwgMHg5MCwgMHgwYSwgMHg0OSwgMHg0ZCwgMHg0NCwgMHg2OCwgMHgwYywgMHhiZSwgCi0gICAgMHg0NCwgMHgwMCwgMHhmZiwgMHgyOCwgMHgwNCwgMHg3ZSwgMHg0NCwgMHgwMCwgMHhmZiwgMHhjMywgMHgyMiwgMHhkMywgMHgyMiwgCi0KLS8vIFNlZ21lbnQgIzE2LCBFWENMVURFRCBTdGFydCBBZGRyZXNzIDAwZmY3YzAwLCBMZW5ndGggMTk5Ci0KLQotLy8gU2VnbWVudCAjMTcsIEVYQ0xVREVEIFN0YXJ0IEFkZHJlc3MgMDBmZjdmMDAsIExlbmd0aCAxOTIKLQotCi0vLyBTZWdtZW50ICMxNywgU3RhcnQgQWRkcmVzcyAwMGZmN2ZjMCwgTGVuZ3RoIDY0Ci0weGZmLDB4MDAsMHhjMCwweDdmLDB4NDAsMHgwMCwKLSAgICAweDQwLCAweDAxLCAweDAyLCAweDAwLCAweGNhLCAweDFiLCAweDAxLCAweDBjLCAweDAyLCAweDAwLCAweDAwLCAweDdjLCAweDAwLCAweDAwLCAweDAxLCAweDAwLCAKLSAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAKLSAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAKLSAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweGYxLCAweDdmLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAKLQotLy8gU2VnbWVudCAjMTgsIFN0YXJ0IEFkZHJlc3MgMDBmZjA4MzMsIExlbmd0aCA1MDE1Ci0weGZmLDB4MDAsMHgzMywweDA4LDB4OTcsMHgxMywKLSAgICAweGNhLCAweDA4LCAweDdlLCAweDAxLCAweDA4LCAweDdhLCAweDAzLCAweDNmLCAweGYwLCAweGRhLCAweDA4LCAweDIyLCAweDgwLCAweDUwLCAweDBiLCAweDFhLCAKLSAgICAweDYwLCAweDBiLCAweDM1LCAweDBiLCAweDFhLCAweDcwLCAweDBiLCAweDM1LCAweDBiLCAweDFhLCAweDgwLCAweDBiLCAweDM1LCAweDBiLCAweDFhLCAweDkwLCAKLSAgICAweDBiLCAweDM1LCAweDBiLCAweDFhLCAweGEwLCAweDBiLCAweDM1LCAweDBiLCAweDFhLCAweGIwLCAweDBiLCAweDM1LCAweDBiLCAweDFhLCAweGMwLCAweDBiLCAKLSAgICAweDM1LCAweDBiLCAweDFhLCAweGQwLCAweDBiLCAweDM1LCAweDFiLCAweDBhLCAweDYwLCAweDBiLCAweDE1LCAweDFiLCAweDBhLCAweDcwLCAweDBiLCAweDE1LCAKLSAgICAweDFiLCAweDBhLCAweDgwLCAweDBiLCAweDE1LCAweDFiLCAweDBhLCAweDkwLCAweDBiLCAweDE1LCAweDFiLCAweDBhLCAweGEwLCAweDBiLCAweDE1LCAweDFiLCAKLSAgICAweDBhLCAweGIwLCAweDBiLCAweDE1LCAweDFiLCAweDBhLCAweGMwLCAweDBiLCAweDE1LCAweDFiLCAweDBhLCAweGQwLCAweDBiLCAweDE1LCAweDllLCAweDQ0LCAKLSAgICAweDAwLCAweDEwLCAweDUwLCAweGFhLCAweDJlLCAweDQ0LCAweDAwLCAweDEwLCAweDY4LCAweDBlLCAweDdlLCAweDFiLCAweGMwLCAweDdhLCAweDBiLCAweGMwLCAKLSAgICAweDBiLCAweDE0LCAweDBiLCAweDM0LCAweDFiLCAweDQ0LCAweDc4LCAweGYyLCAweDIyLCAweDdmLCAweDZmLCAweDdmLCAweGYwLCAweDFiLCAweGZjLCAweDdjLCAKLSAgICAweDU0LCAweDdkLCAweDMyLCAweDgwLCAweDA4LCAweGNhLCAweDFiLCAweGNhLCAweDFiLCAweGNhLCAweDFiLCAweGNhLCAweDFiLCAweDllLCAweDQ0LCAweDAwLCAKLSAgICAweDEwLCAweDUwLCAweGYyLCAweDJlLCAweDQ0LCAweDAwLCAweDEwLCAweDY4LCAweDA2LCAweGNhLCAweDQ4LCAweDFiLCAweDQ0LCAweDc4LCAweGZhLCAweDdmLCAKLSAgICAweGY2LCAweDg5LCAweGU0LCAweGNhLCAweDZiLCAweDVlLCAweGQ0LCAweDAwLCAweDNmLCAweDY4LCAweDIwLCAweDdlLCAweDg0LCAweDAwLCAweDQwLCAweDlkLCAKLSAgICAweDhkLCAweGRhLCAweDZiLCAweGJkLCAweDg3LCAweDM4LCAweDE2LCAweGNhLCAweDc5LCAweDdkLCAweDc4LCAweDEyLCAweDA5LCAweDAwLCAweGRhLCAweDc5LCAKLSAgICAweDQwLCAweDA4LCAweDlkLCAweDc4LCAweDY4LCAweDAyLCAweDgwLCAweDA1LCAweGMyLCAweGQ3LCAweDIyLCAweGRhLCAweDZiLCAweDQzLCAweDkwLCAweDMwLCAKLSAgICAweDc0LCAweGFhLCAweDM5LCAweGI1LCAweDU1LCAweDU1LCAweDc0LCAweDU1LCAweDM5LCAweGI1LCAweDJhLCAweGFhLCAweDc0LCAweGEwLCAweDM5LCAweGI1LCAKLSAgICAweDU1LCAweDU1LCAweDdlLCAweDA0LCAweDAwLCAweDQwLCAweDlkLCAweDcwLCAweDUwLCAweDA2LCAweDJkLCAweDcwLCAweDdkLCAweDA3LCAweDZkLCAweDc3LCAKLSAgICAweDdjLCAweDMxLCAweDdlLCAweDdiLCAweDAwLCAweDdhLCAweDZiLCAweDAwLCAweDBiLCAweDdjLCAweDBiLCAweDZjLCAweGE1LCAweGQ5LCAweGYzLCAweDdmLCAKLSAgICAweDE2LCAweDFiLCAweDFjLCAweDdlLCAweDU0LCAweDI3LCAweDEwLCAweDdlLCAweDFiLCAweDEwLCAweGJjLCAweDEwLCAweDY4LCAweDA2LCAweDFiLCAweDU0LCAKLSAgICAweDc4LCAweGY1LCAweDgwLCAweDJjLCAweDZkLCAweDAwLCAweDdjLCAweDIwLCAweDdmLCAweDE2LCAweDlmLCAweDEwLCAweDdmLCAweDI3LCAweDlmLCAweDIwLCAKLSAgICAweDdlLCAweDJiLCAweDAwLCAweDdlLCAweDFiLCAweDEwLCAweGJjLCAweDAxLCAweDc4LCAweDE2LCAweDBiLCAweDJjLCAweDBiLCAweDFjLCAweGE1LCAweGRiLCAKLSAgICAweGVmLCAweDdjLCAweGI2LCAweDIwLCAweGUwLCAweDAzLCAweDYzLCAweDkwLCAweDMwLCAweDRkLCAweDc3LCAweDc4LCAweDkzLCAweGMyLCAweGQ3LCAweDIyLCAKLSAgICAweGQyLCAweGQ3LCAweDIyLCAweDAwLCAweDA0LCAweDAwLCAweDA0LCAweDAwLCAweDAwLCAweDA2LCAweDA0LCAweDAyLCAweDA0LCAweDAwLCAweDAyLCAweDAxLCAKLSAgICAweDA0LCAweDAxLCAweDAyLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAyLCAweDAyLCAweDAyLCAweDAyLCAweDAyLCAKLSAgICAweDA0LCAweDAwLCAweDA4LCAweDEwLCAweDAyLCAweDEwLCAweDA0LCAweDAyLCAweDA4LCAweDAwLCAweDAxLCAweDAxLCAweDA4LCAweDdlLCAweDE4LCAweDdmLCAKLSAgICAweGJkLCAweDdhLCAweDFjLCAweDAwLCAweGZmLCAweDBiLCAweDFhLCAweDAwLCAweGJlLCAweDEwLCAweDE0LCAweDM4LCAweDFhLCAweDBhLCAweDUxLCAweDIzLCAKLSAgICAweDdlLCAweDE4LCAweDA5LCAweDc2LCAweDdhLCAweDFjLCAweDAwLCAweGZmLCAweDJkLCAweDM1LCAweDBiLCAweDFhLCAweDUwLCAweDYwLCAweDA4LCAweGE1LCAKLSAgICAweGI4LCAweDAyLCAweDAzLCAweDRlLCAweGEwLCAweDA4LCAweDIyLCAweDgwLCAweGZlLCAweDdlLCAweGU4LCAweDdmLCAweGJmLCAweDdhLCAweGVjLCAweDAwLCAKLSAgICAweGZmLCAweGUwLCAweGY1LCAweDIyLCAweDU0LCAweGMwLCAweDY4LCAweDE2LCAweDdlLCAweGU4LCAweDdmLCAweGJlLCAweDdhLCAweGVjLCAweDAwLCAweGZmLCAKLSAgICAweGUwLCAweDYwLCAweDBjLCAweDEyLCAweDA5LCAweGEwLCAweGY1LCAweDA5LCAweDdhLCAweGExLCAweDIwLCAweDAyLCAweDBmLCAweDBhLCAweDIyLCAweGMyLCAKLSAgICAweDk1LCAweGQyLCAweDk0LCAweDEyLCAweDE5LCAweGZiLCAweDUzLCAweDkwLCAweGNmLCAweDEyLCAweDE5LCAweGZiLCAweDgwLCAweGYxLCAweDBkLCAweDBhLCAKLSAgICAweDBhLCAweDBhLCAweDBhLCAweDBhLCAweDBhLCAweDBhLCAweDBhLCAweDBhLCAweDBhLCAweDBhLCAweDBhLCAweDBhLCAweDBhLCAweDBhLCAweDBhLCAweDBkLCAKLSAgICAweDBhLCAweDBhLCAweDBhLCAweDBhLCAweDBhLCAweDBhLCAweDBhLCAweDBhLCAweDBhLCAweDBhLCAweDBhLCAweDBhLCAweDBhLCAweDBhLCAweDBhLCAweDBhLCAKLSAgICAweDQ1LCAweDY0LCAweDY3LCAweDY1LCAweDcwLCAweDZmLCAweDcyLCAweDc0LCAweDJmLCAweDM0LCAweDIwLCAweDJkLCAweDIwLCAweDQ4LCAweDYxLCAweDcyLCAKLSAgICAweDY0LCAweDc3LCAweDYxLCAweDcyLCAweDY1LCAweDIwLCAweDQ0LCAweDY5LCAweDYxLCAweDY3LCAweDZlLCAweDZmLCAweDczLCAweDc0LCAweDY5LCAweDYzLCAKLSAgICAweDczLCAweDJjLCAweDIwLCAweDUyLCAweDY1LCAweDc2LCAweDIwLCAweDMxLCAweDJlLCAweDMwLCAweDMwLCAweDNiLCAweDIwLCAweDQzLCAweDZmLCAweDcwLCAKLSAgICAweDc5LCAweDcyLCAweDY5LCAweDY3LCAweDY4LCAweDc0LCAweDIwLCAweDMxLCAweDM5LCAweDM5LCAweDM4LCAweDIwLCAweDQ5LCAweDZlLCAweDczLCAweDY5LCAKLSAgICAweDY0LCAweDY1LCAweDIwLCAweDRmLCAweDc1LCAweDc0LCAweDIwLCAweDRlLCAweDY1LCAweDc0LCAweDc3LCAweDZmLCAweDcyLCAweDZiLCAweDczLCAweDBkLCAKLSAgICAweDBhLCAweDAwLCAweDUwLCAweDYxLCAweDczLCAweDczLCAweDAwLCAweDQ2LCAweDQxLCAweDQ5LCAweDRjLCAweDIwLCAweDIxLCAweDIxLCAweDAwLCAweDUwLCAKLSAgICAweDYxLCAweDczLCAweDczLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDAwLCAweDQ2LCAweDQxLCAweDQ5LCAweDRjLCAweDIwLCAweDIxLCAweDIxLCAweDIwLCAKLSAgICAweDAwLCAweDBkLCAweDBhLCAweDQ0LCAweDY1LCAweDc0LCAweDY1LCAweDYzLCAweDc0LCAweDIwLCAweDUyLCAweDYxLCAweDZkLCAweDNhLCAweDIwLCAweDIwLCAKLSAgICAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAKLSAgICAweDIwLCAweDIwLCAweDAwLCAweDBkLCAweDBhLCAweDUyLCAweDYxLCAweDZkLCAweDIwLCAweDU0LCAweDY1LCAweDczLCAweDc0LCAweDNhLCAweDIwLCAweDIwLCAKLSAgICAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAKLSAgICAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDAwLCAweDBkLCAweDBhLCAweDQxLCAweDY0LCAweDY0LCAweDcyLCAweDY1LCAweDczLCAweDczLCAweDIwLCAweDYyLCAKLSAgICAweDY5LCAweDc0LCAweDIwLCAweDMwLCAweDJkLCAweDMxLCAweDM0LCAweDIwLCAweDc0LCAweDY1LCAweDczLCAweDc0LCAweDNhLCAweDIwLCAweDIwLCAweDIwLCAKLSAgICAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDAwLCAweDBkLCAweDBhLCAweDU3LCAweDcyLCAweDZmLCAweDc0LCAweDY1LCAweDIwLCAweDQxLCAKLSAgICAweDY0LCAweDY0LCAweDcyLCAweDY1LCAweDczLCAweDczLCAweDNhLCAweDIwLCAweDMwLCAweDMwLCAweDNhLCAweDAwLCAweDIwLCAweDIwLCAweDc3LCAweDY5LCAKLSAgICAweDc0LCAweDY4LCAweDIwLCAweDY0LCAweDYxLCAweDc0LCAweDYxLCAweDNhLCAweDIwLCAweDAwLCAweDJjLCAweDIwLCAweDYxLCAweDZlLCAweDY0LCAweDIwLCAKLSAgICAweDcyLCAweDY1LCAweDYxLCAweDY0LCAweDNhLCAweDIwLCAweDAwLCAweDBkLCAweDBhLCAweDRmLCAweDZlLCAweDY1LCAweDIwLCAweDZmLCAweDcyLCAweDIwLCAKLSAgICAweDYyLCAweDZmLCAweDc0LCAweDY4LCAweDIwLCAweDZmLCAweDY2LCAweDIwLCAweDc0LCAweDY4LCAweDY1LCAweDIwLCAweDY2LCAweDZmLCAweDZjLCAweDZjLCAKLSAgICAweDZmLCAweDc3LCAweDY5LCAweDZlLCAweDY3LCAweDIwLCAweDQxLCAweDY0LCAweDY0LCAweDcyLCAweDY1LCAweDczLCAweDczLCAweDIwLCAweDYyLCAweDY5LCAKLSAgICAweDc0LCAweDczLCAweDIwLCAweDZjLCAweDY5LCAweDczLCAweDc0LCAweDY1LCAweDY0LCAweDIwLCAweDYxLCAweDcyLCAweDY1LCAweDIwLCAweDczLCAweDY4LCAKLSAgICAweDZmLCAweDcyLCAweDc0LCAweDY1LCAweDY0LCAweDBkLCAweDBhLCAweDc0LCAweDZmLCAweDIwLCAweDczLCAweDZmLCAweDZkLCAweDY1LCAweDc0LCAweDY4LCAKLSAgICAweDY5LCAweDZlLCAweDY3LCAweDNhLCAweDIwLCAweDAwLCAweDIwLCAweDYxLCAweDZlLCAweDY0LCAweDIwLCAweDAwLCAweDBkLCAweDBhLCAweDQ0LCAweDY1LCAKLSAgICAweDc0LCAweDY1LCAweDYzLCAweDc0LCAweDIwLCAweDU1LCAweDYxLCAweDcyLCAweDc0LCAweDNhLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAKLSAgICAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDAwLCAweDBkLCAweDBhLCAKLSAgICAweDUzLCAweDYzLCAweDcyLCAweDYxLCAweDc0LCAweDYzLCAweDY4LCAweDIwLCAweDUwLCAweDYxLCAweDY0LCAweDJjLCAweDQ2LCAweDY5LCAweDQ2LCAweDZmLCAKLSAgICAweDIwLCAweDQ1LCAweDZlLCAweDYxLCAweDYyLCAweDZjLCAweDY1LCAweDIwLCAweDI2LCAweDIwLCAweDUyLCAweDUzLCAweDU0LCAweDNhLCAweDIwLCAweDAwLCAKLSAgICAweDBkLCAweDBhLCAweDBhLCAweDIwLCAweDIwLCAweDIwLCAweDU1LCAweDYxLCAweDcyLCAweDc0LCAweDIwLCAweDU0LCAweDY1LCAweDczLCAweDc0LCAweDczLCAKLSAgICAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAKLSAgICAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDUwLCAweDZmLCAweDcyLCAweDc0LCAweDMxLCAweDIwLCAweDIwLCAweDIwLCAweDUwLCAweDZmLCAweDcyLCAweDc0LCAKLSAgICAweDMyLCAweDIwLCAweDIwLCAweDIwLCAweDUwLCAweDZmLCAweDcyLCAweDc0LCAweDMzLCAweDIwLCAweDIwLCAweDIwLCAweDUwLCAweDZmLCAweDcyLCAweDc0LCAKLSAgICAweDM0LCAweDBkLCAweDBhLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAKLSAgICAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAKLSAgICAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDJkLCAweDJkLCAweDJkLCAweDJkLCAweDJkLCAweDJkLCAweDJkLCAweDJkLCAweDJkLCAweDJkLCAweDJkLCAweDJkLCAKLSAgICAweDJkLCAweDJkLCAweDJkLCAweDJkLCAweDJkLCAweDJkLCAweDJkLCAweDJkLCAweDJkLCAweDJkLCAweDJkLCAweDJkLCAweDJkLCAweDJkLCAweDJkLCAweDJkLCAKLSAgICAweDJkLCAweDAwLCAweDBkLCAweDBhLCAweDUwLCAweDZmLCAweDcyLCAweDc0LCAweDIwLCAweDQ0LCAweDY1LCAweDYzLCAweDZmLCAweDY0LCAweDY1LCAweDcyLCAKLSAgICAweDNhLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAKLSAgICAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDAwLCAweDBkLCAweDBhLCAweDQ0LCAweDY5LCAweDY3LCAweDY5LCAweDc0LCAweDYxLCAweDZjLCAweDIwLCAKLSAgICAweDRjLCAweDZmLCAweDZmLCAweDcwLCAweDYyLCAweDYxLCAweDYzLCAweDZiLCAweDNhLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAKLSAgICAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDAwLCAweDBkLCAweDBhLCAweDQxLCAweDZlLCAweDYxLCAweDZjLCAKLSAgICAweDZmLCAweDY3LCAweDIwLCAweDRjLCAweDZmLCAweDZmLCAweDcwLCAweDYyLCAweDYxLCAweDYzLCAweDZiLCAweDNhLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAKLSAgICAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDAwLCAweDBkLCAweDBhLCAKLSAgICAweDUyLCAweDU4LCAweDQ0LCAweDJjLCAweDU0LCAweDU4LCAweDQ0LCAweDIwLCAweDc0LCAweDZmLCAweDIwLCAweDUyLCAweDU0LCAweDUzLCAweDJjLCAweDQzLCAKLSAgICAweDU0LCAweDUzLCAweDJjLCAweDUyLCAweDQ5LCAweDIwLCAweDUzLCAweDY4LCAweDZmLCAweDcyLCAweDc0LCAweDNhLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAKLSAgICAweDIwLCAweDAwLCAweDBkLCAweDBhLCAweDUyLCAweDU4LCAweDQ0LCAweDJjLCAweDU0LCAweDU4LCAweDQ0LCAweDIwLCAweDc0LCAweDZmLCAweDIwLCAweDQ0LCAKLSAgICAweDU0LCAweDUyLCAweDJjLCAweDQ0LCAweDUzLCAweDUyLCAweDJjLCAweDQzLCAweDQ0LCAweDIwLCAweDUzLCAweDY4LCAweDZmLCAweDcyLCAweDc0LCAweDNhLCAKLSAgICAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDAwLCAweDBkLCAweDBhLCAweDUyLCAweDU0LCAweDUzLCAweDViLCAweDQzLCAweDU0LCAweDUzLCAweDJjLCAKLSAgICAweDUyLCAweDQ5LCAweDVkLCAweDIwLCAweDc0LCAweDZmLCAweDIwLCAweDQ0LCAweDU0LCAweDUyLCAweDJjLCAweDQ0LCAweDUzLCAweDUyLCAweDJjLCAweDQzLCAKLSAgICAweDQ0LCAweDIwLCAweDUzLCAweDY4LCAweDZmLCAweDcyLCAweDc0LCAweDNhLCAweDIwLCAweDAwLCAweDBkLCAweDBhLCAweDUyLCAweDU0LCAweDUzLCAweDViLCAKLSAgICAweDQzLCAweDU0LCAweDUzLCAweDJjLCAweDQzLCAweDQ0LCAweDVkLCAweDIwLCAweDc0LCAweDZmLCAweDIwLCAweDQ0LCAweDUzLCAweDUyLCAweDJjLCAweDUyLCAKLSAgICAweDQ5LCAweDIwLCAweDUzLCAweDY4LCAweDZmLCAweDcyLCAweDc0LCAweDNhLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDAwLCAweDBkLCAweDBhLCAKLSAgICAweDQ0LCAweDU0LCAweDUyLCAweDViLCAweDQ0LCAweDUzLCAweDUyLCAweDJjLCAweDQzLCAweDQ0LCAweDVkLCAweDIwLCAweDc0LCAweDZmLCAweDIwLCAweDUyLCAKLSAgICAweDU0LCAweDUzLCAweDJjLCAweDQzLCAweDU0LCAweDUzLCAweDJjLCAweDUyLCAweDQ5LCAweDIwLCAweDUzLCAweDY4LCAweDZmLCAweDcyLCAweDc0LCAweDNhLCAKLSAgICAweDIwLCAweDAwLCAweDBkLCAweDBhLCAweDQ0LCAweDU0LCAweDUyLCAweDIwLCAweDc0LCAweDZmLCAweDIwLCAweDQzLCAweDU0LCAweDUzLCAweDJjLCAweDQzLCAKLSAgICAweDQ0LCAweDIwLCAweDUzLCAweDY4LCAweDZmLCAweDcyLCAweDc0LCAweDNhLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAKLSAgICAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDAwLCAweDBkLCAweDBhLCAweDUyLCAweDU0LCAweDUzLCAweDIwLCAweDc0LCAweDZmLCAweDIwLCAweDQzLCAKLSAgICAweDU0LCAweDUzLCAweDJjLCAweDUyLCAweDQ5LCAweDIwLCAweDRjLCAweDZmLCAweDZmLCAweDcwLCAweDYyLCAweDYxLCAweDYzLCAweDZiLCAweDNhLCAweDIwLCAKLSAgICAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDAwLCAweDBkLCAweDBhLCAweDUyLCAweDU0LCAweDUzLCAweDIwLCAKLSAgICAweDc0LCAweDZmLCAweDIwLCAweDQzLCAweDU0LCAweDUzLCAweDJjLCAweDQzLCAweDQ0LCAweDIwLCAweDRjLCAweDZmLCAweDZmLCAweDcwLCAweDYyLCAweDYxLCAKLSAgICAweDYzLCAweDZiLCAweDNhLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDAwLCAweDBkLCAweDBhLCAKLSAgICAweDQ0LCAweDU0LCAweDUyLCAweDIwLCAweDc0LCAweDZmLCAweDIwLCAweDQ0LCAweDUzLCAweDUyLCAweDJjLCAweDQzLCAweDQ0LCAweDIwLCAweDRjLCAweDZmLCAKLSAgICAweDZmLCAweDcwLCAweDYyLCAweDYxLCAweDYzLCAweDZiLCAweDNhLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAKLSAgICAweDIwLCAweDAwLCAweDBkLCAweDBhLCAweDBhLCAweDIwLCAweDIwLCAweDIwLCAweDQ1LCAweDIwLCAweDUyLCAweDIwLCAweDUyLCAweDIwLCAweDRmLCAweDIwLCAKLSAgICAweDUyLCAweDIwLCAweDIxLCAweDIxLCAweDIxLCAweDJjLCAweDIwLCAweDQ1LCAweDIwLCAweDUyLCAweDIwLCAweDUyLCAweDIwLCAweDRmLCAweDIwLCAweDUyLCAKLSAgICAweDIwLCAweDIxLCAweDIxLCAweDIxLCAweDIwLCAweDJjLCAweDIwLCAweDQ1LCAweDIwLCAweDUyLCAweDIwLCAweDUyLCAweDIwLCAweDRmLCAweDIwLCAweDUyLCAKLSAgICAweDIwLCAweDIxLCAweDIxLCAweDIxLCAweDBkLCAweDBhLCAweDBhLCAweDQ0LCAweDY5LCAweDYxLCAweDY3LCAweDZlLCAweDZmLCAweDczLCAweDc0LCAweDY5LCAKLSAgICAweDYzLCAweDczLCAweDIwLCAweDZlLCAweDZmLCAweDc3LCAweDIwLCAweDc3LCAweDY5LCAweDZjLCAweDZjLCAweDIwLCAweDY1LCAweDZlLCAweDc0LCAweDY1LCAKLSAgICAweDcyLCAweDIwLCAweDYxLCAweDIwLCAweDY0LCAweDY1LCAweDYyLCAweDc1LCAweDY3LCAweDIwLCAweDZjLCAweDZmLCAweDZmLCAweDcwLCAweDIwLCAweDZmLCAKLSAgICAweDY2LCAweDIwLCAweDc0LCAweDY4LCAweDY1LCAweDIwLCAweDY2LCAweDY5LCAweDcyLCAweDczLCAweDc0LCAweDIwLCAweDY0LCAweDY1LCAweDc0LCAweDY1LCAKLSAgICAweDYzLCAweDc0LCAweDY1LCAweDY0LCAweDIwLCAweDY1LCAweDcyLCAweDcyLCAweDZmLCAweDcyLCAweDJlLCAweDAwLCAweDBkLCAweDBhLCAweDBhLCAweDRlLCAKLSAgICAweDZmLCAweDIwLCAweDQ4LCAweDYxLCAweDcyLCAweDY0LCAweDc3LCAweDYxLCAweDcyLCAweDY1LCAweDIwLCAweDY1LCAweDcyLCAweDcyLCAweDZmLCAweDcyLCAKLSAgICAweDczLCAweDIwLCAweDY0LCAweDY1LCAweDc0LCAweDY1LCAweDYzLCAweDc0LCAweDY1LCAweDY0LCAweDJlLCAweDBkLCAweDBhLCAweDAwLCAweDQzLCAweDZmLCAKLSAgICAweDcwLCAweDc5LCAweDY5LCAweDZlLCAweDY3LCAweDIwLCAweDYzLCAweDZmLCAweDY0LCAweDY1LCAweDIwLCAweDY2LCAweDcyLCAweDZmLCAweDZkLCAweDIwLCAKLSAgICAweDRkLCAweDYxLCAweDczLCAweDc0LCAweDY1LCAweDcyLCAweDIwLCAweDc0LCAweDZmLCAweDIwLCAweDUzLCAweDZjLCAweDYxLCAweDc2LCAweDY1LCAweDI3LCAKLSAgICAweDczLCAweDIwLCAweDQ1LCAweDQ1LCAweDcwLCAweDcyLCAweDZmLCAweDZkLCAweDIwLCAweDJlLCAweDJlLCAweDJlLCAweDAwLCAweDQ0LCAweDZmLCAweDZlLCAKLSAgICAweDY1LCAweDBkLCAweDBhLCAweDBhLCAweDJkLCAweDNlLCAweDIwLCAweDU0LCAweDc1LCAweDcyLCAweDZlLCAweDIwLCAweDc1LCAweDZlLCAweDY5LCAweDc0LCAKLSAgICAweDIwLCAweDZmLCAweDY2LCAweDY2LCAweDJjLCAweDIwLCAweDY0LCAweDY5LCAweDczLCAweDYzLCAweDZmLCAweDZlLCAweDZlLCAweDY1LCAweDYzLCAweDc0LCAKLSAgICAweDIwLCAweDYzLCAweDYxLCAweDYyLCAweDZjLCAweDY1LCAweDIwLCAweDYxLCAweDZlLCAweDY0LCAweDIwLCAweDcyLCAweDc1LCAweDZlLCAweDIwLCAweDczLCAKLSAgICAweDc0LCAweDYxLCAweDZlLCAweDY0LCAweDYxLCAweDZjLCAweDZmLCAweDZlLCAweDY1LCAweDIwLCAweDY0LCAweDY5LCAweDYxLCAweDY3LCAweDZlLCAweDZmLCAKLSAgICAweDczLCAweDc0LCAweDY5LCAweDYzLCAweDczLCAweDJlLCAweDAwLCAweGMyLCAweGFmLCAweGMyLCAweDA5LCAweGMyLCAweDBhLCAweDc1LCAweDkwLCAweDBkLCAKLSAgICAweDIwLCAweDE3LCAweDAyLCAweGQyLCAweGI1LCAweDQzLCAweDkwLCAweDMwLCAweDZjLCAweDAwLCAweDdlLCAweDEwLCAweDAzLCAweDEyLCAweDBmLCAweDM4LCAKLSAgICAweDdlLCAweDY4LCAweDBhLCAweDAxLCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDFhLCAweDkzLCAweDBiLCAweDAwLCAweDMwLCAweGI0LCAweDAyLCAKLSAgICAweDgwLCAweDI0LCAweDAyLCAweDFiLCAweDNjLCAweDIwLCAweDA5LCAweDFkLCAweGMyLCAweDk0LCAweGQyLCAweDk1LCAweDEyLCAweDE5LCAweGZiLCAweDUzLCAKLSAgICAweDkwLCAweGNmLCAweDEyLCAweDE5LCAweGZiLCAweGMyLCAweDk1LCAweGQyLCAweDk0LCAweDEyLCAweDE5LCAweGZiLCAweGE1LCAweGQ5LCAweGU2LCAweDQzLCAKLSAgICAweDkwLCAweDMwLCAweDEyLCAweDE5LCAweGZiLCAweDIyLCAweDdlLCAweDY4LCAweDBhLCAweDk0LCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDFhLCAKLSAgICAweDkzLCAweDdlLCAweGU0LCAweDEwLCAweDAwLCAweDdlLCAweDQwLCAweDU1LCAweDdhLCAweGU5LCAweDQwLCAweDBiLCAweGU0LCAweDdlLCAweDUwLCAweGFhLCAKLSAgICAweDdhLCAweGU5LCAweDUwLCAweDFiLCAweGU0LCAweGJlLCAweGU5LCAweDQwLCAweDY4LCAweDE5LCAweDdlLCAweDY4LCAweDBhLCAweDdhLCAweDdhLCAweDZjLCAKLSAgICAweDAwLCAweGZmLCAweDEyLCAweDFhLCAweDkzLCAweDEyLCAweDFhLCAweDA4LCAweDMwLCAweDA5LCAweDEzLCAweDdhLCAweGU5LCAweDQwLCAweDdlLCAweGU5LCAKLSAgICAweDEwLCAweDgwLCAweGY4LCAweDdlLCAweDY4LCAweDBhLCAweDc1LCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDFhLCAweDkzLCAweDBiLCAweDAwLCAKLSAgICAweDdlLCAweDY4LCAweDBhLCAweGQ4LCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDFhLCAweDkzLCAweDdlLCAweDc4LCAweDAwLCAweDAwLCAweDdlLCAKLSAgICAweDcwLCAweDBlLCAweDdlLCAweGE0LCAweGZmLCAweGZmLCAweDdlLCAweGI0LCAweGJmLCAweGZmLCAweDdkLCAweGNiLCAweDBlLCAweGM0LCAweDdkLCAweGRjLCAKLSAgICAweDVkLCAweGRiLCAweDZjLCAweGJiLCAweDdkLCAweGZhLCAweDVlLCAweGY0LCAweDdmLCAweGZmLCAweDdhLCAweDdiLCAweGIwLCAweDBiLCAweGIwLCAweDdkLCAKLSAgICAweGZiLCAweDVlLCAweGY0LCAweDdmLCAweGZmLCAweDdhLCAweDdiLCAweGIwLCAweDBiLCAweGIwLCAweDdkLCAweGZjLCAweDVlLCAweGY0LCAweDdmLCAweGZmLCAKLSAgICAweDdhLCAweDdiLCAweGIwLCAweDBiLCAweGIwLCAweDdkLCAweGZkLCAweDVlLCAweGY0LCAweDdmLCAweGZmLCAweDdhLCAweDdiLCAweGIwLCAweDZjLCAweGJiLCAKLSAgICAweDdkLCAweGZhLCAweDVlLCAweGY0LCAweDdmLCAweGZmLCAweGJlLCAweDdiLCAweGIwLCAweDc4LCAweDQxLCAweDBiLCAweGIwLCAweDdkLCAweGZiLCAweDVlLCAKLSAgICAweGY0LCAweDdmLCAweGZmLCAweGJlLCAweDdiLCAweGIwLCAweDc4LCAweDM0LCAweDBiLCAweGIwLCAweDdkLCAweGZjLCAweDVlLCAweGY0LCAweDdmLCAweGZmLCAKLSAgICAweGJlLCAweDdiLCAweGIwLCAweDc4LCAweDI3LCAweDBiLCAweGIwLCAweDdkLCAweGZkLCAweDVlLCAweGY0LCAweDdmLCAweGZmLCAweGJlLCAweDdiLCAweGIwLCAKLSAgICAweDc4LCAweDFhLCAweDBiLCAweGIwLCAweGJlLCAweGM0LCAweGZmLCAweGZlLCAweDc4LCAweDkyLCAweDBlLCAweGI0LCAweGE1LCAweGRmLCAweDhiLCAweDdlLCAKLSAgICAweDY4LCAweDBhLCAweDgyLCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDFhLCAweDkzLCAweDgwLCAweDc3LCAweGNhLCAweDViLCAweGNhLCAweDZiLCAKLSAgICAweDdlLCAweDY4LCAweDBhLCAweDhiLCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDFhLCAweDkzLCAweDdlLCAweDY4LCAweDBiLCAweDJhLCAweDdhLCAKLSAgICAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDFhLCAweDkzLCAweDBhLCAweDQ3LCAweDEyLCAweDFhLCAweGM5LCAweDdlLCAweDY4LCAweDBiLCAweDc5LCAweDdhLCAKLSAgICAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDFhLCAweDkzLCAweDZjLCAweDc3LCAweGRhLCAweDZiLCAweGNhLCAweDZiLCAweDBiLCAweDcwLCAweDBlLCAweGM0LCAKLSAgICAweGJlLCAweGM0LCAweGZmLCAweGZmLCAweDc4LCAweGY2LCAweDFiLCAweDcwLCAweDBhLCAweDQ3LCAweDEyLCAweDFhLCAweGM5LCAweDEyLCAweDFhLCAweDA4LCAKLSAgICAweDMwLCAweDA5LCAweDMwLCAweGRhLCAweDZiLCAweGRhLCAweDViLCAweDZjLCAweGJiLCAweDdlLCAweDc4LCAweDAwLCAweDAwLCAweDdkLCAweGZhLCAweDVlLCAKLSAgICAweGY0LCAweDdmLCAweGZmLCAweDdhLCAweDdiLCAweGIwLCAweDdkLCAweGZiLCAweDVlLCAweGY0LCAweDdmLCAweGZmLCAweDdhLCAweDdiLCAweGIwLCAweDdkLCAKLSAgICAweGZjLCAweDVlLCAweGY0LCAweDdmLCAweGZmLCAweDdhLCAweDdiLCAweGIwLCAweDdkLCAweGZkLCAweDVlLCAweGY0LCAweDdmLCAweGZmLCAweDdhLCAweDdiLCAKLSAgICAweGIwLCAweDgwLCAweGQ0LCAweDdlLCAweDY4LCAweDBhLCAweGI2LCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDFhLCAweDkzLCAweDMwLCAweDE3LCAKLSAgICAweDBlLCAweDdlLCAweDc4LCAweDA0LCAweDIwLCAweDdhLCAweDdjLCAweDAwLCAweDAwLCAweDdlLCAweDQ0LCAweDdiLCAweGUwLCAweDgwLCAweDBjLCAweDdlLCAKLSAgICAweDc4LCAweDAwLCAweDAwLCAweDdhLCAweDdjLCAweDAwLCAweDAxLCAweDdlLCAweDQ0LCAweDgwLCAweDAwLCAweDBiLCAweDAwLCAweDdlLCAweDQwLCAweDNhLCAKLSAgICAweDdjLCAweDU0LCAweDdmLCAweDU3LCAweDdkLCAweDg0LCAweDZjLCAweDY2LCAweDdhLCAweDViLCAweDUwLCAweDBiLCAweDVjLCAweDBiLCAweDUwLCAweGE1LCAKLSAgICAweGRlLCAweDAyLCAweDBiLCAweDUwLCAweDFiLCAweDg0LCAweDc4LCAweGYwLCAweDdjLCAweDU0LCAweDdmLCAweDU3LCAweDdkLCAweDg0LCAweDZjLCAweDY2LCAKLSAgICAweGJlLCAweDViLCAweDUwLCAweDc4LCAweDFhLCAweDBiLCAweDVjLCAweDBiLCAweDUwLCAweGE1LCAweGRlLCAweDAyLCAweDBiLCAweDUwLCAweDFiLCAweDg0LCAKLSAgICAweDc4LCAweGVlLCAweDdlLCAweDY4LCAweDBhLCAweDc1LCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDFhLCAweDkzLCAweDgwLCAweDRiLCAweDdmLCAKLSAgICAweDQ1LCAweDdlLCAweDY4LCAweDBhLCAweDdhLCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDFhLCAweDkzLCAweDdlLCAweDY4LCAweDBhLCAweGZhLCAKLSAgICAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDFhLCAweDkzLCAweDdkLCAweDRiLCAweDEyLCAweDFhLCAweGM5LCAweDdlLCAweDY4LCAweDBiLCAweDBmLCAKLSAgICAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDFhLCAweDkzLCAweDZjLCAweDg4LCAweDdjLCAweDk1LCAweDEyLCAweDFhLCAweGM5LCAweDdlLCAweDY4LCAKLSAgICAweDBiLCAweDFkLCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDFhLCAweDkzLCAweDdlLCAweDRiLCAweDkwLCAweDEyLCAweDFhLCAweGM5LCAweDEyLCAKLSAgICAweDFhLCAweDA4LCAweDMwLCAweDA5LCAweDA1LCAweDdlLCAweDRiLCAweDkwLCAweDgwLCAweGZiLCAweDdlLCAweDY4LCAweDBiLCAweDdmLCAweDdhLCAweDZjLCAKLSAgICAweDAwLCAweGZmLCAweDEyLCAweDFhLCAweDkzLCAweDBiLCAweDAwLCAweGQyLCAweDkyLCAweDdlLCAweDI0LCAweDgwLCAweDAwLCAweDA5LCAweGIyLCAweDAwLCAKLSAgICAweDA4LCAweGJlLCAweGIwLCAweDAxLCAweDc4LCAweDBiLCAweDA5LCAweGIyLCAweDAwLCAweDE0LCAweGJlLCAweGIwLCAweDYwLCAweDc4LCAweDAyLCAweDgwLCAKLSAgICAweDE3LCAweDdlLCAweDY4LCAweDBhLCAweDdhLCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDFhLCAweDkzLCAweDEyLCAweDFhLCAweDA4LCAweDMwLCAKLSAgICAweDA5LCAweDExLCAweDA5LCAweGIyLCAweDAwLCAweDA4LCAweDgwLCAweGZhLCAweDdlLCAweDY4LCAweDBhLCAweDc1LCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAKLSAgICAweDEyLCAweDFhLCAweDkzLCAweDdlLCAweDY4LCAweDBiLCAweGExLCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDFhLCAweDkzLCAweDBiLCAweDAwLCAKLSAgICAweGMyLCAweDkyLCAweDEyLCAweDE5LCAweGVlLCAweDdlLCAweDI0LCAweDgwLCAweDAwLCAweDdlLCAweGEwLCAweDU1LCAweDE5LCAweGEyLCAweDAwLCAweDFjLCAKLSAgICAweDdlLCAweGIwLCAweDAxLCAweDE5LCAweGIyLCAweDAwLCAweDA4LCAweDA5LCAweGIyLCAweDAwLCAweDFjLCAweGJjLCAweGFiLCAweDc4LCAweDM3LCAweDA5LCAKLSAgICAweGIyLCAweDAwLCAweDA4LCAweDVlLCAweGIwLCAweGMwLCAweGJlLCAweGIwLCAweGMwLCAweDc4LCAweDJiLCAweDdlLCAweGEwLCAweGFhLCAweDE5LCAweGEyLCAKLSAgICAweDAwLCAweDFjLCAweDZjLCAweGJiLCAweDE5LCAweGIyLCAweDAwLCAweDA4LCAweDA5LCAweGIyLCAweDAwLCAweDFjLCAweGJjLCAweGFiLCAweDc4LCAweDE2LCAKLSAgICAweDA5LCAweGIyLCAweDAwLCAweDA4LCAweDVlLCAweGIwLCAweGMwLCAweDc4LCAweDBkLCAweDdlLCAweDY4LCAweDBhLCAweDc1LCAweDdhLCAweDZjLCAweDAwLCAKLSAgICAweGZmLCAweDEyLCAweDFhLCAweDkzLCAweDgwLCAweDFiLCAweDdlLCAweDY4LCAweDBhLCAweDdhLCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDFhLCAKLSAgICAweDkzLCAweDEyLCAweDFhLCAweDA4LCAweDMwLCAweDA5LCAweDBhLCAweDE5LCAweGEyLCAweDAwLCAweDFjLCAweDA5LCAweGIyLCAweDAwLCAweDFjLCAweDgwLCAKLSAgICAweGY2LCAweDdlLCAweDY4LCAweDBiLCAweGMzLCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDFhLCAweDkzLCAweDdlLCAweDY4LCAweDBjLCAweDQ1LCAKLSAgICAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDFhLCAweDkzLCAweDdlLCAweDI0LCAweDgwLCAweDAwLCAweDdlLCAweDExLCAweDA5LCAweDdlLCAweGIwLCAKLSAgICAweDAxLCAweDE5LCAweGIyLCAweDAwLCAweDFjLCAweDJlLCAweDI0LCAweDAxLCAweDAwLCAweDBiLCAweGIwLCAweGE1LCAweGQ5LCAweGYzLCAweDdlLCAweDI0LCAKLSAgICAweDgwLCAweDAwLCAweDdlLCAweDExLCAweDA5LCAweDdlLCAweGIwLCAweDAxLCAweDBiLCAweDAwLCAweDA5LCAweGEyLCAweDAwLCAweDFjLCAweGJjLCAweGFiLCAKLSAgICAweDc4LCAweDE2LCAweDdlLCAweDY4LCAweDBhLCAweDgyLCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDFhLCAweDkzLCAweDJlLCAweDI0LCAweDAxLCAKLSAgICAweDAwLCAweDBiLCAweGIwLCAweGE1LCAweGQ5LCAweGUyLCAweDgwLCAweDI1LCAweDdlLCAweDY4LCAweDBhLCAweDhiLCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAKLSAgICAweDEyLCAweDFhLCAweDkzLCAweDEyLCAweDFhLCAweDA4LCAweDMwLCAweDA5LCAweGU0LCAweDdlLCAweDI0LCAweDgwLCAweDAwLCAweDdlLCAweDExLCAweDA5LCAKLSAgICAweDA5LCAweGEyLCAweDAwLCAweDFjLCAweDJlLCAweDI0LCAweDAxLCAweDAwLCAweGE1LCAweGQ5LCAweGY1LCAweDgwLCAweGVjLCAweDdlLCAweDY4LCAweDBjLCAKLSAgICAweDY5LCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDFhLCAweDkzLCAweDEyLCAweDEzLCAweDhhLCAweDdlLCAweDI0LCAweDgwLCAweDAwLCAweDdlLCAKLSAgICAweDExLCAweDA5LCAweDBiLCAweDAwLCAweDc0LCAweDEwLCAweDE5LCAweGIyLCAweDAwLCAweDEwLCAweDEyLCAweDEzLCAweDAzLCAweDJlLCAweDI0LCAweDAxLCAKLSAgICAweDAwLCAweGE1LCAweGQ5LCAweGVlLCAweDdlLCAweDY4LCAweDBjLCAweDhkLCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDFhLCAweDkzLCAweDdlLCAKLSAgICAweDI0LCAweDgwLCAweDAwLCAweDdlLCAweDExLCAweDA5LCAweDBiLCAweDAwLCAweGU0LCAweDE5LCAweGIyLCAweDAwLCAweDEwLCAweDEyLCAweDEzLCAweDAzLCAKLSAgICAweDJlLCAweDI0LCAweDAxLCAweDAwLCAweGE1LCAweGQ5LCAweGVmLCAweDMwLCAweDAwLCAweDAzLCAweDAyLCAweDE4LCAweGI3LCAweDAyLCAweDEzLCAweGJiLCAKLSAgICAweDc0LCAweDA3LCAweDE5LCAweGIyLCAweDAwLCAweDA4LCAweDEyLCAweDE5LCAweGZiLCAweDA5LCAweGIyLCAweDAwLCAweDAwLCAweDA5LCAweGIyLCAweDAwLCAKLSAgICAweDE0LCAweDA5LCAweGIyLCAweDAwLCAweDAwLCAweDA5LCAweGIyLCAweDAwLCAweDE0LCAweDA5LCAweGIyLCAweDAwLCAweDAwLCAweDA5LCAweGIyLCAweDAwLCAKLSAgICAweDE0LCAweDA5LCAweGIyLCAweDAwLCAweDAwLCAweDA5LCAweGIyLCAweDAwLCAweDE0LCAweGMyLCAweDBiLCAweDdlLCAweGIwLCAweDU1LCAweDEyLCAweDEzLCAKLSAgICAweDY0LCAweDdlLCAweGIwLCAweGFhLCAweDEyLCAweDEzLCAweDY0LCAweDdlLCAweGIwLCAweDAwLCAweDEyLCAweDEzLCAweDY0LCAweDdlLCAweGIwLCAweGZmLCAKLSAgICAweDEyLCAweDEzLCAweDY0LCAweDMwLCAweDBiLCAweDBmLCAweDdlLCAweDY4LCAweDBhLCAweDhiLCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDFhLCAKLSAgICAweDkzLCAweDEyLCAweDFhLCAweDA4LCAweDIyLCAweDdlLCAweDY4LCAweDBhLCAweDgyLCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDFhLCAweDkzLCAKLSAgICAweDIyLCAweDE5LCAweGIyLCAweDAwLCAweDAwLCAweDEyLCAweDE5LCAweGVlLCAweDA5LCAweGEyLCAweDAwLCAweDAwLCAweGJjLCAweGFiLCAweDc4LCAweDAxLCAKLSAgICAweDIyLCAweDIwLCAweDA5LCAweDAzLCAweGQyLCAweDBiLCAweDIyLCAweDEyLCAweDFhLCAweDA4LCAweDE5LCAweGIyLCAweDAwLCAweDAwLCAweDEyLCAweDE5LCAKLSAgICAweGVlLCAweDA5LCAweGEyLCAweDAwLCAweDAwLCAweDgwLCAweGYzLCAweGQyLCAweDkyLCAweDEyLCAweDE5LCAweGVlLCAweGMyLCAweDkyLCAweDEyLCAweDE5LCAKLSAgICAweGVlLCAweDdlLCAweDI0LCAweDgwLCAweDAwLCAweDdlLCAweDExLCAweDA5LCAweDc0LCAweDgwLCAweDE5LCAweGIyLCAweDAwLCAweDBjLCAweDdlLCAweDU0LCAKLSAgICAweDAwLCAweDAyLCAweDE5LCAweGEyLCAweDAwLCAweDA0LCAweDE5LCAweGIyLCAweDAwLCAweDAwLCAweDc0LCAweDAzLCAweDE5LCAweGIyLCAweDAwLCAweDBjLCAKLSAgICAweDJlLCAweDI0LCAweDAxLCAweDAwLCAweGE1LCAweGQ5LCAweGUxLCAweDIyLCAweDdlLCAweDY4LCAweDBjLCAweGIxLCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAKLSAgICAweDEyLCAweDFhLCAweDkzLCAweDdlLCAweDI0LCAweDgwLCAweDAwLCAweDdlLCAweDExLCAweDA5LCAweDBiLCAweDAwLCAweDEyLCAweDE5LCAweGVlLCAweDA5LCAKLSAgICAweGIyLCAweDAwLCAweDE4LCAweDdlLCAweGEwLCAweDU1LCAweDE5LCAweGEyLCAweDAwLCAweDAwLCAweDEyLCAweDE5LCAweGVlLCAweDA5LCAweGIyLCAweDAwLCAKLSAgICAweDE4LCAweDVlLCAweGIwLCAweDA1LCAweDc4LCAweDBkLCAweDdlLCAweDY4LCAweDBhLCAweDgyLCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDFhLCAKLSAgICAweDkzLCAweDgwLCAweDFhLCAweDdlLCAweDY4LCAweDBhLCAweDhiLCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDFhLCAweDkzLCAweDEyLCAweDFhLCAKLSAgICAweDA4LCAweDMwLCAweDA5LCAweDA5LCAweDE5LCAweGEyLCAweDAwLCAweDAwLCAweDEyLCAweDE5LCAweGVlLCAweDgwLCAweGY3LCAweDJlLCAweDI0LCAweDAxLCAKLSAgICAweDAwLCAweGE1LCAweGQ5LCAweGI2LCAweDdlLCAweDY4LCAweDBjLCAweGQ1LCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDFhLCAweDkzLCAweDdlLCAKLSAgICAweDI0LCAweDgwLCAweDAwLCAweDdlLCAweDExLCAweDA5LCAweDBiLCAweDAwLCAweDEyLCAweDE5LCAweGVlLCAweDA5LCAweGIyLCAweDAwLCAweDE4LCAweDdlLCAKLSAgICAweGEwLCAweDU1LCAweDE5LCAweGEyLCAweDAwLCAweDAwLCAweDEyLCAweDE5LCAweGVlLCAweDA5LCAweGIyLCAweDAwLCAweDE4LCAweDVlLCAweGIwLCAweDBhLCAKLSAgICAweDc4LCAweDBkLCAweDdlLCAweDY4LCAweDBhLCAweDgyLCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDFhLCAweDkzLCAweDgwLCAweDFhLCAweDdlLCAKLSAgICAweDY4LCAweDBhLCAweDhiLCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDFhLCAweDkzLCAweDEyLCAweDFhLCAweDA4LCAweDMwLCAweDA5LCAweDA5LCAKLSAgICAweDE5LCAweGEyLCAweDAwLCAweDAwLCAweDEyLCAweDE5LCAweGVlLCAweDgwLCAweGY3LCAweDJlLCAweDI0LCAweDAxLCAweDAwLCAweGE1LCAweGQ5LCAweGI2LCAKLSAgICAweDMwLCAweDA0LCAweDAzLCAweDAyLCAweDE2LCAweDhjLCAweDdlLCAweDY4LCAweDBjLCAweGY5LCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDFhLCAKLSAgICAweDkzLCAweDdlLCAweDI0LCAweDgwLCAweDAwLCAweDdlLCAweDExLCAweDA5LCAweDBiLCAweDAwLCAweDZjLCAweGFhLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAKLSAgICAweDEyLCAweDE5LCAweGVlLCAweDA5LCAweGIyLCAweDAwLCAweDE4LCAweDdlLCAweGEwLCAweDAyLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDZjLCAweGFhLCAKLSAgICAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDEyLCAweDE5LCAweGVlLCAweDA5LCAweGIyLCAweDAwLCAweDE4LCAweDVlLCAweGIwLCAweDBhLCAweDc4LCAweDNjLCAKLSAgICAweDdlLCAweGEwLCAweDAxLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDEyLCAweDE5LCAweGVlLCAweDA5LCAweGIyLCAweDAwLCAweDE4LCAweDdlLCAweGEwLCAKLSAgICAweDAzLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDdlLCAweGEwLCAweDAxLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDEyLCAweDE5LCAweGVlLCAweDA5LCAKLSAgICAweGIyLCAweDAwLCAweDE4LCAweDVlLCAweGIwLCAweDBhLCAweDc4LCAweDE0LCAweDdlLCAweDY4LCAweDBhLCAweDgyLCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAKLSAgICAweDEyLCAweDFhLCAweDkzLCAweDJlLCAweDI0LCAweDAxLCAweDAwLCAweGE1LCAweGQ5LCAweDllLCAweDgwLCAweDIwLCAweDdlLCAweDY4LCAweDBhLCAweDhiLCAKLSAgICAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDFhLCAweDkzLCAweDEyLCAweDFhLCAweDA4LCAweDMwLCAweDA5LCAweGU2LCAweDdlLCAweGEwLCAweDAyLCAKLSAgICAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDZjLCAweGFhLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDgwLCAweGYxLCAweDdlLCAweDY4LCAweDBkLCAweDQxLCAKLSAgICAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDFhLCAweDkzLCAweDdlLCAweDI0LCAweDgwLCAweDAwLCAweDdlLCAweDExLCAweDA5LCAweDBiLCAweDAwLCAKLSAgICAweDZjLCAweGFhLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDEyLCAweDE5LCAweGVlLCAweDA5LCAweGIyLCAweDAwLCAweDE4LCAweDdlLCAweGEwLCAweDAxLCAKLSAgICAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDZjLCAweGFhLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDEyLCAweDE5LCAweGVlLCAweDA5LCAweGIyLCAweDAwLCAKLSAgICAweDE4LCAweDVlLCAweGIwLCAweDA1LCAweDc4LCAweDNjLCAweDdlLCAweGEwLCAweDAyLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDEyLCAweDE5LCAweGVlLCAKLSAgICAweDA5LCAweGIyLCAweDAwLCAweDE4LCAweDdlLCAweGEwLCAweDAzLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDdlLCAweGEwLCAweDAyLCAweDE5LCAweGEyLCAKLSAgICAweDAwLCAweDEwLCAweDEyLCAweDE5LCAweGVlLCAweDA5LCAweGIyLCAweDAwLCAweDE4LCAweDVlLCAweGIwLCAweDA1LCAweDc4LCAweDE0LCAweDdlLCAweDY4LCAKLSAgICAweDBhLCAweDgyLCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDFhLCAweDkzLCAweDJlLCAweDI0LCAweDAxLCAweDAwLCAweGE1LCAweGQ5LCAweDllLCAKLSAgICAweDgwLCAweDIwLCAweDdlLCAweDY4LCAweDBhLCAweDhiLCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDFhLCAweDkzLCAweDEyLCAweDFhLCAweDA4LCAKLSAgICAweDMwLCAweDA5LCAweGU2LCAweDdlLCAweGEwLCAweDAxLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDZjLCAweGFhLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAKLSAgICAweDgwLCAweGYxLCAweDdlLCAweDY4LCAweDBkLCAweDg5LCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDFhLCAweDkzLCAweDdlLCAweDI0LCAweDgwLCAKLSAgICAweDAwLCAweDdlLCAweDExLCAweDA5LCAweDBiLCAweDAwLCAweDdlLCAweGEwLCAweDAyLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDEyLCAweDE5LCAweGVlLCAKLSAgICAweDA5LCAweGIyLCAweDAwLCAweDE4LCAweDVlLCAweGIwLCAweDUwLCAweGJlLCAweGIwLCAweDUwLCAweDc4LCAweDFmLCAweDZjLCAweGFhLCAweDE5LCAweGEyLCAKLSAgICAweDAwLCAweDEwLCAweDEyLCAweDE5LCAweGVlLCAweDA5LCAweGIyLCAweDAwLCAweDE4LCAweDVlLCAweGIwLCAweDUwLCAweDc4LCAweDBkLCAweDdlLCAweDY4LCAKLSAgICAweDBhLCAweDgyLCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDFhLCAweDkzLCAweDgwLCAweDIwLCAweDdlLCAweDY4LCAweDBhLCAweDhiLCAweDdhLCAKLSAgICAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDFhLCAweDkzLCAweDEyLCAweDFhLCAweDA4LCAweDMwLCAweDA5LCAweDBmLCAweDdlLCAweGEwLCAweDAyLCAweDE5LCAKLSAgICAweGEyLCAweDAwLCAweDEwLCAweDZjLCAweGFhLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDgwLCAweGYxLCAweDJlLCAweDI0LCAweDAxLCAweDAwLCAweGE1LCAKLSAgICAweGQ5LCAweGEyLCAweDdlLCAweDY4LCAweDBkLCAweGQxLCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDFhLCAweDkzLCAweDdlLCAweDI0LCAweDgwLCAKLSAgICAweDAwLCAweDdlLCAweDExLCAweDA5LCAweDBiLCAweDAwLCAweDA5LCAweGIyLCAweDAwLCAweDE4LCAweDdlLCAweGEwLCAweDAxLCAweDE5LCAweGEyLCAweDAwLCAKLSAgICAweDEwLCAweDEyLCAweDE5LCAweGVlLCAweDA5LCAweGIyLCAweDAwLCAweDE4LCAweDVlLCAweGIwLCAweGEwLCAweGJlLCAweGIwLCAweGEwLCAweDc4LCAweDFmLCAKLSAgICAweDZjLCAweGFhLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDEyLCAweDE5LCAweGVlLCAweDA5LCAweGIyLCAweDAwLCAweDE4LCAweDVlLCAweGIwLCAweGEwLCAKLSAgICAweDc4LCAweDBkLCAweDdlLCAweDY4LCAweDBhLCAweDgyLCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDFhLCAweDkzLCAweDgwLCAweDIwLCAweDdlLCAKLSAgICAweDY4LCAweDBhLCAweDhiLCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDFhLCAweDkzLCAweDEyLCAweDFhLCAweDA4LCAweDMwLCAweDA5LCAweDBmLCAKLSAgICAweDdlLCAweGEwLCAweDAxLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDZjLCAweGFhLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDgwLCAweGYxLCAweDJlLCAKLSAgICAweDI0LCAweDAxLCAweDAwLCAweGE1LCAweGQ5LCAweDllLCAweDAyLCAweDE4LCAweDJiLCAweDdlLCAweDY4LCAweDBkLCAweDFkLCAweDdhLCAweDZjLCAweDAwLCAKLSAgICAweGZmLCAweDEyLCAweDFhLCAweDkzLCAweDdlLCAweDI0LCAweDgwLCAweDAwLCAweDdlLCAweDExLCAweDA5LCAweDBiLCAweDAwLCAweDZjLCAweGFhLCAweDE5LCAKLSAgICAweGEyLCAweDAwLCAweDEwLCAweDEyLCAweDE5LCAweGVlLCAweDA5LCAweGIyLCAweDAwLCAweDE4LCAweDdlLCAweGEwLCAweDAyLCAweDE5LCAweGEyLCAweDAwLCAKLSAgICAweDEwLCAweDZjLCAweGFhLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDEyLCAweDE5LCAweGVlLCAweDA5LCAweGIyLCAweDAwLCAweDE4LCAweDVlLCAweGIwLCAKLSAgICAweDA2LCAweDc4LCAweDNjLCAweDdlLCAweGEwLCAweDAxLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDEyLCAweDE5LCAweGVlLCAweDA5LCAweGIyLCAweDAwLCAKLSAgICAweDE4LCAweDdlLCAweGEwLCAweDAzLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDdlLCAweGEwLCAweDAxLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDEyLCAKLSAgICAweDE5LCAweGVlLCAweDA5LCAweGIyLCAweDAwLCAweDE4LCAweDVlLCAweGIwLCAweDA2LCAweDc4LCAweDE0LCAweDdlLCAweDY4LCAweDBhLCAweDgyLCAweDdhLCAKLSAgICAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDFhLCAweDkzLCAweDJlLCAweDI0LCAweDAxLCAweDAwLCAweGE1LCAweGQ5LCAweDllLCAweDgwLCAweDIwLCAweDdlLCAKLSAgICAweDY4LCAweDBhLCAweDhiLCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDFhLCAweDkzLCAweDEyLCAweDFhLCAweDA4LCAweDMwLCAweDA5LCAweGU2LCAKLSAgICAweDdlLCAweGEwLCAweDAyLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDZjLCAweGFhLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDgwLCAweGYxLCAweDdlLCAKLSAgICAweDY4LCAweDBkLCAweDY1LCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDFhLCAweDkzLCAweDdlLCAweDI0LCAweDgwLCAweDAwLCAweDdlLCAweDExLCAKLSAgICAweDA5LCAweDBiLCAweDAwLCAweDZjLCAweGFhLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDEyLCAweDE5LCAweGVlLCAweDA5LCAweGIyLCAweDAwLCAweDE4LCAKLSAgICAweDdlLCAweGEwLCAweDAxLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDZjLCAweGFhLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDEyLCAweDE5LCAweGVlLCAKLSAgICAweDA5LCAweGIyLCAweDAwLCAweDE4LCAweDVlLCAweGIwLCAweDA5LCAweDc4LCAweDNjLCAweDdlLCAweGEwLCAweDAyLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAKLSAgICAweDEyLCAweDE5LCAweGVlLCAweDA5LCAweGIyLCAweDAwLCAweDE4LCAweDdlLCAweGEwLCAweDAzLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDdlLCAweGEwLCAKLSAgICAweDAyLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDEyLCAweDE5LCAweGVlLCAweDA5LCAweGIyLCAweDAwLCAweDE4LCAweDVlLCAweGIwLCAweDA5LCAweDc4LCAKLSAgICAweDE0LCAweDdlLCAweDY4LCAweDBhLCAweDgyLCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDFhLCAweDkzLCAweDJlLCAweDI0LCAweDAxLCAweDAwLCAKLSAgICAweGE1LCAweGQ5LCAweDllLCAweDgwLCAweDIwLCAweDdlLCAweDY4LCAweDBhLCAweDhiLCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDFhLCAweDkzLCAKLSAgICAweDEyLCAweDFhLCAweDA4LCAweDMwLCAweDA5LCAweGU2LCAweDdlLCAweGEwLCAweDAxLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDZjLCAweGFhLCAweDE5LCAKLSAgICAweGEyLCAweDAwLCAweDEwLCAweDgwLCAweGYxLCAweDdlLCAweDY4LCAweDBkLCAweGFkLCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDFhLCAweDkzLCAKLSAgICAweDdlLCAweDI0LCAweDgwLCAweDAwLCAweDdlLCAweDExLCAweDA5LCAweDBiLCAweDAwLCAweDdlLCAweGEwLCAweDAyLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAKLSAgICAweDEyLCAweDE5LCAweGVlLCAweDA5LCAweGIyLCAweDAwLCAweDE4LCAweDVlLCAweGIwLCAweDkwLCAweGJlLCAweGIwLCAweDkwLCAweDc4LCAweDFmLCAweDZjLCAKLSAgICAweGFhLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDEyLCAweDE5LCAweGVlLCAweDA5LCAweGIyLCAweDAwLCAweDE4LCAweDVlLCAweGIwLCAweDkwLCAweDc4LCAKLSAgICAweDBkLCAweDdlLCAweDY4LCAweDBhLCAweDgyLCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDFhLCAweDkzLCAweDgwLCAweDIwLCAweDdlLCAweDY4LCAKLSAgICAweDBhLCAweDhiLCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDFhLCAweDkzLCAweDEyLCAweDFhLCAweDA4LCAweDMwLCAweDA5LCAweDBmLCAweDdlLCAKLSAgICAweGEwLCAweDAyLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDZjLCAweGFhLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDgwLCAweGYxLCAweDJlLCAweDI0LCAKLSAgICAweDAxLCAweDAwLCAweGE1LCAweGQ5LCAweGEyLCAweDAyLCAweDE4LCAweGI3LCAweDMwLCAweDE3LCAweDAzLCAweDAyLCAweDE5LCAweDNiLCAweGMyLCAweDhhLCAKLSAgICAweDEyLCAweDE5LCAweDIyLCAweDdlLCAweDI0LCAweDgwLCAweDAwLCAweDdlLCAweDExLCAweDA5LCAweDZjLCAweGFhLCAweDE5LCAweGEyLCAweDAwLCAweDA0LCAKLSAgICAweDEyLCAweDE5LCAweGVlLCAweDBiLCAweDAwLCAweDdlLCAweGEwLCAweDA4LCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDEyLCAweDE5LCAweGVlLCAweDIwLCAKLSAgICAweDhiLCAweDNlLCAweDIwLCAweDg5LCAweDNiLCAweDdlLCAweGEwLCAweDA4LCAweDE5LCAweGEyLCAweDAwLCAweDA0LCAweDA5LCAweGEyLCAweDAwLCAweDEwLCAKLSAgICAweDRlLCAweGEwLCAweDAyLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDEyLCAweDE5LCAweGVlLCAweDMwLCAweDhiLCAweDIzLCAweDMwLCAweDg5LCAweDIwLCAKLSAgICAweDA5LCAweGEyLCAweDAwLCAweDEwLCAweDVlLCAweGEwLCAweGZkLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDEyLCAweDE5LCAweGVlLCAweDdlLCAweGEwLCAKLSAgICAweDAwLCAweDE5LCAweGEyLCAweDAwLCAweDA0LCAweDEyLCAweDE5LCAweGVlLCAweDIwLCAweDhiLCAweDA1LCAweDIwLCAweDg5LCAweDAyLCAweDgwLCAweDFhLCAKLSAgICAweDEyLCAweDFhLCAweDA4LCAweDMwLCAweDA5LCAweDE0LCAweDdlLCAweGEwLCAweDAyLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDAwLCAweDAwLCAweDVlLCAKLSAgICAweGEwLCAweGZkLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDAwLCAweDAwLCAweDgwLCAweGVjLCAweDJlLCAweDI0LCAweDAxLCAweDAwLCAweGE1LCAweGQ5LCAKLSAgICAweDg5LCAweDAyLCAweDE5LCAweDNiLCAweDIwLCAweDE3LCAweGZhLCAweDEyLCAweDEzLCAweDhhLCAweDEyLCAweDE5LCAweDIyLCAweDdlLCAweDI0LCAweDgwLCAKLSAgICAweDAwLCAweDdlLCAweDExLCAweDA5LCAweDBiLCAweDAwLCAweDIwLCAweDg5LCAweDI2LCAweDdlLCAweGEwLCAweGZmLCAweDE5LCAweGEyLCAweDAwLCAweDA0LCAKLSAgICAweDEyLCAweDE5LCAweGVlLCAweDdlLCAweGIwLCAweDU1LCAweDE5LCAweGIyLCAweDAwLCAweDAwLCAweDEyLCAweDE5LCAweGVlLCAweDMwLCAweDg5LCAweDBmLCAKLSAgICAweDdlLCAweGEwLCAweDAwLCAweDE5LCAweGEyLCAweDAwLCAweDA0LCAweDEyLCAweDE5LCAweGVlLCAweDIwLCAweDg5LCAweDAyLCAweDgwLCAweDI2LCAweDEyLCAKLSAgICAweDFhLCAweDA4LCAweDMwLCAweDA5LCAweDIwLCAweDdlLCAweGEwLCAweGZmLCAweDE5LCAweGEyLCAweDAwLCAweDA0LCAweDEyLCAweDE5LCAweGVlLCAweDdlLCAKLSAgICAweGIwLCAweDU1LCAweDE5LCAweGIyLCAweDAwLCAweDAwLCAweDEyLCAweDE5LCAweGVlLCAweDdlLCAweGEwLCAweDAwLCAweDE5LCAweGEyLCAweDAwLCAweDA0LCAKLSAgICAweDEyLCAweDE5LCAweGVlLCAweDgwLCAweGUwLCAweDJlLCAweDI0LCAweDAxLCAweDAwLCAweGE1LCAweGQ5LCAweGE4LCAweDAyLCAweDE5LCAweDNiLCAweDdlLCAKLSAgICAweDI0LCAweDgwLCAweDAwLCAweDdlLCAweDExLCAweDA5LCAweDdlLCAweGEwLCAweDA4LCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDEyLCAweDE5LCAweGVlLCAKLSAgICAweDJlLCAweDI0LCAweDAxLCAweDAwLCAweGE1LCAweGQ5LCAweGVmLCAweDIyLCAweDMwLCAweDBhLCAweDE5LCAweDdlLCAweDY4LCAweDBkLCAweGY1LCAweDdhLCAKLSAgICAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDFhLCAweDkzLCAweGQyLCAweDA5LCAweDEyLCAweDE5LCAweGVlLCAweDEyLCAweDE5LCAweGVlLCAweDEyLCAweDE5LCAKLSAgICAweGVlLCAweDAyLCAweDBmLCAweDEwLCAweDMwLCAweDE3LCAweDFjLCAweDdlLCAweDY4LCAweDBlLCAweDZmLCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAKLSAgICAweDFhLCAweDkzLCAweDdlLCAweDY4LCAweDBlLCAweDkxLCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDFhLCAweDkzLCAweDEyLCAweDFiLCAweDNjLCAKLSAgICAweDAyLCAweDE5LCAweGU2LCAweDBiLCAweDAwLCAweDdlLCAweDc4LCAweDE5LCAweGEwLCAweDdhLCAweDdjLCAweDAwLCAweGZmLCAweDdmLCAweDY3LCAweDdhLCAKLSAgICAweDZjLCAweDAwLCAweDAwLCAweDdlLCAweDcwLCAweDNlLCAweDdlLCAweDdiLCAweGIwLCAweDdhLCAweDZiLCAweGIwLCAweDBiLCAweDdjLCAweDBiLCAweDZjLCAKLSAgICAweGE1LCAweGRmLCAweGYzLCAweDdlLCAweDc4LCAweDE5LCAweGEwLCAweDdhLCAweDdjLCAweDAwLCAweDAwLCAweDg5LCAweDc4LCAweDdlLCAweDc4LCAweDAwLCAKLSAgICAweDAwLCAweDdhLCAweDdjLCAweDAwLCAweGZlLCAweDdlLCAweDY4LCAweDdmLCAweGJmLCAweDdhLCAweDZjLCAweDAwLCAweGZlLCAweDc0LCAweGFhLCAweDM5LCAKLSAgICAweGI3LCAweDU1LCAweDU1LCAweDc0LCAweDU1LCAweDM5LCAweGI3LCAweDJhLCAweGFhLCAweDc0LCAweGEwLCAweDM5LCAweGI3LCAweDU1LCAweDU1LCAweDZjLCAKLSAgICAweDk5LCAweDdhLCAweDZiLCAweDkwLCAweDdlLCAweDU0LCAweDI3LCAweDEwLCAweDdlLCAweDZiLCAweDgwLCAweGJjLCAweDg5LCAweDY4LCAweDA4LCAweDFiLCAKLSAgICAweDU0LCAweDc4LCAweGY1LCAweDhhLCAweGZmLCAweDE5LCAweGRlLCAweDhhLCAweGZmLCAweDE5LCAweGU2LCAweDEyLCAweDFhLCAweDA4LCAweDdlLCAweDZiLCAKLSAgICAweDgwLCAweDgwLCAweGZiLCAweDdlLCAweDEwLCAweGZmLCAweDEyLCAweDFhLCAweDg1LCAweDgwLCAweGY4LCAweGNhLCAweGY5LCAweDdlLCAweGY0LCAweDAwLCAKLSAgICAweGZmLCAweDFiLCAweGY0LCAweDc4LCAweGZjLCAweGRhLCAweGY5LCAweDIyLCAweGNhLCAweGY5LCAweDdlLCAweGY0LCAweDAwLCAweDAwLCAweDFiLCAweGY0LCAKLSAgICAweDc4LCAweGZjLCAweGRhLCAweGY5LCAweDIyLCAweDIwLCAweDA5LCAweDE5LCAweGQyLCAweDBhLCAweDEyLCAweDE5LCAweGZiLCAweGMyLCAweDk1LCAweGQyLCAKLSAgICAweDk0LCAweDEyLCAweDE5LCAweGZiLCAweDEyLCAweDE5LCAweGZiLCAweDEyLCAweDE5LCAweGZiLCAweDEyLCAweDE5LCAweGZiLCAweDQzLCAweDkwLCAweDMwLCAKLSAgICAweDIyLCAweGNhLCAweDBiLCAweDdlLCAweDEwLCAweDAzLCAweDdjLCAweDMwLCAweDZjLCAweDIyLCAweDBiLCAweDIwLCAweDllLCAweDMwLCAweDBhLCAweDUwLCAKLSAgICAweGY5LCAweDJlLCAweDMwLCAweDBiLCAweDFiLCAweDIwLCAweDY4LCAweDE4LCAweDEyLCAweDE5LCAweGZiLCAweDEyLCAweDE5LCAweGZiLCAweDUzLCAweDkwLCAKLSAgICAweGNmLCAweDEyLCAweDE5LCAweGZiLCAweDEyLCAweDE5LCAweGZiLCAweDEyLCAweDE5LCAweGZiLCAweDQzLCAweDkwLCAweDMwLCAweGE1LCAweGRhLCAweGU4LCAKLSAgICAweDEyLCAweDE5LCAweGZiLCAweDEyLCAweDE5LCAweGZiLCAweDFiLCAweDMwLCAweDY4LCAweDE5LCAweDEyLCAweDE5LCAweGZiLCAweDEyLCAweDE5LCAweGZiLCAKLSAgICAweGMyLCAweDk1LCAweGQyLCAweDk0LCAweDEyLCAweDE5LCAweGZiLCAweDEyLCAweDE5LCAweGZiLCAweDEyLCAweDE5LCAweGZiLCAweDQzLCAweDkwLCAweDMwLCAKLSAgICAweGE1LCAweGRiLCAweGU3LCAweDdlLCAweDIwLCAweDBhLCAweDEyLCAweDE5LCAweGZiLCAweGE1LCAweGRhLCAweGZhLCAweGE1LCAweGQ5LCAweGE3LCAweGRhLCAKLSAgICAweDBiLCAweDIyLCAweDIwLCAweDA5LCAweDBhLCAweDEyLCAweDE5LCAweGZiLCAweGIyLCAweDk0LCAweDEyLCAweDE5LCAweGZiLCAweGIyLCAweDk0LCAweDIyLCAKLSAgICAweDMwLCAweDE3LCAweDMyLCAweDIwLCAweDA5LCAweDJmLCAweGNhLCAweDJiLCAweGNhLCAweDdiLCAweDdlLCAweDc4LCAweDgwLCAweDAwLCAweDdhLCAweDdjLCAKLSAgICAweDAwLCAweGZlLCAweDEyLCAweDFiLCAweDFjLCAweDdlLCAweDZiLCAweGEwLCAweDVjLCAweGFhLCAweDY4LCAweDEwLCAweDI5LCAweGI3LCAweDAwLCAweDE0LCAKLSAgICAweDU0LCAweDYwLCAweDY4LCAweGY4LCAweDM5LCAweGE3LCAweDAwLCAweDAwLCAweDBiLCAweDZjLCAweDgwLCAweGU5LCAweDEyLCAweDE5LCAweGVlLCAweGQyLCAKLSAgICAweGI1LCAweGRhLCAweDdiLCAweGRhLCAweDJiLCAweDIyLCAweDEyLCAweDFhLCAweGQ0LCAweDdlLCAweDY4LCAweDAwLCAweDBiLCAweDEyLCAweDFhLCAweDkzLCAKLSAgICAweDIyLCAweGNhLCAweDU5LCAweGNhLCAweDViLCAweDdlLCAweGI0LCAweDAwLCAweDBiLCAweDdjLCAweGI4LCAweGM0LCAweDEyLCAweDFiLCAweDA0LCAweDdjLCAKLSAgICAweGI4LCAweDEyLCAweDFiLCAweDA0LCAweDdjLCAweGI5LCAweGM0LCAweDEyLCAweDFiLCAweDA0LCAweDdjLCAweGI5LCAweDEyLCAweDFiLCAweDA0LCAweDdlLCAKLSAgICAweGIwLCAweDY4LCAweDdhLCAweGI5LCAweGIwLCAweDBiLCAweGI0LCAweDZjLCAweGJiLCAweDdhLCAweGI5LCAweGIwLCAweGRhLCAweDU5LCAweGRhLCAweDViLCAKLSAgICAweDIyLCAweDVlLCAweGIwLCAweDBmLCAweDdjLCAweGFiLCAweDllLCAweGEwLCAweDBhLCAweDQwLCAweDA1LCAweDJlLCAweGIwLCAweDM3LCAweDgwLCAweDAzLCAKLSAgICAweDJlLCAweGIwLCAweDMwLCAweDdhLCAweGI5LCAweGIwLCAweDBiLCAweGI0LCAweDIyLCAweGMyLCAweGI1LCAweGMyLCAweDkyLCAweDEyLCAweDE5LCAweGVlLCAKLSAgICAweDc0LCAweDgwLCAweDM5LCAweGI3LCAweDAwLCAweDBjLCAweDdlLCAweDU0LCAweDAwLCAweDA2LCAweDM5LCAweGE3LCAweDAwLCAweDA0LCAweDM5LCAweGI3LCAKLSAgICAweDAwLCAweDAwLCAweDc0LCAweDAzLCAweDM5LCAweGI3LCAweDAwLCAweDBjLCAweDIyLCAweDdlLCAweDc4LCAweDAwLCAweDAwLCAweDdhLCAweDdjLCAweDAwLCAKLSAgICAweGZmLCAweDdlLCAweDU4LCAweDAwLCAweDAwLCAweDdhLCAweDVjLCAweDAwLCAweDAxLCAweDdmLCAweDY1LCAweDdlLCAweDc0LCAweDIwLCAweDAwLCAweDEyLCAKLSAgICAweDA4LCAweGQ2LCAweDQwLCAweDU0LCAweDdlLCAweDc4LCAweDdjLCAweDAwLCAweDdhLCAweDdjLCAweDAwLCAweGZmLCAweDdlLCAweDU4LCAweDAwLCAweDAwLCAKLSAgICAweDdhLCAweDVjLCAweDAwLCAweDAxLCAweDdlLCAweDY4LCAweDdjLCAweDAwLCAweDdhLCAweDZjLCAweDAwLCAweDAxLCAweDdlLCAweDc0LCAweDA0LCAweDAwLCAKLSAgICAweDEyLCAweDA4LCAweGQ2LCAweDQwLCAweDMzLCAweDc0LCAweDgwLCAweDEyLCAweDFiLCAweGIxLCAweDQwLCAweDJjLCAweDUzLCAweDkwLCAweGNmLCAweGQyLCAKLSAgICAweDA4LCAweDdlLCAweDA0LCAweDAwLCAweDA4LCAweDdlLCAweDE0LCAweDAwLCAweDAwLCAweDg0LCAweGE1LCAweGRiLCAweGZjLCAweGE1LCAweGRhLCAweGY5LCAKLSAgICAweGE1LCAweGQ5LCAweGY2LCAweDc0LCAweDQwLCAweDEyLCAweDFiLCAweGIxLCAweDQwLCAweDBlLCAweDdlLCAweDY4LCAweDBlLCAweGMwLCAweDdhLCAweDZjLCAKLSAgICAweDAwLCAweGZmLCAweDEyLCAweDFhLCAweDkzLCAweDAyLCAweDE5LCAweGU2LCAweGMyLCAweDk1LCAweGQyLCAweDk0LCAweDgwLCAweGZlLCAweGY1LCAweDBhLCAKLSAgICAweDdlLCAweDc4LCAweDAwLCAweDBhLCAweDdhLCAweDdjLCAweDAwLCAweDAwLCAweDdlLCAweDY4LCAweDdmLCAweGJmLCAweDdhLCAweDZjLCAweDAwLCAweDAxLCAKLSAgICAweDdlLCAweDc0LCAweDAwLCAweDAxLCAweDAyLCAweDA4LCAweGQ2LCAKLX07Ci0KLXN0YXRpYyBzdHJ1Y3QgZWRnZV9maXJtd2FyZV92ZXJzaW9uX2luZm8gSU1BR0VfVkVSU0lPTl9OQU1FID0gewotCTEsIDEyLCAyIH07CQkvLyBNYWpvciwgTWlub3IsIEJ1aWxkCi0KLSN1bmRlZiBJTUFHRV9WRVJTSU9OX05BTUUKLQotI3VuZGVmIElNQUdFX0FSUkFZX05BTUUKLQpkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2Ivc2VyaWFsL2lvX2Z3X2Jvb3QyLmggYi9kcml2ZXJzL3VzYi9zZXJpYWwvaW9fZndfYm9vdDIuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTM0NjNkZS4uMDAwMDAwMAotLS0gYS9kcml2ZXJzL3VzYi9zZXJpYWwvaW9fZndfYm9vdDIuaAorKysgL2Rldi9udWxsCkBAIC0xLDU0NiArMCwwIEBACi0vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0vLyogRWRnZXBvcnQvNCBCaW5hcnkgSW1hZ2UKLS8vKiBHZW5lcmF0ZWQgYnkgSEVYMkMgdjEuMDYKLS8vKiBDb3B5cmlnaHQgKEMpIDE5OTggSW5zaWRlIE91dCBOZXR3b3JrcywgQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vKglUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQotLy8qCWl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci0vLyoJdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKLS8vKgkoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotCi0KLS8vSW1hZ2Ugc3RydWN0dXJlIGRlZmluaXRpb24KLSNpZiAhZGVmaW5lZChERUZJTkVEX0VER0VfRklSTVdBUkVfSU1BR0VfUkVDT1JEKQotI2RlZmluZSBERUZJTkVEX0VER0VfRklSTVdBUkVfSU1BR0VfUkVDT1JECi0Jc3RydWN0IGVkZ2VfZmlybXdhcmVfaW1hZ2VfcmVjb3JkIHsKLQkJX19sZTE2IEV4dEFkZHI7Ci0JCV9fbGUxNiBBZGRyOwotCQlfX2xlMTYgTGVuOwotCQl1bnNpZ25lZCBjaGFyICBEYXRhWzBdOwotCX0gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpOwotCi0Jc3RydWN0IGVkZ2VfZmlybXdhcmVfdmVyc2lvbl9pbmZvIHsKLQkJdW5zaWduZWQgY2hhcgkgTWFqb3JWZXJzaW9uOwotCQl1bnNpZ25lZCBjaGFyICBNaW5vclZlcnNpb247Ci0JCXVuc2lnbmVkIHNob3J0IEJ1aWxkTnVtYmVyOwotCX07Ci0KLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoSU1BR0VfQVJSQVlfTkFNRSkKLSNkZWZpbmUgSU1BR0VfQVJSQVlfTkFNRQkJRmlybXdhcmVJbWFnZQotI2RlZmluZSBJTUFHRV9WRVJTSU9OX05BTUUJRmlybXdhcmVJbWFnZVZlcnNpb24KLSNlbmRpZgotCi1zdGF0aWMgdW5zaWduZWQgY2hhciBJTUFHRV9BUlJBWV9OQU1FW10gPSB7Ci0KLS8vIFNlZ21lbnQgIzEsIFN0YXJ0IEFkZHJlc3MgMDBmZjAwMDAsIExlbmd0aCA2Ci0weGZmLDB4MDAsMHgwMCwweDAwLDB4MDYsMHgwMCwKLSAgICAweDAyLCAweDAwLCAweDgwLCAweDAyLCAweDAwLCAweDAzLCAKLQotLy8gU2VnbWVudCAjMiwgU3RhcnQgQWRkcmVzcyAwMGZmMDAwYiwgTGVuZ3RoIDMKLTB4ZmYsMHgwMCwweDBiLDB4MDAsMHgwMywweDAwLAotICAgIDB4MDIsIDB4MDAsIDB4MGIsIAotCi0vLyBTZWdtZW50ICMzLCBTdGFydCBBZGRyZXNzIDAwZmYwMDEzLCBMZW5ndGggMwotMHhmZiwweDAwLDB4MTMsMHgwMCwweDAzLDB4MDAsCi0gICAgMHgwMiwgMHgwMiwgMHg1NiwgCi0KLS8vIFNlZ21lbnQgIzQsIFN0YXJ0IEFkZHJlc3MgMDBmZjAwMWIsIExlbmd0aCAzCi0weGZmLDB4MDAsMHgxYiwweDAwLDB4MDMsMHgwMCwKLSAgICAweDAyLCAweDAwLCAweDFiLCAKLQotLy8gU2VnbWVudCAjNSwgU3RhcnQgQWRkcmVzcyAwMGZmMDAyMywgTGVuZ3RoIDMKLTB4ZmYsMHgwMCwweDIzLDB4MDAsMHgwMywweDAwLAotICAgIDB4MDIsIDB4MDAsIDB4MjMsIAotCi0vLyBTZWdtZW50ICM2LCBTdGFydCBBZGRyZXNzIDAwZmYwMDJiLCBMZW5ndGggMwotMHhmZiwweDAwLDB4MmIsMHgwMCwweDAzLDB4MDAsCi0gICAgMHgwMiwgMHgwMCwgMHgyYiwgCi0KLS8vIFNlZ21lbnQgIzcsIFN0YXJ0IEFkZHJlc3MgMDBmZjAwMzMsIExlbmd0aCAzCi0weGZmLDB4MDAsMHgzMywweDAwLDB4MDMsMHgwMCwKLSAgICAweDAyLCAweDAwLCAweDMzLCAKLQotLy8gU2VnbWVudCAjOCwgU3RhcnQgQWRkcmVzcyAwMGZmMDAzYiwgTGVuZ3RoIDMKLTB4ZmYsMHgwMCwweDNiLDB4MDAsMHgwMywweDAwLAotICAgIDB4MDIsIDB4MDAsIDB4M2IsIAotCi0vLyBTZWdtZW50ICM5LCBTdGFydCBBZGRyZXNzIDAwZmYwMDQzLCBMZW5ndGggMwotMHhmZiwweDAwLDB4NDMsMHgwMCwweDAzLDB4MDAsCi0gICAgMHgwMiwgMHgwMCwgMHg0MywgCi0KLS8vIFNlZ21lbnQgIzEwLCBTdGFydCBBZGRyZXNzIDAwZmYwMDRiLCBMZW5ndGggMwotMHhmZiwweDAwLDB4NGIsMHgwMCwweDAzLDB4MDAsCi0gICAgMHgwMiwgMHgwMCwgMHg0YiwgCi0KLS8vIFNlZ21lbnQgIzExLCBTdGFydCBBZGRyZXNzIDAwZmYwMDUzLCBMZW5ndGggMwotMHhmZiwweDAwLDB4NTMsMHgwMCwweDAzLDB4MDAsCi0gICAgMHgwMiwgMHgwMSwgMHhmNSwgCi0KLS8vIFNlZ21lbnQgIzEyLCBTdGFydCBBZGRyZXNzIDAwZmYwMDdiLCBMZW5ndGggMwotMHhmZiwweDAwLDB4N2IsMHgwMCwweDAzLDB4MDAsCi0gICAgMHgwMiwgMHgwMCwgMHg3YiwgCi0KLS8vIFNlZ21lbnQgIzEzLCBTdGFydCBBZGRyZXNzIDAwZmYwMDgwLCBMZW5ndGggNTM0Ci0weGZmLDB4MDAsMHg4MCwweDAwLDB4MTYsMHgwMiwKLSAgICAweDdlLCAweGIzLCAweDkxLCAweDAxLCAweDIwLCAweGUzLCAweDBjLCAweDdlLCAweGIzLCAweDNmLCAweGYyLCAweDU0LCAweGZlLCAweDdhLCAweGIzLCAweDNmLCAKLSAgICAweGYyLCAweDgwLCAweDBhLCAweDdlLCAweGIzLCAweDNmLCAweGYyLCAweDQ0LCAweDAxLCAweDdhLCAweGIzLCAweDNmLCAweGYyLCAweDc0LCAweDAwLCAweDdhLCAKLSAgICAweGIzLCAweDkxLCAweDAwLCAweDc0LCAweDAxLCAweDdhLCAweGIzLCAweDkxLCAweDEyLCAweDdlLCAweGY4LCAweDAwLCAweDI0LCAweDdlLCAweDAwLCAweDAxLCAKLSAgICAweDdlLCAweDEwLCAweDAwLCAweDEyLCAweDA5LCAweGQwLCAweDY5LCAweDIwLCAweDAwLCAweDBhLCAweDVlLCAweDQwLCAweDFmLCAweGJlLCAweDI0LCAweDAwLCAKLSAgICAweDAwLCAweDc4LCAweDA5LCAweDdlLCAweDAwLCAweDAzLCAweDdhLCAweDAzLCAweDkwLCAweDAwLCAweDgwLCAweDA3LCAweDdlLCAweDAwLCAweDAyLCAweDdhLCAKLSAgICAweDAzLCAweDkwLCAweDAwLCAweDc1LCAweGIwLCAweGRmLCAweDdlLCAweDAwLCAweDAxLCAweDdhLCAweDAzLCAweDk0LCAweDAwLCAweDdhLCAweDAzLCAweDAxLCAKLSAgICAweDI0LCAweDdlLCAweDAwLCAweDAxLCAweDdhLCAweDAzLCAweDkzLCAweDAwLCAweDdlLCAweDAwLCAweDAwLCAweGE1LCAweGQ4LCAweGZkLCAweDc1LCAweGE4LCAKLSAgICAweDAwLCAweDc1LCAweGIxLCAweDAwLCAweGNhLCAweDI5LCAweDEyLCAweDBjLCAweDY2LCAweDEyLCAweDBjLCAweDM3LCAweGY1LCAweDIxLCAweDdhLCAweGExLCAKLSAgICAweDIwLCAweDIwLCAweDA5LCAweDA4LCAweDIwLCAweDBhLCAweDBhLCAweDdlLCAweGIwLCAweDBjLCAweDgwLCAweDA4LCAweDdlLCAweGIwLCAweDAwLCAweDgwLCAKLSAgICAweDAzLCAweDdlLCAweGIwLCAweDA4LCAweDdhLCAweGIzLCAweDkyLCAweDAwLCAweDEyLCAweDAyLCAweDk2LCAweGRhLCAweDI5LCAweDc0LCAweDEwLCAweDdhLCAKLSAgICAweGIzLCAweDkxLCAweDAxLCAweDdlLCAweDIwLCAweDA0LCAweDdjLCAweGIyLCAweGMyLCAweGQ3LCAweDEzLCAweDEzLCAweDEzLCAweDEzLCAweDdhLCAweGIzLCAKLSAgICAweDkxLCAweDAwLCAweDc0LCAweDAwLCAweDdhLCAweGIzLCAweDkxLCAweDEwLCAweDc0LCAweDYwLCAweDdhLCAweGIzLCAweDkxLCAweDFjLCAweDc0LCAweDAyLCAKLSAgICAweDdhLCAweGIzLCAweDkxLCAweDEyLCAweGE1LCAweGRhLCAweGRmLCAweDc0LCAweDAwLCAweDdhLCAweGIzLCAweDkxLCAweDAwLCAweDc0LCAweDYwLCAweDdhLCAKLSAgICAweGIzLCAweDkxLCAweDFjLCAweDc0LCAweDEwLCAweDdhLCAweGIzLCAweDkxLCAweDA2LCAweDc0LCAweDEwLCAweDdhLCAweGIzLCAweDkxLCAweDA3LCAweDc0LCAKLSAgICAweDM0LCAweDdhLCAweGIzLCAweDkxLCAweDEzLCAweDc0LCAweDNmLCAweDdhLCAweGIzLCAweDkxLCAweDE0LCAweDc0LCAweDAyLCAweDdhLCAweGIzLCAweDkxLCAKLSAgICAweDA2LCAweDc0LCAweDAxLCAweDdhLCAweGIzLCAweDkxLCAweDA3LCAweDc0LCAweDAzLCAweDdhLCAweGIzLCAweDkxLCAweDA2LCAweDc0LCAweDQ0LCAweDdhLCAKLSAgICAweGIzLCAweDkxLCAweDA3LCAweDc0LCAweGVmLCAweDdhLCAweGIzLCAweDkxLCAweDA0LCAweDc0LCAweDA3LCAweDdhLCAweGIzLCAweDkxLCAweDA2LCAweDdlLCAKLSAgICAweGIzLCAweDkxLCAweDA3LCAweDdhLCAweGIxLCAweDBhLCAweDc1LCAweDA5LCAweDAxLCAweGQyLCAweGFhLCAweGQyLCAweGFmLCAweGU0LCAweDdlLCAweDYwLCAKLSAgICAweDAyLCAweDRkLCAweDIyLCAweDc4LCAweDAzLCAweDdlLCAweDYwLCAweDAzLCAweDdjLCAweDc2LCAweDdlLCAweDA0LCAweDI4LCAweDAwLCAweDhkLCAweGVmLCAKLSAgICAweDFiLCAweDA0LCAweDc4LCAweGZhLCAweDA0LCAweDdlLCAweDIwLCAweDA3LCAweDdhLCAweDIzLCAweDkxLCAweDA2LCAweDdlLCAweDIzLCAweDkxLCAweDA3LCAKLSAgICAweDdlLCAweDMxLCAweDBhLCAweGJjLCAweDMyLCAweDY4LCAweDIyLCAweDdhLCAweDIxLCAweDBhLCAweDdlLCAweDIxLCAweDA5LCAweDY4LCAweDE3LCAweGNhLCAKLSAgICAweGI4LCAweDc0LCAweDAzLCAweDdhLCAweGIzLCAweDkxLCAweDA2LCAweDdlLCAweGIzLCAweDkxLCAweDA3LCAweDQ0LCAweDAyLCAweDdhLCAweGIzLCAweDkxLCAKLSAgICAweDA3LCAweGRhLCAweGI4LCAweDc1LCAweDA5LCAweDAwLCAweDMwLCAweGUwLCAweGMxLCAweDZjLCAweDY3LCAweDdhLCAweDYzLCAweDkwLCAweDAwLCAweDgwLCAKLSAgICAweGI5LCAweGJlLCAweGIwLCAweDAyLCAweDIyLCAweGMwLCAweGQwLCAweDc1LCAweDA4LCAweGZlLCAweDEyLCAweDBhLCAweGMwLCAweDc0LCAweDAyLCAweDdhLCAKLSAgICAweGIzLCAweDkxLCAweDA2LCAweDc0LCAweDAwLCAweDdhLCAweGIzLCAweDkxLCAweDA3LCAweDc0LCAweDAzLCAweDdhLCAweGIzLCAweDkxLCAweDA2LCAweDc0LCAKLSAgICAweDAwLCAweDdhLCAweGIzLCAweDkxLCAweDA3LCAweDc0LCAweDAyLCAweDdhLCAweGIzLCAweDkxLCAweDA0LCAweDdlLCAweGIzLCAweDNmLCAweGYyLCAweDMwLCAKLSAgICAweGUwLCAweDA4LCAweDc0LCAweDE4LCAweDdhLCAweGIzLCAweDkxLCAweDAxLCAweDgwLCAweDA2LCAweDc0LCAweDEwLCAweDdhLCAweGIzLCAweDkxLCAweDAxLCAKLSAgICAweDc0LCAweDEwLCAweDdhLCAweGIzLCAweDkxLCAweDA0LCAweDAyLCAweDAyLCAweDM2LCAweDc1LCAweDA4LCAweGZmLCAweDEyLCAweDBhLCAweGMwLCAweDc0LCAKLSAgICAweDAxLCAweDdhLCAweGIzLCAweDkxLCAweDA0LCAweDc0LCAweDAzLCAweDdhLCAweGIzLCAweDkxLCAweDA2LCAweDdlLCAweGIzLCAweDkxLCAweDA3LCAweDU0LCAKLSAgICAweGZjLCAweDdhLCAweGIzLCAweDkxLCAweDA3LCAweDMyLCAweGNhLCAweGI4LCAweDc1LCAweDA4LCAweDAyLCAweDEyLCAweDBhLCAweGMwLCAweDdlLCAweGIzLCAKLSAgICAweDkxLCAweDAzLCAweDIwLCAweGU1LCAweDA4LCAweDMwLCAweGUwLCAweDJiLCAweDEyLCAweDAyLCAweDllLCAweDgwLCAweGYxLCAweDdlLCAweGIzLCAweDkxLCAKLSAgICAweDA0LCAweDMwLCAweGUwLCAweDA1LCAweGRhLCAweGI4LCAweDAyLCAweDAyLCAweDM5LCAweDMwLCAweGUxLCAweDA1LCAweGRhLCAweGI4LCAweDAyLCAweDAxLCAKLSAgICAweGY1LCAweDMwLCAweGU2LCAweDA1LCAweDEyLCAweDA0LCAweDAzLCAweDgwLCAweGQ1LCAweDMwLCAweGUyLCAweDA1LCAweGRhLCAweGI4LCAweDAyLCAweDAwLCAKLSAgICAweDgwLCAweDgwLCAweGNiLCAweGRhLCAweGI4LCAweDMyLCAKLQotLy8gU2VnbWVudCAjMTQsIEVYQ0xVREVEIFN0YXJ0IEFkZHJlc3MgMDBmZjMxZDcsIExlbmd0aCAxCi0KLQotLy8gU2VnbWVudCAjMTUsIFN0YXJ0IEFkZHJlc3MgMDBmZjAyOTYsIExlbmd0aCAyMDkwCi0weGZmLDB4MDAsMHg5NiwweDAyLDB4MmEsMHgwOCwKLSAgICAweGU0LCAweDdhLCAweGIzLCAweDNmLCAweGYxLCAweDAyLCAweDAzLCAweDQxLCAweGNhLCAweDBiLCAweGNhLCAweDFiLCAweGNhLCAweDJiLCAweGNhLCAweDNiLCAKLSAgICAweGNhLCAweDRiLCAweGNhLCAweDViLCAweGNhLCAweDZiLCAweGNhLCAweDdiLCAweGNhLCAweGViLCAweDc0LCAweDAwLCAweDdhLCAweGIzLCAweDkxLCAweDAwLCAKLSAgICAweDdlLCAweGIzLCAweDAxLCAweDJlLCAweGI0LCAweDAwLCAweDAyLCAweDgwLCAweDFjLCAweGI0LCAweDAxLCAweDE5LCAweDdlLCAweGIzLCAweDkxLCAweDE0LCAKLSAgICAweDU0LCAweDE0LCAweDY4LCAweDA1LCAweDEyLCAweDAzLCAweDA1LCAweDgwLCAweDIzLCAweDdlLCAweGIzLCAweDkxLCAweDE0LCAweDMwLCAweGU1LCAweDFjLCAKLSAgICAweDEyLCAweDA0LCAweDQzLCAweDgwLCAweDE3LCAweDdlLCAweGIzLCAweDkxLCAweDE0LCAweDMwLCAweGU1LCAweDA1LCAweDEyLCAweDA0LCAweDQzLCAweDgwLCAKLSAgICAweDBiLCAweDdlLCAweGIzLCAweDkxLCAweDE0LCAweDU0LCAweDE0LCAweDY4LCAweDAzLCAweDEyLCAweDAzLCAweDA1LCAweGRhLCAweGViLCAweGRhLCAweDdiLCAKLSAgICAweGRhLCAweDZiLCAweGRhLCAweDViLCAweGRhLCAweDRiLCAweGRhLCAweDNiLCAweGRhLCAweDJiLCAweGRhLCAweDFiLCAweGRhLCAweDBiLCAweDIyLCAweDIwLCAKLSAgICAweGU0LCAweDE5LCAweDc1LCAweDA4LCAweDBhLCAweDEyLCAweDBhLCAweGMwLCAweDdlLCAweGIzLCAweDAxLCAweDJkLCAweDcwLCAweDBhLCAweDdlLCAweGIzLCAKLSAgICAweDAxLCAweDJlLCAweGI0LCAweDAxLCAweDFmLCAweDAyLCAweDAzLCAweDlkLCAweDAyLCAweDA5LCAweDhiLCAweDc1LCAweDA4LCAweDBiLCAweDEyLCAweDBhLCAKLSAgICAweGMwLCAweDc0LCAweDE0LCAweDdhLCAweGIzLCAweDkxLCAweDE0LCAweDdlLCAweGIzLCAweDAxLCAweDJlLCAweGI0LCAweDAyLCAweDBjLCAweDEyLCAweDAzLCAKLSAgICAweDRkLCAweDAyLCAweDAzLCAweDQxLCAweDc0LCAweDA0LCAweDdhLCAweGIzLCAweDkxLCAweDE0LCAweDIyLCAweDdlLCAweDAwLCAweDAwLCAweDdhLCAweDAzLCAKLSAgICAweDAxLCAweDJlLCAweDdhLCAweDAzLCAweDAxLCAweDJmLCAweDIyLCAweDdlLCAweGIzLCAweDAxLCAweDI1LCAweDU0LCAweDYwLCAweDYwLCAweDA1LCAweGI0LCAKLSAgICAweDQwLCAweDFlLCAweDgwLCAweDFjLCAweDdlLCAweGIzLCAweDAxLCAweDI2LCAweGI0LCAweDA1LCAweDE1LCAweDc1LCAweDA4LCAweDcxLCAweDEyLCAweDBhLCAKLSAgICAweGMwLCAweDdlLCAweGIzLCAweDAxLCAweDI4LCAweDdlLCAweGEwLCAweDAxLCAweDdhLCAweGEzLCAweDkxLCAweDA2LCAweDdhLCAweGIzLCAweDkxLCAweDA3LCAKLSAgICAweDIyLCAweDc0LCAweDAwLCAweDdhLCAweGIzLCAweDkxLCAweDAwLCAweDc0LCAweDEwLCAweDdhLCAweGIzLCAweDkxLCAweDEyLCAweDIyLCAweGJlLCAweDU3LCAKLSAgICAweDAxLCAweDJiLCAweDI4LCAweDA0LCAweDdlLCAweDU3LCAweDAxLCAweDJiLCAweDdhLCAweDBmLCAweDAxLCAweDMxLCAweDdhLCAweDU3LCAweDAxLCAweDM1LCAKLSAgICAweDc0LCAweDEwLCAweDdhLCAweGIzLCAweDkxLCAweDEyLCAweDIyLCAweDc0LCAweDAwLCAweDdhLCAweGIzLCAweDkxLCAweDAwLCAweDdlLCAweGIzLCAweDkxLCAKLSAgICAweDFhLCAweDcwLCAweDUzLCAweDdlLCAweGIzLCAweDkxLCAweDE0LCAweDIwLCAweGU0LCAweDRjLCAweDdlLCAweGVmLCAweDAxLCAweDMxLCAweDdlLCAweGY3LCAKLSAgICAweDAxLCAweDM1LCAweDdlLCAweDA3LCAweDAxLCAweDM1LCAweDRkLCAweDAwLCAweDY4LCAweDIxLCAweDdlLCAweDAwLCAweDAwLCAweGUwLCAweDdhLCAweGIzLCAKLSAgICAweDkxLCAweDE3LCAweGEzLCAweGE1LCAweDA4LCAweDFiLCAweGY0LCAweDY4LCAweDA2LCAweGE1LCAweGI4LCAweDEwLCAweGYwLCAweDgwLCAweDE5LCAweDdlLCAKLSAgICAweGIwLCAweDAwLCAweDdhLCAweGIzLCAweDAxLCAweDJlLCAweGJlLCAweDAwLCAweDEwLCAweDY4LCAweDBkLCAweDdlLCAweGIwLCAweDAwLCAweDdhLCAweGIzLCAKLSAgICAweDAxLCAweDJlLCAweDc0LCAweDgwLCAweDdhLCAweGIzLCAweDkxLCAweDFlLCAweDdhLCAweGVmLCAweDAxLCAweDMxLCAweDdhLCAweGY3LCAweDAxLCAweDM1LCAKLSAgICAweDc1LCAweDA4LCAweDA2LCAweDEyLCAweDBhLCAweGMwLCAweDc0LCAweDA0LCAweDdhLCAweGIzLCAweDkxLCAweDE0LCAweDIyLCAweGNhLCAweDBiLCAweGNhLCAKLSAgICAweDFiLCAweGNhLCAweDJiLCAweGNhLCAweDNiLCAweGNhLCAweDRiLCAweGNhLCAweDViLCAweGNhLCAweDZiLCAweGNhLCAweDdiLCAweGNhLCAweGViLCAweDc1LCAKLSAgICAweDA4LCAweDAzLCAweDEyLCAweDBhLCAweGMwLCAweDc0LCAweDAwLCAweDdhLCAweGIzLCAweDAxLCAweDJkLCAweDc0LCAweDAwLCAweDdhLCAweGIzLCAweDkxLCAKLSAgICAweDAwLCAweDc0LCAweDAxLCAweDdhLCAweGIzLCAweDkxLCAweDEyLCAweDEyLCAweDA0LCAweGIyLCAweGRhLCAweGViLCAweGRhLCAweDdiLCAweGRhLCAweDZiLCAKLSAgICAweGRhLCAweDViLCAweGRhLCAweDRiLCAweGRhLCAweDNiLCAweGRhLCAweDJiLCAweGRhLCAweDFiLCAweGRhLCAweDBiLCAweDIyLCAweDc1LCAweDA4LCAweDAzLCAKLSAgICAweDEyLCAweDBhLCAweGMwLCAweDdlLCAweGIzLCAweDAxLCAweDJmLCAweGI0LCAweDAyLCAweDExLCAweDc0LCAweDAwLCAweDdhLCAweGIzLCAweDAxLCAweDJmLCAKLSAgICAweDdhLCAweGIzLCAweDAxLCAweDJlLCAweDc0LCAweDIwLCAweDdhLCAweGIzLCAweDkxLCAweDE0LCAweDIyLCAweGI0LCAweDAxLCAweDQ2LCAweDdlLCAweGIzLCAKLSAgICAweDkxLCAweDA0LCAweDIwLCAweGU2LCAweDQyLCAweDdlLCAweDIzLCAweDkxLCAweDFhLCAweDdjLCAweDMyLCAweDdlLCAweDEzLCAweDAxLCAweDMwLCAweDJjLCAKLSAgICAweDIxLCAweDdhLCAweDIzLCAweDAxLCAweDMwLCAweDdlLCAweDAwLCAweDAwLCAweDJlLCAweDA0LCAweDAxLCAweDM3LCAweDdlLCAweGIzLCAweDkxLCAweDE2LCAKLSAgICAweDdhLCAweDA5LCAweGIwLCAweDBiLCAweDA0LCAweGE1LCAweGRiLCAweGY0LCAweDc0LCAweDIwLCAweDdhLCAweGIzLCAweDkxLCAweDE0LCAweDc1LCAweDA4LCAKLSAgICAweDcwLCAweDEyLCAweDBhLCAweGMwLCAweDdlLCAweGIzLCAweDAxLCAweDMwLCAweDdlLCAweGEzLCAweDAxLCAweDJjLCAweGJjLCAweGFiLCAweDc4LCAweDAzLCAKLSAgICAweDEyLCAweDA1LCAweDUyLCAweDIyLCAweDAyLCAweDA5LCAweDhiLCAweGRhLCAweDU5LCAweDAyLCAweDA0LCAweDE1LCAweDc0LCAweGUwLCAweDdhLCAweGIzLCAKLSAgICAweDkxLCAweDAwLCAweDdlLCAweDAzLCAweDkxLCAweDEwLCAweDdlLCAweDEzLCAweDkxLCAweDExLCAweDdlLCAweDMzLCAweDkxLCAweDEyLCAweDdlLCAweDIzLCAKLSAgICAweDkxLCAweDEzLCAweDdlLCAweDUzLCAweDkxLCAweDE0LCAweDdlLCAweDQzLCAweDkxLCAweDE1LCAweDdlLCAweDczLCAweDkxLCAweDE2LCAweDdlLCAweDYzLCAKLSAgICAweDkxLCAweDE3LCAweDdhLCAweDBmLCAweDAxLCAweDI1LCAweDdhLCAweDFmLCAweDAxLCAweDI5LCAweDc1LCAweDA4LCAweDA0LCAweDEyLCAweDBhLCAweGMwLCAKLSAgICAweDdhLCAweDAxLCAweDA4LCAweDEyLCAweDBhLCAweGMwLCAweDdhLCAweDExLCAweDA4LCAweDEyLCAweDBhLCAweGMwLCAweDdhLCAweDIxLCAweDA4LCAweDEyLCAKLSAgICAweDBhLCAweGMwLCAweDdhLCAweDMxLCAweDA4LCAweDEyLCAweDBhLCAweGMwLCAweDdhLCAweDQxLCAweDA4LCAweDEyLCAweDBhLCAweGMwLCAweDdhLCAweDUxLCAKLSAgICAweDA4LCAweDEyLCAweDBhLCAweGMwLCAweDdhLCAweDYxLCAweDA4LCAweDEyLCAweDBhLCAweGMwLCAweDdhLCAweDcxLCAweDA4LCAweDEyLCAweDBhLCAweGMwLCAKLSAgICAweDc0LCAweDAwLCAweDdhLCAweGIzLCAweDkxLCAweDAwLCAweDc0LCAweDQwLCAweDdhLCAweGIzLCAweDkxLCAweDA0LCAweDEyLCAweDA1LCAweDI2LCAweDIyLCAKLSAgICAweDZkLCAweDAwLCAweDdlLCAweDE0LCAweDAxLCAweDAyLCAweDdhLCAweDA3LCAweDAxLCAweDM1LCAweDdhLCAweDAzLCAweDAxLCAweDMwLCAweDdlLCAweGIzLCAKLSAgICAweDAxLCAweDI1LCAweDIwLCAweGU3LCAweDBmLCAweDdhLCAweDIzLCAweDAxLCAweDJmLCAweDdhLCAweDMzLCAweDAxLCAweDJlLCAweGJlLCAweDA3LCAweDAxLCAKLSAgICAweDJiLCAweDY4LCAweDA5LCAweDIyLCAweDdhLCAweDMzLCAweDAxLCAweDJmLCAweDdhLCAweDIzLCAweDAxLCAweDJlLCAweDdlLCAweGIzLCAweDAxLCAweDI1LCAKLSAgICAweDU0LCAweGUzLCAweDIzLCAweDIzLCAweDMwLCAweGUwLCAweDAyLCAweGQyLCAweGU1LCAweDMwLCAweGU3LCAweDAyLCAweGQyLCAweGU0LCAweDMwLCAweGU1LCAKLSAgICAweDA2LCAweDMwLCAweGU0LCAweDAzLCAweDAyLCAweDA5LCAweDhiLCAweDU0LCAweDNlLCAweGY1LCAweGYwLCAweDAzLCAweDU0LCAweDFmLCAweGMzLCAweDI1LCAKLSAgICAweGYwLCAweDkwLCAweDA1LCAweDdlLCAweDc1LCAweDg0LCAweGZmLCAweDczLCAweDAyLCAweDA3LCAweDM5LCAweDAyLCAweDA1LCAweGM2LCAweDAyLCAweDA3LCAKLSAgICAweGQyLCAweDAyLCAweDA3LCAweGVkLCAweDAyLCAweDA2LCAweGQwLCAweDAyLCAweDA2LCAweDViLCAweDAyLCAweDA4LCAweDFlLCAweDAyLCAweDA4LCAweDFlLCAKLSAgICAweDAyLCAweDA4LCAweDIxLCAweDAyLCAweDA4LCAweDIxLCAweDAyLCAweDA4LCAweDIxLCAweDAyLCAweDA4LCAweDIxLCAweDAyLCAweDA4LCAweDIxLCAweDAyLCAKLSAgICAweDA4LCAweDIxLCAweDAyLCAweDA4LCAweDIxLCAweDAyLCAweDA4LCAweDIxLCAweDAyLCAweDA4LCAweDI3LCAweDAyLCAweDA4LCAweGY5LCAweDAyLCAweDA4LCAKLSAgICAweDI0LCAweDAyLCAweDA4LCAweDI0LCAweDAyLCAweDA4LCAweDI0LCAweDAyLCAweDA4LCAweDI0LCAweDAyLCAweDA4LCAweDI0LCAweDAyLCAweDA4LCAweDI0LCAKLSAgICAweDc0LCAweDAwLCAweDdhLCAweGIzLCAweDkxLCAweDAwLCAweDc0LCAweDYwLCAweDdhLCAweGIzLCAweDkxLCAweDFjLCAweDdlLCAweGIzLCAweDAxLCAweDI2LCAKLSAgICAweGI0LCAweDA2LCAweDJhLCAweDdlLCAweGIzLCAweDAxLCAweDI3LCAweDYwLCAweDc5LCAweDdjLCAweDBiLCAweDdlLCAweDEzLCAweDAxLCAweDI4LCAweDdlLCAKLSAgICAweDE3LCAweDAxLCAweDI5LCAweDc1LCAweDA4LCAweDcyLCAweDEyLCAweDBhLCAweGMwLCAweDdhLCAweDAxLCAweDA4LCAweDEyLCAweDBhLCAweGMwLCAweDdhLCAKLSAgICAweDExLCAweDA4LCAweDEyLCAweDBhLCAweGMwLCAweDEyLCAweDA5LCAweGQwLCAweDQwLCAweDU4LCAweDAyLCAweDAzLCAweDg0LCAweGI0LCAweDA4LCAweDFjLCAKLSAgICAweDc1LCAweDA4LCAweDc0LCAweDEyLCAweDBhLCAweGMwLCAweDdlLCAweGIzLCAweDNmLCAweGYxLCAweDdlLCAweDA4LCAweDAxLCAweDM3LCAweDdhLCAweDBjLCAKLSAgICAweDAwLCAweDAwLCAweDdhLCAweDBiLCAweGIwLCAweDdlLCAweDU0LCAweDAwLCAweDAxLCAweDAyLCAweDAzLCAweDg0LCAweGI0LCAweDAwLCAweDMzLCAweDc1LCAKLSAgICAweDA4LCAweDc1LCAweDEyLCAweDBhLCAweGMwLCAweDdlLCAweDA4LCAweDAxLCAweDM3LCAweDdhLCAweDBjLCAweDAwLCAweDAwLCAweGNhLCAweDBiLCAweDdlLCAKLSAgICAweGIzLCAweDNmLCAweGYyLCAweDMwLCAweGUwLCAweDA3LCAweDc0LCAweDAyLCAweDdhLCAweDBiLCAweGIwLCAweDgwLCAweDA1LCAweDc0LCAweDAwLCAweDdhLCAKLSAgICAweDBiLCAweGIwLCAweDBiLCAweDE0LCAweDc0LCAweDAwLCAweDdhLCAweDBiLCAweGIwLCAweDdlLCAweDU0LCAweDAwLCAweDAyLCAweGRhLCAweDBiLCAweDAyLCAKLSAgICAweDAzLCAweDg0LCAweDAyLCAweDA5LCAweDhiLCAweDc0LCAweDAwLCAweDdhLCAweGIzLCAweDkxLCAweDAwLCAweDc0LCAweDYwLCAweDdhLCAweGIzLCAweDkxLCAKLSAgICAweDFjLCAweDdlLCAweGIzLCAweDAxLCAweDI2LCAweGI0LCAweDAwLCAweDVmLCAweDc1LCAweDA4LCAweDc2LCAweDEyLCAweDBhLCAweGMwLCAweDdlLCAweGIzLCAKLSAgICAweDAxLCAweDJhLCAweDU0LCAweDBmLCAweGI0LCAweDAyLCAweDA1LCAweDdlLCAweGIwLCAweDYwLCAweDgwLCAweDE3LCAweGI0LCAweDAwLCAweDA1LCAweDdlLCAKLSAgICAweGIwLCAweDAwLCAweDgwLCAweDBmLCAweDdlLCAweGIzLCAweDAxLCAweDJhLCAweDIwLCAweGU3LCAweDA1LCAweDdlLCAweGIwLCAweDQwLCAweDgwLCAweDAzLCAKLSAgICAweDdlLCAweGIwLCAweDIwLCAweDdhLCAweGIzLCAweDkxLCAweDAwLCAweDdlLCAweGIzLCAweDkxLCAweDExLCAweDMwLCAweGUwLCAweDA0LCAweDc0LCAweDAxLCAKLSAgICAweDgwLCAweDAyLCAweDc0LCAweDAwLCAweDdlLCAweDA4LCAweDAxLCAweDM3LCAweDdhLCAweDBjLCAweDAwLCAweDAwLCAweGNhLCAweDBiLCAweDdhLCAweDBiLCAKLSAgICAweGIwLCAweDBiLCAweDE0LCAweDc0LCAweDAwLCAweDdhLCAweDBiLCAweGIwLCAweDc0LCAweDAwLCAweDdhLCAweGIzLCAweDkxLCAweDAwLCAweDdlLCAweDU0LCAKLSAgICAweDAwLCAweDAyLCAweGRhLCAweDBiLCAweDAyLCAweDAzLCAweDg0LCAweDAyLCAweDA5LCAweDhiLCAweDdlLCAweGIzLCAweDAxLCAweDJhLCAweDU0LCAweDBmLCAKLSAgICAweGI0LCAweDAyLCAweDA1LCAweDdlLCAweGIwLCAweDYwLCAweDgwLCAweDE3LCAweGI0LCAweDAwLCAweDA1LCAweDdlLCAweGIwLCAweDAwLCAweDgwLCAweDBmLCAKLSAgICAweDdlLCAweGIzLCAweDAxLCAweDJhLCAweDIwLCAweGU3LCAweDA1LCAweDdlLCAweGIwLCAweDQwLCAweDgwLCAweDAzLCAweDdlLCAweGIwLCAweDIwLCAweDdhLCAKLSAgICAweGIzLCAweDkxLCAweDAwLCAweDdlLCAweGIzLCAweDAxLCAweDI4LCAweGI0LCAweDAwLCAweDI2LCAweDdlLCAweGIzLCAweDAxLCAweDI2LCAweGI0LCAweDAxLCAKLSAgICAweDBlLCAweDc1LCAweDA4LCAweDc3LCAweDEyLCAweDBhLCAweGMwLCAweDc0LCAweDAxLCAweDdhLCAweGIzLCAweDkxLCAweDEyLCAweDgwLCAweDFiLCAweGI0LCAKLSAgICAweDAzLCAweDBlLCAweDc1LCAweDA4LCAweDc4LCAweDEyLCAweDBhLCAweGMwLCAweDc0LCAweDAxLCAweDdhLCAweGIzLCAweDkxLCAweDExLCAweDgwLCAweDBhLCAKLSAgICAweDc0LCAweDAwLCAweDdhLCAweGIzLCAweDkxLCAweDAwLCAweDEyLCAweDA5LCAweDhiLCAweDIyLCAweDc0LCAweDAwLCAweDdhLCAweGIzLCAweDkxLCAweDAwLCAKLSAgICAweDAyLCAweDAzLCAweDc3LCAweDdlLCAweGIzLCAweDAxLCAweDI2LCAweGI0LCAweDA5LCAweDFmLCAweDc1LCAweDA4LCAweDc5LCAweDEyLCAweDBhLCAweGMwLCAKLSAgICAweDdlLCAweGIzLCAweDAxLCAweDI4LCAweGJlLCAweGIzLCAweDNmLCAweGYxLCAweDY4LCAweDBkLCAweGNhLCAweGI4LCAweDEyLCAweDAxLCAweGYxLCAweGRhLCAKLSAgICAweGI4LCAweDUwLCAweDc2LCAweDdhLCAweGIzLCAweDNmLCAweGYxLCAweDgwLCAweDZkLCAweGI0LCAweDA1LCAweDA4LCAweDc1LCAweDA4LCAweDdhLCAweDEyLCAKLSAgICAweDBhLCAweGMwLCAweDgwLCAweDYyLCAweGI0LCAweDAzLCAweDE5LCAweDc1LCAweDA4LCAweDdiLCAweDEyLCAweDBhLCAweGMwLCAweDdlLCAweGIzLCAweDAxLCAKLSAgICAweDI4LCAweGI0LCAweDAxLCAweDU1LCAweDdlLCAweGIzLCAweDNmLCAweGYyLCAweDQ0LCAweDAxLCAweDdhLCAweGIzLCAweDNmLCAweGYyLCAweDgwLCAweDQ2LCAKLSAgICAweGI0LCAweDAxLCAweDE5LCAweDc1LCAweDA4LCAweDdjLCAweDEyLCAweDBhLCAweGMwLCAweDdlLCAweGIzLCAweDAxLCAweDI4LCAweGI0LCAweDAxLCAweDM5LCAKLSAgICAweDdlLCAweGIzLCAweDNmLCAweGYyLCAweDU0LCAweGZlLCAweDdhLCAweGIzLCAweDNmLCAweGYyLCAweDgwLCAweDJhLCAweGI0LCAweDA3LCAweDJhLCAweDdlLCAKLSAgICAweGIzLCAweDAxLCAweDI3LCAweDYwLCAweDI0LCAweDdjLCAweDBiLCAweDdlLCAweDEzLCAweDAxLCAweDI4LCAweDdlLCAweDE3LCAweDAxLCAweDI5LCAweDc1LCAKLSAgICAweDA4LCAweDczLCAweDEyLCAweDBhLCAweGMwLCAweDdhLCAweDAxLCAweDA4LCAweDEyLCAweDBhLCAweGMwLCAweDdhLCAweDExLCAweDA4LCAweDEyLCAweDBhLCAKLSAgICAweGMwLCAweDEyLCAweDBhLCAweDBhLCAweDQwLCAweDAzLCAweDAyLCAweDAzLCAweDc3LCAweDAyLCAweDA5LCAweDhiLCAweDdlLCAweGIzLCAweDAxLCAweDI2LCAKLSAgICAweGI0LCAweDBiLCAweGY2LCAweDc1LCAweDA4LCAweDdkLCAweDEyLCAweDBhLCAweGMwLCAweDdlLCAweGIzLCAweDAxLCAweDI4LCAweDdlLCAweGEzLCAweDAxLCAKLSAgICAweDJhLCAweDRjLCAweGFiLCAweDc4LCAweGU0LCAweDgwLCAweGRmLCAweDc0LCAweDAwLCAweDdhLCAweGIzLCAweDkxLCAweDAwLCAweDc0LCAweDYwLCAweDdhLCAKLSAgICAweGIzLCAweDkxLCAweDFjLCAweDdlLCAweGIzLCAweDAxLCAweDI2LCAweGI0LCAweDBhLCAweGNmLCAweDc1LCAweDA4LCAweDdlLCAweDEyLCAweDBhLCAweGMwLCAKLSAgICAweDdlLCAweGIzLCAweDAxLCAweDI4LCAweDcwLCAweGMzLCAweDdlLCAweDA4LCAweDAxLCAweDM3LCAweDdhLCAweDBjLCAweDAwLCAweDAwLCAweDdhLCAweDBiLCAKLSAgICAweGIwLCAweDdlLCAweDU0LCAweDAwLCAweDAxLCAweDAyLCAweDAzLCAweDg0LCAweDAyLCAweDA5LCAweDhiLCAweDAyLCAweDA5LCAweDhiLCAweDAyLCAweDA5LCAKLSAgICAweDhiLCAweDdlLCAweGIzLCAweDAxLCAweDI2LCAweGI0LCAweDA0LCAweDIwLCAweDc1LCAweDA4LCAweGMzLCAweDEyLCAweDBhLCAweGMwLCAweDdlLCAweDA0LCAKLSAgICAweDAwLCAweDAxLCAweDdlLCAweDE3LCAweDAxLCAweDI3LCAweDdlLCAweDE4LCAweDAxLCAweDM3LCAweDdhLCAweDFjLCAweDAwLCAweDAwLCAweDdlLCAweDQ3LCAKLSAgICAweDAxLCAweDJiLCAweDEyLCAweDBhLCAweGNjLCAweDAyLCAweDA4LCAweGYzLCAweGI0LCAweDA2LCAweDQyLCAweDc1LCAweDA4LCAweGMxLCAweDEyLCAweDBhLCAKLSAgICAweGMwLCAweDdlLCAweDU4LCAweDAwLCAweDAwLCAweDdhLCAweDVjLCAweDAwLCAweGZlLCAweDdkLCAweGNhLCAweDdlLCAweGQ3LCAweDAxLCAweDI3LCAweDdlLCAKLSAgICAweDc4LCAweDAxLCAweDM3LCAweDdhLCAweDdjLCAweDAwLCAweDAwLCAweDdlLCAweDc3LCAweDAxLCAweDJiLCAweDc1LCAweDA4LCAweGMxLCAweDEyLCAweDBhLCAKLSAgICAweGMwLCAweGMwLCAweGE4LCAweGMyLCAweGFmLCAweDdlLCAweDQwLCAweDAxLCAweDdhLCAweDQzLCAweDk0LCAweDAwLCAweDEyLCAweDBiLCAweDYzLCAweDdlLCAKLSAgICAweDQzLCAweDAxLCAweDI0LCAweDdhLCAweDQzLCAweDk0LCAweDAwLCAweGQwLCAweGE4LCAweDQwLCAweDY1LCAweDgwLCAweDYwLCAweGI0LCAweDAwLCAweDI0LCAKLSAgICAweGMyLCAweGFmLCAweDdlLCAweGIwLCAweDAxLCAweDdhLCAweGIzLCAweDk0LCAweDAwLCAweDdhLCAweGIzLCAweDAxLCAweDI0LCAweDEyLCAweDAzLCAweDc3LCAKLSAgICAweGU0LCAweDhkLCAweGVmLCAweDhkLCAweGVmLCAweDhkLCAweGVmLCAweGQ1LCAweGUwLCAweGY3LCAweGMwLCAweGQxLCAweGNhLCAweDAyLCAweGZmLCAweGNhLCAKLSAgICAweDA2LCAweDAwLCAweDAwLCAweDMyLCAweGI0LCAweDA5LCAweDIwLCAweDc0LCAweDAzLCAweDdhLCAweGIzLCAweDkxLCAweDA2LCAweDdlLCAweDIzLCAweDkxLCAKLSAgICAweDA3LCAweDdlLCAweDU3LCAweDAxLCAweDI3LCAweDRkLCAweDU1LCAweDY4LCAweDA1LCAweDRlLCAweDIwLCAweDAyLCAweDgwLCAweDAzLCAweDVlLCAweDIwLCAKLSAgICAweGZkLCAweDdhLCAweDIzLCAweDkxLCAweDA3LCAweDgwLCAweDE2LCAweGI0LCAweDA3LCAweDE2LCAweGMyLCAweGFmLCAweDdlLCAweDA3LCAweDAxLCAweDI5LCAKLSAgICAweDdlLCAweDE3LCAweDAxLCAweDI3LCAweGMwLCAweGQxLCAweGNhLCAweDE4LCAweGNhLCAweDM4LCAweGNhLCAweDI4LCAweDMyLCAweDAyLCAweDAzLCAweDc3LCAKLSAgICAweDAyLCAweDA5LCAweDhiLCAweDc0LCAweDAwLCAweDdhLCAweGIzLCAweDkxLCAweDAwLCAweDc0LCAweDYwLCAweDdhLCAweGIzLCAweDkxLCAweDFjLCAweDdlLCAKLSAgICAweGIzLCAweDAxLCAweDI2LCAweGI0LCAweDAzLCAweDE1LCAweDc1LCAweDA4LCAweGMyLCAweDEyLCAweDBhLCAweGMwLCAweDdlLCAweDA0LCAweDAwLCAweDAxLCAKLSAgICAweDdlLCAweDE3LCAweDAxLCAweDI3LCAweDdlLCAweDU3LCAweDAxLCAweDJiLCAweDAyLCAweDAzLCAweDg0LCAweGI0LCAweDA1LCAweDQxLCAweDc1LCAweDA4LCAKLSAgICAweGMwLCAweDEyLCAweDBhLCAweGMwLCAweGMwLCAweGE4LCAweGMyLCAweGFmLCAweDdlLCAweDQwLCAweDAxLCAweDdhLCAweDQzLCAweDk0LCAweDAwLCAweDdlLCAKLSAgICAweDA4LCAweDAxLCAweDM3LCAweDdhLCAweDBjLCAweDAwLCAweDAwLCAweDdlLCAweDI0LCAweDAwLCAweGZlLCAweDdlLCAweDM3LCAweDAxLCAweDI3LCAweDdlLCAKLSAgICAweDQ3LCAweDAxLCAweDJiLCAweDEyLCAweDBhLCAweGNjLCAweDdlLCAweDQzLCAweDAxLCAweDI0LCAweDdhLCAweDQzLCAweDk0LCAweDAwLCAweGQwLCAweGE4LCAKLSAgICAweDdlLCAweDA4LCAweDAxLCAweDM3LCAweDdhLCAweDBjLCAweDAwLCAweDAwLCAweDdlLCAweDU3LCAweDAxLCAweDJiLCAweDAyLCAweDAzLCAweDg0LCAweGI0LCAKLSAgICAweDAxLCAweDIwLCAweDdlLCAweDAwLCAweDAwLCAweDdlLCAweDEwLCAweDAxLCAweDc1LCAweDA4LCAweDcyLCAweDEyLCAweDBhLCAweGMwLCAweDdhLCAweDAxLCAKLSAgICAweDA4LCAweDEyLCAweDBhLCAweGMwLCAweDdhLCAweDExLCAweDA4LCAweDEyLCAweDBhLCAweGMwLCAweDEyLCAweDA5LCAweGQwLCAweDQwLCAweDAzLCAweDAyLCAKLSAgICAweDAzLCAweDg0LCAweDAyLCAweDA5LCAweDhiLCAweDc1LCAweDA4LCAweDA3LCAweDEyLCAweDBhLCAweGMwLCAweDdlLCAweGIwLCAweDAyLCAweDdhLCAweGIzLCAKLSAgICAweDkwLCAweDAwLCAweDc0LCAweDAwLCAweDdhLCAweGIzLCAweDkxLCAweDAwLCAweDc0LCAweDQwLCAweDdhLCAweGIzLCAweDkxLCAweDE1LCAweDc0LCAweDAxLCAKLSAgICAweDdhLCAweGIzLCAweDkxLCAweDExLCAweDdlLCAweGIzLCAweDkxLCAweDE1LCAweDU0LCAweDYwLCAweGJlLCAweGIwLCAweDQwLCAweDY4LCAweDA4LCAweDc0LCAKLSAgICAweDIwLCAweDdhLCAweGIzLCAweDkxLCAweDE1LCAweDgwLCAweGVkLCAweDc0LCAweDAxLCAweDdhLCAweGIzLCAweDkxLCAweDEyLCAweDc0LCAweDA0LCAweDdhLCAKLSAgICAweGIzLCAweDkxLCAweDE0LCAweDc0LCAweGZmLCAweDdhLCAweGIzLCAweDAxLCAweDJkLCAweDIyLCAweGMwLCAweGE4LCAweGMyLCAweGFmLCAweDdlLCAweDQwLCAKLSAgICAweDAxLCAweDdhLCAweDQzLCAweDk0LCAweDAwLCAweDEyLCAweDBhLCAweDU3LCAweDQwLCAweDFmLCAweDdlLCAweDA4LCAweDAxLCAweDM3LCAweDdhLCAweDBjLCAKLSAgICAweDAwLCAweDAwLCAweGNhLCAweDBiLCAweGNhLCAweDQ5LCAweDEyLCAweDBhLCAweGNjLCAweGRhLCAweDU5LCAweGRhLCAweDBiLCAweDdlLCAweDQzLCAweDAxLCAKLSAgICAweDI0LCAweDdhLCAweDQzLCAweDk0LCAweDAwLCAweGQwLCAweGE4LCAweGMzLCAweDIyLCAweDdlLCAweDQzLCAweDAxLCAweDI0LCAweDdhLCAweDQzLCAweDk0LCAKLSAgICAweDAwLCAweGQwLCAweGE4LCAweDIyLCAweGMwLCAweGE4LCAweGMyLCAweGFmLCAweDdlLCAweDQwLCAweDAxLCAweDdhLCAweDQzLCAweDk0LCAweDAwLCAweDEyLCAKLSAgICAweDBhLCAweDU3LCAweDQwLCAweDMxLCAweDdlLCAweDU4LCAweDAwLCAweDAwLCAweDdhLCAweDVjLCAweDAwLCAweGZlLCAweDdmLCAweDYxLCAweDdlLCAweDc4LCAKLSAgICAweDAxLCAweDM3LCAweDdhLCAweDdjLCAweDAwLCAweDAwLCAweDdlLCAweDc3LCAweDAxLCAweDJiLCAweGJkLCAweDc0LCAweDc4LCAweDE3LCAweDc1LCAweDA4LCAKLSAgICAweGMxLCAweDEyLCAweDBhLCAweGMwLCAweDEyLCAweDBiLCAweDYzLCAweDQwLCAweDBjLCAweDdlLCAweDQzLCAweDAxLCAweDI0LCAweDdhLCAweDQzLCAweDk0LCAKLSAgICAweDAwLCAweGQwLCAweGE4LCAweGMzLCAweDIyLCAweDdlLCAweDQzLCAweDAxLCAweDI0LCAweDdhLCAweDQzLCAweDk0LCAweDAwLCAweGQwLCAweGE4LCAweGQzLCAKLSAgICAweDIyLCAweDdlLCAweDI0LCAweDAwLCAweGZlLCAweDdlLCAweDM0LCAweDdmLCAweGNhLCAweDBiLCAweDFhLCAweDUwLCAweGM1LCAweGYwLCAweDdkLCAweDYyLCAKLSAgICAweDdkLCAweDc1LCAweDdkLCAweDg3LCAweDdlLCAweDM0LCAweDdmLCAweDAzLCAweDdlLCAweDFiLCAweGIwLCAweGJjLCAweDBiLCAweDUwLCAweDQ5LCAweDNlLCAKLSAgICAweDAwLCAweDNlLCAweDAwLCAweDBhLCAweDUwLCAweDJkLCAweDc1LCAweDBiLCAweDNhLCAweDMwLCAweDY5LCAweDUzLCAweDAwLCAweDAyLCAweGJkLCAweDM4LCAKLSAgICAweDUwLCAweDAyLCAweDJkLCAweDM4LCAweGJjLCAweDFiLCAweDUwLCAweDMwLCAweDNlLCAweDEwLCAweDNlLCAweDEwLCAweDBhLCAweDUxLCAweDJkLCAweDM1LCAKLSAgICAweDY5LCAweDQxLCAweDAwLCAweDAyLCAweDBiLCAweDFhLCAweDMwLCAweGJkLCAweDM4LCAweDUwLCAweDAyLCAweDJkLCAweDM4LCAweGJlLCAweDQ0LCAweGZmLCAKLSAgICAweGZmLCAweDc4LCAweDA1LCAweDdlLCAweDFiLCAweDkwLCAweDBhLCAweDQ5LCAweDRkLCAweDQ0LCAweDY4LCAweDBjLCAweGJlLCAweDQ0LCAweDAwLCAweGZmLCAKLSAgICAweDI4LCAweDA0LCAweDdlLCAweDQ0LCAweDAwLCAweGZmLCAweGMzLCAweDIyLCAweGQzLCAweDIyLCAKLQotLy8gU2VnbWVudCAjMTYsIEVYQ0xVREVEIFN0YXJ0IEFkZHJlc3MgMDBmZjdjMDAsIExlbmd0aCAyMjcKLQotCi0vLyBTZWdtZW50ICMxNywgRVhDTFVERUQgU3RhcnQgQWRkcmVzcyAwMGZmN2YwMCwgTGVuZ3RoIDE5MgotCi0KLS8vIFNlZ21lbnQgIzE3LCBTdGFydCBBZGRyZXNzIDAwZmY3ZmMwLCBMZW5ndGggNjQKLTB4ZmYsMHgwMCwweGMwLDB4N2YsMHg0MCwweDAwLAotICAgIDB4NDAsIDB4MDEsIDB4MDIsIDB4MDAsIDB4ZDcsIDB4MzEsIDB4MDIsIDB4MDAsIDB4MDMsIDB4MDAsIDB4MDAsIDB4N2MsIDB4MDAsIDB4MDAsIDB4MDEsIDB4MDAsIAotICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIAotICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIAotICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4ZjEsIDB4N2YsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIAotCi0vLyBTZWdtZW50ICMxOCwgU3RhcnQgQWRkcmVzcyAwMGZmMGFjMCwgTGVuZ3RoIDQxNjMKLTB4ZmYsMHgwMCwweGMwLDB4MGEsMHg0MywweDEwLAotICAgIDB4Y2EsIDB4MDgsIDB4N2UsIDB4MDEsIDB4MDgsIDB4N2EsIDB4MDMsIDB4M2YsIDB4ZjAsIDB4ZGEsIDB4MDgsIDB4MjIsIDB4ODAsIDB4NTAsIDB4MGIsIDB4MWEsIAotICAgIDB4NjAsIDB4MGIsIDB4MzUsIDB4MGIsIDB4MWEsIDB4NzAsIDB4MGIsIDB4MzUsIDB4MGIsIDB4MWEsIDB4ODAsIDB4MGIsIDB4MzUsIDB4MGIsIDB4MWEsIDB4OTAsIAotICAgIDB4MGIsIDB4MzUsIDB4MGIsIDB4MWEsIDB4YTAsIDB4MGIsIDB4MzUsIDB4MGIsIDB4MWEsIDB4YjAsIDB4MGIsIDB4MzUsIDB4MGIsIDB4MWEsIDB4YzAsIDB4MGIsIAotICAgIDB4MzUsIDB4MGIsIDB4MWEsIDB4ZDAsIDB4MGIsIDB4MzUsIDB4MWIsIDB4MGEsIDB4NjAsIDB4MGIsIDB4MTUsIDB4MWIsIDB4MGEsIDB4NzAsIDB4MGIsIDB4MTUsIAotICAgIDB4MWIsIDB4MGEsIDB4ODAsIDB4MGIsIDB4MTUsIDB4MWIsIDB4MGEsIDB4OTAsIDB4MGIsIDB4MTUsIDB4MWIsIDB4MGEsIDB4YTAsIDB4MGIsIDB4MTUsIDB4MWIsIAotICAgIDB4MGEsIDB4YjAsIDB4MGIsIDB4MTUsIDB4MWIsIDB4MGEsIDB4YzAsIDB4MGIsIDB4MTUsIDB4MWIsIDB4MGEsIDB4ZDAsIDB4MGIsIDB4MTUsIDB4OWUsIDB4NDQsIAotICAgIDB4MDAsIDB4MTAsIDB4NTAsIDB4YWEsIDB4MmUsIDB4NDQsIDB4MDAsIDB4MTAsIDB4NjgsIDB4MGUsIDB4N2UsIDB4MWIsIDB4YzAsIDB4N2EsIDB4MGIsIDB4YzAsIAotICAgIDB4MGIsIDB4MTQsIDB4MGIsIDB4MzQsIDB4MWIsIDB4NDQsIDB4NzgsIDB4ZjIsIDB4MjIsIDB4N2YsIDB4NmYsIDB4N2YsIDB4ZjAsIDB4MWIsIDB4ZmMsIDB4N2MsIAotICAgIDB4NTQsIDB4N2QsIDB4MzIsIDB4ODAsIDB4MDgsIDB4Y2EsIDB4MWIsIDB4Y2EsIDB4MWIsIDB4Y2EsIDB4MWIsIDB4Y2EsIDB4MWIsIDB4OWUsIDB4NDQsIDB4MDAsIAotICAgIDB4MTAsIDB4NTAsIDB4ZjIsIDB4MmUsIDB4NDQsIDB4MDAsIDB4MTAsIDB4NjgsIDB4MDYsIDB4Y2EsIDB4NDgsIDB4MWIsIDB4NDQsIDB4NzgsIDB4ZmEsIDB4N2YsIAotICAgIDB4ZjYsIDB4ODksIDB4ZTQsIDB4Y2EsIDB4NmIsIDB4NWUsIDB4ZDQsIDB4MDAsIDB4M2YsIDB4NjgsIDB4MjAsIDB4N2UsIDB4ODQsIDB4MDAsIDB4NDAsIDB4OWQsIAotICAgIDB4OGQsIDB4ZGEsIDB4NmIsIDB4YmQsIDB4ODcsIDB4MzgsIDB4MTYsIDB4Y2EsIDB4NzksIDB4N2QsIDB4NzgsIDB4MTIsIDB4MGIsIDB4OGQsIDB4ZGEsIDB4NzksIAotICAgIDB4NDAsIDB4MDgsIDB4OWQsIDB4NzgsIDB4NjgsIDB4MDIsIDB4ODAsIDB4MDUsIDB4YzIsIDB4ZDcsIDB4MjIsIDB4ZGEsIDB4NmIsIDB4N2UsIDB4YzAsIDB4MDMsIAotICAgIDB4N2UsIDB4ZDAsIDB4MDAsIDB4N2EsIDB4ZDMsIDB4OTAsIDB4MDAsIDB4NzQsIDB4YWEsIDB4MzksIDB4YjUsIDB4NTUsIDB4NTUsIDB4NzQsIDB4NTUsIDB4MzksIAotICAgIDB4YjUsIDB4MmEsIDB4YWEsIDB4NzQsIDB4YTAsIDB4MzksIDB4YjUsIDB4NTUsIDB4NTUsIDB4N2UsIDB4MDQsIDB4MDAsIDB4NDAsIDB4OWQsIDB4NzAsIDB4NTAsIAotICAgIDB4MDYsIDB4MmQsIDB4NzAsIDB4N2QsIDB4MDcsIDB4NmQsIDB4NzcsIDB4N2MsIDB4MzEsIDB4N2UsIDB4N2IsIDB4MDAsIDB4N2EsIDB4NmIsIDB4MDAsIDB4MGIsIAotICAgIDB4N2MsIDB4MGIsIDB4NmMsIDB4YTUsIDB4ZDksIDB4ZjMsIDB4N2YsIDB4MTYsIDB4MWIsIDB4MWMsIDB4N2UsIDB4NTQsIDB4MjcsIDB4MTAsIDB4N2UsIDB4MWIsIAotICAgIDB4MTAsIDB4YmMsIDB4MTAsIDB4NjgsIDB4MDYsIDB4MWIsIDB4NTQsIDB4NzgsIDB4ZjUsIDB4ODAsIDB4MmYsIDB4NmQsIDB4MDAsIDB4N2MsIDB4MjAsIDB4N2YsIAotICAgIDB4MTYsIDB4OWYsIDB4MTAsIDB4N2YsIDB4MjcsIDB4OWYsIDB4MjAsIDB4N2UsIDB4MmIsIDB4MDAsIDB4N2UsIDB4MWIsIDB4MTAsIDB4YmMsIDB4MDEsIDB4NzgsIAotICAgIDB4MTksIDB4MGIsIDB4MmMsIDB4MGIsIDB4MWMsIDB4YTUsIDB4ZGIsIDB4ZWYsIDB4N2MsIDB4YjYsIDB4MjAsIDB4ZTAsIDB4MDYsIDB4NmMsIDB4ZGMsIDB4N2EsIAotICAgIDB4ZDMsIDB4OTAsIDB4MDAsIDB4NGQsIDB4NzcsIDB4NzgsIDB4OTAsIDB4YzIsIDB4ZDcsIDB4MjIsIDB4ZDIsIDB4ZDcsIDB4MjIsIDB4MDAsIDB4MDQsIDB4MDAsIAotICAgIDB4MDQsIDB4MDAsIDB4MDAsIDB4MDYsIDB4MDQsIDB4MDIsIDB4MDQsIDB4MDAsIDB4MDIsIDB4MDEsIDB4MDQsIDB4MDEsIDB4MDIsIDB4MDAsIDB4MDAsIDB4MDAsIAotICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDIsIDB4MDIsIDB4MDIsIDB4MDIsIDB4MDIsIDB4MDQsIDB4MDAsIDB4MDgsIDB4MTAsIDB4MDIsIDB4MTAsIAotICAgIDB4MDQsIDB4MDIsIDB4MDgsIDB4MDAsIDB4MDEsIDB4MDEsIDB4MDgsIDB4N2UsIDB4MTgsIDB4N2YsIDB4YmQsIDB4N2EsIDB4MWMsIDB4MDAsIDB4ZmYsIDB4MGIsIAotICAgIDB4MWEsIDB4MDAsIDB4NWUsIDB4MTAsIDB4MWYsIDB4YmUsIDB4MTAsIDB4MTQsIDB4MzgsIDB4MWEsIDB4MGEsIDB4NTEsIDB4MjMsIDB4N2UsIDB4MTgsIDB4MGMsIAotICAgIDB4MGQsIDB4N2EsIDB4MWMsIDB4MDAsIDB4ZmYsIDB4MmQsIDB4MzUsIDB4MGIsIDB4MWEsIDB4NTAsIDB4NjAsIDB4MDgsIDB4YTUsIDB4YjgsIDB4MDIsIDB4MDMsIAotICAgIDB4NGUsIDB4YTAsIDB4MDgsIDB4MjIsIDB4ODAsIDB4ZmUsIDB4N2UsIDB4ZTgsIDB4N2YsIDB4YmYsIDB4N2EsIDB4ZWMsIDB4MDAsIDB4ZmYsIDB4ZTAsIDB4ZjUsIAotICAgIDB4MjMsIDB4NTQsIDB4YzAsIDB4NjgsIDB4MzgsIDB4N2UsIDB4ZTgsIDB4N2YsIDB4YmUsIDB4N2EsIDB4ZWMsIDB4MDAsIDB4ZmYsIDB4ZTAsIDB4NjAsIDB4MmUsIAotICAgIDB4MTIsIDB4MGMsIDB4MzcsIDB4ZjUsIDB4MjEsIDB4N2EsIDB4YTEsIDB4MjAsIDB4MjAsIDB4MDksIDB4MGMsIDB4MjAsIDB4MGEsIDB4MTIsIDB4N2UsIDB4YjAsIAotICAgIDB4MGUsIDB4N2EsIDB4YjMsIDB4OTIsIDB4MDAsIDB4ODAsIDB4MTAsIDB4N2UsIDB4YjAsIDB4MDIsIDB4N2EsIDB4YjMsIDB4OTIsIDB4MDAsIDB4ODAsIDB4MDcsIAotICAgIDB4N2UsIDB4YjAsIDB4MGEsIDB4N2EsIDB4YjMsIDB4OTIsIDB4MDAsIDB4N2EsIDB4YjEsIDB4MGQsIDB4MDIsIDB4MGMsIDB4YzQsIDB4MjIsIDB4N2UsIDB4YjAsIAotICAgIDB4MDIsIDB4N2EsIDB4YjMsIDB4OTAsIDB4MDAsIDB4MTIsIDB4MTksIDB4MGMsIDB4N2UsIDB4YjAsIDB4MDMsIDB4N2EsIDB4YjMsIDB4OTAsIDB4MDAsIDB4MTIsIAotICAgIDB4MTksIDB4MGMsIDB4ODAsIDB4ZWEsIDB4YzIsIDB4YWYsIDB4YzIsIDB4MTEsIDB4YzIsIDB4MTIsIDB4NzUsIDB4YjAsIDB4ZGYsIDB4N2UsIDB4MDAsIDB4MDEsIAotICAgIDB4N2EsIDB4MDMsIDB4OTMsIDB4MDAsIDB4N2UsIDB4MDAsIDB4MDAsIDB4N2EsIDB4MDMsIDB4OTAsIDB4MDAsIDB4NmMsIDB4MDAsIDB4N2UsIDB4MTAsIDB4MDMsIAotICAgIDB4MTIsIDB4MGMsIDB4ZjUsIDB4N2UsIDB4NjgsIDB4MmMsIDB4NjYsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIDB4MGIsIDB4MDAsIAotICAgIDB4ODAsIDB4MzIsIDB4MDIsIDB4MWEsIDB4NmUsIDB4MjAsIDB4MTEsIDB4MmIsIDB4N2UsIDB4YjAsIDB4MDEsIDB4N2EsIDB4YjMsIDB4OTAsIDB4MDAsIDB4MTIsIAotICAgIDB4MTksIDB4MGMsIDB4N2UsIDB4YjAsIDB4MDMsIDB4N2EsIDB4YjMsIDB4OTAsIDB4MDAsIDB4MTIsIDB4MTksIDB4MGMsIDB4N2UsIDB4YjAsIDB4MDIsIDB4N2EsIAotICAgIDB4YjMsIDB4OTAsIDB4MDAsIDB4MTIsIDB4MTksIDB4MGMsIDB4YTUsIDB4ZDksIDB4ZGMsIDB4N2UsIDB4YjAsIDB4MDAsIDB4N2EsIDB4YjMsIDB4OTAsIDB4MDAsIAotICAgIDB4MTIsIDB4MTksIDB4MGMsIDB4MjIsIDB4N2UsIDB4NjgsIDB4MmMsIDB4ZjksIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIDB4N2UsIAotICAgIDB4ZTQsIDB4MTAsIDB4MDAsIDB4N2UsIDB4NDAsIDB4NTUsIDB4N2EsIDB4ZTksIDB4NDAsIDB4MGIsIDB4ZTQsIDB4N2UsIDB4NTAsIDB4YWEsIDB4N2EsIDB4ZTksIAotICAgIDB4NTAsIDB4MWIsIDB4ZTQsIDB4YmUsIDB4ZTksIDB4NDAsIDB4NjgsIDB4MTksIDB4N2UsIDB4NjgsIDB4MmMsIDB4ZGYsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIAotICAgIDB4MTIsIDB4MTksIDB4YzQsIDB4MTIsIDB4MTksIDB4MTksIDB4MzAsIDB4MTEsIDB4MTMsIDB4N2EsIDB4ZTksIDB4NDAsIDB4N2UsIDB4ZTksIDB4MTAsIDB4ODAsIAotICAgIDB4ZjgsIDB4N2UsIDB4NjgsIDB4MmMsIDB4ZGEsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIDB4MGIsIDB4MDAsIDB4N2UsIDB4NjgsIAotICAgIDB4MmQsIDB4M2QsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIDB4N2UsIDB4NzgsIDB4MDAsIDB4MDAsIDB4N2UsIDB4NzAsIDB4MGUsIAotICAgIDB4N2UsIDB4YTQsIDB4ZmYsIDB4ZmYsIDB4N2UsIDB4YjQsIDB4YmYsIDB4ZmYsIDB4N2QsIDB4Y2IsIDB4MGUsIDB4YzQsIDB4N2QsIDB4ZGMsIDB4NWQsIDB4ZGIsIAotICAgIDB4NmMsIDB4YmIsIDB4N2QsIDB4ZmEsIDB4NWUsIDB4ZjQsIDB4N2YsIDB4ZmYsIDB4N2EsIDB4N2IsIDB4YjAsIDB4MGIsIDB4YjAsIDB4N2QsIDB4ZmIsIDB4NWUsIAotICAgIDB4ZjQsIDB4N2YsIDB4ZmYsIDB4N2EsIDB4N2IsIDB4YjAsIDB4MGIsIDB4YjAsIDB4N2QsIDB4ZmMsIDB4NWUsIDB4ZjQsIDB4N2YsIDB4ZmYsIDB4N2EsIDB4N2IsIAotICAgIDB4YjAsIDB4MGIsIDB4YjAsIDB4N2QsIDB4ZmQsIDB4NWUsIDB4ZjQsIDB4N2YsIDB4ZmYsIDB4N2EsIDB4N2IsIDB4YjAsIDB4NmMsIDB4YmIsIDB4N2QsIDB4ZmEsIAotICAgIDB4NWUsIDB4ZjQsIDB4N2YsIDB4ZmYsIDB4YmUsIDB4N2IsIDB4YjAsIDB4NzgsIDB4NDEsIDB4MGIsIDB4YjAsIDB4N2QsIDB4ZmIsIDB4NWUsIDB4ZjQsIDB4N2YsIAotICAgIDB4ZmYsIDB4YmUsIDB4N2IsIDB4YjAsIDB4NzgsIDB4MzQsIDB4MGIsIDB4YjAsIDB4N2QsIDB4ZmMsIDB4NWUsIDB4ZjQsIDB4N2YsIDB4ZmYsIDB4YmUsIDB4N2IsIAotICAgIDB4YjAsIDB4NzgsIDB4MjcsIDB4MGIsIDB4YjAsIDB4N2QsIDB4ZmQsIDB4NWUsIDB4ZjQsIDB4N2YsIDB4ZmYsIDB4YmUsIDB4N2IsIDB4YjAsIDB4NzgsIDB4MWEsIAotICAgIDB4MGIsIDB4YjAsIDB4YmUsIDB4YzQsIDB4ZmYsIDB4ZmUsIDB4NzgsIDB4OTIsIDB4MGUsIDB4YjQsIDB4YTUsIDB4ZGYsIDB4OGIsIDB4N2UsIDB4NjgsIDB4MmMsIAotICAgIDB4ZTcsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIDB4ODAsIDB4NzcsIDB4Y2EsIDB4NWIsIDB4Y2EsIDB4NmIsIDB4N2UsIDB4NjgsIAotICAgIDB4MmMsIDB4ZjAsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIDB4N2UsIDB4NjgsIDB4MmQsIDB4OGYsIDB4N2EsIDB4NmMsIDB4MDAsIAotICAgIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIDB4MGEsIDB4NDcsIDB4MTIsIDB4MTksIDB4ZmEsIDB4N2UsIDB4NjgsIDB4MmQsIDB4ZGUsIDB4N2EsIDB4NmMsIDB4MDAsIAotICAgIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIDB4NmMsIDB4NzcsIDB4ZGEsIDB4NmIsIDB4Y2EsIDB4NmIsIDB4MGIsIDB4NzAsIDB4MGUsIDB4YzQsIDB4YmUsIDB4YzQsIAotICAgIDB4ZmYsIDB4ZmYsIDB4NzgsIDB4ZjYsIDB4MWIsIDB4NzAsIDB4MGEsIDB4NDcsIDB4MTIsIDB4MTksIDB4ZmEsIDB4MTIsIDB4MTksIDB4MTksIDB4MzAsIDB4MTEsIAotICAgIDB4MzAsIDB4ZGEsIDB4NmIsIDB4ZGEsIDB4NWIsIDB4NmMsIDB4YmIsIDB4N2UsIDB4NzgsIDB4MDAsIDB4MDAsIDB4N2QsIDB4ZmEsIDB4NWUsIDB4ZjQsIDB4N2YsIAotICAgIDB4ZmYsIDB4N2EsIDB4N2IsIDB4YjAsIDB4N2QsIDB4ZmIsIDB4NWUsIDB4ZjQsIDB4N2YsIDB4ZmYsIDB4N2EsIDB4N2IsIDB4YjAsIDB4N2QsIDB4ZmMsIDB4NWUsIAotICAgIDB4ZjQsIDB4N2YsIDB4ZmYsIDB4N2EsIDB4N2IsIDB4YjAsIDB4N2QsIDB4ZmQsIDB4NWUsIDB4ZjQsIDB4N2YsIDB4ZmYsIDB4N2EsIDB4N2IsIDB4YjAsIDB4ODAsIAotICAgIDB4ZDQsIDB4N2UsIDB4NjgsIDB4MmQsIDB4MWIsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIDB4MzAsIDB4MWYsIDB4MGUsIDB4N2UsIAotICAgIDB4NzgsIDB4MDQsIDB4MjAsIDB4N2EsIDB4N2MsIDB4MDAsIDB4MDAsIDB4N2UsIDB4NDQsIDB4N2IsIDB4ZTAsIDB4ODAsIDB4MGMsIDB4N2UsIDB4NzgsIDB4MDAsIAotICAgIDB4MDAsIDB4N2EsIDB4N2MsIDB4MDAsIDB4MDEsIDB4N2UsIDB4NDQsIDB4ODAsIDB4MDAsIDB4MGIsIDB4MDAsIDB4N2UsIDB4NDAsIDB4M2EsIDB4N2MsIDB4NTQsIAotICAgIDB4N2YsIDB4NTcsIDB4N2QsIDB4ODQsIDB4NmMsIDB4NjYsIDB4N2EsIDB4NWIsIDB4NTAsIDB4MGIsIDB4NWMsIDB4MGIsIDB4NTAsIDB4YTUsIDB4ZGUsIDB4MDIsIAotICAgIDB4MGIsIDB4NTAsIDB4MWIsIDB4ODQsIDB4NzgsIDB4ZjAsIDB4N2MsIDB4NTQsIDB4N2YsIDB4NTcsIDB4N2QsIDB4ODQsIDB4NmMsIDB4NjYsIDB4YmUsIDB4NWIsIAotICAgIDB4NTAsIDB4NzgsIDB4MWEsIDB4MGIsIDB4NWMsIDB4MGIsIDB4NTAsIDB4YTUsIDB4ZGUsIDB4MDIsIDB4MGIsIDB4NTAsIDB4MWIsIDB4ODQsIDB4NzgsIDB4ZWUsIAotICAgIDB4N2UsIDB4NjgsIDB4MmMsIDB4ZGEsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIDB4ODAsIDB4NGIsIDB4N2YsIDB4NDUsIDB4N2UsIAotICAgIDB4NjgsIDB4MmMsIDB4ZGYsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIDB4N2UsIDB4NjgsIDB4MmQsIDB4NWYsIDB4N2EsIDB4NmMsIAotICAgIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIDB4N2QsIDB4NGIsIDB4MTIsIDB4MTksIDB4ZmEsIDB4N2UsIDB4NjgsIDB4MmQsIDB4NzQsIDB4N2EsIDB4NmMsIAotICAgIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIDB4NmMsIDB4ODgsIDB4N2MsIDB4OTUsIDB4MTIsIDB4MTksIDB4ZmEsIDB4N2UsIDB4NjgsIDB4MmQsIDB4ODIsIAotICAgIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIDB4N2UsIDB4NGIsIDB4OTAsIDB4MTIsIDB4MTksIDB4ZmEsIDB4MTIsIDB4MTksIDB4MTksIAotICAgIDB4MzAsIDB4MTEsIDB4MDUsIDB4N2UsIDB4NGIsIDB4OTAsIDB4ODAsIDB4ZmIsIDB4N2UsIDB4NjgsIDB4MmUsIDB4MjgsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIAotICAgIDB4MTIsIDB4MTksIDB4YzQsIDB4MGIsIDB4MDAsIDB4N2UsIDB4YjAsIDB4ODAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDAsIDB4N2UsIDB4YTAsIDB4NTUsIDB4N2EsIAotICAgIDB4YTMsIDB4OTEsIDB4MTAsIDB4N2UsIDB4YjMsIDB4OTEsIDB4MDcsIDB4N2UsIDB4YjMsIDB4OTEsIDB4MTAsIDB4YmMsIDB4YWIsIDB4NzgsIDB4MjAsIDB4N2UsIAotICAgIDB4YTAsIDB4YWEsIDB4N2EsIDB4YTMsIDB4OTEsIDB4MTAsIDB4N2UsIDB4YjMsIDB4OTEsIDB4MDcsIDB4N2UsIDB4YjMsIDB4OTEsIDB4MTAsIDB4YmMsIDB4YWIsIAotICAgIDB4NzgsIDB4MGQsIDB4N2UsIDB4NjgsIDB4MmMsIDB4ZGEsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIDB4ODAsIDB4MWIsIDB4N2UsIAotICAgIDB4NjgsIDB4MmMsIDB4ZGYsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIDB4MTIsIDB4MTksIDB4MTksIDB4MzAsIDB4MTEsIDB4MGEsIAotICAgIDB4N2EsIDB4YTMsIDB4OTEsIDB4MTAsIDB4N2UsIDB4YjMsIDB4OTEsIDB4MTAsIDB4ODAsIDB4ZjYsIDB4N2UsIDB4NjgsIDB4MmUsIDB4NGEsIDB4N2EsIDB4NmMsIAotICAgIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIDB4MTIsIDB4MTIsIDB4MzEsIDB4MGIsIDB4MDAsIDB4N2UsIDB4ZTQsIDB4MTAsIDB4MDAsIDB4N2UsIDB4YTAsIAotICAgIDB4YTUsIDB4Y2EsIDB4YTgsIDB4N2EsIDB4ZTksIDB4YTAsIDB4N2UsIDB4YjAsIDB4MzAsIDB4N2EsIDB4YjMsIDB4OTUsIDB4MDAsIDB4N2UsIDB4ZTksIDB4YTAsIAotICAgIDB4N2UsIDB4YjAsIDB4MDAsIDB4N2EsIDB4YjMsIDB4OTUsIDB4MDAsIDB4MTIsIDB4MTksIDB4MGMsIDB4MGIsIDB4ZTUsIDB4N2UsIDB4YjAsIDB4MjAsIDB4N2EsIAotICAgIDB4YjMsIDB4OTUsIDB4MDAsIDB4N2UsIDB4ZTksIDB4YjAsIDB4N2UsIDB4YjAsIDB4MDAsIDB4N2EsIDB4YjMsIDB4OTUsIDB4MDAsIDB4N2UsIDB4ZTksIDB4YjAsIAotICAgIDB4ZGEsIDB4YTgsIDB4YmMsIDB4YWIsIDB4NzgsIDB4MGQsIDB4N2UsIDB4NjgsIDB4MmMsIDB4ZGEsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIAotICAgIDB4YzQsIDB4ODAsIDB4MWQsIDB4N2UsIDB4NjgsIDB4MmMsIDB4ZGYsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIDB4MTIsIDB4MTksIAotICAgIDB4MTksIDB4MzAsIDB4MTEsIDB4MGMsIDB4N2UsIDB4YjAsIDB4MzgsIDB4N2EsIDB4YjMsIDB4OTUsIDB4MDAsIDB4N2UsIDB4ZTksIDB4YjAsIDB4ODAsIDB4ZmIsIAotICAgIDB4ODAsIDB4MDAsIDB4N2UsIDB4NjgsIDB4MmQsIDB4ZTQsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIDB4MGIsIDB4MDAsIDB4NzUsIAotICAgIDB4YjAsIDB4ZGYsIDB4N2UsIDB4MjQsIDB4ODAsIDB4MDAsIDB4MDksIDB4YjIsIDB4MDAsIDB4MDgsIDB4YmUsIDB4YjAsIDB4MDEsIDB4NzgsIDB4MGIsIDB4MDksIAotICAgIDB4YjIsIDB4MDAsIDB4MTQsIDB4YmUsIDB4YjAsIDB4NjAsIDB4NzgsIDB4MDIsIDB4ODAsIDB4MTcsIDB4N2UsIDB4NjgsIDB4MmMsIDB4ZGYsIDB4N2EsIDB4NmMsIAotICAgIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIDB4MTIsIDB4MTksIDB4MTksIDB4MzAsIDB4MTEsIDB4MTEsIDB4MDksIDB4YjIsIDB4MDAsIDB4MDgsIDB4ODAsIAotICAgIDB4ZmEsIDB4N2UsIDB4NjgsIDB4MmMsIDB4ZGEsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIDB4N2UsIDB4NjgsIDB4MmUsIDB4MDYsIAotICAgIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIDB4MGIsIDB4MDAsIDB4NzUsIDB4YjAsIDB4ZWYsIDB4MTIsIDB4MTgsIDB4ZmYsIDB4N2UsIAotICAgIDB4MjQsIDB4ODAsIDB4MDAsIDB4N2UsIDB4YTAsIDB4NTUsIDB4MTksIDB4YTIsIDB4MDAsIDB4MWMsIDB4N2UsIDB4YjAsIDB4MDEsIDB4MTksIDB4YjIsIDB4MDAsIAotICAgIDB4MDgsIDB4MDksIDB4YjIsIDB4MDAsIDB4MWMsIDB4YmMsIDB4YWIsIDB4NzgsIDB4MzcsIDB4MDksIDB4YjIsIDB4MDAsIDB4MDgsIDB4NWUsIDB4YjAsIDB4YzAsIAotICAgIDB4YmUsIDB4YjAsIDB4YzAsIDB4NzgsIDB4MmIsIDB4N2UsIDB4YTAsIDB4YWEsIDB4MTksIDB4YTIsIDB4MDAsIDB4MWMsIDB4NmMsIDB4YmIsIDB4MTksIDB4YjIsIAotICAgIDB4MDAsIDB4MDgsIDB4MDksIDB4YjIsIDB4MDAsIDB4MWMsIDB4YmMsIDB4YWIsIDB4NzgsIDB4MTYsIDB4MDksIDB4YjIsIDB4MDAsIDB4MDgsIDB4NWUsIDB4YjAsIAotICAgIDB4YzAsIDB4NzgsIDB4MGQsIDB4N2UsIDB4NjgsIDB4MmMsIDB4ZGEsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIDB4ODAsIDB4MWIsIAotICAgIDB4N2UsIDB4NjgsIDB4MmMsIDB4ZGYsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIDB4MTIsIDB4MTksIDB4MTksIDB4MzAsIDB4MTEsIAotICAgIDB4MGEsIDB4MTksIDB4YTIsIDB4MDAsIDB4MWMsIDB4MDksIDB4YjIsIDB4MDAsIDB4MWMsIDB4ODAsIDB4ZjYsIDB4N2UsIDB4NjgsIDB4MmUsIDB4NmMsIDB4N2EsIAotICAgIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIDB4N2UsIDB4NjgsIDB4MmUsIDB4ZWUsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIAotICAgIDB4YzQsIDB4N2UsIDB4MjQsIDB4ODAsIDB4MDAsIDB4N2UsIDB4MTEsIDB4MjEsIDB4N2UsIDB4YjAsIDB4MDEsIDB4MTksIDB4YjIsIDB4MDAsIDB4MWMsIDB4MmUsIAotICAgIDB4MjQsIDB4MDEsIDB4MDAsIDB4MGIsIDB4YjAsIDB4YTUsIDB4ZDksIDB4ZjMsIDB4N2UsIDB4MjQsIDB4ODAsIDB4MDAsIDB4N2UsIDB4MTEsIDB4MjEsIDB4N2UsIAotICAgIDB4YjAsIDB4MDEsIDB4MGIsIDB4MDAsIDB4MDksIDB4YTIsIDB4MDAsIDB4MWMsIDB4YmMsIDB4YWIsIDB4NzgsIDB4MTYsIDB4N2UsIDB4NjgsIDB4MmMsIDB4ZTcsIAotICAgIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIDB4MmUsIDB4MjQsIDB4MDEsIDB4MDAsIDB4MGIsIDB4YjAsIDB4YTUsIDB4ZDksIDB4ZTIsIAotICAgIDB4ODAsIDB4MjUsIDB4N2UsIDB4NjgsIDB4MmMsIDB4ZjAsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIDB4MTIsIDB4MTksIDB4MTksIAotICAgIDB4MzAsIDB4MTEsIDB4ZTQsIDB4N2UsIDB4MjQsIDB4ODAsIDB4MDAsIDB4N2UsIDB4MTEsIDB4MjEsIDB4MDksIDB4YTIsIDB4MDAsIDB4MWMsIDB4MmUsIDB4MjQsIAotICAgIDB4MDEsIDB4MDAsIDB4YTUsIDB4ZDksIDB4ZjUsIDB4ODAsIDB4ZWMsIDB4N2UsIDB4NjgsIDB4MmYsIDB4MTIsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIAotICAgIDB4MTksIDB4YzQsIDB4MTIsIDB4MTIsIDB4MzEsIDB4N2UsIDB4MjQsIDB4ODAsIDB4MDAsIDB4N2UsIDB4MTEsIDB4MjEsIDB4MGIsIDB4MDAsIDB4NzQsIDB4MTAsIAotICAgIDB4MTksIDB4YjIsIDB4MDAsIDB4MTAsIDB4MTIsIDB4MTEsIDB4YWEsIDB4MmUsIDB4MjQsIDB4MDEsIDB4MDAsIDB4YTUsIDB4ZDksIDB4ZWUsIDB4N2UsIDB4NjgsIAotICAgIDB4MmYsIDB4MzYsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIDB4N2UsIDB4MjQsIDB4ODAsIDB4MDAsIDB4N2UsIDB4MTEsIDB4MjEsIAotICAgIDB4MGIsIDB4MDAsIDB4ZTQsIDB4MTksIDB4YjIsIDB4MDAsIDB4MTAsIDB4MTIsIDB4MTEsIDB4YWEsIDB4MmUsIDB4MjQsIDB4MDEsIDB4MDAsIDB4YTUsIDB4ZDksIAotICAgIDB4ZWYsIDB4MzAsIDB4MDAsIDB4MDMsIDB4MDIsIDB4MTcsIDB4M2IsIDB4MDIsIDB4MTIsIDB4NmEsIDB4NzQsIDB4MDcsIDB4MTksIDB4YjIsIDB4MDAsIDB4MDgsIAotICAgIDB4MTIsIDB4MTksIDB4MGMsIDB4MDksIDB4YjIsIDB4MDAsIDB4MDAsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTQsIDB4MDksIDB4YjIsIDB4MDAsIDB4MDAsIDB4MDksIAotICAgIDB4YjIsIDB4MDAsIDB4MTQsIDB4MDksIDB4YjIsIDB4MDAsIDB4MDAsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTQsIDB4MDksIDB4YjIsIDB4MDAsIDB4MDAsIDB4MDksIAotICAgIDB4YjIsIDB4MDAsIDB4MTQsIDB4YzIsIDB4MTMsIDB4N2UsIDB4YjAsIDB4NTUsIDB4MTIsIDB4MTIsIDB4MGIsIDB4N2UsIDB4YjAsIDB4YWEsIDB4MTIsIDB4MTIsIAotICAgIDB4MGIsIDB4N2UsIDB4YjAsIDB4MDAsIDB4MTIsIDB4MTIsIDB4MGIsIDB4N2UsIDB4YjAsIDB4ZmYsIDB4MTIsIDB4MTIsIDB4MGIsIDB4MzAsIDB4MTMsIDB4MGYsIAotICAgIDB4N2UsIDB4NjgsIDB4MmMsIDB4ZjAsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIDB4MTIsIDB4MTksIDB4MTksIDB4MjIsIDB4N2UsIAotICAgIDB4NjgsIDB4MmMsIDB4ZTcsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIDB4MjIsIDB4MTksIDB4YjIsIDB4MDAsIDB4MDAsIDB4MTIsIAotICAgIDB4MTgsIDB4ZmYsIDB4MDksIDB4YTIsIDB4MDAsIDB4MDAsIDB4YmMsIDB4YWIsIDB4NzgsIDB4MDEsIDB4MjIsIDB4MjAsIDB4MTEsIDB4MDMsIDB4ZDIsIDB4MTMsIAotICAgIDB4MjIsIDB4MTIsIDB4MTksIDB4MTksIDB4MTksIDB4YjIsIDB4MDAsIDB4MDAsIDB4MTIsIDB4MTgsIDB4ZmYsIDB4MDksIDB4YTIsIDB4MDAsIDB4MDAsIDB4ODAsIAotICAgIDB4ZjMsIDB4NzUsIDB4YjAsIDB4ZGYsIDB4MTIsIDB4MTgsIDB4ZmYsIDB4NzUsIDB4YjAsIDB4ZWYsIDB4MTIsIDB4MTgsIDB4ZmYsIDB4N2UsIDB4MjQsIDB4ODAsIAotICAgIDB4MDAsIDB4N2UsIDB4MTEsIDB4MjEsIDB4NzQsIDB4ODAsIDB4MTksIDB4YjIsIDB4MDAsIDB4MGMsIDB4N2UsIDB4NTQsIDB4MDAsIDB4MDIsIDB4MTksIDB4YTIsIAotICAgIDB4MDAsIDB4MDQsIDB4MTksIDB4YjIsIDB4MDAsIDB4MDAsIDB4NzQsIDB4MDMsIDB4MTksIDB4YjIsIDB4MDAsIDB4MGMsIDB4NzQsIDB4MDYsIDB4MTksIDB4YjIsIAotICAgIDB4MDAsIDB4MDgsIDB4MmUsIDB4MjQsIDB4MDEsIDB4MDAsIDB4YTUsIDB4ZDksIDB4ZGIsIDB4MjIsIDB4N2UsIDB4NjgsIDB4MmYsIDB4NWEsIDB4N2EsIDB4NmMsIAotICAgIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIDB4N2UsIDB4MjQsIDB4ODAsIDB4MDAsIDB4N2UsIDB4MTEsIDB4MjEsIDB4MGIsIDB4MDAsIDB4MTIsIDB4MTgsIAotICAgIDB4ZmYsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTgsIDB4N2UsIDB4YTAsIDB4NTUsIDB4MTksIDB4YTIsIDB4MDAsIDB4MDAsIDB4MTIsIDB4MTgsIDB4ZmYsIDB4MDksIAotICAgIDB4YjIsIDB4MDAsIDB4MTgsIDB4NWUsIDB4YjAsIDB4MDUsIDB4NzgsIDB4MGQsIDB4N2UsIDB4NjgsIDB4MmMsIDB4ZTcsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIAotICAgIDB4MTIsIDB4MTksIDB4YzQsIDB4ODAsIDB4MWEsIDB4N2UsIDB4NjgsIDB4MmMsIDB4ZjAsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIAotICAgIDB4MTIsIDB4MTksIDB4MTksIDB4MzAsIDB4MTEsIDB4MDksIDB4MTksIDB4YTIsIDB4MDAsIDB4MDAsIDB4MTIsIDB4MTgsIDB4ZmYsIDB4ODAsIDB4ZjcsIDB4MmUsIAotICAgIDB4MjQsIDB4MDEsIDB4MDAsIDB4YTUsIDB4ZDksIDB4YjYsIDB4N2UsIDB4NjgsIDB4MmYsIDB4N2UsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIAotICAgIDB4YzQsIDB4N2UsIDB4MjQsIDB4ODAsIDB4MDAsIDB4N2UsIDB4MTEsIDB4MjEsIDB4MGIsIDB4MDAsIDB4MTIsIDB4MTgsIDB4ZmYsIDB4MDksIDB4YjIsIDB4MDAsIAotICAgIDB4MTgsIDB4N2UsIDB4YTAsIDB4NTUsIDB4MTksIDB4YTIsIDB4MDAsIDB4MDAsIDB4MTIsIDB4MTgsIDB4ZmYsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTgsIDB4NWUsIAotICAgIDB4YjAsIDB4MGEsIDB4NzgsIDB4MGQsIDB4N2UsIDB4NjgsIDB4MmMsIDB4ZTcsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIDB4ODAsIAotICAgIDB4MWEsIDB4N2UsIDB4NjgsIDB4MmMsIDB4ZjAsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIDB4MTIsIDB4MTksIDB4MTksIDB4MzAsIAotICAgIDB4MTEsIDB4MDksIDB4MTksIDB4YTIsIDB4MDAsIDB4MDAsIDB4MTIsIDB4MTgsIDB4ZmYsIDB4ODAsIDB4ZjcsIDB4MmUsIDB4MjQsIDB4MDEsIDB4MDAsIDB4YTUsIAotICAgIDB4ZDksIDB4YjYsIDB4MzAsIDB4MDQsIDB4MDMsIDB4MDIsIDB4MTUsIDB4OWYsIDB4N2UsIDB4NjgsIDB4MmYsIDB4YTIsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIAotICAgIDB4MTIsIDB4MTksIDB4YzQsIDB4N2UsIDB4MjQsIDB4ODAsIDB4MDAsIDB4N2UsIDB4MTEsIDB4MjEsIDB4MGIsIDB4MDAsIDB4NmMsIDB4YWEsIDB4MTksIDB4YTIsIAotICAgIDB4MDAsIDB4MTAsIDB4MTIsIDB4MTgsIDB4ZmYsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTgsIDB4N2UsIDB4YTAsIDB4MDIsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIAotICAgIDB4NmMsIDB4YWEsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4MTIsIDB4MTgsIDB4ZmYsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTgsIDB4NWUsIDB4YjAsIDB4MGEsIAotICAgIDB4NzgsIDB4M2MsIDB4N2UsIDB4YTAsIDB4MDEsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4MTIsIDB4MTgsIDB4ZmYsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTgsIAotICAgIDB4N2UsIDB4YTAsIDB4MDMsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4N2UsIDB4YTAsIDB4MDEsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4MTIsIDB4MTgsIAotICAgIDB4ZmYsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTgsIDB4NWUsIDB4YjAsIDB4MGEsIDB4NzgsIDB4MTQsIDB4N2UsIDB4NjgsIDB4MmMsIDB4ZTcsIDB4N2EsIDB4NmMsIAotICAgIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIDB4MmUsIDB4MjQsIDB4MDEsIDB4MDAsIDB4YTUsIDB4ZDksIDB4OWUsIDB4ODAsIDB4MjAsIDB4N2UsIDB4NjgsIAotICAgIDB4MmMsIDB4ZjAsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIDB4MTIsIDB4MTksIDB4MTksIDB4MzAsIDB4MTEsIDB4ZTYsIDB4N2UsIAotICAgIDB4YTAsIDB4MDIsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4NmMsIDB4YWEsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4ODAsIDB4ZjEsIDB4N2UsIDB4NjgsIAotICAgIDB4MmYsIDB4ZWEsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIDB4N2UsIDB4MjQsIDB4ODAsIDB4MDAsIDB4N2UsIDB4MTEsIDB4MjEsIAotICAgIDB4MGIsIDB4MDAsIDB4NmMsIDB4YWEsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4MTIsIDB4MTgsIDB4ZmYsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTgsIDB4N2UsIAotICAgIDB4YTAsIDB4MDEsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4NmMsIDB4YWEsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4MTIsIDB4MTgsIDB4ZmYsIDB4MDksIAotICAgIDB4YjIsIDB4MDAsIDB4MTgsIDB4NWUsIDB4YjAsIDB4MDUsIDB4NzgsIDB4M2MsIDB4N2UsIDB4YTAsIDB4MDIsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4MTIsIAotICAgIDB4MTgsIDB4ZmYsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTgsIDB4N2UsIDB4YTAsIDB4MDMsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4N2UsIDB4YTAsIDB4MDIsIAotICAgIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4MTIsIDB4MTgsIDB4ZmYsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTgsIDB4NWUsIDB4YjAsIDB4MDUsIDB4NzgsIDB4MTQsIAotICAgIDB4N2UsIDB4NjgsIDB4MmMsIDB4ZTcsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIDB4MmUsIDB4MjQsIDB4MDEsIDB4MDAsIDB4YTUsIAotICAgIDB4ZDksIDB4OWUsIDB4ODAsIDB4MjAsIDB4N2UsIDB4NjgsIDB4MmMsIDB4ZjAsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIDB4MTIsIAotICAgIDB4MTksIDB4MTksIDB4MzAsIDB4MTEsIDB4ZTYsIDB4N2UsIDB4YTAsIDB4MDEsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4NmMsIDB4YWEsIDB4MTksIDB4YTIsIAotICAgIDB4MDAsIDB4MTAsIDB4ODAsIDB4ZjEsIDB4N2UsIDB4NjgsIDB4MzAsIDB4MzIsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIDB4N2UsIAotICAgIDB4MjQsIDB4ODAsIDB4MDAsIDB4N2UsIDB4MTEsIDB4MjEsIDB4MGIsIDB4MDAsIDB4N2UsIDB4YTAsIDB4MDIsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4MTIsIAotICAgIDB4MTgsIDB4ZmYsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTgsIDB4NWUsIDB4YjAsIDB4NTAsIDB4YmUsIDB4YjAsIDB4NTAsIDB4NzgsIDB4MWYsIDB4NmMsIDB4YWEsIAotICAgIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4MTIsIDB4MTgsIDB4ZmYsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTgsIDB4NWUsIDB4YjAsIDB4NTAsIDB4NzgsIDB4MGQsIAotICAgIDB4N2UsIDB4NjgsIDB4MmMsIDB4ZTcsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIDB4ODAsIDB4MjAsIDB4N2UsIDB4NjgsIDB4MmMsIAotICAgIDB4ZjAsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIDB4MTIsIDB4MTksIDB4MTksIDB4MzAsIDB4MTEsIDB4MGYsIDB4N2UsIDB4YTAsIAotICAgIDB4MDIsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4NmMsIDB4YWEsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4ODAsIDB4ZjEsIDB4MmUsIDB4MjQsIDB4MDEsIAotICAgIDB4MDAsIDB4YTUsIDB4ZDksIDB4YTIsIDB4N2UsIDB4NjgsIDB4MzAsIDB4N2EsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIDB4N2UsIAotICAgIDB4MjQsIDB4ODAsIDB4MDAsIDB4N2UsIDB4MTEsIDB4MjEsIDB4MGIsIDB4MDAsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTgsIDB4N2UsIDB4YTAsIDB4MDEsIDB4MTksIAotICAgIDB4YTIsIDB4MDAsIDB4MTAsIDB4MTIsIDB4MTgsIDB4ZmYsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTgsIDB4NWUsIDB4YjAsIDB4YTAsIDB4YmUsIDB4YjAsIDB4YTAsIAotICAgIDB4NzgsIDB4MWYsIDB4NmMsIDB4YWEsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4MTIsIDB4MTgsIDB4ZmYsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTgsIDB4NWUsIAotICAgIDB4YjAsIDB4YTAsIDB4NzgsIDB4MGQsIDB4N2UsIDB4NjgsIDB4MmMsIDB4ZTcsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIDB4ODAsIAotICAgIDB4MjAsIDB4N2UsIDB4NjgsIDB4MmMsIDB4ZjAsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIDB4MTIsIDB4MTksIDB4MTksIDB4MzAsIAotICAgIDB4MTEsIDB4MGYsIDB4N2UsIDB4YTAsIDB4MDEsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4NmMsIDB4YWEsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4ODAsIAotICAgIDB4ZjEsIDB4MmUsIDB4MjQsIDB4MDEsIDB4MDAsIDB4YTUsIDB4ZDksIDB4OWUsIDB4N2UsIDB4NjgsIDB4MzAsIDB4OWUsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIAotICAgIDB4MTIsIDB4MTksIDB4YzQsIDB4N2UsIDB4MjQsIDB4ODAsIDB4MDAsIDB4N2UsIDB4MTEsIDB4MjEsIDB4MGIsIDB4MDAsIDB4MjAsIDB4YjEsIDB4MjYsIDB4N2UsIAotICAgIDB4YTAsIDB4MDIsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4MTIsIDB4MTgsIDB4ZmYsIDB4MzAsIDB4YjEsIDB4MTksIDB4NmMsIDB4YWEsIDB4MTksIDB4YTIsIAotICAgIDB4MDAsIDB4MTAsIDB4MTIsIDB4MTgsIDB4ZmYsIDB4MjAsIDB4YjEsIDB4MGQsIDB4N2UsIDB4NjgsIDB4MmMsIDB4ZTcsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIAotICAgIDB4MTIsIDB4MTksIDB4YzQsIDB4ODAsIDB4MjAsIDB4N2UsIDB4NjgsIDB4MmMsIDB4ZjAsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIAotICAgIDB4MTIsIDB4MTksIDB4MTksIDB4MzAsIDB4MTEsIDB4MGYsIDB4N2UsIDB4YTAsIDB4MDIsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4NmMsIDB4YWEsIDB4MTksIAotICAgIDB4YTIsIDB4MDAsIDB4MTAsIDB4ODAsIDB4ZjEsIDB4MmUsIDB4MjQsIDB4MDEsIDB4MDAsIDB4YTUsIDB4ZDksIDB4YWUsIDB4MDIsIDB4MTcsIDB4M2IsIDB4N2UsIAotICAgIDB4NjgsIDB4MmYsIDB4YzYsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIDB4N2UsIDB4MjQsIDB4ODAsIDB4MDAsIDB4N2UsIDB4MTEsIAotICAgIDB4MjEsIDB4MGIsIDB4MDAsIDB4NmMsIDB4YWEsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4MTIsIDB4MTgsIDB4ZmYsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTgsIAotICAgIDB4N2UsIDB4YTAsIDB4MDIsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4NmMsIDB4YWEsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4MTIsIDB4MTgsIDB4ZmYsIAotICAgIDB4MDksIDB4YjIsIDB4MDAsIDB4MTgsIDB4NWUsIDB4YjAsIDB4MDYsIDB4NzgsIDB4M2MsIDB4N2UsIDB4YTAsIDB4MDEsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIAotICAgIDB4MTIsIDB4MTgsIDB4ZmYsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTgsIDB4N2UsIDB4YTAsIDB4MDMsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4N2UsIDB4YTAsIAotICAgIDB4MDEsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4MTIsIDB4MTgsIDB4ZmYsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTgsIDB4NWUsIDB4YjAsIDB4MDYsIDB4NzgsIAotICAgIDB4MTQsIDB4N2UsIDB4NjgsIDB4MmMsIDB4ZTcsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIDB4MmUsIDB4MjQsIDB4MDEsIDB4MDAsIAotICAgIDB4YTUsIDB4ZDksIDB4OWUsIDB4ODAsIDB4MjAsIDB4N2UsIDB4NjgsIDB4MmMsIDB4ZjAsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIAotICAgIDB4MTIsIDB4MTksIDB4MTksIDB4MzAsIDB4MTEsIDB4ZTYsIDB4N2UsIDB4YTAsIDB4MDIsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4NmMsIDB4YWEsIDB4MTksIAotICAgIDB4YTIsIDB4MDAsIDB4MTAsIDB4ODAsIDB4ZjEsIDB4N2UsIDB4NjgsIDB4MzAsIDB4MGUsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIAotICAgIDB4N2UsIDB4MjQsIDB4ODAsIDB4MDAsIDB4N2UsIDB4MTEsIDB4MjEsIDB4MGIsIDB4MDAsIDB4NmMsIDB4YWEsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4MTIsIAotICAgIDB4MTgsIDB4ZmYsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTgsIDB4N2UsIDB4YTAsIDB4MDEsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4NmMsIDB4YWEsIDB4MTksIAotICAgIDB4YTIsIDB4MDAsIDB4MTAsIDB4MTIsIDB4MTgsIDB4ZmYsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTgsIDB4NWUsIDB4YjAsIDB4MDksIDB4NzgsIDB4M2MsIDB4N2UsIAotICAgIDB4YTAsIDB4MDIsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4MTIsIDB4MTgsIDB4ZmYsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTgsIDB4N2UsIDB4YTAsIDB4MDMsIAotICAgIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4N2UsIDB4YTAsIDB4MDIsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4MTIsIDB4MTgsIDB4ZmYsIDB4MDksIDB4YjIsIAotICAgIDB4MDAsIDB4MTgsIDB4NWUsIDB4YjAsIDB4MDksIDB4NzgsIDB4MTQsIDB4N2UsIDB4NjgsIDB4MmMsIDB4ZTcsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIAotICAgIDB4MTksIDB4YzQsIDB4MmUsIDB4MjQsIDB4MDEsIDB4MDAsIDB4YTUsIDB4ZDksIDB4OWUsIDB4ODAsIDB4MjAsIDB4N2UsIDB4NjgsIDB4MmMsIDB4ZjAsIDB4N2EsIAotICAgIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIDB4MTIsIDB4MTksIDB4MTksIDB4MzAsIDB4MTEsIDB4ZTYsIDB4N2UsIDB4YTAsIDB4MDEsIDB4MTksIAotICAgIDB4YTIsIDB4MDAsIDB4MTAsIDB4NmMsIDB4YWEsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4ODAsIDB4ZjEsIDB4N2UsIDB4NjgsIDB4MzAsIDB4NTYsIDB4N2EsIAotICAgIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIDB4N2UsIDB4MjQsIDB4ODAsIDB4MDAsIDB4N2UsIDB4MTEsIDB4MjEsIDB4MGIsIDB4MDAsIDB4N2UsIAotICAgIDB4YTAsIDB4MDIsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4MTIsIDB4MTgsIDB4ZmYsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTgsIDB4NWUsIDB4YjAsIDB4OTAsIAotICAgIDB4YmUsIDB4YjAsIDB4OTAsIDB4NzgsIDB4MWYsIDB4NmMsIDB4YWEsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4MTIsIDB4MTgsIDB4ZmYsIDB4MDksIDB4YjIsIAotICAgIDB4MDAsIDB4MTgsIDB4NWUsIDB4YjAsIDB4OTAsIDB4NzgsIDB4MGQsIDB4N2UsIDB4NjgsIDB4MmMsIDB4ZTcsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIAotICAgIDB4MTksIDB4YzQsIDB4ODAsIDB4MjAsIDB4N2UsIDB4NjgsIDB4MmMsIDB4ZjAsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIDB4MTIsIAotICAgIDB4MTksIDB4MTksIDB4MzAsIDB4MTEsIDB4MGYsIDB4N2UsIDB4YTAsIDB4MDIsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4NmMsIDB4YWEsIDB4MTksIDB4YTIsIAotICAgIDB4MDAsIDB4MTAsIDB4ODAsIDB4ZjEsIDB4MmUsIDB4MjQsIDB4MDEsIDB4MDAsIDB4YTUsIDB4ZDksIDB4YTIsIDB4MjAsIDB4MWYsIDB4NjgsIDB4MTIsIDB4MTIsIAotICAgIDB4MzEsIDB4MTIsIDB4MTcsIDB4YTksIDB4N2UsIDB4MjQsIDB4ODAsIDB4MDAsIDB4N2UsIDB4MTEsIDB4MjEsIDB4MGIsIDB4MDAsIDB4MjAsIDB4ODksIDB4MjYsIAotICAgIDB4N2UsIDB4YTAsIDB4ZmYsIDB4MTksIDB4YTIsIDB4MDAsIDB4MDQsIDB4MTIsIDB4MTgsIDB4ZmYsIDB4N2UsIDB4YjAsIDB4NTUsIDB4MTksIDB4YjIsIDB4MDAsIAotICAgIDB4MDAsIDB4MTIsIDB4MTgsIDB4ZmYsIDB4MzAsIDB4ODksIDB4MGYsIDB4N2UsIDB4YTAsIDB4MDAsIDB4MTksIDB4YTIsIDB4MDAsIDB4MDQsIDB4MTIsIDB4MTgsIAotICAgIDB4ZmYsIDB4MjAsIDB4ODksIDB4MDIsIDB4ODAsIDB4MjYsIDB4MTIsIDB4MTksIDB4MTksIDB4MzAsIDB4MTEsIDB4MjAsIDB4N2UsIDB4YTAsIDB4ZmYsIDB4MTksIAotICAgIDB4YTIsIDB4MDAsIDB4MDQsIDB4MTIsIDB4MTgsIDB4ZmYsIDB4N2UsIDB4YjAsIDB4NTUsIDB4MTksIDB4YjIsIDB4MDAsIDB4MDAsIDB4MTIsIDB4MTgsIDB4ZmYsIAotICAgIDB4N2UsIDB4YTAsIDB4MDAsIDB4MTksIDB4YTIsIDB4MDAsIDB4MDQsIDB4MTIsIDB4MTgsIDB4ZmYsIDB4ODAsIDB4ZTAsIDB4MmUsIDB4MjQsIDB4MDEsIDB4MDAsIAotICAgIDB4YTUsIDB4ZDksIDB4YTgsIDB4MDIsIDB4MTcsIDB4YzIsIDB4MDIsIDB4MTgsIDB4NGMsIDB4N2UsIDB4MjQsIDB4ODAsIDB4MDAsIDB4N2UsIDB4MTEsIDB4MjEsIAotICAgIDB4N2UsIDB4YTAsIDB4MDgsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4MTIsIDB4MTgsIDB4ZmYsIDB4MmUsIDB4MjQsIDB4MDEsIDB4MDAsIDB4YTUsIDB4ZDksIAotICAgIDB4ZWYsIDB4MjIsIDB4MzAsIDB4MWYsIDB4MDMsIDB4MDIsIDB4MTgsIDB4NGMsIDB4YzIsIDB4OGEsIDB4MTIsIDB4MTcsIDB4YTksIDB4MGIsIDB4MDAsIDB4MTIsIAotICAgIDB4MTgsIDB4MTYsIDB4MjAsIDB4OGIsIDB4MjQsIDB4NzQsIDB4MDMsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDYsIDB4NzQsIDB4MDIsIDB4N2EsIDB4YjMsIDB4OTEsIAotICAgIDB4MDcsIDB4NzQsIDB4MGMsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDYsIDB4NzQsIDB4MDAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDcsIDB4MTIsIDB4MTksIDB4MGMsIAotICAgIDB4MzAsIDB4OGIsIDB4MDYsIDB4MTIsIDB4MTgsIDB4MTYsIDB4MzAsIDB4OGIsIDB4YWQsIDB4MTIsIDB4MTksIDB4MTksIDB4MzAsIDB4MTEsIDB4YTcsIDB4MTIsIAotICAgIDB4MTgsIDB4MTYsIDB4NzQsIDB4MDMsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDYsIDB4NzQsIDB4MDIsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDcsIDB4MTIsIDB4MTksIAotICAgIDB4MGMsIDB4MTIsIDB4MTgsIDB4MTYsIDB4ODAsIDB4ZTksIDB4N2UsIDB4YTAsIDB4MDAsIDB4NzQsIDB4MDIsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDYsIDB4N2EsIAotICAgIDB4YTMsIDB4OTEsIDB4MDcsIDB4NzQsIDB4MDMsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDYsIDB4N2EsIDB4YTMsIDB4OTEsIDB4MDcsIDB4MTIsIDB4MTgsIDB4ZmYsIAotICAgIDB4NzQsIDB4ZWYsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDQsIDB4NzQsIDB4ODAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDMsIDB4NzQsIDB4MGMsIDB4N2EsIDB4YjMsIAotICAgIDB4OTEsIDB4MDYsIDB4NzQsIDB4MDgsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDcsIDB4MTIsIDB4MTksIDB4MGMsIDB4MjIsIDB4MzAsIDB4MTIsIDB4MTksIDB4N2UsIAotICAgIDB4NjgsIDB4MzAsIDB4YzIsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIDB4ZDIsIDB4MTEsIDB4MTIsIDB4MTgsIDB4ZmYsIDB4MTIsIAotICAgIDB4MTgsIDB4ZmYsIDB4MTIsIDB4MTgsIDB4ZmYsIDB4MDIsIDB4MGMsIDB4Y2EsIDB4MzAsIDB4MWYsIDB4MWMsIDB4N2UsIDB4NjgsIDB4MzEsIDB4M2MsIDB4N2EsIAotICAgIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIDB4N2UsIDB4NjgsIDB4MzEsIDB4NWUsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIAotICAgIDB4YzQsIDB4MTIsIDB4MWEsIDB4NmUsIDB4MDIsIDB4MTgsIDB4ZjcsIDB4MGIsIDB4MDAsIDB4N2UsIDB4NzgsIDB4MTgsIDB4YjEsIDB4N2EsIDB4N2MsIDB4MDAsIAotICAgIDB4ZmYsIDB4N2YsIDB4NjcsIDB4N2EsIDB4NmMsIDB4MDAsIDB4MDAsIDB4N2UsIDB4NzAsIDB4M2UsIDB4N2UsIDB4N2IsIDB4YjAsIDB4N2EsIDB4NmIsIDB4YjAsIAotICAgIDB4MGIsIDB4N2MsIDB4MGIsIDB4NmMsIDB4YTUsIDB4ZGYsIDB4ZjMsIDB4N2UsIDB4NzgsIDB4MTgsIDB4YjEsIDB4N2EsIDB4N2MsIDB4MDAsIDB4MDAsIDB4ODksIAotICAgIDB4NzgsIDB4N2UsIDB4NzgsIDB4MDAsIDB4MDAsIDB4N2EsIDB4N2MsIDB4MDAsIDB4ZmUsIDB4N2UsIDB4NjgsIDB4N2YsIDB4YmYsIDB4N2EsIDB4NmMsIDB4MDAsIAotICAgIDB4ZmUsIDB4NzQsIDB4YWEsIDB4MzksIDB4YjcsIDB4NTUsIDB4NTUsIDB4NzQsIDB4NTUsIDB4MzksIDB4YjcsIDB4MmEsIDB4YWEsIDB4NzQsIDB4YTAsIDB4MzksIAotICAgIDB4YjcsIDB4NTUsIDB4NTUsIDB4NmMsIDB4OTksIDB4N2EsIDB4NmIsIDB4OTAsIDB4N2UsIDB4NTQsIDB4MjcsIDB4MTAsIDB4N2UsIDB4NmIsIDB4ODAsIDB4YmMsIAotICAgIDB4ODksIDB4NjgsIDB4MDgsIDB4MWIsIDB4NTQsIDB4NzgsIDB4ZjUsIDB4OGEsIDB4ZmYsIDB4MTgsIDB4ZWYsIDB4OGEsIDB4ZmYsIDB4MTgsIDB4ZjcsIDB4MTIsIAotICAgIDB4MTksIDB4MTksIDB4N2UsIDB4NmIsIDB4ODAsIDB4ODAsIDB4ZmIsIDB4N2UsIDB4MTAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YWMsIDB4ODAsIDB4ZjgsIDB4Y2EsIAotICAgIDB4ZjksIDB4N2UsIDB4ZjQsIDB4MDAsIDB4ZmYsIDB4MWIsIDB4ZjQsIDB4NzgsIDB4ZmMsIDB4ZGEsIDB4ZjksIDB4MjIsIDB4Y2EsIDB4ZjksIDB4N2UsIDB4ZjQsIAotICAgIDB4MDAsIDB4MDAsIDB4MWIsIDB4ZjQsIDB4NzgsIDB4ZmMsIDB4ZGEsIDB4ZjksIDB4MjIsIDB4MjAsIDB4MTEsIDB4MjAsIDB4ZDIsIDB4MTIsIDB4MTIsIDB4MTksIAotICAgIDB4MGMsIDB4N2UsIDB4YjAsIDB4MDIsIDB4N2EsIDB4YjMsIDB4OTAsIDB4MDAsIDB4MTIsIDB4MTksIDB4MGMsIDB4MTIsIDB4MTksIDB4MGMsIDB4MTIsIDB4MTksIAotICAgIDB4MGMsIDB4MTIsIDB4MTksIDB4MGMsIDB4N2UsIDB4YjAsIDB4MDAsIDB4N2EsIDB4YjMsIDB4OTAsIDB4MDAsIDB4MjIsIDB4Y2EsIDB4MGIsIDB4N2UsIDB4MTAsIAotICAgIDB4MDMsIDB4N2MsIDB4MzAsIDB4NmMsIDB4MjIsIDB4MGIsIDB4MjAsIDB4OWUsIDB4MzAsIDB4MGEsIDB4NTAsIDB4ZjksIDB4MmUsIDB4MzAsIDB4MGIsIDB4MWIsIAotICAgIDB4MjAsIDB4NjgsIDB4MjAsIDB4MTIsIDB4MTksIDB4MGMsIDB4MTIsIDB4MTksIDB4MGMsIDB4N2UsIDB4YjAsIDB4MDMsIDB4N2EsIDB4YjMsIDB4OTAsIDB4MDAsIAotICAgIDB4MTIsIDB4MTksIDB4MGMsIDB4MTIsIDB4MTksIDB4MGMsIDB4MTIsIDB4MTksIDB4MGMsIDB4N2UsIDB4YjAsIDB4MDAsIDB4N2EsIDB4YjMsIDB4OTAsIDB4MDAsIAotICAgIDB4YTUsIDB4ZGEsIDB4ZTAsIDB4MTIsIDB4MTksIDB4MGMsIDB4MTIsIDB4MTksIDB4MGMsIDB4MWIsIDB4MzAsIDB4NjgsIDB4MjAsIDB4MTIsIDB4MTksIDB4MGMsIAotICAgIDB4MTIsIDB4MTksIDB4MGMsIDB4N2UsIDB4YjAsIDB4MDIsIDB4N2EsIDB4YjMsIDB4OTAsIDB4MDAsIDB4MTIsIDB4MTksIDB4MGMsIDB4MTIsIDB4MTksIDB4MGMsIAotICAgIDB4MTIsIDB4MTksIDB4MGMsIDB4N2UsIDB4YjAsIDB4MDAsIDB4N2EsIDB4YjMsIDB4OTAsIDB4MDAsIDB4YTUsIDB4ZGIsIDB4ZTAsIDB4N2UsIDB4MjAsIDB4MGEsIAotICAgIDB4MTIsIDB4MTksIDB4MGMsIDB4YTUsIDB4ZGEsIDB4ZmEsIDB4YTUsIDB4ZDksIDB4OTgsIDB4ZGEsIDB4MGIsIDB4MjIsIDB4MjAsIDB4MTEsIDB4MTQsIDB4MTIsIAotICAgIDB4MTksIDB4MGMsIDB4N2UsIDB4YjAsIDB4MDEsIDB4N2EsIDB4YjMsIDB4OTAsIDB4MDAsIDB4MTIsIDB4MTksIDB4MGMsIDB4N2UsIDB4YjAsIDB4MDAsIDB4N2EsIAotICAgIDB4YjMsIDB4OTAsIDB4MDAsIDB4MjIsIDB4MzAsIDB4MWYsIDB4MzIsIDB4MjAsIDB4MTEsIDB4MmYsIDB4Y2EsIDB4MmIsIDB4Y2EsIDB4N2IsIDB4N2UsIDB4NzgsIAotICAgIDB4ODAsIDB4MDAsIDB4N2EsIDB4N2MsIDB4MDAsIDB4ZmUsIDB4MTIsIDB4MWEsIDB4NGQsIDB4N2UsIDB4NmIsIDB4YTAsIDB4NWMsIDB4YWEsIDB4NjgsIDB4MTAsIAotICAgIDB4MjksIDB4YjcsIDB4MDAsIDB4MTQsIDB4NTQsIDB4NjAsIDB4NjgsIDB4ZjgsIDB4MzksIDB4YTcsIDB4MDAsIDB4MDAsIDB4MGIsIDB4NmMsIDB4ODAsIDB4ZTksIAotICAgIDB4MTIsIDB4MTgsIDB4ZmYsIDB4ZDIsIDB4YjUsIDB4ZGEsIDB4N2IsIDB4ZGEsIDB4MmIsIDB4MjIsIDB4MTIsIDB4MWEsIDB4MDUsIDB4N2UsIDB4NjgsIDB4MDAsIAotICAgIDB4MGMsIDB4MTIsIDB4MTksIDB4YzQsIDB4MjIsIDB4Y2EsIDB4NTksIDB4Y2EsIDB4NWIsIDB4N2UsIDB4YjQsIDB4MDAsIDB4MGMsIDB4N2MsIDB4YjgsIDB4YzQsIAotICAgIDB4MTIsIDB4MWEsIDB4MzUsIDB4N2MsIDB4YjgsIDB4MTIsIDB4MWEsIDB4MzUsIDB4N2MsIDB4YjksIDB4YzQsIDB4MTIsIDB4MWEsIDB4MzUsIDB4N2MsIDB4YjksIAotICAgIDB4MTIsIDB4MWEsIDB4MzUsIDB4N2UsIDB4YjAsIDB4NjgsIDB4N2EsIDB4YjksIDB4YjAsIDB4MGIsIDB4YjQsIDB4NmMsIDB4YmIsIDB4N2EsIDB4YjksIDB4YjAsIAotICAgIDB4ZGEsIDB4NTksIDB4ZGEsIDB4NWIsIDB4MjIsIDB4NWUsIDB4YjAsIDB4MGYsIDB4N2MsIDB4YWIsIDB4OWUsIDB4YTAsIDB4MGEsIDB4NDAsIDB4MDUsIDB4MmUsIAotICAgIDB4YjAsIDB4MzcsIDB4ODAsIDB4MDMsIDB4MmUsIDB4YjAsIDB4MzAsIDB4N2EsIDB4YjksIDB4YjAsIDB4MGIsIDB4YjQsIDB4MjIsIDB4YzIsIDB4YjUsIDB4NzUsIAotICAgIDB4YjAsIDB4ZWYsIDB4MTIsIDB4MTgsIDB4ZmYsIDB4NzQsIDB4ODAsIDB4MzksIDB4YjcsIDB4MDAsIDB4MGMsIDB4N2UsIDB4NTQsIDB4MDAsIDB4MDYsIDB4MzksIAotICAgIDB4YTcsIDB4MDAsIDB4MDQsIDB4MzksIDB4YjcsIDB4MDAsIDB4MDAsIDB4NzQsIDB4MDMsIDB4MzksIDB4YjcsIDB4MDAsIDB4MGMsIDB4MjIsIDB4N2UsIDB4NzgsIAotICAgIDB4MDAsIDB4MDAsIDB4N2EsIDB4N2MsIDB4MDAsIDB4ZmYsIDB4N2UsIDB4NTgsIDB4MDAsIDB4MDAsIDB4N2EsIDB4NWMsIDB4MDAsIDB4MDEsIDB4N2YsIDB4NjUsIAotICAgIDB4N2UsIDB4NzQsIDB4MjAsIDB4MDAsIDB4MTIsIDB4MGIsIDB4NjMsIDB4NDAsIDB4NTgsIDB4N2UsIDB4NzgsIDB4N2MsIDB4MDAsIDB4N2EsIDB4N2MsIDB4MDAsIAotICAgIDB4ZmYsIDB4N2UsIDB4NTgsIDB4MDAsIDB4MDAsIDB4N2EsIDB4NWMsIDB4MDAsIDB4MDEsIDB4N2UsIDB4NjgsIDB4N2MsIDB4MDAsIDB4N2EsIDB4NmMsIDB4MDAsIAotICAgIDB4MDEsIDB4N2UsIDB4NzQsIDB4MDQsIDB4MDAsIDB4MTIsIDB4MGIsIDB4NjMsIDB4NDAsIDB4MzcsIDB4NzQsIDB4ODAsIDB4MTIsIDB4MWEsIDB4ZWEsIDB4NDAsIAotICAgIDB4MzAsIDB4N2UsIDB4MDAsIDB4MDMsIDB4N2EsIDB4MDMsIDB4OTAsIDB4MDAsIDB4ZDIsIDB4MTAsIDB4N2UsIDB4MDQsIDB4MDAsIDB4MDgsIDB4N2UsIDB4MTQsIAotICAgIDB4MDAsIDB4MDAsIDB4ODQsIDB4YTUsIDB4ZGIsIDB4ZmMsIDB4YTUsIDB4ZGEsIDB4ZjksIDB4YTUsIDB4ZDksIDB4ZjYsIDB4NzQsIDB4NDAsIDB4MTIsIDB4MWEsIAotICAgIDB4ZWEsIDB4NDAsIDB4MGUsIDB4N2UsIDB4NjgsIDB4MzEsIDB4OGQsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIDB4MDIsIDB4MTgsIAotICAgIDB4ZjcsIDB4N2UsIDB4YjAsIDB4MDIsIDB4N2EsIDB4YjMsIDB4OTAsIDB4MDAsIDB4ODAsIDB4ZmUsIDB4ZjUsIDB4MGIsIDB4N2UsIDB4NzgsIDB4MDAsIDB4MGIsIAotICAgIDB4N2EsIDB4N2MsIDB4MDAsIDB4MDAsIDB4N2UsIDB4NjgsIDB4N2YsIDB4YmYsIDB4N2EsIDB4NmMsIDB4MDAsIDB4MDEsIDB4N2UsIDB4NzQsIDB4MDAsIDB4MDEsIAotICAgIDB4MDIsIDB4MGIsIDB4NjMsIAotCi0vLyBTZWdtZW50ICMxOSwgRVhDTFVERUQgU3RhcnQgQWRkcmVzcyAwMGZmMmM2NiwgTGVuZ3RoIDEzOTMKLQotfTsKLQotc3RhdGljIGNvbnN0IHN0cnVjdCBlZGdlX2Zpcm13YXJlX3ZlcnNpb25faW5mbyBJTUFHRV9WRVJTSU9OX05BTUUgPSB7Ci0JMiwgMCwgMyB9OwkJLy8gTWFqb3IsIE1pbm9yLCBCdWlsZAotCi0jdW5kZWYgSU1BR0VfVkVSU0lPTl9OQU1FCi0KLSN1bmRlZiBJTUFHRV9BUlJBWV9OQU1FCi0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL3NlcmlhbC9pb19md19kb3duLmggYi9kcml2ZXJzL3VzYi9zZXJpYWwvaW9fZndfZG93bi5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1YTYxZDgwLi4wMDAwMDAwCi0tLSBhL2RyaXZlcnMvdXNiL3NlcmlhbC9pb19md19kb3duLmgKKysrIC9kZXYvbnVsbApAQCAtMSwxMjI5ICswLDAgQEAKLS8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLS8vKiBFZGdlcG9ydC80IEJpbmFyeSBJbWFnZQotLy8qIEdlbmVyYXRlZCBieSBIRVgyQyB2MS4wNgotLy8qIENvcHlyaWdodCAoQykgMTk5OCBJbnNpZGUgT3V0IE5ldHdvcmtzLCBBbGwgcmlnaHRzIHJlc2VydmVkLgotLy8qCVRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0vLyoJaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLS8vKgl0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgotLy8qCShhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0KLQotLy9JbWFnZSBzdHJ1Y3R1cmUgZGVmaW5pdGlvbgotI2lmICFkZWZpbmVkKERFRklORURfRURHRV9GSVJNV0FSRV9JTUFHRV9SRUNPUkQpCi0JI2RlZmluZSBERUZJTkVEX0VER0VfRklSTVdBUkVfSU1BR0VfUkVDT1JECi0Jc3RydWN0IGVkZ2VfZmlybXdhcmVfaW1hZ2VfcmVjb3JkIHsKLQkJX19sZTE2IEV4dEFkZHI7Ci0JCV9fbGUxNiBBZGRyOwotCQlfX2xlMTYgTGVuOwotCQl1bnNpZ25lZCBjaGFyCURhdGFbMF07Ci0JfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSk7Ci0KLQlzdHJ1Y3QgZWRnZV9maXJtd2FyZV92ZXJzaW9uX2luZm8gewotCQl1bnNpZ25lZCBjaGFyCU1ham9yVmVyc2lvbjsKLQkJdW5zaWduZWQgY2hhcglNaW5vclZlcnNpb247Ci0JCXVuc2lnbmVkIHNob3J0CUJ1aWxkTnVtYmVyOwotCX07Ci0KLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoSU1BR0VfQVJSQVlfTkFNRSkKLQkjZGVmaW5lIElNQUdFX0FSUkFZX05BTUUJRmlybXdhcmVJbWFnZQotCSNkZWZpbmUgSU1BR0VfVkVSU0lPTl9OQU1FCUZpcm13YXJlSW1hZ2VWZXJzaW9uCi0jZW5kaWYKLQotc3RhdGljIHVuc2lnbmVkIGNoYXIgSU1BR0VfQVJSQVlfTkFNRVtdID0gewotCi0vLyBTZWdtZW50ICMxLCBTdGFydCBBZGRyZXNzIDAwZmYwMDAwLCBMZW5ndGggNgotMHhmZiwweDAwLDB4MDAsMHgwMCwweDA2LDB4MDAsCi0gICAgMHgwMiwgMHgwMCwgMHg4MCwgMHgwMiwgMHg0NCwgMHhiMCwgCi0KLS8vIFNlZ21lbnQgIzIsIFN0YXJ0IEFkZHJlc3MgMDBmZjAwMGIsIExlbmd0aCAzCi0weGZmLDB4MDAsMHgwYiwweDAwLDB4MDMsMHgwMCwKLSAgICAweDAyLCAweDQ0LCAweDcyLCAKLQotLy8gU2VnbWVudCAjMywgU3RhcnQgQWRkcmVzcyAwMGZmMDAxMywgTGVuZ3RoIDMKLTB4ZmYsMHgwMCwweDEzLDB4MDAsMHgwMywweDAwLAotICAgIDB4MDIsIDB4MDAsIDB4MTMsIAotCi0vLyBTZWdtZW50ICM0LCBTdGFydCBBZGRyZXNzIDAwZmYwMDFiLCBMZW5ndGggMwotMHhmZiwweDAwLDB4MWIsMHgwMCwweDAzLDB4MDAsCi0gICAgMHgwMiwgMHgwMCwgMHgxYiwgCi0KLS8vIFNlZ21lbnQgIzUsIFN0YXJ0IEFkZHJlc3MgMDBmZjAwMjMsIExlbmd0aCAzCi0weGZmLDB4MDAsMHgyMywweDAwLDB4MDMsMHgwMCwKLSAgICAweDAyLCAweDAwLCAweDIzLCAKLQotLy8gU2VnbWVudCAjNiwgU3RhcnQgQWRkcmVzcyAwMGZmMDAyYiwgTGVuZ3RoIDMKLTB4ZmYsMHgwMCwweDJiLDB4MDAsMHgwMywweDAwLAotICAgIDB4MDIsIDB4MDAsIDB4MmIsIAotCi0vLyBTZWdtZW50ICM3LCBTdGFydCBBZGRyZXNzIDAwZmYwMDMzLCBMZW5ndGggMwotMHhmZiwweDAwLDB4MzMsMHgwMCwweDAzLDB4MDAsCi0gICAgMHgwMiwgMHgwMCwgMHgzMywgCi0KLS8vIFNlZ21lbnQgIzgsIFN0YXJ0IEFkZHJlc3MgMDBmZjAwM2IsIExlbmd0aCAzCi0weGZmLDB4MDAsMHgzYiwweDAwLDB4MDMsMHgwMCwKLSAgICAweDAyLCAweDAwLCAweDNiLCAKLQotLy8gU2VnbWVudCAjOSwgU3RhcnQgQWRkcmVzcyAwMGZmMDA0MywgTGVuZ3RoIDMKLTB4ZmYsMHgwMCwweDQzLDB4MDAsMHgwMywweDAwLAotICAgIDB4MDIsIDB4MDAsIDB4NDMsIAotCi0vLyBTZWdtZW50ICMxMCwgU3RhcnQgQWRkcmVzcyAwMGZmMDA0YiwgTGVuZ3RoIDMKLTB4ZmYsMHgwMCwweDRiLDB4MDAsMHgwMywweDAwLAotICAgIDB4MDIsIDB4NmUsIDB4YzQsIAotCi0vLyBTZWdtZW50ICMxMSwgU3RhcnQgQWRkcmVzcyAwMGZmMDA1MywgTGVuZ3RoIDMKLTB4ZmYsMHgwMCwweDUzLDB4MDAsMHgwMywweDAwLAotICAgIDB4MDIsIDB4NzUsIDB4OGQsIAotCi0vLyBTZWdtZW50ICMxMiwgU3RhcnQgQWRkcmVzcyAwMGZmMDA3YiwgTGVuZ3RoIDMKLTB4ZmYsMHgwMCwweDdiLDB4MDAsMHgwMywweDAwLAotICAgIDB4MDIsIDB4MDAsIDB4N2IsIAotCi0vLyBTZWdtZW50ICMxMywgU3RhcnQgQWRkcmVzcyAwMGZmMDA4MCwgTGVuZ3RoIDcKLTB4ZmYsMHgwMCwweDgwLDB4MDAsMHgwNywweDAwLAotICAgIDB4N2UsIDB4MTQsIDB4MDAsIDB4MDAsIDB4MDIsIDB4NDAsIDB4NTEsIAotCi0vLyBTZWdtZW50ICMxNCwgU3RhcnQgQWRkcmVzcyAwMGZmMzAwMCwgTGVuZ3RoIDIxNzgKLTB4ZmYsMHgwMCwweDAwLDB4MzAsMHg4MiwweDA4LAotICAgIDB4MTIsIDB4MzcsIDB4MjgsIDB4MTIsIDB4MzAsIDB4M2UsIDB4MTIsIDB4MzAsIDB4NTQsIDB4MTIsIDB4MzAsIDB4ZTUsIDB4MTIsIDB4MzEsIDB4NjgsIDB4MTIsIAotICAgIDB4MzUsIDB4MjAsIDB4MTIsIDB4MzgsIDB4NTgsIDB4MTIsIDB4MzEsIDB4MTUsIDB4MTIsIDB4MzEsIDB4NDAsIDB4MTIsIDB4MzAsIDB4YTAsIDB4ODAsIDB4ZTAsIAotICAgIDB4ZTUsIDB4MjMsIDB4NjAsIDB4MTksIDB4N2UsIDB4MTQsIDB4MDAsIDB4MDAsIDB4MDksIDB4YjEsIDB4MDEsIDB4Y2YsIDB4YjQsIDB4MDAsIDB4MDIsIDB4ODAsIAotICAgIDB4MDUsIDB4MTQsIDB4MTksIDB4YjEsIDB4MDEsIDB4Y2YsIDB4YTUsIDB4MGIsIDB4YmUsIDB4MzEsIDB4MmYsIDB4NzgsIDB4ZWIsIDB4MjIsIDB4YzIsIDB4YWYsIAotICAgIDB4N2UsIDB4YjMsIDB4M2YsIDB4ZjEsIDB4YjQsIDB4MDEsIDB4MGEsIDB4YzAsIDB4ZjEsIDB4NzUsIDB4ZjEsIDB4MDIsIDB4MTIsIDB4NzAsIDB4ZWYsIDB4ZDAsIAotICAgIDB4ZjEsIDB4ZDIsIDB4YWYsIDB4MjIsIDB4YzIsIDB4YWYsIDB4ZTUsIDB4MjIsIDB4NjAsIDB4NDMsIDB4N2UsIDB4MDcsIDB4MDEsIDB4ZTEsIDB4YmUsIDB4MDQsIAotICAgIDB4MDMsIDB4ODAsIDB4MzgsIDB4MzksIDB4N2UsIDB4MDQsIDB4ODAsIDB4MDAsIDB4N2UsIDB4MjAsIDB4MDAsIDB4MTMsIDB4NTAsIDB4MjEsIDB4MDksIDB4YTAsIAotICAgIDB4MDAsIDB4MDQsIDB4NGUsIDB4YTAsIDB4MDUsIDB4MTksIDB4YTAsIDB4MDAsIDB4MDQsIDB4MGEsIDB4MzIsIDB4MDksIDB4NTMsIDB4NjcsIDB4OGUsIDB4NWUsIAotICAgIDB4NTEsIDB4MjcsIDB4NjgsIDB4MGIsIDB4MDksIDB4YTAsIDB4MDAsIDB4MTAsIDB4NGUsIDB4YTAsIDB4MDEsIDB4MTksIDB4YTAsIDB4MDAsIDB4MTAsIDB4MmUsIAotICAgIDB4MDQsIDB4MDEsIDB4MDAsIDB4YTUsIDB4MGEsIDB4YmUsIDB4MjEsIDB4MmYsIDB4NzgsIDB4ZDEsIDB4NzUsIDB4MjIsIDB4MDAsIDB4ZDIsIDB4YWYsIDB4MjIsIAotICAgIDB4YzIsIDB4YWYsIDB4N2UsIDB4MjAsIDB4MDAsIDB4N2UsIDB4MzAsIDB4MDEsIDB4N2MsIDB4YjIsIDB4MjMsIDB4MGEsIDB4MmIsIDB4NDksIDB4MzIsIDB4MDEsIAotICAgIDB4OGYsIDB4YmUsIDB4MzQsIDB4MDAsIDB4MDAsIDB4NjgsIDB4MTIsIDB4N2UsIDB4YjEsIDB4MjEsIDB4YTUsIDB4NGIsIDB4N2EsIDB4YjEsIDB4MjEsIDB4Y2EsIAotICAgIDB4MTksIDB4NDksIDB4MjIsIDB4MzAsIDB4ZDUsIDB4OTksIDB4MjQsIDB4ZGEsIDB4MTksIDB4M2UsIDB4MzAsIDB4YTUsIDB4MGEsIDB4YmUsIDB4MjEsIDB4MmYsIAotICAgIDB4NzgsIDB4ZDYsIDB4ZDIsIDB4YWYsIDB4MjIsIDB4NDYsIDB4MGYsIDB4NDksIDB4NjcsIDB4NGMsIDB4YmYsIDB4NTAsIDB4MTcsIDB4NTMsIDB4NmYsIDB4NTYsIAotICAgIDB4YzcsIDB4NWEsIDB4MWYsIDB4NWQsIDB4NzcsIDB4YzIsIDB4YWYsIDB4ZTUsIDB4MzIsIDB4NjAsIDB4MTQsIDB4N2UsIDB4MjAsIDB4MDAsIDB4MTMsIDB4NTAsIAotICAgIDB4MDcsIDB4Y2EsIDB4YjgsIDB4MTIsIDB4MzEsIDB4MDIsIDB4ZGEsIDB4YjgsIDB4YTUsIDB4MGEsIDB4YmUsIDB4MjEsIDB4MmYsIDB4NzgsIDB4ZWYsIDB4ZDIsIAotICAgIDB4YWYsIDB4MjIsIDB4Y2EsIDB4MjgsIDB4MTIsIDB4NjcsIDB4YWIsIDB4ZGEsIDB4MjgsIDB4NDAsIDB4MDksIDB4MGEsIDB4MjIsIDB4MDksIDB4YjIsIDB4NjcsIAotICAgIDB4OGUsIDB4ZjQsIDB4NTIsIDB4MzIsIDB4MjIsIDB4YzIsIDB4YWYsIDB4ZTUsIDB4MzQsIDB4NjAsIDB4MTQsIDB4N2UsIDB4MjAsIDB4MDAsIDB4MTMsIDB4NTAsIAotICAgIDB4MDcsIDB4Y2EsIDB4YjgsIDB4MTIsIDB4MzEsIDB4MzIsIDB4ZGEsIDB4YjgsIDB4YTUsIDB4MGEsIDB4YmUsIDB4MjEsIDB4MmYsIDB4NzgsIDB4ZWYsIDB4ZDIsIAotICAgIDB4YWYsIDB4MjIsIDB4Y2EsIDB4MjgsIDB4MGEsIDB4MjIsIDB4MDksIDB4NDIsIDB4MDAsIDB4M2UsIDB4MTIsIDB4NjksIDB4YzIsIDB4ZGEsIDB4MjgsIDB4MjIsIAotICAgIDB4YzIsIDB4YWYsIDB4ZTUsIDB4MzUsIDB4NjAsIDB4MTQsIDB4N2UsIDB4MjAsIDB4MDAsIDB4MTMsIDB4NTAsIDB4MDcsIDB4Y2EsIDB4YjgsIDB4MTIsIDB4MzEsIAotICAgIDB4NWQsIDB4ZGEsIDB4YjgsIDB4YTUsIDB4MGEsIDB4YmUsIDB4MjEsIDB4MmYsIDB4NzgsIDB4ZWYsIDB4ZDIsIDB4YWYsIDB4MjIsIDB4Y2EsIDB4MjgsIDB4N2UsIAotICAgIDB4NDAsIDB4MDAsIDB4MTIsIDB4NmMsIDB4NWIsIDB4ZGEsIDB4MjgsIDB4MjIsIDB4YzIsIDB4YWYsIDB4ZTUsIDB4MjMsIDB4NjAsIDB4MTQsIDB4N2UsIDB4MjAsIAotICAgIDB4MDAsIDB4MTMsIDB4NTAsIDB4MDcsIDB4Y2EsIDB4YjgsIDB4MTIsIDB4MzEsIDB4ODUsIDB4ZGEsIDB4YjgsIDB4YTUsIDB4MGEsIDB4YmUsIDB4MjEsIDB4MmYsIAotICAgIDB4NzgsIDB4ZWYsIDB4ZDIsIDB4YWYsIDB4MjIsIDB4N2MsIDB4YjIsIDB4MjMsIDB4MGEsIDB4MmIsIDB4NDksIDB4MjIsIDB4MzEsIDB4OTAsIDB4ODksIDB4MjQsIAotICAgIDB4MzEsIDB4YTAsIDB4MzIsIDB4MTAsIDB4MzIsIDB4ODAsIDB4MzIsIDB4ZjAsIDB4MzMsIDB4NjAsIDB4MzMsIDB4ZDAsIDB4MzQsIDB4NDAsIDB4MzQsIDB4YjAsIAotICAgIDB4N2UsIDB4MjcsIDB4MDEsIDB4OGYsIDB4YmUsIDB4MjQsIDB4MDAsIDB4MDAsIDB4NzgsIDB4MjQsIDB4N2UsIDB4MjQsIDB4ODAsIDB4MDAsIDB4MDksIDB4YjIsIAotICAgIDB4MDAsIDB4MTQsIDB4Y2EsIDB4YjgsIDB4NWUsIDB4YjAsIDB4MWUsIDB4ZGEsIDB4YjgsIDB4NjgsIDB4MGIsIDB4Y2EsIDB4MTksIDB4N2QsIDB4MTIsIDB4MTIsIAotICAgIDB4NDksIDB4MzAsIDB4N2QsIDB4MjEsIDB4ZGEsIDB4MTksIDB4MzAsIDB4ZTYsIDB4MTgsIDB4N2UsIDB4NjAsIDB4MDAsIDB4ODAsIDB4MWUsIDB4YmUsIDB4MjcsIAotICAgIDB4MDEsIDB4OWYsIDB4NjgsIDB4MGQsIDB4N2EsIDB4MjcsIDB4MDEsIDB4OWYsIDB4N2UsIDB4NjAsIDB4OWMsIDB4N2EsIDB4NjMsIDB4MDEsIDB4Y2YsIDB4ODAsIAotICAgIDB4MmUsIDB4N2UsIDB4NjMsIDB4MDEsIDB4Y2YsIDB4YTUsIDB4YmUsIDB4MDAsIDB4MjYsIDB4N2UsIDB4NjAsIDB4MDEsIDB4N2UsIDB4YjAsIDB4MDAsIDB4N2UsIAotICAgIDB4YTAsIDB4YzgsIDB4MTIsIDB4NjIsIDB4YjYsIDB4NDAsIDB4MTgsIDB4NzUsIDB4MzEsIDB4YjMsIDB4MTIsIDB4N2MsIDB4MTUsIDB4YzIsIDB4MTgsIDB4NmMsIAotICAgIDB4MDAsIDB4N2EsIDB4MDMsIDB4MDEsIDB4Y2YsIDB4YzAsIDB4ZjEsIDB4NzUsIDB4ZjEsIDB4MDEsIDB4MTIsIDB4NmYsIDB4ZDksIDB4ZDAsIDB4ZjEsIDB4MjIsIAotICAgIDB4N2UsIDB4MjcsIDB4MDEsIDB4OTEsIDB4YmUsIDB4MjQsIDB4MDAsIDB4MDAsIDB4NzgsIDB4MjQsIDB4N2UsIDB4MjQsIDB4ODEsIDB4MDAsIDB4MDksIDB4YjIsIAotICAgIDB4MDAsIDB4MTQsIDB4Y2EsIDB4YjgsIDB4NWUsIDB4YjAsIDB4MWUsIDB4ZGEsIDB4YjgsIDB4NjgsIDB4MGIsIDB4Y2EsIDB4MTksIDB4N2QsIDB4MTIsIDB4MTIsIAotICAgIDB4NGMsIDB4ODgsIDB4N2QsIDB4MjEsIDB4ZGEsIDB4MTksIDB4MzAsIDB4ZTYsIDB4MTgsIDB4N2UsIDB4NjAsIDB4MDAsIDB4ODAsIDB4MWUsIDB4YmUsIDB4MjcsIAotICAgIDB4MDEsIDB4YTEsIDB4NjgsIDB4MGQsIDB4N2EsIDB4MjcsIDB4MDEsIDB4YTEsIDB4N2UsIDB4NjAsIDB4OWMsIDB4N2EsIDB4NjMsIDB4MDEsIDB4ZDAsIDB4ODAsIAotICAgIDB4MmUsIDB4N2UsIDB4NjMsIDB4MDEsIDB4ZDAsIDB4YTUsIDB4YmUsIDB4MDAsIDB4MjYsIDB4N2UsIDB4NjAsIDB4MDEsIDB4N2UsIDB4YjAsIDB4MDAsIDB4N2UsIAotICAgIDB4YTAsIDB4YzgsIDB4MTIsIDB4NjIsIDB4YjYsIDB4NDAsIDB4MTgsIDB4NzUsIDB4MzEsIDB4YjMsIDB4MTIsIDB4N2MsIDB4MTUsIDB4YzIsIDB4MTksIDB4NmMsIAotICAgIDB4MDAsIDB4N2EsIDB4MDMsIDB4MDEsIDB4ZDAsIDB4YzAsIDB4ZjEsIDB4NzUsIDB4ZjEsIDB4MDEsIDB4MTIsIDB4NmYsIDB4ZDksIDB4ZDAsIDB4ZjEsIDB4MjIsIAotICAgIDB4N2UsIDB4MjcsIDB4MDEsIDB4OTMsIDB4YmUsIDB4MjQsIDB4MDAsIDB4MDAsIDB4NzgsIDB4MjQsIDB4N2UsIDB4MjQsIDB4ODIsIDB4MDAsIDB4MDksIDB4YjIsIAotICAgIDB4MDAsIDB4MTQsIDB4Y2EsIDB4YjgsIDB4NWUsIDB4YjAsIDB4MWUsIDB4ZGEsIDB4YjgsIDB4NjgsIDB4MGIsIDB4Y2EsIDB4MTksIDB4N2QsIDB4MTIsIDB4MTIsIAotICAgIDB4NGYsIDB4ZTAsIDB4N2QsIDB4MjEsIDB4ZGEsIDB4MTksIDB4MzAsIDB4ZTYsIDB4MTgsIDB4N2UsIDB4NjAsIDB4MDAsIDB4ODAsIDB4MWUsIDB4YmUsIDB4MjcsIAotICAgIDB4MDEsIDB4YTMsIDB4NjgsIDB4MGQsIDB4N2EsIDB4MjcsIDB4MDEsIDB4YTMsIDB4N2UsIDB4NjAsIDB4OWMsIDB4N2EsIDB4NjMsIDB4MDEsIDB4ZDEsIDB4ODAsIAotICAgIDB4MmUsIDB4N2UsIDB4NjMsIDB4MDEsIDB4ZDEsIDB4YTUsIDB4YmUsIDB4MDAsIDB4MjYsIDB4N2UsIDB4NjAsIDB4MDEsIDB4N2UsIDB4YjAsIDB4MDAsIDB4N2UsIAotICAgIDB4YTAsIDB4YzgsIDB4MTIsIDB4NjIsIDB4YjYsIDB4NDAsIDB4MTgsIDB4NzUsIDB4MzEsIDB4YjMsIDB4MTIsIDB4N2MsIDB4MTUsIDB4YzIsIDB4MWEsIDB4NmMsIAotICAgIDB4MDAsIDB4N2EsIDB4MDMsIDB4MDEsIDB4ZDEsIDB4YzAsIDB4ZjEsIDB4NzUsIDB4ZjEsIDB4MDEsIDB4MTIsIDB4NmYsIDB4ZDksIDB4ZDAsIDB4ZjEsIDB4MjIsIAotICAgIDB4N2UsIDB4MjcsIDB4MDEsIDB4OTUsIDB4YmUsIDB4MjQsIDB4MDAsIDB4MDAsIDB4NzgsIDB4MjQsIDB4N2UsIDB4MjQsIDB4ODMsIDB4MDAsIDB4MDksIDB4YjIsIAotICAgIDB4MDAsIDB4MTQsIDB4Y2EsIDB4YjgsIDB4NWUsIDB4YjAsIDB4MWUsIDB4ZGEsIDB4YjgsIDB4NjgsIDB4MGIsIDB4Y2EsIDB4MTksIDB4N2QsIDB4MTIsIDB4MTIsIAotICAgIDB4NTMsIDB4MzgsIDB4N2QsIDB4MjEsIDB4ZGEsIDB4MTksIDB4MzAsIDB4ZTYsIDB4MTgsIDB4N2UsIDB4NjAsIDB4MDAsIDB4ODAsIDB4MWUsIDB4YmUsIDB4MjcsIAotICAgIDB4MDEsIDB4YTUsIDB4NjgsIDB4MGQsIDB4N2EsIDB4MjcsIDB4MDEsIDB4YTUsIDB4N2UsIDB4NjAsIDB4OWMsIDB4N2EsIDB4NjMsIDB4MDEsIDB4ZDIsIDB4ODAsIAotICAgIDB4MmUsIDB4N2UsIDB4NjMsIDB4MDEsIDB4ZDIsIDB4YTUsIDB4YmUsIDB4MDAsIDB4MjYsIDB4N2UsIDB4NjAsIDB4MDEsIDB4N2UsIDB4YjAsIDB4MDAsIDB4N2UsIAotICAgIDB4YTAsIDB4YzgsIDB4MTIsIDB4NjIsIDB4YjYsIDB4NDAsIDB4MTgsIDB4NzUsIDB4MzEsIDB4YjMsIDB4MTIsIDB4N2MsIDB4MTUsIDB4YzIsIDB4MWIsIDB4NmMsIAotICAgIDB4MDAsIDB4N2EsIDB4MDMsIDB4MDEsIDB4ZDIsIDB4YzAsIDB4ZjEsIDB4NzUsIDB4ZjEsIDB4MDEsIDB4MTIsIDB4NmYsIDB4ZDksIDB4ZDAsIDB4ZjEsIDB4MjIsIAotICAgIDB4N2UsIDB4MjcsIDB4MDEsIDB4OTcsIDB4YmUsIDB4MjQsIDB4MDAsIDB4MDAsIDB4NzgsIDB4MjQsIDB4N2UsIDB4MjQsIDB4ODQsIDB4MDAsIDB4MDksIDB4YjIsIAotICAgIDB4MDAsIDB4MTQsIDB4Y2EsIDB4YjgsIDB4NWUsIDB4YjAsIDB4MWUsIDB4ZGEsIDB4YjgsIDB4NjgsIDB4MGIsIDB4Y2EsIDB4MTksIDB4N2QsIDB4MTIsIDB4MTIsIAotICAgIDB4NTYsIDB4OTAsIDB4N2QsIDB4MjEsIDB4ZGEsIDB4MTksIDB4MzAsIDB4ZTYsIDB4MTgsIDB4N2UsIDB4NjAsIDB4MDAsIDB4ODAsIDB4MWUsIDB4YmUsIDB4MjcsIAotICAgIDB4MDEsIDB4YTcsIDB4NjgsIDB4MGQsIDB4N2EsIDB4MjcsIDB4MDEsIDB4YTcsIDB4N2UsIDB4NjAsIDB4OWMsIDB4N2EsIDB4NjMsIDB4MDEsIDB4ZDMsIDB4ODAsIAotICAgIDB4MmUsIDB4N2UsIDB4NjMsIDB4MDEsIDB4ZDMsIDB4YTUsIDB4YmUsIDB4MDAsIDB4MjYsIDB4N2UsIDB4NjAsIDB4MDEsIDB4N2UsIDB4YjAsIDB4MDAsIDB4N2UsIAotICAgIDB4YTAsIDB4YzgsIDB4MTIsIDB4NjIsIDB4YjYsIDB4NDAsIDB4MTgsIDB4NzUsIDB4MzEsIDB4YjMsIDB4MTIsIDB4N2MsIDB4MTUsIDB4YzIsIDB4MWMsIDB4NmMsIAotICAgIDB4MDAsIDB4N2EsIDB4MDMsIDB4MDEsIDB4ZDMsIDB4YzAsIDB4ZjEsIDB4NzUsIDB4ZjEsIDB4MDEsIDB4MTIsIDB4NmYsIDB4ZDksIDB4ZDAsIDB4ZjEsIDB4MjIsIAotICAgIDB4N2UsIDB4MjcsIDB4MDEsIDB4OTksIDB4YmUsIDB4MjQsIDB4MDAsIDB4MDAsIDB4NzgsIDB4MjQsIDB4N2UsIDB4MjQsIDB4ODUsIDB4MDAsIDB4MDksIDB4YjIsIAotICAgIDB4MDAsIDB4MTQsIDB4Y2EsIDB4YjgsIDB4NWUsIDB4YjAsIDB4MWUsIDB4ZGEsIDB4YjgsIDB4NjgsIDB4MGIsIDB4Y2EsIDB4MTksIDB4N2QsIDB4MTIsIDB4MTIsIAotICAgIDB4NTksIDB4ZTgsIDB4N2QsIDB4MjEsIDB4ZGEsIDB4MTksIDB4MzAsIDB4ZTYsIDB4MTgsIDB4N2UsIDB4NjAsIDB4MDAsIDB4ODAsIDB4MWUsIDB4YmUsIDB4MjcsIAotICAgIDB4MDEsIDB4YTksIDB4NjgsIDB4MGQsIDB4N2EsIDB4MjcsIDB4MDEsIDB4YTksIDB4N2UsIDB4NjAsIDB4OWMsIDB4N2EsIDB4NjMsIDB4MDEsIDB4ZDQsIDB4ODAsIAotICAgIDB4MmUsIDB4N2UsIDB4NjMsIDB4MDEsIDB4ZDQsIDB4YTUsIDB4YmUsIDB4MDAsIDB4MjYsIDB4N2UsIDB4NjAsIDB4MDEsIDB4N2UsIDB4YjAsIDB4MDAsIDB4N2UsIAotICAgIDB4YTAsIDB4YzgsIDB4MTIsIDB4NjIsIDB4YjYsIDB4NDAsIDB4MTgsIDB4NzUsIDB4MzEsIDB4YjMsIDB4MTIsIDB4N2MsIDB4MTUsIDB4YzIsIDB4MWQsIDB4NmMsIAotICAgIDB4MDAsIDB4N2EsIDB4MDMsIDB4MDEsIDB4ZDQsIDB4YzAsIDB4ZjEsIDB4NzUsIDB4ZjEsIDB4MDEsIDB4MTIsIDB4NmYsIDB4ZDksIDB4ZDAsIDB4ZjEsIDB4MjIsIAotICAgIDB4N2UsIDB4MjcsIDB4MDEsIDB4OWIsIDB4YmUsIDB4MjQsIDB4MDAsIDB4MDAsIDB4NzgsIDB4MjQsIDB4N2UsIDB4MjQsIDB4ODYsIDB4MDAsIDB4MDksIDB4YjIsIAotICAgIDB4MDAsIDB4MTQsIDB4Y2EsIDB4YjgsIDB4NWUsIDB4YjAsIDB4MWUsIDB4ZGEsIDB4YjgsIDB4NjgsIDB4MGIsIDB4Y2EsIDB4MTksIDB4N2QsIDB4MTIsIDB4MTIsIAotICAgIDB4NWQsIDB4NDAsIDB4N2QsIDB4MjEsIDB4ZGEsIDB4MTksIDB4MzAsIDB4ZTYsIDB4MTgsIDB4N2UsIDB4NjAsIDB4MDAsIDB4ODAsIDB4MWUsIDB4YmUsIDB4MjcsIAotICAgIDB4MDEsIDB4YWIsIDB4NjgsIDB4MGQsIDB4N2EsIDB4MjcsIDB4MDEsIDB4YWIsIDB4N2UsIDB4NjAsIDB4OWMsIDB4N2EsIDB4NjMsIDB4MDEsIDB4ZDUsIDB4ODAsIAotICAgIDB4MmUsIDB4N2UsIDB4NjMsIDB4MDEsIDB4ZDUsIDB4YTUsIDB4YmUsIDB4MDAsIDB4MjYsIDB4N2UsIDB4NjAsIDB4MDEsIDB4N2UsIDB4YjAsIDB4MDAsIDB4N2UsIAotICAgIDB4YTAsIDB4YzgsIDB4MTIsIDB4NjIsIDB4YjYsIDB4NDAsIDB4MTgsIDB4NzUsIDB4MzEsIDB4YjMsIDB4MTIsIDB4N2MsIDB4MTUsIDB4YzIsIDB4MWUsIDB4NmMsIAotICAgIDB4MDAsIDB4N2EsIDB4MDMsIDB4MDEsIDB4ZDUsIDB4YzAsIDB4ZjEsIDB4NzUsIDB4ZjEsIDB4MDEsIDB4MTIsIDB4NmYsIDB4ZDksIDB4ZDAsIDB4ZjEsIDB4MjIsIAotICAgIDB4N2UsIDB4MjcsIDB4MDEsIDB4OWQsIDB4YmUsIDB4MjQsIDB4MDAsIDB4MDAsIDB4NzgsIDB4MjQsIDB4N2UsIDB4MjQsIDB4ODcsIDB4MDAsIDB4MDksIDB4YjIsIAotICAgIDB4MDAsIDB4MTQsIDB4Y2EsIDB4YjgsIDB4NWUsIDB4YjAsIDB4MWUsIDB4ZGEsIDB4YjgsIDB4NjgsIDB4MGIsIDB4Y2EsIDB4MTksIDB4N2QsIDB4MTIsIDB4MTIsIAotICAgIDB4NjAsIDB4OTgsIDB4N2QsIDB4MjEsIDB4ZGEsIDB4MTksIDB4MzAsIDB4ZTYsIDB4MTgsIDB4N2UsIDB4NjAsIDB4MDAsIDB4ODAsIDB4MWUsIDB4YmUsIDB4MjcsIAotICAgIDB4MDEsIDB4YWQsIDB4NjgsIDB4MGQsIDB4N2EsIDB4MjcsIDB4MDEsIDB4YWQsIDB4N2UsIDB4NjAsIDB4OWMsIDB4N2EsIDB4NjMsIDB4MDEsIDB4ZDYsIDB4ODAsIAotICAgIDB4MmUsIDB4N2UsIDB4NjMsIDB4MDEsIDB4ZDYsIDB4YTUsIDB4YmUsIDB4MDAsIDB4MjYsIDB4N2UsIDB4NjAsIDB4MDEsIDB4N2UsIDB4YjAsIDB4MDAsIDB4N2UsIAotICAgIDB4YTAsIDB4YzgsIDB4MTIsIDB4NjIsIDB4YjYsIDB4NDAsIDB4MTgsIDB4NzUsIDB4MzEsIDB4YjMsIDB4MTIsIDB4N2MsIDB4MTUsIDB4YzIsIDB4MWYsIDB4NmMsIAotICAgIDB4MDAsIDB4N2EsIDB4MDMsIDB4MDEsIDB4ZDYsIDB4YzAsIDB4ZjEsIDB4NzUsIDB4ZjEsIDB4MDEsIDB4MTIsIDB4NmYsIDB4ZDksIDB4ZDAsIDB4ZjEsIDB4MjIsIAotICAgIDB4YzIsIDB4YWYsIDB4ZTUsIDB4MjQsIDB4NjAsIDB4MTQsIDB4N2UsIDB4MjAsIDB4MDAsIDB4MTMsIDB4NTAsIDB4MDcsIDB4Y2EsIDB4YjgsIDB4MTIsIDB4MzUsIAotICAgIDB4M2QsIDB4ZGEsIDB4YjgsIDB4YTUsIDB4MGEsIDB4YmUsIDB4MjEsIDB4MmYsIDB4NzgsIDB4ZWYsIDB4ZDIsIDB4YWYsIDB4MjIsIDB4N2MsIDB4YjIsIDB4MjMsIAotICAgIDB4MGEsIDB4MmIsIDB4NDksIDB4MjIsIDB4MzUsIDB4NDgsIDB4ODksIDB4MjQsIDB4MzUsIDB4NTgsIDB4MzUsIDB4OTIsIDB4MzUsIDB4Y2MsIDB4MzYsIDB4MDYsIAotICAgIDB4MzYsIDB4NDAsIDB4MzYsIDB4N2EsIDB4MzYsIDB4YjQsIDB4MzYsIDB4ZWUsIDB4N2UsIDB4MjQsIDB4ODAsIDB4MDAsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTQsIAotICAgIDB4Y2EsIDB4YjgsIDB4NWUsIDB4YjAsIDB4MWUsIDB4ZGEsIDB4YjgsIDB4NjgsIDB4MGIsIDB4Y2EsIDB4MTksIDB4N2QsIDB4MTIsIDB4MTIsIDB4NDksIDB4MzAsIAotICAgIDB4N2QsIDB4MjEsIDB4ZGEsIDB4MTksIDB4NWUsIDB4YjAsIDB4MDEsIDB4N2UsIDB4YTAsIDB4OTAsIDB4MTIsIDB4NjIsIDB4OTMsIDB4NDAsIDB4MTIsIDB4NzUsIAotICAgIDB4MzEsIDB4YjgsIDB4MTIsIDB4N2MsIDB4MTUsIDB4YzIsIDB4MjAsIDB4YzAsIDB4ZjEsIDB4NzUsIDB4ZjEsIDB4MDEsIDB4MTIsIDB4NmYsIDB4ZDksIDB4ZDAsIAotICAgIDB4ZjEsIDB4MjIsIDB4N2UsIDB4MjQsIDB4ODEsIDB4MDAsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTQsIDB4Y2EsIDB4YjgsIDB4NWUsIDB4YjAsIDB4MWUsIDB4ZGEsIAotICAgIDB4YjgsIDB4NjgsIDB4MGIsIDB4Y2EsIDB4MTksIDB4N2QsIDB4MTIsIDB4MTIsIDB4NGMsIDB4ODgsIDB4N2QsIDB4MjEsIDB4ZGEsIDB4MTksIDB4NWUsIDB4YjAsIAotICAgIDB4MDEsIDB4N2UsIDB4YTAsIDB4OTAsIDB4MTIsIDB4NjIsIDB4OTMsIDB4NDAsIDB4MTIsIDB4NzUsIDB4MzEsIDB4YjgsIDB4MTIsIDB4N2MsIDB4MTUsIDB4YzIsIAotICAgIDB4MjEsIDB4YzAsIDB4ZjEsIDB4NzUsIDB4ZjEsIDB4MDEsIDB4MTIsIDB4NmYsIDB4ZDksIDB4ZDAsIDB4ZjEsIDB4MjIsIDB4N2UsIDB4MjQsIDB4ODIsIDB4MDAsIAotICAgIDB4MDksIDB4YjIsIDB4MDAsIDB4MTQsIDB4Y2EsIDB4YjgsIDB4NWUsIDB4YjAsIDB4MWUsIDB4ZGEsIDB4YjgsIDB4NjgsIDB4MGIsIDB4Y2EsIDB4MTksIDB4N2QsIAotICAgIDB4MTIsIDB4MTIsIDB4NGYsIDB4ZTAsIDB4N2QsIDB4MjEsIDB4ZGEsIDB4MTksIDB4NWUsIDB4YjAsIDB4MDEsIDB4N2UsIDB4YTAsIDB4OTAsIDB4MTIsIDB4NjIsIAotICAgIDB4OTMsIDB4NDAsIDB4MTIsIDB4NzUsIDB4MzEsIDB4YjgsIDB4MTIsIDB4N2MsIDB4MTUsIDB4YzIsIDB4MjIsIDB4YzAsIDB4ZjEsIDB4NzUsIDB4ZjEsIDB4MDEsIAotICAgIDB4MTIsIDB4NmYsIDB4ZDksIDB4ZDAsIDB4ZjEsIDB4MjIsIDB4N2UsIDB4MjQsIDB4ODMsIDB4MDAsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTQsIDB4Y2EsIDB4YjgsIAotICAgIDB4NWUsIDB4YjAsIDB4MWUsIDB4ZGEsIDB4YjgsIDB4NjgsIDB4MGIsIDB4Y2EsIDB4MTksIDB4N2QsIDB4MTIsIDB4MTIsIDB4NTMsIDB4MzgsIDB4N2QsIDB4MjEsIAotICAgIDB4ZGEsIDB4MTksIDB4NWUsIDB4YjAsIDB4MDEsIDB4N2UsIDB4YTAsIDB4OTAsIDB4MTIsIDB4NjIsIDB4OTMsIDB4NDAsIDB4MTIsIDB4NzUsIDB4MzEsIDB4YjgsIAotICAgIDB4MTIsIDB4N2MsIDB4MTUsIDB4YzIsIDB4MjMsIDB4YzAsIDB4ZjEsIDB4NzUsIDB4ZjEsIDB4MDEsIDB4MTIsIDB4NmYsIDB4ZDksIDB4ZDAsIDB4ZjEsIDB4MjIsIAotICAgIDB4N2UsIDB4MjQsIDB4ODQsIDB4MDAsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTQsIDB4Y2EsIDB4YjgsIDB4NWUsIDB4YjAsIDB4MWUsIDB4ZGEsIDB4YjgsIDB4NjgsIAotICAgIDB4MGIsIDB4Y2EsIDB4MTksIDB4N2QsIDB4MTIsIDB4MTIsIDB4NTYsIDB4OTAsIDB4N2QsIDB4MjEsIDB4ZGEsIDB4MTksIDB4NWUsIDB4YjAsIDB4MDEsIDB4N2UsIAotICAgIDB4YTAsIDB4OTAsIDB4MTIsIDB4NjIsIDB4OTMsIDB4NDAsIDB4MTIsIDB4NzUsIDB4MzEsIDB4YjgsIDB4MTIsIDB4N2MsIDB4MTUsIDB4YzIsIDB4MjQsIDB4YzAsIAotICAgIDB4ZjEsIDB4NzUsIDB4ZjEsIDB4MDEsIDB4MTIsIDB4NmYsIDB4ZDksIDB4ZDAsIDB4ZjEsIDB4MjIsIDB4N2UsIDB4MjQsIDB4ODUsIDB4MDAsIDB4MDksIDB4YjIsIAotICAgIDB4MDAsIDB4MTQsIDB4Y2EsIDB4YjgsIDB4NWUsIDB4YjAsIDB4MWUsIDB4ZGEsIDB4YjgsIDB4NjgsIDB4MGIsIDB4Y2EsIDB4MTksIDB4N2QsIDB4MTIsIDB4MTIsIAotICAgIDB4NTksIDB4ZTgsIDB4N2QsIDB4MjEsIDB4ZGEsIDB4MTksIDB4NWUsIDB4YjAsIDB4MDEsIDB4N2UsIDB4YTAsIDB4OTAsIDB4MTIsIDB4NjIsIDB4OTMsIDB4NDAsIAotICAgIDB4MTIsIDB4NzUsIDB4MzEsIDB4YjgsIDB4MTIsIDB4N2MsIDB4MTUsIDB4YzIsIDB4MjUsIDB4YzAsIDB4ZjEsIDB4NzUsIDB4ZjEsIDB4MDEsIDB4MTIsIDB4NmYsIAotICAgIDB4ZDksIDB4ZDAsIDB4ZjEsIDB4MjIsIDB4N2UsIDB4MjQsIDB4ODYsIDB4MDAsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTQsIDB4Y2EsIDB4YjgsIDB4NWUsIDB4YjAsIAotICAgIDB4MWUsIDB4ZGEsIDB4YjgsIDB4NjgsIDB4MGIsIDB4Y2EsIDB4MTksIDB4N2QsIDB4MTIsIDB4MTIsIDB4NWQsIDB4NDAsIDB4N2QsIDB4MjEsIDB4ZGEsIDB4MTksIAotICAgIDB4NWUsIDB4YjAsIDB4MDEsIDB4N2UsIDB4YTAsIDB4OTAsIDB4MTIsIDB4NjIsIDB4OTMsIDB4NDAsIDB4MTIsIDB4NzUsIDB4MzEsIDB4YjgsIDB4MTIsIDB4N2MsIAotICAgIDB4MTUsIDB4YzIsIDB4MjYsIDB4YzAsIDB4ZjEsIDB4NzUsIDB4ZjEsIDB4MDEsIDB4MTIsIDB4NmYsIDB4ZDksIDB4ZDAsIDB4ZjEsIDB4MjIsIDB4N2UsIDB4MjQsIAotICAgIDB4ODcsIDB4MDAsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTQsIDB4Y2EsIDB4YjgsIDB4NWUsIDB4YjAsIDB4MWUsIDB4ZGEsIDB4YjgsIDB4NjgsIDB4MGIsIDB4Y2EsIAotICAgIDB4MTksIDB4N2QsIDB4MTIsIDB4MTIsIDB4NjAsIDB4OTgsIDB4N2QsIDB4MjEsIDB4ZGEsIDB4MTksIDB4NWUsIDB4YjAsIDB4MDEsIDB4N2UsIDB4YTAsIDB4OTAsIAotICAgIDB4MTIsIDB4NjIsIDB4OTMsIDB4NDAsIDB4MTIsIDB4NzUsIDB4MzEsIDB4YjgsIDB4MTIsIDB4N2MsIDB4MTUsIDB4YzIsIDB4MjcsIDB4YzAsIDB4ZjEsIDB4NzUsIAotICAgIDB4ZjEsIDB4MDEsIDB4MTIsIDB4NmYsIDB4ZDksIDB4ZDAsIDB4ZjEsIDB4MjIsIDB4YzIsIDB4YWYsIDB4ZTUsIDB4MzMsIDB4NjAsIDB4MTQsIDB4N2UsIDB4MjAsIAotICAgIDB4MDAsIDB4MTMsIDB4NTAsIDB4MDcsIDB4Y2EsIDB4YjgsIDB4MTIsIDB4MzcsIDB4NDUsIDB4ZGEsIDB4YjgsIDB4YTUsIDB4MGEsIDB4YmUsIDB4MjEsIDB4MmYsIAotICAgIDB4NzgsIDB4ZWYsIDB4ZDIsIDB4YWYsIDB4MjIsIDB4N2MsIDB4YjIsIDB4MjMsIDB4MGEsIDB4MmIsIDB4NDksIDB4MjIsIDB4MzcsIDB4NTAsIDB4ODksIDB4MjQsIAotICAgIDB4MzcsIDB4NjAsIDB4MzcsIDB4N2YsIDB4MzcsIDB4OWUsIDB4MzcsIDB4YmQsIDB4MzcsIDB4ZGMsIDB4MzcsIDB4ZmIsIDB4MzgsIDB4MWEsIDB4MzgsIDB4MzksIAotICAgIDB4N2UsIDB4MjQsIDB4ODAsIDB4MDAsIDB4Y2EsIDB4MTksIDB4N2QsIDB4MTIsIDB4MTIsIDB4NDgsIDB4MWIsIDB4ZGEsIDB4MTksIDB4MTAsIDB4MDQsIDB4MDIsIAotICAgIDB4ODAsIDB4MGMsIDB4ZDIsIDB4MDEsIDB4YzAsIDB4ZjEsIDB4NzUsIDB4ZjEsIDB4MDEsIDB4MTIsIDB4NmYsIDB4ZDksIDB4ZDAsIDB4ZjEsIDB4MjIsIDB4N2UsIAotICAgIDB4MjQsIDB4ODEsIDB4MDAsIDB4Y2EsIDB4MTksIDB4N2QsIDB4MTIsIDB4MTIsIDB4NGIsIDB4NzMsIDB4ZGEsIDB4MTksIDB4MTAsIDB4MDQsIDB4MDIsIDB4ODAsIAotICAgIDB4MGMsIDB4ZDIsIDB4MDEsIDB4YzAsIDB4ZjEsIDB4NzUsIDB4ZjEsIDB4MDEsIDB4MTIsIDB4NmYsIDB4ZDksIDB4ZDAsIDB4ZjEsIDB4MjIsIDB4N2UsIDB4MjQsIAotICAgIDB4ODIsIDB4MDAsIDB4Y2EsIDB4MTksIDB4N2QsIDB4MTIsIDB4MTIsIDB4NGUsIDB4Y2IsIDB4ZGEsIDB4MTksIDB4MTAsIDB4MDQsIDB4MDIsIDB4ODAsIDB4MGMsIAotICAgIDB4ZDIsIDB4MDEsIDB4YzAsIDB4ZjEsIDB4NzUsIDB4ZjEsIDB4MDEsIDB4MTIsIDB4NmYsIDB4ZDksIDB4ZDAsIDB4ZjEsIDB4MjIsIDB4N2UsIDB4MjQsIDB4ODMsIAotICAgIDB4MDAsIDB4Y2EsIDB4MTksIDB4N2QsIDB4MTIsIDB4MTIsIDB4NTIsIDB4MjMsIDB4ZGEsIDB4MTksIDB4MTAsIDB4MDQsIDB4MDIsIDB4ODAsIDB4MGMsIDB4ZDIsIAotICAgIDB4MDEsIDB4YzAsIDB4ZjEsIDB4NzUsIDB4ZjEsIDB4MDEsIDB4MTIsIDB4NmYsIDB4ZDksIDB4ZDAsIDB4ZjEsIDB4MjIsIDB4N2UsIDB4MjQsIDB4ODQsIDB4MDAsIAotICAgIDB4Y2EsIDB4MTksIDB4N2QsIDB4MTIsIDB4MTIsIDB4NTUsIDB4N2IsIDB4ZGEsIDB4MTksIDB4MTAsIDB4MDQsIDB4MDIsIDB4ODAsIDB4MGMsIDB4ZDIsIDB4MDEsIAotICAgIDB4YzAsIDB4ZjEsIDB4NzUsIDB4ZjEsIDB4MDEsIDB4MTIsIDB4NmYsIDB4ZDksIDB4ZDAsIDB4ZjEsIDB4MjIsIDB4N2UsIDB4MjQsIDB4ODUsIDB4MDAsIDB4Y2EsIAotICAgIDB4MTksIDB4N2QsIDB4MTIsIDB4MTIsIDB4NTgsIDB4ZDMsIDB4ZGEsIDB4MTksIDB4MTAsIDB4MDQsIDB4MDIsIDB4ODAsIDB4MGMsIDB4ZDIsIDB4MDEsIDB4YzAsIAotICAgIDB4ZjEsIDB4NzUsIDB4ZjEsIDB4MDEsIDB4MTIsIDB4NmYsIDB4ZDksIDB4ZDAsIDB4ZjEsIDB4MjIsIDB4N2UsIDB4MjQsIDB4ODYsIDB4MDAsIDB4Y2EsIDB4MTksIAotICAgIDB4N2QsIDB4MTIsIDB4MTIsIDB4NWMsIDB4MmIsIDB4ZGEsIDB4MTksIDB4MTAsIDB4MDQsIDB4MDIsIDB4ODAsIDB4MGMsIDB4ZDIsIDB4MDEsIDB4YzAsIDB4ZjEsIAotICAgIDB4NzUsIDB4ZjEsIDB4MDEsIDB4MTIsIDB4NmYsIDB4ZDksIDB4ZDAsIDB4ZjEsIDB4MjIsIDB4N2UsIDB4MjQsIDB4ODcsIDB4MDAsIDB4Y2EsIDB4MTksIDB4N2QsIAotICAgIDB4MTIsIDB4MTIsIDB4NWYsIDB4ODMsIDB4ZGEsIDB4MTksIDB4MTAsIDB4MDQsIDB4MDIsIDB4ODAsIDB4MGMsIDB4ZDIsIDB4MDEsIDB4YzAsIDB4ZjEsIDB4NzUsIAotICAgIDB4ZjEsIDB4MDEsIDB4MTIsIDB4NmYsIDB4ZDksIDB4ZDAsIDB4ZjEsIDB4MjIsIDB4YzIsIDB4YWYsIDB4YzAsIDB4ZjEsIDB4NzUsIDB4ZjEsIDB4MDEsIDB4YTksIAotICAgIDB4MzIsIDB4ZjIsIDB4MWEsIDB4N2UsIDB4MDcsIDB4MDEsIDB4ZTEsIDB4YmUsIDB4MDQsIDB4MDAsIDB4MDAsIDB4NzgsIDB4MTAsIDB4ZTUsIDB4ZjUsIDB4MzMsIAotICAgIDB4ODIsIDB4ZTcsIDB4NDAsIDB4MDksIDB4ODUsIDB4MzEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4NzUsIDB4ZjYsIDB4MDAsIDB4ZDAsIDB4ZjEsIDB4ZDIsIAotICAgIDB4YWYsIDB4MjIsIAotCi0vLyBTZWdtZW50ICMxNSwgU3RhcnQgQWRkcmVzcyAwMGZmNDAwMCwgTGVuZ3RoIDE1MzgxCi0weGZmLDB4MDAsMHgwMCwweDQwLDB4MTUsMHgzYywKLSAgICAweDdlLCAweDA0LCAweDAwLCAweDAxLCAweDdlLCAweDE0LCAweDdmLCAweGY4LCAweDdlLCAweDI0LCAweDAwLCAweGZlLCAweDdkLCAweDMxLCAweDBiLCAweDFhLCAKLSAgICAweDUwLCAweDFiLCAweDBhLCAweDUwLCAweDdlLCAweDE0LCAweDQwLCAweDFiLCAweDAyLCAweDQwLCAweDZhLCAweDdlLCAweGY4LCAweDAwLCAweDZmLCAweGQyLCAKLSAgICAweDA0LCAweGMyLCAweDk0LCAweGQyLCAweDk1LCAweDdlLCAweGY0LCAweDQwLCAweDJjLCAweDAyLCAweDQwLCAweDdjLCAweDEyLCAweDdkLCAweDMwLCAweGY1LCAKLSAgICAweDJmLCAweDdhLCAweGExLCAweDMwLCAweDdhLCAweDExLCAweDZlLCAweDEyLCAweDc1LCAweGNhLCAweDEyLCAweDQwLCAweGRjLCAweDdlLCAweGIzLCAweDNmLCAKLSAgICAweGYxLCAweDYwLCAweDAzLCAweDEyLCAweDQzLCAweGQ0LCAweDc1LCAweGYxLCAweDAwLCAweDEyLCAweDc2LCAweDZmLCAweGQyLCAweGFmLCAweDAyLCAweDMwLCAKLSAgICAweDAwLCAweDdlLCAweDA0LCAweDAwLCAweGZmLCAweDdlLCAweDE4LCAweDQwLCAweDVmLCAweDdhLCAweDFjLCAweDAwLCAweDAxLCAweDg5LCAweDE4LCAweGE5LCAKLSAgICAweDI1LCAweDg3LCAweDAzLCAweGE5LCAweGQ1LCAweDg3LCAweGQyLCAweDkzLCAweDg5LCAweDA4LCAweDdlLCAweDA0LCAweDAwLCAweGZmLCAweDdlLCAweDE4LCAKLSAgICAweDQwLCAweDc4LCAweDdhLCAweDFjLCAweDAwLCAweDAxLCAweDg5LCAweDE4LCAweGMyLCAweDkzLCAweDg5LCAweDA4LCAweDdlLCAweDA4LCAweDAwLCAweDIwLCAKLSAgICAweDdlLCAweDQ0LCAweDA0LCAweDAwLCAweDdlLCAweDQwLCAweDAwLCAweDdlLCAweGU0LCAweDQwLCAweDhlLCAweDAyLCAweDdjLCAweDMwLCAweDdlLCAweDA4LCAKLSAgICAweDAxLCAweDZmLCAweDdlLCAweDQ0LCAweDI4LCAweDdjLCAweDdlLCAweDQwLCAweDAwLCAweDdlLCAweGU0LCAweDQwLCAweGEwLCAweDAyLCAweDdjLCAweDMwLCAKLSAgICAweDdlLCAweDA4LCAweDAwLCAweDZmLCAweDdlLCAweDQ0LCAweDAxLCAweDAwLCAweDdlLCAweDQwLCAweDUzLCAweDdlLCAweGU0LCAweDQwLCAweGIyLCAweDAyLCAKLSAgICAweDdjLCAweDMwLCAweDc1LCAweDZkLCAweDIwLCAweDc1LCAweDZjLCAweDMwLCAweDdlLCAweDA0LCAweDAwLCAweDA4LCAweDc1LCAweDZhLCAweDU4LCAweDc1LCAKLSAgICAweDZiLCAweDA4LCAweDc1LCAweDY3LCAweDA4LCAweDc1LCAweDY5LCAweDAxLCAweDc1LCAweDg5LCAweDAxLCAweDc1LCAweDhhLCAweDAxLCAweDc1LCAweDhjLCAKLSAgICAweDAwLCAweGQyLCAweDhjLCAweDdlLCAweDA0LCAweDAwLCAweDAyLCAweDdhLCAweDA1LCAweDU4LCAweDg5LCAweGY0LCAweDc1LCAweGI3LCAweDdmLCAweDc1LCAKLSAgICAweGI4LCAweDdmLCAweDc1LCAweGIzLCAweDA3LCAweDc1LCAweGIyLCAweDA3LCAweGQyLCAweGE5LCAweDIyLCAweGQyLCAweDkyLCAweGU0LCAweGQ1LCAweGUwLCAKLSAgICAweGZkLCAweGMyLCAweDkyLCAweDdlLCAweDI0LCAweDgwLCAweDAwLCAweDdlLCAweDExLCAweDJmLCAweDdlLCAweGEwLCAweDA4LCAweDE5LCAweGEyLCAweDAwLCAKLSAgICAweDEwLCAweDJlLCAweDI0LCAweDAxLCAweDAwLCAweGE1LCAweGQ5LCAweGYyLCAweDdlLCAweDIwLCAweDAwLCAweDEyLCAweDQxLCAweDdlLCAweDBiLCAweDIwLCAKLSAgICAweGJlLCAweDIxLCAweDJmLCAweDc4LCAweGY2LCAweDIyLCAweDdlLCAweDA0LCAweDgwLCAweDAwLCAweDRjLCAweDAyLCAweDc0LCAweGJmLCAweDE5LCAweGIwLCAKLSAgICAweDAwLCAweDBjLCAweDc0LCAweDEwLCAweDE5LCAweGIwLCAweDAwLCAweDA4LCAweDc0LCAweDgwLCAweDE5LCAweGIwLCAweDAwLCAweDBjLCAweDdlLCAweDU0LCAKLSAgICAweDAwLCAweDAyLCAweDE5LCAweGEwLCAweDAwLCAweDA0LCAweDE5LCAweGIwLCAweDAwLCAweDAwLCAweDc0LCAweDAzLCAweDE5LCAweGIwLCAweDAwLCAweDBjLCAKLSAgICAweDc0LCAweDA3LCAweGE5LCAweDIwLCAweDMwLCAweDBiLCAweGE5LCAweDM1LCAweDMwLCAweDA1LCAweGJlLCAweDIwLCAweDAxLCAweDI4LCAweDAyLCAweDc0LCAKLSAgICAweDBmLCAweDE5LCAweGIwLCAweDAwLCAweDA0LCAweGE5LCAweDMzLCAweDMwLCAweDE4LCAweDc0LCAweGJmLCAweDE5LCAweGIwLCAweDAwLCAweDBjLCAweDc0LCAKLSAgICAweDI4LCAweGE5LCAweDIwLCAweDMwLCAweDAyLCAweDc0LCAweDIwLCAweDE5LCAweGIwLCAweDAwLCAweDA0LCAweDc0LCAweDAzLCAweDE5LCAweGIwLCAweDAwLCAKLSAgICAweDBjLCAweDc0LCAweGE3LCAweDE5LCAweGIwLCAweDAwLCAweDA4LCAweDc0LCAweDBjLCAweDE5LCAweGIwLCAweDAwLCAweDEwLCAweDIyLCAweDdlLCAweDA0LCAKLSAgICAweDgwLCAweDAwLCAweDRjLCAweDAyLCAweGU0LCAweDE5LCAweGIwLCAweDAwLCAweDA0LCAweDA5LCAweGIwLCAweDAwLCAweDEwLCAweDU0LCAweDA4LCAweDE5LCAKLSAgICAweGIwLCAweDAwLCAweDEwLCAweDc0LCAweGE3LCAweDE5LCAweGIwLCAweDAwLCAweDA4LCAweDIyLCAweDdjLCAweGIyLCAweDIzLCAweDBhLCAweDJiLCAweDQ5LCAKLSAgICAweDIyLCAweDQxLCAweGE1LCAweDg5LCAweDI0LCAweDQxLCAweGI1LCAweDQxLCAweGQ0LCAweDQxLCAweGYzLCAweDQyLCAweDEyLCAweDQyLCAweDMxLCAweDQyLCAKLSAgICAweDUwLCAweDQyLCAweDZmLCAweDQyLCAweDhlLCAweGMyLCAweDEwLCAweGMyLCAweDE4LCAweGMyLCAweDIwLCAweGMyLCAweDA4LCAweDdlLCAweDA0LCAweDA5LCAKLSAgICAweGUzLCAweDdhLCAweDA3LCAweDAxLCAweDZmLCAweDdhLCAweDA3LCAweDAxLCAweDdmLCAweDZkLCAweDAwLCAweDdhLCAweDA3LCAweDAxLCAweDhmLCAweDdhLCAKLSAgICAweDA3LCAweDAxLCAweDlmLCAweDIyLCAweGMyLCAweDExLCAweGMyLCAweDE5LCAweGMyLCAweDIxLCAweGMyLCAweDA5LCAweDdlLCAweDA0LCAweDBkLCAweGUzLCAKLSAgICAweDdhLCAweDA3LCAweDAxLCAweDcxLCAweDdhLCAweDA3LCAweDAxLCAweDgxLCAweDZkLCAweDAwLCAweDdhLCAweDA3LCAweDAxLCAweDkxLCAweDdhLCAweDA3LCAKLSAgICAweDAxLCAweGExLCAweDIyLCAweGMyLCAweDEyLCAweGMyLCAweDFhLCAweGMyLCAweDIyLCAweGMyLCAweDBhLCAweDdlLCAweDA0LCAweDExLCAweGUzLCAweDdhLCAKLSAgICAweDA3LCAweDAxLCAweDczLCAweDdhLCAweDA3LCAweDAxLCAweDgzLCAweDZkLCAweDAwLCAweDdhLCAweDA3LCAweDAxLCAweDkzLCAweDdhLCAweDA3LCAweDAxLCAKLSAgICAweGEzLCAweDIyLCAweGMyLCAweDEzLCAweGMyLCAweDFiLCAweGMyLCAweDIzLCAweGMyLCAweDBiLCAweDdlLCAweDA0LCAweDE1LCAweGUzLCAweDdhLCAweDA3LCAKLSAgICAweDAxLCAweDc1LCAweDdhLCAweDA3LCAweDAxLCAweDg1LCAweDZkLCAweDAwLCAweDdhLCAweDA3LCAweDAxLCAweDk1LCAweDdhLCAweDA3LCAweDAxLCAweGE1LCAKLSAgICAweDIyLCAweGMyLCAweDE0LCAweGMyLCAweDFjLCAweGMyLCAweDI0LCAweGMyLCAweDBjLCAweDdlLCAweDA0LCAweDE5LCAweGUzLCAweDdhLCAweDA3LCAweDAxLCAKLSAgICAweDc3LCAweDdhLCAweDA3LCAweDAxLCAweDg3LCAweDZkLCAweDAwLCAweDdhLCAweDA3LCAweDAxLCAweDk3LCAweDdhLCAweDA3LCAweDAxLCAweGE3LCAweDIyLCAKLSAgICAweGMyLCAweDE1LCAweGMyLCAweDFkLCAweGMyLCAweDI1LCAweGMyLCAweDBkLCAweDdlLCAweDA0LCAweDFkLCAweGUzLCAweDdhLCAweDA3LCAweDAxLCAweDc5LCAKLSAgICAweDdhLCAweDA3LCAweDAxLCAweDg5LCAweDZkLCAweDAwLCAweDdhLCAweDA3LCAweDAxLCAweDk5LCAweDdhLCAweDA3LCAweDAxLCAweGE5LCAweDIyLCAweGMyLCAKLSAgICAweDE2LCAweGMyLCAweDFlLCAweGMyLCAweDI2LCAweGMyLCAweDBlLCAweDdlLCAweDA0LCAweDIxLCAweGUzLCAweDdhLCAweDA3LCAweDAxLCAweDdiLCAweDdhLCAKLSAgICAweDA3LCAweDAxLCAweDhiLCAweDZkLCAweDAwLCAweDdhLCAweDA3LCAweDAxLCAweDliLCAweDdhLCAweDA3LCAweDAxLCAweGFiLCAweDIyLCAweGMyLCAweDE3LCAKLSAgICAweGMyLCAweDFmLCAweGMyLCAweDI3LCAweGMyLCAweDBmLCAweDdlLCAweDA0LCAweDI1LCAweGUzLCAweDdhLCAweDA3LCAweDAxLCAweDdkLCAweDdhLCAweDA3LCAKLSAgICAweDAxLCAweDhkLCAweDZkLCAweDAwLCAweDdhLCAweDA3LCAweDAxLCAweDlkLCAweDdhLCAweDA3LCAweDAxLCAweGFkLCAweDIyLCAweDdjLCAweGIyLCAweDIzLCAKLSAgICAweDBhLCAweDJiLCAweDQ5LCAweDIyLCAweDQyLCAweGI4LCAweDg5LCAweDI0LCAweDQyLCAweGM4LCAweDQyLCAweGU5LCAweDQzLCAweDBhLCAweDQzLCAweDJiLCAKLSAgICAweDQzLCAweDRjLCAweDQzLCAweDZkLCAweDQzLCAweDhlLCAweDQzLCAweGFmLCAweDMwLCAweDUwLCAweDA3LCAweDIwLCAweDY4LCAweDA0LCAweGMyLCAweDI4LCAKLSAgICAweDgwLCAweDE2LCAweDMwLCAweDQwLCAweDA3LCAweDIwLCAweDYwLCAweDA0LCAweGMyLCAweDI4LCAweDgwLCAweDBjLCAweDMwLCAweDQ4LCAweDA3LCAweDIwLCAKLSAgICAweDU4LCAweDA0LCAweGMyLCAweDI4LCAweDgwLCAweDAyLCAweGQyLCAweDI4LCAweDIyLCAweDMwLCAweDUxLCAweDA3LCAweDIwLCAweDY5LCAweDA0LCAweGMyLCAKLSAgICAweDI5LCAweDgwLCAweDE2LCAweDMwLCAweDQxLCAweDA3LCAweDIwLCAweDYxLCAweDA0LCAweGMyLCAweDI5LCAweDgwLCAweDBjLCAweDMwLCAweDQ5LCAweDA3LCAKLSAgICAweDIwLCAweDU5LCAweDA0LCAweGMyLCAweDI5LCAweDgwLCAweDAyLCAweGQyLCAweDI5LCAweDIyLCAweDMwLCAweDUyLCAweDA3LCAweDIwLCAweDZhLCAweDA0LCAKLSAgICAweGMyLCAweDJhLCAweDgwLCAweDE2LCAweDMwLCAweDQyLCAweDA3LCAweDIwLCAweDYyLCAweDA0LCAweGMyLCAweDJhLCAweDgwLCAweDBjLCAweDMwLCAweDRhLCAKLSAgICAweDA3LCAweDIwLCAweDVhLCAweDA0LCAweGMyLCAweDJhLCAweDgwLCAweDAyLCAweGQyLCAweDJhLCAweDIyLCAweDMwLCAweDUzLCAweDA3LCAweDIwLCAweDZiLCAKLSAgICAweDA0LCAweGMyLCAweDJiLCAweDgwLCAweDE2LCAweDMwLCAweDQzLCAweDA3LCAweDIwLCAweDYzLCAweDA0LCAweGMyLCAweDJiLCAweDgwLCAweDBjLCAweDMwLCAKLSAgICAweDRiLCAweDA3LCAweDIwLCAweDViLCAweDA0LCAweGMyLCAweDJiLCAweDgwLCAweDAyLCAweGQyLCAweDJiLCAweDIyLCAweDMwLCAweDU0LCAweDA3LCAweDIwLCAKLSAgICAweDZjLCAweDA0LCAweGMyLCAweDJjLCAweDgwLCAweDE2LCAweDMwLCAweDQ0LCAweDA3LCAweDIwLCAweDY0LCAweDA0LCAweGMyLCAweDJjLCAweDgwLCAweDBjLCAKLSAgICAweDMwLCAweDRjLCAweDA3LCAweDIwLCAweDVjLCAweDA0LCAweGMyLCAweDJjLCAweDgwLCAweDAyLCAweGQyLCAweDJjLCAweDIyLCAweDMwLCAweDU1LCAweDA3LCAKLSAgICAweDIwLCAweDZkLCAweDA0LCAweGMyLCAweDJkLCAweDgwLCAweDE2LCAweDMwLCAweDQ1LCAweDA3LCAweDIwLCAweDY1LCAweDA0LCAweGMyLCAweDJkLCAweDgwLCAKLSAgICAweDBjLCAweDMwLCAweDRkLCAweDA3LCAweDIwLCAweDVkLCAweDA0LCAweGMyLCAweDJkLCAweDgwLCAweDAyLCAweGQyLCAweDJkLCAweDIyLCAweDMwLCAweDU2LCAKLSAgICAweDA3LCAweDIwLCAweDZlLCAweDA0LCAweGMyLCAweDJlLCAweDgwLCAweDE2LCAweDMwLCAweDQ2LCAweDA3LCAweDIwLCAweDY2LCAweDA0LCAweGMyLCAweDJlLCAKLSAgICAweDgwLCAweDBjLCAweDMwLCAweDRlLCAweDA3LCAweDIwLCAweDVlLCAweDA0LCAweGMyLCAweDJlLCAweDgwLCAweDAyLCAweGQyLCAweDJlLCAweDIyLCAweDMwLCAKLSAgICAweDU3LCAweDA3LCAweDIwLCAweDZmLCAweDA0LCAweGMyLCAweDJmLCAweDgwLCAweDE2LCAweDMwLCAweDQ3LCAweDA3LCAweDIwLCAweDY3LCAweDA0LCAweGMyLCAKLSAgICAweDJmLCAweDgwLCAweDBjLCAweDMwLCAweDRmLCAweDA3LCAweDIwLCAweDVmLCAweDA0LCAweGMyLCAweDJmLCAweDgwLCAweDAyLCAweGQyLCAweDJmLCAweDIyLCAKLSAgICAweDQ0LCAweDM4LCAweDQzLCAweGU1LCAweGJlLCAweGIwLCAweDAyLCAweDQwLCAweDAxLCAweDIyLCAweDIzLCAweDBhLCAweDViLCAweDQ5LCAweDU1LCAweDQzLCAKLSAgICAweGQwLCAweDk5LCAweDU0LCAweGQzLCAweDIyLCAweGE5LCAweGM1LCAweDg3LCAweDEyLCAweDQ0LCAweDQzLCAweDdlLCAweDA0LCAweDA1LCAweGUzLCAweDdhLCAKLSAgICAweDA3LCAweDAxLCAweGQ3LCAweDdhLCAweDA3LCAweDAxLCAweGQ5LCAweDdlLCAweDA0LCAweDAxLCAweGUzLCAweDdhLCAweDA3LCAweDAxLCAweGRkLCAweDdhLCAKLSAgICAweDA3LCAweDAxLCAweGRmLCAweDdlLCAweDA0LCAweDc0LCAweGFkLCAweDdhLCAweDA1LCAweDYxLCAweDc1LCAweGYxLCAweDAxLCAweDc1LCAweGUxLCAweDFmLCAKLSAgICAweDc1LCAweGU0LCAweDA0LCAweDc1LCAweGY0LCAweDA0LCAweDc1LCAweGYxLCAweDAyLCAweDc1LCAweGUxLCAweDAzLCAweDc1LCAweGU0LCAweDA0LCAweDc1LCAKLSAgICAweGY0LCAweDA0LCAweDQzLCAweGEyLCAweDFjLCAweDEyLCAweDQwLCAweGViLCAweDdlLCAweDIwLCAweDAwLCAweDEyLCAweDQxLCAweDlhLCAweDBiLCAweDIwLCAKLSAgICAweGJlLCAweDIxLCAweDJmLCAweDc4LCAweGY2LCAweGQyLCAweGE4LCAweDIyLCAweGE5LCAweGQ1LCAweDg3LCAweDEyLCAweDQ0LCAweDQzLCAweGQyLCAweDkyLCAKLSAgICAweGMyLCAweGE4LCAweDIyLCAweDc1LCAweGEzLCAweDAwLCAweDUzLCAweGEyLCAweDAzLCAweDc1LCAweGMxLCAweDAwLCAweDUzLCAweGMwLCAweDAzLCAweDdlLCAKLSAgICAweDAwLCAweDA1LCAweDdhLCAweDAxLCAweGYxLCAweDQzLCAweGY0LCAweDgwLCAweDQzLCAweGU0LCAweDgwLCAweGU1LCAweGYyLCAweDU0LCAweDdmLCAweDQ0LCAKLSAgICAweDA4LCAweGY1LCAweGYyLCAweGU1LCAweGUyLCAweDU0LCAweDdmLCAweDQ0LCAweDA4LCAweGY1LCAweGUyLCAweDc1LCAweGUxLCAweDEwLCAweGE1LCAweGQ4LCAKLSAgICAweGUxLCAweDIyLCAweGNhLCAweDA5LCAweDEyLCAweDMwLCAweDIwLCAweDEwLCAweDAxLCAweDEyLCAweGQ1LCAweDY3LCAweDFlLCAweDYzLCAweDY5LCAweDAxLCAKLSAgICAweDdlLCAweDAwLCAweDZhLCAweDJlLCAweDAxLCAweDY5LCAweGE1LCAweGU2LCAweGY1LCAweDY3LCAweDgwLCAweDEyLCAweDIwLCAweDAyLCAweDFlLCAweDc1LCAKLSAgICAweDY5LCAweDAwLCAweDg1LCAweDZhLCAweDY3LCAweGQyLCAweDAyLCAweDc0LCAweDAwLCAweDgwLCAweDBkLCAweDMwLCAweDAyLCAweDBmLCAweGMyLCAweDAyLCAKLSAgICAweDdlLCAweDAwLCAweDZjLCAweDJlLCAweDAxLCAweDY5LCAweGE1LCAweGU2LCAweDUzLCAweDkwLCAweGNmLCAweDQyLCAweDkwLCAweGRhLCAweDA5LCAweDMyLCAKLSAgICAweGMwLCAweGQwLCAweGMwLCAweGQxLCAweGMwLCAweGUwLCAweGMwLCAweGYwLCAweGNhLCAweDBiLCAweGNhLCAweDFiLCAweGNhLCAweDJiLCAweGQyLCAweDAxLCAKLSAgICAweDc1LCAweDMxLCAweDg5LCAweDEyLCAweDdjLCAweDE1LCAweDdlLCAweDE0LCAweDgwLCAweDAwLCAweDA5LCAweGIxLCAweDAwLCAweDA4LCAweDIwLCAweGUwLCAKLSAgICAweDAzLCAweDAyLCAweDQ1LCAweDRmLCAweDIwLCAweDc4LCAweDVhLCAweGE1LCAweDBhLCAweDA5LCAweGIxLCAweDAwLCAweDA4LCAweDIwLCAweGUwLCAweDAzLCAKLSAgICAweDAyLCAweDQ1LCAweDY3LCAweDIwLCAweDc5LCAweDRiLCAweGE1LCAweDBhLCAweDA5LCAweGIxLCAweDAwLCAweDA4LCAweDIwLCAweGUwLCAweDAzLCAweDAyLCAKLSAgICAweDQ1LCAweDdmLCAweGE1LCAweDBhLCAweDA5LCAweGIxLCAweDAwLCAweDA4LCAweDIwLCAweGUwLCAweDAzLCAweDAyLCAweDQ1LCAweDk3LCAweDIwLCAweDdhLCAKLSAgICAweDMwLCAweGE1LCAweDBhLCAweDA5LCAweGIxLCAweDAwLCAweDA4LCAweDIwLCAweGUwLCAweDAzLCAweDAyLCAweDQ1LCAweGFmLCAweGE1LCAweDBhLCAweDA5LCAKLSAgICAweGIxLCAweDAwLCAweDA4LCAweDIwLCAweGUwLCAweDAzLCAweDAyLCAweDQ1LCAweGM3LCAweGE1LCAweDBhLCAweDA5LCAweGIxLCAweDAwLCAweDA4LCAweDIwLCAKLSAgICAweGUwLCAweDAzLCAweDAyLCAweDQ1LCAweGRmLCAweGE1LCAweDBhLCAweDA5LCAweGIxLCAweDAwLCAweDA4LCAweDIwLCAweGUwLCAweDAzLCAweDAyLCAweDQ1LCAKLSAgICAweGY3LCAweDMwLCAweDA0LCAweDBjLCAweGMyLCAweDA0LCAweGMwLCAweGYxLCAweDc1LCAweGYxLCAweDAxLCAweDEyLCAweDZmLCAweGQ5LCAweGQwLCAweGYxLCAKLSAgICAweGRhLCAweDJiLCAweGRhLCAweDFiLCAweGRhLCAweDBiLCAweGQwLCAweGYwLCAweGQwLCAweGUwLCAweGQwLCAweGQxLCAweGQwLCAweGQwLCAweDMyLCAweDc1LCAKLSAgICAweDMxLCAweDgwLCAweDEyLCAweDdjLCAweDE1LCAweDU0LCAweDNlLCAweDBhLCAweDViLCAweDdlLCAweDQ0LCAweDAwLCAweGZmLCAweDY5LCAweDUyLCAweDYzLCAKLSAgICAweDJiLCAweGNhLCAweDA2LCAweGM2LCAweDQ0LCAweDg5LCAweDU0LCAweDc1LCAweDMxLCAweDgxLCAweDEyLCAweDdjLCAweDE1LCAweDU0LCAweDNlLCAweDBhLCAKLSAgICAweDViLCAweDdlLCAweDQ0LCAweDAwLCAweGZmLCAweDY5LCAweDUyLCAweDYzLCAweDZiLCAweGNhLCAweDA2LCAweGM2LCAweDQ0LCAweDg5LCAweDU0LCAweDc1LCAKLSAgICAweDMxLCAweDgyLCAweDEyLCAweDdjLCAweDE1LCAweDU0LCAweDNlLCAweDBhLCAweDViLCAweDdlLCAweDQ0LCAweDAwLCAweGZmLCAweDY5LCAweDUyLCAweDYzLCAKLSAgICAweGFiLCAweGNhLCAweDA2LCAweGM2LCAweDQ0LCAweDg5LCAweDU0LCAweDc1LCAweDMxLCAweDgzLCAweDEyLCAweDdjLCAweDE1LCAweDU0LCAweDNlLCAweDBhLCAKLSAgICAweDViLCAweDdlLCAweDQ0LCAweDAwLCAweGZmLCAweDY5LCAweDUyLCAweDYzLCAweGViLCAweGNhLCAweDA2LCAweGM2LCAweDQ0LCAweDg5LCAweDU0LCAweDc1LCAKLSAgICAweDMxLCAweDg0LCAweDEyLCAweDdjLCAweDE1LCAweDU0LCAweDNlLCAweDBhLCAweDViLCAweDdlLCAweDQ0LCAweDAwLCAweGZmLCAweDY5LCAweDUyLCAweDY0LCAKLSAgICAweDJiLCAweGNhLCAweDA2LCAweGM2LCAweDQ0LCAweDg5LCAweDU0LCAweDc1LCAweDMxLCAweDg1LCAweDEyLCAweDdjLCAweDE1LCAweDU0LCAweDNlLCAweDBhLCAKLSAgICAweDViLCAweDdlLCAweDQ0LCAweDAwLCAweGZmLCAweDY5LCAweDUyLCAweDY0LCAweDZiLCAweGNhLCAweDA2LCAweGM2LCAweDQ0LCAweDg5LCAweDU0LCAweDc1LCAKLSAgICAweDMxLCAweDg2LCAweDEyLCAweDdjLCAweDE1LCAweDU0LCAweDNlLCAweDBhLCAweDViLCAweDdlLCAweDQ0LCAweDAwLCAweGZmLCAweDY5LCAweDUyLCAweDY0LCAKLSAgICAweGFiLCAweGNhLCAweDA2LCAweGM2LCAweDQ0LCAweDg5LCAweDU0LCAweDc1LCAweDMxLCAweDg3LCAweDEyLCAweDdjLCAweDE1LCAweDU0LCAweDNlLCAweDBhLCAKLSAgICAweDViLCAweDdlLCAweDQ0LCAweDAwLCAweGZmLCAweDY5LCAweDUyLCAweDY0LCAweGViLCAweGNhLCAweDA2LCAweGM2LCAweDQ0LCAweDg5LCAweDU0LCAweDEwLCAKLSAgICAweDA4LCAweDAxLCAweDIyLCAweDIwLCAweDI4LCAweDAzLCAweGQyLCAweDA4LCAweDIyLCAweDc1LCAweDMxLCAweGEwLCAweDEyLCAweDdjLCAweDE1LCAweDdlLCAKLSAgICAweDE0LCAweDgwLCAweDAwLCAweDgwLCAweDA2LCAweDIwLCAweDI4LCAweDAzLCAweGQyLCAweDA4LCAweDIyLCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweGNhLCAKLSAgICAweGI4LCAweDVlLCAweGIwLCAweDFlLCAweGRhLCAweGI4LCAweDY4LCAweDAzLCAweDEyLCAweDQ5LCAweDMwLCAweDIwLCAweGU2LCAweDAzLCAweGQyLCAweDA4LCAKLSAgICAweDIyLCAweDMwLCAweDMwLCAweDQ5LCAweGQyLCAweDcwLCAweDdlLCAweDM3LCAweDAxLCAweDhmLCAweDdlLCAweDI3LCAweDAxLCAweGFmLCAweDlkLCAweDMyLCAKLSAgICAweDQwLCAweDMxLCAweDdkLCAweDAyLCAweDJlLCAweDA1LCAweDQ4LCAweDdhLCAweDA1LCAweDQ4LCAweDdhLCAweDM3LCAweDAxLCAweDhmLCAweDdlLCAweDM3LCAKLSAgICAweDAxLCAweDZmLCAweDdkLCAweDQzLCAweDJkLCAweDQyLCAweGJlLCAweDQ0LCAweDBkLCAweGUyLCAweDM4LCAweDY4LCAweDdhLCAweDQ3LCAweDAxLCAweDZmLCAKLSAgICAweDc1LCAweDMxLCAweDk0LCAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweDUxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweDEyLCAweDY1LCAweDJiLCAweDEwLCAKLSAgICAweDcwLCAweGM0LCAweDIyLCAweGMyLCAweDcwLCAweDJkLCAweDIzLCAweDY4LCAweDc4LCAweDZkLCAweDMzLCAweDgwLCAweDFhLCAweDdlLCAweDI3LCAweDAxLCAKLSAgICAweDhmLCAweGJlLCAweDI0LCAweDAwLCAweDAwLCAweDY4LCAweDZhLCAweGJlLCAweDI3LCAweDAxLCAweGFmLCAweDI4LCAweDA0LCAweDdlLCAweDI3LCAweDAxLCAKLSAgICAweGFmLCAweDdlLCAweDM3LCAweDAxLCAweDhmLCAweDlkLCAweDMyLCAweDdkLCAweDAyLCAweDJlLCAweDA1LCAweDQ4LCAweDdhLCAweDA1LCAweDQ4LCAweDdhLCAKLSAgICAweDM3LCAweDAxLCAweDhmLCAweDdlLCAweDM3LCAweDAxLCAweDZmLCAweDdkLCAweDQzLCAweDJkLCAweDQyLCAweGJlLCAweDQ0LCAweDBkLCAweGUyLCAweDM4LCAKLSAgICAweDEzLCAweDdhLCAweDQ3LCAweDAxLCAweDZmLCAweDc1LCAweDMxLCAweDk0LCAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweDUxLCAweDMxLCAweDEyLCAweDdjLCAKLSAgICAweDE1LCAweDAyLCAweDY1LCAweDJiLCAweDc1LCAweDMxLCAweDk0LCAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweDUxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAKLSAgICAweDllLCAweDQ0LCAweDBkLCAweGUzLCAweDlkLCAweDI0LCAweDEyLCAweDY1LCAweDJiLCAweDdlLCAweDM0LCAweDA5LCAweGUzLCAweDdkLCAweDI0LCAweDJkLCAKLSAgICAweDQzLCAweDdhLCAweDQ3LCAweDAxLCAweDZmLCAweDEyLCAweDY1LCAweDJiLCAweGJlLCAweDI1LCAweDIwLCAweDc4LCAweDAzLCAweDAyLCAweDQ2LCAweDdmLCAKLSAgICAweDIyLCAweGQyLCAweDA4LCAweDdlLCAweDA0LCAweDA5LCAweGUzLCAweDdhLCAweDA3LCAweDAxLCAweDZmLCAweDdhLCAweDA3LCAweDAxLCAweDdmLCAweDc1LCAKLSAgICAweDMxLCAweDk0LCAweDEyLCAweDdjLCAweDE1LCAweDc1LCAweDMxLCAweDAwLCAweDEyLCAweDdjLCAweDE1LCAweDIyLCAweDc1LCAweDMxLCAweDkyLCAweDEyLCAKLSAgICAweDdjLCAweDE1LCAweGQyLCAweDA0LCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweGNhLCAweGI4LCAweDU0LCAweDgyLCAweGRhLCAweGI4LCAweDc4LCAweDcwLCAKLSAgICAweDdlLCAweDM3LCAweDAxLCAweGUxLCAweDdlLCAweDI3LCAweDAxLCAweGJmLCAweDJlLCAweDI0LCAweDAwLCAweDAyLCAweDJkLCAweDMyLCAweGJlLCAweDM0LCAKLSAgICAweDA0LCAweDAwLCAweDM4LCAweDNjLCAweDdkLCAweDAyLCAweDJlLCAweDA1LCAweDQ2LCAweDdhLCAweDA1LCAweDQ2LCAweDdhLCAweDM3LCAweDAxLCAweGUxLCAKLSAgICAweDdlLCAweDM3LCAweDAxLCAweGRmLCAweDdkLCAweDQzLCAweDJkLCAweDQyLCAweGJlLCAweDQ0LCAweDA1LCAweGUyLCAweDM4LCAweDQ0LCAweDdhLCAweDQ3LCAKLSAgICAweDAxLCAweGRmLCAweDdlLCAweDI0LCAweDAwLCAweDAwLCAweDJlLCAweDI3LCAweDAxLCAweGJmLCAweDFiLCAweDM4LCAweDIwLCAweDBiLCAweDM1LCAweDdhLCAKLSAgICAweDUxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweGJlLCAweDUwLCAweDM4LCAweDc4LCAweDAzLCAweDAyLCAweDY2LCAweDE2LCAweDAyLCAweDY1LCAweGZiLCAKLSAgICAweDc1LCAweDMxLCAweDk5LCAweDEyLCAweDdjLCAweDE1LCAweDA5LCAweGIxLCAweDAwLCAweDA0LCAweDU0LCAweGZhLCAweDE5LCAweGIxLCAweDAwLCAweDA0LCAKLSAgICAweDMwLCAweDM4LCAweDBhLCAweDA5LCAweGIxLCAweDAwLCAweDEwLCAweDU0LCAweGZlLCAweDE5LCAweGIxLCAweDAwLCAweDEwLCAweGQyLCAweDEwLCAweDIyLCAKLSAgICAweDgwLCAweDdkLCAweDdhLCAweDUxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweDllLCAweDQ0LCAweDA1LCAweGUzLCAweDlkLCAweDI0LCAweDdlLCAweDY0LCAKLSAgICAweDAwLCAweDAwLCAweDJlLCAweDY3LCAweDAxLCAweGJmLCAweDllLCAweDI0LCAweDAwLCAweDAyLCAweDQwLCAweDE3LCAweDFiLCAweDM4LCAweDYwLCAweDBiLCAKLSAgICAweDM1LCAweDEyLCAweDY1LCAweGZiLCAweDdlLCAweDM0LCAweDAxLCAweGUzLCAweDdkLCAweDI0LCAweDJkLCAweDQzLCAweDdhLCAweDQ3LCAweDAxLCAweGRmLCAKLSAgICAweDAyLCAweDY1LCAweGZiLCAweDdhLCAweDM5LCAweGMwLCAweDdlLCAweDM0LCAweDAxLCAweGUzLCAweDdhLCAweDM5LCAweGQwLCAweDBiLCAweDM0LCAweDFiLCAKLSAgICAweDQ0LCAweDgwLCAweGU1LCAweDlkLCAweDMyLCAweDdjLCAweGI2LCAweDU0LCAweDBmLCAweDIzLCAweDIzLCAweDIzLCAweDQ0LCAweDAwLCAweDdhLCAweDY5LCAKLSAgICAweGIwLCAweDdhLCAweDc5LCAweDcwLCAweDBiLCAweDM1LCAweDc1LCAweDMxLCAweDkzLCAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweDcxLCAweDMxLCAweDEyLCAKLSAgICAweDdjLCAweDE1LCAweGJkLCAweDA0LCAweDY4LCAweDI5LCAweDdhLCAweDA3LCAweDAxLCAweGRmLCAweDdlLCAweDQ3LCAweDAxLCAweGUxLCAweDJkLCAweDQzLCAKLSAgICAweDdhLCAweDQ3LCAweDAxLCAweGUxLCAweDJlLCAweDM1LCAweDQ2LCAweDdhLCAweDM1LCAweDQ2LCAweDIyLCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweDIwLCAKLSAgICAweGUwLCAweDEzLCAweDIyLCAweDdlLCAweDA0LCAweDAxLCAweGUzLCAweDgwLCAweDJhLCAweDdlLCAweDA0LCAweDAxLCAweGUzLCAweDgwLCAweDJjLCAweDdlLCAKLSAgICAweDA0LCAweDAxLCAweGUzLCAweDgwLCAweGQxLCAweGQyLCAweDA0LCAweDdlLCAweDA3LCAweDAxLCAweGUxLCAweDdlLCAweDI0LCAweDAzLCAweGZlLCAweDlkLCAKLSAgICAweDIwLCAweDI4LCAweDQwLCAweDdlLCAweDA3LCAweDAxLCAweGRmLCAweDdlLCAweDQ0LCAweDA1LCAweGUzLCAweDdkLCAweDYwLCAweDBiLCAweDA0LCAweGJkLCAKLSAgICAweDA0LCAweDY4LCAweGQwLCAweDdkLCAweDcwLCAweDBiLCAweDA0LCAweGJkLCAweDA0LCAweDY4LCAweGNlLCAweDdkLCAweDU0LCAweDlkLCAweDUwLCAweGJkLCAKLSAgICAweDI1LCAweDQwLCAweDAyLCAweDdkLCAweDI1LCAweDdkLCAweDMyLCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweGNhLCAweGI4LCAweDU0LCAweDFmLCAweGI0LCAKLSAgICAweDAxLCAweDMxLCAweGRhLCAweGI4LCAweDdlLCAweDE5LCAweGIwLCAweDdhLCAweDA5LCAweGIwLCAweDBiLCAweDA0LCAweDFiLCAweDI0LCAweDc4LCAweGU3LCAKLSAgICAweDAyLCAweDQ3LCAweGUzLCAweDc1LCAweDMxLCAweDk5LCAweDEyLCAweDdjLCAweDE1LCAweDA5LCAweGIxLCAweDAwLCAweDA0LCAweDU0LCAweGZhLCAweDE5LCAKLSAgICAweGIxLCAweDAwLCAweDA0LCAweDMwLCAweDM4LCAweDBhLCAweDA5LCAweGIxLCAweDAwLCAweDEwLCAweDU0LCAweGZlLCAweDE5LCAweGIxLCAweDAwLCAweDEwLCAKLSAgICAweGQyLCAweDEwLCAweDIyLCAweGRhLCAweGI4LCAweDMwLCAweGUwLCAweGQ4LCAweGJkLCAweDMyLCAweDY4LCAweDA3LCAweGNhLCAweGI4LCAweDEyLCAweDQ3LCAKLSAgICAweGUzLCAweGRhLCAweGI4LCAweDAyLCAweDQ5LCAweDMwLCAweDA5LCAweGIxLCAweDAwLCAweDE4LCAweDdlLCAweGEwLCAweDg4LCAweDc1LCAweDMxLCAweDkwLCAKLSAgICAweDEyLCAweDdjLCAweDE1LCAweGY1LCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweGE1LCAweGZjLCAweDVlLCAweGIwLCAweGYwLCAweGE1LCAweGZkLCAweDA5LCAKLSAgICAweGIxLCAweDAwLCAweDE4LCAweDRjLCAweDRiLCAweDVlLCAweGIwLCAweGYwLCAweGJjLCAweGI1LCAweDc4LCAweGYxLCAweDVlLCAweDQwLCAweDBmLCAweDRjLCAKLSAgICAweDU0LCAweDdjLCAweGI1LCAweDVlLCAweDUwLCAweDBiLCAweDY4LCAweDJhLCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDEwLCAweDY4LCAweDA0LCAweGQyLCAKLSAgICAweDY4LCAweDgwLCAweDAyLCAweGMyLCAweDY4LCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDIwLCAweDY4LCAweDA0LCAweGQyLCAweDYwLCAweDgwLCAweDAyLCAKLSAgICAweGMyLCAweDYwLCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDgwLCAweDY4LCAweDA0LCAweGQyLCAweDU4LCAweDgwLCAweDAyLCAweGMyLCAweDU4LCAweDEyLCAKLSAgICAweDQyLCAweGM4LCAweDAyLCAweDYyLCAweDkzLCAweDc1LCAweDMxLCAweDkxLCAweDEyLCAweDdjLCAweDE1LCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweDdhLCAKLSAgICAweGIxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweDIwLCAweGUwLCAweDA4LCAweGQyLCAweDA0LCAweDdlLCAweGEwLCAweDgwLCAweDAyLCAweDYyLCAweDkzLCAKLSAgICAweGQyLCAweDA0LCAweDMwLCAweGUxLCAweDA2LCAweDdlLCAweGEwLCAweDgwLCAweDEyLCAweDYyLCAweDkzLCAweGNhLCAweGI4LCAweDVlLCAweGIwLCAweDFjLCAKLSAgICAweGRhLCAweGI4LCAweDY4LCAweDEyLCAweDdlLCAweGEwLCAweGMwLCAweDA5LCAweDYxLCAweDAwLCAweDAwLCAweDEyLCAweDYyLCAweGI2LCAweDA5LCAweGIxLCAKLSAgICAweDAwLCAweDE0LCAweDIwLCAweGUwLCAweGRiLCAweDIyLCAweDAyLCAweDQ4LCAweDM1LCAweDc1LCAweDMxLCAweDk1LCAweDEyLCAweDdjLCAweDE1LCAweDIyLCAKLSAgICAweDc1LCAweDMxLCAweDk2LCAweDEyLCAweDdjLCAweDE1LCAweDIyLCAweDEwLCAweDA5LCAweDAxLCAweDIyLCAweDIwLCAweDI5LCAweDAzLCAweGQyLCAweDA5LCAKLSAgICAweDIyLCAweDc1LCAweDMxLCAweGExLCAweDEyLCAweDdjLCAweDE1LCAweDdlLCAweDE0LCAweDgxLCAweDAwLCAweDgwLCAweDA2LCAweDIwLCAweDI5LCAweDAzLCAKLSAgICAweGQyLCAweDA5LCAweDIyLCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweGNhLCAweGI4LCAweDVlLCAweGIwLCAweDFlLCAweGRhLCAweGI4LCAweDY4LCAweDAzLCAKLSAgICAweDEyLCAweDRjLCAweDg4LCAweDIwLCAweGU2LCAweDAzLCAweGQyLCAweDA5LCAweDIyLCAweDMwLCAweDMxLCAweDQ5LCAweGQyLCAweDcxLCAweDdlLCAweDM3LCAKLSAgICAweDAxLCAweDkxLCAweDdlLCAweDI3LCAweDAxLCAweGIxLCAweDlkLCAweDMyLCAweDQwLCAweDMxLCAweDdkLCAweDAyLCAweDJlLCAweDA1LCAweDRhLCAweDdhLCAKLSAgICAweDA1LCAweDRhLCAweDdhLCAweDM3LCAweDAxLCAweDkxLCAweDdlLCAweDM3LCAweDAxLCAweDcxLCAweDdkLCAweDQzLCAweDJkLCAweDQyLCAweGJlLCAweDQ0LCAKLSAgICAweDExLCAweGUyLCAweDM4LCAweDY4LCAweDdhLCAweDQ3LCAweDAxLCAweDcxLCAweDc1LCAweDMxLCAweDk0LCAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweDUxLCAKLSAgICAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweDEyLCAweDY1LCAweDJiLCAweDEwLCAweDcxLCAweGM0LCAweDIyLCAweGMyLCAweDcxLCAweDJkLCAweDIzLCAweDY4LCAKLSAgICAweDc4LCAweDZkLCAweDMzLCAweDgwLCAweDFhLCAweDdlLCAweDI3LCAweDAxLCAweDkxLCAweGJlLCAweDI0LCAweDAwLCAweDAwLCAweDY4LCAweDZhLCAweGJlLCAKLSAgICAweDI3LCAweDAxLCAweGIxLCAweDI4LCAweDA0LCAweDdlLCAweDI3LCAweDAxLCAweGIxLCAweDdlLCAweDM3LCAweDAxLCAweDkxLCAweDlkLCAweDMyLCAweDdkLCAKLSAgICAweDAyLCAweDJlLCAweDA1LCAweDRhLCAweDdhLCAweDA1LCAweDRhLCAweDdhLCAweDM3LCAweDAxLCAweDkxLCAweDdlLCAweDM3LCAweDAxLCAweDcxLCAweDdkLCAKLSAgICAweDQzLCAweDJkLCAweDQyLCAweGJlLCAweDQ0LCAweDExLCAweGUyLCAweDM4LCAweDEzLCAweDdhLCAweDQ3LCAweDAxLCAweDcxLCAweDc1LCAweDMxLCAweDk0LCAKLSAgICAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweDUxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweDAyLCAweDY1LCAweDJiLCAweDc1LCAweDMxLCAweDk0LCAweDEyLCAKLSAgICAweDdjLCAweDE1LCAweDdhLCAweDUxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweDllLCAweDQ0LCAweDExLCAweGUzLCAweDlkLCAweDI0LCAweDEyLCAweDY1LCAKLSAgICAweDJiLCAweDdlLCAweDM0LCAweDBkLCAweGUzLCAweDdkLCAweDI0LCAweDJkLCAweDQzLCAweDdhLCAweDQ3LCAweDAxLCAweDcxLCAweDEyLCAweDY1LCAweDJiLCAKLSAgICAweGJlLCAweDI1LCAweDIwLCAweDc4LCAweDAzLCAweDAyLCAweDQ5LCAweGQ3LCAweDIyLCAweGQyLCAweDA5LCAweDdlLCAweDA0LCAweDBkLCAweGUzLCAweDdhLCAKLSAgICAweDA3LCAweDAxLCAweDcxLCAweDdhLCAweDA3LCAweDAxLCAweDgxLCAweDc1LCAweDMxLCAweDk0LCAweDEyLCAweDdjLCAweDE1LCAweDc1LCAweDMxLCAweDAwLCAKLSAgICAweDEyLCAweDdjLCAweDE1LCAweDIyLCAweDc1LCAweDMxLCAweDkyLCAweDEyLCAweDdjLCAweDE1LCAweGQyLCAweDA0LCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAKLSAgICAweGNhLCAweGI4LCAweDU0LCAweDgyLCAweGRhLCAweGI4LCAweDc4LCAweDcwLCAweDdlLCAweDM3LCAweDAxLCAweGUxLCAweDdlLCAweDI3LCAweDAxLCAweGMxLCAKLSAgICAweDJlLCAweDI0LCAweDAwLCAweDAyLCAweDJkLCAweDMyLCAweGJlLCAweDM0LCAweDA0LCAweDAwLCAweDM4LCAweDNjLCAweDdkLCAweDAyLCAweDJlLCAweDA1LCAKLSAgICAweDQ2LCAweDdhLCAweDA1LCAweDQ2LCAweDdhLCAweDM3LCAweDAxLCAweGUxLCAweDdlLCAweDM3LCAweDAxLCAweGRmLCAweDdkLCAweDQzLCAweDJkLCAweDQyLCAKLSAgICAweGJlLCAweDQ0LCAweDA1LCAweGUyLCAweDM4LCAweDQ0LCAweDdhLCAweDQ3LCAweDAxLCAweGRmLCAweDdlLCAweDI0LCAweDAxLCAweDAwLCAweDJlLCAweDI3LCAKLSAgICAweDAxLCAweGMxLCAweDFiLCAweDM4LCAweDIwLCAweDBiLCAweDM1LCAweDdhLCAweDUxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweGJlLCAweDUwLCAweDM4LCAKLSAgICAweDc4LCAweDAzLCAweDAyLCAweDY2LCAweDE2LCAweDAyLCAweDY1LCAweGZiLCAweDc1LCAweDMxLCAweDk5LCAweDEyLCAweDdjLCAweDE1LCAweDA5LCAweGIxLCAKLSAgICAweDAwLCAweDA0LCAweDU0LCAweGZhLCAweDE5LCAweGIxLCAweDAwLCAweDA0LCAweDMwLCAweDM5LCAweDBhLCAweDA5LCAweGIxLCAweDAwLCAweDEwLCAweDU0LCAKLSAgICAweGZlLCAweDE5LCAweGIxLCAweDAwLCAweDEwLCAweGQyLCAweDExLCAweDIyLCAweDgwLCAweDdkLCAweDdhLCAweDUxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAKLSAgICAweDllLCAweDQ0LCAweDA1LCAweGUzLCAweDlkLCAweDI0LCAweDdlLCAweDY0LCAweDAxLCAweDAwLCAweDJlLCAweDY3LCAweDAxLCAweGMxLCAweDllLCAweDI0LCAKLSAgICAweDAwLCAweDAyLCAweDQwLCAweDE3LCAweDFiLCAweDM4LCAweDYwLCAweDBiLCAweDM1LCAweDEyLCAweDY1LCAweGZiLCAweDdlLCAweDM0LCAweDAxLCAweGUzLCAKLSAgICAweDdkLCAweDI0LCAweDJkLCAweDQzLCAweDdhLCAweDQ3LCAweDAxLCAweGRmLCAweDAyLCAweDY1LCAweGZiLCAweDdhLCAweDM5LCAweGMwLCAweDdlLCAweDM0LCAKLSAgICAweDAxLCAweGUzLCAweDdhLCAweDM5LCAweGQwLCAweDBiLCAweDM0LCAweDFiLCAweDQ0LCAweDgwLCAweGU1LCAweDlkLCAweDMyLCAweDdjLCAweGI2LCAweDU0LCAKLSAgICAweDBmLCAweDIzLCAweDIzLCAweDIzLCAweDQ0LCAweDAxLCAweDdhLCAweDY5LCAweGIwLCAweDdhLCAweDc5LCAweDcwLCAweDBiLCAweDM1LCAweDc1LCAweDMxLCAKLSAgICAweDkzLCAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweDcxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweGJkLCAweDA0LCAweDY4LCAweDI5LCAweDdhLCAweDA3LCAKLSAgICAweDAxLCAweGRmLCAweDdlLCAweDQ3LCAweDAxLCAweGUxLCAweDJkLCAweDQzLCAweDdhLCAweDQ3LCAweDAxLCAweGUxLCAweDJlLCAweDM1LCAweDQ2LCAweDdhLCAKLSAgICAweDM1LCAweDQ2LCAweDIyLCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweDIwLCAweGUwLCAweDEzLCAweDIyLCAweDdlLCAweDA0LCAweDAxLCAweGUzLCAweDgwLCAKLSAgICAweDJhLCAweDdlLCAweDA0LCAweDAxLCAweGUzLCAweDgwLCAweDJjLCAweDdlLCAweDA0LCAweDAxLCAweGUzLCAweDgwLCAweGQxLCAweGQyLCAweDA0LCAweDdlLCAKLSAgICAweDA3LCAweDAxLCAweGUxLCAweDdlLCAweDI0LCAweDAzLCAweGZlLCAweDlkLCAweDIwLCAweDI4LCAweDQwLCAweDdlLCAweDA3LCAweDAxLCAweGRmLCAweDdlLCAKLSAgICAweDQ0LCAweDA1LCAweGUzLCAweDdkLCAweDYwLCAweDBiLCAweDA0LCAweGJkLCAweDA0LCAweDY4LCAweGQwLCAweDdkLCAweDcwLCAweDBiLCAweDA0LCAweGJkLCAKLSAgICAweDA0LCAweDY4LCAweGNlLCAweDdkLCAweDU0LCAweDlkLCAweDUwLCAweGJkLCAweDI1LCAweDQwLCAweDAyLCAweDdkLCAweDI1LCAweDdkLCAweDMyLCAweDA5LCAKLSAgICAweGIxLCAweDAwLCAweDE0LCAweGNhLCAweGI4LCAweDU0LCAweDFmLCAweGI0LCAweDAxLCAweDMxLCAweGRhLCAweGI4LCAweDdlLCAweDE5LCAweGIwLCAweDdhLCAKLSAgICAweDA5LCAweGIwLCAweDBiLCAweDA0LCAweDFiLCAweDI0LCAweDc4LCAweGU3LCAweDAyLCAweDRiLCAweDNiLCAweDc1LCAweDMxLCAweDk5LCAweDEyLCAweDdjLCAKLSAgICAweDE1LCAweDA5LCAweGIxLCAweDAwLCAweDA0LCAweDU0LCAweGZhLCAweDE5LCAweGIxLCAweDAwLCAweDA0LCAweDMwLCAweDM5LCAweDBhLCAweDA5LCAweGIxLCAKLSAgICAweDAwLCAweDEwLCAweDU0LCAweGZlLCAweDE5LCAweGIxLCAweDAwLCAweDEwLCAweGQyLCAweDExLCAweDIyLCAweGRhLCAweGI4LCAweDMwLCAweGUwLCAweGQ4LCAKLSAgICAweGJkLCAweDMyLCAweDY4LCAweDA3LCAweGNhLCAweGI4LCAweDEyLCAweDRiLCAweDNiLCAweGRhLCAweGI4LCAweDAyLCAweDRjLCAweDg4LCAweDA5LCAweGIxLCAKLSAgICAweDAwLCAweDE4LCAweDdlLCAweGEwLCAweDg4LCAweDc1LCAweDMxLCAweDkwLCAweDEyLCAweDdjLCAweDE1LCAweGY1LCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAKLSAgICAweGE1LCAweGZjLCAweDVlLCAweGIwLCAweGYwLCAweGE1LCAweGZkLCAweDA5LCAweGIxLCAweDAwLCAweDE4LCAweDRjLCAweDRiLCAweDVlLCAweGIwLCAweGYwLCAKLSAgICAweGJjLCAweGI1LCAweDc4LCAweGYxLCAweDVlLCAweDQwLCAweDBmLCAweDRjLCAweDU0LCAweDdjLCAweGI1LCAweDVlLCAweDUwLCAweDBiLCAweDY4LCAweDJhLCAKLSAgICAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDEwLCAweDY4LCAweDA0LCAweGQyLCAweDY5LCAweDgwLCAweDAyLCAweGMyLCAweDY5LCAweGE1LCAweGZkLCAweDVlLCAKLSAgICAweDUwLCAweDIwLCAweDY4LCAweDA0LCAweGQyLCAweDYxLCAweDgwLCAweDAyLCAweGMyLCAweDYxLCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDgwLCAweDY4LCAKLSAgICAweDA0LCAweGQyLCAweDU5LCAweDgwLCAweDAyLCAweGMyLCAweDU5LCAweDEyLCAweDQyLCAweGU5LCAweDAyLCAweDYyLCAweDkzLCAweDc1LCAweDMxLCAweDkxLCAKLSAgICAweDEyLCAweDdjLCAweDE1LCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweDdhLCAweGIxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweDIwLCAweGUwLCAweDA4LCAKLSAgICAweGQyLCAweDA0LCAweDdlLCAweGEwLCAweDgwLCAweDAyLCAweDYyLCAweDkzLCAweGQyLCAweDA0LCAweDMwLCAweGUxLCAweDA2LCAweDdlLCAweGEwLCAweDgwLCAKLSAgICAweDEyLCAweDYyLCAweDkzLCAweGNhLCAweGI4LCAweDVlLCAweGIwLCAweDFjLCAweGRhLCAweGI4LCAweDY4LCAweDEyLCAweDdlLCAweGEwLCAweGMwLCAweDA5LCAKLSAgICAweDYxLCAweDAwLCAweDAwLCAweDEyLCAweDYyLCAweGI2LCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweDIwLCAweGUwLCAweGRiLCAweDIyLCAweDAyLCAweDRiLCAKLSAgICAweDhkLCAweDc1LCAweDMxLCAweDk1LCAweDEyLCAweDdjLCAweDE1LCAweDIyLCAweDc1LCAweDMxLCAweDk2LCAweDEyLCAweDdjLCAweDE1LCAweDIyLCAweDEwLCAKLSAgICAweDBhLCAweDAxLCAweDIyLCAweDIwLCAweDJhLCAweDAzLCAweGQyLCAweDBhLCAweDIyLCAweDc1LCAweDMxLCAweGEyLCAweDEyLCAweDdjLCAweDE1LCAweDdlLCAKLSAgICAweDE0LCAweDgyLCAweDAwLCAweDgwLCAweDA2LCAweDIwLCAweDJhLCAweDAzLCAweGQyLCAweDBhLCAweDIyLCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweGNhLCAKLSAgICAweGI4LCAweDVlLCAweGIwLCAweDFlLCAweGRhLCAweGI4LCAweDY4LCAweDAzLCAweDEyLCAweDRmLCAweGUwLCAweDIwLCAweGU2LCAweDAzLCAweGQyLCAweDBhLCAKLSAgICAweDIyLCAweDMwLCAweDMyLCAweDQ5LCAweGQyLCAweDcyLCAweDdlLCAweDM3LCAweDAxLCAweDkzLCAweDdlLCAweDI3LCAweDAxLCAweGIzLCAweDlkLCAweDMyLCAKLSAgICAweDQwLCAweDMxLCAweDdkLCAweDAyLCAweDJlLCAweDA1LCAweDRjLCAweDdhLCAweDA1LCAweDRjLCAweDdhLCAweDM3LCAweDAxLCAweDkzLCAweDdlLCAweDM3LCAKLSAgICAweDAxLCAweDczLCAweDdkLCAweDQzLCAweDJkLCAweDQyLCAweGJlLCAweDQ0LCAweDE1LCAweGUyLCAweDM4LCAweDY4LCAweDdhLCAweDQ3LCAweDAxLCAweDczLCAKLSAgICAweDc1LCAweDMxLCAweDk0LCAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweDUxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweDEyLCAweDY1LCAweDJiLCAweDEwLCAKLSAgICAweDcyLCAweGM0LCAweDIyLCAweGMyLCAweDcyLCAweDJkLCAweDIzLCAweDY4LCAweDc4LCAweDZkLCAweDMzLCAweDgwLCAweDFhLCAweDdlLCAweDI3LCAweDAxLCAKLSAgICAweDkzLCAweGJlLCAweDI0LCAweDAwLCAweDAwLCAweDY4LCAweDZhLCAweGJlLCAweDI3LCAweDAxLCAweGIzLCAweDI4LCAweDA0LCAweDdlLCAweDI3LCAweDAxLCAKLSAgICAweGIzLCAweDdlLCAweDM3LCAweDAxLCAweDkzLCAweDlkLCAweDMyLCAweDdkLCAweDAyLCAweDJlLCAweDA1LCAweDRjLCAweDdhLCAweDA1LCAweDRjLCAweDdhLCAKLSAgICAweDM3LCAweDAxLCAweDkzLCAweDdlLCAweDM3LCAweDAxLCAweDczLCAweDdkLCAweDQzLCAweDJkLCAweDQyLCAweGJlLCAweDQ0LCAweDE1LCAweGUyLCAweDM4LCAKLSAgICAweDEzLCAweDdhLCAweDQ3LCAweDAxLCAweDczLCAweDc1LCAweDMxLCAweDk0LCAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweDUxLCAweDMxLCAweDEyLCAweDdjLCAKLSAgICAweDE1LCAweDAyLCAweDY1LCAweDJiLCAweDc1LCAweDMxLCAweDk0LCAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweDUxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAKLSAgICAweDllLCAweDQ0LCAweDE1LCAweGUzLCAweDlkLCAweDI0LCAweDEyLCAweDY1LCAweDJiLCAweDdlLCAweDM0LCAweDExLCAweGUzLCAweDdkLCAweDI0LCAweDJkLCAKLSAgICAweDQzLCAweDdhLCAweDQ3LCAweDAxLCAweDczLCAweDEyLCAweDY1LCAweDJiLCAweGJlLCAweDI1LCAweDIwLCAweDc4LCAweDAzLCAweDAyLCAweDRkLCAweDJmLCAKLSAgICAweDIyLCAweGQyLCAweDBhLCAweDdlLCAweDA0LCAweDExLCAweGUzLCAweDdhLCAweDA3LCAweDAxLCAweDczLCAweDdhLCAweDA3LCAweDAxLCAweDgzLCAweDc1LCAKLSAgICAweDMxLCAweDk0LCAweDEyLCAweDdjLCAweDE1LCAweDc1LCAweDMxLCAweDAwLCAweDEyLCAweDdjLCAweDE1LCAweDIyLCAweDc1LCAweDMxLCAweDkyLCAweDEyLCAKLSAgICAweDdjLCAweDE1LCAweGQyLCAweDA0LCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweGNhLCAweGI4LCAweDU0LCAweDgyLCAweGRhLCAweGI4LCAweDc4LCAweDcwLCAKLSAgICAweDdlLCAweDM3LCAweDAxLCAweGUxLCAweDdlLCAweDI3LCAweDAxLCAweGMzLCAweDJlLCAweDI0LCAweDAwLCAweDAyLCAweDJkLCAweDMyLCAweGJlLCAweDM0LCAKLSAgICAweDA0LCAweDAwLCAweDM4LCAweDNjLCAweDdkLCAweDAyLCAweDJlLCAweDA1LCAweDQ2LCAweDdhLCAweDA1LCAweDQ2LCAweDdhLCAweDM3LCAweDAxLCAweGUxLCAKLSAgICAweDdlLCAweDM3LCAweDAxLCAweGRmLCAweDdkLCAweDQzLCAweDJkLCAweDQyLCAweGJlLCAweDQ0LCAweDA1LCAweGUyLCAweDM4LCAweDQ0LCAweDdhLCAweDQ3LCAKLSAgICAweDAxLCAweGRmLCAweDdlLCAweDI0LCAweDAyLCAweDAwLCAweDJlLCAweDI3LCAweDAxLCAweGMzLCAweDFiLCAweDM4LCAweDIwLCAweDBiLCAweDM1LCAweDdhLCAKLSAgICAweDUxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweGJlLCAweDUwLCAweDM4LCAweDc4LCAweDAzLCAweDAyLCAweDY2LCAweDE2LCAweDAyLCAweDY1LCAweGZiLCAKLSAgICAweDc1LCAweDMxLCAweDk5LCAweDEyLCAweDdjLCAweDE1LCAweDA5LCAweGIxLCAweDAwLCAweDA0LCAweDU0LCAweGZhLCAweDE5LCAweGIxLCAweDAwLCAweDA0LCAKLSAgICAweDMwLCAweDNhLCAweDBhLCAweDA5LCAweGIxLCAweDAwLCAweDEwLCAweDU0LCAweGZlLCAweDE5LCAweGIxLCAweDAwLCAweDEwLCAweGQyLCAweDEyLCAweDIyLCAKLSAgICAweDgwLCAweDdkLCAweDdhLCAweDUxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweDllLCAweDQ0LCAweDA1LCAweGUzLCAweDlkLCAweDI0LCAweDdlLCAweDY0LCAKLSAgICAweDAyLCAweDAwLCAweDJlLCAweDY3LCAweDAxLCAweGMzLCAweDllLCAweDI0LCAweDAwLCAweDAyLCAweDQwLCAweDE3LCAweDFiLCAweDM4LCAweDYwLCAweDBiLCAKLSAgICAweDM1LCAweDEyLCAweDY1LCAweGZiLCAweDdlLCAweDM0LCAweDAxLCAweGUzLCAweDdkLCAweDI0LCAweDJkLCAweDQzLCAweDdhLCAweDQ3LCAweDAxLCAweGRmLCAKLSAgICAweDAyLCAweDY1LCAweGZiLCAweDdhLCAweDM5LCAweGMwLCAweDdlLCAweDM0LCAweDAxLCAweGUzLCAweDdhLCAweDM5LCAweGQwLCAweDBiLCAweDM0LCAweDFiLCAKLSAgICAweDQ0LCAweDgwLCAweGU1LCAweDlkLCAweDMyLCAweDdjLCAweGI2LCAweDU0LCAweDBmLCAweDIzLCAweDIzLCAweDIzLCAweDQ0LCAweDAyLCAweDdhLCAweDY5LCAKLSAgICAweGIwLCAweDdhLCAweDc5LCAweDcwLCAweDBiLCAweDM1LCAweDc1LCAweDMxLCAweDkzLCAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweDcxLCAweDMxLCAweDEyLCAKLSAgICAweDdjLCAweDE1LCAweGJkLCAweDA0LCAweDY4LCAweDI5LCAweDdhLCAweDA3LCAweDAxLCAweGRmLCAweDdlLCAweDQ3LCAweDAxLCAweGUxLCAweDJkLCAweDQzLCAKLSAgICAweDdhLCAweDQ3LCAweDAxLCAweGUxLCAweDJlLCAweDM1LCAweDQ2LCAweDdhLCAweDM1LCAweDQ2LCAweDIyLCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweDIwLCAKLSAgICAweGUwLCAweDEzLCAweDIyLCAweDdlLCAweDA0LCAweDAxLCAweGUzLCAweDgwLCAweDJhLCAweDdlLCAweDA0LCAweDAxLCAweGUzLCAweDgwLCAweDJjLCAweDdlLCAKLSAgICAweDA0LCAweDAxLCAweGUzLCAweDgwLCAweGQxLCAweGQyLCAweDA0LCAweDdlLCAweDA3LCAweDAxLCAweGUxLCAweDdlLCAweDI0LCAweDAzLCAweGZlLCAweDlkLCAKLSAgICAweDIwLCAweDI4LCAweDQwLCAweDdlLCAweDA3LCAweDAxLCAweGRmLCAweDdlLCAweDQ0LCAweDA1LCAweGUzLCAweDdkLCAweDYwLCAweDBiLCAweDA0LCAweGJkLCAKLSAgICAweDA0LCAweDY4LCAweGQwLCAweDdkLCAweDcwLCAweDBiLCAweDA0LCAweGJkLCAweDA0LCAweDY4LCAweGNlLCAweDdkLCAweDU0LCAweDlkLCAweDUwLCAweGJkLCAKLSAgICAweDI1LCAweDQwLCAweDAyLCAweDdkLCAweDI1LCAweDdkLCAweDMyLCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweGNhLCAweGI4LCAweDU0LCAweDFmLCAweGI0LCAKLSAgICAweDAxLCAweDMxLCAweGRhLCAweGI4LCAweDdlLCAweDE5LCAweGIwLCAweDdhLCAweDA5LCAweGIwLCAweDBiLCAweDA0LCAweDFiLCAweDI0LCAweDc4LCAweGU3LCAKLSAgICAweDAyLCAweDRlLCAweDkzLCAweDc1LCAweDMxLCAweDk5LCAweDEyLCAweDdjLCAweDE1LCAweDA5LCAweGIxLCAweDAwLCAweDA0LCAweDU0LCAweGZhLCAweDE5LCAKLSAgICAweGIxLCAweDAwLCAweDA0LCAweDMwLCAweDNhLCAweDBhLCAweDA5LCAweGIxLCAweDAwLCAweDEwLCAweDU0LCAweGZlLCAweDE5LCAweGIxLCAweDAwLCAweDEwLCAKLSAgICAweGQyLCAweDEyLCAweDIyLCAweGRhLCAweGI4LCAweDMwLCAweGUwLCAweGQ4LCAweGJkLCAweDMyLCAweDY4LCAweDA3LCAweGNhLCAweGI4LCAweDEyLCAweDRlLCAKLSAgICAweDkzLCAweGRhLCAweGI4LCAweDAyLCAweDRmLCAweGUwLCAweDA5LCAweGIxLCAweDAwLCAweDE4LCAweDdlLCAweGEwLCAweDg4LCAweDc1LCAweDMxLCAweDkwLCAKLSAgICAweDEyLCAweDdjLCAweDE1LCAweGY1LCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweGE1LCAweGZjLCAweDVlLCAweGIwLCAweGYwLCAweGE1LCAweGZkLCAweDA5LCAKLSAgICAweGIxLCAweDAwLCAweDE4LCAweDRjLCAweDRiLCAweDVlLCAweGIwLCAweGYwLCAweGJjLCAweGI1LCAweDc4LCAweGYxLCAweDVlLCAweDQwLCAweDBmLCAweDRjLCAKLSAgICAweDU0LCAweDdjLCAweGI1LCAweDVlLCAweDUwLCAweDBiLCAweDY4LCAweDJhLCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDEwLCAweDY4LCAweDA0LCAweGQyLCAKLSAgICAweDZhLCAweDgwLCAweDAyLCAweGMyLCAweDZhLCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDIwLCAweDY4LCAweDA0LCAweGQyLCAweDYyLCAweDgwLCAweDAyLCAKLSAgICAweGMyLCAweDYyLCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDgwLCAweDY4LCAweDA0LCAweGQyLCAweDVhLCAweDgwLCAweDAyLCAweGMyLCAweDVhLCAweDEyLCAKLSAgICAweDQzLCAweDBhLCAweDAyLCAweDYyLCAweDkzLCAweDc1LCAweDMxLCAweDkxLCAweDEyLCAweDdjLCAweDE1LCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweDdhLCAKLSAgICAweGIxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweDIwLCAweGUwLCAweDA4LCAweGQyLCAweDA0LCAweDdlLCAweGEwLCAweDgwLCAweDAyLCAweDYyLCAweDkzLCAKLSAgICAweGQyLCAweDA0LCAweDMwLCAweGUxLCAweDA2LCAweDdlLCAweGEwLCAweDgwLCAweDEyLCAweDYyLCAweDkzLCAweGNhLCAweGI4LCAweDVlLCAweGIwLCAweDFjLCAKLSAgICAweGRhLCAweGI4LCAweDY4LCAweDEyLCAweDdlLCAweGEwLCAweGMwLCAweDA5LCAweDYxLCAweDAwLCAweDAwLCAweDEyLCAweDYyLCAweGI2LCAweDA5LCAweGIxLCAKLSAgICAweDAwLCAweDE0LCAweDIwLCAweGUwLCAweGRiLCAweDIyLCAweDAyLCAweDRlLCAweGU1LCAweDc1LCAweDMxLCAweDk1LCAweDEyLCAweDdjLCAweDE1LCAweDIyLCAKLSAgICAweDc1LCAweDMxLCAweDk2LCAweDEyLCAweDdjLCAweDE1LCAweDIyLCAweDEwLCAweDBiLCAweDAxLCAweDIyLCAweDIwLCAweDJiLCAweDAzLCAweGQyLCAweDBiLCAKLSAgICAweDIyLCAweDc1LCAweDMxLCAweGEzLCAweDEyLCAweDdjLCAweDE1LCAweDdlLCAweDE0LCAweDgzLCAweDAwLCAweDgwLCAweDA2LCAweDIwLCAweDJiLCAweDAzLCAKLSAgICAweGQyLCAweDBiLCAweDIyLCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweGNhLCAweGI4LCAweDVlLCAweGIwLCAweDFlLCAweGRhLCAweGI4LCAweDY4LCAweDAzLCAKLSAgICAweDEyLCAweDUzLCAweDM4LCAweDIwLCAweGU2LCAweDAzLCAweGQyLCAweDBiLCAweDIyLCAweDMwLCAweDMzLCAweDQ5LCAweGQyLCAweDczLCAweDdlLCAweDM3LCAKLSAgICAweDAxLCAweDk1LCAweDdlLCAweDI3LCAweDAxLCAweGI1LCAweDlkLCAweDMyLCAweDQwLCAweDMxLCAweDdkLCAweDAyLCAweDJlLCAweDA1LCAweDRlLCAweDdhLCAKLSAgICAweDA1LCAweDRlLCAweDdhLCAweDM3LCAweDAxLCAweDk1LCAweDdlLCAweDM3LCAweDAxLCAweDc1LCAweDdkLCAweDQzLCAweDJkLCAweDQyLCAweGJlLCAweDQ0LCAKLSAgICAweDE5LCAweGUyLCAweDM4LCAweDY4LCAweDdhLCAweDQ3LCAweDAxLCAweDc1LCAweDc1LCAweDMxLCAweDk0LCAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweDUxLCAKLSAgICAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweDEyLCAweDY1LCAweDJiLCAweDEwLCAweDczLCAweGM0LCAweDIyLCAweGMyLCAweDczLCAweDJkLCAweDIzLCAweDY4LCAKLSAgICAweDc4LCAweDZkLCAweDMzLCAweDgwLCAweDFhLCAweDdlLCAweDI3LCAweDAxLCAweDk1LCAweGJlLCAweDI0LCAweDAwLCAweDAwLCAweDY4LCAweDZhLCAweGJlLCAKLSAgICAweDI3LCAweDAxLCAweGI1LCAweDI4LCAweDA0LCAweDdlLCAweDI3LCAweDAxLCAweGI1LCAweDdlLCAweDM3LCAweDAxLCAweDk1LCAweDlkLCAweDMyLCAweDdkLCAKLSAgICAweDAyLCAweDJlLCAweDA1LCAweDRlLCAweDdhLCAweDA1LCAweDRlLCAweDdhLCAweDM3LCAweDAxLCAweDk1LCAweDdlLCAweDM3LCAweDAxLCAweDc1LCAweDdkLCAKLSAgICAweDQzLCAweDJkLCAweDQyLCAweGJlLCAweDQ0LCAweDE5LCAweGUyLCAweDM4LCAweDEzLCAweDdhLCAweDQ3LCAweDAxLCAweDc1LCAweDc1LCAweDMxLCAweDk0LCAKLSAgICAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweDUxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweDAyLCAweDY1LCAweDJiLCAweDc1LCAweDMxLCAweDk0LCAweDEyLCAKLSAgICAweDdjLCAweDE1LCAweDdhLCAweDUxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweDllLCAweDQ0LCAweDE5LCAweGUzLCAweDlkLCAweDI0LCAweDEyLCAweDY1LCAKLSAgICAweDJiLCAweDdlLCAweDM0LCAweDE1LCAweGUzLCAweDdkLCAweDI0LCAweDJkLCAweDQzLCAweDdhLCAweDQ3LCAweDAxLCAweDc1LCAweDEyLCAweDY1LCAweDJiLCAKLSAgICAweGJlLCAweDI1LCAweDIwLCAweDc4LCAweDAzLCAweDAyLCAweDUwLCAweDg3LCAweDIyLCAweGQyLCAweDBiLCAweDdlLCAweDA0LCAweDE1LCAweGUzLCAweDdhLCAKLSAgICAweDA3LCAweDAxLCAweDc1LCAweDdhLCAweDA3LCAweDAxLCAweDg1LCAweDc1LCAweDMxLCAweDk0LCAweDEyLCAweDdjLCAweDE1LCAweDc1LCAweDMxLCAweDAwLCAKLSAgICAweDEyLCAweDdjLCAweDE1LCAweDIyLCAweDc1LCAweDMxLCAweDkyLCAweDEyLCAweDdjLCAweDE1LCAweGQyLCAweDA0LCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAKLSAgICAweGNhLCAweGI4LCAweDU0LCAweDgyLCAweGRhLCAweGI4LCAweDc4LCAweDcwLCAweDdlLCAweDM3LCAweDAxLCAweGUxLCAweDdlLCAweDI3LCAweDAxLCAweGM1LCAKLSAgICAweDJlLCAweDI0LCAweDAwLCAweDAyLCAweDJkLCAweDMyLCAweGJlLCAweDM0LCAweDA0LCAweDAwLCAweDM4LCAweDNjLCAweDdkLCAweDAyLCAweDJlLCAweDA1LCAKLSAgICAweDQ2LCAweDdhLCAweDA1LCAweDQ2LCAweDdhLCAweDM3LCAweDAxLCAweGUxLCAweDdlLCAweDM3LCAweDAxLCAweGRmLCAweDdkLCAweDQzLCAweDJkLCAweDQyLCAKLSAgICAweGJlLCAweDQ0LCAweDA1LCAweGUyLCAweDM4LCAweDQ0LCAweDdhLCAweDQ3LCAweDAxLCAweGRmLCAweDdlLCAweDI0LCAweDAzLCAweDAwLCAweDJlLCAweDI3LCAKLSAgICAweDAxLCAweGM1LCAweDFiLCAweDM4LCAweDIwLCAweDBiLCAweDM1LCAweDdhLCAweDUxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweGJlLCAweDUwLCAweDM4LCAKLSAgICAweDc4LCAweDAzLCAweDAyLCAweDY2LCAweDE2LCAweDAyLCAweDY1LCAweGZiLCAweDc1LCAweDMxLCAweDk5LCAweDEyLCAweDdjLCAweDE1LCAweDA5LCAweGIxLCAKLSAgICAweDAwLCAweDA0LCAweDU0LCAweGZhLCAweDE5LCAweGIxLCAweDAwLCAweDA0LCAweDMwLCAweDNiLCAweDBhLCAweDA5LCAweGIxLCAweDAwLCAweDEwLCAweDU0LCAKLSAgICAweGZlLCAweDE5LCAweGIxLCAweDAwLCAweDEwLCAweGQyLCAweDEzLCAweDIyLCAweDgwLCAweDdkLCAweDdhLCAweDUxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAKLSAgICAweDllLCAweDQ0LCAweDA1LCAweGUzLCAweDlkLCAweDI0LCAweDdlLCAweDY0LCAweDAzLCAweDAwLCAweDJlLCAweDY3LCAweDAxLCAweGM1LCAweDllLCAweDI0LCAKLSAgICAweDAwLCAweDAyLCAweDQwLCAweDE3LCAweDFiLCAweDM4LCAweDYwLCAweDBiLCAweDM1LCAweDEyLCAweDY1LCAweGZiLCAweDdlLCAweDM0LCAweDAxLCAweGUzLCAKLSAgICAweDdkLCAweDI0LCAweDJkLCAweDQzLCAweDdhLCAweDQ3LCAweDAxLCAweGRmLCAweDAyLCAweDY1LCAweGZiLCAweDdhLCAweDM5LCAweGMwLCAweDdlLCAweDM0LCAKLSAgICAweDAxLCAweGUzLCAweDdhLCAweDM5LCAweGQwLCAweDBiLCAweDM0LCAweDFiLCAweDQ0LCAweDgwLCAweGU1LCAweDlkLCAweDMyLCAweDdjLCAweGI2LCAweDU0LCAKLSAgICAweDBmLCAweDIzLCAweDIzLCAweDIzLCAweDQ0LCAweDAzLCAweDdhLCAweDY5LCAweGIwLCAweDdhLCAweDc5LCAweDcwLCAweDBiLCAweDM1LCAweDc1LCAweDMxLCAKLSAgICAweDkzLCAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweDcxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweGJkLCAweDA0LCAweDY4LCAweDI5LCAweDdhLCAweDA3LCAKLSAgICAweDAxLCAweGRmLCAweDdlLCAweDQ3LCAweDAxLCAweGUxLCAweDJkLCAweDQzLCAweDdhLCAweDQ3LCAweDAxLCAweGUxLCAweDJlLCAweDM1LCAweDQ2LCAweDdhLCAKLSAgICAweDM1LCAweDQ2LCAweDIyLCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweDIwLCAweGUwLCAweDEzLCAweDIyLCAweDdlLCAweDA0LCAweDAxLCAweGUzLCAweDgwLCAKLSAgICAweDJhLCAweDdlLCAweDA0LCAweDAxLCAweGUzLCAweDgwLCAweDJjLCAweDdlLCAweDA0LCAweDAxLCAweGUzLCAweDgwLCAweGQxLCAweGQyLCAweDA0LCAweDdlLCAKLSAgICAweDA3LCAweDAxLCAweGUxLCAweDdlLCAweDI0LCAweDAzLCAweGZlLCAweDlkLCAweDIwLCAweDI4LCAweDQwLCAweDdlLCAweDA3LCAweDAxLCAweGRmLCAweDdlLCAKLSAgICAweDQ0LCAweDA1LCAweGUzLCAweDdkLCAweDYwLCAweDBiLCAweDA0LCAweGJkLCAweDA0LCAweDY4LCAweGQwLCAweDdkLCAweDcwLCAweDBiLCAweDA0LCAweGJkLCAKLSAgICAweDA0LCAweDY4LCAweGNlLCAweDdkLCAweDU0LCAweDlkLCAweDUwLCAweGJkLCAweDI1LCAweDQwLCAweDAyLCAweDdkLCAweDI1LCAweDdkLCAweDMyLCAweDA5LCAKLSAgICAweGIxLCAweDAwLCAweDE0LCAweGNhLCAweGI4LCAweDU0LCAweDFmLCAweGI0LCAweDAxLCAweDMxLCAweGRhLCAweGI4LCAweDdlLCAweDE5LCAweGIwLCAweDdhLCAKLSAgICAweDA5LCAweGIwLCAweDBiLCAweDA0LCAweDFiLCAweDI0LCAweDc4LCAweGU3LCAweDAyLCAweDUxLCAweGViLCAweDc1LCAweDMxLCAweDk5LCAweDEyLCAweDdjLCAKLSAgICAweDE1LCAweDA5LCAweGIxLCAweDAwLCAweDA0LCAweDU0LCAweGZhLCAweDE5LCAweGIxLCAweDAwLCAweDA0LCAweDMwLCAweDNiLCAweDBhLCAweDA5LCAweGIxLCAKLSAgICAweDAwLCAweDEwLCAweDU0LCAweGZlLCAweDE5LCAweGIxLCAweDAwLCAweDEwLCAweGQyLCAweDEzLCAweDIyLCAweGRhLCAweGI4LCAweDMwLCAweGUwLCAweGQ4LCAKLSAgICAweGJkLCAweDMyLCAweDY4LCAweDA3LCAweGNhLCAweGI4LCAweDEyLCAweDUxLCAweGViLCAweGRhLCAweGI4LCAweDAyLCAweDUzLCAweDM4LCAweDA5LCAweGIxLCAKLSAgICAweDAwLCAweDE4LCAweDdlLCAweGEwLCAweDg4LCAweDc1LCAweDMxLCAweDkwLCAweDEyLCAweDdjLCAweDE1LCAweGY1LCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAKLSAgICAweGE1LCAweGZjLCAweDVlLCAweGIwLCAweGYwLCAweGE1LCAweGZkLCAweDA5LCAweGIxLCAweDAwLCAweDE4LCAweDRjLCAweDRiLCAweDVlLCAweGIwLCAweGYwLCAKLSAgICAweGJjLCAweGI1LCAweDc4LCAweGYxLCAweDVlLCAweDQwLCAweDBmLCAweDRjLCAweDU0LCAweDdjLCAweGI1LCAweDVlLCAweDUwLCAweDBiLCAweDY4LCAweDJhLCAKLSAgICAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDEwLCAweDY4LCAweDA0LCAweGQyLCAweDZiLCAweDgwLCAweDAyLCAweGMyLCAweDZiLCAweGE1LCAweGZkLCAweDVlLCAKLSAgICAweDUwLCAweDIwLCAweDY4LCAweDA0LCAweGQyLCAweDYzLCAweDgwLCAweDAyLCAweGMyLCAweDYzLCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDgwLCAweDY4LCAKLSAgICAweDA0LCAweGQyLCAweDViLCAweDgwLCAweDAyLCAweGMyLCAweDViLCAweDEyLCAweDQzLCAweDJiLCAweDAyLCAweDYyLCAweDkzLCAweDc1LCAweDMxLCAweDkxLCAKLSAgICAweDEyLCAweDdjLCAweDE1LCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweDdhLCAweGIxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweDIwLCAweGUwLCAweDA4LCAKLSAgICAweGQyLCAweDA0LCAweDdlLCAweGEwLCAweDgwLCAweDAyLCAweDYyLCAweDkzLCAweGQyLCAweDA0LCAweDMwLCAweGUxLCAweDA2LCAweDdlLCAweGEwLCAweDgwLCAKLSAgICAweDEyLCAweDYyLCAweDkzLCAweGNhLCAweGI4LCAweDVlLCAweGIwLCAweDFjLCAweGRhLCAweGI4LCAweDY4LCAweDEyLCAweDdlLCAweGEwLCAweGMwLCAweDA5LCAKLSAgICAweDYxLCAweDAwLCAweDAwLCAweDEyLCAweDYyLCAweGI2LCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweDIwLCAweGUwLCAweGRiLCAweDIyLCAweDAyLCAweDUyLCAKLSAgICAweDNkLCAweDc1LCAweDMxLCAweDk1LCAweDEyLCAweDdjLCAweDE1LCAweDIyLCAweDc1LCAweDMxLCAweDk2LCAweDEyLCAweDdjLCAweDE1LCAweDIyLCAweDEwLCAKLSAgICAweDBjLCAweDAxLCAweDIyLCAweDIwLCAweDJjLCAweDAzLCAweGQyLCAweDBjLCAweDIyLCAweDc1LCAweDMxLCAweGE0LCAweDEyLCAweDdjLCAweDE1LCAweDdlLCAKLSAgICAweDE0LCAweDg0LCAweDAwLCAweDgwLCAweDA2LCAweDIwLCAweDJjLCAweDAzLCAweGQyLCAweDBjLCAweDIyLCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweGNhLCAKLSAgICAweGI4LCAweDVlLCAweGIwLCAweDFlLCAweGRhLCAweGI4LCAweDY4LCAweDAzLCAweDEyLCAweDU2LCAweDkwLCAweDIwLCAweGU2LCAweDAzLCAweGQyLCAweDBjLCAKLSAgICAweDIyLCAweDMwLCAweDM0LCAweDQ5LCAweGQyLCAweDc0LCAweDdlLCAweDM3LCAweDAxLCAweDk3LCAweDdlLCAweDI3LCAweDAxLCAweGI3LCAweDlkLCAweDMyLCAKLSAgICAweDQwLCAweDMxLCAweDdkLCAweDAyLCAweDJlLCAweDA1LCAweDUwLCAweDdhLCAweDA1LCAweDUwLCAweDdhLCAweDM3LCAweDAxLCAweDk3LCAweDdlLCAweDM3LCAKLSAgICAweDAxLCAweDc3LCAweDdkLCAweDQzLCAweDJkLCAweDQyLCAweGJlLCAweDQ0LCAweDFkLCAweGUyLCAweDM4LCAweDY4LCAweDdhLCAweDQ3LCAweDAxLCAweDc3LCAKLSAgICAweDc1LCAweDMxLCAweDk0LCAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweDUxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweDEyLCAweDY1LCAweDJiLCAweDEwLCAKLSAgICAweDc0LCAweGM0LCAweDIyLCAweGMyLCAweDc0LCAweDJkLCAweDIzLCAweDY4LCAweDc4LCAweDZkLCAweDMzLCAweDgwLCAweDFhLCAweDdlLCAweDI3LCAweDAxLCAKLSAgICAweDk3LCAweGJlLCAweDI0LCAweDAwLCAweDAwLCAweDY4LCAweDZhLCAweGJlLCAweDI3LCAweDAxLCAweGI3LCAweDI4LCAweDA0LCAweDdlLCAweDI3LCAweDAxLCAKLSAgICAweGI3LCAweDdlLCAweDM3LCAweDAxLCAweDk3LCAweDlkLCAweDMyLCAweDdkLCAweDAyLCAweDJlLCAweDA1LCAweDUwLCAweDdhLCAweDA1LCAweDUwLCAweDdhLCAKLSAgICAweDM3LCAweDAxLCAweDk3LCAweDdlLCAweDM3LCAweDAxLCAweDc3LCAweDdkLCAweDQzLCAweDJkLCAweDQyLCAweGJlLCAweDQ0LCAweDFkLCAweGUyLCAweDM4LCAKLSAgICAweDEzLCAweDdhLCAweDQ3LCAweDAxLCAweDc3LCAweDc1LCAweDMxLCAweDk0LCAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweDUxLCAweDMxLCAweDEyLCAweDdjLCAKLSAgICAweDE1LCAweDAyLCAweDY1LCAweDJiLCAweDc1LCAweDMxLCAweDk0LCAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweDUxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAKLSAgICAweDllLCAweDQ0LCAweDFkLCAweGUzLCAweDlkLCAweDI0LCAweDEyLCAweDY1LCAweDJiLCAweDdlLCAweDM0LCAweDE5LCAweGUzLCAweDdkLCAweDI0LCAweDJkLCAKLSAgICAweDQzLCAweDdhLCAweDQ3LCAweDAxLCAweDc3LCAweDEyLCAweDY1LCAweDJiLCAweGJlLCAweDI1LCAweDIwLCAweDc4LCAweDAzLCAweDAyLCAweDUzLCAweGRmLCAKLSAgICAweDIyLCAweGQyLCAweDBjLCAweDdlLCAweDA0LCAweDE5LCAweGUzLCAweDdhLCAweDA3LCAweDAxLCAweDc3LCAweDdhLCAweDA3LCAweDAxLCAweDg3LCAweDc1LCAKLSAgICAweDMxLCAweDk0LCAweDEyLCAweDdjLCAweDE1LCAweDc1LCAweDMxLCAweDAwLCAweDEyLCAweDdjLCAweDE1LCAweDIyLCAweDc1LCAweDMxLCAweDkyLCAweDEyLCAKLSAgICAweDdjLCAweDE1LCAweGQyLCAweDA0LCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweGNhLCAweGI4LCAweDU0LCAweDgyLCAweGRhLCAweGI4LCAweDc4LCAweDcwLCAKLSAgICAweDdlLCAweDM3LCAweDAxLCAweGUxLCAweDdlLCAweDI3LCAweDAxLCAweGM3LCAweDJlLCAweDI0LCAweDAwLCAweDAyLCAweDJkLCAweDMyLCAweGJlLCAweDM0LCAKLSAgICAweDA0LCAweDAwLCAweDM4LCAweDNjLCAweDdkLCAweDAyLCAweDJlLCAweDA1LCAweDQ2LCAweDdhLCAweDA1LCAweDQ2LCAweDdhLCAweDM3LCAweDAxLCAweGUxLCAKLSAgICAweDdlLCAweDM3LCAweDAxLCAweGRmLCAweDdkLCAweDQzLCAweDJkLCAweDQyLCAweGJlLCAweDQ0LCAweDA1LCAweGUyLCAweDM4LCAweDQ0LCAweDdhLCAweDQ3LCAKLSAgICAweDAxLCAweGRmLCAweDdlLCAweDI0LCAweDA0LCAweDAwLCAweDJlLCAweDI3LCAweDAxLCAweGM3LCAweDFiLCAweDM4LCAweDIwLCAweDBiLCAweDM1LCAweDdhLCAKLSAgICAweDUxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweGJlLCAweDUwLCAweDM4LCAweDc4LCAweDAzLCAweDAyLCAweDY2LCAweDE2LCAweDAyLCAweDY1LCAweGZiLCAKLSAgICAweDc1LCAweDMxLCAweDk5LCAweDEyLCAweDdjLCAweDE1LCAweDA5LCAweGIxLCAweDAwLCAweDA0LCAweDU0LCAweGZhLCAweDE5LCAweGIxLCAweDAwLCAweDA0LCAKLSAgICAweDMwLCAweDNjLCAweDBhLCAweDA5LCAweGIxLCAweDAwLCAweDEwLCAweDU0LCAweGZlLCAweDE5LCAweGIxLCAweDAwLCAweDEwLCAweGQyLCAweDE0LCAweDIyLCAKLSAgICAweDgwLCAweDdkLCAweDdhLCAweDUxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweDllLCAweDQ0LCAweDA1LCAweGUzLCAweDlkLCAweDI0LCAweDdlLCAweDY0LCAKLSAgICAweDA0LCAweDAwLCAweDJlLCAweDY3LCAweDAxLCAweGM3LCAweDllLCAweDI0LCAweDAwLCAweDAyLCAweDQwLCAweDE3LCAweDFiLCAweDM4LCAweDYwLCAweDBiLCAKLSAgICAweDM1LCAweDEyLCAweDY1LCAweGZiLCAweDdlLCAweDM0LCAweDAxLCAweGUzLCAweDdkLCAweDI0LCAweDJkLCAweDQzLCAweDdhLCAweDQ3LCAweDAxLCAweGRmLCAKLSAgICAweDAyLCAweDY1LCAweGZiLCAweDdhLCAweDM5LCAweGMwLCAweDdlLCAweDM0LCAweDAxLCAweGUzLCAweDdhLCAweDM5LCAweGQwLCAweDBiLCAweDM0LCAweDFiLCAKLSAgICAweDQ0LCAweDgwLCAweGU1LCAweDlkLCAweDMyLCAweDdjLCAweGI2LCAweDU0LCAweDBmLCAweDIzLCAweDIzLCAweDIzLCAweDQ0LCAweDA0LCAweDdhLCAweDY5LCAKLSAgICAweGIwLCAweDdhLCAweDc5LCAweDcwLCAweDBiLCAweDM1LCAweDc1LCAweDMxLCAweDkzLCAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweDcxLCAweDMxLCAweDEyLCAKLSAgICAweDdjLCAweDE1LCAweGJkLCAweDA0LCAweDY4LCAweDI5LCAweDdhLCAweDA3LCAweDAxLCAweGRmLCAweDdlLCAweDQ3LCAweDAxLCAweGUxLCAweDJkLCAweDQzLCAKLSAgICAweDdhLCAweDQ3LCAweDAxLCAweGUxLCAweDJlLCAweDM1LCAweDQ2LCAweDdhLCAweDM1LCAweDQ2LCAweDIyLCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweDIwLCAKLSAgICAweGUwLCAweDEzLCAweDIyLCAweDdlLCAweDA0LCAweDAxLCAweGUzLCAweDgwLCAweDJhLCAweDdlLCAweDA0LCAweDAxLCAweGUzLCAweDgwLCAweDJjLCAweDdlLCAKLSAgICAweDA0LCAweDAxLCAweGUzLCAweDgwLCAweGQxLCAweGQyLCAweDA0LCAweDdlLCAweDA3LCAweDAxLCAweGUxLCAweDdlLCAweDI0LCAweDAzLCAweGZlLCAweDlkLCAKLSAgICAweDIwLCAweDI4LCAweDQwLCAweDdlLCAweDA3LCAweDAxLCAweGRmLCAweDdlLCAweDQ0LCAweDA1LCAweGUzLCAweDdkLCAweDYwLCAweDBiLCAweDA0LCAweGJkLCAKLSAgICAweDA0LCAweDY4LCAweGQwLCAweDdkLCAweDcwLCAweDBiLCAweDA0LCAweGJkLCAweDA0LCAweDY4LCAweGNlLCAweDdkLCAweDU0LCAweDlkLCAweDUwLCAweGJkLCAKLSAgICAweDI1LCAweDQwLCAweDAyLCAweDdkLCAweDI1LCAweDdkLCAweDMyLCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweGNhLCAweGI4LCAweDU0LCAweDFmLCAweGI0LCAKLSAgICAweDAxLCAweDMxLCAweGRhLCAweGI4LCAweDdlLCAweDE5LCAweGIwLCAweDdhLCAweDA5LCAweGIwLCAweDBiLCAweDA0LCAweDFiLCAweDI0LCAweDc4LCAweGU3LCAKLSAgICAweDAyLCAweDU1LCAweDQzLCAweDc1LCAweDMxLCAweDk5LCAweDEyLCAweDdjLCAweDE1LCAweDA5LCAweGIxLCAweDAwLCAweDA0LCAweDU0LCAweGZhLCAweDE5LCAKLSAgICAweGIxLCAweDAwLCAweDA0LCAweDMwLCAweDNjLCAweDBhLCAweDA5LCAweGIxLCAweDAwLCAweDEwLCAweDU0LCAweGZlLCAweDE5LCAweGIxLCAweDAwLCAweDEwLCAKLSAgICAweGQyLCAweDE0LCAweDIyLCAweGRhLCAweGI4LCAweDMwLCAweGUwLCAweGQ4LCAweGJkLCAweDMyLCAweDY4LCAweDA3LCAweGNhLCAweGI4LCAweDEyLCAweDU1LCAKLSAgICAweDQzLCAweGRhLCAweGI4LCAweDAyLCAweDU2LCAweDkwLCAweDA5LCAweGIxLCAweDAwLCAweDE4LCAweDdlLCAweGEwLCAweDg4LCAweDc1LCAweDMxLCAweDkwLCAKLSAgICAweDEyLCAweDdjLCAweDE1LCAweGY1LCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweGE1LCAweGZjLCAweDVlLCAweGIwLCAweGYwLCAweGE1LCAweGZkLCAweDA5LCAKLSAgICAweGIxLCAweDAwLCAweDE4LCAweDRjLCAweDRiLCAweDVlLCAweGIwLCAweGYwLCAweGJjLCAweGI1LCAweDc4LCAweGYxLCAweDVlLCAweDQwLCAweDBmLCAweDRjLCAKLSAgICAweDU0LCAweDdjLCAweGI1LCAweDVlLCAweDUwLCAweDBiLCAweDY4LCAweDJhLCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDEwLCAweDY4LCAweDA0LCAweGQyLCAKLSAgICAweDZjLCAweDgwLCAweDAyLCAweGMyLCAweDZjLCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDIwLCAweDY4LCAweDA0LCAweGQyLCAweDY0LCAweDgwLCAweDAyLCAKLSAgICAweGMyLCAweDY0LCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDgwLCAweDY4LCAweDA0LCAweGQyLCAweDVjLCAweDgwLCAweDAyLCAweGMyLCAweDVjLCAweDEyLCAKLSAgICAweDQzLCAweDRjLCAweDAyLCAweDYyLCAweDkzLCAweDc1LCAweDMxLCAweDkxLCAweDEyLCAweDdjLCAweDE1LCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweDdhLCAKLSAgICAweGIxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweDIwLCAweGUwLCAweDA4LCAweGQyLCAweDA0LCAweDdlLCAweGEwLCAweDgwLCAweDAyLCAweDYyLCAweDkzLCAKLSAgICAweGQyLCAweDA0LCAweDMwLCAweGUxLCAweDA2LCAweDdlLCAweGEwLCAweDgwLCAweDEyLCAweDYyLCAweDkzLCAweGNhLCAweGI4LCAweDVlLCAweGIwLCAweDFjLCAKLSAgICAweGRhLCAweGI4LCAweDY4LCAweDEyLCAweDdlLCAweGEwLCAweGMwLCAweDA5LCAweDYxLCAweDAwLCAweDAwLCAweDEyLCAweDYyLCAweGI2LCAweDA5LCAweGIxLCAKLSAgICAweDAwLCAweDE0LCAweDIwLCAweGUwLCAweGRiLCAweDIyLCAweDAyLCAweDU1LCAweDk1LCAweDc1LCAweDMxLCAweDk1LCAweDEyLCAweDdjLCAweDE1LCAweDIyLCAKLSAgICAweDc1LCAweDMxLCAweDk2LCAweDEyLCAweDdjLCAweDE1LCAweDIyLCAweDEwLCAweDBkLCAweDAxLCAweDIyLCAweDIwLCAweDJkLCAweDAzLCAweGQyLCAweDBkLCAKLSAgICAweDIyLCAweDc1LCAweDMxLCAweGE1LCAweDEyLCAweDdjLCAweDE1LCAweDdlLCAweDE0LCAweDg1LCAweDAwLCAweDgwLCAweDA2LCAweDIwLCAweDJkLCAweDAzLCAKLSAgICAweGQyLCAweDBkLCAweDIyLCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweGNhLCAweGI4LCAweDVlLCAweGIwLCAweDFlLCAweGRhLCAweGI4LCAweDY4LCAweDAzLCAKLSAgICAweDEyLCAweDU5LCAweGU4LCAweDIwLCAweGU2LCAweDAzLCAweGQyLCAweDBkLCAweDIyLCAweDMwLCAweDM1LCAweDQ5LCAweGQyLCAweDc1LCAweDdlLCAweDM3LCAKLSAgICAweDAxLCAweDk5LCAweDdlLCAweDI3LCAweDAxLCAweGI5LCAweDlkLCAweDMyLCAweDQwLCAweDMxLCAweDdkLCAweDAyLCAweDJlLCAweDA1LCAweDUyLCAweDdhLCAKLSAgICAweDA1LCAweDUyLCAweDdhLCAweDM3LCAweDAxLCAweDk5LCAweDdlLCAweDM3LCAweDAxLCAweDc5LCAweDdkLCAweDQzLCAweDJkLCAweDQyLCAweGJlLCAweDQ0LCAKLSAgICAweDIxLCAweGUyLCAweDM4LCAweDY4LCAweDdhLCAweDQ3LCAweDAxLCAweDc5LCAweDc1LCAweDMxLCAweDk0LCAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweDUxLCAKLSAgICAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweDEyLCAweDY1LCAweDJiLCAweDEwLCAweDc1LCAweGM0LCAweDIyLCAweGMyLCAweDc1LCAweDJkLCAweDIzLCAweDY4LCAKLSAgICAweDc4LCAweDZkLCAweDMzLCAweDgwLCAweDFhLCAweDdlLCAweDI3LCAweDAxLCAweDk5LCAweGJlLCAweDI0LCAweDAwLCAweDAwLCAweDY4LCAweDZhLCAweGJlLCAKLSAgICAweDI3LCAweDAxLCAweGI5LCAweDI4LCAweDA0LCAweDdlLCAweDI3LCAweDAxLCAweGI5LCAweDdlLCAweDM3LCAweDAxLCAweDk5LCAweDlkLCAweDMyLCAweDdkLCAKLSAgICAweDAyLCAweDJlLCAweDA1LCAweDUyLCAweDdhLCAweDA1LCAweDUyLCAweDdhLCAweDM3LCAweDAxLCAweDk5LCAweDdlLCAweDM3LCAweDAxLCAweDc5LCAweDdkLCAKLSAgICAweDQzLCAweDJkLCAweDQyLCAweGJlLCAweDQ0LCAweDIxLCAweGUyLCAweDM4LCAweDEzLCAweDdhLCAweDQ3LCAweDAxLCAweDc5LCAweDc1LCAweDMxLCAweDk0LCAKLSAgICAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweDUxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweDAyLCAweDY1LCAweDJiLCAweDc1LCAweDMxLCAweDk0LCAweDEyLCAKLSAgICAweDdjLCAweDE1LCAweDdhLCAweDUxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweDllLCAweDQ0LCAweDIxLCAweGUzLCAweDlkLCAweDI0LCAweDEyLCAweDY1LCAKLSAgICAweDJiLCAweDdlLCAweDM0LCAweDFkLCAweGUzLCAweDdkLCAweDI0LCAweDJkLCAweDQzLCAweDdhLCAweDQ3LCAweDAxLCAweDc5LCAweDEyLCAweDY1LCAweDJiLCAKLSAgICAweGJlLCAweDI1LCAweDIwLCAweDc4LCAweDAzLCAweDAyLCAweDU3LCAweDM3LCAweDIyLCAweGQyLCAweDBkLCAweDdlLCAweDA0LCAweDFkLCAweGUzLCAweDdhLCAKLSAgICAweDA3LCAweDAxLCAweDc5LCAweDdhLCAweDA3LCAweDAxLCAweDg5LCAweDc1LCAweDMxLCAweDk0LCAweDEyLCAweDdjLCAweDE1LCAweDc1LCAweDMxLCAweDAwLCAKLSAgICAweDEyLCAweDdjLCAweDE1LCAweDIyLCAweDc1LCAweDMxLCAweDkyLCAweDEyLCAweDdjLCAweDE1LCAweGQyLCAweDA0LCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAKLSAgICAweGNhLCAweGI4LCAweDU0LCAweDgyLCAweGRhLCAweGI4LCAweDc4LCAweDcwLCAweDdlLCAweDM3LCAweDAxLCAweGUxLCAweDdlLCAweDI3LCAweDAxLCAweGM5LCAKLSAgICAweDJlLCAweDI0LCAweDAwLCAweDAyLCAweDJkLCAweDMyLCAweGJlLCAweDM0LCAweDA0LCAweDAwLCAweDM4LCAweDNjLCAweDdkLCAweDAyLCAweDJlLCAweDA1LCAKLSAgICAweDQ2LCAweDdhLCAweDA1LCAweDQ2LCAweDdhLCAweDM3LCAweDAxLCAweGUxLCAweDdlLCAweDM3LCAweDAxLCAweGRmLCAweDdkLCAweDQzLCAweDJkLCAweDQyLCAKLSAgICAweGJlLCAweDQ0LCAweDA1LCAweGUyLCAweDM4LCAweDQ0LCAweDdhLCAweDQ3LCAweDAxLCAweGRmLCAweDdlLCAweDI0LCAweDA1LCAweDAwLCAweDJlLCAweDI3LCAKLSAgICAweDAxLCAweGM5LCAweDFiLCAweDM4LCAweDIwLCAweDBiLCAweDM1LCAweDdhLCAweDUxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweGJlLCAweDUwLCAweDM4LCAKLSAgICAweDc4LCAweDAzLCAweDAyLCAweDY2LCAweDE2LCAweDAyLCAweDY1LCAweGZiLCAweDc1LCAweDMxLCAweDk5LCAweDEyLCAweDdjLCAweDE1LCAweDA5LCAweGIxLCAKLSAgICAweDAwLCAweDA0LCAweDU0LCAweGZhLCAweDE5LCAweGIxLCAweDAwLCAweDA0LCAweDMwLCAweDNkLCAweDBhLCAweDA5LCAweGIxLCAweDAwLCAweDEwLCAweDU0LCAKLSAgICAweGZlLCAweDE5LCAweGIxLCAweDAwLCAweDEwLCAweGQyLCAweDE1LCAweDIyLCAweDgwLCAweDdkLCAweDdhLCAweDUxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAKLSAgICAweDllLCAweDQ0LCAweDA1LCAweGUzLCAweDlkLCAweDI0LCAweDdlLCAweDY0LCAweDA1LCAweDAwLCAweDJlLCAweDY3LCAweDAxLCAweGM5LCAweDllLCAweDI0LCAKLSAgICAweDAwLCAweDAyLCAweDQwLCAweDE3LCAweDFiLCAweDM4LCAweDYwLCAweDBiLCAweDM1LCAweDEyLCAweDY1LCAweGZiLCAweDdlLCAweDM0LCAweDAxLCAweGUzLCAKLSAgICAweDdkLCAweDI0LCAweDJkLCAweDQzLCAweDdhLCAweDQ3LCAweDAxLCAweGRmLCAweDAyLCAweDY1LCAweGZiLCAweDdhLCAweDM5LCAweGMwLCAweDdlLCAweDM0LCAKLSAgICAweDAxLCAweGUzLCAweDdhLCAweDM5LCAweGQwLCAweDBiLCAweDM0LCAweDFiLCAweDQ0LCAweDgwLCAweGU1LCAweDlkLCAweDMyLCAweDdjLCAweGI2LCAweDU0LCAKLSAgICAweDBmLCAweDIzLCAweDIzLCAweDIzLCAweDQ0LCAweDA1LCAweDdhLCAweDY5LCAweGIwLCAweDdhLCAweDc5LCAweDcwLCAweDBiLCAweDM1LCAweDc1LCAweDMxLCAKLSAgICAweDkzLCAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweDcxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweGJkLCAweDA0LCAweDY4LCAweDI5LCAweDdhLCAweDA3LCAKLSAgICAweDAxLCAweGRmLCAweDdlLCAweDQ3LCAweDAxLCAweGUxLCAweDJkLCAweDQzLCAweDdhLCAweDQ3LCAweDAxLCAweGUxLCAweDJlLCAweDM1LCAweDQ2LCAweDdhLCAKLSAgICAweDM1LCAweDQ2LCAweDIyLCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweDIwLCAweGUwLCAweDEzLCAweDIyLCAweDdlLCAweDA0LCAweDAxLCAweGUzLCAweDgwLCAKLSAgICAweDJhLCAweDdlLCAweDA0LCAweDAxLCAweGUzLCAweDgwLCAweDJjLCAweDdlLCAweDA0LCAweDAxLCAweGUzLCAweDgwLCAweGQxLCAweGQyLCAweDA0LCAweDdlLCAKLSAgICAweDA3LCAweDAxLCAweGUxLCAweDdlLCAweDI0LCAweDAzLCAweGZlLCAweDlkLCAweDIwLCAweDI4LCAweDQwLCAweDdlLCAweDA3LCAweDAxLCAweGRmLCAweDdlLCAKLSAgICAweDQ0LCAweDA1LCAweGUzLCAweDdkLCAweDYwLCAweDBiLCAweDA0LCAweGJkLCAweDA0LCAweDY4LCAweGQwLCAweDdkLCAweDcwLCAweDBiLCAweDA0LCAweGJkLCAKLSAgICAweDA0LCAweDY4LCAweGNlLCAweDdkLCAweDU0LCAweDlkLCAweDUwLCAweGJkLCAweDI1LCAweDQwLCAweDAyLCAweDdkLCAweDI1LCAweDdkLCAweDMyLCAweDA5LCAKLSAgICAweGIxLCAweDAwLCAweDE0LCAweGNhLCAweGI4LCAweDU0LCAweDFmLCAweGI0LCAweDAxLCAweDMxLCAweGRhLCAweGI4LCAweDdlLCAweDE5LCAweGIwLCAweDdhLCAKLSAgICAweDA5LCAweGIwLCAweDBiLCAweDA0LCAweDFiLCAweDI0LCAweDc4LCAweGU3LCAweDAyLCAweDU4LCAweDliLCAweDc1LCAweDMxLCAweDk5LCAweDEyLCAweDdjLCAKLSAgICAweDE1LCAweDA5LCAweGIxLCAweDAwLCAweDA0LCAweDU0LCAweGZhLCAweDE5LCAweGIxLCAweDAwLCAweDA0LCAweDMwLCAweDNkLCAweDBhLCAweDA5LCAweGIxLCAKLSAgICAweDAwLCAweDEwLCAweDU0LCAweGZlLCAweDE5LCAweGIxLCAweDAwLCAweDEwLCAweGQyLCAweDE1LCAweDIyLCAweGRhLCAweGI4LCAweDMwLCAweGUwLCAweGQ4LCAKLSAgICAweGJkLCAweDMyLCAweDY4LCAweDA3LCAweGNhLCAweGI4LCAweDEyLCAweDU4LCAweDliLCAweGRhLCAweGI4LCAweDAyLCAweDU5LCAweGU4LCAweDA5LCAweGIxLCAKLSAgICAweDAwLCAweDE4LCAweDdlLCAweGEwLCAweDg4LCAweDc1LCAweDMxLCAweDkwLCAweDEyLCAweDdjLCAweDE1LCAweGY1LCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAKLSAgICAweGE1LCAweGZjLCAweDVlLCAweGIwLCAweGYwLCAweGE1LCAweGZkLCAweDA5LCAweGIxLCAweDAwLCAweDE4LCAweDRjLCAweDRiLCAweDVlLCAweGIwLCAweGYwLCAKLSAgICAweGJjLCAweGI1LCAweDc4LCAweGYxLCAweDVlLCAweDQwLCAweDBmLCAweDRjLCAweDU0LCAweDdjLCAweGI1LCAweDVlLCAweDUwLCAweDBiLCAweDY4LCAweDJhLCAKLSAgICAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDEwLCAweDY4LCAweDA0LCAweGQyLCAweDZkLCAweDgwLCAweDAyLCAweGMyLCAweDZkLCAweGE1LCAweGZkLCAweDVlLCAKLSAgICAweDUwLCAweDIwLCAweDY4LCAweDA0LCAweGQyLCAweDY1LCAweDgwLCAweDAyLCAweGMyLCAweDY1LCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDgwLCAweDY4LCAKLSAgICAweDA0LCAweGQyLCAweDVkLCAweDgwLCAweDAyLCAweGMyLCAweDVkLCAweDEyLCAweDQzLCAweDZkLCAweDAyLCAweDYyLCAweDkzLCAweDc1LCAweDMxLCAweDkxLCAKLSAgICAweDEyLCAweDdjLCAweDE1LCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweDdhLCAweGIxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweDIwLCAweGUwLCAweDA4LCAKLSAgICAweGQyLCAweDA0LCAweDdlLCAweGEwLCAweDgwLCAweDAyLCAweDYyLCAweDkzLCAweGQyLCAweDA0LCAweDMwLCAweGUxLCAweDA2LCAweDdlLCAweGEwLCAweDgwLCAKLSAgICAweDEyLCAweDYyLCAweDkzLCAweGNhLCAweGI4LCAweDVlLCAweGIwLCAweDFjLCAweGRhLCAweGI4LCAweDY4LCAweDEyLCAweDdlLCAweGEwLCAweGMwLCAweDA5LCAKLSAgICAweDYxLCAweDAwLCAweDAwLCAweDEyLCAweDYyLCAweGI2LCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweDIwLCAweGUwLCAweGRiLCAweDIyLCAweDAyLCAweDU4LCAKLSAgICAweGVkLCAweDc1LCAweDMxLCAweDk1LCAweDEyLCAweDdjLCAweDE1LCAweDIyLCAweDc1LCAweDMxLCAweDk2LCAweDEyLCAweDdjLCAweDE1LCAweDIyLCAweDEwLCAKLSAgICAweDBlLCAweDAxLCAweDIyLCAweDIwLCAweDJlLCAweDAzLCAweGQyLCAweDBlLCAweDIyLCAweDc1LCAweDMxLCAweGE2LCAweDEyLCAweDdjLCAweDE1LCAweDdlLCAKLSAgICAweDE0LCAweDg2LCAweDAwLCAweDgwLCAweDA2LCAweDIwLCAweDJlLCAweDAzLCAweGQyLCAweDBlLCAweDIyLCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweGNhLCAKLSAgICAweGI4LCAweDVlLCAweGIwLCAweDFlLCAweGRhLCAweGI4LCAweDY4LCAweDAzLCAweDEyLCAweDVkLCAweDQwLCAweDIwLCAweGU2LCAweDAzLCAweGQyLCAweDBlLCAKLSAgICAweDIyLCAweDMwLCAweDM2LCAweDQ5LCAweGQyLCAweDc2LCAweDdlLCAweDM3LCAweDAxLCAweDliLCAweDdlLCAweDI3LCAweDAxLCAweGJiLCAweDlkLCAweDMyLCAKLSAgICAweDQwLCAweDMxLCAweDdkLCAweDAyLCAweDJlLCAweDA1LCAweDU0LCAweDdhLCAweDA1LCAweDU0LCAweDdhLCAweDM3LCAweDAxLCAweDliLCAweDdlLCAweDM3LCAKLSAgICAweDAxLCAweDdiLCAweDdkLCAweDQzLCAweDJkLCAweDQyLCAweGJlLCAweDQ0LCAweDI1LCAweGUyLCAweDM4LCAweDY4LCAweDdhLCAweDQ3LCAweDAxLCAweDdiLCAKLSAgICAweDc1LCAweDMxLCAweDk0LCAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweDUxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweDEyLCAweDY1LCAweDJiLCAweDEwLCAKLSAgICAweDc2LCAweGM0LCAweDIyLCAweGMyLCAweDc2LCAweDJkLCAweDIzLCAweDY4LCAweDc4LCAweDZkLCAweDMzLCAweDgwLCAweDFhLCAweDdlLCAweDI3LCAweDAxLCAKLSAgICAweDliLCAweGJlLCAweDI0LCAweDAwLCAweDAwLCAweDY4LCAweDZhLCAweGJlLCAweDI3LCAweDAxLCAweGJiLCAweDI4LCAweDA0LCAweDdlLCAweDI3LCAweDAxLCAKLSAgICAweGJiLCAweDdlLCAweDM3LCAweDAxLCAweDliLCAweDlkLCAweDMyLCAweDdkLCAweDAyLCAweDJlLCAweDA1LCAweDU0LCAweDdhLCAweDA1LCAweDU0LCAweDdhLCAKLSAgICAweDM3LCAweDAxLCAweDliLCAweDdlLCAweDM3LCAweDAxLCAweDdiLCAweDdkLCAweDQzLCAweDJkLCAweDQyLCAweGJlLCAweDQ0LCAweDI1LCAweGUyLCAweDM4LCAKLSAgICAweDEzLCAweDdhLCAweDQ3LCAweDAxLCAweDdiLCAweDc1LCAweDMxLCAweDk0LCAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweDUxLCAweDMxLCAweDEyLCAweDdjLCAKLSAgICAweDE1LCAweDAyLCAweDY1LCAweDJiLCAweDc1LCAweDMxLCAweDk0LCAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweDUxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAKLSAgICAweDllLCAweDQ0LCAweDI1LCAweGUzLCAweDlkLCAweDI0LCAweDEyLCAweDY1LCAweDJiLCAweDdlLCAweDM0LCAweDIxLCAweGUzLCAweDdkLCAweDI0LCAweDJkLCAKLSAgICAweDQzLCAweDdhLCAweDQ3LCAweDAxLCAweDdiLCAweDEyLCAweDY1LCAweDJiLCAweGJlLCAweDI1LCAweDIwLCAweDc4LCAweDAzLCAweDAyLCAweDVhLCAweDhmLCAKLSAgICAweDIyLCAweGQyLCAweDBlLCAweDdlLCAweDA0LCAweDIxLCAweGUzLCAweDdhLCAweDA3LCAweDAxLCAweDdiLCAweDdhLCAweDA3LCAweDAxLCAweDhiLCAweDc1LCAKLSAgICAweDMxLCAweDk0LCAweDEyLCAweDdjLCAweDE1LCAweDc1LCAweDMxLCAweDAwLCAweDEyLCAweDdjLCAweDE1LCAweDIyLCAweDc1LCAweDMxLCAweDkyLCAweDEyLCAKLSAgICAweDdjLCAweDE1LCAweGQyLCAweDA0LCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweGNhLCAweGI4LCAweDU0LCAweDgyLCAweGRhLCAweGI4LCAweDc4LCAweDcwLCAKLSAgICAweDdlLCAweDM3LCAweDAxLCAweGUxLCAweDdlLCAweDI3LCAweDAxLCAweGNiLCAweDJlLCAweDI0LCAweDAwLCAweDAyLCAweDJkLCAweDMyLCAweGJlLCAweDM0LCAKLSAgICAweDA0LCAweDAwLCAweDM4LCAweDNjLCAweDdkLCAweDAyLCAweDJlLCAweDA1LCAweDQ2LCAweDdhLCAweDA1LCAweDQ2LCAweDdhLCAweDM3LCAweDAxLCAweGUxLCAKLSAgICAweDdlLCAweDM3LCAweDAxLCAweGRmLCAweDdkLCAweDQzLCAweDJkLCAweDQyLCAweGJlLCAweDQ0LCAweDA1LCAweGUyLCAweDM4LCAweDQ0LCAweDdhLCAweDQ3LCAKLSAgICAweDAxLCAweGRmLCAweDdlLCAweDI0LCAweDA2LCAweDAwLCAweDJlLCAweDI3LCAweDAxLCAweGNiLCAweDFiLCAweDM4LCAweDIwLCAweDBiLCAweDM1LCAweDdhLCAKLSAgICAweDUxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweGJlLCAweDUwLCAweDM4LCAweDc4LCAweDAzLCAweDAyLCAweDY2LCAweDE2LCAweDAyLCAweDY1LCAweGZiLCAKLSAgICAweDc1LCAweDMxLCAweDk5LCAweDEyLCAweDdjLCAweDE1LCAweDA5LCAweGIxLCAweDAwLCAweDA0LCAweDU0LCAweGZhLCAweDE5LCAweGIxLCAweDAwLCAweDA0LCAKLSAgICAweDMwLCAweDNlLCAweDBhLCAweDA5LCAweGIxLCAweDAwLCAweDEwLCAweDU0LCAweGZlLCAweDE5LCAweGIxLCAweDAwLCAweDEwLCAweGQyLCAweDE2LCAweDIyLCAKLSAgICAweDgwLCAweDdkLCAweDdhLCAweDUxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweDllLCAweDQ0LCAweDA1LCAweGUzLCAweDlkLCAweDI0LCAweDdlLCAweDY0LCAKLSAgICAweDA2LCAweDAwLCAweDJlLCAweDY3LCAweDAxLCAweGNiLCAweDllLCAweDI0LCAweDAwLCAweDAyLCAweDQwLCAweDE3LCAweDFiLCAweDM4LCAweDYwLCAweDBiLCAKLSAgICAweDM1LCAweDEyLCAweDY1LCAweGZiLCAweDdlLCAweDM0LCAweDAxLCAweGUzLCAweDdkLCAweDI0LCAweDJkLCAweDQzLCAweDdhLCAweDQ3LCAweDAxLCAweGRmLCAKLSAgICAweDAyLCAweDY1LCAweGZiLCAweDdhLCAweDM5LCAweGMwLCAweDdlLCAweDM0LCAweDAxLCAweGUzLCAweDdhLCAweDM5LCAweGQwLCAweDBiLCAweDM0LCAweDFiLCAKLSAgICAweDQ0LCAweDgwLCAweGU1LCAweDlkLCAweDMyLCAweDdjLCAweGI2LCAweDU0LCAweDBmLCAweDIzLCAweDIzLCAweDIzLCAweDQ0LCAweDA2LCAweDdhLCAweDY5LCAKLSAgICAweGIwLCAweDdhLCAweDc5LCAweDcwLCAweDBiLCAweDM1LCAweDc1LCAweDMxLCAweDkzLCAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweDcxLCAweDMxLCAweDEyLCAKLSAgICAweDdjLCAweDE1LCAweGJkLCAweDA0LCAweDY4LCAweDI5LCAweDdhLCAweDA3LCAweDAxLCAweGRmLCAweDdlLCAweDQ3LCAweDAxLCAweGUxLCAweDJkLCAweDQzLCAKLSAgICAweDdhLCAweDQ3LCAweDAxLCAweGUxLCAweDJlLCAweDM1LCAweDQ2LCAweDdhLCAweDM1LCAweDQ2LCAweDIyLCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweDIwLCAKLSAgICAweGUwLCAweDEzLCAweDIyLCAweDdlLCAweDA0LCAweDAxLCAweGUzLCAweDgwLCAweDJhLCAweDdlLCAweDA0LCAweDAxLCAweGUzLCAweDgwLCAweDJjLCAweDdlLCAKLSAgICAweDA0LCAweDAxLCAweGUzLCAweDgwLCAweGQxLCAweGQyLCAweDA0LCAweDdlLCAweDA3LCAweDAxLCAweGUxLCAweDdlLCAweDI0LCAweDAzLCAweGZlLCAweDlkLCAKLSAgICAweDIwLCAweDI4LCAweDQwLCAweDdlLCAweDA3LCAweDAxLCAweGRmLCAweDdlLCAweDQ0LCAweDA1LCAweGUzLCAweDdkLCAweDYwLCAweDBiLCAweDA0LCAweGJkLCAKLSAgICAweDA0LCAweDY4LCAweGQwLCAweDdkLCAweDcwLCAweDBiLCAweDA0LCAweGJkLCAweDA0LCAweDY4LCAweGNlLCAweDdkLCAweDU0LCAweDlkLCAweDUwLCAweGJkLCAKLSAgICAweDI1LCAweDQwLCAweDAyLCAweDdkLCAweDI1LCAweDdkLCAweDMyLCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweGNhLCAweGI4LCAweDU0LCAweDFmLCAweGI0LCAKLSAgICAweDAxLCAweDMxLCAweGRhLCAweGI4LCAweDdlLCAweDE5LCAweGIwLCAweDdhLCAweDA5LCAweGIwLCAweDBiLCAweDA0LCAweDFiLCAweDI0LCAweDc4LCAweGU3LCAKLSAgICAweDAyLCAweDViLCAweGYzLCAweDc1LCAweDMxLCAweDk5LCAweDEyLCAweDdjLCAweDE1LCAweDA5LCAweGIxLCAweDAwLCAweDA0LCAweDU0LCAweGZhLCAweDE5LCAKLSAgICAweGIxLCAweDAwLCAweDA0LCAweDMwLCAweDNlLCAweDBhLCAweDA5LCAweGIxLCAweDAwLCAweDEwLCAweDU0LCAweGZlLCAweDE5LCAweGIxLCAweDAwLCAweDEwLCAKLSAgICAweGQyLCAweDE2LCAweDIyLCAweGRhLCAweGI4LCAweDMwLCAweGUwLCAweGQ4LCAweGJkLCAweDMyLCAweDY4LCAweDA3LCAweGNhLCAweGI4LCAweDEyLCAweDViLCAKLSAgICAweGYzLCAweGRhLCAweGI4LCAweDAyLCAweDVkLCAweDQwLCAweDA5LCAweGIxLCAweDAwLCAweDE4LCAweDdlLCAweGEwLCAweDg4LCAweDc1LCAweDMxLCAweDkwLCAKLSAgICAweDEyLCAweDdjLCAweDE1LCAweGY1LCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweGE1LCAweGZjLCAweDVlLCAweGIwLCAweGYwLCAweGE1LCAweGZkLCAweDA5LCAKLSAgICAweGIxLCAweDAwLCAweDE4LCAweDRjLCAweDRiLCAweDVlLCAweGIwLCAweGYwLCAweGJjLCAweGI1LCAweDc4LCAweGYxLCAweDVlLCAweDQwLCAweDBmLCAweDRjLCAKLSAgICAweDU0LCAweDdjLCAweGI1LCAweDVlLCAweDUwLCAweDBiLCAweDY4LCAweDJhLCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDEwLCAweDY4LCAweDA0LCAweGQyLCAKLSAgICAweDZlLCAweDgwLCAweDAyLCAweGMyLCAweDZlLCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDIwLCAweDY4LCAweDA0LCAweGQyLCAweDY2LCAweDgwLCAweDAyLCAKLSAgICAweGMyLCAweDY2LCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDgwLCAweDY4LCAweDA0LCAweGQyLCAweDVlLCAweDgwLCAweDAyLCAweGMyLCAweDVlLCAweDEyLCAKLSAgICAweDQzLCAweDhlLCAweDAyLCAweDYyLCAweDkzLCAweDc1LCAweDMxLCAweDkxLCAweDEyLCAweDdjLCAweDE1LCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweDdhLCAKLSAgICAweGIxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweDIwLCAweGUwLCAweDA4LCAweGQyLCAweDA0LCAweDdlLCAweGEwLCAweDgwLCAweDAyLCAweDYyLCAweDkzLCAKLSAgICAweGQyLCAweDA0LCAweDMwLCAweGUxLCAweDA2LCAweDdlLCAweGEwLCAweDgwLCAweDEyLCAweDYyLCAweDkzLCAweGNhLCAweGI4LCAweDVlLCAweGIwLCAweDFjLCAKLSAgICAweGRhLCAweGI4LCAweDY4LCAweDEyLCAweDdlLCAweGEwLCAweGMwLCAweDA5LCAweDYxLCAweDAwLCAweDAwLCAweDEyLCAweDYyLCAweGI2LCAweDA5LCAweGIxLCAKLSAgICAweDAwLCAweDE0LCAweDIwLCAweGUwLCAweGRiLCAweDIyLCAweDAyLCAweDVjLCAweDQ1LCAweDc1LCAweDMxLCAweDk1LCAweDEyLCAweDdjLCAweDE1LCAweDIyLCAKLSAgICAweDc1LCAweDMxLCAweDk2LCAweDEyLCAweDdjLCAweDE1LCAweDIyLCAweDEwLCAweDBmLCAweDAxLCAweDIyLCAweDIwLCAweDJmLCAweDAzLCAweGQyLCAweDBmLCAKLSAgICAweDIyLCAweDc1LCAweDMxLCAweGE3LCAweDEyLCAweDdjLCAweDE1LCAweDdlLCAweDE0LCAweDg3LCAweDAwLCAweDgwLCAweDA2LCAweDIwLCAweDJmLCAweDAzLCAKLSAgICAweGQyLCAweDBmLCAweDIyLCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweGNhLCAweGI4LCAweDVlLCAweGIwLCAweDFlLCAweGRhLCAweGI4LCAweDY4LCAweDAzLCAKLSAgICAweDEyLCAweDYwLCAweDk4LCAweDIwLCAweGU2LCAweDAzLCAweGQyLCAweDBmLCAweDIyLCAweDMwLCAweDM3LCAweDQ5LCAweGQyLCAweDc3LCAweDdlLCAweDM3LCAKLSAgICAweDAxLCAweDlkLCAweDdlLCAweDI3LCAweDAxLCAweGJkLCAweDlkLCAweDMyLCAweDQwLCAweDMxLCAweDdkLCAweDAyLCAweDJlLCAweDA1LCAweDU2LCAweDdhLCAKLSAgICAweDA1LCAweDU2LCAweDdhLCAweDM3LCAweDAxLCAweDlkLCAweDdlLCAweDM3LCAweDAxLCAweDdkLCAweDdkLCAweDQzLCAweDJkLCAweDQyLCAweGJlLCAweDQ0LCAKLSAgICAweDI5LCAweGUyLCAweDM4LCAweDY4LCAweDdhLCAweDQ3LCAweDAxLCAweDdkLCAweDc1LCAweDMxLCAweDk0LCAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweDUxLCAKLSAgICAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweDEyLCAweDY1LCAweDJiLCAweDEwLCAweDc3LCAweGM0LCAweDIyLCAweGMyLCAweDc3LCAweDJkLCAweDIzLCAweDY4LCAKLSAgICAweDc4LCAweDZkLCAweDMzLCAweDgwLCAweDFhLCAweDdlLCAweDI3LCAweDAxLCAweDlkLCAweGJlLCAweDI0LCAweDAwLCAweDAwLCAweDY4LCAweDZhLCAweGJlLCAKLSAgICAweDI3LCAweDAxLCAweGJkLCAweDI4LCAweDA0LCAweDdlLCAweDI3LCAweDAxLCAweGJkLCAweDdlLCAweDM3LCAweDAxLCAweDlkLCAweDlkLCAweDMyLCAweDdkLCAKLSAgICAweDAyLCAweDJlLCAweDA1LCAweDU2LCAweDdhLCAweDA1LCAweDU2LCAweDdhLCAweDM3LCAweDAxLCAweDlkLCAweDdlLCAweDM3LCAweDAxLCAweDdkLCAweDdkLCAKLSAgICAweDQzLCAweDJkLCAweDQyLCAweGJlLCAweDQ0LCAweDI5LCAweGUyLCAweDM4LCAweDEzLCAweDdhLCAweDQ3LCAweDAxLCAweDdkLCAweDc1LCAweDMxLCAweDk0LCAKLSAgICAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweDUxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweDAyLCAweDY1LCAweDJiLCAweDc1LCAweDMxLCAweDk0LCAweDEyLCAKLSAgICAweDdjLCAweDE1LCAweDdhLCAweDUxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweDllLCAweDQ0LCAweDI5LCAweGUzLCAweDlkLCAweDI0LCAweDEyLCAweDY1LCAKLSAgICAweDJiLCAweDdlLCAweDM0LCAweDI1LCAweGUzLCAweDdkLCAweDI0LCAweDJkLCAweDQzLCAweDdhLCAweDQ3LCAweDAxLCAweDdkLCAweDEyLCAweDY1LCAweDJiLCAKLSAgICAweGJlLCAweDI1LCAweDIwLCAweDc4LCAweDAzLCAweDAyLCAweDVkLCAweGU3LCAweDIyLCAweGQyLCAweDBmLCAweDdlLCAweDA0LCAweDI1LCAweGUzLCAweDdhLCAKLSAgICAweDA3LCAweDAxLCAweDdkLCAweDdhLCAweDA3LCAweDAxLCAweDhkLCAweDc1LCAweDMxLCAweDk0LCAweDEyLCAweDdjLCAweDE1LCAweDc1LCAweDMxLCAweDAwLCAKLSAgICAweDEyLCAweDdjLCAweDE1LCAweDIyLCAweDc1LCAweDMxLCAweDkyLCAweDEyLCAweDdjLCAweDE1LCAweGQyLCAweDA0LCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAKLSAgICAweGNhLCAweGI4LCAweDU0LCAweDgyLCAweGRhLCAweGI4LCAweDc4LCAweDcwLCAweDdlLCAweDM3LCAweDAxLCAweGUxLCAweDdlLCAweDI3LCAweDAxLCAweGNkLCAKLSAgICAweDJlLCAweDI0LCAweDAwLCAweDAyLCAweDJkLCAweDMyLCAweGJlLCAweDM0LCAweDA0LCAweDAwLCAweDM4LCAweDNjLCAweDdkLCAweDAyLCAweDJlLCAweDA1LCAKLSAgICAweDQ2LCAweDdhLCAweDA1LCAweDQ2LCAweDdhLCAweDM3LCAweDAxLCAweGUxLCAweDdlLCAweDM3LCAweDAxLCAweGRmLCAweDdkLCAweDQzLCAweDJkLCAweDQyLCAKLSAgICAweGJlLCAweDQ0LCAweDA1LCAweGUyLCAweDM4LCAweDQ0LCAweDdhLCAweDQ3LCAweDAxLCAweGRmLCAweDdlLCAweDI0LCAweDA3LCAweDAwLCAweDJlLCAweDI3LCAKLSAgICAweDAxLCAweGNkLCAweDFiLCAweDM4LCAweDIwLCAweDBiLCAweDM1LCAweDdhLCAweDUxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweGJlLCAweDUwLCAweDM4LCAKLSAgICAweDc4LCAweDAzLCAweDAyLCAweDY2LCAweDE2LCAweDAyLCAweDY1LCAweGZiLCAweDc1LCAweDMxLCAweDk5LCAweDEyLCAweDdjLCAweDE1LCAweDA5LCAweGIxLCAKLSAgICAweDAwLCAweDA0LCAweDU0LCAweGZhLCAweDE5LCAweGIxLCAweDAwLCAweDA0LCAweDMwLCAweDNmLCAweDBhLCAweDA5LCAweGIxLCAweDAwLCAweDEwLCAweDU0LCAKLSAgICAweGZlLCAweDE5LCAweGIxLCAweDAwLCAweDEwLCAweGQyLCAweDE3LCAweDIyLCAweDgwLCAweDdkLCAweDdhLCAweDUxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAKLSAgICAweDllLCAweDQ0LCAweDA1LCAweGUzLCAweDlkLCAweDI0LCAweDdlLCAweDY0LCAweDA3LCAweDAwLCAweDJlLCAweDY3LCAweDAxLCAweGNkLCAweDllLCAweDI0LCAKLSAgICAweDAwLCAweDAyLCAweDQwLCAweDE3LCAweDFiLCAweDM4LCAweDYwLCAweDBiLCAweDM1LCAweDEyLCAweDY1LCAweGZiLCAweDdlLCAweDM0LCAweDAxLCAweGUzLCAKLSAgICAweDdkLCAweDI0LCAweDJkLCAweDQzLCAweDdhLCAweDQ3LCAweDAxLCAweGRmLCAweDAyLCAweDY1LCAweGZiLCAweDdhLCAweDM5LCAweGMwLCAweDdlLCAweDM0LCAKLSAgICAweDAxLCAweGUzLCAweDdhLCAweDM5LCAweGQwLCAweDBiLCAweDM0LCAweDFiLCAweDQ0LCAweDgwLCAweGU1LCAweDlkLCAweDMyLCAweDdjLCAweGI2LCAweDU0LCAKLSAgICAweDBmLCAweDIzLCAweDIzLCAweDIzLCAweDQ0LCAweDA3LCAweDdhLCAweDY5LCAweGIwLCAweDdhLCAweDc5LCAweDcwLCAweDBiLCAweDM1LCAweDc1LCAweDMxLCAKLSAgICAweDkzLCAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweDcxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweGJkLCAweDA0LCAweDY4LCAweDI5LCAweDdhLCAweDA3LCAKLSAgICAweDAxLCAweGRmLCAweDdlLCAweDQ3LCAweDAxLCAweGUxLCAweDJkLCAweDQzLCAweDdhLCAweDQ3LCAweDAxLCAweGUxLCAweDJlLCAweDM1LCAweDQ2LCAweDdhLCAKLSAgICAweDM1LCAweDQ2LCAweDIyLCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweDIwLCAweGUwLCAweDEzLCAweDIyLCAweDdlLCAweDA0LCAweDAxLCAweGUzLCAweDgwLCAKLSAgICAweDJhLCAweDdlLCAweDA0LCAweDAxLCAweGUzLCAweDgwLCAweDJjLCAweDdlLCAweDA0LCAweDAxLCAweGUzLCAweDgwLCAweGQxLCAweGQyLCAweDA0LCAweDdlLCAKLSAgICAweDA3LCAweDAxLCAweGUxLCAweDdlLCAweDI0LCAweDAzLCAweGZlLCAweDlkLCAweDIwLCAweDI4LCAweDQwLCAweDdlLCAweDA3LCAweDAxLCAweGRmLCAweDdlLCAKLSAgICAweDQ0LCAweDA1LCAweGUzLCAweDdkLCAweDYwLCAweDBiLCAweDA0LCAweGJkLCAweDA0LCAweDY4LCAweGQwLCAweDdkLCAweDcwLCAweDBiLCAweDA0LCAweGJkLCAKLSAgICAweDA0LCAweDY4LCAweGNlLCAweDdkLCAweDU0LCAweDlkLCAweDUwLCAweGJkLCAweDI1LCAweDQwLCAweDAyLCAweDdkLCAweDI1LCAweDdkLCAweDMyLCAweDA5LCAKLSAgICAweGIxLCAweDAwLCAweDE0LCAweGNhLCAweGI4LCAweDU0LCAweDFmLCAweGI0LCAweDAxLCAweDMxLCAweGRhLCAweGI4LCAweDdlLCAweDE5LCAweGIwLCAweDdhLCAKLSAgICAweDA5LCAweGIwLCAweDBiLCAweDA0LCAweDFiLCAweDI0LCAweDc4LCAweGU3LCAweDAyLCAweDVmLCAweDRiLCAweDc1LCAweDMxLCAweDk5LCAweDEyLCAweDdjLCAKLSAgICAweDE1LCAweDA5LCAweGIxLCAweDAwLCAweDA0LCAweDU0LCAweGZhLCAweDE5LCAweGIxLCAweDAwLCAweDA0LCAweDMwLCAweDNmLCAweDBhLCAweDA5LCAweGIxLCAKLSAgICAweDAwLCAweDEwLCAweDU0LCAweGZlLCAweDE5LCAweGIxLCAweDAwLCAweDEwLCAweGQyLCAweDE3LCAweDIyLCAweGRhLCAweGI4LCAweDMwLCAweGUwLCAweGQ4LCAKLSAgICAweGJkLCAweDMyLCAweDY4LCAweDA3LCAweGNhLCAweGI4LCAweDEyLCAweDVmLCAweDRiLCAweGRhLCAweGI4LCAweDAyLCAweDYwLCAweDk4LCAweDA5LCAweGIxLCAKLSAgICAweDAwLCAweDE4LCAweDdlLCAweGEwLCAweDg4LCAweDc1LCAweDMxLCAweDkwLCAweDEyLCAweDdjLCAweDE1LCAweGY1LCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAKLSAgICAweGE1LCAweGZjLCAweDVlLCAweGIwLCAweGYwLCAweGE1LCAweGZkLCAweDA5LCAweGIxLCAweDAwLCAweDE4LCAweDRjLCAweDRiLCAweDVlLCAweGIwLCAweGYwLCAKLSAgICAweGJjLCAweGI1LCAweDc4LCAweGYxLCAweDVlLCAweDQwLCAweDBmLCAweDRjLCAweDU0LCAweDdjLCAweGI1LCAweDVlLCAweDUwLCAweDBiLCAweDY4LCAweDJhLCAKLSAgICAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDEwLCAweDY4LCAweDA0LCAweGQyLCAweDZmLCAweDgwLCAweDAyLCAweGMyLCAweDZmLCAweGE1LCAweGZkLCAweDVlLCAKLSAgICAweDUwLCAweDIwLCAweDY4LCAweDA0LCAweGQyLCAweDY3LCAweDgwLCAweDAyLCAweGMyLCAweDY3LCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDgwLCAweDY4LCAKLSAgICAweDA0LCAweGQyLCAweDVmLCAweDgwLCAweDAyLCAweGMyLCAweDVmLCAweDEyLCAweDQzLCAweGFmLCAweDAyLCAweDYyLCAweDkzLCAweDc1LCAweDMxLCAweDkxLCAKLSAgICAweDEyLCAweDdjLCAweDE1LCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweDdhLCAweGIxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweDIwLCAweGUwLCAweDA4LCAKLSAgICAweGQyLCAweDA0LCAweDdlLCAweGEwLCAweDgwLCAweDAyLCAweDYyLCAweDkzLCAweGQyLCAweDA0LCAweDMwLCAweGUxLCAweDA2LCAweDdlLCAweGEwLCAweDgwLCAKLSAgICAweDEyLCAweDYyLCAweDkzLCAweGNhLCAweGI4LCAweDVlLCAweGIwLCAweDFjLCAweGRhLCAweGI4LCAweDY4LCAweDEyLCAweDdlLCAweGEwLCAweGMwLCAweDA5LCAKLSAgICAweDYxLCAweDAwLCAweDAwLCAweDEyLCAweDYyLCAweGI2LCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweDIwLCAweGUwLCAweGRiLCAweDIyLCAweDAyLCAweDVmLCAKLSAgICAweDlkLCAweDc1LCAweDMxLCAweDk1LCAweDEyLCAweDdjLCAweDE1LCAweDIyLCAweDc1LCAweDMxLCAweDk2LCAweDEyLCAweDdjLCAweDE1LCAweDIyLCAweDdjLCAKLSAgICAweDAyLCAweDdlLCAweDE0LCAweDgwLCAweDAwLCAweDRjLCAweDIwLCAweDA5LCAweGIxLCAweDAwLCAweDE4LCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDEwLCAKLSAgICAweDY4LCAweDA0LCAweGQyLCAweDY4LCAweDgwLCAweDAyLCAweGMyLCAweDY4LCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDIwLCAweDY4LCAweDA0LCAweGQyLCAKLSAgICAweDYwLCAweDgwLCAweDAyLCAweGMyLCAweDYwLCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDgwLCAweDY4LCAweDA0LCAweGQyLCAweDU4LCAweDgwLCAweDAyLCAKLSAgICAweGMyLCAweDU4LCAweDAyLCAweDYyLCAweDdmLCAweDdjLCAweDAyLCAweDdlLCAweDE0LCAweDgwLCAweDAwLCAweDRjLCAweDIwLCAweDA5LCAweGIxLCAweDAwLCAKLSAgICAweDE4LCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDEwLCAweDY4LCAweDA0LCAweGQyLCAweDY5LCAweDgwLCAweDAyLCAweGMyLCAweDY5LCAweGE1LCAweGZkLCAKLSAgICAweDVlLCAweDUwLCAweDIwLCAweDY4LCAweDA0LCAweGQyLCAweDYxLCAweDgwLCAweDAyLCAweGMyLCAweDYxLCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDgwLCAKLSAgICAweDY4LCAweDA0LCAweGQyLCAweDU5LCAweDgwLCAweDAyLCAweGMyLCAweDU5LCAweDAyLCAweDYyLCAweDdmLCAweDdjLCAweDAyLCAweDdlLCAweDE0LCAweDgwLCAKLSAgICAweDAwLCAweDRjLCAweDIwLCAweDA5LCAweGIxLCAweDAwLCAweDE4LCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDEwLCAweDY4LCAweDA0LCAweGQyLCAweDZhLCAKLSAgICAweDgwLCAweDAyLCAweGMyLCAweDZhLCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDIwLCAweDY4LCAweDA0LCAweGQyLCAweDYyLCAweDgwLCAweDAyLCAweGMyLCAKLSAgICAweDYyLCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDgwLCAweDY4LCAweDA0LCAweGQyLCAweDVhLCAweDgwLCAweDAyLCAweGMyLCAweDVhLCAweDAyLCAweDYyLCAKLSAgICAweDdmLCAweDdjLCAweDAyLCAweDdlLCAweDE0LCAweDgwLCAweDAwLCAweDRjLCAweDIwLCAweDA5LCAweGIxLCAweDAwLCAweDE4LCAweGE1LCAweGZkLCAweDVlLCAKLSAgICAweDUwLCAweDEwLCAweDY4LCAweDA0LCAweGQyLCAweDZiLCAweDgwLCAweDAyLCAweGMyLCAweDZiLCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDIwLCAweDY4LCAKLSAgICAweDA0LCAweGQyLCAweDYzLCAweDgwLCAweDAyLCAweGMyLCAweDYzLCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDgwLCAweDY4LCAweDA0LCAweGQyLCAweDViLCAKLSAgICAweDgwLCAweDAyLCAweGMyLCAweDViLCAweDAyLCAweDYyLCAweDdmLCAweDdjLCAweDAyLCAweDdlLCAweDE0LCAweDgwLCAweDAwLCAweDRjLCAweDIwLCAweDA5LCAKLSAgICAweGIxLCAweDAwLCAweDE4LCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDEwLCAweDY4LCAweDA0LCAweGQyLCAweDZjLCAweDgwLCAweDAyLCAweGMyLCAweDZjLCAKLSAgICAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDIwLCAweDY4LCAweDA0LCAweGQyLCAweDY0LCAweDgwLCAweDAyLCAweGMyLCAweDY0LCAweGE1LCAweGZkLCAweDVlLCAKLSAgICAweDUwLCAweDgwLCAweDY4LCAweDA0LCAweGQyLCAweDVjLCAweDgwLCAweDAyLCAweGMyLCAweDVjLCAweDAyLCAweDYyLCAweDdmLCAweDdjLCAweDAyLCAweDdlLCAKLSAgICAweDE0LCAweDgwLCAweDAwLCAweDRjLCAweDIwLCAweDA5LCAweGIxLCAweDAwLCAweDE4LCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDEwLCAweDY4LCAweDA0LCAKLSAgICAweGQyLCAweDZkLCAweDgwLCAweDAyLCAweGMyLCAweDZkLCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDIwLCAweDY4LCAweDA0LCAweGQyLCAweDY1LCAweDgwLCAKLSAgICAweDAyLCAweGMyLCAweDY1LCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDgwLCAweDY4LCAweDA0LCAweGQyLCAweDVkLCAweDgwLCAweDAyLCAweGMyLCAweDVkLCAKLSAgICAweDAyLCAweDYyLCAweDdmLCAweDdjLCAweDAyLCAweDdlLCAweDE0LCAweDgwLCAweDAwLCAweDRjLCAweDIwLCAweDA5LCAweGIxLCAweDAwLCAweDE4LCAweGE1LCAKLSAgICAweGZkLCAweDVlLCAweDUwLCAweDEwLCAweDY4LCAweDA0LCAweGQyLCAweDZlLCAweDgwLCAweDAyLCAweGMyLCAweDZlLCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAKLSAgICAweDIwLCAweDY4LCAweDA0LCAweGQyLCAweDY2LCAweDgwLCAweDAyLCAweGMyLCAweDY2LCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDgwLCAweDY4LCAweDA0LCAKLSAgICAweGQyLCAweDVlLCAweDgwLCAweDAyLCAweGMyLCAweDVlLCAweDAyLCAweDYyLCAweDdmLCAweDdjLCAweDAyLCAweDdlLCAweDE0LCAweDgwLCAweDAwLCAweDRjLCAKLSAgICAweDIwLCAweDA5LCAweGIxLCAweDAwLCAweDE4LCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDEwLCAweDY4LCAweDA0LCAweGQyLCAweDZmLCAweDgwLCAweDAyLCAKLSAgICAweGMyLCAweDZmLCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDIwLCAweDY4LCAweDA0LCAweGQyLCAweDY3LCAweDgwLCAweDAyLCAweGMyLCAweDY3LCAweGE1LCAKLSAgICAweGZkLCAweDVlLCAweDUwLCAweDgwLCAweDY4LCAweDA0LCAweGQyLCAweDVmLCAweDgwLCAweDAyLCAweGMyLCAweDVmLCAweDAyLCAweDYyLCAweDdmLCAweDU0LCAKLSAgICAweGYwLCAweGM0LCAweGE1LCAweGZmLCAweGM0LCAweGE1LCAweDRmLCAweDc1LCAweDMxLCAweDkwLCAweDEyLCAweDdjLCAweDE1LCAweGY1LCAweDMxLCAweDEyLCAKLSAgICAweDdjLCAweDE1LCAweDIyLCAweGNhLCAweDE5LCAweDVlLCAweDIwLCAweDA3LCAweDRjLCAweGEyLCAweDdlLCAweDc0LCAweDI5LCAweGUzLCAweGNhLCAweDc5LCAKLSAgICAweDdhLCAweDc5LCAweGEwLCAweDBiLCAweDc0LCAweDdhLCAweDc5LCAweGIwLCAweDBiLCAweDc0LCAweGRhLCAweDc5LCAweDdlLCAweDMwLCAweDAyLCAweDdlLCAKLSAgICAweDY0LCAweDAwLCAweDAyLCAweDAyLCAweDYyLCAweGRlLCAweGNhLCAweDE5LCAweDVlLCAweDIwLCAweDA3LCAweDRjLCAweGEyLCAweDdlLCAweDc0LCAweDI5LCAKLSAgICAweGUzLCAweGNhLCAweDc5LCAweDdhLCAweDc5LCAweGEwLCAweDBiLCAweDc0LCAweDdhLCAweDc5LCAweGIwLCAweDBiLCAweDc0LCAweDdhLCAweDc5LCAweDYwLCAKLSAgICAweDBiLCAweDc0LCAweGRhLCAweDc5LCAweDdlLCAweDMwLCAweDAzLCAweDdlLCAweDY0LCAweDAwLCAweDAzLCAweDAyLCAweDYyLCAweGRlLCAweGQyLCAweDA0LCAKLSAgICAweDdlLCAweDI3LCAweDAxLCAweGUxLCAweDJkLCAweDI2LCAweGJlLCAweDI0LCAweDA0LCAweDAwLCAweDM4LCAweDJlLCAweDdlLCAweDA3LCAweDAxLCAweGRmLCAKLSAgICAweDdlLCAweDQ0LCAweDA1LCAweGUzLCAweDdlLCAweDc5LCAweGEwLCAweDdhLCAweDA5LCAweGEwLCAweDBiLCAweDA0LCAweDBiLCAweDc0LCAweGJkLCAweDA0LCAKLSAgICAweDY4LCAweDIzLCAweGE1LCAweGRiLCAweGVmLCAweDdhLCAweDI3LCAweDAxLCAweGUxLCAweDdlLCAweDI1LCAweDQ2LCAweDJkLCAweDI2LCAweDdhLCAweDI1LCAKLSAgICAweDQ2LCAweDdhLCAweDA3LCAweDAxLCAweGRmLCAweGRhLCAweDE5LCAweGMyLCAweGQ3LCAweDIyLCAweDc1LCAweDMxLCAweDlhLCAweDEyLCAweDdjLCAweDE1LCAKLSAgICAweGRhLCAweDE5LCAweGQyLCAweGQ3LCAweDIyLCAweDdlLCAweDA0LCAweDAxLCAweGUzLCAweDgwLCAweGQ3LCAweDQ4LCAweGI2LCAweDQ2LCAweDI1LCAweDQ3LCAKLSAgICAweDFjLCAweDQ5LCAweDE1LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ4LCAweDFiLCAweDQ0LCAweGM2LCAweDQ5LCAweDU5LCAweDQ0LCAweGM2LCAweDQ0LCAKLSAgICAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ5LCAweDYwLCAweDQ0LCAweGM2LCAweDQ0LCAKLSAgICAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAKLSAgICAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDRjLCAweDBlLCAweDQ5LCAweDdkLCAweDRhLCAKLSAgICAweDc0LCAweDRjLCAweDZkLCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDRiLCAweDczLCAweDQ0LCAweGM2LCAweDRjLCAweGIxLCAweDQ0LCAweGM2LCAweDQ0LCAKLSAgICAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDRjLCAweGI4LCAweDQ0LCAweGM2LCAweDQ0LCAKLSAgICAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAKLSAgICAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDRmLCAweDY2LCAweDRjLCAweGQ1LCAweDRkLCAKLSAgICAweGNjLCAweDRmLCAweGM1LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDRlLCAweGNiLCAweDQ0LCAweGM2LCAweDUwLCAweDA5LCAweDQ0LCAweGM2LCAweDQ0LCAKLSAgICAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDUwLCAweDEwLCAweDQ0LCAweGM2LCAweDQ0LCAKLSAgICAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAKLSAgICAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDUyLCAweGJlLCAweDUwLCAweDJkLCAweDUxLCAKLSAgICAweDI0LCAweDUzLCAweDFkLCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDUyLCAweDIzLCAweDQ0LCAweGM2LCAweDUzLCAweDYxLCAweDQ0LCAweGM2LCAweDQ0LCAKLSAgICAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDUzLCAweDY4LCAweDQ0LCAweGM2LCAweDQ0LCAKLSAgICAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAKLSAgICAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDU2LCAweDE2LCAweDUzLCAweDg1LCAweDU0LCAKLSAgICAweDdjLCAweDU2LCAweDc1LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDU1LCAweDdiLCAweDQ0LCAweGM2LCAweDU2LCAweGI5LCAweDQ0LCAweGM2LCAweDQ0LCAKLSAgICAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDU2LCAweGMwLCAweDQ0LCAweGM2LCAweDQ0LCAKLSAgICAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAKLSAgICAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDU5LCAweDZlLCAweDU2LCAweGRkLCAweDU3LCAKLSAgICAweGQ0LCAweDU5LCAweGNkLCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDU4LCAweGQzLCAweDQ0LCAweGM2LCAweDVhLCAweDExLCAweDQ0LCAweGM2LCAweDQ0LCAKLSAgICAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDVhLCAweDE4LCAweDQ0LCAweGM2LCAweDQ0LCAKLSAgICAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAKLSAgICAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDVjLCAweGM2LCAweDVhLCAweDM1LCAweDViLCAKLSAgICAweDJjLCAweDVkLCAweDI1LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDVjLCAweDJiLCAweDQ0LCAweGM2LCAweDVkLCAweDY5LCAweDQ0LCAweGM2LCAweDQ0LCAKLSAgICAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDVkLCAweDcwLCAweDQ0LCAweGM2LCAweDQ0LCAKLSAgICAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAKLSAgICAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDYwLCAweDFlLCAweDVkLCAweDhkLCAweDVlLCAKLSAgICAweDg0LCAweDYwLCAweDdkLCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDVmLCAweDgzLCAweDQ0LCAweGM2LCAweDYwLCAweGMxLCAweDQ0LCAweGM2LCAweDQ0LCAKLSAgICAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDYwLCAweGM4LCAweDQ0LCAweGM2LCAweDQ0LCAKLSAgICAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAKLSAgICAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweGNhLCAweDI5LCAweDFlLCAweDUwLCAweDQwLCAKLSAgICAweDBkLCAweDdlLCAweDU0LCAweDBiLCAweDEwLCAweDljLCAweGI1LCAweGE0LCAweDJlLCAweDU0LCAweDY1LCAweDQ4LCAweDg5LCAweDU0LCAweDdlLCAweDM5LCAKLSAgICAweDAwLCAweDdhLCAweDE5LCAweDAwLCAweDBiLCAweDM0LCAweDgwLCAweGU5LCAweDBiLCAweDM4LCAweDAwLCAweDdhLCAweDE5LCAweDAwLCAweDdhLCAweDE5LCAKLSAgICAweDEwLCAweDBiLCAweDM1LCAweDBiLCAweDM4LCAweDAwLCAweDdhLCAweDE5LCAweDAwLCAweDdhLCAweDE5LCAweDEwLCAweDBiLCAweDM1LCAweDBiLCAweDM4LCAKLSAgICAweDAwLCAweDdhLCAweDE5LCAweDAwLCAweDdhLCAweDE5LCAweDEwLCAweDBiLCAweDM1LCAweDBiLCAweDM4LCAweDAwLCAweDdhLCAweDE5LCAweDAwLCAweDdhLCAKLSAgICAweDE5LCAweDEwLCAweDBiLCAweDM1LCAweDBiLCAweDM4LCAweDAwLCAweDdhLCAweDE5LCAweDAwLCAweDdhLCAweDE5LCAweDEwLCAweDBiLCAweDM1LCAweDBiLCAKLSAgICAweDM4LCAweDAwLCAweDdhLCAweDE5LCAweDAwLCAweDdhLCAweDE5LCAweDEwLCAweDBiLCAweDM1LCAweDBiLCAweDM4LCAweDAwLCAweDdhLCAweDE5LCAweDAwLCAKLSAgICAweDdhLCAweDE5LCAweDEwLCAweDBiLCAweDM1LCAweDBiLCAweDM4LCAweDAwLCAweDdhLCAweDE5LCAweDAwLCAweDdhLCAweDE5LCAweDEwLCAweDBiLCAweDM1LCAKLSAgICAweDBiLCAweDM4LCAweDAwLCAweDdhLCAweDE5LCAweDAwLCAweDdhLCAweDE5LCAweDEwLCAweDBiLCAweDM1LCAweDBiLCAweDM4LCAweDAwLCAweDdhLCAweDE5LCAKLSAgICAweDAwLCAweDdhLCAweDE5LCAweDEwLCAweDBiLCAweDM1LCAweDBiLCAweDM4LCAweDAwLCAweDdhLCAweDE5LCAweDAwLCAweDdhLCAweDE5LCAweDEwLCAweDBiLCAKLSAgICAweDM1LCAweDBiLCAweDM4LCAweDAwLCAweDdhLCAweDE5LCAweDAwLCAweDdhLCAweDE5LCAweDEwLCAweDBiLCAweDM1LCAweDBiLCAweDM4LCAweDAwLCAweDdhLCAKLSAgICAweDE5LCAweDAwLCAweDdhLCAweDE5LCAweDEwLCAweDBiLCAweDM1LCAweDBiLCAweDM4LCAweDAwLCAweDdhLCAweDE5LCAweDAwLCAweDdhLCAweDE5LCAweDEwLCAKLSAgICAweDBiLCAweDM1LCAweDBiLCAweDM4LCAweDAwLCAweDdhLCAweDE5LCAweDAwLCAweDdhLCAweDE5LCAweDEwLCAweDBiLCAweDM1LCAweDBiLCAweDM4LCAweDAwLCAKLSAgICAweDdhLCAweDE5LCAweDAwLCAweDdhLCAweDE5LCAweDEwLCAweDBiLCAweDM1LCAweGRhLCAweDI5LCAweDIyLCAweDFlLCAweDUwLCAweDQwLCAweDBkLCAweDdlLCAKLSAgICAweDU0LCAweDBiLCAweDFjLCAweDljLCAweGI1LCAweGE0LCAweDJlLCAweDU0LCAweDY2LCAweDE2LCAweDg5LCAweDU0LCAweDdlLCAweDE5LCAweDAwLCAweDdhLCAKLSAgICAweDM5LCAweDAwLCAweDBiLCAweDM0LCAweDgwLCAweGU5LCAweDdlLCAweDE5LCAweDAwLCAweDdlLCAweDE5LCAweDEwLCAweDFiLCAweDM4LCAweDAwLCAweDBiLCAKLSAgICAweDM1LCAweDdlLCAweDE5LCAweDAwLCAweDdlLCAweDE5LCAweDEwLCAweDFiLCAweDM4LCAweDAwLCAweDBiLCAweDM1LCAweDdlLCAweDE5LCAweDAwLCAweDdlLCAKLSAgICAweDE5LCAweDEwLCAweDFiLCAweDM4LCAweDAwLCAweDBiLCAweDM1LCAweDdlLCAweDE5LCAweDAwLCAweDdlLCAweDE5LCAweDEwLCAweDFiLCAweDM4LCAweDAwLCAKLSAgICAweDBiLCAweDM1LCAweDdlLCAweDE5LCAweDAwLCAweDdlLCAweDE5LCAweDEwLCAweDFiLCAweDM4LCAweDAwLCAweDBiLCAweDM1LCAweDdlLCAweDE5LCAweDAwLCAKLSAgICAweDdlLCAweDE5LCAweDEwLCAweDFiLCAweDM4LCAweDAwLCAweDBiLCAweDM1LCAweDdlLCAweDE5LCAweDAwLCAweDdlLCAweDE5LCAweDEwLCAweDFiLCAweDM4LCAKLSAgICAweDAwLCAweDBiLCAweDM1LCAweDdlLCAweDE5LCAweDAwLCAweDdlLCAweDE5LCAweDEwLCAweDFiLCAweDM4LCAweDAwLCAweDBiLCAweDM1LCAweDdlLCAweDE5LCAKLSAgICAweDAwLCAweDdlLCAweDE5LCAweDEwLCAweDFiLCAweDM4LCAweDAwLCAweDBiLCAweDM1LCAweDdlLCAweDE5LCAweDAwLCAweDdlLCAweDE5LCAweDEwLCAweDFiLCAKLSAgICAweDM4LCAweDAwLCAweDBiLCAweDM1LCAweDdlLCAweDE5LCAweDAwLCAweDdlLCAweDE5LCAweDEwLCAweDFiLCAweDM4LCAweDAwLCAweDBiLCAweDM1LCAweDdlLCAKLSAgICAweDE5LCAweDAwLCAweDdlLCAweDE5LCAweDEwLCAweDFiLCAweDM4LCAweDAwLCAweDBiLCAweDM1LCAweDdlLCAweDE5LCAweDAwLCAweDdlLCAweDE5LCAweDEwLCAKLSAgICAweDFiLCAweDM4LCAweDAwLCAweDBiLCAweDM1LCAweDdlLCAweDE5LCAweDAwLCAweDdlLCAweDE5LCAweDEwLCAweDFiLCAweDM4LCAweDAwLCAweDBiLCAweDM1LCAKLSAgICAweDdlLCAweDE5LCAweDAwLCAweDdlLCAweDE5LCAweDEwLCAweDFiLCAweDM4LCAweDAwLCAweDBiLCAweDM1LCAweDdlLCAweDE5LCAweDAwLCAweDdlLCAweDE5LCAKLSAgICAweDEwLCAweDFiLCAweDM4LCAweDAwLCAweDBiLCAweDM1LCAweDdlLCAweDE5LCAweDAwLCAweDdlLCAweDE5LCAweDEwLCAweDFiLCAweDM4LCAweDAwLCAweDBiLCAKLSAgICAweDM1LCAweDdlLCAweDE5LCAweDAwLCAweDdlLCAweDE5LCAweDEwLCAweDFiLCAweDM4LCAweDAwLCAweDBiLCAweDM1LCAweDdlLCAweDE5LCAweDAwLCAweDdlLCAKLSAgICAweDE5LCAweDEwLCAweDFiLCAweDM4LCAweDAwLCAweDBiLCAweDM1LCAweDdlLCAweDE5LCAweDAwLCAweDdlLCAweDE5LCAweDEwLCAweDFiLCAweDM4LCAweDAwLCAKLSAgICAweDBiLCAweDM1LCAweDdlLCAweDE5LCAweDAwLCAweDdlLCAweDE5LCAweDEwLCAweDFiLCAweDM4LCAweDAwLCAweDBiLCAweDM1LCAweDdlLCAweDE5LCAweDAwLCAKLSAgICAweDdlLCAweDE5LCAweDEwLCAweDFiLCAweDM4LCAweDAwLCAweDBiLCAweDM1LCAweDdlLCAweDE5LCAweDAwLCAweDdlLCAweDE5LCAweDEwLCAweDFiLCAweDM4LCAKLSAgICAweDAwLCAweDBiLCAweDM1LCAweDdlLCAweDE5LCAweDAwLCAweDdlLCAweDE5LCAweDEwLCAweDFiLCAweDM4LCAweDAwLCAweDBiLCAweDM1LCAweDdlLCAweDE5LCAKLSAgICAweDAwLCAweDdlLCAweDE5LCAweDEwLCAweDFiLCAweDM4LCAweDAwLCAweDBiLCAweDM1LCAweDdlLCAweDE5LCAweDAwLCAweDdlLCAweDE5LCAweDEwLCAweDFiLCAKLSAgICAweDM4LCAweDAwLCAweDBiLCAweDM1LCAweDdlLCAweDE5LCAweDAwLCAweDdlLCAweDE5LCAweDEwLCAweDFiLCAweDM4LCAweDAwLCAweDBiLCAweDM1LCAweDdlLCAKLSAgICAweDE5LCAweDAwLCAweDdlLCAweDE5LCAweDEwLCAweDFiLCAweDM4LCAweDAwLCAweDBiLCAweDM1LCAweDIyLCAweDY3LCAweDk2LCAweDY5LCAweDYzLCAweDY5LCAKLSAgICAweDdiLCAweDZhLCAweDQ5LCAweDZhLCAweGU0LCAweDZiLCAweDhlLCAweDZiLCAweGE5LCAweDZjLCAweDNiLCAweDZiLCAweGM0LCAweDZjLCAweDA1LCAweDY5LCAKLSAgICAweDk2LCAweDY5LCAweGFhLCAweDdjLCAweGIzLCAweGJlLCAweGIwLCAweDBiLCAweDI4LCAweDE0LCAweDc1LCAweDMxLCAweDA5LCAweDEyLCAweDdjLCAweDE1LCAKLSAgICAweDc1LCAweDZkLCAweDEwLCAweGMwLCAweGYxLCAweDc1LCAweGYxLCAweDAxLCAweDQzLCAweGUxLCAweGMwLCAweGQwLCAweGYxLCAweDIyLCAweGMwLCAweGE4LCAKLSAgICAweGMyLCAweGFmLCAweDIzLCAweDZjLCAweGFhLCAweDJlLCAweDU0LCAweDY3LCAweDRiLCAweDBiLCAweDU4LCAweDUwLCAweDg5LCAweDU0LCAweDAxLCAweDAyLCAKLSAgICAweDA0LCAweDA4LCAweDEwLCAweDIwLCAweDQwLCAweDgwLCAweDc1LCAweDMxLCAweGIwLCAweDEyLCAweDdjLCAweDE1LCAweDBhLCAweDMyLCAweDA5LCAweGIzLCAKLSAgICAweDY3LCAweDhlLCAweDQyLCAweDMyLCAweDE5LCAweDQzLCAweDAwLCAweDM2LCAweGQwLCAweGE4LCAweDIyLCAweDdjLCAweGIyLCAweDIzLCAweDBhLCAweDNiLCAKLSAgICAweDQ5LCAweDMzLCAweDY3LCAweGNiLCAweDBhLCAweDIyLCAweDA5LCAweDMyLCAweDAwLCAweDM2LCAweDA5LCAweGIyLCAweDY3LCAweDhlLCAweGE1LCAweGJiLCAKLSAgICAweDAwLCAweDA1LCAweGY0LCAweDUyLCAweDMzLCAweDgwLCAweDAyLCAweDQyLCAweDMzLCAweDg5LCAweDM0LCAweDY3LCAweGRiLCAweDY4LCAweDA5LCAweDY4LCAKLSAgICAweDM3LCAweDY4LCAweDY1LCAweDY4LCAweDkzLCAweDY4LCAweGMxLCAweDY4LCAweGVmLCAweDY5LCAweDFkLCAweDEyLCAweDQxLCAweGI1LCAweGQyLCAweDI4LCAKLSAgICAweGQyLCAweDA4LCAweGMyLCAweDQwLCAweGMyLCAweDQ4LCAweGMyLCAweDM4LCAweGMyLCAweDMwLCAweDZkLCAweDAwLCAweDdhLCAweDAzLCAweDAxLCAweGNmLCAKLSAgICAweDdlLCAweDA0LCAweDAwLCAweDIwLCAweDdhLCAweDA3LCAweDAxLCAweGFmLCAweDdlLCAweDA0LCAweDAwLCAweDM4LCAweDdhLCAweDA3LCAweDAxLCAweGJmLCAKLSAgICAweDEyLCAweDQxLCAweDE2LCAweDEyLCAweDYwLCAweGNmLCAweDAyLCAweDY5LCAweDRiLCAweDEyLCAweDQxLCAweGQ0LCAweGQyLCAweDI5LCAweGQyLCAweDA5LCAKLSAgICAweGMyLCAweDQxLCAweGMyLCAweDQ5LCAweGMyLCAweDM5LCAweGMyLCAweDMxLCAweDZkLCAweDAwLCAweDdhLCAweDAzLCAweDAxLCAweGQwLCAweDdlLCAweDA0LCAKLSAgICAweDAwLCAweDIwLCAweDdhLCAweDA3LCAweDAxLCAweGIxLCAweDdlLCAweDA0LCAweDAwLCAweDM4LCAweDdhLCAweDA3LCAweDAxLCAweGMxLCAweDEyLCAweDQxLCAKLSAgICAweDE2LCAweDEyLCAweDYxLCAweDA1LCAweDAyLCAweDY5LCAweDRiLCAweDEyLCAweDQxLCAweGYzLCAweGQyLCAweDJhLCAweGQyLCAweDBhLCAweGMyLCAweDQyLCAKLSAgICAweGMyLCAweDRhLCAweGMyLCAweDNhLCAweGMyLCAweDMyLCAweDZkLCAweDAwLCAweDdhLCAweDAzLCAweDAxLCAweGQxLCAweDdlLCAweDA0LCAweDAwLCAweDIwLCAKLSAgICAweDdhLCAweDA3LCAweDAxLCAweGIzLCAweDdlLCAweDA0LCAweDAwLCAweDM4LCAweDdhLCAweDA3LCAweDAxLCAweGMzLCAweDEyLCAweDQxLCAweDE2LCAweDEyLCAKLSAgICAweDYxLCAweDNiLCAweDAyLCAweDY5LCAweDRiLCAweDEyLCAweDQyLCAweDEyLCAweGQyLCAweDJiLCAweGQyLCAweDBiLCAweGMyLCAweDQzLCAweGMyLCAweDRiLCAKLSAgICAweGMyLCAweDNiLCAweGMyLCAweDMzLCAweDZkLCAweDAwLCAweDdhLCAweDAzLCAweDAxLCAweGQyLCAweDdlLCAweDA0LCAweDAwLCAweDIwLCAweDdhLCAweDA3LCAKLSAgICAweDAxLCAweGI1LCAweDdlLCAweDA0LCAweDAwLCAweDM4LCAweDdhLCAweDA3LCAweDAxLCAweGM1LCAweDEyLCAweDQxLCAweDE2LCAweDEyLCAweDYxLCAweDcxLCAKLSAgICAweDAyLCAweDY5LCAweDRiLCAweDEyLCAweDQyLCAweDMxLCAweGQyLCAweDJjLCAweGQyLCAweDBjLCAweGMyLCAweDQ0LCAweGMyLCAweDRjLCAweGMyLCAweDNjLCAKLSAgICAweGMyLCAweDM0LCAweDZkLCAweDAwLCAweDdhLCAweDAzLCAweDAxLCAweGQzLCAweDdlLCAweDA0LCAweDAwLCAweDIwLCAweDdhLCAweDA3LCAweDAxLCAweGI3LCAKLSAgICAweDdlLCAweDA0LCAweDAwLCAweDM4LCAweDdhLCAweDA3LCAweDAxLCAweGM3LCAweDEyLCAweDQxLCAweDE2LCAweDEyLCAweDYxLCAweGE3LCAweDAyLCAweDY5LCAKLSAgICAweDRiLCAweDEyLCAweDQyLCAweDUwLCAweGQyLCAweDJkLCAweGQyLCAweDBkLCAweGMyLCAweDQ1LCAweGMyLCAweDRkLCAweGMyLCAweDNkLCAweGMyLCAweDM1LCAKLSAgICAweDZkLCAweDAwLCAweDdhLCAweDAzLCAweDAxLCAweGQ0LCAweDdlLCAweDA0LCAweDAwLCAweDIwLCAweDdhLCAweDA3LCAweDAxLCAweGI5LCAweDdlLCAweDA0LCAKLSAgICAweDAwLCAweDM4LCAweDdhLCAweDA3LCAweDAxLCAweGM5LCAweDEyLCAweDQxLCAweDE2LCAweDEyLCAweDYxLCAweGRkLCAweDAyLCAweDY5LCAweDRiLCAweDEyLCAKLSAgICAweDQyLCAweDZmLCAweGQyLCAweDJlLCAweGQyLCAweDBlLCAweGMyLCAweDQ2LCAweGMyLCAweDRlLCAweGMyLCAweDNlLCAweGMyLCAweDM2LCAweDZkLCAweDAwLCAKLSAgICAweDdhLCAweDAzLCAweDAxLCAweGQ1LCAweDdlLCAweDA0LCAweDAwLCAweDIwLCAweDdhLCAweDA3LCAweDAxLCAweGJiLCAweDdlLCAweDA0LCAweDAwLCAweDM4LCAKLSAgICAweDdhLCAweDA3LCAweDAxLCAweGNiLCAweDEyLCAweDQxLCAweDE2LCAweDEyLCAweDYyLCAweDEzLCAweDAyLCAweDY5LCAweDRiLCAweDEyLCAweDQyLCAweDhlLCAKLSAgICAweGQyLCAweDJmLCAweGQyLCAweDBmLCAweGMyLCAweDQ3LCAweGMyLCAweDRmLCAweGMyLCAweDNmLCAweGMyLCAweDM3LCAweDZkLCAweDAwLCAweDdhLCAweDAzLCAKLSAgICAweDAxLCAweGQ2LCAweDdlLCAweDA0LCAweDAwLCAweDIwLCAweDdhLCAweDA3LCAweDAxLCAweGJkLCAweDdlLCAweDA0LCAweDAwLCAweDM4LCAweDdhLCAweDA3LCAKLSAgICAweDAxLCAweGNkLCAweDEyLCAweDQxLCAweDE2LCAweDEyLCAweDYyLCAweDQ5LCAweDAyLCAweDY5LCAweDRiLCAweDdlLCAweGEwLCAweGQwLCAweDdlLCAweDYwLCAKLSAgICAweDBmLCAweDEyLCAweDYyLCAweGI2LCAweDQwLCAweDBjLCAweGMwLCAweGYxLCAweDc1LCAweGYxLCAweDAxLCAweDEyLCAweDZmLCAweGQ5LCAweGQwLCAweGYxLCAKLSAgICAweGMyLCAweGQ3LCAweDIyLCAweDc1LCAweDMxLCAweGIxLCAweDEyLCAweDdjLCAweDE1LCAweDBhLCAweDUyLCAweDIzLCAweDZkLCAweDAwLCAweDU5LCAweDA1LCAKLSAgICAweDAwLCAweDQ4LCAweDEyLCAweDQxLCAweDdlLCAweDEyLCAweDQxLCAweDlhLCAweGQwLCAweGE4LCAweDIyLCAweDc1LCAweDMxLCAweGIyLCAweDEyLCAweDdjLCAKLSAgICAweDE1LCAweDBhLCAweDIyLCAweDA5LCAweGIyLCAweDY3LCAweDhlLCAweDQyLCAweDIzLCAweDdlLCAweGIwLCAweDljLCAweDE5LCAweGIyLCAweDAxLCAweGNmLCAKLSAgICAweDEyLCAweDMxLCAweDg1LCAweGQwLCAweGE4LCAweDIyLCAweDc1LCAweDMxLCAweGI3LCAweDEyLCAweDdjLCAweDE1LCAweDBhLCAweDIyLCAweDA5LCAweGIyLCAKLSAgICAweDY3LCAweDhlLCAweDQyLCAweDI0LCAweDEyLCAweDM1LCAweDNkLCAweGQwLCAweGE4LCAweDIyLCAweDc1LCAweDMxLCAweGI5LCAweDEyLCAweDdjLCAweDE1LCAKLSAgICAweDBhLCAweDMyLCAweDA5LCAweGIzLCAweDY3LCAweDhlLCAweDQyLCAweDM0LCAweDE5LCAweDQzLCAweDAwLCAweDNlLCAweDEyLCAweDY5LCAweGMyLCAweGQwLCAKLSAgICAweGE4LCAweDIyLCAweDdjLCAweGIyLCAweDIzLCAweDBhLCAweDBiLCAweDdjLCAweGI0LCAweDIwLCAweGUwLCAweDA0LCAweDZkLCAweDMzLCAweDgwLCAweDA0LCAKLSAgICAweDQ5LCAweDMwLCAweDAxLCAweDhmLCAweDdlLCAweGEwLCAweGQ4LCAweGE1LCAweGVmLCAweGNhLCAweDBiLCAweGNhLCAweDI5LCAweDEyLCAweDYyLCAweGI2LCAKLSAgICAweGRhLCAweDI5LCAweGRhLCAweDBiLCAweDQwLCAweDYyLCAweDc1LCAweDMxLCAweGJhLCAweDEyLCAweDdjLCAweDE1LCAweDdjLCAweGI0LCAweDMwLCAweGUwLCAKLSAgICAweDFlLCAweDZkLCAweDMzLCAweDU5LCAweDMwLCAweDAxLCAweDhmLCAweDdlLCAweDM0LCAweDA5LCAweGUzLCAweDBhLCAweDgyLCAweDdlLCAweDk0LCAweDA0LCAKLSAgICAweDAwLCAweGFkLCAweDg5LCAweDJkLCAweDM5LCAweDU5LCAweDMwLCAweDAxLCAweDZmLCAweDU5LCAweDMwLCAweDAxLCAweDdmLCAweDdjLCAweGI0LCAweDMwLCAKLSAgICAweGUxLCAweDEwLCAweDdlLCAweDA0LCAweDgwLCAweDAwLCAweDRjLCAweDAyLCAweDA5LCAweGIwLCAweDAwLCAweDA4LCAweDQ0LCAweDA0LCAweDE5LCAweGIwLCAKLSAgICAweDAwLCAweDA4LCAweDBhLCAweDAyLCAweDA5LCAweGIwLCAweDY3LCAweDhlLCAweDQyLCAweDIxLCAweGY0LCAweDUyLCAweDM0LCAweDdjLCAweGIyLCAweDIzLCAKLSAgICAweDBhLCAweDBiLCAweGNhLCAweDE5LCAweDQ5LCAweDAwLCAweDMwLCAweGQ1LCAweDk5LCAweDA0LCAweGRhLCAweDE5LCAweGMwLCAweGYxLCAweDc1LCAweGYxLCAKLSAgICAweDAxLCAweDEyLCAweDZmLCAweGQ5LCAweGQwLCAweGYxLCAweGMyLCAweGQ3LCAweDIyLCAweDdlLCAweDA0LCAweDgwLCAweDAwLCAweDRjLCAweDAyLCAweDA5LCAKLSAgICAweDMwLCAweDAwLCAweDBjLCAweDc0LCAweGJmLCAweDE5LCAweGIwLCAweDAwLCAweDBjLCAweDA5LCAweGIwLCAweDAwLCAweDA4LCAweDE5LCAweDMwLCAweDAwLCAKLSAgICAweDBjLCAweDdjLCAweDc0LCAweDVlLCAweDcwLCAweDAxLCAweDY4LCAweDEyLCAweDQ0LCAweDQwLCAweGNhLCAweGI4LCAweDA5LCAweGIwLCAweDAwLCAweDEwLCAKLSAgICAweDQ0LCAweDAyLCAweDE5LCAweGIwLCAweDAwLCAweDEwLCAweGRhLCAweGI4LCAweDgwLCAweDAyLCAweDU0LCAweGJmLCAweDdjLCAweDc0LCAweDVlLCAweDcwLCAKLSAgICAweDA4LCAweDY4LCAweDA0LCAweDQ0LCAweDA4LCAweDgwLCAweDAyLCAweDU0LCAweGY3LCAweDA5LCAweDMwLCAweDAwLCAweDBjLCAweGNhLCAweGI4LCAweDc0LCAKLSAgICAweGJmLCAweDE5LCAweGIwLCAweDAwLCAweDBjLCAweGRhLCAweGI4LCAweDE5LCAweGIwLCAweDAwLCAweDA4LCAweDE5LCAweDMwLCAweDAwLCAweDBjLCAweDBhLCAKLSAgICAweDYyLCAweDA5LCAweGI2LCAweDY3LCAweDhlLCAweDNlLCAweDIwLCAweDBhLCAweDYyLCAweDdjLCAweDc0LCAweDVlLCAweDcwLCAweDAyLCAweDY4LCAweDIwLCAKLSAgICAweDQyLCAweDI3LCAweGNhLCAweGI4LCAweDc0LCAweDYxLCAweDE5LCAweGIwLCAweDAwLCAweDA4LCAweDdlLCAweDQ0LCAweDAwLCAweDEwLCAweDU5LCAweDQ2LCAKLSAgICAweDAxLCAweGJmLCAweDA5LCAweGIwLCAweDAwLCAweDEwLCAweDQ0LCAweDAxLCAweDE5LCAweGIwLCAweDAwLCAweDEwLCAweGRhLCAweGI4LCAweDgwLCAweDExLCAKLSAgICAweGY0LCAweDUyLCAweDI3LCAweDc0LCAweGExLCAweDE5LCAweGIwLCAweDAwLCAweDA4LCAweDdlLCAweDQ0LCAweDAwLCAweDM4LCAweDU5LCAweDQ2LCAweDAxLCAKLSAgICAweGJmLCAweGQwLCAweGE4LCAweDIyLCAweDdjLCAweDc0LCAweDdlLCAweDA0LCAweDgwLCAweDAwLCAweDRjLCAweDAyLCAweDBhLCAweDYyLCAweDA5LCAweGI2LCAKLSAgICAweDY3LCAweDhlLCAweGE1LCAweGZkLCAweGY0LCAweGE1LCAweGZlLCAweGNhLCAweDI4LCAweDNlLCAweDIwLCAweDBhLCAweDYyLCAweGE1LCAweGVlLCAweDUyLCAKLSAgICAweDI2LCAweDdlLCAweDQ0LCAweDAwLCAweDIwLCAweDU5LCAweDQ2LCAweDAxLCAweGFmLCAweGRhLCAweDI4LCAweDA5LCAweDMwLCAweDAwLCAweDBjLCAweDc0LCAKLSAgICAweGJmLCAweDE5LCAweGIwLCAweDAwLCAweDBjLCAweDA5LCAweGIwLCAweDAwLCAweDA4LCAweDdjLCAweDc0LCAweDVlLCAweDcwLCAweDAxLCAweDY4LCAweDBjLCAKLSAgICAweDQ0LCAweDgwLCAweGNhLCAweGI4LCAweGE1LCAweGVkLCAweDQyLCAweDJhLCAweGRhLCAweGI4LCAweDgwLCAweDBhLCAweDU0LCAweDdmLCAweGNhLCAweGI4LCAKLSAgICAweGE1LCAweGVlLCAweDUyLCAweDJhLCAweGRhLCAweGI4LCAweDdjLCAweDc0LCAweDVlLCAweDcwLCAweDA4LCAweDY4LCAweDA0LCAweDQ0LCAweDAyLCAweDgwLCAKLSAgICAweDAyLCAweDU0LCAweGZkLCAweDE5LCAweGIwLCAweDAwLCAweDA4LCAweDE5LCAweDMwLCAweDAwLCAweDBjLCAweDdjLCAweDc0LCAweDVlLCAweDcwLCAweDAyLCAKLSAgICAweDY4LCAweDEwLCAweGE1LCAweGVkLCAweDQyLCAweDI4LCAweDQyLCAweDI2LCAweDdlLCAweDQ0LCAweDAwLCAweDA4LCAweDU5LCAweDQ2LCAweDAxLCAweGFmLCAKLSAgICAweDgwLCAweDA0LCAweGE1LCAweGVlLCAweDUyLCAweDI4LCAweDdjLCAweDc0LCAweDVlLCAweDcwLCAweDA0LCAweDY4LCAweDEwLCAweGE1LCAweGVkLCAweDQyLCAKLSAgICAweDI5LCAweDQyLCAweDI2LCAweDdlLCAweDQ0LCAweDAwLCAweDA4LCAweDU5LCAweDQ2LCAweDAxLCAweGFmLCAweDgwLCAweDBiLCAweGE1LCAweGVlLCAweDUyLCAKLSAgICAweDI5LCAweDdjLCAweDc0LCAweDVlLCAweDcwLCAweDAyLCAweDc4LCAweDAwLCAweDEyLCAweDQyLCAweGFkLCAweGQwLCAweGE4LCAweDIyLCAweDdlLCAweDA0LCAKLSAgICAweDgwLCAweDAwLCAweDRjLCAweDAyLCAweDA5LCAweDMwLCAweDAwLCAweDBjLCAweDc0LCAweGJmLCAweDE5LCAweGIwLCAweDAwLCAweDBjLCAweDE5LCAweDQwLCAKLSAgICAweDAwLCAweDEwLCAweDE5LCAweDMwLCAweDAwLCAweDBjLCAweGQwLCAweGE4LCAweDIyLCAweDdlLCAweDA0LCAweDgwLCAweDAwLCAweDRjLCAweDAyLCAweDA5LCAKLSAgICAweDMwLCAweDAwLCAweDBjLCAweDc0LCAweGJmLCAweDE5LCAweGIwLCAweDAwLCAweDBjLCAweDE5LCAweDQwLCAweDAwLCAweDE4LCAweDE5LCAweDMwLCAweDAwLCAKLSAgICAweDBjLCAweGQwLCAweGE4LCAweDIyLCAweDc1LCAweDMxLCAweGI1LCAweDEyLCAweDdjLCAweDE1LCAweDdlLCAweDA0LCAweDgwLCAweDAwLCAweDRjLCAweDAyLCAKLSAgICAweDA5LCAweGIwLCAweDAwLCAweDBjLCAweDQ0LCAweDQwLCAweDE5LCAweGIwLCAweDAwLCAweDBjLCAweGU1LCAweDZlLCAweGI0LCAweDA3LCAweDIzLCAweDA5LCAKLSAgICAweGIwLCAweDAwLCAweDEwLCAweDRlLCAweGIwLCAweDAyLCAweDE5LCAweGIwLCAweDAwLCAweDEwLCAweDA5LCAweDMwLCAweDAwLCAweDBjLCAweDc0LCAweGJmLCAKLSAgICAweDE5LCAweGIwLCAweDAwLCAweDBjLCAweDA5LCAweGIwLCAweDAwLCAweDA0LCAweDU0LCAweGY3LCAweDE5LCAweGIwLCAweDAwLCAweDA0LCAweDE5LCAweDMwLCAKLSAgICAweDAwLCAweDBjLCAweGQwLCAweGE4LCAweDIyLCAweDc1LCAweDMxLCAweGI2LCAweDEyLCAweDdjLCAweDE1LCAweDdlLCAweDA0LCAweDgwLCAweDAwLCAweDRjLCAKLSAgICAweDAyLCAweGU1LCAweDZlLCAweGI0LCAweDA3LCAweDE4LCAweDA5LCAweDMwLCAweDAwLCAweDBjLCAweDc0LCAweGJmLCAweDE5LCAweGIwLCAweDAwLCAweDBjLCAKLSAgICAweDA5LCAweGIwLCAweDAwLCAweDA0LCAweDQ0LCAweDA4LCAweDE5LCAweGIwLCAweDAwLCAweDA0LCAweDE5LCAweDMwLCAweDAwLCAweDBjLCAweDA5LCAweGIwLCAKLSAgICAweDAwLCAweDBjLCAweDU0LCAweGJmLCAweDE5LCAweGIwLCAweDAwLCAweDBjLCAweGQwLCAweGE4LCAweDIyLCAweDc1LCAweDMxLCAweGI0LCAweDEyLCAweDdjLCAKLSAgICAweDE1LCAweDdhLCAweDIxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweDQxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweDBhLCAweDMyLCAweDA5LCAKLSAgICAweGIzLCAweDY3LCAweDhlLCAweDQyLCAweDM1LCAweDEyLCAweDZjLCAweDViLCAweGQwLCAweGE4LCAweDIyLCAweDdlLCAweGIwLCAweDAxLCAweDdlLCAweGEwLCAKLSAgICAweGM4LCAweDdjLCAweDY0LCAweDEyLCAweDYyLCAweGI2LCAweDQwLCAweDEzLCAweDBhLCAweDMyLCAweDA5LCAweGIzLCAweDY3LCAweDhlLCAweGY0LCAweDUyLCAKLSAgICAweDM1LCAweGMwLCAweGYxLCAweDc1LCAweGYxLCAweDAxLCAweDEyLCAweDZmLCAweGQ5LCAweGQwLCAweGYxLCAweDIyLCAweDZjLCAweDhjLCAweDZjLCAweGQzLCAKLSAgICAweDZkLCAweDFhLCAweDZkLCAweDYxLCAweDZkLCAweGE4LCAweDZkLCAweGVmLCAweDZlLCAweDM2LCAweDZlLCAweDdkLCAweDc1LCAweDMxLCAweDU1LCAweDEyLCAKLSAgICAweDdjLCAweDE1LCAweDc1LCAweDMxLCAweDAwLCAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweDYxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweDcxLCAKLSAgICAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweDdlLCAweDE3LCAweDAxLCAweDdmLCAweDdlLCAweDI3LCAweDAxLCAweDhmLCAweDJkLCAweDIzLCAweDdlLCAweDA5LCAKLSAgICAweGIwLCAweDBiLCAweDA0LCAweDdhLCAweDE5LCAweGIwLCAweDBiLCAweDE0LCAweGJlLCAweDE0LCAweDBkLCAweGUyLCAweDM4LCAweDBmLCAweDFiLCAweDM0LCAKLSAgICAweDc4LCAweGVjLCAweDdhLCAweDE3LCAweDAxLCAweDdmLCAweDdhLCAweDI3LCAweDAxLCAweDhmLCAweDAyLCAweDQ2LCAweDBmLCAweDdlLCAweDE0LCAweDA5LCAKLSAgICAweGUzLCAweDgwLCAweGViLCAweDc1LCAweDMxLCAweDU1LCAweDEyLCAweDdjLCAweDE1LCAweDc1LCAweDMxLCAweDAxLCAweDEyLCAweDdjLCAweDE1LCAweDdhLCAKLSAgICAweDYxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweDcxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweDdlLCAweDE3LCAweDAxLCAweDgxLCAweDdlLCAKLSAgICAweDI3LCAweDAxLCAweDkxLCAweDJkLCAweDIzLCAweDdlLCAweDA5LCAweGIwLCAweDBiLCAweDA0LCAweDdhLCAweDE5LCAweGIwLCAweDBiLCAweDE0LCAweGJlLCAKLSAgICAweDE0LCAweDExLCAweGUyLCAweDM4LCAweDBmLCAweDFiLCAweDM0LCAweDc4LCAweGVjLCAweDdhLCAweDE3LCAweDAxLCAweDgxLCAweDdhLCAweDI3LCAweDAxLCAKLSAgICAweDkxLCAweDAyLCAweDQ5LCAweDY3LCAweDdlLCAweDE0LCAweDBkLCAweGUzLCAweDgwLCAweGViLCAweDc1LCAweDMxLCAweDU1LCAweDEyLCAweDdjLCAweDE1LCAKLSAgICAweDc1LCAweDMxLCAweDAyLCAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweDYxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweDcxLCAweDMxLCAweDEyLCAKLSAgICAweDdjLCAweDE1LCAweDdlLCAweDE3LCAweDAxLCAweDgzLCAweDdlLCAweDI3LCAweDAxLCAweDkzLCAweDJkLCAweDIzLCAweDdlLCAweDA5LCAweGIwLCAweDBiLCAKLSAgICAweDA0LCAweDdhLCAweDE5LCAweGIwLCAweDBiLCAweDE0LCAweGJlLCAweDE0LCAweDE1LCAweGUyLCAweDM4LCAweDBmLCAweDFiLCAweDM0LCAweDc4LCAweGVjLCAKLSAgICAweDdhLCAweDE3LCAweDAxLCAweDgzLCAweDdhLCAweDI3LCAweDAxLCAweDkzLCAweDAyLCAweDRjLCAweGJmLCAweDdlLCAweDE0LCAweDExLCAweGUzLCAweDgwLCAKLSAgICAweGViLCAweDc1LCAweDMxLCAweDU1LCAweDEyLCAweDdjLCAweDE1LCAweDc1LCAweDMxLCAweDAzLCAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweDYxLCAweDMxLCAKLSAgICAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweDcxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweDdlLCAweDE3LCAweDAxLCAweDg1LCAweDdlLCAweDI3LCAweDAxLCAKLSAgICAweDk1LCAweDJkLCAweDIzLCAweDdlLCAweDA5LCAweGIwLCAweDBiLCAweDA0LCAweDdhLCAweDE5LCAweGIwLCAweDBiLCAweDE0LCAweGJlLCAweDE0LCAweDE5LCAKLSAgICAweGUyLCAweDM4LCAweDBmLCAweDFiLCAweDM0LCAweDc4LCAweGVjLCAweDdhLCAweDE3LCAweDAxLCAweDg1LCAweDdhLCAweDI3LCAweDAxLCAweDk1LCAweDAyLCAKLSAgICAweDUwLCAweDE3LCAweDdlLCAweDE0LCAweDE1LCAweGUzLCAweDgwLCAweGViLCAweDc1LCAweDMxLCAweDU1LCAweDEyLCAweDdjLCAweDE1LCAweDc1LCAweDMxLCAKLSAgICAweDA0LCAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweDYxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweDcxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAKLSAgICAweDdlLCAweDE3LCAweDAxLCAweDg3LCAweDdlLCAweDI3LCAweDAxLCAweDk3LCAweDJkLCAweDIzLCAweDdlLCAweDA5LCAweGIwLCAweDBiLCAweDA0LCAweDdhLCAKLSAgICAweDE5LCAweGIwLCAweDBiLCAweDE0LCAweGJlLCAweDE0LCAweDFkLCAweGUyLCAweDM4LCAweDBmLCAweDFiLCAweDM0LCAweDc4LCAweGVjLCAweDdhLCAweDE3LCAKLSAgICAweDAxLCAweDg3LCAweDdhLCAweDI3LCAweDAxLCAweDk3LCAweDAyLCAweDUzLCAweDZmLCAweDdlLCAweDE0LCAweDE5LCAweGUzLCAweDgwLCAweGViLCAweDc1LCAKLSAgICAweDMxLCAweDU1LCAweDEyLCAweDdjLCAweDE1LCAweDc1LCAweDMxLCAweDA1LCAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweDYxLCAweDMxLCAweDEyLCAweDdjLCAKLSAgICAweDE1LCAweDdhLCAweDcxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweDdlLCAweDE3LCAweDAxLCAweDg5LCAweDdlLCAweDI3LCAweDAxLCAweDk5LCAweDJkLCAKLSAgICAweDIzLCAweDdlLCAweDA5LCAweGIwLCAweDBiLCAweDA0LCAweDdhLCAweDE5LCAweGIwLCAweDBiLCAweDE0LCAweGJlLCAweDE0LCAweDIxLCAweGUyLCAweDM4LCAKLSAgICAweDBmLCAweDFiLCAweDM0LCAweDc4LCAweGVjLCAweDdhLCAweDE3LCAweDAxLCAweDg5LCAweDdhLCAweDI3LCAweDAxLCAweDk5LCAweDAyLCAweDU2LCAweGM3LCAKLSAgICAweDdlLCAweDE0LCAweDFkLCAweGUzLCAweDgwLCAweGViLCAweDc1LCAweDMxLCAweDU1LCAweDEyLCAweDdjLCAweDE1LCAweDc1LCAweDMxLCAweDA2LCAweDEyLCAKLSAgICAweDdjLCAweDE1LCAweDdhLCAweDYxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweDcxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweDdlLCAweDE3LCAKLSAgICAweDAxLCAweDhiLCAweDdlLCAweDI3LCAweDAxLCAweDliLCAweDJkLCAweDIzLCAweDdlLCAweDA5LCAweGIwLCAweDBiLCAweDA0LCAweDdhLCAweDE5LCAweGIwLCAKLSAgICAweDBiLCAweDE0LCAweGJlLCAweDE0LCAweDI1LCAweGUyLCAweDM4LCAweDBmLCAweDFiLCAweDM0LCAweDc4LCAweGVjLCAweDdhLCAweDE3LCAweDAxLCAweDhiLCAKLSAgICAweDdhLCAweDI3LCAweDAxLCAweDliLCAweDAyLCAweDVhLCAweDFmLCAweDdlLCAweDE0LCAweDIxLCAweGUzLCAweDgwLCAweGViLCAweDc1LCAweDMxLCAweDU1LCAKLSAgICAweDEyLCAweDdjLCAweDE1LCAweDc1LCAweDMxLCAweDA3LCAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweDYxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweDdhLCAKLSAgICAweDcxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweDdlLCAweDE3LCAweDAxLCAweDhkLCAweDdlLCAweDI3LCAweDAxLCAweDlkLCAweDJkLCAweDIzLCAweDdlLCAKLSAgICAweDA5LCAweGIwLCAweDBiLCAweDA0LCAweDdhLCAweDE5LCAweGIwLCAweDBiLCAweDE0LCAweGJlLCAweDE0LCAweDI5LCAweGUyLCAweDM4LCAweDBmLCAweDFiLCAKLSAgICAweDM0LCAweDc4LCAweGVjLCAweDdhLCAweDE3LCAweDAxLCAweDhkLCAweDdhLCAweDI3LCAweDAxLCAweDlkLCAweDAyLCAweDVkLCAweDc3LCAweDdlLCAweDE0LCAKLSAgICAweDI1LCAweGUzLCAweDgwLCAweGViLCAweGNhLCAweGI4LCAweGMwLCAweGYxLCAweDc1LCAweDMxLCAweDAyLCAweDEyLCAweDdjLCAweDE1LCAweGU1LCAweGMwLCAKLSAgICAweDU0LCAweDAzLCAweDY4LCAweDA1LCAweDEyLCAweDc1LCAweGNkLCAweDgwLCAweGY1LCAweDMwLCAweGMyLCAweDA4LCAweDc1LCAweGYxLCAweDAxLCAweDEyLCAKLSAgICAweDZmLCAweGQ5LCAweDgwLCAweDE0LCAweDMwLCAweGMzLCAweDA4LCAweDc1LCAweGYxLCAweDAxLCAweDEyLCAweDZlLCAweGZkLCAweDgwLCAweDA5LCAweDMwLCAKLSAgICAweGM0LCAweDA2LCAweDc1LCAweGYxLCAweDAyLCAweDEyLCAweDcwLCAweGU5LCAweGQwLCAweGYxLCAweGRhLCAweGI4LCAweDMyLCAweDc1LCAweDMxLCAweDEwLCAKLSAgICAweDEyLCAweDdjLCAweDE1LCAweGNhLCAweDBiLCAweGNhLCAweDM5LCAweGNhLCAweDU5LCAweGMyLCAweGMzLCAweGE5LCAweDIxLCAweGUyLCAweDVjLCAweGU1LCAKLSAgICAweGU1LCAweDU0LCAweGMwLCAweDY4LCAweDRmLCAweGU1LCAweGU2LCAweDZjLCAweGFhLCAweDdlLCAweDM3LCAweDAxLCAweGRiLCAweDJkLCAweDM1LCAweGJlLCAKLSAgICAweDM0LCAweDA0LCAweDAwLCAweDM4LCAweDRhLCAweDdhLCAweDM3LCAweDAxLCAweGRiLCAweDdlLCAweDM3LCAweDAxLCAweGQ5LCAweDdkLCAweDQzLCAweDJkLCAKLSAgICAweDQ1LCAweGJlLCAweDQ0LCAweDA5LCAweGUyLCAweDM4LCAweDQwLCAweDdhLCAweDQ3LCAweDAxLCAweGQ5LCAweDc1LCAweDMxLCAweDExLCAweDEyLCAweDdjLCAKLSAgICAweDE1LCAweDdhLCAweGIxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweDEyLCAweDcxLCAweGI4LCAweGE5LCAweDIxLCAweGU1LCAweDFmLCAweGE5LCAweGQ0LCAKLSAgICAweGU0LCAweGE5LCAweDI0LCAweGU0LCAweGZjLCAweGMyLCAweGMzLCAweGE5LCAweDIxLCAweGUyLCAweDNiLCAweGU1LCAweGU1LCAweDU0LCAweGMwLCAweDc4LCAKLSAgICAweGI0LCAweDEyLCAweDc0LCAweDVhLCAweGRhLCAweDU5LCAweGRhLCAweDM5LCAweGRhLCAweDBiLCAweDIyLCAweDgwLCAweDI5LCAweDgwLCAweDU4LCAweDc1LCAKLSAgICAweDMxLCAweDE2LCAweDEyLCAweDdjLCAweDE1LCAweDgwLCAweGVkLCAweDc1LCAweDMxLCAweDEyLCAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweGIxLCAweDMxLCAKLSAgICAweDEyLCAweDdjLCAweDE1LCAweDllLCAweDQ0LCAweDA5LCAweGUzLCAweDlkLCAweDU0LCAweDEyLCAweDcxLCAweGI4LCAweDdlLCAweDM0LCAweDA1LCAweGUzLCAKLSAgICAweDdkLCAweDU0LCAweDJkLCAweDQzLCAweDgwLCAweGExLCAweGU1LCAweGU1LCAweDU0LCAweDAzLCAweDc4LCAweDEyLCAweDc1LCAweDMxLCAweDEzLCAweDEyLCAKLSAgICAweDdjLCAweDE1LCAweDdlLCAweDBmLCAweDI5LCAweGZmLCAweDBiLCAweDBjLCAweDdhLCAweDBmLCAweDI5LCAweGZmLCAweDgwLCAweGE3LCAweDc1LCAweDMxLCAKLSAgICAweDE0LCAweDEyLCAweDdjLCAweDE1LCAweDdlLCAweDBmLCAweDJhLCAweDAzLCAweDBiLCAweDBjLCAweDdhLCAweDBmLCAweDJhLCAweDAzLCAweGE5LCAweGQ3LCAKLSAgICAweGU0LCAweGE5LCAweDI3LCAweGU0LCAweGZjLCAweDgwLCAweDlkLCAweDc1LCAweDMxLCAweDE1LCAweDEyLCAweDdjLCAweDE1LCAweDdlLCAweDBmLCAweDJhLCAKLSAgICAweDA3LCAweDBiLCAweDBjLCAweDdhLCAweDBmLCAweDJhLCAweDA3LCAweDgwLCAweGU1LCAweDc1LCAweDMxLCAweDE4LCAweDEyLCAweDdjLCAweDE1LCAweGNhLCAKLSAgICAweDA5LCAweGNhLCAweDM5LCAweGNhLCAweDJiLCAweGMyLCAweGMyLCAweGE5LCAweDIxLCAweGYyLCAweDUyLCAweGU1LCAweGY1LCAweDMzLCAweDgyLCAweGU3LCAKLSAgICAweDQwLCAweDQ0LCAweDdlLCAweDM3LCAweDAxLCAweGUxLCAweDdlLCAweDU0LCAweDAwLCAweDQwLCAweDlkLCAweDM1LCAweDQwLCAweDQzLCAweDdhLCAweDM3LCAKLSAgICAweDAxLCAweGUxLCAweDdlLCAweDM3LCAweDAxLCAweGRkLCAweDdkLCAweDQzLCAweDJkLCAweDQ1LCAweGJlLCAweDQ0LCAweDA1LCAweGUyLCAweDM4LCAweDUyLCAKLSAgICAweDdhLCAweDQ3LCAweDAxLCAweGRkLCAweDdkLCAweDQ1LCAweDEyLCAweDczLCAweDE2LCAweGE5LCAweDIwLCAweGY1LCAweDIyLCAweDc1LCAweDMxLCAweDE5LCAKLSAgICAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweDkxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweDgxLCAweGY3LCAweDdhLCAweDkxLCAweGY2LCAweGU1LCAKLSAgICAweGY1LCAweDMzLCAweDgyLCAweGU3LCAweDUwLCAweGJjLCAweGRhLCAweDJiLCAweGRhLCAweDM5LCAweGRhLCAweDA5LCAweDIyLCAweDgwLCAweDQxLCAweDgwLCAKLSAgICAweDY0LCAweDJkLCAweDUzLCAweDZkLCAweDMzLCAweDcwLCAweGI3LCAweDdlLCAweDA0LCAweDAxLCAweGUzLCAweDdhLCAweDA3LCAweDAxLCAweGRmLCAweDdhLCAKLSAgICAweDA3LCAweDAxLCAweGRkLCAweGE5LCAweDMyLCAweGYyLCAweGRmLCAweDg1LCAweDMwLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweDc1LCAweGY2LCAweDAwLCAKLSAgICAweDgwLCAweGQ0LCAweGNhLCAweDU5LCAweDllLCAweDQ0LCAweDA1LCAweGUzLCAweDlkLCAweDU0LCAweDEyLCAweDczLCAweDE2LCAweDdlLCAweDM0LCAweDAxLCAKLSAgICAweGUzLCAweDdkLCAweDU0LCAweDJkLCAweDQzLCAweDdhLCAweDQ3LCAweDAxLCAweGRkLCAweDEyLCAweDczLCAweDE2LCAweGRhLCAweDQ5LCAweDgwLCAweDk5LCAKLSAgICAweGU1LCAweGY1LCAweDU0LCAweDAzLCAweDc4LCAweDFmLCAweDdlLCAweDBmLCAweDI5LCAweGVmLCAweDBiLCAweDBjLCAweDdhLCAweDBmLCAweDI5LCAweGVmLCAKLSAgICAweDgwLCAweDlkLCAweDdlLCAweDBmLCAweDI5LCAweGY3LCAweDBiLCAweDBjLCAweDdhLCAweDBmLCAweDI5LCAweGY3LCAweGE5LCAweGQ3LCAweGY0LCAweGE5LCAKLSAgICAweDI3LCAweGY0LCAweGZjLCAweDgwLCAweDhhLCAweDdlLCAweDBmLCAweDI5LCAweGYzLCAweDBiLCAweDBjLCAweDdhLCAweDBmLCAweDI5LCAweGYzLCAweDgwLCAKLSAgICAweGViLCAweGU1LCAweGY1LCAweDU0LCAweDAzLCAweDc4LCAweDFmLCAweDdlLCAweDJmLCAweDJhLCAweDBmLCAweDBiLCAweDJjLCAweDdhLCAweDJmLCAweDJhLCAKLSAgICAweDBmLCAweDgwLCAweDM0LCAweDdlLCAweDJmLCAweDJhLCAweDE3LCAweDBiLCAweDJjLCAweDdhLCAweDJmLCAweDJhLCAweDE3LCAweGE5LCAweGQ3LCAweGY0LCAKLSAgICAweGE5LCAweDI3LCAweGY0LCAweGZjLCAweDgwLCAweDIxLCAweDdlLCAweDJmLCAweDJhLCAweDEzLCAweDBiLCAweDJjLCAweDdhLCAweDJmLCAweDJhLCAweDEzLCAKLSAgICAweDgwLCAweGViLCAweGRhLCAweDJiLCAweGRhLCAweDFiLCAweGRhLCAweDBiLCAweDIyLCAweDc1LCAweDMxLCAweDI4LCAweDEyLCAweDdjLCAweDE1LCAweGNhLCAKLSAgICAweDBiLCAweGNhLCAweDFiLCAweGNhLCAweDJiLCAweGMyLCAweGM0LCAweGE5LCAweDIxLCAweGYyLCAweGI2LCAweGU1LCAweGY1LCAweDMzLCAweDcyLCAweGU3LCAKLSAgICAweDQwLCAweGUwLCAweDdlLCAweDBkLCAweDQ2LCAweDdlLCAweDFkLCAweDRhLCAweDdlLCAweDJkLCAweDRlLCAweDdlLCAweDNkLCAweDUyLCAweDdlLCAweDg1LCAKLSAgICAweDU2LCAweDdkLCAweDkwLCAweDRkLCAweDkxLCAweDRkLCAweDkyLCAweDRkLCAweDkzLCAweDRkLCAweDk0LCAweDRkLCAweDk1LCAweDRkLCAweDk2LCAweDRkLCAKLSAgICAweDk3LCAweDRkLCAweDk4LCAweDY4LCAweDcyLCAweDdhLCAweDExLCAweGYzLCAweDdhLCAweDAxLCAweGYzLCAweDdhLCAweDMxLCAweGYzLCAweDdhLCAweDIxLCAKLSAgICAweGYzLCAweDdhLCAweDUxLCAweGYzLCAweDdhLCAweDQxLCAweGYzLCAweDdhLCAweDcxLCAweGYzLCAweDdhLCAweDYxLCAweGYzLCAweDdhLCAweDkxLCAweGYzLCAKLSAgICAweDdhLCAweDgxLCAweGYzLCAweDMwLCAweDdiLCAweDFhLCAweDdhLCAweGIxLCAweGYzLCAweDdhLCAweGExLCAweGYzLCAweDdhLCAweGQxLCAweGYzLCAweDdhLCAKLSAgICAweGMxLCAweGYzLCAweDdhLCAweGYxLCAweGYzLCAweDdhLCAweGUxLCAweGYzLCAweDdkLCAweDc4LCAweDdhLCAweGYxLCAweGYzLCAweDdhLCAweGUxLCAweGYzLCAKLSAgICAweGE5LCAweDMwLCAweGY1LCAweDAzLCAweDAyLCAweDcwLCAweGQ2LCAweDc1LCAweDMxLCAweDI5LCAweDEyLCAweDdjLCAweDE1LCAweDIwLCAweDdiLCAweDBiLCAKLSAgICAweDc1LCAweDMxLCAweDBhLCAweDEyLCAweDdjLCAweDE1LCAweDc1LCAweGY2LCAweDBhLCAweDgwLCAweDA5LCAweDc1LCAweDMxLCAweDEyLCAweDEyLCAweDdjLCAKLSAgICAweDE1LCAweDc1LCAweGY2LCAweDEyLCAweDZkLCAweDAwLCAweDdkLCAweDEwLCAweDdhLCAweDBkLCAweDQ2LCAweDdhLCAweDBkLCAweDRhLCAweDdhLCAweDBkLCAKLSAgICAweDRlLCAweDdhLCAweDBkLCAweDUyLCAweDdhLCAweDA1LCAweDU2LCAweGRhLCAweDJiLCAweGRhLCAweDFiLCAweGRhLCAweDBiLCAweDIyLCAweDFlLCAweGIwLCAKLSAgICAweDQwLCAweDBjLCAweDdlLCAweGEwLCAweDBhLCAweGE0LCAweDdlLCAweDA0LCAweDcyLCAweGZiLCAweDlkLCAweDA1LCAweDg5LCAweDA0LCAweDdlLCAweGExLCAKLSAgICAweGUzLCAweDdhLCAweDM5LCAweGEwLCAweDBiLCAweDM0LCAweDgwLCAweGVhLCAweGI0LCAweDQwLCAweGUzLCAweDdlLCAweGExLCAweGUzLCAweGU1LCAweGUzLCAKLSAgICAweDFiLCAweDM4LCAweDUwLCAweDBiLCAweDM1LCAweDdlLCAweGExLCAweGUzLCAweGU1LCAweGUzLCAweDFiLCAweDM4LCAweDUwLCAweDBiLCAweDM1LCAweDdlLCAKLSAgICAweGExLCAweGUzLCAweGU1LCAweGUzLCAweDFiLCAweDM4LCAweDUwLCAweDBiLCAweDM1LCAweDdlLCAweGExLCAweGUzLCAweGU1LCAweGUzLCAweDFiLCAweDM4LCAKLSAgICAweDUwLCAweDBiLCAweDM1LCAweDdlLCAweGExLCAweGUzLCAweGU1LCAweGUzLCAweDFiLCAweDM4LCAweDUwLCAweDBiLCAweDM1LCAweDdlLCAweGExLCAweGUzLCAKLSAgICAweGU1LCAweGUzLCAweDFiLCAweDM4LCAweDUwLCAweDBiLCAweDM1LCAweDdlLCAweGExLCAweGUzLCAweGU1LCAweGUzLCAweDFiLCAweDM4LCAweDUwLCAweDBiLCAKLSAgICAweDM1LCAweDdlLCAweGExLCAweGUzLCAweGU1LCAweGUzLCAweDFiLCAweDM4LCAweDUwLCAweDBiLCAweDM1LCAweDdlLCAweGExLCAweGUzLCAweGU1LCAweGUzLCAKLSAgICAweDFiLCAweDM4LCAweDUwLCAweDBiLCAweDM1LCAweDdlLCAweGExLCAweGUzLCAweGU1LCAweGUzLCAweDFiLCAweDM4LCAweDUwLCAweDBiLCAweDM1LCAweDdlLCAKLSAgICAweGExLCAweGUzLCAweGU1LCAweGUzLCAweDFiLCAweDM4LCAweDUwLCAweDBiLCAweDM1LCAweDdlLCAweGExLCAweGUzLCAweGU1LCAweGUzLCAweDFiLCAweDM4LCAKLSAgICAweDUwLCAweDBiLCAweDM1LCAweDdlLCAweGExLCAweGUzLCAweGU1LCAweGUzLCAweDFiLCAweDM4LCAweDUwLCAweDBiLCAweDM1LCAweDdlLCAweGExLCAweGUzLCAKLSAgICAweGU1LCAweGUzLCAweDFiLCAweDM4LCAweDUwLCAweDBiLCAweDM1LCAweDdlLCAweGExLCAweGUzLCAweGU1LCAweGUzLCAweDFiLCAweDM4LCAweDUwLCAweDBiLCAKLSAgICAweDM1LCAweDdlLCAweGExLCAweGUzLCAweGU1LCAweGUzLCAweDFiLCAweDM4LCAweDUwLCAweDBiLCAweDM1LCAweDdlLCAweGExLCAweGUzLCAweGU1LCAweGUzLCAKLSAgICAweDFiLCAweDM4LCAweDUwLCAweDBiLCAweDM1LCAweDdlLCAweGExLCAweGUzLCAweGU1LCAweGUzLCAweDFiLCAweDM4LCAweDUwLCAweDBiLCAweDM1LCAweDdlLCAKLSAgICAweGExLCAweGUzLCAweGU1LCAweGUzLCAweDFiLCAweDM4LCAweDUwLCAweDBiLCAweDM1LCAweDdlLCAweGExLCAweGUzLCAweGU1LCAweGUzLCAweDFiLCAweDM4LCAKLSAgICAweDUwLCAweDBiLCAweDM1LCAweDdlLCAweGExLCAweGUzLCAweGU1LCAweGUzLCAweDFiLCAweDM4LCAweDUwLCAweDBiLCAweDM1LCAweDdlLCAweGExLCAweGUzLCAKLSAgICAweGU1LCAweGUzLCAweDFiLCAweDM4LCAweDUwLCAweDBiLCAweDM1LCAweDdlLCAweGExLCAweGUzLCAweGU1LCAweGUzLCAweDFiLCAweDM4LCAweDUwLCAweDBiLCAKLSAgICAweDM1LCAweDdlLCAweGExLCAweGUzLCAweGU1LCAweGUzLCAweDFiLCAweDM4LCAweDUwLCAweDBiLCAweDM1LCAweDdlLCAweGExLCAweGUzLCAweGU1LCAweGUzLCAKLSAgICAweDFiLCAweDM4LCAweDUwLCAweDBiLCAweDM1LCAweDdlLCAweGExLCAweGUzLCAweGU1LCAweGUzLCAweDFiLCAweDM4LCAweDUwLCAweDBiLCAweDM1LCAweDdlLCAKLSAgICAweGExLCAweGUzLCAweGU1LCAweGUzLCAweDFiLCAweDM4LCAweDUwLCAweDBiLCAweDM1LCAweDdlLCAweGExLCAweGUzLCAweGU1LCAweGUzLCAweDFiLCAweDM4LCAKLSAgICAweDUwLCAweDBiLCAweDM1LCAweDdlLCAweGExLCAweGUzLCAweGU1LCAweGUzLCAweDFiLCAweDM4LCAweDUwLCAweDBiLCAweDM1LCAweDdlLCAweGExLCAweGUzLCAKLSAgICAweGU1LCAweGUzLCAweDFiLCAweDM4LCAweDUwLCAweDBiLCAweDM1LCAweDdlLCAweGExLCAweGUzLCAweGU1LCAweGUzLCAweDFiLCAweDM4LCAweDUwLCAweDBiLCAKLSAgICAweDM1LCAweDdlLCAweGExLCAweGUzLCAweGU1LCAweGUzLCAweDFiLCAweDM4LCAweDUwLCAweDBiLCAweDM1LCAweDIyLCAweDFlLCAweGIwLCAweDQwLCAweDBjLCAKLSAgICAweDdlLCAweGEwLCAweDBhLCAweGE0LCAweDdlLCAweDA0LCAweDc0LCAweDU5LCAweDlkLCAweDA1LCAweDg5LCAweDA0LCAweDdlLCAweDM5LCAweGEwLCAweDdhLCAKLSAgICAweGExLCAweGYzLCAweDBiLCAweDM0LCAweDgwLCAweGVhLCAweGI0LCAweDQwLCAweGUzLCAweDBiLCAweDM4LCAweDUwLCAweDdhLCAweGExLCAweGYzLCAweGY1LCAKLSAgICAweGYzLCAweDBiLCAweDM1LCAweDBiLCAweDM4LCAweDUwLCAweDdhLCAweGExLCAweGYzLCAweGY1LCAweGYzLCAweDBiLCAweDM1LCAweDBiLCAweDM4LCAweDUwLCAKLSAgICAweDdhLCAweGExLCAweGYzLCAweGY1LCAweGYzLCAweDBiLCAweDM1LCAweDBiLCAweDM4LCAweDUwLCAweDdhLCAweGExLCAweGYzLCAweGY1LCAweGYzLCAweDBiLCAKLSAgICAweDM1LCAweDBiLCAweDM4LCAweDUwLCAweDdhLCAweGExLCAweGYzLCAweGY1LCAweGYzLCAweDBiLCAweDM1LCAweDBiLCAweDM4LCAweDUwLCAweDdhLCAweGExLCAKLSAgICAweGYzLCAweGY1LCAweGYzLCAweDBiLCAweDM1LCAweDBiLCAweDM4LCAweDUwLCAweDdhLCAweGExLCAweGYzLCAweGY1LCAweGYzLCAweDBiLCAweDM1LCAweDBiLCAKLSAgICAweDM4LCAweDUwLCAweDdhLCAweGExLCAweGYzLCAweGY1LCAweGYzLCAweDBiLCAweDM1LCAweDBiLCAweDM4LCAweDUwLCAweDdhLCAweGExLCAweGYzLCAweGY1LCAKLSAgICAweGYzLCAweDBiLCAweDM1LCAweDBiLCAweDM4LCAweDUwLCAweDdhLCAweGExLCAweGYzLCAweGY1LCAweGYzLCAweDBiLCAweDM1LCAweDBiLCAweDM4LCAweDUwLCAKLSAgICAweDdhLCAweGExLCAweGYzLCAweGY1LCAweGYzLCAweDBiLCAweDM1LCAweDBiLCAweDM4LCAweDUwLCAweDdhLCAweGExLCAweGYzLCAweGY1LCAweGYzLCAweDBiLCAKLSAgICAweDM1LCAweDBiLCAweDM4LCAweDUwLCAweDdhLCAweGExLCAweGYzLCAweGY1LCAweGYzLCAweDBiLCAweDM1LCAweDBiLCAweDM4LCAweDUwLCAweDdhLCAweGExLCAKLSAgICAweGYzLCAweGY1LCAweGYzLCAweDBiLCAweDM1LCAweDBiLCAweDM4LCAweDUwLCAweDdhLCAweGExLCAweGYzLCAweGY1LCAweGYzLCAweDBiLCAweDM1LCAweDBiLCAKLSAgICAweDM4LCAweDUwLCAweDdhLCAweGExLCAweGYzLCAweGY1LCAweGYzLCAweDBiLCAweDM1LCAweDBiLCAweDM4LCAweDUwLCAweDdhLCAweGExLCAweGYzLCAweGY1LCAKLSAgICAweGYzLCAweDBiLCAweDM1LCAweDBiLCAweDM4LCAweDUwLCAweDdhLCAweGExLCAweGYzLCAweGY1LCAweGYzLCAweDBiLCAweDM1LCAweDBiLCAweDM4LCAweDUwLCAKLSAgICAweDdhLCAweGExLCAweGYzLCAweGY1LCAweGYzLCAweDBiLCAweDM1LCAweDBiLCAweDM4LCAweDUwLCAweDdhLCAweGExLCAweGYzLCAweGY1LCAweGYzLCAweDBiLCAKLSAgICAweDM1LCAweDBiLCAweDM4LCAweDUwLCAweDdhLCAweGExLCAweGYzLCAweGY1LCAweGYzLCAweDBiLCAweDM1LCAweDBiLCAweDM4LCAweDUwLCAweDdhLCAweGExLCAKLSAgICAweGYzLCAweGY1LCAweGYzLCAweDBiLCAweDM1LCAweDBiLCAweDM4LCAweDUwLCAweDdhLCAweGExLCAweGYzLCAweGY1LCAweGYzLCAweDBiLCAweDM1LCAweDBiLCAKLSAgICAweDM4LCAweDUwLCAweDdhLCAweGExLCAweGYzLCAweGY1LCAweGYzLCAweDBiLCAweDM1LCAweDBiLCAweDM4LCAweDUwLCAweDdhLCAweGExLCAweGYzLCAweGY1LCAKLSAgICAweGYzLCAweDBiLCAweDM1LCAweDBiLCAweDM4LCAweDUwLCAweDdhLCAweGExLCAweGYzLCAweGY1LCAweGYzLCAweDBiLCAweDM1LCAweDBiLCAweDM4LCAweDUwLCAKLSAgICAweDdhLCAweGExLCAweGYzLCAweGY1LCAweGYzLCAweDBiLCAweDM1LCAweDBiLCAweDM4LCAweDUwLCAweDdhLCAweGExLCAweGYzLCAweGY1LCAweGYzLCAweDBiLCAKLSAgICAweDM1LCAweDBiLCAweDM4LCAweDUwLCAweDdhLCAweGExLCAweGYzLCAweGY1LCAweGYzLCAweDBiLCAweDM1LCAweDBiLCAweDM4LCAweDUwLCAweDdhLCAweGExLCAKLSAgICAweGYzLCAweGY1LCAweGYzLCAweDBiLCAweDM1LCAweDBiLCAweDM4LCAweDUwLCAweDdhLCAweGExLCAweGYzLCAweGY1LCAweGYzLCAweDBiLCAweDM1LCAweDBiLCAKLSAgICAweDM4LCAweDUwLCAweDdhLCAweGExLCAweGYzLCAweGY1LCAweGYzLCAweDBiLCAweDM1LCAweDIyLCAweGMyLCAweGFmLCAweDdlLCAweDM3LCAweDAxLCAweGRiLCAKLSAgICAweDRkLCAweDMzLCAweDY4LCAweDNiLCAweDdlLCAweDA3LCAweDAxLCAweGQ3LCAweDdlLCAweDU0LCAweDA5LCAweGUzLCAweDlkLCAweDUwLCAweGJkLCAweDM1LCAKLSAgICAweDQwLCAweDAyLCAweDdkLCAweDM1LCAweGNhLCAweDM5LCAweDdlLCAweDY1LCAweDYxLCAweDk5LCAweDY0LCAweGRhLCAweDM5LCAweDdlLCAweDA3LCAweDAxLCAKLSAgICAweGRiLCAweDlkLCAweDAzLCAweDdhLCAweDA3LCAweDAxLCAweGRiLCAweDJlLCAweDM3LCAweDAxLCAweGQ3LCAweDdhLCAweDM3LCAweDAxLCAweGQ3LCAweGJlLCAKLSAgICAweDM0LCAweDA5LCAweGUyLCAweDI4LCAweGM3LCAweDdlLCAweDM0LCAweDA1LCAweGUzLCAweDdhLCAweDM3LCAweDAxLCAweGQ3LCAweDgwLCAweGJkLCAweGQyLCAKLSAgICAweGFmLCAweDIyLCAweDc1LCAweDMxLCAweDUzLCAweDEyLCAweDdjLCAweDE1LCAweDdlLCAweDE1LCAweDYzLCAweDgwLCAweDExLCAweDc1LCAweDMxLCAweDUxLCAKLSAgICAweDEyLCAweDdjLCAweDE1LCAweDBiLCAweDA4LCAweDEwLCAweDBiLCAweDA1LCAweDllLCAweDM0LCAweDAwLCAweDAyLCAweDI4LCAweDRkLCAweDdjLCAweGIyLCAKLSAgICAweDIwLCAweGU3LCAweDI3LCAweDU0LCAweDA3LCAweDIzLCAweDBhLCAweDJiLCAweDQ5LCAweDIyLCAweDZjLCAweDdjLCAweDdjLCAweGIyLCAweDU0LCAweDc4LCAKLSAgICAweDAzLCAweDAzLCAweDAzLCAweDdjLCAweDJiLCAweDlkLCAweDEzLCAweDQwLCAweDFhLCAweDY4LCAweDEyLCAweDdhLCAweDE1LCAweDYzLCAweDdhLCAweDI1LCAKLSAgICAweDY1LCAweDdlLCAweDY0LCAweDc1LCAweDM3LCAweDdhLCAweDY1LCAweDYxLCAweDg5LCAweDI0LCAweDAyLCAweDc1LCAweDQ1LCAweDdlLCAweDY0LCAweDc0LCAKLSAgICAweGFkLCAweDgwLCAweGYyLCAweDJkLCAweDEzLCAweDlkLCAweDMxLCAweGNhLCAweDM5LCAweDdkLCAweDMxLCAweDJkLCAweDEwLCAweGNhLCAweDE5LCAweGNhLCAKLSAgICAweDI5LCAweDk5LCAweDI0LCAweGRhLCAweDI5LCAweGRhLCAweDA5LCAweGRhLCAweDM5LCAweDgwLCAweGEyLCAweDdhLCAweDE1LCAweDYzLCAweDdlLCAweDY0LCAKLSAgICAweDc1LCAweDIzLCAweDRkLCAweDMzLCAweDc4LCAweDA5LCAweDdjLCAweGIyLCAweDIwLCAweGU3LCAweDJhLCAweDdlLCAweDY0LCAweDc0LCAweGEyLCAweDdhLCAKLSAgICAweDY1LCAweDYxLCAweDIyLCAweDc1LCAweDMxLCAweDUyLCAweDEyLCAweDdjLCAweDE1LCAweDdlLCAweDIxLCAweDYzLCAweDdlLCAweDA5LCAweDMwLCAweDBiLCAKLSAgICAweDA0LCAweDFiLCAweDM0LCAweDc4LCAweDg5LCAweDgwLCAweGQ0LCAweDc1LCAweDMxLCAweDU0LCAweDEyLCAweDdjLCAweDE1LCAweDdlLCAweDE1LCAweDYzLCAKLSAgICAweDdlLCAweDI1LCAweDY1LCAweDgwLCAweDkwLCAweDVlLCAweDIwLCAweDA3LCAweDU0LCAweDc4LCAweDdlLCAweDQ0LCAweDc1LCAweGMxLCAweDMwLCAweGU2LCAKLSAgICAweDE2LCAweDRkLCAweDMzLCAweDY4LCAweDI2LCAweDFiLCAweDM0LCAweDdlLCAweDA5LCAweDQwLCAweDBiLCAweDA0LCAweDdlLCAweDQ0LCAweDY3LCAweDYzLCAKLSAgICAweDIwLCAweGUzLCAweDA0LCAweDdlLCAweDQ0LCAweDc1LCAweGM5LCAweGNhLCAweDA5LCAweGNhLCAweDM5LCAweDk5LCAweDQ0LCAweGRhLCAweDM5LCAweGRhLCAKLSAgICAweDA5LCAweDdlLCAweDY0LCAweDc0LCAweGFkLCAweDRkLCAweDMzLCAweDY4LCAweGE2LCAweDg5LCAweDY0LCAweDdhLCAweDE1LCAweDYzLCAweGY1LCAweDY1LCAKLSAgICAweDdlLCAweDY0LCAweDc1LCAweDg2LCAweDgwLCAweDk5LCAweDdlLCAweDE1LCAweDYzLCAweGU1LCAweDY1LCAweDgwLCAweGM0LCAweGMwLCAweGQwLCAweGMwLCAKLSAgICAweGQxLCAweGMwLCAweGUwLCAweGNhLCAweDE5LCAweGE5LCAweDIwLCAweGRmLCAweDEyLCAweGE5LCAweDIxLCAweGRmLCAweDFiLCAweDc1LCAweDMxLCAweDAxLCAKLSAgICAweDEyLCAweDdjLCAweDE1LCAweDUzLCAweGRmLCAweGY3LCAweDEyLCAweDQwLCAweGRjLCAweDgwLCAweDBkLCAweDc1LCAweDMxLCAweGZlLCAweDEyLCAweDdjLCAKLSAgICAweDE1LCAweDdlLCAweDE0LCAweDAwLCAweDUzLCAweDAyLCAweDQwLCAweDUxLCAweGRhLCAweDE5LCAweGQwLCAweGUwLCAweGQwLCAweGQxLCAweGQwLCAweGQwLCAKLSAgICAweDMyLCAweDAzLCAweGE1LCAweGNiLCAweDE5LCAweGIxLCAweDgwLCAweDAwLCAweDIyLCAweDIyLCAweDAyLCAweDc2LCAweDQyLCAweGNhLCAweDBiLCAweGNhLCAKLSAgICAweDFiLCAweGNhLCAweDJiLCAweGNhLCAweDNiLCAweGNhLCAweDRiLCAweGNhLCAweDViLCAweGNhLCAweDZiLCAweGNhLCAweDdiLCAweGNhLCAweGViLCAweGMwLCAKLSAgICAweGYxLCAweDdlLCAweGIzLCAweDJhLCAweDMzLCAweGI0LCAweDAwLCAweDAyLCAweDgwLCAweDE5LCAweGI0LCAweDAxLCAweDE2LCAweDMwLCAweGMwLCAweDA4LCAKLSAgICAweDc1LCAweGYxLCAweDAwLCAweDEyLCAweDc2LCAweDJjLCAweDgwLCAweDFmLCAweDMwLCAweGMxLCAweDFjLCAweDc1LCAweGYxLCAweDAwLCAweDEyLCAweDc2LCAKLSAgICAweGJkLCAweDgwLCAweDE0LCAweDMwLCAweGMxLCAweDA4LCAweDc1LCAweGYxLCAweDAwLCAweDEyLCAweDc2LCAweGJkLCAweDgwLCAweDA5LCAweDMwLCAweGMwLCAKLSAgICAweDA2LCAweDc1LCAweGYxLCAweDAwLCAweDEyLCAweDc2LCAweDJjLCAweGQwLCAweGYxLCAweGRhLCAweGViLCAweGRhLCAweDdiLCAweGRhLCAweDZiLCAweGRhLCAKLSAgICAweDViLCAweGRhLCAweDRiLCAweGRhLCAweDNiLCAweGRhLCAweDJiLCAweGRhLCAweDFiLCAweGRhLCAweDBiLCAweDIyLCAweGMyLCAweGMwLCAweDdlLCAweGIzLCAKLSAgICAweDJhLCAweDMzLCAweGI0LCAweDAyLCAweDA3LCAweDEyLCAweDc2LCAweDRlLCAweDAyLCAweDc2LCAweDQyLCAweDIyLCAweGI0LCAweDAxLCAweGZjLCAweDAyLCAKLSAgICAweDc2LCAweDg4LCAweDdlLCAweDAwLCAweDAwLCAweDdhLCAweDAzLCAweDJhLCAweDMzLCAweDdhLCAweDAzLCAweDJhLCAweDM0LCAweDIyLCAweDdlLCAweGIzLCAKLSAgICAweDJhLCAweDJiLCAweDU0LCAweDYwLCAweDYwLCAweDA1LCAweGI0LCAweDQwLCAweDE1LCAweDgwLCAweDEzLCAweDdlLCAweGIzLCAweDJhLCAweDJjLCAweGI0LCAKLSAgICAweDA1LCAweDBjLCAweDc1LCAweDMxLCAweDcxLCAweDEyLCAweDdjLCAweDE1LCAweDdlLCAweGIzLCAweDJhLCAweDJlLCAweGY1LCAweDhmLCAweDIyLCAweDc1LCAKLSAgICAweGY2LCAweDAwLCAweDIyLCAweGJlLCAweDU3LCAweDJhLCAweDMxLCAweDI4LCAweDA0LCAweDdlLCAweDU3LCAweDJhLCAweDMxLCAweDdhLCAweDBmLCAweDJhLCAKLSAgICAweDM2LCAweDdhLCAweDU3LCAweDJhLCAweDNhLCAweDAyLCAweDc2LCAweDg4LCAweDdlLCAweGVmLCAweDJhLCAweDM2LCAweDdlLCAweGY3LCAweDJhLCAweDNhLCAKLSAgICAweDdlLCAweDA3LCAweDJhLCAweDNhLCAweDRkLCAweDAwLCAweDY4LCAweDIxLCAweDdlLCAweDAwLCAweDAwLCAweDdlLCAweGViLCAweGIwLCAweGY1LCAweGYzLCAKLSAgICAweGEzLCAweGE1LCAweDA4LCAweDFiLCAweGY0LCAweDY4LCAweDA0LCAweGE1LCAweGI4LCAweDA4LCAweGYwLCAweDdhLCAweGVmLCAweDJhLCAweDM2LCAweDdhLCAKLSAgICAweGY3LCAweDJhLCAweDNhLCAweDc1LCAweDMxLCAweDA2LCAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweDAxLCAweGY2LCAweDIyLCAweGMyLCAweGMxLCAweDc1LCAKLSAgICAweDMxLCAweDAzLCAweDEyLCAweDdjLCAweDE1LCAweGE5LCAweDM2LCAweGUyLCAweDE2LCAweGU1LCAweGY1LCAweDU0LCAweGMwLCAweDY4LCAweDA3LCAweGE5LCAKLSAgICAweGQ3LCAweGY0LCAweGE5LCAweDI3LCAweGY0LCAweGZjLCAweDUzLCAweGUxLCAweDNmLCAweDQzLCAweGYyLCAweDg4LCAweDAyLCAweDc3LCAweDI5LCAweDdlLCAKLSAgICAweGIzLCAweDJhLCAweDM0LCAweGI0LCAweDAyLCAweDA0LCAweGE5LCAweGQ0LCAweGU0LCAweDIyLCAweGI0LCAweDAxLCAweDM5LCAweDdlLCAweDIxLCAweGU2LCAKLSAgICAweDdjLCAweDMyLCAweDdlLCAweDEzLCAweDJhLCAweDM1LCAweDJjLCAweDIxLCAweDdhLCAweDIzLCAweDJhLCAweDM1LCAweDdlLCAweDAwLCAweDAwLCAweDJlLCAKLSAgICAweDA0LCAweDJhLCAweDNjLCAweGU1LCAweGUzLCAweDdhLCAweDA5LCAweGIwLCAweDBiLCAweDA0LCAweGE1LCAweGRiLCAweGY2LCAweGE5LCAweGQ0LCAweGU0LCAKLSAgICAweDc1LCAweDMxLCAweDcwLCAweDEyLCAweDdjLCAweDE1LCAweDdlLCAweGIzLCAweDJhLCAweDM1LCAweDdlLCAweGEzLCAweDJhLCAweDMyLCAweGJjLCAweGFiLCAKLSAgICAweDc4LCAweDAzLCAweDEyLCAweDc3LCAweGMwLCAweDIyLCAweDAyLCAweDdiLCAweDI5LCAweGU1LCAweGU2LCAweGI0LCAweDA4LCAweDY1LCAweGE5LCAweGM0LCAKLSAgICAweGUyLCAweDdlLCAweDAxLCAweGUzLCAweDdlLCAweDExLCAweGUzLCAweDdlLCAweDMxLCAweGUzLCAweDdlLCAweDIxLCAweGUzLCAweDdlLCAweDUxLCAweGUzLCAKLSAgICAweDdlLCAweDQxLCAweGUzLCAweDdlLCAweDcxLCAweGUzLCAweDdlLCAweDYxLCAweGUzLCAweDdhLCAweDBmLCAweDJhLCAweDJiLCAweDdhLCAweDFmLCAweDJhLCAKLSAgICAweDJmLCAweDc1LCAweDMxLCAweDA0LCAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweDAxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweDExLCAweDMxLCAKLSAgICAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweDIxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweDMxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweDdhLCAKLSAgICAweDQxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweDUxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweDYxLCAweDMxLCAweDEyLCAweDdjLCAKLSAgICAweDE1LCAweDdhLCAweDcxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweGE5LCAweGQ0LCAweGU0LCAweGE5LCAweGQ3LCAweGY0LCAweGE5LCAweGM2LCAweGUyLCAKLSAgICAweDEyLCAweDc3LCAweDk0LCAweDIyLCAweDZkLCAweDAwLCAweDdlLCAweDE0LCAweDAxLCAweDAyLCAweDdhLCAweDA3LCAweDJhLCAweDNhLCAweDdhLCAweDAzLCAKLSAgICAweDJhLCAweDM1LCAweDdlLCAweGIzLCAweDJhLCAweDJiLCAweDIwLCAweGU3LCAweDBmLCAweDdhLCAweDIzLCAweDJhLCAweDM0LCAweDdhLCAweDMzLCAweDJhLCAKLSAgICAweDMzLCAweGJlLCAweDA3LCAweDJhLCAweDMxLCAweDY4LCAweDA5LCAweDIyLCAweDdhLCAweDMzLCAweDJhLCAweDM0LCAweDdhLCAweDIzLCAweDJhLCAweDMzLCAKLSAgICAweDdlLCAweGIzLCAweDJhLCAweDJiLCAweDU0LCAweGUzLCAweDIzLCAweDIzLCAweDMwLCAweGUwLCAweDAyLCAweGQyLCAweGU1LCAweDMwLCAweGU3LCAweDAyLCAKLSAgICAweGQyLCAweGU0LCAweDMwLCAweGU1LCAweDA2LCAweDMwLCAweGU0LCAweDAzLCAweDAyLCAweDdiLCAweDI5LCAweDU0LCAweDNlLCAweGY1LCAweGYwLCAweDAzLCAKLSAgICAweDU0LCAweDFmLCAweGMzLCAweDI1LCAweGYwLCAweDkwLCAweDc3LCAweGVjLCAweDc1LCAweDg0LCAweGZmLCAweDczLCAweDAyLCAweDc5LCAweDQwLCAweDAyLCAKLSAgICAweDc4LCAweDM0LCAweDAyLCAweDc5LCAweGRkLCAweDAyLCAweDc5LCAweGY4LCAweDAyLCAweDc4LCAweGQ5LCAweDAyLCAweDc4LCAweDlhLCAweDAyLCAweDdhLCAKLSAgICAweDExLCAweDAyLCAweDdhLCAweDExLCAweDAyLCAweDdhLCAweDE0LCAweDAyLCAweDdhLCAweDE0LCAweDAyLCAweDdhLCAweDE0LCAweDAyLCAweDdhLCAweDE0LCAKLSAgICAweDAyLCAweDdhLCAweDE0LCAweDAyLCAweDdhLCAweDE0LCAweDAyLCAweDdhLCAweDE0LCAweDAyLCAweDdhLCAweDE0LCAweDAyLCAweDdhLCAweDFhLCAweDAyLCAKLSAgICAweDdhLCAweGNlLCAweDAyLCAweDdhLCAweDE3LCAweDAyLCAweDdhLCAweDE3LCAweDAyLCAweDdhLCAweDE3LCAweDAyLCAweDdhLCAweDE3LCAweDAyLCAweDdhLCAKLSAgICAweDE3LCAweDAyLCAweDdhLCAweDE3LCAweDdlLCAweGIzLCAweDJhLCAweDJjLCAweGI0LCAweDA2LCAweDJhLCAweDdlLCAweGIzLCAweDJhLCAweDJkLCAweDYwLCAKLSAgICAweDU2LCAweDdjLCAweDBiLCAweDdlLCAweDEzLCAweDJhLCAweDJlLCAweDdlLCAweDE3LCAweDJhLCAweDJmLCAweDc1LCAweDMxLCAweDcyLCAweDEyLCAweDdjLCAKLSAgICAweDE1LCAweDdhLCAweDAxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweDExLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweDEyLCAweDdiLCAweDMzLCAKLSAgICAweDQwLCAweDM1LCAweDAyLCAweDc2LCAweDczLCAweGI0LCAweDA4LCAweDEwLCAweDc1LCAweDMxLCAweDc0LCAweDEyLCAweDdjLCAweDE1LCAweDdlLCAweGIzLCAKLSAgICAweDNmLCAweGYxLCAweGY1LCAweGYzLCAweDc1LCAweGY2LCAweDAxLCAweDIyLCAweGI0LCAweDAwLCAweDFjLCAweDc1LCAweDMxLCAweDc1LCAweDEyLCAweDdjLCAKLSAgICAweDE1LCAweDdlLCAweGIzLCAweDNmLCAweGYyLCAweDMwLCAweGUwLCAweDA1LCAweDc1LCAweGYzLCAweDAyLCAweDgwLCAweDAzLCAweDc1LCAweGYzLCAweDAwLCAKLSAgICAweDc1LCAweGYzLCAweDAwLCAweDc1LCAweGY2LCAweDAyLCAweDIyLCAweDAyLCAweDdiLCAweDI5LCAweDdlLCAweGIzLCAweDJhLCAweDJjLCAweGI0LCAweDAwLCAKLSAgICAweDM1LCAweDc1LCAweDMxLCAweDc2LCAweDEyLCAweDdjLCAweDE1LCAweDdlLCAweGIzLCAweDJhLCAweDMwLCAweDU0LCAweDBmLCAweGY1LCAweGYxLCAweDdlLCAKLSAgICAweGIzLCAweDJhLCAweDMwLCAweDIwLCAweGU3LCAweDA5LCAweGU1LCAweGUxLCAweDMwLCAweGU3LCAweDBkLCAweDc0LCAweDAxLCAweDgwLCAweDBiLCAweGU1LCAKLSAgICAweGUxLCAweDMwLCAweGU2LCAweDA0LCAweDc0LCAweDAxLCAweDgwLCAweDAyLCAweDc0LCAweDAwLCAweDUzLCAweGYxLCAweDgwLCAweGY1LCAweGYzLCAweDc1LCAKLSAgICAweGYzLCAweDAwLCAweDc1LCAweGY2LCAweDAyLCAweDIyLCAweDAyLCAweDdiLCAweDI5LCAweGMwLCAweGYxLCAweDdlLCAweGIzLCAweDJhLCAweDMwLCAweDU0LCAKLSAgICAweDBmLCAweDQyLCAweGYxLCAweDdlLCAweGIzLCAweDJhLCAweDJlLCAweGI0LCAweDAwLCAweDQ1LCAweDdlLCAweGIzLCAweDJhLCAweDJjLCAweGI0LCAweDAxLCAKLSAgICAweDI0LCAweDc1LCAweDMxLCAweDc3LCAweDEyLCAweDdjLCAweDE1LCAweDdlLCAweGIzLCAweDJhLCAweDMwLCAweDU0LCAweDBmLCAweDc4LCAweDA1LCAweDUzLCAKLSAgICAweGUxLCAweDNmLCAweDgwLCAweDM3LCAweDdlLCAweGIzLCAweDJhLCAweDMwLCAweDIwLCAweGU3LCAweDA1LCAweDUzLCAweGUxLCAweDdmLCAweDgwLCAweDJiLCAKLSAgICAweDUzLCAweGUxLCAweGJmLCAweDgwLCAweDI2LCAweGI0LCAweDAzLCAweDE3LCAweDc1LCAweDMxLCAweDc4LCAweDEyLCAweDdjLCAweDE1LCAweDdlLCAweGIzLCAKLSAgICAweDJhLCAweDMwLCAweDIwLCAweGU3LCAweDA1LCAweDQzLCAweGUxLCAweDgwLCAweDgwLCAweDExLCAweDQzLCAweGUxLCAweDQwLCAweDgwLCAweDBjLCAweDQzLCAKLSAgICAweGUxLCAweGMwLCAweGQwLCAweGYxLCAweDc1LCAweDMxLCAweDA3LCAweDEyLCAweDdjLCAweDE1LCAweDIyLCAweGQwLCAweGYxLCAweDAyLCAweDc2LCAweDZmLCAKLSAgICAweDdlLCAweGIzLCAweDJhLCAweDJjLCAweGI0LCAweDA5LCAweDIzLCAweDc1LCAweDMxLCAweDc5LCAweDEyLCAweDdjLCAweDE1LCAweDdlLCAweGIzLCAweDJhLCAKLSAgICAweDJlLCAweGJlLCAweGIzLCAweDNmLCAweGYxLCAweDY4LCAweDExLCAweGNhLCAweGI4LCAweGMwLCAweGYxLCAweDEyLCAweDQzLCAweGQ0LCAweGQwLCAweGYxLCAKLSAgICAweGRhLCAweGI4LCAweDUwLCAweDc2LCAweDdhLCAweGIzLCAweDNmLCAweGYxLCAweDgwLCAweDZkLCAweGI0LCAweDA1LCAweDA4LCAweDc1LCAweDMxLCAweDdhLCAKLSAgICAweDEyLCAweDdjLCAweDE1LCAweDgwLCAweDYyLCAweGI0LCAweDAzLCAweDE5LCAweDc1LCAweDMxLCAweDdiLCAweDEyLCAweDdjLCAweDE1LCAweDdlLCAweGIzLCAKLSAgICAweDJhLCAweDJlLCAweGI0LCAweDAxLCAweDU1LCAweDdlLCAweGIzLCAweDNmLCAweGYyLCAweDQ0LCAweDAxLCAweDdhLCAweGIzLCAweDNmLCAweGYyLCAweDgwLCAKLSAgICAweDQ2LCAweGI0LCAweDAxLCAweDE5LCAweDc1LCAweDMxLCAweDdjLCAweDEyLCAweDdjLCAweDE1LCAweDdlLCAweGIzLCAweDJhLCAweDJlLCAweGI0LCAweDAxLCAKLSAgICAweDM5LCAweDdlLCAweGIzLCAweDNmLCAweGYyLCAweDU0LCAweGZlLCAweDdhLCAweGIzLCAweDNmLCAweGYyLCAweDgwLCAweDJhLCAweGI0LCAweDA3LCAweDJhLCAKLSAgICAweDdlLCAweGIzLCAweDJhLCAweDJkLCAweDYwLCAweDI0LCAweDdjLCAweDBiLCAweDdlLCAweDEzLCAweDJhLCAweDJlLCAweDdlLCAweDE3LCAweDJhLCAweDJmLCAKLSAgICAweDc1LCAweDMxLCAweDczLCAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweDAxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweDExLCAweDMxLCAweDEyLCAKLSAgICAweDdjLCAweDE1LCAweDEyLCAweDdiLCAweDVmLCAweDQwLCAweDAzLCAweDAyLCAweDc2LCAweDZmLCAweDAyLCAweDdiLCAweDI5LCAweDdlLCAweGIzLCAweDJhLCAKLSAgICAweDJjLCAweGI0LCAweDBiLCAweGY2LCAweDc1LCAweDMxLCAweDdkLCAweDEyLCAweDdjLCAweDE1LCAweDdlLCAweGIzLCAweDJhLCAweDJlLCAweDdlLCAweGEzLCAKLSAgICAweDJhLCAweDMwLCAweDRjLCAweGFiLCAweDc4LCAweGU0LCAweDgwLCAweGRmLCAweDdlLCAweGIzLCAweDJhLCAweDJjLCAweGI0LCAweDBhLCAweGRiLCAweDc1LCAKLSAgICAweDMxLCAweDdlLCAweDEyLCAweDdjLCAweDE1LCAweDdlLCAweGIzLCAweDJhLCAweDJlLCAweDcwLCAweGNmLCAweGY1LCAweGYzLCAweDc1LCAweGY2LCAweDAxLCAKLSAgICAweDIyLCAweDAyLCAweDdiLCAweDI5LCAweDAyLCAweDdiLCAweDI5LCAweDAyLCAweDdiLCAweDI5LCAweDdlLCAweGIzLCAweDJhLCAweDJjLCAweGI0LCAweDA0LCAKLSAgICAweDIwLCAweDc1LCAweDMxLCAweGMzLCAweDEyLCAweDdjLCAweDE1LCAweDdlLCAweDA0LCAweDAwLCAweDAxLCAweDdlLCAweDE3LCAweDJhLCAweDJkLCAweDdlLCAKLSAgICAweDE4LCAweDJhLCAweDNjLCAweDdhLCAweDFjLCAweDAwLCAweDAwLCAweDdlLCAweDQ3LCAweDJhLCAweDMxLCAweDEyLCAweDdjLCAweDIxLCAweDAyLCAweDdhLCAKLSAgICAweGM4LCAweGI0LCAweDA2LCAweDNhLCAweDc1LCAweDMxLCAweGMxLCAweDEyLCAweDdjLCAweDE1LCAweDdlLCAweDU4LCAweDAwLCAweDAwLCAweDdhLCAweDVjLCAKLSAgICAweDAwLCAweGZlLCAweDdkLCAweGNhLCAweDdlLCAweGQ3LCAweDJhLCAweDJkLCAweDdlLCAweDc4LCAweDJhLCAweDNjLCAweDdhLCAweDdjLCAweDAwLCAweDAwLCAKLSAgICAweDdlLCAweDc3LCAweDJhLCAweDMxLCAweDc1LCAweDMxLCAweGMxLCAweDEyLCAweDdjLCAweDE1LCAweGMwLCAweGE4LCAweGMwLCAweDg3LCAweGMyLCAweGFmLCAKLSAgICAweGE5LCAweGQ1LCAweDg3LCAweDEyLCAweDdjLCAweDVhLCAweGQwLCAweDg3LCAweGQwLCAweGE4LCAweDQwLCAweDRmLCAweDgwLCAweDRhLCAweGI0LCAweDAwLCAKLSAgICAweDFjLCAweGMyLCAweGFmLCAweGE5LCAweGQ1LCAweDg3LCAweDEyLCAweDc2LCAweDZmLCAweGU0LCAweDhkLCAweGVmLCAweDhkLCAweGVmLCAweDhkLCAweGVmLCAKLSAgICAweGQ1LCAweGUwLCAweGY3LCAweGMwLCAweGQxLCAweGNhLCAweDAyLCAweGZmLCAweGNhLCAweDA2LCAweDAwLCAweDAwLCAweDMyLCAweGI0LCAweDA5LCAweDEyLCAKLSAgICAweDdlLCAweDU3LCAweDJhLCAweDJkLCAweDRkLCAweDU1LCAweDY4LCAweDA1LCAweGE5LCAweGQyLCAweGIxLCAweDgwLCAweDAzLCAweGE5LCAweGMyLCAweGIxLCAKLSAgICAweDgwLCAweDE2LCAweGI0LCAweDA3LCAweDE2LCAweGMyLCAweGFmLCAweDdlLCAweDA3LCAweDJhLCAweDJmLCAweDdlLCAweDE3LCAweDJhLCAweDJkLCAweGMwLCAKLSAgICAweGQxLCAweGNhLCAweDE4LCAweGNhLCAweDM4LCAweGNhLCAweDI4LCAweDMyLCAweDAyLCAweDc2LCAweDZmLCAweDAyLCAweDdiLCAweDI5LCAweDdlLCAweGIzLCAKLSAgICAweDJhLCAweDJjLCAweGI0LCAweDAzLCAweDE1LCAweDc1LCAweDMxLCAweGMyLCAweDEyLCAweDdjLCAweDE1LCAweDdlLCAweDA0LCAweDAwLCAweDAxLCAweDdlLCAKLSAgICAweDE3LCAweDJhLCAweDJkLCAweDdlLCAweDU3LCAweDJhLCAweDMxLCAweDAyLCAweDc2LCAweDczLCAweGI0LCAweDA1LCAweDM5LCAweDc1LCAweDMxLCAweGMwLCAKLSAgICAweDEyLCAweDdjLCAweDE1LCAweGMwLCAweGE4LCAweGMwLCAweDg3LCAweGMyLCAweGFmLCAweGE5LCAweGQ1LCAweDg3LCAweDdlLCAweDA4LCAweDJhLCAweDNjLCAKLSAgICAweDdhLCAweDBjLCAweDAwLCAweDAwLCAweDdlLCAweDI0LCAweDAwLCAweGZlLCAweDdlLCAweDM3LCAweDJhLCAweDJkLCAweDdlLCAweDQ3LCAweDJhLCAweDMxLCAKLSAgICAweDEyLCAweDdjLCAweDIxLCAweGQwLCAweDg3LCAweGQwLCAweGE4LCAweDdlLCAweDA4LCAweDJhLCAweDNjLCAweDdhLCAweDBjLCAweDAwLCAweDAwLCAweDdlLCAKLSAgICAweDU3LCAweDJhLCAweDMxLCAweDAyLCAweDc2LCAweDczLCAweDAyLCAweDdiLCAweDI5LCAweDc1LCAweDMxLCAweDA3LCAweDEyLCAweDdjLCAweDE1LCAweDQzLCAKLSAgICAweGUxLCAweGMwLCAweDIyLCAweGMwLCAweGE4LCAweGMwLCAweDg3LCAweGMyLCAweGFmLCAweGE5LCAweGQ1LCAweDg3LCAweDEyLCAweDdiLCAweDllLCAweDQwLCAKLSAgICAweDE5LCAweDdlLCAweDA4LCAweDJhLCAweDNjLCAweDdhLCAweDBjLCAweDAwLCAweDAwLCAweGNhLCAweDBiLCAweGNhLCAweDQ5LCAweDEyLCAweDdjLCAweDIxLCAKLSAgICAweGRhLCAweDU5LCAweGRhLCAweDBiLCAweGQwLCAweDg3LCAweGQwLCAweGE4LCAweGMzLCAweDIyLCAweGQwLCAweDg3LCAweGQwLCAweGE4LCAweDIyLCAweGMwLCAKLSAgICAweGE4LCAweGMwLCAweDg3LCAweGMyLCAweGFmLCAweGE5LCAweGQ1LCAweDg3LCAweDEyLCAweDdiLCAweDllLCAweDQwLCAweDJiLCAweDdlLCAweDU4LCAweDAwLCAKLSAgICAweDAwLCAweDdhLCAweDVjLCAweDAwLCAweGZlLCAweDdmLCAweDYxLCAweDdlLCAweDc4LCAweDJhLCAweDNjLCAweDdhLCAweDdjLCAweDAwLCAweDAwLCAweDdlLCAKLSAgICAweDc3LCAweDJhLCAweDMxLCAweGJkLCAweDc0LCAweDc4LCAweDExLCAweDc1LCAweDMxLCAweGMxLCAweDEyLCAweDdjLCAweDE1LCAweDEyLCAweDdjLCAweDVhLCAKLSAgICAweDQwLCAweDA2LCAweGQwLCAweDg3LCAweGQwLCAweGE4LCAweGMzLCAweDIyLCAweGQwLCAweDg3LCAweGQwLCAweGE4LCAweGQzLCAweDIyLCAweDdlLCAweDI0LCAKLSAgICAweDAwLCAweGZlLCAweDdlLCAweDM0LCAweDdmLCAweGNhLCAweDBiLCAweDFhLCAweDUwLCAweGM1LCAweGYwLCAweDdkLCAweDYyLCAweDdkLCAweDc1LCAweDdkLCAKLSAgICAweDg3LCAweDdlLCAweDM0LCAweDdmLCAweGMyLCAweDdlLCAweDFiLCAweGIwLCAweDdlLCAweDM0LCAweDdmLCAweDAzLCAweGI0LCAweDAxLCAweDA0LCAweDdlLCAKLSAgICAweDM0LCAweDdmLCAweGNjLCAweDdlLCAweDFiLCAweGIwLCAweGJjLCAweDBiLCAweDUwLCAweDQ5LCAweDNlLCAweDAwLCAweDNlLCAweDAwLCAweDBhLCAweDUwLCAKLSAgICAweDJkLCAweDc1LCAweDBiLCAweDNhLCAweDMwLCAweDY5LCAweDUzLCAweDAwLCAweDAyLCAweGJkLCAweDM4LCAweDUwLCAweDAyLCAweDJkLCAweDM4LCAweGJjLCAKLSAgICAweDFiLCAweDUwLCAweDMwLCAweDNlLCAweDEwLCAweDNlLCAweDEwLCAweDBhLCAweDUxLCAweDJkLCAweDM1LCAweDY5LCAweDQxLCAweDAwLCAweDAyLCAweDBiLCAKLSAgICAweDFhLCAweDMwLCAweGJkLCAweDM4LCAweDUwLCAweDAyLCAweDJkLCAweDM4LCAweGJlLCAweDQ0LCAweGZmLCAweGZmLCAweDc4LCAweDA1LCAweDdlLCAweDFiLCAKLSAgICAweDkwLCAweDBhLCAweDQ5LCAweDRkLCAweDQ0LCAweDY4LCAweDBjLCAweGJlLCAweDQ0LCAweDAwLCAweGZmLCAweDI4LCAweDA0LCAweDdlLCAweDQ0LCAweDAwLCAKLSAgICAweGZmLCAweGMzLCAweDIyLCAweGQzLCAweDIyLCAKLQotLy8gU2VnbWVudCAjMTYsIFN0YXJ0IEFkZHJlc3MgMDBmZjdmYzYsIExlbmd0aCA0Ci0weGZmLDB4MDAsMHhjNiwweDdmLDB4MDQsMHgwMCwKLSAgICAweDAxLCAweDEwLCAweDA0LCAweDAwLCAKLQotLy8gU2VnbWVudCAjMTcsIFN0YXJ0IEFkZHJlc3MgMDBmZjdjMTUsIExlbmd0aCAzMzAKLTB4ZmYsMHgwMCwweDE1LDB4N2MsMHg0YSwweDAxLAotICAgIDB4Y2EsIDB4MDgsIDB4N2UsIDB4MDEsIDB4MzEsIDB4N2EsIDB4MDMsIDB4M2YsIDB4ZjAsIDB4ZGEsIDB4MDgsIDB4MjIsIDB4N2UsIDB4MWIsIDB4YzAsIDB4N2EsIAotICAgIDB4MGIsIDB4YzAsIDB4MGIsIDB4MTQsIDB4MGIsIDB4MzQsIDB4MWIsIDB4NDQsIDB4NzgsIDB4ZjIsIDB4MjIsIDB4N2YsIDB4NmYsIDB4N2YsIDB4ZjAsIDB4MWIsIAotICAgIDB4ZmMsIDB4N2MsIDB4NTQsIDB4N2QsIDB4MzIsIDB4ODAsIDB4MDgsIDB4Y2EsIDB4MWIsIDB4Y2EsIDB4MWIsIDB4Y2EsIDB4MWIsIDB4Y2EsIDB4MWIsIDB4OWUsIAotICAgIDB4NDQsIDB4MDAsIDB4MTAsIDB4NTAsIDB4ZjIsIDB4MmUsIDB4NDQsIDB4MDAsIDB4MTAsIDB4NjgsIDB4MDYsIDB4Y2EsIDB4NDgsIDB4MWIsIDB4NDQsIDB4NzgsIAotICAgIDB4ZmEsIDB4N2YsIDB4ZjYsIDB4ODksIDB4ZTQsIDB4Y2EsIDB4NmIsIDB4NWUsIDB4ZDQsIDB4MDAsIDB4M2YsIDB4NjgsIDB4MjAsIDB4N2UsIDB4ODQsIDB4MDAsIAotICAgIDB4NDAsIDB4OWQsIDB4OGQsIDB4ZGEsIDB4NmIsIDB4YmQsIDB4ODcsIDB4MzgsIDB4MTYsIDB4Y2EsIDB4NzksIDB4N2QsIDB4NzgsIDB4MTIsIDB4N2MsIDB4ODQsIAotICAgIDB4ZGEsIDB4NzksIDB4NDAsIDB4MDgsIDB4OWQsIDB4NzgsIDB4NjgsIDB4MDIsIDB4ODAsIDB4MDUsIDB4YzIsIDB4ZDcsIDB4MjIsIDB4ZGEsIDB4NmIsIDB4NDMsIAotICAgIDB4OTAsIDB4MzAsIDB4NzQsIDB4YWEsIDB4MzksIDB4YjUsIDB4NTUsIDB4NTUsIDB4NzQsIDB4NTUsIDB4MzksIDB4YjUsIDB4MmEsIDB4YWEsIDB4NzQsIDB4YTAsIAotICAgIDB4MzksIDB4YjUsIDB4NTUsIDB4NTUsIDB4N2UsIDB4MDQsIDB4MDAsIDB4NDAsIDB4OWQsIDB4NzAsIDB4NTAsIDB4MDYsIDB4MmQsIDB4NzAsIDB4N2QsIDB4MDcsIAotICAgIDB4NmQsIDB4NzcsIDB4N2MsIDB4MzEsIDB4N2UsIDB4N2IsIDB4MDAsIDB4N2EsIDB4NmIsIDB4MDAsIDB4MGIsIDB4N2MsIDB4MGIsIDB4NmMsIDB4YTUsIDB4ZDksIAotICAgIDB4ZjMsIDB4N2YsIDB4MTYsIDB4MWIsIDB4MWMsIDB4N2UsIDB4NTQsIDB4MjcsIDB4MTAsIDB4N2UsIDB4MWIsIDB4MTAsIDB4YmMsIDB4MTAsIDB4NjgsIDB4MDYsIAotICAgIDB4MWIsIDB4NTQsIDB4NzgsIDB4ZjUsIDB4ODAsIDB4MmMsIDB4NmQsIDB4MDAsIDB4N2MsIDB4MjAsIDB4N2YsIDB4MTYsIDB4OWYsIDB4MTAsIDB4N2YsIDB4MjcsIAotICAgIDB4OWYsIDB4MjAsIDB4N2UsIDB4MmIsIDB4MDAsIDB4N2UsIDB4MWIsIDB4MTAsIDB4YmMsIDB4MDEsIDB4NzgsIDB4MTYsIDB4MGIsIDB4MmMsIDB4MGIsIDB4MWMsIAotICAgIDB4YTUsIDB4ZGIsIDB4ZWYsIDB4N2MsIDB4YjYsIDB4MjAsIDB4ZTAsIDB4MDMsIDB4NjMsIDB4OTAsIDB4MzAsIDB4NGQsIDB4NzcsIDB4NzgsIDB4OTMsIDB4YzIsIAotICAgIDB4ZDcsIDB4MjIsIDB4ZDIsIDB4ZDcsIDB4MjIsIDB4MDAsIDB4MDQsIDB4MDAsIDB4MDQsIDB4NDIsIDB4MDgsIDB4MDYsIDB4MDQsIDB4MDIsIDB4MDQsIDB4MDAsIAotICAgIDB4MDIsIDB4MDEsIDB4MDQsIDB4MDEsIDB4MDIsIDB4ODIsIDB4MDgsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDIsIDB4MDIsIDB4MDIsIAotICAgIDB4MDIsIDB4MDIsIDB4MDQsIDB4MDIsIDB4MDgsIDB4MTAsIDB4MDIsIDB4MTAsIDB4MDQsIDB4MDIsIDB4MDgsIDB4MDAsIDB4MDEsIDB4MDEsIDB4MDgsIDB4MDAsIAotICAgIDB4MDEsIDB4MDAsIDB4MDIsIDB4MDAsIDB4MDIsIDB4MDIsIDB4MDgsIDB4MDIsIDB4MDQsIDB4MjAsIDB4MDQsIDB4N2UsIDB4MTgsIDB4N2YsIDB4YmQsIDB4N2EsIAotICAgIDB4MWMsIDB4MDAsIDB4ZmUsIDB4MGIsIDB4MWEsIDB4MDAsIDB4NWUsIDB4MTAsIDB4MWYsIDB4YmUsIDB4MTAsIDB4MWEsIDB4MzgsIDB4MWEsIDB4MGEsIDB4NTEsIAotICAgIDB4MjMsIDB4N2UsIDB4MTgsIDB4N2MsIDB4ZmEsIDB4N2EsIDB4MWMsIDB4MDAsIDB4ZmYsIDB4MmQsIDB4MzUsIDB4MGIsIDB4MWEsIDB4NTAsIDB4NjAsIDB4MDgsIAotICAgIDB4YTUsIDB4YjgsIDB4MDIsIDB4MDMsIDB4NGUsIDB4YTAsIDB4MDgsIDB4MjIsIDB4ODAsIDB4ZmUsIAotfTsKLQotc3RhdGljIHN0cnVjdCBlZGdlX2Zpcm13YXJlX3ZlcnNpb25faW5mbyBJTUFHRV9WRVJTSU9OX05BTUUgPSB7Ci0JMSwgMTYsIDQgfTsJCS8vIE1ham9yLCBNaW5vciwgQnVpbGQKLQotI3VuZGVmIElNQUdFX1ZFUlNJT05fTkFNRQotCi0jdW5kZWYgSU1BR0VfQVJSQVlfTkFNRQotCmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9zZXJpYWwvaW9fZndfZG93bjIuaCBiL2RyaXZlcnMvdXNiL3NlcmlhbC9pb19md19kb3duMi5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwNjcyNzdlLi4wMDAwMDAwCi0tLSBhL2RyaXZlcnMvdXNiL3NlcmlhbC9pb19md19kb3duMi5oCisrKyAvZGV2L251bGwKQEAgLTEsMTEzMyArMCwwIEBACi0vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0vLyogRWRnZXBvcnQvNCBCaW5hcnkgSW1hZ2UKLS8vKiBHZW5lcmF0ZWQgYnkgSEVYMkMgdjEuMDYKLS8vKiBDb3B5cmlnaHQgKEMpIDE5OTggSW5zaWRlIE91dCBOZXR3b3JrcywgQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vKglUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQotLy8qCWl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci0vLyoJdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKLS8vKgkoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotCi0KLS8vSW1hZ2Ugc3RydWN0dXJlIGRlZmluaXRpb24KLSNpZiAhZGVmaW5lZChERUZJTkVEX0VER0VfRklSTVdBUkVfSU1BR0VfUkVDT1JEKQotCSNkZWZpbmUgREVGSU5FRF9FREdFX0ZJUk1XQVJFX0lNQUdFX1JFQ09SRAotCXN0cnVjdCBlZGdlX2Zpcm13YXJlX2ltYWdlX3JlY29yZCB7Ci0JCV9fbGUxNiBFeHRBZGRyOwotCQlfX2xlMTYgQWRkcjsKLQkJX19sZTE2IExlbjsKLQkJdW5zaWduZWQgY2hhciAgRGF0YVswXTsKLQl9IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKTsKLQotCXN0cnVjdCBlZGdlX2Zpcm13YXJlX3ZlcnNpb25faW5mbyB7Ci0JCXVuc2lnbmVkIGNoYXIgIE1ham9yVmVyc2lvbjsKLQkJdW5zaWduZWQgY2hhciAgTWlub3JWZXJzaW9uOwotCQl1bnNpZ25lZCBzaG9ydCBCdWlsZE51bWJlcjsKLQl9OwotCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKElNQUdFX0FSUkFZX05BTUUpCi0JI2RlZmluZSBJTUFHRV9BUlJBWV9OQU1FCUZpcm13YXJlSW1hZ2UKLQkjZGVmaW5lIElNQUdFX1ZFUlNJT05fTkFNRQlGaXJtd2FyZUltYWdlVmVyc2lvbgotI2VuZGlmCi0KLXN0YXRpYyB1bnNpZ25lZCBjaGFyIElNQUdFX0FSUkFZX05BTUVbXSA9IHsKLQotLy8gU2VnbWVudCAjMSwgU3RhcnQgQWRkcmVzcyAwMGZmMDAwMCwgTGVuZ3RoIDYKLTB4ZmYsMHgwMCwweDAwLDB4MDAsMHgwNiwweDAwLAotICAgIDB4MDIsIDB4MDAsIDB4ODAsIDB4MDIsIDB4NDUsIDB4MTQsIAotCi0vLyBTZWdtZW50ICMyLCBTdGFydCBBZGRyZXNzIDAwZmYwMDBiLCBMZW5ndGggMwotMHhmZiwweDAwLDB4MGIsMHgwMCwweDAzLDB4MDAsCi0gICAgMHgwMiwgMHg0NCwgMHhhNSwgCi0KLS8vIFNlZ21lbnQgIzMsIFN0YXJ0IEFkZHJlc3MgMDBmZjAwMTMsIExlbmd0aCAzCi0weGZmLDB4MDAsMHgxMywweDAwLDB4MDMsMHgwMCwKLSAgICAweDAyLCAweDYzLCAweGFiLCAKLQotLy8gU2VnbWVudCAjNCwgU3RhcnQgQWRkcmVzcyAwMGZmMDAxYiwgTGVuZ3RoIDMKLTB4ZmYsMHgwMCwweDFiLDB4MDAsMHgwMywweDAwLAotICAgIDB4MDIsIDB4MDAsIDB4MWIsIAotCi0vLyBTZWdtZW50ICM1LCBTdGFydCBBZGRyZXNzIDAwZmYwMDIzLCBMZW5ndGggMwotMHhmZiwweDAwLDB4MjMsMHgwMCwweDAzLDB4MDAsCi0gICAgMHgwMiwgMHgwMCwgMHgyMywgCi0KLS8vIFNlZ21lbnQgIzYsIFN0YXJ0IEFkZHJlc3MgMDBmZjAwMmIsIExlbmd0aCAzCi0weGZmLDB4MDAsMHgyYiwweDAwLDB4MDMsMHgwMCwKLSAgICAweDAyLCAweDAwLCAweDJiLCAKLQotLy8gU2VnbWVudCAjNywgU3RhcnQgQWRkcmVzcyAwMGZmMDAzMywgTGVuZ3RoIDMKLTB4ZmYsMHgwMCwweDMzLDB4MDAsMHgwMywweDAwLAotICAgIDB4MDIsIDB4MDAsIDB4MzMsIAotCi0vLyBTZWdtZW50ICM4LCBTdGFydCBBZGRyZXNzIDAwZmYwMDNiLCBMZW5ndGggMwotMHhmZiwweDAwLDB4M2IsMHgwMCwweDAzLDB4MDAsCi0gICAgMHgwMiwgMHgwMCwgMHgzYiwgCi0KLS8vIFNlZ21lbnQgIzksIFN0YXJ0IEFkZHJlc3MgMDBmZjAwNDMsIExlbmd0aCAzCi0weGZmLDB4MDAsMHg0MywweDAwLDB4MDMsMHgwMCwKLSAgICAweDAyLCAweDAwLCAweDQzLCAKLQotLy8gU2VnbWVudCAjMTAsIFN0YXJ0IEFkZHJlc3MgMDBmZjAwNGIsIExlbmd0aCAzCi0weGZmLDB4MDAsMHg0YiwweDAwLDB4MDMsMHgwMCwKLSAgICAweDAyLCAweDAwLCAweDRiLCAKLQotLy8gU2VnbWVudCAjMTEsIFN0YXJ0IEFkZHJlc3MgMDBmZjAwNTMsIExlbmd0aCAzCi0weGZmLDB4MDAsMHg1MywweDAwLDB4MDMsMHgwMCwKLSAgICAweDAyLCAweDY3LCAweDVmLCAKLQotLy8gU2VnbWVudCAjMTIsIFN0YXJ0IEFkZHJlc3MgMDBmZjAwN2IsIExlbmd0aCAzCi0weGZmLDB4MDAsMHg3YiwweDAwLDB4MDMsMHgwMCwKLSAgICAweDAyLCAweDAwLCAweDdiLCAKLQotLy8gU2VnbWVudCAjMTMsIFN0YXJ0IEFkZHJlc3MgMDBmZjAwODAsIExlbmd0aCA3Ci0weGZmLDB4MDAsMHg4MCwweDAwLDB4MDcsMHgwMCwKLSAgICAweDdlLCAweDE0LCAweDAwLCAweDAwLCAweDAyLCAweDQwLCAweDUyLCAKLQotLy8gU2VnbWVudCAjMTQsIFN0YXJ0IEFkZHJlc3MgMDBmZjMwMDAsIExlbmd0aCAyOTE4Ci0weGZmLDB4MDAsMHgwMCwweDMwLDB4NjYsMHgwYiwKLSAgICAweDEyLCAweDMwLCAweDY0LCAweDEyLCAweDMwLCAweGZmLCAweDEyLCAweDMxLCAweDJmLCAweDEyLCAweDMwLCAweGIwLCAweDgwLCAweGYyLCAweGU1LCAweDIzLCAKLSAgICAweDYwLCAweDE5LCAweDdlLCAweDE0LCAweDAwLCAweDAwLCAweDA5LCAweGIxLCAweDAxLCAweGI5LCAweGI0LCAweDAwLCAweDAyLCAweDgwLCAweDA1LCAweDE0LCAKLSAgICAweDE5LCAweGIxLCAweDAxLCAweGI5LCAweGE1LCAweDBhLCAweGJlLCAweDIxLCAweDJlLCAweDc4LCAweGViLCAweDIyLCAweGMyLCAweGFmLCAweDdlLCAweGIzLCAKLSAgICAweDNmLCAweGYxLCAweGI0LCAweDAxLCAweDAzLCAweDEyLCAweDY1LCAweDY3LCAweGQyLCAweGFmLCAweDIyLCAweGMyLCAweGFmLCAweDdlLCAweGIzLCAweDNmLCAKLSAgICAweGYxLCAweGI0LCAweDAxLCAweDFkLCAweDc0LCAweDQwLCAweDdhLCAweGIzLCAweDkxLCAweDAwLCAweDdlLCAweGIzLCAweDkxLCAweDFhLCAweDZjLCAweGFhLCAKLSAgICAweDYwLCAweDBmLCAweGNhLCAweDBiLCAweGNhLCAweDM5LCAweGNhLCAweDU5LCAweDEyLCAweDY0LCAweDI0LCAweGRhLCAweDU5LCAweGRhLCAweDM5LCAweGRhLCAKLSAgICAweDBiLCAweGQyLCAweGFmLCAweDIyLCAweGMyLCAweGFmLCAweGU1LCAweDIyLCAweDYwLCAweDQzLCAweDdlLCAweDA3LCAweDAxLCAweGNiLCAweGJlLCAweDA0LCAKLSAgICAweDAzLCAweDgwLCAweDM4LCAweDM5LCAweDdlLCAweDA0LCAweDgwLCAweDAwLCAweDdlLCAweDIwLCAweDAwLCAweDEzLCAweDUwLCAweDIxLCAweDA5LCAweGEwLCAKLSAgICAweDAwLCAweDA0LCAweDRlLCAweGEwLCAweDA1LCAweDE5LCAweGEwLCAweDAwLCAweDA0LCAweDBhLCAweDMyLCAweDA5LCAweDUzLCAweDM1LCAweDMzLCAweDVlLCAKLSAgICAweDUxLCAweDI3LCAweDY4LCAweDBiLCAweDA5LCAweGEwLCAweDAwLCAweDEwLCAweDRlLCAweGEwLCAweDAxLCAweDE5LCAweGEwLCAweDAwLCAweDEwLCAweDJlLCAKLSAgICAweDA0LCAweDAxLCAweDAwLCAweGE1LCAweDBhLCAweGJlLCAweDIxLCAweDJlLCAweDc4LCAweGQxLCAweDc1LCAweDIyLCAweDAwLCAweGQyLCAweGFmLCAweDIyLCAKLSAgICAweGMyLCAweGFmLCAweGU1LCAweDI2LCAweDYwLCAweDM2LCAweDdlLCAweDIwLCAweDAwLCAweDdlLCAweDMwLCAweDAxLCAweGU1LCAweDI2LCAweGE1LCAweDViLCAKLSAgICAweDY4LCAweDIxLCAweDdjLCAweGIyLCAweDIzLCAweDBhLCAweDJiLCAweDQ5LCAweDMyLCAweDAxLCAweDc5LCAweGJlLCAweDM0LCAweDAwLCAweDAwLCAweDY4LCAKLSAgICAweDEyLCAweDdlLCAweGIxLCAweDIxLCAweGE1LCAweDRiLCAweDdhLCAweGIxLCAweDIxLCAweGNhLCAweDE5LCAweDQ5LCAweDIyLCAweDMwLCAweGVmLCAweDk5LCAKLSAgICAweDI0LCAweGRhLCAweDE5LCAweDNlLCAweDMwLCAweGE1LCAweDBhLCAweGJlLCAweDIxLCAweDJlLCAweDc4LCAweGQwLCAweGQyLCAweGFmLCAweDIyLCAweDQ2LCAKLSAgICAweDRmLCAweDQ5LCAweDdjLCAweDRjLCAweGE5LCAweDRmLCAweGQ2LCAweDUzLCAweDAzLCAweDU2LCAweDMwLCAweDU5LCAweDVkLCAweDVjLCAweDhhLCAweGMyLCAKLSAgICAweGFmLCAweGU1LCAweDI0LCAweDYwLCAweDE0LCAweDdlLCAweDIwLCAweDAwLCAweDEzLCAweDUwLCAweDA3LCAweGNhLCAweGI4LCAweDEyLCAweDMxLCAweDFjLCAKLSAgICAweGRhLCAweGI4LCAweGE1LCAweDBhLCAweGJlLCAweDIxLCAweDJlLCAweDc4LCAweGVmLCAweGQyLCAweGFmLCAweDIyLCAweGNhLCAweDI4LCAweDEyLCAweDM1LCAKLSAgICAweDRjLCAweGRhLCAweDI4LCAweDQwLCAweDA5LCAweDBhLCAweDIyLCAweDA5LCAweGIyLCAweDM1LCAweDMzLCAweGY0LCAweDUyLCAweDI0LCAweDIyLCAweGMyLCAKLSAgICAweGFmLCAweGU1LCAweDIzLCAweDYwLCAweDE0LCAweDdlLCAweDIwLCAweDAwLCAweDEzLCAweDUwLCAweDA3LCAweGNhLCAweGI4LCAweDEyLCAweDMxLCAweDRjLCAKLSAgICAweGRhLCAweGI4LCAweGE1LCAweDBhLCAweGJlLCAweDIxLCAweDJlLCAweDc4LCAweGVmLCAweGQyLCAweGFmLCAweDIyLCAweDdjLCAweGIyLCAweDIzLCAweDBhLCAKLSAgICAweDJiLCAweDQ5LCAweDIyLCAweDMxLCAweDU3LCAweDg5LCAweDI0LCAweDMxLCAweDY3LCAweDMxLCAweGQwLCAweDMyLCAweDM5LCAweDMyLCAweGEyLCAweDMzLCAKLSAgICAweDBiLCAweDMzLCAweDc0LCAweDMzLCAweGRkLCAweDM0LCAweDQ2LCAweDdlLCAweDI3LCAweDAxLCAweDc5LCAweGJlLCAweDI0LCAweDAwLCAweDAwLCAweDc4LCAKLSAgICAweDI0LCAweDdlLCAweDI0LCAweDgwLCAweDAwLCAweDA5LCAweGIyLCAweDAwLCAweDE0LCAweGNhLCAweGI4LCAweDVlLCAweGIwLCAweDFlLCAweGRhLCAweGI4LCAKLSAgICAweDY4LCAweDBiLCAweGNhLCAweDE5LCAweDdkLCAweDEyLCAweDEyLCAweDQ5LCAweDQ1LCAweDdkLCAweDIxLCAweGRhLCAweDE5LCAweDMwLCAweGU2LCAweDE4LCAKLSAgICAweDdlLCAweDYwLCAweDAwLCAweDgwLCAweDFlLCAweGJlLCAweDI3LCAweDAxLCAweDg5LCAweDY4LCAweDBkLCAweDdhLCAweDI3LCAweDAxLCAweDg5LCAweDdlLCAKLSAgICAweDYwLCAweDljLCAweDdhLCAweDYzLCAweDAxLCAweGI5LCAweDgwLCAweDI3LCAweDdlLCAweDYzLCAweDAxLCAweGI5LCAweGE1LCAweGJlLCAweDAwLCAweDFmLCAKLSAgICAweDdlLCAweDYwLCAweDAxLCAweDdlLCAweGIwLCAweDAwLCAweDdlLCAweGEwLCAweGM4LCAweDEyLCAweDYxLCAweDM2LCAweDQwLCAweDExLCAweDc1LCAweDJmLCAKLSAgICAweGIzLCAweDEyLCAweDczLCAweDM1LCAweGMyLCAweDE4LCAweDZjLCAweDAwLCAweDdhLCAweDAzLCAweDAxLCAweGI5LCAweDEyLCAweDY0LCAweDg2LCAweDIyLCAKLSAgICAweDdlLCAweDI3LCAweDAxLCAweDdiLCAweGJlLCAweDI0LCAweDAwLCAweDAwLCAweDc4LCAweDI0LCAweDdlLCAweDI0LCAweDgxLCAweDAwLCAweDA5LCAweGIyLCAKLSAgICAweDAwLCAweDE0LCAweGNhLCAweGI4LCAweDVlLCAweGIwLCAweDFlLCAweGRhLCAweGI4LCAweDY4LCAweDBiLCAweGNhLCAweDE5LCAweDdkLCAweDEyLCAweDEyLCAKLSAgICAweDRjLCAweDcyLCAweDdkLCAweDIxLCAweGRhLCAweDE5LCAweDMwLCAweGU2LCAweDE4LCAweDdlLCAweDYwLCAweDAwLCAweDgwLCAweDFlLCAweGJlLCAweDI3LCAKLSAgICAweDAxLCAweDhiLCAweDY4LCAweDBkLCAweDdhLCAweDI3LCAweDAxLCAweDhiLCAweDdlLCAweDYwLCAweDljLCAweDdhLCAweDYzLCAweDAxLCAweGJhLCAweDgwLCAKLSAgICAweDI3LCAweDdlLCAweDYzLCAweDAxLCAweGJhLCAweGE1LCAweGJlLCAweDAwLCAweDFmLCAweDdlLCAweDYwLCAweDAxLCAweDdlLCAweGIwLCAweDAwLCAweDdlLCAKLSAgICAweGEwLCAweGM4LCAweDEyLCAweDYxLCAweDM2LCAweDQwLCAweDExLCAweDc1LCAweDJmLCAweGIzLCAweDEyLCAweDczLCAweDM1LCAweGMyLCAweDE5LCAweDZjLCAKLSAgICAweDAwLCAweDdhLCAweDAzLCAweDAxLCAweGJhLCAweDEyLCAweDY0LCAweDg2LCAweDIyLCAweDdlLCAweDI3LCAweDAxLCAweDdkLCAweGJlLCAweDI0LCAweDAwLCAKLSAgICAweDAwLCAweDc4LCAweDI0LCAweDdlLCAweDI0LCAweDgyLCAweDAwLCAweDA5LCAweGIyLCAweDAwLCAweDE0LCAweGNhLCAweGI4LCAweDVlLCAweGIwLCAweDFlLCAKLSAgICAweGRhLCAweGI4LCAweDY4LCAweDBiLCAweGNhLCAweDE5LCAweDdkLCAweDEyLCAweDEyLCAweDRmLCAweDlmLCAweDdkLCAweDIxLCAweGRhLCAweDE5LCAweDMwLCAKLSAgICAweGU2LCAweDE4LCAweDdlLCAweDYwLCAweDAwLCAweDgwLCAweDFlLCAweGJlLCAweDI3LCAweDAxLCAweDhkLCAweDY4LCAweDBkLCAweDdhLCAweDI3LCAweDAxLCAKLSAgICAweDhkLCAweDdlLCAweDYwLCAweDljLCAweDdhLCAweDYzLCAweDAxLCAweGJiLCAweDgwLCAweDI3LCAweDdlLCAweDYzLCAweDAxLCAweGJiLCAweGE1LCAweGJlLCAKLSAgICAweDAwLCAweDFmLCAweDdlLCAweDYwLCAweDAxLCAweDdlLCAweGIwLCAweDAwLCAweDdlLCAweGEwLCAweGM4LCAweDEyLCAweDYxLCAweDM2LCAweDQwLCAweDExLCAKLSAgICAweDc1LCAweDJmLCAweGIzLCAweDEyLCAweDczLCAweDM1LCAweGMyLCAweDFhLCAweDZjLCAweDAwLCAweDdhLCAweDAzLCAweDAxLCAweGJiLCAweDEyLCAweDY0LCAKLSAgICAweDg2LCAweDIyLCAweDdlLCAweDI3LCAweDAxLCAweDdmLCAweGJlLCAweDI0LCAweDAwLCAweDAwLCAweDc4LCAweDI0LCAweDdlLCAweDI0LCAweDgzLCAweDAwLCAKLSAgICAweDA5LCAweGIyLCAweDAwLCAweDE0LCAweGNhLCAweGI4LCAweDVlLCAweGIwLCAweDFlLCAweGRhLCAweGI4LCAweDY4LCAweDBiLCAweGNhLCAweDE5LCAweDdkLCAKLSAgICAweDEyLCAweDEyLCAweDUyLCAweGNjLCAweDdkLCAweDIxLCAweGRhLCAweDE5LCAweDMwLCAweGU2LCAweDE4LCAweDdlLCAweDYwLCAweDAwLCAweDgwLCAweDFlLCAKLSAgICAweGJlLCAweDI3LCAweDAxLCAweDhmLCAweDY4LCAweDBkLCAweDdhLCAweDI3LCAweDAxLCAweDhmLCAweDdlLCAweDYwLCAweDljLCAweDdhLCAweDYzLCAweDAxLCAKLSAgICAweGJjLCAweDgwLCAweDI3LCAweDdlLCAweDYzLCAweDAxLCAweGJjLCAweGE1LCAweGJlLCAweDAwLCAweDFmLCAweDdlLCAweDYwLCAweDAxLCAweDdlLCAweGIwLCAKLSAgICAweDAwLCAweDdlLCAweGEwLCAweGM4LCAweDEyLCAweDYxLCAweDM2LCAweDQwLCAweDExLCAweDc1LCAweDJmLCAweGIzLCAweDEyLCAweDczLCAweDM1LCAweGMyLCAKLSAgICAweDFiLCAweDZjLCAweDAwLCAweDdhLCAweDAzLCAweDAxLCAweGJjLCAweDEyLCAweDY0LCAweDg2LCAweDIyLCAweDdlLCAweDI3LCAweDAxLCAweDgxLCAweGJlLCAKLSAgICAweDI0LCAweDAwLCAweDAwLCAweDc4LCAweDI0LCAweDdlLCAweDI0LCAweDg0LCAweDAwLCAweDA5LCAweGIyLCAweDAwLCAweDE0LCAweGNhLCAweGI4LCAweDVlLCAKLSAgICAweGIwLCAweDFlLCAweGRhLCAweGI4LCAweDY4LCAweDBiLCAweGNhLCAweDE5LCAweDdkLCAweDEyLCAweDEyLCAweDU1LCAweGY5LCAweDdkLCAweDIxLCAweGRhLCAKLSAgICAweDE5LCAweDMwLCAweGU2LCAweDE4LCAweDdlLCAweDYwLCAweDAwLCAweDgwLCAweDFlLCAweGJlLCAweDI3LCAweDAxLCAweDkxLCAweDY4LCAweDBkLCAweDdhLCAKLSAgICAweDI3LCAweDAxLCAweDkxLCAweDdlLCAweDYwLCAweDljLCAweDdhLCAweDYzLCAweDAxLCAweGJkLCAweDgwLCAweDI3LCAweDdlLCAweDYzLCAweDAxLCAweGJkLCAKLSAgICAweGE1LCAweGJlLCAweDAwLCAweDFmLCAweDdlLCAweDYwLCAweDAxLCAweDdlLCAweGIwLCAweDAwLCAweDdlLCAweGEwLCAweGM4LCAweDEyLCAweDYxLCAweDM2LCAKLSAgICAweDQwLCAweDExLCAweDc1LCAweDJmLCAweGIzLCAweDEyLCAweDczLCAweDM1LCAweGMyLCAweDFjLCAweDZjLCAweDAwLCAweDdhLCAweDAzLCAweDAxLCAweGJkLCAKLSAgICAweDEyLCAweDY0LCAweDg2LCAweDIyLCAweDdlLCAweDI3LCAweDAxLCAweDgzLCAweGJlLCAweDI0LCAweDAwLCAweDAwLCAweDc4LCAweDI0LCAweDdlLCAweDI0LCAKLSAgICAweDg1LCAweDAwLCAweDA5LCAweGIyLCAweDAwLCAweDE0LCAweGNhLCAweGI4LCAweDVlLCAweGIwLCAweDFlLCAweGRhLCAweGI4LCAweDY4LCAweDBiLCAweGNhLCAKLSAgICAweDE5LCAweDdkLCAweDEyLCAweDEyLCAweDU5LCAweDI2LCAweDdkLCAweDIxLCAweGRhLCAweDE5LCAweDMwLCAweGU2LCAweDE4LCAweDdlLCAweDYwLCAweDAwLCAKLSAgICAweDgwLCAweDFlLCAweGJlLCAweDI3LCAweDAxLCAweDkzLCAweDY4LCAweDBkLCAweDdhLCAweDI3LCAweDAxLCAweDkzLCAweDdlLCAweDYwLCAweDljLCAweDdhLCAKLSAgICAweDYzLCAweDAxLCAweGJlLCAweDgwLCAweDI3LCAweDdlLCAweDYzLCAweDAxLCAweGJlLCAweGE1LCAweGJlLCAweDAwLCAweDFmLCAweDdlLCAweDYwLCAweDAxLCAKLSAgICAweDdlLCAweGIwLCAweDAwLCAweDdlLCAweGEwLCAweGM4LCAweDEyLCAweDYxLCAweDM2LCAweDQwLCAweDExLCAweDc1LCAweDJmLCAweGIzLCAweDEyLCAweDczLCAKLSAgICAweDM1LCAweGMyLCAweDFkLCAweDZjLCAweDAwLCAweDdhLCAweDAzLCAweDAxLCAweGJlLCAweDEyLCAweDY0LCAweDg2LCAweDIyLCAweDdlLCAweDI3LCAweDAxLCAKLSAgICAweDg1LCAweGJlLCAweDI0LCAweDAwLCAweDAwLCAweDc4LCAweDI0LCAweDdlLCAweDI0LCAweDg2LCAweDAwLCAweDA5LCAweGIyLCAweDAwLCAweDE0LCAweGNhLCAKLSAgICAweGI4LCAweDVlLCAweGIwLCAweDFlLCAweGRhLCAweGI4LCAweDY4LCAweDBiLCAweGNhLCAweDE5LCAweDdkLCAweDEyLCAweDEyLCAweDVjLCAweDUzLCAweDdkLCAKLSAgICAweDIxLCAweGRhLCAweDE5LCAweDMwLCAweGU2LCAweDE4LCAweDdlLCAweDYwLCAweDAwLCAweDgwLCAweDFlLCAweGJlLCAweDI3LCAweDAxLCAweDk1LCAweDY4LCAKLSAgICAweDBkLCAweDdhLCAweDI3LCAweDAxLCAweDk1LCAweDdlLCAweDYwLCAweDljLCAweDdhLCAweDYzLCAweDAxLCAweGJmLCAweDgwLCAweDI3LCAweDdlLCAweDYzLCAKLSAgICAweDAxLCAweGJmLCAweGE1LCAweGJlLCAweDAwLCAweDFmLCAweDdlLCAweDYwLCAweDAxLCAweDdlLCAweGIwLCAweDAwLCAweDdlLCAweGEwLCAweGM4LCAweDEyLCAKLSAgICAweDYxLCAweDM2LCAweDQwLCAweDExLCAweDc1LCAweDJmLCAweGIzLCAweDEyLCAweDczLCAweDM1LCAweGMyLCAweDFlLCAweDZjLCAweDAwLCAweDdhLCAweDAzLCAKLSAgICAweDAxLCAweGJmLCAweDEyLCAweDY0LCAweDg2LCAweDIyLCAweDdlLCAweDI3LCAweDAxLCAweDg3LCAweGJlLCAweDI0LCAweDAwLCAweDAwLCAweDc4LCAweDI0LCAKLSAgICAweDdlLCAweDI0LCAweDg3LCAweDAwLCAweDA5LCAweGIyLCAweDAwLCAweDE0LCAweGNhLCAweGI4LCAweDVlLCAweGIwLCAweDFlLCAweGRhLCAweGI4LCAweDY4LCAKLSAgICAweDBiLCAweGNhLCAweDE5LCAweDdkLCAweDEyLCAweDEyLCAweDVmLCAweDgwLCAweDdkLCAweDIxLCAweGRhLCAweDE5LCAweDMwLCAweGU2LCAweDE4LCAweDdlLCAKLSAgICAweDYwLCAweDAwLCAweDgwLCAweDFlLCAweGJlLCAweDI3LCAweDAxLCAweDk3LCAweDY4LCAweDBkLCAweDdhLCAweDI3LCAweDAxLCAweDk3LCAweDdlLCAweDYwLCAKLSAgICAweDljLCAweDdhLCAweDYzLCAweDAxLCAweGMwLCAweDgwLCAweDI3LCAweDdlLCAweDYzLCAweDAxLCAweGMwLCAweGE1LCAweGJlLCAweDAwLCAweDFmLCAweDdlLCAKLSAgICAweDYwLCAweDAxLCAweDdlLCAweGIwLCAweDAwLCAweDdlLCAweGEwLCAweGM4LCAweDEyLCAweDYxLCAweDM2LCAweDQwLCAweDExLCAweDc1LCAweDJmLCAweGIzLCAKLSAgICAweDEyLCAweDczLCAweDM1LCAweGMyLCAweDFmLCAweDZjLCAweDAwLCAweDdhLCAweDAzLCAweDAxLCAweGMwLCAweDEyLCAweDY0LCAweDg2LCAweDIyLCAweGMyLCAKLSAgICAweGFmLCAweDdlLCAweDA3LCAweDAxLCAweGNiLCAweGJlLCAweDA0LCAweDAwLCAweDAwLCAweDc4LCAweDI4LCAweDc0LCAweDIwLCAweDdhLCAweGIzLCAweDkxLCAKLSAgICAweDAwLCAweDdlLCAweGIzLCAweDkxLCAweDE1LCAweDMwLCAweGU1LCAweDFiLCAweDdlLCAweGIzLCAweDkxLCAweDFhLCAweGJlLCAweGIwLCAweDNmLCAweDM4LCAKLSAgICAweDBjLCAweDg1LCAweDMxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDc0LCAweDgwLCAweDdhLCAweGIzLCAweDkxLCAweDFlLCAweDc0LCAweDIwLCAweDdhLCAKLSAgICAweGIzLCAweDkxLCAweDE1LCAweGQyLCAweGFmLCAweDIyLCAweDM1LCAweDNiLCAweDM2LCAweGU4LCAweDM3LCAweDAwLCAweDM3LCAweDFiLCAweDM3LCAweGI2LCAKLSAgICAweDM4LCAweDRlLCAweDM4LCAweDY5LCAweDM4LCAweGZiLCAweDM4LCAweDg0LCAweDM4LCAweGM1LCAweDdjLCAweGIzLCAweGJlLCAweGIwLCAweDA5LCAweDI4LCAKLSAgICAweDIyLCAweDc1LCAweDJmLCAweDA5LCAweDEyLCAweDczLCAweDM1LCAweDc1LCAweDU3LCAweDAyLCAweDc0LCAweDIwLCAweDdhLCAweGIzLCAweDkxLCAweDAwLCAKLSAgICAweDc0LCAweDAxLCAweDdhLCAweGIzLCAweDkxLCAweDExLCAweDc0LCAweDQwLCAweDdhLCAweGIzLCAweDkxLCAweDAwLCAweDc0LCAweDAxLCAweDdhLCAweGIzLCAKLSAgICAweDkxLCAweDExLCAweDIyLCAweGMwLCAweGE4LCAweGMyLCAweGFmLCAweDIzLCAweDZjLCAweGFhLCAweDJlLCAweDU0LCAweDM0LCAweGU2LCAweDBiLCAweDU4LCAKLSAgICAweDUwLCAweDg5LCAweDU0LCAweDAxLCAweDAyLCAweDA0LCAweDA4LCAweDEwLCAweDIwLCAweDQwLCAweDgwLCAweDc1LCAweDJmLCAweGIwLCAweDEyLCAweDczLCAKLSAgICAweDM1LCAweDBhLCAweDIyLCAweDA5LCAweGIyLCAweDM1LCAweDMzLCAweDQyLCAweDI0LCAweGQwLCAweGE4LCAweDIyLCAweDdjLCAweGIyLCAweDIzLCAweDBhLCAKLSAgICAweDNiLCAweDQ5LCAweDMzLCAweDM1LCAweDU3LCAweDg5LCAweDM0LCAweDM1LCAweDY3LCAweDM1LCAweDk1LCAweDM1LCAweGMzLCAweDM1LCAweGYxLCAweDM2LCAKLSAgICAweDFmLCAweDM2LCAweDRkLCAweDM2LCAweDdiLCAweDM2LCAweGE5LCAweDEyLCAweDQxLCAweGJhLCAweGQyLCAweDI4LCAweGQyLCAweDA4LCAweGMyLCAweDQwLCAKLSAgICAweGMyLCAweDQ4LCAweGMyLCAweDM4LCAweGMyLCAweDMwLCAweDZkLCAweDAwLCAweDdhLCAweDAzLCAweDAxLCAweGI5LCAweDdlLCAweDA0LCAweDAwLCAweDIwLCAKLSAgICAweDdhLCAweDA3LCAweDAxLCAweDk5LCAweDdlLCAweDA0LCAweDAwLCAweDM4LCAweDdhLCAweDA3LCAweDAxLCAweGE5LCAweDEyLCAweDQxLCAweDI3LCAweDEyLCAKLSAgICAweDVmLCAweGI3LCAweDAyLCAweDM2LCAweGQ3LCAweDEyLCAweDQxLCAweGQ3LCAweGQyLCAweDI5LCAweGQyLCAweDA5LCAweGMyLCAweDQxLCAweGMyLCAweDQ5LCAKLSAgICAweGMyLCAweDM5LCAweGMyLCAweDMxLCAweDZkLCAweDAwLCAweDdhLCAweDAzLCAweDAxLCAweGJhLCAweDdlLCAweDA0LCAweDAwLCAweDIwLCAweDdhLCAweDA3LCAKLSAgICAweDAxLCAweDliLCAweDdlLCAweDA0LCAweDAwLCAweDM4LCAweDdhLCAweDA3LCAweDAxLCAweGFiLCAweDEyLCAweDQxLCAweDI3LCAweDEyLCAweDVmLCAweGUwLCAKLSAgICAweDAyLCAweDM2LCAweGQ3LCAweDEyLCAweDQxLCAweGY0LCAweGQyLCAweDJhLCAweGQyLCAweDBhLCAweGMyLCAweDQyLCAweGMyLCAweDRhLCAweGMyLCAweDNhLCAKLSAgICAweGMyLCAweDMyLCAweDZkLCAweDAwLCAweDdhLCAweDAzLCAweDAxLCAweGJiLCAweDdlLCAweDA0LCAweDAwLCAweDIwLCAweDdhLCAweDA3LCAweDAxLCAweDlkLCAKLSAgICAweDdlLCAweDA0LCAweDAwLCAweDM4LCAweDdhLCAweDA3LCAweDAxLCAweGFkLCAweDEyLCAweDQxLCAweDI3LCAweDEyLCAweDYwLCAweDA5LCAweDAyLCAweDM2LCAKLSAgICAweGQ3LCAweDEyLCAweDQyLCAweDExLCAweGQyLCAweDJiLCAweGQyLCAweDBiLCAweGMyLCAweDQzLCAweGMyLCAweDRiLCAweGMyLCAweDNiLCAweGMyLCAweDMzLCAKLSAgICAweDZkLCAweDAwLCAweDdhLCAweDAzLCAweDAxLCAweGJjLCAweDdlLCAweDA0LCAweDAwLCAweDIwLCAweDdhLCAweDA3LCAweDAxLCAweDlmLCAweDdlLCAweDA0LCAKLSAgICAweDAwLCAweDM4LCAweDdhLCAweDA3LCAweDAxLCAweGFmLCAweDEyLCAweDQxLCAweDI3LCAweDEyLCAweDYwLCAweDMyLCAweDAyLCAweDM2LCAweGQ3LCAweDEyLCAKLSAgICAweDQyLCAweDJlLCAweGQyLCAweDJjLCAweGQyLCAweDBjLCAweGMyLCAweDQ0LCAweGMyLCAweDRjLCAweGMyLCAweDNjLCAweGMyLCAweDM0LCAweDZkLCAweDAwLCAKLSAgICAweDdhLCAweDAzLCAweDAxLCAweGJkLCAweDdlLCAweDA0LCAweDAwLCAweDIwLCAweDdhLCAweDA3LCAweDAxLCAweGExLCAweDdlLCAweDA0LCAweDAwLCAweDM4LCAKLSAgICAweDdhLCAweDA3LCAweDAxLCAweGIxLCAweDEyLCAweDQxLCAweDI3LCAweDEyLCAweDYwLCAweDViLCAweDAyLCAweDM2LCAweGQ3LCAweDEyLCAweDQyLCAweDRiLCAKLSAgICAweGQyLCAweDJkLCAweGQyLCAweDBkLCAweGMyLCAweDQ1LCAweGMyLCAweDRkLCAweGMyLCAweDNkLCAweGMyLCAweDM1LCAweDZkLCAweDAwLCAweDdhLCAweDAzLCAKLSAgICAweDAxLCAweGJlLCAweDdlLCAweDA0LCAweDAwLCAweDIwLCAweDdhLCAweDA3LCAweDAxLCAweGEzLCAweDdlLCAweDA0LCAweDAwLCAweDM4LCAweDdhLCAweDA3LCAKLSAgICAweDAxLCAweGIzLCAweDEyLCAweDQxLCAweDI3LCAweDEyLCAweDYwLCAweDg0LCAweDAyLCAweDM2LCAweGQ3LCAweDEyLCAweDQyLCAweDY4LCAweGQyLCAweDJlLCAKLSAgICAweGQyLCAweDBlLCAweGMyLCAweDQ2LCAweGMyLCAweDRlLCAweGMyLCAweDNlLCAweGMyLCAweDM2LCAweDZkLCAweDAwLCAweDdhLCAweDAzLCAweDAxLCAweGJmLCAKLSAgICAweDdlLCAweDA0LCAweDAwLCAweDIwLCAweDdhLCAweDA3LCAweDAxLCAweGE1LCAweDdlLCAweDA0LCAweDAwLCAweDM4LCAweDdhLCAweDA3LCAweDAxLCAweGI1LCAKLSAgICAweDEyLCAweDQxLCAweDI3LCAweDEyLCAweDYwLCAweGFkLCAweDAyLCAweDM2LCAweGQ3LCAweDEyLCAweDQyLCAweDg1LCAweGQyLCAweDJmLCAweGQyLCAweDBmLCAKLSAgICAweGMyLCAweDQ3LCAweGMyLCAweDRmLCAweGMyLCAweDNmLCAweGMyLCAweDM3LCAweDZkLCAweDAwLCAweDdhLCAweDAzLCAweDAxLCAweGMwLCAweDdlLCAweDA0LCAKLSAgICAweDAwLCAweDIwLCAweDdhLCAweDA3LCAweDAxLCAweGE3LCAweDdlLCAweDA0LCAweDAwLCAweDM4LCAweDdhLCAweDA3LCAweDAxLCAweGI3LCAweDEyLCAweDQxLCAKLSAgICAweDI3LCAweDEyLCAweDYwLCAweGQ2LCAweDAyLCAweDM2LCAweGQ3LCAweDdlLCAweGEwLCAweGQwLCAweDdlLCAweDYwLCAweDBmLCAweDEyLCAweDYxLCAweDM2LCAKLSAgICAweDQwLCAweDA1LCAweDEyLCAweDY0LCAweDg2LCAweGMyLCAweGQ3LCAweDIyLCAweDc1LCAweDJmLCAweGIxLCAweDEyLCAweDczLCAweDM1LCAweDBhLCAweDUyLCAKLSAgICAweDIzLCAweDZkLCAweDAwLCAweDU5LCAweDA1LCAweDAwLCAweDMyLCAweDEyLCAweDQxLCAweDgzLCAweDEyLCAweDQxLCAweDlmLCAweGQwLCAweGE4LCAweDIyLCAKLSAgICAweDc1LCAweDJmLCAweGIyLCAweDEyLCAweDczLCAweDM1LCAweDBhLCAweDIyLCAweDA5LCAweGIyLCAweDM1LCAweDMzLCAweDQyLCAweDIzLCAweDdlLCAweGIwLCAKLSAgICAweDljLCAweDE5LCAweGIyLCAweDAxLCAweGI5LCAweDEyLCAweDMxLCAweDRjLCAweGQwLCAweGE4LCAweDIyLCAweDdlLCAweDA0LCAweDgwLCAweDAwLCAweDRjLCAKLSAgICAweDAyLCAweDA5LCAweDMwLCAweDAwLCAweDBjLCAweDc0LCAweGJmLCAweDE5LCAweGIwLCAweDAwLCAweDBjLCAweDA5LCAweGIwLCAweDAwLCAweDA4LCAweDE5LCAKLSAgICAweDMwLCAweDAwLCAweDBjLCAweDdjLCAweDc0LCAweDVlLCAweDcwLCAweDAxLCAweDY4LCAweDEyLCAweDQ0LCAweDQwLCAweGNhLCAweGI4LCAweDA5LCAweGIwLCAKLSAgICAweDAwLCAweDEwLCAweDQ0LCAweDAyLCAweDE5LCAweGIwLCAweDAwLCAweDEwLCAweGRhLCAweGI4LCAweDgwLCAweDAyLCAweDU0LCAweGJmLCAweDdjLCAweDc0LCAKLSAgICAweDVlLCAweDcwLCAweDA4LCAweDY4LCAweDA0LCAweDQ0LCAweDA4LCAweDgwLCAweDAyLCAweDU0LCAweGY3LCAweDA5LCAweDMwLCAweDAwLCAweDBjLCAweGNhLCAKLSAgICAweGI4LCAweDc0LCAweGJmLCAweDE5LCAweGIwLCAweDAwLCAweDBjLCAweGRhLCAweGI4LCAweDE5LCAweGIwLCAweDAwLCAweDA4LCAweDE5LCAweDMwLCAweDAwLCAKLSAgICAweDBjLCAweDBhLCAweDYyLCAweDA5LCAweGI2LCAweDM1LCAweDMzLCAweDNlLCAweDIwLCAweDBhLCAweDYyLCAweDdjLCAweDc0LCAweDVlLCAweDcwLCAweDAyLCAKLSAgICAweDY4LCAweDIwLCAweDQyLCAweDI3LCAweGNhLCAweGI4LCAweDc0LCAweDYxLCAweDE5LCAweGIwLCAweDAwLCAweDA4LCAweDdlLCAweDQ0LCAweDAwLCAweDEwLCAKLSAgICAweDU5LCAweDQ2LCAweDAxLCAweGE5LCAweDA5LCAweGIwLCAweDAwLCAweDEwLCAweDQ0LCAweDAxLCAweDE5LCAweGIwLCAweDAwLCAweDEwLCAweGRhLCAweGI4LCAKLSAgICAweDgwLCAweDExLCAweGY0LCAweDUyLCAweDI3LCAweDc0LCAweGExLCAweDE5LCAweGIwLCAweDAwLCAweDA4LCAweDdlLCAweDQ0LCAweDAwLCAweDM4LCAweDU5LCAKLSAgICAweDQ2LCAweDAxLCAweGE5LCAweGQwLCAweGE4LCAweDIyLCAweDdjLCAweDc0LCAweDdlLCAweDA0LCAweDgwLCAweDAwLCAweDRjLCAweDAyLCAweDA5LCAweDMwLCAKLSAgICAweDAwLCAweDBjLCAweDc0LCAweGJmLCAweDE5LCAweGIwLCAweDAwLCAweDBjLCAweDA5LCAweGIwLCAweDAwLCAweDA4LCAweDdjLCAweDc0LCAweDVlLCAweDcwLCAKLSAgICAweDAxLCAweDY4LCAweDA0LCAweDQ0LCAweDgwLCAweDgwLCAweDAyLCAweDU0LCAweDdmLCAweDdjLCAweDc0LCAweDVlLCAweDcwLCAweDA4LCAweDY4LCAweDA0LCAKLSAgICAweDQ0LCAweDAyLCAweDgwLCAweDAyLCAweDU0LCAweGZkLCAweDE5LCAweGIwLCAweDAwLCAweDA4LCAweDE5LCAweDMwLCAweDAwLCAweDBjLCAweDBhLCAweDYyLCAKLSAgICAweDA5LCAweGI2LCAweDM1LCAweDMzLCAweGE1LCAweGZkLCAweGY0LCAweGE1LCAweGZlLCAweGNhLCAweDI4LCAweDNlLCAweDIwLCAweDBhLCAweDYyLCAweGRhLCAKLSAgICAweDI4LCAweDdjLCAweDc0LCAweDVlLCAweDcwLCAweDAyLCAweDY4LCAweDEwLCAweGE1LCAweGVkLCAweDQyLCAweDI4LCAweDQyLCAweDI2LCAweDdlLCAweDQ0LCAKLSAgICAweDAwLCAweDA4LCAweDU5LCAweDQ2LCAweDAxLCAweDk5LCAweDgwLCAweDA0LCAweGE1LCAweGVlLCAweDUyLCAweDI4LCAweDdjLCAweDc0LCAweDVlLCAweDcwLCAKLSAgICAweDA0LCAweDY4LCAweDEwLCAweGE1LCAweGVkLCAweDQyLCAweDI5LCAweDQyLCAweDI2LCAweDdlLCAweDQ0LCAweDAwLCAweDA4LCAweDU5LCAweDQ2LCAweDAxLCAKLSAgICAweDk5LCAweDgwLCAweDE1LCAweGE1LCAweGVlLCAweDUyLCAweDI5LCAweDdjLCAweDc0LCAweDVlLCAweDcwLCAweDAyLCAweDc4LCAweDBhLCAweDUyLCAweDI2LCAKLSAgICAweDdlLCAweDQ0LCAweDAwLCAweDIwLCAweDU5LCAweDQ2LCAweDAxLCAweDk5LCAweDEyLCAweDQyLCAweGEyLCAweGQwLCAweGE4LCAweDIyLCAweDdlLCAweDA0LCAKLSAgICAweDgwLCAweDAwLCAweDRjLCAweDAyLCAweDA5LCAweDMwLCAweDAwLCAweDBjLCAweDc0LCAweGJmLCAweDE5LCAweGIwLCAweDAwLCAweDBjLCAweDE5LCAweDQwLCAKLSAgICAweDAwLCAweDEwLCAweDE5LCAweDMwLCAweDAwLCAweDBjLCAweGQwLCAweGE4LCAweDIyLCAweDdlLCAweDA0LCAweDgwLCAweDAwLCAweDRjLCAweDAyLCAweDA5LCAKLSAgICAweDMwLCAweDAwLCAweDBjLCAweDc0LCAweGJmLCAweDE5LCAweGIwLCAweDAwLCAweDBjLCAweDE5LCAweDQwLCAweDAwLCAweDE4LCAweDE5LCAweDMwLCAweDAwLCAKLSAgICAweDBjLCAweGQwLCAweGE4LCAweDIyLCAweDc1LCAweDJmLCAweGI1LCAweDEyLCAweDczLCAweDM1LCAweDdlLCAweDA0LCAweDgwLCAweDAwLCAweDRjLCAweDAyLCAKLSAgICAweDA5LCAweGIwLCAweDAwLCAweDBjLCAweDQ0LCAweDQwLCAweDE5LCAweGIwLCAweDAwLCAweDBjLCAweGU1LCAweDU4LCAweGI0LCAweDA3LCAweDIzLCAweDA5LCAKLSAgICAweGIwLCAweDAwLCAweDEwLCAweDRlLCAweGIwLCAweDAyLCAweDE5LCAweGIwLCAweDAwLCAweDEwLCAweDA5LCAweDMwLCAweDAwLCAweDBjLCAweDc0LCAweGJmLCAKLSAgICAweDE5LCAweGIwLCAweDAwLCAweDBjLCAweDA5LCAweGIwLCAweDAwLCAweDA0LCAweDU0LCAweGY3LCAweDE5LCAweGIwLCAweDAwLCAweDA0LCAweDE5LCAweDMwLCAKLSAgICAweDAwLCAweDBjLCAweGQwLCAweGE4LCAweDIyLCAweDc1LCAweDJmLCAweGI2LCAweDEyLCAweDczLCAweDM1LCAweDdlLCAweDA0LCAweDgwLCAweDAwLCAweDRjLCAKLSAgICAweDAyLCAweGU1LCAweDU4LCAweGI0LCAweDA3LCAweDE4LCAweDA5LCAweDMwLCAweDAwLCAweDBjLCAweDc0LCAweGJmLCAweDE5LCAweGIwLCAweDAwLCAweDBjLCAKLSAgICAweDA5LCAweGIwLCAweDAwLCAweDA0LCAweDQ0LCAweDA4LCAweDE5LCAweGIwLCAweDAwLCAweDA0LCAweDE5LCAweDMwLCAweDAwLCAweDBjLCAweDA5LCAweGIwLCAKLSAgICAweDAwLCAweDBjLCAweDU0LCAweGJmLCAweDE5LCAweGIwLCAweDAwLCAweDBjLCAweGQwLCAweGE4LCAweDIyLCAweDc1LCAweDJmLCAweGI0LCAweDEyLCAweDczLCAKLSAgICAweDM1LCAweDdhLCAweDIxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDdhLCAweDQxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDdlLCAweGIwLCAweDAxLCAKLSAgICAweDdlLCAweGEwLCAweGM4LCAweDdjLCAweDY0LCAweDEyLCAweDYxLCAweDM2LCAweDEyLCAweDY0LCAweDg2LCAweGQwLCAweGE4LCAweDIyLCAweDM5LCAweDJlLCAKLSAgICAweDM5LCAweDc1LCAweDM5LCAweGJjLCAweDNhLCAweDAzLCAweDNhLCAweDRhLCAweDNhLCAweDkxLCAweDNhLCAweGQ4LCAweDNiLCAweDFmLCAweDc1LCAweDJmLCAKLSAgICAweDU1LCAweDEyLCAweDczLCAweDM1LCAweDc1LCAweDJmLCAweDAwLCAweDEyLCAweDczLCAweDM1LCAweDdhLCAweDYxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAKLSAgICAweDdhLCAweDcxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDdlLCAweDE3LCAweDAxLCAweDY5LCAweDdlLCAweDI3LCAweDAxLCAweDc5LCAweDJkLCAweDIzLCAKLSAgICAweDdlLCAweDA5LCAweGIwLCAweDBiLCAweDA0LCAweDdhLCAweDE5LCAweGIwLCAweDBiLCAweDE0LCAweGJlLCAweDE0LCAweDA4LCAweDJjLCAweDM4LCAweDBmLCAKLSAgICAweDFiLCAweDM0LCAweDc4LCAweGVjLCAweDdhLCAweDE3LCAweDAxLCAweDY5LCAweDdhLCAweDI3LCAweDAxLCAweDc5LCAweDAyLCAweDQ2LCAweDRmLCAweDdlLCAKLSAgICAweDE0LCAweDA0LCAweDJkLCAweDgwLCAweGViLCAweDc1LCAweDJmLCAweDU1LCAweDEyLCAweDczLCAweDM1LCAweDc1LCAweDJmLCAweDAxLCAweDEyLCAweDczLCAKLSAgICAweDM1LCAweDdhLCAweDYxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDdhLCAweDcxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDdlLCAweDE3LCAweDAxLCAKLSAgICAweDZiLCAweDdlLCAweDI3LCAweDAxLCAweDdiLCAweDJkLCAweDIzLCAweDdlLCAweDA5LCAweGIwLCAweDBiLCAweDA0LCAweDdhLCAweDE5LCAweGIwLCAweDBiLCAKLSAgICAweDE0LCAweGJlLCAweDE0LCAweDBjLCAweDJjLCAweDM4LCAweDBmLCAweDFiLCAweDM0LCAweDc4LCAweGVjLCAweDdhLCAweDE3LCAweDAxLCAweDZiLCAweDdhLCAKLSAgICAweDI3LCAweDAxLCAweDdiLCAweDAyLCAweDQ5LCAweDdjLCAweDdlLCAweDE0LCAweDA4LCAweDJkLCAweDgwLCAweGViLCAweDc1LCAweDJmLCAweDU1LCAweDEyLCAKLSAgICAweDczLCAweDM1LCAweDc1LCAweDJmLCAweDAyLCAweDEyLCAweDczLCAweDM1LCAweDdhLCAweDYxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDdhLCAweDcxLCAKLSAgICAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDdlLCAweDE3LCAweDAxLCAweDZkLCAweDdlLCAweDI3LCAweDAxLCAweDdkLCAweDJkLCAweDIzLCAweDdlLCAweDA5LCAKLSAgICAweGIwLCAweDBiLCAweDA0LCAweDdhLCAweDE5LCAweGIwLCAweDBiLCAweDE0LCAweGJlLCAweDE0LCAweDEwLCAweDJjLCAweDM4LCAweDBmLCAweDFiLCAweDM0LCAKLSAgICAweDc4LCAweGVjLCAweDdhLCAweDE3LCAweDAxLCAweDZkLCAweDdhLCAweDI3LCAweDAxLCAweDdkLCAweDAyLCAweDRjLCAweGE5LCAweDdlLCAweDE0LCAweDBjLCAKLSAgICAweDJkLCAweDgwLCAweGViLCAweDc1LCAweDJmLCAweDU1LCAweDEyLCAweDczLCAweDM1LCAweDc1LCAweDJmLCAweDAzLCAweDEyLCAweDczLCAweDM1LCAweDdhLCAKLSAgICAweDYxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDdhLCAweDcxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDdlLCAweDE3LCAweDAxLCAweDZmLCAweDdlLCAKLSAgICAweDI3LCAweDAxLCAweDdmLCAweDJkLCAweDIzLCAweDdlLCAweDA5LCAweGIwLCAweDBiLCAweDA0LCAweDdhLCAweDE5LCAweGIwLCAweDBiLCAweDE0LCAweGJlLCAKLSAgICAweDE0LCAweDE0LCAweDJjLCAweDM4LCAweDBmLCAweDFiLCAweDM0LCAweDc4LCAweGVjLCAweDdhLCAweDE3LCAweDAxLCAweDZmLCAweDdhLCAweDI3LCAweDAxLCAKLSAgICAweDdmLCAweDAyLCAweDRmLCAweGQ2LCAweDdlLCAweDE0LCAweDEwLCAweDJkLCAweDgwLCAweGViLCAweDc1LCAweDJmLCAweDU1LCAweDEyLCAweDczLCAweDM1LCAKLSAgICAweDc1LCAweDJmLCAweDA0LCAweDEyLCAweDczLCAweDM1LCAweDdhLCAweDYxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDdhLCAweDcxLCAweDJmLCAweDEyLCAKLSAgICAweDczLCAweDM1LCAweDdlLCAweDE3LCAweDAxLCAweDcxLCAweDdlLCAweDI3LCAweDAxLCAweDgxLCAweDJkLCAweDIzLCAweDdlLCAweDA5LCAweGIwLCAweDBiLCAKLSAgICAweDA0LCAweDdhLCAweDE5LCAweGIwLCAweDBiLCAweDE0LCAweGJlLCAweDE0LCAweDE4LCAweDJjLCAweDM4LCAweDBmLCAweDFiLCAweDM0LCAweDc4LCAweGVjLCAKLSAgICAweDdhLCAweDE3LCAweDAxLCAweDcxLCAweDdhLCAweDI3LCAweDAxLCAweDgxLCAweDAyLCAweDUzLCAweDAzLCAweDdlLCAweDE0LCAweDE0LCAweDJkLCAweDgwLCAKLSAgICAweGViLCAweDc1LCAweDJmLCAweDU1LCAweDEyLCAweDczLCAweDM1LCAweDc1LCAweDJmLCAweDA1LCAweDEyLCAweDczLCAweDM1LCAweDdhLCAweDYxLCAweDJmLCAKLSAgICAweDEyLCAweDczLCAweDM1LCAweDdhLCAweDcxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDdlLCAweDE3LCAweDAxLCAweDczLCAweDdlLCAweDI3LCAweDAxLCAKLSAgICAweDgzLCAweDJkLCAweDIzLCAweDdlLCAweDA5LCAweGIwLCAweDBiLCAweDA0LCAweDdhLCAweDE5LCAweGIwLCAweDBiLCAweDE0LCAweGJlLCAweDE0LCAweDFjLCAKLSAgICAweDJjLCAweDM4LCAweDBmLCAweDFiLCAweDM0LCAweDc4LCAweGVjLCAweDdhLCAweDE3LCAweDAxLCAweDczLCAweDdhLCAweDI3LCAweDAxLCAweDgzLCAweDAyLCAKLSAgICAweDU2LCAweDMwLCAweDdlLCAweDE0LCAweDE4LCAweDJkLCAweDgwLCAweGViLCAweDc1LCAweDJmLCAweDU1LCAweDEyLCAweDczLCAweDM1LCAweDc1LCAweDJmLCAKLSAgICAweDA2LCAweDEyLCAweDczLCAweDM1LCAweDdhLCAweDYxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDdhLCAweDcxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAKLSAgICAweDdlLCAweDE3LCAweDAxLCAweDc1LCAweDdlLCAweDI3LCAweDAxLCAweDg1LCAweDJkLCAweDIzLCAweDdlLCAweDA5LCAweGIwLCAweDBiLCAweDA0LCAweDdhLCAKLSAgICAweDE5LCAweGIwLCAweDBiLCAweDE0LCAweGJlLCAweDE0LCAweDIwLCAweDJjLCAweDM4LCAweDBmLCAweDFiLCAweDM0LCAweDc4LCAweGVjLCAweDdhLCAweDE3LCAKLSAgICAweDAxLCAweDc1LCAweDdhLCAweDI3LCAweDAxLCAweDg1LCAweDAyLCAweDU5LCAweDVkLCAweDdlLCAweDE0LCAweDFjLCAweDJkLCAweDgwLCAweGViLCAweDc1LCAKLSAgICAweDJmLCAweDU1LCAweDEyLCAweDczLCAweDM1LCAweDc1LCAweDJmLCAweDA3LCAweDEyLCAweDczLCAweDM1LCAweDdhLCAweDYxLCAweDJmLCAweDEyLCAweDczLCAKLSAgICAweDM1LCAweDdhLCAweDcxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDdlLCAweDE3LCAweDAxLCAweDc3LCAweDdlLCAweDI3LCAweDAxLCAweDg3LCAweDJkLCAKLSAgICAweDIzLCAweDdlLCAweDA5LCAweGIwLCAweDBiLCAweDA0LCAweDdhLCAweDE5LCAweGIwLCAweDBiLCAweDE0LCAweGJlLCAweDE0LCAweDI0LCAweDJjLCAweDM4LCAKLSAgICAweDBmLCAweDFiLCAweDM0LCAweDc4LCAweGVjLCAweDdhLCAweDE3LCAweDAxLCAweDc3LCAweDdhLCAweDI3LCAweDAxLCAweDg3LCAweDAyLCAweDVjLCAweDhhLCAKLSAgICAweDdlLCAweDE0LCAweDIwLCAweDJkLCAweDgwLCAweGViLCAKLQotLy8gU2VnbWVudCAjMTUsIFN0YXJ0IEFkZHJlc3MgMDBmZjQwMDAsIExlbmd0aCAxMzEwOQotMHhmZiwweDAwLDB4MDAsMHg0MCwweDM1LDB4MzMsCi0gICAgMHg3ZSwgMHgwNCwgMHgwMCwgMHgwMSwgMHg3ZSwgMHgxNCwgMHg3ZiwgMHhmOCwgMHg3ZSwgMHgyNCwgMHgwMCwgMHhmZSwgMHg3ZCwgMHgzMSwgMHgwYiwgMHgxYSwgCi0gICAgMHg1MCwgMHgxYiwgMHgwYSwgMHg1MCwgMHg3ZSwgMHgxNCwgMHg0MCwgMHgxYiwgMHgwMiwgMHg0MCwgMHg3NCwgMHg3ZSwgMHhmOCwgMHgwMCwgMHg1OSwgMHg3NSwgCi0gICAgMHhiMCwgMHhkZiwgMHg3ZSwgMHhiMCwgMHgwMSwgMHg3YSwgMHhiMywgMHg5MCwgMHgwMCwgMHg3ZSwgMHhmNCwgMHg0MCwgMHgzMCwgMHgwMiwgMHg0MCwgMHg4YiwgCi0gICAgMHgxMiwgMHg3NCwgMHg0ZSwgMHhmNSwgMHgyZSwgMHg3YSwgMHhhMSwgMHgyZCwgMHg3YSwgMHgxMSwgMHg1OCwgMHgxMiwgMHg2YiwgMHgwMiwgMHgxMiwgMHg0MCwgCi0gICAgMHhlYiwgMHg3ZSwgMHhiMywgMHgzZiwgMHhmMSwgMHg2MCwgMHgwMywgMHgxMiwgMHg0MywgMHg3OSwgMHgxMiwgMHg2YiwgMHhkZSwgMHhkMiwgMHhhZiwgMHgwMiwgCi0gICAgMHgzMCwgMHgwMCwgMHg3ZSwgMHgwNCwgMHgwMCwgMHhmZiwgMHg3ZSwgMHgxOCwgMHg0MCwgMHg2MCwgMHg3YSwgMHgxYywgMHgwMCwgMHgwMSwgMHg4OSwgMHgxOCwgCi0gICAgMHg3ZSwgMHhiMCwgMHgwMSwgMHg3YSwgMHhiMywgMHg5NCwgMHgwMCwgMHg3YSwgMHhiMywgMHgyYywgMHgzNSwgMHg3ZSwgMHhiMCwgMHgwMSwgMHg3YSwgMHhiMywgCi0gICAgMHg5MywgMHgwMCwgMHg4OSwgMHgwOCwgMHg3ZSwgMHgwNCwgMHgwMCwgMHhmZiwgMHg3ZSwgMHgxOCwgMHg0MCwgMHg4MiwgMHg3YSwgMHgxYywgMHgwMCwgMHgwMSwgCi0gICAgMHg4OSwgMHgxOCwgMHg3ZSwgMHhiMCwgMHgwMCwgMHg3YSwgMHhiMywgMHg5MywgMHgwMCwgMHg4OSwgMHgwOCwgMHg3ZSwgMHgwOCwgMHgwMCwgMHgyMCwgMHg3ZSwgCi0gICAgMHg0NCwgMHgwNCwgMHgwMCwgMHg3ZSwgMHg0MCwgMHgwMCwgMHg3ZSwgMHhlNCwgMHg0MCwgMHg5ZCwgMHgwMiwgMHg3MywgMHg1MCwgMHg3ZSwgMHgwOCwgMHgwMSwgCi0gICAgMHg1OSwgMHg3ZSwgMHg0NCwgMHgyYSwgMHhkZCwgMHg3ZSwgMHg0MCwgMHgwMCwgMHg3ZSwgMHhlNCwgMHg0MCwgMHhhZiwgMHgwMiwgMHg3MywgMHg1MCwgMHg3ZSwgCi0gICAgMHgwOCwgMHgwMCwgMHg1OSwgMHg3ZSwgMHg0NCwgMHgwMSwgMHgwMCwgMHg3ZSwgMHg0MCwgMHg1MywgMHg3ZSwgMHhlNCwgMHg0MCwgMHhjMSwgMHgwMiwgMHg3MywgCi0gICAgMHg1MCwgMHg3NSwgMHg1NywgMHgwMSwgMHg3NSwgMHg1NiwgMHgwMCwgMHg3ZSwgMHgwNCwgMHgwMCwgMHgwOCwgMHg3NSwgMHg1NCwgMHg1OCwgMHg3NSwgMHg1NSwgCi0gICAgMHgwOCwgMHg3NSwgMHg1MSwgMHgwOCwgMHg3NSwgMHg1MywgMHgwMSwgMHg3NSwgMHg4OSwgMHgwMSwgMHg3NSwgMHg4YSwgMHgwMSwgMHg3NSwgMHg4YywgMHgwMCwgCi0gICAgMHhkMiwgMHg4YywgMHg3ZSwgMHgwNCwgMHgwMCwgMHgwMiwgMHg3YSwgMHgwNSwgMHg0MiwgMHg4OSwgMHhmNCwgMHg3NSwgMHhiNywgMHg3ZiwgMHg3NSwgMHhiOCwgCi0gICAgMHg3ZiwgMHg3NSwgMHhiMywgMHgwMSwgMHg3NSwgMHhiMiwgMHgwMSwgMHhkMiwgMHhhOSwgMHgyMiwgMHg3NSwgMHhiMCwgMHhkZiwgMHhlNCwgMHhkNSwgMHhlMCwgCi0gICAgMHhmZCwgMHg3NSwgMHhiMCwgMHhlZiwgMHg3ZSwgMHgyNCwgMHg4MCwgMHgwMCwgMHg3ZSwgMHgxMSwgMHgyZSwgMHg3ZSwgMHhhMCwgMHgwOCwgMHgxOSwgMHhhMiwgCi0gICAgMHgwMCwgMHgxMCwgMHgyZSwgMHgyNCwgMHgwMSwgMHgwMCwgMHhhNSwgMHhkOSwgMHhmMiwgMHg3ZSwgMHgyMCwgMHgwMCwgMHgxMiwgMHg0MSwgMHg4MywgMHgwYiwgCi0gICAgMHgyMCwgMHhiZSwgMHgyMSwgMHgyZSwgMHg3OCwgMHhmNiwgMHgyMiwgMHg3ZSwgMHgwNCwgMHg4MCwgMHgwMCwgMHg0YywgMHgwMiwgMHg3NCwgMHhiZiwgMHgxOSwgCi0gICAgMHhiMCwgMHgwMCwgMHgwYywgMHg3NCwgMHgxMCwgMHgxOSwgMHhiMCwgMHgwMCwgMHgwOCwgMHg3NCwgMHg4MCwgMHgxOSwgMHhiMCwgMHgwMCwgMHgwYywgMHg3ZSwgCi0gICAgMHg1NCwgMHgwMCwgMHgwMiwgMHgxOSwgMHhhMCwgMHgwMCwgMHgwNCwgMHgxOSwgMHhiMCwgMHgwMCwgMHgwMCwgMHg3NCwgMHgwMywgMHgxOSwgMHhiMCwgMHgwMCwgCi0gICAgMHgwYywgMHg3NCwgMHgwNywgMHgyMCwgMHg2OCwgMHgwMiwgMHg3NCwgMHgwZiwgMHgxOSwgMHhiMCwgMHgwMCwgMHgwNCwgMHgzMCwgMHg2YiwgMHgxNywgMHg3NCwgCi0gICAgMHhiZiwgMHgxOSwgMHhiMCwgMHgwMCwgMHgwYywgMHg3NCwgMHgyOCwgMHgyMCwgMHg2OCwgMHgwMiwgMHg3NCwgMHgyMCwgMHgxOSwgMHhiMCwgMHgwMCwgMHgwNCwgCi0gICAgMHg3NCwgMHgwMywgMHgxOSwgMHhiMCwgMHgwMCwgMHgwYywgMHg3NCwgMHhhNywgMHgxOSwgMHhiMCwgMHgwMCwgMHgwOCwgMHg3NCwgMHgwYywgMHgxOSwgMHhiMCwgCi0gICAgMHgwMCwgMHgxMCwgMHgyMiwgMHg3ZSwgMHgwNCwgMHg4MCwgMHgwMCwgMHg0YywgMHgwMiwgMHhlNCwgMHgxOSwgMHhiMCwgMHgwMCwgMHgwNCwgMHgwOSwgMHhiMCwgCi0gICAgMHgwMCwgMHgxMCwgMHg1NCwgMHgwOCwgMHgxOSwgMHhiMCwgMHgwMCwgMHgxMCwgMHg3NCwgMHhhNywgMHgxOSwgMHhiMCwgMHgwMCwgMHgwOCwgMHgyMiwgMHg3YywgCi0gICAgMHhiMiwgMHgyMywgMHgwYSwgMHgyYiwgMHg0OSwgMHgyMiwgMHg0MSwgMHhhYSwgMHg4OSwgMHgyNCwgMHg0MSwgMHhiYSwgMHg0MSwgMHhkNywgMHg0MSwgMHhmNCwgCi0gICAgMHg0MiwgMHgxMSwgMHg0MiwgMHgyZSwgMHg0MiwgMHg0YiwgMHg0MiwgMHg2OCwgMHg0MiwgMHg4NSwgMHhjMiwgMHgxMCwgMHhjMiwgMHgxOCwgMHhjMiwgMHgwOCwgCi0gICAgMHg3ZSwgMHgwNCwgMHgwNCwgMHgyZCwgMHg3YSwgMHgwNywgMHgwMSwgMHg1OSwgMHg3YSwgMHgwNywgMHgwMSwgMHg2OSwgMHg2ZCwgMHgwMCwgMHg3YSwgMHgwNywgCi0gICAgMHgwMSwgMHg3OSwgMHg3YSwgMHgwNywgMHgwMSwgMHg4OSwgMHgyMiwgMHhjMiwgMHgxMSwgMHhjMiwgMHgxOSwgMHhjMiwgMHgwOSwgMHg3ZSwgMHgwNCwgMHgwOCwgCi0gICAgMHgyZCwgMHg3YSwgMHgwNywgMHgwMSwgMHg1YiwgMHg3YSwgMHgwNywgMHgwMSwgMHg2YiwgMHg2ZCwgMHgwMCwgMHg3YSwgMHgwNywgMHgwMSwgMHg3YiwgMHg3YSwgCi0gICAgMHgwNywgMHgwMSwgMHg4YiwgMHgyMiwgMHhjMiwgMHgxMiwgMHhjMiwgMHgxYSwgMHhjMiwgMHgwYSwgMHg3ZSwgMHgwNCwgMHgwYywgMHgyZCwgMHg3YSwgMHgwNywgCi0gICAgMHgwMSwgMHg1ZCwgMHg3YSwgMHgwNywgMHgwMSwgMHg2ZCwgMHg2ZCwgMHgwMCwgMHg3YSwgMHgwNywgMHgwMSwgMHg3ZCwgMHg3YSwgMHgwNywgMHgwMSwgMHg4ZCwgCi0gICAgMHgyMiwgMHhjMiwgMHgxMywgMHhjMiwgMHgxYiwgMHhjMiwgMHgwYiwgMHg3ZSwgMHgwNCwgMHgxMCwgMHgyZCwgMHg3YSwgMHgwNywgMHgwMSwgMHg1ZiwgMHg3YSwgCi0gICAgMHgwNywgMHgwMSwgMHg2ZiwgMHg2ZCwgMHgwMCwgMHg3YSwgMHgwNywgMHgwMSwgMHg3ZiwgMHg3YSwgMHgwNywgMHgwMSwgMHg4ZiwgMHgyMiwgMHhjMiwgMHgxNCwgCi0gICAgMHhjMiwgMHgxYywgMHhjMiwgMHgwYywgMHg3ZSwgMHgwNCwgMHgxNCwgMHgyZCwgMHg3YSwgMHgwNywgMHgwMSwgMHg2MSwgMHg3YSwgMHgwNywgMHgwMSwgMHg3MSwgCi0gICAgMHg2ZCwgMHgwMCwgMHg3YSwgMHgwNywgMHgwMSwgMHg4MSwgMHg3YSwgMHgwNywgMHgwMSwgMHg5MSwgMHgyMiwgMHhjMiwgMHgxNSwgMHhjMiwgMHgxZCwgMHhjMiwgCi0gICAgMHgwZCwgMHg3ZSwgMHgwNCwgMHgxOCwgMHgyZCwgMHg3YSwgMHgwNywgMHgwMSwgMHg2MywgMHg3YSwgMHgwNywgMHgwMSwgMHg3MywgMHg2ZCwgMHgwMCwgMHg3YSwgCi0gICAgMHgwNywgMHgwMSwgMHg4MywgMHg3YSwgMHgwNywgMHgwMSwgMHg5MywgMHgyMiwgMHhjMiwgMHgxNiwgMHhjMiwgMHgxZSwgMHhjMiwgMHgwZSwgMHg3ZSwgMHgwNCwgCi0gICAgMHgxYywgMHgyZCwgMHg3YSwgMHgwNywgMHgwMSwgMHg2NSwgMHg3YSwgMHgwNywgMHgwMSwgMHg3NSwgMHg2ZCwgMHgwMCwgMHg3YSwgMHgwNywgMHgwMSwgMHg4NSwgCi0gICAgMHg3YSwgMHgwNywgMHgwMSwgMHg5NSwgMHgyMiwgMHhjMiwgMHgxNywgMHhjMiwgMHgxZiwgMHhjMiwgMHgwZiwgMHg3ZSwgMHgwNCwgMHgyMCwgMHgyZCwgMHg3YSwgCi0gICAgMHgwNywgMHgwMSwgMHg2NywgMHg3YSwgMHgwNywgMHgwMSwgMHg3NywgMHg2ZCwgMHgwMCwgMHg3YSwgMHgwNywgMHgwMSwgMHg4NywgMHg3YSwgMHgwNywgMHgwMSwgCi0gICAgMHg5NywgMHgyMiwgMHg3YywgMHhiMiwgMHgyMywgMHgwYSwgMHgyYiwgMHg0OSwgMHgyMiwgMHg0MiwgMHhhZCwgMHg4OSwgMHgyNCwgMHg0MiwgMHhiZCwgMHg0MiwgCi0gICAgMHhkNCwgMHg0MiwgMHhlYiwgMHg0MywgMHgwMiwgMHg0MywgMHgxOSwgMHg0MywgMHgzMCwgMHg0MywgMHg0NywgMHg0MywgMHg1ZSwgMHgzMCwgMHg0MCwgMHgwNywgCi0gICAgMHgyMCwgMHg1OCwgMHgwNCwgMHhjMiwgMHgyOCwgMHg4MCwgMHgwYywgMHgzMCwgMHg0OCwgMHgwNywgMHgyMCwgMHg1MCwgMHgwNCwgMHhjMiwgMHgyOCwgMHg4MCwgCi0gICAgMHgwMiwgMHhkMiwgMHgyOCwgMHgyMiwgMHgzMCwgMHg0MSwgMHgwNywgMHgyMCwgMHg1OSwgMHgwNCwgMHhjMiwgMHgyOSwgMHg4MCwgMHgwYywgMHgzMCwgMHg0OSwgCi0gICAgMHgwNywgMHgyMCwgMHg1MSwgMHgwNCwgMHhjMiwgMHgyOSwgMHg4MCwgMHgwMiwgMHhkMiwgMHgyOSwgMHgyMiwgMHgzMCwgMHg0MiwgMHgwNywgMHgyMCwgMHg1YSwgCi0gICAgMHgwNCwgMHhjMiwgMHgyYSwgMHg4MCwgMHgwYywgMHgzMCwgMHg0YSwgMHgwNywgMHgyMCwgMHg1MiwgMHgwNCwgMHhjMiwgMHgyYSwgMHg4MCwgMHgwMiwgMHhkMiwgCi0gICAgMHgyYSwgMHgyMiwgMHgzMCwgMHg0MywgMHgwNywgMHgyMCwgMHg1YiwgMHgwNCwgMHhjMiwgMHgyYiwgMHg4MCwgMHgwYywgMHgzMCwgMHg0YiwgMHgwNywgMHgyMCwgCi0gICAgMHg1MywgMHgwNCwgMHhjMiwgMHgyYiwgMHg4MCwgMHgwMiwgMHhkMiwgMHgyYiwgMHgyMiwgMHgzMCwgMHg0NCwgMHgwNywgMHgyMCwgMHg1YywgMHgwNCwgMHhjMiwgCi0gICAgMHgyYywgMHg4MCwgMHgwYywgMHgzMCwgMHg0YywgMHgwNywgMHgyMCwgMHg1NCwgMHgwNCwgMHhjMiwgMHgyYywgMHg4MCwgMHgwMiwgMHhkMiwgMHgyYywgMHgyMiwgCi0gICAgMHgzMCwgMHg0NSwgMHgwNywgMHgyMCwgMHg1ZCwgMHgwNCwgMHhjMiwgMHgyZCwgMHg4MCwgMHgwYywgMHgzMCwgMHg0ZCwgMHgwNywgMHgyMCwgMHg1NSwgMHgwNCwgCi0gICAgMHhjMiwgMHgyZCwgMHg4MCwgMHgwMiwgMHhkMiwgMHgyZCwgMHgyMiwgMHgzMCwgMHg0NiwgMHgwNywgMHgyMCwgMHg1ZSwgMHgwNCwgMHhjMiwgMHgyZSwgMHg4MCwgCi0gICAgMHgwYywgMHgzMCwgMHg0ZSwgMHgwNywgMHgyMCwgMHg1NiwgMHgwNCwgMHhjMiwgMHgyZSwgMHg4MCwgMHgwMiwgMHhkMiwgMHgyZSwgMHgyMiwgMHgzMCwgMHg0NywgCi0gICAgMHgwNywgMHgyMCwgMHg1ZiwgMHgwNCwgMHhjMiwgMHgyZiwgMHg4MCwgMHgwYywgMHgzMCwgMHg0ZiwgMHgwNywgMHgyMCwgMHg1NywgMHgwNCwgMHhjMiwgMHgyZiwgCi0gICAgMHg4MCwgMHgwMiwgMHhkMiwgMHgyZiwgMHgyMiwgMHg0NCwgMHg2NiwgMHg0MywgMHg4YSwgMHhiZSwgMHhiMCwgMHgwMiwgMHg0MCwgMHgwMSwgMHgyMiwgMHgyMywgCi0gICAgMHgwYSwgMHg1YiwgMHg0OSwgMHg1NSwgMHg0MywgMHg3NSwgMHg5OSwgMHg1NCwgMHhkMywgMHgyMiwgMHg3ZSwgMHhiMCwgMHgwMCwgMHg3YSwgMHhiMywgMHg5NCwgCi0gICAgMHgwMCwgMHg3YSwgMHhiMywgMHgyYywgMHgzNSwgMHgxMiwgMHg0NCwgMHg3YSwgMHg3ZSwgMHgwNCwgMHgyOCwgMHgyZCwgMHg3YSwgMHgwNywgMHgwMSwgMHhjMSwgCi0gICAgMHg3YSwgMHgwNywgMHgwMSwgMHhjMywgMHg3ZSwgMHgwNCwgMHgyNCwgMHgyZCwgMHg3YSwgMHgwNywgMHgwMSwgMHhjNywgMHg3YSwgMHgwNywgMHgwMSwgMHhjOSwgCi0gICAgMHg3ZSwgMHgwNCwgMHg2NiwgMHg3ZiwgMHg3YSwgMHgwNSwgMHg0YiwgMHg3NCwgMHgyMCwgMHg3YSwgMHhiMywgMHg5MSwgMHgwMCwgMHg3NCwgMHg2MCwgMHg3YSwgCi0gICAgMHhiMywgMHg5MSwgMHgxYywgMHg3NCwgMHgxMiwgMHg3YSwgMHhiMywgMHg5MSwgMHgwNiwgMHg3NCwgMHg0MCwgMHg3YSwgMHhiMywgMHg5MSwgMHgwNywgMHg3NCwgCi0gICAgMHgxZSwgMHg3YSwgMHhiMywgMHg5MSwgMHgxMCwgMHg3NCwgMHg0OCwgMHg3YSwgMHhiMywgMHg5MSwgMHgxMiwgMHg3NCwgMHgxMCwgMHg3YSwgMHhiMywgMHg5MSwgCi0gICAgMHgxMywgMHg3NCwgMHgzZiwgMHg3YSwgMHhiMywgMHg5MSwgMHgxNCwgMHg3NCwgMHg0MCwgMHg3YSwgMHhiMywgMHg5MSwgMHgwMCwgMHg3NCwgMHg2MCwgMHg3YSwgCi0gICAgMHhiMywgMHg5MSwgMHgxYywgMHg3NCwgMHgxNCwgMHg3YSwgMHhiMywgMHg5MSwgMHgwNiwgMHg3NCwgMHg0MCwgMHg3YSwgMHhiMywgMHg5MSwgMHgwNywgMHg3NCwgCi0gICAgMHgxNiwgMHg3YSwgMHhiMywgMHg5MSwgMHgxMCwgMHg3NCwgMHgwOCwgMHg3YSwgMHhiMywgMHg5MSwgMHgxMSwgMHg3NCwgMHgyMCwgMHg3YSwgMHhiMywgMHg5MSwgCi0gICAgMHgxMywgMHg3NCwgMHgzZiwgMHg3YSwgMHhiMywgMHg5MSwgMHgxNCwgMHg3NCwgMHg2MCwgMHg3YSwgMHhiMywgMHg5MSwgMHgwMCwgMHg3NCwgMHg2MCwgMHg3YSwgCi0gICAgMHhiMywgMHg5MSwgMHgxYywgMHg3NCwgMHgxNiwgMHg3YSwgMHhiMywgMHg5MSwgMHgwNiwgMHg3NCwgMHgyMCwgMHg3YSwgMHhiMywgMHg5MSwgMHgwNywgMHg3NCwgCi0gICAgMHgyZiwgMHg3YSwgMHhiMywgMHg5MSwgMHgxMCwgMHg3NCwgMHg0OCwgMHg3YSwgMHhiMywgMHg5MSwgMHgxMiwgMHg3NCwgMHgxMCwgMHg3YSwgMHhiMywgMHg5MSwgCi0gICAgMHgxMywgMHg3NCwgMHgzZiwgMHg3YSwgMHhiMywgMHg5MSwgMHgxNCwgMHg3NCwgMHgwMiwgMHg3YSwgMHhiMywgMHg5MSwgMHgwNiwgMHg3NCwgMHgwZiwgMHg3YSwgCi0gICAgMHhiMywgMHg5MSwgMHgwNywgMHgxMiwgMHg0MCwgMHhmYSwgMHg3ZSwgMHgyMCwgMHgwMCwgMHgxMiwgMHg0MSwgMHg5ZiwgMHgwYiwgMHgyMCwgMHhiZSwgMHgyMSwgCi0gICAgMHgyZSwgMHg3OCwgMHhmNiwgMHhkMiwgMHhhOCwgMHgyMiwgMHg3ZSwgMHhiMCwgMHgwMSwgMHg3YSwgMHhiMywgMHg5NCwgMHgwMCwgMHg3YSwgMHhiMywgMHgyYywgCi0gICAgMHgzNSwgMHgxMiwgMHg0NCwgMHg3YSwgMHg3NSwgMHhiMCwgMHhkZiwgMHhjMiwgMHhhOCwgMHgyMiwgMHg3NCwgMHgwMiwgMHg3YSwgMHhiMywgMHg5MSwgMHgwNiwgCi0gICAgMHg3NCwgMHgwMSwgMHg3YSwgMHhiMywgMHg5MSwgMHgwNywgMHg3ZSwgMHgyMCwgMHgwNCwgMHg3YywgMHhiMiwgMHhjMiwgMHhkNywgMHgxMywgMHgxMywgMHgxMywgCi0gICAgMHgxMywgMHg3YSwgMHhiMywgMHg5MSwgMHgwMCwgMHg3NCwgMHg2MCwgMHg3YSwgMHhiMywgMHg5MSwgMHgxYywgMHg3NCwgMHgwMiwgMHg3YSwgMHhiMywgMHg5MSwgCi0gICAgMHgxMiwgMHhhNSwgMHhkYSwgMHhlNSwgMHgyMiwgMHhjYSwgMHgwOSwgMHgxMiwgMHgzMCwgMHgwZSwgMHgxMCwgMHgwMSwgMHgzNCwgMHhkNSwgMHg1MSwgMHg0MCwgCi0gICAgMHg3NCwgMHgwMCwgMHg3YSwgMHhiMywgMHg5MSwgMHgwMCwgMHg3NCwgMHgwMiwgMHg3YSwgMHhiMywgMHg5MSwgMHgwNiwgMHg3ZSwgMHhiMywgMHg5MSwgMHgwNywgCi0gICAgMHg3NCwgMHgwMywgMHg3YSwgMHhiMywgMHg5MSwgMHgwNiwgMHg3ZSwgMHhiMywgMHg5MSwgMHgwNywgMHg3ZSwgMHhiMywgMHg5MSwgMHgxNCwgMHg3ZSwgMHhiMywgCi0gICAgMHg5MSwgMHgwNCwgMHg2MywgMHg1MywgMHgwMSwgMHg3ZSwgMHgwMCwgMHg1NCwgMHgyZSwgMHgwMSwgMHg1MywgMHhhNSwgMHhlNiwgMHhmNSwgMHg1MSwgMHg4MCwgCi0gICAgMHgxMiwgMHgyMCwgMHgwMiwgMHgxZCwgMHg3NSwgMHg1MywgMHgwMCwgMHg4NSwgMHg1NCwgMHg1MSwgMHhkMiwgMHgwMiwgMHg3NCwgMHgwMywgMHg4MCwgMHgwZCwgCi0gICAgMHgzMCwgMHgwMiwgMHgwZSwgMHhjMiwgMHgwMiwgMHg3ZSwgMHgwMCwgMHg1NiwgMHgyZSwgMHgwMSwgMHg1MywgMHhhNSwgMHhlNiwgMHg3YSwgMHhiMywgMHg5MCwgCi0gICAgMHgwMCwgMHhkYSwgMHgwOSwgMHgzMiwgMHg0NSwgMHg2ZiwgMHg0NSwgMHg4YiwgMHg0NSwgMHhhNywgMHg0NSwgMHhjMywgMHg0NSwgMHhkZiwgMHg0NSwgMHhmYiwgCi0gICAgMHg0NiwgMHgxNywgMHg0NiwgMHgzMywgMHhjMCwgMHhkMCwgMHhjMCwgMHhkMSwgMHhjMCwgMHhlMCwgMHhjMCwgMHhmMCwgMHhjYSwgMHgwYiwgMHhjYSwgMHgxYiwgCi0gICAgMHhjYSwgMHgyYiwgMHhkMiwgMHgwMSwgMHg3NSwgMHgyZiwgMHg4OSwgMHgxMiwgMHg3MywgMHgzNSwgMHg3ZSwgMHhiMywgMHg5MCwgMHgwMCwgMHg2MCwgMHgyOCwgCi0gICAgMHg3ZSwgMHgxNCwgMHg4MCwgMHgwMCwgMHg3ZSwgMHgwMCwgMHgwMCwgMHgxMywgMHg1MCwgMHgxMywgMHhjYSwgMHgwYiwgMHhjYSwgMHg1OSwgMHg3YywgMHhiMCwgCi0gICAgMHgyMywgMHgwYSwgMHgyYiwgMHg0OSwgMHgyMiwgMHg0NSwgMHgwNCwgMHg5OSwgMHgyNCwgMHhkYSwgMHg1OSwgMHhkYSwgMHgwYiwgMHhhNSwgMHgwYSwgMHhhNSwgCi0gICAgMHgwOCwgMHhiZSwgMHgwMSwgMHgyZSwgMHg3OCwgMHhlMSwgMHg4MCwgMHhkMiwgMHgzMCwgMHgwNCwgMHgwNSwgMHhjMiwgMHgwNCwgMHgxMiwgMHg2NCwgMHg4NiwgCi0gICAgMHhkYSwgMHgyYiwgMHhkYSwgMHgxYiwgMHhkYSwgMHgwYiwgMHhkMCwgMHhmMCwgMHhkMCwgMHhlMCwgMHhkMCwgMHhkMSwgMHhkMCwgMHhkMCwgMHgzMiwgMHgwOSwgCi0gICAgMHhiMSwgMHgwMCwgMHgwOCwgMHgyMCwgMHhlMCwgMHgxNCwgMHg3NSwgMHgyZiwgMHg4MCwgMHgxMiwgMHg3MywgMHgzNSwgMHg1NCwgMHgzZSwgMHgwYSwgMHg1YiwgCi0gICAgMHg3ZSwgMHg0NCwgMHgwMCwgMHhmZiwgMHg2OSwgMHg1MiwgMHg2MSwgMHhhYiwgMHg4OSwgMHg1NCwgMHgyMiwgMHgwOSwgMHhiMSwgMHgwMCwgMHgwOCwgMHgyMCwgCi0gICAgMHhlMCwgMHgxNCwgMHg3NSwgMHgyZiwgMHg4MSwgMHgxMiwgMHg3MywgMHgzNSwgMHg1NCwgMHgzZSwgMHgwYSwgMHg1YiwgMHg3ZSwgMHg0NCwgMHgwMCwgMHhmZiwgCi0gICAgMHg2OSwgMHg1MiwgMHg2MSwgMHhlYiwgMHg4OSwgMHg1NCwgMHgyMiwgMHgwOSwgMHhiMSwgMHgwMCwgMHgwOCwgMHgyMCwgMHhlMCwgMHgxNCwgMHg3NSwgMHgyZiwgCi0gICAgMHg4MiwgMHgxMiwgMHg3MywgMHgzNSwgMHg1NCwgMHgzZSwgMHgwYSwgMHg1YiwgMHg3ZSwgMHg0NCwgMHgwMCwgMHhmZiwgMHg2OSwgMHg1MiwgMHg2MiwgMHgyYiwgCi0gICAgMHg4OSwgMHg1NCwgMHgyMiwgMHgwOSwgMHhiMSwgMHgwMCwgMHgwOCwgMHgyMCwgMHhlMCwgMHgxNCwgMHg3NSwgMHgyZiwgMHg4MywgMHgxMiwgMHg3MywgMHgzNSwgCi0gICAgMHg1NCwgMHgzZSwgMHgwYSwgMHg1YiwgMHg3ZSwgMHg0NCwgMHgwMCwgMHhmZiwgMHg2OSwgMHg1MiwgMHg2MiwgMHg2YiwgMHg4OSwgMHg1NCwgMHgyMiwgMHgwOSwgCi0gICAgMHhiMSwgMHgwMCwgMHgwOCwgMHgyMCwgMHhlMCwgMHgxNCwgMHg3NSwgMHgyZiwgMHg4NCwgMHgxMiwgMHg3MywgMHgzNSwgMHg1NCwgMHgzZSwgMHgwYSwgMHg1YiwgCi0gICAgMHg3ZSwgMHg0NCwgMHgwMCwgMHhmZiwgMHg2OSwgMHg1MiwgMHg2MiwgMHhhYiwgMHg4OSwgMHg1NCwgMHgyMiwgMHgwOSwgMHhiMSwgMHgwMCwgMHgwOCwgMHgyMCwgCi0gICAgMHhlMCwgMHgxNCwgMHg3NSwgMHgyZiwgMHg4NSwgMHgxMiwgMHg3MywgMHgzNSwgMHg1NCwgMHgzZSwgMHgwYSwgMHg1YiwgMHg3ZSwgMHg0NCwgMHgwMCwgMHhmZiwgCi0gICAgMHg2OSwgMHg1MiwgMHg2MiwgMHhlYiwgMHg4OSwgMHg1NCwgMHgyMiwgMHgwOSwgMHhiMSwgMHgwMCwgMHgwOCwgMHgyMCwgMHhlMCwgMHgxNCwgMHg3NSwgMHgyZiwgCi0gICAgMHg4NiwgMHgxMiwgMHg3MywgMHgzNSwgMHg1NCwgMHgzZSwgMHgwYSwgMHg1YiwgMHg3ZSwgMHg0NCwgMHgwMCwgMHhmZiwgMHg2OSwgMHg1MiwgMHg2MywgMHgyYiwgCi0gICAgMHg4OSwgMHg1NCwgMHgyMiwgMHgwOSwgMHhiMSwgMHgwMCwgMHgwOCwgMHgyMCwgMHhlMCwgMHgxNCwgMHg3NSwgMHgyZiwgMHg4NywgMHgxMiwgMHg3MywgMHgzNSwgCi0gICAgMHg1NCwgMHgzZSwgMHgwYSwgMHg1YiwgMHg3ZSwgMHg0NCwgMHgwMCwgMHhmZiwgMHg2OSwgMHg1MiwgMHg2MywgMHg2YiwgMHg4OSwgMHg1NCwgMHgyMiwgMHgxMCwgCi0gICAgMHgwOCwgMHgwMSwgMHgyMiwgMHgyMCwgMHgyOCwgMHgwMywgMHhkMiwgMHgwOCwgMHgyMiwgMHg3NSwgMHgyZiwgMHhhMCwgMHgxMiwgMHg3MywgMHgzNSwgMHg3ZSwgCi0gICAgMHgxNCwgMHg4MCwgMHgwMCwgMHg4MCwgMHgwNiwgMHgyMCwgMHgyOCwgMHgwMywgMHhkMiwgMHgwOCwgMHgyMiwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHhjYSwgCi0gICAgMHhiOCwgMHg1ZSwgMHhiMCwgMHgxZSwgMHhkYSwgMHhiOCwgMHg2OCwgMHgwMywgMHgxMiwgMHg0OSwgMHg0NSwgMHgzMCwgMHgzMCwgMHgwNiwgMHgyMCwgMHhlNiwgCi0gICAgMHg0ZiwgMHhkMiwgMHgwOCwgMHgyMiwgMHgzMCwgMHhlNiwgMHgwMiwgMHhkMiwgMHg2MCwgMHg3ZSwgMHgzNywgMHgwMSwgMHg3OSwgMHg3ZSwgMHgyNywgMHgwMSwgCi0gICAgMHg5OSwgMHg5ZCwgMHgzMiwgMHg0MCwgMHgzMSwgMHg3ZCwgMHgwMiwgMHgyZSwgMHgwNSwgMHgzMiwgMHg3YSwgMHgwNSwgMHgzMiwgMHg3YSwgMHgzNywgMHgwMSwgCi0gICAgMHg3OSwgMHg3ZSwgMHgzNywgMHgwMSwgMHg1OSwgMHg3ZCwgMHg0MywgMHgyZCwgMHg0MiwgMHhiZSwgMHg0NCwgMHgwOCwgMHgyYywgMHgzOCwgMHg2OCwgMHg3YSwgCi0gICAgMHg0NywgMHgwMSwgMHg1OSwgMHg3NSwgMHgyZiwgMHg5NCwgMHgxMiwgMHg3MywgMHgzNSwgMHg3YSwgMHg1MSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHgxMiwgCi0gICAgMHg2OSwgMHhmMCwgMHgxMCwgMHg2MCwgMHhjNCwgMHgyMiwgMHhjMiwgMHg2MCwgMHgyZCwgMHgyMywgMHg2OCwgMHg3OCwgMHg2ZCwgMHgzMywgMHg4MCwgMHgxYSwgCi0gICAgMHg3ZSwgMHgyNywgMHgwMSwgMHg3OSwgMHhiZSwgMHgyNCwgMHgwMCwgMHgwMCwgMHg2OCwgMHg2YSwgMHhiZSwgMHgyNywgMHgwMSwgMHg5OSwgMHgyOCwgMHgwNCwgCi0gICAgMHg3ZSwgMHgyNywgMHgwMSwgMHg5OSwgMHg3ZSwgMHgzNywgMHgwMSwgMHg3OSwgMHg5ZCwgMHgzMiwgMHg3ZCwgMHgwMiwgMHgyZSwgMHgwNSwgMHgzMiwgMHg3YSwgCi0gICAgMHgwNSwgMHgzMiwgMHg3YSwgMHgzNywgMHgwMSwgMHg3OSwgMHg3ZSwgMHgzNywgMHgwMSwgMHg1OSwgMHg3ZCwgMHg0MywgMHgyZCwgMHg0MiwgMHhiZSwgMHg0NCwgCi0gICAgMHgwOCwgMHgyYywgMHgzOCwgMHgxMywgMHg3YSwgMHg0NywgMHgwMSwgMHg1OSwgMHg3NSwgMHgyZiwgMHg5NCwgMHgxMiwgMHg3MywgMHgzNSwgMHg3YSwgMHg1MSwgCi0gICAgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHgwMiwgMHg2OSwgMHhmMCwgMHg3NSwgMHgyZiwgMHg5NCwgMHgxMiwgMHg3MywgMHgzNSwgMHg3YSwgMHg1MSwgMHgyZiwgCi0gICAgMHgxMiwgMHg3MywgMHgzNSwgMHg5ZSwgMHg0NCwgMHgwOCwgMHgyZCwgMHg5ZCwgMHgyNCwgMHgxMiwgMHg2OSwgMHhmMCwgMHg3ZSwgMHgzNCwgMHgwNCwgMHgyZCwgCi0gICAgMHg3ZCwgMHgyNCwgMHgyZCwgMHg0MywgMHg3YSwgMHg0NywgMHgwMSwgMHg1OSwgMHgxMiwgMHg2OSwgMHhmMCwgMHhiZSwgMHgyNSwgMHgyMCwgMHg3OCwgMHgwMywgCi0gICAgMHgwMiwgMHg0NiwgMHhjMiwgMHgyMiwgMHhkMiwgMHgwOCwgMHg3ZSwgMHgwNCwgMHgwNCwgMHgyZCwgMHg3YSwgMHgwNywgMHgwMSwgMHg1OSwgMHg3YSwgMHgwNywgCi0gICAgMHgwMSwgMHg2OSwgMHg3NSwgMHgyZiwgMHg5NCwgMHgxMiwgMHg3MywgMHgzNSwgMHg3NSwgMHgyZiwgMHgwMCwgMHgxMiwgMHg3MywgMHgzNSwgMHgyMiwgMHg3NSwgCi0gICAgMHgyZiwgMHg5MiwgMHgxMiwgMHg3MywgMHgzNSwgMHhkMiwgMHgwNCwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHhjYSwgMHhiOCwgMHg1NCwgMHg4MiwgMHhkYSwgCi0gICAgMHhiOCwgMHg3OCwgMHg2OCwgMHg3ZSwgMHgzNywgMHgwMSwgMHhjYiwgMHg3ZSwgMHgyNywgMHgwMSwgMHhhOSwgMHgyZSwgMHgyNCwgMHgwMCwgMHgwMiwgMHgyZCwgCi0gICAgMHgzMiwgMHhiZSwgMHgzNCwgMHgwNCwgMHgwMCwgMHgzOCwgMHgzNCwgMHg3ZCwgMHgwMiwgMHgyZSwgMHgwNSwgMHgzMCwgMHg3YSwgMHgwNSwgMHgzMCwgMHg3YSwgCi0gICAgMHgzNywgMHgwMSwgMHhjYiwgMHg3ZSwgMHgzNywgMHgwMSwgMHhjOSwgMHg3ZCwgMHg0MywgMHgyZCwgMHg0MiwgMHhiZSwgMHg0NCwgMHgyOCwgMHgyYywgMHgzOCwgCi0gICAgMHgzYywgMHg3YSwgMHg0NywgMHgwMSwgMHhjOSwgMHg3ZSwgMHgyNCwgMHgwMCwgMHgwMCwgMHgyZSwgMHgyNywgMHgwMSwgMHhhOSwgMHgxYiwgMHgzOCwgMHgyMCwgCi0gICAgMHgwYiwgMHgzNSwgMHg3YSwgMHg1MSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHgwMiwgMHg2YSwgMHg2MywgMHg3NSwgMHgyZiwgMHg5OSwgMHgxMiwgMHg3MywgCi0gICAgMHgzNSwgMHgwOSwgMHhiMSwgMHgwMCwgMHgwNCwgMHg1NCwgMHhmYSwgMHgxOSwgMHhiMSwgMHgwMCwgMHgwNCwgMHgzMCwgMHgzOCwgMHgwYSwgMHgwOSwgMHhiMSwgCi0gICAgMHgwMCwgMHgxMCwgMHg1NCwgMHhmZSwgMHgxOSwgMHhiMSwgMHgwMCwgMHgxMCwgMHhkMiwgMHgxMCwgMHgyMiwgMHg4MCwgMHg3ZiwgMHg3YSwgMHg1MSwgMHgyZiwgCi0gICAgMHgxMiwgMHg3MywgMHgzNSwgMHg5ZSwgMHg0NCwgMHgyOCwgMHgyZCwgMHg5ZCwgMHgyNCwgMHg3ZSwgMHg2NCwgMHgwMCwgMHgwMCwgMHgyZSwgMHg2NywgMHgwMSwgCi0gICAgMHhhOSwgMHg5ZSwgMHgyNCwgMHgwMCwgMHgwMiwgMHg0MCwgMHgxNywgMHgxYiwgMHgzOCwgMHg2MCwgMHgwYiwgMHgzNSwgMHgxMiwgMHg2YSwgMHg2MywgMHg3ZSwgCi0gICAgMHgzNCwgMHgyNCwgMHgyZCwgMHg3ZCwgMHgyNCwgMHgyZCwgMHg0MywgMHg3YSwgMHg0NywgMHgwMSwgMHhjOSwgMHgwMiwgMHg2YSwgMHg2MywgMHg3YSwgMHgzOSwgCi0gICAgMHhjMCwgMHg3ZSwgMHgzNCwgMHgyNCwgMHgyZCwgMHg3YSwgMHgzOSwgMHhkMCwgMHgwYiwgMHgzNCwgMHgxYiwgMHg0NCwgMHg4MCwgMHhlNSwgMHg5ZCwgMHgzMiwgCi0gICAgMHg3YywgMHhiNiwgMHg1NCwgMHgwZiwgMHgyMywgMHgyMywgMHgyMywgMHg0NCwgMHgwMCwgMHg3YSwgMHg2OSwgMHhiMCwgMHg3YSwgMHg3OSwgMHg3MCwgMHgwYiwgCi0gICAgMHgzNSwgMHg3NSwgMHgyZiwgMHg5MywgMHgxMiwgMHg3MywgMHgzNSwgMHg3YSwgMHg3MSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHhiZCwgMHgwNCwgMHg2OCwgCi0gICAgMHgyYiwgMHg3YSwgMHgwNywgMHgwMSwgMHhjOSwgMHg3ZSwgMHg0NywgMHgwMSwgMHhjYiwgMHgyZCwgMHg0MywgMHg3YSwgMHg0NywgMHgwMSwgMHhjYiwgMHgyZSwgCi0gICAgMHgzNSwgMHgzMCwgMHg3YSwgMHgzNSwgMHgzMCwgMHgyMiwgMHhkMiwgMHgwNCwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHgyMCwgMHhlMCwgMHgxMywgMHgyMiwgCi0gICAgMHg3ZSwgMHgwNCwgMHgyNCwgMHgyZCwgMHg4MCwgMHgyOCwgMHg3ZSwgMHgwNCwgMHgyNCwgMHgyZCwgMHg4MCwgMHgyYSwgMHg3ZSwgMHgwNCwgMHgyNCwgMHgyZCwgCi0gICAgMHg4MCwgMHhjZiwgMHg3ZSwgMHgwNywgMHgwMSwgMHhjYiwgMHg3ZSwgMHgyNCwgMHgwMywgMHhmZSwgMHg5ZCwgMHgyMCwgMHgyOCwgMHg0MCwgMHg3ZSwgMHgwNywgCi0gICAgMHgwMSwgMHhjOSwgMHg3ZSwgMHg0NCwgMHgyOCwgMHgyZCwgMHg3ZCwgMHg2MCwgMHgwYiwgMHgwNCwgMHhiZCwgMHgwNCwgMHg2OCwgMHhkMiwgMHg3ZCwgMHg3MCwgCi0gICAgMHgwYiwgMHgwNCwgMHhiZCwgMHgwNCwgMHg2OCwgMHhkMCwgMHg3ZCwgMHg1NCwgMHg5ZCwgMHg1MCwgMHhiZCwgMHgyNSwgMHg0MCwgMHgwMiwgMHg3ZCwgMHgyNSwgCi0gICAgMHg3ZCwgMHgzMiwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHhjYSwgMHhiOCwgMHg1NCwgMHgxZiwgMHhiNCwgMHgwMSwgMHgzMSwgMHhkYSwgMHhiOCwgMHg3ZSwgCi0gICAgMHgxOSwgMHhiMCwgMHg3YSwgMHgwOSwgMHhiMCwgMHgwYiwgMHgwNCwgMHgxYiwgMHgyNCwgMHg3OCwgMHhlNywgMHgwMiwgMHg0OCwgMHgxZSwgMHg3NSwgMHgyZiwgCi0gICAgMHg5OSwgMHgxMiwgMHg3MywgMHgzNSwgMHgwOSwgMHhiMSwgMHgwMCwgMHgwNCwgMHg1NCwgMHhmYSwgMHgxOSwgMHhiMSwgMHgwMCwgMHgwNCwgMHgzMCwgMHgzOCwgCi0gICAgMHgwYSwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxMCwgMHg1NCwgMHhmZSwgMHgxOSwgMHhiMSwgMHgwMCwgMHgxMCwgMHhkMiwgMHgxMCwgMHgyMiwgMHhkYSwgMHhiOCwgCi0gICAgMHgzMCwgMHhlMCwgMHhkOCwgMHhiZCwgMHgzMiwgMHg2OCwgMHgwNywgMHhjYSwgMHhiOCwgMHgxMiwgMHg0OCwgMHgxZSwgMHhkYSwgMHhiOCwgMHgwMiwgMHg0OSwgCi0gICAgMHg0NSwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxOCwgMHg3ZSwgMHhhMCwgMHg4OCwgMHg3NSwgMHgyZiwgMHg5MCwgMHgxMiwgMHg3MywgMHgzNSwgMHhmNSwgMHgyZiwgCi0gICAgMHgxMiwgMHg3MywgMHgzNSwgMHhhNSwgMHhmZCwgMHg1ZSwgMHg1MCwgMHgwYSwgMHg2OCwgMHgxZCwgMHhhNSwgMHhmZCwgMHg1ZSwgMHg1MCwgMHgyMCwgMHg2OCwgCi0gICAgMHgwNCwgMHhkMiwgMHg1OCwgMHg4MCwgMHgwMiwgMHhjMiwgMHg1OCwgMHhhNSwgMHhmZCwgMHg1ZSwgMHg1MCwgMHg4MCwgMHg2OCwgMHgwNCwgMHhkMiwgMHg1MCwgCi0gICAgMHg4MCwgMHgwMiwgMHhjMiwgMHg1MCwgMHgxMiwgMHg0MiwgMHhiZCwgMHgwMiwgMHg2MSwgMHgxMywgMHg3NSwgMHgyZiwgMHg5MSwgMHgxMiwgMHg3MywgMHgzNSwgCi0gICAgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHg3YSwgMHhiMSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHgyMCwgMHhlMCwgMHgwOCwgMHhkMiwgMHgwNCwgMHg3ZSwgCi0gICAgMHhhMCwgMHg4MCwgMHgwMiwgMHg2MSwgMHgxMywgMHhkMiwgMHgwNCwgMHgzMCwgMHhlMSwgMHgwNiwgMHg3ZSwgMHhhMCwgMHg4MCwgMHgxMiwgMHg2MSwgMHgxMywgCi0gICAgMHhjYSwgMHhiOCwgMHg1ZSwgMHhiMCwgMHgxYywgMHhkYSwgMHhiOCwgMHg2OCwgMHgxMiwgMHg3ZSwgMHhhMCwgMHhjMCwgMHgwOSwgMHg2MSwgMHgwMCwgMHgwMCwgCi0gICAgMHgxMiwgMHg2MSwgMHgzNiwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHgyMCwgMHhlMCwgMHhkYiwgMHgyMiwgMHgwMiwgMHg0OCwgMHg3MiwgMHg3NSwgMHgyZiwgCi0gICAgMHg5NSwgMHgxMiwgMHg3MywgMHgzNSwgMHgyMiwgMHg3NSwgMHgyZiwgMHg5NiwgMHgxMiwgMHg3MywgMHgzNSwgMHgyMiwgMHgxMCwgMHgwOSwgMHgwMSwgMHgyMiwgCi0gICAgMHgyMCwgMHgyOSwgMHgwMywgMHhkMiwgMHgwOSwgMHgyMiwgMHg3NSwgMHgyZiwgMHhhMSwgMHgxMiwgMHg3MywgMHgzNSwgMHg3ZSwgMHgxNCwgMHg4MSwgMHgwMCwgCi0gICAgMHg4MCwgMHgwNiwgMHgyMCwgMHgyOSwgMHgwMywgMHhkMiwgMHgwOSwgMHgyMiwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHhjYSwgMHhiOCwgMHg1ZSwgMHhiMCwgCi0gICAgMHgxZSwgMHhkYSwgMHhiOCwgMHg2OCwgMHgwMywgMHgxMiwgMHg0YywgMHg3MiwgMHgzMCwgMHgzMSwgMHgwNiwgMHgyMCwgMHhlNiwgMHg0ZiwgMHhkMiwgMHgwOSwgCi0gICAgMHgyMiwgMHgzMCwgMHhlNiwgMHgwMiwgMHhkMiwgMHg2MSwgMHg3ZSwgMHgzNywgMHgwMSwgMHg3YiwgMHg3ZSwgMHgyNywgMHgwMSwgMHg5YiwgMHg5ZCwgMHgzMiwgCi0gICAgMHg0MCwgMHgzMSwgMHg3ZCwgMHgwMiwgMHgyZSwgMHgwNSwgMHgzNCwgMHg3YSwgMHgwNSwgMHgzNCwgMHg3YSwgMHgzNywgMHgwMSwgMHg3YiwgMHg3ZSwgMHgzNywgCi0gICAgMHgwMSwgMHg1YiwgMHg3ZCwgMHg0MywgMHgyZCwgMHg0MiwgMHhiZSwgMHg0NCwgMHgwYywgMHgyYywgMHgzOCwgMHg2OCwgMHg3YSwgMHg0NywgMHgwMSwgMHg1YiwgCi0gICAgMHg3NSwgMHgyZiwgMHg5NCwgMHgxMiwgMHg3MywgMHgzNSwgMHg3YSwgMHg1MSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHgxMiwgMHg2OSwgMHhmMCwgMHgxMCwgCi0gICAgMHg2MSwgMHhjNCwgMHgyMiwgMHhjMiwgMHg2MSwgMHgyZCwgMHgyMywgMHg2OCwgMHg3OCwgMHg2ZCwgMHgzMywgMHg4MCwgMHgxYSwgMHg3ZSwgMHgyNywgMHgwMSwgCi0gICAgMHg3YiwgMHhiZSwgMHgyNCwgMHgwMCwgMHgwMCwgMHg2OCwgMHg2YSwgMHhiZSwgMHgyNywgMHgwMSwgMHg5YiwgMHgyOCwgMHgwNCwgMHg3ZSwgMHgyNywgMHgwMSwgCi0gICAgMHg5YiwgMHg3ZSwgMHgzNywgMHgwMSwgMHg3YiwgMHg5ZCwgMHgzMiwgMHg3ZCwgMHgwMiwgMHgyZSwgMHgwNSwgMHgzNCwgMHg3YSwgMHgwNSwgMHgzNCwgMHg3YSwgCi0gICAgMHgzNywgMHgwMSwgMHg3YiwgMHg3ZSwgMHgzNywgMHgwMSwgMHg1YiwgMHg3ZCwgMHg0MywgMHgyZCwgMHg0MiwgMHhiZSwgMHg0NCwgMHgwYywgMHgyYywgMHgzOCwgCi0gICAgMHgxMywgMHg3YSwgMHg0NywgMHgwMSwgMHg1YiwgMHg3NSwgMHgyZiwgMHg5NCwgMHgxMiwgMHg3MywgMHgzNSwgMHg3YSwgMHg1MSwgMHgyZiwgMHgxMiwgMHg3MywgCi0gICAgMHgzNSwgMHgwMiwgMHg2OSwgMHhmMCwgMHg3NSwgMHgyZiwgMHg5NCwgMHgxMiwgMHg3MywgMHgzNSwgMHg3YSwgMHg1MSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgCi0gICAgMHg5ZSwgMHg0NCwgMHgwYywgMHgyZCwgMHg5ZCwgMHgyNCwgMHgxMiwgMHg2OSwgMHhmMCwgMHg3ZSwgMHgzNCwgMHgwOCwgMHgyZCwgMHg3ZCwgMHgyNCwgMHgyZCwgCi0gICAgMHg0MywgMHg3YSwgMHg0NywgMHgwMSwgMHg1YiwgMHgxMiwgMHg2OSwgMHhmMCwgMHhiZSwgMHgyNSwgMHgyMCwgMHg3OCwgMHgwMywgMHgwMiwgMHg0OSwgMHhlZiwgCi0gICAgMHgyMiwgMHhkMiwgMHgwOSwgMHg3ZSwgMHgwNCwgMHgwOCwgMHgyZCwgMHg3YSwgMHgwNywgMHgwMSwgMHg1YiwgMHg3YSwgMHgwNywgMHgwMSwgMHg2YiwgMHg3NSwgCi0gICAgMHgyZiwgMHg5NCwgMHgxMiwgMHg3MywgMHgzNSwgMHg3NSwgMHgyZiwgMHgwMCwgMHgxMiwgMHg3MywgMHgzNSwgMHgyMiwgMHg3NSwgMHgyZiwgMHg5MiwgMHgxMiwgCi0gICAgMHg3MywgMHgzNSwgMHhkMiwgMHgwNCwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHhjYSwgMHhiOCwgMHg1NCwgMHg4MiwgMHhkYSwgMHhiOCwgMHg3OCwgMHg2OCwgCi0gICAgMHg3ZSwgMHgzNywgMHgwMSwgMHhjYiwgMHg3ZSwgMHgyNywgMHgwMSwgMHhhYiwgMHgyZSwgMHgyNCwgMHgwMCwgMHgwMiwgMHgyZCwgMHgzMiwgMHhiZSwgMHgzNCwgCi0gICAgMHgwNCwgMHgwMCwgMHgzOCwgMHgzNCwgMHg3ZCwgMHgwMiwgMHgyZSwgMHgwNSwgMHgzMCwgMHg3YSwgMHgwNSwgMHgzMCwgMHg3YSwgMHgzNywgMHgwMSwgMHhjYiwgCi0gICAgMHg3ZSwgMHgzNywgMHgwMSwgMHhjOSwgMHg3ZCwgMHg0MywgMHgyZCwgMHg0MiwgMHhiZSwgMHg0NCwgMHgyOCwgMHgyYywgMHgzOCwgMHgzYywgMHg3YSwgMHg0NywgCi0gICAgMHgwMSwgMHhjOSwgMHg3ZSwgMHgyNCwgMHgwMSwgMHgwMCwgMHgyZSwgMHgyNywgMHgwMSwgMHhhYiwgMHgxYiwgMHgzOCwgMHgyMCwgMHgwYiwgMHgzNSwgMHg3YSwgCi0gICAgMHg1MSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHgwMiwgMHg2YSwgMHg2MywgMHg3NSwgMHgyZiwgMHg5OSwgMHgxMiwgMHg3MywgMHgzNSwgMHgwOSwgMHhiMSwgCi0gICAgMHgwMCwgMHgwNCwgMHg1NCwgMHhmYSwgMHgxOSwgMHhiMSwgMHgwMCwgMHgwNCwgMHgzMCwgMHgzOSwgMHgwYSwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxMCwgMHg1NCwgCi0gICAgMHhmZSwgMHgxOSwgMHhiMSwgMHgwMCwgMHgxMCwgMHhkMiwgMHgxMSwgMHgyMiwgMHg4MCwgMHg3ZiwgMHg3YSwgMHg1MSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgCi0gICAgMHg5ZSwgMHg0NCwgMHgyOCwgMHgyZCwgMHg5ZCwgMHgyNCwgMHg3ZSwgMHg2NCwgMHgwMSwgMHgwMCwgMHgyZSwgMHg2NywgMHgwMSwgMHhhYiwgMHg5ZSwgMHgyNCwgCi0gICAgMHgwMCwgMHgwMiwgMHg0MCwgMHgxNywgMHgxYiwgMHgzOCwgMHg2MCwgMHgwYiwgMHgzNSwgMHgxMiwgMHg2YSwgMHg2MywgMHg3ZSwgMHgzNCwgMHgyNCwgMHgyZCwgCi0gICAgMHg3ZCwgMHgyNCwgMHgyZCwgMHg0MywgMHg3YSwgMHg0NywgMHgwMSwgMHhjOSwgMHgwMiwgMHg2YSwgMHg2MywgMHg3YSwgMHgzOSwgMHhjMCwgMHg3ZSwgMHgzNCwgCi0gICAgMHgyNCwgMHgyZCwgMHg3YSwgMHgzOSwgMHhkMCwgMHgwYiwgMHgzNCwgMHgxYiwgMHg0NCwgMHg4MCwgMHhlNSwgMHg5ZCwgMHgzMiwgMHg3YywgMHhiNiwgMHg1NCwgCi0gICAgMHgwZiwgMHgyMywgMHgyMywgMHgyMywgMHg0NCwgMHgwMSwgMHg3YSwgMHg2OSwgMHhiMCwgMHg3YSwgMHg3OSwgMHg3MCwgMHgwYiwgMHgzNSwgMHg3NSwgMHgyZiwgCi0gICAgMHg5MywgMHgxMiwgMHg3MywgMHgzNSwgMHg3YSwgMHg3MSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHhiZCwgMHgwNCwgMHg2OCwgMHgyYiwgMHg3YSwgMHgwNywgCi0gICAgMHgwMSwgMHhjOSwgMHg3ZSwgMHg0NywgMHgwMSwgMHhjYiwgMHgyZCwgMHg0MywgMHg3YSwgMHg0NywgMHgwMSwgMHhjYiwgMHgyZSwgMHgzNSwgMHgzMCwgMHg3YSwgCi0gICAgMHgzNSwgMHgzMCwgMHgyMiwgMHhkMiwgMHgwNCwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHgyMCwgMHhlMCwgMHgxMywgMHgyMiwgMHg3ZSwgMHgwNCwgMHgyNCwgCi0gICAgMHgyZCwgMHg4MCwgMHgyOCwgMHg3ZSwgMHgwNCwgMHgyNCwgMHgyZCwgMHg4MCwgMHgyYSwgMHg3ZSwgMHgwNCwgMHgyNCwgMHgyZCwgMHg4MCwgMHhjZiwgMHg3ZSwgCi0gICAgMHgwNywgMHgwMSwgMHhjYiwgMHg3ZSwgMHgyNCwgMHgwMywgMHhmZSwgMHg5ZCwgMHgyMCwgMHgyOCwgMHg0MCwgMHg3ZSwgMHgwNywgMHgwMSwgMHhjOSwgMHg3ZSwgCi0gICAgMHg0NCwgMHgyOCwgMHgyZCwgMHg3ZCwgMHg2MCwgMHgwYiwgMHgwNCwgMHhiZCwgMHgwNCwgMHg2OCwgMHhkMiwgMHg3ZCwgMHg3MCwgMHgwYiwgMHgwNCwgMHhiZCwgCi0gICAgMHgwNCwgMHg2OCwgMHhkMCwgMHg3ZCwgMHg1NCwgMHg5ZCwgMHg1MCwgMHhiZCwgMHgyNSwgMHg0MCwgMHgwMiwgMHg3ZCwgMHgyNSwgMHg3ZCwgMHgzMiwgMHgwOSwgCi0gICAgMHhiMSwgMHgwMCwgMHgxNCwgMHhjYSwgMHhiOCwgMHg1NCwgMHgxZiwgMHhiNCwgMHgwMSwgMHgzMSwgMHhkYSwgMHhiOCwgMHg3ZSwgMHgxOSwgMHhiMCwgMHg3YSwgCi0gICAgMHgwOSwgMHhiMCwgMHgwYiwgMHgwNCwgMHgxYiwgMHgyNCwgMHg3OCwgMHhlNywgMHgwMiwgMHg0YiwgMHg0YiwgMHg3NSwgMHgyZiwgMHg5OSwgMHgxMiwgMHg3MywgCi0gICAgMHgzNSwgMHgwOSwgMHhiMSwgMHgwMCwgMHgwNCwgMHg1NCwgMHhmYSwgMHgxOSwgMHhiMSwgMHgwMCwgMHgwNCwgMHgzMCwgMHgzOSwgMHgwYSwgMHgwOSwgMHhiMSwgCi0gICAgMHgwMCwgMHgxMCwgMHg1NCwgMHhmZSwgMHgxOSwgMHhiMSwgMHgwMCwgMHgxMCwgMHhkMiwgMHgxMSwgMHgyMiwgMHhkYSwgMHhiOCwgMHgzMCwgMHhlMCwgMHhkOCwgCi0gICAgMHhiZCwgMHgzMiwgMHg2OCwgMHgwNywgMHhjYSwgMHhiOCwgMHgxMiwgMHg0YiwgMHg0YiwgMHhkYSwgMHhiOCwgMHgwMiwgMHg0YywgMHg3MiwgMHgwOSwgMHhiMSwgCi0gICAgMHgwMCwgMHgxOCwgMHg3ZSwgMHhhMCwgMHg4OCwgMHg3NSwgMHgyZiwgMHg5MCwgMHgxMiwgMHg3MywgMHgzNSwgMHhmNSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgCi0gICAgMHhhNSwgMHhmZCwgMHg1ZSwgMHg1MCwgMHgwYSwgMHg2OCwgMHgxZCwgMHhhNSwgMHhmZCwgMHg1ZSwgMHg1MCwgMHgyMCwgMHg2OCwgMHgwNCwgMHhkMiwgMHg1OSwgCi0gICAgMHg4MCwgMHgwMiwgMHhjMiwgMHg1OSwgMHhhNSwgMHhmZCwgMHg1ZSwgMHg1MCwgMHg4MCwgMHg2OCwgMHgwNCwgMHhkMiwgMHg1MSwgMHg4MCwgMHgwMiwgMHhjMiwgCi0gICAgMHg1MSwgMHgxMiwgMHg0MiwgMHhkNCwgMHgwMiwgMHg2MSwgMHgxMywgMHg3NSwgMHgyZiwgMHg5MSwgMHgxMiwgMHg3MywgMHgzNSwgMHgwOSwgMHhiMSwgMHgwMCwgCi0gICAgMHgxNCwgMHg3YSwgMHhiMSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHgyMCwgMHhlMCwgMHgwOCwgMHhkMiwgMHgwNCwgMHg3ZSwgMHhhMCwgMHg4MCwgMHgwMiwgCi0gICAgMHg2MSwgMHgxMywgMHhkMiwgMHgwNCwgMHgzMCwgMHhlMSwgMHgwNiwgMHg3ZSwgMHhhMCwgMHg4MCwgMHgxMiwgMHg2MSwgMHgxMywgMHhjYSwgMHhiOCwgMHg1ZSwgCi0gICAgMHhiMCwgMHgxYywgMHhkYSwgMHhiOCwgMHg2OCwgMHgxMiwgMHg3ZSwgMHhhMCwgMHhjMCwgMHgwOSwgMHg2MSwgMHgwMCwgMHgwMCwgMHgxMiwgMHg2MSwgMHgzNiwgCi0gICAgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHgyMCwgMHhlMCwgMHhkYiwgMHgyMiwgMHgwMiwgMHg0YiwgMHg5ZiwgMHg3NSwgMHgyZiwgMHg5NSwgMHgxMiwgMHg3MywgCi0gICAgMHgzNSwgMHgyMiwgMHg3NSwgMHgyZiwgMHg5NiwgMHgxMiwgMHg3MywgMHgzNSwgMHgyMiwgMHgxMCwgMHgwYSwgMHgwMSwgMHgyMiwgMHgyMCwgMHgyYSwgMHgwMywgCi0gICAgMHhkMiwgMHgwYSwgMHgyMiwgMHg3NSwgMHgyZiwgMHhhMiwgMHgxMiwgMHg3MywgMHgzNSwgMHg3ZSwgMHgxNCwgMHg4MiwgMHgwMCwgMHg4MCwgMHgwNiwgMHgyMCwgCi0gICAgMHgyYSwgMHgwMywgMHhkMiwgMHgwYSwgMHgyMiwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHhjYSwgMHhiOCwgMHg1ZSwgMHhiMCwgMHgxZSwgMHhkYSwgMHhiOCwgCi0gICAgMHg2OCwgMHgwMywgMHgxMiwgMHg0ZiwgMHg5ZiwgMHgzMCwgMHgzMiwgMHgwNiwgMHgyMCwgMHhlNiwgMHg0ZiwgMHhkMiwgMHgwYSwgMHgyMiwgMHgzMCwgMHhlNiwgCi0gICAgMHgwMiwgMHhkMiwgMHg2MiwgMHg3ZSwgMHgzNywgMHgwMSwgMHg3ZCwgMHg3ZSwgMHgyNywgMHgwMSwgMHg5ZCwgMHg5ZCwgMHgzMiwgMHg0MCwgMHgzMSwgMHg3ZCwgCi0gICAgMHgwMiwgMHgyZSwgMHgwNSwgMHgzNiwgMHg3YSwgMHgwNSwgMHgzNiwgMHg3YSwgMHgzNywgMHgwMSwgMHg3ZCwgMHg3ZSwgMHgzNywgMHgwMSwgMHg1ZCwgMHg3ZCwgCi0gICAgMHg0MywgMHgyZCwgMHg0MiwgMHhiZSwgMHg0NCwgMHgxMCwgMHgyYywgMHgzOCwgMHg2OCwgMHg3YSwgMHg0NywgMHgwMSwgMHg1ZCwgMHg3NSwgMHgyZiwgMHg5NCwgCi0gICAgMHgxMiwgMHg3MywgMHgzNSwgMHg3YSwgMHg1MSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHgxMiwgMHg2OSwgMHhmMCwgMHgxMCwgMHg2MiwgMHhjNCwgMHgyMiwgCi0gICAgMHhjMiwgMHg2MiwgMHgyZCwgMHgyMywgMHg2OCwgMHg3OCwgMHg2ZCwgMHgzMywgMHg4MCwgMHgxYSwgMHg3ZSwgMHgyNywgMHgwMSwgMHg3ZCwgMHhiZSwgMHgyNCwgCi0gICAgMHgwMCwgMHgwMCwgMHg2OCwgMHg2YSwgMHhiZSwgMHgyNywgMHgwMSwgMHg5ZCwgMHgyOCwgMHgwNCwgMHg3ZSwgMHgyNywgMHgwMSwgMHg5ZCwgMHg3ZSwgMHgzNywgCi0gICAgMHgwMSwgMHg3ZCwgMHg5ZCwgMHgzMiwgMHg3ZCwgMHgwMiwgMHgyZSwgMHgwNSwgMHgzNiwgMHg3YSwgMHgwNSwgMHgzNiwgMHg3YSwgMHgzNywgMHgwMSwgMHg3ZCwgCi0gICAgMHg3ZSwgMHgzNywgMHgwMSwgMHg1ZCwgMHg3ZCwgMHg0MywgMHgyZCwgMHg0MiwgMHhiZSwgMHg0NCwgMHgxMCwgMHgyYywgMHgzOCwgMHgxMywgMHg3YSwgMHg0NywgCi0gICAgMHgwMSwgMHg1ZCwgMHg3NSwgMHgyZiwgMHg5NCwgMHgxMiwgMHg3MywgMHgzNSwgMHg3YSwgMHg1MSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHgwMiwgMHg2OSwgCi0gICAgMHhmMCwgMHg3NSwgMHgyZiwgMHg5NCwgMHgxMiwgMHg3MywgMHgzNSwgMHg3YSwgMHg1MSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHg5ZSwgMHg0NCwgMHgxMCwgCi0gICAgMHgyZCwgMHg5ZCwgMHgyNCwgMHgxMiwgMHg2OSwgMHhmMCwgMHg3ZSwgMHgzNCwgMHgwYywgMHgyZCwgMHg3ZCwgMHgyNCwgMHgyZCwgMHg0MywgMHg3YSwgMHg0NywgCi0gICAgMHgwMSwgMHg1ZCwgMHgxMiwgMHg2OSwgMHhmMCwgMHhiZSwgMHgyNSwgMHgyMCwgMHg3OCwgMHgwMywgMHgwMiwgMHg0ZCwgMHgxYywgMHgyMiwgMHhkMiwgMHgwYSwgCi0gICAgMHg3ZSwgMHgwNCwgMHgwYywgMHgyZCwgMHg3YSwgMHgwNywgMHgwMSwgMHg1ZCwgMHg3YSwgMHgwNywgMHgwMSwgMHg2ZCwgMHg3NSwgMHgyZiwgMHg5NCwgMHgxMiwgCi0gICAgMHg3MywgMHgzNSwgMHg3NSwgMHgyZiwgMHgwMCwgMHgxMiwgMHg3MywgMHgzNSwgMHgyMiwgMHg3NSwgMHgyZiwgMHg5MiwgMHgxMiwgMHg3MywgMHgzNSwgMHhkMiwgCi0gICAgMHgwNCwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHhjYSwgMHhiOCwgMHg1NCwgMHg4MiwgMHhkYSwgMHhiOCwgMHg3OCwgMHg2OCwgMHg3ZSwgMHgzNywgMHgwMSwgCi0gICAgMHhjYiwgMHg3ZSwgMHgyNywgMHgwMSwgMHhhZCwgMHgyZSwgMHgyNCwgMHgwMCwgMHgwMiwgMHgyZCwgMHgzMiwgMHhiZSwgMHgzNCwgMHgwNCwgMHgwMCwgMHgzOCwgCi0gICAgMHgzNCwgMHg3ZCwgMHgwMiwgMHgyZSwgMHgwNSwgMHgzMCwgMHg3YSwgMHgwNSwgMHgzMCwgMHg3YSwgMHgzNywgMHgwMSwgMHhjYiwgMHg3ZSwgMHgzNywgMHgwMSwgCi0gICAgMHhjOSwgMHg3ZCwgMHg0MywgMHgyZCwgMHg0MiwgMHhiZSwgMHg0NCwgMHgyOCwgMHgyYywgMHgzOCwgMHgzYywgMHg3YSwgMHg0NywgMHgwMSwgMHhjOSwgMHg3ZSwgCi0gICAgMHgyNCwgMHgwMiwgMHgwMCwgMHgyZSwgMHgyNywgMHgwMSwgMHhhZCwgMHgxYiwgMHgzOCwgMHgyMCwgMHgwYiwgMHgzNSwgMHg3YSwgMHg1MSwgMHgyZiwgMHgxMiwgCi0gICAgMHg3MywgMHgzNSwgMHgwMiwgMHg2YSwgMHg2MywgMHg3NSwgMHgyZiwgMHg5OSwgMHgxMiwgMHg3MywgMHgzNSwgMHgwOSwgMHhiMSwgMHgwMCwgMHgwNCwgMHg1NCwgCi0gICAgMHhmYSwgMHgxOSwgMHhiMSwgMHgwMCwgMHgwNCwgMHgzMCwgMHgzYSwgMHgwYSwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxMCwgMHg1NCwgMHhmZSwgMHgxOSwgMHhiMSwgCi0gICAgMHgwMCwgMHgxMCwgMHhkMiwgMHgxMiwgMHgyMiwgMHg4MCwgMHg3ZiwgMHg3YSwgMHg1MSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHg5ZSwgMHg0NCwgMHgyOCwgCi0gICAgMHgyZCwgMHg5ZCwgMHgyNCwgMHg3ZSwgMHg2NCwgMHgwMiwgMHgwMCwgMHgyZSwgMHg2NywgMHgwMSwgMHhhZCwgMHg5ZSwgMHgyNCwgMHgwMCwgMHgwMiwgMHg0MCwgCi0gICAgMHgxNywgMHgxYiwgMHgzOCwgMHg2MCwgMHgwYiwgMHgzNSwgMHgxMiwgMHg2YSwgMHg2MywgMHg3ZSwgMHgzNCwgMHgyNCwgMHgyZCwgMHg3ZCwgMHgyNCwgMHgyZCwgCi0gICAgMHg0MywgMHg3YSwgMHg0NywgMHgwMSwgMHhjOSwgMHgwMiwgMHg2YSwgMHg2MywgMHg3YSwgMHgzOSwgMHhjMCwgMHg3ZSwgMHgzNCwgMHgyNCwgMHgyZCwgMHg3YSwgCi0gICAgMHgzOSwgMHhkMCwgMHgwYiwgMHgzNCwgMHgxYiwgMHg0NCwgMHg4MCwgMHhlNSwgMHg5ZCwgMHgzMiwgMHg3YywgMHhiNiwgMHg1NCwgMHgwZiwgMHgyMywgMHgyMywgCi0gICAgMHgyMywgMHg0NCwgMHgwMiwgMHg3YSwgMHg2OSwgMHhiMCwgMHg3YSwgMHg3OSwgMHg3MCwgMHgwYiwgMHgzNSwgMHg3NSwgMHgyZiwgMHg5MywgMHgxMiwgMHg3MywgCi0gICAgMHgzNSwgMHg3YSwgMHg3MSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHhiZCwgMHgwNCwgMHg2OCwgMHgyYiwgMHg3YSwgMHgwNywgMHgwMSwgMHhjOSwgMHg3ZSwgCi0gICAgMHg0NywgMHgwMSwgMHhjYiwgMHgyZCwgMHg0MywgMHg3YSwgMHg0NywgMHgwMSwgMHhjYiwgMHgyZSwgMHgzNSwgMHgzMCwgMHg3YSwgMHgzNSwgMHgzMCwgMHgyMiwgCi0gICAgMHhkMiwgMHgwNCwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHgyMCwgMHhlMCwgMHgxMywgMHgyMiwgMHg3ZSwgMHgwNCwgMHgyNCwgMHgyZCwgMHg4MCwgMHgyOCwgCi0gICAgMHg3ZSwgMHgwNCwgMHgyNCwgMHgyZCwgMHg4MCwgMHgyYSwgMHg3ZSwgMHgwNCwgMHgyNCwgMHgyZCwgMHg4MCwgMHhjZiwgMHg3ZSwgMHgwNywgMHgwMSwgMHhjYiwgCi0gICAgMHg3ZSwgMHgyNCwgMHgwMywgMHhmZSwgMHg5ZCwgMHgyMCwgMHgyOCwgMHg0MCwgMHg3ZSwgMHgwNywgMHgwMSwgMHhjOSwgMHg3ZSwgMHg0NCwgMHgyOCwgMHgyZCwgCi0gICAgMHg3ZCwgMHg2MCwgMHgwYiwgMHgwNCwgMHhiZCwgMHgwNCwgMHg2OCwgMHhkMiwgMHg3ZCwgMHg3MCwgMHgwYiwgMHgwNCwgMHhiZCwgMHgwNCwgMHg2OCwgMHhkMCwgCi0gICAgMHg3ZCwgMHg1NCwgMHg5ZCwgMHg1MCwgMHhiZCwgMHgyNSwgMHg0MCwgMHgwMiwgMHg3ZCwgMHgyNSwgMHg3ZCwgMHgzMiwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgCi0gICAgMHhjYSwgMHhiOCwgMHg1NCwgMHgxZiwgMHhiNCwgMHgwMSwgMHgzMSwgMHhkYSwgMHhiOCwgMHg3ZSwgMHgxOSwgMHhiMCwgMHg3YSwgMHgwOSwgMHhiMCwgMHgwYiwgCi0gICAgMHgwNCwgMHgxYiwgMHgyNCwgMHg3OCwgMHhlNywgMHgwMiwgMHg0ZSwgMHg3OCwgMHg3NSwgMHgyZiwgMHg5OSwgMHgxMiwgMHg3MywgMHgzNSwgMHgwOSwgMHhiMSwgCi0gICAgMHgwMCwgMHgwNCwgMHg1NCwgMHhmYSwgMHgxOSwgMHhiMSwgMHgwMCwgMHgwNCwgMHgzMCwgMHgzYSwgMHgwYSwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxMCwgMHg1NCwgCi0gICAgMHhmZSwgMHgxOSwgMHhiMSwgMHgwMCwgMHgxMCwgMHhkMiwgMHgxMiwgMHgyMiwgMHhkYSwgMHhiOCwgMHgzMCwgMHhlMCwgMHhkOCwgMHhiZCwgMHgzMiwgMHg2OCwgCi0gICAgMHgwNywgMHhjYSwgMHhiOCwgMHgxMiwgMHg0ZSwgMHg3OCwgMHhkYSwgMHhiOCwgMHgwMiwgMHg0ZiwgMHg5ZiwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxOCwgMHg3ZSwgCi0gICAgMHhhMCwgMHg4OCwgMHg3NSwgMHgyZiwgMHg5MCwgMHgxMiwgMHg3MywgMHgzNSwgMHhmNSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHhhNSwgMHhmZCwgMHg1ZSwgCi0gICAgMHg1MCwgMHgwYSwgMHg2OCwgMHgxZCwgMHhhNSwgMHhmZCwgMHg1ZSwgMHg1MCwgMHgyMCwgMHg2OCwgMHgwNCwgMHhkMiwgMHg1YSwgMHg4MCwgMHgwMiwgMHhjMiwgCi0gICAgMHg1YSwgMHhhNSwgMHhmZCwgMHg1ZSwgMHg1MCwgMHg4MCwgMHg2OCwgMHgwNCwgMHhkMiwgMHg1MiwgMHg4MCwgMHgwMiwgMHhjMiwgMHg1MiwgMHgxMiwgMHg0MiwgCi0gICAgMHhlYiwgMHgwMiwgMHg2MSwgMHgxMywgMHg3NSwgMHgyZiwgMHg5MSwgMHgxMiwgMHg3MywgMHgzNSwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHg3YSwgMHhiMSwgCi0gICAgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHgyMCwgMHhlMCwgMHgwOCwgMHhkMiwgMHgwNCwgMHg3ZSwgMHhhMCwgMHg4MCwgMHgwMiwgMHg2MSwgMHgxMywgMHhkMiwgCi0gICAgMHgwNCwgMHgzMCwgMHhlMSwgMHgwNiwgMHg3ZSwgMHhhMCwgMHg4MCwgMHgxMiwgMHg2MSwgMHgxMywgMHhjYSwgMHhiOCwgMHg1ZSwgMHhiMCwgMHgxYywgMHhkYSwgCi0gICAgMHhiOCwgMHg2OCwgMHgxMiwgMHg3ZSwgMHhhMCwgMHhjMCwgMHgwOSwgMHg2MSwgMHgwMCwgMHgwMCwgMHgxMiwgMHg2MSwgMHgzNiwgMHgwOSwgMHhiMSwgMHgwMCwgCi0gICAgMHgxNCwgMHgyMCwgMHhlMCwgMHhkYiwgMHgyMiwgMHgwMiwgMHg0ZSwgMHhjYywgMHg3NSwgMHgyZiwgMHg5NSwgMHgxMiwgMHg3MywgMHgzNSwgMHgyMiwgMHg3NSwgCi0gICAgMHgyZiwgMHg5NiwgMHgxMiwgMHg3MywgMHgzNSwgMHgyMiwgMHgxMCwgMHgwYiwgMHgwMSwgMHgyMiwgMHgyMCwgMHgyYiwgMHgwMywgMHhkMiwgMHgwYiwgMHgyMiwgCi0gICAgMHg3NSwgMHgyZiwgMHhhMywgMHgxMiwgMHg3MywgMHgzNSwgMHg3ZSwgMHgxNCwgMHg4MywgMHgwMCwgMHg4MCwgMHgwNiwgMHgyMCwgMHgyYiwgMHgwMywgMHhkMiwgCi0gICAgMHgwYiwgMHgyMiwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHhjYSwgMHhiOCwgMHg1ZSwgMHhiMCwgMHgxZSwgMHhkYSwgMHhiOCwgMHg2OCwgMHgwMywgMHgxMiwgCi0gICAgMHg1MiwgMHhjYywgMHgzMCwgMHgzMywgMHgwNiwgMHgyMCwgMHhlNiwgMHg0ZiwgMHhkMiwgMHgwYiwgMHgyMiwgMHgzMCwgMHhlNiwgMHgwMiwgMHhkMiwgMHg2MywgCi0gICAgMHg3ZSwgMHgzNywgMHgwMSwgMHg3ZiwgMHg3ZSwgMHgyNywgMHgwMSwgMHg5ZiwgMHg5ZCwgMHgzMiwgMHg0MCwgMHgzMSwgMHg3ZCwgMHgwMiwgMHgyZSwgMHgwNSwgCi0gICAgMHgzOCwgMHg3YSwgMHgwNSwgMHgzOCwgMHg3YSwgMHgzNywgMHgwMSwgMHg3ZiwgMHg3ZSwgMHgzNywgMHgwMSwgMHg1ZiwgMHg3ZCwgMHg0MywgMHgyZCwgMHg0MiwgCi0gICAgMHhiZSwgMHg0NCwgMHgxNCwgMHgyYywgMHgzOCwgMHg2OCwgMHg3YSwgMHg0NywgMHgwMSwgMHg1ZiwgMHg3NSwgMHgyZiwgMHg5NCwgMHgxMiwgMHg3MywgMHgzNSwgCi0gICAgMHg3YSwgMHg1MSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHgxMiwgMHg2OSwgMHhmMCwgMHgxMCwgMHg2MywgMHhjNCwgMHgyMiwgMHhjMiwgMHg2MywgMHgyZCwgCi0gICAgMHgyMywgMHg2OCwgMHg3OCwgMHg2ZCwgMHgzMywgMHg4MCwgMHgxYSwgMHg3ZSwgMHgyNywgMHgwMSwgMHg3ZiwgMHhiZSwgMHgyNCwgMHgwMCwgMHgwMCwgMHg2OCwgCi0gICAgMHg2YSwgMHhiZSwgMHgyNywgMHgwMSwgMHg5ZiwgMHgyOCwgMHgwNCwgMHg3ZSwgMHgyNywgMHgwMSwgMHg5ZiwgMHg3ZSwgMHgzNywgMHgwMSwgMHg3ZiwgMHg5ZCwgCi0gICAgMHgzMiwgMHg3ZCwgMHgwMiwgMHgyZSwgMHgwNSwgMHgzOCwgMHg3YSwgMHgwNSwgMHgzOCwgMHg3YSwgMHgzNywgMHgwMSwgMHg3ZiwgMHg3ZSwgMHgzNywgMHgwMSwgCi0gICAgMHg1ZiwgMHg3ZCwgMHg0MywgMHgyZCwgMHg0MiwgMHhiZSwgMHg0NCwgMHgxNCwgMHgyYywgMHgzOCwgMHgxMywgMHg3YSwgMHg0NywgMHgwMSwgMHg1ZiwgMHg3NSwgCi0gICAgMHgyZiwgMHg5NCwgMHgxMiwgMHg3MywgMHgzNSwgMHg3YSwgMHg1MSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHgwMiwgMHg2OSwgMHhmMCwgMHg3NSwgMHgyZiwgCi0gICAgMHg5NCwgMHgxMiwgMHg3MywgMHgzNSwgMHg3YSwgMHg1MSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHg5ZSwgMHg0NCwgMHgxNCwgMHgyZCwgMHg5ZCwgMHgyNCwgCi0gICAgMHgxMiwgMHg2OSwgMHhmMCwgMHg3ZSwgMHgzNCwgMHgxMCwgMHgyZCwgMHg3ZCwgMHgyNCwgMHgyZCwgMHg0MywgMHg3YSwgMHg0NywgMHgwMSwgMHg1ZiwgMHgxMiwgCi0gICAgMHg2OSwgMHhmMCwgMHhiZSwgMHgyNSwgMHgyMCwgMHg3OCwgMHgwMywgMHgwMiwgMHg1MCwgMHg0OSwgMHgyMiwgMHhkMiwgMHgwYiwgMHg3ZSwgMHgwNCwgMHgxMCwgCi0gICAgMHgyZCwgMHg3YSwgMHgwNywgMHgwMSwgMHg1ZiwgMHg3YSwgMHgwNywgMHgwMSwgMHg2ZiwgMHg3NSwgMHgyZiwgMHg5NCwgMHgxMiwgMHg3MywgMHgzNSwgMHg3NSwgCi0gICAgMHgyZiwgMHgwMCwgMHgxMiwgMHg3MywgMHgzNSwgMHgyMiwgMHg3NSwgMHgyZiwgMHg5MiwgMHgxMiwgMHg3MywgMHgzNSwgMHhkMiwgMHgwNCwgMHgwOSwgMHhiMSwgCi0gICAgMHgwMCwgMHgxNCwgMHhjYSwgMHhiOCwgMHg1NCwgMHg4MiwgMHhkYSwgMHhiOCwgMHg3OCwgMHg2OCwgMHg3ZSwgMHgzNywgMHgwMSwgMHhjYiwgMHg3ZSwgMHgyNywgCi0gICAgMHgwMSwgMHhhZiwgMHgyZSwgMHgyNCwgMHgwMCwgMHgwMiwgMHgyZCwgMHgzMiwgMHhiZSwgMHgzNCwgMHgwNCwgMHgwMCwgMHgzOCwgMHgzNCwgMHg3ZCwgMHgwMiwgCi0gICAgMHgyZSwgMHgwNSwgMHgzMCwgMHg3YSwgMHgwNSwgMHgzMCwgMHg3YSwgMHgzNywgMHgwMSwgMHhjYiwgMHg3ZSwgMHgzNywgMHgwMSwgMHhjOSwgMHg3ZCwgMHg0MywgCi0gICAgMHgyZCwgMHg0MiwgMHhiZSwgMHg0NCwgMHgyOCwgMHgyYywgMHgzOCwgMHgzYywgMHg3YSwgMHg0NywgMHgwMSwgMHhjOSwgMHg3ZSwgMHgyNCwgMHgwMywgMHgwMCwgCi0gICAgMHgyZSwgMHgyNywgMHgwMSwgMHhhZiwgMHgxYiwgMHgzOCwgMHgyMCwgMHgwYiwgMHgzNSwgMHg3YSwgMHg1MSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHgwMiwgCi0gICAgMHg2YSwgMHg2MywgMHg3NSwgMHgyZiwgMHg5OSwgMHgxMiwgMHg3MywgMHgzNSwgMHgwOSwgMHhiMSwgMHgwMCwgMHgwNCwgMHg1NCwgMHhmYSwgMHgxOSwgMHhiMSwgCi0gICAgMHgwMCwgMHgwNCwgMHgzMCwgMHgzYiwgMHgwYSwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxMCwgMHg1NCwgMHhmZSwgMHgxOSwgMHhiMSwgMHgwMCwgMHgxMCwgMHhkMiwgCi0gICAgMHgxMywgMHgyMiwgMHg4MCwgMHg3ZiwgMHg3YSwgMHg1MSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHg5ZSwgMHg0NCwgMHgyOCwgMHgyZCwgMHg5ZCwgMHgyNCwgCi0gICAgMHg3ZSwgMHg2NCwgMHgwMywgMHgwMCwgMHgyZSwgMHg2NywgMHgwMSwgMHhhZiwgMHg5ZSwgMHgyNCwgMHgwMCwgMHgwMiwgMHg0MCwgMHgxNywgMHgxYiwgMHgzOCwgCi0gICAgMHg2MCwgMHgwYiwgMHgzNSwgMHgxMiwgMHg2YSwgMHg2MywgMHg3ZSwgMHgzNCwgMHgyNCwgMHgyZCwgMHg3ZCwgMHgyNCwgMHgyZCwgMHg0MywgMHg3YSwgMHg0NywgCi0gICAgMHgwMSwgMHhjOSwgMHgwMiwgMHg2YSwgMHg2MywgMHg3YSwgMHgzOSwgMHhjMCwgMHg3ZSwgMHgzNCwgMHgyNCwgMHgyZCwgMHg3YSwgMHgzOSwgMHhkMCwgMHgwYiwgCi0gICAgMHgzNCwgMHgxYiwgMHg0NCwgMHg4MCwgMHhlNSwgMHg5ZCwgMHgzMiwgMHg3YywgMHhiNiwgMHg1NCwgMHgwZiwgMHgyMywgMHgyMywgMHgyMywgMHg0NCwgMHgwMywgCi0gICAgMHg3YSwgMHg2OSwgMHhiMCwgMHg3YSwgMHg3OSwgMHg3MCwgMHgwYiwgMHgzNSwgMHg3NSwgMHgyZiwgMHg5MywgMHgxMiwgMHg3MywgMHgzNSwgMHg3YSwgMHg3MSwgCi0gICAgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHhiZCwgMHgwNCwgMHg2OCwgMHgyYiwgMHg3YSwgMHgwNywgMHgwMSwgMHhjOSwgMHg3ZSwgMHg0NywgMHgwMSwgMHhjYiwgCi0gICAgMHgyZCwgMHg0MywgMHg3YSwgMHg0NywgMHgwMSwgMHhjYiwgMHgyZSwgMHgzNSwgMHgzMCwgMHg3YSwgMHgzNSwgMHgzMCwgMHgyMiwgMHhkMiwgMHgwNCwgMHgwOSwgCi0gICAgMHhiMSwgMHgwMCwgMHgxNCwgMHgyMCwgMHhlMCwgMHgxMywgMHgyMiwgMHg3ZSwgMHgwNCwgMHgyNCwgMHgyZCwgMHg4MCwgMHgyOCwgMHg3ZSwgMHgwNCwgMHgyNCwgCi0gICAgMHgyZCwgMHg4MCwgMHgyYSwgMHg3ZSwgMHgwNCwgMHgyNCwgMHgyZCwgMHg4MCwgMHhjZiwgMHg3ZSwgMHgwNywgMHgwMSwgMHhjYiwgMHg3ZSwgMHgyNCwgMHgwMywgCi0gICAgMHhmZSwgMHg5ZCwgMHgyMCwgMHgyOCwgMHg0MCwgMHg3ZSwgMHgwNywgMHgwMSwgMHhjOSwgMHg3ZSwgMHg0NCwgMHgyOCwgMHgyZCwgMHg3ZCwgMHg2MCwgMHgwYiwgCi0gICAgMHgwNCwgMHhiZCwgMHgwNCwgMHg2OCwgMHhkMiwgMHg3ZCwgMHg3MCwgMHgwYiwgMHgwNCwgMHhiZCwgMHgwNCwgMHg2OCwgMHhkMCwgMHg3ZCwgMHg1NCwgMHg5ZCwgCi0gICAgMHg1MCwgMHhiZCwgMHgyNSwgMHg0MCwgMHgwMiwgMHg3ZCwgMHgyNSwgMHg3ZCwgMHgzMiwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHhjYSwgMHhiOCwgMHg1NCwgCi0gICAgMHgxZiwgMHhiNCwgMHgwMSwgMHgzMSwgMHhkYSwgMHhiOCwgMHg3ZSwgMHgxOSwgMHhiMCwgMHg3YSwgMHgwOSwgMHhiMCwgMHgwYiwgMHgwNCwgMHgxYiwgMHgyNCwgCi0gICAgMHg3OCwgMHhlNywgMHgwMiwgMHg1MSwgMHhhNSwgMHg3NSwgMHgyZiwgMHg5OSwgMHgxMiwgMHg3MywgMHgzNSwgMHgwOSwgMHhiMSwgMHgwMCwgMHgwNCwgMHg1NCwgCi0gICAgMHhmYSwgMHgxOSwgMHhiMSwgMHgwMCwgMHgwNCwgMHgzMCwgMHgzYiwgMHgwYSwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxMCwgMHg1NCwgMHhmZSwgMHgxOSwgMHhiMSwgCi0gICAgMHgwMCwgMHgxMCwgMHhkMiwgMHgxMywgMHgyMiwgMHhkYSwgMHhiOCwgMHgzMCwgMHhlMCwgMHhkOCwgMHhiZCwgMHgzMiwgMHg2OCwgMHgwNywgMHhjYSwgMHhiOCwgCi0gICAgMHgxMiwgMHg1MSwgMHhhNSwgMHhkYSwgMHhiOCwgMHgwMiwgMHg1MiwgMHhjYywgMHgwOSwgMHhiMSwgMHgwMCwgMHgxOCwgMHg3ZSwgMHhhMCwgMHg4OCwgMHg3NSwgCi0gICAgMHgyZiwgMHg5MCwgMHgxMiwgMHg3MywgMHgzNSwgMHhmNSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHhhNSwgMHhmZCwgMHg1ZSwgMHg1MCwgMHgwYSwgMHg2OCwgCi0gICAgMHgxZCwgMHhhNSwgMHhmZCwgMHg1ZSwgMHg1MCwgMHgyMCwgMHg2OCwgMHgwNCwgMHhkMiwgMHg1YiwgMHg4MCwgMHgwMiwgMHhjMiwgMHg1YiwgMHhhNSwgMHhmZCwgCi0gICAgMHg1ZSwgMHg1MCwgMHg4MCwgMHg2OCwgMHgwNCwgMHhkMiwgMHg1MywgMHg4MCwgMHgwMiwgMHhjMiwgMHg1MywgMHgxMiwgMHg0MywgMHgwMiwgMHgwMiwgMHg2MSwgCi0gICAgMHgxMywgMHg3NSwgMHgyZiwgMHg5MSwgMHgxMiwgMHg3MywgMHgzNSwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHg3YSwgMHhiMSwgMHgyZiwgMHgxMiwgMHg3MywgCi0gICAgMHgzNSwgMHgyMCwgMHhlMCwgMHgwOCwgMHhkMiwgMHgwNCwgMHg3ZSwgMHhhMCwgMHg4MCwgMHgwMiwgMHg2MSwgMHgxMywgMHhkMiwgMHgwNCwgMHgzMCwgMHhlMSwgCi0gICAgMHgwNiwgMHg3ZSwgMHhhMCwgMHg4MCwgMHgxMiwgMHg2MSwgMHgxMywgMHhjYSwgMHhiOCwgMHg1ZSwgMHhiMCwgMHgxYywgMHhkYSwgMHhiOCwgMHg2OCwgMHgxMiwgCi0gICAgMHg3ZSwgMHhhMCwgMHhjMCwgMHgwOSwgMHg2MSwgMHgwMCwgMHgwMCwgMHgxMiwgMHg2MSwgMHgzNiwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHgyMCwgMHhlMCwgCi0gICAgMHhkYiwgMHgyMiwgMHgwMiwgMHg1MSwgMHhmOSwgMHg3NSwgMHgyZiwgMHg5NSwgMHgxMiwgMHg3MywgMHgzNSwgMHgyMiwgMHg3NSwgMHgyZiwgMHg5NiwgMHgxMiwgCi0gICAgMHg3MywgMHgzNSwgMHgyMiwgMHgxMCwgMHgwYywgMHgwMSwgMHgyMiwgMHgyMCwgMHgyYywgMHgwMywgMHhkMiwgMHgwYywgMHgyMiwgMHg3NSwgMHgyZiwgMHhhNCwgCi0gICAgMHgxMiwgMHg3MywgMHgzNSwgMHg3ZSwgMHgxNCwgMHg4NCwgMHgwMCwgMHg4MCwgMHgwNiwgMHgyMCwgMHgyYywgMHgwMywgMHhkMiwgMHgwYywgMHgyMiwgMHgwOSwgCi0gICAgMHhiMSwgMHgwMCwgMHgxNCwgMHhjYSwgMHhiOCwgMHg1ZSwgMHhiMCwgMHgxZSwgMHhkYSwgMHhiOCwgMHg2OCwgMHgwMywgMHgxMiwgMHg1NSwgMHhmOSwgMHgzMCwgCi0gICAgMHgzNCwgMHgwNiwgMHgyMCwgMHhlNiwgMHg0ZiwgMHhkMiwgMHgwYywgMHgyMiwgMHgzMCwgMHhlNiwgMHgwMiwgMHhkMiwgMHg2NCwgMHg3ZSwgMHgzNywgMHgwMSwgCi0gICAgMHg4MSwgMHg3ZSwgMHgyNywgMHgwMSwgMHhhMSwgMHg5ZCwgMHgzMiwgMHg0MCwgMHgzMSwgMHg3ZCwgMHgwMiwgMHgyZSwgMHgwNSwgMHgzYSwgMHg3YSwgMHgwNSwgCi0gICAgMHgzYSwgMHg3YSwgMHgzNywgMHgwMSwgMHg4MSwgMHg3ZSwgMHgzNywgMHgwMSwgMHg2MSwgMHg3ZCwgMHg0MywgMHgyZCwgMHg0MiwgMHhiZSwgMHg0NCwgMHgxOCwgCi0gICAgMHgyYywgMHgzOCwgMHg2OCwgMHg3YSwgMHg0NywgMHgwMSwgMHg2MSwgMHg3NSwgMHgyZiwgMHg5NCwgMHgxMiwgMHg3MywgMHgzNSwgMHg3YSwgMHg1MSwgMHgyZiwgCi0gICAgMHgxMiwgMHg3MywgMHgzNSwgMHgxMiwgMHg2OSwgMHhmMCwgMHgxMCwgMHg2NCwgMHhjNCwgMHgyMiwgMHhjMiwgMHg2NCwgMHgyZCwgMHgyMywgMHg2OCwgMHg3OCwgCi0gICAgMHg2ZCwgMHgzMywgMHg4MCwgMHgxYSwgMHg3ZSwgMHgyNywgMHgwMSwgMHg4MSwgMHhiZSwgMHgyNCwgMHgwMCwgMHgwMCwgMHg2OCwgMHg2YSwgMHhiZSwgMHgyNywgCi0gICAgMHgwMSwgMHhhMSwgMHgyOCwgMHgwNCwgMHg3ZSwgMHgyNywgMHgwMSwgMHhhMSwgMHg3ZSwgMHgzNywgMHgwMSwgMHg4MSwgMHg5ZCwgMHgzMiwgMHg3ZCwgMHgwMiwgCi0gICAgMHgyZSwgMHgwNSwgMHgzYSwgMHg3YSwgMHgwNSwgMHgzYSwgMHg3YSwgMHgzNywgMHgwMSwgMHg4MSwgMHg3ZSwgMHgzNywgMHgwMSwgMHg2MSwgMHg3ZCwgMHg0MywgCi0gICAgMHgyZCwgMHg0MiwgMHhiZSwgMHg0NCwgMHgxOCwgMHgyYywgMHgzOCwgMHgxMywgMHg3YSwgMHg0NywgMHgwMSwgMHg2MSwgMHg3NSwgMHgyZiwgMHg5NCwgMHgxMiwgCi0gICAgMHg3MywgMHgzNSwgMHg3YSwgMHg1MSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHgwMiwgMHg2OSwgMHhmMCwgMHg3NSwgMHgyZiwgMHg5NCwgMHgxMiwgMHg3MywgCi0gICAgMHgzNSwgMHg3YSwgMHg1MSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHg5ZSwgMHg0NCwgMHgxOCwgMHgyZCwgMHg5ZCwgMHgyNCwgMHgxMiwgMHg2OSwgMHhmMCwgCi0gICAgMHg3ZSwgMHgzNCwgMHgxNCwgMHgyZCwgMHg3ZCwgMHgyNCwgMHgyZCwgMHg0MywgMHg3YSwgMHg0NywgMHgwMSwgMHg2MSwgMHgxMiwgMHg2OSwgMHhmMCwgMHhiZSwgCi0gICAgMHgyNSwgMHgyMCwgMHg3OCwgMHgwMywgMHgwMiwgMHg1MywgMHg3NiwgMHgyMiwgMHhkMiwgMHgwYywgMHg3ZSwgMHgwNCwgMHgxNCwgMHgyZCwgMHg3YSwgMHgwNywgCi0gICAgMHgwMSwgMHg2MSwgMHg3YSwgMHgwNywgMHgwMSwgMHg3MSwgMHg3NSwgMHgyZiwgMHg5NCwgMHgxMiwgMHg3MywgMHgzNSwgMHg3NSwgMHgyZiwgMHgwMCwgMHgxMiwgCi0gICAgMHg3MywgMHgzNSwgMHgyMiwgMHg3NSwgMHgyZiwgMHg5MiwgMHgxMiwgMHg3MywgMHgzNSwgMHhkMiwgMHgwNCwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHhjYSwgCi0gICAgMHhiOCwgMHg1NCwgMHg4MiwgMHhkYSwgMHhiOCwgMHg3OCwgMHg2OCwgMHg3ZSwgMHgzNywgMHgwMSwgMHhjYiwgMHg3ZSwgMHgyNywgMHgwMSwgMHhiMSwgMHgyZSwgCi0gICAgMHgyNCwgMHgwMCwgMHgwMiwgMHgyZCwgMHgzMiwgMHhiZSwgMHgzNCwgMHgwNCwgMHgwMCwgMHgzOCwgMHgzNCwgMHg3ZCwgMHgwMiwgMHgyZSwgMHgwNSwgMHgzMCwgCi0gICAgMHg3YSwgMHgwNSwgMHgzMCwgMHg3YSwgMHgzNywgMHgwMSwgMHhjYiwgMHg3ZSwgMHgzNywgMHgwMSwgMHhjOSwgMHg3ZCwgMHg0MywgMHgyZCwgMHg0MiwgMHhiZSwgCi0gICAgMHg0NCwgMHgyOCwgMHgyYywgMHgzOCwgMHgzYywgMHg3YSwgMHg0NywgMHgwMSwgMHhjOSwgMHg3ZSwgMHgyNCwgMHgwNCwgMHgwMCwgMHgyZSwgMHgyNywgMHgwMSwgCi0gICAgMHhiMSwgMHgxYiwgMHgzOCwgMHgyMCwgMHgwYiwgMHgzNSwgMHg3YSwgMHg1MSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHgwMiwgMHg2YSwgMHg2MywgMHg3NSwgCi0gICAgMHgyZiwgMHg5OSwgMHgxMiwgMHg3MywgMHgzNSwgMHgwOSwgMHhiMSwgMHgwMCwgMHgwNCwgMHg1NCwgMHhmYSwgMHgxOSwgMHhiMSwgMHgwMCwgMHgwNCwgMHgzMCwgCi0gICAgMHgzYywgMHgwYSwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxMCwgMHg1NCwgMHhmZSwgMHgxOSwgMHhiMSwgMHgwMCwgMHgxMCwgMHhkMiwgMHgxNCwgMHgyMiwgMHg4MCwgCi0gICAgMHg3ZiwgMHg3YSwgMHg1MSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHg5ZSwgMHg0NCwgMHgyOCwgMHgyZCwgMHg5ZCwgMHgyNCwgMHg3ZSwgMHg2NCwgMHgwNCwgCi0gICAgMHgwMCwgMHgyZSwgMHg2NywgMHgwMSwgMHhiMSwgMHg5ZSwgMHgyNCwgMHgwMCwgMHgwMiwgMHg0MCwgMHgxNywgMHgxYiwgMHgzOCwgMHg2MCwgMHgwYiwgMHgzNSwgCi0gICAgMHgxMiwgMHg2YSwgMHg2MywgMHg3ZSwgMHgzNCwgMHgyNCwgMHgyZCwgMHg3ZCwgMHgyNCwgMHgyZCwgMHg0MywgMHg3YSwgMHg0NywgMHgwMSwgMHhjOSwgMHgwMiwgCi0gICAgMHg2YSwgMHg2MywgMHg3YSwgMHgzOSwgMHhjMCwgMHg3ZSwgMHgzNCwgMHgyNCwgMHgyZCwgMHg3YSwgMHgzOSwgMHhkMCwgMHgwYiwgMHgzNCwgMHgxYiwgMHg0NCwgCi0gICAgMHg4MCwgMHhlNSwgMHg5ZCwgMHgzMiwgMHg3YywgMHhiNiwgMHg1NCwgMHgwZiwgMHgyMywgMHgyMywgMHgyMywgMHg0NCwgMHgwNCwgMHg3YSwgMHg2OSwgMHhiMCwgCi0gICAgMHg3YSwgMHg3OSwgMHg3MCwgMHgwYiwgMHgzNSwgMHg3NSwgMHgyZiwgMHg5MywgMHgxMiwgMHg3MywgMHgzNSwgMHg3YSwgMHg3MSwgMHgyZiwgMHgxMiwgMHg3MywgCi0gICAgMHgzNSwgMHhiZCwgMHgwNCwgMHg2OCwgMHgyYiwgMHg3YSwgMHgwNywgMHgwMSwgMHhjOSwgMHg3ZSwgMHg0NywgMHgwMSwgMHhjYiwgMHgyZCwgMHg0MywgMHg3YSwgCi0gICAgMHg0NywgMHgwMSwgMHhjYiwgMHgyZSwgMHgzNSwgMHgzMCwgMHg3YSwgMHgzNSwgMHgzMCwgMHgyMiwgMHhkMiwgMHgwNCwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgCi0gICAgMHgyMCwgMHhlMCwgMHgxMywgMHgyMiwgMHg3ZSwgMHgwNCwgMHgyNCwgMHgyZCwgMHg4MCwgMHgyOCwgMHg3ZSwgMHgwNCwgMHgyNCwgMHgyZCwgMHg4MCwgMHgyYSwgCi0gICAgMHg3ZSwgMHgwNCwgMHgyNCwgMHgyZCwgMHg4MCwgMHhjZiwgMHg3ZSwgMHgwNywgMHgwMSwgMHhjYiwgMHg3ZSwgMHgyNCwgMHgwMywgMHhmZSwgMHg5ZCwgMHgyMCwgCi0gICAgMHgyOCwgMHg0MCwgMHg3ZSwgMHgwNywgMHgwMSwgMHhjOSwgMHg3ZSwgMHg0NCwgMHgyOCwgMHgyZCwgMHg3ZCwgMHg2MCwgMHgwYiwgMHgwNCwgMHhiZCwgMHgwNCwgCi0gICAgMHg2OCwgMHhkMiwgMHg3ZCwgMHg3MCwgMHgwYiwgMHgwNCwgMHhiZCwgMHgwNCwgMHg2OCwgMHhkMCwgMHg3ZCwgMHg1NCwgMHg5ZCwgMHg1MCwgMHhiZCwgMHgyNSwgCi0gICAgMHg0MCwgMHgwMiwgMHg3ZCwgMHgyNSwgMHg3ZCwgMHgzMiwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHhjYSwgMHhiOCwgMHg1NCwgMHgxZiwgMHhiNCwgMHgwMSwgCi0gICAgMHgzMSwgMHhkYSwgMHhiOCwgMHg3ZSwgMHgxOSwgMHhiMCwgMHg3YSwgMHgwOSwgMHhiMCwgMHgwYiwgMHgwNCwgMHgxYiwgMHgyNCwgMHg3OCwgMHhlNywgMHgwMiwgCi0gICAgMHg1NCwgMHhkMiwgMHg3NSwgMHgyZiwgMHg5OSwgMHgxMiwgMHg3MywgMHgzNSwgMHgwOSwgMHhiMSwgMHgwMCwgMHgwNCwgMHg1NCwgMHhmYSwgMHgxOSwgMHhiMSwgCi0gICAgMHgwMCwgMHgwNCwgMHgzMCwgMHgzYywgMHgwYSwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxMCwgMHg1NCwgMHhmZSwgMHgxOSwgMHhiMSwgMHgwMCwgMHgxMCwgMHhkMiwgCi0gICAgMHgxNCwgMHgyMiwgMHhkYSwgMHhiOCwgMHgzMCwgMHhlMCwgMHhkOCwgMHhiZCwgMHgzMiwgMHg2OCwgMHgwNywgMHhjYSwgMHhiOCwgMHgxMiwgMHg1NCwgMHhkMiwgCi0gICAgMHhkYSwgMHhiOCwgMHgwMiwgMHg1NSwgMHhmOSwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxOCwgMHg3ZSwgMHhhMCwgMHg4OCwgMHg3NSwgMHgyZiwgMHg5MCwgMHgxMiwgCi0gICAgMHg3MywgMHgzNSwgMHhmNSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHhhNSwgMHhmZCwgMHg1ZSwgMHg1MCwgMHgwYSwgMHg2OCwgMHgxZCwgMHhhNSwgMHhmZCwgCi0gICAgMHg1ZSwgMHg1MCwgMHgyMCwgMHg2OCwgMHgwNCwgMHhkMiwgMHg1YywgMHg4MCwgMHgwMiwgMHhjMiwgMHg1YywgMHhhNSwgMHhmZCwgMHg1ZSwgMHg1MCwgMHg4MCwgCi0gICAgMHg2OCwgMHgwNCwgMHhkMiwgMHg1NCwgMHg4MCwgMHgwMiwgMHhjMiwgMHg1NCwgMHgxMiwgMHg0MywgMHgxOSwgMHgwMiwgMHg2MSwgMHgxMywgMHg3NSwgMHgyZiwgCi0gICAgMHg5MSwgMHgxMiwgMHg3MywgMHgzNSwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHg3YSwgMHhiMSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHgyMCwgMHhlMCwgCi0gICAgMHgwOCwgMHhkMiwgMHgwNCwgMHg3ZSwgMHhhMCwgMHg4MCwgMHgwMiwgMHg2MSwgMHgxMywgMHhkMiwgMHgwNCwgMHgzMCwgMHhlMSwgMHgwNiwgMHg3ZSwgMHhhMCwgCi0gICAgMHg4MCwgMHgxMiwgMHg2MSwgMHgxMywgMHhjYSwgMHhiOCwgMHg1ZSwgMHhiMCwgMHgxYywgMHhkYSwgMHhiOCwgMHg2OCwgMHgxMiwgMHg3ZSwgMHhhMCwgMHhjMCwgCi0gICAgMHgwOSwgMHg2MSwgMHgwMCwgMHgwMCwgMHgxMiwgMHg2MSwgMHgzNiwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHgyMCwgMHhlMCwgMHhkYiwgMHgyMiwgMHgwMiwgCi0gICAgMHg1NSwgMHgyNiwgMHg3NSwgMHgyZiwgMHg5NSwgMHgxMiwgMHg3MywgMHgzNSwgMHgyMiwgMHg3NSwgMHgyZiwgMHg5NiwgMHgxMiwgMHg3MywgMHgzNSwgMHgyMiwgCi0gICAgMHgxMCwgMHgwZCwgMHgwMSwgMHgyMiwgMHgyMCwgMHgyZCwgMHgwMywgMHhkMiwgMHgwZCwgMHgyMiwgMHg3NSwgMHgyZiwgMHhhNSwgMHgxMiwgMHg3MywgMHgzNSwgCi0gICAgMHg3ZSwgMHgxNCwgMHg4NSwgMHgwMCwgMHg4MCwgMHgwNiwgMHgyMCwgMHgyZCwgMHgwMywgMHhkMiwgMHgwZCwgMHgyMiwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgCi0gICAgMHhjYSwgMHhiOCwgMHg1ZSwgMHhiMCwgMHgxZSwgMHhkYSwgMHhiOCwgMHg2OCwgMHgwMywgMHgxMiwgMHg1OSwgMHgyNiwgMHgzMCwgMHgzNSwgMHgwNiwgMHgyMCwgCi0gICAgMHhlNiwgMHg0ZiwgMHhkMiwgMHgwZCwgMHgyMiwgMHgzMCwgMHhlNiwgMHgwMiwgMHhkMiwgMHg2NSwgMHg3ZSwgMHgzNywgMHgwMSwgMHg4MywgMHg3ZSwgMHgyNywgCi0gICAgMHgwMSwgMHhhMywgMHg5ZCwgMHgzMiwgMHg0MCwgMHgzMSwgMHg3ZCwgMHgwMiwgMHgyZSwgMHgwNSwgMHgzYywgMHg3YSwgMHgwNSwgMHgzYywgMHg3YSwgMHgzNywgCi0gICAgMHgwMSwgMHg4MywgMHg3ZSwgMHgzNywgMHgwMSwgMHg2MywgMHg3ZCwgMHg0MywgMHgyZCwgMHg0MiwgMHhiZSwgMHg0NCwgMHgxYywgMHgyYywgMHgzOCwgMHg2OCwgCi0gICAgMHg3YSwgMHg0NywgMHgwMSwgMHg2MywgMHg3NSwgMHgyZiwgMHg5NCwgMHgxMiwgMHg3MywgMHgzNSwgMHg3YSwgMHg1MSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgCi0gICAgMHgxMiwgMHg2OSwgMHhmMCwgMHgxMCwgMHg2NSwgMHhjNCwgMHgyMiwgMHhjMiwgMHg2NSwgMHgyZCwgMHgyMywgMHg2OCwgMHg3OCwgMHg2ZCwgMHgzMywgMHg4MCwgCi0gICAgMHgxYSwgMHg3ZSwgMHgyNywgMHgwMSwgMHg4MywgMHhiZSwgMHgyNCwgMHgwMCwgMHgwMCwgMHg2OCwgMHg2YSwgMHhiZSwgMHgyNywgMHgwMSwgMHhhMywgMHgyOCwgCi0gICAgMHgwNCwgMHg3ZSwgMHgyNywgMHgwMSwgMHhhMywgMHg3ZSwgMHgzNywgMHgwMSwgMHg4MywgMHg5ZCwgMHgzMiwgMHg3ZCwgMHgwMiwgMHgyZSwgMHgwNSwgMHgzYywgCi0gICAgMHg3YSwgMHgwNSwgMHgzYywgMHg3YSwgMHgzNywgMHgwMSwgMHg4MywgMHg3ZSwgMHgzNywgMHgwMSwgMHg2MywgMHg3ZCwgMHg0MywgMHgyZCwgMHg0MiwgMHhiZSwgCi0gICAgMHg0NCwgMHgxYywgMHgyYywgMHgzOCwgMHgxMywgMHg3YSwgMHg0NywgMHgwMSwgMHg2MywgMHg3NSwgMHgyZiwgMHg5NCwgMHgxMiwgMHg3MywgMHgzNSwgMHg3YSwgCi0gICAgMHg1MSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHgwMiwgMHg2OSwgMHhmMCwgMHg3NSwgMHgyZiwgMHg5NCwgMHgxMiwgMHg3MywgMHgzNSwgMHg3YSwgMHg1MSwgCi0gICAgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHg5ZSwgMHg0NCwgMHgxYywgMHgyZCwgMHg5ZCwgMHgyNCwgMHgxMiwgMHg2OSwgMHhmMCwgMHg3ZSwgMHgzNCwgMHgxOCwgCi0gICAgMHgyZCwgMHg3ZCwgMHgyNCwgMHgyZCwgMHg0MywgMHg3YSwgMHg0NywgMHgwMSwgMHg2MywgMHgxMiwgMHg2OSwgMHhmMCwgMHhiZSwgMHgyNSwgMHgyMCwgMHg3OCwgCi0gICAgMHgwMywgMHgwMiwgMHg1NiwgMHhhMywgMHgyMiwgMHhkMiwgMHgwZCwgMHg3ZSwgMHgwNCwgMHgxOCwgMHgyZCwgMHg3YSwgMHgwNywgMHgwMSwgMHg2MywgMHg3YSwgCi0gICAgMHgwNywgMHgwMSwgMHg3MywgMHg3NSwgMHgyZiwgMHg5NCwgMHgxMiwgMHg3MywgMHgzNSwgMHg3NSwgMHgyZiwgMHgwMCwgMHgxMiwgMHg3MywgMHgzNSwgMHgyMiwgCi0gICAgMHg3NSwgMHgyZiwgMHg5MiwgMHgxMiwgMHg3MywgMHgzNSwgMHhkMiwgMHgwNCwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHhjYSwgMHhiOCwgMHg1NCwgMHg4MiwgCi0gICAgMHhkYSwgMHhiOCwgMHg3OCwgMHg2OCwgMHg3ZSwgMHgzNywgMHgwMSwgMHhjYiwgMHg3ZSwgMHgyNywgMHgwMSwgMHhiMywgMHgyZSwgMHgyNCwgMHgwMCwgMHgwMiwgCi0gICAgMHgyZCwgMHgzMiwgMHhiZSwgMHgzNCwgMHgwNCwgMHgwMCwgMHgzOCwgMHgzNCwgMHg3ZCwgMHgwMiwgMHgyZSwgMHgwNSwgMHgzMCwgMHg3YSwgMHgwNSwgMHgzMCwgCi0gICAgMHg3YSwgMHgzNywgMHgwMSwgMHhjYiwgMHg3ZSwgMHgzNywgMHgwMSwgMHhjOSwgMHg3ZCwgMHg0MywgMHgyZCwgMHg0MiwgMHhiZSwgMHg0NCwgMHgyOCwgMHgyYywgCi0gICAgMHgzOCwgMHgzYywgMHg3YSwgMHg0NywgMHgwMSwgMHhjOSwgMHg3ZSwgMHgyNCwgMHgwNSwgMHgwMCwgMHgyZSwgMHgyNywgMHgwMSwgMHhiMywgMHgxYiwgMHgzOCwgCi0gICAgMHgyMCwgMHgwYiwgMHgzNSwgMHg3YSwgMHg1MSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHgwMiwgMHg2YSwgMHg2MywgMHg3NSwgMHgyZiwgMHg5OSwgMHgxMiwgCi0gICAgMHg3MywgMHgzNSwgMHgwOSwgMHhiMSwgMHgwMCwgMHgwNCwgMHg1NCwgMHhmYSwgMHgxOSwgMHhiMSwgMHgwMCwgMHgwNCwgMHgzMCwgMHgzZCwgMHgwYSwgMHgwOSwgCi0gICAgMHhiMSwgMHgwMCwgMHgxMCwgMHg1NCwgMHhmZSwgMHgxOSwgMHhiMSwgMHgwMCwgMHgxMCwgMHhkMiwgMHgxNSwgMHgyMiwgMHg4MCwgMHg3ZiwgMHg3YSwgMHg1MSwgCi0gICAgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHg5ZSwgMHg0NCwgMHgyOCwgMHgyZCwgMHg5ZCwgMHgyNCwgMHg3ZSwgMHg2NCwgMHgwNSwgMHgwMCwgMHgyZSwgMHg2NywgCi0gICAgMHgwMSwgMHhiMywgMHg5ZSwgMHgyNCwgMHgwMCwgMHgwMiwgMHg0MCwgMHgxNywgMHgxYiwgMHgzOCwgMHg2MCwgMHgwYiwgMHgzNSwgMHgxMiwgMHg2YSwgMHg2MywgCi0gICAgMHg3ZSwgMHgzNCwgMHgyNCwgMHgyZCwgMHg3ZCwgMHgyNCwgMHgyZCwgMHg0MywgMHg3YSwgMHg0NywgMHgwMSwgMHhjOSwgMHgwMiwgMHg2YSwgMHg2MywgMHg3YSwgCi0gICAgMHgzOSwgMHhjMCwgMHg3ZSwgMHgzNCwgMHgyNCwgMHgyZCwgMHg3YSwgMHgzOSwgMHhkMCwgMHgwYiwgMHgzNCwgMHgxYiwgMHg0NCwgMHg4MCwgMHhlNSwgMHg5ZCwgCi0gICAgMHgzMiwgMHg3YywgMHhiNiwgMHg1NCwgMHgwZiwgMHgyMywgMHgyMywgMHgyMywgMHg0NCwgMHgwNSwgMHg3YSwgMHg2OSwgMHhiMCwgMHg3YSwgMHg3OSwgMHg3MCwgCi0gICAgMHgwYiwgMHgzNSwgMHg3NSwgMHgyZiwgMHg5MywgMHgxMiwgMHg3MywgMHgzNSwgMHg3YSwgMHg3MSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHhiZCwgMHgwNCwgCi0gICAgMHg2OCwgMHgyYiwgMHg3YSwgMHgwNywgMHgwMSwgMHhjOSwgMHg3ZSwgMHg0NywgMHgwMSwgMHhjYiwgMHgyZCwgMHg0MywgMHg3YSwgMHg0NywgMHgwMSwgMHhjYiwgCi0gICAgMHgyZSwgMHgzNSwgMHgzMCwgMHg3YSwgMHgzNSwgMHgzMCwgMHgyMiwgMHhkMiwgMHgwNCwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHgyMCwgMHhlMCwgMHgxMywgCi0gICAgMHgyMiwgMHg3ZSwgMHgwNCwgMHgyNCwgMHgyZCwgMHg4MCwgMHgyOCwgMHg3ZSwgMHgwNCwgMHgyNCwgMHgyZCwgMHg4MCwgMHgyYSwgMHg3ZSwgMHgwNCwgMHgyNCwgCi0gICAgMHgyZCwgMHg4MCwgMHhjZiwgMHg3ZSwgMHgwNywgMHgwMSwgMHhjYiwgMHg3ZSwgMHgyNCwgMHgwMywgMHhmZSwgMHg5ZCwgMHgyMCwgMHgyOCwgMHg0MCwgMHg3ZSwgCi0gICAgMHgwNywgMHgwMSwgMHhjOSwgMHg3ZSwgMHg0NCwgMHgyOCwgMHgyZCwgMHg3ZCwgMHg2MCwgMHgwYiwgMHgwNCwgMHhiZCwgMHgwNCwgMHg2OCwgMHhkMiwgMHg3ZCwgCi0gICAgMHg3MCwgMHgwYiwgMHgwNCwgMHhiZCwgMHgwNCwgMHg2OCwgMHhkMCwgMHg3ZCwgMHg1NCwgMHg5ZCwgMHg1MCwgMHhiZCwgMHgyNSwgMHg0MCwgMHgwMiwgMHg3ZCwgCi0gICAgMHgyNSwgMHg3ZCwgMHgzMiwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHhjYSwgMHhiOCwgMHg1NCwgMHgxZiwgMHhiNCwgMHgwMSwgMHgzMSwgMHhkYSwgMHhiOCwgCi0gICAgMHg3ZSwgMHgxOSwgMHhiMCwgMHg3YSwgMHgwOSwgMHhiMCwgMHgwYiwgMHgwNCwgMHgxYiwgMHgyNCwgMHg3OCwgMHhlNywgMHgwMiwgMHg1NywgMHhmZiwgMHg3NSwgCi0gICAgMHgyZiwgMHg5OSwgMHgxMiwgMHg3MywgMHgzNSwgMHgwOSwgMHhiMSwgMHgwMCwgMHgwNCwgMHg1NCwgMHhmYSwgMHgxOSwgMHhiMSwgMHgwMCwgMHgwNCwgMHgzMCwgCi0gICAgMHgzZCwgMHgwYSwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxMCwgMHg1NCwgMHhmZSwgMHgxOSwgMHhiMSwgMHgwMCwgMHgxMCwgMHhkMiwgMHgxNSwgMHgyMiwgMHhkYSwgCi0gICAgMHhiOCwgMHgzMCwgMHhlMCwgMHhkOCwgMHhiZCwgMHgzMiwgMHg2OCwgMHgwNywgMHhjYSwgMHhiOCwgMHgxMiwgMHg1NywgMHhmZiwgMHhkYSwgMHhiOCwgMHgwMiwgCi0gICAgMHg1OSwgMHgyNiwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxOCwgMHg3ZSwgMHhhMCwgMHg4OCwgMHg3NSwgMHgyZiwgMHg5MCwgMHgxMiwgMHg3MywgMHgzNSwgMHhmNSwgCi0gICAgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHhhNSwgMHhmZCwgMHg1ZSwgMHg1MCwgMHgwYSwgMHg2OCwgMHgxZCwgMHhhNSwgMHhmZCwgMHg1ZSwgMHg1MCwgMHgyMCwgCi0gICAgMHg2OCwgMHgwNCwgMHhkMiwgMHg1ZCwgMHg4MCwgMHgwMiwgMHhjMiwgMHg1ZCwgMHhhNSwgMHhmZCwgMHg1ZSwgMHg1MCwgMHg4MCwgMHg2OCwgMHgwNCwgMHhkMiwgCi0gICAgMHg1NSwgMHg4MCwgMHgwMiwgMHhjMiwgMHg1NSwgMHgxMiwgMHg0MywgMHgzMCwgMHgwMiwgMHg2MSwgMHgxMywgMHg3NSwgMHgyZiwgMHg5MSwgMHgxMiwgMHg3MywgCi0gICAgMHgzNSwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHg3YSwgMHhiMSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHgyMCwgMHhlMCwgMHgwOCwgMHhkMiwgMHgwNCwgCi0gICAgMHg3ZSwgMHhhMCwgMHg4MCwgMHgwMiwgMHg2MSwgMHgxMywgMHhkMiwgMHgwNCwgMHgzMCwgMHhlMSwgMHgwNiwgMHg3ZSwgMHhhMCwgMHg4MCwgMHgxMiwgMHg2MSwgCi0gICAgMHgxMywgMHhjYSwgMHhiOCwgMHg1ZSwgMHhiMCwgMHgxYywgMHhkYSwgMHhiOCwgMHg2OCwgMHgxMiwgMHg3ZSwgMHhhMCwgMHhjMCwgMHgwOSwgMHg2MSwgMHgwMCwgCi0gICAgMHgwMCwgMHgxMiwgMHg2MSwgMHgzNiwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHgyMCwgMHhlMCwgMHhkYiwgMHgyMiwgMHgwMiwgMHg1OCwgMHg1MywgMHg3NSwgCi0gICAgMHgyZiwgMHg5NSwgMHgxMiwgMHg3MywgMHgzNSwgMHgyMiwgMHg3NSwgMHgyZiwgMHg5NiwgMHgxMiwgMHg3MywgMHgzNSwgMHgyMiwgMHgxMCwgMHgwZSwgMHgwMSwgCi0gICAgMHgyMiwgMHgyMCwgMHgyZSwgMHgwMywgMHhkMiwgMHgwZSwgMHgyMiwgMHg3NSwgMHgyZiwgMHhhNiwgMHgxMiwgMHg3MywgMHgzNSwgMHg3ZSwgMHgxNCwgMHg4NiwgCi0gICAgMHgwMCwgMHg4MCwgMHgwNiwgMHgyMCwgMHgyZSwgMHgwMywgMHhkMiwgMHgwZSwgMHgyMiwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHhjYSwgMHhiOCwgMHg1ZSwgCi0gICAgMHhiMCwgMHgxZSwgMHhkYSwgMHhiOCwgMHg2OCwgMHgwMywgMHgxMiwgMHg1YywgMHg1MywgMHgzMCwgMHgzNiwgMHgwNiwgMHgyMCwgMHhlNiwgMHg0ZiwgMHhkMiwgCi0gICAgMHgwZSwgMHgyMiwgMHgzMCwgMHhlNiwgMHgwMiwgMHhkMiwgMHg2NiwgMHg3ZSwgMHgzNywgMHgwMSwgMHg4NSwgMHg3ZSwgMHgyNywgMHgwMSwgMHhhNSwgMHg5ZCwgCi0gICAgMHgzMiwgMHg0MCwgMHgzMSwgMHg3ZCwgMHgwMiwgMHgyZSwgMHgwNSwgMHgzZSwgMHg3YSwgMHgwNSwgMHgzZSwgMHg3YSwgMHgzNywgMHgwMSwgMHg4NSwgMHg3ZSwgCi0gICAgMHgzNywgMHgwMSwgMHg2NSwgMHg3ZCwgMHg0MywgMHgyZCwgMHg0MiwgMHhiZSwgMHg0NCwgMHgyMCwgMHgyYywgMHgzOCwgMHg2OCwgMHg3YSwgMHg0NywgMHgwMSwgCi0gICAgMHg2NSwgMHg3NSwgMHgyZiwgMHg5NCwgMHgxMiwgMHg3MywgMHgzNSwgMHg3YSwgMHg1MSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHgxMiwgMHg2OSwgMHhmMCwgCi0gICAgMHgxMCwgMHg2NiwgMHhjNCwgMHgyMiwgMHhjMiwgMHg2NiwgMHgyZCwgMHgyMywgMHg2OCwgMHg3OCwgMHg2ZCwgMHgzMywgMHg4MCwgMHgxYSwgMHg3ZSwgMHgyNywgCi0gICAgMHgwMSwgMHg4NSwgMHhiZSwgMHgyNCwgMHgwMCwgMHgwMCwgMHg2OCwgMHg2YSwgMHhiZSwgMHgyNywgMHgwMSwgMHhhNSwgMHgyOCwgMHgwNCwgMHg3ZSwgMHgyNywgCi0gICAgMHgwMSwgMHhhNSwgMHg3ZSwgMHgzNywgMHgwMSwgMHg4NSwgMHg5ZCwgMHgzMiwgMHg3ZCwgMHgwMiwgMHgyZSwgMHgwNSwgMHgzZSwgMHg3YSwgMHgwNSwgMHgzZSwgCi0gICAgMHg3YSwgMHgzNywgMHgwMSwgMHg4NSwgMHg3ZSwgMHgzNywgMHgwMSwgMHg2NSwgMHg3ZCwgMHg0MywgMHgyZCwgMHg0MiwgMHhiZSwgMHg0NCwgMHgyMCwgMHgyYywgCi0gICAgMHgzOCwgMHgxMywgMHg3YSwgMHg0NywgMHgwMSwgMHg2NSwgMHg3NSwgMHgyZiwgMHg5NCwgMHgxMiwgMHg3MywgMHgzNSwgMHg3YSwgMHg1MSwgMHgyZiwgMHgxMiwgCi0gICAgMHg3MywgMHgzNSwgMHgwMiwgMHg2OSwgMHhmMCwgMHg3NSwgMHgyZiwgMHg5NCwgMHgxMiwgMHg3MywgMHgzNSwgMHg3YSwgMHg1MSwgMHgyZiwgMHgxMiwgMHg3MywgCi0gICAgMHgzNSwgMHg5ZSwgMHg0NCwgMHgyMCwgMHgyZCwgMHg5ZCwgMHgyNCwgMHgxMiwgMHg2OSwgMHhmMCwgMHg3ZSwgMHgzNCwgMHgxYywgMHgyZCwgMHg3ZCwgMHgyNCwgCi0gICAgMHgyZCwgMHg0MywgMHg3YSwgMHg0NywgMHgwMSwgMHg2NSwgMHgxMiwgMHg2OSwgMHhmMCwgMHhiZSwgMHgyNSwgMHgyMCwgMHg3OCwgMHgwMywgMHgwMiwgMHg1OSwgCi0gICAgMHhkMCwgMHgyMiwgMHhkMiwgMHgwZSwgMHg3ZSwgMHgwNCwgMHgxYywgMHgyZCwgMHg3YSwgMHgwNywgMHgwMSwgMHg2NSwgMHg3YSwgMHgwNywgMHgwMSwgMHg3NSwgCi0gICAgMHg3NSwgMHgyZiwgMHg5NCwgMHgxMiwgMHg3MywgMHgzNSwgMHg3NSwgMHgyZiwgMHgwMCwgMHgxMiwgMHg3MywgMHgzNSwgMHgyMiwgMHg3NSwgMHgyZiwgMHg5MiwgCi0gICAgMHgxMiwgMHg3MywgMHgzNSwgMHhkMiwgMHgwNCwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHhjYSwgMHhiOCwgMHg1NCwgMHg4MiwgMHhkYSwgMHhiOCwgMHg3OCwgCi0gICAgMHg2OCwgMHg3ZSwgMHgzNywgMHgwMSwgMHhjYiwgMHg3ZSwgMHgyNywgMHgwMSwgMHhiNSwgMHgyZSwgMHgyNCwgMHgwMCwgMHgwMiwgMHgyZCwgMHgzMiwgMHhiZSwgCi0gICAgMHgzNCwgMHgwNCwgMHgwMCwgMHgzOCwgMHgzNCwgMHg3ZCwgMHgwMiwgMHgyZSwgMHgwNSwgMHgzMCwgMHg3YSwgMHgwNSwgMHgzMCwgMHg3YSwgMHgzNywgMHgwMSwgCi0gICAgMHhjYiwgMHg3ZSwgMHgzNywgMHgwMSwgMHhjOSwgMHg3ZCwgMHg0MywgMHgyZCwgMHg0MiwgMHhiZSwgMHg0NCwgMHgyOCwgMHgyYywgMHgzOCwgMHgzYywgMHg3YSwgCi0gICAgMHg0NywgMHgwMSwgMHhjOSwgMHg3ZSwgMHgyNCwgMHgwNiwgMHgwMCwgMHgyZSwgMHgyNywgMHgwMSwgMHhiNSwgMHgxYiwgMHgzOCwgMHgyMCwgMHgwYiwgMHgzNSwgCi0gICAgMHg3YSwgMHg1MSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHgwMiwgMHg2YSwgMHg2MywgMHg3NSwgMHgyZiwgMHg5OSwgMHgxMiwgMHg3MywgMHgzNSwgMHgwOSwgCi0gICAgMHhiMSwgMHgwMCwgMHgwNCwgMHg1NCwgMHhmYSwgMHgxOSwgMHhiMSwgMHgwMCwgMHgwNCwgMHgzMCwgMHgzZSwgMHgwYSwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxMCwgCi0gICAgMHg1NCwgMHhmZSwgMHgxOSwgMHhiMSwgMHgwMCwgMHgxMCwgMHhkMiwgMHgxNiwgMHgyMiwgMHg4MCwgMHg3ZiwgMHg3YSwgMHg1MSwgMHgyZiwgMHgxMiwgMHg3MywgCi0gICAgMHgzNSwgMHg5ZSwgMHg0NCwgMHgyOCwgMHgyZCwgMHg5ZCwgMHgyNCwgMHg3ZSwgMHg2NCwgMHgwNiwgMHgwMCwgMHgyZSwgMHg2NywgMHgwMSwgMHhiNSwgMHg5ZSwgCi0gICAgMHgyNCwgMHgwMCwgMHgwMiwgMHg0MCwgMHgxNywgMHgxYiwgMHgzOCwgMHg2MCwgMHgwYiwgMHgzNSwgMHgxMiwgMHg2YSwgMHg2MywgMHg3ZSwgMHgzNCwgMHgyNCwgCi0gICAgMHgyZCwgMHg3ZCwgMHgyNCwgMHgyZCwgMHg0MywgMHg3YSwgMHg0NywgMHgwMSwgMHhjOSwgMHgwMiwgMHg2YSwgMHg2MywgMHg3YSwgMHgzOSwgMHhjMCwgMHg3ZSwgCi0gICAgMHgzNCwgMHgyNCwgMHgyZCwgMHg3YSwgMHgzOSwgMHhkMCwgMHgwYiwgMHgzNCwgMHgxYiwgMHg0NCwgMHg4MCwgMHhlNSwgMHg5ZCwgMHgzMiwgMHg3YywgMHhiNiwgCi0gICAgMHg1NCwgMHgwZiwgMHgyMywgMHgyMywgMHgyMywgMHg0NCwgMHgwNiwgMHg3YSwgMHg2OSwgMHhiMCwgMHg3YSwgMHg3OSwgMHg3MCwgMHgwYiwgMHgzNSwgMHg3NSwgCi0gICAgMHgyZiwgMHg5MywgMHgxMiwgMHg3MywgMHgzNSwgMHg3YSwgMHg3MSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHhiZCwgMHgwNCwgMHg2OCwgMHgyYiwgMHg3YSwgCi0gICAgMHgwNywgMHgwMSwgMHhjOSwgMHg3ZSwgMHg0NywgMHgwMSwgMHhjYiwgMHgyZCwgMHg0MywgMHg3YSwgMHg0NywgMHgwMSwgMHhjYiwgMHgyZSwgMHgzNSwgMHgzMCwgCi0gICAgMHg3YSwgMHgzNSwgMHgzMCwgMHgyMiwgMHhkMiwgMHgwNCwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHgyMCwgMHhlMCwgMHgxMywgMHgyMiwgMHg3ZSwgMHgwNCwgCi0gICAgMHgyNCwgMHgyZCwgMHg4MCwgMHgyOCwgMHg3ZSwgMHgwNCwgMHgyNCwgMHgyZCwgMHg4MCwgMHgyYSwgMHg3ZSwgMHgwNCwgMHgyNCwgMHgyZCwgMHg4MCwgMHhjZiwgCi0gICAgMHg3ZSwgMHgwNywgMHgwMSwgMHhjYiwgMHg3ZSwgMHgyNCwgMHgwMywgMHhmZSwgMHg5ZCwgMHgyMCwgMHgyOCwgMHg0MCwgMHg3ZSwgMHgwNywgMHgwMSwgMHhjOSwgCi0gICAgMHg3ZSwgMHg0NCwgMHgyOCwgMHgyZCwgMHg3ZCwgMHg2MCwgMHgwYiwgMHgwNCwgMHhiZCwgMHgwNCwgMHg2OCwgMHhkMiwgMHg3ZCwgMHg3MCwgMHgwYiwgMHgwNCwgCi0gICAgMHhiZCwgMHgwNCwgMHg2OCwgMHhkMCwgMHg3ZCwgMHg1NCwgMHg5ZCwgMHg1MCwgMHhiZCwgMHgyNSwgMHg0MCwgMHgwMiwgMHg3ZCwgMHgyNSwgMHg3ZCwgMHgzMiwgCi0gICAgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHhjYSwgMHhiOCwgMHg1NCwgMHgxZiwgMHhiNCwgMHgwMSwgMHgzMSwgMHhkYSwgMHhiOCwgMHg3ZSwgMHgxOSwgMHhiMCwgCi0gICAgMHg3YSwgMHgwOSwgMHhiMCwgMHgwYiwgMHgwNCwgMHgxYiwgMHgyNCwgMHg3OCwgMHhlNywgMHgwMiwgMHg1YiwgMHgyYywgMHg3NSwgMHgyZiwgMHg5OSwgMHgxMiwgCi0gICAgMHg3MywgMHgzNSwgMHgwOSwgMHhiMSwgMHgwMCwgMHgwNCwgMHg1NCwgMHhmYSwgMHgxOSwgMHhiMSwgMHgwMCwgMHgwNCwgMHgzMCwgMHgzZSwgMHgwYSwgMHgwOSwgCi0gICAgMHhiMSwgMHgwMCwgMHgxMCwgMHg1NCwgMHhmZSwgMHgxOSwgMHhiMSwgMHgwMCwgMHgxMCwgMHhkMiwgMHgxNiwgMHgyMiwgMHhkYSwgMHhiOCwgMHgzMCwgMHhlMCwgCi0gICAgMHhkOCwgMHhiZCwgMHgzMiwgMHg2OCwgMHgwNywgMHhjYSwgMHhiOCwgMHgxMiwgMHg1YiwgMHgyYywgMHhkYSwgMHhiOCwgMHgwMiwgMHg1YywgMHg1MywgMHgwOSwgCi0gICAgMHhiMSwgMHgwMCwgMHgxOCwgMHg3ZSwgMHhhMCwgMHg4OCwgMHg3NSwgMHgyZiwgMHg5MCwgMHgxMiwgMHg3MywgMHgzNSwgMHhmNSwgMHgyZiwgMHgxMiwgMHg3MywgCi0gICAgMHgzNSwgMHhhNSwgMHhmZCwgMHg1ZSwgMHg1MCwgMHgwYSwgMHg2OCwgMHgxZCwgMHhhNSwgMHhmZCwgMHg1ZSwgMHg1MCwgMHgyMCwgMHg2OCwgMHgwNCwgMHhkMiwgCi0gICAgMHg1ZSwgMHg4MCwgMHgwMiwgMHhjMiwgMHg1ZSwgMHhhNSwgMHhmZCwgMHg1ZSwgMHg1MCwgMHg4MCwgMHg2OCwgMHgwNCwgMHhkMiwgMHg1NiwgMHg4MCwgMHgwMiwgCi0gICAgMHhjMiwgMHg1NiwgMHgxMiwgMHg0MywgMHg0NywgMHgwMiwgMHg2MSwgMHgxMywgMHg3NSwgMHgyZiwgMHg5MSwgMHgxMiwgMHg3MywgMHgzNSwgMHgwOSwgMHhiMSwgCi0gICAgMHgwMCwgMHgxNCwgMHg3YSwgMHhiMSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHgyMCwgMHhlMCwgMHgwOCwgMHhkMiwgMHgwNCwgMHg3ZSwgMHhhMCwgMHg4MCwgCi0gICAgMHgwMiwgMHg2MSwgMHgxMywgMHhkMiwgMHgwNCwgMHgzMCwgMHhlMSwgMHgwNiwgMHg3ZSwgMHhhMCwgMHg4MCwgMHgxMiwgMHg2MSwgMHgxMywgMHhjYSwgMHhiOCwgCi0gICAgMHg1ZSwgMHhiMCwgMHgxYywgMHhkYSwgMHhiOCwgMHg2OCwgMHgxMiwgMHg3ZSwgMHhhMCwgMHhjMCwgMHgwOSwgMHg2MSwgMHgwMCwgMHgwMCwgMHgxMiwgMHg2MSwgCi0gICAgMHgzNiwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHgyMCwgMHhlMCwgMHhkYiwgMHgyMiwgMHgwMiwgMHg1YiwgMHg4MCwgMHg3NSwgMHgyZiwgMHg5NSwgMHgxMiwgCi0gICAgMHg3MywgMHgzNSwgMHgyMiwgMHg3NSwgMHgyZiwgMHg5NiwgMHgxMiwgMHg3MywgMHgzNSwgMHgyMiwgMHgxMCwgMHgwZiwgMHgwMSwgMHgyMiwgMHgyMCwgMHgyZiwgCi0gICAgMHgwMywgMHhkMiwgMHgwZiwgMHgyMiwgMHg3NSwgMHgyZiwgMHhhNywgMHgxMiwgMHg3MywgMHgzNSwgMHg3ZSwgMHgxNCwgMHg4NywgMHgwMCwgMHg4MCwgMHgwNiwgCi0gICAgMHgyMCwgMHgyZiwgMHgwMywgMHhkMiwgMHgwZiwgMHgyMiwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHhjYSwgMHhiOCwgMHg1ZSwgMHhiMCwgMHgxZSwgMHhkYSwgCi0gICAgMHhiOCwgMHg2OCwgMHgwMywgMHgxMiwgMHg1ZiwgMHg4MCwgMHgzMCwgMHgzNywgMHgwNiwgMHgyMCwgMHhlNiwgMHg0ZiwgMHhkMiwgMHgwZiwgMHgyMiwgMHgzMCwgCi0gICAgMHhlNiwgMHgwMiwgMHhkMiwgMHg2NywgMHg3ZSwgMHgzNywgMHgwMSwgMHg4NywgMHg3ZSwgMHgyNywgMHgwMSwgMHhhNywgMHg5ZCwgMHgzMiwgMHg0MCwgMHgzMSwgCi0gICAgMHg3ZCwgMHgwMiwgMHgyZSwgMHgwNSwgMHg0MCwgMHg3YSwgMHgwNSwgMHg0MCwgMHg3YSwgMHgzNywgMHgwMSwgMHg4NywgMHg3ZSwgMHgzNywgMHgwMSwgMHg2NywgCi0gICAgMHg3ZCwgMHg0MywgMHgyZCwgMHg0MiwgMHhiZSwgMHg0NCwgMHgyNCwgMHgyYywgMHgzOCwgMHg2OCwgMHg3YSwgMHg0NywgMHgwMSwgMHg2NywgMHg3NSwgMHgyZiwgCi0gICAgMHg5NCwgMHgxMiwgMHg3MywgMHgzNSwgMHg3YSwgMHg1MSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHgxMiwgMHg2OSwgMHhmMCwgMHgxMCwgMHg2NywgMHhjNCwgCi0gICAgMHgyMiwgMHhjMiwgMHg2NywgMHgyZCwgMHgyMywgMHg2OCwgMHg3OCwgMHg2ZCwgMHgzMywgMHg4MCwgMHgxYSwgMHg3ZSwgMHgyNywgMHgwMSwgMHg4NywgMHhiZSwgCi0gICAgMHgyNCwgMHgwMCwgMHgwMCwgMHg2OCwgMHg2YSwgMHhiZSwgMHgyNywgMHgwMSwgMHhhNywgMHgyOCwgMHgwNCwgMHg3ZSwgMHgyNywgMHgwMSwgMHhhNywgMHg3ZSwgCi0gICAgMHgzNywgMHgwMSwgMHg4NywgMHg5ZCwgMHgzMiwgMHg3ZCwgMHgwMiwgMHgyZSwgMHgwNSwgMHg0MCwgMHg3YSwgMHgwNSwgMHg0MCwgMHg3YSwgMHgzNywgMHgwMSwgCi0gICAgMHg4NywgMHg3ZSwgMHgzNywgMHgwMSwgMHg2NywgMHg3ZCwgMHg0MywgMHgyZCwgMHg0MiwgMHhiZSwgMHg0NCwgMHgyNCwgMHgyYywgMHgzOCwgMHgxMywgMHg3YSwgCi0gICAgMHg0NywgMHgwMSwgMHg2NywgMHg3NSwgMHgyZiwgMHg5NCwgMHgxMiwgMHg3MywgMHgzNSwgMHg3YSwgMHg1MSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHgwMiwgCi0gICAgMHg2OSwgMHhmMCwgMHg3NSwgMHgyZiwgMHg5NCwgMHgxMiwgMHg3MywgMHgzNSwgMHg3YSwgMHg1MSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHg5ZSwgMHg0NCwgCi0gICAgMHgyNCwgMHgyZCwgMHg5ZCwgMHgyNCwgMHgxMiwgMHg2OSwgMHhmMCwgMHg3ZSwgMHgzNCwgMHgyMCwgMHgyZCwgMHg3ZCwgMHgyNCwgMHgyZCwgMHg0MywgMHg3YSwgCi0gICAgMHg0NywgMHgwMSwgMHg2NywgMHgxMiwgMHg2OSwgMHhmMCwgMHhiZSwgMHgyNSwgMHgyMCwgMHg3OCwgMHgwMywgMHgwMiwgMHg1YywgMHhmZCwgMHgyMiwgMHhkMiwgCi0gICAgMHgwZiwgMHg3ZSwgMHgwNCwgMHgyMCwgMHgyZCwgMHg3YSwgMHgwNywgMHgwMSwgMHg2NywgMHg3YSwgMHgwNywgMHgwMSwgMHg3NywgMHg3NSwgMHgyZiwgMHg5NCwgCi0gICAgMHgxMiwgMHg3MywgMHgzNSwgMHg3NSwgMHgyZiwgMHgwMCwgMHgxMiwgMHg3MywgMHgzNSwgMHgyMiwgMHg3NSwgMHgyZiwgMHg5MiwgMHgxMiwgMHg3MywgMHgzNSwgCi0gICAgMHhkMiwgMHgwNCwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHhjYSwgMHhiOCwgMHg1NCwgMHg4MiwgMHhkYSwgMHhiOCwgMHg3OCwgMHg2OCwgMHg3ZSwgMHgzNywgCi0gICAgMHgwMSwgMHhjYiwgMHg3ZSwgMHgyNywgMHgwMSwgMHhiNywgMHgyZSwgMHgyNCwgMHgwMCwgMHgwMiwgMHgyZCwgMHgzMiwgMHhiZSwgMHgzNCwgMHgwNCwgMHgwMCwgCi0gICAgMHgzOCwgMHgzNCwgMHg3ZCwgMHgwMiwgMHgyZSwgMHgwNSwgMHgzMCwgMHg3YSwgMHgwNSwgMHgzMCwgMHg3YSwgMHgzNywgMHgwMSwgMHhjYiwgMHg3ZSwgMHgzNywgCi0gICAgMHgwMSwgMHhjOSwgMHg3ZCwgMHg0MywgMHgyZCwgMHg0MiwgMHhiZSwgMHg0NCwgMHgyOCwgMHgyYywgMHgzOCwgMHgzYywgMHg3YSwgMHg0NywgMHgwMSwgMHhjOSwgCi0gICAgMHg3ZSwgMHgyNCwgMHgwNywgMHgwMCwgMHgyZSwgMHgyNywgMHgwMSwgMHhiNywgMHgxYiwgMHgzOCwgMHgyMCwgMHgwYiwgMHgzNSwgMHg3YSwgMHg1MSwgMHgyZiwgCi0gICAgMHgxMiwgMHg3MywgMHgzNSwgMHgwMiwgMHg2YSwgMHg2MywgMHg3NSwgMHgyZiwgMHg5OSwgMHgxMiwgMHg3MywgMHgzNSwgMHgwOSwgMHhiMSwgMHgwMCwgMHgwNCwgCi0gICAgMHg1NCwgMHhmYSwgMHgxOSwgMHhiMSwgMHgwMCwgMHgwNCwgMHgzMCwgMHgzZiwgMHgwYSwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxMCwgMHg1NCwgMHhmZSwgMHgxOSwgCi0gICAgMHhiMSwgMHgwMCwgMHgxMCwgMHhkMiwgMHgxNywgMHgyMiwgMHg4MCwgMHg3ZiwgMHg3YSwgMHg1MSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHg5ZSwgMHg0NCwgCi0gICAgMHgyOCwgMHgyZCwgMHg5ZCwgMHgyNCwgMHg3ZSwgMHg2NCwgMHgwNywgMHgwMCwgMHgyZSwgMHg2NywgMHgwMSwgMHhiNywgMHg5ZSwgMHgyNCwgMHgwMCwgMHgwMiwgCi0gICAgMHg0MCwgMHgxNywgMHgxYiwgMHgzOCwgMHg2MCwgMHgwYiwgMHgzNSwgMHgxMiwgMHg2YSwgMHg2MywgMHg3ZSwgMHgzNCwgMHgyNCwgMHgyZCwgMHg3ZCwgMHgyNCwgCi0gICAgMHgyZCwgMHg0MywgMHg3YSwgMHg0NywgMHgwMSwgMHhjOSwgMHgwMiwgMHg2YSwgMHg2MywgMHg3YSwgMHgzOSwgMHhjMCwgMHg3ZSwgMHgzNCwgMHgyNCwgMHgyZCwgCi0gICAgMHg3YSwgMHgzOSwgMHhkMCwgMHgwYiwgMHgzNCwgMHgxYiwgMHg0NCwgMHg4MCwgMHhlNSwgMHg5ZCwgMHgzMiwgMHg3YywgMHhiNiwgMHg1NCwgMHgwZiwgMHgyMywgCi0gICAgMHgyMywgMHgyMywgMHg0NCwgMHgwNywgMHg3YSwgMHg2OSwgMHhiMCwgMHg3YSwgMHg3OSwgMHg3MCwgMHgwYiwgMHgzNSwgMHg3NSwgMHgyZiwgMHg5MywgMHgxMiwgCi0gICAgMHg3MywgMHgzNSwgMHg3YSwgMHg3MSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHhiZCwgMHgwNCwgMHg2OCwgMHgyYiwgMHg3YSwgMHgwNywgMHgwMSwgMHhjOSwgCi0gICAgMHg3ZSwgMHg0NywgMHgwMSwgMHhjYiwgMHgyZCwgMHg0MywgMHg3YSwgMHg0NywgMHgwMSwgMHhjYiwgMHgyZSwgMHgzNSwgMHgzMCwgMHg3YSwgMHgzNSwgMHgzMCwgCi0gICAgMHgyMiwgMHhkMiwgMHgwNCwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHgyMCwgMHhlMCwgMHgxMywgMHgyMiwgMHg3ZSwgMHgwNCwgMHgyNCwgMHgyZCwgMHg4MCwgCi0gICAgMHgyOCwgMHg3ZSwgMHgwNCwgMHgyNCwgMHgyZCwgMHg4MCwgMHgyYSwgMHg3ZSwgMHgwNCwgMHgyNCwgMHgyZCwgMHg4MCwgMHhjZiwgMHg3ZSwgMHgwNywgMHgwMSwgCi0gICAgMHhjYiwgMHg3ZSwgMHgyNCwgMHgwMywgMHhmZSwgMHg5ZCwgMHgyMCwgMHgyOCwgMHg0MCwgMHg3ZSwgMHgwNywgMHgwMSwgMHhjOSwgMHg3ZSwgMHg0NCwgMHgyOCwgCi0gICAgMHgyZCwgMHg3ZCwgMHg2MCwgMHgwYiwgMHgwNCwgMHhiZCwgMHgwNCwgMHg2OCwgMHhkMiwgMHg3ZCwgMHg3MCwgMHgwYiwgMHgwNCwgMHhiZCwgMHgwNCwgMHg2OCwgCi0gICAgMHhkMCwgMHg3ZCwgMHg1NCwgMHg5ZCwgMHg1MCwgMHhiZCwgMHgyNSwgMHg0MCwgMHgwMiwgMHg3ZCwgMHgyNSwgMHg3ZCwgMHgzMiwgMHgwOSwgMHhiMSwgMHgwMCwgCi0gICAgMHgxNCwgMHhjYSwgMHhiOCwgMHg1NCwgMHgxZiwgMHhiNCwgMHgwMSwgMHgzMSwgMHhkYSwgMHhiOCwgMHg3ZSwgMHgxOSwgMHhiMCwgMHg3YSwgMHgwOSwgMHhiMCwgCi0gICAgMHgwYiwgMHgwNCwgMHgxYiwgMHgyNCwgMHg3OCwgMHhlNywgMHgwMiwgMHg1ZSwgMHg1OSwgMHg3NSwgMHgyZiwgMHg5OSwgMHgxMiwgMHg3MywgMHgzNSwgMHgwOSwgCi0gICAgMHhiMSwgMHgwMCwgMHgwNCwgMHg1NCwgMHhmYSwgMHgxOSwgMHhiMSwgMHgwMCwgMHgwNCwgMHgzMCwgMHgzZiwgMHgwYSwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxMCwgCi0gICAgMHg1NCwgMHhmZSwgMHgxOSwgMHhiMSwgMHgwMCwgMHgxMCwgMHhkMiwgMHgxNywgMHgyMiwgMHhkYSwgMHhiOCwgMHgzMCwgMHhlMCwgMHhkOCwgMHhiZCwgMHgzMiwgCi0gICAgMHg2OCwgMHgwNywgMHhjYSwgMHhiOCwgMHgxMiwgMHg1ZSwgMHg1OSwgMHhkYSwgMHhiOCwgMHgwMiwgMHg1ZiwgMHg4MCwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxOCwgCi0gICAgMHg3ZSwgMHhhMCwgMHg4OCwgMHg3NSwgMHgyZiwgMHg5MCwgMHgxMiwgMHg3MywgMHgzNSwgMHhmNSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHhhNSwgMHhmZCwgCi0gICAgMHg1ZSwgMHg1MCwgMHgwYSwgMHg2OCwgMHgxZCwgMHhhNSwgMHhmZCwgMHg1ZSwgMHg1MCwgMHgyMCwgMHg2OCwgMHgwNCwgMHhkMiwgMHg1ZiwgMHg4MCwgMHgwMiwgCi0gICAgMHhjMiwgMHg1ZiwgMHhhNSwgMHhmZCwgMHg1ZSwgMHg1MCwgMHg4MCwgMHg2OCwgMHgwNCwgMHhkMiwgMHg1NywgMHg4MCwgMHgwMiwgMHhjMiwgMHg1NywgMHgxMiwgCi0gICAgMHg0MywgMHg1ZSwgMHgwMiwgMHg2MSwgMHgxMywgMHg3NSwgMHgyZiwgMHg5MSwgMHgxMiwgMHg3MywgMHgzNSwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHg3YSwgCi0gICAgMHhiMSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHgyMCwgMHhlMCwgMHgwOCwgMHhkMiwgMHgwNCwgMHg3ZSwgMHhhMCwgMHg4MCwgMHgwMiwgMHg2MSwgMHgxMywgCi0gICAgMHhkMiwgMHgwNCwgMHgzMCwgMHhlMSwgMHgwNiwgMHg3ZSwgMHhhMCwgMHg4MCwgMHgxMiwgMHg2MSwgMHgxMywgMHhjYSwgMHhiOCwgMHg1ZSwgMHhiMCwgMHgxYywgCi0gICAgMHhkYSwgMHhiOCwgMHg2OCwgMHgxMiwgMHg3ZSwgMHhhMCwgMHhjMCwgMHgwOSwgMHg2MSwgMHgwMCwgMHgwMCwgMHgxMiwgMHg2MSwgMHgzNiwgMHgwOSwgMHhiMSwgCi0gICAgMHgwMCwgMHgxNCwgMHgyMCwgMHhlMCwgMHhkYiwgMHgyMiwgMHgwMiwgMHg1ZSwgMHhhZCwgMHg3NSwgMHgyZiwgMHg5NSwgMHgxMiwgMHg3MywgMHgzNSwgMHgyMiwgCi0gICAgMHg3NSwgMHgyZiwgMHg5NiwgMHgxMiwgMHg3MywgMHgzNSwgMHgyMiwgMHg3YywgMHgwMiwgMHg3ZSwgMHgxNCwgMHg4MCwgMHgwMCwgMHg0YywgMHgyMCwgMHgwOSwgCi0gICAgMHhiMSwgMHgwMCwgMHgxOCwgMHhhNSwgMHhmZCwgMHg1ZSwgMHg1MCwgMHgyMCwgMHg2OCwgMHgwNCwgMHhkMiwgMHg1OCwgMHg4MCwgMHgwMiwgMHhjMiwgMHg1OCwgCi0gICAgMHhhNSwgMHhmZCwgMHg1ZSwgMHg1MCwgMHg4MCwgMHg2OCwgMHgwNCwgMHhkMiwgMHg1MCwgMHg4MCwgMHgwMiwgMHhjMiwgMHg1MCwgMHgwMiwgMHg2MCwgMHhmZiwgCi0gICAgMHg3YywgMHgwMiwgMHg3ZSwgMHgxNCwgMHg4MCwgMHgwMCwgMHg0YywgMHgyMCwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxOCwgMHhhNSwgMHhmZCwgMHg1ZSwgMHg1MCwgCi0gICAgMHgyMCwgMHg2OCwgMHgwNCwgMHhkMiwgMHg1OSwgMHg4MCwgMHgwMiwgMHhjMiwgMHg1OSwgMHhhNSwgMHhmZCwgMHg1ZSwgMHg1MCwgMHg4MCwgMHg2OCwgMHgwNCwgCi0gICAgMHhkMiwgMHg1MSwgMHg4MCwgMHgwMiwgMHhjMiwgMHg1MSwgMHgwMiwgMHg2MCwgMHhmZiwgMHg3YywgMHgwMiwgMHg3ZSwgMHgxNCwgMHg4MCwgMHgwMCwgMHg0YywgCi0gICAgMHgyMCwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxOCwgMHhhNSwgMHhmZCwgMHg1ZSwgMHg1MCwgMHgyMCwgMHg2OCwgMHgwNCwgMHhkMiwgMHg1YSwgMHg4MCwgMHgwMiwgCi0gICAgMHhjMiwgMHg1YSwgMHhhNSwgMHhmZCwgMHg1ZSwgMHg1MCwgMHg4MCwgMHg2OCwgMHgwNCwgMHhkMiwgMHg1MiwgMHg4MCwgMHgwMiwgMHhjMiwgMHg1MiwgMHgwMiwgCi0gICAgMHg2MCwgMHhmZiwgMHg3YywgMHgwMiwgMHg3ZSwgMHgxNCwgMHg4MCwgMHgwMCwgMHg0YywgMHgyMCwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxOCwgMHhhNSwgMHhmZCwgCi0gICAgMHg1ZSwgMHg1MCwgMHgyMCwgMHg2OCwgMHgwNCwgMHhkMiwgMHg1YiwgMHg4MCwgMHgwMiwgMHhjMiwgMHg1YiwgMHhhNSwgMHhmZCwgMHg1ZSwgMHg1MCwgMHg4MCwgCi0gICAgMHg2OCwgMHgwNCwgMHhkMiwgMHg1MywgMHg4MCwgMHgwMiwgMHhjMiwgMHg1MywgMHgwMiwgMHg2MCwgMHhmZiwgMHg3YywgMHgwMiwgMHg3ZSwgMHgxNCwgMHg4MCwgCi0gICAgMHgwMCwgMHg0YywgMHgyMCwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxOCwgMHhhNSwgMHhmZCwgMHg1ZSwgMHg1MCwgMHgyMCwgMHg2OCwgMHgwNCwgMHhkMiwgMHg1YywgCi0gICAgMHg4MCwgMHgwMiwgMHhjMiwgMHg1YywgMHhhNSwgMHhmZCwgMHg1ZSwgMHg1MCwgMHg4MCwgMHg2OCwgMHgwNCwgMHhkMiwgMHg1NCwgMHg4MCwgMHgwMiwgMHhjMiwgCi0gICAgMHg1NCwgMHgwMiwgMHg2MCwgMHhmZiwgMHg3YywgMHgwMiwgMHg3ZSwgMHgxNCwgMHg4MCwgMHgwMCwgMHg0YywgMHgyMCwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxOCwgCi0gICAgMHhhNSwgMHhmZCwgMHg1ZSwgMHg1MCwgMHgyMCwgMHg2OCwgMHgwNCwgMHhkMiwgMHg1ZCwgMHg4MCwgMHgwMiwgMHhjMiwgMHg1ZCwgMHhhNSwgMHhmZCwgMHg1ZSwgCi0gICAgMHg1MCwgMHg4MCwgMHg2OCwgMHgwNCwgMHhkMiwgMHg1NSwgMHg4MCwgMHgwMiwgMHhjMiwgMHg1NSwgMHgwMiwgMHg2MCwgMHhmZiwgMHg3YywgMHgwMiwgMHg3ZSwgCi0gICAgMHgxNCwgMHg4MCwgMHgwMCwgMHg0YywgMHgyMCwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxOCwgMHhhNSwgMHhmZCwgMHg1ZSwgMHg1MCwgMHgyMCwgMHg2OCwgMHgwNCwgCi0gICAgMHhkMiwgMHg1ZSwgMHg4MCwgMHgwMiwgMHhjMiwgMHg1ZSwgMHhhNSwgMHhmZCwgMHg1ZSwgMHg1MCwgMHg4MCwgMHg2OCwgMHgwNCwgMHhkMiwgMHg1NiwgMHg4MCwgCi0gICAgMHgwMiwgMHhjMiwgMHg1NiwgMHgwMiwgMHg2MCwgMHhmZiwgMHg3YywgMHgwMiwgMHg3ZSwgMHgxNCwgMHg4MCwgMHgwMCwgMHg0YywgMHgyMCwgMHgwOSwgMHhiMSwgCi0gICAgMHgwMCwgMHgxOCwgMHhhNSwgMHhmZCwgMHg1ZSwgMHg1MCwgMHgyMCwgMHg2OCwgMHgwNCwgMHhkMiwgMHg1ZiwgMHg4MCwgMHgwMiwgMHhjMiwgMHg1ZiwgMHhhNSwgCi0gICAgMHhmZCwgMHg1ZSwgMHg1MCwgMHg4MCwgMHg2OCwgMHgwNCwgMHhkMiwgMHg1NywgMHg4MCwgMHgwMiwgMHhjMiwgMHg1NywgMHgwMiwgMHg2MCwgMHhmZiwgMHg1NCwgCi0gICAgMHhmMCwgMHhjNCwgMHhhNSwgMHhmZiwgMHhjNCwgMHhhNSwgMHg0ZiwgMHg3NSwgMHgyZiwgMHg5MCwgMHgxMiwgMHg3MywgMHgzNSwgMHhmNSwgMHgyZiwgMHgxMiwgCi0gICAgMHg3MywgMHgzNSwgMHgyMiwgMHhjYSwgMHgxOSwgMHg1ZSwgMHgyMCwgMHgwNywgMHg0YywgMHhhMiwgMHg3ZSwgMHg3NCwgMHgyYywgMHgyZCwgMHhjYSwgMHg3OSwgCi0gICAgMHg3YSwgMHg3OSwgMHhhMCwgMHgwYiwgMHg3NCwgMHg3YSwgMHg3OSwgMHhiMCwgMHgwYiwgMHg3NCwgMHhkYSwgMHg3OSwgMHg3ZSwgMHgzMCwgMHgwMiwgMHg3ZSwgCi0gICAgMHg2NCwgMHgwMCwgMHgwMiwgMHgwMiwgMHg2MSwgMHg1ZSwgMHhjYSwgMHgxOSwgMHg1ZSwgMHgyMCwgMHgwNywgMHg0YywgMHhhMiwgMHg3ZSwgMHg3NCwgMHgyYywgCi0gICAgMHgyZCwgMHhjYSwgMHg3OSwgMHg3YSwgMHg3OSwgMHhhMCwgMHgwYiwgMHg3NCwgMHg3YSwgMHg3OSwgMHhiMCwgMHgwYiwgMHg3NCwgMHg3YSwgMHg3OSwgMHg2MCwgCi0gICAgMHgwYiwgMHg3NCwgMHhkYSwgMHg3OSwgMHg3ZSwgMHgzMCwgMHgwMywgMHg3ZSwgMHg2NCwgMHgwMCwgMHgwMywgMHgwMiwgMHg2MSwgMHg1ZSwgMHhkMiwgMHgwNCwgCi0gICAgMHg3ZSwgMHgyNywgMHgwMSwgMHhjYiwgMHgyZCwgMHgyNiwgMHhiZSwgMHgyNCwgMHgwNCwgMHgwMCwgMHgzOCwgMHgyZSwgMHg3ZSwgMHgwNywgMHgwMSwgMHhjOSwgCi0gICAgMHg3ZSwgMHg0NCwgMHgyOCwgMHgyZCwgMHg3ZSwgMHg3OSwgMHhhMCwgMHg3YSwgMHgwOSwgMHhhMCwgMHgwYiwgMHgwNCwgMHgwYiwgMHg3NCwgMHhiZCwgMHgwNCwgCi0gICAgMHg2OCwgMHgyMywgMHhhNSwgMHhkYiwgMHhlZiwgMHg3YSwgMHgyNywgMHgwMSwgMHhjYiwgMHg3ZSwgMHgyNSwgMHgzMCwgMHgyZCwgMHgyNiwgMHg3YSwgMHgyNSwgCi0gICAgMHgzMCwgMHg3YSwgMHgwNywgMHgwMSwgMHhjOSwgMHhkYSwgMHgxOSwgMHhjMiwgMHhkNywgMHgyMiwgMHg3NSwgMHgyZiwgMHg5YSwgMHgxMiwgMHg3MywgMHgzNSwgCi0gICAgMHhkYSwgMHgxOSwgMHhkMiwgMHhkNywgMHgyMiwgMHg3ZSwgMHgwNCwgMHgyNCwgMHgyZCwgMHg4MCwgMHhkNywgMHg0OCwgMHhmMSwgMHg0NiwgMHg2NSwgMHg0NywgCi0gICAgMHg1ZiwgMHg0OSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0OCwgMHg1NiwgMHg0NSwgMHgyYSwgMHg0OSwgMHg2ZSwgMHg0NSwgMHgyYSwgMHg0NSwgCi0gICAgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0OSwgMHg3NSwgMHg0NSwgMHgyYSwgMHg0NSwgCi0gICAgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgCi0gICAgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0YywgMHgxZSwgMHg0OSwgMHg5MiwgMHg0YSwgCi0gICAgMHg4YywgMHg0YywgMHg1NywgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0YiwgMHg4MywgMHg0NSwgMHgyYSwgMHg0YywgMHg5YiwgMHg0NSwgMHgyYSwgMHg0NSwgCi0gICAgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0YywgMHhhMiwgMHg0NSwgMHgyYSwgMHg0NSwgCi0gICAgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgCi0gICAgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0ZiwgMHg0YiwgMHg0YywgMHhiZiwgMHg0ZCwgCi0gICAgMHhiOSwgMHg0ZiwgMHg4NCwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0ZSwgMHhiMCwgMHg0NSwgMHgyYSwgMHg0ZiwgMHhjOCwgMHg0NSwgMHgyYSwgMHg0NSwgCi0gICAgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0ZiwgMHhjZiwgMHg0NSwgMHgyYSwgMHg0NSwgCi0gICAgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgCi0gICAgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg1MiwgMHg3OCwgMHg0ZiwgMHhlYywgMHg1MCwgCi0gICAgMHhlNiwgMHg1MiwgMHhiMSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg1MSwgMHhkZCwgMHg0NSwgMHgyYSwgMHg1MiwgMHhmNSwgMHg0NSwgMHgyYSwgMHg0NSwgCi0gICAgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg1MiwgMHhmYywgMHg0NSwgMHgyYSwgMHg0NSwgCi0gICAgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgCi0gICAgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg1NSwgMHhhNSwgMHg1MywgMHgxOSwgMHg1NCwgCi0gICAgMHgxMywgMHg1NSwgMHhkZSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg1NSwgMHgwYSwgMHg0NSwgMHgyYSwgMHg1NiwgMHgyMiwgMHg0NSwgMHgyYSwgMHg0NSwgCi0gICAgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg1NiwgMHgyOSwgMHg0NSwgMHgyYSwgMHg0NSwgCi0gICAgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgCi0gICAgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg1OCwgMHhkMiwgMHg1NiwgMHg0NiwgMHg1NywgCi0gICAgMHg0MCwgMHg1OSwgMHgwYiwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg1OCwgMHgzNywgMHg0NSwgMHgyYSwgMHg1OSwgMHg0ZiwgMHg0NSwgMHgyYSwgMHg0NSwgCi0gICAgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg1OSwgMHg1NiwgMHg0NSwgMHgyYSwgMHg0NSwgCi0gICAgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgCi0gICAgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg1YiwgMHhmZiwgMHg1OSwgMHg3MywgMHg1YSwgCi0gICAgMHg2ZCwgMHg1YywgMHgzOCwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg1YiwgMHg2NCwgMHg0NSwgMHgyYSwgMHg1YywgMHg3YywgMHg0NSwgMHgyYSwgMHg0NSwgCi0gICAgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg1YywgMHg4MywgMHg0NSwgMHgyYSwgMHg0NSwgCi0gICAgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgCi0gICAgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg1ZiwgMHgyYywgMHg1YywgMHhhMCwgMHg1ZCwgCi0gICAgMHg5YSwgMHg1ZiwgMHg2NSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg1ZSwgMHg5MSwgMHg0NSwgMHgyYSwgMHg1ZiwgMHhhOSwgMHg0NSwgMHgyYSwgMHg0NSwgCi0gICAgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg1ZiwgMHhiMCwgMHg0NSwgMHgyYSwgMHg0NSwgCi0gICAgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgCi0gICAgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHhjYSwgMHhiOCwgMHg3NSwgMHgyZiwgMHgwMiwgCi0gICAgMHgxMiwgMHg3MywgMHgzNSwgMHg3ZSwgMHhiMywgMHg5MSwgMHgwMywgMHgyMCwgMHhlNSwgMHgyMCwgMHgzMCwgMHhlMCwgMHgwNSwgMHgxMiwgMHg2YiwgMHgwNSwgCi0gICAgMHg4MCwgMHgzMCwgMHgzMCwgMHhlMSwgMHgwNSwgMHgxMiwgMHg2NCwgMHg4NiwgMHg4MCwgMHgyOCwgMHgzMCwgMHhlMiwgMHgwNSwgMHgxMiwgMHg2MywgMHhmNSwgCi0gICAgMHg4MCwgMHgyMCwgMHgzMCwgMHhlMywgMHgxZCwgMHgxMiwgMHg2NSwgMHg2MSwgMHg4MCwgMHgxOCwgMHg3ZSwgMHhiMywgMHg5MSwgMHgwNCwgMHgzMCwgMHhlMSwgCi0gICAgMHgwMywgMHgwMiwgMHg2NywgMHg1ZiwgMHgzMCwgMHhlNiwgMHgwNSwgMHgxMiwgMHg2YywgMHg2YSwgMHg4MCwgMHgwNiwgMHgyMCwgMHhlMiwgMHgwMywgMHgwMiwgCi0gICAgMHgwMCwgMHg4MCwgMHhkYSwgMHhiOCwgMHgzMiwgMHg3NSwgMHgyZiwgMHgxMCwgMHgxMiwgMHg3MywgMHgzNSwgMHhjYSwgMHgwYiwgMHhjYSwgMHgzOSwgMHhjYSwgCi0gICAgMHg1OSwgMHg3NCwgMHg0MCwgMHg3YSwgMHhiMywgMHg5MSwgMHgwMCwgMHg3ZSwgMHhiMywgMHg5MSwgMHgxYSwgMHg2YywgMHhhYSwgMHhiZSwgMHhiMCwgMHg0MCwgCi0gICAgMHgyOCwgMHgwYSwgMHgxMiwgMHg2NCwgMHgyNCwgMHhkYSwgMHg1OSwgMHhkYSwgMHgzOSwgMHhkYSwgMHgwYiwgMHgyMiwgMHg3NCwgMHgyMCwgMHg3YSwgMHhiMywgCi0gICAgMHg5MSwgMHgxNCwgMHg4MCwgMHhmMSwgMHg3ZSwgMHgzNywgMHgwMSwgMHhjNSwgMHgyZCwgMHgzNSwgMHhiZSwgMHgzNCwgMHgwNCwgMHgwMCwgMHgzOCwgMHgyZiwgCi0gICAgMHg3YSwgMHgzNywgMHgwMSwgMHhjNSwgMHg3ZSwgMHgzNywgMHgwMSwgMHhjMywgMHg3ZCwgMHg0MywgMHgyZCwgMHg0NSwgMHhiZSwgMHg0NCwgMHgyYywgMHgyYywgCi0gICAgMHgzOCwgMHgyNSwgMHg3YSwgMHg0NywgMHgwMSwgMHhjMywgMHg3NSwgMHgyZiwgMHgxMSwgMHgxMiwgMHg3MywgMHgzNSwgMHg3YSwgMHhiMSwgMHgyZiwgMHgxMiwgCi0gICAgMHg3MywgMHgzNSwgMHgxMiwgMHg2NywgMHg5ZiwgMHg3NCwgMHgyMCwgMHg3YSwgMHhiMywgMHg5MSwgMHgxNCwgMHgxMiwgMHg2NiwgMHgzMCwgMHgyMiwgMHg3NSwgCi0gICAgMHgyZiwgMHgxNiwgMHgxMiwgMHg3MywgMHgzNSwgMHg4MCwgMHhmNCwgMHg3NSwgMHgyZiwgMHgxMiwgMHgxMiwgMHg3MywgMHgzNSwgMHg3YSwgMHhiMSwgMHgyZiwgCi0gICAgMHgxMiwgMHg3MywgMHgzNSwgMHg5ZSwgMHg0NCwgMHgyYywgMHgyZCwgMHg5ZCwgMHg1NCwgMHgxMiwgMHg2NywgMHg5ZiwgMHg3ZSwgMHgzNCwgMHgyOCwgMHgyZCwgCi0gICAgMHg3ZCwgMHg1NCwgMHgyZCwgMHg0MywgMHg4MCwgMHhiYywgMHg3NSwgMHgyZiwgMHgxOCwgMHgxMiwgMHg3MywgMHgzNSwgMHhjYSwgMHgwOSwgMHhjYSwgMHgzOSwgCi0gICAgMHhjYSwgMHgyYiwgMHg3NCwgMHgyMCwgMHg3YSwgMHhiMywgMHg5MSwgMHgwMCwgMHg3ZSwgMHg2MywgMHg5MSwgMHgxYSwgMHg3NCwgMHgxMCwgMHg3YSwgMHhiMywgCi0gICAgMHg5MSwgMHgxNCwgMHg3ZSwgMHhiMCwgMHg4MCwgMHg5YywgMHhiNiwgMHg2MCwgMHgzOCwgMHg2YywgMHhhYSwgMHg3ZSwgMHgzNywgMHgwMSwgMHhjYiwgMHg5ZCwgCi0gICAgMHgzNSwgMHg0MCwgMHgzNywgMHg3YSwgMHgzNywgMHgwMSwgMHhjYiwgMHg3ZSwgMHgzNywgMHgwMSwgMHhjNywgMHg3ZCwgMHg0MywgMHgyZCwgMHg0NSwgMHhiZSwgCi0gICAgMHg0NCwgMHgyOCwgMHgyYywgMHgzOCwgMHgzYiwgMHg3YSwgMHg0NywgMHgwMSwgMHhjNywgMHg3ZCwgMHg0NSwgMHgxMiwgMHg2OCwgMHhkNCwgMHg3ZSwgMHhiMywgCi0gICAgMHg5MSwgMHgxZSwgMHgyMCwgMHhlNSwgMHgxMywgMHg3NSwgMHgyZiwgMHgxOSwgMHgxMiwgMHg3MywgMHgzNSwgMHg3YSwgMHg5MSwgMHgyZiwgMHgxMiwgMHg3MywgCi0gICAgMHgzNSwgMHhkYSwgMHgyYiwgMHhkYSwgMHgzOSwgMHhkYSwgMHgwOSwgMHgyMiwgMHg4MCwgMHgzNCwgMHgyZCwgMHg1MywgMHg2ZCwgMHgzMywgMHg2MCwgMHgwMiwgCi0gICAgMHg4MCwgMHhjMSwgMHg3ZSwgMHgwNCwgMHgyNCwgMHgyZCwgMHg3YSwgMHgwNywgMHgwMSwgMHhjOSwgMHg3YSwgMHgwNywgMHgwMSwgMHhjNywgMHg4MCwgMHhlMSwgCi0gICAgMHhjYSwgMHg1OSwgMHg5ZSwgMHg0NCwgMHgyOCwgMHgyZCwgMHg5ZCwgMHg1NCwgMHgxMiwgMHg2OCwgMHhkNCwgMHg3ZSwgMHgzNCwgMHgyNCwgMHgyZCwgMHg3ZCwgCi0gICAgMHg1NCwgMHgyZCwgMHg0MywgMHg3YSwgMHg0NywgMHgwMSwgMHhjNywgMHgxMiwgMHg2OCwgMHhkNCwgMHhkYSwgMHg0OSwgMHg4MCwgMHhiMCwgMHg3ZSwgMHgwZiwgCi0gICAgMHgyYywgMHgzZSwgMHgwYiwgMHgwYywgMHg3YSwgMHgwZiwgMHgyYywgMHgzZSwgMHg3NCwgMHgyMCwgMHg3YSwgMHhiMywgMHg5MSwgMHgxZSwgMHg3NCwgMHg2MCwgCi0gICAgMHg3YSwgMHhiMywgMHg5MSwgMHgxYywgMHg3NCwgMHgwMiwgMHg3YSwgMHhiMywgMHg5MSwgMHgxMiwgMHg4MCwgMHhhNSwgMHg3ZSwgMHgyZiwgMHgyYywgMHg1ZSwgCi0gICAgMHgwYiwgMHgyYywgMHg3YSwgMHgyZiwgMHgyYywgMHg1ZSwgMHg3NCwgMHgyMCwgMHg3YSwgMHhiMywgMHg5MSwgMHgxZSwgMHg3NCwgMHg2MCwgMHg3YSwgMHhiMywgCi0gICAgMHg5MSwgMHgxYywgMHg3NCwgMHgwMiwgMHg3YSwgMHhiMywgMHg5MSwgMHgxMiwgMHg4MCwgMHgxZiwgMHhkYSwgMHgyYiwgMHhkYSwgMHgxYiwgMHhkYSwgMHgwYiwgCi0gICAgMHgyMiwgMHg3NSwgMHgyZiwgMHgyOCwgMHgxMiwgMHg3MywgMHgzNSwgMHhjYSwgMHgwYiwgMHhjYSwgMHgxYiwgMHhjYSwgMHgyYiwgMHg3NCwgMHg2MCwgMHg3YSwgCi0gICAgMHhiMywgMHg5MSwgMHgwMCwgMHg3NCwgMHgxMCwgMHg3YSwgMHhiMywgMHg5MSwgMHgxNCwgMHg3ZSwgMHhiMywgMHg5MSwgMHgxYSwgMHg3MCwgMHhkYiwgMHg3ZSwgCi0gICAgMHgwZCwgMHgzMCwgMHg3ZSwgMHgxZCwgMHgzNCwgMHg3ZSwgMHgyZCwgMHgzOCwgMHg3ZSwgMHgzZCwgMHgzYywgMHg3ZSwgMHg4NSwgMHg0MCwgMHg3ZCwgMHg5MCwgCi0gICAgMHg0ZCwgMHg5MSwgMHg0ZCwgMHg5MiwgMHg0ZCwgMHg5MywgMHg0ZCwgMHg5NCwgMHg0ZCwgMHg5NSwgMHg0ZCwgMHg5NiwgMHg0ZCwgMHg5NywgMHg0ZCwgMHg5OCwgCi0gICAgMHg2OCwgMHhiOCwgMHg3YSwgMHgxMywgMHg5MSwgMHgxNywgMHg3YSwgMHgwMywgMHg5MSwgMHgxNywgMHg3YSwgMHgzMywgMHg5MSwgMHgxNywgMHg3YSwgMHgyMywgCi0gICAgMHg5MSwgMHgxNywgMHg3YSwgMHg1MywgMHg5MSwgMHgxNywgMHg3YSwgMHg0MywgMHg5MSwgMHgxNywgMHg3YSwgMHg3MywgMHg5MSwgMHgxNywgMHg3YSwgMHg2MywgCi0gICAgMHg5MSwgMHgxNywgMHg3YSwgMHg5MywgMHg5MSwgMHgxNywgMHg3YSwgMHg4MywgMHg5MSwgMHgxNywgMHgzMCwgMHg3MywgMHgyMiwgMHg3YSwgMHhiMywgMHg5MSwgCi0gICAgMHgxNywgMHg3YSwgMHhhMywgMHg5MSwgMHgxNywgMHg3YSwgMHhkMywgMHg5MSwgMHgxNywgMHg3YSwgMHhjMywgMHg5MSwgMHgxNywgMHg3YSwgMHhmMywgMHg5MSwgCi0gICAgMHgxNywgMHg3YSwgMHhlMywgMHg5MSwgMHgxNywgMHg3ZCwgMHg3OCwgMHg3YSwgMHhmMywgMHg5MSwgMHgxNywgMHg3YSwgMHhlMywgMHg5MSwgMHgxNywgMHg3ZSwgCi0gICAgMHhiMywgMHg5MSwgMHgxZSwgMHgzMCwgMHhlNSwgMHgwMywgMHgwMiwgMHg2NSwgMHgzYywgMHg3NSwgMHgyZiwgMHgyOSwgMHgxMiwgMHg3MywgMHgzNSwgMHgyMCwgCi0gICAgMHg3MywgMHgwOCwgMHg3NSwgMHgyZiwgMHgwYSwgMHgxMiwgMHg3MywgMHgzNSwgMHg4MCwgMHgwNiwgMHg3NSwgMHgyZiwgMHgxMiwgMHgxMiwgMHg3MywgMHgzNSwgCi0gICAgMHg3NCwgMHg4MCwgMHg3YSwgMHhiMywgMHg5MSwgMHgxZSwgMHg2ZCwgMHgwMCwgMHg3ZCwgMHgxMCwgMHg3YSwgMHgwZCwgMHgzMCwgMHg3YSwgMHgwZCwgMHgzNCwgCi0gICAgMHg3YSwgMHgwZCwgMHgzOCwgMHg3YSwgMHgwZCwgMHgzYywgMHg3YSwgMHgwNSwgMHg0MCwgMHhkYSwgMHgyYiwgMHhkYSwgMHgxYiwgMHhkYSwgMHgwYiwgMHgyMiwgCi0gICAgMHg3ZSwgMHgzNywgMHgwMSwgMHhjNSwgMHg0ZCwgMHgzMywgMHg2OCwgMHgzYiwgMHg3ZSwgMHgwNywgMHgwMSwgMHhjMSwgMHg3ZSwgMHg1NCwgMHgyYywgMHgyZCwgCi0gICAgMHg5ZCwgMHg1MCwgMHhiZCwgMHgzNSwgMHg0MCwgMHgwMiwgMHg3ZCwgMHgzNSwgMHhjYSwgMHgzOSwgMHg3ZSwgMHg2NSwgMHg0YiwgMHg5OSwgMHg2NCwgMHhkYSwgCi0gICAgMHgzOSwgMHg3ZSwgMHgwNywgMHgwMSwgMHhjNSwgMHg5ZCwgMHgwMywgMHg3YSwgMHgwNywgMHgwMSwgMHhjNSwgMHgyZSwgMHgzNywgMHgwMSwgMHhjMSwgMHg3YSwgCi0gICAgMHgzNywgMHgwMSwgMHhjMSwgMHhiZSwgMHgzNCwgMHgyYywgMHgyYywgMHgyOCwgMHhjNywgMHg3ZSwgMHgzNCwgMHgyOCwgMHgyZCwgMHg3YSwgMHgzNywgMHgwMSwgCi0gICAgMHhjMSwgMHg4MCwgMHhiZCwgMHgyMiwgMHg3NSwgMHgyZiwgMHg1MywgMHgxMiwgMHg3MywgMHgzNSwgMHg3ZSwgMHgxNSwgMHg0ZCwgMHg4MCwgMHgxMSwgMHg3NSwgCi0gICAgMHgyZiwgMHg1MSwgMHgxMiwgMHg3MywgMHgzNSwgMHgwYiwgMHgwOCwgMHgxMCwgMHgwYiwgMHgwNSwgMHg5ZSwgMHgzNCwgMHgwMCwgMHgwMiwgMHgyOCwgMHg0ZCwgCi0gICAgMHg3YywgMHhiMiwgMHgyMCwgMHhlNywgMHgyNywgMHg1NCwgMHgwNywgMHgyMywgMHgwYSwgMHgyYiwgMHg0OSwgMHgyMiwgMHgzOSwgMHgxZSwgMHg3YywgMHhiMiwgCi0gICAgMHg1NCwgMHg3OCwgMHgwMywgMHgwMywgMHgwMywgMHg3YywgMHgyYiwgMHg5ZCwgMHgxMywgMHg0MCwgMHgxYSwgMHg2OCwgMHgxMiwgMHg3YSwgMHgxNSwgMHg0ZCwgCi0gICAgMHg3YSwgMHgyNSwgMHg0ZiwgMHg3ZSwgMHg2NCwgMHg2NywgMHgwOSwgMHg3YSwgMHg2NSwgMHg0YiwgMHg4OSwgMHgyNCwgMHgwMiwgMHg2NywgMHgxNywgMHg3ZSwgCi0gICAgMHg2NCwgMHg2NiwgMHg3ZiwgMHg4MCwgMHhmMiwgMHgyZCwgMHgxMywgMHg5ZCwgMHgzMSwgMHhjYSwgMHgzOSwgMHg3ZCwgMHgzMSwgMHgyZCwgMHgxMCwgMHhjYSwgCi0gICAgMHgxOSwgMHhjYSwgMHgyOSwgMHg5OSwgMHgyNCwgMHhkYSwgMHgyOSwgMHhkYSwgMHgwOSwgMHhkYSwgMHgzOSwgMHg4MCwgMHhhMiwgMHg3YSwgMHgxNSwgMHg0ZCwgCi0gICAgMHg3ZSwgMHg2NCwgMHg2NiwgMHhmNSwgMHg0ZCwgMHgzMywgMHg3OCwgMHgwOSwgMHg3YywgMHhiMiwgMHgyMCwgMHhlNywgMHgyYSwgMHg3ZSwgMHg2NCwgMHg2NiwgCi0gICAgMHg3NCwgMHg3YSwgMHg2NSwgMHg0YiwgMHgyMiwgMHg3NSwgMHgyZiwgMHg1MiwgMHgxMiwgMHg3MywgMHgzNSwgMHg3ZSwgMHgyMSwgMHg0ZCwgMHg3ZSwgMHgwOSwgCi0gICAgMHgzMCwgMHgwYiwgMHgwNCwgMHgxYiwgMHgzNCwgMHg3OCwgMHg4OSwgMHg4MCwgMHhkNCwgMHg3NSwgMHgyZiwgMHg1NCwgMHgxMiwgMHg3MywgMHgzNSwgMHg3ZSwgCi0gICAgMHgxNSwgMHg0ZCwgMHg3ZSwgMHgyNSwgMHg0ZiwgMHg4MCwgMHg5MCwgMHg1ZSwgMHgyMCwgMHgwNywgMHg1NCwgMHg3OCwgMHg3ZSwgMHg0NCwgMHg2NywgMHg3ZCwgCi0gICAgMHgzMCwgMHhlNiwgMHgxNiwgMHg0ZCwgMHgzMywgMHg2OCwgMHgyNiwgMHgxYiwgMHgzNCwgMHg3ZSwgMHgwOSwgMHg0MCwgMHgwYiwgMHgwNCwgMHg3ZSwgMHg0NCwgCi0gICAgMHgzNCwgMHhmYSwgMHgyMCwgMHhlMywgMHgwNCwgMHg3ZSwgMHg0NCwgMHg2NywgMHg4NSwgMHhjYSwgMHgwOSwgMHhjYSwgMHgzOSwgMHg5OSwgMHg0NCwgMHhkYSwgCi0gICAgMHgzOSwgMHhkYSwgMHgwOSwgMHg3ZSwgMHg2NCwgMHg2NiwgMHg3ZiwgMHg0ZCwgMHgzMywgMHg2OCwgMHhhNiwgMHg4OSwgMHg2NCwgMHg3YSwgMHgxNSwgMHg0ZCwgCi0gICAgMHhmNSwgMHg0ZiwgMHg3ZSwgMHg2NCwgMHg2NywgMHg1OCwgMHg4MCwgMHg5OSwgMHg3ZSwgMHgxNSwgMHg0ZCwgMHhlNSwgMHg0ZiwgMHg4MCwgMHhjNCwgMHhjMCwgCi0gICAgMHhkMCwgMHhjMCwgMHhkMSwgMHhjMCwgMHhlMCwgMHhjYSwgMHgxOSwgMHg3NSwgMHgyZiwgMHhmZSwgMHgxMiwgMHg3MywgMHgzNSwgMHg3ZSwgMHgxNCwgMHgwMCwgCi0gICAgMHg1MywgMHgwMiwgMHg0MCwgMHg1MiwgMHhkYSwgMHgxOSwgMHhkMCwgMHhlMCwgMHhkMCwgMHhkMSwgMHhkMCwgMHhkMCwgMHgzMiwgMHgwMywgMHhhNSwgMHhjYiwgCi0gICAgMHgxOSwgMHhiMSwgMHg4MCwgMHgwMCwgMHgyMiwgMHgyMiwgMHg3ZSwgMHgyNCwgMHgwMCwgMHgwMCwgMHg3ZiwgMHhlMSwgMHg3ZSwgMHhhMCwgMHgwMiwgMHhhNCwgCi0gICAgMHg3ZSwgMHgwNCwgMHg2OCwgMHhiMSwgMHg5ZCwgMHgwNSwgMHg3ZSwgMHhiMCwgMHgyOCwgMHg3YSwgMHhiMywgMHg5NSwgMHgwMCwgMHg4OSwgMHgwNCwgMHhjYSwgCi0gICAgMHgyOSwgMHhiNCwgMHg4MCwgMHhlMiwgMHg3ZSwgMHgyNCwgMHgwMCwgMHgwMCwgMHg3ZiwgMHhlMSwgMHg3ZSwgMHgwMCwgMHgyOCwgMHg3YSwgMHgwMywgMHg5NSwgCi0gICAgMHgwMCwgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgCi0gICAgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgCi0gICAgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgCi0gICAgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgCi0gICAgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgCi0gICAgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgCi0gICAgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgCi0gICAgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgCi0gICAgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgCi0gICAgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgCi0gICAgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgCi0gICAgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgCi0gICAgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgCi0gICAgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgCi0gICAgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgCi0gICAgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgCi0gICAgMHhhMywgMHg3ZSwgMHgwMCwgMHgwMCwgMHg3YSwgMHgwMywgMHg5NSwgMHgwMCwgMHhkYSwgMHgyOSwgMHgyMiwgMHg3ZSwgMHgyNCwgMHgwMCwgMHgwMCwgMHg3ZiwgCi0gICAgMHhlMSwgMHg3ZSwgMHhhMCwgMHgwMiwgMHhhNCwgMHg3ZSwgMHgwNCwgMHg2OSwgMHhlNiwgMHg5ZCwgMHgwNSwgMHg3ZSwgMHhiMCwgMHgzOCwgMHg3YSwgMHhiMywgCi0gICAgMHg5NSwgMHgwMCwgMHg4OSwgMHgwNCwgMHhjYSwgMHgyOSwgMHhiNCwgMHg4MCwgMHhlMiwgMHg3ZSwgMHgyNCwgMHgwMCwgMHgwMCwgMHg3ZiwgMHhlMSwgMHg3ZSwgCi0gICAgMHgwMCwgMHgzOCwgMHg3YSwgMHgwMywgMHg5NSwgMHgwMCwgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgCi0gICAgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgCi0gICAgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgCi0gICAgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgCi0gICAgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgCi0gICAgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgCi0gICAgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgCi0gICAgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgCi0gICAgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgCi0gICAgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgCi0gICAgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgCi0gICAgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgCi0gICAgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgCi0gICAgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgCi0gICAgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgCi0gICAgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgCi0gICAgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHg3ZSwgMHgwMCwgMHgwMCwgMHg3YSwgMHgwMywgMHg5NSwgMHgwMCwgMHhkYSwgMHgyOSwgMHgyMiwgCi0gICAgMHhjYSwgMHgyOSwgMHhjYSwgMHgxOSwgMHhjYSwgMHg1OCwgMHg3ZSwgMHgyNCwgMHgwMCwgMHgwMCwgMHg3ZiwgMHhlMSwgMHhkYSwgMHg1OCwgMHg3ZSwgMHg1NCwgCi0gICAgMHgwMiwgMHgyMCwgMHg5YywgMHhiNSwgMHhhNCwgMHg3ZSwgMHg1MCwgMHgzMCwgMHg1ZSwgMHgyMCwgMHgwNywgMHgyYywgMHg1MiwgMHg3YSwgMHg1MywgMHg5NSwgCi0gICAgMHgwMCwgMHgyZSwgMHg1NCwgMHg2YSwgMHgxNywgMHg4OSwgMHg1NCwgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgCi0gICAgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgCi0gICAgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgCi0gICAgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgCi0gICAgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHg3ZSwgMHgwMCwgMHgwMCwgMHg3YSwgMHgwMywgMHg5NSwgMHgwMCwgMHhkYSwgMHgxOSwgCi0gICAgMHhkYSwgMHgyOSwgMHgyMiwgMHhjYSwgMHgxOSwgMHhjYSwgMHg1OCwgMHg3ZSwgMHgyNCwgMHgwMCwgMHgwMCwgMHg3ZiwgMHhlMSwgMHhkYSwgMHg1OCwgMHg3ZSwgCi0gICAgMHg1NCwgMHgwMiwgMHgzOCwgMHg5YywgMHhiNSwgMHhhNCwgMHg3ZSwgMHg1MCwgMHgyMCwgMHg1ZSwgMHgyMCwgMHgwNywgMHgyYywgMHg1MiwgMHg3YSwgMHg1MywgCi0gICAgMHg5NSwgMHgwMCwgMHgyZSwgMHg1NCwgMHg2YSwgMHg4OCwgMHg4OSwgMHg1NCwgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgCi0gICAgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgCi0gICAgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgCi0gICAgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgCi0gICAgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgCi0gICAgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgCi0gICAgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgCi0gICAgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHg3ZSwgMHgwMCwgMHgwMCwgMHg3YSwgMHgwMywgMHg5NSwgMHgwMCwgMHhkYSwgCi0gICAgMHgxOSwgMHgyMiwgMHgwMiwgMHg2YiwgMHhhOCwgMHhjYSwgMHgwYiwgMHhjYSwgMHgxYiwgMHhjYSwgMHgyYiwgMHhjYSwgMHgzYiwgMHhjYSwgMHg0YiwgMHhjYSwgCi0gICAgMHg1YiwgMHhjYSwgMHg2YiwgMHhjYSwgMHg3YiwgMHhjYSwgMHhlYiwgMHg3NCwgMHgwMCwgMHg3YSwgMHhiMywgMHg5MSwgMHgwMCwgMHg3ZSwgMHhiMywgMHgyYywgCi0gICAgMHg3ZiwgMHhiNCwgMHgwMCwgMHgwMiwgMHg4MCwgMHgxYywgMHhiNCwgMHgwMSwgMHgxOSwgMHg3ZSwgMHhiMywgMHg5MSwgMHgxNCwgMHg1NCwgMHgxNCwgMHg2OCwgCi0gICAgMHgwNSwgMHgxMiwgMHg2YiwgMHg2YywgMHg4MCwgMHgyMywgMHg3ZSwgMHhiMywgMHg5MSwgMHgxNCwgMHgzMCwgMHhlNSwgMHgxYywgMHgxMiwgMHg2YywgMHhhYSwgCi0gICAgMHg4MCwgMHgxNywgMHg3ZSwgMHhiMywgMHg5MSwgMHgxNCwgMHgzMCwgMHhlNSwgMHgwNSwgMHgxMiwgMHg2YywgMHhhYSwgMHg4MCwgMHgwYiwgMHg3ZSwgMHhiMywgCi0gICAgMHg5MSwgMHgxNCwgMHg1NCwgMHgxNCwgMHg2OCwgMHgwMywgMHgxMiwgMHg2YiwgMHg2YywgMHhkYSwgMHhlYiwgMHhkYSwgMHg3YiwgMHhkYSwgMHg2YiwgMHhkYSwgCi0gICAgMHg1YiwgMHhkYSwgMHg0YiwgMHhkYSwgMHgzYiwgMHhkYSwgMHgyYiwgMHhkYSwgMHgxYiwgMHhkYSwgMHgwYiwgMHgyMiwgMHgyMCwgMHhlNCwgMHgxOSwgMHg3NSwgCi0gICAgMHgyZiwgMHgwYSwgMHgxMiwgMHg3MywgMHgzNSwgMHg3ZSwgMHhiMywgMHgyYywgMHg3ZSwgMHg3MCwgMHgwYSwgMHg3ZSwgMHhiMywgMHgyYywgMHg3ZiwgMHhiNCwgCi0gICAgMHgwMSwgMHgxZiwgMHgwMiwgMHg2YywgMHgwNCwgMHgwMiwgMHg3MSwgMHhmMiwgMHg3NSwgMHgyZiwgMHgwYiwgMHgxMiwgMHg3MywgMHgzNSwgMHg3NCwgMHgxNCwgCi0gICAgMHg3YSwgMHhiMywgMHg5MSwgMHgxNCwgMHg3ZSwgMHhiMywgMHgyYywgMHg3ZiwgMHhiNCwgMHgwMiwgMHgwYywgMHgxMiwgMHg2YiwgMHhiNCwgMHgwMiwgMHg2YiwgCi0gICAgMHhhOCwgMHg3NCwgMHgwNCwgMHg3YSwgMHhiMywgMHg5MSwgMHgxNCwgMHgyMiwgMHg3ZSwgMHgwMCwgMHgwMCwgMHg3YSwgMHgwMywgMHgyYywgMHg3ZiwgMHg3YSwgCi0gICAgMHgwMywgMHgyYywgMHg4MCwgMHgyMiwgMHg3ZSwgMHhiMywgMHgyYywgMHg3NiwgMHg1NCwgMHg2MCwgMHg2MCwgMHgwNSwgMHhiNCwgMHg0MCwgMHgxZSwgMHg4MCwgCi0gICAgMHgxYywgMHg3ZSwgMHhiMywgMHgyYywgMHg3NywgMHhiNCwgMHgwNSwgMHgxNSwgMHg3NSwgMHgyZiwgMHg3MSwgMHgxMiwgMHg3MywgMHgzNSwgMHg3ZSwgMHhiMywgCi0gICAgMHgyYywgMHg3OSwgMHg3ZSwgMHhhMCwgMHgwMSwgMHg3YSwgMHhhMywgMHg5MSwgMHgwNiwgMHg3YSwgMHhiMywgMHg5MSwgMHgwNywgMHgyMiwgMHg3NCwgMHgwMCwgCi0gICAgMHg3YSwgMHhiMywgMHg5MSwgMHgwMCwgMHg3NCwgMHgxMCwgMHg3YSwgMHhiMywgMHg5MSwgMHgxMiwgMHgyMiwgMHhiZSwgMHg1NywgMHgyYywgMHg3YywgMHgyOCwgCi0gICAgMHgwNCwgMHg3ZSwgMHg1NywgMHgyYywgMHg3YywgMHg3YSwgMHgwZiwgMHgyYywgMHg4MiwgMHg3YSwgMHg1NywgMHgyYywgMHg4NiwgMHg3NCwgMHgxMCwgMHg3YSwgCi0gICAgMHhiMywgMHg5MSwgMHgxMiwgMHgyMiwgMHg3NCwgMHgwMCwgMHg3YSwgMHhiMywgMHg5MSwgMHgwMCwgMHg3ZSwgMHhiMywgMHg5MSwgMHgxYSwgMHg3MCwgMHg1MywgCi0gICAgMHg3ZSwgMHhiMywgMHg5MSwgMHgxNCwgMHgyMCwgMHhlNCwgMHg0YywgMHg3ZSwgMHhlZiwgMHgyYywgMHg4MiwgMHg3ZSwgMHhmNywgMHgyYywgMHg4NiwgMHg3ZSwgCi0gICAgMHgwNywgMHgyYywgMHg4NiwgMHg0ZCwgMHgwMCwgMHg2OCwgMHgyMSwgMHg3ZSwgMHgwMCwgMHgwMCwgMHhlMCwgMHg3YSwgMHhiMywgMHg5MSwgMHgxNywgMHhhMywgCi0gICAgMHhhNSwgMHgwOCwgMHgxYiwgMHhmNCwgMHg2OCwgMHgwNiwgMHhhNSwgMHhiOCwgMHgxMCwgMHhmMCwgMHg4MCwgMHgxOSwgMHg3ZSwgMHhiMCwgMHgwMCwgMHg3YSwgCi0gICAgMHhiMywgMHgyYywgMHg3ZiwgMHhiZSwgMHgwMCwgMHgxMCwgMHg2OCwgMHgwZCwgMHg3ZSwgMHhiMCwgMHgwMCwgMHg3YSwgMHhiMywgMHgyYywgMHg3ZiwgMHg3NCwgCi0gICAgMHg4MCwgMHg3YSwgMHhiMywgMHg5MSwgMHgxZSwgMHg3YSwgMHhlZiwgMHgyYywgMHg4MiwgMHg3YSwgMHhmNywgMHgyYywgMHg4NiwgMHg3NSwgMHgyZiwgMHgwNiwgCi0gICAgMHgxMiwgMHg3MywgMHgzNSwgMHg3NCwgMHgwNCwgMHg3YSwgMHhiMywgMHg5MSwgMHgxNCwgMHgyMiwgMHhjYSwgMHgwYiwgMHhjYSwgMHgxYiwgMHhjYSwgMHgyYiwgCi0gICAgMHhjYSwgMHgzYiwgMHhjYSwgMHg0YiwgMHhjYSwgMHg1YiwgMHhjYSwgMHg2YiwgMHhjYSwgMHg3YiwgMHhjYSwgMHhlYiwgMHg3NSwgMHgyZiwgMHgwMywgMHgxMiwgCi0gICAgMHg3MywgMHgzNSwgMHg3NCwgMHgwMCwgMHg3YSwgMHhiMywgMHgyYywgMHg3ZSwgMHg3NCwgMHgwMCwgMHg3YSwgMHhiMywgMHg5MSwgMHgwMCwgMHg3NCwgMHgwMSwgCi0gICAgMHg3YSwgMHhiMywgMHg5MSwgMHgxMiwgMHgxMiwgMHg2ZCwgMHgxOSwgMHhkYSwgMHhlYiwgMHhkYSwgMHg3YiwgMHhkYSwgMHg2YiwgMHhkYSwgMHg1YiwgMHhkYSwgCi0gICAgMHg0YiwgMHhkYSwgMHgzYiwgMHhkYSwgMHgyYiwgMHhkYSwgMHgxYiwgMHhkYSwgMHgwYiwgMHgyMiwgMHg3NSwgMHgyZiwgMHgwMywgMHgxMiwgMHg3MywgMHgzNSwgCi0gICAgMHg3ZSwgMHhiMywgMHgyYywgMHg4MCwgMHhiNCwgMHgwMiwgMHgxMSwgMHg3NCwgMHgwMCwgMHg3YSwgMHhiMywgMHgyYywgMHg4MCwgMHg3YSwgMHhiMywgMHgyYywgCi0gICAgMHg3ZiwgMHg3NCwgMHgyMCwgMHg3YSwgMHhiMywgMHg5MSwgMHgxNCwgMHgyMiwgMHhiNCwgMHgwMSwgMHg0NiwgMHg3ZSwgMHhiMywgMHg5MSwgMHgwNCwgMHgyMCwgCi0gICAgMHhlNiwgMHg0MiwgMHg3ZSwgMHgyMywgMHg5MSwgMHgxYSwgMHg3YywgMHgzMiwgMHg3ZSwgMHgxMywgMHgyYywgMHg4MSwgMHgyYywgMHgyMSwgMHg3YSwgMHgyMywgCi0gICAgMHgyYywgMHg4MSwgMHg3ZSwgMHgwMCwgMHgwMCwgMHgyZSwgMHgwNCwgMHgyYywgMHg4OCwgMHg3ZSwgMHhiMywgMHg5MSwgMHgxNiwgMHg3YSwgMHgwOSwgMHhiMCwgCi0gICAgMHgwYiwgMHgwNCwgMHhhNSwgMHhkYiwgMHhmNCwgMHg3NCwgMHgyMCwgMHg3YSwgMHhiMywgMHg5MSwgMHgxNCwgMHg3NSwgMHgyZiwgMHg3MCwgMHgxMiwgMHg3MywgCi0gICAgMHgzNSwgMHg3ZSwgMHhiMywgMHgyYywgMHg4MSwgMHg3ZSwgMHhhMywgMHgyYywgMHg3ZCwgMHhiYywgMHhhYiwgMHg3OCwgMHgwMywgMHgxMiwgMHg2ZCwgMHhiOSwgCi0gICAgMHgyMiwgMHgwMiwgMHg3MSwgMHhmMiwgMHhkYSwgMHg1OSwgMHgwMiwgMHg2YywgMHg3YywgMHg3NCwgMHhlMCwgMHg3YSwgMHhiMywgMHg5MSwgMHgwMCwgMHg3ZSwgCi0gICAgMHgwMywgMHg5MSwgMHgxMCwgMHg3ZSwgMHgxMywgMHg5MSwgMHgxMSwgMHg3ZSwgMHgzMywgMHg5MSwgMHgxMiwgMHg3ZSwgMHgyMywgMHg5MSwgMHgxMywgMHg3ZSwgCi0gICAgMHg1MywgMHg5MSwgMHgxNCwgMHg3ZSwgMHg0MywgMHg5MSwgMHgxNSwgMHg3ZSwgMHg3MywgMHg5MSwgMHgxNiwgMHg3ZSwgMHg2MywgMHg5MSwgMHgxNywgMHg3YSwgCi0gICAgMHgwZiwgMHgyYywgMHg3NiwgMHg3YSwgMHgxZiwgMHgyYywgMHg3YSwgMHg3NSwgMHgyZiwgMHgwNCwgMHgxMiwgMHg3MywgMHgzNSwgMHg3YSwgMHgwMSwgMHgyZiwgCi0gICAgMHgxMiwgMHg3MywgMHgzNSwgMHg3YSwgMHgxMSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHg3YSwgMHgyMSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHg3YSwgCi0gICAgMHgzMSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHg3YSwgMHg0MSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHg3YSwgMHg1MSwgMHgyZiwgMHgxMiwgMHg3MywgCi0gICAgMHgzNSwgMHg3YSwgMHg2MSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHg3YSwgMHg3MSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHg3NCwgMHgwMCwgMHg3YSwgCi0gICAgMHhiMywgMHg5MSwgMHgwMCwgMHg3NCwgMHg0MCwgMHg3YSwgMHhiMywgMHg5MSwgMHgwNCwgMHgxMiwgMHg2ZCwgMHg4ZCwgMHgyMiwgMHg2ZCwgMHgwMCwgMHg3ZSwgCi0gICAgMHgxNCwgMHgwMSwgMHgwMiwgMHg3YSwgMHgwNywgMHgyYywgMHg4NiwgMHg3YSwgMHgwMywgMHgyYywgMHg4MSwgMHg3ZSwgMHhiMywgMHgyYywgMHg3NiwgMHgyMCwgCi0gICAgMHhlNywgMHgwZiwgMHg3YSwgMHgyMywgMHgyYywgMHg4MCwgMHg3YSwgMHgzMywgMHgyYywgMHg3ZiwgMHhiZSwgMHgwNywgMHgyYywgMHg3YywgMHg2OCwgMHgwOSwgCi0gICAgMHgyMiwgMHg3YSwgMHgzMywgMHgyYywgMHg4MCwgMHg3YSwgMHgyMywgMHgyYywgMHg3ZiwgMHg3ZSwgMHhiMywgMHgyYywgMHg3NiwgMHg1NCwgMHhlMywgMHgyMywgCi0gICAgMHgyMywgMHgzMCwgMHhlMCwgMHgwMiwgMHhkMiwgMHhlNSwgMHgzMCwgMHhlNywgMHgwMiwgMHhkMiwgMHhlNCwgMHgzMCwgMHhlNSwgMHgwNiwgMHgzMCwgMHhlNCwgCi0gICAgMHgwMywgMHgwMiwgMHg3MSwgMHhmMiwgMHg1NCwgMHgzZSwgMHhmNSwgMHhmMCwgMHgwMywgMHg1NCwgMHgxZiwgMHhjMywgMHgyNSwgMHhmMCwgMHg5MCwgMHg2ZCwgCi0gICAgMHhlNSwgMHg3NSwgMHg4NCwgMHhmZiwgMHg3MywgMHgwMiwgMHg2ZiwgMHhhMCwgMHgwMiwgMHg2ZSwgMHgyZCwgMHgwMiwgMHg3MCwgMHgzOSwgMHgwMiwgMHg3MCwgCi0gICAgMHg1NCwgMHgwMiwgMHg2ZiwgMHgzNywgMHgwMiwgMHg2ZSwgMHhjMiwgMHgwMiwgMHg3MCwgMHg4NSwgMHgwMiwgMHg3MCwgMHg4NSwgMHgwMiwgMHg3MCwgMHg4OCwgCi0gICAgMHgwMiwgMHg3MCwgMHg4OCwgMHgwMiwgMHg3MCwgMHg4OCwgMHgwMiwgMHg3MCwgMHg4OCwgMHgwMiwgMHg3MCwgMHg4OCwgMHgwMiwgMHg3MCwgMHg4OCwgMHgwMiwgCi0gICAgMHg3MCwgMHg4OCwgMHgwMiwgMHg3MCwgMHg4OCwgMHgwMiwgMHg3MCwgMHg4ZSwgMHgwMiwgMHg3MSwgMHg2MCwgMHgwMiwgMHg3MCwgMHg4YiwgMHgwMiwgMHg3MCwgCi0gICAgMHg4YiwgMHgwMiwgMHg3MCwgMHg4YiwgMHgwMiwgMHg3MCwgMHg4YiwgMHgwMiwgMHg3MCwgMHg4YiwgMHgwMiwgMHg3MCwgMHg4YiwgMHg3NCwgMHgwMCwgMHg3YSwgCi0gICAgMHhiMywgMHg5MSwgMHgwMCwgMHg3NCwgMHg2MCwgMHg3YSwgMHhiMywgMHg5MSwgMHgxYywgMHg3ZSwgMHhiMywgMHgyYywgMHg3NywgMHhiNCwgMHgwNiwgMHgyYSwgCi0gICAgMHg3ZSwgMHhiMywgMHgyYywgMHg3OCwgMHg2MCwgMHg3OSwgMHg3YywgMHgwYiwgMHg3ZSwgMHgxMywgMHgyYywgMHg3OSwgMHg3ZSwgMHgxNywgMHgyYywgMHg3YSwgCi0gICAgMHg3NSwgMHgyZiwgMHg3MiwgMHgxMiwgMHg3MywgMHgzNSwgMHg3YSwgMHgwMSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHg3YSwgMHgxMSwgMHgyZiwgMHgxMiwgCi0gICAgMHg3MywgMHgzNSwgMHgxMiwgMHg3MiwgMHgzNywgMHg0MCwgMHg1OCwgMHgwMiwgMHg2YiwgMHhlYiwgMHhiNCwgMHgwOCwgMHgxYywgMHg3NSwgMHgyZiwgMHg3NCwgCi0gICAgMHgxMiwgMHg3MywgMHgzNSwgMHg3ZSwgMHhiMywgMHgzZiwgMHhmMSwgMHg3ZSwgMHgwOCwgMHgyYywgMHg4OCwgMHg3YSwgMHgwYywgMHgwMCwgMHgwMCwgMHg3YSwgCi0gICAgMHgwYiwgMHhiMCwgMHg3ZSwgMHg1NCwgMHgwMCwgMHgwMSwgMHgwMiwgMHg2YiwgMHhlYiwgMHhiNCwgMHgwMCwgMHgzMywgMHg3NSwgMHgyZiwgMHg3NSwgMHgxMiwgCi0gICAgMHg3MywgMHgzNSwgMHg3ZSwgMHgwOCwgMHgyYywgMHg4OCwgMHg3YSwgMHgwYywgMHgwMCwgMHgwMCwgMHhjYSwgMHgwYiwgMHg3ZSwgMHhiMywgMHgzZiwgMHhmMiwgCi0gICAgMHgzMCwgMHhlMCwgMHgwNywgMHg3NCwgMHgwMiwgMHg3YSwgMHgwYiwgMHhiMCwgMHg4MCwgMHgwNSwgMHg3NCwgMHgwMCwgMHg3YSwgMHgwYiwgMHhiMCwgMHgwYiwgCi0gICAgMHgxNCwgMHg3NCwgMHgwMCwgMHg3YSwgMHgwYiwgMHhiMCwgMHg3ZSwgMHg1NCwgMHgwMCwgMHgwMiwgMHhkYSwgMHgwYiwgMHgwMiwgMHg2YiwgMHhlYiwgMHgwMiwgCi0gICAgMHg3MSwgMHhmMiwgMHg3NCwgMHgwMCwgMHg3YSwgMHhiMywgMHg5MSwgMHgwMCwgMHg3NCwgMHg2MCwgMHg3YSwgMHhiMywgMHg5MSwgMHgxYywgMHg3ZSwgMHhiMywgCi0gICAgMHgyYywgMHg3NywgMHhiNCwgMHgwMCwgMHg1ZiwgMHg3NSwgMHgyZiwgMHg3NiwgMHgxMiwgMHg3MywgMHgzNSwgMHg3ZSwgMHhiMywgMHgyYywgMHg3YiwgMHg1NCwgCi0gICAgMHgwZiwgMHhiNCwgMHgwMiwgMHgwNSwgMHg3ZSwgMHhiMCwgMHg2MCwgMHg4MCwgMHgxNywgMHhiNCwgMHgwMCwgMHgwNSwgMHg3ZSwgMHhiMCwgMHgwMCwgMHg4MCwgCi0gICAgMHgwZiwgMHg3ZSwgMHhiMywgMHgyYywgMHg3YiwgMHgyMCwgMHhlNywgMHgwNSwgMHg3ZSwgMHhiMCwgMHg0MCwgMHg4MCwgMHgwMywgMHg3ZSwgMHhiMCwgMHgyMCwgCi0gICAgMHg3YSwgMHhiMywgMHg5MSwgMHgwMCwgMHg3ZSwgMHhiMywgMHg5MSwgMHgxMSwgMHgzMCwgMHhlMCwgMHgwNCwgMHg3NCwgMHgwMSwgMHg4MCwgMHgwMiwgMHg3NCwgCi0gICAgMHgwMCwgMHg3ZSwgMHgwOCwgMHgyYywgMHg4OCwgMHg3YSwgMHgwYywgMHgwMCwgMHgwMCwgMHhjYSwgMHgwYiwgMHg3YSwgMHgwYiwgMHhiMCwgMHgwYiwgMHgxNCwgCi0gICAgMHg3NCwgMHgwMCwgMHg3YSwgMHgwYiwgMHhiMCwgMHg3NCwgMHgwMCwgMHg3YSwgMHhiMywgMHg5MSwgMHgwMCwgMHg3ZSwgMHg1NCwgMHgwMCwgMHgwMiwgMHhkYSwgCi0gICAgMHgwYiwgMHgwMiwgMHg2YiwgMHhlYiwgMHgwMiwgMHg3MSwgMHhmMiwgMHg3ZSwgMHhiMywgMHgyYywgMHg3YiwgMHg1NCwgMHgwZiwgMHhiNCwgMHgwMiwgMHgwNSwgCi0gICAgMHg3ZSwgMHhiMCwgMHg2MCwgMHg4MCwgMHgxNywgMHhiNCwgMHgwMCwgMHgwNSwgMHg3ZSwgMHhiMCwgMHgwMCwgMHg4MCwgMHgwZiwgMHg3ZSwgMHhiMywgMHgyYywgCi0gICAgMHg3YiwgMHgyMCwgMHhlNywgMHgwNSwgMHg3ZSwgMHhiMCwgMHg0MCwgMHg4MCwgMHgwMywgMHg3ZSwgMHhiMCwgMHgyMCwgMHg3YSwgMHhiMywgMHg5MSwgMHgwMCwgCi0gICAgMHg3ZSwgMHhiMywgMHgyYywgMHg3OSwgMHhiNCwgMHgwMCwgMHgyNiwgMHg3ZSwgMHhiMywgMHgyYywgMHg3NywgMHhiNCwgMHgwMSwgMHgwZSwgMHg3NSwgMHgyZiwgCi0gICAgMHg3NywgMHgxMiwgMHg3MywgMHgzNSwgMHg3NCwgMHgwMSwgMHg3YSwgMHhiMywgMHg5MSwgMHgxMiwgMHg4MCwgMHgxYiwgMHhiNCwgMHgwMywgMHgwZSwgMHg3NSwgCi0gICAgMHgyZiwgMHg3OCwgMHgxMiwgMHg3MywgMHgzNSwgMHg3NCwgMHgwMSwgMHg3YSwgMHhiMywgMHg5MSwgMHgxMSwgMHg4MCwgMHgwYSwgMHg3NCwgMHgwMCwgMHg3YSwgCi0gICAgMHhiMywgMHg5MSwgMHgwMCwgMHgxMiwgMHg3MSwgMHhmMiwgMHgyMiwgMHg3NCwgMHgwMCwgMHg3YSwgMHhiMywgMHg5MSwgMHgwMCwgMHgwMiwgMHg2YiwgMHhkZSwgCi0gICAgMHg3ZSwgMHhiMywgMHgyYywgMHg3NywgMHhiNCwgMHgwOSwgMHgxZiwgMHg3NSwgMHgyZiwgMHg3OSwgMHgxMiwgMHg3MywgMHgzNSwgMHg3ZSwgMHhiMywgMHgyYywgCi0gICAgMHg3OSwgMHhiZSwgMHhiMywgMHgzZiwgMHhmMSwgMHg2OCwgMHgwZCwgMHhjYSwgMHhiOCwgMHgxMiwgMHg0MywgMHg3OSwgMHhkYSwgMHhiOCwgMHg1MCwgMHg3NiwgCi0gICAgMHg3YSwgMHhiMywgMHgzZiwgMHhmMSwgMHg4MCwgMHg2ZCwgMHhiNCwgMHgwNSwgMHgwOCwgMHg3NSwgMHgyZiwgMHg3YSwgMHgxMiwgMHg3MywgMHgzNSwgMHg4MCwgCi0gICAgMHg2MiwgMHhiNCwgMHgwMywgMHgxOSwgMHg3NSwgMHgyZiwgMHg3YiwgMHgxMiwgMHg3MywgMHgzNSwgMHg3ZSwgMHhiMywgMHgyYywgMHg3OSwgMHhiNCwgMHgwMSwgCi0gICAgMHg1NSwgMHg3ZSwgMHhiMywgMHgzZiwgMHhmMiwgMHg0NCwgMHgwMSwgMHg3YSwgMHhiMywgMHgzZiwgMHhmMiwgMHg4MCwgMHg0NiwgMHhiNCwgMHgwMSwgMHgxOSwgCi0gICAgMHg3NSwgMHgyZiwgMHg3YywgMHgxMiwgMHg3MywgMHgzNSwgMHg3ZSwgMHhiMywgMHgyYywgMHg3OSwgMHhiNCwgMHgwMSwgMHgzOSwgMHg3ZSwgMHhiMywgMHgzZiwgCi0gICAgMHhmMiwgMHg1NCwgMHhmZSwgMHg3YSwgMHhiMywgMHgzZiwgMHhmMiwgMHg4MCwgMHgyYSwgMHhiNCwgMHgwNywgMHgyYSwgMHg3ZSwgMHhiMywgMHgyYywgMHg3OCwgCi0gICAgMHg2MCwgMHgyNCwgMHg3YywgMHgwYiwgMHg3ZSwgMHgxMywgMHgyYywgMHg3OSwgMHg3ZSwgMHgxNywgMHgyYywgMHg3YSwgMHg3NSwgMHgyZiwgMHg3MywgMHgxMiwgCi0gICAgMHg3MywgMHgzNSwgMHg3YSwgMHgwMSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHg3YSwgMHgxMSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHgxMiwgMHg3MiwgCi0gICAgMHg3MSwgMHg0MCwgMHgwMywgMHgwMiwgMHg2YiwgMHhkZSwgMHgwMiwgMHg3MSwgMHhmMiwgMHg3ZSwgMHhiMywgMHgyYywgMHg3NywgMHhiNCwgMHgwYiwgMHhmNiwgCi0gICAgMHg3NSwgMHgyZiwgMHg3ZCwgMHgxMiwgMHg3MywgMHgzNSwgMHg3ZSwgMHhiMywgMHgyYywgMHg3OSwgMHg3ZSwgMHhhMywgMHgyYywgMHg3YiwgMHg0YywgMHhhYiwgCi0gICAgMHg3OCwgMHhlNCwgMHg4MCwgMHhkZiwgMHg3NCwgMHgwMCwgMHg3YSwgMHhiMywgMHg5MSwgMHgwMCwgMHg3NCwgMHg2MCwgMHg3YSwgMHhiMywgMHg5MSwgMHgxYywgCi0gICAgMHg3ZSwgMHhiMywgMHgyYywgMHg3NywgMHhiNCwgMHgwYSwgMHhjZiwgMHg3NSwgMHgyZiwgMHg3ZSwgMHgxMiwgMHg3MywgMHgzNSwgMHg3ZSwgMHhiMywgMHgyYywgCi0gICAgMHg3OSwgMHg3MCwgMHhjMywgMHg3ZSwgMHgwOCwgMHgyYywgMHg4OCwgMHg3YSwgMHgwYywgMHgwMCwgMHgwMCwgMHg3YSwgMHgwYiwgMHhiMCwgMHg3ZSwgMHg1NCwgCi0gICAgMHgwMCwgMHgwMSwgMHgwMiwgMHg2YiwgMHhlYiwgMHgwMiwgMHg3MSwgMHhmMiwgMHgwMiwgMHg3MSwgMHhmMiwgMHgwMiwgMHg3MSwgMHhmMiwgMHg3ZSwgMHhiMywgCi0gICAgMHgyYywgMHg3NywgMHhiNCwgMHgwNCwgMHgyMCwgMHg3NSwgMHgyZiwgMHhjMywgMHgxMiwgMHg3MywgMHgzNSwgMHg3ZSwgMHgwNCwgMHgwMCwgMHgwMSwgMHg3ZSwgCi0gICAgMHgxNywgMHgyYywgMHg3OCwgMHg3ZSwgMHgxOCwgMHgyYywgMHg4OCwgMHg3YSwgMHgxYywgMHgwMCwgMHgwMCwgMHg3ZSwgMHg0NywgMHgyYywgMHg3YywgMHgxMiwgCi0gICAgMHg3MywgMHg0MSwgMHgwMiwgMHg3MSwgMHg1YSwgMHhiNCwgMHgwNiwgMHg0MiwgMHg3NSwgMHgyZiwgMHhjMSwgMHgxMiwgMHg3MywgMHgzNSwgMHg3ZSwgMHg1OCwgCi0gICAgMHgwMCwgMHgwMCwgMHg3YSwgMHg1YywgMHgwMCwgMHhmZSwgMHg3ZCwgMHhjYSwgMHg3ZSwgMHhkNywgMHgyYywgMHg3OCwgMHg3ZSwgMHg3OCwgMHgyYywgMHg4OCwgCi0gICAgMHg3YSwgMHg3YywgMHgwMCwgMHgwMCwgMHg3ZSwgMHg3NywgMHgyYywgMHg3YywgMHg3NSwgMHgyZiwgMHhjMSwgMHgxMiwgMHg3MywgMHgzNSwgMHhjMCwgMHhhOCwgCi0gICAgMHhjMiwgMHhhZiwgMHg3ZSwgMHg0MCwgMHgwMSwgMHg3YSwgMHg0MywgMHg5NCwgMHgwMCwgMHgxMiwgMHg3MywgMHg3YSwgMHg3ZSwgMHg0MywgMHgyYywgMHgzNSwgCi0gICAgMHg3YSwgMHg0MywgMHg5NCwgMHgwMCwgMHhkMCwgMHhhOCwgMHg0MCwgMHg2NSwgMHg4MCwgMHg2MCwgMHhiNCwgMHgwMCwgMHgyNCwgMHhjMiwgMHhhZiwgMHg3ZSwgCi0gICAgMHhiMCwgMHgwMSwgMHg3YSwgMHhiMywgMHg5NCwgMHgwMCwgMHg3YSwgMHhiMywgMHgyYywgMHgzNSwgMHgxMiwgMHg2YiwgMHhkZSwgMHhlNCwgMHg4ZCwgMHhlZiwgCi0gICAgMHg4ZCwgMHhlZiwgMHg4ZCwgMHhlZiwgMHhkNSwgMHhlMCwgMHhmNywgMHhjMCwgMHhkMSwgMHhjYSwgMHgwMiwgMHhmZiwgMHhjYSwgMHgwNiwgMHgwMCwgMHgwMCwgCi0gICAgMHgzMiwgMHhiNCwgMHgwOSwgMHgyMCwgMHg3NCwgMHgwMywgMHg3YSwgMHhiMywgMHg5MSwgMHgwNiwgMHg3ZSwgMHgyMywgMHg5MSwgMHgwNywgMHg3ZSwgMHg1NywgCi0gICAgMHgyYywgMHg3OCwgMHg0ZCwgMHg1NSwgMHg2OCwgMHgwNSwgMHg0ZSwgMHgyMCwgMHgwMiwgMHg4MCwgMHgwMywgMHg1ZSwgMHgyMCwgMHhmZCwgMHg3YSwgMHgyMywgCi0gICAgMHg5MSwgMHgwNywgMHg4MCwgMHgxNiwgMHhiNCwgMHgwNywgMHgxNiwgMHhjMiwgMHhhZiwgMHg3ZSwgMHgwNywgMHgyYywgMHg3YSwgMHg3ZSwgMHgxNywgMHgyYywgCi0gICAgMHg3OCwgMHhjMCwgMHhkMSwgMHhjYSwgMHgxOCwgMHhjYSwgMHgzOCwgMHhjYSwgMHgyOCwgMHgzMiwgMHgwMiwgMHg2YiwgMHhkZSwgMHgwMiwgMHg3MSwgMHhmMiwgCi0gICAgMHg3NCwgMHgwMCwgMHg3YSwgMHhiMywgMHg5MSwgMHgwMCwgMHg3NCwgMHg2MCwgMHg3YSwgMHhiMywgMHg5MSwgMHgxYywgMHg3ZSwgMHhiMywgMHgyYywgMHg3NywgCi0gICAgMHhiNCwgMHgwMywgMHgxNSwgMHg3NSwgMHgyZiwgMHhjMiwgMHgxMiwgMHg3MywgMHgzNSwgMHg3ZSwgMHgwNCwgMHgwMCwgMHgwMSwgMHg3ZSwgMHgxNywgMHgyYywgCi0gICAgMHg3OCwgMHg3ZSwgMHg1NywgMHgyYywgMHg3YywgMHgwMiwgMHg2YiwgMHhlYiwgMHhiNCwgMHgwNSwgMHg0MSwgMHg3NSwgMHgyZiwgMHhjMCwgMHgxMiwgMHg3MywgCi0gICAgMHgzNSwgMHhjMCwgMHhhOCwgMHhjMiwgMHhhZiwgMHg3ZSwgMHg0MCwgMHgwMSwgMHg3YSwgMHg0MywgMHg5NCwgMHgwMCwgMHg3ZSwgMHgwOCwgMHgyYywgMHg4OCwgCi0gICAgMHg3YSwgMHgwYywgMHgwMCwgMHgwMCwgMHg3ZSwgMHgyNCwgMHgwMCwgMHhmZSwgMHg3ZSwgMHgzNywgMHgyYywgMHg3OCwgMHg3ZSwgMHg0NywgMHgyYywgMHg3YywgCi0gICAgMHgxMiwgMHg3MywgMHg0MSwgMHg3ZSwgMHg0MywgMHgyYywgMHgzNSwgMHg3YSwgMHg0MywgMHg5NCwgMHgwMCwgMHhkMCwgMHhhOCwgMHg3ZSwgMHgwOCwgMHgyYywgCi0gICAgMHg4OCwgMHg3YSwgMHgwYywgMHgwMCwgMHgwMCwgMHg3ZSwgMHg1NywgMHgyYywgMHg3YywgMHgwMiwgMHg2YiwgMHhlYiwgMHhiNCwgMHgwMSwgMHgyMCwgMHg3ZSwgCi0gICAgMHgwMCwgMHgwMCwgMHg3ZSwgMHgxMCwgMHgwMSwgMHg3NSwgMHgyZiwgMHg3MiwgMHgxMiwgMHg3MywgMHgzNSwgMHg3YSwgMHgwMSwgMHgyZiwgMHgxMiwgMHg3MywgCi0gICAgMHgzNSwgMHg3YSwgMHgxMSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHgxMiwgMHg3MiwgMHgzNywgMHg0MCwgMHgwMywgMHgwMiwgMHg2YiwgMHhlYiwgMHgwMiwgCi0gICAgMHg3MSwgMHhmMiwgMHg3NSwgMHgyZiwgMHgwNywgMHgxMiwgMHg3MywgMHgzNSwgMHg3ZSwgMHhiMCwgMHgwMiwgMHg3YSwgMHhiMywgMHg5MCwgMHgwMCwgMHg3NCwgCi0gICAgMHgwMCwgMHg3YSwgMHhiMywgMHg5MSwgMHgwMCwgMHg3NCwgMHg0MCwgMHg3YSwgMHhiMywgMHg5MSwgMHgxNSwgMHg3NCwgMHgwMSwgMHg3YSwgMHhiMywgMHg5MSwgCi0gICAgMHgxMSwgMHg3ZSwgMHhiMywgMHg5MSwgMHgxNSwgMHg1NCwgMHg2MCwgMHhiZSwgMHhiMCwgMHg0MCwgMHg2OCwgMHgwOCwgMHg3NCwgMHgyMCwgMHg3YSwgMHhiMywgCi0gICAgMHg5MSwgMHgxNSwgMHg4MCwgMHhlZCwgMHg3NCwgMHgwMSwgMHg3YSwgMHhiMywgMHg5MSwgMHgxMiwgMHg3NCwgMHgwNCwgMHg3YSwgMHhiMywgMHg5MSwgMHgxNCwgCi0gICAgMHg3NCwgMHhmZiwgMHg3YSwgMHhiMywgMHgyYywgMHg3ZSwgMHgyMiwgMHhjMCwgMHhhOCwgMHhjMiwgMHhhZiwgMHg3ZSwgMHg0MCwgMHgwMSwgMHg3YSwgMHg0MywgCi0gICAgMHg5NCwgMHgwMCwgMHgxMiwgMHg3MiwgMHhiZSwgMHg0MCwgMHgxZiwgMHg3ZSwgMHgwOCwgMHgyYywgMHg4OCwgMHg3YSwgMHgwYywgMHgwMCwgMHgwMCwgMHhjYSwgCi0gICAgMHgwYiwgMHhjYSwgMHg0OSwgMHgxMiwgMHg3MywgMHg0MSwgMHhkYSwgMHg1OSwgMHhkYSwgMHgwYiwgMHg3ZSwgMHg0MywgMHgyYywgMHgzNSwgMHg3YSwgMHg0MywgCi0gICAgMHg5NCwgMHgwMCwgMHhkMCwgMHhhOCwgMHhjMywgMHgyMiwgMHg3ZSwgMHg0MywgMHgyYywgMHgzNSwgMHg3YSwgMHg0MywgMHg5NCwgMHgwMCwgMHhkMCwgMHhhOCwgCi0gICAgMHgyMiwgMHhjMCwgMHhhOCwgMHhjMiwgMHhhZiwgMHg3ZSwgMHg0MCwgMHgwMSwgMHg3YSwgMHg0MywgMHg5NCwgMHgwMCwgMHgxMiwgMHg3MiwgMHhiZSwgMHg0MCwgCi0gICAgMHgzMSwgMHg3ZSwgMHg1OCwgMHgwMCwgMHgwMCwgMHg3YSwgMHg1YywgMHgwMCwgMHhmZSwgMHg3ZiwgMHg2MSwgMHg3ZSwgMHg3OCwgMHgyYywgMHg4OCwgMHg3YSwgCi0gICAgMHg3YywgMHgwMCwgMHgwMCwgMHg3ZSwgMHg3NywgMHgyYywgMHg3YywgMHhiZCwgMHg3NCwgMHg3OCwgMHgxNywgMHg3NSwgMHgyZiwgMHhjMSwgMHgxMiwgMHg3MywgCi0gICAgMHgzNSwgMHgxMiwgMHg3MywgMHg3YSwgMHg0MCwgMHgwYywgMHg3ZSwgMHg0MywgMHgyYywgMHgzNSwgMHg3YSwgMHg0MywgMHg5NCwgMHgwMCwgMHhkMCwgMHhhOCwgCi0gICAgMHhjMywgMHgyMiwgMHg3ZSwgMHg0MywgMHgyYywgMHgzNSwgMHg3YSwgMHg0MywgMHg5NCwgMHgwMCwgMHhkMCwgMHhhOCwgMHhkMywgMHgyMiwgMHg3ZSwgMHgyNCwgCi0gICAgMHgwMCwgMHhmZSwgMHg3ZSwgMHgzNCwgMHg3ZiwgMHhjYSwgMHgwYiwgMHgxYSwgMHg1MCwgMHhjNSwgMHhmMCwgMHg3ZCwgMHg2MiwgMHg3ZCwgMHg3NSwgMHg3ZCwgCi0gICAgMHg4NywgMHg3ZSwgMHgzNCwgMHg3ZiwgMHhjMiwgMHg3ZSwgMHgxYiwgMHhiMCwgMHg3ZSwgMHgzNCwgMHg3ZiwgMHgwMywgMHhiNCwgMHgwMSwgMHgwNCwgMHg3ZSwgCi0gICAgMHgzNCwgMHg3ZiwgMHhjYywgMHg3ZSwgMHgxYiwgMHhiMCwgMHhiYywgMHgwYiwgMHg1MCwgMHg0OSwgMHgzZSwgMHgwMCwgMHgzZSwgMHgwMCwgMHgwYSwgMHg1MCwgCi0gICAgMHgyZCwgMHg3NSwgMHgwYiwgMHgzYSwgMHgzMCwgMHg2OSwgMHg1MywgMHgwMCwgMHgwMiwgMHhiZCwgMHgzOCwgMHg1MCwgMHgwMiwgMHgyZCwgMHgzOCwgMHhiYywgCi0gICAgMHgxYiwgMHg1MCwgMHgzMCwgMHgzZSwgMHgxMCwgMHgzZSwgMHgxMCwgMHgwYSwgMHg1MSwgMHgyZCwgMHgzNSwgMHg2OSwgMHg0MSwgMHgwMCwgMHgwMiwgMHgwYiwgCi0gICAgMHgxYSwgMHgzMCwgMHhiZCwgMHgzOCwgMHg1MCwgMHgwMiwgMHgyZCwgMHgzOCwgMHhiZSwgMHg0NCwgMHhmZiwgMHhmZiwgMHg3OCwgMHgwNSwgMHg3ZSwgMHgxYiwgCi0gICAgMHg5MCwgMHgwYSwgMHg0OSwgMHg0ZCwgMHg0NCwgMHg2OCwgMHgwYywgMHhiZSwgMHg0NCwgMHgwMCwgMHhmZiwgMHgyOCwgMHgwNCwgMHg3ZSwgMHg0NCwgMHgwMCwgCi0gICAgMHhmZiwgMHhjMywgMHgyMiwgMHhkMywgMHgyMiwgCi0KLS8vIFNlZ21lbnQgIzE2LCBTdGFydCBBZGRyZXNzIDAwZmY3ZmM2LCBMZW5ndGggNAotMHhmZiwweDAwLDB4YzYsMHg3ZiwweDA0LDB4MDAsCi0gICAgMHgwMiwgMHgwMCwgMHgwMywgMHgwMCwgCi0KLS8vIFNlZ21lbnQgIzE3LCBTdGFydCBBZGRyZXNzIDAwZmY3MzM1LCBMZW5ndGggMzI4Ci0weGZmLDB4MDAsMHgzNSwweDczLDB4NDgsMHgwMSwKLSAgICAweGNhLCAweDA4LCAweDdlLCAweDAxLCAweDJmLCAweDdhLCAweDAzLCAweDNmLCAweGYwLCAweGRhLCAweDA4LCAweDIyLCAweDdlLCAweDFiLCAweGMwLCAweDdhLCAKLSAgICAweDBiLCAweGMwLCAweDBiLCAweDE0LCAweDBiLCAweDM0LCAweDFiLCAweDQ0LCAweDc4LCAweGYyLCAweDIyLCAweDdmLCAweDZmLCAweDdmLCAweGYwLCAweDFiLCAKLSAgICAweGZjLCAweDdjLCAweDU0LCAweDdkLCAweDMyLCAweDgwLCAweDA4LCAweGNhLCAweDFiLCAweGNhLCAweDFiLCAweGNhLCAweDFiLCAweGNhLCAweDFiLCAweDllLCAKLSAgICAweDQ0LCAweDAwLCAweDEwLCAweDUwLCAweGYyLCAweDJlLCAweDQ0LCAweDAwLCAweDEwLCAweDY4LCAweDA2LCAweGNhLCAweDQ4LCAweDFiLCAweDQ0LCAweDc4LCAKLSAgICAweGZhLCAweDdmLCAweGY2LCAweDg5LCAweGU0LCAweGNhLCAweDZiLCAweDVlLCAweGQ0LCAweDAwLCAweDNmLCAweDY4LCAweDIwLCAweDdlLCAweDg0LCAweDAwLCAKLSAgICAweDQwLCAweDlkLCAweDhkLCAweGRhLCAweDZiLCAweGJkLCAweDg3LCAweDM4LCAweDE2LCAweGNhLCAweDc5LCAweDdkLCAweDc4LCAweDEyLCAweDczLCAweGE0LCAKLSAgICAweGRhLCAweDc5LCAweDQwLCAweDA4LCAweDlkLCAweDc4LCAweDY4LCAweDAyLCAweDgwLCAweDA1LCAweGMyLCAweGQ3LCAweDIyLCAweGRhLCAweDZiLCAweDdlLCAKLSAgICAweGMwLCAweDAzLCAweDdlLCAweGQwLCAweDAwLCAweDdhLCAweGQzLCAweDkwLCAweDAwLCAweDc0LCAweGFhLCAweDM5LCAweGI1LCAweDU1LCAweDU1LCAweDc0LCAKLSAgICAweDU1LCAweDM5LCAweGI1LCAweDJhLCAweGFhLCAweDc0LCAweGEwLCAweDM5LCAweGI1LCAweDU1LCAweDU1LCAweDdlLCAweDA0LCAweDAwLCAweDQwLCAweDlkLCAKLSAgICAweDcwLCAweDUwLCAweDA2LCAweDJkLCAweDcwLCAweDdkLCAweDA3LCAweDZkLCAweDc3LCAweDdjLCAweDMxLCAweDdlLCAweDdiLCAweDAwLCAweDdhLCAweDZiLCAKLSAgICAweDAwLCAweDBiLCAweDdjLCAweDBiLCAweDZjLCAweGE1LCAweGQ5LCAweGYzLCAweDdmLCAweDE2LCAweDFiLCAweDFjLCAweDdlLCAweDU0LCAweDI3LCAweDEwLCAKLSAgICAweDdlLCAweDFiLCAweDEwLCAweGJjLCAweDEwLCAweDY4LCAweDA2LCAweDFiLCAweDU0LCAweDc4LCAweGY1LCAweDgwLCAweDJmLCAweDZkLCAweDAwLCAweDdjLCAKLSAgICAweDIwLCAweDdmLCAweDE2LCAweDlmLCAweDEwLCAweDdmLCAweDI3LCAweDlmLCAweDIwLCAweDdlLCAweDJiLCAweDAwLCAweDdlLCAweDFiLCAweDEwLCAweGJjLCAKLSAgICAweDAxLCAweDc4LCAweDE5LCAweDBiLCAweDJjLCAweDBiLCAweDFjLCAweGE1LCAweGRiLCAweGVmLCAweDdjLCAweGI2LCAweDIwLCAweGUwLCAweDA2LCAweDZjLCAKLSAgICAweGRjLCAweDdhLCAweGQzLCAweDkwLCAweDAwLCAweDRkLCAweDc3LCAweDc4LCAweDkwLCAweGMyLCAweGQ3LCAweDIyLCAweGQyLCAweGQ3LCAweDIyLCAweDAwLCAKLSAgICAweDA0LCAweDAwLCAweDA0LCAweDAwLCAweDAwLCAweDA2LCAweDA0LCAweDAyLCAweDA0LCAweDAwLCAweDAyLCAweDAxLCAweDA0LCAweDAxLCAweDAyLCAweDAwLCAKLSAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAyLCAweDAyLCAweDAyLCAweDAyLCAweDAyLCAweDA0LCAweDAwLCAweDA4LCAweDEwLCAKLSAgICAweDAyLCAweDEwLCAweDA0LCAweDAyLCAweDA4LCAweDAwLCAweDAxLCAweDAxLCAweDA4LCAweDdlLCAweDE4LCAweDdmLCAweGJkLCAweDdhLCAweDFjLCAweDAwLCAKLSAgICAweGZlLCAweDBiLCAweDFhLCAweDAwLCAweDVlLCAweDEwLCAweDFmLCAweGJlLCAweDEwLCAweDE0LCAweDM4LCAweDFhLCAweDBhLCAweDUxLCAweDIzLCAweDdlLCAKLSAgICAweDE4LCAweDc0LCAweDI0LCAweDdhLCAweDFjLCAweDAwLCAweGZmLCAweDJkLCAweDM1LCAweDBiLCAweDFhLCAweDUwLCAweDYwLCAweDA4LCAweGE1LCAweGI4LCAKLSAgICAweDAyLCAweDAzLCAweDRlLCAweGEwLCAweDA4LCAweDIyLCAweDgwLCAweGZlLCAKLX07Ci0KLXN0YXRpYyBzdHJ1Y3QgZWRnZV9maXJtd2FyZV92ZXJzaW9uX2luZm8gSU1BR0VfVkVSU0lPTl9OQU1FID0gewotCTIsIDAsIDMgfTsJCS8vIE1ham9yLCBNaW5vciwgQnVpbGQKLQotI3VuZGVmIElNQUdFX1ZFUlNJT05fTkFNRQotCi0jdW5kZWYgSU1BR0VfQVJSQVlfTkFNRQotCmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9zZXJpYWwvaW9fZndfZG93bjMuaCBiL2RyaXZlcnMvdXNiL3NlcmlhbC9pb19md19kb3duMy5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0NDk2YjA2Li4wMDAwMDAwCi0tLSBhL2RyaXZlcnMvdXNiL3NlcmlhbC9pb19md19kb3duMy5oCisrKyAvZGV2L251bGwKQEAgLTEsODQ3ICswLDAgQEAKLS8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLS8vKiBFZGdlcG9ydCBCaW5hcnkgSW1hZ2UgKGZvciBUSSBiYXNlZCBwcm9kdWN0cykKLS8vKiBHZW5lcmF0ZWQgYnkgVElCaW4yQyB2Mi4wMCAod2F0Y2hwb3J0KQotLy8qIENvcHlyaWdodCAoQykgMjAwMSBJbnNpZGUgT3V0IE5ldHdvcmtzLCBBbGwgcmlnaHRzIHJlc2VydmVkLgotLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotCi0KLXN0YXRpYyBpbnQgSU1BR0VfU0laRSA9IDEyOTM4OwotCi1zdHJ1Y3QgRURHRV9GSVJNV0FSRV9WRVJTSU9OX0lORk8KLXsKLQl1bnNpZ25lZCBjaGFyICAgTWFqb3JWZXJzaW9uOwotCXVuc2lnbmVkIGNoYXIgICBNaW5vclZlcnNpb247Ci0JdW5zaWduZWQgc2hvcnQgIEJ1aWxkTnVtYmVyOwotfTsKLQotc3RhdGljIHN0cnVjdCBFREdFX0ZJUk1XQVJFX1ZFUlNJT05fSU5GTyBJTUFHRV9WRVJTSU9OX05BTUUgPQotewotCTQsIDgwLCAwCQkvLyBNYWpvciwgTWlub3IsIEJ1aWxkCi0KLX07Ci0KLXN0YXRpYyB1bnNpZ25lZCBjaGFyIElNQUdFX0FSUkFZX05BTUVbXSA9IAotewotLy8gIHN0cnVjdCBJbWFnZUhkcgotLy8gIHsKLS8vICAgICAgV09SRCAgICBMZW5ndGg7Ci0vLyAgICAgIEJZVEUgICAgQ2hlY2tTdW07Ci0vLyAgfTsKLTB4ODcsIDB4MzIsCi0weDlhLAotCi0weDAyLCAweDI3LCAweGJmLCAweDAyLCAweDIxLCAweGIyLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAyLCAweDAwLCAweDFlLCAweDAwLCAweDAwLAotMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMiwgMHgwMSwgMHgxYSwgMHg4NSwgMHgzZiwgCi0weDhjLCAweDg1LCAweDQwLCAweDhhLCAweGMwLCAweGUwLCAweGMwLCAweGQwLCAweGMwLCAweGYwLCAweGMwLCAweDgyLCAweGMwLCAweDgzLCAweGMwLCAweDAwLCAKLTB4YzAsIDB4MDEsIDB4YzAsIDB4MDIsIDB4YzAsIDB4MDMsIDB4YzAsIDB4MDQsIDB4YzAsIDB4MDUsIDB4YzAsIDB4MDYsIDB4YzAsIDB4MDcsIDB4ZTUsIDB4M2UsIAotMHgyNCwgMHgwOCwgMHhmOCwgMHhlNiwgMHg2MCwgMHgyYiwgMHhlNSwgMHgzZSwgMHgyNCwgMHgxMCwgMHhmOCwgMHhhNiwgMHg4MSwgMHhlNSwgMHgzZSwgMHg3NSwgCi0weGYwLCAweDIxLCAweGE0LCAweDI0LCAweDA1LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweGY4LCAweGY1LCAweDgzLCAweDc4LCAweDhjLCAweGU1LCAweDgxLCAKLTB4MDQsIDB4YzMsIDB4OTgsIDB4ZjksIDB4OTQsIDB4MjIsIDB4NDAsIDB4MDMsIDB4MDIsIDB4MTEsIDB4ZGMsIDB4ZTYsIDB4ZjAsIDB4MDgsIDB4YTMsIDB4ZDksCi0weGZhLCAweDc0LCAweDA4LCAweDI1LCAweDNlLCAweGY4LCAweDA1LCAweDNlLCAweDA4LCAweGU2LCAweDU0LCAweDgwLCAweDcwLCAweDBjLCAweGU1LCAweDNlLCAKLTB4YjQsIDB4MDcsIDB4ZjMsIDB4NzgsIDB4MDgsIDB4NzUsIDB4M2UsIDB4MDAsIDB4ODAsIDB4ZWYsIDB4ZTUsIDB4M2UsIDB4MjQsIDB4MTAsIDB4ZjgsIDB4ODYsIAotMHg4MSwgMHhlNSwgMHgzZSwgMHg3NSwgMHhmMCwgMHgyMSwgMHhhNCwgMHgyNCwgMHgwNSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHhmOCwgMHhmNSwgMHg4MywgCi0weDc4LCAweDhjLCAweGU1LCAweDgxLCAweDA0LCAweGMzLCAweDk4LCAweGY5LCAweGUwLCAweGY2LCAweDA4LCAweGEzLCAweGQ5LCAweGZhLCAweGQwLCAweDA3LCAKLTB4ZDAsIDB4MDYsIDB4ZDAsIDB4MDUsIDB4ZDAsIDB4MDQsIDB4ZDAsIDB4MDMsIDB4ZDAsIDB4MDIsIDB4ZDAsIDB4MDEsIDB4ZDAsIDB4MDAsIDB4ZDAsIDB4ODMsIAotMHhkMCwgMHg4MiwgMHhkMCwgMHhmMCwgMHhkMCwgMHhkMCwgMHhkMCwgMHhlMCwgMHgzMiwgMHgzMCwgMHgwMSwgMHg0ZCwgMHgzMCwgMHhiNCwgMHg0OCwgMHgxMCwgCi0weDAwLCAweDQ1LCAweDkwLCAweGZmLCAweDA4LCAweGUwLCAweDU0LCAweDIwLCAweGY4LCAweDkwLCAweGZmLCAweDQ4LCAweGUwLCAweDU0LCAweDIwLCAweGY5LCAKLTB4OTAsIDB4ZmYsIDB4MTAsIDB4ZTAsIDB4NTQsIDB4MjAsIDB4ZmEsIDB4OTAsIDB4ZmYsIDB4NTAsIDB4ZTAsIDB4NTQsIDB4MjAsIDB4ZmIsIDB4NzQsIDB4MDAsIAotMHhmNSwgMHg4MiwgMHg3NCwgMHhmOCwgMHhmNSwgMHg4MywgMHhlMCwgMHhjOCwgMHhmMCwgMHg2OCwgMHg2MCwgMHgwMiwgMHg3ZSwgMHgwNCwgMHhhMywgMHhlMCwgCi0weGM5LCAweGYwLCAweDY5LCAweDYwLCAweDAyLCAweDdlLCAweDA0LCAweGEzLCAweGUwLCAweGNhLCAweGYwLCAweDZhLCAweDYwLCAweDAyLCAweDdlLCAweDA0LCAKLTB4YTMsIDB4ZTAsIDB4Y2IsIDB4ZjAsIDB4NmIsIDB4NjAsIDB4MDIsIDB4N2UsIDB4MDQsIDB4MjIsIDB4YzAsIDB4ZTAsIDB4YzAsIDB4ZDAsIDB4YzAsIDB4ZjAsIAotMHhjMCwgMHg4MiwgMHhjMCwgMHg4MywgMHhjMCwgMHgwMCwgMHhjMCwgMHgwMSwgMHhjMCwgMHgwMiwgMHhjMCwgMHgwMywgMHhjMCwgMHgwNCwgMHhjMCwgMHgwNSwgCi0weGMwLCAweDA2LCAweGMwLCAweDA3LCAweDc0LCAweDE1LCAweGY1LCAweDgyLCAweDc0LCAweGY5LCAweGY1LCAweDgzLCAweGUwLCAweDYwLCAweDIzLCAweDc0LAotMHg2NiwgMHhmNSwgMHg4MiwgMHg3NCwgMHhmOSwgMHhmNSwgMHg4MywgMHhlMCwgMHgxNCwgMHhmMCwgMHg3MCwgMHgxNiwgMHg3NCwgMHhmZiwgMHhmMCwgMHg3NCwKLTB4MWMsIDB4ZjUsIDB4ODIsIDB4NzQsIDB4ZjksIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NjAsIDB4MDQsIDB4MTQsIDB4ZjAsIDB4NzAsIDB4MDQsIDB4YzIsIDB4OTAsCi0weDgwLCAweGZjLCAweDkwLCAweGZmLCAweDkzLCAweDc0LCAweDgxLCAweGYwLCAweGU1LCAweDgxLCAweDk0LCAweGZkLCAweDQwLCAweDAzLCAweDAyLCAweDExLAotMHhkYywgMHg4NSwgMHg0MSwgMHg4ZCwgMHg4NSwgMHg0MiwgMHg4YiwgMHg3NCwgMHhiMiwgMHhmNSwgMHg4MiwgMHg3NCwgMHhmYSwgMHhmNSwgMHg4MywgMHhlMCwKLTB4YjQsIDB4MDEsIDB4MWIsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ODMsIDB4OTAsIDB4ZmYsIDB4NGEsIDB4ZTAsIDB4MzAsIDB4ZTcsIDB4MmMsIDB4OTAsIDB4ZmYsCi0weDRlLCAweGUwLCAweDMwLCAweGU3LCAweDI1LCAweGQwLCAweDgzLCAweGQwLCAweDgyLCAweDc0LCAweDAyLCAweGYwLCAweDgwLCAweDIwLCAweGI0LCAweDAyLAotMHgxZCwgMHhjMCwgMHg4MiwgMHhjMCwgMHg4MywgMHg5MCwgMHhmZiwgMHg3YSwgMHhlMCwgMHgzMCwgMHhlNywgMHgwNSwgMHgxMiwgMHgyOCwgMHg0ZSwgMHg4MCwKLTB4MDksIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ODIsIDB4NzQsIDB4MDMsIDB4ZjAsIDB4ODAsIDB4MDQsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ODIsIDB4YTMsIDB4ZTAsCi0weGI0LCAweDAxLCAweDFiLCAweGMwLCAweDgyLCAweGMwLCAweDgzLCAweDkwLCAweGZmLCAweDUyLCAweGUwLCAweDMwLCAweGU3LCAweDJjLCAweDkwLCAweGZmLAotMHg1NiwgMHhlMCwgMHgzMCwgMHhlNywgMHgyNSwgMHhkMCwgMHg4MywgMHhkMCwgMHg4MiwgMHg3NCwgMHgwMiwgMHhmMCwgMHg4MCwgMHgyNSwgMHhiNCwgMHgwMiwKLTB4MjIsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ODMsIDB4OTAsIDB4ZmYsIDB4N2EsIDB4ZTAsIDB4MzAsIDB4ZTcsIDB4MDUsIDB4MTIsIDB4MjgsIDB4NGUsIDB4ODAsCi0weDA5LCAweGQwLCAweDgzLCAweGQwLCAweDgyLCAweDc0LCAweDAzLCAweGYwLCAweDgwLCAweDA5LCAweGQwLCAweDgzLCAweGQwLCAweDgyLCAweDgwLCAweDAzLAotMHgwMiwgMHgwMiwgMHg5MCwgMHg3NCwgMHgxNiwgMHhmNSwgMHg4MiwgMHg3NCwgMHhmOSwgMHhmNSwgMHg4MywgMHhlMCwgMHgyMCwgMHgwNCwgMHhmMSwgMHgyMCwKLTB4MDIsIDB4MDMsIDB4MzAsIDB4MDEsIDB4ZWIsIDB4NzQsIDB4MTksIDB4ZjUsIDB4ODIsIDB4NzQsIDB4ZjksIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MTQsIDB4ZmMsCi0weGYwLCAweGEzLCAweGUwLCAweGZkLCAweGEzLCAweGUwLCAweGZlLCAweDY0LCAweDA0LCAweDcwLCAweDBmLCAweGVjLCAweDcwLCAweDYyLCAweDdlLCAweDAxLAotMHgxMiwgMHgwMCwgMHhjOSwgMHg3YywgMHgwYSwgMHg3ZCwgMHhmYSwgMHgwMiwgMHgwMiwgMHg2MSwgMHgxMiwgMHgwMCwgMHhjOSwgMHhlZSwgMHg2NCwgMHgwNCwKLTB4NjAsIDB4MWQsIDB4ZWMsIDB4NzAsIDB4NGIsIDB4N2MsIDB4MGEsIDB4ZWQsIDB4MTQsIDB4ZmQsIDB4NzAsIDB4MTUsIDB4ZWUsIDB4NjQsIDB4MDIsIDB4NjAsCi0weDA3LCAweDdlLCAweDAyLCAweDdkLCAweDMyLCAweDAyLCAweDAyLCAweDYxLCAweDdlLCAweDAxLCAweDdkLCAweGZhLCAweDAyLCAweDAyLCAweDYxLCAweDdjLAotMHgwYSwgMHg3NCwgMHgxOSwgMHhmNSwgMHg4MiwgMHg3NCwgMHhmOSwgMHhmNSwgMHg4MywgMHhlYywgMHhmMCwgMHhhMywgMHhlZCwgMHhmMCwgMHhhMywgMHhlZSwKLTB4ZjAsIDB4MTQsIDB4NjAsIDB4MTgsIDB4MjAsIDB4ZTEsIDB4MGYsIDB4MjAsIDB4MDEsIDB4MDYsIDB4ZDIsIDB4YjEsIDB4YzIsIDB4YjAsIDB4ODAsIDB4MTAsCi0weGMyLCAweGIxLCAweGQyLCAweGIwLCAweDgwLCAweDBhLCAweGMyLCAweGIxLCAweGMyLCAweGIwLCAweDgwLCAweDA0LCAweGQyLCAweGIwLCAweGQyLCAweGIxLAotMHg3OCwgMHgxOSwgMHg3OSwgMHgwOSwgMHg3YSwgMHgwNywgMHhlNywgMHg3MCwgMHgwNCwgMHhhNiwgMHgwMCwgMHg4MCwgMHgwYiwgMHhlNiwgMHg2MCwgMHgwOCwKLTB4MTYsIDB4ZTYsIDB4NzAsIDB4MDQsIDB4ZTcsIDB4NDQsIDB4ODAsIDB4ZjcsIDB4MDgsIDB4MDksIDB4ZGEsIDB4ZWEsIDB4ZTUsIDB4M2QsIDB4NjAsIDB4MTMsCi0weDE0LCAweGY1LCAweDNkLCAweDcwLCAweDBlLCAweGU1LCAweDNlLCAweDI0LCAweDA4LCAweGY4LCAweDc2LCAweDAwLCAweDEyLCAweDExLCAweDU3LCAweGQyLAotMHg4YywgMHhkMiwgMHg4ZCwgMHhkMCwgMHgwNywgMHhkMCwgMHgwNiwgMHhkMCwgMHgwNSwgMHhkMCwgMHgwNCwgMHhkMCwgMHgwMywgMHhkMCwgMHgwMiwgMHhkMCwKLTB4MDEsIDB4ZDAsIDB4MDAsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ZjAsIDB4ZDAsIDB4ZDAsIDB4ZDAsIDB4ZTAsIDB4MzIsIDB4OTAsIDB4ZmYsCi0weDA0LCAweGUwLCAweDkwLCAweGZhLCAweGI5LCAweGYwLCAweDkwLCAweGZmLCAweDA2LCAweGUwLCAweGZjLCAweGEzLCAweGUwLCAweGZhLCAweGVjLCAweGZmLAotMHhlYSwgMHhmZSwgMHhlZiwgMHhjMywgMHg5NCwgMHgwOCwgMHhlZSwgMHg5NCwgMHgwMSwgMHg1MCwgMHgwMiwgMHg4MCwgMHgwNCwgMHg3ZSwgMHgwMSwgMHg3ZiwKLTB4MDgsIDB4OGUsIDB4M2IsIDB4OGYsIDB4M2MsIDB4OTAsIDB4ZmYsIDB4MDIsIDB4ZTAsIDB4ZmMsIDB4YTMsIDB4ZTAsIDB4ZmEsIDB4ZWMsIDB4ZmYsIDB4ZWEsCi0weDkwLCAweGZhLCAweGJkLCAweGYwLCAweGVmLCAweGEzLCAweGYwLCAweDEyLCAweDFjLCAweGUwLCAweGU0LCAweGY1LCAweDRkLCAweGU1LCAweDRkLCAweGMzLAotMHg5NCwgMHgwMiwgMHg1MCwgMHgwZiwgMHgxMiwgMHgxYywgMHhjMSwgMHhlNCwgMHgxMiwgMHgxYSwgMHhlOCwgMHgwNSwgMHg0ZCwgMHgwNCwgMHgxMiwgMHgxYywKLTB4YjIsIDB4ODAsIDB4ZWEsIDB4MTIsIDB4MWMsIDB4ZTAsIDB4OTAsIDB4ZmYsIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4NTQsIDB4NjAsIDB4MjQsIDB4YzAsIDB4NzAsCi0weDAzLCAweDAyLCAweDA4LCAweGYzLCAweDI0LCAweDQwLCAweDYwLCAweDAzLCAweDAyLCAweDBmLCAweDZlLCAweDkwLCAweGZhLCAweGI5LCAweGUwLCAweGZlLAotMHg1NCwgMHgwZiwgMHhmNSwgMHg0ZCwgMHhlZSwgMHgzMCwgMHhlNywgMHgwMywgMHhkMywgMHg4MCwgMHgwMSwgMHhjMywgMHg5MiwgMHgwYSwgMHg5MCwgMHhmZiwKLTB4MDEsIDB4ZTAsIDB4MTIsIDB4MWIsIDB4ZmMsIDB4MDMsIDB4ODQsIDB4MDAsIDB4MDQsIDB4NTcsIDB4MDEsIDB4MDUsIDB4NmEsIDB4MDMsIDB4MDYsIDB4MzEsCi0weDA1LCAweDA2LCAweDczLCAweDA2LCAweDA3LCAweGQ1LCAweDA4LCAweDA4LCAweDFkLCAweDA5LCAweDA4LCAweDc5LCAweDBhLCAweDA4LCAweGI5LCAweDBiLAotMHgwMCwgMHgwMCwgMHgwZiwgMHg2ZSwgMHhlNSwgMHgzNSwgMHgyMCwgMHhlNywgMHgwMywgMHgwMiwgMHgwZiwgMHg2ZSwgMHg5MCwgMHhmYSwgMHhiZCwgMHhlMCwKLTB4NzAsIDB4MDIsIDB4YTMsIDB4ZTAsIDB4NjAsIDB4MDMsIDB4MDIsIDB4MGYsIDB4NmUsIDB4ZTUsIDB4M2MsIDB4NjQsIDB4MDIsIDB4NDUsIDB4M2IsIDB4NjAsCi0weDAzLCAweDAyLCAweDBmLCAweDZlLCAweGVmLCAweDU0LCAweDFmLCAweDE0LCAweDYwLCAweDJiLCAweDE0LCAweDYwLCAweDQ3LCAweDI0LCAweDAyLCAweDYwLAotMHgwMywgMHgwMiwgMHgwZiwgMHg2ZSwgMHhlZSwgMHg2MCwgMHgwMywgMHgwMiwgMHgwZiwgMHg2ZSwgMHgxMiwgMHgxYywgMHhjMSwgMHg3NCwgMHgwMSwgMHgxMiwKLTB4MWEsIDB4ZTgsIDB4NzgsIDB4NjcsIDB4ZTYsIDB4MzAsIDB4ZTAsIDB4MDgsIDB4MTIsIDB4MWMsIDB4YzEsIDB4NzQsIDB4MDIsIDB4MTIsIDB4MWEsIDB4ZTgsCi0weDdmLCAweDAyLCAweDAyLCAweDMyLCAweDZlLCAweGU1LCAweDM1LCAweDIwLCAweGUxLCAweDA5LCAweDkwLCAweGZhLCAweGI5LCAweGUwLCAweDYwLCAweDAzLAotMHgwMiwgMHgwZiwgMHg2ZSwgMHg5MCwgMHhmYSwgMHhiOSwgMHhlMCwgMHhkMywgMHg5NCwgMHgwMSwgMHg0MCwgMHgwMywgMHgwMiwgMHgwZiwgMHg2ZSwgMHg3ZiwKLTB4MDIsIDB4MDIsIDB4MzIsIDB4NmUsIDB4ZTUsIDB4MzUsIDB4MjAsIDB4ZTEsIDB4MGUsIDB4OTAsIDB4ZmEsIDB4YjksIDB4ZTAsIDB4ZmYsIDB4NjAsIDB4MDcsCi0weDY0LCAweDgwLCAweDYwLCAweDAzLCAweDAyLCAweDBmLCAweDZlLCAweDEyLCAweDBmLCAweGZhLCAweDQwLCAweDAzLCAweDAyLCAweDBmLCAweDZlLCAweGU1LAotMHg0ZCwgMHg3MCwgMHgxOSwgMHgzMCwgMHgwYSwgMHgwYiwgMHg5MCwgMHhmZiwgMHg4MCwgMHgxMiwgMHgxYywgMHhiZSwgMHgxMiwgMHgxYSwgMHhlOCwgMHg4MCwKLTB4MjQsIDB4OTAsIDB4ZmYsIDB4ODIsIDB4MTIsIDB4MWMsIDB4YmUsIDB4MTIsIDB4MWEsIDB4ZTgsIDB4ODAsIDB4MTksIDB4MTUsIDB4NGQsIDB4MzAsIDB4MGEsCi0weDBiLCAweDEyLCAweDFkLCAweDU1LCAweDEyLCAweDFjLCAweGJjLCAweDEyLCAweDFhLCAweGU4LCAweDgwLCAweDA5LCAweDEyLCAweDFkLCAweDYzLCAweDEyLAotMHgxYywgMHhiYywgMHgxMiwgMHgxYSwgMHhlOCwgMHgxMiwgMHgxYywgMHhjMSwgMHgxMiwgMHgxYSwgMHhhMiwgMHg2MCwgMHgwNSwgMHg3NCwgMHgwMSwgMHgxMiwKLTB4MWEsIDB4ZTgsIDB4N2YsIDB4MDIsIDB4MDIsIDB4MzIsIDB4NmUsIDB4ZTUsIDB4MzUsIDB4MzAsIDB4ZTcsIDB4MDMsIDB4MDIsIDB4MGYsIDB4NmUsIDB4ZTUsCi0weDNjLCAweDQ1LCAweDNiLCAweDYwLCAweDAzLCAweDAyLCAweDBmLCAweDZlLCAweDEyLCAweDFkLCAweDc5LCAweDE0LCAweDYwLCAweDJkLCAweDE0LCAweDYwLAotMHg1OSwgMHgyNCwgMHgwMiwgMHg2MCwgMHgwMywgMHgwMiwgMHgwZiwgMHg2ZSwgMHg5MCwgMHhmYSwgMHhiZCwgMHhlMCwgMHg3MCwgMHgwNCwgMHhhMywgMHhlMCwKLTB4NjQsIDB4MDEsIDB4NjAsIDB4MDMsIDB4MDIsIDB4MGYsIDB4NmUsIDB4OTAsIDB4ZmEsIDB4YjksIDB4ZTAsIDB4NjAsIDB4MDMsIDB4MDIsIDB4MGYsIDB4NmUsCi0weDc4LCAweDY3LCAweGU2LCAweDU0LCAweGZlLCAweGY2LCAweGU0LCAweGZmLCAweDAyLCAweDMyLCAweDZlLCAweGU1LCAweDM1LCAweDIwLCAweGUxLCAweDA2LAotMHgyMCwgMHhlMCwgMHgwMywgMHgwMiwgMHgwZiwgMHg2ZSwgMHhlNSwgMHgzNSwgMHgzMCwgMHhlMCwgMHgwOSwgMHg5MCwgMHhmYSwgMHhiOSwgMHhlMCwgMHg2MCwKLTB4MDMsIDB4MDIsIDB4MGYsIDB4NmUsIDB4ZTUsIDB4MzUsIDB4MzAsIDB4ZTEsIDB4MGMsIDB4OTAsIDB4ZmEsIDB4YjksIDB4ZTAsIDB4ZDMsIDB4OTQsIDB4MDEsCi0weDQwLCAweDAzLCAweDAyLCAweDBmLCAweDZlLCAweGU0LCAweGZmLCAweDAyLCAweDMyLCAweDZlLCAweDkwLCAweGZhLCAweGJkLCAweGUwLCAweDcwLCAweDAyLAotMHhhMywgMHhlMCwgMHg2MCwgMHgwMywgMHgwMiwgMHgwZiwgMHg2ZSwgMHgxMiwgMHgwZiwgMHhmYSwgMHg0MCwgMHgwMywgMHgwMiwgMHgwZiwgMHg2ZSwgMHhlNSwKLTB4MzUsIDB4MjAsIDB4ZTEsIDB4MDYsIDB4MjAsIDB4ZTAsIDB4MDMsIDB4MDIsIDB4MGYsIDB4NmUsIDB4ZTUsIDB4MzUsIDB4MzAsIDB4ZTAsIDB4MDcsIDB4ZTUsCi0weDRkLCAweDYwLCAweDAzLCAweDAyLCAweDBmLCAweDZlLCAweGU1LCAweDRkLCAweDcwLCAweDBmLCAweDkwLCAweGZmLCAweDgyLCAweGUwLCAweDU0LCAweGY3LAotMHhmMCwgMHg5MCwgMHhmZiwgMHg4MCwgMHhlMCwgMHg1NCwgMHhmNywgMHhmMCwgMHgyMiwgMHhlNSwgMHg0ZCwgMHgyNCwgMHhmZSwgMHg2MCwgMHgyMCwgMHgyNCwKLTB4ZmIsIDB4NjAsIDB4MzQsIDB4MjQsIDB4MDYsIDB4NzAsIDB4MzUsIDB4MzAsIDB4MGEsIDB4MGMsIDB4YTIsIDB4MGEsIDB4ZTQsIDB4MzMsIDB4ZmQsIDB4N2YsCi0weDAzLCAweDEyLCAweDJlLCAweDc5LCAweDgwLCAweDI2LCAweGU0LCAweGZkLCAweDdmLCAweDAzLCAweDEyLCAweDJlLCAweDc5LCAweDgwLCAweDFkLCAweDMwLAotMHgwYSwgMHgwYywgMHhhMiwgMHgwYSwgMHhlNCwgMHgzMywgMHhmZCwgMHg3ZiwgMHgwNCwgMHgxMiwgMHgyZSwgMHg3OSwgMHg4MCwgMHgwZSwgMHhlNCwgMHhmZCwKLTB4N2YsIDB4MDQsIDB4MTIsIDB4MmUsIDB4NzksIDB4ODAsIDB4MDUsIDB4N2YsIDB4ODcsIDB4MTIsIDB4MzEsIDB4ZWYsIDB4MTUsIDB4NGQsIDB4MzAsIDB4MGEsCi0weDBiLCAweDEyLCAweDFkLCAweDU1LCAweGY1LCAweDgzLCAweGUwLCAweDU0LCAweGY3LCAweGYwLCAweDgwLCAweDA5LCAweDEyLCAweDFkLCAweDYzLCAweGY1LAotMHg4MywgMHhlMCwgMHg1NCwgMHhmNywgMHhmMCwgMHhlNCwgMHhmZiwgMHgwMiwgMHgzMiwgMHg2ZSwgMHhlNSwgMHgzNSwgMHgzMCwgMHhlNywgMHgwMywgMHgwMiwKLTB4MGYsIDB4NmUsIDB4ZTUsIDB4M2MsIDB4NDUsIDB4M2IsIDB4NjAsIDB4MDMsIDB4MDIsIDB4MGYsIDB4NmUsIDB4MTIsIDB4MWQsIDB4NzksIDB4MTQsIDB4NjAsCi0weDJkLCAweDE0LCAweDYwLCAweDU1LCAweDI0LCAweDAyLCAweDYwLCAweDAzLCAweDAyLCAweDBmLCAweDZlLCAweDkwLCAweGZhLCAweGJkLCAweGUwLCAweDcwLAotMHgwNCwgMHhhMywgMHhlMCwgMHg2NCwgMHgwMSwgMHg2MCwgMHgwMywgMHgwMiwgMHgwZiwgMHg2ZSwgMHg5MCwgMHhmYSwgMHhiOSwgMHhlMCwgMHg2MCwgMHgwMywKLTB4MDIsIDB4MGYsIDB4NmUsIDB4NzgsIDB4NjcsIDB4ZTYsIDB4NDQsIDB4MDEsIDB4ZjYsIDB4ZTQsIDB4ZmYsIDB4MDIsIDB4MzIsIDB4NmUsIDB4ZTUsIDB4MzUsCi0weDIwLCAweGUxLCAweDA2LCAweDIwLCAweGUwLCAweDAzLCAweDAyLCAweDBmLCAweDZlLCAweGU1LCAweDM1LCAweDMwLCAweGUwLCAweDA3LCAweGU1LCAweDRkLAotMHg2MCwgMHgwMywgMHgwMiwgMHgwZiwgMHg2ZSwgMHhlNSwgMHgzNSwgMHgzMCwgMHhlMSwgMHgwYSwgMHhlNSwgMHg0ZCwgMHhkMywgMHg5NCwgMHgwMSwgMHg0MCwKLTB4MDMsIDB4MDIsIDB4MGYsIDB4NmUsIDB4ZTQsIDB4ZmYsIDB4MDIsIDB4MzIsIDB4NmUsIDB4OTAsIDB4ZmEsIDB4YmQsIDB4ZTAsIDB4NzAsIDB4MDIsIDB4YTMsCi0weGUwLCAweDYwLCAweDAzLCAweDAyLCAweDBmLCAweDZlLCAweDkwLCAweGZhLCAweGI5LCAweGUwLCAweGZmLCAweDEyLCAweDMyLCAweDNmLCAweDQwLCAweDAzLAotMHgwMiwgMHgwZiwgMHg2ZSwgMHhlNSwgMHgzNSwgMHgyMCwgMHhlMSwgMHgwNiwgMHgyMCwgMHhlMCwgMHgwMywgMHgwMiwgMHgwZiwgMHg2ZSwgMHhlNSwgMHg0ZCwKLTB4NzAsIDB4MDksIDB4MzAsIDB4MGEsIDB4MDMsIDB4MDIsIDB4MWUsIDB4MTQsIDB4MDIsIDB4MWQsIDB4ZGYsIDB4ZTUsIDB4MzUsIDB4MjAsIDB4ZTEsIDB4MDMsCi0weDAyLCAweDBmLCAweDZlLCAweDE1LCAweDRkLCAweDMwLCAweDBhLCAweDBiLCAweDEyLCAweDFkLCAweDU1LCAweGY1LCAweDgzLCAweGUwLCAweDQ0LCAweDA4LAotMHhmMCwgMHg4MCwgMHgwOSwgMHgxMiwgMHgxZCwgMHg2MywgMHhmNSwgMHg4MywgMHhlMCwgMHg0NCwgMHgwOCwgMHhmMCwgMHhlNCwgMHhmZiwgMHgwMiwgMHgzMiwKLTB4NmUsIDB4ZTUsIDB4MzUsIDB4MzAsIDB4ZTcsIDB4MDMsIDB4MDIsIDB4MGYsIDB4NmUsIDB4ZTUsIDB4M2MsIDB4NDUsIDB4M2IsIDB4NjAsIDB4MDMsIDB4MDIsCi0weDBmLCAweDZlLCAweDkwLCAweGZhLCAweGI5LCAweGUwLCAweDYwLCAweDAzLCAweDAyLCAweDBmLCAweDZlLCAweDEyLCAweDFkLCAweDc5LCAweDYwLCAweDAzLAotMHgwMiwgMHgwZiwgMHg2ZSwgMHhlNSwgMHgzNSwgMHgzMCwgMHhlMSwgMHgwMywgMHgwMiwgMHgwZiwgMHg2ZSwgMHg5MCwgMHhmYSwgMHhiZSwgMHhlMCwgMHg5MCwKLTB4ZmYsIDB4ZmYsIDB4ZjAsIDB4ZTAsIDB4NjAsIDB4MDUsIDB4NDMsIDB4MzUsIDB4MDEsIDB4ODAsIDB4MDMsIDB4NTMsIDB4MzUsIDB4ZmUsIDB4ZTQsIDB4ZmYsCi0weDAyLCAweDMyLCAweDZlLCAweGU1LCAweDM1LCAweDIwLCAweGU3LCAweDAzLCAweDAyLCAweDBmLCAweDZlLCAweGU1LCAweDNjLCAweDQ1LCAweDNiLCAweDcwLAotMHgwMywgMHgwMiwgMHgwZiwgMHg2ZSwgMHgxMiwgMHgxZCwgMHg3OSwgMHg2MCwgMHgwMywgMHgwMiwgMHgwZiwgMHg2ZSwgMHg5MCwgMHhmYSwgMHhiZCwgMHhlMCwKLTB4ZmMsIDB4YTMsIDB4ZTAsIDB4ZmQsIDB4ZWMsIDB4MjQsIDB4ZmUsIDB4NjAsIDB4M2EsIDB4MTQsIDB4NjAsIDB4NzUsIDB4MjQsIDB4MDIsIDB4NjAsIDB4MDMsCi0weDAyLCAweDBmLCAweDZlLCAweGVkLCAweDYwLCAweDAzLCAweDAyLCAweDBmLCAweDZlLCAweDEyLCAweDFjLCAweGUwLCAweDEyLCAweDFlLCAweDBkLCAweDdkLAotMHgwMywgMHgxMiwgMHgwZiwgMHhiNSwgMHg2MCwgMHgwMywgMHgwMiwgMHgwZiwgMHg2ZSwgMHgxMiwgMHgwZiwgMHg3MiwgMHg5MCwgMHhmYSwgMHhiNiwgMHhlMCwKLTB4ZmQsIDB4YTMsIDB4MTIsIDB4MWQsIDB4MmIsIDB4MTIsIDB4MGYsIDB4ZDEsIDB4NTAsIDB4MDIsIDB4ODAsIDB4MDQsIDB4YWUsIDB4M2IsIDB4YWYsIDB4M2MsCi0weDAyLCAweDEwLCAweDAyLCAweDEyLCAweDFjLCAweGUwLCAweDkwLCAweGY5LCAweDE2LCAweGUwLCAweDMwLCAweGU0LCAweDBkLCAweDEyLCAweDFlLCAweDBkLAotMHg3ZCwgMHgxNCwgMHgxMiwgMHgwZiwgMHhiNSwgMHg2MCwgMHgxMCwgMHgwMiwgMHgwZiwgMHg2ZSwgMHgxMiwgMHgxZSwgMHgwZCwgMHg3ZCwgMHgwNCwgMHgxMiwKLTB4MTAsIDB4MDksIDB4NjAsIDB4MDMsIDB4MDIsIDB4MGYsIDB4NmUsIDB4MTIsIDB4MGYsIDB4NzIsIDB4OTAsIDB4ZmEsIDB4YjYsIDB4ZTAsIDB4ZmQsIDB4YTMsCi0weDEyLCAweDFkLCAweDJiLCAweDEyLCAweDBmLCAweGQxLCAweDUwLCAweDAyLCAweDgwLCAweDA0LCAweGFlLCAweDNiLCAweGFmLCAweDNjLCAweDAyLCAweDEwLAotMHgwMiwgMHgxMiwgMHgxZSwgMHgwZCwgMHg3ZCwgMHgwNSwgMHgxMiwgMHgxMCwgMHgwOSwgMHg2MCwgMHgwMywgMHgwMiwgMHgwZiwgMHg2ZSwgMHg3YiwgMHgwMSwKLTB4N2EsIDB4ZmEsIDB4NzksIDB4YjYsIDB4MTIsIDB4MWQsIDB4MjgsIDB4N2QsIDB4MDEsIDB4MTIsIDB4MjYsIDB4OTgsIDB4OTAsIDB4ZmEsIDB4YjcsIDB4ZTQsCi0weDc1LCAweGYwLCAweDAzLCAweDEyLCAweDFiLCAweDFjLCAweDkwLCAweGZhLCAweGJlLCAweGUwLCAweDkwLCAweGZhLCAweGI1LCAweGYwLCAweGU0LCAweGY1LAotMHg0YywgMHg5MCwgMHhmYSwgMHhiNSwgMHhlMCwgMHhmZiwgMHhlNSwgMHg0YywgMHhjMywgMHg5ZiwgMHg1MCwgMHgyNCwgMHgxMiwgMHgxZCwgMHgyMiwgMHgxMiwKLTB4MTAsIDB4MTQsIDB4ZmYsIDB4ZmQsIDB4OTAsIDB4ZmEsIDB4YjcsIDB4ZTQsIDB4OGQsIDB4ZjAsIDB4MTIsIDB4MWIsIDB4MWMsIDB4OTAsIDB4ZmEsIDB4YjYsCi0weGUwLCAweGMzLCAweDlmLCAweGYwLCAweGQzLCAweDk0LCAweDAwLCAweDUwLCAweDAzLCAweDAyLCAweDBmLCAweDZlLCAweDA1LCAweDRjLCAweDgwLCAweGQxLAotMHgxMiwgMHgxZCwgMHgyMiwgMHgxMiwgMHgxMCwgMHgxNCwgMHgyNCwgMHhmZSwgMHhmZiwgMHg5MCwgMHhmYSwgMHhiNiwgMHhmMCwgMHhmZCwgMHhhMywgMHhlNCwKLTB4NzUsIDB4ZjAsIDB4MDIsIDB4MTIsIDB4MWIsIDB4MWMsIDB4N2EsIDB4ZjksIDB4NzksIDB4NzIsIDB4N2IsIDB4MDEsIDB4OGIsIDB4MzYsIDB4OGEsIDB4MzcsCi0weDg5LCAweDM4LCAweGU5LCAweDI0LCAweDAyLCAweGY5LCAweGU0LCAweDNhLCAweGZhLCAweDEyLCAweDFkLCAweDI4LCAweDEyLCAweDI2LCAweDk4LCAweDhmLAotMHg0YywgMHgwNSwgMHg0YywgMHgwNSwgMHg0YywgMHgxMiwgMHgxYywgMHhjMSwgMHhlNSwgMHg0YywgMHgxMiwgMHgxYSwgMHhlOCwgMHgxMiwgMHgxYywgMHhjMSwKLTB4OTAsIDB4MDAsIDB4MDEsIDB4NzQsIDB4MDMsIDB4MTIsIDB4MWEsIDB4ZmEsIDB4YWYsIDB4NGMsIDB4N2UsIDB4MDAsIDB4YzMsIDB4ZWYsIDB4OTUsIDB4M2MsCi0weGVlLCAweDk1LCAweDNiLCAweDUwLCAweDAyLCAweDgwLCAweDA0LCAweGFlLCAweDNiLCAweGFmLCAweDNjLCAweDhlLCAweDM5LCAweDhmLCAweDNhLCAweDAyLAotMHgyYywgMHhkOCwgMHgwMiwgMHgwZiwgMHg2ZSwgMHhlNSwgMHgzNSwgMHgyMCwgMHhlNywgMHgwMywgMHgwMiwgMHgwZiwgMHg2ZSwgMHhlNSwgMHgzYywgMHg2NCwKLTB4MDEsIDB4NDUsIDB4M2IsIDB4NjAsIDB4MDMsIDB4MDIsIDB4MGYsIDB4NmUsIDB4OTAsIDB4ZmEsIDB4YjksIDB4ZTAsIDB4NjAsIDB4MDMsIDB4MDIsIDB4MGYsCi0weDZlLCAweDkwLCAweGZhLCAweGJkLCAweGUwLCAweDcwLCAweDAyLCAweGEzLCAweGUwLCAweDYwLCAweDAzLCAweDAyLCAweDBmLCAweDZlLCAweDEyLCAweDFkLAotMHg3OSwgMHg2MCwgMHgwMywgMHgwMiwgMHgwZiwgMHg2ZSwgMHhlNSwgMHgzNSwgMHgyMCwgMHhlMCwgMHgwNiwgMHgyMCwgMHhlMSwgMHgwMywgMHgwMiwgMHgwZiwKLTB4NmUsIDB4NzUsIDB4MzYsIDB4MDAsIDB4NzUsIDB4MzcsIDB4MDAsIDB4NzUsIDB4MzgsIDB4MzIsIDB4MDIsIDB4MGYsIDB4ZjEsIDB4ZTUsIDB4MzUsIDB4MzAsCi0weGU3LCAweDAzLCAweDAyLCAweDBmLCAweDZlLCAweGU1LCAweDNjLCAweDQ1LCAweDNiLCAweDYwLCAweDAzLCAweDAyLCAweDBmLCAweDZlLCAweDkwLCAweGZhLAotMHhiOSwgMHhlMCwgMHg2MCwgMHgwMywgMHgwMiwgMHgwZiwgMHg2ZSwgMHhkMywgMHg5MCwgMHhmYSwgMHhiZSwgMHhlMCwgMHg5NCwgMHgwMSwgMHg5MCwgMHhmYSwKLTB4YmQsIDB4ZTAsIDB4OTQsIDB4MDAsIDB4NDAsIDB4MDMsIDB4MDIsIDB4MGYsIDB4NmUsIDB4MTIsIDB4MWQsIDB4NzksIDB4NjAsIDB4MDMsIDB4MDIsIDB4MGYsCi0weDZlLCAweGU1LCAweDM1LCAweDIwLCAweGUwLCAweDA2LCAweDIwLCAweGUxLCAweDAzLCAweDAyLCAweDBmLCAweDZlLCAweDkwLCAweGZhLCAweGJlLCAweGUwLAotMHhmNSwgMHgzMiwgMHhlNSwgMHgzMiwgMHg3MCwgMHgwOCwgMHg0MywgMHgzNSwgMHgwMSwgMHg1MywgMHgzNSwgMHhmZCwgMHg4MCwgMHgwNiwgMHg1MywgMHgzNSwKLTB4ZmUsIDB4NDMsIDB4MzUsIDB4MDIsIDB4ZTQsIDB4ZmYsIDB4MDIsIDB4MzIsIDB4NmUsIDB4ZTUsIDB4MzUsIDB4MjAsIDB4ZTcsIDB4MDMsIDB4MDIsIDB4MGYsCi0weDZlLCAweGU1LCAweDNjLCAweDY0LCAweDAxLCAweDQ1LCAweDNiLCAweDYwLCAweDAzLCAweDAyLCAweDBmLCAweDZlLCAweDkwLCAweGZhLCAweGI5LCAweGUwLAotMHg2MCwgMHgwMywgMHgwMiwgMHgwZiwgMHg2ZSwgMHg5MCwgMHhmYSwgMHhiZCwgMHhlMCwgMHg3MCwgMHgwMiwgMHhhMywgMHhlMCwgMHg2MCwgMHgwMywgMHgwMiwKLTB4MGYsIDB4NmUsIDB4MTIsIDB4MWQsIDB4NzksIDB4NjQsIDB4MDEsIDB4NjAsIDB4MDMsIDB4MDIsIDB4MGYsIDB4NmUsIDB4ZTUsIDB4MzUsIDB4MjAsIDB4ZTEsCi0weDAzLCAweDAyLCAweDBmLCAweDZlLCAweDdmLCAweDAxLCAweDAyLCAweDMyLCAweDZlLCAweGU1LCAweDM1LCAweDMwLCAweGU3LCAweDAzLCAweDAyLCAweDBmLAotMHg2ZSwgMHhlNSwgMHgzYywgMHg0NSwgMHgzYiwgMHg2MCwgMHgwMywgMHgwMiwgMHgwZiwgMHg2ZSwgMHhkMywgMHg5MCwgMHhmYSwgMHhiZSwgMHhlMCwgMHg5NCwKLTB4MDAsIDB4OTAsIDB4ZmEsIDB4YmQsIDB4ZTAsIDB4OTQsIDB4MDAsIDB4NDAsIDB4MDMsIDB4MDIsIDB4MGYsIDB4NmUsIDB4MTIsIDB4MWQsIDB4NzksIDB4NjQsCi0weDAxLCAweDYwLCAweDAzLCAweDAyLCAweDBmLCAweDZlLCAweGU1LCAweDM1LCAweDIwLCAweGUxLCAweDAzLCAweDAyLCAweDBmLCAweDZlLCAweGU0LCAweGZmLAotMHgwMiwgMHgzMiwgMHg2ZSwgMHg5MCwgMHhmZiwgMHgwMSwgMHgxMiwgMHgxZSwgMHgyNCwgMHhlZiwgMHgxMiwgMHgxYSwgMHhlOCwgMHg5MCwgMHhmYSwgMHhiOSwKLTB4MTIsIDB4MWUsIDB4MjQsIDB4OTAsIDB4MDAsIDB4MDEsIDB4ZWYsIDB4MTIsIDB4MWEsIDB4ZmEsIDB4OTAsIDB4MDAsIDB4MDIsIDB4ZTQsIDB4MTIsIDB4MWEsCi0weGZhLCAweDc0LCAweDAzLCAweDEyLCAweDFjLCAweGIyLCAweDkwLCAweGZhLCAweGJkLCAweGUwLCAweGZmLCAweGEzLCAweGUwLCAweDg1LCAweDM4LCAweDgyLAotMHg4NSwgMHgzNywgMHg4MywgMHhjZiwgMHhmMCwgMHhhMywgMHhlZiwgMHhmMCwgMHg5MCwgMHhmZiwgMHgwMSwgMHhlMCwgMHgxMiwgMHgxYiwgMHhmYywgMHgwOSwKLTB4N2IsIDB4MDIsIDB4MDksIDB4OWQsIDB4MDQsIDB4MDksIDB4YmYsIDB4MDUsIDB4MDksIDB4ZWIsIDB4MDYsIDB4MGEsIDB4MDksIDB4MDcsIDB4MGEsIDB4MjcsCi0weDA4LCAweDBhLCAweDQ1LCAweDA5LCAweDBhLCAweDYzLCAweDBiLCAweDBiLCAweDE4LCAweDgwLCAweDBkLCAweGI3LCAweDgxLCAweDBkLCAweGU4LCAweDgyLAotMHgwYiwgMHg1ZiwgMHg4MywgMHgwYiwgMHhhOCwgMHg4NCwgMHgwYiwgMHhjNywgMHg4NSwgMHgwYywgMHgwYywgMHg4NiwgMHgwYywgMHg1NywgMHg4NywgMHgwYywKLTB4ZTgsIDB4ODgsIDB4MGQsIDB4NzMsIDB4ODksIDB4MGEsIDB4ODEsIDB4OTIsIDB4MGEsIDB4ODEsIDB4OTMsIDB4MGQsIDB4YTAsIDB4YjAsIDB4MGUsIDB4OWIsCi0weGMwLCAweDBlLCAweGM3LCAweGMxLCAweDBlLCAweGQ4LCAweGMyLCAweDAwLCAweDAwLCAweDBmLCAweDVkLCAweGU1LCAweDM1LCAweDIwLCAweGU3LCAweDA1LAotMHg3ZiwgMHgwNSwgMHgwMiwgMHgzMSwgMHhhOSwgMHgxMiwgMHgxZCwgMHg3MSwgMHg2MCwgMHgwMywgMHgwNCwgMHg3MCwgMHgwOSwgMHhlZiwgMHhmZCwgMHg3YywKLTB4MDAsIDB4N2YsIDB4MDcsIDB4MDIsIDB4MTEsIDB4NWUsIDB4ZTQsIDB4ZmQsIDB4N2YsIDB4MDcsIDB4MDIsIDB4MmYsIDB4YjQsIDB4ZTUsIDB4MzUsIDB4MjAsCi0weGU3LCAweDA1LCAweDdmLCAweDA1LCAweDAyLCAweDMxLCAweGE5LCAweDEyLCAweDFkLCAweDcxLCAweDYwLCAweDAzLCAweDA0LCAweDcwLCAweDA5LCAweGVmLAotMHhmZCwgMHg3YywgMHgwMCwgMHg3ZiwgMHgwYywgMHgwMiwgMHgxMSwgMHg1ZSwgMHhlNCwgMHhmZCwgMHg3ZiwgMHgwNywgMHgwMiwgMHgyZiwgMHhiNCwgMHhlNSwKLTB4MzUsIDB4MzAsIDB4ZTcsIDB4MDMsIDB4MDIsIDB4MGYsIDB4NzEsIDB4MTIsIDB4MWUsIDB4NDIsIDB4NTAsIDB4MDYsIDB4ZTUsIDB4M2MsIDB4NDUsIDB4M2IsCi0weDcwLCAweDA1LCAweDdmLCAweDAyLCAweDAyLCAweDMxLCAweGE5LCAweDkwLCAweGZhLCAweGI5LCAweGUwLCAweDI0LCAweGZlLCAweDI0LCAweGZkLCAweDUwLAotMHgwMiwgMHg4MCwgMHgwMywgMHgwMiwgMHgzMiwgMHgyYywgMHg3ZiwgMHgwNywgMHgwMiwgMHgzMSwgMHhhOSwgMHhlNSwgMHgzNSwgMHgzMCwgMHhlNywgMHgwMywKLTB4MDIsIDB4MGYsIDB4NzEsIDB4MTIsIDB4MWQsIDB4NzEsIDB4NjAsIDB4MDMsIDB4MDQsIDB4NzAsIDB4MDksIDB4ZWYsIDB4ZmQsIDB4N2MsIDB4MDAsIDB4N2YsCi0weDA4LCAweDAyLCAweDExLCAweDVlLCAweDdmLCAweDA3LCAweDAyLCAweDMxLCAweGE5LCAweGU1LCAweDM1LCAweDMwLCAweGU3LCAweDAzLCAweDAyLCAweDBmLAotMHg3MSwgMHgxMiwgMHgxZCwgMHg3MSwgMHg2MCwgMHgwMywgMHgwNCwgMHg3MCwgMHgwOSwgMHhlZiwgMHhmZCwgMHg3YywgMHgwMCwgMHg3ZiwgMHgwOSwgMHgwMiwKLTB4MTEsIDB4NWUsIDB4N2YsIDB4MDcsIDB4MDIsIDB4MzEsIDB4YTksIDB4ZTUsIDB4MzUsIDB4MzAsIDB4ZTcsIDB4MDMsIDB4MDIsIDB4MGYsIDB4NzEsIDB4MTIsCi0weDFkLCAweDcxLCAweDYwLCAweDAzLCAweDA0LCAweDcwLCAweDA5LCAweGVmLCAweGZkLCAweDdjLCAweDAwLCAweDdmLCAweDBhLCAweDAyLCAweDExLCAweDVlLAotMHg3ZiwgMHgwNywgMHgwMiwgMHgzMSwgMHhhOSwgMHhlNSwgMHgzNSwgMHgzMCwgMHhlNywgMHgwMywgMHgwMiwgMHgwZiwgMHg3MSwgMHgxMiwgMHgxZCwgMHg3MSwKLTB4NjAsIDB4MDMsIDB4MDQsIDB4NzAsIDB4MDksIDB4ZWYsIDB4ZmQsIDB4N2MsIDB4MDAsIDB4N2YsIDB4MGIsIDB4MDIsIDB4MTEsIDB4NWUsIDB4N2YsIDB4MDcsCi0weDAyLCAweDMxLCAweGE5LCAweGU1LCAweDM1LCAweDMwLCAweGU3LCAweDAzLCAweDAyLCAweDBmLCAweDcxLCAweDEyLCAweDFkLCAweDcxLCAweDYwLCAweDAzLAotMHgwNCwgMHg3MCwgMHgwOSwgMHhlZiwgMHhmZCwgMHg3YywgMHgwMCwgMHg3ZiwgMHgwZSwgMHgwMiwgMHgxMSwgMHg1ZSwgMHg3ZiwgMHgwNywgMHgwMiwgMHgzMSwKLTB4YTksIDB4ZTUsIDB4MzUsIDB4MzAsIDB4ZTcsIDB4NTYsIDB4MTIsIDB4MWQsIDB4NzksIDB4NzAsIDB4NGEsIDB4OTAsIDB4ZmYsIDB4MDIsIDB4ZTAsIDB4ZjUsCi0weDRjLCAweGU1LCAweDRjLCAweGI0LCAweDgyLCAweDA1LCAweDc1LCAweDRjLCAweDYxLCAweDgwLCAweDEyLCAweGU1LCAweDRjLCAweGI0LCAweDgzLCAweDA1LAotMHg3NSwgMHg0YywgMHg2MiwgMHg4MCwgMHgwOCwgMHhlNSwgMHg0YywgMHhjNCwgMHg1NCwgMHhmMCwgMHgwNCwgMHhmNSwgMHg0YywgMHgxMiwgMHgxYywgMHgyMiwKLTB4MTIsIDB4MWUsIDB4M2IsIDB4MTIsIDB4MjUsIDB4ZmEsIDB4MTIsIDB4MWQsIDB4ODksIDB4MTIsIDB4MWEsIDB4YmIsIDB4NjAsIDB4MDUsIDB4MTIsIDB4MzIsCi0weDdhLCAweDgwLCAweDA2LCAweDg1LCAweDMzLCAweDM5LCAweDg1LCAweDM0LCAweDNhLCAweDc1LCAweDM2LCAweDAxLCAweDc1LCAweDM3LCAweGY5LCAweDc1LAotMHgzOCwgMHg3NSwgMHgwMiwgMHgyYywgMHhkOCwgMHhlNCwgMHhmZCwgMHg3ZiwgMHgwNSwgMHgwMiwgMHgyZiwgMHhiNCwgMHgxMiwgMHgxZCwgMHg3OSwgMHg2MCwKLTB4MDUsIDB4N2YsIDB4MDUsIDB4MDIsIDB4MzEsIDB4YTksIDB4MTIsIDB4MWUsIDB4NDIsIDB4NDAsIDB4MDUsIDB4N2YsIDB4MDMsIDB4MDIsIDB4MzEsIDB4YTksCi0weDkwLCAweGZmLCAweDAyLCAweGUwLCAweGY1LCAweDRjLCAweGU1LCAweDRjLCAweGI0LCAweDgyLCAweDA1LCAweDc1LCAweDRjLCAweDYxLCAweDgwLCAweDEyLAotMHhlNSwgMHg0YywgMHhiNCwgMHg4MywgMHgwNSwgMHg3NSwgMHg0YywgMHg2MiwgMHg4MCwgMHgwOCwgMHhlNSwgMHg0YywgMHhjNCwgMHg1NCwgMHhmMCwgMHgwNCwKLTB4ZjUsIDB4NGMsIDB4MTIsIDB4MWMsIDB4MjIsIDB4MDIsIDB4MzIsIDB4MmMsIDB4MTIsIDB4MWUsIDB4NGMsIDB4MTIsIDB4MmEsIDB4YzcsIDB4MTIsIDB4MWQsCi0weDMzLCAweGUwLCAweDU0LCAweDdmLCAweGYwLCAweDAwLCAweDAwLCAweDAwLCAweGUwLCAweDkwLCAweGZhLCAweGJhLCAweGYwLCAweDc4LCAweDY4LCAweDEyLAotMHgxYiwgMHhkOCwgMHg5MCwgMHgwMCwgMHgwMiwgMHgxMiwgMHgxYSwgMHhiYiwgMHgzMCwgMHhlNywgMHhmMiwgMHg5MCwgMHgwMCwgMHgwMiwgMHhlNCwgMHgxMiwKLTB4MWEsIDB4ZmEsIDB4OTAsIDB4ZmEsIDB4YmEsIDB4ZTAsIDB4NDQsIDB4ODAsIDB4ZmYsIDB4ZjAsIDB4NzgsIDB4N2MsIDB4ZTYsIDB4ZmMsIDB4MDgsIDB4ZTYsCi0weDhjLCAweDgzLCAweDEyLCAweDFkLCAweDNiLCAweGVmLCAweGYwLCAweDEyLCAweDMyLCAweDg0LCAweGU0LCAweGZmLCAweDAyLCAweDMxLCAweGE5LCAweDkwLAotMHhmYSwgMHhiOSwgMHhlMCwgMHg2NCwgMHgwMSwgMHg3MCwgMHgxZiwgMHg5MCwgMHhmYSwgMHhiZCwgMHhlMCwgMHhmZiwgMHg3ZSwgMHgwMCwgMHg3MCwgMHgwNiwKLTB4YTMsIDB4ZTAsIDB4ZjUsIDB4OTAsIDB4ODAsIDB4MmQsIDB4YzIsIDB4YWYsIDB4ZWYsIDB4ZjQsIDB4NTIsIDB4OTAsIDB4OTAsIDB4ZmEsIDB4YmUsIDB4ZTAsCi0weDQyLCAweDkwLCAweGQyLCAweGFmLCAweDgwLCAweDFkLCAweDkwLCAweGZhLCAweGJkLCAweGUwLCAweGZmLCAweDdlLCAweDAwLCAweDcwLCAweDA2LCAweGEzLAotMHhlMCwgMHhmNSwgMHhiMCwgMHg4MCwgMHgwZSwgMHhjMiwgMHhhZiwgMHhlZiwgMHhmNCwgMHg1MiwgMHhiMCwgMHg5MCwgMHhmYSwgMHhiZSwgMHhlMCwgMHg0MiwKLTB4YjAsIDB4ZDIsIDB4YWYsIDB4ZTQsIDB4ZmYsIDB4MDIsIDB4MzEsIDB4YTksIDB4MTIsIDB4MWMsIDB4ZTAsIDB4OTAsIDB4ZmEsIDB4YjksIDB4ZTAsIDB4YjQsCi0weDAxLCAweDBhLCAweDEyLCAweDFjLCAweGMxLCAweGU1LCAweDkwLCAweDEyLCAweDFhLCAweGU4LCAweDgwLCAweDA4LCAweDEyLCAweDFjLCAweGMxLCAweGU1LAotMHhiMCwgMHgxMiwgMHgxYSwgMHhlOCwgMHgwMiwgMHgwZiwgMHhmMSwgMHg5MCwgMHhmYSwgMHhiOSwgMHhlMCwgMHhmZiwgMHgyNCwgMHgxMywgMHgxMiwgMHgxYywKLTB4ZjEsIDB4MjAsIDB4ZTEsIDB4MzMsIDB4MTIsIDB4MWQsIDB4ODAsIDB4ZWYsIDB4MjQsIDB4ZmMsIDB4NjAsIDB4MTgsIDB4MDQsIDB4NzAsIDB4MjgsIDB4OTAsCi0weGZhLCAweGJhLCAweGUwLCAweDYwLCAweDA5LCAweDkwLCAweGZmLCAweGE0LCAweGUwLCAweDQ0LCAweDEwLCAweGYwLCAweDgwLCAweDE5LCAweDEyLCAweDFlLAotMHg1NiwgMHhmMCwgMHg4MCwgMHgxMywgMHg5MCwgMHhmYSwgMHhiYSwgMHhlMCwgMHg2MCwgMHgwOSwgMHg5MCwgMHhmZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgxMCwKLTB4ZjAsIDB4ODAsIDB4MDQsIDB4MTIsIDB4MWUsIDB4NWQsIDB4ZjAsIDB4ZTQsIDB4ZmYsIDB4MDIsIDB4MzEsIDB4YTksIDB4OTAsIDB4ZmEsIDB4YjksIDB4ZTAsCi0weGZmLCAweDI0LCAweDEzLCAweDEyLCAweDFjLCAweGYxLCAweDIwLCAweGUxLCAweDM5LCAweDEyLCAweDFkLCAweDgwLCAweGVmLCAweDI0LCAweGZjLCAweDYwLAotMHgxYiwgMHgwNCwgMHg3MCwgMHgyZSwgMHg5MCwgMHhmYSwgMHhiYSwgMHhlMCwgMHg2MCwgMHgwOSwgMHg5MCwgMHhmZiwgMHhhNCwgMHhlMCwgMHg0NCwgMHgyMCwKLTB4ZjAsIDB4ODAsIDB4MWYsIDB4OTAsIDB4ZmYsIDB4YTQsIDB4ZTAsIDB4NTQsIDB4ZGYsIDB4ZjAsIDB4ODAsIDB4MTYsIDB4OTAsIDB4ZmEsIDB4YmEsIDB4ZTAsCi0weDYwLCAweDA5LCAweDkwLCAweGZmLCAweGI0LCAweGUwLCAweDQ0LCAweDIwLCAweGYwLCAweDgwLCAweDA3LCAweDkwLCAweGZmLCAweGI0LCAweGUwLCAweDU0LAotMHhkZiwgMHhmMCwgMHhlNCwgMHhmZiwgMHgwMiwgMHgzMSwgMHhhOSwgMHgxMiwgMHgxZCwgMHg4MCwgMHgxMiwgMHgxZCwgMHg3MSwgMHg2MCwgMHg0ZCwgMHgwNCwKLTB4NjAsIDB4MDMsIDB4MDIsIDB4MGMsIDB4ZTMsIDB4OTAsIDB4ZmEsIDB4YmEsIDB4ZTAsIDB4NjAsIDB4MGYsIDB4OTAsIDB4ZmYsIDB4YTQsIDB4MTIsIDB4MWMsCi0weGVhLCAweDMwLCAweGUxLCAweDZmLCAweDEyLCAweDFlLCAweDJjLCAweDAyLCAweDBjLCAweGUzLCAweDkwLCAweGZmLCAweGE0LCAweGUwLCAweDU0LCAweGZiLAotMHgxMiwgMHgxYywgMHhlZCwgMHhmZSwgMHgzMCwgMHhlMSwgMHg1YywgMHgzMCwgMHhlMiwgMHgxMSwgMHgzMCwgMHhiNCwgMHgwNSwgMHgxMiwgMHgxZSwgMHgyYywKLTB4ODAsIDB4NTEsIDB4OTAsIDB4ZmYsIDB4YTQsIDB4ZTAsIDB4NTQsIDB4ZmQsIDB4ZjAsIDB4ODAsIDB4NDgsIDB4MzAsIDB4OTUsIDB4MDUsIDB4MTIsIDB4MWUsCi0weDJjLCAweDgwLCAweDQwLCAweDkwLCAweGZmLCAweGE0LCAweGUwLCAweDU0LCAweGZkLCAweGYwLCAweDgwLCAweDM3LCAweDkwLCAweGZhLCAweGJhLCAweGUwLAotMHg2MCwgMHgxMiwgMHg5MCwgMHhmZiwgMHhiNCwgMHgxMiwgMHgxYywgMHhlYSwgMHgzMCwgMHhlMSwgMHgyOCwgMHg5MCwgMHhmZiwgMHhiNCwgMHhlMCwgMHg0NCwKLTB4MDIsIDB4ZjAsIDB4ODAsIDB4MWYsIDB4OTAsIDB4ZmYsIDB4YjQsIDB4ZTAsIDB4NTQsIDB4ZmIsIDB4MTIsIDB4MWMsIDB4ZWQsIDB4MzAsIDB4ZTEsIDB4MTMsCi0weDMwLCAweDkzLCAweDA5LCAweDkwLCAweGZmLCAweGI0LCAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweDgwLCAweDA3LCAweDkwLCAweGZmLCAweGI0LCAweGUwLAotMHg1NCwgMHhmZCwgMHhmMCwgMHhlNCwgMHhmZiwgMHgwMiwgMHgzMSwgMHhhOSwgMHgxMiwgMHgxZCwgMHg4MCwgMHg5MCwgMHhmYSwgMHhiOSwgMHhlMCwgMHgyNCwKLTB4ZmMsIDB4NjAsIDB4NDAsIDB4MDQsIDB4NzAsIDB4NzgsIDB4OTAsIDB4ZmEsIDB4YmEsIDB4ZTAsIDB4NjAsIDB4MWQsIDB4OTAsIDB4ZmYsIDB4YTIsIDB4ZTAsCi0weDQ0LCAweDQwLCAweGYwLCAweGEzLCAweGUwLCAweGZmLCAweDMwLCAweGU3LCAweDY1LCAweGQyLCAweDAzLCAweGEzLCAweGUwLCAweDU0LCAweGRmLCAweGYwLAotMHg5MCwgMHhmZiwgMHhhMywgMHhlZiwgMHg1NCwgMHg3ZiwgMHhmMCwgMHg4MCwgMHg1NSwgMHgzMCwgMHgwMywgMHgwZSwgMHg5MCwgMHhmZiwgMHhhMywgMHhlMCwKLTB4NDQsIDB4ODAsIDB4ZjAsIDB4YzIsIDB4MDMsIDB4YTMsIDB4ZTAsIDB4NDQsIDB4MjAsIDB4ZjAsIDB4OTAsIDB4ZmYsIDB4YTIsIDB4ZTAsIDB4NTQsIDB4YmYsCi0weGYwLCAweDgwLCAweDNiLCAweDkwLCAweGZhLCAweGJhLCAweGUwLCAweDYwLCAweDFkLCAweDkwLCAweGZmLCAweGIyLCAweGUwLCAweDQ0LCAweDQwLCAweGYwLAotMHhhMywgMHhlMCwgMHhmZiwgMHgzMCwgMHhlNywgMHgyOCwgMHhkMiwgMHgwNCwgMHhhMywgMHhlMCwgMHg1NCwgMHhkZiwgMHhmMCwgMHg5MCwgMHhmZiwgMHhiMywKLTB4ZWYsIDB4NTQsIDB4N2YsIDB4ZjAsIDB4ODAsIDB4MTgsIDB4MzAsIDB4MDQsIDB4MGUsIDB4OTAsIDB4ZmYsIDB4YjMsIDB4ZTAsIDB4NDQsIDB4ODAsIDB4ZjAsCi0weGMyLCAweDA0LCAweGEzLCAweGUwLCAweDQ0LCAweDIwLCAweGYwLCAweDkwLCAweGZmLCAweGIyLCAweGUwLCAweDU0LCAweGJmLCAweGYwLCAweGU0LCAweGZmLAotMHgwMiwgMHgzMSwgMHhhOSwgMHgxMiwgMHgxYywgMHhlMCwgMHg5MCwgMHhmYSwgMHhiOSwgMHhlMCwgMHgyNCwgMHhmYywgMHg2MCwgMHgwZiwgMHgwNCwgMHg3MCwKLTB4MTYsIDB4OTAsIDB4ZmYsIDB4YTYsIDB4ZTAsIDB4MTIsIDB4MWMsIDB4YzEsIDB4MTIsIDB4MWEsIDB4ZTgsIDB4ODAsIDB4MGEsIDB4OTAsIDB4ZmYsIDB4YjYsCi0weGUwLCAweDEyLCAweDFjLCAweGMxLCAweDEyLCAweDFhLCAweGU4LCAweDc1LCAweDM5LCAweDAwLCAweDc1LCAweDNhLCAweDAxLCAweDAyLCAweDJjLCAweGQ4LAotMHg5MCwgMHhmOSwgMHgxNSwgMHg3NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHhmOSwgMHgxYywgMHg3NCwgMHgxOSwgMHhmMCwgMHg5MCwgMHhmOSwgMHg2NiwgMHg3NCwKLTB4ZmYsIDB4ZjAsIDB4ZTQsIDB4ZmYsIDB4MDIsIDB4MzEsIDB4YTksIDB4ZTQsIDB4ZmYsIDB4MTIsIDB4MzEsIDB4YTksIDB4MTIsIDB4MWQsIDB4ZTcsIDB4N2YsCi0weDAzLCAweDEyLCAweDEyLCAweDYxLCAweDkwLCAweGY5LCAweDE2LCAweGUwLCAweDMwLCAweGU0LCAweDA4LCAweDkwLCAweGZmLCAweDkzLCAweDc0LCAweDgwLAotMHhmMCwgMHg4MCwgMHgxMCwgMHg5MCwgMHhmZiwgMHhmYywgMHhlMCwgMHg1NCwgMHg3ZiwgMHhmMCwgMHg3ZiwgMHhmZiwgMHg3ZSwgMHgwMCwgMHgxMiwgMHgzMCwKLTB4ZDMsIDB4YzIsIDB4OTAsIDB4YzIsIDB4YWYsIDB4MDAsIDB4ODAsIDB4ZmQsIDB4ZTQsIDB4ZjUsIDB4NGUsIDB4ZjUsIDB4NGYsIDB4OTAsIDB4ZmEsIDB4YmYsCi0weDc0LCAweDNlLCAweGYwLCAweGEzLCAweGU0LCAweGYwLCAweDkwLCAweGZhLCAweGI3LCAweGYwLCAweGEzLCAweDc0LCAweDE1LCAweGYwLCAweGUwLCAweDU0LAotMHgzZiwgMHhmZiwgMHhjMywgMHg3NCwgMHg0MCwgMHg5ZiwgMHg5MCwgMHhmYSwgMHhiYywgMHhmMCwgMHhkMywgMHg5NCwgMHgwMCwgMHhlNCwgMHg5NCwgMHgzZSwKLTB4NDAsIDB4MDgsIDB4OTAsIDB4ZmEsIDB4YzAsIDB4ZTAsIDB4OTAsIDB4ZmEsIDB4YmMsIDB4ZjAsIDB4MTIsIDB4MGYsIDB4OTgsIDB4ZTUsIDB4MzEsIDB4NDUsCi0weDMwLCAweDcwLCAweDczLCAweDEyLCAweDFjLCAweGZhLCAweDkwLCAweGZhLCAweGJmLCAweDEyLCAweDFlLCAweDA2LCAweDYwLCAweDI3LCAweGQzLCAweGVmLAotMHg5NCwgMHg0MCwgMHhlZSwgMHg5NCwgMHgwMCwgMHg0MCwgMHgwOCwgMHg5MCwgMHhmYSwgMHhiYywgMHg3NCwgMHg0MCwgMHhmMCwgMHg4MCwgMHgwOCwgMHg5MCwKLTB4ZmEsIDB4YzAsIDB4ZTAsIDB4OTAsIDB4ZmEsIDB4YmMsIDB4ZjAsIDB4MTIsIDB4MGYsIDB4OTgsIDB4ZTUsIDB4MzEsIDB4NDUsIDB4MzAsIDB4NzAsIDB4NDYsCi0weDEyLCAweDFjLCAweGZhLCAweDgwLCAweGQxLCAweDc1LCAweDRjLCAweDAyLCAweDkwLCAweGZhLCAweGJmLCAweGU0LCAweGYwLCAweGEzLCAweDA0LCAweGYwLAotMHg5MCwgMHhmYSwgMHhiNywgMHhlNCwgMHhmMCwgMHhhMywgMHg3NCwgMHgwZiwgMHhmMCwgMHg3YiwgMHgwMCwgMHg3YSwgMHgwMCwgMHg3OSwgMHg0YywgMHg5MCwKLTB4ZmEsIDB4YzAsIDB4ZTAsIDB4ZjUsIDB4NGEsIDB4N2QsIDB4MGYsIDB4N2MsIDB4MDAsIDB4MTIsIDB4MjksIDB4NjAsIDB4NzUsIDB4MzAsIDB4MDAsIDB4OGYsCi0weDMxLCAweDdiLCAweDAwLCAweDdhLCAweDAwLCAweDc5LCAweDRjLCAweGU0LCAweGY1LCAweDJkLCAweGY1LCAweDJlLCAweDdkLCAweDAxLCAweDEyLCAweDI2LAotMHg5OCwgMHhlNCwgMHhmNSwgMHgzMCwgMHhmNSwgMHgzMSwgMHhhZiwgMHgzMSwgMHgwMiwgMHgzMSwgMHhhOSwgMHgxMiwgMHgxZCwgMHg4MCwgMHgzMCwgMHhlNywKLTB4MTAsIDB4ZTAsIDB4NTQsIDB4MGYsIDB4OTAsIDB4ZjksIDB4NjcsIDB4ZjAsIDB4ZDMsIDB4OTQsIDB4MDAsIDB4NDAsIDB4MTUsIDB4YzIsIDB4OTUsIDB4ODAsCi0weDExLCAweDkwLCAweGZhLCAweGJhLCAweGUwLCAweDU0LCAweDBmLCAweDkwLCAweGY5LCAweDY1LCAweGYwLCAweGQzLCAweDk0LCAweDAwLCAweDQwLCAweDAyLAotMHhjMiwgMHg5NCwgMHhlNCwgMHhmZiwgMHgwMiwgMHgzMSwgMHhhOSwgMHgxMiwgMHgxZSwgMHg0YywgMHhiZiwgMHgwMSwgMHgwNCwgMHhkMiwgMHg5MywgMHg4MCwKLTB4MDIsIDB4YzIsIDB4OTMsIDB4ZTQsIDB4ZmYsIDB4MDIsIDB4MzEsIDB4YTksIDB4MTIsIDB4MWQsIDB4ODAsIDB4NTQsIDB4MDMsIDB4MTQsIDB4NjAsIDB4MGEsCi0weDE0LCAweDYwLCAweDBmLCAweDE0LCAweDYwLCAweDA4LCAweDI0LCAweDAzLCAweDcwLCAweDJiLCAweGQyLCAweDkxLCAweDgwLCAweDI3LCAweGMyLCAweDkxLAotMHg4MCwgMHgyMywgMHgxMiwgMHgxZSwgMHg1NiwgMHgxMiwgMHgwZiwgMHhjMCwgMHg2MCwgMHgwNCwgMHhkMiwgMHg5MSwgMHg4MCwgMHgxNywgMHg5MCwgMHhmZiwKLTB4YTQsIDB4ZTAsIDB4NDQsIDB4MTAsIDB4MTIsIDB4MGYsIDB4YzAsIDB4ZmYsIDB4YmYsIDB4YTAsIDB4MDQsIDB4YzIsIDB4OTEsIDB4ODAsIDB4MDIsIDB4ZDIsCi0weDkxLCAweDEyLCAweDFlLCAweDU2LCAweGYwLCAweDkwLCAweGZhLCAweGJhLCAweGUwLCAweDU0LCAweDBjLCAweGZmLCAweDEzLCAweDEzLCAweDU0LCAweDNmLAotMHgxNCwgMHg2MCwgMHgwYSwgMHgxNCwgMHg2MCwgMHgwZiwgMHgxNCwgMHg2MCwgMHgwOCwgMHgyNCwgMHgwMywgMHg3MCwgMHgyYiwgMHhkMiwgMHg5MiwgMHg4MCwKLTB4MjcsIDB4YzIsIDB4OTIsIDB4ODAsIDB4MjMsIDB4MTIsIDB4MWUsIDB4NWQsIDB4MTIsIDB4MGYsIDB4ZTAsIDB4NjAsIDB4MDQsIDB4ZDIsIDB4OTIsIDB4ODAsCi0weDE3LCAweDkwLCAweGZmLCAweGI0LCAweGUwLCAweDQ0LCAweDEwLCAweDEyLCAweDBmLCAweGUwLCAweGZmLCAweGJmLCAweGEwLCAweDA0LCAweGMyLCAweDkyLAotMHg4MCwgMHgwMiwgMHhkMiwgMHg5MiwgMHgxMiwgMHgxZSwgMHg1ZCwgMHhmMCwgMHhlNCwgMHhmZiwgMHgwMiwgMHgzMSwgMHhhOSwgMHhlNSwgMHgzNSwgMHgzMCwKLTB4ZTcsIDB4MDcsIDB4ZTQsIDB4ZmQsIDB4N2YsIDB4MDUsIDB4MDIsIDB4MmYsIDB4YjQsIDB4N2YsIDB4MDUsIDB4MDIsIDB4MzEsIDB4YTksIDB4MTIsIDB4MzIsCi0weDdhLCAweDIyLCAweDdiLCAweDAxLCAweDdhLCAweGZhLCAweDc5LCAweGI2LCAweDkwLCAweGZhLCAweGI3LCAweGUwLCAweGY1LCAweDJkLCAweGEzLCAweGUwLAotMHhmNSwgMHgyZSwgMHg3ZCwgMHgwMSwgMHgxMiwgMHgyNiwgMHg5OCwgMHg5MCwgMHhmYSwgMHhiNywgMHhlNCwgMHg3NSwgMHhmMCwgMHgwMywgMHgxMiwgMHgxYiwKLTB4MWMsIDB4YWIsIDB4MzYsIDB4YWEsIDB4MzcsIDB4YTksIDB4MzgsIDB4MjIsIDB4YWEsIDB4NGUsIDB4YTksIDB4NGYsIDB4N2IsIDB4ZmYsIDB4OTAsIDB4ZmEsCi0weGI3LCAweGUwLCAweGZjLCAweGEzLCAweGUwLCAweGZkLCAweDkwLCAweGZhLCAweGJjLCAweGUwLCAweGY1LCAweDRhLCAweDEyLCAweDI5LCAweDYwLCAweDc1LAotMHgzMCwgMHgwMCwgMHg4ZiwgMHgzMSwgMHgyMiwgMHgxMiwgMHgyMywgMHg2MSwgMHg3ZSwgMHgwMCwgMHg4ZSwgMHgzMCwgMHg4ZiwgMHgzMSwgMHhlZiwgMHgyMiwKLTB4ZjAsIDB4N2YsIDB4MDEsIDB4MTIsIDB4MTIsIDB4NjEsIDB4OTAsIDB4ZmYsIDB4YTYsIDB4ZTAsIDB4OTAsIDB4ZmEsIDB4YmIsIDB4ZjAsIDB4NTQsIDB4YTAsCi0weDIyLCAweDEyLCAweDI2LCAweDk4LCAweDhmLCAweDRjLCAweDdlLCAweDAwLCAweGMzLCAweGVmLCAweDk1LCAweDNjLCAweGVlLCAweDk1LCAweDNiLCAweDIyLAotMHhmMCwgMHg3ZiwgMHgwMSwgMHgxMiwgMHgxMiwgMHg2MSwgMHg5MCwgMHhmZiwgMHhiNiwgMHhlMCwgMHg5MCwgMHhmYSwgMHhiYiwgMHhmMCwgMHg1NCwgMHhhMCwKLTB4MjIsIDB4NzUsIDB4MzksIDB4MDAsIDB4NzUsIDB4M2EsIDB4MDEsIDB4MDIsIDB4MmMsIDB4ZDgsIDB4OTAsIDB4ZmEsIDB4YjksIDB4ZTAsIDB4ZmYsIDB4MDIsCi0weDMyLCAweDNmLCAweDhlLCAweDM5LCAweDhmLCAweDNhLCAweDAyLCAweDJjLCAweGQ4LCAweDEyLCAweDIzLCAweDYxLCAweDdlLCAweDAwLCAweDhlLCAweDMwLAotMHg4ZiwgMHgzMSwgMHhlZiwgMHgyMiwgMHg3ZCwgMHgwMSwgMHgxMiwgMHgyNiwgMHg5OCwgMHg5MCwgMHhmYSwgMHhiNCwgMHhlMCwgMHgyMiwgMHhlZiwgMHg5MCwKLTB4ZjgsIDB4MDQsIDB4ZjAsIDB4MjIsIDB4YzAsIDB4YTgsIDB4YzIsIDB4YWYsIDB4ZWUsIDB4NjAsIDB4MGEsIDB4YzAsIDB4MDUsIDB4N2QsIDB4N2YsIDB4ZGQsCi0weGZlLCAweGRlLCAweGZhLCAweGQwLCAweDA1LCAweGVmLCAweGMzLCAweDk0LCAweDE1LCAweDUwLCAweDAzLCAweGQwLCAweGE4LCAweDIyLCAweDEzLCAweDcwLAotMHgwMywgMHhkMCwgMHhhOCwgMHgyMiwgMHhmZiwgMHhkNSwgMHgwNywgMHhmZCwgMHhkMCwgMHhhOCwgMHgyMiwgMHhjMCwgMHgwMCwgMHhjMCwgMHgwMSwgMHhjMCwKLTB4MDIsIDB4YzAsIDB4MDQsIDB4YzAsIDB4MDUsIDB4ZTUsIDB4M2UsIDB4MjQsIDB4MDgsIDB4ZjgsIDB4ODYsIDB4MDUsIDB4NTMsIDB4MDUsIDB4N2YsIDB4N2MsCi0weGZmLCAweDEyLCAweDEwLCAweGMwLCAweDdmLCAweDAwLCAweDdlLCAweDAwLCAweGU1LCAweDQzLCAweDYwLCAweDQ2LCAweGZjLCAweDkwLCAweGY5LCAweDFkLAotMHhlMCwgMHg1NCwgMHg3ZiwgMHg2ZCwgMHg3MCwgMHgwZiwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhhMywgMHhlMCwgMHhmZSwgMHhhMywgMHhlMCwgMHhmZiwKLTB4YTMsIDB4MTUsIDB4NDMsIDB4ODAsIDB4MDcsIDB4YTMsIDB4YTMsIDB4YTMsIDB4ZGMsIDB4ZTYsIDB4ODAsIDB4MjYsIDB4ZGMsIDB4MDYsIDB4ZDAsIDB4ODIsCi0weGQwLCAweDgzLCAweDgwLCAweDFlLCAweGUwLCAweGY4LCAweGEzLCAweGUwLCAweGY5LCAweGEzLCAweGUwLCAweGZhLCAweGQwLCAweDgyLCAweGQwLCAweDgzLAotMHhlOCwgMHhmMCwgMHhhMywgMHhlOSwgMHhmMCwgMHhhMywgMHhlYSwgMHhmMCwgMHhhMywgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhhMywgMHhhMywgMHhhMywKLTB4ODAsIDB4ZGEsIDB4MTIsIDB4MTEsIDB4NTcsIDB4ZDAsIDB4MDUsIDB4ZDAsIDB4MDQsIDB4ZDAsIDB4MDIsIDB4ZDAsIDB4MDEsIDB4ZDAsIDB4MDAsIDB4MjIsCi0weDg1LCAweGE4LCAweDQ0LCAweDc1LCAweGE4LCAweDg4LCAweGVjLCAweDcwLCAweDAyLCAweDdjLCAweDNmLCAweDhjLCAweDNkLCAweDIyLCAweGU1LCAweDNlLAotMHgyNCwgMHgwOCwgMHhmOCwgMHg3NiwgMHgwMCwgMHgxMiwgMHgxMSwgMHhhZSwgMHg4MCwgMHhmYiwgMHhjMCwgMHgwMCwgMHhjMCwgMHgwMSwgMHhjMCwgMHgwMiwKLTB4YzAsIDB4MDQsIDB4YzAsIDB4MDYsIDB4N2MsIDB4ZmYsIDB4MTIsIDB4MTAsIDB4YzAsIDB4ZTUsIDB4NDMsIDB4NjAsIDB4NDIsIDB4ZmUsIDB4OTAsIDB4ZjksCi0weDFkLCAweGUwLCAweDU0LCAweDdmLCAweDZmLCAweDcwLCAweDBiLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGEzLCAweGEzLCAweGEzLCAweDE1LCAweDQzLAotMHg4MCwgMHgwNywgMHhhMywgMHhhMywgMHhhMywgMHhkZSwgMHhlYSwgMHg4MCwgMHgyNiwgMHhkZSwgMHgwNiwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHg4MCwKLTB4ZDgsIDB4ZTAsIDB4ZjgsIDB4YTMsIDB4ZTAsIDB4ZjksIDB4YTMsIDB4ZTAsIDB4ZmEsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZTgsIDB4ZjAsIDB4YTMsCi0weGU5LCAweGYwLCAweGEzLCAweGVhLCAweGYwLCAweGEzLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGEzLCAweGEzLCAweGEzLCAweDgwLCAweGRhLCAweDc4LAotMHgwOCwgMHgwOCwgMHg3OSwgMHgxOCwgMHgwOSwgMHg3YywgMHgwMSwgMHhlNiwgMHg1NCwgMHg3ZiwgMHg2ZiwgMHg3MCwgMHgwNiwgMHg3NiwgMHgwMCwgMHg3NywKLTB4MDAsIDB4ODAsIDB4MDYsIDB4MDgsIDB4MDksIDB4MGMsIDB4YmMsIDB4MDgsIDB4ZWUsIDB4MTIsIDB4MTEsIDB4NTcsIDB4ZDAsIDB4MDYsIDB4ZDAsIDB4MDQsCi0weGQwLCAweDAyLCAweGQwLCAweDAxLCAweGQwLCAweDAwLCAweDIyLCAweDc1LCAweDNkLCAweDAwLCAweDg1LCAweDQ0LCAweGE4LCAweDIyLCAweGMwLCAweGYwLAotMHhjMCwgMHg4MiwgMHhjMCwgMHg4MywgMHhjMywgMHhlNSwgMHg0MywgMHgyNCwgMHhlOCwgMHg1MCwgMHgwNSwgMHgxMiwgMHgxMSwgMHhhZSwgMHg4MCwgMHhmNCwKLTB4ZWYsIDB4NjAsIDB4MzEsIDB4OTAsIDB4MzEsIDB4MTEsIDB4ZTQsIDB4OTMsIDB4YzMsIDB4OWYsIDB4NDAsIDB4MmYsIDB4YzAsIDB4MDQsIDB4N2MsIDB4ZmYsCi0weDEyLCAweDEwLCAweGMwLCAweGQwLCAweDA0LCAweDQzLCAweDA3LCAweDgwLCAweGU1LCAweDQzLCAweDc1LCAweGYwLCAweDAzLCAweGE0LCAweDI0LCAweDFkLAotMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHhmOSwgMHhmNSwgMHg4MywgMHhlZiwgMHhmMCwgMHhlYywgMHhhMywgMHhmMCwgMHhlZCwgMHhhMywgMHhmMCwgMHgwNSwKLTB4NDMsIDB4MTIsIDB4MTEsIDB4NTcsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ZjAsIDB4MjIsIDB4MDIsIDB4MTEsIDB4ZGMsIDB4YzAsIDB4MDQsCi0weDdjLCAweDIwLCAweGQyLCAweDhjLCAweGQyLCAweDhkLCAweGQ1LCAweDA0LCAweGZkLCAweGQwLCAweDA0LCAweDIyLCAweDc1LCAweGE4LCAweDAwLCAweDc1LAotMHg4OCwgMHgwMCwgMHg3NSwgMHhiOCwgMHgwMCwgMHg3NSwgMHhmMCwgMHgwMCwgMHg3NSwgMHhkMCwgMHgwMCwgMHhlNCwgMHhmOCwgMHg5MCwgMHhmOCwgMHgwNCwKLTB4ZjAsIDB4OTAsIDB4MDAsIDB4MDAsIDB4ZjYsIDB4MDgsIDB4YjgsIDB4MDAsIDB4ZmIsIDB4MDIsIDB4MDAsIDB4MDAsIDB4YzIsIDB4YWYsIDB4ZTQsIDB4OTAsCi0weGZmLCAweDQ4LCAweGYwLCAweDkwLCAweGZmLCAweDUwLCAweGYwLCAweDkwLCAweGZmLCAweDA4LCAweGYwLCAweDkwLCAweGZmLCAweDEwLCAweGYwLCAweDkwLAotMHhmZiwgMHg4MCwgMHhmMCwgMHhhMywgMHhhMywgMHhmMCwgMHhkMiwgMHhiMSwgMHhjMiwgMHhiMCwgMHg3ZSwgMHhmZiwgMHg3ZiwgMHhmZiwgMHgxMiwgMHgxMCwKLTB4MjQsIDB4N2UsIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4MTIsIDB4MTAsIDB4MjQsIDB4N2UsIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4MTIsIDB4MTAsIDB4MjQsIDB4ZDIsCi0weGIwLCAweGQyLCAweGIxLCAweDdlLCAweGZmLCAweDdmLCAweGZmLCAweDEyLCAweDEwLCAweDI0LCAweDdlLCAweGZmLCAweDdmLCAweGZmLCAweDEyLCAweDEwLAotMHgyNCwgMHg3ZSwgMHhmZiwgMHg3ZiwgMHhmZiwgMHgxMiwgMHgxMCwgMHgyNCwgMHg4MCwgMHhjYywgMHhjMywgMHhlZSwgMHg5NCwgMHgwMiwgMHg1MCwgMHgwNCwKLTB4N2UsIDB4MDMsIDB4N2YsIDB4ZTgsIDB4ZWYsIDB4ZjQsIDB4ZmYsIDB4ZWUsIDB4ZjQsIDB4ZmUsIDB4MGYsIDB4YmYsIDB4MDAsIDB4MDEsIDB4MGUsIDB4OGYsCi0weDQyLCAweDhlLCAweDQxLCAweDIyLCAweGMzLCAweGVmLCAweDk0LCAweGJjLCAweGVlLCAweDk0LCAweDAyLCAweDUwLCAweDA0LCAweDdlLCAweDA3LCAweDdmLAotMHhkMCwgMHhlZiwgMHhmNCwgMHhmZiwgMHhlZSwgMHhmNCwgMHhmZSwgMHgwZiwgMHhiZiwgMHgwMCwgMHgwMSwgMHgwZSwgMHg4ZiwgMHg0MCwgMHg4ZSwgMHgzZiwKLTB4MjIsIDB4ZWYsIDB4NzAsIDB4MDEsIDB4MjIsIDB4YzAsIDB4MDAsIDB4YzAsIDB4YTgsIDB4YzIsIDB4YWYsIDB4ZTUsIDB4M2UsIDB4MjQsIDB4MTgsIDB4ZjgsCi0weGE2LCAweDA3LCAweGU1LCAweDNlLCAweDI0LCAweDA4LCAweGY4LCAweGM2LCAweDU0LCAweDdmLCAweGY2LCAweGQwLCAweGE4LCAweGU2LCAweDMwLCAweGU3LAotMHgwMywgMHhkMCwgMHgwMCwgMHgyMiwgMHgxMiwgMHgxMSwgMHhhZSwgMHg4MCwgMHhmNCwgMHhjMCwgMHgwMCwgMHg3ZiwgMHgwMSwgMHhlZiwgMHgyNCwgMHgwOCwKLTB4ZjgsIDB4ZTYsIDB4NjAsIDB4MDksIDB4MGYsIDB4YmYsIDB4MDgsIDB4ZjUsIDB4MTIsIDB4MTEsIDB4YWUsIDB4ODAsIDB4ZWUsIDB4ZDAsIDB4MDAsIDB4MjIsCi0weGMwLCAweGYwLCAweGMwLCAweDgyLCAweGMwLCAweDgzLCAweGMwLCAweDAwLCAweGMwLCAweDA2LCAweGMwLCAweDA0LCAweGVkLCAweDI0LCAweDEwLCAweGY4LAotMHg3NiwgMHg5YSwgMHhlZCwgMHg3NSwgMHhmMCwgMHgyMSwgMHhhNCwgMHgyNCwgMHgwNSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHhmOCwgMHhmNSwgMHg4MywKLTB4YzAsIDB4ODIsIDB4YzAsIDB4ODMsIDB4YTMsIDB4YTMsIDB4ZTQsIDB4NzgsIDB4MGQsIDB4ZjAsIDB4YTMsIDB4ZDgsIDB4ZmMsIDB4ZWYsIDB4NTQsIDB4N2YsCi0weDc1LCAweGYwLCAweDAyLCAweGE0LCAweDI0LCAweGYzLCAweGY1LCAweDgyLCAweGU1LCAweGYwLCAweDM0LCAweDMwLCAweGY1LCAweDgzLCAweGU0LCAweDkzLAotMHhmZSwgMHg3NCwgMHgwMSwgMHg5MywgMHhmYywgMHhkMCwgMHg4MywgMHhkMCwgMHg4MiwgMHhlYywgMHhmMCwgMHhhMywgMHhlZSwgMHhmMCwgMHhlZCwgMHgyNCwKLTB4MDgsIDB4ZjgsIDB4ZWYsIDB4NDQsIDB4ODAsIDB4ZjYsIDB4ZDAsIDB4MDQsIDB4ZDAsIDB4MDYsIDB4ZDAsIDB4MDAsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ODIsCi0weGQwLCAweGYwLCAweDIyLCAweDc1LCAweDNlLCAweDAwLCAweDc1LCAweDQzLCAweDAwLCAweDdhLCAweDA4LCAweDc5LCAweDE4LCAweDc4LCAweDA4LCAweDc2LAotMHgwMCwgMHg3NywgMHgwMCwgMHgwOCwgMHgwOSwgMHhkYSwgMHhmOCwgMHg5MCwgMHhmOCwgMHgwNCwgMHhlMCwgMHhmYywgMHg5MCwgMHgzMSwgMHgxMSwgMHhlNCwKLTB4OTMsIDB4YzMsIDB4OWMsIDB4NTAsIDB4MDUsIDB4ZTQsIDB4OTAsIDB4ZjgsIDB4MDQsIDB4ZjAsIDB4NzgsIDB4MDgsIDB4NzQsIDB4ODAsIDB4NDQsIDB4N2YsCi0weGY2LCAweDc0LCAweDAxLCAweDQ0LCAweDEwLCAweGY1LCAweDg5LCAweDc1LCAweGI4LCAweDAwLCAweGQyLCAweGFiLCAweGQyLCAweGE5LCAweDIyLCAweDc1LAotMHg4MSwgMHg4YiwgMHhkMiwgMHg4ZSwgMHhkMiwgMHg4YywgMHhkMiwgMHhhZiwgMHhlNSwgMHg0MywgMHg2MCwgMHgzNiwgMHhmZiwgMHg5MCwgMHhmOSwgMHgxZCwKLTB4ZTAsIDB4NTQsIDB4ODAsIDB4NjAsIDB4MjgsIDB4NzgsIDB4MDgsIDB4NzksIDB4MDgsIDB4ZTAsIDB4NTQsIDB4N2YsIDB4ZmEsIDB4N2IsIDB4MDAsIDB4ZTYsCi0weDU0LCAweDdmLCAweGI1LCAweDAyLCAweDAyLCAweDdiLCAweGZmLCAweDA4LCAweGQ5LCAweGY1LCAweGViLCAweDcwLCAweDEwLCAweGVhLCAweGYwLCAweGMwLAotMHgwNywgMHgxMiwgMHgxMiwgMHg4OSwgMHhhZCwgMHgwNywgMHhhZiwgMHgwMiwgMHgxMiwgMHgxMiwgMHhhMCwgMHhkMCwgMHgwNywgMHhhMywgMHhhMywgMHhhMywKLTB4ZGYsIDB4Y2UsIDB4MTIsIDB4MTEsIDB4YWUsIDB4ODAsIDB4YzEsIDB4OGYsIDB4MjQsIDB4MTIsIDB4MmEsIDB4YzcsIDB4MTIsIDB4MjIsIDB4YjUsIDB4YTMsCi0weGEzLCAweGUwLCAweGEzLCAweDMwLCAweGU3LCAweDI4LCAweDc4LCAweDdlLCAweDEyLCAweDIyLCAweDk5LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDEyLAotMHgyMiwgMHhmYSwgMHgxMiwgMHgyMiwgMHg5ZCwgMHhlMCwgMHgyMCwgMHhlMCwgMHhmNiwgMHgxMiwgMHgyMywgMHg1MCwgMHg3NCwgMHgwMiwgMHhmMCwgMHgxMiwKLTB4MjIsIDB4ZGEsIDB4ZTAsIDB4YTMsIDB4MzAsIDB4ZTUsIDB4MDcsIDB4MTIsIDB4MjMsIDB4NTAsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4NzgsIDB4ODAsCi0weGU2LCAweGZlLCAweDA4LCAweGU2LCAweGZmLCAweDhlLCAweDgzLCAweDI0LCAweDA4LCAweDEyLCAweDIyLCAweGExLCAweGUwLCAweGZkLCAweDEyLCAweDIzLAotMHgzOSwgMHg4YSwgMHg4MywgMHgyNCwgMHgwYSwgMHgxMiwgMHgyMiwgMHhhMSwgMHhlZCwgMHhmMCwgMHgxMiwgMHgyMywgMHgwNiwgMHgyNCwgMHgwNywgMHgxMiwKLTB4MjIsIDB4YTEsIDB4ZTAsIDB4ZmYsIDB4MTIsIDB4MjMsIDB4NWEsIDB4MjQsIDB4MDksIDB4MTIsIDB4MjIsIDB4YTEsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4ZjksCi0weDE2LCAweGUwLCAweDMwLCAweGU0LCAweDIwLCAweDA4LCAweDEyLCAweDIyLCAweGI3LCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGEzLCAweGUwLCAweDI1LAotMHhlMCwgMHhmZiwgMHgwNSwgMHg4MiwgMHhkNSwgMHg4MiwgMHgwMiwgMHgxNSwgMHg4MywgMHgxNSwgMHg4MiwgMHhlMCwgMHgzMywgMHhkMCwgMHg4MiwgMHhkMCwKLTB4ODMsIDB4ZjAsIDB4YTMsIDB4ZWYsIDB4ZjAsIDB4MTIsIDB4MjIsIDB4YjUsIDB4ZTAsIDB4ZmMsIDB4YTMsIDB4ZTAsIDB4ZmQsIDB4ZWMsIDB4ZmYsIDB4MTIsCi0weDIzLCAweDM5LCAweDhhLCAweDgzLCAweDI0LCAweDA4LCAweDEyLCAweDIyLCAweGExLCAweGVmLCAweGYwLCAweGVkLCAweDEyLCAweDIzLCAweDVhLCAweDI0LAotMHgwNywgMHgxMiwgMHgyMiwgMHhhMSwgMHhlZCwgMHhmMCwgMHgxMiwgMHgyMiwgMHhhOSwgMHhlMCwgMHgzMCwgMHhlNiwgMHgwYSwgMHgxMiwgMHgyMywgMHg0MSwKLTB4MjQsIDB4MDksIDB4MTIsIDB4MjIsIDB4YTEsIDB4ZTQsIDB4ZjAsIDB4MTIsIDB4MjIsIDB4YTksIDB4ZTAsIDB4ZmYsIDB4MzAsIDB4ZTcsIDB4MWIsIDB4MTIsCi0weDIzLCAweDFlLCAweDI0LCAweDA5LCAweDEyLCAweDIyLCAweGExLCAweGUwLCAweDYwLCAweDA5LCAweDEyLCAweDIyLCAweGE5LCAweGVmLCAweDQ0LCAweDAyLAotMHhmMCwgMHg4MCwgMHgwNywgMHgxMiwgMHgyMiwgMHhhOSwgMHhlZiwgMHg1NCwgMHhmZCwgMHhmMCwgMHg3OCwgMHg3ZSwgMHgxMiwgMHgyMiwgMHhiNywgMHhhMywKLTB4YTMsIDB4ZTAsIDB4ZmYsIDB4NTMsIDB4MDcsIDB4YzcsIDB4MDgsIDB4ZTYsIDB4ZmMsIDB4MDgsIDB4ZTYsIDB4ZmQsIDB4MTIsIDB4MjIsIDB4ZTAsIDB4YTMsCi0weGUwLCAweDMwLCAweGUzLCAweDEyLCAweDhkLCAweDgyLCAweDhjLCAweDgzLCAweGU1LCAweDgyLCAweDI0LCAweDA1LCAweDEyLCAweDIyLCAweGExLCAweGUwLAotMHg5MCwgMHgzMiwgMHg1MSwgMHg5MywgMHg0MiwgMHgwNywgMHg1MywgMHgwNywgMHhmYiwgMHgxMiwgMHgyMywgMHgxZSwgMHgyNCwgMHgwNiwgMHgxMiwgMHgyMiwKLTB4YTEsIDB4ZTAsIDB4NjAsIDB4MDMsIDB4NDMsIDB4MDcsIDB4MDQsIDB4NTMsIDB4MDcsIDB4ZmMsIDB4NzgsIDB4ODAsIDB4MTIsIDB4MjMsIDB4MjksIDB4MjQsCi0weDA0LCAweDEyLCAweDIyLCAweGExLCAweGUwLCAweDQyLCAweDA3LCAweDQzLCAweDA3LCAweDgwLCAweDEyLCAweDIzLCAweDM5LCAweGY1LCAweDgyLCAweDhhLAotMHg4MywgMHhhMywgMHhhMywgMHhlZiwgMHhmMCwgMHgxMiwgMHgyMywgMHg1YSwgMHgyNCwgMHgwNCwgMHgxMiwgMHgyMiwgMHhhMSwgMHhlMCwgMHhmZiwgMHg4ZCwKLTB4ODIsIDB4OGMsIDB4ODMsIDB4YTMsIDB4YTMsIDB4ZTAsIDB4ZmMsIDB4YTMsIDB4ZTAsIDB4ZmQsIDB4MzAsIDB4ZTEsIDB4MDUsIDB4NTMsIDB4MDcsIDB4ZGYsCi0weDgwLCAweDAzLCAweDQzLCAweDA3LCAweDIwLCAweGVjLCAweDMwLCAweGU0LCAweDA1LCAweDUzLCAweDA3LCAweGVmLCAweDgwLCAweDAzLCAweDQzLCAweDA3LAotMHgxMCwgMHgxMiwgMHgyMiwgMHhhOSwgMHhlMCwgMHhmZSwgMHg1NCwgMHgwMywgMHg2MCwgMHg3MywgMHg1MywgMHgwNywgMHhkZiwgMHhlZSwgMHgzMCwgMHhlMSwKLTB4NjksIDB4MTIsIDB4MjMsIDB4MWUsIDB4MjQsIDB4MDksIDB4MTIsIDB4MjIsIDB4YTEsIDB4ZTAsIDB4MTIsIDB4MWIsIDB4ZmMsIDB4MTUsIDB4MmMsIDB4MDAsCi0weDE1LCAweDYwLCAweDAxLCAweDE1LCAweDY1LCAweDAzLCAweDE1LCAweDYwLCAweDA1LCAweDE1LCAweDY1LCAweDA3LCAweDE1LCAweDYwLCAweDA5LCAweDE1LAotMHg2NSwgMHgwYiwgMHgxNSwgMHg2MCwgMHgwZCwgMHgxNSwgMHg2NSwgMHgwZiwgMHgwMCwgMHgwMCwgMHgxNSwgMHg2ZCwgMHhlNSwgMHgyNCwgMHg2NCwgMHgwMywKLTB4NzAsIDB4MjEsIDB4OTAsIDB4ZjksIDB4MTYsIDB4ZTAsIDB4MzAsIDB4ZTIsIDB4MGQsIDB4MzAsIDB4YjQsIDB4MDUsIDB4NDMsIDB4MDcsIDB4MDIsIDB4ODAsCi0weDJjLCAweDUzLCAweDA3LCAweGZkLCAweDgwLCAweDI3LCAweDMwLCAweDk1LCAweDA1LCAweDQzLCAweDA3LCAweDAyLCAweDgwLCAweDFmLCAweDUzLCAweDA3LAotMHhmZCwgMHg4MCwgMHgxYSwgMHgzMCwgMHg5MywgMHgwNSwgMHg0MywgMHgwNywgMHgwMiwgMHg4MCwgMHgxMiwgMHg1MywgMHgwNywgMHhmZCwgMHg4MCwgMHgwZCwKLTB4NDMsIDB4MDcsIDB4MDIsIDB4ODAsIDB4MDgsIDB4NTMsIDB4MDcsIDB4ZmQsIDB4ODAsIDB4MDMsIDB4NTMsIDB4MDcsIDB4ZmQsIDB4MTIsIDB4MjMsIDB4MjcsCi0weDI0LCAweDA0LCAweDEyLCAweDIyLCAweGExLCAweGVmLCAweGYwLCAweDhkLCAweDgyLCAweDhjLCAweDgzLCAweGEzLCAweGEzLCAweGEzLCAweGUwLCAweGZmLAotMHgxMiwgMHgyMiwgMHhhOSwgMHhlMCwgMHhmZSwgMHg1NCwgMHgwMywgMHg3MCwgMHgwMywgMHgwMiwgMHgxNiwgMHg2MCwgMHhlZSwgMHgyMCwgMHhlMSwgMHgwMywKLTB4MDIsIDB4MTYsIDB4NWQsIDB4MDgsIDB4MTIsIDB4MjMsIDB4MjAsIDB4MjQsIDB4MDksIDB4MTIsIDB4MjIsIDB4YTEsIDB4ZTAsIDB4MTIsIDB4MWIsIDB4ZmMsCi0weDE1LCAweGJmLCAweDAwLCAweDE1LCAweGY1LCAweDAxLCAweDE1LCAweGY1LCAweDAzLCAweDE2LCAweDI5LCAweDA1LCAweDE2LCAweDI5LCAweDA3LCAweDE2LAotMHgwZiwgMHgwOSwgMHgxNiwgMHgwZiwgMHgwYiwgMHgxNiwgMHg0MywgMHgwZCwgMHgxNiwgMHg0MywgMHgwZiwgMHgwMCwgMHgwMCwgMHgxNiwgMHg2MCwgMHhlNSwKLTB4MjQsIDB4NjQsIDB4MDMsIDB4NzAsIDB4MjMsIDB4OTAsIDB4ZjksIDB4MTYsIDB4ZTAsIDB4MzAsIDB4ZTIsIDB4MGYsIDB4MzAsIDB4YjEsIDB4MDYsIDB4NTMsCi0weDA3LCAweDdmLCAweDAyLCAweDE2LCAweDYwLCAweDQzLCAweDA3LCAweDgwLCAweDAyLCAweDE2LCAweDYwLCAweDMwLCAweDk0LCAweDA1LCAweDUzLCAweDA3LAotMHg3ZiwgMHg4MCwgMHg3ZCwgMHg0MywgMHgwNywgMHg4MCwgMHg4MCwgMHg3OCwgMHgzMCwgMHg5MiwgMHgwNSwgMHg1MywgMHgwNywgMHg3ZiwgMHg4MCwgMHg3MCwKLTB4NDMsIDB4MDcsIDB4ODAsIDB4ODAsIDB4NmIsIDB4ZTUsIDB4MjQsIDB4YjQsIDB4MDMsIDB4MDksIDB4OTAsIDB4ZmYsIDB4OWUsIDB4ZTAsIDB4NTQsIDB4ZWYsCi0weGYwLCAweDgwLCAweDA3LCAweDkwLCAweGZmLCAweDllLCAweGUwLCAweDU0LCAweGRmLCAweGYwLCAweDUzLCAweDA3LCAweDdmLCAweDgwLCAweDUxLCAweGU1LAotMHgyNCwgMHhiNCwgMHgwMywgMHgwOSwgMHg5MCwgMHhmZiwgMHg5ZSwgMHhlMCwgMHg0NCwgMHgxMCwgMHhmMCwgMHg4MCwgMHgwNywgMHg5MCwgMHhmZiwgMHg5ZSwKLTB4ZTAsIDB4NDQsIDB4MjAsIDB4ZjAsIDB4NTMsIDB4MDcsIDB4N2YsIDB4ODAsIDB4MzcsIDB4ZTUsIDB4MjQsIDB4YjQsIDB4MDMsIDB4MDksIDB4OTAsIDB4ZmYsCi0weDllLCAweGUwLCAweDU0LCAweGVmLCAweGYwLCAweDgwLCAweDA3LCAweDkwLCAweGZmLCAweDllLCAweGUwLCAweDU0LCAweGRmLCAweGYwLCAweDQzLCAweDA3LAotMHg4MCwgMHg4MCwgMHgxZCwgMHhlNSwgMHgyNCwgMHhiNCwgMHgwMywgMHgwOSwgMHg5MCwgMHhmZiwgMHg5ZSwgMHhlMCwgMHg0NCwgMHgxMCwgMHhmMCwgMHg4MCwKLTB4MDcsIDB4OTAsIDB4ZmYsIDB4OWUsIDB4ZTAsIDB4NDQsIDB4MjAsIDB4ZjAsIDB4NDMsIDB4MDcsIDB4ODAsIDB4ODAsIDB4MDMsIDB4NTMsIDB4MDcsIDB4N2YsCi0weDEyLCAweDIyLCAweGRhLCAweGUwLCAweGZjLCAweGEzLCAweGUwLCAweGZkLCAweDMwLCAweGUwLCAweDA1LCAweDQzLCAweDA3LCAweDIwLCAweDgwLCAweDAzLAotMHg1MywgMHgwNywgMHhkZiwgMHhlYywgMHgzMCwgMHhlMywgMHgwNSwgMHg0MywgMHgwNywgMHg0MCwgMHg4MCwgMHgwMywgMHg1MywgMHgwNywgMHhiZiwgMHhlYywKLTB4MzAsIDB4ZTAsIDB4MDUsIDB4NDMsIDB4MDcsIDB4MTAsIDB4ODAsIDB4MDMsIDB4NTMsIDB4MDcsIDB4ZWYsIDB4ZWQsIDB4MzAsIDB4ZTQsIDB4MDUsIDB4NDMsCi0weDA3LCAweDA4LCAweDgwLCAweDAzLCAweDUzLCAweDA3LCAweGY3LCAweGVkLCAweDMwLCAweGU1LCAweDA1LCAweDQzLCAweDA3LCAweDA0LCAweDgwLCAweDAzLAotMHg1MywgMHgwNywgMHhmYiwgMHhlZCwgMHgzMCwgMHhlNiwgMHgwNSwgMHg0MywgMHgwNywgMHgwMSwgMHg4MCwgMHgwMywgMHg1MywgMHgwNywgMHhmZSwgMHhlZCwKLTB4MzAsIDB4ZTcsIDB4MDUsIDB4NDMsIDB4MDcsIDB4MDIsIDB4ODAsIDB4MDMsIDB4NTMsIDB4MDcsIDB4ZmQsIDB4NzgsIDB4N2UsIDB4MTIsIDB4MjIsIDB4ZGMsCi0weGEzLCAweGVmLCAweGYwLCAweDEyLCAweDMyLCAweDg0LCAweDdmLCAweDAwLCAweDIyLCAweDkwLCAweGZmLCAweGZhLCAweDc0LCAweDA4LCAweGYwLCAweGEzLAotMHg3NCwgMHgxNiwgMHhmMCwgMHg5MCwgMHhmZiwgMHhmOSwgMHg3NCwgMHgwMiwgMHhmMCwgMHg3YiwgMHgwMSwgMHg3YSwgMHhmYSwgMHg3OSwgMHhjZiwgMHhlNCwKLTB4ZmQsIDB4MTIsIDB4MjMsIDB4NjEsIDB4OTAsIDB4ZmEsIDB4Y2YsIDB4ZTQsIDB4NzUsIDB4ZjAsIDB4MDMsIDB4MTIsIDB4MWIsIDB4MWMsIDB4MTIsIDB4MTksCi0weDkyLCAweGU1LCAweDIzLCAweDMwLCAweGU3LCAweDAyLCAweGQyLCAweDAyLCAweDdiLCAweDAwLCAweDdhLCAweDAwLCAweDc5LCAweDI0LCAweDkwLCAweGZhLAotMHhjZiwgMHhlMCwgMHhmNSwgMHgyZCwgMHhhMywgMHhlMCwgMHhmNSwgMHgyZSwgMHg3ZCwgMHgwMSwgMHgxMiwgMHgyNiwgMHg5OCwgMHg5MCwgMHhmYSwgMHhjZiwKLTB4ZTQsIDB4ZjAsIDB4YTMsIDB4NzQsIDB4MGIsIDB4ZjAsIDB4N2IsIDB4MDAsIDB4N2EsIDB4MDAsIDB4NzksIDB4MjMsIDB4NzUsIDB4MmQsIDB4MDAsIDB4ZjUsCi0weDJlLCAweDdkLCAweDAxLCAweDEyLCAweDI2LCAweDk4LCAweGU1LCAweDIzLCAweDI0LCAweDgwLCAweDkwLCAweGZmLCAweGY4LCAweGYwLCAweGU1LCAweDIzLAotMHg2NCwgMHgwNywgMHg2MCwgMHgxZSwgMHhlNSwgMHgyMywgMHg2NCwgMHgwNiwgMHg2MCwgMHgxOCwgMHhlNSwgMHgyMywgMHg2NCwgMHgxNCwgMHg2MCwgMHgxMiwKLTB4ZTUsIDB4MjMsIDB4NjQsIDB4NDEsIDB4NjAsIDB4MGMsIDB4ZTUsIDB4MjMsIDB4NjQsIDB4MWEsIDB4NzAsIDB4NDYsIDB4ZTUsIDB4MjQsIDB4NjQsIDB4MDIsCi0weDcwLCAweDQwLCAweGU1LCAweDIzLCAweGI0LCAweDA3LCAweDE2LCAweGQyLCAweDk0LCAweGQyLCAweDk1LCAweGQyLCAweDkyLCAweGQyLCAweDkzLCAweDkwLAotMHhmOSwgMHgxNiwgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHhhMywgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHg4MCwgMHgxZSwgMHhlNSwgMHgyMywgMHhiNCwKLTB4NDEsIDB4MTIsIDB4OTAsIDB4ZjksIDB4MTYsIDB4ZTAsIDB4NDQsIDB4MDYsIDB4ZjAsIDB4YTMsIDB4ZTAsIDB4NDQsIDB4MDYsIDB4ZjAsIDB4ZDIsIDB4YjEsCi0weGQyLCAweGI0LCAweDgwLCAweDA3LCAweDkwLCAweGY5LCAweDE2LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDkwLCAweGY5LCAweDE3LCAweGUwLCAweDQ0LAotMHgwMSwgMHhmMCwgMHhlNSwgMHgyMywgMHg2NCwgMHg0MiwgMHg2MCwgMHgwYywgMHhlNSwgMHgyMywgMHg2NCwgMHg0MywgMHg2MCwgMHgwNiwgMHhlNSwgMHgyMywKLTB4NjQsIDB4NDQsIDB4NzAsIDB4MmUsIDB4OTAsIDB4ZjksIDB4MTYsIDB4ZTAsIDB4ZmYsIDB4ZTUsIDB4MjMsIDB4YjQsIDB4NDQsIDB4MDQsIDB4N2UsIDB4NDAsCi0weDgwLCAweDAyLCAweDdlLCAweDAwLCAweGVlLCAweDI0LCAweDgwLCAweDRmLCAweDkwLCAweGY5LCAweDE2LCAweGYwLCAweGEzLCAweGUwLCAweGZmLCAweGU1LAotMHgyMywgMHhiNCwgMHg0NCwgMHgwNCwgMHg3ZSwgMHg0MCwgMHg4MCwgMHgwMiwgMHg3ZSwgMHgwMCwgMHhlZSwgMHgyNCwgMHg4MCwgMHg0ZiwgMHg5MCwgMHhmOSwKLTB4MTcsIDB4ZjAsIDB4OTAsIDB4ZmEsIDB4Y2YsIDB4ZTQsIDB4ZjAsIDB4YTMsIDB4NzQsIDB4MGQsIDB4ZjAsIDB4MTIsIDB4MTksIDB4OTIsIDB4OTAsIDB4ZmYsCi0weGY1LCAweGU1LCAweDIzLCAweGYwLCAweGU0LCAweGY1LCAweDM1LCAweGY1LCAweDMzLCAweGY1LCAweDM0LCAweGY1LCAweDMyLCAweDEyLCAweDFlLCAweDM0LAotMHgxMiwgMHgxYywgMHhlMCwgMHgxMiwgMHgxZSwgMHgzYiwgMHg5MCwgMHhmOSwgMHg2YSwgMHgxMiwgMHgxYiwgMHhmMywgMHg5MCwgMHhmOSwgMHg2ZiwgMHgxMiwKLTB4MWIsIDB4ZjMsIDB4OTAsIDB4ZmYsIDB4ZmYsIDB4ZTQsIDB4ZjAsIDB4OTAsIDB4ZmYsIDB4ODMsIDB4ZTAsIDB4ZTQsIDB4ZjAsIDB4OTAsIDB4ZmYsIDB4ODEsCi0weDc0LCAweDgwLCAweGYwLCAweGEzLCAweDc0LCAweDg0LCAweGYwLCAweDkwLCAweGZmLCAweDgwLCAweGYwLCAweGU0LCAweGY1LCAweDIzLCAweGU1LCAweDIzLCAKLTB4MTIsIDB4MWQsIDB4NTcsIDB4ZjUsIDB4ODMsIDB4ZTQsIDB4ZjAsIDB4ZTUsIDB4MjMsIDB4MTIsIDB4MWQsIDB4NjUsIDB4ZjUsIDB4ODMsIDB4ZTQsIDB4ZjAsCi0weDA1LCAweDIzLCAweGU1LCAweDIzLCAweGI0LCAweDA3LCAweGU3LCAweDc4LCAweDdhLCAweDc2LCAweGZlLCAweDA4LCAweDc2LCAweGYwLCAweDkwLCAweDMyLAotMHgwYSwgMHhlNCwgMHg5MywgMHhmZiwgMHg3OCwgMHg3OCwgMHhmNiwgMHhmZCwgMHhhZCwgMHgwNywgMHg5MCwgMHgzMiwgMHgxNywgMHhlNCwgMHg5MywgMHhmZiwKLTB4MDgsIDB4ZjYsIDB4ZmYsIDB4ZWQsIDB4NTQsIDB4MGYsIDB4ZmQsIDB4MTIsIDB4MWQsIDB4NDcsIDB4NzQsIDB4ODQsIDB4ZjAsIDB4ZWQsIDB4NzUsIDB4ZjAsCi0weDA4LCAweGE0LCAweDI0LCAweDQ3LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweGZmLCAweGY1LCAweDgzLCAweGVmLCAweGYwLCAweGMzLCAweDc0LCAweGYwLCAKLTB4OWYsIDB4NzgsIDB4N2IsIDB4ZjYsIDB4NzQsIDB4ZmUsIDB4OTQsIDB4MDAsIDB4MTgsIDB4MTIsIDB4MWMsIDB4ZDgsIDB4Y2UsIDB4YzMsIDB4MTMsIDB4Y2UsCi0weDEzLCAweGQ4LCAweGY5LCAweGZmLCAweGVkLCAweDEyLCAweDFkLCAweGE4LCAweGVmLCAweGYwLCAweGVkLCAweDEyLCAweDFkLCAweGNlLCAweGU0LCAweGY1LAotMHgyMywgMHhlNSwgMHgyMywgMHg5MCwgMHgzMiwgMHgwNCwgMHg5MywgMHhmZiwgMHg3OCwgMHg3OCwgMHhmNiwgMHhmZCwgMHhlNSwgMHgyMywgMHgyNSwgMHhlMCwKLTB4MjQsIDB4MGIsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4MzIsIDB4ZjUsIDB4ODMsIDB4ZTQsIDB4OTMsIDB4MDgsIDB4ZjYsIDB4ZWQsIDB4MzAsIDB4ZTcsCi0weDUzLCAweDE4LCAweGU2LCAweDU0LCAweDBmLCAweGY5LCAweDEyLCAweDFkLCAweDQ3LCAweDEyLCAweDFkLCAweGI2LCAweDI0LCAweDQ3LCAweGY1LCAweDgyLAotMHhlNCwgMHgzNCwgMHhmZiwgMHgxMiwgMHgxYywgMHhjOCwgMHhjZSwgMHhjMywgMHgxMywgMHhjZSwgMHgxMywgMHhkOCwgMHhmOSwgMHhmZiwgMHhlOSwgMHgxMiwKLTB4MWQsIDB4YTgsIDB4ZWYsIDB4ZjAsIDB4MTIsIDB4MWMsIDB4Y2YsIDB4Y2UsIDB4YzMsIDB4MTMsIDB4Y2UsIDB4MTMsIDB4ZDgsIDB4ZjksIDB4MTIsIDB4MWQsCi0weGJiLCAweDI0LCAweDQ1LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweGZmLCAweGY1LCAweDgzLCAweGVmLCAweGYwLCAweGU5LCAweDEyLCAweDFkLCAweGNlLAotMHhlOSwgMHg3NSwgMHhmMCwgMHgwOCwgMHhhNCwgMHgyNCwgMHg0NiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHhmZiwgMHhmNSwgMHg4MywgMHg3NCwgMHg4MCwgCi0weGYwLCAweDAyLCAweDE5LCAweDY3LCAweDc4LCAweDc4LCAweGU2LCAweDU0LCAweDBmLCAweGY5LCAweDEyLCAweDFkLCAweDlhLCAweDEyLCAweDFkLCAweGI2LAotMHgyNCwgMHgwNywgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHhmZiwgMHgxMiwgMHgxYywgMHhjOCwgMHhjZSwgMHhjMywgMHgxMywgMHhjZSwgMHgxMywgMHhkOCwKLTB4ZjksIDB4MTIsIDB4MWQsIDB4YmIsIDB4MjQsIDB4MDEsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4ZmYsIDB4ZjUsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4MTIsCi0weDFjLCAweGNmLCAweGNlLCAweGMzLCAweDEzLCAweGNlLCAweDEzLCAweGQ4LCAweGY5LCAweDEyLCAweDFkLCAweGJiLCAweDI0LCAweDA1LCAweGY1LCAweDgyLAotMHhlNCwgMHgzNCwgMHhmZiwgMHhmNSwgMHg4MywgMHhlZiwgMHhmMCwgMHhlOSwgMHg3NSwgMHhmMCwgMHgwOCwgMHhhNCwgMHgyNCwgMHgwMiwgMHhmNSwgMHg4MiwgCi0weGU0LCAweDM0LCAweGZmLCAweGY1LCAweDgzLCAweGU0LCAweGYwLCAweGU5LCAweDc1LCAweGYwLCAweDA4LCAweGE0LCAweDI0LCAweDA2LCAweGY1LCAweDgyLCAKLTB4ZTQsIDB4MzQsIDB4ZmYsIDB4ZjUsIDB4ODMsIDB4ZTQsIDB4ZjAsIDB4MDUsIDB4MjMsIDB4ZTUsIDB4MjMsIDB4NjQsIDB4MDQsIDB4NjAsIDB4MDMsIDB4MDIsIAotMHgxOCwgMHg5MSwgMHg5MCwgMHgzMiwgMHgwOSwgMHhlNCwgMHg5MywgMHhmZiwgMHg3OCwgMHg3OCwgMHhmNiwgMHgxMiwgMHgxZCwgMHg5OCwgMHhlNCwgMHhmMCwKLTB4OTAsIDB4MzIsIDB4MDgsIDB4OTMsIDB4ZmYsIDB4ZjYsIDB4MTIsIDB4MWQsIDB4NDUsIDB4ZTQsIDB4ZjAsIDB4OTAsIDB4ZmYsIDB4ZmQsIDB4NzQsIDB4MDUsCi0weGYwLCAweDIyLCAweDdiLCAweDAwLCAweDdhLCAweDAwLCAweDc5LCAweDIzLCAweDkwLCAweGZhLCAweGNmLCAweGU0LCAweDc1LCAweGYwLCAweDAxLCAweDEyLAotMHgxYiwgMHgzMiwgMHg4NSwgMHhmMCwgMHgyZSwgMHhmNSwgMHgyZCwgMHg3ZCwgMHgwMSwgMHgwMiwgMHgyNiwgMHg5OCwgMHhlNywgMHgwOSwgMHhmNiwgMHgwOCwKLTB4ZGYsIDB4ZmEsIDB4ODAsIDB4NDYsIDB4ZTcsIDB4MDksIDB4ZjIsIDB4MDgsIDB4ZGYsIDB4ZmEsIDB4ODAsIDB4M2UsIDB4ODgsIDB4ODIsIDB4OGMsIDB4ODMsIAotMHhlNywgMHgwOSwgMHhmMCwgMHhhMywgMHhkZiwgMHhmYSwgMHg4MCwgMHgzMiwgMHhlMywgMHgwOSwgMHhmNiwgMHgwOCwgMHhkZiwgMHhmYSwgMHg4MCwgMHg3OCwgCi0weGUzLCAweDA5LCAweGYyLCAweDA4LCAweGRmLCAweGZhLCAweDgwLCAweDcwLCAweDg4LCAweDgyLCAweDhjLCAweDgzLCAweGUzLCAweDA5LCAweGYwLCAweGEzLCAKLTB4ZGYsIDB4ZmEsIDB4ODAsIDB4NjQsIDB4ODksIDB4ODIsIDB4OGEsIDB4ODMsIDB4ZTAsIDB4YTMsIDB4ZjYsIDB4MDgsIDB4ZGYsIDB4ZmEsIDB4ODAsIDB4NTgsIAotMHg4OSwgMHg4MiwgMHg4YSwgMHg4MywgMHhlMCwgMHhhMywgMHhmMiwgMHgwOCwgMHhkZiwgMHhmYSwgMHg4MCwgMHg0YywgMHg4MCwgMHhkMiwgMHg4MCwgMHhmYSwgCi0weDgwLCAweGM2LCAweDgwLCAweGQ0LCAweDgwLCAweDY5LCAweDgwLCAweGYyLCAweDgwLCAweDMzLCAweDgwLCAweDEwLCAweDgwLCAweGE2LCAweDgwLCAweGVhLCAKLTB4ODAsIDB4OWEsIDB4ODAsIDB4YTgsIDB4ODAsIDB4ZGEsIDB4ODAsIDB4ZTIsIDB4ODAsIDB4Y2EsIDB4ODAsIDB4MzMsIDB4ODksIDB4ODIsIDB4OGEsIDB4ODMsIAotMHhlYywgMHhmYSwgMHhlNCwgMHg5MywgMHhhMywgMHhjOCwgMHhjNSwgMHg4MiwgMHhjOCwgMHhjYywgMHhjNSwgMHg4MywgMHhjYywgMHhmMCwgMHhhMywgMHhjOCwgCi0weGM1LCAweDgyLCAweGM4LCAweGNjLCAweGM1LCAweDgzLCAweGNjLCAweGRmLCAweGU5LCAweGRlLCAweGU3LCAweDgwLCAweDBkLCAweDg5LCAweDgyLCAweDhhLCAKLTB4ODMsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4ZjYsIDB4MDgsIDB4ZGYsIDB4ZjksIDB4ZWMsIDB4ZmEsIDB4YTksIDB4ZjAsIDB4ZWQsIDB4ZmIsIDB4MjIsIDB4ODksIAotMHg4MiwgMHg4YSwgMHg4MywgMHhlYywgMHhmYSwgMHhlMCwgMHhhMywgMHhjOCwgMHhjNSwgMHg4MiwgMHhjOCwgMHhjYywgMHhjNSwgMHg4MywgMHhjYywgMHhmMCwgCi0weGEzLCAweGM4LCAweGM1LCAweDgyLCAweGM4LCAweGNjLCAweGM1LCAweDgzLCAweGNjLCAweGRmLCAweGVhLCAweGRlLCAweGU4LCAweDgwLCAweGRiLCAweDg5LCAKLTB4ODIsIDB4OGEsIDB4ODMsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4ZjIsIDB4MDgsIDB4ZGYsIDB4ZjksIDB4ODAsIDB4Y2MsIDB4ODgsIDB4ZjAsIDB4ZWYsIDB4NjAsIAotMHgwMSwgMHgwZSwgMHg0ZSwgMHg2MCwgMHhjMywgMHg4OCwgMHhmMCwgMHhlZCwgMHgyNCwgMHgwMiwgMHhiNCwgMHgwNCwgMHgwMCwgMHg1MCwgMHhiOSwgMHhmNSwgCi0weDgyLCAweGViLCAweDI0LCAweDAyLCAweGI0LCAweDA0LCAweDAwLCAweDUwLCAweGFmLCAweDIzLCAweDIzLCAweDQ1LCAweDgyLCAweDIzLCAweDkwLCAweDE5LCAKLTB4ZmMsIDB4NzMsIDB4YmIsIDB4MDEsIDB4MDYsIDB4ODksIDB4ODIsIDB4OGEsIDB4ODMsIDB4ZTAsIDB4MjIsIDB4NTAsIDB4MDIsIDB4ZTcsIDB4MjIsIDB4YmIsCi0weGZlLCAweDAyLCAweGUzLCAweDIyLCAweDg5LCAweDgyLCAweDhhLCAweDgzLCAweGU0LCAweDkzLCAweDIyLCAweGJiLCAweDAxLCAweDBjLCAweGU1LCAweDgyLCAKLTB4MjksIDB4ZjUsIDB4ODIsIDB4ZTUsIDB4ODMsIDB4M2EsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MjIsIDB4NTAsIDB4MDYsIDB4ZTksIDB4MjUsIDB4ODIsIDB4ZjgsIAotMHhlNiwgMHgyMiwgMHhiYiwgMHhmZSwgMHgwNiwgMHhlOSwgMHgyNSwgMHg4MiwgMHhmOCwgMHhlMiwgMHgyMiwgMHhlNSwgMHg4MiwgMHgyOSwgMHhmNSwgMHg4MiwgCi0weGU1LCAweDgzLCAweDNhLCAweGY1LCAweDgzLCAweGU0LCAweDkzLCAweDIyLCAweGJiLCAweDAxLCAweDA2LCAweDg5LCAweDgyLCAweDhhLCAweDgzLCAweGYwLCAKLTB4MjIsIDB4NTAsIDB4MDIsIDB4ZjcsIDB4MjIsIDB4YmIsIDB4ZmUsIDB4MDEsIDB4ZjMsIDB4MjIsIDB4ZjgsIDB4YmIsIDB4MDEsIDB4MGQsIDB4ZTUsIDB4ODIsIAotMHgyOSwgMHhmNSwgMHg4MiwgMHhlNSwgMHg4MywgMHgzYSwgMHhmNSwgMHg4MywgMHhlOCwgMHhmMCwgMHgyMiwgMHg1MCwgMHgwNiwgMHhlOSwgMHgyNSwgMHg4MiwgCi0weGM4LCAweGY2LCAweDIyLCAweGJiLCAweGZlLCAweDA1LCAweGU5LCAweDI1LCAweDgyLCAweGM4LCAweGYyLCAweDIyLCAweGM1LCAweGYwLCAweGY4LCAweGEzLCAKLTB4ZTAsIDB4MjgsIDB4ZjAsIDB4YzUsIDB4ZjAsIDB4ZjgsIDB4ZTUsIDB4ODIsIDB4MTUsIDB4ODIsIDB4NzAsIDB4MDIsIDB4MTUsIDB4ODMsIDB4ZTAsIDB4MzgsIAotMHhmMCwgMHgyMiwgMHhhMywgMHhmOCwgMHhlMCwgMHhjNSwgMHhmMCwgMHgyNSwgMHhmMCwgMHhmMCwgMHhlNSwgMHg4MiwgMHgxNSwgMHg4MiwgMHg3MCwgMHgwMiwgCi0weDE1LCAweDgzLCAweGUwLCAweGM4LCAweDM4LCAweGYwLCAweGU4LCAweDIyLCAweGJiLCAweDAxLCAweDEwLCAweGU1LCAweDgyLCAweDI5LCAweGY1LCAweDgyLCAKLTB4ZTUsIDB4ODMsIDB4M2EsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZjUsIDB4ZjAsIDB4YTMsIDB4ZTAsIDB4MjIsIDB4NTAsIDB4MDksIDB4ZTksIDB4MjUsIDB4ODIsIAotMHhmOCwgMHg4NiwgMHhmMCwgMHgwOCwgMHhlNiwgMHgyMiwgMHhiYiwgMHhmZSwgMHgwYSwgMHhlOSwgMHgyNSwgMHg4MiwgMHhmOCwgMHhlMiwgMHhmNSwgMHhmMCwgCi0weDA4LCAweGUyLCAweDIyLCAweGU1LCAweDgzLCAweDJhLCAweGY1LCAweDgzLCAweGU5LCAweDkzLCAweGY1LCAweGYwLCAweGEzLCAweGU5LCAweDkzLCAweDIyLCAKLTB4YmIsIDB4MDEsIDB4MGEsIDB4ODksIDB4ODIsIDB4OGEsIDB4ODMsIDB4ZjAsIDB4ZTUsIDB4ZjAsIDB4YTMsIDB4ZjAsIDB4MjIsIDB4NTAsIDB4MDYsIDB4ZjcsIAotMHgwOSwgMHhhNywgMHhmMCwgMHgxOSwgMHgyMiwgMHhiYiwgMHhmZSwgMHgwNiwgMHhmMywgMHhlNSwgMHhmMCwgMHgwOSwgMHhmMywgMHgxOSwgMHgyMiwgMHhmOCwgCi0weGJiLCAweDAxLCAweDExLCAweGU1LCAweDgyLCAweDI5LCAweGY1LCAweDgyLCAweGU1LCAweDgzLCAweDNhLCAweGY1LCAweDgzLCAweGU4LCAweGYwLCAweGU1LCAKLTB4ZjAsIDB4YTMsIDB4ZjAsIDB4MjIsIDB4NTAsIDB4MDksIDB4ZTksIDB4MjUsIDB4ODIsIDB4YzgsIDB4ZjYsIDB4MDgsIDB4YTYsIDB4ZjAsIDB4MjIsIDB4YmIsIAotMHhmZSwgMHgwOSwgMHhlOSwgMHgyNSwgMHg4MiwgMHhjOCwgMHhmMiwgMHhlNSwgMHhmMCwgMHgwOCwgMHhmMiwgMHgyMiwgMHhhNCwgMHgyNSwgMHg4MiwgMHhmNSwgCi0weDgyLCAweGU1LCAweGYwLCAweDM1LCAweDgzLCAweGY1LCAweDgzLCAweDIyLCAweGU2LCAweGZiLCAweDA4LCAweGU2LCAweGZhLCAweDA4LCAweGU2LCAweGY5LCAKLTB4MjIsIDB4ZWIsIDB4ZjYsIDB4MDgsIDB4ZWEsIDB4ZjYsIDB4MDgsIDB4ZTksIDB4ZjYsIDB4MjIsIDB4ZTAsIDB4ZmIsIDB4YTMsIDB4ZTAsIDB4ZmEsIDB4YTMsIAotMHhlMCwgMHhmOSwgMHgyMiwgMHhlYiwgMHhmMCwgMHhhMywgMHhlYSwgMHhmMCwgMHhhMywgMHhlOSwgMHhmMCwgMHgyMiwgMHhkMCwgMHg4MywgMHhkMCwgMHg4MiwgCi0weGY4LCAweGU0LCAweDkzLCAweDcwLCAweDEyLCAweDc0LCAweDAxLCAweDkzLCAweDcwLCAweDBkLCAweGEzLCAweGEzLCAweDkzLCAweGY4LCAweDc0LCAweDAxLCAKLTB4OTMsIDB4ZjUsIDB4ODIsIDB4ODgsIDB4ODMsIDB4ZTQsIDB4NzMsIDB4NzQsIDB4MDIsIDB4OTMsIDB4NjgsIDB4NjAsIDB4ZWYsIDB4YTMsIDB4YTMsIDB4YTMsIAotMHg4MCwgMHhkZiwgMHhhYiwgMHgzNiwgMHhhYSwgMHgzNywgMHhhOSwgMHgzOCwgMHhlNSwgMHg0YywgMHgxMiwgMHgxYSwgMHhlOCwgMHg3NCwgMHgwMSwgMHgyNSwKLTB4MzgsIDB4ZjUsIDB4MzgsIDB4ZTQsIDB4MzUsIDB4MzcsIDB4ZjUsIDB4MzcsIDB4YWIsIDB4MzYsIDB4ZmEsIDB4YTksIDB4MzgsIDB4NzQsIDB4MTEsIDB4MTIsIAotMHgxYSwgMHhlOCwgMHg3NCwgMHgwMSwgMHgyNSwgMHgzOCwgMHhmNSwgMHgzOCwgMHhlNCwgMHgzNSwgMHgzNywgMHhmNSwgMHgzNywgMHg5MCwgMHhmZiwgMHgwNiwKLTB4ZTAsIDB4YWIsIDB4MzYsIDB4YWEsIDB4MzcsIDB4YTksIDB4MzgsIDB4MTIsIDB4MWEsIDB4ZTgsIDB4NzQsIDB4MDEsIDB4MjUsIDB4MzgsIDB4ZjUsIDB4MzgsCi0weGU0LCAweDM1LCAweDM3LCAweGY1LCAweDM3LCAweGFiLCAweDM2LCAweGZhLCAweGE5LCAweDM4LCAweGU0LCAweDEyLCAweDFhLCAweGU4LCAweDA0LCAweDI1LAotMHgzOCwgMHhmNSwgMHgzOCwgMHhlNCwgMHgzNSwgMHgzNywgMHhmNSwgMHgzNywgMHhhYiwgMHgzNiwgMHhmYSwgMHhhOSwgMHgzOCwgMHhlNCwgMHgxMiwgMHgxYSwgCi0weGU4LCAweDA0LCAweDI1LCAweDM4LCAweGY1LCAweDM4LCAweGU0LCAweDM1LCAweDM3LCAweGY1LCAweDM3LCAweDkwLCAweGZmLCAweDA0LCAweGUwLCAweGFiLAotMHgzNiwgMHhhYSwgMHgzNywgMHhhOSwgMHgzOCwgMHgxMiwgMHgxYSwgMHhlOCwgMHg3NCwgMHgwMSwgMHgyNSwgMHgzOCwgMHhmNSwgMHgzOCwgMHhlNCwgMHgzNSwKLTB4MzcsIDB4ZjUsIDB4MzcsIDB4OTAsIDB4ZmYsIDB4MDUsIDB4ZTAsIDB4YWIsIDB4MzYsIDB4YWEsIDB4MzcsIDB4YTksIDB4MzgsIDB4MTIsIDB4MWEsIDB4ZTgsCi0weDc0LCAweDAxLCAweDI1LCAweDM4LCAweGY1LCAweDM4LCAweGU0LCAweDM1LCAweDM3LCAweGY1LCAweDM3LCAweDIyLCAweGY1LCAweDgzLCAweGUwLCAweDU0LCAKLTB4MDgsIDB4YWIsIDB4MzYsIDB4YWEsIDB4MzcsIDB4YTksIDB4MzgsIDB4MjIsIDB4ZjUsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4ZmQsIDB4N2MsIDB4MDAsIDB4YzMsIAotMHg3OCwgMHg3YiwgMHhlNiwgMHg5ZCwgMHhmNiwgMHgxOCwgMHhlNiwgMHg5YywgMHhmNiwgMHhlNiwgMHhmZSwgMHgwOCwgMHhlNiwgMHg3OCwgMHgwMywgMHgyMiwgCi0weDc1LCAweDM2LCAweDAxLCAweDc1LCAweDM3LCAweGY5LCAweDc1LCAweDM4LCAweDcyLCAweDIyLCAweGUwLCAweDQ0LCAweDA0LCAweGYwLCAweDc0LCAweDEzLAotMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHhmOSwgMHhmNSwgMHg4MywgMHhlMCwgMHgyMiwgMHg5MCwgMHhmYSwgMHhiYywgMHhlMCwgMHhmZiwgMHg3ZSwKLTB4MDAsIDB4YzMsIDB4OTAsIDB4ZmEsIDB4YzAsIDB4ZTAsIDB4OWYsIDB4ZjAsIDB4OTAsIDB4ZmEsIDB4YmYsIDB4ZTAsIDB4OWUsIDB4ZjAsIDB4OTAsIDB4ZmEsCi0weGI3LCAweGVlLCAweDhmLCAweGYwLCAweDEyLCAweDFiLCAweDFjLCAweGVmLCAweDI1LCAweDRmLCAweGY1LCAweDRmLCAweGVlLCAweDM1LCAweDRlLCAweGY1LAotMHg0ZSwgMHgyMiwgMHg3YiwgMHgwMSwgMHg3YSwgMHhmYSwgMHg3OSwgMHhiNCwgMHg5MCwgMHhmYSwgMHhiNywgMHhlMCwgMHhmNSwgMHgyZCwgMHhhMywgMHhlMCwKLTB4ZjUsIDB4MmUsIDB4MjIsIDB4NzgsIDB4N2MsIDB4ZTYsIDB4ZmUsIDB4MDgsIDB4ZTYsIDB4OGUsIDB4ODMsIDB4MjQsIDB4MDQsIDB4ZjUsIDB4ODIsIDB4ZTQsIAotMHgzNSwgMHg4MywgMHhmNSwgMHg4MywgMHgyMiwgMHg1NCwgMHgwZiwgMHg3NSwgMHhmMCwgMHgwOCwgMHhhNCwgMHgyNCwgMHg0MCwgMHhmNSwgMHg4MiwgMHhlNCwgCi0weDM0LCAweGZmLCAweGY1LCAweDgzLCAweDIyLCAweGU1LCAweDRkLCAweDc1LCAweGYwLCAweDA4LCAweGE0LCAweDI0LCAweDQ4LCAweGY1LCAweDgyLCAweGU0LCAKLTB4MzQsIDB4ZmYsIDB4MjIsIDB4ZTUsIDB4NGQsIDB4NzUsIDB4ZjAsIDB4MDgsIDB4YTQsIDB4MjQsIDB4MDgsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4ZmYsIAotMHgyMiwgMHg5MCwgMHhmYSwgMHhiOSwgMHhlMCwgMHhmZiwgMHgyNCwgMHhmYywgMHgyMiwgMHg5MCwgMHhmZiwgMHgwMCwgMHhlMCwgMHg1NCwgMHgxZiwgMHgyMiwKLTB4OTAsIDB4ZmEsIDB4YmUsIDB4ZTAsIDB4OTAsIDB4ZmEsIDB4YmEsIDB4ZjAsIDB4MjIsIDB4NzUsIDB4MzMsIDB4MDAsIDB4OGYsIDB4MzQsIDB4OTAsIDB4ZjksCi0weDZmLCAweDEyLCAweDFiLCAweGVhLCAweDkwLCAweDAwLCAweDAyLCAweDIyLCAweDU0LCAweDBmLCAweDc1LCAweGYwLCAweDA4LCAweGE0LCAweDI0LCAweDAwLAotMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHhmZiwgMHhmNSwgMHg4MywgMHgyMiwgMHg3NSwgMHhmMCwgMHgwOCwgMHhhNCwgMHgyNCwgMHg0MSwgMHhmNSwgMHg4MiwgCi0weGU0LCAweDM0LCAweGZmLCAweGY1LCAweDgzLCAweDIyLCAweDc0LCAweDgwLCAweGYwLCAweDA4LCAweGU2LCAweGZmLCAweGU5LCAweDc1LCAweGYwLCAweDA4LCAKLTB4YTQsIDB4MjIsIDB4NzQsIDB4YjIsIDB4MjUsIDB4MjIsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4ZmEsIDB4ZjUsIDB4ODMsIDB4MjIsIDB4NzUsIDB4ZjAsCi0weDA4LCAweGE0LCAweDI0LCAweDQyLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweGZmLCAweGY1LCAweDgzLCAweDc0LCAweDgwLCAweGYwLCAweDIyLCAweDkwLCAKLTB4ZmYsIDB4ODIsIDB4ZTAsIDB4NDQsIDB4MDgsIDB4ZjAsIDB4MjIsIDB4OTAsIDB4ZmYsIDB4ZmUsIDB4ZTAsIDB4NDQsIDB4MDMsIDB4ZjAsIDB4OTAsIDB4ZmYsIAotMHhmYywgMHhlMCwgMHg1NCwgMHhmZCwgMHhmMCwgMHgyMiwgMHg3OCwgMHg2NywgMHhlNiwgMHg1NCwgMHhmZCwgMHhmNiwgMHg5MCwgMHhmZiwgMHhmZCwgMHg3NCwgCi0weDY1LCAweGYwLCAweDIyLCAweDEyLCAweDFiLCAweGNjLCAweGUwLCAweGZlLCAweGEzLCAweGUwLCAweGZmLCAweDRlLCAweDIyLCAweDdiLCAweDAxLCAweDdhLAotMHhmYSwgMHg3OSwgMHhiNywgMHgyMiwgMHg5MCwgMHhmZiwgMHg4MCwgMHhlMCwgMHg0NCwgMHgwOCwgMHhmMCwgMHgyMiwgMHg5MCwgMHhmZiwgMHg4MywgMHhlMCwKLTB4NTQsIDB4N2YsIDB4ZjAsIDB4MjIsIDB4ZTAsIDB4ZmYsIDB4OTAsIDB4ZjksIDB4NmEsIDB4MDIsIDB4MWIsIDB4ZWEsIDB4OTAsIDB4ZmYsIDB4YTQsIDB4ZTAsCi0weDQ0LCAweDAyLCAweGYwLCAweDIyLCAweDc1LCAweDM5LCAweDAxLCAweDc1LCAweDNhLCAweDA5LCAweDIyLCAweDdiLCAweDAxLCAweDdhLCAweGY5LCAweDc5LCAKLTB4NzIsIDB4MjIsIDB4ZDMsIDB4ZTUsIDB4M2MsIDB4OTQsIDB4MDgsIDB4ZTUsIDB4M2IsIDB4OTQsIDB4MDEsIDB4MjIsIDB4OTAsIDB4ZmEsIDB4YmUsIDB4ZTAsCi0weGZmLCAweDkwLCAweGZhLCAweGJhLCAweGYwLCAweDIyLCAweDkwLCAweGZmLCAweGE0LCAweGUwLCAweDU0LCAweGVmLCAweDIyLCAweDkwLCAweGZmLCAweGI0LAotMHhlMCwgMHg1NCwgMHhlZiwgMHgyMiwgMHgxMiwgMHgxMCwgMHg0YiwgMHg3OCwgMHg4OCwgMHhlZiwgMHhmNiwgMHgxMiwgMHgyYSwgMHhjNywgMHgxMiwgMHgyMiwKLTB4ZmEsIDB4OGUsIDB4ODMsIDB4MjQsIDB4MDksIDB4MTIsIDB4MjIsIDB4YTEsIDB4ZTAsIDB4ZmQsIDB4MTIsIDB4MjIsIDB4ZTgsIDB4OTAsIDB4MDAsIDB4MGEsCi0weDEyLCAweDIzLCAweDAyLCAweDI0LCAweDBhLCAweDEyLCAweDIyLCAweGExLCAweGUwLCAweDkwLCAweDAwLCAweDBiLCAweDEyLCAweDFhLCAweGZhLCAweDEyLAotMHgyMiwgMHhmYSwgMHhmNSwgMHg4MiwgMHg4ZSwgMHg4MywgMHhhMywgMHhhMywgMHhhMywgMHhlMCwgMHhmNSwgMHg1MywgMHgxMiwgMHgyMywgMHgwNiwgMHgyNCwKLTB4MDQsIDB4MTIsIDB4MjIsIDB4YTEsIDB4ZTAsIDB4ZjUsIDB4NTQsIDB4OGYsIDB4ODIsIDB4OGUsIDB4ODMsIDB4YTMsIDB4YTMsIDB4ZTAsIDB4ZjUsIDB4NTUsCi0weGU1LCAweDUzLCAweGM0LCAweDEzLCAweDEzLCAweDEzLCAweDU0LCAweDAxLCAweDc4LCAweDg4LCAweGY2LCAweGQzLCAweDk0LCAweDAwLCAweDQwLCAweDA2LCAKLTB4ZTUsIDB4NTQsIDB4MzAsIDB4ZTEsIDB4MDEsIDB4MDYsIDB4NzgsIDB4ODgsIDB4ZTYsIDB4MTIsIDB4MjIsIDB4ZTcsIDB4OTAsIDB4MDAsIDB4MGMsIDB4ZWYsCi0weDEyLCAweDFhLCAweGZhLCAweDEyLCAweDIyLCAweGI1LCAweGEzLCAweGEzLCAweGUwLCAweGZlLCAweGEzLCAweGUwLCAweGZmLCAweDUzLCAweDA3LCAweDBjLAotMHg1MywgMHgwNiwgMHhlNiwgMHhlNSwgMHg1MywgMHgzMCwgMHhlNSwgMHgwMywgMHg0MywgMHgwNywgMHgwMSwgMHhlNSwgMHg1NCwgMHgyMCwgMHhlNSwgMHgwZSwKLTB4ZTUsIDB4NTMsIDB4NTQsIDB4N2YsIDB4NzAsIDB4MDgsIDB4ZTUsIDB4NTMsIDB4MjAsIDB4ZTcsIDB4MDMsIDB4NDMsIDB4MDcsIDB4MDIsIDB4ZTUsIDB4NTMsCi0weDMwLCAweGUzLCAweDAzLCAweDQzLCAweDA3LCAweDEwLCAweGU1LCAweDUzLCAweDMwLCAweGUyLCAweDAzLCAweDQzLCAweDA3LCAweDIwLCAweGU1LCAweDUzLAotMHg1NCwgMHgwMywgMHg2MCwgMHgwMywgMHg0MywgMHgwNywgMHg0MCwgMHhlNSwgMHg1MywgMHgzMCwgMHhlMSwgMHgwMywgMHg0MywgMHgwNywgMHg4MCwgMHhlNSwKLTB4NTMsIDB4MzAsIDB4ZTQsIDB4MDMsIDB4NDMsIDB4MDYsIDB4MDEsIDB4ZTUsIDB4NTMsIDB4MzAsIDB4ZTYsIDB4MDMsIDB4NDMsIDB4MDYsIDB4MDgsIDB4ZTUsCi0weDU0LCAweDIwLCAweGU0LCAweDBlLCAweGU1LCAweDUzLCAweDU0LCAweDdmLCAweDcwLCAweDA4LCAweGU1LCAweDUzLCAweDIwLCAweGU3LCAweDAzLCAweDQzLAotMHgwNiwgMHgxMCwgMHg1MywgMHgwNywgMHhmYiwgMHg1MywgMHgwNiwgMHg3OSwgMHg5MCwgMHgwMCwgMHgwNSwgMHhlZSwgMHg4ZiwgMHhmMCwgMHgxMiwgMHgxYiwKLTB4OWYsIDB4ZTUsIDB4NTUsIDB4MzAsIDB4ZTMsIDB4MTIsIDB4NTQsIDB4MzAsIDB4ZmYsIDB4YzQsIDB4NTQsIDB4MGYsIDB4MTIsIDB4MjIsIDB4ZTcsIDB4OTAsCi0weDAwLCAweDA4LCAweGVmLCAweDEyLCAweDFhLCAweGZhLCAweDgwLCAweDBhLCAweDEyLCAweDIyLCAweGU4LCAweDkwLCAweDAwLCAweDA4LCAweGU0LCAweDEyLAotMHgxYSwgMHhmYSwgMHhlNSwgMHg1NSwgMHg1NCwgMHgwMywgMHgxMiwgMHgyMiwgMHhlNywgMHg5MCwgMHgwMCwgMHgwNywgMHhlZiwgMHgxMiwgMHgxYSwgMHhmYSwKLTB4ZTUsIDB4NTUsIDB4NTQsIDB4MDQsIDB4ZmYsIDB4YzMsIDB4MTMsIDB4OTAsIDB4MDAsIDB4MDksIDB4MTIsIDB4MWEsIDB4ZmEsIDB4OTAsIDB4MDAsIDB4MDcsCi0weDEyLCAweDFhLCAweGJiLCAweDcwLCAweDEzLCAweDEyLCAweDIyLCAweGU4LCAweGU5LCAweDI0LCAweDA5LCAweGY5LCAweGU0LCAweDNhLCAweGZhLCAweDEyLAotMHgxYSwgMHhhMiwgMHhmZiwgMHhjMywgMHgxMywgMHgxMiwgMHgxYSwgMHhlOCwgMHgxMiwgMHgyMywgMHgyNywgMHgyNCwgMHgwOCwgMHgxMiwgMHgyMiwgMHhhMSwKLTB4ZTAsIDB4ZmUsIDB4OGQsIDB4ODIsIDB4OGMsIDB4ODMsIDB4ZTUsIDB4ODIsIDB4MjQsIDB4MDcsIDB4MTIsIDB4MjIsIDB4YTEsIDB4ZTAsIDB4ZmQsIDB4ZWUsCi0weGVkLCAweDEyLCAweDIyLCAweGU3LCAweDkwLCAweDAwLCAweDAzLCAweGVlLCAweDhmLCAweGYwLCAweDEyLCAweDFiLCAweDlmLCAweDEyLCAweDMyLCAweDg0LAotMHg3ZCwgMHgwYSwgMHhlNCwgMHhmZiwgMHgxMiwgMHgyZiwgMHhiNCwgMHgwMiwgMHgxMCwgMHhjZSwgMHg5MCwgMHhmYSwgMHhlNiwgMHhlMCwgMHhiNCwgMHgwMywKLTB4MDYsIDB4N2UsIDB4MDAsIDB4N2YsIDB4NDAsIDB4ODAsIDB4MDQsIDB4N2UsIDB4MDAsIDB4N2YsIDB4MDgsIDB4OTAsIDB4ZmEsIDB4ZGEsIDB4ZWUsIDB4ZjAsCi0weGEzLCAweGVmLCAweGYwLCAweDkwLCAweDAwLCAweDA1LCAweDEyLCAweDFhLCAweGJiLCAweGZmLCAweDdlLCAweDAwLCAweDkwLCAweGZhLCAweGQ2LCAweGVlLAotMHhmMCwgMHhhMywgMHhlZiwgMHhmMCwgMHg3MCwgMHgwMywgMHg3ZiwgMHgwOCwgMHgyMiwgMHg5MCwgMHgwMCwgMHgwOCwgMHgxMiwgMHgxYiwgMHg0OCwgMHhmZiwKLTB4OTAsIDB4ZmEsIDB4ZDgsIDB4ZTUsIDB4ZjAsIDB4ZjAsIDB4YTMsIDB4ZWYsIDB4ZjAsIDB4YWUsIDB4MDIsIDB4YWYsIDB4MDEsIDB4OGUsIDB4NTAsIDB4OGYsCi0weDUxLCAweDc0LCAweDBhLCAweDI1LCAweDUxLCAweGY1LCAweDUxLCAweGU0LCAweDM1LCAweDUwLCAweGY1LCAweDUwLCAweDkwLCAweGZhLCAweGRiLCAweGUwLAotMHhmZiwgMHgxNCwgMHhmZSwgMHg5MCwgMHhmYSwgMHhkOSwgMHhlMCwgMHg1ZSwgMHhmZSwgMHhjMywgMHhlZiwgMHg5ZSwgMHhmZiwgMHg5MCwgMHhmYSwgMHhkZCwKLTB4ZjAsIDB4YzMsIDB4OTAsIDB4ZmEsIDB4ZDcsIDB4ZTAsIDB4OWYsIDB4OTAsIDB4ZmEsIDB4ZDYsIDB4ZTAsIDB4OTQsIDB4MDAsIDB4NTAsIDB4MDYsIDB4YTMsCi0weGUwLCAweDkwLCAweGZhLCAweGRkLCAweGYwLCAweDEyLCAweDIwLCAweGE5LCAweDYwLCAweDAzLCAweGUwLCAweGZmLCAweDIyLCAweDEyLCAweDJlLCAweDJiLAotMHg5MCwgMHhmYSwgMHhkNiwgMHhlMCwgMHhmZSwgMHhhMywgMHhlMCwgMHhmZiwgMHg0ZSwgMHg2MCwgMHgyYiwgMHg5MCwgMHhmYSwgMHhkYSwgMHhlMCwgMHhmYywKLTB4YTMsIDB4ZTAsIDB4ZmQsIDB4ZDMsIDB4ZWYsIDB4OWQsIDB4ZWUsIDB4OWMsIDB4NDAsIDB4MDcsIDB4ZTAsIDB4OTAsIDB4ZmEsIDB4ZGQsIDB4ZjAsIDB4ODAsCi0weDA4LCAweDkwLCAweGZhLCAweGQ3LCAweGUwLCAweDkwLCAweGZhLCAweGRkLCAweGYwLCAweDEyLCAweDIwLCAweGE5LCAweDYwLCAweDAzLCAweGUwLCAweGZmLAotMHgyMiwgMHgxMiwgMHgyZSwgMHgyYiwgMHg4MCwgMHhjYSwgMHg3YiwgMHgwMCwgMHg3YSwgMHgwMCwgMHg3OSwgMHg1MiwgMHhlNCwgMHhmNSwgMHgyZCwgMHhmNSwKLTB4MmUsIDB4N2QsIDB4MDEsIDB4MTIsIDB4MjYsIDB4OTgsIDB4N2YsIDB4MDAsIDB4MjIsIDB4YWEsIDB4NTAsIDB4YTksIDB4NTEsIDB4N2IsIDB4MDEsIDB4OTAsCi0weGZhLCAweGQ4LCAweGUwLCAweGZjLCAweGEzLCAweGUwLCAweGZkLCAweDkwLCAweGZhLCAweGRkLCAweGUwLCAweGY1LCAweDRhLCAweDEyLCAweDI5LCAweDYwLAotMHg5MCwgMHhmYSwgMHhkYywgMHhlZiwgMHhmMCwgMHgyMiwgMHhlZiwgMHgyNCwgMHhhZSwgMHg2MCwgMHg1MiwgMHgyNCwgMHhmZSwgMHg2MCwgMHgyZSwgMHgyNCwKLTB4ZmUsIDB4NzAsIDB4MDMsIDB4MDIsIDB4MjEsIDB4NjksIDB4MjQsIDB4MDYsIDB4NjAsIDB4MDMsIDB4MDIsIDB4MjEsIDB4YjEsIDB4NzgsIDB4NzEsIDB4ZTYsCi0weDU0LCAweGZiLCAweGY2LCAweDkwLCAweGZmLCAweGE1LCAweGUwLCAweGY1LCAweDIyLCAweDQ0LCAweDBmLCAweGYwLCAweDc0LCAweDMzLCAweDkwLCAweGZhLAotMHg5NCwgMHhmMCwgMHhlNSwgMHgyMiwgMHhhMywgMHhmMCwgMHg5MCwgMHhmYSwgMHhiMiwgMHg3NCwgMHgwMSwgMHhmMCwgMHgyMiwgMHg3OCwgMHg3MiwgMHhlNiwKLTB4NTQsIDB4ZmIsIDB4ZjYsIDB4OTAsIDB4ZmYsIDB4YjUsIDB4ZTAsIDB4ZjUsIDB4MjIsIDB4NDQsIDB4MGYsIDB4ZjAsIDB4NzQsIDB4NDMsIDB4OTAsIDB4ZmEsCi0weDk2LCAweGYwLCAweGU1LCAweDIyLCAweGEzLCAweGYwLCAweDkwLCAweGZhLCAweGIzLCAweDc0LCAweDAxLCAweGYwLCAweDIyLCAweDkwLCAweGZhLCAweGEwLAotMHhlMCwgMHhhMywgMHgyMCwgMHhlNSwgMHgwMywgMHgwMiwgMHgyMSwgMHhiMSwgMHg5MCwgMHhmZiwgMHhhNiwgMHhlMCwgMHg5MCwgMHhmYSwgMHhjZCwgMHhmMCwKLTB4YTMsIDB4ZjAsIDB4OTAsIDB4ZmEsIDB4Y2QsIDB4ZTAsIDB4ZmYsIDB4NTQsIDB4MGYsIDB4ZmUsIDB4NjAsIDB4MTAsIDB4OTAsIDB4ZmYsIDB4YTYsIDB4MTIsCi0weDIzLCAweDBkLCAweDkwLCAweGZmLCAweGE2LCAweGUwLCAweDkwLCAweGZhLCAweGNkLCAweGYwLCAweDgwLCAweGU2LCAweDkwLCAweGZhLCAweGNlLCAweGUwLAotMHhmZiwgMHg3NCwgMHgzNCwgMHhmZSwgMHgxMiwgMHgyZCwgMHg4NSwgMHhlZiwgMHg3MCwgMHg1NywgMHg5MCwgMHhmYSwgMHhjZSwgMHhlMCwgMHhmZiwgMHg3NCwKLTB4MzQsIDB4OTAsIDB4ZmEsIDB4OTgsIDB4ZjAsIDB4ZWYsIDB4YTMsIDB4ZjAsIDB4MjIsIDB4OTAsIDB4ZmEsIDB4YWEsIDB4ZTAsIDB4YTMsIDB4MzAsIDB4ZTUsCi0weDQwLCAweDkwLCAweGZmLCAweGI2LCAweGUwLCAweDkwLCAweGZhLCAweGNkLCAweGYwLCAweGEzLCAweGYwLCAweDkwLCAweGZhLCAweGNkLCAweGUwLCAweGZmLAotMHg1NCwgMHgwZiwgMHhmZSwgMHg2MCwgMHgxMCwgMHg5MCwgMHhmZiwgMHhiNiwgMHgxMiwgMHgyMywgMHgwZCwgMHg5MCwgMHhmZiwgMHhiNiwgMHhlMCwgMHg5MCwKLTB4ZmEsIDB4Y2QsIDB4ZjAsIDB4ODAsIDB4ZTYsIDB4OTAsIDB4ZmEsIDB4Y2UsIDB4ZTAsIDB4ZmYsIDB4NzQsIDB4NDQsIDB4ZmUsIDB4MTIsIDB4MmQsIDB4ODUsCi0weGVmLCAweDcwLCAweDBlLCAweDkwLCAweGZhLCAweGNlLCAweGUwLCAweGZmLCAweDc0LCAweDQ0LCAweDkwLCAweGZhLCAweDlhLCAweGYwLCAweGVmLCAweGEzLAotMHhmMCwgMHgyMiwgMHhjMCwgMHhlMCwgMHhjMCwgMHhmMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhjMCwgMHhkMCwgMHg3NSwgMHhkMCwgMHgwMCwgMHhjMCwKLTB4MDAsIDB4YzAsIDB4MDEsIDB4YzAsIDB4MDIsIDB4YzAsIDB4MDMsIDB4YzAsIDB4MDQsIDB4YzAsIDB4MDUsIDB4YzAsIDB4MDYsIDB4YzAsIDB4MDcsIDB4OTAsCi0weGZmLCAweDkyLCAweGUwLCAweGZmLCAweDkwLCAweGZhLCAweGNjLCAweGYwLCAweDkwLCAweGZmLCAweDkyLCAweGU0LCAweGYwLCAweGVmLCAweDEyLCAweDFiLAotMHhmYywgMHgyMiwgMHg2OSwgMHgyNiwgMHgyMiwgMHg2OSwgMHgyZSwgMHgyMiwgMHgwYywgMHgzMCwgMHgyMiwgMHgwYywgMHgzMiwgMHgyMiwgMHgxYSwgMHgzOCwKLTB4MjIsIDB4MmMsIDB4M2EsIDB4MjIsIDB4NWUsIDB4M2UsIDB4MjIsIDB4NDksIDB4NDQsIDB4MjIsIDB4M2UsIDB4NDYsIDB4MjIsIDB4NTQsIDB4NTAsIDB4MjIsCi0weDU0LCAweDUyLCAweDIyLCAweDU0LCAweDU0LCAweDIyLCAweDU0LCAweDU2LCAweDAwLCAweDAwLCAweDIyLCAweDZlLCAweDkwLCAweGZhLCAweGNjLCAweGUwLAotMHhmZCwgMHg3YywgMHgwMCwgMHg3ZiwgMHgwMSwgMHgxMiwgMHgxMSwgMHg1ZSwgMHg4MCwgMHg2MiwgMHg3YywgMHgwMCwgMHg3ZCwgMHgwMSwgMHg3ZiwgMHgwMywKLTB4MTIsIDB4MTEsIDB4NWUsIDB4OTAsIDB4ZmYsIDB4ZmUsIDB4ZTAsIDB4NDQsIDB4MjAsIDB4ZjAsIDB4ODAsIDB4NTAsIDB4N2MsIDB4MDAsIDB4N2QsIDB4MDEsCi0weDdmLCAweDAyLCAweDEyLCAweDExLCAweDVlLCAweDkwLCAweGZmLCAweGZlLCAweGUwLCAweDQ0LCAweDQwLCAweGYwLCAweDgwLCAweDNlLCAweDdjLCAweDAwLAotMHg3ZCwgMHgwMSwgMHg3ZiwgMHgwNSwgMHgxMiwgMHgxMSwgMHg1ZSwgMHg4MCwgMHgzMywgMHg3YywgMHgwMCwgMHg3ZCwgMHgwMSwgMHg3ZiwgMHgwNiwgMHgxMiwKLTB4MTEsIDB4NWUsIDB4ODAsIDB4MjgsIDB4OTAsIDB4ZmEsIDB4Y2MsIDB4ZTAsIDB4ZmYsIDB4MTIsIDB4MjAsIDB4YzYsIDB4ODAsIDB4MWUsIDB4N2MsIDB4MDAsCi0weDdkLCAweDAxLCAweDdmLCAweDA0LCAweDEyLCAweDExLCAweDVlLCAweDgwLCAweDEzLCAweDEyLCAweDI4LCAweDRlLCAweDgwLCAweDBlLCAweDkwLCAweGZhLAotMHhjYywgMHhlMCwgMHgyNCwgMHgwMCwgMHhmZiwgMHhlNCwgMHgzNCwgMHhmZiwgMHhmZSwgMHgxMiwgMHgyZCwgMHg4NSwgMHhkMCwgMHgwNywgMHhkMCwgMHgwNiwKLTB4ZDAsIDB4MDUsIDB4ZDAsIDB4MDQsIDB4ZDAsIDB4MDMsIDB4ZDAsIDB4MDIsIDB4ZDAsIDB4MDEsIDB4ZDAsIDB4MDAsIDB4ZDAsIDB4ZDAsIDB4ZDAsIDB4ODIsCi0weGQwLCAweDgzLCAweGQwLCAweGYwLCAweGQwLCAweGUwLCAweDMyLCAweDc4LCAweDdjLCAweGU2LCAweGZlLCAweDA4LCAweGU2LCAweDI0LCAweDA0LCAweDhlLAotMHg4MywgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHg4MywgMHhmNSwgMHg4MywgMHgyMiwgMHg3NCwgMHgxMywgMHgyNSwgMHgyNCwgMHhmNSwgMHg4MiwgMHhlNCwKLTB4MzQsIDB4ZjksIDB4ZjUsIDB4ODMsIDB4MjIsIDB4NzgsIDB4ODAsIDB4ZTYsIDB4ZmUsIDB4MDgsIDB4ZTYsIDB4ZjUsIDB4ODIsIDB4OGUsIDB4ODMsIDB4MjIsCi0weDc4LCAweDgwLCAweGU2LCAweGZlLCAweDA4LCAweGU2LCAweGFhLCAweDA2LCAweGY4LCAweGFjLCAweDAyLCAweDdkLCAweDAxLCAweDdiLCAweGZmLCAweDdhLAotMHgzMiwgMHg3OSwgMHg1NiwgMHg3ZSwgMHgwMCwgMHg3ZiwgMHgwYSwgMHgwMiwgMHgxYSwgMHg3YywgMHg3OCwgMHg4MCwgMHhlNiwgMHhmYywgMHgwOCwgMHhlNiwKLTB4ZjUsIDB4ODIsIDB4OGMsIDB4ODMsIDB4YTMsIDB4YTMsIDB4MjIsIDB4ZmYsIDB4OTAsIDB4ZjksIDB4NmYsIDB4MDIsIDB4MWIsIDB4ZWEsIDB4OTAsIDB4ZjksCi0weDZhLCAweDEyLCAweDFiLCAweGVhLCAweDkwLCAweDAwLCAweDA0LCAweDAyLCAweDFhLCAweGJiLCAweDc4LCAweDdlLCAweGU2LCAweGZlLCAweDA4LCAweGU2LAotMHhmZiwgMHgyMiwgMHhlZCwgMHgxMiwgMHgxYSwgMHhmYSwgMHg4ZiwgMHg4MiwgMHg4ZSwgMHg4MywgMHhlNSwgMHg4MiwgMHgyMiwgMHhlZiwgMHhmMCwgMHg5MCwKLTB4ZmEsIDB4Y2UsIDB4ZTAsIDB4NTQsIDB4MGYsIDB4NGUsIDB4ZmUsIDB4ZjAsIDB4ZWYsIDB4NTQsIDB4ZjAsIDB4NGUsIDB4ZjAsIDB4MjIsIDB4NzgsIDB4ODAsCi0weGU2LCAweGZjLCAweDA4LCAweGU2LCAweDhjLCAweDgzLCAweDIyLCAweDc4LCAweDdlLCAweGU2LCAweGZjLCAweDA4LCAweGU2LCAweGZkLCAweDhjLCAweDgzLAotMHgyMiwgMHhhNiwgMHgwNywgMHhlNiwgMHgyNCwgMHg2ZSwgMHhmOCwgMHhlNiwgMHgyMiwgMHg3OCwgMHg3ZSwgMHhlNiwgMHhmYSwgMHgwOCwgMHhlNiwgMHhmYiwKLTB4MjIsIDB4MDgsIDB4ZTYsIDB4ZmUsIDB4MDgsIDB4ZTYsIDB4OGUsIDB4ODMsIDB4MjIsIDB4MjYsIDB4ZjYsIDB4MTgsIDB4ZWUsIDB4MzYsIDB4ZjYsIDB4MjIsCi0weGVmLCAweDI0LCAweDBiLCAweGY1LCAweDgyLCAweGU0LCAweDNlLCAweGY1LCAweDgzLCAweDIyLCAweDhiLCAweDgyLCAweDhhLCAweDgzLCAweGU1LCAweDgyLAotMHgyMiwgMHg4YiwgMHgyNSwgMHg4YSwgMHgyNiwgMHg4OSwgMHgyNywgMHg4ZCwgMHgyOCwgMHg5MCwgMHhmYSwgMHhkMiwgMHhlNCwgMHhmMCwgMHhhMywgMHg3NCwKLTB4MDIsIDB4ZjAsIDB4N2IsIDB4MDEsIDB4N2EsIDB4ZmEsIDB4NzksIDB4ZDEsIDB4OTAsIDB4ZmEsIDB4ZDIsIDB4ZTAsIDB4ZjUsIDB4MmQsIDB4YTMsIDB4ZTAsCi0weGY1LCAweDJlLCAweDdkLCAweDAxLCAweDEyLCAweDI2LCAweDk4LCAweDkwLCAweGZhLCAweGQxLCAweGUwLCAweDY1LCAweDI4LCAweDYwLCAweDQ2LCAweGEzLAotMHhlMCwgMHhmZiwgMHhhMywgMHhlMCwgMHhhMywgMHhjZiwgMHhmMCwgMHhhMywgMHhlZiwgMHhmMCwgMHgxMiwgMHgyMywgMHhmMCwgMHg5MCwgMHhmYSwgMHhkMSwKLTB4ZTAsIDB4ZmYsIDB4OTAsIDB4ZmEsIDB4ZDQsIDB4ZTQsIDB4OGYsIDB4ZjAsIDB4MTIsIDB4MWIsIDB4MWMsIDB4MTIsIDB4MjMsIDB4ZjAsIDB4OTAsIDB4ZmEsCi0weGQ0LCAweGUwLCAweGZmLCAweGEzLCAweGUwLCAweDkwLCAweGZhLCAweGQyLCAweGNmLCAweGYwLCAweGEzLCAweGVmLCAweGYwLCAweDkwLCAweGZhLCAweGQxLAotMHhlMCwgMHhhMywgMHg3NSwgMHhmMCwgMHgwMCwgMHgxMiwgMHgxYiwgMHgxYywgMHg5MCwgMHhmYSwgMHhkMiwgMHhlNCwgMHg3NSwgMHhmMCwgMHgwNCwgMHgxMiwKLTB4MWIsIDB4MWMsIDB4MDIsIDB4MjMsIDB4NzIsIDB4OTAsIDB4ZmEsIDB4ZDMsIDB4ZTAsIDB4MjQsIDB4MDEsIDB4ZmYsIDB4OTAsIDB4ZmEsIDB4ZDIsIDB4ZTAsCi0weDM0LCAweDAwLCAweGFiLCAweDI1LCAweGFhLCAweDI2LCAweGE5LCAweDI3LCAweDhmLCAweGYwLCAweDEyLCAweDFiLCAweDgwLCAweDdmLCAweDAwLCAweDIyLAotMHg3YiwgMHgwMSwgMHg3YSwgMHhmYSwgMHg3OSwgMHhkMSwgMHg5MCwgMHhmYSwgMHhkMiwgMHhlNCwgMHg3NSwgMHhmMCwgMHgwMSwgMHgxMiwgMHgxYiwgMHgxYywKLTB4ODUsIDB4ZjAsIDB4MmUsIDB4ZjUsIDB4MmQsIDB4N2QsIDB4MDEsIDB4MDIsIDB4MjYsIDB4OTgsIDB4OGYsIDB4NjIsIDB4MTIsIDB4MmEsIDB4YzcsIDB4MTIsCi0weDIyLCAweGZhLCAweDhlLCAweDgzLCAweDI0LCAweDBiLCAweDEyLCAweDIyLCAweGExLCAweGUwLCAweDU0LCAweGZiLCAweGYwLCAweDQ0LCAweDAyLCAweGYwLAotMHgwOCwgMHgxMiwgMHgyMiwgMHhkYywgMHhlMCwgMHhhMywgMHgzMCwgMHhlNSwgMHgwYywgMHgxMiwgMHgyMywgMHgwNiwgMHgyNCwgMHgwYiwgMHgxMiwgMHgyMiwKLTB4YTEsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4NzgsIDB4N2MsIDB4ZTYsIDB4ZmUsIDB4MDgsIDB4ZTYsIDB4ZmYsIDB4ZjUsIDB4ODIsIDB4OGUsIDB4ODMsCi0weGUwLCAweDU0LCAweGI4LCAweGZkLCAweGYwLCAweGU1LCAweDYyLCAweDI0LCAweGZlLCAweDQ0LCAweDIwLCAweGZjLCAweDRkLCAweGYwLCAweGU1LCAweDgyLAotMHgyNCwgMHgwNCwgMHgxMiwgMHgyMiwgMHhhMSwgMHhlMCwgMHg1NCwgMHhiOCwgMHhmMCwgMHg0YywgMHhmMCwgMHg4ZiwgMHg4MiwgMHg4ZSwgMHg4MywgMHhhMywKLTB4NzQsIDB4MDMsIDB4ZjAsIDB4MTgsIDB4ZTYsIDB4ZmUsIDB4MDgsIDB4ZTYsIDB4ZmYsIDB4OGUsIDB4ODMsIDB4MjQsIDB4MDUsIDB4MTIsIDB4MjIsIDB4YTEsCi0weGMwLCAweDgzLCAweGMwLCAweDgyLCAweGUwLCAweGZkLCAweDc0LCAweDk5LCAweDI1LCAweDYyLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweGZhLCAweGY1LAotMHg4MywgMHhlMCwgMHg1NCwgMHhmYywgMHg0NCwgMHgwMywgMHhmYywgMHhlZCwgMHg0YywgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhmMCwgMHg4ZiwgMHg4MiwKLTB4OGUsIDB4ODMsIDB4ZTAsIDB4NDQsIDB4ODAsIDB4ZjAsIDB4ZTUsIDB4ODIsIDB4MjQsIDB4MDQsIDB4MTIsIDB4MjIsIDB4YTEsIDB4ZTAsIDB4NDQsIDB4ODAsCi0weGYwLCAweDEyLCAweDMyLCAweDg0LCAweDc0LCAweDZlLCAweDI1LCAweDYyLCAweGY4LCAweDc0LCAweDA0LCAweDQ2LCAweGY2LCAweDdmLCAweDAwLCAweDIyLAotMHgxMiwgMHgxMCwgMHg0YiwgMHg3ZiwgMHgwMiwgMHgxMiwgMHgxMiwgMHg2MSwgMHg3OCwgMHg2NywgMHhlNiwgMHg0NCwgMHgwMiwgMHhmNiwgMHhkMiwgMHhiMCwKLTB4ZDIsIDB4YjEsIDB4OTAsIDB4ZjksIDB4MTYsIDB4ZTAsIDB4MzAsIDB4ZTcsIDB4MDcsIDB4OTAsIDB4ZmYsIDB4OWUsIDB4ZTQsIDB4ZjAsIDB4ODAsIDB4MzYsCi0weGQyLCAweGIzLCAweDkwLCAweGZmLCAweGE0LCAweGUwLCAweDkwLCAweGZhLCAweDdlLCAweGYwLCAweDkwLCAweGZmLCAweGI0LCAweGUwLCAweDkwLCAweGZhLAotMHg3ZiwgMHhmMCwgMHg5MCwgMHhmZiwgMHhhMiwgMHhlMCwgMHg5MCwgMHhmYSwgMHg3YywgMHhmMCwgMHg5MCwgMHhmZiwgMHhiMiwgMHhlMCwgMHg5MCwgMHhmYSwKLTB4N2QsIDB4ZjAsIDB4OTAsIDB4ZmYsIDB4YTQsIDB4NzQsIDB4MzAsIDB4ZjAsIDB4OTAsIDB4ZmYsIDB4YjQsIDB4ZjAsIDB4OTAsIDB4ZmYsIDB4YTIsIDB4NzQsCi0weDQwLCAweGYwLCAweDkwLCAweGZmLCAweGIyLCAweGYwLCAweDkwLCAweGZhLCAweGU3LCAweGU1LCAweGE4LCAweGYwLCAweDc1LCAweGE4LCAweDgxLCAweDkwLAotMHhmZiwgMHg5MiwgMHhlMCwgMHg2MCwgMHgwNCwgMHhlNCwgMHhmMCwgMHg4MCwgMHhmNiwgMHg5MCwgMHhmZiwgMHhmZCwgMHg3NCwgMHgzYSwgMHhmMCwgMHg0MywKLTB4ODcsIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDAsIDB4OTAsIDB4ZmEsIDB4N2UsIDB4ZTAsIDB4OTAsIDB4ZmYsIDB4YTQsIDB4ZjAsIDB4OTAsIDB4ZmEsIDB4N2YsCi0weGUwLCAweDkwLCAweGZmLCAweGI0LCAweGYwLCAweDkwLCAweGZhLCAweDdjLCAweGUwLCAweDkwLCAweGZmLCAweGEyLCAweGYwLCAweDkwLCAweGZhLCAweDdkLAotMHhlMCwgMHg5MCwgMHhmZiwgMHhiMiwgMHhmMCwgMHg5MCwgMHhmOSwgMHgxOCwgMHhlMCwgMHg2MCwgMHgwMiwgMHhjMiwgMHhiMywgMHg5MCwgMHhmYSwgMHhlNywKLTB4ZTAsIDB4ZjUsIDB4YTgsIDB4MDIsIDB4MTAsIDB4Y2UsIDB4OGIsIDB4NWMsIDB4OGEsIDB4NWQsIDB4ODksIDB4NWUsIDB4MTIsIDB4MmUsIDB4MGQsIDB4OTAsCi0weGZhLCAweGMzLCAweDEyLCAweDFiLCAweGYzLCAweGFhLCAweDVkLCAweGE5LCAweDVlLCAweDkwLCAweGZhLCAweGM2LCAweDEyLCAweDFiLCAweGYzLCAweDkwLAotMHhmYSwgMHhjNywgMHhlNCwgMHg3NSwgMHhmMCwgMHgwYSwgMHgxMiwgMHgxYiwgMHgxYywgMHg5MCwgMHhmYSwgMHhjNiwgMHgxMiwgMHgxYiwgMHhlYSwgMHhlOSwKLTB4MjQsIDB4MDEsIDB4ZjksIDB4ZTQsIDB4M2EsIDB4ZmEsIDB4OTAsIDB4ZmEsIDB4YzksIDB4MTIsIDB4MWIsIDB4ZjMsIDB4YWIsIDB4NWMsIDB4YWEsIDB4NWQsCi0weGE5LCAweDVlLCAweDEyLCAweDJlLCAweDE5LCAweGUwLCAweGZmLCAweGMzLCAweDEzLCAweGYwLCAweGU0LCAweDc4LCAweDgyLCAweGY2LCAweDkwLCAweGZhLAotMHhjMSwgMHhlMCwgMHhmZiwgMHg3OCwgMHg4MiwgMHhlNiwgMHhjMywgMHg5ZiwgMHg1MCwgMHg0YSwgMHg5MCwgMHhmYSwgMHhjMywgMHgxMiwgMHgyZCwgMHhlZSwKLTB4ZmYsIDB4NzgsIDB4ODMsIDB4ZjYsIDB4OTAsIDB4ZmEsIDB4YzYsIDB4MTIsIDB4MmQsIDB4ZWUsIDB4ZmUsIDB4ZjQsIDB4NWYsIDB4ZmYsIDB4NzgsIDB4ODMsCi0weGY2LCAweDEyLCAweDJkLCAweGViLCAweDVlLCAweDRmLCAweGZmLCAweDc4LCAweDgzLCAweGY2LCAweDEyLCAweDJkLCAweGY0LCAweDc1LCAweGYwLCAweDAyLAotMHgxMiwgMHgxYiwgMHgxYywgMHg5MCwgMHhmYSwgMHhjNywgMHhlNCwgMHg3NSwgMHhmMCwgMHgwMiwgMHgxMiwgMHgxYiwgMHgxYywgMHhhYiwgMHg1YywgMHhhYSwKLTB4NWQsIDB4YTksIDB4NWUsIDB4OTAsIDB4MDAsIDB4MDQsIDB4MTIsIDB4MWEsIDB4YmIsIDB4MzAsIDB4ZTQsIDB4MDMsIDB4MTIsIDB4MmUsIDB4MDMsIDB4NzgsCi0weDgyLCAweDA2LCAweDgwLCAweGFhLCAweGU0LCAweDkwLCAweGZhLCAweGMyLCAweGYwLCAweDIyLCAweDhiLCAweDU2LCAweDhhLCAweDU3LCAweDg5LCAweDU4LAotMHg5MCwgMHhmYSwgMHhjMiwgMHg3NCwgMHgwNiwgMHhmMCwgMHhlNCwgMHg5MCwgMHhmYSwgMHhjMSwgMHhmMCwgMHgxMiwgMHgxYSwgMHhhMiwgMHgyNCwgMHg2ZSwKLTB4NjAsIDB4MjYsIDB4MTQsIDB4NzAsIDB4NzAsIDB4MTIsIDB4MmQsIDB4ZGEsIDB4NjAsIDB4MDksIDB4MjQsIDB4MzAsIDB4NzAsIDB4MTIsIDB4MTIsIDB4MjUsCi0weDU2LCAweDgwLCAweDYyLCAweDEyLCAweDJlLCAweDI0LCAweDEyLCAweDFmLCAweGRhLCAweDkwLCAweGZhLCAweGMyLCAweGVmLCAweGYwLCAweDgwLCAweDU1LAotMHg5MCwgMHhmYSwgMHhjMiwgMHg3NCwgMHg4MSwgMHhmMCwgMHg4MCwgMHg0ZCwgMHgxMiwgMHgyZCwgMHhkYSwgMHg2MCwgMHgwOSwgMHgyNCwgMHgzMCwgMHg3MCwKLTB4M2UsIDB4MTIsIDB4MmQsIDB4MzAsIDB4ODAsIDB4M2YsIDB4ZTUsIDB4NTgsIDB4MjQsIDB4MDMsIDB4ZjksIDB4ZTQsIDB4MzUsIDB4NTcsIDB4ZmEsIDB4N2IsCi0weDAxLCAweGMwLCAweDAzLCAweGMwLCAweDAyLCAweGMwLCAweDAxLCAweDEyLCAweDJlLCAweDI0LCAweDkwLCAweDAwLCAweDA1LCAweDEyLCAweDFhLCAweGJiLAotMHhmZCwgMHg5MCwgMHgwMCwgMHgwOCwgMHgxMiwgMHgxYiwgMHg0OCwgMHhmNSwgMHgyZSwgMHg4NSwgMHhmMCwgMHgyZCwgMHhkMCwgMHgwMSwgMHhkMCwgMHgwMiwKLTB4ZDAsIDB4MDMsIDB4MTIsIDB4MjYsIDB4OTgsIDB4OTAsIDB4ZmEsIDB4YzEsIDB4ZWYsIDB4ZjAsIDB4ZTQsIDB4YTMsIDB4ZjAsIDB4ODAsIDB4MDYsIDB4OTAsCi0weGZhLCAweGMyLCAweDc0LCAweDgxLCAweGYwLCAweDkwLCAweGZhLCAweGMyLCAweGUwLCAweDEyLCAweDJlLCAweDI0LCAweDkwLCAweDAwLCAweDAyLCAweDEyLAotMHgxYSwgMHhmYSwgMHg5MCwgMHhmYSwgMHhjMSwgMHhlMCwgMHhmZiwgMHgyMiwgMHg4YiwgMHgyOSwgMHg4YSwgMHgyYSwgMHg4OSwgMHgyYiwgMHg4ZCwgMHgyYywKLTB4ZTUsIDB4MmMsIDB4NzAsIDB4MDMsIDB4YWYsIDB4MmMsIDB4MjIsIDB4MTIsIDB4MmUsIDB4NTMsIDB4NzAsIDB4MTYsIDB4MTIsIDB4MmUsIDB4NzIsIDB4ZTUsCi0weDJkLCAweDkwLCAweGZmLCAweGYxLCAweGYwLCAweDEyLCAweDMxLCAweGQ4LCAweDUwLCAweGYyLCAweDEyLCAweDI3LCAweDI1LCAweDQwLCAweDBiLCAweDdmLAotMHgwMCwgMHgyMiwgMHgxMiwgMHgyZSwgMHg3MiwgMHgxMiwgMHgyNywgMHgyNSwgMHg1MCwgMHhmOCwgMHg5MCwgMHhmZiwgMHhmMywgMHg3NCwgMHhhMSwgMHhmMCwKLTB4ZTUsIDB4MmMsIDB4YjQsIDB4MDEsIDB4MDcsIDB4OTAsIDB4ZmYsIDB4ZjAsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4OTAsIDB4ZmYsIDB4ZjEsIDB4ZTQsCi0weGYwLCAweGY1LCAweDJmLCAweGU1LCAweDJjLCAweDE0LCAweGZmLCAweGU1LCAweDJmLCAweGMzLCAweDlmLCAweDUwLCAweDJhLCAweDEyLCAweDMxLCAweGMxLAotMHg0MCwgMHgwMywgMHhhZiwgMHgyZiwgMHgyMiwgMHhjMywgMHhlNSwgMHgyYywgMHg5NSwgMHgyZiwgMHhmZiwgMHhiZiwgMHgwMiwgMHgwNywgMHg5MCwgMHhmZiwKLTB4ZjAsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4MTIsIDB4MmUsIDB4NjUsIDB4MDUsIDB4MmYsIDB4NzQsIDB4MDEsIDB4MjUsIDB4MmIsIDB4ZjUsIDB4MmIsCi0weGU0LCAweDM1LCAweDJhLCAweGY1LCAweDJhLCAweDgwLCAweGNjLCAweDEyLCAweDMxLCAweGMxLCAweDQwLCAweDAzLCAweDdmLCAweDE4LCAweDIyLCAweDEyLAotMHgyZSwgMHg2NSwgMHhhZiwgMHgyYywgMHgyMiwgMHg5MCwgMHhmZiwgMHhmMSwgMHhlNSwgMHgyZSwgMHhmMCwgMHgwMiwgMHgzMSwgMHhkOCwgMHgxMiwgMHgxMCwKLTB4NGIsIDB4NzgsIDB4ODQsIDB4MTIsIDB4MjMsIDB4MzEsIDB4MzAsIDB4ZTEsIDB4MDgsIDB4N2YsIDB4MTMsIDB4MTIsIDB4MzEsIDB4YTksIDB4MDIsIDB4MjcsCi0weGJjLCAweDc4LCAweDg0LCAweGU2LCAweGY5LCAweDI0LCAweDEzLCAweDEyLCAweDIyLCAweGFkLCAweGUwLCAweGZmLCAweDMwLCAweGU3LCAweDQwLCAweDU0LAotMHgwMywgMHg2MCwgMHgxZSwgMHhlOSwgMHhiNCwgMHgwMywgMHgwZCwgMHg5MCwgMHhmZiwgMHg5ZSwgMHhlMCwgMHg1NCwgMHhmZSwgMHhmMCwgMHhlMCwgMHg0NCwKLTB4MDQsIDB4ZjAsIDB4ODAsIDB4NDYsIDB4OTAsIDB4ZmYsIDB4OWUsIDB4ZTAsIDB4NTQsIDB4ZmQsIDB4ZjAsIDB4ZTAsIDB4NDQsIDB4MDgsIDB4ZjAsIDB4ODAsCi0weDM5LCAweGU5LCAweGI0LCAweDAzLCAweDBkLCAweDkwLCAweGZmLCAweDllLCAweGUwLCAweDU0LCAweGZiLCAweGYwLCAweGUwLCAweDQ0LCAweDAxLCAweGYwLAotMHg4MCwgMHgyOCwgMHg5MCwgMHhmZiwgMHg5ZSwgMHhlMCwgMHg1NCwgMHhmNywgMHhmMCwgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHg4MCwgMHgxYiwgMHhlZiwKLTB4NTQsIDB4MDMsIDB4NjAsIDB4MTQsIDB4ZTksIDB4YjQsIDB4MDMsIDB4MDksIDB4OTAsIDB4ZmYsIDB4YTQsIDB4ZTAsIDB4NTQsIDB4ZGYsIDB4ZjAsIDB4ODAsCi0weDA3LCAweDkwLCAweGZmLCAweGI0LCAweGUwLCAweDU0LCAweGRmLCAweGYwLCAweGMyLCAweGIzLCAweDkwLCAweGY5LCAweDE4LCAweGUwLCAweDA0LCAweGYwLAotMHhhZiwgMHgwMSwgMHgxMiwgMHgyMiwgMHhlZSwgMHhmZCwgMHgxMiwgMHgyZiwgMHhlNSwgMHgxMiwgMHgzMSwgMHhhOSwgMHgwMiwgMHgxMCwgMHhjZSwgMHg3NSwKLTB4YTgsIDB4NDAsIDB4NzgsIDB4N2YsIDB4ZTQsIDB4ZjYsIDB4ZDgsIDB4ZmQsIDB4NzUsIDB4ODEsIDB4OGIsIDB4MDIsIDB4MjgsIDB4MDksIDB4MDIsIDB4MzEsCi0weDhjLCAweGU0LCAweDkzLCAweGEzLCAweGY4LCAweGU0LCAweDkzLCAweGEzLCAweDQwLCAweDAzLCAweGY2LCAweDgwLCAweDAxLCAweGYyLCAweDA4LCAweGRmLAotMHhmNCwgMHg4MCwgMHgyOSwgMHhlNCwgMHg5MywgMHhhMywgMHhmOCwgMHg1NCwgMHgwNywgMHgyNCwgMHgwYywgMHhjOCwgMHhjMywgMHgzMywgMHhjNCwgMHg1NCwKLTB4MGYsIDB4NDQsIDB4MjAsIDB4YzgsIDB4ODMsIDB4NDAsIDB4MDQsIDB4ZjQsIDB4NTYsIDB4ODAsIDB4MDEsIDB4NDYsIDB4ZjYsIDB4ZGYsIDB4ZTQsIDB4ODAsCi0weDBiLCAweDAxLCAweDAyLCAweDA0LCAweDA4LCAweDEwLCAweDIwLCAweDQwLCAweDgwLCAweDkwLCAweDJiLCAweGE5LCAweGU0LCAweDdlLCAweDAxLCAweDkzLAotMHg2MCwgMHhiYywgMHhhMywgMHhmZiwgMHg1NCwgMHgzZiwgMHgzMCwgMHhlNSwgMHgwOSwgMHg1NCwgMHgxZiwgMHhmZSwgMHhlNCwgMHg5MywgMHhhMywgMHg2MCwKLTB4MDEsIDB4MGUsIDB4Y2YsIDB4NTQsIDB4YzAsIDB4MjUsIDB4ZTAsIDB4NjAsIDB4YTgsIDB4NDAsIDB4YjgsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4ZmEsIDB4ZTQsCi0weDkzLCAweGEzLCAweGY4LCAweGU0LCAweDkzLCAweGEzLCAweGM4LCAweGM1LCAweDgyLCAweGM4LCAweGNhLCAweGM1LCAweDgzLCAweGNhLCAweGYwLCAweGEzLAotMHhjOCwgMHhjNSwgMHg4MiwgMHhjOCwgMHhjYSwgMHhjNSwgMHg4MywgMHhjYSwgMHhkZiwgMHhlOSwgMHhkZSwgMHhlNywgMHg4MCwgMHhiZSwgMHhlNCwgMHhmNSwKLTB4MjIsIDB4MTIsIDB4MWQsIDB4YzIsIDB4ZTAsIDB4YjQsIDB4MDQsIDB4MGQsIDB4ZTUsIDB4MjIsIDB4MjQsIDB4MDMsIDB4ZmYsIDB4MTIsIDB4MzAsIDB4MTMsCi0weDEyLCAweDFkLCAweGMyLCAweGU0LCAweGYwLCAweDA1LCAweDIyLCAweGU1LCAweDIyLCAweGMzLCAweDk0LCAweDAyLCAweDQwLCAweGUzLCAweGU0LCAweGY1LAotMHgyMiwgMHg3NSwgMHhmMCwgMHgwMiwgMHhlNSwgMHgyMiwgMHg5MCwgMHhmYSwgMHg5NCwgMHgxMiwgMHgxZSwgMHgwMywgMHg2MCwgMHgyYywgMHgxMiwgMHgyZCwKLTB4ODUsIDB4ZWYsIDB4NjAsIDB4NTIsIDB4NzUsIDB4ZjAsIDB4MDIsIDB4ZTUsIDB4MjIsIDB4OTAsIDB4ZmEsIDB4OTQsIDB4MTIsIDB4MWIsIDB4Y2MsIDB4ZTQsCi0weGYwLCAweGEzLCAweGYwLCAweDc1LCAweGYwLCAweDBhLCAweGU1LCAweDIyLCAweDkwLCAweGZhLCAweGEwLCAweDEyLCAweDFiLCAweGNjLCAweGUwLCAweGEzLAotMHgzMCwgMHhlNiwgMHgzMywgMHgxMiwgMHgxZCwgMHhjMiwgMHg3NCwgMHgwNCwgMHhmMCwgMHgyMiwgMHg3NSwgMHhmMCwgMHgwMiwgMHhlNSwgMHgyMiwgMHg5MCwKLTB4ZmEsIDB4OTgsIDB4MTIsIDB4MWUsIDB4MDMsIDB4NjAsIDB4MTYsIDB4MTIsIDB4MmQsIDB4ODUsIDB4ZWYsIDB4NjAsIDB4MTksIDB4NzUsIDB4ZjAsIDB4MDIsCi0weGU1LCAweDIyLCAweDkwLCAweGZhLCAweDk4LCAweDEyLCAweDFiLCAweGNjLCAweGU0LCAweGYwLCAweGEzLCAweGYwLCAweDIyLCAweDA1LCAweDIyLCAweGU1LAotMHgyMiwgMHhjMywgMHg5NCwgMHgwMiwgMHg0MCwgMHg5YiwgMHgyMiwgMHhlNCwgMHhmZiwgMHg5MCwgMHhmZiwgMHg4MywgMHhlMCwgMHg1NCwgMHgwZiwgMHhmZSwKLTB4ZWYsIDB4YzMsIDB4OWUsIDB4NTAsIDB4MTcsIDB4NzQsIDB4ZjAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4ZmUsIDB4ZjUsIDB4ODMsIDB4ZTAsCi0weDEyLCAweDFjLCAweGMxLCAweDEyLCAweDFhLCAweGU4LCAweDBmLCAweDEyLCAweDFjLCAweGIwLCAweDgwLCAweGRkLCAweGVmLCAweGZkLCAweGMzLCAweGU1LAotMHgzYSwgMHg5ZCwgMHhmNSwgMHgzYSwgMHhlNSwgMHgzOSwgMHg5NCwgMHgwMCwgMHhmNSwgMHgzOSwgMHhkMywgMHhlNSwgMHgzYSwgMHg5NCwgMHgwMCwgMHhlNSwKLTB4MzksIDB4OTQsIDB4MDAsIDB4NDAsIDB4MDYsIDB4ZTQsIDB4OTAsIDB4ZmYsIDB4ODMsIDB4ZjAsIDB4MjIsIDB4MTIsIDB4MWQsIDB4ZGYsIDB4MTIsIDB4MWUsCi0weDM0LCAweDEyLCAweDFlLCAweDI2LCAweDEyLCAweDFhLCAweGEyLCAweDI0LCAweDZlLCAweDYwLCAweDFlLCAweDE0LCAweDYwLCAweDFiLCAweDI0LCAweDhlLAotMHg3MCwgMHgyZCwgMHg5MCwgMHgwMCwgMHgwMSwgMHgxMiwgMHgxYSwgMHhiYiwgMHhmZiwgMHgyNCwgMHhmYywgMHg2MCwgMHgwMywgMHgwNCwgMHg3MCwgMHgxZiwKLTB4ZWYsIDB4ZmQsIDB4N2MsIDB4MDAsIDB4N2YsIDB4MGQsIDB4MDIsIDB4MTEsIDB4NWUsIDB4MTIsIDB4MWUsIDB4M2IsIDB4MTIsIDB4MjUsIDB4ZmEsIDB4MTIsCi0weDFkLCAweDg5LCAweDEyLCAweDFhLCAweGJiLCAweDYwLCAweDAzLCAweDAyLCAweDMyLCAweDdhLCAweGU0LCAweGZmLCAweDEyLCAweDMyLCAweDZlLCAweDIyLAotMHg4YiwgMHg0NSwgMHg4YSwgMHg0NiwgMHg4OSwgMHg0NywgMHg4YywgMHg0OCwgMHg4ZCwgMHg0OSwgMHhkMiwgMHgwMCwgMHgxMiwgMHgyZSwgMHg1MywgMHg3MCwKLTB4MTYsIDB4MTIsIDB4MmUsIDB4NzIsIDB4ZTUsIDB4NDgsIDB4OTAsIDB4ZmYsIDB4ZjEsIDB4ZjAsIDB4MTIsIDB4MzEsIDB4ZDgsIDB4NTAsIDB4ZjIsIDB4MTIsCi0weDI5LCAweGQ1LCAweDQwLCAweDBiLCAweDdmLCAweDE4LCAweDIyLCAweDEyLCAweDJlLCAweDcyLCAweDEyLCAweDI5LCAweGQ1LCAweDUwLCAweGY4LCAweGU0LAotMHhmNSwgMHg0YiwgMHhlNSwgMHg0YSwgMHgxNCwgMHhmZiwgMHhlNSwgMHg0YiwgMHhjMywgMHg5ZiwgMHg1MCwgMHgxNywgMHgxMiwgMHgyOSwgMHhjNSwgMHg0MCwKLTB4MDMsIDB4N2YsIDB4MTgsIDB4MjIsIDB4MDUsIDB4NGIsIDB4NzQsIDB4MDEsIDB4MjUsIDB4NDcsIDB4ZjUsIDB4NDcsIDB4ZTQsIDB4MzUsIDB4NDYsIDB4ZjUsCi0weDQ2LCAweDgwLCAweGRmLCAweDkwLCAweGZmLCAweGYwLCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDEyLCAweDI5LCAweGM1LCAweDQwLCAweDAzLCAweDdmLAotMHgxOCwgMHgyMiwgMHg3ZiwgMHgwMCwgMHgyMiwgMHhhYiwgMHg0NSwgMHhhYSwgMHg0NiwgMHhhOSwgMHg0NywgMHgxMiwgMHgxYSwgMHhhMiwgMHg5MCwgMHhmZiwKLTB4ZjEsIDB4ZjAsIDB4MDIsIDB4MzEsIDB4ZDgsIDB4OTAsIDB4ZmYsIDB4ZjEsIDB4ZTUsIDB4NDksIDB4ZjAsIDB4MDIsIDB4MzEsIDB4ZDgsIDB4N2IsIDB4MDEsCi0weDdhLCAweGZhLCAweDc5LCAweGNmLCAweGU0LCAweGZkLCAweDEyLCAweDIzLCAweDYxLCAweDkwLCAweGZhLCAweGNmLCAweGU0LCAweDc1LCAweGYwLCAweDA5LAotMHgxMiwgMHgxYiwgMHgxYywgMHg3YiwgMHgwMCwgMHg3YSwgMHgwMCwgMHg3OSwgMHgyMywgMHg5MCwgMHhmYSwgMHhjZiwgMHhlNCwgMHg3NSwgMHhmMCwgMHgwMSwKLTB4MTIsIDB4MWIsIDB4MzIsIDB4ODUsIDB4ZjAsIDB4MmUsIDB4ZjUsIDB4MmQsIDB4N2QsIDB4MDEsIDB4MTIsIDB4MjYsIDB4OTgsIDB4OTAsIDB4ZmYsIDB4ZjcsCi0weGU1LCAweDIzLCAweDEyLCAweDJhLCAweDM5LCAweDkwLCAweGZmLCAweGY2LCAweGU1LCAweDIzLCAweGYwLCAweDkwLCAweGZhLCAweGNmLCAweGU0LCAweGYwLAotMHhhMywgMHg3NCwgMHgwNiwgMHgxMiwgMHgyYSwgMHgzOSwgMHhlNSwgMHgyMywgMHgzMCwgMHhlMCwgMHgwNywgMHg5MCwgMHhmZiwgMHhmYywgMHg3NCwgMHg5NCwKLTB4ZjAsIDB4MjIsIDB4OTAsIDB4ZmYsIDB4ZmMsIDB4NzQsIDB4OTAsIDB4ZjAsIDB4MjIsIDB4ZjAsIDB4N2IsIDB4MDAsIDB4N2EsIDB4MDAsIDB4NzksIDB4MjMsCi0weDkwLCAweGZhLCAweGNmLCAweGU0LCAweDc1LCAweGYwLCAweDAxLCAweDEyLCAweDFiLCAweDMyLCAweDg1LCAweGYwLCAweDJlLCAweGY1LCAweDJkLCAweDdkLAotMHgwMSwgMHgwMiwgMHgyNiwgMHg5OCwgMHg5MCwgMHhmZiwgMHg5MywgMHg3NCwgMHg4MSwgMHhmMCwgMHg5MCwgMHhmZiwgMHhmZiwgMHhlMCwgMHg2MCwgMHgwNiwKLTB4OTAsIDB4ZmYsIDB4ZmMsIDB4NzQsIDB4MTAsIDB4ZjAsIDB4OTAsIDB4ZmYsIDB4OTEsIDB4ZTAsIDB4NDQsIDB4OTAsIDB4ZjAsIDB4ZTQsIDB4OTAsIDB4ZjksCi0weDE2LCAweGYwLCAweGEzLCAweGYwLCAweDEyLCAweDJiLCAweDM5LCAweDEyLCAweDE2LCAweGM5LCAweDEyLCAweDMwLCAweDY5LCAweDdlLCAweDA3LCAweDdmLAotMHhkMCwgMHgxMiwgMHgxMiwgMHgyYSwgMHg3ZSwgMHgwZiwgMHg3ZiwgMHhhMCwgMHgxMiwgMHgxMiwgMHg0NCwgMHhlNCwgMHg3OCwgMHg3NywgMHhmNiwgMHg3OCwKLTB4NzcsIDB4ZTYsIDB4ZmYsIDB4YzMsIDB4OTQsIDB4MDYsIDB4NTAsIDB4MGIsIDB4NzQsIDB4NmUsIDB4MmYsIDB4ZjgsIDB4ZTQsIDB4ZjYsIDB4NzgsIDB4NzcsCi0weDA2LCAweDgwLCAweGVjLCAweDdmLCAweDAzLCAweDEyLCAweDMwLCAweGIyLCAweDkwLCAweGY5LCAweDE2LCAweGUwLCAweDIwLCAweGU0LCAweDA1LCAweDdmLAotMHgwNCwgMHgxMiwgMHgzMCwgMHhiMiwgMHg5MCwgMHhmZiwgMHg5YiwgMHhlNCwgMHhmMCwgMHg5MCwgMHhmZiwgMHg5YSwgMHhmMCwgMHg5MCwgMHhmZiwgMHhlOCwKLTB4ZTAsIDB4NTQsIDB4MWYsIDB4ZjAsIDB4ZDIsIDB4YTgsIDB4MjIsIDB4MTUsIDB4NjUsIDB4YTgsIDB4NjUsIDB4YTYsIDB4MDcsIDB4MzAsIDB4MDgsIDB4MDUsCi0weDEyLCAweDExLCAweGFlLCAweDgwLCAweGY4LCAweGQyLCAweDA4LCAweGE4LCAweDY1LCAweGU2LCAweGZmLCAweGI0LCAweDAzLCAweDBmLCAweDc4LCAweDdjLAotMHg3NiwgMHhmZiwgMHgwOCwgMHg3NiwgMHhlMCwgMHgwOCwgMHg3NiwgMHhmZiwgMHgwOCwgMHg3NiwgMHhhMCwgMHg4MCwgMHgwZCwgMHg3OCwgMHg3YywgMHg3NiwKLTB4ZmYsIDB4MDgsIDB4NzYsIDB4ZTIsIDB4MDgsIDB4NzYsIDB4ZmYsIDB4MDgsIDB4NzYsIDB4YjAsIDB4NzgsIDB4ODAsIDB4NzYsIDB4ZmEsIDB4MDgsIDB4NzYsCi0weDllLCAweGVmLCAweDI0LCAweGZkLCAweDc1LCAweGYwLCAweDBhLCAweGE0LCAweGFlLCAweGYwLCAweDEyLCAweDIzLCAweDQ5LCAweDdiLCAweDAxLCAweDdhLAotMHhmZiwgMHg3OSwgMHg0OCwgMHg3OCwgMHg2OCwgMHgxMiwgMHgxYiwgMHhlMSwgMHhhOCwgMHg2NSwgMHhlNiwgMHgyNCwgMHhmZCwgMHg3NSwgMHhmMCwgMHgwOCwKLTB4YTQsIDB4ZmYsIDB4YWUsIDB4ZjAsIDB4NzgsIDB4NmEsIDB4MTIsIDB4MjMsIDB4NDksIDB4NzksIDB4MDgsIDB4NzgsIDB4NmIsIDB4MTIsIDB4MWIsIDB4ZTEsCi0weDc4LCAweDZkLCAweGVmLCAweDEyLCAweDIzLCAweDQ5LCAweDA1LCAweDY1LCAweDIyLCAweDkwLCAweGZmLCAweGYwLCAweGUwLCAweDU0LCAweGFiLCAweGYwLAotMHhlMCwgMHg0NCwgMHgyMCwgMHhmMCwgMHg5MCwgMHhmYSwgMHhlNiwgMHg3NCwgMHgwMiwgMHhmMCwgMHg3YiwgMHgwMSwgMHg3YSwgMHhmYSwgMHg3OSwgMHhjZiwKLTB4ZTQsIDB4ZjUsIDB4MmQsIDB4ZjUsIDB4MmUsIDB4N2QsIDB4MDEsIDB4MTIsIDB4MjYsIDB4OTgsIDB4N2UsIDB4MDAsIDB4OTAsIDB4ZmEsIDB4ZTQsIDB4ZWUsCi0weGYwLCAweGEzLCAweGVmLCAweGYwLCAweDY0LCAweDAxLCAweDcwLCAweDEwLCAweDkwLCAweGZhLCAweGNmLCAweGUwLCAweGI0LCAweDUyLCAweDA5LCAweDkwLAotMHhmOSwgMHgxNiwgMHhlMCwgMHg1NCwgMHhlZiwgMHhmMCwgMHg4MCwgMHgyOSwgMHg5MCwgMHhmYSwgMHhlNCwgMHhlMCwgMHg3MCwgMHgwNCwgMHhhMywgMHhlMCwKLTB4NjQsIDB4MDEsIDB4NzAsIDB4MTAsIDB4OTAsIDB4ZmEsIDB4Y2YsIDB4ZTAsIDB4YjQsIDB4MTAsIDB4MDksIDB4OTAsIDB4ZjksIDB4MTYsIDB4ZTAsIDB4NDQsCi0weDEwLCAweGYwLCAweDgwLCAweDBkLCAweDkwLCAweGZhLCAweGU2LCAweDc0LCAweDAzLCAweGYwLCAweDkwLCAweGY5LCAweDE2LCAweGUwLCAweDU0LCAweGVmLAotMHhmMCwgMHg5MCwgMHhmZiwgMHhmMCwgMHhlMCwgMHg0NCwgMHgyMCwgMHhmMCwgMHgyMiwgMHgwMywgMHg2OCwgMHgwMSwgMHhmZiwgMHg0OCwgMHgwMywgMHg2YiwKLTB4MDEsIDB4ZmYsIDB4MDgsIDB4MDIsIDB4NjYsIDB4MDAsIDB4MDAsIDB4NDQsIDB4ZmEsIDB4OTgsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4NDQsIDB4ZmEsCi0weDk0LCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDQyLCAweGZhLCAweGIyLCAweDAwLCAweDAwLCAweDQyLCAweGZhLCAweDdlLCAweDAwLCAweDAwLCAweDQyLAotMHhmYSwgMHg3YywgMHgwMCwgMHgwMCwgMHg0MiwgMHhmOSwgMHg2ZCwgMHhmZiwgMHhmZiwgMHg0MiwgMHhmYSwgMHg3YSwgMHgwMCwgMHgwMCwgMHg0MSwgMHhmOSwKLTB4NjYsIDB4ZmYsIDB4NDEsIDB4ZjksIDB4MWMsIDB4MTksIDB4NDEsIDB4ZjksIDB4MTUsIDB4MDAsIDB4NDMsIDB4ZjksIDB4MTksIDB4MGEsIDB4MzIsIDB4MDIsCi0weDQxLCAweGY5LCAweDY4LCAweDIwLCAweDQxLCAweGY5LCAweDY5LCAweDIwLCAweDQxLCAweGY5LCAweDY1LCAweDAwLCAweDQxLCAweGY5LCAweDY3LCAweDAwLAotMHg0NCwgMHhmOCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHg0MiwgMHhmOSwgMHgxNiwgMHgwMCwgMHgwMCwgMHg0MSwgMHhmOSwgMHgxOCwgMHgwMCwKLTB4MDEsIDB4MjAsIDB4MDAsIDB4NDEsIDB4ZjgsIDB4MDQsIDB4MDAsIDB4MDAsIDB4MTIsIDB4MTAsIDB4NGIsIDB4NzgsIDB4OGEsIDB4ZWYsIDB4ZjYsIDB4MTIsCi0weDJhLCAweGM3LCAweDEyLCAweDIyLCAweGVlLCAweDMwLCAweGUwLCAweDI5LCAweDc4LCAweDdjLCAweDEyLCAweDIyLCAweGI3LCAweGUwLCAweDU0LCAweDdmLAotMHhmMCwgMHg3OCwgMHg2YiwgMHgxMiwgMHgxYiwgMHhkOCwgMHg5MCwgMHgwMCwgMHgwMiwgMHgxMiwgMHgxYSwgMHhiYiwgMHgzMCwgMHhlNywgMHgwOSwgMHg5MCwKLTB4MDAsIDB4MDIsIDB4ZTQsIDB4MTIsIDB4MWEsIDB4ZmEsIDB4ODAsIDB4ZTksIDB4NzgsIDB4N2MsIDB4MTIsIDB4MjIsIDB4YjcsIDB4ZTAsIDB4NDQsIDB4ODAsCi0weGYwLCAweDEyLCAweDIyLCAweGVlLCAweDMwLCAweGUxLCAweDFlLCAweDEyLCAweDIyLCAweDk3LCAweGUwLCAweDU0LCAweDdmLCAweGYwLCAweDEyLCAweDMyLAotMHgxOSwgMHg3OCwgMHg2OCwgMHgxMiwgMHgxYiwgMHhkOCwgMHg5MCwgMHgwMCwgMHgwMiwgMHg3NCwgMHg4MCwgMHgxMiwgMHgxYSwgMHhmYSwgMHgxMiwgMHgyMiwKLTB4OTcsIDB4ZTAsIDB4NDQsIDB4ODAsIDB4ZjAsIDB4MTIsIDB4MzIsIDB4ODQsIDB4ZTQsIDB4ZmYsIDB4MTIsIDB4MzEsIDB4YTksIDB4MDIsIDB4MTAsIDB4Y2UsCi0weDEyLCAweDEwLCAweDRiLCAweDc4LCAweDg1LCAweGVmLCAweGY2LCAweDEyLCAweDMxLCAweDUwLCAweDEyLCAweDMxLCAweGE5LCAweDc4LCAweDg1LCAweGU2LAotMHhmZiwgMHgyNCwgMHgxMywgMHgxMiwgMHgyMiwgMHhhZCwgMHhlMCwgMHhmZSwgMHgzMCwgMHhlNywgMHgxNiwgMHhlZiwgMHhiNCwgMHgwMywgMHgwOSwgMHg5MCwKLTB4ZmYsIDB4OWUsIDB4ZTAsIDB4NTQsIDB4ZmEsIDB4ZjAsIDB4ODAsIDB4MjIsIDB4OTAsIDB4ZmYsIDB4OWUsIDB4ZTAsIDB4NTQsIDB4ZjUsIDB4ZjAsIDB4ODAsCi0weDE5LCAweGVlLCAweDU0LCAweDAzLCAweDYwLCAweDE0LCAweGVmLCAweGI0LCAweDAzLCAweDA5LCAweDkwLCAweGZmLCAweGE0LCAweGUwLCAweDQ0LCAweDIwLAotMHhmMCwgMHg4MCwgMHgwNywgMHg5MCwgMHhmZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgyMCwgMHhmMCwgMHg5MCwgMHhmOSwgMHgxOCwgMHhlMCwgMHgxNCwgMHhmMCwKLTB4ZTAsIDB4NzAsIDB4MDIsIDB4ZDIsIDB4YjMsIDB4MDIsIDB4MTAsIDB4Y2UsIDB4MTIsIDB4MWUsIDB4MWMsIDB4ZTUsIDB4M2EsIDB4NjQsIDB4MDksIDB4NzAsCi0weDA0LCAweGU1LCAweDM5LCAweDY0LCAweDAxLCAweDYwLCAweDQ4LCAweGMzLCAweGU1LCAweDNhLCAweDk0LCAweDA4LCAweGU1LCAweDM5LCAweDk0LCAweDAwLAotMHg0MCwgMHgxMSwgMHg3ZiwgMHgwOCwgMHhlZiwgMHhlNSwgMHgzYSwgMHg5NCwgMHgwOCwgMHhmNSwgMHgzYSwgMHhlNSwgMHgzOSwgMHg5NCwgMHgwMCwgMHhmNSwKLTB4MzksIDB4ODAsIDB4MDUsIDB4YWYsIDB4M2EsIDB4MTIsIDB4MWUsIDB4MzQsIDB4ZTQsIDB4ZmUsIDB4ZWUsIDB4YzMsIDB4OWYsIDB4NTAsIDB4MTksIDB4MTIsCi0weDFjLCAweGMxLCAweDEyLCAweDFhLCAweGEyLCAweGZkLCAweDc0LCAweGY4LCAweDJlLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweGZlLCAweGY1LCAweDgzLAotMHhlZCwgMHhmMCwgMHgwZSwgMHgxMiwgMHgxYywgMHhiMCwgMHg4MCwgMHhlMiwgMHhlZiwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhmZiwgMHg4MSwgMHhmMCwgMHgyMiwKLTB4OGIsIDB4NTksIDB4OGEsIDB4NWEsIDB4ODksIDB4NWIsIDB4MTIsIDB4MmUsIDB4MTksIDB4NzAsIDB4MDUsIDB4YTMsIDB4NzQsIDB4MDgsIDB4ZjAsIDB4MjIsCi0weGFiLCAweDU5LCAweGFhLCAweDVhLCAweGE5LCAweDViLCAweDEyLCAweDJlLCAweDBkLCAweDkwLCAweGZhLCAweGM5LCAweDEyLCAweDFiLCAweGYzLCAweGU1LAotMHg1YiwgMHgyNCwgMHgwMywgMHhmOSwgMHhlNCwgMHgzNSwgMHg1YSwgMHhmYSwgMHg5MCwgMHhmYSwgMHhjMywgMHgxMiwgMHgxYiwgMHhmMywgMHhlNCwgMHg5MCwKLTB4ZmEsIDB4YzIsIDB4ZjAsIDB4NzgsIDB4OGIsIDB4ZjYsIDB4OTAsIDB4ZmEsIDB4YzEsIDB4ZTAsIDB4ZmYsIDB4NzgsIDB4OGIsIDB4ZTYsIDB4YzMsIDB4OWYsCi0weDUwLCAweDEyLCAweDEyLCAweDJkLCAweGViLCAweGZmLCAweDEyLCAweDJkLCAweGY0LCAweDEyLCAweDJlLCAweDA3LCAweDc4LCAweDhiLCAweDA2LCAweDEyLAotMHgyZSwgMHgwMywgMHg4MCwgMHhlMiwgMHgyMiwgMHhhZCwgMHgwNywgMHhhYywgMHgwNiwgMHg5MCwgMHgzMiwgMHgwYSwgMHhlNCwgMHg5MywgMHhmZiwgMHg3OCwKLTB4NzQsIDB4ZjYsIDB4NTQsIDB4MGYsIDB4MTIsIDB4MWQsIDB4YTgsIDB4ZTAsIDB4MDgsIDB4NzYsIDB4MDAsIDB4MDgsIDB4ZjYsIDB4MTgsIDB4MTIsIDB4MWMsCi0weGQ5LCAweGMzLCAweDMzLCAweGNlLCAweDMzLCAweGNlLCAweGQ4LCAweGY5LCAweGZmLCAweDc4LCAweDc1LCAweGVlLCAweGY2LCAweDA4LCAweGVmLCAweGY2LAotMHhlZSwgMHg0NCwgMHhmOCwgMHgxOCwgMHhmNiwgMHhlZiwgMHgwOCwgMHhmNiwgMHg5MCwgMHhmZiwgMHg3YSwgMHhlMCwgMHgyMCwgMHhlNywgMHgwMywgMHg3ZiwKLTB4MDAsIDB4MjIsIDB4NzgsIDB4NzUsIDB4ZTYsIDB4ZmUsIDB4MDgsIDB4ZTYsIDB4ZjUsIDB4ODIsIDB4OGUsIDB4ODMsIDB4ZWMsIDB4ZjAsIDB4YTMsIDB4ZWQsCi0weGYwLCAweDkwLCAweGZmLCAweDdhLCAweDc0LCAweDAyLCAweGYwLCAweDdmLCAweDAxLCAweDIyLCAweGFiLCAweDU2LCAweGFhLCAweDU3LCAweGE5LCAweDU4LAotMHg5MCwgMHgwMCwgMHgwMywgMHgxMiwgMHgxYSwgMHhiYiwgMHg1NCwgMHhmMCwgMHgyNCwgMHhhMCwgMHgyMiwgMHg5MCwgMHhmYSwgMHhjOSwgMHgxMiwgMHgxYiwKLTB4ZWEsIDB4MDIsIDB4MWEsIDB4YTIsIDB4OTAsIDB4ZmEsIDB4YzMsIDB4MTIsIDB4MWIsIDB4ZWEsIDB4ZWYsIDB4MTIsIDB4MWEsIDB4ZTgsIDB4OTAsIDB4ZmEsCi0weGNhLCAweGU0LCAweDIyLCAweDkwLCAweGZhLCAweGM0LCAweGU0LCAweDc1LCAweGYwLCAweDAxLCAweDAyLCAweDFiLCAweDFjLCAweDkwLCAweDAwLCAweDA4LAotMHgxMiwgMHgxYiwgMHg0OCwgMHhhYSwgMHhmMCwgMHhmOSwgMHg3YiwgMHgwMSwgMHgyMiwgMHg5MCwgMHgwMCwgMHgwNSwgMHgxMiwgMHgxYSwgMHhiYiwgMHg5MCwKLTB4ZmEsIDB4YzEsIDB4ZjAsIDB4MjIsIDB4YWIsIDB4NTYsIDB4YWEsIDB4NTcsIDB4YTksIDB4NTgsIDB4MjIsIDB4OTAsIDB4ZmEsIDB4ZGQsIDB4ZTAsIDB4ZmYsCi0weDdlLCAweDAwLCAweGMzLCAweDkwLCAweGZhLCAweGQ3LCAweGUwLCAweDlmLCAweGYwLCAweDkwLCAweGZhLCAweGQ2LCAweGUwLCAweDllLCAweGYwLCAweDkwLAotMHhmYSwgMHhkOCwgMHhlZSwgMHg4ZiwgMHhmMCwgMHgxMiwgMHgxYiwgMHgxYywgMHhlZiwgMHgyNSwgMHg1MSwgMHhmNSwgMHg1MSwgMHhlZSwgMHgzNSwgMHg1MCwKLTB4ZjUsIDB4NTAsIDB4MjIsIDB4OTAsIDB4ZmYsIDB4ZjAsIDB4ZTAsIDB4NTQsIDB4ZmUsIDB4ZjAsIDB4ZTAsIDB4NTQsIDB4ZmQsIDB4ZjAsIDB4OTAsIDB4ZmEsCi0weGU2LCAweGUwLCAweDY0LCAweDAzLCAweDIyLCAweDkwLCAweGZmLCAweGYyLCAweGUwLCAweGFiLCAweDI5LCAweGFhLCAweDJhLCAweGE5LCAweDJiLCAweDAyLAotMHgxYSwgMHhlOCwgMHg5MCwgMHhmZiwgMHhmMywgMHg3NCwgMHhhMCwgMHhmMCwgMHgyMiwgMHg4ZiwgMHg2NCwgMHhlZCwgMHg3MCwgMHgwZiwgMHhlNSwgMHg2NCwKLTB4YjQsIDB4MDMsIDB4MDUsIDB4N2YsIDB4MDEsIDB4MDIsIDB4MzEsIDB4ZWYsIDB4N2YsIDB4MDIsIDB4MDIsIDB4MzEsIDB4ZWYsIDB4YWYsIDB4NjQsIDB4MTIsCi0weDJhLCAweGM3LCAweDc0LCAweDZlLCAweDI1LCAweDY0LCAweGY4LCAweGU2LCAweDMwLCAweGUyLCAweDBiLCAweGQyLCAweDA5LCAweDEyLCAweDFkLCAweDMzLAotMHhlMCwgMHg1NCwgMHg3ZiwgMHhmMCwgMHg4MCwgMHgwMiwgMHhjMiwgMHgwOSwgMHhlNSwgMHg2NCwgMHhiNCwgMHgwMywgMHgwNywgMHg3ZiwgMHg4MSwgMHgxMiwKLTB4MzEsIDB4ZWYsIDB4ODAsIDB4MDUsIDB4N2YsIDB4ODIsIDB4MTIsIDB4MzEsIDB4ZWYsIDB4MzAsIDB4MDksIDB4MDcsIDB4MTIsIDB4MWQsIDB4MzMsIDB4ZTAsCi0weDQ0LCAweDgwLCAweGYwLCAweDEyLCAweDMyLCAweDg0LCAweDIyLCAweDEyLCAweDEwLCAweDRiLCAweDkwLCAweGZmLCAweGZkLCAweGUwLCAweDQ0LCAweDYwLAotMHhmMCwgMHhkMiwgMHgwMSwgMHg5MCwgMHhmZiwgMHhmYywgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHg5MCwgMHhmZiwgMHgwMCwgMHhlMCwgMHgzMCwgMHhlNywKLTB4MTMsIDB4OTAsIDB4ZmYsIDB4ODMsIDB4ZTAsIDB4NDQsIDB4ODAsIDB4ZjAsIDB4NDMsIDB4MzUsIDB4ODAsIDB4OTAsIDB4ZmYsIDB4ZmMsIDB4ZTAsIDB4NDQsCi0weDAxLCAweGYwLCAweDgwLCAweDBkLCAweDEyLCAweDFkLCAweGRmLCAweDUzLCAweDM1LCAweDdmLCAweDkwLCAweGZmLCAweGZjLCAweGUwLCAweDU0LCAweGZlLAotMHhmMCwgMHg5MCwgMHhmZiwgMHg4MSwgMHhlMCwgMHg0NCwgMHg4MCwgMHhmMCwgMHgxMiwgMHgwMiwgMHhkZSwgMHgxMiwgMHgxZCwgMHhlNywgMHgwMiwgMHgxMCwKLTB4Y2UsIDB4MTIsIDB4MTAsIDB4NGIsIDB4NzgsIDB4ODksIDB4ZWYsIDB4ZjYsIDB4ZDIsIDB4MDAsIDB4MTIsIDB4MmEsIDB4YzcsIDB4OTAsIDB4ZjksIDB4NmEsCi0weDEyLCAweDFiLCAweGVhLCAweGU5LCAweDI0LCAweDAzLCAweGY5LCAweGU0LCAweDNhLCAweGZhLCAweGMwLCAweDAyLCAweDc4LCAweDgwLCAweGU2LCAweGZlLAotMHgwOCwgMHhlNiwgMHhhYSwgMHgwNiwgMHhmOCwgMHhhYywgMHgwMiwgMHg3ZCwgMHgwMSwgMHhkMCwgMHgwMiwgMHgxMiwgMHgyMiwgMHhkMywgMHgxMiwgMHgzMiwKLTB4ODQsIDB4NzgsIDB4ODksIDB4ZTYsIDB4ZmYsIDB4MTIsIDB4MTMsIDB4ODcsIDB4MTIsIDB4MzEsIDB4YTksIDB4MDIsIDB4MTAsIDB4Y2UsIDB4OGYsIDB4NjMsCi0weDEyLCAweDJhLCAweGM3LCAweDc4LCAweDdjLCAweDEyLCAweDIyLCAweGI3LCAweGUwLCAweDU0LCAweDNmLCAweGYwLCAweGU1LCAweDgyLCAweDI0LCAweDA0LAotMHgxMiwgMHgyMiwgMHhhMSwgMHhlMCwgMHg1NCwgMHgzZiwgMHhmMCwgMHgxMiwgMHgyMywgMHg0MSwgMHgyNCwgMHgwYiwgMHgxMiwgMHgyMiwgMHhhMSwgMHhlMCwKLTB4NTQsIDB4ZjgsIDB4ZjAsIDB4MTIsIDB4MzIsIDB4ODQsIDB4NzQsIDB4NmUsIDB4MjUsIDB4NjMsIDB4ZjgsIDB4NzQsIDB4ZmIsIDB4NTYsIDB4ZjYsIDB4N2YsCi0weDAwLCAweDIyLCAweDEyLCAweDEwLCAweDRiLCAweDEyLCAweDJhLCAweGM3LCAweDEyLCAweDIyLCAweGZhLCAweDI0LCAweDA2LCAweDEyLCAweDIyLCAweDlmLAotMHhlMCwgMHhmZCwgMHgxMiwgMHgyMiwgMHhlOCwgMHg5MCwgMHgwMCwgMHgwMywgMHgxMiwgMHgyMywgMHgwMiwgMHgyNCwgMHgwNSwgMHgxMiwgMHgyMiwgMHhhMSwKLTB4ZTAsIDB4OTAsIDB4MDAsIDB4MDQsIDB4MTIsIDB4MWEsIDB4ZmEsIDB4MTIsIDB4MzIsIDB4ODQsIDB4N2QsIDB4MDIsIDB4ZTQsIDB4ZmYsIDB4MTIsIDB4MmYsCi0weGI0LCAweDAyLCAweDEwLCAweGNlLCAweGFlLCAweDA1LCAweDEyLCAweDFkLCAweDhlLCAweGVmLCAweDEyLCAweDFhLCAweGZhLCAweDBlLCAweDBlLCAweDBlLAotMHhlZSwgMHhkMywgMHg5NSwgMHgzYywgMHhlNCwgMHg5NSwgMHgzYiwgMHg0MCwgMHgwMiwgMHhhZSwgMHgzYywgMHhlZSwgMHhkMywgMHg5NCwgMHgwOCwgMHg3NCwKLTB4ODAsIDB4OTQsIDB4ODEsIDB4NDAsIDB4MGEsIDB4N2UsIDB4MDMsIDB4OTAsIDB4MDAsIDB4MDIsIDB4NzQsIDB4MDIsIDB4MTIsIDB4MWEsIDB4ZmEsIDB4YWYsCi0weDA2LCAweDEyLCAweDMyLCAweDZlLCAweDIyLCAweGFlLCAweDA3LCAweGVkLCAweDU0LCAweDAzLCAweDY0LCAweDAxLCAweDYwLCAweDAzLCAweDdmLCAweDEwLAotMHgyMiwgMHhlZCwgMHg1NCwgMHg3YywgMHhjMywgMHg5NCwgMHgwNCwgMHg1MCwgMHgwMywgMHg3ZiwgMHgwYiwgMHgyMiwgMHg3NCwgMHg2ZSwgMHgyZSwgMHhmOCwKLTB4NzQsIDB4MDIsIDB4NDYsIDB4ZjYsIDB4NzQsIDB4OTksIDB4MmUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4ZmEsIDB4ZjUsIDB4ODMsIDB4ZWQsIDB4ZjAsCi0weDdmLCAweDAwLCAweDIyLCAweGJmLCAweDAzLCAweDA2LCAweDdjLCAweGZmLCAweDdkLCAweGUwLCAweDgwLCAweDA0LCAweDdjLCAweGZmLCAweDdkLCAweGUyLAotMHg4ZCwgMHg4MiwgMHg4YywgMHg4MywgMHhlMCwgMHg0NCwgMHg4MCwgMHhmMCwgMHhlNSwgMHg4MiwgMHgyNCwgMHgwNCwgMHgxMiwgMHgyMiwgMHhhMSwgMHhlMCwKLTB4NDQsIDB4ODAsIDB4ZjAsIDB4NzQsIDB4NmUsIDB4MmYsIDB4ZjgsIDB4NzQsIDB4MDQsIDB4NDYsIDB4ZjYsIDB4N2YsIDB4MDAsIDB4MjIsIDB4MTIsIDB4MTAsCi0weDRiLCAweGU1LCAweDNhLCAweDY0LCAweDA5LCAweDcwLCAweDA0LCAweGU1LCAweDM5LCAweDY0LCAweDAxLCAweDYwLCAweDE2LCAweDkwLCAweGZmLCAweDgzLAotMHhlMCwgMHg1NCwgMHgwZiwgMHhmZiwgMHhjMywgMHhlNSwgMHgzYSwgMHg5ZiwgMHhlNSwgMHgzOSwgMHg5NCwgMHgwMCwgMHg0MCwgMHgwNSwgMHgxMiwgMHgyOCwKLTB4ZDcsIDB4ODAsIDB4MDMsIDB4MTIsIDB4MzIsIDB4N2EsIDB4MDIsIDB4MTAsIDB4Y2UsIDB4OTAsIDB4ZmYsIDB4ZmMsIDB4ZTAsIDB4MjAsIDB4ZTcsIDB4MWYsCi0weGMyLCAweGFmLCAweDdkLCAweGZmLCAweGFjLCAweDA1LCAweDFkLCAweGVjLCAweDYwLCAweDE1LCAweDdlLCAweDA0LCAweDdmLCAweDAwLCAweGVmLCAweDFmLAotMHhhYSwgMHgwNiwgMHg3MCwgMHgwMSwgMHgxZSwgMHg0YSwgMHg2MCwgMHhlYywgMHg5MCwgMHhmZiwgMHg5MiwgMHhlNCwgMHhmMCwgMHg4MCwgMHhlZiwgMHgyMiwKLTB4MTIsIDB4MTAsIDB4NGIsIDB4NzgsIDB4NjYsIDB4ZTYsIDB4ZmUsIDB4MDgsIDB4ZTYsIDB4ZmYsIDB4MzAsIDB4ZTAsIDB4MTIsIDB4MzAsIDB4ZTEsIDB4MGYsCi0weDkwLCAweGZmLCAweGZjLCAweGUwLCAweDQ0LCAweDIwLCAweGYwLCAweDdmLCAweDA0LCAweDEyLCAweDEyLCAweDYxLCAweDEyLCAweDFkLCAweGY2LCAweDAyLAotMHgxMCwgMHhjZSwgMHg4ZiwgMHgyMywgMHhjMiwgMHgwOCwgMHgxMiwgMHgyYSwgMHhjNywgMHgxMiwgMHgyMiwgMHhjMCwgMHg3OCwgMHg3ZSwgMHgxMiwgMHgyMywKLTB4NDIsIDB4MjQsIDB4MGIsIDB4MTIsIDB4MjIsIDB4YTEsIDB4ZTAsIDB4NTQsIDB4ZjgsIDB4ZjAsIDB4MTIsIDB4MzIsIDB4ODQsIDB4YWYsIDB4MjMsIDB4MTIsCi0weDEzLCAweDg3LCAweDIyLCAweDhlLCAweDVmLCAweDhmLCAweDYwLCAweGU1LCAweDYwLCAweDE1LCAweDYwLCAweGFlLCAweDVmLCAweDcwLCAweDAyLCAweDE1LAotMHg1ZiwgMHhkMywgMHg5NCwgMHgwMCwgMHhlZSwgMHg5NCwgMHgwMCwgMHg0MCwgMHgwOSwgMHg3ZSwgMHgwNywgMHg3ZiwgMHhkMCwgMHgxMiwgMHgxMCwgMHgyNCwKLTB4ODAsIDB4ZTUsIDB4MjIsIDB4MTEsIDB4ZGMsIDB4MmUsIDB4YzcsIDB4MjQsIDB4YjAsIDB4MzIsIDB4NjAsIDB4MzAsIDB4OTAsIDB4MzAsIDB4M2UsIDB4MzEsCi0weDZmLCAweDJmLCAweDgyLCAweDI3LCAweDJlLCAweDJjLCAweDgwLCAweDMxLCAweDEyLCAweDMxLCAweDMxLCAweDFlLCAweDY0LCAweDJmLCAweDExLCAweDJjLAotMHgxOCwgMHgwZSwgMHgxMiwgMHgxMCwgMHg0YiwgMHg3OCwgMHg4NiwgMHgxMiwgMHgyMywgMHgzMSwgMHgyMCwgMHhlMSwgMHgwNywgMHg3ZiwgMHgxMiwgMHgxMiwKLTB4MzEsIDB4YTksIDB4ODAsIDB4MGEsIDB4NzgsIDB4ODYsIDB4ZTYsIDB4ZmYsIDB4MTIsIDB4MjQsIDB4MGEsIDB4MTIsIDB4MzEsIDB4YTksIDB4MDIsIDB4MTAsCi0weGNlLCAweDEyLCAweDEwLCAweDRiLCAweDc4LCAweDg3LCAweDEyLCAweDIzLCAweDMxLCAweDIwLCAweGUyLCAweDA3LCAweDdmLCAweDExLCAweDEyLCAweDMxLAotMHhhOSwgMHg4MCwgMHgwYSwgMHg3OCwgMHg4NywgMHhlNiwgMHhmZiwgMHgxMiwgMHgyZiwgMHg0ZSwgMHgxMiwgMHgzMSwgMHhhOSwgMHgwMiwgMHgxMCwgMHhjZSwKLTB4OGYsIDB4NjEsIDB4MTIsIDB4MmYsIDB4NGUsIDB4YWYsIDB4NjEsIDB4MTIsIDB4MmEsIDB4YzcsIDB4MTIsIDB4MjIsIDB4YzAsIDB4MTIsIDB4MzIsIDB4ODQsCi0weDc0LCAweDZlLCAweDI1LCAweDYxLCAweGY4LCAweDc0LCAweGZkLCAweDU2LCAweGY2LCAweGFmLCAweDYxLCAweDEyLCAweDEzLCAweDg3LCAweDIyLCAweDEyLAotMHgxMCwgMHg0YiwgMHhlNSwgMHgzYSwgMHg2NCwgMHgwOSwgMHg3MCwgMHgwNCwgMHhlNSwgMHgzOSwgMHg2NCwgMHgwMSwgMHg2MCwgMHgwNSwgMHgxMiwgMHgyYywKLTB4ZDgsIDB4ODAsIDB4MDYsIDB4MTIsIDB4MWUsIDB4MTQsIDB4MTIsIDB4MWUsIDB4MWMsIDB4MDIsIDB4MTAsIDB4Y2UsIDB4MTIsIDB4MmEsIDB4NTQsIDB4MTIsCi0weDEzLCAweDAzLCAweDkwLCAweGY4LCAweDA0LCAweGUwLCAweGZmLCAweDYwLCAweDA1LCAweDdkLCAweDAxLCAweDEyLCAweDEyLCAweGEwLCAweDEyLCAweDI5LAotMHhkZSwgMHgxMiwgMHgxMywgMHgzZiwgMHgxMiwgMHgxMSwgMHhiYywgMHg4MCwgMHhlMywgMHgxMiwgMHgxZCwgMHg4ZSwgMHhlZiwgMHgxMiwgMHgxYSwgMHhmYSwKLTB4ZTQsIDB4ZjUsIDB4MzMsIDB4ZjUsIDB4MzQsIDB4ZWYsIDB4NjAsIDB4MDMsIDB4MDIsIDB4MzIsIDB4N2EsIDB4ZTQsIDB4ZmYsIDB4MTIsIDB4MzIsIDB4NmUsCi0weDIyLCAweDkwLCAweGZmLCAweGYwLCAweGUwLCAweGZmLCAweDU0LCAweGEwLCAweDYwLCAweGY3LCAweGVmLCAweDMwLCAweGU1LCAweDA4LCAweDkwLCAweGZmLAotMHhmMCwgMHg0NCwgMHgyMCwgMHhmMCwgMHhjMywgMHgyMiwgMHhkMywgMHgyMiwgMHg5MCwgMHhmZiwgMHhmMCwgMHhlMCwgMHhmZiwgMHg1NCwgMHgyOCwgMHg2MCwKLTB4ZjcsIDB4ZWYsIDB4MzAsIDB4ZTUsIDB4MDgsIDB4OTAsIDB4ZmYsIDB4ZjAsIDB4NDQsIDB4MjAsIDB4ZjAsIDB4YzMsIDB4MjIsIDB4ZDMsIDB4MjIsIDB4ZWYsCi0weDMwLCAweGU3LCAweDA4LCAweDEyLCAweDFkLCAweDQ1LCAweGUwLCAweDU0LCAweGRmLCAweGYwLCAweDIyLCAweGVmLCAweDEyLCAweDFkLCAweDk4LCAweGUwLAotMHg1NCwgMHhkZiwgMHhmMCwgMHgyMiwgMHg4MSwgMHgwMSwgMHg4MiwgMHgwMiwgMHg4MywgMHgwMywgMHg4NywgMHg0MCwgMHgwMCwgMHg0MCwgMHgwMCwgMHg0MCwKLTB4MDAsIDB4NDAsIDB4MDAsIDB4NDAsIDB4MDAsIDB4NDAsIDB4MDAsIDB4MDgsIDB4MDAsIDB4NzgsIDB4N2UsIDB4MTIsIDB4MjIsIDB4YjcsIDB4YTMsIDB4YTMsCi0weGUwLCAweGZmLCAweDMwLCAweGU3LCAweDA2LCAweDU0LCAweDdmLCAweGYwLCAweDQ0LCAweDgwLCAweGYwLCAweDIyLCAweDg1LCAweDNiLCAweDM5LCAweDg1LAotMHgzYywgMHgzYSwgMHg5MCwgMHhmZiwgMHg4MiwgMHhlMCwgMHg1NCwgMHhmNywgMHhmMCwgMHhhMywgMHhlMCwgMHg1NCwgMHg3ZiwgMHhmMCwgMHgyMiwgMHhlNCwKLTB4ZmUsIDB4ZWUsIDB4OTAsIDB4MzIsIDB4MDQsIDB4OTMsIDB4YjUsIDB4MDcsIDB4MDIsIDB4ZDMsIDB4MjIsIDB4MGUsIDB4YmUsIDB4MDcsIDB4ZjIsIDB4YzMsCi0weDIyLCAweDAwLCAweDA4LCAweDE4LCAweDI4LCAweDM4LCAweDAxLCAweDgxLCAweDkwLCAweDBhLCAweDAyLCAweDAwLCAweDAwLCAweDExLCAweDEzLCAweDAwLAotMHgxMiwgMHgxMCwgMHg0YiwgMHg3ZiwgMHgwMiwgMHgxMiwgMHgxMCwgMHhkYSwgMHgxMiwgMHgxZCwgMHhmNiwgMHgwMiwgMHgxMCwgMHhjZSwgMHg3NSwgMHgzOSwKLTB4MDAsIDB4OGYsIDB4M2EsIDB4MTIsIDB4MWMsIDB4ZTAsIDB4MTIsIDB4MmMsIDB4ZDgsIDB4MjIsIDB4MTIsIDB4MWUsIDB4MWMsIDB4MTIsIDB4MWQsIDB4ZGYsCi0weDEyLCAweDFlLCAweDE0LCAweDIyLCAweGMyLCAweDA4LCAweDIyLAotfTsKLQotI3VuZGVmIElNQUdFX1ZFUlNJT05fTkFNRQotCi0jdW5kZWYgSU1BR0VfQVJSQVlfTkFNRQotCmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9zZXJpYWwvaW9fdGkuYyBiL2RyaXZlcnMvdXNiL3NlcmlhbC9pb190aS5jCmluZGV4IDA1ZTRmYTcuLjYxZGFlYTMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdXNiL3NlcmlhbC9pb190aS5jCisrKyBiL2RyaXZlcnMvdXNiL3NlcmlhbC9pb190aS5jCkBAIC0zNyw2ICszNyw3IEBACiAjaW5jbHVkZSA8bGludXgvbXV0ZXguaD4KICNpbmNsdWRlIDxsaW51eC9zZXJpYWwuaD4KICNpbmNsdWRlIDxsaW51eC9pb2N0bC5oPgorI2luY2x1ZGUgPGxpbnV4L2Zpcm13YXJlLmg+CiAjaW5jbHVkZSA8YXNtL3VhY2Nlc3MuaD4KICNpbmNsdWRlIDxsaW51eC91c2IuaD4KICNpbmNsdWRlIDxsaW51eC91c2Ivc2VyaWFsLmg+CkBAIC01MiwxMyArNTMsNiBAQAogI2RlZmluZSBEUklWRVJfQVVUSE9SICJHcmVnIEtyb2FoLUhhcnRtYW4gPGdyZWdAa3JvYWguY29tPiBhbmQgRGF2aWQgSWFjb3ZlbGxpIgogI2RlZmluZSBEUklWRVJfREVTQyAiRWRnZXBvcnQgVVNCIFNlcmlhbCBEcml2ZXIiCiAKLQotLyogZmlybXdhcmUgaW1hZ2UgY29kZSAqLwotI2RlZmluZSBJTUFHRV9WRVJTSU9OX05BTUUJUGFnYWJsZU9wZXJhdGlvbmFsQ29kZUltYWdlVmVyc2lvbgotI2RlZmluZSBJTUFHRV9BUlJBWV9OQU1FCVBhZ2FibGVPcGVyYXRpb25hbENvZGVJbWFnZQotI2RlZmluZSBJTUFHRV9TSVpFCQlQYWdhYmxlT3BlcmF0aW9uYWxDb2RlU2l6ZQotI2luY2x1ZGUgImlvX2Z3X2Rvd24zLmgiCS8qIERlZmluZSBhcnJheSBPcGVyYXRpb25hbENvZGVJbWFnZVtdICovCi0KICNkZWZpbmUgRVBST01fUEFHRV9TSVpFCQk2NAogCiAKQEAgLTIzMSw3ICsyMjUsOSBAQAogfTsKIAogCi1zdGF0aWMgc3RydWN0IEVER0VfRklSTVdBUkVfVkVSU0lPTl9JTkZPIE9wZXJhdGlvbmFsQ29kZUltYWdlVmVyc2lvbjsKK3N0YXRpYyB1bnNpZ25lZCBjaGFyIE9wZXJhdGlvbmFsTWFqb3JWZXJzaW9uOworc3RhdGljIHVuc2lnbmVkIGNoYXIgT3BlcmF0aW9uYWxNaW5vclZlcnNpb247CitzdGF0aWMgdW5zaWduZWQgc2hvcnQgT3BlcmF0aW9uYWxCdWlsZE51bWJlcjsKIAogc3RhdGljIGludCBkZWJ1ZzsKIApAQCAtODg1LDEwICs4ODEsMTMgQEAKIAlfX3U4ICpidWZmZXI7CiAJaW50IGJ1ZmZlcl9zaXplOwogCWludCBpOworCWludCBlcnI7CiAJX191OCBjcyA9IDA7CiAJc3RydWN0IHRpX2kyY19kZXNjICppMmNfaGVhZGVyOwogCXN0cnVjdCB0aV9pMmNfaW1hZ2VfaGVhZGVyICppbWdfaGVhZGVyOwogCXN0cnVjdCB0aV9pMmNfZmlybXdhcmVfcmVjICpmaXJtd2FyZV9yZWM7CisJY29uc3Qgc3RydWN0IGZpcm13YXJlICpmdzsKKwljb25zdCBjaGFyICpmd19uYW1lID0gImVkZ2Vwb3J0L2Rvd24zLmJpbiI7CiAKIAkvLyBJbiBvcmRlciB0byB1cGRhdGUgdGhlIEkyQyBmaXJtd2FyZSB3ZSBtdXN0IGNoYW5nZSB0aGUgdHlwZSAyIHJlY29yZCB0byB0eXBlIDB4RjIuCiAJLy8gVGhpcyB3aWxsIGZvcmNlIHRoZSBVTVAgdG8gY29tZSB1cCBpbiBCb290IE1vZGUuICBUaGVuIHdoaWxlIGluIGJvb3QgbW9kZSwgdGhlIGRyaXZlciAKQEAgLTkwOSwxOSArOTA4LDM0IEBACiAJLy8gU2V0IGVudGlyZSBpbWFnZSBvZiAweGZmcwogCW1lbXNldCAoYnVmZmVyLCAweGZmLCBidWZmZXJfc2l6ZSk7CiAKKwllcnIgPSByZXF1ZXN0X2Zpcm13YXJlKCZmdywgZndfbmFtZSwgZGV2KTsKKwlpZiAoZXJyKSB7CisJCXByaW50ayhLRVJOX0VSUiAiRmFpbGVkIHRvIGxvYWQgaW1hZ2UgXCIlc1wiIGVyciAlZFxuIiwKKwkJICAgICAgIGZ3X25hbWUsIGVycik7CisJCWtmcmVlKGJ1ZmZlcik7CisJCXJldHVybiBlcnI7CisJfQorCisJLyogU2F2ZSBEb3dubG9hZCBWZXJzaW9uIE51bWJlciAqLworCU9wZXJhdGlvbmFsTWFqb3JWZXJzaW9uID0gZnctPmRhdGFbMF07CisJT3BlcmF0aW9uYWxNaW5vclZlcnNpb24gPSBmdy0+ZGF0YVsxXTsKKwlPcGVyYXRpb25hbEJ1aWxkTnVtYmVyID0gZnctPmRhdGFbMl0gfCAoZnctPmRhdGFbM10gPDwgOCk7CisKIAkvLyBDb3B5IHZlcnNpb24gbnVtYmVyIGludG8gZmlybXdhcmUgcmVjb3JkCiAJZmlybXdhcmVfcmVjID0gKHN0cnVjdCB0aV9pMmNfZmlybXdhcmVfcmVjICopYnVmZmVyOwogCi0JZmlybXdhcmVfcmVjLT5WZXJfTWFqb3IJPSBPcGVyYXRpb25hbENvZGVJbWFnZVZlcnNpb24uTWFqb3JWZXJzaW9uOwotCWZpcm13YXJlX3JlYy0+VmVyX01pbm9yCT0gT3BlcmF0aW9uYWxDb2RlSW1hZ2VWZXJzaW9uLk1pbm9yVmVyc2lvbjsKKwlmaXJtd2FyZV9yZWMtPlZlcl9NYWpvcgk9IE9wZXJhdGlvbmFsTWFqb3JWZXJzaW9uOworCWZpcm13YXJlX3JlYy0+VmVyX01pbm9yCT0gT3BlcmF0aW9uYWxNaW5vclZlcnNpb247CiAKIAkvLyBQb2ludGVyIHRvIGZ3X2Rvd24gbWVtb3J5IGltYWdlCi0JaW1nX2hlYWRlciA9IChzdHJ1Y3QgdGlfaTJjX2ltYWdlX2hlYWRlciAqKSZQYWdhYmxlT3BlcmF0aW9uYWxDb2RlSW1hZ2VbMF07CisJaW1nX2hlYWRlciA9IChzdHJ1Y3QgdGlfaTJjX2ltYWdlX2hlYWRlciAqKSZmdy0+ZGF0YVs0XTsKIAogCW1lbWNweSAoYnVmZmVyICsgc2l6ZW9mKHN0cnVjdCB0aV9pMmNfZmlybXdhcmVfcmVjKSwKLQkJJlBhZ2FibGVPcGVyYXRpb25hbENvZGVJbWFnZVtzaXplb2Yoc3RydWN0IHRpX2kyY19pbWFnZV9oZWFkZXIpXSwKKwkJJmZ3LT5kYXRhWzQgKyBzaXplb2Yoc3RydWN0IHRpX2kyY19pbWFnZV9oZWFkZXIpXSwKIAkJbGUxNl90b19jcHUoaW1nX2hlYWRlci0+TGVuZ3RoKSk7CiAKKwlyZWxlYXNlX2Zpcm13YXJlKGZ3KTsKKwogCWZvciAoaT0wOyBpIDwgYnVmZmVyX3NpemU7IGkrKykgewogCQljcyA9IChfX3U4KShjcyArIGJ1ZmZlcltpXSk7CiAJfQpAQCAtOTM1LDggKzk0OSw4IEBACiAJaTJjX2hlYWRlci0+VHlwZQk9IEkyQ19ERVNDX1RZUEVfRklSTVdBUkVfQkxBTks7CiAJaTJjX2hlYWRlci0+U2l6ZQk9IChfX3UxNilidWZmZXJfc2l6ZTsKIAlpMmNfaGVhZGVyLT5DaGVja1N1bQk9IGNzOwotCWZpcm13YXJlX3JlYy0+VmVyX01ham9yCT0gT3BlcmF0aW9uYWxDb2RlSW1hZ2VWZXJzaW9uLk1ham9yVmVyc2lvbjsKLQlmaXJtd2FyZV9yZWMtPlZlcl9NaW5vcgk9IE9wZXJhdGlvbmFsQ29kZUltYWdlVmVyc2lvbi5NaW5vclZlcnNpb247CisJZmlybXdhcmVfcmVjLT5WZXJfTWFqb3IJPSBPcGVyYXRpb25hbE1ham9yVmVyc2lvbjsKKwlmaXJtd2FyZV9yZWMtPlZlcl9NaW5vcgk9IE9wZXJhdGlvbmFsTWlub3JWZXJzaW9uOwogCiAJcmV0dXJuIDA7CiB9CkBAIC0xMDc1LDExICsxMDg5LDYgQEAKIAkJLy8gT3RoZXJ3aXNlIHdlIHdpbGwgcmVtYWluIGluIGNvbmZpZ3VyaW5nIG1vZGUKIAkJc2VyaWFsLT5wcm9kdWN0X2luZm8uVGlNb2RlID0gVElfTU9ERV9DT05GSUdVUklORzsKIAotCS8vIFNhdmUgRG93bmxvYWQgVmVyc2lvbiBOdW1iZXIKLQlPcGVyYXRpb25hbENvZGVJbWFnZVZlcnNpb24uTWFqb3JWZXJzaW9uID0gUGFnYWJsZU9wZXJhdGlvbmFsQ29kZUltYWdlVmVyc2lvbi5NYWpvclZlcnNpb247Ci0JT3BlcmF0aW9uYWxDb2RlSW1hZ2VWZXJzaW9uLk1pbm9yVmVyc2lvbiA9IFBhZ2FibGVPcGVyYXRpb25hbENvZGVJbWFnZVZlcnNpb24uTWlub3JWZXJzaW9uOwotCU9wZXJhdGlvbmFsQ29kZUltYWdlVmVyc2lvbi5CdWlsZE51bWJlcgkgPSBQYWdhYmxlT3BlcmF0aW9uYWxDb2RlSW1hZ2VWZXJzaW9uLkJ1aWxkTnVtYmVyOwotCiAJLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogCS8qIERvd25sb2FkIE1vZGUgKi8KIAkvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCkBAIC0xMTU0LDE1ICsxMTYzLDE1IEBACiAJCQkvLyBDaGVjayB2ZXJzaW9uIG51bWJlciBvZiBkb3dubG9hZCB3aXRoIGN1cnJlbnQgdmVyc2lvbiBpbiBJMmMKIAkJCWRvd25sb2FkX2N1cl92ZXIgPSAoZmlybXdhcmVfdmVyc2lvbi0+VmVyX01ham9yIDw8IDgpICsgCiAJCQkJCSAgIChmaXJtd2FyZV92ZXJzaW9uLT5WZXJfTWlub3IpOwotCQkJZG93bmxvYWRfbmV3X3ZlciA9IChPcGVyYXRpb25hbENvZGVJbWFnZVZlcnNpb24uTWFqb3JWZXJzaW9uIDw8IDgpICsKLQkJCQkJICAgKE9wZXJhdGlvbmFsQ29kZUltYWdlVmVyc2lvbi5NaW5vclZlcnNpb24pOworCQkJZG93bmxvYWRfbmV3X3ZlciA9IChPcGVyYXRpb25hbE1ham9yVmVyc2lvbiA8PCA4KSArCisJCQkJCSAgIChPcGVyYXRpb25hbE1pbm9yVmVyc2lvbik7CiAKIAkJCWRiZyAoIiVzIC0gPj4+RmlybXdhcmUgVmVyc2lvbnMgRGV2aWNlICVkLiVkICBEcml2ZXIgJWQuJWQiLAogCQkJICAgICBfX2Z1bmNfXywKIAkJCSAgICAgZmlybXdhcmVfdmVyc2lvbi0+VmVyX01ham9yLAogCQkJICAgICBmaXJtd2FyZV92ZXJzaW9uLT5WZXJfTWlub3IsCi0JCQkgICAgIE9wZXJhdGlvbmFsQ29kZUltYWdlVmVyc2lvbi5NYWpvclZlcnNpb24sCi0JCQkgICAgIE9wZXJhdGlvbmFsQ29kZUltYWdlVmVyc2lvbi5NaW5vclZlcnNpb24pOworCQkJICAgICBPcGVyYXRpb25hbE1ham9yVmVyc2lvbiwKKwkJCSAgICAgT3BlcmF0aW9uYWxNaW5vclZlcnNpb24pOwogCiAJCQkvLyBDaGVjayBpZiB3ZSBoYXZlIGFuIG9sZCB2ZXJzaW9uIGluIHRoZSBJMkMgYW5kIHVwZGF0ZSBpZiBuZWNlc3NhcnkKIAkJCWlmIChkb3dubG9hZF9jdXJfdmVyICE9IGRvd25sb2FkX25ld192ZXIpIHsKQEAgLTExNzAsOCArMTE3OSw4IEBACiAJCQkJICAgICBfX2Z1bmNfXywKIAkJCQkgICAgIGZpcm13YXJlX3ZlcnNpb24tPlZlcl9NYWpvciwKIAkJCQkgICAgIGZpcm13YXJlX3ZlcnNpb24tPlZlcl9NaW5vciwKLQkJCQkgICAgIE9wZXJhdGlvbmFsQ29kZUltYWdlVmVyc2lvbi5NYWpvclZlcnNpb24sCi0JCQkJICAgICBPcGVyYXRpb25hbENvZGVJbWFnZVZlcnNpb24uTWlub3JWZXJzaW9uKTsKKwkJCQkgICAgIE9wZXJhdGlvbmFsTWFqb3JWZXJzaW9uLAorCQkJCSAgICAgT3BlcmF0aW9uYWxNaW5vclZlcnNpb24pOwogCiAJCQkJLy8gSW4gb3JkZXIgdG8gdXBkYXRlIHRoZSBJMkMgZmlybXdhcmUgd2UgbXVzdCBjaGFuZ2UgdGhlIHR5cGUgMiByZWNvcmQgdG8gdHlwZSAweEYyLgogCQkJCS8vIFRoaXMgd2lsbCBmb3JjZSB0aGUgVU1QIHRvIGNvbWUgdXAgaW4gQm9vdCBNb2RlLiAgVGhlbiB3aGlsZSBpbiBib290IG1vZGUsIHRoZSBkcml2ZXIgCkBAIC0xMzc3LDYgKzEzODYsOSBAQAogCQlfX3U4IGNzID0gMDsKIAkJX191OCAqYnVmZmVyOwogCQlpbnQgYnVmZmVyX3NpemU7CisJCWludCBlcnI7CisJCWNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqZnc7CisJCWNvbnN0IGNoYXIgKmZ3X25hbWUgPSAiZWRnZXBvcnQvZG93bjMuYmluIjsKIAogCQkvKiBWYWxpZGF0ZSBIYXJkd2FyZSB2ZXJzaW9uIG51bWJlcgogCQkgKiBSZWFkIE1hbnVmYWN0dXJpbmcgRGVzY3JpcHRvciBmcm9tIFRJIEJhc2VkIEVkZ2Vwb3J0CkBAIC0xNDI1LDcgKzE0MzcsMTUgQEAKIAkJLy8gSW5pdGlhbGl6ZSB0aGUgYnVmZmVyIHRvIDB4ZmYgKHBhZCB0aGUgYnVmZmVyKQogCQltZW1zZXQgKGJ1ZmZlciwgMHhmZiwgYnVmZmVyX3NpemUpOwogCi0JCW1lbWNweSAoYnVmZmVyLCAmUGFnYWJsZU9wZXJhdGlvbmFsQ29kZUltYWdlWzBdLCBQYWdhYmxlT3BlcmF0aW9uYWxDb2RlU2l6ZSk7CisJCWVyciA9IHJlcXVlc3RfZmlybXdhcmUoJmZ3LCBmd19uYW1lLCBkZXYpOworCQlpZiAoZXJyKSB7CisJCQlwcmludGsoS0VSTl9FUlIgIkZhaWxlZCB0byBsb2FkIGltYWdlIFwiJXNcIiBlcnIgJWRcbiIsCisJCQkgICAgICAgZndfbmFtZSwgZXJyKTsKKwkJCWtmcmVlKGJ1ZmZlcik7CisJCQlyZXR1cm4gZXJyOworCQl9CisJCW1lbWNweShidWZmZXIsICZmdy0+ZGF0YVs0XSwgZnctPnNpemUgLSA0KTsKKwkJcmVsZWFzZV9maXJtd2FyZShmdyk7CiAKIAkJZm9yKGkgPSBzaXplb2Yoc3RydWN0IHRpX2kyY19pbWFnZV9oZWFkZXIpOyBpIDwgYnVmZmVyX3NpemU7IGkrKykgewogCQkJY3MgPSAoX191OCkoY3MgKyBidWZmZXJbaV0pOwpAQCAtMzExOSw2ICszMTM5LDcgQEAKIE1PRFVMRV9BVVRIT1IoRFJJVkVSX0FVVEhPUik7CiBNT0RVTEVfREVTQ1JJUFRJT04oRFJJVkVSX0RFU0MpOwogTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOworTU9EVUxFX0ZJUk1XQVJFKCJlZGdlcG9ydC9kb3duMy5iaW4iKTsKIAogbW9kdWxlX3BhcmFtKGRlYnVnLCBib29sLCBTX0lSVUdPIHwgU19JV1VTUik7CiBNT0RVTEVfUEFSTV9ERVNDKGRlYnVnLCAiRGVidWcgZW5hYmxlZCBvciBub3QiKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL3NlcmlhbC9rZXlzcGFuLmMgYi9kcml2ZXJzL3VzYi9zZXJpYWwva2V5c3Bhbi5jCmluZGV4IDNkZjhhNjYuLjExZTQzOWIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdXNiL3NlcmlhbC9rZXlzcGFuLmMKKysrIGIvZHJpdmVycy91c2Ivc2VyaWFsL2tleXNwYW4uYwpAQCAtMTA1LDYgKzEwNSw4IEBACiAjaW5jbHVkZSA8bGludXgvdHR5X2ZsaXAuaD4KICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KICNpbmNsdWRlIDxsaW51eC9zcGlubG9jay5oPgorI2luY2x1ZGUgPGxpbnV4L2Zpcm13YXJlLmg+CisjaW5jbHVkZSA8bGludXgvaWhleC5oPgogI2luY2x1ZGUgPGFzbS91YWNjZXNzLmg+CiAjaW5jbHVkZSA8bGludXgvdXNiLmg+CiAjaW5jbHVkZSA8bGludXgvdXNiL3NlcmlhbC5oPgpAQCAtMTMzOSwxMyArMTM0MSwxMyBAQAogCXBvcnQtPnR0eSA9IE5VTEw7CiB9CiAKLQogCS8qIGRvd25sb2FkIHRoZSBmaXJtd2FyZSB0byBhIHByZS1yZW51bWVyYXRpb24gZGV2aWNlICovCiBzdGF0aWMgaW50IGtleXNwYW5fZmFrZV9zdGFydHVwIChzdHJ1Y3QgdXNiX3NlcmlhbCAqc2VyaWFsKQogewogCWludCAJCQkJcmVzcG9uc2U7Ci0JY29uc3Qgc3RydWN0IGV6dXNiX2hleF9yZWNvcmQgCSpyZWNvcmQ7CisJY29uc3Qgc3RydWN0IGloZXhfYmlucmVjIAkqcmVjb3JkOwogCWNoYXIJCQkJKmZ3X25hbWU7CisJY29uc3Qgc3RydWN0IGZpcm13YXJlCQkqZnc7CiAKIAlkYmcoIktleXNwYW4gc3RhcnR1cCB2ZXJzaW9uICUwNHggcHJvZHVjdCAlMDR4IiwKIAkgICAgbGUxNl90b19jcHUoc2VyaWFsLT5kZXYtPmRlc2NyaXB0b3IuYmNkRGV2aWNlKSwKQEAgLTEzNTksNzIgKzEzNjEsNjAgQEAKIAkJLyogU2VsZWN0IGZpcm13YXJlIGltYWdlIG9uIHRoZSBiYXNpcyBvZiBpZFByb2R1Y3QgKi8KIAlzd2l0Y2ggKGxlMTZfdG9fY3B1KHNlcmlhbC0+ZGV2LT5kZXNjcmlwdG9yLmlkUHJvZHVjdCkpIHsKIAljYXNlIGtleXNwYW5fdXNhMjhfcHJlX3Byb2R1Y3RfaWQ6Ci0JCXJlY29yZCA9ICZrZXlzcGFuX3VzYTI4X2Zpcm13YXJlWzBdOwotCQlmd19uYW1lID0gIlVTQTI4IjsKKwkJZndfbmFtZSA9ICJrZXlzcGFuL3VzYTI4LmZ3IjsKIAkJYnJlYWs7CiAKIAljYXNlIGtleXNwYW5fdXNhMjh4X3ByZV9wcm9kdWN0X2lkOgotCQlyZWNvcmQgPSAma2V5c3Bhbl91c2EyOHhfZmlybXdhcmVbMF07Ci0JCWZ3X25hbWUgPSAiVVNBMjhYIjsKKwkJZndfbmFtZSA9ICJrZXlzcGFuL3VzYTI4eC5mdyI7CiAJCWJyZWFrOwogCiAJY2FzZSBrZXlzcGFuX3VzYTI4eGFfcHJlX3Byb2R1Y3RfaWQ6Ci0JCXJlY29yZCA9ICZrZXlzcGFuX3VzYTI4eGFfZmlybXdhcmVbMF07Ci0JCWZ3X25hbWUgPSAiVVNBMjhYQSI7CisJCWZ3X25hbWUgPSAia2V5c3Bhbi91c2EyOHhhLmZ3IjsKIAkJYnJlYWs7CiAKIAljYXNlIGtleXNwYW5fdXNhMjh4Yl9wcmVfcHJvZHVjdF9pZDoKLQkJcmVjb3JkID0gJmtleXNwYW5fdXNhMjh4Yl9maXJtd2FyZVswXTsKLQkJZndfbmFtZSA9ICJVU0EyOFhCIjsKKwkJZndfbmFtZSA9ICJrZXlzcGFuL3VzYTI4eGIuZnciOwogCQlicmVhazsKIAogCWNhc2Uga2V5c3Bhbl91c2ExOV9wcmVfcHJvZHVjdF9pZDoKLQkJcmVjb3JkID0gJmtleXNwYW5fdXNhMTlfZmlybXdhcmVbMF07Ci0JCWZ3X25hbWUgPSAiVVNBMTkiOworCQlmd19uYW1lID0gImtleXNwYW4vdXNhMTkuZnciOwogCQlicmVhazsKIAkJCSAgICAgCiAJY2FzZSBrZXlzcGFuX3VzYTE5cWlfcHJlX3Byb2R1Y3RfaWQ6Ci0JCXJlY29yZCA9ICZrZXlzcGFuX3VzYTE5cWlfZmlybXdhcmVbMF07Ci0JCWZ3X25hbWUgPSAiVVNBMTlRSSI7CisJCWZ3X25hbWUgPSAia2V5c3Bhbi91c2ExOXFpLmZ3IjsKIAkJYnJlYWs7CiAJCQkgICAgIAogCWNhc2Uga2V5c3Bhbl9tcHJfcHJlX3Byb2R1Y3RfaWQ6Ci0JCXJlY29yZCA9ICZrZXlzcGFuX21wcl9maXJtd2FyZVswXTsKLQkJZndfbmFtZSA9ICJNUFIiOworCQlmd19uYW1lID0gImtleXNwYW4vbXByLmZ3IjsKIAkJYnJlYWs7CiAKIAljYXNlIGtleXNwYW5fdXNhMTlxd19wcmVfcHJvZHVjdF9pZDoKLQkJcmVjb3JkID0gJmtleXNwYW5fdXNhMTlxd19maXJtd2FyZVswXTsKLQkJZndfbmFtZSA9ICJVU0ExOVFJIjsKKwkJZndfbmFtZSA9ICJrZXlzcGFuL3VzYTE5cXcuZnciOwogCQlicmVhazsKIAkJCSAgICAgCiAJY2FzZSBrZXlzcGFuX3VzYTE4eF9wcmVfcHJvZHVjdF9pZDoKLQkJcmVjb3JkID0gJmtleXNwYW5fdXNhMTh4X2Zpcm13YXJlWzBdOwotCQlmd19uYW1lID0gIlVTQTE4WCI7CisJCWZ3X25hbWUgPSAia2V5c3Bhbi91c2ExOHguZnciOwogCQlicmVhazsKIAkJCSAgICAgCiAJY2FzZSBrZXlzcGFuX3VzYTE5d19wcmVfcHJvZHVjdF9pZDoKLQkJcmVjb3JkID0gJmtleXNwYW5fdXNhMTl3X2Zpcm13YXJlWzBdOwotCQlmd19uYW1lID0gIlVTQTE5VyI7CisJCWZ3X25hbWUgPSAia2V5c3Bhbi91c2ExOXcuZnciOwogCQlicmVhazsKIAkJCiAJY2FzZSBrZXlzcGFuX3VzYTQ5d19wcmVfcHJvZHVjdF9pZDoKLQkJcmVjb3JkID0gJmtleXNwYW5fdXNhNDl3X2Zpcm13YXJlWzBdOwotCQlmd19uYW1lID0gIlVTQTQ5VyI7CisJCWZ3X25hbWUgPSAia2V5c3Bhbi91c2E0OXcuZnciOwogCQlicmVhazsKIAogCWNhc2Uga2V5c3Bhbl91c2E0OXdsY19wcmVfcHJvZHVjdF9pZDoKLQkJcmVjb3JkID0gJmtleXNwYW5fdXNhNDl3bGNfZmlybXdhcmVbMF07Ci0JCWZ3X25hbWUgPSAiVVNBNDlXTEMiOworCQlmd19uYW1lID0gImtleXNwYW4vdXNhNDl3bGMuZnciOwogCQlicmVhazsKIAogCWRlZmF1bHQ6Ci0JCXJlY29yZCA9IE5VTEw7Ci0JCWZ3X25hbWUgPSAiVW5rbm93biI7Ci0JCWJyZWFrOworCQlkZXZfZXJyKCZzZXJpYWwtPmRldi0+ZGV2LCAiVW5rbm93biBwcm9kdWN0IElEICglMDR4KVxuIiwKKwkJCWxlMTZfdG9fY3B1KHNlcmlhbC0+ZGV2LT5kZXNjcmlwdG9yLmlkUHJvZHVjdCkpOworCQlyZXR1cm4gMTsKIAl9CiAKLQlpZiAocmVjb3JkID09IE5VTEwpIHsKKwlpZiAocmVxdWVzdF9paGV4X2Zpcm13YXJlKCZmdywgZndfbmFtZSwgJnNlcmlhbC0+ZGV2LT5kZXYpKSB7CiAJCWRldl9lcnIoJnNlcmlhbC0+ZGV2LT5kZXYsICJSZXF1aXJlZCBrZXlzcGFuIGZpcm13YXJlIGltYWdlICglcykgdW5hdmFpbGFibGUuXG4iLCBmd19uYW1lKTsKIAkJcmV0dXJuKDEpOwogCX0KQEAgLTE0MzQsMTkgKzE0MjQsMjIgQEAKIAkJLyogZG93bmxvYWQgdGhlIGZpcm13YXJlIGltYWdlICovCiAJcmVzcG9uc2UgPSBlenVzYl9zZXRfcmVzZXQoc2VyaWFsLCAxKTsKIAotCXdoaWxlKHJlY29yZC0+YWRkcmVzcyAhPSAweGZmZmYpIHsKLQkJcmVzcG9uc2UgPSBlenVzYl93cml0ZW1lbW9yeShzZXJpYWwsIHJlY29yZC0+YWRkcmVzcywKKwlyZWNvcmQgPSAoY29uc3Qgc3RydWN0IGloZXhfYmlucmVjICopZnctPmRhdGE7CisKKwl3aGlsZSAocmVjb3JkKSB7CisJCXJlc3BvbnNlID0gZXp1c2Jfd3JpdGVtZW1vcnkoc2VyaWFsLCBiZTMyX3RvX2NwdShyZWNvcmQtPmFkZHIpLAogCQkJCQkgICAgICh1bnNpZ25lZCBjaGFyICopcmVjb3JkLT5kYXRhLAotCQkJCQkgICAgIHJlY29yZC0+ZGF0YV9zaXplLCAweGEwKTsKKwkJCQkJICAgICBiZTE2X3RvX2NwdShyZWNvcmQtPmxlbiksIDB4YTApOwogCQlpZiAocmVzcG9uc2UgPCAwKSB7CiAJCQlkZXZfZXJyKCZzZXJpYWwtPmRldi0+ZGV2LCAiZXp1c2Jfd3JpdGVtZW1vcnkgZmFpbGVkIGZvciBLZXlzcGFuIgogCQkJCSJmaXJtd2FyZSAoJWQgJTA0WCAlcCAlZClcbiIsCi0JCQkJcmVzcG9uc2UsIAotCQkJCXJlY29yZC0+YWRkcmVzcywgcmVjb3JkLT5kYXRhLCByZWNvcmQtPmRhdGFfc2l6ZSk7CisJCQkJcmVzcG9uc2UsIGJlMzJfdG9fY3B1KHJlY29yZC0+YWRkciksCisJCQkJcmVjb3JkLT5kYXRhLCBiZTE2X3RvX2NwdShyZWNvcmQtPmxlbikpOwogCQkJYnJlYWs7CiAJCX0KLQkJcmVjb3JkKys7CisJCXJlY29yZCA9IGloZXhfbmV4dF9iaW5yZWMocmVjb3JkKTsKIAl9CisJcmVsZWFzZV9maXJtd2FyZShmdyk7CiAJCS8qIGJyaW5nIGRldmljZSBvdXQgb2YgcmVzZXQuIFJlbnVtZXJhdGlvbiB3aWxsIG9jY3VyIGluIGEKIAkJICAgbW9tZW50IGFuZCB0aGUgbmV3IGRldmljZSB3aWxsIGJpbmQgdG8gdGhlIHJlYWwgZHJpdmVyICovCiAJcmVzcG9uc2UgPSBlenVzYl9zZXRfcmVzZXQoc2VyaWFsLCAwKTsKQEAgLTI3NTYsNiArMjc0OSwxOSBAQAogTU9EVUxFX0RFU0NSSVBUSU9OKCBEUklWRVJfREVTQyApOwogTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOwogCitNT0RVTEVfRklSTVdBUkUoImtleXNwYW4vdXNhMjguZnciKTsKK01PRFVMRV9GSVJNV0FSRSgia2V5c3Bhbi91c2EyOHguZnciKTsKK01PRFVMRV9GSVJNV0FSRSgia2V5c3Bhbi91c2EyOHhhLmZ3Iik7CitNT0RVTEVfRklSTVdBUkUoImtleXNwYW4vdXNhMjh4Yi5mdyIpOworTU9EVUxFX0ZJUk1XQVJFKCJrZXlzcGFuL3VzYTE5LmZ3Iik7CitNT0RVTEVfRklSTVdBUkUoImtleXNwYW4vdXNhMTlxaS5mdyIpOworTU9EVUxFX0ZJUk1XQVJFKCJrZXlzcGFuL21wci5mdyIpOworTU9EVUxFX0ZJUk1XQVJFKCJrZXlzcGFuL3VzYTE5cXcuZnciKTsKK01PRFVMRV9GSVJNV0FSRSgia2V5c3Bhbi91c2ExOHguZnciKTsKK01PRFVMRV9GSVJNV0FSRSgia2V5c3Bhbi91c2ExOXcuZnciKTsKK01PRFVMRV9GSVJNV0FSRSgia2V5c3Bhbi91c2E0OXcuZnciKTsKK01PRFVMRV9GSVJNV0FSRSgia2V5c3Bhbi91c2E0OXdsYy5mdyIpOworCiBtb2R1bGVfcGFyYW0oZGVidWcsIGJvb2wsIFNfSVJVR08gfCBTX0lXVVNSKTsKIE1PRFVMRV9QQVJNX0RFU0MoZGVidWcsICJEZWJ1ZyBlbmFibGVkIG9yIG5vdCIpOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9zZXJpYWwva2V5c3Bhbi5oIGIvZHJpdmVycy91c2Ivc2VyaWFsL2tleXNwYW4uaAppbmRleCA4ZDZlZDAyLi5iNTJmYjY1IDEwMDY0NAotLS0gYS9kcml2ZXJzL3VzYi9zZXJpYWwva2V5c3Bhbi5oCisrKyBiL2RyaXZlcnMvdXNiL3NlcmlhbC9rZXlzcGFuLmgKQEAgLTEwMyw5MCArMTAzLDYgQEAKIAkJCQkJIHN0cnVjdCB1c2Jfc2VyaWFsX3BvcnQgKnBvcnQsCiAJCQkJCSBpbnQgcmVzZXRfcG9ydCk7CiAKLS8qIFN0cnVjdCB1c2VkIGZvciBmaXJtd2FyZSAtIGluY3JlYXNlZCBzaXplIG9mIGRhdGEgc2VjdGlvbgotICAgdG8gYWxsb3cgS2V5c3BhbidzICdDJyBmaXJtd2FyZSBzdHJ1Y3QgdG8gYmUgdXNlZCB1bm1vZGlmaWVkICovCi1zdHJ1Y3QgZXp1c2JfaGV4X3JlY29yZCB7Ci0JX191MTYgYWRkcmVzczsKLQlfX3U4IGRhdGFfc2l6ZTsKLQlfX3U4IGRhdGFbNjRdOwotfTsKLQotLyogQ29uZGl0aW9uYWxseSBpbmNsdWRlIGZpcm13YXJlIGltYWdlcywgaWYgdGhleSBhcmVuJ3QKLSAgIGluY2x1ZGVkIGNyZWF0ZSBhIG51bGwgcG9pbnRlciBpbnN0ZWFkLiAgQ3VycmVudCAKLSAgIGZpcm13YXJlIGltYWdlcyBhcmVuJ3Qgb3B0aW1pc2VkIHRvIHJlbW92ZSBkdXBsaWNhdGUKLSAgIGFkZHJlc3NlcyBpbiB0aGUgaW1hZ2UgaXRzZWxmLiAqLwotI2lmZGVmIENPTkZJR19VU0JfU0VSSUFMX0tFWVNQQU5fVVNBMjgKLQkjaW5jbHVkZSAia2V5c3Bhbl91c2EyOF9mdy5oIgotI2Vsc2UKLQlzdGF0aWMgY29uc3Qgc3RydWN0IGV6dXNiX2hleF9yZWNvcmQgKmtleXNwYW5fdXNhMjhfZmlybXdhcmUgPSBOVUxMOwotI2VuZGlmCi0KLSNpZmRlZiBDT05GSUdfVVNCX1NFUklBTF9LRVlTUEFOX1VTQTI4WAotCSNpbmNsdWRlICJrZXlzcGFuX3VzYTI4eF9mdy5oIgotI2Vsc2UKLQlzdGF0aWMgY29uc3Qgc3RydWN0IGV6dXNiX2hleF9yZWNvcmQgKmtleXNwYW5fdXNhMjh4X2Zpcm13YXJlID0gTlVMTDsKLSNlbmRpZgotCi0jaWZkZWYgQ09ORklHX1VTQl9TRVJJQUxfS0VZU1BBTl9VU0EyOFhBCi0JI2luY2x1ZGUgImtleXNwYW5fdXNhMjh4YV9mdy5oIgotI2Vsc2UKLQlzdGF0aWMgY29uc3Qgc3RydWN0IGV6dXNiX2hleF9yZWNvcmQgKmtleXNwYW5fdXNhMjh4YV9maXJtd2FyZSA9IE5VTEw7Ci0jZW5kaWYKLQotI2lmZGVmIENPTkZJR19VU0JfU0VSSUFMX0tFWVNQQU5fVVNBMjhYQgotCSNpbmNsdWRlICJrZXlzcGFuX3VzYTI4eGJfZncuaCIKLSNlbHNlCi0Jc3RhdGljIGNvbnN0IHN0cnVjdCBlenVzYl9oZXhfcmVjb3JkICprZXlzcGFuX3VzYTI4eGJfZmlybXdhcmUgPSBOVUxMOwotI2VuZGlmCi0KLSNpZmRlZiBDT05GSUdfVVNCX1NFUklBTF9LRVlTUEFOX1VTQTE5Ci0JI2luY2x1ZGUgImtleXNwYW5fdXNhMTlfZncuaCIKLSNlbHNlCi0Jc3RhdGljIGNvbnN0IHN0cnVjdCBlenVzYl9oZXhfcmVjb3JkICprZXlzcGFuX3VzYTE5X2Zpcm13YXJlID0gTlVMTDsKLSNlbmRpZgotCi0jaWZkZWYgQ09ORklHX1VTQl9TRVJJQUxfS0VZU1BBTl9VU0ExOVFJCi0JI2luY2x1ZGUgImtleXNwYW5fdXNhMTlxaV9mdy5oIgotI2Vsc2UKLQlzdGF0aWMgY29uc3Qgc3RydWN0IGV6dXNiX2hleF9yZWNvcmQgKmtleXNwYW5fdXNhMTlxaV9maXJtd2FyZSA9IE5VTEw7Ci0jZW5kaWYKLQotI2lmZGVmIENPTkZJR19VU0JfU0VSSUFMX0tFWVNQQU5fTVBSCi0gICAgICAgICNpbmNsdWRlICJrZXlzcGFuX21wcl9mdy5oIgotI2Vsc2UKLQlzdGF0aWMgY29uc3Qgc3RydWN0IGV6dXNiX2hleF9yZWNvcmQgKmtleXNwYW5fbXByX2Zpcm13YXJlID0gTlVMTDsKLSNlbmRpZgotCi0jaWZkZWYgQ09ORklHX1VTQl9TRVJJQUxfS0VZU1BBTl9VU0ExOVFXCi0JI2luY2x1ZGUgImtleXNwYW5fdXNhMTlxd19mdy5oIgotI2Vsc2UKLQlzdGF0aWMgY29uc3Qgc3RydWN0IGV6dXNiX2hleF9yZWNvcmQgKmtleXNwYW5fdXNhMTlxd19maXJtd2FyZSA9IE5VTEw7Ci0jZW5kaWYKLQotI2lmZGVmIENPTkZJR19VU0JfU0VSSUFMX0tFWVNQQU5fVVNBMThYCi0JI2luY2x1ZGUgImtleXNwYW5fdXNhMTh4X2Z3LmgiCi0jZWxzZQotCXN0YXRpYyBjb25zdCBzdHJ1Y3QgZXp1c2JfaGV4X3JlY29yZCAqa2V5c3Bhbl91c2ExOHhfZmlybXdhcmUgPSBOVUxMOwotI2VuZGlmCi0KLSNpZmRlZiBDT05GSUdfVVNCX1NFUklBTF9LRVlTUEFOX1VTQTE5VwotCSNpbmNsdWRlICJrZXlzcGFuX3VzYTE5d19mdy5oIgotI2Vsc2UKLQlzdGF0aWMgY29uc3Qgc3RydWN0IGV6dXNiX2hleF9yZWNvcmQgKmtleXNwYW5fdXNhMTl3X2Zpcm13YXJlID0gTlVMTDsKLSNlbmRpZgotCi0jaWZkZWYgQ09ORklHX1VTQl9TRVJJQUxfS0VZU1BBTl9VU0E0OVcKLQkjaW5jbHVkZSAia2V5c3Bhbl91c2E0OXdfZncuaCIKLSNlbHNlCi0Jc3RhdGljIGNvbnN0IHN0cnVjdCBlenVzYl9oZXhfcmVjb3JkICprZXlzcGFuX3VzYTQ5d19maXJtd2FyZSA9IE5VTEw7Ci0jZW5kaWYKLQotI2lmZGVmIENPTkZJR19VU0JfU0VSSUFMX0tFWVNQQU5fVVNBNDlXTEMKLSAgICAgICAgI2luY2x1ZGUgImtleXNwYW5fdXNhNDl3bGNfZncuaCIKLSNlbHNlCi0Jc3RhdGljIGNvbnN0IHN0cnVjdCBlenVzYl9oZXhfcmVjb3JkICprZXlzcGFuX3VzYTQ5d2xjX2Zpcm13YXJlID0gTlVMTDsKLSNlbmRpZgotCiAvKiBWYWx1ZXMgdXNlZCBmb3IgYmF1ZCByYXRlIGNhbGN1bGF0aW9uIC0gZGV2aWNlIHNwZWNpZmljICovCiAjZGVmaW5lCUtFWVNQQU5fSU5WQUxJRF9CQVVEX1JBVEUJCSgtMSkKICNkZWZpbmUJS0VZU1BBTl9CQVVEX1JBVEVfT0sJCQkoMCkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL3NlcmlhbC9rZXlzcGFuX21wcl9mdy5oIGIvZHJpdmVycy91c2Ivc2VyaWFsL2tleXNwYW5fbXByX2Z3LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDIzODgwNWUuLjAwMDAwMDAKLS0tIGEvZHJpdmVycy91c2Ivc2VyaWFsL2tleXNwYW5fbXByX2Z3LmgKKysrIC9kZXYvbnVsbApAQCAtMSwyODYgKzAsMCBAQAotLyoga2V5c3Bhbl9tcHJfZncuaAotIAotCVRoZSBmaXJtd2FyZSBjb250YWluZWQgaGVyZWluIGFzIGtleXNwYW5fbXByX2Z3LmggaXMKLQotCQlDb3B5cmlnaHQgKEMpIDE5OTktMjAwMQotCQlLZXlzcGFuLCBBIGRpdmlzaW9uIG9mIElubm9TeXMgSW5jb3Jwb3JhdGVkICgiS2V5c3BhbiIpCi0JCQotCWFzIGFuIHVucHVibGlzaGVkIHdvcmsuIFRoaXMgbm90aWNlIGRvZXMgbm90IGltcGx5IHVucmVzdHJpY3RlZCBvcgotCXB1YmxpYyBhY2Nlc3MgdG8gdGhlIHNvdXJjZSBjb2RlIGZyb20gd2hpY2ggdGhpcyBmaXJtd2FyZSBpbWFnZSBpcwotCWRlcml2ZWQuICBFeGNlcHQgYXMgbm90ZWQgYmVsb3cgdGhpcyBmaXJtd2FyZSBpbWFnZSBtYXkgbm90IGJlIAotCXJlcHJvZHVjZWQsIHVzZWQsIHNvbGQgb3IgdHJhbnNmZXJyZWQgdG8gYW55IHRoaXJkIHBhcnR5IHdpdGhvdXQgCi0JS2V5c3BhbidzIHByaW9yIHdyaXR0ZW4gY29uc2VudC4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCi0KLQlQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkIGZvciB0aGUgZGlzdHJpYnV0aW9uIG9mIHRoaXMgZmlybXdhcmUgCi0JaW1hZ2UgYXMgcGFydCBvZiBhIExpbnV4IG9yIG90aGVyIE9wZW4gU291cmNlIG9wZXJhdGluZyBzeXN0ZW0ga2VybmVsIAotCWluIHRleHQgb3IgYmluYXJ5IGZvcm0gYXMgcmVxdWlyZWQuIAotCi0JVGhpcyBmaXJtd2FyZSBtYXkgbm90IGJlIG1vZGlmaWVkIGFuZCBtYXkgb25seSBiZSB1c2VkIHdpdGggIAotCUtleXNwYW4gaGFyZHdhcmUuICBEaXN0cmlidXRpb24gYW5kL29yIE1vZGlmaWNhdGlvbiBvZiB0aGUgCi0Ja2V5c3Bhbi5jIGRyaXZlciB3aGljaCBpbmNsdWRlcyB0aGlzIGZpcm13YXJlLCBpbiB3aG9sZSBvciBpbiAKLQlwYXJ0LCByZXF1aXJlcyB0aGUgaW5jbHVzaW9uIG9mIHRoaXMgc3RhdGVtZW50LiIKLQotc3RhdGljIGNoYXIgdGhlRmlybXdhcmVEYXRlNTNbXSA9Ci0JIjA0LzI2LzIwMDIgIDAyOjQ3cCAgICAgICAgICAgICAgMTEsNTcwIFVTQTUzIjsKLSovCi0KLXN0YXRpYyBjb25zdCBzdHJ1Y3QgZXp1c2JfaGV4X3JlY29yZCBrZXlzcGFuX21wcl9maXJtd2FyZVtdID0gewotIHsweDAwMzMsICAzLCB7IDB4MDIsIDB4MDAsIDB4MWF9fSwKLSB7MHgwMDFhLCAgNCwgeyAweDUzLCAweGQ4LCAweGVmLCAweDMyfX0sCi0gezB4MDAwMywgMTYsIHsgMHg4ZSwgMHg1NiwgMHg4ZiwgMHg1NywgMHhlNSwgMHg1NywgMHgxNSwgMHg1NywgMHhhZSwgMHg1NiwgMHg3MCwgMHgwMiwgMHgxNSwgMHg1NiwgMHg0ZSwgMHg2MH19LAotIHsweDAwMTMsICA3LCB7IDB4MDUsIDB4MTIsIDB4MGYsIDB4YTIsIDB4ODAsIDB4ZWUsIDB4MjJ9fSwKLSB7MHgwMDIzLCAgMywgeyAweDAyLCAweDAwLCAweDQ2fX0sCi0gezB4MDA0NiwgMTYsIHsgMHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhjMCwgMHg4NiwgMHg3NSwgMHg4NiwgMHgwMCwgMHhjMCwgMHhkMCwgMHg3NSwgMHhkMCwgMHgwOH19LAotIHsweDAwNTYsIDE2LCB7IDB4MzAsIDB4OTksIDB4MGUsIDB4MzAsIDB4MGIsIDB4MDcsIDB4YTIsIDB4MGUsIDB4OTIsIDB4OWIsIDB4ODUsIDB4MzYsIDB4OTksIDB4YzIsIDB4OTksIDB4ZDJ9fSwKLSB7MHgwMDY2LCAxNiwgeyAweDEyLCAweDIwLCAweDEyLCAweDAzLCAweDAyLCAweDAyLCAweGY5LCAweGMyLCAweDEyLCAweDMwLCAweDAzLCAweDE5LCAweDdlLCAweDdlLCAweDdmLCAweDQwfX0sCi0gezB4MDA3NiwgMTYsIHsgMHg3NSwgMHgxYSwgMHg3ZSwgMHg3NSwgMHgxYiwgMHg0MCwgMHg3NSwgMHgxNywgMHgwMCwgMHg3ZSwgMHg3ZCwgMHg3ZiwgMHhjMCwgMHg3NSwgMHgxOCwgMHg3ZH19LAotIHsweDAwODYsIDE2LCB7IDB4NzUsIDB4MTksIDB4YzAsIDB4ODAsIDB4MTcsIDB4N2UsIDB4N2QsIDB4N2YsIDB4YzAsIDB4NzUsIDB4MWEsIDB4N2QsIDB4NzUsIDB4MWIsIDB4YzAsIDB4NzV9fSwKLSB7MHgwMDk2LCAxNiwgeyAweDE3LCAweDAxLCAweDdlLCAweDdlLCAweDdmLCAweDQwLCAweDc1LCAweDE4LCAweDdlLCAweDc1LCAweDE5LCAweDQwLCAweDIwLCAweDBiLCAweDAzLCAweDAyfX0sCi0gezB4MDBhNiwgMTYsIHsgMHgwMSwgMHg4NCwgMHhlNSwgMHgzYSwgMHhjMywgMHg5NSwgMHg1MywgMHg1MCwgMHgzYywgMHgyMCwgMHgwYywgMHgzNCwgMHgyMCwgMHgwOSwgMHgzMSwgMHg5MH19LAotIHsweDAwYjYsIDE2LCB7IDB4N2YsIDB4OWIsIDB4ZTAsIDB4NTUsIDB4MzgsIDB4NzAsIDB4MjksIDB4MzAsIDB4MTAsIDB4MTIsIDB4YWYsIDB4M2EsIDB4MDUsIDB4M2EsIDB4ZTUsIDB4MWJ9fSwKLSB7MHgwMGM2LCAxNiwgeyAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDFhLCAweGY1LCAweDgzLCAweGUwLCAweDEzLCAweDkyLCAweDBlLCAweGFmLCAweDNhLCAweDA1LCAweDNhfX0sCi0gezB4MDBkNiwgMTYsIHsgMHhlNSwgMHgxYiwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxYSwgMHhmNSwgMHg4MywgMHhlMCwgMHhmNSwgMHgzNiwgMHgwMiwgMHgwMiwgMHhmN319LAotIHsweDAwZTYsIDE2LCB7IDB4YzIsIDB4MGIsIDB4MDIsIDB4MDIsIDB4ZjcsIDB4MzAsIDB4MDMsIDB4MTEsIDB4OTAsIDB4N2YsIDB4YzcsIDB4ZTQsIDB4ZjAsIDB4YTMsIDB4ZTAsIDB4NTR9fSwKLSB7MHgwMGY2LCAxNiwgeyAweDAyLCAweGY1LCAweDFkLCAweGEzLCAweGUwLCAweGY1LCAweDFjLCAweDgwLCAweDExLCAweDkwLCAweDdmLCAweGM5LCAweGU0LCAweGYwLCAweDkwLCAweDdmfX0sCi0gezB4MDA0MywgIDMsIHsgMHgwMiwgMHgwZiwgMHgwMH19LAotIHsweDAwMDAsICAzLCB7IDB4MDIsIDB4MDAsIDB4MjZ9fSwKLSB7MHgwMDI2LCAxMiwgeyAweDc4LCAweDdmLCAweGU0LCAweGY2LCAweGQ4LCAweGZkLCAweDc1LCAweDgxLCAweDVhLCAweDAyLCAweDBhLCAweDMzfX0sCi0gezB4MDEwNiwgNjQsIHsgMHhjNiwgMHhlMCwgMHg1NCwgMHgwMiwgMHhmNSwgMHgxZCwgMHhhMywgMHhlMCwgMHhmNSwgMHgxYywgMHhlNSwgMHgxNywgMHgyNCwgMHhmZiwgMHg5MiwgMHgwMywgMHgzMCwKLSAgMHgwZCwgMHgwZCwgMHhjMiwgMHgwZCwgMHg5MCwgMHg3ZiwgMHhiYiwgMHg3NCwgMHgwMSwgMHhmMCwgMHhjMiwgMHgwYiwgMHgwMiwgMHgwMiwgMHhmNywgMHhlNSwKLSAgMHgxZCwgMHg2MCwgMHgwNSwgMHhjMiwgMHgwYiwgMHgwMiwgMHgwMiwgMHhmNywgMHg4NSwgMHgxYywgMHg1MywgMHg4NSwgMHgxOSwgMHg4MiwgMHg4NSwgMHgxOCwKLSAgMHg4MywgMHhlMCwgMHgxMywgMHg5MiwgMHgwZCwgMHg3NSwgMHgxMiwgMHhmZiwgMHgyMCwgMHgwYywgMHgzYSwgMHgyMCwgMHgwOSwgMHgzNywgMHg5MH19LAotIHsweDAxNDYsIDY0LCB7IDB4N2YsIDB4OWIsIDB4ZTAsIDB4NTUsIDB4MzgsIDB4NzAsIDB4MmYsIDB4MzAsIDB4MTAsIDB4MWMsIDB4ODUsIDB4MTksIDB4ODIsIDB4ODUsIDB4MTgsIDB4ODMsIDB4YTMsCi0gIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MGUsIDB4ODUsIDB4MTksIDB4ODIsIDB4ODUsIDB4MTgsIDB4ODMsIDB4YTMsIDB4YTMsIDB4ZTAsIDB4ZjUsIDB4MzYsIDB4NzUsCi0gIDB4M2EsIDB4MDMsIDB4MDIsIDB4MDIsIDB4ZjcsIDB4NzUsIDB4M2EsIDB4MDIsIDB4ODUsIDB4MTksIDB4ODIsIDB4ODUsIDB4MTgsIDB4ODMsIDB4YTMsIDB4ZTAsCi0gIDB4ZjUsIDB4MzYsIDB4MDIsIDB4MDIsIDB4ZjcsIDB4NzUsIDB4M2EsIDB4MDEsIDB4YzIsIDB4MGIsIDB4MDIsIDB4MDIsIDB4ZjcsIDB4MzAsIDB4MDN9fSwKLSB7MHgwMTg2LCA2NCwgeyAweDBlLCAweDkwLCAweDdmLCAweGM2LCAweGUwLCAweDU0LCAweDAyLCAweGY1LCAweDFkLCAweGEzLCAweGUwLCAweGY1LCAweDFjLCAweDgwLCAweDBjLCAweDkwLCAweDdmLAotICAweGM4LCAweGUwLCAweDU0LCAweDAyLCAweGY1LCAweDFkLCAweGEzLCAweGUwLCAweGY1LCAweDFjLCAweGU1LCAweDNhLCAweGMzLCAweDk1LCAweDUzLCAweDUwLAotICAweDAzLCAweDAyLCAweDAyLCAweDY4LCAweGU1LCAweDFkLCAweDYwLCAweDA3LCAweGMyLCAweDE0LCAweGMyLCAweDA1LCAweDAyLCAweDAyLCAweGY3LCAweDg1LAotICAweDFjLCAweDUzLCAweDg1LCAweDFiLCAweDgyLCAweDg1LCAweDFhLCAweDgzLCAweGUwLCAweDEzLCAweDkyLCAweDBkLCAweDc1LCAweDEyLCAweGZmfX0sCi0gezB4MDFjNiwgNjQsIHsgMHgzMCwgMHgwYywgMHgwMywgMHgwMiwgMHgwMiwgMHg2MCwgMHgzMCwgMHgwOSwgMHgwMywgMHgwMiwgMHgwMiwgMHg2MCwgMHg5MCwgMHg3ZiwgMHg5YiwgMHhlMCwgMHg1NSwKLSAgMHgzOCwgMHg2MCwgMHgwMywgMHgwMiwgMHgwMiwgMHg2MCwgMHgzMCwgMHgxMCwgMHgxYiwgMHg4NSwgMHgxYiwgMHg4MiwgMHg4NSwgMHgxYSwgMHg4MywgMHhhMywKLSAgMHhlMCwgMHgxMywgMHg5MiwgMHg5YiwgMHg4NSwgMHgxYiwgMHg4MiwgMHg4NSwgMHgxYSwgMHg4MywgMHhhMywgMHhhMywgMHhlMCwgMHhmNSwgMHg5OSwgMHg3NSwKLSAgMHgzYSwgMHgwMywgMHg4MCwgMHgwZCwgMHg4NSwgMHgxYiwgMHg4MiwgMHg4NSwgMHgxYSwgMHg4MywgMHhhMywgMHhlMCwgMHhmNSwgMHg5OSwgMHg3NX19LAotIHsweDAyMDYsIDY0LCB7IDB4M2EsIDB4MDIsIDB4ZTUsIDB4M2EsIDB4YzMsIDB4OTUsIDB4NTMsIDB4NDAsIDB4MjYsIDB4MzAsIDB4MDMsIDB4MDcsIDB4OTAsIDB4N2YsIDB4YzcsIDB4ZTQsIDB4ZjAsCi0gIDB4ODAsIDB4MDUsIDB4OTAsIDB4N2YsIDB4YzksIDB4ZTQsIDB4ZjAsIDB4ZTUsIDB4MTcsIDB4MjQsIDB4ZmYsIDB4OTIsIDB4MDMsIDB4MjAsIDB4MGQsIDB4MDMsCi0gIDB4MDIsIDB4MDIsIDB4ZjcsIDB4YzIsIDB4MGQsIDB4OTAsIDB4N2YsIDB4YmIsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4MDIsIDB4MDIsIDB4ZjcsIDB4MzAsIDB4MTAsCi0gIDB4MTIsIDB4YWYsIDB4M2EsIDB4MDUsIDB4M2EsIDB4ZTUsIDB4MWIsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MWEsIDB4ZjUsIDB4ODN9fSwKLSB7MHgwMjQ2LCA2NCwgeyAweGUwLCAweDEzLCAweDkyLCAweDBlLCAweGFmLCAweDNhLCAweDA1LCAweDNhLCAweGU1LCAweDFiLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDFhLCAweGY1LAotICAweDgzLCAweGUwLCAweGY1LCAweDM2LCAweGQyLCAweDBiLCAweDAyLCAweDAyLCAweGY3LCAweDc1LCAweDNhLCAweDAxLCAweGMyLCAweDE0LCAweDAyLCAweDAyLAotICAweGY3LCAweDMwLCAweDBjLCAweDAzLCAweDAyLCAweDAyLCAweGY1LCAweDMwLCAweDA5LCAweDAzLCAweDAyLCAweDAyLCAweGY1LCAweDkwLCAweDdmLCAweDliLAotICAweGUwLCAweDU1LCAweDM4LCAweDcwLCAweDc5LCAweDMwLCAweDEwLCAweDEyLCAweGFmLCAweDNhLCAweDA1LCAweDNhLCAweGU1LCAweDFiLCAweDJmfX0sCi0gezB4MDI4NiwgNjQsIHsgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxYSwgMHhmNSwgMHg4MywgMHhlMCwgMHgxMywgMHg5MiwgMHg5YiwgMHhhZiwgMHgzYSwgMHgwNSwgMHgzYSwgMHhlNSwgMHgxYiwKLSAgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxYSwgMHhmNSwgMHg4MywgMHhlMCwgMHhmNSwgMHg5OSwgMHhlNSwgMHgzYSwgMHhjMywgMHg5NSwgMHg1MywKLSAgMHg0MCwgMHgyMiwgMHgzMCwgMHgwMywgMHgwNywgMHg5MCwgMHg3ZiwgMHhjNywgMHhlNCwgMHhmMCwgMHg4MCwgMHgwNSwgMHg5MCwgMHg3ZiwgMHhjOSwgMHhlNCwKLSAgMHhmMCwgMHhlNSwgMHgxNywgMHgyNCwgMHhmZiwgMHg5MiwgMHgwMywgMHgzMCwgMHgwZCwgMHgzNiwgMHhjMiwgMHgwZCwgMHg5MCwgMHg3ZiwgMHhiYn19LAotIHsweDAyYzYsIDY0LCB7IDB4NzQsIDB4MDEsIDB4ZjAsIDB4ODAsIDB4MmMsIDB4MzAsIDB4MTAsIDB4MTIsIDB4YWYsIDB4M2EsIDB4MDUsIDB4M2EsIDB4ZTUsIDB4MWIsIDB4MmYsIDB4ZjUsIDB4ODIsCi0gIDB4ZTQsIDB4MzUsIDB4MWEsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MGUsIDB4YWYsIDB4M2EsIDB4MDUsIDB4M2EsIDB4ZTUsIDB4MWIsIDB4MmYsCi0gIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MWEsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZjUsIDB4MzYsIDB4ZDIsIDB4MGIsIDB4ODAsIDB4MDIsIDB4YzIsIDB4MTQsCi0gIDB4ZDIsIDB4MDEsIDB4MjAsIDB4OTgsIDB4MDMsIDB4MDIsIDB4MDQsIDB4MzUsIDB4YzIsIDB4OTgsIDB4MjAsIDB4MDIsIDB4MDMsIDB4MDIsIDB4MDN9fSwKLSB7MHgwMzA2LCA2NCwgeyAweGEyLCAweDIwLCAweDE1LCAweDI3LCAweGFmLCAweDM5LCAweDA1LCAweDM5LCAweDc0LCAweDgwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdlLCAweGY1LAotICAweDgzLCAweGU1LCAweDk5LCAweGYwLCAweDMwLCAweDEwLCAweDRkLCAweGFmLCAweDM5LCAweDA1LCAweDM5LCAweDc0LCAweDgwLCAweDJmLCAweGY1LCAweDgyLAotICAweGU0LCAweDM0LCAweDdlLCAweGY1LCAweDgzLCAweGU1LCAweDk4LCAweGYwLCAweDgwLCAweDNhLCAweDg1LCAweDk5LCAweDU1LCAweGU1LCAweDU1LCAweGI1LAotICAweDQ3LCAweDA0LCAweGQyLCAweDA5LCAweDgwLCAweDJlLCAweGU1LCAweDU1LCAweGI1LCAweDQ2LCAweDA0LCAweGMyLCAweDA5LCAweDgwLCAweDI1fX0sCi0gezB4MDM0NiwgNjQsIHsgMHhhZiwgMHgzOSwgMHgwNSwgMHgzOSwgMHg3NCwgMHg4MCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZSwgMHhmNSwgMHg4MywgMHhlNSwgMHg1NSwgMHhmMCwKLSAgMHgzMCwgMHgxMCwgMHgxMSwgMHhhZiwgMHgzOSwgMHgwNSwgMHgzOSwgMHg3NCwgMHg4MCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZSwgMHhmNSwKLSAgMHg4MywgMHhlNSwgMHg5OCwgMHhmMCwgMHhkMiwgMHgwZiwgMHhlNSwgMHgzOSwgMHhjMywgMHg5NSwgMHg0MywgMHg1MCwgMHgwMywgMHgwMiwgMHgwNCwgMHgzMywKLSAgMHg5MCwgMHg3ZiwgMHhiOCwgMHhlMCwgMHgzMCwgMHhlMSwgMHgxNiwgMHhlNSwgMHgzOSwgMHhjMywgMHg5NCwgMHg0MCwgMHg1MCwgMHgwMywgMHgwMn19LAotIHsweDAzODYsIDY0LCB7IDB4MDQsIDB4MzMsIDB4MTUsIDB4MzksIDB4MTUsIDB4MzksIDB4MDUsIDB4MmIsIDB4NDMsIDB4MzQsIDB4MDEsIDB4MDIsIDB4MDQsIDB4MzMsIDB4OTAsIDB4N2YsIDB4YjcsCi0gIDB4ZTUsIDB4MzksIDB4ZjAsIDB4NzUsIDB4MzksIDB4MDAsIDB4YzIsIDB4MDIsIDB4MDIsIDB4MDQsIDB4MzMsIDB4MjAsIDB4MTUsIDB4MjcsIDB4YWYsIDB4MzksCi0gIDB4MDUsIDB4MzksIDB4NzQsIDB4MDAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2UsIDB4ZjUsIDB4ODMsIDB4ZTUsIDB4OTksIDB4ZjAsIDB4MzAsCi0gIDB4MTAsIDB4NGQsIDB4YWYsIDB4MzksIDB4MDUsIDB4MzksIDB4NzQsIDB4MDAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2UsIDB4ZjV9fSwKLSB7MHgwM2M2LCA2NCwgeyAweDgzLCAweGU1LCAweDk4LCAweGYwLCAweDgwLCAweDNhLCAweDg1LCAweDk5LCAweDU1LCAweGU1LCAweDU1LCAweGI1LCAweDQ3LCAweDA0LCAweGQyLCAweDA5LCAweDgwLAotICAweDJlLCAweGU1LCAweDU1LCAweGI1LCAweDQ2LCAweDA0LCAweGMyLCAweDA5LCAweDgwLCAweDI1LCAweGFmLCAweDM5LCAweDA1LCAweDM5LCAweDc0LCAweDAwLAotICAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdlLCAweGY1LCAweDgzLCAweGU1LCAweDU1LCAweGYwLCAweDMwLCAweDEwLCAweDExLCAweGFmLCAweDM5LAotICAweDA1LCAweDM5LCAweDc0LCAweDAwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdlLCAweGY1LCAweDgzLCAweGU1LCAweDk4LCAweGYwfX0sCi0gezB4MDQwNiwgNjQsIHsgMHhkMiwgMHgwZiwgMHhlNSwgMHgzOSwgMHhjMywgMHg5NSwgMHg0MywgMHg0MCwgMHgyNCwgMHg5MCwgMHg3ZiwgMHhiNiwgMHhlMCwgMHgzMCwgMHhlMSwgMHgxMiwgMHhlNSwKLSAgMHgzOSwgMHhjMywgMHg5NCwgMHg0MCwgMHg0MCwgMHgxNiwgMHgxNSwgMHgzOSwgMHgxNSwgMHgzOSwgMHgwNSwgMHgyYiwgMHg0MywgMHgzNCwgMHgwMSwgMHg4MCwKLSAgMHgwYiwgMHg5MCwgMHg3ZiwgMHhiOSwgMHhlNSwgMHgzOSwgMHhmMCwgMHg3NSwgMHgzOSwgMHgwMCwgMHhkMiwgMHgwMiwgMHhkMiwgMHgwMSwgMHgzMCwgMHgwMSwKLSAgMHgwNSwgMHhjMiwgMHgwMSwgMHgwMiwgMHgwMCwgMHg1NiwgMHhkMCwgMHhkMCwgMHhkMCwgMHg4NiwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMH19LAotIHsweDA0NDYsIDY0LCB7IDB4ZTAsIDB4MzIsIDB4OTAsIDB4N2YsIDB4YmMsIDB4ZTAsIDB4MjAsIDB4ZTEsIDB4NTQsIDB4ZTUsIDB4MzQsIDB4NjAsIDB4NTAsIDB4ZTUsIDB4MzEsIDB4NzAsIDB4NGMsCi0gIDB4ZTUsIDB4MzQsIDB4MzAsIDB4ZTEsIDB4MGIsIDB4ZTQsIDB4ZjUsIDB4MmYsIDB4NzUsIDB4MzQsIDB4MDEsIDB4NzUsIDB4MzEsIDB4MDIsIDB4ODAsIDB4MGUsCi0gIDB4YTIsIDB4MDgsIDB4ZTQsIDB4MzMsIDB4ZjUsIDB4MmYsIDB4YzIsIDB4MDgsIDB4ZTQsIDB4ZjUsIDB4MzQsIDB4NzUsIDB4MzEsIDB4MTAsIDB4ZTQsIDB4ZjUsCi0gIDB4NTYsIDB4N2UsIDB4MDAsIDB4N2IsIDB4MDAsIDB4NzQsIDB4MjQsIDB4MjUsIDB4NTYsIDB4ZjksIDB4ZWUsIDB4MzQsIDB4MDAsIDB4ZmEsIDB4MTJ9fSwKLSB7MHgwNDg2LCA2NCwgeyAweDBjLCAweDc5LCAweGZmLCAweDc0LCAweDAwLCAweDI1LCAweDU2LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdkLCAweGY1LCAweDgzLCAweGVmLCAweGYwLCAweDA1LAotICAweDU2LCAweGU1LCAweDU2LCAweGI0LCAweDBjLCAweGRiLCAweDkwLCAweDdmLCAweGJkLCAweDc0LCAweDBjLCAweGYwLCAweDkwLCAweDdmLCAweGNhLCAweGUwLAotICAweDMwLCAweGUxLCAweDAzLCAweDAyLCAweDA1LCAweGQxLCAweGU0LCAweGY1LCAweDU2LCAweDc0LCAweDQwLCAweDI1LCAweDU2LCAweGY1LCAweDgyLCAweGU0LAotICAweDM0LCAweDdkLCAweGY1LCAweDgzLCAweGUwLCAweGZmLCAweGU1LCAweDU2LCAweDdjLCAweDAwLCAweDdiLCAweDAwLCAweDI0LCAweDNiLCAweGY5fX0sCi0gezB4MDRjNiwgNjQsIHsgMHhlYywgMHgzNCwgMHgwMCwgMHhmYSwgMHhlZiwgMHgxMiwgMHgwYywgMHg5MiwgMHgwNSwgMHg1NiwgMHhlNSwgMHg1NiwgMHhiNCwgMHgxOCwgMHhkYiwgMHhlNSwgMHgzYiwKLSAgMHg2MCwgMHgxMSwgMHg3NSwgMHhjOSwgMHgyMCwgMHg3NSwgMHhjOCwgMHgzNiwgMHg4NSwgMHgzYywgMHhjYSwgMHg4NSwgMHgzZCwgMHhjYiwgMHhlNCwgMHg5MCwKLSAgMHg3ZiwgMHg5ZiwgMHhmMCwgMHhlNSwgMHgzZSwgMHgxMywgMHg5MiwgMHgxMCwgMHg5MiwgMHg5ZiwgMHg4NSwgMHgzZiwgMHgzOCwgMHhlNSwgMHg0MCwgMHgxMywKLSAgMHg5MiwgMHgxNSwgMHhlNSwgMHg0MSwgMHg2MCwgMHgwOSwgMHg5MCwgMHg3ZiwgMHg5OCwgMHhlMCwgMHg1NCwgMHhmYiwgMHhmMCwgMHg4MCwgMHgwN319LAotIHsweDA1MDYsIDY0LCB7IDB4OTAsIDB4N2YsIDB4OTgsIDB4ZTAsIDB4NDQsIDB4MDQsIDB4ZjAsIDB4ZTUsIDB4NDIsIDB4NjAsIDB4MDksIDB4OTAsIDB4N2YsIDB4OTgsIDB4ZTAsIDB4NTQsIDB4N2YsCi0gIDB4ZjAsIDB4ODAsIDB4MDcsIDB4OTAsIDB4N2YsIDB4OTgsIDB4ZTAsIDB4NDQsIDB4ODAsIDB4ZjAsIDB4ZTUsIDB4NDgsIDB4NjAsIDB4MGIsIDB4YzIsIDB4MGMsCi0gIDB4YzIsIDB4MDksIDB4OTAsIDB4N2YsIDB4OTUsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4ZTUsIDB4NDksIDB4NjAsIDB4MGMsIDB4ZDIsIDB4MDksIDB4NDMsCi0gIDB4MzQsIDB4MDEsIDB4OTAsIDB4N2YsIDB4OTUsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4ZTUsIDB4NGEsIDB4NjAsIDB4MGQsIDB4YzIsIDB4YWZ9fSwKLSB7MHgwNTQ2LCA2NCwgeyAweGMyLCAweDBiLCAweGQyLCAweDAwLCAweGU0LCAweGY1LCAweDUzLCAweGY1LCAweDNhLCAweGQyLCAweGFmLCAweGU1LCAweDRiLCAweDYwLCAweDA1LCAweDMwLCAweDE1LAotICAweDAyLCAweGQyLCAweDA5LCAweGU1LCAweDRjLCAweDYwLCAweDE1LCAweDkwLCAweDdmLCAweDk1LCAweGUwLCAweDU0LCAweGZkLCAweGYwLCAweDkwLCAweDdmLAotICAweDllLCAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweGUwLCAweDU0LCAweGZkLCAweGYwLCAweGU1LCAweDRkLCAweDYwLCAweDBhLAotICAweGQyLCAweDljLCAweGMyLCAweDk4LCAweDc1LCAweDJjLCAweDAxLCAweDc1LCAweDMxLCAweDFlLCAweGU1LCAweDRlLCAweDYwLCAweDA3LCAweGMyfX0sCi0gezB4MDU4NiwgNjQsIHsgMHg5YywgMHhlNCwgMHhmNSwgMHgzOSwgMHhmNSwgMHgyYywgMHhlNSwgMHg0ZiwgMHg2MCwgMHgwMywgMHhlNCwgMHhmNSwgMHgzOSwgMHhlNSwgMHg1MCwgMHg2MCwgMHgwMiwKLSAgMHhkMiwgMHgwNywgMHhlNSwgMHg1MSwgMHg2MCwgMHgwYSwgMHhlNSwgMHg0ZCwgMHg3MCwgMHgwMiwgMHhmNSwgMHgzMSwgMHhlNSwgMHg1MSwgMHg0MiwgMHgzNCwKLSAgMHhlNSwgMHg1MiwgMHg2MCwgMHgxZiwgMHg5MCwgMHg3ZiwgMHhkNywgMHg3NCwgMHgxMSwgMHhmMCwgMHg3NCwgMHgzMSwgMHhmMCwgMHg3NCwgMHgxMiwgMHhmMCwKLSAgMHg3NCwgMHgzMiwgMHhmMCwgMHg3NCwgMHgxMywgMHhmMCwgMHg3NCwgMHgzMywgMHhmMCwgMHg3NCwgMHgxNCwgMHhmMCwgMHg3NCwgMHgzNCwgMHhmMH19LAotIHsweDA1YzYsIDY0LCB7IDB4ZDIsIDB4MDMsIDB4ZDIsIDB4MDIsIDB4ZDIsIDB4MDgsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4Y2IsIDB4ZjAsIDB4YTIsIDB4MGMsIDB4ZTQsIDB4MzMsIDB4ZmYsIDB4NjUsCi0gIDB4MjksIDB4NjAsIDB4MDUsIDB4OGYsIDB4MjksIDB4NDMsIDB4MzQsIDB4MDEsIDB4YTIsIDB4MDksIDB4ZTQsIDB4MzMsIDB4ZmYsIDB4NjUsIDB4MmEsIDB4NjAsCi0gIDB4MDUsIDB4OGYsIDB4MmEsIDB4NDMsIDB4MzQsIDB4MDEsIDB4OTAsIDB4N2YsIDB4OWIsIDB4ZTAsIDB4ZmYsIDB4NTQsIDB4MDgsIDB4NjQsIDB4MDgsIDB4ZjUsCi0gIDB4NTcsIDB4NjUsIDB4MjUsIDB4NjAsIDB4MDYsIDB4ODUsIDB4NTcsIDB4MjUsIDB4NDMsIDB4MzQsIDB4MDEsIDB4ZWYsIDB4NTQsIDB4MTAsIDB4NjR9fSwKLSB7MHgwNjA2LCA2NCwgeyAweDEwLCAweGY1LCAweDU3LCAweDY1LCAweDI2LCAweDYwLCAweDA2LCAweDg1LCAweDU3LCAweDI2LCAweDQzLCAweDM0LCAweDAxLCAweGVmLCAweDU0LCAweDQwLCAweDY0LAotICAweDQwLCAweGY1LCAweDU3LCAweDY1LCAweDI3LCAweDYwLCAweDA2LCAweDg1LCAweDU3LCAweDI3LCAweDQzLCAweDM0LCAweDAxLCAweGVmLCAweDU0LCAweDIwLAotICAweDY0LCAweDIwLCAweGY1LCAweDU3LCAweDY1LCAweDI4LCAweDYwLCAweDA2LCAweDg1LCAweDU3LCAweDI4LCAweDQzLCAweDM0LCAweDAxLCAweDkwLCAweDdmLAotICAweDlhLCAweGUwLCAweDU0LCAweDQwLCAweDY0LCAweDQwLCAweGY1LCAweDU3LCAweDY1LCAweDJlLCAweDYwLCAweDA2LCAweDg1LCAweDU3LCAweDJlfX0sCi0gezB4MDY0NiwgNjQsIHsgMHg0MywgMHgzNCwgMHgwMSwgMHgzMCwgMHgwNywgMHgzNSwgMHhjMiwgMHhhZiwgMHgzMCwgMHgwMiwgMHgxOCwgMHg5MCwgMHg3ZiwgMHhiOCwgMHhlMCwgMHgyMCwgMHhlMSwKLSAgMHgyNywgMHhlNSwgMHgzOSwgMHg2MCwgMHgwOSwgMHg5MCwgMHg3ZiwgMHhiNywgMHhmMCwgMHhlNCwgMHhmNSwgMHgzOSwgMHhjMiwgMHgwMiwgMHhjMiwgMHgwNywKLSAgMHg4MCwgMHgxNiwgMHg5MCwgMHg3ZiwgMHhiNiwgMHhlMCwgMHgyMCwgMHhlMSwgMHgwZiwgMHhlNSwgMHgzOSwgMHg2MCwgMHgwOSwgMHg5MCwgMHg3ZiwgMHhiOSwKLSAgMHhmMCwgMHhlNCwgMHhmNSwgMHgzOSwgMHhkMiwgMHgwMiwgMHhjMiwgMHgwNywgMHhkMiwgMHhhZiwgMHgyMCwgMHgwNSwgMHgzZCwgMHgzMCwgMHgwM319LAotIHsweDA2ODYsIDY0LCB7IDB4MWUsIDB4OTAsIDB4N2YsIDB4YzYsIDB4ZTAsIDB4MjAsIDB4ZTEsIDB4MzMsIDB4OTAsIDB4N2UsIDB4NDAsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MGQsIDB4NzUsIDB4M2EsCi0gIDB4MDEsIDB4OTAsIDB4N2YsIDB4YzcsIDB4ZTAsIDB4ZjUsIDB4NTMsIDB4ZDIsIDB4MDUsIDB4NzUsIDB4MTIsIDB4ZmYsIDB4ODAsIDB4MWMsIDB4OTAsIDB4N2YsCi0gIDB4YzgsIDB4ZTAsIDB4MjAsIDB4ZTEsIDB4MTUsIDB4OTAsIDB4N2QsIDB4YzAsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MGQsIDB4NzUsIDB4M2EsIDB4MDEsIDB4OTAsCi0gIDB4N2YsIDB4YzksIDB4ZTAsIDB4ZjUsIDB4NTMsIDB4ZDIsIDB4MDUsIDB4NzUsIDB4MTIsIDB4ZmYsIDB4MjAsIDB4MTQsIDB4MzMsIDB4MjAsIDB4MDB9fSwKLSB7MHgwNmM2LCA2NCwgeyAweDA2LCAweGU1LCAweDNhLCAweDY1LCAweDUzLCAweDcwLCAweDJhLCAweDMwLCAweDA1LCAweDFhLCAweDMwLCAweDAzLCAweDA5LCAweGU0LCAweDkwLCAweDdmLCAweGM3LAotICAweGYwLCAweGMyLCAweDAzLCAweDgwLCAweDA3LCAweGU0LCAweDkwLCAweDdmLCAweGM5LCAweGYwLCAweGQyLCAweDAzLCAweGMyLCAweDA1LCAweGU0LCAweGY1LAotICAweDUzLCAweGY1LCAweDNhLCAweDMwLCAweDBkLCAweDBhLCAweGMyLCAweDBkLCAweGMyLCAweDAwLCAweDkwLCAweDdmLCAweGJiLCAweDc0LCAweDAxLCAweGYwLAotICAweDMwLCAweDE0LCAweDAzLCAweDAyLCAweDA3LCAweGJmLCAweDIwLCAweDA1LCAweDAzLCAweDAyLCAweDA3LCAweGJmLCAweDMwLCAweDBjLCAweDAzfX0sCi0gezB4MDcwNiwgNjQsIHsgMHgwMiwgMHgwNywgMHhiZiwgMHgzMCwgMHgwOSwgMHgwMywgMHgwMiwgMHgwNywgMHhiZiwgMHg5MCwgMHg3ZiwgMHg5YiwgMHhlMCwgMHg1NSwgMHgzOCwgMHg2MCwgMHgwMywKLSAgMHgwMiwgMHgwNywgMHhiZiwgMHgzMCwgMHgwMywgMHgwYywgMHg3ZSwgMHg3ZSwgMHg3ZiwgMHg0MCwgMHg3NSwgMHg1OCwgMHg3ZSwgMHg3NSwgMHg1OSwgMHg0MCwKLSAgMHg4MCwgMHgwYSwgMHg3ZSwgMHg3ZCwgMHg3ZiwgMHhjMCwgMHg3NSwgMHg1OCwgMHg3ZCwgMHg3NSwgMHg1OSwgMHhjMCwgMHgzMCwgMHgxMCwgMHgxMiwgMHhhZiwKLSAgMHgzYSwgMHgwNSwgMHgzYSwgMHhlNSwgMHg1OSwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHg1OCwgMHhmNSwgMHg4MywgMHhlMCwgMHgxM319LAotIHsweDA3NDYsIDY0LCB7IDB4OTIsIDB4MWEsIDB4YWYsIDB4M2EsIDB4MDUsIDB4M2EsIDB4ZTUsIDB4NTksIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4NTgsIDB4ZjUsIDB4ODMsIDB4ZTAsCi0gIDB4ZjUsIDB4NTcsIDB4ZTUsIDB4M2EsIDB4YzMsIDB4OTUsIDB4NTMsIDB4NTAsIDB4MmEsIDB4MzAsIDB4MTAsIDB4MTIsIDB4YWYsIDB4M2EsIDB4MDUsIDB4M2EsCi0gIDB4ZTUsIDB4NTksIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4NTgsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MGUsIDB4YWYsIDB4M2EsCi0gIDB4MDUsIDB4M2EsIDB4ZTUsIDB4NTksIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4NTgsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZjUsIDB4MzZ9fSwKLSB7MHgwNzg2LCA2NCwgeyAweGQyLCAweDBiLCAweDgwLCAweDE1LCAweGMyLCAweDBiLCAweDMwLCAweDAzLCAweDA5LCAweGU0LCAweDkwLCAweDdmLCAweGM3LCAweGYwLCAweGMyLCAweDAzLCAweDgwLAotICAweDA3LCAweGU0LCAweDkwLCAweDdmLCAweGM5LCAweGYwLCAweGQyLCAweDAzLCAweDMwLCAweDEwLCAweDA0LCAweGEyLCAweDFhLCAweDkyLCAweDliLCAweGQyLAotICAweDE0LCAweGMyLCAweGFmLCAweDg1LCAweDU3LCAweDk5LCAweDIwLCAweDBiLCAweDBkLCAweDMwLCAweDBkLCAweDBhLCAweGMyLCAweDBkLCAweGMyLCAweDAwLAotICAweDkwLCAweDdmLCAweGJiLCAweDc0LCAweDAxLCAweGYwLCAweGQyLCAweGFmLCAweDIyLCAweDkwLCAweDdmLCAweGU5LCAweGUwLCAweDEyLCAweDBjfX0sCi0gezB4MDdjNiwgNjQsIHsgMHhhNCwgMHgwOSwgMHgxYywgMHgwMCwgMHgwOSwgMHg4OSwgMHgwMSwgMHgwOSwgMHhlNiwgMHgwMywgMHgwNywgMHhlMywgMHgwNiwgMHgwOSwgMHgwZCwgMHgwOCwgMHgwOSwKLSAgMHgwMSwgMHgwOSwgMHgwOCwgMHhlOSwgMHgwYSwgMHgwOCwgMHhmOCwgMHgwYiwgMHgwMCwgMHgwMCwgMHgwYSwgMHgyNCwgMHg5MCwgMHg3ZiwgMHhlYiwgMHhlMCwKLSAgMHgyNCwgMHhmZSwgMHg2MCwgMHgxYywgMHgxNCwgMHg3MCwgMHgwMywgMHgwMiwgMHgwOCwgMHg3OSwgMHgyNCwgMHgwMiwgMHg2MCwgMHgwMywgMHgwMiwgMHgwYSwKLSAgMHgyNCwgMHg3NCwgMHgwZCwgMHg5MCwgMHg3ZiwgMHhkNCwgMHhmMCwgMHg3NCwgMHg4NywgMHg5MCwgMHg3ZiwgMHhkNSwgMHhmMCwgMHgwMiwgMHgwYX19LAotIHsweDA4MDYsIDY0LCB7IDB4MmIsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4YjQsIDB4MDEsIDB4MDQsIDB4N2YsIDB4MDIsIDB4ODAsIDB4MDIsIDB4N2YsIDB4MDMsIDB4NzUsIDB4ODIsIDB4ZDgsCi0gIDB4NzUsIDB4ODMsIDB4MGQsIDB4ZWYsIDB4ZjAsIDB4NzUsIDB4ODIsIDB4ZDEsIDB4NzUsIDB4ODMsIDB4MGQsIDB4ZjAsIDB4NzUsIDB4ODIsIDB4Y2EsIDB4NzUsCi0gIDB4ODMsIDB4MGQsIDB4ZjAsIDB4NzUsIDB4ODIsIDB4YzMsIDB4NzUsIDB4ODMsIDB4MGQsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4MDQsIDB4NzUsCi0gIDB4ODIsIDB4OWUsIDB4NzUsIDB4ODMsIDB4MGQsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZWYsIDB4ZTAsIDB4ZmUsIDB4OTAsIDB4N2YsIDB4ZWUsIDB4ZTB9fSwKLSB7MHgwODQ2LCA2NCwgeyAweDdjLCAweDAwLCAweDI0LCAweDAwLCAweGY1LCAweDVhLCAweGVjLCAweDNlLCAweGY1LCAweDU5LCAweDc1LCAweDE1LCAweDBkLCAweDc1LCAweDE2LCAweDk5LCAweDc1LAotICAweDgyLCAweDliLCAweDc1LCAweDgzLCAweDBkLCAweGUwLCAweDc1LCAweDEzLCAweDAwLCAweGY1LCAweDE0LCAweGQzLCAweGU1LCAweDE0LCAweDk1LCAweDVhLAotICAweGU1LCAweDEzLCAweDk1LCAweDU5LCAweDQwLCAweDA2LCAweDg1LCAweDU5LCAweDEzLCAweDg1LCAweDVhLCAweDE0LCAweDEyLCAweDBiLCAweGJhLCAweDAyLAotICAweDBhLCAweDJiLCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweDcwLCAweDBiLCAweDc1LCAweDU2LCAweGZmLCAweDc1LCAweDU3LCAweDBkLCAweDc1fX0sCi0gezB4MDg4NiwgNjQsIHsgMHg1OCwgMHhkYywgMHg4MCwgMHgyZCwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHhiNCwgMHgwMSwgMHgwYiwgMHg3NSwgMHg1NiwgMHhmZiwgMHg3NSwgMHg1NywgMHgwZCwKLSAgMHg3NSwgMHg1OCwgMHhlMCwgMHg4MCwgMHgxYiwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHhiNCwgMHgwMiwgMHgwYiwgMHg3NSwgMHg1NiwgMHhmZiwgMHg3NSwKLSAgMHg1NywgMHgwZCwgMHg3NSwgMHg1OCwgMHhmMCwgMHg4MCwgMHgwOSwgMHg3NSwgMHg1NiwgMHhmZiwgMHg3NSwgMHg1NywgMHgwZSwgMHg3NSwgMHg1OCwgMHgxZSwKLSAgMHg5MCwgMHg3ZiwgMHhlZSwgMHhlMCwgMHg3NSwgMHg1OSwgMHgwMCwgMHhmNSwgMHg1YSwgMHhhZSwgMHg1NywgMHhhZiwgMHg1OCwgMHg4ZSwgMHgxNX19LAotIHsweDA4YzYsIDY0LCB7IDB4OGYsIDB4MTYsIDB4OGYsIDB4ODIsIDB4OGUsIDB4ODMsIDB4ZTAsIDB4ZmUsIDB4YTMsIDB4ZTAsIDB4OGUsIDB4MTMsIDB4ZjUsIDB4MTQsIDB4ZDMsIDB4OTUsIDB4NWEsCi0gIDB4ZTUsIDB4MTMsIDB4OTUsIDB4NTksIDB4NDAsIDB4MDYsIDB4ODUsIDB4NTksIDB4MTMsIDB4ODUsIDB4NWEsIDB4MTQsIDB4MTIsIDB4MGIsIDB4YmEsIDB4MDIsCi0gIDB4MGEsIDB4MmIsIDB4OTAsIDB4N2YsIDB4MDAsIDB4ZTUsIDB4MTEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4MDIsIDB4MGEsCi0gIDB4MmIsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4ZjUsIDB4MTEsIDB4MDIsIDB4MGEsIDB4MmIsIDB4MTIsIDB4MGMsIDB4MjQsIDB4OTAsIDB4N2Z9fSwKLSB7MHgwOTA2LCA2NCwgeyAweGVhLCAweGUwLCAweGY1LCAweDEwLCAweDAyLCAweDBhLCAweDJiLCAweDkwLCAweDdmLCAweDAwLCAweGU1LCAweDEwLCAweGYwLCAweDkwLCAweDdmLCAweGI1LCAweDc0LAotICAweDAxLCAweGYwLCAweDAyLCAweDBhLCAweDJiLCAweDkwLCAweDdmLCAweGU4LCAweGUwLCAweDI0LCAweDdmLCAweDYwLCAweDI3LCAweDE0LCAweDYwLCAweDM0LAotICAweDI0LCAweDAyLCAweDYwLCAweDAzLCAweDAyLCAweDBhLCAweDI0LCAweGEyLCAweDE2LCAweGU0LCAweDMzLCAweGZmLCAweDI1LCAweGUwLCAweGZmLCAweGEyLAotICAweDE4LCAweGU0LCAweDMzLCAweDRmLCAweDkwLCAweDdmLCAweDAwLCAweGYwLCAweGU0LCAweGEzLCAweGYwLCAweDkwLCAweDdmLCAweGI1LCAweDc0fX0sCi0gezB4MDk0NiwgNjQsIHsgMHgwMiwgMHhmMCwgMHgwMiwgMHgwYSwgMHgyYiwgMHhlNCwgMHg5MCwgMHg3ZiwgMHgwMCwgMHhmMCwgMHhhMywgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHg3NCwgMHgwMiwKLSAgMHhmMCwgMHgwMiwgMHgwYSwgMHgyYiwgMHg5MCwgMHg3ZiwgMHhlYywgMHhlMCwgMHhmNCwgMHg1NCwgMHg4MCwgMHhmZiwgMHhjNCwgMHg1NCwgMHgwZiwgMHhmZiwKLSAgMHhlMCwgMHg1NCwgMHgwNywgMHgyZiwgMHgyNSwgMHhlMCwgMHgyNCwgMHhiNCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZiwgMHhmNSwgMHg4MywgMHhlMCwKLSAgMHg1NCwgMHhmZCwgMHg5MCwgMHg3ZiwgMHgwMCwgMHhmMCwgMHhlNCwgMHhhMywgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHg3NCwgMHgwMiwgMHhmMH19LAotIHsweDA5ODYsIDY0LCB7IDB4MDIsIDB4MGEsIDB4MmIsIDB4OTAsIDB4N2YsIDB4ZTgsIDB4ZTAsIDB4MjQsIDB4ZmUsIDB4NjAsIDB4MTcsIDB4MjQsIDB4MDIsIDB4NjAsIDB4MDMsIDB4MDIsIDB4MGEsCi0gIDB4MmIsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4NjQsIDB4MDEsIDB4NjAsIDB4MDMsIDB4MDIsIDB4MGEsIDB4MjQsIDB4YzIsIDB4MTYsIDB4MDIsIDB4MGEsCi0gIDB4MmIsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4NzAsIDB4NzYsIDB4OTAsIDB4N2YsIDB4ZWMsIDB4ZTAsIDB4ZjQsIDB4NTQsIDB4ODAsIDB4ZmYsIDB4YzQsCi0gIDB4NTQsIDB4MGYsIDB4ZmYsIDB4ZTAsIDB4NTQsIDB4MDcsIDB4MmYsIDB4MjUsIDB4ZTAsIDB4MjQsIDB4YjQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzR9fSwKLSB7MHgwOWM2LCA2NCwgeyAweDdmLCAweGY1LCAweDgzLCAweGU0LCAweGYwLCAweDkwLCAweDdmLCAweGVjLCAweGUwLCAweDU0LCAweDgwLCAweGZmLCAweDEzLCAweDEzLCAweDEzLCAweDU0LCAweDFmLAotICAweGZmLCAweGUwLCAweDU0LCAweDA3LCAweDJmLCAweDkwLCAweDdmLCAweGQ3LCAweGYwLCAweGUwLCAweDQ0LCAweDIwLCAweGYwLCAweDgwLCAweDQ1LCAweDkwLAotICAweDdmLCAweGU4LCAweGUwLCAweDI0LCAweGZlLCAweDYwLCAweDEwLCAweDI0LCAweDAyLCAweDcwLCAweDM5LCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweDY0LAotICAweDAxLCAweDcwLCAweDJhLCAweGQyLCAweDE2LCAweDgwLCAweDJkLCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweDcwLCAweDIwLCAweDkwLCAweDdmfX0sCi0gezB4MGEwNiwgNjQsIHsgMHhlYywgMHhlMCwgMHhmNCwgMHg1NCwgMHg4MCwgMHhmZiwgMHhjNCwgMHg1NCwgMHgwZiwgMHhmZiwgMHhlMCwgMHg1NCwgMHgwNywgMHgyZiwgMHgyNSwgMHhlMCwgMHgyNCwKLSAgMHhiNCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZiwgMHhmNSwgMHg4MywgMHg3NCwgMHgwMSwgMHhmMCwgMHg4MCwgMHgwNywgMHg5MCwgMHg3ZiwgMHhiNCwKLSAgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHgyMiwgMHhjMiwgMHgxMCwgMHhlNCwgMHhmNSwKLSAgMHgxMCwgMHhmNSwgMHgzNCwgMHhjMiwgMHgwOSwgMHhjMiwgMHgwYywgMHhjMiwgMHgwYiwgMHhjMiwgMHgxNCwgMHhjMiwgMHgwZCwgMHhjMiwgMHgxNX19LAotIHsweDBhNDYsIDY0LCB7IDB4YzIsIDB4MTEsIDB4YzIsIDB4MDcsIDB4YzIsIDB4MTIsIDB4YzIsIDB4MGYsIDB4YzIsIDB4MDgsIDB4ZjUsIDB4MzUsIDB4ZjUsIDB4MzksIDB4ZjUsIDB4NTMsIDB4ZjUsCi0gIDB4M2EsIDB4ZjUsIDB4MzMsIDB4ZjUsIDB4MzAsIDB4ZjUsIDB4MmYsIDB4ZjUsIDB4MmUsIDB4ZjUsIDB4MmQsIDB4ZjUsIDB4MmMsIDB4ZjUsIDB4MmIsIDB4ZjUsCi0gIDB4MmEsIDB4ZjUsIDB4MjksIDB4ZjUsIDB4MjgsIDB4ZjUsIDB4MjcsIDB4ZjUsIDB4MjYsIDB4ZjUsIDB4MjUsIDB4ZjUsIDB4MjQsIDB4YzIsIDB4MDUsIDB4YzIsCi0gIDB4MTcsIDB4YzIsIDB4MTksIDB4YzIsIDB4MTYsIDB4YzIsIDB4MTgsIDB4YzIsIDB4MDQsIDB4ZDIsIDB4MTMsIDB4YzIsIDB4MDYsIDB4YzIsIDB4MDF9fSwKLSB7MHgwYTg2LCA2NCwgeyAweDkwLCAweDdmLCAweDkyLCAweGUwLCAweDU0LCAweGZkLCAweGYwLCAweGQyLCAweGU4LCAweDQzLCAweGQ4LCAweDIwLCAweDkwLCAweDdmLCAweGRlLCAweDc0LCAweDAxLAotICAweGYwLCAweDkwLCAweDdmLCAweGRmLCAweGYwLCAweDkwLCAweDdmLCAweGFiLCAweDc0LCAweGZmLCAweGYwLCAweDkwLCAweDdmLCAweGE5LCAweGYwLCAweDkwLAotICAweDdmLCAweGFhLCAweGYwLCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGFmLCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGFlLAotICAweGUwLCAweDQ0LCAweDBmLCAweGYwLCAweDkwLCAweDdmLCAweGFjLCAweDc0LCAweDBlLCAweGYwLCAweGQyLCAweGFmLCAweGQyLCAweGJjLCAweGQyfX0sCi0gezB4MGFjNiwgNjQsIHsgMHgxYSwgMHgxMiwgMHgwZiwgMHg3ZCwgMHhjMiwgMHgxNywgMHgzMCwgMHgwNCwgMHgwMywgMHgxMiwgMHgwNCwgMHg0OCwgMHgzMCwgMHgwNCwgMHgyYSwgMHgzMCwgMHgwNiwKLSAgMHgyNywgMHhjMiwgMHgwNiwgMHhlNSwgMHgxMiwgMHg2MCwgMHgxNiwgMHgxNSwgMHgxMiwgMHg5MCwgMHg3ZiwgMHhkOCwgMHhlMCwgMHgzMCwgMHhlNiwgMHgwNCwKLSAgMHg3ZiwgMHgwMCwgMHg4MCwgMHgwMiwgMHg3ZiwgMHgyMCwgMHg5MCwgMHg3ZiwgMHg5NiwgMHhlZiwgMHhmMCwgMHg4MCwgMHgwNiwgMHg5MCwgMHg3ZiwgMHg5NiwKLSAgMHg3NCwgMHgyMCwgMHhmMCwgMHgxMiwgMHgwYiwgMHgxNCwgMHg4MCwgMHhjZCwgMHgzMCwgMHgxNywgMHgwNywgMHhjMiwgMHgxNywgMHgxMiwgMHgwN319LAotIHsweDBiMDYsIDY0LCB7IDB4YzAsIDB4ODAsIDB4YzMsIDB4MzAsIDB4MTksIDB4YzAsIDB4YzIsIDB4MTksIDB4MTIsIDB4MGUsIDB4ZGMsIDB4ODAsIDB4YjksIDB4MjIsIDB4ZTUsIDB4MzEsIDB4NjAsCi0gIDB4MDIsIDB4MTUsIDB4MzEsIDB4ZTUsIDB4MzksIDB4NjAsIDB4NTUsIDB4NjUsIDB4MzUsIDB4NzAsIDB4NGIsIDB4ZTUsIDB4MzMsIDB4ZjQsIDB4NjAsIDB4MDIsCi0gIDB4MDUsIDB4MzMsIDB4ZTUsIDB4MzMsIDB4YzMsIDB4OTUsIDB4NDQsIDB4NDAsIDB4NDMsIDB4YzIsIDB4YWYsIDB4MzAsIDB4MDIsIDB4MWIsIDB4OTAsIDB4N2YsCi0gIDB4YjgsIDB4ZTAsIDB4MjAsIDB4ZTEsIDB4MmQsIDB4OTAsIDB4N2YsIDB4YjcsIDB4ZTUsIDB4MzksIDB4ZjAsIDB4YzIsIDB4MDIsIDB4ZTQsIDB4ZjV9fSwKLSB7MHgwYjQ2LCA2NCwgeyAweDM5LCAweGY1LCAweDMzLCAweGY1LCAweDM1LCAweDc1LCAweDEyLCAweGZmLCAweDgwLCAweDE5LCAweDkwLCAweDdmLCAweGI2LCAweGUwLCAweDIwLCAweGUxLCAweDEyLAotICAweDkwLCAweDdmLCAweGI5LCAweGU1LCAweDM5LCAweGYwLCAweGQyLCAweDAyLCAweGU0LCAweGY1LCAweDM5LCAweGY1LCAweDMzLCAweGY1LCAweDM1LCAweDc1LAotICAweDEyLCAweGZmLCAweGQyLCAweGFmLCAweDgwLCAweDA2LCAweDg1LCAweDM5LCAweDM1LCAweGU0LCAweGY1LCAweDMzLCAweGU1LCAweDJjLCAweDYwLCAweDMwLAotICAweDIwLCAweDBmLCAweDA3LCAweDkwLCAweDdmLCAweDliLCAweGUwLCAweDMwLCAweGUwLCAweDBmLCAweGU1LCAweDJkLCAweDYwLCAweDA2LCAweGU0fX0sCi0gezB4MGI4NiwgNjQsIHsgMHhmNSwgMHgyZCwgMHg0MywgMHgzNCwgMHgwMSwgMHhlNCwgMHhmNSwgMHgzMCwgMHg4MCwgMHgxNCwgMHhlNSwgMHgzMCwgMHhkMywgMHg5NSwgMHg0NSwgMHg1MCwgMHgwZCwKLSAgMHhlNSwgMHgzMCwgMHhiNSwgMHg0NSwgMHgwNiwgMHg3NSwgMHgyZCwgMHgwMSwgMHg0MywgMHgzNCwgMHgwMSwgMHgwNSwgMHgzMCwgMHhjMiwgMHgwZiwgMHgyMiwKLSAgMHg5MCwgMHg3ZiwgMHhkOSwgMHhlMCwgMHgzMCwgMHhlMiwgMHgwNCwgMHg3ZiwgMHgwMCwgMHg4MCwgMHgwMiwgMHg3ZiwgMHgyMCwgMHg5MCwgMHg3ZiwgMHg5NiwKLSAgMHhlZiwgMHhmMCwgMHgyMiwgMHhlNSwgMHgxNCwgMHg0NSwgMHgxMywgMHg2MCwgMHg1NywgMHhhZSwgMHgxMywgMHhhZiwgMHgxNCwgMHhkMywgMHhlZn19LAotIHsweDBiYzYsIDY0LCB7IDB4OTQsIDB4NDAsIDB4ZWUsIDB4OTQsIDB4MDAsIDB4NDAsIDB4MDQsIDB4N2UsIDB4MDAsIDB4N2YsIDB4NDAsIDB4YzMsIDB4ZTUsIDB4MTQsIDB4OWYsIDB4ZjUsIDB4MTQsCi0gIDB4ZTUsIDB4MTMsIDB4OWUsIDB4ZjUsIDB4MTMsIDB4ZTQsIDB4ZmQsIDB4ZWQsIDB4YzMsIDB4OWYsIDB4ZTQsIDB4OWUsIDB4NTAsIDB4MWYsIDB4ODUsIDB4MTYsCi0gIDB4ODIsIDB4ODUsIDB4MTUsIDB4ODMsIDB4ZTAsIDB4ZmMsIDB4NzQsIDB4MDAsIDB4MmQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2YsIDB4ZjUsIDB4ODMsCi0gIDB4ZWMsIDB4ZjAsIDB4MGQsIDB4MDUsIDB4MTYsIDB4ZTUsIDB4MTYsIDB4NzAsIDB4MDIsIDB4MDUsIDB4MTUsIDB4ODAsIDB4ZGEsIDB4OTAsIDB4N2Z9fSwKLSB7MHgwYzA2LCA2NCwgeyAweGE5LCAweDc0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGFjLCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGI1LCAweGVmLCAweGYwLCAweDIyLAotICAweDkwLCAweDdmLCAweGFjLCAweGUwLCAweDU0LCAweGZlLCAweGYwLCAweGU0LCAweDkwLCAweDdmLCAweGI1LCAweGYwLCAweDIyLCAweGU0LCAweDkwLCAweDdmLAotICAweDkzLCAweGYwLCAweDkwLCAweDdmLCAweDljLCAweDc0LCAweDMwLCAweGYwLCAweDkwLCAweDdmLCAweDk2LCAweDc0LCAweDIwLCAweGYwLCAweDkwLCAweDdmLAotICAweDk0LCAweDc0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweDlkLCAweDc0LCAweGZmLCAweGYwLCAweDkwLCAweDdmLCAweDk3LCAweDc0LCAweDg2fX0sCi0gezB4MGM0NiwgNjQsIHsgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5NSwgMHg3NCwgMHgwMywgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5ZSwgMHg3NCwgMHg4NCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHhmMCwKLSAgMHhlNCwgMHg5MCwgMHg3ZiwgMHhjNywgMHhmMCwgMHg5MCwgMHg3ZiwgMHhjOSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhjYiwgMHhmMCwgMHg3NSwgMHg5OCwgMHg0MCwKLSAgMHg0MywgMHhhOCwgMHgxMCwgMHg5MCwgMHg3ZiwgMHhkZSwgMHg3NCwgMHgxZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhkZiwgMHg3NCwgMHgwZiwgMHhmMCwgMHhkMiwKLSAgMHgwNCwgMHgyMiwgMHhiYiwgMHgwMSwgMHgwNiwgMHg4OSwgMHg4MiwgMHg4YSwgMHg4MywgMHhlMCwgMHgyMiwgMHg1MCwgMHgwMiwgMHhlNywgMHgyMn19LAotIHsweDBjODYsIDY0LCB7IDB4YmIsIDB4ZmUsIDB4MDIsIDB4ZTMsIDB4MjIsIDB4ODksIDB4ODIsIDB4OGEsIDB4ODMsIDB4ZTQsIDB4OTMsIDB4MjIsIDB4YmIsIDB4MDEsIDB4MDYsIDB4ODksIDB4ODIsCi0gIDB4OGEsIDB4ODMsIDB4ZjAsIDB4MjIsIDB4NTAsIDB4MDIsIDB4ZjcsIDB4MjIsIDB4YmIsIDB4ZmUsIDB4MDEsIDB4ZjMsIDB4MjIsIDB4ZDAsIDB4ODMsIDB4ZDAsCi0gIDB4ODIsIDB4ZjgsIDB4ZTQsIDB4OTMsIDB4NzAsIDB4MTIsIDB4NzQsIDB4MDEsIDB4OTMsIDB4NzAsIDB4MGQsIDB4YTMsIDB4YTMsIDB4OTMsIDB4ZjgsIDB4NzQsCi0gIDB4MDEsIDB4OTMsIDB4ZjUsIDB4ODIsIDB4ODgsIDB4ODMsIDB4ZTQsIDB4NzMsIDB4NzQsIDB4MDIsIDB4OTMsIDB4NjgsIDB4NjAsIDB4ZWYsIDB4YTN9fSwKLSB7MHgwY2M2LCA2NCwgeyAweGEzLCAweGEzLCAweDgwLCAweGRmLCAweGU0LCAweDkwLCAweDdmLCAweDk1LCAweGYwLCAweDkwLCAweDdmLCAweDk0LCAweGYwLCAweDkwLCAweDdmLCAweDkzLCAweGYwLAotICAweDkwLCAweDdmLCAweDlkLCAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweDkwLCAweDdmLCAweDk3LCAweGUwLCAweDQ0LCAweDQyLCAweGYwLCAweDkwLCAweDdmLAotICAweDljLCAweDc0LCAweDEwLCAweGYwLCAweGU0LCAweDkwLCAweDdmLCAweDk2LCAweGYwLCAweDkwLCAweDdmLCAweDlkLCAweDc0LCAweGJlLCAweGYwLCAweDMwLAotICAweDE2LCAweDA0LCAweDdmLCAweDgwLCAweDgwLCAweDAyLCAweDdmLCAweDAwLCAweDkwLCAweDdmLCAweDk3LCAweGVmLCAweGYwLCAweGU0LCAweDkwfX0sCi0gezB4MGQwNiwgNjQsIHsgMHg3ZiwgMHg5NSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5ZSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHhmMCwgMHgyMiwgMHhjMCwgMHhlMCwgMHhjMCwgMHhmMCwgMHhjMCwKLSAgMHg4MywgMHhjMCwgMHg4MiwgMHhjMCwgMHg4NSwgMHhjMCwgMHg4NCwgMHhjMCwgMHg4NiwgMHg3NSwgMHg4NiwgMHgwMCwgMHhjMCwgMHhkMCwgMHg3NSwgMHhkMCwKLSAgMHgwOCwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhOSwgMHg3NCwgMHgwMSwgMHhmMCwgMHgxMiwgMHgwYiwgMHhiYSwgMHhkMCwgMHhkMCwgMHhkMCwKLSAgMHg4NiwgMHhkMCwgMHg4NCwgMHhkMCwgMHg4NSwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhmMCwgMHhkMCwgMHhlMCwgMHgzMiwgMHhjMH19LAotIHsweDBkNDYsIDY0LCB7IDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ODUsIDB4YzAsIDB4ODQsIDB4YzAsIDB4ODYsIDB4NzUsIDB4ODYsIDB4MDAsIDB4OTAsIDB4N2YsIDB4YzQsCi0gIDB4ZTQsIDB4ZjAsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YWIsIDB4NzQsIDB4MDQsIDB4ZjAsIDB4ZDAsIDB4ODYsIDB4ZDAsIDB4ODQsIDB4ZDAsCi0gIDB4ODUsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzIsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgwZDg2LCA2NCwgeyAweDAwLCAweDEyLCAweDAxLCAweDEwLCAweDAxLCAweGZmLCAweGZmLCAweGZmLCAweDQwLCAweGNkLCAweDA2LCAweDFjLCAweDAxLCAweDAxLCAweDAwLCAweDAxLCAweDAyLAotICAweDAwLCAweDAyLCAweDA5LCAweDAyLCAweDQzLCAweDAwLCAweDAxLCAweDAxLCAweDAwLCAweDgwLCAweDMyLCAweDA5LCAweDA0LCAweDAwLCAweDAwLCAweDA3LAotICAweGZmLCAweDAwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDAxLCAweDAyLCAweDQwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDAyLCAweDAyLCAweDQwLAotICAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDAzLCAweDAyLCAweDQwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDgxLCAweDAyLCAweDQwLCAweDAwfX0sCi0gezB4MGRjNiwgNjQsIHsgMHgwMSwgMHgwNywgMHgwNSwgMHg4MiwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMSwgMHgwNywgMHgwNSwgMHg4MywgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMSwgMHgwNywgMHgwNSwKLSAgMHg4NCwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMSwgMHgwNCwgMHgwMywgMHgwOSwgMHgwNCwgMHgxMCwgMHgwMywgMHg0YiwgMHgwMCwgMHg2NSwgMHgwMCwgMHg3OSwKLSAgMHgwMCwgMHg3MywgMHgwMCwgMHg3MCwgMHgwMCwgMHg2MSwgMHgwMCwgMHg2ZSwgMHgwMCwgMHgyZSwgMHgwMywgMHg0YiwgMHgwMCwgMHg2NSwgMHgwMCwgMHg3OSwKLSAgMHgwMCwgMHg3MywgMHgwMCwgMHg3MCwgMHgwMCwgMHg2MSwgMHgwMCwgMHg2ZSwgMHgwMCwgMHgyMCwgMHgwMCwgMHg1NSwgMHgwMCwgMHg1MCwgMHgwMH19LAotIHsweDBlMDYsIDY0LCB7IDB4NTMsIDB4MDAsIDB4NDgsIDB4MDAsIDB4MzEsIDB4MDAsIDB4MzEsIDB4MDAsIDB4MzIsIDB4MDAsIDB4MmQsIDB4MDAsIDB4NTMsIDB4MDAsIDB4NjUsIDB4MDAsIDB4NzIsCi0gIDB4MDAsIDB4NjksIDB4MDAsIDB4NjEsIDB4MDAsIDB4NmMsIDB4MDAsIDB4MjIsIDB4MDMsIDB4NTUsIDB4MDAsIDB4NTMsIDB4MDAsIDB4NDEsIDB4MDAsIDB4MmQsCi0gIDB4MDAsIDB4MzUsIDB4MDAsIDB4MzMsIDB4MDAsIDB4MjAsIDB4MDAsIDB4MzIsIDB4MDAsIDB4MzAsIDB4MDAsIDB4MzAsIDB4MDAsIDB4MzIsIDB4MDAsIDB4NjEsCi0gIDB4MDAsIDB4NzAsIDB4MDAsIDB4NzIsIDB4MDAsIDB4MzIsIDB4MDAsIDB4MzYsIDB4MDAsIDB4MDAsIDB4MDAsIDB4YzAsIDB4ZTAsIDB4YzAsIDB4ODN9fSwKLSB7MHgwZTQ2LCA2NCwgeyAweGMwLCAweDgyLCAweGMwLCAweDg1LCAweGMwLCAweDg0LCAweGMwLCAweDg2LCAweDc1LCAweDg2LCAweDAwLCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGFiLAotICAweDc0LCAweDAyLCAweGYwLCAweGQyLCAweDA2LCAweGQwLCAweDg2LCAweGQwLCAweDg0LCAweGQwLCAweDg1LCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGQwLAotICAweGUwLCAweDMyLCAweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGMwLCAweDg1LCAweGMwLCAweDg0LCAweGMwLCAweDg2LCAweDc1LCAweDg2LAotICAweDAwLCAweGQyLCAweDE3LCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGFiLCAweDc0LCAweDAxLCAweGYwLCAweGQwLCAweDg2LCAweGQwfX0sCi0gezB4MGU4NiwgNjQsIHsgMHg4NCwgMHhkMCwgMHg4NSwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMiwgMHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhjMCwKLSAgMHg4NSwgMHhjMCwgMHg4NCwgMHhjMCwgMHg4NiwgMHg3NSwgMHg4NiwgMHgwMCwgMHhkMiwgMHgxOSwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhYiwKLSAgMHg3NCwgMHgwOCwgMHhmMCwgMHhkMCwgMHg4NiwgMHhkMCwgMHg4NCwgMHhkMCwgMHg4NSwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMiwKLSAgMHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhjMCwgMHg4NSwgMHhjMCwgMHg4NCwgMHhjMCwgMHg4NiwgMHg3NSwgMHg4NiwgMHgwMH19LAotIHsweDBlYzYsIDY0LCB7IDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YTksIDB4NzQsIDB4MDIsIDB4ZjAsIDB4ZDAsIDB4ODYsIDB4ZDAsIDB4ODQsIDB4ZDAsIDB4ODUsIDB4ZDAsIDB4ODIsCi0gIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzIsIDB4MTIsIDB4MGMsIDB4Y2EsIDB4MTIsIDB4MGYsIDB4YjMsIDB4OTAsIDB4N2YsIDB4ZDYsIDB4ZTAsIDB4MzAsCi0gIDB4ZTcsIDB4MTIsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4N2YsIDB4MGQsIDB4N2UsIDB4MDAsIDB4MTIsIDB4MDAsIDB4MDMsIDB4OTAsIDB4N2YsIDB4ZDYsCi0gIDB4ZTAsIDB4NTQsIDB4ZmUsIDB4ZjAsIDB4MTIsIDB4MGMsIDB4MjQsIDB4MjIsIDB4MDAsIDB4MDIsIDB4MGUsIDB4NjksIDB4MDAsIDB4MDIsIDB4MGV9fSwKLSB7MHgwZjA2LCA2NCwgeyAweDQyLCAweDAwLCAweDAyLCAweDBkLCAweDQ1LCAweDAwLCAweDAyLCAweDBlLCAweDkwLCAweDAwLCAweDAyLCAweDBmLCAweDEwLCAweDAwLCAweDAyLCAweDBmLCAweDE0LAotICAweDAwLCAweDAyLCAweDBkLCAweDEyLCAweDAwLCAweDAyLCAweDBmLCAweDFjLCAweDAwLCAweDAyLCAweDBlLCAweGI3LCAweDAwLCAweDAyLCAweDBmLCAweDI0LAotICAweDAwLCAweDAyLCAweDBmLCAweDMzLCAweDAwLCAweDAyLCAweDBmLCAweDJjLCAweDAwLCAweDAyLCAweDBmLCAweDU4LCAweGMwLCAweGUwLCAweGMwLCAweDgzLAotICAweGMwLCAweDgyLCAweGMwLCAweDg1LCAweGMwLCAweDg0LCAweGMwLCAweDg2LCAweDc1LCAweDg2LCAweDAwLCAweDUzLCAweDkxLCAweGVmLCAweDkwfX0sCi0gezB4MGY0NiwgNjQsIHsgMHg3ZiwgMHhhOSwgMHg3NCwgMHgwNCwgMHhmMCwgMHhkMCwgMHg4NiwgMHhkMCwgMHg4NCwgMHhkMCwgMHg4NSwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwKLSAgMHgzMiwgMHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhjMCwgMHg4NSwgMHhjMCwgMHg4NCwgMHhjMCwgMHg4NiwgMHg3NSwgMHg4NiwgMHgwMCwKLSAgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhOSwgMHg3NCwgMHgwOCwgMHhmMCwgMHhkMCwgMHg4NiwgMHhkMCwgMHg4NCwgMHhkMCwgMHg4NSwgMHhkMCwKLSAgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMiwgMHg5MCwgMHg3ZiwgMHhkNiwgMHhlMCwgMHg1NCwgMHhmYiwgMHhmMCwgMHhlMCwgMHg0NH19LAotIHsweDBmODYsIDYxLCB7IDB4MDgsIDB4ZjAsIDB4MzAsIDB4MWEsIDB4MDQsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4N2YsIDB4ZjQsIDB4N2UsIDB4MDEsIDB4MTIsIDB4MDAsIDB4MDMsIDB4OTAsCi0gIDB4N2YsIDB4ZDYsIDB4ZTAsIDB4NTQsIDB4ZjcsIDB4ZjAsIDB4ZTAsIDB4NDQsIDB4MDQsIDB4ZjAsIDB4MjIsIDB4NzQsIDB4MDAsIDB4ZjUsIDB4ODYsIDB4OTAsCi0gIDB4ZmQsIDB4YTUsIDB4N2MsIDB4MDUsIDB4YTMsIDB4ZTUsIDB4ODIsIDB4NDUsIDB4ODMsIDB4NzAsIDB4ZjksIDB4MjIsIDB4OTAsIDB4N2YsIDB4ZDYsIDB4ZTAsCi0gIDB4NDQsIDB4ODAsIDB4ZjAsIDB4NDMsIDB4ODcsIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MjJ9fSwKLSB7MHhmZmZmLAkwLAl7MHgwMH19Ci19OwotCmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9zZXJpYWwva2V5c3Bhbl9wZGEuYyBiL2RyaXZlcnMvdXNiL3NlcmlhbC9rZXlzcGFuX3BkYS5jCmluZGV4IGZmNTQyMDMuLjY0NGExZWEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdXNiL3NlcmlhbC9rZXlzcGFuX3BkYS5jCisrKyBiL2RyaXZlcnMvdXNiL3NlcmlhbC9rZXlzcGFuX3BkYS5jCkBAIC03NiwxOCArNzYsMTQgQEAKICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KICNpbmNsdWRlIDxsaW51eC9zcGlubG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L3dvcmtxdWV1ZS5oPgorI2luY2x1ZGUgPGxpbnV4L2Zpcm13YXJlLmg+CisjaW5jbHVkZSA8bGludXgvaWhleC5oPgogI2luY2x1ZGUgPGFzbS91YWNjZXNzLmg+CiAjaW5jbHVkZSA8bGludXgvdXNiLmg+CiAjaW5jbHVkZSA8bGludXgvdXNiL3NlcmlhbC5oPgogCiBzdGF0aWMgaW50IGRlYnVnOwogCi1zdHJ1Y3QgZXp1c2JfaGV4X3JlY29yZCB7Ci0JX191MTYgYWRkcmVzczsKLQlfX3U4IGRhdGFfc2l6ZTsKLQlfX3U4IGRhdGFbMTZdOwotfTsKLQogLyogbWFrZSBhIHNpbXBsZSBkZWZpbmUgdG8gaGFuZGxlIGlmIHdlIGFyZSBjb21waWxpbmcga2V5c3Bhbl9wZGEgb3IgeGlyY29tIHN1cHBvcnQgKi8KICNpZiBkZWZpbmVkKENPTkZJR19VU0JfU0VSSUFMX0tFWVNQQU5fUERBKSB8fCBkZWZpbmVkKENPTkZJR19VU0JfU0VSSUFMX0tFWVNQQU5fUERBX01PRFVMRSkKIAkjZGVmaW5lIEtFWVNQQU4KQEAgLTEwMCwxNCArOTYsNiBAQAogCSN1bmRlZiBYSVJDT00KICNlbmRpZgogCi0jaWZkZWYgS0VZU1BBTgotI2luY2x1ZGUgImtleXNwYW5fcGRhX2Z3LmgiCi0jZW5kaWYKLQotI2lmZGVmIFhJUkNPTQotI2luY2x1ZGUgInhpcmNvbV9wZ3NfZncuaCIKLSNlbmRpZgotCiAvKgogICogVmVyc2lvbiBJbmZvcm1hdGlvbgogICovCkBAIC03MjIsMzggKzcxMCw0NyBAQAogc3RhdGljIGludCBrZXlzcGFuX3BkYV9mYWtlX3N0YXJ0dXAgKHN0cnVjdCB1c2Jfc2VyaWFsICpzZXJpYWwpCiB7CiAJaW50IHJlc3BvbnNlOwotCWNvbnN0IHN0cnVjdCBlenVzYl9oZXhfcmVjb3JkICpyZWNvcmQgPSBOVUxMOworCWNvbnN0IGNoYXIgKmZ3X25hbWU7CisJY29uc3Qgc3RydWN0IGloZXhfYmlucmVjICpyZWNvcmQ7CisJY29uc3Qgc3RydWN0IGZpcm13YXJlICpmdzsKIAogCS8qIGRvd25sb2FkIHRoZSBmaXJtd2FyZSBoZXJlIC4uLiAqLwogCXJlc3BvbnNlID0gZXp1c2Jfc2V0X3Jlc2V0KHNlcmlhbCwgMSk7CiAKKwlpZiAoMCkgeyA7IH0KICNpZmRlZiBLRVlTUEFOCi0JaWYgKGxlMTZfdG9fY3B1KHNlcmlhbC0+ZGV2LT5kZXNjcmlwdG9yLmlkVmVuZG9yKSA9PSBLRVlTUEFOX1ZFTkRPUl9JRCkKLQkJcmVjb3JkID0gJmtleXNwYW5fcGRhX2Zpcm13YXJlWzBdOworCWVsc2UgaWYgKGxlMTZfdG9fY3B1KHNlcmlhbC0+ZGV2LT5kZXNjcmlwdG9yLmlkVmVuZG9yKSA9PSBLRVlTUEFOX1ZFTkRPUl9JRCkKKwkJZndfbmFtZSA9ICJrZXlzcGFuX3BkYS9rZXlzcGFuX3BkYS5mdyI7CiAjZW5kaWYKICNpZmRlZiBYSVJDT00KLQlpZiAoKGxlMTZfdG9fY3B1KHNlcmlhbC0+ZGV2LT5kZXNjcmlwdG9yLmlkVmVuZG9yKSA9PSBYSVJDT01fVkVORE9SX0lEKSB8fAotCSAgICAobGUxNl90b19jcHUoc2VyaWFsLT5kZXYtPmRlc2NyaXB0b3IuaWRWZW5kb3IpID09IEVOVFJFR1JBX1ZFTkRPUl9JRCkpCi0JCXJlY29yZCA9ICZ4aXJjb21fcGdzX2Zpcm13YXJlWzBdOworCWVsc2UgaWYgKChsZTE2X3RvX2NwdShzZXJpYWwtPmRldi0+ZGVzY3JpcHRvci5pZFZlbmRvcikgPT0gWElSQ09NX1ZFTkRPUl9JRCkgfHwKKwkJIChsZTE2X3RvX2NwdShzZXJpYWwtPmRldi0+ZGVzY3JpcHRvci5pZFZlbmRvcikgPT0gRU5UUkVHUkFfVkVORE9SX0lEKSkKKwkJZndfbmFtZSA9ICJrZXlzcGFuX3BkYS94aXJjb21fcGdzLmZ3IjsKICNlbmRpZgotCWlmIChyZWNvcmQgPT0gTlVMTCkgeworCWVsc2UgewogCQllcnIoIiVzOiB1bmtub3duIHZlbmRvciwgYWJvcnRpbmcuIiwgX19mdW5jX18pOwogCQlyZXR1cm4gLUVOT0RFVjsKIAl9CisJaWYgKHJlcXVlc3RfaWhleF9maXJtd2FyZSgmZncsIGZ3X25hbWUsICZzZXJpYWwtPmRldi0+ZGV2KSkgeworCQllcnIoImZhaWxlZCB0byBsb2FkIGZpcm13YXJlIFwiJXNcIlxuIiwgZndfbmFtZSk7CisJCXJldHVybiAtRU5PRU5UOworCX0KKwlyZWNvcmQgPSAoY29uc3Qgc3RydWN0IGloZXhfYmlucmVjICopZnctPmRhdGE7CiAKLQl3aGlsZShyZWNvcmQtPmFkZHJlc3MgIT0gMHhmZmZmKSB7Ci0JCXJlc3BvbnNlID0gZXp1c2Jfd3JpdGVtZW1vcnkoc2VyaWFsLCByZWNvcmQtPmFkZHJlc3MsCisJd2hpbGUgKHJlY29yZCkgeworCQlyZXNwb25zZSA9IGV6dXNiX3dyaXRlbWVtb3J5KHNlcmlhbCwgYmUzMl90b19jcHUocmVjb3JkLT5hZGRyKSwKIAkJCQkJICAgICAodW5zaWduZWQgY2hhciAqKXJlY29yZC0+ZGF0YSwKLQkJCQkJICAgICByZWNvcmQtPmRhdGFfc2l6ZSwgMHhhMCk7CisJCQkJCSAgICAgYmUxNl90b19jcHUocmVjb3JkLT5sZW4pLCAweGEwKTsKIAkJaWYgKHJlc3BvbnNlIDwgMCkgewogCQkJZXJyKCJlenVzYl93cml0ZW1lbW9yeSBmYWlsZWQgZm9yIEtleXNwYW4gUERBICIKIAkJCSAgICAiZmlybXdhcmUgKCVkICUwNFggJXAgJWQpIiwKLQkJCSAgICByZXNwb25zZSwgCi0JCQkgICAgcmVjb3JkLT5hZGRyZXNzLCByZWNvcmQtPmRhdGEsIHJlY29yZC0+ZGF0YV9zaXplKTsKKwkJCSAgICByZXNwb25zZSwgYmUzMl90b19jcHUocmVjb3JkLT5hZGRyKSwKKwkJCSAgICByZWNvcmQtPmRhdGEsIGJlMTZfdG9fY3B1KHJlY29yZC0+bGVuKSk7CiAJCQlicmVhazsKIAkJfQotCQlyZWNvcmQrKzsKKwkJcmVjb3JkID0gaWhleF9uZXh0X2JpbnJlYyhyZWNvcmQpOwogCX0KKwlyZWxlYXNlX2Zpcm13YXJlKGZ3KTsKIAkvKiBicmluZyBkZXZpY2Ugb3V0IG9mIHJlc2V0LiBSZW51bWVyYXRpb24gd2lsbCBvY2N1ciBpbiBhIG1vbWVudAogCSAgIGFuZCB0aGUgbmV3IGRldmljZSB3aWxsIGJpbmQgdG8gdGhlIHJlYWwgZHJpdmVyICovCiAJcmVzcG9uc2UgPSBlenVzYl9zZXRfcmVzZXQoc2VyaWFsLCAwKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL3NlcmlhbC9rZXlzcGFuX3BkYV9mdy5oIGIvZHJpdmVycy91c2Ivc2VyaWFsL2tleXNwYW5fcGRhX2Z3LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGYyNTNhY2MuLjAwMDAwMDAKLS0tIGEvZHJpdmVycy91c2Ivc2VyaWFsL2tleXNwYW5fcGRhX2Z3LmgKKysrIC9kZXYvbnVsbApAQCAtMSw5OSArMCwwIEBACi0vKgotICogVVNCIEtleXNwYW4gUERBIEZpcm13YXJlCi0gKgotICogQ29weXJpZ2h0IChDKSAxOTk5LCAyMDAwIEJyaWFuIFdhcm5lcgk8d2FybmVyQGxvdGhhci5jb20+Ci0gKgotICoJVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKLSAqCWl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci0gKgl0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgotICoJKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiBHZW5lcmF0ZWQgZnJvbSBrZXlzcGFuX3BkYS5zIGJ5IGV6dXNiX2NvbnZlcnQucGwKLSAqCi0gKi8KLQotc3RhdGljIGNvbnN0IHN0cnVjdCBlenVzYl9oZXhfcmVjb3JkIGtleXNwYW5fcGRhX2Zpcm13YXJlW10gPSB7Ci17IDB4MDAwMCwJMywJezB4MDIsIDB4MDIsIDB4MDB9IH0sCi17IDB4MDAyMywJNCwJezB4MDIsIDB4MDUsIDB4NWYsIDB4MDB9IH0sCi17IDB4MDA0MywJNCwJezB4MDIsIDB4MDEsIDB4MDAsIDB4MDB9IH0sCi17IDB4MDAzMCwJNSwJezB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9IH0sCi17IDB4MDEwMCwJMTYsCXsweDAyLCAweDAyLCAweDk2LCAweDAwLCAweDAyLCAweDAwLCAweDAwLCAweDAwLCAweDAyLCAweDAwLCAweDAwLCAweDAwLCAweDAyLCAweDAwLCAweDAwLCAweDAwfSB9LAoteyAweDAxMTAsCTE2LAl7MHgwMiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMiwgMHgwMCwgMHgwMCwgMHgwMH0gfSwKLXsgMHgwMTIwLAkxNiwJezB4MDIsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDIsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDIsIDB4MDQsIDB4NjEsIDB4MDAsIDB4MDIsIDB4MDQsIDB4ODksIDB4MDB9IH0sCi17IDB4MDIwMCwJMTYsCXsweDc1LCAweDgxLCAweDVlLCAweGU0LCAweGY1LCAweDMyLCAweGY1LCAweDMzLCAweGY1LCAweDMwLCAweGY1LCAweDMxLCAweGY1LCAweDM0LCAweGMyLCAweDAwfSB9LAoteyAweDAyMTAsCTE2LAl7MHhjMiwgMHgwMSwgMHhhOSwgMHgwMCwgMHg3NCwgMHhmZSwgMHg5MCwgMHgxMCwgMHgwMCwgMHhmMCwgMHhhMywgMHhkOSwgMHhmYywgMHg3NCwgMHhmZCwgMHg5MH0gfSwKLXsgMHgwMjIwLAkxNiwJezB4MTEsIDB4MDAsIDB4ZjAsIDB4YTMsIDB4ZDksIDB4ZmMsIDB4NzQsIDB4MDIsIDB4OTAsIDB4N2YsIDB4OWQsIDB4ZjAsIDB4NzQsIDB4MDAsIDB4OTAsIDB4N2Z9IH0sCi17IDB4MDIzMCwJMTYsCXsweDk3LCAweGYwLCAweDc0LCAweDg2LCAweDkwLCAweDdmLCAweDllLCAweGYwLCAweDkwLCAweDdmLCAweDk1LCAweDc0LCAweDAzLCAweGYwLCAweDkwLCAweDdmfSB9LAoteyAweDAyNDAsCTE2LAl7MHhhZiwgMHhlMCwgMHhkMiwgMHhlMCwgMHhmMCwgMHg3NCwgMHgwMSwgMHg5MCwgMHg3ZiwgMHhhYiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhZSwgMHhmMCwgMHg5MH0gfSwKLXsgMHgwMjUwLAkxNiwJezB4N2YsIDB4YWMsIDB4NzQsIDB4MDQsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YWQsIDB4NzQsIDB4MDQsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YzksIDB4ZjAsIDB4NzR9IH0sCi17IDB4MDI2MCwJMTYsCXsweDg0LCAweDkwLCAweDdmLCAweDk4LCAweGYwLCAweDc0LCAweDAwLCAweGY1LCAweDk4LCAweDc1LCAweGM4LCAweDMwLCAweDdiLCAweDA1LCAweDkxLCAweDIwfSB9LAoteyAweDAyNzAsCTE2LAl7MHhkMiwgMHhjYSwgMHg3NSwgMHg5OCwgMHg1MCwgMHhkMiwgMHhlOCwgMHhkMiwgMHhhZiwgMHhkMiwgMHhhYywgMHg3NCwgMHgwMCwgMHhmNSwgMHg4NiwgMHg5MH0gfSwKLXsgMHgwMjgwLAkxNiwJezB4N2YsIDB4ZDYsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4NzksIDB4MmUsIDB4N2EsIDB4MDAsIDB4N2IsIDB4MDAsIDB4ZGIsIDB4ZmUsIDB4ZGEsIDB4ZmEsIDB4ZDl9IH0sCi17IDB4MDI5MCwJMTYsCXsweGY2LCAweDc0LCAweDA2LCAweGYwLCAweDgwLCAweGZlLCAweGMwLCAweDg2LCAweGMwLCAweDgyLCAweGMwLCAweDgzLCAweGMwLCAweDg0LCAweGMwLCAweDg1fSB9LAoteyAweDAyYTAsCTE2LAl7MHhjMCwgMHhlMCwgMHhlNSwgMHg5MSwgMHhjMiwgMHhlNCwgMHhmNSwgMHg5MSwgMHg5MCwgMHg3ZiwgMHhhYiwgMHg3NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHg3Zn0gfSwKLXsgMHgwMmIwLAkxNiwJezB4ZTgsIDB4ZTAsIDB4ZjksIDB4YTMsIDB4ZTAsIDB4ZmEsIDB4YTMsIDB4ZTAsIDB4ZmIsIDB4YTMsIDB4ZTAsIDB4ZmMsIDB4ZTksIDB4NTQsIDB4NjAsIDB4YjR9IH0sCi17IDB4MDJjMCwJMTYsCXsweDAwLCAweDAzLCAweDAyLCAweDAzLCAweDM5LCAweGI0LCAweDQwLCAweDZlLCAweGJhLCAweDAwLCAweDBiLCAweDEyLCAweDA0LCAweDIwLCAweDQwLCAweDAzfSB9LAoteyAweDAyZDAsCTE2LAl7MHgwMiwgMHgwNCwgMHgwMiwgMHgwMiwgMHgwNCwgMHgwYSwgMHhiYSwgMHgwMSwgMHgwMywgMHgwMiwgMHgwNCwgMHgwYSwgMHhiYSwgMHgwMiwgMHgwMywgMHgwMn0gfSwKLXsgMHgwMmUwLAkxNiwJezB4MDQsIDB4MGEsIDB4YmEsIDB4MDMsIDB4MDMsIDB4MDIsIDB4MDQsIDB4NDQsIDB4YmEsIDB4MDQsIDB4MWUsIDB4YmIsIDB4MDAsIDB4MGEsIDB4OTAsIDB4N2Z9IH0sCi17IDB4MDJmMCwJMTYsCXsweDk1LCAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweDAyLCAweDA0LCAweDAyLCAweDkwLCAweDdmLCAweDk4LCAweGUwLCAweDU0LCAweGZkLCAweGYwLCAweDkwfSB9LAoteyAweDAzMDAsCTE2LAl7MHg3ZiwgMHg5NSwgMHhlMCwgMHg1NCwgMHhmZCwgMHhmMCwgMHgwMiwgMHgwNCwgMHgwMiwgMHhiYSwgMHgwNSwgMHgwMywgMHgwMiwgMHgwNCwgMHgwYSwgMHhiYX0gfSwKLXsgMHgwMzEwLAkxNiwJezB4MDYsIDB4MTksIDB4YmIsIDB4MDAsIDB4MDgsIDB4ZTUsIDB4MzMsIDB4ZDMsIDB4OTUsIDB4MzIsIDB4MDIsIDB4MDMsIDB4ZGUsIDB4YmIsIDB4MDEsIDB4MDh9IH0sCi17IDB4MDMyMCwJMTYsCXsweGU1LCAweDMyLCAweGMzLCAweDk1LCAweDMzLCAweDAyLCAweDAzLCAweGRlLCAweDAyLCAweDA0LCAweDBhLCAweGJhLCAweDA3LCAweDA1LCAweDhiLCAweDM0fSB9LAoteyAweDAzMzAsCTE2LAl7MHgwMiwgMHgwNCwgMHgwMiwgMHgwMiwgMHgwNCwgMHgwYSwgMHgwMiwgMHgwNCwgMHgwYSwgMHhiYSwgMHgwMCwgMHgyMCwgMHhiOSwgMHg4MCwgMHgxMCwgMHg5MH0gfSwKLXsgMHgwMzQwLAkxNiwJezB4N2YsIDB4MDAsIDB4ZTQsIDB4ZjAsIDB4YTMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4MDIsIDB4MDQsIDB4MDIsIDB4Yjl9IH0sCi17IDB4MDM1MCwJMTYsCXsweDgyLCAweDAyLCAweDgwLCAweGViLCAweGI5LCAweDgxLCAweDAyLCAweDgwLCAweGU2LCAweDAyLCAweDA0LCAweDBhLCAweGJhLCAweDAxLCAweDBmLCAweGJifSB9LAoteyAweDAzNjAsCTE2LAl7MHgwMCwgMHgwMywgMHgwMiwgMHgwNCwgMHgwYSwgMHhiYiwgMHgwMSwgMHgwMywgMHgwMiwgMHgwNCwgMHgwMiwgMHgwMiwgMHgwNCwgMHgwYSwgMHhiYSwgMHgwM30gfSwKLXsgMHgwMzcwLAkxNiwJezB4MGYsIDB4YmIsIDB4MDAsIDB4MDMsIDB4MDIsIDB4MDQsIDB4MGEsIDB4YmIsIDB4MDEsIDB4MDMsIDB4MDIsIDB4MDQsIDB4MDIsIDB4MDIsIDB4MDQsIDB4MGF9IH0sCi17IDB4MDM4MCwJMTYsCXsweGJhLCAweDA2LCAweDU2LCAweGJjLCAweDAxLCAweDBmLCAweDkwLCAweDdmLCAweGQ0LCAweDc0LCAweDA2LCAweGYwLCAweDkwLCAweDdmLCAweGQ1LCAweDc0fSB9LAoteyAweDAzOTAsCTE2LAl7MHgxMiwgMHhmMCwgMHgwMiwgMHgwNCwgMHgwMiwgMHhiYywgMHgwMiwgMHgxMiwgMHhiYiwgMHgwMCwgMHg2ZiwgMHg5MCwgMHg3ZiwgMHhkNCwgMHg3NCwgMHgwNn0gfSwKLXsgMHgwM2EwLAkxNiwJezB4ZjAsIDB4OTAsIDB4N2YsIDB4ZDUsIDB4NzQsIDB4MjQsIDB4ZjAsIDB4MDIsIDB4MDQsIDB4MDIsIDB4YmMsIDB4MDMsIDB4MjksIDB4NzQsIDB4MDQsIDB4YzN9IH0sCi17IDB4MDNiMCwJMTYsCXsweDliLCAweDQwLCAweDU3LCAweDYwLCAweDU1LCAweGViLCAweDJiLCAweDkwLCAweDA2LCAweDQ0LCAweDI1LCAweDgyLCAweGY1LCAweDgyLCAweDc0LCAweDAwfSB9LAoteyAweDAzYzAsCTE2LAl7MHgzNSwgMHg4MywgMHhmNSwgMHg4MywgMHhlMCwgMHhmOSwgMHhhMywgMHhlMCwgMHhmYSwgMHg5MCwgMHg3ZiwgMHhkNCwgMHhlOSwgMHhmMCwgMHg5MCwgMHg3Zn0gfSwKLXsgMHgwM2QwLAkxNiwJezB4ZDUsIDB4ZWEsIDB4ZjAsIDB4MDIsIDB4MDQsIDB4MDIsIDB4MDIsIDB4MDQsIDB4MGEsIDB4YmEsIDB4MDgsIDB4MGYsIDB4NzQsIDB4MDEsIDB4OTAsIDB4N2Z9IH0sCi17IDB4MDNlMCwJMTYsCXsweDAwLCAweGYwLCAweDc0LCAweDAxLCAweDkwLCAweDdmLCAweGI1LCAweGYwLCAweDAyLCAweDA0LCAweDAyLCAweGJhLCAweDA5LCAweDAzLCAweDAyLCAweDA0fSB9LAoteyAweDAzZjAsCTE2LAl7MHgwMiwgMHhiYSwgMHgwYSwgMHgwNSwgMHg3NCwgMHgwMCwgMHgwMiwgMHgwMywgMHhkZSwgMHhiYSwgMHgwYiwgMHgwMywgMHgwMiwgMHgwNCwgMHgwMiwgMHgwMn0gfSwKLXsgMHgwNDAwLAkxNiwJezB4MDQsIDB4MGEsIDB4OTAsIDB4N2YsIDB4YjQsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4ODAsIDB4MDksIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDF9IH0sCi17IDB4MDQxMCwJMTYsCXsweGYwLCAweDgwLCAweDAwLCAweGQwLCAweGUwLCAweGQwLCAweDg1LCAweGQwLCAweDg0LCAweGQwLCAweDgzLCAweGQwLCAweDgyLCAweGQwLCAweDg2LCAweDMyfSB9LAoteyAweDA0MjAsCTE2LAl7MHhlYiwgMHgyMCwgMHhlNywgMHgxZSwgMHhjMywgMHg5NCwgMHgwYSwgMHg1MCwgMHgxOSwgMHhlYiwgMHgyMywgMHgyNCwgMHhmZSwgMHhmNSwgMHg4MiwgMHg3NH0gfSwKLXsgMHgwNDMwLAkxNiwJezB4MDUsIDB4MzQsIDB4MDAsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZjUsIDB4Y2IsIDB4ZjUsIDB4Y2QsIDB4YTMsIDB4ZTAsIDB4ZjUsIDB4Y2EsIDB4ZjUsIDB4Y2N9IH0sCi17IDB4MDQ0MCwJMTYsCXsweGMzLCAweDIyLCAweGQzLCAweDIyLCAweGI5LCAweDQxLCAweDExLCAweGViLCAweDY0LCAweGZmLCAweDU0LCAweDg0LCAweGZiLCAweDkwLCAweDdmLCAweDk4fSB9LAoteyAweDA0NTAsCTE2LAl7MHhlMCwgMHg1NCwgMHg3YiwgMHg0YiwgMHhmMCwgMHgwMiwgMHgwNCwgMHgwMiwgMHg5MCwgMHg3ZiwgMHg5YiwgMHhlMCwgMHg2NCwgMHhmZiwgMHgwMiwgMHgwM30gfSwKLXsgMHgwNDYwLAkxNiwJezB4ZGUsIDB4YzAsIDB4ODYsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODQsIDB4YzAsIDB4ODUsIDB4YzAsIDB4ZTAsIDB4ZTUsIDB4OTEsIDB4YzJ9IH0sCi17IDB4MDQ3MCwJMTYsCXsweGU0LCAweGY1LCAweDkxLCAweDkwLCAweDdmLCAweGE5LCAweDc0LCAweDA0LCAweGYwLCAweDEyLCAweDA1LCAweGEwLCAweGQwLCAweGUwLCAweGQwLCAweDg1fSB9LAoteyAweDA0ODAsCTE2LAl7MHhkMCwgMHg4NCwgMHhkMCwgMHg4MywgMHhkMCwgMHg4MiwgMHhkMCwgMHg4NiwgMHgzMiwgMHhjMCwgMHg4NiwgMHhjMCwgMHg4MiwgMHhjMCwgMHg4MywgMHhjMH0gfSwKLXsgMHgwNDkwLAkxNiwJezB4ODQsIDB4YzAsIDB4ODUsIDB4YzAsIDB4ZTAsIDB4ZTUsIDB4OTEsIDB4YzIsIDB4ZTQsIDB4ZjUsIDB4OTEsIDB4OTAsIDB4N2YsIDB4YWEsIDB4NzQsIDB4MDR9IH0sCi17IDB4MDRhMCwJMTYsCXsweGYwLCAweDkwLCAweDdmLCAweGM5LCAweGUwLCAweGY5LCAweGU0LCAweGY1LCAweDg2LCAweDkwLCAweDdkLCAweGMwLCAweDc1LCAweDg1LCAweDEwLCAweDg1fSB9LAoteyAweDA0YjAsCTE2LAl7MHgzMiwgMHg4NCwgMHhlMCwgMHgwNSwgMHg4NiwgMHgwNSwgMHg4NCwgMHhmMCwgMHhlNSwgMHg4NCwgMHhiNSwgMHgzMywgMHgwMiwgMHg4MCwgMHgwOSwgMHgwNX0gfSwKLXsgMHgwNGMwLAkxNiwJezB4MzIsIDB4MDUsIDB4ODYsIDB4YTMsIDB4ZDksIDB4ZWMsIDB4ODAsIDB4MDAsIDB4OTAsIDB4N2YsIDB4YzksIDB4ZjAsIDB4YjEsIDB4MzEsIDB4ZDAsIDB4ZTB9IH0sCi17IDB4MDRkMCwJMTYsCXsweGQwLCAweDg1LCAweGQwLCAweDg0LCAweGQwLCAweDgzLCAweGQwLCAweDgyLCAweGQwLCAweDg2LCAweDMyLCAweGU0LCAweGY1LCAweDg2LCAweDkwLCAweDdmfSB9LAoteyAweDA0ZTAsCTE2LAl7MHhiYywgMHhlMCwgMHgyMCwgMHhlMSwgMHg0YiwgMHg5MCwgMHg3ZCwgMHgwMCwgMHhlNSwgMHgzMiwgMHhmMCwgMHhhMywgMHhlNSwgMHgzMywgMHhmMCwgMHhhM30gfSwKLXsgMHgwNGYwLAkxNiwJezB4ZTUsIDB4MzAsIDB4ZjAsIDB4YTMsIDB4ZTUsIDB4MzEsIDB4ZjAsIDB4YTMsIDB4ZTQsIDB4MzAsIDB4MDAsIDB4MDEsIDB4MDQsIDB4ZjAsIDB4YTMsIDB4MDV9IH0sCi17IDB4MDUwMCwJMTYsCXsweDg2LCAweDkwLCAweDEwLCAweDAwLCAweDc5LCAweDEwLCAweGUwLCAweGEzLCAweDA1LCAweDg2LCAweGYwLCAweGEzLCAweDA1LCAweDg2LCAweGQ5LCAweGY2fSB9LAoteyAweDA1MTAsCTE2LAl7MHgwNSwgMHg4NiwgMHg3NCwgMHhmYywgMHhmMCwgMHhhMywgMHgwNSwgMHg4NiwgMHg5MCwgMHgxMSwgMHgwMCwgMHg3OSwgMHgxMCwgMHhlMCwgMHhhMywgMHgwNX0gfSwKLXsgMHgwNTIwLAkxNiwJezB4ODYsIDB4ZjAsIDB4YTMsIDB4MDUsIDB4ODYsIDB4ZDksIDB4ZjYsIDB4ZTQsIDB4ZjUsIDB4ODYsIDB4OTAsIDB4N2YsIDB4YmQsIDB4NzQsIDB4MjYsIDB4ZjB9IH0sCi17IDB4MDUzMCwJMTYsCXsweDIyLCAweDIwLCAweDAwLCAweDEzLCAweGU1LCAweDMyLCAweGI1LCAweDMzLCAweDAxLCAweDIyLCAweDA1LCAweDMzLCAweDc1LCAweDgzLCAweDEwLCAweDg1fSB9LAoteyAweDA1NDAsCTE2LAl7MHgzMywgMHg4MiwgMHhlMCwgMHhmNSwgMHg5OSwgMHhkMiwgMHgwMCwgMHg3NCwgMHgwMCwgMHhiNSwgMHgzNCwgMHgwMSwgMHgyMiwgMHhlNSwgMHgzMywgMHhkM30gfSwKLXsgMHgwNTUwLAkxNiwJezB4OTUsIDB4MzIsIDB4YzMsIDB4OTUsIDB4MzQsIDB4NDAsIDB4ZjUsIDB4NzUsIDB4MzQsIDB4MDAsIDB4ZDIsIDB4MDEsIDB4MDIsIDB4MDUsIDB4YTAsIDB4YzB9IH0sCi17IDB4MDU2MCwJMTYsCXsweDg2LCAweGMwLCAweDgyLCAweGMwLCAweDgzLCAweGMwLCAweDg0LCAweGMwLCAweDg1LCAweGMwLCAweGUwLCAweDMwLCAweDk5LCAweDA3LCAweGMyLCAweDk5fSB9LAoteyAweDA1NzAsCTE2LAl7MHhjMiwgMHgwMCwgMHgxMiwgMHgwNSwgMHgzNCwgMHgzMCwgMHg5OCwgMHgwNSwgMHgxMiwgMHgwNSwgMHg4YSwgMHhjMiwgMHg5OCwgMHhkMCwgMHhlMCwgMHhkMH0gfSwKLXsgMHgwNTgwLAkxNiwJezB4ODUsIDB4ZDAsIDB4ODQsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODYsIDB4MzIsIDB4NzUsIDB4ODMsIDB4MTEsIDB4ODUsIDB4MzAsIDB4ODJ9IH0sCi17IDB4MDU5MCwJMTYsCXsweDA1LCAweDgyLCAweGU1LCAweDk5LCAweGYwLCAweGU1LCAweDgyLCAweGI1LCAweDMxLCAweDAxLCAweDIyLCAweDA1LCAweDMwLCAweGIxLCAweGEwLCAweDIyfSB9LAoteyAweDA1YTAsCTE2LAl7MHg5MCwgMHg3ZiwgMHhiOCwgMHhlMCwgMHgyMCwgMHhlMSwgMHgzOCwgMHgyMCwgMHgwMSwgMHgzNiwgMHhlNSwgMHgzMCwgMHhiNSwgMHgzMSwgMHgwMSwgMHgyMn0gfSwKLXsgMHgwNWIwLAkxNiwJezB4ZTQsIDB4ZjUsIDB4ODYsIDB4NzUsIDB4ODMsIDB4MTEsIDB4MDUsIDB4ODYsIDB4OTAsIDB4N2UsIDB4MDAsIDB4ZjAsIDB4YTMsIDB4MDUsIDB4ODYsIDB4Nzl9IH0sCi17IDB4MDVjMCwJMTYsCXsweDAxLCAweGU1LCAweDMwLCAweGI1LCAweDMxLCAweDAyLCAweDgwLCAweDEwLCAweDA1LCAweDMxLCAweDg1LCAweDMxLCAweDgyLCAweGUwLCAweDA1LCAweDg2fSB9LAoteyAweDA1ZDAsCTE2LAl7MHhmMCwgMHhhMywgMHgwNSwgMHg4NiwgMHgwOSwgMHhiOSwgMHg0MCwgMHhlOSwgMHg5MCwgMHg3ZiwgMHhiOSwgMHhlOSwgMHg2MCwgMHgwMSwgMHhmMCwgMHgyMn0gfSwKLXsgMHgwNWUwLAkxNiwJezB4YzIsIDB4MDEsIDB4ZTQsIDB4ZjUsIDB4ODYsIDB4OTAsIDB4N2UsIDB4MDAsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4YTMsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4OTB9IH0sCi17IDB4MDVmMCwJMTYsCXsweDdmLCAweGI5LCAweGYwLCAweDIyLCAweGMyLCAweDk5LCAweGY1LCAweDk5LCAweDMwLCAweDk5LCAweGZkLCAweGMyLCAweDk5LCAweDIyLCAweGU1LCAweDVlfSB9LAoteyAweDA2MDAsCTE2LAl7MHhmNiwgMHgzYywgMHhmZCwgMHg4ZiwgMHhmZSwgMHhjOCwgMHhmZiwgMHg2NCwgMHhmZiwgMHhiMiwgMHhmZiwgMHhkOSwgMHhmZiwgMHhlZCwgMHhmZiwgMHhmM30gfSwKLXsgMHgwNjEwLAkxNiwJezB4ZmYsIDB4ZmEsIDB4MTIsIDB4MDEsIDB4MDAsIDB4MDEsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4NDAsIDB4Y2QsIDB4MDYsIDB4MDQsIDB4MDEsIDB4ODksIDB4YWJ9IH0sCi17IDB4MDYyMCwJMTYsCXsweDAxLCAweDAyLCAweDAzLCAweDAxLCAweDA5LCAweDAyLCAweDIwLCAweDAwLCAweDAxLCAweDAxLCAweDAwLCAweDgwLCAweDMyLCAweDA5LCAweDA0LCAweDAwfSB9LAoteyAweDA2MzAsCTE2LAl7MHgwMCwgMHgwMiwgMHhmZiwgMHhmZiwgMHhmZiwgMHgwMCwgMHgwNywgMHgwNSwgMHg4MiwgMHgwMywgMHg0MCwgMHgwMCwgMHgwMSwgMHgwNywgMHgwNSwgMHgwMn0gfSwKLXsgMHgwNjQwLAkxNiwJezB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDYsIDB4NGMsIDB4MDYsIDB4NTAsIDB4MDYsIDB4NzIsIDB4MDYsIDB4YTAsIDB4MDQsIDB4MDMsIDB4MDAsIDB4MDB9IH0sCi17IDB4MDY1MCwJMTYsCXsweDIyLCAweDAzLCAweDQxLCAweDAwLCAweDQzLCAweDAwLCAweDRkLCAweDAwLCAweDQ1LCAweDAwLCAweDIwLCAweDAwLCAweDc1LCAweDAwLCAweDczLCAweDAwfSB9LAoteyAweDA2NjAsCTE2LAl7MHg2MiwgMHgwMCwgMHgyMCwgMHgwMCwgMHg3NywgMHgwMCwgMHg2OSwgMHgwMCwgMHg2NCwgMHgwMCwgMHg2NywgMHgwMCwgMHg2NSwgMHgwMCwgMHg3NCwgMHgwMH0gfSwKLXsgMHgwNjcwLAkxNiwJezB4NzMsIDB4MDAsIDB4MmUsIDB4MDMsIDB4NDEsIDB4MDAsIDB4NDMsIDB4MDAsIDB4NGQsIDB4MDAsIDB4NDUsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NTUsIDB4MDB9IH0sCi17IDB4MDY4MCwJMTYsCXsweDUzLCAweDAwLCAweDQyLCAweDAwLCAweDIwLCAweDAwLCAweDczLCAweDAwLCAweDY1LCAweDAwLCAweDcyLCAweDAwLCAweDY5LCAweDAwLCAweDYxLCAweDAwfSB9LAoteyAweDA2OTAsCTE2LAl7MHg2YywgMHgwMCwgMHgyMCwgMHgwMCwgMHg3NywgMHgwMCwgMHg2OSwgMHgwMCwgMHg2NCwgMHgwMCwgMHg2NywgMHgwMCwgMHg2NSwgMHgwMCwgMHg3NCwgMHgwMH0gfSwKLXsgMHgwNmEwLAk2LAl7MHgwNiwgMHgwMywgMHgzNCwgMHgwMCwgMHgzNywgMHgwMH0gfSwKLXsgMHhmZmZmLAkwLAl7MHgwMH0gfQotfTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL3NlcmlhbC9rZXlzcGFuX3VzYTE4eF9mdy5oIGIvZHJpdmVycy91c2Ivc2VyaWFsL2tleXNwYW5fdXNhMTh4X2Z3LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGU3YjNiYzAuLjAwMDAwMDAKLS0tIGEvZHJpdmVycy91c2Ivc2VyaWFsL2tleXNwYW5fdXNhMTh4X2Z3LmgKKysrIC9kZXYvbnVsbApAQCAtMSw0NDcgKzAsMCBAQAotLyoga2V5c3Bhbl91c2ExOHhfZncuaAotCi0JVGhlIGZpcm13YXJlIGNvbnRhaW5lZCBoZXJlaW4gYXMga2V5c3Bhbl91c2ExOHhfZncuaCBpcwotCi0JCUNvcHlyaWdodCAoQykgMTk5OS0yMDAxCi0JCUtleXNwYW4sIEEgZGl2aXNpb24gb2YgSW5ub1N5cyBJbmNvcnBvcmF0ZWQgKCJLZXlzcGFuIikKLQkJCi0JYXMgYW4gdW5wdWJsaXNoZWQgd29yay4gVGhpcyBub3RpY2UgZG9lcyBub3QgaW1wbHkgdW5yZXN0cmljdGVkIG9yCi0JcHVibGljIGFjY2VzcyB0byB0aGUgc291cmNlIGNvZGUgZnJvbSB3aGljaCB0aGlzIGZpcm13YXJlIGltYWdlIGlzCi0JZGVyaXZlZC4gIEV4Y2VwdCBhcyBub3RlZCBiZWxvdyB0aGlzIGZpcm13YXJlIGltYWdlIG1heSBub3QgYmUgCi0JcmVwcm9kdWNlZCwgdXNlZCwgc29sZCBvciB0cmFuc2ZlcnJlZCB0byBhbnkgdGhpcmQgcGFydHkgd2l0aG91dCAKLQlLZXlzcGFuJ3MgcHJpb3Igd3JpdHRlbiBjb25zZW50LiAgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KLQotCVBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQgZm9yIHRoZSBkaXN0cmlidXRpb24gb2YgdGhpcyBmaXJtd2FyZSAKLQlpbWFnZSBhcyBwYXJ0IG9mIGEgTGludXggb3Igb3RoZXIgT3BlbiBTb3VyY2Ugb3BlcmF0aW5nIHN5c3RlbSBrZXJuZWwgCi0JaW4gdGV4dCBvciBiaW5hcnkgZm9ybSBhcyByZXF1aXJlZC4gCi0KLQlUaGlzIGZpcm13YXJlIG1heSBub3QgYmUgbW9kaWZpZWQgYW5kIG1heSBvbmx5IGJlIHVzZWQgd2l0aCAgCi0JS2V5c3BhbiBoYXJkd2FyZS4gIERpc3RyaWJ1dGlvbiBhbmQvb3IgTW9kaWZpY2F0aW9uIG9mIHRoZSAKLQlrZXlzcGFuLmMgZHJpdmVyIHdoaWNoIGluY2x1ZGVzIHRoaXMgZmlybXdhcmUsIGluIHdob2xlIG9yIGluIAotCXBhcnQsIHJlcXVpcmVzIHRoZSBpbmNsdXNpb24gb2YgdGhpcyBzdGF0ZW1lbnQuIgotKi8KLQotc3RhdGljIGNvbnN0IHN0cnVjdCBlenVzYl9oZXhfcmVjb3JkIGtleXNwYW5fdXNhMTh4X2Zpcm13YXJlW10gPSB7Ci0gezB4MDAzMywgIDMsIHsgMHgwMiwgMHgxMiwgMHhmN319LAotIHsweDAwMDMsIDE2LCB7IDB4ZTQsIDB4OTAsIDB4N2YsIDB4OTMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWMsIDB4NzQsIDB4MzAsIDB4ZjAsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4OTYsIDB4ZjB9fSwKLSB7MHgwMDEzLCAxNiwgeyAweDkwLCAweDdmLCAweDk0LCAweGYwLCAweDkwLCAweDdmLCAweDlkLCAweDc0LCAweGZmLCAweGYwLCAweGU0LCAweDkwLCAweDdmLCAweDk3LCAweGYwLCAweDkwfX0sCi0gezB4MDAyMywgMTUsIHsgMHg3ZiwgMHg5NSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5ZSwgMHg3NCwgMHgwNywgMHhmMCwgMHhlNCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHhmMCwgMHgyMn19LAotIHsweDAwNDYsIDE2LCB7IDB4MzAsIDB4MDksIDB4MTgsIDB4MTIsIDB4MTMsIDB4MWIsIDB4ZWYsIDB4YzMsIDB4OTUsIDB4M2MsIDB4NDAsIDB4MDMsIDB4MDIsIDB4MDAsIDB4ZDgsIDB4OTB9fSwKLSB7MHgwMDU2LCAxNiwgeyAweDdmLCAweGJmLCAweDc0LCAweDAxLCAweGYwLCAweGMyLCAweDA5LCAweGMyLCAweDAwLCAweDgwLCAweDc3LCAweDMwLCAweDAzLCAweDNiLCAweDkwLCAweDdmfX0sCi0gezB4MDA2NiwgMTYsIHsgMHhjNiwgMHhlMCwgMHgyMCwgMHhlMSwgMHg2ZCwgMHgxMiwgMHgxMywgMHgxYiwgMHhlZiwgMHhjMywgMHg5NCwgMHg0MCwgMHg1MCwgMHg2NCwgMHg5MCwgMHg3ZX19LAotIHsweDAwNzYsIDE2LCB7IDB4NDAsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MDksIDB4OTAsIDB4N2YsIDB4YzcsIDB4ZTAsIDB4MTQsIDB4ZjUsIDB4MTksIDB4MjAsIDB4MDAsIDB4MTEsIDB4NjB9fSwKLSB7MHgwMDg2LCAxNiwgeyAweDBmLCAweGY1LCAweDA4LCAweDdlLCAweDdlLCAweDdmLCAweDQxLCAweDc1LCAweDBjLCAweDdlLCAweDc1LCAweDBkLCAweDQxLCAweDEyLCAweDBjLCAweGJhfX0sCi0gezB4MDA5NiwgMTYsIHsgMHhjMiwgMHgwMywgMHhlNCwgMHg5MCwgMHg3ZiwgMHhjNywgMHhmMCwgMHg4MCwgMHgzOSwgMHg5MCwgMHg3ZiwgMHhjOCwgMHhlMCwgMHgyMCwgMHhlMSwgMHgzMn19LAotIHsweDAwYTYsIDE2LCB7IDB4MTIsIDB4MTMsIDB4MWIsIDB4ZWYsIDB4YzMsIDB4OTQsIDB4NDAsIDB4NTAsIDB4MjksIDB4OTAsIDB4N2QsIDB4YzAsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MDl9fSwKLSB7MHgwMGI2LCAxNiwgeyAweDkwLCAweDdmLCAweGM5LCAweGUwLCAweDE0LCAweGY1LCAweDE5LCAweDIwLCAweDAwLCAweDExLCAweDYwLCAweDBmLCAweGY1LCAweDA4LCAweDdlLCAweDdkfX0sCi0gezB4MDBjNiwgMTYsIHsgMHg3ZiwgMHhjMSwgMHg3NSwgMHgwYywgMHg3ZCwgMHg3NSwgMHgwZCwgMHhjMSwgMHgxMiwgMHgwYywgMHhiYSwgMHhkMiwgMHgwMywgMHhlNCwgMHg5MCwgMHg3Zn19LAotIHsweDAwZDYsIDE2LCB7IDB4YzksIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjYsIDB4ZTAsIDB4MzAsIDB4ZTEsIDB4MDMsIDB4MDIsIDB4MDEsIDB4NjAsIDB4MTIsIDB4MTEsIDB4ZDYsIDB4OGZ9fSwKLSB7MHgwMGU2LCAxNiwgeyAweDE5LCAweDEyLCAweDEzLCAweDI3LCAweDhmLCAweDM2LCAweGU1LCAweDE5LCAweGMzLCAweDk1LCAweDNhLCAweDUwLCAweDBmLCAweDEyLCAweDEyLCAweGVifX0sCi0gezB4MDBmNiwgMTYsIHsgMHhlZiwgMHgzMCwgMHhlMCwgMHgwOCwgMHhlNSwgMHgzNiwgMHgyMCwgMHhlNywgMHgwMywgMHgzMCwgMHgwYiwgMHg1ZSwgMHhjMiwgMHgwYiwgMHhlNSwgMHgxOX19LAotIHsweDAwMzYsIDEyLCB7IDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTAsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjJ9fSwKLSB7MHgwMDQzLCAgMywgeyAweDAyLCAweDEzLCAweDAwfX0sCi0gezB4MDAwMCwgIDMsIHsgMHgwMiwgMHgwZSwgMHgwMH19LAotIHsweDAxMDYsIDY0LCB7IDB4NjAsIDB4NTgsIDB4YjQsIDB4ODAsIDB4MDMsIDB4NDMsIDB4MzYsIDB4MDIsIDB4ZTUsIDB4MzYsIDB4MzAsIDB4ZTcsIDB4MjYsIDB4ZTUsIDB4MTksIDB4ZDMsIDB4OTQsCi0gIDB4MjAsIDB4NDAsIDB4MDMsIDB4NzUsIDB4MTksIDB4MjAsIDB4ODUsIDB4MTksIDB4MDgsIDB4N2UsIDB4N2UsIDB4N2YsIDB4ODAsIDB4NzUsIDB4MGMsIDB4N2UsCi0gIDB4NzUsIDB4MGQsIDB4ODAsIDB4YWYsIDB4MzYsIDB4MTIsIDB4MGYsIDB4NGIsIDB4ZTUsIDB4MTksIDB4MjUsIDB4ZTAsIDB4OTAsIDB4N2YsIDB4YjcsIDB4ZjAsCi0gIDB4ODAsIDB4MjcsIDB4ZTUsIDB4MTksIDB4ZDMsIDB4OTQsIDB4M2YsIDB4NDAsIDB4MDMsIDB4NzUsIDB4MTksIDB4M2YsIDB4ODUsIDB4MTksIDB4MDh9fSwKLSB7MHgwMTQ2LCA2NCwgeyAweDkwLCAweDdlLCAweDgwLCAweGU1LCAweDM2LCAweGYwLCAweDdlLCAweDdlLCAweDdmLCAweDgxLCAweDc1LCAweDBjLCAweDdlLCAweDc1LCAweDBkLCAweDgxLCAweDEyLAotICAweDBjLCAweGRmLCAweGU1LCAweDE5LCAweDA0LCAweDkwLCAweDdmLCAweGI3LCAweGYwLCAweDkwLCAweDdmLCAweGNlLCAweGUwLCAweDMwLCAweGUxLCAweDA2LAotICAweDIwLCAweDA1LCAweDAzLCAweDAyLCAweDAzLCAweGMxLCAweGMyLCAweDA1LCAweGU0LCAweGY1LCAweDE4LCAweDc0LCAweDQwLCAweDI1LCAweDE4LCAweGY1LAotICAweDgyLCAweGU0LCAweDM0LCAweDdjLCAweGY1LCAweDgzLCAweGUwLCAweGZmLCAweGU1LCAweDE4LCAweDdjLCAweDAwLCAweDdiLCAweDAxLCAweDdhfX0sCi0gezB4MDE4NiwgNjQsIHsgMHg3ZSwgMHg3OSwgMHgwMCwgMHgyNCwgMHgwMCwgMHhmOSwgMHhlYywgMHgzNCwgMHg3ZSwgMHhmYSwgMHhlZiwgMHgxMiwgMHgwZSwgMHhkMiwgMHgwNSwgMHgxOCwgMHhlNSwKLSAgMHgxOCwgMHhiNCwgMHgyMCwgMHhkNywgMHg5MCwgMHg3ZSwgMHgwMCwgMHhlMCwgMHg2MCwgMHg2OCwgMHg5MCwgMHg3ZSwgMHgwMywgMHhlMCwgMHg2MCwgMHgyNCwKLSAgMHg3ZiwgMHgwMSwgMHhlNCwgMHhmZCwgMHgxMiwgMHgxMSwgMHhiMSwgMHg3ZiwgMHgwMywgMHg3ZCwgMHhjZCwgMHgxMiwgMHgxMSwgMHhiMSwgMHg0MywgMHg0NiwKLSAgMHg4MCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxNCwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlNSwgMHg0NiwgMHhmMCwgMHhlNCwgMHg5MH19LAotIHsweDAxYzYsIDY0LCB7IDB4N2UsIDB4MTMsIDB4ZjAsIDB4ODAsIDB4MzAsIDB4OTAsIDB4N2UsIDB4MDEsIDB4ZTAsIDB4ZmYsIDB4MTIsIDB4MTAsIDB4MzUsIDB4OTAsIDB4N2UsIDB4MDIsIDB4ZTAsCi0gIDB4ZmYsIDB4MTIsIDB4MTAsIDB4NWIsIDB4N2YsIDB4MDEsIDB4OTAsIDB4N2UsIDB4MTEsIDB4ZTAsIDB4ZmQsIDB4MTIsIDB4MTEsIDB4YjEsIDB4N2YsIDB4MDMsCi0gIDB4N2QsIDB4MDcsIDB4MTIsIDB4MTEsIDB4YjEsIDB4NDMsIDB4NDYsIDB4ODAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTQsIDB4ZjAsIDB4OTAsIDB4YzAsCi0gIDB4MDAsIDB4ZTUsIDB4NDYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTIsIDB4ZjAsIDB4ZTUsIDB4NDAsIDB4NDQsIDB4MDYsIDB4OTB9fSwKLSB7MHgwMjA2LCA2NCwgeyAweGMwLCAweDAwLCAweGYwLCAweDkwLCAweDdlLCAweDAzLCAweGUwLCAweDcwLCAweDA2LCAweDkwLCAweDdlLCAweDEzLCAweGUwLCAweDcwLCAweDA4LCAweGU0LCAweDkwLAotICAweDdlLCAweDEzLCAweGYwLCAweDc1LCAweDI1LCAweGZmLCAweDkwLCAweDdlLCAweDA1LCAweGUwLCAweDYwLCAweDEyLCAweGEzLCAweGUwLCAweDU0LCAweDNmLAotICAweGY1LCAweDQ0LCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGU1LCAweDQ0LCAweGYwLCAweDkwLCAweDdlLAotICAweDA3LCAweGUwLCAweDYwLCAweDJiLCAweGEzLCAweGUwLCAweDYwLCAweDA1LCAweDQzLCAweDQyLCAweDgwLCAweDgwLCAweDAzLCAweDUzLCAweDQyfX0sCi0gezB4MDI0NiwgNjQsIHsgMHg3ZiwgMHg1MywgMHg0MiwgMHhmYywgMHg5MCwgMHg3ZSwgMHgwOSwgMHhlMCwgMHg2MCwgMHgxMSwgMHg0MywgMHg0MiwgMHgwMiwgMHhhMywgMHhlMCwgMHhmZiwgMHgxMiwKLSAgMHgxMCwgMHhhNywgMHg5MCwgMHg3ZSwgMHgwYiwgMHhlMCwgMHhmZiwgMHgxMiwgMHgxMCwgMHhjZCwgMHhhZiwgMHg0MiwgMHgxMiwgMHgxMCwgMHg4MSwgMHg5MCwKLSAgMHg3ZSwgMHgwMywgMHhlMCwgMHg2MCwgMHgwOCwgMHg1MywgMHg0MiwgMHg3ZiwgMHhhZiwgMHg0MiwgMHgxMiwgMHgxMCwgMHg4MSwgMHg5MCwgMHg3ZSwgMHgwYywKLSAgMHhlMCwgMHg2MCwgMHgxOCwgMHhhMywgMHhlMCwgMHg2MCwgMHgwNSwgMHg0MywgMHg0NiwgMHgwMiwgMHg4MCwgMHgwMywgMHg1MywgMHg0NiwgMHhmZH19LAotIHsweDAyODYsIDY0LCB7IDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTQsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTUsIDB4NDYsIDB4ZjAsIDB4OTAsIDB4N2UsIDB4MGUsIDB4ZTAsIDB4NjAsCi0gIDB4MTgsIDB4YTMsIDB4ZTAsIDB4NjAsIDB4MDUsIDB4NDMsIDB4NDYsIDB4MDEsIDB4ODAsIDB4MDMsIDB4NTMsIDB4NDYsIDB4ZmUsIDB4OTAsIDB4N2YsIDB4OTgsCi0gIDB4NzQsIDB4MTQsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTUsIDB4NDYsIDB4ZjAsIDB4OTAsIDB4N2UsIDB4MTIsIDB4ZTAsIDB4ZjUsIDB4M2EsIDB4YTMsCi0gIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MGQsIDB4YTMsIDB4ZTAsIDB4ZjUsIDB4M2MsIDB4YTMsIDB4ZTAsIDB4NjAsIDB4MDUsIDB4NDMsIDB4NDYsIDB4MTB9fSwKLSB7MHgwMmM2LCA2NCwgeyAweDgwLCAweDAzLCAweDUzLCAweDQ2LCAweGVmLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDE0LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGU1LCAweDQ2LCAweGYwLAotICAweDkwLCAweDdlLCAweDE2LCAweGUwLCAweDYwLCAweDMyLCAweDUzLCAweDQ0LCAweGJmLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweGU1LAotICAweDQ0LCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDExLCAweGYwLCAweDEyLCAweDEyLCAweGRmLAotICAweGVmLCAweDU0LCAweGZlLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDUzLCAweDNlLCAweGZkLCAweGU0LCAweGZmLCAweGFkLCAweDNlLCAweDEyfX0sCi0gezB4MDMwNiwgNjQsIHsgMHgxMSwgMHhiMSwgMHhlNCwgMHhmNSwgMHgyYSwgMHhmNSwgMHgyOSwgMHhkMiwgMHgwNywgMHg5MCwgMHg3ZSwgMHgxNywgMHhlMCwgMHg2MCwgMHgwZiwgMHg0MywgMHgzZSwKLSAgMHgwMiwgMHhlNCwgMHhmZiwgMHhhZCwgMHgzZSwgMHgxMiwgMHgxMSwgMHhiMSwgMHg3NSwgMHgyOSwgMHgwMSwgMHhkMiwgMHgwNywgMHg5MCwgMHg3ZSwgMHgxOCwKLSAgMHhlMCwgMHg2MCwgMHgxMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMiwgMHhmMCwgMHhlNSwgMHg0MCwgMHg0NCwgMHgwNCwgMHg5MCwgMHhjMCwgMHgwMCwKLSAgMHhmMCwgMHhkMiwgMHgwMCwgMHg5MCwgMHg3ZSwgMHgxOSwgMHhlMCwgMHg2MCwgMHgxMSwgMHg0MywgMHg0NCwgMHg0MCwgMHg5MCwgMHg3ZiwgMHg5OH19LAotIHsweDAzNDYsIDY0LCB7IDB4NzQsIDB4MTMsIDB4ZjAsIDB4ZTUsIDB4NDQsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4OTAsIDB4N2UsIDB4MWEsIDB4ZTAsIDB4NjAsIDB4MGYsCi0gIDB4NTMsIDB4M2UsIDB4ZmUsIDB4ZTQsIDB4ZmYsIDB4YWQsIDB4M2UsIDB4MTIsIDB4MTEsIDB4YjEsIDB4NzUsIDB4MmIsIDB4MDEsIDB4ZDIsIDB4MDcsIDB4OTAsCi0gIDB4N2UsIDB4MWIsIDB4ZTAsIDB4NjAsIDB4MGYsIDB4NDMsIDB4M2UsIDB4MDEsIDB4ZTQsIDB4ZmYsIDB4YWQsIDB4M2UsIDB4MTIsIDB4MTEsIDB4YjEsIDB4ZTQsCi0gIDB4ZjUsIDB4MmIsIDB4ZDIsIDB4MDcsIDB4OTAsIDB4N2UsIDB4MWMsIDB4ZTAsIDB4NjAsIDB4MGUsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTJ9fSwKLSB7MHgwMzg2LCA2NCwgeyAweGYwLCAweGU1LCAweDQwLCAweDQ0LCAweDAyLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDkwLCAweDdlLCAweDFkLCAweGUwLCAweDYwLCAweDAyLCAweGQyLCAweDBiLAotICAweDkwLCAweDdlLCAweDFlLCAweGUwLCAweDYwLCAweDA4LCAweDc1LCAweDJjLCAweDAxLCAweGU0LCAweGY1LCAweDM4LCAweGQyLCAweDA3LCAweDkwLCAweDdlLAotICAweDFmLCAweGUwLCAweDYwLCAweDExLCAweDkwLCAweDdmLCAweGQ3LCAweDc0LCAweDExLCAweGYwLCAweDc0LCAweDMxLCAweGYwLCAweDc0LCAweDE1LCAweGYwLAotICAweDc0LCAweDM1LCAweGYwLCAweGQyLCAweDAzLCAweGU0LCAweDkwLCAweDdmLCAweGNmLCAweGYwLCAweDMwLCAweDFhLCAweDUyLCAweGU1LCAweDM4fX0sCi0gezB4MDNjNiwgNjQsIHsgMHg2MCwgMHgwMiwgMHgxNSwgMHgzOCwgMHgyMCwgMHgxMywgMHg0OSwgMHhlNSwgMHgxMywgMHhkMywgMHg5NCwgMHgwMCwgMHg0MCwgMHgwNCwgMHgxNSwgMHgxMywgMHg4MCwKLSAgMHgzZSwgMHg3NSwgMHgxMywgMHgwYSwgMHgzMCwgMHgxYiwgMHgwMiwgMHhkMiwgMHgxMywgMHgxMiwgMHgxMiwgMHhkZiwgMHhlZiwgMHg1NCwgMHgwMSwgMHhmNSwKLSAgMHgxOSwgMHg2NSwgMHgyYSwgMHg2MCwgMHgwNSwgMHg4NSwgMHgxOSwgMHgyYSwgMHhkMiwgMHgwNywgMHgxMiwgMHgxMywgMHgzMywgMHhlZiwgMHg1NCwgMHg4MCwKLSAgMHhmNSwgMHgxOSwgMHg2NSwgMHgyNiwgMHg2MCwgMHgwNSwgMHg4NSwgMHgxOSwgMHgyNiwgMHhkMiwgMHgwNywgMHgzMCwgMHgwZCwgMHgxMSwgMHgxMn19LAotIHsweDA0MDYsIDY0LCB7IDB4MTMsIDB4MzMsIDB4ZWYsIDB4NTQsIDB4MTAsIDB4ZjUsIDB4MTksIDB4NjUsIDB4MjUsIDB4NjAsIDB4MDUsIDB4ODUsIDB4MTksIDB4MjUsIDB4ZDIsIDB4MDcsIDB4MjAsCi0gIDB4MWIsIDB4MDMsIDB4MDIsIDB4MDcsIDB4ZWMsIDB4MzAsIDB4MGEsIDB4MTgsIDB4MTIsIDB4MTMsIDB4NmYsIDB4ZWYsIDB4YzMsIDB4OTUsIDB4M2QsIDB4NDAsCi0gIDB4MDMsIDB4MDIsIDB4MDQsIDB4YWUsIDB4OTAsIDB4N2YsIDB4YzEsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4YzIsIDB4MGEsIDB4YzIsIDB4MDAsIDB4ODAsIDB4NzcsCi0gIDB4MzAsIDB4MDQsIDB4M2IsIDB4OTAsIDB4N2YsIDB4Y2EsIDB4ZTAsIDB4MjAsIDB4ZTEsIDB4NmQsIDB4MTIsIDB4MTMsIDB4NmYsIDB4ZWYsIDB4YzN9fSwKLSB7MHgwNDQ2LCA2NCwgeyAweDk0LCAweDQwLCAweDUwLCAweDY0LCAweDkwLCAweDdkLCAweDQwLCAweGUwLCAweDEzLCAweDkyLCAweDBhLCAweDkwLCAweDdmLCAweGNiLCAweGUwLCAweDE0LCAweGY1LAotICAweDE5LCAweDIwLCAweDAwLCAweDExLCAweDYwLCAweDBmLCAweGY1LCAweDA4LCAweDdlLCAweDdkLCAweDdmLCAweDQxLCAweDc1LCAweDBjLCAweDdkLCAweDc1LAotICAweDBkLCAweDQxLCAweDEyLCAweDBkLCAweDA0LCAweGMyLCAweDA0LCAweGU0LCAweDkwLCAweDdmLCAweGNiLCAweGYwLCAweDgwLCAweDM5LCAweDkwLCAweDdmLAotICAweGNjLCAweGUwLCAweDIwLCAweGUxLCAweDMyLCAweDEyLCAweDEzLCAweDZmLCAweGVmLCAweGMzLCAweDk0LCAweDQwLCAweDUwLCAweDI5LCAweDkwfX0sCi0gezB4MDQ4NiwgNjQsIHsgMHg3YywgMHhjMCwgMHhlMCwgMHgxMywgMHg5MiwgMHgwYSwgMHg5MCwgMHg3ZiwgMHhjZCwgMHhlMCwgMHgxNCwgMHhmNSwgMHgxOSwgMHgyMCwgMHgwMCwgMHgxMSwgMHg2MCwKLSAgMHgwZiwgMHhmNSwgMHgwOCwgMHg3ZSwgMHg3YywgMHg3ZiwgMHhjMSwgMHg3NSwgMHgwYywgMHg3YywgMHg3NSwgMHgwZCwgMHhjMSwgMHgxMiwgMHgwZCwgMHgwNCwKLSAgMHhkMiwgMHgwNCwgMHhlNCwgMHg5MCwgMHg3ZiwgMHhjZCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiYSwgMHhlMCwgMHgzMCwgMHhlMSwgMHgwMywgMHgwMiwgMHgwNSwKLSAgMHgzNiwgMHgxMiwgMHgxMiwgMHgyMCwgMHg4ZiwgMHgxOSwgMHgxMiwgMHgxMywgMHg3YiwgMHg4ZiwgMHgzNywgMHhlNSwgMHgxOSwgMHhjMywgMHg5NX19LAotIHsweDA0YzYsIDY0LCB7IDB4M2IsIDB4NTAsIDB4MGYsIDB4MTIsIDB4MTMsIDB4NTcsIDB4ZWYsIDB4MzAsIDB4ZTAsIDB4MDgsIDB4ZTUsIDB4MzcsIDB4MjAsIDB4ZTcsIDB4MDMsIDB4MzAsIDB4MGMsCi0gIDB4NWUsIDB4YzIsIDB4MGMsIDB4ZTUsIDB4MTksIDB4NjAsIDB4NTgsIDB4YjQsIDB4ODAsIDB4MDMsIDB4NDMsIDB4MzcsIDB4MDIsIDB4ZTUsIDB4MzcsIDB4MzAsCi0gIDB4ZTcsIDB4MjYsIDB4ZTUsIDB4MTksIDB4ZDMsIDB4OTQsIDB4MjAsIDB4NDAsIDB4MDMsIDB4NzUsIDB4MTksIDB4MjAsIDB4ODUsIDB4MTksIDB4MDgsIDB4N2UsCi0gIDB4N2QsIDB4N2YsIDB4ODAsIDB4NzUsIDB4MGMsIDB4N2QsIDB4NzUsIDB4MGQsIDB4ODAsIDB4YWYsIDB4MzcsIDB4MTIsIDB4MGYsIDB4ODQsIDB4ZTV9fSwKLSB7MHgwNTA2LCA2NCwgeyAweDE5LCAweDI1LCAweGUwLCAweDkwLCAweDdmLCAweGJiLCAweGYwLCAweDgwLCAweDI3LCAweGU1LCAweDE5LCAweGQzLCAweDk0LCAweDNmLCAweDQwLCAweDAzLCAweDc1LAotICAweDE5LCAweDNmLCAweDg1LCAweDE5LCAweDA4LCAweDkwLCAweDdkLCAweDgwLCAweGU1LCAweDM3LCAweGYwLCAweDdlLCAweDdkLCAweDdmLCAweDgxLCAweDc1LAotICAweDBjLCAweDdkLCAweDc1LCAweDBkLCAweDgxLCAweDEyLCAweDBkLCAweDI5LCAweGU1LCAweDE5LCAweDA0LCAweDkwLCAweDdmLCAweGJiLCAweGYwLCAweDkwLAotICAweDdmLCAweGQwLCAweGUwLCAweDMwLCAweGUxLCAweDA2LCAweDIwLCAweDA2LCAweDAzLCAweDAyLCAweDA3LCAweDk3LCAweGMyLCAweDA2LCAweGU0fX0sCi0gezB4MDU0NiwgNjQsIHsgMHhmNSwgMHgxOCwgMHg3NCwgMHhjMCwgMHgyNSwgMHgxOCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3YiwgMHhmNSwgMHg4MywgMHhlMCwgMHhmZiwgMHhlNSwgMHgxOCwKLSAgMHg3YywgMHgwMCwgMHg3YiwgMHgwMSwgMHg3YSwgMHg3ZSwgMHg3OSwgMHgyMCwgMHgyNCwgMHgyMCwgMHhmOSwgMHhlYywgMHgzNCwgMHg3ZSwgMHhmYSwgMHhlZiwKLSAgMHgxMiwgMHgwZSwgMHhkMiwgMHgwNSwgMHgxOCwgMHhlNSwgMHgxOCwgMHhiNCwgMHgyMCwgMHhkNywgMHg5MCwgMHg3ZSwgMHgyMCwgMHhlMCwgMHg2MCwgMHg2OCwKLSAgMHg5MCwgMHg3ZSwgMHgyMywgMHhlMCwgMHg2MCwgMHgyNCwgMHg3ZiwgMHgwMSwgMHhlNCwgMHhmZCwgMHgxMiwgMHgxMSwgMHhmYiwgMHg3ZiwgMHgwM319LAotIHsweDA1ODYsIDY0LCB7IDB4N2QsIDB4Y2QsIDB4MTIsIDB4MTEsIDB4ZmIsIDB4NDMsIDB4NDcsIDB4ODAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGMsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsCi0gIDB4ZTUsIDB4NDcsIDB4ZjAsIDB4ZTQsIDB4OTAsIDB4N2UsIDB4MzMsIDB4ZjAsIDB4ODAsIDB4MzAsIDB4OTAsIDB4N2UsIDB4MjEsIDB4ZTAsIDB4ZmYsIDB4MTIsCi0gIDB4MTEsIDB4MTksIDB4OTAsIDB4N2UsIDB4MjIsIDB4ZTAsIDB4ZmYsIDB4MTIsIDB4MTEsIDB4M2YsIDB4N2YsIDB4MDEsIDB4OTAsIDB4N2UsIDB4MzEsIDB4ZTAsCi0gIDB4ZmQsIDB4MTIsIDB4MTEsIDB4ZmIsIDB4N2YsIDB4MDMsIDB4N2QsIDB4MDcsIDB4MTIsIDB4MTEsIDB4ZmIsIDB4NDMsIDB4NDcsIDB4ODAsIDB4OTB9fSwKLSB7MHgwNWM2LCA2NCwgeyAweDdmLCAweDk4LCAweDc0LCAweDBjLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGU1LCAweDQ3LCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBhLCAweGYwLAotICAweGU1LCAweDQxLCAweDQ0LCAweDA2LCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDkwLCAweDdlLCAweDIzLCAweGUwLCAweDcwLCAweDA2LCAweDkwLCAweDdlLAotICAweDMzLCAweGUwLCAweDcwLCAweDA4LCAweGU0LCAweDkwLCAweDdlLCAweDMzLCAweGYwLCAweDc1LCAweDJlLCAweGZmLCAweDkwLCAweDdlLCAweDI1LCAweGUwLAotICAweDYwLCAweDEyLCAweGEzLCAweGUwLCAweDU0LCAweDNmLCAweGY1LCAweDQ1LCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBiLCAweGYwLCAweDkwfX0sCi0gezB4MDYwNiwgNjQsIHsgMHhjMCwgMHgwMCwgMHhlNSwgMHg0NSwgMHhmMCwgMHg5MCwgMHg3ZSwgMHgyNywgMHhlMCwgMHg2MCwgMHgyYiwgMHhhMywgMHhlMCwgMHg2MCwgMHgwNSwgMHg0MywgMHg0MywKLSAgMHg4MCwgMHg4MCwgMHgwMywgMHg1MywgMHg0MywgMHg3ZiwgMHg1MywgMHg0MywgMHhmYywgMHg5MCwgMHg3ZSwgMHgyOSwgMHhlMCwgMHg2MCwgMHgxMSwgMHg0MywKLSAgMHg0MywgMHgwMiwgMHhhMywgMHhlMCwgMHhmZiwgMHgxMiwgMHgxMSwgMHg2NSwgMHg5MCwgMHg3ZSwgMHgyYiwgMHhlMCwgMHhmZiwgMHgxMiwgMHgxMSwgMHg4YiwKLSAgMHhhZiwgMHg0MywgMHgxMiwgMHgxMCwgMHhmMywgMHg5MCwgMHg3ZSwgMHgyMywgMHhlMCwgMHg2MCwgMHgwOCwgMHg1MywgMHg0MywgMHg3ZiwgMHhhZn19LAotIHsweDA2NDYsIDY0LCB7IDB4NDMsIDB4MTIsIDB4MTAsIDB4ZjMsIDB4OTAsIDB4N2UsIDB4MmMsIDB4ZTAsIDB4NjAsIDB4MTgsIDB4YTMsIDB4ZTAsIDB4NjAsIDB4MDUsIDB4NDMsIDB4NDcsIDB4MDIsCi0gIDB4ODAsIDB4MDMsIDB4NTMsIDB4NDcsIDB4ZmQsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGMsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTUsIDB4NDcsCi0gIDB4ZjAsIDB4OTAsIDB4N2UsIDB4MmUsIDB4ZTAsIDB4NjAsIDB4MTgsIDB4YTMsIDB4ZTAsIDB4NjAsIDB4MDUsIDB4NDMsIDB4NDcsIDB4MDEsIDB4ODAsIDB4MDMsCi0gIDB4NTMsIDB4NDcsIDB4ZmUsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGMsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTUsIDB4NDcsIDB4ZjB9fSwKLSB7MHgwNjg2LCA2NCwgeyAweDkwLCAweDdlLCAweDMyLCAweGUwLCAweGY1LCAweDNiLCAweGEzLCAweGUwLCAweDEzLCAweDkyLCAweDBlLCAweGEzLCAweGUwLCAweGY1LCAweDNkLCAweGEzLCAweGUwLAotICAweDYwLCAweDA1LCAweDQzLCAweDQ3LCAweDEwLCAweDgwLCAweDAzLCAweDUzLCAweDQ3LCAweGVmLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBjLCAweGYwLAotICAweDkwLCAweGMwLCAweDAwLCAweGU1LCAweDQ3LCAweGYwLCAweDkwLCAweDdlLCAweDM2LCAweGUwLCAweDYwLCAweDMyLCAweDUzLCAweDQ1LCAweGJmLCAweDkwLAotICAweDdmLCAweDk4LCAweDc0LCAweDBiLCAweGYwLCAweGU1LCAweDQ1LCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDkwLCAweDdmfX0sCi0gezB4MDZjNiwgNjQsIHsgMHg5OCwgMHg3NCwgMHgwOSwgMHhmMCwgMHgxMiwgMHgxMywgMHg0YiwgMHhlZiwgMHg1NCwgMHhmZSwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHg1MywgMHgzZiwgMHhmZCwKLSAgMHhlNCwgMHhmZiwgMHhhZCwgMHgzZiwgMHgxMiwgMHgxMSwgMHhmYiwgMHhlNCwgMHhmNSwgMHgzMywgMHhmNSwgMHgzMiwgMHhkMiwgMHgwOCwgMHg5MCwgMHg3ZSwKLSAgMHgzNywgMHhlMCwgMHg2MCwgMHgwZiwgMHg0MywgMHgzZiwgMHgwMiwgMHhlNCwgMHhmZiwgMHhhZCwgMHgzZiwgMHgxMiwgMHgxMSwgMHhmYiwgMHg3NSwgMHgzMiwKLSAgMHgwMSwgMHhkMiwgMHgwOCwgMHg5MCwgMHg3ZSwgMHgzOCwgMHhlMCwgMHg2MCwgMHgxMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYSwgMHhmMH19LAotIHsweDA3MDYsIDY0LCB7IDB4ZTUsIDB4NDEsIDB4NDQsIDB4MDQsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4ZDIsIDB4MDAsIDB4OTAsIDB4N2UsIDB4MzksIDB4ZTAsIDB4NjAsIDB4MTEsIDB4NDMsCi0gIDB4NDUsIDB4NDAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGIsIDB4ZjAsIDB4ZTUsIDB4NDUsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsCi0gIDB4OTAsIDB4N2UsIDB4M2EsIDB4ZTAsIDB4NjAsIDB4MGYsIDB4NTMsIDB4M2YsIDB4ZmUsIDB4ZTQsIDB4ZmYsIDB4YWQsIDB4M2YsIDB4MTIsIDB4MTEsIDB4ZmIsCi0gIDB4NzUsIDB4MzQsIDB4MDEsIDB4ZDIsIDB4MDgsIDB4OTAsIDB4N2UsIDB4M2IsIDB4ZTAsIDB4NjAsIDB4MGYsIDB4NDMsIDB4M2YsIDB4MDEsIDB4ZTR9fSwKLSB7MHgwNzQ2LCA2NCwgeyAweGZmLCAweGFkLCAweDNmLCAweDEyLCAweDExLCAweGZiLCAweGU0LCAweGY1LCAweDM0LCAweGQyLCAweDA4LCAweDkwLCAweDdlLCAweDNjLCAweGUwLCAweDYwLCAweDBlLAotICAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBhLCAweGYwLCAweGU1LCAweDQxLCAweDQ0LCAweDAyLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDkwLCAweDdlLAotICAweDNkLCAweGUwLCAweDYwLCAweDAyLCAweGQyLCAweDBjLCAweDkwLCAweDdlLCAweDNlLCAweGUwLCAweDYwLCAweDA4LCAweDc1LCAweDM1LCAweDAxLCAweGU0LAotICAweGY1LCAweDM5LCAweGQyLCAweDA4LCAweDkwLCAweDdlLCAweDNmLCAweGUwLCAweDYwLCAweDExLCAweDkwLCAweDdmLCAweGQ3LCAweDc0LCAweDEzfX0sCi0gezB4MDc4NiwgNjQsIHsgMHhmMCwgMHg3NCwgMHgzMywgMHhmMCwgMHg3NCwgMHgxNiwgMHhmMCwgMHg3NCwgMHgzNiwgMHhmMCwgMHhkMiwgMHgwNCwgMHhlNCwgMHg5MCwgMHg3ZiwgMHhkMSwgMHhmMCwKLSAgMHgzMCwgMHgxYSwgMHg1MiwgMHhlNSwgMHgzOSwgMHg2MCwgMHgwMiwgMHgxNSwgMHgzOSwgMHgzMCwgMHgxMywgMHg0OSwgMHhlNSwgMHgxMywgMHhkMywgMHg5NCwKLSAgMHgwMCwgMHg0MCwgMHgwNCwgMHgxNSwgMHgxMywgMHg4MCwgMHgzZSwgMHg3NSwgMHgxMywgMHgwYSwgMHgzMCwgMHgxYiwgMHgwMiwgMHhjMiwgMHgxMywgMHgxMiwKLSAgMHgxMywgMHg0YiwgMHhlZiwgMHg1NCwgMHgwMSwgMHhmNSwgMHgxOSwgMHg2NSwgMHgzMywgMHg2MCwgMHgwNSwgMHg4NSwgMHgxOSwgMHgzMywgMHhkMn19LAotIHsweDA3YzYsIDY0LCB7IDB4MDgsIDB4MTIsIDB4MTMsIDB4ODcsIDB4ZWYsIDB4NTQsIDB4ODAsIDB4ZjUsIDB4MTksIDB4NjUsIDB4MmYsIDB4NjAsIDB4MDUsIDB4ODUsIDB4MTksIDB4MmYsIDB4ZDIsCi0gIDB4MDgsIDB4MzAsIDB4MGUsIDB4MTEsIDB4MTIsIDB4MTMsIDB4ODcsIDB4ZWYsIDB4NTQsIDB4MTAsIDB4ZjUsIDB4MTksIDB4NjUsIDB4MmUsIDB4NjAsIDB4MDUsCi0gIDB4ODUsIDB4MTksIDB4MmUsIDB4ZDIsIDB4MDgsIDB4MzAsIDB4MWEsIDB4MmEsIDB4OTAsIDB4N2YsIDB4ZDIsIDB4ZTAsIDB4MjAsIDB4ZTEsIDB4MjMsIDB4OTAsCi0gIDB4N2IsIDB4NDAsIDB4ZTAsIDB4NjAsIDB4MDksIDB4ZTAsIDB4ZjUsIDB4MTUsIDB4OTAsIDB4N2IsIDB4NDIsIDB4ZTAsIDB4ZjUsIDB4MTYsIDB4OTB9fSwKLSB7MHgwODA2LCA2NCwgeyAweDdiLCAweDQxLCAweGUwLCAweDYwLCAweDA5LCAweDkwLCAweDdmLCAweGQ3LCAweDc0LCAweDE3LCAweGYwLCAweDc0LCAweDM3LCAweGYwLCAweGU0LCAweDkwLCAweDdmLAotICAweGQzLCAweGYwLCAweDkwLCAweDdmLCAweGMyLCAweGUwLCAweDMwLCAweGUxLCAweDAzLCAweDAyLCAweDA5LCAweDIwLCAweGU1LCAweDBhLCAweDcwLCAweDQwLAotICAweDMwLCAweDA3LCAweDM5LCAweGU1LCAweDM4LCAweDcwLCAweDM1LCAweGMyLCAweDA3LCAweGY1LCAweDE4LCAweDdlLCAweDAwLCAweDdiLCAweDAwLCAweDc0LAotICAweDI0LCAweDI1LCAweDE4LCAweGY5LCAweGVlLCAweDM0LCAweDAwLCAweGZhLCAweDEyLCAweDBlLCAweDhjLCAweGZmLCAweDc0LCAweDgwLCAweDI1fX0sCi0gezB4MDg0NiwgNjQsIHsgMHgxOCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3YiwgMHhmNSwgMHg4MywgMHhlZiwgMHhmMCwgMHgwNSwgMHgxOCwgMHhlNSwgMHgxOCwgMHhiNCwgMHgwOSwgMHhkYiwKLSAgMHg5MCwgMHg3ZiwgMHhjMywgMHg3NCwgMHgwOSwgMHhmMCwgMHg3NSwgMHgzOCwgMHgxMCwgMHhlNCwgMHhmNSwgMHgyYywgMHg3NSwgMHgwYSwgMHgwMSwgMHgyMiwKLSAgMHhlNSwgMHgwYSwgMHg2NCwgMHgwMSwgMHg3MCwgMHg0MCwgMHgzMCwgMHgwOCwgMHgzOSwgMHhlNSwgMHgzOSwgMHg3MCwgMHgzNSwgMHhjMiwgMHgwOCwgMHhmNSwKLSAgMHgxOCwgMHg3ZSwgMHgwMCwgMHg3YiwgMHgwMCwgMHg3NCwgMHgyZCwgMHgyNSwgMHgxOCwgMHhmOSwgMHhlZSwgMHgzNCwgMHgwMCwgMHhmYSwgMHgxMn19LAotIHsweDA4ODYsIDY0LCB7IDB4MGUsIDB4OGMsIDB4ZmYsIDB4NzQsIDB4ODAsIDB4MjUsIDB4MTgsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2IsIDB4ZjUsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4MDUsCi0gIDB4MTgsIDB4ZTUsIDB4MTgsIDB4YjQsIDB4MDksIDB4ZGIsIDB4OTAsIDB4N2YsIDB4YzMsIDB4NzQsIDB4MDksIDB4ZjAsIDB4NzUsIDB4MzksIDB4MTAsIDB4ZTQsCi0gIDB4ZjUsIDB4MzUsIDB4NzUsIDB4MGEsIDB4MDIsIDB4MjIsIDB4ZTUsIDB4MGEsIDB4NjQsIDB4MDIsIDB4NzAsIDB4MzYsIDB4MzAsIDB4MTQsIDB4MmYsIDB4YzIsCi0gIDB4MTQsIDB4ZjUsIDB4MTgsIDB4N2UsIDB4MDAsIDB4N2IsIDB4MDAsIDB4NzQsIDB4MGUsIDB4MjUsIDB4MTgsIDB4ZjksIDB4ZWUsIDB4MzQsIDB4MDB9fSwKLSB7MHgwOGM2LCA2NCwgeyAweGZhLCAweDEyLCAweDBlLCAweDhjLCAweGZmLCAweDc0LCAweDgwLCAweDI1LCAweDE4LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdiLCAweGY1LCAweDgzLCAweGVmLAotICAweGYwLCAweDA1LCAweDE4LCAweGU1LCAweDE4LCAweGI0LCAweDA1LCAweGRiLCAweDkwLCAweDdmLCAweGMzLCAweDc0LCAweDA1LCAweGYwLCAweDc1LCAweDBhLAotICAweDAzLCAweDIyLCAweGU1LCAweDE1LCAweDYwLCAweDMwLCAweDE1LCAweDE1LCAweGU0LCAweGY1LCAweDE4LCAweDdlLCAweDAwLCAweDdiLCAweDAwLCAweDc0LAotICAweDE0LCAweDI1LCAweDE4LCAweGY5LCAweGVlLCAweDM0LCAweDAwLCAweGZhLCAweDEyLCAweDBlLCAweDhjLCAweGZmLCAweDc0LCAweDgwLCAweDI1fX0sCi0gezB4MDkwNiwgNjQsIHsgMHgxOCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3YiwgMHhmNSwgMHg4MywgMHhlZiwgMHhmMCwgMHgwNSwgMHgxOCwgMHhlNSwgMHgxOCwgMHhiNCwgMHgwMywgMHhkYiwKLSAgMHg5MCwgMHg3ZiwgMHhjMywgMHg3NCwgMHgwMywgMHhmMCwgMHhlNCwgMHhmNSwgMHgwYSwgMHgyMiwgMHg5MCwgMHg3ZiwgMHhlOSwgMHhlMCwgMHgxMiwgMHgwZSwKLSAgMHhlNCwgMHgwYSwgMHgwOCwgMHgwMCwgMHgwYSwgMHg3YywgMHgwMSwgMHgwYSwgMHhlOCwgMHgwMywgMHgwOSwgMHg0NCwgMHgwNiwgMHgwOSwgMHhmYiwgMHgwOCwKLSAgMHgwOSwgMHhmNSwgMHgwOSwgMHgwOSwgMHhkZCwgMHgwYSwgMHgwOSwgMHhlYywgMHgwYiwgMHgwMCwgMHgwMCwgMHgwYiwgMHgzNywgMHg5MCwgMHg3Zn19LAotIHsweDA5NDYsIDY0LCB7IDB4ZWIsIDB4ZTAsIDB4MjQsIDB4ZmUsIDB4NjAsIDB4MTksIDB4MTQsIDB4NjAsIDB4NjEsIDB4MjQsIDB4MDIsIDB4NjAsIDB4MDMsIDB4MDIsIDB4MDksIDB4ZDMsIDB4NzQsCi0gIDB4MTksIDB4OTAsIDB4N2YsIDB4ZDQsIDB4ZjAsIDB4NzQsIDB4MDAsIDB4OTAsIDB4N2YsIDB4ZDUsIDB4ZjAsIDB4MDIsIDB4MGIsIDB4M2UsIDB4OTAsIDB4N2YsCi0gIDB4ZWEsIDB4ZTAsIDB4NzAsIDB4MDQsIDB4N2YsIDB4MDIsIDB4ODAsIDB4MDIsIDB4N2YsIDB4MDMsIDB4NzUsIDB4ODIsIDB4ODIsIDB4NzUsIDB4ODMsIDB4MTksCi0gIDB4ZWYsIDB4ZjAsIDB4NzUsIDB4ODIsIDB4N2IsIDB4NzUsIDB4ODMsIDB4MTksIDB4ZjAsIDB4NzUsIDB4ODIsIDB4NzQsIDB4NzUsIDB4ODMsIDB4MTl9fSwKLSB7MHgwOTg2LCA2NCwgeyAweGYwLCAweDc1LCAweDgyLCAweDY2LCAweDc1LCAweDgzLCAweDE5LCAweGYwLCAweDc1LCAweDgyLCAweDU4LCAweDc1LCAweDgzLCAweDE5LCAweGYwLCAweDkwLCAweDdmLAotICAweGVhLCAweGUwLCAweDA0LCAweDc1LCAweDgyLCAweDE3LCAweDc1LCAweDgzLCAweDE5LCAweGYwLCAweDc0LCAweDE5LCAweDkwLCAweDdmLCAweGQ0LCAweGYwLAotICAweDc0LCAweDEyLCAweDkwLCAweDdmLCAweGQ1LCAweGYwLCAweDAyLCAweDBiLCAweDNlLCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweGZmLCAweDEyLCAweDBmLAotICAweDBhLCAweGVhLCAweDQ5LCAweDYwLCAweDBkLCAweGVhLCAweDkwLCAweDdmLCAweGQ0LCAweGYwLCAweGU5LCAweDkwLCAweDdmLCAweGQ1LCAweGYwfX0sCi0gezB4MDljNiwgNjQsIHsgMHgwMiwgMHgwYiwgMHgzZSwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHgwMiwgMHgwYiwgMHgzZSwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwKLSAgMHg0NCwgMHgwMSwgMHhmMCwgMHgwMiwgMHgwYiwgMHgzZSwgMHg5MCwgMHg3ZiwgMHgwMCwgMHhlNSwgMHgwOSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHg3NCwKLSAgMHgwMSwgMHhmMCwgMHgwMiwgMHgwYiwgMHgzZSwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHhmNSwgMHgwOSwgMHgwMiwgMHgwYiwgMHgzZSwgMHgxMiwgMHgwYiwKLSAgMHg0NiwgMHgwMiwgMHgwYiwgMHgzZSwgMHg5MCwgMHg3ZiwgMHgwMCwgMHg3NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHhmMCwgMHgwMn19LAotIHsweDBhMDYsIDY0LCB7IDB4MGIsIDB4M2UsIDB4OTAsIDB4N2YsIDB4ZTgsIDB4ZTAsIDB4MjQsIDB4N2YsIDB4NjAsIDB4MjQsIDB4MTQsIDB4NjAsIDB4MzEsIDB4MjQsIDB4MDIsIDB4NzAsIDB4NWIsCi0gIDB4YTIsIDB4MTAsIDB4ZTQsIDB4MzMsIDB4ZmYsIDB4MjUsIDB4ZTAsIDB4ZmYsIDB4YTIsIDB4MTYsIDB4ZTQsIDB4MzMsIDB4NGYsIDB4OTAsIDB4N2YsIDB4MDAsCi0gIDB4ZjAsIDB4ZTQsIDB4YTMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4MDIsIDB4MGIsIDB4M2UsIDB4ZTQsIDB4OTAsIDB4N2YsCi0gIDB4MDAsIDB4ZjAsIDB4YTMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4MDIsIDB4MGIsIDB4M2UsIDB4OTAsIDB4N2Z9fSwKLSB7MHgwYTQ2LCA2NCwgeyAweGVjLCAweGUwLCAweGY0LCAweDU0LCAweDgwLCAweGZmLCAweGM0LCAweDU0LCAweDBmLCAweGZmLCAweGUwLCAweDU0LCAweDA3LCAweDJmLCAweDI1LCAweGUwLCAweDI0LAotICAweGI0LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdmLCAweGY1LCAweDgzLCAweGUwLCAweDU0LCAweGZkLCAweDkwLCAweDdmLCAweDAwLCAweGYwLCAweGU0LAotICAweGEzLCAweGYwLCAweDkwLCAweDdmLCAweGI1LCAweDc0LCAweDAyLCAweGYwLCAweDAyLCAweDBiLCAweDNlLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LAotICAweDAxLCAweGYwLCAweDAyLCAweDBiLCAweDNlLCAweDkwLCAweDdmLCAweGU4LCAweGUwLCAweDI0LCAweGZlLCAweDYwLCAweDFkLCAweDI0LCAweDAyfX0sCi0gezB4MGE4NiwgNjQsIHsgMHg2MCwgMHgwMywgMHgwMiwgMHgwYiwgMHgzZSwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHhiNCwgMHgwMSwgMHgwNSwgMHhjMiwgMHgxMCwgMHgwMiwgMHgwYiwgMHgzZSwKLSAgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHgwMiwgMHgwYiwgMHgzZSwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHg3MCwgMHgzOCwKLSAgMHg5MCwgMHg3ZiwgMHhlYywgMHhlMCwgMHhmNCwgMHg1NCwgMHg4MCwgMHhmZiwgMHhjNCwgMHg1NCwgMHgwZiwgMHhmZiwgMHhlMCwgMHg1NCwgMHgwNywgMHgyZiwKLSAgMHgyNSwgMHhlMCwgMHgyNCwgMHhiNCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZiwgMHhmNSwgMHg4MywgMHhlNCwgMHhmMCwgMHg5MCwgMHg3Zn19LAotIHsweDBhYzYsIDY0LCB7IDB4ZWMsIDB4ZTAsIDB4NTQsIDB4ODAsIDB4ZmYsIDB4MTMsIDB4MTMsIDB4MTMsIDB4NTQsIDB4MWYsIDB4ZmYsIDB4ZTAsIDB4NTQsIDB4MDcsIDB4MmYsIDB4OTAsIDB4N2YsCi0gIDB4ZDcsIDB4ZjAsIDB4ZTAsIDB4NDQsIDB4MjAsIDB4ZjAsIDB4ODAsIDB4NWYsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4ODAsCi0gIDB4NTYsIDB4OTAsIDB4N2YsIDB4ZTgsIDB4ZTAsIDB4MjQsIDB4ZmUsIDB4NjAsIDB4MTgsIDB4MjQsIDB4MDIsIDB4NzAsIDB4NGEsIDB4OTAsIDB4N2YsIDB4ZWEsCi0gIDB4ZTAsIDB4YjQsIDB4MDEsIDB4MDQsIDB4ZDIsIDB4MTAsIDB4ODAsIDB4M2YsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjB9fSwKLSB7MHgwYjA2LCA2NCwgeyAweDgwLCAweDM2LCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweDcwLCAweDIwLCAweDkwLCAweDdmLCAweGVjLCAweGUwLCAweGY0LCAweDU0LCAweDgwLCAweGZmLCAweGM0LAotICAweDU0LCAweDBmLCAweGZmLCAweGUwLCAweDU0LCAweDA3LCAweDJmLCAweDI1LCAweGUwLCAweDI0LCAweGI0LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdmLAotICAweGY1LCAweDgzLCAweDc0LCAweDAxLCAweGYwLCAweDgwLCAweDEwLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDgwLCAweDA3LAotICAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweDIyfX0sCi0gezB4MGI0NiwgNjQsIHsgMHhlNCwgMHg5MCwgMHg3ZiwgMHg5MywgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5YywgMHg3NCwgMHgzMCwgMHhmMCwgMHhlNCwgMHg5MCwgMHg3ZiwgMHg5NiwgMHhmMCwgMHg5MCwKLSAgMHg3ZiwgMHg5NSwgMHg3NCwgMHhjMCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5ZSwgMHg3NCwgMHgzZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxOCwKLSAgMHhmMCwgMHhlNCwgMHhmNSwgMHg4ZSwgMHg5MCwgMHg3ZiwgMHhkZiwgMHg3NCwgMHhmZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhkZSwgMHhmMCwgMHhlNCwgMHhmNSwKLSAgMHgyNCwgMHg3NSwgMHgxOCwgMHgwMSwgMHg3YiwgMHgwMCwgMHg3NCwgMHgyNCwgMHgyNSwgMHgxOCwgMHhmOSwgMHhlNCwgMHgzNCwgMHgwMCwgMHhmYX19LAotIHsweDBiODYsIDY0LCB7IDB4ZTQsIDB4MTIsIDB4MGUsIDB4ZDIsIDB4MDUsIDB4MTgsIDB4ZTUsIDB4MTgsIDB4YjQsIDB4MDksIDB4ZWEsIDB4NzUsIDB4M2EsIDB4MDEsIDB4ZTQsIDB4ZjUsIDB4MzgsCi0gIDB4ZjUsIDB4MTMsIDB4ZjUsIDB4MzYsIDB4YzIsIDB4MDcsIDB4YzIsIDB4MGIsIDB4YzIsIDB4MDUsIDB4YzIsIDB4MDAsIDB4YzIsIDB4MDksIDB4YzIsIDB4MTMsCi0gIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4NzUsIDB4NDQsIDB4MDMsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4MDMsIDB4ZjAsIDB4N2YsCi0gIDB4MGMsIDB4ZTQsIDB4ZmQsIDB4MTIsIDB4MTEsIDB4YjEsIDB4N2YsIDB4MTAsIDB4OGYsIDB4NDIsIDB4MTIsIDB4MTAsIDB4ODEsIDB4OTAsIDB4N2Z9fSwKLSB7MHgwYmM2LCA2NCwgeyAweDk4LCAweDc0LCAweDEyLCAweGYwLCAweDdmLCAweDAxLCAweDhmLCAweDQwLCAweGVmLCAweDQ0LCAweDA2LCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDkwLCAweDdmLAotICAweDk4LCAweDc0LCAweDE0LCAweGYwLCAweDc1LCAweDQ2LCAweDgwLCAweDkwLCAweGMwLCAweDAwLCAweDc0LCAweDgwLCAweGYwLCAweDBmLCAweGU0LCAweGZkLAotICAweDEyLCAweDExLCAweGIxLCAweGU0LCAweGZmLCAweDdlLCAweGEzLCAweGFkLCAweDA2LCAweDhkLCAweDNlLCAweDEyLCAweDExLCAweGIxLCAweDkwLCAweDdmLAotICAweDk4LCAweDc0LCAweDExLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGU0LCAweGYwLCAweDdmLCAweDA1LCAweDdkLCAweDdmLCAweDEyLCAweDExfX0sCi0gezB4MGMwNiwgNjQsIHsgMHhiMSwgMHg3ZiwgMHgwMSwgMHgxMiwgMHgxMiwgMHg2YSwgMHg3ZiwgMHgwMywgMHg3ZCwgMHgwNywgMHgxMiwgMHgxMSwgMHhiMSwgMHgyMCwgMHgxYiwgMHgwMywgMHgwMiwKLSAgMHgwYywgMHhiNywgMHg3NSwgMHgyZCwgMHgwMSwgMHg3NSwgMHgxOCwgMHgwMSwgMHg3YiwgMHgwMCwgMHg3NCwgMHgyZCwgMHgyNSwgMHgxOCwgMHhmOSwgMHhlNCwKLSAgMHgzNCwgMHgwMCwgMHhmYSwgMHhlNCwgMHgxMiwgMHgwZSwgMHhkMiwgMHgwNSwgMHgxOCwgMHhlNSwgMHgxOCwgMHhiNCwgMHgwOSwgMHhlYSwgMHg3NSwgMHgzYiwKLSAgMHgwMSwgMHhlNCwgMHhmNSwgMHgzOSwgMHhmNSwgMHgxMywgMHhmNSwgMHgzNywgMHhjMiwgMHgwOCwgMHhjMiwgMHgwYywgMHhjMiwgMHgwNiwgMHhjMn19LAotIHsweDBjNDYsIDY0LCB7IDB4MDAsIDB4YzIsIDB4MGEsIDB4YzIsIDB4MTMsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGIsIDB4ZjAsIDB4NzUsIDB4NDUsIDB4MDMsIDB4OTAsIDB4YzAsIDB4MDAsCi0gIDB4NzQsIDB4MDMsIDB4ZjAsIDB4N2YsIDB4MGMsIDB4ZTQsIDB4ZmQsIDB4MTIsIDB4MTEsIDB4ZmIsIDB4N2YsIDB4MTAsIDB4OGYsIDB4NDMsIDB4MTIsIDB4MTAsCi0gIDB4ZjMsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGEsIDB4ZjAsIDB4N2YsIDB4MDEsIDB4OGYsIDB4NDEsIDB4ZWYsIDB4NDQsIDB4MDYsIDB4OTAsIDB4YzAsCi0gIDB4MDAsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGMsIDB4ZjAsIDB4NzUsIDB4NDcsIDB4ODAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzR9fSwKLSB7MHgwYzg2LCA2NCwgeyAweDgwLCAweGYwLCAweDBmLCAweGU0LCAweGZkLCAweDEyLCAweDExLCAweGZiLCAweGU0LCAweGZmLCAweDdlLCAweGEzLCAweGFkLCAweDA2LCAweDhkLCAweDNmLCAweDEyLAotICAweDExLCAweGZiLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDA5LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGU0LCAweGYwLCAweDdmLCAweDA1LCAweDdkLAotICAweDdmLCAweDEyLCAweDExLCAweGZiLCAweDdmLCAweDAxLCAweDEyLCAweDEyLCAweDhiLCAweDdmLCAweDAzLCAweDdkLCAweDA3LCAweDEyLCAweDExLCAweGZiLAotICAweGQyLCAweDEyLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEwLCAweGYwLCAweGFmLCAweDA4LCAweGU1LCAweDBkLCAweGY1LCAweDgyfX0sCi0gezB4MGNjNiwgNjQsIHsgMHhlNSwgMHgwYywgMHhmNSwgMHg4MywgMHhjMiwgMHhhZiwgMHgwNSwgMHg4NiwgMHg5MCwgMHhjMCwgMHgwMCwgMHgwNSwgMHg4NiwgMHhlMCwgMHhhMywgMHgwNSwgMHg4NiwKLSAgMHhmMCwgMHgwNSwgMHg4NiwgMHhkZiwgMHhmNywgMHhkMiwgMHhhZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMCwgMHhmMCwgMHhhZiwgMHgwOCwKLSAgMHhlNSwgMHgwZCwgMHhmNSwgMHg4MiwgMHhlNSwgMHgwYywgMHhmNSwgMHg4MywgMHhjMiwgMHhhZiwgMHgwNSwgMHg4NiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwKLSAgMHgwNSwgMHg4NiwgMHhmMCwgMHhhMywgMHgwNSwgMHg4NiwgMHhkZiwgMHhmNywgMHgwNSwgMHg4NiwgMHhkMiwgMHhhZiwgMHgyMiwgMHg5MCwgMHg3Zn19LAotIHsweDBkMDYsIDY0LCB7IDB4OTgsIDB4NzQsIDB4MDgsIDB4ZjAsIDB4YWYsIDB4MDgsIDB4ZTUsIDB4MGQsIDB4ZjUsIDB4ODIsIDB4ZTUsIDB4MGMsIDB4ZjUsIDB4ODMsIDB4YzIsIDB4YWYsIDB4MDUsCi0gIDB4ODYsIDB4OTAsIDB4YzAsIDB4MDAsIDB4MDUsIDB4ODYsIDB4ZTAsIDB4YTMsIDB4MDUsIDB4ODYsIDB4ZjAsIDB4MDUsIDB4ODYsIDB4ZGYsIDB4ZjcsIDB4ZDIsCi0gIDB4YWYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MDgsIDB4ZjAsIDB4YWYsIDB4MDgsIDB4ZTUsIDB4MGQsIDB4ZjUsIDB4ODIsIDB4ZTUsIDB4MGMsCi0gIDB4ZjUsIDB4ODMsIDB4YzIsIDB4YWYsIDB4MDUsIDB4ODYsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4MDUsIDB4ODYsIDB4ZjAsIDB4YTMsIDB4MDV9fSwKLSB7MHgwZDQ2LCA2NCwgeyAweDg2LCAweGRmLCAweGY3LCAweDA1LCAweDg2LCAweGQyLCAweGFmLCAweDIyLCAweDc0LCAweDAwLCAweGY1LCAweDg2LCAweDkwLCAweGZkLCAweGE1LCAweDdjLCAweDA1LAotICAweGEzLCAweGU1LCAweDgyLCAweDQ1LCAweDgzLCAweDcwLCAweGY5LCAweDIyLCAweDkwLCAweDdmLCAweGQ2LCAweGUwLCAweDQ0LCAweDgwLCAweGYwLCAweDQzLAotICAweDg3LCAweDAxLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDIyLCAweGQyLCAweDE5LCAweDkwLCAweDdmLCAweDkyLCAweGUwLCAweDQ0LCAweDAyLAotICAweGYwLCAweDkwLCAweDdmLCAweGFlLCAweGUwLCAweGZmLCAweGQzLCAweDkyLCAweDEwLCAweGU0LCAweDMzLCAweGZlLCAweGVmLCAweDRlLCAweGYwfX0sCi0gezB4MGQ4NiwgNjQsIHsgMHhkMiwgMHhlOCwgMHg0MywgMHhkOCwgMHgyMCwgMHg5MCwgMHg3ZiwgMHhkZSwgMHg3NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhkZiwgMHhmMCwgMHg5MCwgMHg3ZiwKLSAgMHhhYiwgMHg3NCwgMHhmZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhOSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhYSwgMHhmMCwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwKLSAgMHg3ZiwgMHhhZiwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhZSwgMHhlMCwgMHg0NCwgMHgwZCwgMHhmMCwgMHhkMiwgMHhhZiwgMHhkMiwKLSAgMHgxYSwgMHgxMiwgMHgxMiwgMHg0NSwgMHhjMiwgMHgxMSwgMHhlNCwgMHhmNSwgMHgwYiwgMHhmNSwgMHgxMywgMHhjMiwgMHgxNywgMHhjMiwgMHgxMn19LAotIHsweDBkYzYsIDY0LCB7IDB4OTAsIDB4N2YsIDB4YTEsIDB4MDQsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZDgsIDB4ZTAsIDB4NjUsIDB4MTcsIDB4NjAsIDB4MTAsIDB4MzAsIDB4MTIsIDB4MDUsIDB4ZDIsCi0gIDB4MWEsIDB4MTIsIDB4MDAsIDB4NDYsIDB4OTAsIDB4N2YsIDB4ZDgsIDB4ZTAsIDB4ZjUsIDB4MTcsIDB4ODAsIDB4MDgsIDB4MzAsIDB4MTIsIDB4MDUsIDB4YzIsCi0gIDB4MWEsIDB4MTIsIDB4MDAsIDB4NDYsIDB4MzAsIDB4MTEsIDB4MDcsIDB4YzIsIDB4MTEsIDB4MTIsIDB4MDksIDB4MjEsIDB4ODAsIDB4ZDYsIDB4MzAsIDB4MTgsCi0gIDB4ZDMsIDB4YzIsIDB4MTgsIDB4MTIsIDB4MTMsIDB4OTMsIDB4ODAsIDB4Y2MsIDB4MjIsIDB4NzgsIDB4N2YsIDB4ZTQsIDB4ZjYsIDB4ZDgsIDB4ZmR9fSwKLSB7MHgwZTA2LCA2NCwgeyAweDc1LCAweDgxLCAweDQ3LCAweDAyLCAweDBlLCAweDQ3LCAweDAyLCAweDBkLCAweDZmLCAweGU0LCAweDkzLCAweGEzLCAweGY4LCAweGU0LCAweDkzLCAweGEzLCAweDQwLAotICAweDAzLCAweGY2LCAweDgwLCAweDAxLCAweGYyLCAweDA4LCAweGRmLCAweGY0LCAweDgwLCAweDI5LCAweGU0LCAweDkzLCAweGEzLCAweGY4LCAweDU0LCAweDA3LAotICAweDI0LCAweDBjLCAweGM4LCAweGMzLCAweDMzLCAweGM0LCAweDU0LCAweDBmLCAweDQ0LCAweDIwLCAweGM4LCAweDgzLCAweDQwLCAweDA0LCAweGY0LCAweDU2LAotICAweDgwLCAweDAxLCAweDQ2LCAweGY2LCAweGRmLCAweGU0LCAweDgwLCAweDBiLCAweDAxLCAweDAyLCAweDA0LCAweDA4LCAweDEwLCAweDIwLCAweDQwfX0sCi0gezB4MGU0NiwgNjQsIHsgMHg4MCwgMHg5MCwgMHgxMiwgMHhhYywgMHhlNCwgMHg3ZSwgMHgwMSwgMHg5MywgMHg2MCwgMHhiYywgMHhhMywgMHhmZiwgMHg1NCwgMHgzZiwgMHgzMCwgMHhlNSwgMHgwOSwKLSAgMHg1NCwgMHgxZiwgMHhmZSwgMHhlNCwgMHg5MywgMHhhMywgMHg2MCwgMHgwMSwgMHgwZSwgMHhjZiwgMHg1NCwgMHhjMCwgMHgyNSwgMHhlMCwgMHg2MCwgMHhhOCwKLSAgMHg0MCwgMHhiOCwgMHhlNCwgMHg5MywgMHhhMywgMHhmYSwgMHhlNCwgMHg5MywgMHhhMywgMHhmOCwgMHhlNCwgMHg5MywgMHhhMywgMHhjOCwgMHhjNSwgMHg4MiwKLSAgMHhjOCwgMHhjYSwgMHhjNSwgMHg4MywgMHhjYSwgMHhmMCwgMHhhMywgMHhjOCwgMHhjNSwgMHg4MiwgMHhjOCwgMHhjYSwgMHhjNSwgMHg4MywgMHhjYX19LAotIHsweDBlODYsIDY0LCB7IDB4ZGYsIDB4ZTksIDB4ZGUsIDB4ZTcsIDB4ODAsIDB4YmUsIDB4YmIsIDB4MDEsIDB4MDYsIDB4ODksIDB4ODIsIDB4OGEsIDB4ODMsIDB4ZTAsIDB4MjIsIDB4NTAsIDB4MDIsCi0gIDB4ZTcsIDB4MjIsIDB4YmIsIDB4ZmUsIDB4MDIsIDB4ZTMsIDB4MjIsIDB4ODksIDB4ODIsIDB4OGEsIDB4ODMsIDB4ZTQsIDB4OTMsIDB4MjIsIDB4YmIsIDB4MDEsCi0gIDB4MGMsIDB4ZTUsIDB4ODIsIDB4MjksIDB4ZjUsIDB4ODIsIDB4ZTUsIDB4ODMsIDB4M2EsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MjIsIDB4NTAsIDB4MDYsIDB4ZTksCi0gIDB4MjUsIDB4ODIsIDB4ZjgsIDB4ZTYsIDB4MjIsIDB4YmIsIDB4ZmUsIDB4MDYsIDB4ZTksIDB4MjUsIDB4ODIsIDB4ZjgsIDB4ZTIsIDB4MjIsIDB4ZTV9fSwKLSB7MHgwZWM2LCA2NCwgeyAweDgyLCAweDI5LCAweGY1LCAweDgyLCAweGU1LCAweDgzLCAweDNhLCAweGY1LCAweDgzLCAweGU0LCAweDkzLCAweDIyLCAweGJiLCAweDAxLCAweDA2LCAweDg5LCAweDgyLAotICAweDhhLCAweDgzLCAweGYwLCAweDIyLCAweDUwLCAweDAyLCAweGY3LCAweDIyLCAweGJiLCAweGZlLCAweDAxLCAweGYzLCAweDIyLCAweGQwLCAweDgzLCAweGQwLAotICAweDgyLCAweGY4LCAweGU0LCAweDkzLCAweDcwLCAweDEyLCAweDc0LCAweDAxLCAweDkzLCAweDcwLCAweDBkLCAweGEzLCAweGEzLCAweDkzLCAweGY4LCAweDc0LAotICAweDAxLCAweDkzLCAweGY1LCAweDgyLCAweDg4LCAweDgzLCAweGU0LCAweDczLCAweDc0LCAweDAyLCAweDkzLCAweDY4LCAweDYwLCAweGVmLCAweGEzfX0sCi0gezB4MGYwNiwgNjQsIHsgMHhhMywgMHhhMywgMHg4MCwgMHhkZiwgMHg4ZiwgMHgxOCwgMHhlNCwgMHhmNSwgMHgxOSwgMHg3NSwgMHgxYSwgMHhmZiwgMHg3NSwgMHgxYiwgMHgxOSwgMHg3NSwgMHgxYywKLSAgMHg4NiwgMHhhYiwgMHgxYSwgMHhhYSwgMHgxYiwgMHhhOSwgMHgxYywgMHg5MCwgMHgwMCwgMHgwMSwgMHgxMiwgMHgwZSwgMHhhNSwgMHhiNCwgMHgwMywgMHgxZCwKLSAgMHhhZiwgMHgxOSwgMHgwNSwgMHgxOSwgMHhlZiwgMHhiNSwgMHgxOCwgMHgwMSwgMHgyMiwgMHgxMiwgMHgwZSwgMHg4YywgMHg3ZSwgMHgwMCwgMHgyOSwgMHhmZiwKLSAgMHhlZSwgMHgzYSwgMHhhOSwgMHgwNywgMHg3NSwgMHgxYSwgMHhmZiwgMHhmNSwgMHgxYiwgMHg4OSwgMHgxYywgMHg4MCwgMHhkNCwgMHg3YiwgMHgwMH19LAotIHsweDBmNDYsIDY0LCB7IDB4N2EsIDB4MDAsIDB4NzksIDB4MDAsIDB4MjIsIDB4OGYsIDB4MWEsIDB4MDUsIDB4MGQsIDB4ZTUsIDB4MGQsIDB4YWUsIDB4MGMsIDB4NzAsIDB4MDIsIDB4MDUsIDB4MGMsCi0gIDB4MTQsIDB4ZjUsIDB4ODIsIDB4OGUsIDB4ODMsIDB4ZTUsIDB4MWEsIDB4ZjAsIDB4MTIsIDB4MDAsIDB4MzYsIDB4MDUsIDB4MGQsIDB4ZTUsIDB4MGQsIDB4YWMsCi0gIDB4MGMsIDB4NzAsIDB4MDIsIDB4MDUsIDB4MGMsIDB4MTQsIDB4ZjUsIDB4ODIsIDB4OGMsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4MTUsIDB4MDgsIDB4ZTUsIDB4MDgsCi0gIDB4NjAsIDB4MGEsIDB4MTIsIDB4MTMsIDB4MjcsIDB4OGYsIDB4MWEsIDB4ZWYsIDB4NDIsIDB4MzYsIDB4ODAsIDB4Y2EsIDB4MjIsIDB4OGYsIDB4MWF9fSwKLSB7MHgwZjg2LCA2NCwgeyAweDA1LCAweDBkLCAweGU1LCAweDBkLCAweGFlLCAweDBjLCAweDcwLCAweDAyLCAweDA1LCAweDBjLCAweDE0LCAweGY1LCAweDgyLCAweDhlLCAweDgzLCAweGU1LCAweDFhLAotICAweGYwLCAweDEyLCAweDEzLCAweDNmLCAweDA1LCAweDBkLCAweGU1LCAweDBkLCAweGFjLCAweDBjLCAweDcwLCAweDAyLCAweDA1LCAweDBjLCAweDE0LCAweGY1LAotICAweDgyLCAweDhjLCAweDgzLCAweGVmLCAweGYwLCAweDE1LCAweDA4LCAweGU1LCAweDA4LCAweDYwLCAweDBhLCAweDEyLCAweDEzLCAweDdiLCAweDhmLCAweDFhLAotICAweGVmLCAweDQyLCAweDM3LCAweDgwLCAweGNhLCAweDIyLCAweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGMwLCAweDg1LCAweGMwfX0sCi0gezB4MGZjNiwgNjQsIHsgMHg4NCwgMHhjMCwgMHg4NiwgMHg3NSwgMHg4NiwgMHgwMCwgMHg5MCwgMHg3ZiwgMHhjNCwgMHhlNCwgMHhmMCwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhYiwKLSAgMHg3NCwgMHgwNCwgMHhmMCwgMHhkMCwgMHg4NiwgMHhkMCwgMHg4NCwgMHhkMCwgMHg4NSwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMiwKLSAgMHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhjMCwgMHg4NSwgMHhjMCwgMHg4NCwgMHhjMCwgMHg4NiwgMHg3NSwgMHg4NiwgMHgwMCwgMHhkMiwKLSAgMHgxMSwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhYiwgMHg3NCwgMHgwMSwgMHhmMCwgMHhkMCwgMHg4NiwgMHhkMCwgMHg4NCwgMHhkMH19LAotIHsweDEwMDYsIDY0LCB7IDB4ODUsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzIsIDB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ODUsIDB4YzAsCi0gIDB4ODQsIDB4YzAsIDB4ODYsIDB4NzUsIDB4ODYsIDB4MDAsIDB4ZDIsIDB4MTgsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YWIsIDB4NzQsIDB4MDgsCi0gIDB4ZjAsIDB4ZDAsIDB4ODYsIDB4ZDAsIDB4ODQsIDB4ZDAsIDB4ODUsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzIsIDB4OTAsIDB4N2YsCi0gIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4YmYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTB9fSwKLSB7MHgxMDQ2LCA2NCwgeyAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweGU1LCAweDQ0LCAweDU0LCAweDdmLCAweDkwLAotICAweGMwLCAweDAwLCAweGYwLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweDc0LCAweGJmLCAweGYwLAotICAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDExLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLAotICAweGYwLCAweGU1LCAweDQ0LCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzfX0sCi0gezB4MTA4NiwgNjQsIHsgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHhiZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMiwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZiwKLSAgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHhlNSwgMHg0NCwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHgyMiwKLSAgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHhiZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwKLSAgMHgxNCwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHhlNSwgMHg0NH19LAotIHsweDEwYzYsIDY0LCB7IDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsCi0gIDB4YmYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTYsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsCi0gIDB4NzQsIDB4MTMsIDB4ZjAsIDB4ZTUsIDB4NDQsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsCi0gIDB4MGIsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4YmYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGEsIDB4ZjAsIDB4OTB9fSwKLSB7MHgxMTA2LCA2NCwgeyAweGMwLCAweDAwLCAweGVmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBiLCAweGYwLCAweGU1LCAweDQ1LCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLAotICAweGYwLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBiLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweDc0LCAweGJmLCAweGYwLCAweDkwLCAweDdmLAotICAweDk4LCAweDc0LCAweDA4LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBiLCAweGYwLCAweGU1LAotICAweDQ1LCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBiLCAweGYwLCAweDkwfX0sCi0gezB4MTE0NiwgNjQsIHsgMHhjMCwgMHgwMCwgMHg3NCwgMHhiZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwOSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZiwgMHhmMCwgMHg5MCwKLSAgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYiwgMHhmMCwgMHhlNSwgMHg0NSwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHgyMiwgMHg5MCwgMHg3ZiwKLSAgMHg5OCwgMHg3NCwgMHgwYiwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHhiZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYywgMHhmMCwKLSAgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYiwgMHhmMCwgMHhlNSwgMHg0NSwgMHg1NCwgMHg3Zn19LAotIHsweDExODYsIDY0LCB7IDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGIsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4YmYsIDB4ZjAsCi0gIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGUsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGIsCi0gIDB4ZjAsIDB4ZTUsIDB4NDUsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsCi0gIDB4ZTUsIDB4NDQsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTcsIDB4ZjAsIDB4OTB9fSwKLSB7MHgxMWM2LCA2NCwgeyAweGMwLCAweDAwLCAweGVmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDE1LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVkLCAweGYwLCAweDIyLCAweDEyLAotICAweDEzLCAweDBmLCAweDhmLCAweDFhLCAweDEyLCAweDEzLCAweDBmLCAweDhmLCAweDFiLCAweGU1LCAweDFhLCAweDY1LCAweDFiLCAweDYwLCAweDEyLCAweDEyLAotICAweDEzLCAweDBmLCAweDhmLCAweDFhLCAweGU1LCAweDFhLCAweDY1LCAweDFiLCAweDYwLCAweDA3LCAweDEyLCAweDEzLCAweDBmLCAweDhmLCAweDFiLCAweDgwLAotICAweGU4LCAweGFmLCAweDFhLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBiLCAweGYwLCAweGU1LCAweDQ1LCAweDU0LCAweDdmLCAweDkwfX0sCi0gezB4MTIwNiwgNjQsIHsgMHhjMCwgMHgwMCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwZiwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwKLSAgMHg3NCwgMHgwZCwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZCwgMHhmMCwgMHgyMiwgMHgxMiwgMHgxMywgMHg2MywgMHg4ZiwgMHgxYSwgMHgxMiwgMHgxMywKLSAgMHg2MywgMHg4ZiwgMHgxYiwgMHhlNSwgMHgxYSwgMHg2NSwgMHgxYiwgMHg2MCwgMHgxMiwgMHgxMiwgMHgxMywgMHg2MywgMHg4ZiwgMHgxYSwgMHhlNSwgMHgxYSwKLSAgMHg2NSwgMHgxYiwgMHg2MCwgMHgwNywgMHgxMiwgMHgxMywgMHg2MywgMHg4ZiwgMHgxYiwgMHg4MCwgMHhlOCwgMHhhZiwgMHgxYSwgMHgyMiwgMHg5MH19LAotIHsweDEyNDYsIDY0LCB7IDB4N2YsIDB4ZDYsIDB4ZTAsIDB4NTQsIDB4ZmIsIDB4ZjAsIDB4ZTAsIDB4NDQsIDB4MDgsIDB4ZjAsIDB4MzAsIDB4MWEsIDB4MDQsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsCi0gIDB4N2YsIDB4ZjQsIDB4N2UsIDB4MDEsIDB4MTIsIDB4MTIsIDB4YzgsIDB4OTAsIDB4N2YsIDB4ZDYsIDB4ZTAsIDB4NTQsIDB4ZjcsIDB4ZjAsIDB4ZTAsIDB4NDQsCi0gIDB4MDQsIDB4ZjAsIDB4MjIsIDB4YWUsIDB4MDcsIDB4ZTQsIDB4ZmYsIDB4ZTUsIDB4M2UsIDB4NTQsIDB4N2YsIDB4ZmQsIDB4MTIsIDB4MTEsIDB4YjEsIDB4OTAsCi0gIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTEsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWUsIDB4ZjAsIDB4ZTQsIDB4ZTUsIDB4M2UsIDB4NDQsIDB4ODB9fSwKLSB7MHgxMjg2LCA2NCwgeyAweGZkLCAweDEyLCAweDExLCAweGIxLCAweDIyLCAweGFlLCAweDA3LCAweGU0LCAweGZmLCAweGU1LCAweDNmLCAweDU0LCAweDdmLCAweGZkLCAweDEyLCAweDExLCAweGZiLAotICAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDA5LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVlLCAweGYwLCAweGU0LCAweGU1LCAweDNmLCAweDQ0LCAweDgwLAotICAweGZkLCAweDEyLCAweDExLCAweGZiLCAweDIyLCAweDA1LCAweDBlLCAweDAyLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAzLCAweDE0LCAweDAzLCAweDAwLAotICAweDAwLCAweGMxLCAweDExLCAweGMxLCAweDE4LCAweGMxLCAweDk1LCAweGMxLCAweDEwLCAweGMxLCAweDE2LCAweDAxLCAweDBhLCAweDAwLCAweGMxfX0sCi0gezB4MTJjNiwgNjQsIHsgMHgxYiwgMHgwMCwgMHg4ZSwgMHgxOCwgMHg4ZiwgMHgxOSwgMHhlNSwgMHgxOSwgMHgxNSwgMHgxOSwgMHhhZSwgMHgxOCwgMHg3MCwgMHgwMiwgMHgxNSwgMHgxOCwgMHg0ZSwKLSAgMHg2MCwgMHgwNSwgMHgxMiwgMHgwZCwgMHg0ZSwgMHg4MCwgMHhlZSwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMSwgMHhmMCwgMHg5MCwgMHhjMCwKLSAgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMiwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwKLSAgMHg1MywgMHhkOCwgMHhlZiwgMHgzMiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMiwgMHgwZiwgMHhlNywgMHgwMCwgMHgwMiwgMHgxM319LAotIHsweDEzMDYsIDY0LCB7IDB4MDQsIDB4MDAsIDB4MDIsIDB4MGYsIDB4YmQsIDB4MDAsIDB4MDIsIDB4MTAsIDB4MGUsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4OTAsIDB4YzAsCi0gIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTQsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsCi0gIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTUsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsCi0gIDB4MTYsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MDgsIDB4ZjAsIDB4OTB9fSwKLSB7MHgxMzQ2LCA2NCwgeyAweGMwLCAweDAwLCAweGUwLCAweGZmLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDA5LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweGZmLCAweDIyLAotICAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBhLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweGZmLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LAotICAweDBiLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweGZmLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBjLCAweGYwLCAweDkwLCAweGMwLAotICAweDAwLCAweGUwLCAweGZmLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBkLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweGZmfX0sCi0gezB4MTM4NiwgNjQsIHsgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwZSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwgMHgxMiwgMHgwMCwgMHgwMywgMHgxMiwKLSAgMHgwZCwgMHg1ZiwgMHgxMiwgMHgwYiwgMHg0NiwgMHgyMiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDEzYzYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNDA2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTQ0NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE0ODYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNGM2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTUwNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE1NDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNTg2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTVjNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE2MDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNjQ2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTY4NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE2YzYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNzA2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTc0NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE3ODYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxN2M2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTgwNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE4NDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxODg2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MThjNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgxMiwgMHgwMSwgMHgxMCwgMHgwMSwgMHhmZiwgMHgwMH19LAotIHsweDE5MDYsIDY0LCB7IDB4MDAsIDB4NDAsIDB4Y2QsIDB4MDYsIDB4MTIsIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDEsIDB4MDIsIDB4MDAsIDB4MDIsIDB4MDksIDB4MDIsIDB4NzQsIDB4MDAsIDB4MDEsCi0gIDB4MDEsIDB4MDAsIDB4YTAsIDB4MzIsIDB4MDksIDB4MDQsIDB4MDAsIDB4MDAsIDB4MGUsIDB4ZmYsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDEsCi0gIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDIsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDMsIDB4MDIsIDB4NDAsCi0gIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDQsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDUsIDB4MDIsIDB4NDAsIDB4MDB9fSwKLSB7MHgxOTQ2LCA2NCwgeyAweDAwLCAweDA3LCAweDA1LCAweDA2LCAweDAyLCAweDQwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDA3LCAweDAyLCAweDQwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LAotICAweDgxLCAweDAyLCAweDQwLCAweDAwLCAweDAxLCAweDA3LCAweDA1LCAweDgyLCAweDAyLCAweDQwLCAweDAwLCAweDAxLCAweDA3LCAweDA1LCAweDgzLCAweDAyLAotICAweDQwLCAweDAwLCAweDAxLCAweDA3LCAweDA1LCAweDg0LCAweDAyLCAweDQwLCAweDAwLCAweDAxLCAweDA3LCAweDA1LCAweDg1LCAweDAyLCAweDQwLCAweDAwLAotICAweDAxLCAweDA3LCAweDA1LCAweDg2LCAweDAyLCAweDQwLCAweDAwLCAweDAxLCAweDA3LCAweDA1LCAweDg3LCAweDAyLCAweDQwLCAweDAwLCAweDAxfX0sCi0gezB4MTk4NiwgNjQsIHsgMHgwNCwgMHgwMywgMHgwOSwgMHgwNCwgMHg0OCwgMHgwMywgMHg0YiwgMHgwMCwgMHg2NSwgMHgwMCwgMHg3OSwgMHgwMCwgMHg3MywgMHgwMCwgMHg3MCwgMHgwMCwgMHg2MSwKLSAgMHgwMCwgMHg2ZSwgMHgwMCwgMHgyYywgMHgwMCwgMHgyMCwgMHgwMCwgMHg2MSwgMHgwMCwgMHgyMCwgMHgwMCwgMHg2NCwgMHgwMCwgMHg2OSwgMHgwMCwgMHg3NiwKLSAgMHgwMCwgMHg2OSwgMHgwMCwgMHg3MywgMHgwMCwgMHg2OSwgMHgwMCwgMHg2ZiwgMHgwMCwgMHg2ZSwgMHgwMCwgMHgyMCwgMHgwMCwgMHg2ZiwgMHgwMCwgMHg2NiwKLSAgMHgwMCwgMHgyMCwgMHgwMCwgMHg0OSwgMHgwMCwgMHg2ZSwgMHgwMCwgMHg2ZSwgMHgwMCwgMHg2ZiwgMHgwMCwgMHg1MywgMHgwMCwgMHg3OSwgMHgwMH19LAotIHsweDE5YzYsIDY0LCB7IDB4NzMsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NDksIDB4MDAsIDB4NmUsIDB4MDAsIDB4NjMsIDB4MDAsIDB4MmUsIDB4MDAsIDB4MzYsIDB4MDMsIDB4NGIsIDB4MDAsIDB4NjUsCi0gIDB4MDAsIDB4NzksIDB4MDAsIDB4NzMsIDB4MDAsIDB4NzAsIDB4MDAsIDB4NjEsIDB4MDAsIDB4NmUsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NTUsIDB4MDAsIDB4NTMsCi0gIDB4MDAsIDB4NDIsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NTMsIDB4MDAsIDB4NjUsIDB4MDAsIDB4NzIsIDB4MDAsIDB4NjksIDB4MDAsIDB4NjEsIDB4MDAsIDB4NmMsCi0gIDB4MDAsIDB4MjAsIDB4MDAsIDB4NDEsIDB4MDAsIDB4NjQsIDB4MDAsIDB4NjEsIDB4MDAsIDB4NzAsIDB4MDAsIDB4NzQsIDB4MDAsIDB4NjUsIDB4MDB9fSwKLSB7MHgxYTA2LCAyMCwgeyAweDcyLCAweDAwLCAweDEwLCAweDAzLCAweDMwLCAweDAwLCAweDMwLCAweDAwLCAweDMwLCAweDAwLCAweDMwLCAweDAwLCAweDMwLCAweDAwLCAweDMwLCAweDAwLCAweDMwLAotICAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4ZmZmZiwJMCwJezB4MDB9IH0KLX07CmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9zZXJpYWwva2V5c3Bhbl91c2ExOV9mdy5oIGIvZHJpdmVycy91c2Ivc2VyaWFsL2tleXNwYW5fdXNhMTlfZncuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjAyM2M1Mi4uMDAwMDAwMAotLS0gYS9kcml2ZXJzL3VzYi9zZXJpYWwva2V5c3Bhbl91c2ExOV9mdy5oCisrKyAvZGV2L251bGwKQEAgLTEsMjg1ICswLDAgQEAKLS8qIGtleXNwYW5fdXNhMTlfZncuaAotIAotCVRoZSBmaXJtd2FyZSBjb250YWluZWQgaGVyZWluIGFzIGtleXNwYW5fdXNhMTlfZncuaCBpcwotCi0JCUNvcHlyaWdodCAoQykgMTk5OS0yMDAxCi0JCUtleXNwYW4sIEEgZGl2aXNpb24gb2YgSW5ub1N5cyBJbmNvcnBvcmF0ZWQgKCJLZXlzcGFuIikKLQkJCi0JYXMgYW4gdW5wdWJsaXNoZWQgd29yay4gVGhpcyBub3RpY2UgZG9lcyBub3QgaW1wbHkgdW5yZXN0cmljdGVkIG9yCi0JcHVibGljIGFjY2VzcyB0byB0aGUgc291cmNlIGNvZGUgZnJvbSB3aGljaCB0aGlzIGZpcm13YXJlIGltYWdlIGlzCi0JZGVyaXZlZC4gIEV4Y2VwdCBhcyBub3RlZCBiZWxvdyB0aGlzIGZpcm13YXJlIGltYWdlIG1heSBub3QgYmUgCi0JcmVwcm9kdWNlZCwgdXNlZCwgc29sZCBvciB0cmFuc2ZlcnJlZCB0byBhbnkgdGhpcmQgcGFydHkgd2l0aG91dCAKLQlLZXlzcGFuJ3MgcHJpb3Igd3JpdHRlbiBjb25zZW50LiAgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KLQotCVBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQgZm9yIHRoZSBkaXN0cmlidXRpb24gb2YgdGhpcyBmaXJtd2FyZSAKLQlpbWFnZSBhcyBwYXJ0IG9mIGEgTGludXggb3Igb3RoZXIgT3BlbiBTb3VyY2Ugb3BlcmF0aW5nIHN5c3RlbSBrZXJuZWwgCi0JaW4gdGV4dCBvciBiaW5hcnkgZm9ybSBhcyByZXF1aXJlZC4gCi0KLQlUaGlzIGZpcm13YXJlIG1heSBub3QgYmUgbW9kaWZpZWQgYW5kIG1heSBvbmx5IGJlIHVzZWQgd2l0aCAgCi0JS2V5c3BhbiBoYXJkd2FyZS4gIERpc3RyaWJ1dGlvbiBhbmQvb3IgTW9kaWZpY2F0aW9uIG9mIHRoZSAKLQlrZXlzcGFuLmMgZHJpdmVyIHdoaWNoIGluY2x1ZGVzIHRoaXMgZmlybXdhcmUsIGluIHdob2xlIG9yIGluIAotCXBhcnQsIHJlcXVpcmVzIHRoZSBpbmNsdXNpb24gb2YgdGhpcyBzdGF0ZW1lbnQuIgotKi8KLQotCi1zdGF0aWMgY29uc3Qgc3RydWN0IGV6dXNiX2hleF9yZWNvcmQga2V5c3Bhbl91c2ExOV9maXJtd2FyZVtdID0gewotIHsweDAwMjYsIDEwLCB7IDB4MTIsIDB4MGQsIDB4YmYsIDB4MTIsIDB4MGYsIDB4NDcsIDB4MTIsIDB4MGQsIDB4NmIsIDB4MjJ9fSwKLSB7MHgwMDMzLCAgMywgeyAweDAyLCAweDAwLCAweDFhfX0sCi0gezB4MDAxYSwgIDQsIHsgMHg1MywgMHhkOCwgMHhlZiwgMHgzMn19LAotIHsweDAwMDMsIDE2LCB7IDB4OGUsIDB4MTMsIDB4OGYsIDB4MTQsIDB4ZTUsIDB4MTQsIDB4MTUsIDB4MTQsIDB4YWUsIDB4MTMsIDB4NzAsIDB4MDIsIDB4MTUsIDB4MTMsIDB4NGUsIDB4NjB9fSwKLSB7MHgwMDEzLCAgNywgeyAweDA1LCAweDEyLCAweDBmLCAweDM2LCAweDgwLCAweGVlLCAweDIyfX0sCi0gezB4MDAyMywgIDMsIHsgMHgwMiwgMHgwMCwgMHg0Nn19LAotIHsweDAwNDYsIDE2LCB7IDB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ODYsIDB4NzUsIDB4ODYsIDB4MDAsIDB4YzAsIDB4ZDAsIDB4NzUsIDB4ZDAsIDB4MDh9fSwKLSB7MHgwMDU2LCAxNiwgeyAweDMwLCAweDk5LCAweDBlLCAweDMwLCAweDA4LCAweDA3LCAweGEyLCAweDBiLCAweDkyLCAweDliLCAweDg1LCAweDM1LCAweDk5LCAweGMyLCAweDk5LCAweGQyfX0sCi0gezB4MDA2NiwgMTYsIHsgMHgwZiwgMHgyMCwgMHgwZiwgMHgwMywgMHgwMiwgMHgwNCwgMHgzMSwgMHhjMiwgMHgwZiwgMHgyMCwgMHgwMiwgMHgwMywgMHgwMiwgMHgwMiwgMHg1NiwgMHgyMH19LAotIHsweDAwNzYsIDE2LCB7IDB4MDgsIDB4MDMsIDB4MDIsIDB4MDEsIDB4MjcsIDB4ZTUsIDB4MzcsIDB4YzMsIDB4OTUsIDB4NTAsIDB4NTAsIDB4M2UsIDB4MjAsIDB4MDksIDB4MzYsIDB4MjB9fSwKLSB7MHgwMDg2LCAxNiwgeyAweDA2LCAweDMzLCAweDkwLCAweDdmLCAweDliLCAweGUwLCAweDMwLCAweGUzLCAweDAzLCAweDIwLCAweDBlLCAweDI5LCAweDMwLCAweDBkLCAweDEyLCAweGFmfX0sCi0gezB4MDA5NiwgMTYsIHsgMHgzNywgMHgwNSwgMHgzNywgMHg3NCwgMHg0MCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZSwgMHhmNSwgMHg4MywgMHhlMCwgMHgxMywgMHg5Mn19LAotIHsweDAwYTYsIDE2LCB7IDB4MGIsIDB4YWYsIDB4MzcsIDB4MDUsIDB4MzcsIDB4NzQsIDB4NDAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2UsIDB4ZjUsIDB4ODMsIDB4ZTB9fSwKLSB7MHgwMGI2LCAxNiwgeyAweGY1LCAweDM1LCAweDAyLCAweDA0LCAweDJmLCAweGMyLCAweDA4LCAweDAyLCAweDA0LCAweDJmLCAweDkwLCAweDdmLCAweGM3LCAweGU0LCAweGYwLCAweGMyfX0sCi0gezB4MDBjNiwgMTYsIHsgMHgwMiwgMHgzMCwgMHgwYSwgMHgwYywgMHhjMiwgMHgwYSwgMHg5MCwgMHg3ZiwgMHhiYiwgMHgwNCwgMHhmMCwgMHhjMiwgMHgwOCwgMHgwMiwgMHgwNCwgMHgyZn19LAotIHsweDAwZDYsIDE2LCB7IDB4OTAsIDB4N2YsIDB4YzgsIDB4ZTAsIDB4MzAsIDB4ZTEsIDB4MDUsIDB4YzIsIDB4MDgsIDB4MDIsIDB4MDQsIDB4MmYsIDB4OTAsIDB4N2YsIDB4YzksIDB4ZTB9fSwKLSB7MHgwMGU2LCAxNiwgeyAweGY1LCAweDUwLCAweDkwLCAweDdkLCAweGMwLCAweGUwLCAweDEzLCAweDkyLCAweDBhLCAweDIwLCAweDA5LCAweDJkLCAweDIwLCAweDA2LCAweDJhLCAweDkwfX0sCi0gezB4MDBmNiwgMTYsIHsgMHg3ZiwgMHg5YiwgMHhlMCwgMHgzMCwgMHhlMywgMHgwMywgMHgyMCwgMHgwZSwgMHgyMCwgMHgzMCwgMHgwZCwgMHgxMSwgMHg5MCwgMHg3ZCwgMHhjMSwgMHhlMH19LAotIHsweDAwNDMsICAzLCB7IDB4MDIsIDB4MGYsIDB4MDB9fSwKLSB7MHgwMDAwLCAgMywgeyAweDAyLCAweDBjLCAweDYxfX0sCi0gezB4MDEwNiwgNjQsIHsgMHgxMywgMHg5MiwgMHgwYiwgMHhhMywgMHhlMCwgMHhmNSwgMHgzNSwgMHg3NSwgMHgzNywgMHgwMywgMHgwMiwgMHgwNCwgMHgyZiwgMHg3NSwgMHgzNywgMHgwMiwgMHg5MCwKLSAgMHg3ZCwgMHhjMSwgMHhlMCwgMHhmNSwgMHgzNSwgMHgwMiwgMHgwNCwgMHgyZiwgMHg3NSwgMHgzNywgMHgwMSwgMHhjMiwgMHgwOCwgMHgwMiwgMHgwNCwgMHgyZiwKLSAgMHhlNSwgMHgzNywgMHhjMywgMHg5NSwgMHg1MCwgMHg1MCwgMHgwMywgMHgwMiwgMHgwMSwgMHhjZiwgMHg5MCwgMHg3ZiwgMHhjNiwgMHhlMCwgMHgzMCwgMHhlMSwKLSAgMHgwNywgMHhjMiwgMHgxMCwgMHhjMiwgMHgwMywgMHgwMiwgMHgwNCwgMHgyZiwgMHg5MCwgMHg3ZiwgMHhjNywgMHhlMCwgMHhmNSwgMHg1MCwgMHg5MH19LAotIHsweDAxNDYsIDY0LCB7IDB4N2UsIDB4NDAsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MGEsIDB4MzAsIDB4MDksIDB4MDMsIDB4MDIsIDB4MDEsIDB4YzcsIDB4MjAsIDB4MDYsIDB4NzIsIDB4MjAsIDB4MDAsCi0gIDB4NmYsIDB4OTAsIDB4N2YsIDB4OWIsIDB4ZTAsIDB4MzAsIDB4ZTMsIDB4MDMsIDB4MjAsIDB4MGUsIDB4NjUsIDB4MzAsIDB4MGQsIDB4MTAsIDB4OTAsIDB4N2UsCi0gIDB4NDEsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4OWIsIDB4YTMsIDB4ZTAsIDB4ZjUsIDB4OTksIDB4NzUsIDB4MzcsIDB4MDMsIDB4ODAsIDB4MDksIDB4OTAsIDB4N2UsCi0gIDB4NDEsIDB4ZTAsIDB4ZjUsIDB4OTksIDB4NzUsIDB4MzcsIDB4MDIsIDB4ZTUsIDB4MzcsIDB4YzMsIDB4OTUsIDB4NTAsIDB4NDAsIDB4MTcsIDB4OTB9fSwKLSB7MHgwMTg2LCA2NCwgeyAweDdmLCAweGM3LCAweGU0LCAweGYwLCAweGMyLCAweDAyLCAweDIwLCAweDBhLCAweDAzLCAweDAyLCAweDA0LCAweDJmLCAweGMyLCAweDBhLCAweDkwLCAweDdmLCAweGJiLAotICAweDA0LCAweGYwLCAweDAyLCAweDA0LCAweDJmLCAweDMwLCAweDBkLCAweDEyLCAweGFmLCAweDM3LCAweDA1LCAweDM3LCAweDc0LCAweDQwLCAweDJmLCAweGY1LAotICAweDgyLCAweGU0LCAweDM0LCAweDdlLCAweGY1LCAweDgzLCAweGUwLCAweDEzLCAweDkyLCAweDBiLCAweGFmLCAweDM3LCAweDA1LCAweDM3LCAweDc0LCAweDQwLAotICAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdlLCAweGY1LCAweDgzLCAweGUwLCAweGY1LCAweDM1LCAweGQyLCAweDA4LCAweDAyLCAweDA0fX0sCi0gezB4MDFjNiwgNjQsIHsgMHgyZiwgMHg3NSwgMHgzNywgMHgwMSwgMHhjMiwgMHgxMCwgMHgwMiwgMHgwNCwgMHgyZiwgMHgzMCwgMHgwOSwgMHgwMywgMHgwMiwgMHgwMiwgMHg1MSwgMHgyMCwgMHgwNiwKLSAgMHg3OSwgMHg5MCwgMHg3ZiwgMHg5YiwgMHhlMCwgMHgzMCwgMHhlMywgMHgwMywgMHgyMCwgMHgwZSwgMHg2ZiwgMHgzMCwgMHgwZCwgMHgxMiwgMHhhZiwgMHgzNywKLSAgMHgwNSwgMHgzNywgMHg3NCwgMHg0MCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZSwgMHhmNSwgMHg4MywgMHhlMCwgMHgxMywgMHg5MiwgMHg5YiwKLSAgMHhhZiwgMHgzNywgMHgwNSwgMHgzNywgMHg3NCwgMHg0MCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZSwgMHhmNSwgMHg4MywgMHhlMH19LAotIHsweDAyMDYsIDY0LCB7IDB4ZjUsIDB4OTksIDB4ZTUsIDB4MzcsIDB4YzMsIDB4OTUsIDB4NTAsIDB4NDAsIDB4MTcsIDB4OTAsIDB4N2YsIDB4YzcsIDB4ZTQsIDB4ZjAsIDB4YzIsIDB4MDIsIDB4MjAsCi0gIDB4MGEsIDB4MDMsIDB4MDIsIDB4MDQsIDB4MmYsIDB4YzIsIDB4MGEsIDB4OTAsIDB4N2YsIDB4YmIsIDB4MDQsIDB4ZjAsIDB4MDIsIDB4MDQsIDB4MmYsIDB4MzAsCi0gIDB4MGQsIDB4MTIsIDB4YWYsIDB4MzcsIDB4MDUsIDB4MzcsIDB4NzQsIDB4NDAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2UsIDB4ZjUsIDB4ODMsCi0gIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MGIsIDB4YWYsIDB4MzcsIDB4MDUsIDB4MzcsIDB4NzQsIDB4NDAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzR9fSwKLSB7MHgwMjQ2LCA2NCwgeyAweDdlLCAweGY1LCAweDgzLCAweGUwLCAweGY1LCAweDM1LCAweGQyLCAweDA4LCAweDAyLCAweDA0LCAweDJmLCAweGMyLCAweDEwLCAweDAyLCAweDA0LCAweDJmLCAweDIwLAotICAweDA4LCAweDAzLCAweDAyLCAweDAzLCAweDA4LCAweGU1LCAweDM3LCAweGMzLCAweDk1LCAweDUwLCAweDUwLCAweDNlLCAweDIwLCAweDA5LCAweDM2LCAweDIwLAotICAweDA2LCAweDMzLCAweDkwLCAweDdmLCAweDliLCAweGUwLCAweDMwLCAweGUzLCAweDAzLCAweDIwLCAweDBlLCAweDI5LCAweDMwLCAweDBkLCAweDEyLCAweGFmLAotICAweDM3LCAweDA1LCAweDM3LCAweDc0LCAweGMwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdkLCAweGY1LCAweDgzLCAweGUwLCAweDEzfX0sCi0gezB4MDI4NiwgNjQsIHsgMHg5MiwgMHgwYiwgMHhhZiwgMHgzNywgMHgwNSwgMHgzNywgMHg3NCwgMHhjMCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZCwgMHhmNSwgMHg4MywgMHhlMCwKLSAgMHhmNSwgMHgzNSwgMHgwMiwgMHgwNCwgMHgyZiwgMHhjMiwgMHgwOCwgMHgwMiwgMHgwNCwgMHgyZiwgMHg5MCwgMHg3ZiwgMHhjOSwgMHhlNCwgMHhmMCwgMHhkMiwKLSAgMHgwMiwgMHgzMCwgMHgwYSwgMHgwYywgMHhjMiwgMHgwYSwgMHg5MCwgMHg3ZiwgMHhiYiwgMHgwNCwgMHhmMCwgMHhjMiwgMHgwOCwgMHgwMiwgMHgwNCwgMHgyZiwKLSAgMHg5MCwgMHg3ZiwgMHhjNiwgMHhlMCwgMHgzMCwgMHhlMSwgMHgwNSwgMHhjMiwgMHgwOCwgMHgwMiwgMHgwNCwgMHgyZiwgMHg5MCwgMHg3ZiwgMHhjN319LAotIHsweDAyYzYsIDY0LCB7IDB4ZTAsIDB4ZjUsIDB4NTAsIDB4OTAsIDB4N2UsIDB4NDAsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MGEsIDB4MjAsIDB4MDksIDB4MmQsIDB4MjAsIDB4MDYsIDB4MmEsIDB4OTAsCi0gIDB4N2YsIDB4OWIsIDB4ZTAsIDB4MzAsIDB4ZTMsIDB4MDMsIDB4MjAsIDB4MGUsIDB4MjAsIDB4MzAsIDB4MGQsIDB4MTEsIDB4OTAsIDB4N2UsIDB4NDEsIDB4ZTAsCi0gIDB4MTMsIDB4OTIsIDB4MGIsIDB4YTMsIDB4ZTAsIDB4ZjUsIDB4MzUsIDB4NzUsIDB4MzcsIDB4MDMsIDB4MDIsIDB4MDQsIDB4MmYsIDB4NzUsIDB4MzcsIDB4MDIsCi0gIDB4OTAsIDB4N2UsIDB4NDEsIDB4ZTAsIDB4ZjUsIDB4MzUsIDB4MDIsIDB4MDQsIDB4MmYsIDB4NzUsIDB4MzcsIDB4MDEsIDB4YzIsIDB4MDgsIDB4MDJ9fSwKLSB7MHgwMzA2LCA2NCwgeyAweDA0LCAweDJmLCAweGU1LCAweDM3LCAweGMzLCAweDk1LCAweDUwLCAweDUwLCAweDAzLCAweDAyLCAweDAzLCAweGIwLCAweDkwLCAweDdmLCAweGM4LCAweGUwLCAweDMwLAotICAweGUxLCAweDA3LCAweGMyLCAweDEwLCAweGMyLCAweDAzLCAweDAyLCAweDA0LCAweDJmLCAweDkwLCAweDdmLCAweGM5LCAweGUwLCAweGY1LCAweDUwLCAweDkwLAotICAweDdkLCAweGMwLCAweGUwLCAweDEzLCAweDkyLCAweDBhLCAweDMwLCAweDA5LCAweDAzLCAweDAyLCAweDAzLCAweGE4LCAweDIwLCAweDA2LCAweDcyLCAweDIwLAotICAweDAwLCAweDZmLCAweDkwLCAweDdmLCAweDliLCAweGUwLCAweDMwLCAweGUzLCAweDAzLCAweDIwLCAweDBlLCAweDY1LCAweDMwLCAweDBkLCAweDEwfX0sCi0gezB4MDM0NiwgNjQsIHsgMHg5MCwgMHg3ZCwgMHhjMSwgMHhlMCwgMHgxMywgMHg5MiwgMHg5YiwgMHhhMywgMHhlMCwgMHhmNSwgMHg5OSwgMHg3NSwgMHgzNywgMHgwMywgMHg4MCwgMHgwOSwgMHg5MCwKLSAgMHg3ZCwgMHhjMSwgMHhlMCwgMHhmNSwgMHg5OSwgMHg3NSwgMHgzNywgMHgwMiwgMHhlNSwgMHgzNywgMHhjMywgMHg5NSwgMHg1MCwgMHg0MCwgMHgxNywgMHg5MCwKLSAgMHg3ZiwgMHhjOSwgMHhlNCwgMHhmMCwgMHhkMiwgMHgwMiwgMHgyMCwgMHgwYSwgMHgwMywgMHgwMiwgMHgwNCwgMHgyZiwgMHhjMiwgMHgwYSwgMHg5MCwgMHg3ZiwKLSAgMHhiYiwgMHgwNCwgMHhmMCwgMHgwMiwgMHgwNCwgMHgyZiwgMHgzMCwgMHgwZCwgMHgxMiwgMHhhZiwgMHgzNywgMHgwNSwgMHgzNywgMHg3NCwgMHhjMH19LAotIHsweDAzODYsIDY0LCB7IDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2QsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MGIsIDB4YWYsIDB4MzcsIDB4MDUsIDB4MzcsIDB4NzQsCi0gIDB4YzAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2QsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZjUsIDB4MzUsIDB4ZDIsIDB4MDgsIDB4MDIsIDB4MDQsCi0gIDB4MmYsIDB4NzUsIDB4MzcsIDB4MDEsIDB4YzIsIDB4MTAsIDB4MDIsIDB4MDQsIDB4MmYsIDB4MzAsIDB4MDksIDB4MDMsIDB4MDIsIDB4MDQsIDB4MmQsIDB4MjAsCi0gIDB4MDYsIDB4NzQsIDB4OTAsIDB4N2YsIDB4OWIsIDB4ZTAsIDB4MzAsIDB4ZTMsIDB4MDMsIDB4MjAsIDB4MGUsIDB4NmEsIDB4MzAsIDB4MGQsIDB4MTJ9fSwKLSB7MHgwM2M2LCA2NCwgeyAweGFmLCAweDM3LCAweDA1LCAweDM3LCAweDc0LCAweGMwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdkLCAweGY1LCAweDgzLCAweGUwLCAweDEzLCAweDkyLAotICAweDliLCAweGFmLCAweDM3LCAweDA1LCAweDM3LCAweDc0LCAweGMwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdkLCAweGY1LCAweDgzLCAweGUwLAotICAweGY1LCAweDk5LCAweGU1LCAweDM3LCAweGMzLCAweDk1LCAweDUwLCAweDQwLCAweDEzLCAweDkwLCAweDdmLCAweGM5LCAweGU0LCAweGYwLCAweGQyLCAweDAyLAotICAweDMwLCAweDBhLCAweDM1LCAweGMyLCAweDBhLCAweDkwLCAweDdmLCAweGJiLCAweDA0LCAweGYwLCAweDgwLCAweDJjLCAweDMwLCAweDBkLCAweDEyfX0sCi0gezB4MDQwNiwgNjQsIHsgMHhhZiwgMHgzNywgMHgwNSwgMHgzNywgMHg3NCwgMHhjMCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZCwgMHhmNSwgMHg4MywgMHhlMCwgMHgxMywgMHg5MiwKLSAgMHgwYiwgMHhhZiwgMHgzNywgMHgwNSwgMHgzNywgMHg3NCwgMHhjMCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZCwgMHhmNSwgMHg4MywgMHhlMCwKLSAgMHhmNSwgMHgzNSwgMHhkMiwgMHgwOCwgMHg4MCwgMHgwMiwgMHhjMiwgMHgxMCwgMHhkMiwgMHgxMiwgMHgyMCwgMHg5OCwgMHgwMywgMHgwMiwgMHgwNSwgMHg2ZCwKLSAgMHhjMiwgMHg5OCwgMHgyMCwgMHgwMSwgMHgwMywgMHgwMiwgMHgwNCwgMHhkYSwgMHgyMCwgMHgxMSwgMHgyNywgMHhhZiwgMHgzNiwgMHgwNSwgMHgzNn19LAotIHsweDA0NDYsIDY0LCB7IDB4NzQsIDB4ODAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2UsIDB4ZjUsIDB4ODMsIDB4ZTUsIDB4OTksIDB4ZjAsIDB4MzAsIDB4MGQsIDB4NGQsIDB4YWYsCi0gIDB4MzYsIDB4MDUsIDB4MzYsIDB4NzQsIDB4ODAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2UsIDB4ZjUsIDB4ODMsIDB4ZTUsIDB4OTgsIDB4ZjAsCi0gIDB4ODAsIDB4M2EsIDB4ODUsIDB4OTksIDB4MTAsIDB4ZTUsIDB4MTAsIDB4YjUsIDB4NDQsIDB4MDQsIDB4ZDIsIDB4MDYsIDB4ODAsIDB4MmUsIDB4ZTUsIDB4MTAsCi0gIDB4YjUsIDB4NDMsIDB4MDQsIDB4YzIsIDB4MDYsIDB4ODAsIDB4MjUsIDB4YWYsIDB4MzYsIDB4MDUsIDB4MzYsIDB4NzQsIDB4ODAsIDB4MmYsIDB4ZjV9fSwKLSB7MHgwNDg2LCA2NCwgeyAweDgyLCAweGU0LCAweDM0LCAweDdlLCAweGY1LCAweDgzLCAweGU1LCAweDEwLCAweGYwLCAweDMwLCAweDBkLCAweDExLCAweGFmLCAweDM2LCAweDA1LCAweDM2LCAweDc0LAotICAweDgwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdlLCAweGY1LCAweDgzLCAweGU1LCAweDk4LCAweGYwLCAweGQyLCAweDBjLCAweGU1LCAweDM2LAotICAweGMzLCAweDk1LCAweDQwLCAweDUwLCAweDAzLCAweDAyLCAweDA1LCAweDZiLCAweDkwLCAweDdmLCAweGI4LCAweGUwLCAweDMwLCAweGUxLCAweDE2LCAweGU1LAotICAweDM2LCAweGMzLCAweDk0LCAweDQwLCAweDUwLCAweDAzLCAweDAyLCAweDA1LCAweDZiLCAweDE1LCAweDM2LCAweDE1LCAweDM2LCAweDA1LCAweDJifX0sCi0gezB4MDRjNiwgNjQsIHsgMHg0MywgMHgzMywgMHgwMSwgMHgwMiwgMHgwNSwgMHg2YiwgMHg5MCwgMHg3ZiwgMHhiNywgMHhlNSwgMHgzNiwgMHhmMCwgMHg3NSwgMHgzNiwgMHgwMCwgMHhjMiwgMHgwMSwKLSAgMHgwMiwgMHgwNSwgMHg2YiwgMHgyMCwgMHgxMSwgMHgyNywgMHhhZiwgMHgzNiwgMHgwNSwgMHgzNiwgMHg3NCwgMHgwMCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwKLSAgMHgzNCwgMHg3ZSwgMHhmNSwgMHg4MywgMHhlNSwgMHg5OSwgMHhmMCwgMHgzMCwgMHgwZCwgMHg0ZCwgMHhhZiwgMHgzNiwgMHgwNSwgMHgzNiwgMHg3NCwgMHgwMCwKLSAgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZSwgMHhmNSwgMHg4MywgMHhlNSwgMHg5OCwgMHhmMCwgMHg4MCwgMHgzYSwgMHg4NSwgMHg5OX19LAotIHsweDA1MDYsIDY0LCB7IDB4MTAsIDB4ZTUsIDB4MTAsIDB4YjUsIDB4NDQsIDB4MDQsIDB4ZDIsIDB4MDYsIDB4ODAsIDB4MmUsIDB4ZTUsIDB4MTAsIDB4YjUsIDB4NDMsIDB4MDQsIDB4YzIsIDB4MDYsCi0gIDB4ODAsIDB4MjUsIDB4YWYsIDB4MzYsIDB4MDUsIDB4MzYsIDB4NzQsIDB4MDAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2UsIDB4ZjUsIDB4ODMsCi0gIDB4ZTUsIDB4MTAsIDB4ZjAsIDB4MzAsIDB4MGQsIDB4MTEsIDB4YWYsIDB4MzYsIDB4MDUsIDB4MzYsIDB4NzQsIDB4MDAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsCi0gIDB4MzQsIDB4N2UsIDB4ZjUsIDB4ODMsIDB4ZTUsIDB4OTgsIDB4ZjAsIDB4ZDIsIDB4MGMsIDB4ZTUsIDB4MzYsIDB4YzMsIDB4OTUsIDB4NDAsIDB4NDB9fSwKLSB7MHgwNTQ2LCA2NCwgeyAweDI0LCAweDkwLCAweDdmLCAweGI2LCAweGUwLCAweDMwLCAweGUxLCAweDEyLCAweGU1LCAweDM2LCAweGMzLCAweDk0LCAweDQwLCAweDQwLCAweDE2LCAweDE1LCAweDM2LAotICAweDE1LCAweDM2LCAweDA1LCAweDJiLCAweDQzLCAweDMzLCAweDAxLCAweDgwLCAweDBiLCAweDkwLCAweDdmLCAweGI5LCAweGU1LCAweDM2LCAweGYwLCAweDc1LAotICAweDM2LCAweDAwLCAweGQyLCAweDAxLCAweGQyLCAweDEyLCAweDMwLCAweDEyLCAweDA1LCAweGMyLCAweDEyLCAweDAyLCAweDAwLCAweDU2LCAweGQwLCAweGQwLAotICAweGQwLCAweDg2LCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGUwLCAweDMyLCAweDkwLCAweDdmLCAweGNhLCAweGUwLCAweDMwLCAweGUxfX0sCi0gezB4MDU4NiwgNjQsIHsgMHgwMywgMHgwMiwgMHgwNiwgMHhhYiwgMHhlNCwgMHhmNSwgMHgxMywgMHg3NCwgMHg0MCwgMHgyNSwgMHgxMywgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZCwgMHhmNSwKLSAgMHg4MywgMHhlMCwgMHhmZiwgMHhlNSwgMHgxMywgMHg3YywgMHgwMCwgMHg3YiwgMHgwMCwgMHgyNCwgMHgzOCwgMHhmOSwgMHhlYywgMHgzNCwgMHgwMCwgMHhmYSwKLSAgMHhlZiwgMHgxMiwgMHgwZCwgMHgzMywgMHgwNSwgMHgxMywgMHhlNSwgMHgxMywgMHhiNCwgMHgxOCwgMHhkYiwgMHhlNSwgMHgzOCwgMHg2MCwgMHgwYywgMHg3NSwKLSAgMHhjOSwgMHgyMCwgMHg3NSwgMHhjOCwgMHgzNCwgMHg4NSwgMHgzOSwgMHhjYSwgMHg4NSwgMHgzYSwgMHhjYiwgMHhlNSwgMHgzYiwgMHgxMywgMHg5Mn19LAotIHsweDA1YzYsIDY0LCB7IDB4MGQsIDB4OTIsIDB4OWYsIDB4ZTUsIDB4M2MsIDB4MTMsIDB4OTIsIDB4MGUsIDB4ZTUsIDB4M2QsIDB4MTMsIDB4OTIsIDB4MTEsIDB4ZTUsIDB4M2UsIDB4NjAsIDB4MDksCi0gIDB4OTAsIDB4N2YsIDB4OTgsIDB4ZTAsIDB4NTQsIDB4ZmIsIDB4ZjAsIDB4ODAsIDB4MDcsIDB4OTAsIDB4N2YsIDB4OTgsIDB4ZTAsIDB4NDQsIDB4MDQsIDB4ZjAsCi0gIDB4ZTUsIDB4M2YsIDB4NjAsIDB4MDksIDB4OTAsIDB4N2YsIDB4OTgsIDB4ZTAsIDB4NTQsIDB4N2YsIDB4ZjAsIDB4ODAsIDB4MDcsIDB4OTAsIDB4N2YsIDB4OTgsCi0gIDB4ZTAsIDB4NDQsIDB4ODAsIDB4ZjAsIDB4ZTUsIDB4NDUsIDB4NjAsIDB4MGIsIDB4YzIsIDB4MDksIDB4YzIsIDB4MDYsIDB4OTAsIDB4N2YsIDB4OTV9fSwKLSB7MHgwNjA2LCA2NCwgeyAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweGU1LCAweDQ2LCAweDYwLCAweDBjLCAweGQyLCAweDA2LCAweDQzLCAweDMzLCAweDAxLCAweDkwLCAweDdmLCAweDk1LCAweGUwLAotICAweDQ0LCAweDAyLCAweGYwLCAweGU1LCAweDQ3LCAweDYwLCAweDBkLCAweGMyLCAweGFmLCAweGMyLCAweDA4LCAweGQyLCAweDAwLCAweGU0LCAweGY1LCAweDUwLAotICAweGY1LCAweDM3LCAweGQyLCAweGFmLCAweGU1LCAweDQ4LCAweDYwLCAweDA1LCAweDMwLCAweDExLCAweDAyLCAweGQyLCAweDA2LCAweGU1LCAweDQ5LCAweDYwLAotICAweDE1LCAweDkwLCAweDdmLCAweDk1LCAweGUwLCAweDU0LCAweGZkLCAweGYwLCAweDkwLCAweDdmLCAweDllLCAweGUwLCAweDQ0LCAweDAyLCAweGYwfX0sCi0gezB4MDY0NiwgNjQsIHsgMHg5MCwgMHg3ZiwgMHg5OCwgMHhlMCwgMHg1NCwgMHhmZCwgMHhmMCwgMHhlNSwgMHg0YSwgMHg2MCwgMHgwYSwgMHhkMiwgMHg5YywgMHhjMiwgMHg5OCwgMHg3NSwgMHgyYywKLSAgMHgwMSwgMHg3NSwgMHgzMSwgMHgxZSwgMHhlNSwgMHg0YiwgMHg2MCwgMHgwNywgMHhjMiwgMHg5YywgMHhlNCwgMHhmNSwgMHgzNiwgMHhmNSwgMHgyYywgMHhlNSwKLSAgMHg0YywgMHg2MCwgMHgwMywgMHhlNCwgMHhmNSwgMHgzNiwgMHhlNSwgMHg0ZCwgMHg2MCwgMHgwMiwgMHhkMiwgMHgwNCwgMHhlNSwgMHg0ZSwgMHg2MCwgMHgwYSwKLSAgMHhlNSwgMHg0YSwgMHg3MCwgMHgwMiwgMHhmNSwgMHgzMSwgMHhlNSwgMHg0ZSwgMHg0MiwgMHgzMywgMHhlNSwgMHg0ZiwgMHg2MCwgMHgxZiwgMHg5MH19LAotIHsweDA2ODYsIDY0LCB7IDB4N2YsIDB4ZDcsIDB4NzQsIDB4MTEsIDB4ZjAsIDB4NzQsIDB4MzEsIDB4ZjAsIDB4NzQsIDB4MTIsIDB4ZjAsIDB4NzQsIDB4MzIsIDB4ZjAsIDB4NzQsIDB4MTMsIDB4ZjAsCi0gIDB4NzQsIDB4MzMsIDB4ZjAsIDB4NzQsIDB4MTQsIDB4ZjAsIDB4NzQsIDB4MzQsIDB4ZjAsIDB4ZDIsIDB4MDIsIDB4ZDIsIDB4MDEsIDB4ZDIsIDB4MDUsIDB4ZTQsCi0gIDB4OTAsIDB4N2YsIDB4Y2IsIDB4ZjAsIDB4YTIsIDB4MDksIDB4ZTQsIDB4MzMsIDB4ZmYsIDB4NjUsIDB4MjksIDB4NjAsIDB4MDUsIDB4OGYsIDB4MjksIDB4NDMsCi0gIDB4MzMsIDB4MDEsIDB4YTIsIDB4MDYsIDB4ZTQsIDB4MzMsIDB4ZmYsIDB4NjUsIDB4MmEsIDB4NjAsIDB4MDUsIDB4OGYsIDB4MmEsIDB4NDMsIDB4MzN9fSwKLSB7MHgwNmM2LCA2NCwgeyAweDAxLCAweDkwLCAweDdmLCAweDliLCAweGUwLCAweDU0LCAweDA4LCAweGI1LCAweDI1LCAweDBhLCAweGUwLCAweDU0LCAweDA4LCAweDY0LCAweDA4LCAweGY1LCAweDI1LAotICAweDQzLCAweDMzLCAweDAxLCAweDkwLCAweDdmLCAweDliLCAweGUwLCAweDU0LCAweDEwLCAweGI1LCAweDI2LCAweDBhLCAweGUwLCAweDU0LCAweDEwLCAweDY0LAotICAweDEwLCAweGY1LCAweDI2LCAweDQzLCAweDMzLCAweDAxLCAweDkwLCAweDdmLCAweDliLCAweGUwLCAweDU0LCAweDQwLCAweGI1LCAweDI3LCAweDBhLCAweGUwLAotICAweDU0LCAweDQwLCAweDY0LCAweDQwLCAweGY1LCAweDI3LCAweDQzLCAweDMzLCAweDAxLCAweDkwLCAweDdmLCAweDliLCAweGUwLCAweDU0LCAweDIwfX0sCi0gezB4MDcwNiwgNjQsIHsgMHhiNSwgMHgyOCwgMHgwYSwgMHhlMCwgMHg1NCwgMHgyMCwgMHg2NCwgMHgyMCwgMHhmNSwgMHgyOCwgMHg0MywgMHgzMywgMHgwMSwgMHgzMCwgMHgwNCwgMHgzNSwgMHhjMiwKLSAgMHhhZiwgMHgzMCwgMHgwMSwgMHgxOCwgMHg5MCwgMHg3ZiwgMHhiOCwgMHhlMCwgMHgyMCwgMHhlMSwgMHgyNywgMHhlNSwgMHgzNiwgMHg2MCwgMHgwOSwgMHg5MCwKLSAgMHg3ZiwgMHhiNywgMHhmMCwgMHhlNCwgMHhmNSwgMHgzNiwgMHhjMiwgMHgwMSwgMHhjMiwgMHgwNCwgMHg4MCwgMHgxNiwgMHg5MCwgMHg3ZiwgMHhiNiwgMHhlMCwKLSAgMHgyMCwgMHhlMSwgMHgwZiwgMHhlNSwgMHgzNiwgMHg2MCwgMHgwOSwgMHg5MCwgMHg3ZiwgMHhiOSwgMHhmMCwgMHhlNCwgMHhmNSwgMHgzNiwgMHhkMn19LAotIHsweDA3NDYsIDY0LCB7IDB4MDEsIDB4YzIsIDB4MDQsIDB4ZDIsIDB4YWYsIDB4MjAsIDB4MDMsIDB4MzcsIDB4MzAsIDB4MDIsIDB4MWIsIDB4OTAsIDB4N2YsIDB4YzYsIDB4ZTAsIDB4MjAsIDB4ZTEsCi0gIDB4MmQsIDB4OTAsIDB4N2UsIDB4NDAsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MGEsIDB4NzUsIDB4MzcsIDB4MDEsIDB4OTAsIDB4N2YsIDB4YzcsIDB4ZTAsIDB4ZjUsCi0gIDB4NTAsIDB4ZDIsIDB4MDMsIDB4ODAsIDB4MTksIDB4OTAsIDB4N2YsIDB4YzgsIDB4ZTAsIDB4MjAsIDB4ZTEsIDB4MTIsIDB4OTAsIDB4N2QsIDB4YzAsIDB4ZTAsCi0gIDB4MTMsIDB4OTIsIDB4MGEsIDB4NzUsIDB4MzcsIDB4MDEsIDB4OTAsIDB4N2YsIDB4YzksIDB4ZTAsIDB4ZjUsIDB4NTAsIDB4ZDIsIDB4MDMsIDB4MjB9fSwKLSB7MHgwNzg2LCA2NCwgeyAweDEwLCAweDMzLCAweDIwLCAweDAwLCAweDA2LCAweGU1LCAweDM3LCAweDY1LCAweDUwLCAweDcwLCAweDJhLCAweDMwLCAweDAzLCAweDFhLCAweDMwLCAweDAyLCAweDA5LAotICAweGU0LCAweDkwLCAweDdmLCAweGM3LCAweGYwLCAweGMyLCAweDAyLCAweDgwLCAweDA3LCAweGU0LCAweDkwLCAweDdmLCAweGM5LCAweGYwLCAweGQyLCAweDAyLAotICAweGMyLCAweDAzLCAweGU0LCAweGY1LCAweDUwLCAweGY1LCAweDM3LCAweDMwLCAweDBhLCAweDBhLCAweGMyLCAweDBhLCAweGMyLCAweDAwLCAweDkwLCAweDdmLAotICAweGJiLCAweDc0LCAweDAxLCAweGYwLCAweDMwLCAweDEwLCAweDAzLCAweDAyLCAweDA4LCAweGM1LCAweDIwLCAweDAzLCAweDAzLCAweDAyLCAweDA4fX0sCi0gezB4MDdjNiwgNjQsIHsgMHhjNSwgMHgzMCwgMHgwZSwgMHgwYSwgMHg5MCwgMHg3ZiwgMHg5YiwgMHhlMCwgMHgzMCwgMHhlMywgMHgwMywgMHgwMiwgMHgwOCwgMHhjNSwgMHgzMCwgMHgwNiwgMHgwMywKLSAgMHgwMiwgMHgwOCwgMHhjNSwgMHgzMCwgMHgwOSwgMHgwMywgMHgwMiwgMHgwOCwgMHhjNSwgMHgzMCwgMHgwMiwgMHg2MiwgMHgzMCwgMHgwZCwgMHgxMiwgMHhhZiwKLSAgMHgzNywgMHgwNSwgMHgzNywgMHg3NCwgMHg0MCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZSwgMHhmNSwgMHg4MywgMHhlMCwgMHgxMywgMHg5MiwKLSAgMHgxOSwgMHhhZiwgMHgzNywgMHgwNSwgMHgzNywgMHg3NCwgMHg0MCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZSwgMHhmNSwgMHg4M319LAotIHsweDA4MDYsIDY0LCB7IDB4ZTAsIDB4ZjUsIDB4MTQsIDB4ZTUsIDB4MzcsIDB4YzMsIDB4OTUsIDB4NTAsIDB4NTAsIDB4MmEsIDB4MzAsIDB4MGQsIDB4MTIsIDB4YWYsIDB4MzcsIDB4MDUsIDB4MzcsCi0gIDB4NzQsIDB4NDAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2UsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MGIsIDB4YWYsIDB4MzcsCi0gIDB4MDUsIDB4MzcsIDB4NzQsIDB4NDAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2UsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZjUsIDB4MzUsIDB4ZDIsCi0gIDB4MDgsIDB4ODAsIDB4NmIsIDB4YzIsIDB4MDgsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4YzcsIDB4ZjAsIDB4YzIsIDB4MDIsIDB4ODAsIDB4NjAsIDB4MzB9fSwKLSB7MHgwODQ2LCA2NCwgeyAweDBkLCAweDEyLCAweGFmLCAweDM3LCAweDA1LCAweDM3LCAweDc0LCAweGMwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdkLCAweGY1LCAweDgzLCAweGUwLAotICAweDEzLCAweDkyLCAweDE5LCAweGFmLCAweDM3LCAweDA1LCAweDM3LCAweDc0LCAweGMwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdkLCAweGY1LAotICAweDgzLCAweGUwLCAweGY1LCAweDE0LCAweGU1LCAweDM3LCAweGMzLCAweDk1LCAweDUwLCAweDUwLCAweDJhLCAweDMwLCAweDBkLCAweDEyLCAweGFmLCAweDM3LAotICAweDA1LCAweDM3LCAweDc0LCAweGMwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdkLCAweGY1LCAweDgzLCAweGUwLCAweDEzLCAweDkyfX0sCi0gezB4MDg4NiwgNjQsIHsgMHgwYiwgMHhhZiwgMHgzNywgMHgwNSwgMHgzNywgMHg3NCwgMHhjMCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZCwgMHhmNSwgMHg4MywgMHhlMCwgMHhmNSwKLSAgMHgzNSwgMHhkMiwgMHgwOCwgMHg4MCwgMHgwOSwgMHhjMiwgMHgwOCwgMHhlNCwgMHg5MCwgMHg3ZiwgMHhjOSwgMHhmMCwgMHhkMiwgMHgwMiwgMHgzMCwgMHgwZCwKLSAgMHgwNCwgMHhhMiwgMHgxOSwgMHg5MiwgMHg5YiwgMHhkMiwgMHgxMCwgMHhjMiwgMHhhZiwgMHg4NSwgMHgxNCwgMHg5OSwgMHgyMCwgMHgwOCwgMHgwZCwgMHgzMCwKLSAgMHgwYSwgMHgwYSwgMHhjMiwgMHgwYSwgMHhjMiwgMHgwMCwgMHg5MCwgMHg3ZiwgMHhiYiwgMHg3NCwgMHgwMSwgMHhmMCwgMHhkMiwgMHhhZiwgMHg5MH19LAotIHsweDA4YzYsIDY0LCB7IDB4N2YsIDB4YmMsIDB4ZTAsIDB4MjAsIDB4ZTEsIDB4NTEsIDB4ZTUsIDB4MzMsIDB4NjAsIDB4NGQsIDB4ZTUsIDB4MzEsIDB4NzAsIDB4NDksIDB4ZTUsIDB4MzMsIDB4MzAsCi0gIDB4ZTEsIDB4MDgsIDB4ZTQsIDB4ZjUsIDB4MmYsIDB4NzUsIDB4MzMsIDB4MDEsIDB4ODAsIDB4MGIsIDB4YTIsIDB4MDUsIDB4ZTQsIDB4MzMsIDB4ZjUsIDB4MmYsCi0gIDB4YzIsIDB4MDUsIDB4ZTQsIDB4ZjUsIDB4MzMsIDB4ZTQsIDB4ZjUsIDB4MTMsIDB4N2UsIDB4MDAsIDB4N2IsIDB4MDAsIDB4NzQsIDB4MjQsIDB4MjUsIDB4MTMsCi0gIDB4ZjksIDB4ZWUsIDB4MzQsIDB4MDAsIDB4ZmEsIDB4MTIsIDB4MGMsIDB4ZWQsIDB4ZmYsIDB4NzQsIDB4MDAsIDB4MjUsIDB4MTMsIDB4ZjUsIDB4ODJ9fSwKLSB7MHgwOTA2LCA2NCwgeyAweGU0LCAweDM0LCAweDdkLCAweGY1LCAweDgzLCAweGVmLCAweGYwLCAweDA1LCAweDEzLCAweGU1LCAweDEzLCAweGI0LCAweDBjLCAweGRiLCAweDkwLCAweDdmLCAweGJkLAotICAweDc0LCAweDBjLCAweGYwLCAweDc1LCAweDMxLCAweDEwLCAweDIyLCAweDkwLCAweDdmLCAweGU5LCAweGUwLCAweDEyLCAweDBkLCAweDQ1LCAweDBhLCAweDAzLAotICAweDAwLCAweDBhLCAweDc3LCAweDAxLCAweDBhLCAweGUzLCAweDAzLCAweDA5LCAweDQxLCAweDA2LCAweDA5LCAweGY0LCAweDA4LCAweDA5LCAweGU4LCAweDA5LAotICAweDA5LCAweGQwLCAweDBhLCAweDA5LCAweGRmLCAweDBiLCAweDAwLCAweDAwLCAweDBiLCAweDMyLCAweDkwLCAweDdmLCAweGViLCAweGUwLCAweDI0fX0sCi0gezB4MDk0NiwgNjQsIHsgMHhmZSwgMHg2MCwgMHgxNiwgMHgxNCwgMHg2MCwgMHg1NywgMHgyNCwgMHgwMiwgMHg3MCwgMHg3NiwgMHg3NCwgMHgwZiwgMHg5MCwgMHg3ZiwgMHhkNCwgMHhmMCwgMHg3NCwKLSAgMHg2NCwgMHg5MCwgMHg3ZiwgMHhkNSwgMHhmMCwgMHgwMiwgMHgwYiwgMHgzOSwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHg3MCwgMHgwNCwgMHg3ZiwgMHgwMiwKLSAgMHg4MCwgMHgwMiwgMHg3ZiwgMHgwMywgMHg3NSwgMHg4MiwgMHhiNSwgMHg3NSwgMHg4MywgMHgwZiwgMHhlZiwgMHhmMCwgMHg3NSwgMHg4MiwgMHhhZSwgMHg3NSwKLSAgMHg4MywgMHgwZiwgMHhmMCwgMHg3NSwgMHg4MiwgMHhhNywgMHg3NSwgMHg4MywgMHgwZiwgMHhmMCwgMHg3NSwgMHg4MiwgMHhhMCwgMHg3NSwgMHg4M319LAotIHsweDA5ODYsIDY0LCB7IDB4MGYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4MDQsIDB4NzUsIDB4ODIsIDB4N2IsIDB4NzUsIDB4ODMsIDB4MGYsIDB4ZjAsIDB4NzQsIDB4MGYsIDB4OTAsCi0gIDB4N2YsIDB4ZDQsIDB4ZjAsIDB4NzQsIDB4NzYsIDB4OTAsIDB4N2YsIDB4ZDUsIDB4ZjAsIDB4MDIsIDB4MGIsIDB4MzksIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsCi0gIDB4ZmYsIDB4MTIsIDB4MGUsIDB4NDgsIDB4ZWEsIDB4NDksIDB4NjAsIDB4MGQsIDB4ZWEsIDB4OTAsIDB4N2YsIDB4ZDQsIDB4ZjAsIDB4ZTksIDB4OTAsIDB4N2YsCi0gIDB4ZDUsIDB4ZjAsIDB4MDIsIDB4MGIsIDB4MzksIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4MDIsIDB4MGIsIDB4Mzl9fSwKLSB7MHgwOWM2LCA2NCwgeyAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDAyLCAweDBiLCAweDM5LCAweDkwLCAweDdmLCAweDAwLCAweGU1LCAweDE5LCAweGYwLCAweDkwLAotICAweDdmLCAweGI1LCAweDc0LCAweDAxLCAweGYwLCAweDAyLCAweDBiLCAweDM5LCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweGY1LCAweDE5LCAweDAyLCAweDBiLAotICAweDM5LCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweGY1LCAweDE4LCAweDEyLCAweDBkLCAweDZiLCAweDAyLCAweDBiLCAweDM5LCAweDkwLCAweDdmLCAweDAwLAotICAweGU1LCAweDE4LCAweGYwLCAweDkwLCAweDdmLCAweGI1LCAweDc0LCAweDAxLCAweGYwLCAweDAyLCAweDBiLCAweDM5LCAweDkwLCAweDdmLCAweGU4fX0sCi0gezB4MGEwNiwgNjQsIHsgMHhlMCwgMHgyNCwgMHg3ZiwgMHg2MCwgMHgyNCwgMHgxNCwgMHg2MCwgMHgzMSwgMHgyNCwgMHgwMiwgMHg3MCwgMHg1YiwgMHhhMiwgMHgxMywgMHhlNCwgMHgzMywgMHhmZiwKLSAgMHgyNSwgMHhlMCwgMHhmZiwgMHhhMiwgMHgxNywgMHhlNCwgMHgzMywgMHg0ZiwgMHg5MCwgMHg3ZiwgMHgwMCwgMHhmMCwgMHhlNCwgMHhhMywgMHhmMCwgMHg5MCwKLSAgMHg3ZiwgMHhiNSwgMHg3NCwgMHgwMiwgMHhmMCwgMHgwMiwgMHgwYiwgMHgzOSwgMHhlNCwgMHg5MCwgMHg3ZiwgMHgwMCwgMHhmMCwgMHhhMywgMHhmMCwgMHg5MCwKLSAgMHg3ZiwgMHhiNSwgMHg3NCwgMHgwMiwgMHhmMCwgMHgwMiwgMHgwYiwgMHgzOSwgMHg5MCwgMHg3ZiwgMHhlYywgMHhlMCwgMHhmNCwgMHg1NCwgMHg4MH19LAotIHsweDBhNDYsIDY0LCB7IDB4ZmYsIDB4YzQsIDB4NTQsIDB4MGYsIDB4ZmYsIDB4ZTAsIDB4NTQsIDB4MDcsIDB4MmYsIDB4MjUsIDB4ZTAsIDB4MjQsIDB4YjQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsCi0gIDB4N2YsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4ZmQsIDB4OTAsIDB4N2YsIDB4MDAsIDB4ZjAsIDB4ZTQsIDB4YTMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsCi0gIDB4NzQsIDB4MDIsIDB4ZjAsIDB4MDIsIDB4MGIsIDB4MzksIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4MDIsIDB4MGIsIDB4MzksCi0gIDB4OTAsIDB4N2YsIDB4ZTgsIDB4ZTAsIDB4MjQsIDB4ZmUsIDB4NjAsIDB4MWQsIDB4MjQsIDB4MDIsIDB4NjAsIDB4MDMsIDB4MDIsIDB4MGIsIDB4Mzl9fSwKLSB7MHgwYTg2LCA2NCwgeyAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweGI0LCAweDAxLCAweDA1LCAweGMyLCAweDEzLCAweDAyLCAweDBiLCAweDM5LCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LAotICAweDAxLCAweGYwLCAweDAyLCAweDBiLCAweDM5LCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweDcwLCAweDM4LCAweDkwLCAweDdmLCAweGVjLCAweGUwLCAweGY0LAotICAweDU0LCAweDgwLCAweGZmLCAweGM0LCAweDU0LCAweDBmLCAweGZmLCAweGUwLCAweDU0LCAweDA3LCAweDJmLCAweDI1LCAweGUwLCAweDI0LCAweGI0LCAweGY1LAotICAweDgyLCAweGU0LCAweDM0LCAweDdmLCAweGY1LCAweDgzLCAweGU0LCAweGYwLCAweDkwLCAweDdmLCAweGVjLCAweGUwLCAweDU0LCAweDgwLCAweGZmfX0sCi0gezB4MGFjNiwgNjQsIHsgMHgxMywgMHgxMywgMHgxMywgMHg1NCwgMHgxZiwgMHhmZiwgMHhlMCwgMHg1NCwgMHgwNywgMHgyZiwgMHg5MCwgMHg3ZiwgMHhkNywgMHhmMCwgMHhlMCwgMHg0NCwgMHgyMCwKLSAgMHhmMCwgMHg4MCwgMHg1ZiwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg4MCwgMHg1NiwgMHg5MCwgMHg3ZiwgMHhlOCwgMHhlMCwKLSAgMHgyNCwgMHhmZSwgMHg2MCwgMHgxOCwgMHgyNCwgMHgwMiwgMHg3MCwgMHg0YSwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHhiNCwgMHgwMSwgMHgwNCwgMHhkMiwKLSAgMHgxMywgMHg4MCwgMHgzZiwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg4MCwgMHgzNiwgMHg5MCwgMHg3ZiwgMHhlYX19LAotIHsweDBiMDYsIDY0LCB7IDB4ZTAsIDB4NzAsIDB4MjAsIDB4OTAsIDB4N2YsIDB4ZWMsIDB4ZTAsIDB4ZjQsIDB4NTQsIDB4ODAsIDB4ZmYsIDB4YzQsIDB4NTQsIDB4MGYsIDB4ZmYsIDB4ZTAsIDB4NTQsCi0gIDB4MDcsIDB4MmYsIDB4MjUsIDB4ZTAsIDB4MjQsIDB4YjQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2YsIDB4ZjUsIDB4ODMsIDB4NzQsIDB4MDEsIDB4ZjAsCi0gIDB4ODAsIDB4MTAsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4ODAsIDB4MDcsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsCi0gIDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4MjIsIDB4MjAsIDB4MTUsIDB4MDMsIDB4MDIsIDB4MGJ9fSwKLSB7MHgwYjQ2LCA2NCwgeyAweGQzLCAweGU1LCAweDMxLCAweDYwLCAweDAyLCAweDE1LCAweDMxLCAweGU1LCAweDM2LCAweDYwLCAweDRmLCAweDY1LCAweDM0LCAweDcwLCAweDQ1LCAweGU1LCAweDMyLAotICAweGY0LCAweDYwLCAweDAyLCAweDA1LCAweDMyLCAweGU1LCAweDMyLCAweGMzLCAweDk1LCAweDQxLCAweDQwLCAweDNkLCAweGMyLCAweGFmLCAweDMwLCAweDAxLAotICAweDE4LCAweDkwLCAweDdmLCAweGI4LCAweGUwLCAweDIwLCAweGUxLCAweDI3LCAweDkwLCAweDdmLCAweGI3LCAweGU1LCAweDM2LCAweGYwLCAweGMyLCAweDAxLAotICAweGU0LCAweGY1LCAweDM2LCAweGY1LCAweDMyLCAweGY1LCAweDM0LCAweDgwLCAweDE2LCAweDkwLCAweDdmLCAweGI2LCAweGUwLCAweDIwLCAweGUxfX0sCi0gezB4MGI4NiwgNjQsIHsgMHgwZiwgMHg5MCwgMHg3ZiwgMHhiOSwgMHhlNSwgMHgzNiwgMHhmMCwgMHhkMiwgMHgwMSwgMHhlNCwgMHhmNSwgMHgzNiwgMHhmNSwgMHgzMiwgMHhmNSwgMHgzNCwgMHhkMiwKLSAgMHhhZiwgMHg4MCwgMHgwNiwgMHg4NSwgMHgzNiwgMHgzNCwgMHhlNCwgMHhmNSwgMHgzMiwgMHhlNSwgMHgyYywgMHg2MCwgMHgyZiwgMHgyMCwgMHgwYywgMHgwNywKLSAgMHg5MCwgMHg3ZiwgMHg5YiwgMHhlMCwgMHgzMCwgMHhlMCwgMHgwZiwgMHhlNSwgMHgyZCwgMHg2MCwgMHgwNiwgMHhlNCwgMHhmNSwgMHgyZCwgMHg0MywgMHgzMywKLSAgMHgwMSwgMHhlNCwgMHhmNSwgMHgzMCwgMHg4MCwgMHgxNCwgMHhlNSwgMHgzMCwgMHhkMywgMHg5NSwgMHg0MiwgMHg1MCwgMHgwZCwgMHhlNSwgMHgzMH19LAotIHsweDBiYzYsIDY0LCB7IDB4YjUsIDB4NDIsIDB4MDYsIDB4NzUsIDB4MmQsIDB4MDEsIDB4NDMsIDB4MzMsIDB4MDEsIDB4MDUsIDB4MzAsIDB4YzIsIDB4MGMsIDB4MjIsIDB4NzUsIDB4MTIsIDB4MDEsCi0gIDB4YzIsIDB4MTQsIDB4YzIsIDB4MTgsIDB4YzIsIDB4MTMsIDB4YzIsIDB4MTcsIDB4YzIsIDB4MTUsIDB4YzIsIDB4MTIsIDB4ZDIsIDB4MTYsIDB4ZTQsIDB4ZjUsCi0gIDB4MTgsIDB4OTAsIDB4N2YsIDB4OTIsIDB4ZTAsIDB4NTQsIDB4ZmQsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YWUsIDB4ZTAsIDB4ZmYsIDB4ZDMsIDB4OTIsIDB4MTMsCi0gIDB4ZTQsIDB4MzMsIDB4ZmUsIDB4ZWYsIDB4NGUsIDB4ZjAsIDB4ZDIsIDB4ZTgsIDB4NDMsIDB4ZDgsIDB4MjAsIDB4OTAsIDB4N2YsIDB4ZGUsIDB4NzR9fSwKLSB7MHgwYzA2LCA2NCwgeyAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGRmLCAweGYwLCAweDkwLCAweDdmLCAweGFiLCAweDc0LCAweGZmLCAweGYwLCAweDkwLCAweDdmLCAweGE5LCAweGYwLCAweDkwLAotICAweDdmLCAweGFhLCAweGYwLCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGFmLCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGFlLAotICAweGUwLCAweDQ0LCAweDBkLCAweGYwLCAweGQyLCAweGFmLCAweGQyLCAweGJjLCAweGQyLCAweDE5LCAweDEyLCAweDBlLCAweGRhLCAweGMyLCAweDE0LCAweDMwLAotICAweDE1LCAweDAzLCAweDEyLCAweDA1LCAweDgwLCAweDkwLCAweDdmLCAweGQ4LCAweGUwLCAweDY1LCAweDExLCAweDYwLCAweDA4LCAweGUwLCAweGY1fX0sCi0gezB4MGM0NiwgNjQsIHsgMHgxMSwgMHgxMiwgMHgwYiwgMHg0MSwgMHg4MCwgMHhlYSwgMHgzMCwgMHgxNCwgMHgwNywgMHhjMiwgMHgxNCwgMHgxMiwgMHgwOSwgMHgxZSwgMHg4MCwgMHhlMCwgMHgzMCwKLSAgMHgxOCwgMHhkZCwgMHhjMiwgMHgxOCwgMHgxMiwgMHgwMCwgMHgyNiwgMHg4MCwgMHhkNiwgMHgyMiwgMHg3OCwgMHg3ZiwgMHhlNCwgMHhmNiwgMHhkOCwgMHhmZCwKLSAgMHg3NSwgMHg4MSwgMHg1MCwgMHgwMiwgMHgwYywgMHhhOCwgMHgwMiwgMHgwYiwgMHhkNCwgMHhlNCwgMHg5MywgMHhhMywgMHhmOCwgMHhlNCwgMHg5MywgMHhhMywKLSAgMHg0MCwgMHgwMywgMHhmNiwgMHg4MCwgMHgwMSwgMHhmMiwgMHgwOCwgMHhkZiwgMHhmNCwgMHg4MCwgMHgyOSwgMHhlNCwgMHg5MywgMHhhMywgMHhmOH19LAotIHsweDBjODYsIDY0LCB7IDB4NTQsIDB4MDcsIDB4MjQsIDB4MGMsIDB4YzgsIDB4YzMsIDB4MzMsIDB4YzQsIDB4NTQsIDB4MGYsIDB4NDQsIDB4MjAsIDB4YzgsIDB4ODMsIDB4NDAsIDB4MDQsIDB4ZjQsCi0gIDB4NTYsIDB4ODAsIDB4MDEsIDB4NDYsIDB4ZjYsIDB4ZGYsIDB4ZTQsIDB4ODAsIDB4MGIsIDB4MDEsIDB4MDIsIDB4MDQsIDB4MDgsIDB4MTAsIDB4MjAsIDB4NDAsCi0gIDB4ODAsIDB4OTAsIDB4MGUsIDB4MDQsIDB4ZTQsIDB4N2UsIDB4MDEsIDB4OTMsIDB4NjAsIDB4YmMsIDB4YTMsIDB4ZmYsIDB4NTQsIDB4M2YsIDB4MzAsIDB4ZTUsCi0gIDB4MDksIDB4NTQsIDB4MWYsIDB4ZmUsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4NjAsIDB4MDEsIDB4MGUsIDB4Y2YsIDB4NTQsIDB4YzAsIDB4MjUsIDB4ZTB9fSwKLSB7MHgwY2M2LCA2NCwgeyAweDYwLCAweGE4LCAweDQwLCAweGI4LCAweGU0LCAweDkzLCAweGEzLCAweGZhLCAweGU0LCAweDkzLCAweGEzLCAweGY4LCAweGU0LCAweDkzLCAweGEzLCAweGM4LCAweGM1LAotICAweDgyLCAweGM4LCAweGNhLCAweGM1LCAweDgzLCAweGNhLCAweGYwLCAweGEzLCAweGM4LCAweGM1LCAweDgyLCAweGM4LCAweGNhLCAweGM1LCAweDgzLCAweGNhLAotICAweGRmLCAweGU5LCAweGRlLCAweGU3LCAweDgwLCAweGJlLCAweGJiLCAweDAxLCAweDA2LCAweDg5LCAweDgyLCAweDhhLCAweDgzLCAweGUwLCAweDIyLCAweDUwLAotICAweDAyLCAweGU3LCAweDIyLCAweGJiLCAweGZlLCAweDAyLCAweGUzLCAweDIyLCAweDg5LCAweDgyLCAweDhhLCAweDgzLCAweGU0LCAweDkzLCAweDIyfX0sCi0gezB4MGQwNiwgNjQsIHsgMHhiYiwgMHgwMSwgMHgwYywgMHhlNSwgMHg4MiwgMHgyOSwgMHhmNSwgMHg4MiwgMHhlNSwgMHg4MywgMHgzYSwgMHhmNSwgMHg4MywgMHhlMCwgMHgyMiwgMHg1MCwgMHgwNiwKLSAgMHhlOSwgMHgyNSwgMHg4MiwgMHhmOCwgMHhlNiwgMHgyMiwgMHhiYiwgMHhmZSwgMHgwNiwgMHhlOSwgMHgyNSwgMHg4MiwgMHhmOCwgMHhlMiwgMHgyMiwgMHhlNSwKLSAgMHg4MiwgMHgyOSwgMHhmNSwgMHg4MiwgMHhlNSwgMHg4MywgMHgzYSwgMHhmNSwgMHg4MywgMHhlNCwgMHg5MywgMHgyMiwgMHhiYiwgMHgwMSwgMHgwNiwgMHg4OSwKLSAgMHg4MiwgMHg4YSwgMHg4MywgMHhmMCwgMHgyMiwgMHg1MCwgMHgwMiwgMHhmNywgMHgyMiwgMHhiYiwgMHhmZSwgMHgwMSwgMHhmMywgMHgyMiwgMHhkMH19LAotIHsweDBkNDYsIDY0LCB7IDB4ODMsIDB4ZDAsIDB4ODIsIDB4ZjgsIDB4ZTQsIDB4OTMsIDB4NzAsIDB4MTIsIDB4NzQsIDB4MDEsIDB4OTMsIDB4NzAsIDB4MGQsIDB4YTMsIDB4YTMsIDB4OTMsIDB4ZjgsCi0gIDB4NzQsIDB4MDEsIDB4OTMsIDB4ZjUsIDB4ODIsIDB4ODgsIDB4ODMsIDB4ZTQsIDB4NzMsIDB4NzQsIDB4MDIsIDB4OTMsIDB4NjgsIDB4NjAsIDB4ZWYsIDB4YTMsCi0gIDB4YTMsIDB4YTMsIDB4ODAsIDB4ZGYsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4OTMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWMsIDB4NzQsIDB4MzAsIDB4ZjAsIDB4OTAsCi0gIDB4N2YsIDB4OTYsIDB4NzQsIDB4MTAsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTQsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWQsIDB4MDR9fSwKLSB7MHgwZDg2LCA2NCwgeyAweGYwLCAweDkwLCAweDdmLCAweDk3LCAweDc0LCAweDIwLCAweGYwLCAweDkwLCAweDdmLCAweDk1LCAweDc0LCAweDAzLCAweGYwLCAweDkwLCAweDdmLCAweDllLCAweDc0LAotICAweDg0LCAweGYwLCAweGU0LCAweDkwLCAweDdmLCAweDk4LCAweGYwLCAweDkwLCAweDdmLCAweGM3LCAweGYwLCAweDkwLCAweDdmLCAweGM5LCAweGYwLCAweDkwLAotICAweDdmLCAweGNiLCAweGYwLCAweDc1LCAweDk4LCAweDQwLCAweDQzLCAweGE4LCAweDEwLCAweDkwLCAweDdmLCAweGRlLCAweDc0LCAweDFmLCAweGYwLCAweDkwLAotICAweDdmLCAweGRmLCAweDc0LCAweDBmLCAweGYwLCAweGQyLCAweDE1LCAweDIyLCAweGU0LCAweDkwLCAweDdmLCAweDk1LCAweGYwLCAweDkwLCAweDdmfX0sCi0gezB4MGRjNiwgNjQsIHsgMHg5NCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5MywgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5ZCwgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5NywgMHhlMCwKLSAgMHg0NCwgMHgwMiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5ZCwgMHhlMCwgMHg1NCwgMHhmZCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5YywgMHg3NCwgMHgyMCwgMHhmMCwKLSAgMHhlNCwgMHg5MCwgMHg3ZiwgMHg5NiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5ZCwgMHhlMCwgMHg0NCwgMHhmZCwgMHhmMCwgMHhlNCwgMHg5MCwgMHg3ZiwgMHg5NywKLSAgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5ZSwgMHg3NCwgMHhmZiwgMHhmMCwgMHhlNCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHhmMCwgMHgyMiwgMHgwYywgMHgyNH19LAotIHsweDBlMDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDEsIDB4MzAsIDB4MDAsIDB4MDEsIDB4MzMsCi0gIDB4MDEsIDB4MDEsIDB4MzIsIDB4MDAsIDB4MDEsIDB4MzcsIDB4MDAsIDB4MDEsIDB4NTAsIDB4MDAsIDB4MDEsIDB4MzYsIDB4MDAsIDB4MDEsIDB4MzQsIDB4MDAsCi0gIDB4YzEsIDB4MDUsIDB4YzEsIDB4MGMsIDB4YzEsIDB4MDMsIDB4YzEsIDB4MGYsIDB4YzEsIDB4MDQsIDB4YzEsIDB4MGUsIDB4YzEsIDB4MTEsIDB4YzEsIDB4MGEsCi0gIDB4YzEsIDB4MTAsIDB4YzEsIDB4MDgsIDB4YzEsIDB4MDksIDB4YzEsIDB4MDYsIDB4YzEsIDB4MDAsIDB4YzEsIDB4MGQsIDB4YzEsIDB4ODEsIDB4YzF9fSwKLSB7MHgwZTQ2LCA2NCwgeyAweDgyLCAweDAwLCAweDhmLCAweDEzLCAweGU0LCAweGY1LCAweDE0LCAweDc1LCAweDE1LCAweGZmLCAweDc1LCAweDE2LCAweDBmLCAweDc1LCAweDE3LCAweGI5LCAweGFiLAotICAweDE1LCAweGFhLCAweDE2LCAweGE5LCAweDE3LCAweDkwLCAweDAwLCAweDAxLCAweDEyLCAweDBkLCAweDA2LCAweGI0LCAweDAzLCAweDFkLCAweGFmLCAweDE0LAotICAweDA1LCAweDE0LCAweGVmLCAweGI1LCAweDEzLCAweDAxLCAweDIyLCAweDEyLCAweDBjLCAweGVkLCAweDdlLCAweDAwLCAweDI5LCAweGZmLCAweGVlLCAweDNhLAotICAweGE5LCAweDA3LCAweDc1LCAweDE1LCAweGZmLCAweGY1LCAweDE2LCAweDg5LCAweDE3LCAweDgwLCAweGQ0LCAweDdiLCAweDAwLCAweDdhLCAweDAwfX0sCi0gezB4MGU4NiwgNjQsIHsgMHg3OSwgMHgwMCwgMHgyMiwgMHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhjMCwgMHg4NSwgMHhjMCwgMHg4NCwgMHhjMCwgMHg4NiwgMHg3NSwgMHg4NiwKLSAgMHgwMCwgMHg5MCwgMHg3ZiwgMHhjNCwgMHhlNCwgMHhmMCwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhYiwgMHg3NCwgMHgwNCwgMHhmMCwgMHhkMCwKLSAgMHg4NiwgMHhkMCwgMHg4NCwgMHhkMCwgMHg4NSwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMiwgMHhjMCwgMHhlMCwgMHhjMCwgMHg4MywKLSAgMHhjMCwgMHg4MiwgMHhjMCwgMHg4NSwgMHhjMCwgMHg4NCwgMHhjMCwgMHg4NiwgMHg3NSwgMHg4NiwgMHgwMCwgMHhkMiwgMHgxNCwgMHg1MywgMHg5MX19LAotIHsweDBlYzYsIDY0LCB7IDB4ZWYsIDB4OTAsIDB4N2YsIDB4YWIsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4ZDAsIDB4ODYsIDB4ZDAsIDB4ODQsIDB4ZDAsIDB4ODUsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsCi0gIDB4ZDAsIDB4ZTAsIDB4MzIsIDB4OTAsIDB4N2YsIDB4ZDYsIDB4ZTAsIDB4NTQsIDB4ZmIsIDB4ZjAsIDB4ZTAsIDB4NDQsIDB4MDgsIDB4ZjAsIDB4MzAsIDB4MTksCi0gIDB4MDQsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4N2YsIDB4ZjQsIDB4N2UsIDB4MDEsIDB4MTIsIDB4MDAsIDB4MDMsIDB4OTAsIDB4N2YsIDB4ZDYsIDB4ZTAsCi0gIDB4NTQsIDB4ZjcsIDB4ZjAsIDB4ZTAsIDB4NDQsIDB4MDQsIDB4ZjAsIDB4MjIsIDB4MDAsIDB4MDIsIDB4MGUsIDB4YjMsIDB4MDAsIDB4MDIsIDB4MGZ9fSwKLSB7MHgwZjA2LCA2NCwgeyAweDA0LCAweDAwLCAweDAyLCAweDBlLCAweDg5LCAweDAwLCAweDAyLCAweDBmLCAweDBmLCAweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGMwLCAweDg1LAotICAweGMwLCAweDg0LCAweGMwLCAweDg2LCAweDc1LCAweDg2LCAweDAwLCAweGQyLCAweDE4LCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGFiLCAweDc0LAotICAweDA4LCAweGYwLCAweGQwLCAweDg2LCAweGQwLCAweDg0LCAweGQwLCAweDg1LCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGUwLCAweDMyLCAweDc0LAotICAweDAwLCAweGY1LCAweDg2LCAweDkwLCAweGZkLCAweGE1LCAweDdjLCAweDA1LCAweGEzLCAweGU1LCAweDgyLCAweDQ1LCAweDgzLCAweDcwLCAweGY5fX0sCi0gezB4MGY0NiwgNjQsIHsgMHgyMiwgMHg5MCwgMHg3ZiwgMHhkNiwgMHhlMCwgMHg0NCwgMHg4MCwgMHhmMCwgMHg0MywgMHg4NywgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgyMiwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgxMiwgMHgwMSwgMHgxMCwKLSAgMHgwMSwgMHhmZiwgMHgwMCwgMHgwMCwgMHg0MCwgMHhjZCwgMHgwNiwgMHgwNywgMHgwMSwgMHgwMSwgMHgwMCwgMHgwMSwgMHgwMiwgMHgwMCwgMHgwMiwgMHgwOSwKLSAgMHgwMiwgMHg0MywgMHgwMCwgMHgwMSwgMHgwMSwgMHgwMCwgMHg4MCwgMHgzMiwgMHgwOSwgMHgwNCwgMHgwMCwgMHgwMCwgMHgwNywgMHhmZiwgMHgwMH19LAotIHsweDBmODYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDEsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDIsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDcsCi0gIDB4MDUsIDB4MDMsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4ODEsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDEsIDB4MDcsIDB4MDUsIDB4ODIsCi0gIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDEsIDB4MDcsIDB4MDUsIDB4ODMsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDEsIDB4MDcsIDB4MDUsIDB4ODQsIDB4MDIsIDB4NDAsCi0gIDB4MDAsIDB4MDEsIDB4MDQsIDB4MDMsIDB4MDksIDB4MDQsIDB4MTAsIDB4MDMsIDB4NGIsIDB4MDAsIDB4NjUsIDB4MDAsIDB4NzksIDB4MDAsIDB4NzN9fSwKLSB7MHgwZmM2LCAyMywgeyAweDAwLCAweDcwLCAweDAwLCAweDYxLCAweDAwLCAweDZlLCAweDAwLCAweDBlLCAweDAzLCAweDUzLCAweDAwLCAweDY1LCAweDAwLCAweDcyLCAweDAwLCAweDY5LCAweDAwLAotICAweDYxLCAweDAwLCAweDZjLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4ZmZmZiwJMCwJezB4MDB9IH0KLX07CmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9zZXJpYWwva2V5c3Bhbl91c2ExOXFpX2Z3LmggYi9kcml2ZXJzL3VzYi9zZXJpYWwva2V5c3Bhbl91c2ExOXFpX2Z3LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFhMjY0NzIuLjAwMDAwMDAKLS0tIGEvZHJpdmVycy91c2Ivc2VyaWFsL2tleXNwYW5fdXNhMTlxaV9mdy5oCisrKyAvZGV2L251bGwKQEAgLTEsMjg0ICswLDAgQEAKLS8qIGtleXNwYW5fdXNhMTlxaV9mdy5oCi0gCi0JVGhlIGZpcm13YXJlIGNvbnRhaW5lZCBoZXJlaW4gYXMga2V5c3BuX3VzYTE5cWlfZncuaCBpcwotCi0JCUNvcHlyaWdodCAoQykgMTk5OS0yMDAxCi0JCUtleXNwYW4sIEEgZGl2aXNpb24gb2YgSW5ub1N5cyBJbmNvcnBvcmF0ZWQgKCJLZXlzcGFuIikKLQkJCi0JYXMgYW4gdW5wdWJsaXNoZWQgd29yay4gVGhpcyBub3RpY2UgZG9lcyBub3QgaW1wbHkgdW5yZXN0cmljdGVkIG9yCi0JcHVibGljIGFjY2VzcyB0byB0aGUgc291cmNlIGNvZGUgZnJvbSB3aGljaCB0aGlzIGZpcm13YXJlIGltYWdlIGlzCi0JZGVyaXZlZC4gIEV4Y2VwdCBhcyBub3RlZCBiZWxvdyB0aGlzIGZpcm13YXJlIGltYWdlIG1heSBub3QgYmUgCi0JcmVwcm9kdWNlZCwgdXNlZCwgc29sZCBvciB0cmFuc2ZlcnJlZCB0byBhbnkgdGhpcmQgcGFydHkgd2l0aG91dCAKLQlLZXlzcGFuJ3MgcHJpb3Igd3JpdHRlbiBjb25zZW50LiAgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KLQotCVBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQgZm9yIHRoZSBkaXN0cmlidXRpb24gb2YgdGhpcyBmaXJtd2FyZSAKLQlpbWFnZSBhcyBwYXJ0IG9mIGEgTGludXggb3Igb3RoZXIgT3BlbiBTb3VyY2Ugb3BlcmF0aW5nIHN5c3RlbSBrZXJuZWwgCi0JaW4gdGV4dCBvciBiaW5hcnkgZm9ybSBhcyByZXF1aXJlZC4gCi0KLQlUaGlzIGZpcm13YXJlIG1heSBub3QgYmUgbW9kaWZpZWQgYW5kIG1heSBvbmx5IGJlIHVzZWQgd2l0aCAgCi0JS2V5c3BhbiBoYXJkd2FyZS4gIERpc3RyaWJ1dGlvbiBhbmQvb3IgTW9kaWZpY2F0aW9uIG9mIHRoZSAKLQlrZXlzcGFuLmMgZHJpdmVyIHdoaWNoIGluY2x1ZGVzIHRoaXMgZmlybXdhcmUsIGluIHdob2xlIG9yIGluIAotCXBhcnQsIHJlcXVpcmVzIHRoZSBpbmNsdXNpb24gb2YgdGhpcyBzdGF0ZW1lbnQuIgotCi0qLwotCi1zdGF0aWMgY29uc3Qgc3RydWN0IGV6dXNiX2hleF9yZWNvcmQga2V5c3Bhbl91c2ExOXFpX2Zpcm13YXJlW10gPSB7Ci0gezB4MDAzMywgIDMsIHsgMHgwMiwgMHgwMCwgMHgxYX19LAotIHsweDAwMWEsICA0LCB7IDB4NTMsIDB4ZDgsIDB4ZWYsIDB4MzJ9fSwKLSB7MHgwMDAzLCAxNiwgeyAweDhlLCAweDExLCAweDhmLCAweDEyLCAweGU1LCAweDEyLCAweDE1LCAweDEyLCAweGFlLCAweDExLCAweDcwLCAweDAyLCAweDE1LCAweDExLCAweDRlLCAweDYwfX0sCi0gezB4MDAxMywgIDcsIHsgMHgwNSwgMHgxMiwgMHgwZiwgMHg4NCwgMHg4MCwgMHhlZSwgMHgyMn19LAotIHsweDAwMjMsICAzLCB7IDB4MDIsIDB4MDAsIDB4NDZ9fSwKLSB7MHgwMDQ2LCAxNiwgeyAweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGMwLCAweDg2LCAweDc1LCAweDg2LCAweDAwLCAweGMwLCAweGQwLCAweDc1LCAweGQwLCAweDA4fX0sCi0gezB4MDA1NiwgMTYsIHsgMHgzMCwgMHg5OSwgMHgwZSwgMHgzMCwgMHgwYiwgMHgwNywgMHhhMiwgMHgwZSwgMHg5MiwgMHg5YiwgMHg4NSwgMHgzNiwgMHg5OSwgMHhjMiwgMHg5OSwgMHhkMn19LAotIHsweDAwNjYsIDE2LCB7IDB4MTIsIDB4MjAsIDB4MTIsIDB4MDMsIDB4MDIsIDB4MDQsIDB4MWUsIDB4YzIsIDB4MTIsIDB4MjAsIDB4MDMsIDB4MDMsIDB4MDIsIDB4MDIsIDB4NGUsIDB4MjB9fSwKLSB7MHgwMDc2LCAxNiwgeyAweDBiLCAweDAzLCAweDAyLCAweDAxLCAweDI2LCAweGU1LCAweDNhLCAweGMzLCAweDk1LCAweDUzLCAweDUwLCAweDNjLCAweDIwLCAweDBjLCAweDM0LCAweDIwfX0sCi0gezB4MDA4NiwgMTYsIHsgMHgwOSwgMHgzMSwgMHg5MCwgMHg3ZiwgMHg5YiwgMHhlMCwgMHg1NSwgMHgzOCwgMHg3MCwgMHgyOSwgMHgzMCwgMHgxMCwgMHgxMiwgMHhhZiwgMHgzYSwgMHgwNX19LAotIHsweDAwOTYsIDE2LCB7IDB4M2EsIDB4NzQsIDB4NDAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2UsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MGUsIDB4YWZ9fSwKLSB7MHgwMGE2LCAxNiwgeyAweDNhLCAweDA1LCAweDNhLCAweDc0LCAweDQwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdlLCAweGY1LCAweDgzLCAweGUwLCAweGY1LCAweDM2fX0sCi0gezB4MDBiNiwgMTYsIHsgMHgwMiwgMHgwNCwgMHgxYywgMHhjMiwgMHgwYiwgMHgwMiwgMHgwNCwgMHgxYywgMHg5MCwgMHg3ZiwgMHhjNywgMHhlNCwgMHhmMCwgMHhjMiwgMHgwMywgMHgzMH19LAotIHsweDAwYzYsIDE2LCB7IDB4MGQsIDB4MGMsIDB4YzIsIDB4MGQsIDB4OTAsIDB4N2YsIDB4YmIsIDB4MDQsIDB4ZjAsIDB4YzIsIDB4MGIsIDB4MDIsIDB4MDQsIDB4MWMsIDB4OTAsIDB4N2Z9fSwKLSB7MHgwMGQ2LCAxNiwgeyAweGM4LCAweGUwLCAweDMwLCAweGUxLCAweDA1LCAweGMyLCAweDBiLCAweDAyLCAweDA0LCAweDFjLCAweDkwLCAweDdmLCAweGM5LCAweGUwLCAweGY1LCAweDUzfX0sCi0gezB4MDBlNiwgMTYsIHsgMHg5MCwgMHg3ZCwgMHhjMCwgMHhlMCwgMHgxMywgMHg5MiwgMHgwZCwgMHg3NSwgMHgxNiwgMHhmZiwgMHgyMCwgMHgwYywgMHgyYiwgMHgyMCwgMHgwOSwgMHgyOH19LAotIHsweDAwZjYsIDE2LCB7IDB4OTAsIDB4N2YsIDB4OWIsIDB4ZTAsIDB4NTUsIDB4MzgsIDB4NzAsIDB4MjAsIDB4MzAsIDB4MTAsIDB4MTEsIDB4OTAsIDB4N2QsIDB4YzEsIDB4ZTAsIDB4MTN9fSwKLSB7MHgwMDQzLCAgMywgeyAweDAyLCAweDBlLCAweDAwfX0sCi0gezB4MDAwMCwgIDMsIHsgMHgwMiwgMHgwMCwgMHgyNn19LAotIHsweDAwMjYsIDEyLCB7IDB4NzgsIDB4N2YsIDB4ZTQsIDB4ZjYsIDB4ZDgsIDB4ZmQsIDB4NzUsIDB4ODEsIDB4NTQsIDB4MDIsIDB4MGIsIDB4Mjh9fSwKLSB7MHgwMTA2LCA2NCwgeyAweDkyLCAweDBlLCAweGEzLCAweGUwLCAweGY1LCAweDM2LCAweDc1LCAweDNhLCAweDAzLCAweDAyLCAweDA0LCAweDFjLCAweDc1LCAweDNhLCAweDAyLCAweDkwLCAweDdkLAotICAweGMxLCAweGUwLCAweGY1LCAweDM2LCAweDAyLCAweDA0LCAweDFjLCAweDc1LCAweDNhLCAweDAxLCAweGMyLCAweDBiLCAweDAyLCAweDA0LCAweDFjLCAweGU1LAotICAweDNhLCAweGMzLCAweDk1LCAweDUzLCAweDUwLCAweDAzLCAweDAyLCAweDAxLCAweGM5LCAweDkwLCAweDdmLCAweGM2LCAweGUwLCAweDMwLCAweGUxLCAweDA3LAotICAweGMyLCAweDE0LCAweGMyLCAweDA1LCAweDAyLCAweDA0LCAweDFjLCAweDkwLCAweDdmLCAweGM3LCAweGUwLCAweGY1LCAweDUzLCAweDkwLCAweDdlfX0sCi0gezB4MDE0NiwgNjQsIHsgMHg0MCwgMHhlMCwgMHgxMywgMHg5MiwgMHgwZCwgMHg3NSwgMHgxNiwgMHhmZiwgMHgyMCwgMHgwYywgMHg3MCwgMHgyMCwgMHgwOSwgMHg2ZCwgMHg5MCwgMHg3ZiwgMHg5YiwKLSAgMHhlMCwgMHg1NSwgMHgzOCwgMHg3MCwgMHg2NSwgMHgzMCwgMHgxMCwgMHgxMCwgMHg5MCwgMHg3ZSwgMHg0MSwgMHhlMCwgMHgxMywgMHg5MiwgMHg5YiwgMHhhMywKLSAgMHhlMCwgMHhmNSwgMHg5OSwgMHg3NSwgMHgzYSwgMHgwMywgMHg4MCwgMHgwOSwgMHg5MCwgMHg3ZSwgMHg0MSwgMHhlMCwgMHhmNSwgMHg5OSwgMHg3NSwgMHgzYSwKLSAgMHgwMiwgMHhlNSwgMHgzYSwgMHhjMywgMHg5NSwgMHg1MywgMHg0MCwgMHgxNywgMHg5MCwgMHg3ZiwgMHhjNywgMHhlNCwgMHhmMCwgMHhjMiwgMHgwM319LAotIHsweDAxODYsIDY0LCB7IDB4MjAsIDB4MGQsIDB4MDMsIDB4MDIsIDB4MDQsIDB4MWMsIDB4YzIsIDB4MGQsIDB4OTAsIDB4N2YsIDB4YmIsIDB4MDQsIDB4ZjAsIDB4MDIsIDB4MDQsIDB4MWMsIDB4MzAsCi0gIDB4MTAsIDB4MTIsIDB4YWYsIDB4M2EsIDB4MDUsIDB4M2EsIDB4NzQsIDB4NDAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2UsIDB4ZjUsIDB4ODMsCi0gIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MGUsIDB4YWYsIDB4M2EsIDB4MDUsIDB4M2EsIDB4NzQsIDB4NDAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2UsCi0gIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZjUsIDB4MzYsIDB4ZDIsIDB4MGIsIDB4MDIsIDB4MDQsIDB4MWMsIDB4NzUsIDB4M2EsIDB4MDEsIDB4YzIsIDB4MTR9fSwKLSB7MHgwMWM2LCA2NCwgeyAweDAyLCAweDA0LCAweDFjLCAweDMwLCAweDBjLCAweDAzLCAweDAyLCAweDAyLCAweDQ5LCAweDIwLCAweDA5LCAweDc3LCAweDkwLCAweDdmLCAweDliLCAweGUwLCAweDU1LAotICAweDM4LCAweDcwLCAweDZmLCAweDMwLCAweDEwLCAweDEyLCAweGFmLCAweDNhLCAweDA1LCAweDNhLCAweDc0LCAweDQwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LAotICAweDM0LCAweDdlLCAweGY1LCAweDgzLCAweGUwLCAweDEzLCAweDkyLCAweDliLCAweGFmLCAweDNhLCAweDA1LCAweDNhLCAweDc0LCAweDQwLCAweDJmLCAweGY1LAotICAweDgyLCAweGU0LCAweDM0LCAweDdlLCAweGY1LCAweDgzLCAweGUwLCAweGY1LCAweDk5LCAweGU1LCAweDNhLCAweGMzLCAweDk1LCAweDUzLCAweDQwfX0sCi0gezB4MDIwNiwgNjQsIHsgMHgxNywgMHg5MCwgMHg3ZiwgMHhjNywgMHhlNCwgMHhmMCwgMHhjMiwgMHgwMywgMHgyMCwgMHgwZCwgMHgwMywgMHgwMiwgMHgwNCwgMHgxYywgMHhjMiwgMHgwZCwgMHg5MCwKLSAgMHg3ZiwgMHhiYiwgMHgwNCwgMHhmMCwgMHgwMiwgMHgwNCwgMHgxYywgMHgzMCwgMHgxMCwgMHgxMiwgMHhhZiwgMHgzYSwgMHgwNSwgMHgzYSwgMHg3NCwgMHg0MCwKLSAgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZSwgMHhmNSwgMHg4MywgMHhlMCwgMHgxMywgMHg5MiwgMHgwZSwgMHhhZiwgMHgzYSwgMHgwNSwgMHgzYSwKLSAgMHg3NCwgMHg0MCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZSwgMHhmNSwgMHg4MywgMHhlMCwgMHhmNSwgMHgzNiwgMHhkMiwgMHgwYn19LAotIHsweDAyNDYsIDY0LCB7IDB4MDIsIDB4MDQsIDB4MWMsIDB4YzIsIDB4MTQsIDB4MDIsIDB4MDQsIDB4MWMsIDB4MjAsIDB4MGIsIDB4MDMsIDB4MDIsIDB4MDIsIDB4ZmYsIDB4ZTUsIDB4M2EsIDB4YzMsCi0gIDB4OTUsIDB4NTMsIDB4NTAsIDB4M2MsIDB4MjAsIDB4MGMsIDB4MzQsIDB4MjAsIDB4MDksIDB4MzEsIDB4OTAsIDB4N2YsIDB4OWIsIDB4ZTAsIDB4NTUsIDB4MzgsCi0gIDB4NzAsIDB4MjksIDB4MzAsIDB4MTAsIDB4MTIsIDB4YWYsIDB4M2EsIDB4MDUsIDB4M2EsIDB4NzQsIDB4YzAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsCi0gIDB4N2QsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MGUsIDB4YWYsIDB4M2EsIDB4MDUsIDB4M2EsIDB4NzQsIDB4YzAsIDB4MmYsIDB4ZjV9fSwKLSB7MHgwMjg2LCA2NCwgeyAweDgyLCAweGU0LCAweDM0LCAweDdkLCAweGY1LCAweDgzLCAweGUwLCAweGY1LCAweDM2LCAweDAyLCAweDA0LCAweDFjLCAweGMyLCAweDBiLCAweDAyLCAweDA0LCAweDFjLAotICAweDkwLCAweDdmLCAweGM5LCAweGU0LCAweGYwLCAweGQyLCAweDAzLCAweDMwLCAweDBkLCAweDBjLCAweGMyLCAweDBkLCAweDkwLCAweDdmLCAweGJiLCAweDA0LAotICAweGYwLCAweGMyLCAweDBiLCAweDAyLCAweDA0LCAweDFjLCAweDkwLCAweDdmLCAweGM2LCAweGUwLCAweDMwLCAweGUxLCAweDA1LCAweGMyLCAweDBiLCAweDAyLAotICAweDA0LCAweDFjLCAweDkwLCAweDdmLCAweGM3LCAweGUwLCAweGY1LCAweDUzLCAweDkwLCAweDdlLCAweDQwLCAweGUwLCAweDEzLCAweDkyLCAweDBkfX0sCi0gezB4MDJjNiwgNjQsIHsgMHg3NSwgMHgxNiwgMHhmZiwgMHgyMCwgMHgwYywgMHgyYiwgMHgyMCwgMHgwOSwgMHgyOCwgMHg5MCwgMHg3ZiwgMHg5YiwgMHhlMCwgMHg1NSwgMHgzOCwgMHg3MCwgMHgyMCwKLSAgMHgzMCwgMHgxMCwgMHgxMSwgMHg5MCwgMHg3ZSwgMHg0MSwgMHhlMCwgMHgxMywgMHg5MiwgMHgwZSwgMHhhMywgMHhlMCwgMHhmNSwgMHgzNiwgMHg3NSwgMHgzYSwKLSAgMHgwMywgMHgwMiwgMHgwNCwgMHgxYywgMHg3NSwgMHgzYSwgMHgwMiwgMHg5MCwgMHg3ZSwgMHg0MSwgMHhlMCwgMHhmNSwgMHgzNiwgMHgwMiwgMHgwNCwgMHgxYywKLSAgMHg3NSwgMHgzYSwgMHgwMSwgMHhjMiwgMHgwYiwgMHgwMiwgMHgwNCwgMHgxYywgMHhlNSwgMHgzYSwgMHhjMywgMHg5NSwgMHg1MywgMHg1MCwgMHgwM319LAotIHsweDAzMDYsIDY0LCB7IDB4MDIsIDB4MDMsIDB4YTIsIDB4OTAsIDB4N2YsIDB4YzgsIDB4ZTAsIDB4MzAsIDB4ZTEsIDB4MDcsIDB4YzIsIDB4MTQsIDB4YzIsIDB4MDUsIDB4MDIsIDB4MDQsIDB4MWMsCi0gIDB4OTAsIDB4N2YsIDB4YzksIDB4ZTAsIDB4ZjUsIDB4NTMsIDB4OTAsIDB4N2QsIDB4YzAsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MGQsIDB4NzUsIDB4MTYsIDB4ZmYsCi0gIDB4MjAsIDB4MGMsIDB4NzAsIDB4MjAsIDB4MDksIDB4NmQsIDB4OTAsIDB4N2YsIDB4OWIsIDB4ZTAsIDB4NTUsIDB4MzgsIDB4NzAsIDB4NjUsIDB4MzAsIDB4MTAsCi0gIDB4MTAsIDB4OTAsIDB4N2QsIDB4YzEsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4OWIsIDB4YTMsIDB4ZTAsIDB4ZjUsIDB4OTksIDB4NzUsIDB4M2EsIDB4MDN9fSwKLSB7MHgwMzQ2LCA2NCwgeyAweDgwLCAweDA5LCAweDkwLCAweDdkLCAweGMxLCAweGUwLCAweGY1LCAweDk5LCAweDc1LCAweDNhLCAweDAyLCAweGU1LCAweDNhLCAweGMzLCAweDk1LCAweDUzLCAweDQwLAotICAweDE3LCAweDkwLCAweDdmLCAweGM5LCAweGU0LCAweGYwLCAweGQyLCAweDAzLCAweDIwLCAweDBkLCAweDAzLCAweDAyLCAweDA0LCAweDFjLCAweGMyLCAweDBkLAotICAweDkwLCAweDdmLCAweGJiLCAweDA0LCAweGYwLCAweDAyLCAweDA0LCAweDFjLCAweDMwLCAweDEwLCAweDEyLCAweGFmLCAweDNhLCAweDA1LCAweDNhLCAweDc0LAotICAweGMwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdkLCAweGY1LCAweDgzLCAweGUwLCAweDEzLCAweDkyLCAweDBlLCAweGFmLCAweDNhfX0sCi0gezB4MDM4NiwgNjQsIHsgMHgwNSwgMHgzYSwgMHg3NCwgMHhjMCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZCwgMHhmNSwgMHg4MywgMHhlMCwgMHhmNSwgMHgzNiwgMHhkMiwgMHgwYiwKLSAgMHgwMiwgMHgwNCwgMHgxYywgMHg3NSwgMHgzYSwgMHgwMSwgMHhjMiwgMHgxNCwgMHgwMiwgMHgwNCwgMHgxYywgMHgyMCwgMHgwYywgMHg3NSwgMHgyMCwgMHgwOSwKLSAgMHg3MiwgMHg5MCwgMHg3ZiwgMHg5YiwgMHhlMCwgMHg1NSwgMHgzOCwgMHg3MCwgMHg2YSwgMHgzMCwgMHgxMCwgMHgxMiwgMHhhZiwgMHgzYSwgMHgwNSwgMHgzYSwKLSAgMHg3NCwgMHhjMCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZCwgMHhmNSwgMHg4MywgMHhlMCwgMHgxMywgMHg5MiwgMHg5YiwgMHhhZn19LAotIHsweDAzYzYsIDY0LCB7IDB4M2EsIDB4MDUsIDB4M2EsIDB4NzQsIDB4YzAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2QsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZjUsIDB4OTksIDB4ZTUsCi0gIDB4M2EsIDB4YzMsIDB4OTUsIDB4NTMsIDB4NDAsIDB4MTMsIDB4OTAsIDB4N2YsIDB4YzksIDB4ZTQsIDB4ZjAsIDB4ZDIsIDB4MDMsIDB4MzAsIDB4MGQsIDB4MzUsCi0gIDB4YzIsIDB4MGQsIDB4OTAsIDB4N2YsIDB4YmIsIDB4MDQsIDB4ZjAsIDB4ODAsIDB4MmMsIDB4MzAsIDB4MTAsIDB4MTIsIDB4YWYsIDB4M2EsIDB4MDUsIDB4M2EsCi0gIDB4NzQsIDB4YzAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2QsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MGUsIDB4YWZ9fSwKLSB7MHgwNDA2LCA2NCwgeyAweDNhLCAweDA1LCAweDNhLCAweDc0LCAweGMwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdkLCAweGY1LCAweDgzLCAweGUwLCAweGY1LCAweDM2LCAweGQyLAotICAweDBiLCAweDgwLCAweDAyLCAweGMyLCAweDE0LCAweGQyLCAweDAxLCAweDIwLCAweDk4LCAweDAzLCAweDAyLCAweDA1LCAweDVhLCAweGMyLCAweDk4LCAweDIwLAotICAweDAyLCAweDAzLCAweDAyLCAweDA0LCAweGM3LCAweDIwLCAweDE2LCAweDI3LCAweGFmLCAweDM5LCAweDA1LCAweDM5LCAweDc0LCAweDgwLCAweDJmLCAweGY1LAotICAweDgyLCAweGU0LCAweDM0LCAweDdlLCAweGY1LCAweDgzLCAweGU1LCAweDk5LCAweGYwLCAweDMwLCAweDEwLCAweDRkLCAweGFmLCAweDM5LCAweDA1fX0sCi0gezB4MDQ0NiwgNjQsIHsgMHgzOSwgMHg3NCwgMHg4MCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZSwgMHhmNSwgMHg4MywgMHhlNSwgMHg5OCwgMHhmMCwgMHg4MCwgMHgzYSwgMHg4NSwKLSAgMHg5OSwgMHgxMCwgMHhlNSwgMHgxMCwgMHhiNSwgMHg0NywgMHgwNCwgMHhkMiwgMHgwOSwgMHg4MCwgMHgyZSwgMHhlNSwgMHgxMCwgMHhiNSwgMHg0NiwgMHgwNCwKLSAgMHhjMiwgMHgwOSwgMHg4MCwgMHgyNSwgMHhhZiwgMHgzOSwgMHgwNSwgMHgzOSwgMHg3NCwgMHg4MCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZSwKLSAgMHhmNSwgMHg4MywgMHhlNSwgMHgxMCwgMHhmMCwgMHgzMCwgMHgxMCwgMHgxMSwgMHhhZiwgMHgzOSwgMHgwNSwgMHgzOSwgMHg3NCwgMHg4MCwgMHgyZn19LAotIHsweDA0ODYsIDY0LCB7IDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2UsIDB4ZjUsIDB4ODMsIDB4ZTUsIDB4OTgsIDB4ZjAsIDB4ZDIsIDB4MGYsIDB4ZTUsIDB4MzksIDB4YzMsIDB4OTUsIDB4NDMsCi0gIDB4NTAsIDB4MDMsIDB4MDIsIDB4MDUsIDB4NTgsIDB4OTAsIDB4N2YsIDB4YjgsIDB4ZTAsIDB4MzAsIDB4ZTEsIDB4MTYsIDB4ZTUsIDB4MzksIDB4YzMsIDB4OTQsCi0gIDB4NDAsIDB4NTAsIDB4MDMsIDB4MDIsIDB4MDUsIDB4NTgsIDB4MTUsIDB4MzksIDB4MTUsIDB4MzksIDB4MDUsIDB4MmIsIDB4NDMsIDB4MzQsIDB4MDEsIDB4MDIsCi0gIDB4MDUsIDB4NTgsIDB4OTAsIDB4N2YsIDB4YjcsIDB4ZTUsIDB4MzksIDB4ZjAsIDB4NzUsIDB4MzksIDB4MDAsIDB4YzIsIDB4MDIsIDB4MDIsIDB4MDV9fSwKLSB7MHgwNGM2LCA2NCwgeyAweDU4LCAweDIwLCAweDE2LCAweDI3LCAweGFmLCAweDM5LCAweDA1LCAweDM5LCAweDc0LCAweDAwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdlLCAweGY1LAotICAweDgzLCAweGU1LCAweDk5LCAweGYwLCAweDMwLCAweDEwLCAweDRkLCAweGFmLCAweDM5LCAweDA1LCAweDM5LCAweDc0LCAweDAwLCAweDJmLCAweGY1LCAweDgyLAotICAweGU0LCAweDM0LCAweDdlLCAweGY1LCAweDgzLCAweGU1LCAweDk4LCAweGYwLCAweDgwLCAweDNhLCAweDg1LCAweDk5LCAweDEwLCAweGU1LCAweDEwLCAweGI1LAotICAweDQ3LCAweDA0LCAweGQyLCAweDA5LCAweDgwLCAweDJlLCAweGU1LCAweDEwLCAweGI1LCAweDQ2LCAweDA0LCAweGMyLCAweDA5LCAweDgwLCAweDI1fX0sCi0gezB4MDUwNiwgNjQsIHsgMHhhZiwgMHgzOSwgMHgwNSwgMHgzOSwgMHg3NCwgMHgwMCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZSwgMHhmNSwgMHg4MywgMHhlNSwgMHgxMCwgMHhmMCwKLSAgMHgzMCwgMHgxMCwgMHgxMSwgMHhhZiwgMHgzOSwgMHgwNSwgMHgzOSwgMHg3NCwgMHgwMCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZSwgMHhmNSwKLSAgMHg4MywgMHhlNSwgMHg5OCwgMHhmMCwgMHhkMiwgMHgwZiwgMHhlNSwgMHgzOSwgMHhjMywgMHg5NSwgMHg0MywgMHg0MCwgMHgyNCwgMHg5MCwgMHg3ZiwgMHhiNiwKLSAgMHhlMCwgMHgzMCwgMHhlMSwgMHgxMiwgMHhlNSwgMHgzOSwgMHhjMywgMHg5NCwgMHg0MCwgMHg0MCwgMHgxNiwgMHgxNSwgMHgzOSwgMHgxNSwgMHgzOX19LAotIHsweDA1NDYsIDY0LCB7IDB4MDUsIDB4MmIsIDB4NDMsIDB4MzQsIDB4MDEsIDB4ODAsIDB4MGIsIDB4OTAsIDB4N2YsIDB4YjksIDB4ZTUsIDB4MzksIDB4ZjAsIDB4NzUsIDB4MzksIDB4MDAsIDB4ZDIsCi0gIDB4MDIsIDB4ZDIsIDB4MDEsIDB4MzAsIDB4MDEsIDB4MDUsIDB4YzIsIDB4MDEsIDB4MDIsIDB4MDAsIDB4NTYsIDB4ZDAsIDB4ZDAsIDB4ZDAsIDB4ODYsIDB4ZDAsCi0gIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzIsIDB4OTAsIDB4N2YsIDB4YmMsIDB4ZTAsIDB4MjAsIDB4ZTEsIDB4NTEsIDB4ZTUsIDB4MzQsIDB4NjAsCi0gIDB4NGQsIDB4ZTUsIDB4MzEsIDB4NzAsIDB4NDksIDB4ZTUsIDB4MzQsIDB4MzAsIDB4ZTEsIDB4MDgsIDB4ZTQsIDB4ZjUsIDB4MmYsIDB4NzUsIDB4MzR9fSwKLSB7MHgwNTg2LCA2NCwgeyAweDAxLCAweDgwLCAweDBiLCAweGEyLCAweDA4LCAweGU0LCAweDMzLCAweGY1LCAweDJmLCAweGMyLCAweDA4LCAweGU0LCAweGY1LCAweDM0LCAweGU0LCAweGY1LCAweDExLAotICAweDdlLCAweDAwLCAweDdiLCAweDAwLCAweDc0LCAweDI0LCAweDI1LCAweDExLCAweGY5LCAweGVlLCAweDM0LCAweDAwLCAweGZhLCAweDEyLCAweDBkLCAweDA2LAotICAweGZmLCAweDc0LCAweDAwLCAweDI1LCAweDExLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdkLCAweGY1LCAweDgzLCAweGVmLCAweGYwLCAweDA1LCAweDExLAotICAweGU1LCAweDExLCAweGI0LCAweDBjLCAweGRiLCAweDkwLCAweDdmLCAweGJkLCAweDc0LCAweDBjLCAweGYwLCAweDc1LCAweDMxLCAweDEwLCAweDkwfX0sCi0gezB4MDVjNiwgNjQsIHsgMHg3ZiwgMHhjYSwgMHhlMCwgMHgzMCwgMHhlMSwgMHgwMywgMHgwMiwgMHgwNiwgMHhmMywgMHhlNCwgMHhmNSwgMHgxMSwgMHg3NCwgMHg0MCwgMHgyNSwgMHgxMSwgMHhmNSwKLSAgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZCwgMHhmNSwgMHg4MywgMHhlMCwgMHhmZiwgMHhlNSwgMHgxMSwgMHg3YywgMHgwMCwgMHg3YiwgMHgwMCwgMHgyNCwgMHgzYiwKLSAgMHhmOSwgMHhlYywgMHgzNCwgMHgwMCwgMHhmYSwgMHhlZiwgMHgxMiwgMHgwZCwgMHgxZiwgMHgwNSwgMHgxMSwgMHhlNSwgMHgxMSwgMHhiNCwgMHgxOCwgMHhkYiwKLSAgMHhlNSwgMHgzYiwgMHg2MCwgMHgxMSwgMHg3NSwgMHhjOSwgMHgyMCwgMHg3NSwgMHhjOCwgMHgzNiwgMHg4NSwgMHgzYywgMHhjYSwgMHg4NSwgMHgzZH19LAotIHsweDA2MDYsIDY0LCB7IDB4Y2IsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4OWYsIDB4ZjAsIDB4ZTUsIDB4M2UsIDB4MTMsIDB4OTIsIDB4MTAsIDB4OTIsIDB4OWYsIDB4ODUsIDB4M2YsIDB4MzgsIDB4ZTUsCi0gIDB4NDAsIDB4MTMsIDB4OTIsIDB4MTYsIDB4ZTUsIDB4NDEsIDB4NjAsIDB4MDksIDB4OTAsIDB4N2YsIDB4OTgsIDB4ZTAsIDB4NTQsIDB4ZmIsIDB4ZjAsIDB4ODAsCi0gIDB4MDcsIDB4OTAsIDB4N2YsIDB4OTgsIDB4ZTAsIDB4NDQsIDB4MDQsIDB4ZjAsIDB4ZTUsIDB4NDIsIDB4NjAsIDB4MDksIDB4OTAsIDB4N2YsIDB4OTgsIDB4ZTAsCi0gIDB4NTQsIDB4N2YsIDB4ZjAsIDB4ODAsIDB4MDcsIDB4OTAsIDB4N2YsIDB4OTgsIDB4ZTAsIDB4NDQsIDB4ODAsIDB4ZjAsIDB4ZTUsIDB4NDgsIDB4NjB9fSwKLSB7MHgwNjQ2LCA2NCwgeyAweDBiLCAweGMyLCAweDBjLCAweGMyLCAweDA5LCAweDkwLCAweDdmLCAweDk1LCAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweGU1LCAweDQ5LCAweDYwLCAweDBjLCAweGQyLAotICAweDA5LCAweDQzLCAweDM0LCAweDAxLCAweDkwLCAweDdmLCAweDk1LCAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweGU1LCAweDRhLCAweDYwLCAweDBkLCAweGMyLAotICAweGFmLCAweGMyLCAweDBiLCAweGQyLCAweDAwLCAweGU0LCAweGY1LCAweDUzLCAweGY1LCAweDNhLCAweGQyLCAweGFmLCAweGU1LCAweDRiLCAweDYwLCAweDA1LAotICAweDMwLCAweDE2LCAweDAyLCAweGQyLCAweDA5LCAweGU1LCAweDRjLCAweDYwLCAweDE1LCAweDkwLCAweDdmLCAweDk1LCAweGUwLCAweDU0LCAweGZkfX0sCi0gezB4MDY4NiwgNjQsIHsgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5ZSwgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHhlMCwgMHg1NCwgMHhmZCwgMHhmMCwgMHhlNSwgMHg0ZCwKLSAgMHg2MCwgMHgwYSwgMHhkMiwgMHg5YywgMHhjMiwgMHg5OCwgMHg3NSwgMHgyYywgMHgwMSwgMHg3NSwgMHgzMSwgMHgxZSwgMHhlNSwgMHg0ZSwgMHg2MCwgMHgwNywKLSAgMHhjMiwgMHg5YywgMHhlNCwgMHhmNSwgMHgzOSwgMHhmNSwgMHgyYywgMHhlNSwgMHg0ZiwgMHg2MCwgMHgwMywgMHhlNCwgMHhmNSwgMHgzOSwgMHhlNSwgMHg1MCwKLSAgMHg2MCwgMHgwMiwgMHhkMiwgMHgwNywgMHhlNSwgMHg1MSwgMHg2MCwgMHgwYSwgMHhlNSwgMHg0ZCwgMHg3MCwgMHgwMiwgMHhmNSwgMHgzMSwgMHhlNX19LAotIHsweDA2YzYsIDY0LCB7IDB4NTEsIDB4NDIsIDB4MzQsIDB4ZTUsIDB4NTIsIDB4NjAsIDB4MWYsIDB4OTAsIDB4N2YsIDB4ZDcsIDB4NzQsIDB4MTEsIDB4ZjAsIDB4NzQsIDB4MzEsIDB4ZjAsIDB4NzQsCi0gIDB4MTIsIDB4ZjAsIDB4NzQsIDB4MzIsIDB4ZjAsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4NzQsIDB4MzMsIDB4ZjAsIDB4NzQsIDB4MTQsIDB4ZjAsIDB4NzQsIDB4MzQsCi0gIDB4ZjAsIDB4ZDIsIDB4MDMsIDB4ZDIsIDB4MDIsIDB4ZDIsIDB4MDgsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4Y2IsIDB4ZjAsIDB4YTIsIDB4MGMsIDB4ZTQsIDB4MzMsCi0gIDB4ZmYsIDB4NjUsIDB4MjksIDB4NjAsIDB4MDUsIDB4OGYsIDB4MjksIDB4NDMsIDB4MzQsIDB4MDEsIDB4YTIsIDB4MDksIDB4ZTQsIDB4MzMsIDB4ZmZ9fSwKLSB7MHgwNzA2LCA2NCwgeyAweDY1LCAweDJhLCAweDYwLCAweDA1LCAweDhmLCAweDJhLCAweDQzLCAweDM0LCAweDAxLCAweDkwLCAweDdmLCAweDliLCAweGUwLCAweGZmLCAweDU0LCAweDA4LCAweDY0LAotICAweDA4LCAweGZlLCAweDY1LCAweDI1LCAweDYwLCAweDA1LCAweDhlLCAweDI1LCAweDQzLCAweDM0LCAweDAxLCAweGVmLCAweDU0LCAweDEwLCAweDY0LCAweDEwLAotICAweGZlLCAweDY1LCAweDI2LCAweDYwLCAweDA1LCAweDhlLCAweDI2LCAweDQzLCAweDM0LCAweDAxLCAweGVmLCAweDU0LCAweDQwLCAweDY0LCAweDQwLCAweGZlLAotICAweDY1LCAweDI3LCAweDYwLCAweDA1LCAweDhlLCAweDI3LCAweDQzLCAweDM0LCAweDAxLCAweGVmLCAweDU0LCAweDIwLCAweDY0LCAweDIwLCAweGZlfX0sCi0gezB4MDc0NiwgNjQsIHsgMHg2NSwgMHgyOCwgMHg2MCwgMHgwNSwgMHg4ZSwgMHgyOCwgMHg0MywgMHgzNCwgMHgwMSwgMHg5MCwgMHg3ZiwgMHg5YSwgMHhlMCwgMHg1NCwgMHg0MCwgMHg2NCwgMHg0MCwKLSAgMHhmZSwgMHg2NSwgMHgyZSwgMHg2MCwgMHgwNSwgMHg4ZSwgMHgyZSwgMHg0MywgMHgzNCwgMHgwMSwgMHgzMCwgMHgwNywgMHgzNSwgMHhjMiwgMHhhZiwgMHgzMCwKLSAgMHgwMiwgMHgxOCwgMHg5MCwgMHg3ZiwgMHhiOCwgMHhlMCwgMHgyMCwgMHhlMSwgMHgyNywgMHhlNSwgMHgzOSwgMHg2MCwgMHgwOSwgMHg5MCwgMHg3ZiwgMHhiNywKLSAgMHhmMCwgMHhlNCwgMHhmNSwgMHgzOSwgMHhjMiwgMHgwMiwgMHhjMiwgMHgwNywgMHg4MCwgMHgxNiwgMHg5MCwgMHg3ZiwgMHhiNiwgMHhlMCwgMHgyMH19LAotIHsweDA3ODYsIDY0LCB7IDB4ZTEsIDB4MGYsIDB4ZTUsIDB4MzksIDB4NjAsIDB4MDksIDB4OTAsIDB4N2YsIDB4YjksIDB4ZjAsIDB4ZTQsIDB4ZjUsIDB4MzksIDB4ZDIsIDB4MDIsIDB4YzIsIDB4MDcsCi0gIDB4ZDIsIDB4YWYsIDB4MjAsIDB4MDUsIDB4M2QsIDB4MzAsIDB4MDMsIDB4MWUsIDB4OTAsIDB4N2YsIDB4YzYsIDB4ZTAsIDB4MjAsIDB4ZTEsIDB4MzMsIDB4OTAsCi0gIDB4N2UsIDB4NDAsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MGQsIDB4NzUsIDB4M2EsIDB4MDEsIDB4OTAsIDB4N2YsIDB4YzcsIDB4ZTAsIDB4ZjUsIDB4NTMsIDB4ZDIsCi0gIDB4MDUsIDB4NzUsIDB4MTYsIDB4ZmYsIDB4ODAsIDB4MWMsIDB4OTAsIDB4N2YsIDB4YzgsIDB4ZTAsIDB4MjAsIDB4ZTEsIDB4MTUsIDB4OTAsIDB4N2R9fSwKLSB7MHgwN2M2LCA2NCwgeyAweGMwLCAweGUwLCAweDEzLCAweDkyLCAweDBkLCAweDc1LCAweDNhLCAweDAxLCAweDkwLCAweDdmLCAweGM5LCAweGUwLCAweGY1LCAweDUzLCAweGQyLCAweDA1LCAweDc1LAotICAweDE2LCAweGZmLCAweDIwLCAweDE0LCAweDMzLCAweDIwLCAweDAwLCAweDA2LCAweGU1LCAweDNhLCAweDY1LCAweDUzLCAweDcwLCAweDJhLCAweDMwLCAweDA1LAotICAweDFhLCAweDMwLCAweDAzLCAweDA5LCAweGU0LCAweDkwLCAweDdmLCAweGM3LCAweGYwLCAweGMyLCAweDAzLCAweDgwLCAweDA3LCAweGU0LCAweDkwLCAweDdmLAotICAweGM5LCAweGYwLCAweGQyLCAweDAzLCAweGMyLCAweDA1LCAweGU0LCAweGY1LCAweDUzLCAweGY1LCAweDNhLCAweDMwLCAweDBkLCAweDBhLCAweGMyfX0sCi0gezB4MDgwNiwgNjQsIHsgMHgwZCwgMHhjMiwgMHgwMCwgMHg5MCwgMHg3ZiwgMHhiYiwgMHg3NCwgMHgwMSwgMHhmMCwgMHgzMCwgMHgxNCwgMHgwMywgMHgwMiwgMHgwOSwgMHgxNCwgMHgyMCwgMHgwNSwKLSAgMHgwMywgMHgwMiwgMHgwOSwgMHgxNCwgMHgzMCwgMHgwYywgMHgwMywgMHgwMiwgMHgwOSwgMHgxNCwgMHgzMCwgMHgwOSwgMHgwMywgMHgwMiwgMHgwOSwgMHgxNCwKLSAgMHg5MCwgMHg3ZiwgMHg5YiwgMHhlMCwgMHg1NSwgMHgzOCwgMHg2MCwgMHgwMywgMHgwMiwgMHgwOSwgMHgxNCwgMHgzMCwgMHgwMywgMHg2MSwgMHgzMCwgMHgxMCwKLSAgMHgxMiwgMHhhZiwgMHgzYSwgMHgwNSwgMHgzYSwgMHg3NCwgMHg0MCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZSwgMHhmNSwgMHg4M319LAotIHsweDA4NDYsIDY0LCB7IDB4ZTAsIDB4MTMsIDB4OTIsIDB4MWIsIDB4YWYsIDB4M2EsIDB4MDUsIDB4M2EsIDB4NzQsIDB4NDAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2UsIDB4ZjUsCi0gIDB4ODMsIDB4ZTAsIDB4ZmUsIDB4ZTUsIDB4M2EsIDB4YzMsIDB4OTUsIDB4NTMsIDB4NTAsIDB4MmEsIDB4MzAsIDB4MTAsIDB4MTIsIDB4YWYsIDB4M2EsIDB4MDUsCi0gIDB4M2EsIDB4NzQsIDB4NDAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2UsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MGUsIDB4YWYsCi0gIDB4M2EsIDB4MDUsIDB4M2EsIDB4NzQsIDB4NDAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2UsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZjV9fSwKLSB7MHgwODg2LCA2NCwgeyAweDM2LCAweGQyLCAweDBiLCAweDgwLCAweDZhLCAweGMyLCAweDBiLCAweGU0LCAweDkwLCAweDdmLCAweGM3LCAweGYwLCAweGMyLCAweDAzLCAweDgwLCAweDVmLCAweDMwLAotICAweDEwLCAweDEyLCAweGFmLCAweDNhLCAweDA1LCAweDNhLCAweDc0LCAweGMwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdkLCAweGY1LCAweDgzLAotICAweGUwLCAweDEzLCAweDkyLCAweDFiLCAweGFmLCAweDNhLCAweDA1LCAweDNhLCAweDc0LCAweGMwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdkLAotICAweGY1LCAweDgzLCAweGUwLCAweGZlLCAweGU1LCAweDNhLCAweGMzLCAweDk1LCAweDUzLCAweDUwLCAweDJhLCAweDMwLCAweDEwLCAweDEyLCAweGFmfX0sCi0gezB4MDhjNiwgNjQsIHsgMHgzYSwgMHgwNSwgMHgzYSwgMHg3NCwgMHhjMCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZCwgMHhmNSwgMHg4MywgMHhlMCwgMHgxMywgMHg5MiwgMHgwZSwKLSAgMHhhZiwgMHgzYSwgMHgwNSwgMHgzYSwgMHg3NCwgMHhjMCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZCwgMHhmNSwgMHg4MywgMHhlMCwgMHhmNSwKLSAgMHgzNiwgMHhkMiwgMHgwYiwgMHg4MCwgMHgwOSwgMHhjMiwgMHgwYiwgMHhlNCwgMHg5MCwgMHg3ZiwgMHhjOSwgMHhmMCwgMHhkMiwgMHgwMywgMHgzMCwgMHgxMCwKLSAgMHgwNCwgMHhhMiwgMHgxYiwgMHg5MiwgMHg5YiwgMHhkMiwgMHgxNCwgMHhjMiwgMHhhZiwgMHg4ZSwgMHg5OSwgMHgyMCwgMHgwYiwgMHgwZCwgMHgzMH19LAotIHsweDA5MDYsIDY0LCB7IDB4MGQsIDB4MGEsIDB4YzIsIDB4MGQsIDB4YzIsIDB4MDAsIDB4OTAsIDB4N2YsIDB4YmIsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4ZDIsIDB4YWYsIDB4MjIsIDB4OTAsIDB4N2YsCi0gIDB4ZTksIDB4ZTAsIDB4MTIsIDB4MGQsIDB4MzEsIDB4MGEsIDB4MTEsIDB4MDAsIDB4MGEsIDB4N2UsIDB4MDEsIDB4MGEsIDB4ZGIsIDB4MDMsIDB4MDksIDB4MzgsCi0gIDB4MDYsIDB4MGEsIDB4MDIsIDB4MDgsIDB4MDksIDB4ZjYsIDB4MDksIDB4MDksIDB4ZGUsIDB4MGEsIDB4MDksIDB4ZWQsIDB4MGIsIDB4MDAsIDB4MDAsIDB4MGIsCi0gIDB4MTksIDB4OTAsIDB4N2YsIDB4ZWIsIDB4ZTAsIDB4MjQsIDB4ZmUsIDB4NjAsIDB4MTksIDB4MTQsIDB4NjAsIDB4NWEsIDB4MjQsIDB4MDIsIDB4NjB9fSwKLSB7MHgwOTQ2LCA2NCwgeyAweDAzLCAweDAyLCAweDBiLCAweDE5LCAweDc0LCAweDBkLCAweDkwLCAweDdmLCAweGQ0LCAweGYwLCAweDc0LCAweDg3LCAweDkwLCAweDdmLCAweGQ1LCAweGYwLCAweDAyLAotICAweDBiLCAweDIwLCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweDcwLCAweDA0LCAweDdmLCAweDAyLCAweDgwLCAweDAyLCAweDdmLCAweDAzLCAweDc1LCAweDgyLAotICAweGQ4LCAweDc1LCAweDgzLCAweDBkLCAweGVmLCAweGYwLCAweDc1LCAweDgyLCAweGQxLCAweDc1LCAweDgzLCAweDBkLCAweGYwLCAweDc1LCAweDgyLCAweGNhLAotICAweDc1LCAweDgzLCAweDBkLCAweGYwLCAweDc1LCAweDgyLCAweGMzLCAweDc1LCAweDgzLCAweDBkLCAweGYwLCAweDkwLCAweDdmLCAweGVhLCAweGUwfX0sCi0gezB4MDk4NiwgNjQsIHsgMHgwNCwgMHg3NSwgMHg4MiwgMHg5ZSwgMHg3NSwgMHg4MywgMHgwZCwgMHhmMCwgMHg3NCwgMHgwZCwgMHg5MCwgMHg3ZiwgMHhkNCwgMHhmMCwgMHg3NCwgMHg5OSwgMHg5MCwKLSAgMHg3ZiwgMHhkNSwgMHhmMCwgMHgwMiwgMHgwYiwgMHgyMCwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHg3MCwgMHgwYiwgMHg3NSwgMHgxMSwgMHhmZiwgMHg3NSwKLSAgMHgxMiwgMHgwZCwgMHg3NSwgMHgxMywgMHhkYywgMHg4MCwgMHgxYiwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHhiNCwgMHgwMSwgMHgwYiwgMHg3NSwgMHgxMSwKLSAgMHhmZiwgMHg3NSwgMHgxMiwgMHgwZCwgMHg3NSwgMHgxMywgMHhlMCwgMHg4MCwgMHgwOSwgMHg3NSwgMHgxMSwgMHhmZiwgMHg3NSwgMHgxMiwgMHgwZH19LAotIHsweDA5YzYsIDY0LCB7IDB4NzUsIDB4MTMsIDB4ZjAsIDB4YWEsIDB4MTIsIDB4YTksIDB4MTMsIDB4YWUsIDB4MDIsIDB4ZWUsIDB4OTAsIDB4N2YsIDB4ZDQsIDB4ZjAsIDB4YWYsIDB4MDEsIDB4ZWYsCi0gIDB4OTAsIDB4N2YsIDB4ZDUsIDB4ZjAsIDB4MDIsIDB4MGIsIDB4MjAsIDB4OTAsIDB4N2YsIDB4MDAsIDB4ZTUsIDB4MTUsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsCi0gIDB4NzQsIDB4MDEsIDB4ZjAsIDB4MDIsIDB4MGIsIDB4MjAsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4ZjUsIDB4MTUsIDB4MDIsIDB4MGIsIDB4MjAsIDB4MTIsCi0gIDB4MGMsIDB4YjEsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4ZjUsIDB4MTQsIDB4MDIsIDB4MGIsIDB4MjAsIDB4OTAsIDB4N2YsIDB4MDAsIDB4ZTV9fSwKLSB7MHgwYTA2LCA2NCwgeyAweDE0LCAweGYwLCAweDkwLCAweDdmLCAweGI1LCAweDc0LCAweDAxLCAweGYwLCAweDAyLCAweDBiLCAweDIwLCAweDkwLCAweDdmLCAweGU4LCAweGUwLCAweDI0LCAweDdmLAotICAweDYwLCAweDI3LCAweDE0LCAweDYwLCAweDM0LCAweDI0LCAweDAyLCAweDYwLCAweDAzLCAweDAyLCAweDBiLCAweDE5LCAweGEyLCAweDE3LCAweGU0LCAweDMzLAotICAweGZmLCAweDI1LCAweGUwLCAweGZmLCAweGEyLCAweDE5LCAweGU0LCAweDMzLCAweDRmLCAweDkwLCAweDdmLCAweDAwLCAweGYwLCAweGU0LCAweGEzLCAweGYwLAotICAweDkwLCAweDdmLCAweGI1LCAweDc0LCAweDAyLCAweGYwLCAweDAyLCAweDBiLCAweDIwLCAweGU0LCAweDkwLCAweDdmLCAweDAwLCAweGYwLCAweGEzfX0sCi0gezB4MGE0NiwgNjQsIHsgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHg3NCwgMHgwMiwgMHhmMCwgMHgwMiwgMHgwYiwgMHgyMCwgMHg5MCwgMHg3ZiwgMHhlYywgMHhlMCwgMHhmNCwgMHg1NCwgMHg4MCwKLSAgMHhmZiwgMHhjNCwgMHg1NCwgMHgwZiwgMHhmZiwgMHhlMCwgMHg1NCwgMHgwNywgMHgyZiwgMHgyNSwgMHhlMCwgMHgyNCwgMHhiNCwgMHhmNSwgMHg4MiwgMHhlNCwKLSAgMHgzNCwgMHg3ZiwgMHhmNSwgMHg4MywgMHhlMCwgMHg1NCwgMHhmZCwgMHg5MCwgMHg3ZiwgMHgwMCwgMHhmMCwgMHhlNCwgMHhhMywgMHhmMCwgMHg5MCwgMHg3ZiwKLSAgMHhiNSwgMHg3NCwgMHgwMiwgMHhmMCwgMHgwMiwgMHgwYiwgMHgyMCwgMHg5MCwgMHg3ZiwgMHhlOCwgMHhlMCwgMHgyNCwgMHhmZSwgMHg2MCwgMHgxN319LAotIHsweDBhODYsIDY0LCB7IDB4MjQsIDB4MDIsIDB4NjAsIDB4MDMsIDB4MDIsIDB4MGIsIDB4MjAsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4NjQsIDB4MDEsIDB4NjAsIDB4MDMsIDB4MDIsIDB4MGIsCi0gIDB4MTksIDB4YzIsIDB4MTcsIDB4MDIsIDB4MGIsIDB4MjAsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4NzAsIDB4NzYsIDB4OTAsIDB4N2YsIDB4ZWMsIDB4ZTAsCi0gIDB4ZjQsIDB4NTQsIDB4ODAsIDB4ZmYsIDB4YzQsIDB4NTQsIDB4MGYsIDB4ZmYsIDB4ZTAsIDB4NTQsIDB4MDcsIDB4MmYsIDB4MjUsIDB4ZTAsIDB4MjQsIDB4YjQsCi0gIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2YsIDB4ZjUsIDB4ODMsIDB4ZTQsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZWMsIDB4ZTAsIDB4NTQsIDB4ODB9fSwKLSB7MHgwYWM2LCA2NCwgeyAweGZmLCAweDEzLCAweDEzLCAweDEzLCAweDU0LCAweDFmLCAweGZmLCAweGUwLCAweDU0LCAweDA3LCAweDJmLCAweDkwLCAweDdmLCAweGQ3LCAweGYwLCAweGUwLCAweDQ0LAotICAweDIwLCAweGYwLCAweDgwLCAweDQ1LCAweDkwLCAweDdmLCAweGU4LCAweGUwLCAweDI0LCAweGZlLCAweDYwLCAweDEwLCAweDI0LCAweDAyLCAweDcwLCAweDM5LAotICAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweDY0LCAweDAxLCAweDcwLCAweDJhLCAweGQyLCAweDE3LCAweDgwLCAweDJkLCAweDkwLCAweDdmLCAweGVhLCAweGUwLAotICAweDcwLCAweDIwLCAweDkwLCAweDdmLCAweGVjLCAweGUwLCAweGY0LCAweDU0LCAweDgwLCAweGZmLCAweGM0LCAweDU0LCAweDBmLCAweGZmLCAweGUwfX0sCi0gezB4MGIwNiwgNjQsIHsgMHg1NCwgMHgwNywgMHgyZiwgMHgyNSwgMHhlMCwgMHgyNCwgMHhiNCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZiwgMHhmNSwgMHg4MywgMHg3NCwgMHgwMSwgMHhmMCwKLSAgMHg4MCwgMHgwNywgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwKLSAgMHgyMiwgMHhjMiwgMHgxMCwgMHhlNCwgMHhmNSwgMHgxNCwgMHhmNSwgMHgzNCwgMHhjMiwgMHgwOSwgMHhjMiwgMHgwYywgMHhjMiwgMHgwYiwgMHhjMiwgMHgxNCwKLSAgMHhjMiwgMHgwZCwgMHhjMiwgMHgxNiwgMHhjMiwgMHgxMSwgMHhjMiwgMHgwNywgMHhjMiwgMHgxMiwgMHhjMiwgMHgwZiwgMHhjMiwgMHgwOCwgMHhmNX19LAotIHsweDBiNDYsIDY0LCB7IDB4MzUsIDB4ZjUsIDB4MzksIDB4ZjUsIDB4NTMsIDB4ZjUsIDB4M2EsIDB4ZjUsIDB4MzMsIDB4ZjUsIDB4MzAsIDB4ZjUsIDB4MmYsIDB4ZjUsIDB4MmUsIDB4ZjUsIDB4MmQsCi0gIDB4ZjUsIDB4MmMsIDB4ZjUsIDB4MmIsIDB4ZjUsIDB4MmEsIDB4ZjUsIDB4MjksIDB4ZjUsIDB4MjgsIDB4ZjUsIDB4MjcsIDB4ZjUsIDB4MjYsIDB4ZjUsIDB4MjUsCi0gIDB4ZjUsIDB4MjQsIDB4YzIsIDB4MDUsIDB4YzIsIDB4MTgsIDB4YzIsIDB4MWEsIDB4YzIsIDB4MTcsIDB4YzIsIDB4MTksIDB4YzIsIDB4MTUsIDB4YzIsIDB4MDQsCi0gIDB4ZDIsIDB4MTMsIDB4YzIsIDB4MDYsIDB4YzIsIDB4MDEsIDB4OTAsIDB4N2YsIDB4OTIsIDB4ZTAsIDB4NTQsIDB4ZmQsIDB4ZjAsIDB4ZDIsIDB4ZTh9fSwKLSB7MHgwYjg2LCA2NCwgeyAweDQzLCAweGQ4LCAweDIwLCAweDkwLCAweDdmLCAweGRlLCAweDc0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGRmLCAweGYwLCAweDkwLCAweDdmLCAweGFiLCAweDc0LAotICAweGZmLCAweGYwLCAweDkwLCAweDdmLCAweGE5LCAweGYwLCAweDkwLCAweDdmLCAweGFhLCAweGYwLCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGFmLAotICAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGFlLCAweGUwLCAweDQ0LCAweDBmLCAweGYwLCAweDkwLCAweDdmLCAweGFjLCAweDc0LCAweDBlLAotICAweGYwLCAweGQyLCAweGFmLCAweGQyLCAweGJjLCAweGQyLCAweDFiLCAweDEyLCAweDBmLCAweDVmLCAweGMyLCAweDE4LCAweDMwLCAweDA0LCAweDAzfX0sCi0gezB4MGJjNiwgNjQsIHsgMHgxMiwgMHgwNSwgMHg2ZCwgMHgzMCwgMHgwNCwgMHgyYSwgMHgzMCwgMHgwNiwgMHgyNywgMHhjMiwgMHgwNiwgMHhlNSwgMHgxNiwgMHg2MCwgMHgxNiwgMHgxNSwgMHgxNiwKLSAgMHg5MCwgMHg3ZiwgMHhkOCwgMHhlMCwgMHgzMCwgMHhlNiwgMHgwNCwgMHg3ZiwgMHgwMCwgMHg4MCwgMHgwMiwgMHg3ZiwgMHgyMCwgMHg5MCwgMHg3ZiwgMHg5NiwKLSAgMHhlZiwgMHhmMCwgMHg4MCwgMHgwNiwgMHg5MCwgMHg3ZiwgMHg5NiwgMHg3NCwgMHgyMCwgMHhmMCwgMHgxMiwgMHgwYywgMHgwYiwgMHg4MCwgMHhjZCwgMHgzMCwKLSAgMHgxOCwgMHgwNywgMHhjMiwgMHgxOCwgMHgxMiwgMHgwOSwgMHgxNSwgMHg4MCwgMHhjMywgMHgzMCwgMHgxYSwgMHhjMCwgMHhjMiwgMHgxYSwgMHgxMn19LAotIHsweDBjMDYsIDY0LCB7IDB4MGYsIDB4YmIsIDB4ODAsIDB4YjksIDB4MjIsIDB4ZTUsIDB4MzEsIDB4NjAsIDB4MDIsIDB4MTUsIDB4MzEsIDB4ZTUsIDB4MzksIDB4NjAsIDB4NTUsIDB4NjUsIDB4MzUsCi0gIDB4NzAsIDB4NGIsIDB4ZTUsIDB4MzMsIDB4ZjQsIDB4NjAsIDB4MDIsIDB4MDUsIDB4MzMsIDB4ZTUsIDB4MzMsIDB4YzMsIDB4OTUsIDB4NDQsIDB4NDAsIDB4NDMsCi0gIDB4YzIsIDB4YWYsIDB4MzAsIDB4MDIsIDB4MWIsIDB4OTAsIDB4N2YsIDB4YjgsIDB4ZTAsIDB4MjAsIDB4ZTEsIDB4MmQsIDB4OTAsIDB4N2YsIDB4YjcsIDB4ZTUsCi0gIDB4MzksIDB4ZjAsIDB4YzIsIDB4MDIsIDB4ZTQsIDB4ZjUsIDB4MzksIDB4ZjUsIDB4MzMsIDB4ZjUsIDB4MzUsIDB4NzUsIDB4MTYsIDB4ZmYsIDB4ODB9fSwKLSB7MHgwYzQ2LCA2NCwgeyAweDE5LCAweDkwLCAweDdmLCAweGI2LCAweGUwLCAweDIwLCAweGUxLCAweDEyLCAweDkwLCAweDdmLCAweGI5LCAweGU1LCAweDM5LCAweGYwLCAweGQyLCAweDAyLCAweGU0LAotICAweGY1LCAweDM5LCAweGY1LCAweDMzLCAweGY1LCAweDM1LCAweDc1LCAweDE2LCAweGZmLCAweGQyLCAweGFmLCAweDgwLCAweDA2LCAweDg1LCAweDM5LCAweDM1LAotICAweGU0LCAweGY1LCAweDMzLCAweGU1LCAweDJjLCAweDYwLCAweDMwLCAweDIwLCAweDBmLCAweDA3LCAweDkwLCAweDdmLCAweDliLCAweGUwLCAweDMwLCAweGUwLAotICAweDBmLCAweGU1LCAweDJkLCAweDYwLCAweDA2LCAweGU0LCAweGY1LCAweDJkLCAweDQzLCAweDM0LCAweDAxLCAweGU0LCAweGY1LCAweDMwLCAweDgwfX0sCi0gezB4MGM4NiwgNjQsIHsgMHgxNCwgMHhlNSwgMHgzMCwgMHhkMywgMHg5NSwgMHg0NSwgMHg1MCwgMHgwZCwgMHhlNSwgMHgzMCwgMHhiNSwgMHg0NSwgMHgwNiwgMHg3NSwgMHgyZCwgMHgwMSwgMHg0MywKLSAgMHgzNCwgMHgwMSwgMHgwNSwgMHgzMCwgMHhjMiwgMHgwZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHhkOSwgMHhlMCwgMHgzMCwgMHhlMiwgMHgwNCwgMHg3ZiwgMHgwMCwKLSAgMHg4MCwgMHgwMiwgMHg3ZiwgMHgyMCwgMHg5MCwgMHg3ZiwgMHg5NiwgMHhlZiwgMHhmMCwgMHgyMiwgMHhlNCwgMHg5MCwgMHg3ZiwgMHg5MywgMHhmMCwgMHg5MCwKLSAgMHg3ZiwgMHg5YywgMHg3NCwgMHgzMCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5NiwgMHg3NCwgMHgyMCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5NCwgMHg3NH19LAotIHsweDBjYzYsIDY0LCB7IDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWQsIDB4NzQsIDB4YmYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTcsIDB4NzQsIDB4ODYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTUsCi0gIDB4NzQsIDB4MDMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWUsIDB4NzQsIDB4ODQsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4ZjAsIDB4ZTQsIDB4OTAsIDB4N2YsCi0gIDB4YzcsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YzksIDB4ZjAsIDB4OTAsIDB4N2YsIDB4Y2IsIDB4ZjAsIDB4NzUsIDB4OTgsIDB4NDAsIDB4NDMsIDB4YTgsIDB4MTAsCi0gIDB4OTAsIDB4N2YsIDB4ZGUsIDB4NzQsIDB4MWYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZGYsIDB4NzQsIDB4MGYsIDB4ZjAsIDB4ZDIsIDB4MDQsIDB4MjJ9fSwKLSB7MHgwZDA2LCA2NCwgeyAweGJiLCAweDAxLCAweDA2LCAweDg5LCAweDgyLCAweDhhLCAweDgzLCAweGUwLCAweDIyLCAweDUwLCAweDAyLCAweGU3LCAweDIyLCAweGJiLCAweGZlLCAweDAyLCAweGUzLAotICAweDIyLCAweDg5LCAweDgyLCAweDhhLCAweDgzLCAweGU0LCAweDkzLCAweDIyLCAweGJiLCAweDAxLCAweDA2LCAweDg5LCAweDgyLCAweDhhLCAweDgzLCAweGYwLAotICAweDIyLCAweDUwLCAweDAyLCAweGY3LCAweDIyLCAweGJiLCAweGZlLCAweDAxLCAweGYzLCAweDIyLCAweGQwLCAweDgzLCAweGQwLCAweDgyLCAweGY4LCAweGU0LAotICAweDkzLCAweDcwLCAweDEyLCAweDc0LCAweDAxLCAweDkzLCAweDcwLCAweDBkLCAweGEzLCAweGEzLCAweDkzLCAweGY4LCAweDc0LCAweDAxLCAweDkzfX0sCi0gezB4MGQ0NiwgNjQsIHsgMHhmNSwgMHg4MiwgMHg4OCwgMHg4MywgMHhlNCwgMHg3MywgMHg3NCwgMHgwMiwgMHg5MywgMHg2OCwgMHg2MCwgMHhlZiwgMHhhMywgMHhhMywgMHhhMywgMHg4MCwgMHhkZiwKLSAgMHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhjMCwgMHg4NSwgMHhjMCwgMHg4NCwgMHhjMCwgMHg4NiwgMHg3NSwgMHg4NiwgMHgwMCwgMHg5MCwKLSAgMHg3ZiwgMHhjNCwgMHhlNCwgMHhmMCwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhYiwgMHg3NCwgMHgwNCwgMHhmMCwgMHhkMCwgMHg4NiwgMHhkMCwKLSAgMHg4NCwgMHhkMCwgMHg4NSwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDBkODYsIDY0LCB7IDB4MDAsIDB4MTIsIDB4MDEsIDB4MTAsIDB4MDEsIDB4ZmYsIDB4MDAsIDB4MDAsIDB4NDAsIDB4Y2QsIDB4MDYsIDB4MGMsIDB4MDEsIDB4MDEsIDB4MDAsIDB4MDEsIDB4MDIsCi0gIDB4MDAsIDB4MDIsIDB4MDksIDB4MDIsIDB4NDMsIDB4MDAsIDB4MDEsIDB4MDEsIDB4MDAsIDB4ODAsIDB4MzIsIDB4MDksIDB4MDQsIDB4MDAsIDB4MDAsIDB4MDcsCi0gIDB4ZmYsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDEsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDIsIDB4MDIsIDB4NDAsCi0gIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDMsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4ODEsIDB4MDIsIDB4NDAsIDB4MDB9fSwKLSB7MHgwZGM2LCA2NCwgeyAweDAxLCAweDA3LCAweDA1LCAweDgyLCAweDAyLCAweDQwLCAweDAwLCAweDAxLCAweDA3LCAweDA1LCAweDgzLCAweDAyLCAweDQwLCAweDAwLCAweDAxLCAweDA3LCAweDA1LAotICAweDg0LCAweDAyLCAweDQwLCAweDAwLCAweDAxLCAweDA0LCAweDAzLCAweDA5LCAweDA0LCAweDEwLCAweDAzLCAweDRiLCAweDAwLCAweDY1LCAweDAwLCAweDc5LAotICAweDAwLCAweDczLCAweDAwLCAweDcwLCAweDAwLCAweDYxLCAweDAwLCAweDZlLCAweDAwLCAweDBlLCAweDAzLCAweDUzLCAweDAwLCAweDY1LCAweDAwLCAweDcyLAotICAweDAwLCAweDY5LCAweDAwLCAweDYxLCAweDAwLCAweDZjLCAweDAwLCAweDAwLCAweDAwLCAweDAyLCAweDBlLCAweGEyLCAweDAwLCAweDAyLCAweDBlfX0sCi0gezB4MGUwNiwgNjQsIHsgMHg3YiwgMHgwMCwgMHgwMiwgMHgwZCwgMHg1NywgMHgwMCwgMHgwMiwgMHgwZSwgMHhjOSwgMHgwMCwgMHgwMiwgMHgwZSwgMHgxMCwgMHgwMCwgMHgwMiwgMHgwZSwgMHgxNCwKLSAgMHgwMCwgMHgwMiwgMHgwZSwgMHgxOCwgMHgwMCwgMHgwMiwgMHgwZSwgMHgxYywgMHgwMCwgMHgwMiwgMHgwZSwgMHhmMCwgMHgwMCwgMHgwMiwgMHgwZSwgMHgyNCwKLSAgMHgwMCwgMHgwMiwgMHgwZiwgMHgxNSwgMHgwMCwgMHgwMiwgMHgwZSwgMHgyYywgMHgwMCwgMHgwMiwgMHgwZiwgMHgzYSwgMHhlNCwgMHg5MCwgMHg3ZiwgMHg5NSwKLSAgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5NCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5MywgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5ZCwgMHhlMCwgMHg0NCwgMHgwMn19LAotIHsweDBlNDYsIDY0LCB7IDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTcsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWMsIDB4NzQsIDB4MTAsIDB4ZjAsIDB4ZTQsIDB4OTAsIDB4N2YsCi0gIDB4OTYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWQsIDB4NzQsIDB4ZmUsIDB4ZjAsIDB4MzAsIDB4MTcsIDB4MDQsIDB4N2YsIDB4ODAsIDB4ODAsIDB4MDIsIDB4N2YsCi0gIDB4MDAsIDB4OTAsIDB4N2YsIDB4OTcsIDB4ZWYsIDB4ZjAsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4OTUsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWUsIDB4ZjAsIDB4OTAsCi0gIDB4N2YsIDB4OTgsIDB4ZjAsIDB4MjIsIDB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ODUsIDB4YzAsIDB4ODQsIDB4YzB9fSwKLSB7MHgwZTg2LCA2NCwgeyAweDg2LCAweDc1LCAweDg2LCAweDAwLCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGFiLCAweDc0LCAweDAyLCAweGYwLCAweGQyLCAweDA2LCAweGQwLCAweDg2LAotICAweGQwLCAweDg0LCAweGQwLCAweDg1LCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGUwLCAweDMyLCAweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLAotICAweDgyLCAweGMwLCAweDg1LCAweGMwLCAweDg0LCAweGMwLCAweDg2LCAweDc1LCAweDg2LCAweDAwLCAweGQyLCAweDE4LCAweDUzLCAweDkxLCAweGVmLCAweDkwLAotICAweDdmLCAweGFiLCAweDc0LCAweDAxLCAweGYwLCAweGQwLCAweDg2LCAweGQwLCAweDg0LCAweGQwLCAweDg1LCAweGQwLCAweDgyLCAweGQwLCAweDgzfX0sCi0gezB4MGVjNiwgNjQsIHsgMHhkMCwgMHhlMCwgMHgzMiwgMHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhjMCwgMHg4NSwgMHhjMCwgMHg4NCwgMHhjMCwgMHg4NiwgMHg3NSwgMHg4NiwKLSAgMHgwMCwgMHhkMiwgMHgxYSwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhYiwgMHg3NCwgMHgwOCwgMHhmMCwgMHhkMCwgMHg4NiwgMHhkMCwgMHg4NCwKLSAgMHhkMCwgMHg4NSwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMiwgMHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhjMCwKLSAgMHg4NSwgMHhjMCwgMHg4NCwgMHhjMCwgMHg4NiwgMHg3NSwgMHg4NiwgMHgwMCwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhOSwgMHg3NH19LAotIHsweDBmMDYsIDY0LCB7IDB4MDIsIDB4ZjAsIDB4ZDAsIDB4ODYsIDB4ZDAsIDB4ODQsIDB4ZDAsIDB4ODUsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzIsIDB4YzAsIDB4ZTAsCi0gIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ODUsIDB4YzAsIDB4ODQsIDB4YzAsIDB4ODYsIDB4NzUsIDB4ODYsIDB4MDAsIDB4NTMsIDB4OTEsIDB4ZWYsCi0gIDB4OTAsIDB4N2YsIDB4YTksIDB4NzQsIDB4MDQsIDB4ZjAsIDB4ZDAsIDB4ODYsIDB4ZDAsIDB4ODQsIDB4ZDAsIDB4ODUsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsCi0gIDB4ZDAsIDB4ZTAsIDB4MzIsIDB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ODUsIDB4YzAsIDB4ODQsIDB4YzAsIDB4ODZ9fSwKLSB7MHgwZjQ2LCA2NCwgeyAweDc1LCAweDg2LCAweDAwLCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGE5LCAweDc0LCAweDA4LCAweGYwLCAweGQwLCAweDg2LCAweGQwLCAweDg0LCAweGQwLAotICAweDg1LCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGUwLCAweDMyLCAweDkwLCAweDdmLCAweGQ2LCAweGUwLCAweDU0LCAweGZiLCAweGYwLCAweGUwLAotICAweDQ0LCAweDA4LCAweGYwLCAweDMwLCAweDFiLCAweDA0LCAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweDdmLCAweGY0LCAweDdlLCAweDAxLCAweDEyLCAweDAwLAotICAweDAzLCAweDkwLCAweDdmLCAweGQ2LCAweGUwLCAweDU0LCAweGY3LCAweGYwLCAweGUwLCAweDQ0LCAweDA0LCAweGYwLCAweDIyLCAweDc0LCAweDAwfX0sCi0gezB4MGY4NiwgNjQsIHsgMHhmNSwgMHg4NiwgMHg5MCwgMHhmZCwgMHhhNSwgMHg3YywgMHgwNSwgMHhhMywgMHhlNSwgMHg4MiwgMHg0NSwgMHg4MywgMHg3MCwgMHhmOSwgMHgyMiwgMHg5MCwgMHg3ZiwKLSAgMHhkNiwgMHhlMCwgMHg0NCwgMHg4MCwgMHhmMCwgMHg0MywgMHg4NywgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgyMiwgMHg5MCwgMHg3ZiwKLSAgMHhkNiwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg3ZiwgMHgwZCwgMHg3ZSwgMHgwMCwgMHgxMiwgMHgwMCwgMHgwMywgMHg5MCwgMHg3ZiwgMHhkNiwgMHhlMCwKLSAgMHg1NCwgMHhmZSwgMHhmMCwgMHgyMiwgMHgxMiwgMHgwZSwgMHgzMywgMHgxMiwgMHgwZiwgMHg5NSwgMHg5MCwgMHg3ZiwgMHhkNiwgMHhlMCwgMHgzMH19LAotIHsweDBmYzYsICA5LCB7IDB4ZTcsIDB4MDMsIDB4MTIsIDB4MGYsIDB4YTUsIDB4MTIsIDB4MGMsIDB4YjEsIDB4MjJ9fSwKLSB7MHhmZmZmLAkwLAl7MHgwMH19Ci19OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2Ivc2VyaWFsL2tleXNwYW5fdXNhMTlxd19mdy5oIGIvZHJpdmVycy91c2Ivc2VyaWFsL2tleXNwYW5fdXNhMTlxd19mdy5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwODAzZjhiLi4wMDAwMDAwCi0tLSBhL2RyaXZlcnMvdXNiL3NlcmlhbC9rZXlzcGFuX3VzYTE5cXdfZncuaAorKysgL2Rldi9udWxsCkBAIC0xLDQ0OCArMCwwIEBACi0vKiBrZXlzcGFuX3VzYTE5cXdfZncuaAotCi0JVGhlIGZpcm13YXJlIGNvbnRhaW5lZCBoZXJlaW4gYXMga2V5c3Bhbl91c2ExOXdxX2Z3LmggaXMKLQotCQlDb3B5cmlnaHQgKEMpIDE5OTktMjAwMQotCQlLZXlzcGFuLCBBIGRpdmlzaW9uIG9mIElubm9TeXMgSW5jb3Jwb3JhdGVkICgiS2V5c3BhbiIpCi0JCQotCWFzIGFuIHVucHVibGlzaGVkIHdvcmsuIFRoaXMgbm90aWNlIGRvZXMgbm90IGltcGx5IHVucmVzdHJpY3RlZCBvcgotCXB1YmxpYyBhY2Nlc3MgdG8gdGhlIHNvdXJjZSBjb2RlIGZyb20gd2hpY2ggdGhpcyBmaXJtd2FyZSBpbWFnZSBpcwotCWRlcml2ZWQuICBFeGNlcHQgYXMgbm90ZWQgYmVsb3cgdGhpcyBmaXJtd2FyZSBpbWFnZSBtYXkgbm90IGJlIAotCXJlcHJvZHVjZWQsIHVzZWQsIHNvbGQgb3IgdHJhbnNmZXJyZWQgdG8gYW55IHRoaXJkIHBhcnR5IHdpdGhvdXQgCi0JS2V5c3BhbidzIHByaW9yIHdyaXR0ZW4gY29uc2VudC4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCi0KLQlQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkIGZvciB0aGUgZGlzdHJpYnV0aW9uIG9mIHRoaXMgZmlybXdhcmUgCi0JaW1hZ2UgYXMgcGFydCBvZiBhIExpbnV4IG9yIG90aGVyIE9wZW4gU291cmNlIG9wZXJhdGluZyBzeXN0ZW0ga2VybmVsIAotCWluIHRleHQgb3IgYmluYXJ5IGZvcm0gYXMgcmVxdWlyZWQuIAotCi0JVGhpcyBmaXJtd2FyZSBtYXkgbm90IGJlIG1vZGlmaWVkIGFuZCBtYXkgb25seSBiZSB1c2VkIHdpdGggIAotCUtleXNwYW4gaGFyZHdhcmUuICBEaXN0cmlidXRpb24gYW5kL29yIE1vZGlmaWNhdGlvbiBvZiB0aGUgCi0Ja2V5c3Bhbi5jIGRyaXZlciB3aGljaCBpbmNsdWRlcyB0aGlzIGZpcm13YXJlLCBpbiB3aG9sZSBvciBpbiAKLQlwYXJ0LCByZXF1aXJlcyB0aGUgaW5jbHVzaW9uIG9mIHRoaXMgc3RhdGVtZW50LiIKLQotKi8KLQotc3RhdGljIGNvbnN0IHN0cnVjdCBlenVzYl9oZXhfcmVjb3JkIGtleXNwYW5fdXNhMTlxd19maXJtd2FyZVtdID0gewotIHsweDAwMzMsICAzLCB7IDB4MDIsIDB4MDAsIDB4MmR9fSwKLSB7MHgwMDJkLCAgNCwgeyAweDUzLCAweGQ4LCAweGVmLCAweDMyfX0sCi0gezB4MDA0NiwgMTYsIHsgMHgzMCwgMHgxMCwgMHgxOSwgMHgxMiwgMHgwZSwgMHgwZiwgMHhlZiwgMHhjMywgMHg5NSwgMHgxNCwgMHg0MCwgMHgwMywgMHgwMiwgMHgwMCwgMHhkZiwgMHg5MH19LAotIHsweDAwNTYsIDE2LCB7IDB4N2YsIDB4YmYsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4YzIsIDB4MTAsIDB4YzIsIDB4MGIsIDB4MDIsIDB4MDAsIDB4ZGYsIDB4MzAsIDB4MGQsIDB4M2UsIDB4OTB9fSwKLSB7MHgwMDY2LCAxNiwgeyAweDdmLCAweGM2LCAweGUwLCAweDIwLCAweGUxLCAweDczLCAweDEyLCAweDBlLCAweDBmLCAweGVmLCAweGMzLCAweDk0LCAweDQwLCAweDUwLCAweDZhLCAweDkwfX0sCi0gezB4MDA3NiwgMTYsIHsgMHg3ZSwgMHg0MCwgMHhlMCwgMHgxMywgMHg5MiwgMHgxMCwgMHg5MCwgMHg3ZiwgMHhjNywgMHhlMCwgMHgxNCwgMHhmNSwgMHgzNiwgMHgyMCwgMHgwYiwgMHgxMX19LAotIHsweDAwODYsIDE2LCB7IDB4NjAsIDB4MGYsIDB4ZjUsIDB4MjQsIDB4N2UsIDB4N2UsIDB4N2YsIDB4NDEsIDB4NzUsIDB4MjksIDB4N2UsIDB4NzUsIDB4MmEsIDB4NDEsIDB4MTIsIDB4MDl9fSwKLSB7MHgwMDk2LCAxNiwgeyAweDEwLCAweGMyLCAweDBkLCAweGU0LCAweDkwLCAweDdmLCAweGM3LCAweGYwLCAweDc1LCAweDI2LCAweGZmLCAweDgwLCAweDNjLCAweDkwLCAweDdmLCAweGM4fX0sCi0gezB4MDBhNiwgMTYsIHsgMHhlMCwgMHgyMCwgMHhlMSwgMHgzNSwgMHgxMiwgMHgwZSwgMHgwZiwgMHhlZiwgMHhjMywgMHg5NCwgMHg0MCwgMHg1MCwgMHgyYywgMHg5MCwgMHg3ZCwgMHhjMH19LAotIHsweDAwYjYsIDE2LCB7IDB4ZTAsIDB4MTMsIDB4OTIsIDB4MTAsIDB4OTAsIDB4N2YsIDB4YzksIDB4ZTAsIDB4MTQsIDB4ZjUsIDB4MzYsIDB4MjAsIDB4MGIsIDB4MTEsIDB4NjAsIDB4MGZ9fSwKLSB7MHgwMGM2LCAxNiwgeyAweGY1LCAweDI0LCAweDdlLCAweDdkLCAweDdmLCAweGMxLCAweDc1LCAweDI5LCAweDdkLCAweDc1LCAweDJhLCAweGMxLCAweDEyLCAweDA5LCAweDEwLCAweGQyfX0sCi0gezB4MDBkNiwgMTYsIHsgMHgwZCwgMHhlNCwgMHg5MCwgMHg3ZiwgMHhjOSwgMHhmMCwgMHg3NSwgMHgyNiwgMHhmZiwgMHg5MCwgMHg3ZiwgMHhiNiwgMHhlMCwgMHgzMCwgMHhlMSwgMHgwM319LAotIHsweDAwZTYsIDE2LCB7IDB4MDIsIDB4MDEsIDB4NjgsIDB4MTIsIDB4MGMsIDB4ZmYsIDB4OGYsIDB4MzYsIDB4MTIsIDB4MGUsIDB4MWIsIDB4OGYsIDB4MTEsIDB4ZTUsIDB4MzYsIDB4YzN9fSwKLSB7MHgwMGY2LCAxNiwgeyAweDk1LCAweDEzLCAweDUwLCAweDBmLCAweDEyLCAweDBkLCAweGRlLCAweGVmLCAweDMwLCAweGUwLCAweDA4LCAweGU1LCAweDExLCAweDIwLCAweGU3LCAweDAzfX0sCi0gezB4MDAzNiwgMTIsIHsgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMCwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMn19LAotIHsweDAwNDMsICAzLCB7IDB4MDIsIDB4MGUsIDB4MDB9fSwKLSB7MHgwMDAzLCAxNiwgeyAweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGMwLCAweDg1LCAweGMwLCAweDg0LCAweGMwLCAweDg2LCAweDc1LCAweDg2LCAweDAwLCAweDkwfX0sCi0gezB4MDAxMywgMTYsIHsgMHg3ZiwgMHhjNCwgMHhlNCwgMHhmMCwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhYiwgMHg3NCwgMHgwNCwgMHhmMCwgMHhkMCwgMHg4NiwgMHhkMH19LAotIHsweDAwMjMsIDEwLCB7IDB4ODQsIDB4ZDAsIDB4ODUsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzJ9fSwKLSB7MHgwMDAwLCAgMywgeyAweDAyLCAweDA5LCAweGM1fX0sCi0gezB4MDEwNiwgNjQsIHsgMHgzMCwgMHgxMywgMHg1ZiwgMHhjMiwgMHgxMywgMHhlNSwgMHgzNiwgMHg2MCwgMHg1OSwgMHhiNCwgMHg4MCwgMHgwMywgMHg0MywgMHgxMSwgMHgwMiwgMHhlNSwgMHgxMSwKLSAgMHgzMCwgMHhlNywgMHgyNCwgMHhlNSwgMHgzNiwgMHhkMywgMHg5NCwgMHgyMCwgMHg0MCwgMHgwMywgMHg3NSwgMHgzNiwgMHgyMCwgMHg4NSwgMHgzNiwgMHgyNCwKLSAgMHg3ZSwgMHg3ZSwgMHg3ZiwgMHg4MCwgMHg3NSwgMHgyOSwgMHg3ZSwgMHg3NSwgMHgyYSwgMHg4MCwgMHgxMiwgMHgwYiwgMHg5YSwgMHhlNSwgMHgzNiwgMHgyNSwKLSAgMHhlMCwgMHg5MCwgMHg3ZiwgMHhiNywgMHhmMCwgMHg4MCwgMHgyYSwgMHhlNSwgMHgzNiwgMHhkMywgMHg5NCwgMHgzZiwgMHg0MCwgMHgwMywgMHg3NX19LAotIHsweDAxNDYsIDY0LCB7IDB4MzYsIDB4M2YsIDB4ODUsIDB4MzYsIDB4MjQsIDB4OTAsIDB4N2UsIDB4ODAsIDB4ZTUsIDB4MTEsIDB4ZjAsIDB4N2UsIDB4N2UsIDB4N2YsIDB4ODEsIDB4NzUsIDB4MjksCi0gIDB4N2UsIDB4NzUsIDB4MmEsIDB4ODEsIDB4MTIsIDB4MDksIDB4MzUsIDB4ZTUsIDB4MzYsIDB4MDQsIDB4OTAsIDB4N2YsIDB4YjcsIDB4ZjAsIDB4NzUsIDB4MjYsCi0gIDB4ZmYsIDB4OTAsIDB4N2YsIDB4Y2UsIDB4ZTAsIDB4MzAsIDB4ZTEsIDB4MDYsIDB4MjAsIDB4MGUsIDB4MDMsIDB4MDIsIDB4MDMsIDB4YzQsIDB4ZTQsIDB4ZjUsCi0gIDB4MzUsIDB4NzQsIDB4NDAsIDB4MjUsIDB4MzUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2MsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmYsIDB4ZTV9fSwKLSB7MHgwMTg2LCA2NCwgeyAweDM1LCAweDdjLCAweDAwLCAweDdiLCAweDAxLCAweDdhLCAweDdlLCAweDc5LCAweDAwLCAweDI0LCAweDAwLCAweGY5LCAweGVjLCAweDM0LCAweDdlLCAweGZhLCAweGVmLAotICAweDEyLCAweDBhLCAweDk3LCAweDA1LCAweDM1LCAweGU1LCAweDM1LCAweGI0LCAweDIwLCAweGQ3LCAweDkwLCAweDdlLCAweDAwLCAweGUwLCAweDYwLCAweDZlLAotICAweDdmLCAweDAxLCAweDkwLCAweDdlLCAweDExLCAweGUwLCAweGZkLCAweDEyLCAweDBjLCAweGRhLCAweDkwLCAweDdlLCAweDAxLCAweGUwLCAweGZmLCAweDEyLAotICAweDBjLCAweDFjLCAweDkwLCAweDdlLCAweDAyLCAweGUwLCAweGZmLCAweDEyLCAweDBjLCAweDQyLCAweGQyLCAweDExLCAweGQyLCAweDEyLCAweDc1fX0sCi0gezB4MDFjNiwgNjQsIHsgMHgzNiwgMHgwNCwgMHg5MCwgMHg3ZSwgMHgwMywgMHhlMCwgMHg2MCwgMHgwNSwgMHhjMiwgMHgxMiwgMHg0MywgMHgzNiwgMHhjMCwgMHg5MCwgMHg3ZSwgMHgwNCwgMHhlMCwKLSAgMHhiNCwgMHgwMSwgMHgwNywgMHhjMiwgMHgxMiwgMHg0MywgMHgzNiwgMHgwYiwgMHg4MCwgMHgxMCwgMHg5MCwgMHg3ZSwgMHgwNCwgMHhlMCwgMHg2MCwgMHgwNywKLSAgMHhjMiwgMHgxMSwgMHg0MywgMHgzNiwgMHgwOSwgMHg4MCwgMHgwMywgMHg0MywgMHgzNiwgMHgwMiwgMHg3ZiwgMHgwMywgMHhhZCwgMHgzNiwgMHgxMiwgMHgwYywKLSAgMHhkYSwgMHg0MywgMHgxYSwgMHg4MCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxNCwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlNSwgMHgxYX19LAotIHsweDAyMDYsIDY0LCB7IDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTIsIDB4ZjAsIDB4ZTUsIDB4MTcsIDB4NDQsIDB4MDYsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4OTAsIDB4N2UsCi0gIDB4MDUsIDB4ZTAsIDB4NjAsIDB4MTIsIDB4YTMsIDB4ZTAsIDB4NTQsIDB4M2YsIDB4ZjUsIDB4MTksIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsCi0gIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTUsIDB4MTksIDB4ZjAsIDB4OTAsIDB4N2UsIDB4MDcsIDB4ZTAsIDB4NjAsIDB4NDIsIDB4OTAsIDB4N2UsIDB4MTMsIDB4ZTAsCi0gIDB4NjAsIDB4MDUsIDB4NDMsIDB4MTYsIDB4MDQsIDB4ODAsIDB4MDMsIDB4NTMsIDB4MTYsIDB4ZmIsIDB4ZTQsIDB4ZmYsIDB4YWQsIDB4MTYsIDB4MTJ9fSwKLSB7MHgwMjQ2LCA2NCwgeyAweDBjLCAweGRhLCAweDkwLCAweDdlLCAweDA4LCAweGUwLCAweDYwLCAweDA1LCAweDQzLCAweDE4LCAweDgwLCAweDgwLCAweDAzLCAweDUzLCAweDE4LCAweDdmLCAweDUzLAotICAweDE4LCAweGZjLCAweDkwLCAweDdlLCAweDA5LCAweGUwLCAweDYwLCAweDExLCAweDQzLCAweDE4LCAweDAyLCAweGEzLCAweGUwLCAweGZmLCAweDEyLCAweDBjLAotICAweDhlLCAweDkwLCAweDdlLCAweDBiLCAweGUwLCAweGZmLCAweDEyLCAweDBjLCAweGI0LCAweGFmLCAweDE4LCAweDEyLCAweDBjLCAweDY4LCAweDkwLCAweDdlLAotICAweDBlLCAweGUwLCAweDYwLCAweDE4LCAweGEzLCAweGUwLCAweDYwLCAweDA1LCAweDQzLCAweDFhLCAweDAxLCAweDgwLCAweDAzLCAweDUzLCAweDFhfX0sCi0gezB4MDI4NiwgNjQsIHsgMHhmZSwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxNCwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlNSwgMHgxYSwgMHhmMCwgMHg5MCwgMHg3ZSwgMHgwYywgMHhlMCwKLSAgMHg2MCwgMHgxOCwgMHhhMywgMHhlMCwgMHg2MCwgMHgwNSwgMHg0MywgMHgxYSwgMHgwMiwgMHg4MCwgMHgwMywgMHg1MywgMHgxYSwgMHhmZCwgMHg5MCwgMHg3ZiwKLSAgMHg5OCwgMHg3NCwgMHgxNCwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlNSwgMHgxYSwgMHhmMCwgMHg5MCwgMHg3ZSwgMHgxMiwgMHhlMCwgMHhmNSwgMHgxMywKLSAgMHhhMywgMHhlMCwgMHgxMywgMHg5MiwgMHgxNCwgMHhhMywgMHhlMCwgMHhmNSwgMHgxNCwgMHhhMywgMHhlMCwgMHg2MCwgMHgwNSwgMHg0MywgMHgxYX19LAotIHsweDAyYzYsIDY0LCB7IDB4MTAsIDB4ODAsIDB4MDMsIDB4NTMsIDB4MWEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTQsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTUsIDB4MWEsCi0gIDB4ZjAsIDB4OTAsIDB4N2UsIDB4MTYsIDB4ZTAsIDB4NjAsIDB4MzIsIDB4NTMsIDB4MTksIDB4YmYsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsCi0gIDB4ZTUsIDB4MTksIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTEsIDB4ZjAsIDB4MTIsIDB4MGQsCi0gIDB4ZDIsIDB4ZWYsIDB4NTQsIDB4ZmUsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4NTMsIDB4MTYsIDB4ZmQsIDB4ZTQsIDB4ZmYsIDB4YWQsIDB4MTZ9fSwKLSB7MHgwMzA2LCA2NCwgeyAweDEyLCAweDBjLCAweGRhLCAweGU0LCAweGY1LCAweDBlLCAweGY1LCAweDBkLCAweGQyLCAweDBmLCAweDkwLCAweDdlLCAweDE3LCAweGUwLCAweDYwLCAweDBmLCAweDQzLAotICAweDE2LCAweDAyLCAweGU0LCAweGZmLCAweGFkLCAweDE2LCAweDEyLCAweDBjLCAweGRhLCAweDc1LCAweDBkLCAweDAxLCAweGQyLCAweDBmLCAweDkwLCAweDdlLAotICAweDE4LCAweGUwLCAweDYwLCAweDEwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEyLCAweGYwLCAweGU1LCAweDE3LCAweDQ0LCAweDA0LCAweDkwLCAweGMwLAotICAweDAwLCAweGYwLCAweGQyLCAweDBiLCAweDkwLCAweDdlLCAweDE5LCAweGUwLCAweDYwLCAweDExLCAweDQzLCAweDE5LCAweDQwLCAweDkwLCAweDdmfX0sCi0gezB4MDM0NiwgNjQsIHsgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHhlNSwgMHgxOSwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHg5MCwgMHg3ZSwgMHgxYSwgMHhlMCwgMHg2MCwKLSAgMHgwZiwgMHg1MywgMHgxNiwgMHhmZSwgMHhlNCwgMHhmZiwgMHhhZCwgMHgxNiwgMHgxMiwgMHgwYywgMHhkYSwgMHg3NSwgMHgwZiwgMHgwMSwgMHhkMiwgMHgwZiwKLSAgMHg5MCwgMHg3ZSwgMHgxYiwgMHhlMCwgMHg2MCwgMHgwZiwgMHg0MywgMHgxNiwgMHgwMSwgMHhlNCwgMHhmZiwgMHhhZCwgMHgxNiwgMHgxMiwgMHgwYywgMHhkYSwKLSAgMHhlNCwgMHhmNSwgMHgwZiwgMHhkMiwgMHgwZiwgMHg5MCwgMHg3ZSwgMHgxYywgMHhlMCwgMHg2MCwgMHgwZSwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NH19LAotIHsweDAzODYsIDY0LCB7IDB4MTIsIDB4ZjAsIDB4ZTUsIDB4MTcsIDB4NDQsIDB4MDIsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4OTAsIDB4N2UsIDB4MWQsIDB4ZTAsIDB4NjAsIDB4MDIsIDB4ZDIsCi0gIDB4MTMsIDB4OTAsIDB4N2UsIDB4MWUsIDB4ZTAsIDB4NjAsIDB4MDgsIDB4NzUsIDB4MTAsIDB4MDEsIDB4ZTQsIDB4ZjUsIDB4MTIsIDB4ZDIsIDB4MGYsIDB4OTAsCi0gIDB4N2UsIDB4MWYsIDB4ZTAsIDB4NjAsIDB4MTEsIDB4OTAsIDB4N2YsIDB4ZDcsIDB4NzQsIDB4MTEsIDB4ZjAsIDB4NzQsIDB4MzEsIDB4ZjAsIDB4NzQsIDB4MTUsCi0gIDB4ZjAsIDB4NzQsIDB4MzUsIDB4ZjAsIDB4ZDIsIDB4MGQsIDB4YzIsIDB4MGUsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4Y2YsIDB4ZjAsIDB4MzAsIDB4MTZ9fSwKLSB7MHgwM2M2LCA2NCwgeyAweDcxLCAweGU1LCAweDEyLCAweDYwLCAweDAyLCAweDE1LCAweDEyLCAweGU1LCAweDMwLCAweGQzLCAweDk0LCAweDAwLCAweDQwLCAweDA0LCAweDE1LCAweDMwLCAweDgwLAotICAweDYwLCAweDc1LCAweDMwLCAweDBhLCAweDEyLCAweDBkLCAweGQyLCAweGVmLCAweDU0LCAweDAxLCAweGY1LCAweDM2LCAweDY1LCAweDBlLCAweDYwLCAweDA3LAotICAweDg1LCAweDM2LCAweDBlLCAweGQyLCAweDBmLCAweDgwLCAweDExLCAweDEyLCAweDBlLCAweDI3LCAweGVmLCAweDU0LCAweDEwLCAweGY1LCAweDM2LCAweDY1LAotICAweDA5LCAweDYwLCAweDA1LCAweDg1LCAweDM2LCAweDA5LCAweGQyLCAweDBmLCAweDEyLCAweDBlLCAweDI3LCAweGVmLCAweDU0LCAweDgwLCAweGY1fX0sCi0gezB4MDQwNiwgNjQsIHsgMHgzNiwgMHg2NSwgMHgwYSwgMHg2MCwgMHgwNSwgMHg4NSwgMHgzNiwgMHgwYSwgMHhkMiwgMHgwZiwgMHgxMiwgMHgwZSwgMHgyNywgMHhlZiwgMHg1NCwgMHgyMCwgMHhmNSwKLSAgMHgzNiwgMHg2NSwgMHgwYiwgMHg2MCwgMHgwOCwgMHg4NSwgMHgzNiwgMHgwYiwgMHgzMCwgMHgxMSwgMHgwMiwgMHhkMiwgMHgwZiwgMHgxMiwgMHgwZSwgMHgyNywKLSAgMHhlZiwgMHg1NCwgMHg0MCwgMHhmNSwgMHgzNiwgMHg2NSwgMHgwYywgMHg2MCwgMHgwOCwgMHg4NSwgMHgzNiwgMHgwYywgMHgzMCwgMHgxMiwgMHgwMiwgMHhkMiwKLSAgMHgwZiwgMHgzMCwgMHgxNiwgMHgyYSwgMHg5MCwgMHg3ZiwgMHhkMiwgMHhlMCwgMHgyMCwgMHhlMSwgMHgyMywgMHg5MCwgMHg3YiwgMHg0MCwgMHhlMH19LAotIHsweDA0NDYsIDY0LCB7IDB4NjAsIDB4MDksIDB4ZTAsIDB4ZjUsIDB4MzIsIDB4OTAsIDB4N2IsIDB4NDIsIDB4ZTAsIDB4ZjUsIDB4MzMsIDB4OTAsIDB4N2IsIDB4NDEsIDB4ZTAsIDB4NjAsIDB4MDksCi0gIDB4OTAsIDB4N2YsIDB4ZDcsIDB4NzQsIDB4MTcsIDB4ZjAsIDB4NzQsIDB4MzcsIDB4ZjAsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4ZDMsIDB4ZjAsIDB4OTAsIDB4N2YsCi0gIDB4YzIsIDB4ZTAsIDB4MzAsIDB4ZTEsIDB4MDMsIDB4MDIsIDB4MDUsIDB4MjksIDB4ZTUsIDB4MjcsIDB4NzAsIDB4NDAsIDB4MzAsIDB4MGYsIDB4MzksIDB4ZTUsCi0gIDB4MTIsIDB4NzAsIDB4MzUsIDB4YzIsIDB4MGYsIDB4ZjUsIDB4MzUsIDB4N2UsIDB4MDAsIDB4N2IsIDB4MDAsIDB4NzQsIDB4MDgsIDB4MjUsIDB4MzV9fSwKLSB7MHgwNDg2LCA2NCwgeyAweGY5LCAweGVlLCAweDM0LCAweDAwLCAweGZhLCAweDEyLCAweDBhLCAweDUxLCAweGZmLCAweDc0LCAweDgwLCAweDI1LCAweDM1LCAweGY1LCAweDgyLCAweGU0LCAweDM0LAotICAweDdiLCAweGY1LCAweDgzLCAweGVmLCAweGYwLCAweDA1LCAweDM1LCAweGU1LCAweDM1LCAweGI0LCAweDA5LCAweGRiLCAweDkwLCAweDdmLCAweGMzLCAweDc0LAotICAweDA5LCAweGYwLCAweDc1LCAweDEyLCAweDEwLCAweGU0LCAweGY1LCAweDEwLCAweDc1LCAweDI3LCAweDAyLCAweDIyLCAweGU1LCAweDI3LCAweDY0LCAweDAyLAotICAweDcwLCAweDM2LCAweDMwLCAweDA1LCAweDJmLCAweGMyLCAweDA1LCAweGY1LCAweDM1LCAweDdlLCAweDAwLCAweDdiLCAweDAwLCAweDc0LCAweDJifX0sCi0gezB4MDRjNiwgNjQsIHsgMHgyNSwgMHgzNSwgMHhmOSwgMHhlZSwgMHgzNCwgMHgwMCwgMHhmYSwgMHgxMiwgMHgwYSwgMHg1MSwgMHhmZiwgMHg3NCwgMHg4MCwgMHgyNSwgMHgzNSwgMHhmNSwgMHg4MiwKLSAgMHhlNCwgMHgzNCwgMHg3YiwgMHhmNSwgMHg4MywgMHhlZiwgMHhmMCwgMHgwNSwgMHgzNSwgMHhlNSwgMHgzNSwgMHhiNCwgMHgwNSwgMHhkYiwgMHg5MCwgMHg3ZiwKLSAgMHhjMywgMHg3NCwgMHgwNSwgMHhmMCwgMHg3NSwgMHgyNywgMHgwMywgMHgyMiwgMHhlNSwgMHgzMiwgMHg2MCwgMHgzMywgMHg3NSwgMHgzMSwgMHgwMywgMHgxNSwKLSAgMHgzMiwgMHhlNCwgMHhmNSwgMHgzNSwgMHg3ZSwgMHgwMCwgMHg3YiwgMHgwMCwgMHg3NCwgMHgzMSwgMHgyNSwgMHgzNSwgMHhmOSwgMHhlZSwgMHgzNH19LAotIHsweDA1MDYsIDY0LCB7IDB4MDAsIDB4ZmEsIDB4MTIsIDB4MGEsIDB4NTEsIDB4ZmYsIDB4NzQsIDB4ODAsIDB4MjUsIDB4MzUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2IsIDB4ZjUsIDB4ODMsCi0gIDB4ZWYsIDB4ZjAsIDB4MDUsIDB4MzUsIDB4ZTUsIDB4MzUsIDB4YjQsIDB4MDMsIDB4ZGIsIDB4OTAsIDB4N2YsIDB4YzMsIDB4NzQsIDB4MDMsIDB4ZjAsIDB4ZTQsCi0gIDB4ZjUsIDB4MjcsIDB4MjIsIDB4OTAsIDB4N2YsIDB4ZTksIDB4ZTAsIDB4MTIsIDB4MGEsIDB4YTksIDB4MDYsIDB4MDgsIDB4MDAsIDB4MDYsIDB4N2MsIDB4MDEsCi0gIDB4MDYsIDB4ZTksIDB4MDMsIDB4MDUsIDB4NGQsIDB4MDYsIDB4MDUsIDB4ZjksIDB4MDgsIDB4MDUsIDB4ZWQsIDB4MDksIDB4MDUsIDB4ZDUsIDB4MGF9fSwKLSB7MHgwNTQ2LCA2NCwgeyAweDA1LCAweGU0LCAweDBiLCAweDAwLCAweDAwLCAweDA3LCAweDM5LCAweDkwLCAweDdmLCAweGViLCAweGUwLCAweDI0LCAweGZlLCAweDYwLCAweDE2LCAweDE0LCAweDYwLAotICAweDUwLCAweDI0LCAweDAyLCAweDcwLCAweDZmLCAweDc0LCAweDE5LCAweDkwLCAweDdmLCAweGQ0LCAweGYwLCAweDc0LCAweDAwLCAweDkwLCAweDdmLCAweGQ1LAotICAweGYwLCAweDAyLCAweDA3LCAweDQwLCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweDcwLCAweDA0LCAweDdmLCAweDAyLCAweDgwLCAweDAyLCAweDdmLCAweDAzLAotICAweDc1LCAweDgyLCAweDgyLCAweDc1LCAweDgzLCAweDE5LCAweGVmLCAweGYwLCAweDc1LCAweDgyLCAweDc0LCAweDc1LCAweDgzLCAweDE5LCAweGYwfX0sCi0gezB4MDU4NiwgNjQsIHsgMHg3NSwgMHg4MiwgMHg1OCwgMHg3NSwgMHg4MywgMHgxOSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHgwNCwgMHg3NSwgMHg4MiwgMHgxNywgMHg3NSwgMHg4MywKLSAgMHgxOSwgMHhmMCwgMHg3NCwgMHgxOSwgMHg5MCwgMHg3ZiwgMHhkNCwgMHhmMCwgMHg3NCwgMHgxMiwgMHg5MCwgMHg3ZiwgMHhkNSwgMHhmMCwgMHgwMiwgMHgwNywKLSAgMHg0MCwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHhmZiwgMHgxMiwgMHgwYiwgMHgxYywgMHhlYSwgMHg0OSwgMHg2MCwgMHgwZCwgMHhlYSwgMHg5MCwgMHg3ZiwKLSAgMHhkNCwgMHhmMCwgMHhlOSwgMHg5MCwgMHg3ZiwgMHhkNSwgMHhmMCwgMHgwMiwgMHgwNywgMHg0MCwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NH19LAotIHsweDA1YzYsIDY0LCB7IDB4MDEsIDB4ZjAsIDB4MDIsIDB4MDcsIDB4NDAsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4MDIsIDB4MDcsIDB4NDAsIDB4OTAsIDB4N2YsCi0gIDB4MDAsIDB4ZTUsIDB4MjUsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4MDIsIDB4MDcsIDB4NDAsIDB4OTAsIDB4N2YsIDB4ZWEsCi0gIDB4ZTAsIDB4ZjUsIDB4MjUsIDB4MDIsIDB4MDcsIDB4NDAsIDB4MTIsIDB4MDcsIDB4NDgsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4ZjUsIDB4MjMsIDB4MDIsCi0gIDB4MDcsIDB4NDAsIDB4OTAsIDB4N2YsIDB4MDAsIDB4ZTUsIDB4MjMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4MDJ9fSwKLSB7MHgwNjA2LCA2NCwgeyAweDA3LCAweDQwLCAweDkwLCAweDdmLCAweGU4LCAweGUwLCAweDI0LCAweDdmLCAweDYwLCAweDI0LCAweDE0LCAweDYwLCAweDMxLCAweDI0LCAweDAyLCAweDcwLCAweDViLAotICAweGEyLCAweDAxLCAweGU0LCAweDMzLCAweGZmLCAweDI1LCAweGUwLCAweGZmLCAweGEyLCAweDA3LCAweGU0LCAweDMzLCAweDRmLCAweDkwLCAweDdmLCAweDAwLAotICAweGYwLCAweGU0LCAweGEzLCAweGYwLCAweDkwLCAweDdmLCAweGI1LCAweDc0LCAweDAyLCAweGYwLCAweDAyLCAweDA3LCAweDQwLCAweGU0LCAweDkwLCAweDdmLAotICAweDAwLCAweGYwLCAweGEzLCAweGYwLCAweDkwLCAweDdmLCAweGI1LCAweDc0LCAweDAyLCAweGYwLCAweDAyLCAweDA3LCAweDQwLCAweDkwLCAweDdmfX0sCi0gezB4MDY0NiwgNjQsIHsgMHhlYywgMHhlMCwgMHhmNCwgMHg1NCwgMHg4MCwgMHhmZiwgMHhjNCwgMHg1NCwgMHgwZiwgMHhmZiwgMHhlMCwgMHg1NCwgMHgwNywgMHgyZiwgMHgyNSwgMHhlMCwgMHgyNCwKLSAgMHhiNCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZiwgMHhmNSwgMHg4MywgMHhlMCwgMHg1NCwgMHhmZCwgMHg5MCwgMHg3ZiwgMHgwMCwgMHhmMCwgMHhlNCwKLSAgMHhhMywgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHg3NCwgMHgwMiwgMHhmMCwgMHgwMiwgMHgwNywgMHg0MCwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwKLSAgMHgwMSwgMHhmMCwgMHgwMiwgMHgwNywgMHg0MCwgMHg5MCwgMHg3ZiwgMHhlOCwgMHhlMCwgMHgyNCwgMHhmZSwgMHg2MCwgMHgxZSwgMHgyNCwgMHgwMn19LAotIHsweDA2ODYsIDY0LCB7IDB4NjAsIDB4MDMsIDB4MDIsIDB4MDcsIDB4NDAsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4YjQsIDB4MDEsIDB4MDYsIDB4MTIsIDB4MGQsIDB4ZjksIDB4MDIsIDB4MDcsCi0gIDB4NDAsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4MDIsIDB4MDcsIDB4NDAsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4NzAsCi0gIDB4MzgsIDB4OTAsIDB4N2YsIDB4ZWMsIDB4ZTAsIDB4ZjQsIDB4NTQsIDB4ODAsIDB4ZmYsIDB4YzQsIDB4NTQsIDB4MGYsIDB4ZmYsIDB4ZTAsIDB4NTQsIDB4MDcsCi0gIDB4MmYsIDB4MjUsIDB4ZTAsIDB4MjQsIDB4YjQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2YsIDB4ZjUsIDB4ODMsIDB4ZTQsIDB4ZjAsIDB4OTB9fSwKLSB7MHgwNmM2LCA2NCwgeyAweDdmLCAweGVjLCAweGUwLCAweDU0LCAweDgwLCAweGZmLCAweDEzLCAweDEzLCAweDEzLCAweDU0LCAweDFmLCAweGZmLCAweGUwLCAweDU0LCAweDA3LCAweDJmLCAweDkwLAotICAweDdmLCAweGQ3LCAweGYwLCAweGUwLCAweDQ0LCAweDIwLCAweGYwLCAweDgwLCAweDYwLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLAotICAweDgwLCAweDU3LCAweDkwLCAweDdmLCAweGU4LCAweGUwLCAweDI0LCAweGZlLCAweDYwLCAweDE5LCAweDI0LCAweDAyLCAweDcwLCAweDRiLCAweDkwLCAweDdmLAotICAweGVhLCAweGUwLCAweGI0LCAweDAxLCAweDA1LCAweDEyLCAweDBkLCAweGY2LCAweDgwLCAweDNmLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0fX0sCi0gezB4MDcwNiwgNjQsIHsgMHgwMSwgMHhmMCwgMHg4MCwgMHgzNiwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHg3MCwgMHgyMCwgMHg5MCwgMHg3ZiwgMHhlYywgMHhlMCwgMHhmNCwgMHg1NCwgMHg4MCwKLSAgMHhmZiwgMHhjNCwgMHg1NCwgMHgwZiwgMHhmZiwgMHhlMCwgMHg1NCwgMHgwNywgMHgyZiwgMHgyNSwgMHhlMCwgMHgyNCwgMHhiNCwgMHhmNSwgMHg4MiwgMHhlNCwKLSAgMHgzNCwgMHg3ZiwgMHhmNSwgMHg4MywgMHg3NCwgMHgwMSwgMHhmMCwgMHg4MCwgMHgxMCwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwKLSAgMHg4MCwgMHgwNywgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMn19LAotIHsweDA3NDYsIDY0LCB7IDB4ZjAsIDB4MjIsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4OTMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWMsIDB4NzQsIDB4MzAsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTYsIDB4NzQsCi0gIDB4MjAsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTUsIDB4NzQsIDB4YzAsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWUsIDB4NzQsIDB4M2YsIDB4ZjAsIDB4OTAsIDB4N2YsCi0gIDB4OTgsIDB4NzQsIDB4MTAsIDB4ZjAsIDB4ZTQsIDB4ZjUsIDB4OGUsIDB4OTAsIDB4N2YsIDB4ZGYsIDB4NzQsIDB4ZmYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZGUsCi0gIDB4ZjAsIDB4ZTQsIDB4ZjUsIDB4MDgsIDB4N2YsIDB4MDEsIDB4N2IsIDB4MDAsIDB4NzQsIDB4MDgsIDB4MmYsIDB4ZjksIDB4ZTQsIDB4MzQsIDB4MDB9fSwKLSB7MHgwNzg2LCA2NCwgeyAweGZhLCAweGU0LCAweDEyLCAweDBhLCAweDk3LCAweDBmLCAweGJmLCAweDA5LCAweGVlLCAweDc1LCAweDEzLCAweDAxLCAweGU0LCAweGY1LCAweDEyLCAweGY1LCAweDMwLAotICAweGY1LCAweDExLCAweGMyLCAweDBmLCAweGMyLCAweDEzLCAweGMyLCAweDBlLCAweGMyLCAweDBiLCAweGMyLCAweDEwLCAweGMyLCAweDA0LCAweDkwLCAweDdmLAotICAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweDc1LCAweDE5LCAweDAzLCAweDkwLCAweGMwLCAweDAwLCAweDc0LCAweDAzLCAweGYwLCAweDdmLCAweDBjLCAweGU0LAotICAweGZkLCAweDEyLCAweDBjLCAweGRhLCAweDdmLCAweDEwLCAweDhmLCAweDE4LCAweDEyLCAweDBjLCAweDY4LCAweDkwLCAweDdmLCAweDk4LCAweDc0fX0sCi0gezB4MDdjNiwgNjQsIHsgMHgxMiwgMHhmMCwgMHg3ZiwgMHgwMSwgMHg4ZiwgMHgxNywgMHhlZiwgMHg0NCwgMHgwNiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHgwZiwgMHhlNCwgMHhmZCwgMHgxMiwKLSAgMHgwYywgMHhkYSwgMHhlNCwgMHhmZiwgMHg3ZSwgMHhhMywgMHhhZCwgMHgwNiwgMHg4ZCwgMHgxNiwgMHgxMiwgMHgwYywgMHhkYSwgMHg5MCwgMHg3ZiwgMHg5OCwKLSAgMHg3NCwgMHgxMSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlNCwgMHhmMCwgMHg3ZiwgMHgwNSwgMHg3ZCwgMHg3ZiwgMHgxMiwgMHgwYywgMHhkYSwgMHg3ZiwKLSAgMHgwMSwgMHgxMiwgMHgwZCwgMHg2YSwgMHg3ZiwgMHgwMywgMHg3ZCwgMHgwNywgMHgxMiwgMHgwYywgMHhkYSwgMHhlNCwgMHhmZiwgMHhlNSwgMHgxNn19LAotIHsweDA4MDYsIDY0LCB7IDB4NTQsIDB4N2YsIDB4ZmQsIDB4MTIsIDB4MGMsIDB4ZGEsIDB4MTIsIDB4MGUsIDB4MGYsIDB4OGYsIDB4MTUsIDB4ZTQsIDB4ZmYsIDB4ZTUsIDB4MTYsIDB4NDQsIDB4ODAsCi0gIDB4ZmQsIDB4MTIsIDB4MGMsIDB4ZGEsIDB4ZTUsIDB4MTUsIDB4MzAsIDB4ZTcsIDB4MDQsIDB4YzIsIDB4MDgsIDB4ODAsIDB4MDIsIDB4ZDIsIDB4MDgsIDB4OTAsCi0gIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTQsIDB4ZjAsIDB4NzUsIDB4MWEsIDB4ODAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4ODAsIDB4ZjAsIDB4ZDIsIDB4MDMsCi0gIDB4MjIsIDB4ZDIsIDB4MTUsIDB4OTAsIDB4N2YsIDB4OTIsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4MTIsIDB4MGQsIDB4ZjksIDB4ZDIsIDB4ZTh9fSwKLSB7MHgwODQ2LCA2NCwgeyAweDQzLCAweGQ4LCAweDIwLCAweDkwLCAweDdmLCAweGRlLCAweDc0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGRmLCAweGYwLCAweDkwLCAweDdmLCAweGFiLCAweDc0LAotICAweGZmLCAweGYwLCAweDkwLCAweDdmLCAweGE5LCAweGYwLCAweDkwLCAweDdmLCAweGFhLCAweGYwLCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGFmLAotICAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGFlLCAweDc0LCAweDBkLCAweGYwLCAweGQyLCAweGFmLCAweGQyLCAweDE2LCAweDEyLCAweDBkLAotICAweDI0LCAweGMyLCAweDAyLCAweGU0LCAweGY1LCAweDI4LCAweGY1LCAweDMwLCAweGMyLCAweDA5LCAweGY1LCAweDIzLCAweGMyLCAweDAzLCAweDkwfX0sCi0gezB4MDg4NiwgNjQsIHsgMHg3ZiwgMHhhMSwgMHgwNCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhkOCwgMHhlMCwgMHg2NSwgMHgzNCwgMHg2MCwgMHg0OCwgMHgzMCwgMHgwMywgMHgwNSwgMHhkMiwgMHgxNiwKLSAgMHgxMiwgMHgwMCwgMHg0NiwgMHhlNSwgMHgwZiwgMHg2MCwgMHgyMiwgMHhlNSwgMHgyNiwgMHg2MCwgMHgxNiwgMHgxNSwgMHgyNiwgMHg5MCwgMHg3ZiwgMHhkOCwKLSAgMHhlMCwgMHgzMCwgMHhlNiwgMHgwNCwgMHg3ZiwgMHgyMCwgMHg4MCwgMHgwMiwgMHg3ZiwgMHgzMCwgMHg5MCwgMHg3ZiwgMHg5NiwgMHhlZiwgMHhmMCwgMHg4MCwKLSAgMHgxYSwgMHg5MCwgMHg3ZiwgMHg5NiwgMHg3NCwgMHgzMCwgMHhmMCwgMHg4MCwgMHgxMiwgMHg5MCwgMHg3ZiwgMHhkOSwgMHhlMCwgMHgzMCwgMHhlMn19LAotIHsweDA4YzYsIDY0LCB7IDB4MDQsIDB4N2YsIDB4MzAsIDB4ODAsIDB4MDIsIDB4N2YsIDB4MjAsIDB4OTAsIDB4N2YsIDB4OTYsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZDgsIDB4ZTAsIDB4ZjUsCi0gIDB4MzQsIDB4ODAsIDB4MjAsIDB4MzAsIDB4MDMsIDB4MDcsIDB4YzIsIDB4MTYsIDB4MTIsIDB4MDAsIDB4NDYsIDB4ODAsIDB4MTYsIDB4ZTUsIDB4MGYsIDB4NzAsCi0gIDB4MTIsIDB4OTAsIDB4N2YsIDB4ZDksIDB4ZTAsIDB4MzAsIDB4ZTIsIDB4MDQsIDB4N2YsIDB4MzAsIDB4ODAsIDB4MDIsIDB4N2YsIDB4MjAsIDB4OTAsIDB4N2YsCi0gIDB4OTYsIDB4ZWYsIDB4ZjAsIDB4MzAsIDB4MDIsIDB4MDcsIDB4YzIsIDB4MDIsIDB4MTIsIDB4MDUsIDB4MmEsIDB4ODAsIDB4ODYsIDB4MzAsIDB4MGF9fSwKLSB7MHgwOTA2LCA2NCwgeyAweDgzLCAweGMyLCAweDBhLCAweDEyLCAweDBiLCAweDVkLCAweDAyLCAweDA4LCAweDhhLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEwLCAweGYwLCAweGFmLAotICAweDI0LCAweGU1LCAweDJhLCAweGY1LCAweDgyLCAweGU1LCAweDI5LCAweGY1LCAweDgzLCAweGMyLCAweGFmLCAweDA1LCAweDg2LCAweDkwLCAweGMwLCAweDAwLAotICAweDA1LCAweDg2LCAweGUwLCAweGEzLCAweDA1LCAweDg2LCAweGYwLCAweDA1LCAweDg2LCAweGRmLCAweGY3LCAweGQyLCAweGFmLCAweDIyLCAweDkwLCAweDdmLAotICAweDk4LCAweDc0LCAweDEwLCAweGYwLCAweGFmLCAweDI0LCAweGU1LCAweDJhLCAweGY1LCAweDgyLCAweGU1LCAweDI5LCAweGY1LCAweDgzLCAweGMyfX0sCi0gezB4MDk0NiwgNjQsIHsgMHhhZiwgMHgwNSwgMHg4NiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHgwNSwgMHg4NiwgMHhmMCwgMHhhMywgMHgwNSwgMHg4NiwgMHhkZiwgMHhmNywgMHgwNSwgMHg4NiwKLSAgMHhkMiwgMHhhZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwOCwgMHhmMCwgMHhhZiwgMHgyNCwgMHhlNSwgMHgyYSwgMHhmNSwgMHg4MiwgMHhlNSwKLSAgMHgyOSwgMHhmNSwgMHg4MywgMHhjMiwgMHhhZiwgMHgwNSwgMHg4NiwgMHg5MCwgMHhjMCwgMHgwMCwgMHgwNSwgMHg4NiwgMHhlMCwgMHhhMywgMHgwNSwgMHg4NiwKLSAgMHhmMCwgMHgwNSwgMHg4NiwgMHhkZiwgMHhmNywgMHhkMiwgMHhhZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwOCwgMHhmMCwgMHhhZn19LAotIHsweDA5ODYsIDY0LCB7IDB4MjQsIDB4ZTUsIDB4MmEsIDB4ZjUsIDB4ODIsIDB4ZTUsIDB4MjksIDB4ZjUsIDB4ODMsIDB4YzIsIDB4YWYsIDB4MDUsIDB4ODYsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsCi0gIDB4MDUsIDB4ODYsIDB4ZjAsIDB4YTMsIDB4MDUsIDB4ODYsIDB4ZGYsIDB4ZjcsIDB4MDUsIDB4ODYsIDB4ZDIsIDB4YWYsIDB4MjIsIDB4NzQsIDB4MDAsIDB4ZjUsCi0gIDB4ODYsIDB4OTAsIDB4ZmQsIDB4YTUsIDB4N2MsIDB4MDUsIDB4YTMsIDB4ZTUsIDB4ODIsIDB4NDUsIDB4ODMsIDB4NzAsIDB4ZjksIDB4MjIsIDB4OTAsIDB4N2YsCi0gIDB4ZDYsIDB4ZTAsIDB4NDQsIDB4ODAsIDB4ZjAsIDB4NDMsIDB4ODcsIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MjIsIDB4Nzh9fSwKLSB7MHgwOWM2LCA2NCwgeyAweDdmLCAweGU0LCAweGY2LCAweGQ4LCAweGZkLCAweDc1LCAweDgxLCAweDM5LCAweDAyLCAweDBhLCAweDBjLCAweDAyLCAweDA4LCAweDM4LCAweGU0LCAweDkzLCAweGEzLAotICAweGY4LCAweGU0LCAweDkzLCAweGEzLCAweDQwLCAweDAzLCAweGY2LCAweDgwLCAweDAxLCAweGYyLCAweDA4LCAweGRmLCAweGY0LCAweDgwLCAweDI5LCAweGU0LAotICAweDkzLCAweGEzLCAweGY4LCAweDU0LCAweDA3LCAweDI0LCAweDBjLCAweGM4LCAweGMzLCAweDMzLCAweGM0LCAweDU0LCAweDBmLCAweDQ0LCAweDIwLCAweGM4LAotICAweDgzLCAweDQwLCAweDA0LCAweGY0LCAweDU2LCAweDgwLCAweDAxLCAweDQ2LCAweGY2LCAweGRmLCAweGU0LCAweDgwLCAweDBiLCAweDAxLCAweDAyfX0sCi0gezB4MGEwNiwgNjQsIHsgMHgwNCwgMHgwOCwgMHgxMCwgMHgyMCwgMHg0MCwgMHg4MCwgMHg5MCwgMHgwZCwgMHg4YiwgMHhlNCwgMHg3ZSwgMHgwMSwgMHg5MywgMHg2MCwgMHhiYywgMHhhMywgMHhmZiwKLSAgMHg1NCwgMHgzZiwgMHgzMCwgMHhlNSwgMHgwOSwgMHg1NCwgMHgxZiwgMHhmZSwgMHhlNCwgMHg5MywgMHhhMywgMHg2MCwgMHgwMSwgMHgwZSwgMHhjZiwgMHg1NCwKLSAgMHhjMCwgMHgyNSwgMHhlMCwgMHg2MCwgMHhhOCwgMHg0MCwgMHhiOCwgMHhlNCwgMHg5MywgMHhhMywgMHhmYSwgMHhlNCwgMHg5MywgMHhhMywgMHhmOCwgMHhlNCwKLSAgMHg5MywgMHhhMywgMHhjOCwgMHhjNSwgMHg4MiwgMHhjOCwgMHhjYSwgMHhjNSwgMHg4MywgMHhjYSwgMHhmMCwgMHhhMywgMHhjOCwgMHhjNSwgMHg4Mn19LAotIHsweDBhNDYsIDY0LCB7IDB4YzgsIDB4Y2EsIDB4YzUsIDB4ODMsIDB4Y2EsIDB4ZGYsIDB4ZTksIDB4ZGUsIDB4ZTcsIDB4ODAsIDB4YmUsIDB4YmIsIDB4MDEsIDB4MDYsIDB4ODksIDB4ODIsIDB4OGEsCi0gIDB4ODMsIDB4ZTAsIDB4MjIsIDB4NTAsIDB4MDIsIDB4ZTcsIDB4MjIsIDB4YmIsIDB4ZmUsIDB4MDIsIDB4ZTMsIDB4MjIsIDB4ODksIDB4ODIsIDB4OGEsIDB4ODMsCi0gIDB4ZTQsIDB4OTMsIDB4MjIsIDB4YmIsIDB4MDEsIDB4MGMsIDB4ZTUsIDB4ODIsIDB4MjksIDB4ZjUsIDB4ODIsIDB4ZTUsIDB4ODMsIDB4M2EsIDB4ZjUsIDB4ODMsCi0gIDB4ZTAsIDB4MjIsIDB4NTAsIDB4MDYsIDB4ZTksIDB4MjUsIDB4ODIsIDB4ZjgsIDB4ZTYsIDB4MjIsIDB4YmIsIDB4ZmUsIDB4MDYsIDB4ZTksIDB4MjV9fSwKLSB7MHgwYTg2LCA2NCwgeyAweDgyLCAweGY4LCAweGUyLCAweDIyLCAweGU1LCAweDgyLCAweDI5LCAweGY1LCAweDgyLCAweGU1LCAweDgzLCAweDNhLCAweGY1LCAweDgzLCAweGU0LCAweDkzLCAweDIyLAotICAweGJiLCAweDAxLCAweDA2LCAweDg5LCAweDgyLCAweDhhLCAweDgzLCAweGYwLCAweDIyLCAweDUwLCAweDAyLCAweGY3LCAweDIyLCAweGJiLCAweGZlLCAweDAxLAotICAweGYzLCAweDIyLCAweGQwLCAweDgzLCAweGQwLCAweDgyLCAweGY4LCAweGU0LCAweDkzLCAweDcwLCAweDEyLCAweDc0LCAweDAxLCAweDkzLCAweDcwLCAweDBkLAotICAweGEzLCAweGEzLCAweDkzLCAweGY4LCAweDc0LCAweDAxLCAweDkzLCAweGY1LCAweDgyLCAweDg4LCAweDgzLCAweGU0LCAweDczLCAweDc0LCAweDAyfX0sCi0gezB4MGFjNiwgNjQsIHsgMHg5MywgMHg2OCwgMHg2MCwgMHhlZiwgMHhhMywgMHhhMywgMHhhMywgMHg4MCwgMHhkZiwgMHhlNCwgMHg5MCwgMHg3ZiwgMHg5MywgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5YywKLSAgMHg3NCwgMHgyMCwgMHhmMCwgMHgzMCwgMHgwMSwgMHgwMywgMHhmZiwgMHg4MCwgMHgwMiwgMHg3ZiwgMHgwMCwgMHg5MCwgMHg3ZiwgMHg5NiwgMHhlZiwgMHhmMCwKLSAgMHhlNCwgMHg5MCwgMHg3ZiwgMHg5NCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5ZCwgMHg3NCwgMHhmZiwgMHhmMCwgMHhlNCwgMHg5MCwgMHg3ZiwgMHg5NywgMHhmMCwKLSAgMHgzMCwgMHgwOCwgMHgxMSwgMHg5MCwgMHg3ZiwgMHg5NSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5ZSwgMHg3NCwgMHhmZiwgMHhmMCwgMHg5MCwgMHg3Zn19LAotIHsweDBiMDYsIDY0LCB7IDB4OTgsIDB4NzQsIDB4MjAsIDB4ZjAsIDB4MjIsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4OTUsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWUsIDB4NzQsIDB4ZGYsIDB4ZjAsIDB4ZTQsCi0gIDB4OTAsIDB4N2YsIDB4OTgsIDB4ZjAsIDB4MjIsIDB4OGYsIDB4MzUsIDB4ZTQsIDB4ZjUsIDB4MzYsIDB4NzUsIDB4MzcsIDB4ZmYsIDB4NzUsIDB4MzgsIDB4MTksCi0gIDB4NzUsIDB4MzksIDB4ODYsIDB4YWIsIDB4MzcsIDB4YWEsIDB4MzgsIDB4YTksIDB4MzksIDB4OTAsIDB4MDAsIDB4MDEsIDB4MTIsIDB4MGEsIDB4NmEsIDB4YjQsCi0gIDB4MDMsIDB4MWQsIDB4YWYsIDB4MzYsIDB4MDUsIDB4MzYsIDB4ZWYsIDB4YjUsIDB4MzUsIDB4MDEsIDB4MjIsIDB4MTIsIDB4MGEsIDB4NTEsIDB4N2V9fSwKLSB7MHgwYjQ2LCA2NCwgeyAweDAwLCAweDI5LCAweGZmLCAweGVlLCAweDNhLCAweGE5LCAweDA3LCAweDc1LCAweDM3LCAweGZmLCAweGY1LCAweDM4LCAweDg5LCAweDM5LCAweDgwLCAweGQ0LCAweDdiLAotICAweDAwLCAweDdhLCAweDAwLCAweDc5LCAweDAwLCAweDIyLCAweDkwLCAweDdmLCAweGQ4LCAweGUwLCAweGY1LCAweDM1LCAweDEyLCAweDBhLCAweGNmLCAweDIwLAotICAweDA4LCAweDA3LCAweDkwLCAweDdmLCAweDkyLCAweGUwLCAweDU0LCAweGZkLCAweGYwLCAweDkwLCAweDdmLCAweGQ2LCAweGUwLCAweDQ0LCAweDgwLCAweGYwLAotICAweDEyLCAweDA5LCAweGI1LCAweDkwLCAweDdmLCAweGQ2LCAweGUwLCAweDMwLCAweGU3LCAweDBlLCAweDMwLCAweDAxLCAweDA1LCAweDEyLCAweDBkfX0sCi0gezB4MGI4NiwgNjQsIHsgMHhiYywgMHg4MCwgMHgwNiwgMHgxMiwgMHgwZCwgMHg0OSwgMHhlZiwgMHg2MCwgMHhlMSwgMHg5MCwgMHg3ZiwgMHg5MiwgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHgxMiwKLSAgMHgwNywgMHg0OCwgMHgyMiwgMHgwNSwgMHgyYSwgMHhlNSwgMHgyYSwgMHhhZSwgMHgyOSwgMHg3MCwgMHgwMiwgMHgwNSwgMHgyOSwgMHgxNCwgMHhmNSwgMHg4MiwKLSAgMHg4ZSwgMHg4MywgMHhlNSwgMHgxMSwgMHhmMCwgMHgxMiwgMHgwMCwgMHgzNiwgMHgwNSwgMHgyYSwgMHhlNSwgMHgyYSwgMHhhYywgMHgyOSwgMHg3MCwgMHgwMiwKLSAgMHgwNSwgMHgyOSwgMHgxNCwgMHhmNSwgMHg4MiwgMHg4YywgMHg4MywgMHhlZiwgMHhmMCwgMHgxNSwgMHgyNCwgMHhlNSwgMHgyNCwgMHg2MCwgMHgwN319LAotIHsweDBiYzYsIDY0LCB7IDB4MTIsIDB4MGUsIDB4MWIsIDB4OGYsIDB4MTEsIDB4ODAsIDB4Y2QsIDB4MjIsIDB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ODUsIDB4YzAsCi0gIDB4ODQsIDB4YzAsIDB4ODYsIDB4NzUsIDB4ODYsIDB4MDAsIDB4ZDIsIDB4MDIsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YWIsIDB4NzQsIDB4MDEsCi0gIDB4ZjAsIDB4ZDAsIDB4ODYsIDB4ZDAsIDB4ODQsIDB4ZDAsIDB4ODUsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzIsIDB4YzAsIDB4ZTAsCi0gIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ODUsIDB4YzAsIDB4ODQsIDB4YzAsIDB4ODYsIDB4NzUsIDB4ODYsIDB4MDAsIDB4ZDIsIDB4MGF9fSwKLSB7MHgwYzA2LCA2NCwgeyAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGFiLCAweDc0LCAweDA4LCAweGYwLCAweGQwLCAweDg2LCAweGQwLCAweDg0LCAweGQwLCAweDg1LCAweGQwLCAweDgyLAotICAweGQwLCAweDgzLCAweGQwLCAweGUwLCAweDMyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweDc0LCAweGJmLAotICAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEwLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LAotICAweDEzLCAweGYwLCAweGU1LCAweDE5LCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0fX0sCi0gezB4MGM0NiwgNjQsIHsgMHgxMywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHhiZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwKLSAgMHhlZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHhlNSwgMHgxOSwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwKLSAgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHhiZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwKLSAgMHg3NCwgMHgxMiwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHhlNX19LAotIHsweDBjODYsIDY0LCB7IDB4MTksIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsCi0gIDB4NzQsIDB4YmYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTQsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4N2YsCi0gIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4ZTUsIDB4MTksIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsCi0gIDB4NzQsIDB4MTMsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4YmYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTYsIDB4ZjB9fSwKLSB7MHgwY2M2LCA2NCwgeyAweDkwLCAweGMwLCAweDAwLCAweGVmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweGU1LCAweDE5LCAweDU0LCAweDdmLCAweDkwLCAweGMwLAotICAweDAwLCAweGYwLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweGU1LCAweDE5LCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLAotICAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDE3LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LAotICAweDE1LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVkLCAweGYwLCAweDIyLCAweDEyLCAweDBkLCAweGVhLCAweDhmLCAweDM3LCAweDEyLCAweDBkfX0sCi0gezB4MGQwNiwgNjQsIHsgMHhlYSwgMHg4ZiwgMHgzOCwgMHhlNSwgMHgzNywgMHg2NSwgMHgzOCwgMHg2MCwgMHgxMiwgMHgxMiwgMHgwZCwgMHhlYSwgMHg4ZiwgMHgzNywgMHhlNSwgMHgzNywgMHg2NSwKLSAgMHgzOCwgMHg2MCwgMHgwNywgMHgxMiwgMHgwZCwgMHhlYSwgMHg4ZiwgMHgzOCwgMHg4MCwgMHhlOCwgMHhhZiwgMHgzNywgMHgyMiwgMHg5MCwgMHg3ZiwgMHhkNiwKLSAgMHhlMCwgMHg1NCwgMHhmYiwgMHhmMCwgMHhlMCwgMHg0NCwgMHgwOCwgMHhmMCwgMHgzMCwgMHgxNiwgMHgwNCwgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHg3ZiwKLSAgMHhmNCwgMHg3ZSwgMHgwMSwgMHgxMiwgMHgwZCwgMHhhNSwgMHg5MCwgMHg3ZiwgMHhkNiwgMHhlMCwgMHg1NCwgMHhmNywgMHhmMCwgMHhlMCwgMHg0NH19LAotIHsweDBkNDYsIDY0LCB7IDB4MDQsIDB4ZjAsIDB4MjIsIDB4OTAsIDB4N2YsIDB4ZDgsIDB4ZTAsIDB4ZjUsIDB4MzYsIDB4MTIsIDB4MDcsIDB4NDgsIDB4MTIsIDB4MGUsIDB4MjcsIDB4ZWYsIDB4MzAsCi0gIDB4ZTYsIDB4MGIsIDB4OTAsIDB4N2YsIDB4ZDgsIDB4ZTAsIDB4NjUsIDB4MzYsIDB4NjAsIDB4ZjEsIDB4N2YsIDB4MDEsIDB4MjIsIDB4MTIsIDB4MGEsIDB4Y2YsCi0gIDB4N2YsIDB4MDAsIDB4MjIsIDB4YWUsIDB4MDcsIDB4ZTQsIDB4ZmYsIDB4ZTUsIDB4MTYsIDB4NTQsIDB4N2YsIDB4ZmQsIDB4MTIsIDB4MGMsIDB4ZGEsIDB4OTAsCi0gIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTEsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWUsIDB4ZjAsIDB4ZTQsIDB4ZTUsIDB4MTYsIDB4NDQsIDB4ODB9fSwKLSB7MHgwZDg2LCA2NCwgeyAweGZkLCAweDEyLCAweDBjLCAweGRhLCAweDIyLCAweDA1LCAweDJiLCAweDAyLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAzLCAweDMxLCAweDAzLCAweDAwLCAweDAwLAotICAweGMxLCAweDg2LCAweGMxLCAweDAyLCAweGMxLCAweDBhLCAweGMxLCAweDAxLCAweGMxLCAweDA3LCAweDAxLCAweDI3LCAweDAwLCAweDAwLCAweDhlLCAweDM2LAotICAweDhmLCAweDM3LCAweGU1LCAweDM3LCAweDE1LCAweDM3LCAweGFlLCAweDM2LCAweDcwLCAweDAyLCAweDE1LCAweDM2LCAweDRlLCAweDYwLCAweDA1LCAweDEyLAotICAweDA5LCAweGE0LCAweDgwLCAweGVlLCAweDIyLCAweDkwLCAweDdmLCAweGQ2LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDdmLCAweDBkLCAweDdlfX0sCi0gezB4MGRjNiwgNjQsIHsgMHgwMCwgMHgxMiwgMHgwZCwgMHhhNSwgMHg5MCwgMHg3ZiwgMHhkNiwgMHhlMCwgMHg1NCwgMHhmZSwgMHhmMCwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMSwKLSAgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMiwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwKLSAgMHhlMCwgMHhmZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwgMHhkMiwKLSAgMHgwMSwgMHgyMiwgMHhjMiwgMHgwMSwgMHgyMiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMiwgMHgwYiwgMHhjZSwgMHgwMCwgMHgwMiwgMHgwZX19LAotIHsweDBlMDYsIDY0LCB7IDB4MDQsIDB4MDAsIDB4MDIsIDB4MDAsIDB4MDMsIDB4MDAsIDB4MDIsIDB4MGIsIDB4ZjUsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTQsIDB4ZjAsIDB4OTAsIDB4YzAsCi0gIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTUsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsCi0gIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTYsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgwZTQ2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MGU4NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDBlYzYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgwZjA2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MGY0NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDBmODYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgwZmM2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTAwNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDEwNDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxMDg2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTBjNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDExMDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxMTQ2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTE4NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDExYzYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxMjA2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTI0NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDEyODYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxMmM2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTMwNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDEzNDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxMzg2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTNjNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE0MDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNDQ2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTQ4NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE0YzYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNTA2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTU0NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE1ODYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNWM2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTYwNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE2NDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNjg2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTZjNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE3MDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNzQ2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTc4NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE3YzYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxODA2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTg0NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE4ODYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxOGM2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDEyLCAweDAxLCAweDEwLCAweDAxLCAweGZmLCAweDAwfX0sCi0gezB4MTkwNiwgNjQsIHsgMHgwMCwgMHg0MCwgMHhjZCwgMHgwNiwgMHgxOSwgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMSwgMHgwMiwgMHgwMCwgMHgwMiwgMHgwOSwgMHgwMiwgMHg3NCwgMHgwMCwgMHgwMSwKLSAgMHgwMSwgMHgwMCwgMHhhMCwgMHgzMiwgMHgwOSwgMHgwNCwgMHgwMCwgMHgwMCwgMHgwZSwgMHhmZiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwMSwKLSAgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwMiwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwMywgMHgwMiwgMHg0MCwKLSAgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwNCwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwNSwgMHgwMiwgMHg0MCwgMHgwMH19LAotIHsweDE5NDYsIDY0LCB7IDB4MDAsIDB4MDcsIDB4MDUsIDB4MDYsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDcsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsCi0gIDB4ODEsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDEsIDB4MDcsIDB4MDUsIDB4ODIsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDEsIDB4MDcsIDB4MDUsIDB4ODMsIDB4MDIsCi0gIDB4NDAsIDB4MDAsIDB4MDEsIDB4MDcsIDB4MDUsIDB4ODQsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDEsIDB4MDcsIDB4MDUsIDB4ODUsIDB4MDIsIDB4NDAsIDB4MDAsCi0gIDB4MDEsIDB4MDcsIDB4MDUsIDB4ODYsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDEsIDB4MDcsIDB4MDUsIDB4ODcsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDF9fSwKLSB7MHgxOTg2LCA2NCwgeyAweDA0LCAweDAzLCAweDA5LCAweDA0LCAweDQ4LCAweDAzLCAweDRiLCAweDAwLCAweDY1LCAweDAwLCAweDc5LCAweDAwLCAweDczLCAweDAwLCAweDcwLCAweDAwLCAweDYxLAotICAweDAwLCAweDZlLCAweDAwLCAweDJjLCAweDAwLCAweDIwLCAweDAwLCAweDYxLCAweDAwLCAweDIwLCAweDAwLCAweDY0LCAweDAwLCAweDY5LCAweDAwLCAweDc2LAotICAweDAwLCAweDY5LCAweDAwLCAweDczLCAweDAwLCAweDY5LCAweDAwLCAweDZmLCAweDAwLCAweDZlLCAweDAwLCAweDIwLCAweDAwLCAweDZmLCAweDAwLCAweDY2LAotICAweDAwLCAweDIwLCAweDAwLCAweDQ5LCAweDAwLCAweDZlLCAweDAwLCAweDZlLCAweDAwLCAweDZmLCAweDAwLCAweDUzLCAweDAwLCAweDc5LCAweDAwfX0sCi0gezB4MTljNiwgNjQsIHsgMHg3MywgMHgwMCwgMHgyMCwgMHgwMCwgMHg0OSwgMHgwMCwgMHg2ZSwgMHgwMCwgMHg2MywgMHgwMCwgMHgyZSwgMHgwMCwgMHgzNiwgMHgwMywgMHg0YiwgMHgwMCwgMHg2NSwKLSAgMHgwMCwgMHg3OSwgMHgwMCwgMHg3MywgMHgwMCwgMHg3MCwgMHgwMCwgMHg2MSwgMHgwMCwgMHg2ZSwgMHgwMCwgMHgyMCwgMHgwMCwgMHg1NSwgMHgwMCwgMHg1MywKLSAgMHgwMCwgMHg0MiwgMHgwMCwgMHgyMCwgMHgwMCwgMHg1MywgMHgwMCwgMHg2NSwgMHgwMCwgMHg3MiwgMHgwMCwgMHg2OSwgMHgwMCwgMHg2MSwgMHgwMCwgMHg2YywKLSAgMHgwMCwgMHgyMCwgMHgwMCwgMHg0MSwgMHgwMCwgMHg2NCwgMHgwMCwgMHg2MSwgMHgwMCwgMHg3MCwgMHgwMCwgMHg3NCwgMHgwMCwgMHg2NSwgMHgwMH19LAotIHsweDFhMDYsICA0LCB7IDB4NzIsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHhmZmZmLCAwLAl7MHgwMH19Ci19OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2Ivc2VyaWFsL2tleXNwYW5fdXNhMTl3X2Z3LmggYi9kcml2ZXJzL3VzYi9zZXJpYWwva2V5c3Bhbl91c2ExOXdfZncuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzVkNjE5MS4uMDAwMDAwMAotLS0gYS9kcml2ZXJzL3VzYi9zZXJpYWwva2V5c3Bhbl91c2ExOXdfZncuaAorKysgL2Rldi9udWxsCkBAIC0xLDQ0NiArMCwwIEBACi0vKiBrZXlzcGFuX3VzYTE5d19mdy5oCi0KLQlUaGUgZmlybXdhcmUgY29udGFpbmVkIGhlcmVpbiBhcyBrZXlzcGFuX3VzYTE5d19mdy5oIGlzCi0KLQkJQ29weXJpZ2h0IChDKSAxOTk5LTIwMDEKLQkJS2V5c3BhbiwgQSBkaXZpc2lvbiBvZiBJbm5vU3lzIEluY29ycG9yYXRlZCAoIktleXNwYW4iKQotCQkKLQlhcyBhbiB1bnB1Ymxpc2hlZCB3b3JrLiBUaGlzIG5vdGljZSBkb2VzIG5vdCBpbXBseSB1bnJlc3RyaWN0ZWQgb3IKLQlwdWJsaWMgYWNjZXNzIHRvIHRoZSBzb3VyY2UgY29kZSBmcm9tIHdoaWNoIHRoaXMgZmlybXdhcmUgaW1hZ2UgaXMKLQlkZXJpdmVkLiAgRXhjZXB0IGFzIG5vdGVkIGJlbG93IHRoaXMgZmlybXdhcmUgaW1hZ2UgbWF5IG5vdCBiZSAKLQlyZXByb2R1Y2VkLCB1c2VkLCBzb2xkIG9yIHRyYW5zZmVycmVkIHRvIGFueSB0aGlyZCBwYXJ0eSB3aXRob3V0IAotCUtleXNwYW4ncyBwcmlvciB3cml0dGVuIGNvbnNlbnQuICBBbGwgUmlnaHRzIFJlc2VydmVkLgotCi0JUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCBmb3IgdGhlIGRpc3RyaWJ1dGlvbiBvZiB0aGlzIGZpcm13YXJlIAotCWltYWdlIGFzIHBhcnQgb2YgYSBMaW51eCBvciBvdGhlciBPcGVuIFNvdXJjZSBvcGVyYXRpbmcgc3lzdGVtIGtlcm5lbCAKLQlpbiB0ZXh0IG9yIGJpbmFyeSBmb3JtIGFzIHJlcXVpcmVkLiAKLQotCVRoaXMgZmlybXdhcmUgbWF5IG5vdCBiZSBtb2RpZmllZCBhbmQgbWF5IG9ubHkgYmUgdXNlZCB3aXRoICAKLQlLZXlzcGFuIGhhcmR3YXJlLiAgRGlzdHJpYnV0aW9uIGFuZC9vciBNb2RpZmljYXRpb24gb2YgdGhlIAotCWtleXNwYW4uYyBkcml2ZXIgd2hpY2ggaW5jbHVkZXMgdGhpcyBmaXJtd2FyZSwgaW4gd2hvbGUgb3IgaW4gCi0JcGFydCwgcmVxdWlyZXMgdGhlIGluY2x1c2lvbiBvZiB0aGlzIHN0YXRlbWVudC4iCi0qLwotCi1zdGF0aWMgY29uc3Qgc3RydWN0IGV6dXNiX2hleF9yZWNvcmQga2V5c3Bhbl91c2ExOXdfZmlybXdhcmVbXSA9IHsKLSB7MHgwMDMzLCAgMywgeyAweDAyLCAweDBkLCAweDVjfX0sCi0gezB4MDAwMywgMTYsIHsgMHhlNCwgMHg5MCwgMHg3ZiwgMHg5MywgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5YywgMHg3NCwgMHgzMCwgMHhmMCwgMHhlNCwgMHg5MCwgMHg3ZiwgMHg5NiwgMHhmMH19LAotIHsweDAwMTMsIDE2LCB7IDB4OTAsIDB4N2YsIDB4OTQsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWQsIDB4NzQsIDB4ZmYsIDB4ZjAsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4OTcsIDB4ZjAsIDB4OTB9fSwKLSB7MHgwMDIzLCAxNSwgeyAweDdmLCAweDk1LCAweGYwLCAweDkwLCAweDdmLCAweDllLCAweDc0LCAweDE3LCAweGYwLCAweGU0LCAweDkwLCAweDdmLCAweDk4LCAweGYwLCAweDIyfX0sCi0gezB4MDA0NiwgMTYsIHsgMHgzMCwgMHgwZiwgMHgxOCwgMHgxMiwgMHgwZCwgMHgzOCwgMHhlZiwgMHhjMywgMHg5NSwgMHgxNCwgMHg0MCwgMHgwMywgMHgwMiwgMHgwMCwgMHhkOCwgMHg5MH19LAotIHsweDAwNTYsIDE2LCB7IDB4N2YsIDB4YmYsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4YzIsIDB4MGYsIDB4YzIsIDB4MGEsIDB4ODAsIDB4NzcsIDB4MzAsIDB4MGMsIDB4M2IsIDB4OTAsIDB4N2Z9fSwKLSB7MHgwMDY2LCAxNiwgeyAweGM2LCAweGUwLCAweDIwLCAweGUxLCAweDZkLCAweDEyLCAweDBkLCAweDM4LCAweGVmLCAweGMzLCAweDk0LCAweDQwLCAweDUwLCAweDY0LCAweDkwLCAweDdlfX0sCi0gezB4MDA3NiwgMTYsIHsgMHg0MCwgMHhlMCwgMHgxMywgMHg5MiwgMHgwZiwgMHg5MCwgMHg3ZiwgMHhjNywgMHhlMCwgMHgxNCwgMHhmNSwgMHgxYywgMHgyMCwgMHgwYSwgMHgxMSwgMHg2MH19LAotIHsweDAwODYsIDE2LCB7IDB4MGYsIDB4ZjUsIDB4MjMsIDB4N2UsIDB4N2UsIDB4N2YsIDB4NDEsIDB4NzUsIDB4MjcsIDB4N2UsIDB4NzUsIDB4MjgsIDB4NDEsIDB4MTIsIDB4MDgsIDB4MDF9fSwKLSB7MHgwMDk2LCAxNiwgeyAweGMyLCAweDBjLCAweGU0LCAweDkwLCAweDdmLCAweGM3LCAweGYwLCAweDgwLCAweDM5LCAweDkwLCAweDdmLCAweGM4LCAweGUwLCAweDIwLCAweGUxLCAweDMyfX0sCi0gezB4MDBhNiwgMTYsIHsgMHgxMiwgMHgwZCwgMHgzOCwgMHhlZiwgMHhjMywgMHg5NCwgMHg0MCwgMHg1MCwgMHgyOSwgMHg5MCwgMHg3ZCwgMHhjMCwgMHhlMCwgMHgxMywgMHg5MiwgMHgwZn19LAotIHsweDAwYjYsIDE2LCB7IDB4OTAsIDB4N2YsIDB4YzksIDB4ZTAsIDB4MTQsIDB4ZjUsIDB4MWMsIDB4MjAsIDB4MGEsIDB4MTEsIDB4NjAsIDB4MGYsIDB4ZjUsIDB4MjMsIDB4N2UsIDB4N2R9fSwKLSB7MHgwMGM2LCAxNiwgeyAweDdmLCAweGMxLCAweDc1LCAweDI3LCAweDdkLCAweDc1LCAweDI4LCAweGMxLCAweDEyLCAweDA4LCAweDAxLCAweGQyLCAweDBjLCAweGU0LCAweDkwLCAweDdmfX0sCi0gezB4MDBkNiwgMTYsIHsgMHhjOSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNiwgMHhlMCwgMHgzMCwgMHhlMSwgMHgwMywgMHgwMiwgMHgwMSwgMHg1ZSwgMHgxMiwgMHgwYywgMHg0MSwgMHg4Zn19LAotIHsweDAwZTYsIDE2LCB7IDB4MWMsIDB4MTIsIDB4MGQsIDB4NDQsIDB4OGYsIDB4MTEsIDB4ZTUsIDB4MWMsIDB4YzMsIDB4OTUsIDB4MTMsIDB4NTAsIDB4MGYsIDB4MTIsIDB4MGQsIDB4MjB9fSwKLSB7MHgwMGY2LCAxNiwgeyAweGVmLCAweDMwLCAweGUwLCAweDA4LCAweGU1LCAweDExLCAweDIwLCAweGU3LCAweDAzLCAweDMwLCAweDEyLCAweDVjLCAweGMyLCAweDEyLCAweGU1LCAweDFjfX0sCi0gezB4MDAzNiwgMTIsIHsgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMCwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMn19LAotIHsweDAwNDMsICAzLCB7IDB4MDIsIDB4MGUsIDB4MDB9fSwKLSB7MHgwMDAwLCAgMywgeyAweDAyLCAweDA4LCAweGI2fX0sCi0gezB4MDEwNiwgNjQsIHsgMHg2MCwgMHg1NiwgMHhiNCwgMHg4MCwgMHgwMywgMHg0MywgMHgxMSwgMHgwMiwgMHhlNSwgMHgxMSwgMHgzMCwgMHhlNywgMHgyNCwgMHhlNSwgMHgxYywgMHhkMywgMHg5NCwKLSAgMHgyMCwgMHg0MCwgMHgwMywgMHg3NSwgMHgxYywgMHgyMCwgMHg4NSwgMHgxYywgMHgyMywgMHg3ZSwgMHg3ZSwgMHg3ZiwgMHg4MCwgMHg3NSwgMHgyNywgMHg3ZSwKLSAgMHg3NSwgMHgyOCwgMHg4MCwgMHgxMiwgMHgwYSwgMHg4NiwgMHhlNSwgMHgxYywgMHgyNSwgMHgxYywgMHg5MCwgMHg3ZiwgMHhiNywgMHhmMCwgMHg4MCwgMHgyNywKLSAgMHhlNSwgMHgxYywgMHhkMywgMHg5NCwgMHgzZiwgMHg0MCwgMHgwMywgMHg3NSwgMHgxYywgMHgzZiwgMHg4NSwgMHgxYywgMHgyMywgMHg5MCwgMHg3ZX19LAotIHsweDAxNDYsIDY0LCB7IDB4ODAsIDB4ZTUsIDB4MTEsIDB4ZjAsIDB4N2UsIDB4N2UsIDB4N2YsIDB4ODEsIDB4NzUsIDB4MjcsIDB4N2UsIDB4NzUsIDB4MjgsIDB4ODEsIDB4MTIsIDB4MDgsIDB4MjYsCi0gIDB4ZTUsIDB4MWMsIDB4MDQsIDB4OTAsIDB4N2YsIDB4YjcsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4Y2UsIDB4ZTAsIDB4MzAsIDB4ZTEsIDB4MDYsIDB4MjAsIDB4MGQsCi0gIDB4MDMsIDB4MDIsIDB4MDMsIDB4YmEsIDB4ZTQsIDB4ZjUsIDB4MWIsIDB4NzQsIDB4NDAsIDB4MjUsIDB4MWIsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2MsCi0gIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmYsIDB4ZTUsIDB4MWIsIDB4N2MsIDB4MDAsIDB4N2IsIDB4MDEsIDB4N2EsIDB4N2UsIDB4NzksIDB4MDAsIDB4MjR9fSwKLSB7MHgwMTg2LCA2NCwgeyAweDAwLCAweGY5LCAweGVjLCAweDM0LCAweDdlLCAweGZhLCAweGVmLCAweDEyLCAweDBhLCAweDBkLCAweDA1LCAweDFiLCAweGU1LCAweDFiLCAweGI0LCAweDIwLCAweGQ3LAotICAweDkwLCAweDdlLCAweDAwLCAweGUwLCAweDYwLCAweDZlLCAweDdmLCAweDAxLCAweDkwLCAweDdlLCAweDExLCAweGUwLCAweGZkLCAweDEyLCAweDBjLCAweDFjLAotICAweDkwLCAweDdlLCAweDAxLCAweGUwLCAweGZmLCAweDEyLCAweDBiLCAweDVlLCAweDkwLCAweDdlLCAweDAyLCAweGUwLCAweGZmLCAweDEyLCAweDBiLCAweDg0LAotICAweGQyLCAweDEwLCAweGQyLCAweDExLCAweDc1LCAweDFjLCAweDA0LCAweDkwLCAweDdlLCAweDAzLCAweGUwLCAweDYwLCAweDA1LCAweGMyLCAweDExfX0sCi0gezB4MDFjNiwgNjQsIHsgMHg0MywgMHgxYywgMHhjMCwgMHg5MCwgMHg3ZSwgMHgwNCwgMHhlMCwgMHhiNCwgMHgwMSwgMHgwNywgMHhjMiwgMHgxMSwgMHg0MywgMHgxYywgMHgwYiwgMHg4MCwgMHgxMCwKLSAgMHg5MCwgMHg3ZSwgMHgwNCwgMHhlMCwgMHg2MCwgMHgwNywgMHhjMiwgMHgxMCwgMHg0MywgMHgxYywgMHgwOSwgMHg4MCwgMHgwMywgMHg0MywgMHgxYywgMHgwMiwKLSAgMHg3ZiwgMHgwMywgMHhhZCwgMHgxYywgMHgxMiwgMHgwYywgMHgxYywgMHg0MywgMHgxOSwgMHg4MCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxNCwgMHhmMCwKLSAgMHg5MCwgMHhjMCwgMHgwMCwgMHhlNSwgMHgxOSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMiwgMHhmMCwgMHhlNSwgMHgxNiwgMHg0NH19LAotIHsweDAyMDYsIDY0LCB7IDB4MDYsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4OTAsIDB4N2UsIDB4MDUsIDB4ZTAsIDB4NjAsIDB4MTIsIDB4YTMsIDB4ZTAsIDB4NTQsIDB4M2YsIDB4ZjUsIDB4MTgsCi0gIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTUsIDB4MTgsIDB4ZjAsIDB4OTAsIDB4N2UsIDB4MDcsIDB4ZTAsCi0gIDB4NjAsIDB4NDIsIDB4OTAsIDB4N2UsIDB4MTMsIDB4ZTAsIDB4NjAsIDB4MDUsIDB4NDMsIDB4MTUsIDB4MDQsIDB4ODAsIDB4MDMsIDB4NTMsIDB4MTUsIDB4ZmIsCi0gIDB4ZTQsIDB4ZmYsIDB4YWQsIDB4MTUsIDB4MTIsIDB4MGMsIDB4MWMsIDB4OTAsIDB4N2UsIDB4MDgsIDB4ZTAsIDB4NjAsIDB4MDUsIDB4NDMsIDB4MTd9fSwKLSB7MHgwMjQ2LCA2NCwgeyAweDgwLCAweDgwLCAweDAzLCAweDUzLCAweDE3LCAweDdmLCAweDUzLCAweDE3LCAweGZjLCAweDkwLCAweDdlLCAweDA5LCAweGUwLCAweDYwLCAweDExLCAweDQzLCAweDE3LAotICAweDAyLCAweGEzLCAweGUwLCAweGZmLCAweDEyLCAweDBiLCAweGQwLCAweDkwLCAweDdlLCAweDBiLCAweGUwLCAweGZmLCAweDEyLCAweDBiLCAweGY2LCAweGFmLAotICAweDE3LCAweDEyLCAweDBiLCAweGFhLCAweDkwLCAweDdlLCAweDBlLCAweGUwLCAweDYwLCAweDE4LCAweGEzLCAweGUwLCAweDYwLCAweDA1LCAweDQzLCAweDE5LAotICAweDAxLCAweDgwLCAweDAzLCAweDUzLCAweDE5LCAweGZlLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDE0LCAweGYwLCAweDkwLCAweGMwLCAweDAwfX0sCi0gezB4MDI4NiwgNjQsIHsgMHhlNSwgMHgxOSwgMHhmMCwgMHg5MCwgMHg3ZSwgMHgwYywgMHhlMCwgMHg2MCwgMHgxOCwgMHhhMywgMHhlMCwgMHg2MCwgMHgwNSwgMHg0MywgMHgxOSwgMHgwMiwgMHg4MCwKLSAgMHgwMywgMHg1MywgMHgxOSwgMHhmZCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxNCwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlNSwgMHgxOSwgMHhmMCwKLSAgMHg5MCwgMHg3ZSwgMHgxMiwgMHhlMCwgMHhmNSwgMHgxMywgMHhhMywgMHhlMCwgMHgxMywgMHg5MiwgMHgxMywgMHhhMywgMHhlMCwgMHhmNSwgMHgxNCwgMHhhMywKLSAgMHhlMCwgMHg2MCwgMHgwNSwgMHg0MywgMHgxOSwgMHgxMCwgMHg4MCwgMHgwMywgMHg1MywgMHgxOSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NH19LAotIHsweDAyYzYsIDY0LCB7IDB4MTQsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTUsIDB4MTksIDB4ZjAsIDB4OTAsIDB4N2UsIDB4MTYsIDB4ZTAsIDB4NjAsIDB4MzIsIDB4NTMsIDB4MTgsIDB4YmYsCi0gIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4ZTUsIDB4MTgsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4OTAsIDB4N2YsCi0gIDB4OTgsIDB4NzQsIDB4MTEsIDB4ZjAsIDB4MTIsIDB4MGQsIDB4MTQsIDB4ZWYsIDB4NTQsIDB4ZmUsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4NTMsIDB4MTUsCi0gIDB4ZmQsIDB4ZTQsIDB4ZmYsIDB4YWQsIDB4MTUsIDB4MTIsIDB4MGMsIDB4MWMsIDB4ZTQsIDB4ZjUsIDB4MGUsIDB4ZjUsIDB4MGQsIDB4ZDIsIDB4MGV9fSwKLSB7MHgwMzA2LCA2NCwgeyAweDkwLCAweDdlLCAweDE3LCAweGUwLCAweDYwLCAweDBmLCAweDQzLCAweDE1LCAweDAyLCAweGU0LCAweGZmLCAweGFkLCAweDE1LCAweDEyLCAweDBjLCAweDFjLCAweDc1LAotICAweDBkLCAweDAxLCAweGQyLCAweDBlLCAweDkwLCAweDdlLCAweDE4LCAweGUwLCAweDYwLCAweDEwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEyLCAweGYwLAotICAweGU1LCAweDE2LCAweDQ0LCAweDA0LCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweGQyLCAweDBhLCAweDkwLCAweDdlLCAweDE5LCAweGUwLCAweDYwLCAweDExLAotICAweDQzLCAweDE4LCAweDQwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweGU1LCAweDE4LCAweDU0LCAweDdmLCAweDkwLCAweGMwfX0sCi0gezB4MDM0NiwgNjQsIHsgMHgwMCwgMHhmMCwgMHg5MCwgMHg3ZSwgMHgxYSwgMHhlMCwgMHg2MCwgMHgwZiwgMHg1MywgMHgxNSwgMHhmZSwgMHhlNCwgMHhmZiwgMHhhZCwgMHgxNSwgMHgxMiwgMHgwYywKLSAgMHgxYywgMHg3NSwgMHgwZiwgMHgwMSwgMHhkMiwgMHgwZSwgMHg5MCwgMHg3ZSwgMHgxYiwgMHhlMCwgMHg2MCwgMHgwZiwgMHg0MywgMHgxNSwgMHgwMSwgMHhlNCwKLSAgMHhmZiwgMHhhZCwgMHgxNSwgMHgxMiwgMHgwYywgMHgxYywgMHhlNCwgMHhmNSwgMHgwZiwgMHhkMiwgMHgwZSwgMHg5MCwgMHg3ZSwgMHgxYywgMHhlMCwgMHg2MCwKLSAgMHgwZSwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMiwgMHhmMCwgMHhlNSwgMHgxNiwgMHg0NCwgMHgwMiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMH19LAotIHsweDAzODYsIDY0LCB7IDB4OTAsIDB4N2UsIDB4MWQsIDB4ZTAsIDB4NjAsIDB4MDIsIDB4ZDIsIDB4MTIsIDB4OTAsIDB4N2UsIDB4MWUsIDB4ZTAsIDB4NjAsIDB4MDgsIDB4NzUsIDB4MTAsIDB4MDEsCi0gIDB4ZTQsIDB4ZjUsIDB4MTIsIDB4ZDIsIDB4MGUsIDB4OTAsIDB4N2UsIDB4MWYsIDB4ZTAsIDB4NjAsIDB4MTEsIDB4OTAsIDB4N2YsIDB4ZDcsIDB4NzQsIDB4MTEsCi0gIDB4ZjAsIDB4NzQsIDB4MzEsIDB4ZjAsIDB4NzQsIDB4MTUsIDB4ZjAsIDB4NzQsIDB4MzUsIDB4ZjAsIDB4ZDIsIDB4MGMsIDB4YzIsIDB4MGQsIDB4ZTQsIDB4OTAsCi0gIDB4N2YsIDB4Y2YsIDB4ZjAsIDB4MzAsIDB4MTUsIDB4NzEsIDB4ZTUsIDB4MTIsIDB4NjAsIDB4MDIsIDB4MTUsIDB4MTIsIDB4ZTUsIDB4MmUsIDB4ZDN9fSwKLSB7MHgwM2M2LCA2NCwgeyAweDk0LCAweDAwLCAweDQwLCAweDA0LCAweDE1LCAweDJlLCAweDgwLCAweDYwLCAweDc1LCAweDJlLCAweDBhLCAweDEyLCAweDBkLCAweDE0LCAweGVmLCAweDU0LCAweDAxLAotICAweGY1LCAweDFjLCAweDY1LCAweDBlLCAweDYwLCAweDA3LCAweDg1LCAweDFjLCAweDBlLCAweGQyLCAweDBlLCAweDgwLCAweDExLCAweDEyLCAweDBkLCAweDUwLAotICAweGVmLCAweDU0LCAweDEwLCAweGY1LCAweDFjLCAweDY1LCAweDA5LCAweDYwLCAweDA1LCAweDg1LCAweDFjLCAweDA5LCAweGQyLCAweDBlLCAweDEyLCAweDBkLAotICAweDUwLCAweGVmLCAweDU0LCAweDgwLCAweGY1LCAweDFjLCAweDY1LCAweDBhLCAweDYwLCAweDA1LCAweDg1LCAweDFjLCAweDBhLCAweGQyLCAweDBlfX0sCi0gezB4MDQwNiwgNjQsIHsgMHgxMiwgMHgwZCwgMHg1MCwgMHhlZiwgMHg1NCwgMHgyMCwgMHhmNSwgMHgxYywgMHg2NSwgMHgwYiwgMHg2MCwgMHgwOCwgMHg4NSwgMHgxYywgMHgwYiwgMHgzMCwgMHgxMCwKLSAgMHgwMiwgMHhkMiwgMHgwZSwgMHgxMiwgMHgwZCwgMHg1MCwgMHhlZiwgMHg1NCwgMHg0MCwgMHhmNSwgMHgxYywgMHg2NSwgMHgwYywgMHg2MCwgMHgwOCwgMHg4NSwKLSAgMHgxYywgMHgwYywgMHgzMCwgMHgxMSwgMHgwMiwgMHhkMiwgMHgwZSwgMHgzMCwgMHgxNSwgMHgyYSwgMHg5MCwgMHg3ZiwgMHhkMiwgMHhlMCwgMHgyMCwgMHhlMSwKLSAgMHgyMywgMHg5MCwgMHg3YiwgMHg0MCwgMHhlMCwgMHg2MCwgMHgwOSwgMHhlMCwgMHhmNSwgMHgzMCwgMHg5MCwgMHg3YiwgMHg0MiwgMHhlMCwgMHhmNX19LAotIHsweDA0NDYsIDY0LCB7IDB4MzEsIDB4OTAsIDB4N2IsIDB4NDEsIDB4ZTAsIDB4NjAsIDB4MDksIDB4OTAsIDB4N2YsIDB4ZDcsIDB4NzQsIDB4MTcsIDB4ZjAsIDB4NzQsIDB4MzcsIDB4ZjAsIDB4ZTQsCi0gIDB4OTAsIDB4N2YsIDB4ZDMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YzIsIDB4ZTAsIDB4MzAsIDB4ZTEsIDB4MDMsIDB4MDIsIDB4MDUsIDB4MWYsIDB4ZTUsIDB4MjUsCi0gIDB4NzAsIDB4NDAsIDB4MzAsIDB4MGUsIDB4MzksIDB4ZTUsIDB4MTIsIDB4NzAsIDB4MzUsIDB4YzIsIDB4MGUsIDB4ZjUsIDB4MWIsIDB4N2UsIDB4MDAsIDB4N2IsCi0gIDB4MDAsIDB4NzQsIDB4MDgsIDB4MjUsIDB4MWIsIDB4ZjksIDB4ZWUsIDB4MzQsIDB4MDAsIDB4ZmEsIDB4MTIsIDB4MDksIDB4YzcsIDB4ZmYsIDB4NzR9fSwKLSB7MHgwNDg2LCA2NCwgeyAweDgwLCAweDI1LCAweDFiLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdiLCAweGY1LCAweDgzLCAweGVmLCAweGYwLCAweDA1LCAweDFiLCAweGU1LCAweDFiLCAweGI0LAotICAweDA5LCAweGRiLCAweDkwLCAweDdmLCAweGMzLCAweDc0LCAweDA5LCAweGYwLCAweDc1LCAweDEyLCAweDEwLCAweGU0LCAweGY1LCAweDEwLCAweDc1LCAweDI1LAotICAweDAyLCAweDIyLCAweGU1LCAweDI1LCAweDY0LCAweDAyLCAweDcwLCAweDM2LCAweDMwLCAweDA1LCAweDJmLCAweGMyLCAweDA1LCAweGY1LCAweDFiLCAweDdlLAotICAweDAwLCAweDdiLCAweDAwLCAweDc0LCAweDI5LCAweDI1LCAweDFiLCAweGY5LCAweGVlLCAweDM0LCAweDAwLCAweGZhLCAweDEyLCAweDA5LCAweGM3fX0sCi0gezB4MDRjNiwgNjQsIHsgMHhmZiwgMHg3NCwgMHg4MCwgMHgyNSwgMHgxYiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3YiwgMHhmNSwgMHg4MywgMHhlZiwgMHhmMCwgMHgwNSwgMHgxYiwgMHhlNSwKLSAgMHgxYiwgMHhiNCwgMHgwNSwgMHhkYiwgMHg5MCwgMHg3ZiwgMHhjMywgMHg3NCwgMHgwNSwgMHhmMCwgMHg3NSwgMHgyNSwgMHgwMywgMHgyMiwgMHhlNSwgMHgzMCwKLSAgMHg2MCwgMHgzMywgMHg3NSwgMHgyZiwgMHgwMywgMHgxNSwgMHgzMCwgMHhlNCwgMHhmNSwgMHgxYiwgMHg3ZSwgMHgwMCwgMHg3YiwgMHgwMCwgMHg3NCwgMHgyZiwKLSAgMHgyNSwgMHgxYiwgMHhmOSwgMHhlZSwgMHgzNCwgMHgwMCwgMHhmYSwgMHgxMiwgMHgwOSwgMHhjNywgMHhmZiwgMHg3NCwgMHg4MCwgMHgyNSwgMHgxYn19LAotIHsweDA1MDYsIDY0LCB7IDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2IsIDB4ZjUsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4MDUsIDB4MWIsIDB4ZTUsIDB4MWIsIDB4YjQsIDB4MDMsIDB4ZGIsIDB4OTAsCi0gIDB4N2YsIDB4YzMsIDB4NzQsIDB4MDMsIDB4ZjAsIDB4ZTQsIDB4ZjUsIDB4MjUsIDB4MjIsIDB4OTAsIDB4N2YsIDB4ZTksIDB4ZTAsIDB4MTIsIDB4MGEsIDB4MWYsCi0gIDB4MDUsIDB4ZjYsIDB4MDAsIDB4MDYsIDB4NmEsIDB4MDEsIDB4MDYsIDB4ZDcsIDB4MDMsIDB4MDUsIDB4NDMsIDB4MDYsIDB4MDUsIDB4ZTksIDB4MDgsIDB4MDUsCi0gIDB4ZTMsIDB4MDksIDB4MDUsIDB4Y2IsIDB4MGEsIDB4MDUsIDB4ZGEsIDB4MGIsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MjcsIDB4OTAsIDB4N2YsIDB4ZWJ9fSwKLSB7MHgwNTQ2LCA2NCwgeyAweGUwLCAweDI0LCAweGZlLCAweDYwLCAweDE2LCAweDE0LCAweDYwLCAweDUwLCAweDI0LCAweDAyLCAweDcwLCAweDZmLCAweDc0LCAweDE5LCAweDkwLCAweDdmLCAweGQ0LAotICAweGYwLCAweDc0LCAweDAwLCAweDkwLCAweDdmLCAweGQ1LCAweGYwLCAweDAyLCAweDA3LCAweDJlLCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweDcwLCAweDA0LAotICAweDdmLCAweDAyLCAweDgwLCAweDAyLCAweDdmLCAweDAzLCAweDc1LCAweDgyLCAweDgyLCAweDc1LCAweDgzLCAweDE5LCAweGVmLCAweGYwLCAweDc1LCAweDgyLAotICAweDc0LCAweDc1LCAweDgzLCAweDE5LCAweGYwLCAweDc1LCAweDgyLCAweDU4LCAweDc1LCAweDgzLCAweDE5LCAweGYwLCAweDkwLCAweDdmLCAweGVhfX0sCi0gezB4MDU4NiwgNjQsIHsgMHhlMCwgMHgwNCwgMHg3NSwgMHg4MiwgMHgxNywgMHg3NSwgMHg4MywgMHgxOSwgMHhmMCwgMHg3NCwgMHgxOSwgMHg5MCwgMHg3ZiwgMHhkNCwgMHhmMCwgMHg3NCwgMHgxMiwKLSAgMHg5MCwgMHg3ZiwgMHhkNSwgMHhmMCwgMHgwMiwgMHgwNywgMHgyZSwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHhmZiwgMHgxMiwgMHgwYSwgMHg0NSwgMHhlYSwKLSAgMHg0OSwgMHg2MCwgMHgwZCwgMHhlYSwgMHg5MCwgMHg3ZiwgMHhkNCwgMHhmMCwgMHhlOSwgMHg5MCwgMHg3ZiwgMHhkNSwgMHhmMCwgMHgwMiwgMHgwNywgMHgyZSwKLSAgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHgwMiwgMHgwNywgMHgyZSwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NH19LAotIHsweDA1YzYsIDY0LCB7IDB4MDEsIDB4ZjAsIDB4MDIsIDB4MDcsIDB4MmUsIDB4OTAsIDB4N2YsIDB4MDAsIDB4ZTUsIDB4MjQsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDEsIDB4ZjAsCi0gIDB4MDIsIDB4MDcsIDB4MmUsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4ZjUsIDB4MjQsIDB4MDIsIDB4MDcsIDB4MmUsIDB4MTIsIDB4MDcsIDB4MzYsIDB4MDIsCi0gIDB4MDcsIDB4MmUsIDB4OTAsIDB4N2YsIDB4MDAsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4ZjAsIDB4MDIsIDB4MDcsIDB4MmUsIDB4OTAsCi0gIDB4N2YsIDB4ZTgsIDB4ZTAsIDB4MjQsIDB4N2YsIDB4NjAsIDB4MjQsIDB4MTQsIDB4NjAsIDB4MzEsIDB4MjQsIDB4MDIsIDB4NzAsIDB4NWIsIDB4YTJ9fSwKLSB7MHgwNjA2LCA2NCwgeyAweDAxLCAweGU0LCAweDMzLCAweGZmLCAweDI1LCAweGUwLCAweGZmLCAweGEyLCAweDA3LCAweGU0LCAweDMzLCAweDRmLCAweDkwLCAweDdmLCAweDAwLCAweGYwLCAweGU0LAotICAweGEzLCAweGYwLCAweDkwLCAweDdmLCAweGI1LCAweDc0LCAweDAyLCAweGYwLCAweDAyLCAweDA3LCAweDJlLCAweGU0LCAweDkwLCAweDdmLCAweDAwLCAweGYwLAotICAweGEzLCAweGYwLCAweDkwLCAweDdmLCAweGI1LCAweDc0LCAweDAyLCAweGYwLCAweDAyLCAweDA3LCAweDJlLCAweDkwLCAweDdmLCAweGVjLCAweGUwLCAweGY0LAotICAweDU0LCAweDgwLCAweGZmLCAweGM0LCAweDU0LCAweDBmLCAweGZmLCAweGUwLCAweDU0LCAweDA3LCAweDJmLCAweDI1LCAweGUwLCAweDI0LCAweGI0fX0sCi0gezB4MDY0NiwgNjQsIHsgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZiwgMHhmNSwgMHg4MywgMHhlMCwgMHg1NCwgMHhmZCwgMHg5MCwgMHg3ZiwgMHgwMCwgMHhmMCwgMHhlNCwgMHhhMywgMHhmMCwKLSAgMHg5MCwgMHg3ZiwgMHhiNSwgMHg3NCwgMHgwMiwgMHhmMCwgMHgwMiwgMHgwNywgMHgyZSwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwKLSAgMHgwMiwgMHgwNywgMHgyZSwgMHg5MCwgMHg3ZiwgMHhlOCwgMHhlMCwgMHgyNCwgMHhmZSwgMHg2MCwgMHgxZSwgMHgyNCwgMHgwMiwgMHg2MCwgMHgwMywgMHgwMiwKLSAgMHgwNywgMHgyZSwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHhiNCwgMHgwMSwgMHgwNiwgMHgxMiwgMHgwZCwgMHg2MywgMHgwMiwgMHgwNywgMHgyZX19LAotIHsweDA2ODYsIDY0LCB7IDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4MDIsIDB4MDcsIDB4MmUsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4NzAsIDB4MzgsIDB4OTAsCi0gIDB4N2YsIDB4ZWMsIDB4ZTAsIDB4ZjQsIDB4NTQsIDB4ODAsIDB4ZmYsIDB4YzQsIDB4NTQsIDB4MGYsIDB4ZmYsIDB4ZTAsIDB4NTQsIDB4MDcsIDB4MmYsIDB4MjUsCi0gIDB4ZTAsIDB4MjQsIDB4YjQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2YsIDB4ZjUsIDB4ODMsIDB4ZTQsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZWMsIDB4ZTAsCi0gIDB4NTQsIDB4ODAsIDB4ZmYsIDB4MTMsIDB4MTMsIDB4MTMsIDB4NTQsIDB4MWYsIDB4ZmYsIDB4ZTAsIDB4NTQsIDB4MDcsIDB4MmYsIDB4OTAsIDB4N2Z9fSwKLSB7MHgwNmM2LCA2NCwgeyAweGQ3LCAweGYwLCAweGUwLCAweDQ0LCAweDIwLCAweGYwLCAweDgwLCAweDYwLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDgwLCAweDU3LAotICAweDkwLCAweDdmLCAweGU4LCAweGUwLCAweDI0LCAweGZlLCAweDYwLCAweDE5LCAweDI0LCAweDAyLCAweDcwLCAweDRiLCAweDkwLCAweDdmLCAweGVhLCAweGUwLAotICAweGI0LCAweDAxLCAweDA1LCAweDEyLCAweDBkLCAweDYwLCAweDgwLCAweDNmLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDgwLAotICAweDM2LCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweDcwLCAweDIwLCAweDkwLCAweDdmLCAweGVjLCAweGUwLCAweGY0LCAweDU0LCAweDgwLCAweGZmfX0sCi0gezB4MDcwNiwgNjQsIHsgMHhjNCwgMHg1NCwgMHgwZiwgMHhmZiwgMHhlMCwgMHg1NCwgMHgwNywgMHgyZiwgMHgyNSwgMHhlMCwgMHgyNCwgMHhiNCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZiwKLSAgMHhmNSwgMHg4MywgMHg3NCwgMHgwMSwgMHhmMCwgMHg4MCwgMHgxMCwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg4MCwgMHgwNywKLSAgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHgyMiwgMHhlNCwKLSAgMHg5MCwgMHg3ZiwgMHg5MywgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5YywgMHg3NCwgMHgzMCwgMHhmMCwgMHhlNCwgMHg5MCwgMHg3ZiwgMHg5NiwgMHhmMH19LAotIHsweDA3NDYsIDY0LCB7IDB4OTAsIDB4N2YsIDB4OTUsIDB4NzQsIDB4YzAsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWUsIDB4NzQsIDB4M2YsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTgsCi0gIDB4ZjAsIDB4ZTQsIDB4ZjUsIDB4OGUsIDB4OTAsIDB4N2YsIDB4ZGYsIDB4NzQsIDB4ZmYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZGUsIDB4ZjAsIDB4ZTQsIDB4ZjUsCi0gIDB4MDgsIDB4N2YsIDB4MDEsIDB4N2IsIDB4MDAsIDB4NzQsIDB4MDgsIDB4MmYsIDB4ZjksIDB4ZTQsIDB4MzQsIDB4MDAsIDB4ZmEsIDB4ZTQsIDB4MTIsIDB4MGEsCi0gIDB4MGQsIDB4MGYsIDB4YmYsIDB4MDksIDB4ZWUsIDB4NzUsIDB4MTMsIDB4MDEsIDB4ZTQsIDB4ZjUsIDB4MTIsIDB4ZjUsIDB4MmUsIDB4ZjUsIDB4MTF9fSwKLSB7MHgwNzg2LCA2NCwgeyAweGMyLCAweDBlLCAweGMyLCAweDEyLCAweGMyLCAweDBkLCAweGMyLCAweDBhLCAweGMyLCAweDBmLCAweGMyLCAweDA0LCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLAotICAweGYwLCAweDc1LCAweDE4LCAweDAzLCAweDkwLCAweGMwLCAweDAwLCAweDc0LCAweDAzLCAweGYwLCAweDdmLCAweDBjLCAweGU0LCAweGZkLCAweDEyLCAweDBjLAotICAweDFjLCAweDdmLCAweDEwLCAweDhmLCAweDE3LCAweDEyLCAweDBiLCAweGFhLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEyLCAweGYwLCAweDdmLCAweDAxLAotICAweDhmLCAweDE2LCAweGVmLCAweDQ0LCAweDA2LCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDBmLCAweGU0LCAweGZkLCAweDEyLCAweDBjLCAweDFjfX0sCi0gezB4MDdjNiwgNjQsIHsgMHhlNCwgMHhmZiwgMHg3ZSwgMHhhMywgMHhhZCwgMHgwNiwgMHg4ZCwgMHgxNSwgMHgxMiwgMHgwYywgMHgxYywgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMSwgMHhmMCwKLSAgMHg5MCwgMHhjMCwgMHgwMCwgMHhlNCwgMHhmMCwgMHg3ZiwgMHgwNSwgMHg3ZCwgMHg3ZiwgMHgxMiwgMHgwYywgMHgxYywgMHg3ZiwgMHgwMSwgMHgxMiwgMHgwYywKLSAgMHhhYywgMHg3ZiwgMHgwMywgMHg3ZCwgMHgwNywgMHgxMiwgMHgwYywgMHgxYywgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxNCwgMHhmMCwgMHg3NSwgMHgxOSwKLSAgMHg4MCwgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHg4MCwgMHhmMCwgMHhkMiwgMHgwMywgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMH19LAotIHsweDA4MDYsIDY0LCB7IDB4ZjAsIDB4YWYsIDB4MjMsIDB4ZTUsIDB4MjgsIDB4ZjUsIDB4ODIsIDB4ZTUsIDB4MjcsIDB4ZjUsIDB4ODMsIDB4YzIsIDB4YWYsIDB4MDUsIDB4ODYsIDB4OTAsIDB4YzAsCi0gIDB4MDAsIDB4MDUsIDB4ODYsIDB4ZTAsIDB4YTMsIDB4MDUsIDB4ODYsIDB4ZjAsIDB4MDUsIDB4ODYsIDB4ZGYsIDB4ZjcsIDB4ZDIsIDB4YWYsIDB4MjIsIDB4OTAsCi0gIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTAsIDB4ZjAsIDB4YWYsIDB4MjMsIDB4ZTUsIDB4MjgsIDB4ZjUsIDB4ODIsIDB4ZTUsIDB4MjcsIDB4ZjUsIDB4ODMsIDB4YzIsCi0gIDB4YWYsIDB4MDUsIDB4ODYsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4MDUsIDB4ODYsIDB4ZjAsIDB4YTMsIDB4MDUsIDB4ODYsIDB4ZGYsIDB4Zjd9fSwKLSB7MHgwODQ2LCA2NCwgeyAweDA1LCAweDg2LCAweGQyLCAweGFmLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDA4LCAweGYwLCAweGFmLCAweDIzLCAweGU1LCAweDI4LCAweGY1LCAweDgyLAotICAweGU1LCAweDI3LCAweGY1LCAweDgzLCAweGMyLCAweGFmLCAweDA1LCAweDg2LCAweDkwLCAweGMwLCAweDAwLCAweDA1LCAweDg2LCAweGUwLCAweGEzLCAweDA1LAotICAweDg2LCAweGYwLCAweDA1LCAweDg2LCAweGRmLCAweGY3LCAweGQyLCAweGFmLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDA4LCAweGYwLCAweGFmLAotICAweDIzLCAweGU1LCAweDI4LCAweGY1LCAweDgyLCAweGU1LCAweDI3LCAweGY1LCAweDgzLCAweGMyLCAweGFmLCAweDA1LCAweDg2LCAweDkwLCAweGMwfX0sCi0gezB4MDg4NiwgNjQsIHsgMHgwMCwgMHhlMCwgMHgwNSwgMHg4NiwgMHhmMCwgMHhhMywgMHgwNSwgMHg4NiwgMHhkZiwgMHhmNywgMHgwNSwgMHg4NiwgMHhkMiwgMHhhZiwgMHgyMiwgMHg3NCwgMHgwMCwKLSAgMHhmNSwgMHg4NiwgMHg5MCwgMHhmZCwgMHhhNSwgMHg3YywgMHgwNSwgMHhhMywgMHhlNSwgMHg4MiwgMHg0NSwgMHg4MywgMHg3MCwgMHhmOSwgMHgyMiwgMHg5MCwKLSAgMHg3ZiwgMHhkNiwgMHhlMCwgMHg0NCwgMHg4MCwgMHhmMCwgMHg0MywgMHg4NywgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgyMiwgMHg3OCwKLSAgMHg3ZiwgMHhlNCwgMHhmNiwgMHhkOCwgMHhmZCwgMHg3NSwgMHg4MSwgMHgzMSwgMHgwMiwgMHgwOCwgMHhmZCwgMHgwMiwgMHgwOSwgMHg0MiwgMHhlNH19LAotIHsweDA4YzYsIDY0LCB7IDB4OTMsIDB4YTMsIDB4ZjgsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4NDAsIDB4MDMsIDB4ZjYsIDB4ODAsIDB4MDEsIDB4ZjIsIDB4MDgsIDB4ZGYsIDB4ZjQsIDB4ODAsIDB4MjksCi0gIDB4ZTQsIDB4OTMsIDB4YTMsIDB4ZjgsIDB4NTQsIDB4MDcsIDB4MjQsIDB4MGMsIDB4YzgsIDB4YzMsIDB4MzMsIDB4YzQsIDB4NTQsIDB4MGYsIDB4NDQsIDB4MjAsCi0gIDB4YzgsIDB4ODMsIDB4NDAsIDB4MDQsIDB4ZjQsIDB4NTYsIDB4ODAsIDB4MDEsIDB4NDYsIDB4ZjYsIDB4ZGYsIDB4ZTQsIDB4ODAsIDB4MGIsIDB4MDEsIDB4MDIsCi0gIDB4MDQsIDB4MDgsIDB4MTAsIDB4MjAsIDB4NDAsIDB4ODAsIDB4OTAsIDB4MGMsIDB4Y2QsIDB4ZTQsIDB4N2UsIDB4MDEsIDB4OTMsIDB4NjAsIDB4YmN9fSwKLSB7MHgwOTA2LCA2NCwgeyAweGEzLCAweGZmLCAweDU0LCAweDNmLCAweDMwLCAweGU1LCAweDA5LCAweDU0LCAweDFmLCAweGZlLCAweGU0LCAweDkzLCAweGEzLCAweDYwLCAweDAxLCAweDBlLCAweGNmLAotICAweDU0LCAweGMwLCAweDI1LCAweGUwLCAweDYwLCAweGE4LCAweDQwLCAweGI4LCAweGU0LCAweDkzLCAweGEzLCAweGZhLCAweGU0LCAweDkzLCAweGEzLCAweGY4LAotICAweGU0LCAweDkzLCAweGEzLCAweGM4LCAweGM1LCAweDgyLCAweGM4LCAweGNhLCAweGM1LCAweDgzLCAweGNhLCAweGYwLCAweGEzLCAweGM4LCAweGM1LCAweDgyLAotICAweGM4LCAweGNhLCAweGM1LCAweDgzLCAweGNhLCAweGRmLCAweGU5LCAweGRlLCAweGU3LCAweDgwLCAweGJlLCAweGQyLCAweDE0LCAweDkwLCAweDdmfX0sCi0gezB4MDk0NiwgNjQsIHsgMHg5MiwgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHgxMiwgMHgwZCwgMHg2MywgMHhkMiwgMHhlOCwgMHg0MywgMHhkOCwgMHgyMCwgMHg5MCwgMHg3ZiwgMHhkZSwgMHg3NCwKLSAgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhkZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhYiwgMHg3NCwgMHhmZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhOSwgMHhmMCwKLSAgMHg5MCwgMHg3ZiwgMHhhYSwgMHhmMCwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhZiwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwKLSAgMHhhZSwgMHg3NCwgMHgwZCwgMHhmMCwgMHhkMiwgMHhhZiwgMHhkMiwgMHgxNSwgMHgxMiwgMHgwYywgMHg2NiwgMHhjMiwgMHgwMiwgMHhlNCwgMHhmNX19LAotIHsweDA5ODYsIDY0LCB7IDB4MjYsIDB4ZjUsIDB4MmUsIDB4YzIsIDB4MDgsIDB4YzIsIDB4MDMsIDB4OTAsIDB4N2YsIDB4YTEsIDB4MDQsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZDgsIDB4ZTAsIDB4NjUsCi0gIDB4MWEsIDB4NjAsIDB4MTAsIDB4MzAsIDB4MDMsIDB4MDUsIDB4ZDIsIDB4MTUsIDB4MTIsIDB4MDAsIDB4NDYsIDB4OTAsIDB4N2YsIDB4ZDgsIDB4ZTAsIDB4ZjUsCi0gIDB4MWEsIDB4ODAsIDB4MDgsIDB4MzAsIDB4MDMsIDB4MDUsIDB4YzIsIDB4MTUsIDB4MTIsIDB4MDAsIDB4NDYsIDB4MzAsIDB4MDIsIDB4MDcsIDB4YzIsIDB4MDIsCi0gIDB4MTIsIDB4MDUsIDB4MjAsIDB4ODAsIDB4ZDYsIDB4MzAsIDB4MDksIDB4ZDMsIDB4YzIsIDB4MDksIDB4MTIsIDB4MGEsIDB4YmEsIDB4ODAsIDB4Y2N9fSwKLSB7MHgwOWM2LCA2NCwgeyAweDIyLCAweGJiLCAweDAxLCAweDA2LCAweDg5LCAweDgyLCAweDhhLCAweDgzLCAweGUwLCAweDIyLCAweDUwLCAweDAyLCAweGU3LCAweDIyLCAweGJiLCAweGZlLCAweDAyLAotICAweGUzLCAweDIyLCAweDg5LCAweDgyLCAweDhhLCAweDgzLCAweGU0LCAweDkzLCAweDIyLCAweGJiLCAweDAxLCAweDBjLCAweGU1LCAweDgyLCAweDI5LCAweGY1LAotICAweDgyLCAweGU1LCAweDgzLCAweDNhLCAweGY1LCAweDgzLCAweGUwLCAweDIyLCAweDUwLCAweDA2LCAweGU5LCAweDI1LCAweDgyLCAweGY4LCAweGU2LCAweDIyLAotICAweGJiLCAweGZlLCAweDA2LCAweGU5LCAweDI1LCAweDgyLCAweGY4LCAweGUyLCAweDIyLCAweGU1LCAweDgyLCAweDI5LCAweGY1LCAweDgyLCAweGU1fX0sCi0gezB4MGEwNiwgNjQsIHsgMHg4MywgMHgzYSwgMHhmNSwgMHg4MywgMHhlNCwgMHg5MywgMHgyMiwgMHhiYiwgMHgwMSwgMHgwNiwgMHg4OSwgMHg4MiwgMHg4YSwgMHg4MywgMHhmMCwgMHgyMiwgMHg1MCwKLSAgMHgwMiwgMHhmNywgMHgyMiwgMHhiYiwgMHhmZSwgMHgwMSwgMHhmMywgMHgyMiwgMHhkMCwgMHg4MywgMHhkMCwgMHg4MiwgMHhmOCwgMHhlNCwgMHg5MywgMHg3MCwKLSAgMHgxMiwgMHg3NCwgMHgwMSwgMHg5MywgMHg3MCwgMHgwZCwgMHhhMywgMHhhMywgMHg5MywgMHhmOCwgMHg3NCwgMHgwMSwgMHg5MywgMHhmNSwgMHg4MiwgMHg4OCwKLSAgMHg4MywgMHhlNCwgMHg3MywgMHg3NCwgMHgwMiwgMHg5MywgMHg2OCwgMHg2MCwgMHhlZiwgMHhhMywgMHhhMywgMHhhMywgMHg4MCwgMHhkZiwgMHg4Zn19LAotIHsweDBhNDYsIDY0LCB7IDB4MWIsIDB4ZTQsIDB4ZjUsIDB4MWMsIDB4NzUsIDB4MWQsIDB4ZmYsIDB4NzUsIDB4MWUsIDB4MTksIDB4NzUsIDB4MWYsIDB4ODYsIDB4YWIsIDB4MWQsIDB4YWEsIDB4MWUsCi0gIDB4YTksIDB4MWYsIDB4OTAsIDB4MDAsIDB4MDEsIDB4MTIsIDB4MDksIDB4ZTAsIDB4YjQsIDB4MDMsIDB4MWQsIDB4YWYsIDB4MWMsIDB4MDUsIDB4MWMsIDB4ZWYsCi0gIDB4YjUsIDB4MWIsIDB4MDEsIDB4MjIsIDB4MTIsIDB4MDksIDB4YzcsIDB4N2UsIDB4MDAsIDB4MjksIDB4ZmYsIDB4ZWUsIDB4M2EsIDB4YTksIDB4MDcsIDB4NzUsCi0gIDB4MWQsIDB4ZmYsIDB4ZjUsIDB4MWUsIDB4ODksIDB4MWYsIDB4ODAsIDB4ZDQsIDB4N2IsIDB4MDAsIDB4N2EsIDB4MDAsIDB4NzksIDB4MDAsIDB4MjJ9fSwKLSB7MHgwYTg2LCA2NCwgeyAweDA1LCAweDI4LCAweGU1LCAweDI4LCAweGFlLCAweDI3LCAweDcwLCAweDAyLCAweDA1LCAweDI3LCAweDE0LCAweGY1LCAweDgyLCAweDhlLCAweDgzLCAweGU1LCAweDExLAotICAweGYwLCAweDEyLCAweDAwLCAweDM2LCAweDA1LCAweDI4LCAweGU1LCAweDI4LCAweGFjLCAweDI3LCAweDcwLCAweDAyLCAweDA1LCAweDI3LCAweDE0LCAweGY1LAotICAweDgyLCAweDhjLCAweDgzLCAweGVmLCAweGYwLCAweDE1LCAweDIzLCAweGU1LCAweDIzLCAweDYwLCAweDA3LCAweDEyLCAweDBkLCAweDQ0LCAweDhmLCAweDExLAotICAweDgwLCAweGNkLCAweDIyLCAweDkwLCAweDdmLCAweGQ4LCAweGUwLCAweGY1LCAweDFiLCAweDEyLCAweDAwLCAweDAzLCAweDkwLCAweDdmLCAweGQ2fX0sCi0gezB4MGFjNiwgNjQsIHsgMHhlMCwgMHg0NCwgMHg4MCwgMHhmMCwgMHgxMiwgMHgwOCwgMHhhNiwgMHg5MCwgMHg3ZiwgMHhkNiwgMHhlMCwgMHgzMCwgMHhlNywgMHgwZSwgMHgzMCwgMHgwMSwgMHgwNSwKLSAgMHgxMiwgMHgwYywgMHhmZSwgMHg4MCwgMHgwNiwgMHgxMiwgMHgwYywgMHg4YiwgMHhlZiwgMHg2MCwgMHhlMSwgMHgxMiwgMHgwNywgMHgzNiwgMHgyMiwgMHhjMCwKLSAgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhjMCwgMHg4NSwgMHhjMCwgMHg4NCwgMHhjMCwgMHg4NiwgMHg3NSwgMHg4NiwgMHgwMCwgMHg5MCwgMHg3ZiwKLSAgMHhjNCwgMHhlNCwgMHhmMCwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhYiwgMHg3NCwgMHgwNCwgMHhmMCwgMHhkMCwgMHg4NiwgMHhkMH19LAotIHsweDBiMDYsIDY0LCB7IDB4ODQsIDB4ZDAsIDB4ODUsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzIsIDB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YzAsCi0gIDB4ODUsIDB4YzAsIDB4ODQsIDB4YzAsIDB4ODYsIDB4NzUsIDB4ODYsIDB4MDAsIDB4ZDIsIDB4MDIsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YWIsCi0gIDB4NzQsIDB4MDEsIDB4ZjAsIDB4ZDAsIDB4ODYsIDB4ZDAsIDB4ODQsIDB4ZDAsIDB4ODUsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzIsCi0gIDB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ODUsIDB4YzAsIDB4ODQsIDB4YzAsIDB4ODYsIDB4NzUsIDB4ODYsIDB4MDB9fSwKLSB7MHgwYjQ2LCA2NCwgeyAweGQyLCAweDA5LCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGFiLCAweDc0LCAweDA4LCAweGYwLCAweGQwLCAweDg2LCAweGQwLCAweDg0LCAweGQwLCAweDg1LAotICAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGUwLCAweDMyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweDkwLCAweGMwLCAweDAwLAotICAweDc0LCAweGJmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEwLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVmLCAweGYwLCAweDkwLCAweDdmLAotICAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweGU1LCAweDE4LCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDIyLCAweDkwLCAweDdmfX0sCi0gezB4MGI4NiwgNjQsIHsgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHhiZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMSwgMHhmMCwgMHg5MCwKLSAgMHhjMCwgMHgwMCwgMHhlZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHhlNSwgMHgxOCwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwKLSAgMHgwMCwgMHhmMCwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHhiZiwgMHhmMCwgMHg5MCwKLSAgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMiwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxM319LAotIHsweDBiYzYsIDY0LCB7IDB4ZjAsIDB4ZTUsIDB4MTgsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4OTAsCi0gIDB4YzAsIDB4MDAsIDB4NzQsIDB4YmYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTQsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWYsIDB4ZjAsCi0gIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4ZTUsIDB4MTgsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4MjIsIDB4OTAsCi0gIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4YmYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzR9fSwKLSB7MHgwYzA2LCA2NCwgeyAweDE2LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweGU1LCAweDE4LCAweDU0LCAweDdmLAotICAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweGU1LCAweDE4LCAweDU0LCAweDdmLCAweDkwLAotICAweGMwLCAweDAwLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDE3LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVmLCAweGYwLCAweDkwLCAweDdmLAotICAweDk4LCAweDc0LCAweDE1LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVkLCAweGYwLCAweDIyLCAweDEyLCAweDBkLCAweDJjLCAweDhmLCAweDFkfX0sCi0gezB4MGM0NiwgNjQsIHsgMHgxMiwgMHgwZCwgMHgyYywgMHg4ZiwgMHgxZSwgMHhlNSwgMHgxZCwgMHg2NSwgMHgxZSwgMHg2MCwgMHgxMiwgMHgxMiwgMHgwZCwgMHgyYywgMHg4ZiwgMHgxZCwgMHhlNSwKLSAgMHgxZCwgMHg2NSwgMHgxZSwgMHg2MCwgMHgwNywgMHgxMiwgMHgwZCwgMHgyYywgMHg4ZiwgMHgxZSwgMHg4MCwgMHhlOCwgMHhhZiwgMHgxZCwgMHgyMiwgMHg5MCwKLSAgMHg3ZiwgMHhkNiwgMHhlMCwgMHg1NCwgMHhmYiwgMHhmMCwgMHhlMCwgMHg0NCwgMHgwOCwgMHhmMCwgMHgzMCwgMHgxNSwgMHgwNCwgMHhlMCwgMHg0NCwgMHgwMiwKLSAgMHhmMCwgMHg3ZiwgMHhmNCwgMHg3ZSwgMHgwMSwgMHgxMiwgMHgwYywgMHhlNywgMHg5MCwgMHg3ZiwgMHhkNiwgMHhlMCwgMHg1NCwgMHhmNywgMHhmMH19LAotIHsweDBjODYsIDY0LCB7IDB4ZTAsIDB4NDQsIDB4MDQsIDB4ZjAsIDB4MjIsIDB4OTAsIDB4N2YsIDB4ZDgsIDB4ZTAsIDB4ZjUsIDB4MWMsIDB4MTIsIDB4MDcsIDB4MzYsIDB4MTIsIDB4MGQsIDB4NTAsCi0gIDB4ZWYsIDB4MzAsIDB4ZTYsIDB4MGIsIDB4OTAsIDB4N2YsIDB4ZDgsIDB4ZTAsIDB4NjUsIDB4MWMsIDB4NjAsIDB4ZjEsIDB4N2YsIDB4MDEsIDB4MjIsIDB4MTIsCi0gIDB4MDAsIDB4MDMsIDB4N2YsIDB4MDAsIDB4MjIsIDB4YWUsIDB4MDcsIDB4ZTQsIDB4ZmYsIDB4ZTUsIDB4MTUsIDB4NTQsIDB4N2YsIDB4ZmQsIDB4MTIsIDB4MGMsCi0gIDB4MWMsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTEsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWUsIDB4ZjAsIDB4ZTQsIDB4ZTUsIDB4MTV9fSwKLSB7MHgwY2M2LCA2NCwgeyAweDQ0LCAweDgwLCAweGZkLCAweDEyLCAweDBjLCAweDFjLCAweDIyLCAweDA1LCAweDI5LCAweDAyLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAzLCAweDJmLCAweDAzLAotICAweDAwLCAweDAwLCAweGMxLCAweDg2LCAweGMxLCAweDAyLCAweGMxLCAweDA5LCAweGMxLCAweDAxLCAweGMxLCAweDA3LCAweDAxLCAweDI1LCAweDAwLCAweDAwLAotICAweDhlLCAweDFjLCAweDhmLCAweDFkLCAweGU1LCAweDFkLCAweDE1LCAweDFkLCAweGFlLCAweDFjLCAweDcwLCAweDAyLCAweDE1LCAweDFjLCAweDRlLCAweDYwLAotICAweDA1LCAweDEyLCAweDA4LCAweDk1LCAweDgwLCAweGVlLCAweDIyLCAweDkwLCAweDdmLCAweGQ2LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDdmfX0sCi0gezB4MGQwNiwgNjQsIHsgMHgwZCwgMHg3ZSwgMHgwMCwgMHgxMiwgMHgwYywgMHhlNywgMHg5MCwgMHg3ZiwgMHhkNiwgMHhlMCwgMHg1NCwgMHhmZSwgMHhmMCwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwKLSAgMHg3NCwgMHgxMSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMiwgMHhmMCwgMHg5MCwKLSAgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwKLSAgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxNCwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwgMHg5MCwgMHg3Zn19LAotIHsweDBkNDYsIDY0LCB7IDB4OTgsIDB4NzQsIDB4MTUsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTYsIDB4ZjAsIDB4OTAsCi0gIDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4NTMsIDB4ZDgsIDB4ZWYsIDB4MzIsIDB4ZDIsIDB4MDEsIDB4MjIsIDB4YzIsIDB4MDEsIDB4MjIsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgwZDg2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MGRjNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMiwgMHgwYiwgMHgxMCwgMHgwMCwgMHgwMiwgMHgwZX19LAotIHsweDBlMDYsIDY0LCB7IDB4MDQsIDB4MDAsIDB4MDIsIDB4MGEsIDB4ZTYsIDB4MDAsIDB4MDIsIDB4MGIsIDB4MzcsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgwZTQ2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MGU4NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDBlYzYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgwZjA2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MGY0NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDBmODYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgwZmM2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTAwNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDEwNDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxMDg2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTBjNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDExMDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxMTQ2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTE4NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDExYzYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxMjA2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTI0NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDEyODYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxMmM2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTMwNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDEzNDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxMzg2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTNjNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE0MDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNDQ2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTQ4NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE0YzYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNTA2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTU0NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE1ODYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNWM2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTYwNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE2NDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNjg2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTZjNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE3MDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNzQ2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTc4NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE3YzYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxODA2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTg0NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE4ODYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxOGM2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDEyLCAweDAxLCAweDEwLCAweDAxLCAweGZmLCAweDAwfX0sCi0gezB4MTkwNiwgNjQsIHsgMHgwMCwgMHg0MCwgMHhjZCwgMHgwNiwgMHgwOCwgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMSwgMHgwMiwgMHgwMCwgMHgwMiwgMHgwOSwgMHgwMiwgMHg3NCwgMHgwMCwgMHgwMSwKLSAgMHgwMSwgMHgwMCwgMHhhMCwgMHgzMiwgMHgwOSwgMHgwNCwgMHgwMCwgMHgwMCwgMHgwZSwgMHhmZiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwMSwKLSAgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwMiwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwMywgMHgwMiwgMHg0MCwKLSAgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwNCwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwNSwgMHgwMiwgMHg0MCwgMHgwMH19LAotIHsweDE5NDYsIDY0LCB7IDB4MDAsIDB4MDcsIDB4MDUsIDB4MDYsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDcsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsCi0gIDB4ODEsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDEsIDB4MDcsIDB4MDUsIDB4ODIsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDEsIDB4MDcsIDB4MDUsIDB4ODMsIDB4MDIsCi0gIDB4NDAsIDB4MDAsIDB4MDEsIDB4MDcsIDB4MDUsIDB4ODQsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDEsIDB4MDcsIDB4MDUsIDB4ODUsIDB4MDIsIDB4NDAsIDB4MDAsCi0gIDB4MDEsIDB4MDcsIDB4MDUsIDB4ODYsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDEsIDB4MDcsIDB4MDUsIDB4ODcsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDF9fSwKLSB7MHgxOTg2LCA2NCwgeyAweDA0LCAweDAzLCAweDA5LCAweDA0LCAweDQ4LCAweDAzLCAweDRiLCAweDAwLCAweDY1LCAweDAwLCAweDc5LCAweDAwLCAweDczLCAweDAwLCAweDcwLCAweDAwLCAweDYxLAotICAweDAwLCAweDZlLCAweDAwLCAweDJjLCAweDAwLCAweDIwLCAweDAwLCAweDYxLCAweDAwLCAweDIwLCAweDAwLCAweDY0LCAweDAwLCAweDY5LCAweDAwLCAweDc2LAotICAweDAwLCAweDY5LCAweDAwLCAweDczLCAweDAwLCAweDY5LCAweDAwLCAweDZmLCAweDAwLCAweDZlLCAweDAwLCAweDIwLCAweDAwLCAweDZmLCAweDAwLCAweDY2LAotICAweDAwLCAweDIwLCAweDAwLCAweDQ5LCAweDAwLCAweDZlLCAweDAwLCAweDZlLCAweDAwLCAweDZmLCAweDAwLCAweDUzLCAweDAwLCAweDc5LCAweDAwfX0sCi0gezB4MTljNiwgNjQsIHsgMHg3MywgMHgwMCwgMHgyMCwgMHgwMCwgMHg0OSwgMHgwMCwgMHg2ZSwgMHgwMCwgMHg2MywgMHgwMCwgMHgyZSwgMHgwMCwgMHgzNiwgMHgwMywgMHg0YiwgMHgwMCwgMHg2NSwKLSAgMHgwMCwgMHg3OSwgMHgwMCwgMHg3MywgMHgwMCwgMHg3MCwgMHgwMCwgMHg2MSwgMHgwMCwgMHg2ZSwgMHgwMCwgMHgyMCwgMHgwMCwgMHg1NSwgMHgwMCwgMHg1MywKLSAgMHgwMCwgMHg0MiwgMHgwMCwgMHgyMCwgMHgwMCwgMHg1MywgMHgwMCwgMHg2NSwgMHgwMCwgMHg3MiwgMHgwMCwgMHg2OSwgMHgwMCwgMHg2MSwgMHgwMCwgMHg2YywKLSAgMHgwMCwgMHgyMCwgMHgwMCwgMHg0MSwgMHgwMCwgMHg2NCwgMHgwMCwgMHg2MSwgMHgwMCwgMHg3MCwgMHgwMCwgMHg3NCwgMHgwMCwgMHg2NSwgMHgwMH19LAotIHsweDFhMDYsICA0LCB7IDB4NzIsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHhmZmZmLAkwLAl7MHgwMH0gfQotfTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL3NlcmlhbC9rZXlzcGFuX3VzYTI4X2Z3LmggYi9kcml2ZXJzL3VzYi9zZXJpYWwva2V5c3Bhbl91c2EyOF9mdy5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4NDhiMGEyLi4wMDAwMDAwCi0tLSBhL2RyaXZlcnMvdXNiL3NlcmlhbC9rZXlzcGFuX3VzYTI4X2Z3LmgKKysrIC9kZXYvbnVsbApAQCAtMSw0NjYgKzAsMCBAQAotLyoga2V5c3Bhbl91c2EyOF9mdy5oCi0KLQlUaGUgZmlybXdhcmUgY29udGFpbmVkIGhlcmVpbiBhcyBrZXlzcGFuX3VzYTI4X2Z3LmggaXMKLQotCQlDb3B5cmlnaHQgKEMpIDE5OTktMjAwMQotCQlLZXlzcGFuLCBBIGRpdmlzaW9uIG9mIElubm9TeXMgSW5jb3Jwb3JhdGVkICgiS2V5c3BhbiIpCi0JCQotCWFzIGFuIHVucHVibGlzaGVkIHdvcmsuIFRoaXMgbm90aWNlIGRvZXMgbm90IGltcGx5IHVucmVzdHJpY3RlZCBvcgotCXB1YmxpYyBhY2Nlc3MgdG8gdGhlIHNvdXJjZSBjb2RlIGZyb20gd2hpY2ggdGhpcyBmaXJtd2FyZSBpbWFnZSBpcwotCWRlcml2ZWQuICBFeGNlcHQgYXMgbm90ZWQgYmVsb3cgdGhpcyBmaXJtd2FyZSBpbWFnZSBtYXkgbm90IGJlIAotCXJlcHJvZHVjZWQsIHVzZWQsIHNvbGQgb3IgdHJhbnNmZXJyZWQgdG8gYW55IHRoaXJkIHBhcnR5IHdpdGhvdXQgCi0JS2V5c3BhbidzIHByaW9yIHdyaXR0ZW4gY29uc2VudC4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCi0KLQlQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkIGZvciB0aGUgZGlzdHJpYnV0aW9uIG9mIHRoaXMgZmlybXdhcmUgCi0JaW1hZ2UgYXMgcGFydCBvZiBhIExpbnV4IG9yIG90aGVyIE9wZW4gU291cmNlIG9wZXJhdGluZyBzeXN0ZW0ga2VybmVsIAotCWluIHRleHQgb3IgYmluYXJ5IGZvcm0gYXMgcmVxdWlyZWQuIAotCi0JVGhpcyBmaXJtd2FyZSBtYXkgbm90IGJlIG1vZGlmaWVkIGFuZCBtYXkgb25seSBiZSB1c2VkIHdpdGggIAotCUtleXNwYW4gaGFyZHdhcmUuICBEaXN0cmlidXRpb24gYW5kL29yIE1vZGlmaWNhdGlvbiBvZiB0aGUgCi0Ja2V5c3Bhbi5jIGRyaXZlciB3aGljaCBpbmNsdWRlcyB0aGlzIGZpcm13YXJlLCBpbiB3aG9sZSBvciBpbiAKLQlwYXJ0LCByZXF1aXJlcyB0aGUgaW5jbHVzaW9uIG9mIHRoaXMgc3RhdGVtZW50LiIKLQotKi8KLQotc3RhdGljIGNvbnN0IHN0cnVjdCBlenVzYl9oZXhfcmVjb3JkIGtleXNwYW5fdXNhMjhfZmlybXdhcmVbXSA9IHsKLSB7MHgwMDI2LCAxMCwgeyAweDEyLCAweDE3LCAweGRiLCAweDEyLCAweDE4LCAweGI1LCAweDEyLCAweDE0LCAweGMzLCAweDIyfX0sCi0gezB4MDAzMywgIDMsIHsgMHgwMiwgMHgwMCwgMHgxZH19LAotIHsweDAwMWQsICA0LCB7IDB4NTMsIDB4ZDgsIDB4ZWYsIDB4MzJ9fSwKLSB7MHgwMDA2LCAxNiwgeyAweDhlLCAweDEyLCAweDhmLCAweDEzLCAweGU1LCAweDEzLCAweDE1LCAweDEzLCAweGFlLCAweDEyLCAweDcwLCAweDAyLCAweDE1LCAweDEyLCAweDRlLCAweDYwfX0sCi0gezB4MDAxNiwgIDcsIHsgMHgwNSwgMHgxMiwgMHgxOCwgMHhhNCwgMHg4MCwgMHhlZSwgMHgyMn19LAotIHsweDAwMDMsICAzLCB7IDB4MDIsIDB4MDAsIDB4NDZ9fSwKLSB7MHgwMDQ2LCAxNiwgeyAweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGMwLCAweDg2LCAweDc1LCAweDg2LCAweDAwLCAweGMwLCAweGQwLCAweDc1LCAweGQwLCAweDA4fX0sCi0gezB4MDA1NiwgMTYsIHsgMHgzMCwgMHg5OSwgMHgwZSwgMHgzMCwgMHgxMSwgMHgwNywgMHhhMiwgMHgxNywgMHg5MiwgMHg5YiwgMHg4NSwgMHg0NiwgMHg5OSwgMHhjMiwgMHg5OSwgMHhkMn19LAotIHsweDAwNjYsIDE2LCB7IDB4MWYsIDB4MzAsIDB4YzEsIDB4MGUsIDB4MzAsIDB4MTIsIDB4MDcsIDB4YTIsIDB4MTgsIDB4OTIsIDB4YzMsIDB4ODUsIDB4NDcsIDB4YzEsIDB4YzIsIDB4YzF9fSwKLSB7MHgwMDc2LCAxNiwgeyAweGQyLCAweDIwLCAweDIwLCAweDFmLCAweDAzLCAweDAyLCAweDA0LCAweDQyLCAweGMyLCAweDFmLCAweDIwLCAweDAzLCAweDAzLCAweDAyLCAweDAyLCAweDY3fX0sCi0gezB4MDA4NiwgMTYsIHsgMHgyMCwgMHgxMSwgMHgwMywgMHgwMiwgMHgwMSwgMHgzOCwgMHhlNSwgMHg0YSwgMHhjMywgMHg5NSwgMHg3YywgMHg1MCwgMHgzZSwgMHgyMCwgMHgxMywgMHgzNn19LAotIHsweDAwOTYsIDE2LCB7IDB4MjAsIDB4MGIsIDB4MzMsIDB4OTAsIDB4N2YsIDB4OWIsIDB4ZTAsIDB4MjAsIDB4ZTMsIDB4MDMsIDB4MjAsIDB4MWMsIDB4MjksIDB4MzAsIDB4MWIsIDB4MTJ9fSwKLSB7MHgwMGE2LCAxNiwgeyAweGFlLCAweDRhLCAweDA1LCAweDRhLCAweDc0LCAweDQwLCAweDJlLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdlLCAweGY1LCAweDgzLCAweGUwLCAweDEzfX0sCi0gezB4MDBiNiwgMTYsIHsgMHg5MiwgMHgxNywgMHhhZSwgMHg0YSwgMHgwNSwgMHg0YSwgMHg3NCwgMHg0MCwgMHgyZSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZSwgMHhmNSwgMHg4M319LAotIHsweDAwYzYsIDE2LCB7IDB4ZTAsIDB4ZjUsIDB4NDYsIDB4MDIsIDB4MDQsIDB4NDAsIDB4YzIsIDB4MTEsIDB4MDIsIDB4MDQsIDB4NDAsIDB4OTAsIDB4N2YsIDB4YzcsIDB4ZTQsIDB4ZjB9fSwKLSB7MHgwMGQ2LCAxNiwgeyAweGMyLCAweDAzLCAweDMwLCAweDE1LCAweDBjLCAweGMyLCAweDE1LCAweDkwLCAweDdmLCAweGJmLCAweDA0LCAweGYwLCAweGMyLCAweDExLCAweDAyLCAweDA0fX0sCi0gezB4MDBlNiwgMTYsIHsgMHg0MCwgMHg5MCwgMHg3ZiwgMHhjOCwgMHhlMCwgMHgzMCwgMHhlMSwgMHgwNSwgMHhjMiwgMHgxMSwgMHgwMiwgMHgwNCwgMHg0MCwgMHg5MCwgMHg3ZiwgMHhjOX19LAotIHsweDAwZjYsIDE2LCB7IDB4ZTAsIDB4ZjUsIDB4N2MsIDB4OTAsIDB4N2QsIDB4YzAsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MTUsIDB4MjAsIDB4MTMsIDB4MmQsIDB4MjAsIDB4MGIsIDB4MmF9fSwKLSB7MHgwMDQzLCAgMywgeyAweDAyLCAweDFiLCAweDAwfX0sCi0gezB4MDAyMywgIDMsIHsgMHgwMiwgMHgwMCwgMHg0Nn19LAotIHsweDAwM2IsICAzLCB7IDB4MDIsIDB4MDAsIDB4NDZ9fSwKLSB7MHgwMDAwLCAgMywgeyAweDAyLCAweDE2LCAweDNkfX0sCi0gezB4MDEwNiwgNjQsIHsgMHg5MCwgMHg3ZiwgMHg5YiwgMHhlMCwgMHgyMCwgMHhlMywgMHgwMywgMHgyMCwgMHgxYywgMHgyMCwgMHgzMCwgMHgxYiwgMHgxMSwgMHg5MCwgMHg3ZCwgMHhjMSwgMHhlMCwKLSAgMHgxMywgMHg5MiwgMHgxNywgMHhhMywgMHhlMCwgMHhmNSwgMHg0NiwgMHg3NSwgMHg0YSwgMHgwMywgMHgwMiwgMHgwNCwgMHg0MCwgMHg3NSwgMHg0YSwgMHgwMiwKLSAgMHg5MCwgMHg3ZCwgMHhjMSwgMHhlMCwgMHhmNSwgMHg0NiwgMHgwMiwgMHgwNCwgMHg0MCwgMHg3NSwgMHg0YSwgMHgwMSwgMHhjMiwgMHgxMSwgMHgwMiwgMHgwNCwKLSAgMHg0MCwgMHhlNSwgMHg0YSwgMHhjMywgMHg5NSwgMHg3YywgMHg1MCwgMHgwMywgMHgwMiwgMHgwMSwgMHhlMCwgMHg5MCwgMHg3ZiwgMHhjNiwgMHhlMH19LAotIHsweDAxNDYsIDY0LCB7IDB4MzAsIDB4ZTEsIDB4MDcsIDB4YzIsIDB4MjEsIDB4YzIsIDB4MDUsIDB4MDIsIDB4MDQsIDB4NDAsIDB4OTAsIDB4N2YsIDB4YzcsIDB4ZTAsIDB4ZjUsIDB4N2MsIDB4OTAsCi0gIDB4N2UsIDB4NDAsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MTUsIDB4MzAsIDB4MTMsIDB4MDMsIDB4MDIsIDB4MDEsIDB4ZDgsIDB4MjAsIDB4MGIsIDB4NzIsIDB4MjAsCi0gIDB4MDAsIDB4NmYsIDB4OTAsIDB4N2YsIDB4OWIsIDB4ZTAsIDB4MjAsIDB4ZTMsIDB4MDMsIDB4MjAsIDB4MWMsIDB4NjUsIDB4MzAsIDB4MWIsIDB4MTAsIDB4OTAsCi0gIDB4N2UsIDB4NDEsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4OWIsIDB4YTMsIDB4ZTAsIDB4ZjUsIDB4OTksIDB4NzUsIDB4NGEsIDB4MDMsIDB4ODAsIDB4MDl9fSwKLSB7MHgwMTg2LCA2NCwgeyAweDkwLCAweDdlLCAweDQxLCAweGUwLCAweGY1LCAweDk5LCAweDc1LCAweDRhLCAweDAyLCAweGU1LCAweDRhLCAweGMzLCAweDk1LCAweDdjLCAweDQwLCAweDE3LCAweDkwLAotICAweDdmLCAweGM3LCAweGU0LCAweGYwLCAweGMyLCAweDAzLCAweDIwLCAweDE1LCAweDAzLCAweDAyLCAweDA0LCAweDQwLCAweGMyLCAweDE1LCAweDkwLCAweDdmLAotICAweGJmLCAweDA0LCAweGYwLCAweDAyLCAweDA0LCAweDQwLCAweDMwLCAweDFiLCAweDEyLCAweGFlLCAweDRhLCAweDA1LCAweDRhLCAweDc0LCAweDQwLCAweDJlLAotICAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdlLCAweGY1LCAweDgzLCAweGUwLCAweDEzLCAweDkyLCAweDE3LCAweGFlLCAweDRhLCAweDA1LCAweDRhfX0sCi0gezB4MDFjNiwgNjQsIHsgMHg3NCwgMHg0MCwgMHgyZSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZSwgMHhmNSwgMHg4MywgMHhlMCwgMHhmNSwgMHg0NiwgMHhkMiwgMHgxMSwgMHgwMiwgMHgwNCwKLSAgMHg0MCwgMHg3NSwgMHg0YSwgMHgwMSwgMHhjMiwgMHgyMSwgMHgwMiwgMHgwNCwgMHg0MCwgMHgzMCwgMHgxMywgMHgwMywgMHgwMiwgMHgwMiwgMHg2MiwgMHgyMCwKLSAgMHgwYiwgMHg3OSwgMHg5MCwgMHg3ZiwgMHg5YiwgMHhlMCwgMHgyMCwgMHhlMywgMHgwMywgMHgyMCwgMHgxYywgMHg2ZiwgMHgzMCwgMHgxYiwgMHgxMiwgMHhhZSwKLSAgMHg0YSwgMHgwNSwgMHg0YSwgMHg3NCwgMHg0MCwgMHgyZSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZSwgMHhmNSwgMHg4MywgMHhlMCwgMHgxM319LAotIHsweDAyMDYsIDY0LCB7IDB4OTIsIDB4OWIsIDB4YWUsIDB4NGEsIDB4MDUsIDB4NGEsIDB4NzQsIDB4NDAsIDB4MmUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2UsIDB4ZjUsIDB4ODMsIDB4ZTAsCi0gIDB4ZjUsIDB4OTksIDB4ZTUsIDB4NGEsIDB4YzMsIDB4OTUsIDB4N2MsIDB4NDAsIDB4MTcsIDB4OTAsIDB4N2YsIDB4YzcsIDB4ZTQsIDB4ZjAsIDB4YzIsIDB4MDMsCi0gIDB4MjAsIDB4MTUsIDB4MDMsIDB4MDIsIDB4MDQsIDB4NDAsIDB4YzIsIDB4MTUsIDB4OTAsIDB4N2YsIDB4YmYsIDB4MDQsIDB4ZjAsIDB4MDIsIDB4MDQsIDB4NDAsCi0gIDB4MzAsIDB4MWIsIDB4MTIsIDB4YWUsIDB4NGEsIDB4MDUsIDB4NGEsIDB4NzQsIDB4NDAsIDB4MmUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2V9fSwKLSB7MHgwMjQ2LCA2NCwgeyAweGY1LCAweDgzLCAweGUwLCAweDEzLCAweDkyLCAweDE3LCAweGFlLCAweDRhLCAweDA1LCAweDRhLCAweDc0LCAweDQwLCAweDJlLCAweGY1LCAweDgyLCAweGU0LCAweDM0LAotICAweDdlLCAweGY1LCAweDgzLCAweGUwLCAweGY1LCAweDQ2LCAweGQyLCAweDExLCAweDAyLCAweDA0LCAweDQwLCAweGMyLCAweDIxLCAweDAyLCAweDA0LCAweDQwLAotICAweDIwLCAweDExLCAweDAzLCAweDAyLCAweDAzLCAweDE5LCAweGU1LCAweDRhLCAweGMzLCAweDk1LCAweDdjLCAweDUwLCAweDNlLCAweDIwLCAweDEzLCAweDM2LAotICAweDIwLCAweDBiLCAweDMzLCAweDkwLCAweDdmLCAweDliLCAweGUwLCAweDIwLCAweGUzLCAweDAzLCAweDIwLCAweDFjLCAweDI5LCAweDMwLCAweDFifX0sCi0gezB4MDI4NiwgNjQsIHsgMHgxMiwgMHhhZSwgMHg0YSwgMHgwNSwgMHg0YSwgMHg3NCwgMHhjMCwgMHgyZSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZCwgMHhmNSwgMHg4MywgMHhlMCwgMHgxMywKLSAgMHg5MiwgMHgxNywgMHhhZSwgMHg0YSwgMHgwNSwgMHg0YSwgMHg3NCwgMHhjMCwgMHgyZSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZCwgMHhmNSwgMHg4MywKLSAgMHhlMCwgMHhmNSwgMHg0NiwgMHgwMiwgMHgwNCwgMHg0MCwgMHhjMiwgMHgxMSwgMHgwMiwgMHgwNCwgMHg0MCwgMHg5MCwgMHg3ZiwgMHhjOSwgMHhlNCwgMHhmMCwKLSAgMHhkMiwgMHgwMywgMHgzMCwgMHgxNSwgMHgwYywgMHhjMiwgMHgxNSwgMHg5MCwgMHg3ZiwgMHhiZiwgMHgwNCwgMHhmMCwgMHhjMiwgMHgxMSwgMHgwMn19LAotIHsweDAyYzYsIDY0LCB7IDB4MDQsIDB4NDAsIDB4OTAsIDB4N2YsIDB4YzYsIDB4ZTAsIDB4MzAsIDB4ZTEsIDB4MDUsIDB4YzIsIDB4MTEsIDB4MDIsIDB4MDQsIDB4NDAsIDB4OTAsIDB4N2YsIDB4YzcsCi0gIDB4ZTAsIDB4ZjUsIDB4N2MsIDB4OTAsIDB4N2UsIDB4NDAsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MTUsIDB4MjAsIDB4MTMsIDB4MmQsIDB4MjAsIDB4MGIsIDB4MmEsCi0gIDB4OTAsIDB4N2YsIDB4OWIsIDB4ZTAsIDB4MjAsIDB4ZTMsIDB4MDMsIDB4MjAsIDB4MWMsIDB4MjAsIDB4MzAsIDB4MWIsIDB4MTEsIDB4OTAsIDB4N2UsIDB4NDEsCi0gIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MTcsIDB4YTMsIDB4ZTAsIDB4ZjUsIDB4NDYsIDB4NzUsIDB4NGEsIDB4MDMsIDB4MDIsIDB4MDQsIDB4NDAsIDB4NzV9fSwKLSB7MHgwMzA2LCA2NCwgeyAweDRhLCAweDAyLCAweDkwLCAweDdlLCAweDQxLCAweGUwLCAweGY1LCAweDQ2LCAweDAyLCAweDA0LCAweDQwLCAweDc1LCAweDRhLCAweDAxLCAweGMyLCAweDExLCAweDAyLAotICAweDA0LCAweDQwLCAweGU1LCAweDRhLCAweGMzLCAweDk1LCAweDdjLCAweDUwLCAweDAzLCAweDAyLCAweDAzLCAweGMxLCAweDkwLCAweDdmLCAweGM4LCAweGUwLAotICAweDMwLCAweGUxLCAweDA3LCAweGMyLCAweDIxLCAweGMyLCAweDA1LCAweDAyLCAweDA0LCAweDQwLCAweDkwLCAweDdmLCAweGM5LCAweGUwLCAweGY1LCAweDdjLAotICAweDkwLCAweDdkLCAweGMwLCAweGUwLCAweDEzLCAweDkyLCAweDE1LCAweDMwLCAweDEzLCAweDAzLCAweDAyLCAweDAzLCAweGI5LCAweDIwLCAweDBifX0sCi0gezB4MDM0NiwgNjQsIHsgMHg3MiwgMHgyMCwgMHgwMCwgMHg2ZiwgMHg5MCwgMHg3ZiwgMHg5YiwgMHhlMCwgMHgyMCwgMHhlMywgMHgwMywgMHgyMCwgMHgxYywgMHg2NSwgMHgzMCwgMHgxYiwgMHgxMCwKLSAgMHg5MCwgMHg3ZCwgMHhjMSwgMHhlMCwgMHgxMywgMHg5MiwgMHg5YiwgMHhhMywgMHhlMCwgMHhmNSwgMHg5OSwgMHg3NSwgMHg0YSwgMHgwMywgMHg4MCwgMHgwOSwKLSAgMHg5MCwgMHg3ZCwgMHhjMSwgMHhlMCwgMHhmNSwgMHg5OSwgMHg3NSwgMHg0YSwgMHgwMiwgMHhlNSwgMHg0YSwgMHhjMywgMHg5NSwgMHg3YywgMHg0MCwgMHgxNywKLSAgMHg5MCwgMHg3ZiwgMHhjOSwgMHhlNCwgMHhmMCwgMHhkMiwgMHgwMywgMHgyMCwgMHgxNSwgMHgwMywgMHgwMiwgMHgwNCwgMHg0MCwgMHhjMiwgMHgxNX19LAotIHsweDAzODYsIDY0LCB7IDB4OTAsIDB4N2YsIDB4YmYsIDB4MDQsIDB4ZjAsIDB4MDIsIDB4MDQsIDB4NDAsIDB4MzAsIDB4MWIsIDB4MTIsIDB4YWUsIDB4NGEsIDB4MDUsIDB4NGEsIDB4NzQsIDB4YzAsCi0gIDB4MmUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2QsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MTcsIDB4YWUsIDB4NGEsIDB4MDUsIDB4NGEsCi0gIDB4NzQsIDB4YzAsIDB4MmUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2QsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZjUsIDB4NDYsIDB4ZDIsIDB4MTEsIDB4MDIsCi0gIDB4MDQsIDB4NDAsIDB4NzUsIDB4NGEsIDB4MDEsIDB4YzIsIDB4MjEsIDB4MDIsIDB4MDQsIDB4NDAsIDB4MzAsIDB4MTMsIDB4MDMsIDB4MDIsIDB4MDR9fSwKLSB7MHgwM2M2LCA2NCwgeyAweDNlLCAweDIwLCAweDBiLCAweDc0LCAweDkwLCAweDdmLCAweDliLCAweGUwLCAweDIwLCAweGUzLCAweDAzLCAweDIwLCAweDFjLCAweDZhLCAweDMwLCAweDFiLCAweDEyLAotICAweGFlLCAweDRhLCAweDA1LCAweDRhLCAweDc0LCAweGMwLCAweDJlLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdkLCAweGY1LCAweDgzLCAweGUwLCAweDEzLAotICAweDkyLCAweDliLCAweGFlLCAweDRhLCAweDA1LCAweDRhLCAweDc0LCAweGMwLCAweDJlLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdkLCAweGY1LCAweDgzLAotICAweGUwLCAweGY1LCAweDk5LCAweGU1LCAweDRhLCAweGMzLCAweDk1LCAweDdjLCAweDQwLCAweDEzLCAweDkwLCAweDdmLCAweGM5LCAweGU0LCAweGYwfX0sCi0gezB4MDQwNiwgNjQsIHsgMHhkMiwgMHgwMywgMHgzMCwgMHgxNSwgMHgzNSwgMHhjMiwgMHgxNSwgMHg5MCwgMHg3ZiwgMHhiZiwgMHgwNCwgMHhmMCwgMHg4MCwgMHgyYywgMHgzMCwgMHgxYiwgMHgxMiwKLSAgMHhhZSwgMHg0YSwgMHgwNSwgMHg0YSwgMHg3NCwgMHhjMCwgMHgyZSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZCwgMHhmNSwgMHg4MywgMHhlMCwgMHgxMywKLSAgMHg5MiwgMHgxNywgMHhhZSwgMHg0YSwgMHgwNSwgMHg0YSwgMHg3NCwgMHhjMCwgMHgyZSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZCwgMHhmNSwgMHg4MywKLSAgMHhlMCwgMHhmNSwgMHg0NiwgMHhkMiwgMHgxMSwgMHg4MCwgMHgwMiwgMHhjMiwgMHgyMSwgMHhkMiwgMHgyNSwgMHgyMCwgMHgyMCwgMHgwMywgMHgwMn19LAotIHsweDA0NDYsIDY0LCB7IDB4MDgsIDB4MGMsIDB4YzIsIDB4MjAsIDB4MjAsIDB4MDQsIDB4MDMsIDB4MDIsIDB4MDYsIDB4MzEsIDB4MjAsIDB4MTIsIDB4MDMsIDB4MDIsIDB4MDUsIDB4MDIsIDB4ZTUsCi0gIDB4NGIsIDB4YzMsIDB4OTUsIDB4N2QsIDB4NTAsIDB4M2UsIDB4MjAsIDB4MTQsIDB4MzYsIDB4MjAsIDB4MGQsIDB4MzMsIDB4OTAsIDB4N2YsIDB4OWEsIDB4ZTAsCi0gIDB4MjAsIDB4ZTUsIDB4MDMsIDB4MjAsIDB4MWUsIDB4MjksIDB4MzAsIDB4MWQsIDB4MTIsIDB4YWUsIDB4NGIsIDB4MDUsIDB4NGIsIDB4NzQsIDB4NDAsIDB4MmUsCi0gIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2QsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MTgsIDB4YWUsIDB4NGIsIDB4MDUsIDB4NGJ9fSwKLSB7MHgwNDg2LCA2NCwgeyAweDc0LCAweDQwLCAweDJlLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdkLCAweGY1LCAweDgzLCAweGUwLCAweGY1LCAweDQ3LCAweDAyLCAweDA4LCAweDBhLCAweGMyLAotICAweDEyLCAweDAyLCAweDA4LCAweDBhLCAweDkwLCAweDdmLCAweGNiLCAweGU0LCAweGYwLCAweGMyLCAweDA0LCAweDMwLCAweDE2LCAweDBjLCAweGMyLCAweDE2LAotICAweDkwLCAweDdmLCAweGMxLCAweDA0LCAweGYwLCAweGMyLCAweDEyLCAweDAyLCAweDA4LCAweDBhLCAweDkwLCAweDdmLCAweGNjLCAweGUwLCAweDMwLCAweGUxLAotICAweDA1LCAweGMyLCAweDEyLCAweDAyLCAweDA4LCAweDBhLCAweDkwLCAweDdmLCAweGNkLCAweGUwLCAweGY1LCAweDdkLCAweDkwLCAweDdjLCAweGMwfX0sCi0gezB4MDRjNiwgNjQsIHsgMHhlMCwgMHgxMywgMHg5MiwgMHgxNiwgMHgyMCwgMHgxNCwgMHgyZCwgMHgyMCwgMHgwZCwgMHgyYSwgMHg5MCwgMHg3ZiwgMHg5YSwgMHhlMCwgMHgyMCwgMHhlNSwgMHgwMywKLSAgMHgyMCwgMHgxZSwgMHgyMCwgMHgzMCwgMHgxZCwgMHgxMSwgMHg5MCwgMHg3YywgMHhjMSwgMHhlMCwgMHgxMywgMHg5MiwgMHgxOCwgMHhhMywgMHhlMCwgMHhmNSwKLSAgMHg0NywgMHg3NSwgMHg0YiwgMHgwMywgMHgwMiwgMHgwOCwgMHgwYSwgMHg3NSwgMHg0YiwgMHgwMiwgMHg5MCwgMHg3YywgMHhjMSwgMHhlMCwgMHhmNSwgMHg0NywKLSAgMHgwMiwgMHgwOCwgMHgwYSwgMHg3NSwgMHg0YiwgMHgwMSwgMHhjMiwgMHgxMiwgMHgwMiwgMHgwOCwgMHgwYSwgMHhlNSwgMHg0YiwgMHhjMywgMHg5NX19LAotIHsweDA1MDYsIDY0LCB7IDB4N2QsIDB4NTAsIDB4MDMsIDB4MDIsIDB4MDUsIDB4YWEsIDB4OTAsIDB4N2YsIDB4Y2EsIDB4ZTAsIDB4MzAsIDB4ZTEsIDB4MDcsIDB4YzIsIDB4MjIsIDB4YzIsIDB4MDYsCi0gIDB4MDIsIDB4MDgsIDB4MGEsIDB4OTAsIDB4N2YsIDB4Y2IsIDB4ZTAsIDB4ZjUsIDB4N2QsIDB4OTAsIDB4N2QsIDB4NDAsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MTYsCi0gIDB4MzAsIDB4MTQsIDB4MDMsIDB4MDIsIDB4MDUsIDB4YTIsIDB4MjAsIDB4MGQsIDB4NzIsIDB4MjAsIDB4MDAsIDB4NmYsIDB4OTAsIDB4N2YsIDB4OWEsIDB4ZTAsCi0gIDB4MjAsIDB4ZTUsIDB4MDMsIDB4MjAsIDB4MWUsIDB4NjUsIDB4MzAsIDB4MWQsIDB4MTAsIDB4OTAsIDB4N2QsIDB4NDEsIDB4ZTAsIDB4MTMsIDB4OTJ9fSwKLSB7MHgwNTQ2LCA2NCwgeyAweGMzLCAweGEzLCAweGUwLCAweGY1LCAweGMxLCAweDc1LCAweDRiLCAweDAzLCAweDgwLCAweDA5LCAweDkwLCAweDdkLCAweDQxLCAweGUwLCAweGY1LCAweGMxLCAweDc1LAotICAweDRiLCAweDAyLCAweGU1LCAweDRiLCAweGMzLCAweDk1LCAweDdkLCAweDQwLCAweDE3LCAweDkwLCAweDdmLCAweGNiLCAweGU0LCAweGYwLCAweGMyLCAweDA0LAotICAweDIwLCAweDE2LCAweDAzLCAweDAyLCAweDA4LCAweDBhLCAweGMyLCAweDE2LCAweDkwLCAweDdmLCAweGMxLCAweDA0LCAweGYwLCAweDAyLCAweDA4LCAweDBhLAotICAweDMwLCAweDFkLCAweDEyLCAweGFlLCAweDRiLCAweDA1LCAweDRiLCAweDc0LCAweDQwLCAweDJlLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdkfX0sCi0gezB4MDU4NiwgNjQsIHsgMHhmNSwgMHg4MywgMHhlMCwgMHgxMywgMHg5MiwgMHgxOCwgMHhhZSwgMHg0YiwgMHgwNSwgMHg0YiwgMHg3NCwgMHg0MCwgMHgyZSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwKLSAgMHg3ZCwgMHhmNSwgMHg4MywgMHhlMCwgMHhmNSwgMHg0NywgMHhkMiwgMHgxMiwgMHgwMiwgMHgwOCwgMHgwYSwgMHg3NSwgMHg0YiwgMHgwMSwgMHhjMiwgMHgyMiwKLSAgMHgwMiwgMHgwOCwgMHgwYSwgMHgzMCwgMHgxNCwgMHgwMywgMHgwMiwgMHgwNiwgMHgyYywgMHgyMCwgMHgwZCwgMHg3OSwgMHg5MCwgMHg3ZiwgMHg5YSwgMHhlMCwKLSAgMHgyMCwgMHhlNSwgMHgwMywgMHgyMCwgMHgxZSwgMHg2ZiwgMHgzMCwgMHgxZCwgMHgxMiwgMHhhZSwgMHg0YiwgMHgwNSwgMHg0YiwgMHg3NCwgMHg0MH19LAotIHsweDA1YzYsIDY0LCB7IDB4MmUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2QsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4YzMsIDB4YWUsIDB4NGIsIDB4MDUsIDB4NGIsIDB4NzQsCi0gIDB4NDAsIDB4MmUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2QsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZjUsIDB4YzEsIDB4ZTUsIDB4NGIsIDB4YzMsIDB4OTUsCi0gIDB4N2QsIDB4NDAsIDB4MTcsIDB4OTAsIDB4N2YsIDB4Y2IsIDB4ZTQsIDB4ZjAsIDB4YzIsIDB4MDQsIDB4MjAsIDB4MTYsIDB4MDMsIDB4MDIsIDB4MDgsIDB4MGEsCi0gIDB4YzIsIDB4MTYsIDB4OTAsIDB4N2YsIDB4YzEsIDB4MDQsIDB4ZjAsIDB4MDIsIDB4MDgsIDB4MGEsIDB4MzAsIDB4MWQsIDB4MTIsIDB4YWUsIDB4NGJ9fSwKLSB7MHgwNjA2LCA2NCwgeyAweDA1LCAweDRiLCAweDc0LCAweDQwLCAweDJlLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdkLCAweGY1LCAweDgzLCAweGUwLCAweDEzLCAweDkyLCAweDE4LCAweGFlLAotICAweDRiLCAweDA1LCAweDRiLCAweDc0LCAweDQwLCAweDJlLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdkLCAweGY1LCAweDgzLCAweGUwLCAweGY1LCAweDQ3LAotICAweGQyLCAweDEyLCAweDAyLCAweDA4LCAweDBhLCAweGMyLCAweDIyLCAweDAyLCAweDA4LCAweDBhLCAweDIwLCAweDEyLCAweDAzLCAweDAyLCAweDA2LCAweGUzLAotICAweGU1LCAweDRiLCAweGMzLCAweDk1LCAweDdkLCAweDUwLCAweDNlLCAweDIwLCAweDE0LCAweDM2LCAweDIwLCAweDBkLCAweDMzLCAweDkwLCAweDdmfX0sCi0gezB4MDY0NiwgNjQsIHsgMHg5YSwgMHhlMCwgMHgyMCwgMHhlNSwgMHgwMywgMHgyMCwgMHgxZSwgMHgyOSwgMHgzMCwgMHgxZCwgMHgxMiwgMHhhZSwgMHg0YiwgMHgwNSwgMHg0YiwgMHg3NCwgMHhjMCwKLSAgMHgyZSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3YywgMHhmNSwgMHg4MywgMHhlMCwgMHgxMywgMHg5MiwgMHgxOCwgMHhhZSwgMHg0YiwgMHgwNSwgMHg0YiwKLSAgMHg3NCwgMHhjMCwgMHgyZSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3YywgMHhmNSwgMHg4MywgMHhlMCwgMHhmNSwgMHg0NywgMHgwMiwgMHgwOCwgMHgwYSwKLSAgMHhjMiwgMHgxMiwgMHgwMiwgMHgwOCwgMHgwYSwgMHg5MCwgMHg3ZiwgMHhjZCwgMHhlNCwgMHhmMCwgMHhkMiwgMHgwNCwgMHgzMCwgMHgxNiwgMHgwY319LAotIHsweDA2ODYsIDY0LCB7IDB4YzIsIDB4MTYsIDB4OTAsIDB4N2YsIDB4YzEsIDB4MDQsIDB4ZjAsIDB4YzIsIDB4MTIsIDB4MDIsIDB4MDgsIDB4MGEsIDB4OTAsIDB4N2YsIDB4Y2EsIDB4ZTAsIDB4MzAsCi0gIDB4ZTEsIDB4MDUsIDB4YzIsIDB4MTIsIDB4MDIsIDB4MDgsIDB4MGEsIDB4OTAsIDB4N2YsIDB4Y2IsIDB4ZTAsIDB4ZjUsIDB4N2QsIDB4OTAsIDB4N2QsIDB4NDAsCi0gIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MTYsIDB4MjAsIDB4MTQsIDB4MmQsIDB4MjAsIDB4MGQsIDB4MmEsIDB4OTAsIDB4N2YsIDB4OWEsIDB4ZTAsIDB4MjAsIDB4ZTUsCi0gIDB4MDMsIDB4MjAsIDB4MWUsIDB4MjAsIDB4MzAsIDB4MWQsIDB4MTEsIDB4OTAsIDB4N2QsIDB4NDEsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MTgsIDB4YTN9fSwKLSB7MHgwNmM2LCA2NCwgeyAweGUwLCAweGY1LCAweDQ3LCAweDc1LCAweDRiLCAweDAzLCAweDAyLCAweDA4LCAweDBhLCAweDc1LCAweDRiLCAweDAyLCAweDkwLCAweDdkLCAweDQxLCAweGUwLCAweGY1LAotICAweDQ3LCAweDAyLCAweDA4LCAweDBhLCAweDc1LCAweDRiLCAweDAxLCAweGMyLCAweDEyLCAweDAyLCAweDA4LCAweDBhLCAweGU1LCAweDRiLCAweGMzLCAweDk1LAotICAweDdkLCAweDUwLCAweDAzLCAweDAyLCAweDA3LCAweDhiLCAweDkwLCAweDdmLCAweGNjLCAweGUwLCAweDMwLCAweGUxLCAweDA3LCAweGMyLCAweDIyLCAweGMyLAotICAweDA2LCAweDAyLCAweDA4LCAweDBhLCAweDkwLCAweDdmLCAweGNkLCAweGUwLCAweGY1LCAweDdkLCAweDkwLCAweDdjLCAweGMwLCAweGUwLCAweDEzfX0sCi0gezB4MDcwNiwgNjQsIHsgMHg5MiwgMHgxNiwgMHgzMCwgMHgxNCwgMHgwMywgMHgwMiwgMHgwNywgMHg4MywgMHgyMCwgMHgwZCwgMHg3MiwgMHgyMCwgMHgwMCwgMHg2ZiwgMHg5MCwgMHg3ZiwgMHg5YSwKLSAgMHhlMCwgMHgyMCwgMHhlNSwgMHgwMywgMHgyMCwgMHgxZSwgMHg2NSwgMHgzMCwgMHgxZCwgMHgxMCwgMHg5MCwgMHg3YywgMHhjMSwgMHhlMCwgMHgxMywgMHg5MiwKLSAgMHhjMywgMHhhMywgMHhlMCwgMHhmNSwgMHhjMSwgMHg3NSwgMHg0YiwgMHgwMywgMHg4MCwgMHgwOSwgMHg5MCwgMHg3YywgMHhjMSwgMHhlMCwgMHhmNSwgMHhjMSwKLSAgMHg3NSwgMHg0YiwgMHgwMiwgMHhlNSwgMHg0YiwgMHhjMywgMHg5NSwgMHg3ZCwgMHg0MCwgMHgxNywgMHg5MCwgMHg3ZiwgMHhjZCwgMHhlNCwgMHhmMH19LAotIHsweDA3NDYsIDY0LCB7IDB4ZDIsIDB4MDQsIDB4MjAsIDB4MTYsIDB4MDMsIDB4MDIsIDB4MDgsIDB4MGEsIDB4YzIsIDB4MTYsIDB4OTAsIDB4N2YsIDB4YzEsIDB4MDQsIDB4ZjAsIDB4MDIsIDB4MDgsCi0gIDB4MGEsIDB4MzAsIDB4MWQsIDB4MTIsIDB4YWUsIDB4NGIsIDB4MDUsIDB4NGIsIDB4NzQsIDB4YzAsIDB4MmUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2MsCi0gIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MTgsIDB4YWUsIDB4NGIsIDB4MDUsIDB4NGIsIDB4NzQsIDB4YzAsIDB4MmUsIDB4ZjUsIDB4ODIsIDB4ZTQsCi0gIDB4MzQsIDB4N2MsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZjUsIDB4NDcsIDB4ZDIsIDB4MTIsIDB4MDIsIDB4MDgsIDB4MGEsIDB4NzUsIDB4NGIsIDB4MDF9fSwKLSB7MHgwNzg2LCA2NCwgeyAweGMyLCAweDIyLCAweDAyLCAweDA4LCAweDBhLCAweDMwLCAweDE0LCAweDAzLCAweDAyLCAweDA4LCAweDA4LCAweDIwLCAweDBkLCAweDc0LCAweDkwLCAweDdmLCAweDlhLAotICAweGUwLCAweDIwLCAweGU1LCAweDAzLCAweDIwLCAweDFlLCAweDZhLCAweDMwLCAweDFkLCAweDEyLCAweGFlLCAweDRiLCAweDA1LCAweDRiLCAweDc0LCAweGMwLAotICAweDJlLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdjLCAweGY1LCAweDgzLCAweGUwLCAweDEzLCAweDkyLCAweGMzLCAweGFlLCAweDRiLCAweDA1LCAweDRiLAotICAweDc0LCAweGMwLCAweDJlLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdjLCAweGY1LCAweDgzLCAweGUwLCAweGY1LCAweGMxLCAweGU1LCAweDRifX0sCi0gezB4MDdjNiwgNjQsIHsgMHhjMywgMHg5NSwgMHg3ZCwgMHg0MCwgMHgxMywgMHg5MCwgMHg3ZiwgMHhjZCwgMHhlNCwgMHhmMCwgMHhkMiwgMHgwNCwgMHgzMCwgMHgxNiwgMHgzNSwgMHhjMiwgMHgxNiwKLSAgMHg5MCwgMHg3ZiwgMHhjMSwgMHgwNCwgMHhmMCwgMHg4MCwgMHgyYywgMHgzMCwgMHgxZCwgMHgxMiwgMHhhZSwgMHg0YiwgMHgwNSwgMHg0YiwgMHg3NCwgMHhjMCwKLSAgMHgyZSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3YywgMHhmNSwgMHg4MywgMHhlMCwgMHgxMywgMHg5MiwgMHgxOCwgMHhhZSwgMHg0YiwgMHgwNSwgMHg0YiwKLSAgMHg3NCwgMHhjMCwgMHgyZSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3YywgMHhmNSwgMHg4MywgMHhlMCwgMHhmNSwgMHg0NywgMHhkMiwgMHgxMn19LAotIHsweDA4MDYsIDY0LCB7IDB4ODAsIDB4MDIsIDB4YzIsIDB4MjIsIDB4ZDIsIDB4MjUsIDB4MjAsIDB4OTgsIDB4MDMsIDB4MDIsIDB4MDksIDB4M2UsIDB4YzIsIDB4OTgsIDB4MjAsIDB4MDEsIDB4MDMsCi0gIDB4MDIsIDB4MDgsIDB4YjAsIDB4MjAsIDB4MjMsIDB4MjcsIDB4YWUsIDB4NDgsIDB4MDUsIDB4NDgsIDB4NzQsIDB4ODAsIDB4MmUsIDB4ZjUsIDB4ODIsIDB4ZTQsCi0gIDB4MzQsIDB4N2UsIDB4ZjUsIDB4ODMsIDB4ZTUsIDB4OTksIDB4ZjAsIDB4MzAsIDB4MWIsIDB4NDksIDB4YWUsIDB4NDgsIDB4MDUsIDB4NDgsIDB4NzQsIDB4ODAsCi0gIDB4MmUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2UsIDB4ZjUsIDB4ODMsIDB4ZTUsIDB4OTgsIDB4ZjAsIDB4ODAsIDB4MzYsIDB4YWYsIDB4OTl9fSwKLSB7MHgwODQ2LCA2NCwgeyAweGVmLCAweGI1LCAweDU4LCAweDA0LCAweGQyLCAweDBiLCAweDgwLCAweDJjLCAweGVmLCAweGI1LCAweDU3LCAweDA0LCAweGMyLCAweDBiLCAweDgwLCAweDI0LCAweGFlLAotICAweDQ4LCAweDA1LCAweDQ4LCAweDc0LCAweDgwLCAweDJlLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdlLCAweGY1LCAweDgzLCAweGVmLCAweGYwLCAweDMwLAotICAweDFiLCAweDExLCAweGFlLCAweDQ4LCAweDA1LCAweDQ4LCAweDc0LCAweDgwLCAweDJlLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdlLCAweGY1LCAweDgzLAotICAweGU1LCAweDk4LCAweGYwLCAweGQyLCAweDE5LCAweGU1LCAweDQ4LCAweGMzLCAweDk1LCAweDU0LCAweDUwLCAweDAzLCAweDAyLCAweDA5LCAweDNjfX0sCi0gezB4MDg4NiwgNjQsIHsgMHg5MCwgMHg3ZiwgMHhiOCwgMHhlMCwgMHgzMCwgMHhlMSwgMHgxNSwgMHhlNSwgMHg0OCwgMHhjMywgMHg5NCwgMHg0MCwgMHg1MCwgMHgwMywgMHgwMiwgMHgwOSwgMHgzYywKLSAgMHgxNSwgMHg0OCwgMHgxNSwgMHg0OCwgMHgwNSwgMHgyZCwgMHhkMiwgMHgwYywgMHgwMiwgMHgwOSwgMHgzYywgMHg5MCwgMHg3ZiwgMHhiNywgMHhlNSwgMHg0OCwKLSAgMHhmMCwgMHg3NSwgMHg0OCwgMHgwMCwgMHhjMiwgMHgwMSwgMHgwMiwgMHgwOSwgMHgzYywgMHgyMCwgMHgyMywgMHgyNywgMHhhZSwgMHg0OCwgMHgwNSwgMHg0OCwKLSAgMHg3NCwgMHgwMCwgMHgyZSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZSwgMHhmNSwgMHg4MywgMHhlNSwgMHg5OSwgMHhmMCwgMHgzMCwgMHgxYn19LAotIHsweDA4YzYsIDY0LCB7IDB4NDksIDB4YWUsIDB4NDgsIDB4MDUsIDB4NDgsIDB4NzQsIDB4MDAsIDB4MmUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2UsIDB4ZjUsIDB4ODMsIDB4ZTUsIDB4OTgsCi0gIDB4ZjAsIDB4ODAsIDB4MzYsIDB4YWYsIDB4OTksIDB4ZWYsIDB4YjUsIDB4NTgsIDB4MDQsIDB4ZDIsIDB4MGIsIDB4ODAsIDB4MmMsIDB4ZWYsIDB4YjUsIDB4NTcsCi0gIDB4MDQsIDB4YzIsIDB4MGIsIDB4ODAsIDB4MjQsIDB4YWUsIDB4NDgsIDB4MDUsIDB4NDgsIDB4NzQsIDB4MDAsIDB4MmUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsCi0gIDB4N2UsIDB4ZjUsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4MzAsIDB4MWIsIDB4MTEsIDB4YWUsIDB4NDgsIDB4MDUsIDB4NDgsIDB4NzQsIDB4MDAsIDB4MmV9fSwKLSB7MHgwOTA2LCA2NCwgeyAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdlLCAweGY1LCAweDgzLCAweGU1LCAweDk4LCAweGYwLCAweGQyLCAweDE5LCAweGU1LCAweDQ4LCAweGMzLCAweDk1LCAweDU0LAotICAweDQwLCAweDIzLCAweDkwLCAweDdmLCAweGI2LCAweGUwLCAweDMwLCAweGUxLCAweDExLCAweGU1LCAweDQ4LCAweGMzLCAweDk0LCAweDQwLCAweDQwLCAweDE1LAotICAweDE1LCAweDQ4LCAweDE1LCAweDQ4LCAweDA1LCAweDJkLCAweGQyLCAweDBjLCAweDgwLCAweDBiLCAweDkwLCAweDdmLCAweGI5LCAweGU1LCAweDQ4LCAweGYwLAotICAweDc1LCAweDQ4LCAweDAwLCAweGQyLCAweDAxLCAweGQyLCAweDI1LCAweDIwLCAweGMwLCAweDAzLCAweDAyLCAweDBhLCAweDcwLCAweGMyLCAweGMwfX0sCi0gezB4MDk0NiwgNjQsIHsgMHgyMCwgMHgwMiwgMHgwMywgMHgwMiwgMHgwOSwgMHhlMiwgMHgyMCwgMHgyNCwgMHgyNywgMHhhZSwgMHg0OSwgMHgwNSwgMHg0OSwgMHg3NCwgMHg4MCwgMHgyZSwgMHhmNSwKLSAgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZCwgMHhmNSwgMHg4MywgMHhlNSwgMHhjMSwgMHhmMCwgMHgzMCwgMHgxZCwgMHg0OSwgMHhhZSwgMHg0OSwgMHgwNSwgMHg0OSwKLSAgMHg3NCwgMHg4MCwgMHgyZSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZCwgMHhmNSwgMHg4MywgMHhlNSwgMHhjMCwgMHhmMCwgMHg4MCwgMHgzNiwgMHhhZiwKLSAgMHhjMSwgMHhlZiwgMHhiNSwgMHg3MCwgMHgwNCwgMHhkMiwgMHgwZCwgMHg4MCwgMHgyYywgMHhlZiwgMHhiNSwgMHg2ZiwgMHgwNCwgMHhjMiwgMHgwZH19LAotIHsweDA5ODYsIDY0LCB7IDB4ODAsIDB4MjQsIDB4YWUsIDB4NDksIDB4MDUsIDB4NDksIDB4NzQsIDB4ODAsIDB4MmUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2QsIDB4ZjUsIDB4ODMsIDB4ZWYsCi0gIDB4ZjAsIDB4MzAsIDB4MWQsIDB4MTEsIDB4YWUsIDB4NDksIDB4MDUsIDB4NDksIDB4NzQsIDB4ODAsIDB4MmUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2QsCi0gIDB4ZjUsIDB4ODMsIDB4ZTUsIDB4YzAsIDB4ZjAsIDB4ZDIsIDB4MWEsIDB4ZTUsIDB4NDksIDB4YzMsIDB4OTUsIDB4NmMsIDB4NTAsIDB4MDMsIDB4MDIsIDB4MGEsCi0gIDB4NmUsIDB4OTAsIDB4N2YsIDB4YmMsIDB4ZTAsIDB4MzAsIDB4ZTEsIDB4MTUsIDB4ZTUsIDB4NDksIDB4YzMsIDB4OTQsIDB4NDAsIDB4NTAsIDB4MDN9fSwKLSB7MHgwOWM2LCA2NCwgeyAweDAyLCAweDBhLCAweDZlLCAweDE1LCAweDQ5LCAweDE1LCAweDQ5LCAweDA1LCAweDM5LCAweGQyLCAweDBlLCAweDAyLCAweDBhLCAweDZlLCAweDkwLCAweDdmLCAweGJiLAotICAweGU1LCAweDQ5LCAweGYwLCAweDc1LCAweDQ5LCAweDAwLCAweGMyLCAweDAyLCAweDAyLCAweDBhLCAweDZlLCAweDIwLCAweDI0LCAweDI3LCAweGFlLCAweDQ5LAotICAweDA1LCAweDQ5LCAweDc0LCAweDAwLCAweDJlLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdkLCAweGY1LCAweDgzLCAweGU1LCAweGMxLCAweGYwLCAweDMwLAotICAweDFkLCAweDQ5LCAweGFlLCAweDQ5LCAweDA1LCAweDQ5LCAweDc0LCAweDAwLCAweDJlLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdkLCAweGY1fX0sCi0gezB4MGEwNiwgNjQsIHsgMHg4MywgMHhlNSwgMHhjMCwgMHhmMCwgMHg4MCwgMHgzNiwgMHhhZiwgMHhjMSwgMHhlZiwgMHhiNSwgMHg3MCwgMHgwNCwgMHhkMiwgMHgwZCwgMHg4MCwgMHgyYywgMHhlZiwKLSAgMHhiNSwgMHg2ZiwgMHgwNCwgMHhjMiwgMHgwZCwgMHg4MCwgMHgyNCwgMHhhZSwgMHg0OSwgMHgwNSwgMHg0OSwgMHg3NCwgMHgwMCwgMHgyZSwgMHhmNSwgMHg4MiwKLSAgMHhlNCwgMHgzNCwgMHg3ZCwgMHhmNSwgMHg4MywgMHhlZiwgMHhmMCwgMHgzMCwgMHgxZCwgMHgxMSwgMHhhZSwgMHg0OSwgMHgwNSwgMHg0OSwgMHg3NCwgMHgwMCwKLSAgMHgyZSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZCwgMHhmNSwgMHg4MywgMHhlNSwgMHhjMCwgMHhmMCwgMHhkMiwgMHgxYSwgMHhlNSwgMHg0OX19LAotIHsweDBhNDYsIDY0LCB7IDB4YzMsIDB4OTUsIDB4NmMsIDB4NDAsIDB4MjMsIDB4OTAsIDB4N2YsIDB4YmEsIDB4ZTAsIDB4MzAsIDB4ZTEsIDB4MTEsIDB4ZTUsIDB4NDksIDB4YzMsIDB4OTQsIDB4NDAsCi0gIDB4NDAsIDB4MTUsIDB4MTUsIDB4NDksIDB4MTUsIDB4NDksIDB4MDUsIDB4MzksIDB4ZDIsIDB4MGUsIDB4ODAsIDB4MGIsIDB4OTAsIDB4N2YsIDB4YmQsIDB4ZTUsCi0gIDB4NDksIDB4ZjAsIDB4NzUsIDB4NDksIDB4MDAsIDB4ZDIsIDB4MDIsIDB4ZDIsIDB4MjUsIDB4MzAsIDB4MjUsIDB4MDUsIDB4YzIsIDB4MjUsIDB4MDIsIDB4MDAsCi0gIDB4NTYsIDB4ZDAsIDB4ZDAsIDB4ZDAsIDB4ODYsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzIsIDB4OTAsIDB4N2YsIDB4Y2V9fSwKLSB7MHgwYTg2LCA2NCwgeyAweGUwLCAweDMwLCAweGUxLCAweDAzLCAweDAyLCAweDBiLCAweGE1LCAweGU0LCAweGY1LCAweDEyLCAweDc0LCAweDQwLCAweDI1LCAweDEyLCAweGY1LCAweDgyLCAweGU0LAotICAweDM0LCAweDdjLCAweGY1LCAweDgzLCAweGUwLCAweGZmLCAweGU1LCAweDEyLCAweDdjLCAweDAwLCAweDdiLCAweDAwLCAweDI0LCAweDRjLCAweGY5LCAweGVjLAotICAweDM0LCAweDAwLCAweGZhLCAweGVmLCAweDEyLCAweDE1LCAweGNkLCAweDA1LCAweDEyLCAweGU1LCAweDEyLCAweGI0LCAweDE4LCAweGRiLCAweGU1LCAweDRjLAotICAweDYwLCAweDBjLCAweDc1LCAweGM5LCAweDIwLCAweDc1LCAweGM4LCAweDM2LCAweDg1LCAweDRkLCAweGNhLCAweDg1LCAweDRlLCAweGNiLCAweGU1fX0sCi0gezB4MGFjNiwgNjQsIHsgMHg0ZiwgMHgxMywgMHg5MiwgMHgxYiwgMHg5MiwgMHg5ZiwgMHhlNSwgMHg1MCwgMHgxMywgMHg5MiwgMHgxYywgMHhlNSwgMHg1MSwgMHgxMywgMHg5MiwgMHgyMywgMHhlNSwKLSAgMHg1MiwgMHg2MCwgMHgwOSwgMHg5MCwgMHg3ZiwgMHg5OCwgMHhlMCwgMHg1NCwgMHhmYiwgMHhmMCwgMHg4MCwgMHgwNywgMHg5MCwgMHg3ZiwgMHg5OCwgMHhlMCwKLSAgMHg0NCwgMHgwNCwgMHhmMCwgMHhlNSwgMHg1MywgMHg2MCwgMHgwOSwgMHg5MCwgMHg3ZiwgMHg5OCwgMHhlMCwgMHg1NCwgMHg3ZiwgMHhmMCwgMHg4MCwgMHgwNywKLSAgMHg5MCwgMHg3ZiwgMHg5OCwgMHhlMCwgMHg0NCwgMHg4MCwgMHhmMCwgMHhlNSwgMHg1OSwgMHg2MCwgMHgwYiwgMHhjMiwgMHgxMywgMHhjMiwgMHgwYn19LAotIHsweDBiMDYsIDY0LCB7IDB4OTAsIDB4N2YsIDB4OTUsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4ZTUsIDB4NWEsIDB4NjAsIDB4MGIsIDB4ZDIsIDB4MGIsIDB4ZDIsIDB4MGMsIDB4OTAsIDB4N2YsCi0gIDB4OTUsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4ZTUsIDB4NWIsIDB4NjAsIDB4MGQsIDB4YzIsIDB4YWYsIDB4YzIsIDB4MTEsIDB4ZDIsIDB4MDAsIDB4ZTQsCi0gIDB4ZjUsIDB4N2MsIDB4ZjUsIDB4NGEsIDB4ZDIsIDB4YWYsIDB4ZTUsIDB4NWMsIDB4NjAsIDB4MDUsIDB4MzAsIDB4MjMsIDB4MDIsIDB4ZDIsIDB4MGIsIDB4ZTUsCi0gIDB4NWQsIDB4NjAsIDB4MTUsIDB4OTAsIDB4N2YsIDB4OTUsIDB4ZTAsIDB4NTQsIDB4ZmQsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWUsIDB4ZTAsIDB4NDR9fSwKLSB7MHgwYjQ2LCA2NCwgeyAweDAyLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweGUwLCAweDU0LCAweGZkLCAweGYwLCAweGU1LCAweDVlLCAweDYwLCAweDBhLCAweGQyLCAweDljLCAweGMyLCAweDk4LAotICAweDc1LCAweDJlLCAweDAxLCAweDc1LCAweDQwLCAweDI4LCAweGU1LCAweDVmLCAweDYwLCAweDA3LCAweGMyLCAweDljLCAweGU0LCAweGY1LCAweDQ4LCAweGY1LAotICAweDJlLCAweGU1LCAweDYwLCAweDYwLCAweDAzLCAweGU0LCAweGY1LCAweDQ4LCAweGU1LCAweDYxLCAweDYwLCAweDAyLCAweGQyLCAweDA3LCAweGU1LCAweDYyLAotICAweDYwLCAweDA4LCAweGU1LCAweDVlLCAweDcwLCAweDAyLCAweGY1LCAweDQwLCAweGQyLCAweDBjLCAweGU1LCAweDYzLCAweDYwLCAweDE5LCAweDkwfX0sCi0gezB4MGI4NiwgNjQsIHsgMHg3ZiwgMHhkNywgMHg3NCwgMHgxMSwgMHhmMCwgMHg3NCwgMHgzMSwgMHhmMCwgMHg3NCwgMHgxMiwgMHhmMCwgMHg3NCwgMHgzMiwgMHhmMCwgMHg3NCwgMHgxNSwgMHhmMCwKLSAgMHg3NCwgMHgzNSwgMHhmMCwgMHhkMiwgMHgwMywgMHhkMiwgMHgwMSwgMHhkMiwgMHgwOSwgMHhlNCwgMHg5MCwgMHg3ZiwgMHhjZiwgMHhmMCwgMHhhMiwgMHgxMywKLSAgMHhlNCwgMHgzMywgMHhmZiwgMHg2NSwgMHgyYiwgMHg2MCwgMHgwNCwgMHg4ZiwgMHgyYiwgMHhkMiwgMHgwYywgMHhhMiwgMHgwYiwgMHhlNCwgMHgzMywgMHhmZiwKLSAgMHg2NSwgMHgyYywgMHg2MCwgMHgwNCwgMHg4ZiwgMHgyYywgMHhkMiwgMHgwYywgMHg5MCwgMHg3ZiwgMHg5YiwgMHhlMCwgMHg1NCwgMHgwOCwgMHg2NX19LAotIHsweDBiYzYsIDY0LCB7IDB4MjcsIDB4NjAsIDB4MDcsIDB4ZTAsIDB4NTQsIDB4MDgsIDB4ZjUsIDB4MjcsIDB4ZDIsIDB4MGMsIDB4OTAsIDB4N2YsIDB4OWIsIDB4ZTAsIDB4NTQsIDB4NDAsIDB4YjUsCi0gIDB4MjksIDB4MDksIDB4ZTAsIDB4NTQsIDB4NDAsIDB4NjQsIDB4NDAsIDB4ZjUsIDB4MjksIDB4ZDIsIDB4MGMsIDB4MzAsIDB4MDcsIDB4MzUsIDB4YzIsIDB4YWYsCi0gIDB4MzAsIDB4MDEsIDB4MTgsIDB4OTAsIDB4N2YsIDB4YjgsIDB4ZTAsIDB4MjAsIDB4ZTEsIDB4MjcsIDB4ZTUsIDB4NDgsIDB4NjAsIDB4MDksIDB4OTAsIDB4N2YsCi0gIDB4YjcsIDB4ZjAsIDB4ZTQsIDB4ZjUsIDB4NDgsIDB4YzIsIDB4MDEsIDB4YzIsIDB4MDcsIDB4ODAsIDB4MTYsIDB4OTAsIDB4N2YsIDB4YjYsIDB4ZTB9fSwKLSB7MHgwYzA2LCA2NCwgeyAweDIwLCAweGUxLCAweDBmLCAweGU1LCAweDQ4LCAweDYwLCAweDA5LCAweDkwLCAweDdmLCAweGI5LCAweGYwLCAweGU0LCAweGY1LCAweDQ4LCAweGQyLCAweDAxLCAweGMyLAotICAweDA3LCAweGQyLCAweGFmLCAweDIwLCAweDA1LCAweDM3LCAweDMwLCAweDAzLCAweDFiLCAweDkwLCAweDdmLCAweGM2LCAweGUwLCAweDIwLCAweGUxLCAweDJkLAotICAweDkwLCAweDdlLCAweDQwLCAweGUwLCAweDEzLCAweDkyLCAweDE1LCAweDc1LCAweDRhLCAweDAxLCAweDkwLCAweDdmLCAweGM3LCAweGUwLCAweGY1LCAweDdjLAotICAweGQyLCAweDA1LCAweDgwLCAweDE5LCAweDkwLCAweDdmLCAweGM4LCAweGUwLCAweDIwLCAweGUxLCAweDEyLCAweDkwLCAweDdkLCAweGMwLCAweGUwfX0sCi0gezB4MGM0NiwgNjQsIHsgMHgxMywgMHg5MiwgMHgxNSwgMHg3NSwgMHg0YSwgMHgwMSwgMHg5MCwgMHg3ZiwgMHhjOSwgMHhlMCwgMHhmNSwgMHg3YywgMHhkMiwgMHgwNSwgMHgyMCwgMHgyMSwgMHgzMywKLSAgMHgyMCwgMHgwMCwgMHgwNiwgMHhlNSwgMHg0YSwgMHg2NSwgMHg3YywgMHg3MCwgMHgyYSwgMHgzMCwgMHgwNSwgMHgxYSwgMHgzMCwgMHgwMywgMHgwOSwgMHhlNCwKLSAgMHg5MCwgMHg3ZiwgMHhjNywgMHhmMCwgMHhjMiwgMHgwMywgMHg4MCwgMHgwNywgMHhlNCwgMHg5MCwgMHg3ZiwgMHhjOSwgMHhmMCwgMHhkMiwgMHgwMywgMHhjMiwKLSAgMHgwNSwgMHhlNCwgMHhmNSwgMHg3YywgMHhmNSwgMHg0YSwgMHgzMCwgMHgxNSwgMHgwYSwgMHhjMiwgMHgxNSwgMHhjMiwgMHgwMCwgMHg5MCwgMHg3Zn19LAotIHsweDBjODYsIDY0LCB7IDB4YmYsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4MzAsIDB4MjEsIDB4MDMsIDB4MDIsIDB4MGQsIDB4OTQsIDB4MjAsIDB4MDUsIDB4MDMsIDB4MDIsIDB4MGQsIDB4OTQsIDB4MzAsCi0gIDB4MWMsIDB4MGEsIDB4OTAsIDB4N2YsIDB4OWIsIDB4ZTAsIDB4MjAsIDB4ZTMsIDB4MDMsIDB4MDIsIDB4MGQsIDB4OTQsIDB4MzAsIDB4MGIsIDB4MDMsIDB4MDIsCi0gIDB4MGQsIDB4OTQsIDB4MzAsIDB4MTMsIDB4MDMsIDB4MDIsIDB4MGQsIDB4OTQsIDB4MzAsIDB4MDMsIDB4NjIsIDB4MzAsIDB4MWIsIDB4MTIsIDB4YWYsIDB4NGEsCi0gIDB4MDUsIDB4NGEsIDB4NzQsIDB4NDAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2UsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MTMsIDB4OTJ9fSwKLSB7MHgwY2M2LCA2NCwgeyAweDJkLCAweGFmLCAweDRhLCAweDA1LCAweDRhLCAweDc0LCAweDQwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdlLCAweGY1LCAweDgzLCAweGUwLCAweGY1LAotICAweDEzLCAweGU1LCAweDRhLCAweGMzLCAweDk1LCAweDdjLCAweDUwLCAweDJhLCAweDMwLCAweDFiLCAweDEyLCAweGFmLCAweDRhLCAweDA1LCAweDRhLCAweDc0LAotICAweDQwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdlLCAweGY1LCAweDgzLCAweGUwLCAweDEzLCAweDkyLCAweDE3LCAweGFmLCAweDRhLCAweDA1LAotICAweDRhLCAweDc0LCAweDQwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdlLCAweGY1LCAweDgzLCAweGUwLCAweGY1LCAweDQ2LCAweGQyfX0sCi0gezB4MGQwNiwgNjQsIHsgMHgxMSwgMHg4MCwgMHg2YiwgMHhjMiwgMHgxMSwgMHhlNCwgMHg5MCwgMHg3ZiwgMHhjNywgMHhmMCwgMHhjMiwgMHgwMywgMHg4MCwgMHg2MCwgMHgzMCwgMHgxYiwgMHgxMiwKLSAgMHhhZiwgMHg0YSwgMHgwNSwgMHg0YSwgMHg3NCwgMHhjMCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZCwgMHhmNSwgMHg4MywgMHhlMCwgMHgxMywKLSAgMHg5MiwgMHgyZCwgMHhhZiwgMHg0YSwgMHgwNSwgMHg0YSwgMHg3NCwgMHhjMCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZCwgMHhmNSwgMHg4MywKLSAgMHhlMCwgMHhmNSwgMHgxMywgMHhlNSwgMHg0YSwgMHhjMywgMHg5NSwgMHg3YywgMHg1MCwgMHgyYSwgMHgzMCwgMHgxYiwgMHgxMiwgMHhhZiwgMHg0YX19LAotIHsweDBkNDYsIDY0LCB7IDB4MDUsIDB4NGEsIDB4NzQsIDB4YzAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2QsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MTcsIDB4YWYsCi0gIDB4NGEsIDB4MDUsIDB4NGEsIDB4NzQsIDB4YzAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2QsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZjUsIDB4NDYsCi0gIDB4ZDIsIDB4MTEsIDB4ODAsIDB4MDksIDB4YzIsIDB4MTEsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4YzksIDB4ZjAsIDB4ZDIsIDB4MDMsIDB4MzAsIDB4MWIsIDB4MDQsCi0gIDB4YTIsIDB4MmQsIDB4OTIsIDB4OWIsIDB4ZDIsIDB4MjEsIDB4YzIsIDB4YWYsIDB4ODUsIDB4MTMsIDB4OTksIDB4MjAsIDB4MTEsIDB4MGQsIDB4MzB9fSwKLSB7MHgwZDg2LCA2NCwgeyAweDE1LCAweDBhLCAweGMyLCAweDE1LCAweGMyLCAweDAwLCAweDkwLCAweDdmLCAweGJmLCAweDc0LCAweDAxLCAweGYwLCAweGQyLCAweGFmLCAweDkwLCAweDdmLCAweGQwLAotICAweGUwLCAweDMwLCAweGUxLCAweDAzLCAweDAyLCAweDBlLCAweGI1LCAweGU0LCAweGY1LCAweDEyLCAweDc0LCAweGMwLCAweDI1LCAweDEyLCAweGY1LCAweDgyLAotICAweGU0LCAweDM0LCAweDdiLCAweGY1LCAweDgzLCAweGUwLCAweGZmLCAweGU1LCAweDEyLCAweDdjLCAweDAwLCAweDdiLCAweDAwLCAweDI0LCAweDY0LCAweGY5LAotICAweGVjLCAweDM0LCAweDAwLCAweGZhLCAweGVmLCAweDEyLCAweDE1LCAweGNkLCAweDA1LCAweDEyLCAweGU1LCAweDEyLCAweGI0LCAweDE4LCAweGRifX0sCi0gezB4MGRjNiwgNjQsIHsgMHhlNSwgMHg2NCwgMHg2MCwgMHgwYiwgMHg3NSwgMHg4OSwgMHg2MCwgMHg3NSwgMHg4OCwgMHg0MCwgMHhkMiwgMHhkZiwgMHg4NSwgMHg2NSwgMHg4ZCwgMHhlNSwgMHg2NywKLSAgMHgxMywgMHg5MiwgMHgxZCwgMHg5MiwgMHhjNywgMHhlNSwgMHg2OCwgMHgxMywgMHg5MiwgMHgxZSwgMHhlNSwgMHg2OSwgMHgxMywgMHg5MiwgMHgyNCwgMHhlNSwKLSAgMHg2YSwgMHg2MCwgMHgwOSwgMHg5MCwgMHg3ZiwgMHg5NywgMHhlMCwgMHg1NCwgMHhlZiwgMHhmMCwgMHg4MCwgMHgwNywgMHg5MCwgMHg3ZiwgMHg5NywgMHhlMCwKLSAgMHg0NCwgMHgxMCwgMHhmMCwgMHhlNSwgMHg2YiwgMHg2MCwgMHgwOSwgMHg5MCwgMHg3ZiwgMHg5NywgMHhlMCwgMHg1NCwgMHg3ZiwgMHhmMCwgMHg4MH19LAotIHsweDBlMDYsIDY0LCB7IDB4MDcsIDB4OTAsIDB4N2YsIDB4OTcsIDB4ZTAsIDB4NDQsIDB4ODAsIDB4ZjAsIDB4ZTUsIDB4NzEsIDB4NjAsIDB4MGIsIDB4YzIsIDB4MTQsIDB4YzIsIDB4MGQsIDB4OTAsCi0gIDB4N2YsIDB4OTQsIDB4ZTAsIDB4NDQsIDB4MDgsIDB4ZjAsIDB4ZTUsIDB4NzIsIDB4NjAsIDB4MGIsIDB4ZDIsIDB4MGQsIDB4ZDIsIDB4MGUsIDB4OTAsIDB4N2YsCi0gIDB4OTQsIDB4ZTAsIDB4NDQsIDB4MDgsIDB4ZjAsIDB4ZTUsIDB4NzMsIDB4NjAsIDB4MGQsIDB4YzIsIDB4YWYsIDB4YzIsIDB4MTIsIDB4ZDIsIDB4MDAsIDB4ZTQsCi0gIDB4ZjUsIDB4N2QsIDB4ZjUsIDB4NGIsIDB4ZDIsIDB4YWYsIDB4ZTUsIDB4NzQsIDB4NjAsIDB4MDUsIDB4MzAsIDB4MjQsIDB4MDIsIDB4ZDIsIDB4MGR9fSwKLSB7MHgwZTQ2LCA2NCwgeyAweGU1LCAweDc1LCAweDYwLCAweDE1LCAweDkwLCAweDdmLCAweDk0LCAweGUwLCAweDU0LCAweGY3LCAweGYwLCAweDkwLCAweDdmLCAweDlkLCAweGUwLCAweDQ0LCAweDA4LAotICAweGYwLCAweDkwLCAweDdmLCAweDk3LCAweGUwLCAweDU0LCAweGY3LCAweGYwLCAweGU1LCAweDc2LCAweDYwLCAweDBhLCAweGQyLCAweGM0LCAweGMyLCAweGMwLAotICAweDc1LCAweDNhLCAweDAxLCAweDc1LCAweDQxLCAweDI4LCAweGU1LCAweDc3LCAweDYwLCAweDA3LCAweGMyLCAweGM0LCAweGU0LCAweGY1LCAweDQ5LCAweGY1LAotICAweDNhLCAweGU1LCAweDc4LCAweDYwLCAweDAzLCAweGU0LCAweGY1LCAweDQ5LCAweGU1LCAweDc5LCAweDYwLCAweDAyLCAweGQyLCAweDA4LCAweGU1fX0sCi0gezB4MGU4NiwgNjQsIHsgMHg3YSwgMHg2MCwgMHgwOCwgMHhlNSwgMHg3NiwgMHg3MCwgMHgwMiwgMHhmNSwgMHg0MSwgMHhkMiwgMHgwZSwgMHhlNSwgMHg3YiwgMHg2MCwgMHgxOSwgMHg5MCwgMHg3ZiwKLSAgMHhkNywgMHg3NCwgMHgxMywgMHhmMCwgMHg3NCwgMHgzMywgMHhmMCwgMHg3NCwgMHgxNCwgMHhmMCwgMHg3NCwgMHgzNCwgMHhmMCwgMHg3NCwgMHgxNiwgMHhmMCwKLSAgMHg3NCwgMHgzNiwgMHhmMCwgMHhkMiwgMHgwNCwgMHhkMiwgMHgwMiwgMHhkMiwgMHgwYSwgMHhlNCwgMHg5MCwgMHg3ZiwgMHhkMSwgMHhmMCwgMHhhMiwgMHgxNCwKLSAgMHhlNCwgMHgzMywgMHhmZiwgMHg2NSwgMHgzNywgMHg2MCwgMHgwNCwgMHg4ZiwgMHgzNywgMHhkMiwgMHgwZSwgMHhhMiwgMHgwZCwgMHhlNCwgMHgzM319LAotIHsweDBlYzYsIDY0LCB7IDB4ZmYsIDB4NjUsIDB4MzgsIDB4NjAsIDB4MDQsIDB4OGYsIDB4MzgsIDB4ZDIsIDB4MGUsIDB4OTAsIDB4N2YsIDB4OWEsIDB4ZTAsIDB4NTQsIDB4MjAsIDB4NjUsIDB4MzMsCi0gIDB4NjAsIDB4MDcsIDB4ZTAsIDB4NTQsIDB4MjAsIDB4ZjUsIDB4MzMsIDB4ZDIsIDB4MGUsIDB4OTAsIDB4N2YsIDB4OWEsIDB4ZTAsIDB4NTQsIDB4NDAsIDB4YjUsCi0gIDB4MzUsIDB4MDksIDB4ZTAsIDB4NTQsIDB4NDAsIDB4NjQsIDB4NDAsIDB4ZjUsIDB4MzUsIDB4ZDIsIDB4MGUsIDB4MzAsIDB4MDgsIDB4MzUsIDB4YzIsIDB4YWYsCi0gIDB4MzAsIDB4MDIsIDB4MTgsIDB4OTAsIDB4N2YsIDB4YmMsIDB4ZTAsIDB4MjAsIDB4ZTEsIDB4MjcsIDB4ZTUsIDB4NDksIDB4NjAsIDB4MDksIDB4OTB9fSwKLSB7MHgwZjA2LCA2NCwgeyAweDdmLCAweGJiLCAweGYwLCAweGU0LCAweGY1LCAweDQ5LCAweGMyLCAweDAyLCAweGMyLCAweDA4LCAweDgwLCAweDE2LCAweDkwLCAweDdmLCAweGJhLCAweGUwLCAweDIwLAotICAweGUxLCAweDBmLCAweGU1LCAweDQ5LCAweDYwLCAweDA5LCAweDkwLCAweDdmLCAweGJkLCAweGYwLCAweGU0LCAweGY1LCAweDQ5LCAweGQyLCAweDAyLCAweGMyLAotICAweDA4LCAweGQyLCAweGFmLCAweDIwLCAweDA2LCAweDM3LCAweDMwLCAweDA0LCAweDFiLCAweDkwLCAweDdmLCAweGNhLCAweGUwLCAweDIwLCAweGUxLCAweDJkLAotICAweDkwLCAweDdkLCAweDQwLCAweGUwLCAweDEzLCAweDkyLCAweDE2LCAweDc1LCAweDRiLCAweDAxLCAweDkwLCAweDdmLCAweGNiLCAweGUwLCAweGY1fX0sCi0gezB4MGY0NiwgNjQsIHsgMHg3ZCwgMHhkMiwgMHgwNiwgMHg4MCwgMHgxOSwgMHg5MCwgMHg3ZiwgMHhjYywgMHhlMCwgMHgyMCwgMHhlMSwgMHgxMiwgMHg5MCwgMHg3YywgMHhjMCwgMHhlMCwgMHgxMywKLSAgMHg5MiwgMHgxNiwgMHg3NSwgMHg0YiwgMHgwMSwgMHg5MCwgMHg3ZiwgMHhjZCwgMHhlMCwgMHhmNSwgMHg3ZCwgMHhkMiwgMHgwNiwgMHgyMCwgMHgyMiwgMHgzMywKLSAgMHgyMCwgMHgwMCwgMHgwNiwgMHhlNSwgMHg0YiwgMHg2NSwgMHg3ZCwgMHg3MCwgMHgyYSwgMHgzMCwgMHgwNiwgMHgxYSwgMHgzMCwgMHgwNCwgMHgwOSwgMHhlNCwKLSAgMHg5MCwgMHg3ZiwgMHhjYiwgMHhmMCwgMHhjMiwgMHgwNCwgMHg4MCwgMHgwNywgMHhlNCwgMHg5MCwgMHg3ZiwgMHhjZCwgMHhmMCwgMHhkMiwgMHgwNH19LAotIHsweDBmODYsIDY0LCB7IDB4YzIsIDB4MDYsIDB4ZTQsIDB4ZjUsIDB4N2QsIDB4ZjUsIDB4NGIsIDB4MzAsIDB4MTYsIDB4MGEsIDB4YzIsIDB4MTYsIDB4YzIsIDB4MDAsIDB4OTAsIDB4N2YsIDB4YzEsCi0gIDB4NzQsIDB4MDEsIDB4ZjAsIDB4MzAsIDB4MjIsIDB4MDMsIDB4MDIsIDB4MTAsIDB4YTQsIDB4MjAsIDB4MDYsIDB4MDMsIDB4MDIsIDB4MTAsIDB4YTQsIDB4MzAsCi0gIDB4MWUsIDB4MGEsIDB4OTAsIDB4N2YsIDB4OWEsIDB4ZTAsIDB4MjAsIDB4ZTUsIDB4MDMsIDB4MDIsIDB4MTAsIDB4YTQsIDB4MzAsIDB4MGQsIDB4MDMsIDB4MDIsCi0gIDB4MTAsIDB4YTQsIDB4MzAsIDB4MTQsIDB4MDMsIDB4MDIsIDB4MTAsIDB4YTQsIDB4MzAsIDB4MDQsIDB4NjIsIDB4MzAsIDB4MWQsIDB4MTIsIDB4YWZ9fSwKLSB7MHgwZmM2LCA2NCwgeyAweDRiLCAweDA1LCAweDRiLCAweDc0LCAweDQwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdkLCAweGY1LCAweDgzLCAweGUwLCAweDEzLCAweDkyLCAweDJkLAotICAweGFmLCAweDRiLCAweDA1LCAweDRiLCAweDc0LCAweDQwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdkLCAweGY1LCAweDgzLCAweGUwLCAweGY1LAotICAweDEzLCAweGU1LCAweDRiLCAweGMzLCAweDk1LCAweDdkLCAweDUwLCAweDJhLCAweDMwLCAweDFkLCAweDEyLCAweGFmLCAweDRiLCAweDA1LCAweDRiLCAweDc0LAotICAweDQwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdkLCAweGY1LCAweDgzLCAweGUwLCAweDEzLCAweDkyLCAweDE4LCAweGFmLCAweDRifX0sCi0gezB4MTAwNiwgNjQsIHsgMHgwNSwgMHg0YiwgMHg3NCwgMHg0MCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZCwgMHhmNSwgMHg4MywgMHhlMCwgMHhmNSwgMHg0NywgMHhkMiwgMHgxMiwKLSAgMHg4MCwgMHg2YiwgMHhjMiwgMHgxMiwgMHhlNCwgMHg5MCwgMHg3ZiwgMHhjYiwgMHhmMCwgMHhjMiwgMHgwNCwgMHg4MCwgMHg2MCwgMHgzMCwgMHgxZCwgMHgxMiwKLSAgMHhhZiwgMHg0YiwgMHgwNSwgMHg0YiwgMHg3NCwgMHhjMCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3YywgMHhmNSwgMHg4MywgMHhlMCwgMHgxMywKLSAgMHg5MiwgMHgyZCwgMHhhZiwgMHg0YiwgMHgwNSwgMHg0YiwgMHg3NCwgMHhjMCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3YywgMHhmNX19LAotIHsweDEwNDYsIDY0LCB7IDB4ODMsIDB4ZTAsIDB4ZjUsIDB4MTMsIDB4ZTUsIDB4NGIsIDB4YzMsIDB4OTUsIDB4N2QsIDB4NTAsIDB4MmEsIDB4MzAsIDB4MWQsIDB4MTIsIDB4YWYsIDB4NGIsIDB4MDUsCi0gIDB4NGIsIDB4NzQsIDB4YzAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2MsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MTgsIDB4YWYsCi0gIDB4NGIsIDB4MDUsIDB4NGIsIDB4NzQsIDB4YzAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2MsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZjUsIDB4NDcsCi0gIDB4ZDIsIDB4MTIsIDB4ODAsIDB4MDksIDB4YzIsIDB4MTIsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4Y2QsIDB4ZjAsIDB4ZDIsIDB4MDQsIDB4MzAsIDB4MWR9fSwKLSB7MHgxMDg2LCA2NCwgeyAweDA0LCAweGEyLCAweDJkLCAweDkyLCAweGMzLCAweGQyLCAweDIyLCAweGMyLCAweGFmLCAweDg1LCAweDEzLCAweGMxLCAweDIwLCAweDEyLCAweDBkLCAweDMwLCAweDE2LAotICAweDBhLCAweGMyLCAweDE2LCAweGMyLCAweDAwLCAweDkwLCAweDdmLCAweGMxLCAweDc0LCAweDAxLCAweGYwLCAweGQyLCAweGFmLCAweDkwLCAweDdmLCAweGMyLAotICAweGUwLCAweDMwLCAweGUxLCAweDAzLCAweDAyLCAweDExLCAweDdhLCAweGU1LCAweDFhLCAweDcwLCAweDQ2LCAweDMwLCAweDBjLCAweDNmLCAweGU1LCAweDQwLAotICAweDcwLCAweDNiLCAweGEyLCAweDA5LCAweDMzLCAweGY1LCAweDMxLCAweGMyLCAweDA5LCAweGMyLCAweDBjLCAweGU0LCAweGY1LCAweDEyLCAweDdlfX0sCi0gezB4MTBjNiwgNjQsIHsgMHgwMCwgMHg3YiwgMHgwMCwgMHg3NCwgMHgyNiwgMHgyNSwgMHgxMiwgMHhmOSwgMHhlZSwgMHgzNCwgMHgwMCwgMHhmYSwgMHgxMiwgMHgxNSwgMHg4NywgMHhmZiwgMHg3NCwKLSAgMHg4MCwgMHgyNSwgMHgxMiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3YiwgMHhmNSwgMHg4MywgMHhlZiwgMHhmMCwgMHgwNSwgMHgxMiwgMHhlNSwgMHgxMiwKLSAgMHhiNCwgMHgwYywgMHhkYiwgMHg5MCwgMHg3ZiwgMHhjMywgMHg3NCwgMHgwYywgMHhmMCwgMHg3NSwgMHg0MCwgMHgxMCwgMHgyMiwgMHg3NSwgMHgxYSwgMHgwMSwKLSAgMHgyMiwgMHhlNSwgMHgxYSwgMHg2NCwgMHgwMSwgMHg3MCwgMHg0NSwgMHgzMCwgMHgwZSwgMHgzZSwgMHhlNSwgMHg0MSwgMHg3MCwgMHgzYSwgMHhhMn19LAotIHsweDExMDYsIDY0LCB7IDB4MGEsIDB4MzMsIDB4ZjUsIDB4M2QsIDB4YzIsIDB4MGEsIDB4YzIsIDB4MGUsIDB4ZTQsIDB4ZjUsIDB4MTIsIDB4N2UsIDB4MDAsIDB4N2IsIDB4MDAsIDB4NzQsIDB4MzIsCi0gIDB4MjUsIDB4MTIsIDB4ZjksIDB4ZWUsIDB4MzQsIDB4MDAsIDB4ZmEsIDB4MTIsIDB4MTUsIDB4ODcsIDB4ZmYsIDB4NzQsIDB4ODAsIDB4MjUsIDB4MTIsIDB4ZjUsCi0gIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2IsIDB4ZjUsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4MDUsIDB4MTIsIDB4ZTUsIDB4MTIsIDB4YjQsIDB4MGMsIDB4ZGIsIDB4OTAsCi0gIDB4N2YsIDB4YzMsIDB4NzQsIDB4MGMsIDB4ZjAsIDB4NzUsIDB4NDEsIDB4MTAsIDB4NzUsIDB4MWEsIDB4MDIsIDB4MjIsIDB4ZTUsIDB4MWMsIDB4NjB9fSwKLSB7MHgxMTQ2LCA2NCwgeyAweDMwLCAweDE1LCAweDFjLCAweGU0LCAweGY1LCAweDEyLCAweDdlLCAweDAwLCAweDdiLCAweDAwLCAweDc0LCAweDFiLCAweDI1LCAweDEyLCAweGY5LCAweGVlLCAweDM0LAotICAweDAwLCAweGZhLCAweDEyLCAweDE1LCAweDg3LCAweGZmLCAweDc0LCAweDgwLCAweDI1LCAweDEyLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdiLCAweGY1LAotICAweDgzLCAweGVmLCAweGYwLCAweDA1LCAweDEyLCAweGU1LCAweDEyLCAweGI0LCAweDAzLCAweGRiLCAweDkwLCAweDdmLCAweGMzLCAweDc0LCAweDAzLCAweGYwLAotICAweGU0LCAweGY1LCAweDFhLCAweDIyLCAweDkwLCAweDdmLCAweGU5LCAweGUwLCAweDEyLCAweDE2LCAweDE3LCAweDEyLCAweDQwLCAweDAwLCAweDEyfX0sCi0gezB4MTE4NiwgNjQsIHsgMHhiNCwgMHgwMSwgMHgxMywgMHgyMCwgMHgwMywgMHgxMSwgMHg5ZSwgMHgwNiwgMHgxMiwgMHgzMywgMHgwOCwgMHgxMiwgMHgyZCwgMHgwOSwgMHgxMiwgMHgyMCwgMHgwYSwKLSAgMHgxMywgMHg3NiwgMHgwYiwgMHgwMCwgMHgwMCwgMHgxMywgMHg2ZiwgMHg5MCwgMHg3ZiwgMHhlYiwgMHhlMCwgMHgyNCwgMHhmZSwgMHg2MCwgMHgxNiwgMHgxNCwKLSAgMHg2MCwgMHg0MCwgMHgyNCwgMHgwMiwgMHg3MCwgMHg2OSwgMHg3NCwgMHgxOSwgMHg5MCwgMHg3ZiwgMHhkNCwgMHhmMCwgMHg3NCwgMHgwMCwgMHg5MCwgMHg3ZiwKLSAgMHhkNSwgMHhmMCwgMHgwMiwgMHgxMywgMHg3NiwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHhmZiwgMHgxMiwgMHgxNywgMHg0YiwgMHg4YiwgMHgxMn19LAotIHsweDExYzYsIDY0LCB7IDB4OGEsIDB4MTMsIDB4ODksIDB4MTQsIDB4ZWEsIDB4NDksIDB4NjAsIDB4MTEsIDB4YWUsIDB4MDIsIDB4ZWUsIDB4OTAsIDB4N2YsIDB4ZDQsIDB4ZjAsIDB4YWYsIDB4MDEsCi0gIDB4ZWYsIDB4OTAsIDB4N2YsIDB4ZDUsIDB4ZjAsIDB4MDIsIDB4MTMsIDB4NzYsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4MDIsCi0gIDB4MTMsIDB4NzYsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4ZmYsIDB4MTIsIDB4MTcsIDB4OWEsIDB4OGIsIDB4MTIsIDB4OGEsIDB4MTMsIDB4ODksIDB4MTQsCi0gIDB4ZWEsIDB4NDksIDB4NjAsIDB4MTEsIDB4YWUsIDB4MDIsIDB4ZWUsIDB4OTAsIDB4N2YsIDB4ZDQsIDB4ZjAsIDB4YWYsIDB4MDEsIDB4ZWYsIDB4OTB9fSwKLSB7MHgxMjA2LCA2NCwgeyAweDdmLCAweGQ1LCAweGYwLCAweDAyLCAweDEzLCAweDc2LCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDAyLCAweDEzLCAweDc2LCAweDkwLAotICAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDAyLCAweDEzLCAweDc2LCAweDkwLCAweDdmLCAweDAwLCAweDc0LCAweDAxLCAweGYwLCAweDkwLAotICAweDdmLCAweGI1LCAweGYwLCAweDAyLCAweDEzLCAweDc2LCAweDEyLCAweDE0LCAweGMzLCAweDAyLCAweDEzLCAweDc2LCAweDkwLCAweDdmLCAweDAwLCAweDc0LAotICAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGI1LCAweGYwLCAweDAyLCAweDEzLCAweDc2LCAweDkwLCAweDdmLCAweGU4LCAweGUwLCAweDI0LCAweDdmfX0sCi0gezB4MTI0NiwgNjQsIHsgMHg2MCwgMHgyNCwgMHgxNCwgMHg2MCwgMHgzMSwgMHgyNCwgMHgwMiwgMHg3MCwgMHg1YiwgMHhhMiwgMHgyNiwgMHhlNCwgMHgzMywgMHhmZiwgMHgyNSwgMHhlMCwgMHhmZiwKLSAgMHhhMiwgMHgyYiwgMHhlNCwgMHgzMywgMHg0ZiwgMHg5MCwgMHg3ZiwgMHgwMCwgMHhmMCwgMHhlNCwgMHhhMywgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHg3NCwKLSAgMHgwMiwgMHhmMCwgMHgwMiwgMHgxMywgMHg3NiwgMHhlNCwgMHg5MCwgMHg3ZiwgMHgwMCwgMHhmMCwgMHhhMywgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHg3NCwKLSAgMHgwMiwgMHhmMCwgMHgwMiwgMHgxMywgMHg3NiwgMHg5MCwgMHg3ZiwgMHhlYywgMHhlMCwgMHhmNCwgMHg1NCwgMHg4MCwgMHhmZiwgMHhjNCwgMHg1NH19LAotIHsweDEyODYsIDY0LCB7IDB4MGYsIDB4ZmYsIDB4ZTAsIDB4NTQsIDB4MDcsIDB4MmYsIDB4MjUsIDB4ZTAsIDB4MjQsIDB4YjQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2YsIDB4ZjUsIDB4ODMsCi0gIDB4ZTAsIDB4NTQsIDB4ZmQsIDB4OTAsIDB4N2YsIDB4MDAsIDB4ZjAsIDB4ZTQsIDB4YTMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDIsIDB4ZjAsCi0gIDB4MDIsIDB4MTMsIDB4NzYsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4MDIsIDB4MTMsIDB4NzYsIDB4OTAsIDB4N2YsIDB4ZTgsCi0gIDB4ZTAsIDB4MjQsIDB4ZmUsIDB4NjAsIDB4MWQsIDB4MjQsIDB4MDIsIDB4NjAsIDB4MDMsIDB4MDIsIDB4MTMsIDB4NzYsIDB4OTAsIDB4N2YsIDB4ZWF9fSwKLSB7MHgxMmM2LCA2NCwgeyAweGUwLCAweGI0LCAweDAxLCAweDA1LCAweGMyLCAweDI2LCAweDAyLCAweDEzLCAweDc2LCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDAyLAotICAweDEzLCAweDc2LCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweDcwLCAweDM4LCAweDkwLCAweDdmLCAweGVjLCAweGUwLCAweGY0LCAweDU0LCAweDgwLCAweGZmLAotICAweGM0LCAweDU0LCAweDBmLCAweGZmLCAweGUwLCAweDU0LCAweDA3LCAweDJmLCAweDI1LCAweGUwLCAweDI0LCAweGI0LCAweGY1LCAweDgyLCAweGU0LCAweDM0LAotICAweDdmLCAweGY1LCAweDgzLCAweGU0LCAweGYwLCAweDkwLCAweDdmLCAweGVjLCAweGUwLCAweDU0LCAweDgwLCAweGZmLCAweDEzLCAweDEzLCAweDEzfX0sCi0gezB4MTMwNiwgNjQsIHsgMHg1NCwgMHgxZiwgMHhmZiwgMHhlMCwgMHg1NCwgMHgwNywgMHgyZiwgMHg5MCwgMHg3ZiwgMHhkNywgMHhmMCwgMHhlMCwgMHg0NCwgMHgyMCwgMHhmMCwgMHg4MCwgMHg1ZiwKLSAgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg4MCwgMHg1NiwgMHg5MCwgMHg3ZiwgMHhlOCwgMHhlMCwgMHgyNCwgMHhmZSwgMHg2MCwKLSAgMHgxOCwgMHgyNCwgMHgwMiwgMHg3MCwgMHg0YSwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHhiNCwgMHgwMSwgMHgwNCwgMHhkMiwgMHgyNiwgMHg4MCwgMHgzZiwKLSAgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg4MCwgMHgzNiwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHg3MCwgMHgyMH19LAotIHsweDEzNDYsIDY0LCB7IDB4OTAsIDB4N2YsIDB4ZWMsIDB4ZTAsIDB4ZjQsIDB4NTQsIDB4ODAsIDB4ZmYsIDB4YzQsIDB4NTQsIDB4MGYsIDB4ZmYsIDB4ZTAsIDB4NTQsIDB4MDcsIDB4MmYsIDB4MjUsCi0gIDB4ZTAsIDB4MjQsIDB4YjQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2YsIDB4ZjUsIDB4ODMsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4ODAsIDB4MTAsIDB4OTAsCi0gIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4ODAsIDB4MDcsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4OTAsCi0gIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4MjIsIDB4MjAsIDB4MjgsIDB4MDMsIDB4MDIsIDB4MTQsIDB4YzIsIDB4ZTUsIDB4NDB9fSwKLSB7MHgxMzg2LCA2NCwgeyAweDYwLCAweDAyLCAweDE1LCAweDQwLCAweGU1LCAweDQ4LCAweDYwLCAweDRmLCAweDY1LCAweDQ0LCAweDcwLCAweDQ1LCAweGU1LCAweDQyLCAweGY0LCAweDYwLCAweDAyLAotICAweDA1LCAweDQyLCAweGU1LCAweDQyLCAweGMzLCAweDk1LCAweDU1LCAweDQwLCAweDNkLCAweGMyLCAweGFmLCAweDMwLCAweDAxLCAweDE4LCAweDkwLCAweDdmLAotICAweGI4LCAweGUwLCAweDIwLCAweGUxLCAweDI3LCAweDkwLCAweDdmLCAweGI3LCAweGU1LCAweDQ4LCAweGYwLCAweGMyLCAweDAxLCAweGU0LCAweGY1LCAweDQ4LAotICAweGY1LCAweDQyLCAweGY1LCAweDQ0LCAweDgwLCAweDE2LCAweDkwLCAweDdmLCAweGI2LCAweGUwLCAweDIwLCAweGUxLCAweDBmLCAweDkwLCAweDdmfX0sCi0gezB4MTNjNiwgNjQsIHsgMHhiOSwgMHhlNSwgMHg0OCwgMHhmMCwgMHhkMiwgMHgwMSwgMHhlNCwgMHhmNSwgMHg0OCwgMHhmNSwgMHg0MiwgMHhmNSwgMHg0NCwgMHhkMiwgMHhhZiwgMHg4MCwgMHgwNiwKLSAgMHg4NSwgMHg0OCwgMHg0NCwgMHhlNCwgMHhmNSwgMHg0MiwgMHhlNSwgMHgyZSwgMHg2MCwgMHgyZCwgMHgyMCwgMHgxOSwgMHgwNywgMHg5MCwgMHg3ZiwgMHg5YiwKLSAgMHhlMCwgMHgzMCwgMHhlMCwgMHgwZSwgMHhlNSwgMHgyZiwgMHg2MCwgMHgwNSwgMHhlNCwgMHhmNSwgMHgyZiwgMHhkMiwgMHgwYywgMHhlNCwgMHhmNSwgMHgzZSwKLSAgMHg4MCwgMHgxMywgMHhlNSwgMHgzZSwgMHhkMywgMHg5NSwgMHg1NiwgMHg1MCwgMHgwYywgMHhlNSwgMHgzZSwgMHhiNSwgMHg1NiwgMHgwNSwgMHg3NX19LAotIHsweDE0MDYsIDY0LCB7IDB4MmYsIDB4MDEsIDB4ZDIsIDB4MGMsIDB4MDUsIDB4M2UsIDB4YzIsIDB4MTksIDB4ZTUsIDB4NDEsIDB4NjAsIDB4MDIsIDB4MTUsIDB4NDEsIDB4ZTUsIDB4NDksIDB4NjAsCi0gIDB4NGYsIDB4NjUsIDB4NDUsIDB4NzAsIDB4NDUsIDB4ZTUsIDB4NDMsIDB4ZjQsIDB4NjAsIDB4MDIsIDB4MDUsIDB4NDMsIDB4ZTUsIDB4NDMsIDB4YzMsIDB4OTUsCi0gIDB4NmQsIDB4NDAsIDB4M2QsIDB4YzIsIDB4YWYsIDB4MzAsIDB4MDIsIDB4MTgsIDB4OTAsIDB4N2YsIDB4YmMsIDB4ZTAsIDB4MjAsIDB4ZTEsIDB4MjcsIDB4OTAsCi0gIDB4N2YsIDB4YmIsIDB4ZTUsIDB4NDksIDB4ZjAsIDB4YzIsIDB4MDIsIDB4ZTQsIDB4ZjUsIDB4NDksIDB4ZjUsIDB4NDMsIDB4ZjUsIDB4NDUsIDB4ODB9fSwKLSB7MHgxNDQ2LCA2NCwgeyAweDE2LCAweDkwLCAweDdmLCAweGJhLCAweGUwLCAweDIwLCAweGUxLCAweDBmLCAweDkwLCAweDdmLCAweGJkLCAweGU1LCAweDQ5LCAweGYwLCAweGQyLCAweDAyLCAweGU0LAotICAweGY1LCAweDQ5LCAweGY1LCAweDQzLCAweGY1LCAweDQ1LCAweGQyLCAweGFmLCAweDgwLCAweDA2LCAweDg1LCAweDQ5LCAweDQ1LCAweGU0LCAweGY1LCAweDQzLAotICAweGU1LCAweDNhLCAweDYwLCAweDJkLCAweDIwLCAweDFhLCAweDA3LCAweDkwLCAweDdmLCAweDlhLCAweGUwLCAweDMwLCAweGUyLCAweDBlLCAweGU1LCAweDNiLAotICAweDYwLCAweDA1LCAweGU0LCAweGY1LCAweDNiLCAweGQyLCAweDBlLCAweGU0LCAweGY1LCAweDNmLCAweDgwLCAweDEzLCAweGU1LCAweDNmLCAweGQzfX0sCi0gezB4MTQ4NiwgNjQsIHsgMHg5NSwgMHg2ZSwgMHg1MCwgMHgwYywgMHhlNSwgMHgzZiwgMHhiNSwgMHg2ZSwgMHgwNSwgMHg3NSwgMHgzYiwgMHgwMSwgMHhkMiwgMHgwZSwgMHgwNSwgMHgzZiwgMHhjMiwKLSAgMHgxYSwgMHg5MCwgMHg3ZiwgMHhkMiwgMHhlMCwgMHgyMCwgMHhlMSwgMHgyMywgMHg5MCwgMHg3YiwgMHg0MCwgMHhlMCwgMHg2MCwgMHgwOSwgMHhlMCwgMHhmNSwKLSAgMHgxYywgMHg5MCwgMHg3YiwgMHg0MiwgMHhlMCwgMHhmNSwgMHgxZCwgMHg5MCwgMHg3YiwgMHg0MSwgMHhlMCwgMHg2MCwgMHgwOSwgMHg5MCwgMHg3ZiwgMHhkNywKLSAgMHg3NCwgMHgxNywgMHhmMCwgMHg3NCwgMHgzNywgMHhmMCwgMHhlNCwgMHg5MCwgMHg3ZiwgMHhkMywgMHhmMCwgMHgyMiwgMHhlNCwgMHg5MCwgMHg3Zn19LAotIHsweDE0YzYsIDY0LCB7IDB4OTMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWMsIDB4NzQsIDB4MzAsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTYsIDB4ZTAsIDB4NDQsIDB4MTAsIDB4ZjAsIDB4OTAsIDB4N2YsCi0gIDB4OTQsIDB4NzQsIDB4MGQsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWQsIDB4NzQsIDB4OWEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTcsIDB4ZTAsIDB4NTQsIDB4ZmQsCi0gIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTUsIDB4NzQsIDB4MjMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWUsIDB4NzQsIDB4ODQsIDB4ZjAsIDB4ZTQsIDB4OTAsIDB4N2YsCi0gIDB4YzcsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YzksIDB4ZjAsIDB4OTAsIDB4N2YsIDB4Y2YsIDB4ZjAsIDB4NzUsIDB4OTgsIDB4NDAsIDB4NDMsIDB4YTh9fSwKLSB7MHgxNTA2LCA2NCwgeyAweDEwLCAweGMyLCAweDFiLCAweGMyLCAweDA1LCAweGMyLCAweDIxLCAweGMyLCAweDBiLCAweGMyLCAweDEzLCAweGY1LCAweDdjLCAweGY1LCAweDRhLCAweGMyLCAweDExLAotICAweGMyLCAweDE1LCAweGY1LCAweDQyLCAweGMyLCAweDE5LCAweGY1LCAweDQ0LCAweGY1LCAweDQ4LCAweGMyLCAweDIzLCAweGMyLCAweDFjLCAweGY1LCAweDJkLAotICAweGY1LCAweDJmLCAweGMyLCAweDA3LCAweGMyLCAweDAwLCAweGMyLCAweDFmLCAweGY1LCAweDNlLCAweGMyLCAweDA5LCAweGQyLCAweDBjLCAweGY1LCAweDI2LAotICAweDkwLCAweDdmLCAweGNiLCAweGYwLCAweDkwLCAweDdmLCAweGNkLCAweGYwLCAweDkwLCAweDdmLCAweGQxLCAweGYwLCAweDc1LCAweGMwLCAweDQwfX0sCi0gezB4MTU0NiwgNjQsIHsgMHg0MywgMHhhOCwgMHg0MCwgMHhjMiwgMHgxZCwgMHhjMiwgMHgwNiwgMHhjMiwgMHgyMiwgMHhjMiwgMHgwZCwgMHhjMiwgMHgxNCwgMHhmNSwgMHg3ZCwgMHhmNSwgMHg0YiwKLSAgMHhjMiwgMHgxMiwgMHhjMiwgMHgxNiwgMHhmNSwgMHg0MywgMHhjMiwgMHgxYSwgMHhmNSwgMHg0NSwgMHhmNSwgMHg0OSwgMHhjMiwgMHgyNCwgMHhjMiwgMHgxZSwKLSAgMHhmNSwgMHgzOSwgMHhmNSwgMHgzYiwgMHhjMiwgMHgwOCwgMHhjMiwgMHgwMCwgMHhjMiwgMHgyMCwgMHhmNSwgMHgzZiwgMHhjMiwgMHgwYSwgMHhkMiwgMHgwZSwKLSAgMHg3NSwgMHgzMiwgMHgwMSwgMHg5MCwgMHg3ZiwgMHhkZiwgMHg3NCwgMHhmZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhkZSwgMHhmMCwgMHhkMiwgMHgyOH19LAotIHsweDE1ODYsIDY0LCB7IDB4MjIsIDB4YmIsIDB4MDEsIDB4MDYsIDB4ODksIDB4ODIsIDB4OGEsIDB4ODMsIDB4ZTAsIDB4MjIsIDB4NTAsIDB4MDIsIDB4ZTcsIDB4MjIsIDB4YmIsIDB4ZmUsIDB4MDIsCi0gIDB4ZTMsIDB4MjIsIDB4ODksIDB4ODIsIDB4OGEsIDB4ODMsIDB4ZTQsIDB4OTMsIDB4MjIsIDB4YmIsIDB4MDEsIDB4MGMsIDB4ZTUsIDB4ODIsIDB4MjksIDB4ZjUsCi0gIDB4ODIsIDB4ZTUsIDB4ODMsIDB4M2EsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MjIsIDB4NTAsIDB4MDYsIDB4ZTksIDB4MjUsIDB4ODIsIDB4ZjgsIDB4ZTYsIDB4MjIsCi0gIDB4YmIsIDB4ZmUsIDB4MDYsIDB4ZTksIDB4MjUsIDB4ODIsIDB4ZjgsIDB4ZTIsIDB4MjIsIDB4ZTUsIDB4ODIsIDB4MjksIDB4ZjUsIDB4ODIsIDB4ZTV9fSwKLSB7MHgxNWM2LCA2NCwgeyAweDgzLCAweDNhLCAweGY1LCAweDgzLCAweGU0LCAweDkzLCAweDIyLCAweGJiLCAweDAxLCAweDA2LCAweDg5LCAweDgyLCAweDhhLCAweDgzLCAweGYwLCAweDIyLCAweDUwLAotICAweDAyLCAweGY3LCAweDIyLCAweGJiLCAweGZlLCAweDAxLCAweGYzLCAweDIyLCAweGJiLCAweDAxLCAweDEwLCAweGU1LCAweDgyLCAweDI5LCAweGY1LCAweDgyLAotICAweGU1LCAweDgzLCAweDNhLCAweGY1LCAweDgzLCAweGUwLCAweGY1LCAweGYwLCAweGEzLCAweGUwLCAweDIyLCAweDUwLCAweDA5LCAweGU5LCAweDI1LCAweDgyLAotICAweGY4LCAweDg2LCAweGYwLCAweDA4LCAweGU2LCAweDIyLCAweGJiLCAweGZlLCAweDBhLCAweGU5LCAweDI1LCAweDgyLCAweGY4LCAweGUyLCAweGY1fX0sCi0gezB4MTYwNiwgNjQsIHsgMHhmMCwgMHgwOCwgMHhlMiwgMHgyMiwgMHhlNSwgMHg4MywgMHgyYSwgMHhmNSwgMHg4MywgMHhlOSwgMHg5MywgMHhmNSwgMHhmMCwgMHhhMywgMHhlOSwgMHg5MywgMHgyMiwKLSAgMHhkMCwgMHg4MywgMHhkMCwgMHg4MiwgMHhmOCwgMHhlNCwgMHg5MywgMHg3MCwgMHgxMiwgMHg3NCwgMHgwMSwgMHg5MywgMHg3MCwgMHgwZCwgMHhhMywgMHhhMywKLSAgMHg5MywgMHhmOCwgMHg3NCwgMHgwMSwgMHg5MywgMHhmNSwgMHg4MiwgMHg4OCwgMHg4MywgMHhlNCwgMHg3MywgMHg3NCwgMHgwMiwgMHg5MywgMHg2OCwgMHg2MCwKLSAgMHhlZiwgMHhhMywgMHhhMywgMHhhMywgMHg4MCwgMHhkZiwgMHg3OCwgMHg3ZiwgMHhlNCwgMHhmNiwgMHhkOCwgMHhmZCwgMHg3NSwgMHg4MSwgMHg3ZH19LAotIHsweDE2NDYsIDY0LCB7IDB4MDIsIDB4MTYsIDB4ODQsIDB4MDIsIDB4MTYsIDB4YzksIDB4ZTQsIDB4OTMsIDB4YTMsIDB4ZjgsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4NDAsIDB4MDMsIDB4ZjYsIDB4ODAsCi0gIDB4MDEsIDB4ZjIsIDB4MDgsIDB4ZGYsIDB4ZjQsIDB4ODAsIDB4MjksIDB4ZTQsIDB4OTMsIDB4YTMsIDB4ZjgsIDB4NTQsIDB4MDcsIDB4MjQsIDB4MGMsIDB4YzgsCi0gIDB4YzMsIDB4MzMsIDB4YzQsIDB4NTQsIDB4MGYsIDB4NDQsIDB4MjAsIDB4YzgsIDB4ODMsIDB4NDAsIDB4MDQsIDB4ZjQsIDB4NTYsIDB4ODAsIDB4MDEsIDB4NDYsCi0gIDB4ZjYsIDB4ZGYsIDB4ZTQsIDB4ODAsIDB4MGIsIDB4MDEsIDB4MDIsIDB4MDQsIDB4MDgsIDB4MTAsIDB4MjAsIDB4NDAsIDB4ODAsIDB4OTAsIDB4MTh9fSwKLSB7MHgxNjg2LCA2NCwgeyAweGM1LCAweGU0LCAweDdlLCAweDAxLCAweDkzLCAweDYwLCAweGJjLCAweGEzLCAweGZmLCAweDU0LCAweDNmLCAweDMwLCAweGU1LCAweDA5LCAweDU0LCAweDFmLCAweGZlLAotICAweGU0LCAweDkzLCAweGEzLCAweDYwLCAweDAxLCAweDBlLCAweGNmLCAweDU0LCAweGMwLCAweDI1LCAweGUwLCAweDYwLCAweGE4LCAweDQwLCAweGI4LCAweGU0LAotICAweDkzLCAweGEzLCAweGZhLCAweGU0LCAweDkzLCAweGEzLCAweGY4LCAweGU0LCAweDkzLCAweGEzLCAweGM4LCAweGM1LCAweDgyLCAweGM4LCAweGNhLCAweGM1LAotICAweDgzLCAweGNhLCAweGYwLCAweGEzLCAweGM4LCAweGM1LCAweDgyLCAweGM4LCAweGNhLCAweGM1LCAweDgzLCAweGNhLCAweGRmLCAweGU5LCAweGRlfX0sCi0gezB4MTZjNiwgNjQsIHsgMHhlNywgMHg4MCwgMHhiZSwgMHg3NSwgMHgxMSwgMHgwMSwgMHg5MCwgMHg3ZiwgMHg5MiwgMHhlMCwgMHg1NCwgMHhmZCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhZSwgMHhlMCwKLSAgMHhmZiwgMHhkMywgMHg5MiwgMHgyNiwgMHhlNCwgMHgzMywgMHhmZSwgMHhlZiwgMHg0ZSwgMHhmMCwgMHhkMiwgMHhlOCwgMHg0MywgMHhkOCwgMHgyMCwgMHg5MCwKLSAgMHg3ZiwgMHhkZSwgMHg3NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhkZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhYiwgMHg3NCwgMHhmZiwgMHhmMCwgMHg5MCwKLSAgMHg3ZiwgMHhhOSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhYSwgMHhmMCwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhZiwgMHhlMCwgMHg0NH19LAotIHsweDE3MDYsIDY0LCB7IDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YWUsIDB4ZTAsIDB4NDQsIDB4MGQsIDB4ZjAsIDB4ZDIsIDB4YWYsIDB4ZDIsIDB4YmMsIDB4ZDIsIDB4YmUsIDB4ZDIsIDB4MmQsCi0gIDB4MTIsIDB4MTgsIDB4N2YsIDB4YzIsIDB4MjcsIDB4YzIsIDB4MjUsIDB4YzIsIDB4MjgsIDB4MzAsIDB4MjgsIDB4MDMsIDB4MTIsIDB4MGEsIDB4ODMsIDB4OTAsCi0gIDB4N2YsIDB4ZDgsIDB4ZTAsIDB4NjUsIDB4MTAsIDB4NjAsIDB4MDgsIDB4ZTAsIDB4ZjUsIDB4MTAsIDB4MTIsIDB4MTMsIDB4N2UsIDB4ODAsIDB4ZWEsIDB4MzAsCi0gIDB4MjcsIDB4MDcsIDB4YzIsIDB4MjcsIDB4MTIsIDB4MTEsIDB4N2IsIDB4ODAsIDB4ZTAsIDB4MzAsIDB4MmMsIDB4ZGQsIDB4YzIsIDB4MmMsIDB4MTJ9fSwKLSB7MHgxNzQ2LCA2NCwgeyAweDAwLCAweDI2LCAweDgwLCAweGQ2LCAweDIyLCAweGU0LCAweGZlLCAweDc1LCAweDE3LCAweGZmLCAweDc1LCAweDE4LCAweDE5LCAweDc1LCAweDE5LCAweDEyLCAweGFiLAotICAweDE3LCAweGFhLCAweDE4LCAweGE5LCAweDE5LCAweDkwLCAweDAwLCAweDAxLCAweDEyLCAweDE1LCAweGEwLCAweDY0LCAweDAyLCAweDcwLCAweDJkLCAweGFkLAotICAweDA2LCAweDBlLCAweGVkLCAweGI1LCAweDA3LCAweDAxLCAweDIyLCAweDkwLCAweDAwLCAweDAyLCAweDEyLCAweDE1LCAweGRmLCAweDg1LCAweGYwLCAweDE1LAotICAweGY1LCAweDE2LCAweDYyLCAweDE1LCAweGU1LCAweDE1LCAweDYyLCAweDE2LCAweGU1LCAweDE2LCAweDYyLCAweDE1LCAweDI5LCAweGZkLCAweGU1fX0sCi0gezB4MTc4NiwgNjQsIHsgMHgxNSwgMHgzYSwgMHhhOSwgMHgwNSwgMHg3NSwgMHgxNywgMHhmZiwgMHhmNSwgMHgxOCwgMHg4OSwgMHgxOSwgMHg4MCwgMHhjMywgMHg3YiwgMHgwMCwgMHg3YSwgMHgwMCwKLSAgMHg3OSwgMHgwMCwgMHgyMiwgMHg4ZiwgMHgxNSwgMHhlNCwgMHhmNSwgMHgxNiwgMHg3NSwgMHgxNywgMHhmZiwgMHg3NSwgMHgxOCwgMHgxOSwgMHg3NSwgMHgxOSwKLSAgMHg4NiwgMHhhYiwgMHgxNywgMHhhYSwgMHgxOCwgMHhhOSwgMHgxOSwgMHg5MCwgMHgwMCwgMHgwMSwgMHgxMiwgMHgxNSwgMHhhMCwgMHhiNCwgMHgwMywgMHgxZCwKLSAgMHhhZiwgMHgxNiwgMHgwNSwgMHgxNiwgMHhlZiwgMHhiNSwgMHgxNSwgMHgwMSwgMHgyMiwgMHgxMiwgMHgxNSwgMHg4NywgMHg3ZSwgMHgwMCwgMHgyOX19LAotIHsweDE3YzYsIDY0LCB7IDB4ZmYsIDB4ZWUsIDB4M2EsIDB4YTksIDB4MDcsIDB4NzUsIDB4MTcsIDB4ZmYsIDB4ZjUsIDB4MTgsIDB4ODksIDB4MTksIDB4ODAsIDB4ZDQsIDB4N2IsIDB4MDAsIDB4N2EsCi0gIDB4MDAsIDB4NzksIDB4MDAsIDB4MjIsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4OTMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTQsCi0gIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWQsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTcsIDB4ZjAsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4OTUsIDB4ZjAsCi0gIDB4OTAsIDB4N2YsIDB4OWUsIDB4NzQsIDB4ZmYsIDB4ZjAsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4OTgsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWQsIDB4ZjB9fSwKLSB7MHgxODA2LCA2NCwgeyAweDIyLCAweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGMwLCAweDg1LCAweGMwLCAweDg0LCAweGMwLCAweDg2LCAweDc1LCAweDg2LCAweDAwLCAweDkwLAotICAweDdmLCAweGM0LCAweGU0LCAweGYwLCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGFiLCAweDc0LCAweDA0LCAweGYwLCAweGQwLCAweDg2LCAweGQwLAotICAweDg0LCAweGQwLCAweDg1LCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGUwLCAweDMyLCAweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLAotICAweGMwLCAweDg1LCAweGMwLCAweDg0LCAweGMwLCAweDg2LCAweDc1LCAweDg2LCAweDAwLCAweGQyLCAweDI3LCAweDUzLCAweDkxLCAweGVmLCAweDkwfX0sCi0gezB4MTg0NiwgNjQsIHsgMHg3ZiwgMHhhYiwgMHg3NCwgMHgwMSwgMHhmMCwgMHhkMCwgMHg4NiwgMHhkMCwgMHg4NCwgMHhkMCwgMHg4NSwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwKLSAgMHgzMiwgMHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhjMCwgMHg4NSwgMHhjMCwgMHg4NCwgMHhjMCwgMHg4NiwgMHg3NSwgMHg4NiwgMHgwMCwKLSAgMHhkMiwgMHgyYywgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhYiwgMHg3NCwgMHgwOCwgMHhmMCwgMHhkMCwgMHg4NiwgMHhkMCwgMHg4NCwgMHhkMCwKLSAgMHg4NSwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMiwgMHg5MCwgMHg3ZiwgMHhkNiwgMHhlMCwgMHg1NCwgMHhmYiwgMHhmMH19LAotIHsweDE4ODYsIDY0LCB7IDB4ZTAsIDB4NDQsIDB4MDgsIDB4ZjAsIDB4MzAsIDB4MmQsIDB4MDQsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4N2YsIDB4ZjQsIDB4N2UsIDB4MDEsIDB4MTIsIDB4MDAsCi0gIDB4MDYsIDB4OTAsIDB4N2YsIDB4ZDYsIDB4ZTAsIDB4NTQsIDB4ZjcsIDB4ZjAsIDB4ZTAsIDB4NDQsIDB4MDQsIDB4ZjAsIDB4MjIsIDB4NzQsIDB4MDAsIDB4ZjUsCi0gIDB4ODYsIDB4OTAsIDB4ZmQsIDB4YTUsIDB4N2MsIDB4MDUsIDB4YTMsIDB4ZTUsIDB4ODIsIDB4NDUsIDB4ODMsIDB4NzAsIDB4ZjksIDB4MjIsIDB4OTAsIDB4N2YsCi0gIDB4ZDYsIDB4ZTAsIDB4NDQsIDB4ODAsIDB4ZjAsIDB4NDMsIDB4ODcsIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MjIsIDB4YzF9fSwKLSB7MHgxOGM2LCA2NCwgeyAweGFhLCAweDAxLCAweDFhLCAweDAwLCAweDAzLCAweDFiLCAweDAzLCAweDAwLCAweDAwLCAweGMxLCAweDI3LCAweGMxLCAweDJjLCAweGMxLCAweDI2LCAweGMxLCAweDJiLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDEyLCAweDAxLCAweDEwLCAweDAxLCAweGZmLCAweDAwfX0sCi0gezB4MTkwNiwgNjQsIHsgMHgwMCwgMHg0MCwgMHhjZCwgMHgwNiwgMHgwZiwgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMSwgMHgwMiwgMHgwMCwgMHgwMSwgMHgwOSwgMHgwMiwgMHg3NCwgMHgwMCwgMHgwMSwKLSAgMHgwMSwgMHgwMCwgMHhhMCwgMHgzMiwgMHgwOSwgMHgwNCwgMHgwMCwgMHgwMCwgMHgwZSwgMHhmZiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwMSwKLSAgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwMiwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwMywgMHgwMiwgMHg0MCwKLSAgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwNCwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwNSwgMHgwMiwgMHg0MCwgMHgwMH19LAotIHsweDE5NDYsIDY0LCB7IDB4MDAsIDB4MDcsIDB4MDUsIDB4MDYsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDcsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsCi0gIDB4ODEsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDEsIDB4MDcsIDB4MDUsIDB4ODIsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDEsIDB4MDcsIDB4MDUsIDB4ODMsIDB4MDIsCi0gIDB4NDAsIDB4MDAsIDB4MDEsIDB4MDcsIDB4MDUsIDB4ODQsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDEsIDB4MDcsIDB4MDUsIDB4ODUsIDB4MDIsIDB4NDAsIDB4MDAsCi0gIDB4MDEsIDB4MDcsIDB4MDUsIDB4ODYsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDEsIDB4MDcsIDB4MDUsIDB4ODcsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDF9fSwKLSB7MHgxOTg2LCA2NCwgeyAweDA0LCAweDAzLCAweDA5LCAweDA0LCAweDQ4LCAweDAzLCAweDRiLCAweDAwLCAweDY1LCAweDAwLCAweDc5LCAweDAwLCAweDczLCAweDAwLCAweDcwLCAweDAwLCAweDYxLAotICAweDAwLCAweDZlLCAweDAwLCAweDJjLCAweDAwLCAweDIwLCAweDAwLCAweDYxLCAweDAwLCAweDIwLCAweDAwLCAweDY0LCAweDAwLCAweDY5LCAweDAwLCAweDc2LAotICAweDAwLCAweDY5LCAweDAwLCAweDczLCAweDAwLCAweDY5LCAweDAwLCAweDZmLCAweDAwLCAweDZlLCAweDAwLCAweDIwLCAweDAwLCAweDZmLCAweDAwLCAweDY2LAotICAweDAwLCAweDIwLCAweDAwLCAweDQ5LCAweDAwLCAweDZlLCAweDAwLCAweDZlLCAweDAwLCAweDZmLCAweDAwLCAweDUzLCAweDAwLCAweDc5LCAweDAwfX0sCi0gezB4MTljNiwgNjQsIHsgMHg3MywgMHgwMCwgMHgyMCwgMHgwMCwgMHg0OSwgMHgwMCwgMHg2ZSwgMHgwMCwgMHg2MywgMHgwMCwgMHgyZSwgMHgwMCwgMHgzNiwgMHgwMywgMHg0YiwgMHgwMCwgMHg2NSwKLSAgMHgwMCwgMHg3OSwgMHgwMCwgMHg3MywgMHgwMCwgMHg3MCwgMHgwMCwgMHg2MSwgMHgwMCwgMHg2ZSwgMHgwMCwgMHgyMCwgMHgwMCwgMHg1NSwgMHgwMCwgMHg1MywKLSAgMHgwMCwgMHg0MiwgMHgwMCwgMHgyMCwgMHgwMCwgMHg1MywgMHgwMCwgMHg2NSwgMHgwMCwgMHg3MiwgMHgwMCwgMHg2OSwgMHgwMCwgMHg2MSwgMHgwMCwgMHg2YywKLSAgMHgwMCwgMHgyMCwgMHgwMCwgMHg0MSwgMHgwMCwgMHg2NCwgMHgwMCwgMHg2MSwgMHgwMCwgMHg3MCwgMHgwMCwgMHg3NCwgMHgwMCwgMHg2NSwgMHgwMH19LAotIHsweDFhMDYsIDY0LCB7IDB4NzIsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxYTQ2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MWE4NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDFhYzYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDIsIDB4MTgsIDB4MzEsIDB4MDAsIDB4MDIsIDB4MWJ9fSwKLSB7MHgxYjA2LCAgOSwgeyAweDA0LCAweDAwLCAweDAyLCAweDE4LCAweDA3LCAweDAwLCAweDAyLCAweDE4LCAweDU4fX0sCi0gezB4ZmZmZiwgIDAsIHsweDAwfX0KLX07CmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9zZXJpYWwva2V5c3Bhbl91c2EyOHhfZncuaCBiL2RyaXZlcnMvdXNiL3NlcmlhbC9rZXlzcGFuX3VzYTI4eF9mdy5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzMzg3ZWQ5Li4wMDAwMDAwCi0tLSBhL2RyaXZlcnMvdXNiL3NlcmlhbC9rZXlzcGFuX3VzYTI4eF9mdy5oCisrKyAvZGV2L251bGwKQEAgLTEsNDQ3ICswLDAgQEAKLS8qIGtleXNwYW5fdXNhMjh4X2Z3LmgKLQotCVRoZSBmaXJtd2FyZSBjb250YWluZWQgaGVyZWluIGFzIGtleXNwYW5fdXNhMjh4X2Z3LmggaXMKLQotCQlDb3B5cmlnaHQgKEMpIDE5OTktMjAwMQotCQlLZXlzcGFuLCBBIGRpdmlzaW9uIG9mIElubm9TeXMgSW5jb3Jwb3JhdGVkICgiS2V5c3BhbiIpCi0JCQotCWFzIGFuIHVucHVibGlzaGVkIHdvcmsuIFRoaXMgbm90aWNlIGRvZXMgbm90IGltcGx5IHVucmVzdHJpY3RlZCBvcgotCXB1YmxpYyBhY2Nlc3MgdG8gdGhlIHNvdXJjZSBjb2RlIGZyb20gd2hpY2ggdGhpcyBmaXJtd2FyZSBpbWFnZSBpcwotCWRlcml2ZWQuICBFeGNlcHQgYXMgbm90ZWQgYmVsb3cgdGhpcyBmaXJtd2FyZSBpbWFnZSBtYXkgbm90IGJlIAotCXJlcHJvZHVjZWQsIHVzZWQsIHNvbGQgb3IgdHJhbnNmZXJyZWQgdG8gYW55IHRoaXJkIHBhcnR5IHdpdGhvdXQgCi0JS2V5c3BhbidzIHByaW9yIHdyaXR0ZW4gY29uc2VudC4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCi0KLQlQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkIGZvciB0aGUgZGlzdHJpYnV0aW9uIG9mIHRoaXMgZmlybXdhcmUgCi0JaW1hZ2UgYXMgcGFydCBvZiBhIExpbnV4IG9yIG90aGVyIE9wZW4gU291cmNlIG9wZXJhdGluZyBzeXN0ZW0ga2VybmVsIAotCWluIHRleHQgb3IgYmluYXJ5IGZvcm0gYXMgcmVxdWlyZWQuIAotCi0JVGhpcyBmaXJtd2FyZSBtYXkgbm90IGJlIG1vZGlmaWVkIGFuZCBtYXkgb25seSBiZSB1c2VkIHdpdGggIAotCUtleXNwYW4gaGFyZHdhcmUuICBEaXN0cmlidXRpb24gYW5kL29yIE1vZGlmaWNhdGlvbiBvZiB0aGUgCi0Ja2V5c3Bhbi5jIGRyaXZlciB3aGljaCBpbmNsdWRlcyB0aGlzIGZpcm13YXJlLCBpbiB3aG9sZSBvciBpbiAKLQlwYXJ0LCByZXF1aXJlcyB0aGUgaW5jbHVzaW9uIG9mIHRoaXMgc3RhdGVtZW50LiIKLQotKi8KLQotc3RhdGljIGNvbnN0IHN0cnVjdCBlenVzYl9oZXhfcmVjb3JkIGtleXNwYW5fdXNhMjh4X2Zpcm13YXJlW10gPSB7Ci0gezB4MDAzMywgIDMsIHsgMHgwMiwgMHgxMiwgMHhmN319LAotIHsweDAwMDMsIDE2LCB7IDB4ZTQsIDB4OTAsIDB4N2YsIDB4OTMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWMsIDB4NzQsIDB4MzAsIDB4ZjAsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4OTYsIDB4ZjB9fSwKLSB7MHgwMDEzLCAxNiwgeyAweDkwLCAweDdmLCAweDk0LCAweGYwLCAweDkwLCAweDdmLCAweDlkLCAweDc0LCAweGZmLCAweGYwLCAweGU0LCAweDkwLCAweDdmLCAweDk3LCAweGYwLCAweDkwfX0sCi0gezB4MDAyMywgMTUsIHsgMHg3ZiwgMHg5NSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5ZSwgMHg3NCwgMHgwNywgMHhmMCwgMHhlNCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHhmMCwgMHgyMn19LAotIHsweDAwNDYsIDE2LCB7IDB4MzAsIDB4MDksIDB4MTgsIDB4MTIsIDB4MTMsIDB4MWIsIDB4ZWYsIDB4YzMsIDB4OTUsIDB4M2MsIDB4NDAsIDB4MDMsIDB4MDIsIDB4MDAsIDB4ZDgsIDB4OTB9fSwKLSB7MHgwMDU2LCAxNiwgeyAweDdmLCAweGJmLCAweDc0LCAweDAxLCAweGYwLCAweGMyLCAweDA5LCAweGMyLCAweDAwLCAweDgwLCAweDc3LCAweDMwLCAweDAzLCAweDNiLCAweDkwLCAweDdmfX0sCi0gezB4MDA2NiwgMTYsIHsgMHhjNiwgMHhlMCwgMHgyMCwgMHhlMSwgMHg2ZCwgMHgxMiwgMHgxMywgMHgxYiwgMHhlZiwgMHhjMywgMHg5NCwgMHg0MCwgMHg1MCwgMHg2NCwgMHg5MCwgMHg3ZX19LAotIHsweDAwNzYsIDE2LCB7IDB4NDAsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MDksIDB4OTAsIDB4N2YsIDB4YzcsIDB4ZTAsIDB4MTQsIDB4ZjUsIDB4MTksIDB4MjAsIDB4MDAsIDB4MTEsIDB4NjB9fSwKLSB7MHgwMDg2LCAxNiwgeyAweDBmLCAweGY1LCAweDA4LCAweDdlLCAweDdlLCAweDdmLCAweDQxLCAweDc1LCAweDBjLCAweDdlLCAweDc1LCAweDBkLCAweDQxLCAweDEyLCAweDBjLCAweGJhfX0sCi0gezB4MDA5NiwgMTYsIHsgMHhjMiwgMHgwMywgMHhlNCwgMHg5MCwgMHg3ZiwgMHhjNywgMHhmMCwgMHg4MCwgMHgzOSwgMHg5MCwgMHg3ZiwgMHhjOCwgMHhlMCwgMHgyMCwgMHhlMSwgMHgzMn19LAotIHsweDAwYTYsIDE2LCB7IDB4MTIsIDB4MTMsIDB4MWIsIDB4ZWYsIDB4YzMsIDB4OTQsIDB4NDAsIDB4NTAsIDB4MjksIDB4OTAsIDB4N2QsIDB4YzAsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MDl9fSwKLSB7MHgwMGI2LCAxNiwgeyAweDkwLCAweDdmLCAweGM5LCAweGUwLCAweDE0LCAweGY1LCAweDE5LCAweDIwLCAweDAwLCAweDExLCAweDYwLCAweDBmLCAweGY1LCAweDA4LCAweDdlLCAweDdkfX0sCi0gezB4MDBjNiwgMTYsIHsgMHg3ZiwgMHhjMSwgMHg3NSwgMHgwYywgMHg3ZCwgMHg3NSwgMHgwZCwgMHhjMSwgMHgxMiwgMHgwYywgMHhiYSwgMHhkMiwgMHgwMywgMHhlNCwgMHg5MCwgMHg3Zn19LAotIHsweDAwZDYsIDE2LCB7IDB4YzksIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjYsIDB4ZTAsIDB4MzAsIDB4ZTEsIDB4MDMsIDB4MDIsIDB4MDEsIDB4NjAsIDB4MTIsIDB4MTEsIDB4ZDYsIDB4OGZ9fSwKLSB7MHgwMGU2LCAxNiwgeyAweDE5LCAweDEyLCAweDEzLCAweDI3LCAweDhmLCAweDM2LCAweGU1LCAweDE5LCAweGMzLCAweDk1LCAweDNhLCAweDUwLCAweDBmLCAweDEyLCAweDEyLCAweGVifX0sCi0gezB4MDBmNiwgMTYsIHsgMHhlZiwgMHgzMCwgMHhlMCwgMHgwOCwgMHhlNSwgMHgzNiwgMHgyMCwgMHhlNywgMHgwMywgMHgzMCwgMHgwYiwgMHg1ZSwgMHhjMiwgMHgwYiwgMHhlNSwgMHgxOX19LAotIHsweDAwMzYsIDEyLCB7IDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTAsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjJ9fSwKLSB7MHgwMDQzLCAgMywgeyAweDAyLCAweDEzLCAweDAwfX0sCi0gezB4MDAwMCwgIDMsIHsgMHgwMiwgMHgwZSwgMHgwMH19LAotIHsweDAxMDYsIDY0LCB7IDB4NjAsIDB4NTgsIDB4YjQsIDB4ODAsIDB4MDMsIDB4NDMsIDB4MzYsIDB4MDIsIDB4ZTUsIDB4MzYsIDB4MzAsIDB4ZTcsIDB4MjYsIDB4ZTUsIDB4MTksIDB4ZDMsIDB4OTQsCi0gIDB4MjAsIDB4NDAsIDB4MDMsIDB4NzUsIDB4MTksIDB4MjAsIDB4ODUsIDB4MTksIDB4MDgsIDB4N2UsIDB4N2UsIDB4N2YsIDB4ODAsIDB4NzUsIDB4MGMsIDB4N2UsCi0gIDB4NzUsIDB4MGQsIDB4ODAsIDB4YWYsIDB4MzYsIDB4MTIsIDB4MGYsIDB4NGIsIDB4ZTUsIDB4MTksIDB4MjUsIDB4ZTAsIDB4OTAsIDB4N2YsIDB4YjcsIDB4ZjAsCi0gIDB4ODAsIDB4MjcsIDB4ZTUsIDB4MTksIDB4ZDMsIDB4OTQsIDB4M2YsIDB4NDAsIDB4MDMsIDB4NzUsIDB4MTksIDB4M2YsIDB4ODUsIDB4MTksIDB4MDh9fSwKLSB7MHgwMTQ2LCA2NCwgeyAweDkwLCAweDdlLCAweDgwLCAweGU1LCAweDM2LCAweGYwLCAweDdlLCAweDdlLCAweDdmLCAweDgxLCAweDc1LCAweDBjLCAweDdlLCAweDc1LCAweDBkLCAweDgxLCAweDEyLAotICAweDBjLCAweGRmLCAweGU1LCAweDE5LCAweDA0LCAweDkwLCAweDdmLCAweGI3LCAweGYwLCAweDkwLCAweDdmLCAweGNlLCAweGUwLCAweDMwLCAweGUxLCAweDA2LAotICAweDIwLCAweDA1LCAweDAzLCAweDAyLCAweDAzLCAweGMxLCAweGMyLCAweDA1LCAweGU0LCAweGY1LCAweDE4LCAweDc0LCAweDQwLCAweDI1LCAweDE4LCAweGY1LAotICAweDgyLCAweGU0LCAweDM0LCAweDdjLCAweGY1LCAweDgzLCAweGUwLCAweGZmLCAweGU1LCAweDE4LCAweDdjLCAweDAwLCAweDdiLCAweDAxLCAweDdhfX0sCi0gezB4MDE4NiwgNjQsIHsgMHg3ZSwgMHg3OSwgMHgwMCwgMHgyNCwgMHgwMCwgMHhmOSwgMHhlYywgMHgzNCwgMHg3ZSwgMHhmYSwgMHhlZiwgMHgxMiwgMHgwZSwgMHhkMiwgMHgwNSwgMHgxOCwgMHhlNSwKLSAgMHgxOCwgMHhiNCwgMHgyMCwgMHhkNywgMHg5MCwgMHg3ZSwgMHgwMCwgMHhlMCwgMHg2MCwgMHg2OCwgMHg5MCwgMHg3ZSwgMHgwMywgMHhlMCwgMHg2MCwgMHgyNCwKLSAgMHg3ZiwgMHgwMSwgMHhlNCwgMHhmZCwgMHgxMiwgMHgxMSwgMHhiMSwgMHg3ZiwgMHgwMywgMHg3ZCwgMHhjZCwgMHgxMiwgMHgxMSwgMHhiMSwgMHg0MywgMHg0NiwKLSAgMHg4MCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxNCwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlNSwgMHg0NiwgMHhmMCwgMHhlNCwgMHg5MH19LAotIHsweDAxYzYsIDY0LCB7IDB4N2UsIDB4MTMsIDB4ZjAsIDB4ODAsIDB4MzAsIDB4OTAsIDB4N2UsIDB4MDEsIDB4ZTAsIDB4ZmYsIDB4MTIsIDB4MTAsIDB4MzUsIDB4OTAsIDB4N2UsIDB4MDIsIDB4ZTAsCi0gIDB4ZmYsIDB4MTIsIDB4MTAsIDB4NWIsIDB4N2YsIDB4MDEsIDB4OTAsIDB4N2UsIDB4MTEsIDB4ZTAsIDB4ZmQsIDB4MTIsIDB4MTEsIDB4YjEsIDB4N2YsIDB4MDMsCi0gIDB4N2QsIDB4MDcsIDB4MTIsIDB4MTEsIDB4YjEsIDB4NDMsIDB4NDYsIDB4ODAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTQsIDB4ZjAsIDB4OTAsIDB4YzAsCi0gIDB4MDAsIDB4ZTUsIDB4NDYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTIsIDB4ZjAsIDB4ZTUsIDB4NDAsIDB4NDQsIDB4MDYsIDB4OTB9fSwKLSB7MHgwMjA2LCA2NCwgeyAweGMwLCAweDAwLCAweGYwLCAweDkwLCAweDdlLCAweDAzLCAweGUwLCAweDcwLCAweDA2LCAweDkwLCAweDdlLCAweDEzLCAweGUwLCAweDcwLCAweDA4LCAweGU0LCAweDkwLAotICAweDdlLCAweDEzLCAweGYwLCAweDc1LCAweDI1LCAweGZmLCAweDkwLCAweDdlLCAweDA1LCAweGUwLCAweDYwLCAweDEyLCAweGEzLCAweGUwLCAweDU0LCAweDNmLAotICAweGY1LCAweDQ0LCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGU1LCAweDQ0LCAweGYwLCAweDkwLCAweDdlLAotICAweDA3LCAweGUwLCAweDYwLCAweDJiLCAweGEzLCAweGUwLCAweDYwLCAweDA1LCAweDQzLCAweDQyLCAweDgwLCAweDgwLCAweDAzLCAweDUzLCAweDQyfX0sCi0gezB4MDI0NiwgNjQsIHsgMHg3ZiwgMHg1MywgMHg0MiwgMHhmYywgMHg5MCwgMHg3ZSwgMHgwOSwgMHhlMCwgMHg2MCwgMHgxMSwgMHg0MywgMHg0MiwgMHgwMiwgMHhhMywgMHhlMCwgMHhmZiwgMHgxMiwKLSAgMHgxMCwgMHhhNywgMHg5MCwgMHg3ZSwgMHgwYiwgMHhlMCwgMHhmZiwgMHgxMiwgMHgxMCwgMHhjZCwgMHhhZiwgMHg0MiwgMHgxMiwgMHgxMCwgMHg4MSwgMHg5MCwKLSAgMHg3ZSwgMHgwMywgMHhlMCwgMHg2MCwgMHgwOCwgMHg1MywgMHg0MiwgMHg3ZiwgMHhhZiwgMHg0MiwgMHgxMiwgMHgxMCwgMHg4MSwgMHg5MCwgMHg3ZSwgMHgwYywKLSAgMHhlMCwgMHg2MCwgMHgxOCwgMHhhMywgMHhlMCwgMHg2MCwgMHgwNSwgMHg0MywgMHg0NiwgMHgwMiwgMHg4MCwgMHgwMywgMHg1MywgMHg0NiwgMHhmZH19LAotIHsweDAyODYsIDY0LCB7IDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTQsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTUsIDB4NDYsIDB4ZjAsIDB4OTAsIDB4N2UsIDB4MGUsIDB4ZTAsIDB4NjAsCi0gIDB4MTgsIDB4YTMsIDB4ZTAsIDB4NjAsIDB4MDUsIDB4NDMsIDB4NDYsIDB4MDEsIDB4ODAsIDB4MDMsIDB4NTMsIDB4NDYsIDB4ZmUsIDB4OTAsIDB4N2YsIDB4OTgsCi0gIDB4NzQsIDB4MTQsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTUsIDB4NDYsIDB4ZjAsIDB4OTAsIDB4N2UsIDB4MTIsIDB4ZTAsIDB4ZjUsIDB4M2EsIDB4YTMsCi0gIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MGQsIDB4YTMsIDB4ZTAsIDB4ZjUsIDB4M2MsIDB4YTMsIDB4ZTAsIDB4NjAsIDB4MDUsIDB4NDMsIDB4NDYsIDB4MTB9fSwKLSB7MHgwMmM2LCA2NCwgeyAweDgwLCAweDAzLCAweDUzLCAweDQ2LCAweGVmLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDE0LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGU1LCAweDQ2LCAweGYwLAotICAweDkwLCAweDdlLCAweDE2LCAweGUwLCAweDYwLCAweDMyLCAweDUzLCAweDQ0LCAweGJmLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweGU1LAotICAweDQ0LCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDExLCAweGYwLCAweDEyLCAweDEyLCAweGRmLAotICAweGVmLCAweDU0LCAweGZlLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDUzLCAweDNlLCAweGZkLCAweGU0LCAweGZmLCAweGFkLCAweDNlLCAweDEyfX0sCi0gezB4MDMwNiwgNjQsIHsgMHgxMSwgMHhiMSwgMHhlNCwgMHhmNSwgMHgyYSwgMHhmNSwgMHgyOSwgMHhkMiwgMHgwNywgMHg5MCwgMHg3ZSwgMHgxNywgMHhlMCwgMHg2MCwgMHgwZiwgMHg0MywgMHgzZSwKLSAgMHgwMiwgMHhlNCwgMHhmZiwgMHhhZCwgMHgzZSwgMHgxMiwgMHgxMSwgMHhiMSwgMHg3NSwgMHgyOSwgMHgwMSwgMHhkMiwgMHgwNywgMHg5MCwgMHg3ZSwgMHgxOCwKLSAgMHhlMCwgMHg2MCwgMHgxMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMiwgMHhmMCwgMHhlNSwgMHg0MCwgMHg0NCwgMHgwNCwgMHg5MCwgMHhjMCwgMHgwMCwKLSAgMHhmMCwgMHhkMiwgMHgwMCwgMHg5MCwgMHg3ZSwgMHgxOSwgMHhlMCwgMHg2MCwgMHgxMSwgMHg0MywgMHg0NCwgMHg0MCwgMHg5MCwgMHg3ZiwgMHg5OH19LAotIHsweDAzNDYsIDY0LCB7IDB4NzQsIDB4MTMsIDB4ZjAsIDB4ZTUsIDB4NDQsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4OTAsIDB4N2UsIDB4MWEsIDB4ZTAsIDB4NjAsIDB4MGYsCi0gIDB4NTMsIDB4M2UsIDB4ZmUsIDB4ZTQsIDB4ZmYsIDB4YWQsIDB4M2UsIDB4MTIsIDB4MTEsIDB4YjEsIDB4NzUsIDB4MmIsIDB4MDEsIDB4ZDIsIDB4MDcsIDB4OTAsCi0gIDB4N2UsIDB4MWIsIDB4ZTAsIDB4NjAsIDB4MGYsIDB4NDMsIDB4M2UsIDB4MDEsIDB4ZTQsIDB4ZmYsIDB4YWQsIDB4M2UsIDB4MTIsIDB4MTEsIDB4YjEsIDB4ZTQsCi0gIDB4ZjUsIDB4MmIsIDB4ZDIsIDB4MDcsIDB4OTAsIDB4N2UsIDB4MWMsIDB4ZTAsIDB4NjAsIDB4MGUsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTJ9fSwKLSB7MHgwMzg2LCA2NCwgeyAweGYwLCAweGU1LCAweDQwLCAweDQ0LCAweDAyLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDkwLCAweDdlLCAweDFkLCAweGUwLCAweDYwLCAweDAyLCAweGQyLCAweDBiLAotICAweDkwLCAweDdlLCAweDFlLCAweGUwLCAweDYwLCAweDA4LCAweDc1LCAweDJjLCAweDAxLCAweGU0LCAweGY1LCAweDM4LCAweGQyLCAweDA3LCAweDkwLCAweDdlLAotICAweDFmLCAweGUwLCAweDYwLCAweDExLCAweDkwLCAweDdmLCAweGQ3LCAweDc0LCAweDExLCAweGYwLCAweDc0LCAweDMxLCAweGYwLCAweDc0LCAweDE1LCAweGYwLAotICAweDc0LCAweDM1LCAweGYwLCAweGQyLCAweDAzLCAweGU0LCAweDkwLCAweDdmLCAweGNmLCAweGYwLCAweDMwLCAweDFhLCAweDUyLCAweGU1LCAweDM4fX0sCi0gezB4MDNjNiwgNjQsIHsgMHg2MCwgMHgwMiwgMHgxNSwgMHgzOCwgMHgyMCwgMHgxMywgMHg0OSwgMHhlNSwgMHgxMywgMHhkMywgMHg5NCwgMHgwMCwgMHg0MCwgMHgwNCwgMHgxNSwgMHgxMywgMHg4MCwKLSAgMHgzZSwgMHg3NSwgMHgxMywgMHgwYSwgMHgzMCwgMHgxYiwgMHgwMiwgMHhkMiwgMHgxMywgMHgxMiwgMHgxMiwgMHhkZiwgMHhlZiwgMHg1NCwgMHgwMSwgMHhmNSwKLSAgMHgxOSwgMHg2NSwgMHgyYSwgMHg2MCwgMHgwNSwgMHg4NSwgMHgxOSwgMHgyYSwgMHhkMiwgMHgwNywgMHgxMiwgMHgxMywgMHgzMywgMHhlZiwgMHg1NCwgMHg4MCwKLSAgMHhmNSwgMHgxOSwgMHg2NSwgMHgyNiwgMHg2MCwgMHgwNSwgMHg4NSwgMHgxOSwgMHgyNiwgMHhkMiwgMHgwNywgMHgzMCwgMHgwZCwgMHgxMSwgMHgxMn19LAotIHsweDA0MDYsIDY0LCB7IDB4MTMsIDB4MzMsIDB4ZWYsIDB4NTQsIDB4MTAsIDB4ZjUsIDB4MTksIDB4NjUsIDB4MjUsIDB4NjAsIDB4MDUsIDB4ODUsIDB4MTksIDB4MjUsIDB4ZDIsIDB4MDcsIDB4MjAsCi0gIDB4MWIsIDB4MDMsIDB4MDIsIDB4MDcsIDB4ZWMsIDB4MzAsIDB4MGEsIDB4MTgsIDB4MTIsIDB4MTMsIDB4NmYsIDB4ZWYsIDB4YzMsIDB4OTUsIDB4M2QsIDB4NDAsCi0gIDB4MDMsIDB4MDIsIDB4MDQsIDB4YWUsIDB4OTAsIDB4N2YsIDB4YzEsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4YzIsIDB4MGEsIDB4YzIsIDB4MDAsIDB4ODAsIDB4NzcsCi0gIDB4MzAsIDB4MDQsIDB4M2IsIDB4OTAsIDB4N2YsIDB4Y2EsIDB4ZTAsIDB4MjAsIDB4ZTEsIDB4NmQsIDB4MTIsIDB4MTMsIDB4NmYsIDB4ZWYsIDB4YzN9fSwKLSB7MHgwNDQ2LCA2NCwgeyAweDk0LCAweDQwLCAweDUwLCAweDY0LCAweDkwLCAweDdkLCAweDQwLCAweGUwLCAweDEzLCAweDkyLCAweDBhLCAweDkwLCAweDdmLCAweGNiLCAweGUwLCAweDE0LCAweGY1LAotICAweDE5LCAweDIwLCAweDAwLCAweDExLCAweDYwLCAweDBmLCAweGY1LCAweDA4LCAweDdlLCAweDdkLCAweDdmLCAweDQxLCAweDc1LCAweDBjLCAweDdkLCAweDc1LAotICAweDBkLCAweDQxLCAweDEyLCAweDBkLCAweDA0LCAweGMyLCAweDA0LCAweGU0LCAweDkwLCAweDdmLCAweGNiLCAweGYwLCAweDgwLCAweDM5LCAweDkwLCAweDdmLAotICAweGNjLCAweGUwLCAweDIwLCAweGUxLCAweDMyLCAweDEyLCAweDEzLCAweDZmLCAweGVmLCAweGMzLCAweDk0LCAweDQwLCAweDUwLCAweDI5LCAweDkwfX0sCi0gezB4MDQ4NiwgNjQsIHsgMHg3YywgMHhjMCwgMHhlMCwgMHgxMywgMHg5MiwgMHgwYSwgMHg5MCwgMHg3ZiwgMHhjZCwgMHhlMCwgMHgxNCwgMHhmNSwgMHgxOSwgMHgyMCwgMHgwMCwgMHgxMSwgMHg2MCwKLSAgMHgwZiwgMHhmNSwgMHgwOCwgMHg3ZSwgMHg3YywgMHg3ZiwgMHhjMSwgMHg3NSwgMHgwYywgMHg3YywgMHg3NSwgMHgwZCwgMHhjMSwgMHgxMiwgMHgwZCwgMHgwNCwKLSAgMHhkMiwgMHgwNCwgMHhlNCwgMHg5MCwgMHg3ZiwgMHhjZCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiYSwgMHhlMCwgMHgzMCwgMHhlMSwgMHgwMywgMHgwMiwgMHgwNSwKLSAgMHgzNiwgMHgxMiwgMHgxMiwgMHgyMCwgMHg4ZiwgMHgxOSwgMHgxMiwgMHgxMywgMHg3YiwgMHg4ZiwgMHgzNywgMHhlNSwgMHgxOSwgMHhjMywgMHg5NX19LAotIHsweDA0YzYsIDY0LCB7IDB4M2IsIDB4NTAsIDB4MGYsIDB4MTIsIDB4MTMsIDB4NTcsIDB4ZWYsIDB4MzAsIDB4ZTAsIDB4MDgsIDB4ZTUsIDB4MzcsIDB4MjAsIDB4ZTcsIDB4MDMsIDB4MzAsIDB4MGMsCi0gIDB4NWUsIDB4YzIsIDB4MGMsIDB4ZTUsIDB4MTksIDB4NjAsIDB4NTgsIDB4YjQsIDB4ODAsIDB4MDMsIDB4NDMsIDB4MzcsIDB4MDIsIDB4ZTUsIDB4MzcsIDB4MzAsCi0gIDB4ZTcsIDB4MjYsIDB4ZTUsIDB4MTksIDB4ZDMsIDB4OTQsIDB4MjAsIDB4NDAsIDB4MDMsIDB4NzUsIDB4MTksIDB4MjAsIDB4ODUsIDB4MTksIDB4MDgsIDB4N2UsCi0gIDB4N2QsIDB4N2YsIDB4ODAsIDB4NzUsIDB4MGMsIDB4N2QsIDB4NzUsIDB4MGQsIDB4ODAsIDB4YWYsIDB4MzcsIDB4MTIsIDB4MGYsIDB4ODQsIDB4ZTV9fSwKLSB7MHgwNTA2LCA2NCwgeyAweDE5LCAweDI1LCAweGUwLCAweDkwLCAweDdmLCAweGJiLCAweGYwLCAweDgwLCAweDI3LCAweGU1LCAweDE5LCAweGQzLCAweDk0LCAweDNmLCAweDQwLCAweDAzLCAweDc1LAotICAweDE5LCAweDNmLCAweDg1LCAweDE5LCAweDA4LCAweDkwLCAweDdkLCAweDgwLCAweGU1LCAweDM3LCAweGYwLCAweDdlLCAweDdkLCAweDdmLCAweDgxLCAweDc1LAotICAweDBjLCAweDdkLCAweDc1LCAweDBkLCAweDgxLCAweDEyLCAweDBkLCAweDI5LCAweGU1LCAweDE5LCAweDA0LCAweDkwLCAweDdmLCAweGJiLCAweGYwLCAweDkwLAotICAweDdmLCAweGQwLCAweGUwLCAweDMwLCAweGUxLCAweDA2LCAweDIwLCAweDA2LCAweDAzLCAweDAyLCAweDA3LCAweDk3LCAweGMyLCAweDA2LCAweGU0fX0sCi0gezB4MDU0NiwgNjQsIHsgMHhmNSwgMHgxOCwgMHg3NCwgMHhjMCwgMHgyNSwgMHgxOCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3YiwgMHhmNSwgMHg4MywgMHhlMCwgMHhmZiwgMHhlNSwgMHgxOCwKLSAgMHg3YywgMHgwMCwgMHg3YiwgMHgwMSwgMHg3YSwgMHg3ZSwgMHg3OSwgMHgyMCwgMHgyNCwgMHgyMCwgMHhmOSwgMHhlYywgMHgzNCwgMHg3ZSwgMHhmYSwgMHhlZiwKLSAgMHgxMiwgMHgwZSwgMHhkMiwgMHgwNSwgMHgxOCwgMHhlNSwgMHgxOCwgMHhiNCwgMHgyMCwgMHhkNywgMHg5MCwgMHg3ZSwgMHgyMCwgMHhlMCwgMHg2MCwgMHg2OCwKLSAgMHg5MCwgMHg3ZSwgMHgyMywgMHhlMCwgMHg2MCwgMHgyNCwgMHg3ZiwgMHgwMSwgMHhlNCwgMHhmZCwgMHgxMiwgMHgxMSwgMHhmYiwgMHg3ZiwgMHgwM319LAotIHsweDA1ODYsIDY0LCB7IDB4N2QsIDB4Y2QsIDB4MTIsIDB4MTEsIDB4ZmIsIDB4NDMsIDB4NDcsIDB4ODAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGMsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsCi0gIDB4ZTUsIDB4NDcsIDB4ZjAsIDB4ZTQsIDB4OTAsIDB4N2UsIDB4MzMsIDB4ZjAsIDB4ODAsIDB4MzAsIDB4OTAsIDB4N2UsIDB4MjEsIDB4ZTAsIDB4ZmYsIDB4MTIsCi0gIDB4MTEsIDB4MTksIDB4OTAsIDB4N2UsIDB4MjIsIDB4ZTAsIDB4ZmYsIDB4MTIsIDB4MTEsIDB4M2YsIDB4N2YsIDB4MDEsIDB4OTAsIDB4N2UsIDB4MzEsIDB4ZTAsCi0gIDB4ZmQsIDB4MTIsIDB4MTEsIDB4ZmIsIDB4N2YsIDB4MDMsIDB4N2QsIDB4MDcsIDB4MTIsIDB4MTEsIDB4ZmIsIDB4NDMsIDB4NDcsIDB4ODAsIDB4OTB9fSwKLSB7MHgwNWM2LCA2NCwgeyAweDdmLCAweDk4LCAweDc0LCAweDBjLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGU1LCAweDQ3LCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBhLCAweGYwLAotICAweGU1LCAweDQxLCAweDQ0LCAweDA2LCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDkwLCAweDdlLCAweDIzLCAweGUwLCAweDcwLCAweDA2LCAweDkwLCAweDdlLAotICAweDMzLCAweGUwLCAweDcwLCAweDA4LCAweGU0LCAweDkwLCAweDdlLCAweDMzLCAweGYwLCAweDc1LCAweDJlLCAweGZmLCAweDkwLCAweDdlLCAweDI1LCAweGUwLAotICAweDYwLCAweDEyLCAweGEzLCAweGUwLCAweDU0LCAweDNmLCAweGY1LCAweDQ1LCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBiLCAweGYwLCAweDkwfX0sCi0gezB4MDYwNiwgNjQsIHsgMHhjMCwgMHgwMCwgMHhlNSwgMHg0NSwgMHhmMCwgMHg5MCwgMHg3ZSwgMHgyNywgMHhlMCwgMHg2MCwgMHgyYiwgMHhhMywgMHhlMCwgMHg2MCwgMHgwNSwgMHg0MywgMHg0MywKLSAgMHg4MCwgMHg4MCwgMHgwMywgMHg1MywgMHg0MywgMHg3ZiwgMHg1MywgMHg0MywgMHhmYywgMHg5MCwgMHg3ZSwgMHgyOSwgMHhlMCwgMHg2MCwgMHgxMSwgMHg0MywKLSAgMHg0MywgMHgwMiwgMHhhMywgMHhlMCwgMHhmZiwgMHgxMiwgMHgxMSwgMHg2NSwgMHg5MCwgMHg3ZSwgMHgyYiwgMHhlMCwgMHhmZiwgMHgxMiwgMHgxMSwgMHg4YiwKLSAgMHhhZiwgMHg0MywgMHgxMiwgMHgxMCwgMHhmMywgMHg5MCwgMHg3ZSwgMHgyMywgMHhlMCwgMHg2MCwgMHgwOCwgMHg1MywgMHg0MywgMHg3ZiwgMHhhZn19LAotIHsweDA2NDYsIDY0LCB7IDB4NDMsIDB4MTIsIDB4MTAsIDB4ZjMsIDB4OTAsIDB4N2UsIDB4MmMsIDB4ZTAsIDB4NjAsIDB4MTgsIDB4YTMsIDB4ZTAsIDB4NjAsIDB4MDUsIDB4NDMsIDB4NDcsIDB4MDIsCi0gIDB4ODAsIDB4MDMsIDB4NTMsIDB4NDcsIDB4ZmQsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGMsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTUsIDB4NDcsCi0gIDB4ZjAsIDB4OTAsIDB4N2UsIDB4MmUsIDB4ZTAsIDB4NjAsIDB4MTgsIDB4YTMsIDB4ZTAsIDB4NjAsIDB4MDUsIDB4NDMsIDB4NDcsIDB4MDEsIDB4ODAsIDB4MDMsCi0gIDB4NTMsIDB4NDcsIDB4ZmUsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGMsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTUsIDB4NDcsIDB4ZjB9fSwKLSB7MHgwNjg2LCA2NCwgeyAweDkwLCAweDdlLCAweDMyLCAweGUwLCAweGY1LCAweDNiLCAweGEzLCAweGUwLCAweDEzLCAweDkyLCAweDBlLCAweGEzLCAweGUwLCAweGY1LCAweDNkLCAweGEzLCAweGUwLAotICAweDYwLCAweDA1LCAweDQzLCAweDQ3LCAweDEwLCAweDgwLCAweDAzLCAweDUzLCAweDQ3LCAweGVmLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBjLCAweGYwLAotICAweDkwLCAweGMwLCAweDAwLCAweGU1LCAweDQ3LCAweGYwLCAweDkwLCAweDdlLCAweDM2LCAweGUwLCAweDYwLCAweDMyLCAweDUzLCAweDQ1LCAweGJmLCAweDkwLAotICAweDdmLCAweDk4LCAweDc0LCAweDBiLCAweGYwLCAweGU1LCAweDQ1LCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDkwLCAweDdmfX0sCi0gezB4MDZjNiwgNjQsIHsgMHg5OCwgMHg3NCwgMHgwOSwgMHhmMCwgMHgxMiwgMHgxMywgMHg0YiwgMHhlZiwgMHg1NCwgMHhmZSwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHg1MywgMHgzZiwgMHhmZCwKLSAgMHhlNCwgMHhmZiwgMHhhZCwgMHgzZiwgMHgxMiwgMHgxMSwgMHhmYiwgMHhlNCwgMHhmNSwgMHgzMywgMHhmNSwgMHgzMiwgMHhkMiwgMHgwOCwgMHg5MCwgMHg3ZSwKLSAgMHgzNywgMHhlMCwgMHg2MCwgMHgwZiwgMHg0MywgMHgzZiwgMHgwMiwgMHhlNCwgMHhmZiwgMHhhZCwgMHgzZiwgMHgxMiwgMHgxMSwgMHhmYiwgMHg3NSwgMHgzMiwKLSAgMHgwMSwgMHhkMiwgMHgwOCwgMHg5MCwgMHg3ZSwgMHgzOCwgMHhlMCwgMHg2MCwgMHgxMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYSwgMHhmMH19LAotIHsweDA3MDYsIDY0LCB7IDB4ZTUsIDB4NDEsIDB4NDQsIDB4MDQsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4ZDIsIDB4MDAsIDB4OTAsIDB4N2UsIDB4MzksIDB4ZTAsIDB4NjAsIDB4MTEsIDB4NDMsCi0gIDB4NDUsIDB4NDAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGIsIDB4ZjAsIDB4ZTUsIDB4NDUsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsCi0gIDB4OTAsIDB4N2UsIDB4M2EsIDB4ZTAsIDB4NjAsIDB4MGYsIDB4NTMsIDB4M2YsIDB4ZmUsIDB4ZTQsIDB4ZmYsIDB4YWQsIDB4M2YsIDB4MTIsIDB4MTEsIDB4ZmIsCi0gIDB4NzUsIDB4MzQsIDB4MDEsIDB4ZDIsIDB4MDgsIDB4OTAsIDB4N2UsIDB4M2IsIDB4ZTAsIDB4NjAsIDB4MGYsIDB4NDMsIDB4M2YsIDB4MDEsIDB4ZTR9fSwKLSB7MHgwNzQ2LCA2NCwgeyAweGZmLCAweGFkLCAweDNmLCAweDEyLCAweDExLCAweGZiLCAweGU0LCAweGY1LCAweDM0LCAweGQyLCAweDA4LCAweDkwLCAweDdlLCAweDNjLCAweGUwLCAweDYwLCAweDBlLAotICAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBhLCAweGYwLCAweGU1LCAweDQxLCAweDQ0LCAweDAyLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDkwLCAweDdlLAotICAweDNkLCAweGUwLCAweDYwLCAweDAyLCAweGQyLCAweDBjLCAweDkwLCAweDdlLCAweDNlLCAweGUwLCAweDYwLCAweDA4LCAweDc1LCAweDM1LCAweDAxLCAweGU0LAotICAweGY1LCAweDM5LCAweGQyLCAweDA4LCAweDkwLCAweDdlLCAweDNmLCAweGUwLCAweDYwLCAweDExLCAweDkwLCAweDdmLCAweGQ3LCAweDc0LCAweDEzfX0sCi0gezB4MDc4NiwgNjQsIHsgMHhmMCwgMHg3NCwgMHgzMywgMHhmMCwgMHg3NCwgMHgxNiwgMHhmMCwgMHg3NCwgMHgzNiwgMHhmMCwgMHhkMiwgMHgwNCwgMHhlNCwgMHg5MCwgMHg3ZiwgMHhkMSwgMHhmMCwKLSAgMHgzMCwgMHgxYSwgMHg1MiwgMHhlNSwgMHgzOSwgMHg2MCwgMHgwMiwgMHgxNSwgMHgzOSwgMHgzMCwgMHgxMywgMHg0OSwgMHhlNSwgMHgxMywgMHhkMywgMHg5NCwKLSAgMHgwMCwgMHg0MCwgMHgwNCwgMHgxNSwgMHgxMywgMHg4MCwgMHgzZSwgMHg3NSwgMHgxMywgMHgwYSwgMHgzMCwgMHgxYiwgMHgwMiwgMHhjMiwgMHgxMywgMHgxMiwKLSAgMHgxMywgMHg0YiwgMHhlZiwgMHg1NCwgMHgwMSwgMHhmNSwgMHgxOSwgMHg2NSwgMHgzMywgMHg2MCwgMHgwNSwgMHg4NSwgMHgxOSwgMHgzMywgMHhkMn19LAotIHsweDA3YzYsIDY0LCB7IDB4MDgsIDB4MTIsIDB4MTMsIDB4ODcsIDB4ZWYsIDB4NTQsIDB4ODAsIDB4ZjUsIDB4MTksIDB4NjUsIDB4MmYsIDB4NjAsIDB4MDUsIDB4ODUsIDB4MTksIDB4MmYsIDB4ZDIsCi0gIDB4MDgsIDB4MzAsIDB4MGUsIDB4MTEsIDB4MTIsIDB4MTMsIDB4ODcsIDB4ZWYsIDB4NTQsIDB4MTAsIDB4ZjUsIDB4MTksIDB4NjUsIDB4MmUsIDB4NjAsIDB4MDUsCi0gIDB4ODUsIDB4MTksIDB4MmUsIDB4ZDIsIDB4MDgsIDB4MzAsIDB4MWEsIDB4MmEsIDB4OTAsIDB4N2YsIDB4ZDIsIDB4ZTAsIDB4MjAsIDB4ZTEsIDB4MjMsIDB4OTAsCi0gIDB4N2IsIDB4NDAsIDB4ZTAsIDB4NjAsIDB4MDksIDB4ZTAsIDB4ZjUsIDB4MTUsIDB4OTAsIDB4N2IsIDB4NDIsIDB4ZTAsIDB4ZjUsIDB4MTYsIDB4OTB9fSwKLSB7MHgwODA2LCA2NCwgeyAweDdiLCAweDQxLCAweGUwLCAweDYwLCAweDA5LCAweDkwLCAweDdmLCAweGQ3LCAweDc0LCAweDE3LCAweGYwLCAweDc0LCAweDM3LCAweGYwLCAweGU0LCAweDkwLCAweDdmLAotICAweGQzLCAweGYwLCAweDkwLCAweDdmLCAweGMyLCAweGUwLCAweDMwLCAweGUxLCAweDAzLCAweDAyLCAweDA5LCAweDIwLCAweGU1LCAweDBhLCAweDcwLCAweDQwLAotICAweDMwLCAweDA3LCAweDM5LCAweGU1LCAweDM4LCAweDcwLCAweDM1LCAweGMyLCAweDA3LCAweGY1LCAweDE4LCAweDdlLCAweDAwLCAweDdiLCAweDAwLCAweDc0LAotICAweDI0LCAweDI1LCAweDE4LCAweGY5LCAweGVlLCAweDM0LCAweDAwLCAweGZhLCAweDEyLCAweDBlLCAweDhjLCAweGZmLCAweDc0LCAweDgwLCAweDI1fX0sCi0gezB4MDg0NiwgNjQsIHsgMHgxOCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3YiwgMHhmNSwgMHg4MywgMHhlZiwgMHhmMCwgMHgwNSwgMHgxOCwgMHhlNSwgMHgxOCwgMHhiNCwgMHgwOSwgMHhkYiwKLSAgMHg5MCwgMHg3ZiwgMHhjMywgMHg3NCwgMHgwOSwgMHhmMCwgMHg3NSwgMHgzOCwgMHgxMCwgMHhlNCwgMHhmNSwgMHgyYywgMHg3NSwgMHgwYSwgMHgwMSwgMHgyMiwKLSAgMHhlNSwgMHgwYSwgMHg2NCwgMHgwMSwgMHg3MCwgMHg0MCwgMHgzMCwgMHgwOCwgMHgzOSwgMHhlNSwgMHgzOSwgMHg3MCwgMHgzNSwgMHhjMiwgMHgwOCwgMHhmNSwKLSAgMHgxOCwgMHg3ZSwgMHgwMCwgMHg3YiwgMHgwMCwgMHg3NCwgMHgyZCwgMHgyNSwgMHgxOCwgMHhmOSwgMHhlZSwgMHgzNCwgMHgwMCwgMHhmYSwgMHgxMn19LAotIHsweDA4ODYsIDY0LCB7IDB4MGUsIDB4OGMsIDB4ZmYsIDB4NzQsIDB4ODAsIDB4MjUsIDB4MTgsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2IsIDB4ZjUsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4MDUsCi0gIDB4MTgsIDB4ZTUsIDB4MTgsIDB4YjQsIDB4MDksIDB4ZGIsIDB4OTAsIDB4N2YsIDB4YzMsIDB4NzQsIDB4MDksIDB4ZjAsIDB4NzUsIDB4MzksIDB4MTAsIDB4ZTQsCi0gIDB4ZjUsIDB4MzUsIDB4NzUsIDB4MGEsIDB4MDIsIDB4MjIsIDB4ZTUsIDB4MGEsIDB4NjQsIDB4MDIsIDB4NzAsIDB4MzYsIDB4MzAsIDB4MTQsIDB4MmYsIDB4YzIsCi0gIDB4MTQsIDB4ZjUsIDB4MTgsIDB4N2UsIDB4MDAsIDB4N2IsIDB4MDAsIDB4NzQsIDB4MGUsIDB4MjUsIDB4MTgsIDB4ZjksIDB4ZWUsIDB4MzQsIDB4MDB9fSwKLSB7MHgwOGM2LCA2NCwgeyAweGZhLCAweDEyLCAweDBlLCAweDhjLCAweGZmLCAweDc0LCAweDgwLCAweDI1LCAweDE4LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdiLCAweGY1LCAweDgzLCAweGVmLAotICAweGYwLCAweDA1LCAweDE4LCAweGU1LCAweDE4LCAweGI0LCAweDA1LCAweGRiLCAweDkwLCAweDdmLCAweGMzLCAweDc0LCAweDA1LCAweGYwLCAweDc1LCAweDBhLAotICAweDAzLCAweDIyLCAweGU1LCAweDE1LCAweDYwLCAweDMwLCAweDE1LCAweDE1LCAweGU0LCAweGY1LCAweDE4LCAweDdlLCAweDAwLCAweDdiLCAweDAwLCAweDc0LAotICAweDE0LCAweDI1LCAweDE4LCAweGY5LCAweGVlLCAweDM0LCAweDAwLCAweGZhLCAweDEyLCAweDBlLCAweDhjLCAweGZmLCAweDc0LCAweDgwLCAweDI1fX0sCi0gezB4MDkwNiwgNjQsIHsgMHgxOCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3YiwgMHhmNSwgMHg4MywgMHhlZiwgMHhmMCwgMHgwNSwgMHgxOCwgMHhlNSwgMHgxOCwgMHhiNCwgMHgwMywgMHhkYiwKLSAgMHg5MCwgMHg3ZiwgMHhjMywgMHg3NCwgMHgwMywgMHhmMCwgMHhlNCwgMHhmNSwgMHgwYSwgMHgyMiwgMHg5MCwgMHg3ZiwgMHhlOSwgMHhlMCwgMHgxMiwgMHgwZSwKLSAgMHhlNCwgMHgwYSwgMHgwOCwgMHgwMCwgMHgwYSwgMHg3YywgMHgwMSwgMHgwYSwgMHhlOCwgMHgwMywgMHgwOSwgMHg0NCwgMHgwNiwgMHgwOSwgMHhmYiwgMHgwOCwKLSAgMHgwOSwgMHhmNSwgMHgwOSwgMHgwOSwgMHhkZCwgMHgwYSwgMHgwOSwgMHhlYywgMHgwYiwgMHgwMCwgMHgwMCwgMHgwYiwgMHgzNywgMHg5MCwgMHg3Zn19LAotIHsweDA5NDYsIDY0LCB7IDB4ZWIsIDB4ZTAsIDB4MjQsIDB4ZmUsIDB4NjAsIDB4MTksIDB4MTQsIDB4NjAsIDB4NjEsIDB4MjQsIDB4MDIsIDB4NjAsIDB4MDMsIDB4MDIsIDB4MDksIDB4ZDMsIDB4NzQsCi0gIDB4MTksIDB4OTAsIDB4N2YsIDB4ZDQsIDB4ZjAsIDB4NzQsIDB4MDAsIDB4OTAsIDB4N2YsIDB4ZDUsIDB4ZjAsIDB4MDIsIDB4MGIsIDB4M2UsIDB4OTAsIDB4N2YsCi0gIDB4ZWEsIDB4ZTAsIDB4NzAsIDB4MDQsIDB4N2YsIDB4MDIsIDB4ODAsIDB4MDIsIDB4N2YsIDB4MDMsIDB4NzUsIDB4ODIsIDB4ODIsIDB4NzUsIDB4ODMsIDB4MTksCi0gIDB4ZWYsIDB4ZjAsIDB4NzUsIDB4ODIsIDB4N2IsIDB4NzUsIDB4ODMsIDB4MTksIDB4ZjAsIDB4NzUsIDB4ODIsIDB4NzQsIDB4NzUsIDB4ODMsIDB4MTl9fSwKLSB7MHgwOTg2LCA2NCwgeyAweGYwLCAweDc1LCAweDgyLCAweDY2LCAweDc1LCAweDgzLCAweDE5LCAweGYwLCAweDc1LCAweDgyLCAweDU4LCAweDc1LCAweDgzLCAweDE5LCAweGYwLCAweDkwLCAweDdmLAotICAweGVhLCAweGUwLCAweDA0LCAweDc1LCAweDgyLCAweDE3LCAweDc1LCAweDgzLCAweDE5LCAweGYwLCAweDc0LCAweDE5LCAweDkwLCAweDdmLCAweGQ0LCAweGYwLAotICAweDc0LCAweDEyLCAweDkwLCAweDdmLCAweGQ1LCAweGYwLCAweDAyLCAweDBiLCAweDNlLCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweGZmLCAweDEyLCAweDBmLAotICAweDBhLCAweGVhLCAweDQ5LCAweDYwLCAweDBkLCAweGVhLCAweDkwLCAweDdmLCAweGQ0LCAweGYwLCAweGU5LCAweDkwLCAweDdmLCAweGQ1LCAweGYwfX0sCi0gezB4MDljNiwgNjQsIHsgMHgwMiwgMHgwYiwgMHgzZSwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHgwMiwgMHgwYiwgMHgzZSwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwKLSAgMHg0NCwgMHgwMSwgMHhmMCwgMHgwMiwgMHgwYiwgMHgzZSwgMHg5MCwgMHg3ZiwgMHgwMCwgMHhlNSwgMHgwOSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHg3NCwKLSAgMHgwMSwgMHhmMCwgMHgwMiwgMHgwYiwgMHgzZSwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHhmNSwgMHgwOSwgMHgwMiwgMHgwYiwgMHgzZSwgMHgxMiwgMHgwYiwKLSAgMHg0NiwgMHgwMiwgMHgwYiwgMHgzZSwgMHg5MCwgMHg3ZiwgMHgwMCwgMHg3NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHhmMCwgMHgwMn19LAotIHsweDBhMDYsIDY0LCB7IDB4MGIsIDB4M2UsIDB4OTAsIDB4N2YsIDB4ZTgsIDB4ZTAsIDB4MjQsIDB4N2YsIDB4NjAsIDB4MjQsIDB4MTQsIDB4NjAsIDB4MzEsIDB4MjQsIDB4MDIsIDB4NzAsIDB4NWIsCi0gIDB4YTIsIDB4MTAsIDB4ZTQsIDB4MzMsIDB4ZmYsIDB4MjUsIDB4ZTAsIDB4ZmYsIDB4YTIsIDB4MTYsIDB4ZTQsIDB4MzMsIDB4NGYsIDB4OTAsIDB4N2YsIDB4MDAsCi0gIDB4ZjAsIDB4ZTQsIDB4YTMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4MDIsIDB4MGIsIDB4M2UsIDB4ZTQsIDB4OTAsIDB4N2YsCi0gIDB4MDAsIDB4ZjAsIDB4YTMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4MDIsIDB4MGIsIDB4M2UsIDB4OTAsIDB4N2Z9fSwKLSB7MHgwYTQ2LCA2NCwgeyAweGVjLCAweGUwLCAweGY0LCAweDU0LCAweDgwLCAweGZmLCAweGM0LCAweDU0LCAweDBmLCAweGZmLCAweGUwLCAweDU0LCAweDA3LCAweDJmLCAweDI1LCAweGUwLCAweDI0LAotICAweGI0LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdmLCAweGY1LCAweDgzLCAweGUwLCAweDU0LCAweGZkLCAweDkwLCAweDdmLCAweDAwLCAweGYwLCAweGU0LAotICAweGEzLCAweGYwLCAweDkwLCAweDdmLCAweGI1LCAweDc0LCAweDAyLCAweGYwLCAweDAyLCAweDBiLCAweDNlLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LAotICAweDAxLCAweGYwLCAweDAyLCAweDBiLCAweDNlLCAweDkwLCAweDdmLCAweGU4LCAweGUwLCAweDI0LCAweGZlLCAweDYwLCAweDFkLCAweDI0LCAweDAyfX0sCi0gezB4MGE4NiwgNjQsIHsgMHg2MCwgMHgwMywgMHgwMiwgMHgwYiwgMHgzZSwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHhiNCwgMHgwMSwgMHgwNSwgMHhjMiwgMHgxMCwgMHgwMiwgMHgwYiwgMHgzZSwKLSAgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHgwMiwgMHgwYiwgMHgzZSwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHg3MCwgMHgzOCwKLSAgMHg5MCwgMHg3ZiwgMHhlYywgMHhlMCwgMHhmNCwgMHg1NCwgMHg4MCwgMHhmZiwgMHhjNCwgMHg1NCwgMHgwZiwgMHhmZiwgMHhlMCwgMHg1NCwgMHgwNywgMHgyZiwKLSAgMHgyNSwgMHhlMCwgMHgyNCwgMHhiNCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZiwgMHhmNSwgMHg4MywgMHhlNCwgMHhmMCwgMHg5MCwgMHg3Zn19LAotIHsweDBhYzYsIDY0LCB7IDB4ZWMsIDB4ZTAsIDB4NTQsIDB4ODAsIDB4ZmYsIDB4MTMsIDB4MTMsIDB4MTMsIDB4NTQsIDB4MWYsIDB4ZmYsIDB4ZTAsIDB4NTQsIDB4MDcsIDB4MmYsIDB4OTAsIDB4N2YsCi0gIDB4ZDcsIDB4ZjAsIDB4ZTAsIDB4NDQsIDB4MjAsIDB4ZjAsIDB4ODAsIDB4NWYsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4ODAsCi0gIDB4NTYsIDB4OTAsIDB4N2YsIDB4ZTgsIDB4ZTAsIDB4MjQsIDB4ZmUsIDB4NjAsIDB4MTgsIDB4MjQsIDB4MDIsIDB4NzAsIDB4NGEsIDB4OTAsIDB4N2YsIDB4ZWEsCi0gIDB4ZTAsIDB4YjQsIDB4MDEsIDB4MDQsIDB4ZDIsIDB4MTAsIDB4ODAsIDB4M2YsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjB9fSwKLSB7MHgwYjA2LCA2NCwgeyAweDgwLCAweDM2LCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweDcwLCAweDIwLCAweDkwLCAweDdmLCAweGVjLCAweGUwLCAweGY0LCAweDU0LCAweDgwLCAweGZmLCAweGM0LAotICAweDU0LCAweDBmLCAweGZmLCAweGUwLCAweDU0LCAweDA3LCAweDJmLCAweDI1LCAweGUwLCAweDI0LCAweGI0LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdmLAotICAweGY1LCAweDgzLCAweDc0LCAweDAxLCAweGYwLCAweDgwLCAweDEwLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDgwLCAweDA3LAotICAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweDIyfX0sCi0gezB4MGI0NiwgNjQsIHsgMHhlNCwgMHg5MCwgMHg3ZiwgMHg5MywgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5YywgMHg3NCwgMHgzMCwgMHhmMCwgMHhlNCwgMHg5MCwgMHg3ZiwgMHg5NiwgMHhmMCwgMHg5MCwKLSAgMHg3ZiwgMHg5NSwgMHg3NCwgMHhjMCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5ZSwgMHg3NCwgMHgzZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxOCwKLSAgMHhmMCwgMHhlNCwgMHhmNSwgMHg4ZSwgMHg5MCwgMHg3ZiwgMHhkZiwgMHg3NCwgMHhmZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhkZSwgMHhmMCwgMHhlNCwgMHhmNSwKLSAgMHgyNCwgMHg3NSwgMHgxOCwgMHgwMSwgMHg3YiwgMHgwMCwgMHg3NCwgMHgyNCwgMHgyNSwgMHgxOCwgMHhmOSwgMHhlNCwgMHgzNCwgMHgwMCwgMHhmYX19LAotIHsweDBiODYsIDY0LCB7IDB4ZTQsIDB4MTIsIDB4MGUsIDB4ZDIsIDB4MDUsIDB4MTgsIDB4ZTUsIDB4MTgsIDB4YjQsIDB4MDksIDB4ZWEsIDB4NzUsIDB4M2EsIDB4MDEsIDB4ZTQsIDB4ZjUsIDB4MzgsCi0gIDB4ZjUsIDB4MTMsIDB4ZjUsIDB4MzYsIDB4YzIsIDB4MDcsIDB4YzIsIDB4MGIsIDB4YzIsIDB4MDUsIDB4YzIsIDB4MDAsIDB4YzIsIDB4MDksIDB4YzIsIDB4MTMsCi0gIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4NzUsIDB4NDQsIDB4MDMsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4MDMsIDB4ZjAsIDB4N2YsCi0gIDB4MGMsIDB4ZTQsIDB4ZmQsIDB4MTIsIDB4MTEsIDB4YjEsIDB4N2YsIDB4MTAsIDB4OGYsIDB4NDIsIDB4MTIsIDB4MTAsIDB4ODEsIDB4OTAsIDB4N2Z9fSwKLSB7MHgwYmM2LCA2NCwgeyAweDk4LCAweDc0LCAweDEyLCAweGYwLCAweDdmLCAweDAxLCAweDhmLCAweDQwLCAweGVmLCAweDQ0LCAweDA2LCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDkwLCAweDdmLAotICAweDk4LCAweDc0LCAweDE0LCAweGYwLCAweDc1LCAweDQ2LCAweDgwLCAweDkwLCAweGMwLCAweDAwLCAweDc0LCAweDgwLCAweGYwLCAweDBmLCAweGU0LCAweGZkLAotICAweDEyLCAweDExLCAweGIxLCAweGU0LCAweGZmLCAweDdlLCAweGEzLCAweGFkLCAweDA2LCAweDhkLCAweDNlLCAweDEyLCAweDExLCAweGIxLCAweDkwLCAweDdmLAotICAweDk4LCAweDc0LCAweDExLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGU0LCAweGYwLCAweDdmLCAweDA1LCAweDdkLCAweDdmLCAweDEyLCAweDExfX0sCi0gezB4MGMwNiwgNjQsIHsgMHhiMSwgMHg3ZiwgMHgwMSwgMHgxMiwgMHgxMiwgMHg2YSwgMHg3ZiwgMHgwMywgMHg3ZCwgMHgwNywgMHgxMiwgMHgxMSwgMHhiMSwgMHgyMCwgMHgxYiwgMHgwMywgMHgwMiwKLSAgMHgwYywgMHhiNywgMHg3NSwgMHgyZCwgMHgwMSwgMHg3NSwgMHgxOCwgMHgwMSwgMHg3YiwgMHgwMCwgMHg3NCwgMHgyZCwgMHgyNSwgMHgxOCwgMHhmOSwgMHhlNCwKLSAgMHgzNCwgMHgwMCwgMHhmYSwgMHhlNCwgMHgxMiwgMHgwZSwgMHhkMiwgMHgwNSwgMHgxOCwgMHhlNSwgMHgxOCwgMHhiNCwgMHgwOSwgMHhlYSwgMHg3NSwgMHgzYiwKLSAgMHgwMSwgMHhlNCwgMHhmNSwgMHgzOSwgMHhmNSwgMHgxMywgMHhmNSwgMHgzNywgMHhjMiwgMHgwOCwgMHhjMiwgMHgwYywgMHhjMiwgMHgwNiwgMHhjMn19LAotIHsweDBjNDYsIDY0LCB7IDB4MDAsIDB4YzIsIDB4MGEsIDB4YzIsIDB4MTMsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGIsIDB4ZjAsIDB4NzUsIDB4NDUsIDB4MDMsIDB4OTAsIDB4YzAsIDB4MDAsCi0gIDB4NzQsIDB4MDMsIDB4ZjAsIDB4N2YsIDB4MGMsIDB4ZTQsIDB4ZmQsIDB4MTIsIDB4MTEsIDB4ZmIsIDB4N2YsIDB4MTAsIDB4OGYsIDB4NDMsIDB4MTIsIDB4MTAsCi0gIDB4ZjMsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGEsIDB4ZjAsIDB4N2YsIDB4MDEsIDB4OGYsIDB4NDEsIDB4ZWYsIDB4NDQsIDB4MDYsIDB4OTAsIDB4YzAsCi0gIDB4MDAsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGMsIDB4ZjAsIDB4NzUsIDB4NDcsIDB4ODAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzR9fSwKLSB7MHgwYzg2LCA2NCwgeyAweDgwLCAweGYwLCAweDBmLCAweGU0LCAweGZkLCAweDEyLCAweDExLCAweGZiLCAweGU0LCAweGZmLCAweDdlLCAweGEzLCAweGFkLCAweDA2LCAweDhkLCAweDNmLCAweDEyLAotICAweDExLCAweGZiLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDA5LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGU0LCAweGYwLCAweDdmLCAweDA1LCAweDdkLAotICAweDdmLCAweDEyLCAweDExLCAweGZiLCAweDdmLCAweDAxLCAweDEyLCAweDEyLCAweDhiLCAweDdmLCAweDAzLCAweDdkLCAweDA3LCAweDEyLCAweDExLCAweGZiLAotICAweGQyLCAweDEyLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEwLCAweGYwLCAweGFmLCAweDA4LCAweGU1LCAweDBkLCAweGY1LCAweDgyfX0sCi0gezB4MGNjNiwgNjQsIHsgMHhlNSwgMHgwYywgMHhmNSwgMHg4MywgMHhjMiwgMHhhZiwgMHgwNSwgMHg4NiwgMHg5MCwgMHhjMCwgMHgwMCwgMHgwNSwgMHg4NiwgMHhlMCwgMHhhMywgMHgwNSwgMHg4NiwKLSAgMHhmMCwgMHgwNSwgMHg4NiwgMHhkZiwgMHhmNywgMHhkMiwgMHhhZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMCwgMHhmMCwgMHhhZiwgMHgwOCwKLSAgMHhlNSwgMHgwZCwgMHhmNSwgMHg4MiwgMHhlNSwgMHgwYywgMHhmNSwgMHg4MywgMHhjMiwgMHhhZiwgMHgwNSwgMHg4NiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwKLSAgMHgwNSwgMHg4NiwgMHhmMCwgMHhhMywgMHgwNSwgMHg4NiwgMHhkZiwgMHhmNywgMHgwNSwgMHg4NiwgMHhkMiwgMHhhZiwgMHgyMiwgMHg5MCwgMHg3Zn19LAotIHsweDBkMDYsIDY0LCB7IDB4OTgsIDB4NzQsIDB4MDgsIDB4ZjAsIDB4YWYsIDB4MDgsIDB4ZTUsIDB4MGQsIDB4ZjUsIDB4ODIsIDB4ZTUsIDB4MGMsIDB4ZjUsIDB4ODMsIDB4YzIsIDB4YWYsIDB4MDUsCi0gIDB4ODYsIDB4OTAsIDB4YzAsIDB4MDAsIDB4MDUsIDB4ODYsIDB4ZTAsIDB4YTMsIDB4MDUsIDB4ODYsIDB4ZjAsIDB4MDUsIDB4ODYsIDB4ZGYsIDB4ZjcsIDB4ZDIsCi0gIDB4YWYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MDgsIDB4ZjAsIDB4YWYsIDB4MDgsIDB4ZTUsIDB4MGQsIDB4ZjUsIDB4ODIsIDB4ZTUsIDB4MGMsCi0gIDB4ZjUsIDB4ODMsIDB4YzIsIDB4YWYsIDB4MDUsIDB4ODYsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4MDUsIDB4ODYsIDB4ZjAsIDB4YTMsIDB4MDV9fSwKLSB7MHgwZDQ2LCA2NCwgeyAweDg2LCAweGRmLCAweGY3LCAweDA1LCAweDg2LCAweGQyLCAweGFmLCAweDIyLCAweDc0LCAweDAwLCAweGY1LCAweDg2LCAweDkwLCAweGZkLCAweGE1LCAweDdjLCAweDA1LAotICAweGEzLCAweGU1LCAweDgyLCAweDQ1LCAweDgzLCAweDcwLCAweGY5LCAweDIyLCAweDkwLCAweDdmLCAweGQ2LCAweGUwLCAweDQ0LCAweDgwLCAweGYwLCAweDQzLAotICAweDg3LCAweDAxLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDIyLCAweGQyLCAweDE5LCAweDkwLCAweDdmLCAweDkyLCAweGUwLCAweDQ0LCAweDAyLAotICAweGYwLCAweDkwLCAweDdmLCAweGFlLCAweGUwLCAweGZmLCAweGQzLCAweDkyLCAweDEwLCAweGU0LCAweDMzLCAweGZlLCAweGVmLCAweDRlLCAweGYwfX0sCi0gezB4MGQ4NiwgNjQsIHsgMHhkMiwgMHhlOCwgMHg0MywgMHhkOCwgMHgyMCwgMHg5MCwgMHg3ZiwgMHhkZSwgMHg3NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhkZiwgMHhmMCwgMHg5MCwgMHg3ZiwKLSAgMHhhYiwgMHg3NCwgMHhmZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhOSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhYSwgMHhmMCwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwKLSAgMHg3ZiwgMHhhZiwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhZSwgMHhlMCwgMHg0NCwgMHgwZCwgMHhmMCwgMHhkMiwgMHhhZiwgMHhkMiwKLSAgMHgxYSwgMHgxMiwgMHgxMiwgMHg0NSwgMHhjMiwgMHgxMSwgMHhlNCwgMHhmNSwgMHgwYiwgMHhmNSwgMHgxMywgMHhjMiwgMHgxNywgMHhjMiwgMHgxMn19LAotIHsweDBkYzYsIDY0LCB7IDB4OTAsIDB4N2YsIDB4YTEsIDB4MDQsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZDgsIDB4ZTAsIDB4NjUsIDB4MTcsIDB4NjAsIDB4MTAsIDB4MzAsIDB4MTIsIDB4MDUsIDB4ZDIsCi0gIDB4MWEsIDB4MTIsIDB4MDAsIDB4NDYsIDB4OTAsIDB4N2YsIDB4ZDgsIDB4ZTAsIDB4ZjUsIDB4MTcsIDB4ODAsIDB4MDgsIDB4MzAsIDB4MTIsIDB4MDUsIDB4YzIsCi0gIDB4MWEsIDB4MTIsIDB4MDAsIDB4NDYsIDB4MzAsIDB4MTEsIDB4MDcsIDB4YzIsIDB4MTEsIDB4MTIsIDB4MDksIDB4MjEsIDB4ODAsIDB4ZDYsIDB4MzAsIDB4MTgsCi0gIDB4ZDMsIDB4YzIsIDB4MTgsIDB4MTIsIDB4MTMsIDB4OTMsIDB4ODAsIDB4Y2MsIDB4MjIsIDB4NzgsIDB4N2YsIDB4ZTQsIDB4ZjYsIDB4ZDgsIDB4ZmR9fSwKLSB7MHgwZTA2LCA2NCwgeyAweDc1LCAweDgxLCAweDQ3LCAweDAyLCAweDBlLCAweDQ3LCAweDAyLCAweDBkLCAweDZmLCAweGU0LCAweDkzLCAweGEzLCAweGY4LCAweGU0LCAweDkzLCAweGEzLCAweDQwLAotICAweDAzLCAweGY2LCAweDgwLCAweDAxLCAweGYyLCAweDA4LCAweGRmLCAweGY0LCAweDgwLCAweDI5LCAweGU0LCAweDkzLCAweGEzLCAweGY4LCAweDU0LCAweDA3LAotICAweDI0LCAweDBjLCAweGM4LCAweGMzLCAweDMzLCAweGM0LCAweDU0LCAweDBmLCAweDQ0LCAweDIwLCAweGM4LCAweDgzLCAweDQwLCAweDA0LCAweGY0LCAweDU2LAotICAweDgwLCAweDAxLCAweDQ2LCAweGY2LCAweGRmLCAweGU0LCAweDgwLCAweDBiLCAweDAxLCAweDAyLCAweDA0LCAweDA4LCAweDEwLCAweDIwLCAweDQwfX0sCi0gezB4MGU0NiwgNjQsIHsgMHg4MCwgMHg5MCwgMHgxMiwgMHhhYywgMHhlNCwgMHg3ZSwgMHgwMSwgMHg5MywgMHg2MCwgMHhiYywgMHhhMywgMHhmZiwgMHg1NCwgMHgzZiwgMHgzMCwgMHhlNSwgMHgwOSwKLSAgMHg1NCwgMHgxZiwgMHhmZSwgMHhlNCwgMHg5MywgMHhhMywgMHg2MCwgMHgwMSwgMHgwZSwgMHhjZiwgMHg1NCwgMHhjMCwgMHgyNSwgMHhlMCwgMHg2MCwgMHhhOCwKLSAgMHg0MCwgMHhiOCwgMHhlNCwgMHg5MywgMHhhMywgMHhmYSwgMHhlNCwgMHg5MywgMHhhMywgMHhmOCwgMHhlNCwgMHg5MywgMHhhMywgMHhjOCwgMHhjNSwgMHg4MiwKLSAgMHhjOCwgMHhjYSwgMHhjNSwgMHg4MywgMHhjYSwgMHhmMCwgMHhhMywgMHhjOCwgMHhjNSwgMHg4MiwgMHhjOCwgMHhjYSwgMHhjNSwgMHg4MywgMHhjYX19LAotIHsweDBlODYsIDY0LCB7IDB4ZGYsIDB4ZTksIDB4ZGUsIDB4ZTcsIDB4ODAsIDB4YmUsIDB4YmIsIDB4MDEsIDB4MDYsIDB4ODksIDB4ODIsIDB4OGEsIDB4ODMsIDB4ZTAsIDB4MjIsIDB4NTAsIDB4MDIsCi0gIDB4ZTcsIDB4MjIsIDB4YmIsIDB4ZmUsIDB4MDIsIDB4ZTMsIDB4MjIsIDB4ODksIDB4ODIsIDB4OGEsIDB4ODMsIDB4ZTQsIDB4OTMsIDB4MjIsIDB4YmIsIDB4MDEsCi0gIDB4MGMsIDB4ZTUsIDB4ODIsIDB4MjksIDB4ZjUsIDB4ODIsIDB4ZTUsIDB4ODMsIDB4M2EsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MjIsIDB4NTAsIDB4MDYsIDB4ZTksCi0gIDB4MjUsIDB4ODIsIDB4ZjgsIDB4ZTYsIDB4MjIsIDB4YmIsIDB4ZmUsIDB4MDYsIDB4ZTksIDB4MjUsIDB4ODIsIDB4ZjgsIDB4ZTIsIDB4MjIsIDB4ZTV9fSwKLSB7MHgwZWM2LCA2NCwgeyAweDgyLCAweDI5LCAweGY1LCAweDgyLCAweGU1LCAweDgzLCAweDNhLCAweGY1LCAweDgzLCAweGU0LCAweDkzLCAweDIyLCAweGJiLCAweDAxLCAweDA2LCAweDg5LCAweDgyLAotICAweDhhLCAweDgzLCAweGYwLCAweDIyLCAweDUwLCAweDAyLCAweGY3LCAweDIyLCAweGJiLCAweGZlLCAweDAxLCAweGYzLCAweDIyLCAweGQwLCAweDgzLCAweGQwLAotICAweDgyLCAweGY4LCAweGU0LCAweDkzLCAweDcwLCAweDEyLCAweDc0LCAweDAxLCAweDkzLCAweDcwLCAweDBkLCAweGEzLCAweGEzLCAweDkzLCAweGY4LCAweDc0LAotICAweDAxLCAweDkzLCAweGY1LCAweDgyLCAweDg4LCAweDgzLCAweGU0LCAweDczLCAweDc0LCAweDAyLCAweDkzLCAweDY4LCAweDYwLCAweGVmLCAweGEzfX0sCi0gezB4MGYwNiwgNjQsIHsgMHhhMywgMHhhMywgMHg4MCwgMHhkZiwgMHg4ZiwgMHgxOCwgMHhlNCwgMHhmNSwgMHgxOSwgMHg3NSwgMHgxYSwgMHhmZiwgMHg3NSwgMHgxYiwgMHgxOSwgMHg3NSwgMHgxYywKLSAgMHg4NiwgMHhhYiwgMHgxYSwgMHhhYSwgMHgxYiwgMHhhOSwgMHgxYywgMHg5MCwgMHgwMCwgMHgwMSwgMHgxMiwgMHgwZSwgMHhhNSwgMHhiNCwgMHgwMywgMHgxZCwKLSAgMHhhZiwgMHgxOSwgMHgwNSwgMHgxOSwgMHhlZiwgMHhiNSwgMHgxOCwgMHgwMSwgMHgyMiwgMHgxMiwgMHgwZSwgMHg4YywgMHg3ZSwgMHgwMCwgMHgyOSwgMHhmZiwKLSAgMHhlZSwgMHgzYSwgMHhhOSwgMHgwNywgMHg3NSwgMHgxYSwgMHhmZiwgMHhmNSwgMHgxYiwgMHg4OSwgMHgxYywgMHg4MCwgMHhkNCwgMHg3YiwgMHgwMH19LAotIHsweDBmNDYsIDY0LCB7IDB4N2EsIDB4MDAsIDB4NzksIDB4MDAsIDB4MjIsIDB4OGYsIDB4MWEsIDB4MDUsIDB4MGQsIDB4ZTUsIDB4MGQsIDB4YWUsIDB4MGMsIDB4NzAsIDB4MDIsIDB4MDUsIDB4MGMsCi0gIDB4MTQsIDB4ZjUsIDB4ODIsIDB4OGUsIDB4ODMsIDB4ZTUsIDB4MWEsIDB4ZjAsIDB4MTIsIDB4MDAsIDB4MzYsIDB4MDUsIDB4MGQsIDB4ZTUsIDB4MGQsIDB4YWMsCi0gIDB4MGMsIDB4NzAsIDB4MDIsIDB4MDUsIDB4MGMsIDB4MTQsIDB4ZjUsIDB4ODIsIDB4OGMsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4MTUsIDB4MDgsIDB4ZTUsIDB4MDgsCi0gIDB4NjAsIDB4MGEsIDB4MTIsIDB4MTMsIDB4MjcsIDB4OGYsIDB4MWEsIDB4ZWYsIDB4NDIsIDB4MzYsIDB4ODAsIDB4Y2EsIDB4MjIsIDB4OGYsIDB4MWF9fSwKLSB7MHgwZjg2LCA2NCwgeyAweDA1LCAweDBkLCAweGU1LCAweDBkLCAweGFlLCAweDBjLCAweDcwLCAweDAyLCAweDA1LCAweDBjLCAweDE0LCAweGY1LCAweDgyLCAweDhlLCAweDgzLCAweGU1LCAweDFhLAotICAweGYwLCAweDEyLCAweDEzLCAweDNmLCAweDA1LCAweDBkLCAweGU1LCAweDBkLCAweGFjLCAweDBjLCAweDcwLCAweDAyLCAweDA1LCAweDBjLCAweDE0LCAweGY1LAotICAweDgyLCAweDhjLCAweDgzLCAweGVmLCAweGYwLCAweDE1LCAweDA4LCAweGU1LCAweDA4LCAweDYwLCAweDBhLCAweDEyLCAweDEzLCAweDdiLCAweDhmLCAweDFhLAotICAweGVmLCAweDQyLCAweDM3LCAweDgwLCAweGNhLCAweDIyLCAweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGMwLCAweDg1LCAweGMwfX0sCi0gezB4MGZjNiwgNjQsIHsgMHg4NCwgMHhjMCwgMHg4NiwgMHg3NSwgMHg4NiwgMHgwMCwgMHg5MCwgMHg3ZiwgMHhjNCwgMHhlNCwgMHhmMCwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhYiwKLSAgMHg3NCwgMHgwNCwgMHhmMCwgMHhkMCwgMHg4NiwgMHhkMCwgMHg4NCwgMHhkMCwgMHg4NSwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMiwKLSAgMHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhjMCwgMHg4NSwgMHhjMCwgMHg4NCwgMHhjMCwgMHg4NiwgMHg3NSwgMHg4NiwgMHgwMCwgMHhkMiwKLSAgMHgxMSwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhYiwgMHg3NCwgMHgwMSwgMHhmMCwgMHhkMCwgMHg4NiwgMHhkMCwgMHg4NCwgMHhkMH19LAotIHsweDEwMDYsIDY0LCB7IDB4ODUsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzIsIDB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ODUsIDB4YzAsCi0gIDB4ODQsIDB4YzAsIDB4ODYsIDB4NzUsIDB4ODYsIDB4MDAsIDB4ZDIsIDB4MTgsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YWIsIDB4NzQsIDB4MDgsCi0gIDB4ZjAsIDB4ZDAsIDB4ODYsIDB4ZDAsIDB4ODQsIDB4ZDAsIDB4ODUsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzIsIDB4OTAsIDB4N2YsCi0gIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4YmYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTB9fSwKLSB7MHgxMDQ2LCA2NCwgeyAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweGU1LCAweDQ0LCAweDU0LCAweDdmLCAweDkwLAotICAweGMwLCAweDAwLCAweGYwLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweDc0LCAweGJmLCAweGYwLAotICAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDExLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLAotICAweGYwLCAweGU1LCAweDQ0LCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzfX0sCi0gezB4MTA4NiwgNjQsIHsgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHhiZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMiwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZiwKLSAgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHhlNSwgMHg0NCwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHgyMiwKLSAgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHhiZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwKLSAgMHgxNCwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHhlNSwgMHg0NH19LAotIHsweDEwYzYsIDY0LCB7IDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsCi0gIDB4YmYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTYsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsCi0gIDB4NzQsIDB4MTMsIDB4ZjAsIDB4ZTUsIDB4NDQsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsCi0gIDB4MGIsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4YmYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGEsIDB4ZjAsIDB4OTB9fSwKLSB7MHgxMTA2LCA2NCwgeyAweGMwLCAweDAwLCAweGVmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBiLCAweGYwLCAweGU1LCAweDQ1LCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLAotICAweGYwLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBiLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweDc0LCAweGJmLCAweGYwLCAweDkwLCAweDdmLAotICAweDk4LCAweDc0LCAweDA4LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBiLCAweGYwLCAweGU1LAotICAweDQ1LCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBiLCAweGYwLCAweDkwfX0sCi0gezB4MTE0NiwgNjQsIHsgMHhjMCwgMHgwMCwgMHg3NCwgMHhiZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwOSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZiwgMHhmMCwgMHg5MCwKLSAgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYiwgMHhmMCwgMHhlNSwgMHg0NSwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHgyMiwgMHg5MCwgMHg3ZiwKLSAgMHg5OCwgMHg3NCwgMHgwYiwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHhiZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYywgMHhmMCwKLSAgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYiwgMHhmMCwgMHhlNSwgMHg0NSwgMHg1NCwgMHg3Zn19LAotIHsweDExODYsIDY0LCB7IDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGIsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4YmYsIDB4ZjAsCi0gIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGUsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGIsCi0gIDB4ZjAsIDB4ZTUsIDB4NDUsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsCi0gIDB4ZTUsIDB4NDQsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTcsIDB4ZjAsIDB4OTB9fSwKLSB7MHgxMWM2LCA2NCwgeyAweGMwLCAweDAwLCAweGVmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDE1LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVkLCAweGYwLCAweDIyLCAweDEyLAotICAweDEzLCAweDBmLCAweDhmLCAweDFhLCAweDEyLCAweDEzLCAweDBmLCAweDhmLCAweDFiLCAweGU1LCAweDFhLCAweDY1LCAweDFiLCAweDYwLCAweDEyLCAweDEyLAotICAweDEzLCAweDBmLCAweDhmLCAweDFhLCAweGU1LCAweDFhLCAweDY1LCAweDFiLCAweDYwLCAweDA3LCAweDEyLCAweDEzLCAweDBmLCAweDhmLCAweDFiLCAweDgwLAotICAweGU4LCAweGFmLCAweDFhLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBiLCAweGYwLCAweGU1LCAweDQ1LCAweDU0LCAweDdmLCAweDkwfX0sCi0gezB4MTIwNiwgNjQsIHsgMHhjMCwgMHgwMCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwZiwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwKLSAgMHg3NCwgMHgwZCwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZCwgMHhmMCwgMHgyMiwgMHgxMiwgMHgxMywgMHg2MywgMHg4ZiwgMHgxYSwgMHgxMiwgMHgxMywKLSAgMHg2MywgMHg4ZiwgMHgxYiwgMHhlNSwgMHgxYSwgMHg2NSwgMHgxYiwgMHg2MCwgMHgxMiwgMHgxMiwgMHgxMywgMHg2MywgMHg4ZiwgMHgxYSwgMHhlNSwgMHgxYSwKLSAgMHg2NSwgMHgxYiwgMHg2MCwgMHgwNywgMHgxMiwgMHgxMywgMHg2MywgMHg4ZiwgMHgxYiwgMHg4MCwgMHhlOCwgMHhhZiwgMHgxYSwgMHgyMiwgMHg5MH19LAotIHsweDEyNDYsIDY0LCB7IDB4N2YsIDB4ZDYsIDB4ZTAsIDB4NTQsIDB4ZmIsIDB4ZjAsIDB4ZTAsIDB4NDQsIDB4MDgsIDB4ZjAsIDB4MzAsIDB4MWEsIDB4MDQsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsCi0gIDB4N2YsIDB4ZjQsIDB4N2UsIDB4MDEsIDB4MTIsIDB4MTIsIDB4YzgsIDB4OTAsIDB4N2YsIDB4ZDYsIDB4ZTAsIDB4NTQsIDB4ZjcsIDB4ZjAsIDB4ZTAsIDB4NDQsCi0gIDB4MDQsIDB4ZjAsIDB4MjIsIDB4YWUsIDB4MDcsIDB4ZTQsIDB4ZmYsIDB4ZTUsIDB4M2UsIDB4NTQsIDB4N2YsIDB4ZmQsIDB4MTIsIDB4MTEsIDB4YjEsIDB4OTAsCi0gIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTEsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWUsIDB4ZjAsIDB4ZTQsIDB4ZTUsIDB4M2UsIDB4NDQsIDB4ODB9fSwKLSB7MHgxMjg2LCA2NCwgeyAweGZkLCAweDEyLCAweDExLCAweGIxLCAweDIyLCAweGFlLCAweDA3LCAweGU0LCAweGZmLCAweGU1LCAweDNmLCAweDU0LCAweDdmLCAweGZkLCAweDEyLCAweDExLCAweGZiLAotICAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDA5LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVlLCAweGYwLCAweGU0LCAweGU1LCAweDNmLCAweDQ0LCAweDgwLAotICAweGZkLCAweDEyLCAweDExLCAweGZiLCAweDIyLCAweDA1LCAweDBlLCAweDAyLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAzLCAweDE0LCAweDAzLCAweDAwLAotICAweDAwLCAweGMxLCAweDExLCAweGMxLCAweDE4LCAweGMxLCAweDk1LCAweGMxLCAweDEwLCAweGMxLCAweDE2LCAweDAxLCAweDBhLCAweDAwLCAweGMxfX0sCi0gezB4MTJjNiwgNjQsIHsgMHg5YiwgMHgwMCwgMHg4ZSwgMHgxOCwgMHg4ZiwgMHgxOSwgMHhlNSwgMHgxOSwgMHgxNSwgMHgxOSwgMHhhZSwgMHgxOCwgMHg3MCwgMHgwMiwgMHgxNSwgMHgxOCwgMHg0ZSwKLSAgMHg2MCwgMHgwNSwgMHgxMiwgMHgwZCwgMHg0ZSwgMHg4MCwgMHhlZSwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMSwgMHhmMCwgMHg5MCwgMHhjMCwKLSAgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMiwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwKLSAgMHg1MywgMHhkOCwgMHhlZiwgMHgzMiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMiwgMHgwZiwgMHhlNywgMHgwMCwgMHgwMiwgMHgxM319LAotIHsweDEzMDYsIDY0LCB7IDB4MDQsIDB4MDAsIDB4MDIsIDB4MGYsIDB4YmQsIDB4MDAsIDB4MDIsIDB4MTAsIDB4MGUsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4OTAsIDB4YzAsCi0gIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTQsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsCi0gIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTUsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsCi0gIDB4MTYsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MDgsIDB4ZjAsIDB4OTB9fSwKLSB7MHgxMzQ2LCA2NCwgeyAweGMwLCAweDAwLCAweGUwLCAweGZmLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDA5LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweGZmLCAweDIyLAotICAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBhLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweGZmLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LAotICAweDBiLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweGZmLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBjLCAweGYwLCAweDkwLCAweGMwLAotICAweDAwLCAweGUwLCAweGZmLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBkLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweGZmfX0sCi0gezB4MTM4NiwgNjQsIHsgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwZSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwgMHgxMiwgMHgwMCwgMHgwMywgMHgxMiwKLSAgMHgwZCwgMHg1ZiwgMHgxMiwgMHgwYiwgMHg0NiwgMHgyMiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDEzYzYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNDA2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTQ0NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE0ODYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNGM2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTUwNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE1NDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNTg2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTVjNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE2MDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNjQ2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTY4NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE2YzYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNzA2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTc0NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE3ODYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxN2M2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTgwNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE4NDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxODg2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MThjNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgxMiwgMHgwMSwgMHgxMCwgMHgwMSwgMHhmZiwgMHgwMH19LAotIHsweDE5MDYsIDY0LCB7IDB4MDAsIDB4NDAsIDB4Y2QsIDB4MDYsIDB4MTAsIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDEsIDB4MDIsIDB4MDAsIDB4MDIsIDB4MDksIDB4MDIsIDB4NzQsIDB4MDAsIDB4MDEsCi0gIDB4MDEsIDB4MDAsIDB4YTAsIDB4MzIsIDB4MDksIDB4MDQsIDB4MDAsIDB4MDAsIDB4MGUsIDB4ZmYsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDEsCi0gIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDIsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDMsIDB4MDIsIDB4NDAsCi0gIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDQsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDUsIDB4MDIsIDB4NDAsIDB4MDB9fSwKLSB7MHgxOTQ2LCA2NCwgeyAweDAwLCAweDA3LCAweDA1LCAweDA2LCAweDAyLCAweDQwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDA3LCAweDAyLCAweDQwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LAotICAweDgxLCAweDAyLCAweDQwLCAweDAwLCAweDAxLCAweDA3LCAweDA1LCAweDgyLCAweDAyLCAweDQwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDgzLCAweDAyLAotICAweDQwLCAweDAwLCAweDAxLCAweDA3LCAweDA1LCAweDg0LCAweDAyLCAweDQwLCAweDAwLCAweDAxLCAweDA3LCAweDA1LCAweDg1LCAweDAyLCAweDQwLCAweDAwLAotICAweDAxLCAweDA3LCAweDA1LCAweDg2LCAweDAyLCAweDQwLCAweDAwLCAweDAxLCAweDA3LCAweDA1LCAweDg3LCAweDAyLCAweDQwLCAweDAwLCAweDAxfX0sCi0gezB4MTk4NiwgNjQsIHsgMHgwNCwgMHgwMywgMHgwOSwgMHgwNCwgMHg0OCwgMHgwMywgMHg0YiwgMHgwMCwgMHg2NSwgMHgwMCwgMHg3OSwgMHgwMCwgMHg3MywgMHgwMCwgMHg3MCwgMHgwMCwgMHg2MSwKLSAgMHgwMCwgMHg2ZSwgMHgwMCwgMHgyYywgMHgwMCwgMHgyMCwgMHgwMCwgMHg2MSwgMHgwMCwgMHgyMCwgMHgwMCwgMHg2NCwgMHgwMCwgMHg2OSwgMHgwMCwgMHg3NiwKLSAgMHgwMCwgMHg2OSwgMHgwMCwgMHg3MywgMHgwMCwgMHg2OSwgMHgwMCwgMHg2ZiwgMHgwMCwgMHg2ZSwgMHgwMCwgMHgyMCwgMHgwMCwgMHg2ZiwgMHgwMCwgMHg2NiwKLSAgMHgwMCwgMHgyMCwgMHgwMCwgMHg0OSwgMHgwMCwgMHg2ZSwgMHgwMCwgMHg2ZSwgMHgwMCwgMHg2ZiwgMHgwMCwgMHg1MywgMHgwMCwgMHg3OSwgMHgwMH19LAotIHsweDE5YzYsIDY0LCB7IDB4NzMsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NDksIDB4MDAsIDB4NmUsIDB4MDAsIDB4NjMsIDB4MDAsIDB4MmUsIDB4MDAsIDB4MzYsIDB4MDMsIDB4NGIsIDB4MDAsIDB4NjUsCi0gIDB4MDAsIDB4NzksIDB4MDAsIDB4NzMsIDB4MDAsIDB4NzAsIDB4MDAsIDB4NjEsIDB4MDAsIDB4NmUsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NTUsIDB4MDAsIDB4NTMsCi0gIDB4MDAsIDB4NDIsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NTMsIDB4MDAsIDB4NjUsIDB4MDAsIDB4NzIsIDB4MDAsIDB4NjksIDB4MDAsIDB4NjEsIDB4MDAsIDB4NmMsCi0gIDB4MDAsIDB4MjAsIDB4MDAsIDB4NDEsIDB4MDAsIDB4NjQsIDB4MDAsIDB4NjEsIDB4MDAsIDB4NzAsIDB4MDAsIDB4NzQsIDB4MDAsIDB4NjUsIDB4MDB9fSwKLSB7MHgxYTA2LCAgNCwgeyAweDcyLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4ZmZmZiwgIDAsICB7MHgwMH19Ci19OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2Ivc2VyaWFsL2tleXNwYW5fdXNhMjh4YV9mdy5oIGIvZHJpdmVycy91c2Ivc2VyaWFsL2tleXNwYW5fdXNhMjh4YV9mdy5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3YjU2Njc4Li4wMDAwMDAwCi0tLSBhL2RyaXZlcnMvdXNiL3NlcmlhbC9rZXlzcGFuX3VzYTI4eGFfZncuaAorKysgL2Rldi9udWxsCkBAIC0xLDQ0OSArMCwwIEBACi0vKiBrZXlzcGFuX3VzYTI4eGFfZncuaAotCi0JVGhlIGZpcm13YXJlIGNvbnRhaW5lZCBoZXJlaW4gYXMga2V5c3Bhbl91c2EyOHhhLmggaXMKLQotCQlDb3B5cmlnaHQgKEMpIDE5OTktMjAwMQotCQlLZXlzcGFuLCBBIGRpdmlzaW9uIG9mIElubm9TeXMgSW5jb3Jwb3JhdGVkICgiS2V5c3BhbiIpCi0JCQotCWFzIGFuIHVucHVibGlzaGVkIHdvcmsuIFRoaXMgbm90aWNlIGRvZXMgbm90IGltcGx5IHVucmVzdHJpY3RlZCBvcgotCXB1YmxpYyBhY2Nlc3MgdG8gdGhlIHNvdXJjZSBjb2RlIGZyb20gd2hpY2ggdGhpcyBmaXJtd2FyZSBpbWFnZSBpcwotCWRlcml2ZWQuICBFeGNlcHQgYXMgbm90ZWQgYmVsb3cgdGhpcyBmaXJtd2FyZSBpbWFnZSBtYXkgbm90IGJlIAotCXJlcHJvZHVjZWQsIHVzZWQsIHNvbGQgb3IgdHJhbnNmZXJyZWQgdG8gYW55IHRoaXJkIHBhcnR5IHdpdGhvdXQgCi0JS2V5c3BhbidzIHByaW9yIHdyaXR0ZW4gY29uc2VudC4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCi0KLQlQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkIGZvciB0aGUgZGlzdHJpYnV0aW9uIG9mIHRoaXMgZmlybXdhcmUgCi0JaW1hZ2UgYXMgcGFydCBvZiBhIExpbnV4IG9yIG90aGVyIE9wZW4gU291cmNlIG9wZXJhdGluZyBzeXN0ZW0ga2VybmVsIAotCWluIHRleHQgb3IgYmluYXJ5IGZvcm0gYXMgcmVxdWlyZWQuIAotCi0JVGhpcyBmaXJtd2FyZSBtYXkgbm90IGJlIG1vZGlmaWVkIGFuZCBtYXkgb25seSBiZSB1c2VkIHdpdGggIAotCUtleXNwYW4gaGFyZHdhcmUuICBEaXN0cmlidXRpb24gYW5kL29yIE1vZGlmaWNhdGlvbiBvZiB0aGUgCi0Ja2V5c3Bhbi5jIGRyaXZlciB3aGljaCBpbmNsdWRlcyB0aGlzIGZpcm13YXJlLCBpbiB3aG9sZSBvciBpbiAKLQlwYXJ0LCByZXF1aXJlcyB0aGUgaW5jbHVzaW9uIG9mIHRoaXMgc3RhdGVtZW50LiIKLQotCi0KLSovCi0KLXN0YXRpYyBjb25zdCBzdHJ1Y3QgZXp1c2JfaGV4X3JlY29yZCBrZXlzcGFuX3VzYTI4eGFfZmlybXdhcmVbXSA9IHsKLSB7MHgwMDMzLCAgMywgeyAweDAyLCAweDEyLCAweGY5fX0sCi0gezB4MDAwMywgMTYsIHsgMHhlNCwgMHg5MCwgMHg3ZiwgMHg5MywgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5YywgMHg3NCwgMHgzMCwgMHhmMCwgMHhlNCwgMHg5MCwgMHg3ZiwgMHg5NiwgMHhmMH19LAotIHsweDAwMTMsIDE2LCB7IDB4OTAsIDB4N2YsIDB4OTQsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWQsIDB4NzQsIDB4ZmYsIDB4ZjAsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4OTcsIDB4ZjAsIDB4OTB9fSwKLSB7MHgwMDIzLCAxNSwgeyAweDdmLCAweDk1LCAweGYwLCAweDkwLCAweDdmLCAweDllLCAweDc0LCAweDA3LCAweGYwLCAweGU0LCAweDkwLCAweDdmLCAweDk4LCAweGYwLCAweDIyfX0sCi0gezB4MDA0NiwgMTYsIHsgMHgzMCwgMHgwOSwgMHgxOCwgMHgxMiwgMHgxMywgMHgyNywgMHhlZiwgMHhjMywgMHg5NSwgMHgzYywgMHg0MCwgMHgwMywgMHgwMiwgMHgwMCwgMHhkOCwgMHg5MH19LAotIHsweDAwNTYsIDE2LCB7IDB4N2YsIDB4YmYsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4YzIsIDB4MDksIDB4YzIsIDB4MDAsIDB4ODAsIDB4NzcsIDB4MzAsIDB4MDMsIDB4M2IsIDB4OTAsIDB4N2Z9fSwKLSB7MHgwMDY2LCAxNiwgeyAweGM2LCAweGUwLCAweDIwLCAweGUxLCAweDZkLCAweDEyLCAweDEzLCAweDI3LCAweGVmLCAweGMzLCAweDk0LCAweDQwLCAweDUwLCAweDY0LCAweDkwLCAweDdlfX0sCi0gezB4MDA3NiwgMTYsIHsgMHg0MCwgMHhlMCwgMHgxMywgMHg5MiwgMHgwOSwgMHg5MCwgMHg3ZiwgMHhjNywgMHhlMCwgMHgxNCwgMHhmNSwgMHgxOSwgMHgyMCwgMHgwMCwgMHgxMSwgMHg2MH19LAotIHsweDAwODYsIDE2LCB7IDB4MGYsIDB4ZjUsIDB4MDgsIDB4N2UsIDB4N2UsIDB4N2YsIDB4NDEsIDB4NzUsIDB4MGMsIDB4N2UsIDB4NzUsIDB4MGQsIDB4NDEsIDB4MTIsIDB4MGMsIDB4Yzh9fSwKLSB7MHgwMDk2LCAxNiwgeyAweGMyLCAweDAzLCAweGU0LCAweDkwLCAweDdmLCAweGM3LCAweGYwLCAweDgwLCAweDM5LCAweDkwLCAweDdmLCAweGM4LCAweGUwLCAweDIwLCAweGUxLCAweDMyfX0sCi0gezB4MDBhNiwgMTYsIHsgMHgxMiwgMHgxMywgMHgyNywgMHhlZiwgMHhjMywgMHg5NCwgMHg0MCwgMHg1MCwgMHgyOSwgMHg5MCwgMHg3ZCwgMHhjMCwgMHhlMCwgMHgxMywgMHg5MiwgMHgwOX19LAotIHsweDAwYjYsIDE2LCB7IDB4OTAsIDB4N2YsIDB4YzksIDB4ZTAsIDB4MTQsIDB4ZjUsIDB4MTksIDB4MjAsIDB4MDAsIDB4MTEsIDB4NjAsIDB4MGYsIDB4ZjUsIDB4MDgsIDB4N2UsIDB4N2R9fSwKLSB7MHgwMGM2LCAxNiwgeyAweDdmLCAweGMxLCAweDc1LCAweDBjLCAweDdkLCAweDc1LCAweDBkLCAweGMxLCAweDEyLCAweDBjLCAweGM4LCAweGQyLCAweDAzLCAweGU0LCAweDkwLCAweDdmfX0sCi0gezB4MDBkNiwgMTYsIHsgMHhjOSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNiwgMHhlMCwgMHgzMCwgMHhlMSwgMHgwMywgMHgwMiwgMHgwMSwgMHg2MCwgMHgxMiwgMHgxMSwgMHhlNCwgMHg4Zn19LAotIHsweDAwZTYsIDE2LCB7IDB4MTksIDB4MTIsIDB4MTMsIDB4MzMsIDB4OGYsIDB4MzYsIDB4ZTUsIDB4MTksIDB4YzMsIDB4OTUsIDB4M2EsIDB4NTAsIDB4MGYsIDB4MTIsIDB4MTMsIDB4MGZ9fSwKLSB7MHgwMGY2LCAxNiwgeyAweGVmLCAweDMwLCAweGUwLCAweDA4LCAweGU1LCAweDM2LCAweDIwLCAweGU3LCAweDAzLCAweDMwLCAweDBiLCAweDVlLCAweGMyLCAweDBiLCAweGU1LCAweDE5fX0sCi0gezB4MDAzNiwgMTIsIHsgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMCwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMn19LAotIHsweDAwNDMsICAzLCB7IDB4MDIsIDB4MTMsIDB4MDB9fSwKLSB7MHgwMDAwLCAgMywgeyAweDAyLCAweDBlLCAweDBlfX0sCi0gezB4MDEwNiwgNjQsIHsgMHg2MCwgMHg1OCwgMHhiNCwgMHg4MCwgMHgwMywgMHg0MywgMHgzNiwgMHgwMiwgMHhlNSwgMHgzNiwgMHgzMCwgMHhlNywgMHgyNiwgMHhlNSwgMHgxOSwgMHhkMywgMHg5NCwKLSAgMHgyMCwgMHg0MCwgMHgwMywgMHg3NSwgMHgxOSwgMHgyMCwgMHg4NSwgMHgxOSwgMHgwOCwgMHg3ZSwgMHg3ZSwgMHg3ZiwgMHg4MCwgMHg3NSwgMHgwYywgMHg3ZSwKLSAgMHg3NSwgMHgwZCwgMHg4MCwgMHhhZiwgMHgzNiwgMHgxMiwgMHgwZiwgMHg1OSwgMHhlNSwgMHgxOSwgMHgyNSwgMHhlMCwgMHg5MCwgMHg3ZiwgMHhiNywgMHhmMCwKLSAgMHg4MCwgMHgyNywgMHhlNSwgMHgxOSwgMHhkMywgMHg5NCwgMHgzZiwgMHg0MCwgMHgwMywgMHg3NSwgMHgxOSwgMHgzZiwgMHg4NSwgMHgxOSwgMHgwOH19LAotIHsweDAxNDYsIDY0LCB7IDB4OTAsIDB4N2UsIDB4ODAsIDB4ZTUsIDB4MzYsIDB4ZjAsIDB4N2UsIDB4N2UsIDB4N2YsIDB4ODEsIDB4NzUsIDB4MGMsIDB4N2UsIDB4NzUsIDB4MGQsIDB4ODEsIDB4MTIsCi0gIDB4MGMsIDB4ZWQsIDB4ZTUsIDB4MTksIDB4MDQsIDB4OTAsIDB4N2YsIDB4YjcsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4Y2UsIDB4ZTAsIDB4MzAsIDB4ZTEsIDB4MDYsCi0gIDB4MjAsIDB4MDUsIDB4MDMsIDB4MDIsIDB4MDMsIDB4YzEsIDB4YzIsIDB4MDUsIDB4ZTQsIDB4ZjUsIDB4MTgsIDB4NzQsIDB4NDAsIDB4MjUsIDB4MTgsIDB4ZjUsCi0gIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2MsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmYsIDB4ZTUsIDB4MTgsIDB4N2MsIDB4MDAsIDB4N2IsIDB4MDEsIDB4N2F9fSwKLSB7MHgwMTg2LCA2NCwgeyAweDdlLCAweDc5LCAweDAwLCAweDI0LCAweDAwLCAweGY5LCAweGVjLCAweDM0LCAweDdlLCAweGZhLCAweGVmLCAweDEyLCAweDBlLCAweGUwLCAweDA1LCAweDE4LCAweGU1LAotICAweDE4LCAweGI0LCAweDIwLCAweGQ3LCAweDkwLCAweDdlLCAweDAwLCAweGUwLCAweDYwLCAweDY4LCAweDkwLCAweDdlLCAweDAzLCAweGUwLCAweDYwLCAweDI0LAotICAweDdmLCAweDAxLCAweGU0LCAweGZkLCAweDEyLCAweDExLCAweGJmLCAweDdmLCAweDAzLCAweDdkLCAweGNkLCAweDEyLCAweDExLCAweGJmLCAweDQzLCAweDQ2LAotICAweDgwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDE0LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGU1LCAweDQ2LCAweGYwLCAweGU0LCAweDkwfX0sCi0gezB4MDFjNiwgNjQsIHsgMHg3ZSwgMHgxMywgMHhmMCwgMHg4MCwgMHgzMCwgMHg5MCwgMHg3ZSwgMHgwMSwgMHhlMCwgMHhmZiwgMHgxMiwgMHgxMCwgMHg0MywgMHg5MCwgMHg3ZSwgMHgwMiwgMHhlMCwKLSAgMHhmZiwgMHgxMiwgMHgxMCwgMHg2OSwgMHg3ZiwgMHgwMSwgMHg5MCwgMHg3ZSwgMHgxMSwgMHhlMCwgMHhmZCwgMHgxMiwgMHgxMSwgMHhiZiwgMHg3ZiwgMHgwMywKLSAgMHg3ZCwgMHgwNywgMHgxMiwgMHgxMSwgMHhiZiwgMHg0MywgMHg0NiwgMHg4MCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxNCwgMHhmMCwgMHg5MCwgMHhjMCwKLSAgMHgwMCwgMHhlNSwgMHg0NiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMiwgMHhmMCwgMHhlNSwgMHg0MCwgMHg0NCwgMHgwNiwgMHg5MH19LAotIHsweDAyMDYsIDY0LCB7IDB4YzAsIDB4MDAsIDB4ZjAsIDB4OTAsIDB4N2UsIDB4MDMsIDB4ZTAsIDB4NzAsIDB4MDYsIDB4OTAsIDB4N2UsIDB4MTMsIDB4ZTAsIDB4NzAsIDB4MDgsIDB4ZTQsIDB4OTAsCi0gIDB4N2UsIDB4MTMsIDB4ZjAsIDB4NzUsIDB4MjUsIDB4ZmYsIDB4OTAsIDB4N2UsIDB4MDUsIDB4ZTAsIDB4NjAsIDB4MTIsIDB4YTMsIDB4ZTAsIDB4NTQsIDB4M2YsCi0gIDB4ZjUsIDB4NDQsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTUsIDB4NDQsIDB4ZjAsIDB4OTAsIDB4N2UsCi0gIDB4MDcsIDB4ZTAsIDB4NjAsIDB4MmIsIDB4YTMsIDB4ZTAsIDB4NjAsIDB4MDUsIDB4NDMsIDB4NDIsIDB4ODAsIDB4ODAsIDB4MDMsIDB4NTMsIDB4NDJ9fSwKLSB7MHgwMjQ2LCA2NCwgeyAweDdmLCAweDUzLCAweDQyLCAweGZjLCAweDkwLCAweDdlLCAweDA5LCAweGUwLCAweDYwLCAweDExLCAweDQzLCAweDQyLCAweDAyLCAweGEzLCAweGUwLCAweGZmLCAweDEyLAotICAweDEwLCAweGI1LCAweDkwLCAweDdlLCAweDBiLCAweGUwLCAweGZmLCAweDEyLCAweDEwLCAweGRiLCAweGFmLCAweDQyLCAweDEyLCAweDEwLCAweDhmLCAweDkwLAotICAweDdlLCAweDAzLCAweGUwLCAweDYwLCAweDA4LCAweDUzLCAweDQyLCAweDdmLCAweGFmLCAweDQyLCAweDEyLCAweDEwLCAweDhmLCAweDkwLCAweDdlLCAweDBjLAotICAweGUwLCAweDYwLCAweDE4LCAweGEzLCAweGUwLCAweDYwLCAweDA1LCAweDQzLCAweDQ2LCAweDAyLCAweDgwLCAweDAzLCAweDUzLCAweDQ2LCAweGZkfX0sCi0gezB4MDI4NiwgNjQsIHsgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxNCwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlNSwgMHg0NiwgMHhmMCwgMHg5MCwgMHg3ZSwgMHgwZSwgMHhlMCwgMHg2MCwKLSAgMHgxOCwgMHhhMywgMHhlMCwgMHg2MCwgMHgwNSwgMHg0MywgMHg0NiwgMHgwMSwgMHg4MCwgMHgwMywgMHg1MywgMHg0NiwgMHhmZSwgMHg5MCwgMHg3ZiwgMHg5OCwKLSAgMHg3NCwgMHgxNCwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlNSwgMHg0NiwgMHhmMCwgMHg5MCwgMHg3ZSwgMHgxMiwgMHhlMCwgMHhmNSwgMHgzYSwgMHhhMywKLSAgMHhlMCwgMHgxMywgMHg5MiwgMHgwZCwgMHhhMywgMHhlMCwgMHhmNSwgMHgzYywgMHhhMywgMHhlMCwgMHg2MCwgMHgwNSwgMHg0MywgMHg0NiwgMHgxMH19LAotIHsweDAyYzYsIDY0LCB7IDB4ODAsIDB4MDMsIDB4NTMsIDB4NDYsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTQsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTUsIDB4NDYsIDB4ZjAsCi0gIDB4OTAsIDB4N2UsIDB4MTYsIDB4ZTAsIDB4NjAsIDB4MzIsIDB4NTMsIDB4NDQsIDB4YmYsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4ZTUsCi0gIDB4NDQsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTEsIDB4ZjAsIDB4MTIsIDB4MTIsIDB4ZWQsCi0gIDB4ZWYsIDB4NTQsIDB4ZmUsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4NTMsIDB4M2UsIDB4ZmQsIDB4ZTQsIDB4ZmYsIDB4YWQsIDB4M2UsIDB4MTJ9fSwKLSB7MHgwMzA2LCA2NCwgeyAweDExLCAweGJmLCAweGU0LCAweGY1LCAweDJhLCAweGY1LCAweDI5LCAweGQyLCAweDA3LCAweDkwLCAweDdlLCAweDE3LCAweGUwLCAweDYwLCAweDBmLCAweDQzLCAweDNlLAotICAweDAyLCAweGU0LCAweGZmLCAweGFkLCAweDNlLCAweDEyLCAweDExLCAweGJmLCAweDc1LCAweDI5LCAweDAxLCAweGQyLCAweDA3LCAweDkwLCAweDdlLCAweDE4LAotICAweGUwLCAweDYwLCAweDEwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEyLCAweGYwLCAweGU1LCAweDQwLCAweDQ0LCAweDA0LCAweDkwLCAweGMwLCAweDAwLAotICAweGYwLCAweGQyLCAweDAwLCAweDkwLCAweDdlLCAweDE5LCAweGUwLCAweDYwLCAweDExLCAweDQzLCAweDQ0LCAweDQwLCAweDkwLCAweDdmLCAweDk4fX0sCi0gezB4MDM0NiwgNjQsIHsgMHg3NCwgMHgxMywgMHhmMCwgMHhlNSwgMHg0NCwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHg5MCwgMHg3ZSwgMHgxYSwgMHhlMCwgMHg2MCwgMHgwZiwKLSAgMHg1MywgMHgzZSwgMHhmZSwgMHhlNCwgMHhmZiwgMHhhZCwgMHgzZSwgMHgxMiwgMHgxMSwgMHhiZiwgMHg3NSwgMHgyYiwgMHgwMSwgMHhkMiwgMHgwNywgMHg5MCwKLSAgMHg3ZSwgMHgxYiwgMHhlMCwgMHg2MCwgMHgwZiwgMHg0MywgMHgzZSwgMHgwMSwgMHhlNCwgMHhmZiwgMHhhZCwgMHgzZSwgMHgxMiwgMHgxMSwgMHhiZiwgMHhlNCwKLSAgMHhmNSwgMHgyYiwgMHhkMiwgMHgwNywgMHg5MCwgMHg3ZSwgMHgxYywgMHhlMCwgMHg2MCwgMHgwZSwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMn19LAotIHsweDAzODYsIDY0LCB7IDB4ZjAsIDB4ZTUsIDB4NDAsIDB4NDQsIDB4MDIsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4OTAsIDB4N2UsIDB4MWQsIDB4ZTAsIDB4NjAsIDB4MDIsIDB4ZDIsIDB4MGIsCi0gIDB4OTAsIDB4N2UsIDB4MWUsIDB4ZTAsIDB4NjAsIDB4MDgsIDB4NzUsIDB4MmMsIDB4MDEsIDB4ZTQsIDB4ZjUsIDB4MzgsIDB4ZDIsIDB4MDcsIDB4OTAsIDB4N2UsCi0gIDB4MWYsIDB4ZTAsIDB4NjAsIDB4MTEsIDB4OTAsIDB4N2YsIDB4ZDcsIDB4NzQsIDB4MTEsIDB4ZjAsIDB4NzQsIDB4MzEsIDB4ZjAsIDB4NzQsIDB4MTUsIDB4ZjAsCi0gIDB4NzQsIDB4MzUsIDB4ZjAsIDB4ZDIsIDB4MDMsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4Y2YsIDB4ZjAsIDB4MzAsIDB4MWEsIDB4NTIsIDB4ZTUsIDB4Mzh9fSwKLSB7MHgwM2M2LCA2NCwgeyAweDYwLCAweDAyLCAweDE1LCAweDM4LCAweDIwLCAweDEzLCAweDQ5LCAweGU1LCAweDEzLCAweGQzLCAweDk0LCAweDAwLCAweDQwLCAweDA0LCAweDE1LCAweDEzLCAweDgwLAotICAweDNlLCAweDc1LCAweDEzLCAweDBhLCAweDMwLCAweDFiLCAweDAyLCAweGQyLCAweDEzLCAweDEyLCAweDEyLCAweGVkLCAweGVmLCAweDU0LCAweDAxLCAweGY1LAotICAweDE5LCAweDY1LCAweDJhLCAweDYwLCAweDA1LCAweDg1LCAweDE5LCAweDJhLCAweGQyLCAweDA3LCAweDEyLCAweDEzLCAweDNmLCAweGVmLCAweDU0LCAweDgwLAotICAweGY1LCAweDE5LCAweDY1LCAweDI2LCAweDYwLCAweDA1LCAweDg1LCAweDE5LCAweDI2LCAweGQyLCAweDA3LCAweDMwLCAweDBkLCAweDExLCAweDEyfX0sCi0gezB4MDQwNiwgNjQsIHsgMHgxMywgMHgzZiwgMHhlZiwgMHg1NCwgMHgxMCwgMHhmNSwgMHgxOSwgMHg2NSwgMHgyNSwgMHg2MCwgMHgwNSwgMHg4NSwgMHgxOSwgMHgyNSwgMHhkMiwgMHgwNywgMHgyMCwKLSAgMHgxYiwgMHgwMywgMHgwMiwgMHgwNywgMHhlYywgMHgzMCwgMHgwYSwgMHgxOCwgMHgxMiwgMHgxMywgMHg3YiwgMHhlZiwgMHhjMywgMHg5NSwgMHgzZCwgMHg0MCwKLSAgMHgwMywgMHgwMiwgMHgwNCwgMHhhZSwgMHg5MCwgMHg3ZiwgMHhjMSwgMHg3NCwgMHgwMSwgMHhmMCwgMHhjMiwgMHgwYSwgMHhjMiwgMHgwMCwgMHg4MCwgMHg3NywKLSAgMHgzMCwgMHgwNCwgMHgzYiwgMHg5MCwgMHg3ZiwgMHhjYSwgMHhlMCwgMHgyMCwgMHhlMSwgMHg2ZCwgMHgxMiwgMHgxMywgMHg3YiwgMHhlZiwgMHhjM319LAotIHsweDA0NDYsIDY0LCB7IDB4OTQsIDB4NDAsIDB4NTAsIDB4NjQsIDB4OTAsIDB4N2QsIDB4NDAsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MGEsIDB4OTAsIDB4N2YsIDB4Y2IsIDB4ZTAsIDB4MTQsIDB4ZjUsCi0gIDB4MTksIDB4MjAsIDB4MDAsIDB4MTEsIDB4NjAsIDB4MGYsIDB4ZjUsIDB4MDgsIDB4N2UsIDB4N2QsIDB4N2YsIDB4NDEsIDB4NzUsIDB4MGMsIDB4N2QsIDB4NzUsCi0gIDB4MGQsIDB4NDEsIDB4MTIsIDB4MGQsIDB4MTIsIDB4YzIsIDB4MDQsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4Y2IsIDB4ZjAsIDB4ODAsIDB4MzksIDB4OTAsIDB4N2YsCi0gIDB4Y2MsIDB4ZTAsIDB4MjAsIDB4ZTEsIDB4MzIsIDB4MTIsIDB4MTMsIDB4N2IsIDB4ZWYsIDB4YzMsIDB4OTQsIDB4NDAsIDB4NTAsIDB4MjksIDB4OTB9fSwKLSB7MHgwNDg2LCA2NCwgeyAweDdjLCAweGMwLCAweGUwLCAweDEzLCAweDkyLCAweDBhLCAweDkwLCAweDdmLCAweGNkLCAweGUwLCAweDE0LCAweGY1LCAweDE5LCAweDIwLCAweDAwLCAweDExLCAweDYwLAotICAweDBmLCAweGY1LCAweDA4LCAweDdlLCAweDdjLCAweDdmLCAweGMxLCAweDc1LCAweDBjLCAweDdjLCAweDc1LCAweDBkLCAweGMxLCAweDEyLCAweDBkLCAweDEyLAotICAweGQyLCAweDA0LCAweGU0LCAweDkwLCAweDdmLCAweGNkLCAweGYwLCAweDkwLCAweDdmLCAweGJhLCAweGUwLCAweDMwLCAweGUxLCAweDAzLCAweDAyLCAweDA1LAotICAweDM2LCAweDEyLCAweDEyLCAweDJlLCAweDhmLCAweDE5LCAweDEyLCAweDEzLCAweDg3LCAweDhmLCAweDM3LCAweGU1LCAweDE5LCAweGMzLCAweDk1fX0sCi0gezB4MDRjNiwgNjQsIHsgMHgzYiwgMHg1MCwgMHgwZiwgMHgxMiwgMHgxMywgMHg2MywgMHhlZiwgMHgzMCwgMHhlMCwgMHgwOCwgMHhlNSwgMHgzNywgMHgyMCwgMHhlNywgMHgwMywgMHgzMCwgMHgwYywKLSAgMHg1ZSwgMHhjMiwgMHgwYywgMHhlNSwgMHgxOSwgMHg2MCwgMHg1OCwgMHhiNCwgMHg4MCwgMHgwMywgMHg0MywgMHgzNywgMHgwMiwgMHhlNSwgMHgzNywgMHgzMCwKLSAgMHhlNywgMHgyNiwgMHhlNSwgMHgxOSwgMHhkMywgMHg5NCwgMHgyMCwgMHg0MCwgMHgwMywgMHg3NSwgMHgxOSwgMHgyMCwgMHg4NSwgMHgxOSwgMHgwOCwgMHg3ZSwKLSAgMHg3ZCwgMHg3ZiwgMHg4MCwgMHg3NSwgMHgwYywgMHg3ZCwgMHg3NSwgMHgwZCwgMHg4MCwgMHhhZiwgMHgzNywgMHgxMiwgMHgwZiwgMHg5MiwgMHhlNX19LAotIHsweDA1MDYsIDY0LCB7IDB4MTksIDB4MjUsIDB4ZTAsIDB4OTAsIDB4N2YsIDB4YmIsIDB4ZjAsIDB4ODAsIDB4MjcsIDB4ZTUsIDB4MTksIDB4ZDMsIDB4OTQsIDB4M2YsIDB4NDAsIDB4MDMsIDB4NzUsCi0gIDB4MTksIDB4M2YsIDB4ODUsIDB4MTksIDB4MDgsIDB4OTAsIDB4N2QsIDB4ODAsIDB4ZTUsIDB4MzcsIDB4ZjAsIDB4N2UsIDB4N2QsIDB4N2YsIDB4ODEsIDB4NzUsCi0gIDB4MGMsIDB4N2QsIDB4NzUsIDB4MGQsIDB4ODEsIDB4MTIsIDB4MGQsIDB4MzcsIDB4ZTUsIDB4MTksIDB4MDQsIDB4OTAsIDB4N2YsIDB4YmIsIDB4ZjAsIDB4OTAsCi0gIDB4N2YsIDB4ZDAsIDB4ZTAsIDB4MzAsIDB4ZTEsIDB4MDYsIDB4MjAsIDB4MDYsIDB4MDMsIDB4MDIsIDB4MDcsIDB4OTcsIDB4YzIsIDB4MDYsIDB4ZTR9fSwKLSB7MHgwNTQ2LCA2NCwgeyAweGY1LCAweDE4LCAweDc0LCAweGMwLCAweDI1LCAweDE4LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdiLCAweGY1LCAweDgzLCAweGUwLCAweGZmLCAweGU1LCAweDE4LAotICAweDdjLCAweDAwLCAweDdiLCAweDAxLCAweDdhLCAweDdlLCAweDc5LCAweDIwLCAweDI0LCAweDIwLCAweGY5LCAweGVjLCAweDM0LCAweDdlLCAweGZhLCAweGVmLAotICAweDEyLCAweDBlLCAweGUwLCAweDA1LCAweDE4LCAweGU1LCAweDE4LCAweGI0LCAweDIwLCAweGQ3LCAweDkwLCAweDdlLCAweDIwLCAweGUwLCAweDYwLCAweDY4LAotICAweDkwLCAweDdlLCAweDIzLCAweGUwLCAweDYwLCAweDI0LCAweDdmLCAweDAxLCAweGU0LCAweGZkLCAweDEyLCAweDEyLCAweDA5LCAweDdmLCAweDAzfX0sCi0gezB4MDU4NiwgNjQsIHsgMHg3ZCwgMHhjZCwgMHgxMiwgMHgxMiwgMHgwOSwgMHg0MywgMHg0NywgMHg4MCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwKLSAgMHhlNSwgMHg0NywgMHhmMCwgMHhlNCwgMHg5MCwgMHg3ZSwgMHgzMywgMHhmMCwgMHg4MCwgMHgzMCwgMHg5MCwgMHg3ZSwgMHgyMSwgMHhlMCwgMHhmZiwgMHgxMiwKLSAgMHgxMSwgMHgyNywgMHg5MCwgMHg3ZSwgMHgyMiwgMHhlMCwgMHhmZiwgMHgxMiwgMHgxMSwgMHg0ZCwgMHg3ZiwgMHgwMSwgMHg5MCwgMHg3ZSwgMHgzMSwgMHhlMCwKLSAgMHhmZCwgMHgxMiwgMHgxMiwgMHgwOSwgMHg3ZiwgMHgwMywgMHg3ZCwgMHgwNywgMHgxMiwgMHgxMiwgMHgwOSwgMHg0MywgMHg0NywgMHg4MCwgMHg5MH19LAotIHsweDA1YzYsIDY0LCB7IDB4N2YsIDB4OTgsIDB4NzQsIDB4MGMsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTUsIDB4NDcsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGEsIDB4ZjAsCi0gIDB4ZTUsIDB4NDEsIDB4NDQsIDB4MDYsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4OTAsIDB4N2UsIDB4MjMsIDB4ZTAsIDB4NzAsIDB4MDYsIDB4OTAsIDB4N2UsCi0gIDB4MzMsIDB4ZTAsIDB4NzAsIDB4MDgsIDB4ZTQsIDB4OTAsIDB4N2UsIDB4MzMsIDB4ZjAsIDB4NzUsIDB4MmUsIDB4ZmYsIDB4OTAsIDB4N2UsIDB4MjUsIDB4ZTAsCi0gIDB4NjAsIDB4MTIsIDB4YTMsIDB4ZTAsIDB4NTQsIDB4M2YsIDB4ZjUsIDB4NDUsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGIsIDB4ZjAsIDB4OTB9fSwKLSB7MHgwNjA2LCA2NCwgeyAweGMwLCAweDAwLCAweGU1LCAweDQ1LCAweGYwLCAweDkwLCAweDdlLCAweDI3LCAweGUwLCAweDYwLCAweDJiLCAweGEzLCAweGUwLCAweDYwLCAweDA1LCAweDQzLCAweDQzLAotICAweDgwLCAweDgwLCAweDAzLCAweDUzLCAweDQzLCAweDdmLCAweDUzLCAweDQzLCAweGZjLCAweDkwLCAweDdlLCAweDI5LCAweGUwLCAweDYwLCAweDExLCAweDQzLAotICAweDQzLCAweDAyLCAweGEzLCAweGUwLCAweGZmLCAweDEyLCAweDExLCAweDczLCAweDkwLCAweDdlLCAweDJiLCAweGUwLCAweGZmLCAweDEyLCAweDExLCAweDk5LAotICAweGFmLCAweDQzLCAweDEyLCAweDExLCAweDAxLCAweDkwLCAweDdlLCAweDIzLCAweGUwLCAweDYwLCAweDA4LCAweDUzLCAweDQzLCAweDdmLCAweGFmfX0sCi0gezB4MDY0NiwgNjQsIHsgMHg0MywgMHgxMiwgMHgxMSwgMHgwMSwgMHg5MCwgMHg3ZSwgMHgyYywgMHhlMCwgMHg2MCwgMHgxOCwgMHhhMywgMHhlMCwgMHg2MCwgMHgwNSwgMHg0MywgMHg0NywgMHgwMiwKLSAgMHg4MCwgMHgwMywgMHg1MywgMHg0NywgMHhmZCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlNSwgMHg0NywKLSAgMHhmMCwgMHg5MCwgMHg3ZSwgMHgyZSwgMHhlMCwgMHg2MCwgMHgxOCwgMHhhMywgMHhlMCwgMHg2MCwgMHgwNSwgMHg0MywgMHg0NywgMHgwMSwgMHg4MCwgMHgwMywKLSAgMHg1MywgMHg0NywgMHhmZSwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlNSwgMHg0NywgMHhmMH19LAotIHsweDA2ODYsIDY0LCB7IDB4OTAsIDB4N2UsIDB4MzIsIDB4ZTAsIDB4ZjUsIDB4M2IsIDB4YTMsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MGUsIDB4YTMsIDB4ZTAsIDB4ZjUsIDB4M2QsIDB4YTMsIDB4ZTAsCi0gIDB4NjAsIDB4MDUsIDB4NDMsIDB4NDcsIDB4MTAsIDB4ODAsIDB4MDMsIDB4NTMsIDB4NDcsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGMsIDB4ZjAsCi0gIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTUsIDB4NDcsIDB4ZjAsIDB4OTAsIDB4N2UsIDB4MzYsIDB4ZTAsIDB4NjAsIDB4MzIsIDB4NTMsIDB4NDUsIDB4YmYsIDB4OTAsCi0gIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGIsIDB4ZjAsIDB4ZTUsIDB4NDUsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4OTAsIDB4N2Z9fSwKLSB7MHgwNmM2LCA2NCwgeyAweDk4LCAweDc0LCAweDA5LCAweGYwLCAweDEyLCAweDEzLCAweDU3LCAweGVmLCAweDU0LCAweGZlLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDUzLCAweDNmLCAweGZkLAotICAweGU0LCAweGZmLCAweGFkLCAweDNmLCAweDEyLCAweDEyLCAweDA5LCAweGU0LCAweGY1LCAweDMzLCAweGY1LCAweDMyLCAweGQyLCAweDA4LCAweDkwLCAweDdlLAotICAweDM3LCAweGUwLCAweDYwLCAweDBmLCAweDQzLCAweDNmLCAweDAyLCAweGU0LCAweGZmLCAweGFkLCAweDNmLCAweDEyLCAweDEyLCAweDA5LCAweDc1LCAweDMyLAotICAweDAxLCAweGQyLCAweDA4LCAweDkwLCAweDdlLCAweDM4LCAweGUwLCAweDYwLCAweDEwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBhLCAweGYwfX0sCi0gezB4MDcwNiwgNjQsIHsgMHhlNSwgMHg0MSwgMHg0NCwgMHgwNCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHhkMiwgMHgwMCwgMHg5MCwgMHg3ZSwgMHgzOSwgMHhlMCwgMHg2MCwgMHgxMSwgMHg0MywKLSAgMHg0NSwgMHg0MCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYiwgMHhmMCwgMHhlNSwgMHg0NSwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwKLSAgMHg5MCwgMHg3ZSwgMHgzYSwgMHhlMCwgMHg2MCwgMHgwZiwgMHg1MywgMHgzZiwgMHhmZSwgMHhlNCwgMHhmZiwgMHhhZCwgMHgzZiwgMHgxMiwgMHgxMiwgMHgwOSwKLSAgMHg3NSwgMHgzNCwgMHgwMSwgMHhkMiwgMHgwOCwgMHg5MCwgMHg3ZSwgMHgzYiwgMHhlMCwgMHg2MCwgMHgwZiwgMHg0MywgMHgzZiwgMHgwMSwgMHhlNH19LAotIHsweDA3NDYsIDY0LCB7IDB4ZmYsIDB4YWQsIDB4M2YsIDB4MTIsIDB4MTIsIDB4MDksIDB4ZTQsIDB4ZjUsIDB4MzQsIDB4ZDIsIDB4MDgsIDB4OTAsIDB4N2UsIDB4M2MsIDB4ZTAsIDB4NjAsIDB4MGUsCi0gIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGEsIDB4ZjAsIDB4ZTUsIDB4NDEsIDB4NDQsIDB4MDIsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4OTAsIDB4N2UsCi0gIDB4M2QsIDB4ZTAsIDB4NjAsIDB4MDIsIDB4ZDIsIDB4MGMsIDB4OTAsIDB4N2UsIDB4M2UsIDB4ZTAsIDB4NjAsIDB4MDgsIDB4NzUsIDB4MzUsIDB4MDEsIDB4ZTQsCi0gIDB4ZjUsIDB4MzksIDB4ZDIsIDB4MDgsIDB4OTAsIDB4N2UsIDB4M2YsIDB4ZTAsIDB4NjAsIDB4MTEsIDB4OTAsIDB4N2YsIDB4ZDcsIDB4NzQsIDB4MTN9fSwKLSB7MHgwNzg2LCA2NCwgeyAweGYwLCAweDc0LCAweDMzLCAweGYwLCAweDc0LCAweDE2LCAweGYwLCAweDc0LCAweDM2LCAweGYwLCAweGQyLCAweDA0LCAweGU0LCAweDkwLCAweDdmLCAweGQxLCAweGYwLAotICAweDMwLCAweDFhLCAweDUyLCAweGU1LCAweDM5LCAweDYwLCAweDAyLCAweDE1LCAweDM5LCAweDMwLCAweDEzLCAweDQ5LCAweGU1LCAweDEzLCAweGQzLCAweDk0LAotICAweDAwLCAweDQwLCAweDA0LCAweDE1LCAweDEzLCAweDgwLCAweDNlLCAweDc1LCAweDEzLCAweDBhLCAweDMwLCAweDFiLCAweDAyLCAweGMyLCAweDEzLCAweDEyLAotICAweDEzLCAweDU3LCAweGVmLCAweDU0LCAweDAxLCAweGY1LCAweDE5LCAweDY1LCAweDMzLCAweDYwLCAweDA1LCAweDg1LCAweDE5LCAweDMzLCAweGQyfX0sCi0gezB4MDdjNiwgNjQsIHsgMHgwOCwgMHgxMiwgMHgxMywgMHg5MywgMHhlZiwgMHg1NCwgMHg4MCwgMHhmNSwgMHgxOSwgMHg2NSwgMHgyZiwgMHg2MCwgMHgwNSwgMHg4NSwgMHgxOSwgMHgyZiwgMHhkMiwKLSAgMHgwOCwgMHgzMCwgMHgwZSwgMHgxMSwgMHgxMiwgMHgxMywgMHg5MywgMHhlZiwgMHg1NCwgMHgxMCwgMHhmNSwgMHgxOSwgMHg2NSwgMHgyZSwgMHg2MCwgMHgwNSwKLSAgMHg4NSwgMHgxOSwgMHgyZSwgMHhkMiwgMHgwOCwgMHgzMCwgMHgxYSwgMHgyYSwgMHg5MCwgMHg3ZiwgMHhkMiwgMHhlMCwgMHgyMCwgMHhlMSwgMHgyMywgMHg5MCwKLSAgMHg3YiwgMHg0MCwgMHhlMCwgMHg2MCwgMHgwOSwgMHhlMCwgMHhmNSwgMHgxNSwgMHg5MCwgMHg3YiwgMHg0MiwgMHhlMCwgMHhmNSwgMHgxNiwgMHg5MH19LAotIHsweDA4MDYsIDY0LCB7IDB4N2IsIDB4NDEsIDB4ZTAsIDB4NjAsIDB4MDksIDB4OTAsIDB4N2YsIDB4ZDcsIDB4NzQsIDB4MTcsIDB4ZjAsIDB4NzQsIDB4MzcsIDB4ZjAsIDB4ZTQsIDB4OTAsIDB4N2YsCi0gIDB4ZDMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YzIsIDB4ZTAsIDB4MzAsIDB4ZTEsIDB4MDMsIDB4MDIsIDB4MDksIDB4MjAsIDB4ZTUsIDB4MGEsIDB4NzAsIDB4NDAsCi0gIDB4MzAsIDB4MDcsIDB4MzksIDB4ZTUsIDB4MzgsIDB4NzAsIDB4MzUsIDB4YzIsIDB4MDcsIDB4ZjUsIDB4MTgsIDB4N2UsIDB4MDAsIDB4N2IsIDB4MDAsIDB4NzQsCi0gIDB4MjQsIDB4MjUsIDB4MTgsIDB4ZjksIDB4ZWUsIDB4MzQsIDB4MDAsIDB4ZmEsIDB4MTIsIDB4MGUsIDB4OWEsIDB4ZmYsIDB4NzQsIDB4ODAsIDB4MjV9fSwKLSB7MHgwODQ2LCA2NCwgeyAweDE4LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdiLCAweGY1LCAweDgzLCAweGVmLCAweGYwLCAweDA1LCAweDE4LCAweGU1LCAweDE4LCAweGI0LCAweDA5LCAweGRiLAotICAweDkwLCAweDdmLCAweGMzLCAweDc0LCAweDA5LCAweGYwLCAweDc1LCAweDM4LCAweDEwLCAweGU0LCAweGY1LCAweDJjLCAweDc1LCAweDBhLCAweDAxLCAweDIyLAotICAweGU1LCAweDBhLCAweDY0LCAweDAxLCAweDcwLCAweDQwLCAweDMwLCAweDA4LCAweDM5LCAweGU1LCAweDM5LCAweDcwLCAweDM1LCAweGMyLCAweDA4LCAweGY1LAotICAweDE4LCAweDdlLCAweDAwLCAweDdiLCAweDAwLCAweDc0LCAweDJkLCAweDI1LCAweDE4LCAweGY5LCAweGVlLCAweDM0LCAweDAwLCAweGZhLCAweDEyfX0sCi0gezB4MDg4NiwgNjQsIHsgMHgwZSwgMHg5YSwgMHhmZiwgMHg3NCwgMHg4MCwgMHgyNSwgMHgxOCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3YiwgMHhmNSwgMHg4MywgMHhlZiwgMHhmMCwgMHgwNSwKLSAgMHgxOCwgMHhlNSwgMHgxOCwgMHhiNCwgMHgwOSwgMHhkYiwgMHg5MCwgMHg3ZiwgMHhjMywgMHg3NCwgMHgwOSwgMHhmMCwgMHg3NSwgMHgzOSwgMHgxMCwgMHhlNCwKLSAgMHhmNSwgMHgzNSwgMHg3NSwgMHgwYSwgMHgwMiwgMHgyMiwgMHhlNSwgMHgwYSwgMHg2NCwgMHgwMiwgMHg3MCwgMHgzNiwgMHgzMCwgMHgxNCwgMHgyZiwgMHhjMiwKLSAgMHgxNCwgMHhmNSwgMHgxOCwgMHg3ZSwgMHgwMCwgMHg3YiwgMHgwMCwgMHg3NCwgMHgwZSwgMHgyNSwgMHgxOCwgMHhmOSwgMHhlZSwgMHgzNCwgMHgwMH19LAotIHsweDA4YzYsIDY0LCB7IDB4ZmEsIDB4MTIsIDB4MGUsIDB4OWEsIDB4ZmYsIDB4NzQsIDB4ODAsIDB4MjUsIDB4MTgsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2IsIDB4ZjUsIDB4ODMsIDB4ZWYsCi0gIDB4ZjAsIDB4MDUsIDB4MTgsIDB4ZTUsIDB4MTgsIDB4YjQsIDB4MDUsIDB4ZGIsIDB4OTAsIDB4N2YsIDB4YzMsIDB4NzQsIDB4MDUsIDB4ZjAsIDB4NzUsIDB4MGEsCi0gIDB4MDMsIDB4MjIsIDB4ZTUsIDB4MTUsIDB4NjAsIDB4MzAsIDB4MTUsIDB4MTUsIDB4ZTQsIDB4ZjUsIDB4MTgsIDB4N2UsIDB4MDAsIDB4N2IsIDB4MDAsIDB4NzQsCi0gIDB4MTQsIDB4MjUsIDB4MTgsIDB4ZjksIDB4ZWUsIDB4MzQsIDB4MDAsIDB4ZmEsIDB4MTIsIDB4MGUsIDB4OWEsIDB4ZmYsIDB4NzQsIDB4ODAsIDB4MjV9fSwKLSB7MHgwOTA2LCA2NCwgeyAweDE4LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdiLCAweGY1LCAweDgzLCAweGVmLCAweGYwLCAweDA1LCAweDE4LCAweGU1LCAweDE4LCAweGI0LCAweDAzLCAweGRiLAotICAweDkwLCAweDdmLCAweGMzLCAweDc0LCAweDAzLCAweGYwLCAweGU0LCAweGY1LCAweDBhLCAweDIyLCAweDkwLCAweDdmLCAweGU5LCAweGUwLCAweDEyLCAweDBlLAotICAweGYyLCAweDBhLCAweDA4LCAweDAwLCAweDBhLCAweDdjLCAweDAxLCAweDBhLCAweGU4LCAweDAzLCAweDA5LCAweDQ0LCAweDA2LCAweDA5LCAweGZiLCAweDA4LAotICAweDA5LCAweGY1LCAweDA5LCAweDA5LCAweGRkLCAweDBhLCAweDA5LCAweGVjLCAweDBiLCAweDAwLCAweDAwLCAweDBiLCAweDM3LCAweDkwLCAweDdmfX0sCi0gezB4MDk0NiwgNjQsIHsgMHhlYiwgMHhlMCwgMHgyNCwgMHhmZSwgMHg2MCwgMHgxOSwgMHgxNCwgMHg2MCwgMHg2MSwgMHgyNCwgMHgwMiwgMHg2MCwgMHgwMywgMHgwMiwgMHgwOSwgMHhkMywgMHg3NCwKLSAgMHgxOSwgMHg5MCwgMHg3ZiwgMHhkNCwgMHhmMCwgMHg3NCwgMHgwMCwgMHg5MCwgMHg3ZiwgMHhkNSwgMHhmMCwgMHgwMiwgMHgwYiwgMHgzZSwgMHg5MCwgMHg3ZiwKLSAgMHhlYSwgMHhlMCwgMHg3MCwgMHgwNCwgMHg3ZiwgMHgwMiwgMHg4MCwgMHgwMiwgMHg3ZiwgMHgwMywgMHg3NSwgMHg4MiwgMHg4MiwgMHg3NSwgMHg4MywgMHgxOSwKLSAgMHhlZiwgMHhmMCwgMHg3NSwgMHg4MiwgMHg3YiwgMHg3NSwgMHg4MywgMHgxOSwgMHhmMCwgMHg3NSwgMHg4MiwgMHg3NCwgMHg3NSwgMHg4MywgMHgxOX19LAotIHsweDA5ODYsIDY0LCB7IDB4ZjAsIDB4NzUsIDB4ODIsIDB4NjYsIDB4NzUsIDB4ODMsIDB4MTksIDB4ZjAsIDB4NzUsIDB4ODIsIDB4NTgsIDB4NzUsIDB4ODMsIDB4MTksIDB4ZjAsIDB4OTAsIDB4N2YsCi0gIDB4ZWEsIDB4ZTAsIDB4MDQsIDB4NzUsIDB4ODIsIDB4MTcsIDB4NzUsIDB4ODMsIDB4MTksIDB4ZjAsIDB4NzQsIDB4MTksIDB4OTAsIDB4N2YsIDB4ZDQsIDB4ZjAsCi0gIDB4NzQsIDB4MTIsIDB4OTAsIDB4N2YsIDB4ZDUsIDB4ZjAsIDB4MDIsIDB4MGIsIDB4M2UsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4ZmYsIDB4MTIsIDB4MGYsCi0gIDB4MTgsIDB4ZWEsIDB4NDksIDB4NjAsIDB4MGQsIDB4ZWEsIDB4OTAsIDB4N2YsIDB4ZDQsIDB4ZjAsIDB4ZTksIDB4OTAsIDB4N2YsIDB4ZDUsIDB4ZjB9fSwKLSB7MHgwOWM2LCA2NCwgeyAweDAyLCAweDBiLCAweDNlLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDAyLCAweDBiLCAweDNlLCAweDkwLCAweDdmLCAweGI0LCAweGUwLAotICAweDQ0LCAweDAxLCAweGYwLCAweDAyLCAweDBiLCAweDNlLCAweDkwLCAweDdmLCAweDAwLCAweGU1LCAweDA5LCAweGYwLCAweDkwLCAweDdmLCAweGI1LCAweDc0LAotICAweDAxLCAweGYwLCAweDAyLCAweDBiLCAweDNlLCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweGY1LCAweDA5LCAweDAyLCAweDBiLCAweDNlLCAweDEyLCAweDBiLAotICAweDQ2LCAweDAyLCAweDBiLCAweDNlLCAweDkwLCAweDdmLCAweDAwLCAweDc0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGI1LCAweGYwLCAweDAyfX0sCi0gezB4MGEwNiwgNjQsIHsgMHgwYiwgMHgzZSwgMHg5MCwgMHg3ZiwgMHhlOCwgMHhlMCwgMHgyNCwgMHg3ZiwgMHg2MCwgMHgyNCwgMHgxNCwgMHg2MCwgMHgzMSwgMHgyNCwgMHgwMiwgMHg3MCwgMHg1YiwKLSAgMHhhMiwgMHgxMCwgMHhlNCwgMHgzMywgMHhmZiwgMHgyNSwgMHhlMCwgMHhmZiwgMHhhMiwgMHgxNiwgMHhlNCwgMHgzMywgMHg0ZiwgMHg5MCwgMHg3ZiwgMHgwMCwKLSAgMHhmMCwgMHhlNCwgMHhhMywgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHg3NCwgMHgwMiwgMHhmMCwgMHgwMiwgMHgwYiwgMHgzZSwgMHhlNCwgMHg5MCwgMHg3ZiwKLSAgMHgwMCwgMHhmMCwgMHhhMywgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHg3NCwgMHgwMiwgMHhmMCwgMHgwMiwgMHgwYiwgMHgzZSwgMHg5MCwgMHg3Zn19LAotIHsweDBhNDYsIDY0LCB7IDB4ZWMsIDB4ZTAsIDB4ZjQsIDB4NTQsIDB4ODAsIDB4ZmYsIDB4YzQsIDB4NTQsIDB4MGYsIDB4ZmYsIDB4ZTAsIDB4NTQsIDB4MDcsIDB4MmYsIDB4MjUsIDB4ZTAsIDB4MjQsCi0gIDB4YjQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2YsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4ZmQsIDB4OTAsIDB4N2YsIDB4MDAsIDB4ZjAsIDB4ZTQsCi0gIDB4YTMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4MDIsIDB4MGIsIDB4M2UsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsCi0gIDB4MDEsIDB4ZjAsIDB4MDIsIDB4MGIsIDB4M2UsIDB4OTAsIDB4N2YsIDB4ZTgsIDB4ZTAsIDB4MjQsIDB4ZmUsIDB4NjAsIDB4MWQsIDB4MjQsIDB4MDJ9fSwKLSB7MHgwYTg2LCA2NCwgeyAweDYwLCAweDAzLCAweDAyLCAweDBiLCAweDNlLCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweGI0LCAweDAxLCAweDA1LCAweGMyLCAweDEwLCAweDAyLCAweDBiLCAweDNlLAotICAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDAyLCAweDBiLCAweDNlLCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweDcwLCAweDM4LAotICAweDkwLCAweDdmLCAweGVjLCAweGUwLCAweGY0LCAweDU0LCAweDgwLCAweGZmLCAweGM0LCAweDU0LCAweDBmLCAweGZmLCAweGUwLCAweDU0LCAweDA3LCAweDJmLAotICAweDI1LCAweGUwLCAweDI0LCAweGI0LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdmLCAweGY1LCAweDgzLCAweGU0LCAweGYwLCAweDkwLCAweDdmfX0sCi0gezB4MGFjNiwgNjQsIHsgMHhlYywgMHhlMCwgMHg1NCwgMHg4MCwgMHhmZiwgMHgxMywgMHgxMywgMHgxMywgMHg1NCwgMHgxZiwgMHhmZiwgMHhlMCwgMHg1NCwgMHgwNywgMHgyZiwgMHg5MCwgMHg3ZiwKLSAgMHhkNywgMHhmMCwgMHhlMCwgMHg0NCwgMHgyMCwgMHhmMCwgMHg4MCwgMHg1ZiwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg4MCwKLSAgMHg1NiwgMHg5MCwgMHg3ZiwgMHhlOCwgMHhlMCwgMHgyNCwgMHhmZSwgMHg2MCwgMHgxOCwgMHgyNCwgMHgwMiwgMHg3MCwgMHg0YSwgMHg5MCwgMHg3ZiwgMHhlYSwKLSAgMHhlMCwgMHhiNCwgMHgwMSwgMHgwNCwgMHhkMiwgMHgxMCwgMHg4MCwgMHgzZiwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMH19LAotIHsweDBiMDYsIDY0LCB7IDB4ODAsIDB4MzYsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4NzAsIDB4MjAsIDB4OTAsIDB4N2YsIDB4ZWMsIDB4ZTAsIDB4ZjQsIDB4NTQsIDB4ODAsIDB4ZmYsIDB4YzQsCi0gIDB4NTQsIDB4MGYsIDB4ZmYsIDB4ZTAsIDB4NTQsIDB4MDcsIDB4MmYsIDB4MjUsIDB4ZTAsIDB4MjQsIDB4YjQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2YsCi0gIDB4ZjUsIDB4ODMsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4ODAsIDB4MTAsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4ODAsIDB4MDcsCi0gIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4MjJ9fSwKLSB7MHgwYjQ2LCA2NCwgeyAweGU0LCAweDkwLCAweDdmLCAweDkzLCAweGYwLCAweDkwLCAweDdmLCAweDljLCAweDc0LCAweDMwLCAweGYwLCAweGU0LCAweDkwLCAweDdmLCAweDk2LCAweGYwLCAweDkwLAotICAweDdmLCAweDk1LCAweDc0LCAweGMwLCAweGYwLCAweDkwLCAweDdmLCAweDllLCAweDc0LCAweDNmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDE4LAotICAweGYwLCAweGU0LCAweGY1LCAweDhlLCAweDkwLCAweDdmLCAweGRmLCAweDc0LCAweGZmLCAweGYwLCAweDkwLCAweDdmLCAweGRlLCAweGYwLCAweGU0LCAweGY1LAotICAweDI0LCAweDc1LCAweDE4LCAweDAxLCAweDdiLCAweDAwLCAweDc0LCAweDI0LCAweDI1LCAweDE4LCAweGY5LCAweGU0LCAweDM0LCAweDAwLCAweGZhfX0sCi0gezB4MGI4NiwgNjQsIHsgMHhlNCwgMHgxMiwgMHgwZSwgMHhlMCwgMHgwNSwgMHgxOCwgMHhlNSwgMHgxOCwgMHhiNCwgMHgwOSwgMHhlYSwgMHg3NSwgMHgzYSwgMHgwMSwgMHhlNCwgMHhmNSwgMHgzOCwKLSAgMHhmNSwgMHgxMywgMHhmNSwgMHgzNiwgMHhjMiwgMHgwNywgMHhjMiwgMHgwYiwgMHhjMiwgMHgwNSwgMHhjMiwgMHgwMCwgMHhjMiwgMHgwOSwgMHhjMiwgMHgxMywKLSAgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHg3NSwgMHg0NCwgMHgwMywgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHgwMywgMHhmMCwgMHg3ZiwKLSAgMHgwYywgMHhlNCwgMHhmZCwgMHgxMiwgMHgxMSwgMHhiZiwgMHg3ZiwgMHgxMCwgMHg4ZiwgMHg0MiwgMHgxMiwgMHgxMCwgMHg4ZiwgMHg5MCwgMHg3Zn19LAotIHsweDBiYzYsIDY0LCB7IDB4OTgsIDB4NzQsIDB4MTIsIDB4ZjAsIDB4N2YsIDB4MDEsIDB4OGYsIDB4NDAsIDB4ZWYsIDB4NDQsIDB4MDYsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4OTAsIDB4N2YsCi0gIDB4OTgsIDB4NzQsIDB4MTQsIDB4ZjAsIDB4NzUsIDB4NDYsIDB4ODAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4ODAsIDB4ZjAsIDB4MGYsIDB4ZTQsIDB4ZmQsCi0gIDB4MTIsIDB4MTEsIDB4YmYsIDB4ZTQsIDB4ZmYsIDB4N2UsIDB4YTMsIDB4YWQsIDB4MDYsIDB4OGQsIDB4M2UsIDB4MTIsIDB4MTEsIDB4YmYsIDB4OTAsIDB4N2YsCi0gIDB4OTgsIDB4NzQsIDB4MTEsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTQsIDB4ZjAsIDB4N2YsIDB4MDUsIDB4N2QsIDB4N2YsIDB4MTIsIDB4MTF9fSwKLSB7MHgwYzA2LCA2NCwgeyAweGJmLCAweDdmLCAweDAxLCAweDEyLCAweDEyLCAweDc4LCAweDdmLCAweDAzLCAweDdkLCAweDA3LCAweDEyLCAweDExLCAweGJmLCAweDdmLCAweDEzLCAweDdkLCAweDAxLAotICAweDEyLCAweDExLCAweGJmLCAweDIwLCAweDFiLCAweDAzLCAweDAyLCAweDBjLCAweGM1LCAweDc1LCAweDJkLCAweDAxLCAweDc1LCAweDE4LCAweDAxLCAweDdiLAotICAweDAwLCAweDc0LCAweDJkLCAweDI1LCAweDE4LCAweGY5LCAweGU0LCAweDM0LCAweDAwLCAweGZhLCAweGU0LCAweDEyLCAweDBlLCAweGUwLCAweDA1LCAweDE4LAotICAweGU1LCAweDE4LCAweGI0LCAweDA5LCAweGVhLCAweDc1LCAweDNiLCAweDAxLCAweGU0LCAweGY1LCAweDM5LCAweGY1LCAweDEzLCAweGY1LCAweDM3fX0sCi0gezB4MGM0NiwgNjQsIHsgMHhjMiwgMHgwOCwgMHhjMiwgMHgwYywgMHhjMiwgMHgwNiwgMHhjMiwgMHgwMCwgMHhjMiwgMHgwYSwgMHhjMiwgMHgxMywgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYiwKLSAgMHhmMCwgMHg3NSwgMHg0NSwgMHgwMywgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHgwMywgMHhmMCwgMHg3ZiwgMHgwYywgMHhlNCwgMHhmZCwgMHgxMiwgMHgxMiwKLSAgMHgwOSwgMHg3ZiwgMHgxMCwgMHg4ZiwgMHg0MywgMHgxMiwgMHgxMSwgMHgwMSwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYSwgMHhmMCwgMHg3ZiwgMHgwMSwKLSAgMHg4ZiwgMHg0MSwgMHhlZiwgMHg0NCwgMHgwNiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYywgMHhmMH19LAotIHsweDBjODYsIDY0LCB7IDB4NzUsIDB4NDcsIDB4ODAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4ODAsIDB4ZjAsIDB4MGYsIDB4ZTQsIDB4ZmQsIDB4MTIsIDB4MTIsIDB4MDksIDB4ZTQsIDB4ZmYsCi0gIDB4N2UsIDB4YTMsIDB4YWQsIDB4MDYsIDB4OGQsIDB4M2YsIDB4MTIsIDB4MTIsIDB4MDksIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MDksIDB4ZjAsIDB4OTAsCi0gIDB4YzAsIDB4MDAsIDB4ZTQsIDB4ZjAsIDB4N2YsIDB4MDUsIDB4N2QsIDB4N2YsIDB4MTIsIDB4MTIsIDB4MDksIDB4N2YsIDB4MDEsIDB4MTIsIDB4MTIsIDB4OTksCi0gIDB4N2YsIDB4MDMsIDB4N2QsIDB4MDcsIDB4MTIsIDB4MTIsIDB4MDksIDB4N2YsIDB4MTMsIDB4N2QsIDB4MDEsIDB4MTIsIDB4MTIsIDB4MDksIDB4ZDJ9fSwKLSB7MHgwY2M2LCA2NCwgeyAweDEyLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEwLCAweGYwLCAweGFmLCAweDA4LCAweGU1LCAweDBkLCAweGY1LCAweDgyLCAweGU1LCAweDBjLCAweGY1LAotICAweDgzLCAweGMyLCAweGFmLCAweDA1LCAweDg2LCAweDkwLCAweGMwLCAweDAwLCAweDA1LCAweDg2LCAweGUwLCAweGEzLCAweDA1LCAweDg2LCAweGYwLCAweDA1LAotICAweDg2LCAweGRmLCAweGY3LCAweGQyLCAweGFmLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEwLCAweGYwLCAweGFmLCAweDA4LCAweGU1LCAweDBkLAotICAweGY1LCAweDgyLCAweGU1LCAweDBjLCAweGY1LCAweDgzLCAweGMyLCAweGFmLCAweDA1LCAweDg2LCAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweDA1fX0sCi0gezB4MGQwNiwgNjQsIHsgMHg4NiwgMHhmMCwgMHhhMywgMHgwNSwgMHg4NiwgMHhkZiwgMHhmNywgMHgwNSwgMHg4NiwgMHhkMiwgMHhhZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwOCwKLSAgMHhmMCwgMHhhZiwgMHgwOCwgMHhlNSwgMHgwZCwgMHhmNSwgMHg4MiwgMHhlNSwgMHgwYywgMHhmNSwgMHg4MywgMHhjMiwgMHhhZiwgMHgwNSwgMHg4NiwgMHg5MCwKLSAgMHhjMCwgMHgwMCwgMHgwNSwgMHg4NiwgMHhlMCwgMHhhMywgMHgwNSwgMHg4NiwgMHhmMCwgMHgwNSwgMHg4NiwgMHhkZiwgMHhmNywgMHhkMiwgMHhhZiwgMHgyMiwKLSAgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwOCwgMHhmMCwgMHhhZiwgMHgwOCwgMHhlNSwgMHgwZCwgMHhmNSwgMHg4MiwgMHhlNSwgMHgwYywgMHhmNX19LAotIHsweDBkNDYsIDY0LCB7IDB4ODMsIDB4YzIsIDB4YWYsIDB4MDUsIDB4ODYsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4MDUsIDB4ODYsIDB4ZjAsIDB4YTMsIDB4MDUsIDB4ODYsIDB4ZGYsIDB4ZjcsCi0gIDB4MDUsIDB4ODYsIDB4ZDIsIDB4YWYsIDB4MjIsIDB4NzQsIDB4MDAsIDB4ZjUsIDB4ODYsIDB4OTAsIDB4ZmQsIDB4YTUsIDB4N2MsIDB4MDUsIDB4YTMsIDB4ZTUsCi0gIDB4ODIsIDB4NDUsIDB4ODMsIDB4NzAsIDB4ZjksIDB4MjIsIDB4OTAsIDB4N2YsIDB4ZDYsIDB4ZTAsIDB4NDQsIDB4ODAsIDB4ZjAsIDB4NDMsIDB4ODcsIDB4MDEsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MjIsIDB4ZDIsIDB4MTksIDB4OTAsIDB4N2YsIDB4OTIsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjB9fSwKLSB7MHgwZDg2LCA2NCwgeyAweDkwLCAweDdmLCAweGFlLCAweGUwLCAweGZmLCAweGQzLCAweDkyLCAweDEwLCAweGU0LCAweDMzLCAweGZlLCAweGVmLCAweDRlLCAweGYwLCAweGQyLCAweGU4LCAweDQzLAotICAweGQ4LCAweDIwLCAweDkwLCAweDdmLCAweGRlLCAweDc0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGRmLCAweGYwLCAweDkwLCAweDdmLCAweGFiLCAweDc0LAotICAweGZmLCAweGYwLCAweDkwLCAweDdmLCAweGE5LCAweGYwLCAweDkwLCAweDdmLCAweGFhLCAweGYwLCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGFmLAotICAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGFlLCAweGUwLCAweDQ0LCAweDBkLCAweGYwLCAweGQyLCAweGFmLCAweGQyLCAweDFhfX0sCi0gezB4MGRjNiwgNjQsIHsgMHgxMiwgMHgxMiwgMHg1MywgMHhjMiwgMHgxMSwgMHhlNCwgMHhmNSwgMHgwYiwgMHhmNSwgMHgxMywgMHhjMiwgMHgxNywgMHhjMiwgMHgxMiwgMHg5MCwgMHg3ZiwgMHhhMSwKLSAgMHgwNCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhkOCwgMHhlMCwgMHg2NSwgMHgxNywgMHg2MCwgMHgxMCwgMHgzMCwgMHgxMiwgMHgwNSwgMHhkMiwgMHgxYSwgMHgxMiwKLSAgMHgwMCwgMHg0NiwgMHg5MCwgMHg3ZiwgMHhkOCwgMHhlMCwgMHhmNSwgMHgxNywgMHg4MCwgMHgwOCwgMHgzMCwgMHgxMiwgMHgwNSwgMHhjMiwgMHgxYSwgMHgxMiwKLSAgMHgwMCwgMHg0NiwgMHgzMCwgMHgxMSwgMHgwNywgMHhjMiwgMHgxMSwgMHgxMiwgMHgwOSwgMHgyMSwgMHg4MCwgMHhkNiwgMHgzMCwgMHgxOCwgMHhkM319LAotIHsweDBlMDYsIDY0LCB7IDB4YzIsIDB4MTgsIDB4MTIsIDB4MTMsIDB4OWYsIDB4ODAsIDB4Y2MsIDB4MjIsIDB4NzgsIDB4N2YsIDB4ZTQsIDB4ZjYsIDB4ZDgsIDB4ZmQsIDB4NzUsIDB4ODEsIDB4NDcsCi0gIDB4MDIsIDB4MGUsIDB4NTUsIDB4MDIsIDB4MGQsIDB4N2QsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4ZjgsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4NDAsIDB4MDMsIDB4ZjYsCi0gIDB4ODAsIDB4MDEsIDB4ZjIsIDB4MDgsIDB4ZGYsIDB4ZjQsIDB4ODAsIDB4MjksIDB4ZTQsIDB4OTMsIDB4YTMsIDB4ZjgsIDB4NTQsIDB4MDcsIDB4MjQsIDB4MGMsCi0gIDB4YzgsIDB4YzMsIDB4MzMsIDB4YzQsIDB4NTQsIDB4MGYsIDB4NDQsIDB4MjAsIDB4YzgsIDB4ODMsIDB4NDAsIDB4MDQsIDB4ZjQsIDB4NTYsIDB4ODB9fSwKLSB7MHgwZTQ2LCA2NCwgeyAweDAxLCAweDQ2LCAweGY2LCAweGRmLCAweGU0LCAweDgwLCAweDBiLCAweDAxLCAweDAyLCAweDA0LCAweDA4LCAweDEwLCAweDIwLCAweDQwLCAweDgwLCAweDkwLCAweDEyLAotICAweGJhLCAweGU0LCAweDdlLCAweDAxLCAweDkzLCAweDYwLCAweGJjLCAweGEzLCAweGZmLCAweDU0LCAweDNmLCAweDMwLCAweGU1LCAweDA5LCAweDU0LCAweDFmLAotICAweGZlLCAweGU0LCAweDkzLCAweGEzLCAweDYwLCAweDAxLCAweDBlLCAweGNmLCAweDU0LCAweGMwLCAweDI1LCAweGUwLCAweDYwLCAweGE4LCAweDQwLCAweGI4LAotICAweGU0LCAweDkzLCAweGEzLCAweGZhLCAweGU0LCAweDkzLCAweGEzLCAweGY4LCAweGU0LCAweDkzLCAweGEzLCAweGM4LCAweGM1LCAweDgyLCAweGM4fX0sCi0gezB4MGU4NiwgNjQsIHsgMHhjYSwgMHhjNSwgMHg4MywgMHhjYSwgMHhmMCwgMHhhMywgMHhjOCwgMHhjNSwgMHg4MiwgMHhjOCwgMHhjYSwgMHhjNSwgMHg4MywgMHhjYSwgMHhkZiwgMHhlOSwgMHhkZSwKLSAgMHhlNywgMHg4MCwgMHhiZSwgMHhiYiwgMHgwMSwgMHgwNiwgMHg4OSwgMHg4MiwgMHg4YSwgMHg4MywgMHhlMCwgMHgyMiwgMHg1MCwgMHgwMiwgMHhlNywgMHgyMiwKLSAgMHhiYiwgMHhmZSwgMHgwMiwgMHhlMywgMHgyMiwgMHg4OSwgMHg4MiwgMHg4YSwgMHg4MywgMHhlNCwgMHg5MywgMHgyMiwgMHhiYiwgMHgwMSwgMHgwYywgMHhlNSwKLSAgMHg4MiwgMHgyOSwgMHhmNSwgMHg4MiwgMHhlNSwgMHg4MywgMHgzYSwgMHhmNSwgMHg4MywgMHhlMCwgMHgyMiwgMHg1MCwgMHgwNiwgMHhlOSwgMHgyNX19LAotIHsweDBlYzYsIDY0LCB7IDB4ODIsIDB4ZjgsIDB4ZTYsIDB4MjIsIDB4YmIsIDB4ZmUsIDB4MDYsIDB4ZTksIDB4MjUsIDB4ODIsIDB4ZjgsIDB4ZTIsIDB4MjIsIDB4ZTUsIDB4ODIsIDB4MjksIDB4ZjUsCi0gIDB4ODIsIDB4ZTUsIDB4ODMsIDB4M2EsIDB4ZjUsIDB4ODMsIDB4ZTQsIDB4OTMsIDB4MjIsIDB4YmIsIDB4MDEsIDB4MDYsIDB4ODksIDB4ODIsIDB4OGEsIDB4ODMsCi0gIDB4ZjAsIDB4MjIsIDB4NTAsIDB4MDIsIDB4ZjcsIDB4MjIsIDB4YmIsIDB4ZmUsIDB4MDEsIDB4ZjMsIDB4MjIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ODIsIDB4ZjgsCi0gIDB4ZTQsIDB4OTMsIDB4NzAsIDB4MTIsIDB4NzQsIDB4MDEsIDB4OTMsIDB4NzAsIDB4MGQsIDB4YTMsIDB4YTMsIDB4OTMsIDB4ZjgsIDB4NzQsIDB4MDF9fSwKLSB7MHgwZjA2LCA2NCwgeyAweDkzLCAweGY1LCAweDgyLCAweDg4LCAweDgzLCAweGU0LCAweDczLCAweDc0LCAweDAyLCAweDkzLCAweDY4LCAweDYwLCAweGVmLCAweGEzLCAweGEzLCAweGEzLCAweDgwLAotICAweGRmLCAweDhmLCAweDE4LCAweGU0LCAweGY1LCAweDE5LCAweDc1LCAweDFhLCAweGZmLCAweDc1LCAweDFiLCAweDE5LCAweDc1LCAweDFjLCAweDg2LCAweGFiLAotICAweDFhLCAweGFhLCAweDFiLCAweGE5LCAweDFjLCAweDkwLCAweDAwLCAweDAxLCAweDEyLCAweDBlLCAweGIzLCAweGI0LCAweDAzLCAweDFkLCAweGFmLCAweDE5LAotICAweDA1LCAweDE5LCAweGVmLCAweGI1LCAweDE4LCAweDAxLCAweDIyLCAweDEyLCAweDBlLCAweDlhLCAweDdlLCAweDAwLCAweDI5LCAweGZmLCAweGVlfX0sCi0gezB4MGY0NiwgNjQsIHsgMHgzYSwgMHhhOSwgMHgwNywgMHg3NSwgMHgxYSwgMHhmZiwgMHhmNSwgMHgxYiwgMHg4OSwgMHgxYywgMHg4MCwgMHhkNCwgMHg3YiwgMHgwMCwgMHg3YSwgMHgwMCwgMHg3OSwKLSAgMHgwMCwgMHgyMiwgMHg4ZiwgMHgxYSwgMHgwNSwgMHgwZCwgMHhlNSwgMHgwZCwgMHhhZSwgMHgwYywgMHg3MCwgMHgwMiwgMHgwNSwgMHgwYywgMHgxNCwgMHhmNSwKLSAgMHg4MiwgMHg4ZSwgMHg4MywgMHhlNSwgMHgxYSwgMHhmMCwgMHgxMiwgMHgwMCwgMHgzNiwgMHgwNSwgMHgwZCwgMHhlNSwgMHgwZCwgMHhhYywgMHgwYywgMHg3MCwKLSAgMHgwMiwgMHgwNSwgMHgwYywgMHgxNCwgMHhmNSwgMHg4MiwgMHg4YywgMHg4MywgMHhlZiwgMHhmMCwgMHgxNSwgMHgwOCwgMHhlNSwgMHgwOCwgMHg2MH19LAotIHsweDBmODYsIDY0LCB7IDB4MGEsIDB4MTIsIDB4MTMsIDB4MzMsIDB4OGYsIDB4MWEsIDB4ZWYsIDB4NDIsIDB4MzYsIDB4ODAsIDB4Y2EsIDB4MjIsIDB4OGYsIDB4MWEsIDB4MDUsIDB4MGQsIDB4ZTUsCi0gIDB4MGQsIDB4YWUsIDB4MGMsIDB4NzAsIDB4MDIsIDB4MDUsIDB4MGMsIDB4MTQsIDB4ZjUsIDB4ODIsIDB4OGUsIDB4ODMsIDB4ZTUsIDB4MWEsIDB4ZjAsIDB4MTIsCi0gIDB4MTMsIDB4NGIsIDB4MDUsIDB4MGQsIDB4ZTUsIDB4MGQsIDB4YWMsIDB4MGMsIDB4NzAsIDB4MDIsIDB4MDUsIDB4MGMsIDB4MTQsIDB4ZjUsIDB4ODIsIDB4OGMsCi0gIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4MTUsIDB4MDgsIDB4ZTUsIDB4MDgsIDB4NjAsIDB4MGEsIDB4MTIsIDB4MTMsIDB4ODcsIDB4OGYsIDB4MWEsIDB4ZWZ9fSwKLSB7MHgwZmM2LCA2NCwgeyAweDQyLCAweDM3LCAweDgwLCAweGNhLCAweDIyLCAweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGMwLCAweDg1LCAweGMwLCAweDg0LCAweGMwLCAweDg2LAotICAweDc1LCAweDg2LCAweDAwLCAweDkwLCAweDdmLCAweGM0LCAweGU0LCAweGYwLCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGFiLCAweDc0LCAweDA0LAotICAweGYwLCAweGQwLCAweDg2LCAweGQwLCAweDg0LCAweGQwLCAweDg1LCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGUwLCAweDMyLCAweGMwLCAweGUwLAotICAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGMwLCAweDg1LCAweGMwLCAweDg0LCAweGMwLCAweDg2LCAweDc1LCAweDg2LCAweDAwLCAweGQyLCAweDExfX0sCi0gezB4MTAwNiwgNjQsIHsgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhYiwgMHg3NCwgMHgwMSwgMHhmMCwgMHhkMCwgMHg4NiwgMHhkMCwgMHg4NCwgMHhkMCwgMHg4NSwgMHhkMCwgMHg4MiwKLSAgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMiwgMHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhjMCwgMHg4NSwgMHhjMCwgMHg4NCwgMHhjMCwKLSAgMHg4NiwgMHg3NSwgMHg4NiwgMHgwMCwgMHhkMiwgMHgxOCwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhYiwgMHg3NCwgMHgwOCwgMHhmMCwgMHhkMCwKLSAgMHg4NiwgMHhkMCwgMHg4NCwgMHhkMCwgMHg4NSwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMiwgMHg5MCwgMHg3ZiwgMHg5OH19LAotIHsweDEwNDYsIDY0LCB7IDB4NzQsIDB4MTMsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4YmYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTAsIDB4ZjAsIDB4OTAsIDB4YzAsCi0gIDB4MDAsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4ZTUsIDB4NDQsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsCi0gIDB4ZjAsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4YmYsIDB4ZjAsIDB4OTAsIDB4N2YsCi0gIDB4OTgsIDB4NzQsIDB4MTEsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjB9fSwKLSB7MHgxMDg2LCA2NCwgeyAweGU1LCAweDQ0LCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweDkwLCAweGMwLAotICAweDAwLCAweDc0LCAweGJmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEyLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVmLCAweGYwLCAweDkwLAotICAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweGU1LCAweDQ0LCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDIyLCAweDkwLCAweDdmLAotICAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweDc0LCAweGJmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDE0fX0sCi0gezB4MTBjNiwgNjQsIHsgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHhlNSwgMHg0NCwgMHg1NCwgMHg3ZiwgMHg5MCwKLSAgMHhjMCwgMHgwMCwgMHhmMCwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHhiZiwgMHhmMCwKLSAgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxNiwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywKLSAgMHhmMCwgMHhlNSwgMHg0NCwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYn19LAotIHsweDExMDYsIDY0LCB7IDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4YmYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGEsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWYsCi0gIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGIsIDB4ZjAsIDB4ZTUsIDB4NDUsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4MjIsCi0gIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGIsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4YmYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsCi0gIDB4MDgsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGIsIDB4ZjAsIDB4ZTUsIDB4NDV9fSwKLSB7MHgxMTQ2LCA2NCwgeyAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBiLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweDc0LAotICAweGJmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDA5LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LAotICAweDc0LCAweDBiLCAweGYwLCAweGU1LCAweDQ1LCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LAotICAweDBiLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweDc0LCAweGJmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBjLCAweGYwLCAweDkwfX0sCi0gezB4MTE4NiwgNjQsIHsgMHhjMCwgMHgwMCwgMHhlZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYiwgMHhmMCwgMHhlNSwgMHg0NSwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwKLSAgMHhmMCwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYiwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHhiZiwgMHhmMCwgMHg5MCwgMHg3ZiwKLSAgMHg5OCwgMHg3NCwgMHgwZSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYiwgMHhmMCwgMHhlNSwKLSAgMHg0NSwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHhlNX19LAotIHsweDExYzYsIDY0LCB7IDB4NDQsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTcsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWYsCi0gIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTUsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWQsIDB4ZjAsIDB4MjIsIDB4MTIsIDB4MTMsIDB4MWIsCi0gIDB4OGYsIDB4MWEsIDB4MTIsIDB4MTMsIDB4MWIsIDB4OGYsIDB4MWIsIDB4ZTUsIDB4MWEsIDB4NjUsIDB4MWIsIDB4NjAsIDB4MTIsIDB4MTIsIDB4MTMsIDB4MWIsCi0gIDB4OGYsIDB4MWEsIDB4ZTUsIDB4MWEsIDB4NjUsIDB4MWIsIDB4NjAsIDB4MDcsIDB4MTIsIDB4MTMsIDB4MWIsIDB4OGYsIDB4MWIsIDB4ODAsIDB4ZTh9fSwKLSB7MHgxMjA2LCA2NCwgeyAweGFmLCAweDFhLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBiLCAweGYwLCAweGU1LCAweDQ1LCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLAotICAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBmLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBkLAotICAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVkLCAweGYwLCAweDIyLCAweDEyLCAweDEzLCAweDZmLCAweDhmLCAweDFhLCAweDEyLCAweDEzLCAweDZmLCAweDhmLAotICAweDFiLCAweGU1LCAweDFhLCAweDY1LCAweDFiLCAweDYwLCAweDEyLCAweDEyLCAweDEzLCAweDZmLCAweDhmLCAweDFhLCAweGU1LCAweDFhLCAweDY1fX0sCi0gezB4MTI0NiwgNjQsIHsgMHgxYiwgMHg2MCwgMHgwNywgMHgxMiwgMHgxMywgMHg2ZiwgMHg4ZiwgMHgxYiwgMHg4MCwgMHhlOCwgMHhhZiwgMHgxYSwgMHgyMiwgMHg5MCwgMHg3ZiwgMHhkNiwgMHhlMCwKLSAgMHg1NCwgMHhmYiwgMHhmMCwgMHhlMCwgMHg0NCwgMHgwOCwgMHhmMCwgMHgzMCwgMHgxYSwgMHgwNCwgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHg3ZiwgMHhmNCwKLSAgMHg3ZSwgMHgwMSwgMHgxMiwgMHgxMiwgMHhkNiwgMHg5MCwgMHg3ZiwgMHhkNiwgMHhlMCwgMHg1NCwgMHhmNywgMHhmMCwgMHhlMCwgMHg0NCwgMHgwNCwgMHhmMCwKLSAgMHgyMiwgMHhhZSwgMHgwNywgMHhlNCwgMHhmZiwgMHhlNSwgMHgzZSwgMHg1NCwgMHg3ZiwgMHhmZCwgMHgxMiwgMHgxMSwgMHhiZiwgMHg5MCwgMHg3Zn19LAotIHsweDEyODYsIDY0LCB7IDB4OTgsIDB4NzQsIDB4MTEsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWUsIDB4ZjAsIDB4ZTQsIDB4ZTUsIDB4M2UsIDB4NDQsIDB4ODAsIDB4ZmQsIDB4MTIsIDB4MTEsCi0gIDB4YmYsIDB4MjIsIDB4YWUsIDB4MDcsIDB4ZTQsIDB4ZmYsIDB4ZTUsIDB4M2YsIDB4NTQsIDB4N2YsIDB4ZmQsIDB4MTIsIDB4MTIsIDB4MDksIDB4OTAsIDB4N2YsCi0gIDB4OTgsIDB4NzQsIDB4MDksIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWUsIDB4ZjAsIDB4ZTQsIDB4ZTUsIDB4M2YsIDB4NDQsIDB4ODAsIDB4ZmQsIDB4MTIsCi0gIDB4MTIsIDB4MDksIDB4MjIsIDB4MDUsIDB4MGUsIDB4MDIsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDMsIDB4MTQsIDB4MDMsIDB4MDAsIDB4MDB9fSwKLSB7MHgxMmM2LCA2NCwgeyAweGMxLCAweDExLCAweGMxLCAweDE4LCAweGMxLCAweDk1LCAweGMxLCAweDEwLCAweGMxLCAweDE2LCAweDAxLCAweDBhLCAweDAwLCAweGMxLCAweDliLCAweDAwLCAweDhlLAotICAweDE4LCAweDhmLCAweDE5LCAweGU1LCAweDE5LCAweDE1LCAweDE5LCAweGFlLCAweDE4LCAweDcwLCAweDAyLCAweDE1LCAweDE4LCAweDRlLCAweDYwLCAweDA1LAotICAweDEyLCAweDBkLCAweDVjLCAweDgwLCAweGVlLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDExLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGUwLAotICAweGZmLCAweDIyLCAweDUzLCAweGQ4LCAweGVmLCAweDMyLCAweDAwLCAweDAwLCAweDAwLCAweDAyLCAweDBmLCAweGY1LCAweDAwLCAweDAyLCAweDEzfX0sCi0gezB4MTMwNiwgNjQsIHsgMHgwNCwgMHgwMCwgMHgwMiwgMHgwZiwgMHhjYiwgMHgwMCwgMHgwMiwgMHgxMCwgMHgxYywgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMiwgMHhmMCwgMHg5MCwgMHhjMCwKLSAgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwKLSAgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxNCwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwKLSAgMHgxNSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxNiwgMHhmMCwgMHg5MH19LAotIHsweDEzNDYsIDY0LCB7IDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MDgsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsCi0gIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MDksIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsCi0gIDB4MGEsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGIsIDB4ZjAsIDB4OTAsIDB4YzAsCi0gIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGMsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmZ9fSwKLSB7MHgxMzg2LCA2NCwgeyAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBkLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweGZmLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LAotICAweDBlLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweGZmLCAweDIyLCAweDEyLCAweDAwLCAweDAzLCAweDEyLCAweDBkLCAweDZkLCAweDEyLCAweDBiLAotICAweDQ2LCAweDIyLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTNjNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE0MDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNDQ2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTQ4NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE0YzYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNTA2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTU0NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE1ODYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNWM2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTYwNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE2NDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNjg2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTZjNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE3MDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNzQ2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTc4NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE3YzYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxODA2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTg0NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE4ODYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxOGM2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDEyLCAweDAxLCAweDEwLCAweDAxLCAweGZmLCAweDAwfX0sCi0gezB4MTkwNiwgNjQsIHsgMHgwMCwgMHg0MCwgMHhjZCwgMHgwNiwgMHgxNSwgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMSwgMHgwMiwgMHgwMCwgMHgwMiwgMHgwOSwgMHgwMiwgMHg3NCwgMHgwMCwgMHgwMSwKLSAgMHgwMSwgMHgwMCwgMHhhMCwgMHgzMiwgMHgwOSwgMHgwNCwgMHgwMCwgMHgwMCwgMHgwZSwgMHhmZiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwMSwKLSAgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwMiwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwMywgMHgwMiwgMHg0MCwKLSAgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwNCwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwNSwgMHgwMiwgMHg0MCwgMHgwMH19LAotIHsweDE5NDYsIDY0LCB7IDB4MDAsIDB4MDcsIDB4MDUsIDB4MDYsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDcsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsCi0gIDB4ODEsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDEsIDB4MDcsIDB4MDUsIDB4ODIsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDEsIDB4MDcsIDB4MDUsIDB4ODMsIDB4MDIsCi0gIDB4NDAsIDB4MDAsIDB4MDEsIDB4MDcsIDB4MDUsIDB4ODQsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDEsIDB4MDcsIDB4MDUsIDB4ODUsIDB4MDIsIDB4NDAsIDB4MDAsCi0gIDB4MDEsIDB4MDcsIDB4MDUsIDB4ODYsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDEsIDB4MDcsIDB4MDUsIDB4ODcsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDF9fSwKLSB7MHgxOTg2LCA2NCwgeyAweDA0LCAweDAzLCAweDA5LCAweDA0LCAweDQ4LCAweDAzLCAweDRiLCAweDAwLCAweDY1LCAweDAwLCAweDc5LCAweDAwLCAweDczLCAweDAwLCAweDcwLCAweDAwLCAweDYxLAotICAweDAwLCAweDZlLCAweDAwLCAweDJjLCAweDAwLCAweDIwLCAweDAwLCAweDYxLCAweDAwLCAweDIwLCAweDAwLCAweDY0LCAweDAwLCAweDY5LCAweDAwLCAweDc2LAotICAweDAwLCAweDY5LCAweDAwLCAweDczLCAweDAwLCAweDY5LCAweDAwLCAweDZmLCAweDAwLCAweDZlLCAweDAwLCAweDIwLCAweDAwLCAweDZmLCAweDAwLCAweDY2LAotICAweDAwLCAweDIwLCAweDAwLCAweDQ5LCAweDAwLCAweDZlLCAweDAwLCAweDZlLCAweDAwLCAweDZmLCAweDAwLCAweDUzLCAweDAwLCAweDc5LCAweDAwfX0sCi0gezB4MTljNiwgNjQsIHsgMHg3MywgMHgwMCwgMHgyMCwgMHgwMCwgMHg0OSwgMHgwMCwgMHg2ZSwgMHgwMCwgMHg2MywgMHgwMCwgMHgyZSwgMHgwMCwgMHgzNiwgMHgwMywgMHg0YiwgMHgwMCwgMHg2NSwKLSAgMHgwMCwgMHg3OSwgMHgwMCwgMHg3MywgMHgwMCwgMHg3MCwgMHgwMCwgMHg2MSwgMHgwMCwgMHg2ZSwgMHgwMCwgMHgyMCwgMHgwMCwgMHg1NSwgMHgwMCwgMHg1MywKLSAgMHgwMCwgMHg0MiwgMHgwMCwgMHgyMCwgMHgwMCwgMHg1MywgMHgwMCwgMHg2NSwgMHgwMCwgMHg3MiwgMHgwMCwgMHg2OSwgMHgwMCwgMHg2MSwgMHgwMCwgMHg2YywKLSAgMHgwMCwgMHgyMCwgMHgwMCwgMHg0MSwgMHgwMCwgMHg2NCwgMHgwMCwgMHg2MSwgMHgwMCwgMHg3MCwgMHgwMCwgMHg3NCwgMHgwMCwgMHg2NSwgMHgwMH19LAotIHsweDFhMDYsICA0LCB7IDB4NzIsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHhmZmZmLCAgMCwgezB4MDB9fQotfTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL3NlcmlhbC9rZXlzcGFuX3VzYTI4eGJfZncuaCBiL2RyaXZlcnMvdXNiL3NlcmlhbC9rZXlzcGFuX3VzYTI4eGJfZncuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjVmY2FkNC4uMDAwMDAwMAotLS0gYS9kcml2ZXJzL3VzYi9zZXJpYWwva2V5c3Bhbl91c2EyOHhiX2Z3LmgKKysrIC9kZXYvbnVsbApAQCAtMSw0NDggKzAsMCBAQAotLyoga2V5c3Bhbl91c2EyOHhiX2Z3LmgKLQotCVRoZSBmaXJtd2FyZSBjb250YWluZWQgaGVyZWluIGFzIGtleXNwYW5fdXNhMjl4Yl9mdy5oIGlzCi0KLQkJQ29weXJpZ2h0IChDKSAxOTk5LTIwMDEKLQkJS2V5c3BhbiwgQSBkaXZpc2lvbiBvZiBJbm5vU3lzIEluY29ycG9yYXRlZCAoIktleXNwYW4iKQotCQkKLQlhcyBhbiB1bnB1Ymxpc2hlZCB3b3JrLiBUaGlzIG5vdGljZSBkb2VzIG5vdCBpbXBseSB1bnJlc3RyaWN0ZWQgb3IKLQlwdWJsaWMgYWNjZXNzIHRvIHRoZSBzb3VyY2UgY29kZSBmcm9tIHdoaWNoIHRoaXMgZmlybXdhcmUgaW1hZ2UgaXMKLQlkZXJpdmVkLiAgRXhjZXB0IGFzIG5vdGVkIGJlbG93IHRoaXMgZmlybXdhcmUgaW1hZ2UgbWF5IG5vdCBiZSAKLQlyZXByb2R1Y2VkLCB1c2VkLCBzb2xkIG9yIHRyYW5zZmVycmVkIHRvIGFueSB0aGlyZCBwYXJ0eSB3aXRob3V0IAotCUtleXNwYW4ncyBwcmlvciB3cml0dGVuIGNvbnNlbnQuICBBbGwgUmlnaHRzIFJlc2VydmVkLgotCi0JUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCBmb3IgdGhlIGRpc3RyaWJ1dGlvbiBvZiB0aGlzIGZpcm13YXJlIAotCWltYWdlIGFzIHBhcnQgb2YgYSBMaW51eCBvciBvdGhlciBPcGVuIFNvdXJjZSBvcGVyYXRpbmcgc3lzdGVtIGtlcm5lbCAKLQlpbiB0ZXh0IG9yIGJpbmFyeSBmb3JtIGFzIHJlcXVpcmVkLiAKLQotCVRoaXMgZmlybXdhcmUgbWF5IG5vdCBiZSBtb2RpZmllZCBhbmQgbWF5IG9ubHkgYmUgdXNlZCB3aXRoICAKLQlLZXlzcGFuIGhhcmR3YXJlLiAgRGlzdHJpYnV0aW9uIGFuZC9vciBNb2RpZmljYXRpb24gb2YgdGhlIAotCWtleXNwYW4uYyBkcml2ZXIgd2hpY2ggaW5jbHVkZXMgdGhpcyBmaXJtd2FyZSwgaW4gd2hvbGUgb3IgaW4gCi0JcGFydCwgcmVxdWlyZXMgdGhlIGluY2x1c2lvbiBvZiB0aGlzIHN0YXRlbWVudC4iCi0KLSovCi0KLXN0YXRpYyBjb25zdCBzdHJ1Y3QgZXp1c2JfaGV4X3JlY29yZCBrZXlzcGFuX3VzYTI4eGJfZmlybXdhcmVbXSA9IHsKLSB7MHgwMDMzLCAgMywgeyAweDAyLCAweDAwLCAweDJkfX0sCi0gezB4MDAyZCwgIDQsIHsgMHg1MywgMHhkOCwgMHhlZiwgMHgzMn19LAotIHsweDAwNDYsIDE2LCB7IDB4MzAsIDB4MDksIDB4MTgsIDB4MTIsIDB4MTMsIDB4MzMsIDB4ZWYsIDB4YzMsIDB4OTUsIDB4M2MsIDB4NDAsIDB4MDMsIDB4MDIsIDB4MDAsIDB4ZDgsIDB4OTB9fSwKLSB7MHgwMDU2LCAxNiwgeyAweDdmLCAweGJmLCAweDc0LCAweDAxLCAweGYwLCAweGMyLCAweDA5LCAweGMyLCAweDAwLCAweDgwLCAweDc3LCAweDMwLCAweDAzLCAweDNiLCAweDkwLCAweDdmfX0sCi0gezB4MDA2NiwgMTYsIHsgMHhjNiwgMHhlMCwgMHgyMCwgMHhlMSwgMHg2ZCwgMHgxMiwgMHgxMywgMHgzMywgMHhlZiwgMHhjMywgMHg5NCwgMHg0MCwgMHg1MCwgMHg2NCwgMHg5MCwgMHg3ZX19LAotIHsweDAwNzYsIDE2LCB7IDB4NDAsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MDksIDB4OTAsIDB4N2YsIDB4YzcsIDB4ZTAsIDB4MTQsIDB4ZjUsIDB4MTksIDB4MjAsIDB4MDAsIDB4MTEsIDB4NjB9fSwKLSB7MHgwMDg2LCAxNiwgeyAweDBmLCAweGY1LCAweDA4LCAweDdlLCAweDdlLCAweDdmLCAweDQxLCAweDc1LCAweDBjLCAweDdlLCAweDc1LCAweDBkLCAweDQxLCAweDEyLCAweDBjLCAweGNjfX0sCi0gezB4MDA5NiwgMTYsIHsgMHhjMiwgMHgwMywgMHhlNCwgMHg5MCwgMHg3ZiwgMHhjNywgMHhmMCwgMHg4MCwgMHgzOSwgMHg5MCwgMHg3ZiwgMHhjOCwgMHhlMCwgMHgyMCwgMHhlMSwgMHgzMn19LAotIHsweDAwYTYsIDE2LCB7IDB4MTIsIDB4MTMsIDB4MzMsIDB4ZWYsIDB4YzMsIDB4OTQsIDB4NDAsIDB4NTAsIDB4MjksIDB4OTAsIDB4N2QsIDB4YzAsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MDl9fSwKLSB7MHgwMGI2LCAxNiwgeyAweDkwLCAweDdmLCAweGM5LCAweGUwLCAweDE0LCAweGY1LCAweDE5LCAweDIwLCAweDAwLCAweDExLCAweDYwLCAweDBmLCAweGY1LCAweDA4LCAweDdlLCAweDdkfX0sCi0gezB4MDBjNiwgMTYsIHsgMHg3ZiwgMHhjMSwgMHg3NSwgMHgwYywgMHg3ZCwgMHg3NSwgMHgwZCwgMHhjMSwgMHgxMiwgMHgwYywgMHhjYywgMHhkMiwgMHgwMywgMHhlNCwgMHg5MCwgMHg3Zn19LAotIHsweDAwZDYsIDE2LCB7IDB4YzksIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjYsIDB4ZTAsIDB4MzAsIDB4ZTEsIDB4MDMsIDB4MDIsIDB4MDEsIDB4NjAsIDB4MTIsIDB4MTEsIDB4ZjUsIDB4OGZ9fSwKLSB7MHgwMGU2LCAxNiwgeyAweDE5LCAweDEyLCAweDEzLCAweDNmLCAweDhmLCAweDM2LCAweGU1LCAweDE5LCAweGMzLCAweDk1LCAweDNhLCAweDUwLCAweDBmLCAweDEyLCAweDEzLCAweDFifX0sCi0gezB4MDBmNiwgMTYsIHsgMHhlZiwgMHgzMCwgMHhlMCwgMHgwOCwgMHhlNSwgMHgzNiwgMHgyMCwgMHhlNywgMHgwMywgMHgzMCwgMHgwYiwgMHg1ZSwgMHhjMiwgMHgwYiwgMHhlNSwgMHgxOX19LAotIHsweDAwMzYsIDEyLCB7IDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTAsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjJ9fSwKLSB7MHgwMDQzLCAgMywgeyAweDAyLCAweDEzLCAweDAwfX0sCi0gezB4MDAwMywgMTYsIHsgMHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhjMCwgMHg4NSwgMHhjMCwgMHg4NCwgMHhjMCwgMHg4NiwgMHg3NSwgMHg4NiwgMHgwMCwgMHg5MH19LAotIHsweDAwMTMsIDE2LCB7IDB4N2YsIDB4YzQsIDB4ZTQsIDB4ZjAsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YWIsIDB4NzQsIDB4MDQsIDB4ZjAsIDB4ZDAsIDB4ODYsIDB4ZDB9fSwKLSB7MHgwMDIzLCAxMCwgeyAweDg0LCAweGQwLCAweDg1LCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGUwLCAweDMyfX0sCi0gezB4MDAwMCwgIDMsIHsgMHgwMiwgMHgwZSwgMHgxMn19LAotIHsweDAxMDYsIDY0LCB7IDB4NjAsIDB4NTgsIDB4YjQsIDB4ODAsIDB4MDMsIDB4NDMsIDB4MzYsIDB4MDIsIDB4ZTUsIDB4MzYsIDB4MzAsIDB4ZTcsIDB4MjYsIDB4ZTUsIDB4MTksIDB4ZDMsIDB4OTQsCi0gIDB4MjAsIDB4NDAsIDB4MDMsIDB4NzUsIDB4MTksIDB4MjAsIDB4ODUsIDB4MTksIDB4MDgsIDB4N2UsIDB4N2UsIDB4N2YsIDB4ODAsIDB4NzUsIDB4MGMsIDB4N2UsCi0gIDB4NzUsIDB4MGQsIDB4ODAsIDB4YWYsIDB4MzYsIDB4MTIsIDB4MGYsIDB4NWQsIDB4ZTUsIDB4MTksIDB4MjUsIDB4ZTAsIDB4OTAsIDB4N2YsIDB4YjcsIDB4ZjAsCi0gIDB4ODAsIDB4MjcsIDB4ZTUsIDB4MTksIDB4ZDMsIDB4OTQsIDB4M2YsIDB4NDAsIDB4MDMsIDB4NzUsIDB4MTksIDB4M2YsIDB4ODUsIDB4MTksIDB4MDh9fSwKLSB7MHgwMTQ2LCA2NCwgeyAweDkwLCAweDdlLCAweDgwLCAweGU1LCAweDM2LCAweGYwLCAweDdlLCAweDdlLCAweDdmLCAweDgxLCAweDc1LCAweDBjLCAweDdlLCAweDc1LCAweDBkLCAweDgxLCAweDEyLAotICAweDBjLCAweGYxLCAweGU1LCAweDE5LCAweDA0LCAweDkwLCAweDdmLCAweGI3LCAweGYwLCAweDkwLCAweDdmLCAweGNlLCAweGUwLCAweDMwLCAweGUxLCAweDA2LAotICAweDIwLCAweDA1LCAweDAzLCAweDAyLCAweDAzLCAweGMxLCAweGU0LCAweGY1LCAweDE4LCAweDc0LCAweDQwLCAweDI1LCAweDE4LCAweGY1LCAweDgyLCAweGU0LAotICAweDM0LCAweDdjLCAweGY1LCAweDgzLCAweGUwLCAweGZmLCAweGU1LCAweDE4LCAweDdjLCAweDAwLCAweDdiLCAweDAxLCAweDdhLCAweDdlLCAweDc5fX0sCi0gezB4MDE4NiwgNjQsIHsgMHgwMCwgMHgyNCwgMHgwMCwgMHhmOSwgMHhlYywgMHgzNCwgMHg3ZSwgMHhmYSwgMHhlZiwgMHgxMiwgMHgwZSwgMHhlNCwgMHgwNSwgMHgxOCwgMHhlNSwgMHgxOCwgMHhiNCwKLSAgMHgyMCwgMHhkNywgMHg5MCwgMHg3ZSwgMHgwMCwgMHhlMCwgMHg2MCwgMHg2OCwgMHg5MCwgMHg3ZSwgMHgwMywgMHhlMCwgMHg2MCwgMHgyNCwgMHg3ZiwgMHgwMSwKLSAgMHhlNCwgMHhmZCwgMHgxMiwgMHgxMSwgMHhkMCwgMHg3ZiwgMHgwMywgMHg3ZCwgMHhjZCwgMHgxMiwgMHgxMSwgMHhkMCwgMHg0MywgMHg0NiwgMHg4MCwgMHg5MCwKLSAgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxNCwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlNSwgMHg0NiwgMHhmMCwgMHhlNCwgMHg5MCwgMHg3ZSwgMHgxM319LAotIHsweDAxYzYsIDY0LCB7IDB4ZjAsIDB4ODAsIDB4MzAsIDB4OTAsIDB4N2UsIDB4MDEsIDB4ZTAsIDB4ZmYsIDB4MTIsIDB4MTAsIDB4NTQsIDB4OTAsIDB4N2UsIDB4MDIsIDB4ZTAsIDB4ZmYsIDB4MTIsCi0gIDB4MTAsIDB4N2EsIDB4N2YsIDB4MDEsIDB4OTAsIDB4N2UsIDB4MTEsIDB4ZTAsIDB4ZmQsIDB4MTIsIDB4MTEsIDB4ZDAsIDB4N2YsIDB4MDMsIDB4N2QsIDB4MDcsCi0gIDB4MTIsIDB4MTEsIDB4ZDAsIDB4NDMsIDB4NDYsIDB4ODAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTQsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTUsCi0gIDB4NDYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTIsIDB4ZjAsIDB4ZTUsIDB4NDAsIDB4NDQsIDB4MDYsIDB4OTAsIDB4YzAsIDB4MDB9fSwKLSB7MHgwMjA2LCA2NCwgeyAweGYwLCAweDkwLCAweDdlLCAweDAzLCAweGUwLCAweDcwLCAweDA2LCAweDkwLCAweDdlLCAweDEzLCAweGUwLCAweDcwLCAweDA4LCAweGU0LCAweDkwLCAweDdlLCAweDEzLAotICAweGYwLCAweDc1LCAweDI1LCAweGZmLCAweDkwLCAweDdlLCAweDA1LCAweGUwLCAweDYwLCAweDEyLCAweGEzLCAweGUwLCAweDU0LCAweDNmLCAweGY1LCAweDQ0LAotICAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGU1LCAweDQ0LCAweGYwLCAweDkwLCAweDdlLCAweDA3LCAweGUwLAotICAweDYwLCAweDJiLCAweGEzLCAweGUwLCAweDYwLCAweDA1LCAweDQzLCAweDQyLCAweDgwLCAweDgwLCAweDAzLCAweDUzLCAweDQyLCAweDdmLCAweDUzfX0sCi0gezB4MDI0NiwgNjQsIHsgMHg0MiwgMHhmYywgMHg5MCwgMHg3ZSwgMHgwOSwgMHhlMCwgMHg2MCwgMHgxMSwgMHg0MywgMHg0MiwgMHgwMiwgMHhhMywgMHhlMCwgMHhmZiwgMHgxMiwgMHgxMCwgMHhjNiwKLSAgMHg5MCwgMHg3ZSwgMHgwYiwgMHhlMCwgMHhmZiwgMHgxMiwgMHgxMCwgMHhlYywgMHhhZiwgMHg0MiwgMHgxMiwgMHgxMCwgMHhhMCwgMHg5MCwgMHg3ZSwgMHgwMywKLSAgMHhlMCwgMHg2MCwgMHgwOCwgMHg1MywgMHg0MiwgMHg3ZiwgMHhhZiwgMHg0MiwgMHgxMiwgMHgxMCwgMHhhMCwgMHg5MCwgMHg3ZSwgMHgwYywgMHhlMCwgMHg2MCwKLSAgMHgxOCwgMHhhMywgMHhlMCwgMHg2MCwgMHgwNSwgMHg0MywgMHg0NiwgMHgwMiwgMHg4MCwgMHgwMywgMHg1MywgMHg0NiwgMHhmZCwgMHg5MCwgMHg3Zn19LAotIHsweDAyODYsIDY0LCB7IDB4OTgsIDB4NzQsIDB4MTQsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTUsIDB4NDYsIDB4ZjAsIDB4OTAsIDB4N2UsIDB4MGUsIDB4ZTAsIDB4NjAsIDB4MTgsIDB4YTMsCi0gIDB4ZTAsIDB4NjAsIDB4MDUsIDB4NDMsIDB4NDYsIDB4MDEsIDB4ODAsIDB4MDMsIDB4NTMsIDB4NDYsIDB4ZmUsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTQsCi0gIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTUsIDB4NDYsIDB4ZjAsIDB4OTAsIDB4N2UsIDB4MTIsIDB4ZTAsIDB4ZjUsIDB4M2EsIDB4YTMsIDB4ZTAsIDB4MTMsCi0gIDB4OTIsIDB4MGQsIDB4YTMsIDB4ZTAsIDB4ZjUsIDB4M2MsIDB4YTMsIDB4ZTAsIDB4NjAsIDB4MDUsIDB4NDMsIDB4NDYsIDB4MTAsIDB4ODAsIDB4MDN9fSwKLSB7MHgwMmM2LCA2NCwgeyAweDUzLCAweDQ2LCAweGVmLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDE0LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGU1LCAweDQ2LCAweGYwLCAweDkwLCAweDdlLAotICAweDE2LCAweGUwLCAweDYwLCAweDMyLCAweDUzLCAweDQ0LCAweGJmLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweGU1LCAweDQ0LCAweDU0LAotICAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDExLCAweGYwLCAweDEyLCAweDEzLCAweDBmLCAweGVmLCAweDU0LAotICAweGZlLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDUzLCAweDNlLCAweGZkLCAweGU0LCAweGZmLCAweGFkLCAweDNlLCAweDEyLCAweDExLCAweGQwfX0sCi0gezB4MDMwNiwgNjQsIHsgMHhlNCwgMHhmNSwgMHgyYSwgMHhmNSwgMHgyOSwgMHhkMiwgMHgwNywgMHg5MCwgMHg3ZSwgMHgxNywgMHhlMCwgMHg2MCwgMHgwZiwgMHg0MywgMHgzZSwgMHgwMiwgMHhlNCwKLSAgMHhmZiwgMHhhZCwgMHgzZSwgMHgxMiwgMHgxMSwgMHhkMCwgMHg3NSwgMHgyOSwgMHgwMSwgMHhkMiwgMHgwNywgMHg5MCwgMHg3ZSwgMHgxOCwgMHhlMCwgMHg2MCwKLSAgMHgxMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMiwgMHhmMCwgMHhlNSwgMHg0MCwgMHg0NCwgMHgwNCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHhkMiwKLSAgMHgwMCwgMHg5MCwgMHg3ZSwgMHgxOSwgMHhlMCwgMHg2MCwgMHgxMSwgMHg0MywgMHg0NCwgMHg0MCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxM319LAotIHsweDAzNDYsIDY0LCB7IDB4ZjAsIDB4ZTUsIDB4NDQsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4OTAsIDB4N2UsIDB4MWEsIDB4ZTAsIDB4NjAsIDB4MGYsIDB4NTMsIDB4M2UsCi0gIDB4ZmUsIDB4ZTQsIDB4ZmYsIDB4YWQsIDB4M2UsIDB4MTIsIDB4MTEsIDB4ZDAsIDB4NzUsIDB4MmIsIDB4MDEsIDB4ZDIsIDB4MDcsIDB4OTAsIDB4N2UsIDB4MWIsCi0gIDB4ZTAsIDB4NjAsIDB4MGYsIDB4NDMsIDB4M2UsIDB4MDEsIDB4ZTQsIDB4ZmYsIDB4YWQsIDB4M2UsIDB4MTIsIDB4MTEsIDB4ZDAsIDB4ZTQsIDB4ZjUsIDB4MmIsCi0gIDB4ZDIsIDB4MDcsIDB4OTAsIDB4N2UsIDB4MWMsIDB4ZTAsIDB4NjAsIDB4MGUsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTIsIDB4ZjAsIDB4ZTV9fSwKLSB7MHgwMzg2LCA2NCwgeyAweDQwLCAweDQ0LCAweDAyLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDkwLCAweDdlLCAweDFkLCAweGUwLCAweDYwLCAweDAyLCAweGQyLCAweDBiLCAweDkwLCAweDdlLAotICAweDFlLCAweGUwLCAweDYwLCAweDA4LCAweDc1LCAweDJjLCAweDAxLCAweGU0LCAweGY1LCAweDM4LCAweGQyLCAweDA3LCAweDkwLCAweDdlLCAweDFmLCAweGUwLAotICAweDYwLCAweDExLCAweDkwLCAweDdmLCAweGQ3LCAweDc0LCAweDExLCAweGYwLCAweDc0LCAweDMxLCAweGYwLCAweDc0LCAweDE1LCAweGYwLCAweDc0LCAweDM1LAotICAweGYwLCAweGQyLCAweDAzLCAweGMyLCAweDA1LCAweGU0LCAweDkwLCAweDdmLCAweGNmLCAweGYwLCAweDMwLCAweDFhLCAweDU0LCAweGU1LCAweDM4fX0sCi0gezB4MDNjNiwgNjQsIHsgMHg2MCwgMHgwMiwgMHgxNSwgMHgzOCwgMHgyMCwgMHgxMywgMHg0YiwgMHhlNSwgMHgxMywgMHhkMywgMHg5NCwgMHgwMCwgMHg0MCwgMHgwNCwgMHgxNSwgMHgxMywgMHg4MCwKLSAgMHg0MCwgMHg3NSwgMHgxMywgMHgwYSwgMHgzMCwgMHgxYiwgMHgwMiwgMHhkMiwgMHgxMywgMHgxMiwgMHgxMywgMHgwZiwgMHhlZiwgMHg1NCwgMHgwMSwgMHhmNSwKLSAgMHgxOSwgMHg2NSwgMHgyYSwgMHg2MCwgMHgwNSwgMHg4NSwgMHgxOSwgMHgyYSwgMHhkMiwgMHgwNywgMHgxMiwgMHgxMywgMHg0YiwgMHhlZiwgMHg1NCwgMHg4MCwKLSAgMHg2NCwgMHg4MCwgMHhmNSwgMHgxOSwgMHg2NSwgMHgyNiwgMHg2MCwgMHgwNSwgMHg4NSwgMHgxOSwgMHgyNiwgMHhkMiwgMHgwNywgMHgzMCwgMHgwZH19LAotIHsweDA0MDYsIDY0LCB7IDB4MTEsIDB4MTIsIDB4MTMsIDB4NGIsIDB4ZWYsIDB4NTQsIDB4MTAsIDB4ZjUsIDB4MTksIDB4NjUsIDB4MjUsIDB4NjAsIDB4MDUsIDB4ODUsIDB4MTksIDB4MjUsIDB4ZDIsCi0gIDB4MDcsIDB4MjAsIDB4MWIsIDB4MDMsIDB4MDIsIDB4MDcsIDB4ZjAsIDB4MzAsIDB4MGEsIDB4MTgsIDB4MTIsIDB4MTMsIDB4ODcsIDB4ZWYsIDB4YzMsIDB4OTUsCi0gIDB4M2QsIDB4NDAsIDB4MDMsIDB4MDIsIDB4MDQsIDB4YjAsIDB4OTAsIDB4N2YsIDB4YzEsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4YzIsIDB4MGEsIDB4YzIsIDB4MDAsCi0gIDB4ODAsIDB4NzcsIDB4MzAsIDB4MDQsIDB4M2IsIDB4OTAsIDB4N2YsIDB4Y2EsIDB4ZTAsIDB4MjAsIDB4ZTEsIDB4NmQsIDB4MTIsIDB4MTMsIDB4ODd9fSwKLSB7MHgwNDQ2LCA2NCwgeyAweGVmLCAweGMzLCAweDk0LCAweDQwLCAweDUwLCAweDY0LCAweDkwLCAweDdkLCAweDQwLCAweGUwLCAweDEzLCAweDkyLCAweDBhLCAweDkwLCAweDdmLCAweGNiLCAweGUwLAotICAweDE0LCAweGY1LCAweDE5LCAweDIwLCAweDAwLCAweDExLCAweDYwLCAweDBmLCAweGY1LCAweDA4LCAweDdlLCAweDdkLCAweDdmLCAweDQxLCAweDc1LCAweDBjLAotICAweDdkLCAweDc1LCAweDBkLCAweDQxLCAweDEyLCAweDBkLCAweDE2LCAweGMyLCAweDA0LCAweGU0LCAweDkwLCAweDdmLCAweGNiLCAweGYwLCAweDgwLCAweDM5LAotICAweDkwLCAweDdmLCAweGNjLCAweGUwLCAweDIwLCAweGUxLCAweDMyLCAweDEyLCAweDEzLCAweDg3LCAweGVmLCAweGMzLCAweDk0LCAweDQwLCAweDUwfX0sCi0gezB4MDQ4NiwgNjQsIHsgMHgyOSwgMHg5MCwgMHg3YywgMHhjMCwgMHhlMCwgMHgxMywgMHg5MiwgMHgwYSwgMHg5MCwgMHg3ZiwgMHhjZCwgMHhlMCwgMHgxNCwgMHhmNSwgMHgxOSwgMHgyMCwgMHgwMCwKLSAgMHgxMSwgMHg2MCwgMHgwZiwgMHhmNSwgMHgwOCwgMHg3ZSwgMHg3YywgMHg3ZiwgMHhjMSwgMHg3NSwgMHgwYywgMHg3YywgMHg3NSwgMHgwZCwgMHhjMSwgMHgxMiwKLSAgMHgwZCwgMHgxNiwgMHhkMiwgMHgwNCwgMHhlNCwgMHg5MCwgMHg3ZiwgMHhjZCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiYSwgMHhlMCwgMHgzMCwgMHhlMSwgMHgwMywKLSAgMHgwMiwgMHgwNSwgMHgzOCwgMHgxMiwgMHgxMiwgMHgzZiwgMHg4ZiwgMHgxOSwgMHgxMiwgMHgxMywgMHg5MywgMHg4ZiwgMHgzNywgMHhlNSwgMHgxOX19LAotIHsweDA0YzYsIDY0LCB7IDB4YzMsIDB4OTUsIDB4M2IsIDB4NTAsIDB4MGYsIDB4MTIsIDB4MTMsIDB4NmYsIDB4ZWYsIDB4MzAsIDB4ZTAsIDB4MDgsIDB4ZTUsIDB4MzcsIDB4MjAsIDB4ZTcsIDB4MDMsCi0gIDB4MzAsIDB4MGMsIDB4NWUsIDB4YzIsIDB4MGMsIDB4ZTUsIDB4MTksIDB4NjAsIDB4NTgsIDB4YjQsIDB4ODAsIDB4MDMsIDB4NDMsIDB4MzcsIDB4MDIsIDB4ZTUsCi0gIDB4MzcsIDB4MzAsIDB4ZTcsIDB4MjYsIDB4ZTUsIDB4MTksIDB4ZDMsIDB4OTQsIDB4MjAsIDB4NDAsIDB4MDMsIDB4NzUsIDB4MTksIDB4MjAsIDB4ODUsIDB4MTksCi0gIDB4MDgsIDB4N2UsIDB4N2QsIDB4N2YsIDB4ODAsIDB4NzUsIDB4MGMsIDB4N2QsIDB4NzUsIDB4MGQsIDB4ODAsIDB4YWYsIDB4MzcsIDB4MTIsIDB4MGZ9fSwKLSB7MHgwNTA2LCA2NCwgeyAweDk2LCAweGU1LCAweDE5LCAweDI1LCAweGUwLCAweDkwLCAweDdmLCAweGJiLCAweGYwLCAweDgwLCAweDI3LCAweGU1LCAweDE5LCAweGQzLCAweDk0LCAweDNmLCAweDQwLAotICAweDAzLCAweDc1LCAweDE5LCAweDNmLCAweDg1LCAweDE5LCAweDA4LCAweDkwLCAweDdkLCAweDgwLCAweGU1LCAweDM3LCAweGYwLCAweDdlLCAweDdkLCAweDdmLAotICAweDgxLCAweDc1LCAweDBjLCAweDdkLCAweDc1LCAweDBkLCAweDgxLCAweDEyLCAweDBkLCAweDNiLCAweGU1LCAweDE5LCAweDA0LCAweDkwLCAweDdmLCAweGJiLAotICAweGYwLCAweDkwLCAweDdmLCAweGQwLCAweGUwLCAweDMwLCAweGUxLCAweDA2LCAweDIwLCAweDA2LCAweDAzLCAweDAyLCAweDA3LCAweDk5LCAweGU0fX0sCi0gezB4MDU0NiwgNjQsIHsgMHhmNSwgMHgxOCwgMHg3NCwgMHhjMCwgMHgyNSwgMHgxOCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3YiwgMHhmNSwgMHg4MywgMHhlMCwgMHhmZiwgMHhlNSwgMHgxOCwKLSAgMHg3YywgMHgwMCwgMHg3YiwgMHgwMSwgMHg3YSwgMHg3ZSwgMHg3OSwgMHgyMCwgMHgyNCwgMHgyMCwgMHhmOSwgMHhlYywgMHgzNCwgMHg3ZSwgMHhmYSwgMHhlZiwKLSAgMHgxMiwgMHgwZSwgMHhlNCwgMHgwNSwgMHgxOCwgMHhlNSwgMHgxOCwgMHhiNCwgMHgyMCwgMHhkNywgMHg5MCwgMHg3ZSwgMHgyMCwgMHhlMCwgMHg2MCwgMHg2OCwKLSAgMHg5MCwgMHg3ZSwgMHgyMywgMHhlMCwgMHg2MCwgMHgyNCwgMHg3ZiwgMHgwMSwgMHhlNCwgMHhmZCwgMHgxMiwgMHgxMiwgMHgxYSwgMHg3ZiwgMHgwM319LAotIHsweDA1ODYsIDY0LCB7IDB4N2QsIDB4Y2QsIDB4MTIsIDB4MTIsIDB4MWEsIDB4NDMsIDB4NDcsIDB4ODAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGMsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsCi0gIDB4ZTUsIDB4NDcsIDB4ZjAsIDB4ZTQsIDB4OTAsIDB4N2UsIDB4MzMsIDB4ZjAsIDB4ODAsIDB4MzAsIDB4OTAsIDB4N2UsIDB4MjEsIDB4ZTAsIDB4ZmYsIDB4MTIsCi0gIDB4MTEsIDB4MzgsIDB4OTAsIDB4N2UsIDB4MjIsIDB4ZTAsIDB4ZmYsIDB4MTIsIDB4MTEsIDB4NWUsIDB4N2YsIDB4MDEsIDB4OTAsIDB4N2UsIDB4MzEsIDB4ZTAsCi0gIDB4ZmQsIDB4MTIsIDB4MTIsIDB4MWEsIDB4N2YsIDB4MDMsIDB4N2QsIDB4MDcsIDB4MTIsIDB4MTIsIDB4MWEsIDB4NDMsIDB4NDcsIDB4ODAsIDB4OTB9fSwKLSB7MHgwNWM2LCA2NCwgeyAweDdmLCAweDk4LCAweDc0LCAweDBjLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGU1LCAweDQ3LCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBhLCAweGYwLAotICAweGU1LCAweDQxLCAweDQ0LCAweDA2LCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDkwLCAweDdlLCAweDIzLCAweGUwLCAweDcwLCAweDA2LCAweDkwLCAweDdlLAotICAweDMzLCAweGUwLCAweDcwLCAweDA4LCAweGU0LCAweDkwLCAweDdlLCAweDMzLCAweGYwLCAweDc1LCAweDJlLCAweGZmLCAweDkwLCAweDdlLCAweDI1LCAweGUwLAotICAweDYwLCAweDEyLCAweGEzLCAweGUwLCAweDU0LCAweDNmLCAweGY1LCAweDQ1LCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBiLCAweGYwLCAweDkwfX0sCi0gezB4MDYwNiwgNjQsIHsgMHhjMCwgMHgwMCwgMHhlNSwgMHg0NSwgMHhmMCwgMHg5MCwgMHg3ZSwgMHgyNywgMHhlMCwgMHg2MCwgMHgyYiwgMHhhMywgMHhlMCwgMHg2MCwgMHgwNSwgMHg0MywgMHg0MywKLSAgMHg4MCwgMHg4MCwgMHgwMywgMHg1MywgMHg0MywgMHg3ZiwgMHg1MywgMHg0MywgMHhmYywgMHg5MCwgMHg3ZSwgMHgyOSwgMHhlMCwgMHg2MCwgMHgxMSwgMHg0MywKLSAgMHg0MywgMHgwMiwgMHhhMywgMHhlMCwgMHhmZiwgMHgxMiwgMHgxMSwgMHg4NCwgMHg5MCwgMHg3ZSwgMHgyYiwgMHhlMCwgMHhmZiwgMHgxMiwgMHgxMSwgMHhhYSwKLSAgMHhhZiwgMHg0MywgMHgxMiwgMHgxMSwgMHgxMiwgMHg5MCwgMHg3ZSwgMHgyMywgMHhlMCwgMHg2MCwgMHgwOCwgMHg1MywgMHg0MywgMHg3ZiwgMHhhZn19LAotIHsweDA2NDYsIDY0LCB7IDB4NDMsIDB4MTIsIDB4MTEsIDB4MTIsIDB4OTAsIDB4N2UsIDB4MmMsIDB4ZTAsIDB4NjAsIDB4MTgsIDB4YTMsIDB4ZTAsIDB4NjAsIDB4MDUsIDB4NDMsIDB4NDcsIDB4MDIsCi0gIDB4ODAsIDB4MDMsIDB4NTMsIDB4NDcsIDB4ZmQsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGMsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTUsIDB4NDcsCi0gIDB4ZjAsIDB4OTAsIDB4N2UsIDB4MmUsIDB4ZTAsIDB4NjAsIDB4MTgsIDB4YTMsIDB4ZTAsIDB4NjAsIDB4MDUsIDB4NDMsIDB4NDcsIDB4MDEsIDB4ODAsIDB4MDMsCi0gIDB4NTMsIDB4NDcsIDB4ZmUsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGMsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTUsIDB4NDcsIDB4ZjB9fSwKLSB7MHgwNjg2LCA2NCwgeyAweDkwLCAweDdlLCAweDMyLCAweGUwLCAweGY1LCAweDNiLCAweGEzLCAweGUwLCAweDEzLCAweDkyLCAweDBlLCAweGEzLCAweGUwLCAweGY1LCAweDNkLCAweGEzLCAweGUwLAotICAweDYwLCAweDA1LCAweDQzLCAweDQ3LCAweDEwLCAweDgwLCAweDAzLCAweDUzLCAweDQ3LCAweGVmLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBjLCAweGYwLAotICAweDkwLCAweGMwLCAweDAwLCAweGU1LCAweDQ3LCAweGYwLCAweDkwLCAweDdlLCAweDM2LCAweGUwLCAweDYwLCAweDMyLCAweDUzLCAweDQ1LCAweGJmLCAweDkwLAotICAweDdmLCAweDk4LCAweDc0LCAweDBiLCAweGYwLCAweGU1LCAweDQ1LCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDkwLCAweDdmfX0sCi0gezB4MDZjNiwgNjQsIHsgMHg5OCwgMHg3NCwgMHgwOSwgMHhmMCwgMHgxMiwgMHgxMywgMHg2MywgMHhlZiwgMHg1NCwgMHhmZSwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHg1MywgMHgzZiwgMHhmZCwKLSAgMHhlNCwgMHhmZiwgMHhhZCwgMHgzZiwgMHgxMiwgMHgxMiwgMHgxYSwgMHhlNCwgMHhmNSwgMHgzMywgMHhmNSwgMHgzMiwgMHhkMiwgMHgwOCwgMHg5MCwgMHg3ZSwKLSAgMHgzNywgMHhlMCwgMHg2MCwgMHgwZiwgMHg0MywgMHgzZiwgMHgwMiwgMHhlNCwgMHhmZiwgMHhhZCwgMHgzZiwgMHgxMiwgMHgxMiwgMHgxYSwgMHg3NSwgMHgzMiwKLSAgMHgwMSwgMHhkMiwgMHgwOCwgMHg5MCwgMHg3ZSwgMHgzOCwgMHhlMCwgMHg2MCwgMHgxMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYSwgMHhmMH19LAotIHsweDA3MDYsIDY0LCB7IDB4ZTUsIDB4NDEsIDB4NDQsIDB4MDQsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4ZDIsIDB4MDAsIDB4OTAsIDB4N2UsIDB4MzksIDB4ZTAsIDB4NjAsIDB4MTEsIDB4NDMsCi0gIDB4NDUsIDB4NDAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGIsIDB4ZjAsIDB4ZTUsIDB4NDUsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsCi0gIDB4OTAsIDB4N2UsIDB4M2EsIDB4ZTAsIDB4NjAsIDB4MGYsIDB4NTMsIDB4M2YsIDB4ZmUsIDB4ZTQsIDB4ZmYsIDB4YWQsIDB4M2YsIDB4MTIsIDB4MTIsIDB4MWEsCi0gIDB4NzUsIDB4MzQsIDB4MDEsIDB4ZDIsIDB4MDgsIDB4OTAsIDB4N2UsIDB4M2IsIDB4ZTAsIDB4NjAsIDB4MGYsIDB4NDMsIDB4M2YsIDB4MDEsIDB4ZTR9fSwKLSB7MHgwNzQ2LCA2NCwgeyAweGZmLCAweGFkLCAweDNmLCAweDEyLCAweDEyLCAweDFhLCAweGU0LCAweGY1LCAweDM0LCAweGQyLCAweDA4LCAweDkwLCAweDdlLCAweDNjLCAweGUwLCAweDYwLCAweDBlLAotICAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBhLCAweGYwLCAweGU1LCAweDQxLCAweDQ0LCAweDAyLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDkwLCAweDdlLAotICAweDNkLCAweGUwLCAweDYwLCAweDAyLCAweGQyLCAweDBjLCAweDkwLCAweDdlLCAweDNlLCAweGUwLCAweDYwLCAweDA4LCAweDc1LCAweDM1LCAweDAxLCAweGU0LAotICAweGY1LCAweDM5LCAweGQyLCAweDA4LCAweDkwLCAweDdlLCAweDNmLCAweGUwLCAweDYwLCAweDExLCAweDkwLCAweDdmLCAweGQ3LCAweDc0LCAweDEzfX0sCi0gezB4MDc4NiwgNjQsIHsgMHhmMCwgMHg3NCwgMHgzMywgMHhmMCwgMHg3NCwgMHgxNiwgMHhmMCwgMHg3NCwgMHgzNiwgMHhmMCwgMHhkMiwgMHgwNCwgMHhjMiwgMHgwNiwgMHhlNCwgMHg5MCwgMHg3ZiwKLSAgMHhkMSwgMHhmMCwgMHgzMCwgMHgxYSwgMHg1NCwgMHhlNSwgMHgzOSwgMHg2MCwgMHgwMiwgMHgxNSwgMHgzOSwgMHgzMCwgMHgxMywgMHg0YiwgMHhlNSwgMHgxMywKLSAgMHhkMywgMHg5NCwgMHgwMCwgMHg0MCwgMHgwNCwgMHgxNSwgMHgxMywgMHg4MCwgMHg0MCwgMHg3NSwgMHgxMywgMHgwYSwgMHgzMCwgMHgxYiwgMHgwMiwgMHhjMiwKLSAgMHgxMywgMHgxMiwgMHgxMywgMHg2MywgMHhlZiwgMHg1NCwgMHgwMSwgMHhmNSwgMHgxOSwgMHg2NSwgMHgzMywgMHg2MCwgMHgwNSwgMHg4NSwgMHgxOX19LAotIHsweDA3YzYsIDY0LCB7IDB4MzMsIDB4ZDIsIDB4MDgsIDB4MTIsIDB4MTMsIDB4OWYsIDB4ZWYsIDB4NTQsIDB4ODAsIDB4NjQsIDB4ODAsIDB4ZjUsIDB4MTksIDB4NjUsIDB4MmYsIDB4NjAsIDB4MDUsCi0gIDB4ODUsIDB4MTksIDB4MmYsIDB4ZDIsIDB4MDgsIDB4MzAsIDB4MGUsIDB4MTEsIDB4MTIsIDB4MTMsIDB4OWYsIDB4ZWYsIDB4NTQsIDB4MTAsIDB4ZjUsIDB4MTksCi0gIDB4NjUsIDB4MmUsIDB4NjAsIDB4MDUsIDB4ODUsIDB4MTksIDB4MmUsIDB4ZDIsIDB4MDgsIDB4MzAsIDB4MWEsIDB4MmEsIDB4OTAsIDB4N2YsIDB4ZDIsIDB4ZTAsCi0gIDB4MjAsIDB4ZTEsIDB4MjMsIDB4OTAsIDB4N2IsIDB4NDAsIDB4ZTAsIDB4NjAsIDB4MDksIDB4ZTAsIDB4ZjUsIDB4MTUsIDB4OTAsIDB4N2IsIDB4NDJ9fSwKLSB7MHgwODA2LCA2NCwgeyAweGUwLCAweGY1LCAweDE2LCAweDkwLCAweDdiLCAweDQxLCAweGUwLCAweDYwLCAweDA5LCAweDkwLCAweDdmLCAweGQ3LCAweDc0LCAweDE3LCAweGYwLCAweDc0LCAweDM3LAotICAweGYwLCAweGU0LCAweDkwLCAweDdmLCAweGQzLCAweGYwLCAweDkwLCAweDdmLCAweGMyLCAweGUwLCAweDMwLCAweGUxLCAweDAzLCAweDAyLCAweDA5LCAweDI0LAotICAweGU1LCAweDBhLCAweDcwLCAweDQwLCAweDMwLCAweDA3LCAweDM5LCAweGU1LCAweDM4LCAweDcwLCAweDM1LCAweGMyLCAweDA3LCAweGY1LCAweDE4LCAweDdlLAotICAweDAwLCAweDdiLCAweDAwLCAweDc0LCAweDI0LCAweDI1LCAweDE4LCAweGY5LCAweGVlLCAweDM0LCAweDAwLCAweGZhLCAweDEyLCAweDBlLCAweDllfX0sCi0gezB4MDg0NiwgNjQsIHsgMHhmZiwgMHg3NCwgMHg4MCwgMHgyNSwgMHgxOCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3YiwgMHhmNSwgMHg4MywgMHhlZiwgMHhmMCwgMHgwNSwgMHgxOCwgMHhlNSwKLSAgMHgxOCwgMHhiNCwgMHgwOSwgMHhkYiwgMHg5MCwgMHg3ZiwgMHhjMywgMHg3NCwgMHgwOSwgMHhmMCwgMHg3NSwgMHgzOCwgMHgxMCwgMHhlNCwgMHhmNSwgMHgyYywKLSAgMHg3NSwgMHgwYSwgMHgwMSwgMHgyMiwgMHhlNSwgMHgwYSwgMHg2NCwgMHgwMSwgMHg3MCwgMHg0MCwgMHgzMCwgMHgwOCwgMHgzOSwgMHhlNSwgMHgzOSwgMHg3MCwKLSAgMHgzNSwgMHhjMiwgMHgwOCwgMHhmNSwgMHgxOCwgMHg3ZSwgMHgwMCwgMHg3YiwgMHgwMCwgMHg3NCwgMHgyZCwgMHgyNSwgMHgxOCwgMHhmOSwgMHhlZX19LAotIHsweDA4ODYsIDY0LCB7IDB4MzQsIDB4MDAsIDB4ZmEsIDB4MTIsIDB4MGUsIDB4OWUsIDB4ZmYsIDB4NzQsIDB4ODAsIDB4MjUsIDB4MTgsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2IsIDB4ZjUsCi0gIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4MDUsIDB4MTgsIDB4ZTUsIDB4MTgsIDB4YjQsIDB4MDksIDB4ZGIsIDB4OTAsIDB4N2YsIDB4YzMsIDB4NzQsIDB4MDksIDB4ZjAsCi0gIDB4NzUsIDB4MzksIDB4MTAsIDB4ZTQsIDB4ZjUsIDB4MzUsIDB4NzUsIDB4MGEsIDB4MDIsIDB4MjIsIDB4ZTUsIDB4MGEsIDB4NjQsIDB4MDIsIDB4NzAsIDB4MzYsCi0gIDB4MzAsIDB4MTQsIDB4MmYsIDB4YzIsIDB4MTQsIDB4ZjUsIDB4MTgsIDB4N2UsIDB4MDAsIDB4N2IsIDB4MDAsIDB4NzQsIDB4MGUsIDB4MjUsIDB4MTh9fSwKLSB7MHgwOGM2LCA2NCwgeyAweGY5LCAweGVlLCAweDM0LCAweDAwLCAweGZhLCAweDEyLCAweDBlLCAweDllLCAweGZmLCAweDc0LCAweDgwLCAweDI1LCAweDE4LCAweGY1LCAweDgyLCAweGU0LCAweDM0LAotICAweDdiLCAweGY1LCAweDgzLCAweGVmLCAweGYwLCAweDA1LCAweDE4LCAweGU1LCAweDE4LCAweGI0LCAweDA1LCAweGRiLCAweDkwLCAweDdmLCAweGMzLCAweDc0LAotICAweDA1LCAweGYwLCAweDc1LCAweDBhLCAweDAzLCAweDIyLCAweGU1LCAweDE1LCAweDYwLCAweDMwLCAweDE1LCAweDE1LCAweGU0LCAweGY1LCAweDE4LCAweDdlLAotICAweDAwLCAweDdiLCAweDAwLCAweDc0LCAweDE0LCAweDI1LCAweDE4LCAweGY5LCAweGVlLCAweDM0LCAweDAwLCAweGZhLCAweDEyLCAweDBlLCAweDllfX0sCi0gezB4MDkwNiwgNjQsIHsgMHhmZiwgMHg3NCwgMHg4MCwgMHgyNSwgMHgxOCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3YiwgMHhmNSwgMHg4MywgMHhlZiwgMHhmMCwgMHgwNSwgMHgxOCwgMHhlNSwKLSAgMHgxOCwgMHhiNCwgMHgwMywgMHhkYiwgMHg5MCwgMHg3ZiwgMHhjMywgMHg3NCwgMHgwMywgMHhmMCwgMHhlNCwgMHhmNSwgMHgwYSwgMHgyMiwgMHg5MCwgMHg3ZiwKLSAgMHhlOSwgMHhlMCwgMHgxMiwgMHgwZSwgMHhmNiwgMHgwYSwgMHgwYywgMHgwMCwgMHgwYSwgMHg4MCwgMHgwMSwgMHgwYSwgMHhlYywgMHgwMywgMHgwOSwgMHg0OCwKLSAgMHgwNiwgMHgwOSwgMHhmZiwgMHgwOCwgMHgwOSwgMHhmOSwgMHgwOSwgMHgwOSwgMHhlMSwgMHgwYSwgMHgwOSwgMHhmMCwgMHgwYiwgMHgwMCwgMHgwMH19LAotIHsweDA5NDYsIDY0LCB7IDB4MGIsIDB4M2IsIDB4OTAsIDB4N2YsIDB4ZWIsIDB4ZTAsIDB4MjQsIDB4ZmUsIDB4NjAsIDB4MTksIDB4MTQsIDB4NjAsIDB4NjEsIDB4MjQsIDB4MDIsIDB4NjAsIDB4MDMsCi0gIDB4MDIsIDB4MDksIDB4ZDcsIDB4NzQsIDB4MTksIDB4OTAsIDB4N2YsIDB4ZDQsIDB4ZjAsIDB4NzQsIDB4MDAsIDB4OTAsIDB4N2YsIDB4ZDUsIDB4ZjAsIDB4MDIsCi0gIDB4MGIsIDB4NDIsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4NzAsIDB4MDQsIDB4N2YsIDB4MDIsIDB4ODAsIDB4MDIsIDB4N2YsIDB4MDMsIDB4NzUsIDB4ODIsCi0gIDB4ODIsIDB4NzUsIDB4ODMsIDB4MTksIDB4ZWYsIDB4ZjAsIDB4NzUsIDB4ODIsIDB4N2IsIDB4NzUsIDB4ODMsIDB4MTksIDB4ZjAsIDB4NzUsIDB4ODJ9fSwKLSB7MHgwOTg2LCA2NCwgeyAweDc0LCAweDc1LCAweDgzLCAweDE5LCAweGYwLCAweDc1LCAweDgyLCAweDY2LCAweDc1LCAweDgzLCAweDE5LCAweGYwLCAweDc1LCAweDgyLCAweDU4LCAweDc1LCAweDgzLAotICAweDE5LCAweGYwLCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweDA0LCAweDc1LCAweDgyLCAweDE3LCAweDc1LCAweDgzLCAweDE5LCAweGYwLCAweDc0LCAweDE5LAotICAweDkwLCAweDdmLCAweGQ0LCAweGYwLCAweDc0LCAweDEyLCAweDkwLCAweDdmLCAweGQ1LCAweGYwLCAweDAyLCAweDBiLCAweDQyLCAweDkwLCAweDdmLCAweGVhLAotICAweGUwLCAweGZmLCAweDEyLCAweDBmLCAweDFjLCAweGVhLCAweDQ5LCAweDYwLCAweDBkLCAweGVhLCAweDkwLCAweDdmLCAweGQ0LCAweGYwLCAweGU5fX0sCi0gezB4MDljNiwgNjQsIHsgMHg5MCwgMHg3ZiwgMHhkNSwgMHhmMCwgMHgwMiwgMHgwYiwgMHg0MiwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHgwMiwgMHgwYiwgMHg0MiwKLSAgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHgwMiwgMHgwYiwgMHg0MiwgMHg5MCwgMHg3ZiwgMHgwMCwgMHhlNSwgMHgwOSwgMHhmMCwKLSAgMHg5MCwgMHg3ZiwgMHhiNSwgMHg3NCwgMHgwMSwgMHhmMCwgMHgwMiwgMHgwYiwgMHg0MiwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHhmNSwgMHgwOSwgMHgwMiwKLSAgMHgwYiwgMHg0MiwgMHgxMiwgMHgwYiwgMHg0YSwgMHgwMiwgMHgwYiwgMHg0MiwgMHg5MCwgMHg3ZiwgMHgwMCwgMHg3NCwgMHgwMSwgMHhmMCwgMHg5MH19LAotIHsweDBhMDYsIDY0LCB7IDB4N2YsIDB4YjUsIDB4ZjAsIDB4MDIsIDB4MGIsIDB4NDIsIDB4OTAsIDB4N2YsIDB4ZTgsIDB4ZTAsIDB4MjQsIDB4N2YsIDB4NjAsIDB4MjQsIDB4MTQsIDB4NjAsIDB4MzEsCi0gIDB4MjQsIDB4MDIsIDB4NzAsIDB4NWIsIDB4YTIsIDB4MTAsIDB4ZTQsIDB4MzMsIDB4ZmYsIDB4MjUsIDB4ZTAsIDB4ZmYsIDB4YTIsIDB4MTYsIDB4ZTQsIDB4MzMsCi0gIDB4NGYsIDB4OTAsIDB4N2YsIDB4MDAsIDB4ZjAsIDB4ZTQsIDB4YTMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4MDIsIDB4MGIsCi0gIDB4NDIsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4MDAsIDB4ZjAsIDB4YTMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4MDJ9fSwKLSB7MHgwYTQ2LCA2NCwgeyAweDBiLCAweDQyLCAweDkwLCAweDdmLCAweGVjLCAweGUwLCAweGY0LCAweDU0LCAweDgwLCAweGZmLCAweGM0LCAweDU0LCAweDBmLCAweGZmLCAweGUwLCAweDU0LCAweDA3LAotICAweDJmLCAweDI1LCAweGUwLCAweDI0LCAweGI0LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdmLCAweGY1LCAweDgzLCAweGUwLCAweDU0LCAweGZkLCAweDkwLAotICAweDdmLCAweDAwLCAweGYwLCAweGU0LCAweGEzLCAweGYwLCAweDkwLCAweDdmLCAweGI1LCAweDc0LCAweDAyLCAweGYwLCAweDAyLCAweDBiLCAweDQyLCAweDkwLAotICAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDAyLCAweDBiLCAweDQyLCAweDkwLCAweDdmLCAweGU4LCAweGUwLCAweDI0LCAweGZlfX0sCi0gezB4MGE4NiwgNjQsIHsgMHg2MCwgMHgxZCwgMHgyNCwgMHgwMiwgMHg2MCwgMHgwMywgMHgwMiwgMHgwYiwgMHg0MiwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHhiNCwgMHgwMSwgMHgwNSwgMHhjMiwKLSAgMHgxMCwgMHgwMiwgMHgwYiwgMHg0MiwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHgwMiwgMHgwYiwgMHg0MiwgMHg5MCwgMHg3ZiwKLSAgMHhlYSwgMHhlMCwgMHg3MCwgMHgzOCwgMHg5MCwgMHg3ZiwgMHhlYywgMHhlMCwgMHhmNCwgMHg1NCwgMHg4MCwgMHhmZiwgMHhjNCwgMHg1NCwgMHgwZiwgMHhmZiwKLSAgMHhlMCwgMHg1NCwgMHgwNywgMHgyZiwgMHgyNSwgMHhlMCwgMHgyNCwgMHhiNCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZiwgMHhmNSwgMHg4M319LAotIHsweDBhYzYsIDY0LCB7IDB4ZTQsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZWMsIDB4ZTAsIDB4NTQsIDB4ODAsIDB4ZmYsIDB4MTMsIDB4MTMsIDB4MTMsIDB4NTQsIDB4MWYsIDB4ZmYsIDB4ZTAsIDB4NTQsCi0gIDB4MDcsIDB4MmYsIDB4OTAsIDB4N2YsIDB4ZDcsIDB4ZjAsIDB4ZTAsIDB4NDQsIDB4MjAsIDB4ZjAsIDB4ODAsIDB4NWYsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsCi0gIDB4NDQsIDB4MDEsIDB4ZjAsIDB4ODAsIDB4NTYsIDB4OTAsIDB4N2YsIDB4ZTgsIDB4ZTAsIDB4MjQsIDB4ZmUsIDB4NjAsIDB4MTgsIDB4MjQsIDB4MDIsIDB4NzAsCi0gIDB4NGEsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4YjQsIDB4MDEsIDB4MDQsIDB4ZDIsIDB4MTAsIDB4ODAsIDB4M2YsIDB4OTAsIDB4N2YsIDB4YjR9fSwKLSB7MHgwYjA2LCA2NCwgeyAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDgwLCAweDM2LCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweDcwLCAweDIwLCAweDkwLCAweDdmLCAweGVjLCAweGUwLCAweGY0LAotICAweDU0LCAweDgwLCAweGZmLCAweGM0LCAweDU0LCAweDBmLCAweGZmLCAweGUwLCAweDU0LCAweDA3LCAweDJmLCAweDI1LCAweGUwLCAweDI0LCAweGI0LCAweGY1LAotICAweDgyLCAweGU0LCAweDM0LCAweDdmLCAweGY1LCAweDgzLCAweDc0LCAweDAxLCAweGYwLCAweDgwLCAweDEwLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LAotICAweDAxLCAweGYwLCAweDgwLCAweDA3LCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGI0LCAweGUwfX0sCi0gezB4MGI0NiwgNjQsIHsgMHg0NCwgMHgwMiwgMHhmMCwgMHgyMiwgMHhlNCwgMHg5MCwgMHg3ZiwgMHg5MywgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5YywgMHg3NCwgMHgzMCwgMHhmMCwgMHhlNCwgMHg5MCwKLSAgMHg3ZiwgMHg5NiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5NSwgMHg3NCwgMHhjMCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5ZSwgMHg3NCwgMHgzZiwgMHhmMCwgMHg5MCwKLSAgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxOCwgMHhmMCwgMHhlNCwgMHhmNSwgMHg4ZSwgMHg5MCwgMHg3ZiwgMHhkZiwgMHg3NCwgMHhmZiwgMHhmMCwgMHg5MCwgMHg3ZiwKLSAgMHhkZSwgMHhmMCwgMHhlNCwgMHhmNSwgMHgyNCwgMHg3NSwgMHgxOCwgMHgwMSwgMHg3YiwgMHgwMCwgMHg3NCwgMHgyNCwgMHgyNSwgMHgxOCwgMHhmOX19LAotIHsweDBiODYsIDY0LCB7IDB4ZTQsIDB4MzQsIDB4MDAsIDB4ZmEsIDB4ZTQsIDB4MTIsIDB4MGUsIDB4ZTQsIDB4MDUsIDB4MTgsIDB4ZTUsIDB4MTgsIDB4YjQsIDB4MDksIDB4ZWEsIDB4NzUsIDB4M2EsCi0gIDB4MDEsIDB4ZTQsIDB4ZjUsIDB4MzgsIDB4ZjUsIDB4MTMsIDB4ZjUsIDB4MzYsIDB4YzIsIDB4MDcsIDB4YzIsIDB4MGIsIDB4YzIsIDB4MDUsIDB4YzIsIDB4MDAsCi0gIDB4YzIsIDB4MDksIDB4YzIsIDB4MTMsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4NzUsIDB4NDQsIDB4MDMsIDB4OTAsIDB4YzAsIDB4MDAsCi0gIDB4NzQsIDB4MDMsIDB4ZjAsIDB4N2YsIDB4MGMsIDB4ZTQsIDB4ZmQsIDB4MTIsIDB4MTEsIDB4ZDAsIDB4N2YsIDB4MTAsIDB4OGYsIDB4NDIsIDB4MTJ9fSwKLSB7MHgwYmM2LCA2NCwgeyAweDEwLCAweGEwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEyLCAweGYwLCAweDdmLCAweDAxLCAweDhmLCAweDQwLCAweGVmLCAweDQ0LCAweDA2LCAweDkwLCAweGMwLAotICAweDAwLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDE0LCAweGYwLCAweDc1LCAweDQ2LCAweDgwLCAweDkwLCAweGMwLCAweDAwLCAweDc0LCAweDgwLAotICAweGYwLCAweDBmLCAweGU0LCAweGZkLCAweDEyLCAweDExLCAweGQwLCAweGU0LCAweGZmLCAweDdlLCAweGEzLCAweGFkLCAweDA2LCAweDhkLCAweDNlLCAweDEyLAotICAweDExLCAweGQwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDExLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGU0LCAweGYwLCAweDdmLCAweDA1fX0sCi0gezB4MGMwNiwgNjQsIHsgMHg3ZCwgMHg3ZiwgMHgxMiwgMHgxMSwgMHhkMCwgMHg3ZiwgMHgwMSwgMHgxMiwgMHgxMiwgMHg4OSwgMHg3ZiwgMHgwMywgMHg3ZCwgMHgwNywgMHgxMiwgMHgxMSwgMHhkMCwKLSAgMHg3ZiwgMHgxMywgMHg3ZCwgMHgwOSwgMHgxMiwgMHgxMSwgMHhkMCwgMHgyMCwgMHgxYiwgMHgwMywgMHgwMiwgMHgwYywgMHhjOSwgMHg3NSwgMHgyZCwgMHgwMSwKLSAgMHg3NSwgMHgxOCwgMHgwMSwgMHg3YiwgMHgwMCwgMHg3NCwgMHgyZCwgMHgyNSwgMHgxOCwgMHhmOSwgMHhlNCwgMHgzNCwgMHgwMCwgMHhmYSwgMHhlNCwgMHgxMiwKLSAgMHgwZSwgMHhlNCwgMHgwNSwgMHgxOCwgMHhlNSwgMHgxOCwgMHhiNCwgMHgwOSwgMHhlYSwgMHg3NSwgMHgzYiwgMHgwMSwgMHhlNCwgMHhmNSwgMHgzOX19LAotIHsweDBjNDYsIDY0LCB7IDB4ZjUsIDB4MTMsIDB4ZjUsIDB4MzcsIDB4YzIsIDB4MDgsIDB4YzIsIDB4MGMsIDB4YzIsIDB4MDYsIDB4YzIsIDB4MDAsIDB4YzIsIDB4MGEsIDB4YzIsIDB4MTMsIDB4OTAsCi0gIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGIsIDB4ZjAsIDB4NzUsIDB4NDUsIDB4MDMsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4MDMsIDB4ZjAsIDB4N2YsIDB4MGMsCi0gIDB4ZTQsIDB4ZmQsIDB4MTIsIDB4MTIsIDB4MWEsIDB4N2YsIDB4MTAsIDB4OGYsIDB4NDMsIDB4MTIsIDB4MTEsIDB4MTIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsCi0gIDB4MGEsIDB4ZjAsIDB4N2YsIDB4MDEsIDB4OGYsIDB4NDEsIDB4ZWYsIDB4NDQsIDB4MDYsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4OTAsIDB4N2Z9fSwKLSB7MHgwYzg2LCA2NCwgeyAweDk4LCAweDc0LCAweDBjLCAweGYwLCAweDc1LCAweDQ3LCAweDgwLCAweDkwLCAweGMwLCAweDAwLCAweDc0LCAweDgwLCAweGYwLCAweDBmLCAweGU0LCAweGZkLCAweDEyLAotICAweDEyLCAweDFhLCAweGU0LCAweGZmLCAweDdlLCAweGEzLCAweGFkLCAweDA2LCAweDhkLCAweDNmLCAweDEyLCAweDEyLCAweDFhLCAweDkwLCAweDdmLCAweDk4LAotICAweDc0LCAweDA5LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGU0LCAweGYwLCAweDdmLCAweDA1LCAweDdkLCAweDdmLCAweDEyLCAweDEyLCAweDFhLCAweDdmLAotICAweDAxLCAweDEyLCAweDEyLCAweGFhLCAweDdmLCAweDAzLCAweDdkLCAweDA3LCAweDEyLCAweDEyLCAweDFhLCAweDdmLCAweDEzLCAweDdkLCAweDA5fX0sCi0gezB4MGNjNiwgNjQsIHsgMHgxMiwgMHgxMiwgMHgxYSwgMHhkMiwgMHgxMiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMCwgMHhmMCwgMHhhZiwgMHgwOCwgMHhlNSwgMHgwZCwgMHhmNSwKLSAgMHg4MiwgMHhlNSwgMHgwYywgMHhmNSwgMHg4MywgMHhjMiwgMHhhZiwgMHgwNSwgMHg4NiwgMHg5MCwgMHhjMCwgMHgwMCwgMHgwNSwgMHg4NiwgMHhlMCwgMHhhMywKLSAgMHgwNSwgMHg4NiwgMHhmMCwgMHgwNSwgMHg4NiwgMHhkZiwgMHhmNywgMHhkMiwgMHhhZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMCwgMHhmMCwKLSAgMHhhZiwgMHgwOCwgMHhlNSwgMHgwZCwgMHhmNSwgMHg4MiwgMHhlNSwgMHgwYywgMHhmNSwgMHg4MywgMHhjMiwgMHhhZiwgMHgwNSwgMHg4NiwgMHg5MH19LAotIHsweDBkMDYsIDY0LCB7IDB4YzAsIDB4MDAsIDB4ZTAsIDB4MDUsIDB4ODYsIDB4ZjAsIDB4YTMsIDB4MDUsIDB4ODYsIDB4ZGYsIDB4ZjcsIDB4MDUsIDB4ODYsIDB4ZDIsIDB4YWYsIDB4MjIsIDB4OTAsCi0gIDB4N2YsIDB4OTgsIDB4NzQsIDB4MDgsIDB4ZjAsIDB4YWYsIDB4MDgsIDB4ZTUsIDB4MGQsIDB4ZjUsIDB4ODIsIDB4ZTUsIDB4MGMsIDB4ZjUsIDB4ODMsIDB4YzIsCi0gIDB4YWYsIDB4MDUsIDB4ODYsIDB4OTAsIDB4YzAsIDB4MDAsIDB4MDUsIDB4ODYsIDB4ZTAsIDB4YTMsIDB4MDUsIDB4ODYsIDB4ZjAsIDB4MDUsIDB4ODYsIDB4ZGYsCi0gIDB4ZjcsIDB4ZDIsIDB4YWYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MDgsIDB4ZjAsIDB4YWYsIDB4MDgsIDB4ZTUsIDB4MGQsIDB4ZjV9fSwKLSB7MHgwZDQ2LCA2NCwgeyAweDgyLCAweGU1LCAweDBjLCAweGY1LCAweDgzLCAweGMyLCAweGFmLCAweDA1LCAweDg2LCAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweDA1LCAweDg2LCAweGYwLCAweGEzLAotICAweDA1LCAweDg2LCAweGRmLCAweGY3LCAweDA1LCAweDg2LCAweGQyLCAweGFmLCAweDIyLCAweDc0LCAweDAwLCAweGY1LCAweDg2LCAweDkwLCAweGZkLCAweGE1LAotICAweDdjLCAweDA1LCAweGEzLCAweGU1LCAweDgyLCAweDQ1LCAweDgzLCAweDcwLCAweGY5LCAweDIyLCAweDkwLCAweDdmLCAweGQ2LCAweGUwLCAweDQ0LCAweDgwLAotICAweGYwLCAweDQzLCAweDg3LCAweDAxLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDIyLCAweGQyLCAweDE5LCAweDkwLCAweDdmLCAweDkyfX0sCi0gezB4MGQ4NiwgNjQsIHsgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhZSwgMHhlMCwgMHhmZiwgMHhkMywgMHg5MiwgMHgxMCwgMHhlNCwgMHgzMywgMHhmZSwgMHhlZiwgMHg0ZSwKLSAgMHhmMCwgMHhkMiwgMHhlOCwgMHg0MywgMHhkOCwgMHgyMCwgMHg5MCwgMHg3ZiwgMHhkZSwgMHg3NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhkZiwgMHhmMCwKLSAgMHg5MCwgMHg3ZiwgMHhhYiwgMHg3NCwgMHhmZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhOSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhYSwgMHhmMCwgMHg1MywgMHg5MSwKLSAgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhZiwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhZSwgMHhlMCwgMHg0NCwgMHgwZCwgMHhmMH19LAotIHsweDBkYzYsIDY0LCB7IDB4ZDIsIDB4YWYsIDB4ZDIsIDB4MWEsIDB4MTIsIDB4MTIsIDB4NjQsIDB4YzIsIDB4MTEsIDB4ZTQsIDB4ZjUsIDB4MGIsIDB4ZjUsIDB4MTMsIDB4YzIsIDB4MTcsIDB4YzIsCi0gIDB4MTIsIDB4OTAsIDB4N2YsIDB4YTEsIDB4MDQsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZDgsIDB4ZTAsIDB4NjUsIDB4MTcsIDB4NjAsIDB4MTAsIDB4MzAsIDB4MTIsCi0gIDB4MDUsIDB4ZDIsIDB4MWEsIDB4MTIsIDB4MDAsIDB4NDYsIDB4OTAsIDB4N2YsIDB4ZDgsIDB4ZTAsIDB4ZjUsIDB4MTcsIDB4ODAsIDB4MDgsIDB4MzAsIDB4MTIsCi0gIDB4MDUsIDB4YzIsIDB4MWEsIDB4MTIsIDB4MDAsIDB4NDYsIDB4MzAsIDB4MTEsIDB4MDcsIDB4YzIsIDB4MTEsIDB4MTIsIDB4MDksIDB4MjUsIDB4ODB9fSwKLSB7MHgwZTA2LCA2NCwgeyAweGQ2LCAweDMwLCAweDE4LCAweGQzLCAweGMyLCAweDE4LCAweDEyLCAweDEzLCAweGFiLCAweDgwLCAweGNjLCAweDIyLCAweDc4LCAweDdmLCAweGU0LCAweGY2LCAweGQ4LAotICAweGZkLCAweDc1LCAweDgxLCAweDQ3LCAweDAyLCAweDBlLCAweDU5LCAweDAyLCAweDBkLCAweDgxLCAweGU0LCAweDkzLCAweGEzLCAweGY4LCAweGU0LCAweDkzLAotICAweGEzLCAweDQwLCAweDAzLCAweGY2LCAweDgwLCAweDAxLCAweGYyLCAweDA4LCAweGRmLCAweGY0LCAweDgwLCAweDI5LCAweGU0LCAweDkzLCAweGEzLCAweGY4LAotICAweDU0LCAweDA3LCAweDI0LCAweDBjLCAweGM4LCAweGMzLCAweDMzLCAweGM0LCAweDU0LCAweDBmLCAweDQ0LCAweDIwLCAweGM4LCAweDgzLCAweDQwfX0sCi0gezB4MGU0NiwgNjQsIHsgMHgwNCwgMHhmNCwgMHg1NiwgMHg4MCwgMHgwMSwgMHg0NiwgMHhmNiwgMHhkZiwgMHhlNCwgMHg4MCwgMHgwYiwgMHgwMSwgMHgwMiwgMHgwNCwgMHgwOCwgMHgxMCwgMHgyMCwKLSAgMHg0MCwgMHg4MCwgMHg5MCwgMHgxMiwgMHhjYiwgMHhlNCwgMHg3ZSwgMHgwMSwgMHg5MywgMHg2MCwgMHhiYywgMHhhMywgMHhmZiwgMHg1NCwgMHgzZiwgMHgzMCwKLSAgMHhlNSwgMHgwOSwgMHg1NCwgMHgxZiwgMHhmZSwgMHhlNCwgMHg5MywgMHhhMywgMHg2MCwgMHgwMSwgMHgwZSwgMHhjZiwgMHg1NCwgMHhjMCwgMHgyNSwgMHhlMCwKLSAgMHg2MCwgMHhhOCwgMHg0MCwgMHhiOCwgMHhlNCwgMHg5MywgMHhhMywgMHhmYSwgMHhlNCwgMHg5MywgMHhhMywgMHhmOCwgMHhlNCwgMHg5MywgMHhhM319LAotIHsweDBlODYsIDY0LCB7IDB4YzgsIDB4YzUsIDB4ODIsIDB4YzgsIDB4Y2EsIDB4YzUsIDB4ODMsIDB4Y2EsIDB4ZjAsIDB4YTMsIDB4YzgsIDB4YzUsIDB4ODIsIDB4YzgsIDB4Y2EsIDB4YzUsIDB4ODMsCi0gIDB4Y2EsIDB4ZGYsIDB4ZTksIDB4ZGUsIDB4ZTcsIDB4ODAsIDB4YmUsIDB4YmIsIDB4MDEsIDB4MDYsIDB4ODksIDB4ODIsIDB4OGEsIDB4ODMsIDB4ZTAsIDB4MjIsCi0gIDB4NTAsIDB4MDIsIDB4ZTcsIDB4MjIsIDB4YmIsIDB4ZmUsIDB4MDIsIDB4ZTMsIDB4MjIsIDB4ODksIDB4ODIsIDB4OGEsIDB4ODMsIDB4ZTQsIDB4OTMsIDB4MjIsCi0gIDB4YmIsIDB4MDEsIDB4MGMsIDB4ZTUsIDB4ODIsIDB4MjksIDB4ZjUsIDB4ODIsIDB4ZTUsIDB4ODMsIDB4M2EsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MjJ9fSwKLSB7MHgwZWM2LCA2NCwgeyAweDUwLCAweDA2LCAweGU5LCAweDI1LCAweDgyLCAweGY4LCAweGU2LCAweDIyLCAweGJiLCAweGZlLCAweDA2LCAweGU5LCAweDI1LCAweDgyLCAweGY4LCAweGUyLCAweDIyLAotICAweGU1LCAweDgyLCAweDI5LCAweGY1LCAweDgyLCAweGU1LCAweDgzLCAweDNhLCAweGY1LCAweDgzLCAweGU0LCAweDkzLCAweDIyLCAweGJiLCAweDAxLCAweDA2LAotICAweDg5LCAweDgyLCAweDhhLCAweDgzLCAweGYwLCAweDIyLCAweDUwLCAweDAyLCAweGY3LCAweDIyLCAweGJiLCAweGZlLCAweDAxLCAweGYzLCAweDIyLCAweGQwLAotICAweDgzLCAweGQwLCAweDgyLCAweGY4LCAweGU0LCAweDkzLCAweDcwLCAweDEyLCAweDc0LCAweDAxLCAweDkzLCAweDcwLCAweDBkLCAweGEzLCAweGEzfX0sCi0gezB4MGYwNiwgNjQsIHsgMHg5MywgMHhmOCwgMHg3NCwgMHgwMSwgMHg5MywgMHhmNSwgMHg4MiwgMHg4OCwgMHg4MywgMHhlNCwgMHg3MywgMHg3NCwgMHgwMiwgMHg5MywgMHg2OCwgMHg2MCwgMHhlZiwKLSAgMHhhMywgMHhhMywgMHhhMywgMHg4MCwgMHhkZiwgMHg4ZiwgMHgxOCwgMHhlNCwgMHhmNSwgMHgxOSwgMHg3NSwgMHgxYSwgMHhmZiwgMHg3NSwgMHgxYiwgMHgxOSwKLSAgMHg3NSwgMHgxYywgMHg4NiwgMHhhYiwgMHgxYSwgMHhhYSwgMHgxYiwgMHhhOSwgMHgxYywgMHg5MCwgMHgwMCwgMHgwMSwgMHgxMiwgMHgwZSwgMHhiNywgMHhiNCwKLSAgMHgwMywgMHgxZCwgMHhhZiwgMHgxOSwgMHgwNSwgMHgxOSwgMHhlZiwgMHhiNSwgMHgxOCwgMHgwMSwgMHgyMiwgMHgxMiwgMHgwZSwgMHg5ZSwgMHg3ZX19LAotIHsweDBmNDYsIDY0LCB7IDB4MDAsIDB4MjksIDB4ZmYsIDB4ZWUsIDB4M2EsIDB4YTksIDB4MDcsIDB4NzUsIDB4MWEsIDB4ZmYsIDB4ZjUsIDB4MWIsIDB4ODksIDB4MWMsIDB4ODAsIDB4ZDQsIDB4N2IsCi0gIDB4MDAsIDB4N2EsIDB4MDAsIDB4NzksIDB4MDAsIDB4MjIsIDB4OGYsIDB4MWEsIDB4MDUsIDB4MGQsIDB4ZTUsIDB4MGQsIDB4YWUsIDB4MGMsIDB4NzAsIDB4MDIsCi0gIDB4MDUsIDB4MGMsIDB4MTQsIDB4ZjUsIDB4ODIsIDB4OGUsIDB4ODMsIDB4ZTUsIDB4MWEsIDB4ZjAsIDB4MTIsIDB4MDAsIDB4MzYsIDB4MDUsIDB4MGQsIDB4ZTUsCi0gIDB4MGQsIDB4YWMsIDB4MGMsIDB4NzAsIDB4MDIsIDB4MDUsIDB4MGMsIDB4MTQsIDB4ZjUsIDB4ODIsIDB4OGMsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4MTV9fSwKLSB7MHgwZjg2LCA2NCwgeyAweDA4LCAweGU1LCAweDA4LCAweDYwLCAweDBhLCAweDEyLCAweDEzLCAweDNmLCAweDhmLCAweDFhLCAweGVmLCAweDQyLCAweDM2LCAweDgwLCAweGNhLCAweDIyLCAweDhmLAotICAweDFhLCAweDA1LCAweDBkLCAweGU1LCAweDBkLCAweGFlLCAweDBjLCAweDcwLCAweDAyLCAweDA1LCAweDBjLCAweDE0LCAweGY1LCAweDgyLCAweDhlLCAweDgzLAotICAweGU1LCAweDFhLCAweGYwLCAweDEyLCAweDEzLCAweDU3LCAweDA1LCAweDBkLCAweGU1LCAweDBkLCAweGFjLCAweDBjLCAweDcwLCAweDAyLCAweDA1LCAweDBjLAotICAweDE0LCAweGY1LCAweDgyLCAweDhjLCAweDgzLCAweGVmLCAweGYwLCAweDE1LCAweDA4LCAweGU1LCAweDA4LCAweDYwLCAweDBhLCAweDEyLCAweDEzfX0sCi0gezB4MGZjNiwgNjQsIHsgMHg5MywgMHg4ZiwgMHgxYSwgMHhlZiwgMHg0MiwgMHgzNywgMHg4MCwgMHhjYSwgMHgyMiwgMHhlNCwgMHg5MCwgMHg3ZiwgMHg5MywgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5YywKLSAgMHg3NCwgMHgzMCwgMHhmMCwgMHhlNCwgMHg5MCwgMHg3ZiwgMHg5NiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5NSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5ZSwgMHg3NCwKLSAgMHgyNywgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgyMCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5ZSwgMHg3NCwgMHgwNywgMHhmMCwgMHhlNCwgMHg5MCwKLSAgMHg3ZiwgMHg5NCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5ZCwgMHg3NCwgMHhmZiwgMHhmMCwgMHhlNCwgMHg5MCwgMHg3ZiwgMHg5NywgMHhmMCwgMHgyMn19LAotIHsweDEwMDYsIDY0LCB7IDB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ODUsIDB4YzAsIDB4ODQsIDB4YzAsIDB4ODYsIDB4NzUsIDB4ODYsIDB4MDAsIDB4ZDIsIDB4MTEsCi0gIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YWIsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4ZDAsIDB4ODYsIDB4ZDAsIDB4ODQsIDB4ZDAsIDB4ODUsIDB4ZDAsCi0gIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzIsIDB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ODUsIDB4YzAsIDB4ODQsCi0gIDB4YzAsIDB4ODYsIDB4NzUsIDB4ODYsIDB4MDAsIDB4ZDIsIDB4MTgsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YWIsIDB4NzQsIDB4MDh9fSwKLSB7MHgxMDQ2LCA2NCwgeyAweGYwLCAweGQwLCAweDg2LCAweGQwLCAweDg0LCAweGQwLCAweDg1LCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGUwLCAweDMyLCAweDkwLCAweDdmLCAweDk4LAotICAweDc0LCAweDEzLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweDc0LCAweGJmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEwLCAweGYwLCAweDkwLAotICAweGMwLCAweDAwLCAweGVmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweGU1LCAweDQ0LCAweDU0LCAweDdmLCAweDkwLCAweGMwLAotICAweDAwLCAweGYwLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweDc0LCAweGJmLCAweGYwfX0sCi0gezB4MTA4NiwgNjQsIHsgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwKLSAgMHhlNSwgMHg0NCwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHg5MCwKLSAgMHhjMCwgMHgwMCwgMHg3NCwgMHhiZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMiwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZiwgMHhmMCwKLSAgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHhlNSwgMHg0NCwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHgyMn19LAotIHsweDEwYzYsIDY0LCB7IDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4YmYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTQsCi0gIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4ZTUsIDB4NDQsIDB4NTQsIDB4N2YsCi0gIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4YmYsCi0gIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTYsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTh9fSwKLSB7MHgxMTA2LCA2NCwgeyAweDc0LCAweDEzLCAweGYwLCAweGU1LCAweDQ0LCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBiLAotICAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweDc0LCAweGJmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBhLCAweGYwLCAweDkwLCAweGMwLCAweDAwLAotICAweGVmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBiLCAweGYwLCAweGU1LCAweDQ1LCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLAotICAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBiLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweDc0LCAweGJmLCAweGYwLCAweDkwLCAweDdmfX0sCi0gezB4MTE0NiwgNjQsIHsgMHg5OCwgMHg3NCwgMHgwOCwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYiwgMHhmMCwgMHhlNSwgMHg0NSwKLSAgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYiwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwKLSAgMHg3NCwgMHhiZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwOSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZiwgMHhmMCwgMHg5MCwgMHg3ZiwKLSAgMHg5OCwgMHg3NCwgMHgwYiwgMHhmMCwgMHhlNSwgMHg0NSwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHgyMiwgMHg5MCwgMHg3Zn19LAotIHsweDExODYsIDY0LCB7IDB4OTgsIDB4NzQsIDB4MGIsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4YmYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGMsIDB4ZjAsIDB4OTAsCi0gIDB4YzAsIDB4MDAsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGIsIDB4ZjAsIDB4ZTUsIDB4NDUsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsCi0gIDB4MDAsIDB4ZjAsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGIsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4YmYsIDB4ZjAsIDB4OTAsCi0gIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGUsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGJ9fSwKLSB7MHgxMWM2LCA2NCwgeyAweGYwLCAweGU1LCAweDQ1LCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweGU1LAotICAweDQ0LCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDE3LCAweGYwLCAweDkwLCAweGMwLCAweDAwLAotICAweGVmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDE1LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVkLCAweGYwLCAweDIyLCAweDEyLCAweDEzLAotICAweDI3LCAweDhmLCAweDFhLCAweDEyLCAweDEzLCAweDI3LCAweDhmLCAweDFiLCAweGU1LCAweDFhLCAweDY1LCAweDFiLCAweDYwLCAweDEyLCAweDEyfX0sCi0gezB4MTIwNiwgNjQsIHsgMHgxMywgMHgyNywgMHg4ZiwgMHgxYSwgMHhlNSwgMHgxYSwgMHg2NSwgMHgxYiwgMHg2MCwgMHgwNywgMHgxMiwgMHgxMywgMHgyNywgMHg4ZiwgMHgxYiwgMHg4MCwgMHhlOCwKLSAgMHhhZiwgMHgxYSwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYiwgMHhmMCwgMHhlNSwgMHg0NSwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwKLSAgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwZiwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwKLSAgMHgwZCwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZCwgMHhmMCwgMHgyMiwgMHgxMiwgMHgxMywgMHg3YiwgMHg4ZiwgMHgxYSwgMHgxMiwgMHgxM319LAotIHsweDEyNDYsIDY0LCB7IDB4N2IsIDB4OGYsIDB4MWIsIDB4ZTUsIDB4MWEsIDB4NjUsIDB4MWIsIDB4NjAsIDB4MTIsIDB4MTIsIDB4MTMsIDB4N2IsIDB4OGYsIDB4MWEsIDB4ZTUsIDB4MWEsIDB4NjUsCi0gIDB4MWIsIDB4NjAsIDB4MDcsIDB4MTIsIDB4MTMsIDB4N2IsIDB4OGYsIDB4MWIsIDB4ODAsIDB4ZTgsIDB4YWYsIDB4MWEsIDB4MjIsIDB4OTAsIDB4N2YsIDB4ZDYsCi0gIDB4ZTAsIDB4NTQsIDB4ZmIsIDB4ZjAsIDB4ZTAsIDB4NDQsIDB4MDgsIDB4ZjAsIDB4MzAsIDB4MWEsIDB4MDQsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4N2YsCi0gIDB4ZjQsIDB4N2UsIDB4MDEsIDB4MTIsIDB4MTIsIDB4ZTcsIDB4OTAsIDB4N2YsIDB4ZDYsIDB4ZTAsIDB4NTQsIDB4ZjcsIDB4ZjAsIDB4ZTAsIDB4NDR9fSwKLSB7MHgxMjg2LCA2NCwgeyAweDA0LCAweGYwLCAweDIyLCAweGFlLCAweDA3LCAweGU0LCAweGZmLCAweGU1LCAweDNlLCAweDU0LCAweDdmLCAweGZkLCAweDEyLCAweDExLCAweGQwLCAweDkwLCAweDdmLAotICAweDk4LCAweDc0LCAweDExLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVlLCAweGYwLCAweGU0LCAweGU1LCAweDNlLCAweDQ0LCAweDgwLCAweGZkLCAweDEyLAotICAweDExLCAweGQwLCAweDIyLCAweGFlLCAweDA3LCAweGU0LCAweGZmLCAweGU1LCAweDNmLCAweDU0LCAweDdmLCAweGZkLCAweDEyLCAweDEyLCAweDFhLCAweDkwLAotICAweDdmLCAweDk4LCAweDc0LCAweDA5LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVlLCAweGYwLCAweGU0LCAweGU1LCAweDNmLCAweDQ0LCAweDgwfX0sCi0gezB4MTJjNiwgNjQsIHsgMHhmZCwgMHgxMiwgMHgxMiwgMHgxYSwgMHgyMiwgMHgwNSwgMHgwZSwgMHgwMiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMywgMHgxNCwgMHgwMywgMHgwMCwgMHgwMCwKLSAgMHhjMSwgMHgxMSwgMHhjMSwgMHgxOCwgMHhjMSwgMHg5NSwgMHhjMSwgMHgxMCwgMHhjMSwgMHgxNiwgMHgwMSwgMHgwYSwgMHgwMCwgMHhjMSwgMHg5YiwgMHgwMCwKLSAgMHg4ZSwgMHgxOCwgMHg4ZiwgMHgxOSwgMHhlNSwgMHgxOSwgMHgxNSwgMHgxOSwgMHhhZSwgMHgxOCwgMHg3MCwgMHgwMiwgMHgxNSwgMHgxOCwgMHg0ZSwgMHg2MCwKLSAgMHgwNSwgMHgxMiwgMHgwZCwgMHg2MCwgMHg4MCwgMHhlZSwgMHgyMiwgMHgwMCwgMHgwMCwgMHgwMiwgMHgxMCwgMHgwNiwgMHgwMCwgMHgwMiwgMHgxM319LAotIHsweDEzMDYsIDY0LCB7IDB4MDQsIDB4MDAsIDB4MDIsIDB4MDAsIDB4MDMsIDB4MDAsIDB4MDIsIDB4MTAsIDB4MmQsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTEsIDB4ZjAsIDB4OTAsIDB4YzAsCi0gIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTIsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsCi0gIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsCi0gIDB4MTQsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTUsIDB4ZjAsIDB4OTB9fSwKLSB7MHgxMzQ2LCA2NCwgeyAweGMwLCAweDAwLCAweGUwLCAweGZmLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDE2LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweGZmLCAweDIyLAotICAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDA4LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweGZmLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LAotICAweDA5LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweGZmLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBhLCAweGYwLCAweDkwLCAweGMwLAotICAweDAwLCAweGUwLCAweGZmLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBiLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweGZmfX0sCi0gezB4MTM4NiwgNjQsIHsgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwKLSAgMHgwZCwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwZSwgMHhmMCwgMHg5MCwgMHhjMCwKLSAgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwgMHgxMiwgMHgwZiwgMHhjZiwgMHgxMiwgMHgwZCwgMHg3MSwgMHgxMiwgMHgwYiwgMHg0YSwgMHgyMiwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDEzYzYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNDA2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTQ0NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE0ODYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNGM2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTUwNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE1NDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNTg2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTVjNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE2MDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNjQ2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTY4NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE2YzYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNzA2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTc0NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE3ODYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxN2M2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTgwNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE4NDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxODg2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MThjNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgxMiwgMHgwMSwgMHgxMCwgMHgwMSwgMHhmZiwgMHgwMH19LAotIHsweDE5MDYsIDY0LCB7IDB4MDAsIDB4NDAsIDB4Y2QsIDB4MDYsIDB4MTAsIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDEsIDB4MDIsIDB4MDAsIDB4MDIsIDB4MDksIDB4MDIsIDB4NzQsIDB4MDAsIDB4MDEsCi0gIDB4MDEsIDB4MDAsIDB4YTAsIDB4MzIsIDB4MDksIDB4MDQsIDB4MDAsIDB4MDAsIDB4MGUsIDB4ZmYsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDEsCi0gIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDIsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDMsIDB4MDIsIDB4NDAsCi0gIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDQsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDUsIDB4MDIsIDB4NDAsIDB4MDB9fSwKLSB7MHgxOTQ2LCA2NCwgeyAweDAwLCAweDA3LCAweDA1LCAweDA2LCAweDAyLCAweDQwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDA3LCAweDAyLCAweDQwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LAotICAweDgxLCAweDAyLCAweDQwLCAweDAwLCAweDAxLCAweDA3LCAweDA1LCAweDgyLCAweDAyLCAweDQwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDgzLCAweDAyLAotICAweDQwLCAweDAwLCAweDAxLCAweDA3LCAweDA1LCAweDg0LCAweDAyLCAweDQwLCAweDAwLCAweDAxLCAweDA3LCAweDA1LCAweDg1LCAweDAyLCAweDQwLCAweDAwLAotICAweDAxLCAweDA3LCAweDA1LCAweDg2LCAweDAyLCAweDQwLCAweDAwLCAweDAxLCAweDA3LCAweDA1LCAweDg3LCAweDAyLCAweDQwLCAweDAwLCAweDAxfX0sCi0gezB4MTk4NiwgNjQsIHsgMHgwNCwgMHgwMywgMHgwOSwgMHgwNCwgMHg0OCwgMHgwMywgMHg0YiwgMHgwMCwgMHg2NSwgMHgwMCwgMHg3OSwgMHgwMCwgMHg3MywgMHgwMCwgMHg3MCwgMHgwMCwgMHg2MSwKLSAgMHgwMCwgMHg2ZSwgMHgwMCwgMHgyYywgMHgwMCwgMHgyMCwgMHgwMCwgMHg2MSwgMHgwMCwgMHgyMCwgMHgwMCwgMHg2NCwgMHgwMCwgMHg2OSwgMHgwMCwgMHg3NiwKLSAgMHgwMCwgMHg2OSwgMHgwMCwgMHg3MywgMHgwMCwgMHg2OSwgMHgwMCwgMHg2ZiwgMHgwMCwgMHg2ZSwgMHgwMCwgMHgyMCwgMHgwMCwgMHg2ZiwgMHgwMCwgMHg2NiwKLSAgMHgwMCwgMHgyMCwgMHgwMCwgMHg0OSwgMHgwMCwgMHg2ZSwgMHgwMCwgMHg2ZSwgMHgwMCwgMHg2ZiwgMHgwMCwgMHg1MywgMHgwMCwgMHg3OSwgMHgwMH19LAotIHsweDE5YzYsIDY0LCB7IDB4NzMsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NDksIDB4MDAsIDB4NmUsIDB4MDAsIDB4NjMsIDB4MDAsIDB4MmUsIDB4MDAsIDB4MzYsIDB4MDMsIDB4NGIsIDB4MDAsIDB4NjUsCi0gIDB4MDAsIDB4NzksIDB4MDAsIDB4NzMsIDB4MDAsIDB4NzAsIDB4MDAsIDB4NjEsIDB4MDAsIDB4NmUsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NTUsIDB4MDAsIDB4NTMsCi0gIDB4MDAsIDB4NDIsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NTMsIDB4MDAsIDB4NjUsIDB4MDAsIDB4NzIsIDB4MDAsIDB4NjksIDB4MDAsIDB4NjEsIDB4MDAsIDB4NmMsCi0gIDB4MDAsIDB4MjAsIDB4MDAsIDB4NDEsIDB4MDAsIDB4NjQsIDB4MDAsIDB4NjEsIDB4MDAsIDB4NzAsIDB4MDAsIDB4NzQsIDB4MDAsIDB4NjUsIDB4MDB9fSwKLSB7MHgxYTA2LCAgNCwgeyAweDcyLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4ZmZmZiwgIDAsIHsweDAwfX0KLX07CmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9zZXJpYWwva2V5c3Bhbl91c2E0OXdfZncuaCBiL2RyaXZlcnMvdXNiL3NlcmlhbC9rZXlzcGFuX3VzYTQ5d19mdy5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkYzI0ZGFjZS4uMDAwMDAwMAotLS0gYS9kcml2ZXJzL3VzYi9zZXJpYWwva2V5c3Bhbl91c2E0OXdfZncuaAorKysgL2Rldi9udWxsCkBAIC0xLDQ2NCArMCwwIEBACi0vKiBrZXlzcGFuX3VzYTQ5d19mdy5oCi0KLQlUaGUgZmlybXdhcmUgY29udGFpbmVkIGhlcmVpbiBhcyBrZXlzcGFuX3VzYTQ5d19mdy5oIGlzCi0KLQkJQ29weXJpZ2h0IChDKSAxOTk5LTIwMDEKLQkJS2V5c3BhbiwgQSBkaXZpc2lvbiBvZiBJbm5vU3lzIEluY29ycG9yYXRlZCAoIktleXNwYW4iKQotCQkKLQlhcyBhbiB1bnB1Ymxpc2hlZCB3b3JrLiBUaGlzIG5vdGljZSBkb2VzIG5vdCBpbXBseSB1bnJlc3RyaWN0ZWQgb3IKLQlwdWJsaWMgYWNjZXNzIHRvIHRoZSBzb3VyY2UgY29kZSBmcm9tIHdoaWNoIHRoaXMgZmlybXdhcmUgaW1hZ2UgaXMKLQlkZXJpdmVkLiAgRXhjZXB0IGFzIG5vdGVkIGJlbG93IHRoaXMgZmlybXdhcmUgaW1hZ2UgbWF5IG5vdCBiZSAKLQlyZXByb2R1Y2VkLCB1c2VkLCBzb2xkIG9yIHRyYW5zZmVycmVkIHRvIGFueSB0aGlyZCBwYXJ0eSB3aXRob3V0IAotCUtleXNwYW4ncyBwcmlvciB3cml0dGVuIGNvbnNlbnQuICBBbGwgUmlnaHRzIFJlc2VydmVkLgotCi0JUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCBmb3IgdGhlIGRpc3RyaWJ1dGlvbiBvZiB0aGlzIGZpcm13YXJlIAotCWltYWdlIGFzIHBhcnQgb2YgYSBMaW51eCBvciBvdGhlciBPcGVuIFNvdXJjZSBvcGVyYXRpbmcgc3lzdGVtIGtlcm5lbCAKLQlpbiB0ZXh0IG9yIGJpbmFyeSBmb3JtIGFzIHJlcXVpcmVkLiAKLQotCVRoaXMgZmlybXdhcmUgbWF5IG5vdCBiZSBtb2RpZmllZCBhbmQgbWF5IG9ubHkgYmUgdXNlZCB3aXRoICAKLQlLZXlzcGFuIGhhcmR3YXJlLiAgRGlzdHJpYnV0aW9uIGFuZC9vciBNb2RpZmljYXRpb24gb2YgdGhlIAotCWtleXNwYW4uYyBkcml2ZXIgd2hpY2ggaW5jbHVkZXMgdGhpcyBmaXJtd2FyZSwgaW4gd2hvbGUgb3IgaW4gCi0JcGFydCwgcmVxdWlyZXMgdGhlIGluY2x1c2lvbiBvZiB0aGlzIHN0YXRlbWVudC4iCi0KLSovCi0KLXN0YXRpYyBjb25zdCBzdHJ1Y3QgZXp1c2JfaGV4X3JlY29yZCBrZXlzcGFuX3VzYTQ5d19maXJtd2FyZVtdID0gewotIHsweDAwMzMsICAzLCB7IDB4MDIsIDB4MTgsIDB4ZmJ9fSwKLSB7MHgwMDM2LCAxMiwgeyAweDkwLCAweDc4LCAweDQxLCAweDc0LCAweDAxLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweGZmLCAweDIyfX0sCi0gezB4MDA0NiwgMTYsIHsgMHhlNCwgMHhmZiwgMHg3NCwgMHg0MCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3YiwgMHhmNSwgMHg4MywgMHhlMCwgMHhmZSwgMHhlNSwgMHgxNX19LAotIHsweDAwNTYsIDE2LCB7IDB4MjQsIDB4MDQsIDB4ZmQsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZmEsIDB4YTksIDB4MDUsIDB4N2IsIDB4MDEsIDB4ZWYsIDB4N2MsIDB4MDAsIDB4MjksIDB4Zjl9fSwKLSB7MHgwMDY2LCAxNiwgeyAweGVjLCAweDNhLCAweGZhLCAweGVlLCAweDEyLCAweDExLCAweGYxLCAweDBmLCAweGJmLCAweDIyLCAweGQ3LCAweGU1LCAweDE1LCAweDI0LCAweDA1LCAweGY1fX0sCi0gezB4MDA3NiwgMTYsIHsgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg3MCwgMHgwMywgMHgwMiwgMHgwMSwgMHgzNCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgwOX19LAotIHsweDAwODYsIDE2LCB7IDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NzAsIDB4MGUsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MGEsIDB4ZjUsIDB4ODJ9fSwKLSB7MHgwMDk2LCAxNiwgeyAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDYwLCAweDE4LCAweDdmLCAweDAxLCAweGU0LCAweGZkLCAweDEyLCAweDE2LCAweDQ3LCAweGU1fX0sCi0gezB4MDBhNiwgMTYsIHsgMHgxNSwgMHgyNCwgMHgzMSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg1NCwgMHhjZiwgMHhmMCwgMHg4MCwgMHg0MX19LAotIHsweDAwYjYsIDE2LCB7IDB4ZTUsIDB4MTUsIDB4MjQsIDB4MDYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmYsIDB4MTIsIDB4MTYsIDB4NzZ9fSwKLSB7MHgwMGM2LCAxNiwgeyAweGU1LCAweDE1LCAweDI0LCAweDA3LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweGZmLCAweDEyLCAweDAwLCAweDAzfX0sCi0gezB4MDBkNiwgMTYsIHsgMHg3ZiwgMHgwMSwgMHhlNSwgMHgxNSwgMHgyNCwgMHgwOCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHhmZCwgMHgxMn19LAotIHsweDAwZTYsIDE2LCB7IDB4MTYsIDB4NDcsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzEsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NDQsIDB4MzB9fSwKLSB7MHgwMGY2LCAxNiwgeyAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDM5LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDQ0LCAweDgwLCAweGYwfX0sCi0gezB4MDAwMywgMTYsIHsgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NCwgMHgwMywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHhiZiwgMHhmMCwgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NH19LAotIHsweDAwMTMsIDE2LCB7IDB4MDEsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4NzgsIDB4NDEsIDB4NzQsIDB4MDMsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjR9fSwKLSB7MHgwMDIzLCAxNiwgeyAweDM3LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDIyfX0sCi0gezB4MDA0MywgIDMsIHsgMHgwMiwgMHgxYiwgMHgwMH19LAotIHsweDAwMDAsICAzLCB7IDB4MDIsIDB4MTAsIDB4OTV9fSwKLSB7MHgwMTA2LCA2NCwgeyAweDkwLCAweDc4LCAweDQxLCAweDc0LCAweDA0LCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDM5LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLAotICAweGUwLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDkwLCAweDc4LCAweDQxLCAweDc0LCAweDAyLCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDM2LCAweGY1LAotICAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDQ0LCAweDA2LCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweGU1LCAweDE1LCAweDI0LAotICAweDBiLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDYwLCAweDMyLCAweGU1LCAweDE1LCAweDI0LCAweDBjfX0sCi0gezB4MDE0NiwgNjQsIHsgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg1NCwgMHgzZiwgMHhmZiwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzNywgMHhmNSwgMHg4MiwKLSAgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlZiwgMHhmMCwgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NCwgMHgwMywgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwKLSAgMHgzNywgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwKLSAgMHgwZCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg3MCwgMHgwMywgMHgwMiwgMHgwMiwgMHg0ZiwgMHhlNX19LAotIHsweDAxODYsIDY0LCB7IDB4MTUsIDB4MjQsIDB4MTcsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NjAsIDB4MTEsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzIsCi0gIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NDQsIDB4MDQsIDB4ZjAsIDB4ODAsIDB4MGYsIDB4ZTUsIDB4MTUsIDB4MjQsCi0gIDB4MzIsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4ZmIsIDB4ZjAsIDB4ZTQsIDB4ZmYsIDB4ZTUsIDB4MTUsCi0gIDB4MjQsIDB4MzIsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmQsIDB4MTIsIDB4MTYsIDB4NDcsIDB4ZTV9fSwKLSB7MHgwMWM2LCA2NCwgeyAweDE1LCAweDI0LCAweDBlLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDYwLCAweDExLCAweGU1LCAweDE1LCAweDI0LCAweDMzLAotICAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDQ0LCAweDgwLCAweGYwLCAweDgwLCAweDBmLCAweGU1LCAweDE1LCAweDI0LAotICAweDMzLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDU0LCAweDdmLCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDMzLAotICAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDU0LCAweGZjLCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDBmfX0sCi0gezB4MDIwNiwgNjQsIHsgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg2MCwgMHgyZiwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzMywgMHhmNSwgMHg4MiwgMHhlNCwKLSAgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgxMCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwKLSAgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHhmZiwgMHgxMiwgMHgxNSwgMHhlNywgMHhlNSwgMHgxNSwgMHgyNCwgMHgxMSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwKLSAgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHhmZiwgMHgxMiwgMHgxNiwgMHgxNywgMHhlNSwgMHgxNSwgMHgyNCwgMHgzMywgMHhmNSwgMHg4MiwgMHhlNH19LAotIHsweDAyNDYsIDY0LCB7IDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmYsIDB4MTIsIDB4MTUsIDB4YjcsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MTQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsCi0gIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NjAsIDB4NDQsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MTUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsCi0gIDB4ODMsIDB4ZTAsIDB4NjAsIDB4MTEsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzksIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsCi0gIDB4NDQsIDB4MDEsIDB4ZjAsIDB4ODAsIDB4MGYsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzksIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjV9fSwKLSB7MHgwMjg2LCA2NCwgeyAweDgzLCAweGUwLCAweDU0LCAweGZlLCAweGYwLCAweDkwLCAweDc4LCAweDQxLCAweDc0LCAweDA0LCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDM5LCAweGY1LCAweDgyLAotICAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDEyLCAweGY1LCAweDgyLAotICAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDYwLCAweDQ0LCAweGU1LCAweDE1LCAweDI0LCAweDEzLCAweGY1LCAweDgyLCAweGU0LCAweDM1LAotICAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDYwLCAweDExLCAweGU1LCAweDE1LCAweDI0LCAweDM5LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0fX0sCi0gezB4MDJjNiwgNjQsIHsgMHhmNSwgMHg4MywgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHg4MCwgMHgwZiwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzOSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwKLSAgMHhmNSwgMHg4MywgMHhlMCwgMHg1NCwgMHhmZCwgMHhmMCwgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NCwgMHgwNCwgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzOSwKLSAgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgxNiwKLSAgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHhmZiwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzNSwgMHhmNSwgMHg4Mn19LAotIHsweDAzMDYsIDY0LCB7IDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MTcsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsCi0gIDB4ODMsIDB4ZTAsIDB4MzAsIDB4ZTAsIDB4MTEsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzEsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsCi0gIDB4ZTAsIDB4NDQsIDB4NDAsIDB4ZjAsIDB4ODAsIDB4MGYsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzEsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsCi0gIDB4ODMsIDB4ZTAsIDB4NTQsIDB4YmYsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MTgsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjV9fSwKLSB7MHgwMzQ2LCA2NCwgeyAweDgzLCAweGUwLCAweGZmLCAweGU1LCAweDE1LCAweDI0LCAweDNiLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGVmLCAweGYwLCAweGU1LAotICAweDE1LCAweDI0LCAweDE5LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDYwLCAweDExLCAweGU1LCAweDE1LCAweDI0LAotICAweDM5LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDQ0LCAweDEwLCAweGYwLCAweDgwLCAweDBmLCAweGU1LCAweDE1LAotICAweDI0LCAweDM5LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDU0LCAweGVmLCAweGYwLCAweDkwLCAweDc4fX0sCi0gezB4MDM4NiwgNjQsIHsgMHg0MSwgMHg3NCwgMHgwNCwgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzOSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg5MCwKLSAgMHhjMCwgMHgwMCwgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgxYSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg2MCwKLSAgMHg2YiwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzNywgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg1NCwgMHhiZiwgMHhmMCwKLSAgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NCwgMHgwMywgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzNywgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNH19LAotIHsweDAzYzYsIDY0LCB7IDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4OTAsIDB4NzgsIDB4NDEsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4MTIsIDB4MDAsCi0gIDB4MzYsIDB4ZWYsIDB4NTQsIDB4ZmUsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzIsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsCi0gIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4ZmQsIDB4ZmYsIDB4ZjAsIDB4ZmQsIDB4ZTQsIDB4ZmYsIDB4MTIsIDB4MTYsIDB4NDcsIDB4ZTUsIDB4MTUsCi0gIDB4MjQsIDB4MmMsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTQsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MmJ9fSwKLSB7MHgwNDA2LCA2NCwgeyAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGU0LCAweGYwLCAweGU1LCAweDE2LCAweDQyLCAweDEzLCAweGU1LCAweDE1LCAweDI0LCAweDFiLAotICAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDcwLCAweDBlLCAweGU1LCAweDE1LCAweDI0LCAweDI1LCAweGY1LCAweDgyLAotICAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDYwLCAweDI4LCAweGU1LCAweDE1LCAweDI0LCAweDMyLCAweGY1LCAweDgyLCAweGU0LCAweDM1LAotICAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDQ0LCAweDAyLCAweGZmLCAweGYwLCAweGZkLCAweGU0LCAweGZmLCAweDEyLCAweDE2LCAweDQ3LCAweGU1fX0sCi0gezB4MDQ0NiwgNjQsIHsgMHgxNSwgMHgyNCwgMHgyYiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHg3NCwgMHgwMSwgMHhmMCwgMHhlNSwgMHgxNiwgMHg0MiwgMHgxMywKLSAgMHhlNSwgMHgxNSwgMHgyNCwgMHgxYywgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHhmZiwgMHg3MCwgMHgwZSwgMHhlNSwKLSAgMHgxNSwgMHgyNCwgMHgyNSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg2MCwgMHgyYSwgMHg5MCwgMHg3OCwgMHg0MSwKLSAgMHg3NCwgMHgwMiwgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzNiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMH19LAotIHsweDA0ODYsIDY0LCB7IDB4NDQsIDB4MDQsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4ZWYsIDB4NjAsIDB4MGYsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzEsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsCi0gIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NDQsIDB4MDQsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MWQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsCi0gIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NjAsIDB4MjcsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzcsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsCi0gIDB4ZTAsIDB4NDQsIDB4NDAsIDB4ZjAsIDB4OTAsIDB4NzgsIDB4NDEsIDB4NzQsIDB4MDMsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzcsIDB4ZjV9fSwKLSB7MHgwNGM2LCA2NCwgeyAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDFlLAotICAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDYwLCAweDI4LCAweGU1LCAweDE1LCAweDI0LCAweDMyLCAweGY1LCAweDgyLAotICAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDU0LCAweGZlLCAweGZmLCAweGYwLCAweGZkLCAweGU0LCAweGZmLCAweDEyLCAweDE2LCAweDQ3LAotICAweGU1LCAweDE1LCAweDI0LCAweDJkLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweDc0LCAweDAxLCAweGYwLCAweGU1fX0sCi0gezB4MDUwNiwgNjQsIHsgMHgxNiwgMHg0MiwgMHgxMywgMHhlNSwgMHgxNSwgMHgyNCwgMHgxZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg3MCwgMHgwZSwKLSAgMHhlNSwgMHgxNSwgMHgyNCwgMHgyNSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg2MCwgMHgyNywgMHhlNSwgMHgxNSwKLSAgMHgyNCwgMHgzMiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg0NCwgMHgwMSwgMHhmZiwgMHhmMCwgMHhmZCwgMHhlNCwKLSAgMHhmZiwgMHgxMiwgMHgxNiwgMHg0NywgMHhlNSwgMHgxNSwgMHgyNCwgMHgyZCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4M319LAotIHsweDA1NDYsIDY0LCB7IDB4ZTQsIDB4ZjAsIDB4ZTUsIDB4MTYsIDB4NDIsIDB4MTMsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MjAsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsCi0gIDB4ZTAsIDB4NzAsIDB4MGUsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MjUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NjAsCi0gIDB4MTgsIDB4OTAsIDB4NzgsIDB4NDEsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsCi0gIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MjEsIDB4ZjUsIDB4ODJ9fSwKLSB7MHgwNTg2LCA2NCwgeyAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDYwLCAweDBmLCAweGU1LCAweDE1LCAweDI0LCAweDMxLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LAotICAweGY1LCAweDgzLCAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDIyLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LAotICAweDgzLCAweGUwLCAweDYwLCAweDFmLCAweGU1LCAweDE1LCAweDI0LCAweDJlLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweDc0LAotICAweDAxLCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDNhLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGU0LCAweGYwfX0sCi0gezB4MDVjNiwgNjQsIHsgMHhlNSwgMHgxNiwgMHg0MiwgMHgxMywgMHhlNSwgMHgxNSwgMHgyNCwgMHgyMywgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg2MCwKLSAgMHgwMywgMHgxMiwgMHgxOCwgMHg4NSwgMHhlNSwgMHgxNSwgMHgyNCwgMHgyNCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwKLSAgMHg2MCwgMHgxYiwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzMSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg0NCwgMHgwOCwKLSAgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHhlMCwgMHhmZiwgMHhlNSwgMHgxNiwgMHhmNCwgMHhmZSwgMHhlZiwgMHg1ZSwgMHhmMCwgMHhlNSwgMHgxNX19LAotIHsweDA2MDYsIDY0LCB7IDB4MjQsIDB4MjUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NjAsIDB4MTYsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzEsIDB4ZjUsCi0gIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4ZjcsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4ZTAsIDB4NDUsIDB4MTYsCi0gIDB4ZjAsIDB4MjIsIDB4OTAsIDB4N2YsIDB4ZTksIDB4ZTAsIDB4MTIsIDB4MTIsIDB4MDMsIDB4MDcsIDB4ODMsIDB4MDAsIDB4MDcsIDB4ZjcsIDB4MDEsIDB4MDgsCi0gIDB4NjMsIDB4MDMsIDB4MDYsIDB4NGMsIDB4MDYsIDB4MDcsIDB4NzQsIDB4MDgsIDB4MDcsIDB4NjgsIDB4MDksIDB4MDcsIDB4NTAsIDB4MGEsIDB4MDd9fSwKLSB7MHgwNjQ2LCA2NCwgeyAweDVmLCAweDBiLCAweDAwLCAweDAwLCAweDA4LCAweGIyLCAweDkwLCAweDdmLCAweGViLCAweGUwLCAweDI0LCAweGZlLCAweDYwLCAweDFjLCAweDE0LCAweDcwLCAweDAzLAotICAweDAyLCAweDA2LCAweGZlLCAweDI0LCAweDAyLCAweDYwLCAweDAzLCAweDAyLCAweDA3LCAweDQ2LCAweDc0LCAweDE5LCAweDkwLCAweDdmLCAweGQ0LCAweGYwLAotICAweDc0LCAweDAwLCAweDkwLCAweDdmLCAweGQ1LCAweGYwLCAweDAyLCAweDA4LCAweGI5LCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweDA0LCAweDc1LCAweDgyLAotICAweDE3LCAweDc1LCAweDgzLCAweDE5LCAweGYwLCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweDMwLCAweGUwLCAweDA0LCAweDdmLCAweDAzLCAweDgwfX0sCi0gezB4MDY4NiwgNjQsIHsgMHgwMiwgMHg3ZiwgMHgwMiwgMHg3NSwgMHg4MiwgMHg4MiwgMHg3NSwgMHg4MywgMHgxOSwgMHhlZiwgMHhmMCwgMHg3NSwgMHg4MiwgMHg2ZCwgMHg3NSwgMHg4MywgMHgxOSwKLSAgMHhmMCwgMHg3NSwgMHg4MiwgMHg2NiwgMHg3NSwgMHg4MywgMHgxOSwgMHhmMCwgMHg3NSwgMHg4MiwgMHg1ZiwgMHg3NSwgMHg4MywgMHgxOSwgMHhmMCwgMHg3NSwKLSAgMHg4MiwgMHg1OCwgMHg3NSwgMHg4MywgMHgxOSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHgzMCwgMHhlMSwgMHgwNCwgMHg3ZiwgMHg2NCwgMHg4MCwKLSAgMHgwMiwgMHg3ZiwgMHgzMiwgMHg3NSwgMHg4MiwgMHgxYSwgMHg3NSwgMHg4MywgMHgxOSwgMHhlZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhlZiwgMHhlMH19LAotIHsweDA2YzYsIDY0LCB7IDB4ZmUsIDB4OTAsIDB4N2YsIDB4ZWUsIDB4ZTAsIDB4N2MsIDB4MDAsIDB4MjQsIDB4MDAsIDB4ZjUsIDB4MTksIDB4ZWMsIDB4M2UsIDB4ZjUsIDB4MTgsIDB4NzUsIDB4MzMsCi0gIDB4MTksIDB4NzUsIDB4MzQsIDB4MTIsIDB4NzUsIDB4ODIsIDB4MTQsIDB4NzUsIDB4ODMsIDB4MTksIDB4ZTAsIDB4NzUsIDB4MjcsIDB4MDAsIDB4ZjUsIDB4MjgsCi0gIDB4ZDMsIDB4ZTUsIDB4MjgsIDB4OTUsIDB4MTksIDB4ZTUsIDB4MjcsIDB4OTUsIDB4MTgsIDB4NDAsIDB4MDYsIDB4ODUsIDB4MTgsIDB4MjcsIDB4ODUsIDB4MTksCi0gIDB4MjgsIDB4MTIsIDB4MTMsIDB4MTIsIDB4MDIsIDB4MDgsIDB4YjksIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4ZmYsIDB4MTIsIDB4MTQsIDB4MmJ9fSwKLSB7MHgwNzA2LCA2NCwgeyAweGVhLCAweDQ5LCAweDYwLCAweDMyLCAweDkwLCAweDdmLCAweGVlLCAweGUwLCAweDc1LCAweDE4LCAweDAwLCAweGY1LCAweDE5LCAweGFlLCAweDAyLCAweGFmLCAweDAxLAotICAweDhlLCAweDMzLCAweDhmLCAweDM0LCAweDhmLCAweDgyLCAweDhlLCAweDgzLCAweGUwLCAweGZlLCAweGEzLCAweGUwLCAweDhlLCAweDI3LCAweGY1LCAweDI4LAotICAweGQzLCAweDk1LCAweDE5LCAweGU1LCAweDI3LCAweDk1LCAweDE4LCAweDQwLCAweDA2LCAweDg1LCAweDE4LCAweDI3LCAweDg1LCAweDE5LCAweDI4LCAweDEyLAotICAweDEzLCAweDEyLCAweDAyLCAweDA4LCAweGI5LCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDAyLCAweDA4LCAweGI5fX0sCi0gezB4MDc0NiwgNjQsIHsgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHgwMiwgMHgwOCwgMHhiOSwgMHg5MCwgMHg3ZiwgMHgwMCwgMHhlNSwgMHgyNSwgMHhmMCwgMHg5MCwKLSAgMHg3ZiwgMHhiNSwgMHg3NCwgMHgwMSwgMHhmMCwgMHgwMiwgMHgwOCwgMHhiOSwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHhmNSwgMHgyNSwgMHgwMiwgMHgwOCwKLSAgMHhiOSwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHhmNSwgMHgyMiwgMHgxMiwgMHgwYSwgMHhiOCwgMHgwMiwgMHgwOCwgMHhiOSwgMHg5MCwgMHg3ZiwgMHgwMCwKLSAgMHhlNSwgMHgyMiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHg3NCwgMHgwMSwgMHhmMCwgMHgwMiwgMHgwOCwgMHhiOSwgMHg5MCwgMHg3ZiwgMHhlOH19LAotIHsweDA3ODYsIDY0LCB7IDB4ZTAsIDB4MjQsIDB4N2YsIDB4NjAsIDB4MjQsIDB4MTQsIDB4NjAsIDB4MzEsIDB4MjQsIDB4MDIsIDB4NzAsIDB4NWIsIDB4YTIsIDB4MDAsIDB4ZTQsIDB4MzMsIDB4ZmYsCi0gIDB4MjUsIDB4ZTAsIDB4ZmYsIDB4YTIsIDB4MDYsIDB4ZTQsIDB4MzMsIDB4NGYsIDB4OTAsIDB4N2YsIDB4MDAsIDB4ZjAsIDB4ZTQsIDB4YTMsIDB4ZjAsIDB4OTAsCi0gIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4MDIsIDB4MDgsIDB4YjksIDB4ZTQsIDB4OTAsIDB4N2YsIDB4MDAsIDB4ZjAsIDB4YTMsIDB4ZjAsIDB4OTAsCi0gIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4MDIsIDB4MDgsIDB4YjksIDB4OTAsIDB4N2YsIDB4ZWMsIDB4ZTAsIDB4ZjQsIDB4NTQsIDB4ODB9fSwKLSB7MHgwN2M2LCA2NCwgeyAweGZmLCAweGM0LCAweDU0LCAweDBmLCAweGZmLCAweGUwLCAweDU0LCAweDA3LCAweDJmLCAweDI1LCAweGUwLCAweDI0LCAweGI0LCAweGY1LCAweDgyLCAweGU0LCAweDM0LAotICAweDdmLCAweGY1LCAweDgzLCAweGUwLCAweDU0LCAweGZkLCAweDkwLCAweDdmLCAweDAwLCAweGYwLCAweGU0LCAweGEzLCAweGYwLCAweDkwLCAweDdmLCAweGI1LAotICAweDc0LCAweDAyLCAweGYwLCAweDAyLCAweDA4LCAweGI5LCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDAyLCAweDA4LCAweGI5LAotICAweDkwLCAweDdmLCAweGU4LCAweGUwLCAweDI0LCAweGZlLCAweDYwLCAweDFkLCAweDI0LCAweDAyLCAweDYwLCAweDAzLCAweDAyLCAweDA4LCAweGI5fX0sCi0gezB4MDgwNiwgNjQsIHsgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHhiNCwgMHgwMSwgMHgwNSwgMHhjMiwgMHgwMCwgMHgwMiwgMHgwOCwgMHhiOSwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwKLSAgMHgwMSwgMHhmMCwgMHgwMiwgMHgwOCwgMHhiOSwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHg3MCwgMHgzOCwgMHg5MCwgMHg3ZiwgMHhlYywgMHhlMCwgMHhmNCwKLSAgMHg1NCwgMHg4MCwgMHhmZiwgMHhjNCwgMHg1NCwgMHgwZiwgMHhmZiwgMHhlMCwgMHg1NCwgMHgwNywgMHgyZiwgMHgyNSwgMHhlMCwgMHgyNCwgMHhiNCwgMHhmNSwKLSAgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZiwgMHhmNSwgMHg4MywgMHhlNCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhlYywgMHhlMCwgMHg1NCwgMHg4MCwgMHhmZn19LAotIHsweDA4NDYsIDY0LCB7IDB4MTMsIDB4MTMsIDB4MTMsIDB4NTQsIDB4MWYsIDB4ZmYsIDB4ZTAsIDB4NTQsIDB4MDcsIDB4MmYsIDB4OTAsIDB4N2YsIDB4ZDcsIDB4ZjAsIDB4ZTAsIDB4NDQsIDB4MjAsCi0gIDB4ZjAsIDB4ODAsIDB4NWYsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4ODAsIDB4NTYsIDB4OTAsIDB4N2YsIDB4ZTgsIDB4ZTAsCi0gIDB4MjQsIDB4ZmUsIDB4NjAsIDB4MTgsIDB4MjQsIDB4MDIsIDB4NzAsIDB4NGEsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4YjQsIDB4MDEsIDB4MDQsIDB4ZDIsCi0gIDB4MDAsIDB4ODAsIDB4M2YsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4ODAsIDB4MzYsIDB4OTAsIDB4N2YsIDB4ZWF9fSwKLSB7MHgwODg2LCA2NCwgeyAweGUwLCAweDcwLCAweDIwLCAweDkwLCAweDdmLCAweGVjLCAweGUwLCAweGY0LCAweDU0LCAweDgwLCAweGZmLCAweGM0LCAweDU0LCAweDBmLCAweGZmLCAweGUwLCAweDU0LAotICAweDA3LCAweDJmLCAweDI1LCAweGUwLCAweDI0LCAweGI0LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdmLCAweGY1LCAweDgzLCAweDc0LCAweDAxLCAweGYwLAotICAweDgwLCAweDEwLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDgwLCAweDA3LCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LAotICAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweDIyLCAweGU1LCAweDExLCAweDU0LCAweDBmLCAweDcwfX0sCi0gezB4MDhjNiwgNjQsIHsgMHgwMywgMHgwMiwgMHgwOSwgMHhiMiwgMHgxMiwgMHgxNiwgMHhhNSwgMHhlZiwgMHgyMCwgMHhlMSwgMHg3NSwgMHgxMiwgMHgxNywgMHgwMywgMHhlZiwgMHgxNCwgMHhmNSwKLSAgMHgxOSwgMHgxMiwgMHgxOCwgMHhjYywgMHhlZiwgMHgyNSwgMHgxOSwgMHhmZiwgMHhlNCwgMHgzMywgMHhmZSwgMHhjMywgMHhlZiwgMHg5NCwgMHg4MCwgMHhlZSwKLSAgMHg2NCwgMHg4MCwgMHg5NCwgMHg4MCwgMHg1MCwgMHg1OSwgMHg4NSwgMHgxNSwgMHg4MiwgMHg4NSwgMHgxNCwgMHg4MywgMHhlMCwgMHhmZSwgMHhhMywgMHhlMCwKLSAgMHhmZiwgMHhmNSwgMHg4MiwgMHg4ZSwgMHg4MywgMHhlMCwgMHgzMCwgMHhlMCwgMHgxMSwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzMSwgMHhmNSwgMHg4Mn19LAotIHsweDA5MDYsIDY0LCB7IDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NDQsIDB4ODAsIDB4ZjAsIDB4ODAsIDB4MGYsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzEsIDB4ZjUsIDB4ODIsCi0gIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4N2YsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzEsIDB4ZjUsIDB4ODIsIDB4ZTQsCi0gIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MjAsIDB4ZTIsIDB4MTIsIDB4ZTUsIDB4MTksIDB4NjAsIDB4MGUsIDB4ZjUsIDB4MjMsIDB4ZWYsIDB4MjQsCi0gIDB4MDEsIDB4ZjUsIDB4MmQsIDB4ZTQsIDB4M2UsIDB4ZjUsIDB4MmMsIDB4MTIsIDB4MTQsIDB4YWQsIDB4ZTQsIDB4ZmYsIDB4MTIsIDB4MTQsIDB4ZTN9fSwKLSB7MHgwOTQ2LCA2NCwgeyAweGU1LCAweDE1LCAweDI0LCAweDMxLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDMwLCAweGU3LCAweDVkLCAweDEyLCAweDE4LAotICAweGNjLCAweGU1LCAweDE1LCAweDI0LCAweDNiLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweGZlLCAweGVmLCAweGMzLAotICAweDllLCAweDUwLCAweDQ4LCAweGU1LCAweDE1LCAweDI0LCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweDc0LCAweDAxLAotICAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDMxLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDU0LCAweDdifX0sCi0gezB4MDk4NiwgNjQsIHsgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzYSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlNCwgMHhmMCwgMHhlNSwgMHgxNiwgMHg0MiwKLSAgMHgxMywgMHg5MCwgMHg3ZiwgMHhjMiwgMHhlMCwgMHgzMCwgMHhlMSwgMHgxMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgyNiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwKLSAgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHhmNSwgMHgyNCwgMHg4MCwgMHgwMywgMHgxMiwgMHgxMiwgMHhhMSwgMHgxMiwgMHgxNiwgMHhkNCwgMHhlZiwgMHgzMCwKLSAgMHhlMSwgMHgwMywgMHgwMiwgMHgwYSwgMHhiNywgMHgxMiwgMHgxNywgMHhkMiwgMHg4ZiwgMHgxOSwgMHgxMiwgMHgxOCwgMHhkOCwgMHhlNSwgMHgxNX19LAotIHsweDA5YzYsIDY0LCB7IDB4MjQsIDB4MzgsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzUsIDB4ZjUsIDB4ODIsCi0gIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmYsIDB4ZTUsIDB4MTksIDB4YzMsIDB4OWYsIDB4NTAsIDB4MjgsIDB4MTIsIDB4MTgsIDB4YjQsCi0gIDB4ZWYsIDB4MzAsIDB4ZTAsIDB4MjEsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzgsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsCi0gIDB4MjAsIDB4ZTcsIDB4MTIsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzEsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTB9fSwKLSB7MHgwYTA2LCA2NCwgeyAweDIwLCAweGUxLCAweDAzLCAweDAyLCAweDBhLCAweGI3LCAweGU1LCAweDE1LCAweDI0LCAweDMxLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLAotICAweGUwLCAweDU0LCAweGZkLCAweGYwLCAweGU1LCAweDE5LCAweDcwLCAweDAzLCAweDAyLCAweDBhLCAweGI3LCAweGI0LCAweDgwLCAweDBmLCAweGU1LCAweDE1LAotICAweDI0LCAweDM4LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweGU1LCAweDE1LCAweDI0LAotICAweDM4LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweGZmLCAweDMwLCAweGU3LCAweDI5LCAweGU1LCAweDE5fX0sCi0gezB4MGE0NiwgNjQsIHsgMHhkMywgMHg5NCwgMHgyMCwgMHg0MCwgMHgwMywgMHg3NSwgMHgxOSwgMHgyMCwgMHg4NSwgMHgxOSwgMHgyMywgMHg4NSwgMHgxNSwgMHg4MiwgMHg4NSwgMHgxNCwgMHg4MywKLSAgMHhhMywgMHhhMywgMHhlMCwgMHhmYywgMHhhMywgMHhlMCwgMHg4YywgMHgyYywgMHhmNSwgMHgyZCwgMHgxMiwgMHgxMywgMHhkZCwgMHhlNSwgMHgxOSwgMHgyNSwKLSAgMHhlMCwgMHhmZiwgMHgxMiwgMHgxNSwgMHgxOSwgMHgyMiwgMHhlNSwgMHgxOSwgMHhkMywgMHg5NCwgMHgzZiwgMHg0MCwgMHgwMywgMHg3NSwgMHgxOSwgMHgzZiwKLSAgMHg4NSwgMHgxOSwgMHgyMywgMHhlNSwgMHgxNSwgMHgyNCwgMHgzOCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMH19LAotIHsweDBhODYsIDY0LCB7IDB4ZmYsIDB4ODUsIDB4MTUsIDB4ODIsIDB4ODUsIDB4MTQsIDB4ODMsIDB4YTMsIDB4YTMsIDB4ZTAsIDB4ZmMsIDB4YTMsIDB4ZTAsIDB4ZjUsIDB4ODIsIDB4OGMsIDB4ODMsCi0gIDB4ZWYsIDB4ZjAsIDB4ODUsIDB4MTUsIDB4ODIsIDB4ODUsIDB4MTQsIDB4ODMsIDB4YTMsIDB4YTMsIDB4ZTAsIDB4ZmUsIDB4YTMsIDB4ZTAsIDB4MjQsIDB4MDEsCi0gIDB4ZjUsIDB4MmQsIDB4ZTQsIDB4M2UsIDB4ZjUsIDB4MmMsIDB4MTIsIDB4MTQsIDB4NmMsIDB4ZTUsIDB4MTksIDB4MDQsIDB4ZmYsIDB4MTIsIDB4MTUsIDB4MTksCi0gIDB4MjIsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4OTMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWMsIDB4NzQsIDB4ZjAsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTZ9fSwKLSB7MHgwYWM2LCA2NCwgeyAweGYwLCAweGU0LCAweDkwLCAweDdmLCAweDk0LCAweGYwLCAweDkwLCAweDc4LCAweDRhLCAweDA0LCAweGYwLCAweGY1LCAweDhlLCAweDkwLCAweDdmLCAweDk1LCAweDc0LAotICAweGMwLCAweGYwLCAweDkwLCAweDdmLCAweDllLCAweDc0LCAweDNmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDFmLCAweGYwLCAweDkwLCAweDc4LAotICAweDQzLCAweDc0LCAweGZmLCAweGYwLCAweGU0LCAweDkwLCAweDc4LCAweDQxLCAweGYwLCAweDkwLCAweDdmLCAweGRmLCAweDc0LCAweDlmLCAweGYwLCAweDkwLAotICAweDdmLCAweGRlLCAweGYwLCAweDkwLCAweDdmLCAweDkyLCAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweDdlLCAweDdiLCAweDdmLCAweGMwLCAweDc1fX0sCi0gezB4MGIwNiwgNjQsIHsgMHgxNCwgMHg3YiwgMHg3NSwgMHgxNSwgMHhjMCwgMHg5MCwgMHg3ZiwgMHg5NiwgMHg3NCwgMHhlZiwgMHhmMCwgMHg3NSwgMHgxNiwgMHgwMSwgMHgxMiwgMHgwZiwgMHgxMiwKLSAgMHg3ZSwgMHg3YiwgMHg3ZiwgMHhjMCwgMHg3NSwgMHgxNCwgMHg3YiwgMHg3NSwgMHgxNSwgMHhjMCwgMHg5MCwgMHg3ZiwgMHg5NiwgMHg3NCwgMHhlZiwgMHhmMCwKLSAgMHg3NSwgMHgxNiwgMHgwMSwgMHhlNSwgMHgxNSwgMHgyNCwgMHgyNiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlNCwgMHhmMCwKLSAgMHg3ZSwgMHg3ZSwgMHg3ZiwgMHg0MCwgMHg4NSwgMHgxNSwgMHg4MiwgMHg4NSwgMHgxNCwgMHg4MywgMHg3NCwgMHg3ZSwgMHhmMCwgMHhhMywgMHg3NH19LAotIHsweDBiNDYsIDY0LCB7IDB4NDAsIDB4ZjAsIDB4N2UsIDB4N2UsIDB4N2YsIDB4ODAsIDB4ODUsIDB4MTUsIDB4ODIsIDB4ODUsIDB4MTQsIDB4ODMsIDB4YTMsIDB4YTMsIDB4NzQsIDB4N2UsIDB4ZjAsCi0gIDB4YTMsIDB4NzQsIDB4ODAsIDB4ZjAsIDB4N2UsIDB4N2MsIDB4N2YsIDB4MDAsIDB4NzUsIDB4MTQsIDB4N2MsIDB4NzUsIDB4MTUsIDB4MDAsIDB4OTAsIDB4N2YsCi0gIDB4OTYsIDB4NzQsIDB4ZGYsIDB4ZjAsIDB4NzUsIDB4MTYsIDB4MDIsIDB4MTIsIDB4MGYsIDB4MTIsIDB4N2UsIDB4N2MsIDB4N2YsIDB4MDAsIDB4NzUsIDB4MTQsCi0gIDB4N2MsIDB4NzUsIDB4MTUsIDB4MDAsIDB4OTAsIDB4N2YsIDB4OTYsIDB4NzQsIDB4ZGYsIDB4ZjAsIDB4NzUsIDB4MTYsIDB4MDIsIDB4ZTUsIDB4MTV9fSwKLSB7MHgwYjg2LCA2NCwgeyAweDI0LCAweDI2LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweDc0LCAweDAxLCAweGYwLCAweDdlLCAweDdkLCAweDdmLCAweGMwLCAweDg1LAotICAweDE1LCAweDgyLCAweDg1LCAweDE0LCAweDgzLCAweDc0LCAweDdkLCAweGYwLCAweGEzLCAweDc0LCAweGMwLCAweGYwLCAweDdlLCAweDdlLCAweDdmLCAweDAwLAotICAweDg1LCAweDE1LCAweDgyLCAweDg1LCAweDE0LCAweDgzLCAweGEzLCAweGEzLCAweDc0LCAweDdlLCAweGYwLCAweGEzLCAweDc0LCAweDAwLCAweGYwLCAweDdlLAotICAweDdjLCAweDdmLCAweDQwLCAweDc1LCAweDE0LCAweDdjLCAweDc1LCAweDE1LCAweDQwLCAweDkwLCAweDdmLCAweDk2LCAweDc0LCAweGJmLCAweGYwfX0sCi0gezB4MGJjNiwgNjQsIHsgMHg3NSwgMHgxNiwgMHgwNCwgMHgxMiwgMHgwZiwgMHgxMiwgMHg3ZSwgMHg3YywgMHg3ZiwgMHg0MCwgMHg3NSwgMHgxNCwgMHg3YywgMHg3NSwgMHgxNSwgMHg0MCwgMHg5MCwKLSAgMHg3ZiwgMHg5NiwgMHg3NCwgMHhiZiwgMHhmMCwgMHg3NSwgMHgxNiwgMHgwNCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgyNiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwKLSAgMHgxNCwgMHhmNSwgMHg4MywgMHg3NCwgMHgwMiwgMHhmMCwgMHg3ZSwgMHg3ZCwgMHg3ZiwgMHg0MCwgMHg4NSwgMHgxNSwgMHg4MiwgMHg4NSwgMHgxNCwgMHg4MywKLSAgMHg3NCwgMHg3ZCwgMHhmMCwgMHhhMywgMHg3NCwgMHg0MCwgMHhmMCwgMHg3ZSwgMHg3ZCwgMHg3ZiwgMHg4MCwgMHg4NSwgMHgxNSwgMHg4MiwgMHg4NX19LAotIHsweDBjMDYsIDY0LCB7IDB4MTQsIDB4ODMsIDB4YTMsIDB4YTMsIDB4NzQsIDB4N2QsIDB4ZjAsIDB4YTMsIDB4NzQsIDB4ODAsIDB4ZjAsIDB4N2UsIDB4N2MsIDB4N2YsIDB4ODAsIDB4NzUsIDB4MTQsCi0gIDB4N2MsIDB4NzUsIDB4MTUsIDB4ODAsIDB4OTAsIDB4N2YsIDB4OTYsIDB4NzQsIDB4N2YsIDB4ZjAsIDB4NzUsIDB4MTYsIDB4MDgsIDB4MTIsIDB4MGYsIDB4MTIsCi0gIDB4N2UsIDB4N2MsIDB4N2YsIDB4ODAsIDB4NzUsIDB4MTQsIDB4N2MsIDB4NzUsIDB4MTUsIDB4ODAsIDB4OTAsIDB4N2YsIDB4OTYsIDB4NzQsIDB4N2YsIDB4ZjAsCi0gIDB4NzUsIDB4MTYsIDB4MDgsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MjYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4NzR9fSwKLSB7MHgwYzQ2LCA2NCwgeyAweDAzLCAweGYwLCAweDdlLCAweDdjLCAweDdmLCAweGMwLCAweDg1LCAweDE1LCAweDgyLCAweDg1LCAweDE0LCAweDgzLCAweDc0LCAweDdjLCAweGYwLCAweGEzLCAweDc0LAotICAweGMwLCAweGYwLCAweDdlLCAweDdkLCAweDdmLCAweDAwLCAweDg1LCAweDE1LCAweDgyLCAweDg1LCAweDE0LCAweDgzLCAweGEzLCAweGEzLCAweDc0LCAweDdkLAotICAweGYwLCAweGEzLCAweDc0LCAweDAwLCAweGYwLCAweGMyLCAweDBhLCAweGMyLCAweDA5LCAweGQyLCAweDAyLCAweDIyLCAweGU1LCAweDEwLCAweDA0LCAweDU0LAotICAweDAzLCAweGY1LCAweDEwLCAweDE0LCAweDYwLCAweDFmLCAweDE0LCAweDYwLCAweDMxLCAweDE0LCAweDYwLCAweDQzLCAweDI0LCAweDAzLCAweDcwfX0sCi0gezB4MGM4NiwgNjQsIHsgMHg1MiwgMHg3ZSwgMHg3YiwgMHg3ZiwgMHhjMCwgMHg3NSwgMHgxNCwgMHg3YiwgMHg3NSwgMHgxNSwgMHhjMCwgMHg5MCwgMHg3ZiwgMHg5NiwgMHg3NCwgMHhlZiwgMHhmMCwKLSAgMHg3NSwgMHgxNiwgMHgwMSwgMHg4MCwgMHgzZCwgMHg3ZSwgMHg3YywgMHg3ZiwgMHgwMCwgMHg3NSwgMHgxNCwgMHg3YywgMHg3NSwgMHgxNSwgMHgwMCwgMHg5MCwKLSAgMHg3ZiwgMHg5NiwgMHg3NCwgMHhkZiwgMHhmMCwgMHg3NSwgMHgxNiwgMHgwMiwgMHg4MCwgMHgyOCwgMHg3ZSwgMHg3YywgMHg3ZiwgMHg0MCwgMHg3NSwgMHgxNCwKLSAgMHg3YywgMHg3NSwgMHgxNSwgMHg0MCwgMHg5MCwgMHg3ZiwgMHg5NiwgMHg3NCwgMHhiZiwgMHhmMCwgMHg3NSwgMHgxNiwgMHgwNCwgMHg4MCwgMHgxM319LAotIHsweDBjYzYsIDY0LCB7IDB4N2UsIDB4N2MsIDB4N2YsIDB4ODAsIDB4NzUsIDB4MTQsIDB4N2MsIDB4NzUsIDB4MTUsIDB4ODAsIDB4OTAsIDB4N2YsIDB4OTYsIDB4NzQsIDB4N2YsIDB4ZjAsIDB4NzUsCi0gIDB4MTYsIDB4MDgsIDB4ZTUsIDB4MzIsIDB4NTUsIDB4MTYsIDB4NzAsIDB4MDMsIDB4MDIsIDB4MGUsIDB4MTEsIDB4ZTUsIDB4MTYsIDB4ZjQsIDB4ZmYsIDB4NTIsCi0gIDB4MzIsIDB4ZTUsIDB4MjYsIDB4NTQsIDB4N2YsIDB4ZmUsIDB4NzAsIDB4MGYsIDB4ZTUsIDB4MmEsIDB4NTUsIDB4MTYsIDB4NjAsIDB4MjQsIDB4OTAsIDB4N2YsCi0gIDB4OTgsIDB4ZTAsIDB4NDUsIDB4MTYsIDB4ZjAsIDB4ODAsIDB4MWIsIDB4YmUsIDB4MjAsIDB4MTgsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzEsIDB4ZjV9fSwKLSB7MHgwZDA2LCA2NCwgeyAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDMwLCAweGUzLCAweDA5LCAweGU0LCAweGY1LCAweDJhLCAweDkwLCAweDdmLCAweDk4LCAweGUwLAotICAweDVmLCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDNhLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDYwLCAweDAzLAotICAweGUwLCAweDE0LCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDM0LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDYwLAotICAweDAzLCAweGUwLCAweDE0LCAweGYwLCAweGUwLCAweDYwLCAweDAzLCAweDAyLCAweDBlLCAweDExLCAweDc0LCAweDBhLCAweGYwLCAweDEyLCAweDAwfX0sCi0gezB4MGQ0NiwgNjQsIHsgMHgzNiwgMHhlZiwgMHg1NCwgMHgwMSwgMHhmZiwgMHhmNSwgMHgxOSwgMHhlNSwgMHgxNSwgMHgyNCwgMHgyYywgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwKLSAgMHg4MywgMHhlMCwgMHg2ZiwgMHg2MCwgMHgwNywgMHhlNSwgMHgxOSwgMHhmMCwgMHhlNSwgMHgxNiwgMHg0MiwgMHgxMywgMHgxMiwgMHgxOCwgMHhlNCwgMHg4ZiwKLSAgMHgxOSwgMHhlNSwgMHgxNSwgMHgyNCwgMHgyNywgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHhmZiwgMHhlNSwgMHgxOSwKLSAgMHg1NCwgMHgxMCwgMHhmZSwgMHg2ZiwgMHg2MCwgMHgwNiwgMHhlZSwgMHhmMCwgMHhlNSwgMHgxNiwgMHg0MiwgMHgxMywgMHhlNSwgMHgxNSwgMHgyNH19LAotIHsweDBkODYsIDY0LCB7IDB4MjgsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmYsIDB4ZTUsIDB4MTksIDB4NTQsIDB4ODAsIDB4ZmUsIDB4NmYsIDB4NjAsCi0gIDB4MDYsIDB4ZWUsIDB4ZjAsIDB4ZTUsIDB4MTYsIDB4NDIsIDB4MTMsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MjksIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsCi0gIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmYsIDB4ZTUsIDB4MTksIDB4NTQsIDB4MjAsIDB4ZmUsIDB4NmYsIDB4NjAsIDB4MTUsIDB4ZWUsIDB4ZjAsIDB4ZTUsIDB4MTUsCi0gIDB4MjQsIDB4MzEsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MzAsIDB4ZTQsIDB4MDQsIDB4ZTUsIDB4MTZ9fSwKLSB7MHgwZGM2LCA2NCwgeyAweDQyLCAweDEzLCAweGU1LCAweDEyLCAweDU1LCAweDE2LCAweGZmLCAweGY1LCAweDE5LCAweGU1LCAweDE1LCAweDI0LCAweDJhLCAweGY1LCAweDgyLCAweGU0LCAweDM1LAotICAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDZmLCAweDYwLCAweDE2LCAweGU1LCAweDE5LCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDMxLCAweGY1LCAweDgyLAotICAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDMwLCAweGU1LCAweDA0LCAweGU1LCAweDE2LCAweDQyLCAweDEzLCAweGU1LCAweDE3LCAweDU1LAotICAweDE2LCAweGZmLCAweGY1LCAweDE5LCAweGU1LCAweDE1LCAweDI0LCAweDMwLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzfX0sCi0gezB4MGUwNiwgNjQsIHsgMHhlMCwgMHg2ZiwgMHg2MCwgMHgwNywgMHhlNSwgMHgxOSwgMHhmMCwgMHhlNSwgMHgxNiwgMHg0MiwgMHgxMywgMHgyMiwgMHgzMCwgMHgwOSwgMHgwMywgMHgwMiwgMHgwZiwKLSAgMHgxMSwgMHhlNSwgMHgyNCwgMHgxNCwgMHg2MCwgMHgyYSwgMHgxNCwgMHg2MCwgMHg0MSwgMHgxNCwgMHg2MCwgMHg1OCwgMHgxNCwgMHg2MCwgMHg2ZiwgMHgyNCwKLSAgMHgwNCwgMHg2MCwgMHgwMywgMHgwMiwgMHgwZSwgMHhjZiwgMHg3ZSwgMHg3YiwgMHg3ZiwgMHhjMCwgMHg3NSwgMHgxNCwgMHg3YiwgMHg3NSwgMHgxNSwgMHhjMCwKLSAgMHg5MCwgMHg3ZiwgMHg5NiwgMHg3NCwgMHhlZiwgMHhmMCwgMHg3NSwgMHgxNiwgMHgwMSwgMHgxMiwgMHgxMiwgMHhhMSwgMHg3NSwgMHgyNCwgMHgwMX19LAotIHsweDBlNDYsIDY0LCB7IDB4MjIsIDB4N2UsIDB4N2MsIDB4N2YsIDB4MDAsIDB4NzUsIDB4MTQsIDB4N2MsIDB4NzUsIDB4MTUsIDB4MDAsIDB4OTAsIDB4N2YsIDB4OTYsIDB4NzQsIDB4ZGYsIDB4ZjAsCi0gIDB4NzUsIDB4MTYsIDB4MDIsIDB4MTIsIDB4MTIsIDB4YTEsIDB4NzUsIDB4MjQsIDB4MDIsIDB4MjIsIDB4N2UsIDB4N2MsIDB4N2YsIDB4NDAsIDB4NzUsIDB4MTQsCi0gIDB4N2MsIDB4NzUsIDB4MTUsIDB4NDAsIDB4OTAsIDB4N2YsIDB4OTYsIDB4NzQsIDB4YmYsIDB4ZjAsIDB4NzUsIDB4MTYsIDB4MDQsIDB4MTIsIDB4MTIsIDB4YTEsCi0gIDB4NzUsIDB4MjQsIDB4MDMsIDB4MjIsIDB4N2UsIDB4N2MsIDB4N2YsIDB4ODAsIDB4NzUsIDB4MTQsIDB4N2MsIDB4NzUsIDB4MTUsIDB4ODAsIDB4OTB9fSwKLSB7MHgwZTg2LCA2NCwgeyAweDdmLCAweDk2LCAweDc0LCAweDdmLCAweGYwLCAweDc1LCAweDE2LCAweDA4LCAweDEyLCAweDEyLCAweGExLCAweDc1LCAweDI0LCAweDA0LCAweDIyLCAweDMwLCAweDA0LAotICAweDMzLCAweGMyLCAweDA0LCAweDUzLCAweDEzLCAweGRmLCAweGU0LCAweGY1LCAweDE5LCAweDdlLCAweDAwLCAweDdiLCAweDAwLCAweDc0LCAweDJlLCAweDI1LAotICAweDE5LCAweGY5LCAweGVlLCAweDM0LCAweDAwLCAweGZhLCAweDEyLCAweDExLCAweGFiLCAweGZmLCAweDc0LCAweDgwLCAweDI1LCAweDE5LCAweGY1LCAweDgyLAotICAweGU0LCAweDM0LCAweDdiLCAweGY1LCAweDgzLCAweGVmLCAweGYwLCAweDA1LCAweDE5LCAweGU1LCAweDE5LCAweGI0LCAweDAzLCAweGRiLCAweDkwfX0sCi0gezB4MGVjNiwgNjQsIHsgMHg3ZiwgMHhjMywgMHg3NCwgMHgwMywgMHhmMCwgMHg3NSwgMHgyNCwgMHgwNSwgMHgyMiwgMHhlNSwgMHgzNiwgMHg2MCwgMHgzYiwgMHhkNSwgMHgzNiwgMHgwYSwgMHg1MywKLSAgMHgxMywgMHhlZiwgMHgzMCwgMHgwYSwgMHgwNCwgMHhkMiwgMHgwOSwgMHhjMiwgMHgwYSwgMHhlNCwgMHhmNSwgMHgxOSwgMHg3ZSwgMHgwMCwgMHg3YiwgMHgwMCwKLSAgMHg3NCwgMHgzNSwgMHgyNSwgMHgxOSwgMHhmOSwgMHhlZSwgMHgzNCwgMHgwMCwgMHhmYSwgMHgxMiwgMHgxMSwgMHhhYiwgMHhmZiwgMHg3NCwgMHg4MCwgMHgyNSwKLSAgMHgxOSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3YiwgMHhmNSwgMHg4MywgMHhlZiwgMHhmMCwgMHgwNSwgMHgxOSwgMHhlNSwgMHgxOSwgMHhiNH19LAotIHsweDBmMDYsIDY0LCB7IDB4MDMsIDB4ZGIsIDB4OTAsIDB4N2YsIDB4YzMsIDB4NzQsIDB4MDMsIDB4ZjAsIDB4ZTQsIDB4ZjUsIDB4MjQsIDB4MjIsIDB4ZTQsIDB4ZjUsIDB4MWEsIDB4N2UsIDB4MDAsCi0gIDB4N2IsIDB4MDEsIDB4ZTUsIDB4MTUsIDB4MjUsIDB4MWEsIDB4ZjksIDB4ZWUsIDB4MzUsIDB4MTQsIDB4ZmEsIDB4ZTQsIDB4MTIsIDB4MTEsIDB4ZjEsIDB4MDUsCi0gIDB4MWEsIDB4ZTUsIDB4MWEsIDB4YjQsIDB4M2MsIDB4ZTgsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsCi0gIDB4ODMsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4NzgsIDB4NDEsIDB4NzQsIDB4MDMsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzcsIDB4ZjV9fSwKLSB7MHgwZjQ2LCA2NCwgeyAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweDc0LCAweDAzLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDdmLCAweDBjLCAweGU0LCAweGZkLAotICAweDEyLCAweDE2LCAweDQ3LCAweDdmLCAweDEwLCAweGU1LCAweDE1LCAweDI0LCAweDMzLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLAotICAweGVmLCAweGYwLCAweDEyLCAweDE1LCAweGI3LCAweDkwLCAweDc4LCAweDQxLCAweDc0LCAweDAyLCAweGYwLCAweDdmLCAweDAxLCAweGU1LCAweDE1LCAweDI0LAotICAweDM2LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGVmLCAweGYwLCAweDQ0LCAweDA2LCAweDkwLCAweGMwLCAweDAwfX0sCi0gezB4MGY4NiwgNjQsIHsgMHhmMCwgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NCwgMHgwNCwgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzOSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwKLSAgMHg4MywgMHg3NCwgMHg4MCwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHgwZiwgMHhlNCwgMHhmZCwgMHgxMiwgMHgxNiwgMHg0NywgMHhlNCwgMHhmZiwKLSAgMHg3ZSwgMHhhMywgMHhlNSwgMHgxNSwgMHgyNCwgMHgzMiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlZSwgMHhmMCwgMHhmZCwKLSAgMHgxMiwgMHgxNiwgMHg0NywgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlNCwgMHhmMCwgMHg3Zn19LAotIHsweDBmYzYsIDY0LCB7IDB4MDUsIDB4N2QsIDB4N2YsIDB4MTIsIDB4MTYsIDB4NDcsIDB4N2YsIDB4MDEsIDB4MTIsIDB4MTUsIDB4NGYsIDB4N2YsIDB4MDMsIDB4N2QsIDB4MDcsIDB4MTIsIDB4MTYsCi0gIDB4NDcsIDB4MjIsIDB4NTMsIDB4MTMsIDB4M2YsIDB4OTAsIDB4N2IsIDB4ZjEsIDB4ZTAsIDB4MzAsIDB4ZTMsIDB4MTYsIDB4N2UsIDB4N2IsIDB4N2YsIDB4YzAsCi0gIDB4NzUsIDB4MTQsIDB4N2IsIDB4NzUsIDB4MTUsIDB4YzAsIDB4OTAsIDB4N2YsIDB4OTYsIDB4NzQsIDB4ZWYsIDB4ZjAsIDB4NzUsIDB4MTYsIDB4MDEsIDB4MTIsCi0gIDB4MDgsIDB4YzEsIDB4OTAsIDB4N2MsIDB4MzEsIDB4ZTAsIDB4MzAsIDB4ZTMsIDB4MTYsIDB4N2UsIDB4N2MsIDB4N2YsIDB4MDAsIDB4NzUsIDB4MTR9fSwKLSB7MHgxMDA2LCA2NCwgeyAweDdjLCAweDc1LCAweDE1LCAweDAwLCAweDkwLCAweDdmLCAweDk2LCAweDc0LCAweGRmLCAweGYwLCAweDc1LCAweDE2LCAweDAyLCAweDEyLCAweDA4LCAweGMxLCAweDkwLAotICAweDdjLCAweDcxLCAweGUwLCAweDMwLCAweGUzLCAweDE2LCAweDdlLCAweDdjLCAweDdmLCAweDQwLCAweDc1LCAweDE0LCAweDdjLCAweDc1LCAweDE1LCAweDQwLAotICAweDkwLCAweDdmLCAweDk2LCAweDc0LCAweGJmLCAweGYwLCAweDc1LCAweDE2LCAweDA0LCAweDEyLCAweDA4LCAweGMxLCAweDkwLCAweDdjLCAweGIxLCAweGUwLAotICAweDMwLCAweGUzLCAweDE2LCAweDdlLCAweDdjLCAweDdmLCAweDgwLCAweDc1LCAweDE0LCAweDdjLCAweDc1LCAweDE1LCAweDgwLCAweDkwLCAweDdmfX0sCi0gezB4MTA0NiwgNjQsIHsgMHg5NiwgMHg3NCwgMHg3ZiwgMHhmMCwgMHg3NSwgMHgxNiwgMHgwOCwgMHgxMiwgMHgwOCwgMHhjMSwgMHgwNSwgMHgxMSwgMHhlNSwgMHgxMSwgMHg1NCwgMHgwZiwgMHhmNSwKLSAgMHgxOCwgMHg3MCwgMHgxZiwgMHg5MCwgMHg3OCwgMHg0MSwgMHhlMCwgMHg1NCwgMHhmNywgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OSwgMHhlMCwgMHhmNSwgMHgxNywKLSAgMHg5MCwgMHg3OCwgMHg0MSwgMHhlMCwgMHg0NCwgMHgwOCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OSwgMHhlMCwgMHhmNCwgMHhmNSwgMHgxMiwgMHgxMiwgMHgxMSwKLSAgMHgyMSwgMHgyMiwgMHhlNSwgMHgxOCwgMHhiNCwgMHgwMSwgMHgwNCwgMHgxMiwgMHgwYywgMHg3MywgMHgyMiwgMHg5MCwgMHg3ZiwgMHhjMiwgMHhlMH19LAotIHsweDEwODYsIDY0LCB7IDB4MjAsIDB4ZTEsIDB4MDgsIDB4ZTUsIDB4MTMsIDB4NjAsIDB4MDQsIDB4MTIsIDB4MGUsIDB4MTIsIDB4MjIsIDB4MTIsIDB4MGMsIDB4NzMsIDB4MjIsIDB4NzgsIDB4N2YsCi0gIDB4ZTQsIDB4ZjYsIDB4ZDgsIDB4ZmQsIDB4NzUsIDB4ODEsIDB4MzcsIDB4MDIsIDB4MTAsIDB4ZGMsIDB4MDIsIDB4MTIsIDB4MjksIDB4ZTQsIDB4OTMsIDB4YTMsCi0gIDB4ZjgsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4NDAsIDB4MDMsIDB4ZjYsIDB4ODAsIDB4MDEsIDB4ZjIsIDB4MDgsIDB4ZGYsIDB4ZjQsIDB4ODAsIDB4MjksIDB4ZTQsCi0gIDB4OTMsIDB4YTMsIDB4ZjgsIDB4NTQsIDB4MDcsIDB4MjQsIDB4MGMsIDB4YzgsIDB4YzMsIDB4MzMsIDB4YzQsIDB4NTQsIDB4MGYsIDB4NDQsIDB4MjB9fSwKLSB7MHgxMGM2LCA2NCwgeyAweGM4LCAweDgzLCAweDQwLCAweDA0LCAweGY0LCAweDU2LCAweDgwLCAweDAxLCAweDQ2LCAweGY2LCAweGRmLCAweGU0LCAweDgwLCAweDBiLCAweDAxLCAweDAyLCAweDA0LAotICAweDA4LCAweDEwLCAweDIwLCAweDQwLCAweDgwLCAweDkwLCAweDE4LCAweDUwLCAweGU0LCAweDdlLCAweDAxLCAweDkzLCAweDYwLCAweGJjLCAweGEzLCAweGZmLAotICAweDU0LCAweDNmLCAweDMwLCAweGU1LCAweDA5LCAweDU0LCAweDFmLCAweGZlLCAweGU0LCAweDkzLCAweGEzLCAweDYwLCAweDAxLCAweDBlLCAweGNmLCAweDU0LAotICAweGMwLCAweDI1LCAweGUwLCAweDYwLCAweGE4LCAweDQwLCAweGI4LCAweGU0LCAweDkzLCAweGEzLCAweGZhLCAweGU0LCAweDkzLCAweGEzLCAweGY4fX0sCi0gezB4MTEwNiwgNjQsIHsgMHhlNCwgMHg5MywgMHhhMywgMHhjOCwgMHhjNSwgMHg4MiwgMHhjOCwgMHhjYSwgMHhjNSwgMHg4MywgMHhjYSwgMHhmMCwgMHhhMywgMHhjOCwgMHhjNSwgMHg4MiwgMHhjOCwKLSAgMHhjYSwgMHhjNSwgMHg4MywgMHhjYSwgMHhkZiwgMHhlOSwgMHhkZSwgMHhlNywgMHg4MCwgMHhiZSwgMHg5MCwgMHg3ZiwgMHhkMiwgMHhlMCwgMHgzMCwgMHhlMSwKLSAgMHgwMywgMHgwMiwgMHgxMSwgMHhhYSwgMHhjMiwgMHgwOSwgMHg5MCwgMHg3YiwgMHg0MCwgMHhlMCwgMHgxNCwgMHg2MCwgMHgyNiwgMHgxNCwgMHg2MCwgMHgzYiwKLSAgMHgxNCwgMHg2MCwgMHg1MCwgMHgyNCwgMHg4MywgMHg2MCwgMHg2NCwgMHgyNCwgMHg4MCwgMHg3MCwgMHg2MywgMHg3ZSwgMHg3YiwgMHg3ZiwgMHhjMH19LAotIHsweDExNDYsIDY0LCB7IDB4NzUsIDB4MTQsIDB4N2IsIDB4NzUsIDB4MTUsIDB4YzAsIDB4OTAsIDB4N2YsIDB4OTYsIDB4NzQsIDB4ZWYsIDB4ZjAsIDB4NzUsIDB4MTYsIDB4MDEsIDB4MTIsIDB4MDAsCi0gIDB4NDYsIDB4ODAsIDB4NGIsIDB4N2UsIDB4N2MsIDB4N2YsIDB4MDAsIDB4NzUsIDB4MTQsIDB4N2MsIDB4NzUsIDB4MTUsIDB4MDAsIDB4OTAsIDB4N2YsIDB4OTYsCi0gIDB4NzQsIDB4ZGYsIDB4ZjAsIDB4NzUsIDB4MTYsIDB4MDIsIDB4MTIsIDB4MDAsIDB4NDYsIDB4ODAsIDB4MzMsIDB4N2UsIDB4N2MsIDB4N2YsIDB4NDAsIDB4NzUsCi0gIDB4MTQsIDB4N2MsIDB4NzUsIDB4MTUsIDB4NDAsIDB4OTAsIDB4N2YsIDB4OTYsIDB4NzQsIDB4YmYsIDB4ZjAsIDB4NzUsIDB4MTYsIDB4MDQsIDB4MTJ9fSwKLSB7MHgxMTg2LCA2NCwgeyAweDAwLCAweDQ2LCAweDgwLCAweDFiLCAweDdlLCAweDdjLCAweDdmLCAweDgwLCAweDc1LCAweDE0LCAweDdjLCAweDc1LCAweDE1LCAweDgwLCAweDkwLCAweDdmLCAweDk2LAotICAweDc0LCAweDdmLCAweGYwLCAweDc1LCAweDE2LCAweDA4LCAweDEyLCAweDAwLCAweDQ2LCAweDgwLCAweDAzLCAweDEyLCAweDE3LCAweDVjLCAweGU0LCAweDkwLAotICAweDdmLCAweGQzLCAweGYwLCAweDIyLCAweGJiLCAweDAxLCAweDA2LCAweDg5LCAweDgyLCAweDhhLCAweDgzLCAweGUwLCAweDIyLCAweDUwLCAweDAyLCAweGU3LAotICAweDIyLCAweGJiLCAweGZlLCAweDAyLCAweGUzLCAweDIyLCAweDg5LCAweDgyLCAweDhhLCAweDgzLCAweGU0LCAweDkzLCAweDIyLCAweGJiLCAweDAxfX0sCi0gezB4MTFjNiwgNjQsIHsgMHgwYywgMHhlNSwgMHg4MiwgMHgyOSwgMHhmNSwgMHg4MiwgMHhlNSwgMHg4MywgMHgzYSwgMHhmNSwgMHg4MywgMHhlMCwgMHgyMiwgMHg1MCwgMHgwNiwgMHhlOSwgMHgyNSwKLSAgMHg4MiwgMHhmOCwgMHhlNiwgMHgyMiwgMHhiYiwgMHhmZSwgMHgwNiwgMHhlOSwgMHgyNSwgMHg4MiwgMHhmOCwgMHhlMiwgMHgyMiwgMHhlNSwgMHg4MiwgMHgyOSwKLSAgMHhmNSwgMHg4MiwgMHhlNSwgMHg4MywgMHgzYSwgMHhmNSwgMHg4MywgMHhlNCwgMHg5MywgMHgyMiwgMHhiYiwgMHgwMSwgMHgwNiwgMHg4OSwgMHg4MiwgMHg4YSwKLSAgMHg4MywgMHhmMCwgMHgyMiwgMHg1MCwgMHgwMiwgMHhmNywgMHgyMiwgMHhiYiwgMHhmZSwgMHgwMSwgMHhmMywgMHgyMiwgMHhkMCwgMHg4MywgMHhkMH19LAotIHsweDEyMDYsIDY0LCB7IDB4ODIsIDB4ZjgsIDB4ZTQsIDB4OTMsIDB4NzAsIDB4MTIsIDB4NzQsIDB4MDEsIDB4OTMsIDB4NzAsIDB4MGQsIDB4YTMsIDB4YTMsIDB4OTMsIDB4ZjgsIDB4NzQsIDB4MDEsCi0gIDB4OTMsIDB4ZjUsIDB4ODIsIDB4ODgsIDB4ODMsIDB4ZTQsIDB4NzMsIDB4NzQsIDB4MDIsIDB4OTMsIDB4NjgsIDB4NjAsIDB4ZWYsIDB4YTMsIDB4YTMsIDB4YTMsCi0gIDB4ODAsIDB4ZGYsIDB4OTAsIDB4N2YsIDB4YWUsIDB4ZTAsIDB4ZmYsIDB4ZDMsIDB4OTIsIDB4MDAsIDB4ZTQsIDB4MzMsIDB4ZmUsIDB4ZWYsIDB4NGUsIDB4ZjAsCi0gIDB4ZDIsIDB4ZTgsIDB4NDMsIDB4ZDgsIDB4MjAsIDB4OTAsIDB4N2YsIDB4ZGUsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZGYsIDB4ZjB9fSwKLSB7MHgxMjQ2LCA2NCwgeyAweDkwLCAweDdmLCAweGFiLCAweDc0LCAweGZmLCAweGYwLCAweDkwLCAweDdmLCAweGE5LCAweGYwLCAweDkwLCAweDdmLCAweGFhLCAweGYwLCAweDUzLCAweDkxLCAweGVmLAotICAweDkwLCAweDdmLCAweGFmLCAweDc0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGFlLCAweDc0LCAweDBkLCAweGYwLCAweGQyLCAweGFmLCAweGQyLCAweDBiLAotICAweDEyLCAweDE4LCAweDE0LCAweGMyLCAweDAxLCAweGU0LCAweGY1LCAweDJiLCAweGY1LCAweDMxLCAweGMyLCAweDA3LCAweGMyLCAweDAyLCAweDc1LCAweDI5LAotICAweGYwLCAweDkwLCAweDdmLCAweGQ4LCAweGUwLCAweDY1LCAweDI2LCAweDYwLCAweDA2LCAweDc1LCAweDMyLCAweDBmLCAweGUwLCAweGY1LCAweDI2fX0sCi0gezB4MTI4NiwgNjQsIHsgMHgzMCwgMHgwMiwgMHgwMywgMHgxMiwgMHgwZiwgMHhkOSwgMHgzMCwgMHgwMSwgMHgwNywgMHhjMiwgMHgwMSwgMHgxMiwgMHgwNiwgMHgyOSwgMHg4MCwgMHhlMiwgMHgzMCwKLSAgMHgwOCwgMHhkZiwgMHhjMiwgMHgwOCwgMHgxMiwgMHgxOCwgMHgzNSwgMHg4MCwgMHhkOCwgMHgyMiwgMHhlNSwgMHgxMywgMHg1NSwgMHgxNiwgMHg2MCwgMHg2YSwKLSAgMHhlNSwgMHgxNSwgMHgyNCwgMHgzYSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg3MCwgMHg1YywgMHhlNSwgMHgxNiwKLSAgMHhmNCwgMHg1MiwgMHgxMywgMHhlNSwgMHgxNSwgMHgyNCwgMHgyNiwgMHhmZiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmZSwgMHhlNCwgMHhmZCwgMHgwZn19LAotIHsweDEyYzYsIDY0LCB7IDB4ZWYsIDB4YWEsIDB4MDYsIDB4NzAsIDB4MDEsIDB4MGUsIDB4MTQsIDB4ZjUsIDB4ODIsIDB4OGEsIDB4ODMsIDB4ZTAsIDB4ZmMsIDB4NzQsIDB4ODAsIDB4MmQsIDB4ZjUsCi0gIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2IsIDB4ZjUsIDB4ODMsIDB4ZWMsIDB4ZjAsIDB4MGQsIDB4YmQsIDB4MGIsIDB4ZTIsIDB4OTAsIDB4N2YsIDB4YzMsIDB4NzQsCi0gIDB4MGIsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4M2EsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4NzQsIDB4MTAsIDB4ZjAsCi0gIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MmUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTQsIDB4ZjAsIDB4ZTUsIDB4MTV9fSwKLSB7MHgxMzA2LCA2NCwgeyAweDI0LCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGU0LCAweGYwLCAweDIyLCAweGU1LCAweDI4LCAweDQ1LCAweDI3LCAweDYwLAotICAweDU3LCAweGFlLCAweDI3LCAweGFmLCAweDI4LCAweGQzLCAweGVmLCAweDk0LCAweDQwLCAweGVlLCAweDk0LCAweDAwLCAweDQwLCAweDA0LCAweDdlLCAweDAwLAotICAweDdmLCAweDQwLCAweGMzLCAweGU1LCAweDI4LCAweDlmLCAweGY1LCAweDI4LCAweGU1LCAweDI3LCAweDllLCAweGY1LCAweDI3LCAweGU0LCAweGZkLCAweGVkLAotICAweGMzLCAweDlmLCAweGU0LCAweDllLCAweDUwLCAweDFmLCAweDg1LCAweDM0LCAweDgyLCAweDg1LCAweDMzLCAweDgzLCAweGUwLCAweGZjLCAweDc0fX0sCi0gezB4MTM0NiwgNjQsIHsgMHgwMCwgMHgyZCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZiwgMHhmNSwgMHg4MywgMHhlYywgMHhmMCwgMHgwZCwgMHgwNSwgMHgzNCwgMHhlNSwgMHgzNCwgMHg3MCwKLSAgMHgwMiwgMHgwNSwgMHgzMywgMHg4MCwgMHhkYSwgMHg5MCwgMHg3ZiwgMHhhOSwgMHg3NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhYywgMHhlMCwgMHg0NCwKLSAgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHhlZiwgMHhmMCwgMHgyMiwgMHg5MCwgMHg3ZiwgMHhhYywgMHhlMCwgMHg1NCwgMHhmZSwgMHhmMCwgMHhlNCwKLSAgMHg5MCwgMHg3ZiwgMHhiNSwgMHhmMCwgMHgyMiwgMHhlNCwgMHg5MCwgMHg3ZiwgMHg5MywgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5YywgMHg3NCwgMHhmMH19LAotIHsweDEzODYsIDY0LCB7IDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTYsIDB4ZjAsIDB4ZTQsIDB4OTAsIDB4NzgsIDB4NGEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTQsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWQsCi0gIDB4NzQsIDB4ZmYsIDB4ZjAsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4OTcsIDB4ZjAsIDB4MzAsIDB4MDAsIDB4MDcsIDB4ZTUsIDB4MjksIDB4NTQsIDB4ZjAsIDB4ZmYsCi0gIDB4ODAsIDB4MDIsIDB4N2YsIDB4MDAsIDB4ZWYsIDB4NDQsIDB4MDgsIDB4OTAsIDB4NzgsIDB4NDEsIDB4ZjAsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4OTgsIDB4ZjAsCi0gIDB4OTAsIDB4N2YsIDB4OTUsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWUsIDB4NzQsIDB4ZmYsIDB4ZjAsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4OTgsIDB4ZjB9fSwKLSB7MHgxM2M2LCA2NCwgeyAweDkwLCAweDdmLCAweDkzLCAweGYwLCAweDkwLCAweDdmLCAweDljLCAweDc0LCAweGYwLCAweGYwLCAweGU0LCAweDkwLCAweDdmLCAweDk2LCAweGYwLCAweDkwLCAweDdmLAotICAweDkyLCAweGUwLCAweDU0LCAweGZkLCAweGYwLCAweDIyLCAweDhmLCAweDFhLCAweDA1LCAweDJkLCAweGU1LCAweDJkLCAweGFlLCAweDJjLCAweDcwLCAweDAyLAotICAweDA1LCAweDJjLCAweDE0LCAweGY1LCAweDgyLCAweDhlLCAweDgzLCAweGU1LCAweDFhLCAweGYwLCAweDEyLCAweDE4LCAweGYwLCAweDA1LCAweDJkLCAweGU1LAotICAweDJkLCAweGFjLCAweDJjLCAweDcwLCAweDAyLCAweDA1LCAweDJjLCAweDE0LCAweGY1LCAweDgyLCAweDhjLCAweDgzLCAweGVmLCAweGYwLCAweDE1fX0sCi0gezB4MTQwNiwgNjQsIHsgMHgyMywgMHhlNSwgMHgyMywgMHg2MCwgMHgxZiwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzOCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhjMCwKLSAgMHg4MywgMHhjMCwgMHg4MiwgMHhlMCwgMHhmZSwgMHgxMiwgMHgxOCwgMHhkOCwgMHg4ZiwgMHgxYSwgMHhlZSwgMHg0ZiwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywKLSAgMHhmMCwgMHg4MCwgMHhiNSwgMHgyMiwgMHg4ZiwgMHgxYSwgMHhlNCwgMHhmNSwgMHgxYiwgMHg3NSwgMHgxYywgMHhmZiwgMHg3NSwgMHgxZCwgMHgxOSwgMHg3NSwKLSAgMHgxZSwgMHg4NiwgMHhhYiwgMHgxYywgMHhhYSwgMHgxZCwgMHhhOSwgMHgxZSwgMHg5MCwgMHgwMCwgMHgwMSwgMHgxMiwgMHgxMSwgMHhjNCwgMHhiNH19LAotIHsweDE0NDYsIDY0LCB7IDB4MDMsIDB4MWQsIDB4YWYsIDB4MWIsIDB4MDUsIDB4MWIsIDB4ZWYsIDB4YjUsIDB4MWEsIDB4MDEsIDB4MjIsIDB4MTIsIDB4MTEsIDB4YWIsIDB4N2UsIDB4MDAsIDB4MjksCi0gIDB4ZmYsIDB4ZWUsIDB4M2EsIDB4YTksIDB4MDcsIDB4NzUsIDB4MWMsIDB4ZmYsIDB4ZjUsIDB4MWQsIDB4ODksIDB4MWUsIDB4ODAsIDB4ZDQsIDB4N2IsIDB4MDAsCi0gIDB4N2EsIDB4MDAsIDB4NzksIDB4MDAsIDB4MjIsIDB4ZTQsIDB4OTAsIDB4NzgsIDB4NDEsIDB4ZjAsIDB4OTAsIDB4NzgsIDB4NGYsIDB4NzQsIDB4YzAsIDB4ZjAsCi0gIDB4ZTQsIDB4OTAsIDB4NzgsIDB4NTAsIDB4ZjAsIDB4ZTUsIDB4MmMsIDB4OTAsIDB4NzgsIDB4NTEsIDB4ZjAsIDB4YWUsIDB4MmMsIDB4ZTUsIDB4MmR9fSwKLSB7MHgxNDg2LCA2NCwgeyAweDkwLCAweDc4LCAweDUyLCAweGYwLCAweDkwLCAweDc4LCAweDU0LCAweGU1LCAweDIzLCAweGYwLCAweDkwLCAweDc4LCAweDU3LCAweDc0LCAweDA0LCAweGYwLCAweDkwLAotICAweDdmLCAweGUyLCAweGUwLCAweDQ0LCAweDEwLCAweGYwLCAweGUwLCAweDU0LCAweGY3LCAweGYwLCAweGU0LCAweDkwLCAweDc4LCAweDU1LCAweGYwLCAweDkwLAotICAweDc4LCAweDU1LCAweGUwLCAweDYwLCAweGZhLCAweDIyLCAweGU0LCAweDkwLCAweDc4LCAweDQxLCAweGYwLCAweGU1LCAweDJjLCAweDkwLCAweDc4LCAweDRmLAotICAweGYwLCAweGFlLCAweDJjLCAweGU1LCAweDJkLCAweDkwLCAweDc4LCAweDUwLCAweGYwLCAweDkwLCAweDc4LCAweDUxLCAweDc0LCAweGMwLCAweGYwfX0sCi0gezB4MTRjNiwgNjQsIHsgMHhlNCwgMHg5MCwgMHg3OCwgMHg1MiwgMHhmMCwgMHg5MCwgMHg3OCwgMHg1NCwgMHhlNSwgMHgyMywgMHhmMCwgMHg5MCwgMHg3OCwgMHg1NywgMHg3NCwgMHgwNCwgMHhmMCwKLSAgMHhlNCwgMHg5MCwgMHg3OCwgMHg1NSwgMHhmMCwgMHg5MCwgMHg3OCwgMHg1NSwgMHhlMCwgMHg2MCwgMHhmYSwgMHgyMiwgMHhlNSwgMHgxNSwgMHgyNCwgMHgwNCwKLSAgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHgxNCwgMHg2MCwgMHgwZiwgMHgxNCwgMHg2MCwgMHgxMywgMHgxNCwgMHg2MCwKLSAgMHgxNywgMHg4MCwgMHgwMCwgMHg5MCwgMHg3ZiwgMHhjNywgMHhlZiwgMHhmMCwgMHg4MCwgMHgxMywgMHg5MCwgMHg3ZiwgMHhjOSwgMHhlZiwgMHhmMH19LAotIHsweDE1MDYsIDY0LCB7IDB4ODAsIDB4MGMsIDB4OTAsIDB4N2YsIDB4Y2IsIDB4ZWYsIDB4ZjAsIDB4ODAsIDB4MDUsIDB4OTAsIDB4N2YsIDB4Y2QsIDB4ZWYsIDB4ZjAsIDB4ZTUsIDB4MTYsIDB4NDIsCi0gIDB4MmEsIDB4MjIsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MDQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MTQsIDB4NjAsCi0gIDB4MGYsIDB4MTQsIDB4NjAsIDB4MTMsIDB4MTQsIDB4NjAsIDB4MTcsIDB4ODAsIDB4MDAsIDB4OTAsIDB4N2YsIDB4YjcsIDB4ZWYsIDB4ZjAsIDB4ODAsIDB4MTMsCi0gIDB4OTAsIDB4N2YsIDB4YjksIDB4ZWYsIDB4ZjAsIDB4ODAsIDB4MGMsIDB4OTAsIDB4N2YsIDB4YmIsIDB4ZWYsIDB4ZjAsIDB4ODAsIDB4MDUsIDB4OTB9fSwKLSB7MHgxNTQ2LCA2NCwgeyAweDdmLCAweGJkLCAweGVmLCAweGYwLCAweGU1LCAweDE2LCAweDQyLCAweDJhLCAweDIyLCAweGFlLCAweDA3LCAweGU0LCAweGZmLCAweGU1LCAweDE1LCAweDI0LCAweDMyLAotICAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDU0LCAweDdmLCAweGZkLCAweDEyLCAweDE2LCAweDQ3LCAweDkwLCAweDc4LAotICAweDQxLCAweDc0LCAweDAxLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVlLCAweGYwLCAweGU0LCAweGU1LCAweDE1LCAweDI0LCAweDMyLCAweGY1LCAweDgyLAotICAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDQ0LCAweDgwLCAweGZkLCAweDEyLCAweDE2LCAweDQ3LCAweDIyLCAweGMwLCAweGUwfX0sCi0gezB4MTU4NiwgNjQsIHsgMHhjMCwgMHhmMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhjMCwgMHg4NSwgMHhjMCwgMHg4NCwgMHhjMCwgMHg4NiwgMHg3NSwgMHg4NiwgMHgwMCwgMHhjMCwgMHhkMCwKLSAgMHg3NSwgMHhkMCwgMHgwOCwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhOSwgMHg3NCwgMHgwMSwgMHhmMCwgMHgxMiwgMHgxMywgMHgxMiwgMHhkMCwKLSAgMHhkMCwgMHhkMCwgMHg4NiwgMHhkMCwgMHg4NCwgMHhkMCwgMHg4NSwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhmMCwgMHhkMCwgMHhlMCwgMHgzMiwKLSAgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NCwgMHgwMywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHhiZiwgMHhmMCwgMHg5MCwgMHg3OCwgMHg0MX19LAotIHsweDE1YzYsIDY0LCB7IDB4NzQsIDB4MDIsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4NzgsIDB4NDEsIDB4NzQsIDB4MDMsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsCi0gIDB4MzcsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4MjIsCi0gIDB4OTAsIDB4NzgsIDB4NDEsIDB4NzQsIDB4MDMsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4YmYsIDB4ZjAsIDB4OTAsIDB4NzgsIDB4NDEsIDB4NzQsCi0gIDB4MDQsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4NzgsIDB4NDEsIDB4NzQsIDB4MDMsIDB4ZjAsIDB4ZTUsIDB4MTV9fSwKLSB7MHgxNjA2LCA2NCwgeyAweDI0LCAweDM3LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDIyLAotICAweDkwLCAweDc4LCAweDQxLCAweDc0LCAweDAzLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweDc0LCAweGJmLCAweGYwLCAweDkwLCAweDc4LCAweDQxLCAweDc0LAotICAweDA2LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVmLCAweGYwLCAweDkwLCAweDc4LCAweDQxLCAweDc0LCAweDAzLCAweGYwLCAweGU1LCAweDE1LCAweDI0LAotICAweDM3LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwfX0sCi0gezB4MTY0NiwgNjQsIHsgMHgyMiwgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NCwgMHgwMywgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzNywgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwKLSAgMHg4MywgMHhlMCwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NCwgMHgwNywgMHhmMCwgMHg5MCwgMHhjMCwKLSAgMHgwMCwgMHhlZiwgMHhmMCwgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NCwgMHgwNSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZCwgMHhmMCwgMHgyMiwgMHg5MCwKLSAgMHg3OCwgMHg0MSwgMHg3NCwgMHgwMywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHhiZiwgMHhmMCwgMHhlNCwgMHg5MCwgMHg3OCwgMHg0MX19LAotIHsweDE2ODYsIDY0LCB7IDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4NzgsIDB4NDEsIDB4NzQsIDB4MDMsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzcsIDB4ZjUsCi0gIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4MjIsIDB4ZTUsIDB4MTUsCi0gIDB4MjQsIDB4MDQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MTQsIDB4NjAsIDB4MGUsIDB4MTQsIDB4NjAsIDB4MTEsCi0gIDB4MTQsIDB4NjAsIDB4MTQsIDB4ODAsIDB4MDAsIDB4OTAsIDB4N2YsIDB4YzYsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4YzgsIDB4ZTB9fSwKLSB7MHgxNmM2LCA2NCwgeyAweGZmLCAweDIyLCAweDkwLCAweDdmLCAweGNhLCAweGUwLCAweGZmLCAweDIyLCAweDkwLCAweDdmLCAweGNjLCAweGUwLCAweGZmLCAweDIyLCAweGU1LCAweDE1LCAweDI0LAotICAweDA0LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDE0LCAweDYwLCAweDBlLCAweDE0LCAweDYwLCAweDExLCAweDE0LAotICAweDYwLCAweDE0LCAweDgwLCAweDAwLCAweDkwLCAweDdmLCAweGI2LCAweGUwLCAweGZmLCAweDIyLCAweDkwLCAweDdmLCAweGI4LCAweGUwLCAweGZmLCAweDIyLAotICAweDkwLCAweDdmLCAweGJhLCAweGUwLCAweGZmLCAweDIyLCAweDkwLCAweDdmLCAweGJjLCAweGUwLCAweGZmLCAweDIyLCAweGU1LCAweDE1LCAweDI0fX0sCi0gezB4MTcwNiwgNjQsIHsgMHgwNCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHgxNCwgMHg2MCwgMHgwZSwgMHgxNCwgMHg2MCwgMHgxMSwgMHgxNCwgMHg2MCwKLSAgMHgxNCwgMHg4MCwgMHgwMCwgMHg5MCwgMHg3ZiwgMHhjNywgMHhlMCwgMHhmZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHhjOSwgMHhlMCwgMHhmZiwgMHgyMiwgMHg5MCwKLSAgMHg3ZiwgMHhjYiwgMHhlMCwgMHhmZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHhjZCwgMHhlMCwgMHhmZiwgMHgyMiwgMHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwKLSAgMHg4MiwgMHhjMCwgMHg4NSwgMHhjMCwgMHg4NCwgMHhjMCwgMHg4NiwgMHg3NSwgMHg4NiwgMHgwMCwgMHg5MCwgMHg3ZiwgMHhjNCwgMHhlNCwgMHhmMH19LAotIHsweDE3NDYsIDY0LCB7IDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YWIsIDB4NzQsIDB4MDQsIDB4ZjAsIDB4ZDAsIDB4ODYsIDB4ZDAsIDB4ODQsIDB4ZDAsIDB4ODUsIDB4ZDAsIDB4ODIsCi0gIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzIsIDB4OTAsIDB4N2IsIDB4NDEsIDB4ZTAsIDB4ZjUsIDB4MzYsIDB4NDMsIDB4MTMsIDB4MTAsIDB4YTMsIDB4ZTAsCi0gIDB4NjAsIDB4MDksIDB4OTAsIDB4N2YsIDB4ZDcsIDB4NzQsIDB4MTcsIDB4ZjAsIDB4NzQsIDB4MzcsIDB4ZjAsIDB4OTAsIDB4N2IsIDB4NDMsIDB4ZTAsIDB4ZjUsCi0gIDB4MzcsIDB4YTMsIDB4ZTAsIDB4NTQsIDB4ZjAsIDB4ZjUsIDB4MjksIDB4ZTAsIDB4NjAsIDB4MDIsIDB4ZDIsIDB4MGEsIDB4MjIsIDB4YzAsIDB4ZTB9fSwKLSB7MHgxNzg2LCA2NCwgeyAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGMwLCAweDg1LCAweGMwLCAweDg0LCAweGMwLCAweDg2LCAweDc1LCAweDg2LCAweDAwLCAweGQyLCAweDAxLCAweDUzLCAweDkxLAotICAweGVmLCAweDkwLCAweDdmLCAweGFiLCAweDc0LCAweDAxLCAweGYwLCAweGQwLCAweDg2LCAweGQwLCAweDg0LCAweGQwLCAweDg1LCAweGQwLCAweDgyLCAweGQwLAotICAweDgzLCAweGQwLCAweGUwLCAweDMyLCAweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGMwLCAweDg1LCAweGMwLCAweDg0LCAweGMwLCAweDg2LAotICAweDc1LCAweDg2LCAweDAwLCAweGQyLCAweDA4LCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGFiLCAweDc0LCAweDA4LCAweGYwLCAweGQwfX0sCi0gezB4MTdjNiwgNjQsIHsgMHg4NiwgMHhkMCwgMHg4NCwgMHhkMCwgMHg4NSwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMiwgMHgxMiwgMHgxOCwgMHhjMCwgMHhhZSwgMHgwNywKLSAgMHgxMiwgMHgxOCwgMHhjMCwgMHhhZCwgMHgwNywgMHhlZSwgMHg2ZCwgMHg2MCwgMHgxMCwgMHgxMiwgMHgxOCwgMHhjMCwgMHhhZSwgMHgwNywgMHhlZSwgMHg2ZCwKLSAgMHg2MCwgMHgwNywgMHgxMiwgMHgxOCwgMHhjMCwgMHhhZCwgMHgwNywgMHg4MCwgMHhlYywgMHhhZiwgMHgwNiwgMHgyMiwgMHg3NCwgMHgwMCwgMHhmNSwgMHg4NiwKLSAgMHg5MCwgMHhmZCwgMHhhNSwgMHg3YywgMHgwNSwgMHhhMywgMHhlNSwgMHg4MiwgMHg0NSwgMHg4MywgMHg3MCwgMHhmOSwgMHgyMiwgMHg5MCwgMHg3Zn19LAotIHsweDE4MDYsIDY0LCB7IDB4ZDYsIDB4ZTAsIDB4NDQsIDB4ODAsIDB4ZjAsIDB4NDMsIDB4ODcsIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MjIsIDB4OTAsIDB4N2YsIDB4ZDYsCi0gIDB4ZTAsIDB4NDQsIDB4MDQsIDB4ZjAsIDB4ZTAsIDB4NDQsIDB4MDgsIDB4ZjAsIDB4MzAsIDB4MGIsIDB4MDQsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4N2YsCi0gIDB4ZjQsIDB4N2UsIDB4MDEsIDB4MTIsIDB4MTgsIDB4NmIsIDB4OTAsIDB4N2YsIDB4ZDYsIDB4ZTAsIDB4NTQsIDB4ZjcsIDB4ZjAsIDB4MjIsIDB4MTIsIDB4MTMsCi0gIDB4N2MsIDB4MTIsIDB4MTgsIDB4MDQsIDB4OTAsIDB4N2YsIDB4ZDYsIDB4ZTAsIDB4MzAsIDB4ZTcsIDB4MGEsIDB4N2YsIDB4MDUsIDB4N2UsIDB4MDB9fSwKLSB7MHgxODQ2LCA2NCwgeyAweDEyLCAweDE4LCAweDZiLCAweDEyLCAweDE4LCAweDllLCAweDEyLCAweDBhLCAweGI4LCAweDIyLCAweDAzLCAweDM1LCAweDgwLCAweDAwLCAweDAwLCAweDAzLCAweDJlLAotICAweDgxLCAweDAwLCAweDAwLCAweGMxLCAweDg1LCAweGMxLCAweDgxLCAweGMxLCAweDA4LCAweGMxLCAweDAwLCAweGMxLCAweDA2LCAweDAxLCAweDIyLCAweDAwLAotICAweDAxLCAweDI0LCAweDAwLCAweDAwLCAweDhlLCAweDE4LCAweDhmLCAweDE5LCAweGU1LCAweDE5LCAweDE1LCAweDE5LCAweGFlLCAweDE4LCAweDcwLCAweDAyLAotICAweDE1LCAweDE4LCAweDRlLCAweDYwLCAweDA4LCAweDEyLCAweDE3LCAweGYzLCAweDEyLCAweDE3LCAweGYzLCAweDgwLCAweGViLCAweDIyLCAweGU1fX0sCi0gezB4MTg4NiwgNjQsIHsgMHgxNSwgMHgyNCwgMHgwNCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHgwNCwgMHhmZiwgMHg0NCwgMHgxMCwgMHg5MCwgMHg3ZiwKLSAgMHhkNywgMHhmMCwgMHhlZiwgMHg0NCwgMHgzMCwgMHhmMCwgMHgyMiwgMHg5MCwgMHg3ZiwgMHhkNiwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg3ZiwgMHgwZCwKLSAgMHg3ZSwgMHgwMCwgMHgxMiwgMHgxOCwgMHg2YiwgMHg5MCwgMHg3ZiwgMHhkNiwgMHhlMCwgMHg1NCwgMHhmZSwgMHhmMCwgMHgyMiwgMHg5MCwgMHg3OCwgMHg0MSwKLSAgMHg3NCwgMHgwMiwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NCwgMHgwMywgMHhmMH19LAotIHsweDE4YzYsIDY0LCB7IDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4OTAsIDB4NzgsIDB4NDEsIDB4NzQsIDB4MDQsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmYsCi0gIDB4MjIsIDB4OTAsIDB4NzgsIDB4NDEsIDB4NzQsIDB4MDUsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4OTAsIDB4NzgsIDB4NDEsCi0gIDB4NzQsIDB4MDYsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4ZTQsIDB4OTAsIDB4NzgsIDB4NDEsIDB4ZjAsIDB4OTAsIDB4YzAsCi0gIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4NTMsIDB4ZDgsIDB4ZWYsIDB4MzIsIDB4MDAsIDB4MTIsIDB4MDEsIDB4MTAsIDB4MDEsIDB4ZmYsIDB4MDB9fSwKLSB7MHgxOTA2LCA2NCwgeyAweDAwLCAweDQwLCAweGNkLCAweDA2LCAweDBhLCAweDAxLCAweDAwLCAweDAwLCAweDAxLCAweDAyLCAweDAwLCAweDA0LCAweDA5LCAweDAyLCAweDc0LCAweDAwLCAweDAxLAotICAweDAxLCAweDAwLCAweGEwLCAweDMyLCAweDA5LCAweDA0LCAweDAwLCAweDAwLCAweDBlLCAweGZmLCAweDAwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDAxLAotICAweDAyLCAweDQwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDAyLCAweDAyLCAweDQwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDAzLCAweDAyLCAweDQwLAotICAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDA0LCAweDAyLCAweDQwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDA1LCAweDAyLCAweDQwLCAweDAwfX0sCi0gezB4MTk0NiwgNjQsIHsgMHgwMCwgMHgwNywgMHgwNSwgMHgwNiwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwNywgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwKLSAgMHg4MSwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMSwgMHgwNywgMHgwNSwgMHg4MiwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMSwgMHgwNywgMHgwNSwgMHg4MywgMHgwMiwKLSAgMHg0MCwgMHgwMCwgMHgwMSwgMHgwNywgMHgwNSwgMHg4NCwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMSwgMHgwNywgMHgwNSwgMHg4NSwgMHgwMiwgMHg0MCwgMHgwMCwKLSAgMHgwMSwgMHgwNywgMHgwNSwgMHg4NiwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMSwgMHgwNywgMHgwNSwgMHg4NywgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMX19LAotIHsweDE5ODYsIDY0LCB7IDB4MDQsIDB4MDMsIDB4MDksIDB4MDQsIDB4NDgsIDB4MDMsIDB4NGIsIDB4MDAsIDB4NjUsIDB4MDAsIDB4NzksIDB4MDAsIDB4NzMsIDB4MDAsIDB4NzAsIDB4MDAsIDB4NjEsCi0gIDB4MDAsIDB4NmUsIDB4MDAsIDB4MmMsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NjEsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NjQsIDB4MDAsIDB4NjksIDB4MDAsIDB4NzYsCi0gIDB4MDAsIDB4NjksIDB4MDAsIDB4NzMsIDB4MDAsIDB4NjksIDB4MDAsIDB4NmYsIDB4MDAsIDB4NmUsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NmYsIDB4MDAsIDB4NjYsCi0gIDB4MDAsIDB4MjAsIDB4MDAsIDB4NDksIDB4MDAsIDB4NmUsIDB4MDAsIDB4NmUsIDB4MDAsIDB4NmYsIDB4MDAsIDB4NTMsIDB4MDAsIDB4NzksIDB4MDB9fSwKLSB7MHgxOWM2LCA2NCwgeyAweDczLCAweDAwLCAweDIwLCAweDAwLCAweDQ5LCAweDAwLCAweDZlLCAweDAwLCAweDYzLCAweDAwLCAweDJlLCAweDAwLCAweDM2LCAweDAzLCAweDU1LCAweDAwLCAweDUzLAotICAweDAwLCAweDQyLCAweDAwLCAweDIwLCAweDAwLCAweDM0LCAweDAwLCAweDJkLCAweDAwLCAweDcwLCAweDAwLCAweDZmLCAweDAwLCAweDcyLCAweDAwLCAweDc0LAotICAweDAwLCAweDIwLCAweDAwLCAweDUzLCAweDAwLCAweDY1LCAweDAwLCAweDcyLCAweDAwLCAweDY5LCAweDAwLCAweDYxLCAweDAwLCAweDZjLCAweDAwLCAweDIwLAotICAweDAwLCAweDQxLCAweDAwLCAweDY0LCAweDAwLCAweDYxLCAweDAwLCAweDcwLCAweDAwLCAweDc0LCAweDAwLCAweDY1LCAweDAwLCAweDcyLCAweDAwfX0sCi0gezB4MWEwNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDFhNDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxYTg2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MWFjNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMiwgMHgxNywgMHg4NCwgMHgwMCwgMHgwMiwgMHgxYn19LAotIHsweDFiMDYsIDIxLCB7IDB4MDQsIDB4MDAsIDB4MDIsIDB4MTcsIDB4MzIsIDB4MDAsIDB4MDIsIDB4MTcsIDB4YWIsIDB4MDAsIDB4MDIsIDB4MWIsIDB4MTAsIDB4MDAsIDB4MDIsIDB4MWIsIDB4MTQsCi0gIDB4MDAsIDB4MDIsIDB4MTUsIDB4ODR9fSwKLSB7MHhmZmZmLCAwLCB7MHgwMH19Ci19OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2Ivc2VyaWFsL2tleXNwYW5fdXNhNDl3bGNfZncuaCBiL2RyaXZlcnMvdXNiL3NlcmlhbC9rZXlzcGFuX3VzYTQ5d2xjX2Z3LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJlZjA2YTMuLjAwMDAwMDAKLS0tIGEvZHJpdmVycy91c2Ivc2VyaWFsL2tleXNwYW5fdXNhNDl3bGNfZncuaAorKysgL2Rldi9udWxsCkBAIC0xLDQ3NiArMCwwIEBACi0vKiBrZXlzcGFuX3VzYTQ5d19mdy5oCi0KLQlUaGUgZmlybXdhcmUgY29udGFpbmVkIGhlcmVpbiBhcyBrZXlzcGFuX3VzYTQ5d19mdy5oIGlzCi0KLQkJQ29weXJpZ2h0IChDKSAxOTk5LTIwMDMKLQkJS2V5c3BhbiwgQSBkaXZpc2lvbiBvZiBJbm5vU3lzIEluY29ycG9yYXRlZCAoIktleXNwYW4iKQotCQkKLQlhcyBhbiB1bnB1Ymxpc2hlZCB3b3JrLiBUaGlzIG5vdGljZSBkb2VzIG5vdCBpbXBseSB1bnJlc3RyaWN0ZWQgb3IKLQlwdWJsaWMgYWNjZXNzIHRvIHRoZSBzb3VyY2UgY29kZSBmcm9tIHdoaWNoIHRoaXMgZmlybXdhcmUgaW1hZ2UgaXMKLQlkZXJpdmVkLiAgRXhjZXB0IGFzIG5vdGVkIGJlbG93IHRoaXMgZmlybXdhcmUgaW1hZ2UgbWF5IG5vdCBiZSAKLQlyZXByb2R1Y2VkLCB1c2VkLCBzb2xkIG9yIHRyYW5zZmVycmVkIHRvIGFueSB0aGlyZCBwYXJ0eSB3aXRob3V0IAotCUtleXNwYW4ncyBwcmlvciB3cml0dGVuIGNvbnNlbnQuICBBbGwgUmlnaHRzIFJlc2VydmVkLgotCi0JUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCBmb3IgdGhlIGRpc3RyaWJ1dGlvbiBvZiB0aGlzIGZpcm13YXJlIAotCWltYWdlIGFzIHBhcnQgb2YgYSBMaW51eCBvciBvdGhlciBPcGVuIFNvdXJjZSBvcGVyYXRpbmcgc3lzdGVtIGtlcm5lbCAKLQlpbiB0ZXh0IG9yIGJpbmFyeSBmb3JtIGFzIHJlcXVpcmVkLiAKLQotCVRoaXMgZmlybXdhcmUgbWF5IG5vdCBiZSBtb2RpZmllZCBhbmQgbWF5IG9ubHkgYmUgdXNlZCB3aXRoICAKLQlLZXlzcGFuIGhhcmR3YXJlLiAgRGlzdHJpYnV0aW9uIGFuZC9vciBNb2RpZmljYXRpb24gb2YgdGhlIAotCWtleXNwYW4uYyBkcml2ZXIgd2hpY2ggaW5jbHVkZXMgdGhpcyBmaXJtd2FyZSwgaW4gd2hvbGUgb3IgaW4gCi0JcGFydCwgcmVxdWlyZXMgdGhlIGluY2x1c2lvbiBvZiB0aGlzIHN0YXRlbWVudC4iCi0KLXN0YXRpYyBjaGFyIHRoZUZpcm13YXJlRGF0ZTQ5W10gPQotCSIwMi8xNC8yMDAyICAwMjozN3AgICAgICAgICAgICAgIDE5LDM0NyBVU0E0OSI7Ci0KLQotCi1zdGF0aWMgY2hhciB0aGVGaXJtd2FyZURhdGU2NVtdID0KLQkiMDEvMzEvMjAwMyAgMDk6MzRhICAgICAgICAgICAgICAxOSwzMzEgVVNBNjUiOwotCi0KLSovCi0KLXN0YXRpYyBjb25zdCBzdHJ1Y3QgZXp1c2JfaGV4X3JlY29yZCBrZXlzcGFuX3VzYTQ5d2xjX2Zpcm13YXJlW10gPSB7Ci0gezB4N2Y5MiwgIDEsIHsgMHgwMX19LAotIHsweDAwMzMsICAzLCB7IDB4MDIsIDB4MTgsIDB4ZmJ9fSwKLSB7MHgwMDM2LCAxMywgeyAweGU1LCAweDExLCAweDA0LCAweDkwLCAweDc4LCAweDQxLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweGZmLCAweDIyfX0sCi0gezB4MDA0NiwgMTYsIHsgMHhlNCwgMHhmZiwgMHg3NCwgMHg0MCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3YiwgMHhmNSwgMHg4MywgMHhlMCwgMHhmZSwgMHhlNSwgMHgxNX19LAotIHsweDAwNTYsIDE2LCB7IDB4MjQsIDB4MDQsIDB4ZmQsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZmEsIDB4YTksIDB4MDUsIDB4N2IsIDB4MDEsIDB4ZWYsIDB4N2MsIDB4MDAsIDB4MjksIDB4Zjl9fSwKLSB7MHgwMDY2LCAxNiwgeyAweGVjLCAweDNhLCAweGZhLCAweGVlLCAweDEyLCAweDExLCAweGVjLCAweDBmLCAweGJmLCAweDIyLCAweGQ3LCAweGU1LCAweDE1LCAweDI0LCAweDA1LCAweGY1fX0sCi0gezB4MDA3NiwgMTYsIHsgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg3MCwgMHgwMywgMHgwMiwgMHgwMSwgMHgzNCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgwOX19LAotIHsweDAwODYsIDE2LCB7IDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NzAsIDB4MGUsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MGEsIDB4ZjUsIDB4ODJ9fSwKLSB7MHgwMDk2LCAxNiwgeyAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDYwLCAweDE4LCAweDdmLCAweDAxLCAweGU0LCAweGZkLCAweDEyLCAweDE2LCAweDZiLCAweGU1fX0sCi0gezB4MDBhNiwgMTYsIHsgMHgxNSwgMHgyNCwgMHgzMSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg1NCwgMHhjZiwgMHhmMCwgMHg4MCwgMHg0MX19LAotIHsweDAwYjYsIDE2LCB7IDB4ZTUsIDB4MTUsIDB4MjQsIDB4MDYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmYsIDB4MTIsIDB4MDAsIDB4MDN9fSwKLSB7MHgwMGM2LCAxNiwgeyAweGU1LCAweDE1LCAweDI0LCAweDA3LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweGZmLCAweDEyLCAweDE1LCAweGFifX0sCi0gezB4MDBkNiwgMTYsIHsgMHg3ZiwgMHgwMSwgMHhlNSwgMHgxNSwgMHgyNCwgMHgwOCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHhmZCwgMHgxMn19LAotIHsweDAwZTYsIDE2LCB7IDB4MTYsIDB4NmIsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzEsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NDQsIDB4MzB9fSwKLSB7MHgwMGY2LCAxNiwgeyAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDM5LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDQ0LCAweDgwLCAweGYwfX0sCi0gezB4MDAwMywgMTYsIHsgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NCwgMHhmMywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHhiZiwgMHhmMCwgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NH19LAotIHsweDAwMTMsIDE2LCB7IDB4ZjAsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4NzgsIDB4NDEsIDB4NzQsIDB4ZjMsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjR9fSwKLSB7MHgwMDIzLCAxNiwgeyAweDM3LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDIyfX0sCi0gezB4MDA0MywgIDMsIHsgMHgwMiwgMHgxYiwgMHgwMH19LAotIHsweDAwMDAsICAzLCB7IDB4MDIsIDB4MTAsIDB4OTB9fSwKLSB7MHgwMTA2LCA2NCwgeyAweDkwLCAweDc4LCAweDQxLCAweDc0LCAweGY0LCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDM5LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLAotICAweGUwLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDkwLCAweDc4LCAweDQxLCAweDc0LCAweGYyLCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDM2LCAweGY1LAotICAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDQ0LCAweDA2LCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweGU1LCAweDE1LCAweDI0LAotICAweDBiLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDYwLCAweDMyLCAweGU1LCAweDE1LCAweDI0LCAweDBjfX0sCi0gezB4MDE0NiwgNjQsIHsgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg1NCwgMHgzZiwgMHhmZiwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzNywgMHhmNSwgMHg4MiwKLSAgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlZiwgMHhmMCwgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NCwgMHhmMywgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwKLSAgMHgzNywgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwKLSAgMHgwZCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg3MCwgMHgwMywgMHgwMiwgMHgwMiwgMHg0ZiwgMHhlNX19LAotIHsweDAxODYsIDY0LCB7IDB4MTUsIDB4MjQsIDB4MTcsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NjAsIDB4MTEsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzIsCi0gIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NDQsIDB4MDQsIDB4ZjAsIDB4ODAsIDB4MGYsIDB4ZTUsIDB4MTUsIDB4MjQsCi0gIDB4MzIsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4ZmIsIDB4ZjAsIDB4ZTQsIDB4ZmYsIDB4ZTUsIDB4MTUsCi0gIDB4MjQsIDB4MzIsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmQsIDB4MTIsIDB4MTYsIDB4NmIsIDB4ZTV9fSwKLSB7MHgwMWM2LCA2NCwgeyAweDE1LCAweDI0LCAweDBlLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDYwLCAweDExLCAweGU1LCAweDE1LCAweDI0LCAweDMzLAotICAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDQ0LCAweDgwLCAweGYwLCAweDgwLCAweDBmLCAweGU1LCAweDE1LCAweDI0LAotICAweDMzLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDU0LCAweDdmLCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDMzLAotICAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDU0LCAweGZjLCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDBmfX0sCi0gezB4MDIwNiwgNjQsIHsgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg2MCwgMHgyZiwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzMywgMHhmNSwgMHg4MiwgMHhlNCwKLSAgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgxMCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwKLSAgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHhmZiwgMHgxMiwgMHgxNiwgMHgwYiwgMHhlNSwgMHgxNSwgMHgyNCwgMHgxMSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwKLSAgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHhmZiwgMHgxMiwgMHgxNiwgMHgzYiwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzMywgMHhmNSwgMHg4MiwgMHhlNH19LAotIHsweDAyNDYsIDY0LCB7IDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmYsIDB4MTIsIDB4MTUsIDB4ZGIsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MTQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsCi0gIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NjAsIDB4NDQsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MTUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsCi0gIDB4ODMsIDB4ZTAsIDB4NjAsIDB4MTEsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzksIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsCi0gIDB4NDQsIDB4MDEsIDB4ZjAsIDB4ODAsIDB4MGYsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzksIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjV9fSwKLSB7MHgwMjg2LCA2NCwgeyAweDgzLCAweGUwLCAweDU0LCAweGZlLCAweGYwLCAweDkwLCAweDc4LCAweDQxLCAweDc0LCAweGY0LCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDM5LCAweGY1LCAweDgyLAotICAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDEyLCAweGY1LCAweDgyLAotICAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDYwLCAweDQ0LCAweGU1LCAweDE1LCAweDI0LCAweDEzLCAweGY1LCAweDgyLCAweGU0LCAweDM1LAotICAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDYwLCAweDExLCAweGU1LCAweDE1LCAweDI0LCAweDM5LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0fX0sCi0gezB4MDJjNiwgNjQsIHsgMHhmNSwgMHg4MywgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHg4MCwgMHgwZiwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzOSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwKLSAgMHhmNSwgMHg4MywgMHhlMCwgMHg1NCwgMHhmZCwgMHhmMCwgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NCwgMHhmNCwgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzOSwKLSAgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgxNiwKLSAgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHhmZiwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzNSwgMHhmNSwgMHg4Mn19LAotIHsweDAzMDYsIDY0LCB7IDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MTcsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsCi0gIDB4ODMsIDB4ZTAsIDB4MzAsIDB4ZTAsIDB4MTEsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzEsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsCi0gIDB4ZTAsIDB4NDQsIDB4NDAsIDB4ZjAsIDB4ODAsIDB4MGYsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzEsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsCi0gIDB4ODMsIDB4ZTAsIDB4NTQsIDB4YmYsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MTgsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjV9fSwKLSB7MHgwMzQ2LCA2NCwgeyAweDgzLCAweGUwLCAweGZmLCAweGU1LCAweDE1LCAweDI0LCAweDNiLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGVmLCAweGYwLCAweGU1LAotICAweDE1LCAweDI0LCAweDE5LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDYwLCAweDExLCAweGU1LCAweDE1LCAweDI0LAotICAweDM5LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDQ0LCAweDEwLCAweGYwLCAweDgwLCAweDBmLCAweGU1LCAweDE1LAotICAweDI0LCAweDM5LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDU0LCAweGVmLCAweGYwLCAweDkwLCAweDc4fX0sCi0gezB4MDM4NiwgNjQsIHsgMHg0MSwgMHg3NCwgMHhmNCwgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzOSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg5MCwKLSAgMHhjMCwgMHgwMCwgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgxYSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg2MCwKLSAgMHg2YiwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzNywgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg1NCwgMHhiZiwgMHhmMCwKLSAgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NCwgMHhmMywgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzNywgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNH19LAotIHsweDAzYzYsIDY0LCB7IDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4OTAsIDB4NzgsIDB4NDEsIDB4NzQsIDB4ZjEsIDB4ZjAsIDB4MTIsIDB4MDAsCi0gIDB4MzYsIDB4ZWYsIDB4NTQsIDB4ZmUsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzIsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsCi0gIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4ZmQsIDB4ZmYsIDB4ZjAsIDB4ZmQsIDB4ZTQsIDB4ZmYsIDB4MTIsIDB4MTYsIDB4NmIsIDB4ZTUsIDB4MTUsCi0gIDB4MjQsIDB4MmMsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTQsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MmJ9fSwKLSB7MHgwNDA2LCA2NCwgeyAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGU0LCAweGYwLCAweGU1LCAweDE2LCAweDQyLCAweDEzLCAweGU1LCAweDE1LCAweDI0LCAweDFiLAotICAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDcwLCAweDBlLCAweGU1LCAweDE1LCAweDI0LCAweDI1LCAweGY1LCAweDgyLAotICAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDYwLCAweDI4LCAweGU1LCAweDE1LCAweDI0LCAweDMyLCAweGY1LCAweDgyLCAweGU0LCAweDM1LAotICAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDQ0LCAweDAyLCAweGZmLCAweGYwLCAweGZkLCAweGU0LCAweGZmLCAweDEyLCAweDE2LCAweDZiLCAweGU1fX0sCi0gezB4MDQ0NiwgNjQsIHsgMHgxNSwgMHgyNCwgMHgyYiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHg3NCwgMHgwMSwgMHhmMCwgMHhlNSwgMHgxNiwgMHg0MiwgMHgxMywKLSAgMHhlNSwgMHgxNSwgMHgyNCwgMHgxYywgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHhmZiwgMHg3MCwgMHgwZSwgMHhlNSwKLSAgMHgxNSwgMHgyNCwgMHgyNSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg2MCwgMHgyYSwgMHg5MCwgMHg3OCwgMHg0MSwKLSAgMHg3NCwgMHhmMiwgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzNiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMH19LAotIHsweDA0ODYsIDY0LCB7IDB4NDQsIDB4MDQsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4ZWYsIDB4NjAsIDB4MGYsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzEsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsCi0gIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NDQsIDB4MDQsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MWQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsCi0gIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NjAsIDB4MjcsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzcsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsCi0gIDB4ZTAsIDB4NDQsIDB4NDAsIDB4ZjAsIDB4OTAsIDB4NzgsIDB4NDEsIDB4NzQsIDB4ZjMsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzcsIDB4ZjV9fSwKLSB7MHgwNGM2LCA2NCwgeyAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDFlLAotICAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDYwLCAweDI4LCAweGU1LCAweDE1LCAweDI0LCAweDMyLCAweGY1LCAweDgyLAotICAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDU0LCAweGZlLCAweGZmLCAweGYwLCAweGZkLCAweGU0LCAweGZmLCAweDEyLCAweDE2LCAweDZiLAotICAweGU1LCAweDE1LCAweDI0LCAweDJkLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweDc0LCAweDAxLCAweGYwLCAweGU1fX0sCi0gezB4MDUwNiwgNjQsIHsgMHgxNiwgMHg0MiwgMHgxMywgMHhlNSwgMHgxNSwgMHgyNCwgMHgxZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg3MCwgMHgwZSwKLSAgMHhlNSwgMHgxNSwgMHgyNCwgMHgyNSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg2MCwgMHgyNywgMHhlNSwgMHgxNSwKLSAgMHgyNCwgMHgzMiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg0NCwgMHgwMSwgMHhmZiwgMHhmMCwgMHhmZCwgMHhlNCwKLSAgMHhmZiwgMHgxMiwgMHgxNiwgMHg2YiwgMHhlNSwgMHgxNSwgMHgyNCwgMHgyZCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4M319LAotIHsweDA1NDYsIDY0LCB7IDB4ZTQsIDB4ZjAsIDB4ZTUsIDB4MTYsIDB4NDIsIDB4MTMsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MjAsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsCi0gIDB4ZTAsIDB4NzAsIDB4MGUsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MjUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NjAsCi0gIDB4MTgsIDB4OTAsIDB4NzgsIDB4NDEsIDB4NzQsIDB4ZjIsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsCi0gIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MjEsIDB4ZjUsIDB4ODJ9fSwKLSB7MHgwNTg2LCA2NCwgeyAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDYwLCAweDBmLCAweGU1LCAweDE1LCAweDI0LCAweDMxLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LAotICAweGY1LCAweDgzLCAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDIyLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LAotICAweDgzLCAweGUwLCAweDYwLCAweDFmLCAweGU1LCAweDE1LCAweDI0LCAweDJlLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweDc0LAotICAweDAxLCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDNhLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGU0LCAweGYwfX0sCi0gezB4MDVjNiwgNjQsIHsgMHhlNSwgMHgxNiwgMHg0MiwgMHgxMywgMHhlNSwgMHgxNSwgMHgyNCwgMHgyMywgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg2MCwKLSAgMHgwMywgMHgxMiwgMHgxOCwgMHg3YSwgMHhlNSwgMHgxNSwgMHgyNCwgMHgyNCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwKLSAgMHg2MCwgMHgyMywgMHhlNSwgMHgxNSwgMHgyNCwgMHgzMSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg0NCwgMHgwOCwKLSAgMHhmMCwgMHhlNSwgMHgxNiwgMHhjNCwgMHg1NCwgMHhmMCwgMHhmZiwgMHg0MiwgMHgxMSwgMHg5MCwgMHg3ZiwgMHg5NiwgMHhlMCwgMHg0ZiwgMHhmMH19LAotIHsweDA2MDYsIDY0LCB7IDB4OTAsIDB4NzgsIDB4NDEsIDB4ZTAsIDB4NGYsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MjUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsCi0gIDB4ZTAsIDB4NjAsIDB4MjQsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzEsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsCi0gIDB4ZjcsIDB4ZjAsIDB4ZTUsIDB4MTYsIDB4YzQsIDB4NTQsIDB4ZjAsIDB4ZjQsIDB4ZmYsIDB4NTIsIDB4MTEsIDB4OTAsIDB4N2YsIDB4OTYsIDB4ZTAsIDB4NWYsCi0gIDB4ZjAsIDB4OTAsIDB4NzgsIDB4NDEsIDB4ZTAsIDB4NWYsIDB4ZjAsIDB4MjIsIDB4OTAsIDB4N2YsIDB4ZTksIDB4ZTAsIDB4MTIsIDB4MTEsIDB4ZmV9fSwKLSB7MHgwNjQ2LCA2NCwgeyAweDA3LCAweDk5LCAweDAwLCAweDA4LCAweDBkLCAweDAxLCAweDA4LCAweDc5LCAweDAzLCAweDA2LCAweDYyLCAweDA2LCAweDA3LCAweDhhLCAweDA4LCAweDA3LCAweDdlLAotICAweDA5LCAweDA3LCAweDY2LCAweDBhLCAweDA3LCAweDc1LCAweDBiLCAweDAwLCAweDAwLCAweDA4LCAweGM4LCAweDkwLCAweDdmLCAweGViLCAweGUwLCAweDI0LAotICAweGZlLCAweDYwLCAweDFjLCAweDE0LCAweDcwLCAweDAzLCAweDAyLCAweDA3LCAweDE0LCAweDI0LCAweDAyLCAweDYwLCAweDAzLCAweDAyLCAweDA3LCAweDVjLAotICAweDc0LCAweDE5LCAweDkwLCAweDdmLCAweGQ0LCAweGYwLCAweDc0LCAweDAwLCAweDkwLCAweDdmLCAweGQ1LCAweGYwLCAweDAyLCAweDA4LCAweGNmfX0sCi0gezB4MDY4NiwgNjQsIHsgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHgwNCwgMHg3NSwgMHg4MiwgMHgxNywgMHg3NSwgMHg4MywgMHgxOSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHgzMCwKLSAgMHhlMCwgMHgwNCwgMHg3ZiwgMHgwMiwgMHg4MCwgMHgwMiwgMHg3ZiwgMHgwMywgMHg3NSwgMHg4MiwgMHg4MiwgMHg3NSwgMHg4MywgMHgxOSwgMHhlZiwgMHhmMCwKLSAgMHg3NSwgMHg4MiwgMHg2ZCwgMHg3NSwgMHg4MywgMHgxOSwgMHhmMCwgMHg3NSwgMHg4MiwgMHg2NiwgMHg3NSwgMHg4MywgMHgxOSwgMHhmMCwgMHg3NSwgMHg4MiwKLSAgMHg1ZiwgMHg3NSwgMHg4MywgMHgxOSwgMHhmMCwgMHg3NSwgMHg4MiwgMHg1OCwgMHg3NSwgMHg4MywgMHgxOSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhlYX19LAotIHsweDA2YzYsIDY0LCB7IDB4ZTAsIDB4MzAsIDB4ZTEsIDB4MDQsIDB4N2YsIDB4NjQsIDB4ODAsIDB4MDIsIDB4N2YsIDB4MzIsIDB4NzUsIDB4ODIsIDB4MWEsIDB4NzUsIDB4ODMsIDB4MTksIDB4ZWYsCi0gIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZWYsIDB4ZTAsIDB4ZmUsIDB4OTAsIDB4N2YsIDB4ZWUsIDB4ZTAsIDB4N2MsIDB4MDAsIDB4MjQsIDB4MDAsIDB4ZjUsIDB4MTgsCi0gIDB4ZWMsIDB4M2UsIDB4ZjUsIDB4MTcsIDB4NzUsIDB4MzMsIDB4MTksIDB4NzUsIDB4MzQsIDB4MTIsIDB4NzUsIDB4ODIsIDB4MTQsIDB4NzUsIDB4ODMsIDB4MTksCi0gIDB4ZTAsIDB4NzUsIDB4MjcsIDB4MDAsIDB4ZjUsIDB4MjgsIDB4ZDMsIDB4ZTUsIDB4MjgsIDB4OTUsIDB4MTgsIDB4ZTUsIDB4MjcsIDB4OTUsIDB4MTd9fSwKLSB7MHgwNzA2LCA2NCwgeyAweDQwLCAweDA2LCAweDg1LCAweDE3LCAweDI3LCAweDg1LCAweDE4LCAweDI4LCAweDEyLCAweDEzLCAweDBkLCAweDAyLCAweDA4LCAweGNmLCAweDkwLCAweDdmLCAweGVhLAotICAweGUwLCAweGZmLCAweDEyLCAweDE0LCAweDVmLCAweGVhLCAweDQ5LCAweDYwLCAweDMyLCAweDkwLCAweDdmLCAweGVlLCAweGUwLCAweDc1LCAweDE3LCAweDAwLAotICAweGY1LCAweDE4LCAweGFlLCAweDAyLCAweGFmLCAweDAxLCAweDhlLCAweDMzLCAweDhmLCAweDM0LCAweDhmLCAweDgyLCAweDhlLCAweDgzLCAweGUwLCAweGZlLAotICAweGEzLCAweGUwLCAweDhlLCAweDI3LCAweGY1LCAweDI4LCAweGQzLCAweDk1LCAweDE4LCAweGU1LCAweDI3LCAweDk1LCAweDE3LCAweDQwLCAweDA2fX0sCi0gezB4MDc0NiwgNjQsIHsgMHg4NSwgMHgxNywgMHgyNywgMHg4NSwgMHgxOCwgMHgyOCwgMHgxMiwgMHgxMywgMHgwZCwgMHgwMiwgMHgwOCwgMHhjZiwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwKLSAgMHgwMSwgMHhmMCwgMHgwMiwgMHgwOCwgMHhjZiwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHgwMiwgMHgwOCwgMHhjZiwgMHg5MCwKLSAgMHg3ZiwgMHgwMCwgMHhlNSwgMHgyNSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHg3NCwgMHgwMSwgMHhmMCwgMHgwMiwgMHgwOCwgMHhjZiwgMHg5MCwgMHg3ZiwKLSAgMHhlYSwgMHhlMCwgMHhmNSwgMHgyNSwgMHgwMiwgMHgwOCwgMHhjZiwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHhmNSwgMHgyMiwgMHgxMiwgMHgwYX19LAotIHsweDA3ODYsIDY0LCB7IDB4Y2UsIDB4MDIsIDB4MDgsIDB4Y2YsIDB4OTAsIDB4N2YsIDB4MDAsIDB4ZTUsIDB4MjIsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4MDIsCi0gIDB4MDgsIDB4Y2YsIDB4OTAsIDB4N2YsIDB4ZTgsIDB4ZTAsIDB4MjQsIDB4N2YsIDB4NjAsIDB4MjQsIDB4MTQsIDB4NjAsIDB4MzEsIDB4MjQsIDB4MDIsIDB4NzAsCi0gIDB4NWIsIDB4YTIsIDB4MDAsIDB4ZTQsIDB4MzMsIDB4ZmYsIDB4MjUsIDB4ZTAsIDB4ZmYsIDB4YTIsIDB4MDYsIDB4ZTQsIDB4MzMsIDB4NGYsIDB4OTAsIDB4N2YsCi0gIDB4MDAsIDB4ZjAsIDB4ZTQsIDB4YTMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4MDIsIDB4MDgsIDB4Y2YsIDB4ZTR9fSwKLSB7MHgwN2M2LCA2NCwgeyAweDkwLCAweDdmLCAweDAwLCAweGYwLCAweGEzLCAweGYwLCAweDkwLCAweDdmLCAweGI1LCAweDc0LCAweDAyLCAweGYwLCAweDAyLCAweDA4LCAweGNmLCAweDkwLCAweDdmLAotICAweGVjLCAweGUwLCAweGY0LCAweDU0LCAweDgwLCAweGZmLCAweGM0LCAweDU0LCAweDBmLCAweGZmLCAweGUwLCAweDU0LCAweDA3LCAweDJmLCAweDI1LCAweGUwLAotICAweDI0LCAweGI0LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdmLCAweGY1LCAweDgzLCAweGUwLCAweDU0LCAweGZkLCAweDkwLCAweDdmLCAweDAwLCAweGYwLAotICAweGU0LCAweGEzLCAweGYwLCAweDkwLCAweDdmLCAweGI1LCAweDc0LCAweDAyLCAweGYwLCAweDAyLCAweDA4LCAweGNmLCAweDkwLCAweDdmLCAweGI0fX0sCi0gezB4MDgwNiwgNjQsIHsgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHgwMiwgMHgwOCwgMHhjZiwgMHg5MCwgMHg3ZiwgMHhlOCwgMHhlMCwgMHgyNCwgMHhmZSwgMHg2MCwgMHgxZCwgMHgyNCwgMHgwMiwKLSAgMHg2MCwgMHgwMywgMHgwMiwgMHgwOCwgMHhjZiwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHhiNCwgMHgwMSwgMHgwNSwgMHhjMiwgMHgwMCwgMHgwMiwgMHgwOCwKLSAgMHhjZiwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHgwMiwgMHgwOCwgMHhjZiwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHg3MCwKLSAgMHgzOCwgMHg5MCwgMHg3ZiwgMHhlYywgMHhlMCwgMHhmNCwgMHg1NCwgMHg4MCwgMHhmZiwgMHhjNCwgMHg1NCwgMHgwZiwgMHhmZiwgMHhlMCwgMHg1NH19LAotIHsweDA4NDYsIDY0LCB7IDB4MDcsIDB4MmYsIDB4MjUsIDB4ZTAsIDB4MjQsIDB4YjQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2YsIDB4ZjUsIDB4ODMsIDB4ZTQsIDB4ZjAsIDB4OTAsIDB4N2YsCi0gIDB4ZWMsIDB4ZTAsIDB4NTQsIDB4ODAsIDB4ZmYsIDB4MTMsIDB4MTMsIDB4MTMsIDB4NTQsIDB4MWYsIDB4ZmYsIDB4ZTAsIDB4NTQsIDB4MDcsIDB4MmYsIDB4OTAsCi0gIDB4N2YsIDB4ZDcsIDB4ZjAsIDB4ZTAsIDB4NDQsIDB4MjAsIDB4ZjAsIDB4ODAsIDB4NWYsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsCi0gIDB4ODAsIDB4NTYsIDB4OTAsIDB4N2YsIDB4ZTgsIDB4ZTAsIDB4MjQsIDB4ZmUsIDB4NjAsIDB4MTgsIDB4MjQsIDB4MDIsIDB4NzAsIDB4NGEsIDB4OTB9fSwKLSB7MHgwODg2LCA2NCwgeyAweDdmLCAweGVhLCAweGUwLCAweGI0LCAweDAxLCAweDA0LCAweGQyLCAweDAwLCAweDgwLCAweDNmLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLAotICAweDgwLCAweDM2LCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweDcwLCAweDIwLCAweDkwLCAweDdmLCAweGVjLCAweGUwLCAweGY0LCAweDU0LCAweDgwLCAweGZmLAotICAweGM0LCAweDU0LCAweDBmLCAweGZmLCAweGUwLCAweDU0LCAweDA3LCAweDJmLCAweDI1LCAweGUwLCAweDI0LCAweGI0LCAweGY1LCAweDgyLCAweGU0LCAweDM0LAotICAweDdmLCAweGY1LCAweDgzLCAweDc0LCAweDAxLCAweGYwLCAweDgwLCAweDEwLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwfX0sCi0gezB4MDhjNiwgNjQsIHsgMHg4MCwgMHgwNywgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHgyMiwKLSAgMHhlNSwgMHgxMiwgMHg1NCwgMHgwZiwgMHg3MCwgMHgwMywgMHgwMiwgMHgwOSwgMHhjOCwgMHgxMiwgMHgxNiwgMHg5YSwgMHhlZiwgMHgyMCwgMHhlMSwgMHg3NSwKLSAgMHgxMiwgMHgxNiwgMHhmOCwgMHhlZiwgMHgxNCwgMHhmNSwgMHgxOCwgMHgxMiwgMHgxOCwgMHhjNSwgMHhlZiwgMHgyNSwgMHgxOCwgMHhmZiwgMHhlNCwgMHgzMywKLSAgMHhmZSwgMHhjMywgMHhlZiwgMHg5NCwgMHg4MCwgMHhlZSwgMHg2NCwgMHg4MCwgMHg5NCwgMHg4MCwgMHg1MCwgMHg1OSwgMHg4NSwgMHgxNSwgMHg4Mn19LAotIHsweDA5MDYsIDY0LCB7IDB4ODUsIDB4MTQsIDB4ODMsIDB4ZTAsIDB4ZmUsIDB4YTMsIDB4ZTAsIDB4ZmYsIDB4ZjUsIDB4ODIsIDB4OGUsIDB4ODMsIDB4ZTAsIDB4MzAsIDB4ZTAsIDB4MTEsIDB4ZTUsCi0gIDB4MTUsIDB4MjQsIDB4MzEsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NDQsIDB4ODAsIDB4ZjAsIDB4ODAsIDB4MGYsCi0gIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzEsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4N2YsIDB4ZjAsIDB4ZTUsCi0gIDB4MTUsIDB4MjQsIDB4MzEsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MjAsIDB4ZTIsIDB4MTIsIDB4ZTV9fSwKLSB7MHgwOTQ2LCA2NCwgeyAweDE4LCAweDYwLCAweDBlLCAweGY1LCAweDIzLCAweGVmLCAweDI0LCAweDAxLCAweGY1LCAweDJkLCAweGU0LCAweDNlLCAweGY1LCAweDJjLCAweDEyLCAweDE0LCAweGEwLAotICAweGU0LCAweGZmLCAweDEyLCAweDE0LCAweGQ3LCAweGU1LCAweDE1LCAweDI0LCAweDMxLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLAotICAweGUwLCAweDMwLCAweGU3LCAweDVkLCAweDEyLCAweDE4LCAweGM1LCAweGU1LCAweDE1LCAweDI0LCAweDNiLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LAotICAweGY1LCAweDgzLCAweGUwLCAweGZlLCAweGVmLCAweGMzLCAweDllLCAweDUwLCAweDQ4LCAweGU1LCAweDE1LCAweDI0LCAweDJmLCAweGY1LCAweDgyfX0sCi0gezB4MDk4NiwgNjQsIHsgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHg3NCwgMHgwMSwgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzMSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwKLSAgMHhmNSwgMHg4MywgMHhlMCwgMHg1NCwgMHg3YiwgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzYSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwKLSAgMHg4MywgMHhlNCwgMHhmMCwgMHhlNSwgMHgxNiwgMHg0MiwgMHgxMywgMHg5MCwgMHg3ZiwgMHhjMiwgMHhlMCwgMHgzMCwgMHhlMSwgMHgxMCwgMHhlNSwgMHgxNSwKLSAgMHgyNCwgMHgyNiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHhmNSwgMHgyNCwgMHg4MCwgMHgwMywgMHgxMn19LAotIHsweDA5YzYsIDY0LCB7IDB4MTIsIDB4OWMsIDB4MTIsIDB4MTYsIDB4YzksIDB4ZWYsIDB4MzAsIDB4ZTEsIDB4MDMsIDB4MDIsIDB4MGEsIDB4Y2QsIDB4MTIsIDB4MTcsIDB4YzcsIDB4OGYsIDB4MTgsCi0gIDB4MTIsIDB4MTgsIDB4ZDMsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzgsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZWYsIDB4ZjAsCi0gIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmYsIDB4ZTUsIDB4MTgsIDB4YzMsCi0gIDB4OWYsIDB4NTAsIDB4MjgsIDB4MTIsIDB4MTgsIDB4YTksIDB4ZWYsIDB4MzAsIDB4ZTAsIDB4MjEsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzgsIDB4ZjV9fSwKLSB7MHgwYTA2LCA2NCwgeyAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDIwLCAweGU3LCAweDEyLCAweGU1LCAweDE1LCAweDI0LCAweDMxLCAweGY1LCAweDgyLCAweGU0LAotICAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDIwLCAweGUxLCAweDAzLCAweDAyLCAweDBhLCAweGNkLCAweGU1LCAweDE1LCAweDI0LCAweDMxLCAweGY1LAotICAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDU0LCAweGZkLCAweGYwLCAweGU1LCAweDE4LCAweDcwLCAweDAzLCAweDAyLCAweDBhLAotICAweGNkLCAweGI0LCAweDgwLCAweDBmLCAweGU1LCAweDE1LCAweDI0LCAweDM4LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzfX0sCi0gezB4MGE0NiwgNjQsIHsgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzOCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHhmZiwKLSAgMHgzMCwgMHhlNywgMHgyOSwgMHhlNSwgMHgxOCwgMHhkMywgMHg5NCwgMHgyMCwgMHg0MCwgMHgwMywgMHg3NSwgMHgxOCwgMHgyMCwgMHg4NSwgMHgxOCwgMHgyMywKLSAgMHg4NSwgMHgxNSwgMHg4MiwgMHg4NSwgMHgxNCwgMHg4MywgMHhhMywgMHhhMywgMHhlMCwgMHhmYywgMHhhMywgMHhlMCwgMHg4YywgMHgyYywgMHhmNSwgMHgyZCwKLSAgMHgxMiwgMHgxMywgMHhjZiwgMHhlNSwgMHgxOCwgMHgyNSwgMHhlMCwgMHhmZiwgMHgxMiwgMHgxNSwgMHgwZCwgMHgyMiwgMHhlNSwgMHgxOCwgMHhkM319LAotIHsweDBhODYsIDY0LCB7IDB4OTQsIDB4M2YsIDB4NDAsIDB4MDMsIDB4NzUsIDB4MTgsIDB4M2YsIDB4ODUsIDB4MTgsIDB4MjMsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzgsIDB4ZjUsIDB4ODIsIDB4ZTQsCi0gIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmYsIDB4ODUsIDB4MTUsIDB4ODIsIDB4ODUsIDB4MTQsIDB4ODMsIDB4YTMsIDB4YTMsIDB4ZTAsIDB4ZmMsCi0gIDB4YTMsIDB4ZTAsIDB4ZjUsIDB4ODIsIDB4OGMsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4ODUsIDB4MTUsIDB4ODIsIDB4ODUsIDB4MTQsIDB4ODMsIDB4YTMsIDB4YTMsCi0gIDB4ZTAsIDB4ZmUsIDB4YTMsIDB4ZTAsIDB4MjQsIDB4MDEsIDB4ZjUsIDB4MmQsIDB4ZTQsIDB4M2UsIDB4ZjUsIDB4MmMsIDB4MTIsIDB4MTQsIDB4MWR9fSwKLSB7MHgwYWM2LCA2NCwgeyAweGU1LCAweDE4LCAweDA0LCAweGZmLCAweDEyLCAweDE1LCAweDBkLCAweDIyLCAweGU0LCAweDkwLCAweDdmLCAweDkzLCAweGYwLCAweDkwLCAweDdmLCAweDljLCAweDc0LAotICAweGZmLCAweGYwLCAweGU0LCAweDkwLCAweDdmLCAweDk2LCAweGYwLCAweDkwLCAweDdmLCAweDk0LCAweGYwLCAweDkwLCAweDc4LCAweDRhLCAweDA0LCAweGYwLAotICAweGY1LCAweDhlLCAweDkwLCAweDdmLCAweDk1LCAweDc0LCAweGMwLCAweGYwLCAweDkwLCAweDdmLCAweDllLCAweDc0LCAweDNmLCAweGYwLCAweDkwLCAweDdmLAotICAweDk4LCAweDc0LCAweDJmLCAweGYwLCAweDkwLCAweDc4LCAweDQzLCAweDc0LCAweGY3LCAweGYwLCAweGU0LCAweDkwLCAweDc4LCAweDQxLCAweGYwfX0sCi0gezB4MGIwNiwgNjQsIHsgMHg5MCwgMHg3ZiwgMHhkZiwgMHg3NCwgMHg5ZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhkZSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5MiwgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwKLSAgMHg3ZSwgMHg3YiwgMHg3ZiwgMHhjMCwgMHg3NSwgMHgxNCwgMHg3YiwgMHg3NSwgMHgxNSwgMHhjMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgyZSwgMHhmMCwKLSAgMHg3NSwgMHgxNiwgMHgwMSwgMHgxMiwgMHgwZiwgMHgyOCwgMHg3ZSwgMHg3YiwgMHg3ZiwgMHhjMCwgMHg3NSwgMHgxNCwgMHg3YiwgMHg3NSwgMHgxNSwgMHhjMCwKLSAgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgyZSwgMHhmMCwgMHg3NSwgMHgxNiwgMHgwMSwgMHhlNSwgMHgxNSwgMHgyNCwgMHgyNiwgMHhmNSwgMHg4Mn19LAotIHsweDBiNDYsIDY0LCB7IDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTQsIDB4ZjAsIDB4N2UsIDB4N2UsIDB4N2YsIDB4NDAsIDB4ODUsIDB4MTUsIDB4ODIsIDB4ODUsIDB4MTQsIDB4ODMsCi0gIDB4NzQsIDB4N2UsIDB4ZjAsIDB4YTMsIDB4NzQsIDB4NDAsIDB4ZjAsIDB4N2UsIDB4N2UsIDB4N2YsIDB4ODAsIDB4ODUsIDB4MTUsIDB4ODIsIDB4ODUsIDB4MTQsCi0gIDB4ODMsIDB4YTMsIDB4YTMsIDB4NzQsIDB4N2UsIDB4ZjAsIDB4YTMsIDB4NzQsIDB4ODAsIDB4ZjAsIDB4N2UsIDB4N2MsIDB4N2YsIDB4MDAsIDB4NzUsIDB4MTQsCi0gIDB4N2MsIDB4NzUsIDB4MTUsIDB4MDAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MmQsIDB4ZjAsIDB4NzUsIDB4MTYsIDB4MDIsIDB4MTIsIDB4MGZ9fSwKLSB7MHgwYjg2LCA2NCwgeyAweDI4LCAweDdlLCAweDdjLCAweDdmLCAweDAwLCAweDc1LCAweDE0LCAweDdjLCAweDc1LCAweDE1LCAweDAwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDJkLCAweGYwLAotICAweDc1LCAweDE2LCAweDAyLCAweGU1LCAweDE1LCAweDI0LCAweDI2LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweDc0LCAweDAxLAotICAweGYwLCAweDdlLCAweDdkLCAweDdmLCAweGMwLCAweDg1LCAweDE1LCAweDgyLCAweDg1LCAweDE0LCAweDgzLCAweDc0LCAweDdkLCAweGYwLCAweGEzLCAweDc0LAotICAweGMwLCAweGYwLCAweDdlLCAweDdlLCAweDdmLCAweDAwLCAweDg1LCAweDE1LCAweDgyLCAweDg1LCAweDE0LCAweDgzLCAweGEzLCAweGEzLCAweDc0fX0sCi0gezB4MGJjNiwgNjQsIHsgMHg3ZSwgMHhmMCwgMHhhMywgMHg3NCwgMHgwMCwgMHhmMCwgMHg3ZSwgMHg3YywgMHg3ZiwgMHg0MCwgMHg3NSwgMHgxNCwgMHg3YywgMHg3NSwgMHgxNSwgMHg0MCwgMHg5MCwKLSAgMHg3ZiwgMHg5OCwgMHg3NCwgMHgyYiwgMHhmMCwgMHg3NSwgMHgxNiwgMHgwNCwgMHgxMiwgMHgwZiwgMHgyOCwgMHg3ZSwgMHg3YywgMHg3ZiwgMHg0MCwgMHg3NSwKLSAgMHgxNCwgMHg3YywgMHg3NSwgMHgxNSwgMHg0MCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgyYiwgMHhmMCwgMHg3NSwgMHgxNiwgMHgwNCwgMHhlNSwgMHgxNSwKLSAgMHgyNCwgMHgyNiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHg3NCwgMHgwMiwgMHhmMCwgMHg3ZSwgMHg3ZCwgMHg3Zn19LAotIHsweDBjMDYsIDY0LCB7IDB4NDAsIDB4ODUsIDB4MTUsIDB4ODIsIDB4ODUsIDB4MTQsIDB4ODMsIDB4NzQsIDB4N2QsIDB4ZjAsIDB4YTMsIDB4NzQsIDB4NDAsIDB4ZjAsIDB4N2UsIDB4N2QsIDB4N2YsCi0gIDB4ODAsIDB4ODUsIDB4MTUsIDB4ODIsIDB4ODUsIDB4MTQsIDB4ODMsIDB4YTMsIDB4YTMsIDB4NzQsIDB4N2QsIDB4ZjAsIDB4YTMsIDB4NzQsIDB4ODAsIDB4ZjAsCi0gIDB4N2UsIDB4N2MsIDB4N2YsIDB4ODAsIDB4NzUsIDB4MTQsIDB4N2MsIDB4NzUsIDB4MTUsIDB4ODAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MjcsIDB4ZjAsCi0gIDB4NzUsIDB4MTYsIDB4MDgsIDB4MTIsIDB4MGYsIDB4MjgsIDB4N2UsIDB4N2MsIDB4N2YsIDB4ODAsIDB4NzUsIDB4MTQsIDB4N2MsIDB4NzUsIDB4MTV9fSwKLSB7MHgwYzQ2LCA2NCwgeyAweDgwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDI3LCAweGYwLCAweDc1LCAweDE2LCAweDA4LCAweGU1LCAweDE1LCAweDI0LCAweDI2LCAweGY1LCAweDgyLCAweGU0LAotICAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweDc0LCAweDAzLCAweGYwLCAweDdlLCAweDdjLCAweDdmLCAweGMwLCAweDg1LCAweDE1LCAweDgyLCAweDg1LCAweDE0LAotICAweDgzLCAweDc0LCAweDdjLCAweGYwLCAweGEzLCAweDc0LCAweGMwLCAweGYwLCAweDdlLCAweDdkLCAweDdmLCAweDAwLCAweDg1LCAweDE1LCAweDgyLCAweDg1LAotICAweDE0LCAweDgzLCAweGEzLCAweGEzLCAweDc0LCAweDdkLCAweGYwLCAweGEzLCAweDc0LCAweDAwLCAweGYwLCAweGMyLCAweDBhLCAweGMyLCAweDA5fX0sCi0gezB4MGM4NiwgNjQsIHsgMHhlNCwgMHhmNSwgMHgxMSwgMHhkMiwgMHgwMiwgMHgyMiwgMHhlNSwgMHgxMCwgMHgwNCwgMHg1NCwgMHgwMywgMHhmNSwgMHgxMCwgMHgxNCwgMHg2MCwgMHgxZiwgMHgxNCwKLSAgMHg2MCwgMHgzMSwgMHgxNCwgMHg2MCwgMHg0MywgMHgyNCwgMHgwMywgMHg3MCwgMHg1MiwgMHg3ZSwgMHg3YiwgMHg3ZiwgMHhjMCwgMHg3NSwgMHgxNCwgMHg3YiwKLSAgMHg3NSwgMHgxNSwgMHhjMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgyZSwgMHhmMCwgMHg3NSwgMHgxNiwgMHgwMSwgMHg4MCwgMHgzZCwgMHg3ZSwgMHg3YywKLSAgMHg3ZiwgMHgwMCwgMHg3NSwgMHgxNCwgMHg3YywgMHg3NSwgMHgxNSwgMHgwMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgyZCwgMHhmMCwgMHg3NX19LAotIHsweDBjYzYsIDY0LCB7IDB4MTYsIDB4MDIsIDB4ODAsIDB4MjgsIDB4N2UsIDB4N2MsIDB4N2YsIDB4NDAsIDB4NzUsIDB4MTQsIDB4N2MsIDB4NzUsIDB4MTUsIDB4NDAsIDB4OTAsIDB4N2YsIDB4OTgsCi0gIDB4NzQsIDB4MmIsIDB4ZjAsIDB4NzUsIDB4MTYsIDB4MDQsIDB4ODAsIDB4MTMsIDB4N2UsIDB4N2MsIDB4N2YsIDB4ODAsIDB4NzUsIDB4MTQsIDB4N2MsIDB4NzUsCi0gIDB4MTUsIDB4ODAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MjcsIDB4ZjAsIDB4NzUsIDB4MTYsIDB4MDgsIDB4ZTUsIDB4MzIsIDB4NTUsIDB4MTYsIDB4NzAsCi0gIDB4MDMsIDB4MDIsIDB4MGUsIDB4MjcsIDB4ZTUsIDB4MTYsIDB4ZjQsIDB4NTIsIDB4MzIsIDB4ZTUsIDB4MjYsIDB4NTQsIDB4N2YsIDB4ZmYsIDB4NzB9fSwKLSB7MHgwZDA2LCA2NCwgeyAweDE3LCAweGU1LCAweDJhLCAweDU1LCAweDE2LCAweDYwLCAweDM0LCAweDkwLCAweDdmLCAweDk2LCAweGUwLCAweGZlLCAweGU1LCAweDE2LCAweGM0LCAweDU0LCAweGYwLAotICAweGY0LCAweGZkLCAweGVlLCAweDVkLCAweGYwLCAweDgwLCAweDIzLCAweGJmLCAweDIwLCAweDIwLCAweGU1LCAweDE1LCAweDI0LCAweDMxLCAweGY1LCAweDgyLAotICAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDMwLCAweGUzLCAweDExLCAweGU0LCAweGY1LCAweDJhLCAweDkwLCAweDdmLCAweDk2LCAweGUwLAotICAweGZmLCAweGU1LCAweDE2LCAweGM0LCAweDU0LCAweGYwLCAweGZlLCAweGVmLCAweDRlLCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDNhLCAweGY1fX0sCi0gezB4MGQ0NiwgNjQsIHsgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg2MCwgMHgwMywgMHhlMCwgMHgxNCwgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzNCwgMHhmNSwKLSAgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg2MCwgMHgwMywgMHhlMCwgMHgxNCwgMHhmMCwgMHhlMCwgMHg2MCwgMHgwMywgMHgwMiwKLSAgMHgwZSwgMHgyNywgMHg3NCwgMHgwYSwgMHhmMCwgMHgxMiwgMHgwMCwgMHgzNiwgMHhlZiwgMHg1NCwgMHgwMSwgMHhmZiwgMHhmNSwgMHgxOCwgMHhlNSwgMHgxNSwKLSAgMHgyNCwgMHgyYywgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg2ZiwgMHg2MCwgMHgwNywgMHhlNSwgMHgxOH19LAotIHsweDBkODYsIDY0LCB7IDB4ZjAsIDB4ZTUsIDB4MTYsIDB4NDIsIDB4MTMsIDB4MTIsIDB4MTgsIDB4ZTEsIDB4OGYsIDB4MTgsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MjcsIDB4ZjUsIDB4ODIsIDB4ZTQsCi0gIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmYsIDB4ZTUsIDB4MTgsIDB4NTQsIDB4MTAsIDB4ZmUsIDB4NmYsIDB4NjAsIDB4MDYsIDB4ZWUsIDB4ZjAsCi0gIDB4ZTUsIDB4MTYsIDB4NDIsIDB4MTMsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MjgsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsCi0gIDB4ZmYsIDB4ZTUsIDB4MTgsIDB4NTQsIDB4ODAsIDB4ZmUsIDB4NmYsIDB4NjAsIDB4MDYsIDB4ZWUsIDB4ZjAsIDB4ZTUsIDB4MTYsIDB4NDIsIDB4MTN9fSwKLSB7MHgwZGM2LCA2NCwgeyAweGU1LCAweDE1LCAweDI0LCAweDI5LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweGZmLCAweGU1LCAweDE4LCAweDU0LCAweDIwLAotICAweGZlLCAweDZmLCAweDYwLCAweDE1LCAweGVlLCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDMxLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LAotICAweDgzLCAweGUwLCAweDMwLCAweGU0LCAweDA0LCAweGU1LCAweDE2LCAweDQyLCAweDEzLCAweGU1LCAweDE1LCAweDI0LCAweDJhLCAweGY1LCAweDgyLCAweGU0LAotICAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweGZmLCAweGU1LCAweDE4LCAweDU0LCAweDQwLCAweGZlLCAweDZmLCAweDYwLCAweDE1LCAweGVlfX0sCi0gezB4MGUwNiwgNjQsIHsgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzMSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHgzMCwgMHhlNSwgMHgwNCwgMHhlNSwKLSAgMHgxNiwgMHg0MiwgMHgxMywgMHhlNSwgMHgxNSwgMHgyNCwgMHgzMCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlNCwgMHhmMCwKLSAgMHgyMiwgMHgzMCwgMHgwOSwgMHgwMywgMHgwMiwgMHgwZiwgMHgyNywgMHhlNSwgMHgyNCwgMHgxNCwgMHg2MCwgMHgyYSwgMHgxNCwgMHg2MCwgMHg0MSwgMHgxNCwKLSAgMHg2MCwgMHg1OCwgMHgxNCwgMHg2MCwgMHg2ZiwgMHgyNCwgMHgwNCwgMHg2MCwgMHgwMywgMHgwMiwgMHgwZSwgMHhlNSwgMHg3ZSwgMHg3YiwgMHg3Zn19LAotIHsweDBlNDYsIDY0LCB7IDB4YzAsIDB4NzUsIDB4MTQsIDB4N2IsIDB4NzUsIDB4MTUsIDB4YzAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MmUsIDB4ZjAsIDB4NzUsIDB4MTYsIDB4MDEsIDB4MTIsCi0gIDB4MTIsIDB4OWMsIDB4NzUsIDB4MjQsIDB4MDEsIDB4MjIsIDB4N2UsIDB4N2MsIDB4N2YsIDB4MDAsIDB4NzUsIDB4MTQsIDB4N2MsIDB4NzUsIDB4MTUsIDB4MDAsCi0gIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MmQsIDB4ZjAsIDB4NzUsIDB4MTYsIDB4MDIsIDB4MTIsIDB4MTIsIDB4OWMsIDB4NzUsIDB4MjQsIDB4MDIsIDB4MjIsCi0gIDB4N2UsIDB4N2MsIDB4N2YsIDB4NDAsIDB4NzUsIDB4MTQsIDB4N2MsIDB4NzUsIDB4MTUsIDB4NDAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MmJ9fSwKLSB7MHgwZTg2LCA2NCwgeyAweGYwLCAweDc1LCAweDE2LCAweDA0LCAweDEyLCAweDEyLCAweDljLCAweDc1LCAweDI0LCAweDAzLCAweDIyLCAweDdlLCAweDdjLCAweDdmLCAweDgwLCAweDc1LCAweDE0LAotICAweDdjLCAweDc1LCAweDE1LCAweDgwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDI3LCAweGYwLCAweDc1LCAweDE2LCAweDA4LCAweDEyLCAweDEyLCAweDljLAotICAweDc1LCAweDI0LCAweDA0LCAweDIyLCAweDMwLCAweDA0LCAweDMzLCAweGMyLCAweDA0LCAweDUzLCAweDEzLCAweGRmLCAweGU0LCAweGY1LCAweDE4LCAweDdlLAotICAweDAwLCAweDdiLCAweDAwLCAweDc0LCAweDJlLCAweDI1LCAweDE4LCAweGY5LCAweGVlLCAweDM0LCAweDAwLCAweGZhLCAweDEyLCAweDExLCAweGE2fX0sCi0gezB4MGVjNiwgNjQsIHsgMHhmZiwgMHg3NCwgMHg4MCwgMHgyNSwgMHgxOCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3YiwgMHhmNSwgMHg4MywgMHhlZiwgMHhmMCwgMHgwNSwgMHgxOCwgMHhlNSwKLSAgMHgxOCwgMHhiNCwgMHgwMywgMHhkYiwgMHg5MCwgMHg3ZiwgMHhjMywgMHg3NCwgMHgwMywgMHhmMCwgMHg3NSwgMHgyNCwgMHgwNSwgMHgyMiwgMHhlNSwgMHgzNiwKLSAgMHg2MCwgMHgzYiwgMHhkNSwgMHgzNiwgMHgwYSwgMHg1MywgMHgxMywgMHhlZiwgMHgzMCwgMHgwYSwgMHgwNCwgMHhkMiwgMHgwOSwgMHhjMiwgMHgwYSwgMHhlNCwKLSAgMHhmNSwgMHgxOCwgMHg3ZSwgMHgwMCwgMHg3YiwgMHgwMCwgMHg3NCwgMHgzNSwgMHgyNSwgMHgxOCwgMHhmOSwgMHhlZSwgMHgzNCwgMHgwMCwgMHhmYX19LAotIHsweDBmMDYsIDY0LCB7IDB4MTIsIDB4MTEsIDB4YTYsIDB4ZmYsIDB4NzQsIDB4ODAsIDB4MjUsIDB4MTgsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2IsIDB4ZjUsIDB4ODMsIDB4ZWYsIDB4ZjAsCi0gIDB4MDUsIDB4MTgsIDB4ZTUsIDB4MTgsIDB4YjQsIDB4MDMsIDB4ZGIsIDB4OTAsIDB4N2YsIDB4YzMsIDB4NzQsIDB4MDMsIDB4ZjAsIDB4ZTQsIDB4ZjUsIDB4MjQsCi0gIDB4MjIsIDB4ZTQsIDB4ZjUsIDB4MTksIDB4N2UsIDB4MDAsIDB4N2IsIDB4MDEsIDB4ZTUsIDB4MTUsIDB4MjUsIDB4MTksIDB4ZjksIDB4ZWUsIDB4MzUsIDB4MTQsCi0gIDB4ZmEsIDB4ZTQsIDB4MTIsIDB4MTEsIDB4ZWMsIDB4MDUsIDB4MTksIDB4ZTUsIDB4MTksIDB4YjQsIDB4M2MsIDB4ZTgsIDB4ZTUsIDB4MTUsIDB4MjR9fSwKLSB7MHgwZjQ2LCA2NCwgeyAweDM1LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweDc0LCAweDAxLCAweGYwLCAweDkwLCAweDc4LCAweDQxLCAweDc0LCAweGYzLCAweGYwLAotICAweGU1LCAweDE1LCAweDI0LCAweDM3LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweDc0LCAweDAzLCAweGYwLCAweDkwLCAweGMwLAotICAweDAwLCAweGYwLCAweDdmLCAweDBjLCAweGU0LCAweGZkLCAweDEyLCAweDE2LCAweDZiLCAweDdmLCAweDEwLCAweGU1LCAweDE1LCAweDI0LCAweDMzLCAweGY1LAotICAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGVmLCAweGYwLCAweDEyLCAweDE1LCAweGRiLCAweDkwLCAweDc4LCAweDQxLCAweDc0fX0sCi0gezB4MGY4NiwgNjQsIHsgMHhmMiwgMHhmMCwgMHg3ZiwgMHgwMSwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzNiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlZiwgMHhmMCwKLSAgMHg0NCwgMHgwNiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NCwgMHhmNCwgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzOSwKLSAgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHg3NCwgMHg4MCwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHgwZiwgMHhlNCwKLSAgMHhmZCwgMHgxMiwgMHgxNiwgMHg2YiwgMHhlNCwgMHhmZiwgMHg3ZSwgMHhhMywgMHhlNSwgMHgxNSwgMHgyNCwgMHgzMiwgMHhmNSwgMHg4MiwgMHhlNH19LAotIHsweDBmYzYsIDY0LCB7IDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZWUsIDB4ZjAsIDB4ZmQsIDB4MTIsIDB4MTYsIDB4NmIsIDB4OTAsIDB4NzgsIDB4NDEsIDB4NzQsIDB4ZjEsIDB4ZjAsIDB4OTAsCi0gIDB4YzAsIDB4MDAsIDB4ZTQsIDB4ZjAsIDB4N2YsIDB4MDUsIDB4N2QsIDB4N2YsIDB4MTIsIDB4MTYsIDB4NmIsIDB4N2YsIDB4MDEsIDB4MTIsIDB4MTUsIDB4NDMsCi0gIDB4N2YsIDB4MDMsIDB4N2QsIDB4MDcsIDB4MTIsIDB4MTYsIDB4NmIsIDB4MjIsIDB4NTMsIDB4MTMsIDB4M2YsIDB4OTAsIDB4N2IsIDB4ZjEsIDB4ZTAsIDB4MzAsCi0gIDB4ZTMsIDB4MTYsIDB4N2UsIDB4N2IsIDB4N2YsIDB4YzAsIDB4NzUsIDB4MTQsIDB4N2IsIDB4NzUsIDB4MTUsIDB4YzAsIDB4OTAsIDB4N2YsIDB4OTh9fSwKLSB7MHgxMDA2LCA2NCwgeyAweDc0LCAweDJlLCAweGYwLCAweDc1LCAweDE2LCAweDAxLCAweDEyLCAweDA4LCAweGQ3LCAweDkwLCAweDdjLCAweDMxLCAweGUwLCAweDMwLCAweGUzLCAweDE2LCAweDdlLAotICAweDdjLCAweDdmLCAweDAwLCAweDc1LCAweDE0LCAweDdjLCAweDc1LCAweDE1LCAweDAwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDJkLCAweGYwLCAweDc1LAotICAweDE2LCAweDAyLCAweDEyLCAweDA4LCAweGQ3LCAweDkwLCAweDdjLCAweDcxLCAweGUwLCAweDMwLCAweGUzLCAweDE2LCAweDdlLCAweDdjLCAweDdmLCAweDQwLAotICAweDc1LCAweDE0LCAweDdjLCAweDc1LCAweDE1LCAweDQwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDJiLCAweGYwLCAweDc1LCAweDE2LCAweDA0fX0sCi0gezB4MTA0NiwgNjQsIHsgMHgxMiwgMHgwOCwgMHhkNywgMHg5MCwgMHg3YywgMHhiMSwgMHhlMCwgMHgzMCwgMHhlMywgMHgxNiwgMHg3ZSwgMHg3YywgMHg3ZiwgMHg4MCwgMHg3NSwgMHgxNCwgMHg3YywKLSAgMHg3NSwgMHgxNSwgMHg4MCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgyNywgMHhmMCwgMHg3NSwgMHgxNiwgMHgwOCwgMHgxMiwgMHgwOCwgMHhkNywgMHgwNSwKLSAgMHgxMiwgMHhlNSwgMHgxMiwgMHg1NCwgMHgwZiwgMHhmNSwgMHgxNywgMHg3MCwgMHgwNCwgMHgxMiwgMHgxMSwgMHgxYywgMHgyMiwgMHhlNSwgMHgxNywgMHhiNCwKLSAgMHgwMSwgMHgwNCwgMHgxMiwgMHgwYywgMHg4YywgMHgyMiwgMHg5MCwgMHg3ZiwgMHhjMiwgMHhlMCwgMHgyMCwgMHhlMSwgMHgwOCwgMHhlNSwgMHgxM319LAotIHsweDEwODYsIDY0LCB7IDB4NjAsIDB4MDQsIDB4MTIsIDB4MGUsIDB4MjgsIDB4MjIsIDB4MTIsIDB4MGMsIDB4OGMsIDB4MjIsIDB4NzgsIDB4N2YsIDB4ZTQsIDB4ZjYsIDB4ZDgsIDB4ZmQsIDB4NzUsCi0gIDB4ODEsIDB4MzcsIDB4MDIsIDB4MTAsIDB4ZDcsIDB4MDIsIDB4MTIsIDB4MjQsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4ZjgsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4NDAsCi0gIDB4MDMsIDB4ZjYsIDB4ODAsIDB4MDEsIDB4ZjIsIDB4MDgsIDB4ZGYsIDB4ZjQsIDB4ODAsIDB4MjksIDB4ZTQsIDB4OTMsIDB4YTMsIDB4ZjgsIDB4NTQsIDB4MDcsCi0gIDB4MjQsIDB4MGMsIDB4YzgsIDB4YzMsIDB4MzMsIDB4YzQsIDB4NTQsIDB4MGYsIDB4NDQsIDB4MjAsIDB4YzgsIDB4ODMsIDB4NDAsIDB4MDQsIDB4ZjR9fSwKLSB7MHgxMGM2LCA2NCwgeyAweDU2LCAweDgwLCAweDAxLCAweDQ2LCAweGY2LCAweGRmLCAweGU0LCAweDgwLCAweDBiLCAweDAxLCAweDAyLCAweDA0LCAweDA4LCAweDEwLCAweDIwLCAweDQwLCAweDgwLAotICAweDkwLCAweDE4LCAweDQ1LCAweGU0LCAweDdlLCAweDAxLCAweDkzLCAweDYwLCAweGJjLCAweGEzLCAweGZmLCAweDU0LCAweDNmLCAweDMwLCAweGU1LCAweDA5LAotICAweDU0LCAweDFmLCAweGZlLCAweGU0LCAweDkzLCAweGEzLCAweDYwLCAweDAxLCAweDBlLCAweGNmLCAweDU0LCAweGMwLCAweDI1LCAweGUwLCAweDYwLCAweGE4LAotICAweDQwLCAweGI4LCAweGU0LCAweDkzLCAweGEzLCAweGZhLCAweGU0LCAweDkzLCAweGEzLCAweGY4LCAweGU0LCAweDkzLCAweGEzLCAweGM4LCAweGM1fX0sCi0gezB4MTEwNiwgNjQsIHsgMHg4MiwgMHhjOCwgMHhjYSwgMHhjNSwgMHg4MywgMHhjYSwgMHhmMCwgMHhhMywgMHhjOCwgMHhjNSwgMHg4MiwgMHhjOCwgMHhjYSwgMHhjNSwgMHg4MywgMHhjYSwgMHhkZiwKLSAgMHhlOSwgMHhkZSwgMHhlNywgMHg4MCwgMHhiZSwgMHg5MCwgMHg3ZiwgMHhkMiwgMHhlMCwgMHgzMCwgMHhlMSwgMHgwMywgMHgwMiwgMHgxMSwgMHhhNSwgMHhjMiwKLSAgMHgwOSwgMHg5MCwgMHg3YiwgMHg0MCwgMHhlMCwgMHgxNCwgMHg2MCwgMHgyNiwgMHgxNCwgMHg2MCwgMHgzYiwgMHgxNCwgMHg2MCwgMHg1MCwgMHgyNCwgMHg4MywKLSAgMHg2MCwgMHg2NCwgMHgyNCwgMHg4MCwgMHg3MCwgMHg2MywgMHg3ZSwgMHg3YiwgMHg3ZiwgMHhjMCwgMHg3NSwgMHgxNCwgMHg3YiwgMHg3NSwgMHgxNX19LAotIHsweDExNDYsIDY0LCB7IDB4YzAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MmUsIDB4ZjAsIDB4NzUsIDB4MTYsIDB4MDEsIDB4MTIsIDB4MDAsIDB4NDYsIDB4ODAsIDB4NGIsIDB4N2UsIDB4N2MsCi0gIDB4N2YsIDB4MDAsIDB4NzUsIDB4MTQsIDB4N2MsIDB4NzUsIDB4MTUsIDB4MDAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MmQsIDB4ZjAsIDB4NzUsIDB4MTYsCi0gIDB4MDIsIDB4MTIsIDB4MDAsIDB4NDYsIDB4ODAsIDB4MzMsIDB4N2UsIDB4N2MsIDB4N2YsIDB4NDAsIDB4NzUsIDB4MTQsIDB4N2MsIDB4NzUsIDB4MTUsIDB4NDAsCi0gIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MmIsIDB4ZjAsIDB4NzUsIDB4MTYsIDB4MDQsIDB4MTIsIDB4MDAsIDB4NDYsIDB4ODAsIDB4MWIsIDB4N2V9fSwKLSB7MHgxMTg2LCA2NCwgeyAweDdjLCAweDdmLCAweDgwLCAweDc1LCAweDE0LCAweDdjLCAweDc1LCAweDE1LCAweDgwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDI3LCAweGYwLCAweDc1LCAweDE2LAotICAweDA4LCAweDEyLCAweDAwLCAweDQ2LCAweDgwLCAweDAzLCAweDEyLCAweDE3LCAweDUxLCAweGU0LCAweDkwLCAweDdmLCAweGQzLCAweGYwLCAweDIyLCAweGJiLAotICAweDAxLCAweDA2LCAweDg5LCAweDgyLCAweDhhLCAweDgzLCAweGUwLCAweDIyLCAweDUwLCAweDAyLCAweGU3LCAweDIyLCAweGJiLCAweGZlLCAweDAyLCAweGUzLAotICAweDIyLCAweDg5LCAweDgyLCAweDhhLCAweDgzLCAweGU0LCAweDkzLCAweDIyLCAweGJiLCAweDAxLCAweDBjLCAweGU1LCAweDgyLCAweDI5LCAweGY1fX0sCi0gezB4MTFjNiwgNjQsIHsgMHg4MiwgMHhlNSwgMHg4MywgMHgzYSwgMHhmNSwgMHg4MywgMHhlMCwgMHgyMiwgMHg1MCwgMHgwNiwgMHhlOSwgMHgyNSwgMHg4MiwgMHhmOCwgMHhlNiwgMHgyMiwgMHhiYiwKLSAgMHhmZSwgMHgwNiwgMHhlOSwgMHgyNSwgMHg4MiwgMHhmOCwgMHhlMiwgMHgyMiwgMHhlNSwgMHg4MiwgMHgyOSwgMHhmNSwgMHg4MiwgMHhlNSwgMHg4MywgMHgzYSwKLSAgMHhmNSwgMHg4MywgMHhlNCwgMHg5MywgMHgyMiwgMHhiYiwgMHgwMSwgMHgwNiwgMHg4OSwgMHg4MiwgMHg4YSwgMHg4MywgMHhmMCwgMHgyMiwgMHg1MCwgMHgwMiwKLSAgMHhmNywgMHgyMiwgMHhiYiwgMHhmZSwgMHgwMSwgMHhmMywgMHgyMiwgMHhkMCwgMHg4MywgMHhkMCwgMHg4MiwgMHhmOCwgMHhlNCwgMHg5MywgMHg3MH19LAotIHsweDEyMDYsIDY0LCB7IDB4MTIsIDB4NzQsIDB4MDEsIDB4OTMsIDB4NzAsIDB4MGQsIDB4YTMsIDB4YTMsIDB4OTMsIDB4ZjgsIDB4NzQsIDB4MDEsIDB4OTMsIDB4ZjUsIDB4ODIsIDB4ODgsIDB4ODMsCi0gIDB4ZTQsIDB4NzMsIDB4NzQsIDB4MDIsIDB4OTMsIDB4NjgsIDB4NjAsIDB4ZWYsIDB4YTMsIDB4YTMsIDB4YTMsIDB4ODAsIDB4ZGYsIDB4OTAsIDB4N2YsIDB4YWUsCi0gIDB4ZTAsIDB4ZmYsIDB4ZDMsIDB4OTIsIDB4MDAsIDB4ZTQsIDB4MzMsIDB4ZmUsIDB4ZWYsIDB4NGUsIDB4ZjAsIDB4ZDIsIDB4ZTgsIDB4NDMsIDB4ZDgsIDB4MjAsCi0gIDB4OTAsIDB4N2YsIDB4ZGUsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZGYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YWIsIDB4NzQsIDB4ZmZ9fSwKLSB7MHgxMjQ2LCA2NCwgeyAweGYwLCAweDkwLCAweDdmLCAweGE5LCAweGYwLCAweDkwLCAweDdmLCAweGFhLCAweGYwLCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGFmLCAweDc0LCAweDAxLAotICAweGYwLCAweDkwLCAweDdmLCAweGFlLCAweDc0LCAweDBkLCAweGYwLCAweGQyLCAweGFmLCAweGQyLCAweDBiLCAweDEyLCAweDE4LCAweDA5LCAweGMyLCAweDAxLAotICAweGU0LCAweGY1LCAweDJiLCAweGY1LCAweDMxLCAweGMyLCAweDA3LCAweGMyLCAweDAyLCAweDc1LCAweDI5LCAweDBmLCAweDkwLCAweDdmLCAweGQ4LCAweGUwLAotICAweDY1LCAweDI2LCAweDYwLCAweDA2LCAweDc1LCAweDMyLCAweDBmLCAweGUwLCAweGY1LCAweDI2LCAweDMwLCAweDAyLCAweDAzLCAweDEyLCAweDBmfX0sCi0gezB4MTI4NiwgNjQsIHsgMHhlZiwgMHgzMCwgMHgwMSwgMHgwNywgMHhjMiwgMHgwMSwgMHgxMiwgMHgwNiwgMHgzZiwgMHg4MCwgMHhlMiwgMHgzMCwgMHgwOCwgMHhkZiwgMHhjMiwgMHgwOCwgMHgxMiwKLSAgMHgxOCwgMHgyYSwgMHg4MCwgMHhkOCwgMHgyMiwgMHhlNSwgMHgxMywgMHg1NSwgMHgxNiwgMHg2MCwgMHg2YSwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzYSwgMHhmNSwKLSAgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg3MCwgMHg1YywgMHhlNSwgMHgxNiwgMHhmNCwgMHg1MiwgMHgxMywgMHhlNSwgMHgxNSwKLSAgMHgyNCwgMHgyNiwgMHhmZiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmZSwgMHhlNCwgMHhmZCwgMHgwZiwgMHhlZiwgMHhhYSwgMHgwNiwgMHg3MCwgMHgwMX19LAotIHsweDEyYzYsIDY0LCB7IDB4MGUsIDB4MTQsIDB4ZjUsIDB4ODIsIDB4OGEsIDB4ODMsIDB4ZTAsIDB4ZmMsIDB4NzQsIDB4ODAsIDB4MmQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2IsIDB4ZjUsCi0gIDB4ODMsIDB4ZWMsIDB4ZjAsIDB4MGQsIDB4YmQsIDB4MGIsIDB4ZTIsIDB4OTAsIDB4N2YsIDB4YzMsIDB4NzQsIDB4MGIsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsCi0gIDB4M2EsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4NzQsIDB4MTAsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MmUsIDB4ZjUsCi0gIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTQsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTR9fSwKLSB7MHgxMzA2LCA2NCwgeyAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGU0LCAweGYwLCAweDIyLCAweGU1LCAweDI4LCAweDQ1LCAweDI3LCAweDYwLCAweDU3LCAweGFlLCAweDI3LCAweGFmLCAweDI4LAotICAweGQzLCAweGVmLCAweDk0LCAweDQwLCAweGVlLCAweDk0LCAweDAwLCAweDQwLCAweDA0LCAweDdlLCAweDAwLCAweDdmLCAweDQwLCAweGMzLCAweGU1LCAweDI4LAotICAweDlmLCAweGY1LCAweDI4LCAweGU1LCAweDI3LCAweDllLCAweGY1LCAweDI3LCAweGU0LCAweGZkLCAweGVkLCAweGMzLCAweDlmLCAweGU0LCAweDllLCAweDUwLAotICAweDFmLCAweDg1LCAweDM0LCAweDgyLCAweDg1LCAweDMzLCAweDgzLCAweGUwLCAweGZjLCAweDc0LCAweDAwLCAweDJkLCAweGY1LCAweDgyLCAweGU0fX0sCi0gezB4MTM0NiwgNjQsIHsgMHgzNCwgMHg3ZiwgMHhmNSwgMHg4MywgMHhlYywgMHhmMCwgMHgwZCwgMHgwNSwgMHgzNCwgMHhlNSwgMHgzNCwgMHg3MCwgMHgwMiwgMHgwNSwgMHgzMywgMHg4MCwgMHhkYSwKLSAgMHg5MCwgMHg3ZiwgMHhhOSwgMHg3NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhYywgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwKLSAgMHhlZiwgMHhmMCwgMHgyMiwgMHg5MCwgMHg3ZiwgMHhhYywgMHhlMCwgMHg1NCwgMHhmZSwgMHhmMCwgMHhlNCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHhmMCwgMHgyMiwKLSAgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwZiwgMHhmMCwgMHhlNCwgMHg5MCwgMHg3OCwgMHg0YSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5NCwgMHhmMH19LAotIHsweDEzODYsIDY0LCB7IDB4OTAsIDB4N2YsIDB4OWQsIDB4NzQsIDB4ZmYsIDB4ZjAsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4OTcsIDB4ZjAsIDB4OTAsIDB4NzgsIDB4NDEsIDB4ZjAsIDB4OTAsIDB4N2YsCi0gIDB4OTMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWMsIDB4NzQsIDB4ZmYsIDB4ZjAsIDB4MzAsIDB4MDAsIDB4MDcsIDB4ZTUsIDB4MjksIDB4NTQsIDB4MGYsIDB4ZmYsCi0gIDB4ODAsIDB4MDIsIDB4N2YsIDB4MDAsIDB4OTAsIDB4N2YsIDB4OTYsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MWYsIDB4ZjAsIDB4ZTQsCi0gIDB4OTAsIDB4N2YsIDB4OTUsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWUsIDB4NzQsIDB4M2YsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4ZGZ9fSwKLSB7MHgxM2M2LCA2NCwgeyAweGYwLCAweDkwLCAweDdmLCAweDkyLCAweGUwLCAweDU0LCAweGZkLCAweGYwLCAweDIyLCAweDhmLCAweDE5LCAweDA1LCAweDJkLCAweGU1LCAweDJkLCAweGFlLCAweDJjLAotICAweDcwLCAweDAyLCAweDA1LCAweDJjLCAweDE0LCAweGY1LCAweDgyLCAweDhlLCAweDgzLCAweGU1LCAweDE5LCAweGYwLCAweDEyLCAweDE4LCAweGVmLCAweDA1LAotICAweDJkLCAweGU1LCAweDJkLCAweGFjLCAweDJjLCAweDcwLCAweDAyLCAweDA1LCAweDJjLCAweDE0LCAweGY1LCAweDgyLCAweDhjLCAweDgzLCAweGVmLCAweGYwLAotICAweDE1LCAweDIzLCAweGU1LCAweDIzLCAweDYwLCAweDFmLCAweGU1LCAweDE1LCAweDI0LCAweDM4LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0fX0sCi0gezB4MTQwNiwgNjQsIHsgMHhmNSwgMHg4MywgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhlMCwgMHhmZSwgMHgxMiwgMHgxOCwgMHhkMywgMHg4ZiwgMHgxOSwgMHhlZSwgMHg0ZiwgMHhkMCwgMHg4MiwKLSAgMHhkMCwgMHg4MywgMHhmMCwgMHg4MCwgMHhiNSwgMHgyMiwgMHg5MCwgMHg3OCwgMHg0MSwgMHhlNSwgMHgxMSwgMHhmMCwgMHg5MCwgMHg3OCwgMHg0ZiwgMHg3NCwKLSAgMHhjMCwgMHhmMCwgMHhlNCwgMHg5MCwgMHg3OCwgMHg1MCwgMHhmMCwgMHhlNSwgMHgyYywgMHg5MCwgMHg3OCwgMHg1MSwgMHhmMCwgMHhhZSwgMHgyYywgMHhlNSwKLSAgMHgyZCwgMHg5MCwgMHg3OCwgMHg1MiwgMHhmMCwgMHg5MCwgMHg3OCwgMHg1NCwgMHhlNSwgMHgyMywgMHhmMCwgMHg5MCwgMHg3OCwgMHg1NywgMHg3NH19LAotIHsweDE0NDYsIDY0LCB7IDB4MDQsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZTIsIDB4ZTAsIDB4NDQsIDB4MTAsIDB4ZjAsIDB4ZTAsIDB4NTQsIDB4ZjcsIDB4ZjAsIDB4ZTQsIDB4OTAsIDB4NzgsIDB4NTUsCi0gIDB4ZjAsIDB4OTAsIDB4NzgsIDB4NTUsIDB4ZTAsIDB4NjAsIDB4ZmEsIDB4MjIsIDB4OGYsIDB4MTksIDB4ZTQsIDB4ZjUsIDB4MWEsIDB4NzUsIDB4MWIsIDB4ZmYsCi0gIDB4NzUsIDB4MWMsIDB4MTksIDB4NzUsIDB4MWQsIDB4ODYsIDB4YWIsIDB4MWIsIDB4YWEsIDB4MWMsIDB4YTksIDB4MWQsIDB4OTAsIDB4MDAsIDB4MDEsIDB4MTIsCi0gIDB4MTEsIDB4YmYsIDB4YjQsIDB4MDMsIDB4MWQsIDB4YWYsIDB4MWEsIDB4MDUsIDB4MWEsIDB4ZWYsIDB4YjUsIDB4MTksIDB4MDEsIDB4MjIsIDB4MTJ9fSwKLSB7MHgxNDg2LCA2NCwgeyAweDExLCAweGE2LCAweDdlLCAweDAwLCAweDI5LCAweGZmLCAweGVlLCAweDNhLCAweGE5LCAweDA3LCAweDc1LCAweDFiLCAweGZmLCAweGY1LCAweDFjLCAweDg5LCAweDFkLAotICAweDgwLCAweGQ0LCAweDdiLCAweDAwLCAweDdhLCAweDAwLCAweDc5LCAweDAwLCAweDIyLCAweDkwLCAweDc4LCAweDQxLCAweGU1LCAweDExLCAweGYwLCAweGU1LAotICAweDJjLCAweDkwLCAweDc4LCAweDRmLCAweGYwLCAweGFlLCAweDJjLCAweGU1LCAweDJkLCAweDkwLCAweDc4LCAweDUwLCAweGYwLCAweDkwLCAweDc4LCAweDUxLAotICAweDc0LCAweGMwLCAweGYwLCAweGU0LCAweDkwLCAweDc4LCAweDUyLCAweGYwLCAweDkwLCAweDc4LCAweDU0LCAweGU1LCAweDIzLCAweGYwLCAweDkwfX0sCi0gezB4MTRjNiwgNjQsIHsgMHg3OCwgMHg1NywgMHg3NCwgMHgwNCwgMHhmMCwgMHhlNCwgMHg5MCwgMHg3OCwgMHg1NSwgMHhmMCwgMHg5MCwgMHg3OCwgMHg1NSwgMHhlMCwgMHg2MCwgMHhmYSwgMHgyMiwKLSAgMHhlNSwgMHgxNSwgMHgyNCwgMHgwNCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHgxNCwgMHg2MCwgMHgwZiwgMHgxNCwKLSAgMHg2MCwgMHgxMywgMHgxNCwgMHg2MCwgMHgxNywgMHg4MCwgMHgwMCwgMHg5MCwgMHg3ZiwgMHhjNywgMHhlZiwgMHhmMCwgMHg4MCwgMHgxMywgMHg5MCwgMHg3ZiwKLSAgMHhjOSwgMHhlZiwgMHhmMCwgMHg4MCwgMHgwYywgMHg5MCwgMHg3ZiwgMHhjYiwgMHhlZiwgMHhmMCwgMHg4MCwgMHgwNSwgMHg5MCwgMHg3ZiwgMHhjZH19LAotIHsweDE1MDYsIDY0LCB7IDB4ZWYsIDB4ZjAsIDB4ZTUsIDB4MTYsIDB4NDIsIDB4MmEsIDB4MjIsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MDQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsCi0gIDB4ODMsIDB4ZTAsIDB4MTQsIDB4NjAsIDB4MGYsIDB4MTQsIDB4NjAsIDB4MTMsIDB4MTQsIDB4NjAsIDB4MTcsIDB4ODAsIDB4MDAsIDB4OTAsIDB4N2YsIDB4YjcsCi0gIDB4ZWYsIDB4ZjAsIDB4ODAsIDB4MTMsIDB4OTAsIDB4N2YsIDB4YjksIDB4ZWYsIDB4ZjAsIDB4ODAsIDB4MGMsIDB4OTAsIDB4N2YsIDB4YmIsIDB4ZWYsIDB4ZjAsCi0gIDB4ODAsIDB4MDUsIDB4OTAsIDB4N2YsIDB4YmQsIDB4ZWYsIDB4ZjAsIDB4ZTUsIDB4MTYsIDB4NDIsIDB4MmEsIDB4MjIsIDB4YWUsIDB4MDcsIDB4ZTR9fSwKLSB7MHgxNTQ2LCA2NCwgeyAweGZmLCAweGU1LCAweDE1LCAweDI0LCAweDMyLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDU0LCAweDdmLCAweGZkLCAweDEyLAotICAweDE2LCAweDZiLCAweDkwLCAweDc4LCAweDQxLCAweDc0LCAweGYxLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVlLCAweGYwLCAweGU0LCAweGU1LCAweDE1LAotICAweDI0LCAweDMyLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDQ0LCAweDgwLCAweGZkLCAweDEyLCAweDE2LCAweDZiLAotICAweDIyLCAweGMwLCAweGUwLCAweGMwLCAweGYwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGMwLCAweDg1LCAweGMwLCAweDg0LCAweGMwLCAweDg2fX0sCi0gezB4MTU4NiwgNjQsIHsgMHg3NSwgMHg4NiwgMHgwMCwgMHhjMCwgMHhkMCwgMHg3NSwgMHhkMCwgMHgwOCwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhOSwgMHg3NCwgMHgwMSwgMHhmMCwKLSAgMHgxMiwgMHgxMywgMHgwZCwgMHhkMCwgMHhkMCwgMHhkMCwgMHg4NiwgMHhkMCwgMHg4NCwgMHhkMCwgMHg4NSwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwKLSAgMHhmMCwgMHhkMCwgMHhlMCwgMHgzMiwgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NCwgMHhmMywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHhiZiwgMHhmMCwKLSAgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NCwgMHhmMSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZiwgMHhmMCwgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NH19LAotIHsweDE1YzYsIDY0LCB7IDB4ZjMsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzcsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4N2YsIDB4OTAsCi0gIDB4YzAsIDB4MDAsIDB4ZjAsIDB4MjIsIDB4OTAsIDB4NzgsIDB4NDEsIDB4NzQsIDB4ZjMsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4YmYsIDB4ZjAsCi0gIDB4OTAsIDB4NzgsIDB4NDEsIDB4NzQsIDB4ZjIsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4NzgsIDB4NDEsIDB4NzQsIDB4ZjMsCi0gIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzcsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4N2Z9fSwKLSB7MHgxNjA2LCA2NCwgeyAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDIyLCAweDkwLCAweDc4LCAweDQxLCAweDc0LCAweGYzLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweDc0LCAweGJmLCAweGYwLAotICAweDkwLCAweDc4LCAweDQxLCAweDc0LCAweGY0LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVmLCAweGYwLCAweDkwLCAweDc4LCAweDQxLCAweDc0LCAweGYzLAotICAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDM3LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDU0LCAweDdmLCAweDkwLAotICAweGMwLCAweDAwLCAweGYwLCAweDIyLCAweDkwLCAweDc4LCAweDQxLCAweDc0LCAweGYzLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweDc0LCAweGJmfX0sCi0gezB4MTY0NiwgNjQsIHsgMHhmMCwgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NCwgMHhmNiwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZiwgMHhmMCwgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NCwgMHhmMywKLSAgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzNywgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg1NCwgMHg3ZiwgMHg5MCwKLSAgMHhjMCwgMHgwMCwgMHhmMCwgMHgyMiwgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NCwgMHhmMywgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzNywgMHhmNSwgMHg4MiwKLSAgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHg5MCwgMHg3OCwgMHg0MX19LAotIHsweDE2ODYsIDY0LCB7IDB4NzQsIDB4ZjcsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4NzgsIDB4NDEsIDB4NzQsIDB4ZjUsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsCi0gIDB4ZWQsIDB4ZjAsIDB4MjIsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MDQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MTQsCi0gIDB4NjAsIDB4MGUsIDB4MTQsIDB4NjAsIDB4MTEsIDB4MTQsIDB4NjAsIDB4MTQsIDB4ODAsIDB4MDAsIDB4OTAsIDB4N2YsIDB4YzYsIDB4ZTAsIDB4ZmYsIDB4MjIsCi0gIDB4OTAsIDB4N2YsIDB4YzgsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4Y2EsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4Y2N9fSwKLSB7MHgxNmM2LCA2NCwgeyAweGUwLCAweGZmLCAweDIyLCAweGU1LCAweDE1LCAweDI0LCAweDA0LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDE0LCAweDYwLAotICAweDBlLCAweDE0LCAweDYwLCAweDExLCAweDE0LCAweDYwLCAweDE0LCAweDgwLCAweDAwLCAweDkwLCAweDdmLCAweGI2LCAweGUwLCAweGZmLCAweDIyLCAweDkwLAotICAweDdmLCAweGI4LCAweGUwLCAweGZmLCAweDIyLCAweDkwLCAweDdmLCAweGJhLCAweGUwLCAweGZmLCAweDIyLCAweDkwLCAweDdmLCAweGJjLCAweGUwLCAweGZmLAotICAweDIyLCAweGU1LCAweDE1LCAweDI0LCAweDA0LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDE0LCAweDYwfX0sCi0gezB4MTcwNiwgNjQsIHsgMHgwZSwgMHgxNCwgMHg2MCwgMHgxMSwgMHgxNCwgMHg2MCwgMHgxNCwgMHg4MCwgMHgwMCwgMHg5MCwgMHg3ZiwgMHhjNywgMHhlMCwgMHhmZiwgMHgyMiwgMHg5MCwgMHg3ZiwKLSAgMHhjOSwgMHhlMCwgMHhmZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHhjYiwgMHhlMCwgMHhmZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHhjZCwgMHhlMCwgMHhmZiwgMHgyMiwKLSAgMHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhjMCwgMHg4NSwgMHhjMCwgMHg4NCwgMHhjMCwgMHg4NiwgMHg3NSwgMHg4NiwgMHgwMCwgMHg5MCwKLSAgMHg3ZiwgMHhjNCwgMHhlNCwgMHhmMCwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhYiwgMHg3NCwgMHgwNCwgMHhmMCwgMHhkMCwgMHg4Nn19LAotIHsweDE3NDYsIDY0LCB7IDB4ZDAsIDB4ODQsIDB4ZDAsIDB4ODUsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzIsIDB4OTAsIDB4N2IsIDB4NDEsIDB4ZTAsIDB4ZjUsIDB4MzYsCi0gIDB4NDMsIDB4MTMsIDB4MTAsIDB4YTMsIDB4ZTAsIDB4NjAsIDB4MDksIDB4OTAsIDB4N2YsIDB4ZDcsIDB4NzQsIDB4MTcsIDB4ZjAsIDB4NzQsIDB4MzcsIDB4ZjAsCi0gIDB4OTAsIDB4N2IsIDB4NDMsIDB4ZTAsIDB4ZjUsIDB4MzcsIDB4YTMsIDB4ZTAsIDB4NTQsIDB4ZjAsIDB4ZjUsIDB4MjksIDB4ZTAsIDB4NjAsIDB4MDIsIDB4ZDIsCi0gIDB4MGEsIDB4MjIsIDB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ODUsIDB4YzAsIDB4ODQsIDB4YzAsIDB4ODYsIDB4NzV9fSwKLSB7MHgxNzg2LCA2NCwgeyAweDg2LCAweDAwLCAweGQyLCAweDAxLCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGFiLCAweDc0LCAweDAxLCAweGYwLCAweGQwLCAweDg2LCAweGQwLCAweDg0LAotICAweGQwLCAweDg1LCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGUwLCAweDMyLCAweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGMwLAotICAweDg1LCAweGMwLCAweDg0LCAweGMwLCAweDg2LCAweDc1LCAweDg2LCAweDAwLCAweGQyLCAweDA4LCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGFiLAotICAweDc0LCAweDA4LCAweGYwLCAweGQwLCAweDg2LCAweGQwLCAweDg0LCAweGQwLCAweDg1LCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGUwfX0sCi0gezB4MTdjNiwgNjQsIHsgMHgzMiwgMHgxMiwgMHgxOCwgMHhiNywgMHhhZSwgMHgwNywgMHgxMiwgMHgxOCwgMHhiNywgMHhhZCwgMHgwNywgMHhlZSwgMHg2ZCwgMHg2MCwgMHgxMCwgMHgxMiwgMHgxOCwKLSAgMHhiNywgMHhhZSwgMHgwNywgMHhlZSwgMHg2ZCwgMHg2MCwgMHgwNywgMHgxMiwgMHgxOCwgMHhiNywgMHhhZCwgMHgwNywgMHg4MCwgMHhlYywgMHhhZiwgMHgwNiwKLSAgMHgyMiwgMHg3NCwgMHgwMCwgMHhmNSwgMHg4NiwgMHg5MCwgMHhmZCwgMHhhNSwgMHg3YywgMHgwNSwgMHhhMywgMHhlNSwgMHg4MiwgMHg0NSwgMHg4MywgMHg3MCwKLSAgMHhmOSwgMHgyMiwgMHg5MCwgMHg3ZiwgMHhkNiwgMHhlMCwgMHg0NCwgMHg4MCwgMHhmMCwgMHg0MywgMHg4NywgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE4MDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MjIsIDB4OTAsIDB4N2YsIDB4ZDYsIDB4ZTAsIDB4NDQsIDB4MDQsIDB4ZjAsIDB4ZTAsIDB4NDQsIDB4MDgsIDB4ZjAsIDB4MzAsIDB4MGIsIDB4MDQsCi0gIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4N2YsIDB4ZjQsIDB4N2UsIDB4MDEsIDB4MTIsIDB4MTgsIDB4NjAsIDB4OTAsIDB4N2YsIDB4ZDYsIDB4ZTAsIDB4NTQsCi0gIDB4ZjcsIDB4ZjAsIDB4MjIsIDB4MTIsIDB4MTMsIDB4NzcsIDB4MTIsIDB4MTcsIDB4ZjksIDB4OTAsIDB4N2YsIDB4ZDYsIDB4ZTAsIDB4MzAsIDB4ZTcsIDB4MGEsCi0gIDB4N2YsIDB4MDUsIDB4N2UsIDB4MDAsIDB4MTIsIDB4MTgsIDB4NjAsIDB4MTIsIDB4MTgsIDB4OTMsIDB4MTIsIDB4MGEsIDB4Y2UsIDB4MjIsIDB4MDN9fSwKLSB7MHgxODQ2LCA2NCwgeyAweDM1LCAweDgwLCAweDAwLCAweDAwLCAweDAzLCAweDJlLCAweDgxLCAweDAwLCAweDAwLCAweGMxLCAweDg1LCAweGMxLCAweDgxLCAweGMxLCAweDA4LCAweGMxLCAweDAwLAotICAweGMxLCAweDA2LCAweDAxLCAweDIyLCAweDAwLCAweDAxLCAweDI0LCAweDAwLCAweDAwLCAweDhlLCAweDE3LCAweDhmLCAweDE4LCAweGU1LCAweDE4LCAweDE1LAotICAweDE4LCAweGFlLCAweDE3LCAweDcwLCAweDAyLCAweDE1LCAweDE3LCAweDRlLCAweDYwLCAweDA4LCAweDEyLCAweDE3LCAweGU4LCAweDEyLCAweDE3LCAweGU4LAotICAweDgwLCAweGViLCAweDIyLCAweGU1LCAweDE1LCAweDI0LCAweDA0LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwfX0sCi0gezB4MTg4NiwgNjQsIHsgMHgwNCwgMHhmZiwgMHg0NCwgMHgxMCwgMHg5MCwgMHg3ZiwgMHhkNywgMHhmMCwgMHhlZiwgMHg0NCwgMHgzMCwgMHhmMCwgMHgyMiwgMHg5MCwgMHg3ZiwgMHhkNiwgMHhlMCwKLSAgMHg0NCwgMHgwMSwgMHhmMCwgMHg3ZiwgMHgwZCwgMHg3ZSwgMHgwMCwgMHgxMiwgMHgxOCwgMHg2MCwgMHg5MCwgMHg3ZiwgMHhkNiwgMHhlMCwgMHg1NCwgMHhmZSwKLSAgMHhmMCwgMHgyMiwgMHhlNSwgMHgxMSwgMHgyNCwgMHgwMiwgMHg5MCwgMHg3OCwgMHg0MSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwKLSAgMHhlNSwgMHgxMSwgMHgyNCwgMHgwMywgMHg5MCwgMHg3OCwgMHg0MSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwgMHhlNX19LAotIHsweDE4YzYsIDY0LCB7IDB4MTEsIDB4MjQsIDB4MDQsIDB4OTAsIDB4NzgsIDB4NDEsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4ZTUsIDB4MTEsIDB4MjQsIDB4MDUsCi0gIDB4OTAsIDB4NzgsIDB4NDEsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4ZTUsIDB4MTEsIDB4MjQsIDB4MDYsIDB4OTAsIDB4NzgsCi0gIDB4NDEsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4OTAsIDB4NzgsIDB4NDEsIDB4ZTUsIDB4MTEsIDB4ZjAsIDB4OTAsIDB4YzAsCi0gIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4NTMsIDB4ZDgsIDB4ZWYsIDB4MzIsIDB4MDAsIDB4MTIsIDB4MDEsIDB4MTAsIDB4MDEsIDB4ZmYsIDB4ZmZ9fSwKLSB7MHgxOTA2LCA2NCwgeyAweGZmLCAweDQwLCAweGNkLCAweDA2LCAweDJhLCAweDAxLCAweDAwLCAweDAwLCAweDAxLCAweDAyLCAweDAwLCAweDA0LCAweDA5LCAweDAyLCAweDc0LCAweDAwLCAweDAxLAotICAweDAxLCAweDAwLCAweGEwLCAweDMyLCAweDA5LCAweDA0LCAweDAwLCAweDAwLCAweDBlLCAweGZmLCAweDAwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDAxLAotICAweDAyLCAweDQwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDAyLCAweDAyLCAweDQwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDAzLCAweDAyLCAweDQwLAotICAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDA0LCAweDAyLCAweDQwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDA1LCAweDAyLCAweDQwLCAweDAwfX0sCi0gezB4MTk0NiwgNjQsIHsgMHgwMCwgMHgwNywgMHgwNSwgMHgwNiwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwNywgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwKLSAgMHg4MSwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMSwgMHgwNywgMHgwNSwgMHg4MiwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMSwgMHgwNywgMHgwNSwgMHg4MywgMHgwMiwKLSAgMHg0MCwgMHgwMCwgMHgwMSwgMHgwNywgMHgwNSwgMHg4NCwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMSwgMHgwNywgMHgwNSwgMHg4NSwgMHgwMiwgMHg0MCwgMHgwMCwKLSAgMHgwMSwgMHgwNywgMHgwNSwgMHg4NiwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMSwgMHgwNywgMHgwNSwgMHg4NywgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMX19LAotIHsweDE5ODYsIDY0LCB7IDB4MDQsIDB4MDMsIDB4MDksIDB4MDQsIDB4NDgsIDB4MDMsIDB4NGIsIDB4MDAsIDB4NjUsIDB4MDAsIDB4NzksIDB4MDAsIDB4NzMsIDB4MDAsIDB4NzAsIDB4MDAsIDB4NjEsCi0gIDB4MDAsIDB4NmUsIDB4MDAsIDB4MmMsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NjEsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NjQsIDB4MDAsIDB4NjksIDB4MDAsIDB4NzYsCi0gIDB4MDAsIDB4NjksIDB4MDAsIDB4NzMsIDB4MDAsIDB4NjksIDB4MDAsIDB4NmYsIDB4MDAsIDB4NmUsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NmYsIDB4MDAsIDB4NjYsCi0gIDB4MDAsIDB4MjAsIDB4MDAsIDB4NDksIDB4MDAsIDB4NmUsIDB4MDAsIDB4NmUsIDB4MDAsIDB4NmYsIDB4MDAsIDB4NTMsIDB4MDAsIDB4NzksIDB4MDB9fSwKLSB7MHgxOWM2LCA2NCwgeyAweDczLCAweDAwLCAweDIwLCAweDAwLCAweDQ5LCAweDAwLCAweDZlLCAweDAwLCAweDYzLCAweDAwLCAweDJlLCAweDAwLCAweDI0LCAweDAzLCAweDRiLCAweDAwLCAweDY1LAotICAweDAwLCAweDc5LCAweDAwLCAweDczLCAweDAwLCAweDcwLCAweDAwLCAweDYxLCAweDAwLCAweDZlLCAweDAwLCAweDIwLCAweDAwLCAweDU1LCAweDAwLCAweDUzLAotICAweDAwLCAweDQxLCAweDAwLCAweDJkLCAweDAwLCAweDM0LCAweDAwLCAweDM5LCAweDAwLCAweDU3LCAweDAwLCAweDRjLCAweDAwLCAweDQzLCAweDAwLCAweDIyLAotICAweDAzLCAweDU1LCAweDAwLCAweDUzLCAweDAwLCAweDQxLCAweDAwLCAweDJkLCAweDAwLCAweDM2LCAweDAwLCAweDM1LCAweDAwLCAweDIwLCAweDAwfX0sCi0gezB4MWEwNiwgNjQsIHsgMHgzMiwgMHgwMCwgMHgzMCwgMHgwMCwgMHgzMCwgMHgwMCwgMHgzMywgMHgwMCwgMHg2YSwgMHgwMCwgMHg2MSwgMHgwMCwgMHg2ZSwgMHgwMCwgMHgzMywgMHgwMCwgMHgzMSwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDFhNDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxYTg2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MWFjNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMiwgMHgxNywgMHg3OSwgMHgwMCwgMHgwMiwgMHgxYn19LAotIHsweDFiMDYsIDIxLCB7IDB4MDQsIDB4MDAsIDB4MDIsIDB4MTcsIDB4MjcsIDB4MDAsIDB4MDIsIDB4MTcsIDB4YTAsIDB4MDAsIDB4MDIsIDB4MWIsIDB4MTAsIDB4MDAsIDB4MDIsIDB4MWIsIDB4MTQsCi0gIDB4MDAsIDB4MDIsIDB4MTUsIDB4Nzh9fSwKLSB7MHhmZmZmLCAgMCwgeyAweDAwfX0sCi19OwotCi0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL3NlcmlhbC90aV9md18zNDEwLmggYi9kcml2ZXJzL3VzYi9zZXJpYWwvdGlfZndfMzQxMC5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3MWU4ODU3Li4wMDAwMDAwCi0tLSBhL2RyaXZlcnMvdXNiL3NlcmlhbC90aV9md18zNDEwLmgKKysrIC9kZXYvbnVsbApAQCAtMSw4ODUgKzAsMCBAQAotLyogdmk6IHRzPTggc3c9OAotICoKLSAqIFRJIDM0MTAgVVNCIFNlcmlhbCBEcml2ZXIgRmlybXdhcmUgSGVhZGVyCi0gKgotICogQ29weXJpZ2h0IChDKSAyMDA0IFRleGFzIEluc3RydW1lbnRzCi0gKgotICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKLSAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci0gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgotICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqLwotCi0jaWZuZGVmIF9USV9GV18zNDEwX0hfCi0jZGVmaW5lIF9USV9GV18zNDEwX0hfCi0KLS8qIGZpcm13YXJlIDkvMTAvMDQgRlczNDEwX1NwZWNpYWxfU3RhcnRXZG9nT25TdGFydFBvcnQgKi8KLQotc3RhdGljIHVuc2lnbmVkIGNoYXIgdGlfZndfMzQxMFtdID0gewotMHhDMiwgMHgzNSwJLyogZmlybXdhcmUgaW1hZ2UgbGVuZ3RoIGV4Y2x1ZGluZyBoZWFkZXIsIGxpdHRsZSBlbmRpYW4gKi8KLTB4MDAsIAkJLyogcGxhY2Vob2xkZXIgZm9yIGNoZWNrc3VtICovCi0KLTB4MDIsMHgwMCwweDFlLDB4MDIsMHgxYSwweGRiLDB4ZmYsMHhmZiwweGZmLDB4ZmYsMHhmZiwweDAyLDB4MzIsMHhjYiwweGZmLDB4ZmYsCi0weGZmLDB4ZmYsMHhmZiwweGZmLDB4ZmYsMHhmZiwweGZmLDB4ZmYsMHhmZiwweGZmLDB4ZmYsMHgwMiwweDMzLDB4NzYsMHg3NSwweDgxLAotMHhjZSwweDkwLDB4ZmQsMHhlOCwweDg1LDB4ODMsMHhhMCwweDEyLDB4MzQsMHhlYSwweGVjLDB4NGQsMHg2MCwweDZhLDB4NzgsMHhhYiwKLTB4ODAsMHgwMywweDc2LDB4MDAsMHgxOCwweGI4LDB4OWMsMHhmYSwweDc4LDB4N2YsMHg4MCwweDAzLDB4NzYsMHgwMCwweDE4LDB4YjgsCi0weDY1LDB4ZmEsMHg3OCwweDIwLDB4ODAsMHgwMywweDc2LDB4MDAsMHgxOCwweGI4LDB4MjAsMHhmYSwweDkwLDB4ZmQsMHhkZCwweGFlLAotMHg4MywweGFmLDB4ODIsMHg5MCwweGZiLDB4ZjgsMHgxMiwweDAwLDB4YTEsMHg2MCwweDA1LDB4ZTQsMHhmMCwweGEzLDB4ODAsMHhmNiwKLTB4OTAsMHhmZCwweGU4LDB4YTgsMHg4MiwweDkwLDB4ZmQsMHhlOCwweGE5LDB4ODIsMHhlOCwweGMzLDB4OTksMHg1MCwweDA1LDB4NzYsCi0weDAwLDB4MDgsMHg4MCwweGY2LDB4OTAsMHgwMCwweGZmLDB4MTIsMHgwMCwweGFhLDB4OTAsMHgwMSwweDAzLDB4MTIsMHgwMCwweGFhLAotMHg5MCwweDAxLDB4MDcsMHgxMiwweDAwLDB4YWEsMHg5MCwweDAxLDB4MGIsMHgxMiwweDAwLDB4YzgsMHg5MCwweDAxLDB4MTEsMHgxMiwKLTB4MDAsMHhjOCwweDkwLDB4MDEsMHgxNywweDEyLDB4MDAsMHhjOCwweDc1LDB4ZDAsMHgwMCwweDEyLDB4MzMsMHhjOCwweDAyLDB4MDEsCi0weDFkLDB4ZWYsMHg2NSwweDgyLDB4NzAsMHgwMywweGVlLDB4NjUsMHg4MywweDIyLDB4ZTQsMHg5MywweGY4LDB4NzQsMHgwMSwweDkzLAotMHhmOSwweDc0LDB4MDIsMHg5MywweGZlLDB4NzQsMHgwMywweDkzLDB4ZjUsMHg4MiwweDhlLDB4ODMsMHhlOCwweDY5LDB4NzAsMHgwMSwKLTB4MjIsMHhlNCwweDkzLDB4ZjYsMHhhMywweDA4LDB4ODAsMHhmNCwweGU0LDB4OTMsMHhmYywweDc0LDB4MDEsMHg5MywweGZkLDB4NzQsCi0weDAyLDB4OTMsMHhmZSwweDc0LDB4MDMsMHg5MywweGZmLDB4NzQsMHgwNCwweDkzLDB4ZjgsMHg3NCwweDA1LDB4OTMsMHhmNSwweDgyLAotMHg4OCwweDgzLDB4MTIsMHgwMCwweGExLDB4NzAsMHgwMSwweDIyLDB4ZTQsMHg5MywweGEzLDB4YTgsMHg4MywweGE5LDB4ODIsMHg4YywKLTB4ODMsMHg4ZCwweDgyLDB4ZjAsMHhhMywweGFjLDB4ODMsMHhhZCwweDgyLDB4ODgsMHg4MywweDg5LDB4ODIsMHg4MCwweGUzLDB4MjEsCi0weDIxLDB4MDQsMHg5MiwweDgwLDB4ODAsMHgwNCwweDkyLDB4YWMsMHhhZSwweDA0LDB4OTIsMHhmZCwweGU4LDB4MDQsMHg5NCwweDA0LAotMHg5NCwweGZiLDB4ZjMsMHgwNCwweDk5LDB4MDQsMHg5NCwweGZiLDB4ZjMsMHgwNCwweGY5LDB4MDQsMHhmOSwweDgwLDB4ZmUsMHhkMCwKLTB4ZjAsMHgzMCwweGYwLDB4MDksMHgyMCwweGYzLDB4MDMsMHhmNiwweDgwLDB4MTAsMHhmNywweDgwLDB4MGQsMHgzMCwweGYxLDB4MDksCi0weDIwLDB4ZjMsMHgwMywweGYyLDB4ODAsMHgwNCwweGYzLDB4ODAsMHgwMSwweGYwLDB4MjAsMHhmNCwweDA0LDB4ZmMsMHhkMCwweGUwLAotMHhjYywweDIyLDB4Y2MsMHhjMCwweGUwLDB4MTIsMHgwMSwweDVhLDB4MDIsMHgwMSwweDRiLDB4YmMsMHgwMCwweDA1LDB4ZDAsMHhmMCwKLTB4YWMsMHhmMCwweDIyLDB4YzMsMHgxMywweGRjLDB4ZmMsMHgwMiwweDAxLDB4MjEsMHhiZiwweDAwLDB4MDksMHhlZCwweDI1LDB4ODIsCi0weDc1LDB4ZjAsMHgwMSwweGY4LDB4ZTYsMHgyMiwweGJmLDB4MDEsMHgwZiwweGVkLDB4MjUsMHg4MiwweGY1LDB4ODIsMHhlZSwweDM1LAotMHg4MywweGY1LDB4ODMsMHg3NSwweGYwLDB4MDQsMHhlMCwweDIyLDB4ZWQsMHgyNSwweDgyLDB4NzUsMHhmMCwweDAyLDB4ZjgsMHhlMiwKLTB4MjIsMHhkMCwweDgzLDB4ZDAsMHg4MiwweGY1LDB4ZjAsMHhjMywweGU0LDB4OTMsMHhhMywweGM1LDB4ZjAsMHg5NSwweGYwLDB4YzAsCi0weGUwLDB4YzMsMHhkMCwweGYwLDB4ZTQsMHg5MywweGEzLDB4OTUsMHhmMCwweDQwLDB4MTIsMHhhMywweGEzLDB4YzMsMHhlNSwweGYwLAotMHgzMywweDUwLDB4MDIsMHgwNSwweDgzLDB4MjUsMHg4MiwweGY1LDB4ODIsMHg1MCwweDAyLDB4MDUsMHg4MywweDc0LDB4MDEsMHg5MywKLTB4YzAsMHhlMCwweGU0LDB4OTMsMHhjMCwweGUwLDB4MjIsMHhkMCwweDgzLDB4ZDAsMHg4MiwweGY1LDB4ZjAsMHhlNCwweDkzLDB4NzAsCi0weDA5LDB4NzQsMHgwMSwweDkzLDB4NzAsMHgwNCwweGEzLDB4YTMsMHg4MCwweDBjLDB4NzQsMHgwMiwweDkzLDB4NjUsMHhmMCwweDYwLAotMHgwNSwweGEzLDB4YTMsMHhhMywweDgwLDB4ZTcsMHg3NCwweDAxLDB4OTMsMHhjMCwweGUwLDB4ZTQsMHg5MywweGMwLDB4ZTAsMHgyMiwKLTB4MTIsMHgwMiwweDViLDB4MDIsMHgwMSwweGYyLDB4MTIsMHgwMiwweGFmLDB4MDIsMHgwMSwweGYyLDB4MTIsMHgwMiwweGQzLDB4MDIsCi0weDAxLDB4ZjIsMHgzMCwweGUwLDB4MDcsMHgyMCwweGUzLDB4MDIsMHhlNiwweDIyLDB4ZTcsMHgyMiwweDMwLDB4ZTEsMHgwNywweDIwLAotMHhlMywweDAyLDB4ZTIsMHgyMiwweGUzLDB4MjIsMHgzMCwweGUyLDB4MDIsMHhlMCwweDIyLDB4ZTQsMHg5MywweDIyLDB4MTIsMHgwMiwKLTB4ZDMsMHgwMiwweDAyLDB4MWEsMHgxMiwweDAyLDB4YWYsMHgwMiwweDAyLDB4MWEsMHhhYiwweGYwLDB4MTIsMHgwMiwweDI0LDB4Y2IsCi0weGM1LDB4ZjAsMHhjYiwweDIyLDB4MzAsMHhlMCwweDEwLDB4MjAsMHhlMywweDA2LDB4ZTYsMHhmNSwweGYwLDB4MDgsMHhlNiwweDIyLAotMHhlNywweGY1LDB4ZjAsMHgwOSwweGU3LDB4MTksMHgyMiwweDMwLDB4ZTEsMHgxMCwweDIwLDB4ZTMsMHgwNiwweGUyLDB4ZjUsMHhmMCwKLTB4MDgsMHhlMiwweDIyLDB4ZTMsMHhmNSwweGYwLDB4MDksMHhlMywweDE5LDB4MjIsMHgzMCwweGUyLDB4MDYsMHhlMCwweGY1LDB4ZjAsCi0weGEzLDB4ZTAsMHgyMiwweGU0LDB4OTMsMHhmNSwweGYwLDB4NzQsMHgwMSwweDkzLDB4MjIsMHhiYiwweDAwLDB4MDMsMHg3NCwweDA5LAotMHgyMiwweGJiLDB4MDEsMHgwNywweDg5LDB4ODIsMHg4YSwweDgzLDB4NzQsMHgwNCwweDIyLDB4YmIsMHgwMiwweDA3LDB4ODksMHg4MiwKLTB4OGEsMHg4MywweDc0LDB4MTAsMHgyMiwweDc0LDB4MGEsMHgyMiwweDAyLDB4MDIsMHg3YiwweGJiLDB4MDAsMHgwNywweGU5LDB4MjUsCi0weDgyLDB4ZjgsMHg3NCwweDAxLDB4MjIsMHhiYiwweDAxLDB4MGQsMHhlOSwweDI1LDB4ODIsMHhmNSwweDgyLDB4ZWEsMHgzNSwweDgzLAotMHhmNSwweDgzLDB4NzQsMHgwNCwweDIyLDB4YmIsMHgwMiwweDBkLDB4ZTksMHgyNSwweDgyLDB4ZjUsMHg4MiwweGVhLDB4MzUsMHg4MywKLTB4ZjUsMHg4MywweDc0LDB4MTAsMHgyMiwweGU5LDB4MjUsMHg4MiwweGY4LDB4NzQsMHgwMiwweDIyLDB4MDIsMHgwMiwweGFmLDB4YmYsCi0weDAwLDB4MDUsMHhlZCwweGY4LDB4NzQsMHgwMSwweDIyLDB4YmYsMHgwMSwweDA3LDB4OGQsMHg4MiwweDhlLDB4ODMsMHg3NCwweDA0LAotMHgyMiwweGJmLDB4MDIsMHgwNywweDhkLDB4ODIsMHg4ZSwweDgzLDB4NzQsMHgxMCwweDIyLDB4ZWQsMHhmOCwweDc0LDB4MDIsMHgyMiwKLTB4MDIsMHgwMiwweGQzLDB4YmYsMHgwMCwweDA3LDB4ZWQsMHgyNSwweDgyLDB4ZjgsMHg3NCwweDAxLDB4MjIsMHhiZiwweDAxLDB4MGQsCi0weGVkLDB4MjUsMHg4MiwweGY1LDB4ODIsMHhlZSwweDM1LDB4ODMsMHhmNSwweDgzLDB4NzQsMHgwNCwweDIyLDB4YmYsMHgwMiwweDBkLAotMHhlZCwweDI1LDB4ODIsMHhmNSwweDgyLDB4ZWUsMHgzNSwweDgzLDB4ZjUsMHg4MywweDc0LDB4MTAsMHgyMiwweGVkLDB4MjUsMHg4MiwKLTB4ZjgsMHg3NCwweDAyLDB4MjIsMHgwMiwweDAzLDB4MDcsMHhjMCwweGUwLDB4MTIsMHgwMiwweDViLDB4MDIsMHgwMywweDFmLDB4YzAsCi0weGUwLDB4MTIsMHgwMiwweGFmLDB4MDIsMHgwMywweDFmLDB4YzAsMHhlMCwweDEyLDB4MDIsMHhkMywweDAyLDB4MDMsMHgxZiwweDMwLAotMHhlMCwweDBiLDB4MjAsMHhlMywweDA0LDB4ZDAsMHhlMCwweGY2LDB4MjIsMHhkMCwweGUwLDB4ZjcsMHgyMiwweDMwLDB4ZTEsMHgwYiwKLTB4MjAsMHhlMywweDA0LDB4ZDAsMHhlMCwweGYyLDB4MjIsMHhkMCwweGUwLDB4ZjMsMHgyMiwweGQwLDB4ZTAsMHhmMCwweDIyLDB4YzksCi0weGNkLDB4YzksMHhjYSwweGNlLDB4Y2EsMHhjYiwweGNmLDB4Y2IsMHgxMiwweDAzLDB4NTIsMHhlZCwweGY5LDB4ZWUsMHhmYSwweGVmLAotMHhmYiwweDIyLDB4YmIsMHgwMCwweDJmLDB4YmYsMHgwMCwweDBhLDB4ZmEsMHhlZCwweGY4LDB4ZTcsMHhmNiwweDA4LDB4MDksMHhkYSwKLTB4ZmEsMHgyMiwweGJmLDB4MDEsMHgxMiwweDhkLDB4ODIsMHg4ZSwweDgzLDB4ZjgsMHgwMiwweDAzLDB4NmYsMHgwOSwweGEzLDB4ZTcsCi0weGYwLDB4ZDgsMHhmYSwweDIyLDB4MDIsMHgwMywweDdhLDB4ZmEsMHhlZCwweGY4LDB4ZTcsMHhmMiwweDA4LDB4MDksMHhkYSwweGZhLAotMHgyMiwweDAyLDB4MDMsMHg4NCwweGJiLDB4MDEsMHg0ZCwweGJmLDB4MDAsMHgxNCwweDg5LDB4ODIsMHg4YSwweDgzLDB4ZjksMHhlZCwKLTB4ZjgsMHgwMiwweDAzLDB4OTYsMHgwOCwweGEzLDB4ZTAsMHhmNiwweGQ5LDB4ZmEsMHgyMiwweDAyLDB4MDMsMHhhNywweGJmLDB4MDEsCi0weDIyLDB4OGQsMHg4MiwweDhlLDB4ODMsMHhmYiwweDA4LDB4YzksMHhjNSwweDgyLDB4YzksMHhjYSwweGM1LDB4ODMsMHhjYSwweGUwLAotMHhhMywweGM5LDB4YzUsMHg4MiwweGM5LDB4Y2EsMHhjNSwweDgzLDB4Y2EsMHhmMCwweGEzLDB4ZGIsMHhlYSwweGQ4LDB4ZTgsMHgyMiwKLTB4MDIsMHgwMywweGNhLDB4OGQsMHg4MiwweDhlLDB4ODMsMHhmOSwweGVkLDB4ZjgsMHhlMCwweGYyLDB4MDgsMHhhMywweGQ5LDB4ZmEsCi0weDIyLDB4MDIsMHgwMywweGQ0LDB4YmIsMHgwMiwweDRkLDB4YmYsMHgwMCwweDEyLDB4ODksMHg4MiwweDhhLDB4ODMsMHhmOSwweGVkLAotMHhmOCwweDAyLDB4MDMsMHhlNiwweDA4LDB4YTMsMHhlNCwweDkzLDB4ZjYsMHhkOSwweGY5LDB4MjIsMHhiZiwweDAxLDB4MjMsMHg4ZCwKLTB4ODIsMHg4ZSwweDgzLDB4ZmIsMHgwOCwweGM5LDB4YzUsMHg4MiwweGM5LDB4Y2EsMHhjNSwweDgzLDB4Y2EsMHhlNCwweDkzLDB4YTMsCi0weGM5LDB4YzUsMHg4MiwweGM5LDB4Y2EsMHhjNSwweDgzLDB4Y2EsMHhmMCwweGEzLDB4ZGIsMHhlOSwweGQ4LDB4ZTcsMHgyMiwweDAyLAotMHgwNCwweDE5LDB4ODksMHg4MiwweDhhLDB4ODMsMHhmOSwweGVkLDB4ZjgsMHhlNCwweDkzLDB4ZjIsMHgwOCwweGEzLDB4ZDksMHhmOSwKLTB4MjIsMHgwMiwweDA0LDB4MmEsMHhiZiwweDAwLDB4MGQsMHhmYSwweGVkLDB4ZjgsMHhlMywweGY2LDB4MDgsMHgwOSwweGRhLDB4ZmEsCi0weDIyLDB4MDIsMHgwNCwweDM0LDB4YmYsMHgwMSwweDEyLDB4OGQsMHg4MiwweDhlLDB4ODMsMHhmOCwweDAyLDB4MDQsMHg0MSwweDA5LAotMHhhMywweGUzLDB4ZjAsMHhkOCwweGZhLDB4MjIsMHgwMiwweDA0LDB4NGMsMHhmYSwweGVkLDB4ZjgsMHhlMywweGYyLDB4MDgsMHgwOSwKLTB4ZGEsMHhmYSwweDIyLDB4MDIsMHgwNCwweDU2LDB4ZTYsMHhmYiwweDA4LDB4ZTYsMHhmYSwweDA4LDB4ZTYsMHhmOSwweDA0LDB4ZjYsCi0weDE4LDB4NzAsMHgwMSwweDA2LDB4MjIsMHhlNiwweGZmLDB4MDgsMHhlNiwweGZlLDB4MDgsMHhlNiwweGZkLDB4MjIsMHhlZiwweGYwLAotMHhhMywweGVlLDB4ZjAsMHhhMywweGVkLDB4ZjAsMHgyMiwweGViLDB4ZjAsMHhhMywweGVhLDB4ZjAsMHhhMywweGU5LDB4ZjAsMHgyMiwKLTB4ZTAsMHhmZiwweGEzLDB4ZTAsMHhmZSwweGEzLDB4ZTAsMHhmZCwweDIyLDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsCi0weGY5LDB4MjIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA0LDB4ZjksMHgwMCwweDYxLDB4MDUsMHg2OCwweDAwLAotMHgyNiwweDA1LDB4OGYsMHgwMCwweDMzLDB4MGEsMHgwMCwweDAwLDB4NjEsMHgwYSwweDZjLDB4MDAsMHg2NiwweDE1LDB4MWQsMHgwMCwKLTB4NjEsMHgwYywweGYwLDB4MDAsMHg2MSwweDA5LDB4YTAsMHgwMCwweDYxLDB4MDksMHhkNywweDAwLDB4NjEsMHgwZCwweGI3LDB4MDAsCi0weDYxLDB4MGIsMHhlOCwweDAwLDB4NjEsMHgwYSwweDEzLDB4MDAsMHg2MSwweDBhLDB4NDgsMHgwMCwweDYxLDB4MTcsMHgxNSwweDAwLAotMHgzMywweDE3LDB4MjgsMHgwMCwweDM0LDB4MWQsMHhmNiwweDAwLDB4NDMsMHgxZSwweGExLDB4MDAsMHg0NCwweDIwLDB4MGUsMHgwMCwKLTB4NDQsMHgxZiwweGZjLDB4MDAsMHg0NywweDFlLDB4YzgsMHgwMCwweDQ3LDB4MWYsMHg2ZCwweDAwLDB4NGQsMHgxZiwweGJlLDB4MDAsCi0weDRmLDB4MWUsMHhlYSwweDAwLDB4NTgsMHgzMiwweDU2LDB4MDAsMHg2MSwweDdjLDB4Y2MsMHg3ZCwweGZmLDB4MTIsMHgxYywweGE3LAotMHgyMiwweDkwLDB4ZmYsMHhmYywweGUwLDB4MjAsMHhlNywweDJkLDB4YzIsMHhhZiwweGFlLDB4NTksMHhhZiwweDU4LDB4NzUsMHg1YSwKLTB4MjAsMHhlNSwweDVhLDB4MTQsMHhjNSwweDVhLDB4NjAsMHgxOSwweGU0LDB4ZmUsMHg3ZiwweDA1LDB4ZWUsMHg0ZiwweGNlLDB4MjQsCi0weGZmLDB4Y2UsMHhjZiwweDM0LDB4ZmYsMHhjZiwweDYwLDB4MDcsMHhlNCwweDkwLDB4ZmYsMHg5MiwweGYwLDB4ODAsMHhlZCwweDgwLAotMHhlMCwweDhlLDB4NTksMHg4ZiwweDU4LDB4MjIsMHgxMiwweDA1LDB4MDEsMHg3ZCwweDA3LDB4N2MsMHhiNywweDEyLDB4MzIsMHg3MiwKLTB4N2QsMHgwZiwweDdjLDB4NmUsMHgxMiwweDMyLDB4OGMsMHg3OCwweDlkLDB4N2EsMHgwNiwweGU0LDB4ZjYsMHgwOCwweGRhLDB4ZmMsCi0weDdhLDB4MDYsMHgxMiwweDA1LDB4YzQsMHg3YywweDAzLDB4MTIsMHgwZSwweDRjLDB4MTIsMHgyMSwweDRhLDB4ZTQsMHhmZSwweGZmLAotMHg3YywweDBmLDB4MTIsMHgzMSwweGZiLDB4ZDIsMHhhOCwweDIyLDB4MTIsMHgzMCwweGU2LDB4ZTQsMHg5MCwweGZjLDB4MzgsMHhmMCwKLTB4OTAsMHhmZiwweGYwLDB4ZTAsMHgzMCwweGU0LDB4MDgsMHg3NCwweDAxLDB4OTAsMHhmYywweDM5LDB4ZjAsMHg4MCwweDA1LDB4ZTQsCi0weDkwLDB4ZmMsMHgzOSwweGYwLDB4N2QsMHgwYSwweDdjLDB4MDAsMHgxMiwweDI1LDB4MjYsMHgxMiwweDMxLDB4NjksMHgyMiwweDEyLAotMHgzMCwweGU2LDB4OTAsMHhmYywweDM5LDB4ZTAsMHgxNCwweDcwLDB4MGUsMHg5MCwweGZmLDB4ZjAsMHhlMCwweDQ0LDB4MTAsMHhmMCwKLTB4N2MsMHgwMCwweDEyLDB4MjUsMHhiZiwweDgwLDB4MTksMHg5MCwweGZjLDB4MzksMHhlMCwweDcwLDB4MGUsMHg5MCwweGZmLDB4ZjAsCi0weGUwLDB4NTQsMHhlZiwweGYwLDB4N2MsMHgwMCwweDEyLDB4MjUsMHhiZiwweDgwLDB4MDUsMHg3YywweDE3LDB4MTIsMHgyNSwweGJmLAotMHgxMiwweDMxLDB4NjksMHgyMiwweDkwLDB4ZmYsMHhmMCwweGUwLDB4NTQsMHhhYiwweGYwLDB4OTAsMHhmZiwweGYwLDB4ZTAsMHg0NCwKLTB4MjAsMHhmMCwweDIyLDB4OGMsMHgzNywweDhkLDB4MzYsMHg3OCwweDgyLDB4ZWQsMHhmNiwweDA4LDB4ZWMsMHhmNiwweGVkLDB4ZmUsCi0weGVjLDB4ZmQsMHg3ZiwweDAxLDB4OTAsMHgwMCwweDA1LDB4MTIsMHgwMSwweGVjLDB4NzgsMHg4MCwweGY2LDB4NzgsMHg4MiwweGU2LAotMHhmZCwweDA4LDB4ZTYsMHhmYywweGVkLDB4ZmUsMHhlYywweGZkLDB4N2YsMHgwMSwweDkwLDB4MDAsMHgwNCwweDEyLDB4MDEsMHhlYywKLTB4NTQsMHgwZiwweGZjLDB4N2QsMHg4MCwweDEyLDB4MTcsMHg0NiwweDc4LDB4ODAsMHhlNiwweDcwLDB4MGQsMHhhZCwweDNhLDB4YWUsCi0weDM5LDB4YWYsMHgzOCwweGU0LDB4MTIsMHgwMywweDBmLDB4N2MsMHgwOCwweDIyLDB4OTAsMHhmZiwweGYwLDB4ZTAsMHg1NCwweGZlLAotMHhmMCwweDkwLDB4ZmYsMHhmMCwweGUwLDB4NTQsMHhmZCwweGYwLDB4ODAsMHgxZSwweDc4LDB4ODIsMHhlNiwweGZkLDB4MDgsMHhlNiwKLTB4ZmMsMHhlZCwweGZlLDB4ZWMsMHhmZCwweDdmLDB4MDEsMHg5MCwweDAwLDB4MDgsMHgxMiwweDAyLDB4MGUsMHgyNSwweGUwLDB4NDQsCi0weDAxLDB4OTAsMHhmZiwweGYzLDB4ZjAsMHgwMiwweDA2LDB4ZDAsMHg3OCwweDgyLDB4ZTYsMHhmZCwweDA4LDB4ZTYsMHhmYywweGVkLAotMHhmZSwweGVjLDB4ZmQsMHg3ZiwweDAxLDB4OTAsMHgwMCwweDA2LDB4MTIsMHgwMiwweDBlLDB4NTQsMHhmZSwweDkwLDB4ZmYsMHhmMywKLTB4ZjAsMHg4MCwweDJiLDB4NzgsMHg4MiwweGU2LDB4ZmQsMHgwOCwweGU2LDB4ZmMsMHhlZCwweGZlLDB4ZWMsMHhmZCwweDdmLDB4MDEsCi0weDkwLDB4MDAsMHgwOCwweDEyLDB4MDIsMHgwZSwweGZhLDB4ZWIsMHg5MCwweGZmLDB4ZjEsMHhmMCwweDEyLDB4MDgsMHhiZiwweDQwLAotMHgwZCwweGFkLDB4M2EsMHhhZSwweDM5LDB4YWYsMHgzOCwweGU0LDB4MTIsMHgwMywweDBmLDB4N2MsMHgxOCwweDIyLDB4NzgsMHg4MiwKLTB4ZTYsMHhmZCwweDA4LDB4ZTYsMHhmYywweGVkLDB4ZmUsMHhlYywweGZkLDB4N2YsMHgwMSwweDkwLDB4MDAsMHgwOCwweDEyLDB4MDIsCi0weDBlLDB4OTAsMHhmZiwweGYxLDB4ZjAsMHgxMiwweDA4LDB4YmYsMHg0MCwweDBkLDB4YWQsMHgzYSwweGFlLDB4MzksMHhhZiwweDM4LAotMHhlNCwweDEyLDB4MDMsMHgwZiwweDdjLDB4MTgsMHgyMiwweDc4LDB4ODIsMHhlNiwweGZkLDB4MDgsMHhlNiwweGZjLDB4ZWQsMHhmZSwKLTB4ZWMsMHhmZCwweDdmLDB4MDEsMHg5MCwweDAwLDB4MDYsMHgxMiwweDAyLDB4MGUsMHg0NCwweDAxLDB4OTAsMHhmZiwweGYzLDB4ZjAsCi0weDc4LDB4ODMsMHhlNiwweDI0LDB4MDMsMHhmNiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjYsMHg3OCwweDgwLDB4ZTYsMHgyNCwweGZlLAotMHg1MCwweDA5LDB4OTAsMHhmZiwweGYwLDB4ZTAsMHg1NCwweGZkLDB4ZjAsMHg4MCwweDA3LDB4OTAsMHhmZiwweGYwLDB4ZTAsMHg0NCwKLTB4MDIsMHhmMCwweGU0LDB4OTAsMHhmZiwweGYxLDB4ZjAsMHg3OCwweDgxLDB4NzYsMHgwMCwweDc4LDB4ODAsMHhlNiwweDI0LDB4ZmYsCi0weGZjLDB4ZTQsMHgzNCwweGZmLDB4ZmQsMHg3OCwweDgxLDB4ZTYsMHg3ZiwweDAwLDB4ZmUsMHhlYywweGQzLDB4OWUsMHhlZiwweDY0LAotMHg4MCwweGNkLDB4NjQsMHg4MCwweDlkLDB4NDAsMHgyZiwweDEyLDB4MDgsMHhhNCwweDQwLDB4MGYsMHg3OCwweDgxLDB4ZTYsMHhhZCwKLTB4M2EsMHhhZSwweDM5LDB4YWYsMHgzOCwweDEyLDB4MDMsMHgwZiwweDdjLDB4MTgsMHgyMiwweDkwLDB4ZmYsMHhmMiwweGUwLDB4ZmMsCi0weDc4LDB4ODIsMHg4NiwweDgzLDB4MDgsMHg4NiwweDgyLDB4ZWMsMHhmMCwweDc4LDB4ODEsMHgwNiwweGEzLDB4NzgsMHg4MiwweGE2LAotMHg4MywweDA4LDB4YTYsMHg4MiwweDgwLDB4YjUsMHgxMiwweDA4LDB4YTQsMHg0MCwweDBmLDB4NzgsMHg4MSwweGU2LDB4YWQsMHgzYSwKLTB4YWUsMHgzOSwweGFmLDB4MzgsMHgxMiwweDAzLDB4MGYsMHg3YywweDE4LDB4MjIsMHg5MCwweGZmLDB4ZjIsMHhlMCwweGZjLDB4NzgsCi0weDgyLDB4ODYsMHg4MywweDA4LDB4ODYsMHg4MiwweGVjLDB4ZjAsMHg3OCwweDgwLDB4ZTYsMHhhZCwweDNhLDB4YWUsMHgzOSwweGFmLAotMHgzOCwweDEyLDB4MDMsMHgwZiwweDdjLDB4MDAsMHgyMiwweDhjLDB4MzcsMHg4ZCwweDM2LDB4NzgsMHg4MiwweGVkLDB4ZjYsMHgwOCwKLTB4ZWMsMHhmNiwweGVkLDB4ZmUsMHhlYywweGZkLDB4N2YsMHgwMSwweDkwLDB4MDAsMHgwNSwweDEyLDB4MDEsMHhlYywweDc4LDB4ODEsCi0weGY2LDB4NzgsMHg4MiwweGU2LDB4ZmQsMHgwOCwweGU2LDB4ZmMsMHhlZCwweGZlLDB4ZWMsMHhmZCwweDdmLDB4MDEsMHg5MCwweDAwLAotMHgwNCwweDEyLDB4MDEsMHhlYywweDU0LDB4MGYsMHhmYywweDdkLDB4ODEsMHgxMiwweDE3LDB4NDYsMHg3OCwweDgxLDB4ZTYsMHg3MCwKLTB4MDMsMHg3YywweDA4LDB4MjIsMHg5MCwweGZmLDB4ZjAsMHhlMCwweDU0LDB4ZmUsMHhmMCwweDkwLDB4ZmYsMHhmMCwweGUwLDB4NTQsCi0weGZkLDB4ZjAsMHg4MCwweDFiLDB4NzgsMHg4MiwweGU2LDB4ZmQsMHgwOCwweGU2LDB4ZmMsMHhlZCwweGZlLDB4ZWMsMHhmZCwweDdmLAotMHgwMSwweDkwLDB4MDAsMHgwOCwweDEyLDB4MDIsMHgwZSwweDI1LDB4ZTAsMHg5MCwweGZmLDB4ZjMsMHhmMCwweDgwLDB4NWIsMHg3OCwKLTB4ODIsMHhlNiwweGZkLDB4MDgsMHhlNiwweGZjLDB4ZWQsMHhmZSwweGVjLDB4ZmQsMHg3ZiwweDAxLDB4OTAsMHgwMCwweDA2LDB4MTIsCi0weDAyLDB4MGUsMHg1NCwweGZlLDB4OTAsMHhmZiwweGYzLDB4ZjAsMHg4MCwweDIxLDB4NzgsMHg4MiwweGU2LDB4ZmQsMHgwOCwweGU2LAotMHhmYywweGVkLDB4ZmUsMHhlYywweGZkLDB4N2YsMHgwMSwweDkwLDB4MDAsMHgwOCwweDEyLDB4MDIsMHgwZSwweGZhLDB4ZWIsMHg5MCwKLTB4ZmYsMHhmMSwweGYwLDB4MTIsMHgwOCwweGJmLDB4NDAsMHgwMywweDdjLDB4MTgsMHgyMiwweDc4LDB4ODIsMHhlNiwweGZkLDB4MDgsCi0weGU2LDB4ZmMsMHhlZCwweGZlLDB4ZWMsMHhmZCwweDdmLDB4MDEsMHg5MCwweDAwLDB4MDgsMHgxMiwweDAyLDB4MGUsMHg5MCwweGZmLAotMHhmMSwweGYwLDB4MTIsMHgwOCwweGJmLDB4NDAsMHgwMywweDdjLDB4MTgsMHgyMiwweDc4LDB4ODMsMHhlNiwweDI0LDB4MGEsMHhmNiwKLTB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNiwweDc4LDB4ODAsMHg3NiwweDAwLDB4NzgsMHg4MSwweGU2LDB4MjQsMHhmZiwweGZjLDB4ZTQsCi0weDM0LDB4ZmYsMHhmZCwweDc4LDB4ODAsMHhlNiwweDdmLDB4MDAsMHhmZSwweGVjLDB4ZDMsMHg5ZSwweGVmLDB4NjQsMHg4MCwweGNkLAotMHg2NCwweDgwLDB4OWQsMHg0MCwweDIxLDB4NzgsMHg4MiwweDg2LDB4ODMsMHgwOCwweDg2LDB4ODIsMHhlMCwweDkwLDB4ZmYsMHhmMSwKLTB4ZjAsMHgxMiwweDA4LDB4YmYsMHg0MCwweDAzLDB4N2MsMHgxOCwweDIyLDB4NzgsMHg4MCwweDA2LDB4NzgsMHg4MywweDA2LDB4ZTYsCi0weDE4LDB4NzAsMHgwMSwweDA2LDB4ODAsMHhjMywweDkwLDB4ZmYsMHhmMCwweGUwLDB4NDQsMHgwMSwweGYwLDB4NzgsMHg4MiwweDg2LAotMHg4MywweDA4LDB4ODYsMHg4MiwweGUwLDB4OTAsMHhmZiwweGYxLDB4ZjAsMHgxMiwweDA4LDB4YmYsMHg0MCwweDAzLDB4N2MsMHgxOCwKLTB4MjIsMHg3YywweDAwLDB4MjIsMHg5MCwweGZmLDB4ZjAsMHhlMCwweDIwLDB4ZTcsMHgxMiwweDkwLDB4ZmYsMHhmMCwweGUwLDB4MzAsCi0weGU1LDB4MDksMHg5MCwweGZmLDB4ZjAsMHhlMCwweDQ0LDB4MjAsMHhmMCwweGMzLDB4MjIsMHg4MCwweGU3LDB4ZDMsMHgyMiwweDkwLAotMHhmZiwweGYwLDB4ZTAsMHgyMCwweGUzLDB4MTIsMHg5MCwweGZmLDB4ZjAsMHhlMCwweDMwLDB4ZTUsMHgwOSwweDkwLDB4ZmYsMHhmMCwKLTB4ZTAsMHg0NCwweDIwLDB4ZjAsMHhjMywweDIyLDB4ODAsMHhlNywweGQzLDB4MjIsMHg4YywweDQyLDB4OGQsMHg0MSwweDdjLDB4MDAsCi0weGVkLDB4NTQsMHhmMCwweGZkLDB4ZWMsMHg3MCwweDAzLDB4ZWQsMHg2NCwweDMwLDB4NzAsMHgwNSwweDc1LDB4M2UsMHgwMywweDgwLAotMHgwMywweDc1LDB4M2UsMHgwNCwweGFjLDB4M2UsMHgxMiwweDBmLDB4NjksMHg3NSwweDgzLDB4MDAsMHg4NSwweDgzLDB4NDAsMHhlNSwKLTB4NDEsMHg1NCwweDBmLDB4ZjUsMHgzZiwweGU1LDB4NDAsMHg3MCwweDA0LDB4ZTUsMHgzZiwweDY0LDB4MDMsMHg3MCwweDM1LDB4ZTUsCi0weDNlLDB4MjQsMHhmZCwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHgwMiwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmMsMHhmNSwweDgzLAotMHhlMCwweDMwLDB4ZTYsMHgwNSwweDEyLDB4MTAsMHg0YiwweDgwLDB4MTksMHhlNSwweDNlLDB4MjQsMHg5ZCwweGY4LDB4YzYsMHg1NCwKLTB4ZmIsMHhmNiwweDc4LDB4YTksMHhlNiwweDI0LDB4MDUsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4NzQsCi0weDBmLDB4ZjAsMHg4MCwweDU5LDB4ZTUsMHg0MCwweDcwLDB4MDQsMHhlNSwweDNmLDB4NjQsMHgwNCwweDcwLDB4NDgsMHhlNSwweDNlLAotMHgyNCwweGZkLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweDAyLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmYywweGY1LDB4ODMsMHhlMCwKLTB4MzAsMHhlNSwweDA3LDB4YWMsMHg0MiwweGFkLDB4NDEsMHgxMiwweDFjLDB4M2MsMHhlNSwweDQyLDB4MzAsMHhlMiwweDE1LDB4NzgsCi0weGFkLDB4ZTYsMHgzMCwweGUwLDB4MGYsMHg3OCwweGFkLDB4ZTYsMHgzMCwweGUxLDB4MDksMHhlNCwweGZmLDB4MDQsMHhmZSwweDdjLAotMHgwNCwweDEyLDB4MzEsMHhmYiwweDc4LDB4YTksMHhlNiwweDI0LDB4MDYsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwKLTB4ODMsMHg3NCwweDBmLDB4ZjAsMHg4MCwweDA3LDB4ZTQsMHhmYywweDdkLDB4ZWUsMHgxMiwweDFjLDB4M2MsMHhjMiwweDAzLDB4MjIsCi0weDEyLDB4MzAsMHhlNiwweDEyLDB4MGYsMHg2OSwweDc4LDB4YTksMHhlNiwweDI0LDB4MDYsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LAotMHgwMCwweGY1LDB4ODMsMHhlMCwweDkwLDB4ZmMsMHgzOCwweGYwLDB4NzgsMHhhOSwweGU2LDB4MjQsMHgwNSwweGY1LDB4ODIsMHgxOCwKLTB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLDB4OTAsMHhmYywweDM5LDB4ZjAsMHhjMiwweDAzLDB4N2QsMHgwMiwweDdjLDB4MDAsCi0weDEyLDB4MjUsMHgyNiwweDEyLDB4MzEsMHg2OSwweDIyLDB4MTIsMHgzMCwweGU2LDB4NzgsMHg5NSwweGVjLDB4ZjYsMHhlYywweDI0LAotMHg5ZCwweGY4LDB4ZTYsMHgzMCwweGUxLDB4MDcsMHg3YywweDEzLDB4MTIsMHgyNSwweGJmLDB4ODAsMHgwZiwweDkwLDB4ZmMsMHgzOSwKLTB4ZTAsMHhmZCwweDc4LDB4OTUsMHhlNiwweGZjLDB4MTIsMHgxMywweGM4LDB4MTIsMHgyNSwweGJmLDB4MTIsMHgzMSwweDY5LDB4MjIsCi0weDEyLDB4MzAsMHhlNiwweDc4LDB4OTUsMHhlYywweGY2LDB4N2QsMHgwMCwweDEyLDB4MGYsMHgwOSwweDEyLDB4MjUsMHhiZiwweDEyLAotMHgzMSwweDY5LDB4MjIsMHgxMiwweDMwLDB4ZTYsMHg3OCwweDk1LDB4ZWMsMHhmNiwweGVjLDB4MjQsMHg5ZCwweGY4LDB4ZTYsMHgzMCwKLTB4ZTIsMHgwNywweDdjLDB4MTMsMHgxMiwweDI1LDB4YmYsMHg4MCwweDFiLDB4NzgsMHg5NSwweGU2LDB4MjQsMHg5ZCwweGY4LDB4ZTYsCi0weDIwLDB4ZTEsMHgwNywweDdjLDB4MTIsMHgxMiwweDI1LDB4YmYsMHg4MCwweDBhLDB4NzgsMHg5NSwweGU2LDB4ZmMsMHgxMiwweDEzLAotMHhlYywweDEyLDB4MjUsMHhiZiwweDEyLDB4MzEsMHg2OSwweDIyLDB4MTIsMHgzMCwweGU2LDB4NzgsMHg5NSwweGVjLDB4ZjYsMHhlYywKLTB4MjQsMHg5ZCwweGY4LDB4ZTYsMHgyMCwweGUyLDB4MDcsMHg3YywweDExLDB4MTIsMHgyNSwweGJmLDB4ODAsMHgwYSwweDc4LDB4OTUsCi0weGU2LDB4ZmMsMHgxMiwweDE0LDB4ZWQsMHgxMiwweDI1LDB4YmYsMHgxMiwweDMxLDB4NjksMHgyMiwweDEyLDB4MzAsMHhlNiwweDc4LAotMHg5NSwweGVjLDB4ZjYsMHgxMiwweDBmLDB4NjksMHg3OCwweGE5LDB4ZTYsMHgyNCwweDA5LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwKLTB4MDAsMHhmNSwweDgzLDB4ZTAsMHg5MCwweGZjLDB4M2YsMHhmMCwweDc4LDB4YTksMHhlNiwweDI0LDB4MGEsMHhmNSwweDgyLDB4MTgsCi0weGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwweDkwLDB4ZmMsMHg0MCwweGYwLDB4NzgsMHhhOSwweGU2LDB4MjQsMHgwMywweGY1LAotMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLDB4ZmMsMHg3OCwweGE5LDB4ZTYsMHgyNCwweDA0LDB4ZjUsMHg4MiwKLTB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHhmNSwweDYyLDB4NzgsMHhhOSwweGU2LDB4MjQsMHgwMiwweGY1LDB4ODIsCi0weDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLDB4ZjUsMHg2MywweDhjLDB4NjEsMHhlNCwweGVjLDB4MzMsMHgzMywweDU0LAotMHgwMSwweDc4LDB4OTUsMHhmNiwweDYwLDB4MDgsMHhlNSwweDYyLDB4MzAsMHhlMSwweDAzLDB4NzgsMHg5NSwweDA2LDB4NzgsMHg5NSwKLTB4ZTYsMHg5MCwweGZjLDB4NDEsMHhmMCwweDc4LDB4YTcsMHhlNiwweDI0LDB4MDIsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsCi0weGY1LDB4ODMsMHhlMCwweGZkLDB4YTMsMHhlMCwweDU0LDB4MGMsMHhmYywweGVkLDB4NTQsMHhlNiwweDhjLDB4NjUsMHhmNSwweDY0LAotMHhlNSwweDYxLDB4MzAsMHhlNSwweDAzLDB4NDMsMHg2NSwweDAxLDB4ZTUsMHg2MiwweDIwLDB4ZTUsMHgwZSwweGU1LDB4NjEsMHg1NCwKLTB4N2YsMHg3MCwweDA4LDB4ZTUsMHg2MSwweDIwLDB4ZTcsMHgwMywweDQzLDB4NjUsMHgwMiwweGU1LDB4NjEsMHgzMCwweGUzLDB4MDMsCi0weDQzLDB4NjUsMHgxMCwweGU1LDB4NjEsMHgzMCwweGUyLDB4MDMsMHg0MywweDY1LDB4MjAsMHhlNSwweDYxLDB4NTQsMHgwMywweDYwLAotMHgwMywweDQzLDB4NjUsMHg0MCwweGU1LDB4NjEsMHgzMCwweGUxLDB4MDMsMHg0MywweDY1LDB4ODAsMHhlNSwweDYxLDB4MzAsMHhlNCwKLTB4MDMsMHg0MywweDY0LDB4MDEsMHhlNSwweDYxLDB4MzAsMHhlNiwweDAzLDB4NDMsMHg2NCwweDA4LDB4ZTUsMHg2MiwweDIwLDB4ZTQsCi0weDBlLDB4ZTUsMHg2MSwweDU0LDB4N2YsMHg3MCwweDA4LDB4ZTUsMHg2MSwweDIwLDB4ZTcsMHgwMywweDQzLDB4NjQsMHgxMCwweDUzLAotMHg2NSwweGZiLDB4NTMsMHg2NCwweDc5LDB4YWQsMHg2NCwweGU1LDB4NjUsMHg5MCwweGZjLDB4M2EsMHhjZCwweGYwLDB4YTMsMHhjZCwKLTB4ZjAsMHhlNSwweDYzLDB4MzAsMHhlMywweDBkLDB4ZTUsMHg2MywweDU0LDB4MzAsMHhjNCwweDU0LDB4MGYsMHg5MCwweGZjLDB4M2QsCi0weGYwLDB4ODAsMHgwNSwweGU0LDB4OTAsMHhmYywweDNkLDB4ZjAsMHhlNSwweDYzLDB4NTQsMHgwMywweDkwLDB4ZmMsMHgzYywweGYwLAotMHhlNSwweDYzLDB4NTQsMHgwNCwweGMzLDB4MTMsMHg5MCwweGZjLDB4M2UsMHhmMCwweDkwLDB4ZmMsMHgzYywweGUwLDB4NzAsMHgwZSwKLTB4N2QsMHgzNSwweDdlLDB4ZmMsMHg3ZiwweDAxLDB4NzQsMHgwMSwweDkwLDB4MDAsMHgwOSwweDEyLDB4MDEsMHg0MiwweDc4LDB4YTksCi0weGU2LDB4MjQsMHgwOCwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwweDdjLDB4MDAsMHhmZCwweDc4LAotMHhhOSwweGU2LDB4MjQsMHgwNywweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwweDdmLDB4MDAsMHg0YywKLTB4ZmUsMHhlZiwweDRkLDB4OTAsMHhmYywweDM4LDB4ZjAsMHhhMywweGNlLDB4ZjAsMHhjZSwweGMyLDB4MDMsMHg3ZCwweDBhLDB4N2MsCi0weDAwLDB4MTIsMHgyNSwweDI2LDB4MTIsMHgzMSwweDY5LDB4MjIsMHgxMiwweDMwLDB4ZTYsMHg3OCwweDk1LDB4ZWMsMHhmNiwweDc4LAotMHg5YSwweDc2LDB4MDEsMHgwOCwweDc2LDB4ZmMsMHgwOCwweDc2LDB4MzgsMHg3OCwweDk3LDB4NzYsMHgwYywweDc4LDB4OWEsMHgxMiwKLTB4MDQsMHg2NSwweDEyLDB4MDIsMHgxNCwweDc4LDB4OTgsMHhjYiwweGY2LDB4Y2IsMHgwOCwweGY2LDB4N2YsMHgwMCwweGVmLDB4MjQsCi0weGVhLDB4NDAsMHgxZiwweGU0LDB4ZWYsMHgyNSwweGUwLDB4OTAsMHgzNSwweDJjLDB4ZmQsMHg5MywweGNkLDB4MDQsMHg5MywweDc4LAotMHg5OSwweDY2LDB4NzAsMHgwMywweGVkLDB4MTgsMHg2NiwweDcwLDB4MDYsMHg3OCwweDk3LDB4NzYsMHgwMCwweDgwLDB4MDMsMHgwZiwKLTB4ODAsMHhkYywweDc4LDB4OTYsMHhlZiwweGY2LDB4NzgsMHg5YSwweDEyLDB4MDQsMHg2NSwweDkwLDB4MDAsMHgwMiwweDEyLDB4MDIsCi0weDBlLDB4NzgsMHg5OCwweGNiLDB4ZjYsMHhjYiwweDA4LDB4ZjYsMHg1NCwweDA0LDB4Y2IsMHg1NCwweDg2LDB4NGIsMHg2MCwweDA0LAotMHg3OCwweDk3LDB4NzYsMHgwYiwweDc4LDB4OTksMHhlNiwweDMwLDB4ZTMsMHgxMywweDc4LDB4OWEsMHgxMiwweDA0LDB4NjUsMHg5MCwKLTB4MDAsMHgwNSwweDEyLDB4MDEsMHhlYywweDI0LDB4ZmIsMHg1MCwweDA0LDB4NzgsMHg5NywweDc2LDB4MGQsMHg3OCwweDk5LDB4ZTYsCi0weDU0LDB4YzAsMHg3ZCwweDAwLDB4NjQsMHhjMCwweDRkLDB4NzAsMHgwNCwweDc4LDB4OTcsMHg3NiwweDBiLDB4NzgsMHg5YSwweDEyLAotMHgwNCwweDY1LDB4OTAsMHgwMCwweDA0LDB4MTIsMHgwMSwweGVjLDB4MjQsMHhmYywweDUwLDB4MDQsMHg3OCwweDk3LDB4NzYsMHgwZiwKLTB4NzgsMHg5YSwweDEyLDB4MDQsMHg2NSwweDkwLDB4MDAsMHgwNiwweDEyLDB4MDEsMHhlYywweDI0LDB4ZmQsMHg1MCwweDA0LDB4NzgsCi0weDk3LDB4NzYsMHgwZSwweDc4LDB4OWEsMHgxMiwweDA0LDB4NjUsMHg5MCwweDAwLDB4MDksMHgxMiwweDAxLDB4ZWMsMHgyNCwweGZkLAotMHg1MCwweDA0LDB4NzgsMHg5NywweDc2LDB4MGEsMHg3OCwweDk3LDB4ZTYsMHg3MCwweDJhLDB4NzgsMHg5NSwweGU2LDB4ZmMsMHgxMiwKLTB4MGYsMHg2OSwweDc4LDB4OWEsMHgxMiwweDA0LDB4NjUsMHg3OCwweGE3LDB4ZTYsMHhmOSwweDc4LDB4YTYsMHhlNiwweGZhLDB4N2IsCi0weDAxLDB4NzQsMHgwYSwweDc4LDB4MDAsMHgxMiwweDAzLDB4M2YsMHhjMiwweDAzLDB4NzgsMHg5NSwweGU2LDB4ZmMsMHgxMiwweDExLAotMHgwNywweDc4LDB4OTcsMHhlYywweGY2LDB4NzgsMHg5NywweGU2LDB4ZmMsMHgxMiwweDI1LDB4YmYsMHgxMiwweDMxLDB4NjksMHgyMiwKLTB4MTIsMHgzMCwweGU2LDB4NzgsMHg5NSwweGVjLDB4ZjYsMHgxMiwweDBmLDB4NjksMHg3OCwweDk1LDB4ZTYsMHgyNCwweGZkLDB4NzUsCi0weGYwLDB4MGEsMHhhNCwweDI0LDB4MTQsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZjLDB4ZjUsMHg4MywweGFjLDB4ODIsMHhhZCwweDgzLAotMHg3OCwweGE2LDB4ODYsMHg4MywweDA4LDB4ODYsMHg4MiwweGVjLDB4ZjksMHhlZCwweGZhLDB4N2IsMHgwYSwweDc4LDB4MDEsMHgxMiwKLTB4MDMsMHhhNywweGMyLDB4MDMsMHg3OCwweDk1LDB4ZTYsMHhmYywweDEyLDB4MTEsMHgwNywweDEyLDB4MzEsMHg2OSwweDIyLDB4OGQsCi0weDJiLDB4OGMsMHgyYSwweGVkLDB4NjAsMHg0MCwweDc1LDB4MjcsMHgwMSwweDc1LDB4MjksMHg0OCwweDc1LDB4MjgsMHhmZiwweGU1LAotMHgyYSwweDI0LDB4ZmQsMHhmYywweGU0LDB4MzQsMHhmZiwweGZkLDB4ZWMsMHg3YywweDAzLDB4MjUsMHhlMCwweGNkLDB4MzMsMHhjZCwKLTB4ZGMsMHhmOSwweGZjLDB4ZTUsMHgyOSwweDJjLDB4ZjUsMHgyOSwweGU1LDB4MjgsMHgzZCwweGY1LDB4MjgsMHhhZCwweDI5LDB4YWUsCi0weDI4LDB4YWYsMHgyNywweDc0LDB4ODAsMHg5MCwweDAwLDB4MDYsMHgxMiwweDAzLDB4MTcsMHg3NCwweDgwLDB4OTAsMHgwMCwweDAyLAotMHgxMiwweDAzLDB4MTcsMHgxMiwweDBmLDB4YjcsMHhlNSwweDJiLDB4MTQsMHg2MCwweDNiLDB4NzUsMHgyNywweDAxLDB4NzUsMHgyOSwKLTB4MDgsMHg3NSwweDI4LDB4ZmYsMHhlNSwweDJhLDB4MjQsMHhmZCwweGZjLDB4ZTQsMHgzNCwweGZmLDB4ZmQsMHhlYywweDdjLDB4MDMsCi0weDI1LDB4ZTAsMHhjZCwweDMzLDB4Y2QsMHhkYywweGY5LDB4ZmMsMHhlNSwweDI5LDB4MmMsMHhmNSwweDI5LDB4ZTUsMHgyOCwweDNkLAotMHhmNSwweDI4LDB4YWQsMHgyOSwweGFlLDB4MjgsMHhhZiwweDI3LDB4ZTQsMHg5MCwweDAwLDB4MDYsMHgxMiwweDAzLDB4MTcsMHhlNCwKLTB4OTAsMHgwMCwweDAyLDB4MTIsMHgwMywweDE3LDB4MjIsMHgxMiwweDMwLDB4ZTYsMHg3OCwweDk1LDB4ZWMsMHhmNiwweGVjLDB4MjQsCi0weDlkLDB4ZjgsMHhlNiwweDMwLDB4ZTIsMHgwOSwweDc4LDB4OTUsMHhlNiwweGZjLDB4MTIsMHgxNCwweGVkLDB4ZDIsMHgwMCwweDc4LAotMHg5NSwweGU2LDB4ZmMsMHgxMiwweDBmLDB4NjksMHg3OCwweDk2LDB4NzYsMHgwMCwweDkwLDB4ZmMsMHgzOSwweGUwLDB4MzAsMHhlNywKLTB4MDQsMHg3OCwweDk2LDB4NzYsMHgwMSwweDc4LDB4OTYsMHhlNiwweGZkLDB4NzgsMHg5NSwweGU2LDB4ZmMsMHgxMiwweDBkLDB4MmYsCi0weGMyLDB4MDMsMHgzMCwweDAwLDB4MDcsMHg3OCwweDk1LDB4ZTYsMHhmYywweDEyLDB4MTMsMHhlYywweDdjLDB4MDAsMHgxMiwweDI1LAotMHhiZiwweDEyLDB4MzEsMHg2OSwweDIyLDB4NzgsMHhhOSwweGU2LDB4MjQsMHgwNCwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwKLTB4ZjUsMHg4MywweGUwLDB4NDQsMHgwMSwweGYwLDB4NzgsMHhhOSwweGU2LDB4MjQsMHgwNCwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsCi0weDAwLDB4ZjUsMHg4MywweGUwLDB4MzAsMHhlMCwweDAyLDB4ODAsMHhlZCwweDc4LDB4YTksMHhlNiwweDI0LDB4MGIsMHhmNSwweDgyLAotMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwweDU0LDB4ZjgsMHhmMCwweDc4LDB4YTksMHhlNiwweDI0LDB4MDIsMHhmNSwKLTB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwweDQ0LDB4ODAsMHhmMCwweDIyLDB4YzIsMHgwMywweDhjLDB4NTgsCi0weDEyLDB4MGYsMHg2OSwweDc4LDB4YTYsMHg4NiwweDgzLDB4MDgsMHg4NiwweDgyLDB4NzksMHg1ZCwweDdhLDB4MzUsMHg3YiwweDBhLAotMHg3OCwweDAxLDB4MTIsMHgwMywweGY1LDB4MTIsMHgwZSwweDA1LDB4YWMsMHg1OCwweDdkLDB4MDIsMHgxMiwweDBkLDB4MmYsMHhjMiwKLTB4MDMsMHhhYywweDU4LDB4MTIsMHgxMSwweDA3LDB4MjIsMHg4ZCwweDUzLDB4OGUsMHg1MiwweDhmLDB4NTEsMHg4YywweDUwLDB4MTIsCi0weDBmLDB4NjksMHg3NSwweDRmLDB4MDAsMHg3OCwweGE5LDB4ZTYsMHgyNCwweDA1LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLAotMHhmNSwweDgzLDB4ZTAsMHgyMCwweGU0LDB4MWYsMHhlNSwweDRmLDB4MjQsMHhmNiwweDQwLDB4MTksMHgwNSwweDRmLDB4YzIsMHgwMywKLTB4N2MsMHgxOCwweDEyLDB4MzIsMHhhOSwweDkwLDB4ZmYsMHg5MywweGUwLDB4NDQsMHgwMSwweGYwLDB4YjIsMHhiMywweGFjLDB4NTAsCi0weDEyLDB4MGYsMHg2OSwweDgwLDB4ZDAsMHg3OCwweGE5LDB4ZTYsMHgyNCwweDA1LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLAotMHhmNSwweDgzLDB4ZTAsMHgyMCwweGU0LDB4MDUsMHhjMiwweDAzLDB4N2MsMHgwMiwweDIyLDB4NzgsMHhhOSwweGU2LDB4MjQsMHgwNSwKLTB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLDB4NTQsMHgwZiwweDYwLDB4MTYsMHg3OCwweGE5LDB4ZTYsCi0weDI0LDB4MDUsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHg1NCwweDBmLDB4ZjAsMHhjMiwweDAzLAotMHg3YywweDAxLDB4MjIsMHg3OCwweGE4LDB4ODYsMHg4MywweDA4LDB4ODYsMHg4MiwweGUwLDB4YWQsMHg1MywweGFlLDB4NTIsMHhhZiwKLTB4NTEsMHgxMiwweDAzLDB4MGYsMHhjMiwweDAzLDB4N2MsMHgwMCwweDIyLDB4OGQsMHgzMSwweDhjLDB4MzAsMHgxMiwweDE0LDB4ZWQsCi0weGU1LDB4MzEsMHg2MCwweDBmLDB4ZTUsMHgzMCwweGI0LDB4MDMsMHgwYSwweDdjLDB4MDEsMHgxMiwweDI0LDB4ZWUsMHg3YywweDgxLAotMHgxMiwweDI0LDB4ZWUsMHhhYywweDMwLDB4MTIsMHgwZiwweDY5LDB4ZTUsMHgzMSwweDYwLDB4MWEsMHg3OCwweGFhLDB4ODYsMHg4MywKLTB4MDgsMHg4NiwweDgyLDB4ZTAsMHg1NCwweGU3LDB4ZjAsMHhhMywweGEzLDB4YTMsMHhhMywweGUwLDB4NTQsMHhlNywweGYwLDB4YWMsCi0weDMwLDB4N2QsMHgwMiwweDEyLDB4MGQsMHgyZiwweDc4LDB4YTYsMHg4NiwweDgzLDB4MDgsMHg4NiwweDgyLDB4NzksMHg2NywweDdhLAotMHgzNSwweDdiLDB4MGEsMHg3OCwweDAxLDB4MTIsMHgwMywweGY1LDB4YzIsMHgwMywweGU1LDB4MzAsMHgyNCwweDlkLDB4ZjgsMHhjNiwKLTB4NTQsMHhmZCwweGY2LDB4YWMsMHgzMCwweDEyLDB4MTEsMHgwNywweDIyLDB4OGMsMHgyNiwweDMwLDB4MDMsMHgwNSwweDEyLDB4MzIsCi0weDQ4LDB4ODAsMHhmOCwweDdjLDB4MGEsMHgxMiwweDMxLDB4NWIsMHhkMiwweDAzLDB4ZTUsMHgyNiwweDI0LDB4ZmQsMHg3OCwweGEzLAotMHhmNiwweDcwLDB4MDcsMHg3OCwweGFhLDB4NzYsMHhmZiwweDA4LDB4NzYsMHhlMCwweDc4LDB4YTMsMHhlNiwweDc1LDB4ZjAsMHgxMCwKLTB4YTQsMHhhZCwweGYwLDB4ZmMsMHgyNCwweGEwLDB4NzgsMHhhOSwweGY2LDB4ZWQsMHgzNCwweGZmLDB4MTgsMHhmNiwweDc4LDB4YTMsCi0weGU2LDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweDAwLDB4ZmMsMHhlNCwweDM0LDB4ZmMsMHhmZCwweDc4LDB4YTYsMHhlZCwweGY2LAotMHgwOCwweGVjLDB4ZjYsMHgxMiwweDMxLDB4ZjQsMHgyMiwweDc4LDB4YTksMHhlNiwweDI0LDB4MDIsMHhmNSwweDgyLDB4MTgsMHhlNiwKLTB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwweDMwLDB4ZTcsMHgyMiwweDc4LDB4YTksMHhlNiwweDI0LDB4MDIsMHhmNSwweDgyLDB4MTgsCi0weGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwweDU0LDB4N2YsMHhmMCwweDc4LDB4YTksMHhlNiwweDI0LDB4MDIsMHhmNSwweDgyLAotMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwweDQ0LDB4ODAsMHhmMCwweDIyLDB4NzgsMHhhYSwweDg2LDB4ODMsMHgwOCwKLTB4ODYsMHg4MiwweGUwLDB4NTQsMHg3ZiwweGYwLDB4YWQsMHg4MywweGU1LDB4ODIsMHgyNCwweDA0LDB4ZmMsMHhlNCwweDNkLDB4OGMsCi0weDgyLDB4ZjUsMHg4MywweGUwLDB4NTQsMHg3ZiwweGYwLDB4NzgsMHhhOSwweGU2LDB4MjQsMHgwYiwweGY1LDB4ODIsMHgxOCwweGU2LAotMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLDB4NTQsMHhmOCwweGYwLDB4NzgsMHhhYiwweGU2LDB4MjQsMHgwMSwweGY1LDB4ODIsMHgxOCwKLTB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLDB4NDQsMHgwMywweGYwLDB4NzgsMHhhYiwweGU2LDB4MjQsMHgwNSwweGY1LDB4ODIsCi0weDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLDB4NDQsMHgwMywweGYwLDB4NzgsMHhhOSwweGU2LDB4MjQsMHgwNSwweGY1LAotMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweDc0LDB4MGYsMHhmMCwweDIyLDB4NzgsMHhhYSwweDg2LDB4ODMsMHgwOCwKLTB4ODYsMHg4MiwweGUwLDB4NTQsMHgzZiwweGYwLDB4YWQsMHg4MywweGU1LDB4ODIsMHgyNCwweDA0LDB4ZmMsMHhlNCwweDNkLDB4OGMsCi0weDgyLDB4ZjUsMHg4MywweGUwLDB4NTQsMHgzZiwweGYwLDB4NzgsMHhhMywweGU2LDB4MjQsMHhhNCwweGY4LDB4ZTYsMHhmYywweDc4LAotMHhhYiwweGU2LDB4MjQsMHgwMSwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlYywweGYwLDB4NzgsMHhhMywKLTB4ZTYsMHgyNCwweGE0LDB4ZjgsMHhlNiwweGZjLDB4NzgsMHhhYiwweGU2LDB4MjQsMHgwNSwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsCi0weDAwLDB4ZjUsMHg4MywweGVjLDB4ZjAsMHg3OCwweGE5LDB4ZTYsMHgyNCwweDBiLDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLAotMHhmNSwweDgzLDB4ZTAsMHg1NCwweGZiLDB4NDQsMHgwMiwweGY1LDB4MjYsMHg3OCwweGE3LDB4ZTYsMHgyNCwweDAyLDB4ZjUsMHg4MiwKLTB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHgzMCwweGU1LDB4MDMsMHg0MywweDI2LDB4MDEsMHg3OCwweGE5LDB4ZTYsCi0weDI0LDB4MDUsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHgzMCwweGUwLDB4MDMsMHgxMiwweDBmLAotMHhiNywweGU1LDB4MjYsMHhmYywweDc4LDB4YTksMHhlNiwweDI0LDB4MGIsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwKLTB4ODMsMHhlYywweGYwLDB4NzgsMHhhOSwweGU2LDB4MjQsMHgwNSwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsCi0weDc0LDB4MGYsMHhmMCwweDc4LDB4YWEsMHg4NiwweDgzLDB4MDgsMHg4NiwweDgyLDB4ZTAsMHg0NCwweDgwLDB4ZjAsMHhhMywweGEzLAotMHhhMywweGEzLDB4ZTAsMHg0NCwweDgwLDB4ZjAsMHgyMiwweDhjLDB4MmEsMHgxMiwweDBmLDB4NjksMHg3OCwweGE3LDB4ZTYsMHgyNCwKLTB4MDgsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHhmYywweDc4LDB4YTksMHhlNiwweDI0LDB4MGEsCi0weGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlYywweGYwLDB4NzgsMHhhNywweGU2LDB4MjQsMHgwNywweGY1LAotMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLDB4ZmMsMHg3OCwweGE5LDB4ZTYsMHgyNCwweDA5LDB4ZjUsMHg4MiwKLTB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZWMsMHhmMCwweDc4LDB4YTYsMHg4NiwweDgzLDB4MDgsMHg4NiwweDgyLDB4ZTAsCi0weGZkLDB4YTMsMHhlMCwweGZjLDB4ZWQsMHhmZSwweDc4LDB4YTksMHhlNiwweDI0LDB4MDgsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LAotMHgwMCwweGY1LDB4ODMsMHhlZSwweGYwLDB4ZWMsMHhmZSwweDc4LDB4YTksMHhlNiwweDI0LDB4MDcsMHhmNSwweDgyLDB4MTgsMHhlNiwKLTB4MzQsMHgwMCwweGY1LDB4ODMsMHhlZSwweGYwLDB4OGMsMHgyOSwweDhkLDB4MjgsMHhjMywweGVjLDB4OTQsMHgwNSwweGVkLDB4OTQsCi0weDBjLDB4NDAsMHgwNSwweDc1LDB4MjcsMHg3YywweDgwLDB4MzMsMHhkMywweGU1LDB4MjksMHg5NCwweDAxLDB4ZTUsMHgyOCwweDk0LAotMHgwMywweDQwLDB4MDUsMHg3NSwweDI3LDB4M2MsMHg4MCwweDIzLDB4ZDMsMHhlNSwweDI5LDB4OTQsMHg4MSwweGU1LDB4MjgsMHg5NCwKLTB4MDEsMHg0MCwweDA1LDB4NzUsMHgyNywweDE4LDB4ODAsMHgxMywweGQzLDB4ZTUsMHgyOSwweDk0LDB4NjAsMHhlNSwweDI4LDB4OTQsCi0weDAwLDB4NDAsMHgwNSwweDc1LDB4MjcsMHgwYywweDgwLDB4MDMsMHg3NSwweDI3LDB4MDgsMHhhZiwweDI3LDB4ZTQsMHhlZiwweDU0LAotMHg3YywweDQ0LDB4ODMsMHhmZiwweDhmLDB4MjcsMHhlNSwweDI3LDB4ZmMsMHg3OCwweGFiLDB4ZTYsMHgyNCwweDAxLDB4ZjUsMHg4MiwKLTB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZWMsMHhmMCwweGU1LDB4MjcsMHhmYywweDc4LDB4YWIsMHhlNiwweDI0LDB4MDUsCi0weGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlYywweGYwLDB4ZTUsMHgyNywweGZjLDB4NzgsMHhhMywweGU2LAotMHgyNCwweGE0LDB4ZjgsMHhlYywweGY2LDB4NzgsMHhhOSwweGU2LDB4MjQsMHgwMiwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwKLTB4ZjUsMHg4MywweGUwLDB4ZjUsMHgyNywweDc4LDB4YTcsMHhlNiwweDI0LDB4MDIsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsCi0weGY1LDB4ODMsMHhhMywweGUwLDB4MzAsMHhlMywweDE3LDB4NTMsMHgyNywweGM3LDB4NzgsMHhhNywweGU2LDB4MjQsMHgwNSwweGY1LAotMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLDB4OTAsMHgzNSwweDU4LDB4OTMsMHg0MiwweDI3LDB4NTMsMHgyNywKLTB4ZmIsMHg3OCwweGE3LDB4ZTYsMHgyNCwweDA2LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLDB4NjAsCi0weDAzLDB4NDMsMHgyNywweDA0LDB4NTMsMHgyNywweGZjLDB4NzgsMHhhNywweGU2LDB4MjQsMHgwNCwweGY1LDB4ODIsMHgxOCwweGU2LAotMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLDB4NDIsMHgyNywweDQzLDB4MjcsMHg4MCwweGU1LDB4MjcsMHhmYywweDc4LDB4YTksMHhlNiwKLTB4MjQsMHgwMiwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlYywweGYwLDB4NzgsMHhhOSwweGU2LDB4MjQsCi0weDA0LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLDB4ZjUsMHgyNywweDc4LDB4YTcsMHhlNiwweDI0LAotMHgwMiwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhhMywweGUwLDB4MzAsMHhlMSwweDA1LDB4NTMsMHgyNywKLTB4ZGYsMHg4MCwweDAzLDB4NDMsMHgyNywweDIwLDB4NzgsMHhhNywweGU2LDB4MjQsMHgwMiwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsCi0weDAwLDB4ZjUsMHg4MywweGUwLDB4MzAsMHhlNCwweDA1LDB4NTMsMHgyNywweGVmLDB4ODAsMHgwMywweDQzLDB4MjcsMHgxMCwweDc4LAotMHhhNywweGU2LDB4MjQsMHgwOSwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwweGI0LDB4MDIsMHgwMywKLTB4NDMsMHgyNywweDAyLDB4ZTUsMHgyNywweGZjLDB4NzgsMHhhOSwweGU2LDB4MjQsMHgwNCwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsCi0weDAwLDB4ZjUsMHg4MywweGVjLDB4ZjAsMHg3OCwweGE5LDB4ZTYsMHgyNCwweDAzLDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLAotMHhmNSwweDgzLDB4ZTAsMHhmNSwweDI3LDB4NzgsMHhhNywweGU2LDB4MjQsMHgwOSwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwKLTB4ZjUsMHg4MywweGUwLDB4NzAsMHgwNSwweDUzLDB4MjcsMHg3ZiwweDgwLDB4MDMsMHg0MywweDI3LDB4ODAsMHg3OCwweGE3LDB4ZTYsCi0weDI0LDB4MDIsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4YTMsMHhlMCwweDMwLDB4ZTAsMHgwNSwweDQzLAotMHgyNywweDIwLDB4ODAsMHgwMywweDUzLDB4MjcsMHhkZiwweDc4LDB4YTcsMHhlNiwweDI0LDB4MDIsMHhmNSwweDgyLDB4MTgsMHhlNiwKLTB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwweDMwLDB4ZTMsMHgwNSwweDQzLDB4MjcsMHg0MCwweDgwLDB4MDMsMHg1MywweDI3LDB4YmYsCi0weDc4LDB4YTcsMHhlNiwweDI0LDB4MDIsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHgzMCwweGUwLAotMHgwNSwweDQzLDB4MjcsMHgxMCwweDgwLDB4MDMsMHg1MywweDI3LDB4ZWYsMHg3OCwweGE3LDB4ZTYsMHgyNCwweDAyLDB4ZjUsMHg4MiwKLTB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4YTMsMHhlMCwweDMwLDB4ZTQsMHgwNSwweDQzLDB4MjcsMHgwOCwweDgwLDB4MDMsCi0weDUzLDB4MjcsMHhmNywweDc4LDB4YTcsMHhlNiwweDI0LDB4MDIsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLAotMHhhMywweGUwLDB4MzAsMHhlNSwweDA1LDB4NDMsMHgyNywweDA0LDB4ODAsMHgwMywweDUzLDB4MjcsMHhmYiwweDc4LDB4YTcsMHhlNiwKLTB4MjQsMHgwMiwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhhMywweGUwLDB4MzAsMHhlNiwweDA1LDB4NDMsCi0weDI3LDB4MDEsMHg4MCwweDAzLDB4NTMsMHgyNywweGZlLDB4NzgsMHhhNywweGU2LDB4MjQsMHgwMiwweGY1LDB4ODIsMHgxOCwweGU2LAotMHgzNCwweDAwLDB4ZjUsMHg4MywweGEzLDB4ZTAsMHgzMCwweGU3LDB4MDUsMHg0MywweDI3LDB4MDIsMHg4MCwweDAzLDB4NTMsMHgyNywKLTB4ZmQsMHhlNSwweDI3LDB4ZmMsMHg3OCwweGE5LDB4ZTYsMHgyNCwweDAzLDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsCi0weDgzLDB4ZWMsMHhmMCwweGMyLDB4MDMsMHg3YywweDAwLDB4MjIsMHg4ZCwweDI3LDB4OGMsMHgyNiwweGVkLDB4NTQsMHgwMywweDE0LAotMHg2MCwweDAzLDB4N2MsMHgxMCwweDIyLDB4ZTUsMHgyNywweDU0LDB4N2MsMHgyNCwweGZjLDB4NDAsMHgwMywweDdjLDB4MGIsMHgyMiwKLTB4ZTUsMHgyNiwweDI0LDB4OWQsMHhmOCwweGM2LDB4NDQsMHgwMiwweGY2LDB4N2MsMHgwMCwweDIyLDB4OGMsMHgzMCwweDEyLDB4MGYsCi0weDY5LDB4ZTUsMHgzMCwweDI0LDB4OWQsMHhmOCwweGU2LDB4MjAsMHhlMiwweDRmLDB4YWMsMHgzMCwweDdkLDB4MDIsMHgxMiwweDBkLAotMHgyZiwweGU1LDB4MzAsMHgyNCwweGZlLDB4NDQsMHgyOCwweGZjLDB4NzgsMHhhYSwweDg2LDB4ODMsMHgwOCwweDg2LDB4ODIsMHhlYywKLTB4ZjAsMHhhZiwweDgzLDB4ZTUsMHg4MiwweDI0LDB4MDQsMHhmZSwweGU0LDB4M2YsMHhmZiwweGVjLDB4OGUsMHg4MiwweDhmLDB4ODMsCi0weGYwLDB4N2MsMHgwMywweDhjLDB4MmMsMHhlNSwweDJjLDB4ZmMsMHg3OCwweGFiLDB4ZTYsMHgyNCwweDAxLDB4ZjUsMHg4MiwweDE4LAotMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZWMsMHhmMCwweGU1LDB4MmMsMHhmYywweDc4LDB4YWIsMHhlNiwweDI0LDB4MDUsMHhmNSwKLTB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlYywweGYwLDB4NzUsMHgyZCwweDAxLDB4NzUsMHgyZiwweDQ4LDB4NzUsCi0weDJlLDB4ZmYsMHhlNSwweDMwLDB4MjQsMHhmZCwweGZjLDB4ZTQsMHgzNCwweGZmLDB4ZmQsMHhlYywweDdjLDB4MDMsMHgyNSwweGUwLAotMHhjZCwweDMzLDB4Y2QsMHhkYywweGY5LDB4ZmMsMHhlNSwweDJmLDB4MmMsMHhmNSwweDJmLDB4ZTUsMHgyZSwweDNkLDB4ZjUsMHgyZSwKLTB4NzgsMHhhYiwweGU2LDB4MjQsMHgwNCwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwweDU0LDB4ZTcsCi0weGY1LDB4MmMsMHhhZCwweDJmLDB4YWUsMHgyZSwweGFmLDB4MmQsMHhlNCwweDkwLDB4MDAsMHgwMiwweDEyLDB4MDMsMHgxNywweGU0LAotMHg5MCwweDAwLDB4MDYsMHgxMiwweDAzLDB4MTcsMHgxMiwweDAxLDB4ZTYsMHgzMCwweGU1LDB4MDMsMHg0MywweDJjLDB4MTAsMHhlNSwKLTB4MmMsMHhmYywweDc4LDB4YWIsMHhlNiwweDI0LDB4MDQsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZWMsCi0weGYwLDB4MTIsMHgxMCwweDRiLDB4NzgsMHhhOSwweGU2LDB4MjQsMHgwNiwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LAotMHg4MywweGUwLDB4YzIsMHgwMywweGZjLDB4ZTUsMHgzMCwweDI0LDB4OWQsMHhmOCwweGM2LDB4NDQsMHgwNCwweGY2LDB4OGMsMHgyYywKLTB4ZTUsMHgzMCwweDU0LDB4MGYsMHhjNCwweDU0LDB4ZjAsMHg3ZSwweDAwLDB4ZmYsMHhlZSwweGVmLDB4NDQsMHgwNCwweDdkLDB4MDAsCi0weGZmLDB4ZWMsMHg0ZSwweGZjLDB4ZWQsMHg0ZiwweGZkLDB4MTIsMHgxYywweGE3LDB4N2MsMHgwMCwweDIyLDB4OGMsMHgyZiwweDEyLAotMHgwZiwweDY5LDB4MTIsMHgwZiwweGViLDB4NzgsMHhhYSwweDg2LDB4ODMsMHgwOCwweDg2LDB4ODIsMHhlMCwweDU0LDB4MDgsMHhmMCwKLTB4YTMsMHhhMywweGEzLDB4YTMsMHhlMCwweDU0LDB4MDgsMHhmMCwweGFjLDB4MmYsMHg3ZCwweDAyLDB4MTIsMHgwZCwweDJmLDB4YzIsCi0weDAzLDB4ZTUsMHgyZiwweDI0LDB4OWQsMHhmOCwweGM2LDB4NTQsMHhmYiwweGY2LDB4N2MsMHgwMCwweDIyLDB4MTIsMHgzMCwweGU2LAotMHg3OCwweDk2LDB4ZWMsMHhmNiwweGVjLDB4MjQsMHg5ZCwweGY4LDB4ZTYsMHgzMCwweGUxLDB4MGEsMHg3ZCwweDAwLDB4N2MsMHgxMywKLTB4MTIsMHgyNSwweDI2LDB4MTIsMHgzMSwweDY5LDB4NzgsMHg5NiwweGU2LDB4MjQsMHg5ZCwweGY4LDB4YzYsMHg0NCwweDAxLDB4ZjYsCi0weDc4LDB4OTYsMHhlNiwweGZjLDB4MTIsMHgwZiwweDY5LDB4NzgsMHg5NiwweGU2LDB4MjQsMHhmZCwweDc1LDB4ZjAsMHgwYSwweGE0LAotMHgyNCwweDE0LDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmYywweGY1LDB4ODMsMHg3OCwweGE2LDB4ZTYsMHhmYSwweDA4LDB4ZTYsMHhmOSwKLTB4N2IsMHgwYSwweDc4LDB4MDEsMHgxMiwweDAzLDB4YTcsMHg3OCwweGE2LDB4ODYsMHg4MywweDA4LDB4ODYsMHg4MiwweDc5LDB4NjcsCi0weDdhLDB4MzUsMHg3YiwweDBhLDB4NzgsMHgwMSwweDEyLDB4MDMsMHhmNSwweDEyLDB4MGYsMHhiNywweGMyLDB4MDMsMHg3OCwweDk2LAotMHhlNiwweGZjLDB4MTIsMHgxMSwweDA3LDB4NzgsMHg5NSwweGVjLDB4ZjYsMHhlYywweDYwLDB4MGEsMHg3ZCwweDAwLDB4N2MsMHgwOCwKLTB4MTIsMHgyNSwweDI2LDB4MTIsMHgzMSwweDY5LDB4NzgsMHg5NiwweGU2LDB4ZmMsMHgxMiwweDBmLDB4NjksMHg3OCwweGE5LDB4ZTYsCi0weDI0LDB4MDQsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHg0NCwweDEwLDB4NTQsMHhkZiwweGZjLAotMHg3OCwweGE5LDB4ZTYsMHgyNCwweDA0LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGVjLDB4ZjAsMHg3OCwKLTB4OTUsMHhlYywweGY2LDB4YzIsMHgwMywweDdjLDB4YzgsMHgxMiwweDMyLDB4YTksMHg3OCwweDk2LDB4ZTYsMHhmYywweDEyLDB4MGYsCi0weDY5LDB4NzgsMHhhOSwweGU2LDB4MjQsMHgwNCwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwweDU0LAotMHhlZiwweGYwLDB4YzIsMHgwMywweDdjLDB4YzgsMHgxMiwweDMyLDB4YTksMHg3OCwweDk2LDB4ZTYsMHhmYywweDEyLDB4MGYsMHg2OSwKLTB4NzgsMHhhOSwweGU2LDB4MjQsMHgwNCwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwweDQ0LDB4MTAsCi0weGYwLDB4YzIsMHgwMywweDdjLDB4YzgsMHgxMiwweDMyLDB4YTksMHg3OCwweDk2LDB4ZTYsMHhmYywweDEyLDB4MGYsMHg2OSwweDc4LAotMHhhOSwweGU2LDB4MjQsMHgwNCwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwweDQ0LDB4MjAsMHhmMCwKLTB4YzIsMHgwMywweDdjLDB4ZjAsMHgxMiwweDMyLDB4YTksMHg3OCwweDk2LDB4ZTYsMHhmYywweDEyLDB4MGYsMHg2OSwweDc4LDB4YTksCi0weGU2LDB4MjQsMHgwNSwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwweDMwLDB4ZTQsMHgxNSwweGMyLAotMHgwMywweDc4LDB4OTYsMHhlNiwweDQ0LDB4MTAsMHg3ZiwweDAwLDB4ZmUsMHg3YywweDA3LDB4MTIsMHgzMSwweGZiLDB4MTIsMHgzMSwKLTB4NjksMHgwMiwweDE3LDB4MTQsMHg3OCwweGE5LDB4ZTYsMHgyNCwweDA0LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsCi0weDgzLDB4ZTAsMHg1NCwweGNmLDB4ZjAsMHhjMiwweDAzLDB4N2MsMHhjOCwweDEyLDB4MzIsMHhhOSwweDc4LDB4OTYsMHhlNiwweGZjLAotMHgxMiwweDBmLDB4NjksMHg3OCwweGE5LDB4ZTYsMHgyNCwweDA0LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywKLTB4ZTAsMHg0NCwweDMwLDB4ZjAsMHhjMiwweDAzLDB4N2MsMHhmMCwweDEyLDB4MzIsMHhhOSwweDc4LDB4OTYsMHhlNiwweGZjLDB4MTIsCi0weDBmLDB4NjksMHg3OCwweGE5LDB4ZTYsMHgyNCwweDA1LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLAotMHgzMCwweGU0LDB4MTQsMHhjMiwweDAzLDB4NzgsMHg5NiwweGU2LDB4NDQsMHgxMCwweDdmLDB4MDAsMHhmZSwweDdjLDB4MDcsMHgxMiwKLTB4MzEsMHhmYiwweDEyLDB4MzEsMHg2OSwweDgwLDB4NWQsMHg3OCwweGE5LDB4ZTYsMHgyNCwweDA0LDB4ZjUsMHg4MiwweDE4LDB4ZTYsCi0weDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHg1NCwweGVmLDB4ZjAsMHg3OCwweGE5LDB4ZTYsMHgyNCwweDA0LDB4ZjUsMHg4MiwweDE4LAotMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHg1NCwweGRmLDB4ZjAsMHg3OCwweDk2LDB4ZTYsMHgyNCwweGZkLDB4NzUsMHhmMCwKLTB4MGEsMHhhNCwweDI0LDB4MTQsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZjLDB4ZjUsMHg4MywweGFjLDB4ODIsMHhhZCwweDgzLDB4NzgsCi0weGE2LDB4ODYsMHg4MywweDA4LDB4ODYsMHg4MiwweGVjLDB4ZjksMHhlZCwweGZhLDB4N2IsMHgwYSwweDc4LDB4MDEsMHgxMiwweDAzLAotMHhhNywweGMyLDB4MDMsMHg3OCwweDk2LDB4ZTYsMHhmYywweDEyLDB4MTEsMHgwNywweDdkLDB4MDAsMHg3YywweDBiLDB4MTIsMHgyNSwKLTB4MjYsMHgxMiwweDMxLDB4NjksMHgyMiwweDEyLDB4MzAsMHhlNiwweGU0LDB4OTAsMHhmYywweDM5LDB4ZjAsMHg3ZCwweDAyLDB4N2MsCi0weDAwLDB4MTIsMHgyNSwweDI2LDB4MTIsMHgzMSwweDY5LDB4MjIsMHgxMiwweDMwLDB4ZTYsMHg3YywweDAwLDB4MTIsMHgyNSwweGJmLAotMHgxMiwweDMxLDB4NjksMHgyMiwweDc0LDB4M2MsMHg5MCwweGZiLDB4ZTAsMHhmMCwweDc0LDB4M2UsMHg5MCwweGZiLDB4ZTAsMHhmMCwKLTB4ZTQsMHg5MCwweGZjLDB4MjgsMHhmMCwweDIyLDB4OGQsMHgzNSwweDhjLDB4MzQsMHhlYywweGI0LDB4MDEsMHgwMiwweDgwLDB4MDMsCi0weGQzLDB4NDAsMHgwMiwweDgwLDB4MjgsMHhiNCwweDAyLDB4MDIsMHg4MCwweDAzLDB4ZDMsMHg0MCwweDA4LDB4YTgsMHgzNSwweGM2LAotMHgyNSwweGUwLDB4ZjYsMHg4MCwweDE4LDB4YjQsMHgwNCwweDAyLDB4ODAsMHgwMywweGQzLDB4NDAsMHgwYSwweGE4LDB4MzUsMHhjNiwKLTB4MjUsMHhlMCwweDI1LDB4ZTAsMHhmNiwweDgwLDB4MDYsMHhhOCwweDM1LDB4NzYsMHgwMCwweDgwLDB4MDAsMHgyMiwweDhjLDB4M2MsCi0weDhkLDB4M2IsMHhlZCwweGZlLDB4ZWMsMHhmZCwweDdmLDB4MDEsMHg3NSwweDY2LDB4MDYsMHg3NSwweDY3LDB4MDAsMHg5MCwweGZjLAotMHgyOSwweDEyLDB4MDQsMHg2ZSwweDEyLDB4MDEsMHhlNiwweGI0LDB4ODAsMHgwMiwweDgwLDB4MDYsMHhkMywweDUwLDB4MDMsMHgwMiwKLTB4MTgsMHg0NywweDkwLDB4ZmMsMHgyOSwweDEyLDB4MDQsMHg4MCwweDkwLDB4MDAsMHgwMywweDEyLDB4MDEsMHhlYywweDU0LDB4ZjAsCi0weGI0LDB4MzAsMHgwMiwweDgwLDB4MDMsMHhkMywweDQwLDB4NWYsMHg5MCwweGZjLDB4MjksMHgxMiwweDA0LDB4ODAsMHg5MCwweDAwLAotMHgwOCwweDEyLDB4MDIsMHgwZSwweGZhLDB4ZmQsMHhlYiwweGZlLDB4N2YsMHgwMSwweDkwLDB4ZmMsMHgyYywweDEyLDB4MDQsMHg2ZSwKLTB4ZWUsMHhjZCwweDkwLDB4MzUsMHg3MSwweGZjLDB4ZTQsMHg5MywweGZmLDB4NzQsMHgwMSwweDkzLDB4ZmUsMHhmOSwweGVmLDB4ZmEsCi0weDdiLDB4MDEsMHhlYSwweGZmLDB4ZTksMHhmZSwweGVjLDB4YzMsMHg5ZSwweGVkLDB4OWYsMHg0MCwweDI1LDB4OTAsMHgzNSwweDczLAotMHhlNCwweDkzLDB4ZmQsMHg3NCwweDAxLDB4OTMsMHhmYywweGVkLDB4ZmUsMHhlYywweGZkLDB4N2YsMHgwMSwweGVlLDB4Y2QsMHhmYywKLTB4OTAsMHhmYywweDJlLDB4ZTAsMHhkMywweDljLDB4OTAsMHhmYywweDJkLDB4ZTAsMHg5ZCwweDUwLDB4MDUsMHg3NSwweDY2LDB4ODAsCi0weDgwLDB4MzMsMHgxMiwweDE5LDB4NjUsMHg4MCwweDJlLDB4YjQsMHg2MCwweDAyLDB4ODAsMHgwMywweGQzLDB4NDAsMHgwYiwweGFjLAotMHgzYywweGFkLDB4M2IsMHgxMiwweDA3LDB4NzcsMHg4YywweDY2LDB4ODAsMHgxYiwweGI0LDB4MTAsMHgwMywweGIzLDB4NDAsMHgxMCwKLTB4YzMsMHhiNCwweDIwLDB4MDMsMHhiMywweDQwLDB4MDksMHhjMywweGI0LDB4NDAsMHgwMiwweDgwLDB4MDMsMHhkMywweDQwLDB4MDAsCi0weDc1LDB4NjYsMHg4MSwweDgwLDB4MDAsMHg4MCwweDc1LDB4YjQsMHg4MSwweDAyLDB4ODAsMHgwMywweGQzLDB4NDAsMHg2YiwweDkwLAotMHhmYywweDI5LDB4MTIsMHgwNCwweDgwLDB4OTAsMHgwMCwweDAzLDB4MTIsMHgwMSwweGVjLDB4NTQsMHhmMCwweGI0LDB4MzAsMHgwMiwKLTB4ODAsMHgwMywweGQzLDB4NDAsMHgxZCwweDkwLDB4ZmMsMHgyOSwweDEyLDB4MDQsMHg4MCwweDkwLDB4MDAsMHgwOCwweDEyLDB4MDIsCi0weDBlLDB4ZmEsMHhmZCwweGViLDB4ZmUsMHg3ZiwweDAxLDB4OTAsMHhmYywweDJmLDB4MTIsMHgwNCwweDZlLDB4MTIsMHgxOCwweGNmLAotMHg4MCwweDM2LDB4YjQsMHg2MCwweDAyLDB4ODAsMHgwMywweGQzLDB4NDAsMHgxMywweDc1LDB4M2EsMHg2NywweGU0LDB4ZjUsMHgzOSwKLTB4ZjUsMHgzOCwweGFjLDB4M2MsMHhhZCwweDNiLDB4MTIsMHgwNSwweGQzLDB4OGMsMHg2NiwweDgwLDB4MWIsMHhiNCwweDEwLDB4MDMsCi0weGIzLDB4NDAsMHgxMCwweGMzLDB4YjQsMHgyMCwweDAzLDB4YjMsMHg0MCwweDA5LDB4YzMsMHhiNCwweDQwLDB4MDIsMHg4MCwweDAzLAotMHhkMywweDQwLDB4MDAsMHg3NSwweDY2LDB4ODEsMHg4MCwweDAwLDB4ODAsMHgwMiwweDgwLDB4MDAsMHhlNSwweDY2LDB4ZmMsMHg5MCwKLTB4ZmMsMHgyOSwweDEyLDB4MDQsMHg4MCwweGVjLDB4OTAsMHgwMCwweDAyLDB4MTIsMHgwMywweDE3LDB4YWMsMHg2NywweDIyLDB4OTAsCi0weGZjLDB4MjksMHgxMiwweDA0LDB4ODAsMHg5MCwweDAwLDB4MDQsMHgxMiwweDAxLDB4ZWMsMHg2MCwweDA0LDB4NzQsMHgwMSwweDgwLAotMHgwMSwweGU0LDB4YTIsMHhlMCwweDkyLDB4MDEsMHg5MCwweGZjLDB4MjksMHgxMiwweDA0LDB4ODAsMHhlZCwweDI0LDB4MDMsMHhmZCwKLTB4NTAsMHgwMSwweDBlLDB4OTAsMHhmYywweDJjLDB4MTIsMHgwNCwweDZlLDB4OTAsMHhmYywweDI5LDB4MTIsMHgwNCwweDgwLDB4OTAsCi0weDAwLDB4MDUsMHgxMiwweDAxLDB4ZWMsMHhmNSwweDY3LDB4OTAsMHgwMCwweDA0LDB4MTIsMHgwMSwweGVjLDB4NTQsMHgwZiwweGZjLAotMHg3ZCwweDY3LDB4MTIsMHgxNywweDQ2LDB4ZTUsMHg2NywweDcwLDB4MDQsMHg3NSwweDY2LDB4MDgsMHgyMiwweDc1LDB4NjYsMHgwMCwKLTB4NzgsMHg4NCwweDc2LDB4MDAsMHg3OCwweDg0LDB4ZTYsMHhjMywweDk1LDB4NjcsMHg1MCwweDM4LDB4OTAsMHhmYywweDJmLDB4MTIsCi0weDA0LDB4ODAsMHgxMiwweDAxLDB4ZTYsMHhmYywweDkwLDB4ZmMsMHgyYywweDEyLDB4MDQsMHg4MCwweGVjLDB4MTIsMHgwMywweDBmLAotMHgzMCwweDAxLDB4MGUsMHg5MCwweGZjLDB4MzEsMHhlMCwweDA0LDB4ZjAsMHg5MCwweGZjLDB4MzAsMHg3MCwweDAzLDB4ZTAsMHgwNCwKLTB4ZjAsMHg3OCwweDg0LDB4MDYsMHg5MCwweGZjLDB4MmUsMHhlMCwweDA0LDB4ZjAsMHg5MCwweGZjLDB4MmQsMHg3MCwweDAzLDB4ZTAsCi0weDA0LDB4ZjAsMHg4MCwweGMwLDB4MjIsMHg5MCwweGZjLDB4MmEsMHhlMCwweGZkLDB4YTMsMHhlMCwweGZjLDB4ZWQsMHhmZSwweGVjLAotMHhmZCwweDdmLDB4MDEsMHhlZCwweDI0LDB4MGEsMHhmZCwweDUwLDB4MDEsMHgwZSwweDkwLDB4ZmMsMHgzMiwweDEyLDB4MDQsMHg2ZSwKLTB4OTAsMHhmYywweDI5LDB4MTIsMHgwNCwweDgwLDB4OTAsMHgwMCwweDA0LDB4MTIsMHgwMSwweGVjLDB4NTQsMHgwZiwweGI0LDB4MDEsCi0weDAyLDB4ODAsMHgwMywweGQzLDB4NDAsMHgxNywweDkwLDB4ZmMsMHgzMiwweDEyLDB4MDQsMHg4MCwweDBkLDB4ZWQsMHg3MCwweDAxLAotMHgwZSwweDkwLDB4ZmMsMHgyZiwweDEyLDB4MDQsMHg2ZSwweDc4LDB4ODgsMHg3NiwweDAxLDB4ODAsMHg0ZSwweGI0LDB4MDIsMHgwMiwKLTB4ODAsMHgwMywweGQzLDB4NDAsMHgxOSwweDkwLDB4ZmMsMHgzMiwweDEyLDB4MDQsMHg4MCwweGVkLDB4MjQsMHgwMiwweGZkLDB4NTAsCi0weDAxLDB4MGUsMHg5MCwweGZjLDB4MmYsMHgxMiwweDA0LDB4NmUsMHg3OCwweDg4LDB4NzYsMHgwMiwweDgwLDB4MmQsMHhiNCwweDA0LAotMHgwMiwweDgwLDB4MDMsMHhkMywweDQwLDB4MTksMHg5MCwweGZjLDB4MzIsMHgxMiwweDA0LDB4ODAsMHhlZCwweDI0LDB4MDQsMHhmZCwKLTB4NTAsMHgwMSwweDBlLDB4OTAsMHhmYywweDJmLDB4MTIsMHgwNCwweDZlLDB4NzgsMHg4OCwweDc2LDB4MDQsMHg4MCwweDBjLDB4YjQsCi0weDAwLDB4MDIsMHg4MCwweDAzLDB4ZDMsMHg0MCwweDAwLDB4NzUsMHg2NiwweDA4LDB4MjIsMHg5MCwweGZjLDB4MjksMHgxMiwweDA0LAotMHg4MCwweDkwLDB4MDAsMHgwNSwweDEyLDB4MDEsMHhlYywweGY1LDB4NjcsMHg3OCwweDg1LDB4NzYsMHgwMCwweDc4LDB4ODUsMHhlNiwKLTB4YzMsMHg5NSwweDY3LDB4NDAsMHgwMywweDAyLDB4MWEsMHhjZCwweDc4LDB4ODYsMHg3NiwweDAwLDB4NzgsMHg4NiwweGU2LDB4YzMsCi0weDc4LDB4ODgsMHg5NiwweDUwLDB4NzYsMHg5MCwweGZjLDB4MmMsMHgxMiwweDA0LDB4ODAsMHgxMiwweDAxLDB4ZTYsMHhmYywweDkwLAotMHhmYywweDMyLDB4MTIsMHgwNCwweDg5LDB4MTIsMHgwMSwweGUwLDB4ZjQsMHg1YywweGZjLDB4MTIsMHgwMSwweGUwLDB4ZjgsMHg5MCwKLTB4ZmMsMHgyZiwweDEyLDB4MDQsMHg4MCwweGU4LDB4YzAsMHhlMCwweDEyLDB4MDEsMHhlNiwweGM4LDB4ZDAsMHhlMCwweGM4LDB4NTgsCi0weDRjLDB4ZmMsMHg5MCwweGZjLDB4MmMsMHgxMiwweDA0LDB4ODAsMHhlYywweDEyLDB4MDMsMHgwZiwweDc4LDB4ODcsMHhlYywweGY2LAotMHg5MCwweGZjLDB4MzEsMHhlMCwweDA0LDB4ZjAsMHg5MCwweGZjLDB4MzAsMHg3MCwweDAzLDB4ZTAsMHgwNCwweGYwLDB4MDksMHhlOSwKLTB4NzAsMHgwMSwweDBhLDB4OTAsMHhmYywweDMyLDB4MTIsMHgwNCwweDc3LDB4OTAsMHhmYywweDI5LDB4MTIsMHgwNCwweDgwLDB4OTAsCi0weDAwLDB4MDQsMHgxMiwweDAxLDB4ZWMsMHgzMCwweGU0LDB4MGUsMHg5MCwweGZjLDB4MmUsMHhlMCwweDA0LDB4ZjAsMHg5MCwweGZjLAotMHgyZCwweDcwLDB4MDMsMHhlMCwweDA0LDB4ZjAsMHg3OCwweDg2LDB4MDYsMHg4MCwweDgxLDB4NzgsMHg4OCwweGU2LDB4ZmQsMHhlNCwKLTB4ZmUsMHhmZiwweGVlLDB4Y2QsMHhmYywweDkwLDB4ZmMsMHgzMSwweGUwLDB4MmMsMHhmMCwweDkwLDB4ZmMsMHgzMCwweGUwLDB4M2QsCi0weGYwLDB4NzgsMHg4OCwweGU2LDB4ZmQsMHhlNCwweGZlLDB4ZmYsMHhlZSwweGNkLDB4ZmMsMHg5MCwweGZjLDB4MzQsMHhlMCwweDJjLAotMHhmMCwweDkwLDB4ZmMsMHgzMywweGUwLDB4M2QsMHhmMCwweDc4LDB4ODUsMHgwNiwweDAyLDB4MWEsMHgwZCwweDc1LDB4NjYsMHgwMCwKLTB4MjIsMHhlNSwweDNkLDB4MDUsMHgzZCwweDA0LDB4NzAsMHgwMiwweGIyLDB4YjAsMHgyMiwweGMwLDB4ZTAsMHhjMCwweGYwLDB4YzAsCi0weDgyLDB4YzAsMHg4MywweGMwLDB4ZDAsMHhlOCwweGMwLDB4ZTAsMHhlOSwweGMwLDB4ZTAsMHhlYSwweGMwLDB4ZTAsMHhlYiwweGMwLAotMHhlMCwweGVjLDB4YzAsMHhlMCwweGVkLDB4YzAsMHhlMCwweGVlLDB4YzAsMHhlMCwweGVmLDB4YzAsMHhlMCwweDkwLDB4ZmYsMHg5MiwKLTB4ZTAsMHgxMiwweDAxLDB4YjcsMHgxYiwweDI5LDB4MzAsMHgxYiwweDI5LDB4MzIsMHgxYiwweDM4LDB4MzgsMHgxYiwweDRhLDB4M2EsCi0weDFiLDB4NWMsMHgzZSwweDFiLDB4NzQsMHg0NCwweDFiLDB4NjgsMHg0NiwweDFiLDB4ODAsMHg1MCwweDFiLDB4YzIsMHg1MiwweDFiLAotMHhhMSwweDU0LDB4MWIsMHhlMywweDU2LDB4MDAsMHgwMCwweDFjLDB4MDQsMHg5MCwweGZmLDB4OTIsMHhlMCwweDdmLDB4MDAsMHhmZSwKLTB4N2MsMHgwMSwweDEyLDB4MzEsMHhmYiwweDAyLDB4MWMsMHgxNCwweGU0LDB4ZmYsMHgwNCwweGZlLDB4N2MsMHgwMywweDEyLDB4MzEsCi0weGZiLDB4NzQsMHgyMCwweDkwLDB4ZmYsMHhmZSwweGYwLDB4MDIsMHgxYywweDE0LDB4ZTQsMHhmZiwweDA0LDB4ZmUsMHg3YywweDAyLAotMHgxMiwweDMxLDB4ZmIsMHg3NCwweDQwLDB4OTAsMHhmZiwweGZlLDB4ZjAsMHgwMiwweDFjLDB4MTQsMHhlNCwweGZmLDB4MDQsMHhmZSwKLTB4N2MsMHgwNCwweDEyLDB4MzEsMHhmYiwweDAyLDB4MWMsMHgxNCwweGU0LDB4ZmYsMHgwNCwweGZlLDB4N2MsMHgwNSwweDEyLDB4MzEsCi0weGZiLDB4MDIsMHgxYywweDE0LDB4ZTQsMHhmZiwweDA0LDB4ZmUsMHg3YywweDA2LDB4MTIsMHgzMSwweGZiLDB4MDIsMHgxYywweDE0LAotMHg5MCwweGZmLDB4YTUsMHhlMCwweDdkLDB4MDAsMHg5MCwweGZiLDB4ZjgsMHhjZCwweGYwLDB4YTMsMHhjZCwweGYwLDB4OTAsMHhmYiwKLTB4ZjksMHhlMCwweGZjLDB4ZjUsMHg4MywweDkwLDB4ZmIsMHhmOCwweGUwLDB4NDQsMHgzMywweGZkLDB4MTIsMHgxYywweGE3LDB4ODAsCi0weDczLDB4OTAsMHhmZiwweGI1LDB4ZTAsMHg3ZCwweDAwLDB4OTAsMHhmYiwweGZhLDB4Y2QsMHhmMCwweGEzLDB4Y2QsMHhmMCwweDkwLAotMHhmYiwweGZiLDB4ZTAsMHhmYywweGY1LDB4ODMsMHg5MCwweGZiLDB4ZmEsMHhlMCwweDQ0LDB4NDMsMHhmZCwweDEyLDB4MWMsMHhhNywKLTB4ODAsMHg1MiwweDkwLDB4ZmYsMHhhNiwweGUwLDB4N2QsMHgwMCwweDkwLDB4ZmIsMHhmYywweGNkLDB4ZjAsMHhhMywweGNkLDB4ZjAsCi0weDkwLDB4ZmIsMHhmZCwweGUwLDB4ZmMsMHhmNSwweDgzLDB4OTAsMHhmYiwweGZjLDB4ZTAsMHg0NCwweDM0LDB4ZmQsMHgxMiwweDFjLAotMHhhNywweDgwLDB4MzEsMHg5MCwweGZmLDB4YjYsMHhlMCwweDdkLDB4MDAsMHg5MCwweGZiLDB4ZmUsMHhjZCwweGYwLDB4YTMsMHhjZCwKLTB4ZjAsMHg5MCwweGZiLDB4ZmYsMHhlMCwweGZjLDB4ZjUsMHg4MywweDkwLDB4ZmIsMHhmZSwweGUwLDB4NDQsMHg0NCwweGZkLDB4MTIsCi0weDFjLDB4YTcsMHg4MCwweDEwLDB4OTAsMHhmZiwweDkyLDB4ZTAsMHg3ZCwweDAwLDB4ZmMsMHhlZCwweDQ0LDB4YWEsMHhmZCwweDEyLAotMHgxYywweGE3LDB4ODAsMHgwMCwweGU0LDB4OTAsMHhmZiwweDkyLDB4ZjAsMHhkMCwweGUwLDB4ZmYsMHhkMCwweGUwLDB4ZmUsMHhkMCwKLTB4ZTAsMHhmZCwweGQwLDB4ZTAsMHhmYywweGQwLDB4ZTAsMHhmYiwweGQwLDB4ZTAsMHhmYSwweGQwLDB4ZTAsMHhmOSwweGQwLDB4ZTAsCi0weGY4LDB4ZDAsMHhkMCwweGQwLDB4ODMsMHhkMCwweDgyLDB4ZDAsMHhmMCwweGQwLDB4ZTAsMHgzMiwweDA1LDB4ODEsMHgwNSwweDgxLAotMHgwNSwweDgxLDB4MDUsMHg4MSwweGE4LDB4ODEsMHgxOCwweDE4LDB4MTgsMHhlZCwweGY2LDB4MDgsMHhlYywweGY2LDB4OTAsMHhmZiwKLTB4NWEsMHhlMCwweDIwLDB4ZTcsMHgwMiwweDgwLDB4ZjcsMHg5MCwweGZmLDB4NTksMHhlMCwweDdkLDB4MDAsMHhhOCwweDgxLDB4MTgsCi0weGNkLDB4ZjYsMHhjZCwweDA4LDB4ZjYsMHg3ZCwweDAzLDB4YTgsMHg4MSwweGU2LDB4MTgsMHhmYywweGU2LDB4Y2MsMHgyNSwweGUwLAotMHhjYywweDMzLDB4Y2MsMHhkZCwweGY5LDB4Y2MsMHhmNiwweGNjLDB4MDgsMHhmNiwweGE4LDB4ODEsMHgxOCwweGU2LDB4NDQsMHhmOCwKLTB4ZjYsMHhhOCwweDgxLDB4MTgsMHgxOCwweDE4LDB4ZTYsMHhmZCwweDA4LDB4ZTYsMHhmYywweGE4LDB4ODEsMHgxOCwweDg2LDB4ODMsCi0weDA4LDB4ODYsMHg4MiwweGVkLDB4ZjAsMHhhMywweGVjLDB4ZjAsMHg3NCwweDAyLDB4OTAsMHhmZiwweDVhLDB4ZjAsMHgxNSwweDgxLAotMHgxNSwweDgxLDB4MTUsMHg4MSwweDE1LDB4ODEsMHgyMiwweGU1LDB4ODEsMHgyNCwweDA1LDB4ZjUsMHg4MSwweGU0LDB4YTgsMHg4MSwKLTB4MTgsMHhmNiwweGE4LDB4ODEsMHgxOCwweDE4LDB4MTgsMHgxOCwweGVkLDB4ZjYsMHgwOCwweGVjLDB4ZjYsMHg5MCwweGZiLDB4ZjUsCi0weGUwLDB4MjQsMHhmOCwweDUwLDB4MDMsMHgwMiwweDFkLDB4YzgsMHhlNCwweGE4LDB4ODEsMHgxOCwweDE4LDB4ZjYsMHhhOCwweDgxLAotMHgxOCwweGU2LDB4ZmUsMHhhOCwweDgxLDB4MTgsMHgxOCwweDE4LDB4MTgsMHhlNiwweGZkLDB4MDgsMHhlNiwweGZjLDB4N2YsMHgwMCwKLTB4ZWYsMHgyNCwweGY4LDB4NDAsMHg0ZCwweGU0LDB4ZWYsMHgyNSwweGUwLDB4MjQsMHg3ZCwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmMsCi0weGY1LDB4ODMsMHhlMCwweGZiLDB4YTMsMHhlMCwweDZjLDB4NzAsMHgwMywweGZhLDB4ZWIsMHg2ZCwweDcwLDB4MDksMHg3NCwweDAxLAotMHhhOCwweDgxLDB4MTgsMHgxOCwweGY2LDB4ODAsMHgyYiwweGU0LDB4ZWYsMHgyNSwweGUwLDB4MjQsMHg3ZCwweGY1LDB4ODIsMHhlNCwKLTB4MzQsMHhmYywweGY1LDB4ODMsMHg3YSwweDAwLDB4ZTAsMHg1NCwweGYwLDB4Y2MsMHhmOCwweGNjLDB4Y2QsMHhmOSwweGNkLDB4ZmIsCi0weDc4LDB4MDAsMHhlOSwweDU0LDB4ZjAsMHhmOSwweGVhLDB4NjgsMHg3MCwweDAyLDB4ZWIsMHg2OSwweDcwLDB4MDEsMHgwZSwweDBmLAotMHg4MCwweGFlLDB4YTgsMHg4MSwweDE4LDB4ZWUsMHhmNiwweGE4LDB4ODEsMHgxOCwweDE4LDB4MTgsMHgxOCwweGVkLDB4ZjYsMHgwOCwKLTB4ZWMsMHhmNiwweGE4LDB4ODEsMHhlZiwweGY2LDB4YTgsMHg4MSwweDE4LDB4MTgsMHhlNiwweDcwLDB4NzksMHhhOCwweDgxLDB4MTgsCi0weGU2LDB4MjQsMHhmNywweDQwLDB4NzEsMHhhOCwweDgxLDB4MTgsMHgxOCwweDE4LDB4MTgsMHhlNiwweDU0LDB4MGYsMHhhOCwweDgxLAotMHhmNiwweDY0LDB4MDQsMHg2MCwweDE3LDB4YTgsMHg4MSwweGU2LDB4NjQsMHgwMywweDYwLDB4MTAsMHhhOCwweDgxLDB4MTgsMHgxOCwKLTB4MTgsMHgxOCwweGU2LDB4ZmQsMHgwOCwweGU2LDB4ZmMsMHgxMiwweDFjLDB4M2MsMHg4MCwweDRhLDB4N2MsMHgwYSwweDEyLDB4MzEsCi0weDViLDB4YTgsMHg4MSwweDE4LDB4MTgsMHgxOCwweDE4LDB4ZTYsMHhmZCwweDA4LDB4ZTYsMHhmYywweDkwLDB4ZmIsMHhmNCwweGUwLAotMHgyNSwweGUwLDB4MjQsMHg3ZCwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmMsMHhmNSwweDgzLDB4ZWQsMHhmMCwweGEzLDB4ZWMsMHhmMCwKLTB4OTAsMHhmYiwweGY0LDB4ZTAsMHhmZiwweGU0LDB4ZWYsMHgwNCwweDU0LDB4MDcsMHhmZiwweDkwLDB4ZmIsMHhmNCwweGYwLDB4OTAsCi0weGZiLDB4ZjUsMHhlMCwweDA0LDB4ZjAsMHgxMiwweDMxLDB4ZjQsMHg5MCwweGZiLDB4ZjYsMHhlMCwweDcwLDB4MDgsMHhlNCwweGZlLAotMHhmZiwweDdjLDB4MGYsMHgxMiwweDMxLDB4ZmIsMHg4MCwweDI3LDB4OTAsMHhmYiwweGY3LDB4ZTAsMHgwNCwweGYwLDB4NTQsMHgzZiwKLTB4NzAsMHgxZCwweDkwLDB4ZmIsMHhmNywweGUwLDB4NDQsMHhmZSwweDdkLDB4MDAsMHhmYywweDkwLDB4ZmIsMHhmNCwweGUwLDB4MjUsCi0weGUwLDB4MjQsMHg3ZCwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmMsMHhmNSwweDgzLDB4ZWQsMHhmMCwweGEzLDB4ZWMsMHhmMCwweGU1LAotMHg4MSwweDI0LDB4ZmIsMHhmNSwweDgxLDB4MjIsMHg3OCwweDhiLDB4NzYsMHgwMCwweDc4LDB4OGMsMHg3NiwweDAwLDB4NzQsMHgwMSwKLTB4OTAsMHhmYiwweGY2LDB4ZjAsMHgxMiwweDMwLDB4ZTYsMHg5MCwweGZiLDB4ZjUsMHhlMCwweDYwLDB4NTcsMHg3YywweDBhLDB4MTIsCi0weDMxLDB4NWIsMHg5MCwweGZiLDB4ZjMsMHhlMCwweDI1LDB4ZTAsMHgyNCwweDdkLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmYywweGY1LAotMHg4MywweGUwLDB4ZmQsMHhhMywweGUwLDB4ZmMsMHg5MCwweGZiLDB4ZjMsMHhlMCwweDI1LDB4ZTAsMHgyNCwweDdkLDB4ZjUsMHg4MiwKLTB4ZTQsMHgzNCwweGZjLDB4ZjUsMHg4MywweGU0LDB4ZjAsMHhhMywweGYwLDB4OTAsMHhmYiwweGYzLDB4ZTAsMHhmZiwweGU0LDB4ZWYsCi0weDA0LDB4NTQsMHgwNywweGZmLDB4OTAsMHhmYiwweGYzLDB4ZjAsMHg5MCwweGZiLDB4ZjUsMHhlMCwweDE0LDB4ZjAsMHg3OCwweDg5LAotMHhlZCwweGY2LDB4MDgsMHhlYywweGY2LDB4MTIsMHgzMSwweGY0LDB4NzgsMHg4OSwweGU2LDB4ZmQsMHgwOCwweGU2LDB4ZmMsMHgxMiwKLTB4MDgsMHhkYSwweDgwLDB4YTMsMHgxMiwweDMyLDB4NDgsMHg5MCwweGZmLDB4OTMsMHhlMCwweDQ0LDB4MDEsMHhmMCwweGIyLDB4YjMsCi0weDc4LDB4OGIsMHgwNiwweGI2LDB4MDAsMHgxMSwweDc4LDB4OGIsMHg3NiwweDAwLDB4NzgsMHg4YywweGU2LDB4ZjQsMHgwNCwweDA0LAotMHhhMiwweGUwLDB4OTIsMHhiNCwweDc4LDB4OGMsMHhmNiwweDAyLDB4MWUsMHgwNywweGU0LDB4OTAsMHhmYiwweGY2LDB4ZjAsMHg5MCwKLTB4ZmIsMHhmNSwweGUwLDB4N2QsMHgwMCwweGZjLDB4ZWQsMHg0NCwweGNmLDB4ZmQsMHgxMiwweDFjLDB4M2MsMHgxMiwweDMxLDB4NjksCi0weDIyLDB4MTIsMHgzMCwweGU2LDB4ZTUsMHg3MCwweDY0LDB4NDksMHg0NSwweDZmLDB4NjAsMHgxNSwweDkwLDB4ZmYsMHg4MywweGUwLAotMHg1NCwweDBmLDB4N2QsMHgwMCwweGQzLDB4OTUsMHg3MCwweGVkLDB4OTUsMHg2ZiwweDUwLDB4MDUsMHgxMiwweDJmLDB4MmYsMHg4MCwKLTB4MDMsMHgxMiwweDJmLDB4ZmYsMHgxMiwweDMxLDB4NjksMHgyMiwweDEyLDB4MzAsMHhlNiwweGU1LDB4NzAsMHg2NCwweDQ5LDB4NDUsCi0weDZmLDB4NjAsMHgwNSwweDEyLDB4MzAsMHgzOSwweDgwLDB4MGUsMHg5MCwweGZmLDB4ODAsMHhlMCwweDQ0LDB4MDgsMHhmMCwweDkwLAotMHhmZiwweDgzLDB4ZTAsMHg1NCwweDdmLDB4ZjAsMHgxMiwweDMxLDB4NjksMHgyMiwweDEyLDB4MzAsMHhlNiwweDhjLDB4NTQsMHhlYywKLTB4NTQsMHhmMCwweGI0LDB4MTAsMHgxNSwweDc1LDB4NmEsMHgzNSwweDc1LDB4NjksMHhmYywweDc1LDB4NjgsMHgwMSwweGU1LDB4NmEsCi0weDI0LDB4MDMsMHhmNSwweDZhLDB4ZTUsMHg2OSwweDM0LDB4MDAsMHhmNSwweDY5LDB4ZTQsMHhmNSwweDU3LDB4ZjUsMHg1NiwweGU1LAotMHg1NiwweGMzLDB4OTQsMHgwMSwweDUwLDB4MjcsMHhlNSwweDU0LDB4NTQsMHgwZiwweGZjLDB4YWQsMHg2YSwweGFlLDB4NjksMHhhZiwKLTB4NjgsMHgxMiwweDBlLDB4NzcsMHg4YywweDU1LDB4ZWMsMHg2MCwweDAyLDB4ODAsMHgxMiwweDA1LDB4NmEsMHhlNSwweDZhLDB4NzAsCi0weDAyLDB4MDUsMHg2OSwweDA1LDB4NTcsMHhlNSwweDU3LDB4NzAsMHgwMiwweDA1LDB4NTYsMHg4MCwweGQyLDB4ZTUsMHg1NCwweDU0LAotMHgwZiwweDI0LDB4OWQsMHhmOCwweGM2LDB4NTQsMHhmZSwweGY2LDB4ZTUsMHg1NCwweDU0LDB4MGYsMHg3ZiwweDAwLDB4ZmUsMHg3YywKLTB4MTIsMHgxMiwweDMxLDB4ZmIsMHhlNSwweDU1LDB4MTQsMHg3MCwweDA5LDB4N2QsMHgwMCwweDdjLDB4MDksMHgxMiwweDI1LDB4MjYsCi0weDgwLDB4MDcsMHhhZCwweDU3LDB4N2MsMHgwMCwweDEyLDB4MjUsMHgyNiwweDEyLDB4MzEsMHg2OSwweDIyLDB4MTIsMHgzMCwweGU2LAotMHg5MCwweGZmLDB4ZmMsMHhlMCwweDQ0LDB4MDIsMHhmMCwweDkwLDB4ZmYsMHgwMCwweGUwLDB4MzAsMHhlNywweDEzLDB4OTAsMHhmZiwKLTB4ODMsMHhlMCwweDQ0LDB4ODAsMHhmMCwweDQzLDB4NmQsMHg4MCwweDkwLDB4ZmYsMHhmYywweGUwLDB4NDQsMHgwMSwweGYwLDB4ODAsCi0weDExLDB4OTAsMHhmZiwweDgyLDB4ZTAsMHg0NCwweDA4LDB4ZjAsMHg1MywweDZkLDB4N2YsMHg5MCwweGZmLDB4ZmMsMHhlMCwweDU0LAotMHhmZSwweGYwLDB4OTAsMHhmZiwweDgxLDB4ZTAsMHg0NCwweDgwLDB4ZjAsMHgxMiwweDI1LDB4ZDksMHg5MCwweGZmLDB4ZmUsMHhlMCwKLTB4NDQsMHgwNSwweGYwLDB4OTAsMHhmZiwweGZjLDB4ZTAsMHg1NCwweGZkLDB4ZjAsMHgxMiwweDMxLDB4NjksMHgyMiwweDEyLDB4MzAsCi0weGU2LDB4N2MsMHgwMSwweDEyLDB4MzIsMHhhOSwweDc4LDB4YWQsMHhlNiwweDQ0LDB4MDIsMHhmNiwweDc0LDB4ZmUsMHhmYywweDA0LAotMHhmZCwweDEyLDB4MWMsMHhhNywweDkwLDB4ZmYsMHg1YSwweGUwLDB4MzAsMHhlNywweDAyLDB4ODAsMHhmNywweGU0LDB4ZjUsMHg0ZSwKLTB4NzUsMHg0ZCwweDEwLDB4YWMsMHg0ZSwweGFkLDB4NGQsMHhlNSwweDRlLDB4MTUsMHg0ZSwweDcwLDB4MDIsMHgxNSwweDRkLDB4ZWMsCi0weDRkLDB4NjAsMHgwMiwweDgwLDB4ZWUsMHg0MywweDg3LDB4MDEsMHgxMiwweDMxLDB4NjksMHgyMiwweDEyLDB4MzAsMHhlNiwweDdjLAotMHgwMiwweDEyLDB4MzEsMHg3NSwweDc4LDB4YWQsMHhlNiwweDU0LDB4ZmQsMHhmNiwweDEyLDB4MzEsMHg2OSwweDIyLDB4MTIsMHgzMCwKLTB4ZTYsMHg3OCwweGFkLDB4ZTYsMHgzMCwweGUwLDB4MmMsMHg3OCwweGFkLDB4ZTYsMHgzMCwweGUxLDB4MjYsMHg3OCwweGFkLDB4ZTYsCi0weGZjLDB4ZjUsMHg4MywweDE4LDB4ZTYsMHg0NCwweGYwLDB4ZmQsMHgxMiwweDFjLDB4M2MsMHg5MCwweGZmLDB4ZmMsMHhlMCwweDQ0LAotMHgyMCwweGYwLDB4N2MsMHgwMiwweDEyLDB4MzIsMHhhOSwweDc4LDB4YWQsMHhlNiwweDU0LDB4ZmQsMHhmNiwweDc0LDB4MWEsMHg5MCwKLTB4ZmYsMHhmZSwweGYwLDB4NzgsMHhhZCwweGU2LDB4ZmMsMHhmNSwweDgzLDB4MTgsMHhlNiwweDQ0LDB4ZjEsMHhmZCwweDEyLDB4MWMsCi0weDNjLDB4MTIsMHgzMSwweDY5LDB4MjIsMHg3NSwweDZkLDB4MDAsMHg5MCwweGZmLDB4ZmYsMHhlMCwweDYwLDB4MDMsMHg0MywweDZkLAotMHgwMSwweDc1LDB4NmUsMHgwMCwweGU0LDB4ZjUsMHg2YywweGY1LDB4NmIsMHhlNCwweGY1LDB4NmYsMHg3NSwweDcwLDB4NDksMHg3NCwKLTB4ODQsMHg5MCwweGZmLDB4ODIsMHhmMCwweDc0LDB4ODQsMHg5MCwweGZmLDB4ODAsMHhmMCwweDc0LDB4ODAsMHg5MCwweGZmLDB4NTgsCi0weGYwLDB4NzQsMHg4MCwweDkwLDB4ZmYsMHg1YSwweGYwLDB4YWQsMHg0NiwweGFmLDB4NDUsMHg3ZSwweDAwLDB4ZWUsMHgyNCwweGZlLAotMHg1MCwweDAzLDB4MDIsMHgyMSwweDI0LDB4ZTQsMHhlZSwweDc1LDB4ZjAsMHgwNywweGE0LDB4MjQsMHg3ZiwweGY1LDB4ODIsMHhlNCwKLTB4MzQsMHhmOCwweGY1LDB4ODMsMHhlMCwweGZmLDB4ZTQsMHhlZiwweDU0LDB4ODAsMHhmZCwweGU0LDB4ZWYsMHg1NCwweDBmLDB4MTQsCi0weGZmLDB4ZWQsMHg2MCwweDM4LDB4ZTQsMHhlZiwweDc1LDB4ZjAsMHgwOCwweGE0LDB4MjQsMHg0OCwweGY1LDB4ODIsMHhlNCwweDM0LAotMHhmZiwweGY1LDB4ODMsMHg3NCwweDkwLDB4ZjAsMHhlNCwweGVmLDB4NzUsMHhmMCwweDA4LDB4YTQsMHgyNCwweDRhLDB4ZjUsMHg4MiwKLTB4ZTQsMHgzNCwweGZmLDB4ZjUsMHg4MywweDc0LDB4ODAsMHhmMCwweGU0LDB4ZWYsMHg3NSwweGYwLDB4MDgsMHhhNCwweDI0LDB4NGUsCi0weGY1LDB4ODIsMHhlNCwweDM0LDB4ZmYsMHhmNSwweDgzLDB4NzQsMHg4MCwweGYwLDB4ODAsMHgzNCwweGU0LDB4ZWYsMHg3NSwweGYwLAotMHgwOCwweGE0LDB4MjQsMHgwOCwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmYsMHhmNSwweDgzLDB4NzQsMHg5MCwweGYwLDB4ZTQsMHhlZiwKLTB4NzUsMHhmMCwweDA4LDB4YTQsMHgyNCwweDBhLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmZiwweGY1LDB4ODMsMHhlNCwweGYwLDB4ZTQsCi0weGVmLDB4NzUsMHhmMCwweDA4LDB4YTQsMHgyNCwweDBlLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmZiwweGY1LDB4ODMsMHhlNCwweGYwLAotMHgwZSwweDAyLDB4MjAsMHg4ZCwweDhkLDB4NDYsMHg4ZSwweDQ0LDB4OGYsMHg0NSwweDc0LDB4N2YsMHg5MCwweGZmLDB4ZmQsMHhmMCwKLTB4NzQsMHg5MCwweDkwLDB4ZmYsMHhmYywweGYwLDB4MjIsMHg4YywweDU4LDB4ZWMsMHgyNCwweGY2LDB4NTAsMHgwNiwweGU1LDB4NTgsCi0weDI0LDB4MzcsMHhmYywweDIyLDB4ZTUsMHg1OCwweDI0LDB4MzAsMHhmYywweDIyLDB4MTIsMHgyNSwweDIzLDB4ZWMsMHg3MCwweDAzLAotMHgwMiwweDIyLDB4NWUsMHg3NSwweDVjLDB4MDMsMHhhZSwweDViLDB4N2YsMHgwMCwweGU1LDB4NWMsMHgxNSwweDVjLDB4NjQsMHg4MCwKLTB4MjQsMHg3ZiwweDUwLDB4MzUsMHhlZiwweDI0LDB4MDAsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZiLDB4ZjUsMHg4MywweGUwLDB4ZmUsCi0weDI0LDB4ZmUsMHg1MCwweDFlLDB4ZWYsMHg3ZCwweDAwLDB4ZmMsMHhlNCwweGZiLDB4NzQsMHg3NCwweGMzLDB4OWMsMHhmYSwweGViLAotMHg5ZCwweGZiLDB4ZWUsMHg3ZCwweDAwLDB4ZmMsMHhlYSwweGMzLDB4OWMsMHhlZCwweDY0LDB4ODAsMHhjYiwweDY0LDB4ODAsMHg5YiwKLTB4NTAsMHgwMiwweDgwLDB4MDUsMHhlZiwweDJlLDB4ZmYsMHg4MCwweGMxLDB4OGUsMHg1YiwweDhmLDB4NWEsMHhlNSwweDVjLDB4NjQsCi0weDgwLDB4MjQsMHg3ZiwweDUwLDB4MDMsMHgwMiwweDIyLDB4NWUsMHhlNSwweDVhLDB4MjQsMHg4ZSwweDUwLDB4MDMsMHgwMiwweDIyLAotMHg1ZSwweDg1LDB4NWEsMHg1ZCwweDc1LDB4NWIsMHgwMCwweGFlLDB4NWEsMHhhZiwweDViLDB4OTAsMHgzNSwweDljLDB4ZTQsMHg5MywKLTB4ZjUsMHg1YywweGU1LDB4NWMsMHgxNSwweDVjLDB4NjQsMHg4MCwweDI0LDB4N2YsMHg1MCwweDE4LDB4ZWUsMHgyNCwweDAwLDB4ZjUsCi0weDgyLDB4ZTQsMHgzNCwweGZiLDB4ZjUsMHg4MywweGUwLDB4ZmMsMHhlZiwweDkwLDB4MzUsMHg5YywweDkzLDB4NmMsMHg3MCwweDA0LAotMHgwZSwweDBmLDB4ODAsMHhkZSwweDhlLDB4NWEsMHg4ZiwweDViLDB4ZTUsMHg1YywweDY0LDB4ODAsMHgyNCwweDdmLDB4NDAsMHg2ZSwKLTB4NzUsMHg1ZSwweDAxLDB4NzUsMHg2MCwweGU4LDB4NzUsMHg1ZiwweGZmLDB4ZTUsMHg1ZCwweDI0LDB4MDIsMHhmNSwweDVhLDB4NzUsCi0weDVjLDB4MDcsMHhlNSwweDVjLDB4MzMsMHg0MCwweDU3LDB4YWQsMHg2MCwweGFlLDB4NWYsMHhhZiwweDVlLDB4ZTUsMHg1YywweGY1LAotMHg4MiwweDMzLDB4OTUsMHhlMCwweGY1LDB4ODMsMHgxMiwweDAxLDB4ZWMsMHhjNCwweDU0LDB4MGYsMHhmYywweDEyLDB4MjEsMHgzNywKLTB4ZTUsMHg1YSwweDI0LDB4MDAsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZiLDB4ZjUsMHg4MywweGVjLDB4ZjAsMHgwNSwweDVhLDB4MDUsCi0weDVhLDB4YWQsMHg2MCwweGFlLDB4NWYsMHhhZiwweDVlLDB4ZTUsMHg1YywweGY1LDB4ODIsMHgzMywweDk1LDB4ZTAsMHhmNSwweDgzLAotMHgxMiwweDAxLDB4ZWMsMHg1NCwweDBmLDB4ZmMsMHgxMiwweDIxLDB4MzcsMHhlNSwweDVhLDB4MjQsMHgwMCwweGY1LDB4ODIsMHhlNCwKLTB4MzQsMHhmYiwweGY1LDB4ODMsMHhlYywweGYwLDB4MDUsMHg1YSwweDA1LDB4NWEsMHgxNSwweDVjLDB4ODAsMHhhNCwweDc0LDB4MDIsCi0weDkwLDB4ZjgsMHg1MSwweGYwLDB4OTAsMHhmOCwweDZiLDB4NzksMHg3NSwweDdhLDB4MzUsMHg3YiwweDI3LDB4NzgsMHgwMSwweDEyLAotMHgwMywweGY1LDB4NzUsMHg2YSwweDM1LDB4NzUsMHg2OSwweGZjLDB4NzUsMHg2OCwweDAxLDB4ZTQsMHg5MCwweGZmLDB4ODMsMHhmMCwKLTB4NzQsMHg4MCwweDkwLDB4ZmYsMHg4MSwweGYwLDB4NzUsMHg1OSwweDAyLDB4ZTUsMHg1OSwweDc1LDB4ZjAsMHgwNywweGE0LDB4MjQsCi0weDdmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmOCwweGY1LDB4ODMsMHhlMCwweDc4LDB4OGYsMHhmNiwweGZjLDB4NTQsMHgwZiwweDE0LAotMHhmYywweDc4LDB4OGYsMHhlYywweGY2LDB4ZTUsMHg1OSwweDc1LDB4ZjAsMHgwNywweGE0LDB4MjQsMHg4MSwweGY1LDB4ODIsMHhlNCwKLTB4MzQsMHhmOCwweGY1LDB4ODMsMHhlMCwweDc4LDB4OTIsMHg3NiwweGZkLDB4MDgsMHg3NiwweGU4LDB4ZmMsMHg3OCwweDhmLDB4ZTYsCi0weDc1LDB4ZjAsMHgwOCwweGE0LDB4MjQsMHg0OCwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmYsMHhmNSwweDgzLDB4ZTQsMHhmMCwweDc4LAotMHg4ZiwweGU2LDB4NzUsMHhmMCwweDA4LDB4YTQsMHgyNCwweDRmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmZiwweGY1LDB4ODMsMHhlYywKLTB4ZjAsMHg3OCwweDkyLDB4ZTYsMHhmZiwweDA4LDB4ZTYsMHg3ZSwweDAzLDB4Y2YsMHhjMywweDEzLDB4Y2YsMHgxMywweGRlLDB4ZjksCi0weGZlLDB4NzgsMHg4ZiwweGU2LDB4NzUsMHhmMCwweDA4LDB4YTQsMHgyNCwweDQ5LDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmZiwweGY1LAotMHg4MywweGVlLDB4ZjAsMHg3OCwweDhmLDB4ZTYsMHg3NSwweGYwLDB4MDgsMHhhNCwweDI0LDB4NGEsMHhmNSwweDgyLDB4ZTQsMHgzNCwKLTB4ZmYsMHhmNSwweDgzLDB4NzQsMHg4MCwweGYwLDB4NzgsMHg5MCwweGVjLDB4ZjYsMHg3ZCwweDAwLDB4NzgsMHg5MywweGU2LDB4MmMsCi0weGY2LDB4MTgsMHhlNiwweDNkLDB4ZjYsMHg3OCwweDkyLDB4ZTYsMHhmZCwweDA4LDB4ZTYsMHg3YywweDAzLDB4Y2QsMHhjMywweDEzLAotMHhjZCwweDEzLDB4ZGMsMHhmOSwweGZjLDB4NzgsMHg4ZiwweGU2LDB4NzUsMHhmMCwweDA4LDB4YTQsMHgyNCwweDRkLDB4ZjUsMHg4MiwKLTB4ZTQsMHgzNCwweGZmLDB4ZjUsMHg4MywweGVjLDB4ZjAsMHg3OCwweDhmLDB4ZTYsMHg3NSwweGYwLDB4MDgsMHhhNCwweDI0LDB4NGUsCi0weGY1LDB4ODIsMHhlNCwweDM0LDB4ZmYsMHhmNSwweDgzLDB4ZTQsMHhmMCwweDc4LDB4OTIsMHhlNiwweGZkLDB4MDgsMHhlNiwweGZjLAotMHg3OCwweDhmLDB4ZTYsMHhmZiwweDdlLDB4MDAsMHhlZSwweDI0LDB4ZmUsMHg1MCwweDAzLDB4MDIsMHgyNCwweGRkLDB4ZTQsMHhlZSwKLTB4NzUsMHhmMCwweDA3LDB4YTQsMHgyNCwweDdmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmOCwweGY1LDB4ODMsMHhlMCwweGZmLDB4ZTQsCi0weGVmLDB4NTQsMHg4MCwweGZhLDB4ZTQsMHhlZiwweDU0LDB4MGYsMHgxNCwweGZmLDB4ZTQsMHhlZSwweDc1LDB4ZjAsMHgwNywweGE0LAotMHgyNCwweDgxLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmOCwweGY1LDB4ODMsMHhlMCwweDc4LDB4OTAsMHhmNiwweGU0LDB4ZWUsMHgxMywKLTB4MTMsMHg1NCwweDgwLDB4MjQsMHhmMCwweGY4LDB4ZTQsMHgzNCwweGZkLDB4ZjksMHhlOCwweGZjLDB4ZTksMHhmZCwweDhhLDB4NWEsCi0weGVhLDB4NzAsMHgwMywweDAyLDB4MjQsMHg0YSwweGU0LDB4ZWYsMHg3NSwweGYwLDB4MDgsMHhhNCwweDI0LDB4NDgsMHhmNSwweDgyLAotMHhlNCwweDM0LDB4ZmYsMHhmNSwweDgzLDB4ZTQsMHhmMCwweDc4LDB4OTAsMHhlNiwweGZhLDB4ZTQsMHhlZiwweDc1LDB4ZjAsMHgwOCwKLTB4YTQsMHgyNCwweDRmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmZiwweGY1LDB4ODMsMHhlYSwweGYwLDB4ZWQsMHhmYiwweGVjLDB4N2EsCi0weDAzLDB4Y2IsMHhjMywweDEzLDB4Y2IsMHgxMywweGRhLDB4ZjksMHhmYSwweGU0LDB4ZWYsMHg3NSwweGYwLDB4MDgsMHhhNCwweDI0LAotMHg0OSwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmYsMHhmNSwweDgzLDB4ZWEsMHhmMCwweDc4LDB4OTAsMHhlNiwweDdiLDB4MDAsMHhmYSwKLTB4ZWMsMHgyYSwweGZjLDB4ZWQsMHgzYiwweGZkLDB4ZmIsMHhlYywweDdhLDB4MDMsMHhjYiwweGMzLDB4MTMsMHhjYiwweDEzLDB4ZGEsCi0weGY5LDB4ZmEsMHhlNCwweGVmLDB4NzUsMHhmMCwweDA4LDB4YTQsMHgyNCwweDRkLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmZiwweGY1LAotMHg4MywweGVhLDB4ZjAsMHhlNCwweGVmLDB4NzUsMHhmMCwweDA4LDB4YTQsMHgyNCwweDRhLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmZiwKLTB4ZjUsMHg4MywweDc0LDB4ODAsMHhmMCwweGU0LDB4ZWYsMHg3NSwweGYwLDB4MDgsMHhhNCwweDI0LDB4NGUsMHhmNSwweDgyLDB4ZTQsCi0weDM0LDB4ZmYsMHhmNSwweDgzLDB4NzQsMHg4MCwweGYwLDB4MDIsMHgyNCwweGQ5LDB4ZTQsMHhlZiwweDc1LDB4ZjAsMHgwOCwweGE0LAotMHgyNCwweDA4LDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmZiwweGY1LDB4ODMsMHhlNCwweGYwLDB4NzgsMHg5MCwweGU2LDB4ZmEsMHhlNCwKLTB4ZWYsMHg3NSwweGYwLDB4MDgsMHhhNCwweDI0LDB4MGYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZmLDB4ZjUsMHg4MywweGVhLDB4ZjAsCi0weGVkLDB4ZmIsMHhlYywweDdhLDB4MDMsMHhjYiwweGMzLDB4MTMsMHhjYiwweDEzLDB4ZGEsMHhmOSwweGZhLDB4ZTQsMHhlZiwweDc1LAotMHhmMCwweDA4LDB4YTQsMHgyNCwweDA5LDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmZiwweGY1LDB4ODMsMHhlYSwweGYwLDB4NzgsMHg5MCwKLTB4ZTYsMHg3YiwweDAwLDB4ZmEsMHhlYywweDJhLDB4ZmMsMHhlZCwweDNiLDB4ZmQsMHhmYiwweGVjLDB4N2EsMHgwMywweGNiLDB4YzMsCi0weDEzLDB4Y2IsMHgxMywweGRhLDB4ZjksMHhmYSwweGU0LDB4ZWYsMHg3NSwweGYwLDB4MDgsMHhhNCwweDI0LDB4MGQsMHhmNSwweDgyLAotMHhlNCwweDM0LDB4ZmYsMHhmNSwweDgzLDB4ZWEsMHhmMCwweGU0LDB4ZWYsMHg3NSwweGYwLDB4MDgsMHhhNCwweDI0LDB4MGEsMHhmNSwKLTB4ODIsMHhlNCwweDM0LDB4ZmYsMHhmNSwweDgzLDB4ZTQsMHhmMCwweGU0LDB4ZWYsMHg3NSwweGYwLDB4MDgsMHhhNCwweDI0LDB4MGUsCi0weGY1LDB4ODIsMHhlNCwweDM0LDB4ZmYsMHhmNSwweDgzLDB4ZTQsMHhmMCwweDBlLDB4MDIsMHgyMywweDY2LDB4OGUsMHg1OSwweDc4LAotMHg5MiwweGVkLDB4ZjYsMHgwOCwweGVjLDB4ZjYsMHg3OCwweDhmLDB4ZWYsMHhmNiwweDEyLDB4MjAsMHg1NSwweDIyLDB4OGMsMHgyNiwKLTB4ZWMsMHgzMCwweGU3LDB4MTgsMHhlNSwweDI2LDB4NTQsMHgwZiwweDE0LDB4NzUsMHhmMCwweDA4LDB4YTQsMHgyNCwweDQ4LDB4ZjUsCi0weDgyLDB4ZTQsMHgzNCwweGZmLDB4ZjUsMHg4MywweGUwLDB4NTQsMHhkZiwweGYwLDB4ODAsMHgxNiwweGU1LDB4MjYsMHg1NCwweDBmLAotMHgxNCwweDc1LDB4ZjAsMHgwOCwweGE0LDB4MjQsMHgwOCwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmYsMHhmNSwweDgzLDB4ZTAsMHg1NCwKLTB4ZGYsMHhmMCwweDIyLDB4N2MsMHgwMCwweDIyLDB4ZWMsMHg5MCwweGZjLDB4MzcsMHhmMCwweDhjLDB4MjQsMHhlZCwweDI0LDB4MDMsCi0weGY1LDB4MjUsMHg3ZCwweDAwLDB4ZDMsMHg5NSwweDcyLDB4ZWQsMHg5NSwweDcxLDB4NDAsMHgwMywweDg1LDB4NzIsMHgyNSwweGU1LAotMHgyNSwweDI0LDB4YjcsMHg1MCwweDA5LDB4NzUsMHgyNSwweDAzLDB4NzQsMHgwMiwweDkwLDB4ZmMsMHgzNywweGYwLDB4YWMsMHgyNSwKLTB4MTIsMHgzMCwweDI0LDB4MjIsMHhlNCwweGY1LDB4NmMsMHhmNSwweDZiLDB4MTIsMHgyNSwweDVkLDB4MjIsMHg5MCwweGZjLDB4MzUsCi0weGUwLDB4NjUsMHg3MywweDYwLDB4MGUsMHg3NCwweDA0LDB4OTAsMHhmYywweDM3LDB4ZjAsMHhlNCwweGY1LDB4NmIsMHg3NSwweDZjLAotMHgwMywweDgwLDB4NDYsMHg3ZCwweDczLDB4ZTQsMHhmZSwweGZmLDB4NzksMHgzNSwweDdhLDB4ZmMsMHg3YiwweDAxLDB4NzQsMHgwNSwKLTB4NzgsMHgwMCwweDEyLDB4MDMsMHgzZiwweGU1LDB4NmMsMHgyNCwweDAzLDB4ZjUsMHg2YywweGU1LDB4NmIsMHgzNCwweDAwLDB4ZjUsCi0weDZiLDB4ZTUsMHg2YywweGQzLDB4OTUsMHg3MiwweGU1LDB4NmIsMHg5NSwweDcxLDB4NDAsMHgwNiwweDg1LDB4NzIsMHg2YywweDg1LAotMHg3MSwweDZiLDB4ZDMsMHhlNSwweDZjLDB4OTQsMHg0OCwweGU1LDB4NmIsMHg5NCwweDAwLDB4NDAsMHgwYywweDc0LDB4MDIsMHg5MCwKLTB4ZmMsMHgzNywweGYwLDB4ZTQsMHhmNSwweDZiLDB4NzUsMHg2YywweDAzLDB4YWMsMHg2YywweDEyLDB4MzAsMHgyNCwweDIyLDB4ZWMsCi0weDkwLDB4ZmMsMHgzNywweGYwLDB4ZTQsMHhmNSwweDZjLDB4ZjUsMHg2YiwweDhjLDB4MzIsMHhlYywweDYwLDB4MDUsMHgxMiwweDMwLAotMHgxNSwweDgwLDB4MDUsMHg3YywweDAwLDB4MTIsMHgzMCwweDI0LDB4MjIsMHg5MCwweGZmLDB4OTMsMHhlMCwweDQ0LDB4MDEsMHhmMCwKLTB4YjIsMHhiMywweDkwLDB4ZmYsMHgwNCwweGUwLDB4ZjUsMHg0YSwweDkwLDB4ZmYsMHgwNiwweGUwLDB4ZmQsMHhhMywweGUwLDB4ZWQsCi0weDdkLDB4MDAsMHhmYywweDdkLDB4MDAsMHhmYywweDkwLDB4ZmYsMHgwNiwweGUwLDB4ZmYsMHhhMywweGUwLDB4N2UsMHgwMCwweGZmLAotMHhlNCwweGZlLDB4ZWMsMHg0ZSwweGZjLDB4ZWQsMHg0ZiwweGZkLDB4YzMsMHhlYywweDk0LDB4NDgsMHhlZCwweDk0LDB4MDAsMHg1MCwKLTB4MjIsMHg5MCwweGZmLDB4MDYsMHhlMCwweGZkLDB4YTMsMHhlMCwweGVkLDB4N2QsMHgwMCwweGZjLDB4N2QsMHgwMCwweGZjLDB4OTAsCi0weGZmLDB4MDYsMHhlMCwweGZmLDB4YTMsMHhlMCwweDdlLDB4MDAsMHhmZiwweGU0LDB4ZmUsMHhlYywweDRlLDB4ZmMsMHhlZCwweDRmLAotMHhmZCwweDgwLDB4MDQsMHhlNCwweGZkLDB4N2MsMHg0OCwweDhjLDB4NzIsMHg4ZCwweDcxLDB4OTAsMHhmZiwweDAyLDB4ZTAsMHhmZCwKLTB4YTMsMHhlMCwweGVkLDB4N2QsMHgwMCwweGZjLDB4N2QsMHgwMCwweGZjLDB4OTAsMHhmZiwweDAyLDB4ZTAsMHhmZiwweGEzLDB4ZTAsCi0weDdlLDB4MDAsMHhmZiwweGU0LDB4ZmUsMHhlYywweDRlLDB4ZjUsMHg0YywweGVkLDB4NGYsMHhmNSwweDRiLDB4NzUsMHg2YSwweDM1LAotMHg3NSwweDY5LDB4ZmMsMHg3NSwweDY4LDB4MDEsMHg3ZCwweDM1LDB4N2UsMHhmYywweDdmLDB4MDEsMHg3OSwweDczLDB4ZTQsMHhmYSwKLTB4ZmIsMHg3NCwweDA1LDB4NzgsMHgwMCwweDEyLDB4MDMsMHgzZiwweDc1LDB4NDksMHgwMCwweGU1LDB4NDksMHgyNCwweGZlLDB4NDAsCi0weDE5LDB4YWQsMHg2YSwweGFlLDB4NjksMHhhZiwweDY4LDB4ZTQsMHgxMiwweDAzLDB4MGYsMHgwNSwweDQ5LDB4MGQsMHhlZCwweDcwLAotMHgwMSwweDBlLDB4OGQsMHg2YSwweDhlLDB4NjksMHg4ZiwweDY4LDB4ODAsMHhlMSwweDc1LDB4NmEsMHgzNSwweDc1LDB4NjksMHhmYywKLTB4NzUsMHg2OCwweDAxLDB4OTAsMHhmZiwweDAwLDB4ZTAsMHg1NCwweDYwLDB4YjQsMHgwMCwweDAyLDB4ODAsMHgwNiwweGQzLDB4NTAsCi0weDAzLDB4MDIsMHgyYywweDZkLDB4ZTUsMHg0YSwweDU0LDB4MGYsMHhmNSwweDQ5LDB4ZTUsMHg0YSwweDU0LDB4ODAsMHhhMiwweGUwLAotMHg5MiwweDAyLDB4OTAsMHhmZiwweDAxLDB4ZTAsMHgxMiwweDAxLDB4ODEsMHgwMCwweDBiLDB4MmMsMHg2OCwweDI2LDB4ZTUsMHgyOCwKLTB4MDMsMHgyYywweDY4LDB4MjksMHgwZiwweDJjLDB4NjgsMHgyOSwweGYyLDB4MmEsMHgyNiwweDJiLDB4OGQsMHgyYiwweDkwLDB4MmIsCi0weGQwLDB4MmMsMHgxMSwweDJjLDB4M2YsMHhlNSwweDZkLDB4MzAsMHhlNywweDBlLDB4ZTUsMHg0YywweDQ1LDB4NGIsMHg3MCwweDA4LAotMHhlNSwweDcyLDB4NjQsMHgwMiwweDQ1LDB4NzEsMHg2MCwweDAzLDB4MDIsMHgyYywweDZhLDB4OTAsMHhmZiwweDAwLDB4ZTAsMHg1NCwKLTB4MWYsMHhiNCwweDAwLDB4MDIsMHg4MCwweDAzLDB4ZDMsMHg0MCwweDI5LDB4ZTUsMHg0YSwweDYwLDB4MDMsMHgwMiwweDI4LDB4MDAsCi0weGFkLDB4NmEsMHhhZSwweDY5LDB4YWYsMHg2OCwweDc0LDB4MDEsMHgxMiwweDAzLDB4MGYsMHg3OCwweGFkLDB4ZTYsMHgzMCwweGUwLAotMHgwYiwweGFkLDB4NmEsMHhhZSwweDY5LDB4YWYsMHg2OCwweDc0LDB4MDIsMHgxMiwweDAzLDB4MGYsMHg3YywweDAyLDB4MTIsMHgzMCwKLTB4MjQsMHgyMiwweGI0LDB4MDEsMHgwMiwweDgwLDB4MDMsMHhkMywweDQwLDB4MWIsMHhlNSwweDZkLDB4MjAsMHhlMSwweDA3LDB4ZTUsCi0weDRhLDB4NjAsMHgwMywweDAyLDB4MjgsMHgwMCwweGU1LDB4NGEsMHgyNCwweGZlLDB4NTAsMHgwMywweDAyLDB4MjgsMHgwMCwweDdjLAotMHgwMiwweDEyLDB4MzAsMHgyNCwweDIyLDB4YjQsMHgwMiwweDAyLDB4ODAsMHgwNiwweGQzLDB4NTAsMHgwMywweDAyLDB4MjcsMHhmZSwKLTB4ZTUsMHg2ZCwweDIwLDB4ZTEsMHgwZCwweGU1LDB4NGEsMHg2MCwweDA5LDB4ZTUsMHg0YSwweDY0LDB4ODAsMHg2MCwweDAzLDB4MDIsCi0weDI4LDB4MDAsMHhhYywweDRhLDB4MTIsMHgzMCwweGFiLDB4NDAsMHgwMywweDAyLDB4MjgsMHgwMCwweGU1LDB4NDksMHg3MCwweDI1LAotMHgzMCwweDAyLDB4MTEsMHg5MCwweGZmLDB4ODAsMHhlMCwweDU0LDB4MDgsMHhhZCwweDZhLDB4YWUsMHg2OSwweGFmLDB4NjgsMHgxMiwKLTB4MDMsMHgwZiwweDgwLDB4MGYsMHg5MCwweGZmLDB4ODIsMHhlMCwweDU0LDB4MDgsMHhhZCwweDZhLDB4YWUsMHg2OSwweGFmLDB4NjgsCi0weDEyLDB4MDMsMHgwZiwweDgwLDB4M2QsMHgxNSwweDQ5LDB4MzAsMHgwMiwweDFkLDB4ZTUsMHg0OSwweDc1LDB4ZjAsMHgwOCwweGE0LAotMHgyNCwweDQ4LDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmZiwweGY1LDB4ODMsMHhlMCwweDU0LDB4MDgsMHhhZCwweDZhLDB4YWUsMHg2OSwKLTB4YWYsMHg2OCwweDEyLDB4MDMsMHgwZiwweDgwLDB4MWIsMHhlNSwweDQ5LDB4NzUsMHhmMCwweDA4LDB4YTQsMHgyNCwweDA4LDB4ZjUsCi0weDgyLDB4ZTQsMHgzNCwweGZmLDB4ZjUsMHg4MywweGUwLDB4NTQsMHgwOCwweGFkLDB4NmEsMHhhZSwweDY5LDB4YWYsMHg2OCwweDEyLAotMHgwMywweDBmLDB4YWQsMHg2YSwweGFlLDB4NjksMHhhZiwweDY4LDB4MTIsMHgwMSwweGU2LDB4NjAsMHgwYiwweGFkLDB4NmEsMHhhZSwKLTB4NjksMHhhZiwweDY4LDB4NzQsMHgwMSwweDEyLDB4MDMsMHgwZiwweDdjLDB4MDIsMHgxMiwweDMwLDB4MjQsMHgyMiwweDgwLDB4MDAsCi0weDAyLDB4MmMsMHg2YSwweGU1LDB4NmQsMHgyMCwweGU3LDB4MDYsMHhlNSwweDcyLDB4NDUsMHg3MSwweDYwLDB4MDMsMHgwMiwweDJjLAotMHg2YSwweDkwLDB4ZmYsMHgwMCwweGUwLDB4NTQsMHgxZiwweGI0LDB4MDAsMHgwMiwweDgwLDB4MDMsMHhkMywweDQwLDB4MWEsMHhlNSwKLTB4NGMsMHgxNCwweDQ1LDB4NGIsMHg3MCwweDA0LDB4ZTUsMHg0YSwweDYwLDB4MDMsMHgwMiwweDI5LDB4MGMsMHg3OCwweGFkLDB4ZTYsCi0weDU0LDB4ZmUsMHhmNiwweDdjLDB4MDAsMHgxMiwweDMwLDB4MjQsMHgyMiwweGI0LDB4MDEsMHgwMiwweDgwLDB4MDMsMHhkMywweDQwLAotMHgyYSwweGU1LDB4NmQsMHgyMCwweGUxLDB4MDgsMHhlNSwweDZkLDB4MjAsMHhlMCwweDAzLDB4MDIsMHgyOSwweDBjLDB4ZTUsMHg2ZCwKLTB4MzAsMHhlMCwweDA0LDB4ZTUsMHg0YSwweDcwLDB4MGIsMHhlNSwweDZkLDB4MzAsMHhlMSwweDA5LDB4ZTUsMHg0YSwweDI0LDB4ZmUsCi0weDUwLDB4MDMsMHgwMiwweDI5LDB4MGMsMHg3YywweDAwLDB4MTIsMHgzMCwweDI0LDB4MjIsMHhiNCwweDAyLDB4MDIsMHg4MCwweDA2LAotMHhkMywweDUwLDB4MDMsMHgwMiwweDI5LDB4MGEsMHhlNSwweDRjLDB4NDUsMHg0YiwweDYwLDB4MDMsMHgwMiwweDI5LDB4MGMsMHhhYywKLTB4NGEsMHgxMiwweDMwLDB4YWIsMHg0MCwweDAzLDB4MDIsMHgyOSwweDBjLDB4ZTUsMHg2ZCwweDIwLDB4ZTEsMHgwNywweGU1LDB4NmQsCi0weDIwLDB4ZTAsMHgwMiwweDgwLDB4NzcsMHhlNSwweDZkLDB4MzAsMHhlMCwweDA2LDB4ZTUsMHg0OSwweDYwLDB4MDIsMHg4MCwweDZjLAotMHhlNSwweDQ5LDB4NzAsMHgwZiwweDkwLDB4ZmYsMHg4MiwweGUwLDB4NTQsMHhmNywweGYwLDB4OTAsMHhmZiwweDgwLDB4ZTAsMHg1NCwKLTB4ZjcsMHhmMCwweDIyLDB4ZTUsMHg0OSwweGI0LDB4MDEsMHgwMiwweDgwLDB4MDMsMHhkMywweDQwLDB4MDksMHg3ZCwweDAxLDB4N2MsCi0weDAzLDB4MTIsMHgwZiwweDA5LDB4ODAsMHgxMSwweGI0LDB4MDIsMHgwMiwweDgwLDB4MDMsMHhkMywweDQwLDB4MDksMHg3ZCwweDAxLAotMHg3YywweDA0LDB4MTIsMHgwZiwweDA5LDB4ODAsMHgwMCwweDE1LDB4NDksMHgzMCwweDAyLDB4MTUsMHhlNSwweDQ5LDB4NzUsMHhmMCwKLTB4MDgsMHhhNCwweDI0LDB4NDgsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZmLDB4ZjUsMHg4MywweGUwLDB4NTQsMHhmNywweGYwLDB4ODAsCi0weDEzLDB4ZTUsMHg0OSwweDc1LDB4ZjAsMHgwOCwweGE0LDB4MjQsMHgwOCwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmYsMHhmNSwweDgzLAotMHhlMCwweDU0LDB4ZjcsMHhmMCwweDdjLDB4MDAsMHgxMiwweDMwLDB4MjQsMHgyMiwweDgwLDB4MDAsMHgwMiwweDJjLDB4NmEsMHhlNSwKLTB4NmQsMHgyMCwweGU3LDB4MDYsMHhlNSwweDcyLDB4NDUsMHg3MSwweDYwLDB4MDMsMHgwMiwweDJjLDB4NmEsMHg5MCwweGZmLDB4MDAsCi0weGUwLDB4NTQsMHgxZiwweGI0LDB4MDAsMHgwMiwweDgwLDB4MDMsMHhkMywweDQwLDB4MWEsMHhlNSwweDRjLDB4MTQsMHg0NSwweDRiLAotMHg3MCwweDA0LDB4ZTUsMHg0YSwweDYwLDB4MDMsMHgwMiwweDI5LDB4ZWYsMHg3OCwweGFkLDB4ZTYsMHg0NCwweDAxLDB4ZjYsMHg3YywKLTB4MDAsMHgxMiwweDMwLDB4MjQsMHgyMiwweGI0LDB4MDEsMHgwMiwweDgwLDB4MDMsMHhkMywweDQwLDB4MjksMHhlNSwweDZkLDB4MjAsCi0weGUxLDB4MDgsMHhlNSwweDZkLDB4MjAsMHhlMCwweDAzLDB4MDIsMHgyOSwweGVmLDB4ZTUsMHg2ZCwweDMwLDB4ZTAsMHgwNCwweGU1LAotMHg0OSwweDcwLDB4MGIsMHhlNSwweDZkLDB4MzAsMHhlMSwweDA4LDB4ZTUsMHg0OSwweDI0LDB4ZmUsMHg1MCwweDAyLDB4ODAsMHg3ZiwKLTB4N2MsMHgwMCwweDEyLDB4MzAsMHgyNCwweDIyLDB4YjQsMHgwMiwweDAyLDB4ODAsMHgwMywweGQzLDB4NDAsMHg2ZiwweGU1LDB4NGMsCi0weDQ1LDB4NGIsMHg2MCwweDAyLDB4ODAsMHg2OSwweGFjLDB4NGEsMHgxMiwweDMwLDB4YWIsMHg0MCwweDAyLDB4ODAsMHg2MCwweGU1LAotMHg2ZCwweDIwLDB4ZTEsMHgwNywweGU1LDB4NmQsMHgyMCwweGUwLDB4MDIsMHg4MCwweDU0LDB4ZTUsMHg0OSwweDcwLDB4MTQsMHgzMCwKLTB4MDIsMHgwOSwweDkwLDB4ZmYsMHg4MCwweGUwLDB4NDQsMHgwOCwweGYwLDB4ODAsMHgwNywweDkwLDB4ZmYsMHg4MiwweGUwLDB4NDQsCi0weDA4LDB4ZjAsMHgyMiwweGU1LDB4NmQsMHgzMCwweGUxLDB4MzMsMHgxNSwweDQ5LDB4MzAsMHgwMiwweDE1LDB4ZTUsMHg0OSwweDc1LAotMHhmMCwweDA4LDB4YTQsMHgyNCwweDQ4LDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmZiwweGY1LDB4ODMsMHhlMCwweDQ0LDB4MDgsMHhmMCwKLTB4ODAsMHgxMywweGU1LDB4NDksMHg3NSwweGYwLDB4MDgsMHhhNCwweDI0LDB4MDgsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZmLDB4ZjUsCi0weDgzLDB4ZTAsMHg0NCwweDA4LDB4ZjAsMHg3YywweDAwLDB4MTIsMHgzMCwweDI0LDB4MjIsMHg4MCwweDAyLDB4ODAsMHgwMCwweDAyLAotMHgyYywweDZhLDB4ZTUsMHg2ZCwweDIwLDB4ZTcsMHgxMiwweGU1LDB4NzIsMHg0NSwweDcxLDB4NzAsMHgwYywweGU1LDB4NGEsMHg3MCwKLTB4MDgsMHg5MCwweGZmLDB4MDAsMHhlMCwweDU0LDB4MWYsMHg2MCwweDAzLDB4MDIsMHgyYywweDZhLDB4ZTUsMHg0YywweDkwLDB4ZmYsCi0weGZmLDB4ZjAsMHg5MCwweGZmLDB4ZmYsMHhlMCwweDYwLDB4MDUsMHg0MywweDZkLDB4MDEsMHg4MCwweDAzLDB4NTMsMHg2ZCwweGZlLAotMHg3YywweDAwLDB4MTIsMHgzMCwweDI0LDB4MjIsMHhlNSwweDZkLDB4MzAsMHhlNywweDBlLDB4ZTUsMHg3MiwweDQ1LDB4NzEsMHg2MCwKLTB4MDgsMHg5MCwweGZmLDB4MDAsMHhlMCwweDU0LDB4MWYsMHg2MCwweDAzLDB4MDIsMHgyYywweDZhLDB4YWQsMHg0YiwweGU1LDB4NGMsCi0weGVkLDB4N2QsMHgwMCwweGZjLDB4N2QsMHgwMCwweGZjLDB4YmQsMHgwMCwweDAyLDB4ODAsMHgwMywweDAyLDB4MmIsMHg4OCwweGI0LAotMHgwMSwweDAyLDB4ODAsMHgwMywweGQzLDB4NDAsMHgzMiwweGU1LDB4NGEsMHg3MCwweDA1LDB4ZTUsMHg0YywweGZjLDB4NjAsMHgwMywKLTB4MDIsMHgyYiwweDhhLDB4NzUsMHg2YSwweDQwLDB4NzUsMHg2OSwweGY4LDB4NzUsMHg2OCwweDAxLDB4ZDMsMHhlNSwweDcyLDB4OTQsCi0weDEyLDB4ZTUsMHg3MSwweDk0LDB4MDAsMHg0MCwweDA2LDB4ZTQsMHhmZCwweDdjLDB4MTIsMHg4MCwweDA0LDB4YWMsMHg3MiwweGFkLAotMHg3MSwweDhjLDB4NzAsMHg4ZCwweDZmLDB4MTIsMHgzMCwweDM5LDB4MjIsMHhiNCwweDAyLDB4MDIsMHg4MCwweDAzLDB4ZDMsMHg0MCwKLTB4NTksMHhlNSwweDRhLDB4NjAsMHgwMywweDAyLDB4MmIsMHg4YSwweGU1LDB4NGMsMHhmYywweDcwLDB4MjcsMHg3NSwweDZhLDB4NTIsCi0weDc1LDB4NjksMHhmOCwweDc1LDB4NjgsMHgwMSwweGQzLDB4ZTUsMHg3MiwweDk0LDB4MTksMHhlNSwweDcxLDB4OTQsMHgwMCwweDQwLAotMHgwNiwweGU0LDB4ZmQsMHg3YywweDE5LDB4ODAsMHgwNCwweGFjLDB4NzIsMHhhZCwweDcxLDB4OGMsMHg3MCwweDhkLDB4NmYsMHgxMiwKLTB4MzAsMHgzOSwweDgwLDB4MjUsMHg3NSwweDZhLDB4NmIsMHg3NSwweDY5LDB4ZjgsMHg3NSwweDY4LDB4MDEsMHhkMywweGU1LDB4NzIsCi0weDk0LDB4MjcsMHhlNSwweDcxLDB4OTQsMHgwMCwweDQwLDB4MDYsMHhlNCwweGZkLDB4N2MsMHgyNywweDgwLDB4MDQsMHhhYywweDcyLAotMHhhZCwweDcxLDB4OGMsMHg3MCwweDhkLDB4NmYsMHgxMiwweDMwLDB4MzksMHgyMiwweGI0LDB4MDMsMHgwMiwweDgwLDB4MDYsMHhkMywKLTB4NTAsMHgwMywweDAyLDB4MmIsMHg4OCwweGU1LDB4NGMsMHhmNSwweDQ5LDB4NzAsMHgwZiwweDkwLDB4ZmYsMHgwNCwweGUwLDB4ZmQsCi0weGEzLDB4ZTAsMHg0ZCwweDYwLDB4MDMsMHgwMiwweDJiLDB4OGEsMHg4MCwweDE4LDB4OTAsMHhmYiwweDAyLDB4ZTAsMHhmZCwweGEzLAotMHhlMCwweGZjLDB4OTAsMHhmZiwweDA1LDB4ZTAsMHg2YywweDcwLDB4MDcsMHg5MCwweGZmLDB4MDQsMHhlMCwweDZkLDB4NjAsMHgwMiwKLTB4ODAsMHg2OCwweGU0LDB4ZjUsMHg3MCwweGY1LDB4NmYsMHg3ZiwweDAwLDB4ZTUsMHg0OSwweDE0LDB4YzUsMHg0OSwweDYwLDB4MGYsCi0weGVmLDB4MjQsMHgwMCwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmIsMHhmNSwweDgzLDB4ZTAsMHgyZiwweGZmLDB4ODAsMHhlYSwweDhmLAotMHg0YSwweGU1LDB4NGEsMHgyNCwweDAwLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmYiwweGY1LDB4ODMsMHhlMCwweDdkLDB4MDAsMHhkMywKLTB4OTUsMHg3MiwweGVkLDB4OTUsMHg3MSwweDQwLDB4MDYsMHhhYywweDcyLDB4YWQsMHg3MSwweDgwLDB4MGYsMHhlNSwweDRhLDB4MjQsCi0weDAwLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmYiwweGY1LDB4ODMsMHhlMCwweDdkLDB4MDAsMHhmYywweDhjLDB4NzAsMHg4ZCwweDZmLAotMHhlNSwweDRhLDB4MjQsMHgwMCwweGZjLDB4ZTQsMHgzNCwweGZiLDB4ZmQsMHhmZSwweGVjLDB4ZmQsMHg3ZiwweDAxLDB4OGQsMHg2YSwKLTB4OGUsMHg2OSwweDhmLDB4NjgsMHgxMiwweDMwLDB4MzksMHgyMiwweDgwLDB4MDAsMHgwMiwweDJjLDB4NmEsMHgwMiwweDJjLDB4NmEsCi0weGU1LDB4NmQsMHgzMCwweGU3LDB4MTksMHhlNSwweDcyLDB4MTQsMHg0NSwweDcxLDB4NzAsMHgxMiwweGU1LDB4NGEsMHg3MCwweDBlLAotMHhlNSwweDRjLDB4NDUsMHg0YiwweDcwLDB4MDgsMHg5MCwweGZmLDB4MDAsMHhlMCwweDU0LDB4MWYsMHg2MCwweDAzLDB4MDIsMHgyYywKLTB4NmEsMHhlNSwweDZkLDB4MjAsMHhlMCwweDA4LDB4ZTUsMHg2ZCwweDIwLDB4ZTEsMHgwMywweDAyLDB4MmMsMHg2YSwweDc1LDB4NmEsCi0weDZlLDB4ZTQsMHhmNSwweDY5LDB4ZjUsMHg2OCwweGU0LDB4ZjUsMHg2ZiwweDA0LDB4ZjUsMHg3MCwweDEyLDB4MzAsMHgzOSwweDIyLAotMHhlNSwweDZkLDB4MjAsMHhlNywweDEyLDB4ZTUsMHg3MiwweDQ1LDB4NzEsMHg3MCwweDBjLDB4ZTUsMHg0YSwweDcwLDB4MDgsMHg5MCwKLTB4ZmYsMHgwMCwweGUwLDB4NTQsMHgxZiwweDYwLDB4MDMsMHgwMiwweDJjLDB4NmEsMHhlNSwweDZkLDB4MjAsMHhlMCwweDA3LDB4ZTUsCi0weDZkLDB4MjAsMHhlMSwweDAyLDB4ODAsMHg3NCwweDg1LDB4NGMsMHg2ZSwweGU1LDB4NmUsMHg3MCwweDA4LDB4NDMsMHg2ZCwweDAxLAotMHg1MywweDZkLDB4ZmQsMHg4MCwweDA2LDB4NTMsMHg2ZCwweGZlLDB4NDMsMHg2ZCwweDAyLDB4N2MsMHgwMCwweDEyLDB4MzAsMHgyNCwKLTB4MjIsMHhlNSwweDZkLDB4MzAsMHhlNywweDFhLDB4ZTUsMHg3MiwweDE0LDB4NDUsMHg3MSwweDcwLDB4MTMsMHhlNSwweDRhLDB4NzAsCi0weDBmLDB4ZTUsMHg0YywweDQ1LDB4NGIsMHg3MCwweDA5LDB4OTAsMHhmZiwweDAwLDB4ZTAsMHg1NCwweDFmLDB4MTQsMHg2MCwweDAyLAotMHg4MCwweDM4LDB4ZTUsMHg2ZCwweDIwLDB4ZTEsMHgwMiwweDgwLDB4MzEsMHg3YywweDAxLDB4MTIsMHgzMCwweDI0LDB4MjIsMHhlNSwKLTB4NmQsMHgyMCwweGU3LDB4MTUsMHhlNSwweDcyLDB4NDUsMHg3MSwweDcwLDB4MGYsMHhlNSwweDRjLDB4NDUsMHg0YiwweDcwLDB4MDksCi0weDkwLDB4ZmYsMHgwMCwweGUwLDB4NTQsMHgxZiwweDE0LDB4NjAsMHgwMiwweDgwLDB4MGYsMHhlNSwweDZkLDB4MjAsMHhlMSwweDAyLAotMHg4MCwweDA4LDB4N2MsMHgwMCwweDEyLDB4MzAsMHgyNCwweDIyLDB4ODAsMHgwMCwweDAyLDB4MmYsMHgyYiwweGI0LDB4NDAsMHgwMiwKLTB4ODAsMHgwNiwweGQzLDB4NTAsMHgwMywweDAyLDB4MmYsMHgyMSwweDkwLDB4ZmYsMHgwMSwweGUwLDB4OTAsMHhmYywweDM1LDB4ZjAsCi0weGU1LDB4NGEsMHg5MCwweGZjLDB4MzYsMHhmMCwweGU0LDB4OTAsMHhmYywweDM3LDB4ZjAsMHhlNSwweDZhLDB4MjQsMHgwMywweGY1LAotMHg2YSwweGU1LDB4NjksMHgzNCwweDAwLDB4ZjUsMHg2OSwweGFkLDB4NGIsMHhlNSwweDRjLDB4ODUsMHg2YSwweDgyLDB4ODUsMHg2OSwKLTB4ODMsMHhjZCwweGYwLDB4YTMsMHhjZCwweGYwLDB4OTAsMHhmZiwweDAxLDB4ZTAsMHgxMiwweDAxLDB4YjcsMHgyYywweGQ4LDB4MDEsCi0weDJjLDB4ZmUsMHgwMiwweDJkLDB4MjgsMHgwMywweDJkLDB4NTIsMHgwNCwweDJkLDB4YTAsMHgwNSwweDJkLDB4ZGQsMHgwNiwweDJlLAotMHgwMywweDA3LDB4MmUsMHgyOSwweDA4LDB4MmUsMHg1NSwweDA5LDB4MmUsMHg3YiwweDBiLDB4MmUsMHhhMSwweDBjLDB4MmUsMHhiMCwKLTB4ODAsMHgyZSwweGIwLDB4ODEsMHgwMCwweDAwLDB4MmYsMHgwZSwweGU1LDB4NmQsMHgyMCwweGU3LDB4MDYsMHg3YywweDA1LDB4MTIsCi0weDI1LDB4YmYsMHgyMiwweDdkLDB4MjQsMHg3ZSwweDM1LDB4N2YsMHgwMiwweDc5LDB4MzgsMHg3YSwweGZjLDB4N2IsMHgwMSwweDc0LAotMHgwOCwweDc4LDB4MDAsMHgxMiwweDAzLDB4M2YsMHg3ZCwweDA4LDB4N2MsMHgwMCwweDEyLDB4MjUsMHgyNiwweDIyLDB4ZTUsMHg2ZCwKLTB4MjAsMHhlNywweDA2LDB4N2MsMHgwNSwweDEyLDB4MjUsMHhiZiwweDIyLDB4ZTUsMHg0YSwweGI0LDB4MDMsMHgwMCwweDQwLDB4MTAsCi0weGI0LDB4MDUsMHgwMCwweDUwLDB4MGIsMHhlNSwweDRhLDB4N2YsMHgwMCwweGZlLDB4N2MsMHgxMCwweDEyLDB4MzEsMHhmYiwweDIyLAotMHg3ZCwweDAwLDB4N2MsMHgwNywweDEyLDB4MjUsMHgyNiwweDIyLDB4ZTUsMHg2ZCwweDIwLDB4ZTcsMHgwNiwweDdjLDB4MDUsMHgxMiwKLTB4MjUsMHhiZiwweDIyLDB4ZTUsMHg0YSwweGI0LDB4MDMsMHgwMCwweDQwLDB4MTAsMHhiNCwweDA1LDB4MDAsMHg1MCwweDBiLDB4ZTUsCi0weDRhLDB4N2YsMHgwMCwweGZlLDB4N2MsMHgxMSwweDEyLDB4MzEsMHhmYiwweDIyLDB4N2QsMHgwMCwweDdjLDB4MDcsMHgxMiwweDI1LAotMHgyNiwweDIyLDB4ZTUsMHg2ZCwweDIwLDB4ZTcsMHgwNiwweDdjLDB4MDUsMHgxMiwweDI1LDB4YmYsMHgyMiwweGU1LDB4NGEsMHhiNCwKLTB4MDUsMHgwMiwweDgwLDB4MDMsMHhkMywweDQwLDB4MGEsMHhlNCwweGZmLDB4MDQsMHhmZSwweDdjLDB4MGEsMHgxMiwweDMxLDB4ZmIsCi0weDIyLDB4YjQsMHgwMSwweDAyLDB4ODAsMHgwMywweGQzLDB4NDAsMHgwYSwweGU0LDB4ZmYsMHgwNCwweGZlLDB4N2MsMHgwOCwweDEyLAotMHgzMSwweGZiLDB4MjIsMHhiNCwweDAzLDB4MDAsMHg0MCwweDEwLDB4YjQsMHgwNSwweDAwLDB4NTAsMHgwYiwweGU1LDB4NGEsMHg3ZiwKLTB4MDAsMHhmZSwweDdjLDB4MTMsMHgxMiwweDMxLDB4ZmIsMHgyMiwweDdkLDB4MDAsMHg3YywweDA3LDB4MTIsMHgyNSwweDI2LDB4MjIsCi0weGU1LDB4NmQsMHgyMCwweGU3LDB4MzQsMHhkMywweGU1LDB4NzIsMHg5NCwweDQ4LDB4ZTUsMHg3MSwweDk0LDB4MDAsMHg1MCwweDA2LAotMHhlNSwweDcyLDB4NDUsMHg3MSwweDcwLDB4MDYsMHg3YywweDAyLDB4MTIsMHgyNSwweGJmLDB4MjIsMHhlNSwweDRhLDB4YjQsMHgwMSwKLTB4MDMsMHhiMywweDQwLDB4MGIsMHhjMywweGI0LDB4MDMsMHgwMCwweDQwLDB4MDksMHhiNCwweDA2LDB4MDAsMHg1MCwweDA0LDB4MTIsCi0weDMwLDB4ZDEsMHgyMiwweDdjLDB4MDcsMHgxMiwweDI1LDB4YmYsMHgyMiwweDEyLDB4MjUsMHg1ZCwweDIyLDB4ZTUsMHg2ZCwweDIwLAotMHhlNywweDFkLDB4ZTUsMHg0YSwweGI0LDB4MDMsMHgwMCwweDQwLDB4MTAsMHhiNCwweDA1LDB4MDAsMHg1MCwweDBiLDB4ZTUsMHg0YSwKLTB4N2YsMHgwMCwweGZlLDB4N2MsMHgxNiwweDEyLDB4MzEsMHhmYiwweDIyLDB4N2MsMHgwNywweDEyLDB4MjUsMHhiZiwweDIyLDB4MTIsCi0weDI1LDB4NWQsMHgyMiwweGU1LDB4NmQsMHgyMCwweGU3LDB4MWQsMHhlNSwweDRhLDB4YjQsMHgwMywweDAwLDB4NDAsMHgxMCwweGI0LAotMHgwNSwweDAwLDB4NTAsMHgwYiwweGU1LDB4NGEsMHg3ZiwweDAwLDB4ZmUsMHg3YywweDE5LDB4MTIsMHgzMSwweGZiLDB4MjIsMHg3YywKLTB4MDcsMHgxMiwweDI1LDB4YmYsMHgyMiwweDEyLDB4MjUsMHg1ZCwweDIyLDB4ZTUsMHg2ZCwweDIwLDB4ZTcsMHgyMywweDc0LDB4ODEsCi0weDkwLDB4ZmYsMHg5MywweGYwLDB4ZTUsMHg0YSwweGI0LDB4MDMsMHgwMCwweDQwLDB4MTAsMHhiNCwweDA1LDB4MDAsMHg1MCwweDBiLAotMHhlNSwweDRhLDB4N2YsMHgwMCwweGZlLDB4N2MsMHgxNywweDEyLDB4MzEsMHhmYiwweDIyLDB4N2MsMHgwNywweDEyLDB4MjUsMHhiZiwKLTB4MjIsMHgxMiwweDI1LDB4NWQsMHgyMiwweGU1LDB4NmQsMHgyMCwweGU3LDB4MWQsMHhlNSwweDRhLDB4YjQsMHgwMywweDAwLDB4NDAsCi0weDEwLDB4YjQsMHgwNSwweDAwLDB4NTAsMHgwYiwweGU1LDB4NGEsMHg3ZiwweDAwLDB4ZmUsMHg3YywweDE4LDB4MTIsMHgzMSwweGZiLAotMHgyMiwweDdjLDB4MDcsMHgxMiwweDI1LDB4YmYsMHgyMiwweDEyLDB4MjUsMHg1ZCwweDIyLDB4ZTUsMHg2ZCwweDIwLDB4ZTcsMHgxZCwKLTB4ZTUsMHg0YSwweGI0LDB4MDMsMHgwMCwweDQwLDB4MTAsMHhiNCwweDA1LDB4MDAsMHg1MCwweDBiLDB4ZTUsMHg0YSwweDdmLDB4MDAsCi0weGZlLDB4N2MsMHgxNSwweDEyLDB4MzEsMHhmYiwweDIyLDB4N2MsMHgwNywweDEyLDB4MjUsMHhiZiwweDIyLDB4MTIsMHgyNSwweDVkLAotMHgyMiwweGU1LDB4NmQsMHgyMCwweGU3LDB4MDYsMHg3YywweDA3LDB4MTIsMHgyNSwweGJmLDB4MjIsMHgxMiwweDI1LDB4NWQsMHgyMiwKLTB4ZTUsMHg2ZCwweDMwLDB4ZTcsMHgyMCwweDkwLDB4ZmYsMHgwMCwweGUwLDB4NTQsMHgxZiwweDcwLDB4MTAsMHg5MCwweGZmLDB4MDEsCi0weGUwLDB4YjQsMHg4MCwweDA1LDB4MTIsMHgyNSwweDU0LDB4ODAsMHgwMywweDEyLDB4MjUsMHg1ZCwweDIyLDB4N2QsMHgwMCwweDdjLAotMHgwNSwweDEyLDB4MjUsMHgyNiwweDIyLDB4OTAsMHhmZiwweDAwLDB4ZTAsMHg1NCwweDFmLDB4NjAsMHgwNiwweDdjLDB4MDUsMHgxMiwKLTB4MjUsMHhiZiwweDIyLDB4ZDMsMHhlNSwweDcyLDB4OTQsMHg0OCwweGU1LDB4NzEsMHg5NCwweDAwLDB4NTAsMHgwYiwweGMzLDB4ZTUsCi0weDcyLDB4OTQsMHgwNywweGU1LDB4NzEsMHg5NCwweDAwLDB4NTAsMHgwNiwweDdjLDB4MDMsMHgxMiwweDI1LDB4YmYsMHgyMiwweGU1LAotMHg0YSwweGI0LDB4MDUsMHgwNCwweDEyLDB4MzAsMHhkMSwweDIyLDB4N2MsMHgwNywweDEyLDB4MjUsMHhiZiwweDIyLDB4ZTUsMHg2ZCwKLTB4MzAsMHhlNywweDA4LDB4N2QsMHgwMCwweDdjLDB4MDUsMHgxMiwweDI1LDB4MjYsMHgyMiwweDdjLDB4MDUsMHgxMiwweDI1LDB4YmYsCi0weDIyLDB4YjQsMHgyMCwweDAyLDB4ODAsMHgwMywweGQzLDB4NDAsMHgwMCwweDgwLDB4MDAsMHgxMiwweDJmLDB4ZmYsMHgyMiwweDc1LAotMHg0MywweDAwLDB4OTAsMHhmZiwweDgzLDB4ZTAsMHg1NCwweDBmLDB4ZDMsMHg5NSwweDQzLDB4NDAsMHgyNCwweGU1LDB4NDMsMHgyNCwKLTB4ZjAsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZlLDB4ZjUsMHg4MywweGUwLDB4YWQsMHg2YSwweGFlLDB4NjksMHhhZiwweDY4LDB4MTIsCi0weDAzLDB4MGYsMHgwNSwweDQzLDB4MGQsMHhlZCwweDcwLDB4MDEsMHgwZSwweDhkLDB4NmEsMHg4ZSwweDY5LDB4OGYsMHg2OCwweDgwLAotMHhkMSwweGU1LDB4NDMsMHg3ZCwweDAwLDB4ZmMsMHhjMywweGU1LDB4NzAsMHg5YywweGY1LDB4NzAsMHhlNSwweDZmLDB4OWQsMHhmNSwKLTB4NmYsMHhlNSwweDcwLDB4NDUsMHg2ZiwweDYwLDB4MDYsMHhlNCwweDkwLDB4ZmYsMHg4MywweGYwLDB4MjIsMHg5MCwweGZmLDB4ODIsCi0weGUwLDB4NDQsMHgwOCwweGYwLDB4ZTQsMHhmNSwweDZmLDB4NzUsMHg3MCwweDQ5LDB4OTAsMHhmYywweDM1LDB4ZTAsMHhiNCwweDA1LAotMHgwMiwweDgwLDB4MDMsMHhkMywweDQwLDB4NDAsMHg5MCwweGZjLDB4MzYsMHhlMCwweGY1LDB4NDMsMHhiNCwweDA1LDB4MDIsMHg4MCwKLTB4MDMsMHhkMywweDQwLDB4MGEsMHhlNCwweGZmLDB4MDQsMHhmZSwweDdjLDB4MGIsMHgxMiwweDMxLDB4ZmIsMHgyMiwweGI0LDB4MDEsCi0weDAyLDB4ODAsMHgwMywweGQzLDB4NDAsMHgwYSwweGU0LDB4ZmYsMHgwNCwweGZlLDB4N2MsMHgwOSwweDEyLDB4MzEsMHhmYiwweDIyLAotMHhiNCwweDAzLDB4MDAsMHg0MCwweDEwLDB4YjQsMHgwNSwweDAwLDB4NTAsMHgwYiwweGU1LDB4NDMsMHg3ZiwweDAwLDB4ZmUsMHg3YywKLTB4MTQsMHgxMiwweDMxLDB4ZmIsMHgyMiwweDIyLDB4YjQsMHg4MCwweDAwLDB4NDAsMHgyMywweGI0LDB4ODIsMHgwMCwweDUwLDB4MWUsCi0weDdjLDB4MzUsMHg3ZCwweGZjLDB4MTIsMHgxNywweDdlLDB4N2QsMHgwMCwweDhjLDB4NmMsMHg4ZCwweDZiLDB4OTAsMHhmYywweDM3LAotMHhlMCwweDYwLDB4MDUsMHgxMiwweDJmLDB4ZmYsMHg4MCwweDA1LDB4N2MsMHgwMCwweDEyLDB4MzAsMHgyNCwweDIyLDB4MjIsMHg5MCwKLTB4ZmYsMHg4MywweGUwLDB4NTQsMHg3ZiwweGYwLDB4OTAsMHhmZiwweDgyLDB4ZTAsMHg0NCwweDA4LDB4ZjAsMHg5MCwweGZmLDB4ODAsCi0weGUwLDB4NDQsMHgwOCwweGYwLDB4MjIsMHg5MCwweGZmLDB4ODIsMHhlMCwweDQ0LDB4MDgsMHhmMCwweDkwLDB4ZmYsMHg4MCwweGUwLAotMHg0NCwweDA4LDB4ZjAsMHgyMiwweDhjLDB4MjMsMHg3ZCwweDAwLDB4OGMsMHg3MCwweDhkLDB4NmYsMHg3NSwweDZhLDB4MzUsMHg3NSwKLTB4NjksMHhmYywweDc1LDB4NjgsMHgwMSwweDEyLDB4MzAsMHgzOSwweDIyLDB4OTAsMHhmZiwweDgzLDB4ZTAsMHg1NCwweDdmLDB4ZjAsCi0weGU1LDB4NzAsMHg2NCwweDQ5LDB4NDUsMHg2ZiwweDcwLDB4MDEsMHgyMiwweGMzLDB4ZTUsMHg3MCwweDk0LDB4MDgsMHhlNSwweDZmLAotMHg5NCwweDAwLDB4NDAsMHgxNSwweDc1LDB4MjEsMHgwOCwweGU1LDB4MjEsMHg3ZCwweDAwLDB4ZmMsMHhjMywweGU1LDB4NzAsMHg5YywKLTB4ZjUsMHg3MCwweGU1LDB4NmYsMHg5ZCwweGY1LDB4NmYsMHg4MCwweDA5LDB4ODUsMHg3MCwweDIxLDB4ZTQsMHhmNSwweDZmLDB4NzUsCi0weDcwLDB4NDksMHg3NSwweDIyLDB4MDAsMHhlNSwweDIyLDB4YzMsMHg5NSwweDIxLDB4NTAsMHgyNiwweGFkLDB4NmEsMHhhZSwweDY5LAotMHhhZiwweDY4LDB4MTIsMHgwMSwweGU2LDB4ZmMsMHhlNSwweDIyLDB4MjQsMHhmOCwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmUsMHhmNSwKLTB4ODMsMHhlYywweGYwLDB4MDUsMHgyMiwweDBkLDB4ZWQsMHg3MCwweDAxLDB4MGUsMHg4ZCwweDZhLDB4OGUsMHg2OSwweDhmLDB4NjgsCi0weDgwLDB4ZDMsMHhlNSwweDIxLDB4NTQsMHg3ZiwweDkwLDB4ZmYsMHg4MSwweGYwLDB4MjIsMHg4YywweDQ4LDB4N2YsMHgwMCwweGVmLAotMHgyNCwweGZkLDB4NDAsMHgxOSwweGU0LDB4ZWYsMHg3NSwweGYwLDB4MDcsMHhhNCwweDI0LDB4N2YsMHhmNSwweDgyLDB4ZTQsMHgzNCwKLTB4ZjgsMHhmNSwweDgzLDB4ZTAsMHg2NSwweDQ4LDB4NzAsMHgwMiwweGQzLDB4MjIsMHgwZiwweDgwLDB4ZTIsMHg4ZiwweDQ3LDB4YzMsCi0weDIyLDB4ODUsMHg3MiwweDcwLDB4ODUsMHg3MSwweDZmLDB4OTAsMHhmZiwweDgyLDB4ZTAsMHg1NCwweGY3LDB4ZjAsMHg5MCwweGZmLAotMHg4MywweGUwLDB4NTQsMHg3ZiwweGYwLDB4MjIsMHhjMCwweDAwLDB4YzAsMHgwMSwweGMwLDB4MDIsMHhjMCwweDA2LDB4YzAsMHgwNywKLTB4ZTUsMHg3OCwweDI0LDB4MDgsMHhmOCwweDg2LDB4MDYsMHg1MywweDA2LDB4N2YsMHg3YywweGZmLDB4MTIsMHgzMSwweDViLDB4N2MsCi0weDAwLDB4N2QsMHgwMCwweGU1LDB4N2IsMHg2MCwweDQ2LDB4ZmYsMHg5MCwweGZkLDB4OTUsMHhlMCwweDU0LDB4N2YsMHg2ZSwweDcwLAotMHgwZiwweGMwLDB4ODMsMHhjMCwweDgyLDB4YTMsMHhlMCwweGZkLDB4YTMsMHhlMCwweGZjLDB4YTMsMHgxNSwweDdiLDB4ODAsMHgwNywKLTB4YTMsMHhhMywweGEzLDB4ZGYsMHhlNiwweDgwLDB4MjYsMHhkZiwweDA2LDB4ZDAsMHg4MiwweGQwLDB4ODMsMHg4MCwweDFlLDB4ZTAsCi0weGY4LDB4YTMsMHhlMCwweGY5LDB4YTMsMHhlMCwweGZhLDB4ZDAsMHg4MiwweGQwLDB4ODMsMHhlOCwweGYwLDB4YTMsMHhlOSwweGYwLAotMHhhMywweGVhLDB4ZjAsMHhhMywweGMwLDB4ODMsMHhjMCwweDgyLDB4YTMsMHhhMywweGEzLDB4ODAsMHhkYSwweDEyLDB4MzEsMHhmNCwKLTB4ZDAsMHgwNywweGQwLDB4MDYsMHhkMCwweDAyLDB4ZDAsMHgwMSwweGQwLDB4MDAsMHgyMiwweDg1LDB4YTgsMHg3YSwweDc1LDB4YTgsCi0weDg4LDB4ZWMsMHg3MCwweDAyLDB4N2MsMHgzZiwweDhjLDB4NzksMHgyMiwweGU1LDB4NzgsMHgyNCwweDA4LDB4ZjgsMHg3NiwweDAwLAotMHgxMiwweDMyLDB4NDgsMHg4MCwweGZiLDB4YzAsMHgwMCwweGMwLDB4MDEsMHhjMCwweDAyLDB4YzAsMHgwNiwweGMwLDB4MDcsMHhhZSwKLTB4MDQsMHg3YywweGZmLDB4MTIsMHgzMSwweDViLDB4ZTUsMHg3YiwweDYwLDB4NDIsMHhmZiwweDkwLDB4ZmQsMHg5NSwweGUwLDB4NTQsCi0weDdmLDB4NmUsMHg3MCwweDBiLDB4YzAsMHg4MywweGMwLDB4ODIsMHhhMywweGEzLDB4YTMsMHgxNSwweDdiLDB4ODAsMHgwNywweGEzLAotMHhhMywweGEzLDB4ZGYsMHhlYSwweDgwLDB4MjYsMHhkZiwweDA2LDB4ZDAsMHg4MiwweGQwLDB4ODMsMHg4MCwweGQ4LDB4ZTAsMHhmOCwKLTB4YTMsMHhlMCwweGY5LDB4YTMsMHhlMCwweGZhLDB4ZDAsMHg4MiwweGQwLDB4ODMsMHhlOCwweGYwLDB4YTMsMHhlOSwweGYwLDB4YTMsCi0weGVhLDB4ZjAsMHhhMywweGMwLDB4ODMsMHhjMCwweDgyLDB4YTMsMHhhMywweGEzLDB4ODAsMHhkYSwweDc4LDB4MDgsMHgwOCwweDc5LAotMHgxOCwweDA5LDB4N2MsMHgwMSwweGU2LDB4NTQsMHg3ZiwweDZlLDB4NzAsMHgwNiwweDc2LDB4MDAsMHg3NywweDAwLDB4ODAsMHgwNiwKLTB4MDgsMHgwOSwweDBjLDB4YmMsMHgwOCwweGVlLDB4MTIsMHgzMSwweGY0LDB4ZDAsMHgwNywweGQwLDB4MDYsMHhkMCwweDAyLDB4ZDAsCi0weDAxLDB4ZDAsMHgwMCwweDIyLDB4NzUsMHg3OSwweDAwLDB4ODUsMHg3YSwweGE4LDB4MjIsMHhjMCwweGYwLDB4YzAsMHg4MiwweGMwLAotMHg4MywweGMzLDB4ZTUsMHg3YiwweDI0LDB4ZTgsMHg1MCwweDA1LDB4MTIsMHgzMiwweDQ4LDB4ODAsMHhmNCwweGVjLDB4NjAsMHgzMSwKLTB4OTAsMHgzNSwweDIzLDB4ZTQsMHg5MywweGMzLDB4OWMsMHg0MCwweDI4LDB4YzAsMHgwNCwweDdjLDB4ZmYsMHgxMiwweDMxLDB4NWIsCi0weGQwLDB4MDQsMHg0MywweDA0LDB4ODAsMHhlNSwweDdiLDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNCwweDk1LDB4ZjUsMHg4MiwweGU0LAotMHgzNCwweGZkLDB4ZjUsMHg4MywweGVjLDB4ZjAsMHhlZiwweGEzLDB4ZjAsMHhlZSwweGEzLDB4ZjAsMHgwNSwweDdiLDB4MTIsMHgzMSwKLTB4ZjQsMHhkMCwweDgzLDB4ZDAsMHg4MiwweGQwLDB4ZjAsMHgyMiwweGMwLDB4MDQsMHg3YywweDIwLDB4ZDIsMHg4YywweGQyLDB4OGQsCi0weGQ1LDB4MDQsMHhmZCwweGQwLDB4MDQsMHgyMiwweDc1LDB4YTgsMHgwMCwweDc1LDB4ODgsMHgwMCwweDc1LDB4YjgsMHgwMCwweDc1LAotMHhmMCwweDAwLDB4NzUsMHhkMCwweDAwLDB4ZTQsMHhmOCwweDkwLDB4MDAsMHgwMCwweGY2LDB4MDgsMHhiOCwweDAwLDB4ZmIsMHgwMiwKLTB4MDAsMHgwMCwweGMzLDB4ZWQsMHg5NCwweDAyLDB4NTAsMHgwNCwweDdkLDB4MDMsMHg3YywweGU4LDB4ZWMsMHhmNCwweGZjLDB4ZWQsCi0weGY0LDB4ZmQsMHgwYywweGJjLDB4MDAsMHgwMSwweDBkLDB4OGMsMHg3ZiwweDhkLDB4N2UsMHgyMiwweGMzLDB4ZWMsMHg5NCwweGJjLAotMHhlZCwweDk0LDB4MDIsMHg1MCwweDA0LDB4N2QsMHgwNywweDdjLDB4ZDAsMHhlYywweGY0LDB4ZmMsMHhlZCwweGY0LDB4ZmQsMHgwYywKLTB4YmMsMHgwMCwweDAxLDB4MGQsMHg4YywweDdkLDB4OGQsMHg3YywweDIyLDB4ZWMsMHg3MCwweDAxLDB4MjIsMHhjMCwweDAwLDB4ZTUsCi0weDc4LDB4MjQsMHgxOCwweGY4LDB4YTYsMHgwNCwweGU1LDB4NzgsMHgyNCwweDA4LDB4ZjgsMHhjNiwweDU0LDB4N2YsMHhmNiwweGU2LAotMHgzMCwweGU3LDB4MDMsMHhkMCwweDAwLDB4MjIsMHgxMiwweDMyLDB4NDgsMHg4MCwweGY0LDB4YzIsMHg4YywweDg1LDB4N2MsMHg4YywKLTB4ODUsMHg3ZCwweDhhLDB4ZDIsMHg4YywweGMwLDB4ZTAsMHhjMCwweGQwLDB4YzAsMHhmMCwweGMwLDB4ODIsMHhjMCwweDgzLDB4YzAsCi0weDAwLDB4YzAsMHgwMSwweGMwLDB4MDIsMHhjMCwweDAzLDB4YzAsMHgwNCwweGMwLDB4MDUsMHhjMCwweDA2LDB4YzAsMHgwNywweDEyLAotMHgxYSwweGQxLDB4ZTUsMHg3OCwweDI0LDB4MDgsMHhmOCwweGU2LDB4NjAsMHgyNCwweGU1LDB4NzgsMHgyNCwweDEwLDB4ZjgsMHhhNiwKLTB4ODEsMHhlNSwweDc4LDB4NzUsMHhmMCwweDIxLDB4YTQsMHgyNCwweDhkLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmYywweGY1LDB4ODMsCi0weDc4LDB4YWUsMHhlNSwweDgxLDB4MDQsMHhjMywweDk4LDB4ZjksMHhlNiwweGYwLDB4MDgsMHhhMywweGQ5LDB4ZmEsMHg3NCwweDA4LAotMHgyNSwweDc4LDB4ZjgsMHgwNSwweDc4LDB4MDgsMHhlNiwweDU0LDB4ODAsMHg3MCwweDBjLDB4ZTUsMHg3OCwweGI0LDB4MDcsMHhmMywKLTB4NzgsMHgwOCwweDc1LDB4NzgsMHgwMCwweDgwLDB4ZWYsMHhlNSwweDc4LDB4MjQsMHgxMCwweGY4LDB4ODYsMHg4MSwweGU1LDB4NzgsCi0weDc1LDB4ZjAsMHgyMSwweGE0LDB4MjQsMHg4ZCwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmMsMHhmNSwweDgzLDB4NzgsMHhhZSwweGU1LAotMHg4MSwweDA0LDB4YzMsMHg5OCwweGY5LDB4ZTAsMHhmNiwweDA4LDB4YTMsMHhkOSwweGZhLDB4ZDAsMHgwNywweGQwLDB4MDYsMHhkMCwKLTB4MDUsMHhkMCwweDA0LDB4ZDAsMHgwMywweGQwLDB4MDIsMHhkMCwweDAxLDB4ZDAsMHgwMCwweGQwLDB4ODMsMHhkMCwweDgyLDB4ZDAsCi0weGYwLDB4ZDAsMHhkMCwweGQwLDB4ZTAsMHgzMiwweGMwLDB4ZTAsMHhjMCwweGQwLDB4YzAsMHgwMCwweGMwLDB4MDEsMHhjMCwweDAyLAotMHhjMiwweDhlLDB4ODUsMHg3ZSwweDhkLDB4ODUsMHg3ZiwweDhiLDB4ZDIsMHg4ZSwweDc4LDB4MTksMHg3OSwweDA5LDB4N2EsMHgwNywKLTB4ZTcsMHg3MCwweDA0LDB4YTYsMHgwMCwweDgwLDB4MGIsMHhlNiwweDYwLDB4MDgsMHgxNiwweGU2LDB4NzAsMHgwNCwweGU3LDB4NDQsCi0weDgwLDB4ZjcsMHgwOCwweDA5LDB4ZGEsMHhlYSwweGU1LDB4NzksMHg2MCwweDEzLDB4MTQsMHhmNSwweDc5LDB4NzAsMHgwZSwweGU1LAotMHg3OCwweDI0LDB4MDgsMHhmOCwweDc2LDB4MDAsMHgxMiwweDMxLDB4ZjQsMHhkMiwweDhjLDB4ZDIsMHg4ZCwweGQwLDB4MDIsMHhkMCwKLTB4MDEsMHhkMCwweDAwLDB4ZDAsMHhkMCwweGQwLDB4ZTAsMHgzMiwweDc1LDB4ODEsMHhhZCwweDc0LDB4MmEsMHg5MCwweGZmLDB4OTMsCi0weGYwLDB4NzUsMHg3ZiwweDMwLDB4NzUsMHg3ZSwweGY4LDB4NzUsMHg3ZCwweDYwLDB4NzUsMHg3YywweGYwLDB4MTIsMHgwNSwweDM2LAotMHgxMiwweDM0LDB4N2MsMHgxMiwweDE3LDB4MzQsMHg5MCwweGZmLDB4OTMsMHhlMCwweDQ0LDB4MDEsMHhmMCwweGIyLDB4YjMsMHgxMiwKLTB4MzQsMHhhNiwweDEyLDB4MzIsMHg1NiwweDgwLDB4ZGEsMHgyMiwweGMwLDB4MDAsMHg3YywweDAxLDB4ZWMsMHgyNCwweDA4LDB4ZjgsCi0weGU2LDB4NjAsMHgwOSwweDBjLDB4YmMsMHgwOCwweGY1LDB4MTIsMHgzMiwweDQ4LDB4ODAsMHhlZSwweGQwLDB4MDAsMHgyMiwweGMwLAotMHhmMCwweGMwLDB4ODIsMHhjMCwweDgzLDB4YzAsMHgwMCwweGMwLDB4MDYsMHhjMCwweDA3LDB4ZWQsMHgyNCwweDEwLDB4ZjgsMHg3NiwKLTB4YmMsMHhlZCwweDc1LDB4ZjAsMHgyMSwweGE0LDB4MjQsMHg4ZCwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmMsMHhmNSwweDgzLDB4YzAsCi0weDgyLDB4YzAsMHg4MywweGEzLDB4YTMsMHhlNCwweDc4LDB4MGQsMHhmMCwweGEzLDB4ZDgsMHhmYywweGVjLDB4NTQsMHg3ZiwweDc1LAotMHhmMCwweDAyLDB4YTQsMHgyNCwweGVmLDB4ZjUsMHg4MiwweGU1LDB4ZjAsMHgzNCwweDM0LDB4ZjUsMHg4MywweGU0LDB4OTMsMHhmZSwKLTB4NzQsMHgwMSwweDkzLDB4ZjUsMHg4MiwweDhlLDB4ODMsMHhlNCwweDkzLDB4ZmUsMHg3NCwweDAxLDB4OTMsMHhmZiwweGQwLDB4ODMsCi0weGQwLDB4ODIsMHhlZiwweGYwLDB4YTMsMHhlZSwweGYwLDB4ZWQsMHgyNCwweDA4LDB4ZjgsMHhlYywweDQ0LDB4ODAsMHhmNiwweGQwLAotMHgwNywweGQwLDB4MDYsMHhkMCwweDAwLDB4ZDAsMHg4MywweGQwLDB4ODIsMHhkMCwweGYwLDB4MjIsMHg3NSwweDc4LDB4MDAsMHg3NSwKLTB4N2IsMHgwMCwweDdhLDB4MDgsMHg3OSwweDE4LDB4NzgsMHgwOCwweDc2LDB4MDAsMHg3NywweDAwLDB4MDgsMHgwOSwweGRhLDB4ZjgsCi0weGU0LDB4NzgsMHgwOCwweDc0LDB4ODAsMHg0NCwweDdmLDB4ZjYsMHg3NCwweDAxLDB4NDQsMHgxMCwweGY1LDB4ODksMHg3NSwweGI4LAotMHgwOCwweGQyLDB4YWIsMHhkMiwweGE5LDB4MjIsMHg3NSwweDgxLDB4YWQsMHhkMiwweDhlLDB4ZDIsMHg4YywweGQyLDB4YWYsMHhlNSwKLTB4N2IsMHg2MCwweDMyLDB4ZmYsMHg5MCwweGZkLDB4OTUsMHhlMCwweDU0LDB4ODAsMHg2MCwweDI0LDB4NzgsMHgwOCwweDc5LDB4MDgsCi0weGUwLDB4NTQsMHg3ZiwweGZhLDB4N2IsMHgwMCwweGU2LDB4NTQsMHg3ZiwweGI1LDB4MDIsMHgwMiwweDdiLDB4ZmYsMHgwOCwweGQ5LAotMHhmNSwweGViLDB4NzAsMHgwYywweGVhLDB4ZjAsMHgxMiwweDMzLDB4ZjgsMHhhZCwweDA0LDB4YWMsMHgwMiwweDEyLDB4MzQsMHgwZiwKLTB4YTMsMHhhMywweGEzLDB4ZGYsMHhkMiwweDEyLDB4MzIsMHg0OCwweDgwLDB4YzUsMHg3YywweDAxLDB4N2QsMHgwMCwweDIyLDB4MDQsCi0weGY1LDB4MDQsMHhlOSwweDA0LDB4ZWQsMHgwNCwweGUxLDB4MDQsMHhkZCwweDA0LDB4ZDksMHgwNCwweGU1LDB4MDQsMHhmMSwweDA0LAotMHg5ZCwweDA0LDB4YTEsMHgwNCwweGNkLDB4MDQsMHhkMSwweDA0LDB4OTksMHgwNCwweDk5LDB4MDQsMHg5OSwweDA0LDB4ZDUsMHgwNCwKLTB4YjUsMHgwNCwweGFkLDB4MDQsMHhiMSwweDA0LDB4YTksMHgwNCwweGMxLDB4MDQsMHhiZCwweDA0LDB4YjksMHgwNCwweGM1LDB4MDQsCi0weGM5LDB4MDQsMHhhNSwweDE5LDB4MDEsMHgwMywweDAwLDB4MjIsMHgwMCwweDQ4LDB4MDIsMHgwMCwweDQ4LDB4MGUsMHgzMCwweDE0LAotMHgyMCwweGM4LDB4MWEsMHhkMCwweDE4LDB4MGEsMHgwYywweDA1LDB4MDYsMHgwMiwweDAzLDB4MDEsMHgwMiwweDAwLDB4MDEsMHhjZSwKLTB4MDEsMHg4MSwweDAxLDB4MDAsMHgwMCwweGMwLDB4MDAsMHg4MCwweDAwLDB4NjAsMHgwMCwweDMwLDB4MDAsMHgxOCwweDAwLDB4MTAsCi0weDAwLDB4MDgsMHgwMCwweDA0LDB4MDAsMHgwMiwweDAwLDB4MDEsMHgwMCwweDA4LDB4MTgsMHgzOCwweDI4LDB4MGMsMHgwNSwweDEwLAotMHgwYSwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAzLDB4MDEsMHgxMCwweDBhLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwKLTB4MDAsMHhmYiwweGUwLDB4ZmIsMHhmMiwweDA5LDB4MDIsMHgyNywweDAwLDB4MDEsMHgwMiwweDAwLDB4YTAsMHgzMiwweDA5LDB4MDQsCi0weDAwLDB4MDAsMHgwMywweGZmLDB4MDAsMHgwMCwweDAwLDB4MDcsMHgwNSwweDgxLDB4MDIsMHg0MCwweDAwLDB4MDAsMHgwNywweDA1LAotMHgwMSwweDAyLDB4NDAsMHgwMCwweDAwLDB4MDcsMHgwNSwweDgzLDB4MDMsMHgwMiwweDAwLDB4MDEsMHgyMiwweDAzLDB4NTQsMHgwMCwKLTB4NTUsMHgwMCwweDUzLDB4MDAsMHg0MiwweDAwLDB4MzMsMHgwMCwweDM0LDB4MDAsMHgzMSwweDAwLDB4MzAsMHgwMCwweDIwLDB4MDAsCi0weDIwLDB4MDAsMHgyMCwweDAwLDB4MjAsMHgwMCwweDIwLDB4MDAsMHgyMCwweDAwLDB4MjAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLAotMHgwMCwweDAwLAotfTsKLQotI2VuZGlmIC8qIGlmbmRlZiBfVElfRldfMzQxMF9IXyAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2Ivc2VyaWFsL3RpX2Z3XzUwNTIuaCBiL2RyaXZlcnMvdXNiL3NlcmlhbC90aV9md181MDUyLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZjY2Y0MGEuLjAwMDAwMDAKLS0tIGEvZHJpdmVycy91c2Ivc2VyaWFsL3RpX2Z3XzUwNTIuaAorKysgL2Rldi9udWxsCkBAIC0xLDg4NSArMCwwIEBACi0vKiB2aTogdHM9OCBzdz04Ci0gKgotICogVEkgNTA1MiBVU0IgU2VyaWFsIERyaXZlciBGaXJtd2FyZSBIZWFkZXIKLSAqCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDQgVGV4YXMgSW5zdHJ1bWVudHMKLSAqCi0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQotICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLSAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCi0gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotICovCi0KLSNpZm5kZWYgX1RJX0ZXXzUwNTJfSF8KLSNkZWZpbmUgX1RJX0ZXXzUwNTJfSF8KLQotLyogZmlybXdhcmUgOS8xOC8wNCAqLwotCi1zdGF0aWMgdW5zaWduZWQgY2hhciB0aV9md181MDUyW10gPSB7Ci0weEMxLCAweDM1LAkvKiBmaXJtd2FyZSBpbWFnZSBsZW5ndGggZXhjbHVkaW5nIGhlYWRlciwgbGl0dGxlIGVuZGlhbiAqLwotMHgwMCwgCQkvKiBwbGFjZWhvbGRlciBmb3IgY2hlY2tzdW0gKi8KLQotMHgwMiwweDAwLDB4MWUsMHgwMiwweDFiLDB4MzIsMHhmZiwweGZmLDB4ZmYsMHhmZiwweGZmLDB4MDIsMHgzMiwweDZhLDB4ZmYsMHhmZiwKLTB4ZmYsMHhmZiwweGZmLDB4ZmYsMHhmZiwweGZmLDB4ZmYsMHhmZiwweGZmLDB4ZmYsMHhmZiwweDAyLDB4MzMsMHgxNSwweDc1LDB4ODEsCi0weGM4LDB4OTAsMHhmZSwweGYwLDB4ODUsMHg4MywweGEwLDB4MTIsMHgzNCwweDdkLDB4ZWMsMHg0ZCwweDYwLDB4NmEsMHg3OCwweGE1LAotMHg4MCwweDAzLDB4NzYsMHgwMCwweDE4LDB4YjgsMHg5NiwweGZhLDB4NzgsMHg3OSwweDgwLDB4MDMsMHg3NiwweDAwLDB4MTgsMHhiOCwKLTB4NWYsMHhmYSwweDc4LDB4MjAsMHg4MCwweDAzLDB4NzYsMHgwMCwweDE4LDB4YjgsMHgyMCwweGZhLDB4OTAsMHhmZSwweGU1LDB4YWUsCi0weDgzLDB4YWYsMHg4MiwweDkwLDB4ZmQsMHgwMCwweDEyLDB4MDAsMHhhMSwweDYwLDB4MDUsMHhlNCwweGYwLDB4YTMsMHg4MCwweGY2LAotMHg5MCwweGZlLDB4ZjAsMHhhOCwweDgyLDB4OTAsMHhmZSwweGYwLDB4YTksMHg4MiwweGU4LDB4YzMsMHg5OSwweDUwLDB4MDUsMHg3NiwKLTB4MDAsMHgwOCwweDgwLDB4ZjYsMHg5MCwweDAwLDB4ZmYsMHgxMiwweDAwLDB4YWEsMHg5MCwweDAxLDB4MDMsMHgxMiwweDAwLDB4YWEsCi0weDkwLDB4MDEsMHgwNywweDEyLDB4MDAsMHhhYSwweDkwLDB4MDEsMHgwYiwweDEyLDB4MDAsMHhjOCwweDkwLDB4MDEsMHgxMSwweDEyLAotMHgwMCwweGM4LDB4OTAsMHgwMSwweDE3LDB4MTIsMHgwMCwweGM4LDB4NzUsMHhkMCwweDAwLDB4MTIsMHgzMywweDY3LDB4MDIsMHgwMSwKLTB4MWQsMHhlZiwweDY1LDB4ODIsMHg3MCwweDAzLDB4ZWUsMHg2NSwweDgzLDB4MjIsMHhlNCwweDkzLDB4ZjgsMHg3NCwweDAxLDB4OTMsCi0weGY5LDB4NzQsMHgwMiwweDkzLDB4ZmUsMHg3NCwweDAzLDB4OTMsMHhmNSwweDgyLDB4OGUsMHg4MywweGU4LDB4NjksMHg3MCwweDAxLAotMHgyMiwweGU0LDB4OTMsMHhmNiwweGEzLDB4MDgsMHg4MCwweGY0LDB4ZTQsMHg5MywweGZjLDB4NzQsMHgwMSwweDkzLDB4ZmQsMHg3NCwKLTB4MDIsMHg5MywweGZlLDB4NzQsMHgwMywweDkzLDB4ZmYsMHg3NCwweDA0LDB4OTMsMHhmOCwweDc0LDB4MDUsMHg5MywweGY1LDB4ODIsCi0weDg4LDB4ODMsMHgxMiwweDAwLDB4YTEsMHg3MCwweDAxLDB4MjIsMHhlNCwweDkzLDB4YTMsMHhhOCwweDgzLDB4YTksMHg4MiwweDhjLAotMHg4MywweDhkLDB4ODIsMHhmMCwweGEzLDB4YWMsMHg4MywweGFkLDB4ODIsMHg4OCwweDgzLDB4ODksMHg4MiwweDgwLDB4ZTMsMHgyMSwKLTB4MjEsMHgwNCwweDkyLDB4N2EsMHg3YSwweDA0LDB4OTIsMHhhNiwweGE4LDB4MDQsMHg5MiwweGZlLDB4ZjAsMHgwNCwweDk0LDB4MDQsCi0weDk0LDB4ZmIsMHhmYiwweDA0LDB4OTksMHgwNCwweDk0LDB4ZmIsMHhmYiwweDA0LDB4ZjksMHgwNCwweGY5LDB4ODAsMHhmZSwweGQwLAotMHhmMCwweDMwLDB4ZjAsMHgwOSwweDIwLDB4ZjMsMHgwMywweGY2LDB4ODAsMHgxMCwweGY3LDB4ODAsMHgwZCwweDMwLDB4ZjEsMHgwOSwKLTB4MjAsMHhmMywweDAzLDB4ZjIsMHg4MCwweDA0LDB4ZjMsMHg4MCwweDAxLDB4ZjAsMHgyMCwweGY0LDB4MDQsMHhmYywweGQwLDB4ZTAsCi0weGNjLDB4MjIsMHhjYywweGMwLDB4ZTAsMHgxMiwweDAxLDB4NWEsMHgwMiwweDAxLDB4NGIsMHhiYywweDAwLDB4MDUsMHhkMCwweGYwLAotMHhhYywweGYwLDB4MjIsMHhjMywweDEzLDB4ZGMsMHhmYywweDAyLDB4MDEsMHgyMSwweGJmLDB4MDAsMHgwOSwweGVkLDB4MjUsMHg4MiwKLTB4NzUsMHhmMCwweDAxLDB4ZjgsMHhlNiwweDIyLDB4YmYsMHgwMSwweDBmLDB4ZWQsMHgyNSwweDgyLDB4ZjUsMHg4MiwweGVlLDB4MzUsCi0weDgzLDB4ZjUsMHg4MywweDc1LDB4ZjAsMHgwNCwweGUwLDB4MjIsMHhlZCwweDI1LDB4ODIsMHg3NSwweGYwLDB4MDIsMHhmOCwweGUyLAotMHgyMiwweGQwLDB4ODMsMHhkMCwweDgyLDB4ZjUsMHhmMCwweGMzLDB4ZTQsMHg5MywweGEzLDB4YzUsMHhmMCwweDk1LDB4ZjAsMHhjMCwKLTB4ZTAsMHhjMywweGQwLDB4ZjAsMHhlNCwweDkzLDB4YTMsMHg5NSwweGYwLDB4NDAsMHgxMiwweGEzLDB4YTMsMHhjMywweGU1LDB4ZjAsCi0weDMzLDB4NTAsMHgwMiwweDA1LDB4ODMsMHgyNSwweDgyLDB4ZjUsMHg4MiwweDUwLDB4MDIsMHgwNSwweDgzLDB4NzQsMHgwMSwweDkzLAotMHhjMCwweGUwLDB4ZTQsMHg5MywweGMwLDB4ZTAsMHgyMiwweGQwLDB4ODMsMHhkMCwweDgyLDB4ZjUsMHhmMCwweGU0LDB4OTMsMHg3MCwKLTB4MDksMHg3NCwweDAxLDB4OTMsMHg3MCwweDA0LDB4YTMsMHhhMywweDgwLDB4MGMsMHg3NCwweDAyLDB4OTMsMHg2NSwweGYwLDB4NjAsCi0weDA1LDB4YTMsMHhhMywweGEzLDB4ODAsMHhlNywweDc0LDB4MDEsMHg5MywweGMwLDB4ZTAsMHhlNCwweDkzLDB4YzAsMHhlMCwweDIyLAotMHgxMiwweDAyLDB4NWIsMHgwMiwweDAxLDB4ZjIsMHgxMiwweDAyLDB4YWYsMHgwMiwweDAxLDB4ZjIsMHgxMiwweDAyLDB4ZDMsMHgwMiwKLTB4MDEsMHhmMiwweDMwLDB4ZTAsMHgwNywweDIwLDB4ZTMsMHgwMiwweGU2LDB4MjIsMHhlNywweDIyLDB4MzAsMHhlMSwweDA3LDB4MjAsCi0weGUzLDB4MDIsMHhlMiwweDIyLDB4ZTMsMHgyMiwweDMwLDB4ZTIsMHgwMiwweGUwLDB4MjIsMHhlNCwweDkzLDB4MjIsMHgxMiwweDAyLAotMHhkMywweDAyLDB4MDIsMHgxYSwweDEyLDB4MDIsMHhhZiwweDAyLDB4MDIsMHgxYSwweGFiLDB4ZjAsMHgxMiwweDAyLDB4MjQsMHhjYiwKLTB4YzUsMHhmMCwweGNiLDB4MjIsMHgzMCwweGUwLDB4MTAsMHgyMCwweGUzLDB4MDYsMHhlNiwweGY1LDB4ZjAsMHgwOCwweGU2LDB4MjIsCi0weGU3LDB4ZjUsMHhmMCwweDA5LDB4ZTcsMHgxOSwweDIyLDB4MzAsMHhlMSwweDEwLDB4MjAsMHhlMywweDA2LDB4ZTIsMHhmNSwweGYwLAotMHgwOCwweGUyLDB4MjIsMHhlMywweGY1LDB4ZjAsMHgwOSwweGUzLDB4MTksMHgyMiwweDMwLDB4ZTIsMHgwNiwweGUwLDB4ZjUsMHhmMCwKLTB4YTMsMHhlMCwweDIyLDB4ZTQsMHg5MywweGY1LDB4ZjAsMHg3NCwweDAxLDB4OTMsMHgyMiwweGJiLDB4MDAsMHgwMywweDc0LDB4MDksCi0weDIyLDB4YmIsMHgwMSwweDA3LDB4ODksMHg4MiwweDhhLDB4ODMsMHg3NCwweDA0LDB4MjIsMHhiYiwweDAyLDB4MDcsMHg4OSwweDgyLAotMHg4YSwweDgzLDB4NzQsMHgxMCwweDIyLDB4NzQsMHgwYSwweDIyLDB4MDIsMHgwMiwweDdiLDB4YmIsMHgwMCwweDA3LDB4ZTksMHgyNSwKLTB4ODIsMHhmOCwweDc0LDB4MDEsMHgyMiwweGJiLDB4MDEsMHgwZCwweGU5LDB4MjUsMHg4MiwweGY1LDB4ODIsMHhlYSwweDM1LDB4ODMsCi0weGY1LDB4ODMsMHg3NCwweDA0LDB4MjIsMHhiYiwweDAyLDB4MGQsMHhlOSwweDI1LDB4ODIsMHhmNSwweDgyLDB4ZWEsMHgzNSwweDgzLAotMHhmNSwweDgzLDB4NzQsMHgxMCwweDIyLDB4ZTksMHgyNSwweDgyLDB4ZjgsMHg3NCwweDAyLDB4MjIsMHgwMiwweDAyLDB4YWYsMHhiZiwKLTB4MDAsMHgwNSwweGVkLDB4ZjgsMHg3NCwweDAxLDB4MjIsMHhiZiwweDAxLDB4MDcsMHg4ZCwweDgyLDB4OGUsMHg4MywweDc0LDB4MDQsCi0weDIyLDB4YmYsMHgwMiwweDA3LDB4OGQsMHg4MiwweDhlLDB4ODMsMHg3NCwweDEwLDB4MjIsMHhlZCwweGY4LDB4NzQsMHgwMiwweDIyLAotMHgwMiwweDAyLDB4ZDMsMHhiZiwweDAwLDB4MDcsMHhlZCwweDI1LDB4ODIsMHhmOCwweDc0LDB4MDEsMHgyMiwweGJmLDB4MDEsMHgwZCwKLTB4ZWQsMHgyNSwweDgyLDB4ZjUsMHg4MiwweGVlLDB4MzUsMHg4MywweGY1LDB4ODMsMHg3NCwweDA0LDB4MjIsMHhiZiwweDAyLDB4MGQsCi0weGVkLDB4MjUsMHg4MiwweGY1LDB4ODIsMHhlZSwweDM1LDB4ODMsMHhmNSwweDgzLDB4NzQsMHgxMCwweDIyLDB4ZWQsMHgyNSwweDgyLAotMHhmOCwweDc0LDB4MDIsMHgyMiwweDAyLDB4MDMsMHgwNywweGMwLDB4ZTAsMHgxMiwweDAyLDB4NWIsMHgwMiwweDAzLDB4MWYsMHhjMCwKLTB4ZTAsMHgxMiwweDAyLDB4YWYsMHgwMiwweDAzLDB4MWYsMHhjMCwweGUwLDB4MTIsMHgwMiwweGQzLDB4MDIsMHgwMywweDFmLDB4MzAsCi0weGUwLDB4MGIsMHgyMCwweGUzLDB4MDQsMHhkMCwweGUwLDB4ZjYsMHgyMiwweGQwLDB4ZTAsMHhmNywweDIyLDB4MzAsMHhlMSwweDBiLAotMHgyMCwweGUzLDB4MDQsMHhkMCwweGUwLDB4ZjIsMHgyMiwweGQwLDB4ZTAsMHhmMywweDIyLDB4ZDAsMHhlMCwweGYwLDB4MjIsMHhjOSwKLTB4Y2QsMHhjOSwweGNhLDB4Y2UsMHhjYSwweGNiLDB4Y2YsMHhjYiwweDEyLDB4MDMsMHg1MiwweGVkLDB4ZjksMHhlZSwweGZhLDB4ZWYsCi0weGZiLDB4MjIsMHhiYiwweDAwLDB4MmYsMHhiZiwweDAwLDB4MGEsMHhmYSwweGVkLDB4ZjgsMHhlNywweGY2LDB4MDgsMHgwOSwweGRhLAotMHhmYSwweDIyLDB4YmYsMHgwMSwweDEyLDB4OGQsMHg4MiwweDhlLDB4ODMsMHhmOCwweDAyLDB4MDMsMHg2ZiwweDA5LDB4YTMsMHhlNywKLTB4ZjAsMHhkOCwweGZhLDB4MjIsMHgwMiwweDAzLDB4N2EsMHhmYSwweGVkLDB4ZjgsMHhlNywweGYyLDB4MDgsMHgwOSwweGRhLDB4ZmEsCi0weDIyLDB4MDIsMHgwMywweDg0LDB4YmIsMHgwMSwweDRkLDB4YmYsMHgwMCwweDE0LDB4ODksMHg4MiwweDhhLDB4ODMsMHhmOSwweGVkLAotMHhmOCwweDAyLDB4MDMsMHg5NiwweDA4LDB4YTMsMHhlMCwweGY2LDB4ZDksMHhmYSwweDIyLDB4MDIsMHgwMywweGE3LDB4YmYsMHgwMSwKLTB4MjIsMHg4ZCwweDgyLDB4OGUsMHg4MywweGZiLDB4MDgsMHhjOSwweGM1LDB4ODIsMHhjOSwweGNhLDB4YzUsMHg4MywweGNhLDB4ZTAsCi0weGEzLDB4YzksMHhjNSwweDgyLDB4YzksMHhjYSwweGM1LDB4ODMsMHhjYSwweGYwLDB4YTMsMHhkYiwweGVhLDB4ZDgsMHhlOCwweDIyLAotMHgwMiwweDAzLDB4Y2EsMHg4ZCwweDgyLDB4OGUsMHg4MywweGY5LDB4ZWQsMHhmOCwweGUwLDB4ZjIsMHgwOCwweGEzLDB4ZDksMHhmYSwKLTB4MjIsMHgwMiwweDAzLDB4ZDQsMHhiYiwweDAyLDB4NGQsMHhiZiwweDAwLDB4MTIsMHg4OSwweDgyLDB4OGEsMHg4MywweGY5LDB4ZWQsCi0weGY4LDB4MDIsMHgwMywweGU2LDB4MDgsMHhhMywweGU0LDB4OTMsMHhmNiwweGQ5LDB4ZjksMHgyMiwweGJmLDB4MDEsMHgyMywweDhkLAotMHg4MiwweDhlLDB4ODMsMHhmYiwweDA4LDB4YzksMHhjNSwweDgyLDB4YzksMHhjYSwweGM1LDB4ODMsMHhjYSwweGU0LDB4OTMsMHhhMywKLTB4YzksMHhjNSwweDgyLDB4YzksMHhjYSwweGM1LDB4ODMsMHhjYSwweGYwLDB4YTMsMHhkYiwweGU5LDB4ZDgsMHhlNywweDIyLDB4MDIsCi0weDA0LDB4MTksMHg4OSwweDgyLDB4OGEsMHg4MywweGY5LDB4ZWQsMHhmOCwweGU0LDB4OTMsMHhmMiwweDA4LDB4YTMsMHhkOSwweGY5LAotMHgyMiwweDAyLDB4MDQsMHgyYSwweGJmLDB4MDAsMHgwZCwweGZhLDB4ZWQsMHhmOCwweGUzLDB4ZjYsMHgwOCwweDA5LDB4ZGEsMHhmYSwKLTB4MjIsMHgwMiwweDA0LDB4MzQsMHhiZiwweDAxLDB4MTIsMHg4ZCwweDgyLDB4OGUsMHg4MywweGY4LDB4MDIsMHgwNCwweDQxLDB4MDksCi0weGEzLDB4ZTMsMHhmMCwweGQ4LDB4ZmEsMHgyMiwweDAyLDB4MDQsMHg0YywweGZhLDB4ZWQsMHhmOCwweGUzLDB4ZjIsMHgwOCwweDA5LAotMHhkYSwweGZhLDB4MjIsMHgwMiwweDA0LDB4NTYsMHhlNiwweGZiLDB4MDgsMHhlNiwweGZhLDB4MDgsMHhlNiwweGY5LDB4MDQsMHhmNiwKLTB4MTgsMHg3MCwweDAxLDB4MDYsMHgyMiwweGU2LDB4ZmYsMHgwOCwweGU2LDB4ZmUsMHgwOCwweGU2LDB4ZmQsMHgyMiwweGVmLDB4ZjAsCi0weGEzLDB4ZWUsMHhmMCwweGEzLDB4ZWQsMHhmMCwweDIyLDB4ZWIsMHhmMCwweGEzLDB4ZWEsMHhmMCwweGEzLDB4ZTksMHhmMCwweDIyLAotMHhlMCwweGZmLDB4YTMsMHhlMCwweGZlLDB4YTMsMHhlMCwweGZkLDB4MjIsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwKLTB4ZjksMHgyMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDQsMHhmOSwweDAwLDB4NWIsMHgwNSwweDczLDB4MDAsCi0weDI2LDB4MDUsMHg5YSwweDAwLDB4MzMsMHgwYSwweDBiLDB4MDAsMHg1YiwweDBhLDB4NzcsMHgwMCwweDYwLDB4MTUsMHg1MiwweDAwLAotMHg1YiwweDBjLDB4ZmIsMHgwMCwweDViLDB4MDksMHhhYiwweDAwLDB4NWIsMHgwOSwweGUyLDB4MDAsMHg1YiwweDBkLDB4YzIsMHgwMCwKLTB4NWIsMHgwYiwweGYzLDB4MDAsMHg1YiwweDBhLDB4MWUsMHgwMCwweDViLDB4MGEsMHg1MywweDAwLDB4NWIsMHgxNywweDRhLDB4MDAsCi0weDMzLDB4MTcsMHg2MCwweDAwLDB4MzQsMHgxZSwweDRkLDB4MDAsMHg0MywweDFlLDB4ZjAsMHgwMCwweDQ0LDB4MjAsMHg1ZCwweDAwLAotMHg0NCwweDIwLDB4NGIsMHgwMCwweDQ3LDB4MWYsMHgxNywweDAwLDB4NDcsMHgxZiwweGJjLDB4MDAsMHg0ZCwweDIwLDB4MGQsMHgwMCwKLTB4NGYsMHgxZiwweDM5LDB4MDAsMHg1OCwweDMxLDB4ZjUsMHgwMCwweDViLDB4N2MsMHhjYywweDdkLDB4ZmYsMHgxMiwweDFjLDB4ZmUsCi0weDIyLDB4NzQsMHg5MCwweDkwLDB4ZmYsMHg5MSwweGYwLDB4OTAsMHhmZiwweGZjLDB4ZTAsMHgyMCwweGU3LDB4MmQsMHhjMiwweGFmLAotMHhhZSwweDU5LDB4YWYsMHg1OCwweDc1LDB4NWEsMHgyMCwweGU1LDB4NWEsMHgxNCwweGM1LDB4NWEsMHg2MCwweDE5LDB4ZTQsMHhmZSwKLTB4N2YsMHgwNSwweGVlLDB4NGYsMHhjZSwweDI0LDB4ZmYsMHhjZSwweGNmLDB4MzQsMHhmZiwweGNmLDB4NjAsMHgwNywweGU0LDB4OTAsCi0weGZmLDB4OTIsMHhmMCwweDgwLDB4ZWQsMHg4MCwweGUwLDB4OGUsMHg1OSwweDhmLDB4NTgsMHgyMiwweDEyLDB4MDUsMHgwMSwweDdkLAotMHgwNywweDdjLDB4YjcsMHgxMiwweDMyLDB4MTEsMHg3ZCwweDBmLDB4N2MsMHg2ZSwweDEyLDB4MzIsMHgyYiwweDc4LDB4OTcsMHg3YSwKLTB4MDYsMHhlNCwweGY2LDB4MDgsMHhkYSwweGZjLDB4N2EsMHgwNiwweDEyLDB4MDUsMHhjZiwweDdjLDB4MDMsMHgxMiwweDBlLDB4NTcsCi0weDdjLDB4MDQsMHgxMiwweDBlLDB4NTcsMHgxMiwweDIxLDB4OGIsMHhlNCwweGZlLDB4ZmYsMHg3YywweDBmLDB4MTIsMHgzMSwweDlhLAotMHhkMiwweGE4LDB4MjIsMHgxMiwweDMwLDB4ODUsMHhlNCwweDkwLDB4ZmQsMHg0MCwweGYwLDB4OTAsMHhmZiwweGYwLDB4ZTAsMHgzMCwKLTB4ZTQsMHgwOCwweDc0LDB4MDEsMHg5MCwweGZkLDB4NDEsMHhmMCwweDgwLDB4MDUsMHhlNCwweDkwLDB4ZmQsMHg0MSwweGYwLDB4N2QsCi0weDBhLDB4N2MsMHgwMCwweDEyLDB4MjQsMHhiMSwweDEyLDB4MzEsMHgwOCwweDIyLDB4MTIsMHgzMCwweDg1LDB4OTAsMHhmZCwweDQxLAotMHhlMCwweDE0LDB4NzAsMHgwZSwweDkwLDB4ZmYsMHhmMCwweGUwLDB4NDQsMHgxMCwweGYwLDB4N2MsMHgwMCwweDEyLDB4MjUsMHg0YSwKLTB4ODAsMHgxOSwweDkwLDB4ZmQsMHg0MSwweGUwLDB4NzAsMHgwZSwweDkwLDB4ZmYsMHhmMCwweGUwLDB4NTQsMHhlZiwweGYwLDB4N2MsCi0weDAwLDB4MTIsMHgyNSwweDRhLDB4ODAsMHgwNSwweDdjLDB4MTcsMHgxMiwweDI1LDB4NGEsMHgxMiwweDMxLDB4MDgsMHgyMiwweDkwLAotMHhmZiwweGYwLDB4ZTAsMHg1NCwweGFiLDB4ZjAsMHg5MCwweGZmLDB4ZjAsMHhlMCwweDQ0LDB4MjAsMHhmMCwweDIyLDB4OGMsMHgzNywKLTB4OGQsMHgzNiwweDc4LDB4N2MsMHhlZCwweGY2LDB4MDgsMHhlYywweGY2LDB4ZWQsMHhmZSwweGVjLDB4ZmQsMHg3ZiwweDAxLDB4OTAsCi0weDAwLDB4MDUsMHgxMiwweDAxLDB4ZWMsMHg3OCwweDdhLDB4ZjYsMHg3OCwweDdjLDB4ZTYsMHhmZCwweDA4LDB4ZTYsMHhmYywweGVkLAotMHhmZSwweGVjLDB4ZmQsMHg3ZiwweDAxLDB4OTAsMHgwMCwweDA0LDB4MTIsMHgwMSwweGVjLDB4NTQsMHgwZiwweGZjLDB4N2QsMHg3YSwKLTB4MTIsMHgxNywweDlkLDB4NzgsMHg3YSwweGU2LDB4NzAsMHgwZCwweGFkLDB4M2EsMHhhZSwweDM5LDB4YWYsMHgzOCwweGU0LDB4MTIsCi0weDAzLDB4MGYsMHg3YywweDA4LDB4MjIsMHg5MCwweGZmLDB4ZjAsMHhlMCwweDU0LDB4ZmUsMHhmMCwweDkwLDB4ZmYsMHhmMCwweGUwLAotMHg1NCwweGZkLDB4ZjAsMHg4MCwweDFlLDB4NzgsMHg3YywweGU2LDB4ZmQsMHgwOCwweGU2LDB4ZmMsMHhlZCwweGZlLDB4ZWMsMHhmZCwKLTB4N2YsMHgwMSwweDkwLDB4MDAsMHgwOCwweDEyLDB4MDIsMHgwZSwweDI1LDB4ZTAsMHg0NCwweDAxLDB4OTAsMHhmZiwweGYzLDB4ZjAsCi0weDAyLDB4MDYsMHhkYiwweDc4LDB4N2MsMHhlNiwweGZkLDB4MDgsMHhlNiwweGZjLDB4ZWQsMHhmZSwweGVjLDB4ZmQsMHg3ZiwweDAxLAotMHg5MCwweDAwLDB4MDYsMHgxMiwweDAyLDB4MGUsMHg1NCwweGZlLDB4OTAsMHhmZiwweGYzLDB4ZjAsMHg4MCwweDJiLDB4NzgsMHg3YywKLTB4ZTYsMHhmZCwweDA4LDB4ZTYsMHhmYywweGVkLDB4ZmUsMHhlYywweGZkLDB4N2YsMHgwMSwweDkwLDB4MDAsMHgwOCwweDEyLDB4MDIsCi0weDBlLDB4ZmEsMHhlYiwweDkwLDB4ZmYsMHhmMSwweGYwLDB4MTIsMHgwOCwweGNhLDB4NDAsMHgwZCwweGFkLDB4M2EsMHhhZSwweDM5LAotMHhhZiwweDM4LDB4ZTQsMHgxMiwweDAzLDB4MGYsMHg3YywweDE4LDB4MjIsMHg3OCwweDdjLDB4ZTYsMHhmZCwweDA4LDB4ZTYsMHhmYywKLTB4ZWQsMHhmZSwweGVjLDB4ZmQsMHg3ZiwweDAxLDB4OTAsMHgwMCwweDA4LDB4MTIsMHgwMiwweDBlLDB4OTAsMHhmZiwweGYxLDB4ZjAsCi0weDEyLDB4MDgsMHhjYSwweDQwLDB4MGQsMHhhZCwweDNhLDB4YWUsMHgzOSwweGFmLDB4MzgsMHhlNCwweDEyLDB4MDMsMHgwZiwweDdjLAotMHgxOCwweDIyLDB4NzgsMHg3YywweGU2LDB4ZmQsMHgwOCwweGU2LDB4ZmMsMHhlZCwweGZlLDB4ZWMsMHhmZCwweDdmLDB4MDEsMHg5MCwKLTB4MDAsMHgwNiwweDEyLDB4MDIsMHgwZSwweDQ0LDB4MDEsMHg5MCwweGZmLDB4ZjMsMHhmMCwweDc4LDB4N2QsMHhlNiwweDI0LDB4MDMsCi0weGY2LDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNiwweDc4LDB4N2EsMHhlNiwweDI0LDB4ZmUsMHg1MCwweDA5LDB4OTAsMHhmZiwweGYwLAotMHhlMCwweDU0LDB4ZmQsMHhmMCwweDgwLDB4MDcsMHg5MCwweGZmLDB4ZjAsMHhlMCwweDQ0LDB4MDIsMHhmMCwweGU0LDB4OTAsMHhmZiwKLTB4ZjEsMHhmMCwweDc4LDB4N2IsMHg3NiwweDAwLDB4NzgsMHg3YSwweGU2LDB4MjQsMHhmZiwweGZjLDB4ZTQsMHgzNCwweGZmLDB4ZmQsCi0weDc4LDB4N2IsMHhlNiwweDdmLDB4MDAsMHhmZSwweGVjLDB4ZDMsMHg5ZSwweGVmLDB4NjQsMHg4MCwweGNkLDB4NjQsMHg4MCwweDlkLAotMHg0MCwweDJmLDB4MTIsMHgwOCwweGFmLDB4NDAsMHgwZiwweDc4LDB4N2IsMHhlNiwweGFkLDB4M2EsMHhhZSwweDM5LDB4YWYsMHgzOCwKLTB4MTIsMHgwMywweDBmLDB4N2MsMHgxOCwweDIyLDB4OTAsMHhmZiwweGYyLDB4ZTAsMHhmYywweDc4LDB4N2MsMHg4NiwweDgzLDB4MDgsCi0weDg2LDB4ODIsMHhlYywweGYwLDB4NzgsMHg3YiwweDA2LDB4YTMsMHg3OCwweDdjLDB4YTYsMHg4MywweDA4LDB4YTYsMHg4MiwweDgwLAotMHhiNSwweDEyLDB4MDgsMHhhZiwweDQwLDB4MGYsMHg3OCwweDdiLDB4ZTYsMHhhZCwweDNhLDB4YWUsMHgzOSwweGFmLDB4MzgsMHgxMiwKLTB4MDMsMHgwZiwweDdjLDB4MTgsMHgyMiwweDkwLDB4ZmYsMHhmMiwweGUwLDB4ZmMsMHg3OCwweDdjLDB4ODYsMHg4MywweDA4LDB4ODYsCi0weDgyLDB4ZWMsMHhmMCwweDc4LDB4N2EsMHhlNiwweGFkLDB4M2EsMHhhZSwweDM5LDB4YWYsMHgzOCwweDEyLDB4MDMsMHgwZiwweDdjLAotMHgwMCwweDIyLDB4OGMsMHgzNywweDhkLDB4MzYsMHg3OCwweDdjLDB4ZWQsMHhmNiwweDA4LDB4ZWMsMHhmNiwweGVkLDB4ZmUsMHhlYywKLTB4ZmQsMHg3ZiwweDAxLDB4OTAsMHgwMCwweDA1LDB4MTIsMHgwMSwweGVjLDB4NzgsMHg3YiwweGY2LDB4NzgsMHg3YywweGU2LDB4ZmQsCi0weDA4LDB4ZTYsMHhmYywweGVkLDB4ZmUsMHhlYywweGZkLDB4N2YsMHgwMSwweDkwLDB4MDAsMHgwNCwweDEyLDB4MDEsMHhlYywweDU0LAotMHgwZiwweGZjLDB4N2QsMHg3YiwweDEyLDB4MTcsMHg5ZCwweDc4LDB4N2IsMHhlNiwweDcwLDB4MDMsMHg3YywweDA4LDB4MjIsMHg5MCwKLTB4ZmYsMHhmMCwweGUwLDB4NTQsMHhmZSwweGYwLDB4OTAsMHhmZiwweGYwLDB4ZTAsMHg1NCwweGZkLDB4ZjAsMHg4MCwweDFiLDB4NzgsCi0weDdjLDB4ZTYsMHhmZCwweDA4LDB4ZTYsMHhmYywweGVkLDB4ZmUsMHhlYywweGZkLDB4N2YsMHgwMSwweDkwLDB4MDAsMHgwOCwweDEyLAotMHgwMiwweDBlLDB4MjUsMHhlMCwweDkwLDB4ZmYsMHhmMywweGYwLDB4ODAsMHg1YiwweDc4LDB4N2MsMHhlNiwweGZkLDB4MDgsMHhlNiwKLTB4ZmMsMHhlZCwweGZlLDB4ZWMsMHhmZCwweDdmLDB4MDEsMHg5MCwweDAwLDB4MDYsMHgxMiwweDAyLDB4MGUsMHg1NCwweGZlLDB4OTAsCi0weGZmLDB4ZjMsMHhmMCwweDgwLDB4MjEsMHg3OCwweDdjLDB4ZTYsMHhmZCwweDA4LDB4ZTYsMHhmYywweGVkLDB4ZmUsMHhlYywweGZkLAotMHg3ZiwweDAxLDB4OTAsMHgwMCwweDA4LDB4MTIsMHgwMiwweDBlLDB4ZmEsMHhlYiwweDkwLDB4ZmYsMHhmMSwweGYwLDB4MTIsMHgwOCwKLTB4Y2EsMHg0MCwweDAzLDB4N2MsMHgxOCwweDIyLDB4NzgsMHg3YywweGU2LDB4ZmQsMHgwOCwweGU2LDB4ZmMsMHhlZCwweGZlLDB4ZWMsCi0weGZkLDB4N2YsMHgwMSwweDkwLDB4MDAsMHgwOCwweDEyLDB4MDIsMHgwZSwweDkwLDB4ZmYsMHhmMSwweGYwLDB4MTIsMHgwOCwweGNhLAotMHg0MCwweDAzLDB4N2MsMHgxOCwweDIyLDB4NzgsMHg3ZCwweGU2LDB4MjQsMHgwYSwweGY2LDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNiwKLTB4NzgsMHg3YSwweDc2LDB4MDAsMHg3OCwweDdiLDB4ZTYsMHgyNCwweGZmLDB4ZmMsMHhlNCwweDM0LDB4ZmYsMHhmZCwweDc4LDB4N2EsCi0weGU2LDB4N2YsMHgwMCwweGZlLDB4ZWMsMHhkMywweDllLDB4ZWYsMHg2NCwweDgwLDB4Y2QsMHg2NCwweDgwLDB4OWQsMHg0MCwweDIxLAotMHg3OCwweDdjLDB4ODYsMHg4MywweDA4LDB4ODYsMHg4MiwweGUwLDB4OTAsMHhmZiwweGYxLDB4ZjAsMHgxMiwweDA4LDB4Y2EsMHg0MCwKLTB4MDMsMHg3YywweDE4LDB4MjIsMHg3OCwweDdhLDB4MDYsMHg3OCwweDdkLDB4MDYsMHhlNiwweDE4LDB4NzAsMHgwMSwweDA2LDB4ODAsCi0weGMzLDB4OTAsMHhmZiwweGYwLDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg3OCwweDdjLDB4ODYsMHg4MywweDA4LDB4ODYsMHg4MiwweGUwLAotMHg5MCwweGZmLDB4ZjEsMHhmMCwweDEyLDB4MDgsMHhjYSwweDQwLDB4MDMsMHg3YywweDE4LDB4MjIsMHg3YywweDAwLDB4MjIsMHg5MCwKLTB4ZmYsMHhmMCwweGUwLDB4MjAsMHhlNywweDEyLDB4OTAsMHhmZiwweGYwLDB4ZTAsMHgzMCwweGU1LDB4MDksMHg5MCwweGZmLDB4ZjAsCi0weGUwLDB4NDQsMHgyMCwweGYwLDB4YzMsMHgyMiwweDgwLDB4ZTcsMHhkMywweDIyLDB4OTAsMHhmZiwweGYwLDB4ZTAsMHgyMCwweGUzLAotMHgxMiwweDkwLDB4ZmYsMHhmMCwweGUwLDB4MzAsMHhlNSwweDA5LDB4OTAsMHhmZiwweGYwLDB4ZTAsMHg0NCwweDIwLDB4ZjAsMHhjMywKLTB4MjIsMHg4MCwweGU3LDB4ZDMsMHgyMiwweDhjLDB4NDIsMHg4ZCwweDQxLDB4N2MsMHgwMCwweGVkLDB4NTQsMHhmMCwweGZkLDB4ZWMsCi0weDcwLDB4MDMsMHhlZCwweDY0LDB4MzAsMHg3MCwweDA1LDB4NzUsMHgzZSwweDAzLDB4ODAsMHgwMywweDc1LDB4M2UsMHgwNCwweGFjLAotMHgzZSwweDEyLDB4MGYsMHg3YywweDc1LDB4ODMsMHgwMCwweDg1LDB4ODMsMHg0MCwweGU1LDB4NDEsMHg1NCwweDBmLDB4ZjUsMHgzZiwKLTB4ZTUsMHg0MCwweDcwLDB4MDQsMHhlNSwweDNmLDB4NjQsMHgwMywweDcwLDB4MzUsMHhlNSwweDNlLDB4MjQsMHhmZCwweDc1LDB4ZjAsCi0weDBhLDB4YTQsMHgyNCwweDBhLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmZCwweGY1LDB4ODMsMHhlMCwweDMwLDB4ZTYsMHgwNSwweDEyLAotMHgxMCwweDY3LDB4ODAsMHgxOSwweGU1LDB4M2UsMHgyNCwweDk3LDB4ZjgsMHhjNiwweDU0LDB4ZmIsMHhmNiwweDc4LDB4YTMsMHhlNiwKLTB4MjQsMHgwNSwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHg3NCwweDBmLDB4ZjAsMHg4MCwweDU5LDB4ZTUsCi0weDQwLDB4NzAsMHgwNCwweGU1LDB4M2YsMHg2NCwweDA0LDB4NzAsMHg0OCwweGU1LDB4M2UsMHgyNCwweGZkLDB4NzUsMHhmMCwweDBhLAotMHhhNCwweDI0LDB4MGEsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZkLDB4ZjUsMHg4MywweGUwLDB4MzAsMHhlNSwweDA3LDB4YWMsMHg0MiwKLTB4YWQsMHg0MSwweDEyLDB4MWMsMHg5MywweGU1LDB4NDIsMHgzMCwweGUyLDB4MTUsMHg3OCwweGE3LDB4ZTYsMHgzMCwweGUwLDB4MGYsCi0weDc4LDB4YTcsMHhlNiwweDMwLDB4ZTEsMHgwOSwweGU0LDB4ZmYsMHgwNCwweGZlLDB4N2MsMHgwNCwweDEyLDB4MzEsMHg5YSwweDc4LAotMHhhMywweGU2LDB4MjQsMHgwNiwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHg3NCwweDBmLDB4ZjAsMHg4MCwKLTB4MDcsMHhlNCwweGZjLDB4N2QsMHhlZSwweDEyLDB4MWMsMHg5MywweGMyLDB4MDMsMHgyMiwweDEyLDB4MzAsMHg4NSwweDEyLDB4MGYsCi0weDdjLDB4NzgsMHhhMywweGU2LDB4MjQsMHgwNiwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwweDkwLAotMHhmZCwweDQwLDB4ZjAsMHg3OCwweGEzLDB4ZTYsMHgyNCwweDA1LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywKLTB4ZTAsMHg5MCwweGZkLDB4NDEsMHhmMCwweGMyLDB4MDMsMHg3ZCwweDAyLDB4N2MsMHgwMCwweDEyLDB4MjQsMHhiMSwweDEyLDB4MzEsCi0weDA4LDB4MjIsMHgxMiwweDMwLDB4ODUsMHg3OCwweDhmLDB4ZWMsMHhmNiwweGVjLDB4MjQsMHg5NywweGY4LDB4ZTYsMHgzMCwweGUxLAotMHgwNywweDdjLDB4MTMsMHgxMiwweDI1LDB4NGEsMHg4MCwweDBmLDB4OTAsMHhmZCwweDQxLDB4ZTAsMHhmZCwweDc4LDB4OGYsMHhlNiwKLTB4ZmMsMHgxMiwweDEzLDB4ZmQsMHgxMiwweDI1LDB4NGEsMHgxMiwweDMxLDB4MDgsMHgyMiwweDEyLDB4MzAsMHg4NSwweDc4LDB4OGYsCi0weGVjLDB4ZjYsMHg3ZCwweDAwLDB4MTIsMHgwZiwweDBiLDB4MTIsMHgyNSwweDRhLDB4MTIsMHgzMSwweDA4LDB4MjIsMHgxMiwweDMwLAotMHg4NSwweDc4LDB4OGYsMHhlYywweGY2LDB4ZWMsMHgyNCwweDk3LDB4ZjgsMHhlNiwweDMwLDB4ZTIsMHgwNywweDdjLDB4MTMsMHgxMiwKLTB4MjUsMHg0YSwweDgwLDB4MWIsMHg3OCwweDhmLDB4ZTYsMHgyNCwweDk3LDB4ZjgsMHhlNiwweDIwLDB4ZTEsMHgwNywweDdjLDB4MTIsCi0weDEyLDB4MjUsMHg0YSwweDgwLDB4MGEsMHg3OCwweDhmLDB4ZTYsMHhmYywweDEyLDB4MTQsMHgyMSwweDEyLDB4MjUsMHg0YSwweDEyLAotMHgzMSwweDA4LDB4MjIsMHgxMiwweDMwLDB4ODUsMHg3OCwweDhmLDB4ZWMsMHhmNiwweGVjLDB4MjQsMHg5NywweGY4LDB4ZTYsMHgyMCwKLTB4ZTIsMHgwNywweDdjLDB4MTEsMHgxMiwweDI1LDB4NGEsMHg4MCwweDBhLDB4NzgsMHg4ZiwweGU2LDB4ZmMsMHgxMiwweDE1LDB4MjIsCi0weDEyLDB4MjUsMHg0YSwweDEyLDB4MzEsMHgwOCwweDIyLDB4MTIsMHgzMCwweDg1LDB4NzgsMHg4ZiwweGVjLDB4ZjYsMHgxMiwweDBmLAotMHg3YywweDc4LDB4YTMsMHhlNiwweDI0LDB4MDksMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHg5MCwKLTB4ZmQsMHg0NywweGYwLDB4NzgsMHhhMywweGU2LDB4MjQsMHgwYSwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsCi0weGUwLDB4OTAsMHhmZCwweDQ4LDB4ZjAsMHg3OCwweGEzLDB4ZTYsMHgyNCwweDAzLDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLAotMHhmNSwweDgzLDB4ZTAsMHhmYywweDc4LDB4YTMsMHhlNiwweDI0LDB4MDQsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwKLTB4ODMsMHhlMCwweGY1LDB4NWMsMHg3OCwweGEzLDB4ZTYsMHgyNCwweDAyLDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsCi0weDgzLDB4ZTAsMHhmNSwweDVkLDB4OGMsMHg1YiwweGU0LDB4ZWMsMHgzMywweDMzLDB4NTQsMHgwMSwweDc4LDB4OGYsMHhmNiwweDYwLAotMHgwOCwweGU1LDB4NWMsMHgzMCwweGUxLDB4MDMsMHg3OCwweDhmLDB4MDYsMHg3OCwweDhmLDB4ZTYsMHg5MCwweGZkLDB4NDksMHhmMCwKLTB4NzgsMHhhMSwweGU2LDB4MjQsMHgwMiwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwweGZkLDB4YTMsCi0weGUwLDB4NTQsMHgwYywweGZjLDB4ZWQsMHg1NCwweGU2LDB4OGMsMHg1ZiwweGY1LDB4NWUsMHhlNSwweDViLDB4MzAsMHhlNSwweDAzLAotMHg0MywweDVmLDB4MDEsMHhlNSwweDVjLDB4MjAsMHhlNSwweDBlLDB4ZTUsMHg1YiwweDU0LDB4N2YsMHg3MCwweDA4LDB4ZTUsMHg1YiwKLTB4MjAsMHhlNywweDAzLDB4NDMsMHg1ZiwweDAyLDB4ZTUsMHg1YiwweDMwLDB4ZTMsMHgwMywweDQzLDB4NWYsMHgxMCwweGU1LDB4NWIsCi0weDMwLDB4ZTIsMHgwMywweDQzLDB4NWYsMHgyMCwweGU1LDB4NWIsMHg1NCwweDAzLDB4NjAsMHgwMywweDQzLDB4NWYsMHg0MCwweGU1LAotMHg1YiwweDMwLDB4ZTEsMHgwMywweDQzLDB4NWYsMHg4MCwweGU1LDB4NWIsMHgzMCwweGU0LDB4MDMsMHg0MywweDVlLDB4MDEsMHhlNSwKLTB4NWIsMHgzMCwweGU2LDB4MDMsMHg0MywweDVlLDB4MDgsMHhlNSwweDVjLDB4MjAsMHhlNCwweDBlLDB4ZTUsMHg1YiwweDU0LDB4N2YsCi0weDcwLDB4MDgsMHhlNSwweDViLDB4MjAsMHhlNywweDAzLDB4NDMsMHg1ZSwweDEwLDB4NTMsMHg1ZiwweGZiLDB4NTMsMHg1ZSwweGY5LAotMHhhZCwweDVlLDB4ZTUsMHg1ZiwweDkwLDB4ZmQsMHg0MiwweGNkLDB4ZjAsMHhhMywweGNkLDB4ZjAsMHhlNSwweDVkLDB4MzAsMHhlMywKLTB4MGQsMHhlNSwweDVkLDB4NTQsMHgzMCwweGM0LDB4NTQsMHgwZiwweDkwLDB4ZmQsMHg0NSwweGYwLDB4ODAsMHgwNSwweGU0LDB4OTAsCi0weGZkLDB4NDUsMHhmMCwweGU1LDB4NWQsMHg1NCwweDAzLDB4OTAsMHhmZCwweDQ0LDB4ZjAsMHhlNSwweDVkLDB4NTQsMHgwNCwweGMzLAotMHgxMywweDkwLDB4ZmQsMHg0NiwweGYwLDB4OTAsMHhmZCwweDQ0LDB4ZTAsMHg3MCwweDBlLDB4N2QsMHgzZCwweDdlLDB4ZmQsMHg3ZiwKLTB4MDEsMHg3NCwweDAxLDB4OTAsMHgwMCwweDA5LDB4MTIsMHgwMSwweDQyLDB4NzgsMHhhMywweGU2LDB4MjQsMHgwOCwweGY1LDB4ODIsCi0weDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLDB4N2MsMHgwMCwweGZkLDB4NzgsMHhhMywweGU2LDB4MjQsMHgwNywweGY1LAotMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLDB4N2YsMHgwMCwweDRjLDB4ZmUsMHhlZiwweDRkLDB4OTAsMHhmZCwKLTB4NDAsMHhmMCwweGEzLDB4Y2UsMHhmMCwweGNlLDB4YzIsMHgwMywweDdkLDB4MGEsMHg3YywweDAwLDB4MTIsMHgyNCwweGIxLDB4MTIsCi0weDMxLDB4MDgsMHgyMiwweDEyLDB4MzAsMHg4NSwweDc4LDB4OGYsMHhlYywweGY2LDB4NzgsMHg5NCwweDc2LDB4MDEsMHgwOCwweDc2LAotMHhmZCwweDA4LDB4NzYsMHg0MCwweDc4LDB4OTEsMHg3NiwweDBjLDB4NzgsMHg5NCwweDEyLDB4MDQsMHg2NSwweDEyLDB4MDIsMHgxNCwKLTB4NzgsMHg5MiwweGNiLDB4ZjYsMHhjYiwweDA4LDB4ZjYsMHg3ZiwweDAwLDB4ZWYsMHgyNCwweGViLDB4NDAsMHgxZiwweGU0LDB4ZWYsCi0weDI1LDB4ZTAsMHg5MCwweDM0LDB4YmYsMHhmZCwweDkzLDB4Y2QsMHgwNCwweDkzLDB4NzgsMHg5MywweDY2LDB4NzAsMHgwMywweGVkLAotMHgxOCwweDY2LDB4NzAsMHgwNiwweDc4LDB4OTEsMHg3NiwweDAwLDB4ODAsMHgwMywweDBmLDB4ODAsMHhkYywweDc4LDB4OTAsMHhlZiwKLTB4ZjYsMHg3OCwweDk0LDB4MTIsMHgwNCwweDY1LDB4OTAsMHgwMCwweDAyLDB4MTIsMHgwMiwweDBlLDB4NzgsMHg5MiwweGNiLDB4ZjYsCi0weGNiLDB4MDgsMHhmNiwweDU0LDB4MDQsMHhjYiwweDU0LDB4MDYsMHg0YiwweDYwLDB4MDQsMHg3OCwweDkxLDB4NzYsMHgwYiwweDc4LAotMHg5MywweGU2LDB4MzAsMHhlMywweDEzLDB4NzgsMHg5NCwweDEyLDB4MDQsMHg2NSwweDkwLDB4MDAsMHgwNSwweDEyLDB4MDEsMHhlYywKLTB4MjQsMHhmYiwweDUwLDB4MDQsMHg3OCwweDkxLDB4NzYsMHgwZCwweDc4LDB4OTMsMHhlNiwweDU0LDB4YzAsMHg3ZCwweDAwLDB4NjQsCi0weGMwLDB4NGQsMHg3MCwweDA0LDB4NzgsMHg5MSwweDc2LDB4MGIsMHg3OCwweDk0LDB4MTIsMHgwNCwweDY1LDB4OTAsMHgwMCwweDA0LAotMHgxMiwweDAxLDB4ZWMsMHgyNCwweGZjLDB4NTAsMHgwNCwweDc4LDB4OTEsMHg3NiwweDBmLDB4NzgsMHg5NCwweDEyLDB4MDQsMHg2NSwKLTB4OTAsMHgwMCwweDA2LDB4MTIsMHgwMSwweGVjLDB4MjQsMHhmZCwweDUwLDB4MDQsMHg3OCwweDkxLDB4NzYsMHgwZSwweDc4LDB4OTQsCi0weDEyLDB4MDQsMHg2NSwweDkwLDB4MDAsMHgwOSwweDEyLDB4MDEsMHhlYywweDI0LDB4ZmQsMHg1MCwweDA0LDB4NzgsMHg5MSwweDc2LAotMHgwYSwweDc4LDB4OTEsMHhlNiwweDcwLDB4MmEsMHg3OCwweDhmLDB4ZTYsMHhmYywweDEyLDB4MGYsMHg3YywweDc4LDB4OTQsMHgxMiwKLTB4MDQsMHg2NSwweDc4LDB4YTEsMHhlNiwweGY5LDB4NzgsMHhhMCwweGU2LDB4ZmEsMHg3YiwweDAxLDB4NzQsMHgwYSwweDc4LDB4MDAsCi0weDEyLDB4MDMsMHgzZiwweGMyLDB4MDMsMHg3OCwweDhmLDB4ZTYsMHhmYywweDEyLDB4MTEsMHgyMywweDc4LDB4OTEsMHhlYywweGY2LAotMHg3OCwweDkxLDB4ZTYsMHhmYywweDEyLDB4MjUsMHg0YSwweDEyLDB4MzEsMHgwOCwweDIyLDB4MTIsMHgzMCwweDg1LDB4NzgsMHg4ZiwKLTB4ZWMsMHhmNiwweDEyLDB4MGYsMHg3YywweDc4LDB4OGYsMHhlNiwweDI0LDB4ZmQsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4MWMsCi0weGY1LDB4ODIsMHhlNCwweDM0LDB4ZmQsMHhmNSwweDgzLDB4YWMsMHg4MiwweGFkLDB4ODMsMHg3OCwweGEwLDB4ODYsMHg4MywweDA4LAotMHg4NiwweDgyLDB4ZWMsMHhmOSwweGVkLDB4ZmEsMHg3YiwweDBhLDB4NzgsMHgwMSwweDEyLDB4MDMsMHhhNywweGMyLDB4MDMsMHg3OCwKLTB4OGYsMHhlNiwweGZjLDB4MTIsMHgxMSwweDIzLDB4MTIsMHgzMSwweDA4LDB4MjIsMHg4ZCwweDJiLDB4OGMsMHgyYSwweGVkLDB4NjAsCi0weDQwLDB4NzUsMHgyNywweDAxLDB4NzUsMHgyOSwweDQ4LDB4NzUsMHgyOCwweGZmLDB4ZTUsMHgyYSwweDI0LDB4ZmQsMHhmYywweGU0LAotMHgzNCwweGZmLDB4ZmQsMHhlYywweDdjLDB4MDMsMHgyNSwweGUwLDB4Y2QsMHgzMywweGNkLDB4ZGMsMHhmOSwweGZjLDB4ZTUsMHgyOSwKLTB4MmMsMHhmNSwweDI5LDB4ZTUsMHgyOCwweDNkLDB4ZjUsMHgyOCwweGFkLDB4MjksMHhhZSwweDI4LDB4YWYsMHgyNywweDc0LDB4ODAsCi0weDkwLDB4MDAsMHgwNiwweDEyLDB4MDMsMHgxNywweDc0LDB4ODAsMHg5MCwweDAwLDB4MDIsMHgxMiwweDAzLDB4MTcsMHgxMiwweDBmLAotMHhkMywweGU1LDB4MmIsMHgxNCwweDYwLDB4M2IsMHg3NSwweDI3LDB4MDEsMHg3NSwweDI5LDB4MDgsMHg3NSwweDI4LDB4ZmYsMHhlNSwKLTB4MmEsMHgyNCwweGZkLDB4ZmMsMHhlNCwweDM0LDB4ZmYsMHhmZCwweGVjLDB4N2MsMHgwMywweDI1LDB4ZTAsMHhjZCwweDMzLDB4Y2QsCi0weGRjLDB4ZjksMHhmYywweGU1LDB4MjksMHgyYywweGY1LDB4MjksMHhlNSwweDI4LDB4M2QsMHhmNSwweDI4LDB4YWQsMHgyOSwweGFlLAotMHgyOCwweGFmLDB4MjcsMHhlNCwweDkwLDB4MDAsMHgwNiwweDEyLDB4MDMsMHgxNywweGU0LDB4OTAsMHgwMCwweDAyLDB4MTIsMHgwMywKLTB4MTcsMHgyMiwweDEyLDB4MzAsMHg4NSwweDc4LDB4OGYsMHhlYywweGY2LDB4ZWMsMHgyNCwweDk3LDB4ZjgsMHhlNiwweDMwLDB4ZTIsCi0weDA5LDB4NzgsMHg4ZiwweGU2LDB4ZmMsMHgxMiwweDE1LDB4MjIsMHhkMiwweDAwLDB4NzgsMHg4ZiwweGU2LDB4ZmMsMHgxMiwweDBmLAotMHg3YywweDc4LDB4OTAsMHg3NiwweDAwLDB4OTAsMHhmZCwweDQxLDB4ZTAsMHgzMCwweGU3LDB4MDQsMHg3OCwweDkwLDB4NzYsMHgwMSwKLTB4NzgsMHg5MCwweGU2LDB4ZmQsMHg3OCwweDhmLDB4ZTYsMHhmYywweDEyLDB4MGQsMHgzYSwweGMyLDB4MDMsMHgzMCwweDAwLDB4MDcsCi0weDc4LDB4OGYsMHhlNiwweGZjLDB4MTIsMHgxNCwweDIxLDB4N2MsMHgwMCwweDEyLDB4MjUsMHg0YSwweDEyLDB4MzEsMHgwOCwweDIyLAotMHg3OCwweGEzLDB4ZTYsMHgyNCwweDA0LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLDB4NDQsMHgwMSwKLTB4ZjAsMHg3OCwweGEzLDB4ZTYsMHgyNCwweDA0LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLDB4MzAsCi0weGUwLDB4MDIsMHg4MCwweGVkLDB4NzgsMHhhMywweGU2LDB4MjQsMHgwYiwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LAotMHg4MywweGUwLDB4NTQsMHhmOCwweGYwLDB4NzgsMHhhMywweGU2LDB4MjQsMHgwMiwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwKLTB4ZjUsMHg4MywweGUwLDB4NDQsMHg4MCwweGYwLDB4MjIsMHhjMiwweDAzLDB4OGMsMHg1OCwweDEyLDB4MGYsMHg3YywweDc4LDB4YTAsCi0weDg2LDB4ODMsMHgwOCwweDg2LDB4ODIsMHg3OSwweGVlLDB4N2EsMHgzNCwweDdiLDB4MGEsMHg3OCwweDAxLDB4MTIsMHgwMywweGY1LAotMHgxMiwweDBlLDB4MTAsMHhhYywweDU4LDB4N2QsMHgwMiwweDEyLDB4MGQsMHgzYSwweGMyLDB4MDMsMHhhYywweDU4LDB4MTIsMHgxMSwKLTB4MjMsMHgyMiwweDhkLDB4NTMsMHg4ZSwweDUyLDB4OGYsMHg1MSwweDhjLDB4NTAsMHgxMiwweDBmLDB4N2MsMHg3NSwweDRmLDB4MDAsCi0weDc4LDB4YTMsMHhlNiwweDI0LDB4MDUsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHgyMCwweGU0LAotMHgxNiwweGU1LDB4NGYsMHgyNCwweGY2LDB4NDAsMHgxMCwweDA1LDB4NGYsMHhjMiwweDAzLDB4N2MsMHgxOCwweDEyLDB4MzIsMHg0OCwKLTB4YWMsMHg1MCwweDEyLDB4MGYsMHg3YywweDgwLDB4ZDksMHg3OCwweGEzLDB4ZTYsMHgyNCwweDA1LDB4ZjUsMHg4MiwweDE4LDB4ZTYsCi0weDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHgyMCwweGU0LDB4MDUsMHhjMiwweDAzLDB4N2MsMHgwMiwweDIyLDB4NzgsMHhhMywweGU2LAotMHgyNCwweDA1LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLDB4NTQsMHgwZiwweDYwLDB4MTYsMHg3OCwKLTB4YTMsMHhlNiwweDI0LDB4MDUsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHg1NCwweDBmLDB4ZjAsCi0weGMyLDB4MDMsMHg3YywweDAxLDB4MjIsMHg3OCwweGEyLDB4ODYsMHg4MywweDA4LDB4ODYsMHg4MiwweGUwLDB4YWQsMHg1MywweGFlLAotMHg1MiwweGFmLDB4NTEsMHgxMiwweDAzLDB4MGYsMHhjMiwweDAzLDB4N2MsMHgwMCwweDIyLDB4OGQsMHgzMSwweDhjLDB4MzAsMHgxMiwKLTB4MTUsMHgyMiwweGU1LDB4MzEsMHg2MCwweDIwLDB4ZTUsMHgzMCwweGI0LDB4MDMsMHgwYywweDdjLDB4MDEsMHgxMiwweDI0LDB4N2MsCi0weDdjLDB4ODEsMHgxMiwweDI0LDB4N2MsMHg4MCwweDBmLDB4ZTUsMHgzMCwweGI0LDB4MDQsMHgwYSwweDdjLDB4MDIsMHgxMiwweDI0LAotMHg3YywweDdjLDB4ODIsMHgxMiwweDI0LDB4N2MsMHhhYywweDMwLDB4MTIsMHgwZiwweDdjLDB4ZTUsMHgzMSwweDYwLDB4MWEsMHg3OCwKLTB4YTQsMHg4NiwweDgzLDB4MDgsMHg4NiwweDgyLDB4ZTAsMHg1NCwweGU3LDB4ZjAsMHhhMywweGEzLDB4YTMsMHhhMywweGUwLDB4NTQsCi0weGU3LDB4ZjAsMHhhYywweDMwLDB4N2QsMHgwMiwweDEyLDB4MGQsMHgzYSwweDc4LDB4YTAsMHg4NiwweDgzLDB4MDgsMHg4NiwweDgyLAotMHg3OSwweGY4LDB4N2EsMHgzNCwweDdiLDB4MGEsMHg3OCwweDAxLDB4MTIsMHgwMywweGY1LDB4YzIsMHgwMywweGU1LDB4MzAsMHgyNCwKLTB4OTcsMHhmOCwweGM2LDB4NTQsMHhmZCwweGY2LDB4YWMsMHgzMCwweDEyLDB4MTEsMHgyMywweDIyLDB4OGMsMHgyNiwweDMwLDB4MDMsCi0weDA1LDB4MTIsMHgzMSwweGU3LDB4ODAsMHhmOCwweDdjLDB4MGEsMHgxMiwweDMwLDB4ZmEsMHhkMiwweDAzLDB4ZTUsMHgyNiwweDI0LAotMHhmZCwweDc4LDB4OWQsMHhmNiwweDcwLDB4MDksMHg3OCwweGE0LDB4NzYsMHhmZiwweDA4LDB4NzYsMHhlMCwweDgwLDB4MDcsMHg3OCwKLTB4YTQsMHg3NiwweGZmLDB4MDgsMHg3NiwweGUyLDB4NzgsMHg5ZCwweGU2LDB4NzUsMHhmMCwweDEwLDB4YTQsMHhhZCwweGYwLDB4ZmMsCi0weDI0LDB4YTAsMHg3OCwweGEzLDB4ZjYsMHhlZCwweDM0LDB4ZmYsMHgxOCwweGY2LDB4NzgsMHg5ZCwweGU2LDB4NzUsMHhmMCwweDBhLAotMHhhNCwweDI0LDB4MDgsMHhmYywweGU0LDB4MzQsMHhmZCwweGZkLDB4NzgsMHhhMCwweGVkLDB4ZjYsMHgwOCwweGVjLDB4ZjYsMHgxMiwKLTB4MzEsMHg5MywweDIyLDB4NzgsMHhhMywweGU2LDB4MjQsMHgwMiwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsCi0weGUwLDB4MzAsMHhlNywweDIyLDB4NzgsMHhhMywweGU2LDB4MjQsMHgwMiwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LAotMHg4MywweGUwLDB4NTQsMHg3ZiwweGYwLDB4NzgsMHhhMywweGU2LDB4MjQsMHgwMiwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwKLTB4ZjUsMHg4MywweGUwLDB4NDQsMHg4MCwweGYwLDB4MjIsMHg3OCwweGE0LDB4ODYsMHg4MywweDA4LDB4ODYsMHg4MiwweGUwLDB4NTQsCi0weDdmLDB4ZjAsMHhhZCwweDgzLDB4ZTUsMHg4MiwweDI0LDB4MDQsMHhmYywweGU0LDB4M2QsMHg4YywweDgyLDB4ZjUsMHg4MywweGUwLAotMHg1NCwweDdmLDB4ZjAsMHg3OCwweGEzLDB4ZTYsMHgyNCwweDBiLDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywKLTB4ZTAsMHg1NCwweGY4LDB4ZjAsMHg3OCwweGE1LDB4ZTYsMHgyNCwweDAxLDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsCi0weDgzLDB4ZTAsMHg0NCwweDAzLDB4ZjAsMHg3OCwweGE1LDB4ZTYsMHgyNCwweDA1LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLAotMHhmNSwweDgzLDB4ZTAsMHg0NCwweDAzLDB4ZjAsMHg3OCwweGEzLDB4ZTYsMHgyNCwweDA1LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwKLTB4MDAsMHhmNSwweDgzLDB4NzQsMHgwZiwweGYwLDB4MjIsMHg3OCwweGE0LDB4ODYsMHg4MywweDA4LDB4ODYsMHg4MiwweGUwLDB4NTQsCi0weDNmLDB4ZjAsMHhhZCwweDgzLDB4ZTUsMHg4MiwweDI0LDB4MDQsMHhmYywweGU0LDB4M2QsMHg4YywweDgyLDB4ZjUsMHg4MywweGUwLAotMHg1NCwweDNmLDB4ZjAsMHg3OCwweDlkLDB4ZTYsMHgyNCwweDllLDB4ZjgsMHhlNiwweGZjLDB4NzgsMHhhNSwweGU2LDB4MjQsMHgwMSwKLTB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGVjLDB4ZjAsMHg3OCwweDlkLDB4ZTYsMHgyNCwweDllLDB4ZjgsCi0weGU2LDB4ZmMsMHg3OCwweGE1LDB4ZTYsMHgyNCwweDA1LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGVjLAotMHhmMCwweDc4LDB4YTMsMHhlNiwweDI0LDB4MGIsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHg1NCwKLTB4ZmIsMHg0NCwweDAyLDB4ZjUsMHgyNiwweDc4LDB4YTEsMHhlNiwweDI0LDB4MDIsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsCi0weGY1LDB4ODMsMHhlMCwweDMwLDB4ZTUsMHgwMywweDQzLDB4MjYsMHgwMSwweDc4LDB4YTMsMHhlNiwweDI0LDB4MDUsMHhmNSwweDgyLAotMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwweDMwLDB4ZTAsMHgwMywweDEyLDB4MGYsMHhkMywweGU1LDB4MjYsMHhmYywKLTB4NzgsMHhhMywweGU2LDB4MjQsMHgwYiwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlYywweGYwLDB4NzgsCi0weGEzLDB4ZTYsMHgyNCwweDA1LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweDc0LDB4MGYsMHhmMCwweDc4LAotMHhhNCwweDg2LDB4ODMsMHgwOCwweDg2LDB4ODIsMHhlMCwweDQ0LDB4ODAsMHhmMCwweGEzLDB4YTMsMHhhMywweGEzLDB4ZTAsMHg0NCwKLTB4ODAsMHhmMCwweDIyLDB4OGMsMHgyYSwweDEyLDB4MGYsMHg3YywweDc4LDB4YTEsMHhlNiwweDI0LDB4MDgsMHhmNSwweDgyLDB4MTgsCi0weGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwweGZjLDB4NzgsMHhhMywweGU2LDB4MjQsMHgwYSwweGY1LDB4ODIsMHgxOCwweGU2LAotMHgzNCwweDAwLDB4ZjUsMHg4MywweGVjLDB4ZjAsMHg3OCwweGExLDB4ZTYsMHgyNCwweDA3LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwKLTB4MDAsMHhmNSwweDgzLDB4ZTAsMHhmYywweDc4LDB4YTMsMHhlNiwweDI0LDB4MDksMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsCi0weGY1LDB4ODMsMHhlYywweGYwLDB4NzgsMHhhMCwweDg2LDB4ODMsMHgwOCwweDg2LDB4ODIsMHhlMCwweGZkLDB4YTMsMHhlMCwweGZjLAotMHhlZCwweGZlLDB4NzgsMHhhMywweGU2LDB4MjQsMHgwOCwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlZSwKLTB4ZjAsMHhlYywweGZlLDB4NzgsMHhhMywweGU2LDB4MjQsMHgwNywweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsCi0weGVlLDB4ZjAsMHg4YywweDI5LDB4OGQsMHgyOCwweGMzLDB4ZWMsMHg5NCwweDAyLDB4ZWQsMHg5NCwweDA2LDB4NDAsMHgwNSwweDc1LAotMHgyNywweDdjLDB4ODAsMHgzMywweGQzLDB4ZTUsMHgyOSwweDk0LDB4ODEsMHhlNSwweDI4LDB4OTQsMHgwMSwweDQwLDB4MDUsMHg3NSwKLTB4MjcsMHgzYywweDgwLDB4MjMsMHhkMywweGU1LDB4MjksMHg5NCwweGMwLDB4ZTUsMHgyOCwweDk0LDB4MDAsMHg0MCwweDA1LDB4NzUsCi0weDI3LDB4MTgsMHg4MCwweDEzLDB4ZDMsMHhlNSwweDI5LDB4OTQsMHgzMCwweGU1LDB4MjgsMHg5NCwweDAwLDB4NDAsMHgwNSwweDc1LAotMHgyNywweDBjLDB4ODAsMHgwMywweDc1LDB4MjcsMHgwOCwweGFmLDB4MjcsMHhlNCwweGVmLDB4NTQsMHg3YywweDQ0LDB4ODMsMHhmZiwKLTB4OGYsMHgyNywweGU1LDB4MjcsMHhmYywweDc4LDB4YTUsMHhlNiwweDI0LDB4MDEsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsCi0weGY1LDB4ODMsMHhlYywweGYwLDB4ZTUsMHgyNywweGZjLDB4NzgsMHhhNSwweGU2LDB4MjQsMHgwNSwweGY1LDB4ODIsMHgxOCwweGU2LAotMHgzNCwweDAwLDB4ZjUsMHg4MywweGVjLDB4ZjAsMHhlNSwweDI3LDB4ZmMsMHg3OCwweDlkLDB4ZTYsMHgyNCwweDllLDB4ZjgsMHhlYywKLTB4ZjYsMHg3OCwweGEzLDB4ZTYsMHgyNCwweDAyLDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLDB4ZjUsCi0weDI3LDB4NzgsMHhhMSwweGU2LDB4MjQsMHgwMiwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhhMywweGUwLAotMHgzMCwweGUzLDB4MTcsMHg1MywweDI3LDB4YzcsMHg3OCwweGExLDB4ZTYsMHgyNCwweDA1LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwKLTB4MDAsMHhmNSwweDgzLDB4ZTAsMHg5MCwweDM0LDB4ZTksMHg5MywweDQyLDB4MjcsMHg3OCwweGExLDB4ZTYsMHgyNCwweDAyLDB4ZjUsCi0weDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHgzMCwweGU3LDB4MDUsMHg0MywweDI3LDB4NDAsMHg4MCwweDAzLAotMHg1MywweDI3LDB4YmYsMHg1MywweDI3LDB4ZmIsMHg3OCwweGExLDB4ZTYsMHgyNCwweDA2LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwKLTB4MDAsMHhmNSwweDgzLDB4ZTAsMHg2MCwweDAzLDB4NDMsMHgyNywweDA0LDB4NTMsMHgyNywweGZjLDB4NzgsMHhhMSwweGU2LDB4MjQsCi0weDA0LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLDB4NDIsMHgyNywweDQzLDB4MjcsMHg4MCwweGU1LAotMHgyNywweGZjLDB4NzgsMHhhMywweGU2LDB4MjQsMHgwMiwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlYywKLTB4ZjAsMHg3OCwweGEzLDB4ZTYsMHgyNCwweDA0LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLDB4ZjUsCi0weDI3LDB4NzgsMHhhMSwweGU2LDB4MjQsMHgwMiwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhhMywweGUwLAotMHgzMCwweGUxLDB4MDUsMHg1MywweDI3LDB4ZGYsMHg4MCwweDAzLDB4NDMsMHgyNywweDIwLDB4NzgsMHhhMSwweGU2LDB4MjQsMHgwMiwKLTB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLDB4MzAsMHhlNCwweDA1LDB4NTMsMHgyNywweGVmLDB4ODAsCi0weDAzLDB4NDMsMHgyNywweDEwLDB4NzgsMHhhMSwweGU2LDB4MjQsMHgwOSwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LAotMHg4MywweGUwLDB4YjQsMHgwMiwweDAzLDB4NDMsMHgyNywweDAyLDB4ZTUsMHgyNywweGZjLDB4NzgsMHhhMywweGU2LDB4MjQsMHgwNCwKLTB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGVjLDB4ZjAsMHg3OCwweGEzLDB4ZTYsMHgyNCwweDAzLDB4ZjUsCi0weDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHhmNSwweDI3LDB4NzgsMHhhMSwweGU2LDB4MjQsMHgwOSwweGY1LAotMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLDB4NzAsMHgwNSwweDUzLDB4MjcsMHg3ZiwweDgwLDB4MDMsMHg0MywKLTB4MjcsMHg4MCwweDc4LDB4YTEsMHhlNiwweDI0LDB4MDIsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4YTMsCi0weGUwLDB4MzAsMHhlMCwweDA1LDB4NDMsMHgyNywweDIwLDB4ODAsMHgwMywweDUzLDB4MjcsMHhkZiwweDc4LDB4YTEsMHhlNiwweDI0LAotMHgwMiwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwweDMwLDB4ZTMsMHgwNSwweDQzLDB4MjcsMHg0MCwKLTB4ODAsMHgwMywweDUzLDB4MjcsMHhiZiwweDc4LDB4YTEsMHhlNiwweDI0LDB4MDIsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsCi0weGY1LDB4ODMsMHhlMCwweDMwLDB4ZTAsMHgwNSwweDQzLDB4MjcsMHgxMCwweDgwLDB4MDMsMHg1MywweDI3LDB4ZWYsMHg3OCwweGExLAotMHhlNiwweDI0LDB4MDIsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4YTMsMHhlMCwweDMwLDB4ZTQsMHgwNSwKLTB4NDMsMHgyNywweDA4LDB4ODAsMHgwMywweDUzLDB4MjcsMHhmNywweDc4LDB4YTEsMHhlNiwweDI0LDB4MDIsMHhmNSwweDgyLDB4MTgsCi0weGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhhMywweGUwLDB4MzAsMHhlNSwweDA1LDB4NDMsMHgyNywweDA0LDB4ODAsMHgwMywweDUzLAotMHgyNywweGZiLDB4NzgsMHhhMSwweGU2LDB4MjQsMHgwMiwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhhMywKLTB4ZTAsMHgzMCwweGU2LDB4MDUsMHg0MywweDI3LDB4MDEsMHg4MCwweDAzLDB4NTMsMHgyNywweGZlLDB4NzgsMHhhMSwweGU2LDB4MjQsCi0weDAyLDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGEzLDB4ZTAsMHgzMCwweGU3LDB4MDUsMHg0MywweDI3LAotMHgwMiwweDgwLDB4MDMsMHg1MywweDI3LDB4ZmQsMHhlNSwweDI3LDB4ZmMsMHg3OCwweGEzLDB4ZTYsMHgyNCwweDAzLDB4ZjUsMHg4MiwKLTB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZWMsMHhmMCwweGMyLDB4MDMsMHg3YywweDAwLDB4MjIsMHg4ZCwweDI3LDB4OGMsCi0weDI2LDB4ZWQsMHg1NCwweDAzLDB4MTQsMHg2MCwweDAzLDB4N2MsMHgxMCwweDIyLDB4ZTUsMHgyNywweDU0LDB4N2MsMHgyNCwweGZjLAotMHg0MCwweDAzLDB4N2MsMHgwYiwweDIyLDB4ZTUsMHgyNiwweDI0LDB4OTcsMHhmOCwweGM2LDB4NDQsMHgwMiwweGY2LDB4N2MsMHgwMCwKLTB4MjIsMHg4YywweDMwLDB4MTIsMHgwZiwweDdjLDB4ZTUsMHgzMCwweDI0LDB4OTcsMHhmOCwweGU2LDB4MjAsMHhlMiwweDRmLDB4YWMsCi0weDMwLDB4N2QsMHgwMiwweDEyLDB4MGQsMHgzYSwweGU1LDB4MzAsMHgyNCwweGZlLDB4NDQsMHgyOCwweGZjLDB4NzgsMHhhNCwweDg2LAotMHg4MywweDA4LDB4ODYsMHg4MiwweGVjLDB4ZjAsMHhhZiwweDgzLDB4ZTUsMHg4MiwweDI0LDB4MDQsMHhmZSwweGU0LDB4M2YsMHhmZiwKLTB4ZWMsMHg4ZSwweDgyLDB4OGYsMHg4MywweGYwLDB4N2MsMHgwMywweDhjLDB4MmMsMHhlNSwweDJjLDB4ZmMsMHg3OCwweGE1LDB4ZTYsCi0weDI0LDB4MDEsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZWMsMHhmMCwweGU1LDB4MmMsMHhmYywweDc4LAotMHhhNSwweGU2LDB4MjQsMHgwNSwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlYywweGYwLDB4NzUsMHgyZCwKLTB4MDEsMHg3NSwweDJmLDB4NDgsMHg3NSwweDJlLDB4ZmYsMHhlNSwweDMwLDB4MjQsMHhmZCwweGZjLDB4ZTQsMHgzNCwweGZmLDB4ZmQsCi0weGVjLDB4N2MsMHgwMywweDI1LDB4ZTAsMHhjZCwweDMzLDB4Y2QsMHhkYywweGY5LDB4ZmMsMHhlNSwweDJmLDB4MmMsMHhmNSwweDJmLAotMHhlNSwweDJlLDB4M2QsMHhmNSwweDJlLDB4NzgsMHhhNSwweGU2LDB4MjQsMHgwNCwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwKLTB4ZjUsMHg4MywweGUwLDB4NTQsMHhlNywweGY1LDB4MmMsMHhhZCwweDJmLDB4YWUsMHgyZSwweGFmLDB4MmQsMHhlNCwweDkwLDB4MDAsCi0weDAyLDB4MTIsMHgwMywweDE3LDB4ZTQsMHg5MCwweDAwLDB4MDYsMHgxMiwweDAzLDB4MTcsMHgxMiwweDAxLDB4ZTYsMHgzMCwweGU1LAotMHgwMywweDQzLDB4MmMsMHgxMCwweGU1LDB4MmMsMHhmYywweDc4LDB4YTUsMHhlNiwweDI0LDB4MDQsMHhmNSwweDgyLDB4MTgsMHhlNiwKLTB4MzQsMHgwMCwweGY1LDB4ODMsMHhlYywweGYwLDB4MTIsMHgxMCwweDY3LDB4NzgsMHhhMywweGU2LDB4MjQsMHgwNiwweGY1LDB4ODIsCi0weDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLDB4YzIsMHgwMywweGZjLDB4ZTUsMHgzMCwweDI0LDB4OTcsMHhmOCwweGM2LAotMHg0NCwweDA0LDB4ZjYsMHg4YywweDJjLDB4ZTUsMHgzMCwweDU0LDB4MGYsMHhjNCwweDU0LDB4ZjAsMHg3ZSwweDAwLDB4ZmYsMHhlZSwKLTB4ZWYsMHg0NCwweDA0LDB4N2QsMHgwMCwweGZmLDB4ZWMsMHg0ZSwweGZjLDB4ZWQsMHg0ZiwweGZkLDB4MTIsMHgxYywweGZlLDB4N2MsCi0weDAwLDB4MjIsMHg4YywweDJmLDB4MTIsMHgwZiwweDdjLDB4MTIsMHgxMCwweDA3LDB4NzgsMHhhNCwweDg2LDB4ODMsMHgwOCwweDg2LAotMHg4MiwweGUwLDB4NTQsMHgwOCwweGYwLDB4YTMsMHhhMywweGEzLDB4YTMsMHhlMCwweDU0LDB4MDgsMHhmMCwweGFjLDB4MmYsMHg3ZCwKLTB4MDIsMHgxMiwweDBkLDB4M2EsMHhjMiwweDAzLDB4ZTUsMHgyZiwweDI0LDB4OTcsMHhmOCwweGM2LDB4NTQsMHhmYiwweGY2LDB4N2MsCi0weDAwLDB4MjIsMHgxMiwweDMwLDB4ODUsMHg3OCwweDkwLDB4ZWMsMHhmNiwweGVjLDB4MjQsMHg5NywweGY4LDB4ZTYsMHgzMCwweGUxLAotMHgwYSwweDdkLDB4MDAsMHg3YywweDEzLDB4MTIsMHgyNCwweGIxLDB4MTIsMHgzMSwweDA4LDB4NzgsMHg5MCwweGU2LDB4MjQsMHg5NywKLTB4ZjgsMHhjNiwweDQ0LDB4MDEsMHhmNiwweDc4LDB4OTAsMHhlNiwweGZjLDB4MTIsMHgwZiwweDdjLDB4NzgsMHg5MCwweGU2LDB4MjQsCi0weGZkLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweDFjLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmZCwweGY1LDB4ODMsMHg3OCwweGEwLAotMHhlNiwweGZhLDB4MDgsMHhlNiwweGY5LDB4N2IsMHgwYSwweDc4LDB4MDEsMHgxMiwweDAzLDB4YTcsMHg3OCwweGEwLDB4ODYsMHg4MywKLTB4MDgsMHg4NiwweDgyLDB4NzksMHhmOCwweDdhLDB4MzQsMHg3YiwweDBhLDB4NzgsMHgwMSwweDEyLDB4MDMsMHhmNSwweDEyLDB4MGYsCi0weGQzLDB4YzIsMHgwMywweDc4LDB4OTAsMHhlNiwweGZjLDB4MTIsMHgxMSwweDIzLDB4NzgsMHg4ZiwweGVjLDB4ZjYsMHhlYywweDYwLAotMHgwYSwweDdkLDB4MDAsMHg3YywweDA4LDB4MTIsMHgyNCwweGIxLDB4MTIsMHgzMSwweDA4LDB4NzgsMHg5MCwweGU2LDB4ZmMsMHgxMiwKLTB4MGYsMHg3YywweDc4LDB4YTMsMHhlNiwweDI0LDB4MDQsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsCi0weDQ0LDB4MTAsMHg1NCwweGRmLDB4ZmMsMHg3OCwweGEzLDB4ZTYsMHgyNCwweDA0LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLAotMHhmNSwweDgzLDB4ZWMsMHhmMCwweDc4LDB4OGYsMHhlYywweGY2LDB4YzIsMHgwMywweDdjLDB4YzgsMHgxMiwweDMyLDB4NDgsMHg3OCwKLTB4OTAsMHhlNiwweGZjLDB4MTIsMHgwZiwweDdjLDB4NzgsMHhhMywweGU2LDB4MjQsMHgwNCwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsCi0weDAwLDB4ZjUsMHg4MywweGUwLDB4NTQsMHhlZiwweGYwLDB4YzIsMHgwMywweDdjLDB4YzgsMHgxMiwweDMyLDB4NDgsMHg3OCwweDkwLAotMHhlNiwweGZjLDB4MTIsMHgwZiwweDdjLDB4NzgsMHhhMywweGU2LDB4MjQsMHgwNCwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwKLTB4ZjUsMHg4MywweGUwLDB4NDQsMHgxMCwweGYwLDB4YzIsMHgwMywweDdjLDB4YzgsMHgxMiwweDMyLDB4NDgsMHg3OCwweDkwLDB4ZTYsCi0weGZjLDB4MTIsMHgwZiwweDdjLDB4NzgsMHhhMywweGU2LDB4MjQsMHgwNCwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LAotMHg4MywweGUwLDB4NDQsMHgyMCwweGYwLDB4YzIsMHgwMywweDdjLDB4ZjAsMHgxMiwweDMyLDB4NDgsMHg3OCwweDkwLDB4ZTYsMHhmYywKLTB4MTIsMHgwZiwweDdjLDB4NzgsMHhhMywweGU2LDB4MjQsMHgwNSwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsCi0weGUwLDB4MzAsMHhlNCwweDE1LDB4YzIsMHgwMywweDc4LDB4OTAsMHhlNiwweDQ0LDB4MTAsMHg3ZiwweDAwLDB4ZmUsMHg3YywweDA3LAotMHgxMiwweDMxLDB4OWEsMHgxMiwweDMxLDB4MDgsMHgwMiwweDE3LDB4NDksMHg3OCwweGEzLDB4ZTYsMHgyNCwweDA0LDB4ZjUsMHg4MiwKLTB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHg1NCwweGNmLDB4ZjAsMHhjMiwweDAzLDB4N2MsMHhjOCwweDEyLDB4MzIsCi0weDQ4LDB4NzgsMHg5MCwweGU2LDB4ZmMsMHgxMiwweDBmLDB4N2MsMHg3OCwweGEzLDB4ZTYsMHgyNCwweDA0LDB4ZjUsMHg4MiwweDE4LAotMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHg0NCwweDMwLDB4ZjAsMHhjMiwweDAzLDB4N2MsMHhmMCwweDEyLDB4MzIsMHg0OCwKLTB4NzgsMHg5MCwweGU2LDB4ZmMsMHgxMiwweDBmLDB4N2MsMHg3OCwweGEzLDB4ZTYsMHgyNCwweDA1LDB4ZjUsMHg4MiwweDE4LDB4ZTYsCi0weDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHgzMCwweGU0LDB4MTQsMHhjMiwweDAzLDB4NzgsMHg5MCwweGU2LDB4NDQsMHgxMCwweDdmLAotMHgwMCwweGZlLDB4N2MsMHgwNywweDEyLDB4MzEsMHg5YSwweDEyLDB4MzEsMHgwOCwweDgwLDB4NWQsMHg3OCwweGEzLDB4ZTYsMHgyNCwKLTB4MDQsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHg1NCwweGVmLDB4ZjAsMHg3OCwweGEzLDB4ZTYsCi0weDI0LDB4MDQsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHg1NCwweGRmLDB4ZjAsMHg3OCwweDkwLAotMHhlNiwweDI0LDB4ZmQsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4MWMsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZkLDB4ZjUsMHg4MywKLTB4YWMsMHg4MiwweGFkLDB4ODMsMHg3OCwweGEwLDB4ODYsMHg4MywweDA4LDB4ODYsMHg4MiwweGVjLDB4ZjksMHhlZCwweGZhLDB4N2IsCi0weDBhLDB4NzgsMHgwMSwweDEyLDB4MDMsMHhhNywweGMyLDB4MDMsMHg3OCwweDkwLDB4ZTYsMHhmYywweDEyLDB4MTEsMHgyMywweDdkLAotMHgwMCwweDdjLDB4MGIsMHgxMiwweDI0LDB4YjEsMHgxMiwweDMxLDB4MDgsMHgyMiwweDEyLDB4MzAsMHg4NSwweDkwLDB4ZmYsMHg5MSwKLTB4ZTAsMHg5MCwweGZkLDB4NDEsMHhmMCwweDdkLDB4MDIsMHg3YywweDAwLDB4MTIsMHgyNCwweGIxLDB4MTIsMHgzMSwweDA4LDB4MjIsCi0weDEyLDB4MzAsMHg4NSwweDkwLDB4ZmQsMHg0MCwweGUwLDB4ZjQsMHhmYywweDkwLDB4ZmYsMHg5MSwweGUwLDB4NWMsMHhmNSwweDMzLAotMHg5MCwweGZkLDB4NDEsMHhlMCwweGZjLDB4OTAsMHhmZCwweDQwLDB4ZTAsMHg1YywweDQyLDB4MzMsMHhlNSwweDMzLDB4OTAsMHhmZiwKLTB4OTEsMHhmMCwweDdjLDB4MDAsMHgxMiwweDI1LDB4NGEsMHgxMiwweDMxLDB4MDgsMHgyMiwweDc0LDB4M2MsMHg5MCwweGZiLDB4ZTgsCi0weGYwLDB4NzQsMHgzZSwweDkwLDB4ZmIsMHhlOCwweGYwLDB4ZTQsMHg5MCwweGZkLDB4MzAsMHhmMCwweDIyLDB4OGQsMHgzNSwweDhjLAotMHgzNCwweGVjLDB4YjQsMHgwMSwweDAyLDB4ODAsMHgwMywweGQzLDB4NDAsMHgwMiwweDgwLDB4MjgsMHhiNCwweDAyLDB4MDIsMHg4MCwKLTB4MDMsMHhkMywweDQwLDB4MDgsMHhhOCwweDM1LDB4YzYsMHgyNSwweGUwLDB4ZjYsMHg4MCwweDE4LDB4YjQsMHgwNCwweDAyLDB4ODAsCi0weDAzLDB4ZDMsMHg0MCwweDBhLDB4YTgsMHgzNSwweGM2LDB4MjUsMHhlMCwweDI1LDB4ZTAsMHhmNiwweDgwLDB4MDYsMHhhOCwweDM1LAotMHg3NiwweDAwLDB4ODAsMHgwMCwweDIyLDB4OGMsMHgzYywweDhkLDB4M2IsMHhlZCwweGZlLDB4ZWMsMHhmZCwweDdmLDB4MDEsMHg3NSwKLTB4NjAsMHgwNiwweDc1LDB4NjEsMHgwMCwweDkwLDB4ZmQsMHgzMSwweDEyLDB4MDQsMHg2ZSwweDEyLDB4MDEsMHhlNiwweGI0LDB4ODAsCi0weDAyLDB4ODAsMHgwNiwweGQzLDB4NTAsMHgwMywweDAyLDB4MTgsMHg5ZSwweDkwLDB4ZmQsMHgzMSwweDEyLDB4MDQsMHg4MCwweDkwLAotMHgwMCwweDAzLDB4MTIsMHgwMSwweGVjLDB4NTQsMHhmMCwweGI0LDB4MzAsMHgwMiwweDgwLDB4MDMsMHhkMywweDQwLDB4NWYsMHg5MCwKLTB4ZmQsMHgzMSwweDEyLDB4MDQsMHg4MCwweDkwLDB4MDAsMHgwOCwweDEyLDB4MDIsMHgwZSwweGZhLDB4ZmQsMHhlYiwweGZlLDB4N2YsCi0weDAxLDB4OTAsMHhmZCwweDM0LDB4MTIsMHgwNCwweDZlLDB4ZWUsMHhjZCwweDkwLDB4MzUsMHgwMiwweGZjLDB4ZTQsMHg5MywweGZmLAotMHg3NCwweDAxLDB4OTMsMHhmZSwweGY5LDB4ZWYsMHhmYSwweDdiLDB4MDEsMHhlYSwweGZmLDB4ZTksMHhmZSwweGVjLDB4YzMsMHg5ZSwKLTB4ZWQsMHg5ZiwweDQwLDB4MjUsMHg5MCwweDM1LDB4MDQsMHhlNCwweDkzLDB4ZmQsMHg3NCwweDAxLDB4OTMsMHhmYywweGVkLDB4ZmUsCi0weGVjLDB4ZmQsMHg3ZiwweDAxLDB4ZWUsMHhjZCwweGZjLDB4OTAsMHhmZCwweDM2LDB4ZTAsMHhkMywweDljLDB4OTAsMHhmZCwweDM1LAotMHhlMCwweDlkLDB4NTAsMHgwNSwweDc1LDB4NjAsMHg4MCwweDgwLDB4MzMsMHgxMiwweDE5LDB4YmMsMHg4MCwweDJlLDB4YjQsMHg2MCwKLTB4MDIsMHg4MCwweDAzLDB4ZDMsMHg0MCwweDBiLDB4YWMsMHgzYywweGFkLDB4M2IsMHgxMiwweDA3LDB4ODIsMHg4YywweDYwLDB4ODAsCi0weDFiLDB4YjQsMHgxMCwweDAzLDB4YjMsMHg0MCwweDEwLDB4YzMsMHhiNCwweDIwLDB4MDMsMHhiMywweDQwLDB4MDksMHhjMywweGI0LAotMHg0MCwweDAyLDB4ODAsMHgwMywweGQzLDB4NDAsMHgwMCwweDc1LDB4NjAsMHg4MSwweDgwLDB4MDAsMHg4MCwweDc1LDB4YjQsMHg4MSwKLTB4MDIsMHg4MCwweDAzLDB4ZDMsMHg0MCwweDZiLDB4OTAsMHhmZCwweDMxLDB4MTIsMHgwNCwweDgwLDB4OTAsMHgwMCwweDAzLDB4MTIsCi0weDAxLDB4ZWMsMHg1NCwweGYwLDB4YjQsMHgzMCwweDAyLDB4ODAsMHgwMywweGQzLDB4NDAsMHgxZCwweDkwLDB4ZmQsMHgzMSwweDEyLAotMHgwNCwweDgwLDB4OTAsMHgwMCwweDA4LDB4MTIsMHgwMiwweDBlLDB4ZmEsMHhmZCwweGViLDB4ZmUsMHg3ZiwweDAxLDB4OTAsMHhmZCwKLTB4MzcsMHgxMiwweDA0LDB4NmUsMHgxMiwweDE5LDB4MjYsMHg4MCwweDM2LDB4YjQsMHg2MCwweDAyLDB4ODAsMHgwMywweGQzLDB4NDAsCi0weDEzLDB4NzUsMHgzYSwweDYxLDB4ZTQsMHhmNSwweDM5LDB4ZjUsMHgzOCwweGFjLDB4M2MsMHhhZCwweDNiLDB4MTIsMHgwNSwweGRlLAotMHg4YywweDYwLDB4ODAsMHgxYiwweGI0LDB4MTAsMHgwMywweGIzLDB4NDAsMHgxMCwweGMzLDB4YjQsMHgyMCwweDAzLDB4YjMsMHg0MCwKLTB4MDksMHhjMywweGI0LDB4NDAsMHgwMiwweDgwLDB4MDMsMHhkMywweDQwLDB4MDAsMHg3NSwweDYwLDB4ODEsMHg4MCwweDAwLDB4ODAsCi0weDAyLDB4ODAsMHgwMCwweGU1LDB4NjAsMHhmYywweDkwLDB4ZmQsMHgzMSwweDEyLDB4MDQsMHg4MCwweGVjLDB4OTAsMHgwMCwweDAyLAotMHgxMiwweDAzLDB4MTcsMHhhYywweDYxLDB4MjIsMHg5MCwweGZkLDB4MzEsMHgxMiwweDA0LDB4ODAsMHg5MCwweDAwLDB4MDQsMHgxMiwKLTB4MDEsMHhlYywweDYwLDB4MDQsMHg3NCwweDAxLDB4ODAsMHgwMSwweGU0LDB4YTIsMHhlMCwweDkyLDB4MDEsMHg5MCwweGZkLDB4MzEsCi0weDEyLDB4MDQsMHg4MCwweGVkLDB4MjQsMHgwMywweGZkLDB4NTAsMHgwMSwweDBlLDB4OTAsMHhmZCwweDM0LDB4MTIsMHgwNCwweDZlLAotMHg5MCwweGZkLDB4MzEsMHgxMiwweDA0LDB4ODAsMHg5MCwweDAwLDB4MDUsMHgxMiwweDAxLDB4ZWMsMHhmNSwweDYxLDB4OTAsMHgwMCwKLTB4MDQsMHgxMiwweDAxLDB4ZWMsMHg1NCwweDBmLDB4ZmMsMHg3ZCwweDYxLDB4MTIsMHgxNywweDlkLDB4ZTUsMHg2MSwweDcwLDB4MDQsCi0weDc1LDB4NjAsMHgwOCwweDIyLDB4NzUsMHg2MCwweDAwLDB4NzgsMHg3ZSwweDc2LDB4MDAsMHg3OCwweDdlLDB4ZTYsMHhjMywweDk1LAotMHg2MSwweDUwLDB4MzgsMHg5MCwweGZkLDB4MzcsMHgxMiwweDA0LDB4ODAsMHgxMiwweDAxLDB4ZTYsMHhmYywweDkwLDB4ZmQsMHgzNCwKLTB4MTIsMHgwNCwweDgwLDB4ZWMsMHgxMiwweDAzLDB4MGYsMHgzMCwweDAxLDB4MGUsMHg5MCwweGZkLDB4MzksMHhlMCwweDA0LDB4ZjAsCi0weDkwLDB4ZmQsMHgzOCwweDcwLDB4MDMsMHhlMCwweDA0LDB4ZjAsMHg3OCwweDdlLDB4MDYsMHg5MCwweGZkLDB4MzYsMHhlMCwweDA0LAotMHhmMCwweDkwLDB4ZmQsMHgzNSwweDcwLDB4MDMsMHhlMCwweDA0LDB4ZjAsMHg4MCwweGMwLDB4MjIsMHg5MCwweGZkLDB4MzIsMHhlMCwKLTB4ZmQsMHhhMywweGUwLDB4ZmMsMHhlZCwweGZlLDB4ZWMsMHhmZCwweDdmLDB4MDEsMHhlZCwweDI0LDB4MGEsMHhmZCwweDUwLDB4MDEsCi0weDBlLDB4OTAsMHhmZCwweDNhLDB4MTIsMHgwNCwweDZlLDB4OTAsMHhmZCwweDMxLDB4MTIsMHgwNCwweDgwLDB4OTAsMHgwMCwweDA0LAotMHgxMiwweDAxLDB4ZWMsMHg1NCwweDBmLDB4YjQsMHgwMSwweDAyLDB4ODAsMHgwMywweGQzLDB4NDAsMHgxNywweDkwLDB4ZmQsMHgzYSwKLTB4MTIsMHgwNCwweDgwLDB4MGQsMHhlZCwweDcwLDB4MDEsMHgwZSwweDkwLDB4ZmQsMHgzNywweDEyLDB4MDQsMHg2ZSwweDc4LDB4ODIsCi0weDc2LDB4MDEsMHg4MCwweDRlLDB4YjQsMHgwMiwweDAyLDB4ODAsMHgwMywweGQzLDB4NDAsMHgxOSwweDkwLDB4ZmQsMHgzYSwweDEyLAotMHgwNCwweDgwLDB4ZWQsMHgyNCwweDAyLDB4ZmQsMHg1MCwweDAxLDB4MGUsMHg5MCwweGZkLDB4MzcsMHgxMiwweDA0LDB4NmUsMHg3OCwKLTB4ODIsMHg3NiwweDAyLDB4ODAsMHgyZCwweGI0LDB4MDQsMHgwMiwweDgwLDB4MDMsMHhkMywweDQwLDB4MTksMHg5MCwweGZkLDB4M2EsCi0weDEyLDB4MDQsMHg4MCwweGVkLDB4MjQsMHgwNCwweGZkLDB4NTAsMHgwMSwweDBlLDB4OTAsMHhmZCwweDM3LDB4MTIsMHgwNCwweDZlLAotMHg3OCwweDgyLDB4NzYsMHgwNCwweDgwLDB4MGMsMHhiNCwweDAwLDB4MDIsMHg4MCwweDAzLDB4ZDMsMHg0MCwweDAwLDB4NzUsMHg2MCwKLTB4MDgsMHgyMiwweDkwLDB4ZmQsMHgzMSwweDEyLDB4MDQsMHg4MCwweDkwLDB4MDAsMHgwNSwweDEyLDB4MDEsMHhlYywweGY1LDB4NjEsCi0weDc4LDB4N2YsMHg3NiwweDAwLDB4NzgsMHg3ZiwweGU2LDB4YzMsMHg5NSwweDYxLDB4NDAsMHgwMywweDAyLDB4MWIsMHgyNCwweDc4LAotMHg4MCwweDc2LDB4MDAsMHg3OCwweDgwLDB4ZTYsMHhjMywweDc4LDB4ODIsMHg5NiwweDUwLDB4NzYsMHg5MCwweGZkLDB4MzQsMHgxMiwKLTB4MDQsMHg4MCwweDEyLDB4MDEsMHhlNiwweGZjLDB4OTAsMHhmZCwweDNhLDB4MTIsMHgwNCwweDg5LDB4MTIsMHgwMSwweGUwLDB4ZjQsCi0weDVjLDB4ZmMsMHgxMiwweDAxLDB4ZTAsMHhmOCwweDkwLDB4ZmQsMHgzNywweDEyLDB4MDQsMHg4MCwweGU4LDB4YzAsMHhlMCwweDEyLAotMHgwMSwweGU2LDB4YzgsMHhkMCwweGUwLDB4YzgsMHg1OCwweDRjLDB4ZmMsMHg5MCwweGZkLDB4MzQsMHgxMiwweDA0LDB4ODAsMHhlYywKLTB4MTIsMHgwMywweDBmLDB4NzgsMHg4MSwweGVjLDB4ZjYsMHg5MCwweGZkLDB4MzksMHhlMCwweDA0LDB4ZjAsMHg5MCwweGZkLDB4MzgsCi0weDcwLDB4MDMsMHhlMCwweDA0LDB4ZjAsMHgwOSwweGU5LDB4NzAsMHgwMSwweDBhLDB4OTAsMHhmZCwweDNhLDB4MTIsMHgwNCwweDc3LAotMHg5MCwweGZkLDB4MzEsMHgxMiwweDA0LDB4ODAsMHg5MCwweDAwLDB4MDQsMHgxMiwweDAxLDB4ZWMsMHgzMCwweGU0LDB4MGUsMHg5MCwKLTB4ZmQsMHgzNiwweGUwLDB4MDQsMHhmMCwweDkwLDB4ZmQsMHgzNSwweDcwLDB4MDMsMHhlMCwweDA0LDB4ZjAsMHg3OCwweDgwLDB4MDYsCi0weDgwLDB4ODEsMHg3OCwweDgyLDB4ZTYsMHhmZCwweGU0LDB4ZmUsMHhmZiwweGVlLDB4Y2QsMHhmYywweDkwLDB4ZmQsMHgzOSwweGUwLAotMHgyYywweGYwLDB4OTAsMHhmZCwweDM4LDB4ZTAsMHgzZCwweGYwLDB4NzgsMHg4MiwweGU2LDB4ZmQsMHhlNCwweGZlLDB4ZmYsMHhlZSwKLTB4Y2QsMHhmYywweDkwLDB4ZmQsMHgzYywweGUwLDB4MmMsMHhmMCwweDkwLDB4ZmQsMHgzYiwweGUwLDB4M2QsMHhmMCwweDc4LDB4N2YsCi0weDA2LDB4MDIsMHgxYSwweDY0LDB4NzUsMHg2MCwweDAwLDB4MjIsMHhlNSwweDNkLDB4MDUsMHgzZCwweDA0LDB4NzAsMHgwMiwweGIyLAotMHhiMCwweDIyLDB4YzAsMHhlMCwweGMwLDB4ZjAsMHhjMCwweDgyLDB4YzAsMHg4MywweGMwLDB4ZDAsMHhlOCwweGMwLDB4ZTAsMHhlOSwKLTB4YzAsMHhlMCwweGVhLDB4YzAsMHhlMCwweGViLDB4YzAsMHhlMCwweGVjLDB4YzAsMHhlMCwweGVkLDB4YzAsMHhlMCwweGVlLDB4YzAsCi0weGUwLDB4ZWYsMHhjMCwweGUwLDB4OTAsMHhmZiwweDkyLDB4ZTAsMHgxMiwweDAxLDB4YjcsMHgxYiwweDgwLDB4MzAsMHgxYiwweDgwLAotMHgzMiwweDFiLDB4OGYsMHgzOCwweDFiLDB4YTEsMHgzYSwweDFiLDB4YjMsMHgzZSwweDFiLDB4Y2IsMHg0NCwweDFiLDB4YmYsMHg0NiwKLTB4MWIsMHhkNywweDUwLDB4MWMsMHgxOSwweDUyLDB4MWIsMHhmOCwweDU0LDB4MWMsMHgzYSwweDU2LDB4MDAsMHgwMCwweDFjLDB4NWIsCi0weDkwLDB4ZmYsMHg5MiwweGUwLDB4N2YsMHgwMCwweGZlLDB4N2MsMHgwMSwweDEyLDB4MzEsMHg5YSwweDAyLDB4MWMsMHg2YiwweGU0LAotMHhmZiwweDA0LDB4ZmUsMHg3YywweDAzLDB4MTIsMHgzMSwweDlhLDB4NzQsMHgyMCwweDkwLDB4ZmYsMHhmZSwweGYwLDB4MDIsMHgxYywKLTB4NmIsMHhlNCwweGZmLDB4MDQsMHhmZSwweDdjLDB4MDIsMHgxMiwweDMxLDB4OWEsMHg3NCwweDQwLDB4OTAsMHhmZiwweGZlLDB4ZjAsCi0weDAyLDB4MWMsMHg2YiwweGU0LDB4ZmYsMHgwNCwweGZlLDB4N2MsMHgwNCwweDEyLDB4MzEsMHg5YSwweDAyLDB4MWMsMHg2YiwweGU0LAotMHhmZiwweDA0LDB4ZmUsMHg3YywweDA1LDB4MTIsMHgzMSwweDlhLDB4MDIsMHgxYywweDZiLDB4ZTQsMHhmZiwweDA0LDB4ZmUsMHg3YywKLTB4MDYsMHgxMiwweDMxLDB4OWEsMHgwMiwweDFjLDB4NmIsMHg5MCwweGZmLDB4YTUsMHhlMCwweDdkLDB4MDAsMHg5MCwweGZkLDB4MDAsCi0weGNkLDB4ZjAsMHhhMywweGNkLDB4ZjAsMHg5MCwweGZkLDB4MDEsMHhlMCwweGZjLDB4ZjUsMHg4MywweDkwLDB4ZmQsMHgwMCwweGUwLAotMHg0NCwweDMzLDB4ZmQsMHgxMiwweDFjLDB4ZmUsMHg4MCwweDczLDB4OTAsMHhmZiwweGI1LDB4ZTAsMHg3ZCwweDAwLDB4OTAsMHhmZCwKLTB4MDIsMHhjZCwweGYwLDB4YTMsMHhjZCwweGYwLDB4OTAsMHhmZCwweDAzLDB4ZTAsMHhmYywweGY1LDB4ODMsMHg5MCwweGZkLDB4MDIsCi0weGUwLDB4NDQsMHg0MywweGZkLDB4MTIsMHgxYywweGZlLDB4ODAsMHg1MiwweDkwLDB4ZmYsMHhhNiwweGUwLDB4N2QsMHgwMCwweDkwLAotMHhmZCwweDA0LDB4Y2QsMHhmMCwweGEzLDB4Y2QsMHhmMCwweDkwLDB4ZmQsMHgwNSwweGUwLDB4ZmMsMHhmNSwweDgzLDB4OTAsMHhmZCwKLTB4MDQsMHhlMCwweDQ0LDB4MzQsMHhmZCwweDEyLDB4MWMsMHhmZSwweDgwLDB4MzEsMHg5MCwweGZmLDB4YjYsMHhlMCwweDdkLDB4MDAsCi0weDkwLDB4ZmQsMHgwNiwweGNkLDB4ZjAsMHhhMywweGNkLDB4ZjAsMHg5MCwweGZkLDB4MDcsMHhlMCwweGZjLDB4ZjUsMHg4MywweDkwLAotMHhmZCwweDA2LDB4ZTAsMHg0NCwweDQ0LDB4ZmQsMHgxMiwweDFjLDB4ZmUsMHg4MCwweDEwLDB4OTAsMHhmZiwweDkyLDB4ZTAsMHg3ZCwKLTB4MDAsMHhmYywweGVkLDB4NDQsMHhhYSwweGZkLDB4MTIsMHgxYywweGZlLDB4ODAsMHgwMCwweGU0LDB4OTAsMHhmZiwweDkyLDB4ZjAsCi0weGQwLDB4ZTAsMHhmZiwweGQwLDB4ZTAsMHhmZSwweGQwLDB4ZTAsMHhmZCwweGQwLDB4ZTAsMHhmYywweGQwLDB4ZTAsMHhmYiwweGQwLAotMHhlMCwweGZhLDB4ZDAsMHhlMCwweGY5LDB4ZDAsMHhlMCwweGY4LDB4ZDAsMHhkMCwweGQwLDB4ODMsMHhkMCwweDgyLDB4ZDAsMHhmMCwKLTB4ZDAsMHhlMCwweDMyLDB4MDUsMHg4MSwweDA1LDB4ODEsMHgwNSwweDgxLDB4MDUsMHg4MSwweGE4LDB4ODEsMHgxOCwweDE4LDB4MTgsCi0weGVkLDB4ZjYsMHgwOCwweGVjLDB4ZjYsMHg5MCwweGZmLDB4NmEsMHhlMCwweDIwLDB4ZTcsMHgwMiwweDgwLDB4ZjcsMHg5MCwweGZmLAotMHg2OSwweGUwLDB4N2QsMHgwMCwweGE4LDB4ODEsMHgxOCwweGNkLDB4ZjYsMHhjZCwweDA4LDB4ZjYsMHg3ZCwweDAzLDB4YTgsMHg4MSwKLTB4ZTYsMHgxOCwweGZjLDB4ZTYsMHhjYywweDI1LDB4ZTAsMHhjYywweDMzLDB4Y2MsMHhkZCwweGY5LDB4Y2MsMHhmNiwweGNjLDB4MDgsCi0weGY2LDB4YTgsMHg4MSwweDE4LDB4ZTYsMHg0NCwweGY4LDB4ZjYsMHhhOCwweDgxLDB4MTgsMHgxOCwweDE4LDB4ZTYsMHhmZCwweDA4LAotMHhlNiwweGZjLDB4YTgsMHg4MSwweDE4LDB4ODYsMHg4MywweDA4LDB4ODYsMHg4MiwweGVkLDB4ZjAsMHhhMywweGVjLDB4ZjAsMHg3NCwKLTB4MDIsMHg5MCwweGZmLDB4NmEsMHhmMCwweDE1LDB4ODEsMHgxNSwweDgxLDB4MTUsMHg4MSwweDE1LDB4ODEsMHgyMiwweGU1LDB4ODEsCi0weDI0LDB4MDUsMHhmNSwweDgxLDB4ZTQsMHhhOCwweDgxLDB4MTgsMHhmNiwweGE4LDB4ODEsMHgxOCwweDE4LDB4MTgsMHgxOCwweGVkLAotMHhmNiwweDA4LDB4ZWMsMHhmNiwweDkwLDB4ZmIsMHhmZCwweGUwLDB4MjQsMHhmOCwweDUwLDB4MDMsMHgwMiwweDFlLDB4MWYsMHhlNCwKLTB4YTgsMHg4MSwweDE4LDB4MTgsMHhmNiwweGE4LDB4ODEsMHgxOCwweGU2LDB4ZmUsMHhhOCwweDgxLDB4MTgsMHgxOCwweDE4LDB4MTgsCi0weGU2LDB4ZmQsMHgwOCwweGU2LDB4ZmMsMHg3ZiwweDAwLDB4ZWYsMHgyNCwweGY4LDB4NDAsMHg0ZCwweGU0LDB4ZWYsMHgyNSwweGUwLAotMHgyNCwweDg1LDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmZCwweGY1LDB4ODMsMHhlMCwweGZiLDB4YTMsMHhlMCwweDZjLDB4NzAsMHgwMywKLTB4ZmEsMHhlYiwweDZkLDB4NzAsMHgwOSwweDc0LDB4MDEsMHhhOCwweDgxLDB4MTgsMHgxOCwweGY2LDB4ODAsMHgyYiwweGU0LDB4ZWYsCi0weDI1LDB4ZTAsMHgyNCwweDg1LDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmZCwweGY1LDB4ODMsMHg3YSwweDAwLDB4ZTAsMHg1NCwweGYwLAotMHhjYywweGY4LDB4Y2MsMHhjZCwweGY5LDB4Y2QsMHhmYiwweDc4LDB4MDAsMHhlOSwweDU0LDB4ZjAsMHhmOSwweGVhLDB4NjgsMHg3MCwKLTB4MDIsMHhlYiwweDY5LDB4NzAsMHgwMSwweDBlLDB4MGYsMHg4MCwweGFlLDB4YTgsMHg4MSwweDE4LDB4ZWUsMHhmNiwweGE4LDB4ODEsCi0weDE4LDB4MTgsMHgxOCwweDE4LDB4ZWQsMHhmNiwweDA4LDB4ZWMsMHhmNiwweGE4LDB4ODEsMHhlZiwweGY2LDB4YTgsMHg4MSwweDE4LAotMHgxOCwweGU2LDB4NzAsMHg3OSwweGE4LDB4ODEsMHgxOCwweGU2LDB4MjQsMHhmNywweDQwLDB4NzEsMHhhOCwweDgxLDB4MTgsMHgxOCwKLTB4MTgsMHgxOCwweGU2LDB4NTQsMHgwZiwweGE4LDB4ODEsMHhmNiwweDY0LDB4MDQsMHg2MCwweDE3LDB4YTgsMHg4MSwweGU2LDB4NjQsCi0weDAzLDB4NjAsMHgxMCwweGE4LDB4ODEsMHgxOCwweDE4LDB4MTgsMHgxOCwweGU2LDB4ZmQsMHgwOCwweGU2LDB4ZmMsMHgxMiwweDFjLAotMHg5MywweDgwLDB4NGEsMHg3YywweDBhLDB4MTIsMHgzMCwweGZhLDB4YTgsMHg4MSwweDE4LDB4MTgsMHgxOCwweDE4LDB4ZTYsMHhmZCwKLTB4MDgsMHhlNiwweGZjLDB4OTAsMHhmYiwweGZjLDB4ZTAsMHgyNSwweGUwLDB4MjQsMHg4NSwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmQsCi0weGY1LDB4ODMsMHhlZCwweGYwLDB4YTMsMHhlYywweGYwLDB4OTAsMHhmYiwweGZjLDB4ZTAsMHhmZiwweGU0LDB4ZWYsMHgwNCwweDU0LAotMHgwNywweGZmLDB4OTAsMHhmYiwweGZjLDB4ZjAsMHg5MCwweGZiLDB4ZmQsMHhlMCwweDA0LDB4ZjAsMHgxMiwweDMxLDB4OTMsMHg5MCwKLTB4ZmIsMHhmZSwweGUwLDB4NzAsMHgwOCwweGU0LDB4ZmUsMHhmZiwweDdjLDB4MGYsMHgxMiwweDMxLDB4OWEsMHg4MCwweDI3LDB4OTAsCi0weGZiLDB4ZmYsMHhlMCwweDA0LDB4ZjAsMHg1NCwweDNmLDB4NzAsMHgxZCwweDkwLDB4ZmIsMHhmZiwweGUwLDB4NDQsMHhmZSwweDdkLAotMHgwMCwweGZjLDB4OTAsMHhmYiwweGZjLDB4ZTAsMHgyNSwweGUwLDB4MjQsMHg4NSwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmQsMHhmNSwKLTB4ODMsMHhlZCwweGYwLDB4YTMsMHhlYywweGYwLDB4ZTUsMHg4MSwweDI0LDB4ZmIsMHhmNSwweDgxLDB4MjIsMHg3OCwweDg1LDB4NzYsCi0weDAwLDB4NzgsMHg4NiwweDc2LDB4MDAsMHg3NCwweDAxLDB4OTAsMHhmYiwweGZlLDB4ZjAsMHgxMiwweDMwLDB4ODUsMHg5MCwweGZiLAotMHhmZCwweGUwLDB4NjAsMHg1OSwweDdjLDB4MGEsMHgxMiwweDMwLDB4ZmEsMHg5MCwweGZiLDB4ZmIsMHhlMCwweDI1LDB4ZTAsMHgyNCwKLTB4ODUsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZkLDB4ZjUsMHg4MywweGUwLDB4ZmQsMHhhMywweGUwLDB4ZmMsMHg5MCwweGZiLDB4ZmIsCi0weGUwLDB4MjUsMHhlMCwweDI0LDB4ODUsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZkLDB4ZjUsMHg4MywweGU0LDB4ZjAsMHhhMywweGYwLAotMHg5MCwweGZiLDB4ZmIsMHhlMCwweGZmLDB4ZTQsMHhlZiwweDA0LDB4NTQsMHgwNywweGZmLDB4OTAsMHhmYiwweGZiLDB4ZjAsMHg5MCwKLTB4ZmIsMHhmZCwweGUwLDB4MTQsMHhmMCwweDc4LDB4ODMsMHhlZCwweGY2LDB4MDgsMHhlYywweGY2LDB4MTIsMHgzMSwweDkzLDB4YjIsCi0weGIzLDB4NzgsMHg4MywweGU2LDB4ZmQsMHgwOCwweGU2LDB4ZmMsMHgxMiwweDA4LDB4ZTUsMHg4MCwweGExLDB4MTIsMHgzMSwweGU3LAotMHg3OCwweDg1LDB4MDYsMHhiNiwweDAwLDB4MTEsMHg3OCwweDg1LDB4NzYsMHgwMCwweDc4LDB4ODYsMHhlNiwweGY0LDB4MDQsMHgwNCwKLTB4YTIsMHhlMCwweDkyLDB4YjQsMHg3OCwweDg2LDB4ZjYsMHg4MCwweDg1LDB4ZTQsMHg5MCwweGZiLDB4ZmUsMHhmMCwweDkwLDB4ZmIsCi0weGZkLDB4ZTAsMHg3ZCwweDAwLDB4ZmMsMHhlZCwweDQ0LDB4Y2YsMHhmZCwweDEyLDB4MWMsMHg5MywweDEyLDB4MzEsMHgwOCwweDIyLAotMHgxMiwweDMwLDB4ODUsMHhlNSwweDZhLDB4NjQsMHg0OSwweDQ1LDB4NjksMHg2MCwweDE1LDB4OTAsMHhmZiwweDgzLDB4ZTAsMHg1NCwKLTB4MGYsMHg3ZCwweDAwLDB4ZDMsMHg5NSwweDZhLDB4ZWQsMHg5NSwweDY5LDB4NTAsMHgwNSwweDEyLDB4MmUsMHhjZSwweDgwLDB4MDMsCi0weDEyLDB4MmYsMHg5ZSwweDEyLDB4MzEsMHgwOCwweDIyLDB4MTIsMHgzMCwweDg1LDB4ZTUsMHg2YSwweDY0LDB4NDksMHg0NSwweDY5LAotMHg2MCwweDA1LDB4MTIsMHgyZiwweGQ4LDB4ODAsMHgwZSwweDkwLDB4ZmYsMHg4MCwweGUwLDB4NDQsMHgwOCwweGYwLDB4OTAsMHhmZiwKLTB4ODMsMHhlMCwweDU0LDB4N2YsMHhmMCwweDEyLDB4MzEsMHgwOCwweDIyLDB4MTIsMHgzMCwweDg1LDB4OGMsMHg1NCwweGVjLDB4NTQsCi0weGYwLDB4YjQsMHgxMCwweDE1LDB4NzUsMHg2NCwweDNkLDB4NzUsMHg2MywweGZkLDB4NzUsMHg2MiwweDAxLDB4ZTUsMHg2NCwweDI0LAotMHgwMywweGY1LDB4NjQsMHhlNSwweDYzLDB4MzQsMHgwMCwweGY1LDB4NjMsMHhlNCwweGY1LDB4NTcsMHhmNSwweDU2LDB4ZTUsMHg1NiwKLTB4YzMsMHg5NCwweDAxLDB4NTAsMHgyNywweGU1LDB4NTQsMHg1NCwweDBmLDB4ZmMsMHhhZCwweDY0LDB4YWUsMHg2MywweGFmLDB4NjIsCi0weDEyLDB4MGUsMHg4MiwweDhjLDB4NTUsMHhlYywweDYwLDB4MDIsMHg4MCwweDEyLDB4MDUsMHg2NCwweGU1LDB4NjQsMHg3MCwweDAyLAotMHgwNSwweDYzLDB4MDUsMHg1NywweGU1LDB4NTcsMHg3MCwweDAyLDB4MDUsMHg1NiwweDgwLDB4ZDIsMHhlNSwweDU0LDB4NTQsMHgwZiwKLTB4MjQsMHg5NywweGY4LDB4YzYsMHg1NCwweGZlLDB4ZjYsMHhlNSwweDU0LDB4NTQsMHgwZiwweDdmLDB4MDAsMHhmZSwweDdjLDB4MTIsCi0weDEyLDB4MzEsMHg5YSwweGU1LDB4NTUsMHgxNCwweDcwLDB4MDksMHg3ZCwweDAwLDB4N2MsMHgwOSwweDEyLDB4MjQsMHhiMSwweDgwLAotMHgwNywweGFkLDB4NTcsMHg3YywweDAwLDB4MTIsMHgyNCwweGIxLDB4MTIsMHgzMSwweDA4LDB4MjIsMHgxMiwweDMwLDB4ODUsMHg5MCwKLTB4ZmYsMHhmYywweGUwLDB4NDQsMHgwMiwweGYwLDB4OTAsMHhmZiwweDAwLDB4ZTAsMHgzMCwweGU3LDB4MTMsMHg5MCwweGZmLDB4ODMsCi0weGUwLDB4NDQsMHg4MCwweGYwLDB4NDMsMHg2NywweDgwLDB4OTAsMHhmZiwweGZjLDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg4MCwweDExLAotMHg5MCwweGZmLDB4ODIsMHhlMCwweDQ0LDB4MDgsMHhmMCwweDUzLDB4NjcsMHg3ZiwweDkwLDB4ZmYsMHhmYywweGUwLDB4NTQsMHhmZSwKLTB4ZjAsMHg5MCwweGZmLDB4ODEsMHhlMCwweDQ0LDB4ODAsMHhmMCwweDEyLDB4MjUsMHg2NCwweDkwLDB4ZmYsMHhmZSwweGUwLDB4NDQsCi0weDA1LDB4ZjAsMHg5MCwweGZmLDB4ZmMsMHhlMCwweDU0LDB4ZmQsMHhmMCwweDEyLDB4MzEsMHgwOCwweDIyLDB4MTIsMHgzMCwweDg1LAotMHg3YywweDAxLDB4MTIsMHgzMiwweDQ4LDB4NzgsMHhhNywweGU2LDB4NDQsMHgwMiwweGY2LDB4NzQsMHhmZSwweGZjLDB4MDQsMHhmZCwKLTB4MTIsMHgxYywweGZlLDB4OTAsMHhmZiwweDZhLDB4ZTAsMHgzMCwweGU3LDB4MDIsMHg4MCwweGY3LDB4ZTQsMHhmNSwweDRlLDB4NzUsCi0weDRkLDB4MTAsMHhhYywweDRlLDB4YWQsMHg0ZCwweGU1LDB4NGUsMHgxNSwweDRlLDB4NzAsMHgwMiwweDE1LDB4NGQsMHhlYywweDRkLAotMHg2MCwweDAyLDB4ODAsMHhlZSwweDQzLDB4ODcsMHgwMSwweDEyLDB4MzEsMHgwOCwweDIyLDB4MTIsMHgzMCwweDg1LDB4N2MsMHgwMiwKLTB4MTIsMHgzMSwweDE0LDB4NzgsMHhhNywweGU2LDB4NTQsMHhmZCwweGY2LDB4MTIsMHgzMSwweDA4LDB4MjIsMHgxMiwweDMwLDB4ODUsCi0weDc4LDB4YTcsMHhlNiwweDMwLDB4ZTAsMHgyYywweDc4LDB4YTcsMHhlNiwweDMwLDB4ZTEsMHgyNiwweDc4LDB4YTcsMHhlNiwweGZjLAotMHhmNSwweDgzLDB4MTgsMHhlNiwweDQ0LDB4ZjAsMHhmZCwweDEyLDB4MWMsMHg5MywweDkwLDB4ZmYsMHhmYywweGUwLDB4NDQsMHgyMCwKLTB4ZjAsMHg3YywweDAyLDB4MTIsMHgzMiwweDQ4LDB4NzgsMHhhNywweGU2LDB4NTQsMHhmZCwweGY2LDB4NzQsMHgxYSwweDkwLDB4ZmYsCi0weGZlLDB4ZjAsMHg3OCwweGE3LDB4ZTYsMHhmYywweGY1LDB4ODMsMHgxOCwweGU2LDB4NDQsMHhmMSwweGZkLDB4MTIsMHgxYywweDkzLAotMHgxMiwweDMxLDB4MDgsMHgyMiwweDc1LDB4NjcsMHgwMCwweDc1LDB4NjgsMHgwMCwweGU0LDB4ZjUsMHg2NiwweGY1LDB4NjUsMHhlNCwKLTB4ZjUsMHg2OSwweDc1LDB4NmEsMHg0OSwweDc0LDB4ODQsMHg5MCwweGZmLDB4ODIsMHhmMCwweDc0LDB4ODQsMHg5MCwweGZmLDB4ODAsCi0weGYwLDB4NzQsMHg4MCwweDkwLDB4ZmYsMHg2OCwweGYwLDB4NzQsMHg4MCwweDkwLDB4ZmYsMHg2YSwweGYwLDB4YWQsMHg0NiwweGFmLAotMHg0NSwweDdlLDB4MDAsMHhlZSwweDI0LDB4ZmMsMHg1MCwweDAzLDB4MDIsMHgyMSwweDZhLDB4ZTQsMHhlZSwweDc1LDB4ZjAsMHgwNywKLTB4YTQsMHgyNCwweDNmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmYywweGY1LDB4ODMsMHhlMCwweGZmLDB4ZTQsMHhlZiwweDU0LDB4ODAsCi0weGZkLDB4ZTQsMHhlZiwweDU0LDB4MGYsMHgxNCwweGZmLDB4ZWQsMHg2MCwweDM4LDB4ZTQsMHhlZiwweDc1LDB4ZjAsMHgwOCwweGE0LAotMHgyNCwweDQ4LDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmZiwweGY1LDB4ODMsMHg3NCwweDkwLDB4ZjAsMHhlNCwweGVmLDB4NzUsMHhmMCwKLTB4MDgsMHhhNCwweDI0LDB4NGEsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZmLDB4ZjUsMHg4MywweDc0LDB4ODAsMHhmMCwweGU0LDB4ZWYsCi0weDc1LDB4ZjAsMHgwOCwweGE0LDB4MjQsMHg0ZSwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmYsMHhmNSwweDgzLDB4NzQsMHg4MCwweGYwLAotMHg4MCwweDM0LDB4ZTQsMHhlZiwweDc1LDB4ZjAsMHgwOCwweGE0LDB4MjQsMHgwOCwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmYsMHhmNSwKLTB4ODMsMHg3NCwweDkwLDB4ZjAsMHhlNCwweGVmLDB4NzUsMHhmMCwweDA4LDB4YTQsMHgyNCwweDBhLDB4ZjUsMHg4MiwweGU0LDB4MzQsCi0weGZmLDB4ZjUsMHg4MywweGU0LDB4ZjAsMHhlNCwweGVmLDB4NzUsMHhmMCwweDA4LDB4YTQsMHgyNCwweDBlLDB4ZjUsMHg4MiwweGU0LAotMHgzNCwweGZmLDB4ZjUsMHg4MywweGU0LDB4ZjAsMHgwZSwweDAyLDB4MjAsMHhkMywweDhkLDB4NDYsMHg4ZSwweDQ0LDB4OGYsMHg0NSwKLTB4NzQsMHg3ZiwweDkwLDB4ZmYsMHhmZCwweGYwLDB4NzQsMHg5MCwweDkwLDB4ZmYsMHhmYywweGYwLDB4OTAsMHhmYywweDE5LDB4ZTAsCi0weDMwLDB4ZTYsMHgwNywweDkwLDB4ZmYsMHhmYywweGUwLDB4NDQsMHgwNCwweGYwLDB4MjIsMHg5MCwweGZjLDB4MGQsMHhlMCwweDE0LAotMHg3MCwweDA0LDB4OTAsMHhmYywweDBjLDB4ZTAsMHg3MCwweDM5LDB4OTAsMHhmYywweDAwLDB4NzksMHgwNiwweDdhLDB4MzUsMHg3YiwKLTB4MTIsMHg3OCwweDAxLDB4MTIsMHgwMywweGY1LDB4N2YsMHgwMCwweGVmLDB4MzMsMHg0MCwweDE1LDB4ZWYsMHg5MCwweDM1LDB4NGQsCi0weDkzLDB4ZmMsMHhlZiwweDI0LDB4ODAsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZjLDB4ZjUsMHg4MywweGVjLDB4ZjAsMHgwZiwweDgwLAotMHhlNywweDhmLDB4NTksMHg5MCwweGZjLDB4MmIsMHg3OSwweDE4LDB4N2EsMHgzNSwweDdiLDB4MzUsMHg3OCwweDAxLDB4MTIsMHgwMywKLTB4ZjUsMHhlNCwweDkwLDB4ZmYsMHhmZiwweGYwLDB4NzQsMHg1MSwweDkwLDB4ZmYsMHhmYSwweGYwLDB4NzQsMHgwNCwweDkwLDB4ZmYsCi0weGZiLDB4ZjAsMHg3NCwweDUzLDB4OTAsMHhmZiwweGY4LDB4ZjAsMHg3NCwweDUxLDB4OTAsMHhmZiwweGY5LDB4ZjAsMHg3NCwweDU1LAotMHg5MCwweGZmLDB4ZjcsMHhmMCwweDc0LDB4OTMsMHg5MCwweGZmLDB4ZjYsMHhmMCwweDc0LDB4MzIsMHg5MCwweGZmLDB4ZjUsMHhmMCwKLTB4NzUsMHg2NCwweDNkLDB4NzUsMHg2MywweGZkLDB4NzUsMHg2MiwweDAxLDB4ZTQsMHg5MCwweGZmLDB4ODMsMHhmMCwweDc0LDB4ODAsCi0weDkwLDB4ZmYsMHg4MSwweGYwLDB4NzUsMHg1OCwweDA0LDB4ZTUsMHg1OCwweDc1LDB4ZjAsMHgwNywweGE0LDB4MjQsMHgzZiwweGY1LAotMHg4MiwweGU0LDB4MzQsMHhmYywweGY1LDB4ODMsMHhlMCwweDc4LDB4ODksMHhmNiwweGZjLDB4NTQsMHgwZiwweDE0LDB4ZmMsMHg3OCwKLTB4ODksMHhlYywweGY2LDB4ZTUsMHg1OCwweDc1LDB4ZjAsMHgwNywweGE0LDB4MjQsMHg0MSwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmMsCi0weGY1LDB4ODMsMHhlMCwweDc4LDB4OGMsMHg3NiwweGY4LDB4MDgsMHg3NiwweDAwLDB4ZmMsMHg3OCwweDg5LDB4ZTYsMHg3NSwweGYwLAotMHgwOCwweGE0LDB4MjQsMHg0OCwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmYsMHhmNSwweDgzLDB4ZTQsMHhmMCwweDc4LDB4ODksMHhlNiwKLTB4NzUsMHhmMCwweDA4LDB4YTQsMHgyNCwweDRmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmZiwweGY1LDB4ODMsMHhlYywweGYwLDB4NzgsCi0weDhjLDB4ZTYsMHhmZiwweDA4LDB4ZTYsMHg3ZSwweDAzLDB4Y2YsMHhjMywweDEzLDB4Y2YsMHgxMywweGRlLDB4ZjksMHhmZSwweDc4LAotMHg4OSwweGU2LDB4NzUsMHhmMCwweDA4LDB4YTQsMHgyNCwweDQ5LDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmZiwweGY1LDB4ODMsMHhlZSwKLTB4ZjAsMHg3OCwweDg5LDB4ZTYsMHg3NSwweGYwLDB4MDgsMHhhNCwweDI0LDB4NGEsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZmLDB4ZjUsCi0weDgzLDB4NzQsMHg4MCwweGYwLDB4NzgsMHg4YSwweGVjLDB4ZjYsMHg3ZCwweDAwLDB4NzgsMHg4ZCwweGU2LDB4MmMsMHhmNiwweDE4LAotMHhlNiwweDNkLDB4ZjYsMHg3OCwweDhjLDB4ZTYsMHhmZCwweDA4LDB4ZTYsMHg3YywweDAzLDB4Y2QsMHhjMywweDEzLDB4Y2QsMHgxMywKLTB4ZGMsMHhmOSwweGZjLDB4NzgsMHg4OSwweGU2LDB4NzUsMHhmMCwweDA4LDB4YTQsMHgyNCwweDRkLDB4ZjUsMHg4MiwweGU0LDB4MzQsCi0weGZmLDB4ZjUsMHg4MywweGVjLDB4ZjAsMHg3OCwweDg5LDB4ZTYsMHg3NSwweGYwLDB4MDgsMHhhNCwweDI0LDB4NGUsMHhmNSwweDgyLAotMHhlNCwweDM0LDB4ZmYsMHhmNSwweDgzLDB4ZTQsMHhmMCwweDc4LDB4OGMsMHhlNiwweGZkLDB4MDgsMHhlNiwweGZjLDB4NzgsMHg4OSwKLTB4ZTYsMHhmZiwweDdlLDB4MDAsMHhlZSwweDI0LDB4ZmMsMHg1MCwweDAzLDB4MDIsMHgyNCwweDZiLDB4ZTQsMHhlZSwweDc1LDB4ZjAsCi0weDA3LDB4YTQsMHgyNCwweDNmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmYywweGY1LDB4ODMsMHhlMCwweGZmLDB4ZTQsMHhlZiwweDU0LAotMHg4MCwweGZhLDB4ZTQsMHhlZiwweDU0LDB4MGYsMHgxNCwweGZmLDB4ZTQsMHhlZSwweDc1LDB4ZjAsMHgwNywweGE0LDB4MjQsMHg0MSwKLTB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmYywweGY1LDB4ODMsMHhlMCwweDc4LDB4OGEsMHhmNiwweGVlLDB4NzUsMHhmMCwweDgwLDB4YTQsCi0weDI0LDB4MDgsMHhmOCwweGU1LDB4ZjAsMHgzNCwweGY4LDB4ZjksMHhlOCwweGZjLDB4ZTksMHhmZCwweDhhLDB4NTksMHhlYSwweDcwLAotMHgwMywweDAyLDB4MjMsMHhkOCwweGU0LDB4ZWYsMHg3NSwweGYwLDB4MDgsMHhhNCwweDI0LDB4NDgsMHhmNSwweDgyLDB4ZTQsMHgzNCwKLTB4ZmYsMHhmNSwweDgzLDB4ZTQsMHhmMCwweDc4LDB4OGEsMHhlNiwweGZhLDB4ZTQsMHhlZiwweDc1LDB4ZjAsMHgwOCwweGE0LDB4MjQsCi0weDRmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmZiwweGY1LDB4ODMsMHhlYSwweGYwLDB4ZWQsMHhmYiwweGVjLDB4N2EsMHgwMywweGNiLAotMHhjMywweDEzLDB4Y2IsMHgxMywweGRhLDB4ZjksMHhmYSwweGU0LDB4ZWYsMHg3NSwweGYwLDB4MDgsMHhhNCwweDI0LDB4NDksMHhmNSwKLTB4ODIsMHhlNCwweDM0LDB4ZmYsMHhmNSwweDgzLDB4ZWEsMHhmMCwweDc4LDB4OGEsMHhlNiwweDdiLDB4MDAsMHhmYSwweGVjLDB4MmEsCi0weGZjLDB4ZWQsMHgzYiwweGZkLDB4ZmIsMHhlYywweDdhLDB4MDMsMHhjYiwweGMzLDB4MTMsMHhjYiwweDEzLDB4ZGEsMHhmOSwweGZhLAotMHhlNCwweGVmLDB4NzUsMHhmMCwweDA4LDB4YTQsMHgyNCwweDRkLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmZiwweGY1LDB4ODMsMHhlYSwKLTB4ZjAsMHhlNCwweGVmLDB4NzUsMHhmMCwweDA4LDB4YTQsMHgyNCwweDRhLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmZiwweGY1LDB4ODMsCi0weDc0LDB4ODAsMHhmMCwweGU0LDB4ZWYsMHg3NSwweGYwLDB4MDgsMHhhNCwweDI0LDB4NGUsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZmLAotMHhmNSwweDgzLDB4NzQsMHg4MCwweGYwLDB4MDIsMHgyNCwweDY3LDB4ZTQsMHhlZiwweDc1LDB4ZjAsMHgwOCwweGE0LDB4MjQsMHgwOCwKLTB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmZiwweGY1LDB4ODMsMHhlNCwweGYwLDB4NzgsMHg4YSwweGU2LDB4ZmEsMHhlNCwweGVmLDB4NzUsCi0weGYwLDB4MDgsMHhhNCwweDI0LDB4MGYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZmLDB4ZjUsMHg4MywweGVhLDB4ZjAsMHhlZCwweGZiLAotMHhlYywweDdhLDB4MDMsMHhjYiwweGMzLDB4MTMsMHhjYiwweDEzLDB4ZGEsMHhmOSwweGZhLDB4ZTQsMHhlZiwweDc1LDB4ZjAsMHgwOCwKLTB4YTQsMHgyNCwweDA5LDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmZiwweGY1LDB4ODMsMHhlYSwweGYwLDB4NzgsMHg4YSwweGU2LDB4N2IsCi0weDAwLDB4ZmEsMHhlYywweDJhLDB4ZmMsMHhlZCwweDNiLDB4ZmQsMHhmYiwweGVjLDB4N2EsMHgwMywweGNiLDB4YzMsMHgxMywweGNiLAotMHgxMywweGRhLDB4ZjksMHhmYSwweGU0LDB4ZWYsMHg3NSwweGYwLDB4MDgsMHhhNCwweDI0LDB4MGQsMHhmNSwweDgyLDB4ZTQsMHgzNCwKLTB4ZmYsMHhmNSwweDgzLDB4ZWEsMHhmMCwweGU0LDB4ZWYsMHg3NSwweGYwLDB4MDgsMHhhNCwweDI0LDB4MGEsMHhmNSwweDgyLDB4ZTQsCi0weDM0LDB4ZmYsMHhmNSwweDgzLDB4ZTQsMHhmMCwweGU0LDB4ZWYsMHg3NSwweGYwLDB4MDgsMHhhNCwweDI0LDB4MGUsMHhmNSwweDgyLAotMHhlNCwweDM0LDB4ZmYsMHhmNSwweDgzLDB4ZTQsMHhmMCwweDBlLDB4MDIsMHgyMiwweGY0LDB4OGUsMHg1OCwweDc4LDB4OGMsMHhlZCwKLTB4ZjYsMHgwOCwweGVjLDB4ZjYsMHg3OCwweDg5LDB4ZWYsMHhmNiwweDEyLDB4MjAsMHhhNCwweDIyLDB4OGMsMHgyNiwweGVjLDB4MzAsCi0weGU3LDB4MTgsMHhlNSwweDI2LDB4NTQsMHgwZiwweDE0LDB4NzUsMHhmMCwweDA4LDB4YTQsMHgyNCwweDQ4LDB4ZjUsMHg4MiwweGU0LAotMHgzNCwweGZmLDB4ZjUsMHg4MywweGUwLDB4NTQsMHhkZiwweGYwLDB4ODAsMHgxNiwweGU1LDB4MjYsMHg1NCwweDBmLDB4MTQsMHg3NSwKLTB4ZjAsMHgwOCwweGE0LDB4MjQsMHgwOCwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmYsMHhmNSwweDgzLDB4ZTAsMHg1NCwweGRmLDB4ZjAsCi0weDIyLDB4ZWMsMHg5MCwweGZkLDB4M2YsMHhmMCwweDhjLDB4MjQsMHhlZCwweDI0LDB4MDMsMHhmNSwweDI1LDB4N2QsMHgwMCwweGQzLAotMHg5NSwweDZjLDB4ZWQsMHg5NSwweDZiLDB4NDAsMHgwMywweDg1LDB4NmMsMHgyNSwweGU1LDB4MjUsMHgyNCwweGI3LDB4NTAsMHgwOSwKLTB4NzUsMHgyNSwweDAzLDB4NzQsMHgwMiwweDkwLDB4ZmQsMHgzZiwweGYwLDB4YWMsMHgyNSwweDEyLDB4MmYsMHhjMywweDIyLDB4ZTQsCi0weGY1LDB4NjYsMHhmNSwweDY1LDB4MTIsMHgyNCwweGU4LDB4MjIsMHg5MCwweGZkLDB4M2QsMHhlMCwweDY1LDB4NmQsMHg2MCwweDBlLAotMHg3NCwweDA0LDB4OTAsMHhmZCwweDNmLDB4ZjAsMHhlNCwweGY1LDB4NjUsMHg3NSwweDY2LDB4MDMsMHg4MCwweDQ2LDB4N2QsMHg2ZCwKLTB4ZTQsMHhmZSwweGZmLDB4NzksMHgzZCwweDdhLDB4ZmQsMHg3YiwweDAxLDB4NzQsMHgwNSwweDc4LDB4MDAsMHgxMiwweDAzLDB4M2YsCi0weGU1LDB4NjYsMHgyNCwweDAzLDB4ZjUsMHg2NiwweGU1LDB4NjUsMHgzNCwweDAwLDB4ZjUsMHg2NSwweGU1LDB4NjYsMHhkMywweDk1LAotMHg2YywweGU1LDB4NjUsMHg5NSwweDZiLDB4NDAsMHgwNiwweDg1LDB4NmMsMHg2NiwweDg1LDB4NmIsMHg2NSwweGQzLDB4ZTUsMHg2NiwKLTB4OTQsMHg0OCwweGU1LDB4NjUsMHg5NCwweDAwLDB4NDAsMHgwYywweDc0LDB4MDIsMHg5MCwweGZkLDB4M2YsMHhmMCwweGU0LDB4ZjUsCi0weDY1LDB4NzUsMHg2NiwweDAzLDB4YWMsMHg2NiwweDEyLDB4MmYsMHhjMywweDIyLDB4ZWMsMHg5MCwweGZkLDB4M2YsMHhmMCwweGU0LAotMHhmNSwweDY2LDB4ZjUsMHg2NSwweDhjLDB4MzIsMHhlYywweDYwLDB4MDUsMHgxMiwweDJmLDB4YjQsMHg4MCwweDA1LDB4N2MsMHgwMCwKLTB4MTIsMHgyZiwweGMzLDB4MjIsMHg5MCwweGZmLDB4MDQsMHhlMCwweGY1LDB4NGEsMHg5MCwweGZmLDB4MDYsMHhlMCwweGZkLDB4YTMsCi0weGUwLDB4ZWQsMHg3ZCwweDAwLDB4ZmMsMHg3ZCwweDAwLDB4ZmMsMHg5MCwweGZmLDB4MDYsMHhlMCwweGZmLDB4YTMsMHhlMCwweDdlLAotMHgwMCwweGZmLDB4ZTQsMHhmZSwweGVjLDB4NGUsMHhmYywweGVkLDB4NGYsMHhmZCwweGMzLDB4ZWMsMHg5NCwweDQ4LDB4ZWQsMHg5NCwKLTB4MDAsMHg1MCwweDIyLDB4OTAsMHhmZiwweDA2LDB4ZTAsMHhmZCwweGEzLDB4ZTAsMHhlZCwweDdkLDB4MDAsMHhmYywweDdkLDB4MDAsCi0weGZjLDB4OTAsMHhmZiwweDA2LDB4ZTAsMHhmZiwweGEzLDB4ZTAsMHg3ZSwweDAwLDB4ZmYsMHhlNCwweGZlLDB4ZWMsMHg0ZSwweGZjLAotMHhlZCwweDRmLDB4ZmQsMHg4MCwweDA0LDB4ZTQsMHhmZCwweDdjLDB4NDgsMHg4YywweDZjLDB4OGQsMHg2YiwweDkwLDB4ZmYsMHgwMiwKLTB4ZTAsMHhmZCwweGEzLDB4ZTAsMHhlZCwweDdkLDB4MDAsMHhmYywweDdkLDB4MDAsMHhmYywweDkwLDB4ZmYsMHgwMiwweGUwLDB4ZmYsCi0weGEzLDB4ZTAsMHg3ZSwweDAwLDB4ZmYsMHhlNCwweGZlLDB4ZWMsMHg0ZSwweGY1LDB4NGMsMHhlZCwweDRmLDB4ZjUsMHg0YiwweDc1LAotMHg2NCwweDNkLDB4NzUsMHg2MywweGZkLDB4NzUsMHg2MiwweDAxLDB4N2QsMHgzZCwweDdlLDB4ZmQsMHg3ZiwweDAxLDB4NzksMHg2ZCwKLTB4ZTQsMHhmYSwweGZiLDB4NzQsMHgwNSwweDc4LDB4MDAsMHgxMiwweDAzLDB4M2YsMHg3NSwweDQ5LDB4MDAsMHhlNSwweDQ5LDB4MjQsCi0weGZlLDB4NDAsMHgxOSwweGFkLDB4NjQsMHhhZSwweDYzLDB4YWYsMHg2MiwweGU0LDB4MTIsMHgwMywweDBmLDB4MDUsMHg0OSwweDBkLAotMHhlZCwweDcwLDB4MDEsMHgwZSwweDhkLDB4NjQsMHg4ZSwweDYzLDB4OGYsMHg2MiwweDgwLDB4ZTEsMHg3NSwweDY0LDB4M2QsMHg3NSwKLTB4NjMsMHhmZCwweDc1LDB4NjIsMHgwMSwweDkwLDB4ZmYsMHgwMCwweGUwLDB4NTQsMHg2MCwweGI0LDB4MDAsMHgwMiwweDgwLDB4MDYsCi0weGQzLDB4NTAsMHgwMywweDAyLDB4MmMsMHgxMiwweGU1LDB4NGEsMHg1NCwweDBmLDB4ZjUsMHg0OSwweGU1LDB4NGEsMHg1NCwweDgwLAotMHhhMiwweGUwLDB4OTIsMHgwMiwweDkwLDB4ZmYsMHgwMSwweGUwLDB4MTIsMHgwMSwweDgxLDB4MDAsMHgwYiwweDJjLDB4MGQsMHgyNiwKLTB4NjcsMHgyNywweDg1LDB4MmMsMHgwZCwweDI4LDB4OTEsMHgyYywweDBkLDB4MjksMHg3NCwweDI5LDB4YTgsMHgyYiwweDBmLDB4MmIsCi0weDEyLDB4MmIsMHg1MiwweDJiLDB4YjYsMHgyYiwweGU0LDB4ZTUsMHg2NywweDMwLDB4ZTcsMHgwZSwweGU1LDB4NGMsMHg0NSwweDRiLAotMHg3MCwweDA4LDB4ZTUsMHg2YywweDY0LDB4MDIsMHg0NSwweDZiLDB4NjAsMHgwMywweDAyLDB4MmMsMHgwZiwweDkwLDB4ZmYsMHgwMCwKLTB4ZTAsMHg1NCwweDFmLDB4YjQsMHgwMCwweDAyLDB4ODAsMHgwMywweGQzLDB4NDAsMHgyOSwweGU1LDB4NGEsMHg2MCwweDAzLDB4MDIsCi0weDI3LDB4ODIsMHhhZCwweDY0LDB4YWUsMHg2MywweGFmLDB4NjIsMHg3NCwweDAxLDB4MTIsMHgwMywweDBmLDB4NzgsMHhhNywweGU2LAotMHgzMCwweGUwLDB4MGIsMHhhZCwweDY0LDB4YWUsMHg2MywweGFmLDB4NjIsMHg3NCwweDAyLDB4MTIsMHgwMywweDBmLDB4N2MsMHgwMiwKLTB4MTIsMHgyZiwweGMzLDB4MjIsMHhiNCwweDAxLDB4MDIsMHg4MCwweDAzLDB4ZDMsMHg0MCwweDFiLDB4ZTUsMHg2NywweDIwLDB4ZTEsCi0weDA3LDB4ZTUsMHg0YSwweDYwLDB4MDMsMHgwMiwweDI3LDB4ODIsMHhlNSwweDRhLDB4MjQsMHhmZSwweDUwLDB4MDMsMHgwMiwweDI3LAotMHg4MiwweDdjLDB4MDIsMHgxMiwweDJmLDB4YzMsMHgyMiwweGI0LDB4MDIsMHgwMiwweDgwLDB4MDYsMHhkMywweDUwLDB4MDMsMHgwMiwKLTB4MjcsMHg4MCwweGU1LDB4NjcsMHgyMCwweGUxLDB4MGQsMHhlNSwweDRhLDB4NjAsMHgwOSwweGU1LDB4NGEsMHg2NCwweDgwLDB4NjAsCi0weDAzLDB4MDIsMHgyNywweDgyLDB4YWMsMHg0YSwweDEyLDB4MzAsMHg0YSwweDQwLDB4MDMsMHgwMiwweDI3LDB4ODIsMHhlNSwweDQ5LAotMHg3MCwweDI1LDB4MzAsMHgwMiwweDExLDB4OTAsMHhmZiwweDgwLDB4ZTAsMHg1NCwweDA4LDB4YWQsMHg2NCwweGFlLDB4NjMsMHhhZiwKLTB4NjIsMHgxMiwweDAzLDB4MGYsMHg4MCwweDBmLDB4OTAsMHhmZiwweDgyLDB4ZTAsMHg1NCwweDA4LDB4YWQsMHg2NCwweGFlLDB4NjMsCi0weGFmLDB4NjIsMHgxMiwweDAzLDB4MGYsMHg4MCwweDNkLDB4MTUsMHg0OSwweDMwLDB4MDIsMHgxZCwweGU1LDB4NDksMHg3NSwweGYwLAotMHgwOCwweGE0LDB4MjQsMHg0OCwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmYsMHhmNSwweDgzLDB4ZTAsMHg1NCwweDA4LDB4YWQsMHg2NCwKLTB4YWUsMHg2MywweGFmLDB4NjIsMHgxMiwweDAzLDB4MGYsMHg4MCwweDFiLDB4ZTUsMHg0OSwweDc1LDB4ZjAsMHgwOCwweGE0LDB4MjQsCi0weDA4LDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmZiwweGY1LDB4ODMsMHhlMCwweDU0LDB4MDgsMHhhZCwweDY0LDB4YWUsMHg2MywweGFmLAotMHg2MiwweDEyLDB4MDMsMHgwZiwweGFkLDB4NjQsMHhhZSwweDYzLDB4YWYsMHg2MiwweDEyLDB4MDEsMHhlNiwweDYwLDB4MGIsMHhhZCwKLTB4NjQsMHhhZSwweDYzLDB4YWYsMHg2MiwweDc0LDB4MDEsMHgxMiwweDAzLDB4MGYsMHg3YywweDAyLDB4MTIsMHgyZiwweGMzLDB4MjIsCi0weDgwLDB4MDAsMHgwMiwweDJjLDB4MGYsMHhlNSwweDY3LDB4MjAsMHhlNywweDA2LDB4ZTUsMHg2YywweDQ1LDB4NmIsMHg2MCwweDAzLAotMHgwMiwweDJjLDB4MGYsMHg5MCwweGZmLDB4MDAsMHhlMCwweDU0LDB4MWYsMHhiNCwweDAwLDB4MDIsMHg4MCwweDAzLDB4ZDMsMHg0MCwKLTB4MWEsMHhlNSwweDRjLDB4MTQsMHg0NSwweDRiLDB4NzAsMHgwNCwweGU1LDB4NGEsMHg2MCwweDAzLDB4MDIsMHgyOCwweDhlLDB4NzgsCi0weGE3LDB4ZTYsMHg1NCwweGZlLDB4ZjYsMHg3YywweDAwLDB4MTIsMHgyZiwweGMzLDB4MjIsMHhiNCwweDAxLDB4MDIsMHg4MCwweDAzLAotMHhkMywweDQwLDB4MmEsMHhlNSwweDY3LDB4MjAsMHhlMSwweDA4LDB4ZTUsMHg2NywweDIwLDB4ZTAsMHgwMywweDAyLDB4MjgsMHg4ZSwKLTB4ZTUsMHg2NywweDMwLDB4ZTAsMHgwNCwweGU1LDB4NGEsMHg3MCwweDBiLDB4ZTUsMHg2NywweDMwLDB4ZTEsMHgwOSwweGU1LDB4NGEsCi0weDI0LDB4ZmUsMHg1MCwweDAzLDB4MDIsMHgyOCwweDhlLDB4N2MsMHgwMCwweDEyLDB4MmYsMHhjMywweDIyLDB4YjQsMHgwMiwweDAyLAotMHg4MCwweDA2LDB4ZDMsMHg1MCwweDAzLDB4MDIsMHgyOCwweDhjLDB4ZTUsMHg0YywweDQ1LDB4NGIsMHg2MCwweDAzLDB4MDIsMHgyOCwKLTB4OGUsMHhhYywweDRhLDB4MTIsMHgzMCwweDRhLDB4NDAsMHgwMywweDAyLDB4MjgsMHg4ZSwweGU1LDB4NjcsMHgyMCwweGUxLDB4MDcsCi0weGU1LDB4NjcsMHgyMCwweGUwLDB4MDIsMHg4MCwweDc3LDB4ZTUsMHg2NywweDMwLDB4ZTAsMHgwNiwweGU1LDB4NDksMHg2MCwweDAyLAotMHg4MCwweDZjLDB4ZTUsMHg0OSwweDcwLDB4MGYsMHg5MCwweGZmLDB4ODIsMHhlMCwweDU0LDB4ZjcsMHhmMCwweDkwLDB4ZmYsMHg4MCwKLTB4ZTAsMHg1NCwweGY3LDB4ZjAsMHgyMiwweGU1LDB4NDksMHhiNCwweDAxLDB4MDIsMHg4MCwweDAzLDB4ZDMsMHg0MCwweDA5LDB4N2QsCi0weDAxLDB4N2MsMHgwMywweDEyLDB4MGYsMHgwYiwweDgwLDB4MTEsMHhiNCwweDAyLDB4MDIsMHg4MCwweDAzLDB4ZDMsMHg0MCwweDA5LAotMHg3ZCwweDAxLDB4N2MsMHgwNCwweDEyLDB4MGYsMHgwYiwweDgwLDB4MDAsMHgxNSwweDQ5LDB4MzAsMHgwMiwweDE1LDB4ZTUsMHg0OSwKLTB4NzUsMHhmMCwweDA4LDB4YTQsMHgyNCwweDQ4LDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmZiwweGY1LDB4ODMsMHhlMCwweDU0LDB4ZjcsCi0weGYwLDB4ODAsMHgxMywweGU1LDB4NDksMHg3NSwweGYwLDB4MDgsMHhhNCwweDI0LDB4MDgsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZmLAotMHhmNSwweDgzLDB4ZTAsMHg1NCwweGY3LDB4ZjAsMHg3YywweDAwLDB4MTIsMHgyZiwweGMzLDB4MjIsMHg4MCwweDAwLDB4MDIsMHgyYywKLTB4MGYsMHhlNSwweDY3LDB4MjAsMHhlNywweDA2LDB4ZTUsMHg2YywweDQ1LDB4NmIsMHg2MCwweDAzLDB4MDIsMHgyYywweDBmLDB4OTAsCi0weGZmLDB4MDAsMHhlMCwweDU0LDB4MWYsMHhiNCwweDAwLDB4MDIsMHg4MCwweDAzLDB4ZDMsMHg0MCwweDFhLDB4ZTUsMHg0YywweDE0LAotMHg0NSwweDRiLDB4NzAsMHgwNCwweGU1LDB4NGEsMHg2MCwweDAzLDB4MDIsMHgyOSwweDcxLDB4NzgsMHhhNywweGU2LDB4NDQsMHgwMSwKLTB4ZjYsMHg3YywweDAwLDB4MTIsMHgyZiwweGMzLDB4MjIsMHhiNCwweDAxLDB4MDIsMHg4MCwweDAzLDB4ZDMsMHg0MCwweDI5LDB4ZTUsCi0weDY3LDB4MjAsMHhlMSwweDA4LDB4ZTUsMHg2NywweDIwLDB4ZTAsMHgwMywweDAyLDB4MjksMHg3MSwweGU1LDB4NjcsMHgzMCwweGUwLAotMHgwNCwweGU1LDB4NDksMHg3MCwweDBiLDB4ZTUsMHg2NywweDMwLDB4ZTEsMHgwOCwweGU1LDB4NDksMHgyNCwweGZlLDB4NTAsMHgwMiwKLTB4ODAsMHg3ZiwweDdjLDB4MDAsMHgxMiwweDJmLDB4YzMsMHgyMiwweGI0LDB4MDIsMHgwMiwweDgwLDB4MDMsMHhkMywweDQwLDB4NmYsCi0weGU1LDB4NGMsMHg0NSwweDRiLDB4NjAsMHgwMiwweDgwLDB4NjksMHhhYywweDRhLDB4MTIsMHgzMCwweDRhLDB4NDAsMHgwMiwweDgwLAotMHg2MCwweGU1LDB4NjcsMHgyMCwweGUxLDB4MDcsMHhlNSwweDY3LDB4MjAsMHhlMCwweDAyLDB4ODAsMHg1NCwweGU1LDB4NDksMHg3MCwKLTB4MTQsMHgzMCwweDAyLDB4MDksMHg5MCwweGZmLDB4ODAsMHhlMCwweDQ0LDB4MDgsMHhmMCwweDgwLDB4MDcsMHg5MCwweGZmLDB4ODIsCi0weGUwLDB4NDQsMHgwOCwweGYwLDB4MjIsMHhlNSwweDY3LDB4MzAsMHhlMSwweDMzLDB4MTUsMHg0OSwweDMwLDB4MDIsMHgxNSwweGU1LAotMHg0OSwweDc1LDB4ZjAsMHgwOCwweGE0LDB4MjQsMHg0OCwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmYsMHhmNSwweDgzLDB4ZTAsMHg0NCwKLTB4MDgsMHhmMCwweDgwLDB4MTMsMHhlNSwweDQ5LDB4NzUsMHhmMCwweDA4LDB4YTQsMHgyNCwweDA4LDB4ZjUsMHg4MiwweGU0LDB4MzQsCi0weGZmLDB4ZjUsMHg4MywweGUwLDB4NDQsMHgwOCwweGYwLDB4N2MsMHgwMCwweDEyLDB4MmYsMHhjMywweDIyLDB4ODAsMHgwMiwweDgwLAotMHgwMCwweDAyLDB4MmMsMHgwZiwweGU1LDB4NjcsMHgyMCwweGU3LDB4MTIsMHhlNSwweDZjLDB4NDUsMHg2YiwweDcwLDB4MGMsMHhlNSwKLTB4NGEsMHg3MCwweDA4LDB4OTAsMHhmZiwweDAwLDB4ZTAsMHg1NCwweDFmLDB4NjAsMHgwMywweDAyLDB4MmMsMHgwZiwweGU1LDB4NGMsCi0weDkwLDB4ZmYsMHhmZiwweGYwLDB4OTAsMHhmZiwweGZmLDB4ZTAsMHg2MCwweDA1LDB4NDMsMHg2NywweDAxLDB4ODAsMHgwMywweDUzLAotMHg2NywweGZlLDB4N2MsMHgwMCwweDEyLDB4MmYsMHhjMywweDIyLDB4ZTUsMHg2NywweDMwLDB4ZTcsMHgwZSwweGU1LDB4NmMsMHg0NSwKLTB4NmIsMHg2MCwweDA4LDB4OTAsMHhmZiwweDAwLDB4ZTAsMHg1NCwweDFmLDB4NjAsMHgwMywweDAyLDB4MmMsMHgwZiwweGFkLDB4NGIsCi0weGU1LDB4NGMsMHhlZCwweDdkLDB4MDAsMHhmYywweDdkLDB4MDAsMHhmYywweGJkLDB4MDAsMHgwMiwweDgwLDB4MDMsMHgwMiwweDJiLAotMHgwYSwweGI0LDB4MDEsMHgwMiwweDgwLDB4MDMsMHhkMywweDQwLDB4MzIsMHhlNSwweDRhLDB4NzAsMHgwNSwweGU1LDB4NGMsMHhmYywKLTB4NjAsMHgwMywweDAyLDB4MmIsMHgwYywweDc1LDB4NjQsMHgwMCwweDc1LDB4NjMsMHhmYywweDc1LDB4NjIsMHgwMSwweGQzLDB4ZTUsCi0weDZjLDB4OTQsMHgxMiwweGU1LDB4NmIsMHg5NCwweDAwLDB4NDAsMHgwNiwweGU0LDB4ZmQsMHg3YywweDEyLDB4ODAsMHgwNCwweGFjLAotMHg2YywweGFkLDB4NmIsMHg4YywweDZhLDB4OGQsMHg2OSwweDEyLDB4MmYsMHhkOCwweDIyLDB4YjQsMHgwMiwweDAyLDB4ODAsMHgwMywKLTB4ZDMsMHg0MCwweDU5LDB4ZTUsMHg0YSwweDYwLDB4MDMsMHgwMiwweDJiLDB4MGMsMHhlNSwweDRjLDB4ZmMsMHg3MCwweDI3LDB4NzUsCi0weDY0LDB4MTIsMHg3NSwweDYzLDB4ZmMsMHg3NSwweDYyLDB4MDEsMHhkMywweGU1LDB4NmMsMHg5NCwweDE5LDB4ZTUsMHg2YiwweDk0LAotMHgwMCwweDQwLDB4MDYsMHhlNCwweGZkLDB4N2MsMHgxOSwweDgwLDB4MDQsMHhhYywweDZjLDB4YWQsMHg2YiwweDhjLDB4NmEsMHg4ZCwKLTB4NjksMHgxMiwweDJmLDB4ZDgsMHg4MCwweDI1LDB4NzUsMHg2NCwweDJiLDB4NzUsMHg2MywweGZjLDB4NzUsMHg2MiwweDAxLDB4ZDMsCi0weGU1LDB4NmMsMHg5NCwweDM1LDB4ZTUsMHg2YiwweDk0LDB4MDAsMHg0MCwweDA2LDB4ZTQsMHhmZCwweDdjLDB4MzUsMHg4MCwweDA0LAotMHhhYywweDZjLDB4YWQsMHg2YiwweDhjLDB4NmEsMHg4ZCwweDY5LDB4MTIsMHgyZiwweGQ4LDB4MjIsMHhiNCwweDAzLDB4MDIsMHg4MCwKLTB4MDYsMHhkMywweDUwLDB4MDMsMHgwMiwweDJiLDB4MGEsMHhlNSwweDRjLDB4ZjUsMHg0OSwweDcwLDB4MGYsMHg5MCwweGZmLDB4MDQsCi0weGUwLDB4ZmQsMHhhMywweGUwLDB4NGQsMHg2MCwweDAzLDB4MDIsMHgyYiwweDBjLDB4ODAsMHgxOCwweDkwLDB4ZmMsMHg4MiwweGUwLAotMHhmZCwweGEzLDB4ZTAsMHhmYywweDkwLDB4ZmYsMHgwNSwweGUwLDB4NmMsMHg3MCwweDA3LDB4OTAsMHhmZiwweDA0LDB4ZTAsMHg2ZCwKLTB4NjAsMHgwMiwweDgwLDB4NjgsMHhlNCwweGY1LDB4NmEsMHhmNSwweDY5LDB4N2YsMHgwMCwweGU1LDB4NDksMHgxNCwweGM1LDB4NDksCi0weDYwLDB4MGYsMHhlZiwweDI0LDB4ODAsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZjLDB4ZjUsMHg4MywweGUwLDB4MmYsMHhmZiwweDgwLAotMHhlYSwweDhmLDB4NGEsMHhlNSwweDRhLDB4MjQsMHg4MCwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmMsMHhmNSwweDgzLDB4ZTAsMHg3ZCwKLTB4MDAsMHhkMywweDk1LDB4NmMsMHhlZCwweDk1LDB4NmIsMHg0MCwweDA2LDB4YWMsMHg2YywweGFkLDB4NmIsMHg4MCwweDBmLDB4ZTUsCi0weDRhLDB4MjQsMHg4MCwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmMsMHhmNSwweDgzLDB4ZTAsMHg3ZCwweDAwLDB4ZmMsMHg4YywweDZhLAotMHg4ZCwweDY5LDB4ZTUsMHg0YSwweDI0LDB4ODAsMHhmYywweGU0LDB4MzQsMHhmYywweGZkLDB4ZmUsMHhlYywweGZkLDB4N2YsMHgwMSwKLTB4OGQsMHg2NCwweDhlLDB4NjMsMHg4ZiwweDYyLDB4MTIsMHgyZiwweGQ4LDB4MjIsMHg4MCwweDAwLDB4MDIsMHgyYywweDBmLDB4MDIsCi0weDJjLDB4MGYsMHhlNSwweDY3LDB4MzAsMHhlNywweDE5LDB4ZTUsMHg2YywweDE0LDB4NDUsMHg2YiwweDcwLDB4MTIsMHhlNSwweDRhLAotMHg3MCwweDBlLDB4ZTUsMHg0YywweDQ1LDB4NGIsMHg3MCwweDA4LDB4OTAsMHhmZiwweDAwLDB4ZTAsMHg1NCwweDFmLDB4NjAsMHgwMywKLTB4MDIsMHgyYywweDBmLDB4ZTUsMHg2NywweDIwLDB4ZTAsMHgwOCwweGU1LDB4NjcsMHgyMCwweGUxLDB4MDMsMHgwMiwweDJjLDB4MGYsCi0weDc1LDB4NjQsMHg2OCwweGU0LDB4ZjUsMHg2MywweGY1LDB4NjIsMHhlNCwweGY1LDB4NjksMHgwNCwweGY1LDB4NmEsMHgxMiwweDJmLAotMHhkOCwweDIyLDB4ZTUsMHg2NywweDIwLDB4ZTcsMHgyNywweGU1LDB4NmMsMHg0NSwweDZiLDB4NzAsMHgyMSwweGU1LDB4NGEsMHg3MCwKLTB4MWQsMHhlNSwweDRjLDB4NjQsMHgwMiwweDQ1LDB4NGIsMHg2MCwweDBkLDB4ZTUsMHg0YywweDE0LDB4NDUsMHg0YiwweDYwLDB4MDYsCi0weGU1LDB4NGMsMHg0NSwweDRiLDB4NzAsMHgwOCwweDkwLDB4ZmYsMHgwMCwweGUwLDB4NTQsMHgxZiwweDYwLDB4MDMsMHgwMiwweDJjLAotMHgwZiwweGU1LDB4NjcsMHgyMCwweGUwLDB4MDgsMHhlNSwweDY3LDB4MjAsMHhlMSwweDAzLDB4MDIsMHgyYywweDBmLDB4ODUsMHg0YywKLTB4NjgsMHhlNSwweDY4LDB4NzAsMHgwOCwweDQzLDB4NjcsMHgwMSwweDUzLDB4NjcsMHhmZCwweDgwLDB4MTMsMHhlNSwweDY4LDB4NjQsCi0weDAyLDB4NjAsMHgwNywweGU1LDB4NjgsMHgxNCwweDYwLDB4MDIsMHg4MCwweDY1LDB4NTMsMHg2NywweGZlLDB4NDMsMHg2NywweDAyLAotMHg3YywweDAwLDB4MTIsMHgyZiwweGMzLDB4MjIsMHhlNSwweDY3LDB4MzAsMHhlNywweDFhLDB4ZTUsMHg2YywweDE0LDB4NDUsMHg2YiwKLTB4NzAsMHgxMywweGU1LDB4NGEsMHg3MCwweDBmLDB4ZTUsMHg0YywweDQ1LDB4NGIsMHg3MCwweDA5LDB4OTAsMHhmZiwweDAwLDB4ZTAsCi0weDU0LDB4MWYsMHgxNCwweDYwLDB4MDIsMHg4MCwweDM4LDB4ZTUsMHg2NywweDIwLDB4ZTEsMHgwMiwweDgwLDB4MzEsMHg3YywweDAxLAotMHgxMiwweDJmLDB4YzMsMHgyMiwweGU1LDB4NjcsMHgyMCwweGU3LDB4MTUsMHhlNSwweDZjLDB4NDUsMHg2YiwweDcwLDB4MGYsMHhlNSwKLTB4NGMsMHg0NSwweDRiLDB4NzAsMHgwOSwweDkwLDB4ZmYsMHgwMCwweGUwLDB4NTQsMHgxZiwweDE0LDB4NjAsMHgwMiwweDgwLDB4MGYsCi0weGU1LDB4NjcsMHgyMCwweGUxLDB4MDIsMHg4MCwweDA4LDB4N2MsMHgwMCwweDEyLDB4MmYsMHhjMywweDIyLDB4ODAsMHgwMCwweDAyLAotMHgyZSwweGNhLDB4YjQsMHg0MCwweDAyLDB4ODAsMHgwNiwweGQzLDB4NTAsMHgwMywweDAyLDB4MmUsMHhjMCwweDkwLDB4ZmYsMHgwMSwKLTB4ZTAsMHg5MCwweGZkLDB4M2QsMHhmMCwweGU1LDB4NGEsMHg5MCwweGZkLDB4M2UsMHhmMCwweGU0LDB4OTAsMHhmZCwweDNmLDB4ZjAsCi0weGU1LDB4NjQsMHgyNCwweDAzLDB4ZjUsMHg2NCwweGU1LDB4NjMsMHgzNCwweDAwLDB4ZjUsMHg2MywweGFkLDB4NGIsMHhlNSwweDRjLAotMHg4NSwweDY0LDB4ODIsMHg4NSwweDYzLDB4ODMsMHhjZCwweGYwLDB4YTMsMHhjZCwweGYwLDB4OTAsMHhmZiwweDAxLDB4ZTAsMHgxMiwKLTB4MDEsMHhiNywweDJjLDB4N2QsMHgwMSwweDJjLDB4YTMsMHgwMiwweDJjLDB4Y2QsMHgwMywweDJjLDB4ZjcsMHgwNCwweDJkLDB4NDUsCi0weDA1LDB4MmQsMHg4MiwweDA2LDB4MmQsMHhhOCwweDA3LDB4MmQsMHhjZSwweDA4LDB4MmQsMHhmNCwweDA5LDB4MmUsMHgxYSwweDBiLAotMHgyZSwweDQwLDB4MGMsMHgyZSwweDRmLDB4ODAsMHgyZSwweDRmLDB4ODEsMHgwMCwweDAwLDB4MmUsMHhhZCwweGU1LDB4NjcsMHgyMCwKLTB4ZTcsMHgwNiwweDdjLDB4MDUsMHgxMiwweDI1LDB4NGEsMHgyMiwweDdkLDB4YjcsMHg3ZSwweDM0LDB4N2YsMHgwMiwweDc5LDB4NDAsCi0weDdhLDB4ZmQsMHg3YiwweDAxLDB4NzQsMHgwOCwweDc4LDB4MDAsMHgxMiwweDAzLDB4M2YsMHg3ZCwweDA4LDB4N2MsMHgwMCwweDEyLAotMHgyNCwweGIxLDB4MjIsMHhlNSwweDY3LDB4MjAsMHhlNywweDA2LDB4N2MsMHgwNSwweDEyLDB4MjUsMHg0YSwweDIyLDB4ZTUsMHg0YSwKLTB4YjQsMHgwMywweDAwLDB4NDAsMHgxMCwweGI0LDB4MDUsMHgwMCwweDUwLDB4MGIsMHhlNSwweDRhLDB4N2YsMHgwMCwweGZlLDB4N2MsCi0weDEwLDB4MTIsMHgzMSwweDlhLDB4MjIsMHg3ZCwweDAwLDB4N2MsMHgwNywweDEyLDB4MjQsMHhiMSwweDIyLDB4ZTUsMHg2NywweDIwLAotMHhlNywweDA2LDB4N2MsMHgwNSwweDEyLDB4MjUsMHg0YSwweDIyLDB4ZTUsMHg0YSwweGI0LDB4MDMsMHgwMCwweDQwLDB4MTAsMHhiNCwKLTB4MDUsMHgwMCwweDUwLDB4MGIsMHhlNSwweDRhLDB4N2YsMHgwMCwweGZlLDB4N2MsMHgxMSwweDEyLDB4MzEsMHg5YSwweDIyLDB4N2QsCi0weDAwLDB4N2MsMHgwNywweDEyLDB4MjQsMHhiMSwweDIyLDB4ZTUsMHg2NywweDIwLDB4ZTcsMHgwNiwweDdjLDB4MDUsMHgxMiwweDI1LAotMHg0YSwweDIyLDB4ZTUsMHg0YSwweGI0LDB4MDUsMHgwMiwweDgwLDB4MDMsMHhkMywweDQwLDB4MGEsMHhlNCwweGZmLDB4MDQsMHhmZSwKLTB4N2MsMHgwYSwweDEyLDB4MzEsMHg5YSwweDIyLDB4YjQsMHgwMSwweDAyLDB4ODAsMHgwMywweGQzLDB4NDAsMHgwYSwweGU0LDB4ZmYsCi0weDA0LDB4ZmUsMHg3YywweDA4LDB4MTIsMHgzMSwweDlhLDB4MjIsMHhiNCwweDAzLDB4MDAsMHg0MCwweDEwLDB4YjQsMHgwNSwweDAwLAotMHg1MCwweDBiLDB4ZTUsMHg0YSwweDdmLDB4MDAsMHhmZSwweDdjLDB4MTMsMHgxMiwweDMxLDB4OWEsMHgyMiwweDdkLDB4MDAsMHg3YywKLTB4MDcsMHgxMiwweDI0LDB4YjEsMHgyMiwweGU1LDB4NjcsMHgyMCwweGU3LDB4MzQsMHhkMywweGU1LDB4NmMsMHg5NCwweDQ4LDB4ZTUsCi0weDZiLDB4OTQsMHgwMCwweDUwLDB4MDYsMHhlNSwweDZjLDB4NDUsMHg2YiwweDcwLDB4MDYsMHg3YywweDAyLDB4MTIsMHgyNSwweDRhLAotMHgyMiwweGU1LDB4NGEsMHhiNCwweDAxLDB4MDMsMHhiMywweDQwLDB4MGIsMHhjMywweGI0LDB4MDMsMHgwMCwweDQwLDB4MDksMHhiNCwKLTB4MDYsMHgwMCwweDUwLDB4MDQsMHgxMiwweDMwLDB4NzAsMHgyMiwweDdjLDB4MDcsMHgxMiwweDI1LDB4NGEsMHgyMiwweDEyLDB4MjQsCi0weGU4LDB4MjIsMHhlNSwweDY3LDB4MjAsMHhlNywweDFkLDB4ZTUsMHg0YSwweGI0LDB4MDMsMHgwMCwweDQwLDB4MTAsMHhiNCwweDA1LAotMHgwMCwweDUwLDB4MGIsMHhlNSwweDRhLDB4N2YsMHgwMCwweGZlLDB4N2MsMHgxNiwweDEyLDB4MzEsMHg5YSwweDIyLDB4N2MsMHgwNywKLTB4MTIsMHgyNSwweDRhLDB4MjIsMHgxMiwweDI0LDB4ZTgsMHgyMiwweGU1LDB4NjcsMHgyMCwweGU3LDB4MWQsMHhlNSwweDRhLDB4YjQsCi0weDAzLDB4MDAsMHg0MCwweDEwLDB4YjQsMHgwNSwweDAwLDB4NTAsMHgwYiwweGU1LDB4NGEsMHg3ZiwweDAwLDB4ZmUsMHg3YywweDE5LAotMHgxMiwweDMxLDB4OWEsMHgyMiwweDdjLDB4MDcsMHgxMiwweDI1LDB4NGEsMHgyMiwweDEyLDB4MjQsMHhlOCwweDIyLDB4ZTUsMHg2NywKLTB4MjAsMHhlNywweDFkLDB4ZTUsMHg0YSwweGI0LDB4MDMsMHgwMCwweDQwLDB4MTAsMHhiNCwweDA1LDB4MDAsMHg1MCwweDBiLDB4ZTUsCi0weDRhLDB4N2YsMHgwMCwweGZlLDB4N2MsMHgxNywweDEyLDB4MzEsMHg5YSwweDIyLDB4N2MsMHgwNywweDEyLDB4MjUsMHg0YSwweDIyLAotMHgxMiwweDI0LDB4ZTgsMHgyMiwweGU1LDB4NjcsMHgyMCwweGU3LDB4MWQsMHhlNSwweDRhLDB4YjQsMHgwMywweDAwLDB4NDAsMHgxMCwKLTB4YjQsMHgwNSwweDAwLDB4NTAsMHgwYiwweGU1LDB4NGEsMHg3ZiwweDAwLDB4ZmUsMHg3YywweDE4LDB4MTIsMHgzMSwweDlhLDB4MjIsCi0weDdjLDB4MDcsMHgxMiwweDI1LDB4NGEsMHgyMiwweDEyLDB4MjQsMHhlOCwweDIyLDB4ZTUsMHg2NywweDIwLDB4ZTcsMHgxZCwweGU1LAotMHg0YSwweGI0LDB4MDMsMHgwMCwweDQwLDB4MTAsMHhiNCwweDA1LDB4MDAsMHg1MCwweDBiLDB4ZTUsMHg0YSwweDdmLDB4MDAsMHhmZSwKLTB4N2MsMHgxNSwweDEyLDB4MzEsMHg5YSwweDIyLDB4N2MsMHgwNywweDEyLDB4MjUsMHg0YSwweDIyLDB4MTIsMHgyNCwweGU4LDB4MjIsCi0weGU1LDB4NjcsMHgyMCwweGU3LDB4MDYsMHg3YywweDA3LDB4MTIsMHgyNSwweDRhLDB4MjIsMHgxMiwweDI0LDB4ZTgsMHgyMiwweGU1LAotMHg2NywweDMwLDB4ZTcsMHgyMCwweDkwLDB4ZmYsMHgwMCwweGUwLDB4NTQsMHgxZiwweDcwLDB4MTAsMHg5MCwweGZmLDB4MDEsMHhlMCwKLTB4YjQsMHg4MCwweDA1LDB4MTIsMHgyNCwweGRmLDB4ODAsMHgwMywweDEyLDB4MjQsMHhlOCwweDIyLDB4N2QsMHgwMCwweDdjLDB4MDUsCi0weDEyLDB4MjQsMHhiMSwweDIyLDB4OTAsMHhmZiwweDAwLDB4ZTAsMHg1NCwweDFmLDB4NjAsMHgwNiwweDdjLDB4MDUsMHgxMiwweDI1LAotMHg0YSwweDIyLDB4ZDMsMHhlNSwweDZjLDB4OTQsMHg0OCwweGU1LDB4NmIsMHg5NCwweDAwLDB4NTAsMHgwYiwweGMzLDB4ZTUsMHg2YywKLTB4OTQsMHgwNywweGU1LDB4NmIsMHg5NCwweDAwLDB4NTAsMHgwNiwweDdjLDB4MDMsMHgxMiwweDI1LDB4NGEsMHgyMiwweGU1LDB4NGEsCi0weGI0LDB4MDUsMHgwNCwweDEyLDB4MzAsMHg3MCwweDIyLDB4N2MsMHgwNywweDEyLDB4MjUsMHg0YSwweDIyLDB4ZTUsMHg2NywweDMwLAotMHhlNywweDA4LDB4N2QsMHgwMCwweDdjLDB4MDUsMHgxMiwweDI0LDB4YjEsMHgyMiwweDdjLDB4MDUsMHgxMiwweDI1LDB4NGEsMHgyMiwKLTB4YjQsMHgyMCwweDAyLDB4ODAsMHgwMywweGQzLDB4NDAsMHgwMCwweDgwLDB4MDAsMHgxMiwweDJmLDB4OWUsMHgyMiwweDc1LDB4NDMsCi0weDAwLDB4OTAsMHhmZiwweDgzLDB4ZTAsMHg1NCwweDBmLDB4ZDMsMHg5NSwweDQzLDB4NDAsMHgyNCwweGU1LDB4NDMsMHgyNCwweGYwLAotMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZlLDB4ZjUsMHg4MywweGUwLDB4YWQsMHg2NCwweGFlLDB4NjMsMHhhZiwweDYyLDB4MTIsMHgwMywKLTB4MGYsMHgwNSwweDQzLDB4MGQsMHhlZCwweDcwLDB4MDEsMHgwZSwweDhkLDB4NjQsMHg4ZSwweDYzLDB4OGYsMHg2MiwweDgwLDB4ZDEsCi0weGU1LDB4NDMsMHg3ZCwweDAwLDB4ZmMsMHhjMywweGU1LDB4NmEsMHg5YywweGY1LDB4NmEsMHhlNSwweDY5LDB4OWQsMHhmNSwweDY5LAotMHhlNSwweDZhLDB4NDUsMHg2OSwweDYwLDB4MDYsMHhlNCwweDkwLDB4ZmYsMHg4MywweGYwLDB4MjIsMHg5MCwweGZmLDB4ODIsMHhlMCwKLTB4NDQsMHgwOCwweGYwLDB4ZTQsMHhmNSwweDY5LDB4NzUsMHg2YSwweDQ5LDB4OTAsMHhmZCwweDNkLDB4ZTAsMHhiNCwweDA1LDB4MDIsCi0weDgwLDB4MDMsMHhkMywweDQwLDB4NDAsMHg5MCwweGZkLDB4M2UsMHhlMCwweGY1LDB4NDMsMHhiNCwweDA1LDB4MDIsMHg4MCwweDAzLAotMHhkMywweDQwLDB4MGEsMHhlNCwweGZmLDB4MDQsMHhmZSwweDdjLDB4MGIsMHgxMiwweDMxLDB4OWEsMHgyMiwweGI0LDB4MDEsMHgwMiwKLTB4ODAsMHgwMywweGQzLDB4NDAsMHgwYSwweGU0LDB4ZmYsMHgwNCwweGZlLDB4N2MsMHgwOSwweDEyLDB4MzEsMHg5YSwweDIyLDB4YjQsCi0weDAzLDB4MDAsMHg0MCwweDEwLDB4YjQsMHgwNSwweDAwLDB4NTAsMHgwYiwweGU1LDB4NDMsMHg3ZiwweDAwLDB4ZmUsMHg3YywweDE0LAotMHgxMiwweDMxLDB4OWEsMHgyMiwweDIyLDB4YjQsMHg4MCwweDAwLDB4NDAsMHgyMywweGI0LDB4ODIsMHgwMCwweDUwLDB4MWUsMHg3YywKLTB4M2QsMHg3ZCwweGZkLDB4MTIsMHgxNywweGQ1LDB4N2QsMHgwMCwweDhjLDB4NjYsMHg4ZCwweDY1LDB4OTAsMHhmZCwweDNmLDB4ZTAsCi0weDYwLDB4MDUsMHgxMiwweDJmLDB4OWUsMHg4MCwweDA1LDB4N2MsMHgwMCwweDEyLDB4MmYsMHhjMywweDIyLDB4MjIsMHg5MCwweGZmLAotMHg4MywweGUwLDB4NTQsMHg3ZiwweGYwLDB4OTAsMHhmZiwweDgyLDB4ZTAsMHg0NCwweDA4LDB4ZjAsMHg5MCwweGZmLDB4ODAsMHhlMCwKLTB4NDQsMHgwOCwweGYwLDB4MjIsMHg5MCwweGZmLDB4ODIsMHhlMCwweDQ0LDB4MDgsMHhmMCwweDkwLDB4ZmYsMHg4MCwweGUwLDB4NDQsCi0weDA4LDB4ZjAsMHgyMiwweDhjLDB4MjMsMHg3ZCwweDAwLDB4OGMsMHg2YSwweDhkLDB4NjksMHg3NSwweDY0LDB4M2QsMHg3NSwweDYzLAotMHhmZCwweDc1LDB4NjIsMHgwMSwweDEyLDB4MmYsMHhkOCwweDIyLDB4OTAsMHhmZiwweDgzLDB4ZTAsMHg1NCwweDdmLDB4ZjAsMHhlNSwKLTB4NmEsMHg2NCwweDQ5LDB4NDUsMHg2OSwweDcwLDB4MDEsMHgyMiwweGMzLDB4ZTUsMHg2YSwweDk0LDB4MDgsMHhlNSwweDY5LDB4OTQsCi0weDAwLDB4NDAsMHgxNSwweDc1LDB4MjEsMHgwOCwweGU1LDB4MjEsMHg3ZCwweDAwLDB4ZmMsMHhjMywweGU1LDB4NmEsMHg5YywweGY1LAotMHg2YSwweGU1LDB4NjksMHg5ZCwweGY1LDB4NjksMHg4MCwweDA5LDB4ODUsMHg2YSwweDIxLDB4ZTQsMHhmNSwweDY5LDB4NzUsMHg2YSwKLTB4NDksMHg3NSwweDIyLDB4MDAsMHhlNSwweDIyLDB4YzMsMHg5NSwweDIxLDB4NTAsMHgyNiwweGFkLDB4NjQsMHhhZSwweDYzLDB4YWYsCi0weDYyLDB4MTIsMHgwMSwweGU2LDB4ZmMsMHhlNSwweDIyLDB4MjQsMHhmOCwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmUsMHhmNSwweDgzLAotMHhlYywweGYwLDB4MDUsMHgyMiwweDBkLDB4ZWQsMHg3MCwweDAxLDB4MGUsMHg4ZCwweDY0LDB4OGUsMHg2MywweDhmLDB4NjIsMHg4MCwKLTB4ZDMsMHhlNSwweDIxLDB4NTQsMHg3ZiwweDkwLDB4ZmYsMHg4MSwweGYwLDB4MjIsMHg4YywweDQ4LDB4N2YsMHgwMCwweGVmLDB4MjQsCi0weGZiLDB4NDAsMHgxOSwweGU0LDB4ZWYsMHg3NSwweGYwLDB4MDcsMHhhNCwweDI0LDB4M2YsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZjLAotMHhmNSwweDgzLDB4ZTAsMHg2NSwweDQ4LDB4NzAsMHgwMiwweGQzLDB4MjIsMHgwZiwweDgwLDB4ZTIsMHg4ZiwweDQ3LDB4YzMsMHgyMiwKLTB4ODUsMHg2YywweDZhLDB4ODUsMHg2YiwweDY5LDB4OTAsMHhmZiwweDgyLDB4ZTAsMHg1NCwweGY3LDB4ZjAsMHg5MCwweGZmLDB4ODMsCi0weGUwLDB4NTQsMHg3ZiwweGYwLDB4MjIsMHhjMCwweDAwLDB4YzAsMHgwMSwweGMwLDB4MDIsMHhjMCwweDA2LDB4YzAsMHgwNywweGU1LAotMHg3MiwweDI0LDB4MDgsMHhmOCwweDg2LDB4MDYsMHg1MywweDA2LDB4N2YsMHg3YywweGZmLDB4MTIsMHgzMCwweGZhLDB4N2MsMHgwMCwKLTB4N2QsMHgwMCwweGU1LDB4NzUsMHg2MCwweDQ2LDB4ZmYsMHg5MCwweGZlLDB4OWQsMHhlMCwweDU0LDB4N2YsMHg2ZSwweDcwLDB4MGYsCi0weGMwLDB4ODMsMHhjMCwweDgyLDB4YTMsMHhlMCwweGZkLDB4YTMsMHhlMCwweGZjLDB4YTMsMHgxNSwweDc1LDB4ODAsMHgwNywweGEzLAotMHhhMywweGEzLDB4ZGYsMHhlNiwweDgwLDB4MjYsMHhkZiwweDA2LDB4ZDAsMHg4MiwweGQwLDB4ODMsMHg4MCwweDFlLDB4ZTAsMHhmOCwKLTB4YTMsMHhlMCwweGY5LDB4YTMsMHhlMCwweGZhLDB4ZDAsMHg4MiwweGQwLDB4ODMsMHhlOCwweGYwLDB4YTMsMHhlOSwweGYwLDB4YTMsCi0weGVhLDB4ZjAsMHhhMywweGMwLDB4ODMsMHhjMCwweDgyLDB4YTMsMHhhMywweGEzLDB4ODAsMHhkYSwweDEyLDB4MzEsMHg5MywweGQwLAotMHgwNywweGQwLDB4MDYsMHhkMCwweDAyLDB4ZDAsMHgwMSwweGQwLDB4MDAsMHgyMiwweDg1LDB4YTgsMHg3NCwweDc1LDB4YTgsMHg4OCwKLTB4ZWMsMHg3MCwweDAyLDB4N2MsMHgzZiwweDhjLDB4NzMsMHgyMiwweGU1LDB4NzIsMHgyNCwweDA4LDB4ZjgsMHg3NiwweDAwLDB4MTIsCi0weDMxLDB4ZTcsMHg4MCwweGZiLDB4YzAsMHgwMCwweGMwLDB4MDEsMHhjMCwweDAyLDB4YzAsMHgwNiwweGMwLDB4MDcsMHhhZSwweDA0LAotMHg3YywweGZmLDB4MTIsMHgzMCwweGZhLDB4ZTUsMHg3NSwweDYwLDB4NDIsMHhmZiwweDkwLDB4ZmUsMHg5ZCwweGUwLDB4NTQsMHg3ZiwKLTB4NmUsMHg3MCwweDBiLDB4YzAsMHg4MywweGMwLDB4ODIsMHhhMywweGEzLDB4YTMsMHgxNSwweDc1LDB4ODAsMHgwNywweGEzLDB4YTMsCi0weGEzLDB4ZGYsMHhlYSwweDgwLDB4MjYsMHhkZiwweDA2LDB4ZDAsMHg4MiwweGQwLDB4ODMsMHg4MCwweGQ4LDB4ZTAsMHhmOCwweGEzLAotMHhlMCwweGY5LDB4YTMsMHhlMCwweGZhLDB4ZDAsMHg4MiwweGQwLDB4ODMsMHhlOCwweGYwLDB4YTMsMHhlOSwweGYwLDB4YTMsMHhlYSwKLTB4ZjAsMHhhMywweGMwLDB4ODMsMHhjMCwweDgyLDB4YTMsMHhhMywweGEzLDB4ODAsMHhkYSwweDc4LDB4MDgsMHgwOCwweDc5LDB4MTgsCi0weDA5LDB4N2MsMHgwMSwweGU2LDB4NTQsMHg3ZiwweDZlLDB4NzAsMHgwNiwweDc2LDB4MDAsMHg3NywweDAwLDB4ODAsMHgwNiwweDA4LAotMHgwOSwweDBjLDB4YmMsMHgwOCwweGVlLDB4MTIsMHgzMSwweDkzLDB4ZDAsMHgwNywweGQwLDB4MDYsMHhkMCwweDAyLDB4ZDAsMHgwMSwKLTB4ZDAsMHgwMCwweDIyLDB4NzUsMHg3MywweDAwLDB4ODUsMHg3NCwweGE4LDB4MjIsMHhjMCwweGYwLDB4YzAsMHg4MiwweGMwLDB4ODMsCi0weGMzLDB4ZTUsMHg3NSwweDI0LDB4ZTgsMHg1MCwweDA1LDB4MTIsMHgzMSwweGU3LDB4ODAsMHhmNCwweGVjLDB4NjAsMHgzMSwweDkwLAotMHgzNCwweGI2LDB4ZTQsMHg5MywweGMzLDB4OWMsMHg0MCwweDI4LDB4YzAsMHgwNCwweDdjLDB4ZmYsMHgxMiwweDMwLDB4ZmEsMHhkMCwKLTB4MDQsMHg0MywweDA0LDB4ODAsMHhlNSwweDc1LDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNCwweDlkLDB4ZjUsMHg4MiwweGU0LDB4MzQsCi0weGZlLDB4ZjUsMHg4MywweGVjLDB4ZjAsMHhlZiwweGEzLDB4ZjAsMHhlZSwweGEzLDB4ZjAsMHgwNSwweDc1LDB4MTIsMHgzMSwweDkzLAotMHhkMCwweDgzLDB4ZDAsMHg4MiwweGQwLDB4ZjAsMHgyMiwweGMwLDB4MDQsMHg3YywweDIwLDB4ZDIsMHg4YywweGQyLDB4OGQsMHhkNSwKLTB4MDQsMHhmZCwweGQwLDB4MDQsMHgyMiwweDc1LDB4YTgsMHgwMCwweDc1LDB4ODgsMHgwMCwweDc1LDB4YjgsMHgwMCwweDc1LDB4ZjAsCi0weDAwLDB4NzUsMHhkMCwweDAwLDB4ZTQsMHhmOCwweDkwLDB4MDAsMHgwMCwweGY2LDB4MDgsMHhiOCwweDAwLDB4ZmIsMHgwMiwweDAwLAotMHgwMCwweGMzLDB4ZWQsMHg5NCwweDAyLDB4NTAsMHgwNCwweDdkLDB4MDMsMHg3YywweGU4LDB4ZWMsMHhmNCwweGZjLDB4ZWQsMHhmNCwKLTB4ZmQsMHgwYywweGJjLDB4MDAsMHgwMSwweDBkLDB4OGMsMHg3OSwweDhkLDB4NzgsMHgyMiwweGMzLDB4ZWMsMHg5NCwweGJjLDB4ZWQsCi0weDk0LDB4MDIsMHg1MCwweDA0LDB4N2QsMHgwNywweDdjLDB4ZDAsMHhlYywweGY0LDB4ZmMsMHhlZCwweGY0LDB4ZmQsMHgwYywweGJjLAotMHgwMCwweDAxLDB4MGQsMHg4YywweDc3LDB4OGQsMHg3NiwweDIyLDB4ZWMsMHg3MCwweDAxLDB4MjIsMHhjMCwweDAwLDB4ZTUsMHg3MiwKLTB4MjQsMHgxOCwweGY4LDB4YTYsMHgwNCwweGU1LDB4NzIsMHgyNCwweDA4LDB4ZjgsMHhjNiwweDU0LDB4N2YsMHhmNiwweGU2LDB4MzAsCi0weGU3LDB4MDMsMHhkMCwweDAwLDB4MjIsMHgxMiwweDMxLDB4ZTcsMHg4MCwweGY0LDB4YzIsMHg4YywweDg1LDB4NzYsMHg4YywweDg1LAotMHg3NywweDhhLDB4ZDIsMHg4YywweGMwLDB4ZTAsMHhjMCwweGQwLDB4YzAsMHhmMCwweGMwLDB4ODIsMHhjMCwweDgzLDB4YzAsMHgwMCwKLTB4YzAsMHgwMSwweGMwLDB4MDIsMHhjMCwweDAzLDB4YzAsMHgwNCwweGMwLDB4MDUsMHhjMCwweDA2LDB4YzAsMHgwNywweDEyLDB4MWIsCi0weDI4LDB4ZTUsMHg3MiwweDI0LDB4MDgsMHhmOCwweGU2LDB4NjAsMHgyNCwweGU1LDB4NzIsMHgyNCwweDEwLDB4ZjgsMHhhNiwweDgxLAotMHhlNSwweDcyLDB4NzUsMHhmMCwweDIxLDB4YTQsMHgyNCwweDk1LDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmZCwweGY1LDB4ODMsMHg3OCwKLTB4YTgsMHhlNSwweDgxLDB4MDQsMHhjMywweDk4LDB4ZjksMHhlNiwweGYwLDB4MDgsMHhhMywweGQ5LDB4ZmEsMHg3NCwweDA4LDB4MjUsCi0weDcyLDB4ZjgsMHgwNSwweDcyLDB4MDgsMHhlNiwweDU0LDB4ODAsMHg3MCwweDBjLDB4ZTUsMHg3MiwweGI0LDB4MDcsMHhmMywweDc4LAotMHgwOCwweDc1LDB4NzIsMHgwMCwweDgwLDB4ZWYsMHhlNSwweDcyLDB4MjQsMHgxMCwweGY4LDB4ODYsMHg4MSwweGU1LDB4NzIsMHg3NSwKLTB4ZjAsMHgyMSwweGE0LDB4MjQsMHg5NSwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmQsMHhmNSwweDgzLDB4NzgsMHhhOCwweGU1LDB4ODEsCi0weDA0LDB4YzMsMHg5OCwweGY5LDB4ZTAsMHhmNiwweDA4LDB4YTMsMHhkOSwweGZhLDB4ZDAsMHgwNywweGQwLDB4MDYsMHhkMCwweDA1LAotMHhkMCwweDA0LDB4ZDAsMHgwMywweGQwLDB4MDIsMHhkMCwweDAxLDB4ZDAsMHgwMCwweGQwLDB4ODMsMHhkMCwweDgyLDB4ZDAsMHhmMCwKLTB4ZDAsMHhkMCwweGQwLDB4ZTAsMHgzMiwweGMwLDB4ZTAsMHhjMCwweGQwLDB4YzAsMHgwMCwweGMwLDB4MDEsMHhjMCwweDAyLDB4YzIsCi0weDhlLDB4ODUsMHg3OCwweDhkLDB4ODUsMHg3OSwweDhiLDB4ZDIsMHg4ZSwweDc4LDB4MTksMHg3OSwweDA5LDB4N2EsMHgwNywweGU3LAotMHg3MCwweDA0LDB4YTYsMHgwMCwweDgwLDB4MGIsMHhlNiwweDYwLDB4MDgsMHgxNiwweGU2LDB4NzAsMHgwNCwweGU3LDB4NDQsMHg4MCwKLTB4ZjcsMHgwOCwweDA5LDB4ZGEsMHhlYSwweGU1LDB4NzMsMHg2MCwweDEzLDB4MTQsMHhmNSwweDczLDB4NzAsMHgwZSwweGU1LDB4NzIsCi0weDI0LDB4MDgsMHhmOCwweDc2LDB4MDAsMHgxMiwweDMxLDB4OTMsMHhkMiwweDhjLDB4ZDIsMHg4ZCwweGQwLDB4MDIsMHhkMCwweDAxLAotMHhkMCwweDAwLDB4ZDAsMHhkMCwweGQwLDB4ZTAsMHgzMiwweDc1LDB4ODEsMHhhNywweDc1LDB4OTAsMHgwMCwweDc1LDB4NzksMHgzMCwKLTB4NzUsMHg3OCwweGY4LDB4NzUsMHg3NywweDYwLDB4NzUsMHg3NiwweGYwLDB4MTIsMHgwNSwweDNjLDB4MTIsMHgzNCwweDBmLDB4MTIsCi0weDE3LDB4OGIsMHgxMiwweDM0LDB4MzksMHgxMiwweDMxLDB4ZjUsMHg4MCwweGUzLDB4MjIsMHhjMCwweDAwLDB4N2MsMHgwMSwweGVjLAotMHgyNCwweDA4LDB4ZjgsMHhlNiwweDYwLDB4MDksMHgwYywweGJjLDB4MDgsMHhmNSwweDEyLDB4MzEsMHhlNywweDgwLDB4ZWUsMHhkMCwKLTB4MDAsMHgyMiwweGMwLDB4ZjAsMHhjMCwweDgyLDB4YzAsMHg4MywweGMwLDB4MDAsMHhjMCwweDA2LDB4YzAsMHgwNywweGVkLDB4MjQsCi0weDEwLDB4ZjgsMHg3NiwweGI2LDB4ZWQsMHg3NSwweGYwLDB4MjEsMHhhNCwweDI0LDB4OTUsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZkLAotMHhmNSwweDgzLDB4YzAsMHg4MiwweGMwLDB4ODMsMHhhMywweGEzLDB4ZTQsMHg3OCwweDBkLDB4ZjAsMHhhMywweGQ4LDB4ZmMsMHhlYywKLTB4NTQsMHg3ZiwweDc1LDB4ZjAsMHgwMiwweGE0LDB4MjQsMHg4MiwweGY1LDB4ODIsMHhlNSwweGYwLDB4MzQsMHgzNCwweGY1LDB4ODMsCi0weGU0LDB4OTMsMHhmZSwweDc0LDB4MDEsMHg5MywweGY1LDB4ODIsMHg4ZSwweDgzLDB4ZTQsMHg5MywweGZlLDB4NzQsMHgwMSwweDkzLAotMHhmZiwweGQwLDB4ODMsMHhkMCwweDgyLDB4ZWYsMHhmMCwweGEzLDB4ZWUsMHhmMCwweGVkLDB4MjQsMHgwOCwweGY4LDB4ZWMsMHg0NCwKLTB4ODAsMHhmNiwweGQwLDB4MDcsMHhkMCwweDA2LDB4ZDAsMHgwMCwweGQwLDB4ODMsMHhkMCwweDgyLDB4ZDAsMHhmMCwweDIyLDB4NzUsCi0weDcyLDB4MDAsMHg3NSwweDc1LDB4MDAsMHg3YSwweDA4LDB4NzksMHgxOCwweDc4LDB4MDgsMHg3NiwweDAwLDB4NzcsMHgwMCwweDA4LAotMHgwOSwweGRhLDB4ZjgsMHhlNCwweDc4LDB4MDgsMHg3NCwweDgwLDB4NDQsMHg3ZiwweGY2LDB4NzQsMHgwMSwweDQ0LDB4MTAsMHhmNSwKLTB4ODksMHg3NSwweGI4LDB4MDgsMHhkMiwweGFiLDB4ZDIsMHhhOSwweDIyLDB4NzUsMHg4MSwweGE3LDB4ZDIsMHg4ZSwweGQyLDB4OGMsCi0weGQyLDB4YWYsMHhlNSwweDc1LDB4NjAsMHgzMiwweGZmLDB4OTAsMHhmZSwweDlkLDB4ZTAsMHg1NCwweDgwLDB4NjAsMHgyNCwweDc4LAotMHgwOCwweDc5LDB4MDgsMHhlMCwweDU0LDB4N2YsMHhmYSwweDdiLDB4MDAsMHhlNiwweDU0LDB4N2YsMHhiNSwweDAyLDB4MDIsMHg3YiwKLTB4ZmYsMHgwOCwweGQ5LDB4ZjUsMHhlYiwweDcwLDB4MGMsMHhlYSwweGYwLDB4MTIsMHgzMywweDhiLDB4YWQsMHgwNCwweGFjLDB4MDIsCi0weDEyLDB4MzMsMHhhMiwweGEzLDB4YTMsMHhhMywweGRmLDB4ZDIsMHgxMiwweDMxLDB4ZTcsMHg4MCwweGM1LDB4N2MsMHgwMSwweDdkLAotMHgwMCwweDIyLDB4MDQsMHhmNSwweDA0LDB4ZTksMHgwNCwweGVkLDB4MDQsMHhlMSwweDA0LDB4ZGQsMHgwNCwweGQ5LDB4MDQsMHhlNSwKLTB4MDQsMHhmMSwweDA0LDB4OWQsMHgwNCwweGExLDB4MDQsMHhjZCwweDA0LDB4ZDEsMHgwNCwweDk5LDB4MDQsMHg5OSwweDA0LDB4OTksCi0weDA0LDB4ZDUsMHgwNCwweGI1LDB4MDQsMHhhZCwweDA0LDB4YjEsMHgwNCwweGE5LDB4MDQsMHhjMSwweDA0LDB4YmQsMHgwNCwweGI5LAotMHgwNCwweGM1LDB4MDQsMHhjOSwweDA0LDB4YTUsMHgxOSwweDAxLDB4MDMsMHgwMCwweDIyLDB4MDAsMHg0OCwweDAyLDB4MDAsMHgyNCwKLTB4MGYsMHgxOCwweDBhLDB4MTAsMHg2NCwweDBkLDB4NjgsMHgwYywweDA1LDB4MDYsMHgwMiwweDAzLDB4MDEsMHgwMSwweDgxLDB4MDEsCi0weDAwLDB4MDAsMHhlNywweDAwLDB4YzAsMHgwMCwweDgwLDB4MDAsMHg2MCwweDAwLDB4NDAsMHgwMCwweDMwLDB4MDAsMHgxOCwweDAwLAotMHgwYywweDAwLDB4MDgsMHgwMCwweDA0LDB4MDAsMHgwMiwweDAwLDB4MDEsMHgwMCwweDA4LDB4MTgsMHgzOCwweDI4LDB4MDYsMHgwMiwKLTB4MTAsMHgwYSwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4ODEsMHgxMCwweDBhLDB4MDIsMHgwMCwweDAwLDB4MDAsCi0weDAwLDB4MDAsMHhmYiwweGU4LDB4ZmIsMHhmYSwweDEyLDB4MDEsMHgxMCwweDAxLDB4ZmYsMHgwMCwweDAwLDB4MDgsMHg1MSwweDA0LAotMHg1ZiwweDUwLDB4MTYsMHgwMSwweDAxLDB4MDIsMHgwMCwweDAyLDB4MDksMHgwMiwweDM1LDB4MDAsMHgwMSwweDAyLDB4MDAsMHhlMCwKLTB4MDAsMHgwOSwweDA0LDB4MDAsMHgwMCwweDA1LDB4ZmYsMHgwMCwweDAwLDB4MDAsMHgwNywweDA1LDB4ODEsMHgwMiwweDQwLDB4MDAsCi0weDAwLDB4MDcsMHgwNSwweDAxLDB4MDIsMHg0MCwweDAwLDB4MDAsMHgwNywweDA1LDB4ODIsMHgwMiwweDQwLDB4MDAsMHgwMCwweDA3LAotMHgwNSwweDAyLDB4MDIsMHg0MCwweDAwLDB4MDAsMHgwNywweDA1LDB4ODUsMHgwMywweDAyLDB4MDAsMHgwMSwweDA0LDB4MDMsMHgwOSwKLTB4MDQsMHgyNCwweDAzLDB4NTQsMHgwMCwweDY1LDB4MDAsMHg3OCwweDAwLDB4NjEsMHgwMCwweDczLDB4MDAsMHgyMCwweDAwLDB4NDksCi0weDAwLDB4NmUsMHgwMCwweDczLDB4MDAsMHg3NCwweDAwLDB4NzIsMHgwMCwweDc1LDB4MDAsMHg2ZCwweDAwLDB4NjUsMHgwMCwweDZlLAotMHgwMCwweDc0LDB4MDAsMHg3MywweDAwLDB4MmEsMHgwMywweDU0LDB4MDAsMHg1NSwweDAwLDB4NTMsMHgwMCwweDQyLDB4MDAsMHgzNSwKLTB4MDAsMHgzMCwweDAwLDB4MzUsMHgwMCwweDMyLDB4MDAsMHgyMCwweDAwLDB4NTMsMHgwMCwweDY1LDB4MDAsMHg3MiwweDAwLDB4NjksCi0weDAwLDB4NjEsMHgwMCwweDZjLDB4MDAsMHgyMCwweDAwLDB4NTAsMHgwMCwweDZmLDB4MDAsMHg3MiwweDAwLDB4NzQsMHgwMCwweDIyLAotMHgwMywweDU0LDB4MDAsMHg1NSwweDAwLDB4NTMsMHgwMCwweDQyLDB4MDAsMHgzNSwweDAwLDB4MzAsMHgwMCwweDM1LDB4MDAsMHgzMiwKLTB4MDAsMHgyMCwweDAwLDB4MjAsMHgwMCwweDIwLDB4MDAsMHgyMCwweDAwLDB4MjAsMHgwMCwweDIwLDB4MDAsMHgyMCwweDAwLDB4MjAsCi0weDAwLAotfTsKLQotI2VuZGlmIC8qIGlmbmRlZiBfVElfRldfNTA1Ml9IXyAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2Ivc2VyaWFsL3RpX3VzYl8zNDEwXzUwNTIuYyBiL2RyaXZlcnMvdXNiL3NlcmlhbC90aV91c2JfMzQxMF81MDUyLmMKaW5kZXggYTFjOGFlZi4uYTI2YTYyOSAxMDA2NDQKLS0tIGEvZHJpdmVycy91c2Ivc2VyaWFsL3RpX3VzYl8zNDEwXzUwNTIuYworKysgYi9kcml2ZXJzL3VzYi9zZXJpYWwvdGlfdXNiXzM0MTBfNTA1Mi5jCkBAIC04NCwxMSArODQsOSBAQAogI2luY2x1ZGUgPGFzbS91YWNjZXNzLmg+CiAjaW5jbHVkZSA8bGludXgvdXNiLmg+CiAjaW5jbHVkZSA8bGludXgvdXNiL3NlcmlhbC5oPgorI2luY2x1ZGUgPGxpbnV4L2Zpcm13YXJlLmg+CiAKICNpbmNsdWRlICJ0aV91c2JfMzQxMF81MDUyLmgiCi0jaW5jbHVkZSAidGlfZndfMzQxMC5oIgkJLyogZmlybXdhcmUgaW1hZ2UgZm9yIDM0MTAgKi8KLSNpbmNsdWRlICJ0aV9md181MDUyLmgiCQkvKiBmaXJtd2FyZSBpbWFnZSBmb3IgNTA1MiAqLwotCiAKIC8qIERlZmluZXMgKi8KIApAQCAtMTk0LDggKzE5Miw4IEBACiBzdGF0aWMgaW50IHRpX3dyaXRlX2J5dGUoc3RydWN0IHRpX2RldmljZSAqdGRldiwgdW5zaWduZWQgbG9uZyBhZGRyLAogCV9fdTggbWFzaywgX191OCBieXRlKTsKIAotc3RhdGljIGludCB0aV9kb3dubG9hZF9maXJtd2FyZShzdHJ1Y3QgdGlfZGV2aWNlICp0ZGV2LAotCXVuc2lnbmVkIGNoYXIgKmZpcm13YXJlLCB1bnNpZ25lZCBpbnQgZmlybXdhcmVfc2l6ZSk7CitzdGF0aWMgaW50IHRpX2Rvd25sb2FkX2Zpcm13YXJlKHN0cnVjdCB0aV9kZXZpY2UgKnRkZXYsIGNoYXIgKmZ3X25hbWUpOworCiAKIC8qIGNpcmN1bGFyIGJ1ZmZlciAqLwogc3RhdGljIHN0cnVjdCBjaXJjX2J1ZiAqdGlfYnVmX2FsbG9jKHZvaWQpOwpAQCAtMzIwLDYgKzMxOCw5IEBACiBNT0RVTEVfVkVSU0lPTihUSV9EUklWRVJfVkVSU0lPTik7CiBNT0RVTEVfTElDRU5TRSgiR1BMIik7CiAKK01PRFVMRV9GSVJNV0FSRSgidGlfMzQxMC5mdyIpOworTU9EVUxFX0ZJUk1XQVJFKCJ0aV81MDUyLmZ3Iik7CisKIG1vZHVsZV9wYXJhbShkZWJ1ZywgYm9vbCwgU19JUlVHTyB8IFNfSVdVU1IpOwogTU9EVUxFX1BBUk1fREVTQyhkZWJ1ZywgIkVuYWJsZSBkZWJ1Z2dpbmcsIDA9bm8sIDE9eWVzIik7CiAKQEAgLTQzMSwxMSArNDMyLDkgQEAKIAlpZiAoZGV2LT5kZXNjcmlwdG9yLmJOdW1Db25maWd1cmF0aW9ucyA9PSAxKSB7CiAKIAkJaWYgKHRkZXYtPnRkX2lzXzM0MTApCi0JCQlzdGF0dXMgPSB0aV9kb3dubG9hZF9maXJtd2FyZSh0ZGV2LCB0aV9md18zNDEwLAotCQkJCXNpemVvZih0aV9md18zNDEwKSk7CisJCQlzdGF0dXMgPSB0aV9kb3dubG9hZF9maXJtd2FyZSh0ZGV2LCAidGlfMzQxMC5mdyIpOwogCQllbHNlCi0JCQlzdGF0dXMgPSB0aV9kb3dubG9hZF9maXJtd2FyZSh0ZGV2LCB0aV9md181MDUyLAotCQkJCXNpemVvZih0aV9md181MDUyKSk7CisJCQlzdGF0dXMgPSB0aV9kb3dubG9hZF9maXJtd2FyZSh0ZGV2LCAidGlfNTA1Mi5mdyIpOwogCQlpZiAoc3RhdHVzKQogCQkJZ290byBmcmVlX3RkZXY7CiAKQEAgLTE2NTgsOCArMTY1Nyw5IEBACiAKIAogc3RhdGljIGludCB0aV9kb3dubG9hZF9maXJtd2FyZShzdHJ1Y3QgdGlfZGV2aWNlICp0ZGV2LAotCXVuc2lnbmVkIGNoYXIgKmZpcm13YXJlLCB1bnNpZ25lZCBpbnQgZmlybXdhcmVfc2l6ZSkKKwkJCQljaGFyICpmd19uYW1lKQogeworCWNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqZnc7CiAJaW50IHN0YXR1cyA9IDA7CiAJaW50IGJ1ZmZlcl9zaXplOwogCWludCBwb3M7CkBAIC0xNjcyLDE2ICsxNjcyLDI5IEBACiAJdW5zaWduZWQgaW50IHBpcGUgPSB1c2Jfc25kYnVsa3BpcGUoZGV2LAogCQl0ZGV2LT50ZF9zZXJpYWwtPnBvcnRbMF0tPmJ1bGtfb3V0X2VuZHBvaW50QWRkcmVzcyk7CiAKLQogCWJ1ZmZlcl9zaXplID0gVElfRklSTVdBUkVfQlVGX1NJWkUgKyBzaXplb2Yoc3RydWN0IHRpX2Zpcm13YXJlX2hlYWRlcik7CisKKwlpZiAocmVxdWVzdF9maXJtd2FyZSgmZncsIGZ3X25hbWUsICZkZXYtPmRldikpIHsKKwkJZGV2X2VycigmZGV2LT5kZXYsICIlcyAtIGZhaWxlZCB0byBsb2FkIGZpcm13YXJlIFwiJXNcIlxuIiwKKwkJCV9fZnVuY19fLCBmd19uYW1lKTsKKwkJcmV0dXJuIC1FTk9FTlQ7CisJfQorCWlmIChmdy0+c2l6ZSA+IGJ1ZmZlcl9zaXplKSB7CisJCWRldl9lcnIoJmRldi0+ZGV2LCAiJXMgLSBmaXJtd2FyZSBcIiVzXCIgaXMgdG9vIGxhcmdlXG4iLAorCQkJX19mdW5jX18sIGZ3X25hbWUpOworCQlyZWxlYXNlX2Zpcm13YXJlKGZ3KTsKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCiAJYnVmZmVyID0ga21hbGxvYyhidWZmZXJfc2l6ZSwgR0ZQX0tFUk5FTCk7CiAJaWYgKCFidWZmZXIpIHsKIAkJZGV2X2VycigmZGV2LT5kZXYsICIlcyAtIG91dCBvZiBtZW1vcnlcbiIsIF9fZnVuY19fKTsKKwkJcmVsZWFzZV9maXJtd2FyZShmdyk7CiAJCXJldHVybiAtRU5PTUVNOwogCX0KIAotCW1lbWNweShidWZmZXIsIGZpcm13YXJlLCBmaXJtd2FyZV9zaXplKTsKLQltZW1zZXQoYnVmZmVyK2Zpcm13YXJlX3NpemUsIDB4ZmYsIGJ1ZmZlcl9zaXplLWZpcm13YXJlX3NpemUpOworCW1lbWNweShidWZmZXIsIGZ3LT5kYXRhLCBmdy0+c2l6ZSk7CisJbWVtc2V0KGJ1ZmZlcitmdy0+c2l6ZSwgMHhmZiwgYnVmZmVyX3NpemUtZnctPnNpemUpOwogCiAJZm9yKHBvcyA9IHNpemVvZihzdHJ1Y3QgdGlfZmlybXdhcmVfaGVhZGVyKTsgcG9zIDwgYnVmZmVyX3NpemU7IHBvcysrKQogCQljcyA9IChfX3U4KShjcyArIGJ1ZmZlcltwb3NdKTsKQEAgLTE2OTksNiArMTcxMiw3IEBACiAJfQogCiAJa2ZyZWUoYnVmZmVyKTsKKwlyZWxlYXNlX2Zpcm13YXJlKGZ3KTsKIAogCWlmIChzdGF0dXMpIHsKIAkJZGV2X2VycigmZGV2LT5kZXYsICIlcyAtIGVycm9yIGRvd25sb2FkaW5nIGZpcm13YXJlLCAlZFxuIiwgX19mdW5jX18sIHN0YXR1cyk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9zZXJpYWwvd2hpdGVoZWF0LmMgYi9kcml2ZXJzL3VzYi9zZXJpYWwvd2hpdGVoZWF0LmMKaW5kZXggZjA3ZThhNC4uNjY1YWE3NyAxMDA2NDQKLS0tIGEvZHJpdmVycy91c2Ivc2VyaWFsL3doaXRlaGVhdC5jCisrKyBiL2RyaXZlcnMvdXNiL3NlcmlhbC93aGl0ZWhlYXQuYwpAQCAtODEsNyArODEsOCBAQAogI2luY2x1ZGUgPGxpbnV4L3NlcmlhbF9yZWcuaD4KICNpbmNsdWRlIDxsaW51eC9zZXJpYWwuaD4KICNpbmNsdWRlIDxsaW51eC91c2Ivc2VyaWFsLmg+Ci0jaW5jbHVkZSAid2hpdGVoZWF0X2Z3LmgiCQkvKiBmaXJtd2FyZSBmb3IgdGhlIENvbm5lY3RUZWNoIFdoaXRlSEVBVCBkZXZpY2UgKi8KKyNpbmNsdWRlIDxsaW51eC9maXJtd2FyZS5oPgorI2luY2x1ZGUgPGxpbnV4L2loZXguaD4KICNpbmNsdWRlICJ3aGl0ZWhlYXQuaCIJCQkvKiBXaGl0ZUhFQVQgc3BlY2lmaWMgY29tbWFuZHMgKi8KIAogc3RhdGljIGludCBkZWJ1ZzsKQEAgLTI3OSwzNyArMjgwLDUyIEBACiAqLwogc3RhdGljIGludCB3aGl0ZWhlYXRfZmlybXdhcmVfZG93bmxvYWQgKHN0cnVjdCB1c2Jfc2VyaWFsICpzZXJpYWwsIGNvbnN0IHN0cnVjdCB1c2JfZGV2aWNlX2lkICppZCkKIHsKLQlpbnQgcmVzcG9uc2U7Ci0JY29uc3Qgc3RydWN0IHdoaXRlaGVhdF9oZXhfcmVjb3JkICpyZWNvcmQ7Ci0JCisJaW50IHJlc3BvbnNlLCByZXQgPSAtRU5PRU5UOworCWNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqbG9hZGVyX2Z3ID0gTlVMTCwgKmZpcm13YXJlX2Z3ID0gTlVMTDsKKwljb25zdCBzdHJ1Y3QgaWhleF9iaW5yZWMgKnJlY29yZDsKKwogCWRiZygiJXMiLCBfX2Z1bmNfXyk7Ci0JCisKKwlpZiAocmVxdWVzdF9paGV4X2Zpcm13YXJlKCZmaXJtd2FyZV9mdywgIndoaXRlaGVhdC5mdyIsCisJCQkJICAmc2VyaWFsLT5kZXYtPmRldikpIHsKKwkJZXJyKCIlcyAtIHJlcXVlc3QgXCJ3aGl0ZWhlYXQuZndcIiBmYWlsZWQiLCBfX2Z1bmNfXyk7CisJCWdvdG8gb3V0OworCX0KKwlpZiAocmVxdWVzdF9paGV4X2Zpcm13YXJlKCZsb2FkZXJfZncsICJ3aGl0ZWhlYXRfbG9hZGVyLmZ3IiwKKwkJCSAgICAgJnNlcmlhbC0+ZGV2LT5kZXYpKSB7CisJCWVycigiJXMgLSByZXF1ZXN0IFwid2hpdGVoZWF0X2xvYWRlci5md1wiIGZhaWxlZCIsIF9fZnVuY19fKTsKKwkJZ290byBvdXQ7CisJfQorCXJldCA9IDA7CiAJcmVzcG9uc2UgPSBlenVzYl9zZXRfcmVzZXQgKHNlcmlhbCwgMSk7CiAKLQlyZWNvcmQgPSAmd2hpdGVoZWF0X2xvYWRlclswXTsKLQl3aGlsZSAocmVjb3JkLT5hZGRyZXNzICE9IDB4ZmZmZikgewotCQlyZXNwb25zZSA9IGV6dXNiX3dyaXRlbWVtb3J5IChzZXJpYWwsIHJlY29yZC0+YWRkcmVzcywgCi0JCQkJKHVuc2lnbmVkIGNoYXIgKilyZWNvcmQtPmRhdGEsIHJlY29yZC0+ZGF0YV9zaXplLCAweGEwKTsKKwlyZWNvcmQgPSAoY29uc3Qgc3RydWN0IGloZXhfYmlucmVjICopbG9hZGVyX2Z3LT5kYXRhOworCXdoaWxlIChyZWNvcmQpIHsKKwkJcmVzcG9uc2UgPSBlenVzYl93cml0ZW1lbW9yeSAoc2VyaWFsLCBiZTMyX3RvX2NwdShyZWNvcmQtPmFkZHIpLAorCQkJCQkgICAgICAodW5zaWduZWQgY2hhciAqKXJlY29yZC0+ZGF0YSwKKwkJCQkJICAgICAgYmUxNl90b19jcHUocmVjb3JkLT5sZW4pLCAweGEwKTsKIAkJaWYgKHJlc3BvbnNlIDwgMCkgewogCQkJZXJyKCIlcyAtIGV6dXNiX3dyaXRlbWVtb3J5IGZhaWxlZCBmb3IgbG9hZGVyICglZCAlMDRYICVwICVkKSIsCi0JCQkJX19mdW5jX18sIHJlc3BvbnNlLCByZWNvcmQtPmFkZHJlc3MsIHJlY29yZC0+ZGF0YSwgcmVjb3JkLT5kYXRhX3NpemUpOworCQkJICAgIF9fZnVuY19fLCByZXNwb25zZSwgYmUzMl90b19jcHUocmVjb3JkLT5hZGRyKSwKKwkJCSAgICByZWNvcmQtPmRhdGEsIGJlMTZfdG9fY3B1KHJlY29yZC0+bGVuKSk7CiAJCQlicmVhazsKIAkJfQotCQkrK3JlY29yZDsKKwkJcmVjb3JkID0gaWhleF9uZXh0X2JpbnJlYyhyZWNvcmQpOwogCX0KIAogCXJlc3BvbnNlID0gZXp1c2Jfc2V0X3Jlc2V0IChzZXJpYWwsIDApOwogCi0JcmVjb3JkID0gJndoaXRlaGVhdF9maXJtd2FyZVswXTsKLQl3aGlsZSAocmVjb3JkLT5hZGRyZXNzIDwgMHgxYjQwKSB7Ci0JCSsrcmVjb3JkOwotCX0KLQl3aGlsZSAocmVjb3JkLT5hZGRyZXNzICE9IDB4ZmZmZikgewotCQlyZXNwb25zZSA9IGV6dXNiX3dyaXRlbWVtb3J5IChzZXJpYWwsIHJlY29yZC0+YWRkcmVzcywgCi0JCQkJKHVuc2lnbmVkIGNoYXIgKilyZWNvcmQtPmRhdGEsIHJlY29yZC0+ZGF0YV9zaXplLCAweGEzKTsKKwlyZWNvcmQgPSAoY29uc3Qgc3RydWN0IGloZXhfYmlucmVjICopZmlybXdhcmVfZnctPmRhdGE7CisJd2hpbGUgKHJlY29yZCAmJiBiZTMyX3RvX2NwdShyZWNvcmQtPmFkZHIpIDwgMHgxYjQwKQorCQlyZWNvcmQgPSBpaGV4X25leHRfYmlucmVjKHJlY29yZCk7CisJd2hpbGUgKHJlY29yZCkgeworCQlyZXNwb25zZSA9IGV6dXNiX3dyaXRlbWVtb3J5IChzZXJpYWwsIGJlMzJfdG9fY3B1KHJlY29yZC0+YWRkciksCisJCQkJCSAgICAgICh1bnNpZ25lZCBjaGFyICopcmVjb3JkLT5kYXRhLAorCQkJCQkgICAgICBiZTE2X3RvX2NwdShyZWNvcmQtPmxlbiksIDB4YTMpOwogCQlpZiAocmVzcG9uc2UgPCAwKSB7CiAJCQllcnIoIiVzIC0gZXp1c2Jfd3JpdGVtZW1vcnkgZmFpbGVkIGZvciBmaXJzdCBmaXJtd2FyZSBzdGVwICglZCAlMDRYICVwICVkKSIsIAotCQkJCV9fZnVuY19fLCByZXNwb25zZSwgcmVjb3JkLT5hZGRyZXNzLCByZWNvcmQtPmRhdGEsIHJlY29yZC0+ZGF0YV9zaXplKTsKKwkJCSAgICBfX2Z1bmNfXywgcmVzcG9uc2UsIGJlMzJfdG9fY3B1KHJlY29yZC0+YWRkciksCisJCQkgICAgcmVjb3JkLT5kYXRhLCBiZTE2X3RvX2NwdShyZWNvcmQtPmxlbikpOwogCQkJYnJlYWs7CiAJCX0KIAkJKytyZWNvcmQ7CkBAIC0zMTcsMjEgKzMzMywyNSBAQAogCQogCXJlc3BvbnNlID0gZXp1c2Jfc2V0X3Jlc2V0IChzZXJpYWwsIDEpOwogCi0JcmVjb3JkID0gJndoaXRlaGVhdF9maXJtd2FyZVswXTsKLQl3aGlsZSAocmVjb3JkLT5hZGRyZXNzIDwgMHgxYjQwKSB7Ci0JCXJlc3BvbnNlID0gZXp1c2Jfd3JpdGVtZW1vcnkgKHNlcmlhbCwgcmVjb3JkLT5hZGRyZXNzLCAKLQkJCQkodW5zaWduZWQgY2hhciAqKXJlY29yZC0+ZGF0YSwgcmVjb3JkLT5kYXRhX3NpemUsIDB4YTApOworCXJlY29yZCA9IChjb25zdCBzdHJ1Y3QgaWhleF9iaW5yZWMgKilmaXJtd2FyZV9mdy0+ZGF0YTsKKwl3aGlsZSAocmVjb3JkICYmIGJlMzJfdG9fY3B1KHJlY29yZC0+YWRkcikgPCAweDFiNDApIHsKKwkJcmVzcG9uc2UgPSBlenVzYl93cml0ZW1lbW9yeSAoc2VyaWFsLCBiZTMyX3RvX2NwdShyZWNvcmQtPmFkZHIpLAorCQkJCQkgICAgICAodW5zaWduZWQgY2hhciAqKXJlY29yZC0+ZGF0YSwKKwkJCQkJICAgICAgYmUxNl90b19jcHUocmVjb3JkLT5sZW4pLCAweGEwKTsKIAkJaWYgKHJlc3BvbnNlIDwgMCkgewogCQkJZXJyKCIlcyAtIGV6dXNiX3dyaXRlbWVtb3J5IGZhaWxlZCBmb3Igc2Vjb25kIGZpcm13YXJlIHN0ZXAgKCVkICUwNFggJXAgJWQpIiwgCi0JCQkJX19mdW5jX18sIHJlc3BvbnNlLCByZWNvcmQtPmFkZHJlc3MsIHJlY29yZC0+ZGF0YSwgcmVjb3JkLT5kYXRhX3NpemUpOworCQkJICAgIF9fZnVuY19fLCByZXNwb25zZSwgYmUzMl90b19jcHUocmVjb3JkLT5hZGRyKSwKKwkJCSAgICByZWNvcmQtPmRhdGEsIGJlMTZfdG9fY3B1KHJlY29yZC0+bGVuKSk7CiAJCQlicmVhazsKIAkJfQogCQkrK3JlY29yZDsKIAl9Ci0KKwlyZXQgPSAwOwogCXJlc3BvbnNlID0gZXp1c2Jfc2V0X3Jlc2V0IChzZXJpYWwsIDApOwotCi0JcmV0dXJuIDA7Cisgb3V0OgorCXJlbGVhc2VfZmlybXdhcmUobG9hZGVyX2Z3KTsKKwlyZWxlYXNlX2Zpcm13YXJlKGZpcm13YXJlX2Z3KTsKKwlyZXR1cm4gcmV0OwogfQogCiAKQEAgLTE1MDMsNiArMTUyMyw5IEBACiBNT0RVTEVfREVTQ1JJUFRJT04oIERSSVZFUl9ERVNDICk7CiBNT0RVTEVfTElDRU5TRSgiR1BMIik7CiAKK01PRFVMRV9GSVJNV0FSRSgid2hpdGVoZWF0LmZ3Iik7CitNT0RVTEVfRklSTVdBUkUoIndoaXRlaGVhdF9sb2FkZXIuZnciKTsKKwogbW9kdWxlX3BhcmFtKHVyYl9wb29sX3NpemUsIGludCwgMCk7CiBNT0RVTEVfUEFSTV9ERVNDKHVyYl9wb29sX3NpemUsICJOdW1iZXIgb2YgdXJicyB0byB1c2UgZm9yIGJ1ZmZlcmluZyIpOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9zZXJpYWwvd2hpdGVoZWF0X2Z3LmggYi9kcml2ZXJzL3VzYi9zZXJpYWwvd2hpdGVoZWF0X2Z3LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhlMGJkYzcuLjAwMDAwMDAKLS0tIGEvZHJpdmVycy91c2Ivc2VyaWFsL3doaXRlaGVhdF9mdy5oCisrKyAvZGV2L251bGwKQEAgLTEsMTY2OSArMCwwIEBACi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqCi0gKiAgICAgIHdoaXRlaGVhdC5oICAtLSAgQ29ubmVjdFRlY2ggV2hpdGVIRUFUIEZpcm13YXJlLgotICoKLSAqICAgICAgQ29weXJpZ2h0IChDKSAyMDAwLTIwMDIgIENvbm5lY3RUZWNoIEluYyAoaHR0cDovL3d3dy5jb25uZWN0dGVjaC5jb20vKQotICoKLSAqICAgICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKLSAqICAgICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLSAqICAgICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKLSAqICAgICAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiAgICAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICogICAgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICogICAgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCi0gKiAgICAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gKgotICogICAgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICogICAgICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQotICogICAgICBGb3VuZGF0aW9uLCBJbmMuLCA2NzUgTWFzcyBBdmUsIENhbWJyaWRnZSwgTUEgMDIxMzksIFVTQS4KLSAqCi0gKiAoMTAvMDkvMjAwMikgU3R1YXJ0IE1hY0RvbmFsZAotICoJRmlybXdhcmUgNC4wNgotICoKLSAqICgwNC8wOS8yMDAwKSBna2gKLSAqCVVwZGF0ZWQgdGhlIGZpcm13YXJlIHdpdGggdGhlIGxhdGVzdCBwcm92aWRlZCBieSBDb25uZWN0VGVjaC4KLSAqCi0gKiAoMDEvMTYvMjAwMCkgZ2toCi0gKglGaXhlZCBteSBpbnRlbCBoZXggcHJvY2Vzc2luZyB0b29sLCBzbyBub3cgdGhlIGZpcm13YXJlIGFjdHVhbGx5Ci0gKgltYXRjaGVzIHRoZSBvcmlnaW5hbCBmaWxlICh0aGlzIHdhcyBjYXVzaW5nIGEgZmV3IHByb2JsZW1zLi4uKQotICoKLSAqICgwMS8xNS8yMDAwKSBna2gKLSAqCUFkZGVkIGRlYnVnIGxvYWRlciBmaXJtd2FyZSBpZiBERUJVRyBpcyAjZGVmaW5lZDoKLSAqCQlQb3J0IDEgTEVEIGZsYXNoZXMgd2hlbiB0aGUgdmVuZF9heCBwcm9ncmFtIGlzIHJ1bm5pbmcKLSAqCQlQb3J0IDIgTEVEIGZsYXNoZXMgd2hlbiBhbnkgU0VUVVAgY29tbWFuZCBhcnJpdmVzCi0gKgkJUG9ydCAzIExFRCBmbGFzaGVzIHdoZW4gYW55IHZhbGlkIFZFTkRPUiByZXF1ZXN0IG9jY3VycwotICoJCVBvcnQgNCBMRUQgZmxhc2hlcyB3aGVuIHRoZSBFWFRFUk5BTCBSQU0gRE9XTkxPQUQgcmVxdWVzdCBvY2N1cnMKLSAqCi0gKiB2ZXJzaW9uIDEuMCAoMDEvMDkvMjAwMCkgZ2toCi0gKglPcmlnaW5hbCBmaXJtd2FyZSBmcm9tIENvbm5lY3RUZWNoIG1hc3NhZ2VkIGEgbGl0dGxlIHRvIGJlIHByb2dyYW0KLSAqCXJlYWRhYmxlLgotICoKLSAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLQotI2RlZmluZSB3aGl0ZWhlYXRfREFURSAiMjAwMDAxMDYiCi0KLXN0cnVjdCB3aGl0ZWhlYXRfaGV4X3JlY29yZCB7Ci0JX191MTYJYWRkcmVzczsKLQlfX3U4CWRhdGFfc2l6ZTsKLQlfX3U4CWRhdGFbMTZdOwotfTsKLQotc3RhdGljIGNvbnN0IHN0cnVjdCB3aGl0ZWhlYXRfaGV4X3JlY29yZCB3aGl0ZWhlYXRfZmlybXdhcmVbXSA9IHsKLXsgMHgwMDAwLAkzLAl7MHgwMiwgMHg5NywgMHhlM30gfSwKLXsgMHgwMDAzLAkzLAl7MHgwMiwgMHgxMywgMHgxMn0gfSwKLXsgMHgwMDBiLAkzLAl7MHgwMiwgMHgwYiwgMHhiNX0gfSwKLXsgMHgwMDMzLAkzLAl7MHgwMiwgMHgwOCwgMHgxY30gfSwKLXsgMHgwMDQzLAkzLAl7MHgwMiwgMHgwYSwgMHgwMH0gfSwKLXsgMHgwMDViLAkzLAl7MHgwMiwgMHg4MywgMHgzYn0gfSwKLXsgMHgwMzcwLAkxNiwJezB4OTAsIDB4N2YsIDB4ZTksIDB4ZTAsIDB4NzAsIDB4MDMsIDB4MDIsIDB4MDQsIDB4NzMsIDB4MTQsIDB4NzAsIDB4MDMsIDB4MDIsIDB4MDQsIDB4ZTcsIDB4MjR9IH0sCi17IDB4MDM4MCwJMTYsCXsweGZlLCAweDcwLCAweDAzLCAweDAyLCAweDA1LCAweDRmLCAweDI0LCAweGZiLCAweDcwLCAweDAzLCAweDAyLCAweDA0LCAweDY0LCAweDE0LCAweDcwLCAweDAzfSB9LAoteyAweDAzOTAsCTE2LAl7MHgwMiwgMHgwNCwgMHg1MiwgMHgxNCwgMHg3MCwgMHgwMywgMHgwMiwgMHgwNCwgMHgzYSwgMHgxNCwgMHg3MCwgMHgwMywgMHgwMiwgMHgwNCwgMHg0OSwgMHgyNH0gfSwKLXsgMHgwM2EwLAkxNiwJezB4MDUsIDB4NjAsIDB4MDMsIDB4MDIsIDB4MDUsIDB4OWUsIDB4OTAsIDB4N2YsIDB4ZWIsIDB4ZTAsIDB4MjQsIDB4ZmUsIDB4NjAsIDB4MTYsIDB4MTQsIDB4NjB9IH0sCi17IDB4MDNiMCwJMTYsCXsweDM2LCAweDI0LCAweDAyLCAweDcwLCAweDdiLCAweDc0LCAweDEyLCAweDkwLCAweDdmLCAweGQ0LCAweGYwLCAweDc0LCAweDAwLCAweDkwLCAweDdmLCAweGQ1fSB9LAoteyAweDAzYzAsCTE2LAl7MHhmMCwgMHgwMiwgMHgwNSwgMHhhNSwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHhmZiwgMHgxMiwgMHgwYSwgMHg5OSwgMHhlYSwgMHg0OSwgMHg2MCwgMHgwZH0gfSwKLXsgMHgwM2QwLAkxNiwJezB4ZWEsIDB4OTAsIDB4N2YsIDB4ZDQsIDB4ZjAsIDB4ZTksIDB4OTAsIDB4N2YsIDB4ZDUsIDB4ZjAsIDB4MDIsIDB4MDUsIDB4YTUsIDB4OTAsIDB4N2YsIDB4YjR9IH0sCi17IDB4MDNlMCwJMTYsCXsweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDAyLCAweDA1LCAweGE1LCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweGZmLCAweDEyLCAweDBhLCAweDU4LCAweGVhfSB9LAoteyAweDAzZjAsCTE2LAl7MHg0OSwgMHg2MCwgMHgzMywgMHgxMiwgMHhhMiwgMHgzYiwgMHhmNSwgMHg0ZSwgMHg5MCwgMHg3ZiwgMHhlZSwgMHhlMCwgMHhmZiwgMHhlNSwgMHg0ZSwgMHhkM30gfSwKLXsgMHgwNDAwLAkxNiwJezB4OWYsIDB4NDAsIDB4MDMsIDB4ZTAsIDB4ZjUsIDB4NGUsIDB4ZTUsIDB4NGUsIDB4ZDMsIDB4OTQsIDB4NDAsIDB4NDAsIDB4MDMsIDB4NzUsIDB4NGUsIDB4NDB9IH0sCi17IDB4MDQxMCwJMTYsCXsweGFlLCAweDAyLCAweGFmLCAweDAxLCAweDdjLCAweDdmLCAweDdkLCAweDAwLCAweGFiLCAweDRlLCAweDEyLCAweDkxLCAweDM3LCAweDkwLCAweDdmLCAweGI1fSB9LAoteyAweDA0MjAsCTE2LAl7MHhlNSwgMHg0ZSwgMHhmMCwgMHgwMiwgMHgwNSwgMHhhNSwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHgwMiwgMHgwNSwgMHhhNX0gfSwKLXsgMHgwNDMwLAkxNiwJezB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4MDIsIDB4MDUsIDB4YTUsIDB4OTAsIDB4N2YsIDB4MDAsIDB4ZTUsIDB4MjEsIDB4ZjB9IH0sCi17IDB4MDQ0MCwJMTYsCXsweDkwLCAweDdmLCAweGI1LCAweDc0LCAweDAxLCAweGYwLCAweDAyLCAweDA1LCAweGE1LCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweGY1LCAweDIxLCAweDAyfSB9LAoteyAweDA0NTAsCTE2LAl7MHgwNSwgMHhhNSwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHhmNSwgMHgzNSwgMHhkMiwgMHgwMiwgMHg0MywgMHg4OCwgMHgxMCwgMHhkMiwgMHhlYiwgMHhkMn0gfSwKLXsgMHgwNDYwLAkxNiwJezB4YTgsIDB4MDIsIDB4MDUsIDB4YTUsIDB4OTAsIDB4N2YsIDB4MDAsIDB4ZTUsIDB4MzUsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDEsIDB4ZjB9IH0sCi17IDB4MDQ3MCwJMTYsCXsweDAyLCAweDA1LCAweGE1LCAweDkwLCAweDdmLCAweGU4LCAweGUwLCAweDI0LCAweDdmLCAweDYwLCAweDI0LCAweDE0LCAweDYwLCAweDMxLCAweDI0LCAweDAyfSB9LAoteyAweDA0ODAsCTE2LAl7MHg3MCwgMHg1YiwgMHhhMiwgMHgwMCwgMHhlNCwgMHgzMywgMHhmZiwgMHgyNSwgMHhlMCwgMHhmZiwgMHhhMiwgMHgwNSwgMHhlNCwgMHgzMywgMHg0ZiwgMHg5MH0gfSwKLXsgMHgwNDkwLAkxNiwJezB4N2YsIDB4MDAsIDB4ZjAsIDB4ZTQsIDB4YTMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4MDIsIDB4MDUsIDB4YTUsIDB4ZTR9IH0sCi17IDB4MDRhMCwJMTYsCXsweDkwLCAweDdmLCAweDAwLCAweGYwLCAweGEzLCAweGYwLCAweDkwLCAweDdmLCAweGI1LCAweDc0LCAweDAyLCAweGYwLCAweDAyLCAweDA1LCAweGE1LCAweDkwfSB9LAoteyAweDA0YjAsCTE2LAl7MHg3ZiwgMHhlYywgMHhlMCwgMHhmNCwgMHg1NCwgMHg4MCwgMHhmZiwgMHhjNCwgMHg1NCwgMHgwZiwgMHhmZiwgMHhlMCwgMHg1NCwgMHgwNywgMHgyZiwgMHgyNX0gfSwKLXsgMHgwNGMwLAkxNiwJezB4ZTAsIDB4MjQsIDB4YjQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2YsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4MDEsIDB4OTAsIDB4N2YsIDB4MDB9IH0sCi17IDB4MDRkMCwJMTYsCXsweGYwLCAweGU0LCAweGEzLCAweGYwLCAweDkwLCAweDdmLCAweGI1LCAweDc0LCAweDAyLCAweGYwLCAweDAyLCAweDA1LCAweGE1LCAweDkwLCAweDdmLCAweGI0fSB9LAoteyAweDA0ZTAsCTE2LAl7MHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHgwMiwgMHgwNSwgMHhhNSwgMHg5MCwgMHg3ZiwgMHhlOCwgMHhlMCwgMHgyNCwgMHhmZSwgMHg2MCwgMHgxZCwgMHgyNH0gfSwKLXsgMHgwNGYwLAkxNiwJezB4MDIsIDB4NjAsIDB4MDMsIDB4MDIsIDB4MDUsIDB4YTUsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4YjQsIDB4MDEsIDB4MDUsIDB4YzIsIDB4MDAsIDB4MDJ9IH0sCi17IDB4MDUwMCwJMTYsCXsweDA1LCAweGE1LCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDAyLCAweDA1LCAweGE1LCAweDkwLCAweDdmLCAweGVhLCAweGUwfSB9LAoteyAweDA1MTAsCTE2LAl7MHg3MCwgMHgzNCwgMHg5MCwgMHg3ZiwgMHhlYywgMHhlMCwgMHhmZiwgMHg1NCwgMHgwNywgMHhmZSwgMHhmNSwgMHg0ZSwgMHhlZiwgMHgzMCwgMHhlNywgMHgwM30gfSwKLXsgMHgwNTIwLAkxNiwJezB4NDMsIDB4NGUsIDB4MTAsIDB4OTAsIDB4N2YsIDB4ZDcsIDB4ZTUsIDB4NGUsIDB4ZjAsIDB4ZTUsIDB4NGUsIDB4NDQsIDB4MjAsIDB4ZjAsIDB4ZWYsIDB4ZjR9IH0sCi17IDB4MDUzMCwJMTYsCXsweDU0LCAweDgwLCAweGZkLCAweGM0LCAweDU0LCAweDBmLCAweDJlLCAweDI1LCAweGUwLCAweDI0LCAweGI0LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdmfSB9LAoteyAweDA1NDAsCTE2LAl7MHhmNSwgMHg4MywgMHhlNCwgMHhmMCwgMHg4MCwgMHg1ZiwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg4MCwgMHg1NiwgMHg5MH0gfSwKLXsgMHgwNTUwLAkxNiwJezB4N2YsIDB4ZTgsIDB4ZTAsIDB4MjQsIDB4ZmUsIDB4NjAsIDB4MTgsIDB4MjQsIDB4MDIsIDB4NzAsIDB4NGEsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4YjR9IH0sCi17IDB4MDU2MCwJMTYsCXsweDAxLCAweDA0LCAweGQyLCAweDAwLCAweDgwLCAweDNmLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDgwLCAweDM2LCAweDkwfSB9LAoteyAweDA1NzAsCTE2LAl7MHg3ZiwgMHhlYSwgMHhlMCwgMHg3MCwgMHgyMCwgMHg5MCwgMHg3ZiwgMHhlYywgMHhlMCwgMHhmNCwgMHg1NCwgMHg4MCwgMHhmZiwgMHhjNCwgMHg1NCwgMHgwZn0gfSwKLXsgMHgwNTgwLAkxNiwJezB4ZmYsIDB4ZTAsIDB4NTQsIDB4MDcsIDB4MmYsIDB4MjUsIDB4ZTAsIDB4MjQsIDB4YjQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2YsIDB4ZjUsIDB4ODN9IH0sCi17IDB4MDU5MCwJMTYsCXsweDc0LCAweDAxLCAweGYwLCAweDgwLCAweDEwLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDgwLCAweDA3LCAweDkwLCAweDdmfSB9LAoteyAweDA1YTAsCTEyLAl7MHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMH0gfSwKLXsgMHgwNWFjLAkxLAl7MHgyMn0gfSwKLXsgMHgwNWFkLAkxNiwJezB4NzUsIDB4NGEsIDB4ZmYsIDB4NzUsIDB4NDksIDB4ZmYsIDB4NzUsIDB4NDgsIDB4MGYsIDB4NzUsIDB4NDcsIDB4MDAsIDB4ZDIsIDB4MDMsIDB4YzIsIDB4MDZ9IH0sCi17IDB4MDViZCwJMTYsCXsweGMyLCAweDAyLCAweGMyLCAweDAwLCAweGMyLCAweDA1LCAweGMyLCAweDAxLCAweDkwLCAweDAzLCAweDAwLCAweDc0LCAweDE5LCAweGYwLCAweGU0LCAweDkwfSB9LAoteyAweDA1Y2QsCTE2LAl7MHgwMSwgMHhiYywgMHhmMCwgMHhjMiwgMHgwNCwgMHg5MCwgMHgwMSwgMHhjMCwgMHhmMCwgMHhhMywgMHhmMCwgMHhjMiwgMHhhZiwgMHhjMiwgMHhhOCwgMHgxMn0gfSwKLXsgMHgwNWRkLAkxNiwJezB4MGMsIDB4MjIsIDB4ZTQsIDB4OTAsIDB4MDIsIDB4YWYsIDB4ZjAsIDB4OTAsIDB4MDEsIDB4YmQsIDB4ZjAsIDB4OTAsIDB4MDEsIDB4MDAsIDB4ZjAsIDB4YTN9IH0sCi17IDB4MDVlZCwJMTYsCXsweGYwLCAweGEzLCAweGYwLCAweGEzLCAweGYwLCAweGEzLCAweGYwLCAweGEzLCAweDc0LCAweDEwLCAweGYwLCAweGEzLCAweDc0LCAweDAxLCAweGYwLCAweGEzfSB9LAoteyAweDA1ZmQsCTE2LAl7MHg3NCwgMHgwOCwgMHhmMCwgMHg3ZSwgMHgwMSwgMHg3ZiwgMHgwMCwgMHgxMiwgMHgxOSwgMHhjMSwgMHg3NSwgMHg0YywgMHgxMiwgMHg3NSwgMHg0ZCwgMHgwYX0gfSwKLXsgMHgwNjBkLAkxNiwJezB4OTAsIDB4MDEsIDB4MGIsIDB4ZTAsIDB4ZmYsIDB4MDUsIDB4NGQsIDB4ZTUsIDB4NGQsIDB4YWMsIDB4NGMsIDB4NzAsIDB4MDIsIDB4MDUsIDB4NGMsIDB4MTR9IH0sCi17IDB4MDYxZCwJMTYsCXsweGY1LCAweDgyLCAweDhjLCAweDgzLCAweGVmLCAweGYwLCAweDkwLCAweDAxLCAweDBjLCAweGUwLCAweDQ0LCAweDgwLCAweGZmLCAweDA1LCAweDRkLCAweGU1fSB9LAoteyAweDA2MmQsCTE2LAl7MHg0ZCwgMHhhYywgMHg0YywgMHg3MCwgMHgwMiwgMHgwNSwgMHg0YywgMHgxNCwgMHhmNSwgMHg4MiwgMHg4YywgMHg4MywgMHhlZiwgMHhmMCwgMHg5MCwgMHgwMX0gfSwKLXsgMHgwNjNkLAkxNiwJezB4MGQsIDB4ZTAsIDB4ZmYsIDB4MDUsIDB4NGQsIDB4ZTUsIDB4NGQsIDB4YWMsIDB4NGMsIDB4NzAsIDB4MDIsIDB4MDUsIDB4NGMsIDB4MTQsIDB4ZjUsIDB4ODJ9IH0sCi17IDB4MDY0ZCwJMTYsCXsweDhjLCAweDgzLCAweGVmLCAweGYwLCAweDkwLCAweDAxLCAweDBlLCAweGUwLCAweGZmLCAweDA1LCAweDRkLCAweGU1LCAweDRkLCAweGFjLCAweDRjLCAweDcwfSB9LAoteyAweDA2NWQsCTE2LAl7MHgwMiwgMHgwNSwgMHg0YywgMHgxNCwgMHhmNSwgMHg4MiwgMHg4YywgMHg4MywgMHhlZiwgMHhmMCwgMHg5MCwgMHgxMiwgMHgwYSwgMHhlNCwgMHg5MywgMHhmZn0gfSwKLXsgMHgwNjZkLAkxNiwJezB4NzQsIDB4MDEsIDB4OTMsIDB4OTAsIDB4MDEsIDB4MWMsIDB4Y2YsIDB4ZjAsIDB4YTMsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4MDEsIDB4MWMsIDB4ZTAsIDB4ZmZ9IH0sCi17IDB4MDY3ZCwJMTYsCXsweGEzLCAweGUwLCAweGZlLCAweGVmLCAweDZlLCAweGZmLCAweDkwLCAweDAxLCAweDFjLCAweGYwLCAweGEzLCAweGUwLCAweDZmLCAweGZmLCAweGYwLCAweDkwfSB9LAoteyAweDA2OGQsCTE2LAl7MHgwMSwgMHgxYywgMHhlMCwgMHg2ZiwgMHhmMCwgMHhlMCwgMHhmZSwgMHhhMywgMHhlMCwgMHhmZiwgMHhlNCwgMHhmYywgMHhmZCwgMHg3NSwgMHg1MiwgMHgxMH0gfSwKLXsgMHgwNjlkLAkxNiwJezB4NzUsIDB4NTMsIDB4MDIsIDB4NzUsIDB4NTQsIDB4MTIsIDB4NzUsIDB4NTUsIDB4YWMsIDB4MTIsIDB4OTQsIDB4MjYsIDB4NzUsIDB4NGMsIDB4MTIsIDB4NzV9IH0sCi17IDB4MDZhZCwJMTYsCXsweDRkLCAweGIyLCAweDkwLCAweDAxLCAweDBkLCAweGUwLCAweGZmLCAweDA1LCAweDRkLCAweGU1LCAweDRkLCAweGFjLCAweDRjLCAweDcwLCAweDAyLCAweDA1fSB9LAoteyAweDA2YmQsCTE2LAl7MHg0YywgMHgxNCwgMHhmNSwgMHg4MiwgMHg4YywgMHg4MywgMHhlZiwgMHhmMCwgMHg5MCwgMHgwMSwgMHgwZSwgMHhlMCwgMHhmZiwgMHgwNSwgMHg0ZCwgMHhlNX0gfSwKLXsgMHgwNmNkLAkxNiwJezB4NGQsIDB4YWMsIDB4NGMsIDB4NzAsIDB4MDIsIDB4MDUsIDB4NGMsIDB4MTQsIDB4ZjUsIDB4ODIsIDB4OGMsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4N2Z9IH0sCi17IDB4MDZkZCwJMTYsCXsweDkyLCAweGUwLCAweGZmLCAweGM0LCAweDU0LCAweDBmLCAweDI0LCAweDQxLCAweGZmLCAweDA1LCAweDRkLCAweGU1LCAweDRkLCAweGFjLCAweDRjLCAweDcwfSB9LAoteyAweDA2ZWQsCTE2LAl7MHgwMiwgMHgwNSwgMHg0YywgMHgxNCwgMHhmNSwgMHg4MiwgMHg4YywgMHg4MywgMHhlZiwgMHhmMCwgMHgwNSwgMHg0ZCwgMHhlNSwgMHg0ZCwgMHhhZSwgMHg0Y30gfSwKLXsgMHgwNmZkLAkxNiwJezB4NzAsIDB4MDIsIDB4MDUsIDB4NGMsIDB4MTQsIDB4ZjUsIDB4ODIsIDB4OGUsIDB4ODMsIDB4ZTQsIDB4ZjAsIDB4NzUsIDB4ODIsIDB4MTAsIDB4NzUsIDB4ODN9IH0sCi17IDB4MDcwZCwJMTYsCXsweDAxLCAweGUwLCAweGZjLCAweGEzLCAweGUwLCAweGZkLCAweGEzLCAweGUwLCAweGZlLCAweGEzLCAweGUwLCAweGZmLCAweDkwLCAweDAxLCAweDE4LCAweDEyfSB9LAoteyAweDA3MWQsCTE2LAl7MHhhMywgMHhlZSwgMHg3ZSwgMHgwMSwgMHg3ZiwgMHgxOCwgMHgxMiwgMHg4NiwgMHhiZSwgMHg5MCwgMHgwMSwgMHgxOCwgMHhlMCwgMHhmYywgMHhhMywgMHhlMH0gfSwKLXsgMHgwNzJkLAkxNiwJezB4ZmQsIDB4YTMsIDB4ZTAsIDB4ZmUsIDB4YTMsIDB4ZTAsIDB4ZmYsIDB4NzUsIDB4NTIsIDB4MGEsIDB4NzUsIDB4NTMsIDB4MDYsIDB4NzUsIDB4NTQsIDB4MTJ9IH0sCi17IDB4MDczZCwJMTYsCXsweDc1LCAweDU1LCAweGI4LCAweDEyLCAweDk0LCAweDI2LCAweGQyLCAweGU4LCAweDQzLCAweGQ4LCAweDIwLCAweDkwLCAweDdmLCAweGFiLCAweDc0LCAweGZmfSB9LAoteyAweDA3NGQsCTE2LAl7MHhmMCwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhZiwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhZSwgMHhlMCwgMHg0NH0gfSwKLXsgMHgwNzVkLAkxNiwJezB4MWYsIDB4ZjAsIDB4ZDIsIDB4YWYsIDB4MjAsIDB4MDEsIDB4MmUsIDB4MjAsIDB4MDEsIDB4MmIsIDB4YTIsIDB4MDMsIDB4OTIsIDB4MDcsIDB4MTIsIDB4MDl9IH0sCi17IDB4MDc2ZCwJMTYsCXsweGM1LCAweDc1LCAweDQ2LCAweDUwLCAweDc1LCAweDQ1LCAweDZkLCAweDc1LCAweDQ0LCAweDMzLCAweDc1LCAweDQzLCAweDAwLCAweDIwLCAweDAxLCAweGU0fSB9LAoteyAweDA3N2QsCTE2LAl7MHg3ZiwgMHhmZiwgMHg3ZSwgMHhmZiwgMHg3ZCwgMHhmZiwgMHg3YywgMHhmZiwgMHg3OCwgMHg0MywgMHgxMiwgMHhhMywgMHhkNywgMHhlYywgMHg0ZCwgMHg0ZX0gfSwKLXsgMHgwNzhkLAkxNiwJezB4NGYsIDB4NjAsIDB4ZDEsIDB4ODAsIDB4ZTgsIDB4MzAsIDB4MDEsIDB4MDUsIDB4MTIsIDB4MDMsIDB4NzAsIDB4YzIsIDB4MDEsIDB4MzAsIDB4MDYsIDB4MGF9IH0sCi17IDB4MDc5ZCwJMTYsCXsweDEyLCAweDA5LCAweGZiLCAweDUwLCAweDAzLCAweDEyLCAweDBhLCAweGU4LCAweGMyLCAweDA2LCAweDEyLCAweDk2LCAweDVlLCAweDkwLCAweDAxLCAweGJkfSB9LAoteyAweDA3YWQsCTE2LAl7MHhlMCwgMHg2MCwgMHgwYywgMHgxMiwgMHg5MiwgMHgwMSwgMHhlNCwgMHg5MCwgMHgwMSwgMHhiZCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhkMywgMHhmMCwgMHg5MH0gfSwKLXsgMHgwN2JkLAkxNiwJezB4MDIsIDB4YWYsIDB4ZTAsIDB4YjQsIDB4MGYsIDB4MDMsIDB4MTIsIDB4OTksIDB4YjksIDB4MTIsIDB4YTAsIDB4OTUsIDB4ZTQsIDB4ZmYsIDB4NzQsIDB4MDF9IH0sCi17IDB4MDdjZCwJMTYsCXsweGE4LCAweDA3LCAweDA4LCAweDgwLCAweDAyLCAweGMzLCAweDMzLCAweGQ4LCAweGZjLCAweGZlLCAweDkwLCAweDAxLCAweGJjLCAweGUwLCAweDVlLCAweDYwfSB9LAoteyAweDA3ZGQsCTE2LAl7MHgxNCwgMHg3NCwgMHgyOCwgMHgyZiwgMHhmOCwgMHhlNiwgMHhkMywgMHg5NCwgMHgwYSwgMHg0MCwgMHgwNCwgMHg3ZSwgMHgwMSwgMHg4MCwgMHgwMiwgMHg3ZX0gfSwKLXsgMHgwN2VkLAkxNiwJezB4MDAsIDB4OGUsIDB4NGIsIDB4ODAsIDB4MDMsIDB4NzUsIDB4NGIsIDB4MDEsIDB4NzQsIDB4NjgsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4MjB9IH0sCi17IDB4MDdmZCwJMTYsCXsweGY1LCAweDgzLCAweGU1LCAweDRiLCAweGYwLCAweDBmLCAweGJmLCAweDA0LCAweGM1LCAweGU1LCAweDJjLCAweGQzLCAweDk0LCAweDBhLCAweDQwLCAweDA0fSB9LAoteyAweDA4MGQsCTE0LAl7MHg3ZiwgMHgwMSwgMHg4MCwgMHgwMiwgMHg3ZiwgMHgwMCwgMHg5MCwgMHgyMCwgMHg2YywgMHhlZiwgMHhmMCwgMHgwMiwgMHgwNywgMHg5Mn0gfSwKLXsgMHgwODFiLAkxLAl7MHgyMn0gfSwKLXsgMHgwODFjLAk0LAl7MHg1MywgMHhkOCwgMHhlZiwgMHgzMn0gfSwKLXsgMHgwODIwLAkxNiwJezB4ZTUsIDB4MzMsIDB4YzMsIDB4OTQsIDB4MDEsIDB4NDAsIDB4MGUsIDB4OTAsIDB4N2YsIDB4OTMsIDB4ZTAsIDB4NDQsIDB4MzAsIDB4ZjAsIDB4OTAsIDB4N2Z9IH0sCi17IDB4MDgzMCwJMTYsCXsweDk1LCAweGUwLCAweDQ0LCAweGMwLCAweGYwLCAweDdmLCAweGY0LCAweDdlLCAweDAxLCAweDEyLCAweDA5LCAweGFlLCAweDkwLCAweDdmLCAweDk2LCAweGUwfSB9LAoteyAweDA4NDAsCTE2LAl7MHg1NCwgMHhmZSwgMHhmMCwgMHg3ZiwgMHgwYSwgMHg3ZSwgMHgwMCwgMHgxMiwgMHgwOSwgMHhhZSwgMHg5MCwgMHg3ZiwgMHg5NiwgMHhlMCwgMHg0NCwgMHgwOH0gfSwKLXsgMHgwODUwLAkxNiwJezB4ZjAsIDB4N2YsIDB4MDUsIDB4N2UsIDB4MDAsIDB4MTIsIDB4MDksIDB4YWUsIDB4OTAsIDB4N2YsIDB4OTYsIDB4ZTAsIDB4NTQsIDB4ZmIsIDB4ZjAsIDB4N2Z9IH0sCi17IDB4MDg2MCwJMTYsCXsweDA1LCAweDdlLCAweDAwLCAweDEyLCAweDA5LCAweGFlLCAweGU1LCAweDMzLCAweGMzLCAweDk0LCAweDAxLCAweDUwLCAweDBlLCAweDdmLCAweDAyLCAweDdkfSB9LAoteyAweDA4NzAsCTE2LAl7MHhmZiwgMHgxMiwgMHg4MiwgMHhlYSwgMHg3ZiwgMHgwNSwgMHg3ZSwgMHgwMCwgMHgxMiwgMHgwOSwgMHhhZSwgMHg5MCwgMHg3ZiwgMHg5NiwgMHhlMCwgMHg0NH0gfSwKLXsgMHgwODgwLAkxNiwJezB4MDIsIDB4ZjAsIDB4ZTAsIDB4NTQsIDB4N2YsIDB4ZjAsIDB4N2YsIDB4MDUsIDB4N2UsIDB4MDAsIDB4MTIsIDB4MDksIDB4YWUsIDB4OTAsIDB4N2YsIDB4OTZ9IH0sCi17IDB4MDg5MCwJMTYsCXsweGUwLCAweDQ0LCAweDQwLCAweGYwLCAweDdmLCAweDA1LCAweDdlLCAweDAwLCAweDEyLCAweDA5LCAweGFlLCAweDkwLCAweDdmLCAweDk2LCAweGUwLCAweDU0fSB9LAoteyAweDA4YTAsCTE2LAl7MHhiZiwgMHhmMCwgMHg3ZiwgMHgzMiwgMHg3ZSwgMHgwMCwgMHgxMiwgMHgwOSwgMHhhZSwgMHg5MCwgMHg3ZiwgMHg5NiwgMHhlMCwgMHg0NCwgMHg0MCwgMHhmMH0gfSwKLXsgMHgwOGIwLAk4LAl7MHg3ZiwgMHgzMiwgMHg3ZSwgMHgwMCwgMHgxMiwgMHgwOSwgMHhhZSwgMHgyMn0gfSwKLXsgMHgwOGI4LAkxNiwJezB4OTAsIDB4N2YsIDB4OTYsIDB4ZTAsIDB4NTQsIDB4ZmQsIDB4ZjAsIDB4ZTAsIDB4NDQsIDB4ODAsIDB4ZjAsIDB4N2YsIDB4MGEsIDB4N2UsIDB4MDAsIDB4MTJ9IH0sCi17IDB4MDhjOCwJMTYsCXsweDA5LCAweGFlLCAweGU1LCAweDMzLCAweGMzLCAweDk0LCAweDAxLCAweDUwLCAweDBlLCAweDdmLCAweDAyLCAweGU0LCAweGZkLCAweDEyLCAweDgyLCAweGVhfSB9LAoteyAweDA4ZDgsCTE2LAl7MHg3ZiwgMHgwNSwgMHg3ZSwgMHgwMCwgMHgxMiwgMHgwOSwgMHhhZSwgMHg5MCwgMHg3ZiwgMHg5NiwgMHhlMCwgMHg1NCwgMHhiZiwgMHhmMCwgMHg3ZiwgMHgwNX0gfSwKLXsgMHgwOGU4LAkxNiwJezB4N2UsIDB4MDAsIDB4MTIsIDB4MDksIDB4YWUsIDB4OTAsIDB4N2YsIDB4OTYsIDB4ZTAsIDB4NDQsIDB4MDQsIDB4ZjAsIDB4N2YsIDB4MDUsIDB4N2UsIDB4MDB9IH0sCi17IDB4MDhmOCwJMTYsCXsweDEyLCAweDA5LCAweGFlLCAweDkwLCAweDdmLCAweDk2LCAweGUwLCAweDU0LCAweGY3LCAweGYwLCAweDdmLCAweDA1LCAweDdlLCAweDAwLCAweDEyLCAweDA5fSB9LAoteyAweDA5MDgsCTE2LAl7MHhhZSwgMHg5MCwgMHg3ZiwgMHg5NiwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg3ZiwgMHgwNSwgMHg3ZSwgMHgwMCwgMHgxMiwgMHgwOSwgMHhhZSwgMHhlNX0gfSwKLXsgMHgwOTE4LAkxNiwJezB4MzMsIDB4YzMsIDB4OTQsIDB4MDEsIDB4NDAsIDB4MGUsIDB4OTAsIDB4N2YsIDB4OTMsIDB4ZTAsIDB4NTQsIDB4Y2YsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTV9IH0sCi17IDB4MDkyOCwJOCwJezB4ZTAsIDB4NTQsIDB4M2YsIDB4ZjAsIDB4MTIsIDB4MGIsIDB4MDAsIDB4MjJ9IH0sCi17IDB4MDkzMCwJMTYsCXsweDkwLCAweDBhLCAweGY0LCAweGU0LCAweDkzLCAweDcwLCAweDc2LCAweDkwLCAweDdmLCAweDkzLCAweDc0LCAweDMwLCAweGYwLCAweDkwLCAweDdmLCAweDk0fSB9LAoteyAweDA5NDAsCTE2LAl7MHg3NCwgMHgzYywgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5NSwgMHg3NCwgMHhjNiwgMHhmMCwgMHg3ZiwgMHgwYSwgMHg3ZSwgMHgwMCwgMHgxMiwgMHgwOSwgMHhhZX0gfSwKLXsgMHgwOTUwLAkxNiwJezB4ZTQsIDB4OTAsIDB4N2YsIDB4OWMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTYsIDB4NzQsIDB4MDgsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWMsIDB4NzQsIDB4Y2Z9IH0sCi17IDB4MDk2MCwJMTYsCXsweGYwLCAweDdmLCAweDBhLCAweDdlLCAweDAwLCAweDEyLCAweDA5LCAweGFlLCAweDkwLCAweDIwLCAweDcwLCAweGUwLCAweGZmLCAweGM0LCAweDU0LCAweDBmfSB9LAoteyAweDA5NzAsCTE2LAl7MHhmNSwgMHgzMywgMHhjMywgMHg5NCwgMHgwMSwgMHg1MCwgMHgwNywgMHg5MCwgMHg3ZiwgMHg5NiwgMHhlMCwgMHg0NCwgMHg4MCwgMHhmMCwgMHhlNCwgMHg5MH0gfSwKLXsgMHgwOTgwLAkxNiwJezB4N2YsIDB4OTcsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWQsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4ZTUsIDB4MzMsIDB4YzMsIDB4OTQsIDB4MDEsIDB4NDAsIDB4MGJ9IH0sCi17IDB4MDk5MCwJMTYsCXsweGU0LCAweDkwLCAweDdmLCAweDk4LCAweGYwLCAweDkwLCAweDdmLCAweDllLCAweDc0LCAweGMwLCAweGYwLCAweDkwLCAweDdmLCAweGUyLCAweDc0LCAweDEyfSB9LAoteyAweDA5YTAsCTE0LAl7MHhmMCwgMHgxMiwgMHgwOCwgMHgyMCwgMHg3NSwgMHg4MiwgMHhmNCwgMHg3NSwgMHg4MywgMHgwYSwgMHg3NCwgMHhmZiwgMHhmMCwgMHgyMn0gfSwKLXsgMHgwOWFlLAkxNiwJezB4OGUsIDB4NWQsIDB4OGYsIDB4NWUsIDB4ZTUsIDB4NWUsIDB4MTUsIDB4NWUsIDB4YWUsIDB4NWQsIDB4NzAsIDB4MDIsIDB4MTUsIDB4NWQsIDB4NGUsIDB4NjB9IH0sCi17IDB4MDliZSwJNywJezB4MDUsIDB4MTIsIDB4MDksIDB4ZWEsIDB4ODAsIDB4ZWUsIDB4MjJ9IH0sCi17IDB4MDljNSwJMTYsCXsweDkwLCAweDdmLCAweGQ2LCAweGUwLCAweDU0LCAweGZiLCAweGYwLCAweGUwLCAweDQ0LCAweDA4LCAweGYwLCAweDMwLCAweDA3LCAweDA0LCAweGUwLCAweDQ0fSB9LAoteyAweDA5ZDUsCTE2LAl7MHgwMiwgMHhmMCwgMHg3ZiwgMHhkMCwgMHg3ZSwgMHgwNywgMHgxMiwgMHgwOSwgMHhhZSwgMHg5MCwgMHg3ZiwgMHhkNiwgMHhlMCwgMHg1NCwgMHhmNywgMHhmMH0gfSwKLXsgMHgwOWU1LAk1LAl7MHhlMCwgMHg0NCwgMHgwNCwgMHhmMCwgMHgyMn0gfSwKLXsgMHgwOWVhLAkxNiwJezB4NzQsIDB4MDAsIDB4ZjUsIDB4ODYsIDB4OTAsIDB4ZmQsIDB4YTUsIDB4N2MsIDB4MDUsIDB4YTMsIDB4ZTUsIDB4ODIsIDB4NDUsIDB4ODMsIDB4NzAsIDB4Zjl9IH0sCi17IDB4MDlmYSwJMSwJezB4MjJ9IH0sCi17IDB4MDlmYiwJNSwJezB4MTIsIDB4MDgsIDB4YjgsIDB4ZDMsIDB4MjJ9IH0sCi17IDB4MGEwMCwJMTYsCXsweDAyLCAweDBjLCAweDRlLCAweDAwLCAweDAyLCAweDBjLCAweDgxLCAweDAwLCAweDAyLCAweDBjLCAweDY2LCAweDAwLCAweDAyLCAweDBjLCAweGMwLCAweDAwfSB9LAoteyAweDBhMTAsCTE2LAl7MHgwMiwgMHgwYywgMHhhYSwgMHgwMCwgMHgwMiwgMHgwYSwgMHhlZCwgMHgwMCwgMHgwMiwgMHgwYSwgMHhlZSwgMHgwMCwgMHgwMiwgMHgwYSwgMHhlZiwgMHgwMH0gfSwKLXsgMHgwYTIwLAkxNiwJezB4MDIsIDB4MGMsIDB4ZGIsIDB4MDAsIDB4MDIsIDB4MGQsIDB4Y2IsIDB4MDAsIDB4MDIsIDB4MGQsIDB4MTcsIDB4MDAsIDB4MDIsIDB4MGUsIDB4MmIsIDB4MDB9IH0sCi17IDB4MGEzMCwJMTYsCXsweDAyLCAweDBkLCAweDUzLCAweDAwLCAweDAyLCAweDBlLCAweDhiLCAweDAwLCAweDAyLCAweDBkLCAweDhmLCAweDAwLCAweDAyLCAweDBlLCAweGViLCAweDAwfSB9LAoteyAweDBhNDAsCTE2LAl7MHgwMiwgMHgwYSwgMHhmMCwgMHgwMCwgMHgwMiwgMHgwYSwgMHhmMiwgMHgwMCwgMHgwMiwgMHgwYSwgMHhmMSwgMHgwMCwgMHgwMiwgMHgwYSwgMHhmMywgMHgwMH0gfSwKLXsgMHgwYTUwLAk4LAl7MHgwMiwgMHgwZiwgMHg0YiwgMHgwMCwgMHgwMiwgMHgwZiwgMHg2MSwgMHgwMH0gfSwKLXsgMHgwYTU4LAkyLAl7MHg4ZiwgMHg0Zn0gfSwKLXsgMHgwYTVhLAkxNiwJezB4ZTQsIDB4ZjUsIDB4NTAsIDB4NzUsIDB4NTEsIDB4ZmYsIDB4NzUsIDB4NTIsIDB4MTIsIDB4NzUsIDB4NTMsIDB4NmEsIDB4YWIsIDB4NTEsIDB4YWEsIDB4NTJ9IH0sCi17IDB4MGE2YSwJMTYsCXsweGE5LCAweDUzLCAweDkwLCAweDAwLCAweDAxLCAweDEyLCAweGEyLCAweDU0LCAweGI0LCAweDAzLCAweDFkLCAweGFmLCAweDUwLCAweDA1LCAweDUwLCAweGVmfSB9LAoteyAweDBhN2EsCTE2LAl7MHhiNSwgMHg0ZiwgMHgwMSwgMHgyMiwgMHgxMiwgMHhhMiwgMHgzYiwgMHg3ZSwgMHgwMCwgMHgyOSwgMHhmZiwgMHhlZSwgMHgzYSwgMHhhOSwgMHgwNywgMHg3NX0gfSwKLXsgMHgwYThhLAkxNCwJezB4NTEsIDB4ZmYsIDB4ZjUsIDB4NTIsIDB4ODksIDB4NTMsIDB4ODAsIDB4ZDQsIDB4N2IsIDB4MDAsIDB4N2EsIDB4MDAsIDB4NzksIDB4MDB9IH0sCi17IDB4MGE5OCwJMSwJezB4MjJ9IH0sCi17IDB4MGE5OSwJMTYsCXsweGU0LCAweGZlLCAweDc1LCAweDUxLCAweGZmLCAweDc1LCAweDUyLCAweDEyLCAweDc1LCAweDUzLCAweDEyLCAweGFiLCAweDUxLCAweGFhLCAweDUyLCAweGE5fSB9LAoteyAweDBhYTksCTE2LAl7MHg1MywgMHg5MCwgMHgwMCwgMHgwMSwgMHgxMiwgMHhhMiwgMHg1NCwgMHg2NCwgMHgwMiwgMHg3MCwgMHgyZCwgMHhhZCwgMHgwNiwgMHgwZSwgMHhlZCwgMHhiNX0gfSwKLXsgMHgwYWI5LAkxNiwJezB4MDcsIDB4MDEsIDB4MjIsIDB4OTAsIDB4MDAsIDB4MDIsIDB4MTIsIDB4YTIsIDB4YWQsIDB4ODUsIDB4ZjAsIDB4NGYsIDB4ZjUsIDB4NTAsIDB4NjIsIDB4NGZ9IH0sCi17IDB4MGFjOSwJMTYsCXsweGU1LCAweDRmLCAweDYyLCAweDUwLCAweGU1LCAweDUwLCAweDYyLCAweDRmLCAweDI5LCAweGZkLCAweGU1LCAweDRmLCAweDNhLCAweGE5LCAweDA1LCAweDc1fSB9LAoteyAweDBhZDksCTE0LAl7MHg1MSwgMHhmZiwgMHhmNSwgMHg1MiwgMHg4OSwgMHg1MywgMHg4MCwgMHhjMywgMHg3YiwgMHgwMCwgMHg3YSwgMHgwMCwgMHg3OSwgMHgwMH0gfSwKLXsgMHgwYWU3LAkxLAl7MHgyMn0gfSwKLXsgMHgwYWU4LAk1LAl7MHgxMiwgMHgwOCwgMHgyMCwgMHhkMywgMHgyMn0gfSwKLXsgMHgwYWVkLAkxLAl7MHgzMn0gfSwKLXsgMHgwYWVlLAkxLAl7MHgzMn0gfSwKLXsgMHgwYWVmLAkxLAl7MHgzMn0gfSwKLXsgMHgwYWYwLAkxLAl7MHgzMn0gfSwKLXsgMHgwYWYxLAkxLAl7MHgzMn0gfSwKLXsgMHgwYWYyLAkxLAl7MHgzMn0gfSwKLXsgMHgwYWYzLAkxLAl7MHgzMn0gfSwKLXsgMHgwYWY0LAkzLAl7MHgwMCwgMHgwNCwgMHgwN30gfSwKLXsgMHgwYjAwLAk5LAl7MHg5MCwgMHg3ZiwgMHhkNiwgMHhlMCwgMHg0NCwgMHg4MCwgMHhmMCwgMHg4MCwgMHg3NH0gfSwKLXsgMHgwYjdkLAkxNiwJezB4NDMsIDB4ODcsIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MjJ9IH0sCi17IDB4MGI4ZCwJMTYsCXsweDUzLCAweDhlLCAweGY3LCAweGU1LCAweDg5LCAweDU0LCAweGYxLCAweDQ0LCAweDAxLCAweGY1LCAweDg5LCAweDc1LCAweDhjLCAweGIxLCAweGQyLCAweGE5fSB9LAoteyAweDBiOWQsCTE2LAl7MHg3NSwgMHg5OCwgMHg0MCwgMHg3NSwgMHhjYiwgMHhmZiwgMHg3NSwgMHhjYSwgMHhmMywgMHg3NSwgMHhjOCwgMHgzNCwgMHhlNCwgMHhmZiwgMHg3ZiwgMHgwNX0gfSwKLXsgMHgwYmFkLAk3LAl7MHg3OCwgMHgyOCwgMHhlNCwgMHhmNiwgMHgwOCwgMHhkZiwgMHhmY30gfSwKLXsgMHgwYmI0LAkxLAl7MHgyMn0gfSwKLXsgMHgwYmI1LAkxNiwJezB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ZDAsIDB4NzUsIDB4ZDAsIDB4MDAsIDB4YzAsIDB4MDAsIDB4YzAsIDB4MDYsIDB4YzB9IH0sCi17IDB4MGJjNSwJMSwJezB4MDd9IH0sCi17IDB4MGJjNiwJMTYsCXsweDMwLCAweDA0LCAweDE2LCAweDc1LCAweDhjLCAweGY4LCAweDc1LCAweDhhLCAweDMwLCAweDdmLCAweDJmLCAweGFlLCAweDA3LCAweDFmLCAweGVlLCAweDYwfSB9LAoteyAweDBiZDYsCTE2LAl7MHgzYywgMHg5MCwgMHgyMCwgMHgwMCwgMHg3NCwgMHg1NSwgMHhmMCwgMHg4MCwgMHhmMiwgMHg3NSwgMHg4YywgMHhiMSwgMHg3ZiwgMHgyOCwgMHhlZiwgMHhkM30gfSwKLXsgMHgwYmU2LAkxNiwJezB4OTQsIDB4MmMsIDB4NTAsIDB4MDksIDB4YTgsIDB4MDcsIDB4ZTYsIDB4NjAsIDB4MDEsIDB4MTYsIDB4MGYsIDB4ODAsIDB4ZjEsIDB4OTAsIDB4MDMsIDB4MDB9IH0sCi17IDB4MGJmNiwJMTYsCXsweGUwLCAweDYwLCAweDAyLCAweDE0LCAweGYwLCAweDkwLCAweDAxLCAweGMwLCAweGUwLCAweDcwLCAweDAyLCAweGEzLCAweGUwLCAweDYwLCAweDBlLCAweDkwfSB9LAoteyAweDBjMDYsCTEzLAl7MHgwMSwgMHhjMSwgMHhlMCwgMHgyNCwgMHhmZiwgMHhmMCwgMHg5MCwgMHgwMSwgMHhjMCwgMHhlMCwgMHgzNCwgMHhmZiwgMHhmMH0gfSwKLXsgMHgwYzEzLAkxNSwJezB4ZDAsIDB4MDcsIDB4ZDAsIDB4MDYsIDB4ZDAsIDB4MDAsIDB4ZDAsIDB4ZDAsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzJ9IH0sCi17IDB4MGMyMiwJMTYsCXsweGQyLCAweDAwLCAweDc1LCAweDhlLCAweDEwLCAweDEyLCAweDA5LCAweDMwLCAweGU1LCAweDMzLCAweGMzLCAweDk0LCAweDAxLCAweDQwLCAweDA4LCAweDkwfSB9LAoteyAweDBjMzIsCTE2LAl7MHg3ZiwgMHg5MiwgMHg3NCwgMHgwMiwgMHhmMCwgMHg4MCwgMHgwNSwgMHhlNCwgMHg5MCwgMHg3ZiwgMHg5MiwgMHhmMCwgMHgxMiwgMHg4MCwgMHgwMCwgMHgxMn0gfSwKLXsgMHgwYzQyLAkxMiwJezB4MGYsIDB4N2QsIDB4MTIsIDB4OTQsIDB4ZjcsIDB4MTIsIDB4MWIsIDB4MGMsIDB4MTIsIDB4MGIsIDB4OGQsIDB4MjJ9IH0sCi17IDB4MGM0ZSwJMTYsCXsweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGQyLCAweDAxLCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGFiLCAweDc0LCAweDAxfSB9LAoteyAweDBjNWUsCTgsCXsweGYwLCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGUwLCAweDMyfSB9LAoteyAweDBjNjYsCTE2LAl7MHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHg5MCwgMHg3ZiwgMHhjNCwgMHhlNCwgMHhmMCwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3Zn0gfSwKLXsgMHgwYzc2LAkxMSwJezB4YWIsIDB4NzQsIDB4MDQsIDB4ZjAsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzJ9IH0sCi17IDB4MGM4MSwJMTYsCXsweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGFiLCAweDc0LCAweDAyLCAweGYwLCAweDkwfSB9LAoteyAweDBjOTEsCTE2LAl7MHg3ZiwgMHhkOCwgMHhlMCwgMHg3MCwgMHgwZCwgMHg5MCwgMHg3ZiwgMHhkOSwgMHhlMCwgMHg3MCwgMHgwNywgMHhlNSwgMHgyYywgMHg3MCwgMHgwMywgMHg3NX0gfSwKLXsgMHgwY2ExLAk5LAl7MHgyYywgMHgxNCwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMn0gfSwKLXsgMHgwY2FhLAkxNiwJezB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YWIsIDB4NzQsIDB4MTAsIDB4ZjAsIDB4ZDB9IH0sCi17IDB4MGNiYSwJNiwJezB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzJ9IH0sCi17IDB4MGNjMCwJMTYsCXsweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweDMwLCAweDAyLCAweDAyLCAweGQyLCAweDA2LCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmfSB9LAoteyAweDBjZDAsCTExLAl7MHhhYiwgMHg3NCwgMHgwOCwgMHhmMCwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMn0gfSwKLXsgMHgwY2RiLAkxNiwJezB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ZDAsIDB4NzUsIDB4ZDAsIDB4MTAsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2Z9IH0sCi17IDB4MGNlYiwJMTYsCXsweGE5LCAweDc0LCAweDAyLCAweGYwLCAweGU1LCAweDM0LCAweDMwLCAweGUwLCAweDEzLCAweGU1LCAweDMyLCAweDMwLCAweGUwLCAweDA3LCAweDkwLCAweDIwfSB9LAoteyAweDBjZmIsCTE2LAl7MHgwNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHgyMCwgMHgwMSwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHhlNSwgMHgyYywgMHg3MCwgMHgwM30gfSwKLXsgMHgwZDBiLAkxMiwJezB4NzUsIDB4MmMsIDB4MTQsIDB4ZDAsIDB4ZDAsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzJ9IH0sCi17IDB4MGQxNywJMTYsCXsweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGMwLCAweGQwLCAweDc1LCAweGQwLCAweDEwLCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmfSB9LAoteyAweDBkMjcsCTE2LAl7MHhhOSwgMHg3NCwgMHgwNCwgMHhmMCwgMHhlNSwgMHgzNCwgMHgzMCwgMHhlMSwgMHgxMywgMHhlNSwgMHgzMiwgMHgzMCwgMHhlMSwgMHgwNywgMHg5MCwgMHgyMH0gfSwKLXsgMHgwZDM3LAkxNiwJezB4MGMsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4MjAsIDB4MDksIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4ZTUsIDB4MmMsIDB4NzAsIDB4MDN9IH0sCi17IDB4MGQ0NywJMTIsCXsweDc1LCAweDJjLCAweDE0LCAweGQwLCAweGQwLCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGUwLCAweDMyfSB9LAoteyAweDBkNTMsCTE2LAl7MHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhjMCwgMHhkMCwgMHg3NSwgMHhkMCwgMHgxMCwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3Zn0gfSwKLXsgMHgwZDYzLAkxNiwJezB4YTksIDB4NzQsIDB4MDgsIDB4ZjAsIDB4ZTUsIDB4MzQsIDB4MzAsIDB4ZTIsIDB4MTMsIDB4ZTUsIDB4MzIsIDB4MzAsIDB4ZTIsIDB4MDcsIDB4OTAsIDB4MjB9IH0sCi17IDB4MGQ3MywJMTYsCXsweDE0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDkwLCAweDIwLCAweDExLCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweGU1LCAweDJjLCAweDcwLCAweDAzfSB9LAoteyAweDBkODMsCTEyLAl7MHg3NSwgMHgyYywgMHgxNCwgMHhkMCwgMHhkMCwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMn0gfSwKLXsgMHgwZDhmLAkxNiwJezB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ZDAsIDB4NzUsIDB4ZDAsIDB4MTAsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2Z9IH0sCi17IDB4MGQ5ZiwJMTYsCXsweGE5LCAweDc0LCAweDEwLCAweGYwLCAweGU1LCAweDM0LCAweDMwLCAweGUzLCAweDEzLCAweGU1LCAweDMyLCAweDMwLCAweGUzLCAweDA3LCAweDkwLCAweDIwfSB9LAoteyAweDBkYWYsCTE2LAl7MHgxYywgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHgyMCwgMHgxOSwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHhlNSwgMHgyYywgMHg3MCwgMHgwM30gfSwKLXsgMHgwZGJmLAkxMiwJezB4NzUsIDB4MmMsIDB4MTQsIDB4ZDAsIDB4ZDAsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzJ9IH0sCi17IDB4MGRjYiwJMTYsCXsweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGMwLCAweDg1LCAweGMwLCAweDg0LCAweGMwLCAweDg2LCAweDc1LCAweDg2LCAweDAwLCAweGMwfSB9LAoteyAweDBkZGIsCTE2LAl7MHhkMCwgMHg3NSwgMHhkMCwgMHgxMCwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhYSwgMHg3NCwgMHgwMiwgMHhmMCwgMHhlNSwgMHgzNCwgMHgyMH0gfSwKLXsgMHgwZGViLAkxNiwJezB4ZTAsIDB4MDYsIDB4OTAsIDB4N2YsIDB4YzcsIDB4ZjAsIDB4ODAsIDB4MjIsIDB4ZTUsIDB4MzEsIDB4MzAsIDB4ZTAsIDB4MGEsIDB4OTAsIDB4N2YsIDB4Yzd9IH0sCi17IDB4MGRmYiwJMTYsCXsweGUwLCAweDkwLCAweDAyLCAweGY4LCAweGYwLCAweDgwLCAweDEzLCAweGU1LCAweDIyLCAweDMwLCAweGUwLCAweDA3LCAweDkwLCAweDIwLCAweDA0LCAweGUwfSB9LAoteyAweDBlMGIsCTE2LAl7MHg0NCwgMHgwMiwgMHhmMCwgMHg5MCwgMHgyMCwgMHgwMSwgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHhlNSwgMHgyYywgMHg3MCwgMHgwMywgMHg3NSwgMHgyY30gfSwKLXsgMHgwZTFiLAkxNiwJezB4MTQsIDB4ZDAsIDB4ZDAsIDB4ZDAsIDB4ODYsIDB4ZDAsIDB4ODQsIDB4ZDAsIDB4ODUsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzJ9IH0sCi17IDB4MGUyYiwJMTYsCXsweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGMwLCAweDg1LCAweGMwLCAweDg0LCAweGMwLCAweDg2LCAweDc1LCAweDg2LCAweDAwLCAweGMwfSB9LAoteyAweDBlM2IsCTE2LAl7MHhkMCwgMHg3NSwgMHhkMCwgMHgxMCwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhYSwgMHg3NCwgMHgwNCwgMHhmMCwgMHhlNSwgMHgzNCwgMHgyMH0gfSwKLXsgMHgwZTRiLAkxNiwJezB4ZTEsIDB4MDYsIDB4OTAsIDB4N2YsIDB4YzksIDB4ZjAsIDB4ODAsIDB4MjIsIDB4ZTUsIDB4MzEsIDB4MzAsIDB4ZTEsIDB4MGEsIDB4OTAsIDB4N2YsIDB4Yzl9IH0sCi17IDB4MGU1YiwJMTYsCXsweGUwLCAweDkwLCAweDAyLCAweGY5LCAweGYwLCAweDgwLCAweDEzLCAweGU1LCAweDIyLCAweDMwLCAweGUxLCAweDA3LCAweDkwLCAweDIwLCAweDBjLCAweGUwfSB9LAoteyAweDBlNmIsCTE2LAl7MHg0NCwgMHgwMiwgMHhmMCwgMHg5MCwgMHgyMCwgMHgwOSwgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHhlNSwgMHgyYywgMHg3MCwgMHgwMywgMHg3NSwgMHgyY30gfSwKLXsgMHgwZTdiLAkxNiwJezB4MTQsIDB4ZDAsIDB4ZDAsIDB4ZDAsIDB4ODYsIDB4ZDAsIDB4ODQsIDB4ZDAsIDB4ODUsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzJ9IH0sCi17IDB4MGU4YiwJMTYsCXsweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGMwLCAweDg1LCAweGMwLCAweDg0LCAweGMwLCAweDg2LCAweDc1LCAweDg2LCAweDAwLCAweGMwfSB9LAoteyAweDBlOWIsCTE2LAl7MHhkMCwgMHg3NSwgMHhkMCwgMHgxMCwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhYSwgMHg3NCwgMHgwOCwgMHhmMCwgMHhlNSwgMHgzNCwgMHgyMH0gfSwKLXsgMHgwZWFiLAkxNiwJezB4ZTIsIDB4MDYsIDB4OTAsIDB4N2YsIDB4Y2IsIDB4ZjAsIDB4ODAsIDB4MjIsIDB4ZTUsIDB4MzEsIDB4MzAsIDB4ZTIsIDB4MGEsIDB4OTAsIDB4N2YsIDB4Y2J9IH0sCi17IDB4MGViYiwJMTYsCXsweGUwLCAweDkwLCAweDAyLCAweGZhLCAweGYwLCAweDgwLCAweDEzLCAweGU1LCAweDIyLCAweDMwLCAweGUyLCAweDA3LCAweDkwLCAweDIwLCAweDE0LCAweGUwfSB9LAoteyAweDBlY2IsCTE2LAl7MHg0NCwgMHgwMiwgMHhmMCwgMHg5MCwgMHgyMCwgMHgxMSwgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHhlNSwgMHgyYywgMHg3MCwgMHgwMywgMHg3NSwgMHgyY30gfSwKLXsgMHgwZWRiLAkxNiwJezB4MTQsIDB4ZDAsIDB4ZDAsIDB4ZDAsIDB4ODYsIDB4ZDAsIDB4ODQsIDB4ZDAsIDB4ODUsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzJ9IH0sCi17IDB4MGVlYiwJMTYsCXsweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGMwLCAweDg1LCAweGMwLCAweDg0LCAweGMwLCAweDg2LCAweDc1LCAweDg2LCAweDAwLCAweGMwfSB9LAoteyAweDBlZmIsCTE2LAl7MHhkMCwgMHg3NSwgMHhkMCwgMHgxMCwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhYSwgMHg3NCwgMHgxMCwgMHhmMCwgMHhlNSwgMHgzNCwgMHgyMH0gfSwKLXsgMHgwZjBiLAkxNiwJezB4ZTMsIDB4MDYsIDB4OTAsIDB4N2YsIDB4Y2QsIDB4ZjAsIDB4ODAsIDB4MjIsIDB4ZTUsIDB4MzEsIDB4MzAsIDB4ZTMsIDB4MGEsIDB4OTAsIDB4N2YsIDB4Y2R9IH0sCi17IDB4MGYxYiwJMTYsCXsweGUwLCAweDkwLCAweDAyLCAweGZiLCAweGYwLCAweDgwLCAweDEzLCAweGU1LCAweDIyLCAweDMwLCAweGUzLCAweDA3LCAweDkwLCAweDIwLCAweDFjLCAweGUwfSB9LAoteyAweDBmMmIsCTE2LAl7MHg0NCwgMHgwMiwgMHhmMCwgMHg5MCwgMHgyMCwgMHgxOSwgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHhlNSwgMHgyYywgMHg3MCwgMHgwMywgMHg3NSwgMHgyY30gfSwKLXsgMHgwZjNiLAkxNiwJezB4MTQsIDB4ZDAsIDB4ZDAsIDB4ZDAsIDB4ODYsIDB4ZDAsIDB4ODQsIDB4ZDAsIDB4ODUsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzJ9IH0sCi17IDB4MGY0YiwJMTYsCXsweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGE5LCAweDc0LCAweDgwLCAweGYwLCAweGQwfSB9LAoteyAweDBmNWIsCTYsCXsweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGUwLCAweDMyfSB9LAoteyAweDBmNjEsCTE2LAl7MHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhYSwgMHg3NCwgMHg4MCwgMHhmMCwgMHg5MH0gfSwKLXsgMHgwZjcxLAkxMiwJezB4MDEsIDB4YmQsIDB4NzQsIDB4ZmYsIDB4ZjAsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzJ9IH0sCi17IDB4MGY3ZCwJMTYsCXsweDkwLCAweDAxLCAweDIwLCAweDEyLCAweGEzLCAweGZhLCAweDAwLCAweDAwLCAweDI1LCAweDgwLCAweDkwLCAweDAxLCAweDI0LCAweDc0LCAweDA4LCAweGYwfSB9LAoteyAweDBmOGQsCTE2LAl7MHhhMywgMHg3NCwgMHgwMSwgMHhmMCwgMHhhMywgMHg3NCwgMHg2ZSwgMHhmMCwgMHhhMywgMHhmMCwgMHhhMywgMHg3NCwgMHgxMywgMHhmMCwgMHhhMywgMHg3NH0gfSwKLXsgMHgwZjlkLAkxNiwJezB4MTEsIDB4ZjAsIDB4ZTQsIDB4YTMsIDB4ZjAsIDB4YTMsIDB4ZjAsIDB4OTAsIDB4MDEsIDB4MWUsIDB4ZjAsIDB4OTAsIDB4MDEsIDB4MWUsIDB4ZTAsIDB4ZmZ9IH0sCi17IDB4MGZhZCwJMTYsCXsweDA0LCAweGEzLCAweGYwLCAweGVmLCAweDc1LCAweGYwLCAweDBkLCAweGE0LCAweDI0LCAweDAxLCAweGY5LCAweDc0LCAweDAzLCAweDM1LCAweGYwLCAweGE4fSB9LAoteyAweDBmYmQsCTE2LAl7MHgwMSwgMHhmYywgMHg3ZCwgMHgwMSwgMHg3YiwgMHgwMSwgMHg3YSwgMHgwMSwgMHg3OSwgMHgxZiwgMHg3ZSwgMHgwMCwgMHg3ZiwgMHgwZCwgMHgxMiwgMHhhMn0gfSwKLXsgMHgwZmNkLAkxNiwJezB4MTIsIDB4N2UsIDB4MDEsIDB4N2YsIDB4MWYsIDB4MTIsIDB4ODcsIDB4YTYsIDB4OTAsIDB4MDEsIDB4MWUsIDB4ZTAsIDB4MDQsIDB4ZjAsIDB4ZTAsIDB4YzN9IH0sCi17IDB4MGZkZCwJMTYsCXsweDk0LCAweDA0LCAweDQwLCAweGM3LCAweGU0LCAweGY1LCAweDI3LCAweDkwLCAweDAxLCAweDFlLCAweGYwLCAweDkwLCAweDAxLCAweDFlLCAweGUwLCAweGZmfSB9LAoteyAweDBmZWQsCTE2LAl7MHhjMywgMHg5NCwgMHgwNCwgMHg1MCwgMHgxYSwgMHg3NCwgMHhmOCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHgwMiwgMHhmNSwgMHg4MywgMHhlNH0gfSwKLXsgMHgwZmZkLAkxNiwJezB4ZjAsIDB4NzQsIDB4MjMsIDB4MmYsIDB4ZjgsIDB4ZTQsIDB4ZjYsIDB4OTAsIDB4MDEsIDB4MWUsIDB4ZTAsIDB4MDQsIDB4ZjAsIDB4ODAsIDB4ZGMsIDB4ZTR9IH0sCi17IDB4MTAwZCwJMTYsCXsweGY1LCAweDM0LCAweGU1LCAweGMwLCAweDYwLCAweDJmLCAweDkwLCAweDAxLCAweDFlLCAweDc0LCAweDAxLCAweGYwLCAweDkwLCAweDAxLCAweDFlLCAweGUwfSB9LAoteyAweDEwMWQsCTE2LAl7MHhmZiwgMHhkMywgMHg5NCwgMHgwNCwgMHg1MCwgMHgxZiwgMHhlZiwgMHgxNCwgMHhmZiwgMHg3NCwgMHgwMSwgMHhhOCwgMHgwNywgMHgwOCwgMHg4MCwgMHgwMn0gfSwKLXsgMHgxMDJkLAkxNiwJezB4YzMsIDB4MzMsIDB4ZDgsIDB4ZmMsIDB4NDIsIDB4MzQsIDB4N2UsIDB4MDEsIDB4N2YsIDB4MWUsIDB4MTIsIDB4ODQsIDB4NDEsIDB4OTAsIDB4MDEsIDB4MWV9IH0sCi17IDB4MTAzZCwJMTYsCXsweGUwLCAweDA0LCAweGYwLCAweDgwLCAweGQ3LCAweGU0LCAweGY1LCAweDNlLCAweGY1LCAweDIyLCAweGY1LCAweDMxLCAweGY1LCAweDMyLCAweDkwLCAweDAxfSB9LAoteyAweDEwNGQsCTE2LAl7MHgxZSwgMHhmMCwgMHg5MCwgMHgwMSwgMHgxZSwgMHhlMCwgMHhmZiwgMHg3NSwgMHhmMCwgMHgwOCwgMHhhNCwgMHgyNCwgMHgwNiwgMHhmNSwgMHg4MiwgMHhlNH0gfSwKLXsgMHgxMDVkLAkxNiwJezB4MzQsIDB4MjAsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4ZjAsIDB4ZmUsIDB4NzQsIDB4YzUsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4MDF9IH0sCi17IDB4MTA2ZCwJMTYsCXsweGY1LCAweDgzLCAweGVlLCAweGYwLCAweDc0LCAweDNhLCAweDJmLCAweGY4LCAweGE2LCAweDA2LCAweDc0LCAweDM2LCAweDJmLCAweGY4LCAweGU0LCAweGY2fSB9LAoteyAweDEwN2QsCTE2LAl7MHg3NCwgMHgyZCwgMHgyZiwgMHhmOCwgMHhlNCwgMHhmNiwgMHg3NCwgMHhmYywgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHgwMiwgMHhmNSwgMHg4M30gfSwKLXsgMHgxMDhkLAkxNiwJezB4ZTQsIDB4ZjAsIDB4OTAsIDB4MDEsIDB4MWUsIDB4ZTAsIDB4MDQsIDB4ZjAsIDB4ZTAsIDB4YjQsIDB4MDQsIDB4YjYsIDB4OTAsIDB4MjAsIDB4NjAsIDB4ZTB9IH0sCi17IDB4MTA5ZCwJNCwJezB4NTQsIDB4MGYsIDB4ZjUsIDB4NGV9IH0sCi17IDB4MTBhMSwJMTYsCXsweDcwLCAweDAzLCAweDAyLCAweDExLCAweDI2LCAweGU0LCAweDkwLCAweDAxLCAweDFlLCAweGYwLCAweDkwLCAweDAxLCAweDFlLCAweGUwLCAweGZmLCAweGMzfSB9LAoteyAweDEwYjEsCTE2LAl7MHg5NCwgMHgwNCwgMHg1MCwgMHhlNCwgMHg3NCwgMHgwMSwgMHhhOCwgMHgwNywgMHgwOCwgMHg4MCwgMHgwMiwgMHhjMywgMHgzMywgMHhkOCwgMHhmYywgMHg1NX0gfSwKLXsgMHgxMGMxLAkxNiwJezB4NGUsIDB4NjAsIDB4NWEsIDB4OTAsIDB4MDEsIDB4MWUsIDB4ZTAsIDB4ZmUsIDB4NzUsIDB4ZjAsIDB4MDgsIDB4YTQsIDB4MjQsIDB4MDIsIDB4ZjUsIDB4ODJ9IH0sCi17IDB4MTBkMSwJMTYsCXsweGU0LCAweDM0LCAweDIwLCAweGY1LCAweDgzLCAweGUwLCAweGZmLCAweGVlLCAweDc1LCAweGYwLCAweDA4LCAweGE0LCAweDI0LCAweDA1LCAweGY1LCAweDgyfSB9LAoteyAweDEwZTEsCTE2LAl7MHhlNCwgMHgzNCwgMHgyMCwgMHhmNSwgMHg4MywgMHhlMCwgMHhlZSwgMHg3NSwgMHhmMCwgMHgwOCwgMHhhNCwgMHgyNCwgMHgwNiwgMHhmNSwgMHg4MiwgMHhlNH0gfSwKLXsgMHgxMGYxLAkxNiwJezB4MzQsIDB4MjAsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmYsIDB4YWYsIDB4MDYsIDB4ZWUsIDB4NzUsIDB4ZjAsIDB4MGQsIDB4YTQsIDB4MjQsIDB4MDIsIDB4ZjV9IH0sCi17IDB4MTEwMSwJMTYsCXsweDgyLCAweGU0LCAweDM0LCAweDAzLCAweGY1LCAweDgzLCAweGUwLCAweGZjLCAweGEzLCAweGUwLCAweGZkLCAweGEzLCAweGUwLCAweGZlLCAweGEzLCAweGUwfSB9LAoteyAweDExMTEsCTE2LAl7MHhmNSwgMHg2NiwgMHg4ZSwgMHg2NSwgMHg4ZCwgMHg2NCwgMHg4YywgMHg2MywgMHg3ZCwgMHgwNiwgMHgxMiwgMHg4MywgMHhkZiwgMHg5MCwgMHgwMSwgMHgxZX0gfSwKLXsgMHgxMTIxLAk2LAl7MHhlMCwgMHgwNCwgMHhmMCwgMHg4MCwgMHg4NSwgMHgyMn0gfSwKLXsgMHgxMTI3LAkyLAl7MHhhYywgMHgwN30gfSwKLXsgMHgxMTI5LAkxNiwJezB4OTAsIDB4N2YsIDB4YTUsIDB4ZTAsIDB4NDQsIDB4ODAsIDB4ZjAsIDB4ZWMsIDB4MjUsIDB4ZTAsIDB4NDQsIDB4NDEsIDB4OTAsIDB4N2YsIDB4YTYsIDB4ZjB9IH0sCi17IDB4MTEzOSwJMTYsCXsweDdiLCAweDNjLCAweGFmLCAweDAzLCAweDFiLCAweGVmLCAweDcwLCAweDE2LCAweDkwLCAweDdmLCAweGE1LCAweGUwLCAweDQ0LCAweDQwLCAweGYwLCAweDkwfSB9LAoteyAweDExNDksCTE2LAl7MHg3ZiwgMHhhNiwgMHhlMCwgMHhmZCwgMHg3ZCwgMHgzMiwgMHhhZiwgMHgwNSwgMHgxZCwgMHhlZiwgMHg2MCwgMHhkNCwgMHg4MCwgMHhmOCwgMHg5MCwgMHg3Zn0gfSwKLXsgMHgxMTU5LAkxNiwJezB4YTUsIDB4ZTAsIDB4ZmQsIDB4MzAsIDB4ZTAsIDB4ZGMsIDB4MjAsIDB4ZTEsIDB4MDksIDB4ZTAsIDB4NDQsIDB4NDAsIDB4ZjAsIDB4N2UsIDB4ZmYsIDB4N2Z9IH0sCi17IDB4MTE2OSwJMTYsCXsweGY5LCAweDIyLCAweGVkLCAweDMwLCAweGUyLCAweDBjLCAweDkwLCAweDdmLCAweGE1LCAweGUwLCAweDQ0LCAweDQwLCAweGYwLCAweDdlLCAweGZmLCAweDdmfSB9LAoteyAweDExNzksCTE2LAl7MHhmYSwgMHgyMiwgMHg5MCwgMHg3ZiwgMHhhNSwgMHhlMCwgMHg0NCwgMHgyMCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhNiwgMHhlMCwgMHhmZCwgMHg3YiwgMHgxZX0gfSwKLXsgMHgxMTg5LAkxNiwJezB4YWYsIDB4MDMsIDB4MWIsIDB4ZWYsIDB4NzAsIDB4MTYsIDB4OTAsIDB4N2YsIDB4YTUsIDB4ZTAsIDB4NDQsIDB4NDAsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YTZ9IH0sCi17IDB4MTE5OSwJMTYsCXsweGUwLCAweGZkLCAweDdkLCAweDMyLCAweGFmLCAweDA1LCAweDFkLCAweGVmLCAweDYwLCAweDg2LCAweDgwLCAweGY4LCAweDkwLCAweDdmLCAweGE1LCAweGUwfSB9LAoteyAweDExYTksCTE2LAl7MHhmZCwgMHgyMCwgMHhlMCwgMHhkYywgMHg3YiwgMHgzYywgMHhhZiwgMHgwMywgMHgxYiwgMHhlZiwgMHg3MCwgMHgxOSwgMHg5MCwgMHg3ZiwgMHhhNSwgMHhlMH0gfSwKLXsgMHgxMWI5LAkxNiwJezB4NDQsIDB4NDAsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YTYsIDB4ZTAsIDB4ZmQsIDB4N2QsIDB4MzIsIDB4YWYsIDB4MDUsIDB4MWQsIDB4ZWYsIDB4NzAsIDB4MDN9IH0sCi17IDB4MTFjOSwJMTYsCXsweDAyLCAweDExLCAweDI5LCAweDgwLCAweGY1LCAweDkwLCAweDdmLCAweGE1LCAweGUwLCAweGZkLCAweDMwLCAweGUwLCAweGQ5LCAweDMwLCAweGUyLCAweDA5fSB9LAoteyAweDExZDksCTE2LAl7MHhlMCwgMHg0NCwgMHg0MCwgMHhmMCwgMHg3ZSwgMHhmZiwgMHg3ZiwgMHhmYSwgMHgyMiwgMHhjMiwgMHhhZiwgMHg5MCwgMHg3ZiwgMHhhNSwgMHhlMCwgMHg0NH0gfSwKLXsgMHgxMWU5LAkxMiwJezB4NDAsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YTYsIDB4ZTAsIDB4ZmQsIDB4ZDIsIDB4YWYsIDB4ZmYsIDB4N2UsIDB4MDB9IH0sCi17IDB4MTFmNSwJMSwJezB4MjJ9IH0sCi17IDB4MTIwMCwJMTYsCXsweDEyLCAweDAxLCAweDAwLCAweDAxLCAweGZmLCAweGZmLCAweGZmLCAweDQwLCAweDEwLCAweDA3LCAweDAxLCAweDgwLCAweDQyLCAweDAwLCAweDAxLCAweDAyfSB9LAoteyAweDEyMTAsCTE2LAl7MHgwMywgMHgwMSwgMHgwOSwgMHgwMiwgMHg1OCwgMHgwMCwgMHgwMSwgMHgwMSwgMHgwNCwgMHg4MCwgMHgzYywgMHgwOSwgMHgwNCwgMHgwMCwgMHgwMCwgMHgwYX0gfSwKLXsgMHgxMjIwLAkxNiwJezB4ZmYsIDB4ZmYsIDB4ZmYsIDB4MDUsIDB4MDcsIDB4MDUsIDB4ODEsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDEsIDB4MDIsIDB4NDB9IH0sCi17IDB4MTIzMCwJMTYsCXsweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDgyLCAweDAyLCAweDQwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDAyLCAweDAyLCAweDQwLCAweDAwLCAweDAwfSB9LAoteyAweDEyNDAsCTE2LAl7MHgwNywgMHgwNSwgMHg4MywgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwMywgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNX0gfSwKLXsgMHgxMjUwLAkxNiwJezB4ODQsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDQsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4ODcsIDB4MDJ9IH0sCi17IDB4MTI2MCwJMTYsCXsweDQwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDA3LCAweDAyLCAweDQwLCAweDAwLCAweDAwLCAweDA0LCAweDAzLCAweDA5LCAweDA0LCAweDI0LCAweDAzfSB9LAoteyAweDEyNzAsCTE2LAl7MHg0MywgMHgwMCwgMHg2ZiwgMHgwMCwgMHg2ZSwgMHgwMCwgMHg2ZSwgMHgwMCwgMHg2NSwgMHgwMCwgMHg2MywgMHgwMCwgMHg3NCwgMHgwMCwgMHgyMCwgMHgwMH0gfSwKLXsgMHgxMjgwLAkxNiwJezB4NTQsIDB4MDAsIDB4NjUsIDB4MDAsIDB4NjMsIDB4MDAsIDB4NjgsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NDksIDB4MDAsIDB4NmUsIDB4MDAsIDB4NjMsIDB4MDB9IH0sCi17IDB4MTI5MCwJMTYsCXsweDJlLCAweDAwLCAweDE4LCAweDAzLCAweDU3LCAweDAwLCAweDY4LCAweDAwLCAweDY5LCAweDAwLCAweDc0LCAweDAwLCAweDY1LCAweDAwLCAweDQ4LCAweDAwfSB9LAoteyAweDEyYTAsCTE2LAl7MHg0NSwgMHgwMCwgMHg0MSwgMHgwMCwgMHg1NCwgMHgwMCwgMHgyZCwgMHgwMCwgMHgzNCwgMHgwMCwgMHgxYSwgMHgwMywgMHg1OCwgMHgwMCwgMHg1OCwgMHgwMH0gfSwKLXsgMHgxMmIwLAkxNiwJezB4MmQsIDB4MDAsIDB4NTgsIDB4MDAsIDB4NTgsIDB4MDAsIDB4MmQsIDB4MDAsIDB4NTgsIDB4MDAsIDB4NTgsIDB4MDAsIDB4NTgsIDB4MDAsIDB4NTgsIDB4MDB9IH0sCi17IDB4MTJjMCwJMTYsCXsweDU4LCAweDAwLCAweDU4LCAweDAwLCAweDJhLCAweDAzLCAweDQzLCAweDAwLCAweDZmLCAweDAwLCAweDZlLCAweDAwLCAweDY2LCAweDAwLCAweDY5LCAweDAwfSB9LAoteyAweDEyZDAsCTE2LAl7MHg2NywgMHgwMCwgMHg3NSwgMHgwMCwgMHg3MiwgMHgwMCwgMHg2MSwgMHgwMCwgMHg3NCwgMHgwMCwgMHg2OSwgMHgwMCwgMHg2ZiwgMHgwMCwgMHg2ZSwgMHgwMH0gfSwKLXsgMHgxMmUwLAkxNiwJezB4MjAsIDB4MDAsIDB4NTMsIDB4MDAsIDB4NzQsIDB4MDAsIDB4NzIsIDB4MDAsIDB4NjksIDB4MDAsIDB4NmUsIDB4MDAsIDB4NjcsIDB4MDAsIDB4MjIsIDB4MDN9IH0sCi17IDB4MTJmMCwJMTYsCXsweDQ5LCAweDAwLCAweDZlLCAweDAwLCAweDc0LCAweDAwLCAweDY1LCAweDAwLCAweDcyLCAweDAwLCAweDY2LCAweDAwLCAweDYxLCAweDAwLCAweDYzLCAweDAwfSB9LAoteyAweDEzMDAsCTE2LAl7MHg2NSwgMHgwMCwgMHgyMCwgMHgwMCwgMHg1MywgMHgwMCwgMHg3NCwgMHgwMCwgMHg3MiwgMHgwMCwgMHg2OSwgMHgwMCwgMHg2ZSwgMHgwMCwgMHg2NywgMHgwMH0gfSwKLXsgMHgxMzEwLAkyLAl7MHgwMCwgMHgwMH0gfSwKLXsgMHgxMzEyLAkxNiwJezB4YzAsIDB4ZTAsIDB4YzAsIDB4ZjAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ODUsIDB4YzAsIDB4ODQsIDB4YzAsIDB4ODYsIDB4YzAsIDB4ZDB9IH0sCi17IDB4MTMyMiwJMTYsCXsweDc1LCAweDg2LCAweDAwLCAweDc1LCAweGQwLCAweDE4LCAweDkwLCAweDIwLCAweDYwLCAweGUwLCAweDU0LCAweDBmLCAweGY1LCAweGYwLCAweDcwLCAweDExfSB9LAoteyAweDEzMzIsCTE2LAl7MHhkMCwgMHhkMCwgMHhkMCwgMHg4NiwgMHhkMCwgMHg4NCwgMHhkMCwgMHg4NSwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhmMCwgMHhkMCwgMHhlMH0gfSwKLXsgMHgxMzQyLAkxNiwJezB4MzIsIDB4NzUsIDB4ODYsIDB4MDAsIDB4MTAsIDB4ZjAsIDB4MGIsIDB4MTAsIDB4ZjEsIDB4MTIsIDB4MTAsIDB4ZjIsIDB4MTksIDB4MTAsIDB4ZjMsIDB4MjB9IH0sCi17IDB4MTM1MiwJMTYsCXsweDgwLCAweGQ0LCAweGU1LCAweDI4LCAweDcwLCAweDAzLCAweDc1LCAweDI4LCAweDE0LCAweDAyLCAweDEzLCAweDdjLCAweGU1LCAweDI5LCAweDcwLCAweDAzfSB9LAoteyAweDEzNjIsCTE2LAl7MHg3NSwgMHgyOSwgMHgxNCwgMHgwMiwgMHgxNSwgMHgwZCwgMHhlNSwgMHgyYSwgMHg3MCwgMHgwMywgMHg3NSwgMHgyYSwgMHgxNCwgMHgwMiwgMHgxNiwgMHg5ZX0gfSwKLXsgMHgxMzcyLAkxNiwJezB4ZTUsIDB4MmIsIDB4NzAsIDB4MDMsIDB4NzUsIDB4MmIsIDB4MTQsIDB4MDIsIDB4MTgsIDB4MmYsIDB4OTAsIDB4MjAsIDB4MDIsIDB4ZTAsIDB4NTQsIDB4M2Z9IH0sCi17IDB4MTM4MiwJMTYsCXsweDIwLCAweGUyLCAweDNhLCAweDIwLCAweGUxLCAweDBiLCAweDIwLCAweGU0LCAweDBiLCAweDIwLCAweGU1LCAweDE0LCAweDYwLCAweDA5LCAweDAyLCAweDEzfSB9LAoteyAweDEzOTIsCTE2LAl7MHg0MywgMHgwMiwgMHgxNCwgMHg2NSwgMHgwMiwgMHgxMywgMHg0MywgMHg0MywgMHg4MiwgMHgwNCwgMHhlMCwgMHhmNSwgMHgzYSwgMHgwMiwgMHgxMywgMHg0M30gfSwKLXsgMHgxM2EyLAkxNiwJezB4NDMsIDB4ODIsIDB4MDQsIDB4ZTAsIDB4NDMsIDB4MmQsIDB4MDEsIDB4MDIsIDB4MTMsIDB4NDMsIDB4NTMsIDB4ODIsIDB4ZjgsIDB4NDMsIDB4ODIsIDB4MDV9IH0sCi17IDB4MTNiMiwJMTYsCXsweGUwLCAweDQyLCAweDM2LCAweDUzLCAweDgyLCAweGZiLCAweGUwLCAweDU0LCAweGZiLCAweGYwLCAweDAyLCAweDEzLCAweDQzLCAweDMwLCAweGUxLCAweDAyfSB9LAoteyAweDEzYzIsCTE2LAl7MHg4MCwgMHhlOCwgMHhmNSwgMHg4NSwgMHhlNSwgMHgzMiwgMHgzMCwgMHhlMCwgMHgwYSwgMHg1MywgMHg4MiwgMHhmOCwgMHg0MywgMHg4MiwgMHgwNCwgMHhlMH0gfSwKLXsgMHgxM2QyLAkxNiwJezB4NTQsIDB4ZmUsIDB4ZjAsIDB4ZTUsIDB4ODUsIDB4MjAsIDB4ZTMsIDB4NTYsIDB4OTAsIDB4MjAsIDB4NTAsIDB4NzQsIDB4MDAsIDB4ZjAsIDB4OTAsIDB4MjB9IH0sCi17IDB4MTNlMiwJMTYsCXsweDU4LCAweDc0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGUyLCAweGUwLCAweDQ0LCAweDQwLCAweGYwLCAweDkwLCAweDdmLCAweGUzLCAweDA1LCAweDg2fSB9LAoteyAweDEzZjIsCTE2LAl7MHg5MCwgMHg3ZSwgMHg4MCwgMHgwNSwgMHg4NiwgMHhlNSwgMHg4NSwgMHhmMCwgMHhhMywgMHhlNSwgMHg4NCwgMHhmMCwgMHgwNSwgMHg4NiwgMHg5MCwgMHg3Zn0gfSwKLXsgMHgxNDAyLAkxNiwJezB4ZTUsIDB4ZTUsIDB4M2YsIDB4ZmQsIDB4MDMsIDB4MDMsIDB4MDMsIDB4ZmUsIDB4ZjAsIDB4ZjAsIDB4ZjAsIDB4ZjAsIDB4ZjAsIDB4ZjAsIDB4ZjAsIDB4ZjB9IH0sCi17IDB4MTQxMiwJMTYsCXsweGRlLCAweGY2LCAweDkwLCAweDdmLCAweGUyLCAweGUwLCAweDU0LCAweGJmLCAweGYwLCAweDkwLCAweDIwLCAweDU4LCAweDc0LCAweDAwLCAweGYwLCAweDkwfSB9LAoteyAweDE0MjIsCTE2LAl7MHg3ZiwgMHhiNywgMHhlZCwgMHhmMCwgMHg5MCwgMHgyMCwgMHgwMSwgMHhlMCwgMHg1NCwgMHhmZSwgMHhmMCwgMHgwMiwgMHgxMywgMHg0MywgMHg3ZiwgMHg0MH0gfSwKLXsgMHgxNDMyLAkxNiwJezB4OTAsIDB4N2UsIDB4ODAsIDB4MDUsIDB4ODYsIDB4OTAsIDB4MjAsIDB4MDAsIDB4ZTUsIDB4ODQsIDB4ZmUsIDB4MjQsIDB4MDUsIDB4ZmQsIDB4OGQsIDB4ODR9IH0sCi17IDB4MTQ0MiwJMTYsCXsweGUwLCAweDhlLCAweDg0LCAweDMwLCAweGUwLCAweDA5LCAweGUwLCAweDA1LCAweDg2LCAweGYwLCAweGEzLCAweDA1LCAweDg2LCAweGRmLCAweGVmLCAweDA1fSB9LAoteyAweDE0NTIsCTE2LAl7MHg4NiwgMHhjMywgMHg3NCwgMHg0MCwgMHg5ZiwgMHg5MCwgMHg3ZiwgMHhiNywgMHhmMCwgMHgwNSwgMHg4NiwgMHhhMywgMHhlMCwgMHg1NCwgMHhmZSwgMHhmMH0gfSwKLXsgMHgxNDYyLAkxNiwJezB4MDIsIDB4MTMsIDB4NDMsIDB4NTMsIDB4MmQsIDB4ZmEsIDB4ZTUsIDB4MjMsIDB4NjAsIDB4MDgsIDB4NzUsIDB4MjMsIDB4MDAsIDB4ZDIsIDB4ZTcsIDB4ZmV9IH0sCi17IDB4MTQ3MiwJMTYsCXsweDgwLCAweDBhLCAweDkwLCAweDdmLCAweGM3LCAweGUwLCAweGZlLCAweDcwLCAweDAzLCAweDAyLCAweDE0LCAweGZmLCAweDkwLCAweDIwLCAweDUwLCAweDc0fSB9LAoteyAweDE0ODIsCTE2LAl7MHgwMCwgMHhmMCwgMHg5MCwgMHgyMCwgMHg1OCwgMHg3NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhlMiwgMHhlMCwgMHg0NCwgMHg0MCwgMHhmMCwgMHg5MH0gfSwKLXsgMHgxNDkyLAkxNiwJezB4N2YsIDB4ZTMsIDB4MDUsIDB4ODYsIDB4OTAsIDB4N2UsIDB4NDAsIDB4MDUsIDB4ODYsIDB4ZTUsIDB4ODUsIDB4ZjAsIDB4YTMsIDB4ZTUsIDB4ODQsIDB4ZjB9IH0sCi17IDB4MTRhMiwJMTYsCXsweDA1LCAweDg2LCAweDkwLCAweDdmLCAweGU1LCAweGVlLCAweDMwLCAweGU3LCAweDA4LCAweDA1LCAweDg2LCAweGUwLCAweDI0LCAweDM4LCAweGYwLCAweDA1fSB9LAoteyAweDE0YjIsCTE2LAl7MHg4NiwgMHhlZSwgMHg1NCwgMHg3ZiwgMHhmZSwgMHg1NCwgMHgwNywgMHhmYiwgMHhlZSwgMHg1NCwgMHg3OCwgMHg2MCwgMHgzMCwgMHgwMywgMHgwMywgMHgwM30gfSwKLXsgMHgxNGMyLAkxNiwJezB4MzAsIDB4ZTMsIDB4MDQsIDB4NzQsIDB4MDcsIDB4N2IsIDB4MDgsIDB4ZmQsIDB4ZmMsIDB4ZTAsIDB4ZTAsIDB4ZTAsIDB4ZTAsIDB4ZTAsIDB4ZTAsIDB4ZTB9IH0sCi17IDB4MTRkMiwJMTYsCXsweGUwLCAweGRkLCAweGY2LCAweGViLCAweGZlLCAweDYwLCAweDE5LCAweGVjLCAweDY0LCAweDA3LCAweDcwLCAweDExLCAweDhiLCAweDIzLCAweDkwLCAweDdmfSB9LAoteyAweDE0ZTIsCTE2LAl7MHhlMiwgMHhlMCwgMHg1NCwgMHhiZiwgMHhmMCwgMHg5MCwgMHgyMCwgMHg1OCwgMHg3NCwgMHgwMCwgMHhmMCwgMHg4MCwgMHgxYiwgMHhlMCwgMHhkZSwgMHhmZH0gfSwKLXsgMHgxNGYyLAkxNiwJezB4OTAsIDB4N2YsIDB4ZTIsIDB4ZTAsIDB4NTQsIDB4YmYsIDB4ZjAsIDB4OTAsIDB4MjAsIDB4NTgsIDB4NzQsIDB4MDAsIDB4ZjAsIDB4OTAsIDB4MjAsIDB4MDF9IH0sCi17IDB4MTUwMiwJMTYsCXsweGUwLCAweDU0LCAweGZkLCAweGYwLCAweDkwLCAweDdmLCAweGM3LCAweGYwLCAweDAyLCAweDEzLCAweDQzLCAweDkwLCAweDIwLCAweDBhLCAweGUwLCAweDU0fSB9LAoteyAweDE1MTIsCTE2LAl7MHgzZiwgMHgyMCwgMHhlMiwgMHgzYSwgMHgyMCwgMHhlMSwgMHgwYiwgMHgyMCwgMHhlNCwgMHgwYiwgMHgyMCwgMHhlNSwgMHgxNCwgMHg2MCwgMHgwOSwgMHgwMn0gfSwKLXsgMHgxNTIyLAkxNiwJezB4MTMsIDB4NDMsIDB4MDIsIDB4MTUsIDB4ZjYsIDB4MDIsIDB4MTMsIDB4NDMsIDB4NDMsIDB4ODIsIDB4MDQsIDB4ZTAsIDB4ZjUsIDB4M2IsIDB4MDIsIDB4MTN9IH0sCi17IDB4MTUzMiwJMTYsCXsweDQzLCAweDQzLCAweDgyLCAweDA0LCAweGUwLCAweDQzLCAweDJlLCAweDAxLCAweDAyLCAweDEzLCAweDQzLCAweDUzLCAweDgyLCAweGY4LCAweDQzLCAweDgyfSB9LAoteyAweDE1NDIsCTE2LAl7MHgwNSwgMHhlMCwgMHg0MiwgMHgzNywgMHg1MywgMHg4MiwgMHhmYiwgMHhlMCwgMHg1NCwgMHhmYiwgMHhmMCwgMHgwMiwgMHgxMywgMHg0MywgMHgzMCwgMHhlMX0gfSwKLXsgMHgxNTUyLAkxNiwJezB4MDIsIDB4ODAsIDB4ZTgsIDB4ZjUsIDB4ODUsIDB4ZTUsIDB4MzIsIDB4MzAsIDB4ZTEsIDB4MGEsIDB4NTMsIDB4ODIsIDB4ZjgsIDB4NDMsIDB4ODIsIDB4MDR9IH0sCi17IDB4MTU2MiwJMTYsCXsweGUwLCAweDU0LCAweGZlLCAweGYwLCAweGU1LCAweDg1LCAweDIwLCAweGUzLCAweDU2LCAweDkwLCAweDIwLCAweDUwLCAweDc0LCAweDAxLCAweGYwLCAweDkwfSB9LAoteyAweDE1NzIsCTE2LAl7MHgyMCwgMHg1OCwgMHg3NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhlMiwgMHhlMCwgMHg0NCwgMHg0MCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhlMywgMHgwNX0gfSwKLXsgMHgxNTgyLAkxNiwJezB4ODYsIDB4OTAsIDB4N2UsIDB4MDAsIDB4MDUsIDB4ODYsIDB4ZTUsIDB4ODUsIDB4ZjAsIDB4YTMsIDB4ZTUsIDB4ODQsIDB4ZjAsIDB4MDUsIDB4ODYsIDB4OTB9IH0sCi17IDB4MTU5MiwJMTYsCXsweDdmLCAweGU1LCAweGU1LCAweDQwLCAweGZkLCAweDAzLCAweDAzLCAweDAzLCAweGZlLCAweGYwLCAweGYwLCAweGYwLCAweGYwLCAweGYwLCAweGYwLCAweGYwfSB9LAoteyAweDE1YTIsCTE2LAl7MHhmMCwgMHhkZSwgMHhmNiwgMHg5MCwgMHg3ZiwgMHhlMiwgMHhlMCwgMHg1NCwgMHhiZiwgMHhmMCwgMHg5MCwgMHgyMCwgMHg1OCwgMHg3NCwgMHgwMCwgMHhmMH0gfSwKLXsgMHgxNWIyLAkxNiwJezB4OTAsIDB4N2YsIDB4YjksIDB4ZWQsIDB4ZjAsIDB4OTAsIDB4MjAsIDB4MDksIDB4ZTAsIDB4NTQsIDB4ZmUsIDB4ZjAsIDB4MDIsIDB4MTMsIDB4NDMsIDB4N2Z9IH0sCi17IDB4MTVjMiwJMTYsCXsweDQwLCAweDkwLCAweDdlLCAweDAwLCAweDA1LCAweDg2LCAweDkwLCAweDIwLCAweDA4LCAweGU1LCAweDg0LCAweGZlLCAweDI0LCAweDA1LCAweGZkLCAweDhkfSB9LAoteyAweDE1ZDIsCTE2LAl7MHg4NCwgMHhlMCwgMHg4ZSwgMHg4NCwgMHgzMCwgMHhlMCwgMHgwOSwgMHhlMCwgMHgwNSwgMHg4NiwgMHhmMCwgMHhhMywgMHgwNSwgMHg4NiwgMHhkZiwgMHhlZn0gfSwKLXsgMHgxNWUyLAkxNiwJezB4MDUsIDB4ODYsIDB4YzMsIDB4NzQsIDB4NDAsIDB4OWYsIDB4OTAsIDB4N2YsIDB4YjksIDB4ZjAsIDB4MDUsIDB4ODYsIDB4YTMsIDB4ZTAsIDB4NTQsIDB4ZmV9IH0sCi17IDB4MTVmMiwJMTYsCXsweGYwLCAweDAyLCAweDEzLCAweDQzLCAweDUzLCAweDJlLCAweGZhLCAweGU1LCAweDI0LCAweDYwLCAweDA4LCAweDc1LCAweDI0LCAweDAwLCAweGQyLCAweGU3fSB9LAoteyAweDE2MDIsCTE2LAl7MHhmZSwgMHg4MCwgMHgwYSwgMHg5MCwgMHg3ZiwgMHhjOSwgMHhlMCwgMHhmZSwgMHg3MCwgMHgwMywgMHgwMiwgMHgxNiwgMHg5MCwgMHg5MCwgMHgyMCwgMHg1MH0gfSwKLXsgMHgxNjEyLAkxNiwJezB4NzQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4MjAsIDB4NTgsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZTIsIDB4ZTAsIDB4NDQsIDB4NDAsIDB4ZjB9IH0sCi17IDB4MTYyMiwJMTYsCXsweDkwLCAweDdmLCAweGUzLCAweDA1LCAweDg2LCAweDkwLCAweDdkLCAweGMwLCAweDA1LCAweDg2LCAweGU1LCAweDg1LCAweGYwLCAweGEzLCAweGU1LCAweDg0fSB9LAoteyAweDE2MzIsCTE2LAl7MHhmMCwgMHgwNSwgMHg4NiwgMHg5MCwgMHg3ZiwgMHhlNSwgMHhlZSwgMHgzMCwgMHhlNywgMHgwOCwgMHgwNSwgMHg4NiwgMHhlMCwgMHgyNCwgMHgzOCwgMHhmMH0gfSwKLXsgMHgxNjQyLAkxNiwJezB4MDUsIDB4ODYsIDB4ZWUsIDB4NTQsIDB4N2YsIDB4ZmUsIDB4NTQsIDB4MDcsIDB4ZmIsIDB4ZWUsIDB4NTQsIDB4NzgsIDB4NjAsIDB4MzAsIDB4MDMsIDB4MDN9IH0sCi17IDB4MTY1MiwJMTYsCXsweDAzLCAweDMwLCAweGUzLCAweDA0LCAweDc0LCAweDA3LCAweDdiLCAweDA4LCAweGZkLCAweGZjLCAweGUwLCAweGUwLCAweGUwLCAweGUwLCAweGUwLCAweGUwfSB9LAoteyAweDE2NjIsCTE2LAl7MHhlMCwgMHhlMCwgMHhkZCwgMHhmNiwgMHhlYiwgMHhmZSwgMHg2MCwgMHgxOSwgMHhlYywgMHg2NCwgMHgwNywgMHg3MCwgMHgxMSwgMHg4YiwgMHgyNCwgMHg5MH0gfSwKLXsgMHgxNjcyLAkxNiwJezB4N2YsIDB4ZTIsIDB4ZTAsIDB4NTQsIDB4YmYsIDB4ZjAsIDB4OTAsIDB4MjAsIDB4NTgsIDB4NzQsIDB4MDAsIDB4ZjAsIDB4ODAsIDB4MWIsIDB4ZTAsIDB4ZGV9IH0sCi17IDB4MTY4MiwJMTQsCXsweGZkLCAweDkwLCAweDdmLCAweGUyLCAweGUwLCAweDU0LCAweGJmLCAweGYwLCAweDkwLCAweDIwLCAweDU4LCAweDc0LCAweDAwLCAweGYwfSB9LAoteyAweDE2OTAsCTE2LAl7MHg5MCwgMHgyMCwgMHgwOSwgMHhlMCwgMHg1NCwgMHhmZCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhjOSwgMHhmMCwgMHgwMiwgMHgxMywgMHg0MywgMHg5MCwgMHgyMH0gfSwKLXsgMHgxNmEwLAkxNiwJezB4MTIsIDB4ZTAsIDB4NTQsIDB4M2YsIDB4MjAsIDB4ZTIsIDB4M2EsIDB4MjAsIDB4ZTEsIDB4MGIsIDB4MjAsIDB4ZTQsIDB4MGIsIDB4MjAsIDB4ZTUsIDB4MTR9IH0sCi17IDB4MTZiMCwJMTYsCXsweDYwLCAweDA5LCAweDAyLCAweDEzLCAweDQzLCAweDAyLCAweDE3LCAweDg3LCAweDAyLCAweDEzLCAweDQzLCAweDQzLCAweDgyLCAweDA0LCAweGUwLCAweGY1fSB9LAoteyAweDE2YzAsCTE2LAl7MHgzYywgMHgwMiwgMHgxMywgMHg0MywgMHg0MywgMHg4MiwgMHgwNCwgMHhlMCwgMHg0MywgMHgyZiwgMHgwMSwgMHgwMiwgMHgxMywgMHg0MywgMHg1MywgMHg4Mn0gfSwKLXsgMHgxNmQwLAkxNiwJezB4ZjgsIDB4NDMsIDB4ODIsIDB4MDUsIDB4ZTAsIDB4NDIsIDB4MzgsIDB4NTMsIDB4ODIsIDB4ZmIsIDB4ZTAsIDB4NTQsIDB4ZmIsIDB4ZjAsIDB4MDIsIDB4MTN9IH0sCi17IDB4MTZlMCwJMTYsCXsweDQzLCAweDMwLCAweGUxLCAweDAyLCAweDgwLCAweGU4LCAweGY1LCAweDg1LCAweGU1LCAweDMyLCAweDMwLCAweGUyLCAweDBhLCAweDUzLCAweDgyLCAweGY4fSB9LAoteyAweDE2ZjAsCTE2LAl7MHg0MywgMHg4MiwgMHgwNCwgMHhlMCwgMHg1NCwgMHhmZSwgMHhmMCwgMHhlNSwgMHg4NSwgMHgyMCwgMHhlMywgMHg1NiwgMHg5MCwgMHgyMCwgMHg1MCwgMHg3NH0gfSwKLXsgMHgxNzAwLAkxNiwJezB4MDIsIDB4ZjAsIDB4OTAsIDB4MjAsIDB4NTgsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZTIsIDB4ZTAsIDB4NDQsIDB4NDAsIDB4ZjAsIDB4OTB9IH0sCi17IDB4MTcxMCwJMTYsCXsweDdmLCAweGUzLCAweDA1LCAweDg2LCAweDkwLCAweDdkLCAweDgwLCAweDA1LCAweDg2LCAweGU1LCAweDg1LCAweGYwLCAweGEzLCAweGU1LCAweDg0LCAweGYwfSB9LAoteyAweDE3MjAsCTE2LAl7MHgwNSwgMHg4NiwgMHg5MCwgMHg3ZiwgMHhlNSwgMHhlNSwgMHg0MSwgMHhmZCwgMHgwMywgMHgwMywgMHgwMywgMHhmZSwgMHhmMCwgMHhmMCwgMHhmMCwgMHhmMH0gfSwKLXsgMHgxNzMwLAkxNiwJezB4ZjAsIDB4ZjAsIDB4ZjAsIDB4ZjAsIDB4ZGUsIDB4ZjYsIDB4OTAsIDB4N2YsIDB4ZTIsIDB4ZTAsIDB4NTQsIDB4YmYsIDB4ZjAsIDB4OTAsIDB4MjAsIDB4NTh9IH0sCi17IDB4MTc0MCwJMTYsCXsweDc0LCAweDAwLCAweGYwLCAweDkwLCAweDdmLCAweGJiLCAweGVkLCAweGYwLCAweDkwLCAweDIwLCAweDExLCAweGUwLCAweDU0LCAweGZlLCAweGYwLCAweDAyfSB9LAoteyAweDE3NTAsCTE2LAl7MHgxMywgMHg0MywgMHg3ZiwgMHg0MCwgMHg5MCwgMHg3ZCwgMHg4MCwgMHgwNSwgMHg4NiwgMHg5MCwgMHgyMCwgMHgxMCwgMHhlNSwgMHg4NCwgMHhmZSwgMHgyNH0gfSwKLXsgMHgxNzYwLAkxNiwJezB4MDUsIDB4ZmQsIDB4OGQsIDB4ODQsIDB4ZTAsIDB4OGUsIDB4ODQsIDB4MzAsIDB4ZTAsIDB4MDksIDB4ZTAsIDB4MDUsIDB4ODYsIDB4ZjAsIDB4YTMsIDB4MDV9IH0sCi17IDB4MTc3MCwJMTYsCXsweDg2LCAweGRmLCAweGVmLCAweDA1LCAweDg2LCAweGMzLCAweDc0LCAweDQwLCAweDlmLCAweDkwLCAweDdmLCAweGJiLCAweGYwLCAweDA1LCAweDg2LCAweGEzfSB9LAoteyAweDE3ODAsCTE2LAl7MHhlMCwgMHg1NCwgMHhmZSwgMHhmMCwgMHgwMiwgMHgxMywgMHg0MywgMHg1MywgMHgyZiwgMHhmYSwgMHhlNSwgMHgyNSwgMHg2MCwgMHgwOCwgMHg3NSwgMHgyNX0gfSwKLXsgMHgxNzkwLAkxNiwJezB4MDAsIDB4ZDIsIDB4ZTcsIDB4ZmUsIDB4ODAsIDB4MGEsIDB4OTAsIDB4N2YsIDB4Y2IsIDB4ZTAsIDB4ZmUsIDB4NzAsIDB4MDMsIDB4MDIsIDB4MTgsIDB4MjF9IH0sCi17IDB4MTdhMCwJMTYsCXsweDkwLCAweDIwLCAweDUwLCAweDc0LCAweDAyLCAweGYwLCAweDkwLCAweDIwLCAweDU4LCAweDc0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGUyLCAweGUwfSB9LAoteyAweDE3YjAsCTE2LAl7MHg0NCwgMHg0MCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhlMywgMHgwNSwgMHg4NiwgMHg5MCwgMHg3ZCwgMHg0MCwgMHgwNSwgMHg4NiwgMHhlNSwgMHg4NSwgMHhmMH0gfSwKLXsgMHgxN2MwLAkxNiwJezB4YTMsIDB4ZTUsIDB4ODQsIDB4ZjAsIDB4MDUsIDB4ODYsIDB4OTAsIDB4N2YsIDB4ZTUsIDB4ZWUsIDB4MzAsIDB4ZTcsIDB4MDgsIDB4MDUsIDB4ODYsIDB4ZTB9IH0sCi17IDB4MTdkMCwJMTYsCXsweDI0LCAweDM4LCAweGYwLCAweDA1LCAweDg2LCAweGVlLCAweDU0LCAweDdmLCAweGZlLCAweDU0LCAweDA3LCAweGZiLCAweGVlLCAweDU0LCAweDc4LCAweDYwfSB9LAoteyAweDE3ZTAsCTE2LAl7MHgzMCwgMHgwMywgMHgwMywgMHgwMywgMHgzMCwgMHhlMywgMHgwNCwgMHg3NCwgMHgwNywgMHg3YiwgMHgwOCwgMHhmZCwgMHhmYywgMHhlMCwgMHhlMCwgMHhlMH0gfSwKLXsgMHgxN2YwLAkxNiwJezB4ZTAsIDB4ZTAsIDB4ZTAsIDB4ZTAsIDB4ZTAsIDB4ZGQsIDB4ZjYsIDB4ZWIsIDB4ZmUsIDB4NjAsIDB4MTksIDB4ZWMsIDB4NjQsIDB4MDcsIDB4NzAsIDB4MTF9IH0sCi17IDB4MTgwMCwJMTYsCXsweDhiLCAweDI1LCAweDkwLCAweDdmLCAweGUyLCAweGUwLCAweDU0LCAweGJmLCAweGYwLCAweDkwLCAweDIwLCAweDU4LCAweDc0LCAweDAwLCAweGYwLCAweDgwfSB9LAoteyAweDE4MTAsCTE2LAl7MHgxYiwgMHhlMCwgMHhkZSwgMHhmZCwgMHg5MCwgMHg3ZiwgMHhlMiwgMHhlMCwgMHg1NCwgMHhiZiwgMHhmMCwgMHg5MCwgMHgyMCwgMHg1OCwgMHg3NCwgMHgwMH0gfSwKLXsgMHgxODIwLAkxNiwJezB4ZjAsIDB4OTAsIDB4MjAsIDB4MTEsIDB4ZTAsIDB4NTQsIDB4ZmQsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4Y2IsIDB4ZjAsIDB4MDIsIDB4MTMsIDB4NDMsIDB4OTB9IH0sCi17IDB4MTgzMCwJMTYsCXsweDIwLCAweDFhLCAweGUwLCAweDU0LCAweDNmLCAweDIwLCAweGUyLCAweDNhLCAweDIwLCAweGUxLCAweDBiLCAweDIwLCAweGU0LCAweDBiLCAweDIwLCAweGU1fSB9LAoteyAweDE4NDAsCTE2LAl7MHgxNCwgMHg2MCwgMHgwOSwgMHgwMiwgMHgxMywgMHg0MywgMHgwMiwgMHgxOSwgMHgxOCwgMHgwMiwgMHgxMywgMHg0MywgMHg0MywgMHg4MiwgMHgwNCwgMHhlMH0gfSwKLXsgMHgxODUwLAkxNiwJezB4ZjUsIDB4M2QsIDB4MDIsIDB4MTMsIDB4NDMsIDB4NDMsIDB4ODIsIDB4MDQsIDB4ZTAsIDB4NDMsIDB4MzAsIDB4MDEsIDB4MDIsIDB4MTMsIDB4NDMsIDB4NTN9IH0sCi17IDB4MTg2MCwJMTYsCXsweDgyLCAweGY4LCAweDQzLCAweDgyLCAweDA1LCAweGUwLCAweDQyLCAweDM5LCAweDUzLCAweDgyLCAweGZiLCAweGUwLCAweDU0LCAweGZiLCAweGYwLCAweDAyfSB9LAoteyAweDE4NzAsCTE2LAl7MHgxMywgMHg0MywgMHgzMCwgMHhlMSwgMHgwMiwgMHg4MCwgMHhlOCwgMHhmNSwgMHg4NSwgMHhlNSwgMHgzMiwgMHgzMCwgMHhlMywgMHgwYSwgMHg1MywgMHg4Mn0gfSwKLXsgMHgxODgwLAkxNiwJezB4ZjgsIDB4NDMsIDB4ODIsIDB4MDQsIDB4ZTAsIDB4NTQsIDB4ZmUsIDB4ZjAsIDB4ZTUsIDB4ODUsIDB4MjAsIDB4ZTMsIDB4NTYsIDB4OTAsIDB4MjAsIDB4NTB9IH0sCi17IDB4MTg5MCwJMTYsCXsweDc0LCAweDAzLCAweGYwLCAweDkwLCAweDIwLCAweDU4LCAweDc0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGUyLCAweGUwLCAweDQ0LCAweDQwLCAweGYwfSB9LAoteyAweDE4YTAsCTE2LAl7MHg5MCwgMHg3ZiwgMHhlMywgMHgwNSwgMHg4NiwgMHg5MCwgMHg3ZCwgMHgwMCwgMHgwNSwgMHg4NiwgMHhlNSwgMHg4NSwgMHhmMCwgMHhhMywgMHhlNSwgMHg4NH0gfSwKLXsgMHgxOGIwLAkxNiwJezB4ZjAsIDB4MDUsIDB4ODYsIDB4OTAsIDB4N2YsIDB4ZTUsIDB4ZTUsIDB4NDIsIDB4ZmQsIDB4MDMsIDB4MDMsIDB4MDMsIDB4ZmUsIDB4ZjAsIDB4ZjAsIDB4ZjB9IH0sCi17IDB4MThjMCwJMTYsCXsweGYwLCAweGYwLCAweGYwLCAweGYwLCAweGYwLCAweGRlLCAweGY2LCAweDkwLCAweDdmLCAweGUyLCAweGUwLCAweDU0LCAweGJmLCAweGYwLCAweDkwLCAweDIwfSB9LAoteyAweDE4ZDAsCTE2LAl7MHg1OCwgMHg3NCwgMHgwMCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiZCwgMHhlZCwgMHhmMCwgMHg5MCwgMHgyMCwgMHgxOSwgMHhlMCwgMHg1NCwgMHhmZSwgMHhmMH0gfSwKLXsgMHgxOGUwLAkxNiwJezB4MDIsIDB4MTMsIDB4NDMsIDB4N2YsIDB4NDAsIDB4OTAsIDB4N2QsIDB4MDAsIDB4MDUsIDB4ODYsIDB4OTAsIDB4MjAsIDB4MTgsIDB4ZTUsIDB4ODQsIDB4ZmV9IH0sCi17IDB4MThmMCwJMTYsCXsweDI0LCAweDA1LCAweGZkLCAweDhkLCAweDg0LCAweGUwLCAweDhlLCAweDg0LCAweDMwLCAweGUwLCAweDA5LCAweGUwLCAweDA1LCAweDg2LCAweGYwLCAweGEzfSB9LAoteyAweDE5MDAsCTE2LAl7MHgwNSwgMHg4NiwgMHhkZiwgMHhlZiwgMHgwNSwgMHg4NiwgMHhjMywgMHg3NCwgMHg0MCwgMHg5ZiwgMHg5MCwgMHg3ZiwgMHhiZCwgMHhmMCwgMHgwNSwgMHg4Nn0gfSwKLXsgMHgxOTEwLAkxNiwJezB4YTMsIDB4ZTAsIDB4NTQsIDB4ZmUsIDB4ZjAsIDB4MDIsIDB4MTMsIDB4NDMsIDB4NTMsIDB4MzAsIDB4ZmEsIDB4ZTUsIDB4MjYsIDB4NjAsIDB4MDgsIDB4NzV9IH0sCi17IDB4MTkyMCwJMTYsCXsweDI2LCAweDAwLCAweGQyLCAweGU3LCAweGZlLCAweDgwLCAweDBhLCAweDkwLCAweDdmLCAweGNkLCAweGUwLCAweGZlLCAweDcwLCAweDAzLCAweDAyLCAweDE5fSB9LAoteyAweDE5MzAsCTE2LAl7MHhiMiwgMHg5MCwgMHgyMCwgMHg1MCwgMHg3NCwgMHgwMywgMHhmMCwgMHg5MCwgMHgyMCwgMHg1OCwgMHg3NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhlMn0gfSwKLXsgMHgxOTQwLAkxNiwJezB4ZTAsIDB4NDQsIDB4NDAsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZTMsIDB4MDUsIDB4ODYsIDB4OTAsIDB4N2MsIDB4YzAsIDB4MDUsIDB4ODYsIDB4ZTUsIDB4ODV9IH0sCi17IDB4MTk1MCwJMTYsCXsweGYwLCAweGEzLCAweGU1LCAweDg0LCAweGYwLCAweDA1LCAweDg2LCAweDkwLCAweDdmLCAweGU1LCAweGVlLCAweDMwLCAweGU3LCAweDA4LCAweDA1LCAweDg2fSB9LAoteyAweDE5NjAsCTE2LAl7MHhlMCwgMHgyNCwgMHgzOCwgMHhmMCwgMHgwNSwgMHg4NiwgMHhlZSwgMHg1NCwgMHg3ZiwgMHhmZSwgMHg1NCwgMHgwNywgMHhmYiwgMHhlZSwgMHg1NCwgMHg3OH0gfSwKLXsgMHgxOTcwLAkxNiwJezB4NjAsIDB4MzAsIDB4MDMsIDB4MDMsIDB4MDMsIDB4MzAsIDB4ZTMsIDB4MDQsIDB4NzQsIDB4MDcsIDB4N2IsIDB4MDgsIDB4ZmQsIDB4ZmMsIDB4ZTAsIDB4ZTB9IH0sCi17IDB4MTk4MCwJMTYsCXsweGUwLCAweGUwLCAweGUwLCAweGUwLCAweGUwLCAweGUwLCAweGRkLCAweGY2LCAweGViLCAweGZlLCAweDYwLCAweDE5LCAweGVjLCAweDY0LCAweDA3LCAweDcwfSB9LAoteyAweDE5OTAsCTE2LAl7MHgxMSwgMHg4YiwgMHgyNiwgMHg5MCwgMHg3ZiwgMHhlMiwgMHhlMCwgMHg1NCwgMHhiZiwgMHhmMCwgMHg5MCwgMHgyMCwgMHg1OCwgMHg3NCwgMHgwMCwgMHhmMH0gfSwKLXsgMHgxOWEwLAkxNiwJezB4ODAsIDB4MWIsIDB4ZTAsIDB4ZGUsIDB4ZmQsIDB4OTAsIDB4N2YsIDB4ZTIsIDB4ZTAsIDB4NTQsIDB4YmYsIDB4ZjAsIDB4OTAsIDB4MjAsIDB4NTgsIDB4NzR9IH0sCi17IDB4MTliMCwJMTYsCXsweDAwLCAweGYwLCAweDkwLCAweDIwLCAweDE5LCAweGUwLCAweDU0LCAweGZkLCAweGYwLCAweDkwLCAweDdmLCAweGNkLCAweGYwLCAweDAyLCAweDEzLCAweDQzfSB9LAoteyAweDE5YzAsCTEsCXsweDMyfSB9LAoteyAweDE5YzEsCTQsCXsweGFkLCAweDA3LCAweGFjLCAweDA2fSB9LAoteyAweDE5YzUsCTE2LAl7MHg3OSwgMHgwNiwgMHhlZCwgMHgyNCwgMHgwNCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzYywgMHhmNSwgMHg4MywgMHhlMCwgMHhmYSwgMHhhMywgMHhlMCwgMHhmYn0gfSwKLXsgMHgxOWQ1LAkxNiwJezB4NGEsIDB4NzAsIDB4MDMsIDB4MDIsIDB4MWIsIDB4MDksIDB4ZTksIDB4YjQsIDB4MDcsIDB4MDAsIDB4NDAsIDB4MDMsIDB4MDIsIDB4MWEsIDB4ZGIsIDB4OTB9IH0sCi17IDB4MTllNSwJMTYsCXsweDE5LCAweGViLCAweGY4LCAweDI4LCAweDI4LCAweDczLCAweDAyLCAweDFhLCAweGI5LCAweDAyLCAweDFhLCAweDcxLCAweDAyLCAweDFhLCAweDVhLCAweDAyfSB9LAoteyAweDE5ZjUsCTE2LAl7MHgxYSwgMHg0MCwgMHgwMiwgMHgxYSwgMHgyZiwgMHgwMiwgMHgxYSwgMHgxYSwgMHgwMiwgMHgxYSwgMHgwMCwgMHg5MCwgMHg3ZiwgMHhhNSwgMHhlMCwgMHg0NH0gfSwKLXsgMHgxYTA1LAkxNiwJezB4ODAsIDB4ZjAsIDB4OGQsIDB4ODIsIDB4OGMsIDB4ODMsIDB4YTMsIDB4ZTAsIDB4ZmYsIDB4MjUsIDB4ZTAsIDB4NDQsIDB4YTAsIDB4OTAsIDB4N2YsIDB4YTZ9IH0sCi17IDB4MWExNSwJMTYsCXsweGYwLCAweDE5LCAweDAyLCAweDFhLCAweGRiLCAweDE5LCAweDhkLCAweDgyLCAweDhjLCAweDgzLCAweGUwLCAweGMzLCAweDk0LCAweDIwLCAweDQwLCAweDBhfSB9LAoteyAweDFhMjUsCTE2LAl7MHhhMywgMHhhMywgMHhlMCwgMHg5MCwgMHg3ZiwgMHhhNiwgMHhmMCwgMHgwMiwgMHgxYSwgMHhkYiwgMHg4ZCwgMHg4MiwgMHg4YywgMHg4MywgMHhhMywgMHhhM30gfSwKLXsgMHgxYTM1LAkxNiwJezB4ZTAsIDB4YTMsIDB4ZTAsIDB4OTAsIDB4N2YsIDB4YTYsIDB4ZjAsIDB4MTksIDB4MDIsIDB4MWEsIDB4ZGIsIDB4OTAsIDB4N2YsIDB4YTUsIDB4ZTAsIDB4NDR9IH0sCi17IDB4MWE0NSwJMTYsCXsweDgwLCAweGYwLCAweDhkLCAweDgyLCAweDhjLCAweDgzLCAweGEzLCAweGUwLCAweGZmLCAweDI1LCAweGUwLCAweDQ0LCAweGExLCAweDkwLCAweDdmLCAweGE2fSB9LAoteyAweDFhNTUsCTE2LAl7MHhmMCwgMHgxOSwgMHgwMiwgMHgxYSwgMHhkYiwgMHhlYiwgMHg2NCwgMHgwMSwgMHg0YSwgMHg3MCwgMHgwOCwgMHg5MCwgMHg3ZiwgMHhhNSwgMHhlMCwgMHg0NH0gfSwKLXsgMHgxYTY1LAkxNiwJezB4MjAsIDB4ZjAsIDB4MTksIDB4OTAsIDB4N2YsIDB4YTYsIDB4ZTAsIDB4ZjUsIDB4NTksIDB4MTksIDB4ODAsIDB4NmEsIDB4ZWQsIDB4MjQsIDB4MDQsIDB4ZjV9IH0sCi17IDB4MWE3NSwJMTYsCXsweDgyLCAweGU0LCAweDNjLCAweGY1LCAweDgzLCAweGUwLCAweGZlLCAweGEzLCAweGUwLCAweDY0LCAweDAyLCAweDRlLCAweDcwLCAweDA4LCAweDkwLCAweDdmfSB9LAoteyAweDFhODUsCTE2LAl7MHhhNSwgMHhlMCwgMHg0NCwgMHgyMCwgMHhmMCwgMHgxOSwgMHg5MCwgMHg3ZiwgMHhhNiwgMHhlMCwgMHhmZiwgMHhlZCwgMHgyNCwgMHgwNiwgMHhmNSwgMHg4Mn0gfSwKLXsgMHgxYTk1LAkxNiwJezB4ZTQsIDB4M2MsIDB4ZjUsIDB4ODMsIDB4ZTQsIDB4NzUsIDB4ZjAsIDB4MDEsIDB4MTIsIDB4YTIsIDB4OTcsIDB4ODUsIDB4ZjAsIDB4ODIsIDB4ZjUsIDB4ODN9IH0sCi17IDB4MWFhNSwJMTYsCXsweGVmLCAweGYwLCAweGVkLCAweDI0LCAweDA0LCAweGY1LCAweDgyLCAweGU0LCAweDNjLCAweGY1LCAweDgzLCAweDc0LCAweGZmLCAweGY1LCAweGYwLCAweDEyfSB9LAoteyAweDFhYjUsCTE2LAl7MHhhMiwgMHg4MSwgMHg4MCwgMHgyMiwgMHg5MCwgMHg3ZiwgMHhhNSwgMHhlMCwgMHg0NCwgMHg0MCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhNiwgMHhlMCwgMHhmZn0gfSwKLXsgMHgxYWM1LAkxNiwJezB4ZWQsIDB4MjQsIDB4MDYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4M2MsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmEsIDB4YTMsIDB4ZTAsIDB4ZjUsIDB4ODIsIDB4OGF9IH0sCi17IDB4MWFkNSwJMTYsCXsweDgzLCAweGVmLCAweGYwLCAweDdmLCAweDA4LCAweDIyLCAweDkwLCAweDdmLCAweGE1LCAweGUwLCAweGY1LCAweDU5LCAweDMwLCAweGUwLCAweGY3LCAweDMwfSB9LAoteyAweDFhZTUsCTE2LAl7MHhlMiwgMHgwNywgMHhlMCwgMHg0NCwgMHg0MCwgMHhmMCwgMHg3ZiwgMHgwNiwgMHgyMiwgMHhlOSwgMHhkMywgMHg5NCwgMHgwMiwgMHg1MCwgMHgwMywgMHgwMn0gfSwKLXsgMHgxYWY1LAkxNiwJezB4MTksIDB4YzcsIDB4ZTUsIDB4NTksIDB4MzAsIDB4ZTEsIDB4MDMsIDB4MDIsIDB4MTksIDB4YzcsIDB4OTAsIDB4N2YsIDB4YTUsIDB4ZTAsIDB4NDQsIDB4NDB9IH0sCi17IDB4MWIwNSwJNiwJezB4ZjAsIDB4N2YsIDB4MDcsIDB4MjIsIDB4N2YsIDB4MDh9IH0sCi17IDB4MWIwYiwJMSwJezB4MjJ9IH0sCi17IDB4MWIwYywJMTYsCXsweGU1LCAweDMzLCAweGMzLCAweDk0LCAweDAxLCAweDUwLCAweDFjLCAweDdmLCAweDA1LCAweDdlLCAweDAwLCAweDEyLCAweDA5LCAweGFlLCAweDdmLCAweDAyfSB9LAoteyAweDFiMWMsCTE2LAl7MHg3ZCwgMHhmZiwgMHgxMiwgMHg4MiwgMHhlYSwgMHg3ZiwgMHgwNSwgMHg3ZSwgMHgwMCwgMHgxMiwgMHgwOSwgMHhhZSwgMHg3ZiwgMHgwMywgMHg3ZCwgMHhmZn0gfSwKLXsgMHgxYjJjLAk0LAl7MHgxMiwgMHg4MiwgMHhlYSwgMHgyMn0gfSwKLXsgMHg4MDAwLAkxNiwJezB4N2IsIDB4ZmYsIDB4N2EsIDB4MTIsIDB4NzksIDB4MWIsIDB4OTAsIDB4MDAsIDB4MDQsIDB4MTIsIDB4YTIsIDB4NTQsIDB4ZmQsIDB4OGIsIDB4NTAsIDB4NzV9IH0sCi17IDB4ODAxMCwJMTYsCXsweDUxLCAweDEyLCAweDc1LCAweDUyLCAweDI0LCAweGU0LCAweDkwLCAweDdmLCAweGUxLCAweGYwLCAweDkwLCAweDdmLCAweGUwLCAweGYwLCAweGY1LCAweDRlfSB9LAoteyAweDgwMjAsCTE2LAl7MHhmNSwgMHg0ZiwgMHg5MCwgMHgwMiwgMHhhZSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhkZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhkZSwgMHhmMCwgMHg5MCwgMHg3Zn0gfSwKLXsgMHg4MDMwLAkxNiwJezB4YTksIDB4NzQsIDB4ZmYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YWEsIDB4ZjAsIDB4ZTQsIDB4ZmMsIDB4ZWMsIDB4MjUsIDB4ZTAsIDB4MjQsIDB4YjQsIDB4ZjV9IH0sCi17IDB4ODA0MCwJMTYsCXsweDgyLCAweGU0LCAweDM0LCAweDdmLCAweGY1LCAweDgzLCAweGU0LCAweGYwLCAweDBjLCAweGJjLCAweDEwLCAweGVlLCAweGU0LCAweDkwLCAweDdmLCAweGRkfSB9LAoteyAweDgwNTAsCTE2LAl7MHhmMCwgMHhhZiwgMHgwNSwgMHgxZCwgMHhlZiwgMHg3MCwgMHgwMywgMHgwMiwgMHg4MSwgMHhjNiwgMHhhYiwgMHg1MCwgMHhhYSwgMHg1MSwgMHhhOSwgMHg1Mn0gfSwKLXsgMHg4MDYwLAkxNiwJezB4OTAsIDB4MDAsIDB4MDEsIDB4MTIsIDB4YTIsIDB4NTQsIDB4NjQsIDB4MDUsIDB4NjAsIDB4MDMsIDB4MDIsIDB4ODEsIDB4YjUsIDB4OTAsIDB4MDAsIDB4MDN9IH0sCi17IDB4ODA3MCwJMTYsCXsweDEyLCAweGEyLCAweDU0LCAweDY0LCAweDAxLCAweDYwLCAweDAzLCAweDAyLCAweDgxLCAweDNjLCAweDkwLCAweDAwLCAweDAyLCAweDEyLCAweGEyLCAweDU0fSB9LAoteyAweDgwODAsCTE2LAl7MHhmZiwgMHg1NCwgMHg3ZiwgMHhmYywgMHhkMywgMHg5NCwgMHgwNywgMHg1MCwgMHgwMywgMHgwMiwgMHg4MSwgMHgxNiwgMHhlYywgMHhjMywgMHg5NCwgMHgxMH0gfSwKLXsgMHg4MDkwLAkxNiwJezB4NDAsIDB4MDMsIDB4MDIsIDB4ODEsIDB4MTYsIDB4ZWYsIDB4MzAsIDB4ZTcsIDB4NDIsIDB4ZTUsIDB4NGYsIDB4YWUsIDB4NGUsIDB4NzgsIDB4MDIsIDB4Y2V9IH0sCi17IDB4ODBhMCwJMTYsCXsweGMzLCAweDEzLCAweGNlLCAweDEzLCAweGQ4LCAweGY5LCAweGZmLCAweDc0LCAweGYwLCAweDJjLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdmLCAweGY1fSB9LAoteyAweDgwYjAsCTE2LAl7MHg4MywgMHhlZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhlMCwgMHhlMCwgMHhmZiwgMHhlYywgMHgyNCwgMHhmOCwgMHhmZSwgMHg3NCwgMHgwMSwgMHhhOCwgMHgwNn0gfSwKLXsgMHg4MGMwLAkxNiwJezB4MDgsIDB4ODAsIDB4MDIsIDB4YzMsIDB4MzMsIDB4ZDgsIDB4ZmMsIDB4NGYsIDB4OTAsIDB4N2YsIDB4ZTAsIDB4ZjAsIDB4OTAsIDB4MDIsIDB4YWUsIDB4ZTB9IH0sCi17IDB4ODBkMCwJMTYsCXsweDA0LCAweGYwLCAweDkwLCAweDdmLCAweGRkLCAweGUwLCAweDQ0LCAweDgwLCAweGYwLCAweDgwLCAweDNlLCAweGU1LCAweDRmLCAweGFlLCAweDRlLCAweDc4fSB9LAoteyAweDgwZTAsCTE2LAl7MHgwMiwgMHhjZSwgMHhjMywgMHgxMywgMHhjZSwgMHgxMywgMHhkOCwgMHhmOSwgMHhmZiwgMHg3NCwgMHhlOCwgMHgyYywgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNH0gfSwKLXsgMHg4MGYwLAkxNiwJezB4N2YsIDB4ZjUsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZTEsIDB4ZTAsIDB4ZmYsIDB4ZWMsIDB4MjQsIDB4ZjgsIDB4ZmUsIDB4NzQsIDB4MDF9IH0sCi17IDB4ODEwMCwJMTYsCXsweGE4LCAweDA2LCAweDA4LCAweDgwLCAweDAyLCAweGMzLCAweDMzLCAweGQ4LCAweGZjLCAweDRmLCAweDkwLCAweDdmLCAweGUxLCAweGYwLCAweDkwLCAweDAyfSB9LAoteyAweDgxMTAsCTE2LAl7MHhhZSwgMHhlMCwgMHgwNCwgMHhmMCwgMHg4MCwgMHgwMywgMHg3ZiwgMHhmZiwgMHgyMiwgMHg5MCwgMHgwMCwgMHgwNCwgMHgxMiwgMHhhMiwgMHg1NCwgMHgyNX0gfSwKLXsgMHg4MTIwLAkxNiwJezB4NGYsIDB4ZjUsIDB4NGYsIDB4ZTQsIDB4MzUsIDB4NGUsIDB4ZjUsIDB4NGUsIDB4OTAsIDB4MDAsIDB4MDUsIDB4MTIsIDB4YTIsIDB4NTQsIDB4ZmUsIDB4ZTR9IH0sCi17IDB4ODEzMCwJMTYsCXsweDI1LCAweDRmLCAweGY1LCAweDRmLCAweGVlLCAweDM1LCAweDRlLCAweGY1LCAweDRlLCAweDAyLCAweDgxLCAweGI4LCAweGFiLCAweDUwLCAweGFhLCAweDUxfSB9LAoteyAweDgxNDAsCTE2LAl7MHhhOSwgMHg1MiwgMHg5MCwgMHgwMCwgMHgwMywgMHgxMiwgMHhhMiwgMHg1NCwgMHhmZiwgMHg2NCwgMHgwMiwgMHg2MCwgMHgwNSwgMHhlZiwgMHg2NCwgMHgwM30gfSwKLXsgMHg4MTUwLAkxNiwJezB4NzAsIDB4NjAsIDB4OTAsIDB4MDAsIDB4MDIsIDB4MTIsIDB4YTIsIDB4NTQsIDB4ZmYsIDB4NTQsIDB4N2YsIDB4ZmMsIDB4ZDMsIDB4OTQsIDB4MDcsIDB4NTB9IH0sCi17IDB4ODE2MCwJMTYsCXsweDRlLCAweGVmLCAweDMwLCAweGU3LCAweDFlLCAweDkwLCAweDdmLCAweGRlLCAweGUwLCAweGZmLCAweDc0LCAweDAxLCAweGE4LCAweDA0LCAweDA4LCAweDgwfSB9LAoteyAweDgxNzAsCTE2LAl7MHgwMiwgMHhjMywgMHgzMywgMHhkOCwgMHhmYywgMHhmZSwgMHg0ZiwgMHg5MCwgMHg3ZiwgMHhkZSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhYywgMHhlMCwgMHg0ZX0gfSwKLXsgMHg4MTgwLAkxNiwJezB4ZjAsIDB4ODAsIDB4MzUsIDB4OTAsIDB4N2YsIDB4ZGYsIDB4ZTAsIDB4ZmYsIDB4NzQsIDB4MDEsIDB4YTgsIDB4MDQsIDB4MDgsIDB4ODAsIDB4MDIsIDB4YzN9IH0sCi17IDB4ODE5MCwJMTYsCXsweDMzLCAweGQ4LCAweGZjLCAweGZlLCAweDRmLCAweDkwLCAweDdmLCAweGRmLCAweGYwLCAweDkwLCAweDdmLCAweGFkLCAweGUwLCAweDRlLCAweGYwLCAweGVjfSB9LAoteyAweDgxYTAsCTE2LAl7MHgyNSwgMHhlMCwgMHgyNCwgMHhjNSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZiwgMHhmNSwgMHg4MywgMHhlYywgMHhmMCwgMHg4MCwgMHgwOSwgMHg3Zn0gfSwKLXsgMHg4MWIwLAkxNiwJezB4ZmYsIDB4MjIsIDB4N2YsIDB4ZmYsIDB4MjIsIDB4N2YsIDB4ZmYsIDB4MjIsIDB4NzQsIDB4MDcsIDB4MjUsIDB4NTIsIDB4ZjUsIDB4NTIsIDB4ZTQsIDB4MzV9IH0sCi17IDB4ODFjMCwJMTYsCXsweDUxLCAweGY1LCAweDUxLCAweDAyLCAweDgwLCAweDUxLCAweDIwLCAweDAzLCAweDBkLCAweDkwLCAweDAyLCAweGFlLCAweGUwLCAweDYwLCAweDA3LCAweDkwfSB9LAoteyAweDgxZDAsCTgsCXsweDdmLCAweGFlLCAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweDdmLCAweDAwfSB9LAoteyAweDgxZDgsCTEsCXsweDIyfSB9LAoteyAweDgxZDksCTQsCXsweDhlLCAweDU5LCAweDhmLCAweDVhfSB9LAoteyAweDgxZGQsCTE2LAl7MHg3NSwgMHg1YiwgMHgwMywgMHhlNSwgMHg1YSwgMHgyNCwgMHgwNCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHg1OSwgMHhmNSwgMHg4MywgMHhlMCwgMHhmZX0gfSwKLXsgMHg4MWVkLAkxNiwJezB4YTMsIDB4ZTAsIDB4NGUsIDB4NzAsIDB4MDMsIDB4MDIsIDB4ODIsIDB4ZTcsIDB4ZTUsIDB4NWIsIDB4NjAsIDB4NGUsIDB4MTQsIDB4NjAsIDB4MzgsIDB4MTR9IH0sCi17IDB4ODFmZCwJMTYsCXsweDYwLCAweDIwLCAweDE0LCAweDYwLCAweDAzLCAweDAyLCAweDgyLCAweDhiLCAweDkwLCAweDdmLCAweGE1LCAweGUwLCAweDQ0LCAweDgwLCAweGYwLCAweDg1fSB9LAoteyAweDgyMGQsCTE2LAl7MHg1YSwgMHg4MiwgMHg4NSwgMHg1OSwgMHg4MywgMHhhMywgMHhlMCwgMHhmZiwgMHgyNSwgMHhlMCwgMHg0NCwgMHhhMCwgMHg5MCwgMHg3ZiwgMHhhNiwgMHhmMH0gfSwKLXsgMHg4MjFkLAkxNiwJezB4ODAsIDB4NmMsIDB4ODUsIDB4NWEsIDB4ODIsIDB4ODUsIDB4NTksIDB4ODMsIDB4ZTAsIDB4YzMsIDB4OTQsIDB4MjAsIDB4NDAsIDB4MDksIDB4YTMsIDB4YTN9IH0sCi17IDB4ODIyZCwJMTYsCXsweGUwLCAweDkwLCAweDdmLCAweGE2LCAweGYwLCAweDgwLCAweDU3LCAweDE1LCAweDViLCAweDg1LCAweDVhLCAweDgyLCAweDg1LCAweDU5LCAweDgzLCAweGEzfSB9LAoteyAweDgyM2QsCTE2LAl7MHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHg5MCwgMHg3ZiwgMHhhNiwgMHhmMCwgMHg4MCwgMHg0NCwgMHhlNSwgMHg1YSwgMHgyNCwgMHgwNiwgMHhmNSwgMHg4Mn0gfSwKLXsgMHg4MjRkLAkxNiwJezB4ZTQsIDB4MzUsIDB4NTksIDB4ZjUsIDB4ODMsIDB4ZTQsIDB4NzUsIDB4ZjAsIDB4MDEsIDB4MTIsIDB4YTIsIDB4OTcsIDB4ODUsIDB4ZjAsIDB4ODIsIDB4ZjV9IH0sCi17IDB4ODI1ZCwJMTYsCXsweDgzLCAweGUwLCAweDkwLCAweDdmLCAweGE2LCAweGYwLCAweDkwLCAweDdmLCAweGE1LCAweGUwLCAweDQ0LCAweDQwLCAweGYwLCAweGU1LCAweDVhLCAweDI0fSB9LAoteyAweDgyNmQsCTE2LAl7MHgwNCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHg1OSwgMHhmNSwgMHg4MywgMHg3NCwgMHhmZiwgMHhmNSwgMHhmMCwgMHgxMiwgMHhhMiwgMHg4MSwgMHg4NX0gfSwKLXsgMHg4MjdkLAkxNiwJezB4NWEsIDB4ODIsIDB4ODUsIDB4NTksIDB4ODMsIDB4YTMsIDB4YTMsIDB4ZTQsIDB4NzUsIDB4ZjAsIDB4MDEsIDB4MTIsIDB4YTIsIDB4ODEsIDB4OTAsIDB4N2Z9IH0sCi17IDB4ODI4ZCwJMTYsCXsweGE1LCAweGUwLCAweGY1LCAweDVjLCAweDMwLCAweGUwLCAweGY3LCAweDMwLCAweGUyLCAweDA3LCAweGUwLCAweDQ0LCAweDQwLCAweGYwLCAweDdmLCAweDA2fSB9LAoteyAweDgyOWQsCTE2LAl7MHgyMiwgMHhlNSwgMHg1YywgMHgyMCwgMHhlMSwgMHgwYSwgMHg5MCwgMHg3ZiwgMHhhNSwgMHhlMCwgMHg0NCwgMHg0MCwgMHhmMCwgMHg3ZiwgMHgwNywgMHgyMn0gfSwKLXsgMHg4MmFkLAkxNiwJezB4ZTUsIDB4NWIsIDB4NzAsIDB4MzEsIDB4N2YsIDB4MDEsIDB4N2UsIDB4MDAsIDB4MTIsIDB4MDksIDB4YWUsIDB4OTAsIDB4N2YsIDB4YTUsIDB4ZTAsIDB4NDR9IH0sCi17IDB4ODJiZCwJMTYsCXsweDgwLCAweGYwLCAweDg1LCAweDVhLCAweDgyLCAweDg1LCAweDU5LCAweDgzLCAweGEzLCAweGUwLCAweGZmLCAweDI1LCAweGUwLCAweDQ0LCAweGEwLCAweDkwfSB9LAoteyAweDgyY2QsCTE2LAl7MHg3ZiwgMHhhNiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhNSwgMHhlMCwgMHhmNSwgMHg1YywgMHgzMCwgMHhlMCwgMHhmNywgMHgzMCwgMHhlMSwgMHhkNSwgMHg3NX0gfSwKLXsgMHg4MmRkLAkxMiwJezB4NWIsIDB4MDMsIDB4MDIsIDB4ODEsIDB4ZTAsIDB4MTUsIDB4NWIsIDB4MDIsIDB4ODEsIDB4ZTAsIDB4N2YsIDB4MDh9IH0sCi17IDB4ODJlOSwJMSwJezB4MjJ9IH0sCi17IDB4ODJlYSwJMiwJezB4YWUsIDB4MDd9IH0sCi17IDB4ODJlYywJMTYsCXsweDdjLCAweDAyLCAweGVjLCAweDE0LCAweDYwLCAweDE1LCAweDE0LCAweDcwLCAweDFlLCAweDkwLCAweDdmLCAweGE1LCAweGUwLCAweDQ0LCAweDgwLCAweGYwfSB9LAoteyAweDgyZmMsCTE2LAl7MHhlZSwgMHgyNSwgMHhlMCwgMHg0NCwgMHg0MCwgMHg5MCwgMHg3ZiwgMHhhNiwgMHhmMCwgMHg4MCwgMHgwYywgMHg5MCwgMHg3ZiwgMHhhNiwgMHhlZCwgMHhmMH0gfSwKLXsgMHg4MzBjLAkxNiwJezB4OTAsIDB4N2YsIDB4YTUsIDB4ZTAsIDB4NDQsIDB4NDAsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YTUsIDB4ZTAsIDB4ZmIsIDB4MzAsIDB4ZTAsIDB4ZjgsIDB4YmN9IH0sCi17IDB4ODMxYywJMTYsCXsweDAyLCAweDBhLCAweDIwLCAweGUxLCAweDA3LCAweGUwLCAweDQ0LCAweDQwLCAweGYwLCAweDdmLCAweDA3LCAweDIyLCAweGViLCAweDMwLCAweGUyLCAweDBhfSB9LAoteyAweDgzMmMsCTE0LAl7MHg5MCwgMHg3ZiwgMHhhNSwgMHhlMCwgMHg0NCwgMHg0MCwgMHhmMCwgMHg3ZiwgMHgwNiwgMHgyMiwgMHhkYywgMHhiNiwgMHg3ZiwgMHgwOH0gfSwKLXsgMHg4MzNhLAkxLAl7MHgyMn0gfSwKLXsgMHg4MzNiLAkxNiwJezB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YzIsIDB4YTksIDB4OTAsIDB4MDMsIDB4MDAsIDB4NzQsIDB4MTksIDB4ZjAsIDB4ZDIsIDB4YTl9IH0sCi17IDB4ODM0YiwJMTUsCXsweDUzLCAweDkxLCAweDdmLCAweDkwLCAweDAxLCAweGM0LCAweGU0LCAweGYwLCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGUwLCAweDMyfSB9LAoteyAweDgzNWEsCTE2LAl7MHhlZiwgMHg3NSwgMHhmMCwgMHgwOCwgMHhhNCwgMHgyNCwgMHgwMCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHgyMCwgMHhhYiwgMHg4MiwgMHhmYSwgMHhmNX0gfSwKLXsgMHg4MzZhLAkxNiwJezB4ODMsIDB4YTMsIDB4ZTQsIDB4ZjAsIDB4OGIsIDB4ODIsIDB4OGEsIDB4ODMsIDB4YTMsIDB4YTMsIDB4YTMsIDB4ZTAsIDB4ZjUsIDB4NjEsIDB4NzQsIDB4YmZ9IH0sCi17IDB4ODM3YSwJMTYsCXsweGYwLCAweDhiLCAweDgyLCAweDhhLCAweDgzLCAweGEzLCAweGEzLCAweGUwLCAweDQ0LCAweDEwLCAweGYwLCAweDhiLCAweDgyLCAweDhhLCAweDgzLCAweGEzfSB9LAoteyAweDgzOGEsCTE2LAl7MHhhMywgMHhhMywgMHhlNCwgMHhmMCwgMHg4YiwgMHg4MiwgMHg4YSwgMHg4MywgMHhhMywgMHhmMCwgMHhmOSwgMHhlZCwgMHg2MCwgMHgxZCwgMHg3NCwgMHgwMX0gfSwKLXsgMHg4MzlhLAkxNiwJezB4N2UsIDB4MDAsIDB4YTgsIDB4MDcsIDB4MDgsIDB4ODAsIDB4MDUsIDB4YzMsIDB4MzMsIDB4Y2UsIDB4MzMsIDB4Y2UsIDB4ZDgsIDB4ZjksIDB4ZmYsIDB4ZTR9IH0sCi17IDB4ODNhYSwJMTYsCXsweGVmLCAweDU1LCAweDMxLCAweDYwLCAweDA0LCAweDc5LCAweDA5LCAweDgwLCAweDAyLCAweDc5LCAweDBkLCAweDhiLCAweDgyLCAweDhhLCAweDgzLCAweGEzfSB9LAoteyAweDgzYmEsCTE2LAl7MHhhMywgMHhhMywgMHg3NCwgMHhiZiwgMHhmMCwgMHg4YiwgMHg4MiwgMHg4YSwgMHg4MywgMHhhMywgMHhhMywgMHhlMCwgMHg1NCwgMHhlZiwgMHhmMCwgMHg4Yn0gfSwKLXsgMHg4M2NhLAkxNiwJezB4ODIsIDB4OGEsIDB4ODMsIDB4YTMsIDB4YTMsIDB4YTMsIDB4ZTUsIDB4NjEsIDB4ZjAsIDB4YWUsIDB4MDIsIDB4YWYsIDB4MDMsIDB4OGYsIDB4ODIsIDB4OGV9IH0sCi17IDB4ODNkYSwJNCwJezB4ODMsIDB4YTMsIDB4ZTksIDB4ZjB9IH0sCi17IDB4ODNkZSwJMSwJezB4MjJ9IH0sCi17IDB4ODNkZiwJNCwJezB4OGYsIDB4NjEsIDB4OGQsIDB4NjJ9IH0sCi17IDB4ODNlMywJMTYsCXsweGU0LCAweGY1LCAweDY3LCAweDc0LCAweDNmLCAweDJmLCAweGY4LCAweDc2LCAweDA4LCAweDdmLCAweDgwLCAweDdlLCAweDI1LCAweDdkLCAweDAwLCAweDdjfSB9LAoteyAweDgzZjMsCTE2LAl7MHgwMCwgMHhhYiwgMHg2NiwgMHhhYSwgMHg2NSwgMHhhOSwgMHg2NCwgMHhhOCwgMHg2MywgMHhkMywgMHgxMiwgMHhhMywgMHhiMywgMHg0MCwgMHgyNiwgMHg3Zn0gfSwKLXsgMHg4NDAzLAkxNiwJezB4MDAsIDB4N2UsIDB4OTYsIDB4N2QsIDB4MDAsIDB4N2MsIDB4MDAsIDB4YTgsIDB4NjMsIDB4ZDMsIDB4MTIsIDB4YTMsIDB4YjMsIDB4NTAsIDB4MGMsIDB4NzV9IH0sCi17IDB4ODQxMywJMTYsCXsweDY3LCAweDQwLCAweDc0LCAweDNmLCAweDI1LCAweDYxLCAweGY4LCAweDc2LCAweDEwLCAweDgwLCAweDBhLCAweDc1LCAweDY3LCAweDgwLCAweDc0LCAweDNmfSB9LAoteyAweDg0MjMsCTE2LAl7MHgyNSwgMHg2MSwgMHhmOCwgMHg3NiwgMHgzOCwgMHhlNSwgMHg2NywgMHg0NSwgMHg2MiwgMHg0NCwgMHgwMSwgMHhmZiwgMHhlNSwgMHg2MSwgMHg3NSwgMHhmMH0gfSwKLXsgMHg4NDMzLAkxMywJezB4MDgsIDB4YTQsIDB4MjQsIDB4MDIsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4MjAsIDB4ZjUsIDB4ODMsIDB4ZWYsIDB4ZjB9IH0sCi17IDB4ODQ0MCwJMSwJezB4MjJ9IH0sCi17IDB4ODQ0MSwJMTYsCXsweDhmLCAweDgyLCAweDhlLCAweDgzLCAweGUwLCAweDE0LCAweGY1LCAweDU3LCAweGMzLCAweDk0LCAweDA0LCAweDQwLCAweDAzLCAweDdmLCAweGZmLCAweDIyfSB9LAoteyAweDg0NTEsCTE2LAl7MHhlNSwgMHg1NywgMHg3NSwgMHhmMCwgMHgwOCwgMHhhNCwgMHgyNCwgMHgwMCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHgyMCwgMHhhZiwgMHg4MiwgMHhmNX0gfSwKLXsgMHg4NDYxLAkxNiwJezB4NTgsIDB4OGYsIDB4NTksIDB4ZTUsIDB4NTcsIDB4MjUsIDB4ZTAsIDB4MjQsIDB4YzYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2YsIDB4ZjUsIDB4ODN9IH0sCi17IDB4ODQ3MSwJMTYsCXsweGUwLCAweDIwLCAweGUxLCAweDBmLCAweGU1LCAweDU3LCAweDI1LCAweGUwLCAweDI0LCAweGM3LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdmLCAweGY1fSB9LAoteyAweDg0ODEsCTE2LAl7MHg4MywgMHhlNCwgMHhmMCwgMHg3NCwgMHgyMywgMHgyNSwgMHg1NywgMHhmOCwgMHhlNCwgMHhmNiwgMHhlNSwgMHg1OSwgMHgyNCwgMHgwNCwgMHhmNSwgMHg4Mn0gfSwKLXsgMHg4NDkxLAkxNiwJezB4ZTQsIDB4MzUsIDB4NTgsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NDQsIDB4MDMsIDB4ZjAsIDB4ZTUsIDB4NTcsIDB4NzUsIDB4ZjAsIDB4MGQsIDB4YTQsIDB4MjR9IH0sCi17IDB4ODRhMSwJMTYsCXsweDAyLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDAzLCAweGY1LCAweDgzLCAweGUwLCAweGZjLCAweGEzLCAweGUwLCAweGZkLCAweGEzLCAweGUwLCAweGZlfSB9LAoteyAweDg0YjEsCTE2LAl7MHhhMywgMHhlMCwgMHhmNSwgMHg2NiwgMHg4ZSwgMHg2NSwgMHg4ZCwgMHg2NCwgMHg4YywgMHg2MywgMHg3ZCwgMHgwNiwgMHhhZiwgMHg1NywgMHgxMiwgMHg4M30gfSwKLXsgMHg4NGMxLAkxNiwJezB4ZGYsIDB4YWYsIDB4NTcsIDB4N2QsIDB4MDEsIDB4MTIsIDB4ODMsIDB4NWEsIDB4ODUsIDB4NTksIDB4ODIsIDB4ODUsIDB4NTgsIDB4ODMsIDB4YTMsIDB4YTN9IH0sCi17IDB4ODRkMSwJMTYsCXsweGUwLCAweDIwLCAweGUwLCAweDQzLCAweGUwLCAweGZmLCAweGU1LCAweDU5LCAweDI0LCAweDA1LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDU4LCAweGY1fSB9LAoteyAweDg0ZTEsCTE2LAl7MHg4MywgMHhlMCwgMHhlNSwgMHg1OSwgMHgyNCwgMHgwNiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHg1OCwgMHhmNSwgMHg4MywgMHhlMCwgMHhmZiwgMHhlNX0gfSwKLXsgMHg4NGYxLAkxNiwJezB4NTcsIDB4NzUsIDB4ZjAsIDB4MGQsIDB4YTQsIDB4MjQsIDB4MDIsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4MDMsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmN9IH0sCi17IDB4ODUwMSwJMTYsCXsweGEzLCAweGUwLCAweGZkLCAweGEzLCAweGUwLCAweGZlLCAweGEzLCAweGUwLCAweGY1LCAweDY2LCAweDhlLCAweDY1LCAweDhkLCAweDY0LCAweDhjLCAweDYzfSB9LAoteyAweDg1MTEsCTE2LAl7MHg3ZCwgMHgwNiwgMHhhZiwgMHg1NywgMHgxMiwgMHg4MywgMHhkZiwgMHg3NCwgMHhmOCwgMHgyNSwgMHg1NywgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHgwMn0gfSwKLXsgMHg4NTIxLAkxNiwJezB4ZjUsIDB4ODMsIDB4ZTQsIDB4ZjAsIDB4ZTUsIDB4NTcsIDB4MjUsIDB4ZTAsIDB4ZmYsIDB4YzMsIDB4NzQsIDB4MGMsIDB4OWYsIDB4NzUsIDB4ZjAsIDB4NDB9IH0sCi17IDB4ODUzMSwJMTYsCXsweGE0LCAweDI0LCAweDQwLCAweGY1LCAweDgyLCAweGU1LCAweGYwLCAweDM0LCAweDdiLCAweGFmLCAweDgyLCAweGZlLCAweGU1LCAweDU3LCAweDI1LCAweGUwfSB9LAoteyAweDg1NDEsCTE2LAl7MHgyNCwgMHhlZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHgwMiwgMHhmNSwgMHg4MywgMHhlZSwgMHhmMCwgMHhhMywgMHhlZiwgMHhmMCwgMHhhZiwgMHg1N30gfSwKLXsgMHg4NTUxLAkxNSwJezB4NzQsIDB4MDEsIDB4YTgsIDB4MDcsIDB4MDgsIDB4ODAsIDB4MDIsIDB4YzMsIDB4MzMsIDB4ZDgsIDB4ZmMsIDB4NDIsIDB4MzQsIDB4N2YsIDB4MDB9IH0sCi17IDB4ODU2MCwJMSwJezB4MjJ9IH0sCi17IDB4ODU2MSwJMTYsCXsweDhmLCAweDgyLCAweDhlLCAweDgzLCAweGUwLCAweDE0LCAweGY1LCAweDU3LCAweGMzLCAweDk0LCAweDA0LCAweDQwLCAweDAzLCAweDdmLCAweGZmLCAweDIyfSB9LAoteyAweDg1NzEsCTE2LAl7MHhhZiwgMHg1NywgMHhlNCwgMHhmZCwgMHgxMiwgMHg4MywgMHg1YSwgMHg3NCwgMHhmOCwgMHgyNSwgMHg1NywgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHgwMn0gfSwKLXsgMHg4NTgxLAkxNiwJezB4ZjUsIDB4ODMsIDB4ZTQsIDB4ZjAsIDB4ZTUsIDB4NTcsIDB4NzUsIDB4ZjAsIDB4MDgsIDB4YTQsIDB4MjQsIDB4MDAsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzR9IH0sCi17IDB4ODU5MSwJMTYsCXsweDIwLCAweGFmLCAweDgyLCAweGY1LCAweDU5LCAweDhmLCAweDVhLCAweGY1LCAweDgzLCAweGU1LCAweDgyLCAweDI0LCAweDA0LCAweGY1LCAweDgyLCAweGU0fSB9LAoteyAweDg1YTEsCTE2LAl7MHgzNSwgMHg4MywgMHhmNSwgMHg4MywgMHhlMCwgMHg1NCwgMHhmYywgMHhmMCwgMHhlNSwgMHg1NywgMHg3NSwgMHhmMCwgMHgwZCwgMHhhNCwgMHgyNCwgMHgwY30gfSwKLXsgMHg4NWIxLAkxNiwJezB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4MDMsIDB4ZjUsIDB4ODMsIDB4ZTQsIDB4ZjAsIDB4ZTUsIDB4NTcsIDB4NzUsIDB4ZjAsIDB4MGQsIDB4YTQsIDB4MjR9IH0sCi17IDB4ODVjMSwJMTYsCXsweDAyLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDAzLCAweGY1LCAweDgzLCAweGUwLCAweGZjLCAweGEzLCAweGUwLCAweGZkLCAweGEzLCAweGUwLCAweGZlfSB9LAoteyAweDg1ZDEsCTE2LAl7MHhhMywgMHhlMCwgMHhmNSwgMHg2NiwgMHg4ZSwgMHg2NSwgMHg4ZCwgMHg2NCwgMHg4YywgMHg2MywgMHg3ZCwgMHgwNiwgMHhhZiwgMHg1NywgMHgxMiwgMHg4M30gfSwKLXsgMHg4NWUxLAkxNiwJezB4ZGYsIDB4ZTUsIDB4NWEsIDB4MjQsIDB4MDUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4NTksIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MzAsIDB4ZTAsIDB4MDl9IH0sCi17IDB4ODVmMSwJMTYsCXsweDg1LCAweDVhLCAweDgyLCAweDg1LCAweDU5LCAweDgzLCAweGUwLCAweGY1LCAweDU4LCAweGFmLCAweDU3LCAweDc0LCAweDAxLCAweGE4LCAweDA3LCAweDA4fSB9LAoteyAweDg2MDEsCTE2LAl7MHg4MCwgMHgwMiwgMHhjMywgMHgzMywgMHhkOCwgMHhmYywgMHhmNCwgMHg1MiwgMHgzNCwgMHhlNSwgMHg1NywgMHgyNSwgMHhlMCwgMHgyNCwgMHhjNiwgMHhmNX0gfSwKLXsgMHg4NjExLAkxNiwJezB4ODIsIDB4ZTQsIDB4MzQsIDB4N2YsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MjAsIDB4ZTEsIDB4MGYsIDB4ZTUsIDB4NTcsIDB4MjUsIDB4ZTAsIDB4MjQsIDB4Yzd9IH0sCi17IDB4ODYyMSwJMTEsCXsweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdmLCAweGY1LCAweDgzLCAweGU0LCAweGYwLCAweDdmLCAweDAwfSB9LAoteyAweDg2MmMsCTEsCXsweDIyfSB9LAoteyAweDg2MmQsCTQsCXsweDhlLCAweDU3LCAweDhmLCAweDU4fSB9LAoteyAweDg2MzEsCTE2LAl7MHg4ZiwgMHg4MiwgMHg4ZSwgMHg4MywgMHhlMCwgMHgxNCwgMHhmNSwgMHg1OSwgMHhjMywgMHg5NCwgMHgwNCwgMHg0MCwgMHgwMywgMHg3ZiwgMHhmZiwgMHgyMn0gfSwKLXsgMHg4NjQxLAkxNiwJezB4ZTUsIDB4NTksIDB4NzUsIDB4ZjAsIDB4MDgsIDB4YTQsIDB4MjQsIDB4MDEsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4MjAsIDB4ZjUsIDB4ODMsIDB4ZTB9IH0sCi17IDB4ODY1MSwJMTYsCXsweDU0LCAweDAzLCAweDcwLCAweDY2LCAweDg1LCAweDU4LCAweDgyLCAweDg1LCAweDU3LCAweDgzLCAweGEzLCAweGUwLCAweDMwLCAweGUwLCAweDI4LCAweGU1fSB9LAoteyAweDg2NjEsCTE2LAl7MHg1OSwgMHg3NSwgMHhmMCwgMHgwZCwgMHhhNCwgMHgyNCwgMHgwMiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHgwMywgMHhmNSwgMHg4MywgMHhlMCwgMHhmY30gfSwKLXsgMHg4NjcxLAkxNiwJezB4YTMsIDB4ZTAsIDB4ZmQsIDB4YTMsIDB4ZTAsIDB4ZmUsIDB4YTMsIDB4ZTAsIDB4ZjUsIDB4NjYsIDB4OGUsIDB4NjUsIDB4OGQsIDB4NjQsIDB4OGMsIDB4NjN9IH0sCi17IDB4ODY4MSwJMTYsCXsweDdkLCAweDAyLCAweGFmLCAweDU5LCAweDEyLCAweDgzLCAweGRmLCAweDg1LCAweDU4LCAweDgyLCAweDg1LCAweDU3LCAweDgzLCAweGEzLCAweGUwLCAweDMwfSB9LAoteyAweDg2OTEsCTE2LAl7MHhlMSwgMHgyOCwgMHhlNSwgMHg1OSwgMHg3NSwgMHhmMCwgMHgwZCwgMHhhNCwgMHgyNCwgMHgwMiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHgwMywgMHhmNX0gfSwKLXsgMHg4NmExLAkxNiwJezB4ODMsIDB4ZTAsIDB4ZmMsIDB4YTMsIDB4ZTAsIDB4ZmQsIDB4YTMsIDB4ZTAsIDB4ZmUsIDB4YTMsIDB4ZTAsIDB4ZjUsIDB4NjYsIDB4OGUsIDB4NjUsIDB4OGR9IH0sCi17IDB4ODZiMSwJMTIsCXsweDY0LCAweDhjLCAweDYzLCAweDdkLCAweDA0LCAweGFmLCAweDU5LCAweDEyLCAweDgzLCAweGRmLCAweDdmLCAweDAwfSB9LAoteyAweDg2YmQsCTEsCXsweDIyfSB9LAoteyAweDg2YmUsCTE2LAl7MHg4ZiwgMHg4MiwgMHg4ZSwgMHg4MywgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhlMCwgMHhmZCwgMHhhMywgMHhhMywgMHhhMywgMHhlMCwgMHhmYywgMHhlZH0gfSwKLXsgMHg4NmNlLAkxNiwJezB4NmMsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZjAsIDB4OGYsIDB4ODIsIDB4OGUsIDB4ODMsIDB4YTMsIDB4YTMsIDB4YTMsIDB4YzAsIDB4ODMsIDB4YzB9IH0sCi17IDB4ODZkZSwJMTYsCXsweDgyLCAweGUwLCAweGZkLCAweDhmLCAweDgyLCAweDhlLCAweDgzLCAweGUwLCAweGZjLCAweGVkLCAweDZjLCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGYwfSB9LAoteyAweDg2ZWUsCTE2LAl7MHg4ZiwgMHg4MiwgMHg4ZSwgMHg4MywgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhhMywgMHhhMywgMHhhMywgMHhlMCwgMHhmZCwgMHhlYywgMHg2ZCwgMHhkMH0gfSwKLXsgMHg4NmZlLAkxNiwJezB4ODIsIDB4ZDAsIDB4ODMsIDB4ZjAsIDB4OGYsIDB4ODIsIDB4OGUsIDB4ODMsIDB4YTMsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4ZTAsIDB4ZmQsIDB4OGZ9IH0sCi17IDB4ODcwZSwJMTYsCXsweDgyLCAweDhlLCAweDgzLCAweGEzLCAweGEzLCAweGUwLCAweGZjLCAweGVkLCAweDZjLCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGYwLCAweDhmLCAweDgyfSB9LAoteyAweDg3MWUsCTE2LAl7MHg4ZSwgMHg4MywgMHhhMywgMHhhMywgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhlMCwgMHhmZCwgMHg4ZiwgMHg4MiwgMHg4ZSwgMHg4MywgMHhhMywgMHhlMH0gfSwKLXsgMHg4NzJlLAkxNiwJezB4ZmMsIDB4ZWQsIDB4NmMsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZjAsIDB4OGYsIDB4ODIsIDB4OGUsIDB4ODMsIDB4YTMsIDB4YzAsIDB4ODMsIDB4YzB9IH0sCi17IDB4ODczZSwJMTYsCXsweDgyLCAweGUwLCAweGZkLCAweDhmLCAweDgyLCAweDhlLCAweDgzLCAweGEzLCAweGEzLCAweGUwLCAweGZmLCAweGVkLCAweDZmLCAweGQwLCAweDgyLCAweGQwfSB9LAoteyAweDg3NGUsCTMsCXsweDgzLCAweGYwLCAweDIyfSB9LAoteyAweDg3NTEsCTQsCXsweGFkLCAweDA3LCAweGFjLCAweDA2fSB9LAoteyAweDg3NTUsCTE2LAl7MHg3OSwgMHgwZCwgMHg4ZCwgMHg4MiwgMHg4YywgMHg4MywgMHhlMCwgMHgxNCwgMHhmZSwgMHhjMywgMHg5NCwgMHgwNCwgMHg0MCwgMHgwMywgMHg3ZiwgMHhmZn0gfSwKLXsgMHg4NzY1LAkxNiwJezB4MjIsIDB4OGMsIDB4NTcsIDB4OGQsIDB4NTgsIDB4ZWUsIDB4NzUsIDB4ZjAsIDB4MGQsIDB4YTQsIDB4MjQsIDB4MDEsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzR9IH0sCi17IDB4ODc3NSwJMTYsCXsweDAzLCAweGFmLCAweDgyLCAweGZlLCAweGFkLCAweDAxLCAweDE5LCAweGVkLCAweDYwLCAweDI0LCAweDBmLCAweGVmLCAweGFjLCAweDA2LCAweDcwLCAweDAxfSB9LAoteyAweDg3ODUsCTE2LAl7MHgwZSwgMHgxNCwgMHhmNSwgMHg4MiwgMHg4YywgMHg4MywgMHhlMCwgMHhmZCwgMHgwNSwgMHg1OCwgMHhlNSwgMHg1OCwgMHhhYSwgMHg1NywgMHg3MCwgMHgwMn0gfSwKLXsgMHg4Nzk1LAkxNiwJezB4MDUsIDB4NTcsIDB4MTQsIDB4ZjUsIDB4ODIsIDB4OGEsIDB4ODMsIDB4ZTAsIDB4NmQsIDB4NjAsIDB4ZDksIDB4N2YsIDB4MDEsIDB4MjIsIDB4N2YsIDB4MDB9IH0sCi17IDB4ODdhNSwJMSwJezB4MjJ9IH0sCi17IDB4ODdhNiwJNCwJezB4OGUsIDB4NTcsIDB4OGYsIDB4NTh9IH0sCi17IDB4ODdhYSwJMTYsCXsweDhmLCAweDgyLCAweDhlLCAweDgzLCAweGUwLCAweDE0LCAweGY1LCAweDVlLCAweGMzLCAweDk0LCAweDA0LCAweDQwLCAweDAzLCAweDdmLCAweGZmLCAweDIyfSB9LAoteyAweDg3YmEsCTE2LAl7MHhlNSwgMHg1ZSwgMHg3NSwgMHhmMCwgMHgwOCwgMHhhNCwgMHgyNCwgMHgwMCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHgyMCwgMHhhZiwgMHg4MiwgMHhmNX0gfSwKLXsgMHg4N2NhLAkxNiwJezB4NWYsIDB4OGYsIDB4NjAsIDB4ODUsIDB4NTgsIDB4ODIsIDB4ODUsIDB4NTcsIDB4ODMsIDB4YTMsIDB4ZTAsIDB4ZmMsIDB4YTMsIDB4ZTAsIDB4ZmQsIDB4YTN9IH0sCi17IDB4ODdkYSwJMTYsCXsweGUwLCAweGZlLCAweGEzLCAweGUwLCAweGZmLCAweDdiLCAweDA4LCAweDdhLCAweDAwLCAweDc5LCAweDAwLCAweDc4LCAweDAwLCAweGQzLCAweDEyLCAweGEzfSB9LAoteyAweDg3ZWEsCTE2LAl7MHhiMywgMHg0MCwgMHgxMCwgMHg4NSwgMHg1OCwgMHg4MiwgMHg4NSwgMHg1NywgMHg4MywgMHhhMywgMHgxMiwgMHhhMywgMHhmYSwgMHgwMCwgMHgwMCwgMHgwMH0gfSwKLXsgMHg4N2ZhLAkxNiwJezB4MDgsIDB4ODAsIDB4MmUsIDB4ODUsIDB4NTgsIDB4ODIsIDB4ODUsIDB4NTcsIDB4ODMsIDB4YTMsIDB4ZTAsIDB4ZmMsIDB4YTMsIDB4ZTAsIDB4ZmQsIDB4YTN9IH0sCi17IDB4ODgwYSwJMTYsCXsweGUwLCAweGZlLCAweGEzLCAweGUwLCAweGZmLCAweDdiLCAweDAwLCAweDdhLCAweDA4LCAweDc5LCAweDA3LCAweDc4LCAweDAwLCAweGMzLCAweDEyLCAweGEzfSB9LAoteyAweDg4MWEsCTE2LAl7MHhiMywgMHg1MCwgMHgwZSwgMHg4NSwgMHg1OCwgMHg4MiwgMHg4NSwgMHg1NywgMHg4MywgMHhhMywgMHgxMiwgMHhhMywgMHhmYSwgMHgwMCwgMHgwNywgMHgwOH0gfSwKLXsgMHg4ODJhLAkxNiwJezB4MDAsIDB4ODUsIDB4NTgsIDB4ODIsIDB4ODUsIDB4NTcsIDB4ODMsIDB4YTMsIDB4ZTAsIDB4ZjgsIDB4YTMsIDB4ZTAsIDB4ZjksIDB4YTMsIDB4ZTAsIDB4ZmF9IH0sCi17IDB4ODgzYSwJMTYsCXsweGEzLCAweGUwLCAweGZiLCAweDdmLCAweDAwLCAweDdlLCAweDUwLCAweDdkLCAweDQ2LCAweDdjLCAweDAwLCAweDEyLCAweGEzLCAweDIxLCAweDhmLCAweDVjfSB9LAoteyAweDg4NGEsCTE2LAl7MHg4ZSwgMHg1YiwgMHg4ZCwgMHg1YSwgMHg4YywgMHg1OSwgMHg3YiwgMHgwYSwgMHg3YSwgMHgwMCwgMHg3OSwgMHgwMCwgMHg3OCwgMHgwMCwgMHgxMiwgMHhhM30gfSwKLXsgMHg4ODVhLAkxNiwJezB4MjEsIDB4YWYsIDB4MDMsIDB4OGYsIDB4NWQsIDB4YWYsIDB4NWMsIDB4YWUsIDB4NWIsIDB4YWQsIDB4NWEsIDB4YWMsIDB4NTksIDB4N2IsIDB4MGEsIDB4N2F9IH0sCi17IDB4ODg2YSwJMTYsCXsweDAwLCAweDc5LCAweDAwLCAweDc4LCAweDAwLCAweDEyLCAweGEzLCAweDIxLCAweDhmLCAweDVjLCAweDhlLCAweDViLCAweDhkLCAweDVhLCAweDhjLCAweDU5fSB9LAoteyAweDg4N2EsCTE2LAl7MHhlNSwgMHg1ZCwgMHhjMywgMHg5NCwgMHgwNSwgMHg0MCwgMHgxNSwgMHhlNSwgMHg1YywgMHgyNCwgMHgwMSwgMHhmNSwgMHg1YywgMHhlNCwgMHgzNSwgMHg1Yn0gfSwKLXsgMHg4ODhhLAkxNiwJezB4ZjUsIDB4NWIsIDB4ZTQsIDB4MzUsIDB4NWEsIDB4ZjUsIDB4NWEsIDB4ZTQsIDB4MzUsIDB4NTksIDB4ZjUsIDB4NTksIDB4ODUsIDB4NjAsIDB4ODIsIDB4ODV9IH0sCi17IDB4ODg5YSwJMTYsCXsweDVmLCAweDgzLCAweGEzLCAweGU0LCAweGYwLCAweDg1LCAweDYwLCAweDgyLCAweDg1LCAweDVmLCAweDgzLCAweGEzLCAweGEzLCAweGEzLCAweGUwLCAweDQ0fSB9LAoteyAweDg4YWEsCTE2LAl7MHg4MCwgMHhmMCwgMHg4NSwgMHg2MCwgMHg4MiwgMHg4NSwgMHg1ZiwgMHg4MywgMHhlNSwgMHg1YywgMHhmMCwgMHhhZiwgMHg1YywgMHhhZSwgMHg1YiwgMHhhZH0gfSwKLXsgMHg4OGJhLAkxNiwJezB4NWEsIDB4YWMsIDB4NTksIDB4NzgsIDB4MDgsIDB4MTIsIDB4YTMsIDB4YzQsIDB4ODUsIDB4NjAsIDB4ODIsIDB4ODUsIDB4NWYsIDB4ODMsIDB4YTMsIDB4ZWZ9IH0sCi17IDB4ODhjYSwJMTYsCXsweGYwLCAweDg1LCAweDYwLCAweDgyLCAweDg1LCAweDVmLCAweDgzLCAweGEzLCAweGEzLCAweGEzLCAweGUwLCAweDU0LCAweDdmLCAweGYwLCAweGU0LCAweGY1fSB9LAoteyAweDg4ZGEsCTE2LAl7MHg1ZCwgMHhlNSwgMHg1OCwgMHgyNCwgMHgwYiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHg1NywgMHhmNSwgMHg4MywgMHhlMCwgMHhmZiwgMHgzMCwgMHhlMH0gfSwKLXsgMHg4OGVhLAkxNiwJezB4MjMsIDB4NTQsIDB4MDEsIDB4ZjAsIDB4ZTUsIDB4NjAsIDB4MjQsIDB4MDQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4NWYsIDB4ZjUsIDB4ODMsIDB4ZTB9IH0sCi17IDB4ODhmYSwJMTYsCXsweDU0LCAweGZkLCAweGYwLCAweGFmLCAweDVlLCAweDc0LCAweDAxLCAweGE4LCAweDA3LCAweDA4LCAweDgwLCAweDAyLCAweGMzLCAweDMzLCAweGQ4LCAweGZjfSB9LAoteyAweDg5MGEsCTE2LAl7MHg0MiwgMHgyMiwgMHg4MCwgMHgzNiwgMHg3NCwgMHgwMSwgMHg3ZSwgMHgwMCwgMHhhOCwgMHg1ZSwgMHgwOCwgMHg4MCwgMHgwNSwgMHhjMywgMHgzMywgMHhjZX0gfSwKLXsgMHg4OTFhLAkxNiwJezB4MzMsIDB4Y2UsIDB4ZDgsIDB4ZjksIDB4ZmYsIDB4ZTQsIDB4ZWYsIDB4NTUsIDB4MjIsIDB4NjAsIDB4MWYsIDB4ZTUsIDB4NjAsIDB4MjQsIDB4MDQsIDB4ZjV9IH0sCi17IDB4ODkyYSwJMTYsCXsweDgyLCAweGU0LCAweDM1LCAweDVmLCAweGY1LCAweDgzLCAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweGFmLCAweDVlLCAweDc0LCAweDAxLCAweGE4LCAweDA3fSB9LAoteyAweDg5M2EsCTE2LAl7MHgwOCwgMHg4MCwgMHgwMiwgMHhjMywgMHgzMywgMHhkOCwgMHhmYywgMHhmNCwgMHg1MiwgMHgyMiwgMHhlNSwgMHg1OCwgMHgyNCwgMHgwOCwgMHhmNSwgMHg4Mn0gfSwKLXsgMHg4OTRhLAkxNiwJezB4ZTQsIDB4MzUsIDB4NTcsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmYsIDB4YjQsIDB4NjIsIDB4MDUsIDB4NDMsIDB4NWQsIDB4MGEsIDB4ODAsIDB4MWEsIDB4ZWZ9IH0sCi17IDB4ODk1YSwJMTYsCXsweGI0LCAweDcyLCAweDA1LCAweDQzLCAweDVkLCAweDA4LCAweDgwLCAweDExLCAweGVmLCAweGI0LCAweDc0LCAweDA1LCAweDQzLCAweDVkLCAweDAyLCAweDgwfSB9LAoteyAweDg5NmEsCTE2LAl7MHgwOCwgMHhlZiwgMHg2NCwgMHg2ZSwgMHg2MCwgMHgwMywgMHg3ZiwgMHhmZiwgMHgyMiwgMHhlNSwgMHg1OCwgMHgyNCwgMHgwYiwgMHhmNSwgMHg4MiwgMHhlNH0gfSwKLXsgMHg4OTdhLAkxNiwJezB4MzUsIDB4NTcsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmYsIDB4MzAsIDB4ZTMsIDB4MDMsIDB4NDMsIDB4NWQsIDB4ODAsIDB4ZWYsIDB4MzAsIDB4ZTcsIDB4MTJ9IH0sCi17IDB4ODk4YSwJMTYsCXsweDQzLCAweDVkLCAweDQwLCAweGU1LCAweDYwLCAweDI0LCAweDA0LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDVmLCAweGY1LCAweDgzLCAweGUwLCAweDQ0fSB9LAoteyAweDg5OWEsCTE2LAl7MHgwMiwgMHhmMCwgMHhlNSwgMHg1OCwgMHgyNCwgMHgwYiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHg1NywgMHhmNSwgMHg4MywgMHhlMCwgMHgzMCwgMHhlMX0gfSwKLXsgMHg4OWFhLAkxNiwJezB4MjAsIDB4YWYsIDB4NWUsIDB4NzQsIDB4MDEsIDB4YTgsIDB4MDcsIDB4MDgsIDB4ODAsIDB4MDIsIDB4YzMsIDB4MzMsIDB4ZDgsIDB4ZmMsIDB4NDIsIDB4MzJ9IH0sCi17IDB4ODliYSwJMTYsCXsweGU1LCAweDYwLCAweDI0LCAweDA0LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDVmLCAweGY1LCAweDgzLCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDgwfSB9LAoteyAweDg5Y2EsCTE2LAl7MHgxMCwgMHhhZiwgMHg1ZSwgMHg3NCwgMHgwMSwgMHhhOCwgMHgwNywgMHgwOCwgMHg4MCwgMHgwMiwgMHhjMywgMHgzMywgMHhkOCwgMHhmYywgMHhmNCwgMHg1Mn0gfSwKLXsgMHg4OWRhLAkxNiwJezB4MzIsIDB4ZTUsIDB4NTgsIDB4MjQsIDB4MGIsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4NTcsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmYsIDB4MzAsIDB4ZTR9IH0sCi17IDB4ODllYSwJMTYsCXsweDExLCAweGFlLCAweDVlLCAweDc0LCAweDAxLCAweGE4LCAweDA2LCAweDA4LCAweDgwLCAweDAyLCAweGMzLCAweDMzLCAweGQ4LCAweGZjLCAweDQyLCAweDMxfSB9LAoteyAweDg5ZmEsCTE2LAl7MHg4MCwgMHgxMCwgMHhhZSwgMHg1ZSwgMHg3NCwgMHgwMSwgMHhhOCwgMHgwNiwgMHgwOCwgMHg4MCwgMHgwMiwgMHhjMywgMHgzMywgMHhkOCwgMHhmYywgMHhmNH0gfSwKLXsgMHg4YTBhLAkxNiwJezB4NTIsIDB4MzEsIDB4ZWYsIDB4MjAsIDB4ZTEsIDB4MDMsIDB4MzAsIDB4ZTQsIDB4MDMsIDB4ZTQsIDB4ZjUsIDB4NWQsIDB4ODUsIDB4NjAsIDB4ODIsIDB4ODV9IH0sCi17IDB4OGExYSwJMTYsCXsweDVmLCAweDgzLCAweGEzLCAweGEzLCAweGEzLCAweDc0LCAweGJmLCAweGYwLCAweDg1LCAweDYwLCAweDgyLCAweDg1LCAweDVmLCAweDgzLCAweGEzLCAweGEzfSB9LAoteyAweDhhMmEsCTE2LAl7MHhlNCwgMHhmMCwgMHhlNSwgMHg1ZCwgMHhmMCwgMHhlNSwgMHg1OCwgMHgyNCwgMHgwYSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHg1NywgMHhmNSwgMHg4M30gfSwKLXsgMHg4YTNhLAkxNiwJezB4ZTAsIDB4ZmYsIDB4ZTUsIDB4NjAsIDB4MjQsIDB4MDQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4NWYsIDB4ZjUsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4ZTV9IH0sCi17IDB4OGE0YSwJMTYsCXsweDU4LCAweDI0LCAweDBhLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDU3LCAweGY1LCAweDgzLCAweGUwLCAweGZmLCAweGU1LCAweDYwLCAweDI0LCAweDA1fSB9LAoteyAweDhhNWEsCTE2LAl7MHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHg1ZiwgMHhmNSwgMHg4MywgMHhlZiwgMHhmMCwgMHhlNSwgMHg1OCwgMHgyNCwgMHgwOSwgMHhmNSwgMHg4MiwgMHhlNH0gfSwKLXsgMHg4YTZhLAkxNiwJezB4MzUsIDB4NTcsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmYsIDB4ZTUsIDB4NjAsIDB4MjQsIDB4MDYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4NWYsIDB4ZjV9IH0sCi17IDB4OGE3YSwJMTYsCXsweDgzLCAweGVmLCAweGYwLCAweGU1LCAweDU4LCAweDI0LCAweDA5LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDU3LCAweGY1LCAweDgzLCAweGUwLCAweGZmfSB9LAoteyAweDhhOGEsCTE2LAl7MHhlNSwgMHg2MCwgMHgyNCwgMHgwNywgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHg1ZiwgMHhmNSwgMHg4MywgMHhlZiwgMHhmMCwgMHg4NSwgMHg2MCwgMHg4Mn0gfSwKLXsgMHg4YTlhLAkxNiwJezB4ODUsIDB4NWYsIDB4ODMsIDB4YTMsIDB4YTMsIDB4YTMsIDB4ZTQsIDB4ZjAsIDB4ODUsIDB4NjAsIDB4ODIsIDB4ODUsIDB4NWYsIDB4ODMsIDB4YTMsIDB4YTN9IH0sCi17IDB4OGFhYSwJMTYsCXsweGYwLCAweDg1LCAweDU4LCAweDgyLCAweDg1LCAweDU3LCAweDgzLCAweGEzLCAweGUwLCAweGZjLCAweGEzLCAweGUwLCAweGZkLCAweGEzLCAweGUwLCAweGZlfSB9LAoteyAweDhhYmEsCTE2LAl7MHhhMywgMHhlMCwgMHhmNSwgMHg2NiwgMHg4ZSwgMHg2NSwgMHg4ZCwgMHg2NCwgMHg4YywgMHg2MywgMHg3ZCwgMHgwNiwgMHhhZiwgMHg1ZSwgMHgxMiwgMHg4M30gfSwKLXsgMHg4YWNhLAkxNiwJezB4ZGYsIDB4NzUsIDB4NWQsIDB4MDgsIDB4ZTUsIDB4NTgsIDB4MjQsIDB4MGMsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4NTcsIDB4ZjUsIDB4ODMsIDB4ZTB9IH0sCi17IDB4OGFkYSwJMTYsCXsweDYwLCAweDAzLCAweDQzLCAweDVkLCAweDEwLCAweGU1LCAweDYwLCAweDI0LCAweDA0LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDVmLCAweGY1LCAweDgzfSB9LAoteyAweDhhZWEsCTE2LAl7MHhlMCwgMHg1NCwgMHgwMywgMHg0NSwgMHg1ZCwgMHhmMCwgMHhlNSwgMHg1OCwgMHgyNCwgMHgwNSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHg1NywgMHhmNX0gfSwKLXsgMHg4YWZhLAkxNiwJezB4ODMsIDB4ZTAsIDB4ZmUsIDB4YzMsIDB4OTQsIDB4MDUsIDB4NDAsIDB4MDYsIDB4ZWUsIDB4ZDMsIDB4OTQsIDB4MDgsIDB4NDAsIDB4MDMsIDB4N2YsIDB4ZmZ9IH0sCi17IDB4OGIwYSwJMTYsCXsweDIyLCAweGU1LCAweDU4LCAweDI0LCAweDA2LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDU3LCAweGY1LCAweDgzLCAweGUwLCAweGZkLCAweGMzLCAweDk0fSB9LAoteyAweDhiMWEsCTE2LAl7MHgwMSwgMHg0MCwgMHgwNiwgMHhlZCwgMHhkMywgMHg5NCwgMHgwMiwgMHg0MCwgMHgwMywgMHg3ZiwgMHhmZiwgMHgyMiwgMHhlZCwgMHgxNCwgMHhmZiwgMHgyNX0gfSwKLXsgMHg4YjJhLAkxNiwJezB4ZTAsIDB4MjUsIDB4ZTAsIDB4ZmYsIDB4ZWUsIDB4MjQsIDB4ZmIsIDB4NGYsIDB4ZjUsIDB4NWQsIDB4ZTUsIDB4NTgsIDB4MjQsIDB4MDcsIDB4ZjUsIDB4ODJ9IH0sCi17IDB4OGIzYSwJMTYsCXsweGU0LCAweDM1LCAweDU3LCAweGY1LCAweDgzLCAweGUwLCAweDI0LCAweGQwLCAweDYwLCAweDE4LCAweDE0LCAweDYwLCAweDFhLCAweDI0LCAweGMzLCAweDYwfSB9LAoteyAweDhiNGEsCTE2LAl7MHgxZSwgMHgxNCwgMHg2MCwgMHgwOSwgMHgyNCwgMHgwYSwgMHg3MCwgMHgxNCwgMHg0MywgMHg1ZCwgMHgxOCwgMHg4MCwgMHgxMiwgMHg0MywgMHg1ZCwgMHgwOH0gfSwKLXsgMHg4YjVhLAkxNiwJezB4ODAsIDB4MGQsIDB4NDMsIDB4NWQsIDB4MzgsIDB4ODAsIDB4MDgsIDB4NDMsIDB4NWQsIDB4MjgsIDB4ODAsIDB4MDMsIDB4N2YsIDB4ZmYsIDB4MjIsIDB4ODV9IH0sCi17IDB4OGI2YSwJMTYsCXsweDYwLCAweDgyLCAweDg1LCAweDVmLCAweDgzLCAweGEzLCAweGEzLCAweGEzLCAweGU1LCAweDVkLCAweGYwLCAweDc0LCAweDAxLCAweDdlLCAweDAwLCAweGE4fSB9LAoteyAweDhiN2EsCTE2LAl7MHg1ZSwgMHgwOCwgMHg4MCwgMHgwNSwgMHhjMywgMHgzMywgMHhjZSwgMHgzMywgMHhjZSwgMHhkOCwgMHhmOSwgMHhmZiwgMHhlNCwgMHhlZiwgMHg1NSwgMHgzNH0gfSwKLXsgMHg4YjhhLAkxNiwJezB4NjAsIDB4MDcsIDB4YWYsIDB4NWUsIDB4N2QsIDB4MDEsIDB4MTIsIDB4ODMsIDB4NWEsIDB4YWEsIDB4NTcsIDB4YTksIDB4NTgsIDB4N2IsIDB4MDEsIDB4YzB9IH0sCi17IDB4OGI5YSwJMTYsCXsweDAzLCAweGMwLCAweDAxLCAweGU1LCAweDVlLCAweDc1LCAweGYwLCAweDBkLCAweGE0LCAweDI0LCAweDAxLCAweGY5LCAweDc0LCAweDAzLCAweDM1LCAweGYwfSB9LAoteyAweDhiYWEsCTE2LAl7MHhhOCwgMHgwMSwgMHhmYywgMHhhZCwgMHgwMywgMHhkMCwgMHgwMSwgMHhkMCwgMHgwMywgMHg3ZSwgMHgwMCwgMHg3ZiwgMHgwZCwgMHgxMiwgMHhhMiwgMHgxMn0gfSwKLXsgMHg4YmJhLAkyLAl7MHg3ZiwgMHgwMH0gfSwKLXsgMHg4YmJjLAkxLAl7MHgyMn0gfSwKLXsgMHg4YmJkLAkxNiwJezB4OGYsIDB4ODIsIDB4OGUsIDB4ODMsIDB4ZTAsIDB4MTQsIDB4ZmUsIDB4YzMsIDB4OTQsIDB4MDQsIDB4NDAsIDB4MDMsIDB4N2YsIDB4ZmYsIDB4MjIsIDB4ZWV9IH0sCi17IDB4OGJjZCwJMTYsCXsweDc1LCAweGYwLCAweDA4LCAweGE0LCAweDI0LCAweDAwLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDIwLCAweGFkLCAweDgyLCAweGZjLCAweDkwLCAweDAxfSB9LAoteyAweDhiZGQsCTE2LAl7MHgyYywgMHg3NCwgMHgwOCwgMHhmMCwgMHhlZSwgMHgwNCwgMHhhMywgMHhmMCwgMHhlNCwgMHhhMywgMHhmMCwgMHg4ZCwgMHg4MiwgMHg4YywgMHg4MywgMHhlNX0gfSwKLXsgMHg4YmVkLAkxNiwJezB4ODIsIDB4MjQsIDB4MDYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4ODMsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4OTAsIDB4MDEsIDB4MmYsIDB4ZjAsIDB4OGR9IH0sCi17IDB4OGJmZCwJMTYsCXsweDgyLCAweDhjLCAweDgzLCAweGU1LCAweDgyLCAweDI0LCAweDA1LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDgzLCAweGY1LCAweDgzLCAweGUwLCAweDU0fSB9LAoteyAweDhjMGQsCTE2LAl7MHgxZSwgMHg5MCwgMHgwMSwgMHgzMCwgMHhmMCwgMHg3NCwgMHgyZCwgMHgyZSwgMHhmOCwgMHhlNiwgMHhhMywgMHhmMCwgMHhhZiwgMHgwNiwgMHg3NCwgMHgwMX0gfSwKLXsgMHg4YzFkLAkxNiwJezB4YTgsIDB4MDcsIDB4MDgsIDB4ODAsIDB4MDIsIDB4YzMsIDB4MzMsIDB4ZDgsIDB4ZmMsIDB4ZjUsIDB4NTcsIDB4ZTUsIDB4MzMsIDB4YzMsIDB4OTQsIDB4MDF9IH0sCi17IDB4OGMyZCwJMTYsCXsweDQwLCAweDBkLCAweDkwLCAweDIwLCAweDc4LCAweGUwLCAweDU0LCAweDBmLCAweDc1LCAweDU4LCAweDAwLCAweGY1LCAweDU5LCAweDgwLCAweDA5LCAweDdmfSB9LAoteyAweDhjM2QsCTE2LAl7MHgwMiwgMHgxMiwgMHgxMSwgMHgyNywgMHg4ZSwgMHg1OCwgMHg4ZiwgMHg1OSwgMHhjMywgMHhlNSwgMHg1OCwgMHg2NCwgMHg4MCwgMHg5NCwgMHg4MCwgMHg0MH0gfSwKLXsgMHg4YzRkLAkxNiwJezB4ZGEsIDB4ZTUsIDB4NTcsIDB4NTUsIDB4NTksIDB4OTAsIDB4MDEsIDB4MzIsIDB4ZjAsIDB4N2UsIDB4MDEsIDB4N2YsIDB4MmMsIDB4N2QsIDB4MDcsIDB4MTJ9IH0sCi17IDB4OGM1ZCwJNCwJezB4OTEsIDB4NmEsIDB4N2YsIDB4MDB9IH0sCi17IDB4OGM2MSwJMSwJezB4MjJ9IH0sCi17IDB4OGM2MiwJMTYsCXsweDhmLCAweDgyLCAweDhlLCAweDgzLCAweGUwLCAweDE0LCAweGZlLCAweGMzLCAweDk0LCAweDA0LCAweDQwLCAweDAzLCAweDdmLCAweGZmLCAweDIyLCAweGVlfSB9LAoteyAweDhjNzIsCTE2LAl7MHg3NSwgMHhmMCwgMHgwOCwgMHhhNCwgMHgyNCwgMHgwMCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHgyMCwgMHhhZiwgMHg4MiwgMHhmZSwgMHg5MCwgMHgwMX0gfSwKLXsgMHg4YzgyLAkxNiwJezB4MzMsIDB4NzQsIDB4MGEsIDB4ZjAsIDB4OGYsIDB4ODIsIDB4OGUsIDB4ODMsIDB4ZTUsIDB4ODIsIDB4MjQsIDB4MDQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzV9IH0sCi17IDB4OGM5MiwJMTYsCXsweDgzLCAweGY1LCAweDgzLCAweGUwLCAweDkwLCAweDAxLCAweDM0LCAweGYwLCAweDdlLCAweDAxLCAweDdmLCAweDMzLCAweDdkLCAweDAyLCAweDEyLCAweDkxfSB9LAoteyAweDhjYTIsCTMsCXsweDZhLCAweDdmLCAweDAwfSB9LAoteyAweDhjYTUsCTEsCXsweDIyfSB9LAoteyAweDhjYTYsCTQsCXsweDhlLCAweDU3LCAweDhmLCAweDU4fSB9LAoteyAweDhjYWEsCTE2LAl7MHg4ZiwgMHg4MiwgMHg4ZSwgMHg4MywgMHhlMCwgMHgxNCwgMHhmZSwgMHhjMywgMHg5NCwgMHgwNCwgMHg0MCwgMHgwMywgMHg3ZiwgMHhmZiwgMHgyMiwgMHhlZX0gfSwKLXsgMHg4Y2JhLAkxNiwJezB4NzUsIDB4ZjAsIDB4MDgsIDB4YTQsIDB4MjQsIDB4MDAsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4MjAsIDB4YWQsIDB4ODIsIDB4ZmMsIDB4ODUsIDB4NTh9IH0sCi17IDB4OGNjYSwJMTYsCXsweDgyLCAweDg1LCAweDU3LCAweDgzLCAweGEzLCAweGUwLCAweDYwLCAweDBmLCAweGVkLCAweDI0LCAweDA0LCAweGY1LCAweDgyLCAweGU0LCAweDNjLCAweGY1fSB9LAoteyAweDhjZGEsCTE2LAl7MHg4MywgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHg4MCwgMHg0MywgMHhlZSwgMHg3NSwgMHhmMCwgMHgwZCwgMHhhNCwgMHgyNCwgMHgwYywgMHhmNSwgMHg4Mn0gfSwKLXsgMHg4Y2VhLAkxNiwJezB4ZTQsIDB4MzQsIDB4MDMsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MzAsIDB4ZTAsIDB4MjAsIDB4ZWUsIDB4MjUsIDB4ZTAsIDB4MjQsIDB4YzYsIDB4ZjUsIDB4ODJ9IH0sCi17IDB4OGNmYSwJMTYsCXsweGU0LCAweDM0LCAweDdmLCAweGY1LCAweDgzLCAweGUwLCAweDMwLCAweGUxLCAweGYwLCAweDdmLCAweDYwLCAweGVkLCAweDI0LCAweDA1LCAweGY1LCAweDgyfSB9LAoteyAweDhkMGEsCTE2LAl7MHhlNCwgMHgzYywgMHhmNSwgMHg4MywgMHhlMCwgMHg1ZiwgMHhiNSwgMHgwNywgMHhmMiwgMHhhZSwgMHgwNCwgMHhhZiwgMHgwNSwgMHhlZiwgMHgyNCwgMHgwNH0gfSwKLXsgMHg4ZDFhLAkxMiwJezB4ZjUsIDB4ODIsIDB4ZTQsIDB4M2UsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4ZmQsIDB4ZjAsIDB4N2YsIDB4MDB9IH0sCi17IDB4OGQyNiwJMSwJezB4MjJ9IH0sCi17IDB4OGQyNywJNCwJezB4YWQsIDB4MDcsIDB4YWMsIDB4MDZ9IH0sCi17IDB4OGQyYiwJMTYsCXsweDhkLCAweDgyLCAweDhjLCAweDgzLCAweGUwLCAweDE0LCAweGZlLCAweGMzLCAweDk0LCAweDA0LCAweDQwLCAweDAzLCAweDdmLCAweGZmLCAweDIyLCAweGVlfSB9LAoteyAweDhkM2IsCTE2LAl7MHg3NSwgMHhmMCwgMHgwOCwgMHhhNCwgMHgyNCwgMHgwMCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHgyMCwgMHhhZiwgMHg4MiwgMHhmZSwgMHg4ZCwgMHg4Mn0gfSwKLXsgMHg4ZDRiLAkxNiwJezB4OGMsIDB4ODMsIDB4YTMsIDB4ZTAsIDB4NjAsIDB4MGYsIDB4ZWYsIDB4MjQsIDB4MDQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4M2UsIDB4ZjUsIDB4ODMsIDB4ZTB9IH0sCi17IDB4OGQ1YiwJMTYsCXsweDQ0LCAweDAxLCAweGYwLCAweDgwLCAweDBkLCAweGVmLCAweDI0LCAweDA0LCAweGY1LCAweDgyLCAweGU0LCAweDNlLCAweGY1LCAweDgzLCAweGUwLCAweDU0fSB9LAoteyAweDhkNmIsCTQsCXsweGZlLCAweGYwLCAweDdmLCAweDAwfSB9LAoteyAweDhkNmYsCTEsCXsweDIyfSB9LAoteyAweDhkNzAsCTQsCXsweGFkLCAweDA3LCAweGFjLCAweDA2fSB9LAoteyAweDhkNzQsCTE2LAl7MHg4ZCwgMHg4MiwgMHg4YywgMHg4MywgMHhlMCwgMHgxNCwgMHhmZSwgMHhjMywgMHg5NCwgMHgwNCwgMHg0MCwgMHgwMywgMHg3ZiwgMHhmZiwgMHgyMiwgMHhlZX0gfSwKLXsgMHg4ZDg0LAkxNiwJezB4NzUsIDB4ZjAsIDB4MDgsIDB4YTQsIDB4MjQsIDB4MDAsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4MjAsIDB4YWYsIDB4ODIsIDB4ZmUsIDB4OGQsIDB4ODJ9IH0sCi17IDB4OGQ5NCwJMTYsCXsweDhjLCAweDgzLCAweGEzLCAweGUwLCAweDYwLCAweDBkLCAweDhmLCAweDgyLCAweDhlLCAweDgzLCAweGEzLCAweGEzLCAweGEzLCAweGUwLCAweDQ0LCAweDQwfSB9LAoteyAweDhkYTQsCTE2LAl7MHhmMCwgMHg4MCwgMHgwYiwgMHg4ZiwgMHg4MiwgMHg4ZSwgMHg4MywgMHhhMywgMHhhMywgMHhhMywgMHhlMCwgMHg1NCwgMHhiZiwgMHhmMCwgMHg3ZiwgMHgwMH0gfSwKLXsgMHg4ZGI0LAkxLAl7MHgyMn0gfSwKLXsgMHg4ZGI1LAkxNiwJezB4OGYsIDB4ODIsIDB4OGUsIDB4ODMsIDB4ZTAsIDB4MTQsIDB4ZmUsIDB4YzMsIDB4OTQsIDB4MDQsIDB4NDAsIDB4MDMsIDB4N2YsIDB4ZmYsIDB4MjIsIDB4YWZ9IH0sCi17IDB4OGRjNSwJMTYsCXsweDA2LCAweDc0LCAweDAxLCAweGE4LCAweDA3LCAweDA4LCAweDgwLCAweDAyLCAweGMzLCAweDMzLCAweGQ4LCAweGZjLCAweDQyLCAweDNlLCAweDdmLCAweDAwfSB9LAoteyAweDhkZDUsCTEsCXsweDIyfSB9LAoteyAweDhkZDYsCTQsCXsweDhlLCAweDU3LCAweDhmLCAweDU4fSB9LAoteyAweDhkZGEsCTE2LAl7MHg4ZiwgMHg4MiwgMHg4ZSwgMHg4MywgMHhhMywgMHhlMCwgMHhmNSwgMHg1YywgMHg4ZiwgMHg4MiwgMHg4ZSwgMHg4MywgMHhlMCwgMHhmNSwgMHg1OSwgMHhkM30gfSwKLXsgMHg4ZGVhLAkxNiwJezB4OTQsIDB4MDQsIDB4NDAsIDB4MDMsIDB4N2YsIDB4ZmYsIDB4MjIsIDB4ZTUsIDB4NTksIDB4MjQsIDB4ZmUsIDB4NjAsIDB4MTYsIDB4MTQsIDB4NjAsIDB4MWZ9IH0sCi17IDB4OGRmYSwJMTYsCXsweDE0LCAweDYwLCAweDI4LCAweDI0LCAweDAzLCAweDcwLCAweDJlLCAweDdlLCAweDdlLCAweDdmLCAweDgwLCAweDc1LCAweDVhLCAweDdlLCAweDc1LCAweDVifSB9LAoteyAweDhlMGEsCTE2LAl7MHg4MCwgMHg4MCwgMHgyMiwgMHg3ZSwgMHg3ZSwgMHg3ZiwgMHgwMCwgMHg3NSwgMHg1YSwgMHg3ZSwgMHg3NSwgMHg1YiwgMHgwMCwgMHg4MCwgMHgxNiwgMHg3ZX0gfSwKLXsgMHg4ZTFhLAkxNiwJezB4N2QsIDB4N2YsIDB4ODAsIDB4NzUsIDB4NWEsIDB4N2QsIDB4NzUsIDB4NWIsIDB4ODAsIDB4ODAsIDB4MGEsIDB4N2UsIDB4N2QsIDB4N2YsIDB4MDAsIDB4NzV9IH0sCi17IDB4OGUyYSwJMTYsCXsweDVhLCAweDdkLCAweDc1LCAweDViLCAweDAwLCAweGU1LCAweDVjLCAweDcwLCAweDFiLCAweDg1LCAweDViLCAweDgyLCAweDg1LCAweDVhLCAweDgzLCAweDc0fSB9LAoteyAweDhlM2EsCTE2LAl7MHhmZiwgMHhmMCwgMHhlNSwgMHg1OSwgMHgyNSwgMHhlMCwgMHgyNCwgMHhiNSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZiwgMHhmNSwgMHg4MywgMHg3NH0gfSwKLXsgMHg4ZTRhLAkxNiwJezB4MDEsIDB4ZjAsIDB4ODAsIDB4NDgsIDB4ZTUsIDB4NTgsIDB4MjQsIDB4MDIsIDB4ZmYsIDB4ZTQsIDB4MzUsIDB4NTcsIDB4ZmUsIDB4ZTUsIDB4NWMsIDB4NjB9IH0sCi17IDB4OGU1YSwJMTYsCXsweDIzLCAweDBmLCAweGVmLCAweGFjLCAweDA2LCAweDcwLCAweDAxLCAweDBlLCAweDE0LCAweGY1LCAweDgyLCAweDhjLCAweDgzLCAweGUwLCAweGZkLCAweDA1fSB9LAoteyAweDhlNmEsCTE2LAl7MHg1YiwgMHhlNSwgMHg1YiwgMHhhYSwgMHg1YSwgMHg3MCwgMHgwMiwgMHgwNSwgMHg1YSwgMHgxNCwgMHhmNSwgMHg4MiwgMHg4YSwgMHg4MywgMHhlZCwgMHhmMH0gfSwKLXsgMHg4ZTdhLAkxNiwJezB4MTUsIDB4NWMsIDB4ODAsIDB4ZDksIDB4ODUsIDB4NTgsIDB4ODIsIDB4ODUsIDB4NTcsIDB4ODMsIDB4YTMsIDB4ZTAsIDB4ZmYsIDB4ZTUsIDB4NTksIDB4MjV9IH0sCi17IDB4OGU4YSwJMTQsCXsweGUwLCAweDI0LCAweGI1LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdmLCAweGY1LCAweDgzLCAweGVmLCAweGYwLCAweDdmLCAweDAwfSB9LAoteyAweDhlOTgsCTEsCXsweDIyfSB9LAoteyAweDhlOTksCTE2LAl7MHhlZiwgMHgyNCwgMHgwNSwgMHhmNSwgMHg1OCwgMHhlNCwgMHgzZSwgMHhmNSwgMHg1NywgMHg5MCwgMHgwMSwgMHgzNSwgMHg3NCwgMHgwNywgMHhmMCwgMHg5MH0gfSwKLXsgMHg4ZWE5LAkxNiwJezB4MDEsIDB4N2EsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4YTMsIDB4NzQsIDB4MzYsIDB4ZjAsIDB4ODUsIDB4NTgsIDB4ODIsIDB4ODUsIDB4NTcsIDB4ODMsIDB4YTN9IH0sCi17IDB4OGViOSwJMTYsCXsweGEzLCAweGEzLCAweGUwLCAweGZlLCAweGEzLCAweGUwLCAweDhlLCAweDU5LCAweGY1LCAweDVhLCAweDg1LCAweDU4LCAweDgyLCAweDg1LCAweDU3LCAweDgzfSB9LAoteyAweDhlYzksCTE2LAl7MHhlMCwgMHgyNCwgMHg5ZSwgMHg2MCwgMHg2MSwgMHgyNCwgMHhmOSwgMHg2MCwgMHgwZSwgMHgyNCwgMHhmMSwgMHg3MCwgMHgwMywgMHgwMiwgMHg4ZiwgMHg3YX0gfSwKLXsgMHg4ZWQ5LAkxNiwJezB4MjQsIDB4MTQsIDB4NjAsIDB4MDMsIDB4MDIsIDB4OGYsIDB4YzgsIDB4ODUsIDB4NTgsIDB4ODIsIDB4ODUsIDB4NTcsIDB4ODMsIDB4YTMsIDB4ZTAsIDB4ZmV9IH0sCi17IDB4OGVlOSwJMTYsCXsweGEzLCAweGUwLCAweGZmLCAweGMzLCAweGU0LCAweDlmLCAweGY1LCAweDVjLCAweDc0LCAweDAxLCAweDllLCAweGY1LCAweDViLCAweGQzLCAweGU1LCAweDVjfSB9LAoteyAweDhlZjksCTE2LAl7MHg5NCwgMHgzZiwgMHhlNSwgMHg1YiwgMHg5NCwgMHgwMCwgMHg0MCwgMHgwNiwgMHg3NSwgMHg1YiwgMHgwMCwgMHg3NSwgMHg1YywgMHgzZiwgMHhkMywgMHhlNX0gfSwKLXsgMHg4ZjA5LAkxNiwJezB4NWEsIDB4OTUsIDB4NWMsIDB4ZTUsIDB4NTksIDB4OTUsIDB4NWIsIDB4NTAsIDB4MDMsIDB4MDIsIDB4OGYsIDB4Y2IsIDB4YWUsIDB4NWIsIDB4YWYsIDB4NWN9IH0sCi17IDB4OGYxOSwJMTYsCXsweDg1LCAweDU4LCAweDgyLCAweDg1LCAweDU3LCAweDgzLCAweGEzLCAweGEzLCAweGEzLCAweGVlLCAweGYwLCAweGZlLCAweGEzLCAweGVmLCAweGYwLCAweDhlfSB9LAoteyAweDhmMjksCTE2LAl7MHg1OSwgMHhmNSwgMHg1YSwgMHgwMiwgMHg4ZiwgMHhjYiwgMHg4NSwgMHg1OCwgMHg4MiwgMHg4NSwgMHg1NywgMHg4MywgMHhhMywgMHhlMCwgMHhmZSwgMHhhM30gfSwKLXsgMHg4ZjM5LAkxNiwJezB4ZTAsIDB4ZmYsIDB4YzMsIDB4NzQsIDB4MzAsIDB4OWYsIDB4ZjUsIDB4NWMsIDB4ZTQsIDB4OWUsIDB4ZjUsIDB4NWIsIDB4ZDMsIDB4ZTUsIDB4NWMsIDB4OTR9IH0sCi17IDB4OGY0OSwJMTYsCXsweDEwLCAweGU1LCAweDViLCAweDk0LCAweDAwLCAweDQwLCAweDA2LCAweDc1LCAweDViLCAweDAwLCAweDc1LCAweDVjLCAweDEwLCAweGQzLCAweGU1LCAweDVhfSB9LAoteyAweDhmNTksCTE2LAl7MHg5NSwgMHg1YywgMHhlNSwgMHg1OSwgMHg5NSwgMHg1YiwgMHg0MCwgMHg2YSwgMHhhZSwgMHg1YiwgMHhhZiwgMHg1YywgMHg4NSwgMHg1OCwgMHg4MiwgMHg4NX0gfSwKLXsgMHg4ZjY5LAkxNiwJezB4NTcsIDB4ODMsIDB4YTMsIDB4YTMsIDB4YTMsIDB4ZWUsIDB4ZjAsIDB4ZmUsIDB4YTMsIDB4ZWYsIDB4ZjAsIDB4OGUsIDB4NTksIDB4ZjUsIDB4NWEsIDB4ODB9IH0sCi17IDB4OGY3OSwJMTYsCXsweDUxLCAweDg1LCAweDU4LCAweDgyLCAweDg1LCAweDU3LCAweDgzLCAweGEzLCAweGUwLCAweGZlLCAweGEzLCAweGUwLCAweGZmLCAweGMzLCAweGU0LCAweDlmfSB9LAoteyAweDhmODksCTE2LAl7MHhmNSwgMHg1YywgMHhlNCwgMHg5ZSwgMHhmNSwgMHg1YiwgMHg0NSwgMHg1YywgMHg2MCwgMHgwYiwgMHhkMywgMHhlNSwgMHg1YywgMHg5NCwgMHgzZiwgMHhlNX0gfSwKLXsgMHg4Zjk5LAkxNiwJezB4NWIsIDB4OTQsIDB4MDAsIDB4NDAsIDB4MDYsIDB4NzUsIDB4NWIsIDB4MDAsIDB4NzUsIDB4NWMsIDB4M2YsIDB4ZDMsIDB4ZTUsIDB4NWEsIDB4OTUsIDB4NWN9IH0sCi17IDB4OGZhOSwJMTYsCXsweGU1LCAweDU5LCAweDk1LCAweDViLCAweDQwLCAweDFjLCAweGFlLCAweDViLCAweGFmLCAweDVjLCAweDg1LCAweDU4LCAweDgyLCAweDg1LCAweDU3LCAweDgzfSB9LAoteyAweDhmYjksCTE2LAl7MHhhMywgMHhhMywgMHhhMywgMHhlZSwgMHhmMCwgMHhmZSwgMHhhMywgMHhlZiwgMHhmMCwgMHg4ZSwgMHg1OSwgMHhmNSwgMHg1YSwgMHg4MCwgMHgwMywgMHg3Zn0gfSwKLXsgMHg4ZmM5LAkxNiwJezB4MDEsIDB4MjIsIDB4ODUsIDB4NTgsIDB4ODIsIDB4ODUsIDB4NTcsIDB4ODMsIDB4ZTAsIDB4MjQsIDB4OWUsIDB4NzAsIDB4MDMsIDB4MDIsIDB4OTAsIDB4OGJ9IH0sCi17IDB4OGZkOSwJMTYsCXsweDI0LCAweGY5LCAweDYwLCAweDU4LCAweDI0LCAweGYxLCAweDcwLCAweDAzLCAweDAyLCAweDkwLCAweGRiLCAweDI0LCAweDE0LCAweDYwLCAweDAzLCAweDAyfSB9LAoteyAweDhmZTksCTE2LAl7MHg5MSwgMHgxZiwgMHg4NSwgMHg1OCwgMHg4MiwgMHg4NSwgMHg1NywgMHg4MywgMHhhMywgMHhlMCwgMHhmZSwgMHhhMywgMHhlMCwgMHhmZiwgMHhkMywgMHg5NH0gfSwKLXsgMHg4ZmY5LAkxNiwJezB4ZmYsIDB4ZWUsIDB4OTQsIDB4MDAsIDB4NDAsIDB4MDMsIDB4MDIsIDB4OTEsIDB4MWYsIDB4OTAsIDB4MDEsIDB4NzUsIDB4ZWYsIDB4ZjAsIDB4ZTUsIDB4NWF9IH0sCi17IDB4OTAwOSwJMTYsCXsweDE1LCAweDVhLCAweGFlLCAweDU5LCAweDcwLCAweDAyLCAweDE1LCAweDU5LCAweDRlLCAweDcwLCAweDAzLCAweDAyLCAweDkxLCAweDFmLCAweDkwLCAweDAxfSB9LAoteyAweDkwMTksCTE2LAl7MHg3NSwgMHhlMCwgMHhmZiwgMHgwNCwgMHhmMCwgMHhhOCwgMHgwNywgMHhlNiwgMHhmZiwgMHg5MCwgMHgwMSwgMHg3YSwgMHhlNCwgMHg3NSwgMHhmMCwgMHgwMX0gfSwKLXsgMHg5MDI5LAkxNiwJezB4MTIsIDB4YTIsIDB4OTcsIDB4ODUsIDB4ZjAsIDB4ODIsIDB4ZjUsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4ODAsIDB4ZDIsIDB4ODUsIDB4NTgsIDB4ODIsIDB4ODV9IH0sCi17IDB4OTAzOSwJMTYsCXsweDU3LCAweDgzLCAweGEzLCAweGUwLCAweGZlLCAweGEzLCAweGUwLCAweGZmLCAweGMzLCAweDk0LCAweDgwLCAweGVlLCAweDk0LCAweDAwLCAweDUwLCAweDAzfSB9LAoteyAweDkwNDksCTE2LAl7MHgwMiwgMHg5MSwgMHgxZiwgMHhkMywgMHhlZiwgMHg5NCwgMHhmZiwgMHhlZSwgMHg5NCwgMHgwMCwgMHg0MCwgMHgwMywgMHgwMiwgMHg5MSwgMHgxZiwgMHg5MH0gfSwKLXsgMHg5MDU5LAkxNiwJezB4MDEsIDB4NzYsIDB4ZWYsIDB4ZjAsIDB4ZTUsIDB4NWEsIDB4MTUsIDB4NWEsIDB4YWUsIDB4NTksIDB4NzAsIDB4MDIsIDB4MTUsIDB4NTksIDB4NGUsIDB4NzB9IH0sCi17IDB4OTA2OSwJMTYsCXsweDAzLCAweDAyLCAweDkxLCAweDFmLCAweDkwLCAweDAxLCAweDc2LCAweGUwLCAweGZmLCAweDA0LCAweGYwLCAweGE4LCAweDA3LCAweGU2LCAweGZmLCAweDkwfSB9LAoteyAweDkwNzksCTE2LAl7MHgwMSwgMHg3YSwgMHhlNCwgMHg3NSwgMHhmMCwgMHgwMSwgMHgxMiwgMHhhMiwgMHg5NywgMHg4NSwgMHhmMCwgMHg4MiwgMHhmNSwgMHg4MywgMHhlZiwgMHhmMH0gfSwKLXsgMHg5MDg5LAkxNiwJezB4ODAsIDB4ZDIsIDB4ODUsIDB4NTgsIDB4ODIsIDB4ODUsIDB4NTcsIDB4ODMsIDB4YTMsIDB4ZTAsIDB4ZmUsIDB4YTMsIDB4ZTAsIDB4ZmYsIDB4YzMsIDB4OTR9IH0sCi17IDB4OTA5OSwJMTYsCXsweDIwLCAweGVlLCAweDk0LCAweDAwLCAweDUwLCAweDAzLCAweDAyLCAweDkxLCAweDFmLCAweGQzLCAweGVmLCAweDk0LCAweDJmLCAweGVlLCAweDk0LCAweDAwfSB9LAoteyAweDkwYTksCTE2LAl7MHg1MCwgMHg3NCwgMHg5MCwgMHgwMSwgMHg3NywgMHhlZiwgMHhmMCwgMHhlNSwgMHg1YSwgMHgxNSwgMHg1YSwgMHhhZSwgMHg1OSwgMHg3MCwgMHgwMiwgMHgxNX0gfSwKLXsgMHg5MGI5LAkxNiwJezB4NTksIDB4NGUsIDB4NjAsIDB4NjIsIDB4OTAsIDB4MDEsIDB4NzcsIDB4ZTAsIDB4ZmYsIDB4MDQsIDB4ZjAsIDB4YTgsIDB4MDcsIDB4ZTYsIDB4ZmYsIDB4OTB9IH0sCi17IDB4OTBjOSwJMTYsCXsweDAxLCAweDdhLCAweGU0LCAweDc1LCAweGYwLCAweDAxLCAweDEyLCAweGEyLCAweDk3LCAweDg1LCAweGYwLCAweDgyLCAweGY1LCAweDgzLCAweGVmLCAweGYwfSB9LAoteyAweDkwZDksCTE2LAl7MHg4MCwgMHhkNSwgMHg4NSwgMHg1OCwgMHg4MiwgMHg4NSwgMHg1NywgMHg4MywgMHhhMywgMHhlMCwgMHhmZiwgMHhhMywgMHhlMCwgMHg5MCwgMHgwMSwgMHg3OH0gfSwKLXsgMHg5MGU5LAkxNiwJezB4Y2YsIDB4ZjAsIDB4YTMsIDB4ZWYsIDB4ZjAsIDB4ZTUsIDB4NWEsIDB4MTUsIDB4NWEsIDB4YWUsIDB4NTksIDB4NzAsIDB4MDIsIDB4MTUsIDB4NTksIDB4NGV9IH0sCi17IDB4OTBmOSwJMTYsCXsweDYwLCAweDI0LCAweDkwLCAweDAxLCAweDc4LCAweGU0LCAweDc1LCAweGYwLCAweDAxLCAweDEyLCAweGEyLCAweDk3LCAweDg1LCAweGYwLCAweDgyLCAweGY1fSB9LAoteyAweDkxMDksCTE2LAl7MHg4MywgMHhlMCwgMHhmZiwgMHg5MCwgMHgwMSwgMHg3YSwgMHhlNCwgMHg3NSwgMHhmMCwgMHgwMSwgMHgxMiwgMHhhMiwgMHg5NywgMHg4NSwgMHhmMCwgMHg4Mn0gfSwKLXsgMHg5MTE5LAkxNiwJezB4ZjUsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4ODAsIDB4Y2YsIDB4N2UsIDB4MDEsIDB4N2YsIDB4MzUsIDB4ODUsIDB4NTgsIDB4ODIsIDB4ODUsIDB4NTcsIDB4ODN9IH0sCi17IDB4OTEyOSwJMTMsCXsweGEzLCAweGEzLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweDA0LCAweGZkLCAweDEyLCAweDkxLCAweDZhLCAweDdmLCAweDAwfSB9LAoteyAweDkxMzYsCTEsCXsweDIyfSB9LAoteyAweDkxMzcsCTE2LAl7MHg4ZSwgMHg2MiwgMHg4ZiwgMHg2MywgMHg4YywgMHg2NCwgMHg4ZCwgMHg2NSwgMHhhZiwgMHgwMywgMHgxYiwgMHhlZiwgMHg2MCwgMHgyNCwgMHgwNSwgMHg2M30gfSwKLXsgMHg5MTQ3LAkxNiwJezB4ZTUsIDB4NjMsIDB4YWUsIDB4NjIsIDB4NzAsIDB4MDIsIDB4MDUsIDB4NjIsIDB4MTQsIDB4ZjUsIDB4ODIsIDB4OGUsIDB4ODMsIDB4ZTAsIDB4ZmYsIDB4MDV9IH0sCi17IDB4OTE1NywJMTYsCXsweDY1LCAweGU1LCAweDY1LCAweGFjLCAweDY0LCAweDcwLCAweDAyLCAweDA1LCAweDY0LCAweDE0LCAweGY1LCAweDgyLCAweDhjLCAweDgzLCAweGVmLCAweGYwfSB9LAoteyAweDkxNjcsCTMsCXsweDgwLCAweGQ2LCAweDIyfSB9LAoteyAweDkxNmEsCTYsCXsweDhkLCAweDVkLCAweGFiLCAweDA3LCAweGFhLCAweDA2fSB9LAoteyAweDkxNzAsCTE2LAl7MHg3NSwgMHg2MSwgMHg0MCwgMHg3NSwgMHg2MCwgMHgwZCwgMHg3NSwgMHg1ZiwgMHgwMywgMHg3NSwgMHg1ZSwgMHgwMCwgMHg5MCwgMHg3ZiwgMHhjMiwgMHhlMH0gfSwKLXsgMHg5MTgwLAkxNiwJezB4MjAsIDB4ZTEsIDB4ZjksIDB4YWYsIDB4NjEsIDB4YWUsIDB4NjAsIDB4YWQsIDB4NWYsIDB4YWMsIDB4NWUsIDB4ZWMsIDB4NGQsIDB4NGUsIDB4NGYsIDB4NzB9IH0sCi17IDB4OTE5MCwJMTYsCXsweDA4LCAweDkwLCAweDdmLCAweGMyLCAweDc0LCAweDAyLCAweGYwLCAweDgwLCAweGQ3LCAweDkwLCAweDdmLCAweGMyLCAweGUwLCAweDIwLCAweGUxLCAweDE2fSB9LAoteyAweDkxYTAsCTE2LAl7MHhhZiwgMHgwMywgMHhhZSwgMHgwMiwgMHg3YywgMHg3YiwgMHg3ZCwgMHg4MCwgMHhhYiwgMHg1ZCwgMHgxMiwgMHg5MSwgMHgzNywgMHg5MCwgMHg3ZiwgMHhjM30gfSwKLXsgMHg5MWIwLAk4LAl7MHhlNSwgMHg1ZCwgMHhmMCwgMHg3ZiwgMHgwMSwgMHgyMiwgMHg3ZiwgMHgwMH0gfSwKLXsgMHg5MWI4LAkxLAl7MHgyMn0gfSwKLXsgMHg5MWI5LAkxNiwJezB4OTAsIDB4MDEsIDB4ODQsIDB4NzQsIDB4MGIsIDB4ZjAsIDB4YTMsIDB4ZTUsIDB4MzMsIDB4ZjAsIDB4OTAsIDB4MGEsIDB4ZjUsIDB4ZTQsIDB4OTMsIDB4OTB9IH0sCi17IDB4OTFjOSwJMTYsCXsweDAxLCAweDg2LCAweGYwLCAweDkwLCAweDBhLCAweGY2LCAweGU0LCAweDkzLCAweDkwLCAweDAxLCAweDg3LCAweGYwLCAweGU0LCAweDkwLCAweDAxLCAweDdjfSB9LAoteyAweDkxZDksCTE2LAl7MHhmMCwgMHhhMywgMHhmMCwgMHhhMywgMHhmMCwgMHhhMywgMHhmMCwgMHhhMywgMHhmMCwgMHhhMywgMHg3NCwgMHgxMCwgMHhmMCwgMHhhMywgMHg3NCwgMHgwMX0gfSwKLXsgMHg5MWU5LAkxNiwJezB4ZjAsIDB4YTMsIDB4NzQsIDB4ODgsIDB4ZjAsIDB4N2UsIDB4MDEsIDB4N2YsIDB4N2MsIDB4MTIsIDB4MTksIDB4YzEsIDB4N2UsIDB4MDEsIDB4N2YsIDB4ODR9IH0sCi17IDB4OTFmOSwJNywJezB4N2QsIDB4MTQsIDB4MTIsIDB4OTEsIDB4NmEsIDB4N2YsIDB4MDB9IH0sCi17IDB4OTIwMCwJMSwJezB4MjJ9IH0sCi17IDB4OTIwMSwJMTYsCXsweDdlLCAweDdiLCAweDdmLCAweDQwLCAweDc1LCAweDRlLCAweDdiLCAweDc1LCAweDRmLCAweDQwLCAweDkwLCAweDdmLCAweGQzLCAweGUwLCAweGZmLCAweDg1fSB9LAoteyAweDkyMTEsCTE2LAl7MHg0ZSwgMHg1MSwgMHg4NSwgMHg0ZiwgMHg1MiwgMHhlNSwgMHg1MiwgMHgyNCwgMHgwMSwgMHhmNSwgMHg1NiwgMHhlNCwgMHgzNSwgMHg1MSwgMHhmNSwgMHg1NX0gfSwKLXsgMHg5MjIxLAkxNiwJezB4ZTQsIDB4ZjUsIDB4NTAsIDB4ODUsIDB4NTIsIDB4ODIsIDB4ODUsIDB4NTEsIDB4ODMsIDB4ZTAsIDB4ZmUsIDB4MTQsIDB4YjQsIDB4MGMsIDB4MDAsIDB4NTB9IH0sCi17IDB4OTIzMSwJMTYsCXsweDViLCAweDkwLCAweDkyLCAweDM5LCAweGY4LCAweDI4LCAweDI4LCAweDczLCAweDAyLCAweDkyLCAweDVkLCAweDAyLCAweDkyLCAweDVkLCAweDAyLCAweDkyfSB9LAoteyAweDkyNDEsCTE2LAl7MHg2NywgMHgwMiwgMHg5MiwgMHg3MSwgMHgwMiwgMHg5MiwgMHg3MSwgMHgwMiwgMHg5MiwgMHg3MSwgMHgwMiwgMHg5MiwgMHg4NSwgMHgwMiwgMHg5MiwgMHg1ZH0gfSwKLXsgMHg5MjUxLAkxNiwJezB4MDIsIDB4OTIsIDB4N2IsIDB4MDIsIDB4OTIsIDB4NWQsIDB4MDIsIDB4OTIsIDB4OGQsIDB4MDIsIDB4OTIsIDB4NWQsIDB4ZWYsIDB4NjQsIDB4MDIsIDB4NjB9IH0sCi17IDB4OTI2MSwJMTYsCXsweDJiLCAweDc1LCAweDUwLCAweGZmLCAweDgwLCAweDI2LCAweGVmLCAweDY0LCAweDBlLCAweDYwLCAweDIxLCAweDc1LCAweDUwLCAweGZmLCAweDgwLCAweDFjfSB9LAoteyAweDkyNzEsCTE2LAl7MHhlZiwgMHg2NCwgMHgwMywgMHg2MCwgMHgxNywgMHg3NSwgMHg1MCwgMHhmZiwgMHg4MCwgMHgxMiwgMHhlZiwgMHg2NCwgMHgwMywgMHg2MCwgMHgwZCwgMHg3NX0gfSwKLXsgMHg5MjgxLAkxNiwJezB4NTAsIDB4ZmYsIDB4ODAsIDB4MDgsIDB4ZWYsIDB4NjQsIDB4MDYsIDB4NjAsIDB4MDMsIDB4NzUsIDB4NTAsIDB4ZmYsIDB4ZTUsIDB4NTAsIDB4NjAsIDB4MTV9IH0sCi17IDB4OTI5MSwJMTYsCXsweDkwLCAweDAxLCAweDk4LCAweDc0LCAweDExLCAweGYwLCAweGEzLCAweGVlLCAweGYwLCAweDdlLCAweDAxLCAweDdmLCAweDk4LCAweDdkLCAweDAyLCAweDEyfSB9LAoteyAweDkyYTEsCTE2LAl7MHg5MSwgMHg2YSwgMHhhZiwgMHg1MCwgMHgyMiwgMHhlNCwgMHhmNSwgMHg1MCwgMHg4NSwgMHg1MiwgMHg4MiwgMHg4NSwgMHg1MSwgMHg4MywgMHhlMCwgMHgxNH0gfSwKLXsgMHg5MmIxLAkxNiwJezB4YjQsIDB4MGYsIDB4MDAsIDB4NDAsIDB4MDMsIDB4MDIsIDB4OTMsIDB4Y2YsIDB4OTAsIDB4OTIsIDB4YzAsIDB4ZjgsIDB4MjgsIDB4MjgsIDB4NzMsIDB4MDJ9IH0sCi17IDB4OTJjMSwJMTYsCXsweDkyLCAweGVkLCAweDAyLCAweDkyLCAweGY5LCAweDAyLCAweDkzLCAweDA1LCAweDAyLCAweDkzLCAweDUzLCAweDAyLCAweDkzLCAweDVlLCAweDAyLCAweDkzfSB9LAoteyAweDkyZDEsCTE2LAl7MHg2OSwgMHgwMiwgMHg5MywgMHg3NCwgMHgwMiwgMHg5MywgMHg3ZiwgMHgwMiwgMHg5MywgMHg4YSwgMHgwMiwgMHg5MywgMHg5NSwgMHgwMiwgMHg5MywgMHhhMH0gfSwKLXsgMHg5MmUxLAkxNiwJezB4MDIsIDB4OTMsIDB4YTcsIDB4MDIsIDB4OTMsIDB4Y2YsIDB4MDIsIDB4OTMsIDB4YjIsIDB4MDIsIDB4OTMsIDB4YmQsIDB4YWYsIDB4NTYsIDB4YWUsIDB4NTV9IH0sCi17IDB4OTJmMSwJMTYsCXsweDEyLCAweDg0LCAweDQxLCAweDhmLCAweDUwLCAweDAyLCAweDkzLCAweGQyLCAweGFmLCAweDU2LCAweGFlLCAweDU1LCAweDEyLCAweDg1LCAweDYxLCAweDhmfSB9LAoteyAweDkzMDEsCTE2LAl7MHg1MCwgMHgwMiwgMHg5MywgMHhkMiwgMHg4NSwgMHg1NSwgMHg1MywgMHg4NSwgMHg1NiwgMHg1NCwgMHhlNSwgMHg1NCwgMHgyNCwgMHgwMSwgMHhmZiwgMHhlNH0gfSwKLXsgMHg5MzExLAkxNiwJezB4MzUsIDB4NTMsIDB4ZmUsIDB4MTIsIDB4ODYsIDB4YmUsIDB4YWYsIDB4NTQsIDB4YWUsIDB4NTMsIDB4MTIsIDB4ODcsIDB4NTEsIDB4OGYsIDB4NTAsIDB4ZWZ9IH0sCi17IDB4OTMyMSwJMTYsCXsweDY0LCAweDAxLCAweDYwLCAweDAzLCAweDAyLCAweDkzLCAweGQyLCAweGFmLCAweDU0LCAweGFlLCAweDUzLCAweDEyLCAweDg3LCAweGE2LCAweDhmLCAweDUwfSB9LAoteyAweDkzMzEsCTE2LAl7MHhlNSwgMHg1MCwgMHg3MCwgMHgwMywgMHgwMiwgMHg5MywgMHhkMiwgMHg4NSwgMHg1NCwgMHg4MiwgMHg4NSwgMHg1MywgMHg4MywgMHhlMCwgMHg3NSwgMHhmMH0gfSwKLXsgMHg5MzQxLAkxNiwJezB4MGQsIDB4YTQsIDB4MjQsIDB4ZjQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4MDIsIDB4YWYsIDB4ODIsIDB4ZmUsIDB4MTIsIDB4ODcsIDB4YTYsIDB4MDJ9IH0sCi17IDB4OTM1MSwJMTYsCXsweDkzLCAweGQyLCAweGFmLCAweDU2LCAweGFlLCAweDU1LCAweDEyLCAweDhjLCAweGE2LCAweDhmLCAweDUwLCAweDgwLCAweDc0LCAweGFmLCAweDU2LCAweGFlfSB9LAoteyAweDkzNjEsCTE2LAl7MHg1NSwgMHgxMiwgMHg4ZCwgMHgyNywgMHg4ZiwgMHg1MCwgMHg4MCwgMHg2OSwgMHhhZiwgMHg1NiwgMHhhZSwgMHg1NSwgMHgxMiwgMHg4ZCwgMHg3MCwgMHg4Zn0gfSwKLXsgMHg5MzcxLAkxNiwJezB4NTAsIDB4ODAsIDB4NWUsIDB4YWYsIDB4NGYsIDB4YWUsIDB4NGUsIDB4MTIsIDB4OGUsIDB4OTksIDB4OGYsIDB4NTAsIDB4ODAsIDB4NTMsIDB4YWYsIDB4NTZ9IH0sCi17IDB4OTM4MSwJMTYsCXsweGFlLCAweDU1LCAweDEyLCAweDhiLCAweGJkLCAweDhmLCAweDUwLCAweDgwLCAweDQ4LCAweGFmLCAweDU2LCAweGFlLCAweDU1LCAweDEyLCAweDg2LCAweDJkfSB9LAoteyAweDkzOTEsCTE2LAl7MHg4ZiwgMHg1MCwgMHg4MCwgMHgzZCwgMHhhZiwgMHg1NiwgMHhhZSwgMHg1NSwgMHgxMiwgMHg4YywgMHg2MiwgMHg4ZiwgMHg1MCwgMHg4MCwgMHgzMiwgMHgxMn0gfSwKLXsgMHg5M2ExLAkxNiwJezB4OTEsIDB4YjksIDB4OGYsIDB4NTAsIDB4ODAsIDB4MmIsIDB4YWYsIDB4NTYsIDB4YWUsIDB4NTUsIDB4MTIsIDB4OGQsIDB4YjUsIDB4OGYsIDB4NTAsIDB4ODB9IH0sCi17IDB4OTNiMSwJMTYsCXsweDIwLCAweGFmLCAweDU2LCAweGFlLCAweDU1LCAweDEyLCAweDhkLCAweGQ2LCAweDhmLCAweDUwLCAweDgwLCAweDE1LCAweGFmLCAweDRmLCAweGFlLCAweDRlfSB9LAoteyAweDkzYzEsCTE2LAl7MHg3YywgMHgwMiwgMHg3ZCwgMHhhZiwgMHg3YiwgMHg0MCwgMHgxMiwgMHg5MSwgMHgzNywgMHhlNCwgMHhmNSwgMHg1MCwgMHg4MCwgMHgwMywgMHg3NSwgMHg1MH0gfSwKLXsgMHg5M2QxLAkxNiwJezB4ZmYsIDB4ZTUsIDB4NTAsIDB4NjAsIDB4MWQsIDB4OTAsIDB4MDEsIDB4OTgsIDB4NzQsIDB4MTEsIDB4ZjAsIDB4ODUsIDB4NTIsIDB4ODIsIDB4ODUsIDB4NTF9IH0sCi17IDB4OTNlMSwJMTYsCXsweDgzLCAweGUwLCAweDkwLCAweDAxLCAweDk5LCAweGYwLCAweDdlLCAweDAxLCAweDdmLCAweDk4LCAweDdkLCAweDAyLCAweDEyLCAweDkxLCAweDZhLCAweGFmfSB9LAoteyAweDkzZjEsCTE2LAl7MHg1MCwgMHgyMiwgMHg4NSwgMHg1MiwgMHg4MiwgMHg4NSwgMHg1MSwgMHg4MywgMHhlMCwgMHhmZiwgMHgxNCwgMHgyNCwgMHhmYSwgMHg1MCwgMHgwNCwgMHgyNH0gfSwKLXsgMHg5NDAxLAkxNiwJezB4ZmUsIDB4NzAsIDB4MWYsIDB4OTAsIDB4MDEsIDB4OTgsIDB4NzQsIDB4MTAsIDB4ZjAsIDB4YTMsIDB4ZWYsIDB4ZjAsIDB4ODUsIDB4NTYsIDB4ODIsIDB4ODV9IH0sCi17IDB4OTQxMSwJMTYsCXsweDU1LCAweDgzLCAweGUwLCAweDkwLCAweDAxLCAweDlhLCAweGYwLCAweDdlLCAweDAxLCAweDdmLCAweDk4LCAweDdkLCAweDAzLCAweDEyLCAweDkxLCAweDZhfSB9LAoteyAweDk0MjEsCTQsCXsweDhmLCAweDUwLCAweGFmLCAweDUwfSB9LAoteyAweDk0MjUsCTEsCXsweDIyfSB9LAoteyAweDk0MjYsCTgsCXsweDhmLCAweDUxLCAweDhlLCAweDUwLCAweDhkLCAweDRmLCAweDhjLCAweDRlfSB9LAoteyAweDk0MmUsCTE2LAl7MHg3NSwgMHg1OCwgMHgwMSwgMHg3NSwgMHg1OSwgMHg5YywgMHhlNCwgMHhmNSwgMHg1NywgMHhhZiwgMHg1MywgMHgxNSwgMHg1MywgMHhlZiwgMHg3MCwgMHgwM30gfSwKLXsgMHg5NDNlLAkxNiwJezB4MDIsIDB4OTQsIDB4YzQsIDB4YWYsIDB4NTIsIDB4ZTQsIDB4ZmMsIDB4ZmQsIDB4ZmUsIDB4ZjgsIDB4ZjksIDB4ZmEsIDB4YWIsIDB4MDcsIDB4YWYsIDB4NTF9IH0sCi17IDB4OTQ0ZSwJMTYsCXsweGFlLCAweDUwLCAweGFkLCAweDRmLCAweGFjLCAweDRlLCAweDEyLCAweGEzLCAweDIxLCAweGFmLCAweDAzLCAweDhmLCAweDU2LCAweGFmLCAweDUxLCAweGFlfSB9LAoteyAweDk0NWUsCTE2LAl7MHg1MCwgMHhhZCwgMHg0ZiwgMHhhYywgMHg0ZSwgMHhjMCwgMHgwNCwgMHhjMCwgMHgwNSwgMHhjMCwgMHgwNiwgMHhjMCwgMHgwNywgMHhhZiwgMHg1MiwgMHhlNH0gfSwKLXsgMHg5NDZlLAkxNiwJezB4ZmMsIDB4ZmQsIDB4ZmUsIDB4ZjgsIDB4ZjksIDB4ZmEsIDB4YWIsIDB4MDcsIDB4ZDAsIDB4MDcsIDB4ZDAsIDB4MDYsIDB4ZDAsIDB4MDUsIDB4ZDAsIDB4MDR9IH0sCi17IDB4OTQ3ZSwJMTYsCXsweDEyLCAweGEzLCAweDIxLCAweDhmLCAweDUxLCAweDhlLCAweDUwLCAweDhkLCAweDRmLCAweDhjLCAweDRlLCAweGU1LCAweDU2LCAweDI0LCAweDMwLCAweGY1fSB9LAoteyAweDk0OGUsCTE2LAl7MHg1NiwgMHhkMywgMHg5NCwgMHgzOSwgMHg0MCwgMHgwNiwgMHg3NCwgMHgwNywgMHgyNSwgMHg1NiwgMHhmNSwgMHg1NiwgMHgwNSwgMHg1OSwgMHhlNSwgMHg1OX0gfSwKLXsgMHg5NDllLAkxNiwJezB4YWUsIDB4NTgsIDB4NzAsIDB4MDIsIDB4MDUsIDB4NTgsIDB4MTQsIDB4ZjUsIDB4ODIsIDB4OGUsIDB4ODMsIDB4ZTQsIDB4ZjAsIDB4MDUsIDB4NTksIDB4ZTV9IH0sCi17IDB4OTRhZSwJMTYsCXsweDU5LCAweGFlLCAweDU4LCAweDcwLCAweDAyLCAweDA1LCAweDU4LCAweDE0LCAweGY1LCAweDgyLCAweDhlLCAweDgzLCAweGU1LCAweDU2LCAweGYwLCAweDA1fSB9LAoteyAweDk0YmUsCTE2LAl7MHg1NywgMHgwNSwgMHg1NywgMHgwMiwgMHg5NCwgMHgzNywgMHhlNSwgMHg1OSwgMHgxNSwgMHg1OSwgMHg3MCwgMHgwMiwgMHgxNSwgMHg1OCwgMHhhZiwgMHg1N30gfSwKLXsgMHg5NGNlLAkxNiwJezB4MTUsIDB4NTcsIDB4ZWYsIDB4NjAsIDB4MjMsIDB4ZTUsIDB4NTksIDB4MTUsIDB4NTksIDB4YWUsIDB4NTgsIDB4NzAsIDB4MDIsIDB4MTUsIDB4NTgsIDB4ZjV9IH0sCi17IDB4OTRkZSwJMTYsCXsweDgyLCAweDhlLCAweDgzLCAweGUwLCAweGZmLCAweDA1LCAweDU1LCAweGU1LCAweDU1LCAweGFjLCAweDU0LCAweDcwLCAweDAyLCAweDA1LCAweDU0LCAweDE0fSB9LAoteyAweDk0ZWUsCTgsCXsweGY1LCAweDgyLCAweDhjLCAweDgzLCAweGVmLCAweGYwLCAweDgwLCAweGQ2fSB9LAoteyAweDk0ZjYsCTEsCXsweDIyfSB9LAoteyAweDk0ZjcsCTE2LAl7MHhlNCwgMHg5MCwgMHgwMSwgMHhjOSwgMHhmMCwgMHg3ZSwgMHgwMSwgMHg3ZiwgMHhjYSwgMHg5MCwgMHgwMSwgMHhiZSwgMHhlZSwgMHhmMCwgMHhhMywgMHhlZn0gfSwKLXsgMHg5NTA3LAkxMCwJezB4ZjAsIDB4OTAsIDB4MDEsIDB4YzIsIDB4ZWUsIDB4ZjAsIDB4YTMsIDB4ZWYsIDB4ZjAsIDB4MjJ9IH0sCi17IDB4OTUxMSwJMTYsCXsweGFhLCAweDA3LCAweGE5LCAweDA1LCAweDkwLCAweDAxLCAweGM5LCAweGUwLCAweGMzLCAweDk0LCAweDQwLCAweDUwLCAweDYxLCAweGFjLCAweDAyLCAweDc0fSB9LAoteyAweDk1MjEsCTE2LAl7MHgwMSwgMHg3ZSwgMHgwMCwgMHhhOCwgMHgwNCwgMHgwOCwgMHg4MCwgMHgwNSwgMHhjMywgMHgzMywgMHhjZSwgMHgzMywgMHhjZSwgMHhkOCwgMHhmOSwgMHhmZn0gfSwKLXsgMHg5NTMxLAkxNiwJezB4ZTQsIDB4ZWYsIDB4NTUsIDB4MzQsIDB4NjAsIDB4NDUsIDB4ZWEsIDB4MDQsIDB4ZmYsIDB4OTAsIDB4MDEsIDB4YzIsIDB4ZTAsIDB4ZmMsIDB4YTMsIDB4ZTB9IH0sCi17IDB4OTU0MSwJMTYsCXsweGZkLCAweGY1LCAweDgyLCAweDhjLCAweDgzLCAweGVmLCAweGYwLCAweGEzLCAweGU5LCAweGYwLCAweDhkLCAweDgyLCAweDhjLCAweDgzLCAweGEzLCAweGEzfSB9LAoteyAweDk1NTEsCTE2LAl7MHhlYiwgMHhmMCwgMHg5MCwgMHgwMSwgMHhjMiwgMHhlNCwgMHg3NSwgMHhmMCwgMHgwMywgMHgxMiwgMHhhMiwgMHg4MSwgMHhmYywgMHhkMywgMHhlNSwgMHhmMH0gfSwKLXsgMHg5NTYxLAkxNiwJezB4OTQsIDB4ODcsIDB4ZWMsIDB4OTQsIDB4MDIsIDB4NDAsIDB4MGEsIDB4OTAsIDB4MDEsIDB4YzIsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4YTMsIDB4NzQsIDB4Y2F9IH0sCi17IDB4OTU3MSwJMTYsCXsweGYwLCAweGMyLCAweGFmLCAweDkwLCAweDAxLCAweGM5LCAweGUwLCAweDA0LCAweGYwLCAweGQyLCAweGFmLCAweDdmLCAweDAxLCAweDIyLCAweDdmLCAweDAwfSB9LAoteyAweDk1ODEsCTEsCXsweDIyfSB9LAoteyAweDk1ODIsCTE2LAl7MHg5MCwgMHgwMSwgMHhjOSwgMHhlMCwgMHhkMywgMHg5NCwgMHgwMCwgMHg0MCwgMHg1NSwgMHg5MCwgMHgwMSwgMHhiZSwgMHhlMCwgMHhmYywgMHhhMywgMHhlMH0gfSwKLXsgMHg5NTkyLAkxNiwJezB4YWEsIDB4MDQsIDB4ZjksIDB4N2IsIDB4MDEsIDB4YzAsIDB4MDMsIDB4YzAsIDB4MDIsIDB4YzAsIDB4MDEsIDB4YWEsIDB4MDYsIDB4YTksIDB4MDcsIDB4YTh9IH0sCi17IDB4OTVhMiwJMTYsCXsweDAxLCAweGFjLCAweDAyLCAweGFkLCAweDAzLCAweGQwLCAweDAxLCAweGQwLCAweDAyLCAweGQwLCAweDAzLCAweDdlLCAweDAwLCAweDdmLCAweDAzLCAweDEyfSB9LAoteyAweDk1YjIsCTE2LAl7MHhhMiwgMHgxMiwgMHg5MCwgMHgwMSwgMHhiZSwgMHhlNCwgMHg3NSwgMHhmMCwgMHgwMywgMHgxMiwgMHhhMiwgMHg4MSwgMHhmYywgMHhkMywgMHhlNSwgMHhmMH0gfSwKLXsgMHg5NWMyLAkxNiwJezB4OTQsIDB4ODcsIDB4ZWMsIDB4OTQsIDB4MDIsIDB4NDAsIDB4MGEsIDB4OTAsIDB4MDEsIDB4YmUsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4YTMsIDB4NzQsIDB4Y2F9IH0sCi17IDB4OTVkMiwJMTYsCXsweGYwLCAweGMyLCAweGFmLCAweDkwLCAweDAxLCAweGM5LCAweGUwLCAweDE0LCAweGYwLCAweGQyLCAweGFmLCAweDdmLCAweDAxLCAweDIyLCAweDdmLCAweDAwfSB9LAoteyAweDk1ZTIsCTEsCXsweDIyfSB9LAoteyAweDk1ZTMsCTE2LAl7MHg5MCwgMHg3ZiwgMHhjMiwgMHhlMCwgMHgyMCwgMHhlMSwgMHg3MywgMHg3ZSwgMHg3YiwgMHg3ZiwgMHg4MCwgMHg3NSwgMHg1MywgMHg3YiwgMHg3NSwgMHg1NH0gfSwKLXsgMHg5NWYzLAkxNiwJezB4ODAsIDB4ZTUsIDB4NTQsIDB4MjQsIDB4MDEsIDB4ZmYsIDB4ZTQsIDB4MzUsIDB4NTMsIDB4YTksIDB4MDcsIDB4N2IsIDB4MDEsIDB4OGIsIDB4NTUsIDB4ZjV9IH0sCi17IDB4OTYwMywJMTYsCXsweDU2LCAweDg5LCAweDU3LCAweGZlLCAweDEyLCAweDk1LCAweDgyLCAweGVmLCAweDYwLCAweDUwLCAweGFiLCAweDU1LCAweGFhLCAweDU2LCAweGE5LCAweDU3fSB9LAoteyAweDk2MTMsCTE2LAl7MHgxMiwgMHhhMiwgMHgzYiwgMHgxNCwgMHhmZiwgMHg5MCwgMHgwMCwgMHgwMSwgMHgxMiwgMHhhMiwgMHg1NCwgMHhiNCwgMHgwMiwgMHgxNiwgMHhjMiwgMHhhZn0gfSwKLXsgMHg5NjIzLAkxNiwJezB4ZWYsIDB4NzUsIDB4ZjAsIDB4MDgsIDB4YTQsIDB4MjQsIDB4MDEsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4MjAsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NDR9IH0sCi17IDB4OTYzMywJMTYsCXsweDA0LCAweGYwLCAweGQyLCAweGFmLCAweDc0LCAweDAxLCAweDdlLCAweDAwLCAweGE4LCAweDA3LCAweDA4LCAweDgwLCAweDA1LCAweGMzLCAweDMzLCAweGNlfSB9LAoteyAweDk2NDMsCTE2LAl7MHgzMywgMHhjZSwgMHhkOCwgMHhmOSwgMHhmZiwgMHhlNCwgMHhlZiwgMHg1NSwgMHgzNCwgMHg2MCwgMHgwZiwgMHg4NSwgMHg1NCwgMHg4MiwgMHg4NSwgMHg1M30gfSwKLXsgMHg5NjUzLAkxMCwJezB4ODMsIDB4NzQsIDB4MGQsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YzMsIDB4NzQsIDB4MDQsIDB4ZjB9IH0sCi17IDB4OTY1ZCwJMSwJezB4MjJ9IH0sCi17IDB4OTY1ZSwJMTYsCXsweDEyLCAweDk1LCAweGUzLCAweGU0LCAweGY1LCAweDRlLCAweDc0LCAweDNhLCAweDI1LCAweDRlLCAweGY4LCAweGU2LCAweDU0LCAweGYwLCAweGY1LCAweDRmfSB9LAoteyAweDk2NmUsCTE2LAl7MHg3NCwgMHhjNSwgMHgyNSwgMHg0ZSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHgwMSwgMHhmNSwgMHg4MywgMHhlMCwgMHg2NSwgMHg0ZiwgMHhmZiwgMHhjNH0gfSwKLXsgMHg5NjdlLAkxNiwJezB4NTQsIDB4MGYsIDB4ZjUsIDB4NTAsIDB4NjAsIDB4MjIsIDB4NzQsIDB4YzUsIDB4MjUsIDB4NGUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4MDEsIDB4ZjV9IH0sCi17IDB4OTY4ZSwJMTYsCXsweDgzLCAweGU1LCAweDRmLCAweGYwLCAweGFmLCAweDRlLCAweDdkLCAweDAxLCAweGU1LCAweDRmLCAweDQ1LCAweDUwLCAweGZiLCAweDEyLCAweDk1LCAweDExfSB9LAoteyAweDk2OWUsCTE2LAl7MHhlZiwgMHg3MCwgMHgwNSwgMHgxMiwgMHg5NSwgMHhlMywgMHg4MCwgMHhlYywgMHgwNSwgMHg0ZSwgMHhlNSwgMHg0ZSwgMHhjMywgMHg5NCwgMHgwNCwgMHg0MH0gfSwKLXsgMHg5NmFlLAkxNiwJezB4YjUsIDB4MTIsIDB4OTUsIDB4ZTMsIDB4ZTUsIDB4M2UsIDB4NjAsIDB4NDgsIDB4ZTQsIDB4ZjUsIDB4NGUsIDB4YWYsIDB4NGUsIDB4NzQsIDB4MDEsIDB4YTh9IH0sCi17IDB4OTZiZSwJMTYsCXsweDA3LCAweDA4LCAweDgwLCAweDAyLCAweGMzLCAweDMzLCAweGQ4LCAweGZjLCAweGY1LCAweDRmLCAweDU1LCAweDNlLCAweDYwLCAweDI5LCAweGU1LCAweDRlfSB9LAoteyAweDk2Y2UsCTE2LAl7MHg3NSwgMHhmMCwgMHgwOCwgMHhhNCwgMHgyNCwgMHgwNSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHgyMCwgMHhmNSwgMHg4MywgMHhlMCwgMHgzMCwgMHhlNn0gfSwKLXsgMHg5NmRlLAkxNiwJezB4MTYsIDB4YWYsIDB4NGUsIDB4N2QsIDB4MDQsIDB4N2IsIDB4ODAsIDB4MTIsIDB4OTUsIDB4MTEsIDB4ZWYsIDB4NzAsIDB4MDUsIDB4MTIsIDB4OTUsIDB4ZTN9IH0sCi17IDB4OTZlZSwJMTYsCXsweDgwLCAweGVmLCAweGU1LCAweDRmLCAweGY0LCAweDUyLCAweDNlLCAweDA1LCAweDRlLCAweGU1LCAweDRlLCAweGMzLCAweDk0LCAweDA0LCAweDQwLCAweGJifSB9LAoteyAweDk2ZmUsCTE2LAl7MHg5MCwgMHgwMywgMHgwMCwgMHhlMCwgMHg2MCwgMHgwMywgMHgwMiwgMHg5NywgMHhkZiwgMHg3NCwgMHgxOSwgMHhmMCwgMHhlNSwgMHgzMywgMHhjMywgMHg5NH0gfSwKLXsgMHg5NzBlLAkxNiwJezB4MDEsIDB4NDAsIDB4MGQsIDB4OTAsIDB4MjAsIDB4NzgsIDB4ZTAsIDB4NTQsIDB4MGYsIDB4NzUsIDB4NTEsIDB4MDAsIDB4ZjUsIDB4NTIsIDB4ODAsIDB4MDl9IH0sCi17IDB4OTcxZSwJMTYsCXsweDdmLCAweDAyLCAweDEyLCAweDExLCAweDI3LCAweDhlLCAweDUxLCAweDhmLCAweDUyLCAweGMzLCAweGU1LCAweDUxLCAweDY0LCAweDgwLCAweDk0LCAweDgwfSB9LAoteyAweDk3MmUsCTE2LAl7MHg0MCwgMHhkYSwgMHg5MCwgMHgwMSwgMHhiYywgMHhlMCwgMHg2NSwgMHg1MiwgMHhmMCwgMHg2MCwgMHgzNywgMHhlNCwgMHhmNSwgMHg0ZSwgMHhhZiwgMHg0ZX0gfSwKLXsgMHg5NzNlLAkxNiwJezB4NzQsIDB4MDEsIDB4YTgsIDB4MDcsIDB4MDgsIDB4ODAsIDB4MDIsIDB4YzMsIDB4MzMsIDB4ZDgsIDB4ZmMsIDB4ZjUsIDB4NGYsIDB4OTAsIDB4MDEsIDB4YmN9IH0sCi17IDB4OTc0ZSwJMTYsCXsweGUwLCAweDU1LCAweDRmLCAweDYwLCAweDE0LCAweGFmLCAweDRlLCAweDdkLCAweDA4LCAweGU1LCAweDRmLCAweDU1LCAweDUyLCAweGZiLCAweDEyLCAweDk1fSB9LAoteyAweDk3NWUsCTE2LAl7MHgxMSwgMHhlZiwgMHg3MCwgMHgwNSwgMHgxMiwgMHg5NSwgMHhlMywgMHg4MCwgMHhlYywgMHgwNSwgMHg0ZSwgMHhlNSwgMHg0ZSwgMHhjMywgMHg5NCwgMHgwNH0gfSwKLXsgMHg5NzZlLAkxNiwJezB4NDAsIDB4Y2MsIDB4OTAsIDB4MDEsIDB4YmMsIDB4ZTUsIDB4NTIsIDB4ZjAsIDB4ZTQsIDB4ZjUsIDB4NGUsIDB4YzIsIDB4YWYsIDB4NzQsIDB4MzYsIDB4MjV9IH0sCi17IDB4OTc3ZSwJMTYsCXsweDRlLCAweGY4LCAweGU2LCAweGY1LCAweDRmLCAweGU0LCAweGY2LCAweGQyLCAweGFmLCAweDUzLCAweDRmLCAweDFlLCAweGU1LCAweDRmLCAweDYwLCAweDExfSB9LAoteyAweDk3OGUsCTE2LAl7MHhhZiwgMHg0ZSwgMHg3ZCwgMHgwMiwgMHhhYiwgMHg0ZiwgMHgxMiwgMHg5NSwgMHgxMSwgMHhlZiwgMHg3MCwgMHgwNSwgMHgxMiwgMHg5NSwgMHhlMywgMHg4MH0gfSwKLXsgMHg5NzllLAkxNiwJezB4ZWYsIDB4NzQsIDB4MmQsIDB4MjUsIDB4NGUsIDB4ZjgsIDB4ZTYsIDB4ZjUsIDB4NGYsIDB4NzQsIDB4ZmMsIDB4MjUsIDB4NGUsIDB4ZjUsIDB4ODIsIDB4ZTR9IH0sCi17IDB4OTdhZSwJMTYsCXsweDM0LCAweDAyLCAweGY1LCAweDgzLCAweGUwLCAweDY1LCAweDRmLCAweDYwLCAweDExLCAweGFmLCAweDRlLCAweDdkLCAweDA0LCAweGFiLCAweDRmLCAweDEyfSB9LAoteyAweDk3YmUsCTE2LAl7MHg5NSwgMHgxMSwgMHhlZiwgMHg3MCwgMHgwNSwgMHgxMiwgMHg5NSwgMHhlMywgMHg4MCwgMHhlZiwgMHg3NCwgMHhmYywgMHgyNSwgMHg0ZSwgMHhmNSwgMHg4Mn0gfSwKLXsgMHg5N2NlLAkxNiwJezB4ZTQsIDB4MzQsIDB4MDIsIDB4ZjUsIDB4ODMsIDB4ZTUsIDB4NGYsIDB4ZjAsIDB4MDUsIDB4NGUsIDB4ZTUsIDB4NGUsIDB4YzMsIDB4OTQsIDB4MDQsIDB4NDB9IH0sCi17IDB4OTdkZSwJNCwJezB4OWEsIDB4MTIsIDB4OTUsIDB4ZTN9IH0sCi17IDB4OTdlMiwJMSwJezB4MjJ9IH0sCi17IDB4OTdlMywJMTIsCXsweDc4LCAweDdmLCAweGU0LCAweGY2LCAweGQ4LCAweGZkLCAweDc1LCAweDgxLCAweDY3LCAweDAyLCAweDk4LCAweDJhfSB9LAoteyAweDk3ZWYsCTE2LAl7MHgwMiwgMHgwNSwgMHhhZCwgMHhlNCwgMHg5MywgMHhhMywgMHhmOCwgMHhlNCwgMHg5MywgMHhhMywgMHg0MCwgMHgwMywgMHhmNiwgMHg4MCwgMHgwMSwgMHhmMn0gfSwKLXsgMHg5N2ZmLAkxNiwJezB4MDgsIDB4ZGYsIDB4ZjQsIDB4ODAsIDB4MjksIDB4ZTQsIDB4OTMsIDB4YTMsIDB4ZjgsIDB4NTQsIDB4MDcsIDB4MjQsIDB4MGMsIDB4YzgsIDB4YzMsIDB4MzN9IH0sCi17IDB4OTgwZiwJMTYsCXsweGM0LCAweDU0LCAweDBmLCAweDQ0LCAweDIwLCAweGM4LCAweDgzLCAweDQwLCAweDA0LCAweGY0LCAweDU2LCAweDgwLCAweDAxLCAweDQ2LCAweGY2LCAweGRmfSB9LAoteyAweDk4MWYsCTE2LAl7MHhlNCwgMHg4MCwgMHgwYiwgMHgwMSwgMHgwMiwgMHgwNCwgMHgwOCwgMHgxMCwgMHgyMCwgMHg0MCwgMHg4MCwgMHg5MCwgMHg5OCwgMHg2ZiwgMHhlNCwgMHg3ZX0gfSwKLXsgMHg5ODJmLAkxNiwJezB4MDEsIDB4OTMsIDB4NjAsIDB4YmMsIDB4YTMsIDB4ZmYsIDB4NTQsIDB4M2YsIDB4MzAsIDB4ZTUsIDB4MDksIDB4NTQsIDB4MWYsIDB4ZmUsIDB4ZTQsIDB4OTN9IH0sCi17IDB4OTgzZiwJMTYsCXsweGEzLCAweDYwLCAweDAxLCAweDBlLCAweGNmLCAweDU0LCAweGMwLCAweDI1LCAweGUwLCAweDYwLCAweGE4LCAweDQwLCAweGI4LCAweGU0LCAweDkzLCAweGEzfSB9LAoteyAweDk4NGYsCTE2LAl7MHhmYSwgMHhlNCwgMHg5MywgMHhhMywgMHhmOCwgMHhlNCwgMHg5MywgMHhhMywgMHhjOCwgMHhjNSwgMHg4MiwgMHhjOCwgMHhjYSwgMHhjNSwgMHg4MywgMHhjYX0gfSwKLXsgMHg5ODVmLAkxNiwJezB4ZjAsIDB4YTMsIDB4YzgsIDB4YzUsIDB4ODIsIDB4YzgsIDB4Y2EsIDB4YzUsIDB4ODMsIDB4Y2EsIDB4ZGYsIDB4ZTksIDB4ZGUsIDB4ZTcsIDB4ODAsIDB4YmV9IH0sCi17IDB4OTg2ZiwJMTYsCXsweDYwLCAweDI0LCAweDAyLCAweDhhLCAweDAxLCAweDAyLCAweDA0LCAweDA4LCAweDEwLCAweDIwLCAweDQwLCAweDgwLCAweDgxLCAweDgyLCAweDg0LCAweDg4fSB9LAoteyAweDk4N2YsCTE2LAl7MHg5MCwgMHhhMCwgMHhjMCwgMHhjMSwgMHhjMiwgMHhjNCwgMHhjOCwgMHhkMCwgMHhlMCwgMHhlMSwgMHhlMiwgMHhlNCwgMHhlOCwgMHhmMCwgMHhmMSwgMHhmMn0gfSwKLXsgMHg5ODhmLAk4LAl7MHhmNCwgMHhmOCwgMHhmOSwgMHhmYSwgMHhmYywgMHhmZCwgMHhmZSwgMHhmZn0gfSwKLXsgMHg5ODk3LAkxLAl7MHgwMH0gfSwKLXsgMHg5ODk4LAk4LAl7MHg4YiwgMHg1OSwgMHg4YSwgMHg1YSwgMHg4OSwgMHg1YiwgMHg4ZCwgMHg1Y30gfSwKLXsgMHg5OGEwLAkxNiwJezB4ZTQsIDB4ZjUsIDB4NWQsIDB4ZjUsIDB4NWUsIDB4YWYsIDB4NWMsIDB4MTUsIDB4NWMsIDB4ZWYsIDB4NjAsIDB4MzYsIDB4YWIsIDB4NTksIDB4MDUsIDB4NWJ9IH0sCi17IDB4OThiMCwJMTYsCXsweGU1LCAweDViLCAweGFhLCAweDVhLCAweDcwLCAweDAyLCAweDA1LCAweDVhLCAweDE0LCAweGY5LCAweDEyLCAweGEyLCAweDNiLCAweGZmLCAweGU1LCAweDVkfSB9LAoteyAweDk4YzAsCTE2LAl7MHhlNSwgMHg1ZSwgMHg2ZiwgMHgyNSwgMHhlMCwgMHhmZiwgMHhlNCwgMHgzMywgMHhmZSwgMHg3NCwgMHg5NSwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlZSwgMHgzNH0gfSwKLXsgMHg5OGQwLAkxNiwJezB4OWUsIDB4ZjUsIDB4ODMsIDB4ZTUsIDB4NWQsIDB4ZmYsIDB4ZTQsIDB4OTMsIDB4ZjUsIDB4NWQsIDB4NzQsIDB4MDEsIDB4OTMsIDB4NmYsIDB4ZjUsIDB4NWV9IH0sCi17IDB4OThlMCwJNiwJezB4ODAsIDB4YzMsIDB4YWUsIDB4NWQsIDB4YWYsIDB4NWV9IH0sCi17IDB4OThlNiwJMSwJezB4MjJ9IH0sCi17IDB4OThlNywJMTEsCXsweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGMwLCAweGQwLCAweDc1LCAweGQwLCAweDE4fSB9LAoteyAweDk4ZjIsCTE2LAl7MHg5MCwgMHgyMCwgMHg2MCwgMHhlMCwgMHg1NCwgMHgwZiwgMHhmZSwgMHgzMCwgMHhlMCwgMHgwNSwgMHg5MCwgMHgyMCwgMHgwMiwgMHhlMCwgMHhmZiwgMHhlZX0gfSwKLXsgMHg5OTAyLAkxNiwJezB4MzAsIDB4ZTEsIDB4MDUsIDB4OTAsIDB4MjAsIDB4MGEsIDB4ZTAsIDB4ZmYsIDB4ZWUsIDB4MzAsIDB4ZTIsIDB4MDUsIDB4OTAsIDB4MjAsIDB4MTIsIDB4ZTB9IH0sCi17IDB4OTkxMiwJMTYsCXsweGZmLCAweGVlLCAweDMwLCAweGUzLCAweDA1LCAweDkwLCAweDIwLCAweDFhLCAweGUwLCAweGZmLCAweDkwLCAweDAxLCAweGM0LCAweGUwLCAweGI1LCAweDFlfSB9LAoteyAweDk5MjIsCTEwLAl7MHgwNCwgMHhlNCwgMHhmMCwgMHg4MCwgMHgwNSwgMHg5MCwgMHgwMSwgMHhjNCwgMHhlZSwgMHhmMH0gfSwKLXsgMHg5OTJjLAk5LAl7MHhkMCwgMHhkMCwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMn0gfSwKLXsgMHg5OTM1LAkyLAl7MHhhOSwgMHgwM30gfSwKLXsgMHg5OTM3LAkxNiwJezB4ZWYsIDB4NzUsIDB4ZjAsIDB4MDgsIDB4YTQsIDB4MjQsIDB4MDAsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4MjAsIDB4YWIsIDB4ODIsIDB4ZmEsIDB4ZTV9IH0sCi17IDB4OTk0NywJMTYsCXsweDVjLCAweDQ1LCAweDVkLCAweGY1LCAweDVlLCAweGU5LCAweDYwLCAweDE0LCAweDhhLCAweDgzLCAweGU1LCAweDgyLCAweDI0LCAweDA0LCAweGY1LCAweDgyfSB9LAoteyAweDk5NTcsCTE2LAl7MHhlNCwgMHgzNSwgMHg4MywgMHhmNSwgMHg4MywgMHhlMCwgMHg0ZCwgMHhmMCwgMHhlNCwgMHhmZSwgMHg4MCwgMHgxMywgMHhlYiwgMHgyNCwgMHgwNCwgMHhmNX0gfSwKLXsgMHg5OTY3LAkxNiwJezB4ODIsIDB4ZTQsIDB4M2EsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmYsIDB4ZWQsIDB4ZjQsIDB4ZmMsIDB4ZWYsIDB4NWMsIDB4ZjAsIDB4YWUsIDB4NWUsIDB4ZWJ9IH0sCi17IDB4OTk3NywJMTYsCXsweDI0LCAweDA2LCAweGY1LCAweDgyLCAweGU0LCAweDNhLCAweGY1LCAweDgzLCAweGUwLCAweDU1LCAweDVlLCAweGZjLCAweGI1LCAweDA2LCAweDAzLCAweGFmfSB9LAoteyAweDk5ODcsCTE2LAl7MHgwNSwgMHgyMiwgMHhlNSwgMHg1YywgMHg1YywgMHhmZSwgMHhlNSwgMHg1ZCwgMHg1YywgMHhmZCwgMHhlOSwgMHg2MCwgMHgxNiwgMHhlZSwgMHg3MCwgMHgwNH0gfSwKLXsgMHg5OTk3LAkxNiwJezB4N2YsIDB4MDEsIDB4ODAsIDB4MDIsIDB4N2YsIDB4MDAsIDB4YWUsIDB4MDcsIDB4ZWQsIDB4NzAsIDB4MDQsIDB4N2YsIDB4MDEsIDB4ODAsIDB4MDIsIDB4N2Z9IH0sCi17IDB4OTlhNywJMTYsCXsweDAwLCAweGFkLCAweDA3LCAweGVlLCAweDYwLCAweDAzLCAweGFmLCAweDVjLCAweDIyLCAweGVkLCAweDYwLCAweDAzLCAweGFmLCAweDVkLCAweDIyLCAweDdmfSB9LAoteyAweDk5YjcsCTEsCXsweDAwfSB9LAoteyAweDk5YjgsCTEsCXsweDIyfSB9LAoteyAweDk5YjksCTE2LAl7MHg3NSwgMHg1NSwgMHgwMiwgMHg3NSwgMHg1NiwgMHhiMCwgMHg5MCwgMHgwMywgMHgzNSwgMHg3NCwgMHgwZiwgMHhmMCwgMHg4NSwgMHg1NiwgMHg4MiwgMHg4NX0gfSwKLXsgMHg5OWM5LAkxNiwJezB4NTUsIDB4ODMsIDB4YTMsIDB4ZTAsIDB4ZmYsIDB4OTAsIDB4MDMsIDB4MzcsIDB4ZjAsIDB4ODUsIDB4NTYsIDB4ODIsIDB4ODUsIDB4NTUsIDB4ODMsIDB4ZTB9IH0sCi17IDB4OTlkOSwJMTYsCXsweDkwLCAweDAzLCAweDM2LCAweGYwLCAweDkwLCAweDAzLCAweDM4LCAweDc0LCAweGZmLCAweGYwLCAweDc1LCAweDU3LCAweDAzLCAweDc1LCAweDU4LCAweDM5fSB9LAoteyAweDk5ZTksCTE2LAl7MHhlZiwgMHgxNCwgMHhiNCwgMHgwYiwgMHgwMCwgMHg0MCwgMHgwMywgMHgwMiwgMHg5ZSwgMHg1ZCwgMHg5MCwgMHg5OSwgMHhmYSwgMHhmOCwgMHgyOCwgMHgyOH0gfSwKLXsgMHg5OWY5LAkxNiwJezB4NzMsIDB4MDIsIDB4OWEsIDB4MWIsIDB4MDIsIDB4OWEsIDB4YmEsIDB4MDIsIDB4OWIsIDB4YmYsIDB4MDIsIDB4OWIsIDB4ZGUsIDB4MDIsIDB4OWIsIDB4ZGV9IH0sCi17IDB4OWEwOSwJMTYsCXsweDAyLCAweDljLCAweDk0LCAweDAyLCAweDljLCAweGNmLCAweDAyLCAweDljLCAweGY0LCAweDAyLCAweDlkLCAweGIyLCAweDAyLCAweDlkLCAweGUyLCAweDAyfSB9LAoteyAweDlhMTksCTE2LAl7MHg5ZSwgMHgwZSwgMHhlNCwgMHhmNSwgMHg0ZSwgMHhlNSwgMHg0ZSwgMHg3NSwgMHhmMCwgMHgwOCwgMHhhNCwgMHgyNCwgMHgwMCwgMHhmNSwgMHg4MiwgMHhlNH0gfSwKLXsgMHg5YTI5LAkxNiwJezB4MzQsIDB4MjAsIDB4YWYsIDB4ODIsIDB4ZjUsIDB4NTMsIDB4OGYsIDB4NTQsIDB4ZTQsIDB4ZmYsIDB4ZTQsIDB4ZmUsIDB4ZWYsIDB4NjAsIDB4MTAsIDB4NzR9IH0sCi17IDB4OWEzOSwJMTYsCXsweDhhLCAweDJlLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDAyLCAweGY1LCAweDgzLCAweGUwLCAweGY0LCAweGY1LCAweDRmLCAweDgwLCAweDBkLCAweDc0fSB9LAoteyAweDlhNDksCTE2LAl7MHg4YSwgMHgyZSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHgwMiwgMHhmNSwgMHg4MywgMHhlMCwgMHhmNSwgMHg0ZiwgMHhlNSwgMHg1NCwgMHgyNCwgMHgwN30gfSwKLXsgMHg5YTU5LAkxNiwJezB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4NTMsIDB4ZjUsIDB4ODMsIDB4ZTUsIDB4NGYsIDB4ZjAsIDB4ZTAsIDB4ZjUsIDB4NTAsIDB4NjUsIDB4NGYsIDB4NjB9IH0sCi17IDB4OWE2OSwJMTYsCXsweDM4LCAweGU0LCAweDkwLCAweDAzLCAweDM4LCAweGYwLCAweGU1LCAweDRlLCAweDA0LCAweGZkLCAweDA1LCAweDU4LCAweGU1LCAweDU4LCAweGFhLCAweDU3fSB9LAoteyAweDlhNzksCTE2LAl7MHg3MCwgMHgwMiwgMHgwNSwgMHg1NywgMHgxNCwgMHhmNSwgMHg4MiwgMHg4YSwgMHg4MywgMHhlZCwgMHhmMCwgMHgwNSwgMHg1OCwgMHhlNSwgMHg1OCwgMHhhY30gfSwKLXsgMHg5YTg5LAkxNiwJezB4NTcsIDB4NzAsIDB4MDIsIDB4MDUsIDB4NTcsIDB4MTQsIDB4ZjUsIDB4ODIsIDB4OGMsIDB4ODMsIDB4ZTUsIDB4NGYsIDB4ZjAsIDB4ODUsIDB4NTgsIDB4ODJ9IH0sCi17IDB4OWE5OSwJMTYsCXsweDg1LCAweDU3LCAweDgzLCAweGU1LCAweDUwLCAweGYwLCAweDAyLCAweDllLCAweDYzLCAweDBlLCAweGJlLCAweDI0LCAweDhmLCAweDBmLCAweGVmLCAweDY0fSB9LAoteyAweDlhYTksCTE2LAl7MHgwMiwgMHg3MCwgMHg4NywgMHgwNSwgMHg0ZSwgMHhlNSwgMHg0ZSwgMHg2NCwgMHgwNCwgMHg2MCwgMHgwMywgMHgwMiwgMHg5YSwgMHgxZSwgMHgwMiwgMHg5ZX0gfSwKLXsgMHg5YWI5LAkxNiwJezB4NjMsIDB4ZTQsIDB4ZjUsIDB4NGUsIDB4YWYsIDB4NGUsIDB4ZTQsIDB4ZmQsIDB4MTIsIDB4ODMsIDB4NWEsIDB4MDUsIDB4NGUsIDB4ZTUsIDB4NGUsIDB4ZDN9IH0sCi17IDB4OWFjOSwJMTYsCXsweDk0LCAweDAzLCAweDQwLCAweGYwLCAweDkwLCAweDAwLCAweDA0LCAweDc0LCAweDk4LCAweGYwLCAweGEzLCAweDc0LCAweGU3LCAweGYwLCAweGU0LCAweGY1fSB9LAoteyAweDlhZDksCTE2LAl7MHg1MCwgMHg3ZSwgMHgyMCwgMHg3ZiwgMHgwMCwgMHg3NSwgMHg1MywgMHgyMCwgMHg3NSwgMHg1NCwgMHgwMCwgMHhmNSwgMHg0ZSwgMHhhZiwgMHg0ZSwgMHg3NH0gfSwKLXsgMHg5YWU5LAkxNiwJezB4MDEsIDB4YTgsIDB4MDcsIDB4MDgsIDB4ODAsIDB4MDIsIDB4YzMsIDB4MzMsIDB4ZDgsIDB4ZmMsIDB4ZjUsIDB4NGYsIDB4OTAsIDB4MDEsIDB4YzQsIDB4ZjB9IH0sCi17IDB4OWFmOSwJMTYsCXsweDkwLCAweDAxLCAweGMwLCAweGU0LCAweGYwLCAweGEzLCAweDc0LCAweDBhLCAweGYwLCAweDg1LCAweDU0LCAweDgyLCAweDg1LCAweDUzLCAweDgzLCAweGEzfSB9LAoteyAweDliMDksCTE2LAl7MHg3NCwgMHgwMiwgMHhmMCwgMHg5MCwgMHgwMSwgMHhjNCwgMHhlMCwgMHhiNSwgMHg0ZiwgMHgzNCwgMHg5MCwgMHgwMSwgMHhjMCwgMHhlMCwgMHg3MCwgMHgwMn0gfSwKLXsgMHg5YjE5LAkxNiwJezB4YTMsIDB4ZTAsIDB4NzAsIDB4ZWYsIDB4OTAsIDB4MDMsIDB4MzgsIDB4ZjAsIDB4ZTUsIDB4NGUsIDB4MDQsIDB4ZmYsIDB4MDUsIDB4NTgsIDB4ZTUsIDB4NTh9IH0sCi17IDB4OWIyOSwJMTYsCXsweGFjLCAweDU3LCAweDcwLCAweDAyLCAweDA1LCAweDU3LCAweDE0LCAweGY1LCAweDgyLCAweDhjLCAweDgzLCAweGVmLCAweGYwLCAweDg1LCAweDU4LCAweDgyfSB9LAoteyAweDliMzksCTE2LAl7MHg4NSwgMHg1NywgMHg4MywgMHg3NCwgMHhmZiwgMHhmMCwgMHhlNCwgMHg5MCwgMHgwMSwgMHhjNCwgMHhmMCwgMHg3NSwgMHg1MCwgMHhmZiwgMHg5MCwgMHgwMX0gfSwKLXsgMHg5YjQ5LAkxNiwJezB4YzQsIDB4ZTAsIDB4ZmYsIDB4NjAsIDB4MzcsIDB4ZTQsIDB4OTAsIDB4MDMsIDB4MzgsIDB4ZjAsIDB4ZTUsIDB4NGUsIDB4MDQsIDB4ZmUsIDB4MDUsIDB4NTh9IH0sCi17IDB4OWI1OSwJMTYsCXsweGU1LCAweDU4LCAweGFjLCAweDU3LCAweDcwLCAweDAyLCAweDA1LCAweDU3LCAweDE0LCAweGY1LCAweDgyLCAweDhjLCAweDgzLCAweGVlLCAweGYwLCAweDA1fSB9LAoteyAweDliNjksCTE2LAl7MHg1OCwgMHhlNSwgMHg1OCwgMHhhYywgMHg1NywgMHg3MCwgMHgwMiwgMHgwNSwgMHg1NywgMHgxNCwgMHhmNSwgMHg4MiwgMHg4YywgMHg4MywgMHhlZiwgMHhmMH0gfSwKLXsgMHg5Yjc5LAkxNiwJezB4ODUsIDB4NTgsIDB4ODIsIDB4ODUsIDB4NTcsIDB4ODMsIDB4ZTUsIDB4NGYsIDB4ZjAsIDB4NzUsIDB4NTAsIDB4ZmYsIDB4ZTUsIDB4NTAsIDB4NzAsIDB4MTZ9IH0sCi17IDB4OWI4OSwJMTYsCXsweDc0LCAweDA4LCAweDI1LCAweDU0LCAweGY1LCAweDU0LCAweGU0LCAweDM1LCAweDUzLCAweGY1LCAweDUzLCAweDA1LCAweDRlLCAweGU1LCAweDRlLCAweDY0fSB9LAoteyAweDliOTksCTE2LAl7MHgwNCwgMHg2MCwgMHgwMywgMHgwMiwgMHg5YSwgMHhlNiwgMHhlNCwgMHhmNSwgMHg0ZSwgMHhhZiwgMHg0ZSwgMHg3ZCwgMHgwMSwgMHgxMiwgMHg4MywgMHg1YX0gfSwKLXsgMHg5YmE5LAkxNiwJezB4MDUsIDB4NGUsIDB4ZTUsIDB4NGUsIDB4ZDMsIDB4OTQsIDB4MDMsIDB4NDAsIDB4ZjAsIDB4OTAsIDB4MDAsIDB4MDQsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4YTN9IH0sCi17IDB4OWJiOSwJMTYsCXsweDc0LCAweDEyLCAweGYwLCAweDAyLCAweDllLCAweDYzLCAweDg1LCAweDU2LCAweDgyLCAweDg1LCAweDU1LCAweDgzLCAweGUwLCAweDE0LCAweGZmLCAweDc0fSB9LAoteyAweDliYzksCTE2LAl7MHgwMSwgMHhhOCwgMHgwNywgMHgwOCwgMHg4MCwgMHgwMiwgMHhjMywgMHgzMywgMHhkOCwgMHhmYywgMHg5MCwgMHgwMiwgMHhmNywgMHhmMCwgMHg5MCwgMHgwMX0gfSwKLXsgMHg5YmQ5LAkxNiwJezB4YzQsIDB4ZjAsIDB4MDIsIDB4OWUsIDB4NjMsIDB4OTAsIDB4MDEsIDB4YzAsIDB4NzQsIDB4MDMsIDB4ZjAsIDB4YTMsIDB4NzQsIDB4ZTgsIDB4ZjAsIDB4ZTR9IH0sCi17IDB4OWJlOSwJMTYsCXsweGY1LCAweDUwLCAweDkwLCAweDAyLCAweGY3LCAweGUwLCAweGZmLCAweDkwLCAweDAxLCAweGM0LCAweGUwLCAweGI1LCAweDA3LCAweDE5LCAweDkwLCAweDAxfSB9LAoteyAweDliZjksCTE2LAl7MHhjMCwgMHhlMCwgMHg3MCwgMHgwMiwgMHhhMywgMHhlMCwgMHg3MCwgMHhlYSwgMHg5MCwgMHgwMywgMHgzOCwgMHhmMCwgMHg4NSwgMHg1OCwgMHg4MiwgMHg4NX0gfSwKLXsgMHg5YzA5LAkxNiwJezB4NTcsIDB4ODMsIDB4NzQsIDB4ZmYsIDB4ZjAsIDB4ZjUsIDB4NTAsIDB4ZTUsIDB4NTAsIDB4NjAsIDB4MDMsIDB4MDIsIDB4OWUsIDB4NjMsIDB4OTAsIDB4MDF9IH0sCi17IDB4OWMxOSwJMTYsCXsweGMwLCAweGYwLCAweGEzLCAweDc0LCAweDk2LCAweGYwLCAweDkwLCAweDAxLCAweGMwLCAweGUwLCAweDcwLCAweDAyLCAweGEzLCAweGUwLCAweDcwLCAweGY2fSB9LAoteyAweDljMjksCTE2LAl7MHhlNSwgMHgzMywgMHhjMywgMHg5NCwgMHgwMSwgMHg0MCwgMHgwZCwgMHg5MCwgMHgyMCwgMHg3OCwgMHhlMCwgMHg1NCwgMHgwZiwgMHg3NSwgMHg1MSwgMHgwMH0gfSwKLXsgMHg5YzM5LAkxNiwJezB4ZjUsIDB4NTIsIDB4ODAsIDB4MDksIDB4N2YsIDB4MDIsIDB4MTIsIDB4MTEsIDB4MjcsIDB4OGUsIDB4NTEsIDB4OGYsIDB4NTIsIDB4YzMsIDB4ZTUsIDB4NTF9IH0sCi17IDB4OWM0OSwJMTYsCXsweDY0LCAweDgwLCAweDk0LCAweDgwLCAweDQwLCAweGRhLCAweGU1LCAweDUyLCAweDU0LCAweDBmLCAweGY1LCAweDUwLCAweDkwLCAweDAyLCAweGY3LCAweGUwfSB9LAoteyAweDljNTksCTE2LAl7MHg1NSwgMHg1MCwgMHg3MCwgMHgwNCwgMHg3ZiwgMHgwMSwgMHg4MCwgMHgwMiwgMHg3ZiwgMHgwMCwgMHg4ZiwgMHg0ZiwgMHg4NSwgMHg1NiwgMHg4MiwgMHg4NX0gfSwKLXsgMHg5YzY5LAkxNiwJezB4NTUsIDB4ODMsIDB4YTMsIDB4ZTAsIDB4YjQsIDB4MDUsIDB4MGMsIDB4ZTUsIDB4NGYsIDB4NzAsIDB4MDQsIDB4N2YsIDB4MDEsIDB4ODAsIDB4MDIsIDB4N2Z9IH0sCi17IDB4OWM3OSwJMTYsCXsweDAwLCAweDhmLCAweDRmLCAweGU1LCAweDRmLCAweDcwLCAweDAzLCAweDAyLCAweDllLCAweDYzLCAweGU0LCAweDkwLCAweDAzLCAweDM4LCAweGYwLCAweDg1fSB9LAoteyAweDljODksCTE2LAl7MHg1OCwgMHg4MiwgMHg4NSwgMHg1NywgMHg4MywgMHhlNSwgMHg1MCwgMHhmMCwgMHgwMiwgMHg5ZSwgMHg2MywgMHhlNCwgMHhmZiwgMHhmZCwgMHgxMiwgMHg4M30gfSwKLXsgMHg5Yzk5LAkxNiwJezB4NWEsIDB4N2UsIDB4MjAsIDB4N2YsIDB4MDAsIDB4NzUsIDB4NTMsIDB4MjAsIDB4NzUsIDB4NTQsIDB4MDAsIDB4ODUsIDB4NTQsIDB4ODIsIDB4ODUsIDB4NTN9IH0sCi17IDB4OWNhOSwJMTYsCXsweDgzLCAweGEzLCAweGEzLCAweGEzLCAweGUwLCAweDQ0LCAweDgwLCAweGYwLCAweDg1LCAweDU0LCAweDgyLCAweDg1LCAweDUzLCAweDgzLCAweDc0LCAweDAxfSB9LAoteyAweDljYjksCTE2LAl7MHhmMCwgMHhhMywgMHhlNCwgMHhmMCwgMHg4NSwgMHg1NCwgMHg4MiwgMHg4NSwgMHg1MywgMHg4MywgMHhhMywgMHhhMywgMHhhMywgMHhlMCwgMHg1NCwgMHg3Zn0gfSwKLXsgMHg5Y2M5LAkxNiwJezB4ZjAsIDB4ZDIsIDB4MDQsIDB4MDIsIDB4OWUsIDB4NjMsIDB4YzIsIDB4MDQsIDB4N2UsIDB4MjAsIDB4N2YsIDB4MDAsIDB4NzUsIDB4NTMsIDB4MjAsIDB4NzV9IH0sCi17IDB4OWNkOSwJMTYsCXsweDU0LCAweDAwLCAweGU1LCAweDU0LCAweDI0LCAweDA1LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDUzLCAweGY1LCAweDgzLCAweGUwLCAweDMwLCAweGU2fSB9LAoteyAweDljZTksCTE2LAl7MHhmMSwgMHhlNCwgMHhmZiwgMHg3ZCwgMHgwMSwgMHgxMiwgMHg4MywgMHg1YSwgMHgwMiwgMHg5ZSwgMHg2MywgMHhlNCwgMHhmNSwgMHg1MCwgMHhmNSwgMHg0ZX0gfSwKLXsgMHg5Y2Y5LAkxNiwJezB4YWYsIDB4NGUsIDB4ZTQsIDB4ZmQsIDB4MTIsIDB4ODMsIDB4NWEsIDB4ZTUsIDB4NGUsIDB4NzUsIDB4ZjAsIDB4MDgsIDB4YTQsIDB4MjQsIDB4MDAsIDB4ZjV9IH0sCi17IDB4OWQwOSwJMTYsCXsweDgyLCAweGU0LCAweDM0LCAweDIwLCAweGFmLCAweDgyLCAweGY1LCAweDUzLCAweDhmLCAweDU0LCAweGY1LCAweDgzLCAweGU1LCAweDgyLCAweDI0LCAweDA0fSB9LAoteyAweDlkMTksCTE2LAl7MHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHg4MywgMHhmNSwgMHg4MywgMHhlMCwgMHg1NCwgMHhmYywgMHhmMCwgMHhhZiwgMHg0ZSwgMHg3ZCwgMHgwMSwgMHg3Yn0gfSwKLXsgMHg5ZDI5LAkxNiwJezB4MDEsIDB4NzUsIDB4NWMsIDB4ODAsIDB4NzUsIDB4NWQsIDB4NDAsIDB4MTIsIDB4OTksIDB4MzUsIDB4OGYsIDB4NTAsIDB4ZTUsIDB4NTAsIDB4NzAsIDB4MTF9IH0sCi17IDB4OWQzOSwJMTYsCXsweGFmLCAweDRlLCAweDdkLCAweDAyLCAweDdiLCAweDAxLCAweDc1LCAweDVjLCAweDEwLCAweDc1LCAweDVkLCAweDIwLCAweDEyLCAweDk5LCAweDM1LCAweDhmfSB9LAoteyAweDlkNDksCTE2LAl7MHg1MCwgMHhlNSwgMHg1MCwgMHg3MCwgMHgxMCwgMHhhZiwgMHg0ZSwgMHg3ZCwgMHgwMSwgMHhmYiwgMHg3NSwgMHg1YywgMHg4MCwgMHg3NSwgMHg1ZCwgMHg0MH0gfSwKLXsgMHg5ZDU5LAkxNiwJezB4MTIsIDB4OTksIDB4MzUsIDB4OGYsIDB4NTAsIDB4ZTUsIDB4NTAsIDB4NzAsIDB4MTAsIDB4YWYsIDB4NGUsIDB4N2QsIDB4MDIsIDB4ZmIsIDB4NzUsIDB4NWN9IH0sCi17IDB4OWQ2OSwJMTYsCXsweDEwLCAweDc1LCAweDVkLCAweDIwLCAweDEyLCAweDk5LCAweDM1LCAweDhmLCAweDUwLCAweGFmLCAweDRlLCAweDdkLCAweDAxLCAweDEyLCAweDgzLCAweDVhfSB9LAoteyAweDlkNzksCTE2LAl7MHhlNSwgMHg1MCwgMHg2MCwgMHgyNiwgMHhlNCwgMHg5MCwgMHgwMywgMHgzOCwgMHhmMCwgMHhlNSwgMHg0ZSwgMHgwNCwgMHhmZiwgMHgwNSwgMHg1OCwgMHhlNX0gfSwKLXsgMHg5ZDg5LAkxNiwJezB4NTgsIDB4YWMsIDB4NTcsIDB4NzAsIDB4MDIsIDB4MDUsIDB4NTcsIDB4MTQsIDB4ZjUsIDB4ODIsIDB4OGMsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4ODUsIDB4NTh9IH0sCi17IDB4OWQ5OSwJMTYsCXsweDgyLCAweDg1LCAweDU3LCAweDgzLCAweGU1LCAweDUwLCAweGYwLCAweDAyLCAweDllLCAweDYzLCAweDA1LCAweDRlLCAweGU1LCAweDRlLCAweGQzLCAweDk0fSB9LAoteyAweDlkYTksCTE2LAl7MHgwMywgMHg1MCwgMHgwMywgMHgwMiwgMHg5YywgMHhmOSwgMHgwMiwgMHg5ZSwgMHg2MywgMHhlNCwgMHg5MCwgMHgwMywgMHg1OSwgMHhmMCwgMHhhMywgMHhmMH0gfSwKLXsgMHg5ZGI5LAkxNiwJezB4YTMsIDB4ZjAsIDB4YTMsIDB4ZjAsIDB4YTMsIDB4ZjAsIDB4YTMsIDB4NzQsIDB4MTAsIDB4ZjAsIDB4YTMsIDB4NzQsIDB4OWUsIDB4ZjAsIDB4YTMsIDB4NzR9IH0sCi17IDB4OWRjOSwJMTYsCXsweDg1LCAweGYwLCAweDdlLCAweDAzLCAweDdmLCAweDU5LCAweDEyLCAweDgxLCAweGQ5LCAweGVmLCAweDY0LCAweDA4LCAweDcwLCAweDAzLCAweDAyLCAweDllfSB9LAoteyAweDlkZDksCTE2LAl7MHg2MywgMHhlNCwgMHg5MCwgMHgwMywgMHgzOCwgMHhmMCwgMHgwMiwgMHg5ZSwgMHg2MywgMHhlNCwgMHg5MCwgMHgwMywgMHg1OSwgMHhmMCwgMHhhMywgMHhmMH0gfSwKLXsgMHg5ZGU5LAkxNiwJezB4YTMsIDB4ZjAsIDB4YTMsIDB4ZjAsIDB4YTMsIDB4ZjAsIDB4YTMsIDB4NzQsIDB4MTAsIDB4ZjAsIDB4YTMsIDB4ZTUsIDB4NTcsIDB4ZjAsIDB4YTMsIDB4ZTV9IH0sCi17IDB4OWRmOSwJMTYsCXsweDU4LCAweGYwLCAweDdlLCAweDAzLCAweDdmLCAweDU5LCAweDEyLCAweDE5LCAweGMxLCAweGVmLCAweDY0LCAweDA4LCAweDYwLCAweDVjLCAweGU0LCAweDkwfSB9LAoteyAweDllMDksCTE2LAl7MHgwMywgMHgzOCwgMHhmMCwgMHg4MCwgMHg1NSwgMHhlNSwgMHg1NiwgMHgyNCwgMHgwMiwgMHhmZiwgMHhlNCwgMHgzNSwgMHg1NSwgMHhmYSwgMHhhOSwgMHgwN30gfSwKLXsgMHg5ZTE5LAkxNiwJezB4N2IsIDB4MDEsIDB4N2QsIDB4MTAsIDB4MTIsIDB4OTgsIDB4OTgsIDB4ZWYsIDB4NGUsIDB4NzAsIDB4MzIsIDB4OTAsIDB4MDMsIDB4NTksIDB4ZjAsIDB4YTN9IH0sCi17IDB4OWUyOSwJMTYsCXsweGYwLCAweGEzLCAweGYwLCAweGEzLCAweGYwLCAweGEzLCAweGYwLCAweGEzLCAweDc0LCAweDEwLCAweGYwLCAweGU1LCAweDU2LCAweDI0LCAweDAyLCAweDkwfSB9LAoteyAweDllMzksCTE2LAl7MHgwMywgMHg2MCwgMHhmMCwgMHhlNCwgMHgzNSwgMHg1NSwgMHg5MCwgMHgwMywgMHg1ZiwgMHhmMCwgMHg3ZSwgMHgwMywgMHg3ZiwgMHg1OSwgMHgxMiwgMHg4MX0gfSwKLXsgMHg5ZTQ5LAkxNiwJezB4ZDksIDB4ZWYsIDB4NjQsIDB4MDgsIDB4NjAsIDB4MTQsIDB4ZTQsIDB4OTAsIDB4MDMsIDB4MzgsIDB4ZjAsIDB4ODAsIDB4MGQsIDB4ZTQsIDB4OTAsIDB4MDN9IH0sCi17IDB4OWU1OSwJMTYsCXsweDM4LCAweGYwLCAweDgwLCAweDA2LCAweDkwLCAweDAzLCAweDM4LCAweDc0LCAweDAxLCAweGYwLCAweDkwLCAweDAxLCAweGMwLCAweGU0LCAweGYwLCAweGEzfSB9LAoteyAweDllNjksCTE2LAl7MHg3NCwgMHgwYSwgMHhmMCwgMHg5MCwgMHgwMSwgMHhjMCwgMHhlMCwgMHg3MCwgMHgwMiwgMHhhMywgMHhlMCwgMHg3MCwgMHhmNiwgMHg3ZSwgMHgwMywgMHg3Zn0gfSwKLXsgMHg5ZTc5LAkxMSwJezB4MzUsIDB4N2QsIDB4MjQsIDB4MTIsIDB4OTEsIDB4NmEsIDB4ZTQsIDB4OTAsIDB4MDIsIDB4YWYsIDB4ZjB9IH0sCi17IDB4OWU4NCwJMSwJezB4MjJ9IH0sCi17IDB4OWU4NSwJMTYsCXsweGZmLCAweGZlLCAweGZjLCAweGY4LCAweGYwLCAweGUwLCAweGMwLCAweDgwLCAweDAwLCAweDAxLCAweDAzLCAweDA3LCAweDBmLCAweDFmLCAweDNmLCAweDdmfSB9LAoteyAweDllOTUsCTE2LAl7MHgwMCwgMHgwMCwgMHhjMCwgMHhjMSwgMHhjMSwgMHg4MSwgMHgwMSwgMHg0MCwgMHhjMywgMHgwMSwgMHgwMywgMHhjMCwgMHgwMiwgMHg4MCwgMHhjMiwgMHg0MX0gfSwKLXsgMHg5ZWE1LAkxNiwJezB4YzYsIDB4MDEsIDB4MDYsIDB4YzAsIDB4MDcsIDB4ODAsIDB4YzcsIDB4NDEsIDB4MDUsIDB4MDAsIDB4YzUsIDB4YzEsIDB4YzQsIDB4ODEsIDB4MDQsIDB4NDB9IH0sCi17IDB4OWViNSwJMTYsCXsweGNjLCAweDAxLCAweDBjLCAweGMwLCAweDBkLCAweDgwLCAweGNkLCAweDQxLCAweDBmLCAweDAwLCAweGNmLCAweGMxLCAweGNlLCAweDgxLCAweDBlLCAweDQwfSB9LAoteyAweDllYzUsCTE2LAl7MHgwYSwgMHgwMCwgMHhjYSwgMHhjMSwgMHhjYiwgMHg4MSwgMHgwYiwgMHg0MCwgMHhjOSwgMHgwMSwgMHgwOSwgMHhjMCwgMHgwOCwgMHg4MCwgMHhjOCwgMHg0MX0gfSwKLXsgMHg5ZWQ1LAkxNiwJezB4ZDgsIDB4MDEsIDB4MTgsIDB4YzAsIDB4MTksIDB4ODAsIDB4ZDksIDB4NDEsIDB4MWIsIDB4MDAsIDB4ZGIsIDB4YzEsIDB4ZGEsIDB4ODEsIDB4MWEsIDB4NDB9IH0sCi17IDB4OWVlNSwJMTYsCXsweDFlLCAweDAwLCAweGRlLCAweGMxLCAweGRmLCAweDgxLCAweDFmLCAweDQwLCAweGRkLCAweDAxLCAweDFkLCAweGMwLCAweDFjLCAweDgwLCAweGRjLCAweDQxfSB9LAoteyAweDllZjUsCTE2LAl7MHgxNCwgMHgwMCwgMHhkNCwgMHhjMSwgMHhkNSwgMHg4MSwgMHgxNSwgMHg0MCwgMHhkNywgMHgwMSwgMHgxNywgMHhjMCwgMHgxNiwgMHg4MCwgMHhkNiwgMHg0MX0gfSwKLXsgMHg5ZjA1LAkxNiwJezB4ZDIsIDB4MDEsIDB4MTIsIDB4YzAsIDB4MTMsIDB4ODAsIDB4ZDMsIDB4NDEsIDB4MTEsIDB4MDAsIDB4ZDEsIDB4YzEsIDB4ZDAsIDB4ODEsIDB4MTAsIDB4NDB9IH0sCi17IDB4OWYxNSwJMTYsCXsweGYwLCAweDAxLCAweDMwLCAweGMwLCAweDMxLCAweDgwLCAweGYxLCAweDQxLCAweDMzLCAweDAwLCAweGYzLCAweGMxLCAweGYyLCAweDgxLCAweDMyLCAweDQwfSB9LAoteyAweDlmMjUsCTE2LAl7MHgzNiwgMHgwMCwgMHhmNiwgMHhjMSwgMHhmNywgMHg4MSwgMHgzNywgMHg0MCwgMHhmNSwgMHgwMSwgMHgzNSwgMHhjMCwgMHgzNCwgMHg4MCwgMHhmNCwgMHg0MX0gfSwKLXsgMHg5ZjM1LAkxNiwJezB4M2MsIDB4MDAsIDB4ZmMsIDB4YzEsIDB4ZmQsIDB4ODEsIDB4M2QsIDB4NDAsIDB4ZmYsIDB4MDEsIDB4M2YsIDB4YzAsIDB4M2UsIDB4ODAsIDB4ZmUsIDB4NDF9IH0sCi17IDB4OWY0NSwJMTYsCXsweGZhLCAweDAxLCAweDNhLCAweGMwLCAweDNiLCAweDgwLCAweGZiLCAweDQxLCAweDM5LCAweDAwLCAweGY5LCAweGMxLCAweGY4LCAweDgxLCAweDM4LCAweDQwfSB9LAoteyAweDlmNTUsCTE2LAl7MHgyOCwgMHgwMCwgMHhlOCwgMHhjMSwgMHhlOSwgMHg4MSwgMHgyOSwgMHg0MCwgMHhlYiwgMHgwMSwgMHgyYiwgMHhjMCwgMHgyYSwgMHg4MCwgMHhlYSwgMHg0MX0gfSwKLXsgMHg5ZjY1LAkxNiwJezB4ZWUsIDB4MDEsIDB4MmUsIDB4YzAsIDB4MmYsIDB4ODAsIDB4ZWYsIDB4NDEsIDB4MmQsIDB4MDAsIDB4ZWQsIDB4YzEsIDB4ZWMsIDB4ODEsIDB4MmMsIDB4NDB9IH0sCi17IDB4OWY3NSwJMTYsCXsweGU0LCAweDAxLCAweDI0LCAweGMwLCAweDI1LCAweDgwLCAweGU1LCAweDQxLCAweDI3LCAweDAwLCAweGU3LCAweGMxLCAweGU2LCAweDgxLCAweDI2LCAweDQwfSB9LAoteyAweDlmODUsCTE2LAl7MHgyMiwgMHgwMCwgMHhlMiwgMHhjMSwgMHhlMywgMHg4MSwgMHgyMywgMHg0MCwgMHhlMSwgMHgwMSwgMHgyMSwgMHhjMCwgMHgyMCwgMHg4MCwgMHhlMCwgMHg0MX0gfSwKLXsgMHg5Zjk1LAkxNiwJezB4YTAsIDB4MDEsIDB4NjAsIDB4YzAsIDB4NjEsIDB4ODAsIDB4YTEsIDB4NDEsIDB4NjMsIDB4MDAsIDB4YTMsIDB4YzEsIDB4YTIsIDB4ODEsIDB4NjIsIDB4NDB9IH0sCi17IDB4OWZhNSwJMTYsCXsweDY2LCAweDAwLCAweGE2LCAweGMxLCAweGE3LCAweDgxLCAweDY3LCAweDQwLCAweGE1LCAweDAxLCAweDY1LCAweGMwLCAweDY0LCAweDgwLCAweGE0LCAweDQxfSB9LAoteyAweDlmYjUsCTE2LAl7MHg2YywgMHgwMCwgMHhhYywgMHhjMSwgMHhhZCwgMHg4MSwgMHg2ZCwgMHg0MCwgMHhhZiwgMHgwMSwgMHg2ZiwgMHhjMCwgMHg2ZSwgMHg4MCwgMHhhZSwgMHg0MX0gfSwKLXsgMHg5ZmM1LAkxNiwJezB4YWEsIDB4MDEsIDB4NmEsIDB4YzAsIDB4NmIsIDB4ODAsIDB4YWIsIDB4NDEsIDB4NjksIDB4MDAsIDB4YTksIDB4YzEsIDB4YTgsIDB4ODEsIDB4NjgsIDB4NDB9IH0sCi17IDB4OWZkNSwJMTYsCXsweDc4LCAweDAwLCAweGI4LCAweGMxLCAweGI5LCAweDgxLCAweDc5LCAweDQwLCAweGJiLCAweDAxLCAweDdiLCAweGMwLCAweDdhLCAweDgwLCAweGJhLCAweDQxfSB9LAoteyAweDlmZTUsCTE2LAl7MHhiZSwgMHgwMSwgMHg3ZSwgMHhjMCwgMHg3ZiwgMHg4MCwgMHhiZiwgMHg0MSwgMHg3ZCwgMHgwMCwgMHhiZCwgMHhjMSwgMHhiYywgMHg4MSwgMHg3YywgMHg0MH0gfSwKLXsgMHg5ZmY1LAkxNiwJezB4YjQsIDB4MDEsIDB4NzQsIDB4YzAsIDB4NzUsIDB4ODAsIDB4YjUsIDB4NDEsIDB4NzcsIDB4MDAsIDB4YjcsIDB4YzEsIDB4YjYsIDB4ODEsIDB4NzYsIDB4NDB9IH0sCi17IDB4YTAwNSwJMTYsCXsweDcyLCAweDAwLCAweGIyLCAweGMxLCAweGIzLCAweDgxLCAweDczLCAweDQwLCAweGIxLCAweDAxLCAweDcxLCAweGMwLCAweDcwLCAweDgwLCAweGIwLCAweDQxfSB9LAoteyAweGEwMTUsCTE2LAl7MHg1MCwgMHgwMCwgMHg5MCwgMHhjMSwgMHg5MSwgMHg4MSwgMHg1MSwgMHg0MCwgMHg5MywgMHgwMSwgMHg1MywgMHhjMCwgMHg1MiwgMHg4MCwgMHg5MiwgMHg0MX0gfSwKLXsgMHhhMDI1LAkxNiwJezB4OTYsIDB4MDEsIDB4NTYsIDB4YzAsIDB4NTcsIDB4ODAsIDB4OTcsIDB4NDEsIDB4NTUsIDB4MDAsIDB4OTUsIDB4YzEsIDB4OTQsIDB4ODEsIDB4NTQsIDB4NDB9IH0sCi17IDB4YTAzNSwJMTYsCXsweDljLCAweDAxLCAweDVjLCAweGMwLCAweDVkLCAweDgwLCAweDlkLCAweDQxLCAweDVmLCAweDAwLCAweDlmLCAweGMxLCAweDllLCAweDgxLCAweDVlLCAweDQwfSB9LAoteyAweGEwNDUsCTE2LAl7MHg1YSwgMHgwMCwgMHg5YSwgMHhjMSwgMHg5YiwgMHg4MSwgMHg1YiwgMHg0MCwgMHg5OSwgMHgwMSwgMHg1OSwgMHhjMCwgMHg1OCwgMHg4MCwgMHg5OCwgMHg0MX0gfSwKLXsgMHhhMDU1LAkxNiwJezB4ODgsIDB4MDEsIDB4NDgsIDB4YzAsIDB4NDksIDB4ODAsIDB4ODksIDB4NDEsIDB4NGIsIDB4MDAsIDB4OGIsIDB4YzEsIDB4OGEsIDB4ODEsIDB4NGEsIDB4NDB9IH0sCi17IDB4YTA2NSwJMTYsCXsweDRlLCAweDAwLCAweDhlLCAweGMxLCAweDhmLCAweDgxLCAweDRmLCAweDQwLCAweDhkLCAweDAxLCAweDRkLCAweGMwLCAweDRjLCAweDgwLCAweDhjLCAweDQxfSB9LAoteyAweGEwNzUsCTE2LAl7MHg0NCwgMHgwMCwgMHg4NCwgMHhjMSwgMHg4NSwgMHg4MSwgMHg0NSwgMHg0MCwgMHg4NywgMHgwMSwgMHg0NywgMHhjMCwgMHg0NiwgMHg4MCwgMHg4NiwgMHg0MX0gfSwKLXsgMHhhMDg1LAkxNiwJezB4ODIsIDB4MDEsIDB4NDIsIDB4YzAsIDB4NDMsIDB4ODAsIDB4ODMsIDB4NDEsIDB4NDEsIDB4MDAsIDB4ODEsIDB4YzEsIDB4ODAsIDB4ODEsIDB4NDAsIDB4NDB9IH0sCi17IDB4YTA5NSwJMTYsCXsweGU0LCAweGZmLCAweDc0LCAweGY4LCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDAyLCAweGY1LCAweDgzLCAweGUwLCAweDcwLCAweDAzLCAweDAyfSB9LAoteyAweGEwYTUsCTE2LAl7MHhhMSwgMHgzOCwgMHg3NCwgMHgzYSwgMHgyZiwgMHhmOCwgMHhlNiwgMHgyMCwgMHhlNSwgMHgwMywgMHgwMiwgMHhhMSwgMHgzOCwgMHhlZiwgMHg3NSwgMHhmMH0gfSwKLXsgMHhhMGI1LAkxNiwJezB4MDgsIDB4YTQsIDB4MjQsIDB4MDAsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4MjAsIDB4YWQsIDB4ODIsIDB4ZmMsIDB4ZjUsIDB4ODMsIDB4ZTUsIDB4ODJ9IH0sCi17IDB4YTBjNSwJMTYsCXsweDI0LCAweDA1LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDgzLCAweGY1LCAweDgzLCAweGUwLCAweDU0LCAweDYwLCAweDY0LCAweDYwLCAweDcwLCAweDYzfSB9LAoteyAweGEwZDUsCTE2LAl7MHhlZiwgMHgyNSwgMHhlMCwgMHgyNCwgMHhlZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHgwMiwgMHhmNSwgMHg4MywgMHhlNCwgMHg3NSwgMHhmMCwgMHgwMX0gfSwKLXsgMHhhMGU1LAkxNiwJezB4MTIsIDB4YTIsIDB4OTcsIDB4ODUsIDB4ZjAsIDB4ODIsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4OGQsIDB4ODIsIDB4OGMsIDB4ODMsIDB4ZjAsIDB4NzQsIDB4Zjh9IH0sCi17IDB4YTBmNSwJMTYsCXsweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDAyLCAweGY1LCAweDgzLCAweGUwLCAweDE0LCAweGYwLCAweDcwLCAweDM2LCAweGVmLCAweDI1LCAweGUwfSB9LAoteyAweGExMDUsCTE2LAl7MHgyNCwgMHhjNywgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZiwgMHhmNSwgMHg4MywgMHhlNCwgMHhmMCwgMHhlZiwgMHgyNSwgMHhlMCwgMHhmZSwgMHhjM30gfSwKLXsgMHhhMTE1LAkxNiwJezB4NzQsIDB4MGMsIDB4OWUsIDB4NzUsIDB4ZjAsIDB4NDAsIDB4YTQsIDB4MjQsIDB4NDAsIDB4ZjUsIDB4ODIsIDB4ZTUsIDB4ZjAsIDB4MzQsIDB4N2IsIDB4YWR9IH0sCi17IDB4YTEyNSwJMTYsCXsweDgyLCAweGZjLCAweGVmLCAweDI1LCAweGUwLCAweDI0LCAweGVmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDAyLCAweGY1LCAweDgzLCAweGVjLCAweGYwfSB9LAoteyAweGExMzUsCTEyLAl7MHhhMywgMHhlZCwgMHhmMCwgMHgwZiwgMHhlZiwgMHg2NCwgMHgwNCwgMHg2MCwgMHgwMywgMHgwMiwgMHhhMCwgMHg5N30gfSwKLXsgMHhhMTQxLAkxLAl7MHgyMn0gfSwKLXsgMHhhMTQyLAkxNiwJezB4ZTcsIDB4MDksIDB4ZjYsIDB4MDgsIDB4ZGYsIDB4ZmEsIDB4ODAsIDB4NDYsIDB4ZTcsIDB4MDksIDB4ZjIsIDB4MDgsIDB4ZGYsIDB4ZmEsIDB4ODAsIDB4M2V9IH0sCi17IDB4YTE1MiwJMTYsCXsweDg4LCAweDgyLCAweDhjLCAweDgzLCAweGU3LCAweDA5LCAweGYwLCAweGEzLCAweGRmLCAweGZhLCAweDgwLCAweDMyLCAweGUzLCAweDA5LCAweGY2LCAweDA4fSB9LAoteyAweGExNjIsCTE2LAl7MHhkZiwgMHhmYSwgMHg4MCwgMHg3OCwgMHhlMywgMHgwOSwgMHhmMiwgMHgwOCwgMHhkZiwgMHhmYSwgMHg4MCwgMHg3MCwgMHg4OCwgMHg4MiwgMHg4YywgMHg4M30gfSwKLXsgMHhhMTcyLAkxNiwJezB4ZTMsIDB4MDksIDB4ZjAsIDB4YTMsIDB4ZGYsIDB4ZmEsIDB4ODAsIDB4NjQsIDB4ODksIDB4ODIsIDB4OGEsIDB4ODMsIDB4ZTAsIDB4YTMsIDB4ZjYsIDB4MDh9IH0sCi17IDB4YTE4MiwJMTYsCXsweGRmLCAweGZhLCAweDgwLCAweDU4LCAweDg5LCAweDgyLCAweDhhLCAweDgzLCAweGUwLCAweGEzLCAweGYyLCAweDA4LCAweGRmLCAweGZhLCAweDgwLCAweDRjfSB9LAoteyAweGExOTIsCTE2LAl7MHg4MCwgMHhkMiwgMHg4MCwgMHhmYSwgMHg4MCwgMHhjNiwgMHg4MCwgMHhkNCwgMHg4MCwgMHg2OSwgMHg4MCwgMHhmMiwgMHg4MCwgMHgzMywgMHg4MCwgMHgxMH0gfSwKLXsgMHhhMWEyLAkxNiwJezB4ODAsIDB4YTYsIDB4ODAsIDB4ZWEsIDB4ODAsIDB4OWEsIDB4ODAsIDB4YTgsIDB4ODAsIDB4ZGEsIDB4ODAsIDB4ZTIsIDB4ODAsIDB4Y2EsIDB4ODAsIDB4MzN9IH0sCi17IDB4YTFiMiwJMTYsCXsweDg5LCAweDgyLCAweDhhLCAweDgzLCAweGVjLCAweGZhLCAweGU0LCAweDkzLCAweGEzLCAweGM4LCAweGM1LCAweDgyLCAweGM4LCAweGNjLCAweGM1LCAweDgzfSB9LAoteyAweGExYzIsCTE2LAl7MHhjYywgMHhmMCwgMHhhMywgMHhjOCwgMHhjNSwgMHg4MiwgMHhjOCwgMHhjYywgMHhjNSwgMHg4MywgMHhjYywgMHhkZiwgMHhlOSwgMHhkZSwgMHhlNywgMHg4MH0gfSwKLXsgMHhhMWQyLAkxNiwJezB4MGQsIDB4ODksIDB4ODIsIDB4OGEsIDB4ODMsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4ZjYsIDB4MDgsIDB4ZGYsIDB4ZjksIDB4ZWMsIDB4ZmEsIDB4YTksIDB4ZjB9IH0sCi17IDB4YTFlMiwJMTYsCXsweGVkLCAweGZiLCAweDIyLCAweDg5LCAweDgyLCAweDhhLCAweDgzLCAweGVjLCAweGZhLCAweGUwLCAweGEzLCAweGM4LCAweGM1LCAweDgyLCAweGM4LCAweGNjfSB9LAoteyAweGExZjIsCTE2LAl7MHhjNSwgMHg4MywgMHhjYywgMHhmMCwgMHhhMywgMHhjOCwgMHhjNSwgMHg4MiwgMHhjOCwgMHhjYywgMHhjNSwgMHg4MywgMHhjYywgMHhkZiwgMHhlYSwgMHhkZX0gfSwKLXsgMHhhMjAyLAkxNiwJezB4ZTgsIDB4ODAsIDB4ZGIsIDB4ODksIDB4ODIsIDB4OGEsIDB4ODMsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4ZjIsIDB4MDgsIDB4ZGYsIDB4ZjksIDB4ODAsIDB4Y2N9IH0sCi17IDB4YTIxMiwJMTYsCXsweDg4LCAweGYwLCAweGVkLCAweDI0LCAweDAyLCAweGI0LCAweDA0LCAweDAwLCAweDUwLCAweGMyLCAweGY1LCAweDgyLCAweGViLCAweDI0LCAweDAyLCAweGI0fSB9LAoteyAweGEyMjIsCTE2LAl7MHgwNCwgMHgwMCwgMHg1MCwgMHhiOCwgMHgyMywgMHgyMywgMHg0NSwgMHg4MiwgMHhmNSwgMHg4MiwgMHhlZiwgMHg0ZSwgMHg2MCwgMHhhZSwgMHhlZiwgMHg2MH0gfSwKLXsgMHhhMjMyLAk5LAl7MHgwMSwgMHgwZSwgMHhlNSwgMHg4MiwgMHgyMywgMHg5MCwgMHhhMSwgMHg5MiwgMHg3M30gfSwKLXsgMHhhMjNiLAkxNiwJezB4YmIsIDB4MDEsIDB4MDYsIDB4ODksIDB4ODIsIDB4OGEsIDB4ODMsIDB4ZTAsIDB4MjIsIDB4NTAsIDB4MDIsIDB4ZTcsIDB4MjIsIDB4YmIsIDB4ZmUsIDB4MDJ9IH0sCi17IDB4YTI0YiwJOSwJezB4ZTMsIDB4MjIsIDB4ODksIDB4ODIsIDB4OGEsIDB4ODMsIDB4ZTQsIDB4OTMsIDB4MjJ9IH0sCi17IDB4YTI1NCwJMTYsCXsweGJiLCAweDAxLCAweDBjLCAweGU1LCAweDgyLCAweDI5LCAweGY1LCAweDgyLCAweGU1LCAweDgzLCAweDNhLCAweGY1LCAweDgzLCAweGUwLCAweDIyLCAweDUwfSB9LAoteyAweGEyNjQsCTE2LAl7MHgwNiwgMHhlOSwgMHgyNSwgMHg4MiwgMHhmOCwgMHhlNiwgMHgyMiwgMHhiYiwgMHhmZSwgMHgwNiwgMHhlOSwgMHgyNSwgMHg4MiwgMHhmOCwgMHhlMiwgMHgyMn0gfSwKLXsgMHhhMjc0LAkxMywJezB4ZTUsIDB4ODIsIDB4MjksIDB4ZjUsIDB4ODIsIDB4ZTUsIDB4ODMsIDB4M2EsIDB4ZjUsIDB4ODMsIDB4ZTQsIDB4OTMsIDB4MjJ9IH0sCi17IDB4YTI4MSwJMTYsCXsweGM1LCAweGYwLCAweGY4LCAweGEzLCAweGUwLCAweDI4LCAweGYwLCAweGM1LCAweGYwLCAweGY4LCAweGU1LCAweDgyLCAweDE1LCAweDgyLCAweDcwLCAweDAyfSB9LAoteyAweGEyOTEsCTYsCXsweDE1LCAweDgzLCAweGUwLCAweDM4LCAweGYwLCAweDIyfSB9LAoteyAweGEyOTcsCTE2LAl7MHhhMywgMHhmOCwgMHhlMCwgMHhjNSwgMHhmMCwgMHgyNSwgMHhmMCwgMHhmMCwgMHhlNSwgMHg4MiwgMHgxNSwgMHg4MiwgMHg3MCwgMHgwMiwgMHgxNSwgMHg4M30gfSwKLXsgMHhhMmE3LAk2LAl7MHhlMCwgMHhjOCwgMHgzOCwgMHhmMCwgMHhlOCwgMHgyMn0gfSwKLXsgMHhhMmFkLAkxNiwJezB4YmIsIDB4MDEsIDB4MTAsIDB4ZTUsIDB4ODIsIDB4MjksIDB4ZjUsIDB4ODIsIDB4ZTUsIDB4ODMsIDB4M2EsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZjUsIDB4ZjB9IH0sCi17IDB4YTJiZCwJMTYsCXsweGEzLCAweGUwLCAweDIyLCAweDUwLCAweDA5LCAweGU5LCAweDI1LCAweDgyLCAweGY4LCAweDg2LCAweGYwLCAweDA4LCAweGU2LCAweDIyLCAweGJiLCAweGZlfSB9LAoteyAweGEyY2QsCTE2LAl7MHgwYSwgMHhlOSwgMHgyNSwgMHg4MiwgMHhmOCwgMHhlMiwgMHhmNSwgMHhmMCwgMHgwOCwgMHhlMiwgMHgyMiwgMHhlNSwgMHg4MywgMHgyYSwgMHhmNSwgMHg4M30gfSwKLXsgMHhhMmRkLAk4LAl7MHhlOSwgMHg5MywgMHhmNSwgMHhmMCwgMHhhMywgMHhlOSwgMHg5MywgMHgyMn0gfSwKLXsgMHhhMmU1LAkxNiwJezB4NzUsIDB4ZjAsIDB4MDgsIDB4NzUsIDB4ODIsIDB4MDAsIDB4ZWYsIDB4MmYsIDB4ZmYsIDB4ZWUsIDB4MzMsIDB4ZmUsIDB4Y2QsIDB4MzMsIDB4Y2QsIDB4Y2N9IH0sCi17IDB4YTJmNSwJMTYsCXsweDMzLCAweGNjLCAweGM1LCAweDgyLCAweDMzLCAweGM1LCAweDgyLCAweDliLCAweGVkLCAweDlhLCAweGVjLCAweDk5LCAweGU1LCAweDgyLCAweDk4LCAweDQwfSB9LAoteyAweGEzMDUsCTE2LAl7MHgwYywgMHhmNSwgMHg4MiwgMHhlZSwgMHg5YiwgMHhmZSwgMHhlZCwgMHg5YSwgMHhmZCwgMHhlYywgMHg5OSwgMHhmYywgMHgwZiwgMHhkNSwgMHhmMCwgMHhkNn0gfSwKLXsgMHhhMzE1LAkxNiwJezB4ZTQsIDB4Y2UsIDB4ZmIsIDB4ZTQsIDB4Y2QsIDB4ZmEsIDB4ZTQsIDB4Y2MsIDB4ZjksIDB4YTgsIDB4ODIsIDB4MjIsIDB4YjgsIDB4MDAsIDB4YzEsIDB4Yjl9IH0sCi17IDB4YTMyNSwJMTYsCXsweDAwLCAweDU5LCAweGJhLCAweDAwLCAweDJkLCAweGVjLCAweDhiLCAweGYwLCAweDg0LCAweGNmLCAweGNlLCAweGNkLCAweGZjLCAweGU1LCAweGYwLCAweGNifSB9LAoteyAweGEzMzUsCTE2LAl7MHhmOSwgMHg3OCwgMHgxOCwgMHhlZiwgMHgyZiwgMHhmZiwgMHhlZSwgMHgzMywgMHhmZSwgMHhlZCwgMHgzMywgMHhmZCwgMHhlYywgMHgzMywgMHhmYywgMHhlYn0gfSwKLXsgMHhhMzQ1LAkxNiwJezB4MzMsIDB4ZmIsIDB4MTAsIDB4ZDcsIDB4MDMsIDB4OTksIDB4NDAsIDB4MDQsIDB4ZWIsIDB4OTksIDB4ZmIsIDB4MGYsIDB4ZDgsIDB4ZTUsIDB4ZTQsIDB4Zjl9IH0sCi17IDB4YTM1NSwJMTYsCXsweGZhLCAweDIyLCAweDc4LCAweDE4LCAweGVmLCAweDJmLCAweGZmLCAweGVlLCAweDMzLCAweGZlLCAweGVkLCAweDMzLCAweGZkLCAweGVjLCAweDMzLCAweGZjfSB9LAoteyAweGEzNjUsCTE2LAl7MHhjOSwgMHgzMywgMHhjOSwgMHgxMCwgMHhkNywgMHgwNSwgMHg5YiwgMHhlOSwgMHg5YSwgMHg0MCwgMHgwNywgMHhlYywgMHg5YiwgMHhmYywgMHhlOSwgMHg5YX0gfSwKLXsgMHhhMzc1LAkxNiwJezB4ZjksIDB4MGYsIDB4ZDgsIDB4ZTAsIDB4ZTQsIDB4YzksIDB4ZmEsIDB4ZTQsIDB4Y2MsIDB4ZmIsIDB4MjIsIDB4NzUsIDB4ZjAsIDB4MTAsIDB4ZWYsIDB4MmZ9IH0sCi17IDB4YTM4NSwJMTYsCXsweGZmLCAweGVlLCAweDMzLCAweGZlLCAweGVkLCAweDMzLCAweGZkLCAweGNjLCAweDMzLCAweGNjLCAweGM4LCAweDMzLCAweGM4LCAweDEwLCAweGQ3LCAweDA3fSB9LAoteyAweGEzOTUsCTE2LAl7MHg5YiwgMHhlYywgMHg5YSwgMHhlOCwgMHg5OSwgMHg0MCwgMHgwYSwgMHhlZCwgMHg5YiwgMHhmZCwgMHhlYywgMHg5YSwgMHhmYywgMHhlOCwgMHg5OSwgMHhmOH0gfSwKLXsgMHhhM2E1LAkxNCwJezB4MGYsIDB4ZDUsIDB4ZjAsIDB4ZGEsIDB4ZTQsIDB4Y2QsIDB4ZmIsIDB4ZTQsIDB4Y2MsIDB4ZmEsIDB4ZTQsIDB4YzgsIDB4ZjksIDB4MjJ9IH0sCi17IDB4YTNiMywJMTYsCXsweGViLCAweDlmLCAweGY1LCAweGYwLCAweGVhLCAweDllLCAweDQyLCAweGYwLCAweGU5LCAweDlkLCAweDQyLCAweGYwLCAweGU4LCAweDljLCAweDQ1LCAweGYwfSB9LAoteyAweGEzYzMsCTEsCXsweDIyfSB9LAoteyAweGEzYzQsCTE2LAl7MHhlOCwgMHg2MCwgMHgwZiwgMHhlYywgMHhjMywgMHgxMywgMHhmYywgMHhlZCwgMHgxMywgMHhmZCwgMHhlZSwgMHgxMywgMHhmZSwgMHhlZiwgMHgxMywgMHhmZn0gfSwKLXsgMHhhM2Q0LAkzLAl7MHhkOCwgMHhmMSwgMHgyMn0gfSwKLXsgMHhhM2Q3LAkxNiwJezB4MDgsIDB4MDgsIDB4MDgsIDB4ZTYsIDB4Y2YsIDB4MmYsIDB4ZjYsIDB4MTgsIDB4ZTYsIDB4Y2UsIDB4M2UsIDB4ZjYsIDB4MTgsIDB4ZTYsIDB4Y2QsIDB4M2R9IH0sCi17IDB4YTNlNywJNywJezB4ZjYsIDB4MTgsIDB4ZTYsIDB4Y2MsIDB4M2MsIDB4ZjYsIDB4MjJ9IH0sCi17IDB4YTNlZSwJMTIsCXsweGVjLCAweGYwLCAweGEzLCAweGVkLCAweGYwLCAweGEzLCAweGVlLCAweGYwLCAweGEzLCAweGVmLCAweGYwLCAweDIyfSB9LAoteyAweGEzZmEsCTE2LAl7MHhhOCwgMHg4MiwgMHg4NSwgMHg4MywgMHhmMCwgMHhkMCwgMHg4MywgMHhkMCwgMHg4MiwgMHgxMiwgMHhhNCwgMHgxMSwgMHgxMiwgMHhhNCwgMHgxMSwgMHgxMn0gfSwKLXsgMHhhNDBhLAkxNiwJezB4YTQsIDB4MTEsIDB4MTIsIDB4YTQsIDB4MTEsIDB4ZTQsIDB4NzMsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4YzUsIDB4ODMsIDB4YzUsIDB4ZjAsIDB4YzUsIDB4ODN9IH0sCi17IDB4YTQxYSwJMTYsCXsweGM4LCAweGM1LCAweDgyLCAweGM4LCAweGYwLCAweGEzLCAweGM1LCAweDgzLCAweGM1LCAweGYwLCAweGM1LCAweDgzLCAweGM4LCAweGM1LCAweDgyLCAweGM4fSB9LAoteyAweGE0MmEsCTEsCXsweDIyfSB9LAoteyAweGZmZmYsCTAsCXsweDAwfSB9Ci19OwotCi0jaWZkZWYgREVCVUcKLXN0YXRpYyBjb25zdCBzdHJ1Y3Qgd2hpdGVoZWF0X2hleF9yZWNvcmQgd2hpdGVoZWF0X2xvYWRlcltdID0gewoteyAweDAwMDAsCTMsCXsweDAyLCAweDA5LCAweDhkfSB9LAoteyAweDAwMzMsCTMsCXsweDAyLCAweDBlLCAweDcwfSB9LAoteyAweDAwNDMsCTMsCXsweDAyLCAweDBiLCAweDAwfSB9LAoteyAweDAwNGIsCTMsCXsweDAyLCAweDA1LCAweGIzfSB9LAoteyAweDAxMDAsCTE2LAl7MHg5MCwgMHg3ZiwgMHhhNSwgMHhlMCwgMHg1NCwgMHgxMCwgMHhmZiwgMHhjNCwgMHg1NCwgMHgwZiwgMHg0NCwgMHg1MCwgMHhmNSwgMHgwZiwgMHgxMywgMHhlNH0gfSwKLXsgMHgwMTEwLAkxNiwJezB4MzMsIDB4ZjUsIDB4MTEsIDB4OTAsIDB4N2YsIDB4ZTksIDB4ZTAsIDB4MjQsIDB4NWUsIDB4YjQsIDB4MDcsIDB4MDAsIDB4NDAsIDB4MDMsIDB4MDIsIDB4MDN9IH0sCi17IDB4MDEyMCwJMTYsCXsweDdjLCAweDkwLCAweDAxLCAweDI4LCAweGY4LCAweDI4LCAweDI4LCAweDczLCAweDAyLCAweDAxLCAweGJjLCAweDAyLCAweDAxLCAweGJjLCAweDAyLCAweDAxfSB9LAoteyAweDAxMzAsCTE2LAl7MHg5MSwgMHgwMiwgMHgwMSwgMHgzZCwgMHgwMiwgMHgwMSwgMHg1MywgMHgwMiwgMHgwMSwgMHg2ZiwgMHgwMiwgMHgwMSwgMHg5YSwgMHg5MCwgMHg3ZiwgMHgwMH0gfSwKLXsgMHgwMTQwLAkxNiwJezB4ZTUsIDB4MTEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjB9IH0sCi17IDB4MDE1MCwJMTYsCXsweDAyLCAweDAzLCAweDdjLCAweDkwLCAweDdmLCAweDkyLCAweGUwLCAweGZmLCAweGM0LCAweDU0LCAweDBmLCAweDkwLCAweDdmLCAweDAwLCAweGYwLCAweDkwfSB9LAoteyAweDAxNjAsCTE2LAl7MHg3ZiwgMHhiNSwgMHg3NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHgwMiwgMHgwMywgMHg3YywgMHgxMn0gfSwKLXsgMHgwMTcwLAkxNiwJezB4MGEsIDB4ODksIDB4NTAsIDB4MDcsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4MDAsIDB4ZjAsIDB4ODAsIDB4MDYsIDB4OTAsIDB4N2YsIDB4MDAsIDB4NzQsIDB4MGZ9IH0sCi17IDB4MDE4MCwJMTYsCXsweGYwLCAweDkwLCAweDdmLCAweGI1LCAweDc0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweDAyLCAweDAzfSB9LAoteyAweDAxOTAsCTE2LAl7MHg3YywgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHhmNSwgMHgwZiwgMHgwMiwgMHgwMywgMHg3YywgMHg5MCwgMHg3ZiwgMHgwMCwgMHg3NCwgMHgwNywgMHhmMH0gfSwKLXsgMHgwMWEwLAkxNiwJezB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4N2YsIDB4ZTgsIDB4N2V9IH0sCi17IDB4MDFiMCwJMTYsCXsweDAzLCAweDEyLCAweDBkLCAweGQ1LCAweGQyLCAweDA2LCAweDEyLCAweDBkLCAweDBkLCAweDAyLCAweDAzLCAweDdjLCAweDkwLCAweDdmLCAweGVhLCAweGUwfSB9LAoteyAweDAxYzAsCTE2LAl7MHg3NSwgMHgyOSwgMHgwMCwgMHhmNSwgMHgyYSwgMHhhMywgMHhlMCwgMHhmZSwgMHhlNCwgMHhlZSwgMHg0MiwgMHgyOSwgMHg5MCwgMHg3ZiwgMHhlZSwgMHhlMH0gfSwKLXsgMHgwMWQwLAkxNiwJezB4NzUsIDB4MmIsIDB4MDAsIDB4ZjUsIDB4MmMsIDB4YTMsIDB4ZTAsIDB4ZmUsIDB4ZTQsIDB4ZWUsIDB4NDIsIDB4MmIsIDB4OTAsIDB4N2YsIDB4ZTgsIDB4ZTB9IH0sCi17IDB4MDFlMCwJMTYsCXsweDY0LCAweGMwLCAweDYwLCAweDAzLCAweDAyLCAweDAyLCAweGM5LCAweGU1LCAweDJjLCAweDQ1LCAweDJiLCAweDcwLCAweDAzLCAweDAyLCAweDAzLCAweDdjfSB9LAoteyAweDAxZjAsCTE2LAl7MHhjMywgMHhlNSwgMHgyYywgMHg5NCwgMHg0MCwgMHhlNSwgMHgyYiwgMHg5NCwgMHgwMCwgMHg1MCwgMHgwOCwgMHg4NSwgMHgyYiwgMHgyZCwgMHg4NSwgMHgyY30gfSwKLXsgMHgwMjAwLAkxNiwJezB4MmUsIDB4ODAsIDB4MDYsIDB4NzUsIDB4MmQsIDB4MDAsIDB4NzUsIDB4MmUsIDB4NDAsIDB4OTAsIDB4N2YsIDB4ZTksIDB4ZTAsIDB4NjQsIDB4YTMsIDB4NzB9IH0sCi17IDB4MDIxMCwJMTYsCXsweDM0LCAweGY1LCAweDMxLCAweGY1LCAweDMyLCAweGMzLCAweGU1LCAweDMyLCAweDk1LCAweDJlLCAweGU1LCAweDMxLCAweDk1LCAweDJkLCAweDUwLCAweDVjfSB9LAoteyAweDAyMjAsCTE2LAl7MHhlNSwgMHgyYSwgMHgyNSwgMHgzMiwgMHhmNSwgMHg4MiwgMHhlNSwgMHgzMSwgMHgzNSwgMHgyOSwgMHhmNSwgMHg4MywgMHhlMCwgMHhmZiwgMHg3NCwgMHgwMH0gfSwKLXsgMHgwMjMwLAkxNiwJezB4MjUsIDB4MzIsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2YsIDB4ZjUsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4MDUsIDB4MzIsIDB4ZTUsIDB4MzIsIDB4NzB9IH0sCi17IDB4MDI0MCwJMTYsCXsweDAyLCAweDA1LCAweDMxLCAweDgwLCAweGQwLCAweGU0LCAweGY1LCAweDMxLCAweGY1LCAweDMyLCAweGMzLCAweGU1LCAweDMyLCAweDk1LCAweDJlLCAweGU1fSB9LAoteyAweDAyNTAsCTE2LAl7MHgzMSwgMHg5NSwgMHgyZCwgMHg1MCwgMHgxOCwgMHg3NCwgMHgwMCwgMHgyNSwgMHgzMiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZiwgMHhmNSwgMHg4M30gfSwKLXsgMHgwMjYwLAkxNiwJezB4NzQsIDB4Y2QsIDB4ZjAsIDB4MDUsIDB4MzIsIDB4ZTUsIDB4MzIsIDB4NzAsIDB4MDIsIDB4MDUsIDB4MzEsIDB4ODAsIDB4ZGQsIDB4YWYsIDB4MmEsIDB4YWV9IH0sCi17IDB4MDI3MCwJMTYsCXsweDI5LCAweGFkLCAweDJlLCAweDdhLCAweDdmLCAweDc5LCAweDAwLCAweDdiLCAweDAwLCAweDEyLCAweDBiLCAweGY0LCAweDkwLCAweDdmLCAweGI1LCAweGU1fSB9LAoteyAweDAyODAsCTE2LAl7MHgyZSwgMHhmMCwgMHhlNSwgMHgyZSwgMHgyNSwgMHgyYSwgMHhmNSwgMHgyYSwgMHhlNSwgMHgyZCwgMHgzNSwgMHgyOSwgMHhmNSwgMHgyOSwgMHhjMywgMHhlNX0gfSwKLXsgMHgwMjkwLAkxNiwJezB4MmMsIDB4OTUsIDB4MmUsIDB4ZjUsIDB4MmMsIDB4ZTUsIDB4MmIsIDB4OTUsIDB4MmQsIDB4ZjUsIDB4MmIsIDB4OTAsIDB4N2YsIDB4OTIsIDB4ZTAsIDB4ZmZ9IH0sCi17IDB4MDJhMCwJMTYsCXsweGM0LCAweDU0LCAweDBmLCAweDc1LCAweDJmLCAweDAwLCAweGY1LCAweDMwLCAweGQzLCAweDk0LCAweDAwLCAweGU1LCAweDJmLCAweDk0LCAweDAwLCAweDUwfSB9LAoteyAweDAyYjAsCTE2LAl7MHgwYywgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHgyMCwgMHhlMSwgMHgwMywgMHgwMiwgMHgwMSwgMHhlNywgMHg4MCwgMHhmNCwgMHg5MCwgMHg3ZiwgMHhiNH0gfSwKLXsgMHgwMmMwLAkxNiwJezB4ZTAsIDB4MjAsIDB4ZTIsIDB4MDMsIDB4MDIsIDB4MDEsIDB4ZTcsIDB4ODAsIDB4ZjQsIDB4OTAsIDB4N2YsIDB4ZTgsIDB4ZTAsIDB4NjQsIDB4NDAsIDB4NjB9IH0sCi17IDB4MDJkMCwJMTYsCXsweDAzLCAweDAyLCAweDAzLCAweDdjLCAweGU1LCAweDJjLCAweDQ1LCAweDJiLCAweDcwLCAweDAzLCAweDAyLCAweDAzLCAweDdjLCAweGU0LCAweDkwLCAweDdmfSB9LAoteyAweDAyZTAsCTE2LAl7MHhjNSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5MiwgMHhlMCwgMHhmZiwgMHhjNCwgMHg1NCwgMHgwZiwgMHg3NSwgMHgyZiwgMHgwMCwgMHhmNSwgMHgzMCwgMHhkM30gfSwKLXsgMHgwMmYwLAkxNiwJezB4OTQsIDB4MDAsIDB4ZTUsIDB4MmYsIDB4OTQsIDB4MDAsIDB4NTAsIDB4MDksIDB4OTAsIDB4N2YsIDB4YzQsIDB4ZTAsIDB4MzAsIDB4ZTEsIDB4MDksIDB4ODB9IH0sCi17IDB4MDMwMCwJMTYsCXsweGY3LCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDIwLCAweGUzLCAweGY5LCAweDkwLCAweDdmLCAweGM1LCAweGUwLCAweDc1LCAweDJkLCAweDAwLCAweGY1fSB9LAoteyAweDAzMTAsCTE2LAl7MHgyZSwgMHg5MCwgMHg3ZiwgMHhlOSwgMHhlMCwgMHg2NCwgMHhhMywgMHg3MCwgMHgzOCwgMHg5MCwgMHgyMCwgMHg2YiwgMHhmMCwgMHhmNSwgMHgzMSwgMHhmNX0gfSwKLXsgMHgwMzIwLAkxNiwJezB4MzIsIDB4YzMsIDB4ZTUsIDB4MzIsIDB4OTUsIDB4MmUsIDB4ZTUsIDB4MzEsIDB4OTUsIDB4MmQsIDB4NTAsIDB4MzQsIDB4NzQsIDB4YzAsIDB4MjUsIDB4MzJ9IH0sCi17IDB4MDMzMCwJMTYsCXsweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdlLCAweGY1LCAweDgzLCAweGUwLCAweGZmLCAweGU1LCAweDJhLCAweDI1LCAweDMyLCAweGY1LCAweDgyLCAweGU1fSB9LAoteyAweDAzNDAsCTE2LAl7MHgzMSwgMHgzNSwgMHgyOSwgMHhmNSwgMHg4MywgMHhlZiwgMHhmMCwgMHgwNSwgMHgzMiwgMHhlNSwgMHgzMiwgMHg3MCwgMHgwMiwgMHgwNSwgMHgzMSwgMHg4MH0gfSwKLXsgMHgwMzUwLAkxNiwJezB4ZDAsIDB4YWYsIDB4MmEsIDB4YWUsIDB4MjksIDB4YWQsIDB4MmUsIDB4N2EsIDB4N2UsIDB4NzksIDB4YzAsIDB4N2IsIDB4YzAsIDB4MTIsIDB4MGMsIDB4ODB9IH0sCi17IDB4MDM2MCwJMTYsCXsweGU1LCAweDJlLCAweDI1LCAweDJhLCAweGY1LCAweDJhLCAweGU1LCAweDJkLCAweDM1LCAweDI5LCAweGY1LCAweDI5LCAweGMzLCAweGU1LCAweDJjLCAweDk1fSB9LAoteyAweDAzNzAsCTEzLAl7MHgyZSwgMHhmNSwgMHgyYywgMHhlNSwgMHgyYiwgMHg5NSwgMHgyZCwgMHhmNSwgMHgyYiwgMHgwMiwgMHgwMiwgMHhkNCwgMHhjM30gfSwKLXsgMHgwMzdkLAkxLAl7MHgyMn0gfSwKLXsgMHgwMzdlLAkxNiwJezB4OTAsIDB4N2YsIDB4ZTksIDB4ZTAsIDB4NzAsIDB4MDMsIDB4MDIsIDB4MDQsIDB4NTYsIDB4MTQsIDB4NzAsIDB4MDMsIDB4MDIsIDB4MDQsIDB4ZDIsIDB4MjR9IH0sCi17IDB4MDM4ZSwJMTYsCXsweGZlLCAweDcwLCAweDAzLCAweDAyLCAweDA1LCAweDQ2LCAweDI0LCAweGZiLCAweDcwLCAweDAzLCAweDAyLCAweDA0LCAweDUwLCAweDE0LCAweDcwLCAweDAzfSB9LAoteyAweDAzOWUsCTE2LAl7MHgwMiwgMHgwNCwgMHg0YSwgMHgxNCwgMHg3MCwgMHgwMywgMHgwMiwgMHgwNCwgMHgzZSwgMHgxNCwgMHg3MCwgMHgwMywgMHgwMiwgMHgwNCwgMHg0NCwgMHgyNH0gfSwKLXsgMHgwM2FlLAkxNiwJezB4MDUsIDB4NjAsIDB4MDMsIDB4MDIsIDB4MDUsIDB4OWEsIDB4MTIsIDB4MGUsIDB4N2IsIDB4NDAsIDB4MDMsIDB4MDIsIDB4MDUsIDB4YWIsIDB4OTAsIDB4N2Z9IH0sCi17IDB4MDNiZSwJMTYsCXsweGViLCAweGUwLCAweDI0LCAweGZlLCAweDYwLCAweDE2LCAweDE0LCAweDYwLCAweDQwLCAweDI0LCAweDAyLCAweDcwLCAweDY5LCAweDc0LCAweDExLCAweDkwfSB9LAoteyAweDAzY2UsCTE2LAl7MHg3ZiwgMHhkNCwgMHhmMCwgMHg3NCwgMHgwMCwgMHg5MCwgMHg3ZiwgMHhkNSwgMHhmMCwgMHgwMiwgMHgwNSwgMHhhYiwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMH0gfSwKLXsgMHgwM2RlLAkxNiwJezB4ZmYsIDB4MTIsIDB4MGIsIDB4NTgsIDB4OGIsIDB4MjYsIDB4OGEsIDB4MjcsIDB4ODksIDB4MjgsIDB4ZWEsIDB4NDksIDB4NjAsIDB4MTEsIDB4YWUsIDB4MDJ9IH0sCi17IDB4MDNlZSwJMTYsCXsweGVlLCAweDkwLCAweDdmLCAweGQ0LCAweGYwLCAweGFmLCAweDAxLCAweGVmLCAweDkwLCAweDdmLCAweGQ1LCAweGYwLCAweDAyLCAweDA1LCAweGFiLCAweDkwfSB9LAoteyAweDAzZmUsCTE2LAl7MHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHgwMiwgMHgwNSwgMHhhYiwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHhmZiwgMHgxMiwgMHgwY30gfSwKLXsgMHgwNDBlLAkxNiwJezB4M2YsIDB4OGIsIDB4MjYsIDB4OGEsIDB4MjcsIDB4ODksIDB4MjgsIDB4ZWEsIDB4NDksIDB4NjAsIDB4MTEsIDB4YWUsIDB4MDIsIDB4ZWUsIDB4OTAsIDB4N2Z9IH0sCi17IDB4MDQxZSwJMTYsCXsweGQ0LCAweGYwLCAweGFmLCAweDAxLCAweGVmLCAweDkwLCAweDdmLCAweGQ1LCAweGYwLCAweDAyLCAweDA1LCAweGFiLCAweDkwLCAweDdmLCAweGI0LCAweGUwfSB9LAoteyAweDA0MmUsCTE2LAl7MHg0NCwgMHgwMSwgMHhmMCwgMHgwMiwgMHgwNSwgMHhhYiwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHgwMiwgMHgwNSwgMHhhYn0gfSwKLXsgMHgwNDNlLAkxNiwJezB4MTIsIDB4MGUsIDB4NTIsIDB4MDIsIDB4MDUsIDB4YWIsIDB4MTIsIDB4MGUsIDB4NjAsIDB4MDIsIDB4MDUsIDB4YWIsIDB4MTIsIDB4MGEsIDB4ZjcsIDB4MDJ9IH0sCi17IDB4MDQ0ZSwJMTYsCXsweDA1LCAweGFiLCAweDEyLCAweDA4LCAweGYxLCAweDAyLCAweDA1LCAweGFiLCAweDEyLCAweDBlLCAweDdkLCAweDQwLCAweDAzLCAweDAyLCAweDA1LCAweGFifSB9LAoteyAweDA0NWUsCTE2LAl7MHg5MCwgMHg3ZiwgMHhlOCwgMHhlMCwgMHgyNCwgMHg3ZiwgMHg2MCwgMHgyNCwgMHgxNCwgMHg2MCwgMHgzMSwgMHgyNCwgMHgwMiwgMHg3MCwgMHg1YiwgMHhhMn0gfSwKLXsgMHgwNDZlLAkxNiwJezB4MDAsIDB4ZTQsIDB4MzMsIDB4ZmYsIDB4MjUsIDB4ZTAsIDB4ZmYsIDB4YTIsIDB4MDIsIDB4ZTQsIDB4MzMsIDB4NGYsIDB4OTAsIDB4N2YsIDB4MDAsIDB4ZjB9IH0sCi17IDB4MDQ3ZSwJMTYsCXsweGU0LCAweGEzLCAweGYwLCAweDkwLCAweDdmLCAweGI1LCAweDc0LCAweDAyLCAweGYwLCAweDAyLCAweDA1LCAweGFiLCAweGU0LCAweDkwLCAweDdmLCAweDAwfSB9LAoteyAweDA0OGUsCTE2LAl7MHhmMCwgMHhhMywgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHg3NCwgMHgwMiwgMHhmMCwgMHgwMiwgMHgwNSwgMHhhYiwgMHg5MCwgMHg3ZiwgMHhlYywgMHhlMH0gfSwKLXsgMHgwNDllLAkxNiwJezB4ZjQsIDB4NTQsIDB4ODAsIDB4ZmYsIDB4YzQsIDB4NTQsIDB4MGYsIDB4ZmYsIDB4ZTAsIDB4NTQsIDB4MDcsIDB4MmYsIDB4MjUsIDB4ZTAsIDB4MjQsIDB4YjR9IH0sCi17IDB4MDRhZSwJMTYsCXsweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdmLCAweGY1LCAweDgzLCAweGUwLCAweDU0LCAweGZkLCAweDkwLCAweDdmLCAweDAwLCAweGYwLCAweGU0LCAweGEzfSB9LAoteyAweDA0YmUsCTE2LAl7MHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHg3NCwgMHgwMiwgMHhmMCwgMHgwMiwgMHgwNSwgMHhhYiwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMX0gfSwKLXsgMHgwNGNlLAkxNiwJezB4ZjAsIDB4MDIsIDB4MDUsIDB4YWIsIDB4MTIsIDB4MGUsIDB4N2YsIDB4NDAsIDB4MDMsIDB4MDIsIDB4MDUsIDB4YWIsIDB4OTAsIDB4N2YsIDB4ZTgsIDB4ZTB9IH0sCi17IDB4MDRkZSwJMTYsCXsweDI0LCAweGZlLCAweDYwLCAweDFkLCAweDI0LCAweDAyLCAweDYwLCAweDAzLCAweDAyLCAweDA1LCAweGFiLCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweGI0fSB9LAoteyAweDA0ZWUsCTE2LAl7MHgwMSwgMHgwNSwgMHhjMiwgMHgwMCwgMHgwMiwgMHgwNSwgMHhhYiwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHgwMiwgMHgwNX0gfSwKLXsgMHgwNGZlLAkxNiwJezB4YWIsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4NzAsIDB4MzgsIDB4OTAsIDB4N2YsIDB4ZWMsIDB4ZTAsIDB4ZjQsIDB4NTQsIDB4ODAsIDB4ZmYsIDB4YzR9IH0sCi17IDB4MDUwZSwJMTYsCXsweDU0LCAweDBmLCAweGZmLCAweGUwLCAweDU0LCAweDA3LCAweDJmLCAweDI1LCAweGUwLCAweDI0LCAweGI0LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdmfSB9LAoteyAweDA1MWUsCTE2LAl7MHhmNSwgMHg4MywgMHhlNCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhlYywgMHhlMCwgMHg1NCwgMHg4MCwgMHhmZiwgMHgxMywgMHgxMywgMHgxMywgMHg1NCwgMHgxZn0gfSwKLXsgMHgwNTJlLAkxNiwJezB4ZmYsIDB4ZTAsIDB4NTQsIDB4MDcsIDB4MmYsIDB4OTAsIDB4N2YsIDB4ZDcsIDB4ZjAsIDB4ZTAsIDB4NDQsIDB4MjAsIDB4ZjAsIDB4ODAsIDB4NmUsIDB4OTB9IH0sCi17IDB4MDUzZSwJMTYsCXsweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDgwLCAweDY1LCAweDEyLCAweDBlLCAweDgxLCAweDUwLCAweDYwLCAweDkwLCAweDdmLCAweGU4fSB9LAoteyAweDA1NGUsCTE2LAl7MHhlMCwgMHgyNCwgMHhmZSwgMHg2MCwgMHgxOCwgMHgyNCwgMHgwMiwgMHg3MCwgMHg1NCwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHhiNCwgMHgwMSwgMHgwNH0gfSwKLXsgMHgwNTVlLAkxNiwJezB4ZDIsIDB4MDAsIDB4ODAsIDB4NDksIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4ODAsIDB4NDAsIDB4OTAsIDB4N2YsIDB4ZWF9IH0sCi17IDB4MDU2ZSwJMTYsCXsweGUwLCAweDcwLCAweDIwLCAweDkwLCAweDdmLCAweGVjLCAweGUwLCAweGY0LCAweDU0LCAweDgwLCAweGZmLCAweGM0LCAweDU0LCAweDBmLCAweGZmLCAweGUwfSB9LAoteyAweDA1N2UsCTE2LAl7MHg1NCwgMHgwNywgMHgyZiwgMHgyNSwgMHhlMCwgMHgyNCwgMHhiNCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZiwgMHhmNSwgMHg4MywgMHg3NCwgMHgwMX0gfSwKLXsgMHgwNThlLAkxNiwJezB4ZjAsIDB4ODAsIDB4MWEsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4ODAsIDB4MTEsIDB4ZTQsIDB4OTAsIDB4MjAsIDB4NmF9IH0sCi17IDB4MDU5ZSwJMTYsCXsweGYwLCAweDEyLCAweDAxLCAweDAwLCAweDUwLCAweDA3LCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGI0fSB9LAoteyAweDA1YWUsCTQsCXsweGUwLCAweDQ0LCAweDAyLCAweGYwfSB9LAoteyAweDA1YjIsCTEsCXsweDIyfSB9LAoteyAweDA1YjMsCTE2LAl7MHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhjMCwgMHg4NSwgMHhjMCwgMHg4NCwgMHhjMCwgMHg4NiwgMHg3NSwgMHg4NiwgMHgwMCwgMHhjMH0gfSwKLXsgMHgwNWMzLAkxNiwJezB4ZDAsIDB4YzAsIDB4MDAsIDB4YzAsIDB4MDEsIDB4YzAsIDB4MDIsIDB4YzAsIDB4MDMsIDB4YzAsIDB4MDYsIDB4YzAsIDB4MDcsIDB4OTAsIDB4N2YsIDB4YTV9IH0sCi17IDB4MDVkMywJMTYsCXsweGUwLCAweDMwLCAweGUyLCAweDA2LCAweDc1LCAweDBkLCAweDA2LCAweDAyLCAweDA2LCAweDdmLCAweDkwLCAweDdmLCAweGE1LCAweGUwLCAweDIwLCAweGUxfSB9LAoteyAweDA1ZTMsCTE2LAl7MHgwYywgMHhlNSwgMHgwZCwgMHg2NCwgMHgwMiwgMHg2MCwgMHgwNiwgMHg3NSwgMHgwZCwgMHgwNywgMHgwMiwgMHgwNiwgMHg3ZiwgMHhhZiwgMHgwZCwgMHhlZn0gfSwKLXsgMHgwNWYzLAkxNiwJezB4MjQsIDB4ZmUsIDB4NjAsIDB4NDgsIDB4MTQsIDB4NjAsIDB4MmMsIDB4MjQsIDB4ZmUsIDB4NjAsIDB4NzcsIDB4MjQsIDB4MDQsIDB4NjAsIDB4MDMsIDB4MDJ9IH0sCi17IDB4MDYwMywJMTYsCXsweDA2LCAweDdmLCAweGFiLCAweDA5LCAweGFhLCAweDBhLCAweGE5LCAweDBiLCAweGFmLCAweDBjLCAweDA1LCAweDBjLCAweDhmLCAweDgyLCAweDc1LCAweDgzfSB9LAoteyAweDA2MTMsCTE2LAl7MHgwMCwgMHgxMiwgMHgwNywgMHg4NSwgMHg5MCwgMHg3ZiwgMHhhNiwgMHhmMCwgMHhlNSwgMHgwYywgMHg2NSwgMHgwOCwgMHg3MCwgMHg1ZSwgMHg3NSwgMHgwZH0gfSwKLXsgMHgwNjIzLAkxNiwJezB4MDUsIDB4ODAsIDB4NTksIDB4OTAsIDB4N2YsIDB4YTYsIDB4ZTAsIDB4YWIsIDB4MDksIDB4YWEsIDB4MGEsIDB4YTksIDB4MGIsIDB4YWUsIDB4MGMsIDB4OGV9IH0sCi17IDB4MDYzMywJMTYsCXsweDgyLCAweDc1LCAweDgzLCAweDAwLCAweDEyLCAweDA3LCAweGIyLCAweDc1LCAweDBkLCAweDAyLCAweDgwLCAweDQwLCAweGU1LCAweDA4LCAweDI0LCAweGZlfSB9LAoteyAweDA2NDMsCTE2LAl7MHhiNSwgMHgwYywgMHgwNywgMHg5MCwgMHg3ZiwgMHhhNSwgMHhlMCwgMHg0NCwgMHgyMCwgMHhmMCwgMHhlNSwgMHgwOCwgMHgxNCwgMHhiNSwgMHgwYywgMHgwYX0gfSwKLXsgMHgwNjUzLAkxNiwJezB4OTAsIDB4N2YsIDB4YTUsIDB4ZTAsIDB4NDQsIDB4NDAsIDB4ZjAsIDB4ZTQsIDB4ZjUsIDB4MGQsIDB4OTAsIDB4N2YsIDB4YTYsIDB4ZTAsIDB4YWIsIDB4MDl9IH0sCi17IDB4MDY2MywJMTYsCXsweGFhLCAweDBhLCAweGE5LCAweDBiLCAweGFlLCAweDBjLCAweDhlLCAweDgyLCAweDc1LCAweDgzLCAweDAwLCAweDEyLCAweDA3LCAweGIyLCAweDA1LCAweDBjfSB9LAoteyAweDA2NzMsCTE2LAl7MHg4MCwgMHgwYSwgMHg5MCwgMHg3ZiwgMHhhNSwgMHhlMCwgMHg0NCwgMHg0MCwgMHhmMCwgMHhlNCwgMHhmNSwgMHgwZCwgMHg1MywgMHg5MSwgMHhkZiwgMHhkMH0gfSwKLXsgMHgwNjgzLAkxNiwJezB4MDcsIDB4ZDAsIDB4MDYsIDB4ZDAsIDB4MDMsIDB4ZDAsIDB4MDIsIDB4ZDAsIDB4MDEsIDB4ZDAsIDB4MDAsIDB4ZDAsIDB4ZDAsIDB4ZDAsIDB4ODYsIDB4ZDB9IH0sCi17IDB4MDY5MywJMTAsCXsweDg0LCAweGQwLCAweDg1LCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGUwLCAweDMyfSB9LAoteyAweDA2OWQsCTE2LAl7MHhjMiwgMHgwNCwgMHhkMiwgMHgwNSwgMHhlNCwgMHhmNSwgMHgyNSwgMHhjMiwgMHgwMywgMHhjMiwgMHgwMCwgMHhjMiwgMHgwMiwgMHhjMiwgMHgwMSwgMHgxMn0gfSwKLXsgMHgwNmFkLAkxNiwJezB4MGUsIDB4NzQsIDB4ZDIsIDB4ZTgsIDB4NDMsIDB4ZDgsIDB4MjAsIDB4OTAsIDB4N2YsIDB4YWIsIDB4NzQsIDB4ZmYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YTl9IH0sCi17IDB4MDZiZCwJMTYsCXsweGYwLCAweDkwLCAweDdmLCAweGFhLCAweGYwLCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweDk1LCAweGUwLCAweDQ0LCAweGMwLCAweGYwLCAweDkwfSB9LAoteyAweDA2Y2QsCTE2LAl7MHg3ZiwgMHg5MywgMHg3NCwgMHgzMCwgMHhmMCwgMHgxMiwgMHgwYSwgMHgxOSwgMHg3NSwgMHgyNCwgMHg0OCwgMHg3NSwgMHgyMywgMHg5MiwgMHg3NSwgMHgyMn0gfSwKLXsgMHgwNmRkLAkxNiwJezB4MDAsIDB4NzUsIDB4MjEsIDB4MDAsIDB4ZTQsIDB4ZmYsIDB4ZmUsIDB4N2UsIDB4MDUsIDB4OTAsIDB4MjAsIDB4NjgsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4YTN9IH0sCi17IDB4MDZlZCwJMTYsCXsweGRlLCAweGZjLCAweDdlLCAweDAwLCAweDdmLCAweDA1LCAweDkwLCAweDdmLCAweGFmLCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGFlfSB9LAoteyAweDA2ZmQsCTE2LAl7MHhlMCwgMHg0NCwgMHgwZCwgMHhmMCwgMHhkMiwgMHhhZiwgMHgxMiwgMHgwZSwgMHg2OCwgMHgzMCwgMHgwMSwgMHgwYSwgMHhlNCwgMHg5MCwgMHgyMCwgMHg2OX0gfSwKLXsgMHgwNzBkLAkxNiwJezB4ZjAsIDB4MTIsIDB4MDMsIDB4N2UsIDB4YzIsIDB4MDEsIDB4MzAsIDB4MDQsIDB4MWEsIDB4MTIsIDB4MGUsIDB4NzcsIDB4NTAsIDB4MTMsIDB4MTIsIDB4MDl9IH0sCi17IDB4MDcxZCwJMTYsCXsweDAwLCAweDMwLCAweDAwLCAweDA3LCAweDkwLCAweDdmLCAweGQ2LCAweGUwLCAweDMwLCAweGU3LCAweGYzLCAweDEyLCAweDBkLCAweDhiLCAweDEyLCAweDBlfSB9LAoteyAweDA3MmQsCTE2LAl7MHg3OSwgMHhjMiwgMHgwMywgMHg3ZiwgMHhmZiwgMHg3ZSwgMHhmZiwgMHg3ZCwgMHhmZiwgMHg3YywgMHhmZiwgMHg3OCwgMHgyMSwgMHgxMiwgMHgwOCwgMHgxZH0gfSwKLXsgMHgwNzNkLAkxNiwJezB4N2IsIDB4MDAsIDB4N2EsIDB4MDAsIDB4NzksIDB4MDAsIDB4NzgsIDB4MDAsIDB4YzMsIDB4MTIsIDB4MDgsIDB4MGMsIDB4NzAsIDB4MWIsIDB4NzUsIDB4MjR9IH0sCi17IDB4MDc0ZCwJMTYsCXsweDQ4LCAweDc1LCAweDIzLCAweDkyLCAweGY1LCAweDIyLCAweGY1LCAweDIxLCAweDYzLCAweDI1LCAweGZmLCAweDkwLCAweDIwLCAweDY4LCAweGU1LCAweDI1fSB9LAoteyAweDA3NWQsCTE0LAl7MHhmMCwgMHhhMywgMHg3NCwgMHgwMSwgMHhmMCwgMHhhMywgMHhmMCwgMHhhMywgMHhmMCwgMHgxMiwgMHgwOCwgMHhmZiwgMHg4MCwgMHg5Yn0gfSwKLXsgMHgwNzZiLAkxLAl7MHgyMn0gfSwKLXsgMHgwNzZjLAkxNiwJezB4YmIsIDB4MDEsIDB4MDYsIDB4ODksIDB4ODIsIDB4OGEsIDB4ODMsIDB4ZTAsIDB4MjIsIDB4NTAsIDB4MDIsIDB4ZTcsIDB4MjIsIDB4YmIsIDB4ZmUsIDB4MDJ9IH0sCi17IDB4MDc3YywJOSwJezB4ZTMsIDB4MjIsIDB4ODksIDB4ODIsIDB4OGEsIDB4ODMsIDB4ZTQsIDB4OTMsIDB4MjJ9IH0sCi17IDB4MDc4NSwJMTYsCXsweGJiLCAweDAxLCAweDBjLCAweGU1LCAweDgyLCAweDI5LCAweGY1LCAweDgyLCAweGU1LCAweDgzLCAweDNhLCAweGY1LCAweDgzLCAweGUwLCAweDIyLCAweDUwfSB9LAoteyAweDA3OTUsCTE2LAl7MHgwNiwgMHhlOSwgMHgyNSwgMHg4MiwgMHhmOCwgMHhlNiwgMHgyMiwgMHhiYiwgMHhmZSwgMHgwNiwgMHhlOSwgMHgyNSwgMHg4MiwgMHhmOCwgMHhlMiwgMHgyMn0gfSwKLXsgMHgwN2E1LAkxMywJezB4ZTUsIDB4ODIsIDB4MjksIDB4ZjUsIDB4ODIsIDB4ZTUsIDB4ODMsIDB4M2EsIDB4ZjUsIDB4ODMsIDB4ZTQsIDB4OTMsIDB4MjJ9IH0sCi17IDB4MDdiMiwJMTYsCXsweGY4LCAweGJiLCAweDAxLCAweDBkLCAweGU1LCAweDgyLCAweDI5LCAweGY1LCAweDgyLCAweGU1LCAweDgzLCAweDNhLCAweGY1LCAweDgzLCAweGU4LCAweGYwfSB9LAoteyAweDA3YzIsCTE2LAl7MHgyMiwgMHg1MCwgMHgwNiwgMHhlOSwgMHgyNSwgMHg4MiwgMHhjOCwgMHhmNiwgMHgyMiwgMHhiYiwgMHhmZSwgMHgwNSwgMHhlOSwgMHgyNSwgMHg4MiwgMHhjOH0gfSwKLXsgMHgwN2QyLAkyLAl7MHhmMiwgMHgyMn0gfSwKLXsgMHgwN2Q0LAkxNiwJezB4YmIsIDB4MDEsIDB4MTAsIDB4ZTUsIDB4ODIsIDB4MjksIDB4ZjUsIDB4ODIsIDB4ZTUsIDB4ODMsIDB4M2EsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZjUsIDB4ZjB9IH0sCi17IDB4MDdlNCwJMTYsCXsweGEzLCAweGUwLCAweDIyLCAweDUwLCAweDA5LCAweGU5LCAweDI1LCAweDgyLCAweGY4LCAweDg2LCAweGYwLCAweDA4LCAweGU2LCAweDIyLCAweGJiLCAweGZlfSB9LAoteyAweDA3ZjQsCTE2LAl7MHgwYSwgMHhlOSwgMHgyNSwgMHg4MiwgMHhmOCwgMHhlMiwgMHhmNSwgMHhmMCwgMHgwOCwgMHhlMiwgMHgyMiwgMHhlNSwgMHg4MywgMHgyYSwgMHhmNSwgMHg4M30gfSwKLXsgMHgwODA0LAk4LAl7MHhlOSwgMHg5MywgMHhmNSwgMHhmMCwgMHhhMywgMHhlOSwgMHg5MywgMHgyMn0gfSwKLXsgMHgwODBjLAkxNiwJezB4ZWIsIDB4OWYsIDB4ZjUsIDB4ZjAsIDB4ZWEsIDB4OWUsIDB4NDIsIDB4ZjAsIDB4ZTksIDB4OWQsIDB4NDIsIDB4ZjAsIDB4ZTgsIDB4OWMsIDB4NDUsIDB4ZjB9IH0sCi17IDB4MDgxYywJMSwJezB4MjJ9IH0sCi17IDB4MDgxZCwJMTYsCXsweDA4LCAweDA4LCAweDA4LCAweGU2LCAweDJmLCAweGZmLCAweGY2LCAweDE4LCAweGU2LCAweDNlLCAweGZlLCAweGY2LCAweDE4LCAweGU2LCAweDNkLCAweGZkfSB9LAoteyAweDA4MmQsCTcsCXsweGY2LCAweDE4LCAweGU2LCAweDNjLCAweGZjLCAweGY2LCAweDIyfSB9LAoteyAweDA4MzQsCTQsCXsweDhjLCAweDM0LCAweDhkLCAweDM1fSB9LAoteyAweDA4MzgsCTE2LAl7MHg5MCwgMHg3ZiwgMHg5NSwgMHhlMCwgMHg0NCwgMHhjMCwgMHhmMCwgMHhlNCwgMHhmNSwgMHgzNiwgMHhmNSwgMHgzNywgMHhjMywgMHhlNSwgMHgzNywgMHg5NX0gfSwKLXsgMHgwODQ4LAkxNiwJezB4MzUsIDB4ZTUsIDB4MzYsIDB4OTUsIDB4MzQsIDB4NTAsIDB4NjksIDB4ZWYsIDB4MjUsIDB4MzcsIDB4ZjUsIDB4ODIsIDB4ZTUsIDB4MzYsIDB4M2UsIDB4ZjV9IH0sCi17IDB4MDg1OCwJMTYsCXsweDgzLCAweDc0LCAweGZmLCAweGYwLCAweGY0LCAweDYwLCAweDAyLCAweGMzLCAweDIyLCAweGVmLCAweDI1LCAweDM3LCAweGY1LCAweDgyLCAweGU1LCAweDM2fSB9LAoteyAweDA4NjgsCTE2LAl7MHgzZSwgMHhmNSwgMHg4MywgMHhlNCwgMHhmMCwgMHg2MCwgMHgwMiwgMHhjMywgMHgyMiwgMHhlZiwgMHgyNSwgMHgzNywgMHhmNSwgMHg4MiwgMHhlNSwgMHgzNn0gfSwKLXsgMHgwODc4LAkxNiwJezB4M2UsIDB4ZjUsIDB4ODMsIDB4NzQsIDB4YWEsIDB4ZjAsIDB4NjQsIDB4YWEsIDB4NjAsIDB4MDIsIDB4YzMsIDB4MjIsIDB4ZWYsIDB4MjUsIDB4MzcsIDB4ZjV9IH0sCi17IDB4MDg4OCwJMTYsCXsweDgyLCAweGU1LCAweDM2LCAweDNlLCAweGY1LCAweDgzLCAweDc0LCAweDU1LCAweGYwLCAweDY0LCAweDU1LCAweDYwLCAweDAyLCAweGMzLCAweDIyLCAweGFkfSB9LAoteyAweDA4OTgsCTE2LAl7MHgzNywgMHhlNSwgMHgzNywgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNSwgMHgzNiwgMHgzZSwgMHhmNSwgMHg4MywgMHhlZCwgMHhmMCwgMHhmYywgMHhhYywgMHgwNX0gfSwKLXsgMHgwOGE4LAkxNiwJezB4ZWQsIDB4NmMsIDB4NjAsIDB4MDIsIDB4YzMsIDB4MjIsIDB4MDUsIDB4MzcsIDB4ZTUsIDB4MzcsIDB4NzAsIDB4MDIsIDB4MDUsIDB4MzYsIDB4ODAsIDB4OGN9IH0sCi17IDB4MDhiOCwJMTYsCXsweGU0LCAweGY1LCAweDM2LCAweGY1LCAweDM3LCAweGMzLCAweGU1LCAweDM3LCAweDk1LCAweDM1LCAweGU1LCAweDM2LCAweDk1LCAweDM0LCAweDUwLCAweDI3fSB9LAoteyAweDA4YzgsCTE2LAl7MHhlZiwgMHgyNSwgMHgzNywgMHhmNSwgMHg4MiwgMHhlNSwgMHgzNiwgMHgzZSwgMHhmNSwgMHg4MywgMHhlMCwgMHg2NSwgMHgzNywgMHg2MCwgMHgwMiwgMHhjM30gfSwKLXsgMHgwOGQ4LAkxNiwJezB4MjIsIDB4ZWYsIDB4MjUsIDB4MzcsIDB4ZjUsIDB4ODIsIDB4ZTUsIDB4MzYsIDB4M2UsIDB4ZjUsIDB4ODMsIDB4ZTQsIDB4ZjAsIDB4MDUsIDB4MzcsIDB4ZTV9IH0sCi17IDB4MDhlOCwJOCwJezB4MzcsIDB4NzAsIDB4MDIsIDB4MDUsIDB4MzYsIDB4ODAsIDB4Y2UsIDB4ZDN9IH0sCi17IDB4MDhmMCwJMSwJezB4MjJ9IH0sCi17IDB4MDhmMSwJMTQsCXsweDkwLCAweDdmLCAweDAwLCAweGU1LCAweDEwLCAweGYwLCAweDkwLCAweDdmLCAweGI1LCAweDc0LCAweDAxLCAweGYwLCAweGQzLCAweDIyfSB9LAoteyAweDA4ZmYsCTEsCXsweDIyfSB9LAoteyAweDA5MDAsCTksCXsweDkwLCAweDdmLCAweGQ2LCAweGUwLCAweDQ0LCAweDgwLCAweGYwLCAweDgwLCAweDc0fSB9LAoteyAweDA5N2QsCTE2LAl7MHg0MywgMHg4NywgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgyMn0gfSwKLXsgMHgwOThkLAkxMiwJezB4NzgsIDB4N2YsIDB4ZTQsIDB4ZjYsIDB4ZDgsIDB4ZmQsIDB4NzUsIDB4ODEsIDB4M2EsIDB4MDIsIDB4MDksIDB4ZDR9IH0sCi17IDB4MDk5OSwJMTYsCXsweDAyLCAweDA2LCAweDlkLCAweGU0LCAweDkzLCAweGEzLCAweGY4LCAweGU0LCAweDkzLCAweGEzLCAweDQwLCAweDAzLCAweGY2LCAweDgwLCAweDAxLCAweGYyfSB9LAoteyAweDA5YTksCTE2LAl7MHgwOCwgMHhkZiwgMHhmNCwgMHg4MCwgMHgyOSwgMHhlNCwgMHg5MywgMHhhMywgMHhmOCwgMHg1NCwgMHgwNywgMHgyNCwgMHgwYywgMHhjOCwgMHhjMywgMHgzM30gfSwKLXsgMHgwOWI5LAkxNiwJezB4YzQsIDB4NTQsIDB4MGYsIDB4NDQsIDB4MjAsIDB4YzgsIDB4ODMsIDB4NDAsIDB4MDQsIDB4ZjQsIDB4NTYsIDB4ODAsIDB4MDEsIDB4NDYsIDB4ZjYsIDB4ZGZ9IH0sCi17IDB4MDljOSwJMTYsCXsweGU0LCAweDgwLCAweDBiLCAweDAxLCAweDAyLCAweDA0LCAweDA4LCAweDEwLCAweDIwLCAweDQwLCAweDgwLCAweDkwLCAweDBlLCAweDJkLCAweGU0LCAweDdlfSB9LAoteyAweDA5ZDksCTE2LAl7MHgwMSwgMHg5MywgMHg2MCwgMHhiYywgMHhhMywgMHhmZiwgMHg1NCwgMHgzZiwgMHgzMCwgMHhlNSwgMHgwOSwgMHg1NCwgMHgxZiwgMHhmZSwgMHhlNCwgMHg5M30gfSwKLXsgMHgwOWU5LAkxNiwJezB4YTMsIDB4NjAsIDB4MDEsIDB4MGUsIDB4Y2YsIDB4NTQsIDB4YzAsIDB4MjUsIDB4ZTAsIDB4NjAsIDB4YTgsIDB4NDAsIDB4YjgsIDB4ZTQsIDB4OTMsIDB4YTN9IH0sCi17IDB4MDlmOSwJMTYsCXsweGZhLCAweGU0LCAweDkzLCAweGEzLCAweGY4LCAweGU0LCAweDkzLCAweGEzLCAweGM4LCAweGM1LCAweDgyLCAweGM4LCAweGNhLCAweGM1LCAweDgzLCAweGNhfSB9LAoteyAweDBhMDksCTE2LAl7MHhmMCwgMHhhMywgMHhjOCwgMHhjNSwgMHg4MiwgMHhjOCwgMHhjYSwgMHhjNSwgMHg4MywgMHhjYSwgMHhkZiwgMHhlOSwgMHhkZSwgMHhlNywgMHg4MCwgMHhiZX0gfSwKLXsgMHgwYTE5LAkxNiwJezB4ZTQsIDB4OTAsIDB4N2YsIDB4OWMsIDB4ZjAsIDB4N2YsIDB4MGEsIDB4ZmUsIDB4MTIsIDB4MGQsIDB4ZDUsIDB4OTAsIDB4N2YsIDB4OTYsIDB4NzQsIDB4ODl9IH0sCi17IDB4MGEyOSwJMTYsCXsweGYwLCAweDkwLCAweDdmLCAweDljLCAweDc0LCAweGNmLCAweGYwLCAweDdmLCAweGY0LCAweDdlLCAweDAxLCAweDEyLCAweDBkLCAweGQ1LCAweDkwLCAweDdmfSB9LAoteyAweDBhMzksCTE2LAl7MHg5NiwgMHhlMCwgMHg1NCwgMHhmZSwgMHhmMCwgMHg3ZiwgMHgwYSwgMHg3ZSwgMHgwMCwgMHgxMiwgMHgwZCwgMHhkNSwgMHg3ZiwgMHgwNSwgMHg3ZSwgMHgwMH0gfSwKLXsgMHgwYTQ5LAkxNiwJezB4MTIsIDB4MGQsIDB4ZDUsIDB4OTAsIDB4N2YsIDB4OTYsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4ZTAsIDB4NTQsIDB4N2YsIDB4ZjAsIDB4N2YsIDB4MDV9IH0sCi17IDB4MGE1OSwJMTYsCXsweDdlLCAweDAwLCAweDEyLCAweDBkLCAweGQ1LCAweDkwLCAweDdmLCAweDk2LCAweGUwLCAweDQ0LCAweDQwLCAweGYwLCAweDdmLCAweDA1LCAweDdlLCAweDAwfSB9LAoteyAweDBhNjksCTE2LAl7MHgxMiwgMHgwZCwgMHhkNSwgMHg5MCwgMHg3ZiwgMHg5NiwgMHhlMCwgMHg1NCwgMHhiZiwgMHhmMCwgMHg3ZiwgMHgzMiwgMHg3ZSwgMHgwMCwgMHgxMiwgMHgwZH0gfSwKLXsgMHgwYTc5LAkxNiwJezB4ZDUsIDB4OTAsIDB4N2YsIDB4OTYsIDB4ZTAsIDB4NDQsIDB4NDAsIDB4ZjAsIDB4N2YsIDB4MzIsIDB4N2UsIDB4MDAsIDB4MTIsIDB4MGQsIDB4ZDUsIDB4MjJ9IH0sCi17IDB4MGE4OSwJMTYsCXsweDc1LCAweDMzLCAweDAxLCAweGU1LCAweDMzLCAweDYwLCAweDFiLCAweDdmLCAweDAxLCAweDEyLCAweDBlLCAweDE4LCAweDdmLCAweDAwLCAweDdlLCAweDBlfSB9LAoteyAweDBhOTksCTE2LAl7MHg3ZCwgMHgwMCwgMHg3YywgMHgwMSwgMHgxMiwgMHgwOCwgMHgzNCwgMHhlNCwgMHgzMywgMHhmNSwgMHgzMywgMHg3MCwgMHgwNSwgMHg3ZiwgMHgwZiwgMHgxMn0gfSwKLXsgMHgwYWE5LAkxNiwJezB4MGUsIDB4MTgsIDB4ZTUsIDB4MzMsIDB4NjAsIDB4MWIsIDB4N2YsIDB4MDIsIDB4MTIsIDB4MGUsIDB4MTgsIDB4N2YsIDB4MDAsIDB4N2UsIDB4ODAsIDB4N2R9IH0sCi17IDB4MGFiOSwJMTYsCXsweDAwLCAweDdjLCAweDgwLCAweDEyLCAweDA4LCAweDM0LCAweGU0LCAweDMzLCAweGY1LCAweDMzLCAweDcwLCAweDA1LCAweDdmLCAweDBmLCAweDEyLCAweDBlfSB9LAoteyAweDBhYzksCTE2LAl7MHgxOCwgMHhlNSwgMHgzMywgMHg2MCwgMHgxYiwgMHg3ZiwgMHgwMywgMHgxMiwgMHgwZSwgMHgxOCwgMHg3ZiwgMHgwMCwgMHg3ZSwgMHgyMCwgMHg3ZCwgMHg0MH0gfSwKLXsgMHgwYWQ5LAkxNiwJezB4N2MsIDB4NWIsIDB4MTIsIDB4MDgsIDB4MzQsIDB4ZTQsIDB4MzMsIDB4ZjUsIDB4MzMsIDB4NzAsIDB4MDUsIDB4N2YsIDB4MGYsIDB4MTIsIDB4MGUsIDB4MTh9IH0sCi17IDB4MGFlOSwJMTMsCXsweGU1LCAweDMzLCAweDYwLCAweDA1LCAweGU0LCAweGZmLCAweDEyLCAweDBlLCAweDE4LCAweGU1LCAweDMzLCAweDI0LCAweGZmfSB9LAoteyAweDBhZjYsCTEsCXsweDIyfSB9LAoteyAweDBhZjcsCTgsCXsweDkwLCAweDdmLCAweGVhLCAweGUwLCAweGY1LCAweDEwLCAweGQzLCAweDIyfSB9LAoteyAweDBhZmYsCTEsCXsweDMyfSB9LAoteyAweDBiMDAsCTE2LAl7MHgwMiwgMHgwZCwgMHhhNSwgMHgwMCwgMHgwMiwgMHgwZCwgMHhlYywgMHgwMCwgMHgwMiwgMHgwZCwgMHg3MCwgMHgwMCwgMHgwMiwgMHgwZCwgMHhiZCwgMHgwMH0gfSwKLXsgMHgwYjEwLAkxNiwJezB4MDIsIDB4MGUsIDB4MDIsIDB4MDAsIDB4MDIsIDB4MGEsIDB4ZmYsIDB4MDAsIDB4MDIsIDB4MGUsIDB4ODMsIDB4MDAsIDB4MDIsIDB4MGUsIDB4ODQsIDB4MDB9IH0sCi17IDB4MGIyMCwJMTYsCXsweDAyLCAweDBlLCAweDg1LCAweDAwLCAweDAyLCAweDBlLCAweDg2LCAweDAwLCAweDAyLCAweDBlLCAweDg3LCAweDAwLCAweDAyLCAweDBlLCAweDg4LCAweDAwfSB9LAoteyAweDBiMzAsCTE2LAl7MHgwMiwgMHgwZSwgMHg4OSwgMHgwMCwgMHgwMiwgMHgwZSwgMHg4YSwgMHgwMCwgMHgwMiwgMHgwZSwgMHg4YiwgMHgwMCwgMHgwMiwgMHgwZSwgMHg4YywgMHgwMH0gfSwKLXsgMHgwYjQwLAkxNiwJezB4MDIsIDB4MGUsIDB4OGQsIDB4MDAsIDB4MDIsIDB4MGUsIDB4OGUsIDB4MDAsIDB4MDIsIDB4MGUsIDB4OGYsIDB4MDAsIDB4MDIsIDB4MGUsIDB4OTAsIDB4MDB9IH0sCi17IDB4MGI1MCwJOCwJezB4MDIsIDB4MGUsIDB4OTEsIDB4MDAsIDB4MDIsIDB4MGUsIDB4OTIsIDB4MDB9IH0sCi17IDB4MGI1OCwJMTYsCXsweGU0LCAweGZlLCAweDc1LCAweDJiLCAweGZmLCAweDc1LCAweDJjLCAweDExLCAweDc1LCAweDJkLCAweDEyLCAweGFiLCAweDJiLCAweGFhLCAweDJjLCAweGE5fSB9LAoteyAweDBiNjgsCTE2LAl7MHgyZCwgMHg5MCwgMHgwMCwgMHgwMSwgMHgxMiwgMHgwNywgMHg4NSwgMHg2NCwgMHgwMiwgMHg3MCwgMHgyZCwgMHhhZCwgMHgwNiwgMHgwZSwgMHhlZCwgMHhiNX0gfSwKLXsgMHgwYjc4LAkxNiwJezB4MDcsIDB4MDEsIDB4MjIsIDB4OTAsIDB4MDAsIDB4MDIsIDB4MTIsIDB4MDcsIDB4ZDQsIDB4ODUsIDB4ZjAsIDB4MjksIDB4ZjUsIDB4MmEsIDB4NjIsIDB4Mjl9IH0sCi17IDB4MGI4OCwJMTYsCXsweGU1LCAweDI5LCAweDYyLCAweDJhLCAweGU1LCAweDJhLCAweDYyLCAweDI5LCAweDI5LCAweGZkLCAweGU1LCAweDI5LCAweDNhLCAweGE5LCAweDA1LCAweDc1fSB9LAoteyAweDBiOTgsCTE0LAl7MHgyYiwgMHhmZiwgMHhmNSwgMHgyYywgMHg4OSwgMHgyZCwgMHg4MCwgMHhjMywgMHg3YiwgMHgwMCwgMHg3YSwgMHgwMCwgMHg3OSwgMHgwMH0gfSwKLXsgMHgwYmE2LAkxLAl7MHgyMn0gfSwKLXsgMHgwYmE3LAk2LAl7MHhhYiwgMHgwNywgMHhhYSwgMHgwNiwgMHhhYywgMHgwNX0gfSwKLXsgMHgwYmFkLAkxNiwJezB4ZTQsIDB4ZmQsIDB4ZTUsIDB4MTEsIDB4NjAsIDB4MTEsIDB4ZWEsIDB4ZmYsIDB4YWUsIDB4MDUsIDB4MGQsIDB4ZWUsIDB4MjQsIDB4MTAsIDB4ZjUsIDB4ODJ9IH0sCi17IDB4MGJiZCwJMTYsCXsweGU0LCAweDM0LCAweDBmLCAweGY1LCAweDgzLCAweGVmLCAweGYwLCAweGViLCAweGFlLCAweDA1LCAweDBkLCAweDc0LCAweDEwLCAweDJlLCAweGY1LCAweDgyfSB9LAoteyAweDBiY2QsCTE2LAl7MHhlNCwgMHgzNCwgMHgwZiwgMHhmNSwgMHg4MywgMHhlYiwgMHhmMCwgMHhhZiwgMHgwNSwgMHgwZCwgMHg3NCwgMHgxMCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNH0gfSwKLXsgMHgwYmRkLAkxNiwJezB4MzQsIDB4MGYsIDB4ZjUsIDB4ODMsIDB4ZWMsIDB4ZjAsIDB4YWYsIDB4MGYsIDB4N2EsIDB4MGYsIDB4N2IsIDB4MTAsIDB4MTIsIDB4MGQsIDB4NTEsIDB4N2Z9IH0sCi17IDB4MGJlZCwJNiwJezB4MGEsIDB4N2UsIDB4MDAsIDB4MTIsIDB4MGQsIDB4ZDV9IH0sCi17IDB4MGJmMywJMSwJezB4MjJ9IH0sCi17IDB4MGJmNCwJMTAsCXsweDhlLCAweDMzLCAweDhmLCAweDM0LCAweDhkLCAweDM1LCAweDhhLCAweDM2LCAweDhiLCAweDM3fSB9LAoteyAweDBiZmUsCTE2LAl7MHhlNCwgMHhmZCwgMHhmNSwgMHgzOCwgMHhlNSwgMHgxMSwgMHg2MCwgMHgxMiwgMHhlNSwgMHgzMywgMHhmZiwgMHhhZSwgMHgwNSwgMHgwZCwgMHhlZSwgMHgyNH0gfSwKLXsgMHgwYzBlLAkxNiwJezB4MTMsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4MGYsIDB4ZjUsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4ZTUsIDB4MzQsIDB4YWUsIDB4MDUsIDB4MGQsIDB4NzR9IH0sCi17IDB4MGMxZSwJMTYsCXsweDEzLCAweDJlLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDBmLCAweGY1LCAweDgzLCAweGU1LCAweDM0LCAweGYwLCAweGFmLCAweDBmLCAweDdhLCAweDBmfSB9LAoteyAweDBjMmUsCTE2LAl7MHg3YiwgMHgxMywgMHgxMiwgMHgwZCwgMHg1MSwgMHhhZiwgMHgwZiwgMHhhZCwgMHgzNSwgMHhhYiwgMHgzNywgMHhhYSwgMHgzNiwgMHgxMiwgMHgwZCwgMHgzMn0gfSwKLXsgMHgwYzNlLAkxLAl7MHgyMn0gfSwKLXsgMHgwYzNmLAkyLAl7MHg4ZiwgMHgyOX0gfSwKLXsgMHgwYzQxLAkxNiwJezB4ZTQsIDB4ZjUsIDB4MmEsIDB4NzUsIDB4MmIsIDB4ZmYsIDB4NzUsIDB4MmMsIDB4MTEsIDB4NzUsIDB4MmQsIDB4MzIsIDB4YWIsIDB4MmIsIDB4YWEsIDB4MmN9IH0sCi17IDB4MGM1MSwJMTYsCXsweGE5LCAweDJkLCAweDkwLCAweDAwLCAweDAxLCAweDEyLCAweDA3LCAweDg1LCAweGI0LCAweDAzLCAweDFkLCAweGFmLCAweDJhLCAweDA1LCAweDJhLCAweGVmfSB9LAoteyAweDBjNjEsCTE2LAl7MHhiNSwgMHgyOSwgMHgwMSwgMHgyMiwgMHgxMiwgMHgwNywgMHg2YywgMHg3ZSwgMHgwMCwgMHgyOSwgMHhmZiwgMHhlZSwgMHgzYSwgMHhhOSwgMHgwNywgMHg3NX0gfSwKLXsgMHgwYzcxLAkxNCwJezB4MmIsIDB4ZmYsIDB4ZjUsIDB4MmMsIDB4ODksIDB4MmQsIDB4ODAsIDB4ZDQsIDB4N2IsIDB4MDAsIDB4N2EsIDB4MDAsIDB4NzksIDB4MDB9IH0sCi17IDB4MGM3ZiwJMSwJezB4MjJ9IH0sCi17IDB4MGM4MCwJMTAsCXsweDhlLCAweDMzLCAweDhmLCAweDM0LCAweDhkLCAweDM1LCAweDhhLCAweDM2LCAweDhiLCAweDM3fSB9LAoteyAweDBjOGEsCTE2LAl7MHhlNCwgMHhmNSwgMHgzOCwgMHhlNSwgMHgzOCwgMHhjMywgMHg5NSwgMHgzNSwgMHg1MCwgMHgyMCwgMHgwNSwgMHgzNCwgMHhlNSwgMHgzNCwgMHhhZSwgMHgzM30gfSwKLXsgMHgwYzlhLAkxNiwJezB4NzAsIDB4MDIsIDB4MDUsIDB4MzMsIDB4MTQsIDB4ZmYsIDB4ZTUsIDB4MzcsIDB4MjUsIDB4MzgsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MzYsIDB4ZjV9IH0sCi17IDB4MGNhYSwJMTAsCXsweDgzLCAweGUwLCAweGZkLCAweDEyLCAweDBiLCAweGE3LCAweDA1LCAweDM4LCAweDgwLCAweGQ5fSB9LAoteyAweDBjYjQsCTEsCXsweDIyfSB9LAoteyAweDBjYjUsCTE2LAl7MHhhOSwgMHgwNywgMHhlNSwgMHgwZCwgMHg3MCwgMHgyNSwgMHg5MCwgMHg3ZiwgMHhhNSwgMHhlMCwgMHg0NCwgMHg4MCwgMHhmMCwgMHhlOSwgMHgyNSwgMHhlMH0gfSwKLXsgMHgwY2M1LAkxNiwJezB4NDQsIDB4MDEsIDB4OTAsIDB4N2YsIDB4YTYsIDB4ZjAsIDB4OGQsIDB4MDgsIDB4YWYsIDB4MDMsIDB4YTksIDB4MDcsIDB4NzUsIDB4MDksIDB4MDEsIDB4OGF9IH0sCi17IDB4MGNkNSwJMTMsCXsweDBhLCAweDg5LCAweDBiLCAweGU0LCAweGY1LCAweDBjLCAweDc1LCAweDBkLCAweDAzLCAweGQzLCAweDIyLCAweGMzLCAweDIyfSB9LAoteyAweDBjZTIsCTE2LAl7MHhhOSwgMHgwNywgMHhlNSwgMHgwZCwgMHg3MCwgMHgyMywgMHg5MCwgMHg3ZiwgMHhhNSwgMHhlMCwgMHg0NCwgMHg4MCwgMHhmMCwgMHhlOSwgMHgyNSwgMHhlMH0gfSwKLXsgMHgwY2YyLAkxNiwJezB4OTAsIDB4N2YsIDB4YTYsIDB4ZjAsIDB4OGQsIDB4MDgsIDB4YWYsIDB4MDMsIDB4YTksIDB4MDcsIDB4NzUsIDB4MDksIDB4MDEsIDB4OGEsIDB4MGEsIDB4ODl9IH0sCi17IDB4MGQwMiwJMTEsCXsweDBiLCAweGU0LCAweGY1LCAweDBjLCAweDc1LCAweDBkLCAweDAxLCAweGQzLCAweDIyLCAweGMzLCAweDIyfSB9LAoteyAweDBkMGQsCTE2LAl7MHg5MCwgMHg3ZiwgMHhkNiwgMHhlMCwgMHg1NCwgMHhmYiwgMHhmMCwgMHhlMCwgMHg0NCwgMHgwOCwgMHhmMCwgMHgzMCwgMHgwNiwgMHgwNCwgMHhlMCwgMHg0NH0gfSwKLXsgMHgwZDFkLAkxNiwJezB4MDIsIDB4ZjAsIDB4N2YsIDB4ZDAsIDB4N2UsIDB4MDcsIDB4MTIsIDB4MGQsIDB4ZDUsIDB4OTAsIDB4N2YsIDB4ZDYsIDB4ZTAsIDB4NTQsIDB4ZjcsIDB4ZjB9IH0sCi17IDB4MGQyZCwJNSwJezB4ZTAsIDB4NDQsIDB4MDQsIDB4ZjAsIDB4MjJ9IH0sCi17IDB4MGQzMiwJMTYsCXsweDEyLCAweDBjLCAweGI1LCAweGU1LCAweDBkLCAweDI0LCAweGZhLCAweDYwLCAweDEwLCAweDE0LCAweDYwLCAweDA3LCAweDI0LCAweDA3LCAweDcwLCAweGYzfSB9LAoteyAweDBkNDIsCTE1LAl7MHg3ZiwgMHgwOCwgMHgyMiwgMHhlNCwgMHhmNSwgMHgwZCwgMHg3ZiwgMHgwNywgMHgyMiwgMHhlNCwgMHhmNSwgMHgwZCwgMHg3ZiwgMHgwNiwgMHgyMn0gfSwKLXsgMHgwZDUxLAkxNiwJezB4MTIsIDB4MGMsIDB4ZTIsIDB4ZTUsIDB4MGQsIDB4MjQsIDB4ZmEsIDB4NjAsIDB4MTAsIDB4MTQsIDB4NjAsIDB4MDcsIDB4MjQsIDB4MDcsIDB4NzAsIDB4ZjN9IH0sCi17IDB4MGQ2MSwJMTUsCXsweDdmLCAweDA4LCAweDIyLCAweGU0LCAweGY1LCAweDBkLCAweDdmLCAweDA3LCAweDIyLCAweGU0LCAweGY1LCAweDBkLCAweDdmLCAweDA2LCAweDIyfSB9LAoteyAweDBkNzAsCTE2LAl7MHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHg5MCwgMHg3ZiwgMHhjNCwgMHhlNCwgMHhmMCwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3Zn0gfSwKLXsgMHgwZDgwLAkxMSwJezB4YWIsIDB4NzQsIDB4MDQsIDB4ZjAsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzJ9IH0sCi17IDB4MGQ4YiwJMTYsCXsweDkwLCAweDdmLCAweGQ2LCAweGUwLCAweDMwLCAweGU3LCAweDEyLCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDdmLCAweDE0LCAweDdlLCAweDAwLCAweDEyfSB9LAoteyAweDBkOWIsCTEwLAl7MHgwZCwgMHhkNSwgMHg5MCwgMHg3ZiwgMHhkNiwgMHhlMCwgMHg1NCwgMHhmZSwgMHhmMCwgMHgyMn0gfSwKLXsgMHgwZGE1LAkxNiwJezB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4ZDIsIDB4MDEsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YWIsIDB4NzQsIDB4MDF9IH0sCi17IDB4MGRiNSwJOCwJezB4ZjAsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzJ9IH0sCi17IDB4MGRiZCwJMTYsCXsweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGQyLCAweDAzLCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGFiLCAweDc0LCAweDA4fSB9LAoteyAweDBkY2QsCTgsCXsweGYwLCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGUwLCAweDMyfSB9LAoteyAweDBkZDUsCTE2LAl7MHg4ZSwgMHgzOSwgMHg4ZiwgMHgzYSwgMHhlNSwgMHgzYSwgMHgxNSwgMHgzYSwgMHhhZSwgMHgzOSwgMHg3MCwgMHgwMiwgMHgxNSwgMHgzOSwgMHg0ZSwgMHg2MH0gfSwKLXsgMHgwZGU1LAk3LAl7MHgwNSwgMHgxMiwgMHgwZSwgMHg0MSwgMHg4MCwgMHhlZSwgMHgyMn0gfSwKLXsgMHgwZGVjLAkxNiwJezB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YWIsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4ZDB9IH0sCi17IDB4MGRmYywJNiwJezB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzJ9IH0sCi17IDB4MGUwMiwJMTYsCXsweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGFiLCAweDc0LCAweDEwLCAweGYwLCAweGQwfSB9LAoteyAweDBlMTIsCTYsCXsweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGUwLCAweDMyfSB9LAoteyAweDBlMTgsCTE2LAl7MHhhZSwgMHgwNywgMHg3ZiwgMHgyMSwgMHg3ZCwgMHgwMSwgMHg3NCwgMHgwMCwgMHgyZSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHgwZiwgMHhhYiwgMHg4Mn0gfSwKLXsgMHgwZTI4LAk1LAl7MHhmYSwgMHgxMiwgMHgwZCwgMHg1MSwgMHgyMn0gfSwKLXsgMHgwZTJkLAkxNiwJezB4NTAsIDB4MGYsIDB4MDAsIDB4YzAsIDB4ZjksIDB4YTQsIDB4YjAsIDB4OTksIDB4OTIsIDB4ODIsIDB4ZjgsIDB4ODAsIDB4OTgsIDB4ODgsIDB4ODMsIDB4YzZ9IH0sCi17IDB4MGUzZCwJMywJezB4YTEsIDB4ODYsIDB4OGV9IH0sCi17IDB4MGU0MCwJMSwJezB4MDB9IH0sCi17IDB4MGU0MSwJMTYsCXsweDc0LCAweDAwLCAweGY1LCAweDg2LCAweDkwLCAweGZkLCAweGE1LCAweDdjLCAweDA1LCAweGEzLCAweGU1LCAweDgyLCAweDQ1LCAweDgzLCAweDcwLCAweGY5fSB9LAoteyAweDBlNTEsCTEsCXsweDIyfSB9LAoteyAweDBlNTIsCTE0LAl7MHg5MCwgMHg3ZiwgMHgwMCwgMHhlNSwgMHgwZSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHg3NCwgMHgwMSwgMHhmMCwgMHhkMywgMHgyMn0gfSwKLXsgMHgwZTYwLAk4LAl7MHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHhmNSwgMHgwZSwgMHhkMywgMHgyMn0gfSwKLXsgMHgwZTY4LAk4LAl7MHhlNCwgMHhmNSwgMHgwZCwgMHhkMiwgMHhlOSwgMHhkMiwgMHhhZiwgMHgyMn0gfSwKLXsgMHgwZTcwLAk0LAl7MHg1MywgMHhkOCwgMHhlZiwgMHgzMn0gfSwKLXsgMHgwZTc0LAkzLAl7MHhkMiwgMHgwMCwgMHgyMn0gfSwKLXsgMHgwZTc3LAkyLAl7MHhkMywgMHgyMn0gfSwKLXsgMHgwZTc5LAkyLAl7MHhkMywgMHgyMn0gfSwKLXsgMHgwZTdiLAkyLAl7MHhkMywgMHgyMn0gfSwKLXsgMHgwZTdkLAkyLAl7MHhkMywgMHgyMn0gfSwKLXsgMHgwZTdmLAkyLAl7MHhkMywgMHgyMn0gfSwKLXsgMHgwZTgxLAkyLAl7MHhkMywgMHgyMn0gfSwKLXsgMHgwZTgzLAkxLAl7MHgzMn0gfSwKLXsgMHgwZTg0LAkxLAl7MHgzMn0gfSwKLXsgMHgwZTg1LAkxLAl7MHgzMn0gfSwKLXsgMHgwZTg2LAkxLAl7MHgzMn0gfSwKLXsgMHgwZTg3LAkxLAl7MHgzMn0gfSwKLXsgMHgwZTg4LAkxLAl7MHgzMn0gfSwKLXsgMHgwZTg5LAkxLAl7MHgzMn0gfSwKLXsgMHgwZThhLAkxLAl7MHgzMn0gfSwKLXsgMHgwZThiLAkxLAl7MHgzMn0gfSwKLXsgMHgwZThjLAkxLAl7MHgzMn0gfSwKLXsgMHgwZThkLAkxLAl7MHgzMn0gfSwKLXsgMHgwZThlLAkxLAl7MHgzMn0gfSwKLXsgMHgwZThmLAkxLAl7MHgzMn0gfSwKLXsgMHgwZTkwLAkxLAl7MHgzMn0gfSwKLXsgMHgwZTkxLAkxLAl7MHgzMn0gfSwKLXsgMHgwZTkyLAkxLAl7MHgzMn0gfSwKLXsgMHgxMTAwLAkxNiwJezB4MTIsIDB4MDEsIDB4MDAsIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDAsIDB4NDAsIDB4NDcsIDB4MDUsIDB4MTAsIDB4MjcsIDB4MDEsIDB4MDAsIDB4MDEsIDB4MDJ9IH0sCi17IDB4MTExMCwJMTYsCXsweDAwLCAweDAxLCAweDA5LCAweDAyLCAweDIwLCAweDAwLCAweDAxLCAweDAxLCAweDAzLCAweGEwLCAweDAwLCAweDA5LCAweDA0LCAweDAwLCAweDAwLCAweDAyfSB9LAoteyAweDExMjAsCTE2LAl7MHhmZiwgMHgwMCwgMHgwMCwgMHgwNCwgMHgwNywgMHgwNSwgMHg4MiwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwMiwgMHgwMiwgMHg0MH0gfSwKLXsgMHgxMTMwLAkxNiwJezB4MDAsIDB4MDAsIDB4MDQsIDB4MDMsIDB4MDksIDB4MDQsIDB4MjYsIDB4MDMsIDB4NDEsIDB4MDAsIDB4NmUsIDB4MDAsIDB4NjMsIDB4MDAsIDB4NjgsIDB4MDB9IH0sCi17IDB4MTE0MCwJMTYsCXsweDZmLCAweDAwLCAweDcyLCAweDAwLCAweDIwLCAweDAwLCAweDQzLCAweDAwLCAweDY4LCAweDAwLCAweDY5LCAweDAwLCAweDcwLCAweDAwLCAweDczLCAweDAwfSB9LAoteyAweDExNTAsCTE2LAl7MHgyYywgMHgwMCwgMHgyMCwgMHgwMCwgMHg0OSwgMHgwMCwgMHg2ZSwgMHgwMCwgMHg2MywgMHgwMCwgMHgyZSwgMHgwMCwgMHgyOCwgMHgwMywgMHg0NiwgMHgwMH0gfSwKLXsgMHgxMTYwLAkxNiwJezB4NjksIDB4MDAsIDB4NzIsIDB4MDAsIDB4NmQsIDB4MDAsIDB4NzcsIDB4MDAsIDB4NjEsIDB4MDAsIDB4NzIsIDB4MDAsIDB4NjUsIDB4MDAsIDB4MjAsIDB4MDB9IH0sCi17IDB4MTE3MCwJMTYsCXsweDQ2LCAweDAwLCAweDcyLCAweDAwLCAweDYxLCAweDAwLCAweDZkLCAweDAwLCAweDY1LCAweDAwLCAweDU3LCAweDAwLCAweDZmLCAweDAwLCAweDcyLCAweDAwfSB9LAoteyAweDExODAsCTE2LAl7MHg2YiwgMHgwMCwgMHg3MywgMHgwMCwgMHgyYSwgMHgwMywgMHg0MywgMHgwMCwgMHg2ZiwgMHgwMCwgMHg2ZSwgMHgwMCwgMHg2NiwgMHgwMCwgMHg2OSwgMHgwMH0gfSwKLXsgMHgxMTkwLAkxNiwJezB4NjcsIDB4MDAsIDB4NzUsIDB4MDAsIDB4NzIsIDB4MDAsIDB4NjEsIDB4MDAsIDB4NzQsIDB4MDAsIDB4NjksIDB4MDAsIDB4NmYsIDB4MDAsIDB4NmUsIDB4MDB9IH0sCi17IDB4MTFhMCwJMTYsCXsweDIwLCAweDAwLCAweDUzLCAweDAwLCAweDc0LCAweDAwLCAweDcyLCAweDAwLCAweDY5LCAweDAwLCAweDZlLCAweDAwLCAweDY3LCAweDAwLCAweDIyLCAweDAzfSB9LAoteyAweDExYjAsCTE2LAl7MHg0OSwgMHgwMCwgMHg2ZSwgMHgwMCwgMHg3NCwgMHgwMCwgMHg2NSwgMHgwMCwgMHg3MiwgMHgwMCwgMHg2NiwgMHgwMCwgMHg2MSwgMHgwMCwgMHg2MywgMHgwMH0gfSwKLXsgMHgxMWMwLAkxNiwJezB4NjUsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NTMsIDB4MDAsIDB4NzQsIDB4MDAsIDB4NzIsIDB4MDAsIDB4NjksIDB4MDAsIDB4NmUsIDB4MDAsIDB4NjcsIDB4MDB9IH0sCi17IDB4MTFkMCwJMiwJezB4MDAsIDB4MDB9IH0sCi17IDB4ZmZmZiwJMCwJezB4MDB9IH0KLX07Ci0KLSNlbHNlCi0KLXN0YXRpYyBjb25zdCBzdHJ1Y3Qgd2hpdGVoZWF0X2hleF9yZWNvcmQgd2hpdGVoZWF0X2xvYWRlcltdID0gewoteyAweDAwMDAsCTMsCXsweDAyLCAweDA5LCAweDhkfSB9LAoteyAweDAwMzMsCTMsCXsweDAyLCAweDA4LCAweGZifSB9LAoteyAweDAwNDMsCTMsCXsweDAyLCAweDBiLCAweDAwfSB9LAoteyAweDAwNGIsCTMsCXsweDAyLCAweDA1LCAweGFhfSB9LAoteyAweDAxMDAsCTE2LAl7MHg5MCwgMHg3ZiwgMHhhNSwgMHhlMCwgMHg1NCwgMHgxMCwgMHhmZiwgMHhjNCwgMHg1NCwgMHgwZiwgMHg0NCwgMHg1MCwgMHhmNSwgMHgwZiwgMHgxMywgMHhlNH0gfSwKLXsgMHgwMTEwLAkxNiwJezB4MzMsIDB4ZjUsIDB4MTEsIDB4OTAsIDB4N2YsIDB4ZTksIDB4ZTAsIDB4MjQsIDB4NWUsIDB4YjQsIDB4MDcsIDB4MDAsIDB4NDAsIDB4MDMsIDB4MDIsIDB4MDN9IH0sCi17IDB4MDEyMCwJMTYsCXsweDc4LCAweDkwLCAweDAxLCAweDI4LCAweGY4LCAweDI4LCAweDI4LCAweDczLCAweDAyLCAweDAxLCAweGJjLCAweDAyLCAweDAxLCAweGJjLCAweDAyLCAweDAxfSB9LAoteyAweDAxMzAsCTE2LAl7MHg5MSwgMHgwMiwgMHgwMSwgMHgzZCwgMHgwMiwgMHgwMSwgMHg1MywgMHgwMiwgMHgwMSwgMHg2ZiwgMHgwMiwgMHgwMSwgMHg5YSwgMHg5MCwgMHg3ZiwgMHgwMH0gfSwKLXsgMHgwMTQwLAkxNiwJezB4ZTUsIDB4MTEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjB9IH0sCi17IDB4MDE1MCwJMTYsCXsweDAyLCAweDAzLCAweDc4LCAweDkwLCAweDdmLCAweDkyLCAweGUwLCAweGZmLCAweGM0LCAweDU0LCAweDBmLCAweDkwLCAweDdmLCAweDAwLCAweGYwLCAweDkwfSB9LAoteyAweDAxNjAsCTE2LAl7MHg3ZiwgMHhiNSwgMHg3NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHgwMiwgMHgwMywgMHg3OCwgMHgxMn0gfSwKLXsgMHgwMTcwLAkxNiwJezB4MGEsIDB4ODksIDB4NTAsIDB4MDcsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4MDAsIDB4ZjAsIDB4ODAsIDB4MDYsIDB4OTAsIDB4N2YsIDB4MDAsIDB4NzQsIDB4MGZ9IH0sCi17IDB4MDE4MCwJMTYsCXsweGYwLCAweDkwLCAweDdmLCAweGI1LCAweDc0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweDAyLCAweDAzfSB9LAoteyAweDAxOTAsCTE2LAl7MHg3OCwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHhmNSwgMHgwZiwgMHgwMiwgMHgwMywgMHg3OCwgMHg5MCwgMHg3ZiwgMHgwMCwgMHg3NCwgMHgwNywgMHhmMH0gfSwKLXsgMHgwMWEwLAkxNiwJezB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4N2YsIDB4ZTgsIDB4N2V9IH0sCi17IDB4MDFiMCwJMTYsCXsweDAzLCAweDEyLCAweDBkLCAweDk0LCAweGQyLCAweDA2LCAweDEyLCAweDBjLCAweGNjLCAweDAyLCAweDAzLCAweDc4LCAweDkwLCAweDdmLCAweGVhLCAweGUwfSB9LAoteyAweDAxYzAsCTE2LAl7MHg3NSwgMHgyOCwgMHgwMCwgMHhmNSwgMHgyOSwgMHhhMywgMHhlMCwgMHhmZSwgMHhlNCwgMHhlZSwgMHg0MiwgMHgyOCwgMHg5MCwgMHg3ZiwgMHhlZSwgMHhlMH0gfSwKLXsgMHgwMWQwLAkxNiwJezB4NzUsIDB4MmEsIDB4MDAsIDB4ZjUsIDB4MmIsIDB4YTMsIDB4ZTAsIDB4ZmUsIDB4ZTQsIDB4ZWUsIDB4NDIsIDB4MmEsIDB4OTAsIDB4N2YsIDB4ZTgsIDB4ZTB9IH0sCi17IDB4MDFlMCwJMTYsCXsweDY0LCAweGMwLCAweDYwLCAweDAzLCAweDAyLCAweDAyLCAweGM5LCAweGU1LCAweDJiLCAweDQ1LCAweDJhLCAweDcwLCAweDAzLCAweDAyLCAweDAzLCAweDc4fSB9LAoteyAweDAxZjAsCTE2LAl7MHhjMywgMHhlNSwgMHgyYiwgMHg5NCwgMHg0MCwgMHhlNSwgMHgyYSwgMHg5NCwgMHgwMCwgMHg1MCwgMHgwOCwgMHg4NSwgMHgyYSwgMHgyYywgMHg4NSwgMHgyYn0gfSwKLXsgMHgwMjAwLAkxNiwJezB4MmQsIDB4ODAsIDB4MDYsIDB4NzUsIDB4MmMsIDB4MDAsIDB4NzUsIDB4MmQsIDB4NDAsIDB4OTAsIDB4N2YsIDB4ZTksIDB4ZTAsIDB4NjQsIDB4YTMsIDB4NzB9IH0sCi17IDB4MDIxMCwJMTYsCXsweDM0LCAweGY1LCAweDMwLCAweGY1LCAweDMxLCAweGMzLCAweGU1LCAweDMxLCAweDk1LCAweDJkLCAweGU1LCAweDMwLCAweDk1LCAweDJjLCAweDUwLCAweDVjfSB9LAoteyAweDAyMjAsCTE2LAl7MHhlNSwgMHgyOSwgMHgyNSwgMHgzMSwgMHhmNSwgMHg4MiwgMHhlNSwgMHgzMCwgMHgzNSwgMHgyOCwgMHhmNSwgMHg4MywgMHhlMCwgMHhmZiwgMHg3NCwgMHgwMH0gfSwKLXsgMHgwMjMwLAkxNiwJezB4MjUsIDB4MzEsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2YsIDB4ZjUsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4MDUsIDB4MzEsIDB4ZTUsIDB4MzEsIDB4NzB9IH0sCi17IDB4MDI0MCwJMTYsCXsweDAyLCAweDA1LCAweDMwLCAweDgwLCAweGQwLCAweGU0LCAweGY1LCAweDMwLCAweGY1LCAweDMxLCAweGMzLCAweGU1LCAweDMxLCAweDk1LCAweDJkLCAweGU1fSB9LAoteyAweDAyNTAsCTE2LAl7MHgzMCwgMHg5NSwgMHgyYywgMHg1MCwgMHgxOCwgMHg3NCwgMHgwMCwgMHgyNSwgMHgzMSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZiwgMHhmNSwgMHg4M30gfSwKLXsgMHgwMjYwLAkxNiwJezB4NzQsIDB4Y2QsIDB4ZjAsIDB4MDUsIDB4MzEsIDB4ZTUsIDB4MzEsIDB4NzAsIDB4MDIsIDB4MDUsIDB4MzAsIDB4ODAsIDB4ZGQsIDB4YWYsIDB4MjksIDB4YWV9IH0sCi17IDB4MDI3MCwJMTYsCXsweDI4LCAweGFkLCAweDJkLCAweDdhLCAweDdmLCAweDc5LCAweDAwLCAweDdiLCAweDAwLCAweDEyLCAweDBiLCAweGY0LCAweDkwLCAweDdmLCAweGI1LCAweGU1fSB9LAoteyAweDAyODAsCTE2LAl7MHgyZCwgMHhmMCwgMHhlNSwgMHgyZCwgMHgyNSwgMHgyOSwgMHhmNSwgMHgyOSwgMHhlNSwgMHgyYywgMHgzNSwgMHgyOCwgMHhmNSwgMHgyOCwgMHhjMywgMHhlNX0gfSwKLXsgMHgwMjkwLAkxNiwJezB4MmIsIDB4OTUsIDB4MmQsIDB4ZjUsIDB4MmIsIDB4ZTUsIDB4MmEsIDB4OTUsIDB4MmMsIDB4ZjUsIDB4MmEsIDB4OTAsIDB4N2YsIDB4OTIsIDB4ZTAsIDB4ZmZ9IH0sCi17IDB4MDJhMCwJMTYsCXsweGM0LCAweDU0LCAweDBmLCAweDc1LCAweDJlLCAweDAwLCAweGY1LCAweDJmLCAweGQzLCAweDk0LCAweDAwLCAweGU1LCAweDJlLCAweDk0LCAweDAwLCAweDUwfSB9LAoteyAweDAyYjAsCTE2LAl7MHgwYywgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHgyMCwgMHhlMSwgMHgwMywgMHgwMiwgMHgwMSwgMHhlNywgMHg4MCwgMHhmNCwgMHg5MCwgMHg3ZiwgMHhiNH0gfSwKLXsgMHgwMmMwLAkxNiwJezB4ZTAsIDB4MjAsIDB4ZTIsIDB4MDMsIDB4MDIsIDB4MDEsIDB4ZTcsIDB4ODAsIDB4ZjQsIDB4OTAsIDB4N2YsIDB4ZTgsIDB4ZTAsIDB4NjQsIDB4NDAsIDB4NjB9IH0sCi17IDB4MDJkMCwJMTYsCXsweDAzLCAweDAyLCAweDAzLCAweDc4LCAweGU1LCAweDJiLCAweDQ1LCAweDJhLCAweDcwLCAweDAzLCAweDAyLCAweDAzLCAweDc4LCAweGU0LCAweDkwLCAweDdmfSB9LAoteyAweDAyZTAsCTE2LAl7MHhjNSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5MiwgMHhlMCwgMHhmZiwgMHhjNCwgMHg1NCwgMHgwZiwgMHg3NSwgMHgyZSwgMHgwMCwgMHhmNSwgMHgyZiwgMHhkM30gfSwKLXsgMHgwMmYwLAkxNiwJezB4OTQsIDB4MDAsIDB4ZTUsIDB4MmUsIDB4OTQsIDB4MDAsIDB4NTAsIDB4MDksIDB4OTAsIDB4N2YsIDB4YzQsIDB4ZTAsIDB4MzAsIDB4ZTEsIDB4MDksIDB4ODB9IH0sCi17IDB4MDMwMCwJMTYsCXsweGY3LCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDIwLCAweGUzLCAweGY5LCAweDkwLCAweDdmLCAweGM1LCAweGUwLCAweDc1LCAweDJjLCAweDAwLCAweGY1fSB9LAoteyAweDAzMTAsCTE2LAl7MHgyZCwgMHg5MCwgMHg3ZiwgMHhlOSwgMHhlMCwgMHg2NCwgMHhhMywgMHg3MCwgMHgzNCwgMHhmNSwgMHgzMCwgMHhmNSwgMHgzMSwgMHhjMywgMHhlNSwgMHgzMX0gfSwKLXsgMHgwMzIwLAkxNiwJezB4OTUsIDB4MmQsIDB4ZTUsIDB4MzAsIDB4OTUsIDB4MmMsIDB4NTAsIDB4MzQsIDB4NzQsIDB4YzAsIDB4MjUsIDB4MzEsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzR9IH0sCi17IDB4MDMzMCwJMSwJezB4N2V9IH0sCi17IDB4MDMzMSwJMTYsCXsweGY1LCAweDgzLCAweGUwLCAweGZmLCAweGU1LCAweDI5LCAweDI1LCAweDMxLCAweGY1LCAweDgyLCAweGU1LCAweDMwLCAweDM1LCAweDI4LCAweGY1LCAweDgzfSB9LAoteyAweDAzNDEsCTE2LAl7MHhlZiwgMHhmMCwgMHgwNSwgMHgzMSwgMHhlNSwgMHgzMSwgMHg3MCwgMHgwMiwgMHgwNSwgMHgzMCwgMHg4MCwgMHhkMCwgMHhhZiwgMHgyOSwgMHhhZSwgMHgyOH0gfSwKLXsgMHgwMzUxLAkxNiwJezB4YWQsIDB4MmQsIDB4N2EsIDB4N2UsIDB4NzksIDB4YzAsIDB4N2IsIDB4YzAsIDB4MTIsIDB4MGMsIDB4M2YsIDB4ZTUsIDB4MmQsIDB4MjUsIDB4MjksIDB4ZjV9IH0sCi17IDB4MDM2MSwJMTYsCXsweDI5LCAweGU1LCAweDJjLCAweDM1LCAweDI4LCAweGY1LCAweDI4LCAweGMzLCAweGU1LCAweDJiLCAweDk1LCAweDJkLCAweGY1LCAweDJiLCAweGU1LCAweDJhfSB9LAoteyAweDAzNzEsCTksCXsweDk1LCAweDJjLCAweGY1LCAweDJhLCAweDAyLCAweDAyLCAweGQ0LCAweGMzLCAweDIyfSB9LAoteyAweDAzN2EsCTE2LAl7MHg5MCwgMHg3ZiwgMHhlOSwgMHhlMCwgMHg3MCwgMHgwMywgMHgwMiwgMHgwNCwgMHg1MiwgMHgxNCwgMHg3MCwgMHgwMywgMHgwMiwgMHgwNCwgMHhjZSwgMHgyNH0gfSwKLXsgMHgwMzhhLAkxNiwJezB4ZmUsIDB4NzAsIDB4MDMsIDB4MDIsIDB4MDUsIDB4NDIsIDB4MjQsIDB4ZmIsIDB4NzAsIDB4MDMsIDB4MDIsIDB4MDQsIDB4NGMsIDB4MTQsIDB4NzAsIDB4MDN9IH0sCi17IDB4MDM5YSwJMTYsCXsweDAyLCAweDA0LCAweDQ2LCAweDE0LCAweDcwLCAweDAzLCAweDAyLCAweDA0LCAweDNhLCAweDE0LCAweDcwLCAweDAzLCAweDAyLCAweDA0LCAweDQwLCAweDI0fSB9LAoteyAweDAzYWEsCTE2LAl7MHgwNSwgMHg2MCwgMHgwMywgMHgwMiwgMHgwNSwgMHg5NiwgMHgxMiwgMHgwZSwgMHg0NCwgMHg0MCwgMHgwMywgMHgwMiwgMHgwNSwgMHhhMiwgMHg5MCwgMHg3Zn0gfSwKLXsgMHgwM2JhLAkxNiwJezB4ZWIsIDB4ZTAsIDB4MjQsIDB4ZmUsIDB4NjAsIDB4MTYsIDB4MTQsIDB4NjAsIDB4NDAsIDB4MjQsIDB4MDIsIDB4NzAsIDB4NjksIDB4NzQsIDB4MTEsIDB4OTB9IH0sCi17IDB4MDNjYSwJMTYsCXsweDdmLCAweGQ0LCAweGYwLCAweDc0LCAweDAwLCAweDkwLCAweDdmLCAweGQ1LCAweGYwLCAweDAyLCAweDA1LCAweGEyLCAweDkwLCAweDdmLCAweGVhLCAweGUwfSB9LAoteyAweDAzZGEsCTE2LAl7MHhmZiwgMHgxMiwgMHgwYiwgMHg1OCwgMHg4YiwgMHgyNSwgMHg4YSwgMHgyNiwgMHg4OSwgMHgyNywgMHhlYSwgMHg0OSwgMHg2MCwgMHgxMSwgMHhhZSwgMHgwMn0gfSwKLXsgMHgwM2VhLAkxNiwJezB4ZWUsIDB4OTAsIDB4N2YsIDB4ZDQsIDB4ZjAsIDB4YWYsIDB4MDEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4ZDUsIDB4ZjAsIDB4MDIsIDB4MDUsIDB4YTIsIDB4OTB9IH0sCi17IDB4MDNmYSwJMTYsCXsweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDAyLCAweDA1LCAweGEyLCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweGZmLCAweDEyLCAweDA4fSB9LAoteyAweDA0MGEsCTE2LAl7MHhiYSwgMHg4YiwgMHgyNSwgMHg4YSwgMHgyNiwgMHg4OSwgMHgyNywgMHhlYSwgMHg0OSwgMHg2MCwgMHgxMSwgMHhhZSwgMHgwMiwgMHhlZSwgMHg5MCwgMHg3Zn0gfSwKLXsgMHgwNDFhLAkxNiwJezB4ZDQsIDB4ZjAsIDB4YWYsIDB4MDEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4ZDUsIDB4ZjAsIDB4MDIsIDB4MDUsIDB4YTIsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTB9IH0sCi17IDB4MDQyYSwJMTYsCXsweDQ0LCAweDAxLCAweGYwLCAweDAyLCAweDA1LCAweGEyLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDAyLCAweDA1LCAweGEyfSB9LAoteyAweDA0M2EsCTE2LAl7MHgxMiwgMHgwZSwgMHgxZiwgMHgwMiwgMHgwNSwgMHhhMiwgMHgxMiwgMHgwZSwgMHgyZCwgMHgwMiwgMHgwNSwgMHhhMiwgMHgxMiwgMHgwYSwgMHhmNywgMHgwMn0gfSwKLXsgMHgwNDRhLAkxNiwJezB4MDUsIDB4YTIsIDB4MTIsIDB4MGUsIDB4MTEsIDB4MDIsIDB4MDUsIDB4YTIsIDB4MTIsIDB4MGUsIDB4NDYsIDB4NDAsIDB4MDMsIDB4MDIsIDB4MDUsIDB4YTJ9IH0sCi17IDB4MDQ1YSwJMTYsCXsweDkwLCAweDdmLCAweGU4LCAweGUwLCAweDI0LCAweDdmLCAweDYwLCAweDI0LCAweDE0LCAweDYwLCAweDMxLCAweDI0LCAweDAyLCAweDcwLCAweDViLCAweGEyfSB9LAoteyAweDA0NmEsCTE2LAl7MHgwMCwgMHhlNCwgMHgzMywgMHhmZiwgMHgyNSwgMHhlMCwgMHhmZiwgMHhhMiwgMHgwMiwgMHhlNCwgMHgzMywgMHg0ZiwgMHg5MCwgMHg3ZiwgMHgwMCwgMHhmMH0gfSwKLXsgMHgwNDdhLAkxNiwJezB4ZTQsIDB4YTMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4MDIsIDB4MDUsIDB4YTIsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4MDB9IH0sCi17IDB4MDQ4YSwJMTYsCXsweGYwLCAweGEzLCAweGYwLCAweDkwLCAweDdmLCAweGI1LCAweDc0LCAweDAyLCAweGYwLCAweDAyLCAweDA1LCAweGEyLCAweDkwLCAweDdmLCAweGVjLCAweGUwfSB9LAoteyAweDA0OWEsCTE2LAl7MHhmNCwgMHg1NCwgMHg4MCwgMHhmZiwgMHhjNCwgMHg1NCwgMHgwZiwgMHhmZiwgMHhlMCwgMHg1NCwgMHgwNywgMHgyZiwgMHgyNSwgMHhlMCwgMHgyNCwgMHhiNH0gfSwKLXsgMHgwNGFhLAkxNiwJezB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2YsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4ZmQsIDB4OTAsIDB4N2YsIDB4MDAsIDB4ZjAsIDB4ZTQsIDB4YTN9IH0sCi17IDB4MDRiYSwJMTYsCXsweGYwLCAweDkwLCAweDdmLCAweGI1LCAweDc0LCAweDAyLCAweGYwLCAweDAyLCAweDA1LCAweGEyLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxfSB9LAoteyAweDA0Y2EsCTE2LAl7MHhmMCwgMHgwMiwgMHgwNSwgMHhhMiwgMHgxMiwgMHgwZSwgMHg0OCwgMHg0MCwgMHgwMywgMHgwMiwgMHgwNSwgMHhhMiwgMHg5MCwgMHg3ZiwgMHhlOCwgMHhlMH0gfSwKLXsgMHgwNGRhLAkxNiwJezB4MjQsIDB4ZmUsIDB4NjAsIDB4MWQsIDB4MjQsIDB4MDIsIDB4NjAsIDB4MDMsIDB4MDIsIDB4MDUsIDB4YTIsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4YjR9IH0sCi17IDB4MDRlYSwJMTYsCXsweDAxLCAweDA1LCAweGMyLCAweDAwLCAweDAyLCAweDA1LCAweGEyLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDAyLCAweDA1fSB9LAoteyAweDA0ZmEsCTE2LAl7MHhhMiwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHg3MCwgMHgzOCwgMHg5MCwgMHg3ZiwgMHhlYywgMHhlMCwgMHhmNCwgMHg1NCwgMHg4MCwgMHhmZiwgMHhjNH0gfSwKLXsgMHgwNTBhLAkxNiwJezB4NTQsIDB4MGYsIDB4ZmYsIDB4ZTAsIDB4NTQsIDB4MDcsIDB4MmYsIDB4MjUsIDB4ZTAsIDB4MjQsIDB4YjQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2Z9IH0sCi17IDB4MDUxYSwJMTYsCXsweGY1LCAweDgzLCAweGU0LCAweGYwLCAweDkwLCAweDdmLCAweGVjLCAweGUwLCAweDU0LCAweDgwLCAweGZmLCAweDEzLCAweDEzLCAweDEzLCAweDU0LCAweDFmfSB9LAoteyAweDA1MmEsCTE2LAl7MHhmZiwgMHhlMCwgMHg1NCwgMHgwNywgMHgyZiwgMHg5MCwgMHg3ZiwgMHhkNywgMHhmMCwgMHhlMCwgMHg0NCwgMHgyMCwgMHhmMCwgMHg4MCwgMHg2OSwgMHg5MH0gfSwKLXsgMHgwNTNhLAkxNiwJezB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4ODAsIDB4NjAsIDB4MTIsIDB4MGUsIDB4NGEsIDB4NTAsIDB4NWIsIDB4OTAsIDB4N2YsIDB4ZTh9IH0sCi17IDB4MDU0YSwJMTYsCXsweGUwLCAweDI0LCAweGZlLCAweDYwLCAweDE4LCAweDI0LCAweDAyLCAweDcwLCAweDRmLCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweGI0LCAweDAxLCAweDA0fSB9LAoteyAweDA1NWEsCTE2LAl7MHhkMiwgMHgwMCwgMHg4MCwgMHg0NCwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg4MCwgMHgzYiwgMHg5MCwgMHg3ZiwgMHhlYX0gfSwKLXsgMHgwNTZhLAkxNiwJezB4ZTAsIDB4NzAsIDB4MjAsIDB4OTAsIDB4N2YsIDB4ZWMsIDB4ZTAsIDB4ZjQsIDB4NTQsIDB4ODAsIDB4ZmYsIDB4YzQsIDB4NTQsIDB4MGYsIDB4ZmYsIDB4ZTB9IH0sCi17IDB4MDU3YSwJMTYsCXsweDU0LCAweDA3LCAweDJmLCAweDI1LCAweGUwLCAweDI0LCAweGI0LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdmLCAweGY1LCAweDgzLCAweDc0LCAweDAxfSB9LAoteyAweDA1OGEsCTE2LAl7MHhmMCwgMHg4MCwgMHgxNSwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg4MCwgMHgwYywgMHgxMiwgMHgwMSwgMHgwMCwgMHg1MH0gfSwKLXsgMHgwNTlhLAkxNiwJezB4MDcsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4MjJ9IH0sCi17IDB4MDVhYSwJMTYsCXsweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGMwLCAweDg1LCAweGMwLCAweDg0LCAweGMwLCAweDg2LCAweDc1LCAweDg2LCAweDAwLCAweGMwfSB9LAoteyAweDA1YmEsCTE2LAl7MHhkMCwgMHhjMCwgMHgwMCwgMHhjMCwgMHgwMSwgMHhjMCwgMHgwMiwgMHhjMCwgMHgwMywgMHhjMCwgMHgwNiwgMHhjMCwgMHgwNywgMHg5MCwgMHg3ZiwgMHhhNX0gfSwKLXsgMHgwNWNhLAkxNiwJezB4ZTAsIDB4MzAsIDB4ZTIsIDB4MDYsIDB4NzUsIDB4MGQsIDB4MDYsIDB4MDIsIDB4MDYsIDB4NzYsIDB4OTAsIDB4N2YsIDB4YTUsIDB4ZTAsIDB4MjAsIDB4ZTF9IH0sCi17IDB4MDVkYSwJMTYsCXsweDBjLCAweGU1LCAweDBkLCAweDY0LCAweDAyLCAweDYwLCAweDA2LCAweDc1LCAweDBkLCAweDA3LCAweDAyLCAweDA2LCAweDc2LCAweGFmLCAweDBkLCAweGVmfSB9LAoteyAweDA1ZWEsCTE2LAl7MHgyNCwgMHhmZSwgMHg2MCwgMHg0OCwgMHgxNCwgMHg2MCwgMHgyYywgMHgyNCwgMHhmZSwgMHg2MCwgMHg3NywgMHgyNCwgMHgwNCwgMHg2MCwgMHgwMywgMHgwMn0gfSwKLXsgMHgwNWZhLAkxNiwJezB4MDYsIDB4NzYsIDB4YWIsIDB4MDksIDB4YWEsIDB4MGEsIDB4YTksIDB4MGIsIDB4YWYsIDB4MGMsIDB4MDUsIDB4MGMsIDB4OGYsIDB4ODIsIDB4NzUsIDB4ODN9IH0sCi17IDB4MDYwYSwJMTYsCXsweDAwLCAweDEyLCAweDA4LCAweDIyLCAweDkwLCAweDdmLCAweGE2LCAweGYwLCAweGU1LCAweDBjLCAweDY1LCAweDA4LCAweDcwLCAweDVlLCAweDc1LCAweDBkfSB9LAoteyAweDA2MWEsCTE2LAl7MHgwNSwgMHg4MCwgMHg1OSwgMHg5MCwgMHg3ZiwgMHhhNiwgMHhlMCwgMHhhYiwgMHgwOSwgMHhhYSwgMHgwYSwgMHhhOSwgMHgwYiwgMHhhZSwgMHgwYywgMHg4ZX0gfSwKLXsgMHgwNjJhLAkxNiwJezB4ODIsIDB4NzUsIDB4ODMsIDB4MDAsIDB4MTIsIDB4MDgsIDB4NGYsIDB4NzUsIDB4MGQsIDB4MDIsIDB4ODAsIDB4NDAsIDB4ZTUsIDB4MDgsIDB4MjQsIDB4ZmV9IH0sCi17IDB4MDYzYSwJMTYsCXsweGI1LCAweDBjLCAweDA3LCAweDkwLCAweDdmLCAweGE1LCAweGUwLCAweDQ0LCAweDIwLCAweGYwLCAweGU1LCAweDA4LCAweDE0LCAweGI1LCAweDBjLCAweDBhfSB9LAoteyAweDA2NGEsCTE2LAl7MHg5MCwgMHg3ZiwgMHhhNSwgMHhlMCwgMHg0NCwgMHg0MCwgMHhmMCwgMHhlNCwgMHhmNSwgMHgwZCwgMHg5MCwgMHg3ZiwgMHhhNiwgMHhlMCwgMHhhYiwgMHgwOX0gfSwKLXsgMHgwNjVhLAkxNiwJezB4YWEsIDB4MGEsIDB4YTksIDB4MGIsIDB4YWUsIDB4MGMsIDB4OGUsIDB4ODIsIDB4NzUsIDB4ODMsIDB4MDAsIDB4MTIsIDB4MDgsIDB4NGYsIDB4MDUsIDB4MGN9IH0sCi17IDB4MDY2YSwJMTYsCXsweDgwLCAweDBhLCAweDkwLCAweDdmLCAweGE1LCAweGUwLCAweDQ0LCAweDQwLCAweGYwLCAweGU0LCAweGY1LCAweDBkLCAweDUzLCAweDkxLCAweGRmLCAweGQwfSB9LAoteyAweDA2N2EsCTE2LAl7MHgwNywgMHhkMCwgMHgwNiwgMHhkMCwgMHgwMywgMHhkMCwgMHgwMiwgMHhkMCwgMHgwMSwgMHhkMCwgMHgwMCwgMHhkMCwgMHhkMCwgMHhkMCwgMHg4NiwgMHhkMH0gfSwKLXsgMHgwNjhhLAkxMCwJezB4ODQsIDB4ZDAsIDB4ODUsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzJ9IH0sCi17IDB4MDY5NCwJMTYsCXsweDhjLCAweDMzLCAweDhkLCAweDM0LCAweDkwLCAweDdmLCAweDk1LCAweGUwLCAweDQ0LCAweGMwLCAweGYwLCAweGU0LCAweGY1LCAweDM1LCAweGY1LCAweDM2fSB9LAoteyAweDA2YTQsCTE2LAl7MHhjMywgMHhlNSwgMHgzNiwgMHg5NSwgMHgzNCwgMHhlNSwgMHgzNSwgMHg5NSwgMHgzMywgMHg1MCwgMHg2OSwgMHhlZiwgMHgyNSwgMHgzNiwgMHhmNSwgMHg4Mn0gfSwKLXsgMHgwNmI0LAkxNiwJezB4ZTUsIDB4MzUsIDB4M2UsIDB4ZjUsIDB4ODMsIDB4NzQsIDB4ZmYsIDB4ZjAsIDB4ZjQsIDB4NjAsIDB4MDIsIDB4YzMsIDB4MjIsIDB4ZWYsIDB4MjUsIDB4MzZ9IH0sCi17IDB4MDZjNCwJMTYsCXsweGY1LCAweDgyLCAweGU1LCAweDM1LCAweDNlLCAweGY1LCAweDgzLCAweGU0LCAweGYwLCAweDYwLCAweDAyLCAweGMzLCAweDIyLCAweGVmLCAweDI1LCAweDM2fSB9LAoteyAweDA2ZDQsCTE2LAl7MHhmNSwgMHg4MiwgMHhlNSwgMHgzNSwgMHgzZSwgMHhmNSwgMHg4MywgMHg3NCwgMHhhYSwgMHhmMCwgMHg2NCwgMHhhYSwgMHg2MCwgMHgwMiwgMHhjMywgMHgyMn0gfSwKLXsgMHgwNmU0LAkxNiwJezB4ZWYsIDB4MjUsIDB4MzYsIDB4ZjUsIDB4ODIsIDB4ZTUsIDB4MzUsIDB4M2UsIDB4ZjUsIDB4ODMsIDB4NzQsIDB4NTUsIDB4ZjAsIDB4NjQsIDB4NTUsIDB4NjB9IH0sCi17IDB4MDZmNCwJMTYsCXsweDAyLCAweGMzLCAweDIyLCAweGFkLCAweDM2LCAweGU1LCAweDM2LCAweDJmLCAweGY1LCAweDgyLCAweGU1LCAweDM1LCAweDNlLCAweGY1LCAweDgzLCAweGVkfSB9LAoteyAweDA3MDQsCTE2LAl7MHhmMCwgMHhmYywgMHhhYywgMHgwNSwgMHhlZCwgMHg2YywgMHg2MCwgMHgwMiwgMHhjMywgMHgyMiwgMHgwNSwgMHgzNiwgMHhlNSwgMHgzNiwgMHg3MCwgMHgwMn0gfSwKLXsgMHgwNzE0LAkxNiwJezB4MDUsIDB4MzUsIDB4ODAsIDB4OGMsIDB4ZTQsIDB4ZjUsIDB4MzUsIDB4ZjUsIDB4MzYsIDB4YzMsIDB4ZTUsIDB4MzYsIDB4OTUsIDB4MzQsIDB4ZTUsIDB4MzV9IH0sCi17IDB4MDcyNCwJMTYsCXsweDk1LCAweDMzLCAweDUwLCAweDI3LCAweGVmLCAweDI1LCAweDM2LCAweGY1LCAweDgyLCAweGU1LCAweDM1LCAweDNlLCAweGY1LCAweDgzLCAweGUwLCAweDY1fSB9LAoteyAweDA3MzQsCTE2LAl7MHgzNiwgMHg2MCwgMHgwMiwgMHhjMywgMHgyMiwgMHhlZiwgMHgyNSwgMHgzNiwgMHhmNSwgMHg4MiwgMHhlNSwgMHgzNSwgMHgzZSwgMHhmNSwgMHg4MywgMHhlNH0gfSwKLXsgMHgwNzQ0LAkxMywJezB4ZjAsIDB4MDUsIDB4MzYsIDB4ZTUsIDB4MzYsIDB4NzAsIDB4MDIsIDB4MDUsIDB4MzUsIDB4ODAsIDB4Y2UsIDB4ZDMsIDB4MjJ9IH0sCi17IDB4MDc1MSwJMTYsCXsweGMyLCAweDA0LCAweGQyLCAweDA1LCAweGMyLCAweDAzLCAweGMyLCAweDAwLCAweGMyLCAweDAyLCAweGMyLCAweDAxLCAweDEyLCAweDBlLCAweDNkLCAweGQyfSB9LAoteyAweDA3NjEsCTE2LAl7MHhlOCwgMHg0MywgMHhkOCwgMHgyMCwgMHg5MCwgMHg3ZiwgMHhhYiwgMHg3NCwgMHhmZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhOSwgMHhmMCwgMHg5MCwgMHg3Zn0gfSwKLXsgMHgwNzcxLAkxNiwJezB4YWEsIDB4ZjAsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4OTUsIDB4ZTAsIDB4NDQsIDB4YzAsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTMsIDB4NzR9IH0sCi17IDB4MDc4MSwJMTYsCXsweDMwLCAweGYwLCAweDEyLCAweDBhLCAweDE5LCAweDkwLCAweDdmLCAweGFmLCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGFlLCAweGUwfSB9LAoteyAweDA3OTEsCTE2LAl7MHg0NCwgMHgwZCwgMHhmMCwgMHhkMiwgMHhhZiwgMHgxMiwgMHgwZSwgMHgzNSwgMHgyMCwgMHgwMSwgMHg0MiwgMHg3NSwgMHgyNCwgMHgwMCwgMHg3NSwgMHgyM30gfSwKLXsgMHgwN2ExLAkxNiwJezB4MDAsIDB4NzUsIDB4MjIsIDB4MDAsIDB4NzUsIDB4MjEsIDB4MDAsIDB4N2YsIDB4NDgsIDB4N2UsIDB4OTIsIDB4N2QsIDB4MDAsIDB4N2MsIDB4MDAsIDB4YWJ9IH0sCi17IDB4MDdiMSwJMTYsCXsweDI0LCAweGFhLCAweDIzLCAweGE5LCAweDIyLCAweGE4LCAweDIxLCAweGMzLCAweDEyLCAweDA4LCAweGE5LCAweDUwLCAweGRiLCAweDIwLCAweDAxLCAweGQ4fSB9LAoteyAweDA3YzEsCTE2LAl7MHg3YSwgMHgwMCwgMHg3OSwgMHgwMCwgMHg3OCwgMHgwMCwgMHhlNSwgMHgyNCwgMHgyNCwgMHgwMSwgMHhmNSwgMHgyNCwgMHhlYSwgMHgzNSwgMHgyMywgMHhmNX0gfSwKLXsgMHgwN2QxLAkxNiwJezB4MjMsIDB4ZTksIDB4MzUsIDB4MjIsIDB4ZjUsIDB4MjIsIDB4ZTgsIDB4MzUsIDB4MjEsIDB4ZjUsIDB4MjEsIDB4ODAsIDB4Y2EsIDB4MzAsIDB4MDEsIDB4MDV9IH0sCi17IDB4MDdlMSwJMTYsCXsweDEyLCAweDAzLCAweDdhLCAweGMyLCAweDAxLCAweDMwLCAweDA0LCAweDFhLCAweDEyLCAweDBlLCAweDQwLCAweDUwLCAweDEzLCAweDEyLCAweDA5LCAweDAwfSB9LAoteyAweDA3ZjEsCTE2LAl7MHgzMCwgMHgwMCwgMHgwNywgMHg5MCwgMHg3ZiwgMHhkNiwgMHhlMCwgMHgzMCwgMHhlNywgMHhmMywgMHgxMiwgMHgwZCwgMHg0YSwgMHgxMiwgMHgwZSwgMHg0Mn0gfSwKLXsgMHgwODAxLAk4LAl7MHhjMiwgMHgwMywgMHgxMiwgMHgwOCwgMHhmZiwgMHg4MCwgMHhkNiwgMHgyMn0gfSwKLXsgMHgwODA5LAkxNiwJezB4YmIsIDB4MDEsIDB4MDYsIDB4ODksIDB4ODIsIDB4OGEsIDB4ODMsIDB4ZTAsIDB4MjIsIDB4NTAsIDB4MDIsIDB4ZTcsIDB4MjIsIDB4YmIsIDB4ZmUsIDB4MDJ9IH0sCi17IDB4MDgxOSwJOSwJezB4ZTMsIDB4MjIsIDB4ODksIDB4ODIsIDB4OGEsIDB4ODMsIDB4ZTQsIDB4OTMsIDB4MjJ9IH0sCi17IDB4MDgyMiwJMTYsCXsweGJiLCAweDAxLCAweDBjLCAweGU1LCAweDgyLCAweDI5LCAweGY1LCAweDgyLCAweGU1LCAweDgzLCAweDNhLCAweGY1LCAweDgzLCAweGUwLCAweDIyLCAweDUwfSB9LAoteyAweDA4MzIsCTE2LAl7MHgwNiwgMHhlOSwgMHgyNSwgMHg4MiwgMHhmOCwgMHhlNiwgMHgyMiwgMHhiYiwgMHhmZSwgMHgwNiwgMHhlOSwgMHgyNSwgMHg4MiwgMHhmOCwgMHhlMiwgMHgyMn0gfSwKLXsgMHgwODQyLAkxMywJezB4ZTUsIDB4ODIsIDB4MjksIDB4ZjUsIDB4ODIsIDB4ZTUsIDB4ODMsIDB4M2EsIDB4ZjUsIDB4ODMsIDB4ZTQsIDB4OTMsIDB4MjJ9IH0sCi17IDB4MDg0ZiwJMTYsCXsweGY4LCAweGJiLCAweDAxLCAweDBkLCAweGU1LCAweDgyLCAweDI5LCAweGY1LCAweDgyLCAweGU1LCAweDgzLCAweDNhLCAweGY1LCAweDgzLCAweGU4LCAweGYwfSB9LAoteyAweDA4NWYsCTE2LAl7MHgyMiwgMHg1MCwgMHgwNiwgMHhlOSwgMHgyNSwgMHg4MiwgMHhjOCwgMHhmNiwgMHgyMiwgMHhiYiwgMHhmZSwgMHgwNSwgMHhlOSwgMHgyNSwgMHg4MiwgMHhjOH0gfSwKLXsgMHgwODZmLAkyLAl7MHhmMiwgMHgyMn0gfSwKLXsgMHgwODcxLAkxNiwJezB4YmIsIDB4MDEsIDB4MTAsIDB4ZTUsIDB4ODIsIDB4MjksIDB4ZjUsIDB4ODIsIDB4ZTUsIDB4ODMsIDB4M2EsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZjUsIDB4ZjB9IH0sCi17IDB4MDg4MSwJMTYsCXsweGEzLCAweGUwLCAweDIyLCAweDUwLCAweDA5LCAweGU5LCAweDI1LCAweDgyLCAweGY4LCAweDg2LCAweGYwLCAweDA4LCAweGU2LCAweDIyLCAweGJiLCAweGZlfSB9LAoteyAweDA4OTEsCTE2LAl7MHgwYSwgMHhlOSwgMHgyNSwgMHg4MiwgMHhmOCwgMHhlMiwgMHhmNSwgMHhmMCwgMHgwOCwgMHhlMiwgMHgyMiwgMHhlNSwgMHg4MywgMHgyYSwgMHhmNSwgMHg4M30gfSwKLXsgMHgwOGExLAk4LAl7MHhlOSwgMHg5MywgMHhmNSwgMHhmMCwgMHhhMywgMHhlOSwgMHg5MywgMHgyMn0gfSwKLXsgMHgwOGE5LAkxNiwJezB4ZWIsIDB4OWYsIDB4ZjUsIDB4ZjAsIDB4ZWEsIDB4OWUsIDB4NDIsIDB4ZjAsIDB4ZTksIDB4OWQsIDB4NDIsIDB4ZjAsIDB4ZTgsIDB4OWMsIDB4NDUsIDB4ZjB9IH0sCi17IDB4MDhiOSwJMSwJezB4MjJ9IH0sCi17IDB4MDhiYSwJMiwJezB4OGYsIDB4Mjh9IH0sCi17IDB4MDhiYywJMTYsCXsweGU0LCAweGY1LCAweDI5LCAweDc1LCAweDJhLCAweGZmLCAweDc1LCAweDJiLCAweDExLCAweDc1LCAweDJjLCAweDMyLCAweGFiLCAweDJhLCAweGFhLCAweDJifSB9LAoteyAweDA4Y2MsCTE2LAl7MHhhOSwgMHgyYywgMHg5MCwgMHgwMCwgMHgwMSwgMHgxMiwgMHgwOCwgMHgyMiwgMHhiNCwgMHgwMywgMHgxZCwgMHhhZiwgMHgyOSwgMHgwNSwgMHgyOSwgMHhlZn0gfSwKLXsgMHgwOGRjLAkxNiwJezB4YjUsIDB4MjgsIDB4MDEsIDB4MjIsIDB4MTIsIDB4MDgsIDB4MDksIDB4N2UsIDB4MDAsIDB4MjksIDB4ZmYsIDB4ZWUsIDB4M2EsIDB4YTksIDB4MDcsIDB4NzV9IH0sCi17IDB4MDhlYywJMTQsCXsweDJhLCAweGZmLCAweGY1LCAweDJiLCAweDg5LCAweDJjLCAweDgwLCAweGQ0LCAweDdiLCAweDAwLCAweDdhLCAweDAwLCAweDc5LCAweDAwfSB9LAoteyAweDA4ZmEsCTEsCXsweDIyfSB9LAoteyAweDA4ZmIsCTQsCXsweDUzLCAweGQ4LCAweGVmLCAweDMyfSB9LAoteyAweDA4ZmYsCTEsCXsweDIyfSB9LAoteyAweDA5MDAsCTksCXsweDkwLCAweDdmLCAweGQ2LCAweGUwLCAweDQ0LCAweDgwLCAweGYwLCAweDgwLCAweDc0fSB9LAoteyAweDA5N2QsCTE2LAl7MHg0MywgMHg4NywgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgyMn0gfSwKLXsgMHgwOThkLAkxMiwJezB4NzgsIDB4N2YsIDB4ZTQsIDB4ZjYsIDB4ZDgsIDB4ZmQsIDB4NzUsIDB4ODEsIDB4MzksIDB4MDIsIDB4MDksIDB4ZDR9IH0sCi17IDB4MDk5OSwJMTYsCXsweDAyLCAweDA3LCAweDUxLCAweGU0LCAweDkzLCAweGEzLCAweGY4LCAweGU0LCAweDkzLCAweGEzLCAweDQwLCAweDAzLCAweGY2LCAweDgwLCAweDAxLCAweGYyfSB9LAoteyAweDA5YTksCTE2LAl7MHgwOCwgMHhkZiwgMHhmNCwgMHg4MCwgMHgyOSwgMHhlNCwgMHg5MywgMHhhMywgMHhmOCwgMHg1NCwgMHgwNywgMHgyNCwgMHgwYywgMHhjOCwgMHhjMywgMHgzM30gfSwKLXsgMHgwOWI5LAkxNiwJezB4YzQsIDB4NTQsIDB4MGYsIDB4NDQsIDB4MjAsIDB4YzgsIDB4ODMsIDB4NDAsIDB4MDQsIDB4ZjQsIDB4NTYsIDB4ODAsIDB4MDEsIDB4NDYsIDB4ZjYsIDB4ZGZ9IH0sCi17IDB4MDljOSwJMTYsCXsweGU0LCAweDgwLCAweDBiLCAweDAxLCAweDAyLCAweDA0LCAweDA4LCAweDEwLCAweDIwLCAweDQwLCAweDgwLCAweDkwLCAweDBkLCAweGVjLCAweGU0LCAweDdlfSB9LAoteyAweDA5ZDksCTE2LAl7MHgwMSwgMHg5MywgMHg2MCwgMHhiYywgMHhhMywgMHhmZiwgMHg1NCwgMHgzZiwgMHgzMCwgMHhlNSwgMHgwOSwgMHg1NCwgMHgxZiwgMHhmZSwgMHhlNCwgMHg5M30gfSwKLXsgMHgwOWU5LAkxNiwJezB4YTMsIDB4NjAsIDB4MDEsIDB4MGUsIDB4Y2YsIDB4NTQsIDB4YzAsIDB4MjUsIDB4ZTAsIDB4NjAsIDB4YTgsIDB4NDAsIDB4YjgsIDB4ZTQsIDB4OTMsIDB4YTN9IH0sCi17IDB4MDlmOSwJMTYsCXsweGZhLCAweGU0LCAweDkzLCAweGEzLCAweGY4LCAweGU0LCAweDkzLCAweGEzLCAweGM4LCAweGM1LCAweDgyLCAweGM4LCAweGNhLCAweGM1LCAweDgzLCAweGNhfSB9LAoteyAweDBhMDksCTE2LAl7MHhmMCwgMHhhMywgMHhjOCwgMHhjNSwgMHg4MiwgMHhjOCwgMHhjYSwgMHhjNSwgMHg4MywgMHhjYSwgMHhkZiwgMHhlOSwgMHhkZSwgMHhlNywgMHg4MCwgMHhiZX0gfSwKLXsgMHgwYTE5LAkxNiwJezB4ZTQsIDB4OTAsIDB4N2YsIDB4OWMsIDB4ZjAsIDB4N2YsIDB4MGEsIDB4ZmUsIDB4MTIsIDB4MGQsIDB4OTQsIDB4OTAsIDB4N2YsIDB4OTYsIDB4NzQsIDB4ODl9IH0sCi17IDB4MGEyOSwJMTYsCXsweGYwLCAweDkwLCAweDdmLCAweDljLCAweDc0LCAweGNmLCAweGYwLCAweDdmLCAweGY0LCAweDdlLCAweDAxLCAweDEyLCAweDBkLCAweDk0LCAweDkwLCAweDdmfSB9LAoteyAweDBhMzksCTE2LAl7MHg5NiwgMHhlMCwgMHg1NCwgMHhmZSwgMHhmMCwgMHg3ZiwgMHgwYSwgMHg3ZSwgMHgwMCwgMHgxMiwgMHgwZCwgMHg5NCwgMHg3ZiwgMHgwNSwgMHg3ZSwgMHgwMH0gfSwKLXsgMHgwYTQ5LAkxNiwJezB4MTIsIDB4MGQsIDB4OTQsIDB4OTAsIDB4N2YsIDB4OTYsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4ZTAsIDB4NTQsIDB4N2YsIDB4ZjAsIDB4N2YsIDB4MDV9IH0sCi17IDB4MGE1OSwJMTYsCXsweDdlLCAweDAwLCAweDEyLCAweDBkLCAweDk0LCAweDkwLCAweDdmLCAweDk2LCAweGUwLCAweDQ0LCAweDQwLCAweGYwLCAweDdmLCAweDA1LCAweDdlLCAweDAwfSB9LAoteyAweDBhNjksCTE2LAl7MHgxMiwgMHgwZCwgMHg5NCwgMHg5MCwgMHg3ZiwgMHg5NiwgMHhlMCwgMHg1NCwgMHhiZiwgMHhmMCwgMHg3ZiwgMHgzMiwgMHg3ZSwgMHgwMCwgMHgxMiwgMHgwZH0gfSwKLXsgMHgwYTc5LAkxNiwJezB4OTQsIDB4OTAsIDB4N2YsIDB4OTYsIDB4ZTAsIDB4NDQsIDB4NDAsIDB4ZjAsIDB4N2YsIDB4MzIsIDB4N2UsIDB4MDAsIDB4MTIsIDB4MGQsIDB4OTQsIDB4MjJ9IH0sCi17IDB4MGE4OSwJMTYsCXsweDc1LCAweDMyLCAweDAxLCAweGU1LCAweDMyLCAweDYwLCAweDFiLCAweDdmLCAweDAxLCAweDEyLCAweDBkLCAweGQ3LCAweDdmLCAweDAwLCAweDdlLCAweDBlfSB9LAoteyAweDBhOTksCTE2LAl7MHg3ZCwgMHgwMCwgMHg3YywgMHgwMSwgMHgxMiwgMHgwNiwgMHg5NCwgMHhlNCwgMHgzMywgMHhmNSwgMHgzMiwgMHg3MCwgMHgwNSwgMHg3ZiwgMHgwZiwgMHgxMn0gfSwKLXsgMHgwYWE5LAkxNiwJezB4MGQsIDB4ZDcsIDB4ZTUsIDB4MzIsIDB4NjAsIDB4MWIsIDB4N2YsIDB4MDIsIDB4MTIsIDB4MGQsIDB4ZDcsIDB4N2YsIDB4MDAsIDB4N2UsIDB4ODAsIDB4N2R9IH0sCi17IDB4MGFiOSwJMTYsCXsweDAwLCAweDdjLCAweDgwLCAweDEyLCAweDA2LCAweDk0LCAweGU0LCAweDMzLCAweGY1LCAweDMyLCAweDcwLCAweDA1LCAweDdmLCAweDBmLCAweDEyLCAweDBkfSB9LAoteyAweDBhYzksCTE2LAl7MHhkNywgMHhlNSwgMHgzMiwgMHg2MCwgMHgxYiwgMHg3ZiwgMHgwMywgMHgxMiwgMHgwZCwgMHhkNywgMHg3ZiwgMHgwMCwgMHg3ZSwgMHgyMCwgMHg3ZCwgMHg0MH0gfSwKLXsgMHgwYWQ5LAkxNiwJezB4N2MsIDB4NWIsIDB4MTIsIDB4MDYsIDB4OTQsIDB4ZTQsIDB4MzMsIDB4ZjUsIDB4MzIsIDB4NzAsIDB4MDUsIDB4N2YsIDB4MGYsIDB4MTIsIDB4MGQsIDB4ZDd9IH0sCi17IDB4MGFlOSwJMTQsCXsweGU1LCAweDMyLCAweDYwLCAweDA1LCAweGU0LCAweGZmLCAweDEyLCAweDBkLCAweGQ3LCAweGU1LCAweDMyLCAweDI0LCAweGZmLCAweDIyfSB9LAoteyAweDBhZjcsCTgsCXsweDkwLCAweDdmLCAweGVhLCAweGUwLCAweGY1LCAweDEwLCAweGQzLCAweDIyfSB9LAoteyAweDBhZmYsCTEsCXsweDMyfSB9LAoteyAweDBiMDAsCTE2LAl7MHgwMiwgMHgwZCwgMHg2NCwgMHgwMCwgMHgwMiwgMHgwZCwgMHhhYiwgMHgwMCwgMHgwMiwgMHgwZCwgMHgyZiwgMHgwMCwgMHgwMiwgMHgwZCwgMHg3YywgMHgwMH0gfSwKLXsgMHgwYjEwLAkxNiwJezB4MDIsIDB4MGQsIDB4YzEsIDB4MDAsIDB4MDIsIDB4MGEsIDB4ZmYsIDB4MDAsIDB4MDIsIDB4MGUsIDB4NGMsIDB4MDAsIDB4MDIsIDB4MGUsIDB4NGQsIDB4MDB9IH0sCi17IDB4MGIyMCwJMTYsCXsweDAyLCAweDBlLCAweDRlLCAweDAwLCAweDAyLCAweDBlLCAweDRmLCAweDAwLCAweDAyLCAweDBlLCAweDUwLCAweDAwLCAweDAyLCAweDBlLCAweDUxLCAweDAwfSB9LAoteyAweDBiMzAsCTE2LAl7MHgwMiwgMHgwZSwgMHg1MiwgMHgwMCwgMHgwMiwgMHgwZSwgMHg1MywgMHgwMCwgMHgwMiwgMHgwZSwgMHg1NCwgMHgwMCwgMHgwMiwgMHgwZSwgMHg1NSwgMHgwMH0gfSwKLXsgMHgwYjQwLAkxNiwJezB4MDIsIDB4MGUsIDB4NTYsIDB4MDAsIDB4MDIsIDB4MGUsIDB4NTcsIDB4MDAsIDB4MDIsIDB4MGUsIDB4NTgsIDB4MDAsIDB4MDIsIDB4MGUsIDB4NTksIDB4MDB9IH0sCi17IDB4MGI1MCwJOCwJezB4MDIsIDB4MGUsIDB4NWEsIDB4MDAsIDB4MDIsIDB4MGUsIDB4NWIsIDB4MDB9IH0sCi17IDB4MGI1OCwJMTYsCXsweGU0LCAweGZlLCAweDc1LCAweDJhLCAweGZmLCAweDc1LCAweDJiLCAweDExLCAweDc1LCAweDJjLCAweDEyLCAweGFiLCAweDJhLCAweGFhLCAweDJiLCAweGE5fSB9LAoteyAweDBiNjgsCTE2LAl7MHgyYywgMHg5MCwgMHgwMCwgMHgwMSwgMHgxMiwgMHgwOCwgMHgyMiwgMHg2NCwgMHgwMiwgMHg3MCwgMHgyZCwgMHhhZCwgMHgwNiwgMHgwZSwgMHhlZCwgMHhiNX0gfSwKLXsgMHgwYjc4LAkxNiwJezB4MDcsIDB4MDEsIDB4MjIsIDB4OTAsIDB4MDAsIDB4MDIsIDB4MTIsIDB4MDgsIDB4NzEsIDB4ODUsIDB4ZjAsIDB4MjgsIDB4ZjUsIDB4MjksIDB4NjIsIDB4Mjh9IH0sCi17IDB4MGI4OCwJMTYsCXsweGU1LCAweDI4LCAweDYyLCAweDI5LCAweGU1LCAweDI5LCAweDYyLCAweDI4LCAweDI5LCAweGZkLCAweGU1LCAweDI4LCAweDNhLCAweGE5LCAweDA1LCAweDc1fSB9LAoteyAweDBiOTgsCTE0LAl7MHgyYSwgMHhmZiwgMHhmNSwgMHgyYiwgMHg4OSwgMHgyYywgMHg4MCwgMHhjMywgMHg3YiwgMHgwMCwgMHg3YSwgMHgwMCwgMHg3OSwgMHgwMH0gfSwKLXsgMHgwYmE2LAkxLAl7MHgyMn0gfSwKLXsgMHgwYmE3LAkxNiwJezB4YWIsIDB4MDcsIDB4YWEsIDB4MDYsIDB4YWMsIDB4MDUsIDB4ZTQsIDB4ZmQsIDB4ZTUsIDB4MTEsIDB4NjAsIDB4MTEsIDB4ZWEsIDB4ZmYsIDB4YWUsIDB4MDV9IH0sCi17IDB4MGJiNywJMTYsCXsweDBkLCAweGVlLCAweDI0LCAweDEwLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDBmLCAweGY1LCAweDgzLCAweGVmLCAweGYwLCAweGViLCAweGFlLCAweDA1fSB9LAoteyAweDBiYzcsCTE2LAl7MHgwZCwgMHg3NCwgMHgxMCwgMHgyZSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHgwZiwgMHhmNSwgMHg4MywgMHhlYiwgMHhmMCwgMHhhZiwgMHgwNSwgMHgwZH0gfSwKLXsgMHgwYmQ3LAkxNiwJezB4NzQsIDB4MTAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4MGYsIDB4ZjUsIDB4ODMsIDB4ZWMsIDB4ZjAsIDB4YWYsIDB4MGYsIDB4N2EsIDB4MGZ9IH0sCi17IDB4MGJlNywJMTMsCXsweDdiLCAweDEwLCAweDEyLCAweDBkLCAweDEwLCAweDdmLCAweDBhLCAweDdlLCAweDAwLCAweDEyLCAweDBkLCAweDk0LCAweDIyfSB9LAoteyAweDBiZjQsCTE2LAl7MHg4ZSwgMHgzMiwgMHg4ZiwgMHgzMywgMHg4ZCwgMHgzNCwgMHg4YSwgMHgzNSwgMHg4YiwgMHgzNiwgMHhlNCwgMHhmZCwgMHhmNSwgMHgzNywgMHhlNSwgMHgxMX0gfSwKLXsgMHgwYzA0LAkxNiwJezB4NjAsIDB4MTIsIDB4ZTUsIDB4MzIsIDB4ZmYsIDB4YWUsIDB4MDUsIDB4MGQsIDB4ZWUsIDB4MjQsIDB4MTMsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4MGZ9IH0sCi17IDB4MGMxNCwJMTYsCXsweGY1LCAweDgzLCAweGVmLCAweGYwLCAweGU1LCAweDMzLCAweGFlLCAweDA1LCAweDBkLCAweDc0LCAweDEzLCAweDJlLCAweGY1LCAweDgyLCAweGU0LCAweDM0fSB9LAoteyAweDBjMjQsCTE2LAl7MHgwZiwgMHhmNSwgMHg4MywgMHhlNSwgMHgzMywgMHhmMCwgMHhhZiwgMHgwZiwgMHg3YSwgMHgwZiwgMHg3YiwgMHgxMywgMHgxMiwgMHgwZCwgMHgxMCwgMHhhZn0gfSwKLXsgMHgwYzM0LAkxMSwJezB4MGYsIDB4YWQsIDB4MzQsIDB4YWIsIDB4MzYsIDB4YWEsIDB4MzUsIDB4MTIsIDB4MGMsIDB4ZjEsIDB4MjJ9IH0sCi17IDB4MGMzZiwJMTYsCXsweDhlLCAweDMyLCAweDhmLCAweDMzLCAweDhkLCAweDM0LCAweDhhLCAweDM1LCAweDhiLCAweDM2LCAweGU0LCAweGY1LCAweDM3LCAweGU1LCAweDM3LCAweGMzfSB9LAoteyAweDBjNGYsCTE2LAl7MHg5NSwgMHgzNCwgMHg1MCwgMHgyMCwgMHgwNSwgMHgzMywgMHhlNSwgMHgzMywgMHhhZSwgMHgzMiwgMHg3MCwgMHgwMiwgMHgwNSwgMHgzMiwgMHgxNCwgMHhmZn0gfSwKLXsgMHgwYzVmLAkxNiwJezB4ZTUsIDB4MzYsIDB4MjUsIDB4MzcsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MzUsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmQsIDB4MTIsIDB4MGIsIDB4YTd9IH0sCi17IDB4MGM2ZiwJNSwJezB4MDUsIDB4MzcsIDB4ODAsIDB4ZDksIDB4MjJ9IH0sCi17IDB4MGM3NCwJMTYsCXsweGE5LCAweDA3LCAweGU1LCAweDBkLCAweDcwLCAweDI1LCAweDkwLCAweDdmLCAweGE1LCAweGUwLCAweDQ0LCAweDgwLCAweGYwLCAweGU5LCAweDI1LCAweGUwfSB9LAoteyAweDBjODQsCTE2LAl7MHg0NCwgMHgwMSwgMHg5MCwgMHg3ZiwgMHhhNiwgMHhmMCwgMHg4ZCwgMHgwOCwgMHhhZiwgMHgwMywgMHhhOSwgMHgwNywgMHg3NSwgMHgwOSwgMHgwMSwgMHg4YX0gfSwKLXsgMHgwYzk0LAkxMywJezB4MGEsIDB4ODksIDB4MGIsIDB4ZTQsIDB4ZjUsIDB4MGMsIDB4NzUsIDB4MGQsIDB4MDMsIDB4ZDMsIDB4MjIsIDB4YzMsIDB4MjJ9IH0sCi17IDB4MGNhMSwJMTYsCXsweGE5LCAweDA3LCAweGU1LCAweDBkLCAweDcwLCAweDIzLCAweDkwLCAweDdmLCAweGE1LCAweGUwLCAweDQ0LCAweDgwLCAweGYwLCAweGU5LCAweDI1LCAweGUwfSB9LAoteyAweDBjYjEsCTE2LAl7MHg5MCwgMHg3ZiwgMHhhNiwgMHhmMCwgMHg4ZCwgMHgwOCwgMHhhZiwgMHgwMywgMHhhOSwgMHgwNywgMHg3NSwgMHgwOSwgMHgwMSwgMHg4YSwgMHgwYSwgMHg4OX0gfSwKLXsgMHgwY2MxLAkxMSwJezB4MGIsIDB4ZTQsIDB4ZjUsIDB4MGMsIDB4NzUsIDB4MGQsIDB4MDEsIDB4ZDMsIDB4MjIsIDB4YzMsIDB4MjJ9IH0sCi17IDB4MGNjYywJMTYsCXsweDkwLCAweDdmLCAweGQ2LCAweGUwLCAweDU0LCAweGZiLCAweGYwLCAweGUwLCAweDQ0LCAweDA4LCAweGYwLCAweDMwLCAweDA2LCAweDA0LCAweGUwLCAweDQ0fSB9LAoteyAweDBjZGMsCTE2LAl7MHgwMiwgMHhmMCwgMHg3ZiwgMHhkMCwgMHg3ZSwgMHgwNywgMHgxMiwgMHgwZCwgMHg5NCwgMHg5MCwgMHg3ZiwgMHhkNiwgMHhlMCwgMHg1NCwgMHhmNywgMHhmMH0gfSwKLXsgMHgwY2VjLAk1LAl7MHhlMCwgMHg0NCwgMHgwNCwgMHhmMCwgMHgyMn0gfSwKLXsgMHgwY2YxLAkxNiwJezB4MTIsIDB4MGMsIDB4NzQsIDB4ZTUsIDB4MGQsIDB4MjQsIDB4ZmEsIDB4NjAsIDB4MTAsIDB4MTQsIDB4NjAsIDB4MDcsIDB4MjQsIDB4MDcsIDB4NzAsIDB4ZjN9IH0sCi17IDB4MGQwMSwJMTUsCXsweDdmLCAweDA4LCAweDIyLCAweGU0LCAweGY1LCAweDBkLCAweDdmLCAweDA3LCAweDIyLCAweGU0LCAweGY1LCAweDBkLCAweDdmLCAweDA2LCAweDIyfSB9LAoteyAweDBkMTAsCTE2LAl7MHgxMiwgMHgwYywgMHhhMSwgMHhlNSwgMHgwZCwgMHgyNCwgMHhmYSwgMHg2MCwgMHgxMCwgMHgxNCwgMHg2MCwgMHgwNywgMHgyNCwgMHgwNywgMHg3MCwgMHhmM30gfSwKLXsgMHgwZDIwLAkxNSwJezB4N2YsIDB4MDgsIDB4MjIsIDB4ZTQsIDB4ZjUsIDB4MGQsIDB4N2YsIDB4MDcsIDB4MjIsIDB4ZTQsIDB4ZjUsIDB4MGQsIDB4N2YsIDB4MDYsIDB4MjJ9IH0sCi17IDB4MGQyZiwJMTYsCXsweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweDkwLCAweDdmLCAweGM0LCAweGU0LCAweGYwLCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmfSB9LAoteyAweDBkM2YsCTExLAl7MHhhYiwgMHg3NCwgMHgwNCwgMHhmMCwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMn0gfSwKLXsgMHgwZDRhLAkxNiwJezB4OTAsIDB4N2YsIDB4ZDYsIDB4ZTAsIDB4MzAsIDB4ZTcsIDB4MTIsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4N2YsIDB4MTQsIDB4N2UsIDB4MDAsIDB4MTJ9IH0sCi17IDB4MGQ1YSwJMTAsCXsweDBkLCAweDk0LCAweDkwLCAweDdmLCAweGQ2LCAweGUwLCAweDU0LCAweGZlLCAweGYwLCAweDIyfSB9LAoteyAweDBkNjQsCTE2LAl7MHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhkMiwgMHgwMSwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhYiwgMHg3NCwgMHgwMX0gfSwKLXsgMHgwZDc0LAk4LAl7MHhmMCwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMn0gfSwKLXsgMHgwZDdjLAkxNiwJezB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4ZDIsIDB4MDMsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YWIsIDB4NzQsIDB4MDh9IH0sCi17IDB4MGQ4YywJOCwJezB4ZjAsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzJ9IH0sCi17IDB4MGQ5NCwJMTYsCXsweDhlLCAweDM4LCAweDhmLCAweDM5LCAweGU1LCAweDM5LCAweDE1LCAweDM5LCAweGFlLCAweDM4LCAweDcwLCAweDAyLCAweDE1LCAweDM4LCAweDRlLCAweDYwfSB9LAoteyAweDBkYTQsCTcsCXsweDA1LCAweDEyLCAweDBlLCAweDAwLCAweDgwLCAweGVlLCAweDIyfSB9LAoteyAweDBkYWIsCTE2LAl7MHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhYiwgMHg3NCwgMHgwMiwgMHhmMCwgMHhkMH0gfSwKLXsgMHgwZGJiLAk2LAl7MHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMn0gfSwKLXsgMHgwZGMxLAkxNiwJezB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YWIsIDB4NzQsIDB4MTAsIDB4ZjAsIDB4ZDB9IH0sCi17IDB4MGRkMSwJNiwJezB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzJ9IH0sCi17IDB4MGRkNywJMTYsCXsweGFlLCAweDA3LCAweDdmLCAweDIxLCAweDdkLCAweDAxLCAweDc0LCAweDAwLCAweDJlLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDBmLCAweGFiLCAweDgyfSB9LAoteyAweDBkZTcsCTUsCXsweGZhLCAweDEyLCAweDBkLCAweDEwLCAweDIyfSB9LAoteyAweDBkZWMsCTE2LAl7MHg1MCwgMHgwZiwgMHgwMCwgMHhjMCwgMHhmOSwgMHhhNCwgMHhiMCwgMHg5OSwgMHg5MiwgMHg4MiwgMHhmOCwgMHg4MCwgMHg5OCwgMHg4OCwgMHg4MywgMHhjNn0gfSwKLXsgMHgwZGZjLAkzLAl7MHhhMSwgMHg4NiwgMHg4ZX0gfSwKLXsgMHgwZGZmLAkxLAl7MHgwMH0gfSwKLXsgMHgwZTAwLAkxNiwJezB4NzQsIDB4MDAsIDB4ZjUsIDB4ODYsIDB4OTAsIDB4ZmQsIDB4YTUsIDB4N2MsIDB4MDUsIDB4YTMsIDB4ZTUsIDB4ODIsIDB4NDUsIDB4ODMsIDB4NzAsIDB4Zjl9IH0sCi17IDB4MGUxMCwJMSwJezB4MjJ9IH0sCi17IDB4MGUxMSwJMTQsCXsweDkwLCAweDdmLCAweDAwLCAweGU1LCAweDEwLCAweGYwLCAweDkwLCAweDdmLCAweGI1LCAweDc0LCAweDAxLCAweGYwLCAweGQzLCAweDIyfSB9LAoteyAweDBlMWYsCTE0LAl7MHg5MCwgMHg3ZiwgMHgwMCwgMHhlNSwgMHgwZSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHg3NCwgMHgwMSwgMHhmMCwgMHhkMywgMHgyMn0gfSwKLXsgMHgwZTJkLAk4LAl7MHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHhmNSwgMHgwZSwgMHhkMywgMHgyMn0gfSwKLXsgMHgwZTM1LAk4LAl7MHhlNCwgMHhmNSwgMHgwZCwgMHhkMiwgMHhlOSwgMHhkMiwgMHhhZiwgMHgyMn0gfSwKLXsgMHgwZTNkLAkzLAl7MHhkMiwgMHgwMCwgMHgyMn0gfSwKLXsgMHgwZTQwLAkyLAl7MHhkMywgMHgyMn0gfSwKLXsgMHgwZTQyLAkyLAl7MHhkMywgMHgyMn0gfSwKLXsgMHgwZTQ0LAkyLAl7MHhkMywgMHgyMn0gfSwKLXsgMHgwZTQ2LAkyLAl7MHhkMywgMHgyMn0gfSwKLXsgMHgwZTQ4LAkyLAl7MHhkMywgMHgyMn0gfSwKLXsgMHgwZTRhLAkyLAl7MHhkMywgMHgyMn0gfSwKLXsgMHgwZTRjLAkxLAl7MHgzMn0gfSwKLXsgMHgwZTRkLAkxLAl7MHgzMn0gfSwKLXsgMHgwZTRlLAkxLAl7MHgzMn0gfSwKLXsgMHgwZTRmLAkxLAl7MHgzMn0gfSwKLXsgMHgwZTUwLAkxLAl7MHgzMn0gfSwKLXsgMHgwZTUxLAkxLAl7MHgzMn0gfSwKLXsgMHgwZTUyLAkxLAl7MHgzMn0gfSwKLXsgMHgwZTUzLAkxLAl7MHgzMn0gfSwKLXsgMHgwZTU0LAkxLAl7MHgzMn0gfSwKLXsgMHgwZTU1LAkxLAl7MHgzMn0gfSwKLXsgMHgwZTU2LAkxLAl7MHgzMn0gfSwKLXsgMHgwZTU3LAkxLAl7MHgzMn0gfSwKLXsgMHgwZTU4LAkxLAl7MHgzMn0gfSwKLXsgMHgwZTU5LAkxLAl7MHgzMn0gfSwKLXsgMHgwZTVhLAkxLAl7MHgzMn0gfSwKLXsgMHgwZTViLAkxLAl7MHgzMn0gfSwKLXsgMHgxMTAwLAkxNiwJezB4MTIsIDB4MDEsIDB4MDAsIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDAsIDB4NDAsIDB4NDcsIDB4MDUsIDB4MTAsIDB4MjcsIDB4MDEsIDB4MDAsIDB4MDEsIDB4MDJ9IH0sCi17IDB4MTExMCwJMTYsCXsweDAwLCAweDAxLCAweDA5LCAweDAyLCAweDIwLCAweDAwLCAweDAxLCAweDAxLCAweDAzLCAweGEwLCAweDAwLCAweDA5LCAweDA0LCAweDAwLCAweDAwLCAweDAyfSB9LAoteyAweDExMjAsCTE2LAl7MHhmZiwgMHgwMCwgMHgwMCwgMHgwNCwgMHgwNywgMHgwNSwgMHg4MiwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwMiwgMHgwMiwgMHg0MH0gfSwKLXsgMHgxMTMwLAkxNiwJezB4MDAsIDB4MDAsIDB4MDQsIDB4MDMsIDB4MDksIDB4MDQsIDB4MjYsIDB4MDMsIDB4NDEsIDB4MDAsIDB4NmUsIDB4MDAsIDB4NjMsIDB4MDAsIDB4NjgsIDB4MDB9IH0sCi17IDB4MTE0MCwJMTYsCXsweDZmLCAweDAwLCAweDcyLCAweDAwLCAweDIwLCAweDAwLCAweDQzLCAweDAwLCAweDY4LCAweDAwLCAweDY5LCAweDAwLCAweDcwLCAweDAwLCAweDczLCAweDAwfSB9LAoteyAweDExNTAsCTE2LAl7MHgyYywgMHgwMCwgMHgyMCwgMHgwMCwgMHg0OSwgMHgwMCwgMHg2ZSwgMHgwMCwgMHg2MywgMHgwMCwgMHgyZSwgMHgwMCwgMHgyOCwgMHgwMywgMHg0NiwgMHgwMH0gfSwKLXsgMHgxMTYwLAkxNiwJezB4NjksIDB4MDAsIDB4NzIsIDB4MDAsIDB4NmQsIDB4MDAsIDB4NzcsIDB4MDAsIDB4NjEsIDB4MDAsIDB4NzIsIDB4MDAsIDB4NjUsIDB4MDAsIDB4MjAsIDB4MDB9IH0sCi17IDB4MTE3MCwJMTYsCXsweDQ2LCAweDAwLCAweDcyLCAweDAwLCAweDYxLCAweDAwLCAweDZkLCAweDAwLCAweDY1LCAweDAwLCAweDU3LCAweDAwLCAweDZmLCAweDAwLCAweDcyLCAweDAwfSB9LAoteyAweDExODAsCTE2LAl7MHg2YiwgMHgwMCwgMHg3MywgMHgwMCwgMHgyYSwgMHgwMywgMHg0MywgMHgwMCwgMHg2ZiwgMHgwMCwgMHg2ZSwgMHgwMCwgMHg2NiwgMHgwMCwgMHg2OSwgMHgwMH0gfSwKLXsgMHgxMTkwLAkxNiwJezB4NjcsIDB4MDAsIDB4NzUsIDB4MDAsIDB4NzIsIDB4MDAsIDB4NjEsIDB4MDAsIDB4NzQsIDB4MDAsIDB4NjksIDB4MDAsIDB4NmYsIDB4MDAsIDB4NmUsIDB4MDB9IH0sCi17IDB4MTFhMCwJMTYsCXsweDIwLCAweDAwLCAweDUzLCAweDAwLCAweDc0LCAweDAwLCAweDcyLCAweDAwLCAweDY5LCAweDAwLCAweDZlLCAweDAwLCAweDY3LCAweDAwLCAweDIyLCAweDAzfSB9LAoteyAweDExYjAsCTE2LAl7MHg0OSwgMHgwMCwgMHg2ZSwgMHgwMCwgMHg3NCwgMHgwMCwgMHg2NSwgMHgwMCwgMHg3MiwgMHgwMCwgMHg2NiwgMHgwMCwgMHg2MSwgMHgwMCwgMHg2MywgMHgwMH0gfSwKLXsgMHgxMWMwLAkxNiwJezB4NjUsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NTMsIDB4MDAsIDB4NzQsIDB4MDAsIDB4NzIsIDB4MDAsIDB4NjksIDB4MDAsIDB4NmUsIDB4MDAsIDB4NjcsIDB4MDB9IH0sCi17IDB4MTFkMCwJMiwJezB4MDAsIDB4MDB9IH0sCi17IDB4ZmZmZiwJMCwJezB4MDB9IH0KLX07Ci0jZW5kaWYKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL3NlcmlhbC94aXJjb21fcGdzX2Z3LmggYi9kcml2ZXJzL3VzYi9zZXJpYWwveGlyY29tX3Bnc19mdy5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzZmY3NGE2Li4wMDAwMDAwCi0tLSBhL2RyaXZlcnMvdXNiL3NlcmlhbC94aXJjb21fcGdzX2Z3LmgKKysrIC9kZXYvbnVsbApAQCAtMSwxMDMgKzAsMCBAQAotLyoKLSAqIFVTQiBYaXJjb20gUEdTIEZpcm13YXJlCi0gKgotICogQ29weXJpZ2h0IChDKSAxOTk5LCAyMDAwIEJyaWFuIFdhcm5lciAgICAgICAgPHdhcm5lckBsb3RoYXIuY29tPgotICogQ29weXJpZ2h0IChDKSAyMDAxIENyaXN0aWFuIE0uIENyYWNpdW5lc2N1CTxjcmlzdGlAZG50LnJvPgotICoKLSAqICAgICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKLSAqICAgICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLSAqICAgICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKLSAqICAgICAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiBHZW5lcmF0ZWQgZnJvbSB4aXJjb21fcGdzLlMgYnkgZXp1c2JfY29udmVydF94LnBsCi0gKi8KLQotc3RhdGljIGNvbnN0IHN0cnVjdCBlenVzYl9oZXhfcmVjb3JkIHhpcmNvbV9wZ3NfZmlybXdhcmVbXSA9IHsKLXsgMHgwMDAwLAkzLAl7MHgwMiwgMHgwMiwgMHgwMH0gfSwKLXsgMHgwMDIzLAk0LAl7MHgwMiwgMHgwNSwgMHg5YiwgMHgwMH0gfSwKLXsgMHgwMDMwLAk1LAl7MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH0gfSwKLXsgMHgwMDQzLAk0LAl7MHgwMiwgMHgwMSwgMHgwMCwgMHgwMH0gfSwKLXsgMHgwMTAwLAkxNiwJezB4MDIsIDB4MDIsIDB4YmEsIDB4MDAsIDB4MDIsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDIsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDIsIDB4MDAsIDB4MDAsIDB4MDB9IH0sCi17IDB4MDExMCwJMTYsCXsweDAyLCAweDAwLCAweDAwLCAweDAwLCAweDAyLCAweDAwLCAweDAwLCAweDAwLCAweDAyLCAweDAwLCAweDAwLCAweDAwLCAweDAyLCAweDAwLCAweDAwLCAweDAwfSB9LAoteyAweDAxMjAsCTE2LAl7MHgwMiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMiwgMHgwNCwgMHg4NSwgMHgwMCwgMHgwMiwgMHgwNCwgMHhiOSwgMHgwMH0gfSwKLXsgMHgwMjAwLAkxNiwJezB4NzUsIDB4ODEsIDB4NWUsIDB4ZTQsIDB4ZjUsIDB4MzIsIDB4ZjUsIDB4MzMsIDB4ZjUsIDB4MzAsIDB4ZjUsIDB4MzEsIDB4ZjUsIDB4MzQsIDB4YzIsIDB4MDB9IH0sCi17IDB4MDIxMCwJMTYsCXsweGMyLCAweDAxLCAweGE5LCAweDAwLCAweDc0LCAweGZlLCAweDkwLCAweDEwLCAweDAwLCAweGYwLCAweGEzLCAweGQ5LCAweGZjLCAweDc0LCAweGZkLCAweDkwfSB9LAoteyAweDAyMjAsCTE2LAl7MHgxMSwgMHgwMCwgMHhmMCwgMHhhMywgMHhkOSwgMHhmYywgMHg5MCwgMHg3ZiwgMHg5NCwgMHg3NCwgMHhiZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5NSwgMHg3NH0gfSwKLXsgMHgwMjMwLAkxNiwJezB4ZWYsIDB4ZjAsIDB4NzQsIDB4MTAsIDB4OTAsIDB4N2YsIDB4OWUsIDB4ZjAsIDB4NzQsIDB4MDAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4ZjAsIDB4NzQsIDB4NDB9IH0sCi17IDB4MDI0MCwJMTYsCXsweDkwLCAweDdmLCAweDlkLCAweGYwLCAweDc0LCAweDAwLCAweDkwLCAweDdmLCAweDk3LCAweGYwLCAweDc0LCAweDgyLCAweDkwLCAweDdmLCAweDllLCAweGYwfSB9LAoteyAweDAyNTAsCTE2LAl7MHg5MCwgMHg3ZiwgMHg5NSwgMHg3NCwgMHgwMywgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhZiwgMHhlMCwgMHhkMiwgMHhlMCwgMHhmMCwgMHg3NCwgMHgwMSwgMHg5MH0gfSwKLXsgMHgwMjYwLAkxNiwJezB4N2YsIDB4YWIsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YWUsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YWMsIDB4NzQsIDB4MDQsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YWR9IH0sCi17IDB4MDI3MCwJMTYsCXsweDc0LCAweDA0LCAweGYwLCAweDkwLCAweDdmLCAweGM5LCAweGYwLCAweDc0LCAweDA3LCAweDkwLCAweDdmLCAweGFmLCAweGYwLCAweDc0LCAweDIwLCAweDkwfSB9LAoteyAweDAyODAsCTE2LAl7MHg3ZiwgMHg5YywgMHhmMCwgMHg3NCwgMHg4MCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHhmMCwgMHg3NCwgMHg1MywgMHhmNSwgMHg5OCwgMHg3NSwgMHhjOCwgMHgzMH0gfSwKLXsgMHgwMjkwLAkxNiwJezB4N2IsIDB4MDUsIDB4OTEsIDB4NDQsIDB4ZDIsIDB4Y2EsIDB4NzUsIDB4OTgsIDB4NTAsIDB4ZDIsIDB4ZTgsIDB4ZDIsIDB4YWYsIDB4ZDIsIDB4YWMsIDB4NzR9IH0sCi17IDB4MDJhMCwJMTYsCXsweDAwLCAweGY1LCAweDg2LCAweDkwLCAweDdmLCAweGQ2LCAweDc0LCAweDAyLCAweGYwLCAweDc5LCAweDJlLCAweDdhLCAweDAwLCAweDdiLCAweDAwLCAweGRifSB9LAoteyAweDAyYjAsCTE2LAl7MHhmZSwgMHhkYSwgMHhmYSwgMHhkOSwgMHhmNiwgMHg3NCwgMHgwNiwgMHhmMCwgMHg4MCwgMHhmZSwgMHhjMCwgMHg4NiwgMHhjMCwgMHg4MiwgMHhjMCwgMHg4M30gfSwKLXsgMHgwMmMwLAkxNiwJezB4YzAsIDB4ODQsIDB4YzAsIDB4ODUsIDB4YzAsIDB4ZTAsIDB4ZTUsIDB4OTEsIDB4YzIsIDB4ZTQsIDB4ZjUsIDB4OTEsIDB4OTAsIDB4N2YsIDB4YWIsIDB4NzR9IH0sCi17IDB4MDJkMCwJMTYsCXsweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGU4LCAweGUwLCAweGY5LCAweGEzLCAweGUwLCAweGZhLCAweGEzLCAweGUwLCAweGZiLCAweGEzLCAweGUwLCAweGZjfSB9LAoteyAweDAyZTAsCTE2LAl7MHhlOSwgMHg1NCwgMHg2MCwgMHhiNCwgMHgwMCwgMHgwMywgMHgwMiwgMHgwMywgMHg1ZCwgMHhiNCwgMHg0MCwgMHg2ZSwgMHhiYSwgMHgwMCwgMHgwYiwgMHgxMn0gfSwKLXsgMHgwMmYwLAkxNiwJezB4MDQsIDB4NDQsIDB4NDAsIDB4MDMsIDB4MDIsIDB4MDQsIDB4MjYsIDB4MDIsIDB4MDQsIDB4MmUsIDB4YmEsIDB4MDEsIDB4MDMsIDB4MDIsIDB4MDQsIDB4MmV9IH0sCi17IDB4MDMwMCwJMTYsCXsweGJhLCAweDAyLCAweDAzLCAweDAyLCAweDA0LCAweDJlLCAweGJhLCAweDAzLCAweDAzLCAweDAyLCAweDA0LCAweDY4LCAweGJhLCAweDA0LCAweDFlLCAweGJifSB9LAoteyAweDAzMTAsCTE2LAl7MHgwMCwgMHgwYSwgMHg5MCwgMHg3ZiwgMHg5NSwgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHgwMiwgMHgwNCwgMHgyNiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHhlMH0gfSwKLXsgMHgwMzIwLAkxNiwJezB4NTQsIDB4ZmQsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTUsIDB4ZTAsIDB4NTQsIDB4ZmQsIDB4ZjAsIDB4MDIsIDB4MDQsIDB4MjYsIDB4YmEsIDB4MDUsIDB4MDN9IH0sCi17IDB4MDMzMCwJMTYsCXsweDAyLCAweDA0LCAweDJlLCAweGJhLCAweDA2LCAweDE5LCAweGJiLCAweDAwLCAweDA4LCAweGU1LCAweDMzLCAweGQzLCAweDk1LCAweDMyLCAweDAyLCAweDA0fSB9LAoteyAweDAzNDAsCTE2LAl7MHgwMiwgMHhiYiwgMHgwMSwgMHgwOCwgMHhlNSwgMHgzMiwgMHhjMywgMHg5NSwgMHgzMywgMHgwMiwgMHgwNCwgMHgwMiwgMHgwMiwgMHgwNCwgMHgyZSwgMHhiYX0gfSwKLXsgMHgwMzUwLAkxNiwJezB4MDcsIDB4MDUsIDB4OGIsIDB4MzQsIDB4MDIsIDB4MDQsIDB4MjYsIDB4MDIsIDB4MDQsIDB4MmUsIDB4MDIsIDB4MDQsIDB4MmUsIDB4YmEsIDB4MDAsIDB4MjB9IH0sCi17IDB4MDM2MCwJMTYsCXsweGI5LCAweDgwLCAweDEwLCAweDkwLCAweDdmLCAweDAwLCAweGU0LCAweGYwLCAweGEzLCAweGYwLCAweDkwLCAweDdmLCAweGI1LCAweDc0LCAweDAyLCAweGYwfSB9LAoteyAweDAzNzAsCTE2LAl7MHgwMiwgMHgwNCwgMHgyNiwgMHhiOSwgMHg4MiwgMHgwMiwgMHg4MCwgMHhlYiwgMHhiOSwgMHg4MSwgMHgwMiwgMHg4MCwgMHhlNiwgMHgwMiwgMHgwNCwgMHgyZX0gfSwKLXsgMHgwMzgwLAkxNiwJezB4YmEsIDB4MDEsIDB4MGYsIDB4YmIsIDB4MDAsIDB4MDMsIDB4MDIsIDB4MDQsIDB4MmUsIDB4YmIsIDB4MDEsIDB4MDMsIDB4MDIsIDB4MDQsIDB4MjYsIDB4MDJ9IH0sCi17IDB4MDM5MCwJMTYsCXsweDA0LCAweDJlLCAweGJhLCAweDAzLCAweDBmLCAweGJiLCAweDAwLCAweDAzLCAweDAyLCAweDA0LCAweDJlLCAweGJiLCAweDAxLCAweDAzLCAweDAyLCAweDA0fSB9LAoteyAweDAzYTAsCTE2LAl7MHgyNiwgMHgwMiwgMHgwNCwgMHgyZSwgMHhiYSwgMHgwNiwgMHg1NiwgMHhiYywgMHgwMSwgMHgwZiwgMHg5MCwgMHg3ZiwgMHhkNCwgMHg3NCwgMHgwNiwgMHhmMH0gfSwKLXsgMHgwM2IwLAkxNiwJezB4OTAsIDB4N2YsIDB4ZDUsIDB4NzQsIDB4NWEsIDB4ZjAsIDB4MDIsIDB4MDQsIDB4MjYsIDB4YmMsIDB4MDIsIDB4MTIsIDB4YmIsIDB4MDAsIDB4NmYsIDB4OTB9IH0sCi17IDB4MDNjMCwJMTYsCXsweDdmLCAweGQ0LCAweDc0LCAweDA2LCAweGYwLCAweDkwLCAweDdmLCAweGQ1LCAweDc0LCAweDZjLCAweGYwLCAweDAyLCAweDA0LCAweDI2LCAweGJjLCAweDAzfSB9LAoteyAweDAzZDAsCTE2LAl7MHgyOSwgMHg3NCwgMHgwNCwgMHhjMywgMHg5YiwgMHg0MCwgMHg1NywgMHg2MCwgMHg1NSwgMHhlYiwgMHgyYiwgMHg5MCwgMHgwNiwgMHg4YywgMHgyNSwgMHg4Mn0gfSwKLXsgMHgwM2UwLAkxNiwJezB4ZjUsIDB4ODIsIDB4NzQsIDB4MDAsIDB4MzUsIDB4ODMsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZjksIDB4YTMsIDB4ZTAsIDB4ZmEsIDB4OTAsIDB4N2YsIDB4ZDR9IH0sCi17IDB4MDNmMCwJMTYsCXsweGU5LCAweGYwLCAweDkwLCAweDdmLCAweGQ1LCAweGVhLCAweGYwLCAweDAyLCAweDA0LCAweDI2LCAweDAyLCAweDA0LCAweDJlLCAweGJhLCAweDA4LCAweDBmfSB9LAoteyAweDA0MDAsCTE2LAl7MHg3NCwgMHgwMSwgMHg5MCwgMHg3ZiwgMHgwMCwgMHhmMCwgMHg3NCwgMHgwMSwgMHg5MCwgMHg3ZiwgMHhiNSwgMHhmMCwgMHgwMiwgMHgwNCwgMHgyNiwgMHhiYX0gfSwKLXsgMHgwNDEwLAkxNiwJezB4MDksIDB4MDMsIDB4MDIsIDB4MDQsIDB4MjYsIDB4YmEsIDB4MGEsIDB4MDUsIDB4NzQsIDB4MDAsIDB4MDIsIDB4MDQsIDB4MDIsIDB4YmEsIDB4MGIsIDB4MDN9IH0sCi17IDB4MDQyMCwJMTYsCXsweDAyLCAweDA0LCAweDI2LCAweDAyLCAweDA0LCAweDJlLCAweDkwLCAweDdmLCAweGI0LCAweDc0LCAweDAyLCAweGYwLCAweDgwLCAweDA5LCAweDkwLCAweDdmfSB9LAoteyAweDA0MzAsCTE2LAl7MHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg4MCwgMHgwMCwgMHhkMCwgMHhlMCwgMHhkMCwgMHg4NSwgMHhkMCwgMHg4NCwgMHhkMCwgMHg4MywgMHhkMH0gfSwKLXsgMHgwNDQwLAkxNiwJezB4ODIsIDB4ZDAsIDB4ODYsIDB4MzIsIDB4ZWIsIDB4MjAsIDB4ZTcsIDB4MWUsIDB4YzMsIDB4OTQsIDB4MGEsIDB4NTAsIDB4MTksIDB4ZWIsIDB4MjMsIDB4MjR9IH0sCi17IDB4MDQ1MCwJMTYsCXsweDQ2LCAweGY1LCAweDgyLCAweDc0LCAweDA2LCAweDM0LCAweDAwLCAweGY1LCAweDgzLCAweGUwLCAweGY1LCAweGNiLCAweGY1LCAweGNkLCAweGEzLCAweGUwfSB9LAoteyAweDA0NjAsCTE2LAl7MHhmNSwgMHhjYSwgMHhmNSwgMHhjYywgMHhjMywgMHgyMiwgMHhkMywgMHgyMiwgMHhiOSwgMHg0MSwgMHgxMSwgMHhlYiwgMHg2NCwgMHhmZiwgMHg1NCwgMHg4MH0gfSwKLXsgMHgwNDcwLAkxNiwJezB4ZmIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4ZTAsIDB4NTQsIDB4N2YsIDB4NGIsIDB4ZjAsIDB4MDIsIDB4MDQsIDB4MjYsIDB4OTAsIDB4N2YsIDB4OWIsIDB4ZTB9IH0sCi17IDB4MDQ4MCwJMTYsCXsweDY0LCAweGZmLCAweDAyLCAweDA0LCAweDAyLCAweGMwLCAweDg2LCAweGMwLCAweDgyLCAweGMwLCAweDgzLCAweGMwLCAweDg0LCAweGMwLCAweDg1LCAweGMwfSB9LAoteyAweDA0OTAsCTE2LAl7MHhlMCwgMHhlNSwgMHg5MSwgMHhjMiwgMHhlNCwgMHhmNSwgMHg5MSwgMHg5MCwgMHg3ZiwgMHhhOSwgMHg3NCwgMHgwNCwgMHhmMCwgMHg3NCwgMHgyMCwgMHg5MH0gfSwKLXsgMHgwNGEwLAkxNiwJezB4N2YsIDB4OWMsIDB4ZjAsIDB4MTIsIDB4MDUsIDB4ZGMsIDB4NzQsIDB4MjAsIDB4OTAsIDB4N2YsIDB4OWMsIDB4ZjAsIDB4ZDAsIDB4ZTAsIDB4ZDAsIDB4ODV9IH0sCi17IDB4MDRiMCwJMTYsCXsweGQwLCAweDg0LCAweGQwLCAweDgzLCAweGQwLCAweDgyLCAweGQwLCAweDg2LCAweDMyLCAweGMwLCAweDg2LCAweGMwLCAweDgyLCAweGMwLCAweDgzLCAweGMwfSB9LAoteyAweDA0YzAsCTE2LAl7MHg4NCwgMHhjMCwgMHg4NSwgMHhjMCwgMHhlMCwgMHg3NCwgMHgxMCwgMHg5MCwgMHg3ZiwgMHg5YywgMHhmMCwgMHhlNSwgMHg5MSwgMHhjMiwgMHhlNCwgMHhmNX0gfSwKLXsgMHgwNGQwLAkxNiwJezB4OTEsIDB4OTAsIDB4N2YsIDB4YWEsIDB4NzQsIDB4MDQsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YzksIDB4ZTAsIDB4ZjksIDB4ZTQsIDB4ZjUsIDB4ODYsIDB4OTB9IH0sCi17IDB4MDRlMCwJMTYsCXsweDdkLCAweGMwLCAweDc1LCAweDg1LCAweDEwLCAweDg1LCAweDMyLCAweDg0LCAweGUwLCAweDA1LCAweDg2LCAweDA1LCAweDg0LCAweGYwLCAweGU1LCAweDg0fSB9LAoteyAweDA0ZjAsCTE2LAl7MHhiNSwgMHgzMywgMHgwMiwgMHg4MCwgMHgwOSwgMHgwNSwgMHgzMiwgMHgwNSwgMHg4NiwgMHhhMywgMHhkOSwgMHhlYywgMHg4MCwgMHgwMCwgMHg5MCwgMHg3Zn0gfSwKLXsgMHgwNTAwLAkxNiwJezB4YzksIDB4ZjAsIDB4YjEsIDB4NmQsIDB4NzQsIDB4MjAsIDB4OTAsIDB4N2YsIDB4OWMsIDB4ZjAsIDB4ZDAsIDB4ZTAsIDB4ZDAsIDB4ODUsIDB4ZDAsIDB4ODR9IH0sCi17IDB4MDUxMCwJMTYsCXsweGQwLCAweDgzLCAweGQwLCAweDgyLCAweGQwLCAweDg2LCAweDMyLCAweGU0LCAweGY1LCAweDg2LCAweDkwLCAweDdmLCAweGJjLCAweGUwLCAweDIwLCAweGUxfSB9LAoteyAweDA1MjAsCTE2LAl7MHg0YiwgMHg5MCwgMHg3ZCwgMHgwMCwgMHhlNSwgMHgzMiwgMHhmMCwgMHhhMywgMHhlNSwgMHgzMywgMHhmMCwgMHhhMywgMHhlNSwgMHgzMCwgMHhmMCwgMHhhM30gfSwKLXsgMHgwNTMwLAkxNiwJezB4ZTUsIDB4MzEsIDB4ZjAsIDB4YTMsIDB4ZTQsIDB4MzAsIDB4MDAsIDB4MDEsIDB4MDQsIDB4ZjAsIDB4YTMsIDB4MDUsIDB4ODYsIDB4OTAsIDB4MTAsIDB4MDB9IH0sCi17IDB4MDU0MCwJMTYsCXsweDc5LCAweDEwLCAweGUwLCAweGEzLCAweDA1LCAweDg2LCAweGYwLCAweGEzLCAweDA1LCAweDg2LCAweGQ5LCAweGY2LCAweDA1LCAweDg2LCAweDc0LCAweGZjfSB9LAoteyAweDA1NTAsCTE2LAl7MHhmMCwgMHhhMywgMHgwNSwgMHg4NiwgMHg5MCwgMHgxMSwgMHgwMCwgMHg3OSwgMHgxMCwgMHhlMCwgMHhhMywgMHgwNSwgMHg4NiwgMHhmMCwgMHhhMywgMHgwNX0gfSwKLXsgMHgwNTYwLAkxNiwJezB4ODYsIDB4ZDksIDB4ZjYsIDB4ZTQsIDB4ZjUsIDB4ODYsIDB4OTAsIDB4N2YsIDB4YmQsIDB4NzQsIDB4MjYsIDB4ZjAsIDB4MjIsIDB4MjAsIDB4MDAsIDB4MTN9IH0sCi17IDB4MDU3MCwJMTYsCXsweGU1LCAweDMyLCAweGI1LCAweDMzLCAweDAxLCAweDIyLCAweDA1LCAweDMzLCAweDc1LCAweDgzLCAweDEwLCAweDg1LCAweDMzLCAweDgyLCAweGUwLCAweGY1fSB9LAoteyAweDA1ODAsCTE2LAl7MHg5OSwgMHhkMiwgMHgwMCwgMHg3NCwgMHgwMCwgMHhiNSwgMHgzNCwgMHgwMSwgMHgyMiwgMHhlNSwgMHgzMywgMHhkMywgMHg5NSwgMHgzMiwgMHhjMywgMHg5NX0gfSwKLXsgMHgwNTkwLAkxNiwJezB4MzQsIDB4NDAsIDB4ZjUsIDB4NzUsIDB4MzQsIDB4MDAsIDB4ZDIsIDB4MDEsIDB4MDIsIDB4MDUsIDB4ZGMsIDB4YzAsIDB4ODYsIDB4YzAsIDB4ODIsIDB4YzB9IH0sCi17IDB4MDVhMCwJMTYsCXsweDgzLCAweGMwLCAweDg0LCAweGMwLCAweDg1LCAweGMwLCAweGUwLCAweDMwLCAweDk5LCAweDA3LCAweGMyLCAweDk5LCAweGMyLCAweDAwLCAweDEyLCAweDA1fSB9LAoteyAweDA1YjAsCTE2LAl7MHg3MCwgMHgzMCwgMHg5OCwgMHgwNSwgMHgxMiwgMHgwNSwgMHhjNiwgMHhjMiwgMHg5OCwgMHhkMCwgMHhlMCwgMHhkMCwgMHg4NSwgMHhkMCwgMHg4NCwgMHhkMH0gfSwKLXsgMHgwNWMwLAkxNiwJezB4ODMsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODYsIDB4MzIsIDB4NzUsIDB4ODMsIDB4MTEsIDB4ODUsIDB4MzAsIDB4ODIsIDB4MDUsIDB4ODIsIDB4ZTUsIDB4OTl9IH0sCi17IDB4MDVkMCwJMTYsCXsweGYwLCAweGU1LCAweDgyLCAweGI1LCAweDMxLCAweDAxLCAweDIyLCAweDA1LCAweDMwLCAweGIxLCAweGRjLCAweDIyLCAweDc0LCAweDEwLCAweDkwLCAweDdmfSB9LAoteyAweDA1ZTAsCTE2LAl7MHg5YywgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiOCwgMHhlMCwgMHgyMCwgMHhlMSwgMHgzZSwgMHgyMCwgMHgwMSwgMHgzYywgMHhlNSwgMHgzMCwgMHhiNSwgMHgzMX0gfSwKLXsgMHgwNWYwLAkxNiwJezB4MDEsIDB4MjIsIDB4ZTQsIDB4ZjUsIDB4ODYsIDB4NzUsIDB4ODMsIDB4MTEsIDB4MDUsIDB4ODYsIDB4OTAsIDB4N2UsIDB4MDAsIDB4ZjAsIDB4YTMsIDB4MDV9IH0sCi17IDB4MDYwMCwJMTYsCXsweDg2LCAweDc5LCAweDAxLCAweGU1LCAweDMwLCAweGI1LCAweDMxLCAweDAyLCAweDgwLCAweDEwLCAweDA1LCAweDMxLCAweDg1LCAweDMxLCAweDgyLCAweGUwfSB9LAoteyAweDA2MTAsCTE2LAl7MHgwNSwgMHg4NiwgMHhmMCwgMHhhMywgMHgwNSwgMHg4NiwgMHgwOSwgMHhiOSwgMHg0MCwgMHhlOSwgMHg3NCwgMHgxMCwgMHg5MCwgMHg3ZiwgMHg5YywgMHhmMH0gfSwKLXsgMHgwNjIwLAkxNiwJezB4OTAsIDB4N2YsIDB4YjksIDB4ZTksIDB4NjAsIDB4MDEsIDB4ZjAsIDB4MjIsIDB4YzIsIDB4MDEsIDB4ZTQsIDB4ZjUsIDB4ODYsIDB4OTAsIDB4N2UsIDB4MDB9IH0sCi17IDB4MDYzMCwJMTYsCXsweDc0LCAweDAxLCAweGYwLCAweGEzLCAweDc0LCAweDAyLCAweGYwLCAweDkwLCAweDdmLCAweGI5LCAweGYwLCAweDIyLCAweGMyLCAweDk5LCAweGY1LCAweDk5fSB9LAoteyAweDA2NDAsCTE2LAl7MHgzMCwgMHg5OSwgMHhmZCwgMHhjMiwgMHg5OSwgMHgyMiwgMHhlNSwgMHg1ZSwgMHhmNiwgMHgzYywgMHhmZCwgMHg4ZiwgMHhmZSwgMHhjOCwgMHhmZiwgMHg2NH0gfSwKLXsgMHgwNjUwLAkxNiwJezB4ZmYsIDB4YjIsIDB4ZmYsIDB4ZDksIDB4ZmYsIDB4ZWQsIDB4ZmYsIDB4ZjMsIDB4ZmYsIDB4ZmEsIDB4MTIsIDB4MDEsIDB4MDAsIDB4MDEsIDB4ZmYsIDB4ZmZ9IH0sCi17IDB4MDY2MCwJMTYsCXsweGZmLCAweDQwLCAweGNkLCAweDA2LCAweDA0LCAweDAxLCAweDg5LCAweGFiLCAweDAxLCAweDAyLCAweDAzLCAweDAxLCAweDA5LCAweDAyLCAweDIwLCAweDAwfSB9LAoteyAweDA2NzAsCTE2LAl7MHgwMSwgMHgwMSwgMHgwMCwgMHg4MCwgMHgzMiwgMHgwOSwgMHgwNCwgMHgwMCwgMHgwMCwgMHgwMiwgMHhmZiwgMHhmZiwgMHhmZiwgMHgwMCwgMHgwNywgMHgwNX0gfSwKLXsgMHgwNjgwLAkxNiwJezB4ODIsIDB4MDMsIDB4NDAsIDB4MDAsIDB4MDEsIDB4MDcsIDB4MDUsIDB4MDIsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDYsIDB4OTQsIDB4MDYsIDB4OTh9IH0sCi17IDB4MDY5MCwJMTYsCXsweDA2LCAweGJhLCAweDA2LCAweGU4LCAweDA0LCAweDAzLCAweDAwLCAweDAwLCAweDIyLCAweDAzLCAweDQxLCAweDAwLCAweDQzLCAweDAwLCAweDRkLCAweDAwfSB9LAoteyAweDA2YTAsCTE2LAl7MHg0NSwgMHgwMCwgMHgyMCwgMHgwMCwgMHg3NSwgMHgwMCwgMHg3MywgMHgwMCwgMHg2MiwgMHgwMCwgMHgyMCwgMHgwMCwgMHg3NywgMHgwMCwgMHg2OSwgMHgwMH0gfSwKLXsgMHgwNmIwLAkxNiwJezB4NjQsIDB4MDAsIDB4NjcsIDB4MDAsIDB4NjUsIDB4MDAsIDB4NzQsIDB4MDAsIDB4NzMsIDB4MDAsIDB4MmUsIDB4MDMsIDB4NDEsIDB4MDAsIDB4NDMsIDB4MDB9IH0sCi17IDB4MDZjMCwJMTYsCXsweDRkLCAweDAwLCAweDQ1LCAweDAwLCAweDIwLCAweDAwLCAweDU1LCAweDAwLCAweDUzLCAweDAwLCAweDQyLCAweDAwLCAweDIwLCAweDAwLCAweDczLCAweDAwfSB9LAoteyAweDA2ZDAsCTE2LAl7MHg2NSwgMHgwMCwgMHg3MiwgMHgwMCwgMHg2OSwgMHgwMCwgMHg2MSwgMHgwMCwgMHg2YywgMHgwMCwgMHgyMCwgMHgwMCwgMHg3NywgMHgwMCwgMHg2OSwgMHgwMH0gfSwKLXsgMHgwNmUwLAkxNCwJezB4NjQsIDB4MDAsIDB4NjcsIDB4MDAsIDB4NjUsIDB4MDAsIDB4NzQsIDB4MDAsIDB4MDYsIDB4MDMsIDB4MzQsIDB4MDAsIDB4MzcsIDB4MDB9IH0sCi17IDB4ZmZmZiwJMCwJezB4MDB9IH0KLX07CmRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL0tjb25maWcgYi9kcml2ZXJzL3ZpZGVvL0tjb25maWcKaW5kZXggZTBjNWY5Ni4uOWI4ODdlZiAxMDA2NDQKLS0tIGEvZHJpdmVycy92aWRlby9LY29uZmlnCisrKyBiL2RyaXZlcnMvdmlkZW8vS2NvbmZpZwpAQCAtNyw3ICs3LDcgQEAKIAogc291cmNlICJkcml2ZXJzL2NoYXIvYWdwL0tjb25maWciCiAKLXNvdXJjZSAiZHJpdmVycy9jaGFyL2RybS9LY29uZmlnIgorc291cmNlICJkcml2ZXJzL2dwdS9kcm0vS2NvbmZpZyIKIAogY29uZmlnIFZHQVNUQVRFCiAgICAgICAgdHJpc3RhdGUKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L0tjb25maWcgYi9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9LY29uZmlnCmluZGV4IGRjZDgwNzMuLjMwYmY3ZjIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L0tjb25maWcKKysrIGIvZHJpdmVycy92aWRlby9iYWNrbGlnaHQvS2NvbmZpZwpAQCAtMTEyLDMgKzExMiwxMCBAQAogCWhlbHAKIAkgIElmIHlvdSBoYXZlIGEgSW50ZWwgTEU4MDU3OCAoQ2FyaWxsbyBSYW5jaCkgc2F5IFkgdG8gZW5hYmxlIHRoZQogCSAgYmFja2xpZ2h0IGRyaXZlci4KKworY29uZmlnIEJBQ0tMSUdIVF9QV00KKwl0cmlzdGF0ZSAiR2VuZXJpYyBQV00gYmFzZWQgQmFja2xpZ2h0IERyaXZlciIKKwlkZXBlbmRzIG9uIEJBQ0tMSUdIVF9DTEFTU19ERVZJQ0UgJiYgSEFWRV9QV00KKwloZWxwCisJICBJZiB5b3UgaGF2ZSBhIExDRCBiYWNrbGlnaHQgYWRqdXN0YWJsZSBieSBQV00sIHNheSBZIHRvIGVuYWJsZQorCSAgdGhpcyBkcml2ZXIuCmRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9NYWtlZmlsZSBiL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L01ha2VmaWxlCmluZGV4IDMzZjZjN2MuLmI1MWE3Y2QgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L01ha2VmaWxlCisrKyBiL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L01ha2VmaWxlCkBAIC0xMCwzICsxMCw0IEBACiBvYmotJChDT05GSUdfQkFDS0xJR0hUX09NQVAxKQkrPSBvbWFwMV9ibC5vCiBvYmotJChDT05GSUdfQkFDS0xJR0hUX1BST0dFQVIpICs9IHByb2dlYXJfYmwubwogb2JqLSQoQ09ORklHX0JBQ0tMSUdIVF9DQVJJTExPX1JBTkNIKSArPSBjcl9ibGxjZC5vCitvYmotJChDT05GSUdfQkFDS0xJR0hUX1BXTSkJKz0gcHdtX2JsLm8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L3B3bV9ibC5jIGIvZHJpdmVycy92aWRlby9iYWNrbGlnaHQvcHdtX2JsLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjMzOGQwZQotLS0gL2Rldi9udWxsCisrKyBiL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L3B3bV9ibC5jCkBAIC0wLDAgKzEsMTg1IEBACisvKgorICogbGludXgvZHJpdmVycy92aWRlby9iYWNrbGlnaHQvcHdtX2JsLmMKKyAqCisgKiBzaW1wbGUgUFdNIGJhc2VkIGJhY2tsaWdodCBjb250cm9sLCBib2FyZCBjb2RlIGhhcyB0byBzZXR1cAorICogMSkgcGluIGNvbmZpZ3VyYXRpb24gc28gUFdNIHdhdmVmb3JtcyBjYW4gb3V0cHV0CisgKiAyKSBwbGF0Zm9ybV9kYXRhIGNhc3RzIHRvIHRoZSBQV00gaWQgKDAvMS8yLzMgb24gUFhBKQorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcworICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9mYi5oPgorI2luY2x1ZGUgPGxpbnV4L2JhY2tsaWdodC5oPgorI2luY2x1ZGUgPGxpbnV4L2Vyci5oPgorI2luY2x1ZGUgPGxpbnV4L3B3bS5oPgorI2luY2x1ZGUgPGxpbnV4L3B3bV9iYWNrbGlnaHQuaD4KKworc3RydWN0IHB3bV9ibF9kYXRhIHsKKwlzdHJ1Y3QgcHdtX2RldmljZQkqcHdtOworCXVuc2lnbmVkIGludAkJcGVyaW9kOworCWludAkJCSgqbm90aWZ5KShpbnQgYnJpZ2h0bmVzcyk7Cit9OworCitzdGF0aWMgaW50IHB3bV9iYWNrbGlnaHRfdXBkYXRlX3N0YXR1cyhzdHJ1Y3QgYmFja2xpZ2h0X2RldmljZSAqYmwpCit7CisJc3RydWN0IHB3bV9ibF9kYXRhICpwYiA9IGRldl9nZXRfZHJ2ZGF0YSgmYmwtPmRldik7CisJaW50IGJyaWdodG5lc3MgPSBibC0+cHJvcHMuYnJpZ2h0bmVzczsKKwlpbnQgbWF4ID0gYmwtPnByb3BzLm1heF9icmlnaHRuZXNzOworCisJaWYgKGJsLT5wcm9wcy5wb3dlciAhPSBGQl9CTEFOS19VTkJMQU5LKQorCQlicmlnaHRuZXNzID0gMDsKKworCWlmIChibC0+cHJvcHMuZmJfYmxhbmsgIT0gRkJfQkxBTktfVU5CTEFOSykKKwkJYnJpZ2h0bmVzcyA9IDA7CisKKwlpZiAocGItPm5vdGlmeSkKKwkJYnJpZ2h0bmVzcyA9IHBiLT5ub3RpZnkoYnJpZ2h0bmVzcyk7CisKKwlpZiAoYnJpZ2h0bmVzcyA9PSAwKSB7CisJCXB3bV9jb25maWcocGItPnB3bSwgMCwgcGItPnBlcmlvZCk7CisJCXB3bV9kaXNhYmxlKHBiLT5wd20pOworCX0gZWxzZSB7CisJCXB3bV9jb25maWcocGItPnB3bSwgYnJpZ2h0bmVzcyAqIHBiLT5wZXJpb2QgLyBtYXgsIHBiLT5wZXJpb2QpOworCQlwd21fZW5hYmxlKHBiLT5wd20pOworCX0KKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBwd21fYmFja2xpZ2h0X2dldF9icmlnaHRuZXNzKHN0cnVjdCBiYWNrbGlnaHRfZGV2aWNlICpibCkKK3sKKwlyZXR1cm4gYmwtPnByb3BzLmJyaWdodG5lc3M7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgYmFja2xpZ2h0X29wcyBwd21fYmFja2xpZ2h0X29wcyA9IHsKKwkudXBkYXRlX3N0YXR1cwk9IHB3bV9iYWNrbGlnaHRfdXBkYXRlX3N0YXR1cywKKwkuZ2V0X2JyaWdodG5lc3MJPSBwd21fYmFja2xpZ2h0X2dldF9icmlnaHRuZXNzLAorfTsKKworc3RhdGljIGludCBwd21fYmFja2xpZ2h0X3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCit7CisJc3RydWN0IHBsYXRmb3JtX3B3bV9iYWNrbGlnaHRfZGF0YSAqZGF0YSA9IHBkZXYtPmRldi5wbGF0Zm9ybV9kYXRhOworCXN0cnVjdCBiYWNrbGlnaHRfZGV2aWNlICpibDsKKwlzdHJ1Y3QgcHdtX2JsX2RhdGEgKnBiOworCWludCByZXQ7CisKKwlpZiAoIWRhdGEpCisJCXJldHVybiAtRUlOVkFMOworCisJaWYgKGRhdGEtPmluaXQpIHsKKwkJcmV0ID0gZGF0YS0+aW5pdCgmcGRldi0+ZGV2KTsKKwkJaWYgKHJldCA8IDApCisJCQlyZXR1cm4gcmV0OworCX0KKworCXBiID0ga3phbGxvYyhzaXplb2YoKnBiKSwgR0ZQX0tFUk5FTCk7CisJaWYgKCFwYikgeworCQlyZXQgPSAtRU5PTUVNOworCQlnb3RvIGVycl9hbGxvYzsKKwl9CisKKwlwYi0+cGVyaW9kID0gZGF0YS0+cHdtX3BlcmlvZF9uczsKKwlwYi0+bm90aWZ5ID0gZGF0YS0+bm90aWZ5OworCisJcGItPnB3bSA9IHB3bV9yZXF1ZXN0KGRhdGEtPnB3bV9pZCwgImJhY2tsaWdodCIpOworCWlmIChJU19FUlIocGItPnB3bSkpIHsKKwkJZGV2X2VycigmcGRldi0+ZGV2LCAidW5hYmxlIHRvIHJlcXVlc3QgUFdNIGZvciBiYWNrbGlnaHRcbiIpOworCQlyZXQgPSBQVFJfRVJSKHBiLT5wd20pOworCQlnb3RvIGVycl9wd207CisJfQorCisJYmwgPSBiYWNrbGlnaHRfZGV2aWNlX3JlZ2lzdGVyKHBkZXYtPm5hbWUsICZwZGV2LT5kZXYsCisJCQlwYiwgJnB3bV9iYWNrbGlnaHRfb3BzKTsKKwlpZiAoSVNfRVJSKGJsKSkgeworCQlkZXZfZXJyKCZwZGV2LT5kZXYsICJmYWlsZWQgdG8gcmVnaXN0ZXIgYmFja2xpZ2h0XG4iKTsKKwkJcmV0ID0gUFRSX0VSUihibCk7CisJCWdvdG8gZXJyX2JsOworCX0KKworCWJsLT5wcm9wcy5tYXhfYnJpZ2h0bmVzcyA9IGRhdGEtPm1heF9icmlnaHRuZXNzOworCWJsLT5wcm9wcy5icmlnaHRuZXNzID0gZGF0YS0+ZGZ0X2JyaWdodG5lc3M7CisJYmFja2xpZ2h0X3VwZGF0ZV9zdGF0dXMoYmwpOworCisJcGxhdGZvcm1fc2V0X2RydmRhdGEocGRldiwgYmwpOworCXJldHVybiAwOworCitlcnJfYmw6CisJcHdtX2ZyZWUocGItPnB3bSk7CitlcnJfcHdtOgorCWtmcmVlKHBiKTsKK2Vycl9hbGxvYzoKKwlpZiAoZGF0YS0+ZXhpdCkKKwkJZGF0YS0+ZXhpdCgmcGRldi0+ZGV2KTsKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgaW50IHB3bV9iYWNrbGlnaHRfcmVtb3ZlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCit7CisJc3RydWN0IHBsYXRmb3JtX3B3bV9iYWNrbGlnaHRfZGF0YSAqZGF0YSA9IHBkZXYtPmRldi5wbGF0Zm9ybV9kYXRhOworCXN0cnVjdCBiYWNrbGlnaHRfZGV2aWNlICpibCA9IHBsYXRmb3JtX2dldF9kcnZkYXRhKHBkZXYpOworCXN0cnVjdCBwd21fYmxfZGF0YSAqcGIgPSBkZXZfZ2V0X2RydmRhdGEoJmJsLT5kZXYpOworCisJYmFja2xpZ2h0X2RldmljZV91bnJlZ2lzdGVyKGJsKTsKKwlwd21fY29uZmlnKHBiLT5wd20sIDAsIHBiLT5wZXJpb2QpOworCXB3bV9kaXNhYmxlKHBiLT5wd20pOworCXB3bV9mcmVlKHBiLT5wd20pOworCWtmcmVlKHBiKTsKKwlpZiAoZGF0YS0+ZXhpdCkKKwkJZGF0YS0+ZXhpdCgmcGRldi0+ZGV2KTsKKwlyZXR1cm4gMDsKK30KKworI2lmZGVmIENPTkZJR19QTQorc3RhdGljIGludCBwd21fYmFja2xpZ2h0X3N1c3BlbmQoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwKKwkJCQkgcG1fbWVzc2FnZV90IHN0YXRlKQoreworCXN0cnVjdCBiYWNrbGlnaHRfZGV2aWNlICpibCA9IHBsYXRmb3JtX2dldF9kcnZkYXRhKHBkZXYpOworCXN0cnVjdCBwd21fYmxfZGF0YSAqcGIgPSBkZXZfZ2V0X2RydmRhdGEoJmJsLT5kZXYpOworCisJcHdtX2NvbmZpZyhwYi0+cHdtLCAwLCBwYi0+cGVyaW9kKTsKKwlwd21fZGlzYWJsZShwYi0+cHdtKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBwd21fYmFja2xpZ2h0X3Jlc3VtZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQoreworCXN0cnVjdCBiYWNrbGlnaHRfZGV2aWNlICpibCA9IHBsYXRmb3JtX2dldF9kcnZkYXRhKHBkZXYpOworCisJYmFja2xpZ2h0X3VwZGF0ZV9zdGF0dXMoYmwpOworCXJldHVybiAwOworfQorI2Vsc2UKKyNkZWZpbmUgcHdtX2JhY2tsaWdodF9zdXNwZW5kCU5VTEwKKyNkZWZpbmUgcHdtX2JhY2tsaWdodF9yZXN1bWUJTlVMTAorI2VuZGlmCisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVyIHB3bV9iYWNrbGlnaHRfZHJpdmVyID0geworCS5kcml2ZXIJCT0geworCQkubmFtZQk9ICJwd20tYmFja2xpZ2h0IiwKKwkJLm93bmVyCT0gVEhJU19NT0RVTEUsCisJfSwKKwkucHJvYmUJCT0gcHdtX2JhY2tsaWdodF9wcm9iZSwKKwkucmVtb3ZlCQk9IHB3bV9iYWNrbGlnaHRfcmVtb3ZlLAorCS5zdXNwZW5kCT0gcHdtX2JhY2tsaWdodF9zdXNwZW5kLAorCS5yZXN1bWUJCT0gcHdtX2JhY2tsaWdodF9yZXN1bWUsCit9OworCitzdGF0aWMgaW50IF9faW5pdCBwd21fYmFja2xpZ2h0X2luaXQodm9pZCkKK3sKKwlyZXR1cm4gcGxhdGZvcm1fZHJpdmVyX3JlZ2lzdGVyKCZwd21fYmFja2xpZ2h0X2RyaXZlcik7Cit9Cittb2R1bGVfaW5pdChwd21fYmFja2xpZ2h0X2luaXQpOworCitzdGF0aWMgdm9pZCBfX2V4aXQgcHdtX2JhY2tsaWdodF9leGl0KHZvaWQpCit7CisJcGxhdGZvcm1fZHJpdmVyX3VucmVnaXN0ZXIoJnB3bV9iYWNrbGlnaHRfZHJpdmVyKTsKK30KK21vZHVsZV9leGl0KHB3bV9iYWNrbGlnaHRfZXhpdCk7CisKK01PRFVMRV9ERVNDUklQVElPTigiUFdNIGJhc2VkIEJhY2tsaWdodCBEcml2ZXIiKTsKK01PRFVMRV9MSUNFTlNFKCJHUEwiKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vZmJfZGRjLmMgYi9kcml2ZXJzL3ZpZGVvL2ZiX2RkYy5jCmluZGV4IGEwZGY2MzIuLjBjZjk2ZWIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdmlkZW8vZmJfZGRjLmMKKysrIGIvZHJpdmVycy92aWRlby9mYl9kZGMuYwpAQCAtMTA2LDYgKzEwNiw3IEBACiAJYWxnb19kYXRhLT5zZXRzZGEoYWxnb19kYXRhLT5kYXRhLCAxKTsKIAlhbGdvX2RhdGEtPnNldHNjbChhbGdvX2RhdGEtPmRhdGEsIDEpOwogCisJYWRhcHRlci0+Y2xhc3MgfD0gSTJDX0NMQVNTX0REQzsKIAlyZXR1cm4gZWRpZDsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9mYm1lbS5jIGIvZHJpdmVycy92aWRlby9mYm1lbS5jCmluZGV4IDc3NmY3ZmMuLjMzZWJkYjEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdmlkZW8vZmJtZW0uYworKysgYi9kcml2ZXJzL3ZpZGVvL2ZibWVtLmMKQEAgLTEzMjYsMjAgKzEzMjYsMjcgQEAKIAogCWlmIChmYmlkeCA+PSBGQl9NQVgpCiAJCXJldHVybiAtRU5PREVWOworCWxvY2tfa2VybmVsKCk7CiAjaWZkZWYgQ09ORklHX0tNT0QKIAlpZiAoIShpbmZvID0gcmVnaXN0ZXJlZF9mYltmYmlkeF0pKQogCQl0cnlfdG9fbG9hZChmYmlkeCk7CiAjZW5kaWYgLyogQ09ORklHX0tNT0QgKi8KLQlpZiAoIShpbmZvID0gcmVnaXN0ZXJlZF9mYltmYmlkeF0pKQotCQlyZXR1cm4gLUVOT0RFVjsKLQlpZiAoIXRyeV9tb2R1bGVfZ2V0KGluZm8tPmZib3BzLT5vd25lcikpCi0JCXJldHVybiAtRU5PREVWOworCWlmICghKGluZm8gPSByZWdpc3RlcmVkX2ZiW2ZiaWR4XSkpIHsKKwkJcmVzID0gLUVOT0RFVjsKKwkJZ290byBvdXQ7CisJfQorCWlmICghdHJ5X21vZHVsZV9nZXQoaW5mby0+ZmJvcHMtPm93bmVyKSkgeworCQlyZXMgPSAtRU5PREVWOworCQlnb3RvIG91dDsKKwl9CiAJZmlsZS0+cHJpdmF0ZV9kYXRhID0gaW5mbzsKIAlpZiAoaW5mby0+ZmJvcHMtPmZiX29wZW4pIHsKIAkJcmVzID0gaW5mby0+ZmJvcHMtPmZiX29wZW4oaW5mbywxKTsKIAkJaWYgKHJlcykKIAkJCW1vZHVsZV9wdXQoaW5mby0+ZmJvcHMtPm93bmVyKTsKIAl9CitvdXQ6CisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiByZXM7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vaW50ZWxmYi9pbnRlbGZiX2kyYy5jIGIvZHJpdmVycy92aWRlby9pbnRlbGZiL2ludGVsZmJfaTJjLmMKaW5kZXggY2E5NWYwOS4uZmNmOWZhZCAxMDA2NDQKLS0tIGEvZHJpdmVycy92aWRlby9pbnRlbGZiL2ludGVsZmJfaTJjLmMKKysrIGIvZHJpdmVycy92aWRlby9pbnRlbGZiL2ludGVsZmJfaTJjLmMKQEAgLTEwMCw3ICsxMDAsOCBAQAogCiBzdGF0aWMgaW50IGludGVsZmJfc2V0dXBfaTJjX2J1cyhzdHJ1Y3QgaW50ZWxmYl9pbmZvICpkaW5mbywKIAkJCQkgc3RydWN0IGludGVsZmJfaTJjX2NoYW4gKmNoYW4sCi0JCQkJIGNvbnN0IHUzMiByZWcsIGNvbnN0IGNoYXIgKm5hbWUpCisJCQkJIGNvbnN0IHUzMiByZWcsIGNvbnN0IGNoYXIgKm5hbWUsCisJCQkJIGludCBjbGFzcykKIHsKIAlpbnQgcmM7CiAKQEAgLTEwOCw2ICsxMDksNyBAQAogCWNoYW4tPnJlZwkJCT0gcmVnOwogCXNucHJpbnRmKGNoYW4tPmFkYXB0ZXIubmFtZSwgc2l6ZW9mKGNoYW4tPmFkYXB0ZXIubmFtZSksCiAJCSAiaW50ZWxmYiAlcyIsIG5hbWUpOworCWNoYW4tPmFkYXB0ZXIuY2xhc3MJCT0gY2xhc3M7CiAJY2hhbi0+YWRhcHRlci5vd25lcgkJPSBUSElTX01PRFVMRTsKIAljaGFuLT5hZGFwdGVyLmlkCQk9IEkyQ19IV19CX0lOVEVMRkI7CiAJY2hhbi0+YWRhcHRlci5hbGdvX2RhdGEJCT0gJmNoYW4tPmFsZ287CkBAIC0xNDUsNyArMTQ3LDcgQEAKIAogCS8qIHNldHVwIHRoZSBEREMgYnVzIGZvciBhbmFsb2cgb3V0cHV0ICovCiAJaW50ZWxmYl9zZXR1cF9pMmNfYnVzKGRpbmZvLCAmZGluZm8tPm91dHB1dFtpXS5kZGNfYnVzLCBHUElPQSwKLQkJCSAgICAgICJDUlRERENfQSIpOworCQkJICAgICAgIkNSVEREQ19BIiwgSTJDX0NMQVNTX0REQyk7CiAJaSsrOwogCiAJLyogbmVlZCB0byBhZGQgdGhlIG91dHB1dCBidXNzZXMgZm9yIGVhY2ggZGV2aWNlCkBAIC0xNTksOSArMTYxLDkgQEAKIAljYXNlIElOVEVMXzg2NUc6CiAJCWRpbmZvLT5vdXRwdXRbaV0udHlwZSA9IElOVEVMRkJfT1VUUFVUX0RWTzsKIAkJaW50ZWxmYl9zZXR1cF9pMmNfYnVzKGRpbmZvLCAmZGluZm8tPm91dHB1dFtpXS5kZGNfYnVzLAotCQkJCSAgICAgIEdQSU9ELCAiRFZPRERDX0QiKTsKKwkJCQkgICAgICBHUElPRCwgIkRWT0REQ19EIiwgSTJDX0NMQVNTX0REQyk7CiAJCWludGVsZmJfc2V0dXBfaTJjX2J1cyhkaW5mbywgJmRpbmZvLT5vdXRwdXRbaV0uaTJjX2J1cywKLQkJCQkgICAgICBHUElPRSwgIkRWT0kyQ19FIik7CisJCQkJICAgICAgR1BJT0UsICJEVk9JMkNfRSIsIDApOwogCQlpKys7CiAJCWJyZWFrOwogCWNhc2UgSU5URUxfOTE1RzoKQEAgLTE3NCw3ICsxNzYsNyBAQAogCQkvKiBTRFZPIHBvcnRzIGhhdmUgYSBzaW5nbGUgY29udHJvbCBidXMgLSAyIGRldmljZXMgKi8KIAkJZGluZm8tPm91dHB1dFtpXS50eXBlID0gSU5URUxGQl9PVVRQVVRfU0RWTzsKIAkJaW50ZWxmYl9zZXR1cF9pMmNfYnVzKGRpbmZvLCAmZGluZm8tPm91dHB1dFtpXS5pMmNfYnVzLAotCQkJCSAgICAgIEdQSU9FLCAiU0RWT0NUUkxfRSIpOworCQkJCSAgICAgIEdQSU9FLCAiU0RWT0NUUkxfRSIsIDApOwogCQkvKiBUT0RPOiBpbml0aWFsaXplIHRoZSBTRFZPICovCiAJCS8qIEk4MzBTRFZPSW5pdChwU2NybiwgaSwgRFZPQik7ICovCiAJCWkrKzsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vbWF0cm94L2kyYy1tYXRyb3hmYi5jIGIvZHJpdmVycy92aWRlby9tYXRyb3gvaTJjLW1hdHJveGZiLmMKaW5kZXggNGJhYWI3Yi4uNzVlZTVhMSAxMDA2NDQKLS0tIGEvZHJpdmVycy92aWRlby9tYXRyb3gvaTJjLW1hdHJveGZiLmMKKysrIGIvZHJpdmVycy92aWRlby9tYXRyb3gvaTJjLW1hdHJveGZiLmMKQEAgLTEwNCw3ICsxMDQsOSBAQAogfTsKIAogc3RhdGljIGludCBpMmNfYnVzX3JlZyhzdHJ1Y3QgaTJjX2JpdF9hZGFwdGVyKiBiLCBzdHJ1Y3QgbWF0cm94X2ZiX2luZm8qIG1pbmZvLCAKLQkJdW5zaWduZWQgaW50IGRhdGEsIHVuc2lnbmVkIGludCBjbG9jaywgY29uc3QgY2hhciogbmFtZSkgeworCQl1bnNpZ25lZCBpbnQgZGF0YSwgdW5zaWduZWQgaW50IGNsb2NrLCBjb25zdCBjaGFyICpuYW1lLAorCQlpbnQgY2xhc3MpCit7CiAJaW50IGVycjsKIAogCWItPm1pbmZvID0gbWluZm87CkBAIC0xMTQsNiArMTE2LDcgQEAKIAlzbnByaW50ZihiLT5hZGFwdGVyLm5hbWUsIHNpemVvZihiLT5hZGFwdGVyLm5hbWUpLCBuYW1lLAogCQltaW5mby0+ZmJjb24ubm9kZSk7CiAJaTJjX3NldF9hZGFwZGF0YSgmYi0+YWRhcHRlciwgYik7CisJYi0+YWRhcHRlci5jbGFzcyA9IGNsYXNzOwogCWItPmFkYXB0ZXIuYWxnb19kYXRhID0gJmItPmJhYzsKIAliLT5hZGFwdGVyLmRldi5wYXJlbnQgPSAmQUNDRVNTX0ZCSU5GTyhwY2lkZXYpLT5kZXY7CiAJYi0+YmFjID0gbWF0cm94X2kyY19hbGdvX3RlbXBsYXRlOwpAQCAtMTU5LDIyICsxNjIsMjkgQEAKIAlzd2l0Y2ggKEFDQ0VTU19GQklORk8oY2hpcCkpIHsKIAkJY2FzZSBNR0FfMjA2NDoKIAkJY2FzZSBNR0FfMjE2NDoKLQkJCWVyciA9IGkyY19idXNfcmVnKCZtMmluZm8tPmRkYzEsIG1pbmZvLCBEREMxQl9EQVRBLCBEREMxQl9DTEssICJEREM6ZmIldSAjMCIpOworCQkJZXJyID0gaTJjX2J1c19yZWcoJm0yaW5mby0+ZGRjMSwgbWluZm8sCisJCQkJCSAgRERDMUJfREFUQSwgRERDMUJfQ0xLLAorCQkJCQkgICJEREM6ZmIldSAjMCIsIEkyQ19DTEFTU19EREMpOwogCQkJYnJlYWs7CiAJCWRlZmF1bHQ6Ci0JCQllcnIgPSBpMmNfYnVzX3JlZygmbTJpbmZvLT5kZGMxLCBtaW5mbywgRERDMV9EQVRBLCBEREMxX0NMSywgIkREQzpmYiV1ICMwIik7CisJCQllcnIgPSBpMmNfYnVzX3JlZygmbTJpbmZvLT5kZGMxLCBtaW5mbywKKwkJCQkJICBEREMxX0RBVEEsIEREQzFfQ0xLLAorCQkJCQkgICJEREM6ZmIldSAjMCIsIEkyQ19DTEFTU19EREMpOwogCQkJYnJlYWs7CiAJfQogCWlmIChlcnIpCiAJCWdvdG8gZmFpbF9kZGMxOwogCWlmIChBQ0NFU1NfRkJJTkZPKGRldmZsYWdzLmR1YWxoZWFkKSkgewotCQllcnIgPSBpMmNfYnVzX3JlZygmbTJpbmZvLT5kZGMyLCBtaW5mbywgRERDMl9EQVRBLCBEREMyX0NMSywgIkREQzpmYiV1ICMxIik7CisJCWVyciA9IGkyY19idXNfcmVnKCZtMmluZm8tPmRkYzIsIG1pbmZvLAorCQkJCSAgRERDMl9EQVRBLCBEREMyX0NMSywKKwkJCQkgICJEREM6ZmIldSAjMSIsIEkyQ19DTEFTU19EREMpOwogCQlpZiAoZXJyID09IC1FTk9ERVYpIHsKIAkJCXByaW50ayhLRVJOX0lORk8gImkyYy1tYXRyb3hmYjogVkdBLT5UViBwbHVnIGRldGVjdGVkLCBEREMgdW5hdmFpbGFibGUuXG4iKTsKIAkJfSBlbHNlIGlmIChlcnIpCiAJCQlwcmludGsoS0VSTl9JTkZPICJpMmMtbWF0cm94ZmI6IENvdWxkIG5vdCByZWdpc3RlciBzZWNvbmRhcnkgb3V0cHV0IGkyYyBidXMuIENvbnRpbnVpbmcgYW55d2F5LlxuIik7CiAJCS8qIFJlZ2lzdGVyIG1hdmVuIGJ1cyBldmVuIG9uIEc0NTAvRzU1MCAqLwotCQllcnIgPSBpMmNfYnVzX3JlZygmbTJpbmZvLT5tYXZlbiwgbWluZm8sIE1BVF9EQVRBLCBNQVRfQ0xLLCAiTUFWRU46ZmIldSIpOworCQllcnIgPSBpMmNfYnVzX3JlZygmbTJpbmZvLT5tYXZlbiwgbWluZm8sCisJCQkJICBNQVRfREFUQSwgTUFUX0NMSywgIk1BVkVOOmZiJXUiLCAwKTsKIAkJaWYgKGVycikKIAkJCXByaW50ayhLRVJOX0lORk8gImkyYy1tYXRyb3hmYjogQ291bGQgbm90IHJlZ2lzdGVyIE1hdmVuIGkyYyBidXMuIENvbnRpbnVpbmcgYW55d2F5LlxuIik7CiAJfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9weGFmYi5jIGIvZHJpdmVycy92aWRlby9weGFmYi5jCmluZGV4IGZhZmU3ZGIuLmQwNzQ2MjYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdmlkZW8vcHhhZmIuYworKysgYi9kcml2ZXJzL3ZpZGVvL3B4YWZiLmMKQEAgLTE3OTIsMTEgKzE3OTIsNDkgQEAKIAlyZXR1cm4gcmV0OwogfQogCitzdGF0aWMgaW50IF9fZGV2ZXhpdCBweGFmYl9yZW1vdmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqZGV2KQoreworCXN0cnVjdCBweGFmYl9pbmZvICpmYmkgPSBwbGF0Zm9ybV9nZXRfZHJ2ZGF0YShkZXYpOworCXN0cnVjdCByZXNvdXJjZSAqcjsKKwlpbnQgaXJxOworCXN0cnVjdCBmYl9pbmZvICppbmZvOworCisJaWYgKCFmYmkpCisJCXJldHVybiAwOworCisJaW5mbyA9ICZmYmktPmZiOworCisJdW5yZWdpc3Rlcl9mcmFtZWJ1ZmZlcihpbmZvKTsKKworCXB4YWZiX2Rpc2FibGVfY29udHJvbGxlcihmYmkpOworCisJaWYgKGZiaS0+ZmIuY21hcC5sZW4pCisJCWZiX2RlYWxsb2NfY21hcCgmZmJpLT5mYi5jbWFwKTsKKworCWlycSA9IHBsYXRmb3JtX2dldF9pcnEoZGV2LCAwKTsKKwlmcmVlX2lycShpcnEsIGZiaSk7CisKKwlkbWFfZnJlZV93cml0ZWNvbWJpbmUoJmRldi0+ZGV2LCBmYmktPm1hcF9zaXplLAorCQkJCQlmYmktPm1hcF9jcHUsIGZiaS0+bWFwX2RtYSk7CisKKwlpb3VubWFwKGZiaS0+bW1pb19iYXNlKTsKKworCXIgPSBwbGF0Zm9ybV9nZXRfcmVzb3VyY2UoZGV2LCBJT1JFU09VUkNFX01FTSwgMCk7CisJcmVsZWFzZV9tZW1fcmVnaW9uKHItPnN0YXJ0LCByLT5lbmQgLSByLT5zdGFydCArIDEpOworCisJY2xrX3B1dChmYmktPmNsayk7CisJa2ZyZWUoZmJpKTsKKworCXJldHVybiAwOworfQorCiBzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RyaXZlciBweGFmYl9kcml2ZXIgPSB7CiAJLnByb2JlCQk9IHB4YWZiX3Byb2JlLAorCS5yZW1vdmUgCT0gcHhhZmJfcmVtb3ZlLAogCS5zdXNwZW5kCT0gcHhhZmJfc3VzcGVuZCwKIAkucmVzdW1lCQk9IHB4YWZiX3Jlc3VtZSwKIAkuZHJpdmVyCQk9IHsKKwkJLm93bmVyCT0gVEhJU19NT0RVTEUsCiAJCS5uYW1lCT0gInB4YTJ4eC1mYiIsCiAJfSwKIH07CkBAIC0xODA5LDcgKzE4NDcsMTMgQEAKIAlyZXR1cm4gcGxhdGZvcm1fZHJpdmVyX3JlZ2lzdGVyKCZweGFmYl9kcml2ZXIpOwogfQogCitzdGF0aWMgdm9pZCBfX2V4aXQgcHhhZmJfZXhpdCh2b2lkKQoreworCXBsYXRmb3JtX2RyaXZlcl91bnJlZ2lzdGVyKCZweGFmYl9kcml2ZXIpOworfQorCiBtb2R1bGVfaW5pdChweGFmYl9pbml0KTsKK21vZHVsZV9leGl0KHB4YWZiX2V4aXQpOwogCiBNT0RVTEVfREVTQ1JJUFRJT04oImxvYWRhYmxlIGZyYW1lYnVmZmVyIGRyaXZlciBmb3IgUFhBIik7CiBNT0RVTEVfTElDRU5TRSgiR1BMIik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL3NnaXZ3ZmIuYyBiL2RyaXZlcnMvdmlkZW8vc2dpdndmYi5jCmluZGV4IDRmYjE2MjQuLmY1MjUyYzIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdmlkZW8vc2dpdndmYi5jCisrKyBiL2RyaXZlcnMvdmlkZW8vc2dpdndmYi5jCkBAIC0yMSw4ICsyMSw3IEBACiAKICNpbmNsdWRlIDxhc20vaW8uaD4KICNpbmNsdWRlIDxhc20vbXRyci5oPgotCi0jaW5jbHVkZSA8c2V0dXBfYXJjaC5oPgorI2luY2x1ZGUgPGFzbS92aXN3cy9zZ2l2dy5oPgogCiAjZGVmaW5lIElOQ0xVREVfVElNSU5HX1RBQkxFX0RBVEEKICNkZWZpbmUgREJFX1JFR19CQVNFIHBhci0+cmVncwpkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby94ZW4tZmJmcm9udC5jIGIvZHJpdmVycy92aWRlby94ZW4tZmJmcm9udC5jCmluZGV4IDYxOWE2ZjguLjQ3ZWQzOWIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdmlkZW8veGVuLWZiZnJvbnQuYworKysgYi9kcml2ZXJzL3ZpZGVvL3hlbi1mYmZyb250LmMKQEAgLTE4LDYgKzE4LDcgQEAKICAqIGZyYW1lIGJ1ZmZlci4KICAqLwogCisjaW5jbHVkZSA8bGludXgvY29uc29sZS5oPgogI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgogI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CiAjaW5jbHVkZSA8bGludXgvZmIuaD4KQEAgLTQyLDM3ICs0Myw2OCBAQAogCXN0cnVjdCB4ZW5mYl9wYWdlCSpwYWdlOwogCXVuc2lnbmVkIGxvbmcgCQkqbWZuczsKIAlpbnQJCQl1cGRhdGVfd2FudGVkOyAvKiBYRU5GQl9UWVBFX1VQREFURSB3YW50ZWQgKi8KKwlpbnQJCQlmZWF0dXJlX3Jlc2l6ZTsgLyogWEVORkJfVFlQRV9SRVNJWkUgb2sgKi8KKwlzdHJ1Y3QgeGVuZmJfcmVzaXplCXJlc2l6ZTsJCS8qIHByb3RlY3RlZCBieSByZXNpemVfbG9jayAqLworCWludAkJCXJlc2l6ZV9kcHk7CS8qIGRpdHRvICovCisJc3BpbmxvY2tfdAkJcmVzaXplX2xvY2s7CiAKIAlzdHJ1Y3QgeGVuYnVzX2RldmljZQkqeGJkZXY7CiB9OwogCi1zdGF0aWMgdTMyIHhlbmZiX21lbV9sZW4gPSBYRU5GQl9XSURUSCAqIFhFTkZCX0hFSUdIVCAqIFhFTkZCX0RFUFRIIC8gODsKKyNkZWZpbmUgWEVORkJfREVGQVVMVF9GQl9MRU4gKFhFTkZCX1dJRFRIICogWEVORkJfSEVJR0hUICogWEVORkJfREVQVEggLyA4KQogCitlbnVtIHsgS1BBUkFNX01FTSwgS1BBUkFNX1dJRFRILCBLUEFSQU1fSEVJR0hULCBLUEFSQU1fQ05UIH07CitzdGF0aWMgaW50IHZpZGVvW0tQQVJBTV9DTlRdID0geyAyLCBYRU5GQl9XSURUSCwgWEVORkJfSEVJR0hUIH07Cittb2R1bGVfcGFyYW1fYXJyYXkodmlkZW8sIGludCwgTlVMTCwgMCk7CitNT0RVTEVfUEFSTV9ERVNDKHZpZGVvLAorCSJWaWRlbyBtZW1vcnkgc2l6ZSBpbiBNQiwgd2lkdGgsIGhlaWdodCBpbiBwaXhlbHMgKGRlZmF1bHQgMiw4MDAsNjAwKSIpOworCitzdGF0aWMgdm9pZCB4ZW5mYl9tYWtlX3ByZWZlcnJlZF9jb25zb2xlKHZvaWQpOwogc3RhdGljIGludCB4ZW5mYl9yZW1vdmUoc3RydWN0IHhlbmJ1c19kZXZpY2UgKik7Ci1zdGF0aWMgdm9pZCB4ZW5mYl9pbml0X3NoYXJlZF9wYWdlKHN0cnVjdCB4ZW5mYl9pbmZvICopOworc3RhdGljIHZvaWQgeGVuZmJfaW5pdF9zaGFyZWRfcGFnZShzdHJ1Y3QgeGVuZmJfaW5mbyAqLCBzdHJ1Y3QgZmJfaW5mbyAqKTsKIHN0YXRpYyBpbnQgeGVuZmJfY29ubmVjdF9iYWNrZW5kKHN0cnVjdCB4ZW5idXNfZGV2aWNlICosIHN0cnVjdCB4ZW5mYl9pbmZvICopOwogc3RhdGljIHZvaWQgeGVuZmJfZGlzY29ubmVjdF9iYWNrZW5kKHN0cnVjdCB4ZW5mYl9pbmZvICopOwogCitzdGF0aWMgdm9pZCB4ZW5mYl9zZW5kX2V2ZW50KHN0cnVjdCB4ZW5mYl9pbmZvICppbmZvLAorCQkJICAgICB1bmlvbiB4ZW5mYl9vdXRfZXZlbnQgKmV2ZW50KQoreworCXUzMiBwcm9kOworCisJcHJvZCA9IGluZm8tPnBhZ2UtPm91dF9wcm9kOworCS8qIGNhbGxlciBlbnN1cmVzICF4ZW5mYl9xdWV1ZV9mdWxsKCkgKi8KKwltYigpOwkJCS8qIGVuc3VyZSByaW5nIHNwYWNlIGF2YWlsYWJsZSAqLworCVhFTkZCX09VVF9SSU5HX1JFRihpbmZvLT5wYWdlLCBwcm9kKSA9ICpldmVudDsKKwl3bWIoKTsJCQkvKiBlbnN1cmUgcmluZyBjb250ZW50cyB2aXNpYmxlICovCisJaW5mby0+cGFnZS0+b3V0X3Byb2QgPSBwcm9kICsgMTsKKworCW5vdGlmeV9yZW1vdGVfdmlhX2lycShpbmZvLT5pcnEpOworfQorCiBzdGF0aWMgdm9pZCB4ZW5mYl9kb191cGRhdGUoc3RydWN0IHhlbmZiX2luZm8gKmluZm8sCiAJCQkgICAgaW50IHgsIGludCB5LCBpbnQgdywgaW50IGgpCiB7CiAJdW5pb24geGVuZmJfb3V0X2V2ZW50IGV2ZW50OwotCXUzMiBwcm9kOwogCisJbWVtc2V0KCZldmVudCwgMCwgc2l6ZW9mKGV2ZW50KSk7CiAJZXZlbnQudHlwZSA9IFhFTkZCX1RZUEVfVVBEQVRFOwogCWV2ZW50LnVwZGF0ZS54ID0geDsKIAlldmVudC51cGRhdGUueSA9IHk7CiAJZXZlbnQudXBkYXRlLndpZHRoID0gdzsKIAlldmVudC51cGRhdGUuaGVpZ2h0ID0gaDsKIAotCXByb2QgPSBpbmZvLT5wYWdlLT5vdXRfcHJvZDsKIAkvKiBjYWxsZXIgZW5zdXJlcyAheGVuZmJfcXVldWVfZnVsbCgpICovCi0JbWIoKTsJCQkvKiBlbnN1cmUgcmluZyBzcGFjZSBhdmFpbGFibGUgKi8KLQlYRU5GQl9PVVRfUklOR19SRUYoaW5mby0+cGFnZSwgcHJvZCkgPSBldmVudDsKLQl3bWIoKTsJCQkvKiBlbnN1cmUgcmluZyBjb250ZW50cyB2aXNpYmxlICovCi0JaW5mby0+cGFnZS0+b3V0X3Byb2QgPSBwcm9kICsgMTsKKwl4ZW5mYl9zZW5kX2V2ZW50KGluZm8sICZldmVudCk7Cit9CiAKLQlub3RpZnlfcmVtb3RlX3ZpYV9pcnEoaW5mby0+aXJxKTsKK3N0YXRpYyB2b2lkIHhlbmZiX2RvX3Jlc2l6ZShzdHJ1Y3QgeGVuZmJfaW5mbyAqaW5mbykKK3sKKwl1bmlvbiB4ZW5mYl9vdXRfZXZlbnQgZXZlbnQ7CisKKwltZW1zZXQoJmV2ZW50LCAwLCBzaXplb2YoZXZlbnQpKTsKKwlldmVudC5yZXNpemUgPSBpbmZvLT5yZXNpemU7CisKKwkvKiBjYWxsZXIgZW5zdXJlcyAheGVuZmJfcXVldWVfZnVsbCgpICovCisJeGVuZmJfc2VuZF9ldmVudChpbmZvLCAmZXZlbnQpOwogfQogCiBzdGF0aWMgaW50IHhlbmZiX3F1ZXVlX2Z1bGwoc3RydWN0IHhlbmZiX2luZm8gKmluZm8pCkBAIC04NCwxMiArMTE2LDI4IEBACiAJcmV0dXJuIHByb2QgLSBjb25zID09IFhFTkZCX09VVF9SSU5HX0xFTjsKIH0KIAorc3RhdGljIHZvaWQgeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkoc3RydWN0IHhlbmZiX2luZm8gKmluZm8pCit7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKworCXNwaW5fbG9ja19pcnFzYXZlKCZpbmZvLT5yZXNpemVfbG9jaywgZmxhZ3MpOworCWlmIChpbmZvLT5yZXNpemVfZHB5KSB7CisJCWlmICgheGVuZmJfcXVldWVfZnVsbChpbmZvKSkgeworCQkJaW5mby0+cmVzaXplX2RweSA9IDA7CisJCQl4ZW5mYl9kb19yZXNpemUoaW5mbyk7CisJCX0KKwl9CisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmaW5mby0+cmVzaXplX2xvY2ssIGZsYWdzKTsKK30KKwogc3RhdGljIHZvaWQgeGVuZmJfcmVmcmVzaChzdHJ1Y3QgeGVuZmJfaW5mbyAqaW5mbywKIAkJCSAgaW50IHgxLCBpbnQgeTEsIGludCB3LCBpbnQgaCkKIHsKIAl1bnNpZ25lZCBsb25nIGZsYWdzOwotCWludCB5MiA9IHkxICsgaCAtIDE7CiAJaW50IHgyID0geDEgKyB3IC0gMTsKKwlpbnQgeTIgPSB5MSArIGggLSAxOworCisJeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkoaW5mbyk7CiAKIAlpZiAoIWluZm8tPnVwZGF0ZV93YW50ZWQpCiAJCXJldHVybjsKQEAgLTIyMiw2ICsyNzAsNTcgQEAKIAlyZXR1cm4gcmVzOwogfQogCitzdGF0aWMgaW50Cit4ZW5mYl9jaGVja192YXIoc3RydWN0IGZiX3Zhcl9zY3JlZW5pbmZvICp2YXIsIHN0cnVjdCBmYl9pbmZvICppbmZvKQoreworCXN0cnVjdCB4ZW5mYl9pbmZvICp4ZW5mYl9pbmZvOworCWludCByZXF1aXJlZF9tZW1fbGVuOworCisJeGVuZmJfaW5mbyA9IGluZm8tPnBhcjsKKworCWlmICgheGVuZmJfaW5mby0+ZmVhdHVyZV9yZXNpemUpIHsKKwkJaWYgKHZhci0+eHJlcyA9PSB2aWRlb1tLUEFSQU1fV0lEVEhdICYmCisJCSAgICB2YXItPnlyZXMgPT0gdmlkZW9bS1BBUkFNX0hFSUdIVF0gJiYKKwkJICAgIHZhci0+Yml0c19wZXJfcGl4ZWwgPT0geGVuZmJfaW5mby0+cGFnZS0+ZGVwdGgpIHsKKwkJCXJldHVybiAwOworCQl9CisJCXJldHVybiAtRUlOVkFMOworCX0KKworCS8qIENhbid0IHJlc2l6ZSBwYXN0IGluaXRpYWwgd2lkdGggYW5kIGhlaWdodCAqLworCWlmICh2YXItPnhyZXMgPiB2aWRlb1tLUEFSQU1fV0lEVEhdIHx8IHZhci0+eXJlcyA+IHZpZGVvW0tQQVJBTV9IRUlHSFRdKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCXJlcXVpcmVkX21lbV9sZW4gPSB2YXItPnhyZXMgKiB2YXItPnlyZXMgKiB4ZW5mYl9pbmZvLT5wYWdlLT5kZXB0aCAvIDg7CisJaWYgKHZhci0+Yml0c19wZXJfcGl4ZWwgPT0geGVuZmJfaW5mby0+cGFnZS0+ZGVwdGggJiYKKwkgICAgdmFyLT54cmVzIDw9IGluZm8tPmZpeC5saW5lX2xlbmd0aCAvIChYRU5GQl9ERVBUSCAvIDgpICYmCisJICAgIHJlcXVpcmVkX21lbV9sZW4gPD0gaW5mby0+Zml4LnNtZW1fbGVuKSB7CisJCXZhci0+eHJlc192aXJ0dWFsID0gdmFyLT54cmVzOworCQl2YXItPnlyZXNfdmlydHVhbCA9IHZhci0+eXJlczsKKwkJcmV0dXJuIDA7CisJfQorCXJldHVybiAtRUlOVkFMOworfQorCitzdGF0aWMgaW50IHhlbmZiX3NldF9wYXIoc3RydWN0IGZiX2luZm8gKmluZm8pCit7CisJc3RydWN0IHhlbmZiX2luZm8gKnhlbmZiX2luZm87CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKworCXhlbmZiX2luZm8gPSBpbmZvLT5wYXI7CisKKwlzcGluX2xvY2tfaXJxc2F2ZSgmeGVuZmJfaW5mby0+cmVzaXplX2xvY2ssIGZsYWdzKTsKKwl4ZW5mYl9pbmZvLT5yZXNpemUudHlwZSA9IFhFTkZCX1RZUEVfUkVTSVpFOworCXhlbmZiX2luZm8tPnJlc2l6ZS53aWR0aCA9IGluZm8tPnZhci54cmVzOworCXhlbmZiX2luZm8tPnJlc2l6ZS5oZWlnaHQgPSBpbmZvLT52YXIueXJlczsKKwl4ZW5mYl9pbmZvLT5yZXNpemUuc3RyaWRlID0gaW5mby0+Zml4LmxpbmVfbGVuZ3RoOworCXhlbmZiX2luZm8tPnJlc2l6ZS5kZXB0aCA9IGluZm8tPnZhci5iaXRzX3Blcl9waXhlbDsKKwl4ZW5mYl9pbmZvLT5yZXNpemUub2Zmc2V0ID0gMDsKKwl4ZW5mYl9pbmZvLT5yZXNpemVfZHB5ID0gMTsKKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZ4ZW5mYl9pbmZvLT5yZXNpemVfbG9jaywgZmxhZ3MpOworCXJldHVybiAwOworfQorCiBzdGF0aWMgc3RydWN0IGZiX29wcyB4ZW5mYl9mYl9vcHMgPSB7CiAJLm93bmVyCQk9IFRISVNfTU9EVUxFLAogCS5mYl9yZWFkCT0gZmJfc3lzX3JlYWQsCkBAIC0yMzAsNiArMzI5LDggQEAKIAkuZmJfZmlsbHJlY3QJPSB4ZW5mYl9maWxscmVjdCwKIAkuZmJfY29weWFyZWEJPSB4ZW5mYl9jb3B5YXJlYSwKIAkuZmJfaW1hZ2VibGl0CT0geGVuZmJfaW1hZ2VibGl0LAorCS5mYl9jaGVja192YXIJPSB4ZW5mYl9jaGVja192YXIsCisJLmZiX3NldF9wYXIgICAgID0geGVuZmJfc2V0X3BhciwKIH07CiAKIHN0YXRpYyBpcnFyZXR1cm5fdCB4ZW5mYl9ldmVudF9oYW5kbGVyKGludCBycSwgdm9pZCAqZGV2X2lkKQpAQCAtMjU4LDYgKzM1OSw4IEBACiB7CiAJc3RydWN0IHhlbmZiX2luZm8gKmluZm87CiAJc3RydWN0IGZiX2luZm8gKmZiX2luZm87CisJaW50IGZiX3NpemU7CisJaW50IHZhbDsKIAlpbnQgcmV0OwogCiAJaW5mbyA9IGt6YWxsb2Moc2l6ZW9mKCppbmZvKSwgR0ZQX0tFUk5FTCk7CkBAIC0yNjUsMTggKzM2OCwzNSBAQAogCQl4ZW5idXNfZGV2X2ZhdGFsKGRldiwgLUVOT01FTSwgImFsbG9jYXRpbmcgaW5mbyBzdHJ1Y3R1cmUiKTsKIAkJcmV0dXJuIC1FTk9NRU07CiAJfQorCisJLyogTGltaXQga2VybmVsIHBhcmFtIHZpZGVvcmFtIGFtb3VudCB0byB3aGF0IGlzIGluIHhlbnN0b3JlICovCisJaWYgKHhlbmJ1c19zY2FuZihYQlRfTklMLCBkZXYtPm90aGVyZW5kLCAidmlkZW9yYW0iLCAiJWQiLCAmdmFsKSA9PSAxKSB7CisJCWlmICh2YWwgPCB2aWRlb1tLUEFSQU1fTUVNXSkKKwkJCXZpZGVvW0tQQVJBTV9NRU1dID0gdmFsOworCX0KKworCS8qIElmIHJlcXVlc3RlZCByZXMgZG9lcyBub3QgZml0IGluIGF2YWlsYWJsZSBtZW1vcnksIHVzZSBkZWZhdWx0ICovCisJZmJfc2l6ZSA9IHZpZGVvW0tQQVJBTV9NRU1dICogMTAyNCAqIDEwMjQ7CisJaWYgKHZpZGVvW0tQQVJBTV9XSURUSF0gKiB2aWRlb1tLUEFSQU1fSEVJR0hUXSAqIFhFTkZCX0RFUFRIIC8gOAorCSAgICA+IGZiX3NpemUpIHsKKwkJdmlkZW9bS1BBUkFNX1dJRFRIXSA9IFhFTkZCX1dJRFRIOworCQl2aWRlb1tLUEFSQU1fSEVJR0hUXSA9IFhFTkZCX0hFSUdIVDsKKwkJZmJfc2l6ZSA9IFhFTkZCX0RFRkFVTFRfRkJfTEVOOworCX0KKwogCWRldi0+ZGV2LmRyaXZlcl9kYXRhID0gaW5mbzsKIAlpbmZvLT54YmRldiA9IGRldjsKIAlpbmZvLT5pcnEgPSAtMTsKIAlpbmZvLT54MSA9IGluZm8tPnkxID0gSU5UX01BWDsKIAlzcGluX2xvY2tfaW5pdCgmaW5mby0+ZGlydHlfbG9jayk7CisJc3Bpbl9sb2NrX2luaXQoJmluZm8tPnJlc2l6ZV9sb2NrKTsKIAotCWluZm8tPmZiID0gdm1hbGxvYyh4ZW5mYl9tZW1fbGVuKTsKKwlpbmZvLT5mYiA9IHZtYWxsb2MoZmJfc2l6ZSk7CiAJaWYgKGluZm8tPmZiID09IE5VTEwpCiAJCWdvdG8gZXJyb3Jfbm9tZW07Ci0JbWVtc2V0KGluZm8tPmZiLCAwLCB4ZW5mYl9tZW1fbGVuKTsKKwltZW1zZXQoaW5mby0+ZmIsIDAsIGZiX3NpemUpOwogCi0JaW5mby0+bnJfcGFnZXMgPSAoeGVuZmJfbWVtX2xlbiArIFBBR0VfU0laRSAtIDEpID4+IFBBR0VfU0hJRlQ7CisJaW5mby0+bnJfcGFnZXMgPSAoZmJfc2l6ZSArIFBBR0VfU0laRSAtIDEpID4+IFBBR0VfU0hJRlQ7CiAKIAlpbmZvLT5tZm5zID0gdm1hbGxvYyhzaXplb2YodW5zaWduZWQgbG9uZykgKiBpbmZvLT5ucl9wYWdlcyk7CiAJaWYgKCFpbmZvLT5tZm5zKQpAQCAtMjg3LDggKzQwNyw2IEBACiAJaWYgKCFpbmZvLT5wYWdlKQogCQlnb3RvIGVycm9yX25vbWVtOwogCi0JeGVuZmJfaW5pdF9zaGFyZWRfcGFnZShpbmZvKTsKLQogCS8qIGFidXNpbmcgZnJhbWVidWZmZXJfYWxsb2MoKSB0byBhbGxvY2F0ZSBwc2V1ZG9fcGFsZXR0ZSAqLwogCWZiX2luZm8gPSBmcmFtZWJ1ZmZlcl9hbGxvYyhzaXplb2YodTMyKSAqIDI1NiwgTlVMTCk7CiAJaWYgKGZiX2luZm8gPT0gTlVMTCkKQEAgLTMwMSw5ICs0MTksOSBAQAogCWZiX2luZm8tPnNjcmVlbl9iYXNlID0gaW5mby0+ZmI7CiAKIAlmYl9pbmZvLT5mYm9wcyA9ICZ4ZW5mYl9mYl9vcHM7Ci0JZmJfaW5mby0+dmFyLnhyZXNfdmlydHVhbCA9IGZiX2luZm8tPnZhci54cmVzID0gaW5mby0+cGFnZS0+d2lkdGg7Ci0JZmJfaW5mby0+dmFyLnlyZXNfdmlydHVhbCA9IGZiX2luZm8tPnZhci55cmVzID0gaW5mby0+cGFnZS0+aGVpZ2h0OwotCWZiX2luZm8tPnZhci5iaXRzX3Blcl9waXhlbCA9IGluZm8tPnBhZ2UtPmRlcHRoOworCWZiX2luZm8tPnZhci54cmVzX3ZpcnR1YWwgPSBmYl9pbmZvLT52YXIueHJlcyA9IHZpZGVvW0tQQVJBTV9XSURUSF07CisJZmJfaW5mby0+dmFyLnlyZXNfdmlydHVhbCA9IGZiX2luZm8tPnZhci55cmVzID0gdmlkZW9bS1BBUkFNX0hFSUdIVF07CisJZmJfaW5mby0+dmFyLmJpdHNfcGVyX3BpeGVsID0gWEVORkJfREVQVEg7CiAKIAlmYl9pbmZvLT52YXIucmVkID0gKHN0cnVjdCBmYl9iaXRmaWVsZCl7MTYsIDgsIDB9OwogCWZiX2luZm8tPnZhci5ncmVlbiA9IChzdHJ1Y3QgZmJfYml0ZmllbGQpezgsIDgsIDB9OwpAQCAtMzE1LDkgKzQzMyw5IEBACiAJZmJfaW5mby0+dmFyLnZtb2RlID0gRkJfVk1PREVfTk9OSU5URVJMQUNFRDsKIAogCWZiX2luZm8tPmZpeC52aXN1YWwgPSBGQl9WSVNVQUxfVFJVRUNPTE9SOwotCWZiX2luZm8tPmZpeC5saW5lX2xlbmd0aCA9IGluZm8tPnBhZ2UtPmxpbmVfbGVuZ3RoOworCWZiX2luZm8tPmZpeC5saW5lX2xlbmd0aCA9IGZiX2luZm8tPnZhci54cmVzICogWEVORkJfREVQVEggLyA4OwogCWZiX2luZm8tPmZpeC5zbWVtX3N0YXJ0ID0gMDsKLQlmYl9pbmZvLT5maXguc21lbV9sZW4gPSB4ZW5mYl9tZW1fbGVuOworCWZiX2luZm8tPmZpeC5zbWVtX2xlbiA9IGZiX3NpemU7CiAJc3RyY3B5KGZiX2luZm8tPmZpeC5pZCwgInhlbiIpOwogCWZiX2luZm8tPmZpeC50eXBlID0gRkJfVFlQRV9QQUNLRURfUElYRUxTOwogCWZiX2luZm8tPmZpeC5hY2NlbCA9IEZCX0FDQ0VMX05PTkU7CkBAIC0zMzQsNiArNDUyLDggQEAKIAlmYl9pbmZvLT5mYmRlZmlvID0gJnhlbmZiX2RlZmlvOwogCWZiX2RlZmVycmVkX2lvX2luaXQoZmJfaW5mbyk7CiAKKwl4ZW5mYl9pbml0X3NoYXJlZF9wYWdlKGluZm8sIGZiX2luZm8pOworCiAJcmV0ID0gcmVnaXN0ZXJfZnJhbWVidWZmZXIoZmJfaW5mbyk7CiAJaWYgKHJldCkgewogCQlmYl9kZWZlcnJlZF9pb19jbGVhbnVwKGZiX2luZm8pOwpAQCAtMzQ4LDYgKzQ2OCw3IEBACiAJaWYgKHJldCA8IDApCiAJCWdvdG8gZXJyb3I7CiAKKwl4ZW5mYl9tYWtlX3ByZWZlcnJlZF9jb25zb2xlKCk7CiAJcmV0dXJuIDA7CiAKICBlcnJvcl9ub21lbToKQEAgLTM1OCwxMiArNDc5LDM0IEBACiAJcmV0dXJuIHJldDsKIH0KIAorc3RhdGljIF9fZGV2aW5pdCB2b2lkCit4ZW5mYl9tYWtlX3ByZWZlcnJlZF9jb25zb2xlKHZvaWQpCit7CisJc3RydWN0IGNvbnNvbGUgKmM7CisKKwlpZiAoY29uc29sZV9zZXRfb25fY21kbGluZSkKKwkJcmV0dXJuOworCisJYWNxdWlyZV9jb25zb2xlX3NlbSgpOworCWZvciAoYyA9IGNvbnNvbGVfZHJpdmVyczsgYzsgYyA9IGMtPm5leHQpIHsKKwkJaWYgKCFzdHJjbXAoYy0+bmFtZSwgInR0eSIpICYmIGMtPmluZGV4ID09IDApCisJCQlicmVhazsKKwl9CisJcmVsZWFzZV9jb25zb2xlX3NlbSgpOworCWlmIChjKSB7CisJCXVucmVnaXN0ZXJfY29uc29sZShjKTsKKwkJYy0+ZmxhZ3MgfD0gQ09OX0NPTlNERVY7CisJCWMtPmZsYWdzICY9IH5DT05fUFJJTlRCVUZGRVI7IC8qIGRvbid0IHByaW50IGFnYWluICovCisJCXJlZ2lzdGVyX2NvbnNvbGUoYyk7CisJfQorfQorCiBzdGF0aWMgaW50IHhlbmZiX3Jlc3VtZShzdHJ1Y3QgeGVuYnVzX2RldmljZSAqZGV2KQogewogCXN0cnVjdCB4ZW5mYl9pbmZvICppbmZvID0gZGV2LT5kZXYuZHJpdmVyX2RhdGE7CiAKIAl4ZW5mYl9kaXNjb25uZWN0X2JhY2tlbmQoaW5mbyk7Ci0JeGVuZmJfaW5pdF9zaGFyZWRfcGFnZShpbmZvKTsKKwl4ZW5mYl9pbml0X3NoYXJlZF9wYWdlKGluZm8sIGluZm8tPmZiX2luZm8pOwogCXJldHVybiB4ZW5mYl9jb25uZWN0X2JhY2tlbmQoZGV2LCBpbmZvKTsKIH0KIApAQCAtMzkxLDIwICs1MzQsMjMgQEAKIAlyZXR1cm4gcGZuX3RvX21mbih2bWFsbG9jX3RvX3BmbihhZGRyZXNzKSk7CiB9CiAKLXN0YXRpYyB2b2lkIHhlbmZiX2luaXRfc2hhcmVkX3BhZ2Uoc3RydWN0IHhlbmZiX2luZm8gKmluZm8pCitzdGF0aWMgdm9pZCB4ZW5mYl9pbml0X3NoYXJlZF9wYWdlKHN0cnVjdCB4ZW5mYl9pbmZvICppbmZvLAorCQkJCSAgIHN0cnVjdCBmYl9pbmZvICpmYl9pbmZvKQogewogCWludCBpOworCWludCBlcGQgPSBQQUdFX1NJWkUgLyBzaXplb2YoaW5mby0+bWZuc1swXSk7CiAKIAlmb3IgKGkgPSAwOyBpIDwgaW5mby0+bnJfcGFnZXM7IGkrKykKIAkJaW5mby0+bWZuc1tpXSA9IHZtYWxsb2NfdG9fbWZuKGluZm8tPmZiICsgaSAqIFBBR0VfU0laRSk7CiAKLQlpbmZvLT5wYWdlLT5wZFswXSA9IHZtYWxsb2NfdG9fbWZuKGluZm8tPm1mbnMpOwotCWluZm8tPnBhZ2UtPnBkWzFdID0gMDsKLQlpbmZvLT5wYWdlLT53aWR0aCA9IFhFTkZCX1dJRFRIOwotCWluZm8tPnBhZ2UtPmhlaWdodCA9IFhFTkZCX0hFSUdIVDsKLQlpbmZvLT5wYWdlLT5kZXB0aCA9IFhFTkZCX0RFUFRIOwotCWluZm8tPnBhZ2UtPmxpbmVfbGVuZ3RoID0gKGluZm8tPnBhZ2UtPmRlcHRoIC8gOCkgKiBpbmZvLT5wYWdlLT53aWR0aDsKLQlpbmZvLT5wYWdlLT5tZW1fbGVuZ3RoID0geGVuZmJfbWVtX2xlbjsKKwlmb3IgKGkgPSAwOyBpICogZXBkIDwgaW5mby0+bnJfcGFnZXM7IGkrKykKKwkJaW5mby0+cGFnZS0+cGRbaV0gPSB2bWFsbG9jX3RvX21mbigmaW5mby0+bWZuc1tpICogZXBkXSk7CisKKwlpbmZvLT5wYWdlLT53aWR0aCA9IGZiX2luZm8tPnZhci54cmVzOworCWluZm8tPnBhZ2UtPmhlaWdodCA9IGZiX2luZm8tPnZhci55cmVzOworCWluZm8tPnBhZ2UtPmRlcHRoID0gZmJfaW5mby0+dmFyLmJpdHNfcGVyX3BpeGVsOworCWluZm8tPnBhZ2UtPmxpbmVfbGVuZ3RoID0gZmJfaW5mby0+Zml4LmxpbmVfbGVuZ3RoOworCWluZm8tPnBhZ2UtPm1lbV9sZW5ndGggPSBmYl9pbmZvLT5maXguc21lbV9sZW47CiAJaW5mby0+cGFnZS0+aW5fY29ucyA9IGluZm8tPnBhZ2UtPmluX3Byb2QgPSAwOwogCWluZm8tPnBhZ2UtPm91dF9jb25zID0gaW5mby0+cGFnZS0+b3V0X3Byb2QgPSAwOwogfQpAQCAtNTA0LDYgKzY1MCwxMSBAQAogCQkJdmFsID0gMDsKIAkJaWYgKHZhbCkKIAkJCWluZm8tPnVwZGF0ZV93YW50ZWQgPSAxOworCisJCWlmICh4ZW5idXNfc2NhbmYoWEJUX05JTCwgZGV2LT5vdGhlcmVuZCwKKwkJCQkgImZlYXR1cmUtcmVzaXplIiwgIiVkIiwgJnZhbCkgPCAwKQorCQkJdmFsID0gMDsKKwkJaW5mby0+ZmVhdHVyZV9yZXNpemUgPSB2YWw7CiAJCWJyZWFrOwogCiAJY2FzZSBYZW5idXNTdGF0ZUNsb3Npbmc6CkBAIC01NDcsNCArNjk4LDYgQEAKIG1vZHVsZV9pbml0KHhlbmZiX2luaXQpOwogbW9kdWxlX2V4aXQoeGVuZmJfY2xlYW51cCk7CiAKK01PRFVMRV9ERVNDUklQVElPTigiWGVuIHZpcnR1YWwgZnJhbWVidWZmZXIgZGV2aWNlIGZyb250ZW5kIik7CiBNT0RVTEVfTElDRU5TRSgiR1BMIik7CitNT0RVTEVfQUxJQVMoInhlbjp2ZmIiKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMveGVuL01ha2VmaWxlIGIvZHJpdmVycy94ZW4vTWFrZWZpbGUKaW5kZXggMzdhZjA0Zi4uMzYzMjg2YyAxMDA2NDQKLS0tIGEvZHJpdmVycy94ZW4vTWFrZWZpbGUKKysrIGIvZHJpdmVycy94ZW4vTWFrZWZpbGUKQEAgLTEsNCArMSw0IEBACi1vYmoteQkrPSBncmFudC10YWJsZS5vIGZlYXR1cmVzLm8gZXZlbnRzLm8KK29iai15CSs9IGdyYW50LXRhYmxlLm8gZmVhdHVyZXMubyBldmVudHMubyBtYW5hZ2Uubwogb2JqLXkJKz0geGVuYnVzLwogb2JqLSQoQ09ORklHX1hFTl9YRU5DT01NKQkrPSB4ZW5jb21tLm8KIG9iai0kKENPTkZJR19YRU5fQkFMTE9PTikJKz0gYmFsbG9vbi5vCmRpZmYgLS1naXQgYS9kcml2ZXJzL3hlbi9iYWxsb29uLmMgYi9kcml2ZXJzL3hlbi9iYWxsb29uLmMKaW5kZXggYWIyNWJhNi4uNTkxYmMyOSAxMDA2NDQKLS0tIGEvZHJpdmVycy94ZW4vYmFsbG9vbi5jCisrKyBiL2RyaXZlcnMveGVuL2JhbGxvb24uYwpAQCAtMjI1LDcgKzIyNSw3IEBACiAJCXBhZ2UgPSBiYWxsb29uX25leHRfcGFnZShwYWdlKTsKIAl9CiAKLQlyZXNlcnZhdGlvbi5leHRlbnRfc3RhcnQgPSAodW5zaWduZWQgbG9uZylmcmFtZV9saXN0OworCXNldF94ZW5fZ3Vlc3RfaGFuZGxlKHJlc2VydmF0aW9uLmV4dGVudF9zdGFydCwgZnJhbWVfbGlzdCk7CiAJcmVzZXJ2YXRpb24ubnJfZXh0ZW50cyAgID0gbnJfcGFnZXM7CiAJcmMgPSBIWVBFUlZJU09SX21lbW9yeV9vcCgKIAkJWEVOTUVNX3BvcHVsYXRlX3BoeXNtYXAsICZyZXNlcnZhdGlvbik7CkBAIC0zMjEsNyArMzIxLDcgQEAKIAkJYmFsbG9vbl9hcHBlbmQocGZuX3RvX3BhZ2UocGZuKSk7CiAJfQogCi0JcmVzZXJ2YXRpb24uZXh0ZW50X3N0YXJ0ID0gKHVuc2lnbmVkIGxvbmcpZnJhbWVfbGlzdDsKKwlzZXRfeGVuX2d1ZXN0X2hhbmRsZShyZXNlcnZhdGlvbi5leHRlbnRfc3RhcnQsIGZyYW1lX2xpc3QpOwogCXJlc2VydmF0aW9uLm5yX2V4dGVudHMgICA9IG5yX3BhZ2VzOwogCXJldCA9IEhZUEVSVklTT1JfbWVtb3J5X29wKFhFTk1FTV9kZWNyZWFzZV9yZXNlcnZhdGlvbiwgJnJlc2VydmF0aW9uKTsKIAlCVUdfT04ocmV0ICE9IG5yX3BhZ2VzKTsKQEAgLTM2OCw3ICszNjgsNyBAQAogfQogCiAvKiBSZXNldHMgdGhlIFhlbiBsaW1pdCwgc2V0cyBuZXcgdGFyZ2V0LCBhbmQga2lja3Mgb2ZmIHByb2Nlc3NpbmcuICovCi12b2lkIGJhbGxvb25fc2V0X25ld190YXJnZXQodW5zaWduZWQgbG9uZyB0YXJnZXQpCitzdGF0aWMgdm9pZCBiYWxsb29uX3NldF9uZXdfdGFyZ2V0KHVuc2lnbmVkIGxvbmcgdGFyZ2V0KQogewogCS8qIE5vIG5lZWQgZm9yIGxvY2suIE5vdCByZWFkLW1vZGlmeS13cml0ZSB1cGRhdGVzLiAqLwogCWJhbGxvb25fc3RhdHMuaGFyZF9saW1pdCAgID0gfjBVTDsKQEAgLTQ4Myw3ICs0ODMsNyBAQAogCQkuZXh0ZW50X29yZGVyID0gMCwKIAkJLmRvbWlkICAgICAgICA9IERPTUlEX1NFTEYKIAl9OwotCXJlc2VydmF0aW9uLmV4dGVudF9zdGFydCA9ICh1bnNpZ25lZCBsb25nKSZtZm47CisJc2V0X3hlbl9ndWVzdF9oYW5kbGUocmVzZXJ2YXRpb24uZXh0ZW50X3N0YXJ0LCAmbWZuKTsKIAlzZXRfcHRlX2F0KCZpbml0X21tLCBhZGRyLCBwdGUsIF9fcHRlX21hKDB1bGwpKTsKIAlzZXRfcGh5c190b19tYWNoaW5lKF9fcGEoYWRkcikgPj4gUEFHRV9TSElGVCwgSU5WQUxJRF9QMk1fRU5UUlkpOwogCXJldCA9IEhZUEVSVklTT1JfbWVtb3J5X29wKFhFTk1FTV9kZWNyZWFzZV9yZXNlcnZhdGlvbiwgJnJlc2VydmF0aW9uKTsKQEAgLTUxOSw3ICs1MTksNyBAQAogCQkJCS5leHRlbnRfb3JkZXIgPSAwLAogCQkJCS5kb21pZCAgICAgICAgPSBET01JRF9TRUxGCiAJCQl9OwotCQkJcmVzZXJ2YXRpb24uZXh0ZW50X3N0YXJ0ID0gKHVuc2lnbmVkIGxvbmcpJmdtZm47CisJCQlzZXRfeGVuX2d1ZXN0X2hhbmRsZShyZXNlcnZhdGlvbi5leHRlbnRfc3RhcnQsICZnbWZuKTsKIAkJCXJldCA9IEhZUEVSVklTT1JfbWVtb3J5X29wKFhFTk1FTV9kZWNyZWFzZV9yZXNlcnZhdGlvbiwKIAkJCQkJCSAgICZyZXNlcnZhdGlvbik7CiAJCQlpZiAocmV0ID09IDEpCmRpZmYgLS1naXQgYS9kcml2ZXJzL3hlbi9ldmVudHMuYyBiL2RyaXZlcnMveGVuL2V2ZW50cy5jCmluZGV4IDc2ZTViNzMuLjMzMmRkNjM3IDEwMDY0NAotLS0gYS9kcml2ZXJzL3hlbi9ldmVudHMuYworKysgYi9kcml2ZXJzL3hlbi9ldmVudHMuYwpAQCAtMzU1LDcgKzM1NSw3IEBACiAKIAlzcGluX2xvY2soJmlycV9tYXBwaW5nX3VwZGF0ZV9sb2NrKTsKIAotCWlmIChWQUxJRF9FVlRDSE4oZXZ0Y2huKSAmJiAoLS1pcnFfYmluZGNvdW50W2lycV0gPT0gMCkpIHsKKwlpZiAoKC0taXJxX2JpbmRjb3VudFtpcnFdID09IDApICYmIFZBTElEX0VWVENITihldnRjaG4pKSB7CiAJCWNsb3NlLnBvcnQgPSBldnRjaG47CiAJCWlmIChIWVBFUlZJU09SX2V2ZW50X2NoYW5uZWxfb3AoRVZUQ0hOT1BfY2xvc2UsICZjbG9zZSkgIT0gMCkKIAkJCUJVRygpOwpAQCAtMzc1LDcgKzM3NSw3IEBACiAJCWV2dGNobl90b19pcnFbZXZ0Y2huXSA9IC0xOwogCQlpcnFfaW5mb1tpcnFdID0gSVJRX1VOQk9VTkQ7CiAKLQkJZHluYW1pY19pcnFfaW5pdChpcnEpOworCQlkeW5hbWljX2lycV9jbGVhbnVwKGlycSk7CiAJfQogCiAJc3Bpbl91bmxvY2soJmlycV9tYXBwaW5nX3VwZGF0ZV9sb2NrKTsKQEAgLTU1Nyw2ICs1NTcsMzMgQEAKIAlwdXRfY3B1KCk7CiB9CiAKKy8qIFJlYmluZCBhIG5ldyBldmVudCBjaGFubmVsIHRvIGFuIGV4aXN0aW5nIGlycS4gKi8KK3ZvaWQgcmViaW5kX2V2dGNobl9pcnEoaW50IGV2dGNobiwgaW50IGlycSkKK3sKKwkvKiBNYWtlIHN1cmUgdGhlIGlycSBpcyBtYXNrZWQsIHNpbmNlIHRoZSBuZXcgZXZlbnQgY2hhbm5lbAorCSAgIHdpbGwgYWxzbyBiZSBtYXNrZWQuICovCisJZGlzYWJsZV9pcnEoaXJxKTsKKworCXNwaW5fbG9jaygmaXJxX21hcHBpbmdfdXBkYXRlX2xvY2spOworCisJLyogQWZ0ZXIgcmVzdW1lIHRoZSBpcnE8LT5ldnRjaG4gbWFwcGluZ3MgYXJlIGFsbCBjbGVhcmVkIG91dCAqLworCUJVR19PTihldnRjaG5fdG9faXJxW2V2dGNobl0gIT0gLTEpOworCS8qIEV4cGVjdCBpcnEgdG8gaGF2ZSBiZWVuIGJvdW5kIGJlZm9yZSwKKwkgICBzbyB0aGUgYmluZGNvdW50IHNob3VsZCBiZSBub24tMCAqLworCUJVR19PTihpcnFfYmluZGNvdW50W2lycV0gPT0gMCk7CisKKwlldnRjaG5fdG9faXJxW2V2dGNobl0gPSBpcnE7CisJaXJxX2luZm9baXJxXSA9IG1rX2lycV9pbmZvKElSUVRfRVZUQ0hOLCAwLCBldnRjaG4pOworCisJc3Bpbl91bmxvY2soJmlycV9tYXBwaW5nX3VwZGF0ZV9sb2NrKTsKKworCS8qIG5ldyBldmVudCBjaGFubmVscyBhcmUgYWx3YXlzIGJvdW5kIHRvIGNwdSAwICovCisJaXJxX3NldF9hZmZpbml0eShpcnEsIGNwdW1hc2tfb2ZfY3B1KDApKTsKKworCS8qIFVubWFzayB0aGUgZXZlbnQgY2hhbm5lbC4gKi8KKwllbmFibGVfaXJxKGlycSk7Cit9CisKIC8qIFJlYmluZCBhbiBldnRjaG4gc28gdGhhdCBpdCBnZXRzIGRlbGl2ZXJlZCB0byBhIHNwZWNpZmljIGNwdSAqLwogc3RhdGljIHZvaWQgcmViaW5kX2lycV90b19jcHUodW5zaWduZWQgaXJxLCB1bnNpZ25lZCB0Y3B1KQogewpAQCAtNjQ3LDYgKzY3NCw4OSBAQAogCXJldHVybiByZXQ7CiB9CiAKK3N0YXRpYyB2b2lkIHJlc3RvcmVfY3B1X3ZpcnFzKHVuc2lnbmVkIGludCBjcHUpCit7CisJc3RydWN0IGV2dGNobl9iaW5kX3ZpcnEgYmluZF92aXJxOworCWludCB2aXJxLCBpcnEsIGV2dGNobjsKKworCWZvciAodmlycSA9IDA7IHZpcnEgPCBOUl9WSVJRUzsgdmlycSsrKSB7CisJCWlmICgoaXJxID0gcGVyX2NwdSh2aXJxX3RvX2lycSwgY3B1KVt2aXJxXSkgPT0gLTEpCisJCQljb250aW51ZTsKKworCQlCVUdfT04oaXJxX2luZm9baXJxXS50eXBlICE9IElSUVRfVklSUSk7CisJCUJVR19PTihpcnFfaW5mb1tpcnFdLmluZGV4ICE9IHZpcnEpOworCisJCS8qIEdldCBhIG5ldyBiaW5kaW5nIGZyb20gWGVuLiAqLworCQliaW5kX3ZpcnEudmlycSA9IHZpcnE7CisJCWJpbmRfdmlycS52Y3B1ID0gY3B1OworCQlpZiAoSFlQRVJWSVNPUl9ldmVudF9jaGFubmVsX29wKEVWVENITk9QX2JpbmRfdmlycSwKKwkJCQkJCSZiaW5kX3ZpcnEpICE9IDApCisJCQlCVUcoKTsKKwkJZXZ0Y2huID0gYmluZF92aXJxLnBvcnQ7CisKKwkJLyogUmVjb3JkIHRoZSBuZXcgbWFwcGluZy4gKi8KKwkJZXZ0Y2huX3RvX2lycVtldnRjaG5dID0gaXJxOworCQlpcnFfaW5mb1tpcnFdID0gbWtfaXJxX2luZm8oSVJRVF9WSVJRLCB2aXJxLCBldnRjaG4pOworCQliaW5kX2V2dGNobl90b19jcHUoZXZ0Y2huLCBjcHUpOworCisJCS8qIFJlYWR5IGZvciB1c2UuICovCisJCXVubWFza19ldnRjaG4oZXZ0Y2huKTsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIHJlc3RvcmVfY3B1X2lwaXModW5zaWduZWQgaW50IGNwdSkKK3sKKwlzdHJ1Y3QgZXZ0Y2huX2JpbmRfaXBpIGJpbmRfaXBpOworCWludCBpcGksIGlycSwgZXZ0Y2huOworCisJZm9yIChpcGkgPSAwOyBpcGkgPCBYRU5fTlJfSVBJUzsgaXBpKyspIHsKKwkJaWYgKChpcnEgPSBwZXJfY3B1KGlwaV90b19pcnEsIGNwdSlbaXBpXSkgPT0gLTEpCisJCQljb250aW51ZTsKKworCQlCVUdfT04oaXJxX2luZm9baXJxXS50eXBlICE9IElSUVRfSVBJKTsKKwkJQlVHX09OKGlycV9pbmZvW2lycV0uaW5kZXggIT0gaXBpKTsKKworCQkvKiBHZXQgYSBuZXcgYmluZGluZyBmcm9tIFhlbi4gKi8KKwkJYmluZF9pcGkudmNwdSA9IGNwdTsKKwkJaWYgKEhZUEVSVklTT1JfZXZlbnRfY2hhbm5lbF9vcChFVlRDSE5PUF9iaW5kX2lwaSwKKwkJCQkJCSZiaW5kX2lwaSkgIT0gMCkKKwkJCUJVRygpOworCQlldnRjaG4gPSBiaW5kX2lwaS5wb3J0OworCisJCS8qIFJlY29yZCB0aGUgbmV3IG1hcHBpbmcuICovCisJCWV2dGNobl90b19pcnFbZXZ0Y2huXSA9IGlycTsKKwkJaXJxX2luZm9baXJxXSA9IG1rX2lycV9pbmZvKElSUVRfSVBJLCBpcGksIGV2dGNobik7CisJCWJpbmRfZXZ0Y2huX3RvX2NwdShldnRjaG4sIGNwdSk7CisKKwkJLyogUmVhZHkgZm9yIHVzZS4gKi8KKwkJdW5tYXNrX2V2dGNobihldnRjaG4pOworCisJfQorfQorCit2b2lkIHhlbl9pcnFfcmVzdW1lKHZvaWQpCit7CisJdW5zaWduZWQgaW50IGNwdSwgaXJxLCBldnRjaG47CisKKwlpbml0X2V2dGNobl9jcHVfYmluZGluZ3MoKTsKKworCS8qIE5ldyBldmVudC1jaGFubmVsIHNwYWNlIGlzIG5vdCAnbGl2ZScgeWV0LiAqLworCWZvciAoZXZ0Y2huID0gMDsgZXZ0Y2huIDwgTlJfRVZFTlRfQ0hBTk5FTFM7IGV2dGNobisrKQorCQltYXNrX2V2dGNobihldnRjaG4pOworCisJLyogTm8gSVJRIDwtPiBldmVudC1jaGFubmVsIG1hcHBpbmdzLiAqLworCWZvciAoaXJxID0gMDsgaXJxIDwgTlJfSVJRUzsgaXJxKyspCisJCWlycV9pbmZvW2lycV0uZXZ0Y2huID0gMDsgLyogemFwIGV2ZW50LWNoYW5uZWwgYmluZGluZyAqLworCisJZm9yIChldnRjaG4gPSAwOyBldnRjaG4gPCBOUl9FVkVOVF9DSEFOTkVMUzsgZXZ0Y2huKyspCisJCWV2dGNobl90b19pcnFbZXZ0Y2huXSA9IC0xOworCisJZm9yX2VhY2hfcG9zc2libGVfY3B1KGNwdSkgeworCQlyZXN0b3JlX2NwdV92aXJxcyhjcHUpOworCQlyZXN0b3JlX2NwdV9pcGlzKGNwdSk7CisJfQorfQorCiBzdGF0aWMgc3RydWN0IGlycV9jaGlwIHhlbl9keW5hbWljX2NoaXAgX19yZWFkX21vc3RseSA9IHsKIAkubmFtZQkJPSAieGVuLWR5biIsCiAJLm1hc2sJCT0gZGlzYWJsZV9keW5pcnEsCmRpZmYgLS1naXQgYS9kcml2ZXJzL3hlbi9ncmFudC10YWJsZS5jIGIvZHJpdmVycy94ZW4vZ3JhbnQtdGFibGUuYwppbmRleCA1MmI2YjQxLi5lOWUxMTE2IDEwMDY0NAotLS0gYS9kcml2ZXJzL3hlbi9ncmFudC10YWJsZS5jCisrKyBiL2RyaXZlcnMveGVuL2dyYW50LXRhYmxlLmMKQEAgLTQ3MSwxNCArNDcxLDE0IEBACiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgZ250dGFiX3Jlc3VtZSh2b2lkKQoraW50IGdudHRhYl9yZXN1bWUodm9pZCkKIHsKIAlpZiAobWF4X25yX2dyYW50X2ZyYW1lcygpIDwgbnJfZ3JhbnRfZnJhbWVzKQogCQlyZXR1cm4gLUVOT1NZUzsKIAlyZXR1cm4gZ250dGFiX21hcCgwLCBucl9ncmFudF9mcmFtZXMgLSAxKTsKIH0KIAotc3RhdGljIGludCBnbnR0YWJfc3VzcGVuZCh2b2lkKQoraW50IGdudHRhYl9zdXNwZW5kKHZvaWQpCiB7CiAJYXJjaF9nbnR0YWJfdW5tYXBfc2hhcmVkKHNoYXJlZCwgbnJfZ3JhbnRfZnJhbWVzKTsKIAlyZXR1cm4gMDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMveGVuL21hbmFnZS5jIGIvZHJpdmVycy94ZW4vbWFuYWdlLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWI1NDZlMwotLS0gL2Rldi9udWxsCisrKyBiL2RyaXZlcnMveGVuL21hbmFnZS5jCkBAIC0wLDAgKzEsMjUyIEBACisvKgorICogSGFuZGxlIGV4dGVybiByZXF1ZXN0cyBmb3Igc2h1dGRvd24sIHJlYm9vdCBhbmQgc3lzcnEKKyAqLworI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L2Vyci5oPgorI2luY2x1ZGUgPGxpbnV4L3JlYm9vdC5oPgorI2luY2x1ZGUgPGxpbnV4L3N5c3JxLmg+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+bmV4dDsKKwl9CisJLyogRU9GIHJlY29yZCBpcyB6ZXJvIGxlbmd0aCwgc2luY2Ugd2UgZG9uJ3QgYm90aGVyIHRvIHJlcHJlc2VudAorCSAgIHRoZSB0eXBlIGZpZWxkIGluIHRoZSBiaW5hcnkgdmVyc2lvbiAqLworCXdyaXRlKG91dGZkLCB6ZXJvZXMsIDUpOworCXJldHVybiAwOworfQpkaWZmIC0tZ2l0IGEvZmlybXdhcmUvaW50ZWxsaXBvcnQyLmJpbi5paGV4IGIvZmlybXdhcmUvaW50ZWxsaXBvcnQyLmJpbi5paGV4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU5Y2ZlOGMKLS0tIC9kZXYvbnVsbAorKysgYi9maXJtd2FyZS9pbnRlbGxpcG9ydDIuYmluLmloZXgKQEAgLTAsMCArMSwyMTQ3IEBACis6MTAwMDAwMDAzQzQyMzcxODAyMDEwMzAwMDAwMDAwMDAwMDAwMDAwMDFECis6MTAwMDEwMDA1NzY1NjQyMDQ0NjU2MzIwMzAzMTIwMzEzMjNBMzIzNEYwCis6MTAwMDIwMDAzQTMzMzAyMDMxMzkzOTM5MDAwMDAwMDAwMDAwMDAwMDM3Cis6MTAwMDMwMDBFOTZDMEY0MjY1NDc2OTRFNkU0OTZFNDcyMDZGNDYyMDU2Cis6MTAwMDQwMDA2MzRGNjQ0NUNDMTM1QTE1RTgxNjc2MTgwNDFBOTIxQkIwCis6MTAwMDUwMDAyMDFEQUUxRTNDMjBDQTIxNTgyM0U2MjQ3NDI2MDIyODA3Cis6MTAwMDYwMDA5MDI5MUUyQkFDMkMzQTJFQzgyRjU2MzFFNDMyNzIzNDE0Cis6MTAwMDcwMDAwMDM2OEUzNzFDMzlBQTNBMzgzQ0M2M0Q1NDNGRTI0MDIwCis6MTAwMDgwMDA3MDQyRkU0MzhDNDUxQTQ3QTg0ODM2NEFDNDRCNTI0RDJECis6MTAwMDkwMDBFMDRFNkU1MEZDNTE4QTUzMTg1NUE2NTYzNDU4QzI1OTNBCis6MTAwMEEwMDA1MDVCREU1QzZDNUVGQTVGODg2MTE2NjNBNDY0MzI2NjQ2Cis6MTAwMEIwMDBDMDY3NEU2OURDNkE2QTZDRjg2RDg2NkYxNDcxQTI3MjUzCis6MTAwMEMwMDAzMDc0QkU3NTRDNzc2Qzc3OEM3N0FDNzczM0RCOEFEQzE5Cis6MTAwMEQwMDA1MzMzREIyNTA3MDA3NTBBOEExRTA4MDE4M0UzMENFQjA2Cis6MTAwMEUwMDAyMDkwM0MwMTc1MEE4QTFFMDgwMTgwRTNDMEVCMTI5MDQzCis6MTAwMEYwMDA4QTFFMEQwMTNDMDI3NTA2ODBFMzBDRUIwNDkwODBFMzQwCis6MTAwMTAwMDBDMDUzNTA4QjFFQkExMzhFREJFODZBNjU1NThCRUM1M0Q3Cis6MTAwMTEwMDAxRTJCQzA4RUQ4OEI1RTA0QzFFMzA0MDM1RTA2RDFFM0MwCis6MTAwMTIwMDAyRThCOUY0NDAwOEQ0NzJBMUU1QTFGNUI1REMzNTU4QjQzCis6MTAwMTMwMDBFQzUzMUUyQkMwOEVEODhCNUUwNEMxRTMwNDAzNUUwNjE1Cis6MTAwMTQwMDBEMUUzMkU4QjlGNDQwMDhENDczNDFFNUExRjVCNURDMzQ1Cis6MTAwMTUwMDBGQjU1OEJFQzUzNTE1MjU2NTcxRTA2MUUwNzMzQzA4RTZCCis6MTAwMTYwMDBEODhCNUUwNDI2OEE0NzU5MjUwMzAwOEJGMEQxRTYyRUYyCis6MTAwMTcwMDA4QkI0QzQwMEMxRTAwNDI2MDI0NzFBRDFFMDhCRTgyRUZDCis6MTAwMTgwMDA4QkFFNDQwMDg5MkMyNjhBNDcxQzg4NDQwRjI2OEE0NzU4Cis6MTAwMTkwMDAxRDg4NDQxMDI2OEE0NzFFODg0NDExMjY4QTQ3MUY4OEQ2Cis6MTAwMUEwMDA0NDEyMjY4QTQ3MjA4ODQ0MTMyNjhBNDcyMzg4NDQxNDA5Cis6MTAwMUIwMDAyNjhBNDcyNDg4NDQxNTI2OEE0NzVBODg0NDBFMzNDMDI1Cis6MTAwMUMwMDA4OTQ0MDY4OTQ0MDg4ODQ0MEI4ODQ0MEFCMDIxQjQ2NEYxCis6MTAwMUQwMDA4OTQ0MDQ4OTQ0MDJCMDU1ODg0NDBEODg0NDBDRTg2QTc3Cis6MTAwMUUwMDAwMDcyNUJFOEM5MDBFOEMxMTA4OTQ0MDg4MDdDMEYwMUY3Cis6MTAwMUYwMDA3NDI5RTgyQjAyRTg3RjAyODA3QzBGMDM3NDFERThBOUI0Cis6MTAwMjAwMDAxMDhCRjgyQjQ0MDgzREEwMEY3MjEwODk3QzA4MzNDMDc2Cis6MTAwMjEwMDA4NzQ0MDY4NUMwNzUwNEM2NDQwQUZGOEE0NDBBODRDMDIwCis6MTAwMjIwMDA3NTBCQjgwODAwRTg2QTRBRThBOTAxNzNCRkU4NEYwMUY2Cis6MTAwMjMwMDA4MTY2NDg3RkZGODM2NjdBQkZCMDAyRTgwNDBFOEE0NDc1Cis6MTAwMjQwMDAwQTk4MDcxRjVGNUU1QTU5NUI1REMzODE0RTQ4ODAwMDY0Cis6MTAwMjUwMDBCMDQwRTgzRDRBRTg4OTQwNzMyQUU4NEQxMDhCRDhCMDk5Cis6MTAwMjYwMDAwNUU4MkU0QUY2NDYyNzAyNzUxQUU4M0QxMDJCQzMzREQ1Cis6MTAwMjcwMDA1ODFCNzJFQjgxNjY0ODdGRkZCMDAyRThDNDBEQzY0NDhDCis6MTAwMjgwMDAwQTAxRjlDMzgzNEU3QTQwRjhDM0ZCQjAwMUU4MDI0QTgxCis6MTAwMjkwMDBGQUU4OTkxRUU0MEE4NEMwNzVGMEIwNEVFNjBBRkJCMDk1Cis6MTAwMkEwMDAwMUU4RUU0OUZBRTg4NTFFRTQwQTg0QzA3NUYwQzNGQTU1Cis6MTAwMkIwMDBFODdBMUVFNEVDODg0NDE2RTRFNDg4NDQxN0U0Rjg4OEZECis6MTAwMkMwMDA0NDE4RTRGMDg4NDQxOUU0MTA4ODQ0MUFFNDEyODg0NDdECis6MTAwMkQwMDAxQkU0MTQ4ODQ0MUNFNDM0ODg0NDFERTQzNjg4NDQxRTFFCis6MTAwMkUwMDBFNEQ4MjQwMThBRTBFNERBMjQwMjBBQzQ4ODQ0MUY4QTlDCis6MTAwMkYwMDA0NDEwRThDRDFGOEE0NDExRTgzNTIxOEE0NDEyRTg4OTY4Cis6MTAwMzAwMDAyMThBNDQxM0U4NDMyMUM2ODZBMTAwMDBFNDE0MjQxMDg2Cis6MTAwMzEwMDBFNjE0RTQxMjI0M0RFNjEyOEE0NDE1M0MwMTcyMUU3NzZECis6MTAwMzIwMDAxNkIwMTFFNjM0QjAxM0U2MzZFNDE0MEMxMEU2MTRFNDBCCis6MTAwMzMwMDAxMjBDNDBFNjEyRUIwNkU0MTIwQzAyRTYxMjhBNDQwRjlECis6MTAwMzQwMDAzQzAxNzQwNjNDMDI3NDBBRUIwRUU0MTIwQzA4RTYxMjNGCis6MTAwMzUwMDBFQjA2RTQxMjBDMTBFNjEyRTgyRkZGOEE0NDE0M0MwMjZDCis6MTAwMzYwMDA3NTA4QjA1NTg4NDQwQzg4NDQwREIwMjFCNDY0ODk0NEE0Cis6MTAwMzcwMDAwNDg5NDQwMkU0MEMwQzEwRTYwQ0U4RUQzOUZCQzNFOEY4Cis6MTAwMzgwMDA1RjNGNzMwOEZCQjAwQUU4MDg0OUVCRjNGQUU4OUQxREVDCis6MTAwMzkwMDA4QTY0MTY4QTQ0MTc4OTg2OTQwMEU2RTQ4QUM0RTZFQ0U3Cis6MTAwM0EwMDA4QTY0MTg4QTQ0MTk4OTg2OTYwMEU2RjA4QUM0RTZGOEI5Cis6MTAwM0IwMDA4QTQ0MUFFNjEwOEE0NDFCRTYxMjhBNDQxQ0U2MTQ4QTEwCis6MTAwM0MwMDA0NDFERTYzNDhBNDQxRUU2MzY4QTQ0MUZFNkQ4RTZEQTNGCis6MTAwM0QwMDBFOUI3RkU5MEZBOEE0NDBFRTZGRUU0MDJBODAxNzUwNTJDCis6MTAwM0UwMDAzM0MwRkJGOEMzMzNDMEU0MDBGQkY5QzM4QTY0MTQ4MDU0Cis6MTAwM0YwMDBGQzAyNzQyQkZFQzBGRUM3ODBGRjRFNzIxQzc0MDk4MDg1Cis6MTAwNDAwMDBGRjUwNzMwOEIwMEFFQjE3QjAwREVCMTMwMkRDMzJGRjlDCis6MTAwNDEwMDA4MEZCN0Y3QzAyQjMyMThBQzMzQzdGN0MwMkIwMjFDMzc2Cis6MTAwNDIwMDBGQTgwN0MwQjA0NzYwMkZCQzM4QjQ2MjQzRDA4MDA3MkU1Cis6MTAwNDMwMDBGNjhFNDYwMjhCN0UyMjhBNDQwQzhCNUMwMkFBRThBQkM1Cis6MTAwNDQwMDBGRkFBRThBN0ZGQUFFOEEzRkZBQUU4OUZGRjg4NDQwQzM5Cis6MTAwNDUwMDA4OTVDMDI4MDQ0MEIwNDg5N0UyMjgzNkUyNDA0ODM0NkQ3Cis6MTAwNDYwMDAxQTA0ODA3RTI2MDI3NDA2ODA2NjI2RkRGQkMzNjBCMEY3Cis6MTAwNDcwMDBGREU4MDIzRjYxRkJDM0ZBODA3QzBGMDM3NTA5QzY0NEE3Cis6MTAwNDgwMDAwQjAwRThFNTM4RkJDM0M0N0UxNDhCNEUzQTg1Qzk3NTcyCis6MTAwNDkwMDAzNTI2OEIwRDQ3NDdFM0VBM0I3RTA0NzYyMkI4MDIwMEZGCis6MTAwNEEwMDAzOTQ2MkU3NzA3Qzc0NjJFMDAwMEVCMTM4QjVFMkM4OTRBCis6MTAwNEIwMDA1RTA0MjZDNzA3MDAwMDQzNDM4OTVFMkMyOTQ2MkU4NTJCCis6MTAwNEMwMDBDOTc4Q0U4OTRFM0E4QTQ0MEQ4QjVDMDQyNjhBMjU0NzJBCis6MTAwNEQwMDAzQUM0NzUxNkZFNEMwQkZGNDQwNkU4MEZGRkUyRUQ4OEE4Cis6MTAwNEUwMDA0NDBEODk1QzA0ODk0RTNBRUJBN0M2NDQwQUZFRTg3OUJDCis6MTAwNEYwMDAzOEZCQzM5MEU4QjMwRDhBRTg4QTBFQ0IxM0IzMDc4QUEyCis6MTAwNTAwMDBDMUVFRUIwMEVDM0FDMTc1MDkwMkNERkVDQjc1RjBFQjA0Cis6MTAwNTEwMDAwQzkwODgwRUNCMTM4QUU4QkJGRkZGRjlDMzg4MEVDQjgzCis6MTAwNTIwMDAxM0Y4QzM5MEJCM0YzRjhBOEU5RTAwQkFGRTAwRUM4QTUwCis6MTAwNTMwMDBFODMyQzEyMkMzNzUwMkY4QzNGOUMzOTBFOEU1RkY3MzNFCis6MTAwNTQwMDAwMUMzQkFEMDAwQkIwMzAzOEE4RTlGMDBFQzhBRTgzMjU1Cis6MTAwNTUwMDBDMTIyQzM3NTAyRjhDM0Y5QzM5MDMzQzA4RUQ4OEVDMEQwCis6MTAwNTYwMDA4MDNFQzgxMzAwNzUwN0IwMEFFODI2NDdFQkYyRkIzMzVDCis6MTAwNTcwMDBEQjhBMUVDOTEzNDM0MzgzRkI3RTc2MDczM0RCQjAwMjVECis6MTAwNTgwMDBFODBGNDcyRThCQUY0NDAwODM3RTA4MDA3NEU3ODgxRTc3Cis6MTAwNTkwMDBDOTEzQjAwMkU4RkI0NkZBRjc0NjM4NDAwMDc0MTRFODg1Cis6MTAwNUEwMDA5NjFCRTg3RkZGNzIxQzMzRDI4QTk2OUYwMDgzQzIwRThGCis6MTAwNUIwMDBFQjBDOTBFODc3MUJFODgzRkY3MjA4QkE0ODAwRTgzMzM5Cis6MTAwNUMwMDBGRjczQUIyM0NCODk4RTlBMDA4OTk2OUMwMEZFODZCNTdCCis6MTAwNUQwMDAwMEM2MDZDODEzMDBCMDBBRTg2NzBBRkJFQjg5MTAxOENBCis6MTAwNUUwMDAwODI4MzNDMEEwMDUwMThBQzgyNDQwNzUyNEM3MDY3Q0FBCis6MTAwNUYwMDAxMjhFNDVDNzA2NDIxMjAxMDBDNjA2NTQxMjAyQjAwODA4Cis6MTAwNjAwMDBGNkMxMDE3NDAyQjAwNEEzNDYxMkEyNEMxMkEyOTQxMkM1Cis6MTAwNjEwMDBDM0M3MDY3QzEyQjY0NUEwMEYwMTg0QzA3NTBFNkEwMEUwCis6MTAwNjIwMDAxRkM2MDY5MzEyMUU5QzBFRThCMTBDOTBDNzA2NDQxMjFBCis6MTAwNjMwMDAwMTAwQTM0MjEyOEJEOEMxRTMwNDg4MUU5NDEyQkVFMkNCCis6MTAwNjQwMDAwNTJCRjA4QkM4MzNEQjhCRkIyRUFDODg4NTQ4MTI4QUQ4Cis6MTAwNjUwMDBEODBDMDVFNkZFOEFFMEVCMDBFNEZFMzJDNEE4M0Y3NDQ1Cis6MTAwNjYwMDAwM0U5OUUwMEU0MDA4ODg1NTAxMjhBRTAyNDMwQkExMDI1Cis6MTAwNjcwMDBGRjNDMzA3NDEyODBGQzA0NzQwQUJBMDQwM0Y2MDYwOEM2Cis6MTAwNjgwMDAwMUZFNzQwM0JBMDgwRjg4OTU0QzEyMDJGQTMyQzBGNkM0Cis6MTAwNjkwMDBDNDA4NzQwMkIwMDE4ODg1NTgxMjhBQzQzQzM1NzQ1QjYyCis6MTAwNkEwMDAzQzM2NzQ1NzNDMzQ3NDUzM0MwNDc0NEYzQzE0NzQ0QkM0Cis6MTAwNkIwMDAzQzE1NzQ0N0E4NDA3NDI1QzY4NTU0MTIwNEQxRTdCNDhDCis6MTAwNkMwMDAwMzhBQzM4OTg1NUMxMjhBQzM4QUUzODBDQzAxODk4NTQ5Cis6MTAwNkQwMDA2NDEyRDFFRjQ3RTIwM0VCMUE5MEU5NkNGRkM2ODU1NDMwCis6MTAwNkUwMDAxMjAyRDFFNzhBRTY4QUMzMEMwNDg5ODU1QzEyRDFFRjM1Cis6MTAwNkYwMDA0N0UyRTczM0MwOEFDN0EzNDYxMkMzQzY4NTU0MTIwNjMxCis6MTAwNzAwMDBFQkJCQzY4NTU0MTIwMDMzQzA4ODg1NTAxMjg4ODU0Q0Q3Cis6MTAwNzEwMDAxMjg4ODU1ODEyRUJBNkM3NDYyNjAyMTI4QjQ2MUU4OTAwCis6MTAwNzIwMDA0NjAwODk0NjIyOEI0NjIwODk0NjI0Qzc0NjFBMDAwMDg3Cis6MTAwNzMwMDBDM0M3NDYzQzgwMDBDNzQ2MzgwMTAwMUU1NjhCNzYzMDQyCis6MTAwNzQwMDA4OTc2MDQ4OTc2MTQ4RTVFMDYzM0MwODkwNDQ2NDY4OTBDCis6MTAwNzUwMDA3NjJDODk0NjNBOEI0NjMyNDg0ODg5NDYyRTVFMUZDMzFFCis6MTAwNzYwMDAzM0MwODk0NjQ4ODk0NjRBQzc0NjQ2QUUwMTg5NDY0RTQ3Cis6MTAwNzcwMDA4QjQ2NDQ4OTQ2NTA4QjQ2NDI4OTQ2NDA4OTQ2MDhDMzg5Cis6MTAwNzgwMDAzM0MwODk0Njc2ODk0Njc4Qzc0NjdBMTAwMDU2MUU4QjU0Cis6MTAwNzkwMDA3NjcwODk3NjEwODk3NjBDOEU1RTEyQzcwNDAwMDA4QjA1Cis6MTAwN0EwMDA0NjcyODk0Njc0MUY1RUMzODk1NjE4ODk1NjAyODk1NjU3Cis6MTAwN0IwMDAwNjg5NTYwQTg5NTYwRTg5NTYxMjg5NTYxNjhCRDg0QkM5Cis6MTAwN0MwMDA0QkMxRTMwMkJGMDIwMDg5N0UxRTAzRkI4OTdFMzAwMzFBCis6MTAwN0QwMDBGQjg5N0U0MjAzRkI4OTdFNzA4M0VCMDg4OTVFMjA4OTVBCis6MTAwN0UwMDA1RTMyODk1RTQ0ODk1RTcyNTBFODJCRkZFODcxRkZFODUzCis6MTAwN0YwMDAzRkZGRTg4QkZGNThDM0I4MzA3NUMxRTgwNDBFNUIwM0I4Cis6MTAwODAwMDBDM0EzQkExMzgzM0U0MjEyMDA3NDA3ODAzRTk0MTIwMEMxCis6MTAwODEwMDA3NTBFNkEwMDFGQzYwNjkzMTIxRTlDMEVFOEJEMEE5MDU0Cis6MTAwODIwMDBCODMwN0FDMUU4MDQ0MEEzQzAxMzJCMDYxMjAxRjdEOEYwCis6MTAwODMwMDAzM0QyOEJDQThBMEU5NDEyRjdGMTNEODAwMDc3MEU2QThDCis6MTAwODQwMDAwMDFGQzYwNjkzMTIyNTlDMEVFODkwMEE5MDQ4M0RGRkIzCis6MTAwODUwMDAwNzcyMDNCOEZGMDdBM0MyMTMzM0M5OEEwRTk0MTIzMzc5Cis6MTAwODYwMDBGNkI4MDAwOTJFOEJBQzQ0MDA4OTQ2NEM0MDQ2NDZFMjVGCis6MTAwODcwMDBGMzhBMEU5NDEyMzNGNjhCMTZDMDEzQTFDMjEzMkU4QjdCCis6MTAwODgwMDBBQzQ0MDBFODIyRkYwM0QwNDY0NkUyRjJDMzMzQzAyRTU4Cis6MTAwODkwMDA4QkFENDQwMDg5NDYwODQ3NDdFMkY0QzM1MTMzQzAwQTkwCis6MTAwOEEwMDBDMjJFOEJBRDQ0MDA4OTg2OUUwMDgxNEUzODAwMjA0N0MxCis6MTAwOEIwMDA0N0ZFQzQ4MEZDMDQ3MjA0MzJFNEZFQzBFMkUzNTk4M0M0Cis6MTAwOEMwMDBFOTEwNzQwNUY3RDlFOEM0RkZDMzUxMzNDMDBBQzIyRTNBCis6MTAwOEQwMDA4QkFENDQwMDg5ODY5RTAwODM0RTM4NDA0NzQ3ODBDNEQ0Cis6MTAwOEUwMDAxMDc5MDQzMkU0RkVDMEUyRTY1OTgzRTkxMDc0MDVGNzlBCis6MTAwOEYwMDBEOUU4OTlGRkMzRThEMkZGQzM4RDA4OUMwOENBMDhGNTYwCis6MTAwOTAwMDAwODhCMEU0MjEyMzNGNjUxNTYzM0RCOEJDQjhBOTQ0ODU4Cis6MTAwOTEwMDAxMjhBOEM0QzEyOEE5QzU0MTI4QkZFQzFFNzA1ODVEQjJGCis6MTAwOTIwMDA3NTAyQjExMDJFRkY5N0Y5MDg1RTU5NDZFMkQ5QzMwMTRFCis6MTAwOTMwMDBDQzAzRDAwMEU4MDJEMDAwRTgwMUQwMDBFODAwRDAwMEVECis6MTAwOTQwMDBFODA0RDBBOERBMDBEQzAwREUwMUQ4MDNDQzAzQ0MwMzM1Cis6MTAwOTUwMDBDQzA0RDBBOERBMjBEQzAwREUwM0NDMDNDQzAzQ0MwMDJFCis6MTAwOTYwMDBEODAzQ0MwM0NDMDNDQzAzQ0MwM0NDMDNDQzAzQ0MwMzAzCis6MTAwOTcwMDBDQzAzQ0MwM0NDMDNDQzAzQ0MwM0NDMDNDQzAzQ0MwM0ZGCis6MTAwOTgwMDBDQzA0RDAwMERBMjBEQzAzREUwMUQ4MDNDQzAzQ0MwMzk2Cis6MTAwOTkwMDBDQzAzQ0MwMEQ4MDBDQzAwRDAwMDAwNTY1MjFFMEUxRjU1Cis6MTAwOUEwMDBCRTJGMDkzM0QyRkNBRDg1QzA3NDBEOEFENEVFQUQ4NTVGCis6MTAwOUIwMDBDMDc0MDU4QUQ0RUVFQkVFMUY1QTVFQzNFNDgwODRDMDk3Cis6MTAwOUMwMDA3NDE2NzgxNEIwMjdFNkZDQjAxMUU2MzRFNEZDM0MyNzNBCis6MTAwOUQwMDA3NTA2RTQxMTc1MDJGOEMzRjlDMzgzQzIwNkIwQkZFRTExCis6MTAwOUUwMDA4M0VBMDJCMDEwRUU4ODg2QUYwMEIwMTE4M0MyMDRFRTM1Cis6MTAwOUYwMDA4M0MyMDJFRUIwMTM4M0MyMDJFRTgzQzIwMkVFMkVBMUM2Cis6MTAwQTAwMDA0QzJEODk4Njk0MDA4M0VBMEVFRTgzQzIwMjhBQzRFRURFCis6MTAwQTEwMDA4M0MyMDRCMDAzRUU4ODg2QTgwMDgzRUEwNDMyQzBFRUU1Cis6MTAwQTIwMDA4M0MyMDJCMDg5RUU4ODg2QTYwMDBDMDZFRUIwNDBCNDAwCis6MTAwQTMwMDAzODg5NDYxQ0M3NDYzNjM4MDA4M0MyMDQzMkMwRUU4ODY3Cis6MTAwQTQwMDA4NkE3MDBDMzgzQzIwNkIwQkZFRTgzRUEwMkVDM0E4NkYzCis6MTAwQTUwMDBBRjAwNzUyNDgzQzIwNEVDM0MxMTc1MUM4M0MyMDZFQzA0Cis6MTAwQTYwMDAzQzEzNzUxNDgzRUEwODhBODZBODAwRUU4M0VBMDJFQzM4Cis6MTAwQTcwMDAyNEMwM0NDMDc1MDJGOEMzRjlDMzMzQzk4QkQxOEJGMUQ0Cis6MTAwQTgwMDA4QTBFOTQxMkMxRTkwMjJFOEJBQzQ0MDBGNzQ2MzgwMDVFCis6MTAwQTkwMDAyMDc0MEU4QTg2OUUwMEU2RkUzMkMwRTY4MDQyRThGQUE2Cis6MTAwQUEwMDBGRTgzQzYwOEUyRTE4NUQyNzQwM0U4MDUwOEMzMzNDOUIyCis6MTAwQUIwMDA4QkYxOEEwRTk0MTIyRThCQUM0NDAwRjc0NjM4NDAwMDFFCis6MTAwQUMwMDA3NDA2RTg3MzE2RTgxMkZGNDY0NkUyRUFDMzMzQzk4QkEwCis6MTAwQUQwMDBGMThBMEU5NDEyQzFFOTAyMkU4QkFDNDQwMEY3NDYzODFECis6MTAwQUUwMDAwMDIwNzQxNkU4NDYxNkU4RDJGRTczMEU2QTAwMUZDNjkwCis6MTAwQUYwMDAwNjkzMTIxQzlDMEVFOEUzMDc5MDgzQzYwOEUyRDlDMzU0Cis6MTAwQjAwMDAzM0M5OEJGMThBMEU5NDEyMkU4QkFDNDQwMEY3NDYzODExCis6MTAwQjEwMDA0MDAwNzQxNkU4MjExNkU4MkFGRjczMEU2QTAwMUZDNjBCCis6MTAwQjIwMDAwNjkzMTIxQzlDMEVFOEIzMDc5MDQ2NDZFMkRBQzMwQzBCCis6MTAwQjMwMDAwMDAwMTAwMDEzMTIwMDAwMTQwMDI4M0MwMDFCM0UwMEFGCis6MTAwQjQwMDAwMDJBMDAwMDJDMDAwMDQyMDAxNEQ4MDAwMERBMDAwMDQ3Cis6MTAwQjUwMDAzNDAwMTEzNjAwMTMzODAwMTEzQTAwMTMwMDAwNTY1MENCCis6MTAwQjYwMDA1MkJFMkYwQjJFQUQ4NUMwNzQwNjkyMkVBQ0VFRUJGNDY4Cis6MTAwQjcwMDA1QTU4NUVDMzUzMkVBMTYwMjJFNkU0RTZGMDhBQzRFNjJBCis6MTAwQjgwMDBFQ0U2RjhFOEQ4RkZCMDRCRTYxMEIwNTBFNjEyQjAzODBCCis6MTAwQjkwMDBFNjE0RThBRTE1QjA0NkU2MEFFOEE3MTVCMDFBRTYwQTZDCis6MTAwQkEwMDBFOEEwMTVCMDIyRTYwQUU4OTkxNUU4RkQwNjhCRDhFNDFFCis6MTAwQkIwMDAxNkE4MDQ3NTE4RThGMjA2MkJDMzNEMzIwMDcyRjA2QURECis6MTAwQkMwMDAwMDFGQzYwNjkzMTIyMzlDMEVFODEwMDc5MEU4REEwNjcxCis6MTAwQkQwMDAyQkMzM0QyNDAwNzcxQkIwMzFFNkZDNTY1MTU1QjkxMEFDCis6MTAwQkUwMDAwMDJFOEJBQzQ0MDA4MTRFMzg4MDAwNDY0NkUyRjI1RDE4Cis6MTAwQkYwMDA1OTVFRTg2OUZGRTg0QjE1QjA0NkU2MEFFODQ0MTU1QjI0Cis6MTAwQzAwMDBDMzMzRjY4QjBFNDIxMjJFOEJBQzQ0MDBGNzQ2MzgwMEVECis6MTAwQzEwMDAyMDc0MDZFODE3MTVFODVCRkY4M0M2MjBFMkU5QzM4QjYyCis6MTAwQzIwMDBDMjA1MDQwMDg5NDYyODJFQTE0QzJEODk4NjhFMDA4OTk0Cis6MTAwQzMwMDA4NjkwMDA4OTg2OTIwMEM2ODZBMzAwMEFDNjg2QzMwMEY1Cis6MTAwQzQwMDAwMzUyODNDMjA0OEE4NkE2MDAwQzA2RUU1QTgzQzIwMkFGCis6MTAwQzUwMDBCMDA1RUU4ODg2QTUwMEMzRTgwM0ZGRThFNTE0QjA0MkJFCis6MTAwQzYwMDBFNjBBRjc0NjM4ODAwMDc0MDYyRUExOUMyMkVCMDQyRTdCCis6MTAwQzcwMDBBMTZDMjJDNzQ2MUMwQzAwODk4Njk0MDA4OTg2OTYwMEM4Cis6MTAwQzgwMDA4OTg2OEUwMDg5ODY5MDAwODk4NjkyMDBFNkYwRTZFNEU3Cis6MTAwQzkwMDA4QUM0RTZGOEU2RUNDNjg2QzMwMDAzRThBNTE0QjAxQUQ5Cis6MTAwQ0EwMDBFNjBBQjAxMDg4ODZBNTAwRTYwQ0MzMzNDOThCRjE4QTJBCis6MTAwQ0IwMDAwRTk0MTIyRThCQUM0NDAwRjc0NjM4NDAwMDc0MDZFOEMwCis6MTAwQ0MwMDA3NjE0RTg1QUZGNDY0NkUyRUFDMzMzQzk4QkYxOEEwRTJFCis6MTAwQ0QwMDA5NDEyMkU4QkFDNDQwMEY3NDYzODAwMjA3NDA2RTg0QzgyCis6MTAwQ0UwMDAxNEU4NzRGRjQ2NDZFMkVBQzM5MDgzM0U0NDEyMDA3NTVFCis6MTAwQ0YwMDAxNEIwMDFCQTA2MDFFRTJBQzBFRUIwMDJFRUIwMDRFRTY2Cis6MTAwRDAwMDBCODAwMDJFQjBGQkEwNjAxQjA0MEVFQjgwMTAwOEEwRTNGCis6MTAwRDEwMDAwRTAxRDNFMEEzODgxMkMzQTE4ODEyQTM4NDEyMkQyMDUwCis6MTAwRDIwMDAwMEEzOEExMjJEMjAwMEEzODIxMkM3MDY4NjEyMjAwMDdCCis6MTAwRDMwMDBDNzA2ODAxMjMyMDBDMzgzM0U0NDEyMDA3NDc2OEIwRUM1Cis6MTAwRDQwMDA0MjEyMzNGNjhBQTQ1NDEyODRFNDc0NUY4QTg0NDgxMkVGCis6MTAwRDUwMDAwQzA0RTZGRUY2QzQwNDc0MjVCMDFCQkEwMDAwRUVFQkVBCis6MTAwRDYwMDAwMDJBQzBCQTAyMDBFRUVCMDBCMDAzRUVFQjAwMzJDMDg2Cis6MTAwRDcwMDBCQTAyMDBFRUVCMDBCQTAwMDBCMDAwRUVFQjJEQjAxRjlGCis6MTAwRDgwMDBCQTAwMDBFRUVCMDAyQUMwQkEwMjAwRUVFQjAwQjAwMzlFCis6MTAwRDkwMDBFRUVCMDBEMUU2OEE4NDVEMTJEMUVFRjZEMEJBMDIwMDA1Cis6MTAwREEwMDBFRUVCMDBCQTAwMDBCMDBBRUVFQjAwRTQwNEVCMDBFNDY2Cis6MTAwREIwMDAwNDQ2RTI5MEMzOTBCODE0MDBCQTNFRkZFRkI4MDYwMEI0Cis6MTAwREMwMDBCQTMyRkZFRkI4MEYwMEJBMzRGRkVGQkEzNkZGRUY4MzQ1Cis6MTAwREQwMDAzRTQ0MTIwMDc1MTZCODExMDBCQTM4RkZFRkI4MTIwMDgxCis6MTAwREUwMDBCQTNBRkZFRkI4MUIwMEJBM0NGRkVGQzNCODExMDBCQTI0Cis6MTAwREYwMDAzOEZGRUZCODEyMDBCQTNBRkZFRkI4MUIwMEJBM0NGRjU5Cis6MTAwRTAwMDBFRkMzQjhGQzAwQkEyOEZGRUZGQjgzM0U0NDEyMDA3NDI2Cis6MTAwRTEwMDAwN0I4Q0MwMEJBMjhGRkVGQzMwMEZGRkYyMDI0MjhGRjRCCis6MTAwRTIwMDAyQ0ZGRkYzMDM0MzhGRkZGM0M5MDNDMEY3NzBFQkIxOThFCis6MTAwRTMwMDAwRTJFRDczQ0ZGNzQwNThBRDhGOEMzOTAyQURCRjlDMzdECis6MTAwRTQwMDA4MzNFNDQxMjAwNzQyN0EwMDYwMTgwMjYwNjAxMzA4MEVDCis6MTAwRTUwMDAzRTA2MDEzMDc1MThCOTAyMDBCRkM0MTNCQTA2MDFFQzkyCis6MTAwRTYwMDBBODIwNzVGOEJBMDQwMUVEQUJFMkYxRUIxNjkwQjkwNEQ1Cis6MTAwRTcwMDAwMEJGQzQxM0JBMDYwMUVDQTgyMDc1RjhCQTA0MDFFQzRGCis6MTAwRTgwMDBBQUUyRjFGQTkwQkVDNDEzQUQ4MEU0M0Y4MEZDMDI3NDg0Cis6MTAwRTkwMDAwRTZBMDAxRkM2MDY5MzEyMEE5QzBFRTgzRTA0OTBBRDJGCis6MTAwRUEwMDAzQzBGNzVFRDhBQzRFODgxRkY3MkU2ODgxRTFBMDFDNjAwCis6MTAwRUIwMDAwNjhFMTIwMEIwMDAwQTA2MUEwMUJBMDAwMUVFQzYwNjNDCis6MTAwRUMwMDA4RjEyNDA4MzNFNDQxMjAwNzUwNkI4MEMwMEVCMDQ5MDZDCis6MTAwRUQwMDBCODRDMDBCQTI4RkZFRkMzODMzRTQ0MTIwMDc1MDFDMzJCCis6MTAwRUUwMDBBMTUwMTIwQjA2NTIxMjBBQzRBODA4NzRGMkEwMEYwMUY2Cis6MTAwRUYwMDAyQUU0NTBGRjM2QkExMzFGRTg1MDU2ODNDNDAyNkEwMDMyCis6MTAwRjAwMDAxRjMzQzBBM0JDMTNBMDBGMDFBM0JFMTM4QjFFQkMxM0MxCis6MTAwRjEwMDA4QTg3NTAxMkY2ODc1MDEyMDg3NDBEMjQwNzhBRTBCRUEzCis6MTAwRjIwMDBDQzAwQTBCQzEzRTg5NDNERkYwNkJDMTNGRjBFQkUxMzFCCis6MTAwRjMwMDA3NURBQzM5MDFFMzNDMDhFRDhCMDAxRTg1NDNEMUZDMzhDCis6MTAwRjQwMDAzM0M5OEJGMThBMEU5NDEyMkU4QkFDNDQwMEM3NDY2MkQzCis6MTAwRjUwMDAzODQ0Qzc0NjdDRkMzQkM3NDY3RUUyM0JDNzg2ODAwMEUwCis6MTAwRjYwMDBFQzNDRThBQjE2QzY4NkMwMDAxMTgzN0UwODAwNzQwNzBGCis6MTAwRjcwMDA1MTU2RTgzMzMzNUU1OTQ2NDZFMkNEQzMzM0M5OEJGMTRGCis6MTAwRjgwMDA4QkY5OEEwRTk0MTJDMUU5MDJFMzEzMkU4QkFDNDQwMDU0Cis6MTAwRjkwMDA4QTg2OUUwMDg4ODU2QzEyODNDNjA4NDdFMkVEQzNGQUY0Cis6MTAwRkEwMDBGQ0IwQzBCQTAwMDFFRTMzQzA4RUQ4OEVDMDhFRDBCRjY4Cis6MTAwRkIwMDAxNjAxQjlDQzc3MkJDRkQxRTlGM0FCQkM0MDEyRThEOUZECis6MTAwRkMwMDAwMkU4NzAzQ0JFQ0MwRkU4RjIzQ0Y0OTAzM0MwOEVEOEZGCis6MTAwRkQwMDA4RUMwOEVEMEY2MDYwQTAxODA3NDBCQkUzNTU1RThEQjU0Cis6MTAwRkUwMDAzQ0IwMDFFOEFDM0NFOEIzMDBFOEY2RjVFODA4RjhFODA2Cis6MTAwRkYwMDAwRkY5RTg4NUZBRThCNkZBRThFRkZDRThDMjEwRTgwMzcyCis6MTAxMDAwMDAzQ0U4QjJGREU4MzBGREU4NTQwMkM2MDY4RjEyQzBFOEE1Cis6MTAxMDEwMDBCQkZBRThFQkZBRThFOUZCRThBRkZDRTg4REZDRTgxRjc3Cis6MTAxMDIwMDBGRkU4NThGRkU4REJGREU4MTZGRTMzQzBCRTVBMDVFOENFCis6MTAxMDMwMDA4QTNDRThBM0ZFRThFMEZDRkJCRUE0NDRFODdEM0NFOTcyCis6MTAxMDQwMDBDQTJENTY5ODhCRjA4QjQyNTI4NUMwNzUyN0M3NDI1MkU1Cis6MTAxMDUwMDAwMTAwNTMzNjhCOUMyQzAxRjZDMzAxNzUwQzM2ODk2ODUwCis6MTAxMDYwMDA1MjM2ODlBQzJDMDE1QjVFQzMzNjg5QUMyQzAxMzY4OUMzCis6MTAxMDcwMDBBQzFDMDE1QjVFQzM1Njk4OEJGMDMzRUQzNjhCODQxQzQxCis6MTAxMDgwMDAwMUE4MDE3NTE1OEJFODMzQzA4NzQyNTIzNjg5ODQxQzRDCis6MTAxMDkwMDAwMUE4MDE3NDA1MzY4OTg0MkMwMTVFQzM1NjUxMzNGNkNDCis6MTAxMEEwMDBCODAxMDBCOTA4MDA4OTg0MUMwMTg5ODQyQzAxNDY0NkQ2Cis6MTAxMEIwMDBFMkY0NTk1RUMzOTBCQjAxMDA4QkU4RkY0RTZFNzQwQUU4Cis6MTAxMEMwMDA4QkREOEI0NjU4QTgwMTc0RjBDMzhCNDY0OEE5MDgwMEY1Cis6MTAxMEQwMDA3NDQ1Rjc0NjM4NDAwMDc0MjdFODVDMTA4MEMyMDY4QUUxCis6MTAxMEUwMDA4NkE4MDAyNEJGODg4NkE4MDBFRTYwQjBGRUU4ODYzMjlECis6MTAxMEYwMDA2MUIwMDJFODRDRkY4QjQ2NDgyNEY3ODk0NjQ4RUIxNzVECis6MTAxMTAwMDBFODJBMTA4MTRFMjYwMDQwOEE4NkE1MDAwQzAyODg4NkI3Cis6MTAxMTEwMDBBNTAwRTYwQzhCNDY0OEE5MDQwMDc0MTRCMDAyRTgyMTJGCis6MTAxMTIwMDBGRjhCNDY0ODI0RkI4OTQ2NDg2MEIwREZFODQ3MzI2MUMwCis6MTAxMTMwMDAzM0MwODc0NjU4RjZDMzAxNzUwQjM2ODk0NzU4QTgwMTU2Cis6MTAxMTQwMDA3NTBERTk3NEZGQTMyMjAxQTgwMTc1MDNFOTZBRkY4OUZGCis6MTAxMTUwMDAxRTMyMDFDM0JCMDEwMDhCRThGNzQ2Mzg0MDAwNzQxNTBFCis6MTAxMTYwMDBFOEQ1MEY4MEMyMEFFQ0E4NDA3NTBBOEJERDhCNDY1Njg1Cis6MTAxMTcwMDBBODAxNzRFM0MzOEI0NjI2ODBFNEZFODBDQzAyODk0NjM2Cis6MTAxMTgwMDAyNkIwMDJFOEJDRkUzM0MwODc0NjU2RjZDMzAxNzUwQTk2Cis6MTAxMTkwMDAzNjg5NDc1NkE4MDE3NTBCRUJCREEzMjAwMUE4MDE3NTQwCis6MTAxMUEwMDAwMkVCQjQ4OTFFMzAwMUMzNjAxRTA2MkJDMDhFRDhBMDhFCis6MTAxMUIwMDA5MDEyODRDMDc1NDlBMTIyMDFBODAxNzUwM0U4RjZGRUNBCis6MTAxMUMwMDBBMTIwMDFBODAxNzUwM0U4OEFGRkExQUMxMzQ4NzgwNUE2Cis6MTAxMUQwMDA3NDQ1QTNBQzEzQTFBRTEzNDg3ODA1NzQ1MUEzQUUxM0E0Cis6MTAxMUUwMDBBMUIwMTM0ODc4MDU3NDYzQTNCMDEzQTE3RTEyNDA3OEIwCis6MTAxMUYwMDAwM0EzN0UxMkI4MDA4MEJBMjJGRkVGMDcxRjYxQ0ZBMEMxCis6MTAxMjAwMDA5MTEyNDAzQzAyNzIwQjMzQzBBMjkxMTJGRjE2N0MxMjY1Cis6MTAxMjEwMDBFQkE0QTI5MTEyRUI5RkEwOEUxMjMyMDY4RjEyQTI4RTI3Cis6MTAxMjIwMDAxMjBBMDYxQTAxQkEwMDAxRUVCODJDMDFFQkE0ODMzRUEzCis6MTAxMjMwMDA4NDEyMTA3MjExQkEyOEZGRUQwQzgxRUZFODUzMzdCQTBGCis6MTAxMjQwMDAyOEZGRUQyNDdFRUZCODA0MDBFQjkyQzYwNjhEMTIwMTU0Cis6MTAxMjUwMDBFODNGMzdDNjA2OEQxMjAwQTFCMjEzRUI4QjkwOEExRUIxCis6MTAxMjYwMDAwQjAxMkFGRjZCQzMxOUJBNjJGRkVGQjgwQTAwQkE2MDFDCis6MTAxMjcwMDBGRkVGQjgwMUUwQkE2NkZGRUZCOEZGRkZCQTUyRkZFRjI5Cis6MTAxMjgwMDBCODA5QzBCQTU2RkZFRkM3MDZBQzEzMkMwMUM3MDZBRUFCCis6MTAxMjkwMDAxMzA0MDBDNjA2OTExMjAwQzM5MDhBMUUwQjAxMkFGRjk4Cis6MTAxMkEwMDA2QkMzMDVEMUU4QTMxODAxQzM5MDUyQkE1MEZGRUQ1QUExCis6MTAxMkIwMDBDMzkwNTM1MThCMUUxODAxQjkzMjA1OTBFMkZFNEI3NTU1Cis6MTAxMkMwMDBGNzU5NUJDM0IwODBCQTAwMDEwQTA2MUEwMUVFQzM5MDU5Cis6MTAxMkQwMDBCMDQwRUJGMkIwQzBFQkVFQjAwMEVCRUFGQTYwMDYxRUY1Cis6MTAxMkUwMDAxNjJCREI4RURCMkVBMUJBNEMyRUEzOTI0Q0EwOTMxMkIwCis6MTAxMkYwMDA5ODhCRTg4OTI2MkQ3QTgwM0VDQTEzMDA3NDAzRTk2QjI3Cis6MTAxMzAwMDA0MkU4QzBGRkU4QUJGRkU4QThGRkIwMjBDNjA2OTAxMjk1Cis6MTAxMzEwMDAwMEZGMTY3QzEyOEJGRDgzRkYwQTcyMTFFOEI5RkZFODBCCis6MTAxMzIwMDA5MEZGRThBQkZGRTg4QUZGODNFRjBBRUJFQTBCRkY3NDVDCis6MTAxMzMwMDAwRkU4QTRGRkU4N0JGRkU4OUFGRkU4NzVGRjRGNzVGMTFGCis6MTAxMzQwMDBFODk1RkZFODZDRkZFQkI5OEE4NkE1MDAyNEZERUU4OERFCis6MTAxMzUwMDA4NkE1MDBDMzhBODZBNjAwMEMwMkVFQzM4Qjc2MzhGN0ZBCis6MTAxMzYwMDBDNjAxMDA3NEVGOEI0RTM2OEI0NjJFM0JDMTczMDI4QjQ5Cis6MTAxMzcwMDBDODJCQzE4OTQ2MkUwMTRFMzRDNDdFMDQyNjAxMEQ4QjM0Cis6MTAxMzgwMDA3RTJDODNFQTA0RjM2QzhFQzE4OTdFMkMzQjQ2M0M3MjMyCis6MTAxMzkwMDAxMkY3QzYyMDAwNzUwQjgzQ0UyMDg5NzYzOEIwMDBFODlFCis6MTAxM0EwMDBBMEZDQzNGN0M2MDQwMDc0MUI4QkQ4ODNDRTEwODk3NkNCCis6MTAxM0IwMDAzODhBODZBNzAwMjRGRTg4ODZBNzAwODNDMjA4RUU4M0E5Cis6MTAxM0MwMDBFQTA4OEJDMzNENDAwMDcyMDFDMzgxNEUzODAwMDQ4MzlDCis6MTAxM0QwMDBDMjAyOEE4NkE1MDAyNEZBODg4NkE1MDBFRUMzOEE4NjAyCis6MTAxM0UwMDBBNjAwMEMwMkVFQzNGNzQ2MzgwMTAwNzRGMThCNEUyRUI2Cis6MTAxM0YwMDAzMkRCOEFCRUEzMDA4M0MyMDZDNDc2MDQ4QjdFMkM4M0I0Cis6MTAxNDAwMDBGOTA4NzIyQ0VDQTgwMTc0MTY4QUUwODNFQTBBRUM4M0NFCis6MTAxNDEwMDBDMjBBODRFNzc1NTFBQUZFQzM0OTgzRjkwODczRTUzMjBECis6MTAxNDIwMDBGRjI2MDExQzAxNUUzNDg5NzYwNDg5NEUyRTg5N0UyQ0FDCis6MTAxNDMwMDAzQjRFM0M3MjExRjY0NjM4MjA3NDAxQzM4MzRFMzgyMDZGCis6MTAxNDQwMDBCMDAwRThGREZCQzNGNjQ2MzgwNDc0MTU4MzRFMzgxMDJGCis6MTAxNDUwMDA4QTg2QTcwMDI0RkU4ODg2QTcwMDgzRUEwMkVFODNDMjVDCis6MTAxNDYwMDAwMjNENDAwMDcyNURDMzMyRkYyNjAzMUM4NURCNzQwOTE4Cis6MTAxNDcwMDAyNjg5MUM4QkY3NDc0NzQ5NDk4MEU0MUU4MENDQzAyNjRCCis6MTAxNDgwMDA4OTA0RjZDNDEwNzQyNzhCNzYzOEY3QzYwMDEwNzQwQkU1Cis6MTAxNDkwMDA1MEZFODZCMjAwQjAwQUU4QThGQjU4RjdDNjAwMDE3NEY3Cis6MTAxNEEwMDAwREU4ODIyNjhCNzYzODhCNEUyRThCN0UwNEFCOEJGNzI1Cis6MTAxNEIwMDAzM0MwQUIzMkRCOEFCRUEzMDA0OTQ5ODNGOTA4NzIxN0Y3Cis6MTAxNEMwMDBFOTQxRkY4MTRFMzgwMDA0ODNDMkY4OEE4NkE1MDAyNEQyCis6MTAxNEQwMDBGQTg4ODZBNTAwRUVDM0U5NDVGRjgzQzIwOEVDODg4NjNBCis6MTAxNEUwMDBBQTAwQzBFODA0OEFFMDhBQzg4Njg2QTkwMDMyRTA4Qjk4Cis6MTAxNEYwMDA1RTNFODRFMzc0NEY4QUMxOEI0RTI2RjZDNTA0NzQwQzlECis6MTAxNTAwMDBBODA4NzQwNTgwRTFCRkVCMDM4MEM5NDBGNkM1MDg3NEU0Cis6MTAxNTEwMDAwQ0E4MDI3NDA1ODBFMTdGRUIwMzgwQzk4MDg4NEUyNjA5Cis6MTAxNTIwMDA4QkYwOEE4NkE1MDA4NEM5NzQwOEE4MDI3NDE1MjRGRDZFCis6MTAxNTMwMDBFQjA2QTgwMjc1MEQwQzAyODg4NkE1MDA4M0VBMEFFRTY4Cis6MTAxNTQwMDA4M0MyMEE4QkM2ODRFNzc1MDFDM0M2ODZCQTAwMDFCMEEwCis6MTAxNTUwMDAwRUU4RUVGQUY3NDYzODAwMDI3NEVFODM3RTJFMDY3MjJECis6MTAxNTYwMDBFODhBQTZBQTAwQzQ1RTA0OEI3RTJDQjBGRkFBQjAwMjUzCis6MTAxNTcwMDBBQjI2ODMwNzAzODM2RTJFMDM4OTdFMkNGNjQ2MzgyMDI0Cis6MTAxNTgwMDA3NDAxQzM4MzRFMzgyMEIwMDBFOEI2RkFDMzkwODNFQUYyCis6MTAxNTkwMDAwOEU5QjRGRDgzQzIwNjhCNUUyNkY2QzNDMDc1RUY4QkU3Cis6MTAxNUEwMDA0RTFDRUM4ODg2QTQwMDgzRUEwQUE4MjA3NTAyOEFDRDI2Cis6MTAxNUIwMDAzMkVEOEI0NjFBM0JDODczMTgwMTRFMkEyQkMxODk0NjVGCis6MTAxNUMwMDAxQUM1NzYwMEYzNkU4RUQ5ODk3NjAwM0QyMDAwNzIzMDAwCis6MTAxNUQwMDBDMzg1QzA3NDMxOEJDODAxNDYyQUM1NzYwMEYzNkU4RTcwCis6MTAxNUUwMDBEOTgwQ0IwMjg5NUUyNkU4MzJGMUY2QzcwMTc1MTY4M0YxCis6MTAxNUYwMDBDMjAyRTg1M0ZERjZDNzEwNzUwQkIwMDJFODQzRkFDMzA4Cis6MTAxNjAwMDBGNkM3MDE3NEYwQzM4MENCMDI4OTVFMjZGNkM3MDE3NDY5Cis6MTAxNjEwMDBERTgzQzIwMkU4MzFGREY2ODZBNDAwNDA3NDBCODBFNzQ5Cis6MTAxNjIwMDBGRTgwQ0YwMjg5NUUyNkVCQ0NCMDA0RTgxNEZBQzNDMDdBCis6MTAxNjMwMDBDMkM4Q0FDNEM2Q0NDRUQwRDJEOERBRDRENkRDREU5MEVBCis6MTAxNjQwMDBFOTBFMDFFNEM0OEFFMEU0QzQ4QkQwODNGOTA4NzJGMEE3Cis6MTAxNjUwMDAyNjgzM0YwMDc0MDQ4QkRGNDk0OThCRkI4QURFODNFM0RBCis6MTAxNjYwMDAwRjJFOEFBNzJGMTZBQkY2QzQxMDc0MjRGN0M2MDAxMEVECis6MTAxNjcwMDA3NDBCNTBGRTg2QjIwMEIwMEFFOEM2Rjk1OEY3QzYwMEVGCis6MTAxNjgwMDAwMTc0MERFOEEwMjQ4Qjc2Mzg4QjRFMkU4QjdFMDRBQjM0Cis6MTAxNjkwMDA4OTdFMDQzM0MwQUI0OTQ5ODk0RTJFODk3RTJDOEJDMThCCis6MTAxNkEwMDBFQjRFOTBFQjlFOTBFNEQ2ODRDMDc5NjNFNkQwOEFDODc2Cis6MTAxNkIwMDAyNTAzMDAwM0Q4RDFFMzJFOEJBRjQ0MDA4ODhFQUUwMDAzCis6MTAxNkMwMDA4QjRFMkVDNDVFMDQ4QjdFMkM4Qjc2MzhFNDg2MjQwN0VBCis6MTAxNkQwMDAzQzAzNzVDRkU0MUM5MTNCQzE3MzAyOEJDODJCQzE4OUJECis6MTAxNkUwMDA0NjJFMDE0RTM0MjYwMTBGQkFDNDAwRjM2Qzg5N0UyQ0JECis6MTAxNkYwMDAzQjQ2M0M3MjFDRjdDNjIwMDA3NTBCODNDRTIwODk3NkQyCis6MTAxNzAwMDAzOEIwMDBFODNDRjk4QTg2QUUwMDI0M0ZFNkQ2QzNGOTNCCis6MTAxNzEwMDBDM0Y3QzYwQTAwNzQzNUY3QzYxMDAwNzUyRjgzQ0UxMEM0Cis6MTAxNzIwMDA4OTc2MzhGN0M2MDIwMDc0MEU1MEU0RDgyNEZFRTZEODU1Cis6MTAxNzMwMDA1OEY3QzYwODAwNzQxNTUwNTFCOUU4MDNFNDBBODRDMDhDCis6MTAxNzQwMDBFMEZBODRDMDc1MDRCMDI0RTYwQTU5NTgzRDQwMDA3MzlECis6MTAxNzUwMDBCNThBODZBNTAwMjRFRjg4ODZBNTAwRTYwQzgxQ0UxMDA4Cis6MTAxNzYwMDAwNDg5NzYzOEVCQTAwMDA4MDQwQzAxMDkwNTBEMDIwQTczCis6MTAxNzcwMDAwNjBFMDMwQjA3MEYwMDQwODBDMDIwNjBBMEUwMTA1MDUxCis6MTAxNzgwMDA5MEQwMzA3MEIwRjBFNEQyRTZEMDhBQzgyNTAzMDAwM0QwCis6MTAxNzkwMDBEOEQxRTMyRThCQUY0NDAwODg4RUFFMDBFNEQ4QzBFOEU5Cis6MTAxN0EwMDAwNDhCRDgyRThBODc2NjE3OEFFMDhBQzg4Njg2QTkwMEE1Cis6MTAxN0IwMDAzMkUwRTQ5ODhCNUUzRTg0RTM3NDU0OEFDMThCNEUyNkZCCis6MTAxN0MwMDBGNkM1MDQ3NDBDQTgwODc0MDU4MEUxQkZFQjAzODBDOTVBCis6MTAxN0QwMDA0MEY2QzUwODc0MENBODAyNzQwNTgwRTE3RkVCMDM4MDE1Cis6MTAxN0UwMDBDOTgwODg0RTI2OEJGMDhBODZBNTAwRjZDMUZENzQwODU0Cis6MTAxN0YwMDBBODA2NzQxOTI0RjlFQjBGQTgwNjc1MTFGNkM1MDE3NTMyCis6MTAxODAwMDAwNDBDMDRFQjAyMEMwMjg4ODZBNTAwRTYwQzhCQzY4NDRGCis6MTAxODEwMDBFNzc1MDk4QTg2QUUwMDI0M0ZFNkQyQzNDNjg2QkEwMEMxCis6MTAxODIwMDAwMUIwMEVFODFDRjhGNzQ2MzgwMDAyNzRFNjgzN0UyRUZECis6MTAxODMwMDAwNjcyRTA4QTg2QTkwMDhBRTA4Njg2QUEwMDhBQzgzMkYzCis6MTAxODQwMDBDNDgwQzkwQjIyQzFDMEU0MDQwQUUwQzQ1RTA0OEI3RURDCis6MTAxODUwMDAyQ0IwRkZBQUIwMDJBQjI2ODMwNzAzODM2RTJFMDM4OTQ4Cis6MTAxODYwMDA3RTJDRjY0NjM4MjA3NUFCODM0RTM4MjBCMDAwRThEMTg4Cis6MTAxODcwMDBGN0VCQTA5MEU0MTIyNERGRTYxMjgxRTNGRTlGODk1RTdECis6MTAxODgwMDAyNjgzNjY0OEY3RUI3MzkwRjZDNzIwNzVFN0U0MTIwQ0UxCis6MTAxODkwMDAyMEU2MTIzMkMwRTZDNkIwODNFNkM2ODBDRjIwODk1RTVECis6MTAxOEEwMDAyNjhBODZBNTAwMEMwMjg4ODZBNTAwRTYwQ0VCNzQ5MEJCCis6MTAxOEIwMDBGNkM3NDA3NUQzRTQxMjBDMjBFNjEyMzJDMEU2QzZCMDdCCis6MTAxOEMwMDA4MUU2QzY4MEU3REY4MENCMDE4OTVFMjZCMDA2RTg3MTNECis6MTAxOEQwMDBGNzkwOEE4NkE1MDAyNEY5RTYwQzg4ODZBNTAwRUI0M0RDCis6MTAxOEUwMDBFNEQ0RTZEMDhCRjgyNTAzMDAwM0Q4RDFFMzJFOEJBRkU4Cis6MTAxOEYwMDA0NDAwOEI1RTI2RjZDNzYwNzVCNkY2QzNDMDc1RDNCQUQyCis6MTAxOTAwMDBDNjAwOEI0RTFDOEI0NjFBM0JDODczMUUwMTRFMkEyQkY5Cis6MTAxOTEwMDBDMTg5NDYxQUM1NzYwMEYzNkU4RUQ5ODk3NjAwM0QyMEJFCis6MTAxOTIwMDAwMDcyM0Q4QkM3MjQzRkU2RDRDMzg1QzA3NDM5OEJDODkxCis6MTAxOTMwMDAwMTQ2MkFDNTc2MDBGMzZFOEVEOTgzQ0IwMjg5NUUyNkQ2Cis6MTAxOTQwMDBFOEQ5RURGNkM3MDE3NTM5OEE4NkE1MDAyNEY5RTYwQ0I5Cis6MTAxOTUwMDA4ODg2QTUwMEY2QzcxMDc1Q0FCMDAyRThFNEY2RUJDM0E2Cis6MTAxOTYwMDBGNkM3MDE3NEVGRUJCQ0Y2QzcwMTc0REM4QTg2QTUwMEVDCis6MTAxOTcwMDBBODAyNzQxMTgxRTNGRkZFODFDQjAwMDI4OTVFMjZFQjkxCis6MTAxOTgwMDBDNzhBODZBNTAwMjRGQjBDMDJFNjBDODg4NkE1MDBFQjFFCis6MTAxOTkwMDA5MjkwRkRGN0RGN0ZGRUZCRUZCRjAwMDQwMDA0MDUwNDFCCis6MTAxOUEwMDAwNTA0MDEwNDAwMDQwNTA0MDUwNDA2MDQwNjA0MDUwNEY2Cis6MTAxOUIwMDAwNTA0MDYwNDA2MDQwNTA0MDUwNDAyMDQwMDA0MDUwNEU1Cis6MTAxOUMwMDAwNTA0MDEwNDAwMDQwNTA0MDUwNDA2MDQwNjA0MDUwNEQ2Cis6MTAxOUQwMDAwNTA0MDYwNDA2MDQwNTA0MDUwNDA3MDQwNzA0MDUwNEI5Cis6MTAxOUUwMDAwNTA0MDcwNDA3MDQwNTA0MDUwNDA2MDQwNjA0MDUwNEE5Cis6MTAxOUYwMDAwNTA0MDYwNDA2MDQwNTA0MDUwNDA3MDQwNzA0MDUwNDk5Cis6MTAxQTAwMDAwNTA0MDcwNDA3MDQwNTA0MDUwNDA2MDQwNjA0MDUwNDg4Cis6MTAxQTEwMDAwNTA0MDYwNDA2MDQwNTA0MDUwNDAzMDQwMDA0MDUwNDgzCis6MTAxQTIwMDAwNTA0MDEwNDAwMDQwNTA0MDUwNDA2MDQwNjA0MDUwNDc1Cis6MTAxQTMwMDAwNTA0MDYwNDA2MDQwNTA0MDUwNDAyMDQwMDA0MDUwNDY0Cis6MTAxQTQwMDAwNTA0MDEwNDAwMDQwNTA0MDUwNDA2MDQwNjA0MDUwNDU1Cis6MTAxQTUwMDAwNTA0MDYwNDA2MDQwNTA0MDUwNDA3MDQwNzA0MDUwNDM4Cis6MTAxQTYwMDAwNTA0MDcwNDA3MDQwNTA0MDUwNDA2MDQwNjA0MDUwNDI4Cis6MTAxQTcwMDAwNTA0MDYwNDA2MDQwNTA0MDUwNDA3MDQwNzA0MDUwNDE4Cis6MTAxQTgwMDAwNTA0MDcwNDA3MDQwNTA0MDUwNDA2MDQwNjA0MDUwNDA4Cis6MTAxQTkwMDAwNTA0MDYwNDA2MDQwNTA0MDUwNDMzREI4QUQ4OEE4Nzk2Cis6MTAxQUEwMDA2QzEyRTZGRUMxRTMwMkU0Q0VBODA0NzUwOUE4MDI3NDM0Cis6MTAxQUIwMDAwM0U5MkNGRUY5QzM1MDUzRThDQkZDNUI1OEE4MDI3NDMxCis6MTAxQUMwMDAwM0U5MUNGRUY4QzMzM0RCOEFEODhBODc2QzEyRTZGRTcyCis6MTAxQUQwMDBDMUUzMDJFOUQwRkI5QTFBQzYxQTAwMDAwMjAwMDQwMDEyCis6MTAxQUUwMDAwMjAwMDYwMDAyMDAwNDAwMDIwMDA4MDAwMjAwMDQwMEQ4Cis6MTAxQUYwMDAwMjAwMDYwMDAyMDAwNDAwMDIwMDBBMDAwMjAwMDQwMEM2Cis6MTAxQjAwMDAwMjAwMDYwMDAyMDAwNDAwMDIwMDA4MDAwMjAwMDQwMEI3Cis6MTAxQjEwMDAwMjAwMDYwMDAyMDAwNDAwMDIwMDBDMDAwMjAwMDQwMEEzCis6MTAxQjIwMDAwMjAwMDYwMDAyMDAwNDAwMDIwMDA4MDAwMjAwMDQwMDk3Cis6MTAxQjMwMDAwMjAwMDYwMDAyMDAwNDAwMDIwMDBBMDAwMjAwMDQwMDg1Cis6MTAxQjQwMDAwMjAwMDYwMDAyMDAwNDAwMDIwMDA4MDAwMjAwMDQwMDc3Cis6MTAxQjUwMDAwMjAwMDYwMDAyMDAwNDAwMDIwMDBFMDAwMjAwMDQwMDYxCis6MTAxQjYwMDAwMjAwMDYwMDAyMDAwNDAwMDIwMDA4MDAwMjAwMDQwMDU3Cis6MTAxQjcwMDAwMjAwMDYwMDAyMDAwNDAwMDIwMDBBMDAwMjAwMDQwMDQ1Cis6MTAxQjgwMDAwMjAwMDYwMDAyMDAwNDAwMDIwMDA4MDAwMjAwMDQwMDM3Cis6MTAxQjkwMDAwMjAwMDYwMDAyMDAwNDAwMDIwMDBDMDAwMjAwMDQwMDIzCis6MTAxQkEwMDAwMjAwMDYwMDAyMDAwNDAwMDIwMDA4MDAwMjAwMDQwMDE3Cis6MTAxQkIwMDAwMjAwMDYwMDAyMDAwNDAwMDIwMDBBMDAwMjAwMDQwMDA1Cis6MTAxQkMwMDAwMjAwMDYwMDAyMDAwNDAwMDIwMDA4MDAwMjAwMDQwMEY3Cis6MTAxQkQwMDAwMjAwMDYwMDAyMDAwNDAwMDIwMEMzOTBEQTE0OTQxNTBCCis6MTAxQkUwMDA1QzEzRTYxM0RBMUJEQTFCRTYxM0RBMUI4Qjk0NjQxMjIwCis6MTAxQkYwMDBDMUU2MDRBODAxNzQzNTUwMzNDMDhBQzJFNkZFRTRBMEYxCis6MTAxQzAwMDA4NUMwNzQyNzhCRDgyRThBOUZEQTFBNTI1NjJFOEJBODNECis6MTAxQzEwMDA0NDAwOEI1NjI4RUNBODAxNzUwRDg4ODZBRDAwMjQwRTczCis6MTAxQzIwMDA4QUQ4MkVGRjk3REMxQjVFNUFFQkNENThBODAyNzQzNjdCCis6MTAxQzMwMDA4M0M2MTAzM0MwOEFDNkU2RkVFNEEwODVDMDc0Mjc4QjM1Cis6MTAxQzQwMDBEODJFOEE5RkRBMUE1MjU2MkU4QkE4NDQwMDhCNTYyODFCCis6MTAxQzUwMDBFQ0E4MDE3NTBEODg4NkFEMDAyNDBFOEFEODJFRkY5NzVBCis6MTAxQzYwMDBEQzFCNUU1QUVCQ0RDMzkwMzJFNDhCRDg4QkQwMkU4QTJFCis6MTAxQzcwMDA5RjlBMTkyRTIyOTc5MjE5NTY1MjhBQzMyNDAzMDNDNjlCCis6MTAxQzgwMDA4MEUzMDREMEVCMkVGRjk3RDYxQTU4NUVBOTU1MDA3NTU1Cis6MTAxQzkwMDBEOUMzNjAxRTA2MkJDMDhFRDhBMTVDMTJFNkZFRTQwMEZDCis6MTAxQ0EwMDAyMkM0NzQwODMzRjZFOEJGRkZFQkVFOTBFNDA0MDdFNEM3Cis6MTAxQ0IwMDAwNDFGQjgwMDgwQkEyMkZGRUY2MUNGOTA2MDFFMDYyQjkwCis6MTAxQ0MwMDBDMDhFRDhBMTVFMTJFNkZFRTQwMDIyQzQ3NDA4QkUwNEYxCis6MTAxQ0QwMDAwMEU4OTRGRkVCRURFNDA0MDdFNDA0MUZCODAwODBCQUM5Cis6MTAxQ0UwMDAyMkZGRUY2MUNGOTA2MDFFMDYyQkMwOEVEOEExNUMxMjQwCis6MTAxQ0YwMDBFNkZFRTQwMDIyQzQ3NDE4MzNGNkU4NkJGRkExNjAxMjFDCis6MTAxRDAwMDBFNkZFRTQwMDIyQzQ3NEU1QkUwODAwRTg1QUZGRUJEREZECis6MTAxRDEwMDBBMTYwMTJFNkZFRTQwMDIyQzQ3NUVERTQwNDA3RTQwNEM5Cis6MTAxRDIwMDBBMTVDMTJFNkZFRTQwNDFGRTQwNEI4MDA4MEJBMjJGRkJFCis6MTAxRDMwMDBFRjYxQ0Y5MDYwMUUwNjJCQzA4RUQ4QTE1RTEyRTZGRTJBCis6MTAxRDQwMDBFNDAwMjJDNDc0MTlCRTA0MDBFODFDRkZBMTYyMTJFNjdDCis6MTAxRDUwMDBGRUU0MDAyMkM0NzRFNEJFMEMwMEU4MEJGRkVCRENBMTNGCis6MTAxRDYwMDA2MjEyRTZGRUU0MDAyMkM0NzVFREU0MDQwN0U0MDRBMTc3Cis6MTAxRDcwMDA1RTEyRTZGRUU0MDQxRkU0MDRCODAwODBCQTIyRkZFRjFFCis6MTAxRDgwMDA2MUNGNjAxRTA2MkJDMDhFRDhBMTVDMTJFNkZFRTQ4MEY3Cis6MTAxRDkwMDA4NEM0NzQwODMzRjZFODUzRkVFQkVFOTBCODAwODBCQUMyCis6MTAxREEwMDAyMkZGRUYwNzFGNjFDRjkwNjAxRTA2MkJDMDhFRDhBMUM3Cis6MTAxREIwMDA1RTEyRTZGRUU0ODA4NEM0NzQwOEJFMDIwMEU4MkNGRUQ1Cis6MTAxREMwMDBFQkVEQjgwMDgwQkEyMkZGRUYwNzFGNjFDRjkwNjAxRUQ1Cis6MTAxREQwMDAwNjJCQzA4RUQ4QTE2MDEyRTZGRUU0ODA4NEM0NzQwODhECis6MTAxREUwMDBCRTA0MDBFODA2RkVFQkVEQjgwMDgwQkEyMkZGRUYwNzY0Cis6MTAxREYwMDAxRjYxQ0Y5MDYwMUUwNjJCQzA4RUQ4QTE2MjEyRTZGRTM2Cis6MTAxRTAwMDBFNDgwODRDNDc0MDhCRTA2MDBFOEUwRkRFQkVEQjgwMDkxCis6MTAxRTEwMDA4MEJBMjJGRkVGMDcxRjYxQ0Y5MDYwMUUwNjJCQzA4RTk1Cis6MTAxRTIwMDBEOEExNUMxMkU2RkVFNDAwMjJDNDc0MTgzM0Y2RTgzNzQ5Cis6MTAxRTMwMDBGRUExNjAxMkU2RkVFNDgwODRDNDc0RTVCRTA0MDBFOEZFCis6MTAxRTQwMDBBQUZERUJEREExNjAxMkU2RkVFNDgwODRDNDc1RURBMTdECis6MTAxRTUwMDA1QzEyRTZGRUU0MDQwN0U0MDQxRkI4MDA4MEJBMjJGRjI3Cis6MTAxRTYwMDBFRjYxQ0Y5MDYwMUUwNjJCQzA4RUQ4QTE1RTEyRTZGRUY5Cis6MTAxRTcwMDBFNDAwMjJDNDc0MTlCRTA0MDBFOEVDRkRBMTYyMTJFNjdECis6MTAxRTgwMDBGRUU0ODA4NEM0NzRFNEJFMDYwMEU4NUZGREVCRENBMUUwCis6MTAxRTkwMDA2MjEyRTZGRUU0ODA4NEM0NzVFREExNUUxMkU2RkVFNDAzCis6MTAxRUEwMDAwNDA3RTQwNDFGQjgwMDgwQkEyMkZGRUY2MUNGNjAxRTcwCis6MTAxRUIwMDAwNjJCQzA4RUQ4QTE1QzEyRTZGRUU0ODA4NEM0NzQxOEEwCis6MTAxRUMwMDAzM0Y2RTgyN0ZEQTE2MDEyRTZGRUU0MDAyMkM0NzRFNUMzCis6MTAxRUQwMDBCRTA4MDBFODkyRkRFQkREQTE2MDEyRTZGRUU0MDAyMjAwCis6MTAxRUUwMDBDNDc1RURFNDA0MDdFNDA0MUZCODAwODBCQTIyRkZFRkQ0Cis6MTAxRUYwMDA2MUNGNjAxRTA2MkJDMDhFRDhBMTVFMTJFNkZFRTQ4MDg0Cis6MTAxRjAwMDA4NEM0NzQxOUJFMDIwMEU4RTJGQ0ExNjIxMkU2RkVFNDk5Cis6MTAxRjEwMDAwMDIyQzQ3NEU0QkUwQzAwRTg0REZERUJEQ0ExNjIxMkFCCis6MTAxRjIwMDBFNkZFRTQwMDIyQzQ3NUVERTQwNDA3RTQwNDFGQjgwMEYzCis6MTAxRjMwMDA4MEJBMjJGRkVGNjFDRjkwNjAxRTA2MkJDMDhFRDhBMTIxCis6MTAxRjQwMDA1QzEyRTZGRUU0ODA4NEM0NzQxODMzRjZFODlERkNBMUJDCis6MTAxRjUwMDA2MDEyRTZGRUU0ODA4NEM0NzRFNUJFMDQwMEU4OENGQ0Y0Cis6MTAxRjYwMDBFQkREQTE2MDEyRTZGRUU0ODA4NEM0NzVFRDA3MUZCOEM2Cis6MTAxRjcwMDAwMDgwQkEyMkZGRUY2MUNGNjAxRTA2MkJDMDhFRDhBMTcxCis6MTAxRjgwMDA1RTEyRTZGRUU0ODA4NEM0NzQxOUJFMDIwMEU4NUNGQ0M0Cis6MTAxRjkwMDBBMTYyMTJFNkZFRTQ4MDg0QzQ3NEU0QkUwNjAwRTg0QjRECis6MTAxRkEwMDBGQ0VCRENBMTYyMTJFNkZFRTQ4MDg0QzQ3NUVEMDcxRjQxCis6MTAxRkIwMDBCODAwODBCQTIyRkZFRjYxQ0Y5MDYwMUUwNjJCQzA4RTYyCis6MTAxRkMwMDBEODkwMkFDMEU2RkVFNENFQTgwMTc0MTQzM0RCRThENTJECis6MTAxRkQwMDBGNkVCRUY5MEI4MDA4MEJBMjJGRkVGMDcxRjYxQ0Y5MEI5Cis6MTAxRkUwMDBGNjA2MDUwMTAxNzVFREIwMDFFNkZFRTRDRUE4MDE3NDI4Cis6MTAxRkYwMDBFM0JCMDQwMEU4QUZGNkVCQzk5MDYwMUUwNjJCQzA4RTcxCis6MTAyMDAwMDBEODkwRkI5MEZBMkFDMEU2RkVFNENFQTgwMjc0MTMzM0ZGCis6MTAyMDEwMDBEQkU4Q0NGOEVCRUNCODAwODBCQTIyRkZFRjA3MUY2MUQ5Cis6MTAyMDIwMDBDRjkwQTgwNDc0RjAzM0RCRTg1QkY3RUJENTkwNjAxRTJCCis6MTAyMDMwMDAwNjJCQzA4RUQ4OTBGQjkwRkFCMDAxRTZGRUU0Q0VBODQ1Cis6MTAyMDQwMDAwMjc0MTVCQjA0MDBFODk3RjhFQkVCOTBCODAwODBCQTc3Cis6MTAyMDUwMDAyMkZGRUYwNzFGNjFDRjkwQTgwNDc0RjBCQjA0MDBFOEQzCis6MTAyMDYwMDAyNEY3RUJEMjZBMDAxRkM2MDY5MzEyMDk5QzBFRTg2Qjk4Cis6MTAyMDcwMDBGMjkwNkEwMDFGQzYwNjkzMTIyOTlDMEVFODVERjI5MDRBCis6MTAyMDgwMDA3MjIwNzIyMDcyMjBDRTFEOTIxQ0U2MUMxQTFFNzIyMDM1Cis6MTAyMDkwMDA4MjFEQUUxRTM4MUY3MjIwODIxRDcyMjA3MjIwMzgxRkQyCis6MTAyMEEwMDA3MjIwNzIyMDcyMjBGNDFEQkMxQzM0MUQ2NDFFNzIyMDJDCis6MTAyMEIwMDBBODFERjIxRTc4MUY3MjIwQTgxRDcyMjA3MjIwNzgxRkEyCis6MTAyMEMwMDBGQ0I5NDAwMDhDQ0JCODY0MjAyQkZGQUI5M0FCOTNFMjAwCis6MTAyMEQwMDBGQUM3MDY0QzAwQTgxMTgzM0U0NDEyMDA3NTIwQzcwNkJCCis6MTAyMEUwMDAzQzAwMDg0QkM3MDYzMDAwQkExRkM3MDYzNDAwRkExRjcxCis6MTAyMEYwMDBGNjA2MDUwMTAxNzUwNkM3MDYzODAwMkUyMEMzQzcwNjdGCis6MTAyMTAwMDAzQzAwNTY0QjMzREI4QTFFNTQxMkMxRTMwMjAyMUU1NkJBCis6MTAyMTEwMDAxMjJFOEI4NzgwMjBBMzMwMDA4QTFFNTUxMkMxRTMwMjQ1Cis6MTAyMTIwMDAwMjFFNTcxMjJFOEI4N0EwMjBBMzM0MDBDMzhCODY5RURECis6MTAyMTMwMDAwMEU2RkU4NkM0RTZEMEMzOEI4NjlFMDBFNkZFMzNEMjYwCis6MTAyMTQwMDA4QUQ0QzM1MUI5MTAyN0U0MEE5MDkwODRDMDc0MDVFMjgwCis6MTAyMTUwMDBGNjU5RjlDMzU5RjhDMzg0QzA3ODFFNTE4QUU4OEFDODcxCis6MTAyMTYwMDBCODAxMDBEM0UwMDk4Njk4MDAzQUFFQTAwMDU5NzUxMDc2Cis6MTAyMTcwMDBFOEE5RTU4MzRFMjYwMkY5QzM5ODg5ODY5ODAwRUJGMDFBCis6MTAyMTgwMDBGOEMzODRDMDc4MTI1MThBRTA4QUM4QjgwMTAwRDNFMDRECis6MTAyMTkwMDA1OUY3RDAyMTg2OTgwMEMzQzc4Njk4MDAwMDAwQzM4M0YyCis6MTAyMUEwMDBDMjA0OEE4NkE2MDAwQzA0RUU4M0VBMDRDM0U4OTNGRjA3Cis6MTAyMUIwMDA3MjA0QjA4MkU2MEFDMzhCNDYyNkE4RkQ3NDExOEE4NjkzCis6MTAyMUMwMDBBNTAwQTgwNjc0MDgyNEY5ODg4NkE1MDBFNjBDQzNGNkM1Cis6MTAyMUQwMDBDNDAxNzQwQThBODZBNTAwMjRGQjBDMDJFQjBDQTgwMjM5Cis6MTAyMUUwMDA3NTBGOEE4NkE1MDAyNEZEMEMwNDNBODZBNTAwNzVEOEQzCis6MTAyMUYwMDBDMzhBODZBNTAwRUJDRkU0RDgzM0RCOEFEOEMwRUIwNEQyCis6MTAyMjAwMDAyRThBOUY2NjE3ODg5RUE5MDA4QjVFMjY4MEUzM0ZGNjg0Cis6MTAyMjEwMDBDNzA0NzQwN0E4MTA3NTAzODBDQjQwRjZDNzA4NzQwNzdECis6MTAyMjIwMDBBODgwNzUwMzgwQ0I0MDg4NUUyNjhBODZBNTAwRjZDMzA5Cis6MTAyMjMwMDBGRDc0MERBODA2NzQwODI0Rjk4ODg2QTUwMEU2MENDMzcxCis6MTAyMjQwMDBGNkM3MDE3NDA0MEMwMkVCRjBGNkMzMDI3NUU5MEMwNDQ2Cis6MTAyMjUwMDBFQkU3QzQwNEM0MDQ4NTA0NTkwNDQ4MDQ0MTA0QzMwM0RGCis6MTAyMjYwMDA4MjAzNDEwMzgyMDI1NzAyNDEwMjgyMDE0MTAxODIwMDNFCis6MTAyMjcwMDA0MTAwNEUwMkFEMDE1NzAxMkQwMDJCMDAyNzAwMjEwMDI3Cis6MTAyMjgwMDAxNjAwRjQwNEY0MDRBMzA0NkYwNDVCMDQ1MTA0RjQwMzgzCis6MTAyMjkwMDBBMzAzNTEwM0EzMDI2RDAyNTEwMkEzMDE1MTAxQTMwMDQ0Cis6MTAyMkEwMDA1MTAwNjIwMkQ5MDE2RDAxMzgwMDM2MDAzMTAwMjkwMDY5Cis6MTAyMkIwMDAxQjAwNTE1N0JGMDIwMEVCMEY5MDUxNTZCRjAxMDBFQkJFCis6MTAyMkMwMDAwNzkwNTE1NkJGMDMwMDkwM0MxOTc2MDJCMDE3OTg4QkM3Cis6MTAyMkQwMDBGMDhBODJDNDAwMkFFNDhCRjA4M0ZFMTg3MzQ2RDFFNkFDCis6MTAyMkUwMDAyRThCOEM1MjIyRjc0NjM4ODAwMDc0MDUyRThCOEM4MjAwCis6MTAyMkYwMDAyMkY3QzcwMjAwNzQxMjNCOEU5NDAwNzQwQzg5OEU5NEVFCis6MTAyMzAwMDAwMDhBQzVFNkVDOEFDMUU2RTRGN0M3MDEwMDc0MTIzQjE3Cis6MTAyMzEwMDA4RTk2MDA3NDBDODk4RTk2MDA4QUM1RTZGODhBQzFFNjBFCis6MTAyMzIwMDBGMDVFNTlDMzc3MDY4QjhFOEUwMEVCQzU4QjhFOTAwMEM2Cis6MTAyMzMwMDBFQkJGRDUwM0Y2MDAzRTAwMTAwMDA0MDBDQTA0MzMwMUQxCis6MTAyMzQwMDA0RDAwMTQwMDA1MDAwMTAzMDUwNzA5MDAwMTAyMDMwNDA0Cis6MTAyMzUwMDA4MDg0MUUwMEEwMjUyNjAwMDAwMDYwOEJGMDMzRkYyRTM1Cis6MTAyMzYwMDBBMTUwMjMyRThCMTY1MjIzQkIzMjIzRjc0NjM4ODAwMDEwCis6MTAyMzcwMDA3NDBDMkVBMTU0MjMyRThCMTY1NjIzQkIzQzIzQjkwNTc3Cis6MTAyMzgwMDAwMDJFM0IzMTczMEE0NzQ3RTJGN0I4RkZGRkVCMUQ5MDgxCis6MTAyMzkwMDBEMUVGMkU4QThENDYyMzJBRUREMUVBRDFEOEUyRkFGNzgxCis6MTAyM0EwMDBGNjA1MDIwMEMxRTgwMjJFOEFBNTRCMjMyRUEzNTgyMzZFCis6MTAyM0IwMDA2MTJFQTE1ODIzQzMwODAwMjAwMDgwMDAwMDAyNjAwOTlDCis6MTAyM0MwMDAwODAwMjAwMDgwMDAwMDAyMDAwODAwMDAwMTAwMDIwMDU4Cis6MTAyM0QwMDAwMzAwMDQwMDUyNTY1Nzg1QzA3NDA1M0QwMTA5NzYwMzc5Cis6MTAyM0UwMDBCODAxMDlCRjVCMDFGNzQ2Mzg4MDAwNzQwM0JGQjIwMTMyCis6MTAyM0YwMDAzM0Y2MkUzQjg0QjYyMzc2MDQ0NjQ2RUJGNUY3RTcyRUZDCis6MTAyNDAwMDA4QkJDQzAyMzAzQzc4M0QyMDBEMUU3RjdGNzJFOEFBNDgxCis6MTAyNDEwMDBDQTIzNUY1RTVBQzNFNDNFODBCRUMzMDAwMzc1MENGNzU3Cis6MTAyNDIwMDA0NjdBMjAwMDc0MDUwQzgwRTYzRUMzMjQ3RkU2M0VDMzU2Cis6MTAyNDMwMDAyNDAzODg4NkMzMDA4QUUwRTQxMDI0RkMwQUM0RTYxMDYyCis6MTAyNDQwMDA4MDhFQTEwMDQyRThDRUZGQzM5MDU2OEJGMDgzRTYwNzUyCis6MTAyNDUwMDBEMUU2MkVGRkE0NTgyNDkwNjgyNDZDMjQ3MDI0NzQyNEEwCis6MTAyNDYwMDA3ODI0ODcyNDg3MjQ4NzI0QjQwMEVCMEVCNEMwRUIwQUI5Cis6MTAyNDcwMDBCNDQwRUIwNkI0MjBFQjAyQjRBMEU0MTAyNDFGMEFDNDVECis6MTAyNDgwMDBFNjEwODA4RUExMDA0MjVFQzM5MDNDMDI3NzEyOEFFMDgzCis6MTAyNDkwMDBFNDEwMjRGM0MwRTQwMjBBQzRFNjEwODA4RUExMDA0MkQ2Cis6MTAyNEEwMDBDMzkwOEI1RTM4ODRDMDc0MUYzQzAyNzQyMDgzQ0IwOEI5Cis6MTAyNEIwMDA4QjQ2MkUzQjQ2M0M3NzBDRTg4OEZDNzIwN0IwMjRFNjNFCis6MTAyNEMwMDAwQTgzQ0IxMDg5NUUzOEMzODNFM0Y3RUJGN0Y3QzMxMEI5Cis6MTAyNEQwMDAwMDc0RjVFODZERkM3MkVDOEE4NkMwMDBFNjM4QjAyMzIzCis6MTAyNEUwMDBFNjBBRUJFMDhCNUUzODhCNDYyRTNCNDYzQ0U0RDg3NzIxCis6MTAyNEYwMDAwQjI0RkU4MENCMTJFNkQ4ODk1RTM4QzMwQzAxODBDQjVBCis6MTAyNTAwMDAwMkVCRjM1MDMzREJDMUU4MDQyNTBGMEY4QUQ4MkU4QTgzCis6MTAyNTEwMDA4NzY2MTc4QURDMkU4QUE3NjYxNzA5NDYzRTU4QzM1MDdECis6MTAyNTIwMDAzM0RCQzFFODA0MjUwRjBGOEFEODJFOEE4NzY2MTc4QTA1Cis6MTAyNTMwMDBEQzJFOEFBNzY2MTdGN0QwMjE0NjNFNThDMzhCNDYzRTRECis6MTAyNTQwMDAzM0RCOEFEODBBREMyRThBODc3NjE3RTYyQzhBRTBFNDA5Cis6MTAyNTUwMDAyQTI0MEYwQUM0RTYyQThBODZBNTAwODRFNDc1MERBOEY5Cis6MTAyNTYwMDA4MDc0MTEyNDdGODg4NkE1MDBFNjBDQzNBODgwNzUwNEJBCis6MTAyNTcwMDAwQzgwRUJGMUMzMUU2MDMzQzkzM0QyMzNGNjhFRDk4RDk0Cis6MTAyNTgwMDBCRUZEMDA1NzhCMDU4NEMwNzQxNjhCRDE0MjhCRkU0RjY1Cis6MTAyNTkwMDA3ODA5MzhBM0U0MDA3NDA4NEY3OUY3ODhBMkU0MDA0NjZDCis6MTAyNUEwMDA1RjgzQzcwOTQxODNGOTEwNzJEOTg5QjY4NjAwODk5NjdECis6MTAyNUIwMDA4NDAwNjExRkMzNTNDNzQ2NjYwMDAwOEI0NjY0QTk0MDcwCis6MTAyNUMwMDAwMDc0MERCMzAwQTk4MDAwNzQwMkIzN0Y4ODlFQzEwMDFGCis6MTAyNUQwMDAzMkRCQTkwMjAwNzQwMzgwQ0I0MEE5MDA0MDc0MDM4MDYxCis6MTAyNUUwMDBDQjAyQTkwMDgwNzQwMzgwQ0IwMUE5MzAxRTc0MDM4MDQ0Cis6MTAyNUYwMDBDQkJDQTkwMDIwNzQwMzgwQ0IwOEE5MDQwMTc0MDM4MDFDCis6MTAyNjAwMDBDQjEwQTkwODAwNzQwMzgwQ0IyMDg4OUVDMjAwNUJDMzU2Cis6MTAyNjEwMDAwNjUxNTc1MDE2MDc4REJFQzQwMEI5MUYwMDMzQzBBQTFCCis6MTAyNjIwMDA0MEUyRkM4Qjg2OTIwMDg5ODY4RTAwODk4NjkwMDA1ODU1Cis6MTAyNjMwMDA1RjU5MDdDM0U0RDhDMEU4MDQ1MzI1MEYwMDhCRDgyRTk4Cis6MTAyNjQwMDA4QTg3NjYxNzg4ODZBOTAwNUFDMzA4ODZBQzAwQzY4NkEyCis6MTAyNjUwMDBCQTAwMDFCMDBFRThFQUU5QzNBRDM2QTNCNDEzQUQzNjUzCis6MTAyNjYwMDBBM0I2MTNBRDM2QTNCODEzODNFOTA2MzZGNzA2QjYxMzNGCis6MTAyNjcwMDAwRjAwQzM4QTQ2MjZGNzQ2NDg4MDAwNzQwMjBDMTA4ODczCis6MTAyNjgwMDA4NkJEMDAzMkMwODM3RTFBMDA3NTBFOEI1RTQwNDM4MDhCCis6MTAyNjkwMDBFM0ZFM0I1RTA4NzUwMjBDMDE4MzdFM0EwMDc1MEQxRTU5Cis6MTAyNkEwMDBDNTVFMTQ4QjFGMUY4NURCNzUwMjBDMDJGNzQ2MzgxMEMwCis6MTAyNkIwMDAwMDc0MDIwQzA0OEI1RTdBRjdDMzAyMDA3NDAyMEMwOEVCCis6MTAyNkMwMDBGN0MzMDQwMDc0MDIwQzEwRjdDMzA4MDA3NDAyMEMyMDU2Cis6MTAyNkQwMDBGN0MzNDAwMDc0MDIwQzQwODg4NkJGMDBDMzkwNkEwMEI0Cis6MTAyNkUwMDAxRkM2MDY5MzEyMEQ5QzBFRThGMUVCOTBCMDAyRTZEQURECis6MTAyNkYwMDBGOEMzMzNDMEU2REFGOEMzQjAwMUU2RDhGOEMzMzNDMDk0Cis6MTAyNzAwMDBFNkQ4RjhDM0IwRkZFODRFRkFFOEExRkFGOEMzQUM0OTNFCis6MTAyNzEwMDBFOEFGRkJGOEMzOTBBQzQ5RTgxNUZERjhDMzkwQUM0OUFECis6MTAyNzIwMDBFODY3RkRGOEMzOTBBQzQ5RTgxRkZERjhDMzkwQUM0OUQ5Cis6MTAyNzMwMDBFNjM0RjhDM0FDNDlFNjM2RjhDM0FDNDkzQzAyNzcxRjJGCis6MTAyNzQwMDA4NEMwNzUxREU0MTQyNEVGRTYxNEU0MTIyNDNGRTYxMjVECis6MTAyNzUwMDBFNDE2QTgwNDc0MDlFOEVBRjk3MjA0QjAxOEU2MEFGODY1Cis6MTAyNzYwMDBDMzhBRTBFNDE0MEMxMEU2MTRFNDEyMENDMEY2QzQwMUIxCis6MTAyNzcwMDA3NDAyMjQ3RkU2MTJGOEMzQUM0OUU4MjVGREY4QzM5MDQzCis6MTAyNzgwMDBCODAwNDBFODdERkRFOEI0RkRFOEE4RkVCMDAxRThCOTc2Cis6MTAyNzkwMDBGRUY4QzM5MEI4MDA0MEU4ODVGREU4QTBGREY4QzM5MEJFCis6MTAyN0EwMDBCODAwMTBFODVERkRFODk0RkRFODg4RkVCMDA4RTg5OUZGCis6MTAyN0IwMDBGRUY4QzM5MEI4MDAxMEU4NjVGREU4ODBGREY4QzM5MDBFCis6MTAyN0MwMDBCODAwODBFODNERkRFODc0RkRFODY4RkVCMDAyRTg3OUY1Cis6MTAyN0QwMDBGRUY4QzM5MEI4MDA4MEU4NDVGREU4NjBGREY4QzM5MEJFCis6MTAyN0UwMDBCODAwMjBFODFERkRFODU0RkRFODQ4RkVCMDA0RTg1OUIzCis6MTAyN0YwMDBGRUY4QzM5MEI4MDAyMEU4MjVGREU4NDBGREY4QzM5MDNFCis6MTAyODAwMDBBQzQ5RTg0ODE0RTQzQzI0RTcwQUM0RTYzQ0Y4QzM5MDI5Cis6MTAyODEwMDBCOEZDM0I4OTQ2N0NFNDNDMEMxOEU2M0NGOEMzRTQxMjY3Cis6MTAyODIwMDAwQzAyRTYxMkY4QzNFNDEyMjRGREVCRjZFOEI1RkNGODVFCis6MTAyODMwMDBDMzkwODM2NjM4RkRGOEMzQUM0OUE4MDE3NDA2ODM0RTgzCis6MTAyODQwMDA3QTIwRUIwNDgzNjY3QURGRThDQkZCRjhDMzkwOEE4NkI0Cis6MTAyODUwMDBBNTAwMEMwMjI0RkI4ODg2QTUwMEU2MEM4MTRFMjYwMTBCCis6MTAyODYwMDAyMEFDNDkzMkU0ODk0NjZFODM0RTQ4MDg0OTQ2RjlDMzk0Cis6MTAyODcwMDA4QTg2QTUwMDBDMDIyNEZCODg4NkE1MDBFNjBDODE0RTAyCis6MTAyODgwMDAyNjAxMjBBQ0I0MEFGNkU0RUJEOEU4RkExM0U0M0MyNEMxCis6MTAyODkwMDBGODBBQzRFNjNDRjhDMzkwQUQ0OTQ5ODk0NjY0QTkwMUU5Cis6MTAyOEEwMDAwMDc0MUI4QkQ4ODNFM0ZBNzUxQUE5MDQwMDc0MEZFNDMzCis6MTAyOEIwMDAzRTBDMDJFNjNFQjgzODQ0ODk0NjYyRjhDMzkwRTQzRUQ2Cis6MTAyOEMwMDAyNEZDRUJFRkU0M0UyNEZDRTYzRUU4RThGQ0I4QUE0MDNBCis6MTAyOEQwMDBFQkU2RTg2RUY4NzIwNUIwMThFNjBBRjhDMzkwQUM0OTZBCis6MTAyOEUwMDBFOENGRjlGOEMzOTBBQzQ5RThDRkY5RjhDMzkwRTg2OEFECis6MTAyOEYwMDBGRDc1MDYzMkMwRTZEQUY4QzNCMDAyRTZEQTM2QTBCNEY3Cis6MTAyOTAwMDAxMzI0MTAzNDEwRTgxNjAxMzZBMUI0MTNBOTAxMDA3NDgxCis6MTAyOTEwMDAwNUU4RkNGRUVCMEVBOTAyMDA3NDA0MzJDMEVCMDJCMDI1Cis6MTAyOTIwMDAwMUU4REVGRTM2QTFCNDEzRThCNTEzRTQzQzI0RjgwQTRFCis6MTAyOTMwMDBDNEU2M0MzNkExQjQxM0MxRTgwNTI1MDEwMEU4RkFGRTVGCis6MTAyOTQwMDAzNkEwQjUxMzI0MTBFODU5RkIzMkMwMzY4QTI2QjUxM0Q5Cis6MTAyOTUwMDBGNkM0MDQ3NDA5RkVDMEY2QzQwODc0MDJGRUMwRThEQkM1Cis6MTAyOTYwMDBGRDM2QTFCNjEzMjUwRjAwRTg1N0Y5MzZBMUI2MTNDMUZECis6MTAyOTcwMDBFODA0MjUwMzAwRThCOEZBMzZBMUI2MTNDMUU4MDUyNTM2Cis6MTAyOTgwMDAwMjAwRTgwNUZCMzZBMUI2MTNGNkM0MDE3NTA0MzJDMDk3Cis6MTAyOTkwMDBFQjA5ODBFNDAyRDBFQ0IwMDIyQUM0RThBQ0ZBMzZGNkM3Cis6MTAyOUEwMDAwNkI3MTM0MDc0MDVFODgzRkVFQjAzRTg4NEZFMzZGNkIxCis6MTAyOUIwMDAwNkI3MTMyMDc0MDVFODY1RkVFQjAzRTg2OEZFRjhDMzZDCis6MTAyOUMwMDBFNDEyMEMwMUU2MTJGOEMzRTQxMjI0RkVFQkY2RTQxNDYwCis6MTAyOUQwMDAyNEYwMEMwNUU2MTRFNDJBMjRGMDBDMDZFNjJBRjhDM0Q5Cis6MTAyOUUwMDBFNDJBMjRGMEU2MkFFNDE0MjRGMDBDMDdFNjE0RjhDM0UxCis6MTAyOUYwMDBBRDQ5NDlFODY0Rjk4OTg2OEUwMEY4QzNBRDQ5NDlFOEQ0Cis6MTAyQTAwMDA1OEY5ODk4NjkwMDBGOEMzODM0RTI2MDRFOEE4RjdGOEExCis6MTAyQTEwMDBDMzkwODM2NjI2RkJFODlFRjdGOEMzOTBBQzQ5ODRDMDU4Cis6MTAyQTIwMDA3NTBERTQxMDI0RUZFNjEwODA4RUExMDA0MkY4QzNFNDk3Cis6MTAyQTMwMDAxMDBDMTBFQkYxOTBBQzQ5M0MwMjc2MDIzMkMwQzBFMEMxCis6MTAyQTQwMDAwNEE4MjA3NDAyMEMwODI0MTg4QUUwRTQxMjI0RTcwQTdGCis6MTAyQTUwMDBDNEU2MTI4MDhFQTEwMDQ0RjhDM0FDNDk4ODg2QzAwMDQ5Cis6MTAyQTYwMDBGOEMzQUM0OUU2M0FGOEMzQUM0OTg0QzA3NDA4RTQxMjMwCis6MTAyQTcwMDAwQzA0RTYxMkY4QzNFNDEyMjRGQkVCRjZBQzQ5RThENkVBCis6MTAyQTgwMDBGNjczMDNFODI3RjdGOEMzRTQxMkE4MDI3NDA0MjRGREUwCis6MTAyQTkwMDBFNjEyQjhGMDAwRTg4N0ZBODE2NjI2RkZGM0U4NTdGN0Y4Cis6MTAyQUEwMDBFODlBRkFGOEMzOTBCODgwMDBFODU3RkE4MDRFMjcwOEYxCis6MTAyQUIwMDBFODQ0RjdFODg3RkFGOEMzQjg4MDAwRTg2MUZBODE2NjZECis6MTAyQUMwMDAyNkZGRjdFODMxRjdFODc0RkFGOEMzOTBCODEwMDBFODg5Cis6MTAyQUQwMDAzMUZBODA0RTI3MDRFODFFRjdFODYxRkFGOEMzQjgxMDBGCis6MTAyQUUwMDAwMEU4M0JGQTgxNjYyNkZGRkJFODBCRjdFODRFRkFGOEIwCis6MTAyQUYwMDBDMzkwMzNDMEFDNDkzQzAxNzMwNEIwMDFFQjA2M0MwQ0ZECis6MTAyQjAwMDA3NjAyQjAwQzg5NDYxQ0Y4QzM5MDgxNEUyNjAwMjA4QUJDCis6MTAyQjEwMDA4NkE1MDAwQzAyMjRGQjg4ODZBNTAwRTYwQzgzNEUyNkMxCis6MTAyQjIwMDAwMUY4QzM5MDgxNEUyNjAwNDA4QTg2QTUwMDBDMDI4OEQ5Cis6MTAyQjMwMDA4NkE1MDBFNjBDRjhDMzkwQUM0OTUwRTgwNUY2NTg3MjNCCis6MTAyQjQwMDAwOEU2MzhCMDIzRTYwQUY4QzNGOUMzOTBBQzUwQURFODA0Cis6MTAyQjUwMDA4MkY4NUFGNkMyMDE3NDEyMzk4Njk2MDA3NDBDODk4NjdFCis6MTAyQjYwMDA5NjAwRTZGMDg2RTBFNkY4ODZFMEY2QzIwMjc0MTAzOUQ4Cis6MTAyQjcwMDA4Njk0MDA3NDBBODk4Njk0MDBFNkU0ODZFMEU2RUM4Mzk1Cis6MTAyQjgwMDBFOTAzQzM5MEU0MTY4ODg2QkMwMEU4RTZGQTMzREJFNDg4Cis6MTAyQjkwMDAwQ0E4MDY3NDAzODBDQjAxQTgxMDc0MDM4MENCMDJBODk0Cis6MTAyQkEwMDA4MDc0MDM4MENCMDRFNDEyOEFFMDI0MTgwQUQ4RTREQUEzCis6MTAyQkIwMDBGNkM0MDI3NDA3QTg0MDc1MDM4MENCMjBBODAyNzUwOUVCCis6MTAyQkMwMDBFNDJBQTgwRjc0MDM4MENCNDBGNzQ2MzgwMjAwNzQwOTRBCis6MTAyQkQwMDBFNEQ4QTgwMTc1MDM4MENCODA4ODlFQkUwMEZFODZCNDMxCis6MTAyQkUwMDAwMEIwMEFFODVDRTRGOEMzQUM0OTNDMDI3NDQxNzcxRkNBCis6MTAyQkYwMDA1MEU4NEZGNTU4NzIwQzg0QzA3NDBBQjAxMkU2MEE4MDhGCis6MTAyQzAwMDA0RTM4MDFGOEMzQjAxMUU2MEE4MDY2MzhGRUY4QzM4QjZGCis6MTAyQzEwMDA0NjM4MjVGRkY3ODk0NjM4QTkwMDA0NzVFNjhBODZBNTU3Cis6MTAyQzIwMDAwMEE4MTA3NURFMEMxMDg4ODZBNTAwRTYwQ0Y4QzM4MTlDCis6MTAyQzMwMDA0RTM4MDAwODhBODZBNTAwQTgxMDc0QzcyNEVGRUJFNzc5Cis6MTAyQzQwMDBBRDQ5NDkzQzAxNzIxMTNDMEM3NzBENTA4QUUwRTQxNDA3Cis6MTAyQzUwMDAyNUYwMEYwQUM0RTYxNDU4OEFDNDg0QzA3NDAyRTY0MjAwCis6MTAyQzYwMDBGOEMzRThDRkY5RkU4NkI5MDBCMDBFRThENEUzRjhDM0E0Cis6MTAyQzcwMDAzQTg2QUYwMDc0MUY4ODg2QUYwMDhBRTA4MEMyMDZCMDMzCis6MTAyQzgwMDBCRkVFODBFQTAyOEFDNEVFOEE4NkE4MDA4MEMyMDJFRTA1Cis6MTAyQzkwMDA4MEVBMDY4QUM0QzM4QjQ2M0U4NUMwOEE4NkE1MDA3NDM2Cis6MTAyQ0EwMDAxMkE4MDg3NTBEMEMwODg4ODZBNTAwODBDMjAyRUU4MDY3Cis6MTAyQ0IwMDBFQTAyQzNBODA4NzRGQjI0RjdFQkVDOEI0NjI2ODRDMDE5Cis6MTAyQ0MwMDA3NDE2OEE4NkE1MDBBODAyNzQwRDI0RkQ4ODg2QTUwMEM2Cis6MTAyQ0QwMDA4M0MyMDJFRTgzRUEwMkMzOEE4NkE1MDBBODAyNzVGN0MyCis6MTAyQ0UwMDAwQzAyRUJFODUyODNDMjBDRUNDMEU4MDQ4ODg2QTkwMDExCis6MTAyQ0YwMDA4QjVFMjY4MEUzM0ZGNkM3MDQ3NDA3QTgwODc1MDM4MDNGCis6MTAyRDAwMDBDQjQwRjZDNzA4NzQwN0E4MDI3NTAzODBDQjgwODg1RUE1Cis6MTAyRDEwMDAyNjhBODZBNTAwODREQjc0MTBBODAyNzQwQTI0RkQ4ODI0Cis6MTAyRDIwMDA4NkE1MDA4M0VBMEFFRTVBQzNBODAyNzVGQTBDMDJFQkU0Cis6MTAyRDMwMDBFRTkwRkZGRjAwNDgwMDMwQkEyMEM0MUEwMDE4MDAxMkJECis6MTAyRDQwMDAwMDBDMDAwNjAwMDMwMDAyODAwMUMwMDA2MDAwMzAwMDlCCis6MTAyRDUwMDAxODAwQ0QwMTAwMDE4MDAwMTAwMDEwMDAwRTAwMEMwMEQyCis6MTAyRDYwMDAwODAwMDAwMDAwMDAwNjAwMDQwMDAzMDAwMjAwMDEwMDRCCis6MTAyRDcwMDA1MjUxNTYzQzFFNzc0Nzk4OEJGMDhBODJDNDAwMzJFNDQ5Cis6MTAyRDgwMDA4M0ZFMTg3NDNEODNGRTE5NzQzRTgzRkUxRTc3MkZEMTk3Cis6MTAyRDkwMDBFNjJFOEI4QzMyMkQzQjhFOTQwMDc0MjI4OThFOTQwMDBCCis6MTAyREEwMDA4M0MyMDY4QTg2QTgwMDhBRTAwQzgwRUU4M0VBMDY4QTNGCis6MTAyREIwMDBDMUVFODNDMjAyOEFDNUVFODNDMjA0OEFDNEVFNUU1OUE0Cis6MTAyREMwMDA1QUMzOEI4RThFMDBFQkNFOEI4RTkwMDBFQkM4NTI1MTg3Cis6MTAyREQwMDAzRDA1MDA3NzAzQjgwNTAwOEJDOEJBMDIwMEI4MDBEMEUzCis6MTAyREUwMDBGN0YxMDUwMTAwRDFFODU5NUFDMzhCNDY3QUE4MjA3NDNGCis6MTAyREYwMDAwQjgwQkVDMzAwMDM3NTA0MEMwMUVCMDIyNEZFODk0NjYwCis6MTAyRTAwMDA3QUMzMjQwMzg4ODZDMzAwOEFBNkE4MDA4QURDODBFNEVCCis6MTAyRTEwMDBGQzBBQzQzQUMzNzQwQjg4ODZBODAwODNDMjA2RUU4M0ZBCis6MTAyRTIwMDBFQTA2RThDNUZGQzMwMDA4MTgzODI4OTAzQzA0NzcyMzU5Cis6MTAyRTMwMDAzMkU0OEJEODJFOEE4NzI2MkU4QUE2QTgwMDhBREM4MEM4Cis6MTAyRTQwMDBFNEM3MEFDNDNBQzM3NDBCODg4NkE4MDA4M0MyMDZFRTlFCis6MTAyRTUwMDA4M0VBMDZDMzg0QzA3NDAyQjAwNDhBQTZBODAwOEFEQzkwCis6MTAyRTYwMDA4MEU0RkIwQUM0M0FDMzc0MEI4ODg2QTgwMDgzQzIwNkI4Cis6MTAyRTcwMDBFRTgzRUEwNkMzOTA4QjVFMzg4NEMwNzQzNDNDMDI3NERGCis6MTAyRTgwMDAzQjhBODZBRjAwMEMwNEU4RTZGRDhCNDYyRTNCNDYzQ0IxCis6MTAyRTkwMDA3NzFCRjdDMzAwMDQ3NTE1ODFDQjAwMDQ4M0MyMDI4QTM3Cis6MTAyRUEwMDA4NkE1MDAyNEZBODg4NkE1MDBFRTgzRUEwMjg5NUUzOEFBCis6MTAyRUIwMDBDMzhBODZBRjAwMjRGQkU4QjZGREVCRjFGN0MzMTAwMDMwCis6MTAyRUMwMDA3NEVGRUJFRDgzQzIwQ0VDODNFQTBDQzBFODA0ODg4NjU3Cis6MTAyRUQwMDBBOTAwQzM5MDhBODZBNzAwMEMwMTg4ODZBNzAwOEJEQTE4Cis6MTAyRUUwMDA4MEMyMDhFRThCRDNGOEMzOEE4NkE3MDAyNEZFRUJFQUUzCis6MTAyRUYwMDA4QTg2QTcwMDBDMDJFQkUyOEE4NkE3MDAyNEZERUJEQUEzCis6MTAyRjAwMDBCMEZGRTg1MkYyRTg5N0YyRjhDM0FDNDlFODYxRkVGODg2Cis6MTAyRjEwMDBDMzkwQUM0OUU4RUJGRUY4QzM5MEFDNDlFODM1RkZGODQ0Cis6MTAyRjIwMDBDMzkwQUM0OUU4MDVGRkY4QzM5MDUyODNDMjA2QjBCRjE2Cis6MTAyRjMwMDBFRTUyODNDMjAyQUM0OUVFNUE4QTg2QTgwMEVFNUFGOEQ1Cis6MTAyRjQwMDBDMzkwNTI4M0MyMDZCMEJGRUU1MjgzQzIwNkVCRTY5MDM2Cis6MTAyRjUwMDBBQzQ5M0MwMjc3MEQ4NEMwNzUwQjhBODZBRjAwMjRGRDE2Cis6MTAyRjYwMDBFODBERkRGOEMzNTA4QTg2QUYwMDBDMDJFODAxRkQ1QjU2Cis6MTAyRjcwMDA4M0MyMDg4QTg2QTcwMEY2QzMwMTc0MEMyNERGODg4NjAyCis6MTAyRjgwMDBBNzAwRUU4M0VBMDhGOEMzMEMyMEVCRjJBQzQ5RThFNUIxCis6MTAyRjkwMDBGRUY4QzM5MEI4MDA0MEU4NjlGNUU4RjlGQ0U4MjRGRkMyCis6MTAyRkEwMDBCMDAxRThBNUY2RjhDMzkwQjgwMDQwRTg3MUY1RThFNThGCis6MTAyRkIwMDBGQ0Y4QzM5MEI4MDAxMEU4NDlGNUU4RDlGQ0U4MDRGRjM0Cis6MTAyRkMwMDBCMDA4RTg4NUY2RjhDMzkwQjgwMDEwRTg1MUY1RThDNUY4Cis6MTAyRkQwMDBGQ0Y4QzM5MEI4MDA4MEU4MjlGNUU4QjlGQ0U4RTRGRTA1Cis6MTAyRkUwMDBCMDAyRTg2NUY2RjhDMzkwQjgwMDgwRTgzMUY1RThBNUNFCis6MTAyRkYwMDBGQ0Y4QzM5MEI4MDAyMEU4MDlGNUU4OTlGQ0U4QzRGRUE1Cis6MTAzMDAwMDBCMDA0RTg0NUY2RjhDMzkwQjgwMDIwRTgxMUY1RTg4NTZCCis6MTAzMDEwMDBGQ0Y4QzM5MEFDNDlFODM0MENGOEMzOTBCOEZDM0I4OTg5Cis6MTAzMDIwMDA0NjdDRjhDMzhBODZBRjAwMEM4MEU4NDNGQ0Y4QzM5MDY2Cis6MTAzMDMwMDA4QTg2QUYwMDI0N0ZFQkYyOEE4NkFGMDAwQzQwRTgyRjJGCis6MTAzMDQwMDBGQ0Y4QzM5MDhBODZBRjAwMjRCRkVCRjJBQzQ5QTgwMTFDCis6MTAzMDUwMDA3NDA3ODM0RTdBMjBFQjA1OTA4MzY2N0FERkU4OEFGRDU5Cis6MTAzMDYwMDBGOEMzODNDMjA2OEE4NkE4MDAwQzQwODg4NkE4MDBFRUIyCis6MTAzMDcwMDA4M0VBMDZBQzQ5MzJFNDg5NDY2RTgzNEUyNjAxODM0RUNDCis6MTAzMDgwMDA0ODA4QjAwNkU4QkJERjQ5NDZGOUMzOTA4M0MyMDY4QTA4Cis6MTAzMDkwMDA4NkE4MDAwQzQwODg4NkE4MDBFRTgzRUEwNkFDQjQwQTM1Cis6MTAzMEEwMDBGNkU0RUJEMEU4RTAwQkY4QzM5MEFENDk0OTg5NDY2NEZCCis6MTAzMEIwMDBBOTAxMDA3NDE5OEJEODgzRTNGQTc1MEFBOTA0MDA3NDc2Cis6MTAzMEMwMDAwREI4RTIzRkVCMEJFOEVDRjRCOEFBNDBFQjAzQjgzOERDCis6MTAzMEQwMDA0NDg5NDY2MkY4QzM4QTg2QUYwMEE4MDI3NDBBMjRGREI4Cis6MTAzMEUwMDBFODhERkIwQzAyRTg4OEZCRjhDM0FDNDlFODgxRkNGOEVBCis6MTAzMEYwMDBDMzkwQUM0OUU4NzlGQ0Y4QzM5MEU4NUNGNTc1MDVFODQ1Cis6MTAzMTAwMDBFNkZERjhDM0U4Q0RGRDM2QTBCNDEzMjQxMDM0MTBFODcyCis6MTAzMTEwMDAyNjAxMzZBMUI0MTNBOTAxMDA3NDA1RThGRUZFRUIwRUVBCis6MTAzMTIwMDBBOTAyMDA3NDA0MzJDMEVCMDJCMDAxRThFOEZFMzZBMTQ3Cis6MTAzMTMwMDBCNDEzRThBQjBCMzZBMUI0MTNDMUU4MDUyNTAxMDBFOEQwCis6MTAzMTQwMDAwQ0ZGMzZBMEI1MTMyNDEwRTgyQkZEMzJDMDM2OEEyNkJBCis6MTAzMTUwMDBCNTEzRjZDNDA0NzQwOUZFQzBGNkM0MDg3NDAyRkVDMEI4Cis6MTAzMTYwMDBFOEVGRkQzNkExQjYxMzI1MEYwMEU4MDNGQzM2QTFCNjQzCis6MTAzMTcwMDAxM0MxRTgwNDI1MDMwMEU4ODhGQzM2QTFCNjEzQzFFOEIyCis6MTAzMTgwMDAwNTI1MDIwMEU4Q0RGQzM2QTFCNjEzRjZDNDAxNzUwNDhFCis6MTAzMTkwMDAzMkMwRUIwOTgwRTQwMkQwRUNCMDAyMkFDNEU4OENGQzE3Cis6MTAzMUEwMDAzNkY2MDZCNzEzNDA3NDA1RTg4REZFRUIwM0U4OTRGRThGCis6MTAzMUIwMDAzNkY2MDZCNzEzMjA3NDA1RTg2OUZFRUIwM0U4NzBGRUU3Cis6MTAzMUMwMDBGOEMzRjhDMzhCNDYzOEE5MDQwMDc1MjMwRDA0MDA4OUExCis6MTAzMUQwMDA0NjM4ODNDMjA4OEI0NjJFM0I0NjNDNzMxNDgzNEUzOEQ4Cis6MTAzMUUwMDAxMDhBODZBNzAwMjRGRTg4ODZBNzAwRUU4M0VBMDhGOEU2Cis6MTAzMUYwMDBDMzhBODZBNzAwMEMwMUVCRUU5MDhCNDYzOEE5MDQwMDI5Cis6MTAzMjAwMDA3NDA2MjVGQkZGODk0NjM4RjhDM0FENDk0OUU4QkVGQjgzCis6MTAzMjEwMDA4OTg2OEUwMEY4QzNBRDQ5NDlFOEIyRkI4OTg2OTAwMEUzCis6MTAzMjIwMDBGOEMzODM0RTI2MDRFODkyRkFGOEMzOTA4MzY2MjZGQjFGCis6MTAzMjMwMDBFODg4RkFGOEMzOTBBQzQ5ODRDMDc1MDc4MDhFQTMwMDczCis6MTAzMjQwMDAwNEY4QzM4MEE2QTMwMEZCRjhDM0FDNDk4M0MyMDgzQ0MyCis6MTAzMjUwMDAwMjc2MDIzMkMwM0MwMTc0MTI3NzBCOEE4NkE3MDAyNEUyCis6MTAzMjYwMDBFRjg4ODZBNzAwRUU4M0VBMDhGOEMzOEE4NkE3MDAwQ0Q5Cis6MTAzMjcwMDAxMEVCRUU5MDUyODNDMjA2QjBCRkVFNTI4M0MyMDRBQzk0Cis6MTAzMjgwMDA0OUVFNUE4QTg2QTgwMEVFNUFGOEMzOTA1MjgzQzIwNkM1Cis6MTAzMjkwMDBCMEJGRUU1MjgzQzIwOEVCRTY5MEFDNDlGOEMzQUM0OTJDCis6MTAzMkEwMDBFOEI0RUU3MzAzRThGN0VFRjhDMzhBODZBRjAwMjQ3RjM0Cis6MTAzMkIwMDBFOEJERjlCOEYwMDBFODY2RjI4MTY2MjZGRkYzRTgyMzdFCis6MTAzMkMwMDBGQUU4RDJGOUY4QzNCODgwMDBFODM3RjI4MDRFMjcwODUwCis6MTAzMkQwMDBFODExRkFFOEMwRjlGOEMzQjg4MDAwRTg0MUYyODE2NjY1Cis6MTAzMkUwMDAyNkZGRjdFOEZFRjlFOEFERjlGOEMzOTBCODEwMDBFODVBCis6MTAzMkYwMDAxMUYyODA0RTI3MDRFOEVCRjlFODlBRjlGOEMzQjgxMDA4Cis6MTAzMzAwMDAwMEU4RkZGMTgxNjYyNkZGRkJFOEQ4RjlGOEMzQUM0OTc1Cis6MTAzMzEwMDBGOEMzODNDMjA2OEE4NkE4MDAwQzQwODg4NkE4MDBFRUZGCis6MTAzMzIwMDA4M0VBMDZGOEMzOTA4M0MyMDY4QTg2QTgwMDI0QkZFQjBFCis6MTAzMzMwMDBFQTkwQUM0OThBRTA4MEMyMEFFQzgwRUEwQUE4MjA3NENDCis6MTAzMzQwMDAwNThBQzRFRUY4QzMwNjUxNTc4QjRFMjRFMzM0NDk4OUVECis6MTAzMzUwMDA0RTI0RkY0NjFBOEU0NjAyOEI3RTIyOEFDNEFBODk3RTlDCis6MTAzMzYwMDAyMjhCNDYyNjI0RkQ4OTQ2MjY3NTI5OEE4NkE1MDBBODMzCis6MTAzMzcwMDAwMjc1MjE4MEMyMDIwQzAyODg4NkE1MDBFRTgwRUEwMjU2Cis6MTAzMzgwMDBFQjEyQzQ3RTAwM0I3RTFFNzYwQTRGMjY4ODI1ODk3RTdFCis6MTAzMzkwMDAwMEZGNDYxQTVGNTkwN0Y4QzM5MEFDQUQ4M0U5MDM4NTc3Cis6MTAzM0EwMDBDMDc0MDUzRDAwMjA3MjA1QjhGRkZGRUIwM0MxRTAwM0M4Cis6MTAzM0IwMDAzQjg2OTQwMDc0MjY4OTg2OTQwMDhCRDg1MjgzQzIwNjdCCis6MTAzM0MwMDA4QTg2QTgwMDhBRTAwQzgwRUU4M0VBMDY4QUMzRUU4MzMwCis6MTAzM0QwMDBDMjAyOEFDN0VFODNDMjA0OEFDNEVFNUFGOEMzQjA4ODE4Cis6MTAzM0UwMDA4ODg2QkMwMEU4OENGMjMzREI4QTg2QTUwMEE4MDI3NENDCis6MTAzM0YwMDAwMzgwQ0IwMUE4MDU3NDAzODBDQjAyQTgwODc0MDM4MDY2Cis6MTAzNDAwMDBDQjA0RjY4NkE3MDAxMDc0MDM4MENCMTA4QTg2QTkwMDJGCis6MTAzNDEwMDBGNkMzMDQ3NTBBODNDMjBDRUM4M0VBMENDMEU4MDQ4QTg0Cis6MTAzNDIwMDBFMDhBODZBRjAwQTg4MDc0MDhGNkM0MDE3NTAzODBDQkRCCis6MTAzNDMwMDAyMEY2ODZBNzAwMDI3NTBBRjc0NjM4MDQwMDc0MDM4MDU4Cis6MTAzNDQwMDBDQjQwODg5RUJFMDBGRTg2QjQwMEIwMEFFOEYzREJGOEVECis6MTAzNDUwMDBDM0ZFODZCNDAwQjAwQUU4RThEQkY4QzNBQzQ5M0MwMjFFCis6MTAzNDYwMDA3NDM3NzcxMDg0QzA3NDA2ODA0RTM4MDFGOEMzODA2NkM0Cis6MTAzNDcwMDAzOEZFRjhDMzhCNDYzODI1RkZGNzg5NDYzOEE5MDAwNDgzCis6MTAzNDgwMDA3NUVBOEE4NkE1MDBBODAxNzVFMjBDMDU4M0MyMDI4ODQ4Cis6MTAzNDkwMDA4NkE1MDBFRTgzRUEwMkY4QzM4MTRFMzgwMDA4OEE4NkNBCis6MTAzNEEwMDBBNTAwQTgwMTc0QzYyNEZBRUJFMkFENDk0OUY4QzM5MDFGCis6MTAzNEIwMDBFODExRkFGRTg2QjkwMEIwMEVFODg2REJGOEMzQjBGRjZCCis6MTAzNEMwMDBFOEJGRUNGOEMzOTA4MzY2N0FGQkIwMDBFODczREJGOEUyCis6MTAzNEQwMDBDMzkwQUM0OUU4NTNEOTcyMTEzNjg4MUUxQTAxMzZBMDQwCis6MTAzNEUwMDA4RTEyMEFDMzUyQkEwMDAxRUU1QUY4QzNBQzQ5MzJFNDU0Cis6MTAzNEYwMDAzNkEzODYxMjA1MDYwMDM2OEIxRTg4MTIyQkQ4MzY4OTE1Cis6MTAzNTAwMDAxRThBMTJGOEMzOTBBRDhCRDhBRDgzRTkwNDAzQzMyQjk4Cis6MTAzNTEwMDA0Njc2ODk0Njc4Rjc0NjdBMDIwMDc0MEE4MzY2N0FGRDExCis6MTAzNTIwMDBCODAwMDBFODFDREJGOEMzMDYxNjA3QUM0OTI1MEYwMEZECis6MTAzNTMwMDA2QkMwMDk4REJFRkQwMDAzRjhBQzQ5MjUwRjAwQUE4NUJDCis6MTAzNTQwMDBDMDc0MDgyQkM4NTE4QkM4RjNBNDU5RTgyN0YwRTg0NDhECis6MTAzNTUwMDAwMzA3RjhDMzMzQzBBQzQ5MzZBM0IyMTMzNkEzQjAxMzg0Cis6MTAzNTYwMDBGOEMzODM2NjdBRUZFODJDMDNGOEMzOTA4MzRFN0ExMDkxCis6MTAzNTcwMDBFQkY0RTg5QkYwRjhDMzkwQUQzQzE5NzcwRTNDMTk3NzVCCis6MTAzNTgwMDAwQThCRjg4MUU3RkYwMDg4QTZDNDAwRjhDMzkwODM0RTM5Cis6MTAzNTkwMDAyNjIwQUM0OTMyRTREMUUwOEJEOEMxRTMwMjAzQzM4OUQxCis6MTAzNUEwMDA0NjZFODM0RTQ4MDRCMDA2RTg5N0RBNDk0NkY5QzM5MDYwCis6MTAzNUIwMDBGRTg2QjMwMEIwMEFFODg5REFGOEMzOTAzM0MwQUM0OTlDCis6MTAzNUMwMDA2QkMwMEE4OTg2OEEwMEY4QzM5MEFDNDkzMkU0M0QwQTkwCis6MTAzNUQwMDAwMDc3MDVCODBBMDBFQjA4M0Q1QTAwNzIwM0I4NUEwMDlDCis6MTAzNUUwMDA1MUY3RDgwNTY0MDA4QkM4OEI0NjQ0RjdFMUI5NjQwMEY1Cis6MTAzNUYwMDBGN0YxODk0NjQ2NTlGOEMzQUM0OUU4ODVFQkY4QzM5MDIyCis6MTAzNjAwMDBBQzQ5ODRDMDc1MDc4MTY2MzhGRkZERjhDMzgxNEUzODI4Cis6MTAzNjEwMDAwMDAyRjc0NjM4NDAwMDc1MDg4QTg2QTkwMDg4ODZBQTA1Cis6MTAzNjIwMDAwMEY4QzM5MDUxNTZFODdGMEM1RTU5RjhDMzkwRkU4NkFGCis6MTAzNjMwMDBCNjAwQjAwQUU4MEJEQUY4QzM5MEZFODZCNzAwQjAwQTBECis6MTAzNjQwMDBFOEZGRDlGOEMzOTBGRTg2QjgwMEIwMEFFOEYzRDlGOENECis6MTAzNjUwMDBDMzkwMDA5MDUxNTVBQzJFQTI1MjM2MzNDOUFEOEJGOUIwCis6MTAzNjYwMDBDMUU3MDVBOTAxMDA3NDIzMkU4QkFENDQwMDgzN0UwOEI5Cis6MTAzNjcwMDAwMDc0MTgyRTgwM0U1MjM2MDE3NDA5NjBCMDA0RThCQjE1Cis6MTAzNjgwMDAwQzYxRUIwNzYwQjBGQkU4RUMwQzYxNDc0N0QxRTg3NUQzCis6MTAzNjkwMDBEMjQxODNGOTA0NzJDNjVENTk4M0U5MDVGNzQ2Mzg0MDgzCis6MTAzNkEwMDAwMDc0MDVFODg3RUFGOEMzRTg4REVBRjhDMzkwMzZDNkU3Cis6MTAzNkIwMDAwNkM4MTMwMUY4QzMzM0MwQUM0OTM2QTM4MDEyQUM0OTI1Cis6MTAzNkMwMDAzNjJCMDY4ODEyRjdEODM2QTM4MjEyRjhDMzkwREUyNjZFCis6MTAzNkQwMDBERTI2RUMyNkYyMjZGODI2RkUyNjA0MjcwRTI3MTYyN0RECis6MTAzNkUwMDAxRTI3MjYyNzJFMjczNDI3QkUzNEM2MzREMjM0M0EyNzQ1Cis6MTAzNkYwMDA3ODI3ODAyNzk0MjdBMDI3QjQyN0MwMjdENDI3RTAyNzNFCis6MTAzNzAwMDBGNDI3MDAyODEwMjhFQzM0REUyNjFFMjgyNjI4MkMyODMyCis6MTAzNzEwMDAzMjI4MzgyODRFMjg4QTI4MDYzNTI4MzU5ODI4QkUyODg5Cis6MTAzNzIwMDBEMjI4REUyOEU2Mjg1NDM1NjIzNTZDMzVFRTI4QzAyOUNCCis6MTAzNzMwMDBDODI5Q0UyOUUwMjk3MjM1NzgzNUYwMjlGQzI5OEUzNTQzCis6MTAzNzQwMDAwODJBMTIyQTFDMkFCMDM1MzYyQUJDMzU1QTJBNjIyQTdGCis6MTAzNzUwMDA2ODJBQ0EzNTdDMkFGODM1ODgyQUE2MkFCODJBQ0MyQUFCCis6MTAzNzYwMDBERTJBRjIyQTAwMzYwQTJCMjQyQjI0MzYzODJCNEMyQjQ3Cis6MTAzNzcwMDA4NDJCMkUzNjNBMzY0NjM2NTQzNkU4MkJBRTM2NDAyQzVECis6MTAzNzgwMDA2MjJDQjYzNjcwMjhERTI2REUyNkQ0MkVFODJFRjAyRUU5Cis6MTAzNzkwMDBGODJFMDAyRjBBMkYxMjJGMUEyRjIyMkYyQTJGNDIyRkY2Cis6MTAzN0EwMDBCRTM0QzYzNEQyMzQ1MDJGOEMyRjk0MkZBODJGQjQyRjcwCis6MTAzN0IwMDBDODJGRDQyRkU4MkZGNDJGMDgzMDE0MzAxQzMwRUMzNEVECis6MTAzN0MwMDBERTI2MjQzMDMwMzAzODMwNDQzMDRDMzA2MjMwQTQzMDgzCis6MTAzN0QwMDAwNjM1MjgzNUFBMzBDRTMwRDYzMEVBMzBGMjMwNTQzNUFFCis6MTAzN0UwMDA2MjM1NkMzNUZBMzBDMjMxQzIzMUM0MzFGQTMxNzIzNUNBCis6MTAzN0YwMDA3ODM1MEEzMjE2MzI4RTM1MjIzMjJDMzIzNjMyQjAzNUQ2Cis6MTAzODAwMDA0QTMyQkMzNTc0MzI4QzMyOUEzMkNBMzU5RTMyRjgzNTFGCis6MTAzODEwMDBBQTMyQzYzMkQ4MzJFQzMyRkUzMjBFMzMwMDM2MTIzM0MwCis6MTAzODIwMDAyNjMzMjQzNjMyMzM5QTMzREUzMzJFMzYzQTM2NDYzNjUyCis6MTAzODMwMDA1NDM2NUMzNEFFMzZBQTM0QjAzNEI2MzY4QzMwRTMyODE1Cis6MTAzODQwMDBGNzQ2Mzg0MDAwNzUzMkU4RTNFODMzQzBBQzQ5M0Q1QkU5Cis6MTAzODUwMDAwMDc3MTk4QkQ4RDFFMzJFRkY5N0NFMzY3MjBCODVDOTJFCis6MTAzODYwMDA3NUU4OEI0NjQ4RTgxQTBDQzM0RTQxQzM2QTAwMUZDNjcwCis6MTAzODcwMDAwNjkzMTIwQzlDMEVFODYzREFFOEJDRTgzM0MwQUM0OTRFCis6MTAzODgwMDAzRDVCMDA3N0U3OEJEOEQxRTMyRUZGOTc4NjM3NzJEOTVGCis6MTAzODkwMDA4NUM5NzVFOEMzRjc0NjdBMTAwMDc1MEY4M0JFODQwMEFBCis6MTAzOEEwMDAwMDc0MDhCODQ4M0E4OTg2ODAwMEMzODFCRTgwMDBFQzY1Cis6MTAzOEIwMDAzQzc0Rjc4M0JFODgwMDAwNzUwNUI4RUMzQ0VCRTdGNzc1Cis6MTAzOEMwMDA0NjdBMDgwMDc1NDAxRTYwOEI4RTg4MDAzQjRFNzQ3N0U4Cis6MTAzOEQwMDAzMzNCNEU3ODc3MkVDNDdFMTA4QkRGMjYwMzNENDc0NzVGCis6MTAzOEUwMDAzM0MwOEVEODhEQjZGNDAwOEJDMUY3NDY3QTAxMDA3NUNGCis6MTAzOEYwMDAxREYzQTQyNjAxMDcyOTQ2NzgwMTQ2NzYyOTQ2NzRCMEFGCis6MTAzOTAwMDAwQ0U4M0VENzYxMUZDNzg2ODgwMDAwMDBFQkFDRTNFM0ZDCis6MTAzOTEwMDA1MDkwQUMyNDdGQUFFMkZBNThFQkQ4OTA4QjhFODgwMEE2Cis6MTAzOTIwMDBFMzQ2OEI5RThBMDA4NURCNzQzRUJBNTBGRkVEMkI4NjAyCis6MTAzOTMwMDA4MjAwM0JDMzcyMzc4REI2RjQwMEM0N0UxMDhCREYyNjQ1Cis6MTAzOTQwMDAwMzNENDc0NzhCQzExNjFGRjc0NjdBMDEwMDc1MjRGM0U0Cis6MTAzOTUwMDBBNDI2MDEwNzI5NDY3ODAxNDY3NjI5NDY3NEM3ODY4ODM5Cis6MTAzOTYwMDAwMDAwMDBCMDBDRThEQUQ2ODM2NjdBRjdDM0IwMDBFODRFCis6MTAzOTcwMDBEMEQ2QzNFM0RDNTBBQzI0N0ZBQUUyRkE1OEVCRDI5MDU1Cis6MTAzOTgwMDAxRTYwMzNDMDhFRDg4REI2RkQwMDhCODY4ODAwOEI5NjY2Cis6MTAzOTkwMDA4NDAwM0EwNDc1MTA4QkRFNDY4QkM4OERCRUY0MDBGM0FDCis6MTAzOUEwMDBBNjc0NjY4QkYzOTA4M0M2MDk0QTc1RTY4REI2RkQwMDUyCis6MTAzOUIwMDA4Qjk2ODQwMDNBMDQ3MzEwOEJERTQ2OEJDODhEQkVGNDYwCis6MTAzOUMwMDAwMEYzQTY3NDc2OEJGMzkwODNDNjA5NEE3NUU2OERCNjJDCis6MTAzOUQwMDBGNDAwQUNGNzQ2N0EwMTAwNzQwMjI0N0YxRUM1NUUxMDI1Cis6MTAzOUUwMDA4QjM3ODg0MDAyNDY4OTM3RkY0RTc4RkY0Njc2RkY0RTc4Cis6MTAzOUYwMDA3NDFGOEI4RTg4MDA0OTg5OEU4ODAwRTM0MzhEQjZGNDRFCis6MTAzQTAwMDAwMDhCRkU0NkYzQTRFOTdERkZDNTc2MTA4QjFDODVEQjk5Cis6MTAzQTEwMDA3NDA4MDNGMzgzQzYwMzgzRTZGRThCODY4NDAwMkJDMkZGCis6MTAzQTIwMDBCNDgwODkwNDQ2NDZDNzA0MDAwMDg5NzYxMDgzNEU3QTI0Cis6MTAzQTMwMDAwNEM3ODY4ODAwMDAwMDYxMUZGOUMzMzNDMDYxMUZDMzNCCis6MTAzQTQwMDBCMDgwODRDMDYxMUZDMzkwOEI0RTc4MkI4RTg4MDA3NjI3Cis6MTAzQTUwMDAyNzg5QjY4QzAwOEI1RTc0M0JDQjcyMDI4QkNCM0JDODQ0Cis6MTAzQTYwMDA3MjAyOEJDODhCQzFFMzQ0MzNEMjhFQzI4QkQxODNCRTJBCis6MTAzQTcwMDA4ODAwMDA3NDA2RTk4RTAwMzNDMEMzOEI1RTEwMDMxRkZDCis6MTAzQTgwMDA0MzQzNTJGNzQ2N0EwMTAwNzUyQUFDOERCRUU0MDA4QkExCis6MTAzQTkwMDA4RTg2MDBGMkFFNzQzNDg4MDc0MzRBNzVFRDU4OEI1RTBCCis6MTAzQUEwMDAxMDAxMDcyOTQ2NzgwMTQ2NzYyOTQ2NzQ4QkM2MkI4Njc1Cis6MTAzQUIwMDA4QzAwQzM5MEFDOERCRUU0MDA4QjhFODYwMEYyQUU3NDk5Cis6MTAzQUMwMDAwQTI0N0Y4ODA3NDM0QTc1RUJFQkQyODg4NkY0MDBDNzQ3Cis6MTAzQUQwMDA4Njg4MDAwMTAwNTgyQkMyNzQwRThCNUUxMDAxMDcyOUU2Cis6MTAzQUUwMDA0Njc4MDE0Njc2Mjk0Njc0NDBFODk0RkU3MkJFNEE3NUNGCis6MTAzQUYwMDAxNTgzQkU4QTAwMDA3NEI0QkE1MEZGRUQ4OTg2ODIwMDM3Cis6MTAzQjAwMDA4MzRFN0EwOEVCQTY4REJFRjQwMDAzQkU4ODAwQTRGRkE2Cis6MTAzQjEwMDA4Njg4MDBFODZBRkU3Mjk0NzkwNjRBNzQ4RkU5NUJGRjMyCis6MTAzQjIwMDA0QTc0Q0VFQkUxOTA1MEU4MTFDQzhCNDY3NDM5NDY3MjYyCis6MTAzQjMwMDA3NDI3MUU1NjUxMzNDOUM1NzYwQ0FENzQxMDc4MDkwMzJECis6MTAzQjQwMDBDODA1MDEwMDI0RkUwM0YwM0I3NjEwNzZFRDI5NEU3NjgxCis6MTAzQjUwMDAwMTRFNzhFODM3Q0M1OTVFMUY1OEMzOTBDNDdFMTAyNkJBCis6MTAzQjYwMDA4QjFEODNDMzAzMjY4OTFENEIwM0ZCQUI5MUFBQjgwM0FFCis6MTAzQjcwMDAwMDI5NDY3ODAxNDY3NjI5NDY3NEMzOTBDNDdFMTAyNkYzCis6MTAzQjgwMDA4QjFENDMyNjg5MUQ0MzAzRkJBQUZGNEU3OEZGNDY3NjEzCis6MTAzQjkwMDBGRjRFNzRDM0U4RTVGRkMzODA4MTg0ODU4MjgzODY4N0Y2Cis6MTAzQkEwMDA1MDUzOEFEQzgzRTMwRUQxRUIyRThBODc5ODNCMDg4NjNDCis6MTAzQkIwMDBCMDAwRkU4NkIxMDBCMDBBRTg4N0Q0NUI1OEMzNTA4QUQzCis6MTAzQkMwMDBDOEI4RkYwMEU4OTVGRjU4QzM5MDhBODZCQjAwRThBQkYxCis6MTAzQkQwMDBGRkMzRThDQkZGRThGMkZGQzM5MEU4QzNGRkU4QjRGRjAwCis6MTAzQkUwMDBDMzkwMzNDMEU4OTVGRkMzQjhGRjAwMzNDOUU4NkNGRjRBCis6MTAzQkYwMDBDMzkwQjhGRjAxQjExMEU4NjJGRkMzOTBDM0ZDM0JFMjgxCis6MTAzQzAwMDAzQkYyM0JGMjNCRkMzQkUyM0JFODNCRTgzQkZDM0JFMjZDCis6MTAzQzEwMDAzQkU4M0JFODNCRkMzQkUyM0JFMjNCRTIzQjAwMTAwMDg1Cis6MTAzQzIwMDAwMDAwMTAwMDAwMDAxMDAwMDAwMDEwMDAwMDAwMTAwMDU0Cis6MTAzQzMwMDAwMDAwMTAwMDAwMDAxMDAwMDAwMDEwMDAwMDAwMDgwMDRDCis6MTAzQzQwMDAwMDAwMDgwMDAwMDAwODAwMDAwMDA4MDAwMDUxNTM4QjJECis6MTAzQzUwMDA0RTM4ODFFMUZGRUVBODA0NzQwNDgxQzkwMDAxOEFFMEI2Cis6MTAzQzYwMDA4MEU0MDMyNDE4RDBFNDBBQzQzM0RCOEFEODJFOEI4NzdGCis6MTAzQzcwMDBGRDNCODk0NjdDMkUwQjhGMUQzQzg5NEUzOEQxRUIyRUE3Cis6MTAzQzgwMDA4QUE3M0QzQzVCNTlDM0FDNDkzQzAxNzIxRDc0MjAzQzgyCis6MTAzQzkwMDAwMzcyMjM3NDI4M0MwODcyMkI3NDMwM0MyMDcyMzc3NEYyCis6MTAzQ0EwMDAzQUJCREEzQjMyRTQ4OTVFN0VDM0JCQTAzQkVCRjVCQjlCCis6MTAzQ0IwMDA5NDNCQjQwMUVCRjBCQkZDM0JCNDAyRUJFOUJCRTIzQjUxCis6MTAzQ0MwMDBCNDAzRUJFMkJCQkUzQkI0MDRFQkRCQkJDQTNCQUM0OTg5Cis6MTAzQ0QwMDA4ODg2QkIwMEVCQ0VCQkQyM0JFQkYzQkJGQzNCRUJDNDFCCis6MTAzQ0UwMDBBOTA0MDA3NUQxQTkwODAwNzVEQUVCRDE4QjVFNzQ4QjNECis6MTAzQ0YwMDA0RTc4M0JDQjcyMDI4QkNCM0JDODcyMDI4QkM4OEJDMTE4Cis6MTAzRDAwMDBFMzJDQzQ3RTEwOEJERjI2MDMzRDQ3NDdGNzQ2N0EwMTNDCis6MTAzRDEwMDAwMDc1MUNGN0M3MDEwMDc0MDI0OUE0RDFFOUYzQTU3MzJCCis6MTAzRDIwMDAwMUE0MjYwMTA3Mjk0Njc4MDE0Njc2Mjk0Njc0QzM1MDI2Cis6MTAzRDMwMDA1M0JCN0Y3RkY3QzcwMTAwNzQwNTQ5QUMyMkMzQUFEMUVBCis6MTAzRDQwMDBFOUUzMUQ5Q0FEMjNDM0FCNDk3NDE0QUQyM0MzQUI0OTU4Cis6MTAzRDUwMDA3NDBEQUQyM0MzQUI0OTc0MDZBRDIzQzNBQkUyRTU5RDNGCis6MTAzRDYwMDA3MzA0QUMyMkMzQUI1QjU4RUJCOEU4Q0VDOThCNUUzOEFBCis6MTAzRDcwMDBGN0MzMTAwNDc1MDFDM0Y3QzM0MDAwNzQwNUU4QjhFMzQ2Cis6MTAzRDgwMDBFQjAzRThBOEUzODE2NjM4RUZGQkY2QzMxMDc0M0NGNjVBCis6MTAzRDkwMDBDMzAyNzQwNkU0RDgwQzAxRTZEOEY2QzMwNDc0MTE4Mzk4Cis6MTAzREEwMDBDMjA4OEE4NkE3MDAwQzAxRUU4ODg2QTcwMDgzRUEwODZECis6MTAzREIwMDBGNkMzMDg3NDBGRTg4QkUzNzIwQThBODZDMDAwRTYzOEZGCis6MTAzREMwMDBCMDIzRTYwQUY3QzMwMDA0NzUwMUMzRjdDMzAwMDg3NTAyCis6MTAzREQwMDBGOThBODZBNTAwRjZDMzQwNzUwREE4MTA3NUVDMEMxMDg1Cis6MTAzREUwMDA4ODg2QTUwMEU2MENDM0E4MDE3NURGODNDMjAyMEMwNTE2Cis6MTAzREYwMDBFRTg4ODZBNTAwQzNCMDAwRTg0N0QyRUIwRkIwMDJFODFBCis6MTAzRTAwMDA5MDBFRUIwODgzNjYzOERGODM0RTdBMDIzM0MwOEVEODdCCis6MTAzRTEwMDBGQUEwOTIxMjQwQTI5MjEyM0MwNTcyMUVDNjA2OTIxMjlECis6MTAzRTIwMDAwMEZCQjAwMUU4NkIwRUZBQTEyNjAxMjMwNjJBMDFBOEM3Cis6MTAzRTMwMDAwMTc1MDdFOEUyMDdFODYxMDk5MEIwMDBFODM3RDJGQkI2Cis6MTAzRTQwMDA4NUVENzRCOUZBRjc0NjdBNDYwMDc1QzA4QjQ2NzgzRDIxCis6MTAzRTUwMDAwQTAwNzJCMDhCNEU3NDgzRjk1MDcyOUE4MzY2MzhERjExCis6MTAzRTYwMDBDNTc2MTQ4QjQ2M0E4NUMwNzU1OEFEODVDMDc1MEZFODg4Cis6MTAzRTcwMDBGOEZFRjc0NjdBMDgwMDc0OTNFOEEwRkFFQjhFM0I3NkRBCis6MTAzRTgwMDAwNDc2MjFCOTAyMDAzOTRFMkU3NzA1Qzc0NjJFMDAwMDcwCis6MTAzRTkwMDA1NjhCNzYyQzg5NzYwNEM3MDQwMDAwNDY0Njg5NzYyQzFBCis6MTAzRUEwMDAyOTRFMkU1RTg1QzA3OTE3RjZDNDEwNzQwNUZGNTY3QzI2Cis6MTAzRUIwMDBFQjAzRkY1NjdFODk3NjE0QjAwQ0U4ODVEMUVCODY4OTNBCis6MTAzRUMwMDA0NjNBRkY5NjgwMDAyOTQ2M0E4OTc2MTRCMDBDRTg3MThDCis6MTAzRUQwMDBEMUU5NzFGRjAwMDAwMDAwMDAwMDAwMDAwODA0MTAwMjlBCis6MTAzRUUwMDAwMTIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEIxCis6MTAzRUYwMDAwMDAwMDAwMDgwODA4MDgwODA4MDgwODA4MDgwODA4MEMyCis6MTAzRjAwMDA4MDgwODA4MDgwODA4MDgwODA4MDgwODA4MDgwODA4MEIxCis6MTAzRjEwMDA4MDgwODA4MDgwODA4MDgwODA4MDgwODA4MDgwODA4MEExCis6MTAzRjIwMDA4MDgwODA4MDgwODA4MDgwODA4MDgwODA4MDgwODA4MDkxCis6MTAzRjMwMDA4MDgwODA4MDgwQzBDMEMwQzBDMEMwQzBDMEMwQzBDMEMxCis6MTAzRjQwMDBDMEMwQzBDMEMwQzBDMEMwQzBDMEMwQzBDMEMwQzA4MEIxCis6MTAzRjUwMDA4MDgwODAwMDgwODA4MDgwODA4MDgwODA4MDgwODA4MEUxCis6MTAzRjYwMDA4MDgwODA4MDgwODA4MDgwODA4MDgwODA4MDgwODA4MDUxCis6MTAzRjcwMDA4MDgwODA4MDgwODA4MDgwODA4MDgwODA4MDgwODA4MDQxCis6MTAzRjgwMDA4MDgwODA4MDgwODA4MDgwODA4MDgwODA4MDgwODA4MDMxCis6MTAzRjkwMDA4MDgwODA4MDgwODA4MDgwODA4MDgwODA4MDgwODA4MDIxCis6MTAzRkEwMDA4MDgwODA4MDgwODA4MDgwODA4MDgwODA4MDgwODA4MDExCis6MTAzRkIwMDA4MDgwODA4MDgwODA4MDgwODA4MDgwODA4MDgwODA4MDAxCis6MTAzRkMwMDA4MDgwODA4MDgwODA4MDgwODA4MDgwODA4MDgwODA4MEYxCis6MTAzRkQwMDA4MDgwODA4MDRFNDE3ODQxRDA0MUY0NDEwNjQyMTg0MkIxCis6MTAzRkUwMDBDMzkwOEU0NjAyOEI3RTIyODk3RTZDODA2NjI3RkQ4Qjc1Cis6MTAzRkYwMDA1NjI0ODNGQTA0NzJFOTgzRUEwMjhCRDkzQkNBNzYwMjFCCis6MTA0MDAwMDA4QkNBQjAwQTU3NTE4QkZFRjJBRThCQzE1OTVGNzUxRTM5Cis6MTA0MDEwMDA1MDQwMkJDODc0MDYyQkQxMkJEOUYzQTQ1OTRCNEE0QUQ0Cis6MTA0MDIwMDBCMDBEQUFBNDNCQ0E3NjAyOEJDQUUzMTNFQkQ0MkJEOUZBCis6MTA0MDMwMDBGN0M2MDEwMDc0MDJBNDQ5RDFFOUYzQTU3MzAxQTQ4OTZDCis6MTA0MDQwMDA3RTIyMkI3RTZDMjk3RTI0MDE3RTFBOEJDQjgwN0UyNkRECis6MTA0MDUwMDAwMjc0MDU4MDY2MjZGREMzNjBCMEZERTgxODAzNjFDM0U1Cis6MTA0MDYwMDBDMzkwRTg3QzAyNzJGOTkwODM0RTI2MjA4QjQ2NkE4OUMxCis6MTA0MDcwMDA0NjZFOEI0NjQ4MEQwNDAwMjVCRkZGODk0NjQ4QjAwNkIyCis6MTA0MDgwMDBFOEJGQ0ZDMzg5N0UyMjJCN0U2QzAxN0UxQTI5N0UyNDU1Cis6MTA0MDkwMDA4MDdFMjYwMjc0MDU4MzY2MjZGREMzNjBCMEZERThENUU4Cis6MTA0MEEwMDAwMjYxQzM5MDhBQkVDMjAwRUIyNEY3NDY0ODQwMDA3NTA3Cis6MTA0MEIwMDBCMThFNDYwMjhCN0UyMjg5N0U2QzhCNTYyNDgzRUEwQTVGCis6MTA0MEMwMDA3ODlFMDNENzgwNjYyN0ZEMzNDMDhBQkVDMjAwRTNCNDYyCis6MTA0MEQwMDAzQkZBNzdCMEFDNDk5MzJFOEE4N0Q0M0U5MzIyREY3NUEyCis6MTA0MEUwMDAxN0FBRTNBMDNCRkE3NzlDQUM0OTkzMkU4QTg3RDQzRTZCCis6MTA0MEYwMDA5MzIyREY3NTAzQUFFQkQ2RjZDMzdGNzUwNUZGNDY2NkVDCis6MTA0MTAwMDBFQkRGRjZDMzQwNzUwQzhCRDg4M0VCMDhEMUUzMkVGRkIxCis6MTA0MTEwMDBBN0Q0M0ZGRjQ2NjYyQzIwRUJDNzg1QzA3NDJDODk0Njg4Cis6MTA0MTIwMDA2QTgzNEU0ODQwODk3RTIyMkI3RTZDMDE3RTFBMjk3RTRFCis6MTA0MTMwMDAyNDgwN0UyNjAyNzQwODgzNjYyNkZERThBMzAxQzM2MEZFCis6MTA0MTQwMDBCMEZERTgzMTAyNjFFODk4MDFDM0U5NTdGRjkwOEI1RTRBCis6MTA0MTUwMDA2NjRCNzgwMzg5NUU2NkFBOEI1RTY0RjdDMzAwMjA3NUEwCis6MTA0MTYwMDAwM0U5NDBGRkY3QzM0MDAwNzQwODhBODZDMTAwQUFFOTRBCis6MTA0MTcwMDAzMkZGQjgzMjAwRUJBMzkwOEI1RTY2ODk1RTY4ODNDMzIyCis6MTA0MTgwMDAwODgwRTNGODg5NUU2NjhCNUU2NDgxRTMwMDE4ODFGQjNBCis6MTA0MTkwMDAwMDE4NzQyREFBODVEQjc0MjVGNzQ2NjQ0MDAwNzUxODU1Cis6MTA0MUEwMDA4MUZCMDAxMDc0MEM4QjQ2NjYyQjQ2NjhDMUUwMDRFOTY1Cis6MTA0MUIwMDA2OEZGQjg2NDAwRTk2MkZGOEE4NkMxMDBBQUFBRTlFMzQxCis6MTA0MUMwMDBGRTUxOEI0RTY2MkI0RTY4QjAyMEYzQUE1OUU5RDRGRUZGCis6MTA0MUQwMDA4QjVFNjY4OTVFNjg4QjVFNjRGN0MzMjQwMDc0MTBDN0NCCis6MTA0MUUwMDA0NjY2MDAwMEY3QzMwNDAwNzQwNUIwMERBQUIwMEFBQTIxCis6MTA0MUYwMDBFQjQ4OTA5MEFBRjc0NjY0MDA0MDc0MDZCOEQwMDdFOUVGCis6MTA0MjAwMDAxOEZGRTk5RkZFOTBBQUY3NDY2NDAwODA3NDA2QjhEMEI0Cis6MTA0MjEwMDAwN0U5MDZGRkU5OERGRTkwOEI1RTY2ODk1RTY4ODVEQkE3Cis6MTA0MjIwMDA3NTBDOEI1RTY0RjdDMzEwMDA3NDA2RTk3NkZFOEI1RTM2Cis6MTA0MjMwMDA2NEY3QzMwODAwNzQyN0IwMEFBQUY3QzMyMDAwNzUxRkVCCis6MTA0MjQwMDBGN0MzMDAwMTc1MDNFOTVCRkVGN0MzNDAwMDc1MDZCOENDCis6MTA0MjUwMDA2NDAwRTlDNUZFOEE4NkMxMDBBQUFBRTk0NkZFQUFDNzhCCis6MTA0MjYwMDA0NjY2MDAwMEY3QzMwMDA2NzRGMUY3QzM0MDAwNzQxOUY2Cis6MTA0MjcwMDA4QTg2QzEwMDgxRTMwMDA2ODFGQjAwMDQ3MjA2NzYwMjkzCis6MTA0MjgwMDBBQUFBQUFBQUFBQUFFOTFCRkU4MUUzMDAwNjgxRkIwMDRBCis6MTA0MjkwMDAwNDcyMEU3NjA2Qjg5NjAwRTk3RkZFQjg2NDAwRTk3OUVDCis6MTA0MkEwMDBGRThCNDY2OEU5NzNGRTkwMzY4QjBFREExMjgzRjkzMjg0Cis6MTA0MkIwMDA3MzFEMUUwNjMzQzA4RUQ4OEVDMDhENzY0Q0JGREMxMkE3Cis6MTA0MkMwMDAwM0Y5QTVBNUE1ODNDMTA2ODkwRURBMTIwNzFGQzNCMDlECis6MTA0MkQwMDAwOEU4NkVDREMzOTA4MzY2NDhGRUU4OTNDNEU4QzhGRjQzCis6MTA0MkUwMDBDM0Y2NDYyNzAyNzUwRjlDRkE4MzdFMUEwMDc0MDk4MDc0Cis6MTA0MkYwMDA0RTI3MDE5REY5QzNGOEMzNTA1MkY3NDYzODQwMDA3NDY5Cis6MTA0MzAwMDAxREU4MzRERTgzQzIwQUVDQTg0MDc1Mjc4M0VBMDg4QUQ4Cis6MTA0MzEwMDA4NkE1MDAwQzAyODg4NkE1MDBFRTVBNThFQkQxRTgwQzYxCis6MTA0MzIwMDBERThBODZBNTAwMjRGQjBDMDI4ODg2QTUwMEU2MEM1QUNFCis6MTA0MzMwMDA1OEVCQkM4MDRFMjcwMjVBNTg5REY4QzMwODQ2MjY5QzZECis6MTA0MzQwMDBGQThBOEVBNTAwRjc0NjM4NDAwMDc1MTRGNkMxMDY3NDQ3Cis6MTA0MzUwMDAyM0U4RDlERDhBQzEyNEY5ODg4NkE1MDBFNjBDOURDMzJGCis6MTA0MzYwMDBGNkMxMDI3NDBGRThEMEREODNDMjAyOEFDMTI0RkQ4ODQxCis6MTA0MzcwMDA4NkE1MDBFRTlEQzM4QjVFMjYyMkMzODg0NjI2NzQwMTY3Cis6MTA0MzgwMDBDMzgwNjYyN0ZEOUNGQThBOEVBNTAwRjc0NjM4NDAwMDU4Cis6MTA0MzkwMDA3NTE2RjZDMTA0NzUwRkU4OTNERDhBQzEyNEZEMEMwNDdGCis6MTA0M0EwMDA4ODg2QTUwMEU2MEM5REMzRjZDMTAyNzVGOUU4ODhERDk0Cis6MTA0M0IwMDA4M0MyMEFFQ0E4MjA3NTBFODNFQTA4OEFDMTBDMDI4ODIxCis6MTA0M0MwMDA4NkE1MDBFRTlEQzM4M0VBMEEzM0M5OEE0RTFDOEI0NjNDCis6MTA0M0QwMDAxQTNCQzg3MzFCMDE0RTJBMkJDMTg5NDYxQTFFQzU3NjhCCis6MTA0M0UwMDAwMEYzNkUxRjg5NzYwMDgzQzIwMjhBODZBNTAwRUJDRDlBCis6MTA0M0YwMDA4NUMwNzQxMjAxNDYyQThCQzgxRUM1NzYwMEYzNkUxRjU1Cis6MTA0NDAwMDA4OTc2MDA4OTRFMUFGNkM3MDE3NTIzODBDQjAyODk1RTMyCis6MTA0NDEwMDAyNkU4MDhDMzgzQzIwMjhBODZBNTAwMjRGREVFODg4NkFBCis6MTA0NDIwMDBBNTAwRjZDNzEwNzUwNUIwMDJFODE2Q0M5REMzODNDMjdGCis6MTA0NDMwMDAwMjhBODZBNTAwRUI4NjkwOEJEMThCNDYyNDNCQzg3NkZBCis6MTA0NDQwMDAwMjhCQzgyQkQxMkJDMThCRDlFMzIyODA2NjI3RkQ4RTJFCis6MTA0NDUwMDA0NjAyOEI3RTIyRjdDNjAxMDA3NDAyQTQ0OUQxRTlGMzFCCis6MTA0NDYwMDBBNTczMDFBNDg5N0UyMjg5NDYyNDAxNUUxQThCQ0E4MDI1Cis6MTA0NDcwMDA3RTI2MDI3NDA1ODA2NjI2RkRDMzYwQjBGREU4RjZGRTY4Cis6MTA0NDgwMDA2MUMzNTBFNDBBODRDMDc1MEE4Njg2QTEwMDg0QzA3NEEyCis6MTA0NDkwMDAwQUU2MEE1ODBDMjA4OTQ2NDhGOUMzNTgyNERGODk0NkExCis6MTA0NEEwMDA0OEY4QzM5MEZCQjAwMkU4RTgwN0ZBRTgyRTAxRkJCMDM5Cis6MTA0NEIwMDAwMUU4REUwN0ZBQjAwMkU4QkNDQkZCODVFRDc0RTVGQTUzCis6MTA0NEMwMDA4RTVFMEFGQjkwRkE4QjQ2NDg4Qjc2NDBBODhDNzVERTkwCis6MTA0NEQwMDBBODIwNzQxQTUwRTg1NURDNThFOEE2RkY3MzEwQjAwMjAzCis6MTA0NEUwMDBFODVGQ0JFQkM5OTAyNUZGMDA4QkM4RUIzNjkwQTgwMUE1Cis6MTA0NEYwMDA3NTIyNDY4M0U2RkUzQjc2MDg3NDc5QUQ4QUZDQjNGMEZDCis6MTA0NTAwMDAyMkZCM0FGQjc0RTAzQUJFQTAwMDc0MkVFOEQyRkQ3M0ExCis6MTA0NTEwMDA3N0VCOUI5MDhBRTAyNEZDODg0NjQ4OEI0RTRBRjZDNDkxCis6MTA0NTIwMDAwMjc0MURFOEJCRkQ3Mjg2RTgxM0YzODk3NjQwRTM5M0JECis6MTA0NTMwMDA4MzRFNDgwMzg5NEU0QUU5NzRGRjI1RkYwRjhCQzg5MENDCis6MTA0NTQwMDA4Qjg2OTgwMDg1QzA3NDFBNTE4QThFQTAwMEMwRTkwNDM5Cis6MTA0NTUwMDBCQTAxMDBEM0UyNTkyM0MyNzQwODAzRjE4OTc2NDBFOTE1Cis6MTA0NTYwMDA2MUZGRkY1NjYyRTNGNTgzNEU0ODAxODk0RTRBODk3NjIyCis6MTA0NTcwMDA0MEU5M0FGRjgxNEUyNjAwMTA4QjQ2NTAzQjQ2NDY3Nzc1Cis6MTA0NTgwMDAwM0U4NTJGREU5MjdGRjkwODhCRUEwMDBFQkFDMEEwNkM1Cis6MTA0NTkwMDA5MDEyOEFFMEJBMDYwMUIwMDRFRUVDODRDMDc1MTJCMDQ1Cis6MTA0NUEwMDAwNEVFOEFDNEVFMzJFNEE4ODA3NDA2QzcwNjg0MTIwMEMyCis6MTA0NUIwMDAwMDg4MjY5MDEyQzMwQTA2OTAxMjhBRTBCQTA2MDFFQzFGCis6MTA0NUMwMDBBODAxNzVFREJBMDgwMThBQzRFRTMyRTRBODgwNzRFMTRFCis6MTA0NUQwMDBDNzA2ODQxMjAwMDA4ODI2OTAxMkMzOTAzNkY3MDYyNDdFCis6MTA0NUUwMDAwMTAxMDA3NTMwMzY4QjBFREExMjgwRjkzNjczMjYzM0VFCis6MTA0NUYwMDBDMDhFQzA4RUQ4QkZEQzEyMDNGOUIwMDhFODc3Q0E4NTM4Cis6MTA0NjAwMDBFRDc0MEU4RDc2NENBNUE1QTU4MEMxMDY4MEY5MzY3Mjk1Cis6MTA0NjEwMDBFOTg5MEVEQTEyQzNDMzkwRjcwNjI2MDEwMTAwNzVGNjg4Cis6MTA0NjIwMDA4QjBFMjAxMzg1Qzk3NUVFMzNDMDhFQzA4RUQ4QkYyNDgzCis6MTA0NjMwMDAxM0I5MzYwMEIwMEFFODNEQ0E4NUVENzUwNkU5MTIwMUU2Cis6MTA0NjQwMDBFOTBBMDEzM0RCOEE0NjRDOEFBNkIzMDBGRUNDNzgwRTE5Cis6MTA0NjUwMDA4OEE2QjMwMDBBRENCNDBBQUI4M0U5MDI3NkUyOEFBNjM0Cis6MTA0NjYwMDBCMjAwRkVDQzc4MEU4OEE2QjIwMDBBRENCNDA4QUI4Mzk4Cis6MTA0NjcwMDBFOTAyNzZDQzhBQTZCMTAwRkVDQzc4MTg4QUJFQjAwMERBCis6MTA0NjgwMDA3NTA0ODhBNkIwMDA4OEE2QjEwMDBBREM4QUU3QUI4MzZGCis6MTA0NjkwMDBFOTAyNzZBQzhBQTZCNDAwRkVDQzc4MUY4OEE2QjQwMEU2Cis6MTA0NkEwMDAwQURDQjQwQkFCOEE4NkJDMDA4QUE2QkQwMEFCOEI4NjQ1Cis6MTA0NkIwMDBCRTAwQUI4M0U5MDY3Njg4OEE0NjRDOEFBNkI2MDBGRTIxCis6MTA0NkMwMDBDQzc4MTk4OEE2QjYwMDBBRENCNDBDQUJFOERCQ0JBQjFGCis6MTA0NkQwMDA4QjQ2MkFBQjgzRTkwNjc2NzQ4QTQ2NEM4QUE2QjcwMEQ1Cis6MTA0NkUwMDBGRUNDNzgxOTg4QTZCNzAwMEFEQ0I0MERBQkU4QkFDQkNCCis6MTA0NkYwMDBBQjhCNDYzNEFCODNFOTA2NzY1MzhBNDY0QzhBQTZCODIwCis6MTA0NzAwMDAwMEZFQ0M3ODE5ODhBNkI4MDAwQURDQjQwRUFCQTE1MDI0Cis6MTA0NzEwMDAxMkFCQTE1MjEyQUI4M0U5MDY3NjMyOEE0NjRDOEFBNkM2Cis6MTA0NzIwMDBCNTAwRkVDQzc4MTg4OEE2QjUwMDBBRENCNDBGQUI4QkI4Cis6MTA0NzMwMDA4NjlBMDBBQjhCODY5QzAwQUI4M0U5MDY3NjBGODREQjAwCis6MTA0NzQwMDA3NTAzRTlFRkZFQjAwQUU4RjhDOEU5RTdGRUIwMEFFODQ5Cis6MTA0NzUwMDBGMEM4RjdEOTgzQzEzNjhCQzEwRDgwMDA4NkM0QTMyMjZGCis6MTA0NzYwMDAxMzQxNDE4OTBFMjAxM0MzQTE4NDEyMkJDMTcyMTFBM0RFCis6MTA0NzcwMDA4NDEyQkUyMjEzRDFFOUYzNkY5MDg5MEUyMDEzRjhDMzdGCis6MTA0NzgwMDBGOUMzQzM4MUVGNkExMzc0Rjk4QkM3MEQ4MDAwODZDNDI3Cis6MTA0NzkwMDBBMzY4MTM0NzQ3ODkzRTY2MTNDM0Y3MDYyQTAxMDEwMDQxCis6MTA0N0EwMDA3NUUwOEIwRTY2MTNFMzA3ODBGOTIwNzdENTQ5NDkzMzBFCis6MTA0N0IwMDBDMDhFQzA4RUQ4QkY2QTEzOEJGNzAzRjk4M0M2MzQzQjEzCis6MTA0N0MwMDBGRTc3QzBCMDBFRThBRUM4ODVFRDc0Qjc4QTQ2NEM4QTU1Cis6MTA0N0QwMDBCNkI5MDBGRUNFNzgxNTg4QjZCOTAwOEFBNkE5MDA4MEMxCis6MTA0N0UwMDBDQ0MwQUI4NEY2NzQwNUIwMEVFODU2Qzg4QUI2QkEwMEUxCis6MTA0N0YwMDBGRUNFNzhDQjhBOUVBOTAwOEFCRUFCMDA4QTU2M0Y4QTNECis6MTA0ODAwMDBGMzMyRjcwQUI2QUMwMEM2ODZBQzAwMDAyMkYyNzQ0QjU1Cis6MTA0ODEwMDBGNkM2MDg3NDBGQjQwMkY2QzMwODc1MDJCNDAzQUI4MDgxCis6MTA0ODIwMDBFNkY3NzQzN0Y2QzYwMTc0MEZCNDAwRjZDMzAxNzUwMkRCCis6MTA0ODMwMDBCNDAxQUI4MEU2RkU3NDIzRjZDNjAyNzQwRkI0MDRGNjJFCis6MTA0ODQwMDBDMzAyNzUwMkI0MDVBQjgwRTZGRDc0MEZGNkM2MDQ3NEFFCis6MTA0ODUwMDAwQUI0MDZGNkMzMDQ3NTAyQjQwN0FCQzY4NkJBMDAwMEY0Cis6MTA0ODYwMDA4ODlFQUIwMEU5NThGRjkwQTE4NDEyMkJDMTcyMTFBMzVFCis6MTA0ODcwMDA4NDEyQkU2ODEzRDFFOUYzNkY5MDg5MEU2NjEzRjhDM0YyCis6MTA0ODgwMDBGOUMzQTE4NDEyNDE0MTJCQzE3MjIzQTM4NDEyOEJDMUFECis6MTA0ODkwMDA0ODQ4MzJFNDBDODA4NkM0RUY5MDkwOTA5MDkwQkVEQzQzCis6MTA0OEEwMDAxMjQ5NDlEMUU5RjM2RjkwODkwRURBMTJGOEMzRjlDM0JFCis6MTA0OEIwMDA4QUM4OEE0NjRDQjQwMTgzRUIwNkVGOTA5MDkwOTA5MEEyCis6MTA0OEMwMDBCODAxMDBFRjkwOTA5MDkwOTA4QUMxRUY5MDkwOTA5MEY2Cis6MTA0OEQwMDA5MEU5OTcwMEU5QUMwMDMzQzA4RUQ4ODkxRTg0MTJDM0RBCis6MTA0OEUwMDAzNjhCMUU4NDEyRkI5MEZBQjAwQ0U4ODlDNzg1RUQ3NEY0Cis6MTA0OEYwMDBFNkM1NzYwQzgzRkIxNDcyREJGQjkwRkFBRDg1QzA3OEJECis6MTA0OTAwMDBBRjc0RTI4QkZFMDNGODM2OEIwRTg2MTIzQkMxNzcwMjQyCis6MTA0OTEwMDA4QkM4ODNFQjA0M0JEOTc3MDI4QkNCMzNDMDhBNDY0Q0UwCis6MTA0OTIwMDBFRjkwOTA5MDkwOTA4QkMxRUY5MDkwOTA5MDkwNDE4MEZDCis6MTA0OTMwMDBFMUZFMkJEOTUxRDFFOUYzNkY5MDU5OEJDNzQwMjRGRThBCis6MTA0OTQwMDAzQkM2NzQyNzJCRkU0RTRFNTM4QjVFMTAzQkYzNzIxMzA3Cis6MTA0OTUwMDAwMzFGODNDMzAzODBFM0ZFQzcwNzAwMDA4MzZFNzQwMjU2Cis6MTA0OTYwMDA4OTVFMTA1Qjg5M0M4OTc2MENFQjg5ODk3NjBDMzk3NkY3Cis6MTA0OTcwMDAxMDc3ODE3MjA4ODMzQzAwNzQwM0U5NzdGRkU4MERCRTZECis6MTA0OTgwMDBFOTYyRkYzNjg5MUU4NDEyQjAwQ0U4QjVDNjMzQzA4RUNBCis6MTA0OTkwMDBEOEMzQTE4NDEyM0QxMDAwNzI3N0JBMDQwMTNCMDY4ODg3Cis6MTA0OUEwMDAxMjc1MDZDNzA2N0UxMjAwMDA4QjBFREExMkUzMEJFOEMyCis6MTA0OUIwMDBEMEZFNzI1N0M3MDY3RTEyRkY3RjhCMEUyMDEzRTMwQkNCCis6MTA0OUMwMDBFOEE1RkQ3MjQ2QzcwNjdFMTJGRjdGOEIwRTY2MTNFM0Q1Cis6MTA0OUQwMDAwQkU4OTRGRTcyMzVDNzA2N0UxMkZGN0ZBMTI4MDFBOTVECis6MTA0OUUwMDAwMTAwNzUwM0U4RjlGRTgwM0U4RDEyMDA3NTFEQTE4NDVCCis6MTA0OUYwMDAxMjNEMjAwMDc2MTUzQjA2ODIxMjc2MDlBMTdFMTIzQkZECis6MTA0QTAwMDAwNjgwMTI3MjBDODAwRTkwMTI4MEMzQjA4MEZGMTY3QzVDCis6MTA0QTEwMDAxMkMzODAwRTkwMTI0MEMzNkEwMDFGQzYwNjkzMTIxNzdECis6MTA0QTIwMDA5QzBFRThCN0M4NkEwMDFGQzYwNjkzMTIyMDlDMEVFOEM5Cis6MTA0QTMwMDBBQUM4NkEwMDFGQzYwNjkzMTIxNjlDMEVFODlEQzg5MDZECis6MTA0QTQwMDBCQTA2MDFFQ0E4MjA3NUNBRkI5MEZBQkEwNDAxRUQ5MEYxCis6MTA0QTUwMDA5MDkwOTA5MDNBMDY5NDEyNzdCRTMzREI4QUQ4RDFFM0Q3Cis6MTA0QTYwMDAyRThCQUY0NDAwQzQ3RTA4ODVGRjc0QjlGNkM0QzA3NUIwCis6MTA0QTcwMDA1NTMyQzBDMUUwMDI4MEU0RjA4QkYwRUQ5MDkwOTA5MDUwCis6MTA0QTgwMDA5MDg1QzA3NEJCOEJDODQxODBFMUZFMEJDNjhCNUU1MDI1Cis6MTA0QTkwMDA0QjRCMkJEOTc4OUNBQjhCQzE0MDQwMDE0NjRFRDFFOUEyCis6MTA0QUEwMDBGMzZEOTA4OTVFNTA4OTdFMDg4QjQ2MjY4MEU0RUY4OUZECis6MTA0QUIwMDA0NjI2RjZDNDAxNzUwQ0Y3NDY0ODBDMDA3NTA1QjAwMjkxCis6MTA0QUMwMDBFODdGQzVFOTdBRkY4NkM0OEJDODgzRTEzRjQxODBFMTc2Cis6MTA0QUQwMDBGRUUzMEEzQzgwNzIwOTI0M0ZCNEYwRUJCMEU5NjBGRkNBCis6MTA0QUUwMDAyNTNGMDAzM0ZGOEVDN0JGOTYxMjhCRjdEMUU5RjM2REQ4Cis6MTA0QUYwMDA5MDhCQzhFODQ4RURFOTQ3RkY5MDZBMDAxRkM2MDY5MzBGCis6MTA0QjAwMDAxMjFCOUMwRUU4RDVDNzkwNjAxRTA2MzNDMDhFRDg4RTRGCis6MTA0QjEwMDBDMEJBMDYwMUVDQTgwNDc0RTFCMDA2RUVFQ0EyOEMxMjU3Cis6MTA0QjIwMDBBODQwNzQxMUExODgxMkEzODQxMkM2MDY4RDEyMDBFODUxCis6MTA0QjMwMDA2MEZFQTA4QzEyQTg4MDc0MDNFODA0RkZCODAwODBCQTVECis6MTA0QjQwMDAyMkZGRUYwNzFGNjFDRjkwNkEwMDFGQzYwNjkzMTIxQjVBCis6MTA0QjUwMDA5QzBFRTg4N0M3OTA2MDFFMDYzM0MwOEVEODhFQzBCQTAwCis6MTA0QjYwMDAwNjAxRUNBODA0NzRFMUJBMDgwMUVDQTI4QzEyQTg0MDdBCis6MTA0QjcwMDA3NDExQTE4ODEyQTM4NDEyQzYwNjhEMTIwMEU4MTJGRUQ5Cis6MTA0QjgwMDBBMDhDMTJBODgwNzQwM0U4QjZGRUI4MDA4MEJBMjJGRjk5Cis6MTA0QjkwMDBFRjA3MUY2MUNGOTBFRTg2RTBFRTg2RTBFQzg2RTBFQzVBCis6MTA0QkEwMDA4NkUwODBFMUZFRjM2QzkwODBFMUZFRjM2RTkwMDUwMEZDCis6MTA0QkIwMDA3NTQ3QTg0QjA1MDA3NTQ4QTg0QjA1MDBBMzQ4QTg0QkFFCis6MTA0QkMwMDAwNTAwMzU0OUE4NEIwNjAwOTg0ODk2NEIwNjAwQkE0OEEwCis6MTA0QkQwMDA5NjRCMDYwMEMzNDg5NjRCMDYwMENCNDg5NjRCMDYwMDAyCis6MTA0QkUwMDAyMDQ5OTY0QjA2MDAyODQ5OTY0QjA2MDA0RTRBOUM0QjlFCis6MTA0QkYwMDAwNjAwN0I0QTlDNEIwNTAwOUU0QUEyNEIwNTAwRUM0QUVFCis6MTA0QzAwMDBBMjRCMDAwMDFFMDY4MzNFNDQxMjAwNzQwOUEwMDYwMTU4Cis6MTA0QzEwMDAyNDMwM0MzMDc0MUE4Q0M4OEVEODhFQzBCQkFFNEI4QkZGCis6MTA0QzIwMDAwRkUzMEQ4QjdGMDI4Qjc3MDRGM0E0ODNDMzA2RUJFRkI2Cis6MTA0QzMwMDAwNzFGQzM5MDMzQzBBMzNFMDFCOTBDMDFCRTQwMDE4QkQ2Cis6MTA0QzQwMDBGRTgxQzZCNDBGODkwNDhCQzYyQkYxM0JDNzc3RjZBMzUwCis6MTA0QzUwMDAzQzAxQzM5MDFFMDY2MDM2OEIyRTNFMDE4QjVFMDAzQkVFCis6MTA0QzYwMDBFQjc0MkI4Qjc2MDI4OTFDODk3NzAyMzZBMTNDMDE4OTczCis6MTA0QzcwMDA0NjAwMzY4OTJFM0MwMThCRUJGRjRFMDY3NDA4OEI2RTg2Cis6MTA0QzgwMDAwMEZGNEUwNjc1RjgzNjg5MkUzRTAxOEI2NjA0NjEwN0RCCis6MTA0QzkwMDAxRkMzMUUwNjYwMzY4QjJFM0UwMTk4ODk0NjA2ODk2NjI0Cis6MTA0Q0EwMDAwNDNCNkUwMDc0MTA4QjZFMDBGRjRFMDY3NUY4MzY4OTVCCis6MTA0Q0IwMDAyRTNFMDE4QjY2MDQ2MTA3MUZDM0MzOTAxRTA2NjA5Q0Q1Cis6MTA0Q0MwMDBGQTMzRUQ4RUREOEIyRTNDMDE4NUVENzQzRDhCNEUwMDZECis6MTA0Q0QwMDA4OTBFM0MwMThCQ0M4REE2MEEwMTU2MUUwNjYwODk2NkEyCis6MTA0Q0UwMDAwNEM3NDYwODBGMUFDNzQ2MDYwMTAwOEIxRTNFMDE4NTAxCis6MTA0Q0YwMDBEQjc0MUQ4QkM1ODcwNzg5NDYwMDg5NUUwMjhCRDg4OUM2Cis6MTA0RDAwMDA2RjAyOEJFMTlENjEwNzFGRjhDMzlENjEwNzFGRjlDMzA3Cis6MTA0RDEwMDA4OTJFM0UwMTg5NkUwMDg5NkUwMjg3RTE5RDhCRTFFQjUxCis6MTA0RDIwMDBFNDAwMEQwQTU0NjU3MjZENjk2RTYxNkM3MzIwNzM3NUQxCis6MTA0RDMwMDA3MDcwNkY3Mjc0NjU2NDNBMEQwQTMxMjkyMDQxNEU1M0M4Cis6MTA0RDQwMDA0OTIwNjM2RjZENzA2MTc0Njk2MjZDNjUwRDBBMzIyOTY4Cis6MTA0RDUwMDAyMDU3Nzk3MzY1MjAzMzMwMEQwQTUwNkM2NTYxNzM2NTk3Cis6MTA0RDYwMDAyMDczNjU2QzY1NjM3NDNBMjAwMDBEMEE2MzZGNjQ2NTk3Cis6MTA0RDcwMDAyMDczNjU2NzZENjU2RTc0M0QwMDBEMEE0RDZGNkU2OTM5Cis6MTA0RDgwMDA3NDZGNzIyMDc2MzIyRTM1MEEwRDBBM0UwMDBEMEE1MERECis6MTA0RDkwMDA2MTcyNjQ2RjZFM0YwMDBEMEE0RTZGMjA2MTY0NjQ3MjMxCis6MTA0REEwMDA2NTczNzMyMDczNzA2NTYzNjk2NjY5NjU2NDAwMEQwQUQ1Cis6MTA0REIwMDAzQTAwMEQwQTAwNEM2RjYzM0QwMDBEMEE0NjQxNTQ0MTE0Cis6MTA0REMwMDA0QzIwNDU1MjUyNEY1MjNEMDAwRDBBNEQ2RjZFNjk3NDkyCis6MTA0REQwMDA2RjcyMjA2MzZGNkQ2RDYxNkU2NDczM0EyRDBEMEEyMEUyCis6MTA0REUwMDAyMDIwNDQyQzY0NUI1Qjc4Nzg3ODc4M0E1RDc4Nzg3ODFBCis6MTA0REYwMDA3ODVEMjAyRDIwNjQ3NTZENzAyMDZENjU2RDZGNzI3OTAyCis6MTA0RTAwMDAwRDBBMjAyMDIwNEMyQzZDNUI1Qjc4Nzg3ODc4M0E1RDFBCis6MTA0RTEwMDA3ODc4Nzg3ODVEMjAyRDIwNjQ3NTZENzAyMDczNjk2RUM4Cis6MTA0RTIwMDA2NzZDNjUyMDZDNjk2RTY1MEQwQTIwMjAyMDQ1MkM2NTM1Cis6MTA0RTMwMDA1QjVCNzg3ODc4NzgzQTVENzg3ODc4Nzg1RDIwMkQyMDlCCis6MTA0RTQwMDA2NTY0Njk3NDIwNkQ2NTZENkY3Mjc5MEQwQTIwMjAyMDhDCis6MTA0RTUwMDA0NjJDNjY1QjVCNzg3ODc4NzgyMDVENzg3ODc4Nzg1RDJBCis6MTA0RTYwMDAyMDJEMjA2NjY5NkM2QzIwNkQ2NTZENkY3Mjc5MjA3MEU1Cis6MTA0RTcwMDA2MTcyNjE2NzcyNjE3MDY4NzMwRDBBMjAyMDIwNDk1QjVFCis6MTA0RTgwMDA3ODc4Nzg3ODVEMjAyMDIwMjAyMDIwMjAyMDIwMjAyRDc4Cis6MTA0RTkwMDAyMDc3NkY3MjY0MjA2OTZFNzA3NTc0MjA2NjcyNkY2RDEyCis6MTA0RUEwMDAyMDcwNkY3Mjc0MEQwQTIwMjAyMDY5NUI3ODc4Nzg3ODAyCis6MTA0RUIwMDA1RDIwMjAyMDIwMjAyMDIwMjAyMDIwMkQyMDYyNzk3NEI5Cis6MTA0RUMwMDA2NTIwNjk2RTcwNzU3NDIwNjY3MjZGNkQyMDcwNkY3MkU4Cis6MTA0RUQwMDA3NDBEMEEyMDIwMjA0Rjc4Nzg3ODc4MjA3ODc4MjAyMDY4Cis6MTA0RUUwMDAyMDIwMjAyMDIwMjAyMDJEMjA2Rjc1NzQ3MDc1NzQyMEM0Cis6MTA0RUYwMDA3NzZGNzI2NDIwNzQ2RjIwNzA2RjcyNzQwRDBBMjAyMEI3Cis6MTA0RjAwMDAyMDZGNzg3ODc4NzgyMDc4NzgyMDIwMjAyMDIwMjAyMDQyCis6MTA0RjEwMDAyMDIwMkQyMDZGNzU3NDcwNzU3NDIwNjI3OTc0NjUyMDVGCis6MTA0RjIwMDA3NDZGMjA3MDZGNzI3NDBEMEEyMDIwMjA0NzVCNUI3OENECis6MTA0RjMwMDA3ODc4NzgzQTVENzg3ODc4Nzg1RDIwMjAyMDJEMjA2NzIxCis6MTA0RjQwMDA2Rjc0NkYyMDYxNjQ2NDcyNjU3MzczMEQwQTIwMjAyMDkyCis6MTA0RjUwMDA1NzVCNUI3ODc4Nzg3ODNBNUQ3ODc4Nzg3ODVEMjAyMDUwCis6MTA0RjYwMDAyMDJEMjA3NzYxNzQ2MzY4MjA2MTIwNzc2RjcyNjQwRDUzCis6MTA0RjcwMDAwQTIwMjAyMDQzMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDI0Cis6MTA0RjgwMDAyMDIwMjAyMDIwMkQyMDY5NkU3NDY1NzI3Mjc1NzA3NDQ3Cis6MTA0RjkwMDA3MzIwNkY2NjY2MEQwQTIwMjAyMDUzMjAyMDIwMjAyMEQ5Cis6MTA0RkEwMDAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMkQyMDY5NkU3NDA5Cis6MTA0RkIwMDA2NTcyNzI3NTcwNzQ3MzIwNkY2RTBEMEEyMDIwMjA3M0Y1Cis6MTA0RkMwMDAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMEUxCis6MTA0RkQwMDAyRDIwNzM2OTZFNjc2QzY1MjA3Mzc0NjU3MDBEMEEyMEVGCis6MTA0RkUwMDAyMDIwNDI3ODc4Nzg3ODIwMjAyMDIwMjAyMDIwMjAyMDNGCis6MTA0RkYwMDAyMDIwMjAyRDIwNjI3MjY1NjE2QjcwNkY2OTZFNzQyMEI1Cis6MTA1MDAwMDA3MzY1NzQwRDBBMjAyMDIwNjIyMDIwMjAyMDIwMjAyMDlCCis6MTA1MDEwMDAyMDIwMjAyMDIwMjAyMDIwMjAyRDIwNjI3MjY1NjE2QjFFCis6MTA1MDIwMDA3MDZGNjk2RTc0MjA2MzZDNjU2MTcyMEQwQTIwMjAyMEI4Cis6MTA1MDMwMDA1MjIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDNFCis6MTA1MDQwMDAyMDJEMjA3MjY1NzM3NDYxNzI3NDIwNjI3MjY1NjE2QkM5Cis6MTA1MDUwMDA3MDZGNjk2RTc0MEQwQTIwMjAyMDcyMjAyMDIwMjAyMDlECis6MTA1MDYwMDAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMkQyMDcyNjU2NzU1Cis6MTA1MDcwMDA2OTczNzQ2NTcyNzMyMDYxNzQyMDYyNzI2QjcwNzQwRDUxCis6MTA1MDgwMDAwQTIwMjAyMDU4MkM3ODIwNkUyMDIwMjAyMDIwMjAyMDRDCis6MTA1MDkwMDAyMDIwMjAyMDIwMkQyMDY1Nzg2MTZENjk2RTY1MjA2M0I5Cis6MTA1MEEwMDA2ODYxNkU2RTY1NkMyMDZFMEQwQTIwMjAyMDQ4MkMzRkQyCis6MTA1MEIwMDAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMkQyMEUzCis6MTA1MEMwMDA3NDY4Njk3MzIwNkQ2NTczNzM2MTY3NjUwMDFCNUIzMjdCCis6MTA1MEQwMDA0QTFCNUIzMTNCMzE0ODQxNEU1MzQ5MjA1NDY1NzI2RDQ4Cis6MTA1MEUwMDA2OTZFNjE2QzBEMEEwQTAwMUI1QjRCMDAxQjVCNEEwMDdBCis6MTA1MEYwMDAxQjVCMzI0QTFCNUIzMTNCMzE0ODAwMUI1QjQ0MjAxQjZFCis6MTA1MTAwMDA1QjQ0MDAxQjVCMzEzQjM3MzI0ODAwMUI1QjAwM0IwMEJDCis6MTA1MTEwMDA0ODAwMUI1QjczMDAxQjVCNzUwMDFCN0EyQjBCN0YxQjBFCis6MTA1MTIwMDA3QTJFMEM3RjFCN0EyRDA4N0YxQjdBMkMwQTdGMUI3QTI0Cis6MTA1MTMwMDAyMjA4N0YxQTU3Nzk3MzY1MjAzMzMwMjA1NDY1NzI2REM5Cis6MTA1MTQwMDA2OTZFNjE2QzBEMEEwMDFCNTQwMDFCNTkwMDFBMDAxRTg5Cis6MTA1MTUwMDAwMDA4MjAwODAwMDAxQjNEMDAwMDAwMUI0NjAwMEQwMDU5Cis6MTA1MTYwMDAzRjQ0NjQ0NTY1NDY2NjQ3Njc0ODY4NDk2OTRGNkY0M0YxCis6MTA1MTcwMDA2MzUzNzM0MjYyNTI3MjU3Nzc1ODc4NEM2QzNDNjBENEQ4Cis6MTA1MTgwMDA1N0Q0NTc1MDU4NTA1OEQ2NTlENjU5QjQ1OUI0NTkzQzk5Cis6MTA1MTkwMDA2MDNDNjA2QzU3NDg1NzI2NTcwNjU3OTA1NzkwNTc5ODcxCis6MTA1MUEwMDA1NzQ4NUYwQzVGNTg1RjMzNUY0MDVGQTA1N0EwNTdGRUMyCis6MTA1MUIwMDA1OUZFNTlEQzU3REM1Nzg4NjE5ODYxQzA2MUNDNjFEOEQxCis6MTA1MUMwMDA2MUY2NjEwMjYyMjI2MkY4NTY0QTYyNTg2MjYwNTkyMEIyCis6MTA1MUQwMDAyMDY2NkM2MTY3NzMzRDAwMjAyMDYxNzgzRDAwMjAyMENGCis6MTA1MUUwMDA2Mjc4M0QwMDIwMjA2Mzc4M0QwMDIwMjA2NDc4M0QwMEY3Cis6MTA1MUYwMDAyMDIwNjM3MzNEMDAyMDIwNjQ3MzNEMDAyMDIwNjU3M0YwCis6MTA1MjAwMDAzRDAwMjAyMDczNzMzRDAwMjAyMDY0NjkzRDAwMjAyMDc0Cis6MTA1MjEwMDA3MzY5M0QwMDIwMjA2MjcwM0QwMDIwMjA3MzcwM0QwMEM2Cis6MTA1MjIwMDAyMDIwNjk3MDNEMDAyMDYzNjg2MTZFNjU2QzNEMDAyMDQwCis6MTA1MjMwMDAyMDIwMjA3MzY1NjczRDAwMjA3NDY5NUY3Mzc0NzIzREEwCis6MTA1MjQwMDAwMDIwNzQ2OTVGNzQ2RjczM0QwMDIwNzQ2OTVGNkQ2MTQ1Cis6MTA1MjUwMDA3ODNEMDAyMDc0Njk1RjYyNjE3MzNEMDAyMDc0Njk1RjZFCis6MTA1MjYwMDA3MzY5N0EzRDAwMjA3NDY5NUY3Mzc0NjYzRDAwMjA3NDMxCis6MTA1MjcwMDA2OTVGNzI2RjZGM0QwMDIwNzQ2OTVGNjY2QzY3M0QwMDA3Cis6MTA1MjgwMDAyMDc0Njk1Rjc0NkY3NDNEMDAyMDcyNjk1RjcwNjM2RTkzCis6MTA1MjkwMDAzRDAwMjA3MjY5NUY3Mzc0NzIzRDAwMjA3MjY5NUY3MzE0Cis6MTA1MkEwMDA3NDY2M0QwMDIwNzI2OTVGNzI2RjZGM0QwMDIwNzI2OTA1Cis6MTA1MkIwMDA1RjYyNjE3MzNEMDAyMDcyNjk1RjczNjk3QTNEMDAyMDBGCis6MTA1MkMwMDA3MjY5NUY3NDZGNzQzRDAwMjA3MjY5NUY2RDY5NkUzRDM1Cis6MTA1MkQwMDAwMDIwNzI2OTVGNjY2QzY3M0QwMDIwNzI2OTVGNzQ2RkMxCis6MTA1MkUwMDA3MzNEMDAyMDcyNjk1Rjc0Njg3MjNEMDAyMDc0Njg1RkNFCis6MTA1MkYwMDA3Mzc0NjYzRDAwMjA3NDY4NUY3Mzc0NzIzRDAwMjA3NDlGCis6MTA1MzAwMDA2ODVGNjI2MTczM0QwMDIwNzQ2ODVGNzM2OTdBM0QwMDc1Cis6MTA1MzEwMDAyMDc0Njg1Rjc0NzI2NzNEMDAyMDc0Njg1RjY2NkM2NzE0Cis6MTA1MzIwMDAzRDAwMjA3NDY4NUY2MzZFNzQzRDAwMjA3MjY4NUY3Mzk3Cis6MTA1MzMwMDA3NDcyM0QwMDIwNzI2ODVGNzM3NDY2M0QwMDIwNzI2ODZECis6MTA1MzQwMDA1RjYyNjE3MzNEMDAyMDcyNjg1RjczNjk3QTNEMDAyMDdGCis6MTA1MzUwMDA3MjY4NUY3MzcwNjEzRDAwMjA3MjY4NUY2MTczNkYzREJBCis6MTA1MzYwMDAwMDIwNzI2ODVGNzI2RjZGM0QwMDIwNzI2ODVGNjY2QzJDCis6MTA1MzcwMDA2NzNEMDAyMDZENUY2MzYxNzI2NTNEMDAyMDcwNzQ1RjYyCis6MTA1MzgwMDA2NjZDNkYzRDAwMjA2MTczNUY2NjZDNkYzRDAwMjA3MjNDCis6MTA1MzkwMDA2RDVGNjY2QzZGM0QwMDIwMjAyMDcxNUY2OTZFM0QwMDdGCis6MTA1M0EwMDAyMDIwNzE1RjZGNzU3NDNEMDAyMDcxNUY2NDcyNjE2RUMzCis6MTA1M0IwMDAzRDAwMjAyMDcxNUY3NDY5NkQzRDAwMjAyMDIwNzE1RkU5Cis6MTA1M0MwMDA2NjYzM0QwMDIwNzE1RjczNzQ2MTc0M0QwMDIwNzE1RkZFCis6MTA1M0QwMDA2NDYxNzQ2MTNEMDAyMDcxNUY2RDZGNjQ2RDNEMDAyMEZDCis6MTA1M0UwMDA2ODYxNkU2NDVGNkYzRDAwMjA2ODYxNkU2NDVGNjIzRDVFCis6MTA1M0YwMDAwMDIwNjg2MTZFNjQ1RjY1M0QwMDIwNjg2MTZFNjQ1RkQ3Cis6MTA1NDAwMDA2OTNEMDAyMDIwNkY3MDZGNzM3NDNEMDAyMDIwNzQ2OTI3Cis6MTA1NDEwMDA2RDY1NkYzRDAwMjA2Mzc1NzM3NDZEMzEzRDAwMjA2M0QxCis6MTA1NDIwMDA3NTczNzQ2RDMyM0QwMDIwNjM3NTczNzQ2RDY0M0QwMDU3Cis6MTA1NDMwMDAyMDc0Nzg3MjYxNzQ2NTNEMDAyMDcyNzg3MjYxNzQ2NUMxCis6MTA1NDQwMDAzRDAwMjAyMDYzNUY2RDYxNzAzRDAwMjA2MzVGNjE2NEZCCis6MTA1NDUwMDA2NDcyM0QwMDIwNjM1RjYxNjk3MzcyM0QwMDIwNjM1Rjg5Cis6MTA1NDYwMDA3ODc0NjE2NzNEMDAyMDYzNUY2NDY1NjY3MjNEMDAyMDZCCis6MTA1NDcwMDA2MzVGNjY2QzczNjgzRDAwMjA3NDc4NkQ2MTc4NzMzRDdFCis6MTA1NDgwMDAwMDIwNzI2OTVGNjU2RDczM0QwMDIwMjA2MzVGNkM3MzVGCis6MTA1NDkwMDA3MjNEMDAyMDIwNjM1RjY5NjU3MjNEMDAyMDIwNjM1RkRDCis6MTA1NEEwMDA2NjYzNzIzRDAwMjAyMDYzNUY2RDYzNzIzRDAwMjAyMEMzCis6MTA1NEIwMDA2MzVGNkM2MzcyM0QwMDIwMjA2MzVGNjQ3MzczM0QwMDIzCis6MTA1NEMwMDAyMDYzNUY2NDczNzM2OTNEMDAyMDYzNUY2NDczNzM3MjZDCis6MTA1NEQwMDAzRDAwMjAyMDYzNUY2OTczNzIzRDAwMjAyMDYzNUY2MzlECis6MTA1NEUwMDA2MTcyM0QwMDIwMjA2MzVGNjU2NjcyM0QwMDIwNjM1RjRFCis6MTA1NEYwMDA2NTcyNzM3NDNEMDAyMDYzNUY2NTYzNkU3NDNEMDAyMEM4Cis6MTA1NTAwMDA2MzVGNjI3MjZCNjMzRDAwMjA2MzVGNjI2RjZCNjMzRDNDCis6MTA1NTEwMDAwMDIwNjM1RjcyNjU3MDZDM0QwMDIwNjM1RjYzNjM3MzlFCis6MTA1NTIwMDA3MjNEMDAyMDYzNUY3Mzc0NzQzMTNEMDAyMDYzNUY3M0NDCis6MTA1NTMwMDA3NDc0MzIzRDAwMkJDMDhFRDg4RUMwRThDMjAwRThFNUZFCis6MTA1NTQwMDAwMEZBQkY4NDAwQzcwNURDNTY4QzREMDJCRjBDMDBDN0IzCis6MTA1NTUwMDAwNTZFNUU4QzREMDJCRjA0MDBDNzA1QkE1RThDNEQwMjFECis6MTA1NTYwMDBFOEYxMDA5MEU4NDkwMUU4MTYwMEY0OTBFOEU1MDBCRTkzCis6MTA1NTcwMDBCQTRERTgwOTBDQTA5MzEyRTg1RDBDRThDMjA5RUJFNDBGCis6MTA1NTgwMDBFOEQ1MENFOEM0MEMwQUMwNzRGNjhCMUVGODc5M0MwRDAzCis6MTA1NTkwMDA3NDJFM0MwODc0MTczQzdGNzQxMzgzRkIyMDdGRTE4OEQyCis6MTA1NUEwMDA4N0Q2Nzk0Mzg5MUVGODc5RTg3NzBDRUJEMzBCREI3NDQ3Cis6MTA1NUIwMDBDRjRCODkxRUY4Nzk4QjM2MTY3QUU4QzEwQkVCQzE5MDc4Cis6MTA1NUMwMDBFODAyMDBFQkJCQzY4N0Q2NzkwMDBCREI3NDFFQTBENkMxCis6MTA1NUQwMDA3OUJGNjA1MUI5MUQwMDhCRDkwNjBFMDdGMkFFMDc3NTcxCis6MTA1NUUwMDAxNzQxMkJEOUQxRTMyRUZGOTc3RDUxOTAzM0MwQTNGOEZCCis6MTA1NUYwMDA3OUJFODk0REU4ODcwQkMzQkU4RDRERTg4MDBCRUJFQzdGCis6MTA1NjAwMDBCQTAwMDJCMDkzRUVCMDU1RUVCQTEwMDJCMDkzRUVCMDBECis6MTA1NjEwMDBBQUVFQkEwMDAyRUMzQzU1NzUwOEJBMTAwMkVDM0NBQTlFCis6MTA1NjIwMDA3NDAzRTgyRkY2QzNCQTA0MDJCMDFBRUVCMDIwRUVCMDRECis6MTA1NjMwMDAzMEVFQjA0MEVFQjA4MEVFQkEwMDAyQjAxM0VFQjAwNzJDCis6MTA1NjQwMDBFRUJBMDgwMkIwODBFRUJBMDIwMkIwQkJFRUJBMDQwMkIzCis6MTA1NjUwMDBCMDA1RUVDM0M2MDZDQTEzMDFDNzA2Rjg3OTAwMDBDNjM2Cis6MTA1NjYwMDAwNkY2NzkwMUM3MDZEMDc5MDAwMEM3MDZEMjc5MDAwMDk2Cis6MTA1NjcwMDBDNzA2RDQ3OTAwMDBDNzA2RkE3OTAwMDBDNzA2RkM3OThFCis6MTA1NjgwMDAwMDAwQzcwNkZFNzkwMDAwQzcwNjAwN0EwMDAwQzcwNkMyCis6MTA1NjkwMDAwMjdBQ0U1OThDMEUwNDdBQzcwNjA2N0EwMDAwQzcwNjM1Cis6MTA1NkEwMDAyNzdBMDAwMEM2MDYyOTdBMDBDNjA2MkE3QTAwQzM5MDI3Cis6MTA1NkIwMDBCRTIyNERFOEM4MEFFODNGMDAyQzMxM0MwMTc3RjdFOEVDCis6MTA1NkMwMDA4MTA5OEIzNjBDN0FFOEI1MEFCRTZBNERFOEFGMEEwRTNFCis6MTA1NkQwMDA1OEU4RjgwQUJFN0E0REU4QTQwQUMzOTA2MEQxRTM4MzgzCis6MTA1NkUwMDBGQjE4NzMxMTFFQkEwMDAwOEVEQTJFRkY5N0I3NTE4QjhDCis6MTA1NkYwMDBFQzg5NDYxMDFGNjFDRjkwRTg0RjBCMEFDMDc1MDVFODkyCis6MTA1NzAwMDA1NjBCRUJGNEMzOTA4MzNFRjg3OTAxNzQxNkJFRDc3OTNCCis6MTA1NzEwMDBFODMxMEE4QkQwQUMzQzJDNzQwNDNDMjA3NTA1RTgyMzlFCis6MTA1NzIwMDAwQUVFQzNFOUQyRkU4MzNFRjg3OTAxNzRGNkJFRDc3OTVBCis6MTA1NzMwMDBFODExMEE4QkQwQUMzQzJDNzQwODNDMjA3NDA0RTlCNzA3Cis6MTA1NzQwMDBGRTkwRThGRjA5RUZDMzkwOEIxNjA2N0E4MzNFRjg3OTQ2Cis6MTA1NzUwMDAwMTc0MEJCRUQ3NzlFOEVCMDk4QkQwQTMwNjdBQjAyMDkxCis6MTA1NzYwMDBFODU3MEI4QjE2MDY3QUVDRTg2RjBCQzM4QjE2MDY3QTlDCis6MTA1NzcwMDA4MzNFRjg3OTAxNzQwQkJFRDc3OUU4QzcwOThCRDBBM0IzCis6MTA1NzgwMDAwNjdBQjAyMEU4MzMwQjhCMTYwNjdBRURFODY3MEJDMzc4Cis6MTA1NzkwMDBGQUM2MDZGNjc5MDBDMzkwQzYwNkY2NzkwMUZCQzM5MEY3Cis6MTA1N0EwMDAwNkU4NTgwOUIwMjBFODExMEIyNjhCMDVFODQ3MEJCMDM2Cis6MTA1N0IwMDAwOEU4MDYwQkU4MDMwQkU4MDAwQkU4RkQwQUI4MDEwMDU3Cis6MTA1N0MwMDBFOENGRjRCQTAyMDJFQzI0MDE3NTAyRUJEQ0JBMDYwMjVGCis6MTA1N0QwMDBFQzA3QzM5MEM3MDYwODdBMTAwMEVCMDZDNzA2MDg3QUU0Cis6MTA1N0UwMDAwMTAwMDY4RTA2RkM3OThCM0VGQTc5RTgwRTA5RTgwQjdCCis6MTA1N0YwMDAwMDg5M0VGQTc5OEMwNkZDNzkwN0MzOTBCRUIyNERFODY5Cis6MTA1ODAwMDA3QzA5OEIxNjA4N0E1MkU4MkEwOUU4MEYwQUU4MEMwQTg0Cis6MTA1ODEwMDAzM0RCQjkxMDAwOTAyNjhBMDFFOEJDMDlFOEZEMDk0MzkyCis6MTA1ODIwMDBFMkY0RThGNzA5RThGNDA5MzNEQkI5MTAwMDkwMjY4QUJFCis6MTA1ODMwMDAwMTNDMjA3MjA1M0M3RTc2MDM5MEIwMkVFOEUzMDk0M0RDCis6MTA1ODQwMDBFMkVDQkVCMjRERTgzNjA5ODNDNzEwNUE0QTc1QjdDM0I5Cis6MTA1ODUwMDAwNjhFMDYwMDdBOEIzRUZFNzlFOEEwMDg4OTNFRkU3OTI2Cis6MTA1ODYwMDA4QzA2MDA3QTU3OEIzNjBFN0FFODEyMDlDNzA2MDg3QTNBCis6MTA1ODcwMDAxMDAwQkEwMDAyRThFODAwRTg4MUZGNUZCQTAwMDBFODIzCis6MTA1ODgwMDBERTAwQkVCNTRERThGNjA4OENDMEU4M0YwOUIwM0FFODQ2Cis6MTA1ODkwMDA5MDA5OEJDN0U4MzUwOUU4N0UwOEU4QzMwMDkwRThCN0FGCis6MTA1OEEwMDAwOUU4QTYwOTBBQzA3NEY2M0MwQjc1MDY4M0VGMTBFQkY1Cis6MTA1OEIwMDAxOTkwM0MwQTc1MDY4M0M3MTBFQjBGOTAzQzBDNzUwNEQ5Cis6MTA1OEMwMDA0N0VCMDc5MDNDMDg3NTI0NEY5MDhCMzZGRTc5OEJDN0M5Cis6MTA1OEQwMDAyQkM2M0QwMDAxNzJBNTNEMTAwMTcyMDQ4M0VFMjA5MDlECis6MTA1OEUwMDA4M0M2MTA4OTM2RkU3OTU3OEJGRUVCODAzQzJFNzUwOEY3Cis6MTA1OEYwMDBCQTAxMTNFODZBMDAwN0MzQzYwNjBBN0EwMjMyQzk5MEUxCis6MTA1OTAwMDAzQzMwNzI0QzNDMzk3NjBDMjQ1RjNDNDE3MjQyM0M0NjQwCis6MTA1OTEwMDA3NzNFMkMwNzJDMzA1MEU4Q0MwODU4MDJDOEZFMEUwQUZGCis6MTA1OTIwMDA3QTc0MEZDMEUxMDRFODJGMDlFODFFMDkwQUMwNzRGNjcyCis6MTA1OTMwMDBFQkNFMjY4ODBERThFMDA3OEFEMEU4MjMwMDhBQzEzQzM4Cis6MTA1OTQwMDAyMDcyMDUzQzdFNzYwMzkwQjAyRUU4RDUwOEU5NzBGRjAyCis6MTA1OTUwMDBFOEM1MDdFODBBMDAyNjhBMDVFODdDMDhFOTFERkY5MEVCCis6MTA1OTYwMDBGNjA2MjY3QTAyNzUwMjg2RjI1MjhCMzYxQTdBRTgwRDBFCis6MTA1OTcwMDAwODVBNTI4QUM2MDIwNjI0N0FGNjA2MjY3QTAxNzUwNjY1Cis6MTA1OTgwMDBFODlGMDhFQjBEOTAzMkU0RTgwRDA4OEIzNjFDN0FFOEFFCis6MTA1OTkwMDBFQzA3NUE4QUMyMDIwNjI1N0FGNjA2MjY3QTAxNzUwNkFGCis6MTA1OUEwMDBFODdGMDhFQjA2OTAzMkU0RThFRDA3OEIzNjFFN0FFOEQ0Cis6MTA1OUIwMDBDQzA3QzM5MDA2OEUwNjA0N0E4QjNFMDI3QUU4M0MwNzM5Cis6MTA1OUMwMDA4OTNFMDI3QThDMDYwNDdBMDdGRjFFMDI3QUMzQkU5N0NDCis6MTA1OUQwMDA0REU4QUEwN0NCOTAwNjU3QkVENzc5RTg2NjA3OEJEODYzCis6MTA1OUUwMDBFODYxMDc4QkM4MkJDQjc4MTE4RUMzQkYwMDAwQjhGRkNFCis6MTA1OUYwMDBGRjUxQjkwODAwRjNBQjU5RTJGNzVGMDdDMzkwMDZCRTQ5Cis6MTA1QTAwMDBENzc5RTgzRjA3OEJEOEQxRTMyRThCOUY0NDAwQkUyNjgxCis6MTA1QTEwMDA1MkU4RjEwODhCQzNFOEREMDhCODAxMDBFODczRjJFODRBCis6MTA1QTIwMDBFMDA4QkUyRjUyRThERDA4OEI0NzE4RThDODA4QkU3N0FCCis6MTA1QTMwMDA1MkU4RDEwODhCNDcyNkU4QkMwOEJFNTM1MkU4QzUwODk3Cis6MTA1QTQwMDA4QjQ3MUVFOEIwMDhCRTVDNTJFOEI5MDg4QjQ3MjBFOEQ3Cis6MTA1QTUwMDBBNDA4QkU2RTUyRThBRDA4OEI0NzI0RTg5ODA4QkU4MEMzCis6MTA1QTYwMDA1MkU4QTEwODhCNDcyQUU4OEMwOEU4OTUwOEJFMzg1MjBFCis6MTA1QTcwMDBFODkyMDg4QjA3RTg3RTA4QkU0MTUyRTg4NzA4OEI0NzBBCis6MTA1QTgwMDAxQUU4NzIwOEJFNEE1MkU4N0IwODhCNDcxQ0U4NjYwODkxCis6MTA1QTkwMDBCRTY1NTJFODZGMDg4QjQ3MjJFODVBMDhFODYzMDhCRUUzCis6MTA1QUEwMDBEMTUyRTg2MDA4OEI0NzM4RTg0QjA4QkVBRDUyRTg1NDQ1Cis6MTA1QUIwMDAwODhCNDczMEU4M0YwOEJFQjY1MkU4NDgwODhCNDczMkFCCis6MTA1QUMwMDBFODMzMDhCRUE0NTJFODNDMDg4QjQ3MkVFODI3MDhCRUZFCis6MTA1QUQwMDBCRjUyRTgzMDA4OEI0NzM0RTgxQjA4RTgyNDA4QkU4OTI5Cis6MTA1QUUwMDA1MkU4MjEwODhCNDcwNEU4MEMwOEJFOTI1MkU4MTUwOERBCis6MTA1QUYwMDA4QjQ3MTRFODAwMDhCRTlCNTJFODA5MDg4QjQ3MkNFODQ2Cis6MTA1QjAwMDBGNDA3QkVDODUyRThGRDA3OEI0NzM2RThFODA3QkVEQTVGCis6MTA1QjEwMDA1MkU4RjEwNzhCNDczQUU4REMwN0JFRTM1MkU4RTUwN0I1Cis6MTA1QjIwMDA4QjQ3M0NFOEQwMDdFOEQ5MDdCRTE5NTNFOEQ2MDc4QjY2Cis6MTA1QjMwMDA0NzQ4RThDMTA3QkVGRTUyRThDQTA3OEI0NzQyRThCNUFFCis6MTA1QjQwMDAwN0JFMDc1M0U4QkUwNzhCNDc0NEU4QTkwN0JFN0M1MzRFCis6MTA1QjUwMDBFOEIyMDc4QjQ3NENFODlEMDdCRTg1NTNFOEE2MDc4QjQ0Cis6MTA1QjYwMDA0NzRFRTg5MTA3QkU4RTUzRTg5QTA3OEI0NzUwRTg4NTY5Cis6MTA1QjcwMDAwN0U4OEUwN0JFMjI1M0U4OEIwNzhCNDc0QUU4NzYwNzczCis6MTA1QjgwMDBCRUVDNTJFODdGMDc4QjQ3MDhFODZBMDdCRUY1NTJFODhCCis6MTA1QjkwMDA3MzA3OEI0NzQwRTg1RTA3QkUxMDUzRTg2NzA3OEI0N0UzCis6MTA1QkEwMDA0NkU4NTIwN0U4NUIwN0JFNkE1M0U4NTgwNzhCNDc3QTE2Cis6MTA1QkIwMDBFODQzMDdCRTNENTNFODRDMDc4QjQ3NzBFODM3MDdCRTA0Cis6MTA1QkMwMDA0NjUzRTg0MDA3OEI0NzcyRTgyQjA3QkU0RjUzRTgzNDMzCis6MTA1QkQwMDAwNzhCNDc3NEU4MUYwN0U4MjgwN0JFMkI1M0U4MjUwNzAzCis6MTA1QkUwMDA4QjQ3MENFODEwMDdCRTM0NTNFODE5MDc4QjQ3MTBFOEMxCis6MTA1QkYwMDAwNDA3QkU1ODUzRTgwRDA3OEI0Nzc2RThGODA2QkU2MUU4Cis6MTA1QzAwMDA1M0U4MDEwNzhCNDc3OEU4RUMwNkJFNzM1M0U4RjUwNkM2Cis6MTA1QzEwMDA4QjQ3M0VFOEUwMDZFOEU5MDZCRTk3NTNFOEU2MDY4QkM4Cis6MTA1QzIwMDA0NzUyRThEMTA2QkVBMDUzRThEQTA2OEI0NzU0RThDNUQwCis6MTA1QzMwMDAwNkJFQTk1M0U4Q0UwNjhCNDc1NkU4QjkwNkJFQjI1MzU2Cis6MTA1QzQwMDBFOEMyMDY4QjQ3NThFOEFEMDZCRUJCNTNFOEI2MDY4QkU0Cis6MTA1QzUwMDA0NzVBRThBMTA2QkVDNDUzRThBQTA2OEI0NzVDRTg5NUZDCis6MTA1QzYwMDAwNkU4OUUwNkJFQ0Q1M0U4OUIwNjhCNDc1RUU4ODYwNjk3Cis6MTA1QzcwMDBCRUQ2NTNFODhGMDY4QjQ3NjBFODdBMDZCRURGNTNFODRFCis6MTA1QzgwMDA4MzA2OEI0NzYyRTg2RTA2QkVFODUzRTg3NzA2OEI0N0NCCis6MTA1QzkwMDA3Q0U4NjIwNkJFRjE1M0U4NkIwNjhCNDc3RUU4NTYwNjQ5Cis6MTA1Q0EwMDBCRUZBNTNFODVGMDY4Qjg3ODAwMEU4NDkwNkU4NTIwNjkzCis6MTA1Q0IwMDBCRTQyNTRFODRGMDY4Qjg3OUUwMEU4MzkwNkJFMDM1NDY3Cis6MTA1Q0MwMDBFODQyMDY4QjQ3NjRFODJEMDZCRTBDNTRFODM2MDY4Qjg2Cis6MTA1Q0QwMDA0NzZFRTgyMTA2QkUxNTU0RTgyQTA2OEI4NzhFMDBFODM5Cis6MTA1Q0UwMDAxNDA2QkUxRTU0RTgxRDA2OEI4NzkwMDBFODA3MDZCRTBBCis6MTA1Q0YwMDAyNzU0RTgxMDA2OEI4NzkyMDBFOEZBMDVFODAzMDZCRUYxCis6MTA1RDAwMDAzMDU0RTgwMDA2OEI4Nzk0MDBFOEVBMDVCRTM5NTRFODcxCis6MTA1RDEwMDBGMzA1OEI4Nzk2MDBFOEREMDVCRTZGNTRFOEU2MDU4QjNBCis6MTA1RDIwMDA4Nzk4MDBFOEQwMDVCRTVENTRFOEQ5MDU4QTg3QTAwMEIxCis6MTA1RDMwMDBFOEE3MDVCRTU0NTRFOENDMDU4QTQ3MjhFODlCMDVCRTcxCis6MTA1RDQwMDA2NjU0RThDMDA1OEE4N0ExMDBFODhFMDVFOEIzMDVCRTYxCis6MTA1RDUwMDA3ODU0RThCMDA1OEE4N0EyMDBFODdFMDVCRTgxNTRFODQxCis6MTA1RDYwMDBBMzA1OEE4N0EzMDBFODcxMDVCRThBNTRFODk2MDU4QUQwCis6MTA1RDcwMDA4N0E0MDBFODY0MDVCRTkzNTRFODg5MDU4QTg3QTUwMEQ2Cis6MTA1RDgwMDBFODU3MDVCRTlDNTRFODdDMDU4QTg3QTYwMEU4NEEwNUNBCis6MTA1RDkwMDBCRUE1NTRFODZGMDU4QTg3QTcwMEU4M0QwNUJFQUU1NDRFCis6MTA1REEwMDBFODYyMDU4QTg3QTgwMEU4MzAwNUU4NTUwNUJFQjc1NEMzCis6MTA1REIwMDBFODUyMDU4QTg3QTkwMEU4MjAwNUJFQzA1NEU4NDUwNUQ5Cis6MTA1REMwMDA4QTg3QUEwMEU4MTMwNUJFQzk1NEU4MzgwNThBODdBQjVDCis6MTA1REQwMDAwMEU4MDYwNUJFRDI1NEU4MkIwNThBODdBRDAwRThGOTM1Cis6MTA1REUwMDAwNEJFREI1NEU4MUUwNThBODdBRTAwRThFQzA0QkVFNDdFCis6MTA1REYwMDA1NEU4MTEwNThBODdBRjAwRThERjA0QkVFRDU0RTgwNERCCis6MTA1RTAwMDAwNThBODdCMDAwRThEMjA0RThGNzA0QkVGNjU0RThGNDQ3Cis6MTA1RTEwMDAwNDhBODdCMTAwRThDMjA0QkVGRjU0RThFNzA0OEE4NzE5Cis6MTA1RTIwMDBCMjAwRThCNTA0QkUwODU1RThEQTA0OEE4N0IzMDBFODkyCis6MTA1RTMwMDBBODA0QkUxMTU1RThDRDA0OEE4N0JCMDBFODlCMDRFODlFCis6MTA1RTQwMDBDMDA0QkUxQTU1RThCRDA0OEE4N0JDMDBFODhCMDRCRUI2Cis6MTA1RTUwMDAyMzU1RThCMDA0OEE4N0JFMDBFODdFMDRCRTJDNTVFOENFCis6MTA1RTYwMDBBMzA0OEE4N0JGMDBFODcxMDRFODk2MDQwN0MzNjAwNkFDCis6MTA1RTcwMDAxRTE2OEJFQ0ZGNEUxNkY3NDYxQTAwMDI3NDAxRkJCODkzCis6MTA1RTgwMDAwMDAwOEVEODhFQzA4OTJFMkQ3QUU4Q0IwMDgxNjYxQTRDCis6MTA1RTkwMDBGRkZFQzYwNjJBN0EwMEU4RDgwMEI4MDA1RkEzMkI3QTc2Cis6MTA1RUEwMDBFODVEMDA4MDNFMkE3QTAwNzQwQTgxNEUxQTAwMDFDNjFECis6MTA1RUIwMDAwNjJBN0EwMDE3MUYwNzYxQ0Y5MDYwMDYxRTE2OEJFQzJBCis6MTA1RUMwMDBGNzQ2MUEwMDAyNzQwMUZCQjgwMDAwOEVEODhFQzA4OTE0Cis6MTA1RUQwMDAyRTJEN0E4MTY2MUFGRkZFQzYwNjJBN0EwMEU4OTIwMDA1Cis6MTA1RUUwMDBCODAwNUZBMzJCN0FFODE3MDA4MDNFMkE3QTAwNzQwQTc0Cis6MTA1RUYwMDA4MTRFMUEwMDAxQzYwNjJBN0EwMDE3MUYwNzYxQ0Y5MDRCCis6MTA1RjAwMDBCOEYwMDBFODhDRURGRjI2MkI3QUMzOTAwNjUzNTY4MDNDCis6MTA1RjEwMDAzRTI5N0EwMDc0MDNFODNGMDBCRUQ3NzlFODI1MDI4QjVBCis6MTA1RjIwMDBEOEEzMjc3QTJFOEEwN0EyMjk3QUIwQ0MyRTg4MDc1RUJBCis6MTA1RjMwMDA1QjA3QzNDNjA2MkE3QTAwQjgwQTVGQTMyQjdBQzM5MDEwCis6MTA1RjQwMDA4QjJFMkQ3QUU4MkIwMEMzQzYwNjJBN0EwMUU4MDgwMEJBCis6MTA1RjUwMDBCODBBNUZBMzJCN0FDMzkwNTc4MDNFMjk3QTAwNzQwRjRBCis6MTA1RjYwMDA4QjNFMjc3QUEwMjk3QTJFODgwNUM2MDYyOTdBMDA1RkZCCis6MTA1RjcwMDBDMzkwQkVCMjRERTgwNjAyQkVEODUxRTgwMDAyRkY3NkRCCis6MTA1RjgwMDAxNDU4RTg0NzAyQkVERTUxRThGMzAxRkY3NjBFNThFOEU4Cis6MTA1RjkwMDAzQTAyQkVFNDUxRThFNjAxRkY3NjEyNThFODJEMDJCRTRGCis6MTA1RkEwMDBFQTUxRThEOTAxRkY3NjEwNThFODIwMDJCRTE0NTJFODAxCis6MTA1RkIwMDBDQzAxRkY3NjBBNThFODEzMDJCRTFBNTJFOEJGMDFGRjZGCis6MTA1RkMwMDA3NjBDNThFODA2MDJCRUNGNTFFOEIyMDFGRjc2MUE1OEE3Cis6MTA1RkQwMDBFOEY5MDFCRUIyNERFOEE1MDFCRUYwNTFFODlGMDFGRjBFCis6MTA1RkUwMDA3NjE4NThFOEU2MDFCRUY2NTFFODkyMDFGRjc2MDI1OEFECis6MTA1RkYwMDBFOEQ5MDFCRUZDNTFFODg1MDFGRjc2MDQ1OEU4Q0MwMUUwCis6MTA2MDAwMDBCRTAyNTJFODc4MDFGRjc2MDA1OEU4QkYwMUJFMDg1MjkwCis6MTA2MDEwMDBFODZCMDFGRjc2MDY1OEU4QjIwMUJFMEU1MkU4NUUwMTU5Cis6MTA2MDIwMDBGRjc2MDg1OEU4QTUwMUJFMjA1MkU4NTEwMUZGNzYxNjE4Cis6MTA2MDMwMDA1OEU4OTgwMUJFODk0REU4NDQwMUMzOTBCRUM5NERFOEI3Cis6MTA2MDQwMDAzQzAxQzMzQzAwNzQwNTNDMDE3NDU5QzNDNzA2MEM3QTdCCis6MTA2MDUwMDBDRDUwQzcwNjBFN0FGMDUwQzcwNjEwN0FFODUwQzcwNjMyCis6MTA2MDYwMDAxMjdBRUM1MEM3MDYxNDdBRjQ1MEM3MDYxNjdBRkI1MDIxCis6MTA2MDcwMDBDNzA2MTg3QTAzNTFDNzA2MUE3QTBCNTFDNzA2MUM3QTRECis6MTA2MDgwMDAwRTUxQzcwNjFFN0ExMDUxQzcwNjIwN0ExMjUxQzcwNjU0Cis6MTA2MDkwMDAyMjdBMTY1MUM2MDYyNDdBMDFDNjA2MjU3QTAxQzYwNjVBCis6MTA2MEEwMDAyNjdBMDNDM0M3MDYwQzdBMUE1MUM3MDYwRTdBNEQ1MUQ5Cis6MTA2MEIwMDBDNzA2MTA3QTQ3NTFDNzA2MTI3QTRBNTFDNzA2MTQ3QUEyCis6MTA2MEMwMDA0RjUxQzcwNjE2N0E1MTUxQzcwNjE4N0E1NTUxQzcwNjVGCis6MTA2MEQwMDAxQTdBNTY1MUM3MDYxQzdBNTk1MUM3MDYxRTdBNUE1MTY4Cis6MTA2MEUwMDBDNzA2MjA3QTVCNTFDNzA2MjI3QTVFNTFDNjA2MjQ3QTFCCis6MTA2MEYwMDAyMEM2MDYyNTdBMjBDNjA2MjY3QTAyQzNBMUY4Nzk0ODZBCis6MTA2MTAwMDA3NDE0QkVENzc5RTgzQzAwOEJGOEFDM0MzQTc1MDc4RTI2Cis6MTA2MTEwMDBDN0U4MzAwMDhCRjhDMzkwOEJDNzJCMDZGRTc5OEFGMDU2Cis6MTA2MTIwMDAyNDBGOEFEMDAyRDAwMkQwODBDMjBCQzBFRTA0ODBDNkY5Cis6MTA2MTMwMDAwMzA0M0RDMzhDQzBFODkzMDBCMDNBRThFNDAwOEJDNzg5Cis6MTA2MTQwMDBFODg5MDBDMzUxMzNDOTkwQUMzQzIwNzRGQjkwMEFDMDZECis6MTA2MTUwMDA3NDI2MkMzMDcyMjIzQzA5NzYxNDNDMTE3MjFBMkMwN0RBCis6MTA2MTYwMDAzQzBGNzYwQTNDMkE3MjEwMkMyMDNDMEY3NzBBOThDMTBCCis6MTA2MTcwMDBFMTA0MDNDOEFDRUJENzkwNEU4QkMxNTlDMzkwMDY4Qzk5Cis6MTA2MTgwMDBDODhFQzBFODAyMDAwN0MzMjY4QTA0NDYwQUMwNzQwNjA3Cis6MTA2MTkwMDBFODhGMDBFQkYzOTBDMzkwMEJDMDc0N0E1MTMzRDJCOUZGCis6MTA2MUEwMDBFODAzRjdGMThCQ0FFODAzMDA4QkMxNTlCQTY0MDBGNjIzCis6MTA2MUIwMDBGMkU4MEMwMDhBQzQ5OEIyMEFGNkYyRTgwMjAwOEFDNDM3Cis6MTA2MUMwMDA1MDBBRjA3NDA1MDQzMEU4NTgwMDU4QzM4NkM0RTgwNzQ0Cis6MTA2MUQwMDAwMDg2QzRFODAyMDBDMzkwQzFDODA0RTgwODAwQzFDMDNBCis6MTA2MUUwMDAwNEU4MDIwMEMzOTA1MzUwMjQwRkJCQ0E2MjJFRDdFOEM0Cis6MTA2MUYwMDAzMDAwNTg1QkMzOTA4NkM0RTgwNzAwODZDNEU4MDIwMEZDCis6MTA2MjAwMDBDMzkwNTBCOTA4MDA4QUUwMzJDMEQxQzAwNDMwRTgxMTEwCis6MTA2MjEwMDAwMEUyRjU1OEMzOTBCMDMwRTgwNzAwQzNCMDIwRTgwMUIxCis6MTA2MjIwMDAwMEMzNTY4QjM2RDA3OTg4ODREMDc3NDY4MUU2RkYwMTRCCis6MTA2MjMwMDBGRjA2RDQ3OTg5MzZEMDc5ODEzRUQ0NzlGRTAxNzUwODdDCis6MTA2MjQwMDA1NkU4MTQwMDVFRUJGMTkwNUVDM0JBMDIwMkVDMjQwMTQyCis6MTA2MjUwMDA3NDA0QkEwNjAyRUNDMzkwODAzRUY2NzkwMDc0MDk2MEJCCis6MTA2MjYwMDBCODAxMDBFODJDRUE2MTkwQkEwMjAyRUNBODA0NzQyODk0Cis6MTA2MjcwMDA4QjM2RDI3OTgzM0VENDc5MDA3NDFEOEE4NEQwNzc0NkQ4Cis6MTA2MjgwMDA4MUU2RkYwMTg5MzZEMjc5RkYwRUQ0NzlCQTA2MDJFRTkzCis6MTA2MjkwMDBCQTAyMDJFQ0E4MDQ3NURDQTFENDc5QzM1MkJBMDYwMjkyCis6MTA2MkEwMDBFRTVBQzM5MDUyNTBCQTAyMDJFQ0E4MDQ3NDA4NTg1QTJECis6MTA2MkIwMDBFOEU5RkZGOUMzOTA1ODVBRjhDMzUyNTBCQTAyMDJFQzA5Cis6MTA2MkMwMDBBODA0NzRGQjU4NUFFOEQzRkZDMzMwMzEzMjMzMzQzNTU1Cis6MTA2MkQwMDAzNjM3MzgzOTQxNDI0MzQ0NDU0NjUzNTA4QUUwODBFNERBCis6MTA2MkUwMDAwRkJCQ0E2MkMwRTgwNDJFRDdFOENFRkY4QUM0MkVEN0ZGCis6MTA2MkYwMDBFOEM3RkY1ODVCQzM4NkUwRThERkZGODZFMEU4REFGRjI3Cis6MTA2MzAwMDBDMzkwQkVCMjRENTAyRUFDM0MwMDc0MDVFOEFCRkZFQjIxCis6MTA2MzEwMDBGNTU4QzM5MEM4MDgwMDAwNTY1NzhCNzYwNEJGMDQwMDk4Cis6MTA2MzIwMDBDNzQ2RkMwMDAwQzc0NkZBMDAwMEM3NDZGODAwMDA4M0Q1Cis6MTA2MzMwMDA3RTA2MDA3NTBFNTZFOEI2MEU1OTBCQzA3NTA1OEJDNzY0Cis6MTA2MzQwMDBFOTVCMDE4QjQ2RkM4OTQ2RkUwQkZGNzUwNUI4MDEwMDMxCis6MTA2MzUwMDBFQjAyMzNDMDUwNTZFOEE0MEQ1OTU5QjQwMDg5NDZGQ0VECis6MTA2MzYwMDA4QjVFRkM4M0ZCMDg3NjAzRTkyQjAxRDFFMzJFRkZBN0FDCis6MTA2MzcwMDBCMjY0QjgwMzAwRTkyNjAxODM3RUZBMDA3NDE0Qzc0NkFDCis6MTA2MzgwMDBGQTAwMDA4QTQ0NTg5ODUwOEE0NDU5OTg1MEU4QzIwRjNECis6MTA2MzkwMDA1OTU5ODM3RUY4MDA3NDBBQzc0NkY4MDAwMDU2RTg5QkY2Cis6MTA2M0EwMDAwODU5ODM3RTA2MDA3NTA1OEJDN0U5RjEwMDgzRkYwNDU5Cis6MTA2M0IwMDA3NTAzRTlFNjAwOEJDN0U5RTQwMDgzN0VGRTAwNzUwMzAwCis6MTA2M0MwMDBCRjAyMDBFOUQ1MDA4MzdFRkUwMDc1MDNCRjAxMDBFOTJFCis6MTA2M0QwMDBDOTAwOEI1RUZFODNGQjA3NzYwM0U5ODYwMEQxRTMyRUJFCis6MTA2M0UwMDBGRkE3QTI2NDMzRkZFOTdGMDBCRjA0MDA4MDdDNTgwRjQxCis6MTA2M0YwMDA3NDIyODM3RUY4MDA3NTFDRkU0NDU4NkEwODU2RTg3RUI1Cis6MTA2NDAwMDAwQzU5NTk4QTQ0NTgwNDgwNTA1NkU4NzIwQzU5NTlDNzlGCis6MTA2NDEwMDA0NkZBMDEwMDgzN0VGODAwNzQwQUM3NDZGODAwMDA1NjY5Cis6MTA2NDIwMDBFODE5MDg1OUVCNDJCRjA0MDA4MDdDNTgwMDc0MjI4M0FECis6MTA2NDMwMDA3RUY4MDA3NTFDRkU0QzU4NkEwODU2RTg0MTBDNTk1OTA0Cis6MTA2NDQwMDA4QTQ0NTgwNDgwNTA1NkU4MzUwQzU5NTlDNzQ2RkEwMTE5Cis6MTA2NDUwMDAwMDgzN0VGODAwNzQwQUM3NDZGODAwMDA1NkU4REMwNzlGCis6MTA2NDYwMDA1OUVCMDVCRjA0MDBFQjAwRUIzMUJGMDQwMEVCMkNDNzc4Cis6MTA2NDcwMDA0NkY4MDEwMDZBMDg1NkU4MDUwQzU5NTk4MDdDNTgwOTBECis6MTA2NDgwMDA3RDA0QjAwRkVCMDJCMDAwMDQ4MDUwNTZFOEYwMEI1OUM5Cis6MTA2NDkwMDA1OUJGMDQwMEVCMDVCRjA0MDBFQjAwRTlBNUZFNUY1RUY5Cis6MTA2NEEwMDBDOUMzRTQ2MzYzNjQ2MzY0NjM2NDYzNjRFOTYzMjY2NDI3Cis6MTA2NEIwMDA1MTY0Nzg2M0JBNjNDNjYzOTY2NEQyNjM2QTY0NkE2NDNCCis6MTA2NEMwMDA2RjY0NzI2M0M4MDgwMDAwNTY1NzhCNzYwNDhCN0UwODkxCis6MTA2NEQwMDA2QTAxNTZFOEE5MEI1OTU5OEE0NjA2QzBFMDA2MDQ4MEFECis6MTA2NEUwMDA1MDU2RTg5QTBCNTk1OUM3NDZGRTAwMDA4OTdFRjhFQkQyCis6MTA2NEYwMDAwM0ZGNDZGRThCNUVGOEZGNDZGODgwM0YwMDc1RjI4MzhGCis6MTA2NTAwMDA3RUZFMTA3RDI1QjgxMDAwMkI0NkZFRDFGODg5NDZGQzkyCis6MTA2NTEwMDBDNzQ2RkEwMDAwRUIwQjZBMjA1NkU4NjIwQjU5NTlGRjk4Cis6MTA2NTIwMDA0NkZBOEI0NkZBM0I0NkZDN0NFREVCMEM4QkRGNDc4QTQ4Cis6MTA2NTMwMDAwNzUwNTZFODQ5MEI1OTU5ODAzRDAwNzVFRjZBMDI1NkRECis6MTA2NTQwMDBFODNDMEI1OTU5RUIwMDVGNUVDOUMzQzgwNDAwMDA1NjE0Cis6MTA2NTUwMDA1NzhCN0UwNEM3NDZGRTAwMDBCRTE0MDBFOTA5MDE4QjdDCis6MTA2NTYwMDA1RUZFODNDMzA0MkJERjhBODdBQzBCODg0NDVBQzY0NDgzCis6MTA2NTcwMDA1ODA4OEE0NkZFODg0NDU5Qzc0NDA2MDAwMEM2NDQxOTk0Cis6MTA2NTgwMDAwMEM2NDQxQTAwQzY0NDFCMDBDNjQ0MUQwREM2NDQxRTY2Cis6MTA2NTkwMDAwM0M2NDQxRjAwQzY0NDIwMDBDNjQ0MjEwMEM2NDQ1QjE1Cis6MTA2NUEwMDAwMEM2NDQ1RDAwQzY0NDVFMDBDNjQ0NUYwMEM2NDQ2MDQ5Cis6MTA2NUIwMDAwMEM3NDZGQzAwMDBFQjBEOEI1RUZDRDFFM0M3NDAzMDBBCis6MTA2NUMwMDAwMDAwRkY0NkZDODM3RUZDMTA3Q0VEQzc0NkZDMDAwMDBCCis6MTA2NUQwMDBFQjBBOEI1RUZDQzY0MDUwMDBGRjQ2RkM4MzdFRkMwNDQ5Cis6MTA2NUUwMDA3Q0YwQzc0NDU0MDAwMEM3NDQ1NjAwMDA4QTQ0NUE5OEJGCis6MTA2NUYwMDBCQUY4MDAyM0QwQjgwNTAwMEJDMjg5NDZGQzlDRkE4QTgxCis6MTA2NjAwMDA0NkZDQkFGRTAwRUVCQTAwMDBFQzlEMjQwODg4NDZGQzY5Cis6MTA2NjEwMDA4MzdFRkMwMDc1MDJFQjRBRkY3NkZFRTg3QTBDNTk2ODJGCis6MTA2NjIwMDAzNTAyNTZFODMyMEE1OTU5MEJDMDc1MzQ2ODM4MDI1NjlCCis6MTA2NjMwMDBFODI1MEE1OTU5MEJDMDc1Mjc2ODQyMDI1NkU4MTgwQTFFCis6MTA2NjQwMDA1OTU5MEJDMDc1MUE2ODRDMDI1NkU4MEIwQTU5NTkwQjc4Cis6MTA2NjUwMDBDMDc1MEQ2ODU2MDI1NkU4RkUwOTU5NTkwQkMwNzQwMjAwCis6MTA2NjYwMDBFQjAwRkY0NkZFODNDNjYyMzk3RUZFN0QwM0U5RUZGRTQ2Cis6MTA2NjcwMDBFQjAwNUY1RUM5QzNDODA4MDAwMDU2NTc4QjQ2MDRCQURBCis6MTA2NjgwMDA2MjAwRjdFQTA1MTQwMDhCRjA4MzdFMDYwMDc0MDVCOEZCCis6MTA2NjkwMDAxMDAwRUIwM0I4MDgwMDg5NDQwNDhBNDYwODg4NDQ1QzZCCis6MTA2NkEwMDA1NkU4NTkwNDU5OEJGODhCQzc4OTQ0NTY4OTQ0NTQ4QTUzCis6MTA2NkIwMDA0NDVEODg0NDJGMEJGRjc1MUQ2OEMyMEY2QTAxNTZFOEMwCis6MTA2NkMwMDAwMkZFODNDNDA2RUIwMDZBMDE1NkU4NDdGQzU5NTkwQkU5Cis6MTA2NkQwMDBDMDc1RjRCRjAxMDA4OTdFRkFCOTA1MDBCQkU5NkEyRUQ2Cis6MTA2NkUwMDA4QjA3M0I0NkZBNzQwNzQzNDNFMkY0RTlBNDAzMkVGRjA5Cis6MTA2NkYwMDA2NzBBQzc0NDA2MDIwMEM3NDQwOEY0MDg4QjVFMDREMTQ5Cis6MTA2NzAwMDBFMzhCODdGQzA4ODk0NDBBMzNDMDhCRjg4OTQ0NTRFOTM5Cis6MTA2NzEwMDA4MDAzNTZFOEJCMDU1OUJGMDEwMDhBNDQ1RDg4NDQ2MDg4Cis6MTA2NzIwMDBFOTZGMDM4MzdDMDQwODc1MzA4MDdDNUMwMTc1MTU4QUYxCis6MTA2NzMwMDA0NDVEQjQwMEQxRTA4QkQ4RkZCN0U0MDg1NkU4RjcwODExCis6MTA2NzQwMDA1OTU5RUIxMzhBNDQ1REI0MDBEMUUwOEJEOEZGQjdDNDJDCis6MTA2NzUwMDAwODU2RThFMjA4NTk1OUVCMkU4MDdDNUMwMTc1MTU4QUQxCis6MTA2NzYwMDA0NDVEQjQwMEQxRTA4QkQ4RkZCN0Q0MDg1NkU4QzcwODIxCis6MTA2NzcwMDA1OTU5RUIxMzhBNDQ1REI0MDBEMUUwOEJEOEZGQjdCNDBDCis6MTA2NzgwMDAwODU2RThCMjA4NTk1OTZBMDE1NkU4ODdGQjU5NTk4QkVGCis6MTA2NzkwMDBEODgzRkIwMzc3MkFEMUUzMkVGRkE3RTE2QUJGMDEwMDZDCis6MTA2N0EwMDA4QTQ0NUQ4ODQ0NUVFQjE4OEE0NDVEMDRGRjI0MDc4OEIwCis6MTA2N0IwMDA0NDVERUIwQzhBNDQ1REZFQzAyNDA3ODg0NDVERUIwMDE5Cis6MTA2N0MwMDBFOUNGMDI4QTQ0NURCNDAwRDFFMDhCRDhGRkI3RkQwMjY3Cis6MTA2N0QwMDA1NkU4NjMwODU5NTk2ODFEMDM1NkU4NUEwODU5NTk2QTFBCis6MTA2N0UwMDAwMTU2RTgyRkZCNTk1OThCRDg4M0ZCMDM3NzM2RDFFMzQ5Cis6MTA2N0YwMDAyRUZGQTdEOTZBQkYwMTAwOEE0NDVEODg0NDVGRUIyNDVECis6MTA2ODAwMDA4QTQ0NUQwNEZGOEE1NDA0ODBDMkZGMjJDMjg4NDQ1RDJBCis6MTA2ODEwMDBFQjEyOEE0NDVERkVDMDhBNTQwNDgwQzJGRjIyQzI4ODAzCis6MTA2ODIwMDA0NDVERUIwMEU5NkIwMjhCNUMwNjgzQzNGRUQxRTM4QjE2Cis6MTA2ODMwMDA0MDA4ODkwNDhCMUNGRjc3MDY2QTAwNTZFODg1RkM4M0I0Cis6MTA2ODQwMDBDNDA2OEI1QzA2NEJEMUUzOEI0MDA4ODk0NDAyOEI1QzA5Cis6MTA2ODUwMDAwMkZGNzcwNjZBMDE1NkU4NkFGQzgzQzQwNjZBMDE1NjlECis6MTA2ODYwMDBFOEIxRkE1OTU5OEJEODgzRkIwMzc2MDNFOTFGMDJEMUFCCis6MTA2ODcwMDBFMzJFRkZBN0QxNkE4QjVDMDI4QjQ3MDQ4OTQ0MDI4QjBECis6MTA2ODgwMDA1QzAyODAzRjQ0NzUwRDhCNUMwMjhBNDcwMUI0MDAzQjdCCis6MTA2ODkwMDA0NDA0N0RFMjhCNDYwNEQxRTA4QjFDMDNEODhCNDQwMjc4Cis6MTA2OEEwMDA4OTQ3MDg4QjVDMDY0QkQxRTM4QjQ0MDI4OTQwMDhFOTk5Cis6MTA2OEIwMDBERTAxOEI1QzAyOEI0NzAyODk0NDAyOEI1QzAyODAzRkM1Cis6MTA2OEMwMDA0NDc1MEQ4QjVDMDI4QTQ3MDFCNDAwM0I0NDA0N0RFMkIxCis6MTA2OEQwMDA4QjQ2MDREMUUwOEIxQzAzRDg4QjQ0MDI4OTQ3MDg4QjdDCis6MTA2OEUwMDA1QzA2NEJEMUUzOEI0NDAyODk0MDA4RTlBMjAxQkYwMTU5Cis6MTA2OEYwMDAwMEU5OUMwMThCNUMwMjhBMDdCNDAwODk0NkY4QjkwQzU4Cis6MTA2OTAwMDAwMEJCQTE2QTJFOEIwNzNCNDZGODc0MDc0MzQzRTJGNEIxCis6MTA2OTEwMDBFOTc3MDEyRUZGNjcxODhCNDYwNEQxRTA4QjVDMDIwM0Y4Cis6MTA2OTIwMDBEODhCNDcwODhCNUMwNkZGNDQwNkQxRTM4OTQwMDg4QjZGCis6MTA2OTMwMDAxQzgwN0YwMTAwNzQxMjhCNUMwMjhBNDcwMThCMUM4QUM5Cis6MTA2OTQwMDA1NzAxQjYwMDhCREE4ODQwMThFOTQwMDFGRjRDMDZFOTkwCis6MTA2OTUwMDAzQTAxOEI1QzAyOEE0NzAxOEIxQzhBNTcwMUI2MDA4Qjc3Cis6MTA2OTYwMDBEQTg4NDAxOEU5MjUwMThCNUMwMjhBNDcwMThCMUM4QTcyCis6MTA2OTcwMDA1NzAxQjYwMDhCREE4ODQwMThGRjRDMDZFOTBEMDE4QkYxCis6MTA2OTgwMDA1QzAyOEE0NzAxOEIxQzhBNTcwMUI2MDA4QkRBMzA0MEMzCis6MTA2OTkwMDAxOEU5RjgwMEI4RjAxMDhCRjg4OTQ0NTQ4QTQ0NUY4OEVECis6MTA2OUEwMDA0NDVERTlFNzAwOEE0NDFDOTgzRDAyMDA3NDA3M0QwM0ZBCis6MTA2OUIwMDAwMDc0MDJFQjA3Qzc0NkZFMDAwMEVCMkI4QTQ0MUM5OENDCis6MTA2OUMwMDBEMUUwOEJEOEZGQjc2OTAyNTZFODZCMDY1OTU5NkEwMUM2Cis6MTA2OUQwMDA1NkU4NDBGOTU5NTk4OTQ2RkU4MzdFRkUwMDc0MDY4M0M1Cis6MTA2OUUwMDA3RUZFMDM3NUU5RUIwMDgzN0VGRTAzNzQ2MjhBNDQxQzFECis6MTA2OUYwMDA5OEQxRTA4QkQ4RkZCNzZEMDI1NkU4M0EwNjU5NTk1NjQwCis6MTA2QTAwMDBFODREOTc1OTg5NDZGQzhCNUVGQzgzRUJGRTgzRkIwM0M0Cis6MTA2QTEwMDA3NzMzRDFFMzJFRkZBNzk5NkE2OEFDMDI1NkU4MTcwNkQwCis6MTA2QTIwMDA1OTU5RUIyMzY4OEYwMjU2RTgwQzA2NTk1OUVCMTg2ODQwCis6MTA2QTMwMDA3NTAyNTZFODAxMDY1OTU5RUIwRDY4QzYwMjU2RThGNjhDCis6MTA2QTQwMDAwNTU5NTlFQjAyRUIwMDZBMDE1NkU4QzdGODU5NTlCRkRFCis6MTA2QTUwMDAwMTAwRUIzODY4REQwMjU2RThEQzA1NTk1OTZBMDE1NjM5Cis6MTA2QTYwMDBFOEIxRjg1OTU5QkYwMTAwRUIyMkI4RDAzMDhCRjg4OTUyCis6MTA2QTcwMDA0NDU0OEE0NDYwODg0NDVERUIxMkI4RTAyMDhCRjg4OTY2Cis6MTA2QTgwMDA0NDU0OEE0NDVFODg0NDVERUIwMkVCMDBFQjAyRUIwMDY5Cis6MTA2QTkwMDBFQjAwRTk0MUZDNUY1RUM5QzMxOTZBMjQ2QTJGNkEzQUI4Cis6MTA2QUEwMDA2QTAwMDAwMTAwMDIwMDA0MDA0MTAwNDIwMDQzMDA0NDZCCis6MTA2QUIwMDAwMDgwMDA4MTAwODIwMEZGMDAxNzY5NTQ2QTdBNkFBNThECis6MTA2QUMwMDA2OTUyNjk5NDY5NkE2QTY3Njk1MjY5N0Y2OTY3Njk0QzQyCis6MTA2QUQwMDA2OUY0Njg3NjY4QjI2OEVFNjhGNTY3MDA2ODEyNjhGNTcwCis6MTA2QUUwMDA2NzlENjdBODY3QjQ2NzlENjcwMDAwMDEwMEYwMTBFMDJDCis6MTA2QUYwMDAyMEQwMzAyNzY4RjI2NkMzNjcyMzY3MTI2N0M4MDQwMDk2Cis6MTA2QjAwMDAwMDU2NTc4Qjc2MDQ4QTQ0NTk5ODg5NDZGQzZBMDk4QjRCCis6MTA2QjEwMDA0NkZDMDU4NDAxNTBFODkzMDg1OTU5OEJGODhCQzcyNTJBCis6MTA2QjIwMDAwMEYwM0QwMDEwNzU1NThCQzcyNUYwMDAzREYwMDA3NTU1Cis6MTA2QjMwMDA0QjhCQzcyNTAwMEZDMUY4MDg4OTQ2RkU4QjQ0MDQzQkU4Cis6MTA2QjQwMDA0NkZFN0QwNTMzQzBFOUVGMDA4QkM3MjUwRjAwQkEwRjY1Cis6MTA2QjUwMDAwMDJCRDAzQjU2RkU3NDA1MzNDMEU5REIwMEM3NDQwMjZFCis6MTA2QjYwMDAwNDA5OEE0NkZFODg0NDVGODg0NDVEOEI1RUZDRDFFMzVECis6MTA2QjcwMDBDNzg3RkMwODA0MDlCOEYwMTBFOUJDMDA4QkM3MjUwMEUyCis6MTA2QjgwMDBGMDNEMDAyMDc1NTI4QkM3MjVGMDAwM0RFMDAwNzU0OEIwCis6MTA2QjkwMDA4QkM3MjUwMDBGQzFGODA4ODk0NkZFODM3RUZFMDg3RTVDCis6MTA2QkEwMDAwNTMzQzBFOTkyMDA4QkM3MjUwRjAwQkEwRjAwMkJEMDI4Cis6MTA2QkIwMDAzQjU2RkU3NDA1MzNDMEVCN0Y5MEM3NDQwMjBDMDk4QTM0Cis6MTA2QkMwMDA0NkZFODg0NDVFODg0NDVEOEI1RUZDRDFFM0M3ODdGQzRCCis6MTA2QkQwMDAwODBDMDlCOEUwMjBFQjYwOEJDNzI1MDBGMDNEMDAzMEMxCis6MTA2QkUwMDA3NTUyOEJDNzI1RjAwMDNERDAwMDc1NDg4QkM3MjUwMDM2Cis6MTA2QkYwMDAwRkMxRjgwODg5NDZGRThCNDQwNDNCNDZGRTdEMDQzM0YyCis6MTA2QzAwMDBDMEVCMzU4QkM3MjUwRjAwQkEwRjAwMkJEMDNCNTZGRUNCCis6MTA2QzEwMDA3NDA0MzNDMEVCMjJDNzQ0MDIxNDA5OEE0NkZFODg0NDM4Cis6MTA2QzIwMDA2MDg4NDQ1RDhCNUVGQ0QxRTNDNzg3RkMwODE0MDlCODFCCis6MTA2QzMwMDBEMDMwRUIwNDMzQzBFQjAwNUY1RUM5QzNDODA2MDAwMDcwCis6MTA2QzQwMDA1NjhCNzYwNDZBMDg1NkU4MzUwNDU5NTk4QTQ0NTgwNDI0Cis6MTA2QzUwMDA4MDUwNTZFODI5MDQ1OTU5OEI0NDU0M0I0NDU2NzUwQUQwCis6MTA2QzYwMDA4QTQ0NUQzQTQ0MkY3NTAyRUI2NDhCNDQ1NDg5NDQ1NjQwCis6MTA2QzcwMDA4QjVDMDI4QTQ3MDE4ODQ0MkY4QTQ0NURCNDAwQzFFMERFCis6MTA2QzgwMDAwODhCNTQ1NDBCRDA4QTQ0NURCNDAwQkIwRjAwMkJEODQyCis6MTA2QzkwMDAwQkQzODk1NkZFNkExMDhBNDQ1OTk4MDUwNDAwOTkwNTU5Cis6MTA2Q0EwMDA0MDAxODNEMjAwNTI1MEU4NTQwODgzQzQwNjg5NTZGQzQwCis6MTA2Q0IwMDA4OTQ2RkE4QjQ2RkUwOTQ2RkE4MzRFRkMwMDZBMTlGRkE0Cis6MTA2Q0MwMDA3NkZDRkY3NkZBRTg3MzA3ODNDNDA2RThGRTA3NUVDOTIwCis6MTA2Q0QwMDBDM0M4MUMwMDAwNTY1NzhCNUUwNDhBNDc1OTk4OEJGMDM2Cis6MTA2Q0UwMDA4QjVFMDQ4QTQ3NURCNDAwODk0NkU2ODM3RUU2MDA3REJDCis6MTA2Q0YwMDAwQThCNUUwNDhCNDcwNDQ4ODk0NkU2OEI1RTA0OEI0NzBCCis6MTA2RDAwMDAwNDNCNDZFNjdGMDVDNzQ2RTYwMDAwOEI1RTA0OEE0NkU0Cis6MTA2RDEwMDBFNjg4NDc1RDhCREVEMUUzOEI5RjU5MDJDNjQ3MDIyMDkwCis6MTA2RDIwMDA4QkRFRDFFMzhCOUY1OTAyQzY0NzAzMzA4QkRFRDFFMzY0Cis6MTA2RDMwMDA4QjlGNjEwMkM2NDcwMjIwOEJERUQxRTM4QjlGNjEwMkVECis6MTA2RDQwMDBDNjQ3MDMzMDhCNDZFNjg5NDZGQTgzN0VGQTAwNzQxOEZDCis6MTA2RDUwMDA4QjQ2RkFCQjBBMDAzM0QyRjdGMzgwQzIzMDhCREVEMTA4Cis6MTA2RDYwMDBFMzhCOUY1OTAyODg1NzAzQkIwQTAwOEI0NkZBMzNEMjQ0Cis6MTA2RDcwMDBGN0YzODk0NkZBODM3RUZBMDA3NDE4OEI0NkZBQkIwQTQ5Cis6MTA2RDgwMDAwMDMzRDJGN0YzODBDMjMwOEJERUQxRTM4QjlGNTkwMjAwCis6MTA2RDkwMDA4ODU3MDI4QjQ2RTY4OTQ2RkE4MzdFRkEwMDc0MTg4QjgwCis6MTA2REEwMDA0NkZBQkIwQTAwMzNEMkY3RjM4MEMyMzA4QkRFRDFFMzYwCis6MTA2REIwMDA4QjlGNjEwMjg4NTcwM0JCMEEwMDhCNDZGQTMzRDJGN0Q4Cis6MTA2REMwMDBGMzg5NDZGQTgzN0VGQTAwNzQxODhCNDZGQUJCMEEwMEYwCis6MTA2REQwMDAzM0QyRjdGMzgwQzIzMDhCREVEMUUzOEI5RjYxMDI4ODIwCis6MTA2REUwMDA1NzAyOEI1RUU2RDFFM0ZGQjcxMjAyNkEwMEZGNzYwNDFBCis6MTA2REYwMDBFOEQxRjY4M0M0MDY2OEQzMEY2QTAxRkY3NjA0RThDM0JFCis6MTA2RTAwMDBGNjgzQzQwNkZGNzZFNjU2RTgwMTkzNTk1OTg5NTZGMjhGCis6MTA2RTEwMDA4OTQ2RjBGRjc2RTY1NkU4MTQ5MzU5NTk4OTU2RUU4OTZCCis6MTA2RTIwMDA0NkVDOUNGQUM0NUVGMDI2OEIwNzg5NDZFQUM0NUVFQzA5Cis6MTA2RTMwMDAyNjhCMDc4OTQ2RThCQTUwRkZFRDg5NDZGRTlEQzc0Njc2Cis6MTA2RTQwMDBFNDAxMDBFOEVFQTBCQTUwRkZFRDg5NDZGQzhCNDZGQzU5Cis6MTA2RTUwMDAyQjQ2RkUzREU4MDM3MzAzRTk4MDAxOUNGQUJBNTBGRjFDCis6MTA2RTYwMDBFRDg5NDZGQzhCNDZGQzJCNDZGRTg5NDZGOEM0NUVGMDU1Cis6MTA2RTcwMDAyNjhCMDcyQjQ2RUE4OTQ2RjZDNDVFRjAyNjhCMDc4OUU3Cis6MTA2RTgwMDA0NkVBQzQ1RUVDMjY4QjA3MkI0NkU4ODk0NkY0QzQ1RUNFCis6MTA2RTkwMDBFQzI2OEIwNzg5NDZFOEJBNTBGRkVEODk0NkZFOUQ4MUI2Cis6MTA2RUEwMDA3RUY4RTgwMzc2MUNGRjc2RjhGRjc2RjZFODc2MDE1OTVGCis6MTA2RUIwMDA1OTg5NDZGNkZGNzZGOEZGNzZGNEU4NjgwMTU5NTk4OTUyCis6MTA2RUMwMDA0NkY0QkYwRTAwRUIxNzhCREVEMUUzOEI5RjU5MDJDNjUxCis6MTA2RUQwMDAwMTIwOEJERUQxRTM4QjlGNjEwMkM2MDEyMDQ3ODNGRjM3Cis6MTA2RUUwMDAxMTc2RTQ4QkRFRDFFMzhCOUY1OTAyQzY0NzBEMzA4QkMwCis6MTA2RUYwMDBERUQxRTM4QjlGNjEwMkM2NDcwRDMwODM3RUY2MDk3N0IyCis6MTA2RjAwMDAwNUI4MEQwMEVCMjY4MzdFRjY2Mzc3MDVCODBFMDBFQjFGCis6MTA2RjEwMDAxQjgxN0VGNkU3MDM3NzA1QjgwRjAwRUIwRjgxN0VGNjQ1Cis6MTA2RjIwMDAwRjI3NzcwNUI4MTAwMEVCMDNCODExMDA4QkY4RUIyNTlECis6MTA2RjMwMDA4QjQ2RjZCQjBBMDAzM0QyRjdGMzgwQzIzMDhCREVEMTJBCis6MTA2RjQwMDBFMzhCOUY1OTAyODgxMTRGQkIwQTAwOEI0NkY2MzNEMjYwCis6MTA2RjUwMDBGN0YzODk0NkY2ODM3RUY2MDA3NUQ1ODM3RUY0MDk3N0NDCis6MTA2RjYwMDAwNUI4MEQwMEVCMjY4MzdFRjQ2Mzc3MDVCODBFMDBFQkMxCis6MTA2RjcwMDAxQjgxN0VGNEU3MDM3NzA1QjgwRjAwRUIwRjgxN0VGNEU5Cis6MTA2RjgwMDAwRjI3NzcwNUI4MTAwMEVCMDNCODExMDA4QkY4RUIyNTNECis6MTA2RjkwMDA4QjQ2RjRCQjBBMDAzM0QyRjdGMzgwQzIzMDhCREVEMUNDCis6MTA2RkEwMDBFMzhCOUY2MTAyODgxMTRGQkIwQTAwOEI0NkY0MzNEMkZBCis6MTA2RkIwMDBGN0YzODk0NkY0ODM3RUY0MDA3NUQ1OEJERUQxRTNGRkM5Cis6MTA2RkMwMDBCNzU5MDJGRjc2MDRFODZFMDA1OTU5OEJERUQxRTNGRjEyCis6MTA2RkQwMDBCNzYxMDJGRjc2MDRFODVFMDA1OTU5NkEwMEZGNzYwNDQzCis6MTA2RkUwMDBFODMxRjM1OTU5OEJEODgzRkIwNDc3MUZEMUUzMkVGRjg3Cis6MTA2RkYwMDBBNzFCNzBFQjIyQzc0NkU0MDAwMEZGNEVFNkVCMENDNzcwCis6MTA3MDAwMDA0NkU0MDAwMEZGNDZFNkVCMDJFQjAwODM3RUU0MDA3NEZBCis6MTA3MDEwMDAwM0U5MkFGRUU5RDRGQzVGNUVDOUMzRjM2RkY1NkZGRjk1Cis6MTA3MDIwMDA2RkYzNkYwOTcwNTU4QkVDOEI0NjA0QjlFODAzRjdFMUY5Cis6MTA3MDMwMDA4QjRFMDZGN0YxNURDMzU1OEJFQzU2OEI3NjA2RUIwRTQ3Cis6MTA3MDQwMDA4QkRFNDY4QTA3NTBGRjc2MDRFODMzMDA1OTU5ODAzQ0FFCis6MTA3MDUwMDAwMDc1RURFQjAwNUU1REMzNTU4QkVDNTY4Qjc2MDZFQjUxCis6MTA3MDYwMDAxNDhCREU0NjhBMDc1MEZGNzYwNEU4NDUwMDU5NTkwQjE5Cis6MTA3MDcwMDBDMDc0MDJFQjA3ODAzQzAwNzVFN0VCMDA1RTVEQzNDODlGCis6MTA3MDgwMDAwMjAwMDA1NjhCNzYwNDhBNDQ1QTk4ODk0NkZFOUNGQTgwCis6MTA3MDkwMDA4QTQ2RkVCQUZFMDBFRUJBMDIwMEVDQTgwMjc0MDY5RDEzCis6MTA3MEEwMDBFODkxOUVFQkU5QkEwMDAwOEE0NjA2RUU5REVCMDA1RTkxCis6MTA3MEIwMDBDOUMzQzgwNDAwMDA1NjhCNzYwNDhBNDQ1QTk4ODk0NjhFCis6MTA3MEMwMDBGRUU4RTZBMTg5NDZGQ0U4RTBBMTJCNDZGQzNEQjgwQkIyCis6MTA3MEQwMDA3NjA1QjgwMTAwRUIyMzlDRkE4QTQ2RkVCQUZFMDBFRTY0Cis6MTA3MEUwMDBCQTAyMDBFQ0E4MDI3NDA2OURFODQ4OUVFQkQ5QkEwMEVCCis6MTA3MEYwMDAwMDhBNDYwNkVFOUQzM0MwRUIwMDVFQzlDM0M4MDQwMDlCCis6MTA3MTAwMDAwMDU2NTc4Qjc2MDQ4MzdFMDYwMDc0MDc1NkU4MDMwMTA5Cis6MTA3MTEwMDA1OUVCMDU1NkU4QTIwMDU5ODg0NkZGODA3RUZGMDg3N0E0Cis6MTA3MTIwMDAwNjhBNDZGRkU5ODQwMDgwN0VGRjBGNzYwM0VCNzk5MEE0Cis6MTA3MTMwMDA4QTQ2RkZCNDAwMkQwQTAwOEJEODgzRkIwNDc3NjdEMTAxCis6MTA3MTQwMDBFMzJFRkZBN0FGNzFCMDAwRUI2MTU2RTg2QjAwNTlCNEI2Cis6MTA3MTUwMDAwMDI1MEYwMDg5NDZGQzU2RTg1RTAwNTlCNDAwOEJGODA0Cis6MTA3MTYwMDA1NkU4NTUwMDU5QjQwMEMxRTAwODhCRDcwM0QwOEJGQTFDCis6MTA3MTcwMDA4QjVFRkNEMUUzODk3ODMwRUIyRTU2RTgzQjAwNTk4OEQyCis6MTA3MTgwMDA0NDVCRUIyNDU2RTgzMTAwNTk4ODQ0NTA1NkU4MjkwMDA2Cis6MTA3MTkwMDA1OTg4NDQ1MTU2RTgyMTAwNTk4ODQ0NTI1NkU4MTkwMDRDCis6MTA3MUEwMDA1OTg4NDQ1M0VCMDJFQjAwRTk1QkZGNUY1RUM5QzM0NkJECis6MTA3MUIwMDA3MUE2NzE0QTcxN0E3MTg0NzFDODA0MDAwMDU2OEI3Njg5Cis6MTA3MUMwMDAwNDhBNDQ1QTk4ODk0NkZFOUNGQThBNDZGRUJBRkUwMDEyCis6MTA3MUQwMDBFRUJBMDIwMEVDQTgwMTc1MDY5REU4NTc5REVCRTlCQUVFCis6MTA3MUUwMDAwMDAwRUM4ODQ2RkQ5RDhBNDZGREVCMDA1RUM5QzNDOEUxCis6MTA3MUYwMDAwMjAwMDA1NjhCNzYwNDhBNDQ1QTk4ODk0NkZFOUNGQTBGCis6MTA3MjAwMDA4QTQ2RkVCQUZFMDBFRUJBMDIwMEVDMzJFNDI0MDE5RDhBCis6MTA3MjEwMDA1RUM5QzNDODA2MDAwMDU2OEI3NjA0OEE0NDVBOTg4OTEyCis6MTA3MjIwMDA0NkZFRTg4NUEwODk0NkZBRTg3RkEwMkI0NkZBM0RCOERECis6MTA3MjMwMDAwQjc2MDRCMDA4RUIyNDlDRkE4QTQ2RkVCQUZFMDBFRUY4Cis6MTA3MjQwMDBCQTAyMDBFQ0E4MDE3NTA2OURFOEU4OUNFQkRBQkEwMEVBCis6MTA3MjUwMDAwMEVDODg0NkZEOUQ4QTQ2RkRFQjAwNUVDOUMzNTU4QjU4Cis6MTA3MjYwMDBFQzU2OEI1NjA0OEE0NjA2RUUzM0Y2RUIwMzUwNTg0NjJFCis6MTA3MjcwMDA4M0ZFMTQ3Q0Y4NUU1REMzQzgwMjAwMDA1NjhCNTYwNDgyCis6MTA3MjgwMDBFQzg4NDZGRjMzRjZFQjAzNTA1ODQ2ODNGRTE0N0NGODM3Cis6MTA3MjkwMDA4QTQ2RkZFQjAwNUVDOUMzQzgwMjAwMDA1NjU3OEI3NkQyCis6MTA3MkEwMDAwNDgzM0VCMDBCMDA3NTFGQkE4ODAxQjAwMEVFQkE4NkE5Cis6MTA3MkIwMDAwMUIwMDBFRTZBMDk2QTAwNjgzMDAxRTg3RDAxODNDNDBDCis6MTA3MkMwMDAwNkM3MDZCMDBCMDEwMDZBMDk4QkM2MDU4MDAxNTBFOEFECis6MTA3MkQwMDBEQTAwNTk1OThCRjg4QkM3QzFFODBDMjUwRjAwODk0Njk1Cis6MTA3MkUwMDBGRThCQzdDMUU4MDgyNTBGMDA4QjU2RkU4M0YyMEMzQkNFCis6MTA3MkYwMDBDMjc1MjE4QkM3QzFFODA0MjUwRjAwOEI1NkZFODNGMkFGCis6MTA3MzAwMDAwNjNCQzI3NTBGOEJDNzI1MEYwMDhCNTZGRTgzRjIwOTEzCis6MTA3MzEwMDAzQkMyNzQwRDZBMDc1NkU4MzgwMDU5NTlDNzQ2RkUwNzQ0Cis6MTA3MzIwMDAwMDhBNDZGRTA0ODBBMjMzMDI4QkM2QkE2MjAwRjdFQUU2Cis6MTA3MzMwMDA4QTU2RkU4QkQ4ODg5NzZDMDA2ODMyMDI4QkM2QkE2Mjc4Cis6MTA3MzQwMDAwMEY3RUEwNTE0MDA1MEU4MEVGRDU5NTlFQjAwNUY1RUE2Cis6MTA3MzUwMDBDOUMzQzgwMjAwMDA1NjhCNzYwNjgzRTYwRjhCQzZDMUYwCis6MTA3MzYwMDBFMDBDOEJENjgzRjIwQ0MxRTIwODBCQzI4QkQ2ODNGMjAxCis6MTA3MzcwMDAwNkMxRTIwNDBCQzI4QkQ2ODNGMjA5MEJDMjg5NDZGRTFBCis6MTA3MzgwMDA2QTE5NkExMDhCNDYwNDk5MDU0MDAxODNEMjAwNTI1MDU1Cis6MTA3MzkwMDBFODZCMDE4M0M0MDYwQjQ2RkU4M0NBMDA1MjUwRTg5QThDCis6MTA3M0EwMDAwMDgzQzQwNkU4MjUwMUVCMDA1RUM5QzM1NThCRUM1NjhCCis6MTA3M0IwMDA1NzMzRkY2QTAxNjg4NjAxRThBM0ZFNTk1OUIxMTAyQUM0Cis6MTA3M0MwMDA0RTA2RDM2NjA0MzNGNkVCMkU4MTdFMDQwMDgwNzIwNEYxCis6MTA3M0QwMDBCMDAxRUIwMkIwMDA1MDY4ODgwMUU4ODFGRTU5NTk2QTlCCis6MTA3M0UwMDAwMzY4ODYwMUU4NzdGRTU5NTk2QTAxNjg4NjAxRTg2REVECis6MTA3M0YwMDBGRTU5NTlEMTY2MDQ0NjNCNzYwNjdDQ0QzM0Y2RUIyNDI0Cis6MTA3NDAwMDBEMUU3NkEwMzY4ODYwMUU4NTRGRTU5NTk2QTAxNjg4NjIzCis6MTA3NDEwMDAwMUU4NEFGRTU5NTk2ODg4MDFFODVDRkU1OTk4MjUwMTNGCis6MTA3NDIwMDAwMDBCRjg0NjgzRkUxMDdDRDc2QTAwNjg4NjAxRTgyREMxCis6MTA3NDMwMDBGRTU5NTk4QkM3RUIwMDVGNUU1REMzNTU4QkVDNTY1NzA5Cis6MTA3NDQwMDA4QjdFMDg2QTAxNjg4NjAxRTgxM0ZFNTk1OUI4MjAwMDRFCis6MTA3NDUwMDAyQkM3NTBGRjc2MDZGRjc2MDRFOEEyMDA4M0M0MDY4OTk2Cis6MTA3NDYwMDA1NjA2ODk0NjA0MzNGNkVCNDc4MTdFMDYwMDgwNzIwQzhGCis6MTA3NDcwMDA3NTA2ODM3RTA0MDA3MjA0QjAwMUVCMDJCMDAwNTA2ODEwCis6MTA3NDgwMDA4ODAxRThEOUZENTk1OTZBMDM2ODg2MDFFOENGRkQ1OTlBCis6MTA3NDkwMDA1OTZBMDE2ODg2MDFFOEM1RkQ1OTU5NkEwMUZGNzYwNkY3Cis6MTA3NEEwMDBGRjc2MDRFODU4MDA4M0M0MDY4OTU2MDY4OTQ2MDQ0NkQ4Cis6MTA3NEIwMDAzQkY3N0NCNTZBMDA2ODg2MDFFOEEyRkQ1OTU5NkEwMDZECis6MTA3NEMwMDA2ODg2MDFFODk4RkQ1OTU5NUY1RTVEQzM1NThCRUM1NjlGCis6MTA3NEQwMDA2QTAxNjg4NjAxRTg4NkZENTk1OTMzRjZFQjAwNjg4ODMxCis6MTA3NEUwMDAwMUU4OTRGRDU5QTgwMTc1MDg4QkM2NDYzRDY0MDA3Q0VGCis6MTA3NEYwMDBFRDZBMDA2ODg2MDFFODY1RkQ1OTU5NUU1REMzQzgwNDAwCis6MTA3NTAwMDAwMDAwOEI0NjA0OEI1NjA2OEI0RTA4RTMwNkQxRTBEMTczCis6MTA3NTEwMDBEMkUyRkE4OTQ2RkM4OTU2RkU4QjU2RkU4QjQ2RkNFQjdFCis6MTA3NTIwMDAwMEM5QzMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENGCis6MTA3NTMwMDA1MDcyNjU3NjY5NkY3NTczMjA0RDY1NkU3NTAwNDI2NTkyCis6MTA3NTQwMDA2NzY5NkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEZECis6MTA3NTUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJCCis6MTA3NTYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFCCis6MTA3NTcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCCis6MTA3NTgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEZCCis6MTA3NTkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVCCis6MTA3NUEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERCCis6MTA3NUIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENCCis6MTA3NUMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEJCCis6MTA3NUQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEFCCis6MTA3NUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDlCCis6MTA3NUYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhCCis6MTA3NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdBCis6MTA3NjEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDZBCis6MTA3NjIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDVBCis6MTA3NjMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRBCis6MTA3NjQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNBCis6MTA3NjUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJBCis6MTA3NjYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFBCis6MTA3NjcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBCis6MTA3NjgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEZBCis6MTA3NjkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVBCis6MTA3NkEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERBCis6MTA3NkIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENBCis6MTA3NkMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1MDZGNzI3NDE1Cis6MTA3NkQwMDAyMDMwMDA1MDZGNzI3NDIwMzEwMDUwNkY3Mjc0MjAzMjZECis6MTA3NkUwMDAwMDUwNkY3Mjc0MjAzMzAwNTA2RjcyNzQyMDM0MDA1MDU5Cis6MTA3NkYwMDA2RjcyNzQyMDM1MDA1MDZGNzI3NDIwMzYwMDUwNkY3MkI0Cis6MTA3NzAwMDA3NDIwMzcwMDUwNkY3Mjc0MjAzODAwNTA2RjcyNzQyMEVDCis6MTA3NzEwMDAzOTAwNTA2RjcyNzQyMDMxMzAwMDUwNkY3Mjc0MjAzMTE0Cis6MTA3NzIwMDAzMTAwNTA2RjcyNzQyMDMxMzIwMDUwNkY3Mjc0MjAzMTBBCis6MTA3NzMwMDAzMzAwNTA2RjcyNzQyMDMxMzQwMDUwNkY3Mjc0MjAzMUY2Cis6MTA3NzQwMDAzNTAwOUMwMUEzMDFBQTAxQjEwMUI4MDFCRjAxQzYwMTI2Cis6MTA3NzUwMDBDRDAxRDQwMURCMDFFMjAxRUEwMUYyMDFGQTAxMDIwMkVBCis6MTA3NzYwMDAwQTAyMDgwMDAwMDc4MTAwMDM4MDgwODA5RjkxOTU5MUE0Cis6MTA3NzcwMDA5RjAwMDM4MTg0OEU5NTg0ODQ4NDg0MDAwMzgyODQ4NEEyCis6MTA3NzgwMDA4NDg0OTU4RTg0MDAwNDg4MDBCMjBCQzYwQkRBMEJFRTVECis6MTA3NzkwMDAwQjAyMEMxNjBDMkEwQzNFMEM1MjBDNzcwQzlDMENCRUU3Cis6MTA3N0EwMDAwQ0UwMEMwMjBEMDE4MDIwNTQ2NTczNzQyMDUwNjE3MzRECis6MTA3N0IwMDA3MzY1NjQyMDFGMjA1MDcyNjU3MzczMjA4MDAyMDAwMTdFCis6MTA3N0MwMDA4MDIwNEQ2OTczNzM2OTZFNjcyMDUyNzgyMDQ0NjE3NDFDCis6MTA3N0QwMDA2MTFGMjA1MDcyNjU3MzczMjA4MDAyMDAwMTgwMjA0Mjc3Cis6MTA3N0UwMDA2MTY0MjA1Mjc4MjA0NDYxNzQ2MTIwMUYyMDUwNzI2NUNBCis6MTA3N0YwMDA3MzczMjA4MDAyMDAwMTgwMjA1ODZENzQ3MjIwNDI3NURFCis6MTA3ODAwMDA3Mzc5MUYyMDUwNzI2NTczNzMyMDgwMDIwMDAxODAyMEZECis6MTA3ODEwMDA2RTZGNzQyMDYzNzU3MjcyNjU2RTc0NkM3OTFGMjAyMEIwCis6MTA3ODIwMDA2OTZENzA2QzY1NkQ2NTZFNzQ2NTY0MDIwMDI0MEQyRjYyCis6MTA3ODMwMDAwRDNBMEQ0NTBENTAwRDVCMEQ2NjBENzEwRDdDMEQ4N0RDCis6MTA3ODQwMDAwRDkyMEQ5RDBEQTgwREIzMERCRTBEQzkwRDUzODAyQ0NECis6MTA3ODUwMDAzMjU0NDQyMDUzODYyQzMzNDQ1NDUyMjA1MzgyMkMzM0M4Cis6MTA3ODYwMDA1MjU0NTMyMDFGNTM4MTJDMzI1MjQ0MjA1Mzg1MkMzMkMyCis6MTA3ODcwMDA0MzQ0MjA1MzgzMkMzMzQzNTQ1MzIwNTM4NDJDMzM0NEE4Cis6MTA3ODgwMDA1MzUyMjA1Mzg3MkMzMjUyNDkyNzAyMDAwMTgwMjAyMDc2Cis6MTA3ODkwMDA0NDQzNDQyMDJEMjA3MDY5NkUyMDMyMzAxRjI3NTM4NUM5Cis6MTA3OEEwMDAyRTMxODE4MjYzOTA4MDgxODI4Mzg0ODU4Njg3ODg4OTU2Cis6MTA3OEIwMDA4QThCOEM4RDhFOEYyNzAyMDAwMTgwMjAyMDQ0NTM1MkFBCis6MTA3OEMwMDAyMDJEMjA3MDY5NkUyMDMxMzExRjI3NTM4NDJFMzE4MTg1Cis6MTA3OEQwMDA4MjYzOTA4MDgxODI4Mzg0ODU4Njg3ODg4OThBOEI4QzY1Cis6MTA3OEUwMDA4RDhFOEYyNzAyMDAwMTgwMjAyMDQzNTQ1MzIwMkQyMEFECis6MTA3OEYwMDA3MDY5NkUyMDM0MUYyNzUzODMyRTMxODE4MjYzOTA4MEZDCis6MTA3OTAwMDA4MTgyODM4NDg1ODY4Nzg4ODk4QThCOEM4RDhFOEYyNzU4Cis6MTA3OTEwMDAwMjAwMDE4MDIwMjA1MjQ5MjAyRDIwNzA2OTZFMjAzMjAzCis6MTA3OTIwMDAzMjFGMjc1Mzg3MkUzMTgxODI2MzkwODA4MTgyODM4NDI2Cis6MTA3OTMwMDA4NTg2ODc4ODg5OEE4QjhDOEQ4RThGMjcwMjAwMDE4MEFGCis6MTA3OTQwMDAyMDIwNDQ1NDUyMjAyRDIwNzA2OTZFMjAzNjJGMzgxRjdECis6MTA3OTUwMDAyNzUzODYyRTMxODE4MjYzOTA4MDgxODI4Mzg0ODU4NjNECis6MTA3OTYwMDA4Nzg4ODk4QThCOEM4RDhFOEYyNzAyMDAwMTgwMjAyMDRBCis6MTA3OTcwMDA1MjU0NTMyMDJEMjA3MDY5NkUyMDM1MUYyNzUzODIyRUJDCis6MTA3OTgwMDAzMTgxODI2MzkwODA4MTgyODM4NDg1ODY4Nzg4ODk4QTE5Cis6MTA3OTkwMDA4QjhDOEQ4RThGMjcwMjAwMDE4MDIwMjA1Mjc4NDQyMDBFCis6MTA3OUEwMDAyRDIwNzA2OTZFMjAzMjFGMjc1MzgxMkUzMDUzNEQ4MTU4Cis6MTA3OUIwMDA4MjYzOTA4MDgxODI4Mzg0ODU4Njg3ODg4OThBOEI4Qzg0Cis6MTA3OUMwMDA4RDhFOEYyNzAyMDAwMTgwMjAyMDU0Nzg0NDIwMkQyMEE2Cis6MTA3OUQwMDA3MDY5NkUyMDMzMUYyNzUzODAyRTMwNTM0RDgxODI2MzkwCis6MTA3OUUwMDA5MDgwODE4MjgzODQ4NTg2ODc4ODg5OEE4QjhDOEQ4RTFFCis6MTA3OUYwMDA4RjI3MDIwMDAxODAyMDIwNDQ0MzQ0MjAyRDIwNzA2OUZECis6MTA3QTAwMDA2RTIwMzUxRjI3NTM4NTJFMzE4MTgyNjM5MDgwODE4MkJECis6MTA3QTEwMDA4Mzg0ODU4Njg3ODg4OThBOEI4QzhEOEU4RjI3MDIwMDQ4Cis6MTA3QTIwMDAwMTgwMjAyMDQ0NTM1MjIwMkQyMDcwNjk2RTIwMzUxRjg0Cis6MTA3QTMwMDAyNzUzODQyRTMxODE4MjYzOTA4MDgxODI4Mzg0ODU4NjVFCis6MTA3QTQwMDA4Nzg4ODk4QThCOEM4RDhFOEYyNzAyMDAwMTgwMjAyMDY5Cis6MTA3QTUwMDA0MzU0NTMyMDJEMjA3MDY5NkUyMDMxMUYyNzUzODMyRUVECis6MTA3QTYwMDAzMTgxODI2MzkwODA4MTgyODM4NDg1ODY4Nzg4ODk4QTM4Cis6MTA3QTcwMDA4QjhDOEQ4RThGMjcwMjAwMDE4MDIwMjA1MjQ5MjAyRDczCis6MTA3QTgwMDAyMDI4NkUyRTYzMkUyOTFGMjc1Mzg3MkUzMTgxODI2MzczCis6MTA3QTkwMDA5MDgwODE4MjgzODQ4NTg2ODc4ODg5OEE4QjhDOEQ4RTZECis6MTA3QUEwMDA4RjI3MDIwMDAxODAyMDIwNDQ1NDUyMjAyRDIwNzA2OTJECis6MTA3QUIwMDA2RTIwMzIxRjI3NTM4NjJFMzE4MTgyNjM5MDgwODE4MjBGCis6MTA3QUMwMDA4Mzg0ODU4Njg3ODg4OThBOEI4QzhEOEU4RjI3MDIwMDk4Cis6MTA3QUQwMDAwMTgwMjAyMDUyNTQ1MzIwMkQyMDcwNjk2RTIwMzcxRkMyCis6MTA3QUUwMDAyNzUzODIyRTMxODE4MjYzOTA4MDgxODI4Mzg0ODU4NkIwCis6MTA3QUYwMDA4Nzg4ODk4QThCOEM4RDhFOEYyNzAyMDAwMTgwMjAyMEI5Cis6MTA3QjAwMDA1Mjc4NDQyMDJEMjA3MDY5NkUyMDM2MUYyNzUzODEyRTE1Cis6MTA3QjEwMDAzMDUzNEQ4MTgyNjM5MDgwODE4MjgzODQ4NTg2ODc4OEZCCis6MTA3QjIwMDA4OThBOEI4QzhEOEU4RjI3MDIwMDAxODAyMDIwNTQ3OENCCis6MTA3QjMwMDA0NDIwMkQyMDcwNjk2RTIwMzMxRjI3NTM4MDJFMzA1MzMwCis6MTA3QjQwMDA0RDgxODI2MzkwODA4MTgyODM4NDg1ODY4Nzg4ODk4QTNCCis6MTA3QjUwMDA4QjhDOEQ4RThGMjcwMjAwMDE4MDIwMjA0NDQzNDQyMDhGCis6MTA3QjYwMDAyRDIwNzA2OTZFMjAzNTFGMjAyMDIwMjAyNzUzODUyRTYwCis6MTA3QjcwMDAzMTgxODI2Mzg4ODA4MTgyODM4NDg1ODY4NzI3MDIwMEExCis6MTA3QjgwMDAwMTgwMjAyMDQ0NTM1MjIwMkQyMDcwNjk2RTIwMzUxRjIzCis6MTA3QjkwMDAyMDIwMjAyMDI3NTM4NDJFMzE4MTgyNjM4ODgwODE4Mjk3Cis6MTA3QkEwMDA4Mzg0ODU4Njg3MjcwMjAwMDE4MDIwMjA0MzU0NTMyMDQ4Cis6MTA3QkIwMDAyRDIwNzA2OTZFMjAzMTFGMjAyMDIwMjAyNzUzODMyRTE2Cis6MTA3QkMwMDAzMTgxODI2Mzg4ODA4MTgyODM4NDg1ODY4NzI3MDIwMDUxCis6MTA3QkQwMDAwMTgwMjAyMDUyNDkyMDJEMjAyODZFMkU2MzJFMjkxRjNGCis6MTA3QkUwMDAyMDIwMjAyMDI3NTM4NzJFMzE4MTgyNjM4ODgwODE4MjQ0Cis6MTA3QkYwMDA4Mzg0ODU4Njg3MjcwMjAwMDE4MDIwMjA0NDU0NTIyMEY4Cis6MTA3QzAwMDAyRDIwNzA2OTZFMjAzMjFGMjAyMDIwMjAyNzUzODYyRUMxCis6MTA3QzEwMDAzMTgxODI2Mzg4ODA4MTgyODM4NDg1ODY4NzI3MDIwMDAwCis6MTA3QzIwMDAwMTgwMjAyMDUyNTQ1MzIwMkQyMDcwNjk2RTIwMzcxRjcwCis6MTA3QzMwMDAyMDIwMjAyMDI3NTM4MjJFMzE4MTgyNjM4ODgwODE4MkY4Cis6MTA3QzQwMDA4Mzg0ODU4Njg3MjcwMjAwMDE4MDIwMjA1Mjc4NDQyMDgzCis6MTA3QzUwMDAyRDIwNzA2OTZFMjAzNjFGMjAyMDIwMjAyNzUzODEyRTcyCis6MTA3QzYwMDAzMDUzNEQ4MTgyNjM4ODgwODE4MjgzODQ4NTg2ODcyNzEzCis6MTA3QzcwMDAwMjAwMDE4MDIwMjA1NDc4NDQyMDJEMjA3MDY5NkUyMDVECis6MTA3QzgwMDAzMzFGMjAyMDIwMjAyNzUzODAyRTMwNTM0RDgxODI2M0M0Cis6MTA3QzkwMDA4ODgwODE4MjgzODQ4NTg2ODcyNzAyMDAwMTgwMjAyMDU2Cis6MTA3Q0EwMDA0NDQzNDQyMDJEMjA3MDY5NkUyMDMyMzAxRjIwMjAyMDU0Cis6MTA3Q0IwMDAyMDI3NTM4NTJFMzE4MTgyNjM4ODgwODE4MjgzODQ4NTQ5Cis6MTA3Q0MwMDA4Njg3MjcwMjAwMDE4MDIwMjA0NDUzNTIyMDJEMjA3MEY3Cis6MTA3Q0QwMDA2OTZFMjAzMTMxMUYyMDIwMjAyMDI3NTM4NDJFMzE4MUNFCis6MTA3Q0UwMDA4MjYzODg4MDgxODI4Mzg0ODU4Njg3MjcwMjAwMDE4MDYxCis6MTA3Q0YwMDAyMDIwNDM1NDUzMjAyRDIwNzA2OTZFMjAzNDFGMjAyMEYzCis6MTA3RDAwMDAyMDIwMjc1MzgzMkUzMTgxODI2Mzg4ODA4MTgyODM4NDVGCis6MTA3RDEwMDA4NTg2ODcyNzAyMDAwMTgwMjAyMDUyNDkyMDJEMjA3MDZGCis6MTA3RDIwMDA2OTZFMjAzMjMyMUYyMDIwMjAyMDI3NTM4NzJFMzE4MTc4Cis6MTA3RDMwMDA4MjYzODg4MDgxODI4Mzg0ODU4Njg3MjcwMjAwMDE4MDEwCis6MTA3RDQwMDAyMDIwNDQ1NDUyMjAyRDIwNzA2OTZFMjAzNjJGMzgxRjc5Cis6MTA3RDUwMDAyMDIwMjAyMDI3NTM4NjJFMzE4MTgyNjM4ODgwODE4MkQzCis6MTA3RDYwMDA4Mzg0ODU4Njg3MjcwMjAwMDE4MDIwMjA1MjU0NTMyMDc3Cis6MTA3RDcwMDAyRDIwNzA2OTZFMjAzNTFGMjAyMDIwMjAyNzUzODIyRTUxCis6MTA3RDgwMDAzMTgxODI2Mzg4ODA4MTgyODM4NDg1ODY4NzI3MDIwMDhGCis6MTA3RDkwMDAwMTgwMjAyMDUyNzg0NDIwMkQyMDcwNjk2RTIwMzIxRkVGCis6MTA3REEwMDAyMDIwMjAyMDI3NTM4MTJFMzA1MzREODE4MjYzODg4MEVDCis6MTA3REIwMDA4MTgyODM4NDg1ODY4NzI3MDIwMDAxODAyMDIwNTQ3ODcxCis6MTA3REMwMDA0NDIwMkQyMDcwNjk2RTIwMzMxRjIwMjAyMDIwMjc1MzRGCis6MTA3REQwMDA4MDJFMzA1MzREODE4MjYzODg4MDgxODI4Mzg0ODU4NkEyCis6MTA3REUwMDA4NzI3MDIwMDY4MDQ5NjA0QjYwMzNDMDQwRTA0ODkwMzQ2Cis6MTA3REYwMDA1QzAzRTIwMzYwMDg4QTA4QkUwNzM4MDgwRTA4OTUwNzhFCis6MTA3RTAwMDA2QzA3RTYwNzFDMDU3NDA1RkEwNUM0MDRGMDA0Q0MwNUVDCis6MTA3RTEwMDBBMDA1NDgwNTc4MDZDODA2NDIwNzI4MDY1MDA2MTgwNzM4Cis6MTA3RTIwMDBGMDA2QTAwNjAwMDBGNDA4RjQwOEQ0MEQwNDA5MDQwOUMzCis6MTA3RTMwMDAwNDA5MDQwOTQyMDAwQzA5MUMwOUU1MEQwMjAwMTQwOTlCCis6MTA3RTQwMDAwNDA5RjQwRDQzMDAxQzA5MEMwOTA1MEUwMDA0MDQwOTgzCis6MTA3RTUwMDAxNDA5MTIwRTJDMDkyQzA5MkMwOTJDMDkwMDAwM0MwOUNDCis6MTA3RTYwMDA2QzA5MUUwRTc0MDk3NDA5NzQwOTc0MDkwMDAxNEMwOTI3Cis6MTA3RTcwMDAyQzA5MkQwRTc0MDk3NDA5NzQwOTc0MDkwMDAyNUMwOTM3Cis6MTA3RTgwMDAzQzA5M0QwRTc0MDk3NDA5NzQwOTc0MDkwMDAzNkMwOUY2Cis6MTA3RTkwMDA0QzA5NEQwRTc0MDk3NDA5NzQwOTc0MDlGRjAwMkMwOTBBCis6MTA3RUEwMDA1QzA5MDAwMDAwMDU4NDA5RUMwOTVFMEVGNDA5RjQwOTgwCis6MTA3RUIwMDBGNDA5RjQwOTAwMDY5NDA5NzQwOTY4MEVBQzBBQUMwQUM2Cis6MTA3RUMwMDBBQzBBQUMwQTAwMDdBNDA5ODQwOTcyMEVCQzBBQkMwQUY5Cis6MTA3RUQwMDBCQzBBQkMwQTAwMDhCNDA5OTQwOTdDMEVENDBBRDQwQTZFCis6MTA3RUUwMDBENDBBRDQwQTAwMEJDNDA5QTQwOTgzMEVGQzBBRkMwQUI0Cis6MTA3RUYwMDBGQzBBRkMwQTAwMENENDA5QjQwOTkwMEUxNDBCMTQwQkY0Cis6MTA3RjAwMDAxNDBCMTQwQjAwMDJFNDA5QzQwOUEwMEUyQzBCMkMwQjVCCis6MTA3RjEwMDAyQzBCMkMwQjA0MDBFQzA5RDQwOTBFMDBGRjAwNzQwOTkzCis6MTA3RjIwMDBFNDA5MDAwMDgyMDFGQzA5QTQwQUFDMEU4MjAyMDQwQUUyCis6MTA3RjMwMDBGNDA5QUYwRTgyMDMwQzBBRkMwOUIyMEU4MjA0MTQwQTgzCis6MTA3RjQwMDAwNDBBQjYwRTgyMDUxQzBBMEMwQUJDMEU4MjA2MjQwQTFDCis6MTA3RjUwMDAxNDBBQzAwRTgyMDcyQzBBMUMwQUM0MEU4MjA4MzQwQUI2Cis6MTA3RjYwMDAyNDBBQzgwRTgyMDkzQzBBMkMwQUNDMEU4MjBBNDQwQTUyCis6MTA3RjcwMDAzNDBBRDEwRTgyMTA0QzBBM0MwQUQ2MEU4MjBCNTQwQUU3Cis6MTA3RjgwMDA0NDBBREIwRTgyMTE1QzBBNEMwQUUwMEU4MjBDNjQwQTgxCis6MTA3RjkwMDA1NDBBRTUwRTgyMTI2QzBBNUMwQUVBMEU4MjBENzQwQTFCCis6MTA3RkEwMDA2NDBBRUYwRTgyMEU3QzBBNkMwQUY0MEU4MjBGODQwQUI5Cis6MTA3RkIwMDA3NDBBRkIwRTgyMTM4QzBBN0MwQTAyMEY4MjE0OTQwQTQ0Cis6MTA3RkMwMDA4NDBBMDkwRjgyMTU5QzBBOEMwQTEwMEY4MjE2QTQwQUQzCis6MTA3RkQwMDA5NDBBMTcwRjgyMTdGNDA5OUMwQTFFMEY4MjAyQjQwQTMyCis6MTA3RkUwMDBCNDBBMjYwRjgyMDNBQzBBQUMwQTJEMEY4MjAwQzQwQTIxCis6MTA3RkYwMDBDQzBBMzQwRjgyMDFDQzBBQkMwQTNGMEY4MjAyQkMwQUIxCis6MTA4MDAwMDBDNDBBNEQwRjgyMDBEQzBBRjQwQTU5MEY4MjAxRTQwQTA3Cis6MTA4MDEwMDBENDBBNjMwRjgyMDJFQzBBREMwQTZFMEY4MjAzRjQwQUIwCis6MTA4MDIwMDBFNDBBN0EwRjgyMDRENDBBRUMwQTg3MEY4MjAwMDQwQjU4Cis6MTA4MDMwMDAwQzBCOTMwRjgyMDEwQzBCRkMwQTlCMEY4MjAyRkMwQUIzCis6MTA4MDQwMDAwNDBCQTcwRjgyMDAxQzBCMjQwQkIwMEY4MjAxMjQwQjIyCis6MTA4MDUwMDAxNDBCQjUwRjgyMDIxNDBCMUMwQkJFMEY0NDAwMzQwQjIzCis6MTA4MDYwMDBBNDBCOUMwMTQ0MDEzQzBCMkMwQkEzMDE0NDAyNDQwQkM4Cis6MTA4MDcwMDAzNDBCQUEwMTQ0MDM0QzBCM0MwQkIxMDE0NDA0NTQwQkQ4Cis6MTA4MDgwMDA0NDBCQjgwMTQ0MDU1QzBCNEMwQkJGMDE0NDA2NjQwQjY4Cis6MTA4MDkwMDA1NDBCQzYwMTQ0MDc2QzBCNUMwQkNEMDE0NDA4NzQwQkY4Cis6MTA4MEEwMDA2NDBCRDQwMTQ0MDk3QzBCNkMwQkRCMDE0NDBBODQwQjg4Cis6MTA4MEIwMDA3NDBCRTIwMTQ0MEI4QzBCN0MwQkVBMDE0NDBDOTQwQjE3Cis6MTA4MEMwMDA4NDBCRjIwMTQ0MEQ5QzBCOEMwQkZBMDE0NDBFQTQwQkEzCis6MTA4MEQwMDA5NDBCMDIwMjQ0MEYyQzBCOUMwQjBBMDIxNzFGMEYyRjRDCis6MTA4MEUwMDAwMDAwMDE4MDc4NzgzQTIwNzQ3ODIwNjM3MDczMjAyQTI5Cis6MTA4MEYwMDAyQTJBMkEyQTAyMDAwMTgwNzg3ODNBMjA3NDc4MjA2MzlDCis6MTA4MTAwMDA3MDczMjAyQTJBMkEyQTJBMDIwMDAxODA3ODc4M0EyMENECis6MTA4MTEwMDA3NDc4MjA2MzcwNzMyMDJBMkEyQTJBMkEwMjAwMDE4MDk4Cis6MTA4MTIwMDA3ODc4M0EyMDc0NzgyMDYzNzA3MzIwMkEyQTJBMkEyQUMxCis6MTA4MTMwMDAwMjAwMDFDMDc4NzgzQTIwNzI2MzIwNjM3MDczMjAyQUFECis6MTA4MTQwMDAyQTJBMkEyQTAyMDAwMUMwNzg3ODNBMjA3MjYzMjA2MzIyCis6MTA4MTUwMDA3MDczMjAyQTJBMkEyQTJBMDIwMDAxQzA3ODc4M0EyMDNECis6MTA4MTYwMDA3MjYzMjA2MzcwNzMyMDJBMkEyQTJBMkEwMjAwMDFDMDFGCis6MTA4MTcwMDA3ODc4M0EyMDcyNjMyMDYzNzA3MzIwMkEyQTJBMkEyQTg4Cis6MTA4MTgwMDAwMjAwMDE4MDQ5NkU3Mzc0NjE2QzZDMjA0QzZGNkY3MERCCis6MTA4MTkwMDA2MjYxNjM2QjFGNTA3MjY1NzM3MzIwODAyMDc0NkYyMDVGCis6MTA4MUEwMDA3Mzc0NjE3Mjc0MDIwMDAxODAyMDQzNjE2MjZDNjUyMDA3Cis6MTA4MUIwMDA3NDZGMjA1MjY1NkQ2Rjc0NjUxRjUwNzI2NTczNzMyMDA0Cis6MTA4MUMwMDA4MDIwNzQ2RjIwNzM3NDYxNzI3NDAyMDAwMTgwMjA0Q0VGCis6MTA4MUQwMDA2RjYzNjE2QzIwNEM2RjZGNzA2MjYxNjM2QjIwMUYyMDU2Cis6MTA4MUUwMDAyMDUyNzU2RTZFNjk2RTY3MjAyRTJFMkUwMjAwMDE4MDYxCis6MTA4MUYwMDA1MjY1NkQ2Rjc0NjUyMDRDNkY2RjcwNjI2MTYzNkIyMEE4Cis6MTA4MjAwMDAxRjIwMjA1Mjc1NkU2RTY5NkU2NzIwMkUyRTJFMDIwMDgyCis6MTA4MjEwMDAwMTgwMjA0OTZFNzQ3MjZFNkMyMDRDNkY2RjcwNjI2MUM5Cis6MTA4MjIwMDA2MzZCMUYyMDIwNTI3NTZFNkU2OTZFNjcyMDJFMkUyRTk2Cis6MTA4MjMwMDAwMjAwMDE4MDU0NzI2MTZFNzM2RDY5NzQyMDUwNjE3NDI0Cis6MTA4MjQwMDA3NDY1NzI2RTFGMjAyMDUyNzU2RTZFNjk2RTY3MjAyRUU3Cis6MTA4MjUwMDAyRTJFMDIwMDAxODAyMDIwMzAzQTIwMjc0MzgwMDAwMThBCis6MTA4MjYwMDA4MDIwMjAzMTNBMjAyNzQzODEwMDAxODAyMDIwMzIzQUFCCis6MTA4MjcwMDAyMDI3NDM4MjAwMDE4MDIwMjAzMzNBMjAyNzQzODMwMEI3Cis6MTA4MjgwMDAwMTgwMjAyMDM0M0EyMDI3NDM4NDAwMDE4MDIwMjAzNUJCCis6MTA4MjkwMDAzQTIwMjc0Mzg1MDAwMTgwMjAyMDM2M0EyMDI3NDM4NjU0Cis6MTA4MkEwMDAwMDAxODAyMDIwMzczQTIwMjc0Mzg3MDAwMTgwMjAyMENBCis6MTA4MkIwMDAzODNBMjAyNzQzODgwMDAxODAyMDIwMzkzQTIwMjc0MzdDCis6MTA4MkMwMDA4OTAwMDE4MDIwMzEzMDNBMjAyNzQzOEEwMDAxODAyMDM0Cis6MTA4MkQwMDAzMTMxM0EyMDI3NDM4QjAwMDE4MDIwMzEzMjNBMjAyNzY4Cis6MTA4MkUwMDA0MzhDMDAwMTgwMjAzMTMzM0EyMDI3NDM4RDAwMDE4MEU4Cis6MTA4MkYwMDAyMDMxMzQzQTIwMjc0MzhFMDAwMTgwMjAzMTM1M0EyMDQ2Cis6MTA4MzAwMDAyNzQzOEYwMDJBMkEyMDRENjE2OTZFMjAyMDRENjU2RTFCCis6MTA4MzEwMDA3NTIwMkEyQTAwNEQ2RjZFNjk3NDZGNzIyMDYxMjA1MDlCCis6MTA4MzIwMDA2RjcyNzQwMDRENkY2RTY5NzQ2RjcyMjA2MTIwNTM2OUIzCis6MTA4MzMwMDA2NzZFNjE2QzAwNDU3Mzc0Njk2RDYxNzQ2NTIwNDM1MEFDCis6MTA4MzQwMDA1MzAwNDQ2OTYxNjc2RTZGNzM3NDY5NjM3MzAwNEM2RkE3Cis6MTA4MzUwMDA2MzYxNkMyMDRDNkY2RjcwNjI2MTYzNkIwMDUyNjU2RDdFCis6MTA4MzYwMDA2Rjc0NjUyMDRDNkY2RjcwNjI2MTYzNkIwMDQ5NkU3NDRGCis6MTA4MzcwMDA3MjZFNkMyMDRDNkY2RjcwNjI2MTYzNkIwMDU0NzI2MTNGCis6MTA4MzgwMDA2RTczNkQ2OTc0MjA1MDYxNzQ3NDY1NzI2RTAwNDI2MTIxCis6MTA4MzkwMDA3NTY0MjA1MjYxNzQ2NTAwNDQ2MTc0NjEyMDQyNjk3NDlGCis6MTA4M0EwMDA3MzAwNTM3NDZGNzAyMDQyNjk3NDczMDA1MDYxNzI2OTc2Cis6MTA4M0IwMDA3NDc5MDA0NDYxNzQ2MTIwNTA2MTc0NzQ2NTcyNkUwMDU4Cis6MTA4M0MwMDA1NDc4MjA0NjZDNkY3NzIwNDM2RjZFNzQ3MjZGNkMwMDI4Cis6MTA4M0QwMDA1MDZGNzI3NDIwNEU3NTZENjI2NTcyMDAzNTMwMDAzN0QzCis6MTA4M0UwMDAzNTAwMzEzMTMwMDAzMTMzMzQyRTM1MDAzMTM1MzAwMDM1Cis6MTA4M0YwMDAzMjMwMzAwMDMzMzAzMDAwMzYzMDMwMDAzMTMyMzAzMEZGCis6MTA4NDAwMDAwMDMxMzgzMDMwMDAzMjMwMzAzMDAwMzIzNDMwMzAwMDFCCis6MTA4NDEwMDAzMzM2MzAzMDAwMzQzODMwMzAwMDM3MzIzMDMwMDAzOUM1Cis6MTA4NDIwMDAzNjMwMzAwMDMxMzkyQzMyMzAzMDAwMzMzODJDMzQzMDkzCis6MTA4NDMwMDAzMDAwMzUzNjJDMzAzMDMwMDAzNTM3MkMzNjMwMzAwMEI3Cis6MTA4NDQwMDAzNjM0MkMzMDMwMzAwMDM3MzYyQzM4MzAzMDAwMzEzMTczCis6MTA4NDUwMDAzNTJDMzIzMDMwMDAzNzIwNjI2OTc0NzMwMDM4MjA2MjY2Cis6MTA4NDYwMDA2OTc0NzMwMDMxMjA3Mzc0NkY3MDIwNjI2OTc0MDAzMTE1Cis6MTA4NDcwMDAyRTM1MjA3Mzc0NkY3MDIwNjI2OTc0NzMwMDMyMjA3MzFDCis6MTA4NDgwMDA3NDZGNzAyMDYyNjk3NDczMDA2RTZGMjA3MDYxNzI2OTFFCis6MTA4NDkwMDA3NDc5MDA2RjY0NjQyMDcwNjE3MjY5NzQ3OTAwNjU3NjI0Cis6MTA4NEEwMDA2NTZFMjA3MDYxNzI2OTc0NzkwMDczNzA2MTYzNjUyMDE0Cis6MTA4NEIwMDA3MDYxNzI2OTc0NzkwMDZENjE3MjZCMjA3MDYxNzI2OUFDCis6MTA4NEMwMDA3NDc5MDA0MzZGNkM3NTZENkU3MzAwNDI2MTcyNjI2NTAyCis6MTA4NEQwMDA3MjIwNTA2RjZDNjUwMDU1NTU1NTU1NTUyRTJFMkUwMDQ3Cis6MTA4NEUwMDA0RTZGNkU2NTAwNTg2RjZFMkY1ODZGNjY2NjAwNDM1NDZFCis6MTA4NEYwMDA1MzAwNTA3MjY1NzM3MzIwODAyMDY2NkY3MjIwNkQ2NTIzCis6MTA4NTAwMDA2RTc1MDAyODYzNkY3NTZFNzQ2OTZFNjcyRTJFMkUyOTQ2Cis6MTA4NTEwMDAwMDAwNjU0RTY0MjA0RjY2MjA0MzZGNDQ2NTAwMDAwMEY0Cis6MTA4NTIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRCCis6MTA4NTMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNCCis6MTA4NTQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJCCis6MTA4NTUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFCCis6MTA4NTYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCCis6MTA4NTcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEZCCis6MTA4NTgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVCCis6MTA4NTkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERCCis6MTA4NUEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENCCis6MTA4NUIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEJCCis6MTA4NUMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEFCCis6MTA4NUQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDlCCis6MTA4NUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhCCis6MTA4NUYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdCCis6MDAwMDAwMDFGRgorLyogIEludGVsbGlwb3J0IElJIGxvYWR3YXJlICovCisvKiAtMzEyMzIgYnl0ZXMgcmVhZCBmcm9tIGZmLmxvZCAqLwpkaWZmIC0tZ2l0IGEvZmlybXdhcmUva2F3ZXRoL25ld19jb2RlLmJpbi5paGV4IGIvZmlybXdhcmUva2F3ZXRoL25ld19jb2RlLmJpbi5paGV4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI5MmQ0MGYKLS0tIC9kZXYvbnVsbAorKysgYi9maXJtd2FyZS9rYXdldGgvbmV3X2NvZGUuYmluLmloZXgKQEAgLTAsMCArMSwyMDYgQEAKKzoxMDAwMDAwMEI2QzNBQUJCQ0NERDlGQ0ZERTA2RTc1NzAwMDBDNDA2MEYKKzoxMDAwMTAwMDk3QzFFNzY3RkYxRjI4QzBFNzg3MDAwNDI0QzBFNzY3OTAKKzoxMDAwMjAwMEZGRjkyMkMwOTdDRkQ3MDkwMEMwRTcwOUEyQzBCRTA2REEKKzoxMDAwMzAwMDlGQUYzNjAwRTcwNTAwQzBBN0NGQkMwNjk3Q0ZFNzU3QjQKKzoxMDAwNDAwMDAwMDBCODA2QTdBMUI4MDY5N0NGRTc1NzAwMDAxNDA4MkMKKzoxMDAwNTAwMDBBQzBFNzU3MDAwMEE0QzBBN0MwN0EwNjlGQUY5MjA3NjYKKzoxMDAwNjAwMEU3MDcwMDAwMTQwOEU3NTdGRkZGQkEwNjlGQTAzODAwMTMKKzoxMDAwNzAwMEU3NTlCQTA2QkUwNjlGQTAzODAwQzgwOUNBMDYwODYyM0EKKzoxMDAwODAwMDlGQTEzNjA4QzAwOTc2MDYwMDYwQTdDMDdBMDY5RkFGMTgKKzoxMDAwOTAwMENDMDJFNzU3MDAwMEI4MDZBN0MxN0EwNjlGQUYwNDAwNUMKKzoxMDAwQTAwMEU3NTcwMDAwOEUwNjBBQzFFNzA5MjBDMDEwMDhFN0QwMTQKKzoxMDAwQjAwMDEwMDhFNzY3NDAwMDEwMDg5RkFGOTIwQ0MwMDlEMDA2RjcKKzoxMDAwQzAwMDAwNjAwNUM0QzA1OUJFMDYwMkMwOUZBRkVDMDA5RkFGRTAKKzoxMDAwRDAwMDM0MDJFNzU3MDAwMEE2MDY5RkEwN0EwMkE3Q0Y3QTA2NEYKKzoxMDAwRTAwMDQ4MDJFNzA5QkUwNkQwMDZDODM3MDQwMDlGQUYwODAzRTAKKzoxMDAwRjAwMDk3Q0ZFNzU3MDAwMENFMDY5N0MwRDcwOTAwQzBDMURGRjEKKzoxMDAxMDAwMEM4MDlDNjA2MDg2MjE0QzAyNzA0QzYwNjEwOTRGMDA3ODIKKzoxMDAxMTAwMDEwMDgwMjAwQzEwNzAxMDA3MDAwMDQwMEYwMDczMDAxNjAKKzoxMDAxMjAwMDA2MDA1MEFGRTcwN0ZGRkZEMDA2RTcwNzAwMDBDRTA2NDYKKzoxMDAxMzAwMEU3MDUwMEMwOTdDRkQ3MDkwMEMwQzFERjQ4MDJEMDA5NEEKKzoxMDAxNDAwMEM2MDYyNzAyQzYwNkU3MDUwMEMwOTdDRjQ4MDJDODM3OTMKKzoxMDAxNTAwMDA0MDAwMDBDMEMwMDAwNjAyMUMwQzAzNzNFMDAyM0M5MjEKKzoxMDAxNjAwMEMwNTdCNDA1MUJDOEMwMTczRjAwQzA2N0MwRkYzMDAwQjAKKzoxMDAxNzAwMDA4MDBGMDA3MDAwMDA0MDAwMDAyQzAxNzRDMDAzMDAwMjcKKzoxMDAxODAwMDA2MDBGMDA3QTAwMTBBMDA0ODAyQzEwNzAyMDBENzA5RDMKKzoxMDAxOTAwMDAwQzBDMURGNTFBRkU3MDUwMEMwOTdDRjlGQUYwODAzOTQKKzoxMDAxQTAwMDlGQUY3QTAyOTdDRjlGQUY3QTAyQzkzNzA0MDBDMURGQjEKKzoxMDAxQjAwMEM4MDlBMjA2NTAwMjY3MDJBMjA2RDEwNzAwMDAyN0Q4OEMKKzoxMDAxQzAwMEFBMDZDMERGOUZBRkM0MDE5N0NGRTc1NzAwMDBEMjA2NTEKKzoxMDAxRDAwMDk3QzFFNzU3MDEwMEE4MDY5N0MwQzgwOUEwMDYwODYyQTIKKzoxMDAxRTAwMDk3QzAwMDAyQzAxNzBFMDAyNzAwMzQwMTI3MEMwQzAwMzYKKzoxMDAxRjAwMDM2MDFFNzA3NTBDMzEyQzBFNzA3Q0MwQjAyMDBFNzA3NDAKKzoxMDAyMDAwMDAxMDBBODA2RTcwNzA1MDA5MEMwOTdDRkM4MDlBNDA2MUIKKzoxMDAyMTAwMDA4NjIwMkMwMTA2NDA3QzFFNzA3MDAwMDlFMDZFNzA3RjYKKzoxMDAyMjAwMDcyMDQyNDAwOTdDRjI3MDRBNDA2QzgxNzBFMDAyNzAyRTMKKzoxMDAyMzAwMDlFMDZFNzA3ODAwNDI0MDA5N0NGRDcwOTAwQzBDMURGREUKKzoxMDAyNDAwMEU3NTcwMDAwOTAwNjEzQzE5RkFGMDYwMkU3NTcwMDAwNzIKKzoxMDAyNTAwMDlFMDYxM0MwRTcwOTlFMDYzMDAxRTcwN0YyMDUzMjAxNEEKKzoxMDAyNjAwMEU3MDcxMDAwOTZDMEU3MDk5RTA2OTAwNjA0Q0ZFNzU3RkYKKzoxMDAyNzAwMDAwMDA5RTA2MDJDMTlGQUYwNjAyRTcwNTAwQzA5N0NGQUYKKzoxMDAyODAwMEQ3MDkwMEMwQzFERjA4OTJFNzU3MDIwMEFBMDYwMkMzREYKKzoxMDAyOTAwMEM4MDlBNDA2MjcwMkE2MDYwODYyMDNDMUU3MDUwMEMwMzQKKzoxMDAyQTAwMDk3Q0YyNzA0QTQwNkU3MDUwMEMwRjAwNzQwMDAwODAwMjgKKzoxMDAyQjAwMEYwMDcwMDAwMDQwMDAwMDJDMDE3MEMwMDMwMDAwNjAwMjgKKzoxMDAyQzAwMEYwMDc0NjAxMEEwMEM4MTcwNDAwQzEwNzAyMDA1MUFGMzkKKzoxMDAyRDAwMDk3Q0ZFNzU3MDAwMDk2MDY5N0MwQzFERkM4MDk5NjA2N0EKKzoxMDAyRTAwMDI3MDQ5NjA2Mjc1Mjk4MDYwM0MxRTcwNzk2MDY5ODA2NDQKKzoxMDAyRjAwMEMwREYxNzAyQzgxNzBFMDA5RkFGQkEwM0M4MDUwMDYwMjEKKzoxMDAzMDAwMDAzQzA5RkFGMjQwMzk3Q0Y5RkFGMDgwMzk3Q0Y1NzAyMzcKKzoxMDAzMTAwMEM5MDdBNDA2RDcwOTAwQzBDMURGMDg2MjFCQzA1MDA0OEEKKzoxMDAzMjAwMDExMDJFNzA1MDBDMEM5MDU5N0NGOTcwMkNBMDlENjA2OTIKKzoxMDAzMzAwMEYyMTcwMTAwMDQwMEYyMjcwMDAwMDYwMENBMTcyQzAwODMKKzoxMDAzNDAwMEY4NzcwMTAwMEUwMDA2QzBDQUQ5Rjg1N0ZGMDAwRTAwNkEKKzoxMDAzNTAwMDAxQzFDQUQ5MjIxQzBDMDBFMjI3MDAwMEUyMTcwMTAwRUIKKzoxMDAzNjAwMEUyMjcwMDAwQ0EwNTAwMEMwQzAwQzAxNzQxMDBDMDY3NUUKKzoxMDAzNzAwMEMwRkYzMDAwMDgwMDAwMDJDMDE3MEMwMDMwMDAwNjAwNkIKKzoxMDAzODAwMEYwMDdEQTAwMEEwMEYwMDcwMDAwMDQwMDAwMEMwODAwODMKKzoxMDAzOTAwMDQwRDEwMTAwQzAxOUNFMDZDMDU5QzIwNjA0Qzk0OUFGRjgKKzoxMDAzQTAwMDlGQUZFQzAwNEFBRjY3MTBDRTA2QzgxNzA0MDBDMTA3MjQKKzoxMDAzQjAwMDAxMDBENzA5MDBDMEMxREY1MEFGRTcwNTAwQzA5N0NGRUIKKzoxMDAzQzAwMEMwMDcwMTAwQzEwOUFDMDZDMTc3MDEwMDk3QzFEODc3MDkKKzoxMDAzRDAwMDAxMDAxMkMwQzkwNzZBMDY5RkFGMDgwNDA0QzFDMTc3QjMKKzoxMDAzRTAwMDA4MDAxM0MwOTdDRkMxNzcwMjAwOTdDMUMxNzcxMDAwRjIKKzoxMDAzRjAwMDBDQzA5RkFGMkMwNDk3Q0ZDMTc3MDQwMDA2QzBDOTA3N0IKKzoxMDA0MDAwMDcwMDY5RkFGMDgwNDk3QzAwMENGMDA5MDk3Q0Y1MDU0NUMKKzoxMDA0MTAwMDk3QzE3MDVDMDIwMDAyMDA5N0MxNzA1QzA0MDAwNDAwODgKKzoxMDA0MjAwMDk3Q0Y4MDAxQzAwMDYwMDAzMDAwMTgwMDBDMDAwNjAwNkIKKzoxMDA0MzAwMDAwMDBDQjA5QjIwNkNDMDlCNDA2MEI1MzExQzBDOTAyQTcKKzoxMDA0NDAwMENBMDcxQzA0OUZBRjA4MDQ5N0MwMEFDODgyMDgwQUNGRDUKKzoxMDA0NTAwMDgyMDg5RkFGMDgwNDk3QzAwNUMyODkzMDgyNjA3OEMxQzYKKzoxMDA0NjAwMDAwOTA5N0NGODkxMDA5NTM3OUMyODkzMDgyMDg3QUNGREEKKzoxMDA0NzAwMEMwREY5N0NGQzBERjk3Q0ZFNzA5OTZDMDkyMDZFNzA5QTQKKzoxMDA0ODAwMDk4QzA5NDA2MEZDRkU3MDk5NkMwOTIwNkU3MDk5OEMwNzYKKzoxMDA0OTAwMDk0MDZFNzA5OUUwNjMwMDFFNzA3RjIwNTMyMDFFNzA3RjcKKzoxMDA0QTAwMDEwMDA5NkMwRDcwOTAwQzAxNzAyQzgwOTkwMDZDODM3QzcKKzoxMDA0QjAwMDBFMDBFNzc3MkEwMDkyMDYzMEMwOTcwMkNBMDlENjA2RDYKKzoxMDA0QzAwMEU3NzcyMDAwOTIwNjBFQzBGMjE3MDEwMDEwMDBGMjI3MTUKKzoxMDA0RDAwMDAwMDAxMjAwRTc3NzBBMDA5MjA2Q0EwNTFFQzA5NzAyQzQKKzoxMDA0RTAwMENBMDlENjA2RjIxNzAxMDAwQzAwRjIyNzAwMDAwRTAwMjAKKzoxMDA0RjAwMEU3NzcwMjAwOTIwNjA3QzBGMjE3MDEwMDQ0MDBGMjI3RDYKKzoxMDA1MDAwMDAwMDA0NjAwMDZDRkYyMTcwMTAwNjAwMEYyMjcwMDAwNEQKKzoxMDA1MTAwMDYyMDBDQTA1OUZBRjA4MDMwRkNGNTcwMjA5MDJGMTA5MTUKKzoxMDA1MjAwMDk0MDYwQzAwRjFEQTBDMDBDODA5OTgwNjUwMDI2NzAyMjQKKzoxMDA1MzAwMDk4MDZEMTA3MDAwMEM5MDVFNzA5OUUwNjkwMDZFNzU3MEYKKzoxMDA1NDAwMDAwMDA5MDA2MDJDMDlGQUYwNjAyQzgwNUU3MDUwMEMwODQKKzoxMDA1NTAwMEMwREY5N0NGRDcwOTAwQzAxNzAwMTcwMjk3MDJDMDA5NjQKKzoxMDA1NjAwMDkyQzBFNzA3MDQwMDkwQzBDQTA5RDYwNkU3MDcwMDAwNUEKKzoxMDA1NzAwMEE4MDZFNzA3NkEwNDAyMDBDMDc3MDIwMDA4QzBGMjE3NjUKKzoxMDA1ODAwMDAxMDA1MDAwRjIyNzAwMDA1MjAwOUZDRjI0MDZDMDc3RTAKKzoxMDA1OTAwMDEwMDAwNkMwRjIxNzAxMDA1ODAwRjIyNzAwMDA1QTAwQjAKKzoxMDA1QTAwMEMwNzc4MDAwMDZDMEYyMTcwMTAwNzAwMEYyMjcwMDAwM0IKKzoxMDA1QjAwMDcyMDBDMDc3MDgwMDFEQzFGMjE3MDEwMDA4MDBGMjI3ODEKKzoxMDA1QzAwMDAwMDAwQTAwQzA3NzAwMDIwNkMwRjIxNzAxMDA2NDAwQjQKKzoxMDA1RDAwMEYyMjcwMDAwNjYwMEMwNzc0MDAwMDZDMEYyMTcwMTAwNTUKKzoxMDA1RTAwMDVDMDBGMjI3MDAwMDVFMDBDMDc3MDEwMDAxQzAxQkNGNTUKKzoxMDA1RjAwMDFBQ0ZGMjE3MDEwMDAwMDBGMjI3MDAwMDAyMDBDODA5MUMKKzoxMDA2MDAwMDM0MDFDQTE3MTQwMEQ4NzcwMTAwMDVDMENBRDlEODU3RDkKKzoxMDA2MTAwMEZGMDAwMUMwQ0FEOUUyMTk5NEMwRTIyNzAwMDBFMjE3MjYKKzoxMDA2MjAwMDAxMDBFMjI3MDAwMDlGQUY0MDA2OUZBRkM0MDFFNzU3REIKKzoxMDA2MzAwMDAwMDBEMjA2OUZBMTBFMEFDQTA1QzgwNUMwMDVFNzA1M0QKKzoxMDA2NDAwMDAwQzBDMERGOTdDRkM4MDlBMDA2MDg2Mjk3QzAyNzA0ODIKKzoxMDA2NTAwMEEwMDYyNzUyQTIwNjAzQzFFNzA3QTAwNkEyMDY5RkFGODUKKzoxMDA2NjAwMDA4MDNFNzU3MDAwMEFBMDYwMkMwMjdEQUFBMDY5N0NGQjgKKzoxMDA2NzAwMEZGRkZGRkZGRkZGRjAwMDAwMDAwMDAwMDAwMDAwMDAwODAKKzoxMDA2ODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNkEKKzoxMDA2OTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNUEKKzoxMDA2QTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNEEKKzoxMDA2QjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0EKKzoxMDA2QzAwMDAwMDAwMDAwMDAwMDAwMDAzRjAwMDAwMDAwMDAwMDAwRUIKKzoxMDA2RDAwMDAwMDAwMDAwMDAwMEZGRkYwMTAwMDAwMDAwMDAwMDAwMUIKKzoxMDA2RTAwMEZGRkZGQjEzRTc1NzAwODBCMjAwMDZDMkU3MDdFRTBCREYKKzoxMDA2RjAwMDEyMDBFNzA3MzQwQ0IyMDBFNzA3QzYwN0YyMDJDODA5ODgKKzoxMDA3MDAwMEI0MDBGODA3MDIwMDBEMDBENzA5MEVDMEU3MDcwMDAwOEIKKzoxMDA3MTAwMDBFQzBDODA5REUwMEM4MTcwOTAwQzkwN0RBMDZDMDA3RkQKKzoxMDA3MjAwMDA0MDA2ODBBMDBEQTdEQzFFNzA5QzAwMDdDMDZFNzA5MTkKKzoxMDA3MzAwMEJFMDA3ODA2RTcwOTEwMDBCQzA2QzgwN0Q2MDc5RkFGQzEKKzoxMDA3NDAwMEFFMDc5RkFGMDAwQUM4MDlERTAwMDAwRTBGMDA0MTkwRkYKKzoxMDA3NTAwMDlGREUwNjAwNDRBRjI3MDBCMjA2MjcwMEI0MDYyNzAwM0MKKzoxMDA3NjAwMEI2MDZDMDA3NzQwMDQ0QUYyNzAwRDYwNjA4MDAwMDkwMDQKKzoxMDA3NzAwMEMxMDczQTAwMjAwMDAxREE3REMxOUZBRkJBMDlDMDA3NjYKKzoxMDA3ODAwMDQ0MDA0OEFGMjcwMDdBMDY5RkFGOTYwQUU3MDcwMTAwQUEKKzoxMDA3OTAwMEMwMDZFNzA1MEVDMDk3Q0Y0OUFGRTc4NzQzMDAwRUMwRkMKKzoxMDA3QTAwMEU3MDdGRkZGQkUwNjlGQUZBRTBBQzAwNzAxMDA2MEFGQkMKKzoxMDA3QjAwMDRBQUY5N0NGMDAwODA5MDgxMTA4MDBEQTdDQzE5N0NGMkIKKzoxMDA3QzAwMDY3MDRDQzAyQzBERjUxOTRCMUFGMDYwMEMxREZDOTA5OTQKKzoxMDA3RDAwMENDMDI0OTYyNzVDMUMwREZBN0NGRDYwMjBFMDAyNDAwNEIKKzoxMDA3RTAwMDgwMDQyMjAwNEUwNUQwMDAwRTBBQUEwMDMwMDhCRTAwODgKKzoxMDA3RjAwMDRBMEExMDAwMjAwMDA0MDA2RTA0MDIwMDZBMDQwNjAwODkKKzoxMDA4MDAwMDAwMDAyNEMwMDQwNDI4QzBGRUZCMUVDMDAwMDQyMkMwNTcKKzoxMDA4MTAwMEZGRjRDMDAwOTAwOTAwMDAwMDAwRkZGRjU2MDg2MDA4QzgKKzoxMDA4MjAwMEQwMDhEQTA4MDAwOTA0MDkwODA5MzIwOTQyMDk1MDA5MDgKKzoxMDA4MzAwMDUyMDk1QTA5NUEwOTI3MDJDQTA2OTdDRkU3MDcwMDAwNEEKKzoxMDA4NDAwMENBMDYwQTBFMDEwMENBNTcwRTAwOUZDMzVBMDlDQTM3Q0EKKzoxMDA4NTAwMDAwMDA5RkMyNUEwOTBBRDJCMkNGMTYwOEM4MDlERTAwQUEKKzoxMDA4NjAwMDA3MDY5RkNGNkMwOTE3MDJDODA5REUwMDAwMEUwRjAwQjMKKzoxMDA4NzAwMDQxOTA5RkRFMDYwMEM4MDUzMDUwMDYwMDlGQzg1QTA5MDcKKzoxMDA4ODAwMDI3MEMwMjAwQjAwNkMwMDlCMjA2MjcwMEI0MDZFNzA3MkQKKzoxMDA4OTAwMDAwMDBBRTA2MjcwMDgwMDYwMDFDMDYwMDI3MDBCNjA2RjIKKzoxMDA4QTAwMDQxOTA2NzUwQjAwNjBEQzA2NzAwN0UwNjI3MEMwNjAwMTkKKzoxMDA4QjAwMDgyMDZFNzA3QkMwODg0MDZDODA3N0UwNjQxOTA1MUFGNTAKKzoxMDA4QzAwMDk3Q0Y5RkFGNDgwQ0U3MDlCNjA2QjQwNkU3MDlCMDA2MTQKKzoxMDA4RDAwMEFFMDY1OUFGOTdDRjI3MEMwMjAwQUMwNjU5QUY5N0NGQTEKKzoxMDA4RTAwMDA5MEMwMjAwMDlEQTQ5RDJDOTE5RDYwNkM4MDc3RTA2RTIKKzoxMDA4RjAwMEUwMDcwMDAwNjAwMkUwMDcwNDAwRDAwN0NDMDg0OERCRjYKKzoxMDA5MDAwMDQxOTA1MEFGOTdDRjU5QUY5N0NGNTlBRjk3Q0ZGMDU3OEUKKzoxMDA5MTAwMDA2MDAwNjAwMjVDMUU3MDc3MDA2ODAwNjQxOTA2NzAwQzMKKzoxMDA5MjAwMDdFMDYyNzBDMDYwMDgyMDZFNzA3OEMwOTg0MDZDODA3QTYKKzoxMDA5MzAwMDdFMDY0MTkwNTFBRjk3Q0YwNzBDMDYwMEM3NTcwNjAwQkYKKzoxMDA5NDAwMDBGQzFDODA3NzAwNjE1Q0YwMDBDMDIwMDAwREE0MEQxQjUKKzoxMDA5NTAwMDI3MDBDMjA2MUVDRjFEQ0YyNzBDMDIwMENDMDYxOUNGRTAKKzoxMDA5NjAwMDI3MDIyMDAxRTcwNzA4MDAyMjAxRTcwNzEzMDBCMEMwQjMKKzoxMDA5NzAwMDk3Q0Y0MTkwNjcwMDdFMDZFNzAxODIwNjI3MDI4MDA2MzYKKzoxMDA5ODAwMEU3MDc4QzA5ODQwNkM4MDc3RTA2QzEwNzAwODA1MEFGQzAKKzoxMDA5OTAwMDk3Q0Y1OUFGOTdDRjAwNjAwNUMwRTcwNzAwMDBDNDA2QTYKKzoxMDA5QTAwMEE3Q0Y3QzA2OUZBRjAwMEFFNzA3MDEwMEM0MDY0OUFGNDYKKzoxMDA5QjAwMEQ3MDkwMEMwMDdBRkU3MDUwMEMwNEFBRkE3Q0Y3QzA2NDQKKzoxMDA5QzAwMEMwMDdGRTdGNDRBRjQwMDBDMDM3MDAwMTQxOTBDMDM3RjAKKzoxMDA5RDAwMDA4MDBERkRFNTAwNkMwNTcxMDAwMDJDMkMwMDcxMDAwM0EKKzoxMDA5RTAwMDI3MDA5QTA2NDE5MDlGREU0MDA2NDRBRjI3MDA5QzA2RjAKKzoxMDA5RjAwMEMwMDk5QTA2NDE5MDAwRDIwMEQ4OUZERTA4MDA0NEFGOUIKKzoxMDBBMDAwMDI3MDBDODA2OTdDRkU3ODcwMDg0MjhDMEU3NjdGRkZCNjkKKzoxMDBBMTAwMDI0QzA5N0NGRTc4NzAxMDBEMjA2RTc1NzAwMDBBODA2NTkKKzoxMDBBMjAwMDk3QzE5RkFGMDAwQUU3ODcwMDA2MjJDMEU3MDcwMDAwRDIKKzoxMDBBMzAwMDkwQzBFNzY3RkVGRjNFQzBFNzA3MjYwMDBBQzBFNzg3RDEKKzoxMDBBNDAwMDAxMDAzRUMwRTcwN0ZGRkZCRTA2OUZBRjEwMEI5N0NGMjgKKzoxMDBBNTAwMDE3MDBBN0FGNzgwNkMwMDUyNzAwNzYwNkU3ODcwMTAwRDQKKzoxMDBBNjAwMEQyMDY5RkFGMDAwQUU3MDcwQzAwNDBDMDlGQUYxMDBCRjMKKzoxMDBBNzAwMDAwOTAyNzAwQTYwNjI3MDBBQTA2RTcwOUIyMDZCNDA2REEKKzoxMDBBODAwMDI3MDBBRTA2MjcwMEFDMDY5RkFGQUUwQUMwMDcwMDAwRTUKKzoxMDBBOTAwMDI3MDBCMjAyMjcwMEI0MDIyNzAwOEUwNkMwMDcwNjAwMTYKKzoxMDBBQTAwMEM4MDlERTAwQzgxNzAzMDBDOTA3NzAwNjI5MEEwMERBNjIKKzoxMDBBQjAwMDdEQzE5N0NGRDcwOTAwQzBDMURGMDA5MDI3MDA5NjA2RkYKKzoxMDBBQzAwMEU3MDc5NjA2OTgwNjI3MDBBMDA2RTcwN0EwMDZBMjA2RjUKKzoxMDBBRDAwMDI3MDBBNjA2MjcwMDkwMDYyNzAwOUUwNkM4MDk5QzA2NDgKKzoxMDBBRTAwMEMxMDk5QTA2QzkwN0E0MDYxMTAyMDkwMkM4MTc0MDA2REYKKzoxMDBBRjAwMDAxREE3QUMxNTE5NEM4MDlDODA2QzkwN0M2MDZDMTA5RjYKKzoxMDBCMDAwMDlBMDYxMTAyMDkwMkM4MTcwODAwMDFEQTdBQzE1MTk0NDUKKzoxMDBCMTAwMEU3MDUwMEMwOTdDRkU3NTcwMDAwNzYwNjk3QzA5RkFGNjQKKzoxMDBCMjAwMDA0MDBFNzA5QkUwNkJBMDZFNzU3RkZGRkJBMDYwNEMxOEMKKzoxMDBCMzAwMEU3MDcxMDBCQjgwNjk3Q0ZFNzE3MzIwMEJBMDZFNzY3NEEKKzoxMDBCNDAwMEZGMDdCQTA2RTcwNzQ2MEJCODA2OTdDRkU3NTcwMDAwM0UKKzoxMDBCNTAwMEMwMDYyM0MwRTcwNzA0MDA5MEMwRTcwNzAwODA4MEMwRkMKKzoxMDBCNjAwMEU3MDcwMDAwODBDMEU3MDcwMDgwODBDMEMwMDcwMDAwRTIKKzoxMDBCNzAwMEMwMDcwMDAwQzAwNzAwMDBFNzA3MDAwMDgwQzBFNzA3Q0IKKzoxMDBCODAwMDAwODA4MEMwRTcwNzAwODA0MEMwQzAwNzAwMDBFNzA3ODIKKzoxMDBCOTAwMDAwMDA0MEMwRTcwNzAwMDA4MEMwRTcwNzA0MDA5MEMwRTUKKzoxMDBCQTAwMEU3MDcwMDAyNDBDMEU3MDcwQzAyNDBDMEU3MDcwMDAwNkIKKzoxMDBCQjAwMEMwMDZFNzA3MDAwMEI4MDZFNzA3MDAwMEQyMDZENzA5MUQKKzoxMDBCQzAwMDAwQzBDMURGOUZBRjM0MDJFNzA1MDBDMDlGQUZDNDAxODIKKzoxMDBCRDAwMDk3Q0ZENzA5MDBDMDE3MDAxNzAyOTcwMkU3NTcwMDAwMDgKKzoxMDBCRTAwMEE4MDYwNkMwQzAwOTkyQzBDMDc3MDkwMjlGQzE1QzA1NzMKKzoxMDBCRjAwMDlGQ0YzMjA2RDcwOTBFQzBFNzA3MDAwMDBFQzA5RkFGOTcKKzoxMDBDMDAwMDAyMENFNzA1MEVDMDk3Q0ZENzA5MDBDMDE3MDJDODA5MkMKKzoxMDBDMTAwMEIwQzBFNzY3RkU3RkIwQzBDODc3MDAyMDlGQzE2NEVCMUIKKzoxMDBDMjAwMEU3NTcwMDAwQzgwMjlGQzE4MEVCQzg5OUNBMDJDODY3OTUKKzoxMDBDMzAwMDA0MDA5RkMxOTZFQjlGQ0Y0Q0VCRTcwNzAwMDBBNkMwRDYKKzoxMDBDNDAwMEU3MDlCMEMwQzgwMkU3MDcwMzAwQjBDMDk3Q0ZDMDA5RUEKKzoxMDBDNTAwMEIwMDZDMDM3MDEwMDk3QzlDOTA5QjIwNjAyMDA0MTkwMjkKKzoxMDBDNjAwMDQ4MDJDOTE3MDYwMDlGQUYwODA0OUZBMjcyMEMwMkRBNUYKKzoxMDBDNzAwMDc3QzE0MTYwNzFDMTk3Q0YxNzAyNTcwMjQzMDQyMTA0MjUKKzoxMDBDODAwMEUwMDA0MzA0MjEwNEUwMDA0MzA0MjEwNEUwMDBDMTA3MjQKKzoxMDBDOTAwMDAxMDBDOTA1QzgwNTk3Q0ZFNzA3MDEwMDhFMDZDODA3MDAKKzoxMDBDQTAwMDg2MDZFNzA3MDAwMDg2MDZFNzA3MTAwODg4MDZFNzA3QkMKKzoxMDBDQjAwMDA0MDA4QTA2RTcwN0JDMEM4QzA2QzEwNzAzODA1MEFGMEUKKzowQzBDQzAwMDk3Q0ZFNzA3MDAwMDhFMDY5N0NGMDAwMERBCis6MDAwMDAwMDFGRgpkaWZmIC0tZ2l0IGEvZmlybXdhcmUva2F3ZXRoL25ld19jb2RlX2ZpeC5iaW4uaWhleCBiL2Zpcm13YXJlL2thd2V0aC9uZXdfY29kZV9maXguYmluLmloZXgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmIzNWQzZAotLS0gL2Rldi9udWxsCisrKyBiL2Zpcm13YXJlL2thd2V0aC9uZXdfY29kZV9maXguYmluLmloZXgKQEAgLTAsMCArMSw0MCBAQAorOjEwMDAwMDAwQjZDM0FBQkJDQ0REMDIwMDA4MDAyODAwMkMwMDM0MDBENworOjEwMDAxMDAwM0MwMDQwMDA0ODAwNTQwMDU4MDA1RTAwNjQwMDY4MDA0NgorOjEwMDAyMDAwNkUwMDZDMDA3MjAwNzYwMDdDMDA4MDAwODYwMDhBMDAwMgorOjEwMDAzMDAwOTAwMDk0MDA5ODAwOUUwMEE2MDBBQTAwQjAwMEI0MDBCMgorOjEwMDA0MDAwQjgwMEMwMDBDNjAwQ0EwMEQwMDBENDAwRDgwMEUwMDA0QworOjEwMDA1MDAwREUwMEU4MDBGMDAwRkMwMDA0MDEwQTAxMTgwMTIyMDFBMgorOjEwMDA2MDAwMjgwMTNBMDEzRTAxN0UwMTk4MDE5QzAxQTIwMUFDMDFFOAorOjEwMDA3MDAwQjIwMUJBMDFDMDAxQzgwMUQwMDFENjAxRjQwMUZDMDFFRQorOjEwMDA4MDAwMDgwMjE2MDIxQTAyMjIwMjJBMDIyRTAyM0UwMjQ0MDIyQworOjEwMDA5MDAwNEEwMjUwMDI2NDAyNjIwMjZDMDI3MjAyODYwMjhDMDIwMAorOjEwMDBBMDAwOTAwMjlFMDJCQzAyRDAwMkQ4MDJEQzAyRTAwMkU4MDIwQQorOjEwMDBCMDAwRTYwMkY0MDJGRTAyMDQwMzBDMDMyODAzN0MwMzkwMDMwRgorOjEwMDBDMDAwOTQwMzlDMDNBMjAzQzAwM0QwMDNENDAzRUUwM0ZBMDNGQQorOjEwMDBEMDAwRkUwMzJFMDQzMjA0M0MwNDQwMDQ0RTA0NzYwNDdDMDRFNworOjEwMDBFMDAwODQwNDhBMDQ4RTA0QTYwNEIwMDRCODA0QkUwNEQyMDRCNgorOjEwMDBGMDAwREMwNEVFMDQxMDA1MUEwNTI0MDUyQTA1MzYwNTM0MDUyRQorOjEwMDEwMDAwM0MwNTQyMDU2NDA1NkEwNTZFMDU4NjA1MjIwNjI2MDYzRAorOjEwMDExMDAwMkMwNjMwMDY0MjA2NEEwNjRFMDY1NjA2NTQwNjVBMDY3NQorOjEwMDEyMDAwNjAwNjY2MDZFODA2RUUwNkY0MDYxNjA3MjYwNzJDMDdBNAorOjEwMDEzMDAwMzIwNzM2MDczQTA3M0UwNzUyMDc1NjA3NUEwNzY0MDc0MQorOjEwMDE0MDAwNzYwNzdBMDc4MDA3ODQwNzhBMDc5RTA3QTIwN0RBMDdERgorOjEwMDE1MDAwREUwN0UyMDdFNjA3RUEwN0VFMDdGMjA3RjYwNzBFMDhGMgorOjEwMDE2MDAwMTYwODE4MDgxQTA4MUMwODFFMDgyMDA4MjIwODI0MDg2NworOjEwMDE3MDAwMjYwODI4MDgyQTA4MkMwODJFMDgzMjA4M0EwODQ2MDhCQgorOjEwMDE4MDAwNEUwODU0MDg1RTA4NzgwODdFMDg4MjA4ODYwODhDMDhBNQorOjEwMDE5MDAwOTAwODk4MDg5RTA4QTQwOEFBMDhCMDA4QUUwOEI0MDhGOQorOjEwMDFBMDAwQkUwOEM0MDhDMjA4Q0EwOEM4MDhENDA4RTQwOEU4MDg5OQorOjEwMDFCMDAwRjYwODE0MDkxMjA5MUEwOTIwMDkyNjA5MjQwOTJBMDkyRQorOjEwMDFDMDAwM0UwOTRDMDk1NjA5NzAwOTc0MDk3ODA5N0UwOTdDMDlCMQorOjEwMDFEMDAwODIwOTk4MDk5QzA5QTAwOUE2MDlCODA5REMwOUU4MDk1RgorOjEwMDFFMDAwRUMwOUZDMDkxMjBBMTgwQTFFMEE0MjBBNDYwQTRFMEFCQgorOjEwMDFGMDAwNTQwQTVBMEE1RTBBNjgwQTZFMEE3MjBBNzgwQTc2MEE2RAorOjEwMDIwMDAwN0MwQTgwMEE4NDBBOTQwQUE0MEFCODBBQkUwQUJDMEFCNAorOjEwMDIxMDAwQzIwQUM4MEFDNjBBQ0MwQUQwMEFENDBBRDgwQURDMEExQQorOjEwMDIyMDAwRTAwQUYyMEFGNjBBRkEwQTE0MEIxQTBCMjAwQjFFMEI0QworOjEwMDIzMDAwMjYwQjJFMEIyQzBCMzYwQjNDMEI0MjBCNDAwQjRBMEJBOAorOjEwMDI0MDAwQUEwQkIwMEJCNjBCQzAwQkM4MEJEQTBCRTgwQkVDMEIxMAorOjEwMDI1MDAwRkEwQjRBMEM1NDBDNjIwQzY2MEM5NjBDOUEwQ0EwMEMwRgorOjBFMDI2MDAwQTYwQ0E0MENBQzBDQjIwQ0IwMENDMDBDMDAwMDMwCis6MDAwMDAwMDFGRgpkaWZmIC0tZ2l0IGEvZmlybXdhcmUva2F3ZXRoL3RyaWdnZXJfY29kZS5iaW4uaWhleCBiL2Zpcm13YXJlL2thd2V0aC90cmlnZ2VyX2NvZGUuYmluLmloZXgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzNlMTY1OAotLS0gL2Rldi9udWxsCisrKyBiL2Zpcm13YXJlL2thd2V0aC90cmlnZ2VyX2NvZGUuYmluLmloZXgKQEAgLTAsMCArMSwxMyBAQAorOjEwMDAwMDAwQjZDM0FBQkJDQ0REQzgwN0EwMDBGMDA3NUUwMDA2MDA5RgorOjEwMDAxMDAwRjAwNzBBMDAwODAwRjAwOTAwMDAwMjAwRTcwNzM2MDBCOAorOjEwMDAyMDAwMDAwMEYwMDcwMDAwMDQwMEU3MDc1MEMzMTBDMEYwMDkwQgorOjEwMDAzMDAwMEVDMDAwMDBFNzg3MDEwMDBFQzA5N0NGRDcwOTAwQzBBRgorOjEwMDA0MDAwMTcwMkM4MDdBMDAwRTcxNzUwQzMxMEMwMzBEODA0MDAzQgorOjEwMDA1MDAwMzA1QzA4MDAwNDAwQjBDMDA2MDBDODA1RTcwNTAwQzAxOQorOjEwMDA2MDAwQzBERjk3Q0Y0OUFGQzAwNzAwMDA2MEFGNEFBRjAwMENCOAorOjEwMDA3MDAwMEMwMDQwRDIwMDFDMEMwMDQwRDIzMDAwMDgwMEYwMDdGOQorOjEwMDA4MDAwMDAwMDA0MDBGMDA3ODYwMDA2MDA2N0NGMjcwQzAyMDA3RQorOjEwMDA5MDAwMDAwMDI3MEMwMDAwMEVDMDQ5QUY2NEFGQzAwNzAwMDA4RAorOjEwMDBBMDAwNEJBRjRBQUY1QUNGMDAwMDAwMDAwMDAwMDAwMDAwMDAzNAorOjA2MDBCMDAwOTQwMDA1MDAwMDAwQjEKKzowMDAwMDAwMUZGCmRpZmYgLS1naXQgYS9maXJtd2FyZS9rYXdldGgvdHJpZ2dlcl9jb2RlX2ZpeC5iaW4uaWhleCBiL2Zpcm13YXJlL2thd2V0aC90cmlnZ2VyX2NvZGVfZml4LmJpbi5paGV4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc3MTJmNzMKLS0tIC9kZXYvbnVsbAorKysgYi9maXJtd2FyZS9rYXdldGgvdHJpZ2dlcl9jb2RlX2ZpeC5iaW4uaWhleApAQCAtMCwwICsxLDMgQEAKKzoxMDAwMDAwMEI2QzNBQUJCQ0NERDAyMDAwNjAwMTgwMDNFMDA4MDAwOEIKKzowNjAwMTAwMDk4MDBBQTAwMDAwMEE4Cis6MDAwMDAwMDFGRgpkaWZmIC0tZ2l0IGEvZmlybXdhcmUva2V5c3Bhbi9tcHIuSEVYIGIvZmlybXdhcmUva2V5c3Bhbi9tcHIuSEVYCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE1M2JhMTAKLS0tIC9kZXYvbnVsbAorKysgYi9maXJtd2FyZS9rZXlzcGFuL21wci5IRVgKQEAgLTAsMCArMSwxMDQgQEAKKzowMzAwMzMwMDAyMDAxQUFFCis6MDQwMDFBMDA1M0Q4RUYzMjk2Cis6MTAwMDAzMDA4RTU2OEY1N0U1NTcxNTU3QUU1NjcwMDIxNTU2NEU2MEVDCis6MDcwMDEzMDAwNTEyMEZBMjgwRUUyMjhFCis6MDMwMDIzMDAwMjAwNDY5MgorOjEwMDA0NjAwQzBFMEMwODNDMDgyQzA4Njc1ODYwMEMwRDA3NUQwMDg2NworOjEwMDA1NjAwMzA5OTBFMzAwQjA3QTIwRTkyOUI4NTM2OTlDMjk5RDIyMworOjEwMDA2NjAwMTIyMDEyMDMwMjAyRjlDMjEyMzAwMzE5N0U3RTdGNDA2QgorOjEwMDA3NjAwNzUxQTdFNzUxQjQwNzUxNzAwN0U3RDdGQzA3NTE4N0RDRAorOjEwMDA4NjAwNzUxOUMwODAxNzdFN0Q3RkMwNzUxQTdENzUxQkMwNzU3QQorOjEwMDA5NjAwMTcwMTdFN0U3RjQwNzUxODdFNzUxOTQwMjAwQjAzMDI3RQorOjEwMDBBNjAwMDE4NEU1M0FDMzk1NTM1MDNDMjAwQzM0MjAwOTMxOTAyNQorOjEwMDBCNjAwN0Y5QkUwNTUzODcwMjkzMDEwMTJBRjNBMDUzQUU1MUJBMAorOjEwMDBDNjAwMkZGNTgyRTQzNTFBRjU4M0UwMTM5MjBFQUYzQTA1M0ExRQorOjEwMDBENjAwRTUxQjJGRjU4MkU0MzUxQUY1ODNFMEY1MzYwMjAyRjdDMworOjEwMDBFNjAwQzIwQjAyMDJGNzMwMDMxMTkwN0ZDN0U0RjBBM0UwNTQ3RAorOjEwMDBGNjAwMDJGNTFEQTNFMEY1MUM4MDExOTA3RkM5RTRGMDkwN0YwNgorOjAzMDA0MzAwMDIwRjAwQTkKKzowMzAwMDAwMDAyMDAyNkQ1Cis6MEMwMDI2MDA3ODdGRTRGNkQ4RkQ3NTgxNUEwMjBBMzM5OQorOjQwMDEwNjAwQzZFMDU0MDJGNTFEQTNFMEY1MUNFNTE3MjRGRjkyMDMzMDBEMERDMjBEOTA3RkJCNzQwMUYwQzIwQjAyMDJGN0U1MUQ2MDA1QzIwQjAyMDJGNzg1MUM1Mzg1MTk4Mjg1MTg4M0UwMTM5MjBENzUxMkZGMjAwQzNBMjAwOTM3OTA4MgorOjQwMDE0NjAwN0Y5QkUwNTUzODcwMkYzMDEwMUM4NTE5ODI4NTE4ODNBM0UwMTM5MjBFODUxOTgyODUxODgzQTNBM0UwRjUzNjc1M0EwMzAyMDJGNzc1M0EwMjg1MTk4Mjg1MTg4M0EzRTBGNTM2MDIwMkY3NzUzQTAxQzIwQjAyMDJGNzMwMDNGRQorOjQwMDE4NjAwMEU5MDdGQzZFMDU0MDJGNTFEQTNFMEY1MUM4MDBDOTA3RkM4RTA1NDAyRjUxREEzRTBGNTFDRTUzQUMzOTU1MzUwMDMwMjAyNjhFNTFENjAwN0MyMTRDMjA1MDIwMkY3ODUxQzUzODUxQjgyODUxQTgzRTAxMzkyMEQ3NTEyRkY2MQorOjQwMDFDNjAwMzAwQzAzMDIwMjYwMzAwOTAzMDIwMjYwOTA3RjlCRTA1NTM4NjAwMzAyMDI2MDMwMTAxQjg1MUI4Mjg1MUE4M0EzRTAxMzkyOUI4NTFCODI4NTFBODNBM0EzRTBGNTk5NzUzQTAzODAwRDg1MUI4Mjg1MUE4M0EzRTBGNTk5NzU3NQorOjQwMDIwNjAwM0EwMkU1M0FDMzk1NTM0MDI2MzAwMzA3OTA3RkM3RTRGMDgwMDU5MDdGQzlFNEYwRTUxNzI0RkY5MjAzMjAwRDAzMDIwMkY3QzIwRDkwN0ZCQjc0MDFGMDAyMDJGNzMwMTAxMkFGM0EwNTNBRTUxQjJGRjU4MkU0MzUxQUY1ODM5NAorOjQwMDI0NjAwRTAxMzkyMEVBRjNBMDUzQUU1MUIyRkY1ODJFNDM1MUFGNTgzRTBGNTM2RDIwQjAyMDJGNzc1M0EwMUMyMTQwMjAyRjczMDBDMDMwMjAyRjUzMDA5MDMwMjAyRjU5MDdGOUJFMDU1Mzg3MDc5MzAxMDEyQUYzQTA1M0FFNTFCMkZGMgorOjQwMDI4NjAwRjU4MkU0MzUxQUY1ODNFMDEzOTI5QkFGM0EwNTNBRTUxQjJGRjU4MkU0MzUxQUY1ODNFMEY1OTlFNTNBQzM5NTUzNDAyMjMwMDMwNzkwN0ZDN0U0RjA4MDA1OTA3RkM5RTRGMEU1MTcyNEZGOTIwMzMwMEQzNkMyMEQ5MDdGQkIwRQorOjQwMDJDNjAwNzQwMUYwODAyQzMwMTAxMkFGM0EwNTNBRTUxQjJGRjU4MkU0MzUxQUY1ODNFMDEzOTIwRUFGM0EwNTNBRTUxQjJGRjU4MkU0MzUxQUY1ODNFMEY1MzZEMjBCODAwMkMyMTREMjAxMjA5ODAzMDIwNDM1QzI5ODIwMDIwMzAyMDM4MworOjQwMDMwNjAwQTIyMDE1MjdBRjM5MDUzOTc0ODAyRkY1ODJFNDM0N0VGNTgzRTU5OUYwMzAxMDREQUYzOTA1Mzk3NDgwMkZGNTgyRTQzNDdFRjU4M0U1OThGMDgwM0E4NTk5NTVFNTU1QjU0NzA0RDIwOTgwMkVFNTU1QjU0NjA0QzIwOTgwMjUxQworOjQwMDM0NjAwQUYzOTA1Mzk3NDgwMkZGNTgyRTQzNDdFRjU4M0U1NTVGMDMwMTAxMUFGMzkwNTM5NzQ4MDJGRjU4MkU0MzQ3RUY1ODNFNTk4RjBEMjBGRTUzOUMzOTU0MzUwMDMwMjA0MzM5MDdGQjhFMDMwRTExNkU1MzlDMzk0NDA1MDAzMDJGNQorOjQwMDM4NjAwMDQzMzE1MzkxNTM5MDUyQjQzMzQwMTAyMDQzMzkwN0ZCN0U1MzlGMDc1MzkwMEMyMDIwMjA0MzMyMDE1MjdBRjM5MDUzOTc0MDAyRkY1ODJFNDM0N0VGNTgzRTU5OUYwMzAxMDREQUYzOTA1Mzk3NDAwMkZGNTgyRTQzNDdFRjU5NAorOjQwMDNDNjAwODNFNTk4RjA4MDNBODU5OTU1RTU1NUI1NDcwNEQyMDk4MDJFRTU1NUI1NDYwNEMyMDk4MDI1QUYzOTA1Mzk3NDAwMkZGNTgyRTQzNDdFRjU4M0U1NTVGMDMwMTAxMUFGMzkwNTM5NzQwMDJGRjU4MkU0MzQ3RUY1ODNFNTk4RjBFQQorOjQwMDQwNjAwRDIwRkU1MzlDMzk1NDM0MDI0OTA3RkI2RTAzMEUxMTJFNTM5QzM5NDQwNDAxNjE1MzkxNTM5MDUyQjQzMzQwMTgwMEI5MDdGQjlFNTM5RjA3NTM5MDBEMjAyRDIwMTMwMDEwNUMyMDEwMjAwNTZEMEQwRDA4NkQwODJEMDgzRDAyRgorOjQwMDQ0NjAwRTAzMjkwN0ZCQ0UwMjBFMTU0RTUzNDYwNTBFNTMxNzA0Q0U1MzQzMEUxMEJFNEY1MkY3NTM0MDE3NTMxMDI4MDBFQTIwOEU0MzNGNTJGQzIwOEU0RjUzNDc1MzExMEU0RjU1NjdFMDA3QjAwNzQyNDI1NTZGOUVFMzQwMEZBMTJEOAorOjQwMDQ4NjAwMEM3OUZGNzQwMDI1NTZGNTgyRTQzNDdERjU4M0VGRjAwNTU2RTU1NkI0MENEQjkwN0ZCRDc0MENGMDkwN0ZDQUUwMzBFMTAzMDIwNUQxRTRGNTU2NzQ0MDI1NTZGNTgyRTQzNDdERjU4M0UwRkZFNTU2N0MwMDdCMDAyNDNCRjkwMworOjQwMDRDNjAwRUMzNDAwRkFFRjEyMEM5MjA1NTZFNTU2QjQxOERCRTUzQjYwMTE3NUM5MjA3NUM4MzY4NTNDQ0E4NTNEQ0JFNDkwN0Y5RkYwRTUzRTEzOTIxMDkyOUY4NTNGMzhFNTQwMTM5MjE1RTU0MTYwMDk5MDdGOThFMDU0RkJGMDgwMDc0NAorOjQwMDUwNjAwOTA3Rjk4RTA0NDA0RjBFNTQyNjAwOTkwN0Y5OEUwNTQ3RkYwODAwNzkwN0Y5OEUwNDQ4MEYwRTU0ODYwMEJDMjBDQzIwOTkwN0Y5NUUwNDQwMkYwRTU0OTYwMENEMjA5NDMzNDAxOTA3Rjk1RTA0NDAyRjBFNTRBNjAwREMyQUZCQgorOjQwMDU0NjAwQzIwQkQyMDBFNEY1NTNGNTNBRDJBRkU1NEI2MDA1MzAxNTAyRDIwOUU1NEM2MDE1OTA3Rjk1RTA1NEZERjA5MDdGOUVFMDQ0MDJGMDkwN0Y5OEUwNTRGREYwRTU0RDYwMEFEMjlDQzI5ODc1MkMwMTc1MzExRUU1NEU2MDA3QzIyNworOjQwMDU4NjAwOUNFNEY1MzlGNTJDRTU0RjYwMDNFNEY1MzlFNTUwNjAwMkQyMDdFNTUxNjAwQUU1NEQ3MDAyRjUzMUU1NTE0MjM0RTU1MjYwMUY5MDdGRDc3NDExRjA3NDMxRjA3NDEyRjA3NDMyRjA3NDEzRjA3NDMzRjA3NDE0RjA3NDM0RjA2NworOjQwMDVDNjAwRDIwM0QyMDJEMjA4RTQ5MDdGQ0JGMEEyMENFNDMzRkY2NTI5NjAwNThGMjk0MzM0MDFBMjA5RTQzM0ZGNjUyQTYwMDU4RjJBNDMzNDAxOTA3RjlCRTBGRjU0MDg2NDA4RjU1NzY1MjU2MDA2ODU1NzI1NDMzNDAxRUY1NDEwNjQzQQorOjQwMDYwNjAwMTBGNTU3NjUyNjYwMDY4NTU3MjY0MzM0MDFFRjU0NDA2NDQwRjU1NzY1Mjc2MDA2ODU1NzI3NDMzNDAxRUY1NDIwNjQyMEY1NTc2NTI4NjAwNjg1NTcyODQzMzQwMTkwN0Y5QUUwNTQ0MDY0NDBGNTU3NjUyRTYwMDY4NTU3MkU1QgorOjQwMDY0NjAwNDMzNDAxMzAwNzM1QzJBRjMwMDIxODkwN0ZCOEUwMjBFMTI3RTUzOTYwMDk5MDdGQjdGMEU0RjUzOUMyMDJDMjA3ODAxNjkwN0ZCNkUwMjBFMTBGRTUzOTYwMDk5MDdGQjlGMEU0RjUzOUQyMDJDMjA3RDJBRjIwMDUzRDMwMDNEQgorOjQwMDY4NjAwMUU5MDdGQzZFMDIwRTEzMzkwN0U0MEUwMTM5MjBENzUzQTAxOTA3RkM3RTBGNTUzRDIwNTc1MTJGRjgwMUM5MDdGQzhFMDIwRTExNTkwN0RDMEUwMTM5MjBENzUzQTAxOTA3RkM5RTBGNTUzRDIwNTc1MTJGRjIwMTQzMzIwMDBFNgorOjQwMDZDNjAwMDZFNTNBNjU1MzcwMkEzMDA1MUEzMDAzMDlFNDkwN0ZDN0YwQzIwMzgwMDdFNDkwN0ZDOUYwRDIwM0MyMDVFNEY1NTNGNTNBMzAwRDBBQzIwREMyMDA5MDdGQkI3NDAxRjAzMDE0MDMwMjA3QkYyMDA1MDMwMjA3QkYzMDBDMDMxNAorOjQwMDcwNjAwMDIwN0JGMzAwOTAzMDIwN0JGOTA3RjlCRTA1NTM4NjAwMzAyMDdCRjMwMDMwQzdFN0U3RjQwNzU1ODdFNzU1OTQwODAwQTdFN0Q3RkMwNzU1ODdENzU1OUMwMzAxMDEyQUYzQTA1M0FFNTU5MkZGNTgyRTQzNTU4RjU4M0UwMTM3QworOjQwMDc0NjAwOTIxQUFGM0EwNTNBRTU1OTJGRjU4MkU0MzU1OEY1ODNFMEY1NTdFNTNBQzM5NTUzNTAyQTMwMTAxMkFGM0EwNTNBRTU1OTJGRjU4MkU0MzU1OEY1ODNFMDEzOTIwRUFGM0EwNTNBRTU1OTJGRjU4MkU0MzU1OEY1ODNFMEY1MzY4OAorOjQwMDc4NjAwRDIwQjgwMTVDMjBCMzAwMzA5RTQ5MDdGQzdGMEMyMDM4MDA3RTQ5MDdGQzlGMEQyMDMzMDEwMDRBMjFBOTI5QkQyMTRDMkFGODU1Nzk5MjAwQjBEMzAwRDBBQzIwREMyMDA5MDdGQkI3NDAxRjBEMkFGMjI5MDdGRTlFMDEyMEM3MAorOjQwMDdDNjAwQTQwOTFDMDAwOTg5MDEwOUU2MDMwN0UzMDYwOTBEMDgwOTAxMDkwOEU5MEEwOEY4MEIwMDAwMEEyNDkwN0ZFQkUwMjRGRTYwMUMxNDcwMDMwMjA4NzkyNDAyNjAwMzAyMEEyNDc0MEQ5MDdGRDRGMDc0ODc5MDdGRDVGMDAyMEFFNgorOjQwMDgwNjAwMkI5MDdGRUFFMEI0MDEwNDdGMDI4MDAyN0YwMzc1ODJEODc1ODMwREVGRjA3NTgyRDE3NTgzMERGMDc1ODJDQTc1ODMwREYwNzU4MkMzNzU4MzBERjA5MDdGRUFFMDA0NzU4MjlFNzU4MzBERjA5MDdGRUZFMEZFOTA3RkVFRTA3QgorOjQwMDg0NjAwN0MwMDI0MDBGNTVBRUMzRUY1NTk3NTE1MEQ3NTE2OTk3NTgyOUI3NTgzMERFMDc1MTMwMEY1MTREM0U1MTQ5NTVBRTUxMzk1NTk0MDA2ODU1OTEzODU1QTE0MTIwQkJBMDIwQTJCOTA3RkVBRTA3MDBCNzU1NkZGNzU1NzBENzUwMworOjQwMDg4NjAwNThEQzgwMkQ5MDdGRUFFMEI0MDEwQjc1NTZGRjc1NTcwRDc1NThFMDgwMUI5MDdGRUFFMEI0MDIwQjc1NTZGRjc1NTcwRDc1NThGMDgwMDk3NTU2RkY3NTU3MEU3NTU4MUU5MDdGRUVFMDc1NTkwMEY1NUFBRTU3QUY1ODhFMTUxMgorOjQwMDhDNjAwOEYxNjhGODI4RTgzRTBGRUEzRTA4RTEzRjUxNEQzOTU1QUU1MTM5NTU5NDAwNjg1NTkxMzg1NUExNDEyMEJCQTAyMEEyQjkwN0YwMEU1MTFGMDkwN0ZCNTc0MDFGMDAyMEEyQjkwN0ZFQUUwRjUxMTAyMEEyQjEyMEMyNDkwN0Y4NAorOjQwMDkwNjAwRUFFMEY1MTAwMjBBMkI5MDdGMDBFNTEwRjA5MDdGQjU3NDAxRjAwMjBBMkI5MDdGRThFMDI0N0Y2MDI3MTQ2MDM0MjQwMjYwMDMwMjBBMjRBMjE2RTQzM0ZGMjVFMEZGQTIxOEU0MzM0RjkwN0YwMEYwRTRBM0YwOTA3RkI1NzQ1NQorOjQwMDk0NjAwMDJGMDAyMEEyQkU0OTA3RjAwRjBBM0YwOTA3RkI1NzQwMkYwMDIwQTJCOTA3RkVDRTBGNDU0ODBGRkM0NTQwRkZGRTA1NDA3MkYyNUUwMjRCNEY1ODJFNDM0N0ZGNTgzRTA1NEZEOTA3RjAwRjBFNEEzRjA5MDdGQjU3NDAyRjAwQgorOjQwMDk4NjAwMDIwQTJCOTA3RkU4RTAyNEZFNjAxNzI0MDI2MDAzMDIwQTJCOTA3RkVBRTA2NDAxNjAwMzAyMEEyNEMyMTYwMjBBMkI5MDdGRUFFMDcwNzY5MDdGRUNFMEY0NTQ4MEZGQzQ1NDBGRkZFMDU0MDcyRjI1RTAyNEI0RjU4MkU0MzQ4RAorOjQwMDlDNjAwN0ZGNTgzRTRGMDkwN0ZFQ0UwNTQ4MEZGMTMxMzEzNTQxRkZGRTA1NDA3MkY5MDdGRDdGMEUwNDQyMEYwODA0NTkwN0ZFOEUwMjRGRTYwMTAyNDAyNzAzOTkwN0ZFQUUwNjQwMTcwMkFEMjE2ODAyRDkwN0ZFQUUwNzAyMDkwN0Y3NworOjQwMEEwNjAwRUNFMEY0NTQ4MEZGQzQ1NDBGRkZFMDU0MDcyRjI1RTAyNEI0RjU4MkU0MzQ3RkY1ODM3NDAxRjA4MDA3OTA3RkI0RTA0NDAxRjA5MDdGQjRFMDQ0MDJGMDIyQzIxMEU0RjUxMEY1MzRDMjA5QzIwQ0MyMEJDMjE0QzIwREMyMTVBNQorOjQwMEE0NjAwQzIxMUMyMDdDMjEyQzIwRkMyMDhGNTM1RjUzOUY1NTNGNTNBRjUzM0Y1MzBGNTJGRjUyRUY1MkRGNTJDRjUyQkY1MkFGNTI5RjUyOEY1MjdGNTI2RjUyNUY1MjRDMjA1QzIxN0MyMTlDMjE2QzIxOEMyMDREMjEzQzIwNkMyMDE3OAorOjQwMEE4NjAwOTA3RjkyRTA1NEZERjBEMkU4NDNEODIwOTA3RkRFNzQwMUYwOTA3RkRGRjA5MDdGQUI3NEZGRjA5MDdGQTlGMDkwN0ZBQUYwNTM5MUVGOTA3RkFGRTA0NDAxRjA5MDdGQUVFMDQ0MEZGMDkwN0ZBQzc0MEVGMEQyQUZEMkJDRDI0NworOjQwMEFDNjAwMUExMjBGN0RDMjE3MzAwNDAzMTIwNDQ4MzAwNDJBMzAwNjI3QzIwNkU1MTI2MDE2MTUxMjkwN0ZEOEUwMzBFNjA0N0YwMDgwMDI3RjIwOTA3Rjk2RUZGMDgwMDY5MDdGOTY3NDIwRjAxMjBCMTQ4MENEMzAxNzA3QzIxNzEyMDc0MQorOjQwMEIwNjAwQzA4MEMzMzAxOUMwQzIxOTEyMEVEQzgwQjkyMkU1MzE2MDAyMTUzMUU1Mzk2MDU1NjUzNTcwNEJFNTMzRjQ2MDAyMDUzM0U1MzNDMzk1NDQ0MDQzQzJBRjMwMDIxQjkwN0ZCOEUwMjBFMTJEOTA3RkI3RTUzOUYwQzIwMkU0RjVBQQorOjQwMEI0NjAwMzlGNTMzRjUzNTc1MTJGRjgwMTk5MDdGQjZFMDIwRTExMjkwN0ZCOUU1MzlGMEQyMDJFNEY1MzlGNTMzRjUzNTc1MTJGRkQyQUY4MDA2ODUzOTM1RTRGNTMzRTUyQzYwMzAyMDBGMDc5MDdGOUJFMDMwRTAwRkU1MkQ2MDA2RTQ5NworOjQwMEI4NjAwRjUyRDQzMzQwMUU0RjUzMDgwMTRFNTMwRDM5NTQ1NTAwREU1MzBCNTQ1MDY3NTJEMDE0MzM0MDEwNTMwQzIwRjIyOTA3RkQ5RTAzMEUyMDQ3RjAwODAwMjdGMjA5MDdGOTZFRkYwMjJFNTE0NDUxMzYwNTdBRTEzQUYxNEQzRUYwRgorOjQwMEJDNjAwOTQ0MEVFOTQwMDQwMDQ3RTAwN0Y0MEMzRTUxNDlGRjUxNEU1MTM5RUY1MTNFNEZERURDMzlGRTQ5RTUwMUY4NTE2ODI4NTE1ODNFMEZDNzQwMDJERjU4MkU0MzQ3RkY1ODNFQ0YwMEQwNTE2RTUxNjcwMDIwNTE1ODBEQTkwN0ZDNAorOjQwMEMwNjAwQTk3NDAxRjA5MDdGQUNFMDQ0MDFGMDkwN0ZCNUVGRjAyMjkwN0ZBQ0UwNTRGRUYwRTQ5MDdGQjVGMDIyRTQ5MDdGOTNGMDkwN0Y5Qzc0MzBGMDkwN0Y5Njc0MjBGMDkwN0Y5NDc0MDFGMDkwN0Y5RDc0RkZGMDkwN0Y5Nzc0ODZERgorOjQwMEM0NjAwRjA5MDdGOTU3NDAzRjA5MDdGOUU3NDg0RjA5MDdGOThGMEU0OTA3RkM3RjA5MDdGQzlGMDkwN0ZDQkYwNzU5ODQwNDNBODEwOTA3RkRFNzQxRkYwOTA3RkRGNzQwRkYwRDIwNDIyQkIwMTA2ODk4MjhBODNFMDIyNTAwMkU3MjJDMworOjQwMEM4NjAwQkJGRTAyRTMyMjg5ODI4QTgzRTQ5MzIyQkIwMTA2ODk4MjhBODNGMDIyNTAwMkY3MjJCQkZFMDFGMzIyRDA4M0QwODJGOEU0OTM3MDEyNzQwMTkzNzAwREEzQTM5M0Y4NzQwMTkzRjU4Mjg4ODNFNDczNzQwMjkzNjg2MEVGQTM2NworOjQwMENDNjAwQTNBMzgwREZFNDkwN0Y5NUYwOTA3Rjk0RjA5MDdGOTNGMDkwN0Y5REUwNDQwMkYwOTA3Rjk3RTA0NDQyRjA5MDdGOUM3NDEwRjBFNDkwN0Y5NkYwOTA3RjlENzRCRUYwMzAxNjA0N0Y4MDgwMDI3RjAwOTA3Rjk3RUZGMEU0OTA0NQorOjQwMEQwNjAwN0Y5NUYwOTA3RjlFRjA5MDdGOThGMDIyQzBFMEMwRjBDMDgzQzA4MkMwODVDMDg0QzA4Njc1ODYwMEMwRDA3NUQwMDg1MzkxRUY5MDdGQTk3NDAxRjAxMjBCQkFEMEQwRDA4NkQwODREMDg1RDA4MkQwODNEMEYwRDBFMDMyQzA2QQorOjQwMEQ0NjAwRTBDMDgzQzA4MkMwODVDMDg0QzA4Njc1ODYwMDkwN0ZDNEU0RjA1MzkxRUY5MDdGQUI3NDA0RjBEMDg2RDA4NEQwODVEMDgyRDA4M0QwRTAzMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxQworOjQwMEQ4NjAwMDAxMjAxMTAwMUZGRkZGRjQwQ0QwNjFDMDEwMTAwMDEwMjAwMDIwOTAyNDMwMDAxMDEwMDgwMzIwOTA0MDAwMDA3RkYwMDAwMDAwNzA1MDEwMjQwMDAwMDA3MDUwMjAyNDAwMDAwMDcwNTAzMDI0MDAwMDAwNzA1ODEwMjQwMDAwMgorOjQwMERDNjAwMDEwNzA1ODIwMjQwMDAwMTA3MDU4MzAyNDAwMDAxMDcwNTg0MDI0MDAwMDEwNDAzMDkwNDEwMDM0QjAwNjUwMDc5MDA3MzAwNzAwMDYxMDA2RTAwMkUwMzRCMDA2NTAwNzkwMDczMDA3MDAwNjEwMDZFMDAyMDAwNTUwMDUwMDBBMworOjQwMEUwNjAwNTMwMDQ4MDAzMTAwMzEwMDMyMDAyRDAwNTMwMDY1MDA3MjAwNjkwMDYxMDA2QzAwMjIwMzU1MDA1MzAwNDEwMDJEMDAzNTAwMzMwMDIwMDAzMjAwMzAwMDMwMDAzMjAwNjEwMDcwMDA3MjAwMzIwMDM2MDAwMDAwQzBFMEMwODNEQgorOjQwMEU0NjAwQzA4MkMwODVDMDg0QzA4Njc1ODYwMDUzOTFFRjkwN0ZBQjc0MDJGMEQyMDZEMDg2RDA4NEQwODVEMDgyRDA4M0QwRTAzMkMwRTBDMDgzQzA4MkMwODVDMDg0QzA4Njc1ODYwMEQyMTc1MzkxRUY5MDdGQUI3NDAxRjBEMDg2RDAxRgorOjQwMEU4NjAwODREMDg1RDA4MkQwODNEMEUwMzJDMEUwQzA4M0MwODJDMDg1QzA4NEMwODY3NTg2MDBEMjE5NTM5MUVGOTA3RkFCNzQwOEYwRDA4NkQwODREMDg1RDA4MkQwODNEMEUwMzJDMEUwQzA4M0MwODJDMDg1QzA4NEMwODY3NTg2MDA4NAorOjQwMEVDNjAwNTM5MUVGOTA3RkE5NzQwMkYwRDA4NkQwODREMDg1RDA4MkQwODNEMEUwMzIxMjBDQ0ExMjBGQjM5MDdGRDZFMDMwRTcxMkUwNDQwMUYwN0YwRDdFMDAxMjAwMDM5MDdGRDZFMDU0RkVGMDEyMEMyNDIyMDAwMjBFNjkwMDAyMEVBMworOjQwMEYwNjAwNDIwMDAyMEQ0NTAwMDIwRTkwMDAwMjBGMTAwMDAyMEYxNDAwMDIwRDEyMDAwMjBGMUMwMDAyMEVCNzAwMDIwRjI0MDAwMjBGMzMwMDAyMEYyQzAwMDIwRjU4QzBFMEMwODNDMDgyQzA4NUMwODRDMDg2NzU4NjAwNTM5MUVGOTBBOQorOjQwMEY0NjAwN0ZBOTc0MDRGMEQwODZEMDg0RDA4NUQwODJEMDgzRDBFMDMyQzBFMEMwODNDMDgyQzA4NUMwODRDMDg2NzU4NjAwNTM5MUVGOTA3RkE5NzQwOEYwRDA4NkQwODREMDg1RDA4MkQwODNEMEUwMzI5MDdGRDZFMDU0RkJGMEUwNDRDMQorOjNEMEY4NjAwMDhGMDMwMUEwNEUwNDQwMkYwN0ZGNDdFMDExMjAwMDM5MDdGRDZFMDU0RjdGMEUwNDQwNEYwMjI3NDAwRjU4NjkwRkRBNTdDMDVBM0U1ODI0NTgzNzBGOTIyOTA3RkQ2RTA0NDgwRjA0Mzg3MDEwMDAwMDAwMDAwMjIyQworOjAwMDAwMDAxRkYKKworCVRoZSBmaXJtd2FyZSBjb250YWluZWQgaGVyZWluIGlzCisKKwkJQ29weXJpZ2h0IChDKSAxOTk5LTIwMDEKKwkJS2V5c3BhbiwgQSBkaXZpc2lvbiBvZiBJbm5vU3lzIEluY29ycG9yYXRlZCAoIktleXNwYW4iKQorCisJYXMgYW4gdW5wdWJsaXNoZWQgd29yay4gVGhpcyBub3RpY2UgZG9lcyBub3QgaW1wbHkgdW5yZXN0cmljdGVkIG9yCisJcHVibGljIGFjY2VzcyB0byB0aGUgc291cmNlIGNvZGUgZnJvbSB3aGljaCB0aGlzIGZpcm13YXJlIGltYWdlIGlzCisJZGVyaXZlZC4gIEV4Y2VwdCBhcyBub3RlZCBiZWxvdyB0aGlzIGZpcm13YXJlIGltYWdlIG1heSBub3QgYmUKKwlyZXByb2R1Y2VkLCB1c2VkLCBzb2xkIG9yIHRyYW5zZmVycmVkIHRvIGFueSB0aGlyZCBwYXJ0eSB3aXRob3V0CisJS2V5c3BhbidzIHByaW9yIHdyaXR0ZW4gY29uc2VudC4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisKKwlQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkIGZvciB0aGUgZGlzdHJpYnV0aW9uIG9mIHRoaXMgZmlybXdhcmUKKwlpbWFnZSBhcyBwYXJ0IG9mIGEgTGludXggb3Igb3RoZXIgT3BlbiBTb3VyY2Ugb3BlcmF0aW5nIHN5c3RlbSBrZXJuZWwKKwlpbiB0ZXh0IG9yIGJpbmFyeSBmb3JtIGFzIHJlcXVpcmVkLgorCisJVGhpcyBmaXJtd2FyZSBtYXkgbm90IGJlIG1vZGlmaWVkIGFuZCBtYXkgb25seSBiZSB1c2VkIHdpdGgKKwlLZXlzcGFuIGhhcmR3YXJlLiAgRGlzdHJpYnV0aW9uIGFuZC9vciBNb2RpZmljYXRpb24gb2YgdGhlCisJa2V5c3Bhbi5jIGRyaXZlciB3aGljaCBpbmNsdWRlcyB0aGlzIGZpcm13YXJlLCBpbiB3aG9sZSBvciBpbgorCXBhcnQsIHJlcXVpcmVzIHRoZSBpbmNsdXNpb24gb2YgdGhpcyBzdGF0ZW1lbnQuIgorCitzdGF0aWMgY2hhciB0aGVGaXJtd2FyZURhdGU1M1tdID0KKwkiMDQvMjYvMjAwMiAgMDI6NDdwICAgICAgICAgICAgICAxMSw1NzAgVVNBNTMiOworCmRpZmYgLS1naXQgYS9maXJtd2FyZS9rZXlzcGFuL3VzYTE4eC5IRVggYi9maXJtd2FyZS9rZXlzcGFuL3VzYTE4eC5IRVgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTlmZjcwZQotLS0gL2Rldi9udWxsCisrKyBiL2Zpcm13YXJlL2tleXNwYW4vdXNhMTh4LkhFWApAQCAtMCwwICsxLDE0MSBAQAorOjAzMDAzMzAwMDIxMkY3QkYKKzoxMDAwMDMwMEU0OTA3RjkzRjA5MDdGOUM3NDMwRjBFNDkwN0Y5NkYwQkYKKzoxMDAwMTMwMDkwN0Y5NEYwOTA3RjlENzRGRkYwRTQ5MDdGOTdGMDkwMzEKKzowRjAwMjMwMDdGOTVGMDkwN0Y5RTc0MDdGMEU0OTA3Rjk4RjAyMjE1Cis6MTAwMDQ2MDAzMDA5MTgxMjEzMUJFRkMzOTUzQzQwMDMwMjAwRDg5MEU5Cis6MTAwMDU2MDA3RkJGNzQwMUYwQzIwOUMyMDA4MDc3MzAwMzNCOTA3RkY2Cis6MTAwMDY2MDBDNkUwMjBFMTZEMTIxMzFCRUZDMzk0NDA1MDY0OTA3RUVFCis6MTAwMDc2MDA0MEUwMTM5MjA5OTA3RkM3RTAxNEY1MTkyMDAwMTE2MDQzCis6MTAwMDg2MDAwRkY1MDg3RTdFN0Y0MTc1MEM3RTc1MEQ0MTEyMENCQTA4Cis6MTAwMDk2MDBDMjAzRTQ5MDdGQzdGMDgwMzk5MDdGQzhFMDIwRTEzMjQ4Cis6MTAwMEE2MDAxMjEzMUJFRkMzOTQ0MDUwMjk5MDdEQzBFMDEzOTIwOUIwCis6MTAwMEI2MDA5MDdGQzlFMDE0RjUxOTIwMDAxMTYwMEZGNTA4N0U3REM4Cis6MTAwMEM2MDA3RkMxNzUwQzdENzUwREMxMTIwQ0JBRDIwM0U0OTA3RjA5Cis6MTAwMEQ2MDBDOUYwOTA3RkI2RTAzMEUxMDMwMjAxNjAxMjExRDY4RkJECis6MTAwMEU2MDAxOTEyMTMyNzhGMzZFNTE5QzM5NTNBNTAwRjEyMTJFQkUyCis6MTAwMEY2MDBFRjMwRTAwOEU1MzYyMEU3MDMzMDBCNUVDMjBCRTUxOTZBCis6MEMwMDM2MDA5MDdGOTg3NDEwRjA5MEMwMDBFMEZGMjI1MgorOjAzMDA0MzAwMDIxMzAwQTUKKzowMzAwMDAwMDAyMEUwMEVECis6NDAwMTA2MDA2MDU4QjQ4MDAzNDMzNjAyRTUzNjMwRTcyNkU1MTlEMzk0MjA0MDAzNzUxOTIwODUxOTA4N0U3RTdGODA3NTBDN0U3NTBEODBBRjM2MTIwRjRCRTUxOTI1RTA5MDdGQjdGMDgwMjdFNTE5RDM5NDNGNDAwMzc1MTkzRjg1MTkwOEQ0Cis6NDAwMTQ2MDA5MDdFODBFNTM2RjA3RTdFN0Y4MTc1MEM3RTc1MEQ4MTEyMENERkU1MTkwNDkwN0ZCN0YwOTA3RkNFRTAzMEUxMDYyMDA1MDMwMjAzQzFDMjA1RTRGNTE4NzQ0MDI1MThGNTgyRTQzNDdDRjU4M0UwRkZFNTE4N0MwMDdCMDE3QUYxCis6NDAwMTg2MDA3RTc5MDAyNDAwRjlFQzM0N0VGQUVGMTIwRUQyMDUxOEU1MThCNDIwRDc5MDdFMDBFMDYwNjg5MDdFMDNFMDYwMjQ3RjAxRTRGRDEyMTFCMTdGMDM3RENEMTIxMUIxNDM0NjgwOTA3Rjk4NzQxNEYwOTBDMDAwRTU0NkYwRTQ5MEUwCis6NDAwMUM2MDA3RTEzRjA4MDMwOTA3RTAxRTBGRjEyMTAzNTkwN0UwMkUwRkYxMjEwNUI3RjAxOTA3RTExRTBGRDEyMTFCMTdGMDM3RDA3MTIxMUIxNDM0NjgwOTA3Rjk4NzQxNEYwOTBDMDAwRTU0NkYwOTA3Rjk4NzQxMkYwRTU0MDQ0MDY5MDNFCis6NDAwMjA2MDBDMDAwRjA5MDdFMDNFMDcwMDY5MDdFMTNFMDcwMDhFNDkwN0UxM0YwNzUyNUZGOTA3RTA1RTA2MDEyQTNFMDU0M0ZGNTQ0OTA3Rjk4NzQxM0YwOTBDMDAwRTU0NEYwOTA3RTA3RTA2MDJCQTNFMDYwMDU0MzQyODA4MDAzNTM0MkRBCis6NDAwMjQ2MDA3RjUzNDJGQzkwN0UwOUUwNjAxMTQzNDIwMkEzRTBGRjEyMTBBNzkwN0UwQkUwRkYxMjEwQ0RBRjQyMTIxMDgxOTA3RTAzRTA2MDA4NTM0MjdGQUY0MjEyMTA4MTkwN0UwQ0UwNjAxOEEzRTA2MDA1NDM0NjAyODAwMzUzNDZGREI0Cis6NDAwMjg2MDA5MDdGOTg3NDE0RjA5MEMwMDBFNTQ2RjA5MDdFMEVFMDYwMThBM0UwNjAwNTQzNDYwMTgwMDM1MzQ2RkU5MDdGOTg3NDE0RjA5MEMwMDBFNTQ2RjA5MDdFMTJFMEY1M0FBM0UwMTM5MjBEQTNFMEY1M0NBM0UwNjAwNTQzNDYxMDhCCis6NDAwMkM2MDA4MDAzNTM0NkVGOTA3Rjk4NzQxNEYwOTBDMDAwRTU0NkYwOTA3RTE2RTA2MDMyNTM0NEJGOTA3Rjk4NzQxM0YwRTU0NDU0N0Y5MEMwMDBGMDkwN0Y5ODc0MTFGMDEyMTJERkVGNTRGRTkwQzAwMEYwNTMzRUZERTRGRkFEM0UxMjBGCis6NDAwMzA2MDAxMUIxRTRGNTJBRjUyOUQyMDc5MDdFMTdFMDYwMEY0MzNFMDJFNEZGQUQzRTEyMTFCMTc1MjkwMUQyMDc5MDdFMThFMDYwMTA5MDdGOTg3NDEyRjBFNTQwNDQwNDkwQzAwMEYwRDIwMDkwN0UxOUUwNjAxMTQzNDQ0MDkwN0Y5OEYyCis6NDAwMzQ2MDA3NDEzRjBFNTQ0NTQ3RjkwQzAwMEYwOTA3RTFBRTA2MDBGNTMzRUZFRTRGRkFEM0UxMjExQjE3NTJCMDFEMjA3OTA3RTFCRTA2MDBGNDMzRTAxRTRGRkFEM0UxMjExQjFFNEY1MkJEMjA3OTA3RTFDRTA2MDBFOTA3Rjk4NzQxMjg0Cis6NDAwMzg2MDBGMEU1NDA0NDAyOTBDMDAwRjA5MDdFMURFMDYwMDJEMjBCOTA3RTFFRTA2MDA4NzUyQzAxRTRGNTM4RDIwNzkwN0UxRkUwNjAxMTkwN0ZENzc0MTFGMDc0MzFGMDc0MTVGMDc0MzVGMEQyMDNFNDkwN0ZDRkYwMzAxQTUyRTUzODkyCis6NDAwM0M2MDA2MDAyMTUzODIwMTM0OUU1MTNEMzk0MDA0MDA0MTUxMzgwM0U3NTEzMEEzMDFCMDJEMjEzMTIxMkRGRUY1NDAxRjUxOTY1MkE2MDA1ODUxOTJBRDIwNzEyMTMzM0VGNTQ4MEY1MTk2NTI2NjAwNTg1MTkyNkQyMDczMDBEMTExMjdGCis6NDAwNDA2MDAxMzMzRUY1NDEwRjUxOTY1MjU2MDA1ODUxOTI1RDIwNzIwMUIwMzAyMDdFQzMwMEExODEyMTM2RkVGQzM5NTNENDAwMzAyMDRBRTkwN0ZDMTc0MDFGMEMyMEFDMjAwODA3NzMwMDQzQjkwN0ZDQUUwMjBFMTZEMTIxMzZGRUZDMzVBCis6NDAwNDQ2MDA5NDQwNTA2NDkwN0Q0MEUwMTM5MjBBOTA3RkNCRTAxNEY1MTkyMDAwMTE2MDBGRjUwODdFN0Q3RjQxNzUwQzdENzUwRDQxMTIwRDA0QzIwNEU0OTA3RkNCRjA4MDM5OTA3RkNDRTAyMEUxMzIxMjEzNkZFRkMzOTQ0MDUwMjk5MEJDCis6NDAwNDg2MDA3Q0MwRTAxMzkyMEE5MDdGQ0RFMDE0RjUxOTIwMDAxMTYwMEZGNTA4N0U3QzdGQzE3NTBDN0M3NTBEQzExMjBEMDREMjA0RTQ5MDdGQ0RGMDkwN0ZCQUUwMzBFMTAzMDIwNTM2MTIxMjIwOEYxOTEyMTM3QjhGMzdFNTE5QzM5NTJCCis6NDAwNEM2MDAzQjUwMEYxMjEzNTdFRjMwRTAwOEU1MzcyMEU3MDMzMDBDNUVDMjBDRTUxOTYwNThCNDgwMDM0MzM3MDJFNTM3MzBFNzI2RTUxOUQzOTQyMDQwMDM3NTE5MjA4NTE5MDg3RTdEN0Y4MDc1MEM3RDc1MEQ4MEFGMzcxMjBGODRFNTAzCis6NDAwNTA2MDAxOTI1RTA5MDdGQkJGMDgwMjdFNTE5RDM5NDNGNDAwMzc1MTkzRjg1MTkwODkwN0Q4MEU1MzdGMDdFN0Q3RjgxNzUwQzdENzUwRDgxMTIwRDI5RTUxOTA0OTA3RkJCRjA5MDdGRDBFMDMwRTEwNjIwMDYwMzAyMDc5N0MyMDZFNEY4Cis6NDAwNTQ2MDBGNTE4NzRDMDI1MThGNTgyRTQzNDdCRjU4M0UwRkZFNTE4N0MwMDdCMDE3QTdFNzkyMDI0MjBGOUVDMzQ3RUZBRUYxMjBFRDIwNTE4RTUxOEI0MjBENzkwN0UyMEUwNjA2ODkwN0UyM0UwNjAyNDdGMDFFNEZEMTIxMUZCN0YwMzI5Cis6NDAwNTg2MDA3RENEMTIxMUZCNDM0NzgwOTA3Rjk4NzQwQ0YwOTBDMDAwRTU0N0YwRTQ5MDdFMzNGMDgwMzA5MDdFMjFFMEZGMTIxMTE5OTA3RTIyRTBGRjEyMTEzRjdGMDE5MDdFMzFFMEZEMTIxMUZCN0YwMzdEMDcxMjExRkI0MzQ3ODA5MDQ4Cis6NDAwNUM2MDA3Rjk4NzQwQ0YwOTBDMDAwRTU0N0YwOTA3Rjk4NzQwQUYwRTU0MTQ0MDY5MEMwMDBGMDkwN0UyM0UwNzAwNjkwN0UzM0UwNzAwOEU0OTA3RTMzRjA3NTJFRkY5MDdFMjVFMDYwMTJBM0UwNTQzRkY1NDU5MDdGOTg3NDBCRjA5MEVCCis6NDAwNjA2MDBDMDAwRTU0NUYwOTA3RTI3RTA2MDJCQTNFMDYwMDU0MzQzODA4MDAzNTM0MzdGNTM0M0ZDOTA3RTI5RTA2MDExNDM0MzAyQTNFMEZGMTIxMTY1OTA3RTJCRTBGRjEyMTE4QkFGNDMxMjEwRjM5MDdFMjNFMDYwMDg1MzQzN0ZBRkZFCis6NDAwNjQ2MDA0MzEyMTBGMzkwN0UyQ0UwNjAxOEEzRTA2MDA1NDM0NzAyODAwMzUzNDdGRDkwN0Y5ODc0MENGMDkwQzAwMEU1NDdGMDkwN0UyRUUwNjAxOEEzRTA2MDA1NDM0NzAxODAwMzUzNDdGRTkwN0Y5ODc0MENGMDkwQzAwMEU1NDdGMEQ0Cis6NDAwNjg2MDA5MDdFMzJFMEY1M0JBM0UwMTM5MjBFQTNFMEY1M0RBM0UwNjAwNTQzNDcxMDgwMDM1MzQ3RUY5MDdGOTg3NDBDRjA5MEMwMDBFNTQ3RjA5MDdFMzZFMDYwMzI1MzQ1QkY5MDdGOTg3NDBCRjBFNTQ1NTQ3RjkwQzAwMEYwOTA3Rjc5Cis6NDAwNkM2MDA5ODc0MDlGMDEyMTM0QkVGNTRGRTkwQzAwMEYwNTMzRkZERTRGRkFEM0YxMjExRkJFNEY1MzNGNTMyRDIwODkwN0UzN0UwNjAwRjQzM0YwMkU0RkZBRDNGMTIxMUZCNzUzMjAxRDIwODkwN0UzOEUwNjAxMDkwN0Y5ODc0MEFGMDQzCis6NDAwNzA2MDBFNTQxNDQwNDkwQzAwMEYwRDIwMDkwN0UzOUUwNjAxMTQzNDU0MDkwN0Y5ODc0MEJGMEU1NDU1NDdGOTBDMDAwRjA5MDdFM0FFMDYwMEY1MzNGRkVFNEZGQUQzRjEyMTFGQjc1MzQwMUQyMDg5MDdFM0JFMDYwMEY0MzNGMDFFNEU5Cis6NDAwNzQ2MDBGRkFEM0YxMjExRkJFNEY1MzREMjA4OTA3RTNDRTA2MDBFOTA3Rjk4NzQwQUYwRTU0MTQ0MDI5MEMwMDBGMDkwN0UzREUwNjAwMkQyMEM5MDdFM0VFMDYwMDg3NTM1MDFFNEY1MzlEMjA4OTA3RTNGRTA2MDExOTA3RkQ3NzQxMzg5Cis6NDAwNzg2MDBGMDc0MzNGMDc0MTZGMDc0MzZGMEQyMDRFNDkwN0ZEMUYwMzAxQTUyRTUzOTYwMDIxNTM5MzAxMzQ5RTUxM0QzOTQwMDQwMDQxNTEzODAzRTc1MTMwQTMwMUIwMkMyMTMxMjEzNEJFRjU0MDFGNTE5NjUzMzYwMDU4NTE5MzNEMjc5Cis6NDAwN0M2MDAwODEyMTM4N0VGNTQ4MEY1MTk2NTJGNjAwNTg1MTkyRkQyMDgzMDBFMTExMjEzODdFRjU0MTBGNTE5NjUyRTYwMDU4NTE5MkVEMjA4MzAxQTJBOTA3RkQyRTAyMEUxMjM5MDdCNDBFMDYwMDlFMEY1MTU5MDdCNDJFMEY1MTY5MDM1Cis6NDAwODA2MDA3QjQxRTA2MDA5OTA3RkQ3NzQxN0YwNzQzN0YwRTQ5MDdGRDNGMDkwN0ZDMkUwMzBFMTAzMDIwOTIwRTUwQTcwNDAzMDA3MzlFNTM4NzAzNUMyMDdGNTE4N0UwMDdCMDA3NDI0MjUxOEY5RUUzNDAwRkExMjBFOENGRjc0ODAyNUJECis6NDAwODQ2MDAxOEY1ODJFNDM0N0JGNTgzRUZGMDA1MThFNTE4QjQwOURCOTA3RkMzNzQwOUYwNzUzODEwRTRGNTJDNzUwQTAxMjJFNTBBNjQwMTcwNDAzMDA4MzlFNTM5NzAzNUMyMDhGNTE4N0UwMDdCMDA3NDJEMjUxOEY5RUUzNDAwRkExMjk3Cis6NDAwODg2MDAwRThDRkY3NDgwMjUxOEY1ODJFNDM0N0JGNTgzRUZGMDA1MThFNTE4QjQwOURCOTA3RkMzNzQwOUYwNzUzOTEwRTRGNTM1NzUwQTAyMjJFNTBBNjQwMjcwMzYzMDE0MkZDMjE0RjUxODdFMDA3QjAwNzQwRTI1MThGOUVFMzQwMDgzCis6NDAwOEM2MDBGQTEyMEU4Q0ZGNzQ4MDI1MThGNTgyRTQzNDdCRjU4M0VGRjAwNTE4RTUxOEI0MDVEQjkwN0ZDMzc0MDVGMDc1MEEwMzIyRTUxNTYwMzAxNTE1RTRGNTE4N0UwMDdCMDA3NDE0MjUxOEY5RUUzNDAwRkExMjBFOENGRjc0ODAyNUYyCis6NDAwOTA2MDAxOEY1ODJFNDM0N0JGNTgzRUZGMDA1MThFNTE4QjQwM0RCOTA3RkMzNzQwM0YwRTRGNTBBMjI5MDdGRTlFMDEyMEVFNDBBMDgwMDBBN0MwMTBBRTgwMzA5NDQwNjA5RkIwODA5RjUwOTA5REQwQTA5RUMwQjAwMDAwQjM3OTA3RjNECis6NDAwOTQ2MDBFQkUwMjRGRTYwMTkxNDYwNjEyNDAyNjAwMzAyMDlEMzc0MTk5MDdGRDRGMDc0MDA5MDdGRDVGMDAyMEIzRTkwN0ZFQUUwNzAwNDdGMDI4MDAyN0YwMzc1ODI4Mjc1ODMxOUVGRjA3NTgyN0I3NTgzMTlGMDc1ODI3NDc1ODMxOUIyCis6NDAwOTg2MDBGMDc1ODI2Njc1ODMxOUYwNzU4MjU4NzU4MzE5RjA5MDdGRUFFMDA0NzU4MjE3NzU4MzE5RjA3NDE5OTA3RkQ0RjA3NDEyOTA3RkQ1RjAwMjBCM0U5MDdGRUFFMEZGMTIwRjBBRUE0OTYwMERFQTkwN0ZENEYwRTk5MDdGRDVGMDg1Cis6NDAwOUM2MDAwMjBCM0U5MDdGQjRFMDQ0MDFGMDAyMEIzRTkwN0ZCNEUwNDQwMUYwMDIwQjNFOTA3RjAwRTUwOUYwOTA3RkI1NzQwMUYwMDIwQjNFOTA3RkVBRTBGNTA5MDIwQjNFMTIwQjQ2MDIwQjNFOTA3RjAwNzQwMUYwOTA3RkI1RjAwMjA1Cis6NDAwQTA2MDAwQjNFOTA3RkU4RTAyNDdGNjAyNDE0NjAzMTI0MDI3MDVCQTIxMEU0MzNGRjI1RTBGRkEyMTZFNDMzNEY5MDdGMDBGMEU0QTNGMDkwN0ZCNTc0MDJGMDAyMEIzRUU0OTA3RjAwRjBBM0YwOTA3RkI1NzQwMkYwMDIwQjNFOTA3RjA0Cis6NDAwQTQ2MDBFQ0UwRjQ1NDgwRkZDNDU0MEZGRkUwNTQwNzJGMjVFMDI0QjRGNTgyRTQzNDdGRjU4M0UwNTRGRDkwN0YwMEYwRTRBM0YwOTA3RkI1NzQwMkYwMDIwQjNFOTA3RkI0RTA0NDAxRjAwMjBCM0U5MDdGRThFMDI0RkU2MDFEMjQwMjBGCis6NDAwQTg2MDA2MDAzMDIwQjNFOTA3RkVBRTBCNDAxMDVDMjEwMDIwQjNFOTA3RkI0RTA0NDAxRjAwMjBCM0U5MDdGRUFFMDcwMzg5MDdGRUNFMEY0NTQ4MEZGQzQ1NDBGRkZFMDU0MDcyRjI1RTAyNEI0RjU4MkU0MzQ3RkY1ODNFNEYwOTA3RkI2Cis6NDAwQUM2MDBFQ0UwNTQ4MEZGMTMxMzEzNTQxRkZGRTA1NDA3MkY5MDdGRDdGMEUwNDQyMEYwODA1RjkwN0ZCNEUwNDQwMUYwODA1NjkwN0ZFOEUwMjRGRTYwMTgyNDAyNzA0QTkwN0ZFQUUwQjQwMTA0RDIxMDgwM0Y5MDdGQjRFMDQ0MDFGMDQ5Cis6NDAwQjA2MDA4MDM2OTA3RkVBRTA3MDIwOTA3RkVDRTBGNDU0ODBGRkM0NTQwRkZGRTA1NDA3MkYyNUUwMjRCNEY1ODJFNDM0N0ZGNTgzNzQwMUYwODAxMDkwN0ZCNEUwNDQwMUYwODAwNzkwN0ZCNEUwNDQwMUYwOTA3RkI0RTA0NDAyRjAyMkQ0Cis6NDAwQjQ2MDBFNDkwN0Y5M0YwOTA3RjlDNzQzMEYwRTQ5MDdGOTZGMDkwN0Y5NTc0QzBGMDkwN0Y5RTc0M0ZGMDkwN0Y5ODc0MThGMEU0RjU4RTkwN0ZERjc0RkZGMDkwN0ZERUYwRTRGNTI0NzUxODAxN0IwMDc0MjQyNTE4RjlFNDM0MDBGQThCCis6NDAwQjg2MDBFNDEyMEVEMjA1MThFNTE4QjQwOUVBNzUzQTAxRTRGNTM4RjUxM0Y1MzZDMjA3QzIwQkMyMDVDMjAwQzIwOUMyMTM5MDdGOTg3NDEzRjA3NTQ0MDM5MEMwMDA3NDAzRjA3RjBDRTRGRDEyMTFCMTdGMTA4RjQyMTIxMDgxOTA3RjAyCis6NDAwQkM2MDA5ODc0MTJGMDdGMDE4RjQwRUY0NDA2OTBDMDAwRjA5MDdGOTg3NDE0RjA3NTQ2ODA5MEMwMDA3NDgwRjAwRkU0RkQxMjExQjFFNEZGN0VBM0FEMDY4RDNFMTIxMUIxOTA3Rjk4NzQxMUYwOTBDMDAwRTRGMDdGMDU3RDdGMTIxMThFCis6NDAwQzA2MDBCMTdGMDExMjEyNkE3RjAzN0QwNzEyMTFCMTIwMUIwMzAyMENCNzc1MkQwMTc1MTgwMTdCMDA3NDJEMjUxOEY5RTQzNDAwRkFFNDEyMEVEMjA1MThFNTE4QjQwOUVBNzUzQjAxRTRGNTM5RjUxM0Y1MzdDMjA4QzIwQ0MyMDZDMkNECis6NDAwQzQ2MDAwMEMyMEFDMjEzOTA3Rjk4NzQwQkYwNzU0NTAzOTBDMDAwNzQwM0YwN0YwQ0U0RkQxMjExRkI3RjEwOEY0MzEyMTBGMzkwN0Y5ODc0MEFGMDdGMDE4RjQxRUY0NDA2OTBDMDAwRjA5MDdGOTg3NDBDRjA3NTQ3ODA5MEMwMDA3NDRFCis6NDAwQzg2MDA4MEYwMEZFNEZEMTIxMUZCRTRGRjdFQTNBRDA2OEQzRjEyMTFGQjkwN0Y5ODc0MDlGMDkwQzAwMEU0RjA3RjA1N0Q3RjEyMTFGQjdGMDExMjEyOEI3RjAzN0QwNzEyMTFGQkQyMTIyMjkwN0Y5ODc0MTBGMEFGMDhFNTBERjU4MkE1Cis6NDAwQ0M2MDBFNTBDRjU4M0MyQUYwNTg2OTBDMDAwMDU4NkUwQTMwNTg2RjAwNTg2REZGN0QyQUYyMjkwN0Y5ODc0MTBGMEFGMDhFNTBERjU4MkU1MENGNTgzQzJBRjA1ODY5MEMwMDBFMDA1ODZGMEEzMDU4NkRGRjcwNTg2RDJBRjIyOTA3RjIwCis6NDAwRDA2MDA5ODc0MDhGMEFGMDhFNTBERjU4MkU1MENGNTgzQzJBRjA1ODY5MEMwMDAwNTg2RTBBMzA1ODZGMDA1ODZERkY3RDJBRjIyOTA3Rjk4NzQwOEYwQUYwOEU1MERGNTgyRTUwQ0Y1ODNDMkFGMDU4NjkwQzAwMEUwMDU4NkYwQTMwNTVDCis6NDAwRDQ2MDA4NkRGRjcwNTg2RDJBRjIyNzQwMEY1ODY5MEZEQTU3QzA1QTNFNTgyNDU4MzcwRjkyMjkwN0ZENkUwNDQ4MEYwNDM4NzAxMDAwMDAwMDAwMDIyRDIxOTkwN0Y5MkUwNDQwMkYwOTA3RkFFRTBGRkQzOTIxMEU0MzNGRUVGNEVGMDg5Cis6NDAwRDg2MDBEMkU4NDNEODIwOTA3RkRFNzQwMUYwOTA3RkRGRjA5MDdGQUI3NEZGRjA5MDdGQTlGMDkwN0ZBQUYwNTM5MUVGOTA3RkFGRTA0NDAxRjA5MDdGQUVFMDQ0MERGMEQyQUZEMjFBMTIxMjQ1QzIxMUU0RjUwQkY1MTNDMjE3QzIxMkQ0Cis6NDAwREM2MDA5MDdGQTEwNEYwOTA3RkQ4RTA2NTE3NjAxMDMwMTIwNUQyMUExMjAwNDY5MDdGRDhFMEY1MTc4MDA4MzAxMjA1QzIxQTEyMDA0NjMwMTEwN0MyMTExMjA5MjE4MEQ2MzAxOEQzQzIxODEyMTM5MzgwQ0MyMjc4N0ZFNEY2RDhGREM3Cis6NDAwRTA2MDA3NTgxNDcwMjBFNDcwMjBENkZFNDkzQTNGOEU0OTNBMzQwMDNGNjgwMDFGMjA4REZGNDgwMjlFNDkzQTNGODU0MDcyNDBDQzhDMzMzQzQ1NDBGNDQyMEM4ODM0MDA0RjQ1NjgwMDE0NkY2REZFNDgwMEIwMTAyMDQwODEwMjA0MEY1Cis6NDAwRTQ2MDA4MDkwMTJBQ0U0N0UwMTkzNjBCQ0EzRkY1NDNGMzBFNTA5NTQxRkZFRTQ5M0EzNjAwMTBFQ0Y1NEMwMjVFMDYwQTg0MEI4RTQ5M0EzRkFFNDkzQTNGOEU0OTNBM0M4QzU4MkM4Q0FDNTgzQ0FGMEEzQzhDNTgyQzhDQUM1ODNDQTFFCis6NDAwRTg2MDBERkU5REVFNzgwQkVCQjAxMDY4OTgyOEE4M0UwMjI1MDAyRTcyMkJCRkUwMkUzMjI4OTgyOEE4M0U0OTMyMkJCMDEwQ0U1ODIyOUY1ODJFNTgzM0FGNTgzRTAyMjUwMDZFOTI1ODJGOEU2MjJCQkZFMDZFOTI1ODJGOEUyMjJFNUI4Cis6NDAwRUM2MDA4MjI5RjU4MkU1ODMzQUY1ODNFNDkzMjJCQjAxMDY4OTgyOEE4M0YwMjI1MDAyRjcyMkJCRkUwMUYzMjJEMDgzRDA4MkY4RTQ5MzcwMTI3NDAxOTM3MDBEQTNBMzkzRjg3NDAxOTNGNTgyODg4M0U0NzM3NDAyOTM2ODYwRUZBM0MxCis6NDAwRjA2MDBBM0EzODBERjhGMThFNEY1MTk3NTFBRkY3NTFCMTk3NTFDODZBQjFBQUExQkE5MUM5MDAwMDExMjBFQTVCNDAzMURBRjE5MDUxOUVGQjUxODAxMjIxMjBFOEM3RTAwMjlGRkVFM0FBOTA3NzUxQUZGRjUxQjg5MUM4MEQ0N0IwMEE1Cis6NDAwRjQ2MDA3QTAwNzkwMDIyOEYxQTA1MERFNTBEQUUwQzcwMDIwNTBDMTRGNTgyOEU4M0U1MUFGMDEyMDAzNjA1MERFNTBEQUMwQzcwMDIwNTBDMTRGNTgyOEM4M0VGRjAxNTA4RTUwODYwMEExMjEzMjc4RjFBRUY0MjM2ODBDQTIyOEYxQUZDCis6NDAwRjg2MDAwNTBERTUwREFFMEM3MDAyMDUwQzE0RjU4MjhFODNFNTFBRjAxMjEzM0YwNTBERTUwREFDMEM3MDAyMDUwQzE0RjU4MjhDODNFRkYwMTUwOEU1MDg2MDBBMTIxMzdCOEYxQUVGNDIzNzgwQ0EyMkMwRTBDMDgzQzA4MkMwODVDMDg4Cis6NDAwRkM2MDA4NEMwODY3NTg2MDA5MDdGQzRFNEYwNTM5MUVGOTA3RkFCNzQwNEYwRDA4NkQwODREMDg1RDA4MkQwODNEMEUwMzJDMEUwQzA4M0MwODJDMDg1QzA4NEMwODY3NTg2MDBEMjExNTM5MUVGOTA3RkFCNzQwMUYwRDA4NkQwODREMEM2Cis6NDAxMDA2MDA4NUQwODJEMDgzRDBFMDMyQzBFMEMwODNDMDgyQzA4NUMwODRDMDg2NzU4NjAwRDIxODUzOTFFRjkwN0ZBQjc0MDhGMEQwODZEMDg0RDA4NUQwODJEMDgzRDBFMDMyOTA3Rjk4NzQxM0YwOTBDMDAwNzRCRkYwOTA3Rjk4NzQxMDhBCis6NDAxMDQ2MDBGMDkwQzAwMEVGRjA5MDdGOTg3NDEzRjBFNTQ0NTQ3RjkwQzAwMEYwMjI5MDdGOTg3NDEzRjA5MEMwMDA3NEJGRjA5MDdGOTg3NDExRjA5MEMwMDBFRkYwOTA3Rjk4NzQxM0YwRTU0NDU0N0Y5MEMwMDBGMDIyOTA3Rjk4NzQxMzQ5Cis6NDAxMDg2MDBGMDkwQzAwMDc0QkZGMDkwN0Y5ODc0MTJGMDkwQzAwMEVGRjA5MDdGOTg3NDEzRjBFNTQ0NTQ3RjkwQzAwMEYwMjI5MDdGOTg3NDEzRjA5MEMwMDA3NEJGRjA5MDdGOTg3NDE0RjA5MEMwMDBFRkYwOTA3Rjk4NzQxM0YwRTU0NEQ5Cis6NDAxMEM2MDA1NDdGOTBDMDAwRjAyMjkwN0Y5ODc0MTNGMDkwQzAwMDc0QkZGMDkwN0Y5ODc0MTZGMDkwQzAwMEVGRjA5MDdGOTg3NDEzRjBFNTQ0NTQ3RjkwQzAwMEYwMjI5MDdGOTg3NDBCRjA5MEMwMDA3NEJGRjA5MDdGOTg3NDBBRjA5MDJBCis6NDAxMTA2MDBDMDAwRUZGMDkwN0Y5ODc0MEJGMEU1NDU1NDdGOTBDMDAwRjAyMjkwN0Y5ODc0MEJGMDkwQzAwMDc0QkZGMDkwN0Y5ODc0MDhGMDkwQzAwMEVGRjA5MDdGOTg3NDBCRjBFNTQ1NTQ3RjkwQzAwMEYwMjI5MDdGOTg3NDBCRjA5MEFGCis6NDAxMTQ2MDBDMDAwNzRCRkYwOTA3Rjk4NzQwOUYwOTBDMDAwRUZGMDkwN0Y5ODc0MEJGMEU1NDU1NDdGOTBDMDAwRjAyMjkwN0Y5ODc0MEJGMDkwQzAwMDc0QkZGMDkwN0Y5ODc0MENGMDkwQzAwMEVGRjA5MDdGOTg3NDBCRjBFNTQ1NTQ3RkVDCis6NDAxMTg2MDA5MEMwMDBGMDIyOTA3Rjk4NzQwQkYwOTBDMDAwNzRCRkYwOTA3Rjk4NzQwRUYwOTBDMDAwRUZGMDkwN0Y5ODc0MEJGMEU1NDU1NDdGOTBDMDAwRjAyMjkwN0Y5ODc0MTNGMEU1NDQ1NDdGOTBDMDAwRjA5MDdGOTg3NDE3RjA5MDc1Cis6NDAxMUM2MDBDMDAwRUZGMDkwN0Y5ODc0MTVGMDkwQzAwMEVERjAyMjEyMTMwRjhGMUExMjEzMEY4RjFCRTUxQTY1MUI2MDEyMTIxMzBGOEYxQUU1MUE2NTFCNjAwNzEyMTMwRjhGMUI4MEU4QUYxQTIyOTA3Rjk4NzQwQkYwRTU0NTU0N0Y5MDk4Cis6NDAxMjA2MDBDMDAwRjA5MDdGOTg3NDBGRjA5MEMwMDBFRkYwOTA3Rjk4NzQwREYwOTBDMDAwRURGMDIyMTIxMzYzOEYxQTEyMTM2MzhGMUJFNTFBNjUxQjYwMTIxMjEzNjM4RjFBRTUxQTY1MUI2MDA3MTIxMzYzOEYxQjgwRThBRjFBMjI5MEM4Cis6NDAxMjQ2MDA3RkQ2RTA1NEZCRjBFMDQ0MDhGMDMwMUEwNEUwNDQwMkYwN0ZGNDdFMDExMjEyQzg5MDdGRDZFMDU0RjdGMEUwNDQwNEYwMjJBRTA3RTRGRkU1M0U1NDdGRkQxMjExQjE5MDdGOTg3NDExRjA5MEMwMDBFRUYwRTRFNTNFNDQ4MEU4Cis6NDAxMjg2MDBGRDEyMTFCMTIyQUUwN0U0RkZFNTNGNTQ3RkZEMTIxMUZCOTA3Rjk4NzQwOUYwOTBDMDAwRUVGMEU0RTUzRjQ0ODBGRDEyMTFGQjIyMDUwRTAyMDAwMDAwMDAwMzE0MDMwMDAwQzExMUMxMThDMTk1QzExMEMxMTYwMTBBMDBDMTlDCis6NDAxMkM2MDAxQjAwOEUxODhGMTlFNTE5MTUxOUFFMTg3MDAyMTUxODRFNjAwNTEyMEQ0RTgwRUUyMjkwN0Y5ODc0MTFGMDkwQzAwMEUwRkYyMjkwN0Y5ODc0MTJGMDkwQzAwMEUwRkYyMjUzRDhFRjMyMDAwMDAwMDAwMDAyMEZFNzAwMDIxMzBBCis6NDAxMzA2MDAwNDAwMDIwRkJEMDAwMjEwMEU5MDdGOTg3NDEzRjA5MEMwMDBFMEZGMjI5MDdGOTg3NDE0RjA5MEMwMDBFMEZGMjI5MDdGOTg3NDE1RjA5MEMwMDBFMEZGMjI5MDdGOTg3NDE2RjA5MEMwMDBFMEZGMjI5MDdGOTg3NDA4RjA5MDUwCis6NDAxMzQ2MDBDMDAwRTBGRjIyOTA3Rjk4NzQwOUYwOTBDMDAwRTBGRjIyOTA3Rjk4NzQwQUYwOTBDMDAwRTBGRjIyOTA3Rjk4NzQwQkYwOTBDMDAwRTBGRjIyOTA3Rjk4NzQwQ0YwOTBDMDAwRTBGRjIyOTA3Rjk4NzQwREYwOTBDMDAwRTBGRkM1Cis6NDAxMzg2MDAyMjkwN0Y5ODc0MEVGMDkwQzAwMEUwRkYyMjEyMDAwMzEyMEQ1RjEyMEI0NjIyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgzCis6NDAxM0M2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU3Cis6NDAxNDA2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEE2Cis6NDAxNDQ2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDY2Cis6NDAxNDg2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI2Cis6NDAxNEM2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU2Cis6NDAxNTA2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEE1Cis6NDAxNTQ2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDY1Cis6NDAxNTg2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI1Cis6NDAxNUM2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU1Cis6NDAxNjA2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEE0Cis6NDAxNjQ2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDY0Cis6NDAxNjg2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI0Cis6NDAxNkM2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU0Cis6NDAxNzA2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEEzCis6NDAxNzQ2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYzCis6NDAxNzg2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIzCis6NDAxN0M2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEUzCis6NDAxODA2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEEyCis6NDAxODQ2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYyCis6NDAxODg2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIyCis6NDAxOEM2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEyMDExMDAxRkYwMEJGCis6NDAxOTA2MDAwMDQwQ0QwNjEyMDEwMDAwMDEwMjAwMDIwOTAyNzQwMDAxMDEwMEEwMzIwOTA0MDAwMDBFRkYwMDAwMDAwNzA1MDEwMjQwMDAwMDA3MDUwMjAyNDAwMDAwMDcwNTAzMDI0MDAwMDAwNzA1MDQwMjQwMDAwMDA3MDUwNTAyNDAwMDc0Cis6NDAxOTQ2MDAwMDA3MDUwNjAyNDAwMDAwMDcwNTA3MDI0MDAwMDAwNzA1ODEwMjQwMDAwMTA3MDU4MjAyNDAwMDAxMDcwNTgzMDI0MDAwMDEwNzA1ODQwMjQwMDAwMTA3MDU4NTAyNDAwMDAxMDcwNTg2MDI0MDAwMDEwNzA1ODcwMjQwMDAwMUYzCis6NDAxOTg2MDAwNDAzMDkwNDQ4MDM0QjAwNjUwMDc5MDA3MzAwNzAwMDYxMDA2RTAwMkMwMDIwMDA2MTAwMjAwMDY0MDA2OTAwNzYwMDY5MDA3MzAwNjkwMDZGMDA2RTAwMjAwMDZGMDA2NjAwMjAwMDQ5MDA2RTAwNkUwMDZGMDA1MzAwNzkwMDQwCis6NDAxOUM2MDA3MzAwMjAwMDQ5MDA2RTAwNjMwMDJFMDAzNjAzNEIwMDY1MDA3OTAwNzMwMDcwMDA2MTAwNkUwMDIwMDA1NTAwNTMwMDQyMDAyMDAwNTMwMDY1MDA3MjAwNjkwMDYxMDA2QzAwMjAwMDQxMDA2NDAwNjEwMDcwMDA3NDAwNjUwMEY5Cis6MTQxQTA2MDA3MjAwMTAwMzMwMDAzMDAwMzAwMDMwMDAzMDAwMzAwMDMwMDAwMDAwRjcKKzowMDAwMDAwMUZGCisKKwlUaGUgZmlybXdhcmUgY29udGFpbmVkIGhlcmVpbiBpcworCisJCUNvcHlyaWdodCAoQykgMTk5OS0yMDAxCisJCUtleXNwYW4sIEEgZGl2aXNpb24gb2YgSW5ub1N5cyBJbmNvcnBvcmF0ZWQgKCJLZXlzcGFuIikKKworCWFzIGFuIHVucHVibGlzaGVkIHdvcmsuIFRoaXMgbm90aWNlIGRvZXMgbm90IGltcGx5IHVucmVzdHJpY3RlZCBvcgorCXB1YmxpYyBhY2Nlc3MgdG8gdGhlIHNvdXJjZSBjb2RlIGZyb20gd2hpY2ggdGhpcyBmaXJtd2FyZSBpbWFnZSBpcworCWRlcml2ZWQuICBFeGNlcHQgYXMgbm90ZWQgYmVsb3cgdGhpcyBmaXJtd2FyZSBpbWFnZSBtYXkgbm90IGJlCisJcmVwcm9kdWNlZCwgdXNlZCwgc29sZCBvciB0cmFuc2ZlcnJlZCB0byBhbnkgdGhpcmQgcGFydHkgd2l0aG91dAorCUtleXNwYW4ncyBwcmlvciB3cml0dGVuIGNvbnNlbnQuICBBbGwgUmlnaHRzIFJlc2VydmVkLgorCisJUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCBmb3IgdGhlIGRpc3RyaWJ1dGlvbiBvZiB0aGlzIGZpcm13YXJlCisJaW1hZ2UgYXMgcGFydCBvZiBhIExpbnV4IG9yIG90aGVyIE9wZW4gU291cmNlIG9wZXJhdGluZyBzeXN0ZW0ga2VybmVsCisJaW4gdGV4dCBvciBiaW5hcnkgZm9ybSBhcyByZXF1aXJlZC4KKworCVRoaXMgZmlybXdhcmUgbWF5IG5vdCBiZSBtb2RpZmllZCBhbmQgbWF5IG9ubHkgYmUgdXNlZCB3aXRoCisJS2V5c3BhbiBoYXJkd2FyZS4gIERpc3RyaWJ1dGlvbiBhbmQvb3IgTW9kaWZpY2F0aW9uIG9mIHRoZQorCWtleXNwYW4uYyBkcml2ZXIgd2hpY2ggaW5jbHVkZXMgdGhpcyBmaXJtd2FyZSwgaW4gd2hvbGUgb3IgaW4KKwlwYXJ0LCByZXF1aXJlcyB0aGUgaW5jbHVzaW9uIG9mIHRoaXMgc3RhdGVtZW50LiIKZGlmZiAtLWdpdCBhL2Zpcm13YXJlL2tleXNwYW4vdXNhMTkuSEVYIGIvZmlybXdhcmUva2V5c3Bhbi91c2ExOS5IRVgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzVkMTQ5NgotLS0gL2Rldi9udWxsCisrKyBiL2Zpcm13YXJlL2tleXNwYW4vdXNhMTkuSEVYCkBAIC0wLDAgKzEsMTAxIEBACis6MEEwMDI2MDAxMjBEQkYxMjBGNDcxMjBENkIyMkRFCis6MDMwMDMzMDAwMjAwMUFBRQorOjA0MDAxQTAwNTNEOEVGMzI5NgorOjEwMDAwMzAwOEUxMzhGMTRFNTE0MTUxNEFFMTM3MDAyMTUxMzRFNjA3RQorOjA3MDAxMzAwMDUxMjBGMzY4MEVFMjJGQQorOjAzMDAyMzAwMDIwMDQ2OTIKKzoxMDAwNDYwMEMwRTBDMDgzQzA4MkMwODY3NTg2MDBDMEQwNzVEMDA4NjcKKzoxMDAwNTYwMDMwOTkwRTMwMDgwN0EyMEI5MjlCODUzNTk5QzI5OUQyMkEKKzoxMDAwNjYwMDBGMjAwRjAzMDIwNDMxQzIwRjIwMDIwMzAyMDI1NjIwQTIKKzoxMDAwNzYwMDA4MDMwMjAxMjdFNTM3QzM5NTUwNTAzRTIwMDkzNjIwNzQKKzoxMDAwODYwMDA2MzM5MDdGOUJFMDMwRTMwMzIwMEUyOTMwMEQxMkFGM0MKKzoxMDAwOTYwMDM3MDUzNzc0NDAyRkY1ODJFNDM0N0VGNTgzRTAxMzkyRkEKKzoxMDAwQTYwMDBCQUYzNzA1Mzc3NDQwMkZGNTgyRTQzNDdFRjU4M0UwRDUKKzoxMDAwQjYwMEY1MzUwMjA0MkZDMjA4MDIwNDJGOTA3RkM3RTRGMEMyNzAKKzoxMDAwQzYwMDAyMzAwQTBDQzIwQTkwN0ZCQjA0RjBDMjA4MDIwNDJGNTkKKzoxMDAwRDYwMDkwN0ZDOEUwMzBFMTA1QzIwODAyMDQyRjkwN0ZDOUUwOTYKKzoxMDAwRTYwMEY1NTA5MDdEQzBFMDEzOTIwQTIwMDkyRDIwMDYyQTkwMzMKKzoxMDAwRjYwMDdGOUJFMDMwRTMwMzIwMEUyMDMwMEQxMTkwN0RDMUUwQTAKKzowMzAwNDMwMDAyMEYwMEE5Cis6MDMwMDAwMDAwMjBDNjE4RQorOjQwMDEwNjAwMTM5MjBCQTNFMEY1MzU3NTM3MDMwMjA0MkY3NTM3MDI5MDdEQzFFMEY1MzUwMjA0MkY3NTM3MDFDMjA4MDIwNDJGRTUzN0MzOTU1MDUwMDMwMjAxQ0Y5MDdGQzZFMDMwRTEwN0MyMTBDMjAzMDIwNDJGOTA3RkM3RTBGNTUwOTAwNAorOjQwMDE0NjAwN0U0MEUwMTM5MjBBMzAwOTAzMDIwMUM3MjAwNjcyMjAwMDZGOTA3RjlCRTAzMEUzMDMyMDBFNjUzMDBEMTA5MDdFNDFFMDEzOTI5QkEzRTBGNTk5NzUzNzAzODAwOTkwN0U0MUUwRjU5OTc1MzcwMkU1MzdDMzk1NTA0MDE3OTBCMQorOjQwMDE4NjAwN0ZDN0U0RjBDMjAyMjAwQTAzMDIwNDJGQzIwQTkwN0ZCQjA0RjAwMjA0MkYzMDBEMTJBRjM3MDUzNzc0NDAyRkY1ODJFNDM0N0VGNTgzRTAxMzkyMEJBRjM3MDUzNzc0NDAyRkY1ODJFNDM0N0VGNTgzRTBGNTM1RDIwODAyMDQ1RAorOjQwMDFDNjAwMkY3NTM3MDFDMjEwMDIwNDJGMzAwOTAzMDIwMjUxMjAwNjc5OTA3RjlCRTAzMEUzMDMyMDBFNkYzMDBEMTJBRjM3MDUzNzc0NDAyRkY1ODJFNDM0N0VGNTgzRTAxMzkyOUJBRjM3MDUzNzc0NDAyRkY1ODJFNDM0N0VGNTgzRTA0NgorOjQwMDIwNjAwRjU5OUU1MzdDMzk1NTA0MDE3OTA3RkM3RTRGMEMyMDIyMDBBMDMwMjA0MkZDMjBBOTA3RkJCMDRGMDAyMDQyRjMwMEQxMkFGMzcwNTM3NzQ0MDJGRjU4MkU0MzQ3RUY1ODNFMDEzOTIwQkFGMzcwNTM3NzQ0MDJGRjU4MkU0MzQ4MworOjQwMDI0NjAwN0VGNTgzRTBGNTM1RDIwODAyMDQyRkMyMTAwMjA0MkYyMDA4MDMwMjAzMDhFNTM3QzM5NTUwNTAzRTIwMDkzNjIwMDYzMzkwN0Y5QkUwMzBFMzAzMjAwRTI5MzAwRDEyQUYzNzA1Mzc3NEMwMkZGNTgyRTQzNDdERjU4M0UwMTNERQorOjQwMDI4NjAwOTIwQkFGMzcwNTM3NzRDMDJGRjU4MkU0MzQ3REY1ODNFMEY1MzUwMjA0MkZDMjA4MDIwNDJGOTA3RkM5RTRGMEQyMDIzMDBBMENDMjBBOTA3RkJCMDRGMEMyMDgwMjA0MkY5MDdGQzZFMDMwRTEwNUMyMDgwMjA0MkY5MDdGQzc2NQorOjQwMDJDNjAwRTBGNTUwOTA3RTQwRTAxMzkyMEEyMDA5MkQyMDA2MkE5MDdGOUJFMDMwRTMwMzIwMEUyMDMwMEQxMTkwN0U0MUUwMTM5MjBCQTNFMEY1MzU3NTM3MDMwMjA0MkY3NTM3MDI5MDdFNDFFMEY1MzUwMjA0MkY3NTM3MDFDMjA4MDJFRgorOjQwMDMwNjAwMDQyRkU1MzdDMzk1NTA1MDAzMDIwM0IwOTA3RkM4RTAzMEUxMDdDMjEwQzIwMzAyMDQyRjkwN0ZDOUUwRjU1MDkwN0RDMEUwMTM5MjBBMzAwOTAzMDIwM0E4MjAwNjcyMjAwMDZGOTA3RjlCRTAzMEUzMDMyMDBFNjUzMDBEMTAzNAorOjQwMDM0NjAwOTA3REMxRTAxMzkyOUJBM0UwRjU5OTc1MzcwMzgwMDk5MDdEQzFFMEY1OTk3NTM3MDJFNTM3QzM5NTUwNDAxNzkwN0ZDOUU0RjBEMjAyMjAwQTAzMDIwNDJGQzIwQTkwN0ZCQjA0RjAwMjA0MkYzMDBEMTJBRjM3MDUzNzc0QzBGNQorOjQwMDM4NjAwMkZGNTgyRTQzNDdERjU4M0UwMTM5MjBCQUYzNzA1Mzc3NEMwMkZGNTgyRTQzNDdERjU4M0UwRjUzNUQyMDgwMjA0MkY3NTM3MDFDMjEwMDIwNDJGMzAwOTAzMDIwNDJEMjAwNjc0OTA3RjlCRTAzMEUzMDMyMDBFNkEzMDBEMTI4RQorOjQwMDNDNjAwQUYzNzA1Mzc3NEMwMkZGNTgyRTQzNDdERjU4M0UwMTM5MjlCQUYzNzA1Mzc3NEMwMkZGNTgyRTQzNDdERjU4M0UwRjU5OUU1MzdDMzk1NTA0MDEzOTA3RkM5RTRGMEQyMDIzMDBBMzVDMjBBOTA3RkJCMDRGMDgwMkMzMDBEMTJDQworOjQwMDQwNjAwQUYzNzA1Mzc3NEMwMkZGNTgyRTQzNDdERjU4M0UwMTM5MjBCQUYzNzA1Mzc3NEMwMkZGNTgyRTQzNDdERjU4M0UwRjUzNUQyMDg4MDAyQzIxMEQyMTIyMDk4MDMwMjA1NkRDMjk4MjAwMTAzMDIwNERBMjAxMTI3QUYzNjA1MzZGMworOjQwMDQ0NjAwNzQ4MDJGRjU4MkU0MzQ3RUY1ODNFNTk5RjAzMDBENERBRjM2MDUzNjc0ODAyRkY1ODJFNDM0N0VGNTgzRTU5OEYwODAzQTg1OTkxMEU1MTBCNTQ0MDREMjA2ODAyRUU1MTBCNTQzMDRDMjA2ODAyNUFGMzYwNTM2NzQ4MDJGRjVBQgorOjQwMDQ4NjAwODJFNDM0N0VGNTgzRTUxMEYwMzAwRDExQUYzNjA1MzY3NDgwMkZGNTgyRTQzNDdFRjU4M0U1OThGMEQyMENFNTM2QzM5NTQwNTAwMzAyMDU2QjkwN0ZCOEUwMzBFMTE2RTUzNkMzOTQ0MDUwMDMwMjA1NkIxNTM2MTUzNjA1MkJERAorOjQwMDRDNjAwNDMzMzAxMDIwNTZCOTA3RkI3RTUzNkYwNzUzNjAwQzIwMTAyMDU2QjIwMTEyN0FGMzYwNTM2NzQwMDJGRjU4MkU0MzQ3RUY1ODNFNTk5RjAzMDBENERBRjM2MDUzNjc0MDAyRkY1ODJFNDM0N0VGNTgzRTU5OEYwODAzQTg1OTkzNworOjQwMDUwNjAwMTBFNTEwQjU0NDA0RDIwNjgwMkVFNTEwQjU0MzA0QzIwNjgwMjVBRjM2MDUzNjc0MDAyRkY1ODJFNDM0N0VGNTgzRTUxMEYwMzAwRDExQUYzNjA1MzY3NDAwMkZGNTgyRTQzNDdFRjU4M0U1OThGMEQyMENFNTM2QzM5NTQwNDBDRQorOjQwMDU0NjAwMjQ5MDdGQjZFMDMwRTExMkU1MzZDMzk0NDA0MDE2MTUzNjE1MzYwNTJCNDMzMzAxODAwQjkwN0ZCOUU1MzZGMDc1MzYwMEQyMDFEMjEyMzAxMjA1QzIxMjAyMDA1NkQwRDBEMDg2RDA4MkQwODNEMEUwMzI5MDdGQ0FFMDMwRTFDQQorOjQwMDU4NjAwMDMwMjA2QUJFNEY1MTM3NDQwMjUxM0Y1ODJFNDM0N0RGNTgzRTBGRkU1MTM3QzAwN0IwMDI0MzhGOUVDMzQwMEZBRUYxMjBEMzMwNTEzRTUxM0I0MThEQkU1Mzg2MDBDNzVDOTIwNzVDODM0ODUzOUNBODUzQUNCRTUzQjEzOTJCRgorOjQwMDVDNjAwMEQ5MjlGRTUzQzEzOTIwRUU1M0QxMzkyMTFFNTNFNjAwOTkwN0Y5OEUwNTRGQkYwODAwNzkwN0Y5OEUwNDQwNEYwRTUzRjYwMDk5MDdGOThFMDU0N0ZGMDgwMDc5MDdGOThFMDQ0ODBGMEU1NDU2MDBCQzIwOUMyMDY5MDdGOTUwRQorOjQwMDYwNjAwRTA0NDAyRjBFNTQ2NjAwQ0QyMDY0MzMzMDE5MDdGOTVFMDQ0MDJGMEU1NDc2MDBEQzJBRkMyMDhEMjAwRTRGNTUwRjUzN0QyQUZFNTQ4NjAwNTMwMTEwMkQyMDZFNTQ5NjAxNTkwN0Y5NUUwNTRGREYwOTA3RjlFRTA0NDAyRjBBQQorOjQwMDY0NjAwOTA3Rjk4RTA1NEZERjBFNTRBNjAwQUQyOUNDMjk4NzUyQzAxNzUzMTFFRTU0QjYwMDdDMjlDRTRGNTM2RjUyQ0U1NEM2MDAzRTRGNTM2RTU0RDYwMDJEMjA0RTU0RTYwMEFFNTRBNzAwMkY1MzFFNTRFNDIzM0U1NEY2MDFGOTA2NAorOjQwMDY4NjAwN0ZENzc0MTFGMDc0MzFGMDc0MTJGMDc0MzJGMDc0MTNGMDc0MzNGMDc0MTRGMDc0MzRGMEQyMDJEMjAxRDIwNUU0OTA3RkNCRjBBMjA5RTQzM0ZGNjUyOTYwMDU4RjI5NDMzMzAxQTIwNkU0MzNGRjY1MkE2MDA1OEYyQTQzMzNCQQorOjQwMDZDNjAwMDE5MDdGOUJFMDU0MDhCNTI1MEFFMDU0MDg2NDA4RjUyNTQzMzMwMTkwN0Y5QkUwNTQxMEI1MjYwQUUwNTQxMDY0MTBGNTI2NDMzMzAxOTA3RjlCRTA1NDQwQjUyNzBBRTA1NDQwNjQ0MEY1Mjc0MzMzMDE5MDdGOUJFMDU0MjAyNgorOjQwMDcwNjAwQjUyODBBRTA1NDIwNjQyMEY1Mjg0MzMzMDEzMDA0MzVDMkFGMzAwMTE4OTA3RkI4RTAyMEUxMjdFNTM2NjAwOTkwN0ZCN0YwRTRGNTM2QzIwMUMyMDQ4MDE2OTA3RkI2RTAyMEUxMEZFNTM2NjAwOTkwN0ZCOUYwRTRGNTM2RDIzNAorOjQwMDc0NjAwMDFDMjA0RDJBRjIwMDMzNzMwMDIxQjkwN0ZDNkUwMjBFMTJEOTA3RTQwRTAxMzkyMEE3NTM3MDE5MDdGQzdFMEY1NTBEMjAzODAxOTkwN0ZDOEUwMjBFMTEyOTA3REMwRTAxMzkyMEE3NTM3MDE5MDdGQzlFMEY1NTBEMjAzMjBFOQorOjQwMDc4NjAwMTAzMzIwMDAwNkU1Mzc2NTUwNzAyQTMwMDMxQTMwMDIwOUU0OTA3RkM3RjBDMjAyODAwN0U0OTA3RkM5RjBEMjAyQzIwM0U0RjU1MEY1MzczMDBBMEFDMjBBQzIwMDkwN0ZCQjc0MDFGMDMwMTAwMzAyMDhDNTIwMDMwMzAyMDgwNQorOjQwMDdDNjAwQzUzMDBFMEE5MDdGOUJFMDMwRTMwMzAyMDhDNTMwMDYwMzAyMDhDNTMwMDkwMzAyMDhDNTMwMDI2MjMwMEQxMkFGMzcwNTM3NzQ0MDJGRjU4MkU0MzQ3RUY1ODNFMDEzOTIxOUFGMzcwNTM3NzQ0MDJGRjU4MkU0MzQ3RUY1ODNDRgorOjQwMDgwNjAwRTBGNTE0RTUzN0MzOTU1MDUwMkEzMDBEMTJBRjM3MDUzNzc0NDAyRkY1ODJFNDM0N0VGNTgzRTAxMzkyMEJBRjM3MDUzNzc0NDAyRkY1ODJFNDM0N0VGNTgzRTBGNTM1RDIwODgwNkJDMjA4RTQ5MDdGQzdGMEMyMDI4MDYwMzA4MQorOjQwMDg0NjAwMEQxMkFGMzcwNTM3NzRDMDJGRjU4MkU0MzQ3REY1ODNFMDEzOTIxOUFGMzcwNTM3NzRDMDJGRjU4MkU0MzQ3REY1ODNFMEY1MTRFNTM3QzM5NTUwNTAyQTMwMEQxMkFGMzcwNTM3NzRDMDJGRjU4MkU0MzQ3REY1ODNFMDEzOTI5RgorOjQwMDg4NjAwMEJBRjM3MDUzNzc0QzAyRkY1ODJFNDM0N0RGNTgzRTBGNTM1RDIwODgwMDlDMjA4RTQ5MDdGQzlGMEQyMDIzMDBEMDRBMjE5OTI5QkQyMTBDMkFGODUxNDk5MjAwODBEMzAwQTBBQzIwQUMyMDA5MDdGQkI3NDAxRjBEMkFGOTA3MgorOjQwMDhDNjAwN0ZCQ0UwMjBFMTUxRTUzMzYwNERFNTMxNzA0OUU1MzMzMEUxMDhFNEY1MkY3NTMzMDE4MDBCQTIwNUU0MzNGNTJGQzIwNUU0RjUzM0U0RjUxMzdFMDA3QjAwNzQyNDI1MTNGOUVFMzQwMEZBMTIwQ0VERkY3NDAwMjUxM0Y1ODJEOAorOjQwMDkwNjAwRTQzNDdERjU4M0VGRjAwNTEzRTUxM0I0MENEQjkwN0ZCRDc0MENGMDc1MzExMDIyOTA3RkU5RTAxMjBENDUwQTAzMDAwQTc3MDEwQUUzMDMwOTQxMDYwOUY0MDgwOUU4MDkwOUQwMEEwOURGMEIwMDAwMEIzMjkwN0ZFQkUwMjRFQgorOjQwMDk0NjAwRkU2MDE2MTQ2MDU3MjQwMjcwNzY3NDBGOTA3RkQ0RjA3NDY0OTA3RkQ1RjAwMjBCMzk5MDdGRUFFMDcwMDQ3RjAyODAwMjdGMDM3NTgyQjU3NTgzMEZFRkYwNzU4MkFFNzU4MzBGRjA3NTgyQTc3NTgzMEZGMDc1ODJBMDc1ODNCQQorOjQwMDk4NjAwMEZGMDkwN0ZFQUUwMDQ3NTgyN0I3NTgzMEZGMDc0MEY5MDdGRDRGMDc0NzY5MDdGRDVGMDAyMEIzOTkwN0ZFQUUwRkYxMjBFNDhFQTQ5NjAwREVBOTA3RkQ0RjBFOTkwN0ZENUYwMDIwQjM5OTA3RkI0RTA0NDAxRjAwMjBCMzlENAorOjQwMDlDNjAwOTA3RkI0RTA0NDAxRjAwMjBCMzk5MDdGMDBFNTE5RjA5MDdGQjU3NDAxRjAwMjBCMzk5MDdGRUFFMEY1MTkwMjBCMzk5MDdGRUFFMEY1MTgxMjBENkIwMjBCMzk5MDdGMDBFNTE4RjA5MDdGQjU3NDAxRjAwMjBCMzk5MDdGRTgyMgorOjQwMEEwNjAwRTAyNDdGNjAyNDE0NjAzMTI0MDI3MDVCQTIxM0U0MzNGRjI1RTBGRkEyMTdFNDMzNEY5MDdGMDBGMEU0QTNGMDkwN0ZCNTc0MDJGMDAyMEIzOUU0OTA3RjAwRjBBM0YwOTA3RkI1NzQwMkYwMDIwQjM5OTA3RkVDRTBGNDU0ODBCNgorOjQwMEE0NjAwRkZDNDU0MEZGRkUwNTQwNzJGMjVFMDI0QjRGNTgyRTQzNDdGRjU4M0UwNTRGRDkwN0YwMEYwRTRBM0YwOTA3RkI1NzQwMkYwMDIwQjM5OTA3RkI0RTA0NDAxRjAwMjBCMzk5MDdGRThFMDI0RkU2MDFEMjQwMjYwMDMwMjBCMzkwNAorOjQwMEE4NjAwOTA3RkVBRTBCNDAxMDVDMjEzMDIwQjM5OTA3RkI0RTA0NDAxRjAwMjBCMzk5MDdGRUFFMDcwMzg5MDdGRUNFMEY0NTQ4MEZGQzQ1NDBGRkZFMDU0MDcyRjI1RTAyNEI0RjU4MkU0MzQ3RkY1ODNFNEYwOTA3RkVDRTA1NDgwRkZDQworOjQwMEFDNjAwMTMxMzEzNTQxRkZGRTA1NDA3MkY5MDdGRDdGMEUwNDQyMEYwODA1RjkwN0ZCNEUwNDQwMUYwODA1NjkwN0ZFOEUwMjRGRTYwMTgyNDAyNzA0QTkwN0ZFQUUwQjQwMTA0RDIxMzgwM0Y5MDdGQjRFMDQ0MDFGMDgwMzY5MDdGRUEzNgorOjQwMEIwNjAwRTA3MDIwOTA3RkVDRTBGNDU0ODBGRkM0NTQwRkZGRTA1NDA3MkYyNUUwMjRCNEY1ODJFNDM0N0ZGNTgzNzQwMUYwODAxMDkwN0ZCNEUwNDQwMUYwODAwNzkwN0ZCNEUwNDQwMUYwOTA3RkI0RTA0NDAyRjAyMjIwMTUwMzAyMEIzRQorOjQwMEI0NjAwRDNFNTMxNjAwMjE1MzFFNTM2NjA0RjY1MzQ3MDQ1RTUzMkY0NjAwMjA1MzJFNTMyQzM5NTQxNDAzREMyQUYzMDAxMTg5MDdGQjhFMDIwRTEyNzkwN0ZCN0U1MzZGMEMyMDFFNEY1MzZGNTMyRjUzNDgwMTY5MDdGQjZFMDIwRTEzRAorOjQwMEI4NjAwMEY5MDdGQjlFNTM2RjBEMjAxRTRGNTM2RjUzMkY1MzREMkFGODAwNjg1MzYzNEU0RjUzMkU1MkM2MDJGMjAwQzA3OTA3RjlCRTAzMEUwMEZFNTJENjAwNkU0RjUyRDQzMzMwMUU0RjUzMDgwMTRFNTMwRDM5NTQyNTAwREU1MzBEQgorOjQwMEJDNjAwQjU0MjA2NzUyRDAxNDMzMzAxMDUzMEMyMEMyMjc1MTIwMUMyMTRDMjE4QzIxM0MyMTdDMjE1QzIxMkQyMTZFNEY1MTg5MDdGOTJFMDU0RkRGMDkwN0ZBRUUwRkZEMzkyMTNFNDMzRkVFRjRFRjBEMkU4NDNEODIwOTA3RkRFNzREQgorOjQwMEMwNjAwMDFGMDkwN0ZERkYwOTA3RkFCNzRGRkYwOTA3RkE5RjA5MDdGQUFGMDUzOTFFRjkwN0ZBRkUwNDQwMUYwOTA3RkFFRTA0NDBERjBEMkFGRDJCQ0QyMTkxMjBFREFDMjE0MzAxNTAzMTIwNTgwOTA3RkQ4RTA2NTExNjAwOEUwRjVDQQorOjQwMEM0NjAwMTExMjBCNDE4MEVBMzAxNDA3QzIxNDEyMDkxRTgwRTAzMDE4RERDMjE4MTIwMDI2ODBENjIyNzg3RkU0RjZEOEZENzU4MTUwMDIwQ0E4MDIwQkQ0RTQ5M0EzRjhFNDkzQTM0MDAzRjY4MDAxRjIwOERGRjQ4MDI5RTQ5M0EzRjgzQgorOjQwMEM4NjAwNTQwNzI0MENDOEMzMzNDNDU0MEY0NDIwQzg4MzQwMDRGNDU2ODAwMTQ2RjZERkU0ODAwQjAxMDIwNDA4MTAyMDQwODA5MDBFMDRFNDdFMDE5MzYwQkNBM0ZGNTQzRjMwRTUwOTU0MUZGRUU0OTNBMzYwMDEwRUNGNTRDMDI1RTA4RQorOjQwMENDNjAwNjBBODQwQjhFNDkzQTNGQUU0OTNBM0Y4RTQ5M0EzQzhDNTgyQzhDQUM1ODNDQUYwQTNDOEM1ODJDOENBQzU4M0NBREZFOURFRTc4MEJFQkIwMTA2ODk4MjhBODNFMDIyNTAwMkU3MjJCQkZFMDJFMzIyODk4MjhBODNFNDkzMjI0MgorOjQwMEQwNjAwQkIwMTBDRTU4MjI5RjU4MkU1ODMzQUY1ODNFMDIyNTAwNkU5MjU4MkY4RTYyMkJCRkUwNkU5MjU4MkY4RTIyMkU1ODIyOUY1ODJFNTgzM0FGNTgzRTQ5MzIyQkIwMTA2ODk4MjhBODNGMDIyNTAwMkY3MjJCQkZFMDFGMzIyRDBFMQorOjQwMEQ0NjAwODNEMDgyRjhFNDkzNzAxMjc0MDE5MzcwMERBM0EzOTNGODc0MDE5M0Y1ODI4ODgzRTQ3Mzc0MDI5MzY4NjBFRkEzQTNBMzgwREZFNDkwN0Y5M0YwOTA3RjlDNzQzMEYwOTA3Rjk2NzQxMEYwOTA3Rjk0NzQwMUYwOTA3RjlEMDRFMgorOjQwMEQ4NjAwRjA5MDdGOTc3NDIwRjA5MDdGOTU3NDAzRjA5MDdGOUU3NDg0RjBFNDkwN0Y5OEYwOTA3RkM3RjA5MDdGQzlGMDkwN0ZDQkYwNzU5ODQwNDNBODEwOTA3RkRFNzQxRkYwOTA3RkRGNzQwRkYwRDIxNTIyRTQ5MDdGOTVGMDkwN0ZGNworOjQwMERDNjAwOTRGMDkwN0Y5M0YwOTA3RjlERTA0NDAyRjA5MDdGOTdFMDQ0MDJGMDkwN0Y5REUwNTRGREYwOTA3RjlDNzQyMEYwRTQ5MDdGOTZGMDkwN0Y5REUwNDRGREYwRTQ5MDdGOTdGMDkwN0Y5RTc0RkZGMEU0OTA3Rjk4RjAyMjBDMjREMAorOjQwMEUwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEzMDAwMDEzMzAxMDEzMjAwMDEzNzAwMDE1MDAwMDEzNjAwMDEzNDAwQzEwNUMxMENDMTAzQzEwRkMxMDRDMTBFQzExMUMxMEFDMTEwQzEwOEMxMDlDMTA2QzEwMEMxMERDMTgxQzEwOQorOjQwMEU0NjAwODIwMDhGMTNFNEY1MTQ3NTE1RkY3NTE2MEY3NTE3QjlBQjE1QUExNkE5MTc5MDAwMDExMjBEMDZCNDAzMURBRjE0MDUxNEVGQjUxMzAxMjIxMjBDRUQ3RTAwMjlGRkVFM0FBOTA3NzUxNUZGRjUxNjg5MTc4MEQ0N0IwMDdBMDA2RAorOjQwMEU4NjAwNzkwMDIyQzBFMEMwODNDMDgyQzA4NUMwODRDMDg2NzU4NjAwOTA3RkM0RTRGMDUzOTFFRjkwN0ZBQjc0MDRGMEQwODZEMDg0RDA4NUQwODJEMDgzRDBFMDMyQzBFMEMwODNDMDgyQzA4NUMwODRDMDg2NzU4NjAwRDIxNDUzOTFDNworOjQwMEVDNjAwRUY5MDdGQUI3NDAxRjBEMDg2RDA4NEQwODVEMDgyRDA4M0QwRTAzMjkwN0ZENkUwNTRGQkYwRTA0NDA4RjAzMDE5MDRFMDQ0MDJGMDdGRjQ3RTAxMTIwMDAzOTA3RkQ2RTA1NEY3RjBFMDQ0MDRGMDIyMDAwMjBFQjMwMDAyMEZDMAorOjQwMEYwNjAwMDQwMDAyMEU4OTAwMDIwRjBGQzBFMEMwODNDMDgyQzA4NUMwODRDMDg2NzU4NjAwRDIxODUzOTFFRjkwN0ZBQjc0MDhGMEQwODZEMDg0RDA4NUQwODJEMDgzRDBFMDMyNzQwMEY1ODY5MEZEQTU3QzA1QTNFNTgyNDU4MzcwRjlCOQorOjQwMEY0NjAwMjI5MDdGRDZFMDQ0ODBGMDQzODcwMTAwMDAwMDAwMDAyMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTIwMTEwMDFGRjAwMDA0MENEMDYwNzAxMDEwMDAxMDIwMDAyMDkwMjQzMDAwMTAxMDA4MDMyMDkwNDAwMDAwN0ZGMDA4QQorOjQwMEY4NjAwMDAwMDA3MDUwMTAyNDAwMDAwMDcwNTAyMDI0MDAwMDAwNzA1MDMwMjQwMDAwMDA3MDU4MTAyNDAwMDAxMDcwNTgyMDI0MDAwMDEwNzA1ODMwMjQwMDAwMTA3MDU4NDAyNDAwMDAxMDQwMzA5MDQxMDAzNEIwMDY1MDA3OTAwNzMzMgorOjE3MEZDNjAwMDA3MDAwNjEwMDZFMDAwRTAzNTMwMDY1MDA3MjAwNjkwMDYxMDA2QzAwMDAwMDY0Cis6MDAwMDAwMDFGRgorCisJVGhlIGZpcm13YXJlIGNvbnRhaW5lZCBoZXJlaW4gaXMKKworCQlDb3B5cmlnaHQgKEMpIDE5OTktMjAwMQorCQlLZXlzcGFuLCBBIGRpdmlzaW9uIG9mIElubm9TeXMgSW5jb3Jwb3JhdGVkICgiS2V5c3BhbiIpCisKKwlhcyBhbiB1bnB1Ymxpc2hlZCB3b3JrLiBUaGlzIG5vdGljZSBkb2VzIG5vdCBpbXBseSB1bnJlc3RyaWN0ZWQgb3IKKwlwdWJsaWMgYWNjZXNzIHRvIHRoZSBzb3VyY2UgY29kZSBmcm9tIHdoaWNoIHRoaXMgZmlybXdhcmUgaW1hZ2UgaXMKKwlkZXJpdmVkLiAgRXhjZXB0IGFzIG5vdGVkIGJlbG93IHRoaXMgZmlybXdhcmUgaW1hZ2UgbWF5IG5vdCBiZQorCXJlcHJvZHVjZWQsIHVzZWQsIHNvbGQgb3IgdHJhbnNmZXJyZWQgdG8gYW55IHRoaXJkIHBhcnR5IHdpdGhvdXQKKwlLZXlzcGFuJ3MgcHJpb3Igd3JpdHRlbiBjb25zZW50LiAgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKworCVBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQgZm9yIHRoZSBkaXN0cmlidXRpb24gb2YgdGhpcyBmaXJtd2FyZQorCWltYWdlIGFzIHBhcnQgb2YgYSBMaW51eCBvciBvdGhlciBPcGVuIFNvdXJjZSBvcGVyYXRpbmcgc3lzdGVtIGtlcm5lbAorCWluIHRleHQgb3IgYmluYXJ5IGZvcm0gYXMgcmVxdWlyZWQuCisKKwlUaGlzIGZpcm13YXJlIG1heSBub3QgYmUgbW9kaWZpZWQgYW5kIG1heSBvbmx5IGJlIHVzZWQgd2l0aAorCUtleXNwYW4gaGFyZHdhcmUuICBEaXN0cmlidXRpb24gYW5kL29yIE1vZGlmaWNhdGlvbiBvZiB0aGUKKwlrZXlzcGFuLmMgZHJpdmVyIHdoaWNoIGluY2x1ZGVzIHRoaXMgZmlybXdhcmUsIGluIHdob2xlIG9yIGluCisJcGFydCwgcmVxdWlyZXMgdGhlIGluY2x1c2lvbiBvZiB0aGlzIHN0YXRlbWVudC4iCmRpZmYgLS1naXQgYS9maXJtd2FyZS9rZXlzcGFuL3VzYTE5cWkuSEVYIGIvZmlybXdhcmUva2V5c3Bhbi91c2ExOXFpLkhFWApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNTNiZmNmCi0tLSAvZGV2L251bGwKKysrIGIvZmlybXdhcmUva2V5c3Bhbi91c2ExOXFpLkhFWApAQCAtMCwwICsxLDEwMSBAQAorOjAzMDAzMzAwMDIwMDFBQUUKKzowNDAwMUEwMDUzRDhFRjMyOTYKKzoxMDAwMDMwMDhFMTE4RjEyRTUxMjE1MTJBRTExNzAwMjE1MTE0RTYwOEEKKzowNzAwMTMwMDA1MTIwRjg0ODBFRTIyQUMKKzowMzAwMjMwMDAyMDA0NjkyCis6MTAwMDQ2MDBDMEUwQzA4M0MwODJDMDg2NzU4NjAwQzBEMDc1RDAwODY3Cis6MTAwMDU2MDAzMDk5MEUzMDBCMDdBMjBFOTI5Qjg1MzY5OUMyOTlEMjIzCis6MTAwMDY2MDAxMjIwMTIwMzAyMDQxRUMyMTIyMDAzMDMwMjAyNEUyMEIzCis6MTAwMDc2MDAwQjAzMDIwMTI2RTUzQUMzOTU1MzUwM0MyMDBDMzQyMDZECis6MTAwMDg2MDAwOTMxOTA3RjlCRTA1NTM4NzAyOTMwMTAxMkFGM0EwNTQwCis6MTAwMDk2MDAzQTc0NDAyRkY1ODJFNDM0N0VGNTgzRTAxMzkyMEVBRjc2Cis6MTAwMEE2MDAzQTA1M0E3NDQwMkZGNTgyRTQzNDdFRjU4M0UwRjUzNjVFCis6MTAwMEI2MDAwMjA0MUNDMjBCMDIwNDFDOTA3RkM3RTRGMEMyMDMzMDhBCis6MTAwMEM2MDAwRDBDQzIwRDkwN0ZCQjA0RjBDMjBCMDIwNDFDOTA3Rjg2Cis6MTAwMEQ2MDBDOEUwMzBFMTA1QzIwQjAyMDQxQzkwN0ZDOUUwRjU1MzZECis6MTAwMEU2MDA5MDdEQzBFMDEzOTIwRDc1MTZGRjIwMEMyQjIwMDkyODc5Cis6MTAwMEY2MDA5MDdGOUJFMDU1Mzg3MDIwMzAxMDExOTA3REMxRTAxMzQxCis6MDMwMDQzMDAwMjBFMDBBQQorOjAzMDAwMDAwMDIwMDI2RDUKKzowQzAwMjYwMDc4N0ZFNEY2RDhGRDc1ODE1NDAyMEIyOEE5Cis6NDAwMTA2MDA5MjBFQTNFMEY1MzY3NTNBMDMwMjA0MUM3NTNBMDI5MDdEQzFFMEY1MzYwMjA0MUM3NTNBMDFDMjBCMDIwNDFDRTUzQUMzOTU1MzUwMDMwMjAxQzk5MDdGQzZFMDMwRTEwN0MyMTRDMjA1MDIwNDFDOTA3RkM3RTBGNTUzOTA3RUNCCis6NDAwMTQ2MDA0MEUwMTM5MjBENzUxNkZGMjAwQzcwMjAwOTZEOTA3RjlCRTA1NTM4NzA2NTMwMTAxMDkwN0U0MUUwMTM5MjlCQTNFMEY1OTk3NTNBMDM4MDA5OTA3RTQxRTBGNTk5NzUzQTAyRTUzQUMzOTU1MzQwMTc5MDdGQzdFNEYwQzIwM0Y2Cis6NDAwMTg2MDAyMDBEMDMwMjA0MUNDMjBEOTA3RkJCMDRGMDAyMDQxQzMwMTAxMkFGM0EwNTNBNzQ0MDJGRjU4MkU0MzQ3RUY1ODNFMDEzOTIwRUFGM0EwNTNBNzQ0MDJGRjU4MkU0MzQ3RUY1ODNFMEY1MzZEMjBCMDIwNDFDNzUzQTAxQzIxNEEzCis6NDAwMUM2MDAwMjA0MUMzMDBDMDMwMjAyNDkyMDA5Nzc5MDdGOUJFMDU1Mzg3MDZGMzAxMDEyQUYzQTA1M0E3NDQwMkZGNTgyRTQzNDdFRjU4M0UwMTM5MjlCQUYzQTA1M0E3NDQwMkZGNTgyRTQzNDdFRjU4M0UwRjU5OUU1M0FDMzk1NTM0MEFCCis6NDAwMjA2MDAxNzkwN0ZDN0U0RjBDMjAzMjAwRDAzMDIwNDFDQzIwRDkwN0ZCQjA0RjAwMjA0MUMzMDEwMTJBRjNBMDUzQTc0NDAyRkY1ODJFNDM0N0VGNTgzRTAxMzkyMEVBRjNBMDUzQTc0NDAyRkY1ODJFNDM0N0VGNTgzRTBGNTM2RDIwQjQ0Cis6NDAwMjQ2MDAwMjA0MUNDMjE0MDIwNDFDMjAwQjAzMDIwMkZGRTUzQUMzOTU1MzUwM0MyMDBDMzQyMDA5MzE5MDdGOUJFMDU1Mzg3MDI5MzAxMDEyQUYzQTA1M0E3NEMwMkZGNTgyRTQzNDdERjU4M0UwMTM5MjBFQUYzQTA1M0E3NEMwMkZGNUY5Cis6NDAwMjg2MDA4MkU0MzQ3REY1ODNFMEY1MzYwMjA0MUNDMjBCMDIwNDFDOTA3RkM5RTRGMEQyMDMzMDBEMENDMjBEOTA3RkJCMDRGMEMyMEIwMjA0MUM5MDdGQzZFMDMwRTEwNUMyMEIwMjA0MUM5MDdGQzdFMEY1NTM5MDdFNDBFMDEzOTIwREFGCis6NDAwMkM2MDA3NTE2RkYyMDBDMkIyMDA5Mjg5MDdGOUJFMDU1Mzg3MDIwMzAxMDExOTA3RTQxRTAxMzkyMEVBM0UwRjUzNjc1M0EwMzAyMDQxQzc1M0EwMjkwN0U0MUUwRjUzNjAyMDQxQzc1M0EwMUMyMEIwMjA0MUNFNTNBQzM5NTUzNTAwMzgxCis6NDAwMzA2MDAwMjAzQTI5MDdGQzhFMDMwRTEwN0MyMTRDMjA1MDIwNDFDOTA3RkM5RTBGNTUzOTA3REMwRTAxMzkyMEQ3NTE2RkYyMDBDNzAyMDA5NkQ5MDdGOUJFMDU1Mzg3MDY1MzAxMDEwOTA3REMxRTAxMzkyOUJBM0UwRjU5OTc1M0EwMzdBCis6NDAwMzQ2MDA4MDA5OTA3REMxRTBGNTk5NzUzQTAyRTUzQUMzOTU1MzQwMTc5MDdGQzlFNEYwRDIwMzIwMEQwMzAyMDQxQ0MyMEQ5MDdGQkIwNEYwMDIwNDFDMzAxMDEyQUYzQTA1M0E3NEMwMkZGNTgyRTQzNDdERjU4M0UwMTM5MjBFQUYzQTgxCis6NDAwMzg2MDAwNTNBNzRDMDJGRjU4MkU0MzQ3REY1ODNFMEY1MzZEMjBCMDIwNDFDNzUzQTAxQzIxNDAyMDQxQzIwMEM3NTIwMDk3MjkwN0Y5QkUwNTUzODcwNkEzMDEwMTJBRjNBMDUzQTc0QzAyRkY1ODJFNDM0N0RGNTgzRTAxMzkyOUJBRjAyCis6NDAwM0M2MDAzQTA1M0E3NEMwMkZGNTgyRTQzNDdERjU4M0UwRjU5OUU1M0FDMzk1NTM0MDEzOTA3RkM5RTRGMEQyMDMzMDBEMzVDMjBEOTA3RkJCMDRGMDgwMkMzMDEwMTJBRjNBMDUzQTc0QzAyRkY1ODJFNDM0N0RGNTgzRTAxMzkyMEVBRjNECis6NDAwNDA2MDAzQTA1M0E3NEMwMkZGNTgyRTQzNDdERjU4M0UwRjUzNkQyMEI4MDAyQzIxNEQyMDEyMDk4MDMwMjA1NUFDMjk4MjAwMjAzMDIwNEM3MjAxNjI3QUYzOTA1Mzk3NDgwMkZGNTgyRTQzNDdFRjU4M0U1OTlGMDMwMTA0REFGMzkwNUM4Cis6NDAwNDQ2MDAzOTc0ODAyRkY1ODJFNDM0N0VGNTgzRTU5OEYwODAzQTg1OTkxMEU1MTBCNTQ3MDREMjA5ODAyRUU1MTBCNTQ2MDRDMjA5ODAyNUFGMzkwNTM5NzQ4MDJGRjU4MkU0MzQ3RUY1ODNFNTEwRjAzMDEwMTFBRjM5MDUzOTc0ODAyRjExCis6NDAwNDg2MDBGNTgyRTQzNDdFRjU4M0U1OThGMEQyMEZFNTM5QzM5NTQzNTAwMzAyMDU1ODkwN0ZCOEUwMzBFMTE2RTUzOUMzOTQ0MDUwMDMwMjA1NTgxNTM5MTUzOTA1MkI0MzM0MDEwMjA1NTg5MDdGQjdFNTM5RjA3NTM5MDBDMjAyMDIwNUQzCis6NDAwNEM2MDA1ODIwMTYyN0FGMzkwNTM5NzQwMDJGRjU4MkU0MzQ3RUY1ODNFNTk5RjAzMDEwNERBRjM5MDUzOTc0MDAyRkY1ODJFNDM0N0VGNTgzRTU5OEYwODAzQTg1OTkxMEU1MTBCNTQ3MDREMjA5ODAyRUU1MTBCNTQ2MDRDMjA5ODAyNTczCis6NDAwNTA2MDBBRjM5MDUzOTc0MDAyRkY1ODJFNDM0N0VGNTgzRTUxMEYwMzAxMDExQUYzOTA1Mzk3NDAwMkZGNTgyRTQzNDdFRjU4M0U1OThGMEQyMEZFNTM5QzM5NTQzNDAyNDkwN0ZCNkUwMzBFMTEyRTUzOUMzOTQ0MDQwMTYxNTM5MTUzOTA5Cis6NDAwNTQ2MDAwNTJCNDMzNDAxODAwQjkwN0ZCOUU1MzlGMDc1MzkwMEQyMDJEMjAxMzAwMTA1QzIwMTAyMDA1NkQwRDBEMDg2RDA4MkQwODNEMEUwMzI5MDdGQkNFMDIwRTE1MUU1MzQ2MDRERTUzMTcwNDlFNTM0MzBFMTA4RTRGNTJGNzUzNEQ0Cis6NDAwNTg2MDAwMTgwMEJBMjA4RTQzM0Y1MkZDMjA4RTRGNTM0RTRGNTExN0UwMDdCMDA3NDI0MjUxMUY5RUUzNDAwRkExMjBEMDZGRjc0MDAyNTExRjU4MkU0MzQ3REY1ODNFRkYwMDUxMUU1MTFCNDBDREI5MDdGQkQ3NDBDRjA3NTMxMTA5MENECis6NDAwNUM2MDA3RkNBRTAzMEUxMDMwMjA2RjNFNEY1MTE3NDQwMjUxMUY1ODJFNDM0N0RGNTgzRTBGRkU1MTE3QzAwN0IwMDI0M0JGOUVDMzQwMEZBRUYxMjBEMUYwNTExRTUxMUI0MThEQkU1M0I2MDExNzVDOTIwNzVDODM2ODUzQ0NBODUzRDk4Cis6NDAwNjA2MDBDQkU0OTA3RjlGRjBFNTNFMTM5MjEwOTI5Rjg1M0YzOEU1NDAxMzkyMTZFNTQxNjAwOTkwN0Y5OEUwNTRGQkYwODAwNzkwN0Y5OEUwNDQwNEYwRTU0MjYwMDk5MDdGOThFMDU0N0ZGMDgwMDc5MDdGOThFMDQ0ODBGMEU1NDg2MEJFCis6NDAwNjQ2MDAwQkMyMENDMjA5OTA3Rjk1RTA0NDAyRjBFNTQ5NjAwQ0QyMDk0MzM0MDE5MDdGOTVFMDQ0MDJGMEU1NEE2MDBEQzJBRkMyMEJEMjAwRTRGNTUzRjUzQUQyQUZFNTRCNjAwNTMwMTYwMkQyMDlFNTRDNjAxNTkwN0Y5NUUwNTRGREI0Cis6NDAwNjg2MDBGMDkwN0Y5RUUwNDQwMkYwOTA3Rjk4RTA1NEZERjBFNTRENjAwQUQyOUNDMjk4NzUyQzAxNzUzMTFFRTU0RTYwMDdDMjlDRTRGNTM5RjUyQ0U1NEY2MDAzRTRGNTM5RTU1MDYwMDJEMjA3RTU1MTYwMEFFNTRENzAwMkY1MzFFNTVDCis6NDAwNkM2MDA1MTQyMzRFNTUyNjAxRjkwN0ZENzc0MTFGMDc0MzFGMDc0MTJGMDc0MzJGMDc0MTNGMDc0MzNGMDc0MTRGMDc0MzRGMEQyMDNEMjAyRDIwOEU0OTA3RkNCRjBBMjBDRTQzM0ZGNjUyOTYwMDU4RjI5NDMzNDAxQTIwOUU0MzNGRjg0Cis6NDAwNzA2MDA2NTJBNjAwNThGMkE0MzM0MDE5MDdGOUJFMEZGNTQwODY0MDhGRTY1MjU2MDA1OEUyNTQzMzQwMUVGNTQxMDY0MTBGRTY1MjY2MDA1OEUyNjQzMzQwMUVGNTQ0MDY0NDBGRTY1Mjc2MDA1OEUyNzQzMzQwMUVGNTQyMDY0MjBGRTFDCis6NDAwNzQ2MDA2NTI4NjAwNThFMjg0MzM0MDE5MDdGOUFFMDU0NDA2NDQwRkU2NTJFNjAwNThFMkU0MzM0MDEzMDA3MzVDMkFGMzAwMjE4OTA3RkI4RTAyMEUxMjdFNTM5NjAwOTkwN0ZCN0YwRTRGNTM5QzIwMkMyMDc4MDE2OTA3RkI2RTAyMDNCCis6NDAwNzg2MDBFMTBGRTUzOTYwMDk5MDdGQjlGMEU0RjUzOUQyMDJDMjA3RDJBRjIwMDUzRDMwMDMxRTkwN0ZDNkUwMjBFMTMzOTA3RTQwRTAxMzkyMEQ3NTNBMDE5MDdGQzdFMEY1NTNEMjA1NzUxNkZGODAxQzkwN0ZDOEUwMjBFMTE1OTA3REQzCis6NDAwN0M2MDBDMEUwMTM5MjBENzUzQTAxOTA3RkM5RTBGNTUzRDIwNTc1MTZGRjIwMTQzMzIwMDAwNkU1M0E2NTUzNzAyQTMwMDUxQTMwMDMwOUU0OTA3RkM3RjBDMjAzODAwN0U0OTA3RkM5RjBEMjAzQzIwNUU0RjU1M0Y1M0EzMDBEMEFDMjY1Cis6NDAwODA2MDAwREMyMDA5MDdGQkI3NDAxRjAzMDE0MDMwMjA5MTQyMDA1MDMwMjA5MTQzMDBDMDMwMjA5MTQzMDA5MDMwMjA5MTQ5MDdGOUJFMDU1Mzg2MDAzMDIwOTE0MzAwMzYxMzAxMDEyQUYzQTA1M0E3NDQwMkZGNTgyRTQzNDdFRjU4MzNGCis6NDAwODQ2MDBFMDEzOTIxQkFGM0EwNTNBNzQ0MDJGRjU4MkU0MzQ3RUY1ODNFMEZFRTUzQUMzOTU1MzUwMkEzMDEwMTJBRjNBMDUzQTc0NDAyRkY1ODJFNDM0N0VGNTgzRTAxMzkyMEVBRjNBMDUzQTc0NDAyRkY1ODJFNDM0N0VGNTgzRTBGNTQ2Cis6NDAwODg2MDAzNkQyMEI4MDZBQzIwQkU0OTA3RkM3RjBDMjAzODA1RjMwMTAxMkFGM0EwNTNBNzRDMDJGRjU4MkU0MzQ3REY1ODNFMDEzOTIxQkFGM0EwNTNBNzRDMDJGRjU4MkU0MzQ3REY1ODNFMEZFRTUzQUMzOTU1MzUwMkEzMDEwMTJBRkU3Cis6NDAwOEM2MDAzQTA1M0E3NEMwMkZGNTgyRTQzNDdERjU4M0UwMTM5MjBFQUYzQTA1M0E3NEMwMkZGNTgyRTQzNDdERjU4M0UwRjUzNkQyMEI4MDA5QzIwQkU0OTA3RkM5RjBEMjAzMzAxMDA0QTIxQjkyOUJEMjE0QzJBRjhFOTkyMDBCMEQzMDFECis6NDAwOTA2MDAwRDBBQzIwREMyMDA5MDdGQkI3NDAxRjBEMkFGMjI5MDdGRTlFMDEyMEQzMTBBMTEwMDBBN0UwMTBBREIwMzA5MzgwNjBBMDIwODA5RjYwOTA5REUwQTA5RUQwQjAwMDAwQjE5OTA3RkVCRTAyNEZFNjAxOTE0NjA1QTI0MDI2MDQxCis6NDAwOTQ2MDAwMzAyMEIxOTc0MEQ5MDdGRDRGMDc0ODc5MDdGRDVGMDAyMEIyMDkwN0ZFQUUwNzAwNDdGMDI4MDAyN0YwMzc1ODJEODc1ODMwREVGRjA3NTgyRDE3NTgzMERGMDc1ODJDQTc1ODMwREYwNzU4MkMzNzU4MzBERjA5MDdGRUFFMDc4Cis6NDAwOTg2MDAwNDc1ODI5RTc1ODMwREYwNzQwRDkwN0ZENEYwNzQ5OTkwN0ZENUYwMDIwQjIwOTA3RkVBRTA3MDBCNzUxMUZGNzUxMjBENzUxM0RDODAxQjkwN0ZFQUUwQjQwMTBCNzUxMUZGNzUxMjBENzUxM0UwODAwOTc1MTFGRjc1MTIwRDE5Cis6NDAwOUM2MDA3NTEzRjBBQTEyQTkxM0FFMDJFRTkwN0ZENEYwQUYwMUVGOTA3RkQ1RjAwMjBCMjA5MDdGMDBFNTE1RjA5MDdGQjU3NDAxRjAwMjBCMjA5MDdGRUFFMEY1MTUwMjBCMjAxMjBDQjE5MDdGRUFFMEY1MTQwMjBCMjA5MDdGMDBFNUJGCis6NDAwQTA2MDAxNEYwOTA3RkI1NzQwMUYwMDIwQjIwOTA3RkU4RTAyNDdGNjAyNzE0NjAzNDI0MDI2MDAzMDIwQjE5QTIxN0U0MzNGRjI1RTBGRkEyMTlFNDMzNEY5MDdGMDBGMEU0QTNGMDkwN0ZCNTc0MDJGMDAyMEIyMEU0OTA3RjAwRjBBM0I3Cis6NDAwQTQ2MDBGMDkwN0ZCNTc0MDJGMDAyMEIyMDkwN0ZFQ0UwRjQ1NDgwRkZDNDU0MEZGRkUwNTQwNzJGMjVFMDI0QjRGNTgyRTQzNDdGRjU4M0UwNTRGRDkwN0YwMEYwRTRBM0YwOTA3RkI1NzQwMkYwMDIwQjIwOTA3RkU4RTAyNEZFNjAxNzI2Cis6NDAwQTg2MDAyNDAyNjAwMzAyMEIyMDkwN0ZFQUUwNjQwMTYwMDMwMjBCMTlDMjE3MDIwQjIwOTA3RkVBRTA3MDc2OTA3RkVDRTBGNDU0ODBGRkM0NTQwRkZGRTA1NDA3MkYyNUUwMjRCNEY1ODJFNDM0N0ZGNTgzRTRGMDkwN0ZFQ0UwNTQ4MEQ2Cis6NDAwQUM2MDBGRjEzMTMxMzU0MUZGRkUwNTQwNzJGOTA3RkQ3RjBFMDQ0MjBGMDgwNDU5MDdGRThFMDI0RkU2MDEwMjQwMjcwMzk5MDdGRUFFMDY0MDE3MDJBRDIxNzgwMkQ5MDdGRUFFMDcwMjA5MDdGRUNFMEY0NTQ4MEZGQzQ1NDBGRkZFMDU2Cis6NDAwQjA2MDA1NDA3MkYyNUUwMjRCNEY1ODJFNDM0N0ZGNTgzNzQwMUYwODAwNzkwN0ZCNEUwNDQwMUYwOTA3RkI0RTA0NDAyRjAyMkMyMTBFNEY1MTRGNTM0QzIwOUMyMENDMjBCQzIxNEMyMERDMjE2QzIxMUMyMDdDMjEyQzIwRkMyMDhGNTM4Cis6NDAwQjQ2MDAzNUY1MzlGNTUzRjUzQUY1MzNGNTMwRjUyRkY1MkVGNTJERjUyQ0Y1MkJGNTJBRjUyOUY1MjhGNTI3RjUyNkY1MjVGNTI0QzIwNUMyMThDMjFBQzIxN0MyMTlDMjE1QzIwNEQyMTNDMjA2QzIwMTkwN0Y5MkUwNTRGREYwRDJFODIwCis6NDAwQjg2MDA0M0Q4MjA5MDdGREU3NDAxRjA5MDdGREZGMDkwN0ZBQjc0RkZGMDkwN0ZBOUYwOTA3RkFBRjA1MzkxRUY5MDdGQUZFMDQ0MDFGMDkwN0ZBRUUwNDQwRkYwOTA3RkFDNzQwRUYwRDJBRkQyQkNEMjFCMTIwRjVGQzIxODMwMDQwMzE2Cis6NDAwQkM2MDAxMjA1NkQzMDA0MkEzMDA2MjdDMjA2RTUxNjYwMTYxNTE2OTA3RkQ4RTAzMEU2MDQ3RjAwODAwMjdGMjA5MDdGOTZFRkYwODAwNjkwN0Y5Njc0MjBGMDEyMEMwQjgwQ0QzMDE4MDdDMjE4MTIwOTE1ODBDMzMwMUFDMEMyMUExMjhFCis6NDAwQzA2MDAwRkJCODBCOTIyRTUzMTYwMDIxNTMxRTUzOTYwNTU2NTM1NzA0QkU1MzNGNDYwMDIwNTMzRTUzM0MzOTU0NDQwNDNDMkFGMzAwMjFCOTA3RkI4RTAyMEUxMkQ5MDdGQjdFNTM5RjBDMjAyRTRGNTM5RjUzM0Y1MzU3NTE2RkY4MDJECis6NDAwQzQ2MDAxOTkwN0ZCNkUwMjBFMTEyOTA3RkI5RTUzOUYwRDIwMkU0RjUzOUY1MzNGNTM1NzUxNkZGRDJBRjgwMDY4NTM5MzVFNEY1MzNFNTJDNjAzMDIwMEYwNzkwN0Y5QkUwMzBFMDBGRTUyRDYwMDZFNEY1MkQ0MzM0MDFFNEY1MzA4MDAwCis6NDAwQzg2MDAxNEU1MzBEMzk1NDU1MDBERTUzMEI1NDUwNjc1MkQwMTQzMzQwMTA1MzBDMjBGMjI5MDdGRDlFMDMwRTIwNDdGMDA4MDAyN0YyMDkwN0Y5NkVGRjAyMkU0OTA3RjkzRjA5MDdGOUM3NDMwRjA5MDdGOTY3NDIwRjA5MDdGOTQ3NDhBCis6NDAwQ0M2MDAwMUYwOTA3RjlENzRCRkYwOTA3Rjk3NzQ4NkYwOTA3Rjk1NzQwM0YwOTA3RjlFNzQ4NEYwOTA3Rjk4RjBFNDkwN0ZDN0YwOTA3RkM5RjA5MDdGQ0JGMDc1OTg0MDQzQTgxMDkwN0ZERTc0MUZGMDkwN0ZERjc0MEZGMEQyMDQyMjFBCis6NDAwRDA2MDBCQjAxMDY4OTgyOEE4M0UwMjI1MDAyRTcyMkJCRkUwMkUzMjI4OTgyOEE4M0U0OTMyMkJCMDEwNjg5ODI4QTgzRjAyMjUwMDJGNzIyQkJGRTAxRjMyMkQwODNEMDgyRjhFNDkzNzAxMjc0MDE5MzcwMERBM0EzOTNGODc0MDE5M0VCCis6NDAwRDQ2MDBGNTgyODg4M0U0NzM3NDAyOTM2ODYwRUZBM0EzQTM4MERGQzBFMEMwODNDMDgyQzA4NUMwODRDMDg2NzU4NjAwOTA3RkM0RTRGMDUzOTFFRjkwN0ZBQjc0MDRGMEQwODZEMDg0RDA4NUQwODJEMDgzRDBFMDMyMDAwMDAwMDAwMDdCCis6NDAwRDg2MDAwMDEyMDExMDAxRkYwMDAwNDBDRDA2MEMwMTAxMDAwMTAyMDAwMjA5MDI0MzAwMDEwMTAwODAzMjA5MDQwMDAwMDdGRjAwMDAwMDA3MDUwMTAyNDAwMDAwMDcwNTAyMDI0MDAwMDAwNzA1MDMwMjQwMDAwMDA3MDU4MTAyNDAwMDEwCis6NDAwREM2MDAwMTA3MDU4MjAyNDAwMDAxMDcwNTgzMDI0MDAwMDEwNzA1ODQwMjQwMDAwMTA0MDMwOTA0MTAwMzRCMDA2NTAwNzkwMDczMDA3MDAwNjEwMDZFMDAwRTAzNTMwMDY1MDA3MjAwNjkwMDYxMDA2QzAwMDAwMDAyMEVBMjAwMDIwRTQxCis6NDAwRTA2MDA3QjAwMDIwRDU3MDAwMjBFQzkwMDAyMEUxMDAwMDIwRTE0MDAwMjBFMTgwMDAyMEUxQzAwMDIwRUYwMDAwMjBFMjQwMDAyMEYxNTAwMDIwRTJDMDAwMjBGM0FFNDkwN0Y5NUYwOTA3Rjk0RjA5MDdGOTNGMDkwN0Y5REUwNDQwMjBBCis6NDAwRTQ2MDBGMDkwN0Y5N0UwNDQwMkYwOTA3RjlDNzQxMEYwRTQ5MDdGOTZGMDkwN0Y5RDc0RkVGMDMwMTcwNDdGODA4MDAyN0YwMDkwN0Y5N0VGRjBFNDkwN0Y5NUYwOTA3RjlFRjA5MDdGOThGMDIyQzBFMEMwODNDMDgyQzA4NUMwODRDMDBFCis6NDAwRTg2MDA4Njc1ODYwMDUzOTFFRjkwN0ZBQjc0MDJGMEQyMDZEMDg2RDA4NEQwODVEMDgyRDA4M0QwRTAzMkMwRTBDMDgzQzA4MkMwODVDMDg0QzA4Njc1ODYwMEQyMTg1MzkxRUY5MDdGQUI3NDAxRjBEMDg2RDA4NEQwODVEMDgyRDA4M0VCCis6NDAwRUM2MDBEMEUwMzJDMEUwQzA4M0MwODJDMDg1QzA4NEMwODY3NTg2MDBEMjFBNTM5MUVGOTA3RkFCNzQwOEYwRDA4NkQwODREMDg1RDA4MkQwODNEMEUwMzJDMEUwQzA4M0MwODJDMDg1QzA4NEMwODY3NTg2MDA1MzkxRUY5MDdGQTk3NEMyCis6NDAwRjA2MDAwMkYwRDA4NkQwODREMDg1RDA4MkQwODNEMEUwMzJDMEUwQzA4M0MwODJDMDg1QzA4NEMwODY3NTg2MDA1MzkxRUY5MDdGQTk3NDA0RjBEMDg2RDA4NEQwODVEMDgyRDA4M0QwRTAzMkMwRTBDMDgzQzA4MkMwODVDMDg0QzA4NkQ3Cis6NDAwRjQ2MDA3NTg2MDA1MzkxRUY5MDdGQTk3NDA4RjBEMDg2RDA4NEQwODVEMDgyRDA4M0QwRTAzMjkwN0ZENkUwNTRGQkYwRTA0NDA4RjAzMDFCMDRFMDQ0MDJGMDdGRjQ3RTAxMTIwMDAzOTA3RkQ2RTA1NEY3RjBFMDQ0MDRGMDIyNzQwMEI5Cis6NDAwRjg2MDBGNTg2OTBGREE1N0MwNUEzRTU4MjQ1ODM3MEY5MjI5MDdGRDZFMDQ0ODBGMDQzODcwMTAwMDAwMDAwMDAyMjkwN0ZENkUwNDQwMUYwN0YwRDdFMDAxMjAwMDM5MDdGRDZFMDU0RkVGMDIyMTIwRTMzMTIwRjk1OTA3RkQ2RTAzMEZBCis6MDkwRkM2MDBFNzAzMTIwRkE1MTIwQ0IxMjI4MQorOjAwMDAwMDAxRkYKKworCVRoZSBmaXJtd2FyZSBjb250YWluZWQgaGVyZWluIGlzCisKKwkJQ29weXJpZ2h0IChDKSAxOTk5LTIwMDEKKwkJS2V5c3BhbiwgQSBkaXZpc2lvbiBvZiBJbm5vU3lzIEluY29ycG9yYXRlZCAoIktleXNwYW4iKQorCisJYXMgYW4gdW5wdWJsaXNoZWQgd29yay4gVGhpcyBub3RpY2UgZG9lcyBub3QgaW1wbHkgdW5yZXN0cmljdGVkIG9yCisJcHVibGljIGFjY2VzcyB0byB0aGUgc291cmNlIGNvZGUgZnJvbSB3aGljaCB0aGlzIGZpcm13YXJlIGltYWdlIGlzCisJZGVyaXZlZC4gIEV4Y2VwdCBhcyBub3RlZCBiZWxvdyB0aGlzIGZpcm13YXJlIGltYWdlIG1heSBub3QgYmUKKwlyZXByb2R1Y2VkLCB1c2VkLCBzb2xkIG9yIHRyYW5zZmVycmVkIHRvIGFueSB0aGlyZCBwYXJ0eSB3aXRob3V0CisJS2V5c3BhbidzIHByaW9yIHdyaXR0ZW4gY29uc2VudC4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisKKwlQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkIGZvciB0aGUgZGlzdHJpYnV0aW9uIG9mIHRoaXMgZmlybXdhcmUKKwlpbWFnZSBhcyBwYXJ0IG9mIGEgTGludXggb3Igb3RoZXIgT3BlbiBTb3VyY2Ugb3BlcmF0aW5nIHN5c3RlbSBrZXJuZWwKKwlpbiB0ZXh0IG9yIGJpbmFyeSBmb3JtIGFzIHJlcXVpcmVkLgorCisJVGhpcyBmaXJtd2FyZSBtYXkgbm90IGJlIG1vZGlmaWVkIGFuZCBtYXkgb25seSBiZSB1c2VkIHdpdGgKKwlLZXlzcGFuIGhhcmR3YXJlLiAgRGlzdHJpYnV0aW9uIGFuZC9vciBNb2RpZmljYXRpb24gb2YgdGhlCisJa2V5c3Bhbi5jIGRyaXZlciB3aGljaCBpbmNsdWRlcyB0aGlzIGZpcm13YXJlLCBpbiB3aG9sZSBvciBpbgorCXBhcnQsIHJlcXVpcmVzIHRoZSBpbmNsdXNpb24gb2YgdGhpcyBzdGF0ZW1lbnQuIgpkaWZmIC0tZ2l0IGEvZmlybXdhcmUva2V5c3Bhbi91c2ExOXF3LkhFWCBiL2Zpcm13YXJlL2tleXNwYW4vdXNhMTlxdy5IRVgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGE4OTEwMjMKLS0tIC9kZXYvbnVsbAorKysgYi9maXJtd2FyZS9rZXlzcGFuL3VzYTE5cXcuSEVYCkBAIC0wLDAgKzEsMTQyIEBACis6MDMwMDMzMDAwMjAwMkQ5QgorOjA0MDAyRDAwNTNEOEVGMzI4MworOjEwMDA0NjAwMzAxMDE5MTIwRTBGRUZDMzk1MTQ0MDAzMDIwMERGOTAxMworOjEwMDA1NjAwN0ZCRjc0MDFGMEMyMTBDMjBCMDIwMERGMzAwRDNFOTA2QworOjEwMDA2NjAwN0ZDNkUwMjBFMTczMTIwRTBGRUZDMzk0NDA1MDZBOTBGMgorOjEwMDA3NjAwN0U0MEUwMTM5MjEwOTA3RkM3RTAxNEY1MzYyMDBCMTFGNgorOjEwMDA4NjAwNjAwRkY1MjQ3RTdFN0Y0MTc1Mjk3RTc1MkE0MTEyMDkwRgorOjEwMDA5NjAwMTBDMjBERTQ5MDdGQzdGMDc1MjZGRjgwM0M5MDdGQzhBNAorOjEwMDBBNjAwRTAyMEUxMzUxMjBFMEZFRkMzOTQ0MDUwMkM5MDdEQzAzNgorOjEwMDBCNjAwRTAxMzkyMTA5MDdGQzlFMDE0RjUzNjIwMEIxMTYwMEYwMworOjEwMDBDNjAwRjUyNDdFN0Q3RkMxNzUyOTdENzUyQUMxMTIwOTEwRDI1RQorOjEwMDBENjAwMERFNDkwN0ZDOUYwNzUyNkZGOTA3RkI2RTAzMEUxMDMwRQorOjEwMDBFNjAwMDIwMTY4MTIwQ0ZGOEYzNjEyMEUxQjhGMTFFNTM2QzMwNAorOjEwMDBGNjAwOTUxMzUwMEYxMjBEREVFRjMwRTAwOEU1MTEyMEU3MDNFRgorOjBDMDAzNjAwOTA3Rjk4NzQxMEYwOTBDMDAwRTBGRjIyNTIKKzowMzAwNDMwMDAyMEUwMEFBCis6MTAwMDAzMDBDMEUwQzA4M0MwODJDMDg1QzA4NEMwODY3NTg2MDA5MDZFCis6MTAwMDEzMDA3RkM0RTRGMDUzOTFFRjkwN0ZBQjc0MDRGMEQwODZEMEFCCis6MEEwMDIzMDA4NEQwODVEMDgyRDA4M0QwRTAzMjczCis6MDMwMDAwMDAwMjA5QzUyRAorOjQwMDEwNjAwMzAxMzVGQzIxM0U1MzY2MDU5QjQ4MDAzNDMxMTAyRTUxMTMwRTcyNEU1MzZEMzk0MjA0MDAzNzUzNjIwODUzNjI0N0U3RTdGODA3NTI5N0U3NTJBODAxMjBCOUFFNTM2MjVFMDkwN0ZCN0YwODAyQUU1MzZEMzk0M0Y0MDAzNzUzQgorOjQwMDE0NjAwMzYzRjg1MzYyNDkwN0U4MEU1MTFGMDdFN0U3RjgxNzUyOTdFNzUyQTgxMTIwOTM1RTUzNjA0OTA3RkI3RjA3NTI2RkY5MDdGQ0VFMDMwRTEwNjIwMEUwMzAyMDNDNEU0RjUzNTc0NDAyNTM1RjU4MkU0MzQ3Q0Y1ODNFMEZGRTU4OQorOjQwMDE4NjAwMzU3QzAwN0IwMTdBN0U3OTAwMjQwMEY5RUMzNDdFRkFFRjEyMEE5NzA1MzVFNTM1QjQyMEQ3OTA3RTAwRTA2MDZFN0YwMTkwN0UxMUUwRkQxMjBDREE5MDdFMDFFMEZGMTIwQzFDOTA3RTAyRTBGRjEyMEM0MkQyMTFEMjEyNzU2MgorOjQwMDFDNjAwMzYwNDkwN0UwM0UwNjAwNUMyMTI0MzM2QzA5MDdFMDRFMEI0MDEwN0MyMTI0MzM2MEI4MDEwOTA3RTA0RTA2MDA3QzIxMTQzMzYwOTgwMDM0MzM2MDI3RjAzQUQzNjEyMENEQTQzMUE4MDkwN0Y5ODc0MTRGMDkwQzAwMEU1MUE3MgorOjQwMDIwNjAwRjA5MDdGOTg3NDEyRjBFNTE3NDQwNjkwQzAwMEYwOTA3RTA1RTA2MDEyQTNFMDU0M0ZGNTE5OTA3Rjk4NzQxM0YwOTBDMDAwRTUxOUYwOTA3RTA3RTA2MDQyOTA3RTEzRTA2MDA1NDMxNjA0ODAwMzUzMTZGQkU0RkZBRDE2MTI0NworOjQwMDI0NjAwMENEQTkwN0UwOEUwNjAwNTQzMTg4MDgwMDM1MzE4N0Y1MzE4RkM5MDdFMDlFMDYwMTE0MzE4MDJBM0UwRkYxMjBDOEU5MDdFMEJFMEZGMTIwQ0I0QUYxODEyMEM2ODkwN0UwRUUwNjAxOEEzRTA2MDA1NDMxQTAxODAwMzUzMUFENAorOjQwMDI4NjAwRkU5MDdGOTg3NDE0RjA5MEMwMDBFNTFBRjA5MDdFMENFMDYwMThBM0UwNjAwNTQzMUEwMjgwMDM1MzFBRkQ5MDdGOTg3NDE0RjA5MEMwMDBFNTFBRjA5MDdFMTJFMEY1MTNBM0UwMTM5MjE0QTNFMEY1MTRBM0UwNjAwNTQzMUFDMworOjQwMDJDNjAwMTA4MDAzNTMxQUVGOTA3Rjk4NzQxNEYwOTBDMDAwRTUxQUYwOTA3RTE2RTA2MDMyNTMxOUJGOTA3Rjk4NzQxM0YwRTUxOTU0N0Y5MEMwMDBGMDkwN0Y5ODc0MTFGMDEyMEREMkVGNTRGRTkwQzAwMEYwNTMxNkZERTRGRkFEMTYyMQorOjQwMDMwNjAwMTIwQ0RBRTRGNTBFRjUwREQyMEY5MDdFMTdFMDYwMEY0MzE2MDJFNEZGQUQxNjEyMENEQTc1MEQwMUQyMEY5MDdFMThFMDYwMTA5MDdGOTg3NDEyRjBFNTE3NDQwNDkwQzAwMEYwRDIwQjkwN0UxOUUwNjAxMTQzMTk0MDkwN0YwRAorOjQwMDM0NjAwOTg3NDEzRjBFNTE5NTQ3RjkwQzAwMEYwOTA3RTFBRTA2MDBGNTMxNkZFRTRGRkFEMTYxMjBDREE3NTBGMDFEMjBGOTA3RTFCRTA2MDBGNDMxNjAxRTRGRkFEMTYxMjBDREFFNEY1MEZEMjBGOTA3RTFDRTA2MDBFOTA3Rjk4NzRBOQorOjQwMDM4NjAwMTJGMEU1MTc0NDAyOTBDMDAwRjA5MDdFMURFMDYwMDJEMjEzOTA3RTFFRTA2MDA4NzUxMDAxRTRGNTEyRDIwRjkwN0UxRkUwNjAxMTkwN0ZENzc0MTFGMDc0MzFGMDc0MTVGMDc0MzVGMEQyMERDMjBFRTQ5MDdGQ0ZGMDMwMTY3NAorOjQwMDNDNjAwNzFFNTEyNjAwMjE1MTJFNTMwRDM5NDAwNDAwNDE1MzA4MDYwNzUzMDBBMTIwREQyRUY1NDAxRjUzNjY1MEU2MDA3ODUzNjBFRDIwRjgwMTExMjBFMjdFRjU0MTBGNTM2NjUwOTYwMDU4NTM2MDlEMjBGMTIwRTI3RUY1NDgwRjVDMQorOjQwMDQwNjAwMzY2NTBBNjAwNTg1MzYwQUQyMEYxMjBFMjdFRjU0MjBGNTM2NjUwQjYwMDg4NTM2MEIzMDExMDJEMjBGMTIwRTI3RUY1NDQwRjUzNjY1MEM2MDA4ODUzNjBDMzAxMjAyRDIwRjMwMTYyQTkwN0ZEMkUwMjBFMTIzOTA3QjQwRTAzNQorOjQwMDQ0NjAwNjAwOUUwRjUzMjkwN0I0MkUwRjUzMzkwN0I0MUUwNjAwOTkwN0ZENzc0MTdGMDc0MzdGMEU0OTA3RkQzRjA5MDdGQzJFMDMwRTEwMzAyMDUyOUU1Mjc3MDQwMzAwRjM5RTUxMjcwMzVDMjBGRjUzNTdFMDA3QjAwNzQwODI1MzVEQgorOjQwMDQ4NjAwRjlFRTM0MDBGQTEyMEE1MUZGNzQ4MDI1MzVGNTgyRTQzNDdCRjU4M0VGRjAwNTM1RTUzNUI0MDlEQjkwN0ZDMzc0MDlGMDc1MTIxMEU0RjUxMDc1MjcwMjIyRTUyNzY0MDI3MDM2MzAwNTJGQzIwNUY1MzU3RTAwN0IwMDc0MkI5NgorOjQwMDRDNjAwMjUzNUY5RUUzNDAwRkExMjBBNTFGRjc0ODAyNTM1RjU4MkU0MzQ3QkY1ODNFRkYwMDUzNUU1MzVCNDA1REI5MDdGQzM3NDA1RjA3NTI3MDMyMkU1MzI2MDMzNzUzMTAzMTUzMkU0RjUzNTdFMDA3QjAwNzQzMTI1MzVGOUVFMzRDRAorOjQwMDUwNjAwMDBGQTEyMEE1MUZGNzQ4MDI1MzVGNTgyRTQzNDdCRjU4M0VGRjAwNTM1RTUzNUI0MDNEQjkwN0ZDMzc0MDNGMEU0RjUyNzIyOTA3RkU5RTAxMjBBQTkwNjA4MDAwNjdDMDEwNkU5MDMwNTREMDYwNUY5MDgwNUVEMDkwNUQ1MEEwMgorOjQwMDU0NjAwMDVFNDBCMDAwMDA3Mzk5MDdGRUJFMDI0RkU2MDE2MTQ2MDUwMjQwMjcwNkY3NDE5OTA3RkQ0RjA3NDAwOTA3RkQ1RjAwMjA3NDA5MDdGRUFFMDcwMDQ3RjAyODAwMjdGMDM3NTgyODI3NTgzMTlFRkYwNzU4Mjc0NzU4MzE5RjA2RQorOjQwMDU4NjAwNzU4MjU4NzU4MzE5RjA5MDdGRUFFMDA0NzU4MjE3NzU4MzE5RjA3NDE5OTA3RkQ0RjA3NDEyOTA3RkQ1RjAwMjA3NDA5MDdGRUFFMEZGMTIwQjFDRUE0OTYwMERFQTkwN0ZENEYwRTk5MDdGRDVGMDAyMDc0MDkwN0ZCNEUwNDQ5QgorOjQwMDVDNjAwMDFGMDAyMDc0MDkwN0ZCNEUwNDQwMUYwMDIwNzQwOTA3RjAwRTUyNUYwOTA3RkI1NzQwMUYwMDIwNzQwOTA3RkVBRTBGNTI1MDIwNzQwMTIwNzQ4OTA3RkVBRTBGNTIzMDIwNzQwOTA3RjAwRTUyM0YwOTA3RkI1NzQwMUYwMDIxNgorOjQwMDYwNjAwMDc0MDkwN0ZFOEUwMjQ3RjYwMjQxNDYwMzEyNDAyNzA1QkEyMDFFNDMzRkYyNUUwRkZBMjA3RTQzMzRGOTA3RjAwRjBFNEEzRjA5MDdGQjU3NDAyRjAwMjA3NDBFNDkwN0YwMEYwQTNGMDkwN0ZCNTc0MDJGMDAyMDc0MDkwN0YyQworOjQwMDY0NjAwRUNFMEY0NTQ4MEZGQzQ1NDBGRkZFMDU0MDcyRjI1RTAyNEI0RjU4MkU0MzQ3RkY1ODNFMDU0RkQ5MDdGMDBGMEU0QTNGMDkwN0ZCNTc0MDJGMDAyMDc0MDkwN0ZCNEUwNDQwMUYwMDIwNzQwOTA3RkU4RTAyNEZFNjAxRTI0MDIxNgorOjQwMDY4NjAwNjAwMzAyMDc0MDkwN0ZFQUUwQjQwMTA2MTIwREY5MDIwNzQwOTA3RkI0RTA0NDAxRjAwMjA3NDA5MDdGRUFFMDcwMzg5MDdGRUNFMEY0NTQ4MEZGQzQ1NDBGRkZFMDU0MDcyRjI1RTAyNEI0RjU4MkU0MzQ3RkY1ODNFNEYwOTBGOAorOjQwMDZDNjAwN0ZFQ0UwNTQ4MEZGMTMxMzEzNTQxRkZGRTA1NDA3MkY5MDdGRDdGMEUwNDQyMEYwODA2MDkwN0ZCNEUwNDQwMUYwODA1NzkwN0ZFOEUwMjRGRTYwMTkyNDAyNzA0QjkwN0ZFQUUwQjQwMTA1MTIwREY2ODAzRjkwN0ZCNEUwNDQ4NworOjQwMDcwNjAwMDFGMDgwMzY5MDdGRUFFMDcwMjA5MDdGRUNFMEY0NTQ4MEZGQzQ1NDBGRkZFMDU0MDcyRjI1RTAyNEI0RjU4MkU0MzQ3RkY1ODM3NDAxRjA4MDEwOTA3RkI0RTA0NDAxRjA4MDA3OTA3RkI0RTA0NDAxRjA5MDdGQjRFMDQ0MDJGOQorOjQwMDc0NjAwRjAyMkU0OTA3RjkzRjA5MDdGOUM3NDMwRjA5MDdGOTY3NDIwRjA5MDdGOTU3NEMwRjA5MDdGOUU3NDNGRjA5MDdGOTg3NDEwRjBFNEY1OEU5MDdGREY3NEZGRjA5MDdGREVGMEU0RjUwODdGMDE3QjAwNzQwODJGRjlFNDM0MDAyMworOjQwMDc4NjAwRkFFNDEyMEE5NzBGQkYwOUVFNzUxMzAxRTRGNTEyRjUzMEY1MTFDMjBGQzIxM0MyMEVDMjBCQzIxMEMyMDQ5MDdGOTg3NDEzRjA3NTE5MDM5MEMwMDA3NDAzRjA3RjBDRTRGRDEyMENEQTdGMTA4RjE4MTIwQzY4OTA3Rjk4NzRDMgorOjQwMDdDNjAwMTJGMDdGMDE4RjE3RUY0NDA2OTBDMDAwRjAwRkU0RkQxMjBDREFFNEZGN0VBM0FEMDY4RDE2MTIwQ0RBOTA3Rjk4NzQxMUYwOTBDMDAwRTRGMDdGMDU3RDdGMTIwQ0RBN0YwMTEyMEQ2QTdGMDM3RDA3MTIwQ0RBRTRGRkU1MTY3QgorOjQwMDgwNjAwNTQ3RkZEMTIwQ0RBMTIwRTBGOEYxNUU0RkZFNTE2NDQ4MEZEMTIwQ0RBRTUxNTMwRTcwNEMyMDg4MDAyRDIwODkwN0Y5ODc0MTRGMDc1MUE4MDkwQzAwMDc0ODBGMEQyMDMyMkQyMTU5MDdGOTJFMDQ0MDJGMDEyMERGOUQyRTg3QworOjQwMDg0NjAwNDNEODIwOTA3RkRFNzQwMUYwOTA3RkRGRjA5MDdGQUI3NEZGRjA5MDdGQTlGMDkwN0ZBQUYwNTM5MUVGOTA3RkFGRTA0NDAxRjA5MDdGQUU3NDBERjBEMkFGRDIxNjEyMEQyNEMyMDJFNEY1MjhGNTMwQzIwOUY1MjNDMjAzOTBGNworOjQwMDg4NjAwN0ZBMTA0RjA5MDdGRDhFMDY1MzQ2MDQ4MzAwMzA1RDIxNjEyMDA0NkU1MEY2MDIyRTUyNjYwMTYxNTI2OTA3RkQ4RTAzMEU2MDQ3RjIwODAwMjdGMzA5MDdGOTZFRkYwODAxQTkwN0Y5Njc0MzBGMDgwMTI5MDdGRDlFMDMwRTJGOAorOjQwMDhDNjAwMDQ3RjMwODAwMjdGMjA5MDdGOTZFRkYwOTA3RkQ4RTBGNTM0ODAyMDMwMDMwN0MyMTYxMjAwNDY4MDE2RTUwRjcwMTI5MDdGRDlFMDMwRTIwNDdGMzA4MDAyN0YyMDkwN0Y5NkVGRjAzMDAyMDdDMjAyMTIwNTJBODA4NjMwMEFFNAorOjQwMDkwNjAwODNDMjBBMTIwQjVEMDIwODhBMjI5MDdGOTg3NDEwRjBBRjI0RTUyQUY1ODJFNTI5RjU4M0MyQUYwNTg2OTBDMDAwMDU4NkUwQTMwNTg2RjAwNTg2REZGN0QyQUYyMjkwN0Y5ODc0MTBGMEFGMjRFNTJBRjU4MkU1MjlGNTgzQzJBMworOjQwMDk0NjAwQUYwNTg2OTBDMDAwRTAwNTg2RjBBMzA1ODZERkY3MDU4NkQyQUYyMjkwN0Y5ODc0MDhGMEFGMjRFNTJBRjU4MkU1MjlGNTgzQzJBRjA1ODY5MEMwMDAwNTg2RTBBMzA1ODZGMDA1ODZERkY3RDJBRjIyOTA3Rjk4NzQwOEYwQUZDRAorOjQwMDk4NjAwMjRFNTJBRjU4MkU1MjlGNTgzQzJBRjA1ODY5MEMwMDBFMDA1ODZGMEEzMDU4NkRGRjcwNTg2RDJBRjIyNzQwMEY1ODY5MEZEQTU3QzA1QTNFNTgyNDU4MzcwRjkyMjkwN0ZENkUwNDQ4MEYwNDM4NzAxMDAwMDAwMDAwMDIyNzg0QgorOjQwMDlDNjAwN0ZFNEY2RDhGRDc1ODEzOTAyMEEwQzAyMDgzOEU0OTNBM0Y4RTQ5M0EzNDAwM0Y2ODAwMUYyMDhERkY0ODAyOUU0OTNBM0Y4NTQwNzI0MENDOEMzMzNDNDU0MEY0NDIwQzg4MzQwMDRGNDU2ODAwMTQ2RjZERkU0ODAwQjAxMDIxMQorOjQwMEEwNjAwMDQwODEwMjA0MDgwOTAwRDhCRTQ3RTAxOTM2MEJDQTNGRjU0M0YzMEU1MDk1NDFGRkVFNDkzQTM2MDAxMEVDRjU0QzAyNUUwNjBBODQwQjhFNDkzQTNGQUU0OTNBM0Y4RTQ5M0EzQzhDNTgyQzhDQUM1ODNDQUYwQTNDOEM1ODJCMAorOjQwMEE0NjAwQzhDQUM1ODNDQURGRTlERUU3ODBCRUJCMDEwNjg5ODI4QTgzRTAyMjUwMDJFNzIyQkJGRTAyRTMyMjg5ODI4QTgzRTQ5MzIyQkIwMTBDRTU4MjI5RjU4MkU1ODMzQUY1ODNFMDIyNTAwNkU5MjU4MkY4RTYyMkJCRkUwNkU5MjVCQgorOjQwMEE4NjAwODJGOEUyMjJFNTgyMjlGNTgyRTU4MzNBRjU4M0U0OTMyMkJCMDEwNjg5ODI4QTgzRjAyMjUwMDJGNzIyQkJGRTAxRjMyMkQwODNEMDgyRjhFNDkzNzAxMjc0MDE5MzcwMERBM0EzOTNGODc0MDE5M0Y1ODI4ODgzRTQ3Mzc0MDI4RgorOjQwMEFDNjAwOTM2ODYwRUZBM0EzQTM4MERGRTQ5MDdGOTNGMDkwN0Y5Qzc0MjBGMDMwMDEwM0ZGODAwMjdGMDA5MDdGOTZFRkYwRTQ5MDdGOTRGMDkwN0Y5RDc0RkZGMEU0OTA3Rjk3RjAzMDA4MTE5MDdGOTVGMDkwN0Y5RTc0RkZGMDkwN0YwNQorOjQwMEIwNjAwOTg3NDIwRjAyMkU0OTA3Rjk1RjA5MDdGOUU3NERGRjBFNDkwN0Y5OEYwMjI4RjM1RTRGNTM2NzUzN0ZGNzUzODE5NzUzOTg2QUIzN0FBMzhBOTM5OTAwMDAxMTIwQTZBQjQwMzFEQUYzNjA1MzZFRkI1MzUwMTIyMTIwQTUxN0U1QworOjQwMEI0NjAwMDAyOUZGRUUzQUE5MDc3NTM3RkZGNTM4ODkzOTgwRDQ3QjAwN0EwMDc5MDAyMjkwN0ZEOEUwRjUzNTEyMEFDRjIwMDgwNzkwN0Y5MkUwNTRGREYwOTA3RkQ2RTA0NDgwRjAxMjA5QjU5MDdGRDZFMDMwRTcwRTMwMDEwNTEyMEQ5QworOjQwMEI4NjAwQkM4MDA2MTIwRDQ5RUY2MEUxOTA3RjkyRTA0NDAyRjAxMjA3NDgyMjA1MkFFNTJBQUUyOTcwMDIwNTI5MTRGNTgyOEU4M0U1MTFGMDEyMDAzNjA1MkFFNTJBQUMyOTcwMDIwNTI5MTRGNTgyOEM4M0VGRjAxNTI0RTUyNDYwMDdDNworOjQwMEJDNjAwMTIwRTFCOEYxMTgwQ0QyMkMwRTBDMDgzQzA4MkMwODVDMDg0QzA4Njc1ODYwMEQyMDI1MzkxRUY5MDdGQUI3NDAxRjBEMDg2RDA4NEQwODVEMDgyRDA4M0QwRTAzMkMwRTBDMDgzQzA4MkMwODVDMDg0QzA4Njc1ODYwMEQyMEE5RgorOjQwMEMwNjAwNTM5MUVGOTA3RkFCNzQwOEYwRDA4NkQwODREMDg1RDA4MkQwODNEMEUwMzI5MDdGOTg3NDEzRjA5MEMwMDA3NEJGRjA5MDdGOTg3NDEwRjA5MEMwMDBFRkYwOTA3Rjk4NzQxM0YwRTUxOTU0N0Y5MEMwMDBGMDIyOTA3Rjk4NzRFOAorOjQwMEM0NjAwMTNGMDkwQzAwMDc0QkZGMDkwN0Y5ODc0MTFGMDkwQzAwMEVGRjA5MDdGOTg3NDEzRjBFNTE5NTQ3RjkwQzAwMEYwMjI5MDdGOTg3NDEzRjA5MEMwMDA3NEJGRjA5MDdGOTg3NDEyRjA5MEMwMDBFRkYwOTA3Rjk4NzQxM0YwRTU3QworOjQwMEM4NjAwMTk1NDdGOTBDMDAwRjAyMjkwN0Y5ODc0MTNGMDkwQzAwMDc0QkZGMDkwN0Y5ODc0MTRGMDkwQzAwMEVGRjA5MDdGOTg3NDEzRjBFNTE5NTQ3RjkwQzAwMEYwMjI5MDdGOTg3NDEzRjA5MEMwMDA3NEJGRjA5MDdGOTg3NDE2RjBGRQorOjQwMENDNjAwOTBDMDAwRUZGMDkwN0Y5ODc0MTNGMEU1MTk1NDdGOTBDMDAwRjAyMjkwN0Y5ODc0MTNGMEU1MTk1NDdGOTBDMDAwRjA5MDdGOTg3NDE3RjA5MEMwMDBFRkYwOTA3Rjk4NzQxNUYwOTBDMDAwRURGMDIyMTIwREVBOEYzNzEyMEQ5MQorOjQwMEQwNjAwRUE4RjM4RTUzNzY1Mzg2MDEyMTIwREVBOEYzN0U1Mzc2NTM4NjAwNzEyMERFQThGMzg4MEU4QUYzNzIyOTA3RkQ2RTA1NEZCRjBFMDQ0MDhGMDMwMTYwNEUwNDQwMkYwN0ZGNDdFMDExMjBEQTU5MDdGRDZFMDU0RjdGMEUwNDQ0OAorOjQwMEQ0NjAwMDRGMDIyOTA3RkQ4RTBGNTM2MTIwNzQ4MTIwRTI3RUYzMEU2MEI5MDdGRDhFMDY1MzY2MEYxN0YwMTIyMTIwQUNGN0YwMDIyQUUwN0U0RkZFNTE2NTQ3RkZEMTIwQ0RBOTA3Rjk4NzQxMUYwOTBDMDAwRUVGMEU0RTUxNjQ0ODA4NAorOjQwMEQ4NjAwRkQxMjBDREEyMjA1MkIwMjAwMDAwMDAwMDMzMTAzMDAwMEMxODZDMTAyQzEwQUMxMDFDMTA3MDEyNzAwMDA4RTM2OEYzN0U1MzcxNTM3QUUzNjcwMDIxNTM2NEU2MDA1MTIwOUE0ODBFRTIyOTA3RkQ2RTA0NDAxRjA3RjBEN0U4RAorOjQwMERDNjAwMDAxMjBEQTU5MDdGRDZFMDU0RkVGMDIyOTA3Rjk4NzQxMUYwOTBDMDAwRTBGRjIyOTA3Rjk4NzQxMkYwOTBDMDAwRTBGRjIyOTA3Rjk4NzQxM0YwOTBDMDAwRTBGRjIyRDIwMTIyQzIwMTIyMDAwMDAwMDAwMjBCQ0UwMDAyMEVGMQorOjQwMEUwNjAwMDQwMDAyMDAwMzAwMDIwQkY1OTA3Rjk4NzQxNEYwOTBDMDAwRTBGRjIyOTA3Rjk4NzQxNUYwOTBDMDAwRTBGRjIyOTA3Rjk4NzQxNkYwOTBDMDAwRTBGRjIyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0RQorOjQwMEU0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2QworOjQwMEU4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyQworOjQwMEVDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFQworOjQwMEYwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBQgorOjQwMEY0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2QgorOjQwMEY4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyQgorOjQwMEZDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFQgorOjQwMTAwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBQQorOjQwMTA0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2QQorOjQwMTA4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyQQorOjQwMTBDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFQQorOjQwMTEwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBOQorOjQwMTE0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2OQorOjQwMTE4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyOQorOjQwMTFDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFOQorOjQwMTIwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBOAorOjQwMTI0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2OAorOjQwMTI4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyOAorOjQwMTJDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFOAorOjQwMTMwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBNworOjQwMTM0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NworOjQwMTM4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNworOjQwMTNDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNworOjQwMTQwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBNgorOjQwMTQ0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NgorOjQwMTQ4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNgorOjQwMTRDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNgorOjQwMTUwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBNQorOjQwMTU0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NQorOjQwMTU4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNQorOjQwMTVDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNQorOjQwMTYwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBNAorOjQwMTY0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NAorOjQwMTY4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNAorOjQwMTZDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNAorOjQwMTcwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMworOjQwMTc0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MworOjQwMTc4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMworOjQwMTdDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFMworOjQwMTgwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMgorOjQwMTg0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MgorOjQwMTg4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMgorOjQwMThDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMjAxMTAwMUZGMDBCRgorOjQwMTkwNjAwMDA0MENEMDYxOTAxMDAwMDAxMDIwMDAyMDkwMjc0MDAwMTAxMDBBMDMyMDkwNDAwMDAwRUZGMDAwMDAwMDcwNTAxMDI0MDAwMDAwNzA1MDIwMjQwMDAwMDA3MDUwMzAyNDAwMDAwMDcwNTA0MDI0MDAwMDAwNzA1MDUwMjQwMDA2RAorOjQwMTk0NjAwMDAwNzA1MDYwMjQwMDAwMDA3MDUwNzAyNDAwMDAwMDcwNTgxMDI0MDAwMDEwNzA1ODIwMjQwMDAwMTA3MDU4MzAyNDAwMDAxMDcwNTg0MDI0MDAwMDEwNzA1ODUwMjQwMDAwMTA3MDU4NjAyNDAwMDAxMDcwNTg3MDI0MDAwMDFGMworOjQwMTk4NjAwMDQwMzA5MDQ0ODAzNEIwMDY1MDA3OTAwNzMwMDcwMDA2MTAwNkUwMDJDMDAyMDAwNjEwMDIwMDA2NDAwNjkwMDc2MDA2OTAwNzMwMDY5MDA2RjAwNkUwMDIwMDA2RjAwNjYwMDIwMDA0OTAwNkUwMDZFMDA2RjAwNTMwMDc5MDA0MAorOjQwMTlDNjAwNzMwMDIwMDA0OTAwNkUwMDYzMDAyRTAwMzYwMzRCMDA2NTAwNzkwMDczMDA3MDAwNjEwMDZFMDAyMDAwNTUwMDUzMDA0MjAwMjAwMDUzMDA2NTAwNzIwMDY5MDA2MTAwNkMwMDIwMDA0MTAwNjQwMDYxMDA3MDAwNzQwMDY1MDBGOQorOjA0MUEwNjAwNzIwMDAwMDA2QQorOjAwMDAwMDAxRkYKKworCVRoZSBmaXJtd2FyZSBjb250YWluZWQgaGVyZWluIGlzCisKKwkJQ29weXJpZ2h0IChDKSAxOTk5LTIwMDEKKwkJS2V5c3BhbiwgQSBkaXZpc2lvbiBvZiBJbm5vU3lzIEluY29ycG9yYXRlZCAoIktleXNwYW4iKQorCisJYXMgYW4gdW5wdWJsaXNoZWQgd29yay4gVGhpcyBub3RpY2UgZG9lcyBub3QgaW1wbHkgdW5yZXN0cmljdGVkIG9yCisJcHVibGljIGFjY2VzcyB0byB0aGUgc291cmNlIGNvZGUgZnJvbSB3aGljaCB0aGlzIGZpcm13YXJlIGltYWdlIGlzCisJZGVyaXZlZC4gIEV4Y2VwdCBhcyBub3RlZCBiZWxvdyB0aGlzIGZpcm13YXJlIGltYWdlIG1heSBub3QgYmUKKwlyZXByb2R1Y2VkLCB1c2VkLCBzb2xkIG9yIHRyYW5zZmVycmVkIHRvIGFueSB0aGlyZCBwYXJ0eSB3aXRob3V0CisJS2V5c3BhbidzIHByaW9yIHdyaXR0ZW4gY29uc2VudC4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisKKwlQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkIGZvciB0aGUgZGlzdHJpYnV0aW9uIG9mIHRoaXMgZmlybXdhcmUKKwlpbWFnZSBhcyBwYXJ0IG9mIGEgTGludXggb3Igb3RoZXIgT3BlbiBTb3VyY2Ugb3BlcmF0aW5nIHN5c3RlbSBrZXJuZWwKKwlpbiB0ZXh0IG9yIGJpbmFyeSBmb3JtIGFzIHJlcXVpcmVkLgorCisJVGhpcyBmaXJtd2FyZSBtYXkgbm90IGJlIG1vZGlmaWVkIGFuZCBtYXkgb25seSBiZSB1c2VkIHdpdGgKKwlLZXlzcGFuIGhhcmR3YXJlLiAgRGlzdHJpYnV0aW9uIGFuZC9vciBNb2RpZmljYXRpb24gb2YgdGhlCisJa2V5c3Bhbi5jIGRyaXZlciB3aGljaCBpbmNsdWRlcyB0aGlzIGZpcm13YXJlLCBpbiB3aG9sZSBvciBpbgorCXBhcnQsIHJlcXVpcmVzIHRoZSBpbmNsdXNpb24gb2YgdGhpcyBzdGF0ZW1lbnQuIgpkaWZmIC0tZ2l0IGEvZmlybXdhcmUva2V5c3Bhbi91c2ExOXcuSEVYIGIvZmlybXdhcmUva2V5c3Bhbi91c2ExOXcuSEVYCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEzYjg0MzEKLS0tIC9kZXYvbnVsbAorKysgYi9maXJtd2FyZS9rZXlzcGFuL3VzYTE5dy5IRVgKQEAgLTAsMCArMSwxNDEgQEAKKzowMzAwMzMwMDAyMEQ1QzVGCis6MTAwMDAzMDBFNDkwN0Y5M0YwOTA3RjlDNzQzMEYwRTQ5MDdGOTZGMEJGCis6MTAwMDEzMDA5MDdGOTRGMDkwN0Y5RDc0RkZGMEU0OTA3Rjk3RjA5MDMxCis6MEYwMDIzMDA3Rjk1RjA5MDdGOUU3NDE3RjBFNDkwN0Y5OEYwMjIwNQorOjEwMDA0NjAwMzAwRjE4MTIwRDM4RUZDMzk1MTQ0MDAzMDIwMEQ4OTBGNAorOjEwMDA1NjAwN0ZCRjc0MDFGMEMyMEZDMjBBODA3NzMwMEMzQjkwN0ZERAorOjEwMDA2NjAwQzZFMDIwRTE2RDEyMEQzOEVGQzM5NDQwNTA2NDkwN0VENworOjEwMDA3NjAwNDBFMDEzOTIwRjkwN0ZDN0UwMTRGNTFDMjAwQTExNjAzMAorOjEwMDA4NjAwMEZGNTIzN0U3RTdGNDE3NTI3N0U3NTI4NDExMjA4MDE3NAorOjEwMDA5NjAwQzIwQ0U0OTA3RkM3RjA4MDM5OTA3RkM4RTAyMEUxMzIzRgorOjEwMDBBNjAwMTIwRDM4RUZDMzk0NDA1MDI5OTA3REMwRTAxMzkyMEY5MworOjEwMDBCNjAwOTA3RkM5RTAxNEY1MUMyMDBBMTE2MDBGRjUyMzdFN0RBMAorOjEwMDBDNjAwN0ZDMTc1Mjc3RDc1MjhDMTEyMDgwMUQyMENFNDkwN0Y4NworOjEwMDBENjAwQzlGMDkwN0ZCNkUwMzBFMTAzMDIwMTVFMTIwQzQxOEY1OQorOjEwMDBFNjAwMUMxMjBENDQ4RjExRTUxQ0MzOTUxMzUwMEYxMjBEMjBFMQorOjEwMDBGNjAwRUYzMEUwMDhFNTExMjBFNzAzMzAxMjVDQzIxMkU1MUM4MAorOjBDMDAzNjAwOTA3Rjk4NzQxMEYwOTBDMDAwRTBGRjIyNTIKKzowMzAwNDMwMDAyMEUwMEFBCis6MDMwMDAwMDAwMjA4QjYzRAorOjQwMDEwNjAwNjA1NkI0ODAwMzQzMTEwMkU1MTEzMEU3MjRFNTFDRDM5NDIwNDAwMzc1MUMyMDg1MUMyMzdFN0U3RjgwNzUyNzdFNzUyODgwMTIwQTg2RTUxQzI1MUM5MDdGQjdGMDgwMjdFNTFDRDM5NDNGNDAwMzc1MUMzRjg1MUMyMzkwN0UwNgorOjQwMDE0NjAwODBFNTExRjA3RTdFN0Y4MTc1Mjc3RTc1Mjg4MTEyMDgyNkU1MUMwNDkwN0ZCN0YwOTA3RkNFRTAzMEUxMDYyMDBEMDMwMjAzQkFFNEY1MUI3NDQwMjUxQkY1ODJFNDM0N0NGNTgzRTBGRkU1MUI3QzAwN0IwMTdBN0U3OTAwMjQ0QQorOjQwMDE4NjAwMDBGOUVDMzQ3RUZBRUYxMjBBMEQwNTFCRTUxQkI0MjBENzkwN0UwMEUwNjA2RTdGMDE5MDdFMTFFMEZEMTIwQzFDOTA3RTAxRTBGRjEyMEI1RTkwN0UwMkUwRkYxMjBCODREMjEwRDIxMTc1MUMwNDkwN0UwM0UwNjAwNUMyMTFENworOjQwMDFDNjAwNDMxQ0MwOTA3RTA0RTBCNDAxMDdDMjExNDMxQzBCODAxMDkwN0UwNEUwNjAwN0MyMTA0MzFDMDk4MDAzNDMxQzAyN0YwM0FEMUMxMjBDMUM0MzE5ODA5MDdGOTg3NDE0RjA5MEMwMDBFNTE5RjA5MDdGOTg3NDEyRjBFNTE2NDRDRQorOjQwMDIwNjAwMDY5MEMwMDBGMDkwN0UwNUUwNjAxMkEzRTA1NDNGRjUxODkwN0Y5ODc0MTNGMDkwQzAwMEU1MThGMDkwN0UwN0UwNjA0MjkwN0UxM0UwNjAwNTQzMTUwNDgwMDM1MzE1RkJFNEZGQUQxNTEyMEMxQzkwN0UwOEUwNjAwNTQzMTdCQworOjQwMDI0NjAwODA4MDAzNTMxNzdGNTMxN0ZDOTA3RTA5RTA2MDExNDMxNzAyQTNFMEZGMTIwQkQwOTA3RTBCRTBGRjEyMEJGNkFGMTcxMjBCQUE5MDdFMEVFMDYwMThBM0UwNjAwNTQzMTkwMTgwMDM1MzE5RkU5MDdGOTg3NDE0RjA5MEMwMDA0NgorOjQwMDI4NjAwRTUxOUYwOTA3RTBDRTA2MDE4QTNFMDYwMDU0MzE5MDI4MDAzNTMxOUZEOTA3Rjk4NzQxNEYwOTBDMDAwRTUxOUYwOTA3RTEyRTBGNTEzQTNFMDEzOTIxM0EzRTBGNTE0QTNFMDYwMDU0MzE5MTA4MDAzNTMxOUVGOTA3Rjk4NzQyRAorOjQwMDJDNjAwMTRGMDkwQzAwMEU1MTlGMDkwN0UxNkUwNjAzMjUzMThCRjkwN0Y5ODc0MTNGMEU1MTg1NDdGOTBDMDAwRjA5MDdGOTg3NDExRjAxMjBEMTRFRjU0RkU5MEMwMDBGMDUzMTVGREU0RkZBRDE1MTIwQzFDRTRGNTBFRjUwREQyMEVFQgorOjQwMDMwNjAwOTA3RTE3RTA2MDBGNDMxNTAyRTRGRkFEMTUxMjBDMUM3NTBEMDFEMjBFOTA3RTE4RTA2MDEwOTA3Rjk4NzQxMkYwRTUxNjQ0MDQ5MEMwMDBGMEQyMEE5MDdFMTlFMDYwMTE0MzE4NDA5MDdGOTg3NDEzRjBFNTE4NTQ3RjkwQzA2NAorOjQwMDM0NjAwMDBGMDkwN0UxQUUwNjAwRjUzMTVGRUU0RkZBRDE1MTIwQzFDNzUwRjAxRDIwRTkwN0UxQkUwNjAwRjQzMTUwMUU0RkZBRDE1MTIwQzFDRTRGNTBGRDIwRTkwN0UxQ0UwNjAwRTkwN0Y5ODc0MTJGMEU1MTY0NDAyOTBDMDAwRjBEOAorOjQwMDM4NjAwOTA3RTFERTA2MDAyRDIxMjkwN0UxRUUwNjAwODc1MTAwMUU0RjUxMkQyMEU5MDdFMUZFMDYwMTE5MDdGRDc3NDExRjA3NDMxRjA3NDE1RjA3NDM1RjBEMjBDQzIwREU0OTA3RkNGRjAzMDE1NzFFNTEyNjAwMjE1MTJFNTJFRDMyNgorOjQwMDNDNjAwOTQwMDQwMDQxNTJFODA2MDc1MkUwQTEyMEQxNEVGNTQwMUY1MUM2NTBFNjAwNzg1MUMwRUQyMEU4MDExMTIwRDUwRUY1NDEwRjUxQzY1MDk2MDA1ODUxQzA5RDIwRTEyMEQ1MEVGNTQ4MEY1MUM2NTBBNjAwNTg1MUMwQUQyMEVGQgorOjQwMDQwNjAwMTIwRDUwRUY1NDIwRjUxQzY1MEI2MDA4ODUxQzBCMzAxMDAyRDIwRTEyMEQ1MEVGNTQ0MEY1MUM2NTBDNjAwODg1MUMwQzMwMTEwMkQyMEUzMDE1MkE5MDdGRDJFMDIwRTEyMzkwN0I0MEUwNjAwOUUwRjUzMDkwN0I0MkUwRjU3MgorOjQwMDQ0NjAwMzE5MDdCNDFFMDYwMDk5MDdGRDc3NDE3RjA3NDM3RjBFNDkwN0ZEM0YwOTA3RkMyRTAzMEUxMDMwMjA1MUZFNTI1NzA0MDMwMEUzOUU1MTI3MDM1QzIwRUY1MUI3RTAwN0IwMDc0MDgyNTFCRjlFRTM0MDBGQTEyMDlDN0ZGNzQ0NworOjQwMDQ4NjAwODAyNTFCRjU4MkU0MzQ3QkY1ODNFRkYwMDUxQkU1MUJCNDA5REI5MDdGQzM3NDA5RjA3NTEyMTBFNEY1MTA3NTI1MDIyMkU1MjU2NDAyNzAzNjMwMDUyRkMyMDVGNTFCN0UwMDdCMDA3NDI5MjUxQkY5RUUzNDAwRkExMjA5QzdDMgorOjQwMDRDNjAwRkY3NDgwMjUxQkY1ODJFNDM0N0JGNTgzRUZGMDA1MUJFNTFCQjQwNURCOTA3RkMzNzQwNUYwNzUyNTAzMjJFNTMwNjAzMzc1MkYwMzE1MzBFNEY1MUI3RTAwN0IwMDc0MkYyNTFCRjlFRTM0MDBGQTEyMDlDN0ZGNzQ4MDI1MUIyNgorOjQwMDUwNjAwRjU4MkU0MzQ3QkY1ODNFRkYwMDUxQkU1MUJCNDAzREI5MDdGQzM3NDAzRjBFNEY1MjUyMjkwN0ZFOUUwMTIwQTFGMDVGNjAwMDY2QTAxMDZENzAzMDU0MzA2MDVFOTA4MDVFMzA5MDVDQjBBMDVEQTBCMDAwMDA3Mjc5MDdGRUJDOQorOjQwMDU0NjAwRTAyNEZFNjAxNjE0NjA1MDI0MDI3MDZGNzQxOTkwN0ZENEYwNzQwMDkwN0ZENUYwMDIwNzJFOTA3RkVBRTA3MDA0N0YwMjgwMDI3RjAzNzU4MjgyNzU4MzE5RUZGMDc1ODI3NDc1ODMxOUYwNzU4MjU4NzU4MzE5RjA5MDdGRUE2NQorOjQwMDU4NjAwRTAwNDc1ODIxNzc1ODMxOUYwNzQxOTkwN0ZENEYwNzQxMjkwN0ZENUYwMDIwNzJFOTA3RkVBRTBGRjEyMEE0NUVBNDk2MDBERUE5MDdGRDRGMEU5OTA3RkQ1RjAwMjA3MkU5MDdGQjRFMDQ0MDFGMDAyMDcyRTkwN0ZCNEUwNDREMQorOjQwMDVDNjAwMDFGMDAyMDcyRTkwN0YwMEU1MjRGMDkwN0ZCNTc0MDFGMDAyMDcyRTkwN0ZFQUUwRjUyNDAyMDcyRTEyMDczNjAyMDcyRTkwN0YwMDc0MDFGMDkwN0ZCNUYwMDIwNzJFOTA3RkU4RTAyNDdGNjAyNDE0NjAzMTI0MDI3MDVCQTIyMQorOjQwMDYwNjAwMDFFNDMzRkYyNUUwRkZBMjA3RTQzMzRGOTA3RjAwRjBFNEEzRjA5MDdGQjU3NDAyRjAwMjA3MkVFNDkwN0YwMEYwQTNGMDkwN0ZCNTc0MDJGMDAyMDcyRTkwN0ZFQ0UwRjQ1NDgwRkZDNDU0MEZGRkUwNTQwNzJGMjVFMDI0QjRDRAorOjQwMDY0NjAwRjU4MkU0MzQ3RkY1ODNFMDU0RkQ5MDdGMDBGMEU0QTNGMDkwN0ZCNTc0MDJGMDAyMDcyRTkwN0ZCNEUwNDQwMUYwMDIwNzJFOTA3RkU4RTAyNEZFNjAxRTI0MDI2MDAzMDIwNzJFOTA3RkVBRTBCNDAxMDYxMjBENjMwMjA3MkU1MworOjQwMDY4NjAwOTA3RkI0RTA0NDAxRjAwMjA3MkU5MDdGRUFFMDcwMzg5MDdGRUNFMEY0NTQ4MEZGQzQ1NDBGRkZFMDU0MDcyRjI1RTAyNEI0RjU4MkU0MzQ3RkY1ODNFNEYwOTA3RkVDRTA1NDgwRkYxMzEzMTM1NDFGRkZFMDU0MDcyRjkwN0Y2OQorOjQwMDZDNjAwRDdGMEUwNDQyMEYwODA2MDkwN0ZCNEUwNDQwMUYwODA1NzkwN0ZFOEUwMjRGRTYwMTkyNDAyNzA0QjkwN0ZFQUUwQjQwMTA1MTIwRDYwODAzRjkwN0ZCNEUwNDQwMUYwODAzNjkwN0ZFQUUwNzAyMDkwN0ZFQ0UwRjQ1NDgwRkZBRAorOjQwMDcwNjAwQzQ1NDBGRkZFMDU0MDcyRjI1RTAyNEI0RjU4MkU0MzQ3RkY1ODM3NDAxRjA4MDEwOTA3RkI0RTA0NDAxRjA4MDA3OTA3RkI0RTA0NDAxRjA5MDdGQjRFMDQ0MDJGMDIyRTQ5MDdGOTNGMDkwN0Y5Qzc0MzBGMEU0OTA3Rjk2RjA2QgorOjQwMDc0NjAwOTA3Rjk1NzRDMEYwOTA3RjlFNzQzRkYwOTA3Rjk4NzQxOEYwRTRGNThFOTA3RkRGNzRGRkYwOTA3RkRFRjBFNEY1MDg3RjAxN0IwMDc0MDgyRkY5RTQzNDAwRkFFNDEyMEEwRDBGQkYwOUVFNzUxMzAxRTRGNTEyRjUyRUY1MTFBMgorOjQwMDc4NjAwQzIwRUMyMTJDMjBEQzIwQUMyMEZDMjA0OTA3Rjk4NzQxM0YwNzUxODAzOTBDMDAwNzQwM0YwN0YwQ0U0RkQxMjBDMUM3RjEwOEYxNzEyMEJBQTkwN0Y5ODc0MTJGMDdGMDE4RjE2RUY0NDA2OTBDMDAwRjAwRkU0RkQxMjBDMUM3MQorOjQwMDdDNjAwRTRGRjdFQTNBRDA2OEQxNTEyMEMxQzkwN0Y5ODc0MTFGMDkwQzAwMEU0RjA3RjA1N0Q3RjEyMEMxQzdGMDExMjBDQUM3RjAzN0QwNzEyMEMxQzkwN0Y5ODc0MTRGMDc1MTk4MDkwQzAwMDc0ODBGMEQyMDMyMjkwN0Y5ODc0MTA1OQorOjQwMDgwNjAwRjBBRjIzRTUyOEY1ODJFNTI3RjU4M0MyQUYwNTg2OTBDMDAwMDU4NkUwQTMwNTg2RjAwNTg2REZGN0QyQUYyMjkwN0Y5ODc0MTBGMEFGMjNFNTI4RjU4MkU1MjdGNTgzQzJBRjA1ODY5MEMwMDBFMDA1ODZGMEEzMDU4NkRGRjc2RgorOjQwMDg0NjAwMDU4NkQyQUYyMjkwN0Y5ODc0MDhGMEFGMjNFNTI4RjU4MkU1MjdGNTgzQzJBRjA1ODY5MEMwMDAwNTg2RTBBMzA1ODZGMDA1ODZERkY3RDJBRjIyOTA3Rjk4NzQwOEYwQUYyM0U1MjhGNTgyRTUyN0Y1ODNDMkFGMDU4NjkwQzA0NQorOjQwMDg4NjAwMDBFMDA1ODZGMEEzMDU4NkRGRjcwNTg2RDJBRjIyNzQwMEY1ODY5MEZEQTU3QzA1QTNFNTgyNDU4MzcwRjkyMjkwN0ZENkUwNDQ4MEYwNDM4NzAxMDAwMDAwMDAwMDIyNzg3RkU0RjZEOEZENzU4MTMxMDIwOEZEMDIwOTQyRTQzQgorOjQwMDhDNjAwOTNBM0Y4RTQ5M0EzNDAwM0Y2ODAwMUYyMDhERkY0ODAyOUU0OTNBM0Y4NTQwNzI0MENDOEMzMzNDNDU0MEY0NDIwQzg4MzQwMDRGNDU2ODAwMTQ2RjZERkU0ODAwQjAxMDIwNDA4MTAyMDQwODA5MDBDQ0RFNDdFMDE5MzYwQkMzNgorOjQwMDkwNjAwQTNGRjU0M0YzMEU1MDk1NDFGRkVFNDkzQTM2MDAxMEVDRjU0QzAyNUUwNjBBODQwQjhFNDkzQTNGQUU0OTNBM0Y4RTQ5M0EzQzhDNTgyQzhDQUM1ODNDQUYwQTNDOEM1ODJDOENBQzU4M0NBREZFOURFRTc4MEJFRDIxNDkwN0Y4MworOjQwMDk0NjAwOTJFMDQ0MDJGMDEyMEQ2M0QyRTg0M0Q4MjA5MDdGREU3NDAxRjA5MDdGREZGMDkwN0ZBQjc0RkZGMDkwN0ZBOUYwOTA3RkFBRjA1MzkxRUY5MDdGQUZFMDQ0MDFGMDkwN0ZBRTc0MERGMEQyQUZEMjE1MTIwQzY2QzIwMkU0RjU1NworOjQwMDk4NjAwMjZGNTJFQzIwOEMyMDM5MDdGQTEwNEYwOTA3RkQ4RTA2NTFBNjAxMDMwMDMwNUQyMTUxMjAwNDY5MDdGRDhFMEY1MUE4MDA4MzAwMzA1QzIxNTEyMDA0NjMwMDIwN0MyMDIxMjA1MjA4MEQ2MzAwOUQzQzIwOTEyMEFCQTgwQ0M0MAorOjQwMDlDNjAwMjJCQjAxMDY4OTgyOEE4M0UwMjI1MDAyRTcyMkJCRkUwMkUzMjI4OTgyOEE4M0U0OTMyMkJCMDEwQ0U1ODIyOUY1ODJFNTgzM0FGNTgzRTAyMjUwMDZFOTI1ODJGOEU2MjJCQkZFMDZFOTI1ODJGOEUyMjJFNTgyMjlGNTgyRTUxRgorOjQwMEEwNjAwODMzQUY1ODNFNDkzMjJCQjAxMDY4OTgyOEE4M0YwMjI1MDAyRjcyMkJCRkUwMUYzMjJEMDgzRDA4MkY4RTQ5MzcwMTI3NDAxOTM3MDBEQTNBMzkzRjg3NDAxOTNGNTgyODg4M0U0NzM3NDAyOTM2ODYwRUZBM0EzQTM4MERGOEY1OAorOjQwMEE0NjAwMUJFNEY1MUM3NTFERkY3NTFFMTk3NTFGODZBQjFEQUExRUE5MUY5MDAwMDExMjA5RTBCNDAzMURBRjFDMDUxQ0VGQjUxQjAxMjIxMjA5Qzc3RTAwMjlGRkVFM0FBOTA3NzUxREZGRjUxRTg5MUY4MEQ0N0IwMDdBMDA3OTAwMjJGMworOjQwMEE4NjAwMDUyOEU1MjhBRTI3NzAwMjA1MjcxNEY1ODI4RTgzRTUxMUYwMTIwMDM2MDUyOEU1MjhBQzI3NzAwMjA1MjcxNEY1ODI4QzgzRUZGMDE1MjNFNTIzNjAwNzEyMEQ0NDhGMTE4MENEMjI5MDdGRDhFMEY1MUIxMjAwMDM5MDdGRDZBQgorOjQwMEFDNjAwRTA0NDgwRjAxMjA4QTY5MDdGRDZFMDMwRTcwRTMwMDEwNTEyMENGRTgwMDYxMjBDOEJFRjYwRTExMjA3MzYyMkMwRTBDMDgzQzA4MkMwODVDMDg0QzA4Njc1ODYwMDkwN0ZDNEU0RjA1MzkxRUY5MDdGQUI3NDA0RjBEMDg2RDBERgorOjQwMEIwNjAwODREMDg1RDA4MkQwODNEMEUwMzJDMEUwQzA4M0MwODJDMDg1QzA4NEMwODY3NTg2MDBEMjAyNTM5MUVGOTA3RkFCNzQwMUYwRDA4NkQwODREMDg1RDA4MkQwODNEMEUwMzJDMEUwQzA4M0MwODJDMDg1QzA4NEMwODY3NTg2MDAyNQorOjQwMEI0NjAwRDIwOTUzOTFFRjkwN0ZBQjc0MDhGMEQwODZEMDg0RDA4NUQwODJEMDgzRDBFMDMyOTA3Rjk4NzQxM0YwOTBDMDAwNzRCRkYwOTA3Rjk4NzQxMEYwOTBDMDAwRUZGMDkwN0Y5ODc0MTNGMEU1MTg1NDdGOTBDMDAwRjAyMjkwN0ZEQgorOjQwMEI4NjAwOTg3NDEzRjA5MEMwMDA3NEJGRjA5MDdGOTg3NDExRjA5MEMwMDBFRkYwOTA3Rjk4NzQxM0YwRTUxODU0N0Y5MEMwMDBGMDIyOTA3Rjk4NzQxM0YwOTBDMDAwNzRCRkYwOTA3Rjk4NzQxMkYwOTBDMDAwRUZGMDkwN0Y5ODc0MTMwNworOjQwMEJDNjAwRjBFNTE4NTQ3RjkwQzAwMEYwMjI5MDdGOTg3NDEzRjA5MEMwMDA3NEJGRjA5MDdGOTg3NDE0RjA5MEMwMDBFRkYwOTA3Rjk4NzQxM0YwRTUxODU0N0Y5MEMwMDBGMDIyOTA3Rjk4NzQxM0YwOTBDMDAwNzRCRkYwOTA3Rjk4NzRGMgorOjQwMEMwNjAwMTZGMDkwQzAwMEVGRjA5MDdGOTg3NDEzRjBFNTE4NTQ3RjkwQzAwMEYwMjI5MDdGOTg3NDEzRjBFNTE4NTQ3RjkwQzAwMEYwOTA3Rjk4NzQxN0YwOTBDMDAwRUZGMDkwN0Y5ODc0MTVGMDkwQzAwMEVERjAyMjEyMEQyQzhGMUQ0NAorOjQwMEM0NjAwMTIwRDJDOEYxRUU1MUQ2NTFFNjAxMjEyMEQyQzhGMURFNTFENjUxRTYwMDcxMjBEMkM4RjFFODBFOEFGMUQyMjkwN0ZENkUwNTRGQkYwRTA0NDA4RjAzMDE1MDRFMDQ0MDJGMDdGRjQ3RTAxMTIwQ0U3OTA3RkQ2RTA1NEY3RjBEOAorOjQwMEM4NjAwRTA0NDA0RjAyMjkwN0ZEOEUwRjUxQzEyMDczNjEyMEQ1MEVGMzBFNjBCOTA3RkQ4RTA2NTFDNjBGMTdGMDEyMjEyMDAwMzdGMDAyMkFFMDdFNEZGRTUxNTU0N0ZGRDEyMEMxQzkwN0Y5ODc0MTFGMDkwQzAwMEVFRjBFNEU1MTU5OQorOjQwMENDNjAwNDQ4MEZEMTIwQzFDMjIwNTI5MDIwMDAwMDAwMDAzMkYwMzAwMDBDMTg2QzEwMkMxMDlDMTAxQzEwNzAxMjUwMDAwOEUxQzhGMURFNTFEMTUxREFFMUM3MDAyMTUxQzRFNjAwNTEyMDg5NTgwRUUyMjkwN0ZENkUwNDQwMUYwN0Y4NgorOjQwMEQwNjAwMEQ3RTAwMTIwQ0U3OTA3RkQ2RTA1NEZFRjAyMjkwN0Y5ODc0MTFGMDkwQzAwMEUwRkYyMjkwN0Y5ODc0MTJGMDkwQzAwMEUwRkYyMjkwN0Y5ODc0MTNGMDkwQzAwMEUwRkYyMjkwN0Y5ODc0MTRGMDkwQzAwMEUwRkYyMjkwN0YyQgorOjQwMEQ0NjAwOTg3NDE1RjA5MEMwMDBFMEZGMjI5MDdGOTg3NDE2RjA5MEMwMDBFMEZGMjI1M0Q4RUYzMkQyMDEyMkMyMDEyMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3MworOjQwMEQ4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyRAorOjQwMERDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjBCMTAwMDAyMEVDMAorOjQwMEUwNjAwMDQwMDAyMEFFNjAwMDIwQjM3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3MgorOjQwMEU0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2QworOjQwMEU4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyQworOjQwMEVDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFQworOjQwMEYwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBQgorOjQwMEY0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2QgorOjQwMEY4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyQgorOjQwMEZDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFQgorOjQwMTAwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBQQorOjQwMTA0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2QQorOjQwMTA4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyQQorOjQwMTBDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFQQorOjQwMTEwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBOQorOjQwMTE0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2OQorOjQwMTE4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyOQorOjQwMTFDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFOQorOjQwMTIwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBOAorOjQwMTI0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2OAorOjQwMTI4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyOAorOjQwMTJDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFOAorOjQwMTMwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBNworOjQwMTM0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NworOjQwMTM4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNworOjQwMTNDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNworOjQwMTQwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBNgorOjQwMTQ0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NgorOjQwMTQ4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNgorOjQwMTRDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNgorOjQwMTUwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBNQorOjQwMTU0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NQorOjQwMTU4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNQorOjQwMTVDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNQorOjQwMTYwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBNAorOjQwMTY0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NAorOjQwMTY4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNAorOjQwMTZDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNAorOjQwMTcwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMworOjQwMTc0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MworOjQwMTc4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMworOjQwMTdDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFMworOjQwMTgwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMgorOjQwMTg0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MgorOjQwMTg4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMgorOjQwMThDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMjAxMTAwMUZGMDBCRgorOjQwMTkwNjAwMDA0MENEMDYwODAxMDAwMDAxMDIwMDAyMDkwMjc0MDAwMTAxMDBBMDMyMDkwNDAwMDAwRUZGMDAwMDAwMDcwNTAxMDI0MDAwMDAwNzA1MDIwMjQwMDAwMDA3MDUwMzAyNDAwMDAwMDcwNTA0MDI0MDAwMDAwNzA1MDUwMjQwMDA3RQorOjQwMTk0NjAwMDAwNzA1MDYwMjQwMDAwMDA3MDUwNzAyNDAwMDAwMDcwNTgxMDI0MDAwMDEwNzA1ODIwMjQwMDAwMTA3MDU4MzAyNDAwMDAxMDcwNTg0MDI0MDAwMDEwNzA1ODUwMjQwMDAwMTA3MDU4NjAyNDAwMDAxMDcwNTg3MDI0MDAwMDFGMworOjQwMTk4NjAwMDQwMzA5MDQ0ODAzNEIwMDY1MDA3OTAwNzMwMDcwMDA2MTAwNkUwMDJDMDAyMDAwNjEwMDIwMDA2NDAwNjkwMDc2MDA2OTAwNzMwMDY5MDA2RjAwNkUwMDIwMDA2RjAwNjYwMDIwMDA0OTAwNkUwMDZFMDA2RjAwNTMwMDc5MDA0MAorOjQwMTlDNjAwNzMwMDIwMDA0OTAwNkUwMDYzMDAyRTAwMzYwMzRCMDA2NTAwNzkwMDczMDA3MDAwNjEwMDZFMDAyMDAwNTUwMDUzMDA0MjAwMjAwMDUzMDA2NTAwNzIwMDY5MDA2MTAwNkMwMDIwMDA0MTAwNjQwMDYxMDA3MDAwNzQwMDY1MDBGOQorOjA0MUEwNjAwNzIwMDAwMDA2QQorOjAwMDAwMDAxRkYKKworCVRoZSBmaXJtd2FyZSBjb250YWluZWQgaGVyZWluIGlzCisKKwkJQ29weXJpZ2h0IChDKSAxOTk5LTIwMDEKKwkJS2V5c3BhbiwgQSBkaXZpc2lvbiBvZiBJbm5vU3lzIEluY29ycG9yYXRlZCAoIktleXNwYW4iKQorCisJYXMgYW4gdW5wdWJsaXNoZWQgd29yay4gVGhpcyBub3RpY2UgZG9lcyBub3QgaW1wbHkgdW5yZXN0cmljdGVkIG9yCisJcHVibGljIGFjY2VzcyB0byB0aGUgc291cmNlIGNvZGUgZnJvbSB3aGljaCB0aGlzIGZpcm13YXJlIGltYWdlIGlzCisJZGVyaXZlZC4gIEV4Y2VwdCBhcyBub3RlZCBiZWxvdyB0aGlzIGZpcm13YXJlIGltYWdlIG1heSBub3QgYmUKKwlyZXByb2R1Y2VkLCB1c2VkLCBzb2xkIG9yIHRyYW5zZmVycmVkIHRvIGFueSB0aGlyZCBwYXJ0eSB3aXRob3V0CisJS2V5c3BhbidzIHByaW9yIHdyaXR0ZW4gY29uc2VudC4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisKKwlQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkIGZvciB0aGUgZGlzdHJpYnV0aW9uIG9mIHRoaXMgZmlybXdhcmUKKwlpbWFnZSBhcyBwYXJ0IG9mIGEgTGludXggb3Igb3RoZXIgT3BlbiBTb3VyY2Ugb3BlcmF0aW5nIHN5c3RlbSBrZXJuZWwKKwlpbiB0ZXh0IG9yIGJpbmFyeSBmb3JtIGFzIHJlcXVpcmVkLgorCisJVGhpcyBmaXJtd2FyZSBtYXkgbm90IGJlIG1vZGlmaWVkIGFuZCBtYXkgb25seSBiZSB1c2VkIHdpdGgKKwlLZXlzcGFuIGhhcmR3YXJlLiAgRGlzdHJpYnV0aW9uIGFuZC9vciBNb2RpZmljYXRpb24gb2YgdGhlCisJa2V5c3Bhbi5jIGRyaXZlciB3aGljaCBpbmNsdWRlcyB0aGlzIGZpcm13YXJlLCBpbiB3aG9sZSBvciBpbgorCXBhcnQsIHJlcXVpcmVzIHRoZSBpbmNsdXNpb24gb2YgdGhpcyBzdGF0ZW1lbnQuIgpkaWZmIC0tZ2l0IGEvZmlybXdhcmUva2V5c3Bhbi91c2EyOC5IRVggYi9maXJtd2FyZS9rZXlzcGFuL3VzYTI4LkhFWApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMDBjOTc4NgotLS0gL2Rldi9udWxsCisrKyBiL2Zpcm13YXJlL2tleXNwYW4vdXNhMjguSEVYCkBAIC0wLDAgKzEsMTQ4IEBACis6MEEwMDI2MDAxMjE3REIxMjE4QjUxMjE0QzMyMkUyCis6MDMwMDMzMDAwMjAwMURBQgorOjA0MDAxRDAwNTNEOEVGMzI5MworOjEwMDAwNjAwOEUxMjhGMTNFNTEzMTUxM0FFMTI3MDAyMTUxMjRFNjA4MQorOjA3MDAxNjAwMDUxMjE4QTQ4MEVFMjI4MAorOjAzMDAwMzAwMDIwMDQ2QjIKKzoxMDAwNDYwMEMwRTBDMDgzQzA4MkMwODY3NTg2MDBDMEQwNzVEMDA4NjcKKzoxMDAwNTYwMDMwOTkwRTMwMTEwN0EyMTc5MjlCODU0Njk5QzI5OUQyMDQKKzoxMDAwNjYwMDFGMzBDMTBFMzAxMjA3QTIxODkyQzM4NTQ3QzFDMkMxMDQKKzoxMDAwNzYwMEQyMjAyMDFGMDMwMjA0NDJDMjFGMjAwMzAzMDIwMjY3OEMKKzoxMDAwODYwMDIwMTEwMzAyMDEzOEU1NEFDMzk1N0M1MDNFMjAxMzM2MDEKKzoxMDAwOTYwMDIwMEIzMzkwN0Y5QkUwMjBFMzAzMjAxQzI5MzAxQjEyQUEKKzoxMDAwQTYwMEFFNEEwNTRBNzQ0MDJFRjU4MkU0MzQ3RUY1ODNFMDEzQTkKKzoxMDAwQjYwMDkyMTdBRTRBMDU0QTc0NDAyRUY1ODJFNDM0N0VGNTgzRTMKKzoxMDAwQzYwMEUwRjU0NjAyMDQ0MEMyMTEwMjA0NDA5MDdGQzdFNEYwMDYKKzoxMDAwRDYwMEMyMDMzMDE1MENDMjE1OTA3RkJGMDRGMEMyMTEwMjA0OTIKKzoxMDAwRTYwMDQwOTA3RkM4RTAzMEUxMDVDMjExMDIwNDQwOTA3RkM5MEMKKzoxMDAwRjYwMEUwRjU3QzkwN0RDMEUwMTM5MjE1MjAxMzJEMjAwQjJBOEQKKzowMzAwNDMwMDAyMUIwMDlECis6MDMwMDIzMDAwMjAwNDY5MgorOjAzMDAzQjAwMDIwMDQ2N0EKKzowMzAwMDAwMDAyMTYzREE4Cis6NDAwMTA2MDA5MDdGOUJFMDIwRTMwMzIwMUMyMDMwMUIxMTkwN0RDMUUwMTM5MjE3QTNFMEY1NDY3NTRBMDMwMjA0NDA3NTRBMDI5MDdEQzFFMEY1NDYwMjA0NDA3NTRBMDFDMjExMDIwNDQwRTU0QUMzOTU3QzUwMDMwMjAxRTA5MDdGQzZFMDhBCis6NDAwMTQ2MDAzMEUxMDdDMjIxQzIwNTAyMDQ0MDkwN0ZDN0UwRjU3QzkwN0U0MEUwMTM5MjE1MzAxMzAzMDIwMUQ4MjAwQjcyMjAwMDZGOTA3RjlCRTAyMEUzMDMyMDFDNjUzMDFCMTA5MDdFNDFFMDEzOTI5QkEzRTBGNTk5NzU0QTAzODAwOUJFCis6NDAwMTg2MDA5MDdFNDFFMEY1OTk3NTRBMDJFNTRBQzM5NTdDNDAxNzkwN0ZDN0U0RjBDMjAzMjAxNTAzMDIwNDQwQzIxNTkwN0ZCRjA0RjAwMjA0NDAzMDFCMTJBRTRBMDU0QTc0NDAyRUY1ODJFNDM0N0VGNTgzRTAxMzkyMTdBRTRBMDU0QUE3Cis6NDAwMUM2MDA3NDQwMkVGNTgyRTQzNDdFRjU4M0UwRjU0NkQyMTEwMjA0NDA3NTRBMDFDMjIxMDIwNDQwMzAxMzAzMDIwMjYyMjAwQjc5OTA3RjlCRTAyMEUzMDMyMDFDNkYzMDFCMTJBRTRBMDU0QTc0NDAyRUY1ODJFNDM0N0VGNTgzRTAxM0RDCis6NDAwMjA2MDA5MjlCQUU0QTA1NEE3NDQwMkVGNTgyRTQzNDdFRjU4M0UwRjU5OUU1NEFDMzk1N0M0MDE3OTA3RkM3RTRGMEMyMDMyMDE1MDMwMjA0NDBDMjE1OTA3RkJGMDRGMDAyMDQ0MDMwMUIxMkFFNEEwNTRBNzQ0MDJFRjU4MkU0MzQ3RUI2Cis6NDAwMjQ2MDBGNTgzRTAxMzkyMTdBRTRBMDU0QTc0NDAyRUY1ODJFNDM0N0VGNTgzRTBGNTQ2RDIxMTAyMDQ0MEMyMjEwMjA0NDAyMDExMDMwMjAzMTlFNTRBQzM5NTdDNTAzRTIwMTMzNjIwMEIzMzkwN0Y5QkUwMjBFMzAzMjAxQzI5MzAxQjVGCis6NDAwMjg2MDAxMkFFNEEwNTRBNzRDMDJFRjU4MkU0MzQ3REY1ODNFMDEzOTIxN0FFNEEwNTRBNzRDMDJFRjU4MkU0MzQ3REY1ODNFMEY1NDYwMjA0NDBDMjExMDIwNDQwOTA3RkM5RTRGMEQyMDMzMDE1MENDMjE1OTA3RkJGMDRGMEMyMTEwMjc2Cis6NDAwMkM2MDAwNDQwOTA3RkM2RTAzMEUxMDVDMjExMDIwNDQwOTA3RkM3RTBGNTdDOTA3RTQwRTAxMzkyMTUyMDEzMkQyMDBCMkE5MDdGOUJFMDIwRTMwMzIwMUMyMDMwMUIxMTkwN0U0MUUwMTM5MjE3QTNFMEY1NDY3NTRBMDMwMjA0NDA3NTlFCis6NDAwMzA2MDA0QTAyOTA3RTQxRTBGNTQ2MDIwNDQwNzU0QTAxQzIxMTAyMDQ0MEU1NEFDMzk1N0M1MDAzMDIwM0MxOTA3RkM4RTAzMEUxMDdDMjIxQzIwNTAyMDQ0MDkwN0ZDOUUwRjU3QzkwN0RDMEUwMTM5MjE1MzAxMzAzMDIwM0I5MjAwQjQ4Cis6NDAwMzQ2MDA3MjIwMDA2RjkwN0Y5QkUwMjBFMzAzMjAxQzY1MzAxQjEwOTA3REMxRTAxMzkyOUJBM0UwRjU5OTc1NEEwMzgwMDk5MDdEQzFFMEY1OTk3NTRBMDJFNTRBQzM5NTdDNDAxNzkwN0ZDOUU0RjBEMjAzMjAxNTAzMDIwNDQwQzIxNTczCis6NDAwMzg2MDA5MDdGQkYwNEYwMDIwNDQwMzAxQjEyQUU0QTA1NEE3NEMwMkVGNTgyRTQzNDdERjU4M0UwMTM5MjE3QUU0QTA1NEE3NEMwMkVGNTgyRTQzNDdERjU4M0UwRjU0NkQyMTEwMjA0NDA3NTRBMDFDMjIxMDIwNDQwMzAxMzAzMDIwNDYzCis6NDAwM0M2MDAzRTIwMEI3NDkwN0Y5QkUwMjBFMzAzMjAxQzZBMzAxQjEyQUU0QTA1NEE3NEMwMkVGNTgyRTQzNDdERjU4M0UwMTM5MjlCQUU0QTA1NEE3NEMwMkVGNTgyRTQzNDdERjU4M0UwRjU5OUU1NEFDMzk1N0M0MDEzOTA3RkM5RTRGMDlECis6NDAwNDA2MDBEMjAzMzAxNTM1QzIxNTkwN0ZCRjA0RjA4MDJDMzAxQjEyQUU0QTA1NEE3NEMwMkVGNTgyRTQzNDdERjU4M0UwMTM5MjE3QUU0QTA1NEE3NEMwMkVGNTgyRTQzNDdERjU4M0UwRjU0NkQyMTE4MDAyQzIyMUQyMjUyMDIwMDMwMjMwCis6NDAwNDQ2MDAwODBDQzIyMDIwMDQwMzAyMDYzMTIwMTIwMzAyMDUwMkU1NEJDMzk1N0Q1MDNFMjAxNDM2MjAwRDMzOTA3RjlBRTAyMEU1MDMyMDFFMjkzMDFEMTJBRTRCMDU0Qjc0NDAyRUY1ODJFNDM0N0RGNTgzRTAxMzkyMThBRTRCMDU0Qjk5Cis6NDAwNDg2MDA3NDQwMkVGNTgyRTQzNDdERjU4M0UwRjU0NzAyMDgwQUMyMTIwMjA4MEE5MDdGQ0JFNEYwQzIwNDMwMTYwQ0MyMTY5MDdGQzEwNEYwQzIxMjAyMDgwQTkwN0ZDQ0UwMzBFMTA1QzIxMjAyMDgwQTkwN0ZDREUwRjU3RDkwN0NDMEJCCis6NDAwNEM2MDBFMDEzOTIxNjIwMTQyRDIwMEQyQTkwN0Y5QUUwMjBFNTAzMjAxRTIwMzAxRDExOTA3Q0MxRTAxMzkyMThBM0UwRjU0Nzc1NEIwMzAyMDgwQTc1NEIwMjkwN0NDMUUwRjU0NzAyMDgwQTc1NEIwMUMyMTIwMjA4MEFFNTRCQzM5NTY2Cis6NDAwNTA2MDA3RDUwMDMwMjA1QUE5MDdGQ0FFMDMwRTEwN0MyMjJDMjA2MDIwODBBOTA3RkNCRTBGNTdEOTA3RDQwRTAxMzkyMTYzMDE0MDMwMjA1QTIyMDBENzIyMDAwNkY5MDdGOUFFMDIwRTUwMzIwMUU2NTMwMUQxMDkwN0Q0MUUwMTM5MjBECis6NDAwNTQ2MDBDM0EzRTBGNUMxNzU0QjAzODAwOTkwN0Q0MUUwRjVDMTc1NEIwMkU1NEJDMzk1N0Q0MDE3OTA3RkNCRTRGMEMyMDQyMDE2MDMwMjA4MEFDMjE2OTA3RkMxMDRGMDAyMDgwQTMwMUQxMkFFNEIwNTRCNzQ0MDJFRjU4MkU0MzQ3RDI0Cis6NDAwNTg2MDBGNTgzRTAxMzkyMThBRTRCMDU0Qjc0NDAyRUY1ODJFNDM0N0RGNTgzRTBGNTQ3RDIxMjAyMDgwQTc1NEIwMUMyMjIwMjA4MEEzMDE0MDMwMjA2MkMyMDBENzk5MDdGOUFFMDIwRTUwMzIwMUU2RjMwMUQxMkFFNEIwNTRCNzQ0MEU5Cis6NDAwNUM2MDAyRUY1ODJFNDM0N0RGNTgzRTAxMzkyQzNBRTRCMDU0Qjc0NDAyRUY1ODJFNDM0N0RGNTgzRTBGNUMxRTU0QkMzOTU3RDQwMTc5MDdGQ0JFNEYwQzIwNDIwMTYwMzAyMDgwQUMyMTY5MDdGQzEwNEYwMDIwODBBMzAxRDEyQUU0QjkxCis6NDAwNjA2MDAwNTRCNzQ0MDJFRjU4MkU0MzQ3REY1ODNFMDEzOTIxOEFFNEIwNTRCNzQ0MDJFRjU4MkU0MzQ3REY1ODNFMEY1NDdEMjEyMDIwODBBQzIyMjAyMDgwQTIwMTIwMzAyMDZFM0U1NEJDMzk1N0Q1MDNFMjAxNDM2MjAwRDMzOTA3RjFBCis6NDAwNjQ2MDA5QUUwMjBFNTAzMjAxRTI5MzAxRDEyQUU0QjA1NEI3NEMwMkVGNTgyRTQzNDdDRjU4M0UwMTM5MjE4QUU0QjA1NEI3NEMwMkVGNTgyRTQzNDdDRjU4M0UwRjU0NzAyMDgwQUMyMTIwMjA4MEE5MDdGQ0RFNEYwRDIwNDMwMTYwQzQzCis6NDAwNjg2MDBDMjE2OTA3RkMxMDRGMEMyMTIwMjA4MEE5MDdGQ0FFMDMwRTEwNUMyMTIwMjA4MEE5MDdGQ0JFMEY1N0Q5MDdENDBFMDEzOTIxNjIwMTQyRDIwMEQyQTkwN0Y5QUUwMjBFNTAzMjAxRTIwMzAxRDExOTA3RDQxRTAxMzkyMThBMzUyCis6NDAwNkM2MDBFMEY1NDc3NTRCMDMwMjA4MEE3NTRCMDI5MDdENDFFMEY1NDcwMjA4MEE3NTRCMDFDMjEyMDIwODBBRTU0QkMzOTU3RDUwMDMwMjA3OEI5MDdGQ0NFMDMwRTEwN0MyMjJDMjA2MDIwODBBOTA3RkNERTBGNTdEOTA3Q0MwRTAxM0FDCis6NDAwNzA2MDA5MjE2MzAxNDAzMDIwNzgzMjAwRDcyMjAwMDZGOTA3RjlBRTAyMEU1MDMyMDFFNjUzMDFEMTA5MDdDQzFFMDEzOTJDM0EzRTBGNUMxNzU0QjAzODAwOTkwN0NDMUUwRjVDMTc1NEIwMkU1NEJDMzk1N0Q0MDE3OTA3RkNERTRGMEFFCis6NDAwNzQ2MDBEMjA0MjAxNjAzMDIwODBBQzIxNjkwN0ZDMTA0RjAwMjA4MEEzMDFEMTJBRTRCMDU0Qjc0QzAyRUY1ODJFNDM0N0NGNTgzRTAxMzkyMThBRTRCMDU0Qjc0QzAyRUY1ODJFNDM0N0NGNTgzRTBGNTQ3RDIxMjAyMDgwQTc1NEIwMTczCis6NDAwNzg2MDBDMjIyMDIwODBBMzAxNDAzMDIwODA4MjAwRDc0OTA3RjlBRTAyMEU1MDMyMDFFNkEzMDFEMTJBRTRCMDU0Qjc0QzAyRUY1ODJFNDM0N0NGNTgzRTAxMzkyQzNBRTRCMDU0Qjc0QzAyRUY1ODJFNDM0N0NGNTgzRTBGNUMxRTU0QjNGCis6NDAwN0M2MDBDMzk1N0Q0MDEzOTA3RkNERTRGMEQyMDQzMDE2MzVDMjE2OTA3RkMxMDRGMDgwMkMzMDFEMTJBRTRCMDU0Qjc0QzAyRUY1ODJFNDM0N0NGNTgzRTAxMzkyMThBRTRCMDU0Qjc0QzAyRUY1ODJFNDM0N0NGNTgzRTBGNTQ3RDIxMjJBCis6NDAwODA2MDA4MDAyQzIyMkQyMjUyMDk4MDMwMjA5M0VDMjk4MjAwMTAzMDIwOEIwMjAyMzI3QUU0ODA1NDg3NDgwMkVGNTgyRTQzNDdFRjU4M0U1OTlGMDMwMUI0OUFFNDgwNTQ4NzQ4MDJFRjU4MkU0MzQ3RUY1ODNFNTk4RjA4MDM2QUY5OTZFCis6NDAwODQ2MDBFRkI1NTgwNEQyMEI4MDJDRUZCNTU3MDRDMjBCODAyNEFFNDgwNTQ4NzQ4MDJFRjU4MkU0MzQ3RUY1ODNFRkYwMzAxQjExQUU0ODA1NDg3NDgwMkVGNTgyRTQzNDdFRjU4M0U1OThGMEQyMTlFNTQ4QzM5NTU0NTAwMzAyMDkzQzlGCis6NDAwODg2MDA5MDdGQjhFMDMwRTExNUU1NDhDMzk0NDA1MDAzMDIwOTNDMTU0ODE1NDgwNTJERDIwQzAyMDkzQzkwN0ZCN0U1NDhGMDc1NDgwMEMyMDEwMjA5M0MyMDIzMjdBRTQ4MDU0ODc0MDAyRUY1ODJFNDM0N0VGNTgzRTU5OUYwMzAxQkJGCis6NDAwOEM2MDA0OUFFNDgwNTQ4NzQwMDJFRjU4MkU0MzQ3RUY1ODNFNTk4RjA4MDM2QUY5OUVGQjU1ODA0RDIwQjgwMkNFRkI1NTcwNEMyMEI4MDI0QUU0ODA1NDg3NDAwMkVGNTgyRTQzNDdFRjU4M0VGRjAzMDFCMTFBRTQ4MDU0ODc0MDAyRTUxCis6NDAwOTA2MDBGNTgyRTQzNDdFRjU4M0U1OThGMEQyMTlFNTQ4QzM5NTU0NDAyMzkwN0ZCNkUwMzBFMTExRTU0OEMzOTQ0MDQwMTUxNTQ4MTU0ODA1MkREMjBDODAwQjkwN0ZCOUU1NDhGMDc1NDgwMEQyMDFEMjI1MjBDMDAzMDIwQTcwQzJDMDE2Cis6NDAwOTQ2MDAyMDAyMDMwMjA5RTIyMDI0MjdBRTQ5MDU0OTc0ODAyRUY1ODJFNDM0N0RGNTgzRTVDMUYwMzAxRDQ5QUU0OTA1NDk3NDgwMkVGNTgyRTQzNDdERjU4M0U1QzBGMDgwMzZBRkMxRUZCNTcwMDREMjBEODAyQ0VGQjU2RjA0QzIwREFFCis6NDAwOTg2MDA4MDI0QUU0OTA1NDk3NDgwMkVGNTgyRTQzNDdERjU4M0VGRjAzMDFEMTFBRTQ5MDU0OTc0ODAyRUY1ODJFNDM0N0RGNTgzRTVDMEYwRDIxQUU1NDlDMzk1NkM1MDAzMDIwQTZFOTA3RkJDRTAzMEUxMTVFNTQ5QzM5NDQwNTAwMzUxCis6NDAwOUM2MDAwMjBBNkUxNTQ5MTU0OTA1MzlEMjBFMDIwQTZFOTA3RkJCRTU0OUYwNzU0OTAwQzIwMjAyMEE2RTIwMjQyN0FFNDkwNTQ5NzQwMDJFRjU4MkU0MzQ3REY1ODNFNUMxRjAzMDFENDlBRTQ5MDU0OTc0MDAyRUY1ODJFNDM0N0RGNTU1Cis6NDAwQTA2MDA4M0U1QzBGMDgwMzZBRkMxRUZCNTcwMDREMjBEODAyQ0VGQjU2RjA0QzIwRDgwMjRBRTQ5MDU0OTc0MDAyRUY1ODJFNDM0N0RGNTgzRUZGMDMwMUQxMUFFNDkwNTQ5NzQwMDJFRjU4MkU0MzQ3REY1ODNFNUMwRjBEMjFBRTU0OTgzCis6NDAwQTQ2MDBDMzk1NkM0MDIzOTA3RkJBRTAzMEUxMTFFNTQ5QzM5NDQwNDAxNTE1NDkxNTQ5MDUzOUQyMEU4MDBCOTA3RkJERTU0OUYwNzU0OTAwRDIwMkQyMjUzMDI1MDVDMjI1MDIwMDU2RDBEMEQwODZEMDgyRDA4M0QwRTAzMjkwN0ZDRTk5Cis6NDAwQTg2MDBFMDMwRTEwMzAyMEJBNUU0RjUxMjc0NDAyNTEyRjU4MkU0MzQ3Q0Y1ODNFMEZGRTUxMjdDMDA3QjAwMjQ0Q0Y5RUMzNDAwRkFFRjEyMTVDRDA1MTJFNTEyQjQxOERCRTU0QzYwMEM3NUM5MjA3NUM4MzY4NTREQ0E4NTRFQ0JFNUJDCis6NDAwQUM2MDA0RjEzOTIxQjkyOUZFNTUwMTM5MjFDRTU1MTEzOTIyM0U1NTI2MDA5OTA3Rjk4RTA1NEZCRjA4MDA3OTA3Rjk4RTA0NDA0RjBFNTUzNjAwOTkwN0Y5OEUwNTQ3RkYwODAwNzkwN0Y5OEUwNDQ4MEYwRTU1OTYwMEJDMjEzQzIwQjE4Cis6NDAwQjA2MDA5MDdGOTVFMDQ0MDJGMEU1NUE2MDBCRDIwQkQyMEM5MDdGOTVFMDQ0MDJGMEU1NUI2MDBEQzJBRkMyMTFEMjAwRTRGNTdDRjU0QUQyQUZFNTVDNjAwNTMwMjMwMkQyMEJFNTVENjAxNTkwN0Y5NUUwNTRGREYwOTA3RjlFRTA0NEQ5Cis6NDAwQjQ2MDAwMkYwOTA3Rjk4RTA1NEZERjBFNTVFNjAwQUQyOUNDMjk4NzUyRTAxNzU0MDI4RTU1RjYwMDdDMjlDRTRGNTQ4RjUyRUU1NjA2MDAzRTRGNTQ4RTU2MTYwMDJEMjA3RTU2MjYwMDhFNTVFNzAwMkY1NDBEMjBDRTU2MzYwMTk5MDYwCis6NDAwQjg2MDA3RkQ3NzQxMUYwNzQzMUYwNzQxMkYwNzQzMkYwNzQxNUYwNzQzNUYwRDIwM0QyMDFEMjA5RTQ5MDdGQ0ZGMEEyMTNFNDMzRkY2NTJCNjAwNDhGMkJEMjBDQTIwQkU0MzNGRjY1MkM2MDA0OEYyQ0QyMEM5MDdGOUJFMDU0MDg2NTg5Cis6NDAwQkM2MDAyNzYwMDdFMDU0MDhGNTI3RDIwQzkwN0Y5QkUwNTQ0MEI1MjkwOUUwNTQ0MDY0NDBGNTI5RDIwQzMwMDczNUMyQUYzMDAxMTg5MDdGQjhFMDIwRTEyN0U1NDg2MDA5OTA3RkI3RjBFNEY1NDhDMjAxQzIwNzgwMTY5MDdGQjZFMEU5Cis6NDAwQzA2MDAyMEUxMEZFNTQ4NjAwOTkwN0ZCOUYwRTRGNTQ4RDIwMUMyMDdEMkFGMjAwNTM3MzAwMzFCOTA3RkM2RTAyMEUxMkQ5MDdFNDBFMDEzOTIxNTc1NEEwMTkwN0ZDN0UwRjU3Q0QyMDU4MDE5OTA3RkM4RTAyMEUxMTI5MDdEQzBFMENGCis6NDAwQzQ2MDAxMzkyMTU3NTRBMDE5MDdGQzlFMEY1N0NEMjA1MjAyMTMzMjAwMDA2RTU0QTY1N0M3MDJBMzAwNTFBMzAwMzA5RTQ5MDdGQzdGMEMyMDM4MDA3RTQ5MDdGQzlGMEQyMDNDMjA1RTRGNTdDRjU0QTMwMTUwQUMyMTVDMjAwOTA3RjVDCis6NDAwQzg2MDBCRjc0MDFGMDMwMjEwMzAyMEQ5NDIwMDUwMzAyMEQ5NDMwMUMwQTkwN0Y5QkUwMjBFMzAzMDIwRDk0MzAwQjAzMDIwRDk0MzAxMzAzMDIwRDk0MzAwMzYyMzAxQjEyQUY0QTA1NEE3NDQwMkZGNTgyRTQzNDdFRjU4M0UwMTM5MkNFCis6NDAwQ0M2MDAyREFGNEEwNTRBNzQ0MDJGRjU4MkU0MzQ3RUY1ODNFMEY1MTNFNTRBQzM5NTdDNTAyQTMwMUIxMkFGNEEwNTRBNzQ0MDJGRjU4MkU0MzQ3RUY1ODNFMDEzOTIxN0FGNEEwNTRBNzQ0MDJGRjU4MkU0MzQ3RUY1ODNFMEY1NDZEMjY2Cis6NDAwRDA2MDAxMTgwNkJDMjExRTQ5MDdGQzdGMEMyMDM4MDYwMzAxQjEyQUY0QTA1NEE3NEMwMkZGNTgyRTQzNDdERjU4M0UwMTM5MjJEQUY0QTA1NEE3NEMwMkZGNTgyRTQzNDdERjU4M0UwRjUxM0U1NEFDMzk1N0M1MDJBMzAxQjEyQUY0QTY3Cis6NDAwRDQ2MDAwNTRBNzRDMDJGRjU4MkU0MzQ3REY1ODNFMDEzOTIxN0FGNEEwNTRBNzRDMDJGRjU4MkU0MzQ3REY1ODNFMEY1NDZEMjExODAwOUMyMTFFNDkwN0ZDOUYwRDIwMzMwMUIwNEEyMkQ5MjlCRDIyMUMyQUY4NTEzOTkyMDExMEQzMDQzCis6NDAwRDg2MDAxNTBBQzIxNUMyMDA5MDdGQkY3NDAxRjBEMkFGOTA3RkQwRTAzMEUxMDMwMjBFQjVFNEY1MTI3NEMwMjUxMkY1ODJFNDM0N0JGNTgzRTBGRkU1MTI3QzAwN0IwMDI0NjRGOUVDMzQwMEZBRUYxMjE1Q0QwNTEyRTUxMkI0MThEQjUxCis6NDAwREM2MDBFNTY0NjAwQjc1ODk2MDc1ODg0MEQyREY4NTY1OERFNTY3MTM5MjFEOTJDN0U1NjgxMzkyMUVFNTY5MTM5MjI0RTU2QTYwMDk5MDdGOTdFMDU0RUZGMDgwMDc5MDdGOTdFMDQ0MTBGMEU1NkI2MDA5OTA3Rjk3RTA1NDdGRjA4MEE0Cis6NDAwRTA2MDAwNzkwN0Y5N0UwNDQ4MEYwRTU3MTYwMEJDMjE0QzIwRDkwN0Y5NEUwNDQwOEYwRTU3MjYwMEJEMjBERDIwRTkwN0Y5NEUwNDQwOEYwRTU3MzYwMERDMkFGQzIxMkQyMDBFNEY1N0RGNTRCRDJBRkU1NzQ2MDA1MzAyNDAyRDIwRDIwCis6NDAwRTQ2MDBFNTc1NjAxNTkwN0Y5NEUwNTRGN0YwOTA3RjlERTA0NDA4RjA5MDdGOTdFMDU0RjdGMEU1NzY2MDBBRDJDNEMyQzA3NTNBMDE3NTQxMjhFNTc3NjAwN0MyQzRFNEY1NDlGNTNBRTU3ODYwMDNFNEY1NDlFNTc5NjAwMkQyMDhFNUYwCis6NDAwRTg2MDA3QTYwMDhFNTc2NzAwMkY1NDFEMjBFRTU3QjYwMTk5MDdGRDc3NDEzRjA3NDMzRjA3NDE0RjA3NDM0RjA3NDE2RjA3NDM2RjBEMjA0RDIwMkQyMEFFNDkwN0ZEMUYwQTIxNEU0MzNGRjY1Mzc2MDA0OEYzN0QyMEVBMjBERTQzMzA0Cis6NDAwRUM2MDBGRjY1Mzg2MDA0OEYzOEQyMEU5MDdGOUFFMDU0MjA2NTMzNjAwN0UwNTQyMEY1MzNEMjBFOTA3RjlBRTA1NDQwQjUzNTA5RTA1NDQwNjQ0MEY1MzVEMjBFMzAwODM1QzJBRjMwMDIxODkwN0ZCQ0UwMjBFMTI3RTU0OTYwMDk5MDk5Cis6NDAwRjA2MDA3RkJCRjBFNEY1NDlDMjAyQzIwODgwMTY5MDdGQkFFMDIwRTEwRkU1NDk2MDA5OTA3RkJERjBFNEY1NDlEMjAyQzIwOEQyQUYyMDA2MzczMDA0MUI5MDdGQ0FFMDIwRTEyRDkwN0Q0MEUwMTM5MjE2NzU0QjAxOTA3RkNCRTBGNTAzCis6NDAwRjQ2MDA3REQyMDY4MDE5OTA3RkNDRTAyMEUxMTI5MDdDQzBFMDEzOTIxNjc1NEIwMTkwN0ZDREUwRjU3REQyMDYyMDIyMzMyMDAwMDZFNTRCNjU3RDcwMkEzMDA2MUEzMDA0MDlFNDkwN0ZDQkYwQzIwNDgwMDdFNDkwN0ZDREYwRDIwNDJDCis6NDAwRjg2MDBDMjA2RTRGNTdERjU0QjMwMTYwQUMyMTZDMjAwOTA3RkMxNzQwMUYwMzAyMjAzMDIxMEE0MjAwNjAzMDIxMEE0MzAxRTBBOTA3RjlBRTAyMEU1MDMwMjEwQTQzMDBEMDMwMjEwQTQzMDE0MDMwMjEwQTQzMDA0NjIzMDFEMTJBRjhFCis6NDAwRkM2MDA0QjA1NEI3NDQwMkZGNTgyRTQzNDdERjU4M0UwMTM5MjJEQUY0QjA1NEI3NDQwMkZGNTgyRTQzNDdERjU4M0UwRjUxM0U1NEJDMzk1N0Q1MDJBMzAxRDEyQUY0QjA1NEI3NDQwMkZGNTgyRTQzNDdERjU4M0UwMTM5MjE4QUY0Qjc4Cis6NDAxMDA2MDAwNTRCNzQ0MDJGRjU4MkU0MzQ3REY1ODNFMEY1NDdEMjEyODA2QkMyMTJFNDkwN0ZDQkYwQzIwNDgwNjAzMDFEMTJBRjRCMDU0Qjc0QzAyRkY1ODJFNDM0N0NGNTgzRTAxMzkyMkRBRjRCMDU0Qjc0QzAyRkY1ODJFNDM0N0NGNUYyCis6NDAxMDQ2MDA4M0UwRjUxM0U1NEJDMzk1N0Q1MDJBMzAxRDEyQUY0QjA1NEI3NEMwMkZGNTgyRTQzNDdDRjU4M0UwMTM5MjE4QUY0QjA1NEI3NEMwMkZGNTgyRTQzNDdDRjU4M0UwRjU0N0QyMTI4MDA5QzIxMkU0OTA3RkNERjBEMjA0MzAxREY0Cis6NDAxMDg2MDAwNEEyMkQ5MkMzRDIyMkMyQUY4NTEzQzEyMDEyMEQzMDE2MEFDMjE2QzIwMDkwN0ZDMTc0MDFGMEQyQUY5MDdGQzJFMDMwRTEwMzAyMTE3QUU1MUE3MDQ2MzAwQzNGRTU0MDcwM0JBMjA5MzNGNTMxQzIwOUMyMENFNEY1MTI3RTBECis6NDAxMEM2MDAwMDdCMDA3NDI2MjUxMkY5RUUzNDAwRkExMjE1ODdGRjc0ODAyNTEyRjU4MkU0MzQ3QkY1ODNFRkYwMDUxMkU1MTJCNDBDREI5MDdGQzM3NDBDRjA3NTQwMTAyMjc1MUEwMTIyRTUxQTY0MDE3MDQ1MzAwRTNFRTU0MTcwM0FBMkM1Cis6NDAxMTA2MDAwQTMzRjUzREMyMEFDMjBFRTRGNTEyN0UwMDdCMDA3NDMyMjUxMkY5RUUzNDAwRkExMjE1ODdGRjc0ODAyNTEyRjU4MkU0MzQ3QkY1ODNFRkYwMDUxMkU1MTJCNDBDREI5MDdGQzM3NDBDRjA3NTQxMTA3NTFBMDIyMkU1MUM2MENBCis6NDAxMTQ2MDAzMDE1MUNFNEY1MTI3RTAwN0IwMDc0MUIyNTEyRjlFRTM0MDBGQTEyMTU4N0ZGNzQ4MDI1MTJGNTgyRTQzNDdCRjU4M0VGRjAwNTEyRTUxMkI0MDNEQjkwN0ZDMzc0MDNGMEU0RjUxQTIyOTA3RkU5RTAxMjE2MTcxMjQwMDAxMkE3Cis6NDAxMTg2MDBCNDAxMTMyMDAzMTE5RTA2MTIzMzA4MTIyRDA5MTIyMDBBMTM3NjBCMDAwMDEzNkY5MDdGRUJFMDI0RkU2MDE2MTQ2MDQwMjQwMjcwNjk3NDE5OTA3RkQ0RjA3NDAwOTA3RkQ1RjAwMjEzNzY5MDdGRUFFMEZGMTIxNzRCOEIxMjYxCis6NDAxMUM2MDA4QTEzODkxNEVBNDk2MDExQUUwMkVFOTA3RkQ0RjBBRjAxRUY5MDdGRDVGMDAyMTM3NjkwN0ZCNEUwNDQwMUYwMDIxMzc2OTA3RkVBRTBGRjEyMTc5QThCMTI4QTEzODkxNEVBNDk2MDExQUUwMkVFOTA3RkQ0RjBBRjAxRUY5MDgzCis6NDAxMjA2MDA3RkQ1RjAwMjEzNzY5MDdGQjRFMDQ0MDFGMDAyMTM3NjkwN0ZCNEUwNDQwMUYwMDIxMzc2OTA3RjAwNzQwMUYwOTA3RkI1RjAwMjEzNzYxMjE0QzMwMjEzNzY5MDdGMDA3NDAxRjA5MDdGQjVGMDAyMTM3NjkwN0ZFOEUwMjQ3RkJGCis6NDAxMjQ2MDA2MDI0MTQ2MDMxMjQwMjcwNUJBMjI2RTQzM0ZGMjVFMEZGQTIyQkU0MzM0RjkwN0YwMEYwRTRBM0YwOTA3RkI1NzQwMkYwMDIxMzc2RTQ5MDdGMDBGMEEzRjA5MDdGQjU3NDAyRjAwMjEzNzY5MDdGRUNFMEY0NTQ4MEZGQzQ1NDI5Cis6NDAxMjg2MDAwRkZGRTA1NDA3MkYyNUUwMjRCNEY1ODJFNDM0N0ZGNTgzRTA1NEZEOTA3RjAwRjBFNEEzRjA5MDdGQjU3NDAyRjAwMjEzNzY5MDdGQjRFMDQ0MDFGMDAyMTM3NjkwN0ZFOEUwMjRGRTYwMUQyNDAyNjAwMzAyMTM3NjkwN0ZFQTBCCis6NDAxMkM2MDBFMEI0MDEwNUMyMjYwMjEzNzY5MDdGQjRFMDQ0MDFGMDAyMTM3NjkwN0ZFQUUwNzAzODkwN0ZFQ0UwRjQ1NDgwRkZDNDU0MEZGRkUwNTQwNzJGMjVFMDI0QjRGNTgyRTQzNDdGRjU4M0U0RjA5MDdGRUNFMDU0ODBGRjEzMTMxM0E3Cis6NDAxMzA2MDA1NDFGRkZFMDU0MDcyRjkwN0ZEN0YwRTA0NDIwRjA4MDVGOTA3RkI0RTA0NDAxRjA4MDU2OTA3RkU4RTAyNEZFNjAxODI0MDI3MDRBOTA3RkVBRTBCNDAxMDREMjI2ODAzRjkwN0ZCNEUwNDQwMUYwODAzNjkwN0ZFQUUwNzAyMEEzCis6NDAxMzQ2MDA5MDdGRUNFMEY0NTQ4MEZGQzQ1NDBGRkZFMDU0MDcyRjI1RTAyNEI0RjU4MkU0MzQ3RkY1ODM3NDAxRjA4MDEwOTA3RkI0RTA0NDAxRjA4MDA3OTA3RkI0RTA0NDAxRjA5MDdGQjRFMDQ0MDJGMDIyMjAyODAzMDIxNEMyRTU0MDYzCis6NDAxMzg2MDA2MDAyMTU0MEU1NDg2MDRGNjU0NDcwNDVFNTQyRjQ2MDAyMDU0MkU1NDJDMzk1NTU0MDNEQzJBRjMwMDExODkwN0ZCOEUwMjBFMTI3OTA3RkI3RTU0OEYwQzIwMUU0RjU0OEY1NDJGNTQ0ODAxNjkwN0ZCNkUwMjBFMTBGOTA3RjA3Cis6NDAxM0M2MDBCOUU1NDhGMEQyMDFFNEY1NDhGNTQyRjU0NEQyQUY4MDA2ODU0ODQ0RTRGNTQyRTUyRTYwMkQyMDE5MDc5MDdGOUJFMDMwRTAwRUU1MkY2MDA1RTRGNTJGRDIwQ0U0RjUzRTgwMTNFNTNFRDM5NTU2NTAwQ0U1M0VCNTU2MDU3NTA0Cis6NDAxNDA2MDAyRjAxRDIwQzA1M0VDMjE5RTU0MTYwMDIxNTQxRTU0OTYwNEY2NTQ1NzA0NUU1NDNGNDYwMDIwNTQzRTU0M0MzOTU2RDQwM0RDMkFGMzAwMjE4OTA3RkJDRTAyMEUxMjc5MDdGQkJFNTQ5RjBDMjAyRTRGNTQ5RjU0M0Y1NDU4MEUyCis6NDAxNDQ2MDAxNjkwN0ZCQUUwMjBFMTBGOTA3RkJERTU0OUYwRDIwMkU0RjU0OUY1NDNGNTQ1RDJBRjgwMDY4NTQ5NDVFNEY1NDNFNTNBNjAyRDIwMUEwNzkwN0Y5QUUwMzBFMjBFRTUzQjYwMDVFNEY1M0JEMjBFRTRGNTNGODAxM0U1M0ZEMzVFCis6NDAxNDg2MDA5NTZFNTAwQ0U1M0ZCNTZFMDU3NTNCMDFEMjBFMDUzRkMyMUE5MDdGRDJFMDIwRTEyMzkwN0I0MEUwNjAwOUUwRjUxQzkwN0I0MkUwRjUxRDkwN0I0MUUwNjAwOTkwN0ZENzc0MTdGMDc0MzdGMEU0OTA3RkQzRjAyMkU0OTA3RkM1Cis6NDAxNEM2MDA5M0YwOTA3RjlDNzQzMEYwOTA3Rjk2RTA0NDEwRjA5MDdGOTQ3NDBERjA5MDdGOUQ3NDlBRjA5MDdGOTdFMDU0RkRGMDkwN0Y5NTc0MjNGMDkwN0Y5RTc0ODRGMEU0OTA3RkM3RjA5MDdGQzlGMDkwN0ZDRkYwNzU5ODQwNDNBODlFCis6NDAxNTA2MDAxMEMyMUJDMjA1QzIyMUMyMEJDMjEzRjU3Q0Y1NEFDMjExQzIxNUY1NDJDMjE5RjU0NEY1NDhDMjIzQzIxQ0Y1MkRGNTJGQzIwN0MyMDBDMjFGRjUzRUMyMDlEMjBDRjUyNjkwN0ZDQkYwOTA3RkNERjA5MDdGRDFGMDc1QzA0MDQzCis6NDAxNTQ2MDA0M0E4NDBDMjFEQzIwNkMyMjJDMjBEQzIxNEY1N0RGNTRCQzIxMkMyMTZGNTQzQzIxQUY1NDVGNTQ5QzIyNEMyMUVGNTM5RjUzQkMyMDhDMjAwQzIyMEY1M0ZDMjBBRDIwRTc1MzIwMTkwN0ZERjc0RkZGMDkwN0ZERUYwRDIyOERFCis6NDAxNTg2MDAyMkJCMDEwNjg5ODI4QTgzRTAyMjUwMDJFNzIyQkJGRTAyRTMyMjg5ODI4QTgzRTQ5MzIyQkIwMTBDRTU4MjI5RjU4MkU1ODMzQUY1ODNFMDIyNTAwNkU5MjU4MkY4RTYyMkJCRkUwNkU5MjU4MkY4RTIyMkU1ODIyOUY1ODJFNTUzCis6NDAxNUM2MDA4MzNBRjU4M0U0OTMyMkJCMDEwNjg5ODI4QTgzRjAyMjUwMDJGNzIyQkJGRTAxRjMyMkJCMDExMEU1ODIyOUY1ODJFNTgzM0FGNTgzRTBGNUYwQTNFMDIyNTAwOUU5MjU4MkY4ODZGMDA4RTYyMkJCRkUwQUU5MjU4MkY4RTJGNTExCis6NDAxNjA2MDBGMDA4RTIyMkU1ODMyQUY1ODNFOTkzRjVGMEEzRTk5MzIyRDA4M0QwODJGOEU0OTM3MDEyNzQwMTkzNzAwREEzQTM5M0Y4NzQwMTkzRjU4Mjg4ODNFNDczNzQwMjkzNjg2MEVGQTNBM0EzODBERjc4N0ZFNEY2RDhGRDc1ODE3RDBFCis6NDAxNjQ2MDAwMjE2ODQwMjE2QzlFNDkzQTNGOEU0OTNBMzQwMDNGNjgwMDFGMjA4REZGNDgwMjlFNDkzQTNGODU0MDcyNDBDQzhDMzMzQzQ1NDBGNDQyMEM4ODM0MDA0RjQ1NjgwMDE0NkY2REZFNDgwMEIwMTAyMDQwODEwMjA0MDgwOTAxODFBCis6NDAxNjg2MDBDNUU0N0UwMTkzNjBCQ0EzRkY1NDNGMzBFNTA5NTQxRkZFRTQ5M0EzNjAwMTBFQ0Y1NEMwMjVFMDYwQTg0MEI4RTQ5M0EzRkFFNDkzQTNGOEU0OTNBM0M4QzU4MkM4Q0FDNTgzQ0FGMEEzQzhDNTgyQzhDQUM1ODNDQURGRTlERTM5Cis6NDAxNkM2MDBFNzgwQkU3NTExMDE5MDdGOTJFMDU0RkRGMDkwN0ZBRUUwRkZEMzkyMjZFNDMzRkVFRjRFRjBEMkU4NDNEODIwOTA3RkRFNzQwMUYwOTA3RkRGRjA5MDdGQUI3NEZGRjA5MDdGQTlGMDkwN0ZBQUYwNTM5MUVGOTA3RkFGRTA0NEM1Cis6NDAxNzA2MDAwMUYwOTA3RkFFRTA0NDBERjBEMkFGRDJCQ0QyQkVEMjJEMTIxODdGQzIyN0MyMjVDMjI4MzAyODAzMTIwQTgzOTA3RkQ4RTA2NTEwNjAwOEUwRjUxMDEyMTM3RTgwRUEzMDI3MDdDMjI3MTIxMTdCODBFMDMwMkNEREMyMkMxMkM1Cis6NDAxNzQ2MDAwMDI2ODBENjIyRTRGRTc1MTdGRjc1MTgxOTc1MTkxMkFCMTdBQTE4QTkxOTkwMDAwMTEyMTVBMDY0MDI3MDJEQUQwNjBFRURCNTA3MDEyMjkwMDAwMjEyMTVERjg1RjAxNUY1MTY2MjE1RTUxNTYyMTZFNTE2NjIxNTI5RkRFNTUxCis6NDAxNzg2MDAxNTNBQTkwNTc1MTdGRkY1MTg4OTE5ODBDMzdCMDA3QTAwNzkwMDIyOEYxNUU0RjUxNjc1MTdGRjc1MTgxOTc1MTk4NkFCMTdBQTE4QTkxOTkwMDAwMTEyMTVBMEI0MDMxREFGMTYwNTE2RUZCNTE1MDEyMjEyMTU4NzdFMDAyOUJFCis6NDAxN0M2MDBGRkVFM0FBOTA3NzUxN0ZGRjUxODg5MTk4MEQ0N0IwMDdBMDA3OTAwMjJFNDkwN0Y5M0YwOTA3RjlDRjA5MDdGOTRGMDkwN0Y5RDc0MDJGMDkwN0Y5N0YwRTQ5MDdGOTVGMDkwN0Y5RTc0RkZGMEU0OTA3Rjk4RjA5MDdGOURGMDAzCis6NDAxODA2MDAyMkMwRTBDMDgzQzA4MkMwODVDMDg0QzA4Njc1ODYwMDkwN0ZDNEU0RjA1MzkxRUY5MDdGQUI3NDA0RjBEMDg2RDA4NEQwODVEMDgyRDA4M0QwRTAzMkMwRTBDMDgzQzA4MkMwODVDMDg0QzA4Njc1ODYwMEQyMjc1MzkxRUY5MDI0Cis6NDAxODQ2MDA3RkFCNzQwMUYwRDA4NkQwODREMDg1RDA4MkQwODNEMEUwMzJDMEUwQzA4M0MwODJDMDg1QzA4NEMwODY3NTg2MDBEMjJDNTM5MUVGOTA3RkFCNzQwOEYwRDA4NkQwODREMDg1RDA4MkQwODNEMEUwMzI5MDdGRDZFMDU0RkJGMERECis6NDAxODg2MDBFMDQ0MDhGMDMwMkQwNEUwNDQwMkYwN0ZGNDdFMDExMjAwMDY5MDdGRDZFMDU0RjdGMEUwNDQwNEYwMjI3NDAwRjU4NjkwRkRBNTdDMDVBM0U1ODI0NTgzNzBGOTIyOTA3RkQ2RTA0NDgwRjA0Mzg3MDEwMDAwMDAwMDAwMjJDMTI1Cis6NDAxOEM2MDBBQTAxMUEwMDAzMUIwMzAwMDBDMTI3QzEyQ0MxMjZDMTJCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEyMDExMDAxRkYwMDMxCis6NDAxOTA2MDAwMDQwQ0QwNjBGMDEwMDAwMDEwMjAwMDEwOTAyNzQwMDAxMDEwMEEwMzIwOTA0MDAwMDBFRkYwMDAwMDAwNzA1MDEwMjQwMDAwMDA3MDUwMjAyNDAwMDAwMDcwNTAzMDI0MDAwMDAwNzA1MDQwMjQwMDAwMDA3MDUwNTAyNDAwMDc4Cis6NDAxOTQ2MDAwMDA3MDUwNjAyNDAwMDAwMDcwNTA3MDI0MDAwMDAwNzA1ODEwMjQwMDAwMTA3MDU4MjAyNDAwMDAxMDcwNTgzMDI0MDAwMDEwNzA1ODQwMjQwMDAwMTA3MDU4NTAyNDAwMDAxMDcwNTg2MDI0MDAwMDEwNzA1ODcwMjQwMDAwMUYzCis6NDAxOTg2MDAwNDAzMDkwNDQ4MDM0QjAwNjUwMDc5MDA3MzAwNzAwMDYxMDA2RTAwMkMwMDIwMDA2MTAwMjAwMDY0MDA2OTAwNzYwMDY5MDA3MzAwNjkwMDZGMDA2RTAwMjAwMDZGMDA2NjAwMjAwMDQ5MDA2RTAwNkUwMDZGMDA1MzAwNzkwMDQwCis6NDAxOUM2MDA3MzAwMjAwMDQ5MDA2RTAwNjMwMDJFMDAzNjAzNEIwMDY1MDA3OTAwNzMwMDcwMDA2MTAwNkUwMDIwMDA1NTAwNTMwMDQyMDAyMDAwNTMwMDY1MDA3MjAwNjkwMDYxMDA2QzAwMjAwMDQxMDA2NDAwNjEwMDcwMDA3NDAwNjUwMEY5Cis6NDAxQTA2MDA3MjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJFCis6NDAxQTQ2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYwCis6NDAxQTg2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIwCis6NDAxQUM2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMTgzMTAwMDIxQjc4Cis6MDkxQjA2MDAwNDAwMDIxODA3MDAwMjE4NTgzRgorOjAwMDAwMDAxRkYKKworCVRoZSBmaXJtd2FyZSBjb250YWluZWQgaGVyZWluIGlzCisKKwkJQ29weXJpZ2h0IChDKSAxOTk5LTIwMDEKKwkJS2V5c3BhbiwgQSBkaXZpc2lvbiBvZiBJbm5vU3lzIEluY29ycG9yYXRlZCAoIktleXNwYW4iKQorCisJYXMgYW4gdW5wdWJsaXNoZWQgd29yay4gVGhpcyBub3RpY2UgZG9lcyBub3QgaW1wbHkgdW5yZXN0cmljdGVkIG9yCisJcHVibGljIGFjY2VzcyB0byB0aGUgc291cmNlIGNvZGUgZnJvbSB3aGljaCB0aGlzIGZpcm13YXJlIGltYWdlIGlzCisJZGVyaXZlZC4gIEV4Y2VwdCBhcyBub3RlZCBiZWxvdyB0aGlzIGZpcm13YXJlIGltYWdlIG1heSBub3QgYmUKKwlyZXByb2R1Y2VkLCB1c2VkLCBzb2xkIG9yIHRyYW5zZmVycmVkIHRvIGFueSB0aGlyZCBwYXJ0eSB3aXRob3V0CisJS2V5c3BhbidzIHByaW9yIHdyaXR0ZW4gY29uc2VudC4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisKKwlQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkIGZvciB0aGUgZGlzdHJpYnV0aW9uIG9mIHRoaXMgZmlybXdhcmUKKwlpbWFnZSBhcyBwYXJ0IG9mIGEgTGludXggb3Igb3RoZXIgT3BlbiBTb3VyY2Ugb3BlcmF0aW5nIHN5c3RlbSBrZXJuZWwKKwlpbiB0ZXh0IG9yIGJpbmFyeSBmb3JtIGFzIHJlcXVpcmVkLgorCisJVGhpcyBmaXJtd2FyZSBtYXkgbm90IGJlIG1vZGlmaWVkIGFuZCBtYXkgb25seSBiZSB1c2VkIHdpdGgKKwlLZXlzcGFuIGhhcmR3YXJlLiAgRGlzdHJpYnV0aW9uIGFuZC9vciBNb2RpZmljYXRpb24gb2YgdGhlCisJa2V5c3Bhbi5jIGRyaXZlciB3aGljaCBpbmNsdWRlcyB0aGlzIGZpcm13YXJlLCBpbiB3aG9sZSBvciBpbgorCXBhcnQsIHJlcXVpcmVzIHRoZSBpbmNsdXNpb24gb2YgdGhpcyBzdGF0ZW1lbnQuIgpkaWZmIC0tZ2l0IGEvZmlybXdhcmUva2V5c3Bhbi91c2EyOHguSEVYIGIvZmlybXdhcmUva2V5c3Bhbi91c2EyOHguSEVYCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlmMGY3ZmEKLS0tIC9kZXYvbnVsbAorKysgYi9maXJtd2FyZS9rZXlzcGFuL3VzYTI4eC5IRVgKQEAgLTAsMCArMSwxNDEgQEAKKzowMzAwMzMwMDAyMTJGN0JGCis6MTAwMDAzMDBFNDkwN0Y5M0YwOTA3RjlDNzQzMEYwRTQ5MDdGOTZGMEJGCis6MTAwMDEzMDA5MDdGOTRGMDkwN0Y5RDc0RkZGMEU0OTA3Rjk3RjA5MDMxCis6MEYwMDIzMDA3Rjk1RjA5MDdGOUU3NDA3RjBFNDkwN0Y5OEYwMjIxNQorOjEwMDA0NjAwMzAwOTE4MTIxMzFCRUZDMzk1M0M0MDAzMDIwMEQ4OTBFOQorOjEwMDA1NjAwN0ZCRjc0MDFGMEMyMDlDMjAwODA3NzMwMDMzQjkwN0ZGNgorOjEwMDA2NjAwQzZFMDIwRTE2RDEyMTMxQkVGQzM5NDQwNTA2NDkwN0VFRQorOjEwMDA3NjAwNDBFMDEzOTIwOTkwN0ZDN0UwMTRGNTE5MjAwMDExNjA0MworOjEwMDA4NjAwMEZGNTA4N0U3RTdGNDE3NTBDN0U3NTBENDExMjBDQkEwOAorOjEwMDA5NjAwQzIwM0U0OTA3RkM3RjA4MDM5OTA3RkM4RTAyMEUxMzI0OAorOjEwMDBBNjAwMTIxMzFCRUZDMzk0NDA1MDI5OTA3REMwRTAxMzkyMDlCMAorOjEwMDBCNjAwOTA3RkM5RTAxNEY1MTkyMDAwMTE2MDBGRjUwODdFN0RDOAorOjEwMDBDNjAwN0ZDMTc1MEM3RDc1MERDMTEyMENCQUQyMDNFNDkwN0YwOQorOjEwMDBENjAwQzlGMDkwN0ZCNkUwMzBFMTAzMDIwMTYwMTIxMUQ2OEZCRAorOjEwMDBFNjAwMTkxMjEzMjc4RjM2RTUxOUMzOTUzQTUwMEYxMjEyRUJFMgorOjEwMDBGNjAwRUYzMEUwMDhFNTM2MjBFNzAzMzAwQjVFQzIwQkU1MTk2QQorOjBDMDAzNjAwOTA3Rjk4NzQxMEYwOTBDMDAwRTBGRjIyNTIKKzowMzAwNDMwMDAyMTMwMEE1Cis6MDMwMDAwMDAwMjBFMDBFRAorOjQwMDEwNjAwNjA1OEI0ODAwMzQzMzYwMkU1MzYzMEU3MjZFNTE5RDM5NDIwNDAwMzc1MTkyMDg1MTkwODdFN0U3RjgwNzUwQzdFNzUwRDgwQUYzNjEyMEY0QkU1MTkyNUUwOTA3RkI3RjA4MDI3RTUxOUQzOTQzRjQwMDM3NTE5M0Y4NTE5MDhENAorOjQwMDE0NjAwOTA3RTgwRTUzNkYwN0U3RTdGODE3NTBDN0U3NTBEODExMjBDREZFNTE5MDQ5MDdGQjdGMDkwN0ZDRUUwMzBFMTA2MjAwNTAzMDIwM0MxQzIwNUU0RjUxODc0NDAyNTE4RjU4MkU0MzQ3Q0Y1ODNFMEZGRTUxODdDMDA3QjAxN0FGMQorOjQwMDE4NjAwN0U3OTAwMjQwMEY5RUMzNDdFRkFFRjEyMEVEMjA1MThFNTE4QjQyMEQ3OTA3RTAwRTA2MDY4OTA3RTAzRTA2MDI0N0YwMUU0RkQxMjExQjE3RjAzN0RDRDEyMTFCMTQzNDY4MDkwN0Y5ODc0MTRGMDkwQzAwMEU1NDZGMEU0OTBFMAorOjQwMDFDNjAwN0UxM0YwODAzMDkwN0UwMUUwRkYxMjEwMzU5MDdFMDJFMEZGMTIxMDVCN0YwMTkwN0UxMUUwRkQxMjExQjE3RjAzN0QwNzEyMTFCMTQzNDY4MDkwN0Y5ODc0MTRGMDkwQzAwMEU1NDZGMDkwN0Y5ODc0MTJGMEU1NDA0NDA2OTAzRQorOjQwMDIwNjAwQzAwMEYwOTA3RTAzRTA3MDA2OTA3RTEzRTA3MDA4RTQ5MDdFMTNGMDc1MjVGRjkwN0UwNUUwNjAxMkEzRTA1NDNGRjU0NDkwN0Y5ODc0MTNGMDkwQzAwMEU1NDRGMDkwN0UwN0UwNjAyQkEzRTA2MDA1NDM0MjgwODAwMzUzNDJEQQorOjQwMDI0NjAwN0Y1MzQyRkM5MDdFMDlFMDYwMTE0MzQyMDJBM0UwRkYxMjEwQTc5MDdFMEJFMEZGMTIxMENEQUY0MjEyMTA4MTkwN0UwM0UwNjAwODUzNDI3RkFGNDIxMjEwODE5MDdFMENFMDYwMThBM0UwNjAwNTQzNDYwMjgwMDM1MzQ2RkRCNAorOjQwMDI4NjAwOTA3Rjk4NzQxNEYwOTBDMDAwRTU0NkYwOTA3RTBFRTA2MDE4QTNFMDYwMDU0MzQ2MDE4MDAzNTM0NkZFOTA3Rjk4NzQxNEYwOTBDMDAwRTU0NkYwOTA3RTEyRTBGNTNBQTNFMDEzOTIwREEzRTBGNTNDQTNFMDYwMDU0MzQ2MTA4QgorOjQwMDJDNjAwODAwMzUzNDZFRjkwN0Y5ODc0MTRGMDkwQzAwMEU1NDZGMDkwN0UxNkUwNjAzMjUzNDRCRjkwN0Y5ODc0MTNGMEU1NDQ1NDdGOTBDMDAwRjA5MDdGOTg3NDExRjAxMjEyREZFRjU0RkU5MEMwMDBGMDUzM0VGREU0RkZBRDNFMTIwRgorOjQwMDMwNjAwMTFCMUU0RjUyQUY1MjlEMjA3OTA3RTE3RTA2MDBGNDMzRTAyRTRGRkFEM0UxMjExQjE3NTI5MDFEMjA3OTA3RTE4RTA2MDEwOTA3Rjk4NzQxMkYwRTU0MDQ0MDQ5MEMwMDBGMEQyMDA5MDdFMTlFMDYwMTE0MzQ0NDA5MDdGOThGMgorOjQwMDM0NjAwNzQxM0YwRTU0NDU0N0Y5MEMwMDBGMDkwN0UxQUUwNjAwRjUzM0VGRUU0RkZBRDNFMTIxMUIxNzUyQjAxRDIwNzkwN0UxQkUwNjAwRjQzM0UwMUU0RkZBRDNFMTIxMUIxRTRGNTJCRDIwNzkwN0UxQ0UwNjAwRTkwN0Y5ODc0MTI4NAorOjQwMDM4NjAwRjBFNTQwNDQwMjkwQzAwMEYwOTA3RTFERTA2MDAyRDIwQjkwN0UxRUUwNjAwODc1MkMwMUU0RjUzOEQyMDc5MDdFMUZFMDYwMTE5MDdGRDc3NDExRjA3NDMxRjA3NDE1RjA3NDM1RjBEMjAzRTQ5MDdGQ0ZGMDMwMUE1MkU1Mzg5MgorOjQwMDNDNjAwNjAwMjE1MzgyMDEzNDlFNTEzRDM5NDAwNDAwNDE1MTM4MDNFNzUxMzBBMzAxQjAyRDIxMzEyMTJERkVGNTQwMUY1MTk2NTJBNjAwNTg1MTkyQUQyMDcxMjEzMzNFRjU0ODBGNTE5NjUyNjYwMDU4NTE5MjZEMjA3MzAwRDExMTI3RgorOjQwMDQwNjAwMTMzM0VGNTQxMEY1MTk2NTI1NjAwNTg1MTkyNUQyMDcyMDFCMDMwMjA3RUMzMDBBMTgxMjEzNkZFRkMzOTUzRDQwMDMwMjA0QUU5MDdGQzE3NDAxRjBDMjBBQzIwMDgwNzczMDA0M0I5MDdGQ0FFMDIwRTE2RDEyMTM2RkVGQzM1QQorOjQwMDQ0NjAwOTQ0MDUwNjQ5MDdENDBFMDEzOTIwQTkwN0ZDQkUwMTRGNTE5MjAwMDExNjAwRkY1MDg3RTdEN0Y0MTc1MEM3RDc1MEQ0MTEyMEQwNEMyMDRFNDkwN0ZDQkYwODAzOTkwN0ZDQ0UwMjBFMTMyMTIxMzZGRUZDMzk0NDA1MDI5OTBCQworOjQwMDQ4NjAwN0NDMEUwMTM5MjBBOTA3RkNERTAxNEY1MTkyMDAwMTE2MDBGRjUwODdFN0M3RkMxNzUwQzdDNzUwREMxMTIwRDA0RDIwNEU0OTA3RkNERjA5MDdGQkFFMDMwRTEwMzAyMDUzNjEyMTIyMDhGMTkxMjEzN0I4RjM3RTUxOUMzOTUyQgorOjQwMDRDNjAwM0I1MDBGMTIxMzU3RUYzMEUwMDhFNTM3MjBFNzAzMzAwQzVFQzIwQ0U1MTk2MDU4QjQ4MDAzNDMzNzAyRTUzNzMwRTcyNkU1MTlEMzk0MjA0MDAzNzUxOTIwODUxOTA4N0U3RDdGODA3NTBDN0Q3NTBEODBBRjM3MTIwRjg0RTUwMworOjQwMDUwNjAwMTkyNUUwOTA3RkJCRjA4MDI3RTUxOUQzOTQzRjQwMDM3NTE5M0Y4NTE5MDg5MDdEODBFNTM3RjA3RTdEN0Y4MTc1MEM3RDc1MEQ4MTEyMEQyOUU1MTkwNDkwN0ZCQkYwOTA3RkQwRTAzMEUxMDYyMDA2MDMwMjA3OTdDMjA2RTRGOAorOjQwMDU0NjAwRjUxODc0QzAyNTE4RjU4MkU0MzQ3QkY1ODNFMEZGRTUxODdDMDA3QjAxN0E3RTc5MjAyNDIwRjlFQzM0N0VGQUVGMTIwRUQyMDUxOEU1MThCNDIwRDc5MDdFMjBFMDYwNjg5MDdFMjNFMDYwMjQ3RjAxRTRGRDEyMTFGQjdGMDMyOQorOjQwMDU4NjAwN0RDRDEyMTFGQjQzNDc4MDkwN0Y5ODc0MENGMDkwQzAwMEU1NDdGMEU0OTA3RTMzRjA4MDMwOTA3RTIxRTBGRjEyMTExOTkwN0UyMkUwRkYxMjExM0Y3RjAxOTA3RTMxRTBGRDEyMTFGQjdGMDM3RDA3MTIxMUZCNDM0NzgwOTA0OAorOjQwMDVDNjAwN0Y5ODc0MENGMDkwQzAwMEU1NDdGMDkwN0Y5ODc0MEFGMEU1NDE0NDA2OTBDMDAwRjA5MDdFMjNFMDcwMDY5MDdFMzNFMDcwMDhFNDkwN0UzM0YwNzUyRUZGOTA3RTI1RTA2MDEyQTNFMDU0M0ZGNTQ1OTA3Rjk4NzQwQkYwOTBFQgorOjQwMDYwNjAwQzAwMEU1NDVGMDkwN0UyN0UwNjAyQkEzRTA2MDA1NDM0MzgwODAwMzUzNDM3RjUzNDNGQzkwN0UyOUUwNjAxMTQzNDMwMkEzRTBGRjEyMTE2NTkwN0UyQkUwRkYxMjExOEJBRjQzMTIxMEYzOTA3RTIzRTA2MDA4NTM0MzdGQUZGRQorOjQwMDY0NjAwNDMxMjEwRjM5MDdFMkNFMDYwMThBM0UwNjAwNTQzNDcwMjgwMDM1MzQ3RkQ5MDdGOTg3NDBDRjA5MEMwMDBFNTQ3RjA5MDdFMkVFMDYwMThBM0UwNjAwNTQzNDcwMTgwMDM1MzQ3RkU5MDdGOTg3NDBDRjA5MEMwMDBFNTQ3RjBENAorOjQwMDY4NjAwOTA3RTMyRTBGNTNCQTNFMDEzOTIwRUEzRTBGNTNEQTNFMDYwMDU0MzQ3MTA4MDAzNTM0N0VGOTA3Rjk4NzQwQ0YwOTBDMDAwRTU0N0YwOTA3RTM2RTA2MDMyNTM0NUJGOTA3Rjk4NzQwQkYwRTU0NTU0N0Y5MEMwMDBGMDkwN0Y3OQorOjQwMDZDNjAwOTg3NDA5RjAxMjEzNEJFRjU0RkU5MEMwMDBGMDUzM0ZGREU0RkZBRDNGMTIxMUZCRTRGNTMzRjUzMkQyMDg5MDdFMzdFMDYwMEY0MzNGMDJFNEZGQUQzRjEyMTFGQjc1MzIwMUQyMDg5MDdFMzhFMDYwMTA5MDdGOTg3NDBBRjA0MworOjQwMDcwNjAwRTU0MTQ0MDQ5MEMwMDBGMEQyMDA5MDdFMzlFMDYwMTE0MzQ1NDA5MDdGOTg3NDBCRjBFNTQ1NTQ3RjkwQzAwMEYwOTA3RTNBRTA2MDBGNTMzRkZFRTRGRkFEM0YxMjExRkI3NTM0MDFEMjA4OTA3RTNCRTA2MDBGNDMzRjAxRTRFOQorOjQwMDc0NjAwRkZBRDNGMTIxMUZCRTRGNTM0RDIwODkwN0UzQ0UwNjAwRTkwN0Y5ODc0MEFGMEU1NDE0NDAyOTBDMDAwRjA5MDdFM0RFMDYwMDJEMjBDOTA3RTNFRTA2MDA4NzUzNTAxRTRGNTM5RDIwODkwN0UzRkUwNjAxMTkwN0ZENzc0MTM4OQorOjQwMDc4NjAwRjA3NDMzRjA3NDE2RjA3NDM2RjBEMjA0RTQ5MDdGRDFGMDMwMUE1MkU1Mzk2MDAyMTUzOTMwMTM0OUU1MTNEMzk0MDA0MDA0MTUxMzgwM0U3NTEzMEEzMDFCMDJDMjEzMTIxMzRCRUY1NDAxRjUxOTY1MzM2MDA1ODUxOTMzRDI3OQorOjQwMDdDNjAwMDgxMjEzODdFRjU0ODBGNTE5NjUyRjYwMDU4NTE5MkZEMjA4MzAwRTExMTIxMzg3RUY1NDEwRjUxOTY1MkU2MDA1ODUxOTJFRDIwODMwMUEyQTkwN0ZEMkUwMjBFMTIzOTA3QjQwRTA2MDA5RTBGNTE1OTA3QjQyRTBGNTE2OTAzNQorOjQwMDgwNjAwN0I0MUUwNjAwOTkwN0ZENzc0MTdGMDc0MzdGMEU0OTA3RkQzRjA5MDdGQzJFMDMwRTEwMzAyMDkyMEU1MEE3MDQwMzAwNzM5RTUzODcwMzVDMjA3RjUxODdFMDA3QjAwNzQyNDI1MThGOUVFMzQwMEZBMTIwRThDRkY3NDgwMjVCRAorOjQwMDg0NjAwMThGNTgyRTQzNDdCRjU4M0VGRjAwNTE4RTUxOEI0MDlEQjkwN0ZDMzc0MDlGMDc1MzgxMEU0RjUyQzc1MEEwMTIyRTUwQTY0MDE3MDQwMzAwODM5RTUzOTcwMzVDMjA4RjUxODdFMDA3QjAwNzQyRDI1MThGOUVFMzQwMEZBMTI5NworOjQwMDg4NjAwMEU4Q0ZGNzQ4MDI1MThGNTgyRTQzNDdCRjU4M0VGRjAwNTE4RTUxOEI0MDlEQjkwN0ZDMzc0MDlGMDc1MzkxMEU0RjUzNTc1MEEwMjIyRTUwQTY0MDI3MDM2MzAxNDJGQzIxNEY1MTg3RTAwN0IwMDc0MEUyNTE4RjlFRTM0MDA4MworOjQwMDhDNjAwRkExMjBFOENGRjc0ODAyNTE4RjU4MkU0MzQ3QkY1ODNFRkYwMDUxOEU1MThCNDA1REI5MDdGQzM3NDA1RjA3NTBBMDMyMkU1MTU2MDMwMTUxNUU0RjUxODdFMDA3QjAwNzQxNDI1MThGOUVFMzQwMEZBMTIwRThDRkY3NDgwMjVGMgorOjQwMDkwNjAwMThGNTgyRTQzNDdCRjU4M0VGRjAwNTE4RTUxOEI0MDNEQjkwN0ZDMzc0MDNGMEU0RjUwQTIyOTA3RkU5RTAxMjBFRTQwQTA4MDAwQTdDMDEwQUU4MDMwOTQ0MDYwOUZCMDgwOUY1MDkwOUREMEEwOUVDMEIwMDAwMEIzNzkwN0YzRAorOjQwMDk0NjAwRUJFMDI0RkU2MDE5MTQ2MDYxMjQwMjYwMDMwMjA5RDM3NDE5OTA3RkQ0RjA3NDAwOTA3RkQ1RjAwMjBCM0U5MDdGRUFFMDcwMDQ3RjAyODAwMjdGMDM3NTgyODI3NTgzMTlFRkYwNzU4MjdCNzU4MzE5RjA3NTgyNzQ3NTgzMTlCMgorOjQwMDk4NjAwRjA3NTgyNjY3NTgzMTlGMDc1ODI1ODc1ODMxOUYwOTA3RkVBRTAwNDc1ODIxNzc1ODMxOUYwNzQxOTkwN0ZENEYwNzQxMjkwN0ZENUYwMDIwQjNFOTA3RkVBRTBGRjEyMEYwQUVBNDk2MDBERUE5MDdGRDRGMEU5OTA3RkQ1RjA4NQorOjQwMDlDNjAwMDIwQjNFOTA3RkI0RTA0NDAxRjAwMjBCM0U5MDdGQjRFMDQ0MDFGMDAyMEIzRTkwN0YwMEU1MDlGMDkwN0ZCNTc0MDFGMDAyMEIzRTkwN0ZFQUUwRjUwOTAyMEIzRTEyMEI0NjAyMEIzRTkwN0YwMDc0MDFGMDkwN0ZCNUYwMDIwNQorOjQwMEEwNjAwMEIzRTkwN0ZFOEUwMjQ3RjYwMjQxNDYwMzEyNDAyNzA1QkEyMTBFNDMzRkYyNUUwRkZBMjE2RTQzMzRGOTA3RjAwRjBFNEEzRjA5MDdGQjU3NDAyRjAwMjBCM0VFNDkwN0YwMEYwQTNGMDkwN0ZCNTc0MDJGMDAyMEIzRTkwN0YwNAorOjQwMEE0NjAwRUNFMEY0NTQ4MEZGQzQ1NDBGRkZFMDU0MDcyRjI1RTAyNEI0RjU4MkU0MzQ3RkY1ODNFMDU0RkQ5MDdGMDBGMEU0QTNGMDkwN0ZCNTc0MDJGMDAyMEIzRTkwN0ZCNEUwNDQwMUYwMDIwQjNFOTA3RkU4RTAyNEZFNjAxRDI0MDIwRgorOjQwMEE4NjAwNjAwMzAyMEIzRTkwN0ZFQUUwQjQwMTA1QzIxMDAyMEIzRTkwN0ZCNEUwNDQwMUYwMDIwQjNFOTA3RkVBRTA3MDM4OTA3RkVDRTBGNDU0ODBGRkM0NTQwRkZGRTA1NDA3MkYyNUUwMjRCNEY1ODJFNDM0N0ZGNTgzRTRGMDkwN0ZCNgorOjQwMEFDNjAwRUNFMDU0ODBGRjEzMTMxMzU0MUZGRkUwNTQwNzJGOTA3RkQ3RjBFMDQ0MjBGMDgwNUY5MDdGQjRFMDQ0MDFGMDgwNTY5MDdGRThFMDI0RkU2MDE4MjQwMjcwNEE5MDdGRUFFMEI0MDEwNEQyMTA4MDNGOTA3RkI0RTA0NDAxRjA0OQorOjQwMEIwNjAwODAzNjkwN0ZFQUUwNzAyMDkwN0ZFQ0UwRjQ1NDgwRkZDNDU0MEZGRkUwNTQwNzJGMjVFMDI0QjRGNTgyRTQzNDdGRjU4Mzc0MDFGMDgwMTA5MDdGQjRFMDQ0MDFGMDgwMDc5MDdGQjRFMDQ0MDFGMDkwN0ZCNEUwNDQwMkYwMjJENAorOjQwMEI0NjAwRTQ5MDdGOTNGMDkwN0Y5Qzc0MzBGMEU0OTA3Rjk2RjA5MDdGOTU3NEMwRjA5MDdGOUU3NDNGRjA5MDdGOTg3NDE4RjBFNEY1OEU5MDdGREY3NEZGRjA5MDdGREVGMEU0RjUyNDc1MTgwMTdCMDA3NDI0MjUxOEY5RTQzNDAwRkE4QgorOjQwMEI4NjAwRTQxMjBFRDIwNTE4RTUxOEI0MDlFQTc1M0EwMUU0RjUzOEY1MTNGNTM2QzIwN0MyMEJDMjA1QzIwMEMyMDlDMjEzOTA3Rjk4NzQxM0YwNzU0NDAzOTBDMDAwNzQwM0YwN0YwQ0U0RkQxMjExQjE3RjEwOEY0MjEyMTA4MTkwN0YwMgorOjQwMEJDNjAwOTg3NDEyRjA3RjAxOEY0MEVGNDQwNjkwQzAwMEYwOTA3Rjk4NzQxNEYwNzU0NjgwOTBDMDAwNzQ4MEYwMEZFNEZEMTIxMUIxRTRGRjdFQTNBRDA2OEQzRTEyMTFCMTkwN0Y5ODc0MTFGMDkwQzAwMEU0RjA3RjA1N0Q3RjEyMTE4RQorOjQwMEMwNjAwQjE3RjAxMTIxMjZBN0YwMzdEMDcxMjExQjEyMDFCMDMwMjBDQjc3NTJEMDE3NTE4MDE3QjAwNzQyRDI1MThGOUU0MzQwMEZBRTQxMjBFRDIwNTE4RTUxOEI0MDlFQTc1M0IwMUU0RjUzOUY1MTNGNTM3QzIwOEMyMENDMjA2QzJDRAorOjQwMEM0NjAwMDBDMjBBQzIxMzkwN0Y5ODc0MEJGMDc1NDUwMzkwQzAwMDc0MDNGMDdGMENFNEZEMTIxMUZCN0YxMDhGNDMxMjEwRjM5MDdGOTg3NDBBRjA3RjAxOEY0MUVGNDQwNjkwQzAwMEYwOTA3Rjk4NzQwQ0YwNzU0NzgwOTBDMDAwNzQ0RQorOjQwMEM4NjAwODBGMDBGRTRGRDEyMTFGQkU0RkY3RUEzQUQwNjhEM0YxMjExRkI5MDdGOTg3NDA5RjA5MEMwMDBFNEYwN0YwNTdEN0YxMjExRkI3RjAxMTIxMjhCN0YwMzdEMDcxMjExRkJEMjEyMjI5MDdGOTg3NDEwRjBBRjA4RTUwREY1ODJBNQorOjQwMENDNjAwRTUwQ0Y1ODNDMkFGMDU4NjkwQzAwMDA1ODZFMEEzMDU4NkYwMDU4NkRGRjdEMkFGMjI5MDdGOTg3NDEwRjBBRjA4RTUwREY1ODJFNTBDRjU4M0MyQUYwNTg2OTBDMDAwRTAwNTg2RjBBMzA1ODZERkY3MDU4NkQyQUYyMjkwN0YyMAorOjQwMEQwNjAwOTg3NDA4RjBBRjA4RTUwREY1ODJFNTBDRjU4M0MyQUYwNTg2OTBDMDAwMDU4NkUwQTMwNTg2RjAwNTg2REZGN0QyQUYyMjkwN0Y5ODc0MDhGMEFGMDhFNTBERjU4MkU1MENGNTgzQzJBRjA1ODY5MEMwMDBFMDA1ODZGMEEzMDU1QworOjQwMEQ0NjAwODZERkY3MDU4NkQyQUYyMjc0MDBGNTg2OTBGREE1N0MwNUEzRTU4MjQ1ODM3MEY5MjI5MDdGRDZFMDQ0ODBGMDQzODcwMTAwMDAwMDAwMDAyMkQyMTk5MDdGOTJFMDQ0MDJGMDkwN0ZBRUUwRkZEMzkyMTBFNDMzRkVFRjRFRjA4OQorOjQwMEQ4NjAwRDJFODQzRDgyMDkwN0ZERTc0MDFGMDkwN0ZERkYwOTA3RkFCNzRGRkYwOTA3RkE5RjA5MDdGQUFGMDUzOTFFRjkwN0ZBRkUwNDQwMUYwOTA3RkFFRTA0NDBERjBEMkFGRDIxQTEyMTI0NUMyMTFFNEY1MEJGNTEzQzIxN0MyMTJENAorOjQwMERDNjAwOTA3RkExMDRGMDkwN0ZEOEUwNjUxNzYwMTAzMDEyMDVEMjFBMTIwMDQ2OTA3RkQ4RTBGNTE3ODAwODMwMTIwNUMyMUExMjAwNDYzMDExMDdDMjExMTIwOTIxODBENjMwMThEM0MyMTgxMjEzOTM4MENDMjI3ODdGRTRGNkQ4RkRDNworOjQwMEUwNjAwNzU4MTQ3MDIwRTQ3MDIwRDZGRTQ5M0EzRjhFNDkzQTM0MDAzRjY4MDAxRjIwOERGRjQ4MDI5RTQ5M0EzRjg1NDA3MjQwQ0M4QzMzM0M0NTQwRjQ0MjBDODgzNDAwNEY0NTY4MDAxNDZGNkRGRTQ4MDBCMDEwMjA0MDgxMDIwNDBGNQorOjQwMEU0NjAwODA5MDEyQUNFNDdFMDE5MzYwQkNBM0ZGNTQzRjMwRTUwOTU0MUZGRUU0OTNBMzYwMDEwRUNGNTRDMDI1RTA2MEE4NDBCOEU0OTNBM0ZBRTQ5M0EzRjhFNDkzQTNDOEM1ODJDOENBQzU4M0NBRjBBM0M4QzU4MkM4Q0FDNTgzQ0ExRQorOjQwMEU4NjAwREZFOURFRTc4MEJFQkIwMTA2ODk4MjhBODNFMDIyNTAwMkU3MjJCQkZFMDJFMzIyODk4MjhBODNFNDkzMjJCQjAxMENFNTgyMjlGNTgyRTU4MzNBRjU4M0UwMjI1MDA2RTkyNTgyRjhFNjIyQkJGRTA2RTkyNTgyRjhFMjIyRTVCOAorOjQwMEVDNjAwODIyOUY1ODJFNTgzM0FGNTgzRTQ5MzIyQkIwMTA2ODk4MjhBODNGMDIyNTAwMkY3MjJCQkZFMDFGMzIyRDA4M0QwODJGOEU0OTM3MDEyNzQwMTkzNzAwREEzQTM5M0Y4NzQwMTkzRjU4Mjg4ODNFNDczNzQwMjkzNjg2MEVGQTNDMQorOjQwMEYwNjAwQTNBMzgwREY4RjE4RTRGNTE5NzUxQUZGNzUxQjE5NzUxQzg2QUIxQUFBMUJBOTFDOTAwMDAxMTIwRUE1QjQwMzFEQUYxOTA1MTlFRkI1MTgwMTIyMTIwRThDN0UwMDI5RkZFRTNBQTkwNzc1MUFGRkY1MUI4OTFDODBENDdCMDBBNQorOjQwMEY0NjAwN0EwMDc5MDAyMjhGMUEwNTBERTUwREFFMEM3MDAyMDUwQzE0RjU4MjhFODNFNTFBRjAxMjAwMzYwNTBERTUwREFDMEM3MDAyMDUwQzE0RjU4MjhDODNFRkYwMTUwOEU1MDg2MDBBMTIxMzI3OEYxQUVGNDIzNjgwQ0EyMjhGMUFGQworOjQwMEY4NjAwMDUwREU1MERBRTBDNzAwMjA1MEMxNEY1ODI4RTgzRTUxQUYwMTIxMzNGMDUwREU1MERBQzBDNzAwMjA1MEMxNEY1ODI4QzgzRUZGMDE1MDhFNTA4NjAwQTEyMTM3QjhGMUFFRjQyMzc4MENBMjJDMEUwQzA4M0MwODJDMDg1QzA4OAorOjQwMEZDNjAwODRDMDg2NzU4NjAwOTA3RkM0RTRGMDUzOTFFRjkwN0ZBQjc0MDRGMEQwODZEMDg0RDA4NUQwODJEMDgzRDBFMDMyQzBFMEMwODNDMDgyQzA4NUMwODRDMDg2NzU4NjAwRDIxMTUzOTFFRjkwN0ZBQjc0MDFGMEQwODZEMDg0RDBDNgorOjQwMTAwNjAwODVEMDgyRDA4M0QwRTAzMkMwRTBDMDgzQzA4MkMwODVDMDg0QzA4Njc1ODYwMEQyMTg1MzkxRUY5MDdGQUI3NDA4RjBEMDg2RDA4NEQwODVEMDgyRDA4M0QwRTAzMjkwN0Y5ODc0MTNGMDkwQzAwMDc0QkZGMDkwN0Y5ODc0MTA4QQorOjQwMTA0NjAwRjA5MEMwMDBFRkYwOTA3Rjk4NzQxM0YwRTU0NDU0N0Y5MEMwMDBGMDIyOTA3Rjk4NzQxM0YwOTBDMDAwNzRCRkYwOTA3Rjk4NzQxMUYwOTBDMDAwRUZGMDkwN0Y5ODc0MTNGMEU1NDQ1NDdGOTBDMDAwRjAyMjkwN0Y5ODc0MTM0OQorOjQwMTA4NjAwRjA5MEMwMDA3NEJGRjA5MDdGOTg3NDEyRjA5MEMwMDBFRkYwOTA3Rjk4NzQxM0YwRTU0NDU0N0Y5MEMwMDBGMDIyOTA3Rjk4NzQxM0YwOTBDMDAwNzRCRkYwOTA3Rjk4NzQxNEYwOTBDMDAwRUZGMDkwN0Y5ODc0MTNGMEU1NDREOQorOjQwMTBDNjAwNTQ3RjkwQzAwMEYwMjI5MDdGOTg3NDEzRjA5MEMwMDA3NEJGRjA5MDdGOTg3NDE2RjA5MEMwMDBFRkYwOTA3Rjk4NzQxM0YwRTU0NDU0N0Y5MEMwMDBGMDIyOTA3Rjk4NzQwQkYwOTBDMDAwNzRCRkYwOTA3Rjk4NzQwQUYwOTAyQQorOjQwMTEwNjAwQzAwMEVGRjA5MDdGOTg3NDBCRjBFNTQ1NTQ3RjkwQzAwMEYwMjI5MDdGOTg3NDBCRjA5MEMwMDA3NEJGRjA5MDdGOTg3NDA4RjA5MEMwMDBFRkYwOTA3Rjk4NzQwQkYwRTU0NTU0N0Y5MEMwMDBGMDIyOTA3Rjk4NzQwQkYwOTBBRgorOjQwMTE0NjAwQzAwMDc0QkZGMDkwN0Y5ODc0MDlGMDkwQzAwMEVGRjA5MDdGOTg3NDBCRjBFNTQ1NTQ3RjkwQzAwMEYwMjI5MDdGOTg3NDBCRjA5MEMwMDA3NEJGRjA5MDdGOTg3NDBDRjA5MEMwMDBFRkYwOTA3Rjk4NzQwQkYwRTU0NTU0N0ZFQworOjQwMTE4NjAwOTBDMDAwRjAyMjkwN0Y5ODc0MEJGMDkwQzAwMDc0QkZGMDkwN0Y5ODc0MEVGMDkwQzAwMEVGRjA5MDdGOTg3NDBCRjBFNTQ1NTQ3RjkwQzAwMEYwMjI5MDdGOTg3NDEzRjBFNTQ0NTQ3RjkwQzAwMEYwOTA3Rjk4NzQxN0YwOTA3NQorOjQwMTFDNjAwQzAwMEVGRjA5MDdGOTg3NDE1RjA5MEMwMDBFREYwMjIxMjEzMEY4RjFBMTIxMzBGOEYxQkU1MUE2NTFCNjAxMjEyMTMwRjhGMUFFNTFBNjUxQjYwMDcxMjEzMEY4RjFCODBFOEFGMUEyMjkwN0Y5ODc0MEJGMEU1NDU1NDdGOTA5OAorOjQwMTIwNjAwQzAwMEYwOTA3Rjk4NzQwRkYwOTBDMDAwRUZGMDkwN0Y5ODc0MERGMDkwQzAwMEVERjAyMjEyMTM2MzhGMUExMjEzNjM4RjFCRTUxQTY1MUI2MDEyMTIxMzYzOEYxQUU1MUE2NTFCNjAwNzEyMTM2MzhGMUI4MEU4QUYxQTIyOTBDOAorOjQwMTI0NjAwN0ZENkUwNTRGQkYwRTA0NDA4RjAzMDFBMDRFMDQ0MDJGMDdGRjQ3RTAxMTIxMkM4OTA3RkQ2RTA1NEY3RjBFMDQ0MDRGMDIyQUUwN0U0RkZFNTNFNTQ3RkZEMTIxMUIxOTA3Rjk4NzQxMUYwOTBDMDAwRUVGMEU0RTUzRTQ0ODBFOAorOjQwMTI4NjAwRkQxMjExQjEyMkFFMDdFNEZGRTUzRjU0N0ZGRDEyMTFGQjkwN0Y5ODc0MDlGMDkwQzAwMEVFRjBFNEU1M0Y0NDgwRkQxMjExRkIyMjA1MEUwMjAwMDAwMDAwMDMxNDAzMDAwMEMxMTFDMTE4QzE5NUMxMTBDMTE2MDEwQTAwQzE5QworOjQwMTJDNjAwOUIwMDhFMTg4RjE5RTUxOTE1MTlBRTE4NzAwMjE1MTg0RTYwMDUxMjBENEU4MEVFMjI5MDdGOTg3NDExRjA5MEMwMDBFMEZGMjI5MDdGOTg3NDEyRjA5MEMwMDBFMEZGMjI1M0Q4RUYzMjAwMDAwMDAwMDAwMjBGRTcwMDAyMTM4QQorOjQwMTMwNjAwMDQwMDAyMEZCRDAwMDIxMDBFOTA3Rjk4NzQxM0YwOTBDMDAwRTBGRjIyOTA3Rjk4NzQxNEYwOTBDMDAwRTBGRjIyOTA3Rjk4NzQxNUYwOTBDMDAwRTBGRjIyOTA3Rjk4NzQxNkYwOTBDMDAwRTBGRjIyOTA3Rjk4NzQwOEYwOTA1MAorOjQwMTM0NjAwQzAwMEUwRkYyMjkwN0Y5ODc0MDlGMDkwQzAwMEUwRkYyMjkwN0Y5ODc0MEFGMDkwQzAwMEUwRkYyMjkwN0Y5ODc0MEJGMDkwQzAwMEUwRkYyMjkwN0Y5ODc0MENGMDkwQzAwMEUwRkYyMjkwN0Y5ODc0MERGMDkwQzAwMEUwRkZDNQorOjQwMTM4NjAwMjI5MDdGOTg3NDBFRjA5MEMwMDBFMEZGMjIxMjAwMDMxMjBENUYxMjBCNDYyMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MworOjQwMTNDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNworOjQwMTQwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBNgorOjQwMTQ0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NgorOjQwMTQ4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNgorOjQwMTRDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNgorOjQwMTUwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBNQorOjQwMTU0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NQorOjQwMTU4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNQorOjQwMTVDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNQorOjQwMTYwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBNAorOjQwMTY0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NAorOjQwMTY4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNAorOjQwMTZDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNAorOjQwMTcwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMworOjQwMTc0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MworOjQwMTc4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMworOjQwMTdDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFMworOjQwMTgwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMgorOjQwMTg0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MgorOjQwMTg4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMgorOjQwMThDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMjAxMTAwMUZGMDBCRgorOjQwMTkwNjAwMDA0MENEMDYxMDAxMDAwMDAxMDIwMDAyMDkwMjc0MDAwMTAxMDBBMDMyMDkwNDAwMDAwRUZGMDAwMDAwMDcwNTAxMDI0MDAwMDAwNzA1MDIwMjQwMDAwMDA3MDUwMzAyNDAwMDAwMDcwNTA0MDI0MDAwMDAwNzA1MDUwMjQwMDA3NgorOjQwMTk0NjAwMDAwNzA1MDYwMjQwMDAwMDA3MDUwNzAyNDAwMDAwMDcwNTgxMDI0MDAwMDEwNzA1ODIwMjQwMDAwMDA3MDU4MzAyNDAwMDAxMDcwNTg0MDI0MDAwMDEwNzA1ODUwMjQwMDAwMTA3MDU4NjAyNDAwMDAxMDcwNTg3MDI0MDAwMDFGNAorOjQwMTk4NjAwMDQwMzA5MDQ0ODAzNEIwMDY1MDA3OTAwNzMwMDcwMDA2MTAwNkUwMDJDMDAyMDAwNjEwMDIwMDA2NDAwNjkwMDc2MDA2OTAwNzMwMDY5MDA2RjAwNkUwMDIwMDA2RjAwNjYwMDIwMDA0OTAwNkUwMDZFMDA2RjAwNTMwMDc5MDA0MAorOjQwMTlDNjAwNzMwMDIwMDA0OTAwNkUwMDYzMDAyRTAwMzYwMzRCMDA2NTAwNzkwMDczMDA3MDAwNjEwMDZFMDAyMDAwNTUwMDUzMDA0MjAwMjAwMDUzMDA2NTAwNzIwMDY5MDA2MTAwNkMwMDIwMDA0MTAwNjQwMDYxMDA3MDAwNzQwMDY1MDBGOQorOjA0MUEwNjAwNzIwMDAwMDA2QQorOjAwMDAwMDAxRkYKKworCVRoZSBmaXJtd2FyZSBjb250YWluZWQgaGVyZWluIGlzCisKKwkJQ29weXJpZ2h0IChDKSAxOTk5LTIwMDEKKwkJS2V5c3BhbiwgQSBkaXZpc2lvbiBvZiBJbm5vU3lzIEluY29ycG9yYXRlZCAoIktleXNwYW4iKQorCisJYXMgYW4gdW5wdWJsaXNoZWQgd29yay4gVGhpcyBub3RpY2UgZG9lcyBub3QgaW1wbHkgdW5yZXN0cmljdGVkIG9yCisJcHVibGljIGFjY2VzcyB0byB0aGUgc291cmNlIGNvZGUgZnJvbSB3aGljaCB0aGlzIGZpcm13YXJlIGltYWdlIGlzCisJZGVyaXZlZC4gIEV4Y2VwdCBhcyBub3RlZCBiZWxvdyB0aGlzIGZpcm13YXJlIGltYWdlIG1heSBub3QgYmUKKwlyZXByb2R1Y2VkLCB1c2VkLCBzb2xkIG9yIHRyYW5zZmVycmVkIHRvIGFueSB0aGlyZCBwYXJ0eSB3aXRob3V0CisJS2V5c3BhbidzIHByaW9yIHdyaXR0ZW4gY29uc2VudC4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisKKwlQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkIGZvciB0aGUgZGlzdHJpYnV0aW9uIG9mIHRoaXMgZmlybXdhcmUKKwlpbWFnZSBhcyBwYXJ0IG9mIGEgTGludXggb3Igb3RoZXIgT3BlbiBTb3VyY2Ugb3BlcmF0aW5nIHN5c3RlbSBrZXJuZWwKKwlpbiB0ZXh0IG9yIGJpbmFyeSBmb3JtIGFzIHJlcXVpcmVkLgorCisJVGhpcyBmaXJtd2FyZSBtYXkgbm90IGJlIG1vZGlmaWVkIGFuZCBtYXkgb25seSBiZSB1c2VkIHdpdGgKKwlLZXlzcGFuIGhhcmR3YXJlLiAgRGlzdHJpYnV0aW9uIGFuZC9vciBNb2RpZmljYXRpb24gb2YgdGhlCisJa2V5c3Bhbi5jIGRyaXZlciB3aGljaCBpbmNsdWRlcyB0aGlzIGZpcm13YXJlLCBpbiB3aG9sZSBvciBpbgorCXBhcnQsIHJlcXVpcmVzIHRoZSBpbmNsdXNpb24gb2YgdGhpcyBzdGF0ZW1lbnQuIgpkaWZmIC0tZ2l0IGEvZmlybXdhcmUva2V5c3Bhbi91c2EyOHhhLkhFWCBiL2Zpcm13YXJlL2tleXNwYW4vdXNhMjh4YS5IRVgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjE0OTMyZQotLS0gL2Rldi9udWxsCisrKyBiL2Zpcm13YXJlL2tleXNwYW4vdXNhMjh4YS5IRVgKQEAgLTAsMCArMSwxNDEgQEAKKzowMzAwMzMwMDAyMTJGOUJECis6MTAwMDAzMDBFNDkwN0Y5M0YwOTA3RjlDNzQzMEYwRTQ5MDdGOTZGMEJGCis6MTAwMDEzMDA5MDdGOTRGMDkwN0Y5RDc0RkZGMEU0OTA3Rjk3RjA5MDMxCis6MEYwMDIzMDA3Rjk1RjA5MDdGOUU3NDA3RjBFNDkwN0Y5OEYwMjIxNQorOjEwMDA0NjAwMzAwOTE4MTIxMzI3RUZDMzk1M0M0MDAzMDIwMEQ4OTBERAorOjEwMDA1NjAwN0ZCRjc0MDFGMEMyMDlDMjAwODA3NzMwMDMzQjkwN0ZGNgorOjEwMDA2NjAwQzZFMDIwRTE2RDEyMTMyN0VGQzM5NDQwNTA2NDkwN0VFMgorOjEwMDA3NjAwNDBFMDEzOTIwOTkwN0ZDN0UwMTRGNTE5MjAwMDExNjA0MworOjEwMDA4NjAwMEZGNTA4N0U3RTdGNDE3NTBDN0U3NTBENDExMjBDQzhGQQorOjEwMDA5NjAwQzIwM0U0OTA3RkM3RjA4MDM5OTA3RkM4RTAyMEUxMzI0OAorOjEwMDBBNjAwMTIxMzI3RUZDMzk0NDA1MDI5OTA3REMwRTAxMzkyMDlBNAorOjEwMDBCNjAwOTA3RkM5RTAxNEY1MTkyMDAwMTE2MDBGRjUwODdFN0RDOAorOjEwMDBDNjAwN0ZDMTc1MEM3RDc1MERDMTEyMENDOEQyMDNFNDkwN0ZGQgorOjEwMDBENjAwQzlGMDkwN0ZCNkUwMzBFMTAzMDIwMTYwMTIxMUU0OEZBRgorOjEwMDBFNjAwMTkxMjEzMzM4RjM2RTUxOUMzOTUzQTUwMEYxMjEzMEZCMQorOjEwMDBGNjAwRUYzMEUwMDhFNTM2MjBFNzAzMzAwQjVFQzIwQkU1MTk2QQorOjBDMDAzNjAwOTA3Rjk4NzQxMEYwOTBDMDAwRTBGRjIyNTIKKzowMzAwNDMwMDAyMTMwMEE1Cis6MDMwMDAwMDAwMjBFMEVERgorOjQwMDEwNjAwNjA1OEI0ODAwMzQzMzYwMkU1MzYzMEU3MjZFNTE5RDM5NDIwNDAwMzc1MTkyMDg1MTkwODdFN0U3RjgwNzUwQzdFNzUwRDgwQUYzNjEyMEY1OUU1MTkyNUUwOTA3RkI3RjA4MDI3RTUxOUQzOTQzRjQwMDM3NTE5M0Y4NTE5MDhDNgorOjQwMDE0NjAwOTA3RTgwRTUzNkYwN0U3RTdGODE3NTBDN0U3NTBEODExMjBDRURFNTE5MDQ5MDdGQjdGMDkwN0ZDRUUwMzBFMTA2MjAwNTAzMDIwM0MxQzIwNUU0RjUxODc0NDAyNTE4RjU4MkU0MzQ3Q0Y1ODNFMEZGRTUxODdDMDA3QjAxN0FFMworOjQwMDE4NjAwN0U3OTAwMjQwMEY5RUMzNDdFRkFFRjEyMEVFMDA1MThFNTE4QjQyMEQ3OTA3RTAwRTA2MDY4OTA3RTAzRTA2MDI0N0YwMUU0RkQxMjExQkY3RjAzN0RDRDEyMTFCRjQzNDY4MDkwN0Y5ODc0MTRGMDkwQzAwMEU1NDZGMEU0OTBCNgorOjQwMDFDNjAwN0UxM0YwODAzMDkwN0UwMUUwRkYxMjEwNDM5MDdFMDJFMEZGMTIxMDY5N0YwMTkwN0UxMUUwRkQxMjExQkY3RjAzN0QwNzEyMTFCRjQzNDY4MDkwN0Y5ODc0MTRGMDkwQzAwMEU1NDZGMDkwN0Y5ODc0MTJGMEU1NDA0NDA2OTAwNgorOjQwMDIwNjAwQzAwMEYwOTA3RTAzRTA3MDA2OTA3RTEzRTA3MDA4RTQ5MDdFMTNGMDc1MjVGRjkwN0UwNUUwNjAxMkEzRTA1NDNGRjU0NDkwN0Y5ODc0MTNGMDkwQzAwMEU1NDRGMDkwN0UwN0UwNjAyQkEzRTA2MDA1NDM0MjgwODAwMzUzNDJEQQorOjQwMDI0NjAwN0Y1MzQyRkM5MDdFMDlFMDYwMTE0MzQyMDJBM0UwRkYxMjEwQjU5MDdFMEJFMEZGMTIxMERCQUY0MjEyMTA4RjkwN0UwM0UwNjAwODUzNDI3RkFGNDIxMjEwOEY5MDdFMENFMDYwMThBM0UwNjAwNTQzNDYwMjgwMDM1MzQ2RkQ3QworOjQwMDI4NjAwOTA3Rjk4NzQxNEYwOTBDMDAwRTU0NkYwOTA3RTBFRTA2MDE4QTNFMDYwMDU0MzQ2MDE4MDAzNTM0NkZFOTA3Rjk4NzQxNEYwOTBDMDAwRTU0NkYwOTA3RTEyRTBGNTNBQTNFMDEzOTIwREEzRTBGNTNDQTNFMDYwMDU0MzQ2MTA4QgorOjQwMDJDNjAwODAwMzUzNDZFRjkwN0Y5ODc0MTRGMDkwQzAwMEU1NDZGMDkwN0UxNkUwNjAzMjUzNDRCRjkwN0Y5ODc0MTNGMEU1NDQ1NDdGOTBDMDAwRjA5MDdGOTg3NDExRjAxMjEyRURFRjU0RkU5MEMwMDBGMDUzM0VGREU0RkZBRDNFMTIwMQorOjQwMDMwNjAwMTFCRkU0RjUyQUY1MjlEMjA3OTA3RTE3RTA2MDBGNDMzRTAyRTRGRkFEM0UxMjExQkY3NTI5MDFEMjA3OTA3RTE4RTA2MDEwOTA3Rjk4NzQxMkYwRTU0MDQ0MDQ5MEMwMDBGMEQyMDA5MDdFMTlFMDYwMTE0MzQ0NDA5MDdGOThENgorOjQwMDM0NjAwNzQxM0YwRTU0NDU0N0Y5MEMwMDBGMDkwN0UxQUUwNjAwRjUzM0VGRUU0RkZBRDNFMTIxMUJGNzUyQjAxRDIwNzkwN0UxQkUwNjAwRjQzM0UwMUU0RkZBRDNFMTIxMUJGRTRGNTJCRDIwNzkwN0UxQ0UwNjAwRTkwN0Y5ODc0MTI2OAorOjQwMDM4NjAwRjBFNTQwNDQwMjkwQzAwMEYwOTA3RTFERTA2MDAyRDIwQjkwN0UxRUUwNjAwODc1MkMwMUU0RjUzOEQyMDc5MDdFMUZFMDYwMTE5MDdGRDc3NDExRjA3NDMxRjA3NDE1RjA3NDM1RjBEMjAzRTQ5MDdGQ0ZGMDMwMUE1MkU1Mzg5MgorOjQwMDNDNjAwNjAwMjE1MzgyMDEzNDlFNTEzRDM5NDAwNDAwNDE1MTM4MDNFNzUxMzBBMzAxQjAyRDIxMzEyMTJFREVGNTQwMUY1MTk2NTJBNjAwNTg1MTkyQUQyMDcxMjEzM0ZFRjU0ODBGNTE5NjUyNjYwMDU4NTE5MjZEMjA3MzAwRDExMTI2NQorOjQwMDQwNjAwMTMzRkVGNTQxMEY1MTk2NTI1NjAwNTg1MTkyNUQyMDcyMDFCMDMwMjA3RUMzMDBBMTgxMjEzN0JFRkMzOTUzRDQwMDMwMjA0QUU5MDdGQzE3NDAxRjBDMjBBQzIwMDgwNzczMDA0M0I5MDdGQ0FFMDIwRTE2RDEyMTM3QkVGQzMzNgorOjQwMDQ0NjAwOTQ0MDUwNjQ5MDdENDBFMDEzOTIwQTkwN0ZDQkUwMTRGNTE5MjAwMDExNjAwRkY1MDg3RTdEN0Y0MTc1MEM3RDc1MEQ0MTEyMEQxMkMyMDRFNDkwN0ZDQkYwODAzOTkwN0ZDQ0UwMjBFMTMyMTIxMzdCRUZDMzk0NDA1MDI5OTBBMgorOjQwMDQ4NjAwN0NDMEUwMTM5MjBBOTA3RkNERTAxNEY1MTkyMDAwMTE2MDBGRjUwODdFN0M3RkMxNzUwQzdDNzUwREMxMTIwRDEyRDIwNEU0OTA3RkNERjA5MDdGQkFFMDMwRTEwMzAyMDUzNjEyMTIyRThGMTkxMjEzODc4RjM3RTUxOUMzOTUwMworOjQwMDRDNjAwM0I1MDBGMTIxMzYzRUYzMEUwMDhFNTM3MjBFNzAzMzAwQzVFQzIwQ0U1MTk2MDU4QjQ4MDAzNDMzNzAyRTUzNzMwRTcyNkU1MTlEMzk0MjA0MDAzNzUxOTIwODUxOTA4N0U3RDdGODA3NTBDN0Q3NTBEODBBRjM3MTIwRjkyRTVFOQorOjQwMDUwNjAwMTkyNUUwOTA3RkJCRjA4MDI3RTUxOUQzOTQzRjQwMDM3NTE5M0Y4NTE5MDg5MDdEODBFNTM3RjA3RTdEN0Y4MTc1MEM3RDc1MEQ4MTEyMEQzN0U1MTkwNDkwN0ZCQkYwOTA3RkQwRTAzMEUxMDYyMDA2MDMwMjA3OTdDMjA2RTRFQQorOjQwMDU0NjAwRjUxODc0QzAyNTE4RjU4MkU0MzQ3QkY1ODNFMEZGRTUxODdDMDA3QjAxN0E3RTc5MjAyNDIwRjlFQzM0N0VGQUVGMTIwRUUwMDUxOEU1MThCNDIwRDc5MDdFMjBFMDYwNjg5MDdFMjNFMDYwMjQ3RjAxRTRGRDEyMTIwOTdGMDMwQworOjQwMDU4NjAwN0RDRDEyMTIwOTQzNDc4MDkwN0Y5ODc0MENGMDkwQzAwMEU1NDdGMEU0OTA3RTMzRjA4MDMwOTA3RTIxRTBGRjEyMTEyNzkwN0UyMkUwRkYxMjExNEQ3RjAxOTA3RTMxRTBGRDEyMTIwOTdGMDM3RDA3MTIxMjA5NDM0NzgwOTBGRgorOjQwMDVDNjAwN0Y5ODc0MENGMDkwQzAwMEU1NDdGMDkwN0Y5ODc0MEFGMEU1NDE0NDA2OTBDMDAwRjA5MDdFMjNFMDcwMDY5MDdFMzNFMDcwMDhFNDkwN0UzM0YwNzUyRUZGOTA3RTI1RTA2MDEyQTNFMDU0M0ZGNTQ1OTA3Rjk4NzQwQkYwOTBFQgorOjQwMDYwNjAwQzAwMEU1NDVGMDkwN0UyN0UwNjAyQkEzRTA2MDA1NDM0MzgwODAwMzUzNDM3RjUzNDNGQzkwN0UyOUUwNjAxMTQzNDMwMkEzRTBGRjEyMTE3MzkwN0UyQkUwRkYxMjExOTlBRjQzMTIxMTAxOTA3RTIzRTA2MDA4NTM0MzdGQUZEMworOjQwMDY0NjAwNDMxMjExMDE5MDdFMkNFMDYwMThBM0UwNjAwNTQzNDcwMjgwMDM1MzQ3RkQ5MDdGOTg3NDBDRjA5MEMwMDBFNTQ3RjA5MDdFMkVFMDYwMThBM0UwNjAwNTQzNDcwMTgwMDM1MzQ3RkU5MDdGOTg3NDBDRjA5MEMwMDBFNTQ3RjBDNQorOjQwMDY4NjAwOTA3RTMyRTBGNTNCQTNFMDEzOTIwRUEzRTBGNTNEQTNFMDYwMDU0MzQ3MTA4MDAzNTM0N0VGOTA3Rjk4NzQwQ0YwOTBDMDAwRTU0N0YwOTA3RTM2RTA2MDMyNTM0NUJGOTA3Rjk4NzQwQkYwRTU0NTU0N0Y5MEMwMDBGMDkwN0Y3OQorOjQwMDZDNjAwOTg3NDA5RjAxMjEzNTdFRjU0RkU5MEMwMDBGMDUzM0ZGREU0RkZBRDNGMTIxMjA5RTRGNTMzRjUzMkQyMDg5MDdFMzdFMDYwMEY0MzNGMDJFNEZGQUQzRjEyMTIwOTc1MzIwMUQyMDg5MDdFMzhFMDYwMTA5MDdGOTg3NDBBRjAxOQorOjQwMDcwNjAwRTU0MTQ0MDQ5MEMwMDBGMEQyMDA5MDdFMzlFMDYwMTE0MzQ1NDA5MDdGOTg3NDBCRjBFNTQ1NTQ3RjkwQzAwMEYwOTA3RTNBRTA2MDBGNTMzRkZFRTRGRkFEM0YxMjEyMDk3NTM0MDFEMjA4OTA3RTNCRTA2MDBGNDMzRjAxRTREQQorOjQwMDc0NjAwRkZBRDNGMTIxMjA5RTRGNTM0RDIwODkwN0UzQ0UwNjAwRTkwN0Y5ODc0MEFGMEU1NDE0NDAyOTBDMDAwRjA5MDdFM0RFMDYwMDJEMjBDOTA3RTNFRTA2MDA4NzUzNTAxRTRGNTM5RDIwODkwN0UzRkUwNjAxMTkwN0ZENzc0MTM3QQorOjQwMDc4NjAwRjA3NDMzRjA3NDE2RjA3NDM2RjBEMjA0RTQ5MDdGRDFGMDMwMUE1MkU1Mzk2MDAyMTUzOTMwMTM0OUU1MTNEMzk0MDA0MDA0MTUxMzgwM0U3NTEzMEEzMDFCMDJDMjEzMTIxMzU3RUY1NDAxRjUxOTY1MzM2MDA1ODUxOTMzRDI2RAorOjQwMDdDNjAwMDgxMjEzOTNFRjU0ODBGNTE5NjUyRjYwMDU4NTE5MkZEMjA4MzAwRTExMTIxMzkzRUY1NDEwRjUxOTY1MkU2MDA1ODUxOTJFRDIwODMwMUEyQTkwN0ZEMkUwMjBFMTIzOTA3QjQwRTA2MDA5RTBGNTE1OTA3QjQyRTBGNTE2OTAxRAorOjQwMDgwNjAwN0I0MUUwNjAwOTkwN0ZENzc0MTdGMDc0MzdGMEU0OTA3RkQzRjA5MDdGQzJFMDMwRTEwMzAyMDkyMEU1MEE3MDQwMzAwNzM5RTUzODcwMzVDMjA3RjUxODdFMDA3QjAwNzQyNDI1MThGOUVFMzQwMEZBMTIwRTlBRkY3NDgwMjVBRgorOjQwMDg0NjAwMThGNTgyRTQzNDdCRjU4M0VGRjAwNTE4RTUxOEI0MDlEQjkwN0ZDMzc0MDlGMDc1MzgxMEU0RjUyQzc1MEEwMTIyRTUwQTY0MDE3MDQwMzAwODM5RTUzOTcwMzVDMjA4RjUxODdFMDA3QjAwNzQyRDI1MThGOUVFMzQwMEZBMTI5NworOjQwMDg4NjAwMEU5QUZGNzQ4MDI1MThGNTgyRTQzNDdCRjU4M0VGRjAwNTE4RTUxOEI0MDlEQjkwN0ZDMzc0MDlGMDc1MzkxMEU0RjUzNTc1MEEwMjIyRTUwQTY0MDI3MDM2MzAxNDJGQzIxNEY1MTg3RTAwN0IwMDc0MEUyNTE4RjlFRTM0MDA3NQorOjQwMDhDNjAwRkExMjBFOUFGRjc0ODAyNTE4RjU4MkU0MzQ3QkY1ODNFRkYwMDUxOEU1MThCNDA1REI5MDdGQzM3NDA1RjA3NTBBMDMyMkU1MTU2MDMwMTUxNUU0RjUxODdFMDA3QjAwNzQxNDI1MThGOUVFMzQwMEZBMTIwRTlBRkY3NDgwMjVENgorOjQwMDkwNjAwMThGNTgyRTQzNDdCRjU4M0VGRjAwNTE4RTUxOEI0MDNEQjkwN0ZDMzc0MDNGMEU0RjUwQTIyOTA3RkU5RTAxMjBFRjIwQTA4MDAwQTdDMDEwQUU4MDMwOTQ0MDYwOUZCMDgwOUY1MDkwOUREMEEwOUVDMEIwMDAwMEIzNzkwN0YyRgorOjQwMDk0NjAwRUJFMDI0RkU2MDE5MTQ2MDYxMjQwMjYwMDMwMjA5RDM3NDE5OTA3RkQ0RjA3NDAwOTA3RkQ1RjAwMjBCM0U5MDdGRUFFMDcwMDQ3RjAyODAwMjdGMDM3NTgyODI3NTgzMTlFRkYwNzU4MjdCNzU4MzE5RjA3NTgyNzQ3NTgzMTlCMgorOjQwMDk4NjAwRjA3NTgyNjY3NTgzMTlGMDc1ODI1ODc1ODMxOUYwOTA3RkVBRTAwNDc1ODIxNzc1ODMxOUYwNzQxOTkwN0ZENEYwNzQxMjkwN0ZENUYwMDIwQjNFOTA3RkVBRTBGRjEyMEYxOEVBNDk2MDBERUE5MDdGRDRGMEU5OTA3RkQ1RjA3NworOjQwMDlDNjAwMDIwQjNFOTA3RkI0RTA0NDAxRjAwMjBCM0U5MDdGQjRFMDQ0MDFGMDAyMEIzRTkwN0YwMEU1MDlGMDkwN0ZCNTc0MDFGMDAyMEIzRTkwN0ZFQUUwRjUwOTAyMEIzRTEyMEI0NjAyMEIzRTkwN0YwMDc0MDFGMDkwN0ZCNUYwMDIwNQorOjQwMEEwNjAwMEIzRTkwN0ZFOEUwMjQ3RjYwMjQxNDYwMzEyNDAyNzA1QkEyMTBFNDMzRkYyNUUwRkZBMjE2RTQzMzRGOTA3RjAwRjBFNEEzRjA5MDdGQjU3NDAyRjAwMjBCM0VFNDkwN0YwMEYwQTNGMDkwN0ZCNTc0MDJGMDAyMEIzRTkwN0YwNAorOjQwMEE0NjAwRUNFMEY0NTQ4MEZGQzQ1NDBGRkZFMDU0MDcyRjI1RTAyNEI0RjU4MkU0MzQ3RkY1ODNFMDU0RkQ5MDdGMDBGMEU0QTNGMDkwN0ZCNTc0MDJGMDAyMEIzRTkwN0ZCNEUwNDQwMUYwMDIwQjNFOTA3RkU4RTAyNEZFNjAxRDI0MDIwRgorOjQwMEE4NjAwNjAwMzAyMEIzRTkwN0ZFQUUwQjQwMTA1QzIxMDAyMEIzRTkwN0ZCNEUwNDQwMUYwMDIwQjNFOTA3RkVBRTA3MDM4OTA3RkVDRTBGNDU0ODBGRkM0NTQwRkZGRTA1NDA3MkYyNUUwMjRCNEY1ODJFNDM0N0ZGNTgzRTRGMDkwN0ZCNgorOjQwMEFDNjAwRUNFMDU0ODBGRjEzMTMxMzU0MUZGRkUwNTQwNzJGOTA3RkQ3RjBFMDQ0MjBGMDgwNUY5MDdGQjRFMDQ0MDFGMDgwNTY5MDdGRThFMDI0RkU2MDE4MjQwMjcwNEE5MDdGRUFFMEI0MDEwNEQyMTA4MDNGOTA3RkI0RTA0NDAxRjA0OQorOjQwMEIwNjAwODAzNjkwN0ZFQUUwNzAyMDkwN0ZFQ0UwRjQ1NDgwRkZDNDU0MEZGRkUwNTQwNzJGMjVFMDI0QjRGNTgyRTQzNDdGRjU4Mzc0MDFGMDgwMTA5MDdGQjRFMDQ0MDFGMDgwMDc5MDdGQjRFMDQ0MDFGMDkwN0ZCNEUwNDQwMkYwMjJENAorOjQwMEI0NjAwRTQ5MDdGOTNGMDkwN0Y5Qzc0MzBGMEU0OTA3Rjk2RjA5MDdGOTU3NEMwRjA5MDdGOUU3NDNGRjA5MDdGOTg3NDE4RjBFNEY1OEU5MDdGREY3NEZGRjA5MDdGREVGMEU0RjUyNDc1MTgwMTdCMDA3NDI0MjUxOEY5RTQzNDAwRkE4QgorOjQwMEI4NjAwRTQxMjBFRTAwNTE4RTUxOEI0MDlFQTc1M0EwMUU0RjUzOEY1MTNGNTM2QzIwN0MyMEJDMjA1QzIwMEMyMDlDMjEzOTA3Rjk4NzQxM0YwNzU0NDAzOTBDMDAwNzQwM0YwN0YwQ0U0RkQxMjExQkY3RjEwOEY0MjEyMTA4RjkwN0ZEOAorOjQwMEJDNjAwOTg3NDEyRjA3RjAxOEY0MEVGNDQwNjkwQzAwMEYwOTA3Rjk4NzQxNEYwNzU0NjgwOTBDMDAwNzQ4MEYwMEZFNEZEMTIxMUJGRTRGRjdFQTNBRDA2OEQzRTEyMTFCRjkwN0Y5ODc0MTFGMDkwQzAwMEU0RjA3RjA1N0Q3RjEyMTE3MgorOjQwMEMwNjAwQkY3RjAxMTIxMjc4N0YwMzdEMDcxMjExQkY3RjEzN0QwMTEyMTFCRjIwMUIwMzAyMENDNTc1MkQwMTc1MTgwMTdCMDA3NDJEMjUxOEY5RTQzNDAwRkFFNDEyMEVFMDA1MThFNTE4QjQwOUVBNzUzQjAxRTRGNTM5RjUxM0Y1MzdCNworOjQwMEM0NjAwQzIwOEMyMENDMjA2QzIwMEMyMEFDMjEzOTA3Rjk4NzQwQkYwNzU0NTAzOTBDMDAwNzQwM0YwN0YwQ0U0RkQxMjEyMDk3RjEwOEY0MzEyMTEwMTkwN0Y5ODc0MEFGMDdGMDE4RjQxRUY0NDA2OTBDMDAwRjA5MDdGOTg3NDBDRjAwRQorOjQwMEM4NjAwNzU0NzgwOTBDMDAwNzQ4MEYwMEZFNEZEMTIxMjA5RTRGRjdFQTNBRDA2OEQzRjEyMTIwOTkwN0Y5ODc0MDlGMDkwQzAwMEU0RjA3RjA1N0Q3RjEyMTIwOTdGMDExMjEyOTk3RjAzN0QwNzEyMTIwOTdGMTM3RDAxMTIxMjA5RDI4RAorOjQwMENDNjAwMTIyMjkwN0Y5ODc0MTBGMEFGMDhFNTBERjU4MkU1MENGNTgzQzJBRjA1ODY5MEMwMDAwNTg2RTBBMzA1ODZGMDA1ODZERkY3RDJBRjIyOTA3Rjk4NzQxMEYwQUYwOEU1MERGNTgyRTUwQ0Y1ODNDMkFGMDU4NjkwQzAwMEUwMDU2OAorOjQwMEQwNjAwODZGMEEzMDU4NkRGRjcwNTg2RDJBRjIyOTA3Rjk4NzQwOEYwQUYwOEU1MERGNTgyRTUwQ0Y1ODNDMkFGMDU4NjkwQzAwMDA1ODZFMEEzMDU4NkYwMDU4NkRGRjdEMkFGMjI5MDdGOTg3NDA4RjBBRjA4RTUwREY1ODJFNTBDRjU3NworOjQwMEQ0NjAwODNDMkFGMDU4NjkwQzAwMEUwMDU4NkYwQTMwNTg2REZGNzA1ODZEMkFGMjI3NDAwRjU4NjkwRkRBNTdDMDVBM0U1ODI0NTgzNzBGOTIyOTA3RkQ2RTA0NDgwRjA0Mzg3MDEwMDAwMDAwMDAwMjJEMjE5OTA3RjkyRTA0NDAyRjAwQQorOjQwMEQ4NjAwOTA3RkFFRTBGRkQzOTIxMEU0MzNGRUVGNEVGMEQyRTg0M0Q4MjA5MDdGREU3NDAxRjA5MDdGREZGMDkwN0ZBQjc0RkZGMDkwN0ZBOUYwOTA3RkFBRjA1MzkxRUY5MDdGQUZFMDQ0MDFGMDkwN0ZBRUUwNDQwREYwRDJBRkQyMUE1NgorOjQwMERDNjAwMTIxMjUzQzIxMUU0RjUwQkY1MTNDMjE3QzIxMjkwN0ZBMTA0RjA5MDdGRDhFMDY1MTc2MDEwMzAxMjA1RDIxQTEyMDA0NjkwN0ZEOEUwRjUxNzgwMDgzMDEyMDVDMjFBMTIwMDQ2MzAxMTA3QzIxMTEyMDkyMTgwRDYzMDE4RDM4QQorOjQwMEUwNjAwQzIxODEyMTM5RjgwQ0MyMjc4N0ZFNEY2RDhGRDc1ODE0NzAyMEU1NTAyMEQ3REU0OTNBM0Y4RTQ5M0EzNDAwM0Y2ODAwMUYyMDhERkY0ODAyOUU0OTNBM0Y4NTQwNzI0MENDOEMzMzNDNDU0MEY0NDIwQzg4MzQwMDRGNDU2ODAzMQorOjQwMEU0NjAwMDE0NkY2REZFNDgwMEIwMTAyMDQwODEwMjA0MDgwOTAxMkJBRTQ3RTAxOTM2MEJDQTNGRjU0M0YzMEU1MDk1NDFGRkVFNDkzQTM2MDAxMEVDRjU0QzAyNUUwNjBBODQwQjhFNDkzQTNGQUU0OTNBM0Y4RTQ5M0EzQzhDNTgyQzgyOAorOjQwMEU4NjAwQ0FDNTgzQ0FGMEEzQzhDNTgyQzhDQUM1ODNDQURGRTlERUU3ODBCRUJCMDEwNjg5ODI4QTgzRTAyMjUwMDJFNzIyQkJGRTAyRTMyMjg5ODI4QTgzRTQ5MzIyQkIwMTBDRTU4MjI5RjU4MkU1ODMzQUY1ODNFMDIyNTAwNkU5MjU0OAorOjQwMEVDNjAwODJGOEU2MjJCQkZFMDZFOTI1ODJGOEUyMjJFNTgyMjlGNTgyRTU4MzNBRjU4M0U0OTMyMkJCMDEwNjg5ODI4QTgzRjAyMjUwMDJGNzIyQkJGRTAxRjMyMkQwODNEMDgyRjhFNDkzNzAxMjc0MDE5MzcwMERBM0EzOTNGODc0MDFERQorOjQwMEYwNjAwOTNGNTgyODg4M0U0NzM3NDAyOTM2ODYwRUZBM0EzQTM4MERGOEYxOEU0RjUxOTc1MUFGRjc1MUIxOTc1MUM4NkFCMUFBQTFCQTkxQzkwMDAwMTEyMEVCM0I0MDMxREFGMTkwNTE5RUZCNTE4MDEyMjEyMEU5QTdFMDAyOUZGRUVCNgorOjQwMEY0NjAwM0FBOTA3NzUxQUZGRjUxQjg5MUM4MEQ0N0IwMDdBMDA3OTAwMjI4RjFBMDUwREU1MERBRTBDNzAwMjA1MEMxNEY1ODI4RTgzRTUxQUYwMTIwMDM2MDUwREU1MERBQzBDNzAwMjA1MEMxNEY1ODI4QzgzRUZGMDE1MDhFNTA4NjA3QgorOjQwMEY4NjAwMEExMjEzMzM4RjFBRUY0MjM2ODBDQTIyOEYxQTA1MERFNTBEQUUwQzcwMDIwNTBDMTRGNTgyOEU4M0U1MUFGMDEyMTM0QjA1MERFNTBEQUMwQzcwMDIwNTBDMTRGNTgyOEM4M0VGRjAxNTA4RTUwODYwMEExMjEzODc4RjFBRUZGOAorOjQwMEZDNjAwNDIzNzgwQ0EyMkMwRTBDMDgzQzA4MkMwODVDMDg0QzA4Njc1ODYwMDkwN0ZDNEU0RjA1MzkxRUY5MDdGQUI3NDA0RjBEMDg2RDA4NEQwODVEMDgyRDA4M0QwRTAzMkMwRTBDMDgzQzA4MkMwODVDMDg0QzA4Njc1ODYwMEQyMTEyMworOjQwMTAwNjAwNTM5MUVGOTA3RkFCNzQwMUYwRDA4NkQwODREMDg1RDA4MkQwODNEMEUwMzJDMEUwQzA4M0MwODJDMDg1QzA4NEMwODY3NTg2MDBEMjE4NTM5MUVGOTA3RkFCNzQwOEYwRDA4NkQwODREMDg1RDA4MkQwODNEMEUwMzI5MDdGOTgzMworOjQwMTA0NjAwNzQxM0YwOTBDMDAwNzRCRkYwOTA3Rjk4NzQxMEYwOTBDMDAwRUZGMDkwN0Y5ODc0MTNGMEU1NDQ1NDdGOTBDMDAwRjAyMjkwN0Y5ODc0MTNGMDkwQzAwMDc0QkZGMDkwN0Y5ODc0MTFGMDkwQzAwMEVGRjA5MDdGOTg3NDEzRjBDMAorOjQwMTA4NjAwRTU0NDU0N0Y5MEMwMDBGMDIyOTA3Rjk4NzQxM0YwOTBDMDAwNzRCRkYwOTA3Rjk4NzQxMkYwOTBDMDAwRUZGMDkwN0Y5ODc0MTNGMEU1NDQ1NDdGOTBDMDAwRjAyMjkwN0Y5ODc0MTNGMDkwQzAwMDc0QkZGMDkwN0Y5ODc0MTRCMworOjQwMTBDNjAwRjA5MEMwMDBFRkYwOTA3Rjk4NzQxM0YwRTU0NDU0N0Y5MEMwMDBGMDIyOTA3Rjk4NzQxM0YwOTBDMDAwNzRCRkYwOTA3Rjk4NzQxNkYwOTBDMDAwRUZGMDkwN0Y5ODc0MTNGMEU1NDQ1NDdGOTBDMDAwRjAyMjkwN0Y5ODc0MEJDQworOjQwMTEwNjAwRjA5MEMwMDA3NEJGRjA5MDdGOTg3NDBBRjA5MEMwMDBFRkYwOTA3Rjk4NzQwQkYwRTU0NTU0N0Y5MEMwMDBGMDIyOTA3Rjk4NzQwQkYwOTBDMDAwNzRCRkYwOTA3Rjk4NzQwOEYwOTBDMDAwRUZGMDkwN0Y5ODc0MEJGMEU1NDU4MgorOjQwMTE0NjAwNTQ3RjkwQzAwMEYwMjI5MDdGOTg3NDBCRjA5MEMwMDA3NEJGRjA5MDdGOTg3NDA5RjA5MEMwMDBFRkYwOTA3Rjk4NzQwQkYwRTU0NTU0N0Y5MEMwMDBGMDIyOTA3Rjk4NzQwQkYwOTBDMDAwNzRCRkYwOTA3Rjk4NzQwQ0YwOTBDMworOjQwMTE4NjAwQzAwMEVGRjA5MDdGOTg3NDBCRjBFNTQ1NTQ3RjkwQzAwMEYwMjI5MDdGOTg3NDBCRjA5MEMwMDA3NEJGRjA5MDdGOTg3NDBFRjA5MEMwMDBFRkYwOTA3Rjk4NzQwQkYwRTU0NTU0N0Y5MEMwMDBGMDIyOTA3Rjk4NzQxM0YwRTVDQworOjQwMTFDNjAwNDQ1NDdGOTBDMDAwRjA5MDdGOTg3NDE3RjA5MEMwMDBFRkYwOTA3Rjk4NzQxNUYwOTBDMDAwRURGMDIyMTIxMzFCOEYxQTEyMTMxQjhGMUJFNTFBNjUxQjYwMTIxMjEzMUI4RjFBRTUxQTY1MUI2MDA3MTIxMzFCOEYxQjgwRThFRAorOjQwMTIwNjAwQUYxQTIyOTA3Rjk4NzQwQkYwRTU0NTU0N0Y5MEMwMDBGMDkwN0Y5ODc0MEZGMDkwQzAwMEVGRjA5MDdGOTg3NDBERjA5MEMwMDBFREYwMjIxMjEzNkY4RjFBMTIxMzZGOEYxQkU1MUE2NTFCNjAxMjEyMTM2RjhGMUFFNTFBNjVBRAorOjQwMTI0NjAwMUI2MDA3MTIxMzZGOEYxQjgwRThBRjFBMjI5MDdGRDZFMDU0RkJGMEUwNDQwOEYwMzAxQTA0RTA0NDAyRjA3RkY0N0UwMTEyMTJENjkwN0ZENkUwNTRGN0YwRTA0NDA0RjAyMkFFMDdFNEZGRTUzRTU0N0ZGRDEyMTFCRjkwN0YyRgorOjQwMTI4NjAwOTg3NDExRjA5MEMwMDBFRUYwRTRFNTNFNDQ4MEZEMTIxMUJGMjJBRTA3RTRGRkU1M0Y1NDdGRkQxMjEyMDk5MDdGOTg3NDA5RjA5MEMwMDBFRUYwRTRFNTNGNDQ4MEZEMTIxMjA5MjIwNTBFMDIwMDAwMDAwMDAzMTQwMzAwMDBERgorOjQwMTJDNjAwQzExMUMxMThDMTk1QzExMEMxMTYwMTBBMDBDMTlCMDA4RTE4OEYxOUU1MTkxNTE5QUUxODcwMDIxNTE4NEU2MDA1MTIwRDVDODBFRTIyOTA3Rjk4NzQxMUYwOTBDMDAwRTBGRjIyNTNEOEVGMzIwMDAwMDAwMjBGRjUwMDAyMTM2NworOjQwMTMwNjAwMDQwMDAyMEZDQjAwMDIxMDFDOTA3Rjk4NzQxMkYwOTBDMDAwRTBGRjIyOTA3Rjk4NzQxM0YwOTBDMDAwRTBGRjIyOTA3Rjk4NzQxNEYwOTBDMDAwRTBGRjIyOTA3Rjk4NzQxNUYwOTBDMDAwRTBGRjIyOTA3Rjk4NzQxNkYwOTAyQQorOjQwMTM0NjAwQzAwMEUwRkYyMjkwN0Y5ODc0MDhGMDkwQzAwMEUwRkYyMjkwN0Y5ODc0MDlGMDkwQzAwMEUwRkYyMjkwN0Y5ODc0MEFGMDkwQzAwMEUwRkYyMjkwN0Y5ODc0MEJGMDkwQzAwMEUwRkYyMjkwN0Y5ODc0MENGMDkwQzAwMEUwRkZDQQorOjQwMTM4NjAwMjI5MDdGOTg3NDBERjA5MEMwMDBFMEZGMjI5MDdGOTg3NDBFRjA5MEMwMDBFMEZGMjIxMjAwMDMxMjBENkQxMjBCNDYyMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQworOjQwMTNDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNworOjQwMTQwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBNgorOjQwMTQ0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NgorOjQwMTQ4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNgorOjQwMTRDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNgorOjQwMTUwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBNQorOjQwMTU0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NQorOjQwMTU4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNQorOjQwMTVDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNQorOjQwMTYwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBNAorOjQwMTY0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NAorOjQwMTY4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNAorOjQwMTZDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNAorOjQwMTcwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMworOjQwMTc0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MworOjQwMTc4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMworOjQwMTdDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFMworOjQwMTgwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMgorOjQwMTg0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MgorOjQwMTg4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMgorOjQwMThDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMjAxMTAwMUZGMDBCRgorOjQwMTkwNjAwMDA0MENEMDYxNTAxMDAwMDAxMDIwMDAyMDkwMjc0MDAwMTAxMDBBMDMyMDkwNDAwMDAwRUZGMDAwMDAwMDcwNTAxMDI0MDAwMDAwNzA1MDIwMjQwMDAwMDA3MDUwMzAyNDAwMDAwMDcwNTA0MDI0MDAwMDAwNzA1MDUwMjQwMDA3MQorOjQwMTk0NjAwMDAwNzA1MDYwMjQwMDAwMDA3MDUwNzAyNDAwMDAwMDcwNTgxMDI0MDAwMDEwNzA1ODIwMjQwMDAwMTA3MDU4MzAyNDAwMDAxMDcwNTg0MDI0MDAwMDEwNzA1ODUwMjQwMDAwMTA3MDU4NjAyNDAwMDAxMDcwNTg3MDI0MDAwMDFGMworOjQwMTk4NjAwMDQwMzA5MDQ0ODAzNEIwMDY1MDA3OTAwNzMwMDcwMDA2MTAwNkUwMDJDMDAyMDAwNjEwMDIwMDA2NDAwNjkwMDc2MDA2OTAwNzMwMDY5MDA2RjAwNkUwMDIwMDA2RjAwNjYwMDIwMDA0OTAwNkUwMDZFMDA2RjAwNTMwMDc5MDA0MAorOjQwMTlDNjAwNzMwMDIwMDA0OTAwNkUwMDYzMDAyRTAwMzYwMzRCMDA2NTAwNzkwMDczMDA3MDAwNjEwMDZFMDAyMDAwNTUwMDUzMDA0MjAwMjAwMDUzMDA2NTAwNzIwMDY5MDA2MTAwNkMwMDIwMDA0MTAwNjQwMDYxMDA3MDAwNzQwMDY1MDBGOQorOjA0MUEwNjAwNzIwMDAwMDA2QQorOjAwMDAwMDAxRkYKKworCVRoZSBmaXJtd2FyZSBjb250YWluZWQgaGVyZWluIGlzCisKKwkJQ29weXJpZ2h0IChDKSAxOTk5LTIwMDEKKwkJS2V5c3BhbiwgQSBkaXZpc2lvbiBvZiBJbm5vU3lzIEluY29ycG9yYXRlZCAoIktleXNwYW4iKQorCisJYXMgYW4gdW5wdWJsaXNoZWQgd29yay4gVGhpcyBub3RpY2UgZG9lcyBub3QgaW1wbHkgdW5yZXN0cmljdGVkIG9yCisJcHVibGljIGFjY2VzcyB0byB0aGUgc291cmNlIGNvZGUgZnJvbSB3aGljaCB0aGlzIGZpcm13YXJlIGltYWdlIGlzCisJZGVyaXZlZC4gIEV4Y2VwdCBhcyBub3RlZCBiZWxvdyB0aGlzIGZpcm13YXJlIGltYWdlIG1heSBub3QgYmUKKwlyZXByb2R1Y2VkLCB1c2VkLCBzb2xkIG9yIHRyYW5zZmVycmVkIHRvIGFueSB0aGlyZCBwYXJ0eSB3aXRob3V0CisJS2V5c3BhbidzIHByaW9yIHdyaXR0ZW4gY29uc2VudC4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisKKwlQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkIGZvciB0aGUgZGlzdHJpYnV0aW9uIG9mIHRoaXMgZmlybXdhcmUKKwlpbWFnZSBhcyBwYXJ0IG9mIGEgTGludXggb3Igb3RoZXIgT3BlbiBTb3VyY2Ugb3BlcmF0aW5nIHN5c3RlbSBrZXJuZWwKKwlpbiB0ZXh0IG9yIGJpbmFyeSBmb3JtIGFzIHJlcXVpcmVkLgorCisJVGhpcyBmaXJtd2FyZSBtYXkgbm90IGJlIG1vZGlmaWVkIGFuZCBtYXkgb25seSBiZSB1c2VkIHdpdGgKKwlLZXlzcGFuIGhhcmR3YXJlLiAgRGlzdHJpYnV0aW9uIGFuZC9vciBNb2RpZmljYXRpb24gb2YgdGhlCisJa2V5c3Bhbi5jIGRyaXZlciB3aGljaCBpbmNsdWRlcyB0aGlzIGZpcm13YXJlLCBpbiB3aG9sZSBvciBpbgorCXBhcnQsIHJlcXVpcmVzIHRoZSBpbmNsdXNpb24gb2YgdGhpcyBzdGF0ZW1lbnQuIgpkaWZmIC0tZ2l0IGEvZmlybXdhcmUva2V5c3Bhbi91c2EyOHhiLkhFWCBiL2Zpcm13YXJlL2tleXNwYW4vdXNhMjh4Yi5IRVgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDdjYjcwOAotLS0gL2Rldi9udWxsCisrKyBiL2Zpcm13YXJlL2tleXNwYW4vdXNhMjh4Yi5IRVgKQEAgLTAsMCArMSwxNDIgQEAKKzowMzAwMzMwMDAyMDAyRDlCCis6MDQwMDJEMDA1M0Q4RUYzMjgzCis6MTAwMDQ2MDAzMDA5MTgxMjEzMzNFRkMzOTUzQzQwMDMwMjAwRDg5MEQxCis6MTAwMDU2MDA3RkJGNzQwMUYwQzIwOUMyMDA4MDc3MzAwMzNCOTA3RkY2Cis6MTAwMDY2MDBDNkUwMjBFMTZEMTIxMzMzRUZDMzk0NDA1MDY0OTA3RUQ2Cis6MTAwMDc2MDA0MEUwMTM5MjA5OTA3RkM3RTAxNEY1MTkyMDAwMTE2MDQzCis6MTAwMDg2MDAwRkY1MDg3RTdFN0Y0MTc1MEM3RTc1MEQ0MTEyMENDQ0Y2Cis6MTAwMDk2MDBDMjAzRTQ5MDdGQzdGMDgwMzk5MDdGQzhFMDIwRTEzMjQ4Cis6MTAwMEE2MDAxMjEzMzNFRkMzOTQ0MDUwMjk5MDdEQzBFMDEzOTIwOTk4Cis6MTAwMEI2MDA5MDdGQzlFMDE0RjUxOTIwMDAxMTYwMEZGNTA4N0U3REM4Cis6MTAwMEM2MDA3RkMxNzUwQzdENzUwREMxMTIwQ0NDRDIwM0U0OTA3RkY3Cis6MTAwMEQ2MDBDOUYwOTA3RkI2RTAzMEUxMDMwMjAxNjAxMjExRjU4RjlFCis6MTAwMEU2MDAxOTEyMTMzRjhGMzZFNTE5QzM5NTNBNTAwRjEyMTMxQjk5Cis6MTAwMEY2MDBFRjMwRTAwOEU1MzYyMEU3MDMzMDBCNUVDMjBCRTUxOTZBCis6MEMwMDM2MDA5MDdGOTg3NDEwRjA5MEMwMDBFMEZGMjI1MgorOjAzMDA0MzAwMDIxMzAwQTUKKzoxMDAwMDMwMEMwRTBDMDgzQzA4MkMwODVDMDg0QzA4Njc1ODYwMDkwNkUKKzoxMDAwMTMwMDdGQzRFNEYwNTM5MUVGOTA3RkFCNzQwNEYwRDA4NkQwQUIKKzowQTAwMjMwMDg0RDA4NUQwODJEMDgzRDBFMDMyNzMKKzowMzAwMDAwMDAyMEUxMkRCCis6NDAwMTA2MDA2MDU4QjQ4MDAzNDMzNjAyRTUzNjMwRTcyNkU1MTlEMzk0MjA0MDAzNzUxOTIwODUxOTA4N0U3RTdGODA3NTBDN0U3NTBEODBBRjM2MTIwRjVERTUxOTI1RTA5MDdGQjdGMDgwMjdFNTE5RDM5NDNGNDAwMzc1MTkzRjg1MTkwOEMyCis6NDAwMTQ2MDA5MDdFODBFNTM2RjA3RTdFN0Y4MTc1MEM3RTc1MEQ4MTEyMENGMUU1MTkwNDkwN0ZCN0YwOTA3RkNFRTAzMEUxMDYyMDA1MDMwMjAzQzFFNEY1MTg3NDQwMjUxOEY1ODJFNDM0N0NGNTgzRTBGRkU1MTg3QzAwN0IwMTdBN0U3OUFGCis6NDAwMTg2MDAwMDI0MDBGOUVDMzQ3RUZBRUYxMjBFRTQwNTE4RTUxOEI0MjBENzkwN0UwMEUwNjA2ODkwN0UwM0UwNjAyNDdGMDFFNEZEMTIxMUQwN0YwMzdEQ0QxMjExRDA0MzQ2ODA5MDdGOTg3NDE0RjA5MEMwMDBFNTQ2RjBFNDkwN0UxM0Y2Cis6NDAwMUM2MDBGMDgwMzA5MDdFMDFFMEZGMTIxMDU0OTA3RTAyRTBGRjEyMTA3QTdGMDE5MDdFMTFFMEZEMTIxMUQwN0YwMzdEMDcxMjExRDA0MzQ2ODA5MDdGOTg3NDE0RjA5MEMwMDBFNTQ2RjA5MDdGOTg3NDEyRjBFNTQwNDQwNjkwQzAwMDkzCis6NDAwMjA2MDBGMDkwN0UwM0UwNzAwNjkwN0UxM0UwNzAwOEU0OTA3RTEzRjA3NTI1RkY5MDdFMDVFMDYwMTJBM0UwNTQzRkY1NDQ5MDdGOTg3NDEzRjA5MEMwMDBFNTQ0RjA5MDdFMDdFMDYwMkJBM0UwNjAwNTQzNDI4MDgwMDM1MzQyN0Y1M0M4Cis6NDAwMjQ2MDA0MkZDOTA3RTA5RTA2MDExNDM0MjAyQTNFMEZGMTIxMEM2OTA3RTBCRTBGRjEyMTBFQ0FGNDIxMjEwQTA5MDdFMDNFMDYwMDg1MzQyN0ZBRjQyMTIxMEEwOTA3RTBDRTA2MDE4QTNFMDYwMDU0MzQ2MDI4MDAzNTM0NkZEOTA3RkZCCis6NDAwMjg2MDA5ODc0MTRGMDkwQzAwMEU1NDZGMDkwN0UwRUUwNjAxOEEzRTA2MDA1NDM0NjAxODAwMzUzNDZGRTkwN0Y5ODc0MTRGMDkwQzAwMEU1NDZGMDkwN0UxMkUwRjUzQUEzRTAxMzkyMERBM0UwRjUzQ0EzRTA2MDA1NDM0NjEwODAwMzE3Cis6NDAwMkM2MDA1MzQ2RUY5MDdGOTg3NDE0RjA5MEMwMDBFNTQ2RjA5MDdFMTZFMDYwMzI1MzQ0QkY5MDdGOTg3NDEzRjBFNTQ0NTQ3RjkwQzAwMEYwOTA3Rjk4NzQxMUYwMTIxMzBGRUY1NEZFOTBDMDAwRjA1MzNFRkRFNEZGQUQzRTEyMTFEMDgwCis6NDAwMzA2MDBFNEY1MkFGNTI5RDIwNzkwN0UxN0UwNjAwRjQzM0UwMkU0RkZBRDNFMTIxMUQwNzUyOTAxRDIwNzkwN0UxOEUwNjAxMDkwN0Y5ODc0MTJGMEU1NDA0NDA0OTBDMDAwRjBEMjAwOTA3RTE5RTA2MDExNDM0NDQwOTA3Rjk4NzQxMzBFCis6NDAwMzQ2MDBGMEU1NDQ1NDdGOTBDMDAwRjA5MDdFMUFFMDYwMEY1MzNFRkVFNEZGQUQzRTEyMTFEMDc1MkIwMUQyMDc5MDdFMUJFMDYwMEY0MzNFMDFFNEZGQUQzRTEyMTFEMEU0RjUyQkQyMDc5MDdFMUNFMDYwMEU5MDdGOTg3NDEyRjBFNUY4Cis6NDAwMzg2MDA0MDQ0MDI5MEMwMDBGMDkwN0UxREUwNjAwMkQyMEI5MDdFMUVFMDYwMDg3NTJDMDFFNEY1MzhEMjA3OTA3RTFGRTA2MDExOTA3RkQ3NzQxMUYwNzQzMUYwNzQxNUYwNzQzNUYwRDIwM0MyMDVFNDkwN0ZDRkYwMzAxQTU0RTUzODlFCis6NDAwM0M2MDA2MDAyMTUzODIwMTM0QkU1MTNEMzk0MDA0MDA0MTUxMzgwNDA3NTEzMEEzMDFCMDJEMjEzMTIxMzBGRUY1NDAxRjUxOTY1MkE2MDA1ODUxOTJBRDIwNzEyMTM0QkVGNTQ4MDY0ODBGNTE5NjUyNjYwMDU4NTE5MjZEMjA3MzAwRDcxCis6NDAwNDA2MDAxMTEyMTM0QkVGNTQxMEY1MTk2NTI1NjAwNTg1MTkyNUQyMDcyMDFCMDMwMjA3RjAzMDBBMTgxMjEzODdFRkMzOTUzRDQwMDMwMjA0QjA5MDdGQzE3NDAxRjBDMjBBQzIwMDgwNzczMDA0M0I5MDdGQ0FFMDIwRTE2RDEyMTM4NzlCCis6NDAwNDQ2MDBFRkMzOTQ0MDUwNjQ5MDdENDBFMDEzOTIwQTkwN0ZDQkUwMTRGNTE5MjAwMDExNjAwRkY1MDg3RTdEN0Y0MTc1MEM3RDc1MEQ0MTEyMEQxNkMyMDRFNDkwN0ZDQkYwODAzOTkwN0ZDQ0UwMjBFMTMyMTIxMzg3RUZDMzk0NDA1MDk5Cis6NDAwNDg2MDAyOTkwN0NDMEUwMTM5MjBBOTA3RkNERTAxNEY1MTkyMDAwMTE2MDBGRjUwODdFN0M3RkMxNzUwQzdDNzUwREMxMTIwRDE2RDIwNEU0OTA3RkNERjA5MDdGQkFFMDMwRTEwMzAyMDUzODEyMTIzRjhGMTkxMjEzOTM4RjM3RTUxOTdGCis6NDAwNEM2MDBDMzk1M0I1MDBGMTIxMzZGRUYzMEUwMDhFNTM3MjBFNzAzMzAwQzVFQzIwQ0U1MTk2MDU4QjQ4MDAzNDMzNzAyRTUzNzMwRTcyNkU1MTlEMzk0MjA0MDAzNzUxOTIwODUxOTA4N0U3RDdGODA3NTBDN0Q3NTBEODBBRjM3MTIwRkZDCis6NDAwNTA2MDA5NkU1MTkyNUUwOTA3RkJCRjA4MDI3RTUxOUQzOTQzRjQwMDM3NTE5M0Y4NTE5MDg5MDdEODBFNTM3RjA3RTdEN0Y4MTc1MEM3RDc1MEQ4MTEyMEQzQkU1MTkwNDkwN0ZCQkYwOTA3RkQwRTAzMEUxMDYyMDA2MDMwMjA3OTlFNDMxCis6NDAwNTQ2MDBGNTE4NzRDMDI1MThGNTgyRTQzNDdCRjU4M0UwRkZFNTE4N0MwMDdCMDE3QTdFNzkyMDI0MjBGOUVDMzQ3RUZBRUYxMjBFRTQwNTE4RTUxOEI0MjBENzkwN0UyMEUwNjA2ODkwN0UyM0UwNjAyNDdGMDFFNEZEMTIxMjFBN0YwM0Y3Cis6NDAwNTg2MDA3RENEMTIxMjFBNDM0NzgwOTA3Rjk4NzQwQ0YwOTBDMDAwRTU0N0YwRTQ5MDdFMzNGMDgwMzA5MDdFMjFFMEZGMTIxMTM4OTA3RTIyRTBGRjEyMTE1RTdGMDE5MDdFMzFFMEZEMTIxMjFBN0YwMzdEMDcxMjEyMUE0MzQ3ODA5MEFBCis6NDAwNUM2MDA3Rjk4NzQwQ0YwOTBDMDAwRTU0N0YwOTA3Rjk4NzQwQUYwRTU0MTQ0MDY5MEMwMDBGMDkwN0UyM0UwNzAwNjkwN0UzM0UwNzAwOEU0OTA3RTMzRjA3NTJFRkY5MDdFMjVFMDYwMTJBM0UwNTQzRkY1NDU5MDdGOTg3NDBCRjA5MEVCCis6NDAwNjA2MDBDMDAwRTU0NUYwOTA3RTI3RTA2MDJCQTNFMDYwMDU0MzQzODA4MDAzNTM0MzdGNTM0M0ZDOTA3RTI5RTA2MDExNDM0MzAyQTNFMEZGMTIxMTg0OTA3RTJCRTBGRjEyMTFBQUFGNDMxMjExMTI5MDdFMjNFMDYwMDg1MzQzN0ZBRkEwCis6NDAwNjQ2MDA0MzEyMTExMjkwN0UyQ0UwNjAxOEEzRTA2MDA1NDM0NzAyODAwMzUzNDdGRDkwN0Y5ODc0MENGMDkwQzAwMEU1NDdGMDkwN0UyRUUwNjAxOEEzRTA2MDA1NDM0NzAxODAwMzUzNDdGRTkwN0Y5ODc0MENGMDkwQzAwMEU1NDdGMEI0Cis6NDAwNjg2MDA5MDdFMzJFMEY1M0JBM0UwMTM5MjBFQTNFMEY1M0RBM0UwNjAwNTQzNDcxMDgwMDM1MzQ3RUY5MDdGOTg3NDBDRjA5MEMwMDBFNTQ3RjA5MDdFMzZFMDYwMzI1MzQ1QkY5MDdGOTg3NDBCRjBFNTQ1NTQ3RjkwQzAwMEYwOTA3Rjc5Cis6NDAwNkM2MDA5ODc0MDlGMDEyMTM2M0VGNTRGRTkwQzAwMEYwNTMzRkZERTRGRkFEM0YxMjEyMUFFNEY1MzNGNTMyRDIwODkwN0UzN0UwNjAwRjQzM0YwMkU0RkZBRDNGMTIxMjFBNzUzMjAxRDIwODkwN0UzOEUwNjAxMDkwN0Y5ODc0MEFGMEVCCis6NDAwNzA2MDBFNTQxNDQwNDkwQzAwMEYwRDIwMDkwN0UzOUUwNjAxMTQzNDU0MDkwN0Y5ODc0MEJGMEU1NDU1NDdGOTBDMDAwRjA5MDdFM0FFMDYwMEY1MzNGRkVFNEZGQUQzRjEyMTIxQTc1MzQwMUQyMDg5MDdFM0JFMDYwMEY0MzNGMDFFNEM5Cis6NDAwNzQ2MDBGRkFEM0YxMjEyMUFFNEY1MzREMjA4OTA3RTNDRTA2MDBFOTA3Rjk4NzQwQUYwRTU0MTQ0MDI5MEMwMDBGMDkwN0UzREUwNjAwMkQyMEM5MDdFM0VFMDYwMDg3NTM1MDFFNEY1MzlEMjA4OTA3RTNGRTA2MDExOTA3RkQ3NzQxMzY5Cis6NDAwNzg2MDBGMDc0MzNGMDc0MTZGMDc0MzZGMEQyMDRDMjA2RTQ5MDdGRDFGMDMwMUE1NEU1Mzk2MDAyMTUzOTMwMTM0QkU1MTNEMzk0MDA0MDA0MTUxMzgwNDA3NTEzMEEzMDFCMDJDMjEzMTIxMzYzRUY1NDAxRjUxOTY1MzM2MDA1ODUxOTk4Cis6NDAwN0M2MDAzM0QyMDgxMjEzOUZFRjU0ODA2NDgwRjUxOTY1MkY2MDA1ODUxOTJGRDIwODMwMEUxMTEyMTM5RkVGNTQxMEY1MTk2NTJFNjAwNTg1MTkyRUQyMDgzMDFBMkE5MDdGRDJFMDIwRTEyMzkwN0I0MEUwNjAwOUUwRjUxNTkwN0I0Mjk3Cis6NDAwODA2MDBFMEY1MTY5MDdCNDFFMDYwMDk5MDdGRDc3NDE3RjA3NDM3RjBFNDkwN0ZEM0YwOTA3RkMyRTAzMEUxMDMwMjA5MjRFNTBBNzA0MDMwMDczOUU1Mzg3MDM1QzIwN0Y1MTg3RTAwN0IwMDc0MjQyNTE4RjlFRTM0MDBGQTEyMEU5RTQ0Cis6NDAwODQ2MDBGRjc0ODAyNTE4RjU4MkU0MzQ3QkY1ODNFRkYwMDUxOEU1MThCNDA5REI5MDdGQzM3NDA5RjA3NTM4MTBFNEY1MkM3NTBBMDEyMkU1MEE2NDAxNzA0MDMwMDgzOUU1Mzk3MDM1QzIwOEY1MTg3RTAwN0IwMDc0MkQyNTE4RjlFRUJGCis6NDAwODg2MDAzNDAwRkExMjBFOUVGRjc0ODAyNTE4RjU4MkU0MzQ3QkY1ODNFRkYwMDUxOEU1MThCNDA5REI5MDdGQzM3NDA5RjA3NTM5MTBFNEY1MzU3NTBBMDIyMkU1MEE2NDAyNzAzNjMwMTQyRkMyMTRGNTE4N0UwMDdCMDA3NDBFMjUxODRDCis6NDAwOEM2MDBGOUVFMzQwMEZBMTIwRTlFRkY3NDgwMjUxOEY1ODJFNDM0N0JGNTgzRUZGMDA1MThFNTE4QjQwNURCOTA3RkMzNzQwNUYwNzUwQTAzMjJFNTE1NjAzMDE1MTVFNEY1MTg3RTAwN0IwMDc0MTQyNTE4RjlFRTM0MDBGQTEyMEU5RUNCCis6NDAwOTA2MDBGRjc0ODAyNTE4RjU4MkU0MzQ3QkY1ODNFRkYwMDUxOEU1MThCNDAzREI5MDdGQzM3NDAzRjBFNEY1MEEyMjkwN0ZFOUUwMTIwRUY2MEEwQzAwMEE4MDAxMEFFQzAzMDk0ODA2MDlGRjA4MDlGOTA5MDlFMTBBMDlGMDBCMDAwMDQ0Cis6NDAwOTQ2MDAwQjNCOTA3RkVCRTAyNEZFNjAxOTE0NjA2MTI0MDI2MDAzMDIwOUQ3NzQxOTkwN0ZENEYwNzQwMDkwN0ZENUYwMDIwQjQyOTA3RkVBRTA3MDA0N0YwMjgwMDI3RjAzNzU4MjgyNzU4MzE5RUZGMDc1ODI3Qjc1ODMxOUYwNzU4MkRBCis6NDAwOTg2MDA3NDc1ODMxOUYwNzU4MjY2NzU4MzE5RjA3NTgyNTg3NTgzMTlGMDkwN0ZFQUUwMDQ3NTgyMTc3NTgzMTlGMDc0MTk5MDdGRDRGMDc0MTI5MDdGRDVGMDAyMEI0MjkwN0ZFQUUwRkYxMjBGMUNFQTQ5NjAwREVBOTA3RkQ0RjBFOUJFCis6NDAwOUM2MDA5MDdGRDVGMDAyMEI0MjkwN0ZCNEUwNDQwMUYwMDIwQjQyOTA3RkI0RTA0NDAxRjAwMjBCNDI5MDdGMDBFNTA5RjA5MDdGQjU3NDAxRjAwMjBCNDI5MDdGRUFFMEY1MDkwMjBCNDIxMjBCNEEwMjBCNDI5MDdGMDA3NDAxRjA5MDNCCis6NDAwQTA2MDA3RkI1RjAwMjBCNDI5MDdGRThFMDI0N0Y2MDI0MTQ2MDMxMjQwMjcwNUJBMjEwRTQzM0ZGMjVFMEZGQTIxNkU0MzM0RjkwN0YwMEYwRTRBM0YwOTA3RkI1NzQwMkYwMDIwQjQyRTQ5MDdGMDBGMEEzRjA5MDdGQjU3NDAyRjAwMjJFCis6NDAwQTQ2MDAwQjQyOTA3RkVDRTBGNDU0ODBGRkM0NTQwRkZGRTA1NDA3MkYyNUUwMjRCNEY1ODJFNDM0N0ZGNTgzRTA1NEZEOTA3RjAwRjBFNEEzRjA5MDdGQjU3NDAyRjAwMjBCNDI5MDdGQjRFMDQ0MDFGMDAyMEI0MjkwN0ZFOEUwMjRGRTRFCis6NDAwQTg2MDA2MDFEMjQwMjYwMDMwMjBCNDI5MDdGRUFFMEI0MDEwNUMyMTAwMjBCNDI5MDdGQjRFMDQ0MDFGMDAyMEI0MjkwN0ZFQUUwNzAzODkwN0ZFQ0UwRjQ1NDgwRkZDNDU0MEZGRkUwNTQwNzJGMjVFMDI0QjRGNTgyRTQzNDdGRjU4M0VBCis6NDAwQUM2MDBFNEYwOTA3RkVDRTA1NDgwRkYxMzEzMTM1NDFGRkZFMDU0MDcyRjkwN0ZEN0YwRTA0NDIwRjA4MDVGOTA3RkI0RTA0NDAxRjA4MDU2OTA3RkU4RTAyNEZFNjAxODI0MDI3MDRBOTA3RkVBRTBCNDAxMDREMjEwODAzRjkwN0ZCNDdCCis6NDAwQjA2MDBFMDQ0MDFGMDgwMzY5MDdGRUFFMDcwMjA5MDdGRUNFMEY0NTQ4MEZGQzQ1NDBGRkZFMDU0MDcyRjI1RTAyNEI0RjU4MkU0MzQ3RkY1ODM3NDAxRjA4MDEwOTA3RkI0RTA0NDAxRjA4MDA3OTA3RkI0RTA0NDAxRjA5MDdGQjRFMDE3Cis6NDAwQjQ2MDA0NDAyRjAyMkU0OTA3RjkzRjA5MDdGOUM3NDMwRjBFNDkwN0Y5NkYwOTA3Rjk1NzRDMEYwOTA3RjlFNzQzRkYwOTA3Rjk4NzQxOEYwRTRGNThFOTA3RkRGNzRGRkYwOTA3RkRFRjBFNEY1MjQ3NTE4MDE3QjAwNzQyNDI1MThGOTQ1Cis6NDAwQjg2MDBFNDM0MDBGQUU0MTIwRUU0MDUxOEU1MThCNDA5RUE3NTNBMDFFNEY1MzhGNTEzRjUzNkMyMDdDMjBCQzIwNUMyMDBDMjA5QzIxMzkwN0Y5ODc0MTNGMDc1NDQwMzkwQzAwMDc0MDNGMDdGMENFNEZEMTIxMUQwN0YxMDhGNDIxMjVGCis6NDAwQkM2MDAxMEEwOTA3Rjk4NzQxMkYwN0YwMThGNDBFRjQ0MDY5MEMwMDBGMDkwN0Y5ODc0MTRGMDc1NDY4MDkwQzAwMDc0ODBGMDBGRTRGRDEyMTFEMEU0RkY3RUEzQUQwNjhEM0UxMjExRDA5MDdGOTg3NDExRjA5MEMwMDBFNEYwN0YwNUIwCis6NDAwQzA2MDA3RDdGMTIxMUQwN0YwMTEyMTI4OTdGMDM3RDA3MTIxMUQwN0YxMzdEMDkxMjExRDAyMDFCMDMwMjBDQzk3NTJEMDE3NTE4MDE3QjAwNzQyRDI1MThGOUU0MzQwMEZBRTQxMjBFRTQwNTE4RTUxOEI0MDlFQTc1M0IwMUU0RjUzOTc4Cis6NDAwQzQ2MDBGNTEzRjUzN0MyMDhDMjBDQzIwNkMyMDBDMjBBQzIxMzkwN0Y5ODc0MEJGMDc1NDUwMzkwQzAwMDc0MDNGMDdGMENFNEZEMTIxMjFBN0YxMDhGNDMxMjExMTI5MDdGOTg3NDBBRjA3RjAxOEY0MUVGNDQwNjkwQzAwMEYwOTA3RkMwCis6NDAwQzg2MDA5ODc0MENGMDc1NDc4MDkwQzAwMDc0ODBGMDBGRTRGRDEyMTIxQUU0RkY3RUEzQUQwNjhEM0YxMjEyMUE5MDdGOTg3NDA5RjA5MEMwMDBFNEYwN0YwNTdEN0YxMjEyMUE3RjAxMTIxMkFBN0YwMzdEMDcxMjEyMUE3RjEzN0QwOTI3Cis6NDAwQ0M2MDAxMjEyMUFEMjEyMjI5MDdGOTg3NDEwRjBBRjA4RTUwREY1ODJFNTBDRjU4M0MyQUYwNTg2OTBDMDAwMDU4NkUwQTMwNTg2RjAwNTg2REZGN0QyQUYyMjkwN0Y5ODc0MTBGMEFGMDhFNTBERjU4MkU1MENGNTgzQzJBRjA1ODY5MEZECis6NDAwRDA2MDBDMDAwRTAwNTg2RjBBMzA1ODZERkY3MDU4NkQyQUYyMjkwN0Y5ODc0MDhGMEFGMDhFNTBERjU4MkU1MENGNTgzQzJBRjA1ODY5MEMwMDAwNTg2RTBBMzA1ODZGMDA1ODZERkY3RDJBRjIyOTA3Rjk4NzQwOEYwQUYwOEU1MERGNTNBCis6NDAwRDQ2MDA4MkU1MENGNTgzQzJBRjA1ODY5MEMwMDBFMDA1ODZGMEEzMDU4NkRGRjcwNTg2RDJBRjIyNzQwMEY1ODY5MEZEQTU3QzA1QTNFNTgyNDU4MzcwRjkyMjkwN0ZENkUwNDQ4MEYwNDM4NzAxMDAwMDAwMDAwMDIyRDIxOTkwN0Y5MkI4Cis6NDAwRDg2MDBFMDQ0MDJGMDkwN0ZBRUUwRkZEMzkyMTBFNDMzRkVFRjRFRjBEMkU4NDNEODIwOTA3RkRFNzQwMUYwOTA3RkRGRjA5MDdGQUI3NEZGRjA5MDdGQTlGMDkwN0ZBQUYwNTM5MUVGOTA3RkFGRTA0NDAxRjA5MDdGQUVFMDQ0MERGMEFECis6NDAwREM2MDBEMkFGRDIxQTEyMTI2NEMyMTFFNEY1MEJGNTEzQzIxN0MyMTI5MDdGQTEwNEYwOTA3RkQ4RTA2NTE3NjAxMDMwMTIwNUQyMUExMjAwNDY5MDdGRDhFMEY1MTc4MDA4MzAxMjA1QzIxQTEyMDA0NjMwMTEwN0MyMTExMjA5MjU4MEY5Cis6NDAwRTA2MDBENjMwMThEM0MyMTgxMjEzQUI4MENDMjI3ODdGRTRGNkQ4RkQ3NTgxNDcwMjBFNTkwMjBEODFFNDkzQTNGOEU0OTNBMzQwMDNGNjgwMDFGMjA4REZGNDgwMjlFNDkzQTNGODU0MDcyNDBDQzhDMzMzQzQ1NDBGNDQyMEM4ODM0MEZBCis6NDAwRTQ2MDAwNEY0NTY4MDAxNDZGNkRGRTQ4MDBCMDEwMjA0MDgxMDIwNDA4MDkwMTJDQkU0N0UwMTkzNjBCQ0EzRkY1NDNGMzBFNTA5NTQxRkZFRTQ5M0EzNjAwMTBFQ0Y1NEMwMjVFMDYwQTg0MEI4RTQ5M0EzRkFFNDkzQTNGOEU0OTNBMzIwCis6NDAwRTg2MDBDOEM1ODJDOENBQzU4M0NBRjBBM0M4QzU4MkM4Q0FDNTgzQ0FERkU5REVFNzgwQkVCQjAxMDY4OTgyOEE4M0UwMjI1MDAyRTcyMkJCRkUwMkUzMjI4OTgyOEE4M0U0OTMyMkJCMDEwQ0U1ODIyOUY1ODJFNTgzM0FGNTgzRTAyMkQ1Cis6NDAwRUM2MDA1MDA2RTkyNTgyRjhFNjIyQkJGRTA2RTkyNTgyRjhFMjIyRTU4MjI5RjU4MkU1ODMzQUY1ODNFNDkzMjJCQjAxMDY4OTgyOEE4M0YwMjI1MDAyRjcyMkJCRkUwMUYzMjJEMDgzRDA4MkY4RTQ5MzcwMTI3NDAxOTM3MDBEQTNBMzdBCis6NDAwRjA2MDA5M0Y4NzQwMTkzRjU4Mjg4ODNFNDczNzQwMjkzNjg2MEVGQTNBM0EzODBERjhGMThFNEY1MTk3NTFBRkY3NTFCMTk3NTFDODZBQjFBQUExQkE5MUM5MDAwMDExMjBFQjdCNDAzMURBRjE5MDUxOUVGQjUxODAxMjIxMjBFOUU3RUM0Cis6NDAwRjQ2MDAwMDI5RkZFRTNBQTkwNzc1MUFGRkY1MUI4OTFDODBENDdCMDA3QTAwNzkwMDIyOEYxQTA1MERFNTBEQUUwQzcwMDIwNTBDMTRGNTgyOEU4M0U1MUFGMDEyMDAzNjA1MERFNTBEQUMwQzcwMDIwNTBDMTRGNTgyOEM4M0VGRjAxNUJBCis6NDAwRjg2MDAwOEU1MDg2MDBBMTIxMzNGOEYxQUVGNDIzNjgwQ0EyMjhGMUEwNTBERTUwREFFMEM3MDAyMDUwQzE0RjU4MjhFODNFNTFBRjAxMjEzNTcwNTBERTUwREFDMEM3MDAyMDUwQzE0RjU4MjhDODNFRkYwMTUwOEU1MDg2MDBBMTIxM0FBCis6NDAwRkM2MDA5MzhGMUFFRjQyMzc4MENBMjJFNDkwN0Y5M0YwOTA3RjlDNzQzMEYwRTQ5MDdGOTZGMDkwN0Y5NUYwOTA3RjlFNzQyN0YwOTA3Rjk4NzQyMEYwOTA3RjlFNzQwN0YwRTQ5MDdGOTRGMDkwN0Y5RDc0RkZGMEU0OTA3Rjk3RjAyMjdDCis6NDAxMDA2MDBDMEUwQzA4M0MwODJDMDg1QzA4NEMwODY3NTg2MDBEMjExNTM5MUVGOTA3RkFCNzQwMUYwRDA4NkQwODREMDg1RDA4MkQwODNEMEUwMzJDMEUwQzA4M0MwODJDMDg1QzA4NEMwODY3NTg2MDBEMjE4NTM5MUVGOTA3RkFCNzQwODdFCis6NDAxMDQ2MDBGMEQwODZEMDg0RDA4NUQwODJEMDgzRDBFMDMyOTA3Rjk4NzQxM0YwOTBDMDAwNzRCRkYwOTA3Rjk4NzQxMEYwOTBDMDAwRUZGMDkwN0Y5ODc0MTNGMEU1NDQ1NDdGOTBDMDAwRjAyMjkwN0Y5ODc0MTNGMDkwQzAwMDc0QkZGMDBDCis6NDAxMDg2MDA5MDdGOTg3NDExRjA5MEMwMDBFRkYwOTA3Rjk4NzQxM0YwRTU0NDU0N0Y5MEMwMDBGMDIyOTA3Rjk4NzQxM0YwOTBDMDAwNzRCRkYwOTA3Rjk4NzQxMkYwOTBDMDAwRUZGMDkwN0Y5ODc0MTNGMEU1NDQ1NDdGOTBDMDAwRjAyMjBBCis6NDAxMEM2MDA5MDdGOTg3NDEzRjA5MEMwMDA3NEJGRjA5MDdGOTg3NDE0RjA5MEMwMDBFRkYwOTA3Rjk4NzQxM0YwRTU0NDU0N0Y5MEMwMDBGMDIyOTA3Rjk4NzQxM0YwOTBDMDAwNzRCRkYwOTA3Rjk4NzQxNkYwOTBDMDAwRUZGMDkwN0Y5ODA3Cis6NDAxMTA2MDA3NDEzRjBFNTQ0NTQ3RjkwQzAwMEYwMjI5MDdGOTg3NDBCRjA5MEMwMDA3NEJGRjA5MDdGOTg3NDBBRjA5MEMwMDBFRkYwOTA3Rjk4NzQwQkYwRTU0NTU0N0Y5MEMwMDBGMDIyOTA3Rjk4NzQwQkYwOTBDMDAwNzRCRkYwOTA3RkZBCis6NDAxMTQ2MDA5ODc0MDhGMDkwQzAwMEVGRjA5MDdGOTg3NDBCRjBFNTQ1NTQ3RjkwQzAwMEYwMjI5MDdGOTg3NDBCRjA5MEMwMDA3NEJGRjA5MDdGOTg3NDA5RjA5MEMwMDBFRkYwOTA3Rjk4NzQwQkYwRTU0NTU0N0Y5MEMwMDBGMDIyOTA3RjcxCis6NDAxMTg2MDA5ODc0MEJGMDkwQzAwMDc0QkZGMDkwN0Y5ODc0MENGMDkwQzAwMEVGRjA5MDdGOTg3NDBCRjBFNTQ1NTQ3RjkwQzAwMEYwMjI5MDdGOTg3NDBCRjA5MEMwMDA3NEJGRjA5MDdGOTg3NDBFRjA5MEMwMDBFRkYwOTA3Rjk4NzQwQkZECis6NDAxMUM2MDBGMEU1NDU1NDdGOTBDMDAwRjAyMjkwN0Y5ODc0MTNGMEU1NDQ1NDdGOTBDMDAwRjA5MDdGOTg3NDE3RjA5MEMwMDBFRkYwOTA3Rjk4NzQxNUYwOTBDMDAwRURGMDIyMTIxMzI3OEYxQTEyMTMyNzhGMUJFNTFBNjUxQjYwMTIxMjkyCis6NDAxMjA2MDAxMzI3OEYxQUU1MUE2NTFCNjAwNzEyMTMyNzhGMUI4MEU4QUYxQTIyOTA3Rjk4NzQwQkYwRTU0NTU0N0Y5MEMwMDBGMDkwN0Y5ODc0MEZGMDkwQzAwMEVGRjA5MDdGOTg3NDBERjA5MEMwMDBFREYwMjIxMjEzN0I4RjFBMTIxMzI1Cis6NDAxMjQ2MDA3QjhGMUJFNTFBNjUxQjYwMTIxMjEzN0I4RjFBRTUxQTY1MUI2MDA3MTIxMzdCOEYxQjgwRThBRjFBMjI5MDdGRDZFMDU0RkJGMEUwNDQwOEYwMzAxQTA0RTA0NDAyRjA3RkY0N0UwMTEyMTJFNzkwN0ZENkUwNTRGN0YwRTA0NEUxCis6NDAxMjg2MDAwNEYwMjJBRTA3RTRGRkU1M0U1NDdGRkQxMjExRDA5MDdGOTg3NDExRjA5MEMwMDBFRUYwRTRFNTNFNDQ4MEZEMTIxMUQwMjJBRTA3RTRGRkU1M0Y1NDdGRkQxMjEyMUE5MDdGOTg3NDA5RjA5MEMwMDBFRUYwRTRFNTNGNDQ4MDk1Cis6NDAxMkM2MDBGRDEyMTIxQTIyMDUwRTAyMDAwMDAwMDAwMzE0MDMwMDAwQzExMUMxMThDMTk1QzExMEMxMTYwMTBBMDBDMTlCMDA4RTE4OEYxOUU1MTkxNTE5QUUxODcwMDIxNTE4NEU2MDA1MTIwRDYwODBFRTIyMDAwMDAyMTAwNjAwMDIxMzdFCis6NDAxMzA2MDAwNDAwMDIwMDAzMDAwMjEwMkQ5MDdGOTg3NDExRjA5MEMwMDBFMEZGMjI5MDdGOTg3NDEyRjA5MEMwMDBFMEZGMjI5MDdGOTg3NDEzRjA5MEMwMDBFMEZGMjI5MDdGOTg3NDE0RjA5MEMwMDBFMEZGMjI5MDdGOTg3NDE1RjA5MEY1Cis6NDAxMzQ2MDBDMDAwRTBGRjIyOTA3Rjk4NzQxNkYwOTBDMDAwRTBGRjIyOTA3Rjk4NzQwOEYwOTBDMDAwRTBGRjIyOTA3Rjk4NzQwOUYwOTBDMDAwRTBGRjIyOTA3Rjk4NzQwQUYwOTBDMDAwRTBGRjIyOTA3Rjk4NzQwQkYwOTBDMDAwRTBGRkMwCis6NDAxMzg2MDAyMjkwN0Y5ODc0MENGMDkwQzAwMEUwRkYyMjkwN0Y5ODc0MERGMDkwQzAwMEUwRkYyMjkwN0Y5ODc0MEVGMDkwQzAwMEUwRkYyMjEyMEZDRjEyMEQ3MTEyMEI0QTIyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEMxCis6NDAxM0M2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU3Cis6NDAxNDA2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEE2Cis6NDAxNDQ2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDY2Cis6NDAxNDg2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI2Cis6NDAxNEM2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU2Cis6NDAxNTA2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEE1Cis6NDAxNTQ2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDY1Cis6NDAxNTg2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI1Cis6NDAxNUM2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU1Cis6NDAxNjA2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEE0Cis6NDAxNjQ2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDY0Cis6NDAxNjg2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI0Cis6NDAxNkM2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU0Cis6NDAxNzA2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEEzCis6NDAxNzQ2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYzCis6NDAxNzg2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIzCis6NDAxN0M2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEUzCis6NDAxODA2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEEyCis6NDAxODQ2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYyCis6NDAxODg2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIyCis6NDAxOEM2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEyMDExMDAxRkYwMEJGCis6NDAxOTA2MDAwMDQwQ0QwNjEwMDEwMDAwMDEwMjAwMDIwOTAyNzQwMDAxMDEwMEEwMzIwOTA0MDAwMDBFRkYwMDAwMDAwNzA1MDEwMjQwMDAwMDA3MDUwMjAyNDAwMDAwMDcwNTAzMDI0MDAwMDAwNzA1MDQwMjQwMDAwMDA3MDUwNTAyNDAwMDc2Cis6NDAxOTQ2MDAwMDA3MDUwNjAyNDAwMDAwMDcwNTA3MDI0MDAwMDAwNzA1ODEwMjQwMDAwMTA3MDU4MjAyNDAwMDAwMDcwNTgzMDI0MDAwMDEwNzA1ODQwMjQwMDAwMTA3MDU4NTAyNDAwMDAxMDcwNTg2MDI0MDAwMDEwNzA1ODcwMjQwMDAwMUY0Cis6NDAxOTg2MDAwNDAzMDkwNDQ4MDM0QjAwNjUwMDc5MDA3MzAwNzAwMDYxMDA2RTAwMkMwMDIwMDA2MTAwMjAwMDY0MDA2OTAwNzYwMDY5MDA3MzAwNjkwMDZGMDA2RTAwMjAwMDZGMDA2NjAwMjAwMDQ5MDA2RTAwNkUwMDZGMDA1MzAwNzkwMDQwCis6NDAxOUM2MDA3MzAwMjAwMDQ5MDA2RTAwNjMwMDJFMDAzNjAzNEIwMDY1MDA3OTAwNzMwMDcwMDA2MTAwNkUwMDIwMDA1NTAwNTMwMDQyMDAyMDAwNTMwMDY1MDA3MjAwNjkwMDYxMDA2QzAwMjAwMDQxMDA2NDAwNjEwMDcwMDA3NDAwNjUwMEY5Cis6MDQxQTA2MDA3MjAwMDAwMDZBCis6MDAwMDAwMDFGRgorCisJVGhlIGZpcm13YXJlIGNvbnRhaW5lZCBoZXJlaW4gaXMKKworCQlDb3B5cmlnaHQgKEMpIDE5OTktMjAwMQorCQlLZXlzcGFuLCBBIGRpdmlzaW9uIG9mIElubm9TeXMgSW5jb3Jwb3JhdGVkICgiS2V5c3BhbiIpCisKKwlhcyBhbiB1bnB1Ymxpc2hlZCB3b3JrLiBUaGlzIG5vdGljZSBkb2VzIG5vdCBpbXBseSB1bnJlc3RyaWN0ZWQgb3IKKwlwdWJsaWMgYWNjZXNzIHRvIHRoZSBzb3VyY2UgY29kZSBmcm9tIHdoaWNoIHRoaXMgZmlybXdhcmUgaW1hZ2UgaXMKKwlkZXJpdmVkLiAgRXhjZXB0IGFzIG5vdGVkIGJlbG93IHRoaXMgZmlybXdhcmUgaW1hZ2UgbWF5IG5vdCBiZQorCXJlcHJvZHVjZWQsIHVzZWQsIHNvbGQgb3IgdHJhbnNmZXJyZWQgdG8gYW55IHRoaXJkIHBhcnR5IHdpdGhvdXQKKwlLZXlzcGFuJ3MgcHJpb3Igd3JpdHRlbiBjb25zZW50LiAgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKworCVBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQgZm9yIHRoZSBkaXN0cmlidXRpb24gb2YgdGhpcyBmaXJtd2FyZQorCWltYWdlIGFzIHBhcnQgb2YgYSBMaW51eCBvciBvdGhlciBPcGVuIFNvdXJjZSBvcGVyYXRpbmcgc3lzdGVtIGtlcm5lbAorCWluIHRleHQgb3IgYmluYXJ5IGZvcm0gYXMgcmVxdWlyZWQuCisKKwlUaGlzIGZpcm13YXJlIG1heSBub3QgYmUgbW9kaWZpZWQgYW5kIG1heSBvbmx5IGJlIHVzZWQgd2l0aAorCUtleXNwYW4gaGFyZHdhcmUuICBEaXN0cmlidXRpb24gYW5kL29yIE1vZGlmaWNhdGlvbiBvZiB0aGUKKwlrZXlzcGFuLmMgZHJpdmVyIHdoaWNoIGluY2x1ZGVzIHRoaXMgZmlybXdhcmUsIGluIHdob2xlIG9yIGluCisJcGFydCwgcmVxdWlyZXMgdGhlIGluY2x1c2lvbiBvZiB0aGlzIHN0YXRlbWVudC4iCmRpZmYgLS1naXQgYS9maXJtd2FyZS9rZXlzcGFuL3VzYTQ5dy5IRVggYi9maXJtd2FyZS9rZXlzcGFuL3VzYTQ5dy5IRVgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWU1YjNkMQotLS0gL2Rldi9udWxsCisrKyBiL2Zpcm13YXJlL2tleXNwYW4vdXNhNDl3LkhFWApAQCAtMCwwICsxLDE0NSBAQAorOjAzMDAzMzAwMDIxOEZCQjUKKzowQzAwMzYwMDkwNzg0MTc0MDFGMDkwQzAwMEUwRkYyMkJGCis6MTAwMDQ2MDBFNEZGNzQ0MDJGRjU4MkU0MzQ3QkY1ODNFMEZFRTUxNThBCis6MTAwMDU2MDAyNDA0RkRFNDM1MTRGQUE5MDU3QjAxRUY3QzAwMjlGOTk3Cis6MTAwMDY2MDBFQzNBRkFFRTEyMTFGMTBGQkYyMkQ3RTUxNTI0MDVGNTg5Cis6MTAwMDc2MDA4MkU0MzUxNEY1ODNFMDcwMDMwMjAxMzRFNTE1MjQwOUEyCis6MTAwMDg2MDBGNTgyRTQzNTE0RjU4M0UwNzAwRUU1MTUyNDBBRjU4MjUxCis6MTAwMDk2MDBFNDM1MTRGNTgzRTA2MDE4N0YwMUU0RkQxMjE2NDdFNUE4Cis6MTAwMEE2MDAxNTI0MzFGNTgyRTQzNTE0RjU4M0UwNTRDRkYwODA0MTEwCis6MTAwMEI2MDBFNTE1MjQwNkY1ODJFNDM1MTRGNTgzRTBGRjEyMTY3NjdECis6MTAwMEM2MDBFNTE1MjQwN0Y1ODJFNDM1MTRGNTgzRTBGRjEyMDAwM0Y1Cis6MTAwMEQ2MDA3RjAxRTUxNTI0MDhGNTgyRTQzNTE0RjU4M0UwRkQxMjY5Cis6MTAwMEU2MDAxNjQ3RTUxNTI0MzFGNTgyRTQzNTE0RjU4M0UwNDQzMEVFCis6MTAwMEY2MDBGMEU1MTUyNDM5RjU4MkU0MzUxNEY1ODNFMDQ0ODBGMDAzCis6MTAwMDAzMDA5MDc4NDE3NDAzRjA5MEMwMDA3NEJGRjA5MDc4NDE3NDBECis6MTAwMDEzMDAwMUYwOTBDMDAwRUZGMDkwNzg0MTc0MDNGMEU1MTUyNEVGCis6MTAwMDIzMDAzN0Y1ODJFNDM1MTRGNTgzRTA1NDdGOTBDMDAwRjAyMjY1Cis6MDMwMDQzMDAwMjFCMDA5RAorOjAzMDAwMDAwMDIxMDk1NTYKKzo0MDAxMDYwMDkwNzg0MTc0MDRGMEU1MTUyNDM5RjU4MkU0MzUxNEY1ODNFMDkwQzAwMEYwOTA3ODQxNzQwMkYwRTUxNTI0MzZGNTgyRTQzNTE0RjU4M0UwNDQwNjkwQzAwMEYwRTUxNTI0MEJGNTgyRTQzNTE0RjU4M0UwNjAzMkU1MTUyNDBDMEIKKzo0MDAxNDYwMEY1ODJFNDM1MTRGNTgzRTA1NDNGRkZFNTE1MjQzN0Y1ODJFNDM1MTRGNTgzRUZGMDkwNzg0MTc0MDNGMEU1MTUyNDM3RjU4MkU0MzUxNEY1ODNFMDkwQzAwMEYwRTUxNTI0MERGNTgyRTQzNTE0RjU4M0UwNzAwMzAyMDI0RkU1ODgKKzo0MDAxODYwMDE1MjQxN0Y1ODJFNDM1MTRGNTgzRTA2MDExRTUxNTI0MzJGNTgyRTQzNTE0RjU4M0UwNDQwNEYwODAwRkU1MTUyNDMyRjU4MkU0MzUxNEY1ODNFMDU0RkJGMEU0RkZFNTE1MjQzMkY1ODJFNDM1MTRGNTgzRTBGRDEyMTY0N0U1NUUKKzo0MDAxQzYwMDE1MjQwRUY1ODJFNDM1MTRGNTgzRTA2MDExRTUxNTI0MzNGNTgyRTQzNTE0RjU4M0UwNDQ4MEYwODAwRkU1MTUyNDMzRjU4MkU0MzUxNEY1ODNFMDU0N0ZGMEU1MTUyNDMzRjU4MkU0MzUxNEY1ODNFMDU0RkNGMEU1MTUyNDBGRUIKKzo0MDAyMDYwMEY1ODJFNDM1MTRGNTgzRTA2MDJGRTUxNTI0MzNGNTgyRTQzNTE0RjU4M0UwNDQwMkYwRTUxNTI0MTBGNTgyRTQzNTE0RjU4M0UwRkYxMjE1RTdFNTE1MjQxMUY1ODJFNDM1MTRGNTgzRTBGRjEyMTYxN0U1MTUyNDMzRjU4MkU0NUUKKzo0MDAyNDYwMDM1MTRGNTgzRTBGRjEyMTVCN0U1MTUyNDE0RjU4MkU0MzUxNEY1ODNFMDYwNDRFNTE1MjQxNUY1ODJFNDM1MTRGNTgzRTA2MDExRTUxNTI0MzlGNTgyRTQzNTE0RjU4M0UwNDQwMUYwODAwRkU1MTUyNDM5RjU4MkU0MzUxNEY1ODEKKzo0MDAyODYwMDgzRTA1NEZFRjA5MDc4NDE3NDA0RjBFNTE1MjQzOUY1ODJFNDM1MTRGNTgzRTA5MEMwMDBGMEU1MTUyNDEyRjU4MkU0MzUxNEY1ODNFMDYwNDRFNTE1MjQxM0Y1ODJFNDM1MTRGNTgzRTA2MDExRTUxNTI0MzlGNTgyRTQzNTE0RTYKKzo0MDAyQzYwMEY1ODNFMDQ0MDJGMDgwMEZFNTE1MjQzOUY1ODJFNDM1MTRGNTgzRTA1NEZERjA5MDc4NDE3NDA0RjBFNTE1MjQzOUY1ODJFNDM1MTRGNTgzRTA5MEMwMDBGMEU1MTUyNDE2RjU4MkU0MzUxNEY1ODNFMEZGRTUxNTI0MzVGNTgyMEEKKzo0MDAzMDYwMEU0MzUxNEY1ODNFRkYwRTUxNTI0MTdGNTgyRTQzNTE0RjU4M0UwMzBFMDExRTUxNTI0MzFGNTgyRTQzNTE0RjU4M0UwNDQ0MEYwODAwRkU1MTUyNDMxRjU4MkU0MzUxNEY1ODNFMDU0QkZGMEU1MTUyNDE4RjU4MkU0MzUxNEY1NzYKKzo0MDAzNDYwMDgzRTBGRkU1MTUyNDNCRjU4MkU0MzUxNEY1ODNFRkYwRTUxNTI0MTlGNTgyRTQzNTE0RjU4M0UwNjAxMUU1MTUyNDM5RjU4MkU0MzUxNEY1ODNFMDQ0MTBGMDgwMEZFNTE1MjQzOUY1ODJFNDM1MTRGNTgzRTA1NEVGRjA5MDc4NjkKKzo0MDAzODYwMDQxNzQwNEYwRTUxNTI0MzlGNTgyRTQzNTE0RjU4M0UwOTBDMDAwRjBFNTE1MjQxQUY1ODJFNDM1MTRGNTgzRTA2MDZCRTUxNTI0MzdGNTgyRTQzNTE0RjU4M0UwNTRCRkYwOTA3ODQxNzQwM0YwRTUxNTI0MzdGNTgyRTQzNTE0RkYKKzo0MDAzQzYwMEY1ODNFMDU0N0Y5MEMwMDBGMDkwNzg0MTc0MDFGMDEyMDAzNkVGNTRGRTkwQzAwMEYwRTUxNTI0MzJGNTgyRTQzNTE0RjU4M0UwNTRGREZGRjBGREU0RkYxMjE2NDdFNTE1MjQyQ0Y1ODJFNDM1MTRGNTgzRTRGMEU1MTUyNDJCQjcKKzo0MDA0MDYwMEY1ODJFNDM1MTRGNTgzRTRGMEU1MTY0MjEzRTUxNTI0MUJGNTgyRTQzNTE0RjU4M0UwNzAwRUU1MTUyNDI1RjU4MkU0MzUxNEY1ODNFMDYwMjhFNTE1MjQzMkY1ODJFNDM1MTRGNTgzRTA0NDAyRkZGMEZERTRGRjEyMTY0N0U1NDcKKzo0MDA0NDYwMDE1MjQyQkY1ODJFNDM1MTRGNTgzNzQwMUYwRTUxNjQyMTNFNTE1MjQxQ0Y1ODJFNDM1MTRGNTgzRTBGRjcwMEVFNTE1MjQyNUY1ODJFNDM1MTRGNTgzRTA2MDJBOTA3ODQxNzQwMkYwRTUxNTI0MzZGNTgyRTQzNTE0RjU4M0UwQzYKKzo0MDA0ODYwMDQ0MDQ5MEMwMDBGMEVGNjAwRkU1MTUyNDMxRjU4MkU0MzUxNEY1ODNFMDQ0MDRGMEU1MTUyNDFERjU4MkU0MzUxNEY1ODNFMDYwMjdFNTE1MjQzN0Y1ODJFNDM1MTRGNTgzRTA0NDQwRjA5MDc4NDE3NDAzRjBFNTE1MjQzN0Y1NTAKKzo0MDA0QzYwMDgyRTQzNTE0RjU4M0UwNTQ3RjkwQzAwMEYwRTUxNTI0MUVGNTgyRTQzNTE0RjU4M0UwNjAyOEU1MTUyNDMyRjU4MkU0MzUxNEY1ODNFMDU0RkVGRkYwRkRFNEZGMTIxNjQ3RTUxNTI0MkRGNTgyRTQzNTE0RjU4Mzc0MDFGMEU1OEYKKzo0MDA1MDYwMDE2NDIxM0U1MTUyNDFGRjU4MkU0MzUxNEY1ODNFMDcwMEVFNTE1MjQyNUY1ODJFNDM1MTRGNTgzRTA2MDI3RTUxNTI0MzJGNTgyRTQzNTE0RjU4M0UwNDQwMUZGRjBGREU0RkYxMjE2NDdFNTE1MjQyREY1ODJFNDM1MTRGNTgzOTcKKzo0MDA1NDYwMEU0RjBFNTE2NDIxM0U1MTUyNDIwRjU4MkU0MzUxNEY1ODNFMDcwMEVFNTE1MjQyNUY1ODJFNDM1MTRGNTgzRTA2MDE4OTA3ODQxNzQwMkYwRTUxNTI0MzZGNTgyRTQzNTE0RjU4M0UwNDQwMjkwQzAwMEYwRTUxNTI0MjFGNTgyQTcKKzo0MDA1ODYwMEU0MzUxNEY1ODNFMDYwMEZFNTE1MjQzMUY1ODJFNDM1MTRGNTgzRTA0NDAyRjBFNTE1MjQyMkY1ODJFNDM1MTRGNTgzRTA2MDFGRTUxNTI0MkVGNTgyRTQzNTE0RjU4Mzc0MDFGMEU1MTUyNDNBRjU4MkU0MzUxNEY1ODNFNEYwRjAKKzo0MDA1QzYwMEU1MTY0MjEzRTUxNTI0MjNGNTgyRTQzNTE0RjU4M0UwNjAwMzEyMTg4NUU1MTUyNDI0RjU4MkU0MzUxNEY1ODNFMDYwMUJFNTE1MjQzMUY1ODJFNDM1MTRGNTgzRTA0NDA4RjA5MDdGOThFMEZGRTUxNkY0RkVFRjVFRjBFNTE1NkMKKzo0MDA2MDYwMDI0MjVGNTgyRTQzNTE0RjU4M0UwNjAxNkU1MTUyNDMxRjU4MkU0MzUxNEY1ODNFMDU0RjdGMDkwN0Y5OEUwNDUxNkYwMjI5MDdGRTlFMDEyMTIwMzA3ODMwMDA3RjcwMTA4NjMwMzA2NEMwNjA3NzQwODA3NjgwOTA3NTAwQTA3Q0UKKzo0MDA2NDYwMDVGMEIwMDAwMDhCMjkwN0ZFQkUwMjRGRTYwMUMxNDcwMDMwMjA2RkUyNDAyNjAwMzAyMDc0Njc0MTk5MDdGRDRGMDc0MDA5MDdGRDVGMDAyMDhCOTkwN0ZFQUUwMDQ3NTgyMTc3NTgzMTlGMDkwN0ZFQUUwMzBFMDA0N0YwMzgwMkQKKzo0MDA2ODYwMDAyN0YwMjc1ODI4Mjc1ODMxOUVGRjA3NTgyNkQ3NTgzMTlGMDc1ODI2Njc1ODMxOUYwNzU4MjVGNzU4MzE5RjA3NTgyNTg3NTgzMTlGMDkwN0ZFQUUwMzBFMTA0N0Y2NDgwMDI3RjMyNzU4MjFBNzU4MzE5RUZGMDkwN0ZFRkUwRkIKKzo0MDA2QzYwMEZFOTA3RkVFRTA3QzAwMjQwMEY1MTlFQzNFRjUxODc1MzMxOTc1MzQxMjc1ODIxNDc1ODMxOUUwNzUyNzAwRjUyOEQzRTUyODk1MTlFNTI3OTUxODQwMDY4NTE4Mjc4NTE5MjgxMjEzMTIwMjA4Qjk5MDdGRUFFMEZGMTIxNDJCQzkKKzo0MDA3MDYwMEVBNDk2MDMyOTA3RkVFRTA3NTE4MDBGNTE5QUUwMkFGMDE4RTMzOEYzNDhGODI4RTgzRTBGRUEzRTA4RTI3RjUyOEQzOTUxOUU1Mjc5NTE4NDAwNjg1MTgyNzg1MTkyODEyMTMxMjAyMDhCOTkwN0ZCNEUwNDQwMUYwMDIwOEI5OUUKKzo0MDA3NDYwMDkwN0ZCNEUwNDQwMUYwMDIwOEI5OTA3RjAwRTUyNUYwOTA3RkI1NzQwMUYwMDIwOEI5OTA3RkVBRTBGNTI1MDIwOEI5OTA3RkVBRTBGNTIyMTIwQUI4MDIwOEI5OTA3RjAwRTUyMkYwOTA3RkI1NzQwMUYwMDIwOEI5OTA3RkU4QkQKKzo0MDA3ODYwMEUwMjQ3RjYwMjQxNDYwMzEyNDAyNzA1QkEyMDBFNDMzRkYyNUUwRkZBMjA2RTQzMzRGOTA3RjAwRjBFNEEzRjA5MDdGQjU3NDAyRjAwMjA4QjlFNDkwN0YwMEYwQTNGMDkwN0ZCNTc0MDJGMDAyMDhCOTkwN0ZFQ0UwRjQ1NDgwNjMKKzo0MDA3QzYwMEZGQzQ1NDBGRkZFMDU0MDcyRjI1RTAyNEI0RjU4MkU0MzQ3RkY1ODNFMDU0RkQ5MDdGMDBGMEU0QTNGMDkwN0ZCNTc0MDJGMDAyMDhCOTkwN0ZCNEUwNDQwMUYwMDIwOEI5OTA3RkU4RTAyNEZFNjAxRDI0MDI2MDAzMDIwOEI5MTAKKzo0MDA4MDYwMDkwN0ZFQUUwQjQwMTA1QzIwMDAyMDhCOTkwN0ZCNEUwNDQwMUYwMDIwOEI5OTA3RkVBRTA3MDM4OTA3RkVDRTBGNDU0ODBGRkM0NTQwRkZGRTA1NDA3MkYyNUUwMjRCNEY1ODJFNDM0N0ZGNTgzRTRGMDkwN0ZFQ0UwNTQ4MEZGNjcKKzo0MDA4NDYwMDEzMTMxMzU0MUZGRkUwNTQwNzJGOTA3RkQ3RjBFMDQ0MjBGMDgwNUY5MDdGQjRFMDQ0MDFGMDgwNTY5MDdGRThFMDI0RkU2MDE4MjQwMjcwNEE5MDdGRUFFMEI0MDEwNEQyMDA4MDNGOTA3RkI0RTA0NDAxRjA4MDM2OTA3RkVBQ0IKKzo0MDA4ODYwMEUwNzAyMDkwN0ZFQ0UwRjQ1NDgwRkZDNDU0MEZGRkUwNTQwNzJGMjVFMDI0QjRGNTgyRTQzNDdGRjU4Mzc0MDFGMDgwMTA5MDdGQjRFMDQ0MDFGMDgwMDc5MDdGQjRFMDQ0MDFGMDkwN0ZCNEUwNDQwMkYwMjJFNTExNTQwRjcwM0QKKzo0MDA4QzYwMDAzMDIwOUIyMTIxNkE1RUYyMEUxNzUxMjE3MDNFRjE0RjUxOTEyMThDQ0VGMjUxOUZGRTQzM0ZFQzNFRjk0ODBFRTY0ODA5NDgwNTA1OTg1MTU4Mjg1MTQ4M0UwRkVBM0UwRkZGNTgyOEU4M0UwMzBFMDExRTUxNTI0MzFGNTgyNTAKKzo0MDA5MDYwMEU0MzUxNEY1ODNFMDQ0ODBGMDgwMEZFNTE1MjQzMUY1ODJFNDM1MTRGNTgzRTA1NDdGRjBFNTE1MjQzMUY1ODJFNDM1MTRGNTgzRTAyMEUyMTJFNTE5NjAwRUY1MjNFRjI0MDFGNTJERTQzRUY1MkMxMjE0QURFNEZGMTIxNEUzQzAKKzo0MDA5NDYwMEU1MTUyNDMxRjU4MkU0MzUxNEY1ODNFMDMwRTc1RDEyMThDQ0U1MTUyNDNCRjU4MkU0MzUxNEY1ODNFMEZFRUZDMzlFNTA0OEU1MTUyNDJGRjU4MkU0MzUxNEY1ODM3NDAxRjBFNTE1MjQzMUY1ODJFNDM1MTRGNTgzRTA1NDdCOTkKKzo0MDA5ODYwMEYwRTUxNTI0M0FGNTgyRTQzNTE0RjU4M0U0RjBFNTE2NDIxMzkwN0ZDMkUwMzBFMTEwRTUxNTI0MjZGNTgyRTQzNTE0RjU4M0UwRjUyNDgwMDMxMjEyQTExMjE2RDRFRjMwRTEwMzAyMEFCNzEyMTdEMjhGMTkxMjE4RDhFNTE1RDUKKzo0MDA5QzYwMDI0MzhGNTgyRTQzNTE0RjU4M0VGRjBFNTE1MjQzNUY1ODJFNDM1MTRGNTgzRTBGRkU1MTlDMzlGNTAyODEyMThCNEVGMzBFMDIxRTUxNTI0MzhGNTgyRTQzNTE0RjU4M0UwMjBFNzEyRTUxNTI0MzFGNTgyRTQzNTE0RjU4M0UwQzAKKzo0MDBBMDYwMDIwRTEwMzAyMEFCN0U1MTUyNDMxRjU4MkU0MzUxNEY1ODNFMDU0RkRGMEU1MTk3MDAzMDIwQUI3QjQ4MDBGRTUxNTI0MzhGNTgyRTQzNTE0RjU4M0UwNDQwMkYwRTUxNTI0MzhGNTgyRTQzNTE0RjU4M0UwRkYzMEU3MjlFNTE5Q0YKKzo0MDBBNDYwMEQzOTQyMDQwMDM3NTE5MjA4NTE5MjM4NTE1ODI4NTE0ODNBM0EzRTBGQ0EzRTA4QzJDRjUyRDEyMTNEREU1MTkyNUUwRkYxMjE1MTkyMkU1MTlEMzk0M0Y0MDAzNzUxOTNGODUxOTIzRTUxNTI0MzhGNTgyRTQzNTE0RjU4M0UwNTMKKzo0MDBBODYwMEZGODUxNTgyODUxNDgzQTNBM0UwRkNBM0UwRjU4MjhDODNFRkYwODUxNTgyODUxNDgzQTNBM0UwRkVBM0UwMjQwMUY1MkRFNDNFRjUyQzEyMTQ2Q0U1MTkwNEZGMTIxNTE5MjJFNDkwN0Y5M0YwOTA3RjlDNzRGMEYwOTA3Rjk2NzcKKzo0MDBBQzYwMEYwRTQ5MDdGOTRGMDkwNzg0QTA0RjBGNThFOTA3Rjk1NzRDMEYwOTA3RjlFNzQzRkYwOTA3Rjk4NzQxRkYwOTA3ODQzNzRGRkYwRTQ5MDc4NDFGMDkwN0ZERjc0OUZGMDkwN0ZERUYwOTA3RjkyRTA0NDAyRjA3RTdCN0ZDMDc1ODEKKzo0MDBCMDYwMDE0N0I3NTE1QzA5MDdGOTY3NEVGRjA3NTE2MDExMjBGMTI3RTdCN0ZDMDc1MTQ3Qjc1MTVDMDkwN0Y5Njc0RUZGMDc1MTYwMUU1MTUyNDI2RjU4MkU0MzUxNEY1ODNFNEYwN0U3RTdGNDA4NTE1ODI4NTE0ODM3NDdFRjBBMzc0RjUKKzo0MDBCNDYwMDQwRjA3RTdFN0Y4MDg1MTU4Mjg1MTQ4M0EzQTM3NDdFRjBBMzc0ODBGMDdFN0M3RjAwNzUxNDdDNzUxNTAwOTA3Rjk2NzRERkYwNzUxNjAyMTIwRjEyN0U3QzdGMDA3NTE0N0M3NTE1MDA5MDdGOTY3NERGRjA3NTE2MDJFNTE1MzYKKzo0MDBCODYwMDI0MjZGNTgyRTQzNTE0RjU4Mzc0MDFGMDdFN0Q3RkMwODUxNTgyODUxNDgzNzQ3REYwQTM3NEMwRjA3RTdFN0YwMDg1MTU4Mjg1MTQ4M0EzQTM3NDdFRjBBMzc0MDBGMDdFN0M3RjQwNzUxNDdDNzUxNTQwOTA3Rjk2NzRCRkYwMTgKKzo0MDBCQzYwMDc1MTYwNDEyMEYxMjdFN0M3RjQwNzUxNDdDNzUxNTQwOTA3Rjk2NzRCRkYwNzUxNjA0RTUxNTI0MjZGNTgyRTQzNTE0RjU4Mzc0MDJGMDdFN0Q3RjQwODUxNTgyODUxNDgzNzQ3REYwQTM3NDQwRjA3RTdEN0Y4MDg1MTU4Mjg1RDMKKzo0MDBDMDYwMDE0ODNBM0EzNzQ3REYwQTM3NDgwRjA3RTdDN0Y4MDc1MTQ3Qzc1MTU4MDkwN0Y5Njc0N0ZGMDc1MTYwODEyMEYxMjdFN0M3RjgwNzUxNDdDNzUxNTgwOTA3Rjk2NzQ3RkYwNzUxNjA4RTUxNTI0MjZGNTgyRTQzNTE0RjU4Mzc0MUMKKzo0MDBDNDYwMDAzRjA3RTdDN0ZDMDg1MTU4Mjg1MTQ4Mzc0N0NGMEEzNzRDMEYwN0U3RDdGMDA4NTE1ODI4NTE0ODNBM0EzNzQ3REYwQTM3NDAwRjBDMjBBQzIwOUQyMDIyMkU1MTAwNDU0MDNGNTEwMTQ2MDFGMTQ2MDMxMTQ2MDQzMjQwMzcwMUIKKzo0MDBDODYwMDUyN0U3QjdGQzA3NTE0N0I3NTE1QzA5MDdGOTY3NEVGRjA3NTE2MDE4MDNEN0U3QzdGMDA3NTE0N0M3NTE1MDA5MDdGOTY3NERGRjA3NTE2MDI4MDI4N0U3QzdGNDA3NTE0N0M3NTE1NDA5MDdGOTY3NEJGRjA3NTE2MDQ4MDEzN0UKKzo0MDBDQzYwMDdFN0M3RjgwNzUxNDdDNzUxNTgwOTA3Rjk2NzQ3RkYwNzUxNjA4RTUzMjU1MTY3MDAzMDIwRTExRTUxNkY0RkY1MjMyRTUyNjU0N0ZGRTcwMEZFNTJBNTUxNjYwMjQ5MDdGOThFMDQ1MTZGMDgwMUJCRTIwMThFNTE1MjQzMUY1NDMKKzo0MDBEMDYwMDgyRTQzNTE0RjU4M0UwMzBFMzA5RTRGNTJBOTA3Rjk4RTA1RkYwRTUxNTI0M0FGNTgyRTQzNTE0RjU4M0UwNjAwM0UwMTRGMEU1MTUyNDM0RjU4MkU0MzUxNEY1ODNFMDYwMDNFMDE0RjBFMDYwMDMwMjBFMTE3NDBBRjAxMjAwOUQKKzo0MDBENDYwMDM2RUY1NDAxRkZGNTE5RTUxNTI0MkNGNTgyRTQzNTE0RjU4M0UwNkY2MDA3RTUxOUYwRTUxNjQyMTMxMjE4RTQ4RjE5RTUxNTI0MjdGNTgyRTQzNTE0RjU4M0UwRkZFNTE5NTQxMEZFNkY2MDA2RUVGMEU1MTY0MjEzRTUxNTI0MTUKKzo0MDBEODYwMDI4RjU4MkU0MzUxNEY1ODNFMEZGRTUxOTU0ODBGRTZGNjAwNkVFRjBFNTE2NDIxM0U1MTUyNDI5RjU4MkU0MzUxNEY1ODNFMEZGRTUxOTU0MjBGRTZGNjAxNUVFRjBFNTE1MjQzMUY1ODJFNDM1MTRGNTgzRTAzMEU0MDRFNTE2NjUKKzo0MDBEQzYwMDQyMTNFNTEyNTUxNkZGRjUxOUU1MTUyNDJBRjU4MkU0MzUxNEY1ODNFMDZGNjAxNkU1MTlGMEU1MTUyNDMxRjU4MkU0MzUxNEY1ODNFMDMwRTUwNEU1MTY0MjEzRTUxNzU1MTZGRkY1MTlFNTE1MjQzMEY1ODJFNDM1MTRGNTgzODAKKzo0MDBFMDYwMEUwNkY2MDA3RTUxOUYwRTUxNjQyMTMyMjMwMDkwMzAyMEYxMUU1MjQxNDYwMkExNDYwNDExNDYwNTgxNDYwNkYyNDA0NjAwMzAyMEVDRjdFN0I3RkMwNzUxNDdCNzUxNUMwOTA3Rjk2NzRFRkYwNzUxNjAxMTIxMkExNzUyNDAxNUEKKzo0MDBFNDYwMDIyN0U3QzdGMDA3NTE0N0M3NTE1MDA5MDdGOTY3NERGRjA3NTE2MDIxMjEyQTE3NTI0MDIyMjdFN0M3RjQwNzUxNDdDNzUxNTQwOTA3Rjk2NzRCRkYwNzUxNjA0MTIxMkExNzUyNDAzMjI3RTdDN0Y4MDc1MTQ3Qzc1MTU4MDkwNTEKKzo0MDBFODYwMDdGOTY3NDdGRjA3NTE2MDgxMjEyQTE3NTI0MDQyMjMwMDQzM0MyMDQ1MzEzREZFNEY1MTk3RTAwN0IwMDc0MkUyNTE5RjlFRTM0MDBGQTEyMTFBQkZGNzQ4MDI1MTlGNTgyRTQzNDdCRjU4M0VGRjAwNTE5RTUxOUI0MDNEQjkwMkQKKzo0MDBFQzYwMDdGQzM3NDAzRjA3NTI0MDUyMkU1MzY2MDNCRDUzNjBBNTMxM0VGMzAwQTA0RDIwOUMyMEFFNEY1MTk3RTAwN0IwMDc0MzUyNTE5RjlFRTM0MDBGQTEyMTFBQkZGNzQ4MDI1MTlGNTgyRTQzNDdCRjU4M0VGRjAwNTE5RTUxOUI0NjcKKzo0MDBGMDYwMDAzREI5MDdGQzM3NDAzRjBFNEY1MjQyMkU0RjUxQTdFMDA3QjAxRTUxNTI1MUFGOUVFMzUxNEZBRTQxMjExRjEwNTFBRTUxQUI0M0NFOEU1MTUyNDM1RjU4MkU0MzUxNEY1ODM3NDAxRjA5MDc4NDE3NDAzRjBFNTE1MjQzN0Y1NjkKKzo0MDBGNDYwMDgyRTQzNTE0RjU4Mzc0MDNGMDkwQzAwMEYwN0YwQ0U0RkQxMjE2NDc3RjEwRTUxNTI0MzNGNTgyRTQzNTE0RjU4M0VGRjAxMjE1Qjc5MDc4NDE3NDAyRjA3RjAxRTUxNTI0MzZGNTgyRTQzNTE0RjU4M0VGRjA0NDA2OTBDMDAwRjEKKzo0MDBGODYwMEYwOTA3ODQxNzQwNEYwRTUxNTI0MzlGNTgyRTQzNTE0RjU4Mzc0ODBGMDkwQzAwMEYwMEZFNEZEMTIxNjQ3RTRGRjdFQTNFNTE1MjQzMkY1ODJFNDM1MTRGNTgzRUVGMEZEMTIxNjQ3OTA3ODQxNzQwMUYwOTBDMDAwRTRGMDdGODkKKzo0MDBGQzYwMDA1N0Q3RjEyMTY0NzdGMDExMjE1NEY3RjAzN0QwNzEyMTY0NzIyNTMxMzNGOTA3QkYxRTAzMEUzMTY3RTdCN0ZDMDc1MTQ3Qjc1MTVDMDkwN0Y5Njc0RUZGMDc1MTYwMTEyMDhDMTkwN0MzMUUwMzBFMzE2N0U3QzdGMDA3NTE0MTcKKzo0MDEwMDYwMDdDNzUxNTAwOTA3Rjk2NzRERkYwNzUxNjAyMTIwOEMxOTA3QzcxRTAzMEUzMTY3RTdDN0Y0MDc1MTQ3Qzc1MTU0MDkwN0Y5Njc0QkZGMDc1MTYwNDEyMDhDMTkwN0NCMUUwMzBFMzE2N0U3QzdGODA3NTE0N0M3NTE1ODA5MDdGMzcKKzo0MDEwNDYwMDk2NzQ3RkYwNzUxNjA4MTIwOEMxMDUxMUU1MTE1NDBGRjUxODcwMUY5MDc4NDFFMDU0RjdGMDkwN0Y5OUUwRjUxNzkwNzg0MUUwNDQwOEYwOTA3Rjk5RTBGNEY1MTIxMjExMjEyMkU1MThCNDAxMDQxMjBDNzMyMjkwN0ZDMkUwMTgKKzo0MDEwODYwMDIwRTEwOEU1MTM2MDA0MTIwRTEyMjIxMjBDNzMyMjc4N0ZFNEY2RDhGRDc1ODEzNzAyMTBEQzAyMTIyOUU0OTNBM0Y4RTQ5M0EzNDAwM0Y2ODAwMUYyMDhERkY0ODAyOUU0OTNBM0Y4NTQwNzI0MENDOEMzMzNDNDU0MEY0NDIwN0UKKzo0MDEwQzYwMEM4ODM0MDA0RjQ1NjgwMDE0NkY2REZFNDgwMEIwMTAyMDQwODEwMjA0MDgwOTAxODUwRTQ3RTAxOTM2MEJDQTNGRjU0M0YzMEU1MDk1NDFGRkVFNDkzQTM2MDAxMEVDRjU0QzAyNUUwNjBBODQwQjhFNDkzQTNGQUU0OTNBM0Y4QTIKKzo0MDExMDYwMEU0OTNBM0M4QzU4MkM4Q0FDNTgzQ0FGMEEzQzhDNTgyQzhDQUM1ODNDQURGRTlERUU3ODBCRTkwN0ZEMkUwMzBFMTAzMDIxMUFBQzIwOTkwN0I0MEUwMTQ2MDI2MTQ2MDNCMTQ2MDUwMjQ4MzYwNjQyNDgwNzA2MzdFN0I3RkMwMUMKKzo0MDExNDYwMDc1MTQ3Qjc1MTVDMDkwN0Y5Njc0RUZGMDc1MTYwMTEyMDA0NjgwNEI3RTdDN0YwMDc1MTQ3Qzc1MTUwMDkwN0Y5Njc0REZGMDc1MTYwMjEyMDA0NjgwMzM3RTdDN0Y0MDc1MTQ3Qzc1MTU0MDkwN0Y5Njc0QkZGMDc1MTYwNDEyRkIKKzo0MDExODYwMDAwNDY4MDFCN0U3QzdGODA3NTE0N0M3NTE1ODA5MDdGOTY3NDdGRjA3NTE2MDgxMjAwNDY4MDAzMTIxNzVDRTQ5MDdGRDNGMDIyQkIwMTA2ODk4MjhBODNFMDIyNTAwMkU3MjJCQkZFMDJFMzIyODk4MjhBODNFNDkzMjJCQjAxODkKKzo0MDExQzYwMDBDRTU4MjI5RjU4MkU1ODMzQUY1ODNFMDIyNTAwNkU5MjU4MkY4RTYyMkJCRkUwNkU5MjU4MkY4RTIyMkU1ODIyOUY1ODJFNTgzM0FGNTgzRTQ5MzIyQkIwMTA2ODk4MjhBODNGMDIyNTAwMkY3MjJCQkZFMDFGMzIyRDA4M0QwODYKKzo0MDEyMDYwMDgyRjhFNDkzNzAxMjc0MDE5MzcwMERBM0EzOTNGODc0MDE5M0Y1ODI4ODgzRTQ3Mzc0MDI5MzY4NjBFRkEzQTNBMzgwREY5MDdGQUVFMEZGRDM5MjAwRTQzM0ZFRUY0RUYwRDJFODQzRDgyMDkwN0ZERTc0MDFGMDkwN0ZERkYwOEUKKzo0MDEyNDYwMDkwN0ZBQjc0RkZGMDkwN0ZBOUYwOTA3RkFBRjA1MzkxRUY5MDdGQUY3NDAxRjA5MDdGQUU3NDBERjBEMkFGRDIwQjEyMTgxNEMyMDFFNEY1MkJGNTMxQzIwN0MyMDI3NTI5RjA5MDdGRDhFMDY1MjY2MDA2NzUzMjBGRTBGNTI2QzkKKzo0MDEyODYwMDMwMDIwMzEyMEZEOTMwMDEwN0MyMDExMjA2Mjk4MEUyMzAwOERGQzIwODEyMTgzNTgwRDgyMkU1MTM1NTE2NjA2QUU1MTUyNDNBRjU4MkU0MzUxNEY1ODNFMDcwNUNFNTE2RjQ1MjEzRTUxNTI0MjZGRkU0MzUxNEZFRTRGRDBGQTIKKzo0MDEyQzYwMEVGQUEwNjcwMDEwRTE0RjU4MjhBODNFMEZDNzQ4MDJERjU4MkU0MzQ3QkY1ODNFQ0YwMERCRDBCRTI5MDdGQzM3NDBCRjBFNTE1MjQzQUY1ODJFNDM1MTRGNTgzNzQxMEYwRTUxNTI0MkVGNTgyRTQzNTE0RjU4M0U0RjBFNTE1QzEKKzo0MDEzMDYwMDI0MkZGNTgyRTQzNTE0RjU4M0U0RjAyMkU1Mjg0NTI3NjA1N0FFMjdBRjI4RDNFRjk0NDBFRTk0MDA0MDA0N0UwMDdGNDBDM0U1Mjg5RkY1MjhFNTI3OUVGNTI3RTRGREVEQzM5RkU0OUU1MDFGODUzNDgyODUzMzgzRTBGQzc0OTQKKzo0MDEzNDYwMDAwMkRGNTgyRTQzNDdGRjU4M0VDRjAwRDA1MzRFNTM0NzAwMjA1MzM4MERBOTA3RkE5NzQwMUYwOTA3RkFDRTA0NDAxRjA5MDdGQjVFRkYwMjI5MDdGQUNFMDU0RkVGMEU0OTA3RkI1RjAyMkU0OTA3RjkzRjA5MDdGOUM3NEYwQTcKKzo0MDEzODYwMEYwOTA3Rjk2RjBFNDkwNzg0QUYwOTA3Rjk0RjA5MDdGOUQ3NEZGRjBFNDkwN0Y5N0YwMzAwMDA3RTUyOTU0RjBGRjgwMDI3RjAwRUY0NDA4OTA3ODQxRjBFNDkwN0Y5OEYwOTA3Rjk1RjA5MDdGOUU3NEZGRjBFNDkwN0Y5OEYwQzkKKzo0MDEzQzYwMDkwN0Y5M0YwOTA3RjlDNzRGMEYwRTQ5MDdGOTZGMDkwN0Y5MkUwNTRGREYwMjI4RjFBMDUyREU1MkRBRTJDNzAwMjA1MkMxNEY1ODI4RTgzRTUxQUYwMTIxOEYwMDUyREU1MkRBQzJDNzAwMjA1MkMxNEY1ODI4QzgzRUZGMDE1OUQKKzo0MDE0MDYwMDIzRTUyMzYwMUZFNTE1MjQzOEY1ODJFNDM1MTRGNTgzQzA4M0MwODJFMEZFMTIxOEQ4OEYxQUVFNEZEMDgyRDA4M0YwODBCNTIyOEYxQUU0RjUxQjc1MUNGRjc1MUQxOTc1MUU4NkFCMUNBQTFEQTkxRTkwMDAwMTEyMTFDNEI0RTEKKzo0MDE0NDYwMDAzMURBRjFCMDUxQkVGQjUxQTAxMjIxMjExQUI3RTAwMjlGRkVFM0FBOTA3NzUxQ0ZGRjUxRDg5MUU4MEQ0N0IwMDdBMDA3OTAwMjJFNDkwNzg0MUYwOTA3ODRGNzRDMEYwRTQ5MDc4NTBGMEU1MkM5MDc4NTFGMEFFMkNFNTJERjgKKzo0MDE0ODYwMDkwNzg1MkYwOTA3ODU0RTUyM0YwOTA3ODU3NzQwNEYwOTA3RkUyRTA0NDEwRjBFMDU0RjdGMEU0OTA3ODU1RjA5MDc4NTVFMDYwRkEyMkU0OTA3ODQxRjBFNTJDOTA3ODRGRjBBRTJDRTUyRDkwNzg1MEYwOTA3ODUxNzRDMEYwODEKKzo0MDE0QzYwMEU0OTA3ODUyRjA5MDc4NTRFNTIzRjA5MDc4NTc3NDA0RjBFNDkwNzg1NUYwOTA3ODU1RTA2MEZBMjJFNTE1MjQwNEY1ODJFNDM1MTRGNTgzRTAxNDYwMEYxNDYwMTMxNDYwMTc4MDAwOTA3RkM3RUZGMDgwMTM5MDdGQzlFRkYwODEKKzo0MDE1MDYwMDgwMEM5MDdGQ0JFRkYwODAwNTkwN0ZDREVGRjBFNTE2NDIyQTIyRTUxNTI0MDRGNTgyRTQzNTE0RjU4M0UwMTQ2MDBGMTQ2MDEzMTQ2MDE3ODAwMDkwN0ZCN0VGRjA4MDEzOTA3RkI5RUZGMDgwMEM5MDdGQkJFRkYwODAwNTkwM0IKKzo0MDE1NDYwMDdGQkRFRkYwRTUxNjQyMkEyMkFFMDdFNEZGRTUxNTI0MzJGNTgyRTQzNTE0RjU4M0UwNTQ3RkZEMTIxNjQ3OTA3ODQxNzQwMUYwOTBDMDAwRUVGMEU0RTUxNTI0MzJGNTgyRTQzNTE0RjU4M0UwNDQ4MEZEMTIxNjQ3MjJDMEUwQTAKKzo0MDE1ODYwMEMwRjBDMDgzQzA4MkMwODVDMDg0QzA4Njc1ODYwMEMwRDA3NUQwMDg1MzkxRUY5MDdGQTk3NDAxRjAxMjEzMTJEMEQwRDA4NkQwODREMDg1RDA4MkQwODNEMEYwRDBFMDMyOTA3ODQxNzQwM0YwOTBDMDAwNzRCRkYwOTA3ODQxRDAKKzo0MDE1QzYwMDc0MDJGMDkwQzAwMEVGRjA5MDc4NDE3NDAzRjBFNTE1MjQzN0Y1ODJFNDM1MTRGNTgzRTA1NDdGOTBDMDAwRjAyMjkwNzg0MTc0MDNGMDkwQzAwMDc0QkZGMDkwNzg0MTc0MDRGMDkwQzAwMEVGRjA5MDc4NDE3NDAzRjBFNTE1NkQKKzo0MDE2MDYwMDI0MzdGNTgyRTQzNTE0RjU4M0UwNTQ3RjkwQzAwMEYwMjI5MDc4NDE3NDAzRjA5MEMwMDA3NEJGRjA5MDc4NDE3NDA2RjA5MEMwMDBFRkYwOTA3ODQxNzQwM0YwRTUxNTI0MzdGNTgyRTQzNTE0RjU4M0UwNTQ3RjkwQzAwMEYwRkYKKzo0MDE2NDYwMDIyOTA3ODQxNzQwM0YwRTUxNTI0MzdGNTgyRTQzNTE0RjU4M0UwNTQ3RjkwQzAwMEYwOTA3ODQxNzQwN0YwOTBDMDAwRUZGMDkwNzg0MTc0MDVGMDkwQzAwMEVERjAyMjkwNzg0MTc0MDNGMDkwQzAwMDc0QkZGMEU0OTA3ODQxRkEKKzo0MDE2ODYwMEYwOTBDMDAwRUZGMDkwNzg0MTc0MDNGMEU1MTUyNDM3RjU4MkU0MzUxNEY1ODNFMDU0N0Y5MEMwMDBGMDIyRTUxNTI0MDRGNTgyRTQzNTE0RjU4M0UwMTQ2MDBFMTQ2MDExMTQ2MDE0ODAwMDkwN0ZDNkUwRkYyMjkwN0ZDOEUwMTUKKzo0MDE2QzYwMEZGMjI5MDdGQ0FFMEZGMjI5MDdGQ0NFMEZGMjJFNTE1MjQwNEY1ODJFNDM1MTRGNTgzRTAxNDYwMEUxNDYwMTExNDYwMTQ4MDAwOTA3RkI2RTBGRjIyOTA3RkI4RTBGRjIyOTA3RkJBRTBGRjIyOTA3RkJDRTBGRjIyRTUxNTI0OUUKKzo0MDE3MDYwMDA0RjU4MkU0MzUxNEY1ODNFMDE0NjAwRTE0NjAxMTE0NjAxNDgwMDA5MDdGQzdFMEZGMjI5MDdGQzlFMEZGMjI5MDdGQ0JFMEZGMjI5MDdGQ0RFMEZGMjJDMEUwQzA4M0MwODJDMDg1QzA4NEMwODY3NTg2MDA5MDdGQzRFNEYwOTYKKzo0MDE3NDYwMDUzOTFFRjkwN0ZBQjc0MDRGMEQwODZEMDg0RDA4NUQwODJEMDgzRDBFMDMyOTA3QjQxRTBGNTM2NDMxMzEwQTNFMDYwMDk5MDdGRDc3NDE3RjA3NDM3RjA5MDdCNDNFMEY1MzdBM0UwNTRGMEY1MjlFMDYwMDJEMjBBMjJDMEUwMjQKKzo0MDE3ODYwMEMwODNDMDgyQzA4NUMwODRDMDg2NzU4NjAwRDIwMTUzOTFFRjkwN0ZBQjc0MDFGMEQwODZEMDg0RDA4NUQwODJEMDgzRDBFMDMyQzBFMEMwODNDMDgyQzA4NUMwODRDMDg2NzU4NjAwRDIwODUzOTFFRjkwN0ZBQjc0MDhGMEQwRjcKKzo0MDE3QzYwMDg2RDA4NEQwODVEMDgyRDA4M0QwRTAzMjEyMThDMEFFMDcxMjE4QzBBRDA3RUU2RDYwMTAxMjE4QzBBRTA3RUU2RDYwMDcxMjE4QzBBRDA3ODBFQ0FGMDYyMjc0MDBGNTg2OTBGREE1N0MwNUEzRTU4MjQ1ODM3MEY5MjI5MDdGRDUKKzo0MDE4MDYwMEQ2RTA0NDgwRjA0Mzg3MDEwMDAwMDAwMDAwMjI5MDdGRDZFMDQ0MDRGMEUwNDQwOEYwMzAwQjA0RTA0NDAyRjA3RkY0N0UwMTEyMTg2QjkwN0ZENkUwNTRGN0YwMjIxMjEzN0MxMjE4MDQ5MDdGRDZFMDMwRTcwQTdGMDU3RTAwN0QKKzo0MDE4NDYwMDEyMTg2QjEyMTg5RTEyMEFCODIyMDMzNTgwMDAwMDAzMkU4MTAwMDBDMTg1QzE4MUMxMDhDMTAwQzEwNjAxMjIwMDAxMjQwMDAwOEUxODhGMTlFNTE5MTUxOUFFMTg3MDAyMTUxODRFNjAwODEyMTdGMzEyMTdGMzgwRUIyMkU1NDUKKzo0MDE4ODYwMDE1MjQwNEY1ODJFNDM1MTRGNTgzRTAwNEZGNDQxMDkwN0ZEN0YwRUY0NDMwRjAyMjkwN0ZENkUwNDQwMUYwN0YwRDdFMDAxMjE4NkI5MDdGRDZFMDU0RkVGMDIyOTA3ODQxNzQwMkYwOTBDMDAwRTBGRjIyOTA3ODQxNzQwM0YwRDUKKzo0MDE4QzYwMDkwQzAwMEUwRkYyMjkwNzg0MTc0MDRGMDkwQzAwMEUwRkYyMjkwNzg0MTc0MDVGMDkwQzAwMEUwRkYyMjkwNzg0MTc0MDZGMDkwQzAwMEUwRkYyMkU0OTA3ODQxRjA5MEMwMDBFMEZGMjI1M0Q4RUYzMjAwMTIwMTEwMDFGRjAwQUIKKzo0MDE5MDYwMDAwNDBDRDA2MEEwMTAwMDAwMTAyMDAwNDA5MDI3NDAwMDEwMTAwQTAzMjA5MDQwMDAwMEVGRjAwMDAwMDA3MDUwMTAyNDAwMDAwMDcwNTAyMDI0MDAwMDAwNzA1MDMwMjQwMDAwMDA3MDUwNDAyNDAwMDAwMDcwNTA1MDI0MDAwN0EKKzo0MDE5NDYwMDAwMDcwNTA2MDI0MDAwMDAwNzA1MDcwMjQwMDAwMDA3MDU4MTAyNDAwMDAxMDcwNTgyMDI0MDAwMDEwNzA1ODMwMjQwMDAwMTA3MDU4NDAyNDAwMDAxMDcwNTg1MDI0MDAwMDEwNzA1ODYwMjQwMDAwMTA3MDU4NzAyNDAwMDAxRjMKKzo0MDE5ODYwMDA0MDMwOTA0NDgwMzRCMDA2NTAwNzkwMDczMDA3MDAwNjEwMDZFMDAyQzAwMjAwMDYxMDAyMDAwNjQwMDY5MDA3NjAwNjkwMDczMDA2OTAwNkYwMDZFMDAyMDAwNkYwMDY2MDAyMDAwNDkwMDZFMDA2RTAwNkYwMDUzMDA3OTAwNDAKKzo0MDE5QzYwMDczMDAyMDAwNDkwMDZFMDA2MzAwMkUwMDM2MDM1NTAwNTMwMDQyMDAyMDAwMzQwMDJEMDA3MDAwNkYwMDcyMDA3NDAwMjAwMDUzMDA2NTAwNzIwMDY5MDA2MTAwNkMwMDIwMDA0MTAwNjQwMDYxMDA3MDAwNzQwMDY1MDA3MjAwM0MKKzo0MDFBMDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTAKKzo0MDFBNDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjAKKzo0MDFBODYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjAKKzo0MDFBQzYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIxNzg0MDAwMjFCMjYKKzoxNTFCMDYwMDA0MDAwMjE3MzIwMDAyMTdBQjAwMDIxQjEwMDAwMjFCMTQwMDAyMTU4NEJFCis6MDAwMDAwMDFGRgorCisJVGhlIGZpcm13YXJlIGNvbnRhaW5lZCBoZXJlaW4gaXMKKworCQlDb3B5cmlnaHQgKEMpIDE5OTktMjAwMQorCQlLZXlzcGFuLCBBIGRpdmlzaW9uIG9mIElubm9TeXMgSW5jb3Jwb3JhdGVkICgiS2V5c3BhbiIpCisKKwlhcyBhbiB1bnB1Ymxpc2hlZCB3b3JrLiBUaGlzIG5vdGljZSBkb2VzIG5vdCBpbXBseSB1bnJlc3RyaWN0ZWQgb3IKKwlwdWJsaWMgYWNjZXNzIHRvIHRoZSBzb3VyY2UgY29kZSBmcm9tIHdoaWNoIHRoaXMgZmlybXdhcmUgaW1hZ2UgaXMKKwlkZXJpdmVkLiAgRXhjZXB0IGFzIG5vdGVkIGJlbG93IHRoaXMgZmlybXdhcmUgaW1hZ2UgbWF5IG5vdCBiZQorCXJlcHJvZHVjZWQsIHVzZWQsIHNvbGQgb3IgdHJhbnNmZXJyZWQgdG8gYW55IHRoaXJkIHBhcnR5IHdpdGhvdXQKKwlLZXlzcGFuJ3MgcHJpb3Igd3JpdHRlbiBjb25zZW50LiAgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKworCVBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQgZm9yIHRoZSBkaXN0cmlidXRpb24gb2YgdGhpcyBmaXJtd2FyZQorCWltYWdlIGFzIHBhcnQgb2YgYSBMaW51eCBvciBvdGhlciBPcGVuIFNvdXJjZSBvcGVyYXRpbmcgc3lzdGVtIGtlcm5lbAorCWluIHRleHQgb3IgYmluYXJ5IGZvcm0gYXMgcmVxdWlyZWQuCisKKwlUaGlzIGZpcm13YXJlIG1heSBub3QgYmUgbW9kaWZpZWQgYW5kIG1heSBvbmx5IGJlIHVzZWQgd2l0aAorCUtleXNwYW4gaGFyZHdhcmUuICBEaXN0cmlidXRpb24gYW5kL29yIE1vZGlmaWNhdGlvbiBvZiB0aGUKKwlrZXlzcGFuLmMgZHJpdmVyIHdoaWNoIGluY2x1ZGVzIHRoaXMgZmlybXdhcmUsIGluIHdob2xlIG9yIGluCisJcGFydCwgcmVxdWlyZXMgdGhlIGluY2x1c2lvbiBvZiB0aGlzIHN0YXRlbWVudC4iCmRpZmYgLS1naXQgYS9maXJtd2FyZS9rZXlzcGFuL3VzYTQ5d2xjLkhFWCBiL2Zpcm13YXJlL2tleXNwYW4vdXNhNDl3bGMuSEVYCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg0MDZlYjEKLS0tIC9kZXYvbnVsbAorKysgYi9maXJtd2FyZS9rZXlzcGFuL3VzYTQ5d2xjLkhFWApAQCAtMCwwICsxLDE1MyBAQAorOjAxN0Y5MjAwMDFFRAorOjAzMDAzMzAwMDIxOEZCQjUKKzowRDAwMzYwMEU1MTEwNDkwNzg0MUYwOTBDMDAwRTBGRjIyMzkKKzoxMDAwNDYwMEU0RkY3NDQwMkZGNTgyRTQzNDdCRjU4M0UwRkVFNTE1OEEKKzoxMDAwNTYwMDI0MDRGREU0MzUxNEZBQTkwNTdCMDFFRjdDMDAyOUY5OTcKKzoxMDAwNjYwMEVDM0FGQUVFMTIxMUVDMEZCRjIyRDdFNTE1MjQwNUY1OEUKKzoxMDAwNzYwMDgyRTQzNTE0RjU4M0UwNzAwMzAyMDEzNEU1MTUyNDA5QTIKKzoxMDAwODYwMEY1ODJFNDM1MTRGNTgzRTA3MDBFRTUxNTI0MEFGNTgyNTEKKzoxMDAwOTYwMEU0MzUxNEY1ODNFMDYwMTg3RjAxRTRGRDEyMTY2QkU1ODQKKzoxMDAwQTYwMDE1MjQzMUY1ODJFNDM1MTRGNTgzRTA1NENGRjA4MDQxMTAKKzoxMDAwQjYwMEU1MTUyNDA2RjU4MkU0MzUxNEY1ODNFMEZGMTIwMDAzMDYKKzoxMDAwQzYwMEU1MTUyNDA3RjU4MkU0MzUxNEY1ODNFMEZGMTIxNUFCMzgKKzoxMDAwRDYwMDdGMDFFNTE1MjQwOEY1ODJFNDM1MTRGNTgzRTBGRDEyNjkKKzoxMDAwRTYwMDE2NkJFNTE1MjQzMUY1ODJFNDM1MTRGNTgzRTA0NDMwQ0EKKzoxMDAwRjYwMEYwRTUxNTI0MzlGNTgyRTQzNTE0RjU4M0UwNDQ4MEYwMDMKKzoxMDAwMDMwMDkwNzg0MTc0RjNGMDkwQzAwMDc0QkZGMDkwNzg0MTc0MUQKKzoxMDAwMTMwMEYwRjA5MEMwMDBFRkYwOTA3ODQxNzRGM0YwRTUxNTI0MTAKKzoxMDAwMjMwMDM3RjU4MkU0MzUxNEY1ODNFMDU0N0Y5MEMwMDBGMDIyNjUKKzowMzAwNDMwMDAyMUIwMDlECis6MDMwMDAwMDAwMjEwOTA1QgorOjQwMDEwNjAwOTA3ODQxNzRGNEYwRTUxNTI0MzlGNTgyRTQzNTE0RjU4M0UwOTBDMDAwRjA5MDc4NDE3NEYyRjBFNTE1MjQzNkY1ODJFNDM1MTRGNTgzRTA0NDA2OTBDMDAwRjBFNTE1MjQwQkY1ODJFNDM1MTRGNTgzRTA2MDMyRTUxNTI0MEMyQgorOjQwMDE0NjAwRjU4MkU0MzUxNEY1ODNFMDU0M0ZGRkU1MTUyNDM3RjU4MkU0MzUxNEY1ODNFRkYwOTA3ODQxNzRGM0YwRTUxNTI0MzdGNTgyRTQzNTE0RjU4M0UwOTBDMDAwRjBFNTE1MjQwREY1ODJFNDM1MTRGNTgzRTA3MDAzMDIwMjRGRTU5OAorOjQwMDE4NjAwMTUyNDE3RjU4MkU0MzUxNEY1ODNFMDYwMTFFNTE1MjQzMkY1ODJFNDM1MTRGNTgzRTA0NDA0RjA4MDBGRTUxNTI0MzJGNTgyRTQzNTE0RjU4M0UwNTRGQkYwRTRGRkU1MTUyNDMyRjU4MkU0MzUxNEY1ODNFMEZEMTIxNjZCRTUzQQorOjQwMDFDNjAwMTUyNDBFRjU4MkU0MzUxNEY1ODNFMDYwMTFFNTE1MjQzM0Y1ODJFNDM1MTRGNTgzRTA0NDgwRjA4MDBGRTUxNTI0MzNGNTgyRTQzNTE0RjU4M0UwNTQ3RkYwRTUxNTI0MzNGNTgyRTQzNTE0RjU4M0UwNTRGQ0YwRTUxNTI0MEZFQgorOjQwMDIwNjAwRjU4MkU0MzUxNEY1ODNFMDYwMkZFNTE1MjQzM0Y1ODJFNDM1MTRGNTgzRTA0NDAyRjBFNTE1MjQxMEY1ODJFNDM1MTRGNTgzRTBGRjEyMTYwQkU1MTUyNDExRjU4MkU0MzUxNEY1ODNFMEZGMTIxNjNCRTUxNTI0MzNGNTgyRTQxNQorOjQwMDI0NjAwMzUxNEY1ODNFMEZGMTIxNURCRTUxNTI0MTRGNTgyRTQzNTE0RjU4M0UwNjA0NEU1MTUyNDE1RjU4MkU0MzUxNEY1ODNFMDYwMTFFNTE1MjQzOUY1ODJFNDM1MTRGNTgzRTA0NDAxRjA4MDBGRTUxNTI0MzlGNTgyRTQzNTE0RjU1RAorOjQwMDI4NjAwODNFMDU0RkVGMDkwNzg0MTc0RjRGMEU1MTUyNDM5RjU4MkU0MzUxNEY1ODNFMDkwQzAwMEYwRTUxNTI0MTJGNTgyRTQzNTE0RjU4M0UwNjA0NEU1MTUyNDEzRjU4MkU0MzUxNEY1ODNFMDYwMTFFNTE1MjQzOUY1ODJFNDM1MTRGNgorOjQwMDJDNjAwRjU4M0UwNDQwMkYwODAwRkU1MTUyNDM5RjU4MkU0MzUxNEY1ODNFMDU0RkRGMDkwNzg0MTc0RjRGMEU1MTUyNDM5RjU4MkU0MzUxNEY1ODNFMDkwQzAwMEYwRTUxNTI0MTZGNTgyRTQzNTE0RjU4M0UwRkZFNTE1MjQzNUY1ODIxQQorOjQwMDMwNjAwRTQzNTE0RjU4M0VGRjBFNTE1MjQxN0Y1ODJFNDM1MTRGNTgzRTAzMEUwMTFFNTE1MjQzMUY1ODJFNDM1MTRGNTgzRTA0NDQwRjA4MDBGRTUxNTI0MzFGNTgyRTQzNTE0RjU4M0UwNTRCRkYwRTUxNTI0MThGNTgyRTQzNTE0RjU3NgorOjQwMDM0NjAwODNFMEZGRTUxNTI0M0JGNTgyRTQzNTE0RjU4M0VGRjBFNTE1MjQxOUY1ODJFNDM1MTRGNTgzRTA2MDExRTUxNTI0MzlGNTgyRTQzNTE0RjU4M0UwNDQxMEYwODAwRkU1MTUyNDM5RjU4MkU0MzUxNEY1ODNFMDU0RUZGMDkwNzg2OQorOjQwMDM4NjAwNDE3NEY0RjBFNTE1MjQzOUY1ODJFNDM1MTRGNTgzRTA5MEMwMDBGMEU1MTUyNDFBRjU4MkU0MzUxNEY1ODNFMDYwNkJFNTE1MjQzN0Y1ODJFNDM1MTRGNTgzRTA1NEJGRjA5MDc4NDE3NEYzRjBFNTE1MjQzN0Y1ODJFNDM1MTQxRgorOjQwMDNDNjAwRjU4M0UwNTQ3RjkwQzAwMEYwOTA3ODQxNzRGMUYwMTIwMDM2RUY1NEZFOTBDMDAwRjBFNTE1MjQzMkY1ODJFNDM1MTRGNTgzRTA1NEZERkZGMEZERTRGRjEyMTY2QkU1MTUyNDJDRjU4MkU0MzUxNEY1ODNFNEYwRTUxNTI0MkJBMworOjQwMDQwNjAwRjU4MkU0MzUxNEY1ODNFNEYwRTUxNjQyMTNFNTE1MjQxQkY1ODJFNDM1MTRGNTgzRTA3MDBFRTUxNTI0MjVGNTgyRTQzNTE0RjU4M0UwNjAyOEU1MTUyNDMyRjU4MkU0MzUxNEY1ODNFMDQ0MDJGRkYwRkRFNEZGMTIxNjZCRTUyMworOjQwMDQ0NjAwMTUyNDJCRjU4MkU0MzUxNEY1ODM3NDAxRjBFNTE2NDIxM0U1MTUyNDFDRjU4MkU0MzUxNEY1ODNFMEZGNzAwRUU1MTUyNDI1RjU4MkU0MzUxNEY1ODNFMDYwMkE5MDc4NDE3NEYyRjBFNTE1MjQzNkY1ODJFNDM1MTRGNTgzRTBENgorOjQwMDQ4NjAwNDQwNDkwQzAwMEYwRUY2MDBGRTUxNTI0MzFGNTgyRTQzNTE0RjU4M0UwNDQwNEYwRTUxNTI0MURGNTgyRTQzNTE0RjU4M0UwNjAyN0U1MTUyNDM3RjU4MkU0MzUxNEY1ODNFMDQ0NDBGMDkwNzg0MTc0RjNGMEU1MTUyNDM3RjU2MAorOjQwMDRDNjAwODJFNDM1MTRGNTgzRTA1NDdGOTBDMDAwRjBFNTE1MjQxRUY1ODJFNDM1MTRGNTgzRTA2MDI4RTUxNTI0MzJGNTgyRTQzNTE0RjU4M0UwNTRGRUZGRjBGREU0RkYxMjE2NkJFNTE1MjQyREY1ODJFNDM1MTRGNTgzNzQwMUYwRTU2QgorOjQwMDUwNjAwMTY0MjEzRTUxNTI0MUZGNTgyRTQzNTE0RjU4M0UwNzAwRUU1MTUyNDI1RjU4MkU0MzUxNEY1ODNFMDYwMjdFNTE1MjQzMkY1ODJFNDM1MTRGNTgzRTA0NDAxRkZGMEZERTRGRjEyMTY2QkU1MTUyNDJERjU4MkU0MzUxNEY1ODM3MworOjQwMDU0NjAwRTRGMEU1MTY0MjEzRTUxNTI0MjBGNTgyRTQzNTE0RjU4M0UwNzAwRUU1MTUyNDI1RjU4MkU0MzUxNEY1ODNFMDYwMTg5MDc4NDE3NEYyRjBFNTE1MjQzNkY1ODJFNDM1MTRGNTgzRTA0NDAyOTBDMDAwRjBFNTE1MjQyMUY1ODJCNworOjQwMDU4NjAwRTQzNTE0RjU4M0UwNjAwRkU1MTUyNDMxRjU4MkU0MzUxNEY1ODNFMDQ0MDJGMEU1MTUyNDIyRjU4MkU0MzUxNEY1ODNFMDYwMUZFNTE1MjQyRUY1ODJFNDM1MTRGNTgzNzQwMUYwRTUxNTI0M0FGNTgyRTQzNTE0RjU4M0U0RjBGMAorOjQwMDVDNjAwRTUxNjQyMTNFNTE1MjQyM0Y1ODJFNDM1MTRGNTgzRTA2MDAzMTIxODdBRTUxNTI0MjRGNTgyRTQzNTE0RjU4M0UwNjAyM0U1MTUyNDMxRjU4MkU0MzUxNEY1ODNFMDQ0MDhGMEU1MTZDNDU0RjBGRjQyMTE5MDdGOTZFMDRGRjAwMAorOjQwMDYwNjAwOTA3ODQxRTA0RkYwRTUxNTI0MjVGNTgyRTQzNTE0RjU4M0UwNjAyNEU1MTUyNDMxRjU4MkU0MzUxNEY1ODNFMDU0RjdGMEU1MTZDNDU0RjBGNEZGNTIxMTkwN0Y5NkUwNUZGMDkwNzg0MUUwNUZGMDIyOTA3RkU5RTAxMjExRkU0MworOjQwMDY0NjAwMDc5OTAwMDgwRDAxMDg3OTAzMDY2MjA2MDc4QTA4MDc3RTA5MDc2NjBBMDc3NTBCMDAwMDA4Qzg5MDdGRUJFMDI0RkU2MDFDMTQ3MDAzMDIwNzE0MjQwMjYwMDMwMjA3NUM3NDE5OTA3RkQ0RjA3NDAwOTA3RkQ1RjAwMjA4Q0Y0QworOjQwMDY4NjAwOTA3RkVBRTAwNDc1ODIxNzc1ODMxOUYwOTA3RkVBRTAzMEUwMDQ3RjAyODAwMjdGMDM3NTgyODI3NTgzMTlFRkYwNzU4MjZENzU4MzE5RjA3NTgyNjY3NTgzMTlGMDc1ODI1Rjc1ODMxOUYwNzU4MjU4NzU4MzE5RjA5MDdGRUEwQQorOjQwMDZDNjAwRTAzMEUxMDQ3RjY0ODAwMjdGMzI3NTgyMUE3NTgzMTlFRkYwOTA3RkVGRTBGRTkwN0ZFRUUwN0MwMDI0MDBGNTE4RUMzRUY1MTc3NTMzMTk3NTM0MTI3NTgyMTQ3NTgzMTlFMDc1MjcwMEY1MjhEM0U1Mjg5NTE4RTUyNzk1MTdENgorOjQwMDcwNjAwNDAwNjg1MTcyNzg1MTgyODEyMTMwRDAyMDhDRjkwN0ZFQUUwRkYxMjE0NUZFQTQ5NjAzMjkwN0ZFRUUwNzUxNzAwRjUxOEFFMDJBRjAxOEUzMzhGMzQ4RjgyOEU4M0UwRkVBM0UwOEUyN0Y1MjhEMzk1MThFNTI3OTUxNzQwMDY4QgorOjQwMDc0NjAwODUxNzI3ODUxODI4MTIxMzBEMDIwOENGOTA3RkI0RTA0NDAxRjAwMjA4Q0Y5MDdGQjRFMDQ0MDFGMDAyMDhDRjkwN0YwMEU1MjVGMDkwN0ZCNTc0MDFGMDAyMDhDRjkwN0ZFQUUwRjUyNTAyMDhDRjkwN0ZFQUUwRjUyMjEyMEE5QgorOjQwMDc4NjAwQ0UwMjA4Q0Y5MDdGMDBFNTIyRjA5MDdGQjU3NDAxRjAwMjA4Q0Y5MDdGRThFMDI0N0Y2MDI0MTQ2MDMxMjQwMjcwNUJBMjAwRTQzM0ZGMjVFMEZGQTIwNkU0MzM0RjkwN0YwMEYwRTRBM0YwOTA3RkI1NzQwMkYwMDIwOENGRTRDOQorOjQwMDdDNjAwOTA3RjAwRjBBM0YwOTA3RkI1NzQwMkYwMDIwOENGOTA3RkVDRTBGNDU0ODBGRkM0NTQwRkZGRTA1NDA3MkYyNUUwMjRCNEY1ODJFNDM0N0ZGNTgzRTA1NEZEOTA3RjAwRjBFNEEzRjA5MDdGQjU3NDAyRjAwMjA4Q0Y5MDdGQjQ1QworOjQwMDgwNjAwRTA0NDAxRjAwMjA4Q0Y5MDdGRThFMDI0RkU2MDFEMjQwMjYwMDMwMjA4Q0Y5MDdGRUFFMEI0MDEwNUMyMDAwMjA4Q0Y5MDdGQjRFMDQ0MDFGMDAyMDhDRjkwN0ZFQUUwNzAzODkwN0ZFQ0UwRjQ1NDgwRkZDNDU0MEZGRkUwNTQ5MAorOjQwMDg0NjAwMDcyRjI1RTAyNEI0RjU4MkU0MzQ3RkY1ODNFNEYwOTA3RkVDRTA1NDgwRkYxMzEzMTM1NDFGRkZFMDU0MDcyRjkwN0ZEN0YwRTA0NDIwRjA4MDVGOTA3RkI0RTA0NDAxRjA4MDU2OTA3RkU4RTAyNEZFNjAxODI0MDI3MDRBOTBDQQorOjQwMDg4NjAwN0ZFQUUwQjQwMTA0RDIwMDgwM0Y5MDdGQjRFMDQ0MDFGMDgwMzY5MDdGRUFFMDcwMjA5MDdGRUNFMEY0NTQ4MEZGQzQ1NDBGRkZFMDU0MDcyRjI1RTAyNEI0RjU4MkU0MzQ3RkY1ODM3NDAxRjA4MDEwOTA3RkI0RTA0NDAxRjA0NgorOjQwMDhDNjAwODAwNzkwN0ZCNEUwNDQwMUYwOTA3RkI0RTA0NDAyRjAyMkU1MTI1NDBGNzAwMzAyMDlDODEyMTY5QUVGMjBFMTc1MTIxNkY4RUYxNEY1MTgxMjE4QzVFRjI1MThGRkU0MzNGRUMzRUY5NDgwRUU2NDgwOTQ4MDUwNTk4NTE1ODIwMQorOjQwMDkwNjAwODUxNDgzRTBGRUEzRTBGRkY1ODI4RTgzRTAzMEUwMTFFNTE1MjQzMUY1ODJFNDM1MTRGNTgzRTA0NDgwRjA4MDBGRTUxNTI0MzFGNTgyRTQzNTE0RjU4M0UwNTQ3RkYwRTUxNTI0MzFGNTgyRTQzNTE0RjU4M0UwMjBFMjEyRTVDQworOjQwMDk0NjAwMTg2MDBFRjUyM0VGMjQwMUY1MkRFNDNFRjUyQzEyMTRBMEU0RkYxMjE0RDdFNTE1MjQzMUY1ODJFNDM1MTRGNTgzRTAzMEU3NUQxMjE4QzVFNTE1MjQzQkY1ODJFNDM1MTRGNTgzRTBGRUVGQzM5RTUwNDhFNTE1MjQyRkY1ODIwNworOjQwMDk4NjAwRTQzNTE0RjU4Mzc0MDFGMEU1MTUyNDMxRjU4MkU0MzUxNEY1ODNFMDU0N0JGMEU1MTUyNDNBRjU4MkU0MzUxNEY1ODNFNEYwRTUxNjQyMTM5MDdGQzJFMDMwRTExMEU1MTUyNDI2RjU4MkU0MzUxNEY1ODNFMEY1MjQ4MDAzMTJDNQorOjQwMDlDNjAwMTI5QzEyMTZDOUVGMzBFMTAzMDIwQUNEMTIxN0M3OEYxODEyMThEM0U1MTUyNDM4RjU4MkU0MzUxNEY1ODNFRkYwRTUxNTI0MzVGNTgyRTQzNTE0RjU4M0UwRkZFNTE4QzM5RjUwMjgxMjE4QTlFRjMwRTAyMUU1MTUyNDM4RjUyRQorOjQwMEEwNjAwODJFNDM1MTRGNTgzRTAyMEU3MTJFNTE1MjQzMUY1ODJFNDM1MTRGNTgzRTAyMEUxMDMwMjBBQ0RFNTE1MjQzMUY1ODJFNDM1MTRGNTgzRTA1NEZERjBFNTE4NzAwMzAyMEFDREI0ODAwRkU1MTUyNDM4RjU4MkU0MzUxNEY1ODNERQorOjQwMEE0NjAwRTA0NDAyRjBFNTE1MjQzOEY1ODJFNDM1MTRGNTgzRTBGRjMwRTcyOUU1MThEMzk0MjA0MDAzNzUxODIwODUxODIzODUxNTgyODUxNDgzQTNBM0UwRkNBM0UwOEMyQ0Y1MkQxMjEzQ0ZFNTE4MjVFMEZGMTIxNTBEMjJFNTE4RDNDMworOjQwMEE4NjAwOTQzRjQwMDM3NTE4M0Y4NTE4MjNFNTE1MjQzOEY1ODJFNDM1MTRGNTgzRTBGRjg1MTU4Mjg1MTQ4M0EzQTNFMEZDQTNFMEY1ODI4QzgzRUZGMDg1MTU4Mjg1MTQ4M0EzQTNFMEZFQTNFMDI0MDFGNTJERTQzRUY1MkMxMjE0MUQ0RgorOjQwMEFDNjAwRTUxODA0RkYxMjE1MEQyMkU0OTA3RjkzRjA5MDdGOUM3NEZGRjBFNDkwN0Y5NkYwOTA3Rjk0RjA5MDc4NEEwNEYwRjU4RTkwN0Y5NTc0QzBGMDkwN0Y5RTc0M0ZGMDkwN0Y5ODc0MkZGMDkwNzg0Mzc0RjdGMEU0OTA3ODQxRjAyQworOjQwMEIwNjAwOTA3RkRGNzQ5RkYwOTA3RkRFRjA5MDdGOTJFMDQ0MDJGMDdFN0I3RkMwNzUxNDdCNzUxNUMwOTA3Rjk4NzQyRUYwNzUxNjAxMTIwRjI4N0U3QjdGQzA3NTE0N0I3NTE1QzA5MDdGOTg3NDJFRjA3NTE2MDFFNTE1MjQyNkY1ODI5MAorOjQwMEI0NjAwRTQzNTE0RjU4M0U0RjA3RTdFN0Y0MDg1MTU4Mjg1MTQ4Mzc0N0VGMEEzNzQ0MEYwN0U3RTdGODA4NTE1ODI4NTE0ODNBM0EzNzQ3RUYwQTM3NDgwRjA3RTdDN0YwMDc1MTQ3Qzc1MTUwMDkwN0Y5ODc0MkRGMDc1MTYwMjEyMEYwQQorOjQwMEI4NjAwMjg3RTdDN0YwMDc1MTQ3Qzc1MTUwMDkwN0Y5ODc0MkRGMDc1MTYwMkU1MTUyNDI2RjU4MkU0MzUxNEY1ODM3NDAxRjA3RTdEN0ZDMDg1MTU4Mjg1MTQ4Mzc0N0RGMEEzNzRDMEYwN0U3RTdGMDA4NTE1ODI4NTE0ODNBM0EzNzRFRQorOjQwMEJDNjAwN0VGMEEzNzQwMEYwN0U3QzdGNDA3NTE0N0M3NTE1NDA5MDdGOTg3NDJCRjA3NTE2MDQxMjBGMjg3RTdDN0Y0MDc1MTQ3Qzc1MTU0MDkwN0Y5ODc0MkJGMDc1MTYwNEU1MTUyNDI2RjU4MkU0MzUxNEY1ODM3NDAyRjA3RTdEN0Y1NworOjQwMEMwNjAwNDA4NTE1ODI4NTE0ODM3NDdERjBBMzc0NDBGMDdFN0Q3RjgwODUxNTgyODUxNDgzQTNBMzc0N0RGMEEzNzQ4MEYwN0U3QzdGODA3NTE0N0M3NTE1ODA5MDdGOTg3NDI3RjA3NTE2MDgxMjBGMjg3RTdDN0Y4MDc1MTQ3Qzc1MTU5MAorOjQwMEM0NjAwODA5MDdGOTg3NDI3RjA3NTE2MDhFNTE1MjQyNkY1ODJFNDM1MTRGNTgzNzQwM0YwN0U3QzdGQzA4NTE1ODI4NTE0ODM3NDdDRjBBMzc0QzBGMDdFN0Q3RjAwODUxNTgyODUxNDgzQTNBMzc0N0RGMEEzNzQwMEYwQzIwQUMyMDlEMworOjQwMEM4NjAwRTRGNTExRDIwMjIyRTUxMDA0NTQwM0Y1MTAxNDYwMUYxNDYwMzExNDYwNDMyNDAzNzA1MjdFN0I3RkMwNzUxNDdCNzUxNUMwOTA3Rjk4NzQyRUYwNzUxNjAxODAzRDdFN0M3RjAwNzUxNDdDNzUxNTAwOTA3Rjk4NzQyREYwNzU2NAorOjQwMENDNjAwMTYwMjgwMjg3RTdDN0Y0MDc1MTQ3Qzc1MTU0MDkwN0Y5ODc0MkJGMDc1MTYwNDgwMTM3RTdDN0Y4MDc1MTQ3Qzc1MTU4MDkwN0Y5ODc0MjdGMDc1MTYwOEU1MzI1NTE2NzAwMzAyMEUyN0U1MTZGNDUyMzJFNTI2NTQ3RkZGNzA5NQorOjQwMEQwNjAwMTdFNTJBNTUxNjYwMzQ5MDdGOTZFMEZFRTUxNkM0NTRGMEY0RkRFRTVERjA4MDIzQkYyMDIwRTUxNTI0MzFGNTgyRTQzNTE0RjU4M0UwMzBFMzExRTRGNTJBOTA3Rjk2RTBGRkU1MTZDNDU0RjBGRUVGNEVGMEU1MTUyNDNBRjVDMworOjQwMEQ0NjAwODJFNDM1MTRGNTgzRTA2MDAzRTAxNEYwRTUxNTI0MzRGNTgyRTQzNTE0RjU4M0UwNjAwM0UwMTRGMEUwNjAwMzAyMEUyNzc0MEFGMDEyMDAzNkVGNTQwMUZGRjUxOEU1MTUyNDJDRjU4MkU0MzUxNEY1ODNFMDZGNjAwN0U1MThGMQorOjQwMEQ4NjAwRjBFNTE2NDIxMzEyMThFMThGMThFNTE1MjQyN0Y1ODJFNDM1MTRGNTgzRTBGRkU1MTg1NDEwRkU2RjYwMDZFRUYwRTUxNjQyMTNFNTE1MjQyOEY1ODJFNDM1MTRGNTgzRTBGRkU1MTg1NDgwRkU2RjYwMDZFRUYwRTUxNjQyMTM4NgorOjQwMERDNjAwRTUxNTI0MjlGNTgyRTQzNTE0RjU4M0UwRkZFNTE4NTQyMEZFNkY2MDE1RUVGMEU1MTUyNDMxRjU4MkU0MzUxNEY1ODNFMDMwRTQwNEU1MTY0MjEzRTUxNTI0MkFGNTgyRTQzNTE0RjU4M0UwRkZFNTE4NTQ0MEZFNkY2MDE1RUUyMworOjQwMEUwNjAwRjBFNTE1MjQzMUY1ODJFNDM1MTRGNTgzRTAzMEU1MDRFNTE2NDIxM0U1MTUyNDMwRjU4MkU0MzUxNEY1ODNFNEYwMjIzMDA5MDMwMjBGMjdFNTI0MTQ2MDJBMTQ2MDQxMTQ2MDU4MTQ2MDZGMjQwNDYwMDMwMjBFRTU3RTdCN0YzMQorOjQwMEU0NjAwQzA3NTE0N0I3NTE1QzA5MDdGOTg3NDJFRjA3NTE2MDExMjEyOUM3NTI0MDEyMjdFN0M3RjAwNzUxNDdDNzUxNTAwOTA3Rjk4NzQyREYwNzUxNjAyMTIxMjlDNzUyNDAyMjI3RTdDN0Y0MDc1MTQ3Qzc1MTU0MDkwN0Y5ODc0MkIwNQorOjQwMEU4NjAwRjA3NTE2MDQxMjEyOUM3NTI0MDMyMjdFN0M3RjgwNzUxNDdDNzUxNTgwOTA3Rjk4NzQyN0YwNzUxNjA4MTIxMjlDNzUyNDA0MjIzMDA0MzNDMjA0NTMxM0RGRTRGNTE4N0UwMDdCMDA3NDJFMjUxOEY5RUUzNDAwRkExMjExQTZDQQorOjQwMEVDNjAwRkY3NDgwMjUxOEY1ODJFNDM0N0JGNTgzRUZGMDA1MThFNTE4QjQwM0RCOTA3RkMzNzQwM0YwNzUyNDA1MjJFNTM2NjAzQkQ1MzYwQTUzMTNFRjMwMEEwNEQyMDlDMjBBRTRGNTE4N0UwMDdCMDA3NDM1MjUxOEY5RUUzNDAwRkFDQworOjQwMEYwNjAwMTIxMUE2RkY3NDgwMjUxOEY1ODJFNDM0N0JGNTgzRUZGMDA1MThFNTE4QjQwM0RCOTA3RkMzNzQwM0YwRTRGNTI0MjJFNEY1MTk3RTAwN0IwMUU1MTUyNTE5RjlFRTM1MTRGQUU0MTIxMUVDMDUxOUU1MTlCNDNDRThFNTE1MjRGQQorOjQwMEY0NjAwMzVGNTgyRTQzNTE0RjU4Mzc0MDFGMDkwNzg0MTc0RjNGMEU1MTUyNDM3RjU4MkU0MzUxNEY1ODM3NDAzRjA5MEMwMDBGMDdGMENFNEZEMTIxNjZCN0YxMEU1MTUyNDMzRjU4MkU0MzUxNEY1ODNFRkYwMTIxNURCOTA3ODQxNzQ2NAorOjQwMEY4NjAwRjJGMDdGMDFFNTE1MjQzNkY1ODJFNDM1MTRGNTgzRUZGMDQ0MDY5MEMwMDBGMDkwNzg0MTc0RjRGMEU1MTUyNDM5RjU4MkU0MzUxNEY1ODM3NDgwRjA5MEMwMDBGMDBGRTRGRDEyMTY2QkU0RkY3RUEzRTUxNTI0MzJGNTgyRTQ4NgorOjQwMEZDNjAwMzUxNEY1ODNFRUYwRkQxMjE2NkI5MDc4NDE3NEYxRjA5MEMwMDBFNEYwN0YwNTdEN0YxMjE2NkI3RjAxMTIxNTQzN0YwMzdEMDcxMjE2NkIyMjUzMTMzRjkwN0JGMUUwMzBFMzE2N0U3QjdGQzA3NTE0N0I3NTE1QzA5MDdGOTg2QgorOjQwMTAwNjAwNzQyRUYwNzUxNjAxMTIwOEQ3OTA3QzMxRTAzMEUzMTY3RTdDN0YwMDc1MTQ3Qzc1MTUwMDkwN0Y5ODc0MkRGMDc1MTYwMjEyMDhENzkwN0M3MUUwMzBFMzE2N0U3QzdGNDA3NTE0N0M3NTE1NDA5MDdGOTg3NDJCRjA3NTE2MDRDNAorOjQwMTA0NjAwMTIwOEQ3OTA3Q0IxRTAzMEUzMTY3RTdDN0Y4MDc1MTQ3Qzc1MTU4MDkwN0Y5ODc0MjdGMDc1MTYwODEyMDhENzA1MTJFNTEyNTQwRkY1MTc3MDA0MTIxMTFDMjJFNTE3QjQwMTA0MTIwQzhDMjI5MDdGQzJFMDIwRTEwOEU1MTM3MAorOjQwMTA4NjAwNjAwNDEyMEUyODIyMTIwQzhDMjI3ODdGRTRGNkQ4RkQ3NTgxMzcwMjEwRDcwMjEyMjRFNDkzQTNGOEU0OTNBMzQwMDNGNjgwMDFGMjA4REZGNDgwMjlFNDkzQTNGODU0MDcyNDBDQzhDMzMzQzQ1NDBGNDQyMEM4ODM0MDA0RjRENworOjQwMTBDNjAwNTY4MDAxNDZGNkRGRTQ4MDBCMDEwMjA0MDgxMDIwNDA4MDkwMTg0NUU0N0UwMTkzNjBCQ0EzRkY1NDNGMzBFNTA5NTQxRkZFRTQ5M0EzNjAwMTBFQ0Y1NEMwMjVFMDYwQTg0MEI4RTQ5M0EzRkFFNDkzQTNGOEU0OTNBM0M4QzU4OQorOjQwMTEwNjAwODJDOENBQzU4M0NBRjBBM0M4QzU4MkM4Q0FDNTgzQ0FERkU5REVFNzgwQkU5MDdGRDJFMDMwRTEwMzAyMTFBNUMyMDk5MDdCNDBFMDE0NjAyNjE0NjAzQjE0NjA1MDI0ODM2MDY0MjQ4MDcwNjM3RTdCN0ZDMDc1MTQ3Qjc1MTUzQQorOjQwMTE0NjAwQzA5MDdGOTg3NDJFRjA3NTE2MDExMjAwNDY4MDRCN0U3QzdGMDA3NTE0N0M3NTE1MDA5MDdGOTg3NDJERjA3NTE2MDIxMjAwNDY4MDMzN0U3QzdGNDA3NTE0N0M3NTE1NDA5MDdGOTg3NDJCRjA3NTE2MDQxMjAwNDY4MDFCN0UyQgorOjQwMTE4NjAwN0M3RjgwNzUxNDdDNzUxNTgwOTA3Rjk4NzQyN0YwNzUxNjA4MTIwMDQ2ODAwMzEyMTc1MUU0OTA3RkQzRjAyMkJCMDEwNjg5ODI4QTgzRTAyMjUwMDJFNzIyQkJGRTAyRTMyMjg5ODI4QTgzRTQ5MzIyQkIwMTBDRTU4MjI5RjVCOAorOjQwMTFDNjAwODJFNTgzM0FGNTgzRTAyMjUwMDZFOTI1ODJGOEU2MjJCQkZFMDZFOTI1ODJGOEUyMjJFNTgyMjlGNTgyRTU4MzNBRjU4M0U0OTMyMkJCMDEwNjg5ODI4QTgzRjAyMjUwMDJGNzIyQkJGRTAxRjMyMkQwODNEMDgyRjhFNDkzNzBCNgorOjQwMTIwNjAwMTI3NDAxOTM3MDBEQTNBMzkzRjg3NDAxOTNGNTgyODg4M0U0NzM3NDAyOTM2ODYwRUZBM0EzQTM4MERGOTA3RkFFRTBGRkQzOTIwMEU0MzNGRUVGNEVGMEQyRTg0M0Q4MjA5MDdGREU3NDAxRjA5MDdGREZGMDkwN0ZBQjc0RkZDMgorOjQwMTI0NjAwRjA5MDdGQTlGMDkwN0ZBQUYwNTM5MUVGOTA3RkFGNzQwMUYwOTA3RkFFNzQwREYwRDJBRkQyMEIxMjE4MDlDMjAxRTRGNTJCRjUzMUMyMDdDMjAyNzUyOTBGOTA3RkQ4RTA2NTI2NjAwNjc1MzIwRkUwRjUyNjMwMDIwMzEyMEY4QworOjQwMTI4NjAwRUYzMDAxMDdDMjAxMTIwNjNGODBFMjMwMDhERkMyMDgxMjE4MkE4MEQ4MjJFNTEzNTUxNjYwNkFFNTE1MjQzQUY1ODJFNDM1MTRGNTgzRTA3MDVDRTUxNkY0NTIxM0U1MTUyNDI2RkZFNDM1MTRGRUU0RkQwRkVGQUEwNjcwMDFDNworOjQwMTJDNjAwMEUxNEY1ODI4QTgzRTBGQzc0ODAyREY1ODJFNDM0N0JGNTgzRUNGMDBEQkQwQkUyOTA3RkMzNzQwQkYwRTUxNTI0M0FGNTgyRTQzNTE0RjU4Mzc0MTBGMEU1MTUyNDJFRjU4MkU0MzUxNEY1ODNFNEYwRTUxNTI0MkZGNTgyRTQyMworOjQwMTMwNjAwMzUxNEY1ODNFNEYwMjJFNTI4NDUyNzYwNTdBRTI3QUYyOEQzRUY5NDQwRUU5NDAwNDAwNDdFMDA3RjQwQzNFNTI4OUZGNTI4RTUyNzlFRjUyN0U0RkRFREMzOUZFNDlFNTAxRjg1MzQ4Mjg1MzM4M0UwRkM3NDAwMkRGNTgyRTRCQQorOjQwMTM0NjAwMzQ3RkY1ODNFQ0YwMEQwNTM0RTUzNDcwMDIwNTMzODBEQTkwN0ZBOTc0MDFGMDkwN0ZBQ0UwNDQwMUYwOTA3RkI1RUZGMDIyOTA3RkFDRTA1NEZFRjBFNDkwN0ZCNUYwMjI5MDdGOTg3NDBGRjBFNDkwNzg0QUYwOTA3Rjk0RjBFMQorOjQwMTM4NjAwOTA3RjlENzRGRkYwRTQ5MDdGOTdGMDkwNzg0MUYwOTA3RjkzRjA5MDdGOUM3NEZGRjAzMDAwMDdFNTI5NTQwRkZGODAwMjdGMDA5MDdGOTZFRkYwOTA3Rjk4NzQxRkYwRTQ5MDdGOTVGMDkwN0Y5RTc0M0ZGMDkwN0Y5ODc0REZBRAorOjQwMTNDNjAwRjA5MDdGOTJFMDU0RkRGMDIyOEYxOTA1MkRFNTJEQUUyQzcwMDIwNTJDMTRGNTgyOEU4M0U1MTlGMDEyMThFRjA1MkRFNTJEQUMyQzcwMDIwNTJDMTRGNTgyOEM4M0VGRjAxNTIzRTUyMzYwMUZFNTE1MjQzOEY1ODJFNDM1MTQxNgorOjQwMTQwNjAwRjU4M0MwODNDMDgyRTBGRTEyMThEMzhGMTlFRTRGRDA4MkQwODNGMDgwQjUyMjkwNzg0MUU1MTFGMDkwNzg0Rjc0QzBGMEU0OTA3ODUwRjBFNTJDOTA3ODUxRjBBRTJDRTUyRDkwNzg1MkYwOTA3ODU0RTUyM0YwOTA3ODU3NzQ3MAorOjQwMTQ0NjAwMDRGMDkwN0ZFMkUwNDQxMEYwRTA1NEY3RjBFNDkwNzg1NUYwOTA3ODU1RTA2MEZBMjI4RjE5RTRGNTFBNzUxQkZGNzUxQzE5NzUxRDg2QUIxQkFBMUNBOTFEOTAwMDAxMTIxMUJGQjQwMzFEQUYxQTA1MUFFRkI1MTkwMTIyMTJGOQorOjQwMTQ4NjAwMTFBNjdFMDAyOUZGRUUzQUE5MDc3NTFCRkZGNTFDODkxRDgwRDQ3QjAwN0EwMDc5MDAyMjkwNzg0MUU1MTFGMEU1MkM5MDc4NEZGMEFFMkNFNTJEOTA3ODUwRjA5MDc4NTE3NEMwRjBFNDkwNzg1MkYwOTA3ODU0RTUyM0YwOTA3RAorOjQwMTRDNjAwNzg1Nzc0MDRGMEU0OTA3ODU1RjA5MDc4NTVFMDYwRkEyMkU1MTUyNDA0RjU4MkU0MzUxNEY1ODNFMDE0NjAwRjE0NjAxMzE0NjAxNzgwMDA5MDdGQzdFRkYwODAxMzkwN0ZDOUVGRjA4MDBDOTA3RkNCRUZGMDgwMDU5MDdGQ0RFRAorOjQwMTUwNjAwRUZGMEU1MTY0MjJBMjJFNTE1MjQwNEY1ODJFNDM1MTRGNTgzRTAxNDYwMEYxNDYwMTMxNDYwMTc4MDAwOTA3RkI3RUZGMDgwMTM5MDdGQjlFRkYwODAwQzkwN0ZCQkVGRjA4MDA1OTA3RkJERUZGMEU1MTY0MjJBMjJBRTA3RTRBNAorOjQwMTU0NjAwRkZFNTE1MjQzMkY1ODJFNDM1MTRGNTgzRTA1NDdGRkQxMjE2NkI5MDc4NDE3NEYxRjA5MEMwMDBFRUYwRTRFNTE1MjQzMkY1ODJFNDM1MTRGNTgzRTA0NDgwRkQxMjE2NkIyMkMwRTBDMEYwQzA4M0MwODJDMDg1QzA4NEMwODZBMQorOjQwMTU4NjAwNzU4NjAwQzBEMDc1RDAwODUzOTFFRjkwN0ZBOTc0MDFGMDEyMTMwREQwRDBEMDg2RDA4NEQwODVEMDgyRDA4M0QwRjBEMEUwMzI5MDc4NDE3NEYzRjA5MEMwMDA3NEJGRjA5MDc4NDE3NEYxRjA5MEMwMDBFRkYwOTA3ODQxNzRBOAorOjQwMTVDNjAwRjNGMEU1MTUyNDM3RjU4MkU0MzUxNEY1ODNFMDU0N0Y5MEMwMDBGMDIyOTA3ODQxNzRGM0YwOTBDMDAwNzRCRkYwOTA3ODQxNzRGMkYwOTBDMDAwRUZGMDkwNzg0MTc0RjNGMEU1MTUyNDM3RjU4MkU0MzUxNEY1ODNFMDU0N0ZENworOjQwMTYwNjAwOTBDMDAwRjAyMjkwNzg0MTc0RjNGMDkwQzAwMDc0QkZGMDkwNzg0MTc0RjRGMDkwQzAwMEVGRjA5MDc4NDE3NEYzRjBFNTE1MjQzN0Y1ODJFNDM1MTRGNTgzRTA1NDdGOTBDMDAwRjAyMjkwNzg0MTc0RjNGMDkwQzAwMDc0QkYxNgorOjQwMTY0NjAwRjA5MDc4NDE3NEY2RjA5MEMwMDBFRkYwOTA3ODQxNzRGM0YwRTUxNTI0MzdGNTgyRTQzNTE0RjU4M0UwNTQ3RjkwQzAwMEYwMjI5MDc4NDE3NEYzRjBFNTE1MjQzN0Y1ODJFNDM1MTRGNTgzRTA1NDdGOTBDMDAwRjA5MDc4NDEyRgorOjQwMTY4NjAwNzRGN0YwOTBDMDAwRUZGMDkwNzg0MTc0RjVGMDkwQzAwMEVERjAyMkU1MTUyNDA0RjU4MkU0MzUxNEY1ODNFMDE0NjAwRTE0NjAxMTE0NjAxNDgwMDA5MDdGQzZFMEZGMjI5MDdGQzhFMEZGMjI5MDdGQ0FFMEZGMjI5MDdGQ0MxOQorOjQwMTZDNjAwRTBGRjIyRTUxNTI0MDRGNTgyRTQzNTE0RjU4M0UwMTQ2MDBFMTQ2MDExMTQ2MDE0ODAwMDkwN0ZCNkUwRkYyMjkwN0ZCOEUwRkYyMjkwN0ZCQUUwRkYyMjkwN0ZCQ0UwRkYyMkU1MTUyNDA0RjU4MkU0MzUxNEY1ODNFMDE0NjAwMAorOjQwMTcwNjAwMEUxNDYwMTExNDYwMTQ4MDAwOTA3RkM3RTBGRjIyOTA3RkM5RTBGRjIyOTA3RkNCRTBGRjIyOTA3RkNERTBGRjIyQzBFMEMwODNDMDgyQzA4NUMwODRDMDg2NzU4NjAwOTA3RkM0RTRGMDUzOTFFRjkwN0ZBQjc0MDRGMEQwODZCRgorOjQwMTc0NjAwRDA4NEQwODVEMDgyRDA4M0QwRTAzMjkwN0I0MUUwRjUzNjQzMTMxMEEzRTA2MDA5OTA3RkQ3NzQxN0YwNzQzN0YwOTA3QjQzRTBGNTM3QTNFMDU0RjBGNTI5RTA2MDAyRDIwQTIyQzBFMEMwODNDMDgyQzA4NUMwODRDMDg2NzVBNgorOjQwMTc4NjAwODYwMEQyMDE1MzkxRUY5MDdGQUI3NDAxRjBEMDg2RDA4NEQwODVEMDgyRDA4M0QwRTAzMkMwRTBDMDgzQzA4MkMwODVDMDg0QzA4Njc1ODYwMEQyMDg1MzkxRUY5MDdGQUI3NDA4RjBEMDg2RDA4NEQwODVEMDgyRDA4M0QwRTAzQworOjQwMTdDNjAwMzIxMjE4QjdBRTA3MTIxOEI3QUQwN0VFNkQ2MDEwMTIxOEI3QUUwN0VFNkQ2MDA3MTIxOEI3QUQwNzgwRUNBRjA2MjI3NDAwRjU4NjkwRkRBNTdDMDVBM0U1ODI0NTgzNzBGOTIyOTA3RkQ2RTA0NDgwRjA0Mzg3MDEwMDAwMDA0OAorOjQwMTgwNjAwMDAwMDIyOTA3RkQ2RTA0NDA0RjBFMDQ0MDhGMDMwMEIwNEUwNDQwMkYwN0ZGNDdFMDExMjE4NjA5MDdGRDZFMDU0RjdGMDIyMTIxMzc3MTIxN0Y5OTA3RkQ2RTAzMEU3MEE3RjA1N0UwMDEyMTg2MDEyMTg5MzEyMEFDRTIyMDM3OAorOjQwMTg0NjAwMzU4MDAwMDAwMzJFODEwMDAwQzE4NUMxODFDMTA4QzEwMEMxMDYwMTIyMDAwMTI0MDAwMDhFMTc4RjE4RTUxODE1MThBRTE3NzAwMjE1MTc0RTYwMDgxMjE3RTgxMjE3RTg4MEVCMjJFNTE1MjQwNEY1ODJFNDM1MTRGNTgzRTA3RQorOjQwMTg4NjAwMDRGRjQ0MTA5MDdGRDdGMEVGNDQzMEYwMjI5MDdGRDZFMDQ0MDFGMDdGMEQ3RTAwMTIxODYwOTA3RkQ2RTA1NEZFRjAyMkU1MTEyNDAyOTA3ODQxRjA5MEMwMDBFMEZGMjJFNTExMjQwMzkwNzg0MUYwOTBDMDAwRTBGRjIyRTU5NworOjQwMThDNjAwMTEyNDA0OTA3ODQxRjA5MEMwMDBFMEZGMjJFNTExMjQwNTkwNzg0MUYwOTBDMDAwRTBGRjIyRTUxMTI0MDY5MDc4NDFGMDkwQzAwMEUwRkYyMjkwNzg0MUU1MTFGMDkwQzAwMEUwRkYyMjUzRDhFRjMyMDAxMjAxMTAwMUZGRkZERQorOjQwMTkwNjAwRkY0MENEMDYyQTAxMDAwMDAxMDIwMDA0MDkwMjc0MDAwMTAxMDBBMDMyMDkwNDAwMDAwRUZGMDAwMDAwMDcwNTAxMDI0MDAwMDAwNzA1MDIwMjQwMDAwMDA3MDUwMzAyNDAwMDAwMDcwNTA0MDI0MDAwMDAwNzA1MDUwMjQwMDA1QgorOjQwMTk0NjAwMDAwNzA1MDYwMjQwMDAwMDA3MDUwNzAyNDAwMDAwMDcwNTgxMDI0MDAwMDEwNzA1ODIwMjQwMDAwMTA3MDU4MzAyNDAwMDAxMDcwNTg0MDI0MDAwMDEwNzA1ODUwMjQwMDAwMTA3MDU4NjAyNDAwMDAxMDcwNTg3MDI0MDAwMDFGMworOjQwMTk4NjAwMDQwMzA5MDQ0ODAzNEIwMDY1MDA3OTAwNzMwMDcwMDA2MTAwNkUwMDJDMDAyMDAwNjEwMDIwMDA2NDAwNjkwMDc2MDA2OTAwNzMwMDY5MDA2RjAwNkUwMDIwMDA2RjAwNjYwMDIwMDA0OTAwNkUwMDZFMDA2RjAwNTMwMDc5MDA0MAorOjQwMTlDNjAwNzMwMDIwMDA0OTAwNkUwMDYzMDAyRTAwMjQwMzRCMDA2NTAwNzkwMDczMDA3MDAwNjEwMDZFMDAyMDAwNTUwMDUzMDA0MTAwMkQwMDM0MDAzOTAwNTcwMDRDMDA0MzAwMjIwMzU1MDA1MzAwNDEwMDJEMDAzNjAwMzUwMDIwMDBCNQorOjQwMUEwNjAwMzIwMDMwMDAzMDAwMzMwMDZBMDA2MTAwNkUwMDMzMDAzMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRQorOjQwMUE0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MAorOjQwMUE4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMAorOjQwMUFDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjE3NzkwMDAyMUIzMQorOjE1MUIwNjAwMDQwMDAyMTcyNzAwMDIxN0EwMDAwMjFCMTAwMDAyMUIxNDAwMDIxNTc4RTAKKzowMDAwMDAwMUZGCisKKwlUaGUgZmlybXdhcmUgY29udGFpbmVkIGhlcmVpbiBpcworCisJCUNvcHlyaWdodCAoQykgMTk5OS0yMDAzCisJCUtleXNwYW4sIEEgZGl2aXNpb24gb2YgSW5ub1N5cyBJbmNvcnBvcmF0ZWQgKCJLZXlzcGFuIikKKworCWFzIGFuIHVucHVibGlzaGVkIHdvcmsuIFRoaXMgbm90aWNlIGRvZXMgbm90IGltcGx5IHVucmVzdHJpY3RlZCBvcgorCXB1YmxpYyBhY2Nlc3MgdG8gdGhlIHNvdXJjZSBjb2RlIGZyb20gd2hpY2ggdGhpcyBmaXJtd2FyZSBpbWFnZSBpcworCWRlcml2ZWQuICBFeGNlcHQgYXMgbm90ZWQgYmVsb3cgdGhpcyBmaXJtd2FyZSBpbWFnZSBtYXkgbm90IGJlCisJcmVwcm9kdWNlZCwgdXNlZCwgc29sZCBvciB0cmFuc2ZlcnJlZCB0byBhbnkgdGhpcmQgcGFydHkgd2l0aG91dAorCUtleXNwYW4ncyBwcmlvciB3cml0dGVuIGNvbnNlbnQuICBBbGwgUmlnaHRzIFJlc2VydmVkLgorCisJUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCBmb3IgdGhlIGRpc3RyaWJ1dGlvbiBvZiB0aGlzIGZpcm13YXJlCisJaW1hZ2UgYXMgcGFydCBvZiBhIExpbnV4IG9yIG90aGVyIE9wZW4gU291cmNlIG9wZXJhdGluZyBzeXN0ZW0ga2VybmVsCisJaW4gdGV4dCBvciBiaW5hcnkgZm9ybSBhcyByZXF1aXJlZC4KKworCVRoaXMgZmlybXdhcmUgbWF5IG5vdCBiZSBtb2RpZmllZCBhbmQgbWF5IG9ubHkgYmUgdXNlZCB3aXRoCisJS2V5c3BhbiBoYXJkd2FyZS4gIERpc3RyaWJ1dGlvbiBhbmQvb3IgTW9kaWZpY2F0aW9uIG9mIHRoZQorCWtleXNwYW4uYyBkcml2ZXIgd2hpY2ggaW5jbHVkZXMgdGhpcyBmaXJtd2FyZSwgaW4gd2hvbGUgb3IgaW4KKwlwYXJ0LCByZXF1aXJlcyB0aGUgaW5jbHVzaW9uIG9mIHRoaXMgc3RhdGVtZW50LiIKKworc3RhdGljIGNoYXIgdGhlRmlybXdhcmVEYXRlNDlbXSA9CisgICAgICAgICIwMi8xNC8yMDAyICAwMjozN3AgICAgICAgICAgICAgIDE5LDM0NyBVU0E0OSI7CisKK3N0YXRpYyBjaGFyIHRoZUZpcm13YXJlRGF0ZTY1W10gPQorICAgICAgICAiMDEvMzEvMjAwMyAgMDk6MzRhICAgICAgICAgICAgICAxOSwzMzEgVVNBNjUiOworCmRpZmYgLS1naXQgYS9maXJtd2FyZS9rZXlzcGFuX3BkYS9rZXlzcGFuX3BkYS5IRVggYi9maXJtd2FyZS9rZXlzcGFuX3BkYS9rZXlzcGFuX3BkYS5IRVgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmZjZjAyYgotLS0gL2Rldi9udWxsCisrKyBiL2Zpcm13YXJlL2tleXNwYW5fcGRhL2tleXNwYW5fcGRhLkhFWApAQCAtMCwwICsxLDgzIEBACis6MDMwMDAwMDAwMjAyMDBGOQorOjA0MDAyMzAwMDIwNTVGMDA3MworOjA0MDA0MzAwMDIwMTAwMDBCNgorOjA1MDAzMDAwMDAwMDAwMDAwMENCCis6MTAwMTAwMDAwMjAyOTYwMDAyMDAwMDAwMDIwMDAwMDAwMjAwMDAwMDRGCis6MTAwMTEwMDAwMjAwMDAwMDAyMDAwMDAwMDIwMDAwMDAwMjAwMDAwMEQ3Cis6MTAwMTIwMDAwMjAwMDAwMDAyMDAwMDAwMDIwNDYxMDAwMjA0ODkwMEQ1Cis6MTAwMjAwMDA3NTgxNUVFNEY1MzJGNTMzRjUzMEY1MzFGNTM0QzIwMDMxCis6MTAwMjEwMDBDMjAxQTkwMDc0RkU5MDEwMDBGMEEzRDlGQzc0RkQ5MEY3Cis6MTAwMjIwMDAxMTAwRjBBM0Q5RkM3NDAyOTA3RjlERjA3NDAwOTA3RkMwCis6MTAwMjMwMDA5N0YwNzQ4NjkwN0Y5RUYwOTA3Rjk1NzQwM0YwOTA3Rjg2Cis6MTAwMjQwMDBBRkUwRDJFMEYwNzQwMTkwN0ZBQkYwOTA3RkFFRjA5MDIxCis6MTAwMjUwMDA3RkFDNzQwNEYwOTA3RkFENzQwNEYwOTA3RkM5RjA3NEFCCis6MTAwMjYwMDA4NDkwN0Y5OEYwNzQwMEY1OTg3NUM4MzA3QjA1OTEyMEQ0Cis6MTAwMjcwMDBEMkNBNzU5ODUwRDJFOEQyQUZEMkFDNzQwMEY1ODY5MDRECis6MTAwMjgwMDA3RkQ2NzQwMkYwNzkyRTdBMDA3QjAwREJGRURBRkFEOTkxCis6MTAwMjkwMDBGNjc0MDZGMDgwRkVDMDg2QzA4MkMwODNDMDg0QzA4NTJDCis6MTAwMkEwMDBDMEUwRTU5MUMyRTRGNTkxOTA3RkFCNzQwMUYwOTA3RkRFCis6MTAwMkIwMDBFOEUwRjlBM0UwRkFBM0UwRkJBM0UwRkNFOTU0NjBCNEIyCis6MTAwMkMwMDAwMDAzMDIwMzM5QjQ0MDZFQkEwMDBCMTIwNDIwNDAwMzRECis6MTAwMkQwMDAwMjA0MDIwMjA0MEFCQTAxMDMwMjA0MEFCQTAyMDMwMjc3Cis6MTAwMkUwMDAwNDBBQkEwMzAzMDIwNDQ0QkEwNDFFQkIwMDBBOTA3RjQ2Cis6MTAwMkYwMDA5NUUwNDQwMkYwMDIwNDAyOTA3Rjk4RTA1NEZERjA5MEYzCis6MTAwMzAwMDA3Rjk1RTA1NEZERjAwMjA0MDJCQTA1MDMwMjA0MEFCQTI0Cis6MTAwMzEwMDAwNjE5QkIwMDA4RTUzM0QzOTUzMjAyMDNERUJCMDEwOEEyCis6MTAwMzIwMDBFNTMyQzM5NTMzMDIwM0RFMDIwNDBBQkEwNzA1OEIzNEIzCis6MTAwMzMwMDAwMjA0MDIwMjA0MEEwMjA0MEFCQTAwMjBCOTgwMTA5MEUyCis6MTAwMzQwMDA3RjAwRTRGMEEzRjA5MDdGQjU3NDAyRjAwMjA0MDJCOURDCis6MTAwMzUwMDA4MjAyODBFQkI5ODEwMjgwRTYwMjA0MEFCQTAxMEZCQjc3Cis6MTAwMzYwMDAwMDAzMDIwNDBBQkIwMTAzMDIwNDAyMDIwNDBBQkEwM0U2Cis6MTAwMzcwMDAwRkJCMDAwMzAyMDQwQUJCMDEwMzAyMDQwMjAyMDQwQUM5Cis6MTAwMzgwMDBCQTA2NTZCQzAxMEY5MDdGRDQ3NDA2RjA5MDdGRDU3NEU2Cis6MTAwMzkwMDAxMkYwMDIwNDAyQkMwMjEyQkIwMDZGOTA3RkQ0NzQwNkZDCis6MTAwM0EwMDBGMDkwN0ZENTc0MjRGMDAyMDQwMkJDMDMyOTc0MDRDM0M2Cis6MTAwM0IwMDA5QjQwNTc2MDU1RUIyQjkwMDY0NDI1ODJGNTgyNzQwMEQ0Cis6MTAwM0MwMDAzNTgzRjU4M0UwRjlBM0UwRkE5MDdGRDRFOUYwOTA3RkRDCis6MTAwM0QwMDBENUVBRjAwMjA0MDIwMjA0MEFCQTA4MEY3NDAxOTA3RjAxCis6MTAwM0UwMDAwMEYwNzQwMTkwN0ZCNUYwMDIwNDAyQkEwOTAzMDIwNDIwCis6MTAwM0YwMDAwMkJBMEEwNTc0MDAwMjAzREVCQTBCMDMwMjA0MDIwMjA5Cis6MTAwNDAwMDAwNDBBOTA3RkI0NzQwMkYwODAwOTkwN0ZCNEUwNDQwMTQ0Cis6MTAwNDEwMDBGMDgwMDBEMEUwRDA4NUQwODREMDgzRDA4MkQwODYzMkU2Cis6MTAwNDIwMDBFQjIwRTcxRUMzOTQwQTUwMTlFQjIzMjRGRUY1ODI3NEQ3Cis6MTAwNDMwMDAwNTM0MDBGNTgzRTBGNUNCRjVDREEzRTBGNUNBRjVDQ0E2Cis6MTAwNDQwMDBDMzIyRDMyMkI5NDExMUVCNjRGRjU0ODRGQjkwN0Y5OEZGCis6MTAwNDUwMDBFMDU0N0I0QkYwMDIwNDAyOTA3RjlCRTA2NEZGMDIwM0I4Cis6MTAwNDYwMDBERUMwODZDMDgyQzA4M0MwODRDMDg1QzBFMEU1OTFDMjgyCis6MTAwNDcwMDBFNEY1OTE5MDdGQTk3NDA0RjAxMjA1QTBEMEUwRDA4NTM2Cis6MTAwNDgwMDBEMDg0RDA4M0QwODJEMDg2MzJDMDg2QzA4MkMwODNDMDYwCis6MTAwNDkwMDA4NEMwODVDMEUwRTU5MUMyRTRGNTkxOTA3RkFBNzQwNDIwCis6MTAwNEEwMDBGMDkwN0ZDOUUwRjlFNEY1ODY5MDdEQzA3NTg1MTA4NUYwCis6MTAwNEIwMDAzMjg0RTAwNTg2MDU4NEYwRTU4NEI1MzMwMjgwMDkwNUMxCis6MTAwNEMwMDAzMjA1ODZBM0Q5RUM4MDAwOTA3RkM5RjBCMTMxRDBFMDJECis6MTAwNEQwMDBEMDg1RDA4NEQwODNEMDgyRDA4NjMyRTRGNTg2OTA3RkQ4Cis6MTAwNEUwMDBCQ0UwMjBFMTRCOTA3RDAwRTUzMkYwQTNFNTMzRjBBM0MyCis6MTAwNEYwMDBFNTMwRjBBM0U1MzFGMEEzRTQzMDAwMDEwNEYwQTMwNUZBCis6MTAwNTAwMDA4NjkwMTAwMDc5MTBFMEEzMDU4NkYwQTMwNTg2RDlGNjQxCis6MTAwNTEwMDAwNTg2NzRGQ0YwQTMwNTg2OTAxMTAwNzkxMEUwQTMwNTEwCis6MTAwNTIwMDA4NkYwQTMwNTg2RDlGNkU0RjU4NjkwN0ZCRDc0MjZGMEEzCis6MTAwNTMwMDAyMjIwMDAxM0U1MzJCNTMzMDEyMjA1MzM3NTgzMTA4NTdGCis6MTAwNTQwMDAzMzgyRTBGNTk5RDIwMDc0MDBCNTM0MDEyMkU1MzNEMzRCCis6MTAwNTUwMDA5NTMyQzM5NTM0NDBGNTc1MzQwMEQyMDEwMjA1QTBDMDMwCis6MTAwNTYwMDA4NkMwODJDMDgzQzA4NEMwODVDMEUwMzA5OTA3QzI5OTJDCis6MTAwNTcwMDBDMjAwMTIwNTM0MzA5ODA1MTIwNThBQzI5OEQwRTBEMDI2Cis6MTAwNTgwMDA4NUQwODREMDgzRDA4MkQwODYzMjc1ODMxMTg1MzA4MjI1Cis6MTAwNTkwMDAwNTgyRTU5OUYwRTU4MkI1MzEwMTIyMDUzMEIxQTAyMjRFCis6MTAwNUEwMDA5MDdGQjhFMDIwRTEzODIwMDEzNkU1MzBCNTMxMDEyMkY2Cis6MTAwNUIwMDBFNEY1ODY3NTgzMTEwNTg2OTA3RTAwRjBBMzA1ODY3OUEzCis6MTAwNUMwMDAwMUU1MzBCNTMxMDI4MDEwMDUzMTg1MzE4MkUwMDU4NkM0Cis6MTAwNUQwMDBGMEEzMDU4NjA5Qjk0MEU5OTA3RkI5RTk2MDAxRjAyMkVFCis6MTAwNUUwMDBDMjAxRTRGNTg2OTA3RTAwNzQwMUYwQTM3NDAyRjA5MERECis6MTAwNUYwMDA3RkI5RjAyMkMyOTlGNTk5MzA5OUZEQzI5OTIyRTU1RTQyCis6MTAwNjAwMDBGNjNDRkQ4RkZFQzhGRjY0RkZCMkZGRDlGRkVERkZGMzlDCis6MTAwNjEwMDBGRkZBMTIwMTAwMDFGRkZGRkY0MENEMDYwNDAxODlBQjg0Cis6MTAwNjIwMDAwMTAyMDMwMTA5MDIyMDAwMDEwMTAwODAzMjA5MDQwMEQ3Cis6MTAwNjMwMDAwMDAyRkZGRkZGMDAwNzA1ODIwMzQwMDAwMTA3MDUwMkRCCis6MTAwNjQwMDAwMjQwMDAwMDA2NEMwNjUwMDY3MjA2QTAwNDAzMDAwMDlCCis6MTAwNjUwMDAyMjAzNDEwMDQzMDA0RDAwNDUwMDIwMDA3NTAwNzMwMDU3Cis6MTAwNjYwMDA2MjAwMjAwMDc3MDA2OTAwNjQwMDY3MDA2NTAwNzQwMDg0Cis6MTAwNjcwMDA3MzAwMkUwMzQxMDA0MzAwNEQwMDQ1MDAyMDAwNTUwMDRCCis6MTAwNjgwMDA1MzAwNDIwMDIwMDA3MzAwNjUwMDcyMDA2OTAwNjEwMEExCis6MTAwNjkwMDA2QzAwMjAwMDc3MDA2OTAwNjQwMDY3MDA2NTAwNzQwMDRBCis6MDYwNkEwMDAwNjAzMzQwMDM3MDBFMAorOjAwMDAwMDAxRkYKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL3NlcmlhbC9rZXlzcGFuX3BkYS5TIGIvZmlybXdhcmUva2V5c3Bhbl9wZGEva2V5c3Bhbl9wZGEuUwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy91c2Ivc2VyaWFsL2tleXNwYW5fcGRhLlMKcmVuYW1lIHRvIGZpcm13YXJlL2tleXNwYW5fcGRhL2tleXNwYW5fcGRhLlMKZGlmZiAtLWdpdCBhL2Zpcm13YXJlL2tleXNwYW5fcGRhL3hpcmNvbV9wZ3MuSEVYIGIvZmlybXdhcmUva2V5c3Bhbl9wZGEveGlyY29tX3Bncy5IRVgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTliMDBkNwotLS0gL2Rldi9udWxsCisrKyBiL2Zpcm13YXJlL2tleXNwYW5fcGRhL3hpcmNvbV9wZ3MuSEVYCkBAIC0wLDAgKzEsODcgQEAKKzowMzAwMDAwMDAyMDIwMEY5Cis6MDQwMDIzMDAwMjA1OUIwMDM3Cis6MDUwMDMwMDAwMDAwMDAwMDAwQ0IKKzowNDAwNDMwMDAyMDEwMDAwQjYKKzoxMDAxMDAwMDAyMDJCQTAwMDIwMDAwMDAwMjAwMDAwMDAyMDAwMDAwMkIKKzoxMDAxMTAwMDAyMDAwMDAwMDIwMDAwMDAwMjAwMDAwMDAyMDAwMDAwRDcKKzoxMDAxMjAwMDAyMDAwMDAwMDIwMDAwMDAwMjA0ODUwMDAyMDRCOTAwODEKKzoxMDAyMDAwMDc1ODE1RUU0RjUzMkY1MzNGNTMwRjUzMUY1MzRDMjAwMzEKKzoxMDAyMTAwMEMyMDFBOTAwNzRGRTkwMTAwMEYwQTNEOUZDNzRGRDkwRjcKKzoxMDAyMjAwMDExMDBGMEEzRDlGQzkwN0Y5NDc0QkZGMDkwN0Y5NTc0NzcKKzoxMDAyMzAwMEVGRjA3NDEwOTA3RjlFRjA3NDAwOTA3Rjk4RjA3NDQwRkYKKzoxMDAyNDAwMDkwN0Y5REYwNzQwMDkwN0Y5N0YwNzQ4MjkwN0Y5RUYwNzUKKzoxMDAyNTAwMDkwN0Y5NTc0MDNGMDkwN0ZBRkUwRDJFMEYwNzQwMTkwNEUKKzoxMDAyNjAwMDdGQUJGMDkwN0ZBRUYwOTA3RkFDNzQwNEYwOTA3RkFERTgKKzoxMDAyNzAwMDc0MDRGMDkwN0ZDOUYwNzQwNzkwN0ZBRkYwNzQyMDkwMDEKKzoxMDAyODAwMDdGOUNGMDc0ODA5MDdGOThGMDc0NTNGNTk4NzVDODMwMTcKKzoxMDAyOTAwMDdCMDU5MTQ0RDJDQTc1OTg1MEQyRThEMkFGRDJBQzc0RTMKKzoxMDAyQTAwMDAwRjU4NjkwN0ZENjc0MDJGMDc5MkU3QTAwN0IwMERCMTEKKzoxMDAyQjAwMEZFREFGQUQ5RjY3NDA2RjA4MEZFQzA4NkMwODJDMDgzRUEKKzoxMDAyQzAwMEMwODRDMDg1QzBFMEU1OTFDMkU0RjU5MTkwN0ZBQjc0MzUKKzoxMDAyRDAwMDAxRjA5MDdGRThFMEY5QTNFMEZBQTNFMEZCQTNFMEZDRTMKKzoxMDAyRTAwMEU5NTQ2MEI0MDAwMzAyMDM1REI0NDA2RUJBMDAwQjEyMUYKKzoxMDAyRjAwMDA0NDQ0MDAzMDIwNDI2MDIwNDJFQkEwMTAzMDIwNDJFMjEKKzoxMDAzMDAwMEJBMDIwMzAyMDQyRUJBMDMwMzAyMDQ2OEJBMDQxRUJCMzUKKzoxMDAzMTAwMDAwMEE5MDdGOTVFMDQ0MDJGMDAyMDQyNjkwN0Y5OEUwNjYKKzoxMDAzMjAwMDU0RkRGMDkwN0Y5NUUwNTRGREYwMDIwNDI2QkEwNTAzRDkKKzoxMDAzMzAwMDAyMDQyRUJBMDYxOUJCMDAwOEU1MzNEMzk1MzIwMjA0MzUKKzoxMDAzNDAwMDAyQkIwMTA4RTUzMkMzOTUzMzAyMDQwMjAyMDQyRUJBNEYKKzoxMDAzNTAwMDA3MDU4QjM0MDIwNDI2MDIwNDJFMDIwNDJFQkEwMDIwNjQKKzoxMDAzNjAwMEI5ODAxMDkwN0YwMEU0RjBBM0YwOTA3RkI1NzQwMkYwQTQKKzoxMDAzNzAwMDAyMDQyNkI5ODIwMjgwRUJCOTgxMDI4MEU2MDIwNDJFRDMKKzoxMDAzODAwMEJBMDEwRkJCMDAwMzAyMDQyRUJCMDEwMzAyMDQyNjAyQzQKKzoxMDAzOTAwMDA0MkVCQTAzMEZCQjAwMDMwMjA0MkVCQjAxMDMwMjA0QTgKKzoxMDAzQTAwMDI2MDIwNDJFQkEwNjU2QkMwMTBGOTA3RkQ0NzQwNkYwQzQKKzoxMDAzQjAwMDkwN0ZENTc0NUFGMDAyMDQyNkJDMDIxMkJCMDA2RjkwRTUKKzoxMDAzQzAwMDdGRDQ3NDA2RjA5MDdGRDU3NDZDRjAwMjA0MjZCQzAzRDEKKzoxMDAzRDAwMDI5NzQwNEMzOUI0MDU3NjA1NUVCMkI5MDA2OEMyNTgyRjMKKzoxMDAzRTAwMEY1ODI3NDAwMzU4M0Y1ODNFMEY5QTNFMEZBOTA3RkQ0QjkKKzoxMDAzRjAwMEU5RjA5MDdGRDVFQUYwMDIwNDI2MDIwNDJFQkEwODBGMzUKKzoxMDA0MDAwMDc0MDE5MDdGMDBGMDc0MDE5MDdGQjVGMDAyMDQyNkJBNjkKKzoxMDA0MTAwMDA5MDMwMjA0MjZCQTBBMDU3NDAwMDIwNDAyQkEwQjAzOTcKKzoxMDA0MjAwMDAyMDQyNjAyMDQyRTkwN0ZCNDc0MDJGMDgwMDk5MDdGQUIKKzoxMDA0MzAwMEI0RTA0NDAxRjA4MDAwRDBFMEQwODVEMDg0RDA4M0QwRjcKKzoxMDA0NDAwMDgyRDA4NjMyRUIyMEU3MUVDMzk0MEE1MDE5RUIyMzI0OTYKKzoxMDA0NTAwMDQ2RjU4Mjc0MDYzNDAwRjU4M0UwRjVDQkY1Q0RBM0UwRDQKKzoxMDA0NjAwMEY1Q0FGNUNDQzMyMkQzMjJCOTQxMTFFQjY0RkY1NDgwMDUKKzoxMDA0NzAwMEZCOTA3Rjk4RTA1NDdGNEJGMDAyMDQyNjkwN0Y5QkUwMzYKKzoxMDA0ODAwMDY0RkYwMjA0MDJDMDg2QzA4MkMwODNDMDg0QzA4NUMwRUQKKzoxMDA0OTAwMEUwRTU5MUMyRTRGNTkxOTA3RkE5NzQwNEYwNzQyMDkwOTYKKzoxMDA0QTAwMDdGOUNGMDEyMDVEQzc0MjA5MDdGOUNGMEQwRTBEMDg1MUEKKzoxMDA0QjAwMEQwODREMDgzRDA4MkQwODYzMkMwODZDMDgyQzA4M0MwMzAKKzoxMDA0QzAwMDg0QzA4NUMwRTA3NDEwOTA3RjlDRjBFNTkxQzJFNEY1OTMKKzoxMDA0RDAwMDkxOTA3RkFBNzQwNEYwOTA3RkM5RTBGOUU0RjU4NjkwQ0EKKzoxMDA0RTAwMDdEQzA3NTg1MTA4NTMyODRFMDA1ODYwNTg0RjBFNTg0M0QKKzoxMDA0RjAwMEI1MzMwMjgwMDkwNTMyMDU4NkEzRDlFQzgwMDA5MDdGRDAKKzoxMDA1MDAwMEM5RjBCMTZENzQyMDkwN0Y5Q0YwRDBFMEQwODVEMDg0OEMKKzoxMDA1MTAwMEQwODNEMDgyRDA4NjMyRTRGNTg2OTA3RkJDRTAyMEUxQTMKKzoxMDA1MjAwMDRCOTA3RDAwRTUzMkYwQTNFNTMzRjBBM0U1MzBGMEEzNzYKKzoxMDA1MzAwMEU1MzFGMEEzRTQzMDAwMDEwNEYwQTMwNTg2OTAxMDAwM0IKKzoxMDA1NDAwMDc5MTBFMEEzMDU4NkYwQTMwNTg2RDlGNjA1ODY3NEZDMkMKKzoxMDA1NTAwMEYwQTMwNTg2OTAxMTAwNzkxMEUwQTMwNTg2RjBBMzA1QUQKKzoxMDA1NjAwMDg2RDlGNkU0RjU4NjkwN0ZCRDc0MjZGMDIyMjAwMDEzMkMKKzoxMDA1NzAwMEU1MzJCNTMzMDEyMjA1MzM3NTgzMTA4NTMzODJFMEY1MEEKKzoxMDA1ODAwMDk5RDIwMDc0MDBCNTM0MDEyMkU1MzNEMzk1MzJDMzk1NzYKKzoxMDA1OTAwMDM0NDBGNTc1MzQwMEQyMDEwMjA1RENDMDg2QzA4MkMwNEIKKzoxMDA1QTAwMDgzQzA4NEMwODVDMEUwMzA5OTA3QzI5OUMyMDAxMjA1OUIKKzoxMDA1QjAwMDcwMzA5ODA1MTIwNUM2QzI5OEQwRTBEMDg1RDA4NEQwOUUKKzoxMDA1QzAwMDgzRDA4MkQwODYzMjc1ODMxMTg1MzA4MjA1ODJFNTk5ODkKKzoxMDA1RDAwMEYwRTU4MkI1MzEwMTIyMDUzMEIxREMyMjc0MTA5MDdGNDQKKzoxMDA1RTAwMDlDRjA5MDdGQjhFMDIwRTEzRTIwMDEzQ0U1MzBCNTMxNDEKKzoxMDA1RjAwMDAxMjJFNEY1ODY3NTgzMTEwNTg2OTA3RTAwRjBBMzA1M0YKKzoxMDA2MDAwMDg2NzkwMUU1MzBCNTMxMDI4MDEwMDUzMTg1MzE4MkUwMEYKKzoxMDA2MTAwMDA1ODZGMEEzMDU4NjA5Qjk0MEU5NzQxMDkwN0Y5Q0YwMjcKKzoxMDA2MjAwMDkwN0ZCOUU5NjAwMUYwMjJDMjAxRTRGNTg2OTA3RTAwNzYKKzoxMDA2MzAwMDc0MDFGMEEzNzQwMkYwOTA3RkI5RjAyMkMyOTlGNTk5ODkKKzoxMDA2NDAwMDMwOTlGREMyOTkyMkU1NUVGNjNDRkQ4RkZFQzhGRjY0M0QKKzoxMDA2NTAwMEZGQjJGRkQ5RkZFREZGRjNGRkZBMTIwMTAwMDFGRkZGMjgKKzoxMDA2NjAwMEZGNDBDRDA2MDQwMTg5QUIwMTAyMDMwMTA5MDIyMDAwMEQKKzoxMDA2NzAwMDAxMDEwMDgwMzIwOTA0MDAwMDAyRkZGRkZGMDAwNzA1QUUKKzoxMDA2ODAwMDgyMDM0MDAwMDEwNzA1MDIwMjQwMDAwMDA2OTQwNjk4MUMKKzoxMDA2OTAwMDA2QkEwNkU4MDQwMzAwMDAyMjAzNDEwMDQzMDA0RDAwQUYKKzoxMDA2QTAwMDQ1MDAyMDAwNzUwMDczMDA2MjAwMjAwMDc3MDA2OTAwOUIKKzoxMDA2QjAwMDY0MDA2NzAwNjUwMDc0MDA3MzAwMkUwMzQxMDA0MzAwNkUKKzoxMDA2QzAwMDREMDA0NTAwMjAwMDU1MDA1MzAwNDIwMDIwMDA3MzAwRkIKKzoxMDA2RDAwMDY1MDA3MjAwNjkwMDYxMDA2QzAwMjAwMDc3MDA2OTAwMEQKKzowRTA2RTAwMDY0MDA2NzAwNjUwMDc0MDAwNjAzMzQwMDM3MDBGNAorOjAwMDAwMDAxRkYKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL3NlcmlhbC94aXJjb21fcGdzLlMgYi9maXJtd2FyZS9rZXlzcGFuX3BkYS94aXJjb21fcGdzLlMKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvdXNiL3NlcmlhbC94aXJjb21fcGdzLlMKcmVuYW1lIHRvIGZpcm13YXJlL2tleXNwYW5fcGRhL3hpcmNvbV9wZ3MuUwpkaWZmIC0tZ2l0IGEvZmlybXdhcmUva29yZy9rMTIxMi5kc3AuaWhleCBiL2Zpcm13YXJlL2tvcmcvazEyMTIuZHNwLmloZXgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjE1MTk5NwotLS0gL2Rldi9udWxsCisrKyBiL2Zpcm13YXJlL2tvcmcvazEyMTIuZHNwLmloZXgKQEAgLTAsMCArMSw5ODcgQEAKKzoxMDAwMDAwMDAxRkYxOEZGRjVGRkNGRkYwMEZGMDBGRkZGRkYwMEZGMUMKKzoxMDAwMTAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGRUEKKzoxMDAwMjAwMDI2RkYxOEZGRkZGRjBGRkYwMEZGMDBGRkZGRkYwMEZGOEQKKzoxMDAwMzAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGQ0EKKzoxMDAwNDAwMDAwRkYwQUZGRkZGRjFGRkYwMEZGMDBGRkZGRkYwMEZGOTEKKzoxMDAwNTAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGQUEKKzoxMDAwNjAwMDAwRkYwQUZGRkZGRjFGRkYwMEZGMDBGRkZGRkYwMEZGNzEKKzoxMDAwNzAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGOEEKKzoxMDAwODAwMDAwRkYwQUZGRkZGRjFGRkYwMEZGMDBGRkZGRkYwMEZGNTEKKzoxMDAwOTAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGNkEKKzoxMDAwQTAwMDM4RkYxOEZGRkZGRkRGRkYwMEZGMDBGRkZGRkYwMEZGMkIKKzoxMDAwQjAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGNEEKKzoxMDAwQzAwMDAwRkYwQUZGRkZGRjFGRkYwMEZGMDBGRkZGRkYwMEZGMTEKKzoxMDAwRDAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGMkEKKzoxMDAwRTAwMDAzRkYzQ0ZGRkZGRkZDRkY2N0ZGNDBGRkZGRkZDMEZGNzgKKzoxMDAwRjAwMEZGRkY5M0ZGRkZGRkUwRkYwMEZGMENGRkZGRkYwQ0ZGODAKKzoxMDAxMDAwMDBDRkYwQ0ZGRkZGRjAwRkYzMEZGMENGRkZGRkYwMEZGQTUKKzoxMDAxMTAwMDBGRkY0MEZGRkZGRkY0RkY0N0ZGODBGRkZGRkYwQUZGRDUKKzoxMDAxMjAwMDgyRkYyM0ZGRkZGRjBGRkY4REZGOTNGRkZGRkY3QUZGOEIKKzoxMDAxMzAwMDhERkY4M0ZGRkZGRjcwRkY0N0ZGOTBGRkZGRkYwMEZGNzIKKzoxMDAxNDAwMDAwRkY0OEZGRkZGRjA0RkZBMEZGMjNGRkZGRkYwRkZGOUIKKzoxMDAxNTAwMDQ2RkY5MEZGRkZGRjZBRkYwMEZGMENGRkZGRkYyMEZGM0QKKzoxMDAxNjAwMDAwRkYwNEZGRkZGRjFDRkYwMEZGMDRGRkZGRkYxQ0ZGNTkKKzoxMDAxNzAwMDAwRkYwNEZGRkZGRjFDRkYwMEZGMDRGRkZGRkYxQ0ZGNDkKKzoxMDAxODAwMDAwRkYwNEZGRkZGRjEwRkYwMEZGMDRGRkZGRkYxMEZGNTEKKzoxMDAxOTAwMDAwRkYwNEZGRkZGRjEwRkYwMEZGMDRGRkZGRkYxMEZGNDEKKzoxMDAxQTAwMDAwRkYwNEZGRkZGRjEwRkYwMEZGMDRGRkZGRkYxMEZGMzEKKzoxMDAxQjAwMDAwRkYwNEZGRkZGRjEwRkYwMEZGMDRGRkZGRkYxMEZGMjEKKzoxMDAxQzAwMDAwRkYwNEZGRkZGRjEwRkYwMEZGMDRGRkZGRkYxMEZGMTEKKzoxMDAxRDAwMDAwRkYwNEZGRkZGRjEwRkYwMEZGMDRGRkZGRkYxMEZGMDEKKzoxMDAxRTAwMDcyRkYxQ0ZGRkZGRjVGRkYwMkZGNDBGRkZGRkY0MEZGQUEKKzoxMDAxRjAwMDExRkY5MEZGRkZGRjIwRkYwMEZGNDhGRkZGRkYwMEZGMDAKKzoxMDAyMDAwMDhCRkY5M0ZGRkZGRjIwRkYwMEZGNDBGRkZGRkYwMEZGN0EKKzoxMDAyMTAwMDg2RkY5M0ZGRkZGRjcwRkY4QkZGOTNGRkZGRkYzMEZGMTEKKzoxMDAyMjAwMDhERkY5M0ZGRkZGRjQwRkYwMkZGOTFGRkZGRkY4MEZGNjUKKzoxMDAyMzAwMDAyRkY5MUZGRkZGRjkwRkY4REZGOTNGRkZGRkZDMEZGQzUKKzoxMDAyNDAwMDQ2RkY5MEZGRkZGRjIwRkY4REZGOTNGRkZGRkZEMEZGRDIKKzoxMDAyNTAwMDAwRkY0OEZGRkZGRjAwRkY4QkZGOTNGRkZGRkY0MEZGMDIKKzoxMDAyNjAwMEZGRkY0N0ZGRkZGRkYwRkY4REZGOTNGRkZGRkZFMEZGNjIKKzoxMDAyNzAwMDAwRkYzNEZGRkZGRjE3RkYwMEZGMzhGRkZGRkYxN0ZGRUUKKzoxMDAyODAwMDgwRkYzN0ZGRkZGRjAyRkY4NEZGM0JGRkZGRkYwMkZGRkUKKzoxMDAyOTAwMDAyRkYzNEZGRkZGRjRBRkYwMkZGMzhGRkZGRkY0QUZGNjQKKzoxMDAyQTAwMDAxRkYzNEZGRkZGRjJCRkYwMUZGMzhGRkZGRkYyQkZGOTQKKzoxMDAyQjAwMDgwRkY0M0ZGRkZGRjAwRkY4MkZGOTNGRkZGRkY1MEZGMjAKKzoxMDAyQzAwMDgxRkY0M0ZGRkZGRjIwRkY4MkZGOTNGRkZGRkY2MEZGREYKKzoxMDAyRDAwMDg0RkY0M0ZGRkZGRjAwRkY4MkZGOTNGRkZGRkY3MEZGREMKKzoxMDAyRTAwMDg1RkY0M0ZGRkZGRjIwRkY4M0ZGOTNGRkZGRkZDMEZGNUEKKzoxMDAyRjAwMDgyRkYzN0ZGRkZGRjgxRkYwMEZGMzRGRkZGRkY4OUZGMTEKKzoxMDAzMDAwMDg4RkY0M0ZGRkZGRjAwRkYwMEZGNjhGRkZGRkYwN0ZGQkQKKzoxMDAzMTAwMDgyRkY4M0ZGRkZGRjYwRkYwMEZGNjhGRkZGRkYwN0ZGMTMKKzoxMDAzMjAwMDhDRkY0M0ZGRkZGRjAwRkYwMEZGNjhGRkZGRkYwN0ZGOTkKKzoxMDAzMzAwMDgzRkY4M0ZGRkZGRkMwRkYwMEZGNjhGRkZGRkYwN0ZGOTIKKzoxMDAzNDAwMDhBRkY0M0ZGRkZGRjAwRkYwMEZGNjhGRkZGRkYwN0ZGN0IKKzoxMDAzNTAwMDgyRkY4M0ZGRkZGRjUwRkYwMEZGNjhGRkZGRkYwN0ZGRTMKKzoxMDAzNjAwMDhFRkY0M0ZGRkZGRjAwRkYwMEZGNjhGRkZGRkYwN0ZGNTcKKzoxMDAzNzAwMDgyRkY4M0ZGRkZGRjcwRkYwMEZGNjhGRkZGRkYwN0ZGQTMKKzoxMDAzODAwMDgzRkYzN0ZGRkZGRjAxRkYwMEZGMzRGRkZGRkY4OUZGRkYKKzoxMDAzOTAwMDAwRkYzNEZGRkZGRjI2RkYzMEZGMENGRkZGRkYwMEZGRDEKKzoxMDAzQTAwMDAwRkY0MEZGRkZGRjI2RkYyMEZGNDBGRkZGRkYwNEZGOEQKKzoxMDAzQjAwMDgwRkY0MUZGRkZGRjAyRkZFMEZGMjBGRkZGRkYwRkZGNzUKKzoxMDAzQzAwMDAwRkY2OEZGRkZGRkI2RkY2M0ZGMjJGRkZGRkYwRkZGODUKKzoxMDAzRDAwMDYyRkY2QUZGRkZGRkE2RkY2MkZGNkFGRkZGRkZBNkZGNDMKKzoxMDAzRTAwMDAwRkY2OEZGRkZGRkE2RkYwMEZGMDlGRkZGRkYwN0ZGRjkKKzoxMDAzRjAwMDQwRkY0MUZGRkZGRjAyRkZFMEZGMjBGRkZGRkYwRkZGNzUKKzoxMDA0MDAwMDAwRkY2OEZGRkZGRkI2RkY2M0ZGMjJGRkZGRkYwRkZGNDQKKzoxMDA0MTAwMDYyRkY2QUZGRkZGRkE2RkY2MkZGNkFGRkZGRkZBNkZGMDIKKzoxMDA0MjAwMDAwRkY2OEZGRkZGRkE2RkYwNUZGNDFGRkZGRkYwMkZGODAKKzoxMDA0MzAwMEUwRkYyMEZGRkZGRjBGRkY4QkZGOTNGRkZGRkZCQkZGREUKKzoxMDA0NDAwMDAyRkY0MUZGRkZGRjgyRkZFMEZGMjBGRkZGRkYwRkZGRTIKKzoxMDA0NTAwMDhCRkY5M0ZGRkZGRkNCRkYwNUZGNDFGRkZGRkZFMkZGOTUKKzoxMDA0NjAwMEUwRkYyMEZGRkZGRjBGRkY4QkZGOTNGRkZGRkZEQkZGOEUKKzoxMDA0NzAwMDIwRkYwQ0ZGRkZGRjAwRkYzMEZGMENGRkZGRkYwMEZGMUUKKzoxMDA0ODAwMDAwRkY0MEZGRkZGRjI2RkYwMEZGNDFGRkZGRkYwMkZGQ0QKKzoxMDA0OTAwMEUwRkYyMEZGRkZGRjBGRkY4M0ZGOTNGRkZGRkY4MkZGQkYKKzoxMDA0QTAwMDgzRkY5M0ZGRkZGRjlCRkYwM0ZGNDFGRkZGRkYwMkZGNUYKKzoxMDA0QjAwMEUwRkYyMEZGRkZGRjBGRkY4M0ZGOTNGRkZGRkZBMkZGN0YKKzoxMDA0QzAwMDgzRkY5M0ZGRkZGRkJCRkYyMEZGMENGRkZGRkYwMEZGMzkKKzoxMDA0RDAwMDAwRkY0MEZGRkZGRjAwRkY0NEZGOTBGRkZGRkY2MEZGQjIKKzoxMDA0RTAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGMTYKKzoxMDA0RjAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGMDYKKzoxMDA1MDAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGRjUKKzoxMDA1MTAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGRTUKKzoxMDA1MjAwMDIxRkY0MEZGRkZGRjYwRkY0MEZGOTBGRkZGRkYyMEZGMjQKKzoxMDA1MzAwMDAyRkYzNUZGRkZGRjAwRkYwMEZGMzRGRkZGRkYwOEZGNTIKKzoxMDA1NDAwMDAwRkYzQ0ZGRkZGRjg1RkYwQUZGMTRGRkZGRkZBRUZGMjgKKzoxMDA1NTAwMDAwRkZBMEZGRkZGRjAzRkYwMEZGMzVGRkZGRkYwMEZGQ0QKKzoxMDA1NjAwMDAwRkYzNEZGRkZGRjA4RkYwMkZGM0NGRkZGRkYwNUZGMTYKKzoxMDA1NzAwMDBBRkYxNEZGRkZGRkZFRkYwMEZGQTBGRkZGRkYwM0ZGQzYKKzoxMDA1ODAwMDAzRkYzNUZGRkZGRjAwRkYwMEZGMzRGRkZGRkYwOEZGMDEKKzoxMDA1OTAwMDAyRkYzQ0ZGRkZGRjA1RkYwQkZGMTRGRkZGRkY0RUZGQjUKKzoxMDA1QTAwMDAwRkZBMEZGRkZGRjAzRkYwMEZGMzVGRkZGRkYwMUZGN0MKKzoxMDA1QjAwMDc4RkYxQ0ZGRkZGRjVGRkYwM0ZGMzVGRkZGRkYwMUZGMTkKKzoxMDA1QzAwMDc4RkYxQ0ZGRkZGRjVGRkY1QkZGNDBGRkZGRkZGMEZGQjcKKzoxMDA1RDAwMEZGRkY5M0ZGRkZGRjMwRkY4MEZGNDJGRkZGRkY3MEZGMzEKKzoxMDA1RTAwMEZGRkY5M0ZGRkZGRjYwRkZERkZGNDBGRkZGRkZGMEZGMTQKKzoxMDA1RjAwMEZFRkY5M0ZGRkZGRkYwRkY4MEZGNDJGRkZGRkY3MEZGNTIKKzoxMDA2MDAwMEZGRkY5M0ZGRkZGRjIwRkZDMUZGNDFGRkZGRkY4MEZGQzAKKzoxMDA2MTAwMEZGRkY5M0ZGRkZGRkYwRkYwM0ZGM0NGRkZGRkZGQ0ZGMjcKKzoxMDA2MjAwMDAwRkYzQ0ZGRkZGRjA0RkYwMkZGM0NGRkZGRkYyM0ZGMzMKKzoxMDA2MzAwMDAwRkY0OEZGRkZGRjAwRkY4QkZGOTNGRkZGRkYyMEZGM0UKKzoxMDA2NDAwMDU5RkYxOEZGRkZGRkRGRkYwMEZGNDhGRkZGRkYwMEZGMUMKKzoxMDA2NTAwMDhCRkY5M0ZGRkZGRjIwRkYxOEZGMjNGRkZGRkYwRkZGMUMKKzoxMDA2NjAwMDBDRkYxNEZGRkZGRkU0RkY4QkZGODNGRkZGRkYyNEZGNUUKKzoxMDA2NzAwMDAwRkYyMkZGRkZGRjBGRkYwREZGMThGRkZGRkYwRkZGMUYKKzoxMDA2ODAwMDhCRkY4M0ZGRkZGRjIwRkYwMEZGNDBGRkZGRkYxNEZGRjIKKzoxMDA2OTAwMEUwRkYyMkZGRkZGRjBGRkYxMEZGMThGRkZGRkZEMEZGNUIKKzoxMDA2QTAwMDhCRkY4M0ZGRkZGRjIwRkYwMEZGNDBGRkZGRkYyNEZGQzIKKzoxMDA2QjAwMEUwRkYyMkZGRkZGRjBGRkYxMEZGMThGRkZGRkYzMEZGREIKKzoxMDA2QzAwMDhCRkY4M0ZGRkZGRjIwRkYwMEZGNDBGRkZGRkY0NEZGODIKKzoxMDA2RDAwMEUwRkYyMkZGRkZGRjBGRkYyMkZGMThGRkZGRkY5MEZGNDkKKzoxMDA2RTAwMDhCRkY4M0ZGRkZGRjIwRkYwMEZGNDBGRkZGRkY4NEZGMjIKKzoxMDA2RjAwMEUwRkYyMkZGRkZGRjBGRkYyMkZGMThGRkZGRkY5MEZGMjkKKzoxMDA3MDAwMDBDRkYxOEZGRkZGRjZGRkYwMEZGNDBGRkZGRkYwMEZGMjAKKzoxMDA3MTAwMDg2RkY5M0ZGRkZGRjcwRkY3NkZGMUNGRkZGRkY5RkZGMjkKKzoxMDA3MjAwMDg2RkY4M0ZGRkZGRjUwRkY4NkZGODNGRkZGRkY2NEZGMEQKKzoxMDA3MzAwMDYwRkYyMkZGRkZGRjBGRkY3NEZGMThGRkZGRkY4MUZGMjUKKzoxMDA3NDAwMDAwRkYzNUZGRkZGRjAwRkY2MEZGMUNGRkZGRkY3RkZGODMKKzoxMDA3NTAwMDYxRkYxQ0ZGRkZGRkFGRkY3N0ZGMUNGRkZGRkZBRkZGMzUKKzoxMDA3NjAwMDYzRkYxQ0ZGRkZGRjRGRkYwNUZGMzVGRkZGRkYwMEZGOEIKKzoxMDA3NzAwMDkyRkYzQkZGRkZGRjAwRkYwMEZGMzRGRkZGRkYwOEZGN0EKKzoxMDA3ODAwMDAwRkYzOEZGRkZGRjA4RkYwMEZGM0NGRkZGRkY2NUZGOTIKKzoxMDA3OTAwMDBGRkYxNEZGRkZGRjZFRkYwMEZGNjBGRkZGRkYwM0ZGNkYKKzoxMDA3QTAwMDAwRkY2MEZGRkZGRjEzRkYwMEZGNzhGRkZGRkYxM0ZGNTUKKzoxMDA3QjAwMDAwRkY3OEZGRkZGRjAzRkYwNUZGMzVGRkZGRkZFMEZGQUUKKzoxMDA3QzAwMDdGRkYzOEZGRkZGRjAwRkYwMEZGMzRGRkZGRkYwOEZGNDAKKzoxMDA3RDAwMDAwRkYzOEZGRkZGRjA4RkYwMEZGM0NGRkZGRkY2NUZGNDIKKzoxMDA3RTAwMDEwRkYxNEZGRkZGRjBFRkYwMEZGNjBGRkZGRkYwM0ZGN0UKKzoxMDA3RjAwMDAwRkY2MEZGRkZGRjEzRkYwMEZGNThGRkZGRkYxM0ZGMjUKKzoxMDA4MDAwMDAwRkY1OEZGRkZGRjAzRkY3OUZGMUNGRkZGRkZGRkZGMDMKKzoxMDA4MTAwMDAwRkYwQUZGRkZGRjBGRkYwRUZGMUNGRkZGRkYxRkZGODAKKzoxMDA4MjAwMDhERkY4M0ZGRkZGRkUwRkY3OEZGMjJGRkZGRkYwRkZGMzkKKzoxMDA4MzAwMDE1RkYxQ0ZGRkZGRjg1RkY3NUZGMUNGRkZGRkY4RkZGRUMKKzoxMDA4NDAwMDAwRkY0MEZGRkZGRjQwRkY4QkZGOTNGRkZGRkY4MEZGOTQKKzoxMDA4NTAwMDAyRkY0MEZGRkZGRjYwRkYxMUZGOTBGRkZGRkYyMEZGM0YKKzoxMDA4NjAwMDE2RkYxOEZGRkZGRjFGRkYwRUZGMUNGRkZGRkYxRkZGRkMKKzoxMDA4NzAwMDc1RkYxQ0ZGRkZGRjhGRkY4MEZGMzVGRkZGRkYwMEZGQUQKKzoxMDA4ODAwMDAwRkYzNEZGRkZGRjA4RkYwMEZGNDBGRkZGRkYwMEZGRjYKKzoxMDA4OTAwMDQwRkYzQ0ZGRkZGRjA1RkYxMUZGMTRGRkZGRkY0RUZGNkUKKzoxMDA4QTAwMDAwRkY2OEZGRkZGRjAzRkY4N0ZGODNGRkZGRkZGMEZGRUQKKzoxMDA4QjAwMDg2RkY5M0ZGRkZGRjgwRkY5MEZGMzdGRkZGRkYwMEZGRTIKKzoxMDA4QzAwMDAyRkYzNEZGRkZGRjA4RkYwMEZGNjBGRkZGRkYwM0ZGOTEKKzoxMDA4RDAwMDg5RkY5M0ZGRkZGRjIwRkYwMEZGNjBGRkZGRkYwM0ZGODMKKzoxMDA4RTAwMDg5RkY5M0ZGRkZGRjMwRkYwMEZGNjBGRkZGRkYwM0ZGNjMKKzoxMDA4RjAwMDg5RkY5M0ZGRkZGRjQwRkYwMEZGNjBGRkZGRkYwM0ZGNDMKKzoxMDA5MDAwMDg5RkY5M0ZGRkZGRjUwRkY4NkZGOTdGRkZGRkY5MEZGRDgKKzoxMDA5MTAwMDAzRkYzNUZGRkZGRjAwRkY2MEZGMUNGRkZGRkY3RkZGQUUKKzoxMDA5MjAwMDYzRkYxQ0ZGRkZGRjdGRkYwMEZGNDBGRkZGRkYwMEZGOTMKKzoxMDA5MzAwMDhERkY5M0ZGRkZGRjYwRkY4MkZGOTNGRkZGRkY0MEZGRUMKKzoxMDA5NDAwMDg2RkY5M0ZGRkZGRkEwRkY4M0ZGMzdGRkZGRkY4MEZGQkUKKzoxMDA5NTAwMDc1RkYxQ0ZGRkZGRjFGRkY4M0ZGNDNGRkZGRkYwMEZGMkIKKzoxMDA5NjAwMDg3RkY5M0ZGRkZGRkUwRkY2QUZGMUNGRkZGRkYwRkZGMDIKKzoxMDA5NzAwMDQwRkY0MUZGRkZGRjAwRkY4QkZGOTNGRkZGRkY5MEZGNTIKKzoxMDA5ODAwMDgwRkY0MUZGRkZGRjAwRkY4QkZGOTNGRkZGRkZBMEZGRjIKKzoxMDA5OTAwMDhCRkY4N0ZGRkZGRjkwRkY3RUZGMzhGRkZGRkYwMEZGMDkKKzoxMDA5QTAwMDQwRkYzNEZGRkZGRjA4RkYwMEZGMzhGRkZGRkYwOEZGOTUKKzoxMDA5QjAwMDAwRkYzQ0ZGRkZGRjU1RkYxM0ZGMTRGRkZGRkZCRUZGQ0IKKzoxMDA5QzAwMDAwRkY2MEZGRkZGRjAzRkYwMEZGNjBGRkZGRkYxM0ZGNUIKKzoxMDA5RDAwMDAwRkY1OEZGRkZGRjEzRkYwMEZGNThGRkZGRkYwM0ZGNUIKKzoxMDA5RTAwMDAwRkY2MEZGRkZGRjAzRkYwMEZGNjBGRkZGRkYxM0ZGM0IKKzoxMDA5RjAwMDAwRkY1OEZGRkZGRjEzRkYwMEZGNThGRkZGRkYwM0ZGM0IKKzoxMDBBMDAwMDAwRkY2MEZGRkZGRjAzRkYwMEZGNjBGRkZGRkYxM0ZGMUEKKzoxMDBBMTAwMDAwRkY1OEZGRkZGRjEzRkYwMEZGNThGRkZGRkYwM0ZGMUEKKzoxMDBBMjAwMDAwRkY2MEZGRkZGRjAzRkYwMEZGNjBGRkZGRkYwM0ZGMEEKKzoxMDBBMzAwMDhCRkY5N0ZGRkZGRjkwRkYwNUZGNDFGRkZGRkYwMEZGQzgKKzoxMDBBNDAwMDkyRkY0M0ZGRkZGRjAxRkY4NkZGOTNGRkZGRkZGMEZGRDEKKzoxMDBBNTAwMDg2RkY5M0ZGRkZGRkUxRkY4REZGODNGRkZGRkZFMEZGQjYKKzoxMDBBNjAwMDc4RkYyMkZGRkZGRjBGRkYxNUZGMUNGRkZGRkY4NUZGMzEKKzoxMDBBNzAwMDc1RkYxQ0ZGRkZGRjhGRkY4REZGODNGRkZGRkY0MEZGMTAKKzoxMDBBODAwMDc4RkYyMkZGRkZGRjBGRkY1M0ZGMThGRkZGRkZCNEZGQTgKKzoxMDBBOTAwMDcyRkYxQ0ZGRkZGRjBGRkYwMEZGNDBGRkZGRkYwMEZGODMKKzoxMDBBQTAwMDhCRkY5M0ZGRkZGRjMwRkYwMkZGNDBGRkZGRkY2MEZGNjAKKzoxMDBBQjAwMDExRkY5MEZGRkZGRjIwRkYxNkZGMThGRkZGRkY0RkZGMDIKKzoxMDBBQzAwMDM4RkY0MkZGRkZGRjUwRkY0OEZGOTBGRkZGRkZBMEZGRUUKKzoxMDBBRDAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGMjAKKzoxMDBBRTAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGMTAKKzoxMDBBRjAwMDMwRkY0MEZGRkZGRjAwRkY0N0ZGOTBGRkZGRkY1MEZGNjkKKzoxMDBCMDAwMDAwRkYwQUZGRkZGRjBGRkYxRUZGMUNGRkZGRkYwRkZGOEQKKzoxMDBCMTAwMDIwRkYxQ0ZGRkZGRkNGRkYxNkZGMThGRkZGRkYxRkZGODcKKzoxMDBCMjAwMDAwRkY0MEZGRkZGRjAwRkY0NkZGOTBGRkZGRkY3MEZGNDkKKzoxMDBCMzAwMDE4RkYxQ0ZGRkZGRkVGRkY2QUZGMUNGRkZGRkZCRkZGNTcKKzoxMDBCNDAwMDVDRkYxQ0ZGRkZGRjdGRkYxOEZGMUNGRkZGRkZFRkZGOTUKKzoxMDBCNTAwMDY3RkYxQ0ZGRkZGRjNGRkY1Q0ZGMUNGRkZGRkY3RkZGRTYKKzoxMDBCNjAwMDA4RkY0MEZGRkZGRjAwRkY0NkZGOTBGRkZGRkY3MEZGMDEKKzoxMDBCNzAwMDE4RkYxQ0ZGRkZGRkVGRkY2OUZGMUNGRkZGRkYwRkZGQzgKKzoxMDBCODAwMDVERkYxQ0ZGRkZGRjJGRkYxOEZGMUNGRkZGRkZFRkZGQTQKKzoxMDBCOTAwMDc5RkYxQ0ZGRkZGRjFGRkY1Q0ZGMUNGRkZGRkY3RkZGQjQKKzoxMDBCQTAwMDE4RkYxQ0ZGRkZGRkVGRkY1Q0ZGMUNGRkZGRkY3RkZGMzUKKzoxMDBCQjAwMDE4RkYxQ0ZGRkZGRkVGRkY1Q0ZGMUNGRkZGRkY3RkZGMjUKKzoxMDBCQzAwMDE4RkYxQ0ZGRkZGRkVGRkY1REZGMUNGRkZGRkYyRkZGNjQKKzoxMDBCRDAwMDE4RkYxQ0ZGRkZGRkVGRkY1Q0ZGMUNGRkZGRkY3RkZGMDUKKzoxMDBCRTAwMDE4RkYxQ0ZGRkZGRkVGRkY1Q0ZGMUNGRkZGRkY3RkZGRjUKKzoxMDBCRjAwMDE4RkYxQ0ZGRkZGRkVGRkY1Q0ZGMUNGRkZGRkY3RkZGRTUKKzoxMDBDMDAwMDE4RkYxQ0ZGRkZGRkVGRkY1REZGMUNGRkZGRkYyRkZGMjMKKzoxMDBDMTAwMDE4RkYxQ0ZGRkZGRkVGRkY1Q0ZGMUNGRkZGRkY3RkZGQzQKKzoxMDBDMjAwMDE4RkYxQ0ZGRkZGRkVGRkY1Q0ZGMUNGRkZGRkY3RkZGQjQKKzoxMDBDMzAwMDE4RkYxQ0ZGRkZGRkVGRkY1Q0ZGMUNGRkZGRkY3RkZGQTQKKzoxMDBDNDAwMDE4RkYxQ0ZGRkZGRkVGRkY1REZGMUNGRkZGRkYyRkZGRTMKKzoxMDBDNTAwMDE4RkYxQ0ZGRkZGRkVGRkY2NkZGMUNGRkZGRkYxRkZGREEKKzoxMDBDNjAwMDVDRkYxQ0ZGRkZGRjdGRkYxNkZGMThGRkZGRkY0RkZGMUEKKzoxMDBDNzAwMDhCRkY4N0ZGRkZGRjYxRkYwMEZGMzRGRkZGRkY4OUZGNEUKKzoxMDBDODAwMDAwRkYzNEZGRkZGRjI2RkYwMEZGNjBGRkZGRkYwNkZGQUUKKzoxMDBDOTAwMDgzRkY5M0ZGRkZGRkQwRkYwMEZGNjBGRkZGRkYwNkZGMTIKKzoxMDBDQTAwMDgzRkY5M0ZGRkZGRkUwRkYzOEZGMjJGRkZGRkYwRkZGRUYKKzoxMDBDQjAwMDE5RkYxNEZGRkZGRjg1RkY4QkZGODNGRkZGRkY1MEZGMkUKKzoxMDBDQzAwMDc4RkYyMkZGRkZGRjBGRkYwMEZGNjBGRkZGRkYwN0ZGMUUKKzoxMDBDRDAwMDA0RkYwREZGRkZGRjMwRkYwMEZGNjBGRkZGRkYwN0ZGNzYKKzoxMDBDRTAwMDgzRkY5M0ZGRkZGRkYwRkYwMEZGNjBGRkZGRkYwN0ZGQTEKKzoxMDBDRjAwMDA4RkYwREZGRkZGRjMwRkYwMEZGNjBGRkZGRkYwN0ZGNTIKKzoxMDBEMDAwMDg2RkY5M0ZGRkZGRjQwRkYwMEZGNDBGRkZGRkYwMUZGNTMKKzoxMDBEMTAwMDhCRkY5M0ZGRkZGRjUxRkYwMEZGMzRGRkZGRkY0NkZGRjQKKzoxMDBEMjAwMDAwRkYwOUZGRkZGRjA2RkY4QkZGOTdGRkZGRkY2MUZGM0IKKzoxMDBEMzAwMDgzRkY4QkZGRkZGRkQwRkY4M0ZGOEJGRkZGRkZFMUZGRjAKKzoxMDBENDAwMDg3RkYzN0ZGRkZGRjAxRkY2RUZGMUNGRkZGRkZCRkZGQTUKKzoxMDBENTAwMDg3RkYzN0ZGRkZGRjAwRkY5MkZGMzdGRkZGRkYwMUZGMTUKKzoxMDBENjAwMDdGRkYzOEZGRkZGRjAwRkY3RUZGMzhGRkZGRkYwMUZGMUYKKzoxMDBENzAwMDIzRkYxQ0ZGRkZGRkZGRkY3RUZGMzhGRkZGRkYwMEZGODkKKzoxMDBEODAwMDgzRkY4N0ZGRkZGRkYxRkY4NkZGOEJGRkZGRkY0MUZGMjAKKzoxMDBEOTAwMDZDRkYxQ0ZGRkZGRjJGRkY4N0ZGMzdGRkZGRkYwMEZGRTgKKzoxMDBEQTAwMDhCRkY4QkZGRkZGRkEwRkYwMEZGMzRGRkZGRkYwOEZGNUIKKzoxMDBEQjAwMDQwRkYzOEZGRkZGRjA4RkYwMEZGM0NGRkZGRkY1NUZGMkMKKzoxMDBEQzAwMDFCRkYxNEZGRkZGRkNFRkYwMEZGNjBGRkZGRkYwM0ZGQ0QKKzoxMDBERDAwMDAwRkY2MEZGRkZGRjEzRkYwMEZGNzhGRkZGRkYxM0ZGMUYKKzoxMDBERTAwMDAwRkY3OEZGRkZGRjAzRkYwMEZGNjBGRkZGRkYwM0ZGMkYKKzoxMDBERjAwMDAwRkY2MEZGRkZGRjEzRkYwMEZGNzhGRkZGRkYxM0ZGRkYKKzoxMDBFMDAwMDAwRkY3OEZGRkZGRjAzRkYwMEZGNjBGRkZGRkYwM0ZGMEUKKzoxMDBFMTAwMDAwRkY2MEZGRkZGRjEzRkYwMEZGNzhGRkZGRkYxM0ZGREUKKzoxMDBFMjAwMDAwRkY3OEZGRkZGRjAzRkY4QkZGODNGRkZGRkZFMUZGNjIKKzoxMDBFMzAwMDhCRkY4M0ZGRkZGRkYwRkYwMEZGNzhGRkZGRkYxM0ZGMzMKKzoxMDBFNDAwMDAwRkY3OEZGRkZGRjAzRkY4QkZGOUJGRkZGRkZBMEZGNkIKKzoxMDBFNTAwMDhCRkY4N0ZGRkZGRjkwRkY3RUZGMzhGRkZGRkYwMEZGNDQKKzoxMDBFNjAwMDQwRkYzNEZGRkZGRjA4RkYwMEZGMzhGRkZGRkYwOEZGRDAKKzoxMDBFNzAwMDAwRkYzQ0ZGRkZGRjU1RkYxREZGMTRGRkZGRkYzRUZGN0MKKzoxMDBFODAwMDAwRkY2MEZGRkZGRjAzRkYwMEZGNjBGRkZGRkYxM0ZGOTYKKzoxMDBFOTAwMDAwRkY1OEZGRkZGRjEzRkYwMEZGNThGRkZGRkYwM0ZGOTYKKzoxMDBFQTAwMDAwRkY2MEZGRkZGRjAzRkYwMEZGNjBGRkZGRkYxM0ZGNzYKKzoxMDBFQjAwMDAwRkY1OEZGRkZGRjEzRkYwMEZGNThGRkZGRkYwM0ZGNzYKKzoxMDBFQzAwMDAwRkY2MEZGRkZGRjAzRkYwMEZGNjBGRkZGRkYxM0ZGNTYKKzoxMDBFRDAwMDAwRkY1OEZGRkZGRjEzRkYwMEZGNThGRkZGRkYwM0ZGNTYKKzoxMDBFRTAwMDAwRkY2MEZGRkZGRjAzRkYwMEZGNjBGRkZGRkYwM0ZGNDYKKzoxMDBFRjAwMDhCRkY5N0ZGRkZGRjkwRkYwMEZGMEFGRkZGRkYwRkZGMzEKKzoxMDBGMDAwMDhCRkY4N0ZGRkZGRjYxRkYwMEZGMzRGRkZGRkY4OUZGQkIKKzoxMDBGMTAwMDAwRkYzNEZGRkZGRjI2RkYwMEZGNjBGRkZGRkYwNkZGMUIKKzoxMDBGMjAwMDgzRkY5M0ZGRkZGRkQwRkYwMEZGNjBGRkZGRkYwNkZGN0YKKzoxMDBGMzAwMDgzRkY5M0ZGRkZGRkUwRkY4QkZGODNGRkZGRkY1MUZGNjYKKzoxMDBGNDAwMDc5RkYyMkZGRkZGRjBGRkY3NEZGMThGRkZGRkZCNEZGQzEKKzoxMDBGNTAwMDM4RkYyMkZGRkZGRjBGRkYxRUZGMTRGRkZGRkZENUZGMkIKKzoxMDBGNjAwMDhCRkY4M0ZGRkZGRjUwRkY3OEZGMjJGRkZGRkYwRkZGODQKKzoxMDBGNzAwMDAwRkY2MEZGRkZGRjA3RkYwNEZGMERGRkZGRkYzMEZGRDMKKzoxMDBGODAwMDAwRkY2MEZGRkZGRjA3RkY4M0ZGOTNGRkZGRkZGMEZGRkUKKzoxMDBGOTAwMDAwRkY2MEZGRkZGRjA3RkYwOEZGMERGRkZGRkYzMEZGQUYKKzoxMDBGQTAwMDAwRkY2MEZGRkZGRjA3RkY4NkZGOTNGRkZGRkY0MEZGOEIKKzoxMDBGQjAwMDAwRkY0MEZGRkZGRjAxRkY4QkZGOTNGRkZGRkY1MUZGOEIKKzoxMDBGQzAwMDAwRkYzNEZGRkZGRjQ2RkYwMEZGMDlGRkZGRkYwNkZGQTIKKzoxMDBGRDAwMDhCRkY5N0ZGRkZGRjYxRkY4M0ZGOEJGRkZGRkZEMEZGQkEKKzoxMDBGRTAwMDgzRkY4QkZGRkZGRkUxRkY4N0ZGMzdGRkZGRkYwMUZGNUQKKzoxMDBGRjAwMDZFRkYxQ0ZGRkZGRkJGRkY4N0ZGMzdGRkZGRkYwMEZGRjQKKzoxMDEwMDAwMDkyRkYzN0ZGRkZGRjAxRkY3RkZGMzhGRkZGRkYwMEZGNjkKKzoxMDEwMTAwMDIzRkYxQ0ZGRkZGRkZGRkY3RUZGMzhGRkZGRkYwMEZGRTYKKzoxMDEwMjAwMDgzRkY4N0ZGRkZGRkYxRkY4NkZGOEJGRkZGRkY0MUZGN0QKKzoxMDEwMzAwMDZDRkYxQ0ZGRkZGRjJGRkYwMEZGMEFGRkZGRkYwRkZGRUEKKzoxMDEwNDAwMDhERkY4RkZGRkZGRkM1RkYyMEZGMTRGRkZGRkZBRUZGRTcKKzoxMDEwNTAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMEFGRkZGRkYwRkZGODEKKzoxMDEwNjAwMDhCRkY4M0ZGRkZGRjg0RkYwMEZGMjNGRkZGRkYwRkZGQzYKKzoxMDEwNzAwMDhCRkY5M0ZGRkZGRjhBRkY2NEZGMUNGRkZGRkZFMEZGNzIKKzoxMDEwODAwMDdFRkYzOEZGRkZGRjAwRkYwMEZGMzhGRkZGRkYwOEZGNzQKKzoxMDEwOTAwMDAwRkYzQ0ZGRkZGRkU1RkYyMUZGMTRGRkZGRkY1RUZGQTYKKzoxMDEwQTAwMDAwRkY0MEZGRkZGRjAwRkYwMEZGNThGRkZGRkYwM0ZGQUYKKzoxMDEwQjAwMDAwRkYwQUZGRkZGRjBGRkYwOEZGNDBGRkZGRkYxMEZGQzkKKzoxMDEwQzAwMDQ3RkY5MEZGRkZGRjIwRkYwMEZGMDRGRkZGRkYxQ0ZGMTMKKzoxMDEwRDAwMDAwRkYwNEZGRkZGRjFDRkYwMEZGMDRGRkZGRkYxQ0ZGREEKKzoxMDEwRTAwMDAwRkYwNEZGRkZGRjFDRkYwMEZGMDRGRkZGRkYxMEZGRDYKKzoxMDEwRjAwMDAwRkYwNEZGRkZGRjEwRkYwMEZGMDRGRkZGRkYxMEZGRDIKKzoxMDExMDAwMDAwRkYwNEZGRkZGRjEwRkYwMEZGMDRGRkZGRkYxMEZGQzEKKzoxMDExMTAwMDAwRkYwNEZGRkZGRjEwRkYwMEZGMDRGRkZGRkYxMEZGQjEKKzoxMDExMjAwMDAwRkYwNEZGRkZGRjEwRkYwMEZGMDRGRkZGRkYxMEZGQTEKKzoxMDExMzAwMDAwRkYwNEZGRkZGRjEwRkYwMEZGMDRGRkZGRkYxMEZGOTEKKzoxMDExNDAwMDAwRkYwNEZGRkZGRjEwRkYwMkZGNDBGRkZGRkY0MEZGMTMKKzoxMDExNTAwMDExRkY5MEZGRkZGRjIwRkY3OEZGNDJGRkZGRkY1MEZGQ0UKKzoxMDExNjAwMDQ4RkY5MEZGRkZGRkEwRkYwMEZGMDBGRkZGRkYwMEZGMTEKKzoxMDExNzAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGNzkKKzoxMDExODAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGNjkKKzoxMDExOTAwMEIwRkY0MEZGRkZGRjAwRkY0N0ZGOTBGRkZGRkY1MEZGNDIKKzoxMDExQTAwMDAwRkY0MEZGRkZGRjAwRkY4REZGOTNGRkZGRkY0MEZGQTkKKzoxMDExQjAwMDhERkY5M0ZGRkZGRjUwRkYwMEZGNDBGRkZGRkYwMUZGODgKKzoxMDExQzAwMDhCRkY5M0ZGRkZGRjUxRkYwMEZGNDBGRkZGRkYwMEZGN0EKKzoxMDExRDAwMDQ2RkY5MEZGRkZGRjcwRkY4REZGODNGRkZGRkZEMEZGRjMKKzoxMDExRTAwMDc4RkYyMkZGRkZGRjBGRkYwQ0ZGMThGRkZGRkY5MEZGQUMKKzoxMDExRjAwMDBDRkYxOEZGRkZGRjZGRkYyMEZGMENGRkZGRkYwMEZGM0EKKzoxMDEyMDAwMDAwRkYzNEZGRkZGRjA5RkYwMEZGMzRGRkZGRkYwOEZGNkYKKzoxMDEyMTAwMDAwRkYzOEZGRkZGRjA4RkYwMEZGMzhGRkZGRkYwOUZGNTcKKzoxMDEyMjAwMDAwRkYzOEZGRkZGRjA2RkYwMEZGMzRGRkZGRkYyNkZGMzAKKzoxMDEyMzAwMDk4RkZDQ0ZGRkZGRjM3RkYwMEZGM0NGRkZGRkZBNUZGM0MKKzoxMDEyNDAwMDI0RkYxNEZGRkZGRkZFRkYwMEZGNjBGRkZGRkY3M0ZGOUYKKzoxMDEyNTAwMDA4RkYwREZGRkZGRjE0RkY5OEZGMjBGRkZGRkYwRkZGQTgKKzoxMDEyNjAwMDAwRkY1MEZGRkZGRkM2RkY2OUZGQ0NGRkZGRkYzN0ZGMDYKKzoxMDEyNzAwMDAwRkYwNUZGRkZGRjAwRkYwMEZGNThGRkZGRkZDNkZGNTUKKzoxMDEyODAwMDk4RkYyMEZGRkZGRjBGRkYwMEZGNjBGRkZGRkY3MkZGQ0YKKzoxMDEyOTAwMDA4RkYwREZGRkZGRjE0RkYwMEZGNTBGRkZGRkZDNkZGMTkKKzoxMDEyQTAwMDY5RkZDQ0ZGRkZGRjM3RkYwMEZGMDVGRkZGRkYwMEZGRDcKKzoxMDEyQjAwMDAwRkY1OEZGRkZGRkM2RkY5OEZGMjBGRkZGRkYwRkZGNTMKKzoxMDEyQzAwMDAwRkY2MEZGRkZGRjczRkYwOEZGMERGRkZGRkYxNEZGMkMKKzoxMDEyRDAwMDAwRkY1MEZGRkZGRkM2RkY2OUZGMjBGRkZGRkYwRkZGNkEKKzoxMDEyRTAwMDAwRkYwNUZGRkZGRjAwRkYwMEZGNThGRkZGRkZDNkZGRTUKKzoxMDEyRjAwMDMwRkYwQ0ZGRkZGRjAwRkYwMEZGMEFGRkZGRkYwRkZGQTMKKzoxMDEzMDAwMDAwRkYwQ0ZGRkZGRjMwRkY0N0ZGODBGRkZGRkY1OEZGOEMKKzoxMDEzMTAwMDEwRkYwRkZGRkZGRjAxRkY2NkZGMjNGRkZGRkYwRkZGMUYKKzoxMDEzMjAwMDI2RkYxOEZGRkZGRjk0RkYwMEZGNDhGRkZGRkYwMEZGQUQKKzoxMDEzMzAwMDhCRkY5M0ZGRkZGRjQwRkY4MEZGNDBGRkZGRkYwMEZGOTkKKzoxMDEzNDAwMDQ5RkY5MEZGRkZGRjQwRkYxNkZGMEZGRkZGRkYwMkZGNjcKKzoxMDEzNTAwMDY2RkYyM0ZGRkZGRjBGRkYzOEZGMThGRkZGRkZCNEZGRkIKKzoxMDEzNjAwMDBGRkY0MEZGRkZGRkY0RkY0N0ZGODBGRkZGRkYwQUZGNzMKKzoxMDEzNzAwMDgyRkYyM0ZGRkZGRjBGRkY4REZGOTNGRkZGRkY3QUZGMjkKKzoxMDEzODAwMDdBRkYyNkZGRkZGRjBGRkYxMEZGMjdGRkZGRkYwRkZGNzIKKzoxMDEzOTAwMDM4RkYxOEZGRkZGRkI0RkYyN0ZGMThGRkZGRkZEMkZGNDIKKzoxMDEzQTAwMDAwRkY0OEZGRkZGRjAwRkY4QkZGOTNGRkZGRkYzMEZGQjEKKzoxMDEzQjAwMDhERkY4M0ZGRkZGRjcwRkY0N0ZGOTBGRkZGRkYwMEZGRTAKKzoxMDEzQzAwMDAwRkY0OEZGRkZGRjA0RkZBMEZGMjNGRkZGRkYwRkZGMDkKKzoxMDEzRDAwMDQ2RkY5MEZGRkZGRjZBRkYwMEZGMENGRkZGRkYyMEZGQUIKKzoxMDEzRTAwMDAwRkYwQUZGRkZGRjFGRkYxMEZGMjdGRkZGRkYwRkZGOTgKKzoxMDEzRjAwMDI5RkYxOEZGRkZGRjkyRkY0NkZGODBGRkZGRkYwMEZGNUUKKzoxMDE0MDAwMDhCRkY5M0ZGRkZGRjIwRkY4REZGODNGRkZGRkY3MEZGMjgKKzoxMDE0MTAwMDQ3RkY5MEZGRkZGRjAwRkYwMEZGNDhGRkZGRkYwNEZGQjMKKzoxMDE0MjAwMEEwRkYyM0ZGRkZGRjBGRkY0NkZGOTBGRkZGRkY2QUZGQjQKKzoxMDE0MzAwMDAwRkYwQ0ZGRkZGRjIwRkYwMEZGMDRGRkZGRkYxQ0ZGNkEKKzoxMDE0NDAwMDAwRkYwNEZGRkZGRjFDRkYwMEZGMDRGRkZGRkYxQ0ZGNjYKKzoxMDE0NTAwMDAwRkYwNEZGRkZGRjFDRkYwMEZGMDRGRkZGRkYxMEZGNjIKKzoxMDE0NjAwMDAwRkYwNEZGRkZGRjEwRkYwMEZGMDRGRkZGRkYxMEZGNUUKKzoxMDE0NzAwMDAwRkYwNEZGRkZGRjEwRkYwMEZGMDRGRkZGRkYxMEZGNEUKKzoxMDE0ODAwMDAwRkYwNEZGRkZGRjEwRkYwMEZGMDRGRkZGRkYxMEZGM0UKKzoxMDE0OTAwMDAwRkYwNEZGRkZGRjEwRkYwMEZGMDRGRkZGRkYxMEZGMkUKKzoxMDE0QTAwMDAwRkYwNEZGRkZGRjEwRkYwMEZGMDRGRkZGRkYxMEZGMUUKKzoxMDE0QjAwMDAwRkYwNEZGRkZGRjEwRkYwMEZGMDRGRkZGRkYwM0ZGMUIKKzoxMDE0QzAwMDBERkYxOEZGRkZGRjBGRkYxMEZGMjdGRkZGRkYwRkZGQUMKKzoxMDE0RDAwMDMxRkYxOEZGRkZGRjEyRkYzMEZGMENGRkZGRkYwMEZGN0YKKzoxMDE0RTAwMDA4RkYwQ0ZGRkZGRjAwRkZGRkZGNEZGRkZGRkY4OUZGMUIKKzoxMDE0RjAwMDkwRkYzN0ZGRkZGRjAwRkYwMkZGMzRGRkZGRkYwOEZGRjEKKzoxMDE1MDAwMDAwRkYzNEZGRkZGRjM0RkYwMEZGMzRGRkZGRkY1NUZGRjQKKzoxMDE1MTAwMDQ2RkY4MEZGRkZGRjA4RkYwMEZGMEVGRkZGRkYwRkZGRUEKKzoxMDE1MjAwMDAwRkYwREZGRkZGRjRFRkZBN0ZGMjNGRkZGRkYwRkZGOTEKKzoxMDE1MzAwMDAwRkY2OEZGRkZGRkEzRkYwMEZGMERGRkZGRkY0QUZGNTMKKzoxMDE1NDAwMDQ2RkY4MEZGRkZGRjE4RkYwMEZGMEVGRkZGRkYwRkZGQUEKKzoxMDE1NTAwMDAwRkYwREZGRkZGRjVFRkZBRkZGMjNGRkZGRkYwRkZGNDkKKzoxMDE1NjAwMDAwRkY2OEZGRkZGRkEwRkYwMEZGMERGRkZGRkY1QUZGMTYKKzoxMDE1NzAwMDQ2RkY4MEZGRkZGRjQ4RkYxMEZGMEZGRkZGRkZGRUZGNEEKKzoxMDE1ODAwMDg3RkY5M0ZGRkZGRkZFRkYwMEZGMERGRkZGRkYyRUZGMTIKKzoxMDE1OTAwMDAyRkY0MEZGRkZGRjA2RkZFMEZGMjBGRkZGRkYwRkZGRkUKKzoxMDE1QTAwMDAwRkY0MEZGRkZGRjAxRkY2M0ZGMjJGRkZGRkYwRkZGNzAKKzoxMDE1QjAwMDAwRkYwREZGRkZGRjRBRkY0OUZGNkFGRkZGRkZBM0ZGODgKKzoxMDE1QzAwMDAwRkYwREZGRkZGRjVBRkYwMEZGNjhGRkZGRkZBMEZGQjYKKzoxMDE1RDAwMDAwRkYwREZGRkZGRjVBRkY2M0ZGMjJGRkZGRkYwRkZGMUEKKzoxMDE1RTAwMDAwRkYwREZGRkZGRjRBRkY0OUZGNkFGRkZGRkZBM0ZGNTgKKzoxMDE1RjAwMDAwRkYwREZGRkZGRjVBRkYwMEZGNjhGRkZGRkZBMEZGODYKKzoxMDE2MDAwMDYzRkYyMkZGRkZGRjBGRkYwMEZGMERGRkZGRkY0QUZGRjkKKzoxMDE2MTAwMDQ5RkY2QUZGRkZGRkEzRkYwMEZGMERGRkZGRkY1QUZGMTcKKzoxMDE2MjAwMDAwRkY2OEZGRkZGRkEwRkY2M0ZGMjJGRkZGRkYwRkZGMjgKKzoxMDE2MzAwMDAwRkYwREZGRkZGRjRBRkY0OUZGNkFGRkZGRkZBM0ZGMDcKKzoxMDE2NDAwMDAwRkYwREZGRkZGRjVBRkYwMEZGNjhGRkZGRkZBMEZGMzUKKzoxMDE2NTAwMDYzRkYyMkZGRkZGRjBGRkYwMEZGMERGRkZGRkY0QUZGQTkKKzoxMDE2NjAwMDQ5RkY2QUZGRkZGRkEzRkYwMEZGMERGRkZGRkY1QUZGQzcKKzoxMDE2NzAwMDAwRkY2OEZGRkZGRkEwRkY2M0ZGMjJGRkZGRkYwRkZGRDgKKzoxMDE2ODAwMDAwRkYwREZGRkZGRjRBRkY0OUZGNkFGRkZGRkZBM0ZGQjcKKzoxMDE2OTAwMDAwRkYwREZGRkZGRjVBRkYwMEZGNjhGRkZGRkZBMEZGRTUKKzoxMDE2QTAwMDYzRkYyMkZGRkZGRjBGRkYwMEZGMERGRkZGRkY0QUZGNTkKKzoxMDE2QjAwMDQ5RkY2QUZGRkZGRkEzRkYwMEZGMERGRkZGRkY1QUZGNzcKKzoxMDE2QzAwMDAwRkY2OEZGRkZGRkExRkY0NkZGODBGRkZGRkYyOEZGMkQKKzoxMDE2RDAwMDAwRkYwRUZGRkZGRjBGRkYwMEZGMERGRkZGRkY0RUZGOUMKKzoxMDE2RTAwMEE3RkYyM0ZGRkZGRjBGRkYwMEZGNjhGRkZGRkZBM0ZGMjAKKzoxMDE2RjAwMDAwRkYwREZGRkZGRjRBRkY0NkZGODBGRkZGRkYzOEZGOUYKKzoxMDE3MDAwMDAwRkYwRUZGRkZGRjBGRkYwMEZGMERGRkZGRkY1RUZGNUIKKzoxMDE3MTAwMEFGRkYyM0ZGRkZGRjBGRkYwMEZGNjhGRkZGRkZBMEZGRUEKKzoxMDE3MjAwMDAwRkYwREZGRkZGRjVBRkY2M0ZGMjJGRkZGRkYwRkZGQzgKKzoxMDE3MzAwMDAwRkYwREZGRkZGRjRBRkY0OUZGNkFGRkZGRkZBM0ZGMDYKKzoxMDE3NDAwMDAwRkYwREZGRkZGRjVBRkYwMEZGNjhGRkZGRkZBMEZGMzQKKzoxMDE3NTAwMDYzRkYyMkZGRkZGRjBGRkYwMEZGMERGRkZGRkY0QUZGQTgKKzoxMDE3NjAwMDQ5RkY2QUZGRkZGRkEzRkYwMEZGMERGRkZGRkY1QUZGQzYKKzoxMDE3NzAwMDAwRkY2OEZGRkZGRkEwRkY2M0ZGMjJGRkZGRkYwRkZGRDcKKzoxMDE3ODAwMDAwRkYwREZGRkZGRjRBRkY0OUZGNkFGRkZGRkZBM0ZGQjYKKzoxMDE3OTAwMDAwRkYwREZGRkZGRjVBRkYwMEZGNjhGRkZGRkZBMEZGRTQKKzoxMDE3QTAwMDYzRkYyMkZGRkZGRjBGRkYwMEZGMERGRkZGRkY0QUZGNTgKKzoxMDE3QjAwMDQ5RkY2QUZGRkZGRkEzRkYwMEZGMERGRkZGRkY1QUZGNzYKKzoxMDE3QzAwMDAwRkY2OEZGRkZGRkEwRkY2M0ZGMjJGRkZGRkYwRkZGODcKKzoxMDE3RDAwMDAwRkYwREZGRkZGRjRBRkY0OUZGNkFGRkZGRkZBM0ZGNjYKKzoxMDE3RTAwMDAwRkYwREZGRkZGRjVBRkYwMEZGNjhGRkZGRkZBMEZGOTQKKzoxMDE3RjAwMDYzRkYyMkZGRkZGRjBGRkYwMEZGMERGRkZGRkY0QUZGMDgKKzoxMDE4MDAwMDQ5RkY2QUZGRkZGRkEzRkYwMEZGMERGRkZGRkY1QUZGMjUKKzoxMDE4MTAwMDAwRkY2OEZGRkZGRkEwRkY2M0ZGMjJGRkZGRkYwRkZGMzYKKzoxMDE4MjAwMDAwRkYwREZGRkZGRjRBRkY0OUZGNkFGRkZGRkZBM0ZGMTUKKzoxMDE4MzAwMDAwRkYwREZGRkZGRjVBRkYwMEZGNjhGRkZGRkZBM0ZGNDAKKzoxMDE4NDAwMEZGRkY0RkZGRkZGRkYwRkY4NkZGOTNGRkZGRkY1MEZGRkIKKzoxMDE4NTAwMDhERkY4M0ZGRkZGRjcwRkY0N0ZGOTBGRkZGRkYwMEZGM0IKKzoxMDE4NjAwMDAwRkY0OEZGRkZGRjA0RkZBMEZGMjNGRkZGRkYwRkZGNjQKKzoxMDE4NzAwMDQ2RkY5MEZGRkZGRjZBRkYwMEZGMENGRkZGRkYyMEZGMDYKKzoxMDE4ODAwMDAwRkYwQUZGRkZGRjFGRkYxMEZGMjdGRkZGRkYwRkZGRjMKKzoxMDE4OTAwMDMyRkYxOEZGRkZGRjQyRkY4QkZGODNGRkZGRkZFNEZGRDQKKzoxMDE4QTAwMDhCRkY4M0ZGRkZGRkY1RkY0NkZGOTBGRkZGRkY0NEZGMjUKKzoxMDE4QjAwMDA4RkYyMkZGRkZGRjBGRkZGRkZGNEZGRkZGRkY4OUZGMjIKKzoxMDE4QzAwMDAwRkYwREZGRkZGRjhBRkYwMEZGMEVGRkZGRkYwRkZGNkUKKzoxMDE4RDAwMDAwRkYwREZGRkZGRjRFRkZBN0ZGMjNGRkZGRkYwRkZGREUKKzoxMDE4RTAwMDQ2RkY5MEZGRkZGRjVBRkY4REZGODNGRkZGRkY3MEZGNTIKKzoxMDE4RjAwMDQ3RkY5MEZGRkZGRjAwRkYwMEZGNDhGRkZGRkYwNEZGQ0YKKzoxMDE5MDAwMEEwRkYyM0ZGRkZGRjBGRkY0NkZGOTBGRkZGRkY2QUZGQ0YKKzoxMDE5MTAwMDAwRkYwQ0ZGRkZGRjIwRkYwMEZGMEFGRkZGRkYxRkZGN0MKKzoxMDE5MjAwMDEwRkYyN0ZGRkZGRjBGRkYzNUZGMThGRkZGRkZEMkZGNUMKKzoxMDE5MzAwMDAwRkY0Q0ZGRkZGRjAwRkYwMEZGOTNGRkZGRkYwMEZGRDIKKzoxMDE5NDAwMDBCRkY0MEZGRkZGRjgwRkYxMUZGOTBGRkZGRkZGMEZGNDUKKzoxMDE5NTAwMDAwRkY0MEZGRkZGRjEwRkYxMUZGOTBGRkZGRkZFMEZGQzAKKzoxMDE5NjAwMDQ2RkY4MEZGRkZGRjBBRkY3QUZGMjZGRkZGRkYwRkZGMDIKKzoxMDE5NzAwMDM1RkYxQ0ZGRkZGRjI0RkYxMEZGMjdGRkZGRkYwRkZGQjYKKzoxMDE5ODAwMDMzRkYxOEZGRkZGRkM1RkYwMEZGNDBGRkZGRkZDMEZGNTEKKzoxMDE5OTAwMDExRkY5MEZGRkZGRjYwRkY4REZGOTNGRkZGRkZEMEZGNjAKKzoxMDE5QTAwMDAwRkY0OEZGRkZGRjAwRkY4REZGODNGRkZGRkY3MEZGNzkKKzoxMDE5QjAwMDQ3RkY5MEZGRkZGRjAwRkYwMEZGNDhGRkZGRkYwNEZGMEUKKzoxMDE5QzAwMEEwRkYyM0ZGRkZGRjBGRkY0NkZGOTBGRkZGRkY2QUZGMEYKKzoxMDE5RDAwMDAwRkYwQ0ZGRkZGRjIwRkYwMEZGMEFGRkZGRkYxRkZGQkMKKzoxMDE5RTAwMDEwRkYyN0ZGRkZGRjBGRkYzNEZGMThGRkZGRkY4NUZGRUEKKzoxMDE5RjAwMDAwRkY0MEZGRkZGRjQwRkYxMUZGOTBGRkZGRkY2MEZGNzAKKzoxMDFBMDAwMDhERkY5M0ZGRkZGRkQwRkY4REZGODNGRkZGRkY3MEZGNzAKKzoxMDFBMTAwMDQ3RkY5MEZGRkZGRjAwRkYwMEZGNDhGRkZGRkYwNEZGQUQKKzoxMDFBMjAwMEEwRkYyM0ZGRkZGRjBGRkY0NkZGOTBGRkZGRkY2QUZGQUUKKzoxMDFBMzAwMDAwRkYwQ0ZGRkZGRjIwRkYwMEZGMEFGRkZGRkYxRkZGNUIKKzoxMDFBNDAwMDAwRkY0MEZGRkZGRjAwRkYxMUZGOTBGRkZGRkY2MEZGNUYKKzoxMDFBNTAwMDhERkY5M0ZGRkZGRkQwRkY4REZGODNGRkZGRkY3MEZGMjAKKzoxMDFBNjAwMDQ3RkY5MEZGRkZGRjAwRkYwMEZGNDhGRkZGRkYwNEZGNUQKKzoxMDFBNzAwMEEwRkYyM0ZGRkZGRjBGRkY0NkZGOTBGRkZGRkY2QUZGNUUKKzoxMDFBODAwMDAwRkYwQ0ZGRkZGRjIwRkYwMEZGMEFGRkZGRkYxRkZGMEIKKzoxMDFBOTAwMDAwRkY0OEZGRkZGRjAwRkY4REZGOTNGRkZGRkY4MEZGNjgKKzoxMDFBQTAwMDAwRkY0OEZGRkZGRjAwRkYwMEZGOTNGRkZGRkYwMEZGNjUKKzoxMDFBQjAwMDBERkY0MEZGRkZGRkYwRkYxMUZGOTBGRkZGRkZGMEZGNjIKKzoxMDFBQzAwMDAwRkY0MEZGRkZGRjEwRkYxMUZGOTBGRkZGRkZFMEZGNEYKKzoxMDFBRDAwMEZGRkY0MEZGRkZGRkYwRkY5MEZGMjdGRkZGRkYwRkZGMUIKKzoxMDFBRTAwMDAwRkYwQUZGRkZGRjBGRkYxMEZGMjdGRkZGRkYwRkZGQTEKKzoxMDFBRjAwMDM3RkYxOEZGRkZGRjQyRkY0NkZGODBGRkZGRkYwMEZGOTkKKzoxMDFCMDAwMDg5RkY5M0ZGRkZGRkEwRkY0NkZGODBGRkZGRkYxMEZGNEQKKzoxMDFCMTAwMDg5RkY5M0ZGRkZGRkIwRkY0NkZGODBGRkZGRkYyMEZGMUQKKzoxMDFCMjAwMDg5RkY5M0ZGRkZGRkMwRkY0NkZGODBGRkZGRkYzMEZGRUQKKzoxMDFCMzAwMDg5RkY5M0ZGRkZGRkQwRkY0NkZGODBGRkZGRkY0MEZGQkQKKzoxMDFCNDAwMDg5RkY5M0ZGRkZGRkUwRkY0NkZGODBGRkZGRkY1MEZGOEQKKzoxMDFCNTAwMDg5RkY5M0ZGRkZGRkYwRkYwMEZGNDBGRkZGRkYxMEZGMzMKKzoxMDFCNjAwMDg2RkY5M0ZGRkZGRjYwRkY4REZGODNGRkZGRkY3MEZGODYKKzoxMDFCNzAwMDQ3RkY5MEZGRkZGRjAwRkYwMEZGNDhGRkZGRkYwNEZGNEMKKzoxMDFCODAwMEEwRkYyM0ZGRkZGRjBGRkY0NkZGOTBGRkZGRkY2QUZGNEQKKzoxMDFCOTAwMDAwRkYwQ0ZGRkZGRjIwRkYwMEZGMEFGRkZGRkYxRkZGRkEKKzoxMDFCQTAwMDEwRkYyN0ZGRkZGRjBGRkYzOUZGMThGRkZGRkYyMkZGODYKKzoxMDFCQjAwMDQ2RkY4MEZGRkZGRjAwRkY4REZGOTNGRkZGRkYyMEZGMjkKKzoxMDFCQzAwMDQ2RkY4MEZGRkZGRjEwRkY4REZGOTNGRkZGRkYzMEZGRjkKKzoxMDFCRDAwMDQ2RkY4MEZGRkZGRjIwRkY3OEZGMjJGRkZGRkYwRkZGODAKKzoxMDFCRTAwMDM4RkYxQ0ZGRkZGRjg0RkYwMEZGNDBGRkZGRkYwMEZGRTcKKzoxMDFCRjAwMDQ2RkY5MEZGRkZGRjIwRkYwMEZGNDhGRkZGRkYwMEZGQjEKKzoxMDFDMDAwMDhERkY5M0ZGRkZGRjQwRkY4REZGODNGRkZGRkY3MEZGRkUKKzoxMDFDMTAwMDQ3RkY5MEZGRkZGRjAwRkYwMEZGNDhGRkZGRkYwNEZGQUIKKzoxMDFDMjAwMEEwRkYyM0ZGRkZGRjBGRkY0NkZGOTBGRkZGRkY2QUZGQUMKKzoxMDFDMzAwMDAwRkYwQ0ZGRkZGRjIwRkYwMEZGMEFGRkZGRkYxRkZGNTkKKzoxMDFDNDAwMDAwRkY0OEZGRkZGRjAwRkY4REZGOTNGRkZGRkY1MEZGRTYKKzoxMDFDNTAwMDAwRkYwQUZGRkZGRjBGRkYwMEZGMENGRkZGRkYyMEZGNDkKKzoxMDFDNjAwMDAwRkYwQUZGRkZGRjFGRkYwMEZGMENGRkZGRkYzMEZGMTkKKzoxMDFDNzAwMDAwRkY0OEZGRkZGRjAwRkY4QkZGOTNGRkZGRkY1MEZGQjgKKzoxMDFDODAwMDAwRkYwQ0ZGRkZGRjIwRkYwMEZGMEFGRkZGRkYxRkZGMDkKKzoxMDFDOTAwMDhERkY4M0ZGRkZGRjcwRkYwRkZGNDBGRkZGRkZGNEZGOEIKKzoxMDFDQTAwMEUwRkYyMkZGRkZGRjBGRkY0MUZGMThGRkZGRkYzMEZGQTQKKzoxMDFDQjAwMDhERkY4M0ZGRkZGRjcwRkYwRkZGNDBGRkZGRkZFNEZGN0IKKzoxMDFDQzAwMEUwRkYyMkZGRkZGRjBGRkY0MkZGMThGRkZGRkY0MEZGNzMKKzoxMDFDRDAwMDhERkY4M0ZGRkZGRjcwRkYwRkZGNDBGRkZGRkZENEZGNkIKKzoxMDFDRTAwMEUwRkYyMkZGRkZGRjBGRkY0N0ZGMThGRkZGRkZBMEZGRUUKKzoxMDFDRjAwMDhERkY4M0ZGRkZGRjcwRkYwRkZGNDBGRkZGRkZDNEZGNUIKKzoxMDFEMDAwMEUwRkYyMkZGRkZGRjBGRkY0NkZGMThGRkZGRkZEMEZGOUUKKzoxMDFEMTAwMDhERkY4M0ZGRkZGRjcwRkYwRkZGNDBGRkZGRkZCNEZGNEEKKzoxMDFEMjAwMEUwRkYyMkZGRkZGRjBGRkY0OEZGMThGRkZGRkZFMEZGNkMKKzoxMDFEMzAwMDhERkY4M0ZGRkZGRjcwRkYwRkZGNDBGRkZGRkZBNEZGM0EKKzoxMDFENDAwMEUwRkYyMkZGRkZGRjBGRkY0QUZGMThGRkZGRkY2MEZGQ0EKKzoxMDFENTAwMDhERkY4M0ZGRkZGRjcwRkYwRkZGNDBGRkZGRkY5NEZGMkEKKzoxMDFENjAwMEUwRkYyMkZGRkZGRjBGRkY0Q0ZGMThGRkZGRkYwMEZGMDgKKzoxMDFENzAwMDhERkY4M0ZGRkZGRjcwRkYwRkZGNDBGRkZGRkY4NEZGMUEKKzoxMDFEODAwMEUwRkYyMkZGRkZGRjBGRkY0REZGMThGRkZGRkZFMEZGMDcKKzoxMDFEOTAwMDhERkY4M0ZGRkZGRjcwRkYwRkZGNDBGRkZGRkY3NEZGMEEKKzoxMDFEQTAwMEUwRkYyMkZGRkZGRjBGRkY0RkZGMThGRkZGRkYyMEZGQTUKKzoxMDFEQjAwMDhERkY4M0ZGRkZGRjcwRkYwRkZGNDBGRkZGRkY2NEZGRkEKKzoxMDFEQzAwMEUwRkYyMkZGRkZGRjBGRkY0RkZGMThGRkZGRkZGMEZGQjUKKzoxMDFERDAwMDhERkY4M0ZGRkZGRjcwRkYwRUZGNDBGRkZGRkZGNEZGNEIKKzoxMDFERTAwMEUwRkYyMkZGRkZGRjBGRkY0NEZGMThGRkZGRkY0MEZGNTAKKzoxMDFERjAwMDhERkY4M0ZGRkZGRjcwRkYwRUZGNDBGRkZGRkZFNEZGM0IKKzoxMDFFMDAwMEUwRkYyMkZGRkZGRjBGRkY0NUZGMThGRkZGRkY1MEZGMUUKKzoxMDFFMTAwMDhERkY4M0ZGRkZGRjcwRkYwQUZGNDBGRkZGRkYwNEZGRkUKKzoxMDFFMjAwMEUwRkYyMkZGRkZGRjBGRkYzREZGMThGRkZGRkZEMEZGODYKKzoxMDFFMzAwMDhERkY4M0ZGRkZGRjcwRkYwQUZGNDBGRkZGRkYxNEZGQ0UKKzoxMDFFNDAwMEUwRkYyMkZGRkZGRjBGRkYzRkZGMThGRkZGRkYxMEZGMjQKKzoxMDFFNTAwMDhERkY4M0ZGRkZGRjcwRkYwQUZGNDBGRkZGRkYyNEZGOUUKKzoxMDFFNjAwMEUwRkYyMkZGRkZGRjBGRkYzRkZGMThGRkZGRkY4MEZGOTQKKzoxMDFFNzAwMDhERkY4M0ZGRkZGRjcwRkYwQUZGNDBGRkZGRkYzNEZGNkUKKzoxMDFFODAwMEUwRkYyMkZGRkZGRjBGRkYzRkZGMThGRkZGRkZGMEZGMDQKKzoxMDFFOTAwMDhERkY4M0ZGRkZGRjcwRkYwQUZGNDBGRkZGRkY0NEZGM0UKKzoxMDFFQTAwMEUwRkYyMkZGRkZGRjBGRkY0MEZGMThGRkZGRkY2MEZGNzMKKzoxMDFFQjAwMDhERkY4M0ZGRkZGRjcwRkY0N0ZGOTBGRkZGRkYwMEZGRDUKKzoxMDFFQzAwMDAwRkY0OEZGRkZGRjA0RkZBMEZGMjNGRkZGRkYwRkZGRkUKKzoxMDFFRDAwMDQ2RkY5MEZGRkZGRjZBRkYwMEZGMENGRkZGRkYyMEZGQTAKKzoxMDFFRTAwMDAwRkYwQUZGRkZGRjFGRkY4REZGODNGRkZGRkY3MEZGNTMKKzoxMDFFRjAwMDQ3RkY5MEZGRkZGRjAwRkYwMEZGNDhGRkZGRkYwNEZGQzkKKzoxMDFGMDAwMEEwRkYyM0ZGRkZGRjBGRkY0NkZGOTBGRkZGRkY2QUZGQzkKKzoxMDFGMTAwMDAwRkYwQ0ZGRkZGRjA4RkYwMEZGNDBGRkZGRkYwMEZGNzcKKzoxMDFGMjAwMEZGRkY5M0ZGRkZGRkYwRkYwMEZGNDBGRkZGRkYwMEZGRjkKKzoxMDFGMzAwMDQ0RkY5MEZGRkZGRjYwRkYwMEZGMDBGRkZGRkYwMEZGNzcKKzoxMDFGNDAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGOUIKKzoxMDFGNTAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGOEIKKzoxMDFGNjAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGN0IKKzoxMDFGNzAwMDAwRkYwMEZGRkZGRjAwRkYyMUZGNDBGRkZGRkY4MEZGOEEKKzoxMDFGODAwMEZGRkY5M0ZGRkZGRkYwRkY4REZGODNGRkZGRkY3MEZGNTkKKzoxMDFGOTAwMDQ3RkY5MEZGRkZGRjAwRkYwMEZGNDhGRkZGRkYwNEZGMjgKKzoxMDFGQTAwMEEwRkYyM0ZGRkZGRjBGRkY0NkZGOTBGRkZGRkY2QUZGMjkKKzoxMDFGQjAwMDI1RkY0MEZGRkZGRjgwRkZGRkZGOTNGRkZGRkZGMEZGQzQKKzoxMDFGQzAwMDhERkY4M0ZGRkZGRjcwRkY0N0ZGOTBGRkZGRkYwMEZGQzQKKzoxMDFGRDAwMDAwRkY0OEZGRkZGRjA0RkZBMEZGMjNGRkZGRkYwRkZGRUQKKzoxMDFGRTAwMDQ2RkY5MEZGRkZGRjZBRkZFOUZGNDFGRkZGRkY4MEZGMTEKKzoxMDFGRjAwMEZGRkY5M0ZGRkZGRkYwRkY4REZGODNGRkZGRkY3MEZGRTkKKzoxMDIwMDAwMDQ3RkY5MEZGRkZGRjAwRkYwMEZGNDhGRkZGRkYwNEZGQjcKKzoxMDIwMTAwMEEwRkYyM0ZGRkZGRjBGRkY0NkZGOTBGRkZGRkY2QUZGQjgKKzoxMDIwMjAwMEVERkY0MUZGRkZGRjgwRkZGRkZGOTNGRkZGRkZGMEZGOEEKKzoxMDIwMzAwMDhERkY4M0ZGRkZGRjcwRkY0N0ZGOTBGRkZGRkYwMEZGNTMKKzoxMDIwNDAwMDAwRkY0OEZGRkZGRjA0RkZBMEZGMjNGRkZGRkYwRkZGN0MKKzoxMDIwNTAwMDQ2RkY5MEZGRkZGRjZBRkYwMEZGNDBGRkZGRkYwMEZGMEEKKzoxMDIwNjAwMDQ0RkY5MEZGRkZGRjYwRkYwMEZGMDBGRkZGRkYwMEZGNDYKKzoxMDIwNzAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGNkEKKzoxMDIwODAwMDAwRkYwMEZGRkZGRjAwRkZGMUZGNDFGRkZGRkY4MEZGQTgKKzoxMDIwOTAwMEZGRkY5M0ZGRkZGRkYwRkY0NkZGODRGRkZGRkYwMEZGRkUKKzoxMDIwQTAwMDAwRkYzNEZGRkZGRjA4RkYwMEZGNjBGRkZGRkYwM0ZGOUIKKzoxMDIwQjAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGMkEKKzoxMDIwQzAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGMUEKKzoxMDIwRDAwMDQ2RkY5MEZGRkZGRjYwRkZGN0ZGNEZGRkZGRkZGNEZGOUEKKzoxMDIwRTAwMDQ2RkY5MEZGRkZGRjc0RkY4REZGODNGRkZGRkY3MEZGMzAKKzoxMDIwRjAwMDQ3RkY5MEZGRkZGRjAwRkYwMEZGNDhGRkZGRkYwNEZGQzcKKzoxMDIxMDAwMEEwRkYyM0ZGRkZGRjBGRkY0NkZGOTBGRkZGRkY2QUZGQzcKKzoxMDIxMTAwMDAwRkYwQ0ZGRkZGRjIwRkYwMEZGMEFGRkZGRkYxRkZGNzQKKzoxMDIxMjAwMDQ2RkY4NEZGRkZGRjAwRkYwMEZGMzRGRkZGRkYwOEZGQjMKKzoxMDIxMzAwMDAwRkYzNEZGRkZGRjA2RkYwMEZGMDBGRkZGRkYwMEZGNkYKKzoxMDIxNDAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGOTkKKzoxMDIxNTAwMDAwRkYwMEZGRkZGRjAwRkY0NkZGODBGRkZGRkYxMEZGQjMKKzoxMDIxNjAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGNzkKKzoxMDIxNzAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGNjkKKzoxMDIxODAwMDAwRkY2OEZGRkZGRjAyRkYwMEZGMDBGRkZGRkYwMEZGRUYKKzoxMDIxOTAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGNDkKKzoxMDIxQTAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGNjBGRkZGRkYyMkZGQjcKKzoxMDIxQjAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGMjkKKzoxMDIxQzAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGMTkKKzoxMDIxRDAwMDQ2RkY5MEZGRkZGRjYyRkZGN0ZGNEZGRkZGRkZGNEZGOTcKKzoxMDIxRTAwMDQ2RkY5MEZGRkZGRjc0RkY4REZGODNGRkZGRkY3MEZGMkYKKzoxMDIxRjAwMDQ3RkY5MEZGRkZGRjAwRkYwMEZGNDhGRkZGRkYwNEZGQzYKKzoxMDIyMDAwMEEwRkYyM0ZGRkZGRjBGRkY0NkZGOTBGRkZGRkY2QUZGQzYKKzoxMDIyMTAwMDAwRkYwQ0ZGRkZGRjIwRkYwMEZGMEFGRkZGRkYxRkZGNzMKKzoxMDIyMjAwMDQ2RkY4OEZGRkZGRjAwRkYwMEZGMzhGRkZGRkYwOEZGQUEKKzoxMDIyMzAwMDAwRkY1MEZGRkZGRjAzRkYwMEZGMDBGRkZGRkYwMEZGNTUKKzoxMDIyNDAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGOTgKKzoxMDIyNTAwMDAwRkYwMEZGRkZGRjAwRkY0NkZGOTBGRkZGRkY2MEZGNTIKKzoxMDIyNjAwMEY3RkY0RkZGRkZGRkY0RkY0NkZGOTBGRkZGRkY3NEZGRjQKKzoxMDIyNzAwMDhERkY4M0ZGRkZGRjcwRkY0N0ZGOTBGRkZGRkYwMEZGMTEKKzoxMDIyODAwMDAwRkY0OEZGRkZGRjA0RkZBMEZGMjNGRkZGRkYwRkZGM0EKKzoxMDIyOTAwMDQ2RkY5MEZGRkZGRjZBRkYwMEZGMENGRkZGRkYyMEZGREMKKzoxMDIyQTAwMDAwRkYwQUZGRkZGRjFGRkY0NkZGODhGRkZGRkYwMEZGNDEKKzoxMDIyQjAwMDAwRkYzOEZGRkZGRjA4RkYwMEZGMzhGRkZGRkYwNEZGQUMKKzoxMDIyQzAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGMTgKKzoxMDIyRDAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGMDgKKzoxMDIyRTAwMDQ2RkY4MEZGRkZGRjEwRkYwMEZGNThGRkZGRkYwM0ZGQzcKKzoxMDIyRjAwMDAwRkY1MEZGRkZGRjIzRkYwMEZGMDBGRkZGRkYwMEZGNzUKKzoxMDIzMDAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGRDcKKzoxMDIzMTAwMDAwRkYwMEZGRkZGRjAwRkY0NkZGOTBGRkZGRkY2MkZGOEYKKzoxMDIzMjAwMEY3RkY0RkZGRkZGRkY0RkY0NkZGOTBGRkZGRkY3NEZGMzMKKzoxMDIzMzAwMDhERkY4M0ZGRkZGRjcwRkY0N0ZGOTBGRkZGRkYwMEZGNTAKKzoxMDIzNDAwMDAwRkY0OEZGRkZGRjA0RkZBMEZGMjNGRkZGRkYwRkZGNzkKKzoxMDIzNTAwMDQ2RkY5MEZGRkZGRjZBRkYwMEZGMENGRkZGRkYyMEZGMUIKKzoxMDIzNjAwMDAwRkYwQUZGRkZGRjFGRkY0NkZGODBGRkZGRkYwMEZGODgKKzoxMDIzNzAwMEZGRkY5M0ZGRkZGRkUwRkZGRkZGODNGRkZGRkZFMkZGOTEKKzoxMDIzODAwMDQ2RkY5MEZGRkZGRjYyRkZGN0ZGNEZGRkZGRkZGNEZGRTUKKzoxMDIzOTAwMDQ2RkY5MEZGRkZGRjc0RkY4REZGODNGRkZGRkY3MEZGN0QKKzoxMDIzQTAwMDQ3RkY5MEZGRkZGRjAwRkYwMEZGNDhGRkZGRkYwNEZGMTQKKzoxMDIzQjAwMEEwRkYyM0ZGRkZGRjBGRkY0NkZGOTBGRkZGRkY2QUZGMTUKKzoxMDIzQzAwMDAwRkYwQ0ZGRkZGRjIwRkYwMEZGMEFGRkZGRkYxRkZGQzIKKzoxMDIzRDAwMDAzRkYwREZGRkZGRjBGRkYwMEZGMDBGRkZGRkYwMEZGRTgKKzoxMDIzRTAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGRjcKKzoxMDIzRjAwMDAwRkYwMEZGRkZGRjAwRkY0NkZGOTBGRkZGRkY2MEZGQjEKKzoxMDI0MDAwMDBDRkYwREZGRkZGRkYwRkYwMEZGMDBGRkZGRkYwMEZGQ0QKKzoxMDI0MTAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGQzYKKzoxMDI0MjAwMDAwRkYwMEZGRkZGRjAwRkZGN0ZGNEZGRkZGRkZGNEZGN0MKKzoxMDI0MzAwMDQ2RkY5MEZGRkZGRjc0RkY4REZGODNGRkZGRkY3MEZGREMKKzoxMDI0NDAwMDQ3RkY5MEZGRkZGRjAwRkYwMEZGNDhGRkZGRkYwNEZGNzMKKzoxMDI0NTAwMEEwRkYyM0ZGRkZGRjBGRkY0NkZGOTBGRkZGRkY2QUZGNzQKKzoxMDI0NjAwMDAwRkYwQ0ZGRkZGRjIwRkYwMEZGMEFGRkZGRkYxRkZGMjEKKzoxMDI0NzAwMDQ2RkY4MEZGRkZGRjAyRkYwMEZGMDBGRkZGRkYwMEZGOUUKKzoxMDI0ODAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGNTYKKzoxMDI0OTAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGNDYKKzoxMDI0QTAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGMzYKKzoxMDI0QjAwMDAwRkYwMEZGRkZGRjAwRkY0NkZGODBGRkZGRkYxM0ZGNEQKKzoxMDI0QzAwMDAwRkY0MEZGRkZGRjAwRkYxMUZGOTBGRkZGRkY2MEZGRDUKKzoxMDI0RDAwMDhERkY5M0ZGRkZGRkQwRkYxMUZGOTBGRkZGRkZGMkZGODMKKzoxMDI0RTAwMDExRkY5MEZGRkZGRkUzRkZGN0ZGNEZGRkZGRkZGNEZGMzgKKzoxMDI0RjAwMDQ2RkY5MEZGRkZGRjc0RkY4REZGODNGRkZGRkY3MEZGMUMKKzoxMDI1MDAwMDQ3RkY5MEZGRkZGRjAwRkYwMEZGNDhGRkZGRkYwNEZGQjIKKzoxMDI1MTAwMEEwRkYyM0ZGRkZGRjBGRkY0NkZGOTBGRkZGRkY2QUZGQjMKKzoxMDI1MjAwMDAwRkYwQ0ZGRkZGRjIwRkYwMEZGMEFGRkZGRkYxRkZGNjAKKzoxMDI1MzAwMDQ2RkY4NEZGRkZGRjAwRkYwMEZGMzRGRkZGRkYwOEZGOUYKKzoxMDI1NDAwMDAwRkYzNEZGRkZGRjA2RkYwMEZGMDBGRkZGRkYwMEZGNUIKKzoxMDI1NTAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGODUKKzoxMDI1NjAwMDAwRkYwMEZGRkZGRjAwRkY0NkZGODBGRkZGRkYxMEZGOUYKKzoxMDI1NzAwMEZGRkY5M0ZGRkZGRkUwRkYwMEZGNjBGRkZGRkYyMkZGNzEKKzoxMDI1ODAwMDY3RkY0MEZGRkZGRjQwRkZGRkZGOTNGRkZGRkZFMEZGRkMKKzoxMDI1OTAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGNDUKKzoxMDI1QTAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGMzUKKzoxMDI1QjAwMDQ2RkY5MEZGRkZGRjYyRkZGN0ZGNEZGRkZGRkZGNEZGQjMKKzoxMDI1QzAwMDQ2RkY5MEZGRkZGRjc0RkY4REZGODNGRkZGRkY3MEZGNEIKKzoxMDI1RDAwMDQ3RkY5MEZGRkZGRjAwRkYwMEZGNDhGRkZGRkYwNEZGRTIKKzoxMDI1RTAwMEEwRkYyM0ZGRkZGRjBGRkY0NkZGOTBGRkZGRkY2QUZGRTMKKzoxMDI1RjAwMDAwRkYwQ0ZGRkZGRjIwRkYwMEZGMEFGRkZGRkYxRkZGOTAKKzoxMDI2MDAwMDQ2RkY4NEZGRkZGRjAwRkYwMEZGMzRGRkZGRkYwOEZGQ0UKKzoxMDI2MTAwMDAwRkYzNEZGRkZGRjA2RkYwMEZGMDBGRkZGRkYwMEZGOEEKKzoxMDI2MjAwMDAwRkYwMEZGRkZGRjAwRkY0NkZGODBGRkZGRkYxMEZGREUKKzoxMDI2MzAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGQTQKKzoxMDI2NDAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGOTQKKzoxMDI2NTAwMDQ2RkY4MEZGRkZGRjIzRkZGRkZGOTNGRkZGRkZFMEZGMjkKKzoxMDI2NjAwMDAwRkY2OEZGRkZGRjMyRkYwMEZGNjBGRkZGRkY3MkZGMDgKKzoxMDI2NzAwMDY3RkY0MEZGRkZGRjQwRkZGRkZGOTNGRkZGRkZFMEZGMEIKKzoxMDI2ODAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGNTQKKzoxMDI2OTAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGNDQKKzoxMDI2QTAwMDQ2RkY5MEZGRkZGRjY3RkZGN0ZGNEZGRkZGRkZGNEZGQkQKKzoxMDI2QjAwMDQ2RkY5MEZGRkZGRjc0RkY4REZGODNGRkZGRkY3MEZGNUEKKzoxMDI2QzAwMDQ3RkY5MEZGRkZGRjAwRkYwMEZGNDhGRkZGRkYwNEZGRjEKKzoxMDI2RDAwMEEwRkYyM0ZGRkZGRjBGRkY0NkZGOTBGRkZGRkY2QUZGRjIKKzoxMDI2RTAwMDAwRkYwQ0ZGRkZGRjIwRkYwMEZGMEFGRkZGRkYxRkZGOUYKKzoxMDI2RjAwMDQ2RkY4MEZGRkZGRjA1RkYwM0ZGMERGRkZGRkYwRkZGRkEKKzoxMDI3MDAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGRDMKKzoxMDI3MTAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGQzMKKzoxMDI3MjAwMDBDRkYwREZGRkZGRkY1RkYwMEZGMDBGRkZGRkYwMEZGQTUKKzoxMDI3MzAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGQTMKKzoxMDI3NDAwMDAwRkYwMEZGRkZGRjAwRkZGN0ZGNEZGRkZGRkZGNEZGNTkKKzoxMDI3NTAwMDQ2RkY5MEZGRkZGRjc0RkY4REZGODNGRkZGRkY3MEZGQjkKKzoxMDI3NjAwMDQ3RkY5MEZGRkZGRjAwRkYwMEZGNDhGRkZGRkYwNEZGNTAKKzoxMDI3NzAwMEEwRkYyM0ZGRkZGRjBGRkY0NkZGOTBGRkZGRkY2QUZGNTEKKzoxMDI3ODAwMDAwRkYwQ0ZGRkZGRjIwRkYwMEZGMEFGRkZGRkYxRkZGRkUKKzoxMDI3OTAwMDQ2RkY4MEZGRkZGRjAwRkY4REZGOTNGRkZGRkZDMEZGOUQKKzoxMDI3QTAwMDhERkY4M0ZGRkZGRkM3RkY0NkZGOTBGRkZGRkY2N0ZGMUYKKzoxMDI3QjAwMEY3RkY0RkZGRkZGRkY0RkY0NkZGOTBGRkZGRkY3NEZGOUYKKzoxMDI3QzAwMDhERkY4M0ZGRkZGRjcwRkY0N0ZGOTBGRkZGRkYwMEZGQkMKKzoxMDI3RDAwMDAwRkY0OEZGRkZGRjA0RkZBMEZGMjNGRkZGRkYwRkZGRTUKKzoxMDI3RTAwMDQ2RkY5MEZGRkZGRjZBRkYwMEZGMENGRkZGRkYyMEZGODcKKzoxMDI3RjAwMDAwRkYwQUZGRkZGRjFGRkY0NkZGODBGRkZGRkYwMEZGRjQKKzoxMDI4MDAwMDhERkY5M0ZGRkZGRkUwRkY4REZGODNGRkZGRkZFN0ZGREIKKzoxMDI4MTAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGQzIKKzoxMDI4MjAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGQjIKKzoxMDI4MzAwMDQ2RkY5MEZGRkZGRjY3RkZGN0ZGNEZGRkZGRkZGNEZGMkIKKzoxMDI4NDAwMDQ2RkY5MEZGRkZGRjc0RkY4REZGODNGRkZGRkY3MEZGQzgKKzoxMDI4NTAwMDQ3RkY5MEZGRkZGRjAwRkYwMEZGNDhGRkZGRkYwNEZGNUYKKzoxMDI4NjAwMEEwRkYyM0ZGRkZGRjBGRkY0NkZGOTBGRkZGRkY2QUZGNjAKKzoxMDI4NzAwMDAwRkYwQ0ZGRkZGRjIwRkYwMEZGMEFGRkZGRkYxRkZGMEQKKzoxMDI4ODAwMDhERkY4M0ZGRkZGRkQwRkYwMEZGNDBGRkZGRkYyNEZGMEUKKzoxMDI4OTAwMEEwRkYyM0ZGRkZGRjBGRkYxMUZGOTBGRkZGRkY2QUZGNjUKKzoxMDI4QTAwMDAwRkY0MEZGRkZGRjE0RkYxOEZGMjNGRkZGRkYwRkZGOTQKKzoxMDI4QjAwMDUxRkYxNEZGRkZGRjgxRkY5MEZGODBGRkZGRkY2MEZGQ0MKKzoxMDI4QzAwMDgwRkYyM0ZGRkZGRjBGRkY4REZGODNGRkZGRkZEMEZGODAKKzoxMDI4RDAwMDAwRkY0MEZGRkZGRjE0RkZBMEZGMjNGRkZGRkYwRkZGREMKKzoxMDI4RTAwMDExRkY5MEZGRkZGRjZBRkYzMEZGMENGRkZGRkYwMEZGQUIKKzoxMDI4RjAwMDAwRkY0MEZGRkZGRjE2RkYxMEZGNDBGRkZGRkYwN0ZGMzUKKzoxMDI5MDAwMDkwRkYzNEZGRkZGRjcxRkYwMEZGMzRGRkZGRkYwOUZGNUYKKzoxMDI5MTAwMDBGRkY0MEZGRkZGRkY1RkYwMEZGNjBGRkZGRkYwN0ZGMTYKKzoxMDI5MjAwMDg4RkY2M0ZGRkZGRjI3RkZFOEZGNjBGRkZGRkYwN0ZGNTAKKzoxMDI5MzAwMDYyRkY2MUZGRkZGRjI3RkY4OEZGMkJGRkZGRkY4QkZGNzkKKzoxMDI5NDAwMEU4RkY2MEZGRkZGRjA3RkY2MkZGNjFGRkZGRkYxN0ZGNjgKKzoxMDI5NTAwMDg4RkYyRkZGRkZGRkZCRkY4OUZGMjNGRkZGRkYwRkZGMTQKKzoxMDI5NjAwMDk4RkYyMEZGRkZGRjBGRkZFQUZGMjBGRkZGRkYwRkZGOTEKKzoxMDI5NzAwMDAwRkYwREZGRkZGRkFCRkYwMEZGMERGRkZGRkZCOEZGRTQKKzoxMDI5ODAwMDAwRkYwREZGRkZGRkNGRkY2MkZGMjFGRkZGRkYwRkZGRTMKKzoxMDI5OTAwMDEwRkYyMkZGRkZGRjBGRkY2MkZGMjFGRkZGRkYwRkZGNkUKKzoxMDI5QTAwMDAwRkY0MEZGRkZGRjI0RkY5MEZGODBGRkZGRkY2MEZGNUQKKzoxMDI5QjAwMDgwRkYyM0ZGRkZGRjBGRkY1MUZGMThGRkZGRkYwMEZGMDYKKzoxMDI5QzAwMDhCRkY5M0ZGRkZGRkVCRkY4QkZGOTNGRkZGRkZGQ0ZGRUUKKzoxMDI5RDAwMDAwRkYwQUZGRkZGRjBGRkY1MUZGMUNGRkZGRkYwRkZGNkMKKzoxMDI5RTAwMDhERkY5M0ZGRkZGRkFDRkY4MkZGM0NGRkZGRkY0NUZGMjIKKzoxMDI5RjAwMDU0RkYxNEZGRkZGRjJFRkZGRkZGM0ZGRkZGRkZGNUZGMTgKKzoxMDJBMDAwMDU0RkYxNEZGRkZGRjFFRkYwMEZGMDBGRkZGRkYwMEZGNEEKKzoxMDJBMTAwMDAwRkYwMEZGRkZGRjAwRkY1MUZGMUNGRkZGRkYwRkZGNDQKKzoxMDJBMjAwMDAwRkYwREZGRkZGRjBDRkY4REZGODNGRkZGRkZBNEZGRTMKKzoxMDJBMzAwMEUwRkYyMkZGRkZGRjBGRkY1M0ZGMThGRkZGRkZCM0ZGNzEKKzoxMDJBNDAwMDhERkY4M0ZGRkZGRkQwRkYwMEZGNDBGRkZGRkYyNEZGNEMKKzoxMDJBNTAwMEEwRkYyM0ZGRkZGRjBGRkYwMEZGMERGRkZGRkZCQUZGRTcKKzoxMDJBNjAwMDhCRkY4M0ZGRkZGRkY1RkYxMUZGOTBGRkZGRkY2QkZGNjEKKzoxMDJBNzAwMDAwRkY0MEZGRkZGRjE0RkYxOEZGMjNGRkZGRkYwRkZGQzIKKzoxMDJBODAwMDU1RkYxNEZGRkZGRjIxRkY5MEZGODBGRkZGRkY2MEZGNTYKKzoxMDJBOTAwMDgwRkYyM0ZGRkZGRjBGRkYwMEZGNDBGRkZGRkYyMEZGMkUKKzoxMDJBQTAwMDAwRkY0MEZGRkZGRjAxRkY4QkZGODNGRkZGRkZFNEZGRkQKKzoxMDJBQjAwMDhCRkY4M0ZGRkZGRkY1RkYwOEZGMENGRkZGRkYwMEZGMDkKKzoxMDJBQzAwMDYwRkYyMkZGRkZGRjBGRkY0OUZGMkFGRkZGRkZFQUZGMjIKKzoxMDJBRDAwMDAwRkYwREZGRkZGRjRFRkY4QkZGOTNGRkZGRkZFRUZGOTkKKzoxMDJBRTAwMDAwRkYwREZGRkZGRjVBRkY4QkZGOTNGRkZGRkZGQUZGNzEKKzoxMDJBRjAwMDhERkY4M0ZGRkZGRjIwRkY4REZGODNGRkZGRkYzMUZGNkYKKzoxMDJCMDAwMEUwRkYyMkZGRkZGRjBGRkZDOUZGMkFGRkZGRkZFQUZGRTEKKzoxMDJCMTAwMDU0RkYxOEZGRkZGRkQ1RkYwMEZGMERGRkZGRkY0RUZGMjMKKzoxMDJCMjAwMDAwRkYwREZGRkZGRjVBRkY4MkZGNEZGRkZGRkZGMEZGODcKKzoxMDJCMzAwMEZGRkY0RkZGRkZGRkYxRkZFMEZGMjJGRkZGRkYwRkZGNEYKKzoxMDJCNDAwMEM5RkYyQUZGRkZGRkVBRkY1NkZGMThGRkZGRkZCNEZGOTAKKzoxMDJCNTAwMDU0RkYxOEZGRkZGRkRGRkYwMEZGNDBGRkZGRkYyMEZGRDQKKzoxMDJCNjAwMDQ3RkY5MEZGRkZGRjIwRkYwQ0ZGMENGRkZGRkYwMEZGNjAKKzoxMDJCNzAwMDAyRkY0MEZGRkZGRjYwRkYxMUZGOTBGRkZGRkYyMEZGRkMKKzoxMDJCODAwMDE2RkYxOEZGRkZGRjRGRkY4REZGODNGRkZGRkZEMEZGRjIKKzoxMDJCOTAwMDAwRkY0MEZGRkZGRjI0RkZBMEZGMjNGRkZGRkYwRkZGMDkKKzoxMDJCQTAwMDExRkY5MEZGRkZGRjZBRkYwMEZGNDBGRkZGRkYxNEZGRDAKKzoxMDJCQjAwMDE4RkYyM0ZGRkZGRjBGRkY1N0ZGMTRGRkZGRkY5MUZGRDkKKzoxMDJCQzAwMDkwRkY4MEZGRkZGRjYwRkY4MEZGMjNGRkZGRkYwRkZGRUQKKzoxMDJCRDAwMDhERkY4M0ZGRkZGRkQwRkYwMEZGNDBGRkZGRkYxNEZGQ0IKKzoxMDJCRTAwMEEwRkYyM0ZGRkZGRjBGRkYxMUZGOTBGRkZGRkY2QUZGMTIKKzoxMDJCRjAwMDMwRkYwQ0ZGRkZGRjAwRkYwMEZGNDBGRkZGRkYxNkZGNEQKKzoxMDJDMDAwMDEwRkY0MEZGRkZGRjA3RkY5MEZGMzRGRkZGRkY3MUZGNDIKKzoxMDJDMTAwMDAwRkYzNEZGRkZGRjA5RkYwRkZGNDBGRkZGRkZGNUZGM0QKKzoxMDJDMjAwMDAwRkY2MEZGRkZGRjA3RkY4OEZGNjNGRkZGRkYyN0ZGMzUKKzoxMDJDMzAwMEU4RkY2MEZGRkZGRjA3RkY2MkZGNjFGRkZGRkYyN0ZGNjUKKzoxMDJDNDAwMDg4RkYyQkZGRkZGRjhCRkZFOEZGNjBGRkZGRkYwN0ZGMDEKKzoxMDJDNTAwMDYyRkY2MUZGRkZGRjE3RkY4OEZGMkZGRkZGRkZGQkZGRjIKKzoxMDJDNjAwMDg5RkYyM0ZGRkZGRjBGRkY5OEZGMjBGRkZGRkYwRkZGRUMKKzoxMDJDNzAwMEVBRkYyMEZGRkZGRjBGRkYwMEZGMERGRkZGRkZBQkZGOEQKKzoxMDJDODAwMDAwRkYwREZGRkZGRkI4RkYwMEZGMERGRkZGRkZDRkZGQUQKKzoxMDJDOTAwMDYyRkYyMUZGRkZGRjBGRkYxMEZGMjJGRkZGRkYwRkZGNkIKKzoxMDJDQTAwMDYyRkYyMUZGRkZGRjBGRkYwMEZGNDBGRkZGRkYyNEZGMzgKKzoxMDJDQjAwMDkwRkY4MEZGRkZGRjYwRkY4MEZGMjNGRkZGRkYwRkZGRkMKKzoxMDJDQzAwMDU3RkYxOEZGRkZGRjEwRkY4QkZGOTNGRkZGRkZFQkZGODYKKzoxMDJDRDAwMDhCRkY5M0ZGRkZGRkZDRkY1Q0ZGMUNGRkZGRkYzRkZGMkQKKzoxMDJDRTAwMDAwRkYwQUZGRkZGRjBGRkY1N0ZGMUNGRkZGRkYxRkZGNDMKKzoxMDJDRjAwMDhERkY5M0ZGRkZGRkFDRkY4MkZGM0NGRkZGRkY0NUZGMEYKKzoxMDJEMDAwMDVBRkYxNEZGRkZGRjRFRkZGRkZGM0ZGRkZGRkZGNUZGREUKKzoxMDJEMTAwMDVBRkYxNEZGRkZGRjNFRkYwMEZGMDBGRkZGRkYwMEZGMTEKKzoxMDJEMjAwMDAwRkYwMEZGRkZGRjAwRkY1N0ZGMUNGRkZGRkYxRkZGMUIKKzoxMDJEMzAwMDAwRkYwREZGRkZGRjBDRkY4REZGODNGRkZGRkZBNEZGRDAKKzoxMDJENDAwMEUwRkYyMkZGRkZGRjBGRkY1OUZGMThGRkZGRkZEM0ZGMzgKKzoxMDJENTAwMDVDRkYxQ0ZGRkZGRjNGRkY4REZGODNGRkZGRkZEMEZGRTYKKzoxMDJENjAwMDAwRkY0MEZGRkZGRjI0RkZBMEZGMjNGRkZGRkYwRkZGMzcKKzoxMDJENzAwMDAwRkYwREZGRkZGRkJBRkY4QkZGODNGRkZGRkZGNUZGOTMKKzoxMDJEODAwMDVDRkYxQ0ZGRkZGRjNGRkYxMUZGOTBGRkZGRkY2QkZGOEEKKzoxMDJEOTAwMDAwRkY0MEZGRkZGRjE0RkYxOEZGMjNGRkZGRkYwRkZGOUYKKzoxMDJEQTAwMDVCRkYxNEZGRkZGRjYxRkY5MEZGODBGRkZGRkY2MEZGRUQKKzoxMDJEQjAwMDgwRkYyM0ZGRkZGRjBGRkYwMEZGNDBGRkZGRkYyMEZGMEIKKzoxMDJEQzAwMDAwRkY0MEZGRkZGRjAxRkY4QkZGODNGRkZGRkZFNEZGREEKKzoxMDJERDAwMDhCRkY4M0ZGRkZGRkY1RkYwOEZGMENGRkZGRkYwMEZGRTYKKzoxMDJERTAwMDYwRkYyMkZGRkZGRjBGRkY0OUZGMkFGRkZGRkZFQUZGRkYKKzoxMDJERjAwMDAwRkYwREZGRkZGRjRFRkY4QkZGOTNGRkZGRkZFRUZGNzYKKzoxMDJFMDAwMDhCRkY5M0ZGRkZGRkZBRkY1RUZGMUNGRkZGRkYwRkZGMkIKKzoxMDJFMTAwMDVCRkYxOEZGRkZGRjBGRkY4QkZGODNGRkZGRkYyMEZGMEMKKzoxMDJFMjAwMDc4RkYyMkZGRkZGRjBGRkYwREZGMThGRkZGRkYwNUZGRDkKKzoxMDJFMzAwMDAwRkYwQUZGRkZGRjBGRkYwOEZGMENGRkZGRkYwMEZGNkYKKzoxMDJFNDAwMDAwRkY0MEZGRkZGRjE0RkYwMEZGNDBGRkZGRkYwNUZGRjMKKzoxMDJFNTAwMDhCRkY4M0ZGRkZGRkUwRkY4QkZGODNGRkZGRkZGMUZGOEYKKzoxMDJFNjAwMDYwRkYyMkZGRkZGRjBGRkY0OUZGMkFGRkZGRkZFQUZGN0UKKzoxMDJFNzAwMDhCRkY5M0ZGRkZGRkZBRkY4QkZGOTNGRkZGRkZFRUZGMzgKKzoxMDJFODAwMDBDRkYwQ0ZGRkZGRjAwRkYwMEZGMEFGRkZGRkYwRkZGMUIKKzoxMDJFOTAwMDA4RkYwQ0ZGRkZGRjAwRkYwMEZGNDBGRkZGRkYxNEZGRDQKKzoxMDJFQTAwMDAwRkY0MEZGRkZGRjA1RkY4QkZGODNGRkZGRkZFMEZGRjkKKzoxMDJFQjAwMDhCRkY4M0ZGRkZGRkYxRkY2MEZGMjJGRkZGRkYwRkZGOEMKKzoxMDJFQzAwMDQ5RkYyQUZGRkZGRkVBRkY4QkZGOTNGRkZGRkZGQUZGOTcKKzoxMDJFRDAwMDhCRkY5M0ZGRkZGRkVFRkYwQ0ZGMENGRkZGRkYwMEZGRDgKKzoxMDJFRTAwMDhERkY4M0ZGRkZGRjQwRkY3OEZGMjJGRkZGRkYwRkZGRjMKKzoxMDJFRjAwMDVFRkYxQ0ZGRkZGRjA0RkYwMEZGMEFGRkZGRkYwRkZGNDUKKzoxMDJGMDAwMDA4RkYwQ0ZGRkZGRjAwRkY4REZGODNGRkZGRkY1MEZGNTcKKzoxMDJGMTAwMDc4RkYyMkZGRkZGRjBGRkY1RkZGMUNGRkZGRkY1NEZGNDMKKzoxMDJGMjAwMDBGRkY0MEZGRkZGRkY1RkY5MEZGODBGRkZGRkZBOEZGQUYKKzoxMDJGMzAwMDEwRkYwRkZGRkZGRjA4RkY5MEZGODBGRkZGRkY5MEZGRDQKKzoxMDJGNDAwMDg4RkYyN0ZGRkZGRjBGRkZCNkZGMjdGRkZGRkYwRkZGRTEKKzoxMDJGNTAwMDhCRkY4M0ZGRkZGRkZBRkZGMkZGMjJGRkZGRkYwRkZGNTAKKzoxMDJGNjAwMDAwRkYwREZGRkZGRjBBRkYwMEZGNDBGRkZGRkYxNEZGMDAKKzoxMDJGNzAwMEUyRkYyMkZGRkZGRjBGRkY3NEZGMThGRkZGRkZFMkZGREEKKzoxMDJGODAwMDM4RkYyM0ZGRkZGRjBGRkYwMEZGNDBGRkZGRkYyNEZGN0QKKzoxMDJGOTAwMEUyRkYyMkZGRkZGRjBGRkY3NEZGMThGRkZGRkZFMkZGQkEKKzoxMDJGQTAwMDAwRkYwQUZGRkZGRjBGRkYwRkZGNDBGRkZGRkZGNUZGQ0UKKzoxMDJGQjAwMDkwRkY4MEZGRkZGRjgwRkY4QkZGODNGRkZGRkZFMkZGOUIKKzoxMDJGQzAwMDg4RkYyN0ZGRkZGRjBGRkY5OEZGMjBGRkZGRkYwRkZGODYKKzoxMDJGRDAwMDEwRkY0MEZGRkZGRjA3RkZFOEZGMjBGRkZGRkYwRkZGOEQKKzoxMDJGRTAwMDAwRkYwREZGRkZGRkFDRkZGMkZGMjJGRkZGRkYwRkZGMEYKKzoxMDJGRjAwMDAwRkYwREZGRkZGRjBBRkYwMUZGNDBGRkZGRkYwNEZGN0YKKzoxMDMwMDAwMEUyRkYyMkZGRkZGRjBGRkY3NEZGMThGRkZGRkZFMkZGNDkKKzoxMDMwMTAwMDM4RkYyM0ZGRkZGRjBGRkYwMkZGNDBGRkZGRkYwNEZGMEEKKzoxMDMwMjAwMEUyRkYyMkZGRkZGRjBGRkY3NEZGMThGRkZGRkZFMkZGMjkKKzoxMDMwMzAwMDAwRkYwQUZGRkZGRjBGRkYwMEZGMzRGRkZGRkYwOEZGNDUKKzoxMDMwNDAwMDAwRkYzNEZGRkZGRkQ0RkYwMEZGMzRGRkZGRkY4NUZGQzkKKzoxMDMwNTAwMEZGRkY0RkZGRkZGRjg5RkYwMEZGMDlGRkZGRkYwMUZGOTkKKzoxMDMwNjAwMDg5RkY4M0ZGRkZGRkI4RkYwMEZGMEVGRkZGRkYwRkZGODkKKzoxMDMwNzAwMDAwRkYwREZGRkZGRjRFRkZBN0ZGMjNGRkZGRkYwRkZGMjYKKzoxMDMwODAwMDAwRkY2OEZGRkZGRkEzRkY4OUZGODNGRkZGRkZBOEZGOEIKKzoxMDMwOTAwMDAwRkYwRUZGRkZGRjBGRkYwMEZGMERGRkZGRkY0RUZGQzIKKzoxMDMwQTAwMEE3RkYyM0ZGRkZGRjBGRkYwMEZGNjhGRkZGRkZBM0ZGNDYKKzoxMDMwQjAwMDAwRkYwOUZGRkZGRjAzRkY4QkZGODNGRkZGRkZCMEZGNTAKKzoxMDMwQzAwMDAwRkY2OEZGRkZGRjAwRkYwMEZGMEFGRkZGRkYwRkZGODkKKzoxMDMwRDAwMDAyRkYzNUZGRkZGRjAwRkYwMEZGMzRGRkZGRkYwOEZGODcKKzoxMDMwRTAwMDAwRkYzNEZGRkZGRjI2RkY4OUZGODNGRkZGRkZEOEZGQUMKKzoxMDMwRjAwMDAwRkYwRUZGRkZGRjBGRkYwMEZGMERGRkZGRkY0RUZGNjIKKzoxMDMxMDAwMEE3RkYyM0ZGRkZGRjBGRkYwMEZGNjhGRkZGRkZBM0ZGRTUKKzoxMDMxMTAwMDg5RkY4M0ZGRkZGRkM4RkYwMEZGMEVGRkZGRkYwRkZGQzgKKzoxMDMxMjAwMDAwRkYwREZGRkZGRjRFRkZBN0ZGMjNGRkZGRkYwRkZGNzUKKzoxMDMxMzAwMDAwRkY2OEZGRkZGRkEzRkYwMEZGMDlGRkZGRkYwM0ZGODIKKzoxMDMxNDAwMDhCRkY4M0ZGRkZGRkQwRkYwMEZGNjhGRkZGRkYwMkZGNDEKKzoxMDMxNTAwMDAxRkY0MEZGRkZGRjgwRkYwMEZGNjhGRkZGRkYwMkZGNEUKKzoxMDMxNjAwMDAwRkY0MEZGRkZGRjIwRkYwMEZGNjhGRkZGRkYwM0ZGOUUKKzoxMDMxNzAwMDAwRkYwQUZGRkZGRjBGRkYwMEZGNDBGRkZGRkYxMEZGRjAKKzoxMDMxODAwMDhCRkY5M0ZGRkZGRjQwRkYzMEZGNDBGRkZGRkYwMEZGN0IKKzoxMDMxOTAwMDQ5RkY5MEZGRkZGRjQwRkYwMEZGMEFGRkZGRkYwRkZGMDcKKzoxMDMxQTAwMDAwRkY0MEZGRkZGRjYwRkYwMEZGOTFGRkZGRkZGMEZGMDgKKzoxMDMxQjAwMDAwRkYwQUZGRkZGRjBGRkYwMUZGNDJGRkZGRkY4MEZGM0QKKzoxMDMxQzAwMDAwRkY5MUZGRkZGRjcwRkYwN0ZGNDJGRkZGRkY4MEZGM0YKKzoxMDMxRDAwMDAzRkY5MUZGRkZGRjcwRkYwMkZGNDJGRkZGRkYwMEZGQjEKKzoxMDMxRTAwMDAwRkY5MUZGRkZGRkYwRkYwOEZGNDJGRkZGRkYwMEZGMUUKKzoxMDMxRjAwMDAzRkY5MUZGRkZGRkYwRkYwMEZGNDBGRkZGRkYyMEZGRjUKKzoxMDMyMDAwMDAxRkY5MUZGRkZGRjcwRkYwMEZGNDBGRkZGRkYyMEZGNjYKKzoxMDMyMTAwMDA0RkY5MUZGRkZGRjcwRkYwMEZGMEFGRkZGRkYwRkZGOUEKKzoxMDMyMjAwMDA0RkY0MkZGRkZGRjAwRkY0OUZGOTBGRkZGRkYyMEZGNjkKKzoxMDMyMzAwMDYyRkYxQ0ZGRkZGRkZGRkYwMEZGMEFGRkZGRkYwRkZGMDIKKzoxMDMyNDAwMDAwRkY0MEZGRkZGRjIwRkYwMEZGOTFGRkZGRkZGMEZGQTcKKzoxMDMyNTAwMDAxRkY0MkZGRkZGRjAwRkY0OUZGOTBGRkZGRkYyMEZGM0MKKzoxMDMyNjAwMDYyRkYxQ0ZGRkZGRkZGRkYwMEZGMEFGRkZGRkYwRkZGRDIKKzoxMDMyNzAwMDAwRkY0MEZGRkZGRjQwRkY4QkZGOTNGRkZGRkY4MEZGM0EKKzoxMDMyODAwMDA1RkYzNUZGRkZGRjAwRkY5MkZGM0JGRkZGRkYwMEZGNDEKKzoxMDMyOTAwMDAwRkYzNEZGRkZGRjA4RkYwMEZGMzhGRkZGRkYwOEZGQkMKKzoxMDMyQTAwMDAwRkYzQ0ZGRkZGRjY1RkY2NUZGMTRGRkZGRkY5RUZGNzAKKzoxMDMyQjAwMDAwRkY2MEZGRkZGRjAzRkYwMEZGNjBGRkZGRkYxM0ZGNDIKKzoxMDMyQzAwMDAwRkY3OEZGRkZGRjEzRkYwMEZGNzhGRkZGRkYwM0ZGMDIKKzoxMDMyRDAwMDAxRkY0MkZGRkZGRjAwRkY0OUZGOTBGRkZGRkYyMEZGQkMKKzoxMDMyRTAwMDYyRkYxQ0ZGRkZGRkZGRkYwNUZGODFGRkZGRkZDMEZGMjUKKzoxMDMyRjAwMDc4RkYyMkZGRkZGRjBGRkYyMUZGMThGRkZGRkY3MUZGODUKKzoxMDMzMDAwMDAwRkYwQUZGRkZGRjBGRkY0OUZGODBGRkZGRkY0OEZGOUQKKzoxMDMzMTAwMDEwRkYwRkZGRkZGRjAzRkY2NkZGMjNGRkZGRkYwRkZGRkQKKzoxMDMzMjAwMDc0RkYxOEZGRkZGRjU0RkY4NkZGODNGRkZGRkZDMEZGRkUKKzoxMDMzMzAwMDQ5RkY5MEZGRkZGRjIwRkY2MkZGMUNGRkZGRkZGRkZGMjEKKzoxMDMzNDAwMDg2RkY4M0ZGRkZGRjgwRkYwMUZGNDBGRkZGRkYwNEZGQjkKKzoxMDMzNTAwMEUwRkYyMkZGRkZGRjBGRkY4NkZGOTNGRkZGRkY4QUZGQzMKKzoxMDMzNjAwMDY3RkYxQ0ZGRkZGRjAwRkY4NkZGODdGRkZGRkZEMEZGMDcKKzoxMDMzNzAwMDc1RkYxQ0ZGRkZGRjFGRkYwMEZGMEFGRkZGRkYwRkZGOEUKKzoxMDMzODAwMDAwRkY0OEZGRkZGRjAwRkY4MkZGOTNGRkZGRkY0MEZGQUEKKzoxMDMzOTAwMDAwRkYwQUZGRkZGRjBGRkYwOEZGMENGRkZGRkYwMEZGMEEKKzoxMDMzQTAwMDg2RkY4QkZGRkZGRkIwRkYwMEZGMzhGRkZGRkYwOEZGMjYKKzoxMDMzQjAwMDAwRkYzOEZGRkZGRkY0RkZGRkZGNEZGRkZGRkY4OUZGMTQKKzoxMDMzQzAwMDhERkY4M0ZGRkZGRjYwRkY4OUZGODNGRkZGRkY0NEZGNDcKKzoxMDMzRDAwMDAwRkY0MEZGRkZGRjAxRkY4OUZGODNGRkZGRkY1NUZGNTUKKzoxMDMzRTAwMDYwRkYyNkZGRkZGRjBGRkY0OUZGMjJGRkZGRkYwRkZGRDgKKzoxMDMzRjAwMDAwRkY3OEZGRkZGRkEzRkYxMEZGMjJGRkZGRkYwRkZGN0IKKzoxMDM0MDAwMDAwRkY3OEZGRkZGRkEwRkY4REZGODNGRkZGRkY2MEZGM0UKKzoxMDM0MTAwMDg5RkY4M0ZGRkZGRjI0RkYwMEZGNDBGRkZGRkYwMUZGNDUKKzoxMDM0MjAwMDg5RkY4M0ZGRkZGRjM1RkY2MEZGMjZGRkZGRkYwRkZGRDAKKzoxMDM0MzAwMDQ5RkYyMkZGRkZGRjBGRkYwMEZGNzhGRkZGRkZBM0ZGMDEKKzoxMDM0NDAwMDEwRkYyMkZGRkZGRjBGRkYwMEZGNzhGRkZGRkZBM0ZGMkEKKzoxMDM0NTAwMDhERkY4M0ZGRkZGRjYwRkYyMEZGNDBGRkZGRkYwNEZGQTIKKzoxMDM0NjAwMDYwRkYyMkZGRkZGRjBGRkY4REZGOTNGRkZGRkY2QUZGNEIKKzoxMDM0NzAwMDBDRkYwQ0ZGRkZGRjAwRkYwMEZGMEFGRkZGRkYwRkZGMjUKKzoxMDM0ODAwMDA4RkYwQ0ZGRkZGRjAwRkY4NkZGODdGRkZGRkZCMEZGNzUKKzoxMDM0OTAwMDAwRkYzNEZGRkZGRjA4RkYwMUZGMzRGRkZGRkYwNEZGQzEKKzoxMDM0QTAwMDAwRkYzNEZGRkZGRjM1RkZGRkZGNEZGRkZGRkY4OUZGRTYKKzoxMDM0QjAwMDAwRkYwOUZGRkZGRjAxRkY4N0ZGOEJGRkZGRkZFMEZGMUEKKzoxMDM0QzAwMDAwRkYzOEZGRkZGRjg4RkYwMEZGNzBGRkZGRkYwM0ZGRDMKKzoxMDM0RDAwMDAwRkY2OEZGRkZGRjAwRkYwMEZGNzBGRkZGRkYwM0ZGMUIKKzoxMDM0RTAwMDAwRkY2OEZGRkZGRjAzRkY4N0ZGOUJGRkZGRkZFMEZGNzkKKzoxMDM0RjAwMDBDRkYwQ0ZGRkZGRjAwRkYwMEZGMEFGRkZGRkYwRkZGQTUKKzoxMDM1MDAwMDAxRkYzQ0ZGRkZGRjA1RkY2QUZGMTRGRkZGRkY5RUZGNjcKKzoxMDM1MTAwMDY3RkYxQ0ZGRkZGRjNGRkY2OUZGMUNGRkZGRkYwRkZGNUYKKzoxMDM1MjAwMDY2RkYxQ0ZGRkZGRjFGRkYzOEZGMjJGRkZGRkYwRkZGOUIKKzoxMDM1MzAwMDZBRkYxNEZGRkZGRjg1RkY4QkZGODNGRkZGRkY0MEZGNDQKKzoxMDM1NDAwMDc4RkYyMkZGRkZGRjBGRkYwMEZGMDBGRkZGRkYwMEZGREMKKzoxMDM1NTAwMDAwRkYwQUZGRkZGRjBGRkY4MkZGODNGRkZGRkY0MEZGMTcKKzoxMDM1NjAwMDc4RkYyMkZGRkZGRjBGRkY2QUZGMUNGRkZGRkZGNEZGNDIKKzoxMDM1NzAwMDAwRkYwQUZGRkZGRjBGRkYwMEZGNDBGRkZGRkYxMEZGRUMKKzoxMDM1ODAwMDQ3RkY5MEZGRkZGRjIwRkY4N0ZGODNGRkZGRkZGMEZGNTQKKzoxMDM1OTAwMDg2RkY5M0ZGRkZGRjgwRkYwMEZGNDBGRkZGRkYwMEZGNUMKKzoxMDM1QTAwMDhERkY5M0ZGRkZGRjYwRkY4MkZGOTNGRkZGRkY0MEZGNTAKKzoxMDM1QjAwMDg2RkY4N0ZGRkZGRjkwRkYwMkZGMzRGRkZGRkYwOEZGM0EKKzoxMDM1QzAwMDAwRkY2MEZGRkZGRjAzRkY4OUZGOTNGRkZGRkYyMEZGNjYKKzoxMDM1RDAwMDAwRkY2MEZGRkZGRjAzRkY4OUZGOTNGRkZGRkYzMEZGNDYKKzoxMDM1RTAwMDAwRkY2MEZGRkZGRjAzRkY4OUZGOTNGRkZGRkY0MEZGMjYKKzoxMDM1RjAwMDAwRkY2MEZGRkZGRjAzRkY4OUZGOTNGRkZGRkY1MEZGMDYKKzoxMDM2MDAwMDg2RkY5N0ZGRkZGRjkwRkYwMEZGMEFGRkZGRkYwRkZGRkUKKzoxMDM2MTAwMDAwRkYzNEZGRkZGRjY0RkYwMEZGMzRGRkZGRkYzNUZGQjMKKzoxMDM2MjAwMDAxRkYzNEZGRkZGRjk2RkYwMEZGMzhGRkZGRkYzNEZGNkQKKzoxMDM2MzAwMDAwRkYzOEZGRkZGRjY1RkYwMUZGMzhGRkZGRkY5NkZGMjgKKzoxMDM2NDAwMDAwRkYzOEZGRkZGRjA4RkYwMkZGMzRGRkZGRkY0OUZGQzUKKzoxMDM2NTAwMDAyRkYzOEZGRkZGRjQ5RkYxMEZGNDBGRkZGRkYwNkZGOUIKKzoxMDM2NjAwMDEwRkY0MEZGRkZGRjAyRkYzMEZGMENGRkZGRkYwMEZGRDYKKzoxMDM2NzAwMDAwRkYzQ0ZGRkZGRjI1RkY2REZGMTRGRkZGRkZCRUZGQjQKKzoxMDM2ODAwMDk4RkY1MEZGRkZGRjczRkY4OEZGNTBGRkZGRkY3M0ZGOUUKKzoxMDM2OTAwMDgzRkY2OEZGRkZGRkM1RkY4OEZGNjhGRkZGRkZDNEZGRDAKKzoxMDM2QTAwMDgzRkY2OEZGRkZGRkM1RkYwMEZGNjhGRkZGRkZDNkZGNDYKKzoxMDM2QjAwMDk4RkY1MEZGRkZGRjczRkY4OEZGNTBGRkZGRkY3M0ZGNkUKKzoxMDM2QzAwMDgzRkY3OEZGRkZGRkM0RkY4OEZGNzhGRkZGRkZDNUZGODAKKzoxMDM2RDAwMDgzRkY3OEZGRkZGRkM0RkYwMEZGNzhGRkZGRkZDNkZGRjcKKzoxMDM2RTAwMDk4RkY1MEZGRkZGRjczRkY4OEZGNTBGRkZGRkY3M0ZGM0UKKzoxMDM2RjAwMDgzRkY2OEZGRkZGRkM1RkY4OEZGNjhGRkZGRkZDNEZGNzAKKzoxMDM3MDAwMDgzRkY2OEZGRkZGRkM1RkYwMEZGNjhGRkZGRkZDNkZGRTUKKzoxMDM3MTAwMDAwRkYzQ0ZGRkZGRjI1RkY2RUZGMTRGRkZGRkY4RUZGNDIKKzoxMDM3MjAwMDk4RkY1MEZGRkZGRjczRkY4OEZGNTBGRkZGRkY3M0ZGRkQKKzoxMDM3MzAwMDgzRkY3OEZGRkZGRkM0RkY4OEZGNzhGRkZGRkZDNEZGMTAKKzoxMDM3NDAwMDAwRkY3OEZGRkZGRkM0RkYyMEZGMENGRkZGRkYwMEZGMUIKKzoxMDM3NTAwMDAwRkYwQUZGRkZGRjBGRkYwMEZGMzRGRkZGRkZFOUZGM0QKKzoxMDM3NjAwMDAxRkYzOEZGRkZGRjI4RkYwMUZGMzhGRkZGRkYyOUZGQTAKKzoxMDM3NzAwMDAwRkYzOEZGRkZGRjY2RkYwMEZGMzhGRkZGRkYzNEZGNDkKKzoxMDM3ODAwMDAwRkYzOEZGRkZGRjc1RkYxMEZGNDBGRkZGRkYwNkZGNDAKKzoxMDM3OTAwMDAwRkY0MUZGRkZGRjA3RkYzMEZGMENGRkZGRkYwMEZGQUYKKzoxMDM3QTAwMDk4RkY3MEZGRkZGRjIwRkYwMEZGM0NGRkZGRkYyNUZGOUEKKzoxMDM3QjAwMDcwRkYxNEZGRkZGRjJFRkY4MEZGNzBGRkZGRkY0MkZGMkYKKzoxMDM3QzAwMDYzRkY3MkZGRkZGRjIwRkY4MEZGNjhGRkZGRkZBN0ZGN0YKKzoxMDM3RDAwMDAwRkY3MEZGRkZGRjQxRkY2M0ZGNzJGRkZGRkYyNEZGNDkKKzoxMDM3RTAwMDgwRkY2OEZGRkZGRkE3RkYwMEZGNzBGRkZGRkY0NkZGOUUKKzoxMDM3RjAwMDYzRkY3MkZGRkZGRjI0RkY4MEZGNjhGRkZGRkZBN0ZGNEIKKzoxMDM4MDAwMDAwRkY3MEZGRkZGRjQ1RkY2M0ZGNzJGRkZGRkYyMEZGMTgKKzoxMDM4MTAwMDAwRkY2OEZGRkZGRkE3RkY4MEZGNzBGRkZGRkY0MkZGNzEKKzoxMDM4MjAwMDYzRkY3MkZGRkZGRjIwRkY4MEZGNzBGRkZGRkY0MUZGN0MKKzoxMDM4MzAwMDYzRkY2QUZGRkZGRkE3RkYwMEZGNzBGRkZGRkYyNEZGOEEKKzoxMDM4NDAwMDgwRkY2OEZGRkZGRkE3RkYwMEZGNzBGRkZGRkY0NEZGM0YKKzoxMDM4NTAwMDYzRkY3MkZGRkZGRjI0RkY4MEZGNjhGRkZGRkZBN0ZGRUEKKzoxMDM4NjAwMEYwRkY0MEZGRkZGRjA1RkYwMEZGNEZGRkZGRkYwNEZGREEKKzoxMDM4NzAwMDAwRkYwREZGRkZGRjBCRkY4MEZGMjdGRkZGRkYwRkZGODQKKzoxMDM4ODAwMDg4RkYyM0ZGRkZGRjBGRkZFQUZGMjBGRkZGRkYwRkZGNkYKKzoxMDM4OTAwMDc0RkYyMkZGRkZGRjBGRkYwMEZGNjhGRkZGRkZBN0ZGN0UKKzoxMDM4QTAwMDAwRkY3MEZGRkZGRjI0RkY4MEZGNzBGRkZGRkY0NEZGNUEKKzoxMDM4QjAwMDYzRkY3MkZGRkZGRjI0RkY4MEZGNjhGRkZGRkZBN0ZGOEEKKzoxMDM4QzAwMDAwRkY0RkZGRkZGRjA0RkYwMEZGMERGRkZGRkYwQkZGOTcKKzoxMDM4RDAwMDgwRkYyN0ZGRkZGRjBGRkY4OEZGMjNGRkZGRkYwRkZGODIKKzoxMDM4RTAwMEVBRkYyMEZGRkZGRjBGRkY3NEZGMjJGRkZGRkYwRkZGMjQKKzoxMDM4RjAwMDAwRkY2OEZGRkZGRkE3RkYwMEZGMEFGRkZGRkYwRkZGQUEKKzoxMDM5MDAwMDM4RkYyMkZGRkZGRjBGRkY3MkZGMTRGRkZGRkYzNUZGOUQKKzoxMDM5MTAwMDhCRkY4M0ZGRkZGRjMwRkY3OEZGMjJGRkZGRkYwRkZGQ0EKKzoxMDM5MjAwMDAwRkYwQUZGRkZGRjBGRkYwRUZGNDBGRkZGRkYwMEZGM0EKKzoxMDM5MzAwMDEwRkY5MEZGRkZGRjEwRkYwOEZGNDBGRkZGRkYwMEZGOTkKKzoxMDM5NDAwMDEwRkY5MEZGRkZGRjkwRkYwMkZGNDBGRkZGRkY0MEZGQ0YKKzoxMDM5NTAwMDExRkY5MEZGRkZGRjIwRkYwMEZGNDBGRkZGRkYwMEZGNzAKKzoxMDM5NjAwMDEwRkY5MEZGRkZGRkIwRkZCMEZGNDBGRkZGRkYwMEZGMjEKKzoxMDM5NzAwMDQ3RkY5MEZGRkZGRjUwRkYzMEZGNDBGRkZGRkYwMEZGQkEKKzoxMDM5ODAwMDQ3RkY5MEZGRkZGRjQwRkY3OEZGNDJGRkZGRkY1MEZGMjAKKzoxMDM5OTAwMDQ4RkY5MEZGRkZGRkEwRkY0MEZGNDBGRkZGRkYwMEZGMzkKKzoxMDM5QTAwMDQ5RkY5MEZGRkZGRjcwRkYxOEZGNDBGRkZGRkYwMEZGODAKKzoxMDM5QjAwMDQ3RkY5MEZGRkZGRjcwRkYxOEZGNDBGRkZGRkYxMEZGNjIKKzoxMDM5QzAwMDQ3RkY5MEZGRkZGRjcwRkYxOEZGNDBGRkZGRkYwMEZGNjIKKzoxMDM5RDAwMDQ3RkY5MEZGRkZGRjcwRkYwMEZGNDBGRkZGRkYwMEZGNkEKKzoxMDM5RTAwMDExRkY5MEZGRkZGRjYwRkY4REZGOTNGRkZGRkZEMEZGRjAKKzoxMDM5RjAwMDBCRkY0MEZGRkZGRjgwRkYxMUZGOTBGRkZGRkZGMEZGNzUKKzoxMDNBMDAwMDAwRkY0MEZGRkZGRjEwRkYxMUZGOTBGRkZGRkZFMEZGRUYKKzoxMDNBMTAwMDAwRkY0OEZGRkZGRjAwRkYwMEZGOTNGRkZGRkYwMEZGRDUKKzoxMDNBMjAwMDAwRkYwQUZGRkZGRjBGRkYwOEZGNDBGRkZGRkYwMEZGM0YKKzoxMDNBMzAwMDQ3RkY5MEZGRkZGRjIwRkYyMkZGMThGRkZGRkY5RkZGQzAKKzoxMDNBNDAwMDAwRkY0OEZGRkZGRjEwRkY4NkZGOTNGRkZGRkY3MEZGOUYKKzoxMDNBNTAwMDIyRkYxOEZGRkZGRjlGRkYwMEZGNDhGRkZGRkYwMEZGNEYKKzoxMDNBNjAwMDg2RkY5M0ZGRkZGRjcwRkYyMkZGMThGRkZGRkY5RkZGRkUKKzoxMDNBNzAwMDAwRkY0OEZGRkZGRjIwRkY4NkZGOTNGRkZGRkY3MEZGNUYKKzoxMDNBODAwMDIyRkYxOEZGRkZGRjlGRkYwMEZGMzRGRkZGRkY0OEZGRUIKKzoxMDNBOTAwMDAwRkY2MEZGRkZGRjAzRkY4NkZGOTNGRkZGRkZCMEZGMDQKKzoxMDNBQTAwMDAwRkY2MEZGRkZGRjAzRkY4NkZGOTNGRkZGRkZDMEZGRTQKKzoxMDNBQjAwMDg2RkY5N0ZGRkZGRkQwRkYwMEZGMEFGRkZGRkYwRkZGMEEKKzoxMDNBQzAwMDgwRkYzN0ZGRkZGRjAyRkY4NEZGM0JGRkZGRkYwMkZGODYKKzoxMDNBRDAwMDAwRkY2MEZGRkZGRjBCRkYwQ0ZGMERGRkZGRkY5MEZGREMKKzoxMDNBRTAwMDAwRkY3MEZGRkZGRjBCRkYwQ0ZGMERGRkZGRkZCMEZGOUMKKzoxMDNBRjAwMDg4RkYzN0ZGRkZGRjAzRkY4Q0ZGM0JGRkZGRkYwM0ZGNDQKKzoxMDNCMDAwMDAwRkY0MEZGRkZGRjAxRkY4QkZGOTNGRkZGRkY1MUZGMEYKKzoxMDNCMTAwMDgyRkY0M0ZGRkZGRjgwRkY4QkZGOTNGRkZGRkY2MEZGRUMKKzoxMDNCMjAwMDAwRkYzNEZGRkZGRjg5RkYwMEZGNDBGRkZGRkYwMEZGQTIKKzoxMDNCMzAwMDBDRkYwREZGRkZGRjgwRkYwQ0ZGMERGRkZGRkZBMEZGM0QKKzoxMDNCNDAwMDAwRkYwQUZGRkZGRjBGRkY4MEZGMzdGRkZGRkYwMEZGQUYKKzoxMDNCNTAwMDAwRkYzNEZGRkZGRjA4RkYwMkZGM0NGRkZGRkY0NUZGQjAKKzoxMDNCNjAwMDc2RkYxNEZGRkZGRkRFRkYwMEZGQTBGRkZGRkYwM0ZGNTQKKzoxMDNCNzAwMDg0RkYzN0ZGRkZGRjAwRkYwMEZGMzRGRkZGRkYwOEZGNTgKKzoxMDNCODAwMDAyRkYzQ0ZGRkZGRjQ1RkY3N0ZGMTRGRkZGRkYyRUZGMDMKKzoxMDNCOTAwMDAwRkZBMEZGRkZGRjAzRkY3RUZGMzhGRkZGRkYwMEZGRDYKKzoxMDNCQTAwMDAwRkYzOEZGRkZGRjA4RkYwMEZGM0NGRkZGRkZFNUZGQkUKKzoxMDNCQjAwMDc3RkYxNEZGRkZGRjhFRkYwMEZGNDBGRkZGRkYwMEZGQjYKKzoxMDNCQzAwMDAwRkY1OEZGRkZGRjAzRkYwMEZGMEFGRkZGRkYwRkZGOEIKKzoxMDNCRDAwMDY0RkYxQ0ZGRkZGRjRGRkYzOEZGMjJGRkZGRkYwRkZGQjcKKzoxMDNCRTAwMDc3RkYxNEZGRkZGRkU1RkY4QkZGODNGRkZGRkY0MEZGMjEKKzoxMDNCRjAwMDc4RkYyMkZGRkZGRjBGRkY2NEZGMUNGRkZGRkY4RkZGMTcKKzoxMDNDMDAwMDM4RkYyMkZGRkZGRjBGRkY3OEZGMTRGRkZGRkYzNUZGOTQKKzoxMDNDMTAwMDhCRkY4M0ZGRkZGRjQwRkY3OEZGMjJGRkZGRkYwRkZGQjcKKzoxMDNDMjAwMDAwRkYwQUZGRkZGRjBGRkYwMEZGMzRGRkZGRkYwOUZGNDgKKzoxMDNDMzAwMDAwRkYzNEZGRkZGRjg1RkYwMEZGMzRGRkZGRkY1NkZGNEIKKzoxMDNDNDAwMDAwRkYwOUZGRkZGRjA2RkYyMEZGNDBGRkZGRkYwMEZGMEYKKzoxMDNDNTAwMDAxRkY0MEZGRkZGRkMxRkYwMEZGNDBGRkZGRkY0NEZGRTgKKzoxMDNDNjAwMDAwRkY2OEZGRkZGRjA1RkYwMEZGNjhGRkZGRkYxNUZGNzQKKzoxMDNDNzAwMDAwRkY2OEZGRkZGRjA1RkYwMEZGNjhGRkZGRkY0NUZGMzQKKzoxMDNDODAwMDAwRkYwQUZGRkZGRjBGRkY4NkZGODdGRkZGRkZGMEZGMjgKKzoxMDNDOTAwMDg2RkY4QkZGRkZGRkUwRkYwMEZGMzRGRkZGRkZDOEZGNDEKKzoxMDNDQTAwMDAwRkYzOEZGRkZGRkM4RkYwMEZGNjBGRkZGRkYwM0ZGQkIKKzoxMDNDQjAwMDAwRkY2MEZGRkZGRjEzRkYwMEZGNzhGRkZGRkYxM0ZGMTAKKzoxMDNDQzAwMDAwRkY3OEZGRkZGRjAzRkY4NkZGOTdGRkZGRkZGMEZGNzYKKzoxMDNDRDAwMDg2RkY5QkZGRkZGRkUwRkYwNUZGODFGRkZGRkZDMEZGQTcKKzoxMDNDRTAwMDc4RkYyMkZGRkZGRjBGRkYyMUZGMThGRkZGRkY3MUZGOEIKKzoxMDNDRjAwMDAwRkYwQUZGRkZGRjBGRkY3RkZGMzhGRkZGRkYwMUZGRkQKKzoxMDNEMDAwMDAwRkYzOEZGRkZGRjA5RkYwMEZGMzhGRkZGRkYwNkZGM0UKKzoxMDNEMTAwMDdFRkY0MEZGRkZGRjAwRkYwMEZGNDBGRkZGRkZCMUZGRkUKKzoxMDNEMjAwMDA4RkYwQ0ZGRkZGRjAwRkYwMEZGM0NGRkZGRkZDNUZGODgKKzoxMDNEMzAwMDdBRkYxNEZGRkZGRkJFRkYwMEZGNTBGRkZGRkY0NkZGQUIKKzoxMDNENDAwMEUxRkYyMkZGRkZGRjBGRkY3QUZGMUNGRkZGRkZFMEZGRjUKKzoxMDNENTAwMDYwRkYyMkZGRkZGRjBGRkYwMEZGNThGRkZGRkZBN0ZGREQKKzoxMDNENjAwMDBDRkYwQ0ZGRkZGRjAwRkYwMEZGMEFGRkZGRkYwRkZGMkMKKzoxMDNENzAwMDAwRkY0MEZGRkZGRkM0RkYwMEZGMEFGRkZGRkYwRkZGMzAKKzoxMDNEODAwMEZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGNDMKKzowNDNEOTAwMEZGRkZGRkZGMzMKKzowMDAwMDAwMUZGCmRpZmYgLS1naXQgYS9maXJtd2FyZS9zYjE2L2FsYXdfbWFpbi5jc3AuaWhleCBiL2Zpcm13YXJlL3NiMTYvYWxhd19tYWluLmNzcC5paGV4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA0NTAyNzAKLS0tIC9kZXYvbnVsbAorKysgYi9maXJtd2FyZS9zYjE2L2FsYXdfbWFpbi5jc3AuaWhleApAQCAtMCwwICsxLDg3IEBACis6MTAwMDAwMDAwMDEwMDA0NDA4MDAwMDQ0MDBCMTAwNDQwMDYxMDA0NEI2Cis6MTAwMDEwMDAwODUwMDA0NDBERjI2MUE4NDQwNDA0MTkwMDAwNDA0NTUyCis6MTAwMDIwMDA0MDQ5MzlBQzU1NTU3MThCNTAwNTYzODAwMDAwMDYzOTQ1Cis6MTAwMDMwMDBGRjJFMjE0OUZGMEZENDQ5MjAwMTA5MEUyMDAwNzE4QkFBCis6MTAwMDQwMDBBODAxQTg4MDg4MDFBODgwQTgwMDAwODBEMjAwNzE4QjM4Cis6MTAwMDUwMDA4ODAwQTg4MEE4MDRCMzgwMjAwN0IzODA4ODAzQjE4MEZCCis6MTAwMDYwMDBDMDAwMDk1Q0MyMDEwMDgyQTEwMDcxOEJDRDAwMDQxOTlGCis6MTAwMDcwMDAyMTIwNzE4QkNGMDAwNDE5MDAwMEIxODBDMjAwMDQxOTQ3Cis6MTAwMDgwMDAwMDQwMDAxNDA4NDAwNDI0MDAwMDM0NDkwQzQwMDA0NDlGCis6MTAwMDkwMDA0NDA0MDQzOTAwMDA0MDQ1MzIwMDA5NUMwMDAwMEMzOTdBCis6MTAwMEEwMDAwMDAwNDA0NTQwNDAwOUVGRkYyMDA5Q0YwMDA0NjNBMTU0Cis6MTAwMEIwMDA1MDAzMzM4MDAwMDRBMzgwMDBGRkMyOEIwMEQwMDQ1NDlGCis6MTAwMEMwMDAwNEUwMDBDNDIwMDM4MEMwMzAwMDAwODgwMDAwN0EwQUU5Cis6MTAwMEQwMDBEMDAxMDA4MjAwNjAwMDQ0QzAwMDAwOTkwMDYwMDA0NDJDCis6MTAwMEUwMDAwMEZGQzI4QjIwMDAwMDgwMDAwRDQyOEIwODMyMDBDNDRDCis6MTAwMEYwMDAwMDBFNDI4QjAwQTIwMEM0MDAxRTQyOEIwQ0IyMDBDNDUyCis6MTAwMTAwMDAwMDhFNDI4QjAwNjIwMEM0MDA5RTQyOEIwODUyMDBDNEU1Cis6MTAwMTEwMDAwMEJFNDI4QjA4NTIwMEM0MDAwNDQyOEIwNDcyMDBDNDJCCis6MTAwMTIwMDAwMDI0NDI4QjAwRDIwMEM0MDA1NTQyOEIwMDYwMDBDNDAyCis6MTAwMTMwMDAwMDAwNDA0NTIwMDE3OTgwMDAzMDQyOEIwODgyMDBDNEQ1Cis6MTAwMTQwMDAwMDAwNDA0NTAwMDA3MThCNDAwMTAwODAwMDYwMDA0NEM5Cis6MTAwMTUwMDBGRjAwRTJBQjAwQjIwMEM0MEZGMkE4QTgyMDAwQjE4OEYzCis6MTAwMTYwMDAwMDAwNDEwMjRERjIwMDM5QzAwMTAwODIwMDYwMDA0NEVECis6MTAwMTcwMDAwREYyQTNBODRERjIwMDM5MDA2MDAwNDRGRjAwRTJBQjhECis6MTAwMTgwMDAyMDAwMDA4ODAwMDA2MTAyNERGMjA0MTkwMDYwMDA0NDY0Cis6MTAwMTkwMDBGRjAwRTJBQkEwMDAwMDg4MDAwMDYxMTA0REYyMDQxOURFCis6MTAwMUEwMDAwMDYwMDA0NEZGMjBFMkFCNjAwMDAwODgwMDAwNzFDMEU2Cis6MTAwMUIwMDA0REYyMDQxOTAwNjAwMDQ0MDAwMDc5ODAwMEUyMDA4NEUwCis6MTAwMUMwMDAwMzAzMDQ0OTA0QzIwMDU0MDA2MDA0NjQwMDYwMDA0NDU2Cis6MTAwMUQwMDAwMDAwNjM4MDAwMDAwNjE5MDMwMDA0NDkwMDYwMDA0NDI5Cis6MTAwMUUwMDAyMDAxNjM4MDAwMDAwNjE5MDAyMEUyOEIwQ0YyMDA4NERECis6MTAwMUYwMDBCRTAwNTE4QkMwMjAwMDM5MDgwMTAwNDRFQzAwNTE4QjM3Cis6MTAwMjAwMDBDMDIwMDAzOTAwMDJFMjhCMDQyMTAwODQzRjAwNTE4QkEyCis6MTAwMjEwMDBDMjIwMDAzOTAwMTEwMDQ0M0QwMDUxOEJDMjIwMDAzOTNBCis6MTAwMjIwMDBFNTAwNzE4QkNEMDAwMDM5MDAwMEIxODBDOTIwMDQxOUIwCis6MTAwMjMwMDBDQjIwMDQxOUMxMjAwNDE5QzMyMDA0MTkxMDAwNzE4QkFDCis6MTAwMjQwMDBDNzIwMDQxOURFMDA1MThCQ0YwMDAwMzkwMDAxQjE4MEI2Cis6MTAwMjUwMDBDNDIwMDQxOUM2MjAwNDE5QzgyMDA0MTlDQTIwMDQxOThFCis6MTAwMjYwMDAyMDAwNzE4QkNDMjAwNDE5MDMwMDA0NDkwMDYwMDA0NDc1Cis6MTAwMjcwMDAwOTA0NjFBOEMxMDAwNDE5MEIwNDYxQThDQTAwMDQxOThCCis6MTAwMjgwMDAwNDYwMDBENDBEMDA2MTBBOTA0MDA5OEYwMDAxMDA0NTEwCis6MTAwMjkwMDAwRjAwNjEwQTAwNDAwOThGMDAwMTAwNDU4MjAwMDkyRTBECis6MTAwMkEwMDA4MDQwMDlDRjAyMDA2MTIyNDMyNTYxMjI0MDMzMDA4MDUzCis6MTAwMkIwMDAwODQ4MDA0NDIwQjE0OTVDOTIwMDA5NEUwMjAzMDkyRTBGCis6MTAwMkMwMDAwMDAwQTMwMkMwMDA3MUMwMjAwMEVCODAwMDA0QzI4QkJDCis6MTAwMkQwMDAyMDA0NjE4MDAwMDQ3QTAyQzAwMDAwODIwQ0MzMDg0OTM3Cis6MTAwMkUwMDBCMDAxRjM4MDAwMDAxMDM5MjAwMDBDODkwQzg4MDg0OTA3Cis6MTAwMkYwMDAwMzAwQTgxODAwMDAxMDM5QkRGRjYyOEIyMDAxMDA4MEE4Cis6MTAwMzAwMDAwMDAwNjNDQjAwMDA3QTAyNDAwMDAxNUIyMDAwMDA4MDA3Cis6MTAwMzEwMDAwMDAwNEFDQjIwMDAxMzgwMjAwMDdBODBFMDIxMDBDMDNBCis6MTAwMzIwMDAwODAwMDg0OTEwNDEwOThFQUVBRTYyOEIwMDA0NjEyMkJDCis6MTAwMzMwMDAwMDAzMDA0NTIyMDEzMzgwMjAwMUEzMDIwMDAwN0E4MERGCis6MTAwMzQwMDBDMDAwMDA4MjA3MjA0MDBBMDhBMzAwODQ0MDIxMDA4MEVBCis6MTAwMzUwMDA0MDA1OTMxMEM3MjAwMDM5MDAwMDQwNDUwNzIwNDAwQTlGCis6MTAwMzYwMDAwQzkzMDA4NDA4MDAwMDgyMEMyNDYxNTA0MDAxMDA4MDNFCis6MTAwMzcwMDBDNzIwMDAzOTAwMDA0MDQ1MDAwNDYzODAwMDAwMDYzOUIyCis6MTAwMzgwMDA0MjAxMDkwRTAyMjA2MTBBMDAwMTAwNDUwQzIwNjAwQUFBCis6MTAwMzkwMDAwMEMzMDA4NDAwMDRCMTgwMDAwMDA2MzkwQzYxMDRENDVECis6MTAwM0EwMDAwMDI0NzFDMDIwMzMzM0MwRTAwMUEzODIyMjAzN0EwMjBCCis6MTAwM0IwMDBDMzAxQTM4MjIwMDEzMzgwMDAwMDdBODBDMjAxQjM1MEMwCis6MTAwM0MwMDBDQzIwMDAzOTAwMDA3MTgwMDAwODAwNDQwQzIwNjAwQTM1Cis6MTAwM0QwMDAwMEYzMDA4NDAwMDRCMTgwMDAwMDA2MzkwQzYxMDRENEVECis6MTAwM0UwMDAwMDAwNzFDMDAwMDA5MzEwQ0MyMDAwMzkwMDA4MDA0NEM4Cis6MTAwM0YwMDBDQzIwMDAzOTAwMjAwMEMwMDAzMDcxQzAwMDA4MDA0NDRCCis6MTAwNDAwMDAyMDAxMDA4MEFFQUU2MjhCMjAwMTMzODAwMDAwODM4MDJCCis6MTAwNDEwMDAyMDAwN0E4MDIwQTE0OTVDODIwMDA5NkU4MDRBMDk4RTAyCis6MTAwNDIwMDBFMDAxQjM4MjIwMDRBMzgwMDAwMDdBQ0IyODA0RUExMDA0Cis6MTAwNDMwMDAwQzA0N0ExMDcwMDBDMDhCMDAwMDEwMzk5MDAzMDA4MDBCCis6MTAwNDQwMDA0MDAwMjE1QjkwMDA2MTgwMEM4QTA4NDkwMDAwMUMxOTYzCis6MTAwNDUwMDA0MDAwMDg1QjA4MDAwODQ5MjAwMjAwODAwMzAwQTgxODNCCis6MTAwNDYwMDAwMDAwMTQxOTQwMDAyMUNCMDAwMDQxMDIwMDAwRUI4MDg1Cis6MTAwNDcwMDBGMjAxMDA4MjQwMjEzMzAyMDgyMDYxMEFDNDAwMDQxOUZECis6MTAwNDgwMDBDNzAwMDA5OTAyMDA2MTBBMEMwQTA0MTQwMTAwNjEwQTA1Cis6MTAwNDkwMDAwMzAwNDgwQTAwNTgwNDU0QzMwMDA0MTkwQzU4MDA0NENGCis6MTAwNEEwMDAwODAwQzgwQTBDNTgwNDU0QzgwMDA0MTkwQTAwNjEwQTVDCis6MTAwNEIwMDAwOTAwNDgwQTAwQzgwNDU0QzkwMDA0MTkwQ0M4MDA0NEMzCis6MTAwNEMwMDAwQjAwQzgwQTBDQzgwNDU0Q0IwMDA0MTkwNDAwNjEwQUNDCis6MTAwNEQwMDAwNjAwNDgwQTAwRDgwNDU0QzYwMDA0MTkwQ0Q4MDA0NDg5Cis6MTAwNEUwMDAwNTAwQzgwQTBDRDgwNDU0QzUwMDA0MTkwNzAwNjEwQUE1Cis6MTAwNEYwMDAwQzAwNDgwQTAwMEEwNDU0Q0MwMDA0MTkwQzBBMDA0NEY5Cis6MTAwNTAwMDAwRTAwQzgwQTBDMEEwNDU0Q0UwMDA0MTkwMDAwNDA0NTJECis6MDgwNTEwMDAyMDEwNzE4QjA4NDIwNjAwNjcKKzowMDAwMDAwMUZGCisvKgorICogIENvcHlyaWdodCAoYykgMTk5NCBDcmVhdGl2ZSBUZWNobm9sb2d5IEx0ZC4KKyAqICBNaWNyb2NvZGUgZmlsZXMgZm9yIFNCMTYgQWR2YW5jZWQgU2lnbmFsIFByb2Nlc3NvcgorICovCmRpZmYgLS1naXQgYS9maXJtd2FyZS9zYjE2L2ltYV9hZHBjbV9jYXB0dXJlLmNzcC5paGV4IGIvZmlybXdhcmUvc2IxNi9pbWFfYWRwY21fY2FwdHVyZS5jc3AuaWhleApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45YTUwYTU4Ci0tLSAvZGV2L251bGwKKysrIGIvZmlybXdhcmUvc2IxNi9pbWFfYWRwY21fY2FwdHVyZS5jc3AuaWhleApAQCAtMCwwICsxLDEyMSBAQAorOjEwMDAwMDAwMDAxMDAwNDQwODAwMDA0NDAwNzAwMDQ0MDhEMDAwNDQ4MAorOjEwMDAxMDAwMDBGMDAwNDQwREYyNjFBODQ0MDQwNDE5MDAwMDQwNDVCQQorOjEwMDAyMDAwMDAwNDYzODAwMDAwMDYzOUZGMkUyMTQ5RkYwQ0Q0NDlFQgorOjEwMDAzMDAwNDA0OTM5QUM1NTU1NzE4QjUwMDFCMTgwMDAwMDcxOEIyRQorOjEwMDA0MDAwQzIzMDA0MTlDMEEwMDQxOUMyQTAwNDE5ODkwMDcxOEIyMAorOjEwMDA1MDAwQzgzMDA0MTk3MTAwNzE4QkNEMDAwNDE5Q0YwMDA0MTk0OAorOjEwMDA2MDAwODAwMDcxOEJDQjIwMDQxOTIwMDA3MThCQzQyMDA0MTlFRgorOjEwMDA3MDAwNDcwMDUxOEJDMDIwMDAzOTAwMDA2MzgwQzFBMDA0MTlFMworOjEwMDA4MDAwOTMwMDAxNEZDRDMwMDAwOUNGMzAwMDA5MEM0MDAwMTQxRgorOjEwMDA5MDAwMDA2MDAwMTQwMDA0NjFBODAyMDQ2MUE4MEM2MDA0MjQzQworOjEwMDBBMDAwMDAwMDM0NDkwODUwMDA0NDQ0MDQwNDM5MDAwMDQwNDUyRAorOjEwMDBCMDAwMDgzMDYxMEEwNUIwRTgxODBDQzAwNDU0QzgzMDA0MTlBRgorOjEwMDBDMDAwMDkwNDAwQTgwQjA0MDBBODAwMDA0MDQ1MDkwNDYxQTgyOQorOjEwMDBEMDAwQzEwMDA0MTkwQjA0NjFBOENBMDAwNDE5MEQwMDYxMEFDQgorOjEwMDBFMDAwMDAwMTAwNDUwRjAwNjEwQTAwNDAwOThGMDAwMTAwNDUzMgorOjEwMDBGMDAwNDA0MDA5RUZGRjIwMDlDRjAwMDQ2M0ExNTAwMzMzODA4MworOjEwMDEwMDAwMDAwNEEzODAwMEZGQzI4QjBDMTIwNDU0MDgxMjAwQzQyOAorOjEwMDExMDAwMjAwMzgwQzAzMDAwMDA4ODAwMDA3QTBBRDAwMTAwODJFRAorOjEwMDEyMDAwMDQ1MDAwNDRDMDAwMDA5OTA0NTAwMDQ0MDBGRkMyOEJGQQorOjEwMDEzMDAwMjAwMDAwODAwMDBENDI4QjA0NDIwMEM0MDAwRTQyOEI2MAorOjEwMDE0MDAwMDg1MjAwQzQwMDFFNDI4QjAwRTIwMEM0MDA4RTQyOEJBNQorOjEwMDE1MDAwMDhEMjAwQzQwMDlFNDI4QjA0RjIwMEM0MDBCRTQyOEI1MQorOjEwMDE2MDAwMDRGMjAwQzQwMDA0NDI4QjA0MTEwMEM0MDAyNDQyOEIzQQorOjEwMDE3MDAwMEM2MTAwQzQwMDU1NDI4QjA0NTAwMEM0MDAzRjQyOEIwOAorOjEwMDE4MDAwMEMwMTAwQzQwMDAwNDA0NTIwMDE3OTgwMDAzMDQyOEIwMgorOjEwMDE5MDAwMDQ2MjAwQzQwMDAwNDA0NTAwMDA3MThCNDAwMTAwODBGMworOjEwMDFBMDAwMDQ1MDAwNDRGRjAwRTJBQjA4QzIwMEM0MEZGMkE4QTg0QworOjEwMDFCMDAwMjAwMEIxODgwMDAwNDEwMjRERjIwMDM5QzAwMTAwODJFOAorOjEwMDFDMDAwMDQ1MDAwNDQwREYyQTNBODRERjIwMDM5MDQ1MDAwNDQzRAorOjEwMDFEMDAwRkYwMEUyQUIyMDAwMDA4ODAwMDA2MTAyNERGMjA0MTkyQworOjEwMDFFMDAwMDQ1MDAwNDRGRjAwRTJBQkEwMDAwMDg4MDAwMDYxMTA1MgorOjEwMDFGMDAwNERGMjA0MTkwNDUwMDA0NEZGMjBFMkFCNjAwMDAwODg3NworOjEwMDIwMDAwMDAwMDcxQzA0REYyMDQxOTA0NTAwMDQ0MDAwMDdBMEE0NQorOjEwMDIxMDAwMjAwMUYwODAwMUEwNDEwQTAwMTEwMEM0MjAwMUYwODBGQgorOjEwMDIyMDAwQzEzMDA0MTkwNDUwMDA0NDAwMDA3OTgwMEM0MTAwODQ1RQorOjEwMDIzMDAwODkwMDcxOEJDODMwMDQxOTk3MDA3MThCQ0QwMDAwMzk4QgorOjEwMDI0MDAwMDAwMUIxODA4MDAwMDQxOTgyMDAwNDE5QzEyMDA0MTk0MgorOjEwMDI1MDAwQzMyMDA0MTlDMjMwMDQxOUNEMTAwNDE5Q0YxMDA0MTk5OQorOjEwMDI2MDAwQjAwMDcxOEI4NDAwMDQxOTg2MDAwNDE5ODAwMDcxOEIyMgorOjEwMDI3MDAwQ0IyMDA0MTk5MzAwMDE0RkNEMzAwMDA5Q0YzMDAwMDk4NQorOjEwMDI4MDAwMDMwMjA0NDkwODQxMDAxNDA0NTAwMDQ0MDAwMDYzODA0NAorOjEwMDI5MDAwMDAwMDA2MTkwMzAwMDQ0OTA0NTAwMDQ0MjAwMTYzODA1MworOjEwMDJBMDAwMDAwMDA2MTkwMDIwRTI4QjAwQzEwMDg0NDcwMDUxOEIzQQorOjEwMDJCMDAwQzAyMDAwMzkwMDAwNjM4MEMxQTAwNDE5MDBFMTAwNDQ5RgorOjEwMDJDMDAwQkQwMDUxOEJDMDIwMDAzOTAwMDBCMTgwQzFBMDA0MTlDRAorOjEwMDJEMDAwMDMwMDA0NDkwNDUwMDA0NDAwMjA2MTBBMDAwMTAwNDU2NQorOjEwMDJFMDAwMDIzMDYxMEEwQzgzMDBDNDBDNzgwODQ0MDQ1QTA4NDRBNAorOjEwMDJGMDAwQjIwMDA5NEYxMDQyMDk4RTA1QjBFMDE4MDQyMzAwODRCMworOjEwMDMwMDAwMEMwMTAwMTEwODA1NjExMDAwNDkwODQ0MDA0ODA4NDQyOAorOjEwMDMxMDAwQjIwMDA5NEY4MDAwNzE4QkMwMDAwMDgyMEMwMTMzMTBDNQorOjEwMDMyMDAwMjgwMUEzMTAwMDAxN0E4MDhDMDEwMDgwMDIzMDYxMEE0QworOjEwMDMzMDAwMjAwMDA0MTkwQzgzMDBDNDA1QjBDODE4MDg0MzAwQzQ4OQorOjEwMDM0MDAwMDEzMEM4MEEwQzM4MDBDNDA4ODgwMDQ0MEM3ODA4NDRGRQorOjEwMDM1MDAwMDQ1QTA4NDQwMDAwQTMxODgwMDAwNDE5MEIwNDYxQTg4MworOjEwMDM2MDAwQzMyMDAwMzlDMzMwMDQxOTBGMTA2MTBBQ0EzMDA0MTlDMAorOjEwMDM3MDAwMDkwNDQxQThFMTIwMDAzOUQxMDAwOTRGMDAwNDYxMDJCRAorOjEwMDM4MDAwMDg2MzAwNDQwMzMwNDEwQTIwMDAwMDM5QTMwMDA5NEZFQworOjEwMDM5MDAwMDAwNDYxMDIwMDQ4MDg0NDA4ODgwMDQ0MDIzMDYxMEFGMQorOjEwMDNBMDAwMDAwODAwQzQwQzc4MDg0NDA0NUEwODQ0QjIwMDA5MEYzRAorOjEwMDNCMDAwMTA0MDA5OEUwMDAwNjg1QjIwMDRCMTgwMDIwMDYxNUI4MAorOjEwMDNDMDAwODgwMzdBODBBQzAxMDA4MDA1QjBFMDE4MDBEMzAwODQ3NworOjEwMDNEMDAwMDA0OTA4NDQwMDQ4MDg0NEIyMDAwOTBGODAwMDcxOEJBRQorOjEwMDNFMDAwQzAwMDAwODIwMjMwNjEwQTAwMDgwMEM0MDVCMEM4MThDRAorOjEwMDNGMDAwMEMxODAwQzQwMTMwQzgwQTBDMzgwMEM0MDg4ODAwNDQzNgorOjEwMDQwMDAwMEM3ODA4NDQwMDAwNjExODIwMDVCMTgwMDAwMDY4Q0IxQQorOjEwMDQxMDAwODAwMDA0MTkwRDEwNjEwQUMzMzAwNDE5MEIwNDQxQThBRgorOjEwMDQyMDAwMDkwNDQxQThFMTIwMDAzOTA4MzgwMDQ0MDMzMDQxMEE5QQorOjEwMDQzMDAwMjAwNEIxODAwMDQ4MDg0NDA4ODgwMDQ0MDAwMEIxODBDRQorOjEwMDQ0MDAwQzIzMDA0MTkwQ0I4MDBENDBGMzA2MTBBMEQzMEM4MEE0QworOjEwMDQ1MDAwMENCODAwQzQ5MzAwMDE0RkU3MDAwMTZGMEYzMDYxMEEzMAorOjEwMDQ2MDAwMjAwMDAwODgwMjAwNjEwMjQxMDQwNDE5MDIwNDYxMDJCNAorOjEwMDQ3MDAwNDMwNDA0MzlDRjMwMDAwOTIwMDAwOTQ5MDA1OTAwNDRFMQorOjEwMDQ4MDAwOTMwMDAxNEZFNzAwMDE2RjBEMzA2MTBBMjAwMDYxODg4MQorOjEwMDQ5MDAwQzIwMDAwODJDMjAzMDA4MkNEMzAwMDA5MjAwMDA5NDk1OQorOjEwMDRBMDAwMEYzMDYxMEEwRDMwQzgwQTBDNTgwMDg0MDIzMDYxMEEwRQorOjEwMDRCMDAwMDVCMEE4MThDMjMwMDQxOTAwMDAwMDQ2OTA0MDA5OEYwQQorOjEwMDRDMDAwMTIwNDA5NkUwMzAwMDkwRTAwMDE3MTgyMjAwMTAwODBGMAorOjEwMDREMDAwMDAwMDYxQ0I4MDA0QjE4MDAwMDFFMDYwMENEODA0MTRGRQorOjEwMDRFMDAwMDAwMUVCODA0MDAwNTIxQjgwMDA3OTgwQzAwMTcxQzI4NgorOjEwMDRGMDAwMjAwMEMwODAwODBBMDQ1NEMwMDRBODgyODAwMDcyMUIzNworOjEwMDUwMDAwODAwMDAwODAwMDAxRjA4MDIwMDBDMDgwMEMyQTA0NTQ4QworOjEwMDUxMDAwQzAwNEE4ODIxMDAwNzIxQjgwMDAwMDgwMDAwMUYwODBERgorOjEwMDUyMDAwMjAwMEMwODAwODNBMDQ1NEMwMDRBODgyMjAwMDcyMUIzNgorOjEwMDUzMDAwODAwMDAwODBDMDAzRjA4MjIwMDBBMDgwMDAwMTAwMTEzNAorOjEwMDU0MDAwNDAwMEMyOEIwMEFBMDBDNDAwMDBFOTgwMDVCMEE4MThEMgorOjEwMDU1MDAwMDAwMUE4MjJEMDAxMDA4MkYwMDBFMjFCMDYyMEE4MEFCOAorOjEwMDU2MDAwMkQxMDYxMEFEMTAwMDkyRTAwMDFBODAyMEUxMEM4MEE0MAorOjEwMDU3MDAwMENCQTA0MTQwRTEwNjEwQTA0NEEwMDQ0MEMxMEM4MEE5NAorOjEwMDU4MDAwMDQ0QTA0NTQwQzEwNjEwQUQwMDEwMDgyMDAxMEE4MTgxQgorOjEwMDU5MDAwQTAwMDAwODgwMDAxNzE4MjAzMDAwOTBFOUEwMTAwNjAyQQorOjEwMDVBMDAwMzIwMDA5MkUwMDAwMDA0NjAwMDE3MTgyMjAwMTAwODAwNworOjEwMDVCMDAwMDAwMDYxQ0I4MDI0QjFDMDAwMzFFMDYwMENDQTA0MTQ5QgorOjEwMDVDMDAwMDAwMUVCODA0MDAwNTIxQjgwMDA3OTgwQzAwMTcxQzJBNQorOjEwMDVEMDAwMjAwMEMwODAwOERBMDQ1NEMwMDRBODgyODAwMDcyMUI4NgorOjEwMDVFMDAwODAwMDAwODAwMDAxRjA4MDIwMDBDMDgwMENGQTA0NTREQworOjEwMDVGMDAwQzAwNEE4ODIxMDAwNzIxQjgwMDAwMDgwMDAwMUYwODBGRgorOjEwMDYwMDAwMjAwMEMwODAwODI5MDQ1NEMwMDRBODgyMjAwMDcyMUI2NgorOjEwMDYxMDAwODAwMDAwODBDMDAzRjA4MjIwMDBBMDgwMDAwMTAwMTE1MworOjEwMDYyMDAwNDAwMEMyOEIwMDM5MDBDNDAwMDBFOTgwMDVCMEE4MTg2MgorOjEwMDYzMDAwMDAwMUE4MjJEMDAxMDA4MkIwMDBFMjFCMDYyMEE4MEExNworOjEwMDY0MDAwMkYxMDYxMEFGMTAwMDkyRTAwMDFBODAyMEUxMEM4MEEzRAorOjEwMDY1MDAwMENBOTA0MTQwRTEwNjEwQTA0OTkwMDQ0MEMxMEM4MEE3NQorOjEwMDY2MDAwMDQ5OTA0NTQwQzEwNjEwQUQwMDEwMDgyMDAxMEE4MThFQgorOjEwMDY3MDAwQTAwMDAwODgwMDAxNzE4MjlGMDEwMDYwMDAwMDAwNDYxOAorOjEwMDY4MDAwMDAwMDMzODAwMDAwODM4MDIwMDA3QTgwMjAwNzMzODBDMAorOjEwMDY5MDAwMDAwMDgzODAyMDA0N0E4MDIwMDEwMDgwMDAwMDAwNDY1MgorOjEwMDZBMDAwMDIwMDYxMEEwNDFCMDQxNDAxMDA2MTBBMDMwMDQ4MEFFNQorOjEwMDZCMDAwMEM3OTA0NTRDMzAwMDQxOTA0QzkwMDQ0MDgwMEM4MEE5MgorOjEwMDZDMDAwMDRDOTA0NTRDODAwMDQxOTBBMDA2MTBBMDkwMDQ4MEE1MAorOjEwMDZEMDAwMENFOTA0NTRDOTAwMDQxOTA0RDkwMDQ0MEIwMEM4MEFFOQorOjEwMDZFMDAwMDREOTA0NTRDQjAwMDQxOTA0MDA2MTBBMDYwMDQ4MEEyNgorOjEwMDZGMDAwMENGOTA0NTRDNjAwMDQxOTA0MEIwMDQ0MDUwMEM4MEE5MAorOjEwMDcwMDAwMDQwQjA0NTRDNTAwMDQxOTA3MDA2MTBBMEMwMDQ4MEFEMAorOjEwMDcxMDAwMEMyQjA0NTRDQzAwMDQxOTA0MUIwMDQ0MEUwMEM4MEExRQorOjEwMDcyMDAwMDQxQjA0NTRDRTAwMDQxOTAwMDA0MDQ1OTIyMDcxOEIzNAorOjA0MDczMDAwQTZDNTExMDA0OQorOjAwMDAwMDAxRkYKKy8qCisgKiAgQ29weXJpZ2h0IChjKSAxOTk0IENyZWF0aXZlIFRlY2hub2xvZ3kgTHRkLgorICogIE1pY3JvY29kZSBmaWxlcyBmb3IgU0IxNiBBZHZhbmNlZCBTaWduYWwgUHJvY2Vzc29yCisgKi8KZGlmZiAtLWdpdCBhL2Zpcm13YXJlL3NiMTYvaW1hX2FkcGNtX2luaXQuY3NwLmloZXggYi9maXJtd2FyZS9zYjE2L2ltYV9hZHBjbV9pbml0LmNzcC5paGV4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE4OTlhOWUKLS0tIC9kZXYvbnVsbAorKysgYi9maXJtd2FyZS9zYjE2L2ltYV9hZHBjbV9pbml0LmNzcC5paGV4CkBAIC0wLDAgKzEsNzAgQEAKKzoxMDAwMDAwMDAwMTAwMDQ0MDAwMDQwNDUwMDAwNDA0NTAwMDA0MDQ1MEQKKzoxMDAwMTAwMDAwMDA0MDQ1QUFBQTcxOEI0NDA0MDQxOTAwMDA0MDQ1MjEKKzoxMDAwMjAwMEZGNkUyMTQ5RkYwRkQ0NDk0MDQ5MzlBQzU1NTU3MThCQkEKKzoxMDAwMzAwMDUwMDVCMTgwNjIwMDE5MEUyMTAwNzE4Qjg4MDAwMDgwOEMKKzoxMDAwNDAwMEIwMDA3MThCODgwMDAwODA0MDAwNzE4Qjg4MDAwMDgwQjgKKzoxMDAwNTAwMDYwMDA3MThCODgwMDAwODA1MDAwNzE4Qjg4MDAwMDgwRTgKKzoxMDAwNjAwMDcwMDA3MThCODgwMDAwODBDMDAwNzE4Qjg4MDAwMDgwNTgKKzoxMDAwNzAwMEUwMDA3MThCODgwMDAwODBEMDAwNzE4Qjg4MDAwMDgwQzgKKzoxMDAwODAwMDAyMDA3MThCODgwMDAwODAyMjAwNzE4Qjg4MDAwMDgwNDQKKzoxMDAwOTAwMDMyMDA3MThCODgwMDAwODBBMjAwNzE4Qjg4MDAwMDgwODQKKzoxMDAwQTAwMEIyMDA3MThCODgwMDAwODA2MjAwNzE4Qjg4MDAwMDgwMzQKKzoxMDAwQjAwMEMyMDA3MThCODgwMDAwODBGMjAwNzE4Qjg4MDAwMDgwODQKKzoxMDAwQzAwMDExMDA3MThCODgwMDAwODBBMTAwNzE4Qjg4MDAwMDgwNzYKKzoxMDAwRDAwMDYxMDA3MThCODgwMDAwODBFMTAwNzE4Qjg4MDAwMDgwRDYKKzoxMDAwRTAwMDEzMDA3MThCODgwMDAwODBCMzAwNzE4Qjg4MDAwMDgwNDIKKzoxMDAwRjAwMEMzMDA3MThCODgwMDAwODAxODAwNzE4Qjg4MDAwMDgwMUQKKzoxMDAxMDAwMDY4MDA3MThCODgwMDAwODAwQTAwNzE4Qjg4MDAwMDgwNzUKKzoxMDAxMTAwMDRBMDA3MThCODgwMDAwODAyOTAwNzE4Qjg4MDAwMDgwNjQKKzoxMDAxMjAwMDc5MDA3MThCODgwMDAwODA5QjAwNzE4Qjg4MDAwMDgwQjMKKzoxMDAxMzAwMDE0MDA3MThCODgwMDAwODBGNDAwNzE4Qjg4MDAwMDgwQUYKKzoxMDAxNDAwMEU2MDA3MThCODgwMDAwODBFNTAwNzE4Qjg4MDAwMDgwREMKKzoxMDAxNTAwMEQ3MDA3MThCODgwMDAwODAyRTAwNzE4Qjg4MDAwMDgwOTIKKzoxMDAxNjAwMDlEMDA3MThCODgwMDAwODBFRjAwNzE4Qjg4MDAwMDgwRkIKKzoxMDAxNzAwMEIyMjA3MThCODgwMDAwODAzMzIwNzE4Qjg4MDAwMDgwNTIKKzoxMDAxODAwMDJBMjA3MThCODgwMDAwODAzQjIwNzE4Qjg4MDAwMDgwQzIKKzoxMDAxOTAwMDQ2MjA3MThCODgwMDAwODAyQzIwNzE4Qjg4MDAwMDgwQTUKKzoxMDAxQTAwMEREMjA3MThCODgwMDAwODAwMTEwNzE4Qjg4MDAwMDgwMzkKKzoxMDAxQjAwMDlBMTA3MThCODgwMDAwODAxNjEwNzE4Qjg4MDAwMDgwNjcKKzoxMDAxQzAwMDhFMTA3MThCODgwMDAwODBDMjMwNzE4Qjg4MDAwMDgwOTcKKzoxMDAxRDAwMEM5MzA3MThCODgwMDAwODAzQzMwNzE4Qjg4MDAwMDgwQjIKKzoxMDAxRTAwMDgxODA3MThCODgwMDAwODBENDgwNzE4Qjg4MDAwMDgwQjIKKzoxMDAxRjAwMDEwQTA3MThCODgwMDAwODAzNEEwNzE4Qjg4MDAwMDgwNzMKKzoxMDAyMDAwMDAyOTA3MThCODgwMDAwODA3NTkwNzE4Qjg4MDAwMDgwNEYKKzoxMDAyMTAwMDlBQjA3MThCODgwMDAwODAxMjQwNzE4Qjg4MDAwMDgwM0EKKzoxMDAyMjAwMDBENDA3MThCODgwMDAwODAzQzYwNzE4Qjg4MDAwMDgwREQKKzoxMDAyMzAwMEU3NTA3MThCODgwMDAwODAwRTcwNzE4Qjg4MDAwMDgwMDEKKzoxMDAyNDAwMEZGQzA3MThCODgwMDAwODBDOEQwNzE4Qjg4MDAwMDgwNEYKKzoxMDAyNTAwMDU3RjA3MThCODgwMDAwODBDODIyNzE4Qjg4MDAwMDgwNjUKKzoxMDAyNjAwMEIwMzI3MThCODgwMDAwODBERDgyNzE4Qjg4MDAwMDgwNDUKKzoxMDAyNzAwMDkwQjI3MThCODgwMDAwODA4QTYyNzE4Qjg4MDAwMDgwNDgKKzoxMDAyODAwMENFNzI3MThCODgwMDAwODBBNUQyNzE4Qjg4MDAwMDgwQUYKKzoxMDAyOTAwMDk3MjE3MThCODgwMDAwODBBMkExNzE4Qjg4MDAwMDgwNUIKKzoxMDAyQTAwMDVDNDE3MThCODgwMDAwODBGRUMxNzE4Qjg4MDAwMDgwRUEKKzoxMDAyQjAwMDdBMjM3MThCODgwMDAwODA3ODkzNzE4Qjg4MDAwMDgwOEUKKzoxMDAyQzAwMDY3NzM3MThCODgwMDAwODAxNzI4NzE4Qjg4MDAwMDgwMEQKKzoxMDAyRDAwMDg4NDg3MThCODgwMDAwODBEQkY4NzE4Qjg4MDAwMDgwNzMKKzoxMDAyRTAwMDJCQkE3MThCODgwMDAwODBGMTA5NzE4Qjg4MDAwMDgwMjcKKzoxMDAyRjAwMERDNjk3MThCODgwMDAwODAxOThCNzE4Qjg4MDAwMDgwMEQKKzoxMDAzMDAwMEZGRkI3MThCODgwMDAwODAyMDAwNzE4Qjg4MDAwMDgwQ0IKKzoxMDAzMTAwMDUyMDA3MThCQzIwMDAwODJGRkZGNzE4QkMyMDAwMDgyMEQKKzoxMDAzMjAwMEMyMDAwMDgyQzIwMDAwODJDMjAwMDA4MjEwMDA3MThCRjUKKzoxMDAzMzAwMEMyMDAwMDgyODAwMDcxOEJDMjAwMDA4MjkwMDA3MThCMkQKKzoxMDAzNDAwMEMyMDAwMDgyNDAwMDcxOEJDMjAwMDA4MkZGRkY3MThCRUYKKzoxMDAzNTAwMEMyMDAwMDgyQzIwMDAwODJDMjAwMDA4MkMyMDAwMDgyOEQKKzoxMDAzNjAwMDEwMDA3MThCQzIwMDAwODI4MDAwNzE4QkMyMDAwMDgyN0QKKzoxMDAzNzAwMDkwMDA3MThCQzIwMDAwODI0MDAwNzE4QkMyMDAwMDgyMkQKKzoxMDAzODAwMEZGRkI3MThCQzIwMDAwODIwMDA0NzE4QkMyMDAwMDgyRUYKKzoxMDAzOTAwMDRBMDA3MThCQzIwMDAwODIwMDAwNzE4QkMyMDAwMDgyOTMKKzoxMDAzQTAwMDAwMDA3MThCQzIwMDAwODJDMjAwMDA4MkMyMzAwNDE5QkEKKzoxMDAzQjAwMDEwMDAwOTRGQzIwMTAwODJDMjAxMDA4MkMyMDEwMDgyMDYKKzoxMDAzQzAwMEMyMDEwMDgyQzIwMTAwODJDMjAxMDA4MkMyMDEwMDgyMTkKKzoxMDAzRDAwMEMyMDEwMDgyQzIwMTAwODJDMjAxMDA4MkMyMDEwMDgyMDkKKzoxMDAzRTAwMEMyMDEwMDgyQzIwMTAwODIwMDEwNzE4QkMxMzAwNDE5NjkKKzoxMDAzRjAwMDkzMDAwMTRGQ0QzMDAwMDlDRjMwMDAwOTAwMDAzNDQ5OEYKKzowODA0MDAwMDAwMDgwMDQ0Qzg1NDExMDA3QgorOjAwMDAwMDAxRkYKKy8qCisgKiAgQ29weXJpZ2h0IChjKSAxOTk0IENyZWF0aXZlIFRlY2hub2xvZ3kgTHRkLgorICogIE1pY3JvY29kZSBmaWxlcyBmb3IgU0IxNiBBZHZhbmNlZCBTaWduYWwgUHJvY2Vzc29yCisgKi8KZGlmZiAtLWdpdCBhL2Zpcm13YXJlL3NiMTYvaW1hX2FkcGNtX3BsYXliYWNrLmNzcC5paGV4IGIvZmlybXdhcmUvc2IxNi9pbWFfYWRwY21fcGxheWJhY2suY3NwLmloZXgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjA5ZjE4YwotLS0gL2Rldi9udWxsCisrKyBiL2Zpcm13YXJlL3NiMTYvaW1hX2FkcGNtX3BsYXliYWNrLmNzcC5paGV4CkBAIC0wLDAgKzEsMTIyIEBACis6MTAwMDAwMDAwMDEwMDA0NDA4MDAwMDQ0MEM1MDAwNDQwMDcwMDA0NEZDCis6MTAwMDEwMDAwNDcwMDA0NDBERjI2MUE4NDQwNDA0MTkwMDAwNDA0NTM2Cis6MTAwMDIwMDAwMDA0NjM4MDAwMDAwNjM5RkYyRTIxNDlGRjBERDQ0OUVBCis6MTAwMDMwMDA0MDQ5MzlBQzU1NTU3MThCNTAwMUIxODAwMDAxQjE4MEY4Cis6MTAwMDQwMDBDOTIwMDQxOTUxMDA3MThCQ0QwMDA0MTlFNDIwNzE4QjczCis6MTAwMDUwMDBDRjAwMDQxOTgwMDA3MThCQ0IyMDA0MTkxMDAwNzE4QjI0Cis6MTAwMDYwMDBDNDIwMDQxOTY1MDA1MThCQzIyMDAwMzkwMDAwQjE4MDAyCis6MTAwMDcwMDBDMjMwMDQxOTAwMDA2MzgwQzFBMDA0MTk5MzAwMDE0RjJECis6MTAwMDgwMDBDRDMwMDAwOUNGMzAwMDA5MDQ0MDAwMTQwQzQwMDAxNEFBCis6MTAwMDkwMDAwMDA0NjFBODAyMDQ2MUE4MDQ2MDA0MjQwMDAwMzQ0OTNCCis6MTAwMEEwMDAwMDUwMDA0NDQ0MDQwNDM5MDAwMDQwNDUwMDAwNDA0NTJECis6MTAwMEIwMDAwRjAwNjEwQTAwMDEwMDQ1NDA0MDA5RUZGRjIwMDlDRjExCis6MTAwMEMwMDAwMDA0NjNBMTUwMDMzMzgwMDAwNEEzODAwMEZGQzI4QkFGCis6MTAwMEQwMDAwOEYwMDQ1NDBDRDAwMEM0MjAwMzgwQzAzMDAwMDA4ODE1Cis6MTAwMEUwMDAwMDAwN0EwQUQwMDEwMDgyMDg1MDAwNDRDMDAwMDA5OTQ0Cis6MTAwMEYwMDAwODUwMDA0NDAwRkZDMjhCMjAwMDAwODAwMDBENDI4QjlFCis6MTAwMTAwMDAwMEEyMDBDNDAwMEU0MjhCMEM5MjAwQzQwMDFFNDI4QjYxCis6MTAwMTEwMDAwNDYyMDBDNDAwOEU0MjhCMEM1MjAwQzQwMDlFNDI4QkNECis6MTAwMTIwMDAwMEMyMDBDNDAwQkU0MjhCMDBDMjAwQzQwMDA0NDI4QjY3Cis6MTAwMTMwMDAwMEYyMDBDNDAwMjQ0MjhCMDA5MTAwQzQwMDU1NDI4QkExCis6MTAwMTQwMDAwODUwMDBDNDAwM0Y0MjhCMDhFMjAwQzQwMDAwNDA0NTU0Cis6MTAwMTUwMDAyMDAxNzk4MDAwMzA0MjhCMDA5MjAwQzQwMDAwNDA0NUFECis6MTAwMTYwMDAwMDAwNzE4QjQwMDEwMDgwMDg1MDAwNDRGRjAwRTJBQkFBCis6MTAwMTcwMDAwQzQyMDBDNDBGRjJBOEE4MjAwMEIxODgwMDAwNDEwMjgwCis6MTAwMTgwMDA0REYyMDAzOUMwMDEwMDgyMDg1MDAwNDQwREYyQTNBOENFCis6MTAwMTkwMDA0REYyMDAzOTA4NTAwMDQ0RkYwMEUyQUIyMDAwMDA4ODE3Cis6MTAwMUEwMDAwMDAwNjEwMjRERjIwNDE5MDg1MDAwNDRGRjAwRTJBQjY4Cis6MTAwMUIwMDBBMDAwMDA4ODAwMDA2MTEwNERGMjA0MTkwODUwMDA0NEFFCis6MTAwMUMwMDBGRjIwRTJBQjYwMDAwMDg4MDAwMDcxQzA0REYyMDQxOTBFCis6MTAwMUQwMDAwODUwMDA0NDAwMDA3QTBBMjAwMUYwODAwMUEwNDEwQTgyCis6MTAwMUUwMDAwNEQyMDBDNDIwMDFGMDgwQzEzMDA0MTkwODUwMDA0NDNBCis6MTAwMUYwMDAwMDAwNzk4MDAwQTEwMDg0QjUwMDUxOEJDRjAwMDAzOTQ4Cis6MTAwMjAwMDAwMDAxQjE4MDg4MDAwNDE5OEEwMDA0MTlDODIwMDQxOTZCCis6MTAwMjEwMDBDQTIwMDQxOUMyMzAwNDE5Q0QxMDA0MTlDRjEwMDQxOUQyCis6MTAwMjIwMDBCMDAwNzE4QjhDMDAwNDE5OEUwMDA0MTkxMDAwNzE4QkMyCis6MTAwMjMwMDBDNDIwMDQxOTkzMDAwMTRGQ0QzMDAwMDlDRjMwMDAwOUNDCis6MTAwMjQwMDAwMzAzMDQ0OTA0ODEwMDU0MDg1MDA0NjQwODUwMDA0NDI2Cis6MTAwMjUwMDAwMDAwNjM4MDAwMDAwNjE5MDMwMDA0NDkwODUwMDA0NEIwCis6MTAwMjYwMDAyMDAxNjM4MDAwMDAwNjE5MDAwMkUyOEIwODQxMDA4NDJGCis6MTAwMjcwMDA2NTAwNTE4QkMyMjAwMDM5MDAwMDYzODBDMUEwMDQxOUMxCis6MTAwMjgwMDAwODYxMDA0NDJEMDA1MThCQzIyMDAwMzkwMDAwQjE4MDZDCis6MTAwMjkwMDBDMUEwMDQxOTAzMDAwNDQ5MDg1MDAwNDQwMjIwNjEwQTY3Cis6MTAwMkEwMDAwMDAxMDA0NTAyMzA2MTBBMDQwMzAwQzQwNUIwQzgxODBCCis6MTAwMkIwMDAwNDcxMDBDNDAwMTMwMDQ0MDA3OTA4NDQwMDA0Nzk4MEVDCis6MTAwMkMwMDAwMDQ5MDBDNENBMjAwNDE5NEEwNDA0MTlGRjAwRTI4QjQzCis6MTAwMkQwMDAwQ0Y5MDg0NENGMTAwNDE5MEMyQjA4NDQ4RTAwMDQxOUEzCis6MTAwMkUwMDAwMzMwNjEwQUM4MjAwMDM5NDgwNDAwMzkwQTMwNjEwQTI1Cis6MTAwMkYwMDAwQ0Y5MDg0NENEMTAwNDE5MEMyQjA4NDQ4QzAwMDQxOTg3Cis6MTAwMzAwMDAwQ0Q5MDg0NDBDNUEwMDQ0MDA3OTA4NDQwMDA0Nzk4MDUwCis6MTAwMzEwMDAwMDQ5MDBDNEMzMzAwNDE5Q0EzMDAwOTkwQ0Q5MDg0NEZDCis6MTAwMzIwMDA0MjBBMDkwRTAwMDEzMzExOEMwMUEzODAwMDAxN0ExMEVBCis6MTAwMzMwMDA4MDA1QjE4MDA1QjBFMDE4MDA5MzAwODQwMDc5MDg0NDdFCis6MTAwMzQwMDAwMDA0Nzk4MDAwNDkwMEM0MEMxQjA4NDQ4ODAwMDQxOThCCis6MTAwMzUwMDA4QTAwMDA5OTBDRDkwODQ0NDIwQTA5MEU4MDAwNzE4QjZBCis6MTAwMzYwMDBDMDA0QjE4MjEwMDBFMDBCMDA0MzAwODQwMjMwNjEwQTM3Cis6MTAwMzcwMDAwMTMwQzgwQTAwNDMwMDg0MDAwMEIxODBDMjMwMDQxOTczCis6MTAwMzgwMDAwQ0E4MDA0NDAyMzA2MTBBMDBEMzAwQzQwNUIwQzgxOEFDCis6MTAwMzkwMDAwNDYzMDBDNDA4RjMwMDQ0MDA3OTA4NDQwMDA0Nzk4MDMxCis6MTAwM0EwMDAwMDQ5MDBDNDIwMDAwNDE5RkYwMEUyOEIwQ0Y5MDg0NDQ2Cis6MTAwM0IwMDBDRDEwMDQxOUNGMTAwNDE5MEMyQjA4NDQ4QzAwMDQxOTFCCis6MTAwM0MwMDA4RTAwMDQxOTAzMzA2MTBBQzgyMDAwMzlDQTIwMDAzOUEwCis6MTAwM0QwMDA0ODA0MDAzOTRBMDQwMDM5MENEOTA4NDQwQzVBMDA0NDM2Cis6MTAwM0UwMDAwMDc5MDg0NDAwMDQ3OTgwMDA0OTAwQzRDMzMwMDQxOTJFCis6MTAwM0YwMDAwQ0Q5MDg0NDQyMEEwOTBFMDVCMEUwMTgwMDE4MDA4NDIwCis6MTAwNDAwMDAwMDc5MDg0NDAwMDQ3OTgwMDA0OTAwQzQwQzFCMDg0NEFBCis6MTAwNDEwMDA4MDAxMDA4MDBDRDkwODQ0NDIwQTA5MEU4MDAwNzE4QkNCCis6MTAwNDIwMDBDMDA0QjE4MjEwMDBFMDBCMDA4ODAwODQwMjMwNjEwQTMxCis6MTAwNDMwMDAwMTMwQzgwQTAwODgwMDg0MDAwMEIxODBDMjMwMDQxOTZECis6MTAwNDQwMDAwMDAxMDAxMTAwMEZFMjhCMDAwMDQxQ0I4QzAwMDA4MDA2Cis6MTAwNDUwMDAwMDAwNDhDQjIwMDA3QTgwODAwMTAwODA4MjBDMDk2RTY5Cis6MTAwNDYwMDAwMzA4MDkwRTgwNDAwOUNGMDAwMTcxQzIwMDA4QzIxQkI5Cis6MTAwNDcwMDAwNEI4MDBDNDIwMDVBODgwMjAwMUYwODAwMDAxQzIxQjQwCis6MTAwNDgwMDAwNDQ4MDBDNDIwMDVBODgwMjAwMUYwODAwMDAyQzIxQjlGCis6MTAwNDkwMDAwNDY4MDBDNDIwMDVBODgwMjAwMUYwODAyMDAzQTg4MDAzCis6MTAwNEEwMDAwMDAxMDAxMTAwMDRDMjhCMDg3ODAwQzQwMDAwRTk4MDNDCis6MTAwNEIwMDAwNUIwQTgxODAwMDA0QUNCMjAwMEE4MjJEMDAxMDA4Mjc1Cis6MTAwNEMwMDA0MDAxMDA4MEM0MDAwNDE5QjAwMEUyOEIwNjIwQTgwQTk1Cis6MTAwNEQwMDAyRDEwNjEwQUQxMDgwOTJFMDAwMUE4MDIwQ0Y5MDg0NDY4Cis6MTAwNEUwMDBDRDEwMDQxOTBDMkIwODQ0MDMwODA5MEU5QTI1QjE2MDlECis6MTAwNEYwMDBBMjBFMDk2RTAzMDAwOTBGMDAwMTcxODIyMDAxMDA4MDI1Cis6MTAwNTAwMDAwMDAwNjFDQjgwMDEwMDgwMDMwMDA5MEYwMDAxNzFDMjZGCis6MTAwNTEwMDAwMDA4QzIxQjBDMkEwMEM0MjAwNUE4ODAyMDAxRjA4MDFFCis6MTAwNTIwMDAwMDAxQzIxQjBDMUEwMEM0MjAwNUE4ODAyMDAxRjA4MDI1Cis6MTAwNTMwMDAwMDAyQzIxQjBDM0EwMEM0MjAwNUE4ODAyMDAxRjA4MEY0Cis6MTAwNTQwMDAyMDAzQTg4MDAwMDEwMDExMDAwNEMyOEIwNEFBMDBDNDhCCis6MTAwNTUwMDAwMDAwRTk4MDA1QjBBODE4MDAwMDRBQ0IyMDAwQTgyMkJFCis6MTAwNTYwMDBEMDAxMDA4MjQwMDEwMDgwQzcwMDA0MTlCMDAwRTI4Qjc2Cis6MTAwNTcwMDAwNjIwQTgwQTJGMTA2MTBBRjEwODA5MkUwMDAxQTgwMjFFCis6MTAwNTgwMDAwQ0Y5MDg0NENGMTAwNDE5MEMyQjA4NDQ5RjM1QjE2MEI2Cis6MTAwNTkwMDAwMzA4MDkwRTAwMDE3MTgyMjAwMTAwODAwMDAwNjFDQjc4Cis6MTAwNUEwMDA4MDAxMDA4MEU0MjA3MThCMDAwMTAwNDU5MDQwMDk4RjlDCis6MTAwNUIwMDAwMDA1NjM4MDAwMDAwNjM5MDgxOTA0RDQ5MzAwMDE0RjM4Cis6MTAwNUMwMDBFNzAwMDE2RjBEMzA2MTBBMjAwNDYxQThDMjAwMDA4MkJCCis6MTAwNUQwMDAwMjA0NjFBOEMyMDAwMDgyQ0QzMDAwMDkwMjAwMDAwMkJFCis6MTAwNUUwMDAwMjAwMDAwMkMwODAwMDA5MjAwMDA5NDkwRjMwNjEwQUEyCis6MTAwNUYwMDAwRDMwQzgwQTAwMjkwMEM0MDA4MEM4MEEwMDI5MDBDNEMwCis6MTAwNjAwMDAwMDA0QjE4MDAwMDAwNjM5QzkyMDA0MzkwMDM5MDA0NEQzCis6MTAwNjEwMDAwMDA0NjM4MDAwMDAwNjM5MDAwNEIxODBDOTIwMDQzOTU5Cis6MTAwNjIwMDAwMDM5MDA0NDA5MjAyMzBBMDAwMDA2MTlDOTIwMDQxOUQyCis6MTAwNjMwMDAwMDAwNDA0NTAyMDA2MTBBMENCOTA0MTQwNDAwNjEwQTdDCis6MTAwNjQwMDAwNjAwNDgwQTAwQTkwNDU0QzYwMDA0MTkwQ0E5MDA0NDc1Cis6MTAwNjUwMDAwNTAwQzgwQTBDQTkwNDU0QzUwMDA0MTkwNzAwNjEwQTYyCis6MTAwNjYwMDAwQzAwNDgwQTAwQjkwNDU0Q0MwMDA0MTkwQ0I5MDA0NDI5Cis6MTAwNjcwMDAwRTAwQzgwQTBDQjkwNDU0Q0UwMDA0MTkwQzVBMDA0NEU4Cis6MTAwNjgwMDA4MjBEMDkyRTgwNDAwOUNGMDBERjcxOEI4MDAxMDA4MDMwCis6MTAwNjkwMDAwMkMxMDAyMjAzQzEwMDIyMDAwMTY1ODBEMjA1NjU4MkVCCis6MTAwNkEwMDA0MDIxMDA4MEQzMDMwMDgyNDAzMzAwODAwQzVBMDA0NDc0Cis6MTAwNkIwMDAwRjMwNjEwQTBEMzBDODBBMDhEOTAwQzQ5MzAwMDE0RkY5Cis6MTAwNkMwMDBFNzAwMDE2RjBGMzA2MTBBMjAwMDAwODgwMjAwNjEwMjFDCis6MTAwNkQwMDAwMjAwMDAwM0NGMzAwMDA5MjAwMDA5NDkwMDA0NjM4MEI0Cis6MTAwNkUwMDAwNEQ5MDA0NDAwMDRCMTgwMDAwMDAwNDYwMjMwNjEwQUQxCis6MTAwNkYwMDAwNUIwQTgxOEMyMzAwNDE5MDAwMDAwNDYwRTEwQzgwQTQwCis6MTAwNzAwMDAwQzBCMDQxNDBFMTA2MTBBMDQyQjAwNDQwQzEwQzgwQUQwCis6MTAwNzEwMDAwNDJCMDQ1NDBDMTA2MTBBMDAwMDAwNDYwMDEwQTgxOEI1Cis6MTAwNzIwMDBBMDAwMDA4ODAwMDE3MTgyMDAwMDAwNDYwMDA0MzM4MEIwCis6MTAwNzMwMDAwMDAwODM4MDIwMDQ3QTgwMjAwMTMzODAwMDAwODM4MEMxCis6MTAwNzQwMDAyMDAwN0E4MDIwMDMwMDgwMDAwMDAwNDYxNkNFMTEwMEIxCis6MDAwMDAwMDFGRgorLyoKKyAqICBDb3B5cmlnaHQgKGMpIDE5OTQgQ3JlYXRpdmUgVGVjaG5vbG9neSBMdGQuCisgKiAgTWljcm9jb2RlIGZpbGVzIGZvciBTQjE2IEFkdmFuY2VkIFNpZ25hbCBQcm9jZXNzb3IKKyAqLwpkaWZmIC0tZ2l0IGEvZmlybXdhcmUvc2IxNi9tdWxhd19tYWluLmNzcC5paGV4IGIvZmlybXdhcmUvc2IxNi9tdWxhd19tYWluLmNzcC5paGV4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI2NGI1NjUKLS0tIC9kZXYvbnVsbAorKysgYi9maXJtd2FyZS9zYjE2L211bGF3X21haW4uY3NwLmloZXgKQEAgLTAsMCArMSw4NCBAQAorOjEwMDAwMDAwMDAxMDAwNDQwODAwMDA0NDAwQjEwMDQ0MDA2MTAwNDRCNgorOjEwMDAxMDAwMDg1MDAwNDQwREYyNjFBODQ0MDQwNDE5MDAwMDQwNDU1MgorOjEwMDAyMDAwNDA0OTM5QUM1NTU1NzE4QjUwMDU2MzgwMDAwMDA2Mzk0NQorOjEwMDAzMDAwRkYyRTIxNDlGRjBGRDQ0OTIwMDEwOTBFMjAwMDcxOEJBQQorOjEwMDA0MDAwQTgwMUE4ODA4ODAxQTg4MEE4MDAwMDgwRDIwMDcxOEIzOAorOjEwMDA1MDAwODgwMEE4ODBBODA0QjM4MDIwMDdCMzgwODgwM0IxODBGQgorOjEwMDA2MDAwQzAwMDA5NUNDMjAxMDA4MkExMDA3MThCQ0QwMDA0MTk5RgorOjEwMDA3MDAwQTIyMDcxOEJDRjAwMDQxOTAwMDBCMTgwQzIwMDA0MTlDNgorOjEwMDA4MDAwMDA0MDAwMTQwODQwMDQyNDAwMDAzNDQ5MEM0MDAwNDQ5RgorOjEwMDA5MDAwNDQwNDA0MzkwMDAwNDA0NTMyMDAwOTVDMDAwMDBDMzk3QQorOjEwMDBBMDAwMDAwMDQwNDU0MDQwMDlFRkZGMjAwOUNGMDAwNDYzQTE1NAorOjEwMDBCMDAwNTAwMzMzODAwMDA0QTM4MDAwRkZDMjhCMDBEMDA0NTQ5RgorOjEwMDBDMDAwMDRFMDAwQzQyMDAzODBDMDMwMDAwMDg4MDAwMDdBMEFFOQorOjEwMDBEMDAwRDAwMTAwODIwMDYwMDA0NEMwMDAwMDk5MDA2MDAwNDQyQworOjEwMDBFMDAwMDBGRkMyOEIyMDAwMDA4MDAwMEQ0MjhCMDgzMjAwQzQ0QworOjEwMDBGMDAwMDAwRTQyOEIwMEEyMDBDNDAwMUU0MjhCMENCMjAwQzQ1MgorOjEwMDEwMDAwMDA4RTQyOEIwMDYyMDBDNDAwOUU0MjhCMDg1MjAwQzRFNQorOjEwMDExMDAwMDBCRTQyOEIwODUyMDBDNDAwMDQ0MjhCMDQ3MjAwQzQyQgorOjEwMDEyMDAwMDAyNDQyOEIwMEQyMDBDNDAwNTU0MjhCMDA2MDAwQzQwMgorOjEwMDEzMDAwMDAwMDQwNDUyMDAxNzk4MDAwMzA0MjhCMDg4MjAwQzRENQorOjEwMDE0MDAwMDAwMDQwNDUwMDAwNzE4QjQwMDEwMDgwMDA2MDAwNDRDOQorOjEwMDE1MDAwRkYwMEUyQUIwMEIyMDBDNDBGRjJBOEE4MjAwMEIxODhGMworOjEwMDE2MDAwMDAwMDQxMDI0REYyMDAzOUMwMDEwMDgyMDA2MDAwNDRFRAorOjEwMDE3MDAwMERGMkEzQTg0REYyMDAzOTAwNjAwMDQ0RkYwMEUyQUI4RAorOjEwMDE4MDAwMjAwMDAwODgwMDAwNjEwMjRERjIwNDE5MDA2MDAwNDQ2NAorOjEwMDE5MDAwRkYwMEUyQUJBMDAwMDA4ODAwMDA2MTEwNERGMjA0MTlERQorOjEwMDFBMDAwMDA2MDAwNDRGRjIwRTJBQjYwMDAwMDg4MDAwMDcxQzBFNgorOjEwMDFCMDAwNERGMjA0MTkwMDYwMDA0NDAwMDA3OTgwMDBFMjAwODRFMAorOjEwMDFDMDAwMDMwMzA0NDkwOEMyMDA1NDAwNjAwNDY0MDA2MDAwNDQ1MgorOjEwMDFEMDAwMDAwMDYzODAwMDAwMDYxOTAzMDAwNDQ5MDA2MDAwNDQyOQorOjEwMDFFMDAwMjAwMTYzODAwMDAwMDYxOTAwMjBFMjhCMENGMjAwODRERAorOjEwMDFGMDAwM0UwMDUxOEJDMDIwMDAzOTA4MDEwMDQ0NkMwMDUxOEIzNworOjEwMDIwMDAwQzAyMDAwMzkwMDAyRTI4QjA0MjEwMDg0RkQwMDUxOEJFNAorOjEwMDIxMDAwQzIyMDAwMzkwMDExMDA0NEZFMDA1MThCQzIyMDAwMzk3OQorOjEwMDIyMDAwRTUwMDcxOEJDRDAwMDAzOTAwMDBCMTgwQzkyMDA0MTlCMAorOjEwMDIzMDAwQ0IyMDA0MTlDMTIwMDQxOUMzMjAwNDE5MTAwMDcxOEJBQworOjEwMDI0MDAwQzcyMDA0MTk1RTAwNzE4QkNGMDAwMDM5MDAwMEIxODAxNworOjEwMDI1MDAwQzQyMDA0MTlDNjIwMDQxOUM4MjAwNDE5Q0EyMDA0MTk4RQorOjEwMDI2MDAwMjAwMDcxOEJDQzIwMDQxOTAzMDAwNDQ5MDA2MDAwNDQ3NQorOjEwMDI3MDAwMDkwNDYxQThDMTAwMDQxOTBCMDQ2MUE4Q0EwMDA0MTk4QgorOjEwMDI4MDAwMDQ2MDAwRDQwRDAwNjEwQTkwNDAwOThGMDAwMTAwNDUxMAorOjEwMDI5MDAwMEYwMDYxMEEwMDQwMDk4RjAwMDEwMDQ1ODIwMDA5MkUwRAorOjEwMDJBMDAwODA0MDA5Q0YwMjAwNjEyMjQzMjU2MTIyNDAzMzAwODA1MworOjEwMDJCMDAwMDhBODAwNDQyMDMxNDk1QzkyMDAwOTRFMDIwMzA5MkUyRgorOjEwMDJDMDAwMDAwMEEzMDJDMDAwNzFDMDIwMDBFQjgwMDAwNEMyOEJCQworOjEwMDJEMDAwMjAwNDYxODAwMDA0N0EwMkNCMDBBODU4QjAwNUYzODBBNgorOjEwMDJFMDAwMjAwNEE4MTAwMDAwMTAzOUIwMDBFMDhCMjAwMTAwODAyRAorOjEwMDJGMDAwMDAwMDYzQ0IwMDAwN0EwMjQwMDAwMTVCMjAwMDAwODAxOAorOjEwMDMwMDAwMDAwMDRBQ0IyMDAwMTM4MDIwMDA3QTgwRTAyMTAwQzA0QQorOjEwMDMxMDAwMDgwMDA4NDkxMDQxMDk4RUZGRkY2MjhCMDAwNDYxMjIyQQorOjEwMDMyMDAwMDAwMzAwNDUyMjAxMzM4MDIwMDFBMzAyMDAwMDdBODBFRgorOjEwMDMzMDAwQzAwMDAwODIwNzIwNDAwQTA4ODMwMDg0NDAyMTAwODAxQQorOjEwMDM0MDAwNDAwNTkzMTBDNzIwMDAzOTAwMDA0MDQ1MDcyMDQwMEFBRgorOjEwMDM1MDAwMENBMzAwODQwODAwMDA4MjBDMjQ2MTUwNDAwMTAwODAzRQorOjEwMDM2MDAwQzcyMDAwMzkwMDAwNDA0NTAwMDQ2MzgwMDAwMDA2MzlDMgorOjEwMDM3MDAwNDIwMTA5MEUwMjIwNjEwQTAwMDEwMDQ1MEMyMDYwMEFCQQorOjEwMDM4MDAwMDA3MzAwODQwMDA0QjE4MDAwMDAwNjM5MEM2MTA0RDRCRAorOjEwMDM5MDAwMDAyNDcxQzAyMDMzMzNDMEUwMDFBMzgyMjIwMzdBMDIxQgorOjEwMDNBMDAwQzMwMUEzODIyMDAxMzM4MDAwMDA3QTgwQzIwMUIzNTBEMAorOjEwMDNCMDAwQ0MyMDAwMzkwMDAwNzE4MDAwRjMwMDQ0MEMyMDYwMEE1QQorOjEwMDNDMDAwMDBEMzAwODQwMDA0QjE4MDAwMDAwNjM5MEM2MTA0RDQxRAorOjEwMDNEMDAwMDAwMEIzMTBDQzIwMDAzOTAwMDA3MUMwMDBGMzAwNDRDRAorOjEwMDNFMDAwQ0MyMDAwMzkwMDIwNzFDMDAwMzA3MUMwMDBGMzAwNDRGRgorOjEwMDNGMDAwMjAwMTAwODBGRkZGNjI4QjIwMDEzMzgwMDAwMDgzODA5QQorOjEwMDQwMDAwMjAwMDdBODAyMEUxMDk1QzgyMDAwOTJGODA0QTA5OEU1MQorOjEwMDQxMDAwRTAwMUIzODIyMDA0QTM4MDAwMDA3QUNCMDMwMEE4MTg3NworOjEwMDQyMDAwMDAwMDEwMzkwODA0RUExMDA4MDQ3QTEwMjAwMDAwODA0NworOjEwMDQzMDAwNDAwMDIxQ0IwQzAwRTgxMDAwMDA0MTAyMEMwMEVCMTA0MgorOjEwMDQ0MDAwRjIwMTAwODI0MDIxMzMwMjA4MjA2MTBBQzQwMDA0MTkyRAorOjEwMDQ1MDAwQzcwMDAwOTkwMjAwNjEwQTBDRTgwNDE0MDEwMDYxMEE1NworOjEwMDQ2MDAwMDMwMDQ4MEEwMEI4MDQ1NEMzMDAwNDE5MENCODAwNDQzRgorOjEwMDQ3MDAwMDgwMEM4MEEwQ0I4MDQ1NEM4MDAwNDE5MEEwMDYxMEEyQworOjEwMDQ4MDAwMDkwMDQ4MEEwMDY4MDQ1NEM5MDAwNDE5MEM2ODAwNDRCMworOjEwMDQ5MDAwMEIwMEM4MEEwQzY4MDQ1NENCMDAwNDE5MDQwMDYxMEE1QworOjEwMDRBMDAwMDYwMDQ4MEEwMDc4MDQ1NEM2MDAwNDE5MEM3ODAwNDQ3OQorOjEwMDRCMDAwMDUwMEM4MEEwQzc4MDQ1NEM1MDAwNDE5MDcwMDYxMEEzNQorOjEwMDRDMDAwMEMwMDQ4MEEwMEU4MDQ1NENDMDAwNDE5MENFODAwNDQ2RAorOjEwMDREMDAwMEUwMEM4MEEwQ0U4MDQ1NENFMDAwNDE5MDAwMDQwNDU4MAorOjA4MDRFMDAwMjAxMDcxOEIwOTNGMDcwMDk5Cis6MDAwMDAwMDFGRgorLyoKKyAqICBDb3B5cmlnaHQgKGMpIDE5OTQgQ3JlYXRpdmUgVGVjaG5vbG9neSBMdGQuCisgKiAgTWljcm9jb2RlIGZpbGVzIGZvciBTQjE2IEFkdmFuY2VkIFNpZ25hbCBQcm9jZXNzb3IKKyAqLwpkaWZmIC0tZ2l0IGEvZmlybXdhcmUvdGlfMzQxMC5mdy5paGV4IGIvZmlybXdhcmUvdGlfMzQxMC5mdy5paGV4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIyMmMwNDIKLS0tIC9kZXYvbnVsbAorKysgYi9maXJtd2FyZS90aV8zNDEwLmZ3LmloZXgKQEAgLTAsMCArMSw4NjIgQEAKKzoxMDAwMDAwMEMyMzUwMDAyMDAxRTAyMUFEQkZGRkZGRkZGRkYwMjMyQjMKKzoxMDAwMTAwMENCRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYwMjMzRUQKKzoxMDAwMjAwMDc2NzU4MUNFOTBGREU4ODU4M0EwMTIzNEVBRUM0RDYwQjAKKzoxMDAwMzAwMDZBNzhBQjgwMDM3NjAwMThCODlDRkE3ODdGODAwMzc2RTQKKzoxMDAwNDAwMDAwMThCODY1RkE3ODIwODAwMzc2MDAxOEI4MjBGQTkwNzYKKzoxMDAwNTAwMEZERERBRTgzQUY4MjkwRkJGODEyMDBBMTYwMDVFNEYwRjUKKzoxMDAwNjAwMEEzODBGNjkwRkRFOEE4ODI5MEZERThBOTgyRThDMzk5RjQKKzoxMDAwNzAwMDUwMDU3NjAwMDg4MEY2OTAwMEZGMTIwMEFBOTAwMTAzNTgKKzoxMDAwODAwMDEyMDBBQTkwMDEwNzEyMDBBQTkwMDEwQjEyMDBDODkwNUEKKzoxMDAwOTAwMDAxMTExMjAwQzg5MDAxMTcxMjAwQzg3NUQwMDAxMjMzNjgKKzoxMDAwQTAwMEM4MDIwMTFERUY2NTgyNzAwM0VFNjU4MzIyRTQ5M0Y4QjgKKzoxMDAwQjAwMDc0MDE5M0Y5NzQwMjkzRkU3NDAzOTNGNTgyOEU4M0U4QkUKKzoxMDAwQzAwMDY5NzAwMTIyRTQ5M0Y2QTMwODgwRjRFNDkzRkM3NDAxQzAKKzoxMDAwRDAwMDkzRkQ3NDAyOTNGRTc0MDM5M0ZGNzQwNDkzRjg3NDA1MDQKKzoxMDAwRTAwMDkzRjU4Mjg4ODMxMjAwQTE3MDAxMjJFNDkzQTNBODgzNzAKKzoxMDAwRjAwMEE5ODI4QzgzOEQ4MkYwQTNBQzgzQUQ4Mjg4ODM4OTgyQjAKKzoxMDAxMDAwMDgwRTMyMTIxMDQ5MjgwODAwNDkyQUNBRTA0OTJGREU4NDkKKzoxMDAxMTAwMDA0OTQwNDk0RkJGMzA0OTkwNDk0RkJGMzA0RjkwNEY5QTQKKzoxMDAxMjAwMDgwRkVEMEYwMzBGMDA5MjBGMzAzRjY4MDEwRjc4MDBENDgKKzoxMDAxMzAwMDMwRjEwOTIwRjMwM0YyODAwNEYzODAwMUYwMjBGNDA0OEQKKzoxMDAxNDAwMEZDRDBFMENDMjJDQ0MwRTAxMjAxNUEwMjAxNEJCQzAwMzIKKzoxMDAxNTAwMDA1RDBGMEFDRjAyMkMzMTNEQ0ZDMDIwMTIxQkYwMDA5ODIKKzoxMDAxNjAwMEVEMjU4Mjc1RjAwMUY4RTYyMkJGMDEwRkVEMjU4MkY1M0QKKzoxMDAxNzAwMDgyRUUzNTgzRjU4Mzc1RjAwNEUwMjJFRDI1ODI3NUYwN0IKKzoxMDAxODAwMDAyRjhFMjIyRDA4M0QwODJGNUYwQzNFNDkzQTNDNUYwNTUKKzoxMDAxOTAwMDk1RjBDMEUwQzNEMEYwRTQ5M0EzOTVGMDQwMTJBM0EzODAKKzoxMDAxQTAwMEMzRTVGMDMzNTAwMjA1ODMyNTgyRjU4MjUwMDIwNTgzQjIKKzoxMDAxQjAwMDc0MDE5M0MwRTBFNDkzQzBFMDIyRDA4M0QwODJGNUYwRDQKKzoxMDAxQzAwMEU0OTM3MDA5NzQwMTkzNzAwNEEzQTM4MDBDNzQwMjkzRTgKKzoxMDAxRDAwMDY1RjA2MDA1QTNBM0EzODBFNzc0MDE5M0MwRTBFNDkzRjYKKzoxMDAxRTAwMEMwRTAyMjEyMDI1QjAyMDFGMjEyMDJBRjAyMDFGMjEyMUYKKzoxMDAxRjAwMDAyRDMwMjAxRjIzMEUwMDcyMEUzMDJFNjIyRTcyMjMwRDgKKzoxMDAyMDAwMEUxMDcyMEUzMDJFMjIyRTMyMjMwRTIwMkUwMjJFNDkzNkIKKzoxMDAyMTAwMDIyMTIwMkQzMDIwMjFBMTIwMkFGMDIwMjFBQUJGMDEyMjkKKzoxMDAyMjAwMDAyMjRDQkM1RjBDQjIyMzBFMDEwMjBFMzA2RTZGNUYwNDcKKzoxMDAyMzAwMDA4RTYyMkU3RjVGMDA5RTcxOTIyMzBFMTEwMjBFMzA2OEQKKzoxMDAyNDAwMEUyRjVGMDA4RTIyMkUzRjVGMDA5RTMxOTIyMzBFMjA2RDQKKzoxMDAyNTAwMEUwRjVGMEEzRTAyMkU0OTNGNUYwNzQwMTkzMjJCQjAwRjMKKzoxMDAyNjAwMDAzNzQwOTIyQkIwMTA3ODk4MjhBODM3NDA0MjJCQjAyQkEKKzoxMDAyNzAwMDA3ODk4MjhBODM3NDEwMjI3NDBBMjIwMjAyN0JCQjAwREYKKzoxMDAyODAwMDA3RTkyNTgyRjg3NDAxMjJCQjAxMERFOTI1ODJGNTgyNzgKKzoxMDAyOTAwMEVBMzU4M0Y1ODM3NDA0MjJCQjAyMERFOTI1ODJGNTgyRDkKKzoxMDAyQTAwMEVBMzU4M0Y1ODM3NDEwMjJFOTI1ODJGODc0MDIyMjAyNkMKKzoxMDAyQjAwMDAyQUZCRjAwMDVFREY4NzQwMTIyQkYwMTA3OEQ4MjhFRTkKKzoxMDAyQzAwMDgzNzQwNDIyQkYwMjA3OEQ4MjhFODM3NDEwMjJFREY4OUUKKzoxMDAyRDAwMDc0MDIyMjAyMDJEM0JGMDAwN0VEMjU4MkY4NzQwMTIyQzYKKzoxMDAyRTAwMEJGMDEwREVEMjU4MkY1ODJFRTM1ODNGNTgzNzQwNDIyN0UKKzoxMDAyRjAwMEJGMDIwREVEMjU4MkY1ODJFRTM1ODNGNTgzNzQxMDIyNjEKKzoxMDAzMDAwMEVEMjU4MkY4NzQwMjIyMDIwMzA3QzBFMDEyMDI1QjAyQUMKKzoxMDAzMTAwMDAzMUZDMEUwMTIwMkFGMDIwMzFGQzBFMDEyMDJEMzAyQUIKKzoxMDAzMjAwMDAzMUYzMEUwMEIyMEUzMDREMEUwRjYyMkQwRTBGNzIyRjgKKzoxMDAzMzAwMDMwRTEwQjIwRTMwNEQwRTBGMjIyRDBFMEYzMjJEMEUwNjEKKzoxMDAzNDAwMEYwMjJDOUNEQzlDQUNFQ0FDQkNGQ0IxMjAzNTJFREY5MjgKKzoxMDAzNTAwMEVFRkFFRkZCMjJCQjAwMkZCRjAwMEFGQUVERjhFN0Y2M0EKKzoxMDAzNjAwMDA4MDlEQUZBMjJCRjAxMTI4RDgyOEU4M0Y4MDIwMzZGMjgKKzoxMDAzNzAwMDA5QTNFN0YwRDhGQTIyMDIwMzdBRkFFREY4RTdGMjA4QzcKKzoxMDAzODAwMDA5REFGQTIyMDIwMzg0QkIwMTREQkYwMDE0ODk4MjhBNzQKKzoxMDAzOTAwMDgzRjlFREY4MDIwMzk2MDhBM0UwRjZEOUZBMjIwMjAzRTYKKzoxMDAzQTAwMEE3QkYwMTIyOEQ4MjhFODNGQjA4QzlDNTgyQzlDQUM1MzkKKzoxMDAzQjAwMDgzQ0FFMEEzQzlDNTgyQzlDQUM1ODNDQUYwQTNEQkVBNjAKKzoxMDAzQzAwMEQ4RTgyMjAyMDNDQThEODI4RTgzRjlFREY4RTBGMjA4QTQKKzoxMDAzRDAwMEEzRDlGQTIyMDIwM0Q0QkIwMjREQkYwMDEyODk4MjhBM0MKKzoxMDAzRTAwMDgzRjlFREY4MDIwM0U2MDhBM0U0OTNGNkQ5RjkyMkJGRjYKKzoxMDAzRjAwMDAxMjM4RDgyOEU4M0ZCMDhDOUM1ODJDOUNBQzU4M0NBMDEKKzoxMDA0MDAwMEU0OTNBM0M5QzU4MkM5Q0FDNTgzQ0FGMEEzREJFOUQ4RUUKKzoxMDA0MTAwMEU3MjIwMjA0MTk4OTgyOEE4M0Y5RURGOEU0OTNGMjA4NEQKKzoxMDA0MjAwMEEzRDlGOTIyMDIwNDJBQkYwMDBERkFFREY4RTNGNjA4NzkKKzoxMDA0MzAwMDA5REFGQTIyMDIwNDM0QkYwMTEyOEQ4MjhFODNGODAyOTcKKzoxMDA0NDAwMDA0NDEwOUEzRTNGMEQ4RkEyMjAyMDQ0Q0ZBRURGOEUzRTAKKzoxMDA0NTAwMEYyMDgwOURBRkEyMjAyMDQ1NkU2RkIwOEU2RkEwOEU2OTAKKzoxMDA0NjAwMEY5MDRGNjE4NzAwMTA2MjJFNkZGMDhFNkZFMDhFNkZEMkMKKzoxMDA0NzAwMDIyRUZGMEEzRUVGMEEzRURGMDIyRUJGMEEzRUFGMEEzNUQKKzoxMDA0ODAwMEU5RjAyMkUwRkZBM0UwRkVBM0UwRkQyMkUwRkJBM0UwMTEKKzoxMDA0OTAwMEZBQTNFMEY5MjIwMDAwMDAwMDAwMDAwMDA0RjkwMDYxNjYKKzoxMDA0QTAwMDA1NjgwMDI2MDU4RjAwMzMwQTAwMDA2MTBBNkMwMDY2QUIKKzoxMDA0QjAwMDE1MUQwMDYxMENGMDAwNjEwOUEwMDA2MTA5RDcwMDYxMDEKKzoxMDA0QzAwMDBEQjcwMDYxMEJFODAwNjEwQTEzMDA2MTBBNDgwMDYxODIKKzoxMDA0RDAwMDE3MTUwMDMzMTcyODAwMzQxREY2MDA0MzFFQTEwMDQ0RjEKKzoxMDA0RTAwMDIwMEUwMDQ0MUZGQzAwNDcxRUM4MDA0NzFGNkQwMDREMzIKKzoxMDA0RjAwMDFGQkUwMDRGMUVFQTAwNTgzMjU2MDA2MTdDQ0M3REZGQzMKKzoxMDA1MDAwMDEyMUNBNzIyOTBGRkZDRTAyMEU3MkRDMkFGQUU1OUFGMkUKKzoxMDA1MTAwMDU4NzU1QTIwRTU1QTE0QzU1QTYwMTlFNEZFN0YwNUVFNTUKKzoxMDA1MjAwMDRGQ0UyNEZGQ0VDRjM0RkZDRjYwMDdFNDkwRkY5MkYwOTAKKzoxMDA1MzAwMDgwRUQ4MEUwOEU1OThGNTgyMjEyMDUwMTdEMDc3Q0I3MkYKKzoxMDA1NDAwMDEyMzI3MjdEMEY3QzZFMTIzMjhDNzg5RDdBMDZFNEY2NDAKKzoxMDA1NTAwMDA4REFGQzdBMDYxMjA1QzQ3QzAzMTIwRTRDMTIyMTRBRkEKKzoxMDA1NjAwMEU0RkVGRjdDMEYxMjMxRkJEMkE4MjIxMjMwRTZFNDkwQTkKKzoxMDA1NzAwMEZDMzhGMDkwRkZGMEUwMzBFNDA4NzQwMTkwRkMzOUYwQjIKKzoxMDA1ODAwMDgwMDVFNDkwRkMzOUYwN0QwQTdDMDAxMjI1MjYxMjMxQUEKKzoxMDA1OTAwMDY5MjIxMjMwRTY5MEZDMzlFMDE0NzAwRTkwRkZGMEUwMTIKKzoxMDA1QTAwMDQ0MTBGMDdDMDAxMjI1QkY4MDE5OTBGQzM5RTA3MDBFRDkKKzoxMDA1QjAwMDkwRkZGMEUwNTRFRkYwN0MwMDEyMjVCRjgwMDU3QzE3MUYKKzoxMDA1QzAwMDEyMjVCRjEyMzE2OTIyOTBGRkYwRTA1NEFCRjA5MEZGOEEKKzoxMDA1RDAwMEYwRTA0NDIwRjAyMjhDMzc4RDM2Nzg4MkVERjYwOEVDN0UKKzoxMDA1RTAwMEY2RURGRUVDRkQ3RjAxOTAwMDA1MTIwMUVDNzg4MEY2M0YKKzoxMDA1RjAwMDc4ODJFNkZEMDhFNkZDRURGRUVDRkQ3RjAxOTAwMDA0NEMKKzoxMDA2MDAwMDEyMDFFQzU0MEZGQzdEODAxMjE3NDY3ODgwRTY3MDBEQzUKKzoxMDA2MTAwMEFEM0FBRTM5QUYzOEU0MTIwMzBGN0MwODIyOTBGRkYwRjgKKzoxMDA2MjAwMEUwNTRGRUYwOTBGRkYwRTA1NEZERjA4MDFFNzg4MkU2OEEKKzoxMDA2MzAwMEZEMDhFNkZDRURGRUVDRkQ3RjAxOTAwMDA4MTIwMjBFQzUKKzoxMDA2NDAwMDI1RTA0NDAxOTBGRkYzRjAwMjA2RDA3ODgyRTZGRDA4MzEKKzoxMDA2NTAwMEU2RkNFREZFRUNGRDdGMDE5MDAwMDYxMjAyMEU1NEZFNUEKKzoxMDA2NjAwMDkwRkZGM0YwODAyQjc4ODJFNkZEMDhFNkZDRURGRUVDQ0YKKzoxMDA2NzAwMEZEN0YwMTkwMDAwODEyMDIwRUZBRUI5MEZGRjFGMDEyREMKKzoxMDA2ODAwMDA4QkY0MDBEQUQzQUFFMzlBRjM4RTQxMjAzMEY3QzE4MDUKKzoxMDA2OTAwMDIyNzg4MkU2RkQwOEU2RkNFREZFRUNGRDdGMDE5MDAwOEQKKzoxMDA2QTAwMDA4MTIwMjBFOTBGRkYxRjAxMjA4QkY0MDBEQUQzQUFFRjUKKzoxMDA2QjAwMDM5QUYzOEU0MTIwMzBGN0MxODIyNzg4MkU2RkQwOEU2OTEKKzoxMDA2QzAwMEZDRURGRUVDRkQ3RjAxOTAwMDA2MTIwMjBFNDQwMTkwNEQKKzoxMDA2RDAwMEZGRjNGMDc4ODNFNjI0MDNGNjE4RTYzNDAwRjY3ODgwMUEKKzoxMDA2RTAwMEU2MjRGRTUwMDk5MEZGRjBFMDU0RkRGMDgwMDc5MEZGRjMKKzoxMDA2RjAwMEYwRTA0NDAyRjBFNDkwRkZGMUYwNzg4MTc2MDA3ODgwMzkKKzoxMDA3MDAwMEU2MjRGRkZDRTQzNEZGRkQ3ODgxRTY3RjAwRkVFQ0QzQjUKKzoxMDA3MTAwMDlFRUY2NDgwQ0Q2NDgwOUQ0MDJGMTIwOEE0NDAwRjc4MjYKKzoxMDA3MjAwMDgxRTZBRDNBQUUzOUFGMzgxMjAzMEY3QzE4MjI5MEZGNDQKKzoxMDA3MzAwMEYyRTBGQzc4ODI4NjgzMDg4NjgyRUNGMDc4ODEwNkEzNUEKKzoxMDA3NDAwMDc4ODJBNjgzMDhBNjgyODBCNTEyMDhBNDQwMEY3ODgxMUIKKzoxMDA3NTAwMEU2QUQzQUFFMzlBRjM4MTIwMzBGN0MxODIyOTBGRkYyQTMKKzoxMDA3NjAwMEUwRkM3ODgyODY4MzA4ODY4MkVDRjA3ODgwRTZBRDNBRjkKKzoxMDA3NzAwMEFFMzlBRjM4MTIwMzBGN0MwMDIyOEMzNzhEMzY3ODgyNjkKKzoxMDA3ODAwMEVERjYwOEVDRjZFREZFRUNGRDdGMDE5MDAwMDUxMjAxQTAKKzoxMDA3OTAwMEVDNzg4MUY2Nzg4MkU2RkQwOEU2RkNFREZFRUNGRDdGNjQKKzoxMDA3QTAwMDAxOTAwMDA0MTIwMUVDNTQwRkZDN0Q4MTEyMTc0Njc4NzEKKzoxMDA3QjAwMDgxRTY3MDAzN0MwODIyOTBGRkYwRTA1NEZFRjA5MEZGODkKKzoxMDA3QzAwMEYwRTA1NEZERjA4MDFCNzg4MkU2RkQwOEU2RkNFREZFQ0IKKzoxMDA3RDAwMEVDRkQ3RjAxOTAwMDA4MTIwMjBFMjVFMDkwRkZGM0YwN0YKKzoxMDA3RTAwMDgwNUI3ODgyRTZGRDA4RTZGQ0VERkVFQ0ZEN0YwMTkwODMKKzoxMDA3RjAwMDAwMDYxMjAyMEU1NEZFOTBGRkYzRjA4MDIxNzg4MkU2OEMKKzoxMDA4MDAwMEZEMDhFNkZDRURGRUVDRkQ3RjAxOTAwMDA4MTIwMjBFRjMKKzoxMDA4MTAwMEZBRUI5MEZGRjFGMDEyMDhCRjQwMDM3QzE4MjI3ODgyQjcKKzoxMDA4MjAwMEU2RkQwOEU2RkNFREZFRUNGRDdGMDE5MDAwMDgxMjAyRkIKKzoxMDA4MzAwMDBFOTBGRkYxRjAxMjA4QkY0MDAzN0MxODIyNzg4M0U2ODcKKzoxMDA4NDAwMDI0MEFGNjE4RTYzNDAwRjY3ODgwNzYwMDc4ODFFNjI0RUIKKzoxMDA4NTAwMEZGRkNFNDM0RkZGRDc4ODBFNjdGMDBGRUVDRDM5RUVGRTIKKzoxMDA4NjAwMDY0ODBDRDY0ODA5RDQwMjE3ODgyODY4MzA4ODY4MkUwMDIKKzoxMDA4NzAwMDkwRkZGMUYwMTIwOEJGNDAwMzdDMTgyMjc4ODAwNjc4QzAKKzoxMDA4ODAwMDgzMDZFNjE4NzAwMTA2ODBDMzkwRkZGMEUwNDQwMUYwOTMKKzoxMDA4OTAwMDc4ODI4NjgzMDg4NjgyRTA5MEZGRjFGMDEyMDhCRjQwREMKKzoxMDA4QTAwMDAzN0MxODIyN0MwMDIyOTBGRkYwRTAyMEU3MTI5MEZGRUEKKzoxMDA4QjAwMEYwRTAzMEU1MDk5MEZGRjBFMDQ0MjBGMEMzMjI4MEU3NEIKKzoxMDA4QzAwMEQzMjI5MEZGRjBFMDIwRTMxMjkwRkZGMEUwMzBFNTA5NDIKKzoxMDA4RDAwMDkwRkZGMEUwNDQyMEYwQzMyMjgwRTdEMzIyOEM0MjhEQzkKKzoxMDA4RTAwMDQxN0MwMEVENTRGMEZERUM3MDAzRUQ2NDMwNzAwNTc1NTMKKzoxMDA4RjAwMDNFMDM4MDAzNzUzRTA0QUMzRTEyMEY2OTc1ODMwMDg1OEMKKzoxMDA5MDAwMDgzNDBFNTQxNTQwRkY1M0ZFNTQwNzAwNEU1M0Y2NDAzNDMKKzoxMDA5MTAwMDcwMzVFNTNFMjRGRDc1RjAwQUE0MjQwMkY1ODJFNDM0MjYKKzoxMDA5MjAwMEZDRjU4M0UwMzBFNjA1MTIxMDRCODAxOUU1M0UyNDlENkUKKzoxMDA5MzAwMEY4QzY1NEZCRjY3OEE5RTYyNDA1RjU4MjE4RTYzNDAwREIKKzoxMDA5NDAwMEY1ODM3NDBGRjA4MDU5RTU0MDcwMDRFNTNGNjQwNDcwNEUKKzoxMDA5NTAwMDQ4RTUzRTI0RkQ3NUYwMEFBNDI0MDJGNTgyRTQzNEZDNDcKKzoxMDA5NjAwMEY1ODNFMDMwRTUwN0FDNDJBRDQxMTIxQzNDRTU0MjMwNzYKKzoxMDA5NzAwMEUyMTU3OEFERTYzMEUwMEY3OEFERTYzMEUxMDlFNEZGNEUKKzoxMDA5ODAwMDA0RkU3QzA0MTIzMUZCNzhBOUU2MjQwNkY1ODIxOEU2MDEKKzoxMDA5OTAwMDM0MDBGNTgzNzQwRkYwODAwN0U0RkM3REVFMTIxQzNDRkMKKzoxMDA5QTAwMEMyMDMyMjEyMzBFNjEyMEY2OTc4QTlFNjI0MDZGNTgyMDYKKzoxMDA5QjAwMDE4RTYzNDAwRjU4M0UwOTBGQzM4RjA3OEE5RTYyNDA1QzkKKzoxMDA5QzAwMEY1ODIxOEU2MzQwMEY1ODNFMDkwRkMzOUYwQzIwMzdEMkYKKzoxMDA5RDAwMDAyN0MwMDEyMjUyNjEyMzE2OTIyMTIzMEU2Nzg5NUVDNEQKKzoxMDA5RTAwMEY2RUMyNDlERjhFNjMwRTEwNzdDMTMxMjI1QkY4MDBGNUEKKzoxMDA5RjAwMDkwRkMzOUUwRkQ3ODk1RTZGQzEyMTNDODEyMjVCRjEyNzEKKzoxMDBBMDAwMDMxNjkyMjEyMzBFNjc4OTVFQ0Y2N0QwMDEyMEYwOTEyNUEKKzoxMDBBMTAwMDI1QkYxMjMxNjkyMjEyMzBFNjc4OTVFQ0Y2RUMyNDlENjAKKzoxMDBBMjAwMEY4RTYzMEUyMDc3QzEzMTIyNUJGODAxQjc4OTVFNjI0OTgKKzoxMDBBMzAwMDlERjhFNjIwRTEwNzdDMTIxMjI1QkY4MDBBNzg5NUU2MzIKKzoxMDBBNDAwMEZDMTIxM0VDMTIyNUJGMTIzMTY5MjIxMjMwRTY3ODk1QTAKKzoxMDBBNTAwMEVDRjZFQzI0OURGOEU2MjBFMjA3N0MxMTEyMjVCRjgwMUQKKzoxMDBBNjAwMDBBNzg5NUU2RkMxMjE0RUQxMjI1QkYxMjMxNjkyMjEyQTQKKzoxMDBBNzAwMDMwRTY3ODk1RUNGNjEyMEY2OTc4QTlFNjI0MDlGNTgyM0MKKzoxMDBBODAwMDE4RTYzNDAwRjU4M0UwOTBGQzNGRjA3OEE5RTYyNDBBRUMKKzoxMDBBOTAwMEY1ODIxOEU2MzQwMEY1ODNFMDkwRkM0MEYwNzhBOUU2OTIKKzoxMDBBQTAwMDI0MDNGNTgyMThFNjM0MDBGNTgzRTBGQzc4QTlFNjI0RjcKKzoxMDBBQjAwMDA0RjU4MjE4RTYzNDAwRjU4M0UwRjU2Mjc4QTlFNjI0QUYKKzoxMDBBQzAwMDAyRjU4MjE4RTYzNDAwRjU4M0UwRjU2MzhDNjFFNEVDMEUKKzoxMDBBRDAwMDMzMzM1NDAxNzg5NUY2NjAwOEU1NjIzMEUxMDM3ODk1ODgKKzoxMDBBRTAwMDA2Nzg5NUU2OTBGQzQxRjA3OEE3RTYyNDAyRjU4MjE4OTYKKzoxMDBBRjAwMEU2MzQwMEY1ODNFMEZEQTNFMDU0MENGQ0VENTRFNjhDRjUKKzoxMDBCMDAwMDY1RjU2NEU1NjEzMEU1MDM0MzY1MDFFNTYyMjBFNTBFQzYKKzoxMDBCMTAwMEU1NjE1NDdGNzAwOEU1NjEyMEU3MDM0MzY1MDJFNTYxMDQKKzoxMDBCMjAwMDMwRTMwMzQzNjUxMEU1NjEzMEUyMDM0MzY1MjBFNTYxOEUKKzoxMDBCMzAwMDU0MDM2MDAzNDM2NTQwRTU2MTMwRTEwMzQzNjU4MEU1QUMKKzoxMDBCNDAwMDYxMzBFNDAzNDM2NDAxRTU2MTMwRTYwMzQzNjQwOEU1OTIKKzoxMDBCNTAwMDYyMjBFNDBFRTU2MTU0N0Y3MDA4RTU2MTIwRTcwMzQzRkQKKzoxMDBCNjAwMDY0MTA1MzY1RkI1MzY0NzlBRDY0RTU2NTkwRkMzQUNENDAKKzoxMDBCNzAwMEYwQTNDREYwRTU2MzMwRTMwREU1NjM1NDMwQzQ1NDBGQ0EKKzoxMDBCODAwMDkwRkMzREYwODAwNUU0OTBGQzNERjBFNTYzNTQwMzkwNUIKKzoxMDBCOTAwMEZDM0NGMEU1NjM1NDA0QzMxMzkwRkMzRUYwOTBGQzNDMzUKKzoxMDBCQTAwMEUwNzAwRTdEMzU3RUZDN0YwMTc0MDE5MDAwMDkxMjAxMUEKKzoxMDBCQjAwMDQyNzhBOUU2MjQwOEY1ODIxOEU2MzQwMEY1ODNFMDdDNDMKKzoxMDBCQzAwMDAwRkQ3OEE5RTYyNDA3RjU4MjE4RTYzNDAwRjU4M0UwRjUKKzoxMDBCRDAwMDdGMDA0Q0ZFRUY0RDkwRkMzOEYwQTNDRUYwQ0VDMjAzNjgKKzoxMDBCRTAwMDdEMEE3QzAwMTIyNTI2MTIzMTY5MjIxMjMwRTY3ODk1QTIKKzoxMDBCRjAwMEVDRjY3ODlBNzYwMTA4NzZGQzA4NzYzODc4OTc3NjBDQzkKKzoxMDBDMDAwMDc4OUExMjA0NjUxMjAyMTQ3ODk4Q0JGNkNCMDhGNjdGMTYKKzoxMDBDMTAwMDAwRUYyNEVBNDAxRkU0RUYyNUUwOTAzNTJDRkQ5M0NENTIKKzoxMDBDMjAwMDA0OTM3ODk5NjY3MDAzRUQxODY2NzAwNjc4OTc3NjAwREQKKzoxMDBDMzAwMDgwMDMwRjgwREM3ODk2RUZGNjc4OUExMjA0NjU5MDAwQjYKKzoxMDBDNDAwMDAyMTIwMjBFNzg5OENCRjZDQjA4RjY1NDA0Q0I1NDg2RTkKKzoxMDBDNTAwMDRCNjAwNDc4OTc3NjBCNzg5OUU2MzBFMzEzNzg5QTEyMTQKKzoxMDBDNjAwMDA0NjU5MDAwMDUxMjAxRUMyNEZCNTAwNDc4OTc3NjBEODIKKzoxMDBDNzAwMDc4OTlFNjU0QzA3RDAwNjRDMDRENzAwNDc4OTc3NjBCNzcKKzoxMDBDODAwMDc4OUExMjA0NjU5MDAwMDQxMjAxRUMyNEZDNTAwNDc4NTgKKzoxMDBDOTAwMDk3NzYwRjc4OUExMjA0NjU5MDAwMDYxMjAxRUMyNEZERjUKKzoxMDBDQTAwMDUwMDQ3ODk3NzYwRTc4OUExMjA0NjU5MDAwMDkxMjAxMjQKKzoxMDBDQjAwMEVDMjRGRDUwMDQ3ODk3NzYwQTc4OTdFNjcwMkE3ODk1QTgKKzoxMDBDQzAwMEU2RkMxMjBGNjk3ODlBMTIwNDY1NzhBN0U2Rjk3OEE2MEYKKzoxMDBDRDAwMEU2RkE3QjAxNzQwQTc4MDAxMjAzM0ZDMjAzNzg5NUU2QjYKKzoxMDBDRTAwMEZDMTIxMTA3Nzg5N0VDRjY3ODk3RTZGQzEyMjVCRjEyRjQKKzoxMDBDRjAwMDMxNjkyMjEyMzBFNjc4OTVFQ0Y2MTIwRjY5Nzg5NUU2QTQKKzoxMDBEMDAwMDI0RkQ3NUYwMEFBNDI0MTRGNTgyRTQzNEZDRjU4M0FDQzgKKzoxMDBEMTAwMDgyQUQ4Mzc4QTY4NjgzMDg4NjgyRUNGOUVERkE3QjBBOTkKKzoxMDBEMjAwMDc4MDExMjAzQTdDMjAzNzg5NUU2RkMxMjExMDcxMjMxNkQKKzoxMDBEMzAwMDY5MjI4RDJCOEMyQUVENjA0MDc1MjcwMTc1Mjk0ODc1MzUKKzoxMDBENDAwMDI4RkZFNTJBMjRGREZDRTQzNEZGRkRFQzdDMDMyNUUwQ0MKKzoxMDBENTAwMENEMzNDRERDRjlGQ0U1MjkyQ0Y1MjlFNTI4M0RGNTI4MzYKKzoxMDBENjAwMEFEMjlBRTI4QUYyNzc0ODA5MDAwMDYxMjAzMTc3NDgwNTcKKzoxMDBENzAwMDkwMDAwMjEyMDMxNzEyMEZCN0U1MkIxNDYwM0I3NTI3ODIKKzoxMDBEODAwMDAxNzUyOTA4NzUyOEZGRTUyQTI0RkRGQ0U0MzRGRkZERTAKKzoxMDBEOTAwMEVDN0MwMzI1RTBDRDMzQ0REQ0Y5RkNFNTI5MkNGNTI5RUQKKzoxMDBEQTAwMEU1MjgzREY1MjhBRDI5QUUyOEFGMjdFNDkwMDAwNjEyQ0UKKzoxMDBEQjAwMDAzMTdFNDkwMDAwMjEyMDMxNzIyMTIzMEU2Nzg5NUVDMzQKKzoxMDBEQzAwMEY2RUMyNDlERjhFNjMwRTIwOTc4OTVFNkZDMTIxNEVEODUKKzoxMDBERDAwMEQyMDA3ODk1RTZGQzEyMEY2OTc4OTY3NjAwOTBGQzM5N0YKKzoxMDBERTAwMEUwMzBFNzA0Nzg5Njc2MDE3ODk2RTZGRDc4OTVFNkZDQTMKKzoxMDBERjAwMDEyMEQyRkMyMDMzMDAwMDc3ODk1RTZGQzEyMTNFQzdDMkQKKzoxMDBFMDAwMDAwMTIyNUJGMTIzMTY5MjI3OEE5RTYyNDA0RjU4MjE4NjAKKzoxMDBFMTAwMEU2MzQwMEY1ODNFMDQ0MDFGMDc4QTlFNjI0MDRGNTgyODUKKzoxMDBFMjAwMDE4RTYzNDAwRjU4M0UwMzBFMDAyODBFRDc4QTlFNjI0OEUKKzoxMDBFMzAwMDBCRjU4MjE4RTYzNDAwRjU4M0UwNTRGOEYwNzhBOUU2NjMKKzoxMDBFNDAwMDI0MDJGNTgyMThFNjM0MDBGNTgzRTA0NDgwRjAyMkMyRTMKKzoxMDBFNTAwMDAzOEM1ODEyMEY2OTc4QTY4NjgzMDg4NjgyNzk1RDdBOUEKKzoxMDBFNjAwMDM1N0IwQTc4MDExMjAzRjUxMjBFMDVBQzU4N0QwMjEyOEIKKzoxMDBFNzAwMDBEMkZDMjAzQUM1ODEyMTEwNzIyOEQ1MzhFNTI4RjUxODEKKzoxMDBFODAwMDhDNTAxMjBGNjk3NTRGMDA3OEE5RTYyNDA1RjU4MjE4NzkKKzoxMDBFOTAwMEU2MzQwMEY1ODNFMDIwRTQxRkU1NEYyNEY2NDAxOTA1MTEKKzoxMDBFQTAwMDRGQzIwMzdDMTgxMjMyQTk5MEZGOTNFMDQ0MDFGMEIyQzQKKzoxMDBFQjAwMEIzQUM1MDEyMEY2OTgwRDA3OEE5RTYyNDA1RjU4MjE4RUEKKzoxMDBFQzAwMEU2MzQwMEY1ODNFMDIwRTQwNUMyMDM3QzAyMjI3OEE5MjEKKzoxMDBFRDAwMEU2MjQwNUY1ODIxOEU2MzQwMEY1ODNFMDU0MEY2MDE2MjkKKzoxMDBFRTAwMDc4QTlFNjI0MDVGNTgyMThFNjM0MDBGNTgzRTA1NDBGNkUKKzoxMDBFRjAwMEYwQzIwMzdDMDEyMjc4QTg4NjgzMDg4NjgyRTBBRDUzODUKKzoxMDBGMDAwMEFFNTJBRjUxMTIwMzBGQzIwMzdDMDAyMjhEMzE4QzMwRTAKKzoxMDBGMTAwMDEyMTRFREU1MzE2MDBGRTUzMEI0MDMwQTdDMDExMjI0QjAKKzoxMDBGMjAwMEVFN0M4MTEyMjRFRUFDMzAxMjBGNjlFNTMxNjAxQTc4NDQKKzoxMDBGMzAwMEFBODY4MzA4ODY4MkUwNTRFN0YwQTNBM0EzQTNFMDU0MjMKKzoxMDBGNDAwMEU3RjBBQzMwN0QwMjEyMEQyRjc4QTY4NjgzMDg4NjgyRUEKKzoxMDBGNTAwMDc5Njc3QTM1N0IwQTc4MDExMjAzRjVDMjAzRTUzMDI0RkMKKzoxMDBGNjAwMDlERjhDNjU0RkRGNkFDMzAxMjExMDcyMjhDMjYzMDAzRDIKKzoxMDBGNzAwMDA1MTIzMjQ4ODBGODdDMEExMjMxNUJEMjAzRTUyNjI0NDAKKzoxMDBGODAwMEZENzhBM0Y2NzAwNzc4QUE3NkZGMDg3NkUwNzhBM0U2RTYKKzoxMDBGOTAwMDc1RjAxMEE0QURGMEZDMjRBMDc4QTlGNkVEMzRGRjE4OEMKKzoxMDBGQTAwMEY2NzhBM0U2NzVGMDBBQTQyNDAwRkNFNDM0RkNGRDc4OEUKKzoxMDBGQjAwMEE2RURGNjA4RUNGNjEyMzFGNDIyNzhBOUU2MjQwMkY1NDMKKzoxMDBGQzAwMDgyMThFNjM0MDBGNTgzRTAzMEU3MjI3OEE5RTYyNDAyQUYKKzoxMDBGRDAwMEY1ODIxOEU2MzQwMEY1ODNFMDU0N0ZGMDc4QTlFNjI0MjIKKzoxMDBGRTAwMDAyRjU4MjE4RTYzNDAwRjU4M0UwNDQ4MEYwMjI3OEFBMDYKKzoxMDBGRjAwMDg2ODMwODg2ODJFMDU0N0ZGMEFEODNFNTgyMjQwNEZDN0EKKzoxMDEwMDAwMEU0M0Q4QzgyRjU4M0UwNTQ3RkYwNzhBOUU2MjQwQkY1NkIKKzoxMDEwMTAwMDgyMThFNjM0MDBGNTgzRTA1NEY4RjA3OEFCRTYyNDAxNUEKKzoxMDEwMjAwMEY1ODIxOEU2MzQwMEY1ODNFMDQ0MDNGMDc4QUJFNjI0NUIKKzoxMDEwMzAwMDA1RjU4MjE4RTYzNDAwRjU4M0UwNDQwM0YwNzhBOUU2NkMKKzoxMDEwNDAwMDI0MDVGNTgyMThFNjM0MDBGNTgzNzQwRkYwMjI3OEFBOUYKKzoxMDEwNTAwMDg2ODMwODg2ODJFMDU0M0ZGMEFEODNFNTgyMjQwNEZDNTkKKzoxMDEwNjAwMEU0M0Q4QzgyRjU4M0UwNTQzRkYwNzhBM0U2MjRBNEY4QjUKKzoxMDEwNzAwMEU2RkM3OEFCRTYyNDAxRjU4MjE4RTYzNDAwRjU4M0VDNTMKKzoxMDEwODAwMEYwNzhBM0U2MjRBNEY4RTZGQzc4QUJFNjI0MDVGNTgyMjQKKzoxMDEwOTAwMDE4RTYzNDAwRjU4M0VDRjA3OEE5RTYyNDBCRjU4MjE4MDUKKzoxMDEwQTAwMEU2MzQwMEY1ODNFMDU0RkI0NDAyRjUyNjc4QTdFNjI0RjUKKzoxMDEwQjAwMDAyRjU4MjE4RTYzNDAwRjU4M0UwMzBFNTAzNDMyNjAxQUIKKzoxMDEwQzAwMDc4QTlFNjI0MDVGNTgyMThFNjM0MDBGNTgzRTAzMEUwREYKKzoxMDEwRDAwMDAzMTIwRkI3RTUyNkZDNzhBOUU2MjQwQkY1ODIxOEU2ODMKKzoxMDEwRTAwMDM0MDBGNTgzRUNGMDc4QTlFNjI0MDVGNTgyMThFNjM0OUYKKzoxMDEwRjAwMDAwRjU4Mzc0MEZGMDc4QUE4NjgzMDg4NjgyRTA0NDgwMjYKKzoxMDExMDAwMEYwQTNBM0EzQTNFMDQ0ODBGMDIyOEMyQTEyMEY2OTc4RjUKKzoxMDExMTAwMEE3RTYyNDA4RjU4MjE4RTYzNDAwRjU4M0UwRkM3OEE5RjgKKzoxMDExMjAwMEU2MjQwQUY1ODIxOEU2MzQwMEY1ODNFQ0YwNzhBN0U2QTkKKzoxMDExMzAwMDI0MDdGNTgyMThFNjM0MDBGNTgzRTBGQzc4QTlFNjI0NUMKKzoxMDExNDAwMDA5RjU4MjE4RTYzNDAwRjU4M0VDRjA3OEE2ODY4MzA4NkEKKzoxMDExNTAwMDg2ODJFMEZEQTNFMEZDRURGRTc4QTlFNjI0MDhGNTgyOTYKKzoxMDExNjAwMDE4RTYzNDAwRjU4M0VFRjBFQ0ZFNzhBOUU2MjQwN0Y1RTYKKzoxMDExNzAwMDgyMThFNjM0MDBGNTgzRUVGMDhDMjk4RDI4QzNFQzk0QjgKKzoxMDExODAwMDA1RUQ5NDBDNDAwNTc1Mjc3QzgwMzNEM0U1Mjk5NDAxNDcKKzoxMDExOTAwMEU1Mjg5NDAzNDAwNTc1MjczQzgwMjNEM0U1Mjk5NDgxRjUKKzoxMDExQTAwMEU1Mjg5NDAxNDAwNTc1MjcxODgwMTNEM0U1Mjk5NDYwM0MKKzoxMDExQjAwMEU1Mjg5NDAwNDAwNTc1MjcwQzgwMDM3NTI3MDhBRjI3QTQKKzoxMDExQzAwMEU0RUY1NDdDNDQ4M0ZGOEYyN0U1MjdGQzc4QUJFNjI0Q0IKKzoxMDExRDAwMDAxRjU4MjE4RTYzNDAwRjU4M0VDRjBFNTI3RkM3OEFCRTYKKzoxMDExRTAwMEU2MjQwNUY1ODIxOEU2MzQwMEY1ODNFQ0YwRTUyN0ZDRUIKKzoxMDExRjAwMDc4QTNFNjI0QTRGOEVDRjY3OEE5RTYyNDAyRjU4MjE4OTAKKzoxMDEyMDAwMEU2MzQwMEY1ODNFMEY1Mjc3OEE3RTYyNDAyRjU4MjE4OTYKKzoxMDEyMTAwMEU2MzQwMEY1ODNBM0UwMzBFMzE3NTMyN0M3NzhBN0U2NDkKKzoxMDEyMjAwMDI0MDVGNTgyMThFNjM0MDBGNTgzRTA5MDM1NTg5MzQyQTIKKzoxMDEyMzAwMDI3NTMyN0ZCNzhBN0U2MjQwNkY1ODIxOEU2MzQwMEY1NDUKKzoxMDEyNDAwMDgzRTA2MDAzNDMyNzA0NTMyN0ZDNzhBN0U2MjQwNEY1RDIKKzoxMDEyNTAwMDgyMThFNjM0MDBGNTgzRTA0MjI3NDMyNzgwRTUyN0ZDMjcKKzoxMDEyNjAwMDc4QTlFNjI0MDJGNTgyMThFNjM0MDBGNTgzRUNGMDc4REMKKzoxMDEyNzAwMEE5RTYyNDA0RjU4MjE4RTYzNDAwRjU4M0UwRjUyNzc4MjIKKzoxMDEyODAwMEE3RTYyNDAyRjU4MjE4RTYzNDAwRjU4M0EzRTAzMEUxRjYKKzoxMDEyOTAwMDA1NTMyN0RGODAwMzQzMjcyMDc4QTdFNjI0MDJGNTgyNDEKKzoxMDEyQTAwMDE4RTYzNDAwRjU4M0UwMzBFNDA1NTMyN0VGODAwMzQzNkMKKzoxMDEyQjAwMDI3MTA3OEE3RTYyNDA5RjU4MjE4RTYzNDAwRjU4M0UwQzQKKzoxMDEyQzAwMEI0MDIwMzQzMjcwMkU1MjdGQzc4QTlFNjI0MDRGNTgyNEIKKzoxMDEyRDAwMDE4RTYzNDAwRjU4M0VDRjA3OEE5RTYyNDAzRjU4MjE4Q0IKKzoxMDEyRTAwMEU2MzQwMEY1ODNFMEY1Mjc3OEE3RTYyNDA5RjU4MjE4QUYKKzoxMDEyRjAwMEU2MzQwMEY1ODNFMDcwMDU1MzI3N0Y4MDAzNDMyNzgwQTEKKzoxMDEzMDAwMDc4QTdFNjI0MDJGNTgyMThFNjM0MDBGNTgzQTNFMDMwREUKKzoxMDEzMTAwMEUwMDU0MzI3MjA4MDAzNTMyN0RGNzhBN0U2MjQwMkY1NjIKKzoxMDEzMjAwMDgyMThFNjM0MDBGNTgzRTAzMEUzMDU0MzI3NDA4MDAzNkMKKzoxMDEzMzAwMDUzMjdCRjc4QTdFNjI0MDJGNTgyMThFNjM0MDBGNTgzMjgKKzoxMDEzNDAwMEUwMzBFMDA1NDMyNzEwODAwMzUzMjdFRjc4QTdFNjI0MTkKKzoxMDEzNTAwMDAyRjU4MjE4RTYzNDAwRjU4M0EzRTAzMEU0MDU0MzI3NjQKKzoxMDEzNjAwMDA4ODAwMzUzMjdGNzc4QTdFNjI0MDJGNTgyMThFNjM0QUQKKzoxMDEzNzAwMDAwRjU4M0EzRTAzMEU1MDU0MzI3MDQ4MDAzNTMyN0ZCRjIKKzoxMDEzODAwMDc4QTdFNjI0MDJGNTgyMThFNjM0MDBGNTgzQTNFMDMwNUUKKzoxMDEzOTAwMEU2MDU0MzI3MDE4MDAzNTMyN0ZFNzhBN0U2MjQwMkY1REMKKzoxMDEzQTAwMDgyMThFNjM0MDBGNTgzQTNFMDMwRTcwNTQzMjcwMjgwODYKKzoxMDEzQjAwMDAzNTMyN0ZERTUyN0ZDNzhBOUU2MjQwM0Y1ODIxOEU2MDgKKzoxMDEzQzAwMDM0MDBGNTgzRUNGMEMyMDM3QzAwMjI4RDI3OEMyNkVEREYKKzoxMDEzRDAwMDU0MDMxNDYwMDM3QzEwMjJFNTI3NTQ3QzI0RkM0MDAzNTIKKzoxMDEzRTAwMDdDMEIyMkU1MjYyNDlERjhDNjQ0MDJGNjdDMDAyMjhDNjQKKzoxMDEzRjAwMDMwMTIwRjY5RTUzMDI0OURGOEU2MjBFMjRGQUMzMDdERDUKKzoxMDE0MDAwMDAyMTIwRDJGRTUzMDI0RkU0NDI4RkM3OEFBODY4MzA4QkEKKzoxMDE0MTAwMDg2ODJFQ0YwQUY4M0U1ODIyNDA0RkVFNDNGRkZFQzhFOEQKKzoxMDE0MjAwMDgyOEY4M0YwN0MwMzhDMkNFNTJDRkM3OEFCRTYyNDAxQzYKKzoxMDE0MzAwMEY1ODIxOEU2MzQwMEY1ODNFQ0YwRTUyQ0ZDNzhBQkU2OTkKKzoxMDE0NDAwMDI0MDVGNTgyMThFNjM0MDBGNTgzRUNGMDc1MkQwMTc1NUUKKzoxMDE0NTAwMDJGNDg3NTJFRkZFNTMwMjRGREZDRTQzNEZGRkRFQzdDQzUKKzoxMDE0NjAwMDAzMjVFMENEMzNDRERDRjlGQ0U1MkYyQ0Y1MkZFNTJFNUYKKzoxMDE0NzAwMDNERjUyRTc4QUJFNjI0MDRGNTgyMThFNjM0MDBGNTgzQkEKKzoxMDE0ODAwMEUwNTRFN0Y1MkNBRDJGQUUyRUFGMkRFNDkwMDAwMjEyMDQKKzoxMDE0OTAwMDAzMTdFNDkwMDAwNjEyMDMxNzEyMDFFNjMwRTUwMzQzMzgKKzoxMDE0QTAwMDJDMTBFNTJDRkM3OEFCRTYyNDA0RjU4MjE4RTYzNDAwMTkKKzoxMDE0QjAwMEY1ODNFQ0YwMTIxMDRCNzhBOUU2MjQwNkY1ODIxOEU2QzUKKzoxMDE0QzAwMDM0MDBGNTgzRTBDMjAzRkNFNTMwMjQ5REY4QzY0NDA0RjMKKzoxMDE0RDAwMEY2OEMyQ0U1MzA1NDBGQzQ1NEYwN0UwMEZGRUVFRjQ0NDAKKzoxMDE0RTAwMDA0N0QwMEZGRUM0RUZDRUQ0RkZEMTIxQ0E3N0MwMDIyOUEKKzoxMDE0RjAwMDhDMkYxMjBGNjkxMjBGRUI3OEFBODY4MzA4ODY4MkUwODAKKzoxMDE1MDAwMDU0MDhGMEEzQTNBM0EzRTA1NDA4RjBBQzJGN0QwMjEyNkIKKzoxMDE1MTAwMDBEMkZDMjAzRTUyRjI0OURGOEM2NTRGQkY2N0MwMDIyNTQKKzoxMDE1MjAwMDEyMzBFNjc4OTZFQ0Y2RUMyNDlERjhFNjMwRTEwQTdEODAKKzoxMDE1MzAwMDAwN0MxMzEyMjUyNjEyMzE2OTc4OTZFNjI0OURGOEM2QTAKKzoxMDE1NDAwMDQ0MDFGNjc4OTZFNkZDMTIwRjY5Nzg5NkU2MjRGRDc1NUMKKzoxMDE1NTAwMEYwMEFBNDI0MTRGNTgyRTQzNEZDRjU4Mzc4QTZFNkZBQjQKKzoxMDE1NjAwMDA4RTZGOTdCMEE3ODAxMTIwM0E3NzhBNjg2ODMwODg2MjUKKzoxMDE1NzAwMDgyNzk2NzdBMzU3QjBBNzgwMTEyMDNGNTEyMEZCN0MyQjgKKzoxMDE1ODAwMDAzNzg5NkU2RkMxMjExMDc3ODk1RUNGNkVDNjAwQTdEN0MKKzoxMDE1OTAwMDAwN0MwODEyMjUyNjEyMzE2OTc4OTZFNkZDMTIwRjY5NDQKKzoxMDE1QTAwMDc4QTlFNjI0MDRGNTgyMThFNjM0MDBGNTgzRTA0NDEwQjcKKzoxMDE1QjAwMDU0REZGQzc4QTlFNjI0MDRGNTgyMThFNjM0MDBGNTgzQUMKKzoxMDE1QzAwMEVDRjA3ODk1RUNGNkMyMDM3Q0M4MTIzMkE5Nzg5NkU2NjYKKzoxMDE1RDAwMEZDMTIwRjY5NzhBOUU2MjQwNEY1ODIxOEU2MzQwMEY1QjgKKzoxMDE1RTAwMDgzRTA1NEVGRjBDMjAzN0NDODEyMzJBOTc4OTZFNkZDN0YKKzoxMDE1RjAwMDEyMEY2OTc4QTlFNjI0MDRGNTgyMThFNjM0MDBGNTgzMTEKKzoxMDE2MDAwMEUwNDQxMEYwQzIwMzdDQzgxMjMyQTk3ODk2RTZGQzEyQkUKKzoxMDE2MTAwMDBGNjk3OEE5RTYyNDA0RjU4MjE4RTYzNDAwRjU4M0UwMjIKKzoxMDE2MjAwMDQ0MjBGMEMyMDM3Q0YwMTIzMkE5Nzg5NkU2RkMxMjBGMzcKKzoxMDE2MzAwMDY5NzhBOUU2MjQwNUY1ODIxOEU2MzQwMEY1ODNFMDMwRTAKKzoxMDE2NDAwMEU0MTVDMjAzNzg5NkU2NDQxMDdGMDBGRTdDMDcxMjMxNTEKKzoxMDE2NTAwMEZCMTIzMTY5MDIxNzE0NzhBOUU2MjQwNEY1ODIxOEU2MTIKKzoxMDE2NjAwMDM0MDBGNTgzRTA1NENGRjBDMjAzN0NDODEyMzJBOTc4NkQKKzoxMDE2NzAwMDk2RTZGQzEyMEY2OTc4QTlFNjI0MDRGNTgyMThFNjM0OTAKKzoxMDE2ODAwMDAwRjU4M0UwNDQzMEYwQzIwMzdDRjAxMjMyQTk3ODk2NzIKKzoxMDE2OTAwMEU2RkMxMjBGNjk3OEE5RTYyNDA1RjU4MjE4RTYzNDAwMDUKKzoxMDE2QTAwMEY1ODNFMDMwRTQxNEMyMDM3ODk2RTY0NDEwN0YwMEZFMzAKKzoxMDE2QjAwMDdDMDcxMjMxRkIxMjMxNjk4MDVENzhBOUU2MjQwNEY1QkMKKzoxMDE2QzAwMDgyMThFNjM0MDBGNTgzRTA1NEVGRjA3OEE5RTYyNDA0QUMKKzoxMDE2RDAwMEY1ODIxOEU2MzQwMEY1ODNFMDU0REZGMDc4OTZFNjI0Q0UKKzoxMDE2RTAwMEZENzVGMDBBQTQyNDE0RjU4MkU0MzRGQ0Y1ODNBQzgyODEKKzoxMDE2RjAwMEFEODM3OEE2ODY4MzA4ODY4MkVDRjlFREZBN0IwQTc4QkEKKzoxMDE3MDAwMDAxMTIwM0E3QzIwMzc4OTZFNkZDMTIxMTA3N0QwMDdDNDQKKzoxMDE3MTAwMDBCMTIyNTI2MTIzMTY5MjIxMjMwRTZFNDkwRkMzOUYwRDIKKzoxMDE3MjAwMDdEMDI3QzAwMTIyNTI2MTIzMTY5MjIxMjMwRTY3QzAwRUYKKzoxMDE3MzAwMDEyMjVCRjEyMzE2OTIyNzQzQzkwRkJFMEYwNzQzRTkwOTgKKzoxMDE3NDAwMEZCRTBGMEU0OTBGQzI4RjAyMjhEMzU4QzM0RUNCNDAxMDEKKzoxMDE3NTAwMDAyODAwM0QzNDAwMjgwMjhCNDAyMDI4MDAzRDM0MDA4RjEKKzoxMDE3NjAwMEE4MzVDNjI1RTBGNjgwMThCNDA0MDI4MDAzRDM0MDBBRTkKKzoxMDE3NzAwMEE4MzVDNjI1RTAyNUUwRjY4MDA2QTgzNTc2MDA4MDAwNkQKKzoxMDE3ODAwMDIyOEMzQzhEM0JFREZFRUNGRDdGMDE3NTY2MDY3NTY3OTYKKzoxMDE3OTAwMDAwOTBGQzI5MTIwNDZFMTIwMUU2QjQ4MDAyODAwNkQzODgKKzoxMDE3QTAwMDUwMDMwMjE4NDc5MEZDMjkxMjA0ODA5MDAwMDMxMjAxOTQKKzoxMDE3QjAwMEVDNTRGMEI0MzAwMjgwMDNEMzQwNUY5MEZDMjkxMjA0NTMKKzoxMDE3QzAwMDgwOTAwMDA4MTIwMjBFRkFGREVCRkU3RjAxOTBGQzJDQzcKKzoxMDE3RDAwMDEyMDQ2RUVFQ0Q5MDM1NzFGQ0U0OTNGRjc0MDE5M0ZFMUMKKzoxMDE3RTAwMEY5RUZGQTdCMDFFQUZGRTlGRUVDQzM5RUVEOUY0MDI1OEQKKzoxMDE3RjAwMDkwMzU3M0U0OTNGRDc0MDE5M0ZDRURGRUVDRkQ3RjAxRTUKKzoxMDE4MDAwMEVFQ0RGQzkwRkMyRUUwRDM5QzkwRkMyREUwOUQ1MDA1OEQKKzoxMDE4MTAwMDc1NjY4MDgwMzMxMjE5NjU4MDJFQjQ2MDAyODAwM0QzMTAKKzoxMDE4MjAwMDQwMEJBQzNDQUQzQjEyMDc3NzhDNjY4MDFCQjQxMDAzQjkKKzoxMDE4MzAwMEIzNDAxMEMzQjQyMDAzQjM0MDA5QzNCNDQwMDI4MDAzRDMKKzoxMDE4NDAwMEQzNDAwMDc1NjY4MTgwMDA4MDc1QjQ4MTAyODAwM0QzMjcKKzoxMDE4NTAwMDQwNkI5MEZDMjkxMjA0ODA5MDAwMDMxMjAxRUM1NEYwQkMKKzoxMDE4NjAwMEI0MzAwMjgwMDNEMzQwMUQ5MEZDMjkxMjA0ODA5MDAwMDQKKzoxMDE4NzAwMDA4MTIwMjBFRkFGREVCRkU3RjAxOTBGQzJGMTIwNDZFOUYKKzoxMDE4ODAwMDEyMThDRjgwMzZCNDYwMDI4MDAzRDM0MDEzNzUzQTY3RDQKKzoxMDE4OTAwMEU0RjUzOUY1MzhBQzNDQUQzQjEyMDVEMzhDNjY4MDFCQzIKKzoxMDE4QTAwMEI0MTAwM0IzNDAxMEMzQjQyMDAzQjM0MDA5QzNCNDQwMjEKKzoxMDE4QjAwMDAyODAwM0QzNDAwMDc1NjY4MTgwMDA4MDAyODAwMEU1Q0QKKzoxMDE4QzAwMDY2RkM5MEZDMjkxMjA0ODBFQzkwMDAwMjEyMDMxN0FDMTUKKzoxMDE4RDAwMDY3MjI5MEZDMjkxMjA0ODA5MDAwMDQxMjAxRUM2MDA0M0QKKzoxMDE4RTAwMDc0MDE4MDAxRTRBMkUwOTIwMTkwRkMyOTEyMDQ4MEVERDEKKzoxMDE4RjAwMDI0MDNGRDUwMDEwRTkwRkMyQzEyMDQ2RTkwRkMyOTEyNjIKKzoxMDE5MDAwMDA0ODA5MDAwMDUxMjAxRUNGNTY3OTAwMDA0MTIwMUVDRDAKKzoxMDE5MTAwMDU0MEZGQzdENjcxMjE3NDZFNTY3NzAwNDc1NjYwODIyNTAKKzoxMDE5MjAwMDc1NjYwMDc4ODQ3NjAwNzg4NEU2QzM5NTY3NTAzODkwQjEKKzoxMDE5MzAwMEZDMkYxMjA0ODAxMjAxRTZGQzkwRkMyQzEyMDQ4MEVDQjcKKzoxMDE5NDAwMDEyMDMwRjMwMDEwRTkwRkMzMUUwMDRGMDkwRkMzMDcwNzcKKzoxMDE5NTAwMDAzRTAwNEYwNzg4NDA2OTBGQzJFRTAwNEYwOTBGQzJENjcKKzoxMDE5NjAwMDcwMDNFMDA0RjA4MEMwMjI5MEZDMkFFMEZEQTNFMEZDQkMKKzoxMDE5NzAwMEVERkVFQ0ZEN0YwMUVEMjQwQUZENTAwMTBFOTBGQzMyREUKKzoxMDE5ODAwMDEyMDQ2RTkwRkMyOTEyMDQ4MDkwMDAwNDEyMDFFQzU0QTEKKzoxMDE5OTAwMDBGQjQwMTAyODAwM0QzNDAxNzkwRkMzMjEyMDQ4MDBENzMKKzoxMDE5QTAwMEVENzAwMTBFOTBGQzJGMTIwNDZFNzg4ODc2MDE4MDRFNDcKKzoxMDE5QjAwMEI0MDIwMjgwMDNEMzQwMTk5MEZDMzIxMjA0ODBFRDI0NUIKKzoxMDE5QzAwMDAyRkQ1MDAxMEU5MEZDMkYxMjA0NkU3ODg4NzYwMjgwODIKKzoxMDE5RDAwMDJEQjQwNDAyODAwM0QzNDAxOTkwRkMzMjEyMDQ4MEVEMzAKKzoxMDE5RTAwMDI0MDRGRDUwMDEwRTkwRkMyRjEyMDQ2RTc4ODg3NjA0QkEKKzoxMDE5RjAwMDgwMENCNDAwMDI4MDAzRDM0MDAwNzU2NjA4MjI5MEZDN0UKKzoxMDFBMDAwMDI5MTIwNDgwOTAwMDA1MTIwMUVDRjU2Nzc4ODU3NjAwQjQKKzoxMDFBMTAwMDc4ODVFNkMzOTU2NzQwMDMwMjFBQ0Q3ODg2NzYwMDc4MEMKKzoxMDFBMjAwMDg2RTZDMzc4ODg5NjUwNzY5MEZDMkMxMjA0ODAxMjAxQ0EKKzoxMDFBMzAwMEU2RkM5MEZDMzIxMjA0ODkxMjAxRTBGNDVDRkMxMjAxMTUKKzoxMDFBNDAwMEUwRjg5MEZDMkYxMjA0ODBFOEMwRTAxMjAxRTZDOEQwNTQKKzoxMDFBNTAwMEUwQzg1ODRDRkM5MEZDMkMxMjA0ODBFQzEyMDMwRjc4NjgKKzoxMDFBNjAwMDg3RUNGNjkwRkMzMUUwMDRGMDkwRkMzMDcwMDNFMDA0NjkKKzoxMDFBNzAwMEYwMDlFOTcwMDEwQTkwRkMzMjEyMDQ3NzkwRkMyOTEyRjcKKzoxMDFBODAwMDA0ODA5MDAwMDQxMjAxRUMzMEU0MEU5MEZDMkVFMDA0N0YKKzoxMDFBOTAwMEYwOTBGQzJENzAwM0UwMDRGMDc4ODYwNjgwODE3ODg4NTEKKzoxMDFBQTAwMEU2RkRFNEZFRkZFRUNERkM5MEZDMzFFMDJDRjA5MEZDNzYKKzoxMDFBQjAwMDMwRTAzREYwNzg4OEU2RkRFNEZFRkZFRUNERkM5MEZDRTIKKzoxMDFBQzAwMDM0RTAyQ0YwOTBGQzMzRTAzREYwNzg4NTA2MDIxQTBERUUKKzoxMDFBRDAwMDc1NjYwMDIyRTUzRDA1M0QwNDcwMDJCMkIwMjJDMEUwMEIKKzoxMDFBRTAwMEMwRjBDMDgyQzA4M0MwRDBFOEMwRTBFOUMwRTBFQUMwNzYKKzoxMDFBRjAwMEUwRUJDMEUwRUNDMEUwRURDMEUwRUVDMEUwRUZDMEUwNDUKKzoxMDFCMDAwMDkwRkY5MkUwMTIwMUI3MUIyOTMwMUIyOTMyMUIzODM4OTUKKzoxMDFCMTAwMDFCNEEzQTFCNUMzRTFCNzQ0NDFCNjg0NjFCODA1MDFCQ0YKKzoxMDFCMjAwMEMyNTIxQkExNTQxQkUzNTYwMDAwMUMwNDkwRkY5MkUwMUMKKzoxMDFCMzAwMDdGMDBGRTdDMDExMjMxRkIwMjFDMTRFNEZGMDRGRTdDREEKKzoxMDFCNDAwMDAzMTIzMUZCNzQyMDkwRkZGRUYwMDIxQzE0RTRGRjA0MkEKKzoxMDFCNTAwMEZFN0MwMjEyMzFGQjc0NDA5MEZGRkVGMDAyMUMxNEU0ODQKKzoxMDFCNjAwMEZGMDRGRTdDMDQxMjMxRkIwMjFDMTRFNEZGMDRGRTdDMjMKKzoxMDFCNzAwMDA1MTIzMUZCMDIxQzE0RTRGRjA0RkU3QzA2MTIzMUZCNEIKKzoxMDFCODAwMDAyMUMxNDkwRkZBNUUwN0QwMDkwRkJGOENERjBBM0NERTIKKzoxMDFCOTAwMEYwOTBGQkY5RTBGQ0Y1ODM5MEZCRjhFMDQ0MzNGRDEyOTQKKzoxMDFCQTAwMDFDQTc4MDczOTBGRkI1RTA3RDAwOTBGQkZBQ0RGMEEzRjkKKzoxMDFCQjAwMENERjA5MEZCRkJFMEZDRjU4MzkwRkJGQUUwNDQ0M0ZEQTUKKzoxMDFCQzAwMDEyMUNBNzgwNTI5MEZGQTZFMDdEMDA5MEZCRkNDREYwOTgKKzoxMDFCRDAwMEEzQ0RGMDkwRkJGREUwRkNGNTgzOTBGQkZDRTA0NDM0RUEKKzoxMDFCRTAwMEZEMTIxQ0E3ODAzMTkwRkZCNkUwN0QwMDkwRkJGRUNEN0EKKzoxMDFCRjAwMEYwQTNDREYwOTBGQkZGRTBGQ0Y1ODM5MEZCRkVFMDQ0MEEKKzoxMDFDMDAwMDQ0RkQxMjFDQTc4MDEwOTBGRjkyRTA3RDAwRkNFRDQ0ODMKKzoxMDFDMTAwMEFBRkQxMjFDQTc4MDAwRTQ5MEZGOTJGMEQwRTBGRkQwNTQKKzoxMDFDMjAwMEUwRkVEMEUwRkREMEUwRkNEMEUwRkJEMEUwRkFEMEUwNzgKKzoxMDFDMzAwMEY5RDBFMEY4RDBEMEQwODNEMDgyRDBGMEQwRTAzMjA1MTcKKzoxMDFDNDAwMDgxMDU4MTA1ODEwNTgxQTg4MTE4MTgxOEVERjYwOEVDMzkKKzoxMDFDNTAwMEY2OTBGRjVBRTAyMEU3MDI4MEY3OTBGRjU5RTA3RDAwMDAKKzoxMDFDNjAwMEE4ODExOENERjZDRDA4RjY3RDAzQTg4MUU2MThGQ0U2MUMKKzoxMDFDNzAwMENDMjVFMENDMzNDQ0RERjlDQ0Y2Q0MwOEY2QTg4MTE4MjUKKzoxMDFDODAwMEU2NDRGOEY2QTg4MTE4MTgxOEU2RkQwOEU2RkNBODgxRDUKKzoxMDFDOTAwMDE4ODY4MzA4ODY4MkVERjBBM0VDRjA3NDAyOTBGRjVBNTgKKzoxMDFDQTAwMEYwMTU4MTE1ODExNTgxMTU4MTIyRTU4MTI0MDVGNTgxQzUKKzoxMDFDQjAwMEU0QTg4MTE4RjZBODgxMTgxODE4MThFREY2MDhFQ0Y2QjMKKzoxMDFDQzAwMDkwRkJGNUUwMjRGODUwMDMwMjFEQzhFNEE4ODExODE4MjEKKzoxMDFDRDAwMEY2QTg4MTE4RTZGRUE4ODExODE4MTgxOEU2RkQwOEU2OEYKKzoxMDFDRTAwMEZDN0YwMEVGMjRGODQwNERFNEVGMjVFMDI0N0RGNTgyRjEKKzoxMDFDRjAwMEU0MzRGQ0Y1ODNFMEZCQTNFMDZDNzAwM0ZBRUI2RDcwNTkKKzoxMDFEMDAwMDA5NzQwMUE4ODExODE4RjY4MDJCRTRFRjI1RTAyNDdERTIKKzoxMDFEMTAwMEY1ODJFNDM0RkNGNTgzN0EwMEUwNTRGMENDRjhDQ0NEQzUKKzoxMDFEMjAwMEY5Q0RGQjc4MDBFOTU0RjBGOUVBNjg3MDAyRUI2OTcwQ0MKKzoxMDFEMzAwMDAxMEUwRjgwQUVBODgxMThFRUY2QTg4MTE4MTgxODE4QTkKKzoxMDFENDAwMEVERjYwOEVDRjZBODgxRUZGNkE4ODExODE4RTY3MDc5OTAKKzoxMDFENTAwMEE4ODExOEU2MjRGNzQwNzFBODgxMTgxODE4MThFNjU0Q0QKKzoxMDFENjAwMDBGQTg4MUY2NjQwNDYwMTdBODgxRTY2NDAzNjAxMEE4RDgKKzoxMDFENzAwMDgxMTgxODE4MThFNkZEMDhFNkZDMTIxQzNDODA0QTdDMDUKKzoxMDFEODAwMDBBMTIzMTVCQTg4MTE4MTgxODE4RTZGRDA4RTZGQzkwQzUKKzoxMDFEOTAwMEZCRjRFMDI1RTAyNDdERjU4MkU0MzRGQ0Y1ODNFREYwRUUKKzoxMDFEQTAwMEEzRUNGMDkwRkJGNEUwRkZFNEVGMDQ1NDA3RkY5MEZCOUEKKzoxMDFEQjAwMEY0RjA5MEZCRjVFMDA0RjAxMjMxRjQ5MEZCRjZFMDcwRTMKKzoxMDFEQzAwMDA4RTRGRUZGN0MwRjEyMzFGQjgwMjc5MEZCRjdFMDA0NTQKKzoxMDFERDAwMEYwNTQzRjcwMUQ5MEZCRjdFMDQ0RkU3RDAwRkM5MEZCNEIKKzoxMDFERTAwMEY0RTAyNUUwMjQ3REY1ODJFNDM0RkNGNTgzRURGMEEzRjYKKzoxMDFERjAwMEVDRjBFNTgxMjRGQkY1ODEyMjc4OEI3NjAwNzg4Qzc2RjcKKzoxMDFFMDAwMDAwNzQwMTkwRkJGNkYwMTIzMEU2OTBGQkY1RTA2MDU3QUQKKzoxMDFFMTAwMDdDMEExMjMxNUI5MEZCRjNFMDI1RTAyNDdERjU4MkU0M0YKKzoxMDFFMjAwMDM0RkNGNTgzRTBGREEzRTBGQzkwRkJGM0UwMjVFMDI0MjcKKzoxMDFFMzAwMDdERjU4MkU0MzRGQ0Y1ODNFNEYwQTNGMDkwRkJGM0UwNUQKKzoxMDFFNDAwMEZGRTRFRjA0NTQwN0ZGOTBGQkYzRjA5MEZCRjVFMDE0ODAKKzoxMDFFNTAwMEYwNzg4OUVERjYwOEVDRjYxMjMxRjQ3ODg5RTZGRDA4QTEKKzoxMDFFNjAwMEU2RkMxMjA4REE4MEEzMTIzMjQ4OTBGRjkzRTA0NDAxQTYKKzoxMDFFNzAwMEYwQjJCMzc4OEIwNkI2MDAxMTc4OEI3NjAwNzg4Q0U2REEKKzoxMDFFODAwMEY0MDQwNEEyRTA5MkI0Nzg4Q0Y2MDIxRTA3RTQ5MEZCRkUKKzoxMDFFOTAwMEY2RjA5MEZCRjVFMDdEMDBGQ0VENDRDRkZEMTIxQzNDMUMKKzoxMDFFQTAwMDEyMzE2OTIyMTIzMEU2RTU3MDY0NDk0NTZGNjAxNTkwODEKKzoxMDFFQjAwMEZGODNFMDU0MEY3RDAwRDM5NTcwRUQ5NTZGNTAwNTEyQjAKKzoxMDFFQzAwMDJGMkY4MDAzMTIyRkZGMTIzMTY5MjIxMjMwRTZFNTcwQTYKKzoxMDFFRDAwMDY0NDk0NTZGNjAwNTEyMzAzOTgwMEU5MEZGODBFMDQ0MDAKKzoxMDFFRTAwMDA4RjA5MEZGODNFMDU0N0ZGMDEyMzE2OTIyMTIzMEU2NEYKKzoxMDFFRjAwMDhDNTRFQzU0RjBCNDEwMTU3NTZBMzU3NTY5RkM3NTY4MkUKKzoxMDFGMDAwMDAxRTU2QTI0MDNGNTZBRTU2OTM0MDBGNTY5RTRGNTU3RUIKKzoxMDFGMTAwMEY1NTZFNTU2QzM5NDAxNTAyN0U1NTQ1NDBGRkNBRDZBQkQKKzoxMDFGMjAwMEFFNjlBRjY4MTIwRTc3OEM1NUVDNjAwMjgwMTIwNTZBQkMKKzoxMDFGMzAwMEU1NkE3MDAyMDU2OTA1NTdFNTU3NzAwMjA1NTY4MEQyQkIKKzoxMDFGNDAwMEU1NTQ1NDBGMjQ5REY4QzY1NEZFRjZFNTU0NTQwRjdGMTMKKzoxMDFGNTAwMDAwRkU3QzEyMTIzMUZCRTU1NTE0NzAwOTdEMDA3QzA5RUUKKzoxMDFGNjAwMDEyMjUyNjgwMDdBRDU3N0MwMDEyMjUyNjEyMzE2OTIyRTIKKzoxMDFGNzAwMDEyMzBFNjkwRkZGQ0UwNDQwMkYwOTBGRjAwRTAzMEU3MTIKKzoxMDFGODAwMDEzOTBGRjgzRTA0NDgwRjA0MzZEODA5MEZGRkNFMDQ0QjkKKzoxMDFGOTAwMDAxRjA4MDExOTBGRjgyRTA0NDA4RjA1MzZEN0Y5MEZGQzQKKzoxMDFGQTAwMEZDRTA1NEZFRjA5MEZGODFFMDQ0ODBGMDEyMjVEOTkwQ0YKKzoxMDFGQjAwMEZGRkVFMDQ0MDVGMDkwRkZGQ0UwNTRGREYwMTIzMTY5QjMKKzoxMDFGQzAwMDIyMTIzMEU2N0MwMTEyMzJBOTc4QURFNjQ0MDJGNjc0QTIKKzoxMDFGRDAwMEZFRkMwNEZEMTIxQ0E3OTBGRjVBRTAzMEU3MDI4MEY3RDgKKzoxMDFGRTAwMEU0RjU0RTc1NEQxMEFDNEVBRDRERTU0RTE1NEU3MDAyRkMKKzoxMDFGRjAwMDE1NERFQzRENjAwMjgwRUU0Mzg3MDExMjMxNjkyMjEyQ0IKKzoxMDIwMDAwMDMwRTY3QzAyMTIzMTc1NzhBREU2NTRGREY2MTIzMTY5ODYKKzoxMDIwMTAwMDIyMTIzMEU2NzhBREU2MzBFMDJDNzhBREU2MzBFMTI2RUQKKzoxMDIwMjAwMDc4QURFNkZDRjU4MzE4RTY0NEYwRkQxMjFDM0M5MEZGMDkKKzoxMDIwMzAwMEZDRTA0NDIwRjA3QzAyMTIzMkE5NzhBREU2NTRGREY2QjMKKzoxMDIwNDAwMDc0MUE5MEZGRkVGMDc4QURFNkZDRjU4MzE4RTY0NEYxRDMKKzoxMDIwNTAwMEZEMTIxQzNDMTIzMTY5MjI3NTZEMDA5MEZGRkZFMDYwOUIKKzoxMDIwNjAwMDAzNDM2RDAxNzU2RTAwRTRGNTZDRjU2QkU0RjU2Rjc1NzcKKzoxMDIwNzAwMDcwNDk3NDg0OTBGRjgyRjA3NDg0OTBGRjgwRjA3NDgwQzMKKzoxMDIwODAwMDkwRkY1OEYwNzQ4MDkwRkY1QUYwQUQ0NkFGNDU3RTAwNDcKKzoxMDIwOTAwMEVFMjRGRTUwMDMwMjIxMjRFNEVFNzVGMDA3QTQyNDdGMTEKKzoxMDIwQTAwMEY1ODJFNDM0RjhGNTgzRTBGRkU0RUY1NDgwRkRFNEVGREIKKzoxMDIwQjAwMDU0MEYxNEZGRUQ2MDM4RTRFRjc1RjAwOEE0MjQ0OEY1RTAKKzoxMDIwQzAwMDgyRTQzNEZGRjU4Mzc0OTBGMEU0RUY3NUYwMDhBNDI0MDMKKzoxMDIwRDAwMDRBRjU4MkU0MzRGRkY1ODM3NDgwRjBFNEVGNzVGMDA4OEMKKzoxMDIwRTAwMEE0MjQ0RUY1ODJFNDM0RkZGNTgzNzQ4MEYwODAzNEU0NTgKKzoxMDIwRjAwMEVGNzVGMDA4QTQyNDA4RjU4MkU0MzRGRkY1ODM3NDkwQUEKKzoxMDIxMDAwMEYwRTRFRjc1RjAwOEE0MjQwQUY1ODJFNDM0RkZGNTgzQzcKKzoxMDIxMTAwMEU0RjBFNEVGNzVGMDA4QTQyNDBFRjU4MkU0MzRGRkY1NTIKKzoxMDIxMjAwMDgzRTRGMDBFMDIyMDhEOEQ0NjhFNDQ4RjQ1NzQ3RjkwOUYKKzoxMDIxMzAwMEZGRkRGMDc0OTA5MEZGRkNGMDIyOEM1OEVDMjRGNjUwRDgKKzoxMDIxNDAwMDA2RTU1ODI0MzdGQzIyRTU1ODI0MzBGQzIyMTIyNTIzQ0EKKzoxMDIxNTAwMEVDNzAwMzAyMjI1RTc1NUMwM0FFNUI3RjAwRTU1QzE1RUMKKzoxMDIxNjAwMDVDNjQ4MDI0N0Y1MDM1RUYyNDAwRjU4MkU0MzRGQkY1NzUKKzoxMDIxNzAwMDgzRTBGRTI0RkU1MDFFRUY3RDAwRkNFNEZCNzQ3NEMzN0MKKzoxMDIxODAwMDlDRkFFQjlERkJFRTdEMDBGQ0VBQzM5Q0VENjQ4MENCRUEKKzoxMDIxOTAwMDY0ODA5QjUwMDI4MDA1RUYyRUZGODBDMThFNUI4RjVBQkEKKzoxMDIxQTAwMEU1NUM2NDgwMjQ3RjUwMDMwMjIyNUVFNTVBMjQ4RTUwNTEKKzoxMDIxQjAwMDAzMDIyMjVFODU1QTVENzU1QjAwQUU1QUFGNUI5MDM1QjcKKzoxMDIxQzAwMDlDRTQ5M0Y1NUNFNTVDMTU1QzY0ODAyNDdGNTAxOEVFMUMKKzoxMDIxRDAwMDI0MDBGNTgyRTQzNEZCRjU4M0UwRkNFRjkwMzU5QzkzMUEKKzoxMDIxRTAwMDZDNzAwNDBFMEY4MERFOEU1QThGNUJFNTVDNjQ4MDI0NzkKKzoxMDIxRjAwMDdGNDA2RTc1NUUwMTc1NjBFODc1NUZGRkU1NUQyNDAyRTYKKzoxMDIyMDAwMEY1NUE3NTVDMDdFNTVDMzM0MDU3QUQ2MEFFNUZBRjVFNzUKKzoxMDIyMTAwMEU1NUNGNTgyMzM5NUUwRjU4MzEyMDFFQ0M0NTQwRkZDQzQKKzoxMDIyMjAwMDEyMjEzN0U1NUEyNDAwRjU4MkU0MzRGQkY1ODNFQ0YwMDMKKzoxMDIyMzAwMDA1NUEwNTVBQUQ2MEFFNUZBRjVFRTU1Q0Y1ODIzMzk1MzkKKzoxMDIyNDAwMEUwRjU4MzEyMDFFQzU0MEZGQzEyMjEzN0U1NUEyNDAwMEIKKzoxMDIyNTAwMEY1ODJFNDM0RkJGNTgzRUNGMDA1NUEwNTVBMTU1QzgwRjEKKzoxMDIyNjAwMEE0NzQwMjkwRjg1MUYwOTBGODZCNzk3NTdBMzU3QjI3NTkKKzoxMDIyNzAwMDc4MDExMjAzRjU3NTZBMzU3NTY5RkM3NTY4MDFFNDkwOUIKKzoxMDIyODAwMEZGODNGMDc0ODA5MEZGODFGMDc1NTkwMkU1NTk3NUYwNzUKKzoxMDIyOTAwMDA3QTQyNDdGRjU4MkU0MzRGOEY1ODNFMDc4OEZGNkZDMTgKKzoxMDIyQTAwMDU0MEYxNEZDNzg4RkVDRjZFNTU5NzVGMDA3QTQyNDgxREYKKzoxMDIyQjAwMEY1ODJFNDM0RjhGNTgzRTA3ODkyNzZGRDA4NzZFOEZDNjAKKzoxMDIyQzAwMDc4OEZFNjc1RjAwOEE0MjQ0OEY1ODJFNDM0RkZGNTgzOUUKKzoxMDIyRDAwMEU0RjA3ODhGRTY3NUYwMDhBNDI0NEZGNTgyRTQzNEZGMkIKKzoxMDIyRTAwMEY1ODNFQ0YwNzg5MkU2RkYwOEU2N0UwM0NGQzMxM0NGQzgKKzoxMDIyRjAwMDEzREVGOUZFNzg4RkU2NzVGMDA4QTQyNDQ5RjU4MkU0MzAKKzoxMDIzMDAwMDM0RkZGNTgzRUVGMDc4OEZFNjc1RjAwOEE0MjQ0QUY1RTMKKzoxMDIzMTAwMDgyRTQzNEZGRjU4Mzc0ODBGMDc4OTBFQ0Y2N0QwMDc4RTkKKzoxMDIzMjAwMDkzRTYyQ0Y2MThFNjNERjY3ODkyRTZGRDA4RTY3QzAzODcKKzoxMDIzMzAwMENEQzMxM0NEMTNEQ0Y5RkM3ODhGRTY3NUYwMDhBNDI0MjcKKzoxMDIzNDAwMDRERjU4MkU0MzRGRkY1ODNFQ0YwNzg4RkU2NzVGMDA4MDQKKzoxMDIzNTAwMEE0MjQ0RUY1ODJFNDM0RkZGNTgzRTRGMDc4OTJFNkZEQTAKKzoxMDIzNjAwMDA4RTZGQzc4OEZFNkZGN0UwMEVFMjRGRTUwMDMwMjI0OTAKKzoxMDIzNzAwMERERTRFRTc1RjAwN0E0MjQ3RkY1ODJFNDM0RjhGNTgzRkMKKzoxMDIzODAwMEUwRkZFNEVGNTQ4MEZBRTRFRjU0MEYxNEZGRTRFRTc1M0QKKzoxMDIzOTAwMEYwMDdBNDI0ODFGNTgyRTQzNEY4RjU4M0UwNzg5MEY2MjAKKzoxMDIzQTAwMEU0RUUxMzEzNTQ4MDI0RjBGOEU0MzRGREY5RThGQ0U5N0EKKzoxMDIzQjAwMEZEOEE1QUVBNzAwMzAyMjQ0QUU0RUY3NUYwMDhBNDI0NjcKKzoxMDIzQzAwMDQ4RjU4MkU0MzRGRkY1ODNFNEYwNzg5MEU2RkFFNEVGMzAKKzoxMDIzRDAwMDc1RjAwOEE0MjQ0RkY1ODJFNDM0RkZGNTgzRUFGMEVEQUMKKzoxMDIzRTAwMEZCRUM3QTAzQ0JDMzEzQ0IxM0RBRjlGQUU0RUY3NUYwMDUKKzoxMDIzRjAwMDA4QTQyNDQ5RjU4MkU0MzRGRkY1ODNFQUYwNzg5MEU2RjYKKzoxMDI0MDAwMDdCMDBGQUVDMkFGQ0VEM0JGREZCRUM3QTAzQ0JDMzEzMUIKKzoxMDI0MTAwMENCMTNEQUY5RkFFNEVGNzVGMDA4QTQyNDRERjU4MkU0NjEKKzoxMDI0MjAwMDM0RkZGNTgzRUFGMEU0RUY3NUYwMDhBNDI0NEFGNTgyNUUKKzoxMDI0MzAwMEU0MzRGRkY1ODM3NDgwRjBFNEVGNzVGMDA4QTQyNDRFRDMKKzoxMDI0NDAwMEY1ODJFNDM0RkZGNTgzNzQ4MEYwMDIyNEQ5RTRFRjc1NUIKKzoxMDI0NTAwMEYwMDhBNDI0MDhGNTgyRTQzNEZGRjU4M0U0RjA3ODkwRDIKKzoxMDI0NjAwMEU2RkFFNEVGNzVGMDA4QTQyNDBGRjU4MkU0MzRGRkY1RjIKKzoxMDI0NzAwMDgzRUFGMEVERkJFQzdBMDNDQkMzMTNDQjEzREFGOUZBNjIKKzoxMDI0ODAwMEU0RUY3NUYwMDhBNDI0MDlGNTgyRTQzNEZGRjU4M0VBNEIKKzoxMDI0OTAwMEYwNzg5MEU2N0IwMEZBRUMyQUZDRUQzQkZERkJFQzdBNTEKKzoxMDI0QTAwMDAzQ0JDMzEzQ0IxM0RBRjlGQUU0RUY3NUYwMDhBNDI0RDUKKzoxMDI0QjAwMDBERjU4MkU0MzRGRkY1ODNFQUYwRTRFRjc1RjAwOEE0NEIKKzoxMDI0QzAwMDI0MEFGNTgyRTQzNEZGRjU4M0U0RjBFNEVGNzVGMDA4QzQKKzoxMDI0RDAwMEE0MjQwRUY1ODJFNDM0RkZGNTgzRTRGMDBFMDIyMzY2QjMKKzoxMDI0RTAwMDhFNTk3ODkyRURGNjA4RUNGNjc4OEZFRkY2MTIyMDU1QkIKKzoxMDI0RjAwMDIyOEMyNkVDMzBFNzE4RTUyNjU0MEYxNDc1RjAwOEE0NUEKKzoxMDI1MDAwMDI0NDhGNTgyRTQzNEZGRjU4M0UwNTRERkYwODAxNkU1REIKKzoxMDI1MTAwMDI2NTQwRjE0NzVGMDA4QTQyNDA4RjU4MkU0MzRGRkY1NUUKKzoxMDI1MjAwMDgzRTA1NERGRjAyMjdDMDAyMkVDOTBGQzM3RjA4QzI0MTYKKzoxMDI1MzAwMEVEMjQwM0Y1MjU3RDAwRDM5NTcyRUQ5NTcxNDAwMzg1NUIKKzoxMDI1NDAwMDcyMjVFNTI1MjRCNzUwMDk3NTI1MDM3NDAyOTBGQzM3RTAKKzoxMDI1NTAwMEYwQUMyNTEyMzAyNDIyRTRGNTZDRjU2QjEyMjU1RDIyRDcKKzoxMDI1NjAwMDkwRkMzNUUwNjU3MzYwMEU3NDA0OTBGQzM3RjBFNEY1ODAKKzoxMDI1NzAwMDZCNzU2QzAzODA0NjdENzNFNEZFRkY3OTM1N0FGQzdCRDYKKzoxMDI1ODAwMDAxNzQwNTc4MDAxMjAzM0ZFNTZDMjQwM0Y1NkNFNTZCREMKKzoxMDI1OTAwMDM0MDBGNTZCRTU2Q0QzOTU3MkU1NkI5NTcxNDAwNjg1NUIKKzoxMDI1QTAwMDcyNkM4NTcxNkJEM0U1NkM5NDQ4RTU2Qjk0MDA0MDBDQkMKKzoxMDI1QjAwMDc0MDI5MEZDMzdGMEU0RjU2Qjc1NkMwM0FDNkMxMjMwNzAKKzoxMDI1QzAwMDI0MjJFQzkwRkMzN0YwRTRGNTZDRjU2QjhDMzJFQzYwNzcKKzoxMDI1RDAwMDA1MTIzMDE1ODAwNTdDMDAxMjMwMjQyMjkwRkY5M0UwMTQKKzoxMDI1RTAwMDQ0MDFGMEIyQjM5MEZGMDRFMEY1NEE5MEZGMDZFMEZEMkQKKzoxMDI1RjAwMEEzRTBFRDdEMDBGQzdEMDBGQzkwRkYwNkUwRkZBM0UwODIKKzoxMDI2MDAwMDdFMDBGRkU0RkVFQzRFRkNFRDRGRkRDM0VDOTQ0OEVEODQKKzoxMDI2MTAwMDk0MDA1MDIyOTBGRjA2RTBGREEzRTBFRDdEMDBGQzdEREMKKzoxMDI2MjAwMDAwRkM5MEZGMDZFMEZGQTNFMDdFMDBGRkU0RkVFQzRFMUUKKzoxMDI2MzAwMEZDRUQ0RkZEODAwNEU0RkQ3QzQ4OEM3MjhENzE5MEZGQjEKKzoxMDI2NDAwMDAyRTBGREEzRTBFRDdEMDBGQzdEMDBGQzkwRkYwMkUwRDgKKzoxMDI2NTAwMEZGQTNFMDdFMDBGRkU0RkVFQzRFRjU0Q0VENEZGNTRCQTIKKzoxMDI2NjAwMDc1NkEzNTc1NjlGQzc1NjgwMTdEMzU3RUZDN0YwMTc5NzkKKzoxMDI2NzAwMDczRTRGQUZCNzQwNTc4MDAxMjAzM0Y3NTQ5MDBFNTQ5REQKKzoxMDI2ODAwMDI0RkU0MDE5QUQ2QUFFNjlBRjY4RTQxMjAzMEYwNTQ5MzQKKzoxMDI2OTAwMDBERUQ3MDAxMEU4RDZBOEU2OThGNjg4MEUxNzU2QTM1NjcKKzoxMDI2QTAwMDc1NjlGQzc1NjgwMTkwRkYwMEUwNTQ2MEI0MDAwMjgwMTkKKzoxMDI2QjAwMDA2RDM1MDAzMDIyQzZERTU0QTU0MEZGNTQ5RTU0QTU0MDAKKzoxMDI2QzAwMDgwQTJFMDkyMDI5MEZGMDFFMDEyMDE4MTAwMEIyQzY4RDEKKzoxMDI2RDAwMDI2RTUyODAzMkM2ODI5MEYyQzY4MjlGMjJBMjYyQjhENDEKKzoxMDI2RTAwMDJCOTAyQkQwMkMxMTJDM0ZFNTZEMzBFNzBFRTU0QzQ1OUYKKzoxMDI2RjAwMDRCNzAwOEU1NzI2NDAyNDU3MTYwMDMwMjJDNkE5MEZGMUEKKzoxMDI3MDAwMDAwRTA1NDFGQjQwMDAyODAwM0QzNDAyOUU1NEE2MDAzNkYKKzoxMDI3MTAwMDAyMjgwMEFENkFBRTY5QUY2ODc0MDExMjAzMEY3OEFEOEMKKzoxMDI3MjAwMEU2MzBFMDBCQUQ2QUFFNjlBRjY4NzQwMjEyMDMwRjdDNEQKKzoxMDI3MzAwMDAyMTIzMDI0MjJCNDAxMDI4MDAzRDM0MDFCRTU2RDIwMzUKKzoxMDI3NDAwMEUxMDdFNTRBNjAwMzAyMjgwMEU1NEEyNEZFNTAwMzAyM0YKKzoxMDI3NTAwMDI4MDA3QzAyMTIzMDI0MjJCNDAyMDI4MDA2RDM1MDAzRTcKKzoxMDI3NjAwMDAyMjdGRUU1NkQyMEUxMERFNTRBNjAwOUU1NEE2NDgwMzcKKzoxMDI3NzAwMDYwMDMwMjI4MDBBQzRBMTIzMEFCNDAwMzAyMjgwMEU1OTcKKzoxMDI3ODAwMDQ5NzAyNTMwMDIxMTkwRkY4MEUwNTQwOEFENkFBRTY5QUYKKzoxMDI3OTAwMEFGNjgxMjAzMEY4MDBGOTBGRjgyRTA1NDA4QUQ2QUFFNUQKKzoxMDI3QTAwMDY5QUY2ODEyMDMwRjgwM0QxNTQ5MzAwMjFERTU0OTc1NzgKKzoxMDI3QjAwMEYwMDhBNDI0NDhGNTgyRTQzNEZGRjU4M0UwNTQwOEFEMjIKKzoxMDI3QzAwMDZBQUU2OUFGNjgxMjAzMEY4MDFCRTU0OTc1RjAwOEE0NzMKKzoxMDI3RDAwMDI0MDhGNTgyRTQzNEZGRjU4M0UwNTQwOEFENkFBRTY5NUQKKzoxMDI3RTAwMEFGNjgxMjAzMEZBRDZBQUU2OUFGNjgxMjAxRTY2MDBCMDUKKzoxMDI3RjAwMEFENkFBRTY5QUY2ODc0MDExMjAzMEY3QzAyMTIzMDI0MTcKKzoxMDI4MDAwMDIyODAwMDAyMkM2QUU1NkQyMEU3MDZFNTcyNDU3MTYwQzIKKzoxMDI4MTAwMDAzMDIyQzZBOTBGRjAwRTA1NDFGQjQwMDAyODAwM0QzMkYKKzoxMDI4MjAwMDQwMUFFNTRDMTQ0NTRCNzAwNEU1NEE2MDAzMDIyOTBDM0MKKzoxMDI4MzAwMDc4QURFNjU0RkVGNjdDMDAxMjMwMjQyMkI0MDEwMjgwMEEKKzoxMDI4NDAwMDAzRDM0MDJBRTU2RDIwRTEwOEU1NkQyMEUwMDMwMjI5NkQKKzoxMDI4NTAwMDBDRTU2RDMwRTAwNEU1NEE3MDBCRTU2RDMwRTEwOUU1MEIKKzoxMDI4NjAwMDRBMjRGRTUwMDMwMjI5MEM3QzAwMTIzMDI0MjJCNDAyQjgKKzoxMDI4NzAwMDAyODAwNkQzNTAwMzAyMjkwQUU1NEM0NTRCNjAwMzAyNEYKKzoxMDI4ODAwMDI5MENBQzRBMTIzMEFCNDAwMzAyMjkwQ0U1NkQyMEUxNjMKKzoxMDI4OTAwMDA3RTU2RDIwRTAwMjgwNzdFNTZEMzBFMDA2RTU0OTYwRjAKKzoxMDI4QTAwMDAyODA2Q0U1NDk3MDBGOTBGRjgyRTA1NEY3RjA5MEZGRDIKKzoxMDI4QjAwMDgwRTA1NEY3RjAyMkU1NDlCNDAxMDI4MDAzRDM0MDA5RDcKKzoxMDI4QzAwMDdEMDE3QzAzMTIwRjA5ODAxMUI0MDIwMjgwMDNEMzQwMDIKKzoxMDI4RDAwMDA5N0QwMTdDMDQxMjBGMDk4MDAwMTU0OTMwMDIxNUU1QkQKKzoxMDI4RTAwMDQ5NzVGMDA4QTQyNDQ4RjU4MkU0MzRGRkY1ODNFMDU0RTgKKzoxMDI4RjAwMEY3RjA4MDEzRTU0OTc1RjAwOEE0MjQwOEY1ODJFNDM0NjQKKzoxMDI5MDAwMEZGRjU4M0UwNTRGN0YwN0MwMDEyMzAyNDIyODAwMDAyQUYKKzoxMDI5MTAwMDJDNkFFNTZEMjBFNzA2RTU3MjQ1NzE2MDAzMDIyQzZBQkEKKzoxMDI5MjAwMDkwRkYwMEUwNTQxRkI0MDAwMjgwMDNEMzQwMUFFNTRDMkUKKzoxMDI5MzAwMDE0NDU0QjcwMDRFNTRBNjAwMzAyMjlFRjc4QURFNjQ0ODQKKzoxMDI5NDAwMDAxRjY3QzAwMTIzMDI0MjJCNDAxMDI4MDAzRDM0MDI5MTYKKzoxMDI5NTAwMEU1NkQyMEUxMDhFNTZEMjBFMDAzMDIyOUVGRTU2RDMwMkIKKzoxMDI5NjAwMEUwMDRFNTQ5NzAwQkU1NkQzMEUxMDhFNTQ5MjRGRTUwQ0YKKzoxMDI5NzAwMDAyODA3RjdDMDAxMjMwMjQyMkI0MDIwMjgwMDNEMzQwMDQKKzoxMDI5ODAwMDZGRTU0QzQ1NEI2MDAyODA2OUFDNEExMjMwQUI0MDAyQTcKKzoxMDI5OTAwMDgwNjBFNTZEMjBFMTA3RTU2RDIwRTAwMjgwNTRFNTQ5QTcKKzoxMDI5QTAwMDcwMTQzMDAyMDk5MEZGODBFMDQ0MDhGMDgwMDc5MEZGMjcKKzoxMDI5QjAwMDgyRTA0NDA4RjAyMkU1NkQzMEUxMzMxNTQ5MzAwMjE1MUMKKzoxMDI5QzAwMEU1NDk3NUYwMDhBNDI0NDhGNTgyRTQzNEZGRjU4M0UwNzYKKzoxMDI5RDAwMDQ0MDhGMDgwMTNFNTQ5NzVGMDA4QTQyNDA4RjU4MkU0NjIKKzoxMDI5RTAwMDM0RkZGNTgzRTA0NDA4RjA3QzAwMTIzMDI0MjI4MDAyOUEKKzoxMDI5RjAwMDgwMDAwMjJDNkFFNTZEMjBFNzEyRTU3MjQ1NzE3MDBDQ0IKKzoxMDJBMDAwMEU1NEE3MDA4OTBGRjAwRTA1NDFGNjAwMzAyMkM2QUU1NUQKKzoxMDJBMTAwMDRDOTBGRkZGRjA5MEZGRkZFMDYwMDU0MzZEMDE4MDAzRTUKKzoxMDJBMjAwMDUzNkRGRTdDMDAxMjMwMjQyMkU1NkQzMEU3MEVFNTcyMTYKKzoxMDJBMzAwMDQ1NzE2MDA4OTBGRjAwRTA1NDFGNjAwMzAyMkM2QUFERUUKKzoxMDJBNDAwMDRCRTU0Q0VEN0QwMEZDN0QwMEZDQkQwMDAyODAwMzAyRTcKKzoxMDJBNTAwMDJCODhCNDAxMDI4MDAzRDM0MDMyRTU0QTcwMDVFNTRDNkYKKzoxMDJBNjAwMEZDNjAwMzAyMkI4QTc1NkE0MDc1NjlGODc1NjgwMUQzQUEKKzoxMDJBNzAwMEU1NzI5NDEyRTU3MTk0MDA0MDA2RTRGRDdDMTI4MDA0MzYKKzoxMDJBODAwMEFDNzJBRDcxOEM3MDhENkYxMjMwMzkyMkI0MDIwMjgwM0QKKzoxMDJBOTAwMDAzRDM0MDU5RTU0QTYwMDMwMjJCOEFFNTRDRkM3MDI3QkEKKzoxMDJBQTAwMDc1NkE1Mjc1NjlGODc1NjgwMUQzRTU3Mjk0MTlFNTcxMTQKKzoxMDJBQjAwMDk0MDA0MDA2RTRGRDdDMTk4MDA0QUM3MkFENzE4QzcwMEEKKzoxMDJBQzAwMDhENkYxMjMwMzk4MDI1NzU2QTZCNzU2OUY4NzU2ODAxRUMKKzoxMDJBRDAwMEQzRTU3Mjk0MjdFNTcxOTQwMDQwMDZFNEZEN0MyNzgwREQKKzoxMDJBRTAwMDA0QUM3MkFENzE4QzcwOEQ2RjEyMzAzOTIyQjQwMzAyNTgKKzoxMDJBRjAwMDgwMDZEMzUwMDMwMjJCODhFNTRDRjU0OTcwMEY5MEZGRjgKKzoxMDJCMDAwMDA0RTBGREEzRTA0RDYwMDMwMjJCOEE4MDE4OTBGQjAyRDUKKzoxMDJCMTAwMEUwRkRBM0UwRkM5MEZGMDVFMDZDNzAwNzkwRkYwNEUwOEYKKzoxMDJCMjAwMDZENjAwMjgwNjhFNEY1NzBGNTZGN0YwMEU1NDkxNEM1QkIKKzoxMDJCMzAwMDQ5NjAwRkVGMjQwMEY1ODJFNDM0RkJGNTgzRTAyRkZGQkEKKzoxMDJCNDAwMDgwRUE4RjRBRTU0QTI0MDBGNTgyRTQzNEZCRjU4M0UwMEQKKzoxMDJCNTAwMDdEMDBEMzk1NzJFRDk1NzE0MDA2QUM3MkFENzE4MDBGMUEKKzoxMDJCNjAwMEU1NEEyNDAwRjU4MkU0MzRGQkY1ODNFMDdEMDBGQzhDMkIKKzoxMDJCNzAwMDcwOEQ2RkU1NEEyNDAwRkNFNDM0RkJGREZFRUNGRDdGMjQKKzoxMDJCODAwMDAxOEQ2QThFNjk4RjY4MTIzMDM5MjI4MDAwMDIyQzZBQUEKKzoxMDJCOTAwMDAyMkM2QUU1NkQzMEU3MTlFNTcyMTQ0NTcxNzAxMkU1OTMKKzoxMDJCQTAwMDRBNzAwRUU1NEM0NTRCNzAwODkwRkYwMEUwNTQxRjYwRTIKKzoxMDJCQjAwMDAzMDIyQzZBRTU2RDIwRTAwOEU1NkQyMEUxMDMwMjJDOUMKKzoxMDJCQzAwMDZBNzU2QTZFRTRGNTY5RjU2OEU0RjU2RjA0RjU3MDEyRUMKKzoxMDJCRDAwMDMwMzkyMkU1NkQyMEU3MTJFNTcyNDU3MTcwMENFNTRBNDcKKzoxMDJCRTAwMDcwMDg5MEZGMDBFMDU0MUY2MDAzMDIyQzZBRTU2RDIwMUUKKzoxMDJCRjAwMEUwMDdFNTZEMjBFMTAyODA3NDg1NEM2RUU1NkU3MDA4OUIKKzoxMDJDMDAwMDQzNkQwMTUzNkRGRDgwMDY1MzZERkU0MzZEMDI3QzAwRTQKKzoxMDJDMTAwMDEyMzAyNDIyRTU2RDMwRTcxQUU1NzIxNDQ1NzE3MDEzMDUKKzoxMDJDMjAwMEU1NEE3MDBGRTU0QzQ1NEI3MDA5OTBGRjAwRTA1NDFGREEKKzoxMDJDMzAwMDE0NjAwMjgwMzhFNTZEMjBFMTAyODAzMTdDMDExMjMwQTEKKzoxMDJDNDAwMDI0MjJFNTZEMjBFNzE1RTU3MjQ1NzE3MDBGRTU0QzQ1Q0UKKzoxMDJDNTAwMDRCNzAwOTkwRkYwMEUwNTQxRjE0NjAwMjgwMEZFNTZENzcKKzoxMDJDNjAwMDIwRTEwMjgwMDg3QzAwMTIzMDI0MjI4MDAwMDIyRjJCRjkKKzoxMDJDNzAwMEI0NDAwMjgwMDZEMzUwMDMwMjJGMjE5MEZGMDFFMDkwNjAKKzoxMDJDODAwMEZDMzVGMEU1NEE5MEZDMzZGMEU0OTBGQzM3RjBFNTZBNUMKKzoxMDJDOTAwMDI0MDNGNTZBRTU2OTM0MDBGNTY5QUQ0QkU1NEM4NTZBQjYKKzoxMDJDQTAwMDgyODU2OTgzQ0RGMEEzQ0RGMDkwRkYwMUUwMTIwMUI3REEKKzoxMDJDQjAwMDJDRDgwMTJDRkUwMjJEMjgwMzJENTIwNDJEQTAwNTJEMDkKKzoxMDJDQzAwMEREMDYyRTAzMDcyRTI5MDgyRTU1MDkyRTdCMEIyRUExN0IKKzoxMDJDRDAwMDBDMkVCMDgwMkVCMDgxMDAwMDJGMEVFNTZEMjBFNzA2OEYKKzoxMDJDRTAwMDdDMDUxMjI1QkYyMjdEMjQ3RTM1N0YwMjc5Mzg3QUZDNEYKKzoxMDJDRjAwMDdCMDE3NDA4NzgwMDEyMDMzRjdEMDg3QzAwMTIyNTI2QjIKKzoxMDJEMDAwMDIyRTU2RDIwRTcwNjdDMDUxMjI1QkYyMkU1NEFCNDAzQzMKKzoxMDJEMTAwMDAwNDAxMEI0MDUwMDUwMEJFNTRBN0YwMEZFN0MxMDEyMDUKKzoxMDJEMjAwMDMxRkIyMjdEMDA3QzA3MTIyNTI2MjJFNTZEMjBFNzA2NzcKKzoxMDJEMzAwMDdDMDUxMjI1QkYyMkU1NEFCNDAzMDA0MDEwQjQwNTAwMEIKKzoxMDJENDAwMDUwMEJFNTRBN0YwMEZFN0MxMTEyMzFGQjIyN0QwMDdDOTYKKzoxMDJENTAwMDA3MTIyNTI2MjJFNTZEMjBFNzA2N0MwNTEyMjVCRjIyRjUKKzoxMDJENjAwMEU1NEFCNDA1MDI4MDAzRDM0MDBBRTRGRjA0RkU3QzBBNkUKKzoxMDJENzAwMDEyMzFGQjIyQjQwMTAyODAwM0QzNDAwQUU0RkYwNEZFQjcKKzoxMDJEODAwMDdDMDgxMjMxRkIyMkI0MDMwMDQwMTBCNDA1MDA1MDBCNDQKKzoxMDJEOTAwMEU1NEE3RjAwRkU3QzEzMTIzMUZCMjI3RDAwN0MwNzEyODYKKzoxMDJEQTAwMDI1MjYyMkU1NkQyMEU3MzREM0U1NzI5NDQ4RTU3MTk0MzkKKzoxMDJEQjAwMDAwNTAwNkU1NzI0NTcxNzAwNjdDMDIxMjI1QkYyMkU1QkYKKzoxMDJEQzAwMDRBQjQwMTAzQjM0MDBCQzNCNDAzMDA0MDA5QjQwNjAwODYKKzoxMDJERDAwMDUwMDQxMjMwRDEyMjdDMDcxMjI1QkYyMjEyMjU1RDIyMTkKKzoxMDJERTAwMEU1NkQyMEU3MURFNTRBQjQwMzAwNDAxMEI0MDUwMDUwMkUKKzoxMDJERjAwMDBCRTU0QTdGMDBGRTdDMTYxMjMxRkIyMjdDMDcxMjI1NzAKKzoxMDJFMDAwMEJGMjIxMjI1NUQyMkU1NkQyMEU3MURFNTRBQjQwMzAwQ0YKKzoxMDJFMTAwMDQwMTBCNDA1MDA1MDBCRTU0QTdGMDBGRTdDMTkxMjMxQ0EKKzoxMDJFMjAwMEZCMjI3QzA3MTIyNUJGMjIxMjI1NUQyMkU1NkQyMEU3REIKKzoxMDJFMzAwMDIzNzQ4MTkwRkY5M0YwRTU0QUI0MDMwMDQwMTBCNDA1NzkKKzoxMDJFNDAwMDAwNTAwQkU1NEE3RjAwRkU3QzE3MTIzMUZCMjI3QzA3MDUKKzoxMDJFNTAwMDEyMjVCRjIyMTIyNTVEMjJFNTZEMjBFNzFERTU0QUI0NEIKKzoxMDJFNjAwMDAzMDA0MDEwQjQwNTAwNTAwQkU1NEE3RjAwRkU3QzE4QkIKKzoxMDJFNzAwMDEyMzFGQjIyN0MwNzEyMjVCRjIyMTIyNTVEMjJFNTZENEYKKzoxMDJFODAwMDIwRTcxREU1NEFCNDAzMDA0MDEwQjQwNTAwNTAwQkU1RUYKKzoxMDJFOTAwMDRBN0YwMEZFN0MxNTEyMzFGQjIyN0MwNzEyMjVCRjIyREYKKzoxMDJFQTAwMDEyMjU1RDIyRTU2RDIwRTcwNjdDMDcxMjI1QkYyMjEyNjAKKzoxMDJFQjAwMDI1NUQyMkU1NkQzMEU3MjA5MEZGMDBFMDU0MUY3MDEwODMKKzoxMDJFQzAwMDkwRkYwMUUwQjQ4MDA1MTIyNTU0ODAwMzEyMjU1RDIyOTUKKzoxMDJFRDAwMDdEMDA3QzA1MTIyNTI2MjI5MEZGMDBFMDU0MUY2MDA2MkQKKzoxMDJFRTAwMDdDMDUxMjI1QkYyMkQzRTU3Mjk0NDhFNTcxOTQwMDUwMDkKKzoxMDJFRjAwMDBCQzNFNTcyOTQwN0U1NzE5NDAwNTAwNjdDMDMxMjI1MUMKKzoxMDJGMDAwMEJGMjJFNTRBQjQwNTA0MTIzMEQxMjI3QzA3MTIyNUJGNDYKKzoxMDJGMTAwMDIyRTU2RDMwRTcwODdEMDA3QzA1MTIyNTI2MjI3QzA1MjAKKzoxMDJGMjAwMDEyMjVCRjIyQjQyMDAyODAwM0QzNDAwMDgwMDAxMjJGNUMKKzoxMDJGMzAwMEZGMjI3NTQzMDA5MEZGODNFMDU0MEZEMzk1NDM0MDI0NTQKKzoxMDJGNDAwMEU1NDMyNEYwRjU4MkU0MzRGRUY1ODNFMEFENkFBRTY5MzIKKzoxMDJGNTAwMEFGNjgxMjAzMEYwNTQzMERFRDcwMDEwRThENkE4RTY5ODcKKzoxMDJGNjAwMDhGNjg4MEQxRTU0MzdEMDBGQ0MzRTU3MDlDRjU3MEU1N0EKKzoxMDJGNzAwMDZGOURGNTZGRTU3MDQ1NkY2MDA2RTQ5MEZGODNGMDIyNkEKKzoxMDJGODAwMDkwRkY4MkUwNDQwOEYwRTRGNTZGNzU3MDQ5OTBGQzM1REQKKzoxMDJGOTAwMEUwQjQwNTAyODAwM0QzNDA0MDkwRkMzNkUwRjU0M0I0MzIKKzoxMDJGQTAwMDA1MDI4MDAzRDM0MDBBRTRGRjA0RkU3QzBCMTIzMUZCRDAKKzoxMDJGQjAwMDIyQjQwMTAyODAwM0QzNDAwQUU0RkYwNEZFN0MwOTEyMUMKKzoxMDJGQzAwMDMxRkIyMkI0MDMwMDQwMTBCNDA1MDA1MDBCRTU0MzdGRjEKKzoxMDJGRDAwMDAwRkU3QzE0MTIzMUZCMjIyMkI0ODAwMDQwMjNCNDgyMTQKKzoxMDJGRTAwMDAwNTAxRTdDMzU3REZDMTIxNzdFN0QwMDhDNkM4RDZCMzUKKzoxMDJGRjAwMDkwRkMzN0UwNjAwNTEyMkZGRjgwMDU3QzAwMTIzMDI0MjIKKzoxMDMwMDAwMDIyMjI5MEZGODNFMDU0N0ZGMDkwRkY4MkUwNDQwOEYwOUEKKzoxMDMwMTAwMDkwRkY4MEUwNDQwOEYwMjI5MEZGODJFMDQ0MDhGMDkwQTYKKzoxMDMwMjAwMEZGODBFMDQ0MDhGMDIyOEMyMzdEMDA4QzcwOEQ2Rjc1NEEKKzoxMDMwMzAwMDZBMzU3NTY5RkM3NTY4MDExMjMwMzkyMjkwRkY4M0UwQUEKKzoxMDMwNDAwMDU0N0ZGMEU1NzA2NDQ5NDU2RjcwMDEyMkMzRTU3MDk0QzgKKzoxMDMwNTAwMDA4RTU2Rjk0MDA0MDE1NzUyMTA4RTUyMTdEMDBGQ0MzNEIKKzoxMDMwNjAwMEU1NzA5Q0Y1NzBFNTZGOURGNTZGODAwOTg1NzAyMUU0MzIKKzoxMDMwNzAwMEY1NkY3NTcwNDk3NTIyMDBFNTIyQzM5NTIxNTAyNkFEODQKKzoxMDMwODAwMDZBQUU2OUFGNjgxMjAxRTZGQ0U1MjIyNEY4RjU4MkU0MzUKKzoxMDMwOTAwMDM0RkVGNTgzRUNGMDA1MjIwREVENzAwMTBFOEQ2QThFODUKKzoxMDMwQTAwMDY5OEY2ODgwRDNFNTIxNTQ3RjkwRkY4MUYwMjI4QzQ4OUUKKzoxMDMwQjAwMDdGMDBFRjI0RkQ0MDE5RTRFRjc1RjAwN0E0MjQ3RkY1QUQKKzoxMDMwQzAwMDgyRTQzNEY4RjU4M0UwNjU0ODcwMDJEMzIyMEY4MEUyOTEKKzoxMDMwRDAwMDhGNDdDMzIyODU3MjcwODU3MTZGOTBGRjgyRTA1NEY3MkQKKzoxMDMwRTAwMEYwOTBGRjgzRTA1NDdGRjAyMkMwMDBDMDAxQzAwMkMwMTYKKzoxMDMwRjAwMDA2QzAwN0U1NzgyNDA4Rjg4NjA2NTMwNjdGN0NGRjEyOTEKKzoxMDMxMDAwMDMxNUI3QzAwN0QwMEU1N0I2MDQ2RkY5MEZEOTVFMDU0REYKKzoxMDMxMTAwMDdGNkU3MDBGQzA4M0MwODJBM0UwRkRBM0UwRkNBMzE1MDcKKzoxMDMxMjAwMDdCODAwN0EzQTNBM0RGRTY4MDI2REYwNkQwODJEMDgzQkYKKzoxMDMxMzAwMDgwMUVFMEY4QTNFMEY5QTNFMEZBRDA4MkQwODNFOEYwQTMKKzoxMDMxNDAwMEEzRTlGMEEzRUFGMEEzQzA4M0MwODJBM0EzQTM4MERBMUIKKzoxMDMxNTAwMDEyMzFGNEQwMDdEMDA2RDAwMkQwMDFEMDAwMjI4NUE4QzkKKzoxMDMxNjAwMDdBNzVBODg4RUM3MDAyN0MzRjhDNzkyMkU1NzgyNDA4NzcKKzoxMDMxNzAwMEY4NzYwMDEyMzI0ODgwRkJDMDAwQzAwMUMwMDJDMDA2RDEKKzoxMDMxODAwMEMwMDdBRTA0N0NGRjEyMzE1QkU1N0I2MDQyRkY5MEZEMUYKKzoxMDMxOTAwMDk1RTA1NDdGNkU3MDBCQzA4M0MwODJBM0EzQTMxNTdCMDAKKzoxMDMxQTAwMDgwMDdBM0EzQTNERkVBODAyNkRGMDZEMDgyRDA4MzgwMzYKKzoxMDMxQjAwMEQ4RTBGOEEzRTBGOUEzRTBGQUQwODJEMDgzRThGMEEzNDYKKzoxMDMxQzAwMEU5RjBBM0VBRjBBM0MwODNDMDgyQTNBM0EzODBEQTc4QzYKKzoxMDMxRDAwMDA4MDg3OTE4MDk3QzAxRTY1NDdGNkU3MDA2NzYwMDc3M0UKKzoxMDMxRTAwMDAwODAwNjA4MDkwQ0JDMDhFRTEyMzFGNEQwMDdEMDA2QTYKKzoxMDMxRjAwMEQwMDJEMDAxRDAwMDIyNzU3OTAwODU3QUE4MjJDMEYwRDMKKzoxMDMyMDAwMEMwODJDMDgzQzNFNTdCMjRFODUwMDUxMjMyNDg4MEY0QjUKKzoxMDMyMTAwMEVDNjAzMTkwMzUyM0U0OTNDMzlDNDAyOEMwMDQ3Q0ZGQ0MKKzoxMDMyMjAwMDEyMzE1QkQwMDQ0MzA0ODBFNTdCNzVGMDAzQTQyNDk1NDAKKzoxMDMyMzAwMEY1ODJFNDM0RkRGNTgzRUNGMEVGQTNGMEVFQTNGMDA1QTYKKzoxMDMyNDAwMDdCMTIzMUY0RDA4M0QwODJEMEYwMjJDMDA0N0MyMEQyMTMKKzoxMDMyNTAwMDhDRDI4REQ1MDRGREQwMDQyMjc1QTgwMDc1ODgwMDc1MjgKKzoxMDMyNjAwMEI4MDA3NUYwMDA3NUQwMDBFNEY4OTAwMDAwRjYwOEI4REEKKzoxMDMyNzAwMDAwRkIwMjAwMDBDM0VEOTQwMjUwMDQ3RDAzN0NFOEVDRTcKKzoxMDMyODAwMEY0RkNFREY0RkQwQ0JDMDAwMTBEOEM3RjhEN0UyMkMzOUYKKzoxMDMyOTAwMEVDOTRCQ0VEOTQwMjUwMDQ3RDA3N0NEMEVDRjRGQ0VEODIKKzoxMDMyQTAwMEY0RkQwQ0JDMDAwMTBEOEM3RDhEN0MyMkVDNzAwMTIyQTQKKzoxMDMyQjAwMEMwMDBFNTc4MjQxOEY4QTYwNEU1NzgyNDA4RjhDNjU0NzgKKzoxMDMyQzAwMDdGRjZFNjMwRTcwM0QwMDAyMjEyMzI0ODgwRjRDMjhDNDkKKzoxMDMyRDAwMDg1N0M4Qzg1N0Q4QUQyOENDMEUwQzBEMEMwRjBDMDgyNTUKKzoxMDMyRTAwMEMwODNDMDAwQzAwMUMwMDJDMDAzQzAwNEMwMDVDMDA2NDYKKzoxMDMyRjAwMEMwMDcxMjFBRDFFNTc4MjQwOEY4RTY2MDI0RTU3ODI0OUUKKzoxMDMzMDAwMDEwRjhBNjgxRTU3ODc1RjAyMUE0MjQ4REY1ODJFNDM0QzcKKzoxMDMzMTAwMEZDRjU4Mzc4QUVFNTgxMDRDMzk4RjlFNkYwMDhBM0Q5RkIKKzoxMDMzMjAwMEZBNzQwODI1NzhGODA1NzgwOEU2NTQ4MDcwMENFNTc4N0EKKzoxMDMzMzAwMEI0MDdGMzc4MDg3NTc4MDA4MEVGRTU3ODI0MTBGODg2RjQKKzoxMDMzNDAwMDgxRTU3ODc1RjAyMUE0MjQ4REY1ODJFNDM0RkNGNTgzQzEKKzoxMDMzNTAwMDc4QUVFNTgxMDRDMzk4RjlFMEY2MDhBM0Q5RkFEMDA3NUUKKzoxMDMzNjAwMEQwMDZEMDA1RDAwNEQwMDNEMDAyRDAwMUQwMDBEMDgzNDUKKzoxMDMzNzAwMEQwODJEMEYwRDBEMEQwRTAzMkMwRTBDMEQwQzAwMEMwMDkKKzoxMDMzODAwMDAxQzAwMkMyOEU4NTdFOEQ4NTdGOEJEMjhFNzgxOTc5QTEKKzoxMDMzOTAwMDA5N0EwN0U3NzAwNEE2MDA4MDBCRTY2MDA4MTZFNjcwNUQKKzoxMDMzQTAwMDA0RTc0NDgwRjcwODA5REFFQUU1Nzk2MDEzMTRGNTc5NEYKKzoxMDMzQjAwMDcwMEVFNTc4MjQwOEY4NzYwMDEyMzFGNEQyOENEMjhEQTQKKzoxMDMzQzAwMEQwMDJEMDAxRDAwMEQwRDBEMEUwMzI3NTgxQUQ3NDJBQzcKKzoxMDMzRDAwMDkwRkY5M0YwNzU3RjMwNzU3RUY4NzU3RDYwNzU3Q0YwOTkKKzoxMDMzRTAwMDEyMDUzNjEyMzQ3QzEyMTczNDkwRkY5M0UwNDQwMUYwM0EKKzoxMDMzRjAwMEIyQjMxMjM0QTYxMjMyNTY4MERBMjJDMDAwN0MwMUVDM0QKKzoxMDM0MDAwMDI0MDhGOEU2NjAwOTBDQkMwOEY1MTIzMjQ4ODBFRUQwQkEKKzoxMDM0MTAwMDAwMjJDMEYwQzA4MkMwODNDMDAwQzAwNkMwMDdFRDI0RjcKKzoxMDM0MjAwMDEwRjg3NkJDRUQ3NUYwMjFBNDI0OERGNTgyRTQzNEZDMEYKKzoxMDM0MzAwMEY1ODNDMDgyQzA4M0EzQTNFNDc4MERGMEEzRDhGQ0VDOEQKKzoxMDM0NDAwMDU0N0Y3NUYwMDJBNDI0RUZGNTgyRTVGMDM0MzRGNTgzNUYKKzoxMDM0NTAwMEU0OTNGRTc0MDE5M0Y1ODI4RTgzRTQ5M0ZFNzQwMTkzRUEKKzoxMDM0NjAwMEZGRDA4M0QwODJFRkYwQTNFRUYwRUQyNDA4RjhFQzQ0MTcKKzoxMDM0NzAwMDgwRjZEMDA3RDAwNkQwMDBEMDgzRDA4MkQwRjAyMjc1NUQKKzoxMDM0ODAwMDc4MDA3NTdCMDA3QTA4NzkxODc4MDg3NjAwNzcwMDA4NEMKKzoxMDM0OTAwMDA5REFGOEU0NzgwODc0ODA0NDdGRjY3NDAxNDQxMEY1ODIKKzoxMDM0QTAwMDg5NzVCODA4RDJBQkQyQTkyMjc1ODFBREQyOEVEMjhDRTMKKzoxMDM0QjAwMEQyQUZFNTdCNjAzMkZGOTBGRDk1RTA1NDgwNjAyNDc4QzgKKzoxMDM0QzAwMDA4NzkwOEUwNTQ3RkZBN0IwMEU2NTQ3RkI1MDIwMjdCNUUKKzoxMDM0RDAwMEZGMDhEOUY1RUI3MDBDRUFGMDEyMzNGOEFEMDRBQzAyM0EKKzoxMDM0RTAwMDEyMzQwRkEzQTNBM0RGRDIxMjMyNDg4MEM1N0MwMTdEMjIKKzoxMDM0RjAwMDAwMjIwNEY1MDRFOTA0RUQwNEUxMDRERDA0RDkwNEU1NDcKKzoxMDM1MDAwMDA0RjEwNDlEMDRBMTA0Q0QwNEQxMDQ5OTA0OTkwNDk5MDMKKzoxMDM1MTAwMDA0RDUwNEI1MDRBRDA0QjEwNEE5MDRDMTA0QkQwNEI5QzMKKzoxMDM1MjAwMDA0QzUwNEM5MDRBNTE5MDEwMzAwMjIwMDQ4MDIwMDQ4OEIKKzoxMDM1MzAwMDBFMzAxNDIwQzgxQUQwMTgwQTBDMDUwNjAyMDMwMTAyMjYKKzoxMDM1NDAwMDAwMDFDRTAxODEwMTAwMDBDMDAwODAwMDYwMDAzMDAwNTkKKzoxMDM1NTAwMDE4MDAxMDAwMDgwMDA0MDAwMjAwMDEwMDA4MTgzODI4QjQKKzoxMDM1NjAwMDBDMDUxMDBBMDIwMDAwMDAwMDAwMDMwMTEwMEEwMjAwMEUKKzoxMDM1NzAwMDAwMDAwMDAwRkJFMEZCRjIwOTAyMjcwMDAxMDIwMEEwQUUKKzoxMDM1ODAwMDMyMDkwNDAwMDAwM0ZGMDAwMDAwMDcwNTgxMDI0MDAwMkIKKzoxMDM1OTAwMDAwMDcwNTAxMDI0MDAwMDAwNzA1ODMwMzAyMDAwMTIyMjUKKzoxMDM1QTAwMDAzNTQwMDU1MDA1MzAwNDIwMDMzMDAzNDAwMzEwMDMwMTIKKzoxMDM1QjAwMDAwMjAwMDIwMDAyMDAwMjAwMDIwMDAyMDAwMjAwMDIwMEIKKzowNTM1QzAwMDAwMDAwMDAwMDAwNgorOjAwMDAwMDAxRkYKZGlmZiAtLWdpdCBhL2Zpcm13YXJlL3RpXzUwNTIuZncuaWhleCBiL2Zpcm13YXJlL3RpXzUwNTIuZncuaWhleApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNTI5ZTA3Ci0tLSAvZGV2L251bGwKKysrIGIvZmlybXdhcmUvdGlfNTA1Mi5mdy5paGV4CkBAIC0wLDAgKzEsODYyIEBACis6MTAwMDAwMDBDMTM1MDAwMjAwMUUwMjFCMzJGRkZGRkZGRkZGMDIzMjVDCis6MTAwMDEwMDA2QUZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGMDIzMzRFCis6MTAwMDIwMDAxNTc1ODFDODkwRkVGMDg1ODNBMDEyMzQ3REVDNEQ2MDdCCis6MTAwMDMwMDA2QTc4QTU4MDAzNzYwMDE4Qjg5NkZBNzg3OTgwMDM3NkY2Cis6MTAwMDQwMDAwMDE4Qjg1RkZBNzgyMDgwMDM3NjAwMThCODIwRkE5MDdDCis6MTAwMDUwMDBGRUU1QUU4M0FGODI5MEZEMDAxMjAwQTE2MDA1RTRGMEUyCis6MTAwMDYwMDBBMzgwRjY5MEZFRjBBODgyOTBGRUYwQTk4MkU4QzM5OUUyCis6MTAwMDcwMDA1MDA1NzYwMDA4ODBGNjkwMDBGRjEyMDBBQTkwMDEwMzU4Cis6MTAwMDgwMDAxMjAwQUE5MDAxMDcxMjAwQUE5MDAxMEIxMjAwQzg5MDVBCis6MTAwMDkwMDAwMTExMTIwMEM4OTAwMTE3MTIwMEM4NzVEMDAwMTIzMzY4Cis6MTAwMEEwMDA2NzAyMDExREVGNjU4MjcwMDNFRTY1ODMyMkU0OTNGODE5Cis6MTAwMEIwMDA3NDAxOTNGOTc0MDI5M0ZFNzQwMzkzRjU4MjhFODNFOEJFCis6MTAwMEMwMDA2OTcwMDEyMkU0OTNGNkEzMDg4MEY0RTQ5M0ZDNzQwMUMwCis6MTAwMEQwMDA5M0ZENzQwMjkzRkU3NDAzOTNGRjc0MDQ5M0Y4NzQwNTA0Cis6MTAwMEUwMDA5M0Y1ODI4ODgzMTIwMEExNzAwMTIyRTQ5M0EzQTg4MzcwCis6MTAwMEYwMDBBOTgyOEM4MzhEODJGMEEzQUM4M0FEODI4ODgzODk4MkIwCis6MTAwMTAwMDA4MEUzMjEyMTA0OTI3QTdBMDQ5MkE2QTgwNDkyRkVGMDU4Cis6MTAwMTEwMDAwNDk0MDQ5NEZCRkIwNDk5MDQ5NEZCRkIwNEY5MDRGOTk0Cis6MTAwMTIwMDA4MEZFRDBGMDMwRjAwOTIwRjMwM0Y2ODAxMEY3ODAwRDQ4Cis6MTAwMTMwMDAzMEYxMDkyMEYzMDNGMjgwMDRGMzgwMDFGMDIwRjQwNDhECis6MTAwMTQwMDBGQ0QwRTBDQzIyQ0NDMEUwMTIwMTVBMDIwMTRCQkMwMDMyCis6MTAwMTUwMDAwNUQwRjBBQ0YwMjJDMzEzRENGQzAyMDEyMUJGMDAwOTgyCis6MTAwMTYwMDBFRDI1ODI3NUYwMDFGOEU2MjJCRjAxMEZFRDI1ODJGNTNECis6MTAwMTcwMDA4MkVFMzU4M0Y1ODM3NUYwMDRFMDIyRUQyNTgyNzVGMDdCCis6MTAwMTgwMDAwMkY4RTIyMkQwODNEMDgyRjVGMEMzRTQ5M0EzQzVGMDU1Cis6MTAwMTkwMDA5NUYwQzBFMEMzRDBGMEU0OTNBMzk1RjA0MDEyQTNBMzgwCis6MTAwMUEwMDBDM0U1RjAzMzUwMDIwNTgzMjU4MkY1ODI1MDAyMDU4M0IyCis6MTAwMUIwMDA3NDAxOTNDMEUwRTQ5M0MwRTAyMkQwODNEMDgyRjVGMEQ0Cis6MTAwMUMwMDBFNDkzNzAwOTc0MDE5MzcwMDRBM0EzODAwQzc0MDI5M0U4Cis6MTAwMUQwMDA2NUYwNjAwNUEzQTNBMzgwRTc3NDAxOTNDMEUwRTQ5M0Y2Cis6MTAwMUUwMDBDMEUwMjIxMjAyNUIwMjAxRjIxMjAyQUYwMjAxRjIxMjFGCis6MTAwMUYwMDAwMkQzMDIwMUYyMzBFMDA3MjBFMzAyRTYyMkU3MjIzMEQ4Cis6MTAwMjAwMDBFMTA3MjBFMzAyRTIyMkUzMjIzMEUyMDJFMDIyRTQ5MzZCCis6MTAwMjEwMDAyMjEyMDJEMzAyMDIxQTEyMDJBRjAyMDIxQUFCRjAxMjI5Cis6MTAwMjIwMDAwMjI0Q0JDNUYwQ0IyMjMwRTAxMDIwRTMwNkU2RjVGMDQ3Cis6MTAwMjMwMDAwOEU2MjJFN0Y1RjAwOUU3MTkyMjMwRTExMDIwRTMwNjhECis6MTAwMjQwMDBFMkY1RjAwOEUyMjJFM0Y1RjAwOUUzMTkyMjMwRTIwNkQ0Cis6MTAwMjUwMDBFMEY1RjBBM0UwMjJFNDkzRjVGMDc0MDE5MzIyQkIwMEYzCis6MTAwMjYwMDAwMzc0MDkyMkJCMDEwNzg5ODI4QTgzNzQwNDIyQkIwMkJBCis6MTAwMjcwMDAwNzg5ODI4QTgzNzQxMDIyNzQwQTIyMDIwMjdCQkIwMERGCis6MTAwMjgwMDAwN0U5MjU4MkY4NzQwMTIyQkIwMTBERTkyNTgyRjU4Mjc4Cis6MTAwMjkwMDBFQTM1ODNGNTgzNzQwNDIyQkIwMjBERTkyNTgyRjU4MkQ5Cis6MTAwMkEwMDBFQTM1ODNGNTgzNzQxMDIyRTkyNTgyRjg3NDAyMjIwMjZDCis6MTAwMkIwMDAwMkFGQkYwMDA1RURGODc0MDEyMkJGMDEwNzhEODI4RUU5Cis6MTAwMkMwMDA4Mzc0MDQyMkJGMDIwNzhEODI4RTgzNzQxMDIyRURGODlFCis6MTAwMkQwMDA3NDAyMjIwMjAyRDNCRjAwMDdFRDI1ODJGODc0MDEyMkM2Cis6MTAwMkUwMDBCRjAxMERFRDI1ODJGNTgyRUUzNTgzRjU4Mzc0MDQyMjdFCis6MTAwMkYwMDBCRjAyMERFRDI1ODJGNTgyRUUzNTgzRjU4Mzc0MTAyMjYxCis6MTAwMzAwMDBFRDI1ODJGODc0MDIyMjAyMDMwN0MwRTAxMjAyNUIwMkFDCis6MTAwMzEwMDAwMzFGQzBFMDEyMDJBRjAyMDMxRkMwRTAxMjAyRDMwMkFCCis6MTAwMzIwMDAwMzFGMzBFMDBCMjBFMzA0RDBFMEY2MjJEMEUwRjcyMkY4Cis6MTAwMzMwMDAzMEUxMEIyMEUzMDREMEUwRjIyMkQwRTBGMzIyRDBFMDYxCis6MTAwMzQwMDBGMDIyQzlDREM5Q0FDRUNBQ0JDRkNCMTIwMzUyRURGOTI4Cis6MTAwMzUwMDBFRUZBRUZGQjIyQkIwMDJGQkYwMDBBRkFFREY4RTdGNjNBCis6MTAwMzYwMDAwODA5REFGQTIyQkYwMTEyOEQ4MjhFODNGODAyMDM2RjI4Cis6MTAwMzcwMDAwOUEzRTdGMEQ4RkEyMjAyMDM3QUZBRURGOEU3RjIwOEM3Cis6MTAwMzgwMDAwOURBRkEyMjAyMDM4NEJCMDE0REJGMDAxNDg5ODI4QTc0Cis6MTAwMzkwMDA4M0Y5RURGODAyMDM5NjA4QTNFMEY2RDlGQTIyMDIwM0U2Cis6MTAwM0EwMDBBN0JGMDEyMjhEODI4RTgzRkIwOEM5QzU4MkM5Q0FDNTM5Cis6MTAwM0IwMDA4M0NBRTBBM0M5QzU4MkM5Q0FDNTgzQ0FGMEEzREJFQTYwCis6MTAwM0MwMDBEOEU4MjIwMjAzQ0E4RDgyOEU4M0Y5RURGOEUwRjIwOEE0Cis6MTAwM0QwMDBBM0Q5RkEyMjAyMDNENEJCMDI0REJGMDAxMjg5ODI4QTNDCis6MTAwM0UwMDA4M0Y5RURGODAyMDNFNjA4QTNFNDkzRjZEOUY5MjJCRkY2Cis6MTAwM0YwMDAwMTIzOEQ4MjhFODNGQjA4QzlDNTgyQzlDQUM1ODNDQTAxCis6MTAwNDAwMDBFNDkzQTNDOUM1ODJDOUNBQzU4M0NBRjBBM0RCRTlEOEVFCis6MTAwNDEwMDBFNzIyMDIwNDE5ODk4MjhBODNGOUVERjhFNDkzRjIwODRECis6MTAwNDIwMDBBM0Q5RjkyMjAyMDQyQUJGMDAwREZBRURGOEUzRjYwODc5Cis6MTAwNDMwMDAwOURBRkEyMjAyMDQzNEJGMDExMjhEODI4RTgzRjgwMjk3Cis6MTAwNDQwMDAwNDQxMDlBM0UzRjBEOEZBMjIwMjA0NENGQUVERjhFM0UwCis6MTAwNDUwMDBGMjA4MDlEQUZBMjIwMjA0NTZFNkZCMDhFNkZBMDhFNjkwCis6MTAwNDYwMDBGOTA0RjYxODcwMDEwNjIyRTZGRjA4RTZGRTA4RTZGRDJDCis6MTAwNDcwMDAyMkVGRjBBM0VFRjBBM0VERjAyMkVCRjBBM0VBRjBBMzVECis6MTAwNDgwMDBFOUYwMjJFMEZGQTNFMEZFQTNFMEZEMjJFMEZCQTNFMDExCis6MTAwNDkwMDBGQUEzRTBGOTIyMDAwMDAwMDAwMDAwMDAwNEY5MDA1QjZDCis6MTAwNEEwMDAwNTczMDAyNjA1OUEwMDMzMEEwQjAwNUIwQTc3MDA2MDhCCis6MTAwNEIwMDAxNTUyMDA1QjBDRkIwMDVCMDlBQjAwNUIwOUUyMDA1QkMzCis6MTAwNEMwMDAwREMyMDA1QjBCRjMwMDVCMEExRTAwNUIwQTUzMDA1QjZFCis6MTAwNEQwMDAxNzRBMDAzMzE3NjAwMDM0MUU0RDAwNDMxRUYwMDA0NERECis6MTAwNEUwMDAyMDVEMDA0NDIwNEIwMDQ3MUYxNzAwNDcxRkJDMDA0REY0Cis6MTAwNEYwMDAyMDBEMDA0RjFGMzkwMDU4MzFGNTAwNUI3Q0NDN0RGRjhCCis6MTAwNTAwMDAxMjFDRkUyMjc0OTA5MEZGOTFGMDkwRkZGQ0UwMjBFNzE3Cis6MTAwNTEwMDAyREMyQUZBRTU5QUY1ODc1NUEyMEU1NUExNEM1NUE2MDZFCis6MTAwNTIwMDAxOUU0RkU3RjA1RUU0RkNFMjRGRkNFQ0YzNEZGQ0Y2MDFGCis6MTAwNTMwMDAwN0U0OTBGRjkyRjA4MEVEODBFMDhFNTk4RjU4MjIxMkYwCis6MTAwNTQwMDAwNTAxN0QwNzdDQjcxMjMyMTE3RDBGN0M2RTEyMzIyQkI0Cis6MTAwNTUwMDA3ODk3N0EwNkU0RjYwOERBRkM3QTA2MTIwNUNGN0MwMzZGCis6MTAwNTYwMDAxMjBFNTc3QzA0MTIwRTU3MTIyMThCRTRGRUZGN0MwRkYzCis6MTAwNTcwMDAxMjMxOUFEMkE4MjIxMjMwODVFNDkwRkQ0MEYwOTBGRjBCCis6MTAwNTgwMDBGMEUwMzBFNDA4NzQwMTkwRkQ0MUYwODAwNUU0OTBGRDU2Cis6MTAwNTkwMDA0MUYwN0QwQTdDMDAxMjI0QjExMjMxMDgyMjEyMzA4NTBDCis6MTAwNUEwMDA5MEZENDFFMDE0NzAwRTkwRkZGMEUwNDQxMEYwN0MwMEVDCis6MTAwNUIwMDAxMjI1NEE4MDE5OTBGRDQxRTA3MDBFOTBGRkYwRTA1NDQyCis6MTAwNUMwMDBFRkYwN0MwMDEyMjU0QTgwMDU3QzE3MTIyNTRBMTIzMTczCis6MTAwNUQwMDAwODIyOTBGRkYwRTA1NEFCRjA5MEZGRjBFMDQ0MjBGMEYwCis6MTAwNUUwMDAyMjhDMzc4RDM2Nzg3Q0VERjYwOEVDRjZFREZFRUNGRENFCis6MTAwNUYwMDA3RjAxOTAwMDA1MTIwMUVDNzg3QUY2Nzg3Q0U2RkQwODIwCis6MTAwNjAwMDBFNkZDRURGRUVDRkQ3RjAxOTAwMDA0MTIwMUVDNTQwRkJFCis6MTAwNjEwMDBGQzdEN0ExMjE3OUQ3ODdBRTY3MDBEQUQzQUFFMzlBRjRGCis6MTAwNjIwMDAzOEU0MTIwMzBGN0MwODIyOTBGRkYwRTA1NEZFRjA5MEIzCis6MTAwNjMwMDBGRkYwRTA1NEZERjA4MDFFNzg3Q0U2RkQwOEU2RkNFRDVFCis6MTAwNjQwMDBGRUVDRkQ3RjAxOTAwMDA4MTIwMjBFMjVFMDQ0MDE5MEFGCis6MTAwNjUwMDBGRkYzRjAwMjA2REI3ODdDRTZGRDA4RTZGQ0VERkVFQzNECis6MTAwNjYwMDBGRDdGMDE5MDAwMDYxMjAyMEU1NEZFOTBGRkYzRjA4MDExCis6MTAwNjcwMDAyQjc4N0NFNkZEMDhFNkZDRURGRUVDRkQ3RjAxOTAwMEFBCis6MTAwNjgwMDAwODEyMDIwRUZBRUI5MEZGRjFGMDEyMDhDQTQwMERBRDBECis6MTAwNjkwMDAzQUFFMzlBRjM4RTQxMjAzMEY3QzE4MjI3ODdDRTZGREJECis6MTAwNkEwMDAwOEU2RkNFREZFRUNGRDdGMDE5MDAwMDgxMjAyMEU5MEMyCis6MTAwNkIwMDBGRkYxRjAxMjA4Q0E0MDBEQUQzQUFFMzlBRjM4RTQxMjdFCis6MTAwNkMwMDAwMzBGN0MxODIyNzg3Q0U2RkQwOEU2RkNFREZFRUNGRENECis6MTAwNkQwMDA3RjAxOTAwMDA2MTIwMjBFNDQwMTkwRkZGM0YwNzg3RDM2Cis6MTAwNkUwMDBFNjI0MDNGNjE4RTYzNDAwRjY3ODdBRTYyNEZFNTAwOThDCis6MTAwNkYwMDA5MEZGRjBFMDU0RkRGMDgwMDc5MEZGRjBFMDQ0MDJGMDNFCis6MTAwNzAwMDBFNDkwRkZGMUYwNzg3Qjc2MDA3ODdBRTYyNEZGRkNFNDUxCis6MTAwNzEwMDAzNEZGRkQ3ODdCRTY3RjAwRkVFQ0QzOUVFRjY0ODBDRDU2Cis6MTAwNzIwMDA2NDgwOUQ0MDJGMTIwOEFGNDAwRjc4N0JFNkFEM0FBRTUzCis6MTAwNzMwMDAzOUFGMzgxMjAzMEY3QzE4MjI5MEZGRjJFMEZDNzg3QzZFCis6MTAwNzQwMDA4NjgzMDg4NjgyRUNGMDc4N0IwNkEzNzg3Q0E2ODMwOEYzCis6MTAwNzUwMDBBNjgyODBCNTEyMDhBRjQwMEY3ODdCRTZBRDNBQUUzOTdECis6MTAwNzYwMDBBRjM4MTIwMzBGN0MxODIyOTBGRkYyRTBGQzc4N0M4NkYxCis6MTAwNzcwMDA4MzA4ODY4MkVDRjA3ODdBRTZBRDNBQUUzOUFGMzgxMjZCCis6MTAwNzgwMDAwMzBGN0MwMDIyOEMzNzhEMzY3ODdDRURGNjA4RUNGNjcyCis6MTAwNzkwMDBFREZFRUNGRDdGMDE5MDAwMDUxMjAxRUM3ODdCRjY3ODEwCis6MTAwN0EwMDA3Q0U2RkQwOEU2RkNFREZFRUNGRDdGMDE5MDAwMDQxMjA2Cis6MTAwN0IwMDAwMUVDNTQwRkZDN0Q3QjEyMTc5RDc4N0JFNjcwMDM3QzY3Cis6MTAwN0MwMDAwODIyOTBGRkYwRTA1NEZFRjA5MEZGRjBFMDU0RkRGMEJFCis6MTAwN0QwMDA4MDFCNzg3Q0U2RkQwOEU2RkNFREZFRUNGRDdGMDE5MEQ5Cis6MTAwN0UwMDAwMDA4MTIwMjBFMjVFMDkwRkZGM0YwODA1Qjc4N0NFNkIzCis6MTAwN0YwMDBGRDA4RTZGQ0VERkVFQ0ZEN0YwMTkwMDAwNjEyMDIwRTA2Cis6MTAwODAwMDA1NEZFOTBGRkYzRjA4MDIxNzg3Q0U2RkQwOEU2RkNFREQ1Cis6MTAwODEwMDBGRUVDRkQ3RjAxOTAwMDA4MTIwMjBFRkFFQjkwRkZGMTUyCis6MTAwODIwMDBGMDEyMDhDQTQwMDM3QzE4MjI3ODdDRTZGRDA4RTZGQzNBCis6MTAwODMwMDBFREZFRUNGRDdGMDE5MDAwMDgxMjAyMEU5MEZGRjFGMDNBCis6MTAwODQwMDAxMjA4Q0E0MDAzN0MxODIyNzg3REU2MjQwQUY2MThFNkNFCis6MTAwODUwMDAzNDAwRjY3ODdBNzYwMDc4N0JFNjI0RkZGQ0U0MzRGRkY3Cis6MTAwODYwMDBGRDc4N0FFNjdGMDBGRUVDRDM5RUVGNjQ4MENENjQ4MDU1Cis6MTAwODcwMDA5RDQwMjE3ODdDODY4MzA4ODY4MkUwOTBGRkYxRjAxMjBCCis6MTAwODgwMDAwOENBNDAwMzdDMTgyMjc4N0EwNjc4N0QwNkU2MTg3MDNDCis6MTAwODkwMDAwMTA2ODBDMzkwRkZGMEUwNDQwMUYwNzg3Qzg2ODMwODc1Cis6MTAwOEEwMDA4NjgyRTA5MEZGRjFGMDEyMDhDQTQwMDM3QzE4MjI3Qzk3Cis6MTAwOEIwMDAwMDIyOTBGRkYwRTAyMEU3MTI5MEZGRjBFMDMwRTUwOTIxCis6MTAwOEMwMDA5MEZGRjBFMDQ0MjBGMEMzMjI4MEU3RDMyMjkwRkZGMEI1Cis6MTAwOEQwMDBFMDIwRTMxMjkwRkZGMEUwMzBFNTA5OTBGRkYwRTA0NDAzCis6MTAwOEUwMDAyMEYwQzMyMjgwRTdEMzIyOEM0MjhENDE3QzAwRUQ1NDVFCis6MTAwOEYwMDBGMEZERUM3MDAzRUQ2NDMwNzAwNTc1M0UwMzgwMDM3NTA4Cis6MTAwOTAwMDAzRTA0QUMzRTEyMEY3Qzc1ODMwMDg1ODM0MEU1NDE1NDY0Cis6MTAwOTEwMDAwRkY1M0ZFNTQwNzAwNEU1M0Y2NDAzNzAzNUU1M0UyNDg0Cis6MTAwOTIwMDBGRDc1RjAwQUE0MjQwQUY1ODJFNDM0RkRGNTgzRTAzMDc1Cis6MTAwOTMwMDBFNjA1MTIxMDY3ODAxOUU1M0UyNDk3RjhDNjU0RkJGNkM5Cis6MTAwOTQwMDA3OEEzRTYyNDA1RjU4MjE4RTYzNDAwRjU4Mzc0MEZGMEU5Cis6MTAwOTUwMDA4MDU5RTU0MDcwMDRFNTNGNjQwNDcwNDhFNTNFMjRGRDlECis6MTAwOTYwMDA3NUYwMEFBNDI0MEFGNTgyRTQzNEZERjU4M0UwMzBFNTRECis6MTAwOTcwMDAwN0FDNDJBRDQxMTIxQzkzRTU0MjMwRTIxNTc4QTdFNjgwCis6MTAwOTgwMDAzMEUwMEY3OEE3RTYzMEUxMDlFNEZGMDRGRTdDMDQxMkIyCis6MTAwOTkwMDAzMTlBNzhBM0U2MjQwNkY1ODIxOEU2MzQwMEY1ODM3NENDCis6MTAwOUEwMDAwRkYwODAwN0U0RkM3REVFMTIxQzkzQzIwMzIyMTIzMDhDCis6MTAwOUIwMDA4NTEyMEY3Qzc4QTNFNjI0MDZGNTgyMThFNjM0MDBGNTRDCis6MTAwOUMwMDA4M0UwOTBGRDQwRjA3OEEzRTYyNDA1RjU4MjE4RTYzNDM0Cis6MTAwOUQwMDAwMEY1ODNFMDkwRkQ0MUYwQzIwMzdEMDI3QzAwMTIyNDBCCis6MTAwOUUwMDBCMTEyMzEwODIyMTIzMDg1Nzg4RkVDRjZFQzI0OTdGODlBCis6MTAwOUYwMDBFNjMwRTEwNzdDMTMxMjI1NEE4MDBGOTBGRDQxRTBGREFGCis6MTAwQTAwMDA3ODhGRTZGQzEyMTNGRDEyMjU0QTEyMzEwODIyMTIzMEFCCis6MTAwQTEwMDA4NTc4OEZFQ0Y2N0QwMDEyMEYwQjEyMjU0QTEyMzEwOEYzCis6MTAwQTIwMDAyMjEyMzA4NTc4OEZFQ0Y2RUMyNDk3RjhFNjMwRTIwNzU2Cis6MTAwQTMwMDA3QzEzMTIyNTRBODAxQjc4OEZFNjI0OTdGOEU2MjBFMTg0Cis6MTAwQTQwMDAwNzdDMTIxMjI1NEE4MDBBNzg4RkU2RkMxMjE0MjExMkM0Cis6MTAwQTUwMDAyNTRBMTIzMTA4MjIxMjMwODU3ODhGRUNGNkVDMjQ5NzYzCis6MTAwQTYwMDBGOEU2MjBFMjA3N0MxMTEyMjU0QTgwMEE3ODhGRTZGQzFFCis6MTAwQTcwMDAxMjE1MjIxMjI1NEExMjMxMDgyMjEyMzA4NTc4OEZFQzg1Cis6MTAwQTgwMDBGNjEyMEY3Qzc4QTNFNjI0MDlGNTgyMThFNjM0MDBGNTA3Cis6MTAwQTkwMDA4M0UwOTBGRDQ3RjA3OEEzRTYyNDBBRjU4MjE4RTYzNDU3Cis6MTAwQUEwMDAwMEY1ODNFMDkwRkQ0OEYwNzhBM0U2MjQwM0Y1ODIxODcyCis6MTAwQUIwMDBFNjM0MDBGNTgzRTBGQzc4QTNFNjI0MDRGNTgyMThFNjJBCis6MTAwQUMwMDAzNDAwRjU4M0UwRjU1Qzc4QTNFNjI0MDJGNTgyMThFNkFECis6MTAwQUQwMDAzNDAwRjU4M0UwRjU1RDhDNUJFNEVDMzMzMzU0MDE3ODRFCis6MTAwQUUwMDA4RkY2NjAwOEU1NUMzMEUxMDM3ODhGMDY3ODhGRTY5MDNBCis6MTAwQUYwMDBGRDQ5RjA3OEExRTYyNDAyRjU4MjE4RTYzNDAwRjU4MzdBCis6MTAwQjAwMDBFMEZEQTNFMDU0MENGQ0VENTRFNjhDNUZGNTVFRTU1Qjg0Cis6MTAwQjEwMDAzMEU1MDM0MzVGMDFFNTVDMjBFNTBFRTU1QjU0N0Y3MDQzCis6MTAwQjIwMDAwOEU1NUIyMEU3MDM0MzVGMDJFNTVCMzBFMzAzNDM1RkQ3Cis6MTAwQjMwMDAxMEU1NUIzMEUyMDM0MzVGMjBFNTVCNTQwMzYwMDM0MzUxCis6MTAwQjQwMDA1RjQwRTU1QjMwRTEwMzQzNUY4MEU1NUIzMEU0MDM0M0Y2Cis6MTAwQjUwMDA1RTAxRTU1QjMwRTYwMzQzNUUwOEU1NUMyMEU0MEVFNUZDCis6MTAwQjYwMDA1QjU0N0Y3MDA4RTU1QjIwRTcwMzQzNUUxMDUzNUZGQjM3Cis6MTAwQjcwMDA1MzVFRjlBRDVFRTU1RjkwRkQ0MkNERjBBM0NERjBFNUFCCis6MTAwQjgwMDA1RDMwRTMwREU1NUQ1NDMwQzQ1NDBGOTBGRDQ1RjA4MEI5Cis6MTAwQjkwMDAwNUU0OTBGRDQ1RjBFNTVENTQwMzkwRkQ0NEYwRTU1RDBFCis6MTAwQkEwMDA1NDA0QzMxMzkwRkQ0NkYwOTBGRDQ0RTA3MDBFN0QzRDZCCis6MTAwQkIwMDA3RUZEN0YwMTc0MDE5MDAwMDkxMjAxNDI3OEEzRTYyNEIyCis6MTAwQkMwMDAwOEY1ODIxOEU2MzQwMEY1ODNFMDdDMDBGRDc4QTNFNkEyCis6MTAwQkQwMDAyNDA3RjU4MjE4RTYzNDAwRjU4M0UwN0YwMDRDRkVFRjMxCis6MTAwQkUwMDA0RDkwRkQ0MEYwQTNDRUYwQ0VDMjAzN0QwQTdDMDAxMkYyCis6MTAwQkYwMDAyNEIxMTIzMTA4MjIxMjMwODU3ODhGRUNGNjc4OTQ3NjgxCis6MTAwQzAwMDAwMTA4NzZGRDA4NzY0MDc4OTE3NjBDNzg5NDEyMDQ2NTk4Cis6MTAwQzEwMDAxMjAyMTQ3ODkyQ0JGNkNCMDhGNjdGMDBFRjI0RUI0MDVCCis6MTAwQzIwMDAxRkU0RUYyNUUwOTAzNEJGRkQ5M0NEMDQ5Mzc4OTM2NkU1Cis6MTAwQzMwMDA3MDAzRUQxODY2NzAwNjc4OTE3NjAwODAwMzBGODBEQ0YzCis6MTAwQzQwMDA3ODkwRUZGNjc4OTQxMjA0NjU5MDAwMDIxMjAyMEU3ODA0Cis6MTAwQzUwMDA5MkNCRjZDQjA4RjY1NDA0Q0I1NDA2NEI2MDA0Nzg5MTQzCis6MTAwQzYwMDA3NjBCNzg5M0U2MzBFMzEzNzg5NDEyMDQ2NTkwMDAwNUQwCis6MTAwQzcwMDAxMjAxRUMyNEZCNTAwNDc4OTE3NjBENzg5M0U2NTRDMDcxCis6MTAwQzgwMDA3RDAwNjRDMDRENzAwNDc4OTE3NjBCNzg5NDEyMDQ2NUYxCis6MTAwQzkwMDA5MDAwMDQxMjAxRUMyNEZDNTAwNDc4OTE3NjBGNzg5NEIzCis6MTAwQ0EwMDAxMjA0NjU5MDAwMDYxMjAxRUMyNEZENTAwNDc4OTE3NjQwCis6MTAwQ0IwMDAwRTc4OTQxMjA0NjU5MDAwMDkxMjAxRUMyNEZENTAwNDkyCis6MTAwQ0MwMDA3ODkxNzYwQTc4OTFFNjcwMkE3ODhGRTZGQzEyMEY3QzhDCis6MTAwQ0QwMDA3ODk0MTIwNDY1NzhBMUU2Rjk3OEEwRTZGQTdCMDE3NEFECis6MTAwQ0UwMDAwQTc4MDAxMjAzM0ZDMjAzNzg4RkU2RkMxMjExMjM3OEMyCis6MTAwQ0YwMDA5MUVDRjY3ODkxRTZGQzEyMjU0QTEyMzEwODIyMTIzMDY2Cis6MTAwRDAwMDA4NTc4OEZFQ0Y2MTIwRjdDNzg4RkU2MjRGRDc1RjAwQTVCCis6MTAwRDEwMDBBNDI0MUNGNTgyRTQzNEZERjU4M0FDODJBRDgzNzhBMDc1Cis6MTAwRDIwMDA4NjgzMDg4NjgyRUNGOUVERkE3QjBBNzgwMTEyMDNBNzI0Cis6MTAwRDMwMDBDMjAzNzg4RkU2RkMxMjExMjMxMjMxMDgyMjhEMkI4QzBFCis6MTAwRDQwMDAyQUVENjA0MDc1MjcwMTc1Mjk0ODc1MjhGRkU1MkEyNDlBCis6MTAwRDUwMDBGREZDRTQzNEZGRkRFQzdDMDMyNUUwQ0QzM0NERENGOTc0Cis6MTAwRDYwMDBGQ0U1MjkyQ0Y1MjlFNTI4M0RGNTI4QUQyOUFFMjhBRjZECis6MTAwRDcwMDAyNzc0ODA5MDAwMDYxMjAzMTc3NDgwOTAwMDAyMTIwM0ZCCis6MTAwRDgwMDAxNzEyMEZEM0U1MkIxNDYwM0I3NTI3MDE3NTI5MDg3NUUxCis6MTAwRDkwMDAyOEZGRTUyQTI0RkRGQ0U0MzRGRkZERUM3QzAzMjVFMDdDCis6MTAwREEwMDBDRDMzQ0REQ0Y5RkNFNTI5MkNGNTI5RTUyODNERjUyOEU2Cis6MTAwREIwMDBBRDI5QUUyOEFGMjdFNDkwMDAwNjEyMDMxN0U0OTAwMDk3Cis6MTAwREMwMDAwMjEyMDMxNzIyMTIzMDg1Nzg4RkVDRjZFQzI0OTdGODg0Cis6MTAwREQwMDBFNjMwRTIwOTc4OEZFNkZDMTIxNTIyRDIwMDc4OEZFNjIxCis6MTAwREUwMDBGQzEyMEY3Qzc4OTA3NjAwOTBGRDQxRTAzMEU3MDQ3OEFCCis6MTAwREYwMDA5MDc2MDE3ODkwRTZGRDc4OEZFNkZDMTIwRDNBQzIwM0ZBCis6MTAwRTAwMDAzMDAwMDc3ODhGRTZGQzEyMTQyMTdDMDAxMjI1NEExMjZDCis6MTAwRTEwMDAzMTA4MjI3OEEzRTYyNDA0RjU4MjE4RTYzNDAwRjU4MzJECis6MTAwRTIwMDBFMDQ0MDFGMDc4QTNFNjI0MDRGNTgyMThFNjM0MDBGNUU2Cis6MTAwRTMwMDA4M0UwMzBFMDAyODBFRDc4QTNFNjI0MEJGNTgyMThFNjJCCis6MTAwRTQwMDAzNDAwRjU4M0UwNTRGOEYwNzhBM0U2MjQwMkY1ODIxODI0Cis6MTAwRTUwMDBFNjM0MDBGNTgzRTA0NDgwRjAyMkMyMDM4QzU4MTIwRjgwCis6MTAwRTYwMDA3Qzc4QTA4NjgzMDg4NjgyNzlFRTdBMzQ3QjBBNzgwMUMyCis6MTAwRTcwMDAxMjAzRjUxMjBFMTBBQzU4N0QwMjEyMEQzQUMyMDNBQ0VCCis6MTAwRTgwMDA1ODEyMTEyMzIyOEQ1MzhFNTI4RjUxOEM1MDEyMEY3Qzg5Cis6MTAwRTkwMDA3NTRGMDA3OEEzRTYyNDA1RjU4MjE4RTYzNDAwRjU4MzQzCis6MTAwRUEwMDBFMDIwRTQxNkU1NEYyNEY2NDAxMDA1NEZDMjAzN0MxOEZECis6MTAwRUIwMDAxMjMyNDhBQzUwMTIwRjdDODBEOTc4QTNFNjI0MDVGNTk1Cis6MTAwRUMwMDA4MjE4RTYzNDAwRjU4M0UwMjBFNDA1QzIwMzdDMDIyMkE4Cis6MTAwRUQwMDA3OEEzRTYyNDA1RjU4MjE4RTYzNDAwRjU4M0UwNTQwRjg0Cis6MTAwRUUwMDA2MDE2NzhBM0U2MjQwNUY1ODIxOEU2MzQwMEY1ODNFMDYxCis6MTAwRUYwMDA1NDBGRjBDMjAzN0MwMTIyNzhBMjg2ODMwODg2ODJFMDI4Cis6MTAwRjAwMDBBRDUzQUU1MkFGNTExMjAzMEZDMjAzN0MwMDIyOEQzMTlDCis6MTAwRjEwMDA4QzMwMTIxNTIyRTUzMTYwMjBFNTMwQjQwMzBDN0MwMUUxCis6MTAwRjIwMDAxMjI0N0M3QzgxMTIyNDdDODAwRkU1MzBCNDA0MEE3QzdFCis6MTAwRjMwMDAwMjEyMjQ3QzdDODIxMjI0N0NBQzMwMTIwRjdDRTUzMUJFCis6MTAwRjQwMDA2MDFBNzhBNDg2ODMwODg2ODJFMDU0RTdGMEEzQTNBM0ZFCis6MTAwRjUwMDBBM0UwNTRFN0YwQUMzMDdEMDIxMjBEM0E3OEEwODY4MzBFCis6MTAwRjYwMDAwODg2ODI3OUY4N0EzNDdCMEE3ODAxMTIwM0Y1QzIwMzg1Cis6MTAwRjcwMDBFNTMwMjQ5N0Y4QzY1NEZERjZBQzMwMTIxMTIzMjI4Q0NDCis6MTAwRjgwMDAyNjMwMDMwNTEyMzFFNzgwRjg3QzBBMTIzMEZBRDIwM0NBCis6MTAwRjkwMDBFNTI2MjRGRDc4OURGNjcwMDk3OEE0NzZGRjA4NzZFMEIyCis6MTAwRkEwMDA4MDA3NzhBNDc2RkYwODc2RTI3ODlERTY3NUYwMTBBNEI1Cis6MTAwRkIwMDBBREYwRkMyNEEwNzhBM0Y2RUQzNEZGMThGNjc4OURFNjlBCis6MTAwRkMwMDA3NUYwMEFBNDI0MDhGQ0U0MzRGREZENzhBMEVERjYwOEQxCis6MTAwRkQwMDBFQ0Y2MTIzMTkzMjI3OEEzRTYyNDAyRjU4MjE4RTYzNDY3Cis6MTAwRkUwMDAwMEY1ODNFMDMwRTcyMjc4QTNFNjI0MDJGNTgyMThFNkQ0Cis6MTAwRkYwMDAzNDAwRjU4M0UwNTQ3RkYwNzhBM0U2MjQwMkY1ODIxOEVDCis6MTAxMDAwMDBFNjM0MDBGNTgzRTA0NDgwRjAyMjc4QTQ4NjgzMDg4NkU1Cis6MTAxMDEwMDA4MkUwNTQ3RkYwQUQ4M0U1ODIyNDA0RkNFNDNEOEM4MkMxCis6MTAxMDIwMDBGNTgzRTA1NDdGRjA3OEEzRTYyNDBCRjU4MjE4RTYzNENDCis6MTAxMDMwMDAwMEY1ODNFMDU0RjhGMDc4QTVFNjI0MDFGNTgyMThFNjdGCis6MTAxMDQwMDAzNDAwRjU4M0UwNDQwM0YwNzhBNUU2MjQwNUY1ODIxODIyCis6MTAxMDUwMDBFNjM0MDBGNTgzRTA0NDAzRjA3OEEzRTYyNDA1RjU4MjQ2Cis6MTAxMDYwMDAxOEU2MzQwMEY1ODM3NDBGRjAyMjc4QTQ4NjgzMDg4NjhFCis6MTAxMDcwMDA4MkUwNTQzRkYwQUQ4M0U1ODIyNDA0RkNFNDNEOEM4MkExCis6MTAxMDgwMDBGNTgzRTA1NDNGRjA3ODlERTYyNDlFRjhFNkZDNzhBNUQxCis6MTAxMDkwMDBFNjI0MDFGNTgyMThFNjM0MDBGNTgzRUNGMDc4OURFNjRECis6MTAxMEEwMDAyNDlFRjhFNkZDNzhBNUU2MjQwNUY1ODIxOEU2MzQwMENGCis6MTAxMEIwMDBGNTgzRUNGMDc4QTNFNjI0MEJGNTgyMThFNjM0MDBGNTBFCis6MTAxMEMwMDA4M0UwNTRGQjQ0MDJGNTI2NzhBMUU2MjQwMkY1ODIxODU5Cis6MTAxMEQwMDBFNjM0MDBGNTgzRTAzMEU1MDM0MzI2MDE3OEEzRTYyNEY3Cis6MTAxMEUwMDAwNUY1ODIxOEU2MzQwMEY1ODNFMDMwRTAwMzEyMEZEM0YzCis6MTAxMEYwMDBFNTI2RkM3OEEzRTYyNDBCRjU4MjE4RTYzNDAwRjU4Mzk4Cis6MTAxMTAwMDBFQ0YwNzhBM0U2MjQwNUY1ODIxOEU2MzQwMEY1ODM3NDQ0Cis6MTAxMTEwMDAwRkYwNzhBNDg2ODMwODg2ODJFMDQ0ODBGMEEzQTNBMzFFCis6MTAxMTIwMDBBM0UwNDQ4MEYwMjI4QzJBMTIwRjdDNzhBMUU2MjQwOEU4Cis6MTAxMTMwMDBGNTgyMThFNjM0MDBGNTgzRTBGQzc4QTNFNjI0MEFGNThFCis6MTAxMTQwMDA4MjE4RTYzNDAwRjU4M0VDRjA3OEExRTYyNDA3RjU4MkY2Cis6MTAxMTUwMDAxOEU2MzQwMEY1ODNFMEZDNzhBM0U2MjQwOUY1ODIxODRDCis6MTAxMTYwMDBFNjM0MDBGNTgzRUNGMDc4QTA4NjgzMDg4NjgyRTBGRDAzCis6MTAxMTcwMDBBM0UwRkNFREZFNzhBM0U2MjQwOEY1ODIxOEU2MzQwMDJGCis6MTAxMTgwMDBGNTgzRUVGMEVDRkU3OEEzRTYyNDA3RjU4MjE4RTYzNDRBCis6MTAxMTkwMDAwMEY1ODNFRUYwOEMyOThEMjhDM0VDOTQwMkVEOTQwNkMzCis6MTAxMUEwMDA0MDA1NzUyNzdDODAzM0QzRTUyOTk0ODFFNTI4OTQwMTk3Cis6MTAxMUIwMDA0MDA1NzUyNzNDODAyM0QzRTUyOTk0QzBFNTI4OTQwMDk5Cis6MTAxMUMwMDA0MDA1NzUyNzE4ODAxM0QzRTUyOTk0MzBFNTI4OTQwMDRECis6MTAxMUQwMDA0MDA1NzUyNzBDODAwMzc1MjcwOEFGMjdFNEVGNTQ3QzgyCis6MTAxMUUwMDA0NDgzRkY4RjI3RTUyN0ZDNzhBNUU2MjQwMUY1ODIxOEM0Cis6MTAxMUYwMDBFNjM0MDBGNTgzRUNGMEU1MjdGQzc4QTVFNjI0MDVGNTU4Cis6MTAxMjAwMDA4MjE4RTYzNDAwRjU4M0VDRjBFNTI3RkM3ODlERTYyNEFGCis6MTAxMjEwMDA5RUY4RUNGNjc4QTNFNjI0MDJGNTgyMThFNjM0MDBGNTkxCis6MTAxMjIwMDA4M0UwRjUyNzc4QTFFNjI0MDJGNTgyMThFNjM0MDBGNTdDCis6MTAxMjMwMDA4M0EzRTAzMEUzMTc1MzI3Qzc3OEExRTYyNDA1RjU4MjlFCis6MTAxMjQwMDAxOEU2MzQwMEY1ODNFMDkwMzRFOTkzNDIyNzc4QTFFNjZDCis6MTAxMjUwMDAyNDAyRjU4MjE4RTYzNDAwRjU4M0UwMzBFNzA1NDMyN0UxCis6MTAxMjYwMDA0MDgwMDM1MzI3QkY1MzI3RkI3OEExRTYyNDA2RjU4MjZECis6MTAxMjcwMDAxOEU2MzQwMEY1ODNFMDYwMDM0MzI3MDQ1MzI3RkM3ODI1Cis6MTAxMjgwMDBBMUU2MjQwNEY1ODIxOEU2MzQwMEY1ODNFMDQyMjc0MzAyCis6MTAxMjkwMDAyNzgwRTUyN0ZDNzhBM0U2MjQwMkY1ODIxOEU2MzQwMENGCis6MTAxMkEwMDBGNTgzRUNGMDc4QTNFNjI0MDRGNTgyMThFNjM0MDBGNTIzCis6MTAxMkIwMDA4M0UwRjUyNzc4QTFFNjI0MDJGNTgyMThFNjM0MDBGNUVDCis6MTAxMkMwMDA4M0EzRTAzMEUxMDU1MzI3REY4MDAzNDMyNzIwNzhBMTgzCis6MTAxMkQwMDBFNjI0MDJGNTgyMThFNjM0MDBGNTgzRTAzMEU0MDU1Mzk1Cis6MTAxMkUwMDAyN0VGODAwMzQzMjcxMDc4QTFFNjI0MDlGNTgyMThFNjRBCis6MTAxMkYwMDAzNDAwRjU4M0UwQjQwMjAzNDMyNzAyRTUyN0ZDNzhBMzFBCis6MTAxMzAwMDBFNjI0MDRGNTgyMThFNjM0MDBGNTgzRUNGMDc4QTNFNkQxCis6MTAxMzEwMDAyNDAzRjU4MjE4RTYzNDAwRjU4M0UwRjUyNzc4QTFFNjhBCis6MTAxMzIwMDAyNDA5RjU4MjE4RTYzNDAwRjU4M0UwNzAwNTUzMjc3RjIxCis6MTAxMzMwMDA4MDAzNDMyNzgwNzhBMUU2MjQwMkY1ODIxOEU2MzQwMDcyCis6MTAxMzQwMDBGNTgzQTNFMDMwRTAwNTQzMjcyMDgwMDM1MzI3REY3OEFGCis6MTAxMzUwMDBBMUU2MjQwMkY1ODIxOEU2MzQwMEY1ODNFMDMwRTMwNUM3Cis6MTAxMzYwMDA0MzI3NDA4MDAzNTMyN0JGNzhBMUU2MjQwMkY1ODIxODYzCis6MTAxMzcwMDBFNjM0MDBGNTgzRTAzMEUwMDU0MzI3MTA4MDAzNTMyNzZGCis6MTAxMzgwMDBFRjc4QTFFNjI0MDJGNTgyMThFNjM0MDBGNTgzQTNFMEE1Cis6MTAxMzkwMDAzMEU0MDU0MzI3MDg4MDAzNTMyN0Y3NzhBMUU2MjQwMkE5Cis6MTAxM0EwMDBGNTgyMThFNjM0MDBGNTgzQTNFMDMwRTUwNTQzMjcwNDExCis6MTAxM0IwMDA4MDAzNTMyN0ZCNzhBMUU2MjQwMkY1ODIxOEU2MzQwMDY3Cis6MTAxM0MwMDBGNTgzQTNFMDMwRTYwNTQzMjcwMTgwMDM1MzI3RkU3ODI5Cis6MTAxM0QwMDBBMUU2MjQwMkY1ODIxOEU2MzQwMEY1ODNBM0UwMzBFN0E1Cis6MTAxM0UwMDAwNTQzMjcwMjgwMDM1MzI3RkRFNTI3RkM3OEEzRTYyNDY1Cis6MTAxM0YwMDAwM0Y1ODIxOEU2MzQwMEY1ODNFQ0YwQzIwMzdDMDAyMjhBCis6MTAxNDAwMDA4RDI3OEMyNkVENTQwMzE0NjAwMzdDMTAyMkU1Mjc1NEFECis6MTAxNDEwMDA3QzI0RkM0MDAzN0MwQjIyRTUyNjI0OTdGOEM2NDQwMjdBCis6MTAxNDIwMDBGNjdDMDAyMjhDMzAxMjBGN0NFNTMwMjQ5N0Y4RTYyMDAxCis6MTAxNDMwMDBFMjRGQUMzMDdEMDIxMjBEM0FFNTMwMjRGRTQ0MjhGQzI4Cis6MTAxNDQwMDA3OEE0ODY4MzA4ODY4MkVDRjBBRjgzRTU4MjI0MDRGRUNDCis6MTAxNDUwMDBFNDNGRkZFQzhFODI4RjgzRjA3QzAzOEMyQ0U1MkNGQzI4Cis6MTAxNDYwMDA3OEE1RTYyNDAxRjU4MjE4RTYzNDAwRjU4M0VDRjBFNTcyCis6MTAxNDcwMDAyQ0ZDNzhBNUU2MjQwNUY1ODIxOEU2MzQwMEY1ODNFQzBCCis6MTAxNDgwMDBGMDc1MkQwMTc1MkY0ODc1MkVGRkU1MzAyNEZERkNFNDI1Cis6MTAxNDkwMDAzNEZGRkRFQzdDMDMyNUUwQ0QzM0NERENGOUZDRTUyRkZBCis6MTAxNEEwMDAyQ0Y1MkZFNTJFM0RGNTJFNzhBNUU2MjQwNEY1ODIxOEJGCis6MTAxNEIwMDBFNjM0MDBGNTgzRTA1NEU3RjUyQ0FEMkZBRTJFQUYyRENBCis6MTAxNEMwMDBFNDkwMDAwMjEyMDMxN0U0OTAwMDA2MTIwMzE3MTIwMUMxCis6MTAxNEQwMDBFNjMwRTUwMzQzMkMxMEU1MkNGQzc4QTVFNjI0MDRGNTYyCis6MTAxNEUwMDA4MjE4RTYzNDAwRjU4M0VDRjAxMjEwNjc3OEEzRTYyNDQ2Cis6MTAxNEYwMDAwNkY1ODIxOEU2MzQwMEY1ODNFMEMyMDNGQ0U1MzAyNEVCCis6MTAxNTAwMDA5N0Y4QzY0NDA0RjY4QzJDRTUzMDU0MEZDNDU0RjA3RTkyCis6MTAxNTEwMDAwMEZGRUVFRjQ0MDQ3RDAwRkZFQzRFRkNFRDRGRkQxMkFBCis6MTAxNTIwMDAxQ0ZFN0MwMDIyOEMyRjEyMEY3QzEyMTAwNzc4QTQ4NkUwCis6MTAxNTMwMDA4MzA4ODY4MkUwNTQwOEYwQTNBM0EzQTNFMDU0MDhGMDM0Cis6MTAxNTQwMDBBQzJGN0QwMjEyMEQzQUMyMDNFNTJGMjQ5N0Y4QzY1NDQyCis6MTAxNTUwMDBGQkY2N0MwMDIyMTIzMDg1Nzg5MEVDRjZFQzI0OTdGOEFDCis6MTAxNTYwMDBFNjMwRTEwQTdEMDA3QzEzMTIyNEIxMTIzMTA4Nzg5MDM0Cis6MTAxNTcwMDBFNjI0OTdGOEM2NDQwMUY2Nzg5MEU2RkMxMjBGN0M3OEQyCis6MTAxNTgwMDA5MEU2MjRGRDc1RjAwQUE0MjQxQ0Y1ODJFNDM0RkRGNUYwCis6MTAxNTkwMDA4Mzc4QTBFNkZBMDhFNkY5N0IwQTc4MDExMjAzQTc3OEI3Cis6MTAxNUEwMDBBMDg2ODMwODg2ODI3OUY4N0EzNDdCMEE3ODAxMTIwMzUwCis6MTAxNUIwMDBGNTEyMEZEM0MyMDM3ODkwRTZGQzEyMTEyMzc4OEZFQzVBCis6MTAxNUMwMDBGNkVDNjAwQTdEMDA3QzA4MTIyNEIxMTIzMTA4Nzg5MDk0Cis6MTAxNUQwMDBFNkZDMTIwRjdDNzhBM0U2MjQwNEY1ODIxOEU2MzQwMEJBCis6MTAxNUUwMDBGNTgzRTA0NDEwNTRERkZDNzhBM0U2MjQwNEY1ODIxODY4Cis6MTAxNUYwMDBFNjM0MDBGNTgzRUNGMDc4OEZFQ0Y2QzIwMzdDQzgxMjc5Cis6MTAxNjAwMDAzMjQ4Nzg5MEU2RkMxMjBGN0M3OEEzRTYyNDA0RjU4MjM5Cis6MTAxNjEwMDAxOEU2MzQwMEY1ODNFMDU0RUZGMEMyMDM3Q0M4MTIzMkMwCis6MTAxNjIwMDA0ODc4OTBFNkZDMTIwRjdDNzhBM0U2MjQwNEY1ODIxODMzCis6MTAxNjMwMDBFNjM0MDBGNTgzRTA0NDEwRjBDMjAzN0NDODEyMzI0ODVGCis6MTAxNjQwMDA3ODkwRTZGQzEyMEY3Qzc4QTNFNjI0MDRGNTgyMThFNjc1Cis6MTAxNjUwMDAzNDAwRjU4M0UwNDQyMEYwQzIwMzdDRjAxMjMyNDg3ODc1Cis6MTAxNjYwMDA5MEU2RkMxMjBGN0M3OEEzRTYyNDA1RjU4MjE4RTYzNDk4Cis6MTAxNjcwMDAwMEY1ODNFMDMwRTQxNUMyMDM3ODkwRTY0NDEwN0YwMDYzCis6MTAxNjgwMDBGRTdDMDcxMjMxOUExMjMxMDgwMjE3NDk3OEEzRTYyNDJBCis6MTAxNjkwMDAwNEY1ODIxOEU2MzQwMEY1ODNFMDU0Q0ZGMEMyMDM3Q0YxCis6MTAxNkEwMDBDODEyMzI0ODc4OTBFNkZDMTIwRjdDNzhBM0U2MjQwNDM2Cis6MTAxNkIwMDBGNTgyMThFNjM0MDBGNTgzRTA0NDMwRjBDMjAzN0NGMDk0Cis6MTAxNkMwMDAxMjMyNDg3ODkwRTZGQzEyMEY3Qzc4QTNFNjI0MDVGNUU4Cis6MTAxNkQwMDA4MjE4RTYzNDAwRjU4M0UwMzBFNDE0QzIwMzc4OTBFNjIzCis6MTAxNkUwMDA0NDEwN0YwMEZFN0MwNzEyMzE5QTEyMzEwODgwNUQ3ODI5Cis6MTAxNkYwMDBBM0U2MjQwNEY1ODIxOEU2MzQwMEY1ODNFMDU0RUZGMDA1Cis6MTAxNzAwMDA3OEEzRTYyNDA0RjU4MjE4RTYzNDAwRjU4M0UwNTRERjdDCis6MTAxNzEwMDBGMDc4OTBFNjI0RkQ3NUYwMEFBNDI0MUNGNTgyRTQzNEU4Cis6MTAxNzIwMDBGREY1ODNBQzgyQUQ4Mzc4QTA4NjgzMDg4NjgyRUNGOUQwCis6MTAxNzMwMDBFREZBN0IwQTc4MDExMjAzQTdDMjAzNzg5MEU2RkMxMjQ3Cis6MTAxNzQwMDAxMTIzN0QwMDdDMEIxMjI0QjExMjMxMDgyMjEyMzA4NTQ2Cis6MTAxNzUwMDA5MEZGOTFFMDkwRkQ0MUYwN0QwMjdDMDAxMjI0QjExMkQ3Cis6MTAxNzYwMDAzMTA4MjIxMjMwODU5MEZENDBFMEY0RkM5MEZGOTFFMEJBCis6MTAxNzcwMDA1Q0Y1MzM5MEZENDFFMEZDOTBGRDQwRTA1QzQyMzNFNUQ4Cis6MTAxNzgwMDAzMzkwRkY5MUYwN0MwMDEyMjU0QTEyMzEwODIyNzQzQ0ZDCis6MTAxNzkwMDA5MEZCRThGMDc0M0U5MEZCRThGMEU0OTBGRDMwRjAyMjFFCis6MTAxN0EwMDA4RDM1OEMzNEVDQjQwMTAyODAwM0QzNDAwMjgwMjhCNDIwCis6MTAxN0IwMDAwMjAyODAwM0QzNDAwOEE4MzVDNjI1RTBGNjgwMThCNDlECis6MTAxN0MwMDAwNDAyODAwM0QzNDAwQUE4MzVDNjI1RTAyNUUwRjY4MDUwCis6MTAxN0QwMDAwNkE4MzU3NjAwODAwMDIyOEMzQzhEM0JFREZFRUNGREFBCis6MTAxN0UwMDA3RjAxNzU2MDA2NzU2MTAwOTBGRDMxMTIwNDZFMTIwMTczCis6MTAxN0YwMDBFNkI0ODAwMjgwMDZEMzUwMDMwMjE4OUU5MEZEMzExMjk5Cis6MTAxODAwMDAwNDgwOTAwMDAzMTIwMUVDNTRGMEI0MzAwMjgwMDNEMzQyCis6MTAxODEwMDA0MDVGOTBGRDMxMTIwNDgwOTAwMDA4MTIwMjBFRkFGRDI0Cis6MTAxODIwMDBFQkZFN0YwMTkwRkQzNDEyMDQ2RUVFQ0Q5MDM1MDJGQzhDCis6MTAxODMwMDBFNDkzRkY3NDAxOTNGRUY5RUZGQTdCMDFFQUZGRTlGRUZFCis6MTAxODQwMDBFQ0MzOUVFRDlGNDAyNTkwMzUwNEU0OTNGRDc0MDE5MzE1Cis6MTAxODUwMDBGQ0VERkVFQ0ZEN0YwMUVFQ0RGQzkwRkQzNkUwRDM5QzZGCis6MTAxODYwMDA5MEZEMzVFMDlENTAwNTc1NjA4MDgwMzMxMjE5QkM4MDc1Cis6MTAxODcwMDAyRUI0NjAwMjgwMDNEMzQwMEJBQzNDQUQzQjEyMDc4MjE4Cis6MTAxODgwMDA4QzYwODAxQkI0MTAwM0IzNDAxMEMzQjQyMDAzQjM0MDdBCis6MTAxODkwMDAwOUMzQjQ0MDAyODAwM0QzNDAwMDc1NjA4MTgwMDA4MDlBCis6MTAxOEEwMDA3NUI0ODEwMjgwMDNEMzQwNkI5MEZEMzExMjA0ODA5MEE3Cis6MTAxOEIwMDAwMDAzMTIwMUVDNTRGMEI0MzAwMjgwMDNEMzQwMUQ5MEI5Cis6MTAxOEMwMDBGRDMxMTIwNDgwOTAwMDA4MTIwMjBFRkFGREVCRkU3RjNCCis6MTAxOEQwMDAwMTkwRkQzNzEyMDQ2RTEyMTkyNjgwMzZCNDYwMDI4MDIyCis6MTAxOEUwMDAwM0QzNDAxMzc1M0E2MUU0RjUzOUY1MzhBQzNDQUQzQkIwCis6MTAxOEYwMDAxMjA1REU4QzYwODAxQkI0MTAwM0IzNDAxMEMzQjQyMDBCCis6MTAxOTAwMDAwM0IzNDAwOUMzQjQ0MDAyODAwM0QzNDAwMDc1NjA4MTMzCis6MTAxOTEwMDA4MDAwODAwMjgwMDBFNTYwRkM5MEZEMzExMjA0ODBFQ0M0Cis6MTAxOTIwMDA5MDAwMDIxMjAzMTdBQzYxMjI5MEZEMzExMjA0ODA5MEU2Cis6MTAxOTMwMDAwMDA0MTIwMUVDNjAwNDc0MDE4MDAxRTRBMkUwOTIwMTUxCis6MTAxOTQwMDA5MEZEMzExMjA0ODBFRDI0MDNGRDUwMDEwRTkwRkQzNDEyCis6MTAxOTUwMDAxMjA0NkU5MEZEMzExMjA0ODA5MDAwMDUxMjAxRUNGNTI2Cis6MTAxOTYwMDA2MTkwMDAwNDEyMDFFQzU0MEZGQzdENjExMjE3OURFNTlCCis6MTAxOTcwMDA2MTcwMDQ3NTYwMDgyMjc1NjAwMDc4N0U3NjAwNzg3RTVDCis6MTAxOTgwMDBFNkMzOTU2MTUwMzg5MEZEMzcxMjA0ODAxMjAxRTZGQ0UxCis6MTAxOTkwMDA5MEZEMzQxMjA0ODBFQzEyMDMwRjMwMDEwRTkwRkQzOURCCis6MTAxOUEwMDBFMDA0RjA5MEZEMzg3MDAzRTAwNEYwNzg3RTA2OTBGRENFCis6MTAxOUIwMDAzNkUwMDRGMDkwRkQzNTcwMDNFMDA0RjA4MEMwMjI5MDIyCis6MTAxOUMwMDBGRDMyRTBGREEzRTBGQ0VERkVFQ0ZEN0YwMUVEMjQwQTFECis6MTAxOUQwMDBGRDUwMDEwRTkwRkQzQTEyMDQ2RTkwRkQzMTEyMDQ4MDBDCis6MTAxOUUwMDA5MDAwMDQxMjAxRUM1NDBGQjQwMTAyODAwM0QzNDAxNzlECis6MTAxOUYwMDA5MEZEM0ExMjA0ODAwREVENzAwMTBFOTBGRDM3MTIwNDM3Cis6MTAxQTAwMDA2RTc4ODI3NjAxODA0RUI0MDIwMjgwMDNEMzQwMTk5MDMyCis6MTAxQTEwMDBGRDNBMTIwNDgwRUQyNDAyRkQ1MDAxMEU5MEZEMzcxMkI0Cis6MTAxQTIwMDAwNDZFNzg4Mjc2MDI4MDJEQjQwNDAyODAwM0QzNDAxOUJDCis6MTAxQTMwMDA5MEZEM0ExMjA0ODBFRDI0MDRGRDUwMDEwRTkwRkQzNzE0Cis6MTAxQTQwMDAxMjA0NkU3ODgyNzYwNDgwMENCNDAwMDI4MDAzRDM0MEM2Cis6MTAxQTUwMDAwMDc1NjAwODIyOTBGRDMxMTIwNDgwOTAwMDA1MTIwMThCCis6MTAxQTYwMDBFQ0Y1NjE3ODdGNzYwMDc4N0ZFNkMzOTU2MTQwMDMwMkVDCis6MTAxQTcwMDAxQjI0Nzg4MDc2MDA3ODgwRTZDMzc4ODI5NjUwNzY5MDMyCis6MTAxQTgwMDBGRDM0MTIwNDgwMTIwMUU2RkM5MEZEM0ExMjA0ODkxMjIyCis6MTAxQTkwMDAwMUUwRjQ1Q0ZDMTIwMUUwRjg5MEZEMzcxMjA0ODBFOEVDCis6MTAxQUEwMDBDMEUwMTIwMUU2QzhEMEUwQzg1ODRDRkM5MEZEMzQxMkVBCis6MTAxQUIwMDAwNDgwRUMxMjAzMEY3ODgxRUNGNjkwRkQzOUUwMDRGMDFECis6MTAxQUMwMDA5MEZEMzg3MDAzRTAwNEYwMDlFOTcwMDEwQTkwRkQzQUQ2Cis6MTAxQUQwMDAxMjA0Nzc5MEZEMzExMjA0ODA5MDAwMDQxMjAxRUMzMDYyCis6MTAxQUUwMDBFNDBFOTBGRDM2RTAwNEYwOTBGRDM1NzAwM0UwMDRGMDY0Cis6MTAxQUYwMDA3ODgwMDY4MDgxNzg4MkU2RkRFNEZFRkZFRUNERkM5MEUyCis6MTAxQjAwMDBGRDM5RTAyQ0YwOTBGRDM4RTAzREYwNzg4MkU2RkRFNDEwCis6MTAxQjEwMDBGRUZGRUVDREZDOTBGRDNDRTAyQ0YwOTBGRDNCRTAzRDY3Cis6MTAxQjIwMDBGMDc4N0YwNjAyMUE2NDc1NjAwMDIyRTUzRDA1M0QwNEU5Cis6MTAxQjMwMDA3MDAyQjJCMDIyQzBFMEMwRjBDMDgyQzA4M0MwRDBFODYyCis6MTAxQjQwMDBDMEUwRTlDMEUwRUFDMEUwRUJDMEUwRUNDMEUwRURDMDFFCis6MTAxQjUwMDBFMEVFQzBFMEVGQzBFMDkwRkY5MkUwMTIwMUI3MUI4MDIyCis6MTAxQjYwMDAzMDFCODAzMjFCOEYzODFCQTEzQTFCQjMzRTFCQ0I0NDZBCis6MTAxQjcwMDAxQkJGNDYxQkQ3NTAxQzE5NTIxQkY4NTQxQzNBNTYwMDY5Cis6MTAxQjgwMDAwMDFDNUI5MEZGOTJFMDdGMDBGRTdDMDExMjMxOUEwMjA0Cis6MTAxQjkwMDAxQzZCRTRGRjA0RkU3QzAzMTIzMTlBNzQyMDkwRkZGRTVDCis6MTAxQkEwMDBGMDAyMUM2QkU0RkYwNEZFN0MwMjEyMzE5QTc0NDA5MDM4Cis6MTAxQkIwMDBGRkZFRjAwMjFDNkJFNEZGMDRGRTdDMDQxMjMxOUEwMjZCCis6MTAxQkMwMDAxQzZCRTRGRjA0RkU3QzA1MTIzMTlBMDIxQzZCRTRGRkRGCis6MTAxQkQwMDAwNEZFN0MwNjEyMzE5QTAyMUM2QjkwRkZBNUUwN0QwMDhBCis6MTAxQkUwMDA5MEZEMDBDREYwQTNDREYwOTBGRDAxRTBGQ0Y1ODM5MEQ5Cis6MTAxQkYwMDBGRDAwRTA0NDMzRkQxMjFDRkU4MDczOTBGRkI1RTA3REQ0Cis6MTAxQzAwMDAwMDkwRkQwMkNERjBBM0NERjA5MEZEMDNFMEZDRjU4MzQ0Cis6MTAxQzEwMDA5MEZEMDJFMDQ0NDNGRDEyMUNGRTgwNTI5MEZGQTZFMEJFCis6MTAxQzIwMDA3RDAwOTBGRDA0Q0RGMEEzQ0RGMDkwRkQwNUUwRkNGNTI2Cis6MTAxQzMwMDA4MzkwRkQwNEUwNDQzNEZEMTIxQ0ZFODAzMTkwRkZCNjE5Cis6MTAxQzQwMDBFMDdEMDA5MEZEMDZDREYwQTNDREYwOTBGRDA3RTBGQzE3Cis6MTAxQzUwMDBGNTgzOTBGRDA2RTA0NDQ0RkQxMjFDRkU4MDEwOTBGRkM5Cis6MTAxQzYwMDA5MkUwN0QwMEZDRUQ0NEFBRkQxMjFDRkU4MDAwRTQ5MDkxCis6MTAxQzcwMDBGRjkyRjBEMEUwRkZEMEUwRkVEMEUwRkREMEUwRkNEMDVECis6MTAxQzgwMDBFMEZCRDBFMEZBRDBFMEY5RDBFMEY4RDBEMEQwODNEMEJCCis6MTAxQzkwMDA4MkQwRjBEMEUwMzIwNTgxMDU4MTA1ODEwNTgxQTg4MURGCis6MTAxQ0EwMDAxODE4MThFREY2MDhFQ0Y2OTBGRjZBRTAyMEU3MDI4MEJECis6MTAxQ0IwMDBGNzkwRkY2OUUwN0QwMEE4ODExOENERjZDRDA4RjY3RDhDCis6MTAxQ0MwMDAwM0E4ODFFNjE4RkNFNkNDMjVFMENDMzNDQ0RERjlDQ0NBCis6MTAxQ0QwMDBGNkNDMDhGNkE4ODExOEU2NDRGOEY2QTg4MTE4MTgxODdBCis6MTAxQ0UwMDBFNkZEMDhFNkZDQTg4MTE4ODY4MzA4ODY4MkVERjBBMzRECis6MTAxQ0YwMDBFQ0YwNzQwMjkwRkY2QUYwMTU4MTE1ODExNTgxMTU4MTUxCis6MTAxRDAwMDAyMkU1ODEyNDA1RjU4MUU0QTg4MTE4RjZBODgxMTgxODM4Cis6MTAxRDEwMDAxODE4RURGNjA4RUNGNjkwRkJGREUwMjRGODUwMDMwMkVECis6MTAxRDIwMDAxRTFGRTRBODgxMTgxOEY2QTg4MTE4RTZGRUE4ODExOERECis6MTAxRDMwMDAxODE4MThFNkZEMDhFNkZDN0YwMEVGMjRGODQwNERFNDkzCis6MTAxRDQwMDBFRjI1RTAyNDg1RjU4MkU0MzRGREY1ODNFMEZCQTNFMDk0Cis6MTAxRDUwMDA2QzcwMDNGQUVCNkQ3MDA5NzQwMUE4ODExODE4RjY4MDk1Cis6MTAxRDYwMDAyQkU0RUYyNUUwMjQ4NUY1ODJFNDM0RkRGNTgzN0EwMDQ5Cis6MTAxRDcwMDBFMDU0RjBDQ0Y4Q0NDREY5Q0RGQjc4MDBFOTU0RjBGOTgzCis6MTAxRDgwMDBFQTY4NzAwMkVCNjk3MDAxMEUwRjgwQUVBODgxMThFRTUwCis6MTAxRDkwMDBGNkE4ODExODE4MTgxOEVERjYwOEVDRjZBODgxRUZGNkU5Cis6MTAxREEwMDBBODgxMTgxOEU2NzA3OUE4ODExOEU2MjRGNzQwNzFBODcwCis6MTAxREIwMDA4MTE4MTgxODE4RTY1NDBGQTg4MUY2NjQwNDYwMTdBODUzCis6MTAxREMwMDA4MUU2NjQwMzYwMTBBODgxMTgxODE4MThFNkZEMDhFNjdCCis6MTAxREQwMDBGQzEyMUM5MzgwNEE3QzBBMTIzMEZBQTg4MTE4MTgxODQ5Cis6MTAxREUwMDAxOEU2RkQwOEU2RkM5MEZCRkNFMDI1RTAyNDg1RjU4MjgyCis6MTAxREYwMDBFNDM0RkRGNTgzRURGMEEzRUNGMDkwRkJGQ0UwRkZFNEIwCis6MTAxRTAwMDBFRjA0NTQwN0ZGOTBGQkZDRjA5MEZCRkRFMDA0RjAxMkEwCis6MTAxRTEwMDAzMTkzOTBGQkZFRTA3MDA4RTRGRUZGN0MwRjEyMzE5QUQ0Cis6MTAxRTIwMDA4MDI3OTBGQkZGRTAwNEYwNTQzRjcwMUQ5MEZCRkZFMDIzCis6MTAxRTMwMDA0NEZFN0QwMEZDOTBGQkZDRTAyNUUwMjQ4NUY1ODJFNDc3Cis6MTAxRTQwMDAzNEZERjU4M0VERjBBM0VDRjBFNTgxMjRGQkY1ODEyMjcwCis6MTAxRTUwMDA3ODg1NzYwMDc4ODY3NjAwNzQwMTkwRkJGRUYwMTIzMDZCCis6MTAxRTYwMDA4NTkwRkJGREUwNjA1OTdDMEExMjMwRkE5MEZCRkJFMEE0Cis6MTAxRTcwMDAyNUUwMjQ4NUY1ODJFNDM0RkRGNTgzRTBGREEzRTBGQzU0Cis6MTAxRTgwMDA5MEZCRkJFMDI1RTAyNDg1RjU4MkU0MzRGREY1ODNFNDU2Cis6MTAxRTkwMDBGMEEzRjA5MEZCRkJFMEZGRTRFRjA0NTQwN0ZGOTBGQjlFCis6MTAxRUEwMDBGQkYwOTBGQkZERTAxNEYwNzg4M0VERjYwOEVDRjYxMjAxCis6MTAxRUIwMDAzMTkzQjJCMzc4ODNFNkZEMDhFNkZDMTIwOEU1ODBBMTExCis6MTAxRUMwMDAxMjMxRTc3ODg1MDZCNjAwMTE3ODg1NzYwMDc4ODZFNkM3Cis6MTAxRUQwMDBGNDA0MDRBMkUwOTJCNDc4ODZGNjgwODVFNDkwRkJGRUQ4Cis6MTAxRUUwMDBGMDkwRkJGREUwN0QwMEZDRUQ0NENGRkQxMjFDOTMxMjUxCis6MTAxRUYwMDAzMTA4MjIxMjMwODVFNTZBNjQ0OTQ1Njk2MDE1OTBGRjEyCis6MTAxRjAwMDA4M0UwNTQwRjdEMDBEMzk1NkFFRDk1Njk1MDA1MTIyRTNDCis6MTAxRjEwMDBDRTgwMDMxMjJGOUUxMjMxMDgyMjEyMzA4NUU1NkE2NEFBCis6MTAxRjIwMDA0OTQ1Njk2MDA1MTIyRkQ4ODAwRTkwRkY4MEUwNDQwODczCis6MTAxRjMwMDBGMDkwRkY4M0UwNTQ3RkYwMTIzMTA4MjIxMjMwODU4QzNDCis6MTAxRjQwMDA1NEVDNTRGMEI0MTAxNTc1NjQzRDc1NjNGRDc1NjIwMTcxCis6MTAxRjUwMDBFNTY0MjQwM0Y1NjRFNTYzMzQwMEY1NjNFNEY1NTdGNUJGCis6MTAxRjYwMDA1NkU1NTZDMzk0MDE1MDI3RTU1NDU0MEZGQ0FENjRBRUJBCis6MTAxRjcwMDA2M0FGNjIxMjBFODI4QzU1RUM2MDAyODAxMjA1NjRFNTNDCis6MTAxRjgwMDA2NDcwMDIwNTYzMDU1N0U1NTc3MDAyMDU1NjgwRDJFNTc3Cis6MTAxRjkwMDA1NDU0MEYyNDk3RjhDNjU0RkVGNkU1NTQ1NDBGN0YwMEFFCis6MTAxRkEwMDBGRTdDMTIxMjMxOUFFNTU1MTQ3MDA5N0QwMDdDMDkxMkVECis6MTAxRkIwMDAyNEIxODAwN0FENTc3QzAwMTIyNEIxMTIzMTA4MjIxMkRGCis6MTAxRkMwMDAzMDg1OTBGRkZDRTA0NDAyRjA5MEZGMDBFMDMwRTcxMzIyCis6MTAxRkQwMDA5MEZGODNFMDQ0ODBGMDQzNjc4MDkwRkZGQ0UwNDQwMTgxCis6MTAxRkUwMDBGMDgwMTE5MEZGODJFMDQ0MDhGMDUzNjc3RjkwRkZGQzdGCis6MTAxRkYwMDBFMDU0RkVGMDkwRkY4MUUwNDQ4MEYwMTIyNTY0OTBGRkYxCis6MTAyMDAwMDBGRUUwNDQwNUYwOTBGRkZDRTA1NEZERjAxMjMxMDgyMkEwCis6MTAyMDEwMDAxMjMwODU3QzAxMTIzMjQ4NzhBN0U2NDQwMkY2NzRGRTNECis6MTAyMDIwMDBGQzA0RkQxMjFDRkU5MEZGNkFFMDMwRTcwMjgwRjdFNDNBCis6MTAyMDMwMDBGNTRFNzU0RDEwQUM0RUFENERFNTRFMTU0RTcwMDIxNTdBCis6MTAyMDQwMDA0REVDNEQ2MDAyODBFRTQzODcwMTEyMzEwODIyMTIzMEMwCis6MTAyMDUwMDA4NTdDMDIxMjMxMTQ3OEE3RTY1NEZERjYxMjMxMDgyMjZECis6MTAyMDYwMDAxMjMwODU3OEE3RTYzMEUwMkM3OEE3RTYzMEUxMjY3OEI0Cis6MTAyMDcwMDBBN0U2RkNGNTgzMThFNjQ0RjBGRDEyMUM5MzkwRkZGQ0U0Cis6MTAyMDgwMDBFMDQ0MjBGMDdDMDIxMjMyNDg3OEE3RTY1NEZERjY3NDUyCis6MTAyMDkwMDAxQTkwRkZGRUYwNzhBN0U2RkNGNTgzMThFNjQ0RjFGRDAwCis6MTAyMEEwMDAxMjFDOTMxMjMxMDgyMjc1NjcwMDc1NjgwMEU0RjU2NjBBCis6MTAyMEIwMDBGNTY1RTRGNTY5NzU2QTQ5NzQ4NDkwRkY4MkYwNzQ4NDZCCis6MTAyMEMwMDA5MEZGODBGMDc0ODA5MEZGNjhGMDc0ODA5MEZGNkFGMDU5Cis6MTAyMEQwMDBBRDQ2QUY0NTdFMDBFRTI0RkM1MDAzMDIyMTZBRTRFRURCCis6MTAyMEUwMDA3NUYwMDdBNDI0M0ZGNTgyRTQzNEZDRjU4M0UwRkZFNEI3Cis6MTAyMEYwMDBFRjU0ODBGREU0RUY1NDBGMTRGRkVENjAzOEU0RUY3NTBBCis6MTAyMTAwMDBGMDA4QTQyNDQ4RjU4MkU0MzRGRkY1ODM3NDkwRjBFNEU5Cis6MTAyMTEwMDBFRjc1RjAwOEE0MjQ0QUY1ODJFNDM0RkZGNTgzNzQ4MDU3Cis6MTAyMTIwMDBGMEU0RUY3NUYwMDhBNDI0NEVGNTgyRTQzNEZGRjU4MzYzCis6MTAyMTMwMDA3NDgwRjA4MDM0RTRFRjc1RjAwOEE0MjQwOEY1ODJFNDlDCis6MTAyMTQwMDAzNEZGRjU4Mzc0OTBGMEU0RUY3NUYwMDhBNDI0MEFGNUU5Cis6MTAyMTUwMDA4MkU0MzRGRkY1ODNFNEYwRTRFRjc1RjAwOEE0MjQwRTg0Cis6MTAyMTYwMDBGNTgyRTQzNEZGRjU4M0U0RjAwRTAyMjBEMzhENDY4RTMxCis6MTAyMTcwMDA0NDhGNDU3NDdGOTBGRkZERjA3NDkwOTBGRkZDRjA5MEM5Cis6MTAyMTgwMDBGQzE5RTAzMEU2MDc5MEZGRkNFMDQ0MDRGMDIyOTBGQ0VDCis6MTAyMTkwMDAwREUwMTQ3MDA0OTBGQzBDRTA3MDM5OTBGQzAwNzkwNjlFCis6MTAyMUEwMDA3QTM1N0IxMjc4MDExMjAzRjU3RjAwRUYzMzQwMTVFRjhCCis6MTAyMUIwMDA5MDM1NEQ5M0ZDRUYyNDgwRjU4MkU0MzRGQ0Y1ODNFQ0ZDCis6MTAyMUMwMDBGMDBGODBFNzhGNTk5MEZDMkI3OTE4N0EzNTdCMzU3OEEyCis6MTAyMUQwMDAwMTEyMDNGNUU0OTBGRkZGRjA3NDUxOTBGRkZBRjA3NEUwCis6MTAyMUUwMDAwNDkwRkZGQkYwNzQ1MzkwRkZGOEYwNzQ1MTkwRkZGOUU2Cis6MTAyMUYwMDBGMDc0NTU5MEZGRjdGMDc0OTM5MEZGRjZGMDc0MzI5MEZFCis6MTAyMjAwMDBGRkY1RjA3NTY0M0Q3NTYzRkQ3NTYyMDFFNDkwRkY4MzMxCis6MTAyMjEwMDBGMDc0ODA5MEZGODFGMDc1NTgwNEU1NTg3NUYwMDdBNEJDCis6MTAyMjIwMDAyNDNGRjU4MkU0MzRGQ0Y1ODNFMDc4ODlGNkZDNTQwRjEyCis6MTAyMjMwMDAxNEZDNzg4OUVDRjZFNTU4NzVGMDA3QTQyNDQxRjU4MjgyCis6MTAyMjQwMDBFNDM0RkNGNTgzRTA3ODhDNzZGODA4NzYwMEZDNzg4OTM1Cis6MTAyMjUwMDBFNjc1RjAwOEE0MjQ0OEY1ODJFNDM0RkZGNTgzRTRGMDQxCis6MTAyMjYwMDA3ODg5RTY3NUYwMDhBNDI0NEZGNTgyRTQzNEZGRjU4M0ZECis6MTAyMjcwMDBFQ0YwNzg4Q0U2RkYwOEU2N0UwM0NGQzMxM0NGMTNERUM1Cis6MTAyMjgwMDBGOUZFNzg4OUU2NzVGMDA4QTQyNDQ5RjU4MkU0MzRGRjY0Cis6MTAyMjkwMDBGNTgzRUVGMDc4ODlFNjc1RjAwOEE0MjQ0QUY1ODJFNDI3Cis6MTAyMkEwMDAzNEZGRjU4Mzc0ODBGMDc4OEFFQ0Y2N0QwMDc4OERFNjUzCis6MTAyMkIwMDAyQ0Y2MThFNjNERjY3ODhDRTZGRDA4RTY3QzAzQ0RDM0U3Cis6MTAyMkMwMDAxM0NEMTNEQ0Y5RkM3ODg5RTY3NUYwMDhBNDI0NERGNUVDCis6MTAyMkQwMDA4MkU0MzRGRkY1ODNFQ0YwNzg4OUU2NzVGMDA4QTQyNEY1Cis6MTAyMkUwMDA0RUY1ODJFNDM0RkZGNTgzRTRGMDc4OENFNkZEMDhFNkYxCis6MTAyMkYwMDBGQzc4ODlFNkZGN0UwMEVFMjRGQzUwMDMwMjI0NkJFNEE4Cis6MTAyMzAwMDBFRTc1RjAwN0E0MjQzRkY1ODJFNDM0RkNGNTgzRTBGRjhBCis6MTAyMzEwMDBFNEVGNTQ4MEZBRTRFRjU0MEYxNEZGRTRFRTc1RjAwNzk1Cis6MTAyMzIwMDBBNDI0NDFGNTgyRTQzNEZDRjU4M0UwNzg4QUY2RUU3NTY2Cis6MTAyMzMwMDBGMDgwQTQyNDA4RjhFNUYwMzRGOEY5RThGQ0U5RkQ4QTE3Cis6MTAyMzQwMDA1OUVBNzAwMzAyMjNEOEU0RUY3NUYwMDhBNDI0NDhGNTk1Cis6MTAyMzUwMDA4MkU0MzRGRkY1ODNFNEYwNzg4QUU2RkFFNEVGNzVGMDdFCis6MTAyMzYwMDAwOEE0MjQ0RkY1ODJFNDM0RkZGNTgzRUFGMEVERkJFQzlBCis6MTAyMzcwMDA3QTAzQ0JDMzEzQ0IxM0RBRjlGQUU0RUY3NUYwMDhBNEIwCis6MTAyMzgwMDAyNDQ5RjU4MkU0MzRGRkY1ODNFQUYwNzg4QUU2N0IwMDlECis6MTAyMzkwMDBGQUVDMkFGQ0VEM0JGREZCRUM3QTAzQ0JDMzEzQ0IxMzI5Cis6MTAyM0EwMDBEQUY5RkFFNEVGNzVGMDA4QTQyNDRERjU4MkU0MzRGRjdECis6MTAyM0IwMDBGNTgzRUFGMEU0RUY3NUYwMDhBNDI0NEFGNTgyRTQzNEVBCis6MTAyM0MwMDBGRkY1ODM3NDgwRjBFNEVGNzVGMDA4QTQyNDRFRjU4MkU1Cis6MTAyM0QwMDBFNDM0RkZGNTgzNzQ4MEYwMDIyNDY3RTRFRjc1RjAwOEJECis6MTAyM0UwMDBBNDI0MDhGNTgyRTQzNEZGRjU4M0U0RjA3ODhBRTZGQTYxCis6MTAyM0YwMDBFNEVGNzVGMDA4QTQyNDBGRjU4MkU0MzRGRkY1ODNFQUQ2Cis6MTAyNDAwMDBGMEVERkJFQzdBMDNDQkMzMTNDQjEzREFGOUZBRTRFRjZDCis6MTAyNDEwMDA3NUYwMDhBNDI0MDlGNTgyRTQzNEZGRjU4M0VBRjA3ODI2Cis6MTAyNDIwMDA4QUU2N0IwMEZBRUMyQUZDRUQzQkZERkJFQzdBMDNDQjYxCis6MTAyNDMwMDBDMzEzQ0IxM0RBRjlGQUU0RUY3NUYwMDhBNDI0MERGNTExCis6MTAyNDQwMDA4MkU0MzRGRkY1ODNFQUYwRTRFRjc1RjAwOEE0MjQwQThGCis6MTAyNDUwMDBGNTgyRTQzNEZGRjU4M0U0RjBFNEVGNzVGMDA4QTQyNDlBCis6MTAyNDYwMDAwRUY1ODJFNDM0RkZGNTgzRTRGMDBFMDIyMkY0OEU1ODc4Cis6MTAyNDcwMDA3ODhDRURGNjA4RUNGNjc4ODlFRkY2MTIyMEE0MjI4QzIxCis6MTAyNDgwMDAyNkVDMzBFNzE4RTUyNjU0MEYxNDc1RjAwOEE0MjQ0ODBDCis6MTAyNDkwMDBGNTgyRTQzNEZGRjU4M0UwNTRERkYwODAxNkU1MjY1NDNFCis6MTAyNEEwMDAwRjE0NzVGMDA4QTQyNDA4RjU4MkU0MzRGRkY1ODNFMEU2Cis6MTAyNEIwMDA1NERGRjAyMkVDOTBGRDNGRjA4QzI0RUQyNDAzRjUyNTUxCis6MTAyNEMwMDA3RDAwRDM5NTZDRUQ5NTZCNDAwMzg1NkMyNUU1MjUyNDQ3Cis6MTAyNEQwMDBCNzUwMDk3NTI1MDM3NDAyOTBGRDNGRjBBQzI1MTIyRjBCCis6MTAyNEUwMDBDMzIyRTRGNTY2RjU2NTEyMjRFODIyOTBGRDNERTA2NTFGCis6MTAyNEYwMDA2RDYwMEU3NDA0OTBGRDNGRjBFNEY1NjU3NTY2MDM4MDMxCis6MTAyNTAwMDA0NjdENkRFNEZFRkY3OTNEN0FGRDdCMDE3NDA1NzgwMDIwCis6MTAyNTEwMDAxMjAzM0ZFNTY2MjQwM0Y1NjZFNTY1MzQwMEY1NjVFNURECis6MTAyNTIwMDA2NkQzOTU2Q0U1NjU5NTZCNDAwNjg1NkM2Njg1NkI2NTM1Cis6MTAyNTMwMDBEM0U1NjY5NDQ4RTU2NTk0MDA0MDBDNzQwMjkwRkQzRjM1Cis6MTAyNTQwMDBGMEU0RjU2NTc1NjYwM0FDNjYxMjJGQzMyMkVDOTBGRENFCis6MTAyNTUwMDAzRkYwRTRGNTY2RjU2NThDMzJFQzYwMDUxMjJGQjQ4MDJGCis6MTAyNTYwMDAwNTdDMDAxMjJGQzMyMjkwRkYwNEUwRjU0QTkwRkYwNjdECis6MTAyNTcwMDBFMEZEQTNFMEVEN0QwMEZDN0QwMEZDOTBGRjA2RTBGRkE4Cis6MTAyNTgwMDBBM0UwN0UwMEZGRTRGRUVDNEVGQ0VENEZGREMzRUM5NEI3Cis6MTAyNTkwMDA0OEVEOTQwMDUwMjI5MEZGMDZFMEZEQTNFMEVEN0QwMEExCis6MTAyNUEwMDBGQzdEMDBGQzkwRkYwNkUwRkZBM0UwN0UwMEZGRTRGRTYwCis6MTAyNUIwMDBFQzRFRkNFRDRGRkQ4MDA0RTRGRDdDNDg4QzZDOEQ2QjkzCis6MTAyNUMwMDA5MEZGMDJFMEZEQTNFMEVEN0QwMEZDN0QwMEZDOTBGRkFDCis6MTAyNUQwMDAwMkUwRkZBM0UwN0UwMEZGRTRGRUVDNEVGNTRDRUQ0RjgxCis6MTAyNUUwMDBGNTRCNzU2NDNENzU2M0ZENzU2MjAxN0QzRDdFRkQ3RjM0Cis6MTAyNUYwMDAwMTc5NkRFNEZBRkI3NDA1NzgwMDEyMDMzRjc1NDkwMDE4Cis6MTAyNjAwMDBFNTQ5MjRGRTQwMTlBRDY0QUU2M0FGNjJFNDEyMDMwRkU2Cis6MTAyNjEwMDAwNTQ5MERFRDcwMDEwRThENjQ4RTYzOEY2MjgwRTE3NTRBCis6MTAyNjIwMDA2NDNENzU2M0ZENzU2MjAxOTBGRjAwRTA1NDYwQjQwMDg1Cis6MTAyNjMwMDAwMjgwMDZEMzUwMDMwMjJDMTJFNTRBNTQwRkY1NDlFNUY3Cis6MTAyNjQwMDA0QTU0ODBBMkUwOTIwMjkwRkYwMUUwMTIwMTgxMDAwQjQ3Cis6MTAyNjUwMDAyQzBEMjY2NzI3ODUyQzBEMjg5MTJDMEQyOTc0MjlBODZGCis6MTAyNjYwMDAyQjBGMkIxMjJCNTIyQkI2MkJFNEU1NjczMEU3MEVFNTMwCis6MTAyNjcwMDA0QzQ1NEI3MDA4RTU2QzY0MDI0NTZCNjAwMzAyMkMwRkZGCis6MTAyNjgwMDA5MEZGMDBFMDU0MUZCNDAwMDI4MDAzRDM0MDI5RTU0QUM0Cis6MTAyNjkwMDA2MDAzMDIyNzgyQUQ2NEFFNjNBRjYyNzQwMTEyMDMwRjYwCis6MTAyNkEwMDA3OEE3RTYzMEUwMEJBRDY0QUU2M0FGNjI3NDAyMTIwMzRDCis6MTAyNkIwMDAwRjdDMDIxMjJGQzMyMkI0MDEwMjgwMDNEMzQwMUJFNTFBCis6MTAyNkMwMDA2NzIwRTEwN0U1NEE2MDAzMDIyNzgyRTU0QTI0RkU1MEJECis6MTAyNkQwMDAwMzAyMjc4MjdDMDIxMjJGQzMyMkI0MDIwMjgwMDZEMzk3Cis6MTAyNkUwMDA1MDAzMDIyNzgwRTU2NzIwRTEwREU1NEE2MDA5RTU0QUNECis6MTAyNkYwMDA2NDgwNjAwMzAyMjc4MkFDNEExMjMwNEE0MDAzMDIyN0ZBCis6MTAyNzAwMDA4MkU1NDk3MDI1MzAwMjExOTBGRjgwRTA1NDA4QUQ2NEU1Cis6MTAyNzEwMDBBRTYzQUY2MjEyMDMwRjgwMEY5MEZGODJFMDU0MDhBREVBCis6MTAyNzIwMDA2NEFFNjNBRjYyMTIwMzBGODAzRDE1NDkzMDAyMURFNUIwCis6MTAyNzMwMDA0OTc1RjAwOEE0MjQ0OEY1ODJFNDM0RkZGNTgzRTA1NDk5Cis6MTAyNzQwMDAwOEFENjRBRTYzQUY2MjEyMDMwRjgwMUJFNTQ5NzVGMEZDCis6MTAyNzUwMDAwOEE0MjQwOEY1ODJFNDM0RkZGNTgzRTA1NDA4QUQ2NDRFCis6MTAyNzYwMDBBRTYzQUY2MjEyMDMwRkFENjRBRTYzQUY2MjEyMDFFNkY3Cis6MTAyNzcwMDA2MDBCQUQ2NEFFNjNBRjYyNzQwMTEyMDMwRjdDMDIxMjkyCis6MTAyNzgwMDAyRkMzMjI4MDAwMDIyQzBGRTU2NzIwRTcwNkU1NkM0NTg5Cis6MTAyNzkwMDA2QjYwMDMwMjJDMEY5MEZGMDBFMDU0MUZCNDAwMDI4MDE2Cis6MTAyN0EwMDAwM0QzNDAxQUU1NEMxNDQ1NEI3MDA0RTU0QTYwMDMwMjFDCis6MTAyN0IwMDAyODhFNzhBN0U2NTRGRUY2N0MwMDEyMkZDMzIyQjQwMUJGCis6MTAyN0MwMDAwMjgwMDNEMzQwMkFFNTY3MjBFMTA4RTU2NzIwRTAwM0EzCis6MTAyN0QwMDAwMjI4OEVFNTY3MzBFMDA0RTU0QTcwMEJFNTY3MzBFMURBCis6MTAyN0UwMDAwOUU1NEEyNEZFNTAwMzAyMjg4RTdDMDAxMjJGQzMyMkUyCis6MTAyN0YwMDBCNDAyMDI4MDA2RDM1MDAzMDIyODhDRTU0QzQ1NEI2MDlFCis6MTAyODAwMDAwMzAyMjg4RUFDNEExMjMwNEE0MDAzMDIyODhFRTU2NzQ0Cis6MTAyODEwMDAyMEUxMDdFNTY3MjBFMDAyODA3N0U1NjczMEUwMDZFNTI0Cis6MTAyODIwMDA0OTYwMDI4MDZDRTU0OTcwMEY5MEZGODJFMDU0RjdGMDM4Cis6MTAyODMwMDA5MEZGODBFMDU0RjdGMDIyRTU0OUI0MDEwMjgwMDNEMzExCis6MTAyODQwMDA0MDA5N0QwMTdDMDMxMjBGMEI4MDExQjQwMjAyODAwMzRBCis6MTAyODUwMDBEMzQwMDk3RDAxN0MwNDEyMEYwQjgwMDAxNTQ5MzAwMjIyCis6MTAyODYwMDAxNUU1NDk3NUYwMDhBNDI0NDhGNTgyRTQzNEZGRjU4M0EyCis6MTAyODcwMDBFMDU0RjdGMDgwMTNFNTQ5NzVGMDA4QTQyNDA4RjU4MkM4Cis6MTAyODgwMDBFNDM0RkZGNTgzRTA1NEY3RjA3QzAwMTIyRkMzMjI4MDdDCis6MTAyODkwMDAwMDAyMkMwRkU1NjcyMEU3MDZFNTZDNDU2QjYwMDMwMjNDCis6MTAyOEEwMDAyQzBGOTBGRjAwRTA1NDFGQjQwMDAyODAwM0QzNDAxQUE1Cis6MTAyOEIwMDBFNTRDMTQ0NTRCNzAwNEU1NEE2MDAzMDIyOTcxNzhBNzgyCis6MTAyOEMwMDBFNjQ0MDFGNjdDMDAxMjJGQzMyMkI0MDEwMjgwMDNEMzM4Cis6MTAyOEQwMDA0MDI5RTU2NzIwRTEwOEU1NjcyMEUwMDMwMjI5NzFFNTZBCis6MTAyOEUwMDA2NzMwRTAwNEU1NDk3MDBCRTU2NzMwRTEwOEU1NDkyNDBECis6MTAyOEYwMDBGRTUwMDI4MDdGN0MwMDEyMkZDMzIyQjQwMjAyODAwM0FDCis6MTAyOTAwMDBEMzQwNkZFNTRDNDU0QjYwMDI4MDY5QUM0QTEyMzA0QUI3Cis6MTAyOTEwMDA0MDAyODA2MEU1NjcyMEUxMDdFNTY3MjBFMDAyODA1NDFGCis6MTAyOTIwMDBFNTQ5NzAxNDMwMDIwOTkwRkY4MEUwNDQwOEYwODAwNzA4Cis6MTAyOTMwMDA5MEZGODJFMDQ0MDhGMDIyRTU2NzMwRTEzMzE1NDkzMDJBCis6MTAyOTQwMDAwMjE1RTU0OTc1RjAwOEE0MjQ0OEY1ODJFNDM0RkZGNTQyCis6MTAyOTUwMDA4M0UwNDQwOEYwODAxM0U1NDk3NUYwMDhBNDI0MDhGNUU1Cis6MTAyOTYwMDA4MkU0MzRGRkY1ODNFMDQ0MDhGMDdDMDAxMjJGQzMyMjk4Cis6MTAyOTcwMDA4MDAyODAwMDAyMkMwRkU1NjcyMEU3MTJFNTZDNDU2QkIyCis6MTAyOTgwMDA3MDBDRTU0QTcwMDg5MEZGMDBFMDU0MUY2MDAzMDIyQ0IxCis6MTAyOTkwMDAwRkU1NEM5MEZGRkZGMDkwRkZGRkUwNjAwNTQzNjcwMUZCCis6MTAyOUEwMDA4MDAzNTM2N0ZFN0MwMDEyMkZDMzIyRTU2NzMwRTcwRUQ5Cis6MTAyOUIwMDBFNTZDNDU2QjYwMDg5MEZGMDBFMDU0MUY2MDAzMDIyQzNCCis6MTAyOUMwMDAwRkFENEJFNTRDRUQ3RDAwRkM3RDAwRkNCRDAwMDI4MEIxCis6MTAyOUQwMDAwMzAyMkIwQUI0MDEwMjgwMDNEMzQwMzJFNTRBNzAwNTlBCis6MTAyOUUwMDBFNTRDRkM2MDAzMDIyQjBDNzU2NDAwNzU2M0ZDNzU2MjlBCis6MTAyOUYwMDAwMUQzRTU2Qzk0MTJFNTZCOTQwMDQwMDZFNEZEN0MxMjczCis6MTAyQTAwMDA4MDA0QUM2Q0FENkI4QzZBOEQ2OTEyMkZEODIyQjQwMjM1Cis6MTAyQTEwMDAwMjgwMDNEMzQwNTlFNTRBNjAwMzAyMkIwQ0U1NENGQ0NECis6MTAyQTIwMDA3MDI3NzU2NDEyNzU2M0ZDNzU2MjAxRDNFNTZDOTQxOUE3Cis6MTAyQTMwMDBFNTZCOTQwMDQwMDZFNEZEN0MxOTgwMDRBQzZDQUQ2QjQyCis6MTAyQTQwMDA4QzZBOEQ2OTEyMkZEODgwMjU3NTY0MkI3NTYzRkM3NThGCis6MTAyQTUwMDA2MjAxRDNFNTZDOTQzNUU1NkI5NDAwNDAwNkU0RkQ3QzlGCis6MTAyQTYwMDAzNTgwMDRBQzZDQUQ2QjhDNkE4RDY5MTIyRkQ4MjJCNEEyCis6MTAyQTcwMDAwMzAyODAwNkQzNTAwMzAyMkIwQUU1NENGNTQ5NzAwRjgwCis6MTAyQTgwMDA5MEZGMDRFMEZEQTNFMDRENjAwMzAyMkIwQzgwMTg5MDQyCis6MTAyQTkwMDBGQzgyRTBGREEzRTBGQzkwRkYwNUUwNkM3MDA3OTBGRjc2Cis6MTAyQUEwMDAwNEUwNkQ2MDAyODA2OEU0RjU2QUY1Njk3RjAwRTU0OTNECis6MTAyQUIwMDAxNEM1NDk2MDBGRUYyNDgwRjU4MkU0MzRGQ0Y1ODNFMDBGCis6MTAyQUMwMDAyRkZGODBFQThGNEFFNTRBMjQ4MEY1ODJFNDM0RkNGNTQyCis6MTAyQUQwMDA4M0UwN0QwMEQzOTU2Q0VEOTU2QjQwMDZBQzZDQUQ2QkRGCis6MTAyQUUwMDA4MDBGRTU0QTI0ODBGNTgyRTQzNEZDRjU4M0UwN0QwMDI0Cis6MTAyQUYwMDBGQzhDNkE4RDY5RTU0QTI0ODBGQ0U0MzRGQ0ZERkVFQzI0Cis6MTAyQjAwMDBGRDdGMDE4RDY0OEU2MzhGNjIxMjJGRDgyMjgwMDAwMkI4Cis6MTAyQjEwMDAyQzBGMDIyQzBGRTU2NzMwRTcxOUU1NkMxNDQ1NkI3MDNDCis6MTAyQjIwMDAxMkU1NEE3MDBFRTU0QzQ1NEI3MDA4OTBGRjAwRTA1NEVBCis6MTAyQjMwMDAxRjYwMDMwMjJDMEZFNTY3MjBFMDA4RTU2NzIwRTEwMzMyCis6MTAyQjQwMDAwMjJDMEY3NTY0NjhFNEY1NjNGNTYyRTRGNTY5MDRGNTM5Cis6MTAyQjUwMDA2QTEyMkZEODIyRTU2NzIwRTcyN0U1NkM0NTZCNzAyMUM0Cis6MTAyQjYwMDBFNTRBNzAxREU1NEM2NDAyNDU0QjYwMERFNTRDMTQ0NThCCis6MTAyQjcwMDA0QjYwMDZFNTRDNDU0QjcwMDg5MEZGMDBFMDU0MUY2MDI5Cis6MTAyQjgwMDAwMzAyMkMwRkU1NjcyMEUwMDhFNTY3MjBFMTAzMDIyQzMzCis6MTAyQjkwMDAwRjg1NEM2OEU1Njg3MDA4NDM2NzAxNTM2N0ZEODAxMzMzCis6MTAyQkEwMDBFNTY4NjQwMjYwMDdFNTY4MTQ2MDAyODA2NTUzNjdGRUFCCis6MTAyQkIwMDA0MzY3MDI3QzAwMTIyRkMzMjJFNTY3MzBFNzFBRTU2Q0Y5Cis6MTAyQkMwMDAxNDQ1NkI3MDEzRTU0QTcwMEZFNTRDNDU0QjcwMDk5MDQ2Cis6MTAyQkQwMDBGRjAwRTA1NDFGMTQ2MDAyODAzOEU1NjcyMEUxMDI4MEE2Cis6MTAyQkUwMDAzMTdDMDExMjJGQzMyMkU1NjcyMEU3MTVFNTZDNDU2QkE4Cis6MTAyQkYwMDA3MDBGRTU0QzQ1NEI3MDA5OTBGRjAwRTA1NDFGMTQ2MEM2Cis6MTAyQzAwMDAwMjgwMEZFNTY3MjBFMTAyODAwODdDMDAxMjJGQzMyMkJBCis6MTAyQzEwMDA4MDAwMDIyRUNBQjQ0MDAyODAwNkQzNTAwMzAyMkVDMEE4Cis6MTAyQzIwMDA5MEZGMDFFMDkwRkQzREYwRTU0QTkwRkQzRUYwRTQ5MDFDCis6MTAyQzMwMDBGRDNGRjBFNTY0MjQwM0Y1NjRFNTYzMzQwMEY1NjNBRDFFCis6MTAyQzQwMDA0QkU1NEM4NTY0ODI4NTYzODNDREYwQTNDREYwOTBGRjg2Cis6MTAyQzUwMDAwMUUwMTIwMUI3MkM3RDAxMkNBMzAyMkNDRDAzMkNGNzJGCis6MTAyQzYwMDAwNDJENDUwNTJEODIwNjJEQTgwNzJEQ0UwODJERjQwOTJCCis6MTAyQzcwMDAyRTFBMEIyRTQwMEMyRTRGODAyRTRGODEwMDAwMkVBREIxCis6MTAyQzgwMDBFNTY3MjBFNzA2N0MwNTEyMjU0QTIyN0RCNzdFMzQ3RjYyCis6MTAyQzkwMDAwMjc5NDA3QUZEN0IwMTc0MDg3ODAwMTIwMzNGN0QwOEI5Cis6MTAyQ0EwMDA3QzAwMTIyNEIxMjJFNTY3MjBFNzA2N0MwNTEyMjU0QTQ0Cis6MTAyQ0IwMDAyMkU1NEFCNDAzMDA0MDEwQjQwNTAwNTAwQkU1NEE3RkZBCis6MTAyQ0MwMDAwMEZFN0MxMDEyMzE5QTIyN0QwMDdDMDcxMjI0QjEyMjcyCis6MTAyQ0QwMDBFNTY3MjBFNzA2N0MwNTEyMjU0QTIyRTU0QUI0MDMwMDkxCis6MTAyQ0UwMDA0MDEwQjQwNTAwNTAwQkU1NEE3RjAwRkU3QzExMTIzMTA0Cis6MTAyQ0YwMDA5QTIyN0QwMDdDMDcxMjI0QjEyMkU1NjcyMEU3MDY3QzNBCis6MTAyRDAwMDAwNTEyMjU0QTIyRTU0QUI0MDUwMjgwMDNEMzQwMEFFNEFECis6MTAyRDEwMDBGRjA0RkU3QzBBMTIzMTlBMjJCNDAxMDI4MDAzRDM0MEUwCis6MTAyRDIwMDAwQUU0RkYwNEZFN0MwODEyMzE5QTIyQjQwMzAwNDAxMDJBCis6MTAyRDMwMDBCNDA1MDA1MDBCRTU0QTdGMDBGRTdDMTMxMjMxOUEyMjQ1Cis6MTAyRDQwMDA3RDAwN0MwNzEyMjRCMTIyRTU2NzIwRTczNEQzRTU2Q0NGCis6MTAyRDUwMDA5NDQ4RTU2Qjk0MDA1MDA2RTU2QzQ1NkI3MDA2N0MwMjY4Cis6MTAyRDYwMDAxMjI1NEEyMkU1NEFCNDAxMDNCMzQwMEJDM0I0MDMwMDYxCis6MTAyRDcwMDA0MDA5QjQwNjAwNTAwNDEyMzA3MDIyN0MwNzEyMjU0QTI0Cis6MTAyRDgwMDAyMjEyMjRFODIyRTU2NzIwRTcxREU1NEFCNDAzMDA0MDRCCis6MTAyRDkwMDAxMEI0MDUwMDUwMEJFNTRBN0YwMEZFN0MxNjEyMzE5QUY0Cis6MTAyREEwMDAyMjdDMDcxMjI1NEEyMjEyMjRFODIyRTU2NzIwRTcxRDJCCis6MTAyREIwMDBFNTRBQjQwMzAwNDAxMEI0MDUwMDUwMEJFNTRBN0YwMDFCCis6MTAyREMwMDBGRTdDMTkxMjMxOUEyMjdDMDcxMjI1NEEyMjEyMjRFODJECis6MTAyREQwMDAyMkU1NjcyMEU3MURFNTRBQjQwMzAwNDAxMEI0MDUwMDcyCis6MTAyREUwMDA1MDBCRTU0QTdGMDBGRTdDMTcxMjMxOUEyMjdDMDcxMkI1Cis6MTAyREYwMDAyNTRBMjIxMjI0RTgyMkU1NjcyMEU3MURFNTRBQjQwM0FDCis6MTAyRTAwMDAwMDQwMTBCNDA1MDA1MDBCRTU0QTdGMDBGRTdDMTgxMjBDCis6MTAyRTEwMDAzMTlBMjI3QzA3MTIyNTRBMjIxMjI0RTgyMkU1NjcyMEYzCis6MTAyRTIwMDBFNzFERTU0QUI0MDMwMDQwMTBCNDA1MDA1MDBCRTU0QTI1Cis6MTAyRTMwMDA3RjAwRkU3QzE1MTIzMTlBMjI3QzA3MTIyNTRBMjIxMjRECis6MTAyRTQwMDAyNEU4MjJFNTY3MjBFNzA2N0MwNzEyMjU0QTIyMTIyNDlGCis6MTAyRTUwMDBFODIyRTU2NzMwRTcyMDkwRkYwMEUwNTQxRjcwMTA5MEYzCis6MTAyRTYwMDBGRjAxRTBCNDgwMDUxMjI0REY4MDAzMTIyNEU4MjI3REY0Cis6MTAyRTcwMDAwMDdDMDUxMjI0QjEyMjkwRkYwMEUwNTQxRjYwMDY3QzA0Cis6MTAyRTgwMDAwNTEyMjU0QTIyRDNFNTZDOTQ0OEU1NkI5NDAwNTAwQjVCCis6MTAyRTkwMDBDM0U1NkM5NDA3RTU2Qjk0MDA1MDA2N0MwMzEyMjU0QTQ5Cis6MTAyRUEwMDAyMkU1NEFCNDA1MDQxMjMwNzAyMjdDMDcxMjI1NEEyMjFBCis6MTAyRUIwMDBFNTY3MzBFNzA4N0QwMDdDMDUxMjI0QjEyMjdDMDUxMjBECis6MTAyRUMwMDAyNTRBMjJCNDIwMDI4MDAzRDM0MDAwODAwMDEyMkY5RUE2Cis6MTAyRUQwMDAyMjc1NDMwMDkwRkY4M0UwNTQwRkQzOTU0MzQwMjRFNUNGCis6MTAyRUUwMDA0MzI0RjBGNTgyRTQzNEZFRjU4M0UwQUQ2NEFFNjNBRkQ1Cis6MTAyRUYwMDA2MjEyMDMwRjA1NDMwREVENzAwMTBFOEQ2NDhFNjM4RjFBCis6MTAyRjAwMDA2MjgwRDFFNTQzN0QwMEZDQzNFNTZBOUNGNTZBRTU2OTEyCis6MTAyRjEwMDA5REY1NjlFNTZBNDU2OTYwMDZFNDkwRkY4M0YwMjI5MEJCCis6MTAyRjIwMDBGRjgyRTA0NDA4RjBFNEY1Njk3NTZBNDk5MEZEM0RFMEYwCis6MTAyRjMwMDBCNDA1MDI4MDAzRDM0MDQwOTBGRDNFRTBGNTQzQjQwNTY0Cis6MTAyRjQwMDAwMjgwMDNEMzQwMEFFNEZGMDRGRTdDMEIxMjMxOUEyMjc0Cis6MTAyRjUwMDBCNDAxMDI4MDAzRDM0MDBBRTRGRjA0RkU3QzA5MTIzMTZECis6MTAyRjYwMDA5QTIyQjQwMzAwNDAxMEI0MDUwMDUwMEJFNTQzN0YwMEUzCis6MTAyRjcwMDBGRTdDMTQxMjMxOUEyMjIyQjQ4MDAwNDAyM0I0ODIwMEQ1Cis6MTAyRjgwMDA1MDFFN0MzRDdERkQxMjE3RDU3RDAwOEM2NjhENjU5MEIxCis6MTAyRjkwMDBGRDNGRTA2MDA1MTIyRjlFODAwNTdDMDAxMjJGQzMyMkFBCis6MTAyRkEwMDAyMjkwRkY4M0UwNTQ3RkYwOTBGRjgyRTA0NDA4RjA5MDhECis6MTAyRkIwMDBGRjgwRTA0NDA4RjAyMjkwRkY4MkUwNDQwOEYwOTBGRjk4Cis6MTAyRkMwMDA4MEUwNDQwOEYwMjI4QzIzN0QwMDhDNkE4RDY5NzU2NDUyCis6MTAyRkQwMDAzRDc1NjNGRDc1NjIwMTEyMkZEODIyOTBGRjgzRTA1NDg2Cis6MTAyRkUwMDA3RkYwRTU2QTY0NDk0NTY5NzAwMTIyQzNFNTZBOTQwODg3Cis6MTAyRkYwMDBFNTY5OTQwMDQwMTU3NTIxMDhFNTIxN0QwMEZDQzNFNUQ1Cis6MTAzMDAwMDA2QTlDRjU2QUU1Njk5REY1Njk4MDA5ODU2QTIxRTRGNUEwCis6MTAzMDEwMDA2OTc1NkE0OTc1MjIwMEU1MjJDMzk1MjE1MDI2QUQ2NDgxCis6MTAzMDIwMDBBRTYzQUY2MjEyMDFFNkZDRTUyMjI0RjhGNTgyRTQzNEQ3Cis6MTAzMDMwMDBGRUY1ODNFQ0YwMDUyMjBERUQ3MDAxMEU4RDY0OEU2M0JDCis6MTAzMDQwMDA4RjYyODBEM0U1MjE1NDdGOTBGRjgxRjAyMjhDNDg3RkVFCis6MTAzMDUwMDAwMEVGMjRGQjQwMTlFNEVGNzVGMDA3QTQyNDNGRjU4MjRDCis6MTAzMDYwMDBFNDM0RkNGNTgzRTA2NTQ4NzAwMkQzMjIwRjgwRTI4RkUwCis6MTAzMDcwMDA0N0MzMjI4NTZDNkE4NTZCNjk5MEZGODJFMDU0RjdGMDQ0Cis6MTAzMDgwMDA5MEZGODNFMDU0N0ZGMDIyQzAwMEMwMDFDMDAyQzAwNjYwCis6MTAzMDkwMDBDMDA3RTU3MjI0MDhGODg2MDY1MzA2N0Y3Q0ZGMTIzMENECis6MTAzMEEwMDBGQTdDMDA3RDAwRTU3NTYwNDZGRjkwRkU5REUwNTQ3RjUwCis6MTAzMEIwMDA2RTcwMEZDMDgzQzA4MkEzRTBGREEzRTBGQ0EzMTU3NTcyCis6MTAzMEMwMDA4MDA3QTNBM0EzREZFNjgwMjZERjA2RDA4MkQwODM4MDFCCis6MTAzMEQwMDAxRUUwRjhBM0UwRjlBM0UwRkFEMDgyRDA4M0U4RjBBM0UxCis6MTAzMEUwMDBFOUYwQTNFQUYwQTNDMDgzQzA4MkEzQTNBMzgwREExMjBECis6MTAzMEYwMDAzMTkzRDAwN0QwMDZEMDAyRDAwMUQwMDAyMjg1QTg3NDI5Cis6MTAzMTAwMDA3NUE4ODhFQzcwMDI3QzNGOEM3MzIyRTU3MjI0MDhGODY1Cis6MTAzMTEwMDA3NjAwMTIzMUU3ODBGQkMwMDBDMDAxQzAwMkMwMDZDMENCCis6MTAzMTIwMDAwN0FFMDQ3Q0ZGMTIzMEZBRTU3NTYwNDJGRjkwRkU5RDA5Cis6MTAzMTMwMDBFMDU0N0Y2RTcwMEJDMDgzQzA4MkEzQTNBMzE1NzU4MDdCCis6MTAzMTQwMDAwN0EzQTNBM0RGRUE4MDI2REYwNkQwODJEMDgzODBEODNFCis6MTAzMTUwMDBFMEY4QTNFMEY5QTNFMEZBRDA4MkQwODNFOEYwQTNFOTk1Cis6MTAzMTYwMDBGMEEzRUFGMEEzQzA4M0MwODJBM0EzQTM4MERBNzgwODA3Cis6MTAzMTcwMDAwODc5MTgwOTdDMDFFNjU0N0Y2RTcwMDY3NjAwNzcwMEE2Cis6MTAzMTgwMDA4MDA2MDgwOTBDQkMwOEVFMTIzMTkzRDAwN0QwMDZEMDk3Cis6MTAzMTkwMDAwMkQwMDFEMDAwMjI3NTczMDA4NTc0QTgyMkMwRjBDMDRGCis6MTAzMUEwMDA4MkMwODNDM0U1NzUyNEU4NTAwNTEyMzFFNzgwRjRFQzUyCis6MTAzMUIwMDA2MDMxOTAzNEI2RTQ5M0MzOUM0MDI4QzAwNDdDRkYxMjc1Cis6MTAzMUMwMDAzMEZBRDAwNDQzMDQ4MEU1NzU3NUYwMDNBNDI0OURGNTFFCis6MTAzMUQwMDA4MkU0MzRGRUY1ODNFQ0YwRUZBM0YwRUVBM0YwMDU3NTg2Cis6MTAzMUUwMDAxMjMxOTNEMDgzRDA4MkQwRjAyMkMwMDQ3QzIwRDI4Q0M0Cis6MTAzMUYwMDBEMjhERDUwNEZERDAwNDIyNzVBODAwNzU4ODAwNzVCODVECis6MTAzMjAwMDAwMDc1RjAwMDc1RDAwMEU0Rjg5MDAwMDBGNjA4QjgwMEYyCis6MTAzMjEwMDBGQjAyMDAwMEMzRUQ5NDAyNTAwNDdEMDM3Q0U4RUNGNDUzCis6MTAzMjIwMDBGQ0VERjRGRDBDQkMwMDAxMEQ4Qzc5OEQ3ODIyQzNFQzEzCis6MTAzMjMwMDA5NEJDRUQ5NDAyNTAwNDdEMDc3Q0QwRUNGNEZDRURGNERBCis6MTAzMjQwMDBGRDBDQkMwMDAxMEQ4Qzc3OEQ3NjIyRUM3MDAxMjJDMDQ0Cis6MTAzMjUwMDAwMEU1NzIyNDE4RjhBNjA0RTU3MjI0MDhGOEM2NTQ3RjI1Cis6MTAzMjYwMDBGNkU2MzBFNzAzRDAwMDIyMTIzMUU3ODBGNEMyOEM4NTA1Cis6MTAzMjcwMDA3NjhDODU3NzhBRDI4Q0MwRTBDMEQwQzBGMEMwODJDMDg2Cis6MTAzMjgwMDA4M0MwMDBDMDAxQzAwMkMwMDNDMDA0QzAwNUMwMDZDMEE2Cis6MTAzMjkwMDAwNzEyMUIyOEU1NzIyNDA4RjhFNjYwMjRFNTcyMjQxMDYyCis6MTAzMkEwMDBGOEE2ODFFNTcyNzVGMDIxQTQyNDk1RjU4MkU0MzRGRDM5Cis6MTAzMkIwMDBGNTgzNzhBOEU1ODEwNEMzOThGOUU2RjAwOEEzRDlGQTY0Cis6MTAzMkMwMDA3NDA4MjU3MkY4MDU3MjA4RTY1NDgwNzAwQ0U1NzJCNDMzCis6MTAzMkQwMDAwN0YzNzgwODc1NzIwMDgwRUZFNTcyMjQxMEY4ODY4MTk0Cis6MTAzMkUwMDBFNTcyNzVGMDIxQTQyNDk1RjU4MkU0MzRGREY1ODM3ODI4Cis6MTAzMkYwMDBBOEU1ODEwNEMzOThGOUUwRjYwOEEzRDlGQUQwMDdEMDZECis6MTAzMzAwMDAwNkQwMDVEMDA0RDAwM0QwMDJEMDAxRDAwMEQwODNEMEE1Cis6MTAzMzEwMDA4MkQwRjBEMEQwRDBFMDMyQzBFMEMwRDBDMDAwQzAwMTM4Cis6MTAzMzIwMDBDMDAyQzI4RTg1Nzg4RDg1Nzk4QkQyOEU3ODE5NzkwOTA1Cis6MTAzMzMwMDA3QTA3RTc3MDA0QTYwMDgwMEJFNjYwMDgxNkU2NzAwNEMyCis6MTAzMzQwMDBFNzQ0ODBGNzA4MDlEQUVBRTU3MzYwMTMxNEY1NzM3MDRGCis6MTAzMzUwMDAwRUU1NzIyNDA4Rjg3NjAwMTIzMTkzRDI4Q0QyOEREMDBCCis6MTAzMzYwMDAwMkQwMDFEMDAwRDBEMEQwRTAzMjc1ODFBNzc1OTAwMDk2Cis6MTAzMzcwMDA3NTc5MzA3NTc4Rjg3NTc3NjA3NTc2RjAxMjA1M0MxMkJFCis6MTAzMzgwMDAzNDBGMTIxNzhCMTIzNDM5MTIzMUY1ODBFMzIyQzAwMDRBCis6MTAzMzkwMDA3QzAxRUMyNDA4RjhFNjYwMDkwQ0JDMDhGNTEyMzFFNzYyCis6MTAzM0EwMDA4MEVFRDAwMDIyQzBGMEMwODJDMDgzQzAwMEMwMDZDMDQyCis6MTAzM0IwMDAwN0VEMjQxMEY4NzZCNkVENzVGMDIxQTQyNDk1RjU4MjdBCis6MTAzM0MwMDBFNDM0RkRGNTgzQzA4MkMwODNBM0EzRTQ3ODBERjBBM0E5Cis6MTAzM0QwMDBEOEZDRUM1NDdGNzVGMDAyQTQyNDgyRjU4MkU1RjAzNDI5Cis6MTAzM0UwMDAzNEY1ODNFNDkzRkU3NDAxOTNGNTgyOEU4M0U0OTNGRUI3Cis6MTAzM0YwMDA3NDAxOTNGRkQwODNEMDgyRUZGMEEzRUVGMEVEMjQwOEE4Cis6MTAzNDAwMDBGOEVDNDQ4MEY2RDAwN0QwMDZEMDAwRDA4M0QwODJEMDJDCis6MTAzNDEwMDBGMDIyNzU3MjAwNzU3NTAwN0EwODc5MTg3ODA4NzYwMEMwCis6MTAzNDIwMDA3NzAwMDgwOURBRjhFNDc4MDg3NDgwNDQ3RkY2NzQwMUJDCis6MTAzNDMwMDA0NDEwRjU4OTc1QjgwOEQyQUJEMkE5MjI3NTgxQTdEMkZDCis6MTAzNDQwMDA4RUQyOENEMkFGRTU3NTYwMzJGRjkwRkU5REUwNTQ4MDQ1Cis6MTAzNDUwMDA2MDI0NzgwODc5MDhFMDU0N0ZGQTdCMDBFNjU0N0ZCNTUxCis6MTAzNDYwMDAwMjAyN0JGRjA4RDlGNUVCNzAwQ0VBRjAxMjMzOEJBRDRBCis6MTAzNDcwMDAwNEFDMDIxMjMzQTJBM0EzQTNERkQyMTIzMUU3ODBDNUFBCis6MTAzNDgwMDA3QzAxN0QwMDIyMDRGNTA0RTkwNEVEMDRFMTA0REQwNDdGCis6MTAzNDkwMDBEOTA0RTUwNEYxMDQ5RDA0QTEwNENEMDREMTA0OTkwNEU4Cis6MTAzNEEwMDA5OTA0OTkwNEQ1MDRCNTA0QUQwNEIxMDRBOTA0QzEwNDc4Cis6MTAzNEIwMDBCRDA0QjkwNEM1MDRDOTA0QTUxOTAxMDMwMDIyMDA0OENDCis6MTAzNEMwMDAwMjAwMjQwRjE4MEExMDY0MEQ2ODBDMDUwNjAyMDMwMTlGCis6MTAzNEQwMDAwMTgxMDEwMDAwRTcwMEMwMDA4MDAwNjAwMDQwMDAzMDcyCis6MTAzNEUwMDAwMDE4MDAwQzAwMDgwMDA0MDAwMjAwMDEwMDA4MTgzODUxCis6MTAzNEYwMDAyODA2MDIxMDBBMDIwMDAwMDAwMDAwMDE4MTEwMEEwMkUyCis6MTAzNTAwMDAwMDAwMDAwMDAwRkJFOEZCRkExMjAxMTAwMUZGMDAwMEMwCis6MTAzNTEwMDAwODUxMDQ1RjUwMTYwMTAxMDIwMDAyMDkwMjM1MDAwMTQyCis6MTAzNTIwMDAwMjAwRTAwMDA5MDQwMDAwMDVGRjAwMDAwMDA3MDU4MTFCCis6MTAzNTMwMDAwMjQwMDAwMDA3MDUwMTAyNDAwMDAwMDcwNTgyMDI0MDJBCis6MTAzNTQwMDAwMDAwMDcwNTAyMDI0MDAwMDAwNzA1ODUwMzAyMDAwMTk0Cis6MTAzNTUwMDAwNDAzMDkwNDI0MDM1NDAwNjUwMDc4MDA2MTAwNzMwMDJCCis6MTAzNTYwMDAyMDAwNDkwMDZFMDA3MzAwNzQwMDcyMDA3NTAwNkQwMDQ5Cis6MTAzNTcwMDA2NTAwNkUwMDc0MDA3MzAwMkEwMzU0MDA1NTAwNTMwMDY4Cis6MTAzNTgwMDA0MjAwMzUwMDMwMDAzNTAwMzIwMDIwMDA1MzAwNjUwMDU1Cis6MTAzNTkwMDA3MjAwNjkwMDYxMDA2QzAwMjAwMDUwMDA2RjAwNzIwMDMyCis6MTAzNUEwMDA3NDAwMjIwMzU0MDA1NTAwNTMwMDQyMDAzNTAwMzAwMERGCis6MTAzNUIwMDAzNTAwMzIwMDIwMDAyMDAwMjAwMDIwMDAyMDAwMjAwMEU0Cis6MDQzNUMwMDAyMDAwMjAwMEM3Cis6MDAwMDAwMDFGRgpkaWZmIC0tZ2l0IGEvZmlybXdhcmUvdHJfc21jdHIuYmluLmloZXggYi9maXJtd2FyZS90cl9zbWN0ci5iaW4uaWhleApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42Nzk3NDUxCi0tLSAvZGV2L251bGwKKysrIGIvZmlybXdhcmUvdHJfc21jdHIuYmluLmloZXgKQEAgLTAsMCArMSw0NzcgQEAKKzoxMDAwMDAwMEJDMUQxMjNCNjNCNEU5MDAwMDFGMDAwMTAxMDAwMjA1QTIKKzoxMDAwMTAwMDAxMDAwNjAzMDEwMDA0MDkwMTAwMEEwNzAxMDAwODBCQTIKKzoxMDAwMjAwMDAxMDAwQzAwMDAwMDAwMEYwMTAwMTAwRDAxMDAwRTEzNzQKKzoxMDAwMzAwMDAxMDAxNDExMDEwMDEyMDAwMDA1MDAxNTAxMDAxNjE5M0QKKzoxMDAwNDAwMDAxMDAxQTE3MDEwMDE4MDAwMDBFMDAwMDAwMDEwMDAwNTYKKzoxMDAwNTAwMDAwMDQwMDFCMDEwMDFDMDAwMDA3MDAwMDAwMEYwMDAwNEUKKzoxMDAwNjAwMDAwMEIwMDFEMDEwMDFFMDAwMDA4MDAwMDAwMDIwMDAwM0YKKzoxMDAwNzAwMDAwMEMwMDAwMDAwNjAwMDAwMDBEMDAwMDAwMDMwMDAwNUUKKzoxMDAwODAwMDAwMEEwMDAwMDAwOTAwMDQ3OEM2QkMwMTk0MDQ5MzgwQjMKKzoxMDAwOTAwMEM4NDA2MkU5REExQzJDMTU1NTU1NTU1NTU1NTU1NTU4MkIKKzoxMDAwQTAwMDBCRTlFNUQ1OTVDMTlENzdDRUJCQTA2RTFDMDVGNjc3MTMKKzoxMDAwQjAwMEM2MDJGQTk2NzBFODFEQzAxNzBFMDJGQTU4N0RDMDVGOUUKKzoxMDAwQzAwMDcyQ0VFQ0E0QzM4NDkwN0EzMENEOEQ3OTE5RTc2QzI0N0MKKzoxMDAwRDAwMDI3OUMwODM5MDczOEE4NEE0Q0VBNEQ5ODlCMjQ0Q0MwMDUKKzoxMDAwRTAwMDI2RDNFNzU0NUE0REYyNEMwQzEzMjM0OTkwMzI2RUE0OTgKKzoxMDAwRjAwMERGOTM3MTEzNzcyNkUxMjZGODI2MEM0QzEyMjYwODA5QTcKKzoxMDAxMDAwMDgyODI2MEE5MzA3OTM2QjBCMkE4QTc3MjY0OEY5QjMzMUYKKzoxMDAxMTAwMDMzRjlCODM5RDUxMTczQUE3NTI2NUQyNjUxOTMyQTQ5NEEKKzoxMDAxMjAwMDk0Qzk5NTg5QkM0REM4OUI4MDlCQTA5OTA2NEM4NjI2OTYKKzoxMDAxMzAwMDU4OUJBNDlCOTkzNzYyNkM2NzlCMzMzMEJGMzY2NjYxQ0UKKzoxMDAxNDAwMEJGMzZFQ0M1QkQ2NjgyNUE1MDMxRDU5RDk4MTgyOTNDMDIKKzoxMDAxNTAwMDk4ODY0QzE3MjYzRTJDQjg2OTNCNDkyRUI0MDg0MzFBQTIKKzoxMDAxNjAwMEE0RjlCMzUxRjExMEYzNDNDRDA4NkY2Mzc5QjMzMzBFQTMKKzoxMDAxNzAwMDEzOTg0OTk4MDREQTdDRTA1Mjc5MzEwQzk4MkU0REFDRjIKKzoxMDAxODAwMDJDODQxNEVFNENGRTY3NUVFNDlBNzUyOUQ3QTkzNTNBQTMKKzoxMDAxOTAwMDk0NUJENTlCNThCNEFGNzU2NkFGMTRBOUVGNDA5NTI1MTUKKzoxMDAxQTAwMDA4QjlBRDQyRkNEOEQ5OEMzMzBFMTM5ODY2MUU0NUFDMDUKKzoxMDAxQjAwMEIwMEM0MkQzQ0NBNjEyNjJERUI0QjE4MDQ5N0RBMkRFN0YKKzoxMDAxQzAwMEI0MThDMDI0ODRFNjU0RjU4MzQ2MDE2ODFBNjMwQ0M2NEIKKzoxMDAxRDAwMDEyNjRGQTRDMzUxQzJDMEVBQUFBQUFBQUFBQUFBQUFBODgKKzoxMDAxRTAwMEFBQUFBQUFBQUFBREQ3MDI3MEUwNENGM0ExQzFENUMwQjEKKzoxMDAxRjAwMDNDQjk2OTM5NjA0RTU4NzcwMjY3OTMzQzk5RTRDRjM4MkYKKzoxMDAyMDAwMDFDOTcyRTQwMUI5MDMxNDZBMzVFMEU4ODM0NkEzNUUwNjEKKzoxMDAyMTAwMEU4QUEzNTFBQTlGNTE1NDZBM0VBN0Q0QUEzNTFBQTlGNzMKKzoxMDAyMjAwMDcwNTRBNjU3MkVCNENEQzhBMzBDQzFEQUM2RTFDQjdBNjAKKzoxMDAyMzAwMEQ0MUM2OEZGQ0Y1NUE4QzAyRDg1MTExNzQ0MkEzMDBCNTgKKzoxMDAyNDAwMDRBODhDMjREQjUyMEQ1MjYwMTY5NTE2OTUyMTk1MjYwQkMKKzoxMDAyNTAwMDE2OTUxNjgyOTY1NDk4MDVBNTQ1RjNERDZBRjkyODE4NzcKKzoxMDAyNjAwMEVGMDAzMDMwNTE0RTQ0NUQxMkQxNDNFNjEyNkY5RUJBMUEKKzoxMDAyNzAwMENDREYyNTAzMURFMDA2MDYwQTMwQ0NBOUVCMkQwMDg2NTUKKzoxMDAyODAwMEE2MTI2NTRGNTZENjY1NDk1RjNERTgzN0M5NDBDNzc4MjUKKzoxMDAyOTAwMDAxODE4MjhDMzMxODQ5ODBBRTQwQzUxODA1OUM2RDE4QzkKKzoxMDAyQTAwMDY2MEVGM0EwQzYxMjYyREVGNTA0QjRBQzZCQzYxOTkxRkIKKzoxMDAyQjAwMDczMDU0ODJFNzI5NDgwNzNBMUM4NDczNjY2NjQyRjM2NDIKKzoxMDAyQzAwMDY2NjQwNzk5MDI5MThFNzJEMTBGOUQwNjMxNzNBMEMzQTcKKzoxMDAyRDAwMDUxNkExQTIwQkYzQTBDMkM3Mzg3NDM1RTYwMDIyM0ZDREMKKzoxMDAyRTAwMEUwRDYzNUVGOUVGNUVGOTI4MThFRjAwMzAzMDUxODY2OTgKKzoxMDAyRjAwMDQ1Q0MwQjQ4MkU3MDBBNDAzOUQwRTQyMzlCMzMzMjE3OEIKKzoxMDAzMDAwMDlCMzMzMjAzQ0M4NTQ4QzczODE0QTVDRTI5N0VEMjgwRDIKKzoxMDAzMTAwMEExQThCNDQ4ODgyRkNFODMwQjFDRTFEMEQ3OTgwNDg4QkQKKzoxMDAzMjAwMDg3Q0U5NjMxNzNBNThGRjM4MzU4RDdCRTdCODJBRjkyNjkKKzoxMDAzMzAwMDgxOEVGMDAzMDMwNTE4NjY0NUNDMTUyMEI5QzgyOTAwNDUKKzoxMDAzNDAwMEU3NDM5MDhFNkNDQ0M4NUU2Q0NDQzgwRjMyMDUyMzFDODIKKzoxMDAzNTAwMEU0NTBENDVBMTc4ODJGQ0U4MzEwRjlEMDIzMTczQTA0Q0IKKzoxMDAzNjAwMDM1RTYwMDIyMTYzOUMzQTNGQ0UwRDYzNUUwQkZGNDE4MDkKKzoxMDAzNzAwMEYyMkQ0RDQzNTE2RTVBMjIxRjMwRDQxN0U3NDE5MTczMkQKKzoxMDAzODAwMDA1NDgyRTc3NjkwMEU3NDM5MDhFNkNDQ0M4NUU2Q0NDMzQKKzoxMDAzOTAwMEM4MEYzMjA1MjMxQ0VGNEM0RTA2MDRDOTlFMEJGRjQxQ0IKKzoxMDAzQTAwMDhGMjJENEQ0MzUxNkU1QTIyMUYzNUE4MkZDRTgzMjJFRUUKKzoxMDAzQjAwMDYwQTkwNUNFMTM0ODA3M0ExQzg0NzM2NjY2NDJGMzY2NEIKKzoxMDAzQzAwMDY2NDA3OTkwMjkxOEU3MEE5ODlDMEE5RUI1MTI1QzdDRDEKKzoxMDAzRDAwMEMzMzE4Qjk4MkE3Q0QzRUQzOEU5RDM0RTc0RUQ0OTlFMTYKKzoxMDAzRTAwMDBCRkY0MThGMjJENEQ0MzUxNkU1QTIyREVCNDUzMzhGNzgKKzoxMDAzRjAwMEZDRjdBMDVGMjUwMzFERTQwRTA2MEEzMENDMENGM0VCREUKKzoxMDA0MDAwMDQwREU2MUE4NzA5MjBBMDBFMTI0MUUwMEUxMjQxRTAwNzMKKzoxMDA0MTAwMEUxMjQxRTAwRTEyNDFFMDBFMTI0MUUwMTBGOTgyQTBCOTYKKzoxMDA0MjAwMEYzQTBDOEI5QTJBNDE3M0E2OTAwRTc0MzkwOEU3NTQ4QjMKKzoxMDA0MzAwMDVFNzA2OTAxRTYwMDUyMzFDQzE4MTRBNUNDMDk4Mjk0OTMKKzoxMDA0NDAwMDczMENBMDkxRjUyNUNDMDcwNjg0ODQ5RjMwQTJBNDdENkYKKzoxMDA0NTAwMDUwNzVBNjY1MDE0QThFQjRDQ0M0MzU1NDc1NjZBNDk3MTAKKzoxMDA0NjAwMDdBODk1MDUzMTM4MDE5RTM0OTVDNkRDRUE5NDAzNTA2NTMKKzoxMDA0NzAwMDc4RDI1NzA2RjFCMzJBOEQ5NzIzNjI5MjVENjk5OTFDNTEKKzoxMDA0ODAwMDZBMzZFNkNENDYxMjZGOUVFMUFCRTRBMzBDQzBERUFDNEIKKzoxMDA0OTAwMEQ0MEQyODFCRDAxMkE1MDBGODRCQUQzMzI4MDZBMERFRTIKKzoxMDA0QTAwMDE0OTczQTg5NURDMDBERTMwNjkwOTI1RDY5OTg2NkI5MkMKKzoxMDA0QjAwMDE5OTVFNEE4Q0Y5RDMzMTg0OUJFN0I4NkFGOTI4QzMzNDMKKzoxMDA0QzAwMDI0MTQwQ0Y0ODMyNDIxQzI3MEJGRjQxOEYyMkQ0RDQzODAKKzoxMDA0RDAwMDUxNkU1QTIyMUYzMkE4MkZDRTgzMjJFNjA1QTQxNzNBNjYKKzoxMDA0RTAwMDY5MDBFNzQzOTA4RTc1NDg1RTcwNjkwMUU2NDJBNDYzMzcKKzoxMDA0RjAwMDk4MDIyOTRCOUEyOTc4RTk0MDUzMTM4MTgxMzI2NzgyMDcKKzoxMDA1MDAwMEZGRDA2M0M4QjUzNTBENDVBRTUwMDg3Q0UwRDA1RjlEODcKKzoxMDA1MTAwMDA2NDVDQzAxQTQxNzNBNjkwMEU3NDM5MDhFNzU0ODVFMDIKKzoxMDA1MjAwMDcwNjkwMUU2NTlBNDYzOTgxQzUyOTczQjMwNTI4RTdENDYKKzoxMDA1MzAwMDJBMDkxRjUxRUJBNEE0MEFCOTk0ODdBRUM1MzEzODAyMjkKKzoxMDA1NDAwMEZGRDA2M0M4QjUzNTBENDVBRTUwMDg3Q0VBMjBCRjNBRjAKKzoxMDA1NTAwMDBDOEI5QTE2OTA1Q0U5QTQwMzlEMEU0MjM5RDUyMTc5NDMKKzoxMDA1NjAwMDk1NDgwRjMwMEE5MThFNjBFQjI5NzMwMDA5NTQwNENBMzQKKzoxMDA1NzAwMDgyNjU1MjY1RTRDQTIyNjU3MjY1MDkzMkUwOTk3MjRDNUYKKzoxMDA1ODAwMEM0RTAwQkZGNDE4RjIyRDRENDM1MTZCOTQwMjFGMzhBNDEKKzoxMDA1OTAwMDgyRkNFODMyMkU2MEE5MDVDRTlBNDAzOUQwRTQyMzlEMzIKKzoxMDA1QTAwMDUyMTc5OTU0NjE5OTAxRTY0MEE0NjM5ODA0QjE4NDk4NjQKKzoxMDA1QjAwMDE4RUYyRDAzMDUzMTM4MDJGRkQwNjNDOEI1MzUwRDQ1NUUKKzoxMDA1QzAwMEI5Njg4ODdDRTA1MDVGOUQwNjQ1Q0M4MTQ4MkU3MTM0MjcKKzoxMDA1RDAwMDhGNDgwMTQ4MTUyMTA1MjFFOTBBNTIwM0NFNUE0NjM5QjAKKzoxMDA1RTAwMENGNDc4RTYwQUIxQUYzNTM0M0VCMzUyNEI4MUIzMDA3NkIKKzoxMDA1RjAwMDA5OEE3NDJGN0U0MTc0MUUxRDBEODc0NjQ5RDU5NUQxRjkKKzoxMDA2MDAwMEQ1RDVCQkE5NEU4MjlEMDUzQTBBNzQxNEU4MjlEMDQyN0IKKzoxMDA2MTAwMDc0NUJDRTUwQzQwNzQ1QkNFMjBDNDA3NDVCQ0U4MzA0Q0YKKzoxMDA2MjAwMEY5OTU0RDEzNjM1RTZGMzEzQkEwOEJBMkM1Mzk4RDc4NzAKKzoxMDA2MzAwMDNBMjJBMDAwNkJDMUQxNTQ2MDE2RDk5MUEyRTc0MzhDMzUKKzoxMDA2NDAwMDI0REMxQ0UwNTExNzM5NkIzQkNDNEI0MjJFNkI1MEJGNjYKKzoxMDA2NTAwMDM2MzY2NTRGN0ExODU1MjU3ODk4MjNFNzUwM0VGMzgxNTIKKzoxMDA2NjAwMDRDMDI2RDNFNzE1M0FGNzhBOUQ0QTYyOUIxQkNEOTk5N0IKKzoxMDA2NzAwMEIyOEU2MjhGMjIyRTc1MTZCMEIyQUIyMzI4MTY1NDUyNUEKKzoxMDA2ODAwMDMxQkNEOTk5QjI4RTY2MTkwMjJFNzUxNjUwMkNBOUM4QTQKKzoxMDA2OTAwMEM2RjUyMEQzRTQ3RjRGOUMwQUQ2MTY3RjkwRUU0Q0VCMzQKKzoxMDA2QTAwMENGRTI4OEJBMkY0Mjg2QUVCREU1QTc1MjlGOTM2Mzc5MDkKKzoxMDA2QjAwMEVCMzMwOEY5OTQ1MjQ3Q0Q5OTI1NkYzQTBDMTNFNjU1NjAKKzoxMDA2QzAwMDM0NEM1QTREQjUyMzk1QTU0ODExNUEwQTQzOTVBQzJDODQKKzoxMDA2RDAwMEJBMjQwNTQ5QjFCQ0NBQTc3MjZDNkJDNUJERTgzMTY5QzMKKzoxMDA2RTAwMDUyNUQwNjEyNjUzRUIxNTA0QzdENEZBQzBBMzAwQjM2NjAKKzoxMDA2RjAwMDY0MTE3MzhBODM4RTc1MTI5RjdCRDI5OTU4RUU4MjJFNzUKKzoxMDA3MDAwMDc3QTBFMzlENUQ0RkJDMkE1MzI5NTNERTkzMjRCQUIzRUYKKzoxMDA3MTAwMDM2QUE0QUM2NzlENEI5REU2MjVBMTE3MzUwNTBCRjM3MkYKKzoxMDA3MjAwMDM2NkYxMzIzQkEwQzI0Q0VCREUyQTc1MkIyOEU2QjYwOTMKKzoxMDA3MzAwMDYyMkU3NTEzMzBBQ0EwNTlDQTY0NjM3OUIzMzM2NTFDNUIKKzoxMDA3NDAwMENDMzIwNDVDRUEyQ0EwNTlERjIzMUJENDgzNTI0N0RENTIKKzoxMDA3NTAwMDc5OTZENDlFQjM1MjRCQTI1QTFBOEQ1RDdCODJBNzUyRDIKKzoxMDA3NjAwMEIyOEU2NjE5MDIyRTc1MTY1MDJDOEMzMjFEN0I4RUE3MDgKKzoxMDA3NzAwMDUyQjFCQ0Q5OTk5ODA0REE3Q0UyQUNGRTY2MTkwMjJFMUIKKzoxMDA3ODAwMDY1NTBCRjMzNjY2NEZFNzQxODg2NEMxNzI2RDYxNjUyMjEKKzoxMDA3OTAwMDM5MThERTdBQ0NDMjNFNjUxNDkxRjM2NjQ5MDg2RTgzM0YKKzoxMDA3QTAwMDA5MzNBRjMxRUQwRDlEMDYxMjYyMkEzMThENkRFNzQxOUYKKzoxMDA3QjAwMDgyN0NDQUE2ODk4NzA5MkUyOUIxQUYxMDM5RDY2NDk3RTEKKzoxMDA3QzAwMDMwMUQ0Mjc1OTM0NDAyOEMyNEQyN0FCMzUwRjY4OTA1QzkKKzoxMDA3RDAwMDQzNUU2MTk4QzAyQzkyMjUzQzhCMjQ4OTQ5MDU0OUU3RUEKKzoxMDA3RTAwMDBDQjk4NDk4QjdBRDMzNDRBRTVBNTE4NjYwOUYzOEE5OEUKKzoxMDA3RjAwMEEyNkM2QkM0OEVGNDVFNDk0NjEyNjJERUI0Q0QyMTVDRkQKKzoxMDA4MDAwMEI0QTMwQ0MxM0U3MjI5QTI2QzZCQzYxMjYyNDdGMEU4MTkKKzoxMDA4MTAwMEMzMzIwNDM1NDA5MkE0ODI4ODEwOTI3Q0NCRDQyRkE0OUEKKzoxMDA4MjAwMDAyMTE4NDk4QjdBRDMzNDRBRTVBNTE4NjYwOUYzOEE5RkYKKzoxMDA4MzAwMEEyNkM2QkM0OEVGNDVFNDk0NDA4NDkzRTY1RUExN0QyNDcKKzoxMDA4NDAwMDAxMDhDMjRDNUJENjk5QTQyQjk2OTQ2MTk4MjdDRTQ1OUIKKzoxMDA4NTAwMDM0NEQ4RDc4ODEwOTI3Q0NCRDEyMjg2QzU4QUZCNkYzODIKKzoxMDA4NjAwMEEwQzEzRTY1NTM0NEQ4RDc5MjhFN0Q0QkMyRkE2MTI2MTMKKzoxMDA4NzAwMDA2M0FCMzZCMDMwNTQ5RTcwQ0I5NkY1QTY2OTU1Q0I0NDkKKzoxMDA4ODAwMEEzMENDMTNFNzAyOUEyNkVBNERGOTM3MTEzNzcyNkUxRjkKKzoxMDA4OTAwMDI2RjgyNkM2QkM5NDczRjkyRjBCRTk4NDk4MThFQUNDODUKKzoxMDA4QTAwMEVDMEMxNTI3OUMzMkZGM0Q1NkFGOTI4QjdBRDMzNUQ1OTEKKzoxMDA4QjAwMENCNEEzMENDMTNFNzAyOUEyNkM2QkM5NDczNDE5NzkxNzkKKzoxMDA4QzAwMEY0ODNDRTA0MjA2MjhCMDUxNjQ5OEMyNEMwQzc1NjkwNTEKKzoxMDA4RDAwMEMwQzE1Mjc5QzMyRTVCRDVBNjcyRDI5NEZBQUQ1OEM4NjYKKzoxMDA4RTAwMEZBOUY1NEIzMzI0QkI5NTRBNjUxODY2Qjc5RDA2MDlGQUUKKzoxMDA4RjAwMDMyMDUzNDREOEQ3QTREMUU3QUIzNTEwMEE5M0Q1OUE4NjkKKzoxMDA5MDAwMDdCNDQ4MkExQUY0QThENTJBOTUyNDE0OTRGM0EyRTQwQjEKKzoxMDA5MTAwMEE0OTk1MEJFOTAwODUyNzlDMzJFNjEyNjJERUI0Q0QwN0QKKzoxMDA5MjAwMDE1Q0I0QTMwQ0MxM0U3MDI5QTI2QzZCQzQ4RkUxRDI1REIKKzoxMDA5MzAwMDQ2QTk1NEE5MjBBNEE3OUQxNzIwNTI0Q0E4NUY0ODA0OUIKKzoxMDA5NDAwMDIzMDkzMTZGNUE2NjgwQUU1QTUxODY2MDlGMzgxNEQxQTAKKzoxMDA5NTAwMDM2MzVFNEE3OUQxNzIwNTI0Q0EyNDUwRDhCMTVGNDkxMTYKKzoxMDA5NjAwMERFOEJDOTI4QzI0QzVCRDY5OUE5NUNCNEEzMENENkYzMjQKKzoxMDA5NzAwMEEwQzEzRTY0MEE2ODlCMUFGMTZENENBQTkyRTAzNjk0QkQKKzoxMDA5ODAwMDcwOUIyOTc4MTNBRUIzQUE4NUQ0NDM3NTA5M0FDOUVCOTUKKzoxMDA5OTAwMDM1MjRCODFCMzI4RTEzNDg3RTRFRkQ0MEZENDBGRDQwOEQKKzoxMDA5QTAwMEZENDBGRDQwRkMxM0Y0MjFGOTE3NDU4QTMwMEIzMzVGRkQKKzoxMDA5QjAwMDgzQTIyQTMwMEIzMzVGODNBMkE4QzAyREIzMjA3MDkyOEMKKzoxMDA5QzAwMDEzOUFERTc0MTgyN0NDQUE2ODlCMUFGNzA3NDU1MTgwNDIKKzoxMDA5RDAwMDVCNjY0NzA3MzhBODIzRTc1MTExM0ZFMEU4ODU0NjAxRTkKKzoxMDA5RTAwMDZEOTkwNjEyNjU0RjdBMjAyNEJBQjMzMjE1MjU3QkFENzYKKzoxMDA5RjAwMDMzNzhBRTBFNzNEMDQ3Q0VBNzMwQ0M0NEZGODNBMkE4ODUKKzoxMDBBMDAwMEMwMkNEOTkxQzFEMTE1MTgwNTlCMzIwOEJBMkM1MTgwNDAKKzoxMDBBMTAwMDU5QjMyMDcwOTJFMjk4ODlGREJDRUUxODkwRkM4QkEyMkQKKzoxMDBBMjAwMEM1MkIwRDc4M0EyMkE1NjFBRjA3NDU1MTgwNUI2NjQ0MUUKKzoxMDBBMzAwMDlFQjM1MjRCODNBREM3MDlCRTFGOUY3NDY1NUQwQTE3RjUKKzoxMDBBNDAwMDdDQUJBMEMyNEMzODQ5MTIyRTM4NDkwN0EzMENDMTNFREEKKzoxMDBBNTAwMDY1NTM0NEQ4RDdBREU3MDAzMjRCOUIzMzM0NEEwMzAwOEIKKzoxMDBBNjAwMDlEMjVDRTgzMjRCODE5OTk4QzAyMTI0QkExOTlEOEMwMjgKKzoxMDBBNzAwMDI3NDk3M0NGRjkzQ0Y0N0NFNzk4MDRFOTJFN0YzOUUzRUEKKzoxMDBBODAwMDRGNDY1M0MwNjAxM0E0QjlFNTNDMDNERThGOUNGMzAwQ0UKKzoxMDBBOTAwMDlDNkZDRjNFODVGOUEzMzYwMjFFNjAzODkyM0U2MzFBRTIKKzoxMDBBQTAwMDEwOUZDRjE4MTA5MkJDRDBBNDBDRENDMDBGOUM5NzM0QzAKKzoxMDBBQjAwMDYyQjZFN0YzRjNBNUNGMTg0MjM0MUNDMkNBRkE4RTY4QjcKKzoxMDBBQzAwMDUyMDZBRjNDQTMwREJGOUU1MEUxRDE3M0NBRTAzQUZDODEKKzoxMDBBRDAwMEMxMDkxQTFFNkE1QzVCOEU2MzRFNzc3M0NDNjE2N0RENTkKKzoxMDBBRTAwMEU2NkM0OEQxRjMxQjI0Njk1MTA4RDQ0MjFCRjQ2N0QxNEEKKzoxMDBBRjAwMDgwNEUyRkQwOENEODMwMDlDMjFFODAxQzQ2MDEzQTQ3NDgKKzoxMDBCMDAwMEQwMzFBMTA2MDEzQTdGNDYzMDIxMTgwNEU5NUU4NDI5REMKKzoxMDBCMTAwMDAwQzAyN0NERDAwMDdDOTgwNEY5MkU4NDYyOEMwMjdEMjEKKzoxMDBCMjAwMEJBM0U3RTRDMDI3RDJFOEM2MTA4MzAwOUY0MUQwMTY1QjEKKzoxMDBCMzAwMDczMDA5RjUxRDA4NTIwMTgwNEZBQkQxOTQ2MThDMDI3QUMKKzoxMDBCNDAwMERGRDE5NDM4NEMwMjdEMTc0NjU3MDEzMDA5RjVGQTAxODAKKzoxMDBCNTAwMDA5MDYwMTNFODdBMTRCODhDMDI3REM3NDBEMzlEMzAwRkMKKzoxMDBCNjAwMDlGNzNEMDMwQjM5ODA0RkJCRDA2QzQ4MzAwOUY0N0QwNjkKKzoxMDBCNzAwMDM2NDhDQzAyNzFCRjNGOUExN0U2M0YwODIxRTY5MkE0OUYKKzoxMDBCODAwMDhGOUExMDMxQTdGMzEwQjE4NEFGM0FBQ0RDRjc3M0YyNEYKKzoxMDBCOTAwMDVDQzYyQURCOUU3RTdFOTczMTA4NjNEMDczN0I0M0E4QjgKKzoxMDBCQTAwMEU2M0QzNEVBRjNFMzE1QkY5RjE4NUY0NUNGRTg5RjVGNEEKKzoxMDBCQjAwMDlBNUIwM0QwRjNEM0NFMzcxQ0QwMEZCQjlFNjg3ODNCMzMKKzoxMDBCQzAwMEJDQ0EzMUU4RjlBMjAyMTJBMjczNTEwODZGRDFGMzQ2RjAKKzoxMDBCRDAwMDAxMzhCRjQwRkMyMzAwOUMyMUU4NDk1MTgwNEU5MUY0MkMKKzoxMDBCRTAwMDIxMDMxOTgwNEU5RkQwMjE2MzA2MDEzQTU2OEMwMjc0NkUKKzoxMDBCRjAwMEZFNzU0OTVFNjNEMzRBNTQ0MjM1MTNBN0QxODA0RTk1QTIKKzoxMDBDMDAwMEU4MUU5QTRDMDI3Q0REMUJCOUU2MDEzRTRCQTA2MkEzQjQKKzoxMDBDMTAwMDAwOUY2RThDRkNGMzAwOUY0QkEwNDIxOENDMDI3RDA3MTYKKzoxMDBDMjAwMDQzREExMzAwOUY1MUQwM0QzNDk4MDRGQUJEMUM2MjhDMDYKKzoxMDBDMzAwMDAyN0RGRDFDNjE3MzAwOUY0NUQxRjQ0RTYwMTNFQkY0RkYKKzoxMDBDNDAwMDI1QjAzMzAwOUY0M0QxQTc5QzE4MDRGQjhFODQwM0U5OTEKKzoxMDBDNTAwMDgwNEZCOUU4NDNDMTMwMDlGNzdBMEEzMTk4MDRGQTNFNjcKKzoxMDBDNjAwMDg0NDA0MTgwNEU4MkU3NDE4NzA5MjMwNDIzMDA5RDA1OEIKKzoxMDBDNzAwMENFOTYxQzI0OEMxMDhDMDI3NDE3M0EwNDM4NDkxODIxMjMKKzoxMDBDODAwMDE4MDRFODJFNzQ1MEUxMjQ2MDg0NjAxM0EwQjlENDExRDQKKzoxMDBDOTAwMEMyNDhDMTA4QzAyNzQxNzNBODIzODQ5MTgyMTE4MDRFQTUKKzoxMDBDQTAwMDgyRTc1MjhFMTI0NjA4NDYwMTNBMEI5RDQwMUMyNDhDNjYKKzoxMDBDQjAwMDEwOEMwMjc0MTczQTA5MEUxMjQ2MDg0NjAxM0EwQjk4MzYKKzoxMDBDQzAwMDZBMUMyNEIwRTExODA0RTgyRTZCNTBFMTI1ODcwOEMwQTcKKzoxMDBDRDAwMDI3NDE3MzA1NDM4NDk2MUMyMzAwOUQwNUNDQUExQzI0NDAKKzoxMDBDRTAwMEIwRTExODA0RTgyRTcwNjg3MDkyQzM4NDYwMTNFNTQ0ODQKKzoxMDBDRjAwMEY5NDA5RDA1Q0U1QTFDMjRCMEUxMTgwNEY5RDEzRTcwOEMKKzoxMDBEMDAwMDI3Q0YxM0U1NDQyQ0EwNDJDQjg5RjIyMTNBMEI5QzBBNTEKKzoxMDBEMTAwMDFDMjRCMEUxMTgwNEY5RDEwQjM4MTBCM0M0MjEzOTM2QzIKKzoxMDBEMjAwMDVDNDJDODg0MkI3OUQwNjFDMjc0MTUyNEJBRDMzMUU1RjIKKzoxMDBEMzAwMDU5MDgyOTA4RTA2NjYzNDI5NTEyODEwMDI5MEJDMTUxQzgKKzoxMDBENDAwMDI0QjgxOTk5OTAyMjkwQjQxOEEwOTE0MTAxNDE0MTQxRDEKKzoxMDBENTAwMDUyODNDQTQwMjg2ODI5MDhCQTE2MTA5Qzk5MEI1Njk0RTkKKzoxMDBENjAwMDkwNTIxNTc0QzAyNzFBMkFEMjkwMjVEMzAwOUQyOEFCMjMKKzoxMDBENzAwMDRBNDIxNzRDMDI3MEQ0ODQyRTk4MDRFMTJBNDIxNzRDNDAKKzoxMDBEODAwMDAyNzA4MjkwNEJBNjAxMzg1MTQ4NDJFOTgwNEUxNUE0NkEKKzoxMDBEOTAwMDIxNzRDMDI3MEZBNDEyRTk4MDRFODJBQzgwQUNBMEFDQjUKKzoxMDBEQTAwMEE5NTlFNTY0NDU2NUNBQzg0QUNFMEFDRTRBQ0U5NTkxOEUKKzoxMDBEQjAwMDk1OTQ5NTkzMjkyNUMwQ0NDQzg4QTQ5NzU2MzY2NDcyMTcKKzoxMDBEQzAwMDkwNTQ4QTlDNDUwOEI5Qjc2NjEyOTMwOUM5QjI3NDhFQ0IKKzoxMDBERDAwMEJBNjAxM0U1MzQ4RUJBNjAxM0U0NzQ4RUJBNjAxM0U1MUEKKzoxMDBERTAwMDY5MUQ3NEMwMjdDQTI5MUQ3NEMwMjdDRUQyMjVEMzAwMUYKKzoxMDBERjAwMDlGMzhBNDRCQTYwMTNFNUU5MTJFOTgwNEY5MTUyMjVEMDIKKzoxMDBFMDAwMDMwMDlGM0U5MTJFOTgwNEY5MDUyMjVEMzAwOURDNTQ4N0YKKzoxMDBFMTAwMDI1RDMwMDlDNDVDRUNEMDlDOUIyMUE0NEJBNjAxM0U3NjgKKzoxMDBFMjAwMDM0ODk3NEMwMjcxQzI3Qjc5QzgwQzJENzc2NTk5QjkzRkUKKzoxMDBFMzAwMDBDNjRDMzFEMUJGNDQ1NEJDN0M2M0EzN0U4ODE0QkM3NEEKKzoxMDBFNDAwMEM2M0EzN0U4OTE0QkM3QzYzMjYxOEVCM0JDQzM0QTIyNUIKKzoxMDBFNTAwMEU2QjUyNDk3NzFDOTg3QjQzMUFFNzNBMkNGMzlEMjVEOUMKKzoxMDBFNjAwMDA0NDQ0MkMwRDZERTcxMDYxNkJCREJDRTgzMEM2NEMzREQKKzoxMDBFNzAwMDFEMzExMzA0Rjk5NTREMTMzMjkzNjM1RTY2MTRDQzI5MkEKKzoxMDBFODAwMDJBNTMzMEE2NjE0Q0MyOTk4NTNBNzJDQ0MyOTk4NTA2MjQKKzoxMDBFOTAwMDFCQjMwQTY2MTQxNDI0OTk4NTMzMEEwOEIxODY2MTRDODEKKzoxMDBFQTAwMEMyODQyMTY4NzMzQjMwQTY2MTQxNEVBNTk4NTMzMEFDOTMKKzoxMDBFQjAwMDU5NzY2MTRDQzJCMDhERDY2MTRDQzJCMDJDRjY2MTRDRjMKKzoxMDBFQzAwMEMyQjE4Q0E1OTg1MzMwQUMwRjI0Q0MyOTk4NTYwRjI4NkEKKzoxMDBFRDAwMDY2MTU5MjFBMTk4NTMzMEFDQTg1MENDMjk5ODU2NUMzQUQKKzoxMDBFRTAwMEQ5ODUzMzBBQ0U3MDg2NjE0Q0MyQjM5NzcxMEM5OTNCOTkKKzoxMDBFRjAwMENDODM1ODBCRUE3NzlEMDY0QUJFMDQ3NDYwRTBEMTRFNUQKKzoxMDBGMDAwMDM4NEMzRUVFM0VFRTNFRUUzRUVFMzBCQkNBRTExRjc3ODEKKzoxMDBGMTAwMDFGNzcxRjc3MUY3NzI3NzA4RkJCODAwRTExRjc3MUY3MzAKKzoxMDBGMjAwMDdDNkYzQ0IzMzYwMkZCOERFNjU1NzA3RjJEMjQ2OTU1RUUKKzoxMDBGMzAwMDRGNThBOTIzMUY1NEY3OEE5NTI1MkI3NTBDQ0NBQzU2MTYKKzoxMDBGNDAwMDUxQ0M1MUU0NDVDRUEyMTIzOUMwQTBBRjU2NkE0OTdGQjgKKzoxMDBGNTAwMDAyOEMwOUY4MEJFQkFGNTY3NjY3NTJCMjhFNjlBNzExNzcKKzoxMDBGNjAwMDczQThCMUJDQ0FBMEE5MzY1MDJDOThFNzBBRjU2NkE0QUMKKzoxMDBGNzAwMDk3RTI1QTMwMjdCQUY3ODM0RUE1MzMwQTY2MTU4REU2RjUKKzoxMDBGODAwMDU1MzlEMkE3QUM1NDYwMTY3MDFCNzI4RTYyOEYyMjJFMTgKKzoxMDBGOTAwMDc1MTYwMkZCOERFNjBBOTUzRDYyQTMwMEI3MDFCNTUzQjUKKzoxMDBGQTAwMERFMkE1NDk0QURENDMzMzJCMTU5NDczMTQ3OTExNzNBQzAKKzoxMDBGQjAwMDg4NDhFNzAyQjAxN0RDNjc5RDRCOERFNzUyQUE3QkQ0QzcKKzoxMDBGQzAwMEFBOTJCREQ2OTlCQzU2MDJGQjhDRjM2NjY2QzZGMzY2NDAKKzoxMDBGRDAwMDY2NjI5OTJBRjgxODY4NzBCMDhBMEQ1NTU1NTU1NTUyQjEKKzoxMDBGRTAwMDMyRTE0MDVDMzgwQkVBOUI4NzAxN0RDMDVGNzAxN0RDMDMKKzoxMDBGRjAwMDA1RjVEQzlCMDE3RDYxNEQ4MEJFQTc3OTgyQTIxRjUwNjMKKzoxMDEwMDAwMDE1MkE4RjhCMUNFNUE1MTM4NDU4RTcwMjkxNTQwNTAyMUQKKzoxMDEwMTAwMDRCQkQyMjFBOTQ3RjlDMUFDMDVGNDIxQTIxRDE4MDU5N0QKKzoxMDEwMjAwMEMwNkQxQzJDMEE4MzU1NTU1NTU1NTU1NTU1NTU1NTU1NkMKKzoxMDEwMzAwMDU1NTQxQ0I4NUM2RTE3OUMyRjM4NUU3MEU3Qjg1RTcwMTQKKzoxMDEwNDAwMEJDRTE3OUMyRjM4NUU3MEJDRTE3OUMyOTlDMjk5QzI5MkEKKzoxMDEwNTAwMDlDMjMwRjU4MTRFRTM1NzcyNjIxOTMwNUM5QjAxN0QyN0IKKzoxMDEwNjAwMDFEMTg4QTIxOTMwNUM5QjAxN0QxODdBQzBBNzQwRkFFMzkKKzoxMDEwNzAwMEY1NUE4MkEzRTQzQTMxMTRCQkQ3NTk5OTc0QTIxOTMwQjYKKzoxMDEwODAwMDVDOUIwMTdEMTg3QUMwQTc0MEY4NDNENDYzODkyNUQwQzIKKzoxMDEwOTAwMDEwRDYxQzZBMTBGNTU1ODkyNUQxNTE2NjFGNTFGNTkxNUUKKzoxMDEwQTAwMDQ5MkU4OTE1OTg2QUEzRTA4QTk0NjU2NDBFMTMxNzM4NEYKKzoxMDEwQjAwMEE4ODY0QzE3MjZDMDVGNDYxRUIwMjg2MzFGMDg3QThDOEUKKzoxMDEwQzAwMDcxMjRCQTAyMUFEMDBENDIxRUFBQjEyNEJBMkEyRDMxQjcKKzoxMDEwRDAwMEY1MUY1ODc0OTJFODg3NUE2MzUyREVGNDUxNjk0QTNFMEMKKzoxMDEwRTAwMDA5Njk0NjUwRjBFMTMxNzMwNTQ1QkQ1OThEOEI0QTdDNDUKKzoxMDEwRjAwMEQzRUQzOEU5RDM0RTc0RUQ0NDMyNjBCOTM2MDJGQTVCNzEKKzoxMDExMDAwMERFOEEyRDI5RDBFMTIxRjVBMzkyMjFGMjE5MzA1QzlCRDIKKzoxMDExMTAwMDAxN0QyMUY1QTBDNjAxNjcwMUI0NDVDRUE1MTIzOUQ0RTEKKzoxMDExMjAwMDFDMDVGNDQwQTFDMkMzNTA2QUFBQUFBQUFBQUFBQUFBRTQKKzoxMDExMzAwMEFBQUFBQUFBQUFBQTgxQUY4NjlGMTkxQkU3ODFGMzY1NkEKKzoxMDExNDAwMEYyODBCRTcwMTdERkRGMzgwQkVCMERDMzgwQkVBNzBGMzgKKzoxMDExNTAwMDk1NEY1QTk0QzAyQ0Q4QjFBN0NFNUExMTczQTgzQUMyNTEKKzoxMDExNjAwMENDQjYzMDE3REM2RjM1QTk4MDREQTdDRTJBMTg3OUM1Q0IKKzoxMDExNzAwMDQ5REU2MUE4MjJFNzUwMzNGOTk4NjQwOEI5OTU0MkZDMkEKKzoxMDExODAwMENDRDk5NTNENjJBMjQ4RDQ0OEU3MDI4OEI5QzFBMEUzMTIKKzoxMDExOTAwMDlENEU2MkU2Q0NDNjZCQ0U4MzEwQzk4MkU0REFDMkM4MkIKKzoxMDExQTAwMDFFQzNCOTM2MDJGQUE5RUI0RTMwMzBGQTBERjBBOUVCQTYKKzoxMDExQjAwMDQwQjkwRkFBN0FEMkMyQzhGQUE3QUQ0MTBBNDdENTNEQjUKKzoxMDExQzAwMDY4QUNGMUY1NEY1QTk3NTQ3RDRGQThBQTU1MUYxMTczN0IKKzoxMDExRDAwMDVBQjAxN0RFNUQ1OUE5MjVEMDU1MkE0NkJDQjgyMkFFQjMKKzoxMDExRTAwMDQ1MjkzRTE0RkFFMTk5OTRDQTRBQkUzREQ2OTk5MjVEQ0EKKzoxMDExRjAwMDE1MTdDOEQ3REMxNTE3OEE0MDFGMEE5RUFDQzk2NTQ5NjgKKzoxMDEyMDAwMDVDMUQxMDY4NEEzRTVCREU4MzE2OTU4MEJFOTE3NDU4NjMKKzoxMDEyMTAwMEE0MDA3QzM4RTc1NjMwMTdERjc1QTY2NDk3NDUyMDlERkIKKzoxMDEyMjAwMDAzNUY3MDU0NUUyOTFERjBBOUVBQ0M4NjU0OTVDMUQxQTQKKzoxMDEyMzAwMDA2ODMwRkFBN0JEMDY1NDk0NUJERTk2MkQyOTFERjA0RTAKKzoxMDEyNDAwMDVEMTYyOTFDN0Q0RkFDMUE0NzFBQTlGNTY3NjY1MzI4MEQKKzoxMDEyNTAwMEI3QkQyQzVBNTIzQkUzREQ1OUE5MjVEMUE4QUMwODZCODgKKzoxMDEyNjAwMEVFMDhBQkM1MjAyRjg1NEY1NjY2NzU0OTVDMUMxODFEQ0UKKzoxMDEyNzAwMDgxQzI2NDA1RjA4MEJFMzU1Q0QwMTdDMjU1RjA5NTdDMDQKKzoxMDEyODAwMDI1NUYwODBCRTEwMTdDN0JBQjM1MjRCQTEwNTU5MzFBMUUKKzoxMDEyOTAwMEZCODIyQUYxNDhEN0MyQTdBQjMxQjJBNEFDNjM5RDRBMDYKKzoxMDEyQTAwMDhEN0M3QkFCMzUyNEJBMTA1NDMwOEQ3REMxMTU3OEFDNjQKKzoxMDEyQjAwMDZGNUE5NDYwMUFFMzc5RDRBQTRGODU0RjU2NjZENTQ5ODAKKzoxMDEyQzAwMDU4QzczQTk1NDlGMDQ1RDE2Mjk0ODZCQzFEMTNEMjkwMTcKKzoxMDEyRDAwMEZGQ0Y3QTgzRjI1MDMxREUwMDYwNjBBMTE3MzVBODVGM0UKKzoxMDEyRTAwMDlCMUIzNzA3NDQxQTMwMEIzODBEQkMxQ0UwRDA0N0NFOEYKKzoxMDEyRjAwMEEwQUE3QUExOTg2QTkyOTUzRDY4MzE4MDVCODBEQUE5QUMKKzoxMDEzMDAwMEVGNDE5NTI1MTZGN0E1OEI0QUM2NzlCMzMzNjAyRkFBMEUKKzoxMDEzMTAwMDlFQjE1MTgwNTk5RUNBQTdBQzBBMzAwQjY3QjJBREQ1QjkKKzoxMDEzMjAwMERBOTI1RDE3QTMwMEIzMkQ5NTZFMDhBOTU4QTExNzNBNUMKKzoxMDEzMzAwMDhCMDE3RDU0Rjc4RTk1MjUwODFDRTA1NjAyRkJDMUQxMjgKKzoxMDEzNDAwMDE1MTgwNTkyNkIzQzFEMTIyOEMwMkNBNTZDMTE3MDE3NDYKKzoxMDEzNTAwMEIyMzg0RDgwQkVFMDJGQjRFQzRBRURCMzlFMDJGQjgwNjQKKzoxMDEzNjAwMEJFRTAyRkIxMzk5MzNFNkRFNzEwNjA5RjMyQTlBMjZDQTkKKzoxMDEzNzAwMDA1RjQ0MEU2MEE5NTNENkEyMzAwQjM4MERBQTdENjJBMzEKKzoxMDEzODAwMDAzMEQ3MDE3RDIyRTc2Mjk0RkJDNTRBNjUxNkY3QTU4OTAKKzoxMDEzOTAwMEI0QUMwNUY0OEJBMkY0MEUzNTBENDkyRUI0Q0MxOEE1Q0YKKzoxMDEzQTAwMEM4Rjg0QTk3MjNFMTA1MkU0N0MyOEE1QzhGODU2OTcyODcKKzoxMDEzQjAwMDNFMUY0QUMzNTUxRjU2NDMzMjhDQTM1RTYwQTg0NUNFREMKKzoxMDEzQzAwMDBENjAyRkEzODQ5REQ4RjAxN0QyMkUwRTFCMjM4NEQ4MzYKKzoxMDEzRDAwMDBCRUI4OUYzODBCRUUwMkZCQjM5ODVERjIyMDNFNzAxRTkKKzoxMDEzRTAwMDdEQzA1RjcwMTdEMTE3MzgxNDVCRDZBMjc0MEQ0QjdBOEQKKzoxMDEzRjAwMEIzMzE5Njk0NkJDQzM1MjNENzQ5NDgxNTczMjkwRjVEQ0IKKzoxMDE0MDAwMDhBQzA1RjRENzk4NDM1ODBCRTg4MUNDMzUyOUY1OTY4NUQKKzoxMDE0MTAwMEMwMkNFMDM2QUE3QkNENEE5MkJFRjM4MTRBN0Q1QjU5NEYKKzoxMDE0MjAwMDk0Q0ExQzI0RUVDNzgwQkU4ODFDQzM1MjlGNTk2OEMwNTIKKzoxMDE0MzAwMDJDRTAzNkFBN0JDRDRBOTJCRUYzODE0Mzg0OUM3QjM4NTQKKzoxMDE0NDAwMDBCRUJBRjcwRDRFQTUzMDA5QjRGOUM1NDMwRjM4QTk0NUIKKzoxMDE0NTAwMEZBQjZCMzI5OTQyMkU2MUE4NUY5QjA1OTkzRjlEMkM0QTEKKzoxMDE0NjAwMDMyNjBCOTM2QjBCMzkwRDk3NzI2MUMyNzIyRTg5NkI0RkIKKzoxMDE0NzAwMDIzRUE5RUI1MTE4MDU5NjU4NjIwNzM5NjhENzlBRDU4MDMKKzoxMDE0ODAwMDBCRTkxNzQ0OEE0QTA3RDc3QTgyQTE5MEZBRUYwMTU0RjAKKzoxMDE0OTAwMEJBNTBENDU5MUUyQ0U5RjM4QTk5ODU2QjBCMjMxNTk3MDIKKzoxMDE0QTAwMDcyNjExNzMwRDQyQzczODc0OEFBMDI4MTI1REU5MTBEMTIKKzoxMDE0QjAwMDRBQzA1RjdFRDI4MEE1M0VCMkQwQzg2QjgwQkU4ODFDNzkKKzoxMDE0QzAwMEVBMDkxNzQ0MUEzNzFBOTE3NDU4QTM3MUFGMDc0NDU0QTQKKzoxMDE0RDAwMDZFMzVFMEU4QUE2NDBGOTBGQUQwNjMwMEIzODBEQTJDOEUKKzoxMDE0RTAwMDczODc0OEFBMDI4MTI1REU5MTBENEFDMDVGNDhCQTI3NUEKKzoxMDE0RjAwMEEzMDBCNzAxQjc0RjlDQjQ2QkNDMzUxNkY1NjY2MzJEQ0UKKzoxMDE1MDAwMDI5MUVCQTRBNDBBQjk5NDg3QUVDNTA4QjlDMDgyMkZDQzEKKzoxMDE1MTAwMEY5QjI1NTNENjJBOTIzNTEyMzlDMEEzQzczMEQ0NDVDRUEKKzoxMDE1MjAwMEUxNTA3MUNFQTExRkU3MTU2QjBCMjVFRDBCOTM2MDJGREEKKzoxMDE1MzAwMEFBOUVBQzM2NjU0OTVGN0EyMDUwMDg3RkVGMzkxNDQ5N0UKKzoxMDE1NDAwMDAxMTE4MTA0NjA0MENDNTlDMEFEMjNFQjQxQjA4MUYyNjAKKzoxMDE1NTAwMDNBNDFBQTUwNDNFNEQ0ODY1NEEwODdDMTUyQ0E5MzAxQTkKKzoxMDE1NjAwMDMyNTQ5RDI0MDIwMDAwNTJBRjE2NDZBNzkxNjcwOEI0N0EKKzoxMDE1NzAwMDA0NTFGMTY1MTlCNDZFMkRDMEFENDkwMDkyNTcxQjc0MkEKKzoxMDE1ODAwMDQ1NUYyMzUxQjc0NDBBMTAwNkEzNkU4QjZCMDgxRjE5RTEKKzoxMDE1OTAwMEQxRTY4MDgyODA1NDA0MkE0NTkxQTlFNDU5QzIyRDAxRTQKKzoxMDE1QTAwMDE0MDQ1MEQzRkM1NTg0NjFEOTgwNTEyRkUyMUY0NjVGNEIKKzoxMDE1QjAwMDQwRTAyMDE1NEFCQzU5MUE5RTQ1OUMyMkQwMTE0OENCQzgKKzoxMDE1QzAwMEU4MTQwODAxNTQxNUUyQzhENEYyMkNFMTE2ODA4QTQ2Q0EKKzoxMDE1RDAwMDVGNTI3Q0Q5QThGODg4RDA1QTNDRDI1QzVCODBEQUE3RUQKKzoxMDE1RTAwMEQ2NUEwODg2QTQ1RDE3QTBDMzUyMkU4OEE4MjIxRjUzN0UKKzoxMDE1RjAwMEVBREFDQ0E2NTBFMTI3NzYzQzA1RjU0RkFCNkIzMjk5ODEKKzoxMDE2MDAwMDQzODQ5QzdCMzgwQkU5MjdBQ0Q0OTJFMDBFREEzODRENEEKKzoxMDE2MTAwMDgwQkVFNjdENTBCQTUxQUU2NkVGQkNEQzdCODcxRTAyMTEKKzoxMDE2MjAwMEZBOTNFNkNENDdDNDQzQ0QwRjM0OURBMzAwQjA1NTAxRDYKKzoxMDE2MzAwMEFFMDM4NDA0Q0UwMUQwRTE3MDAyODAwRTg5RTkyMjFGM0UKKzoxMDE2NDAwMEUwRTg5NkIwMTFGNEMyQ0UwMzZBNDQyREMwNkQ0ODA1OUYKKzoxMDE2NTAwMEI4MERBMzAwQjc3NkQ1REVCMTUwREM3RDc3QkM1NEJBQTcKKzoxMDE2NjAwMDUyN0Y1ODE0MzQwRjlBRjM4MTU4MEJFQUVGNTgxNDYwRTQKKzoxMDE2NzAwMDE2QTU2QzJFRjc4MTRCQTU2RjdENURFRUI1MkU5NTgwN0UKKzoxMDE2ODAwMEJFRjA3M0JEMDQ3Q0VBRkVFQjRDREUyOTUzREQ2QTU0RTgKKzoxMDE2OTAwMDk0QTlFQTBBOEMwMkQ2NEMzQzA1RjQwMEVBQ0Q1NkFGNzgKKzoxMDE2QTAwMEMwNDdEMjlDOEQyOUNBRTAyRkFFQkQ3NTk5OUQ0QUY5REQKKzoxMDE2QjAwMEVGNTE3Qzk0MEM3NzgwMTgxODI5MkFGOEUwRThBQTMwQkEKKzoxMDE2QzAwMDBCMkE5ODdDMUQxMTUxODA1OTU0QzM1MUY1MUIzMzI0QUEKKzoxMDE2RDAwMEJCODJBNTE5NUMxRDEwMjhDMDJDOUFDN0MxRDEyMjhDRDEKKzoxMDE2RTAwMDAyQzk5NDY0NUMwQ0Q2OEUxMzYwMkZCODBCRUEzMEUzMDkKKzoxMDE2RjAwMEMwNUY0OERDNzgwQkU4MDBFM0MwNUY2QzM4RDUyRTM1NUUKKzoxMDE3MDAwMDRGNUE4QTYxQUE5RjU2MUIzMjk5NDY0MkM4MDEwQzQ1MUUKKzoxMDE3MTAwMENFQTUxN0U2QzZDRUE5RUIxNTE2NDZBMjQ3MzgxNDQzNDgKKzoxMDE3MjAwMDI2MjJFNzNENjAyRkFBOUVCNTEyRTA3RjAxN0RFM0U3MDgKKzoxMDE3MzAwMDAyOTNGOTk1NDQ1Q0U1QTBFMzlENEE3RjlDNTRBOUVCOTQKKzoxMDE3NDAwMDUxMDU0NkI5RkNDMDFCMjIyRTY0NTQyRkNENDZDQ0E3QjAKKzoxMDE3NTAwMEQ1ODZDQ0E2NTA1NUM2NDVDRTVBMEUzOUQ0QTdGOUM1NjQKKzoxMDE3NjAwMDRBOUVCNTExODA1OUMwNkRDRkU2MDBEOTExNzMyMkExRjAKKzoxMDE3NzAwMDdFNkEzNjY1M0VBQzM2NjUzMkIwMTdERDNFNzJEMjc5OTAKKzoxMDE3ODAwMDMxMEM5ODJFNEMyMDczMkE4RkYzOEFBREU3NDE4MjdDNkUKKzoxMDE3OTAwMENBQTY4OUI1ODU5RkIwRjAxN0Q1MUY1NDU0MjUxQUE4M0QKKzoxMDE3QTAwMEZGMkE5NDY1MTFENzQ5NDRENUNDQTA1NUQ4QUUwRTg4RjAKKzoxMDE3QjAwMDE0NjAxNjRENjMyMkUwNzI4NjM4NEQ4MEJFRTAyRkI4NkIKKzoxMDE3QzAwMDBCRUUwMkZCODEzOEYwMTdEN0Q3MUUwMkZBRkFFM0MwRkUKKzoxMDE3RDAwMDVGNEM4NTkwMDIxOEM4NUI4MERBMzAwQjcwMUI0QzIyN0UKKzoxMDE3RTAwMEQzNEMzMzAzOEMyRTRDNDMyNkQwRjU2MzY2RDA5NUE3OUIKKzoxMDE3RjAwMENFNDUzMzBBRDYxNjQyMzg2RUU0Q0VCRDU5MkNEMkFCNTQKKzoxMDE4MDAwMEJBOTQ5REU2MUFCMDE3RDU0RjVBOEIwOTFBODhCOUM1RjQKKzoxMDE4MTAwMDQyNDczMEQ0MzIxNjcyODg2NUJENTk5OTI1QTU2MDJGOEMKKzoxMDE4MjAwMEI4NjBGMzA4Qjc0QTFBOEZBQjBEOTk0NjUxQUYzOEE4ODQKKzoxMDE4MzAwMDhFOTA2NTEzNTIxOEEwNTRCMTQyMkU2MUE4NDhFNzJEMkUKKzoxMDE4NDAwMDE2RjdBODA1QTU2MDJGQTQ3NUQyNTEzNTczMjgxNTc2MTMKKzoxMDE4NTAwMDJCODNBMjA1MTgwNTkzNThDOEI4MDYyODYzODREODBCQjMKKzoxMDE4NjAwMEVFMDJGQjgwQkVFMDJGQTA0M0E3MDE3RDRDRTNDMDVGRUEKKzoxMDE4NzAwMDcwMTdEQzA1RjQ2NDJEQzA2RDE4MDVCODBEQTVCRDZBQTAKKzoxMDE4ODAwMDIzODZBQTlFQjUxMUE0NkFBM0VBOEE4RDIzRTExNzM4OUMKKzoxMDE4OTAwMDM0Njk3MTk4NDVBNjk4NkEzRUFDMzY2NTE5NDZCQ0UyMzMKKzoxMDE4QTAwMEEyM0E0MTk0NEQ0ODYyODE1MkM1MTZGN0E4OEI0QTU0MUEKKzoxMDE4QjAwMEY1QTg4QzAyREMwNkQxMDM5Q0I0QTlFRTBBOTUyNTJBNzIKKzoxMDE4QzAwMDdBQUQ0NjAxNjcwMUI1RDdBQzBBMzAwQjZDNDkzNUU2RjUKKzoxMDE4RDAwMEI1NjdGMzAwNkM4OEI5OTE1MEJGMzExQjMyQTdCODY4NjcKKzoxMDE4RTAwMDk1MjU3QkFEMzM3OEE3Q0QzRUQzOEU5RDM0RTc0RUQ0N0UKKzoxMDE4RjAwMDIyRTcwNjg0OEU2MEE4RkYzOEFCODM5QzJBMDhGOUQ0QkYKKzoxMDE5MDAwMDIwNjNCQzFBMDYwQUMwNUY0NjQyREMwNkQxODA1QjgwQjkKKzoxMDE5MTAwMERBMjJFNjFBODQ4RTcyRDE2RjVBODA4NzFBQUE3QUQ0OTQKKzoxMDE5MjAwMDQ4QzhENTQ3RDUxNTIzMjNFMTE3MzgzNDhDQkE0QjdCRUIKKzoxMDE5MzAwMEQ0MDJEMjhDMjJEQzA2RDUxRjU2MUIzMjhDQTM1RTcxREEKKzoxMDE5NDAwMDUxMUQyMENBMjZBNDMxNDBBOTYyQjAxN0RGOUVGNEI3MEEKKzoxMDE5NTAwMEM5NDBDNzc4MDE4MTgyQjgzODM5NDkxQzI2QzA1RjcwRjgKKzoxMDE5NjAwMDE3RDRBQkUxMkFGODRBQkUxMkFGOEY5NzRGQ0JBNzAxMkQKKzoxMDE5NzAwMDdEREE4MEFBOTE2NDdGNEE4MUQ1MjJDOEZFODI4MDI1QzMKKzoxMDE5ODAwMDQ4QjIzRUJCREMzNTJFOTQwN0U4OEE5QzAzRTI0QkE1QTcKKzoxMDE5OTAwMDc3QUJCMzMyRTk0QkJENTk4Njg0OTc3QTA0QkE1M0UxRTkKKzoxMDE5QTAwMDMyRUY1MEQ0RTYzNTUzRUIwMjlDQzdENzdBQjMzMEQyMkUKKzoxMDE5QjAwMDVERUEwMkU5NDQ1RDE2MjhDMDJDRTAzNjkxNzQ0NTU5NzEKKzoxMDE5QzAwMDE4RDU0RkFDMEFDNDM1MzA4QjM4NjkyQkJENTk5ODY5OEUKKzoxMDE5RDAwMDJFRjUxMkU5NTg2NzRBRUY1MEQ1OEUzRTFDQTRCMENFQzIKKzoxMDE5RTAwMDkzMjE2RTFBNDgxRkEyMkFDMzBENTc3QUIzMEQwOTJFRjAKKzoxMDE5RjAwMEY0NDM1RDI4OEI4MzIwOTIzODREODBCRUUwMkZBQzE3RDYKKzoxMDFBMDAwMDQ5QjNBNTgyRTkzRUU5MzY3NEUwMkZBNkNFOUMwNUY0RTEKKzoxMDFBMTAwMEMyMkM4QzUyNTc3QUQ0OEQ0OEZBRUY1MEQ1QUUzNTUzM0MKKzoxMDFBMjAwMEVCMDI4NjIxQUFFRjU2NjYxQTRCQkQ0NEJBNTBDNEU5QjAKKzoxMDFBMzAwMDUzRUIwMjg2ODFGNURFQTFBODYyMUY1REZFQTI1RDI5M0YKKzoxMDFBNDAwMDc3QTg2QTYxOEQ0MEZEMTE1MzBDNkFBN0Q2MDUzMEM3OEYKKzoxMDFBNTAwMEQ3N0ZBOTU3NEE1REVCNDgxQjBDN0M4QjlEOEE1M0VGQkYKKzoxMDFBNjAwMDY2OTRDQTU0RjVBMEM2MDE2RTAzNkE5RjU2NzY2NTMyMjUKKzoxMDFBNzAwMDhCN0JEMkM1QTU2MDJGQUE3RDY1QTMwMEI3MDFCNEM4MzIKKzoxMDFBODAwMDVBMDc4RkVEMDFENTI3OTE2NzAxQjQ4QjlDNTQxQzczQzUKKzoxMDFBOTAwMEE4ODQ1Q0MxNTBCRjM2NTY2MEFCOEM4QjlDNTQxQzczQzEKKzoxMDFBQTAwMEE4ODQ1Q0MxNTBCRjM2NTY2QzA1RjU1M0Q2QTIzMDBCRTYKKzoxMDFBQjAwMDI5NUIxOUZDRjY5NDQ1Q0YxNTBCRjMzQ0IzMkE3QUM1ODQKKzoxMDFBQzAwMDQ2MDE2NDhBMzEyMzlDMEE1REVBMzQzMzJFOTVDN0NFRTEKKzoxMDFBRDAwMDJBNEZFNjUwMjBCOTMxMEM5QkVGMzkxNDQ1Q0U0NTA3MEIKKzoxMDFBRTAwMDFDRUE0Njg3QUIxQjM2ODRBNzVFQUM5NjY3NTJCMDE3REMKKzoxMDFBRjAwMERDRkU3QjRBMjJFNzhBODVGOTlFNTk5NzdBOEQwQ0NCQ0EKKzoxMDFCMDAwMEE1MjdGM0EwNDQzMjYwQjkzN0RFNzIyODhCOUM4QTBFNzkKKzoxMDFCMTAwMDM5RDQ4QzA1RjdFN0I4MkFGOTI4MThFRjAwMzAzMDU3ODgKKzoxMDFCMjAwMDA3NDQwQTUwOEZGMDczOTE0MTFGM0E5MDQ1QzBCQjE4OEIKKzoxMDFCMzAwMEUxMzYwMkZCRkI5RTAyRkFFRUU3RjVDRjAxN0QxMDVDNzkKKzoxMDFCNDAwMEYwMTdEMTA1Q0YwMTdENTNFQjJEMTgwNUI4MERBNjQyMzYKKzoxMDFCNTAwMERDMDZEMzE3MzVBODhCOUMwQTBFMzlENDBDRkU3QjRBQzEKKzoxMDFCNjAwMDIyRTY1NTBCRjMzMUIzNjAyRkJDN0NFMkE0RkU2NTUxMzUKKzoxMDFCNzAwMDE3MzgxNDFDNzNBODE5RkNGNjk0NDVDQ0FBMTdFNjYzMTEKKzoxMDFCODAwMDY2MEFCOENDODVBMTU4RjZBMjM1NDg0ODdGNEE4OTk1OUYKKzoxMDFCOTAwMDIxMjFGRDA1MDI1NDlFNDU5MTBFM0MwNUY1MDc0MDU1NTcKKzoxMDFCQTAwMDQ4NTIzRTg2QTA3NTQ4NTIzRUI1MDA0QTlDMDA2QkM3MUQKKzoxMDFCQjAwMENFNDUyN0YzMkE4NDM3MzVERUEwQUIyMzFBQUVGNTgzNTIKKzoxMDFCQzAwMDU5MThENzQzREUyQUQwOTRFQkRFMDUzQTk1OUZDQ0MzNTMKKzoxMDFCRDAwMDIwNDVDQ0FBMTdFNjY2Q0M0MzI2NEZFNzQxMjIyRTcwNUIKKzoxMDFCRTAwMDY4MzhFNzUzRTAyRkFCQkMxMkQyRTk1ODBCRUFBN0FEMzcKKzoxMDFCRjAwMDQ1QTExRkMwNUY3ODM5QzhBMDhGOUQ0ODFDMjRFRUM3M0YKKzoxMDFDMDAwMDgwQkVCQUY1NkQ2NjQ5NzcwRDRFQTUzMDA5QjRGOUM1QTkKKzoxMDFDMTAwMDQzMEYzOEE5M0Y5RDAyRkJDRTQ1MTE3MzkxNDFDNzNBNEUKKzoxMDFDMjAwMDkxOUZDRjY5NDQ1Q0YxNTBCRjMzQ0IzMkE3QUM1NDkwNDUKKzoxMDFDMzAwMDhENDQ4RTcwMjk3N0E4RDBDQ0JBNTZCMEIyOUQ4Qzg2RDAKKzoxMDFDNDAwMDRDMTcyNjc3MjYxQzI3MUMyNDlFMjM2MUJFOEUxMjRGMUMKKzoxMDFDNTAwMDExODcxQ0VBNUMwNUY1RDdCODZBNzUyOTc3QUIwRDk5MzEKKzoxMDFDNjAwMDc0QTU0RjcyQTBBQTRBQzZGMzY2NjZDNjM5ODJBRjc1REMKKzoxMDFDNzAwMEE2NkYxNDZCQ0UwNTcwNzM5NjgyM0U3NTI4RTEzQUE3NjUKKzoxMDFDODAwMEFENDQ2MDE2NTJCNjFEN0FCNkIzMjRCQjg2QTc1Mjk4RUYKKzoxMDFDOTAwMDA0REE3Q0UyQTE4NzlDNTVGNzlDQjVBQzJDOTUzM0I5NEUKKzoxMDFDQTAwMDMxMDVEOTUzRDZBMjMwMEIyOTVCMDIyRTYxNUExN0U2QjMKKzoxMDFDQjAwMDlDQjMyQTdBQzU0MDIxQTg5MUNFMDUyN0YzQTU4ODY0NTQKKzoxMDFDQzAwMEMxNzI2NTRGNTgxNDBDOEQ3RUYzODE0NDVDRUY0MUM3OUYKKzoxMDFDRDAwMDNBQkUwMkZBQTlFQUNFQ0NBOTI5NTNENkEyNDY0N0REREMKKzoxMDFDRTAwMDdBQzBBMzAwODZFMjlCMjk3ODhCODEwOTk4NzA5QjI5OTIKKzoxMDFDRjAwMDc5NUREOTcyRUQ5NEJDQjk3NjEzM0IyQTVEQjI5Nzk1QTQKKzoxMDFEMDAwMDJFRDk0QkNBN0Q1QjU5OTRDQTFDMjRFRUM3OTRCQ0MwMjMKKzoxMDFEMTAwMDI2RDNFNzE1MEMzQ0UyQUNGRTdCNEEyMkU3OEE4NUY5MjQKKzoxMDFEMjAwMDlFNTk5NzdBOEQwQ0NCQTUyN0YzQTA0MTcyNjIxOTM3ODMKKzoxMDFEMzAwMERFNzAyODhCOUM4QTBFMzlENDhEMEY1NjM2NkQwOTRFNzUKKzoxMDFENDAwMEJENTkyQ0NFQTU2QjBCMjJEOTlEQzlCMjk3QkVGMzgxOEMKKzoxMDFENTAwMDRBN0Q2NUEzMDA5MzhGNjcyOTc4QzI0REMxRDEwNjgyNjEKKzoxMDFENjAwMDMxQUYwNzM4MzQxMUYzQTgyQTlFQTg2NjFBQTRBNTRGRUMKKzoxMDFENzAwMDVBMEMxMThGQUE3QkQwNjU0OTQ1QkRFOTYyRDJCMTlFNEMKKzoxMDFEODAwMDZDQ0NDNjE5ODcwOUMzOEU3NTQxMUYzQUE1MTNENTU1NkEKKzoxMDFEOTAwMDU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1RjMKKzoxMDFEQTAwMDU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1RTMKKzowRTFEQjAwMDU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1QUNDOTBDOAorOjAwMDAwMDAxRkYKZGlmZiAtLWdpdCBhL2Zpcm13YXJlL3R0dXNiLWJ1ZGdldC9kc3Bib290Y29kZS5iaW4uaWhleCBiL2Zpcm13YXJlL3R0dXNiLWJ1ZGdldC9kc3Bib290Y29kZS5iaW4uaWhleApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNGIyMjQ3Ci0tLSAvZGV2L251bGwKKysrIGIvZmlybXdhcmUvdHR1c2ItYnVkZ2V0L2RzcGJvb3Rjb2RlLmJpbi5paGV4CkBAIC0wLDAgKzEsODIwIEBACis6MTAwMDAwMDAwOEFBMDAxODAwMDMwODAwMDAxMDAwMDAwMTgwMTg1RjEzCis6MTAwMDEwMDAwMDAwMDE4MDc3MTgyQUVCNkJGODAwMTgwM0ZGNjhGOERFCis6MTAwMDIwMDAwMDE4RkZGRUY3QjhGN0JFRjZCOUY0QTBGNkI3RjZCNUJDCis6MTAwMDMwMDBGNkI2RjAyMDE5REZGMTAwMDAwMUY4NEQwMUFCRjZCODdCCis6MTAwMDQwMDBGMDIwMTlERkYwNzMwMUE1N0VGODAwMTJGMDAwMDAwMTI2Cis6MTAwMDUwMDA0N0Y4MDAxMTdFOTIwMEY4MDAxMUYwMDAwMDAxN0VGOEQwCis6MTAwMDYwMDAwMDExRjAwMDAwMDE2Qzg5MDE5QUY3QjhFRUZDRjAyMDU1Cis6MTAwMDcwMDBGRkZGRjEwMDAwMDFGODREMDFCRkYyNzMwMUI5NEUwMjFDCis6MTAwMDgwMDBGNDk1RjVFMzU2MDI3RTAwMTEwMEZBNEMwMUI3NkIwM0JDCis6MTAwMDkwMDAwMDAxRjZCOEVFMDRGMDc0MERBN0YwNzQwMUM1NEExMTIyCis6MTAwMEEwMDA0QTE2NzIxMTJBRTYxMEY4MDAxMUZBNDUwMURCRjQ5NUEwCis6MTAwMEIwMDBFRUZGNDgxMUYwMDAyQUM2ODgxNkY0OTVGNDk1MTBFRTZDCis6MTAwMEMwMDBGRkZGRjRFMzZDRTlGRkZGMDFENTEwRjgyQUU3Rjg0NURDCis6MTAwMEQwMDAwMUUyMTBGODJBRTdGNEUzRjA3NDAxRkZFRTAxOEExNjVBCis6MTAwMEUwMDA4QTExRkMwMEY3QjhFOTIwNEExMTA5RjgyQUU2Rjg0RTBGCis6MTAwMEYwMDAwMUYzRjI3MzAxRkRGNDk1RTgwMTcyMTEyQUU2NDkxMTRBCis6MTAwMTAwMDA4MEUxMkFDNkYzMDAwMDAxRTgwMDgxRjgyQUU2OEExMTlFCis6MTAwMTEwMDBGQzAwRjQ5NUYwNzMwMjAwMTBGODJBMEZGQzAwNEExMTVECis6MTAwMTIwMDBGMDc0MDIwMjgwRjgyQTEwNzMwODAwMDk0MEY4MkExNUJBCis6MTAwMTMwMDA4MkY4MDAxMUY0OTU3NzEwMDNFOEY1QTlGODMwMDIyMTUwCis6MTAwMTQwMDA3MUY4MkExMDJBMTU1NkY4MkEwQ0YwRTM0RUY4MkExNkYwCis6MTAwMTUwMDBFODAwNEVGODJBMEM4QTExRkMwMDRBMDY0QTA3NEExRDlDCis6MTAwMTYwMDA2OEY4MDAwNzdEM0Y2OUY4MDAwNzQwMDA2OEY4MDAxRDQ3Cis6MTAwMTcwMDBGRkZDNkJGODJBMEYwMDAxOEExRDhBMDc4QTA2RjRFQjQwCis6MTAwMTgwMDBFRUZENzZGODJBMEYwMDAwNzYwMDAwMDBGQjgwMTk0Qzg3Cis6MTAwMTkwMDBGNDk1RTgwMDgwRjgyQTExRjk4MDE5MDc4MEY4MkEwRUYyCis6MTAwMUEwMDBGOTgwMTY2Njc2MDAyQTEyMTBGODJBMTFGOTgwMThFM0YxCis6MTAwMUIwMDAxMEY4MkEwRUY5ODAxNjY2MTBGODJBMEVGOTgwMTY4N0I0Cis6MTAwMUMwMDBFRTAzRkMwMDRBMTFGNkI4RjQ5NUYwMjA4MDAwMTFGODE3Cis6MTAwMUQwMDAyQTVBRjg0RDAyOTMxMUY4MkE5RkY4NEMwMjdDNzcxMkE0Cis6MTAwMUUwMDAyQTM5NDkxMjAxRjgyQTlGODkxMUY0OTVGNDk1NzE4MUYxCis6MTAwMUYwMDAwMDExNkNFMUZGQUIwMjkzNkJGODJBOUYwMDAxRTkwNTQ3Cis6MTAwMjAwMDAwMUUyMDAwMzgxRjgyQUEwRjA3MzAyOTU3MjExMkE5RjdGCis6MTAwMjEwMDBGNDk1MTBFMTJBMzk2QkY4MkE5RjAwMDExMUY4MkE5RjAyCis6MTAwMjIwMDAwOUY4MkFBMEY4NEMwMjkzNzZGODJBNUEwMDAwNzZGOENBCis6MTAwMjMwMDAyQTlGMDAwMDc2RjgyQUEwMDAwMDg4MTFGNDk1NDgxMTQyCis6MTAwMjQwMDA4QTExRkMwMDRBMTFFRUZFMTBGODJBNUFGODQ0MDJCMjU0Cis6MTAwMjUwMDA3NkY4MkE1QTAwMDFGMDc0MDI1ODg4MTFGNDk1NzcxMDQ0Cis6MTAwMjYwMDA4MDAwRjRBOUY4MzAwMkIyNDgxMUYwMzAwMEZGODAwMDlECis6MTAwMjcwMDAxMEY4MkE1QkY5ODAxOEQ2RUUwMjhBMTFGQzAwRjQ5NTdBCis6MTAwMjgwMDA0QTA4NEEwOTRBMEE0QTBCNEEwQzRBMEQ0QTEwNEExMUJFCis6MTAwMjkwMDA0QTEyNEExMzRBMTQ0QTE1NEExNjRBMTc0QTE3NEExOTYzCis6MTAwMkEwMDA0QTBFNEEwNjRBMDc0QTFBNEExRDRBMUI0QTFDNjhGODVGCis6MTAwMkIwMDAwMDA3N0QzRjY5RjgwMDA3NDAwMDY4RjgwMDFERkZGQzVCCis6MTAwMkMwMDA0ODE4NjhGODAwMThGRkZFRjQ5NUY0OTU0QTA4RUVGRDBBCis6MTAwMkQwMDBGMDc0MDI1ODg4MTFGNDk1NzcxMDgwMDBGNEE5RjgzMDcyCis6MTAwMkUwMDAwMkVGNDgxMUYwMzAwMEZGODAwMDEwRjgyQTVCRjk4MDFGCis6MTAwMkYwMDAxOEQ2RUUwMzhBMThGNDk1OEExQzhBMUI4QTFEOEExQTVFCis6MTAwMzAwMDA4QTA3OEEwNjhBMEU4QTE5OEExNzhBMTc4QTE2OEExNTEwCis6MTAwMzEwMDA4QTE0OEExMzhBMTI4QTExOEExMDhBMEQ4QTBDOEEwQjBGCis6MTAwMzIwMDA4QTBBOEEwOThBMDhGNEVCNEExMTc3MTEyQTM5NzY4MUY4Cis6MTAwMzMwMDAwMDU1NzcxMjJBMTgxMEUyMDAwMTgwRTEwMDAxMTBFMjU2Cis6MTAwMzQwMDAwMDAyODBFMTAwMDI3NkUxMDAwMzAwMDA3NkUxMDAwNDkzCis6MTAwMzUwMDAwMEFBRjA3NDAyOTg4QTExRkMwMDRBMTE4ODExRjQ5NUUxCis6MTAwMzYwMDBGNDk1MTA4MTZGRjgyQTlFMEM4OEU4RkYxOEUxMDAwMUNGCis6MTAwMzcwMDAxQUY4MkE5RUYwMzAxRkZGODBGODJBOUU4QTExRkMwMDhFCis6MTAwMzgwMDA0QTExNzcxMTJBMzk3NjgxMDA1NTc3MTIyQTE4MTFFMjFECis6MTAwMzkwMDAwMDAxODFFMTAwMDExMUUyMDAwMjgxRTEwMDAyNzZFMTQ5Cis6MTAwM0EwMDAwMDAzMDAwMjQ4MDg2RkUxMDAwNDBDOThGMDMwMDBGRkUxCis6MTAwM0IwMDA4MEUxMDAwNTc2RTEwMDA2MDBBQUYwNzQwMjk4OEExMTM3Cis6MTAwM0MwMDBGQzAwNEExMTc3MTEyQTM5NzY4MTAwNTU3NzEyMkExOEQ0Cis6MTAwM0QwMDAxMEUyMDAwMTgwRTEwMDAxMTBFMjAwMDI4MEUxMDAwMjcxCis6MTAwM0UwMDA3NkUxMDAwMzAwMDQ0ODExRjAwMDAwMDQ4ODEyRjQ5NTNGCis6MTAwM0YwMDA3NzEzMkE3NkU5MDBFNTk4RjMwMDAwMDFGNkI4NDgwQjc4Cis6MTAwNDAwMDAwOEY4MkEzQ0Y4NDMwMzcxNzY4MjAwQUFGMDc0MDI5ODM3Cis6MTAwNDEwMDA4QTExRkMwMDRBMTFFRUYwODgxMUY0OTVGNDk1NzE4MTZGCis6MTAwNDIwMDAwMDE0NzFFMTAwMDEwMDE1NDkxMUYzMDAwMDAyODkxMTY3Cis6MTAwNDMwMDBFNzgyNkRFQTAwMDRFNzgzNkRFQjAwMEE3NzFBMDAwNTk2Cis6MTAwNDQwMDBGMDcyMDNBQTExODFGMkU4ODA4MkU5RkYxOUUxMDAwMTRDCis6MTAwNDUwMDBGMUEwODE5MjExRTEwMDBDRjJFODgwODNFOUZGMTlFMTNCCis6MTAwNDYwMDAwMDBERjFBMDgxOTM2REU5MDAwMjQ4MTg0OTE4NzAwMDUxCis6MTAwNDcwMDAwMDE1RjAwMDAwMDRGMzAwMDAwQTgwMDE4MTAyRjI3NDBDCis6MTAwNDgwMDAwRTU0RjQ5NTQ4MTRFRTEwOEExMUZDMDA0QTExRjA3NEQxCis6MTAwNDkwMDAwQzVFODBGODJBNUM3NzEyMkEzOTc2ODIwMDU1NzcxMTMzCis6MTAwNEEwMDAyQTE4MTBFMTAwMDE4MEUyMDAwMTEwRTEwMDAyODBFMjYwCis6MTAwNEIwMDAwMDAyNzZFMjAwMDMwMDFDRjZCODU2RjgyQTE2RjBGMEE3Cis6MTAwNEMwMDBGMEY4ODBFMjAwMDc1NkY4MkExNkYxRjBFOEZGRjI4MDEzCis6MTAwNEQwMDA4MEUyMDAwNjU2RjgyQTE2RjFGOEU4RkZGMjgwODBFMjgyCis6MTAwNEUwMDAwMDA1NTdGODJBMTZFOEZGRjI4MDgwRTIwMDA0NTZGODZCCis6MTAwNEYwMDAyNzZDRjBGMEYwRjg4MEUyMDAwQjU2RjgyNzZDRjFGMDcyCis6MTAwNTAwMDBFOEZGRjI4MDgwRTIwMDBBNTZGODI3NkNGMUY4RThGRjc1Cis6MTAwNTEwMDBGMjgwODBFMjAwMDlFOEZGNTdGODI3NkNGMjgwODBFMjYxCis6MTAwNTIwMDAwMDA4NTZGODI3NkFGMEYwRjBGODgwRTIwMDBGNTZGODVECis6MTAwNTMwMDAyNzZBRjFGMEU4RkZGMjgwODBFMjAwMEU1NkY4Mjc2QUExCis6MTAwNTQwMDBGMUY4RThGRkYyODA4MEUyMDAwRDU3RjgyNzZBRThGRjMzCis6MTAwNTUwMDBGMjgwODBFMjAwMEM3NkUyMDAxMzAwMDA3NkUyMDAxMkU2Cis6MTAwNTYwMDAwMDAwNkZGODJBNUMwQzU4ODBFMjAwMTFFOEZGMThGOEQwCis6MTAwNTcwMDAyQTVDODBFMjAwMTA3NkUyMDAxNzAwMDA3NkUyMDAxNkE2Cis6MTAwNTgwMDAwMDAwNkZGODJBOUUwQzU4ODBFMjAwMTVFOEZGMThGODZBCis6MTAwNTkwMDAyQTlFODBFMjAwMTQ3NkUyMDAxQjAwMDA3NkUyMDAxQTM4Cis6MTAwNUEwMDAwMDAwNzZFMjAwMTkwMDAwNzBFMjAwMTgyNzZFNzZFMjgzCis6MTAwNUIwMDAwMDFGMDAwMDc2RTIwMDFFMDAwMDc2RTIwMDFEMDAwMDMxCis6MTAwNUMwMDA3NkUyMDAxQzAwMDA3NkUyMDAyMDAwQUFGMDc0MDI5ODk3Cis6MTAwNUQwMDA4QTExRkMwMDRBMTFFRUZFMTBGODJBMzhGODQ1MDRFREE1Cis6MTAwNUUwMDA3NzEyMkExODEwRTIwMDAyODgxMUY0OTU3NzEwMDAwODlCCis6MTAwNUYwMDA2REU5RkZERkY2QTlGODIwMDQ3NUYwNzMwNDdERjAxMEIzCis6MTAwNjAwMDAwMDIxRjAwMDFBODM0ODA4N0VGODAwMDhGNEUyRjA3NDM0Cis6MTAwNjEwMDAwMzBBRjA3MzA0RUE0ODEyRjI3NDAzMjNGMDAwMDAwNEEyCis6MTAwNjIwMDBGMjc0MDMzNkY0OTVFODAwRjA3MzA0RUE3NzExMkExODlGCis6MTAwNjMwMDBFOEZGNkZFMTAwMDQwRDQ4MThFMTAwMDVGMjc0MDk2OTU0Cis6MTAwNjQwMDBGNDk1RjJBMEYwNzQwMzM2RjA3MzA0RUE3NzExMkExOEQ3Cis6MTAwNjUwMDBFOEZGNkZFMTAwMDQwRDQ4MThFMTAwMDVGMjc0MDk0MTVDCis6MTAwNjYwMDBGNDk1RjJBMEYwNzQwMzM2RjA3MzA0RUFGMDc0MDM1N0MzCis6MTAwNjcwMDBGMDczMDRFQTEwRjgyQTFDRjA3NDEyQTRGMjc0MDMzNjIyCis6MTAwNjgwMDBGNDk1RTgwMEYwNzMwNEVBNDgxMkYyNzQwMzgwRjAwMDc1Cis6MTAwNjkwMDAwMDA0RjI3NDAzMzZGNDk1RTgwMEYwNzMwNEVBMTBGOEVECis6MTAwNkEwMDAyQTFDRjA3NDEyQzVGMjc0MDMzNkY0OTVFODAwRjA3MzU2Cis6MTAwNkIwMDAwNEVBNzcxMTJBMThFOEZGNkZFMTAwMDYwRDQ4MThFMUY3Cis6MTAwNkMwMDAwMDA3NzFFMTAwMDUwMDEyRjJBMDcwMDAwMDEyODAwMTI1Cis6MTAwNkQwMDAxMEUxMDAwNEYwNzQwRTdBRjI3NDAzMzZGNDk1RTgwMDI5Cis6MTAwNkUwMDBGMDczMDRFQUYwNzQwM0JDNzZGODJBMzgwMDAwRUUwMkQ2Cis6MTAwNkYwMDA4QTExRkMwMDRBMTE3NzExMkEzOTc2ODEwMDU1NzcxMjQ4Cis6MTAwNzAwMDAyQTE4MTBFMjAwMDE4MEUxMDAwMTEwRTIwMDAyODBFMUZECis6MTAwNzEwMDAwMDAyNzZFMTAwMDMwMDA5NDgxMUYwMDAwMDA0ODgxMjhECis6MTAwNzIwMDBGNDk1NzcxMzJBODZFOTAwRTU5OEYzMDAwMDAxRjZCOEZFCis6MTAwNzMwMDA0ODBCMDhGODJBM0NGODQzMDUwQTc2ODIwMEFBRjA3NEIwCis6MTAwNzQwMDAwMjk4OEExMUZDMDA0QTExNzcxMTJBMzk3NjgxMDA1NUU2Cis6MTAwNzUwMDA3NzEzMkExODEwRTMwMDAxODBFMTAwMDExMEUzMDAwMjgyCis6MTAwNzYwMDA4MEUxMDAwMjEzRTMwMDAzODFFMTAwMDM0ODExNzcxMUU3Cis6MTAwNzcwMDAwMDAwRjg0RDA1NDRGMDAwMDAwNDg4MTI0ODEzRjAwMDEyCis6MTAwNzgwMDAwMDA0ODgxM0Y0OTVGNDk1RTU5ODZEOTFGNkI4NDgxMTM2Cis6MTAwNzkwMDAwOEY4MkEzQ0Y4NDMwNTNBRjAyMDJBMzk0OTExRjUwMEI3Cis6MTAwN0EwMDA4OTExRjQ5NUY0OTU3NkUxMDAwNDAwQUFGMDc0MDI5ODlBCis6MTAwN0IwMDA4QTExRkMwMDRBMTE3NzExMkEzOTc2ODEwMDU1NzcxMjg3Cis6MTAwN0MwMDAyQTE4MTBFMjAwMDE4MEUxMDAwMTEwRTIwMDAyODBFMTNECis6MTAwN0QwMDAwMDAyNzZFMTAwMDMwMDBDNDgxMUYwMDAwMDA0ODgxMkNBCis6MTAwN0UwMDBGNDk1NzcxMzJBN0FFOTAwRTU5OEYzMDAwMDAxRjZCODRBCis6MTAwN0YwMDA0ODBCMDhGODJBM0NGODQzMDU2QTc2ODIwMEFBRjA3NDkwCis6MTAwODAwMDAwMjk4OEExMUZDMDA0QTExNzcxMTJBMzk3NjgxMDA1NTI1Cis6MTAwODEwMDA3NzEyMkExODEwRTIwMDAxODBFMTAwMDExMEUyMDAwMkM0Cis6MTAwODIwMDA4MEUxMDAwMjc2RTEwMDAzMDAxOTQ4MTFGMDAwMDAwNEE1Cis6MTAwODMwMDA4ODEyRjQ5NTc3MTMyQTVERTkwMEU1OThGMzAwMDAwMTJBCis6MTAwODQwMDBGNkI4NDgwQjA4RjgyQTNDRjg0MzA1OTM3NjgyMDBBQUNDCis6MTAwODUwMDBGMDc0MDI5ODhBMTFGQzAwNEExMTg4MTExMEY4MkEzOEE1Cis6MTAwODYwMDBGODQ0MDVFMzEwRjgyQUExRjg0NDA1QkE2Q0UxRkY1NkY0Cis6MTAwODcwMDAwNUUzNzIxMjJBQTFGNDk1NzBFMjJBMTgwMDExNkJGOEIwCis6MTAwODgwMDAyQUExMDAwMUYwNzMwNUUzNzIxMjJBQTFGNDk1NzBFMjI3Cis6MTAwODkwMDAyQTE4MDAxMTEwRjgyQUExRjAwMDAwMDE4ODEyRjQ5NTFFCis6MTAwOEEwMDBGNDk1NkVFMkZGRkMwNUQxNzMxMjJBQTE0ODExRjAwMDA1Cis6MTAwOEIwMDAwMDA1ODBGODJBQTIxMEY4MkFBMTA4RjgyQUEyRjg0NDE0Cis6MTAwOEMwMDAwNUUzNkNFMUZGQUIwNURENzZGODJBMzgwMDAxNzZGODI4Cis6MTAwOEQwMDAyQUExMDAwMDc2RjgyQUEyMDAwMDhBMTFGQzAwRjQ5NUYzCis6MTAwOEUwMDA0QTA4NEEwOTRBMEE0QTBCNEEwQzRBMEQ0QTEwNEExMTU4Cis6MTAwOEYwMDA0QTEyNEExMzRBMTQ0QTE1NEExNjRBMTc0QTE3NEExOUZECis6MTAwOTAwMDA0QTBFNEEwNjRBMDc0QTFBNEExRDRBMUI0QTFDNjhGOEY4Cis6MTAwOTEwMDAwMDA3N0QzRjY5RjgwMDA3NDAwMDY4RjgwMDFERkZGQ0Y0Cis6MTAwOTIwMDA0ODE4NjhGODAwMThGRkZFRjQ5NUY0OTU0QTA4RUVGRkExCis6MTAwOTMwMDAxMEY4MkE1QkY5ODAxODA0RjA3NDA1QTJFRTAxOEExOEY5Cis6MTAwOTQwMDBGNDk1OEExQzhBMUI4QTFEOEExQThBMDc4QTA2OEEwRUNGCis6MTAwOTUwMDA4QTE5OEExNzhBMTc4QTE2OEExNThBMTQ4QTEzOEExMjlDCis6MTAwOTYwMDA4QTExOEExMDhBMEQ4QTBDOEEwQjhBMEE4QTA5OEEwOEQ3Cis6MTAwOTcwMDBGNEVCRUVGRDc2RjgyQTM4MDAwMDc2RjgyQTVBMDAwMEVCCis6MTAwOTgwMDBFODAxNEUwMEZCODAxN0Q2RjQ5NUU4MDE4MEY4MkE1QjU5Cis6MTAwOTkwMDA3NjAwMkE4RkY5ODAxNkFBMTBGODJBNUJGOTgwMTc1Qzc2Cis6MTAwOUEwMDAxMEY4MkE1QkY5ODAxNzZGRkI4MDE2NjZGNDk1RTgxQTM5Cis6MTAwOUIwMDBGQjgwMTY4N0Y0OTVFODFBRkI4MDE2NjZGNDk1RTgxQjExCis6MTAwOUMwMDBGQjgwMTY4N0Y0OTVFODFCRUUwM0ZDMDA0QTExRjQ5NUIyCis6MTAwOUQwMDAxMzAyODgxMUU4MDBGODREMDY2QUYzMTAwMDAxODkxQTI1Cis6MTAwOUUwMDBGNDk1RjA3MjA2NjkxQzkxOEExMUZDMDA0QTExODgxMTc1Cis6MTAwOUYwMDAxMjAzMTEwMkY4NDUwNjc5RjAxMDAwMDE4ODFBRjQ5NUU3Cis6MTAwQTAwMDBGMDcyMDY3ODgxOTE4QTExRkMwMDRBMTFGNDk1NzEwMjA2Cis6MTAwQTEwMDAwMDExMTEwMzYxRjgwMDExMDAwMUY4MzAwNjkxRjZCOEQ5Cis6MTAwQTIwMDA2RkY4MDAxMTBDMUY4ODExRjNFOEU4RkYxODgxRjFBMDlFCis6MTAwQTMwMDA4MTgxRjA3MzA2OURGNkI4NkZGODAwMTEwQzFGODgxMUM0Cis6MTAwQTQwMDBGMzMwMDBGRkYwMjBGRjAwMTg4MUYxQTA4MTgxOEExMUFFCis6MTAwQTUwMDBGQzAwNEExMUY0OTUxMTAyNjFGODAwMEIwMDAxRjgyMDI2Cis6MTAwQTYwMDAwNkIxNDkwQkY2MUY4ODExRjQ5NUY0OTUxMDgxRjI3M0M1Cis6MTAwQTcwMDAwNkI4RjAzMDAwRkY0OTBCRjYxRjg4MTFGNDk1RjQ5NTg1Cis6MTAwQTgwMDAxMjgxRjQ3ODhBMTFGQzAwNEExMUY0OTU3MTAyMDAxMjY3Cis6MTAwQTkwMDAxMzAzODgxMUU4MDBGODREMDZDQ0YzMTAwMDAxODkxQTAxCis6MTAwQUEwMDBGNDk1RjA3MjA2Q0IxMTkyRjJDMDgxOTE4QTExRkMwMDhDCis6MTAwQUIwMDA4ODEyMTIwMjcxMDEwMDEzRjg0NTA2REJGMDEwMDAwMUU0Cis6MTAwQUMwMDA4ODFBRjQ5NUYwNzIwNkRBRTU5OEZDMDA0QTExRUVGRUY5Cis6MTAwQUQwMDA4ODExMTEwNDEwMDY3MTA1MDAxMjYxRjgwMDEyMDAwMTVFCis6MTAwQUUwMDBGODIwMDZFQUYwMDAwMDAxRjZCOEYwMDAwMDAxNkZGODA3Cis6MTAwQUYwMDAwMDEyMEYxRjQ4MDg4MTAwRjQ3RjgwMDFGMjc0MDZCQUNCCis6MTAwQjAwMDBGNDk1NDgxMUVFMDI4QTExRkMwMDRBMTFFRUZFODgxMjlCCis6MTAwQjEwMDAxMTA0MTAwNjcxMDUwMDEzNjFGODAwMTMwMDAxRjgyMDlDCis6MTAwQjIwMDAwNzA5RjAwMDAwMDFGMDAwMDAwMTg4MTFGNkI4NkZGODI1Cis6MTAwQjMwMDAwMDEzMEYxRjgxMDA0ODExRjQ3RjgwMDFGMjc0MDZDRTZDCis6MTAwQjQwMDBGNDk1NDgxMjQ4MTFGMDMwRkZGRUVFMDI4QTExRkMwMEM1Cis6MTAwQjUwMDA0QTExNEExNjRBMTdFRUZDRjQ5NTgwMDI3MTA4MDAxNkY1Cis6MTAwQjYwMDAxMDA5NzEwQjAwMTc4MDAzNzEwQTAwMTE0ODE3Rjg0NTJFCis6MTAwQjcwMDAwNzNGNzAwMDAwMTExMDAzRjA3NDA2OUY4MDAxNzAwMEExCis6MTAwQjgwMDAwMDE2MTAwMkYwNzQwNjdCNkQ5MTZEOTY2Q0VGRkZGRkZFCis6MTAwQjkwMDAwNzJGRUUwNDhBMTc4QTE2OEExMUZDMDA0QTExRUVGRTBFCis6MTAwQkEwMDAxMEY4MkFFODA4RjgyQUU5Rjg0NTA3NjQ3NjAwMDAwMUY5Cis6MTAwQkIwMDA2MkY4MkFFOTAwNUVGMjc0MTIwQkYwMDAzMDQwNzIxMTA0Cis6MTAwQkMwMDAyQUU5NzcxMDAwMEZGNUE5RjgyMDA3NjE2QkY4MkFFOUU4Cis6MTAwQkQwMDAwMDAxRjA3MzA3NjQ3NkY4MkFFOTAwMDBFRTAyOEExMTNBCis6MTAwQkUwMDBGQzAwNEExMTg4MTFFODAwNzVGODAwMDgwMDA4RTgwMEM4Cis6MTAwQkYwMDA3NUY4MDAwODAwMDlGNkI4RjQ5NUYwMjBGQzNGNzVGODg4Cis6MTAwQzAwMDAwMDA4MDAwREYwMjAwQzMwNzVGODAwMDgwMDBDNzZGODk0Cis6MTAwQzEwMDAyQUU4MDAwMDc2RjgyQUU5MDAwMDZDODEwNzkyNzZGODRECis6MTAwQzIwMDAyQUVBMDAwMEZCODAxNjc2RjQ5NUU4MTBFODAwNzVGOEQzCis6MTAwQzMwMDAwMDA4MDAwMEYwNzMwN0E4NzZGODJBRUEwMDAxRkI4MDlDCis6MTAwQzQwMDAxNjY2RjQ5NUU4MTBGQjgwMTY4N0Y0OTVFODEwRTgwMDI2Cis6MTAwQzUwMDA3NUY4MDAwODAwMDBGNkI4RjQ5NUYwMjBGRkZGNzVGODZECis6MTAwQzYwMDAwMDA4MDAwMDhBMTFGQzAwRjQ5NTRBMDg0QTA5NEEwQTYzCis6MTAwQzcwMDA0QTA2NEEwNzRBMUQ2OEY4MDAwNzdEM0Y2OUY4MDAwN0UxCis6MTAwQzgwMDA0MDAwNjhGODAwMURGRkZDMTBGODJBRUFGODQ1MDdFMTZCCis6MTAwQzkwMDAxMEY4MkFFOEYwMDAwMDAxRjAzMDAwMEY4MEY4MkFFODkwCis6MTAwQ0EwMDAxMEY4MkFFOEY4NDQwN0Q2RjZCOEY0OTVGMDIwRkMzRjhGCis6MTAwQ0IwMDA3NUY4MDAwODAwMERGMDIwMEMzMDc1RjgwMDA4MDAwQ0U1Cis6MTAwQ0MwMDBFODAwNzVGODAwMDgwMDAwRjZCOEY0OTVGMDIwRkZGRjgyCis6MTAwQ0QwMDA3NUY4MDAwODAwMDA4QTFEOEEwNzhBMDY4QTBBOEEwOUIwCis6MTAwQ0UwMDA4QTA4RjRFQkVFRkZGMjc0MDc2N0Y0OTVFODAxRUUwMTcxCis6MTAwQ0YwMDBGQzAwNEEwNzRBMUQ2OEY4MDAwNzdEM0Y2OUY4MDAwN0I1Cis6MTAwRDAwMDA0MDAwNjhGODAwMURGRkZDOEExRDhBMDdGNEVCNEExMUI5Cis6MTAwRDEwMDA3NzExMDAyODc2ODEyNDAwRTgwMDc1RjgwMDA4MDAwMUFBCis6MTAwRDIwMDBGMjc0MDc2N0Y0OTVFODAwNzcxMTAwMUQ2ODgxMDA3RjcxCis6MTAwRDMwMDBGNkI4RjQ5NUYwMjBGRjgwNzcxMTAwMURGMDMwMDEwMDI3Cis6MTAwRDQwMDAxQTgxODA4MUYwNzQwQTMzRjA3NDExQUNGOTgwMTMyNTk0Cis6MTAwRDUwMDBGOTgwMTY1M0Y5ODAxNzgyRjA3NDA2MkZGOTgwMTRCMkM3Cis6MTAwRDYwMDBGOTgwMTkxMEYwNzQwREUzRjA3NDA3RThGMDc0MDIzNjlFCis6MTAwRDcwMDA4QTExRkMwMDRBMTE2MEY4Mjc3QkZGRkZGODMwMDgzOTIwCis6MTAwRDgwMDA3MUY4Mjc3QjI3Nzk2MEY4Mjc3OUZGRkZGODMwMDhCMkUwCis6MTAwRDkwMDAxMEY4Mjk4NjA4RjgyNzc5RjAzMDdGRkY4ODExRjQ5NTNDCis6MTAwREEwMDA3NzEwNDAwMEY2QTlGODMwMDg1ODEwRjgyNzc5MDhGOEFECis6MTAwREIwMDAyNzdBRjAzMDdGRkY4ODExRjQ5NTc3MTA0MDAwRjZBOTZDCis6MTAwREMwMDBGODIwMDg2Mzc2RjgyNzc5RkZGRjc2RjgyNzdCRkZGRjg2Cis6MTAwREQwMDBGN0I4RjI3MzA4RDlGMDIwRkZGRkY2Qjg1NkY4Mjc3NDc5Cis6MTAwREUwMDBGMEY5ODgxMTU2RjgyNzcyRjBGOTg4MTJGNDk1RjQ5NTA1Cis6MTAwREYwMDBFNzIwRjRBOUY4MzAwODhGRjEyMDI3N0M0ODExRjYwMDhECis6MTAwRTAwMDA4ODEzRjQ5NUY0OTUxMDgzMDhGODI3NzlGMDMwN0ZGRjY0Cis6MTAwRTEwMDA4ODEzRjQ5NTc3MTA0MDAwRjVBQkY4MzAwODhGNkQ5MThBCis6MTAwRTIwMDA0ODExRjAzMDAxRkY4ODExRjQ5NUU3MjBGN0E5RjgzMDU4Cis6MTAwRTMwMDAwODc0NkQ4OTQ4MTFGMDMwMDFGRkYwRTdGNDk1NDgwODE3Cis6MTAwRTQwMDA0RUY4Mjc3NDQ4MDhGMUY5ODkxMUY0OTVGNDk1NzFFMTg5Cis6MTAwRTUwMDAyNzdDMjc3QTYwRjgyNzdCRkZGRkY4MzAwOEFCNDgwODJCCis6MTAwRTYwMDA0RUY4Mjc3Mjc2RjgyNzdCRkZGRjc2RjgyNzc5RkZGRjg5Cis6MTAwRTcwMDBGMjczMDhEOUY0OTVFODAwNDRGODI3NzM0MEY4Mjc3NTExCis6MTAwRTgwMDA4MkY4MDAxMUY0OTU3NzEwODAwMEY2QTlGODIwMDhEOEIwCis6MTAwRTkwMDBGNkI4MTBGODI3NzNGMDAwODAwMDQ4MDg0RUY4Mjc3NDYxCis6MTAwRUEwMDA0ODA4RjBGOTg4MTFGNDk1RjQ5NTcxRTEyNzdDMjc3QUM4Cis6MTAwRUIwMDBGN0I4NTdGODI3NzRGMDYyRkZGRkYwNDBGRjgwRjI4MDI4Cis6MTAwRUMwMDA0RUY4Mjc3NEU4MDA4QTExRkMwMDRBMTE0QTE2RUVGQjFFCis6MTAwRUQwMDAxMUY4Mjc3MTA5RjgyNzczODkxMTg4MTBGNDk1RjQ5NTkyCis6MTAwRUUwMDBGNkE5RjgyMDA4RURGMjczMDkwRUY0OTVFODAwRjYyMDUzCis6MTAwRUYwMDA3NjAwMDA0MUYwNzQxMkVFODgxNkY0OTVGN0I4NkQ5NkZFCis6MTAwRjAwMDAxMEY4MDAxNkY4NDcwOTBBRTc2MTc2MDAwMDAwNzYwMTNDCis6MTAwRjEwMDAwMDgwNzYwMjAwRkY3NjAzMDAwMEYyNzQwQ0I5RjQ5NUFECis6MTAwRjIwMDBFODAwNkNFOUZGRkYwOEZCNzMxNjAwMEVGMDY2MDA0MTU1Cis6MTAwRjMwMDBFRTA1OEExNjhBMTFGQzAwNEExMUY0OTU3MTAyMDAxMzFECis6MTAwRjQwMDBGNkI4NzcxMTdGRkY1N0Y4Mjc3MjQ4MTFGMjgwRjAwMDRBCis6MTAwRjUwMDA4MDAwODgxMUY2NDBGMEUwRjFGMUU4MDFGMjgwODBGOEJECis6MTAwRjYwMDAyNzc4NzcxMjgwMDA1N0Y4Mjc3MjQ4MTJGMjgwODgxMjhCCis6MTAwRjcwMDBGNDk1RjQ5NTZDODIwOTM4RTgwMDc1RjgwMDA4MDAwMUQyCis6MTAwRjgwMDBGMDczMDkzREYwMjA4MDAxNzVGODAwMDgwMDAxNzA4MUMwCis6MTAwRjkwMDAwMDEzOEExMUZDMDA0QTExRjAzMDdGRkYxMUY4Mjk4NkY2Cis6MTAwRkEwMDBGNTIwRjMzMDdGRkY4OTExRjQ5NTc3MTA0MDAwRjZBOTAyCis6MTAwRkIwMDBGODIwMDk1NEYyNzMwOTY3RjQ5NUU4MDI2RkY4Mjc3QTZDCis6MTAwRkMwMDAwRDIwRjMzMDdGRkY4OTExRjQ5NTc3MTA0MDAwRjZBOUNBCis6MTAwRkQwMDBGODIwMDk2NEYyNzMwOTY3RjQ5NUU4MDE4MEY4Mjc3QjJCCis6MTAwRkUwMDBFODAwOEExMUZDMDA0QTExMTFGODI5ODZGNTIwRjMzMDM3Cis6MTAwRkYwMDA3RkZGODkxMUY0OTU3NzEwNDAwMEY2QTlGODIwMDk3QTRGCis6MTAxMDAwMDBGMjczMDk4REY0OTVFODAyNkZGODI3N0EwRDIwRjMzMDFBCis6MTAxMDEwMDA3RkZGODkxMUY0OTU3NzEwNDAwMEY2QTlGODIwMDk4QTFFCis6MTAxMDIwMDBGMjczMDk4REY0OTVFODAxODBGODI3NzlFODAwOEExMUI4Cis6MTAxMDMwMDBGQzAwNEExMUY0OTU3MTAyMDAxMjg4MTFGNkI4NTdGOEI1Cis6MTAxMDQwMDAyNzcyRjAyMDdGRkZGMjgwRjAwMDgwMDA4MDgxNTdGODQ3Cis6MTAxMDUwMDAyNzcyRTgwMUYzRjFGMjgwODBGODI3Nzg3NzExODAwMDk5Cis6MTAxMDYwMDA0ODExNTdGODI3NzJGMjgwODgxMUY0OTVGNDk1NkM4MTM1Cis6MTAxMDcwMDAwOUI1RTgwMDc1RjgwMDA4MDAwMUYwNzMwOUJBRjAyMDFFCis6MTAxMDgwMDA4MDAxNzVGODAwMDgwMDAxNDVGODI3NzE0M0Y4Mjc3M0JGCis6MTAxMDkwMDA4M0Y4MDAxMUY0OTVFNzIwRjZBOUY4MzAwOUM5RjI3MzM2Cis6MTAxMEEwMDAwOUU0NzcxMjAwMDA1N0Y4Mjc3MkYwMjA3RkZGRjI4MEUyCis6MTAxMEIwMDA0OTEyRjUwMEYzMDA4MDAwNjFGODAwMEI4MDAwRjgzMDYxCis6MTAxMEMwMDAwOURDRjEyMDgwMDBGNTIwODkxMkY0OTU0ODEyNkZGOEIwCis6MTAxMEQwMDAyNzczMEQwMEY0OTU0OTBCNEZGODI3NzI4QTExRkUwMDEzCis6MTAxMEUwMDA0ODEyRjQ5NTRBMTE0QTE2NEExN0VFRkNGNDk1NzEwODE1Cis6MTAxMEYwMDAwMDE2ODgxN0YwNzQwODMwNDgxODcwMDAwMDE2RjI3NDUzCis6MTAxMTAwMDAwOThGRjAwMDAwMDI4ODExRjQ5NUY0OTU2QzgxMEEwQUE5Cis6MTAxMTEwMDBGMjc0MDhEQkY0OTU0ODE2NDgxODcwMDAwMDE2RjI3NDUzCis6MTAxMTIwMDAwOThGRjAwMDAwMDI4ODExMTAwMjcwMDEwMDExODAwMDg4Cis6MTAxMTMwMDBGMjc0MDZDRUY0OTU0ODE3NDkxMTQ4MTdGNjAwODgxNzNGCis6MTAxMTQwMDBFNzYwRjVBOUY4MjAwQTJENDgxNkY2MjA4ODExNDgxOEZFCis6MTAxMTUwMDA3MDAwMDAxMUYyNzQwOThGRjAwMDAwMDI4ODExNzAwMTE0Cis6MTAxMTYwMDAwMDExMTAwMjgwMDBGMjc0MDZDRUY0OTU0ODE3RUUwNEM4Cis6MTAxMTcwMDA0ODE2OEExNzhBMTY4QTExRkMwMEVFRkRFODAwNEVGODIwCis6MTAxMTgwMDAyNzcwRTgwMDRFRjgyNzcyRTgwMDRFRjgyNzc0RTgwMDUwCis6MTAxMTkwMDA0RUY4Mjc3Njc2RjgyNzc5RkZGRjc2RjgyNzdBMDAwMDUxCis6MTAxMUEwMDA3NkY4Mjc3QkZGRkY3NkY4Mjc3ODAwMDBFODAwNzVGOENGCis6MTAxMUIwMDAwMDA4MDAwMTc2MDAwMDAwNzYwMTAyMDBGMjc0MTJEQ0UzCis6MTAxMUMwMDBGMDIwMjc3Q0VFMDNGQzAwNEExMUVFRkNGNDk1NEUwMDYzCis6MTAxMUQwMDA3NzEyN0ZGRkY2Qjg0OTEyRjE4MEYzMDA4MDAwODkxMjgwCis6MTAxMUUwMDBGMEUwRjFGMTRGMDJFOTAxRjQ5NTQ4MEJGNTQwNTYwMkE5Cis6MTAxMUYwMDBGMTgwODFGODI3Nzg3NzExODAwMDU2MDA0OTExRjE4MDNECis6MTAxMjAwMDA4OTExRjQ5NUY0OTU2QzgxMEE4MUU4MDA3NUY4MDAwODVECis6MTAxMjEwMDAwMDAxRjA3MzBBODZGMDIwODAwMTc1RjgwMDA4MDAwMUQzCis6MTAxMjIwMDAxMDgyRUUwNDhBMTFGQzAwNEExMUVFRkVGNDk1NEUwMDg1Cis6MTAxMjMwMDA3NzExN0ZGRkY2Qjg0OTExRjE4MEYzMDA4MDAwODkxMTIyCis6MTAxMjQwMDBGMEUwRjFGMUU4MDFGMjgwODBGODI3Nzg1NjAwRjEyMDEzCis6MTAxMjUwMDA4MDAwRjE4MEY0OTU0OTBCRjg0RDBBQUJGMDIwODAwMTM1Cis6MTAxMjYwMDA3NUY4MDAwODAwMDFGMDczMEFBRkU4MDA3NUY4MDAwODhGCis6MTAxMjcwMDAwMDAxRUUwMjQ4MTE4QTExRkMwMDRBMTE4ODEyMTMwMjgzCis6MTAxMjgwMDA3NzExMDAwMEY4NEQwQUNCRjMxMDAwMDE4OTFBRjQ5NThDCis6MTAxMjkwMDBGMDcyMEFDQTQ4MTExQ0Y4Mjk3RTg4MTExMUY4Mjk3RUJCCis6MTAxMkEwMDBGMjAwMDAwMTgwRjgyOTdFODE5MjQ4MTE4QTExRkMwMDI5Cis6MTAxMkIwMDA0QTExRjQ5NTcxMDIwMDExODgxMkY2QjhGMDIwN0ZGRkYwCis6MTAxMkMwMDA1N0Y4Mjc3MEYyODBGMDAwODAwMDgwODI1N0Y4Mjc3MDZFCis6MTAxMkQwMDBFODAxRjNGMUYyODA4MEY4Mjc3ODc3MTI4MDAwNDgxMjU1Cis6MTAxMkUwMDA1N0Y4Mjc3MEYyODA4ODEyRjQ5NUY0OTU2QzgyMEFGNDBFCis6MTAxMkYwMDBFODAwNzVGODAwMDgwMDAxRjA3MzBBRjlGMDIwODAwMTk5Cis6MTAxMzAwMDA3NUY4MDAwODAwMDE0NUY4Mjc3NUU3MTA0M0Y4Mjc3MUM0Cis6MTAxMzEwMDA4M0Y4MDAxMjZERTgwMDA0NkQ4QUY2QUFGODMwMEIwQTEzCis6MTAxMzIwMDBGMjczMEIyNTc3MTEwMDAwNTdGODI3NzBGMDIwN0ZGRjJDCis6MTAxMzMwMDBGMjgwNDkxMUY1MDBGMzAwODAwMDYxRjgwMDBCODAwMDk1Cis6MTAxMzQwMDBGODMwMEIxREYxMjA4MDAwRjUyMDg5MTFGNDk1NDgxMTJCCis6MTAxMzUwMDA2RkY4Mjc3MTBEMDBGNDk1NDkwQjRGRjgyNzcwNDgxMTZECis6MTAxMzYwMDA4QTExRkMwMDRBMTE0QTE2NEExN0VFRjA4ODE3MTAxNzI2Cis6MTAxMzcwMDA4MDA1MTAxNjgwMDYxMDE1ODAwNzcxMTQwMDExMTAwNUU1Cis6MTAxMzgwMDBGMDMwMDAwMTg4MTAxMDA2RjAzMDAwMDE4MDA4NDkxMThCCis6MTAxMzkwMDAxMDA1RjYwMTgwMDkxMDA2NjFGODAwMDgwMDAxRjgyMDI4Cis6MTAxM0EwMDAwQjRCMTAwOUYwMDAwMDAxODAwOTcxMDgwMDEyRjRBQTJCCis6MTAxM0IwMDBGODMwMEI1NDEwMDlGMDAwMDAwMTgwMDkxMjA5NDkxMTlFCis6MTAxM0MwMDBGNDdGODAwOUY2MjA4MDBBNTZGODI3NzA0RTBDMTAwOTI5Cis6MTAxM0QwMDA4MDAwNDgxOEYyNzQwQUNFRjAwMDAwMDQ4ODE2RjQ5NUQ0Cis6MTAxM0UwMDBGNDk1NkM4NjBCNkRGMjczMEM1OUY0OTVFODAwRjZCODIxCis6MTAxM0YwMDBGNDk1NTYwQ0YwRjk4ODEyRjQ5NUY0OTU3MEUyMjc3Qzc4Cis6MTAxNDAwMDAyOTg2RTgwMDgwMEU0ODExRjg0NTBCQ0M3NzEwMDAwMUMyCis6MTAxNDEwMDBGNEE5RjgzMDBCODk2Q0UxRkZGRDBCOEIxMEU3MDAwMjlCCis6MTAxNDIwMDA4MDBFRjA3MzBCOEIxMDg3ODAwRUU3MTBGNUFFRjgyMDVFCis6MTAxNDMwMDAwQkIyNzAwMDAwMTc3MDAxMDAxNjEwMDRGMDc0MDZDRTk1Cis6MTAxNDQwMDA0ODE3NDkxNkY2MDA4ODE3NDgxMUY2MjA4ODExMTAwOTI4Cis6MTAxNDUwMDBGNjIwODAwMDQ4MThGMjc0MEFDRUYwMDAwMDA0ODgxNkM2Cis6MTAxNDYwMDAxMDA0NzAwMDAwMTc3MDAxMDAxMUYwNzQwNkNFNDgxMUNFCis6MTAxNDcwMDAwMDA0ODAwNEYwNzMwQkJDNzAwMDAwMTc3MDAxMDAxMUIxCis6MTAxNDgwMDAxMDA0RjA3NDA2Q0U0ODExMDAwNDgwMDQ0OTExNDgxNjc3Cis6MTAxNDkwMDBGNjIwODgxNkY0OTVGNDk1NkM4NjBCQ0MxMDBBODAwMDIzCis6MTAxNEEwMDA0ODE4RjI3NDBBQ0VGMDAwMDAwNDg4MTYxMjBBRjg0NUIzCis6MTAxNEIwMDAwQzMzNzEwQTAwMTBGNEFFRjgzMDBDMUM0ODE2RjBFMTQxCis6MTAxNEMwMDA4ODExMTIwOEY4NDUwQkRCNkQ4OTEyMDdGODQ1MEJFOTA2Cis6MTAxNEQwMDAxMDA3ODAwMDcwMDIwMDExMTAwNjgwMDExMDA0RjA3NEUzCis6MTAxNEUwMDAwNkRDRjA3MzBCRUY0ODExNkYwMDBDOUYxMDA0RjA3NEQyCis6MTAxNEYwMDAwQUIzMTEwRUYxQzA4MTBFMTAwNjQ5MTFGNjAwODAwNkU0Cis6MTAxNTAwMDAxMDA1RjYyMDg4MTFGMDAwMDAwMTQ4MDg2RjAwMEM5RkJDCis6MTAxNTEwMDA0ODE4RjI3NDBBQ0VGMDAwMDAwNDEyMDdGODQ1MEMxMUM2Cis6MTAxNTIwMDAxMDA3ODAwMDcwMDIwMDExMTAwNjgwMDExMDA0RjA3NDkyCis6MTAxNTMwMDAwNkRDRjA3MzBDMTc0ODExNkYwMDBDOUYxMDA0RjA3NDU4Cis6MTAxNTQwMDAwQUIzMTEwRUYxQzA4MTBFRjA3MzBDMzMxMjA3Rjg0NTg3Cis6MTAxNTUwMDAwQzJBMTAwNzgwMDAxMDA2ODAwMTEwMDU4MDAyMTAwNDdDCis6MTAxNTYwMDBGMDc0MDZEQ0YwNzMwQzMwMTIwNTZGMDAwQzlGMTAwNDUxCis6MTAxNTcwMDBGMDc0MEFCMzExMEVGMUMwODEwRTc2MDAwMDAxNDgxODE0Cis6MTAxNTgwMDBGMjc0MEFDRUYwMDAwMDA0NzEwNDAwMTE3MDgxMjk4NjAzCis6MTAxNTkwMDAxMDBFMUNGODI5ODY4MDBFNzYwMDAwMDE0ODE4RjI3NDlGCis6MTAxNUEwMDAwQUNFRjAwMDAwMDQxMDBFNzEwNDAwMTE4MDgxMTBGOEMyCis6MTAxNUIwMDAyOTg2RjAwMDAwMDFGMDMwN0ZGRjgwRjgyOTg2MTAwOUFECis6MTAxNUMwMDBGMDAwMDAwMjgwMDlFRTEwOEExNzhBMTY4QTExRkMwMENBCis6MTAxNUQwMDAxMEY4Mjc3NTA4RjgyNzcxRjAxMDAwMDE0ODA4RkMwMDgyCis6MTAxNUUwMDA0QTExNEExNkVFRkZGNDk1NzEwNDAwMTZGMDAwMDAwMTRFCis6MTAxNUYwMDA0ODA4NEVGODI5N0M2REVFRkZGRDQ4MTZGODQ1MEM5OTE5Cis6MTAxNjAwMDA1NkY4Mjk3Q0YwNzQwQTVBODgxMTEwRjgyOTdERjAwMEU4Cis6MTAxNjEwMDAwMDAxNDgwODRFRjgyOTdDMTBGODI5ODJGMDAwMDAwMUVBCis6MTAxNjIwMDA4ODEwRjQ5NUY0OTVGNEE5RkEzMDBDOTY4MEY4Mjk4Mjg0Cis6MTAxNjMwMDA1NkY4Mjk4MEYwMDAwMDAxNEVGODI5ODA3MzExMjk4MkE0Cis6MTAxNjQwMDA2Q0VFRkZGRjBDNzZFRTAxOEExNjhBMTFGQzAwNEExMTNGCis6MTAxNjUwMDA3NkY4Mjk4NDAwMDA3NkY4Mjk4NTAwMDFFODAwNEVGODI0Cis6MTAxNjYwMDAyQTBDNzZGODI5ODYwMDAwNzZGODI5ODcwMDAwNzcxMTgxCis6MTAxNjcwMDAyOTg4NzY4MUFBQUE3NkUxMDAwMUFBQUE3NkUxMDAwMjY5Cis6MTAxNjgwMDAwMDAwOEExMUZDMDA0QTExRUVGQ0Y0OTU3MTA2MDAxNDZBCis6MTAxNjkwMDA3MTA3MDAxMzcxMDgwMDEyNzEwOTAwMTU3NzEwMDBGRjFGCis6MTAxNkEwMDBGNEFBRjgzMDBENDQ0OTEzNTNGODJBMEM0RkY4MkEwQ0M5Cis6MTAxNkIwMDA3MzEyMDAwRUYxNjYwMDBEODkxMUY0OTU3NzEwMDAwMTg4Cis6MTAxNkMwMDA3MUUxMjQwMDAwMTFGNEE5RjgzMDBEMTc3NzEwMDAwMjIxCis6MTAxNkQwMDBGNEE5RjgzMDBDRUM3NzExMjk4QTc2ODEwMDAwRTgwMDMzCis6MTAxNkUwMDA3NzE0MDAwMDc3MTMwMDAwRjA3MzBENDg2QzgzMENGQTM4Cis6MTAxNkYwMDA3NzExMjk4QTQ4MTJGMEU4RjA0MDgwMDA4MDgxRTgwMEU0Cis6MTAxNzAwMDA3NzE0MDAwMEYwNzMwRDQ4NDkxM0YzNDA4MDAwODFGODBFCis6MTAxNzEwMDAyOThBNjFGODAwMTUwMDAxRjgyMDBEMDc2OUY4Mjk4QTY3Cis6MTAxNzIwMDA0MDAwNjFGODAwMTQwMDAxRjgyMDBEMEY2OUY4Mjk4QUMzCis6MTAxNzMwMDAyMDAwNzcxMTI5OEE0OTEyRjNFODFCODE4MTgxRjA3MzE3Cis6MTAxNzQwMDAwRDQ4MTFGODI5ODRGODRDMEQzNzc3MTEyOTg4NzY4MUQ2Cis6MTAxNzUwMDBBQUFBMTFGODI5ODVGMzEwMDAwMUYzNDBBQTAwODFFMTNCCis6MTAxNzYwMDAwMDAxNzYwMDAwMDI4MDAxNzAwMjAwMTQ3MDAzMDAxMzczCis6MTAxNzcwMDBGMjc0MEIyOEY0OTU0ODExNzFGODI5ODUyOTg0RjA3M0M3Cis6MTAxNzgwMDAwRDczNzYwMDAwMDA4MDAxNzYwMjAwMDA3MDAzMDAxM0U0Cis6MTAxNzkwMDBGMjc0MEIyOEY0OTVFODAwRjA3MzBENzM3NzExMjk4QTIxCis6MTAxN0EwMDA3MDgxMDAxMzExRjgyOTg0Rjg0QzBENjg3NzExMjk4ODhECis6MTAxN0IwMDA3NjgxQUFBQTExRjgyOTg1RjMxMDAwMDFGMzQwQUEwMDQ2Cis6MTAxN0MwMDA4MUUxMDAwMTc2MDAwMDAzODAwMTcwMDIwMDE0NzAwM0MzCis6MTAxN0QwMDAwMDEzRjI3NDBCMjhGNDk1NDgxMTcxRjgyOTg1Mjk4NEI3Cis6MTAxN0UwMDBGMDczMEQ3Mzc2MDAwMDAxODAwMTcwMDIwMDE0NzAwMzI1Cis6MTAxN0YwMDAwMDEzRjI3NDBCMjhGNDk1NDgxMTZCRjgyOTg0RkZGRjRECis6MTAxODAwMDBFRTA0OEExMUZDMDA0QTExRjU0MEY0OTU0ODBCRjQ3ODc3Cis6MTAxODEwMDA4ODExRjQ5NUY0OTU2Q0UxRkZCOTBEODhGMjczMERBNTZDCis6MTAxODIwMDBGNDk1RTg2MEYyMDAwMDA2NjFGODAwMTEwMDIwRjgzMDNECis6MTAxODMwMDAwRDk4NjFGODAwMEIwMDAxRjgyMDBEQTNGMjAwMDAwN0RECis6MTAxODQwMDBGMDczMERBMzYxRjgwMDBCMDAwMUY4MjAwREExRjI3M0Y1Cis6MTAxODUwMDAwREEzRjAwMDAwMDFGMDAwMDAwMjQ4MDhGNDdGOEExMTk3Cis6MTAxODYwMDBGQzAwRUVGRkYwNzQwN0ZERjA3NDA3NDRGMDc0MERCNDUzCis6MTAxODcwMDBGMDc0MDIwNUYwNzQwNDYwRjA3MzBEQUFFRUZEMTBGODI4Cis6MTAxODgwMDAyQUEzRjg0NDBEQ0IxMEY4MkFBNEY4NDUwREQ3NzYwMDBBCis6MTAxODkwMDAwMjAwRjI3NDA5RThGMDIwMjIwMDc2RjgyQUE0MDAwMDgxCis6MTAxOEEwMDA3NkY4MkFBNzAwMDBGMDczMERENzc2MDAwMjAwRjI3NEQ0Cis6MTAxOEIwMDAwOUU4RjAyMDIwMDA3NkY4MkFBMzAwMDA3NkY4MkFBNzhECis6MTAxOEMwMDAwMDAxRjA3NDBDNUVGMEUwRjAxMDNBOThGODQ3MERFMTdBCis6MTAxOEQwMDA3NkY4Mjc2RTAwMDBFRTAzRkMwMDRBMTFFRUZFNzcxMTQ5Cis6MTAxOEUwMDAyMDAwNzYwMEFBQUE3NjAxMDIwMEYyNzQwNjZDRjQ5NTM0Cis6MTAxOEYwMDA0ODExNzYwMDU1NTU3NjAxMDIwMDQ4MTFGMjc0MDY2Q0M1Cis6MTAxOTAwMDBGMDAwMDIwMDc2RjgyQUEzMDAwMDc2RjgyQUE0MDAwMDZFCis6MTAxOTEwMDBFODAwNEUwMEZCODAxNTNFRjQ5NUU4MDQ4MEY4MkFBNTA3Cis6MTAxOTIwMDA3NjAwMkFBOEY5ODAxNDg3NzYwMDJBQURGQjgwMTM2MjFFCis6MTAxOTMwMDBGNDk1RTgwMjEwRjgyQUE1Rjk4MDE0NjNGQjgwMTY2Njc2Cis6MTAxOTQwMDBGNDk1RTgxQ0ZCODAxNjg3RjQ5NUU4MUNFODAxNEUwMDJFCis6MTAxOTUwMDBGQjgwMTdENkY0OTVFODAwODBGODJBQTY3NjAwMkFCNzBGCis6MTAxOTYwMDBGOTgwMTZBQTEwRjgyQUE2Rjk4MDE3NUMxMEY4MkFBNkEyCis6MTAxOTcwMDBGOTgwMTc2RkVFMDI4QTExRkMwMEY0OTU0QTA4NEEwOUIzCis6MTAxOTgwMDA0QTBBNEEwNzRBMUQ2OEY4MDAwNzdEM0Y2OUY4MDAwN0MwCis6MTAxOTkwMDA0MDAwNjhGODAwMURGRkZDMTBGODJBQTdGODQ0MEU0QjIxCis6MTAxOUEwMDA3NkY4MkFBMzAwMDFGMDczMEU0RTc2RjgyQUE0MDAwMUZGCis6MTAxOUIwMDA4QTFEOEEwNzhBMEE4QTA5OEEwOEY0RUI0QTExNEExNjlDCis6MTAxOUMwMDA0QTE3RUVGRTg4MEU3MTA4MDAxNjcxMDYwMDE3MTEwN0ZGCis6MTAxOUQwMDBGMDY2MDAwREYwMDAyNUEwODgxMTc2MDEwMDA2ODEwMDU4Cis6MTAxOUUwMDBGMjc0MDZDRUYwMDAwMDAxNzYwMTAwMDY3MDAwMDAxNkM5Cis6MTAxOUYwMDA0ODExRjI3NDA2Q0VGMDAwMDAwNzcwODEwMDE3RUUwMjY1Cis6MTAxQTAwMDA4QTE3OEExNjhBMTFGQzAwNEExMTg4MEU3MTAyMDAxMjg4Cis6MTAxQTEwMDAxMTAzRjA2NjAwMERGMDAwMjQwMDg4MTFGNDk1NzA4MTI4Cis6MTAxQTIwMDAwMDEyNkVFMkZGRkUwRThERjQ5NUU4MDBFODAxODBFMTAxCis6MTAxQTMwMDAwMDAyNzZFMTAwMDMwMEZGNzZFMTAwMDQwMDAwNzZFMTk5Cis6MTAxQTQwMDAwMDBCMDAwMDc2RTEwMDBDMDAwMDgxRTEwMDAxOEExMTJBCis6MTAxQTUwMDBGQzAwNEExMUVFRkM4ODBFRjQ5NUYxNjYwMDBERjMwMENGCis6MTAxQTYwMDAyNDAwODkxMUY0OTVGNDk1NzZFMTAwMEMwMDAwNzZFMUVDCis6MTAxQTcwMDAwMDBCMDAwMDc2RTEwMDAyMDAwMTc2MDAwMDAwNzYwMTE0Cis6MTAxQTgwMDAwMDAwODAwMjc2MDMwMDAwRjI3NDBDQjlGNDk1RTgwMEJGCis6MTAxQTkwMDBFRTA0OEExMUZDMDA0QTExODgxOUY0OTU3MzE5MDAwRTlFCis6MTAxQUEwMDBGMTY2MDAwREYyMDAyNDAwNzcxNTI1QTA3NzE0MDAwMEUwCis6MTAxQUIwMDA3NzFBMDAxRkYwNzIwRjE0RjZCODQ5MTkwOTg1Rjg0QzBGCis6MTAxQUMwMDAwRjEzRjEwMDAwMDU4OTExNDkxNUYzMDAwMDAxODkxMzc2Cis6MTAxQUQwMDA0OTE1RjMwMDAwMDc4OTEyMTE5MzFEOTExOTkyODkxMDdECis6MTAxQUUwMDBGNDk1RjQ5NTZDODAwRjEzMTE5MzFEOTExOTkyODkxMDQwCis6MTAxQUYwMDBGNDk1RjQ5NTZDODAwRjEzMTE5MzFEOTExOTkyODkxMDMwCis6MTAxQjAwMDBGNDk1RjQ5NTZDODAwRjEzMTE5MzFEOTExOTkyODkxMDFGCis6MTAxQjEwMDBGNDk1RjQ5NTZDODAwRjEzMTE5MzFEOTExOTkyODkxMDBGCis6MTAxQjIwMDBGNDk1RjQ5NTZDODAwRjEzMTE5MzFEOTExOTkyODkxMUZFCis6MTAxQjMwMDBGNDk1RjQ5NTZDODEwRjEzNkQ5NDZERUQwMDBENDgxNEMwCis6MTAxQjQwMDA4QTExRkMwMDRBMTE0QTE2NEExN0VFRjg4ODE3MTAwRDQwCis6MTAxQjUwMDA4MDA0MTAwQzgwMDU3MTBFMDAxNjczMTcwMDBFRjA2NkRECis6MTAxQjYwMDAwMDBERjAwMDI0MDA4ODExMTBGODI3NjNGODQ1MEYzMkFCCis6MTAxQjcwMDBGMjc0MEU5RkY0OTU0ODE3MTBGODI3NjBGODQ0MEYzRDUzCis6MTAxQjgwMDA2MEUxMDAwMjAwMDFGODIwMEY2REYwNzMxMTMzMTAwNEMyCis6MTAxQjkwMDA4MDAwMTAwNUYwNzQwNjlGMTEwNEYzMDAwMDAxODEwNDE5Cis6MTAxQkEwMDA2RDhFNzcxMDAwMDE3MUUxMDAwMjAwMTJGNEFBRjgzMDg2Cis6MTAxQkIwMDAwRjYyNzcxMDAwMDJGNEFBRjgzMDBGNkQ0NUUxMDAwQkI4Cis6MTAxQkMwMDA4ODEwNDNFMTAwMEM4M0Y4MDAxMkY0OTVGNDk1RjRBQTEwCis6MTAxQkQwMDBGODMwMEY2REYwNzMwRjk2RjUwMDgxMDQ0OTE2RjUyMDZCCis6MTAxQkUwMDA4OTE2NzZFMTAwMEMwMDAwNzZFMTAwMDQwMDAwNDgxNjNBCis6MTAxQkYwMDBGODQ1MTEzM0Y3Qjg3MUUxMDAwMjAwMTIxMEY4MDAxMjM1Cis6MTAxQzAwMDBGMDEwMDAwM0Y4NDYwRjhDMTBGODAwMTJGMDEwMDAwM0RCCis6MTAxQzEwMDBGODQ1MTAxNjc3MTAwMDAxRjRBQUY4MzAwRjlDNzcxMEUxCis6MTAxQzIwMDAwMDAyRjRBQUY4MzAwRkE4RjA3MzBGOTY3NzEwMDAwNEEyCis6MTAxQzMwMDBGNEFBRjgzMDEwQjc3NzEwMDAwNUY0QUFGODMwMTBCQ0Y5Cis6MTAxQzQwMDBGMjc0MEU5RkY0OTU0ODE3RjA3MzExMzE3NkUxMDAwQzkxCis6MTAxQzUwMDAwMDAwNzZFMTAwMEIwMDAwNzZFMTAwMDQwMDAwNzZFMTcwCis6MTAxQzYwMDAwMDAyMDAwMjExRTEwMDBDRTgwM0Y2MjA4OTEyRjQ5NTRECis6MTAxQzcwMDA3NzEwMDAwM0Y1QUFGODMwMEZCNjZCRjgyNzZGMDAwMTU0Cis6MTAxQzgwMDA4ODEwRjQ5NUY0OTVGNUFFRjgyMDBGQkQ0ODE2ODAwNjNGCis6MTAxQzkwMDA4ODEzRjQ5NTc3MTAwMDAzRjZBQkY4MjAwRkM4NkJGOEEzCis6MTAxQ0EwMDAyNzZGMDAwMTEyMDZGODQ1MTAwMDEwRTEwMDA0ODAwMEMzCis6MTAxQ0IwMDAxMDA1ODAwMTEwMDQ4MDAyMTAwNjgwMDM0ODExRjI3NEEwCis6MTAxQ0MwMDAwNzFFRjAwMDAwMDUxMDA2MDBFMTAwMDQ4MEUxMDAwNDlBCis6MTAxQ0QwMDAxMDA2MDBFMTAwMEM4MEUxMDAwQzg4MTIxMTA2MTAwNENGCis6MTAxQ0UwMDBGNjAwODAwNDQ4MTZGNjIwODgxNjg5MTNGNDk1NzcxMEJDCis6MTAxQ0YwMDAwMDAzRjZBQkY4MjAwRkY1NkJGODI3NkYwMDAxNzcxMEEzCis6MTAxRDAwMDAwMDBDNzFFMTAwMDQwMDEzRjZBQkY4MjAxMDAwNkJGODMyCis6MTAxRDEwMDAyNzZGMDAwMTZDRTJGRkZEMTEzMUY2Qjg2RkUxMDAwNTlECis6MTAxRDIwMDAwQzQ4NkZFMTAwMDYwQzE4RjAzMDBGRkZGMDAwMDAwM0M0Cis6MTAxRDMwMDA4MEUxMDAwQjc2RTEwMDAyMDAwMzQ4MTZGODQ1MTEzM0ZDCis6MTAxRDQwMDA3MUUxMDAwQzAwMTIxMEUxMDAwQjQ5MTJGNjIwODgxMzFCCis6MTAxRDUwMDBFODBDRjYyMDg4MTBGNDk1RjQ5NUY1QUJGODIwMTAyN0UwCis6MTAxRDYwMDA0ODEzODAwNjg4MTBGNDk1RjQ5NUY1QUVGODIwMTAzMEVECis6MTAxRDcwMDA3MDA2MDAxNjEyMDZGODQ1MTA1RjEwRTEwMDA0ODAwMDlFCis6MTAxRDgwMDAxMDA1ODAwMTEwMDQ4MDAyMTAwNjgwMDM0ODExRjI3NENGCis6MTAxRDkwMDAwNzFFRjAwMDAwMDUxMDA2MDBFMTAwMDQ4MEUxMDAwNEM5Cis6MTAxREEwMDAxMDA2MDBFMTAwMEM4MEUxMDAwQzg4MTIxMTA2MTAwNEZFCis6MTAxREIwMDBGNjAwODAwNDQ4MTZGNjIwODgxNkY0OTU3NzEwMDAwQzdCCis6MTAxREMwMDA3MUUxMDAwNDAwMTNGNkFCRjgyMDEwNUY2QkY4Mjc2Rjg5Cis6MTAxREQwMDAwMDAxNzcxMDAwMENGNkFBRjgyMDEwNkJGMjc0MEU5RjI5Cis6MTAxREUwMDBGNDk1NDgxNzcxRTEwMDBDMDAxMjc3MTAwMDBDRjRBQTZBCis6MTAxREYwMDBGODMwMTA3Qzc3MTAwMDBDNzFFMTAwMEIwMDEzRjZBQjhCCis6MTAxRTAwMDBGODMwMTBCNEU3MzBGN0FBRjgzMDEwQjRGMjc0MEVDMTBECis6MTAxRTEwMDBGNDk1NDgxNzg4MTJGNDk1RjQ5NTZDODIxMDhENzZFMTRDCis6MTAxRTIwMDAwMDA0MDAwMDc2RTEwMDAyMDAwNUYwNzMxMEI0NzZFMUQyCis6MTAxRTMwMDAwMDAyMDAwNDc3MTAwMDBDNzFFMTAwMEIwMDEyRjVBQUZCCis6MTAxRTQwMDBGODIwMTA5QUYwNzMxMDlDNzcxMjAwMEM3NjAwMDAwMEI2Cis6MTAxRTUwMDA3MDAxMDAxMjcwMDIwMDE3NzYwMzAwMDE0ODExRjI3NDNECis6MTAxRTYwMDAwQ0I5RjAwMDAwMDU3NkUxMDAwNDAwMDA3NzEwMDAwQ0NBCis6MTAxRTcwMDA3MUUxMDAwQjAwMTJGNkFBRjgyMDExMUM0ODE2Rjg0NTczCis6MTAxRTgwMDAxMTMzNjBFMTAwMDIwMDA1RjgyMDEwREYxMEUxMDAwQkMzCis6MTAxRTkwMDAwOEUxMDAwQzExRTEwMDA0Rjg0RDEwQzc2QkY4Mjc2RjQyCis6MTAxRUEwMDAwMDAxODgxMEY0OTVGNDk1RjVBRUY4MjAxMENGNDgxNjhGCis6MTAxRUIwMDBGNDk1NDgwOEY4NDUxMTE2NkZFMTAwMEMwRDAwODFFMTFBCis6MTAxRUMwMDAwMDBDMTEwNEY1MDA4MTA0NDkxNkY1MjA4OTE2RjA3MzAxCis6MTAxRUQwMDAxMTBFMTBFMTAwMEI3MUUxMDAwQzAwMTI4ODEwRjQ5NTU2Cis6MTAxRUUwMDBGNDk1RjZBQUY4MzAxMTE2NDkxMkY2MjA4ODEwRjQ5NUU4Cis6MTAxRUYwMDBGNDk1RjVBRUY4MjAxMEYzNDgxNjgwMDY0ODA4Rjg0NTJBCis6MTAxRjAwMDAxMTE2MTAwNDcwMDIwMDE3ODAwMDc2MDMwMDAwMTAwNkZFCis6MTAxRjEwMDA4MDAxMTAwNUYwNzQwQ0I5MTAwNjAwRTEwMDBDODBFMTlFCis6MTAxRjIwMDAwMDBDMTEwNjEwMDRGNjAwODAwNDQ4MTZGNjIwODgxNkVFCis6MTAxRjMwMDAxMEUxMDAwQzA4RTEwMDBCRjg0NTExMUNGMDczMTEzMUExCis6MTAxRjQwMDBGMjc0MEU5RkY0OTU0ODE3RjA3MzExMzM3NkUxMDAwQzhDCis6MTAxRjUwMDAwMDAwNzZFMTAwMEIwMDAwNzZFMTAwMDIwMDAxMTAwNEIxCis6MTAxRjYwMDA4MDAwMTAwNUYwNzQwNjlGODgxMkY0OTU3NzEwMDBGRjJBCis6MTAxRjcwMDBGNEFBRjgzMDExMzM2Qzg2MEY3MEVFMDg4QTE3OEExNkFGCis6MTAxRjgwMDA4QTExRkMwMDRBMTFFRUZDRjQ5NTcxMDYwMDEyODgxMUNBCis6MTAxRjkwMDA3MzEyMDAwRUYxNjYwMDBERjMwMDI0MDA4OTE0MTM4MTAyCis6MTAxRkEwMDBGNzdBRjMzMDAwMDE4MUY4Mjc2MDEzRTEwMDAxRjc3QzM0Cis6MTAxRkIwMDBGMzMwMDAwMzgxRjgyNzYxRTkwRjE5RTEwMDAxODFGODhFCis6MTAxRkMwMDAyNzYyNzFFNDAwMDMwMDEzRjZCODQ5MTNGMzAwMDAwMTFGCis6MTAxRkQwMDBGMzMwMDAwRjQ5MEIwOUY4Mjc2MkY4NEQxMTc1NzcxMDlGCis6MTAxRkUwMDAwMEZGRjRBQkY4MzAxMTc1NTdGODI3NkNGMzAwMDAwMUNGCis6MTAxRkYwMDA0RkY4Mjc2Qzc2RjgyNzYzMDAwMUYwNzMxMTc4NzZGOEI0Cis6MTAyMDAwMDAyNzYzMDAwMDcwRTQwMDAzMjc2Mjc2RjgyNzY0MDAwMDZECis6MTAyMDEwMDAxMUY4Mjc2MTYxRjgwMDBCMDAwMkY4MjAxMThERTkwMTI5Cis6MTAyMDIwMDA2RkUxMDAwMjBGMTg4MUY4Mjc2NDExRjgyNzYxNjFGODQ5Cis6MTAyMDMwMDAwMDBCMDAwMUY4MjAxMUE5MTBGODI3NjRGMTAwMDAwNDNBCis6MTAyMDQwMDA4OTEzRTlCOEY1MjA4MUY4Mjc2NTYwODQwMDAyRjgyMDNCCis6MTAyMDUwMDAxMUE5NzAwMDAwMTE3MDAxMDAxMzcwMDIyNzY1RjI3NDVECis6MTAyMDYwMDAwRjE4RjQ5NTQ4MTJFRTA0OEExMUZDMDA0QTExNEExNjIyCis6MTAyMDcwMDA0QTE3RUVGQ0U4MDA0RUY4Mjc2NkU4MDA0RUY4Mjc2ODlECis6MTAyMDgwMDBFODAwNEVGODI3NkNFODAwNEVGODI3NkE3NzEyMjc0MEUwCis6MTAyMDkwMDA3NzExMjQwMDc3MUEwMDFGRjA3MjExREI3MDkyMDAxMTgzCis6MTAyMEEwMDA3NkUxMDAwMUZGRkY3NjgxMDAwMDc2RTEwMDAyMDAwMDhBCis6MTAyMEIwMDA3NkUxMDAwMzAwRkY3NkUxMDAwQzAwMDA3NkUxMDAwQjAyCis6MTAyMEMwMDAwMDAwNzZFMTAwMDQwMDAwNkRFOTAwMERGMDIwMjVBMDdECis6MTAyMEQwMDBGMTAwMDAwNzg5MTFGMTAwMDAwMTgxMDI4ODE2RjQ5NUQyCis6MTAyMEUwMDA3NzE3MDAyMDc2ODYwMEZGNzYwMDAwMDA3NjAxMDAwNjU0Cis6MTAyMEYwMDAxMDAyRjA3NDA2NkM3NjAwMDAwMDc2MDEwMDA2RjI3NDlGCis6MTAyMTAwMDAwNjZDRjQ5NTQ4MTExMDAyRjAwMDAwMEQ4MDAyNkRFOTk0Cis6MTAyMTEwMDAwMDBENkRFRTAwMEQ2Q0VGRkZGRjExRThGMDc0MEM5REVCCis6MTAyMTIwMDBFRTA0OEExNzhBMTY4QTExRkMwMDRBMTE0QTE2NEExN0M5Cis6MTAyMTMwMDBFRUZBODgxMTEwMEE0OTExRjg0RDEyOUY0ODA4Rjg0NTI3Cis6MTAyMTQwMDAxMjlGODAwNDEyODFGNTc4ODkxMkY0OTVGNDk1NkNFMjVGCis6MTAyMTUwMDBGRkI5MTI4QTYxRjgwMDA4MDA4MEY4MzAxMjhBMTNFMTkyCis6MTAyMTYwMDAwMDAxRjBFOEY3NzhGMUEwRjIzMDFGRkY4ODE3RjQ5NTJFCis6MTAyMTcwMDA3NzEyMjQwMDc3MTYwMDAwNzcxMzAwMjBGNkI4NDgxNzZFCis6MTAyMTgwMDAwOEUyMDAwMUY4NDUxMjQyNkRFQTAwMEQ2RDk2NkNFQjE1Cis6MTAyMTkwMDBGRkZGMTIzNEYwNzMxMjkwNTZGODI3NkFGMDAwMDAwMTI2Cis6MTAyMUEwMDA0RUY4Mjc2QTYwODIwMDAxRjgzMDEyNTQ3MDAwMDAxNjYxCis6MTAyMUIwMDBGMjc0MTEzOEY0OTU0ODExRjA3MzEyOTA3MDAwMDAxNjAzCis6MTAyMUMwMDBGMjc0MTEzOEY0OTU0ODExNzIxMDJBOUVGNDk1RjRBRjA4Cis6MTAyMUQwMDBGODMwMTI2RTc2MDAwMDAwNzYwMTAwQkM3MDAyMDAxNjI2Cis6MTAyMUUwMDA3NjAzMDAwMEYyNzQwQ0I5RjQ5NTQ4MTFGMDczMTI5MDY0Cis6MTAyMUYwMDAxMEY4Mjc2RUY4NDQxMjkwNzYwMDAwMDA3NjAxMDBCQ0JCCis6MTAyMjAwMDA3MDAyMDAxNjc2MDMwMDAwRjI3NDBDQjlGNDk1NDgxMUMwCis6MTAyMjEwMDBGMDc0MEM1RUYwRTBGMDEwMTM4OEY4NDIxMjkwNzZGODNCCis6MTAyMjIwMDAyNzZFMDAwMUYwNzMxMjkwNTZGODI3NjZGMDAwMDAwMTQ3Cis6MTAyMjMwMDA0RUY4Mjc2NjZERTkwMDVFNTZGODI3NjhGMDAwMDAwMTQ5Cis6MTAyMjQwMDA0RUY4Mjc2ODcxMDQwMDEyNkVFQUZGRkYxMjE4NzAwNDNFCis6MTAyMjUwMDAwMDEyRUUwNjhBMTc4QTE2OEExMUZDMDA0QTExRUVGRTU5Cis6MTAyMjYwMDA4ODBFRjQ5NUYwNjYwMDBERjAwMDI1QTA4ODExRjQ5NTE1Cis6MTAyMjcwMDBGNDk1NzY4MTAwRkY3NjAwMDAwMDc2MDEwMDA2RjI3NDg2Cis6MTAyMjgwMDAwNjZDRjAwMDAwMDE3NjAwMDAwMDc2MDEwMDA2NDgxMTlGCis6MTAyMjkwMDBGMjc0MDY2Q0YwMDAwMDA3RUUwMjhBMTFGQzAwNEExMThECis6MTAyMkEwMDA4ODBFRjQ5NUYwNjYwMDBERjAwMDI0MDA4ODExRjQ5NTc2Cis6MTAyMkIwMDBGNDk1NzZFMTAwMDFGRkZGNzY4MTAwMDA3NkUxMDAwMkVGCis6MTAyMkMwMDAwMDAwNzZFMTAwMDMwMEZGOEExMUZDMDA0QTExRjQ5NTNBCis6MTAyMkQwMDAxMzAzODgxMUZBNEQxMkVDNzEwMjAwMTJGMzEwMDAwMTgxCis6MTAyMkUwMDA4OTFBRjQ5NUYwNzIxMkVCNzA5MTAwMTI4QTExRkMwMEI5Cis6MTAyMkYwMDBGNDk1NEEwQjRBMEM0QTBERjdCOEVFRkUxMEY4MDAwOEE4Cis6MTAyMzAwMDAxMTA2RjFDMDgzMDBGNDg1MTEwNkY3ODU4MTA2RjZCODQxCis6MTAyMzEwMDBFQzBGMUUwNjYxMDA4MDAwRjgyMDEzMDVGNDg0RUUwMjI1Cis6MTAyMzIwMDA4QTBEOEEwQzhBMEJGQzAwRjQ5NTRBMEI0QTBDNEEwRDY0Cis6MTAyMzMwMDBFRUZFRjdCODgwMDAxMEY4MDAwOEY0ODUxMTA2Rjc4NTY2Cis6MTAyMzQwMDA4MTA2RjZCOEVDMEYxRTA2RjBGMDYxMDA4MDAwRjgyMDYwCis6MTAyMzUwMDAxMzIwRjQ4NEVFMDI4QTBEOEEwQzhBMEJGQzAwNEExMUM5Cis6MTAyMzYwMDA3NzExMDA3Qjc2ODEyRUVDNzcxMTAwN0JFRUZGNzE4MTc3Cis6MTAyMzcwMDAwMDExRUUwMTc2RTEwMDAxMDAwMDc2RTEwMDA0MDAwMEFBCis6MTAyMzgwMDA3NkUxMDAwNjAwMDA3NkUxMDA2MjAwMDA3NkUxMDA3NjZBCis6MTAyMzkwMDAwMDAwNzZFMTAwOTIwMDAwNzZFMTAwOTQwMDAwNzZFMTEyCis6MTAyM0EwMDAwMEIwMDAwMDc2RTEwMEIzMDAwMDc2RTEwMEJFMDAwMDVFCis6MTAyM0IwMDA3NkUxMDBCRjAwMDA3NkUxMDBDMTAwMDA3NkUxMDBDM0Q1Cis6MTAyM0MwMDAwMDAwNzZFMTAwQzUwMDAwNzZFMTAwQzcwMDAwNzY4MURDCis6MTAyM0QwMDAwMDAwOEExMUY0OTVGNEU0NEExMTRBMTY0QTE3RUVGRkY4Cis6MTAyM0UwMDBGNDk1NzEwNjAwMTZGQjgwMTZBMjg4MTdGNDk1RjdCOENECis6MTAyM0YwMDAxMEY4MDAxN0YwMTAwMDAyRkE0NjEzODg3NzExMDAwMDU5Cis6MTAyNDAwMDAxMEY4MDAxN0YwMTAwMDAyRjg0NTEzRjkxMEY4MDAxNzQzCis6MTAyNDEwMDBGODQ1MTQzOTEwRjgwMDE3RjAxMDAwMDFGODQ1MTQxRkEyCis6MTAyNDIwMDBGMDczMTQ1MjEwRjgwMDE3RjAxMDAwMDNGODQ1MTNEMzlFCis6MTAyNDMwMDAxMEY4MDAxN0YwMTAwMDA2Rjg0NDE0NTI3NzEyMDA3QkQxCis6MTAyNDQwMDA3MTgyMDAxNDYxRTQwMDA3MDA0MEY4MzAxNDUyNDkxNDBFCis6MTAyNDUwMDA0ODE3RjYwMDg4MTJGNDk1NzcxMzAwNTU3NzExMDA1NzQ2Cis6MTAyNDYwMDA2REVBMDAzQkU1MDExMEU2MDAwNjgwODE0ODE0MDBGOEEzCis6MTAyNDcwMDAwMDE3ODgxMkY0OTU3NzExMDA1NTEwRTIwMDQwODA4MTEyCis6MTAyNDgwMDA3NzExMDA1NzEwRTYwMDA3ODA4MTc3MTEwMDU1MTBFMkEwCis6MTAyNDkwMDAwMDQ1ODA4MTEwRTYwMDA4NzcxMTAwNTc4MDgxNzcxMTkwCis6MTAyNEEwMDAwMDU1MTBFMjAwNEE4MDgxNzcxMTAwNTcxMEU2MDAwOUJDCis6MTAyNEIwMDA4MDgxRjI3MzE0NTI3NzExMDNDMDc3MTIwMDdCMTA4MjZGCis6MTAyNEMwMDBGMDAwMDAwNzg4MTNGNDk1RjQ5NTk2MUJGODMwMTQ1MjI5Cis6MTAyNEQwMDAxMEUzMDAzNTc3MTIwMDU1ODA4Mjc3MTIwMDU3MTBFNjFFCis6MTAyNEUwMDAwMDA0ODA4Mjc3MTIwMDU1MTBFMzAwMzc4MDgyNzcxMjUzCis6MTAyNEYwMDAwMDU3MTBFNjAwMDU4MDgyNDgxMUYwNDAwMDEwRjI3MzhBCis6MTAyNTAwMDAxNDUwRjA0MDAwMjA3NzEyMDA3QjEwODJGMDAwMDAwNzhBCis6MTAyNTEwMDA4ODEyRjQ5NUY0OTU5NjBERjgzMDE0NTIxMEUyMDAzNEI4Cis6MTAyNTIwMDA3NzEzMDA1NTgwODM3NzEzMDA1NzEwRTYwMDAyODA4M0VECis6MTAyNTMwMDAxMEUyMDAzNjc3MTIwMDU1ODA4Mjc3MTIwMDU3MTBFNkJECis6MTAyNTQwMDAwMDAzODA4MjQ4MTFGMDQwMDAwNEYyNzMxNDUwRjA0MDAwCis6MTAyNTUwMDAwMDA4NzcxMjAwN0IxMDgyRjAwMDAwMDc4ODEyRjQ5NUMzCis6MTAyNTYwMDBGNDk1OTYwRUY4MzAxNDUyMTBFMjAwMzM3NzEyMDA1NUFECis6MTAyNTcwMDA4MDgyNzcxMjAwNTcxMEU2MDAwMTgwODI0ODExRjI3M0MyCis6MTAyNTgwMDAxNDUwRjA0MDAwMDI3NzEyMDA3QjEwODJGMDAwMDAwNzI4Cis6MTAyNTkwMDA4ODEyRjQ5NUY0OTU5NjBGRjgzMDE0NTIxMEUyMDAzMjM4Cis6MTAyNUEwMDA3NzEyMDA1NTc3MTMwMDU3ODA4MjQ4MTFFNzYyRjA0MDk4Cis6MTAyNUIwMDAwMDAxRTUwMTg4MTFGNDk1NzcxMjAwN0I0ODExNzE4MkMyCis6MTAyNUMwMDAwMDEyMUFFMjAwMDc4MEUyMDAwN0Y5ODAxNjlBRUUwMTc1Cis6MTAyNUQwMDA4QTE3NDgxMThBMTY4QTExRjRFNDRBMTE4ODExNzcwRTc1Cis6MTAyNUUwMDAwMDA1NzcxMjAwNTVFODA0RjZCODI4RTEwMDAyRUVGRjc2Cis6MTAyNUYwMDA4MDgyNzcxMjAwNTdGMDIwODAwMEVFMDExQTgyNzcxMjU1Cis6MTAyNjAwMDAwMDU3ODA4MkU4MDEzMkUxMDAwMkY1ODI3NzExMDA1NDIwCis6MTAyNjEwMDBGNjkzMTg4MTc3MTEwMDU0RjJBMDgwODE4QTExRjQ5NTA1Cis6MTAyNjIwMDBGNEU0NEExMTRBMTZGNDk1NzEwNDAwMTFGQjgwMTZBMkQ1Cis6MTAyNjMwMDA4ODE2RjQ5NTc3MTIwMDU1MTBFNjAwMDM4MDgyNzcxMjExCis6MTAyNjQwMDAwMDU2MTBFMTAwMDI3NzEzMDA1NjgwODI3NzEyMDA1NjgwCis6MTAyNjUwMDAxMEUxMDAwMzgwODIxMEUxMDAwNDc3MTIwMDU2ODA4MkFFCis6MTAyNjYwMDA3NzEyMDA1NjEwRTEwMDAxODA4MkU3MTJFNTAxRjk4MDNGCis6MTAyNjcwMDAxNjlBOEExNjhBMTFGNEU0NEExMTRBMTY0QTE3RUVGOTk0Cis6MTAyNjgwMDA3NzExMDA3Qjc2MDAwMDE2NzYwMTAwMTc3NjAyMDAxQTlCCis6MTAyNjkwMDA3NjAzMDAxQjc2MDQwMDFDNzYwNTAwMUQ3MTgxMDAxNzZGCis6MTAyNkEwMDA3MUU3MDAwNjAwMTExMDgxRjg0NDE0REZGOTgwMTY1MzE5Cis6MTAyNkIwMDBGNkI4RkI4MDE1ODVGMDIwRkZGRkY2QjhGQjgwMTYwODAyCis6MTAyNkMwMDBGMDIwRkZGRjc3MTEwMDdCNzE4MTAwMTc3NkU3MDAwNjhECis6MTAyNkQwMDAwMDAxNDgxNzc3MTYwMDAwNzcxMDAwMDQ3NzE1MDAwM0YzCis6MTAyNkUwMDA3NzE0MDAwMjc3MTMwMDAxRjAwMDAwMzk3NkU3MDAwODQ0Cis6MTAyNkYwMDAwMDFGNzZFNzAwMDcwMDAwODgwRTc3MUEwMDA1NDgxN0NDCis6MTAyNzAwMDBGMDAwMDAwOTg4MTI0ODE4ODgxOUU4MDBGMDcyMTUyQ0FBCis6MTAyNzEwMDA3MzE5MDAxMTc2ODIwMDAwMTE5MTczMTEwMDE5NzBFMjkzCis6MTAyNzIwMDAwMDAzMDAxNjcwRTIwMDA0MDAxMzcwRTIwMDA1MDAxNEJDCis6MTAyNzMwMDA4MUUyMDAwMTcwRTIwMDA2MDAxNTcwRTIwMDA3MDAxMDVGCis6MTAyNzQwMDA4MEUyMDAwMjczMEUwMDExRjEwMDAwMUU2REVFMDAwNTI0Cis6MTAyNzUwMDA2REVCMDAwNTZERUMwMDA1NkRFRDAwMDU2REU4MDAwNTA1Cis6MTAyNzYwMDBGMDAwMDAwMTgxOTE2REVBMDAwODczMTEwMDBFRUUwNzgwCis6MTAyNzcwMDA3NkU3MDA0MTAwMjQ3NkU3MDA0NjAwMjU3NkU3MDA0QjI3Cis6MTAyNzgwMDAwMDI2NzZFNzAwNTAwMDI3OEExNzhBMTY4QTExRjRFNDlCCis6MTAyNzkwMDA0QTExNEExNkVFRkU4ODExNTYwNjRFMDBGOTgwMTZBMjFFCis6MTAyN0EwMDBGN0I4MTBGODAwMTFGMDEwRkZGRkZBNDUxNTYwNzcxNjIyCis6MTAyN0IwMDBGRkZGNzcxMjAwN0I0OTExMTA4MkY2MDNGMDAwMDAwOTM5Cis6MTAyN0MwMDA4ODExRjQ5NUY0OTUxMDgxRjg0NDE1NzFGMjczMTU3MTIwCis6MTAyN0QwMDBGNDk1RTcxNjc3MTEwMDdCMTA4MUYwMDAwMDA5ODgxMTRECis6MTAyN0UwMDBGNDk1NzcxMjAwMDYxMDgxRjg0NTE1NUM2RUVBRkZGRjNDCis6MTAyN0YwMDAxNTY5NkRFOTAwMDg3Njg2MDAwMUU5MDE1NjAwRjE4MDRGCis6MTAyODAwMDAxMEY4MDAwQkY4NDUxNTdFRkI4MDE1ODVGNDk1NDgxNkU5Cis6MTAyODEwMDBGOTgwMTY5QUVFMDI0ODE2OEExNjhBMTFGNEU0NEExMUQzCis6MTAyODIwMDBFRUZGRkI4MDE2QTI4ODExRjQ5NTc3MTBGRkZGRjRBOTQ0Cis6MTAyODMwMDBGODMwMTVDNDEwRTEwMDAzNzcxMjAwNTU4MDgyNzcxMjNBCis6MTAyODQwMDAwMDU2NzY4MjAwMDA3NzEyMDA1Njc2ODIwMDAwNzcxMkRBCis6MTAyODUwMDAwMDU2NzY4MjAwMDA3NzEyMDA1Njc2ODIwMDAwNzcxMkNBCis6MTAyODYwMDAwMDU2NzY4MjAwMDAxMEUxMDAwMkYwMDAwMDA4MzJGODA1Cis6MTAyODcwMDAwMDA4NzcxMjAwNTRFODAxRjQ4MkY0OTMxODgyNzcxMjZBCis6MTAyODgwMDAwMDU0RjA0MDAwMDA4MDgyMTBFMTAwMDFGOTgwMTY3NkNCCis6MTAyODkwMDAxMEUxMDAwMUY5ODAxNjY2RjA3MzE2MDM3NzExMDA3QkQyCis6MTAyOEEwMDA3MTgxMDAxMTcxRTEwMDA3MDAxMjc2ODIwMDAwMTBFMUQxCis6MTAyOEIwMDAwMDA5Rjk4MDE1ODU3NzExMDA3QjcxODEwMDExMTBFMTA1Cis6MTAyOEMwMDAwMDA5RkI4MDE1ODVGMDAwMDAwODc3MTEwMDdCNzE4MUZECis6MTAyOEQwMDAwMDExMTBFMTAwMDlGQjgwMTU4NUYwMDAwMDEwNzcxMTUwCis6MTAyOEUwMDAwMDdCNzE4MTAwMTExMEUxMDAwOUZCODAxNTg1RjAwMDZCCis6MTAyOEYwMDAwMDE4NzcxMTAwN0I3MTgxMDAxMTEwRTEwMDA5RkI4MDQ1Cis6MTAyOTAwMDAxNTg1RjAwMDAwMjA3NzExMDA3QjcxODEwMDExMTBFMTI2Cis6MTAyOTEwMDAwMDA5RkI4MDE1ODVGMDAwMDAyOEY5ODAxNjlBRUUwMTY5Cis6MTAyOTIwMDA4QTExRjRFNDRBMTFFRUZGRkI4MDE2QTI4ODExRjQ5NTk3Cis6MTAyOTMwMDA3NzEwRkZGRkY0QTlGODMwMTY0MTc3MTEwMDU1NzY4MTIyCis6MTAyOTQwMDAwMDFFNzcxMTAwNTY3NjgxMDAwMDc3MTEwMDU2NzY4MUJGCis6MTAyOTUwMDAwMDAwNzcxMTAwNTY3NjgxMDAwMDc3MTEwMDU2NzY4MUNECis6MTAyOTYwMDAwMDAwNzcxMTAwNTY3NjgxMDAwMDc3MTEwMDU2NzY4MUJECis6MTAyOTcwMDAwMDAwNzcxMTAwNTY3NjgxMDAwMDc3MTEwMDU2NzY4MUFECis6MTAyOTgwMDAwMDAwNzcxMTAwNTY3NjgxMDAwMDc3MTEwMDU2RjI3MzJGCis6MTAyOTkwMDAxNjRFNzY4MTAwMDA3NzExMDA3QjcxODEwMDExNzFFMTg0Cis6MTAyOUEwMDAwMDA3MDAxMjc2ODIwMDAwMTBFMTAwMzlGOTgwMTYwODU1Cis6MTAyOUIwMDBGOTgwMTY5QUVFMDE4QTExRjRFNDRBMTE3NzExMDA3QjJFCis6MTAyOUMwMDAxMDgxRjAwMDAwMDQ4ODExRjQ5NUY0OTUxMDgxRkE0NDA4Cis6MTAyOUQwMDAxNjYzRjQ5NUVFRkY3NjgxMDAwMUVFMDE4QTExRjRFNEFFCis6MTAyOUUwMDBGMDEwMDAxMDRBMTEzMkY4MDAwOEVFRkY3NzExMDAwMUQ0Cis6MTAyOUYwMDBFODAxRUUwMUY0ODIxQTgxODA4MThBMTFGNDk1RjRFNEYxCis6MTAyQTAwMDBGMDEwMDAxMDRBMTEzMkY4MDAwOEVFRkZFODAxNzcxMUNCCis6MTAyQTEwMDAwMDAwRjQ4MkVFMDFGNDkzMTg4MTgwODE4QTExRjQ5NTBDCis6MTAyQTIwMDBGNEU0NEExMUYwMTAwMDEwNzcxMTAwMDAzMkY4MDAwOEE5Cis6MTAyQTMwMDBFRUZGMTE4MUU4MDFFRTAxNzcxMTAwMDBGNDgyRjJBMEFGCis6MTAyQTQwMDA4MDgxOEExMUY0OTVGNEU0RjI3MzE2OUVGNkJCRjQ5NTM2Cis6MTAyQTUwMDBGNDk1RjQ5NUY0OTVGNEU0RjI3MzE2QTZGN0JCRjQ5NUE3Cis6MTAyQTYwMDBGNDk1RjQ5NUY0OTVGNEU0NEExMTRBMTZGNDk1NzEwNDNBCis6MTAyQTcwMDAwMDE2RkI4MDE2QTI4ODExRjQ5NTcxRTEwMDA1MDAxMjgyCis6MTAyQTgwMDA3NjgyMDAwRTEwRTYwMDBFNzFFMTAwMDYwMDEyODA4MkQwCis6MTAyQTkwMDA3MUUxMDAwNTAwMTI3NjgyMDAwRDcxRTEwMDA2MDAxMjVFCis6MTAyQUEwMDAxMEU2MDAwRDgwODI3MUUxMDAwNTAwMTI3NjgyMDAwQ0I0Cis6MTAyQUIwMDAxMEU2MDAwQzcxRTEwMDA2MDAxMjgwODI3MUUxMDAwNTUxCis6MTAyQUMwMDAwMDEyNzY4MjAwMEIxMEU2MDAwQjcxRTEwMDA2MDAxMjg2Cis6MTAyQUQwMDA4MDgyNzFFMTAwMDUwMDEyNzY4MjAwMEE3MUUxMDAwNjMxCis6MTAyQUUwMDAwMDEyMTBFNjAwMEE4MDgyNzFFMTAwMDUwMDEyNzY4MjcxCis6MTAyQUYwMDAwMDA5MTBFNjAwMDk3MUUxMDAwNjAwMTI4MDgyNzFFMTEwCis6MTAyQjAwMDAwMDA1MDAxMjc2ODIwMDA4NzFFMTAwMDYwMDEyMTBFNjRFCis6MTAyQjEwMDAwMDA4ODA4MjcxRTEwMDA1MDAxMjc2ODIwMDA3MTBFNjRECis6MTAyQjIwMDAwMDA3NzFFMTAwMDYwMDEyODA4MjcxRTEwMDA1MDAxMkM5Cis6MTAyQjMwMDA3NjgyMDAwNjcxRTEwMDA2MDAxMjEwRTYwMDA2ODA4MjJGCis6MTAyQjQwMDA3MUUxMDAwNTAwMTI3NjgyMDAwNTcxRTEwMDA2MDAxMkI1Cis6MTAyQjUwMDAxMEU2MDAwNTgwODI3MUUxMDAwNTAwMTI3NjgyMDAwNDEzCis6MTAyQjYwMDA3MUUxMDAwNjAwMTIxMEU2MDAwNDgwODI3MUUxMDAwNUE4Cis6MTAyQjcwMDAwMDEyNzY4MjAwMDM3MUUxMDAwNjAwMTIxMEU2MDAwM0U1Cis6MTAyQjgwMDA4MDgyNzFFMTAwMDUwMDEyNzY4MjAwMDIxMEU2MDAwMkU4Cis6MTAyQjkwMDA3MUUxMDAwNjAwMTI4MDgyNzFFMTAwMDUwMDEyNzY4MjY4Cis6MTAyQkEwMDAwMDAxMTBFNjAwMDE3MUUxMDAwNjAwMTI4MDgyNzFFMTZGCis6MTAyQkIwMDAwMDA1MDAxMjc2ODIwMDAwNzFFMTAwMDYwMDEzRTc2MjUyCis6MTAyQkMwMDBFNTAxRjk4MDE2OUE4QTE2OEExMUY0RTQ0QTExODgxMUVGCis6MTAyQkQwMDBGNDk1RjQ5NTcxRTEwMDA1MDAxMkVFRkY3NjgyMDAwMDk1Cis6MTAyQkUwMDBFRTAxNzFFMTAwMDYwMDExNjk4MTAwMDE4QTExRjQ5NTdFCis6MTAyQkYwMDBGNEU0NEExMTg4MTFGNDk1RjQ5NTcxRTEwMDA1MDAxMjhFCis6MTAyQzAwMDBFRUZGNzY4MjAwMDFFRTAxNzFFMTAwMDYwMDExNjk4MTlDCis6MTAyQzEwMDAwMDAxOEExMUY0OTVGNEU0NEExMTc3MTEwMDdCMTA4MUM4Cis6MTAyQzIwMDBGMDAwMDA5NDg4MTFGNDk1RjQ5NTEwODFGQTQ0MTc5Q0YzCis6MTAyQzMwMDBGNDk1RUVGRkY5ODAxNjUzNzcxMTAwN0IxMDgxRjAwMEI4Cis6MTAyQzQwMDAwMDk0ODgxMUY0OTVGNDk1NzY4MTAwMDFFRTAxNzZFMTA3Cis6MTAyQzUwMDAwMDAxMDAwMDc2RTEwMDAyMDAyMTc2RTEwMDAzMDAyMDdGCis6MTAyQzYwMDA3NkUxMDAwNDAwMjM3NkUxMDAwNTAwMjI3NkUxMDAwNjBCCis6MTAyQzcwMDAwMDM4NzZFMTAwMDcwMDM5NzZFMTAwMDgwMDE1NzZFMUJBCis6MTAyQzgwMDAwMDA5MDAxNDc2RTEwMDBBMDAwMDc2RTEwMDBCMDA0MTIzCis6MTAyQzkwMDA3NkUxMDAwQzAwNDA3NkUxMDAwRDAwNDM3NkUxMDAwRTg1Cis6MTAyQ0EwMDAwMDQyNzZFMTAwMEYwMDQ4NzZFMTAwMTAwMDQ5NzZFMTJECis6MTAyQ0IwMDAwMDExMDAxQjc2RTEwMDEyMDAxQThBMTFGNDk1RjRFNDY5Cis6MTAyQ0MwMDA0QTExRUVGRDg4MTE1NjA2NEUwMEY5ODAxNkEyNzcxMkMxCis6MTAyQ0QwMDAwMDdCNzcwRTAwMDkxMDgyMjhGODAwMTFGMDAwMDA5NUEzCis6MTAyQ0UwMDA4ODExRjQ5NUY0OTUxMDgxRjg0NTE3RjBGMjczMTdGREVCCis6MTAyQ0YwMDA3NzExRkZGRjc2ODEwMDAxRTkwMTU2MDBGMTgwMTBGODlECis6MTAyRDAwMDAwMDBCRjg0NTE3RkRGQjgwMTgxMEY0OTU0ODExRjk4MDY5Cis6MTAyRDEwMDAxNjlBRUUwMzQ4MTE4QTExRjQ5NUY0RTQ0QTExODgxMUM5Cis6MTAyRDIwMDBGNDk1RUVGRjcxRTEwMDAxMDAxMUVFMDExMDgxOEExMUFFCis6MTAyRDMwMDBGNDk1RjRFNDRBMTFFRUZGRkI4MDE2QTI4ODExRjQ5NTk1Cis6MTAyRDQwMDA3NzEwRkZGRkY0QTlGODMwMThDMzcxRTEwMDA1MDAxMkY1Cis6MTAyRDUwMDA3NjgyMDAwMDcxRTEwMDA2MDAxMjc2ODIwMDAwNzFFMUM3Cis6MTAyRDYwMDAwMDA1MDAxMjc2ODIwMDAxNzFFMTAwMDYwMDEyNzY4MkYxCis6MTAyRDcwMDAwMDAwNzFFMTAwMDUwMDEyNzY4MjAwMDI3MUUxMDAwNjk4Cis6MTAyRDgwMDAwMDEyNzY4MjAwMDA3MUUxMDAwNTAwMTI3NjgyMDAwM0Q1Cis6MTAyRDkwMDA3MUUxMDAwNjAwMTI3NjgyMDAwMDcxRTEwMDA1MDAxMjY4Cis6MTAyREEwMDA3NjgyMDAwNDcxRTEwMDA2MDAxMjc2ODIwMDAwNzFFMTczCis6MTAyREIwMDAwMDA1MDAxMjc2ODIwMDA1NzFFMTAwMDYwMDEyNzY4MjlECis6MTAyREMwMDAwMDAwNzFFMTAwMDUwMDEyNzY4MjAwMDY3MUUxMDAwNjQ0Cis6MTAyREQwMDAwMDEyNzY4MjAwMDE3MUUxMDAwNTAwMTI3NjgyMDAwNzgwCis6MTAyREUwMDA3MUUxMDAwNjAwMTI3NjgyMjAwMDcxRTEwMDA1MDAxMkY4Cis6MTAyREYwMDA3NjgyMDAwODcxRTEwMDA2MDAxMjc2ODIwMDAwNzFFMTFGCis6MTAyRTAwMDAwMDA1MDAxMjc2ODIwMDA5NzFFMTAwMDYwMDEyNzY4MjQ4Cis6MTAyRTEwMDAwMDAwNzFFMTAwMDUwMDEyNzY4MjAwMEE3MUUxMDAwNkVGCis6MTAyRTIwMDAwMDEyNzY4MjAwMDA3MUUxMDAwNTAwMTI3NjgyMDAwQjJDCis6MTAyRTMwMDA3MUUxMDAwNjAwMTI3NjgyMDAwMDcxRTEwMDA1MDAxMkM3Cis6MTAyRTQwMDA3NjgyMDAwQzcxRTEwMDA2MDAxMjc2ODIwMDAwNzFFMUNBCis6MTAyRTUwMDAwMDA1MDAxMjc2ODIwMDBENzFFMTAwMDYwMDEyNzY4MkY0Cis6MTAyRTYwMDAwMDAwNzFFMTAwMDUwMDEyNzY4MjAwMEU3MUUxMDAwNjlCCis6MTAyRTcwMDAwMDEyNzY4MjAwMDAxMEUxMDAwN0Y5ODAxNjc2MTBFMTVBCis6MTAyRTgwMDAwMDA4Rjk4MDE2NzYxMEUxMDAwN0Y5ODAxNjY2MTBFMTU3Cis6MTAyRTkwMDAwMDA4Rjk4MDE2NjZGMDczMThEMTc3MTEwMDdCMTA4MTU1Cis6MTAyRUEwMDBGQjgwMTgxMEYwMDAwMDk1NzcxMTAwN0IxMDgxRkI4MEVCCis6MTAyRUIwMDAxODEwRjAwMDAwOUVGOTgwMTY5QUVFMDE4QTExRjRFNEQxCis6MTAyRUMwMDA0QTExODgxMUVFRkZGNDk1MTAwNDcxRTEwMDAzMDAxMTFFCis6MTAyRUQwMDBFRTAxODA4MThBMTFGNDk1RjRFNDRBMTE0QTE2RjQ5NUMyCis6MTAyRUUwMDA3MTA0MDAxNkZCODAxNkEyODgxMUY0OTU3MUUxMDAwMkFFCis6MTAyRUYwMDAwMDEyNzY4MjAwMTAxMEU2MDAwMTcxRTEwMDAzMDAxMjVBCis6MTAyRjAwMDA4MDgyNzFFMTAwMDQwMDEyMTBFNjAwMDI4MDgyRTc2MjE0Cis6MTAyRjEwMDA3MUUxMDAwMjAwMTNFNTAxRjk4MDE2OUE4QTE2OEExMTAwCis6MTAyRjIwMDBGNEU0NEExMTg4MTFFRUZGRUUwMTEwRTEwMDAxOEExMTZDCis6MTAyRjMwMDBGNDk1RjRFNDRBMTE3NzExMDA3QjEwODFGMDAwMDBCMzlFCis6MTAyRjQwMDA4ODExRjQ5NUY0OTUxMDgxRkE0NDE5MkFGNDk1RUVGRjRFCis6MTAyRjUwMDBGOTgwMTY1Mzc3MTEwMDdCMTA4MUYwMDAwMEIzODgxMUJGCis6MTAyRjYwMDBGNDk1RjQ5NTc2ODEwMDAxRUUwMTc2RTEwMDAxMDAwMDEwCis6MTAyRjcwMDA3NkUxMDAwMjAwMTM3NkUxMDAwMzAwMjY3NkUxMDAwNDBBCis6MTAyRjgwMDAwMDI1NzZFMTAwMDUwMDI0NzZFMTAwMDYwMDAwNzZFMUU4Cis6MTAyRjkwMDAwMDA3MDAxNzc2RTEwMDA4MDAzMjc2RTEwMDA5MDAzMUYxCis6MTAyRkEwMDA3NkUxMDAwQTAwMzA4QTExRjQ5NUY0RTQ0QTExNEExNkQ5Cis6MTAyRkIwMDA0QTE3RUVGRkY0OTU3MTA2MDAxN0ZCODAxNkEyODgxMUUwCis6MTAyRkMwMDBGNDk1RjdCODEwRjgwMDExRjAxMEZGRkZGQTQ1MTk3M0U3Cis6MTAyRkQwMDA3NzE2RkZGRjc3MTIwMDdCNzcwRTAwMDUxMDgyMjhGODI2Cis6MTAyRkUwMDAwMDExRjAwMDAwQjQ4ODExRjQ5NUY0OTUxMDgxRjg0NEI0Cis6MTAyRkYwMDAxOTg0RjI3MzE5ODRGNDk1RTcxNjc3MTEwMDdCMTA4MTE4Cis6MTAzMDAwMDBGMDAwMDBCNDg4MTFGNDk1NzcxMjAwMDIxMDgxRjg0NUExCis6MTAzMDEwMDAxOTZGNkVFQUZGRkYxOTdDNkRFOTAwMDU2MUY4MDAxNzcyCis6MTAzMDIwMDAwMDAxRkEyMDE5OEY3Njg2MDAwMUZCODAxOTk3RjQ5NTJDCis6MTAzMDMwMDA0ODE2Rjk4MDE2OUFFRTAxOEExNzQ4MTY4QTE2OEExMUUwCis6MTAzMDQwMDBGNEU0NEExMUVFRkZGQjgwMTZBMjg4MTFGNDk1NzcxMDg0Cis6MTAzMDUwMDBGRkZGRjRBOUY4MzAxOUNDNzFFMTAwMDIwMDEyNjk4Mjc3Cis6MTAzMDYwMDAwMDEwNzFFMTAwMDIwMDEyNjg4MkY3RkY3MUUxMDAwMkI2Cis6MTAzMDcwMDAwMDEyNjg4MkZCRkY3MUUxMDAwMjAwMTI2ODgyRkZGMDFCCis6MTAzMDgwMDA3MUUxMDAwMzAwMTI3NjgyRkZGRjcxRTEwMDA0MDAxMjdCCis6MTAzMDkwMDA3NjgyRkZGRjcxRTEwMDAyMDAxMjY5ODIwMDIwNzFFMTc3Cis6MTAzMEEwMDAwMDAyMDAxMUYyNzMxOURBNjg4MUZGRUY3NzExMDA3QkRCCis6MTAzMEIwMDAxMDgxRkI4MDE5OTdGMDAwMDBCNDc3MTEwMDdCMTA4MTFDCis6MTAzMEMwMDBGQjgwMTk5N0YwMDAwMEI5Rjk4MDE2OUFFRTAxOEExMTc5Cis6MTAzMEQwMDBGNEU0MDBBNDAwMDAxOURGMDAwMTJBRTYwMDAwMDAwMTZBCis6MTAzMEUwMDAyQUU3MDAwMDAwMDMyQTEyMEMwMUMzNEYwMDAwMDAwMTcwCis6MTAzMEYwMDAyQTE1MDAwMDAwMDIyQTE2MDAwMDAwMDAwMDE5MkE1REFGCis6MTAzMTAwMDAwMDQzMDA2RjAwNzAwMDc5MDA3MjAwNjkwMDY3MDA2ODdBCis6MTAzMTEwMDAwMDc0MDAyMDAwNTQwMDY1MDA2MzAwNjgwMDZFMDA2RkJBCis6MTAzMTIwMDAwMDU0MDA3MjAwNjUwMDZFMDA2NDAwMjAwMDQxMDA0N0ZBCis6MTAzMTMwMDAwMDAwMDAwNDJBNzYwMDMwMDAyRTAwMzAwMDAwMDAwQzUxCis6MTAzMTQwMDAyQTdBMDA0NjAwNjUwMDYyMDAyMDAwMzIwMDM3MDAyMDI1Cis6MTAzMTUwMDAwMDMyMDAzMDAwMzAwMDMxMDAwMDAwMDkyQTg2MDAzMUMyCis6MTAzMTYwMDAwMDM0MDAzQTAwMzMwMDM1MDAzQTAwMzMwMDMzMDAwMEU5Cis6MTAzMTcwMDAwMDBGMkE4RjAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMTg1Cis6MTAzMTgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNGCis6MTAzMTkwMDAwMDAwMDAwMTJBOUUwMDAwMDAwMTJBOUYwMDAwMDAwMTlCCis6MTAzMUEwMDAyQUEwMDAwMDAwMDEyQUExMDAwMDAwMDEyQUEyMDAwMEJDCis6MTAzMUIwMDAwMDAxMjk3RTAwMDAwMDAyMjk4MDAwMDAwMDAwMDAwMUJCCis6MTAzMUMwMDAyOTgyRkZGRjAwMDEyQUE3MDAwMDAwMDUyQUE4NzE0MUZCCis6MTAzMUQwMDAyMDAwMjAwMDAwMjMwNDAwMDAwQTJBQUQwMDAwMDAwMEE3Cis6MTAzMUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERGCis6MTAzMUYwMDAwMDBGMkFCNzAwMDAwMDAwMDAwMDAwNDAwMEEwODI0MDNECis6MTAzMjAwMDAwMDA4MzA3RjAwODAwMTgwMDAwMDAwMDAwMDAwMDAwMDA2Cis6MTAzMjEwMDAwMDAwMDAwMTI3NkUwMDAwMDAwMTI3NkYwMDAwMDAwMDgxCis6MTAzMjIwMDAwMDA5MDAwMDFBODMwNEU4MDRDRjA0QzUwNEJBMDRCMEZFCis6MTAzMjMwMDAwNEFDMDQ5QzA0OEMwNDgxMDA3ODAwMDAwMTAwRjI3MzRCCis6MTAzMjQwMDAwN0VGRjQ5NUY0OTVGMjczMDdFRkY0OTVGNDk1RjI3M0E0Cis6MTAzMjUwMDAwN0VGRjQ5NUY0OTVGMjczMDdFRkY0OTVGNDk1RjI3Mzk0Cis6MTAzMjYwMDAwN0VGRjQ5NUY0OTVGMjczMDdFRkY0OTVGNDk1RjI3Mzg0Cis6MTAzMjcwMDAwN0VGRjQ5NUY0OTVGMjczMDdFRkY0OTVGNDk1RjI3Mzc0Cis6MTAzMjgwMDAwN0VGRjQ5NUY0OTVGMjczMDdFRkY0OTVGNDk1RjI3MzY0Cis6MTAzMjkwMDAwN0VGRjQ5NUY0OTVGMjczMDdFRkY0OTVGNDk1RjI3MzU0Cis6MTAzMkEwMDAwN0VGRjQ5NUY0OTVGMjczMDdFRkY0OTVGNDk1RjI3MzQ0Cis6MTAzMkIwMDAwN0VGRjQ5NUY0OTVGMjczMDdFRkY0OTVGNDk1RjI3MzM0Cis6MTAzMkMwMDAwN0FBRjQ5NUY0OTVGMjczMDdFRkY0OTVGNDk1RjI3MzY5Cis6MTAzMkQwMDAwN0VGRjQ5NUY0OTVGMjczMDIyM0Y0OTVGNDk1RjI3M0U1Cis6MTAzMkUwMDAwN0VGRjQ5NUY0OTVGMjczMDdFRkY0OTVGNDk1RjI3MzA0Cis6MTAzMkYwMDAwN0VGRjQ5NUY0OTVGMjczMDdFRkY0OTVGNDk1RjI3M0Y0Cis6MTAzMzAwMDAwN0VGRjQ5NUY0OTVGMjczMDdFRkY0OTVGNDk1RjI3M0UzCis6MTAzMzEwMDAwNUU1RjQ5NUY0OTVGMjczMDJCNUY0OTVGNDk1RjI3MzFFCis6MTAzMzIwMDAwRTMzRjQ5NUY0OTVGMjczMDdFRkY0OTVGNDk1MDAwMERECis6MDAwMDAwMDFGRgpkaWZmIC0tZ2l0IGEvZmlybXdhcmUvdmljYW0vZmlybXdhcmUuSDE2IGIvZmlybXdhcmUvdmljYW0vZmlybXdhcmUuSDE2Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNhYzBjYmEKLS0tIC9kZXYvbnVsbAorKysgYi9maXJtd2FyZS92aWNhbS9maXJtd2FyZS5IMTYKQEAgLTAsMCArMSw3IEBACis6MDAyNjAwMDAwMEI2QzMxRjAwMDI2NEU3NjdGREZGMEVDMEU3MDlERTAwOEUwMEMwMDk0MDAzQzAxNzQ0MDM0QkFGQzAwNzAwMDA0QkFGOTdDRjAwMDAxRAorOjAwMEEwMDAwMDBCNkMzMDMwMDAzNjQxODAwMDAwMEZCCis6MDAwODAwMDAwMEI2QzMwMTAwMDY2NDAwMDAxNAorOjA2OTYwMDAwMDBCNkMzOEYwNjAyNjRFNzA3MDAwMDA4QzBFNzA3MDAwMDNFQzBFNzA3NTQwMUFBMDBFNzA3QzgwNUI2MDBFNzA3NDIwMUQyMDBFNzA3N0MwMDE2MDBFNzA3NTYwMDE4MDBFNzA3MDYwMDkyQzBFNzA3MDAwMDFFQzBFNzA3RkZGRjIyQzBFNzA3MDQwMDI0QzBFNzA3RUMyNzI4QzBFNzA3MTYwMThFMDBFNzg3MDEwMDBFQzA5N0NGRDcwOTAwQzBFNzc3MDEwMDkyQzAwOUMxRTcwOUZFMDUyNDAxRTcwOTA0MDYyNjAxRTcwNzA3MDA5MkMwRTcwNTAwQzBDMERGOTdDRjE3MDA1NzAwMTcwMkQ3MDkwMEMwRTc3NzAxMDA5MkMwMEFDMUU3NTdGRkZGRkEwNTBEQzBFNzU3MDAwMEZBMDUwRkMwOUZBRkM2MDBFNzA1MDBDMEM4MDVDMTA1QzAwNUMwREY5N0NGMjdEQUZBMDVFRjA3MDEwMDBCMDY3M0NGOUZBRjc4MDE5RkFGMUEwMzZFQ0ZFNzA5RkMwNTI0MDFFNzA5MDIwNjI2MDFFNzA3MDcwMDkyQzBFNzA5RkMwNUZFMDVFNzA5MDIwNjA0MDZFNzA5MDAwNkZDMDVFNzA5RkUwNTAwMDYyN0RBRkEwNUU3NTcwMTAwRkEwNTAyQ0EwNEMwOTdDRjlGQUY2NjA1OTdDRkU3MDc0MDAwMDIwNkM4MDlGQzA1OUZBRkRBMDI5N0NGQ0YxNzAyMDBFRjU3ODEwMDA5MDY5RkEwQjYwMUVGNTc4MDAwMDkwNjlGQTA0MDAyRUY1NzAxMDAwQjA2OUZBMDQ2MDNFNzA3MDEwMDBBQzA0NkFGNDdBRjlGQUY0MDAyRTcwNzJFMDAwQUMwRUY4NzgwMDAwOTA2OTdDRjAwMEUwMTAwQzA1NzUxMDA5RkMwOUUwMkMwNTc1MDAwMjBDMEMwNTc1NTAwMTJDMEMwNTc1NjAwOUZDMDcyMDI5RkNGRDYwMkMxMEIwODA2MDFEMDZGOTAwODA2QzAwNzA4MDBDMTBCMDgwNjlGQUYyODA1OTdDRjJGMEUwMjAwMDgwNkMwMDcwODAwQzEwQjA4MDY5RkFGMjgwNTlGQ0ZENjAyMkYwRTAyMDAwOTA2RUY4NzgwMDAwOTA2OUZDRkQ2MDJFRjY3N0ZGRjA5MDZFNzY3RkZGRDIyQzBFNzY3RUZGRjI0QzBFNzg3MTAwMDI4QzA5RkFGQjgwNUU3ODdFMDIxMjRDMDlGQUZBODA1RTc4NzA4MDAyNEMwRTc2N0RGRkYyNEMwQzgwNzBBMDBDMDA3MDAwMEMxMDcwMTAwOUZBRjI4MDU5RkFGQjgwNUMwMDc5RTAwOUZBRjQ0MDVFNzY3RkZGRTI0QzBDMDA5MjBDMEU3ODcwMDAxMjRDMEMwNzcwMDAyMEZDMUU3NjdGN0ZGMjRDMEU3NjdGN0ZGMjRDMEU3ODcwODAwMjRDMDA4REE1RUMxRUYwNzgwMDAwOTA2OTdDRkVGMDcwMTAwMEEwNjk3Q0ZFRjA3MDAwMDBCMDZFRjA3MDAwMDBBMDZFRjY3N0ZGRjA5MDZFRjA3MDAwMDBEMDZFNzY3RUZGRjI4QzBFNzY3MTdEODI0QzBFNzA3MDAwMDFFQzBFNzA3RkZGRjIyQzA5N0NGQzgwNzBFMDY5RkFGREEwMkU3MDcwMDAwRjIwNUU3MDcxMDAwRjYwNUU3MDcwRTA2RjQwNUU3MDdENjAyRjgwNUM4MDdGMjA1QzEwNzAwODA1MEFGOTdDRjJGMEMwMjAwMDcwNjJGMEMwNDAwMDYwNkU3MDcwMDAwRjIwNUU3MDcxMDAwRjYwNUU3MDdFMjA1RjQwNUU3MDdDRTAyRjgwNUM4MDdGMjA1QzEwNzAwODA1MUFGOTdDRjlGQUY2NjA0OUZBRjFBMDM1OUFGOTdDRkMwMDcwRTAwQzEwQjBDMDY0MUQxOUZBRjI4MDVDMDA3M0MwMDlGQUY0NDA1NjgwMEMwMDczQjAwOUZBRjQ0MDU2RjAwMEMwNjY4MDBFMDA3MDQwMUU4MEIwQTA2RTgwNzAwMDBFMDA3MDAwMkUwMDdFQzAxRTAwN0ZDRkY5N0NGRTcwN0ZGRkZGQTA1RUYwNzAwMDAwQjA2RTcwNzBFMDYyNDAxRTcwNzBFMDZGRTA1RTcwNzQwMDAyNjAxRTcwNzQwMDAwNDA2RTcwNzA3MDA5MkMwOTdDRkVGMDcwMjAwMEIwNjlGQUY3ODAxRUY3NzgwMDAwNzA2OUZDMDE0MDRFRjc3MDEwMDA3MDYzN0MwRUY3NzAxMDAwRDA2MEZDMUVGMDcwMTAwMEQwNkMwMDcwMjAwQzEwNzMwMDA5RkFGMjgwNUMwMDcwMTAwQzEwNzAyMDA5RkFGMjgwNUM4MDdGRjRGOUZBRkE4MDVDMDA3MzgwMDlGQUY0NDA1QzE3NzAzMDAwMkMxMDhEQTc1QzFDMTc3MDEwMDBBQzFDMDA3MDEwMEMxMDcwMjAwOUZBRjI4MDVFRjA3MDEwMDA2MDYyQ0NGQzAwNzAxMDBDMTA3MDQwMDlGQUYyODA1RUYwNzAwMDAwNjA2MjJDRkVGMDcwMDAwMEQwNkVGNTcwMTAwMDYwNjFCQzBDMDA3MDEwMEMxMDcwMTAwOUZBRjI4MDVDMDA3MDIwMEMxMDczMDAwOUZBRjI4MDVDODA3RkY0RjlGQUZBODA1QzAwNzM4MDA5RkFGNDQwNUMxNjcwMzAwQzE1NzAzMDAwMkMwMDhEQTczQzFDMDA3MDIwMEMxMDcxMjAwRUY1NzAwMDAwNjA2MDJDMEMxMDcyMzAwOUZBRjI4MDVDMDA3MTQwMEMxMEJFQTA1OUZBRjI4MDVDMDA3M0UwMDlGQUYwQTA1RTcwOUU0MDVGQTA1MjdEOEZBMDVFNzA3MEUwNkZDMDVFNzA3NEUwNjAwMDZFNzA3NDAwMDAyMDY5RkFGNjYwNTlGQUZDNjAwOTdDRkMxMEJFMjA1NDFEMDAxRDJDMTE3MjMwMDlGQUZEQzA0QzAwNzA0MDBDMTBCRTMwNTlGQUYyODA1QzAwNzA2MDBDMTA5RTYwNTlGQUYyODA1QzAwNzA3MDBDMTA5RTYwNUMxRDE5RkFGMjgwNUMwMDcwQjAwQzEwOUU4MDU5RkFGMjgwNUMwMDcwQzAwQzEwOUU4MDVDMUQxOUZBRjI4MDVDMDA3MEQwMEMxMDcwOTAwOUZBRjI4MDVDMDA3MDMwMEMxMDczMjAwOUZBRjI4MDVDMDA3MEYwMEMxMDcwMDAwOUZBRjI4MDU5N0NGRTc2N0ZGRDkyNEMwQzgwNzBBMDA0MDAwQzA2NzAwMDIyNzgwMjRDMEU3ODcwMDA0MjRDMEU3NjdGRkY5MjRDMDAxRDIwOERBNzJDMUU3ODcwMDIwMjRDMDk3Q0YyNzAwMUVDMEU3ODdGRjAwMjJDMEU3Njc3RkZGMjRDMEU3ODc4MDAwMjRDMEU3ODc4MDAwMjRDMDk3Q0Y5RkFGMEEwNTY3MDAxRUMwRTc2N0JGRkYyNEMwRTc4NzQwMDAyNEMwRTc4NzQwMDAyNEMwOTdDRjlGQUYwQTA1RTc2NzAwRkYyMkMwRTc2N0ZGRkUyNEMwRTc2N0ZGRkUyNEMwQzEwOTIwQzBFNzg3MDAwMTI0QzA5N0NGQzAwNzQwMDBDODA5RkMwNUU3NjcwMEZGMjJDMEU3NjdGRkZFMjRDMEU3NjdCRkZGMjRDMEU3NjdCRkZGMjRDMDAwREFFODA5MjBDMEU3ODc0MDAwMjRDMEU3ODc0MDAwMjRDMDAwREFFODA5MjBDMDZEQzFFNzg3MDAwMTI0QzA5N0NGRTcwNzMyMDAxMkMwRTc3NzAwODAxMkMwN0NDMDk3Q0ZFNzA3MjA0RTEyQzBFNzc3MDA4MDEyQzA3Q0MwOTdDRjA5MDIxOTAwMDEwMTAwODA5NjA5MDQwMDAwMDEwMDAwMDAwMDA3MDU4MTAyNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMQorOjAxMzYwMDAwMDBCNkMzMkYwMTAzNjQwRTAwMTQwMDFBMDAyMDAwMjYwMDRBMDA2NDAwNkEwMDkyMDA5QTAwQTAwMEIyMDBCODAwQkUwMEMyMDBDODAwQ0UwMERDMDBEQTAwRTIwMEUwMDBFODAwRTYwMEVFMDBFQzAwRjIwMEY4MDAwMjAxMEEwMTBFMDExMjAxMUUwMTIyMDEyODAxMkMwMTMyMDEzNjAxNDQwMTUwMDE1RTAxNzIwMTc2MDE3QTAxODAwMTg4MDE4QzAxOTQwMTlDMDFBMDAxQTQwMUFBMDFCMDAxQjQwMUJBMDFEMDAxREEwMUY2MDFGQTAxMDIwMjM0MDIzQzAyNDQwMjRBMDI1MDAyNTYwMjc0MDI3ODAyN0UwMjg0MDI4QTAyODgwMjkwMDI4RTAyOTQwMkEyMDJBODAyQUUwMkI0MDJCQTAyQjgwMkMwMDJCRTAyQzQwMkQwMDJENDAyRTAwMkU2MDJFRTAyRjgwMkZDMDIwNjAzMUUwMzI0MDMyODAzMzAwMzJFMDMzQzAzNEEwMzRFMDM1NDAzNTgwMzVFMDM2NjAzNkUwMzdBMDM4NjAzOEUwMzk2MDNCMjAzQjgwM0M2MDNDQzAzRDQwM0RBMDNFODAzRjQwM0ZDMDMwNDA0MjAwNDJBMDQzMjA0MzYwNDNFMDQ0NDA0NDIwNDQ4MDQ0RTA0NEMwNDU0MDQ1MjA0NUEwNDVFMDQ2MjA0NjgwNDc0MDQ3QzA0ODAwNDg4MDQ4QzA0OTQwNDlBMDRBMjA0QTYwNEFFMDRCNDA0QzAwNENDMDREODA0MkEwNTQ2MDU2QzA1MDAwMDVFCis6MDAwODAwMDAwMEI2QzMwMTAwMDY2NDAwMDAxNAorOjAwMDAwMDAwMDFGRgpkaWZmIC0tZ2l0IGEvZmlybXdhcmUvd2hpdGVoZWF0LkhFWCBiL2Zpcm13YXJlL3doaXRlaGVhdC5IRVgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGRhZTYwMgotLS0gL2Rldi9udWxsCisrKyBiL2Zpcm13YXJlL3doaXRlaGVhdC5IRVgKQEAgLTAsMCArMSwxMDk3IEBACis6MDMwMDAwMDAwMjk3RTM4MQorOjAzMDAwMzAwMDIxMzEyRDMKKzowMzAwMEIwMDAyMEJCNTMwCis6MDMwMDMzMDAwMjA4MUNBNAorOjAzMDA0MzAwMDIwQTAwQUUKKzowMzAwNUIwMDAyODMzQkUyCis6MTAwMzcwMDA5MDdGRTlFMDcwMDMwMjA0NzMxNDcwMDMwMjA0RTcyNDIxCis6MTAwMzgwMDBGRTcwMDMwMjA1NEYyNEZCNzAwMzAyMDQ2NDE0NzAwMzIzCis6MTAwMzkwMDAwMjA0NTIxNDcwMDMwMjA0M0ExNDcwMDMwMjA0NDkyNDQ0Cis6MTAwM0EwMDAwNTYwMDMwMjA1OUU5MDdGRUJFMDI0RkU2MDE2MTQ2MDVBCis6MTAwM0IwMDAzNjI0MDI3MDdCNzQxMjkwN0ZENEYwNzQwMDkwN0ZENTQ1Cis6MTAwM0MwMDBGMDAyMDVBNTkwN0ZFQUUwRkYxMjBBOTlFQTQ5NjAwRDY0Cis6MTAwM0QwMDBFQTkwN0ZENEYwRTk5MDdGRDVGMDAyMDVBNTkwN0ZCNDM0Cis6MTAwM0UwMDBFMDQ0MDFGMDAyMDVBNTkwN0ZFQUUwRkYxMjBBNThFQTE2Cis6MTAwM0YwMDA0OTYwMzMxMkEyM0JGNTRFOTA3RkVFRTBGRkU1NEVEMzBECis6MTAwNDAwMDA5RjQwMDNFMEY1NEVFNTRFRDM5NDQwNDAwMzc1NEU0MEM3Cis6MTAwNDEwMDBBRTAyQUYwMTdDN0Y3RDAwQUI0RTEyOTEzNzkwN0ZCNTZECis6MTAwNDIwMDBFNTRFRjAwMjA1QTU5MDdGQjRFMDQ0MDFGMDAyMDVBNTc5Cis6MTAwNDMwMDA5MDdGQjRFMDQ0MDFGMDAyMDVBNTkwN0YwMEU1MjFGMDMzCis6MTAwNDQwMDA5MDdGQjU3NDAxRjAwMjA1QTU5MDdGRUFFMEY1MjEwMkU2Cis6MTAwNDUwMDAwNUE1OTA3RkVBRTBGNTM1RDIwMjQzODgxMEQyRUJEMkIxCis6MTAwNDYwMDBBODAyMDVBNTkwN0YwMEU1MzVGMDkwN0ZCNTc0MDFGMEY2Cis6MTAwNDcwMDAwMjA1QTU5MDdGRThFMDI0N0Y2MDI0MTQ2MDMxMjQwMjA3Cis6MTAwNDgwMDA3MDVCQTIwMEU0MzNGRjI1RTBGRkEyMDVFNDMzNEY5MDQ4Cis6MTAwNDkwMDA3RjAwRjBFNEEzRjA5MDdGQjU3NDAyRjAwMjA1QTVFNEJDCis6MTAwNEEwMDA5MDdGMDBGMEEzRjA5MDdGQjU3NDAyRjAwMjA1QTU5MDU0Cis6MTAwNEIwMDA3RkVDRTBGNDU0ODBGRkM0NTQwRkZGRTA1NDA3MkYyNTc1Cis6MTAwNEMwMDBFMDI0QjRGNTgyRTQzNDdGRjU4M0UwNTQwMTkwN0YwMEFBCis6MTAwNEQwMDBGMEU0QTNGMDkwN0ZCNTc0MDJGMDAyMDVBNTkwN0ZCNDFDCis6MTAwNEUwMDBFMDQ0MDFGMDAyMDVBNTkwN0ZFOEUwMjRGRTYwMUQyNEIxCis6MTAwNEYwMDAwMjYwMDMwMjA1QTU5MDdGRUFFMEI0MDEwNUMyMDAwMjk0Cis6MTAwNTAwMDAwNUE1OTA3RkI0RTA0NDAxRjAwMjA1QTU5MDdGRUFFMEU0Cis6MTAwNTEwMDA3MDM0OTA3RkVDRTBGRjU0MDdGRUY1NEVFRjMwRTcwM0I4Cis6MTAwNTIwMDA0MzRFMTA5MDdGRDdFNTRFRjBFNTRFNDQyMEYwRUZGNEI3Cis6MTAwNTMwMDA1NDgwRkRDNDU0MEYyRTI1RTAyNEI0RjU4MkU0MzQ3RkFBCis6MTAwNTQwMDBGNTgzRTRGMDgwNUY5MDdGQjRFMDQ0MDFGMDgwNTY5MDQyCis6MTAwNTUwMDA3RkU4RTAyNEZFNjAxODI0MDI3MDRBOTA3RkVBRTBCNDRECis6MTAwNTYwMDAwMTA0RDIwMDgwM0Y5MDdGQjRFMDQ0MDFGMDgwMzY5MEQ3Cis6MTAwNTcwMDA3RkVBRTA3MDIwOTA3RkVDRTBGNDU0ODBGRkM0NTQwRkQ5Cis6MTAwNTgwMDBGRkUwNTQwNzJGMjVFMDI0QjRGNTgyRTQzNDdGRjU4MzlGCis6MTAwNTkwMDA3NDAxRjA4MDEwOTA3RkI0RTA0NDAxRjA4MDA3OTA3RkY4Cis6MEMwNUEwMDBCNEUwNDQwMUYwOTA3RkI0RTA0NDAyRjBBRAorOjAxMDVBQzAwMjIyQworOjEwMDVBRDAwNzU0QUZGNzU0OUZGNzU0ODBGNzU0NzAwRDIwM0MyMDY5RQorOjEwMDVCRDAwQzIwMkMyMDBDMjA1QzIwMTkwMDMwMDc0MTlGMEU0OTA5QQorOjEwMDVDRDAwMDFCQ0YwQzIwNDkwMDFDMEYwQTNGMEMyQUZDMkE4MTJFQQorOjEwMDVERDAwMEMyMkU0OTAwMkFGRjA5MDAxQkRGMDkwMDEwMEYwQTM2OQorOjEwMDVFRDAwRjBBM0YwQTNGMEEzRjBBMzc0MTBGMEEzNzQwMUYwQTM5MworOjEwMDVGRDAwNzQwOEYwN0UwMTdGMDAxMjE5QzE3NTRDMTI3NTREMEFGOQorOjEwMDYwRDAwOTAwMTBCRTBGRjA1NERFNTREQUM0QzcwMDIwNTRDMTQwRgorOjEwMDYxRDAwRjU4MjhDODNFRkYwOTAwMTBDRTA0NDgwRkYwNTRERTVGMQorOjEwMDYyRDAwNERBQzRDNzAwMjA1NEMxNEY1ODI4QzgzRUZGMDkwMDFBQgorOjEwMDYzRDAwMERFMEZGMDU0REU1NERBQzRDNzAwMjA1NEMxNEY1ODJGNworOjEwMDY0RDAwOEM4M0VGRjA5MDAxMEVFMEZGMDU0REU1NERBQzRDNzA0NQorOjEwMDY1RDAwMDIwNTRDMTRGNTgyOEM4M0VGRjA5MDEyMEFFNDkzRkY5RgorOjEwMDY2RDAwNzQwMTkzOTAwMTFDQ0ZGMEEzRUZGMDkwMDExQ0UwRkZGQgorOjEwMDY3RDAwQTNFMEZFRUY2RUZGOTAwMTFDRjBBM0UwNkZGRkYwOTA4MgorOjEwMDY4RDAwMDExQ0UwNkZGMEUwRkVBM0UwRkZFNEZDRkQ3NTUyMTBFRAorOjEwMDY5RDAwNzU1MzAyNzU1NDEyNzU1NUFDMTI5NDI2NzU0QzEyNzUxRQorOjEwMDZBRDAwNERCMjkwMDEwREUwRkYwNTRERTU0REFDNEM3MDAyMDVDRQorOjEwMDZCRDAwNEMxNEY1ODI4QzgzRUZGMDkwMDEwRUUwRkYwNTRERTVCMworOjEwMDZDRDAwNERBQzRDNzAwMjA1NEMxNEY1ODI4QzgzRUZGMDkwN0Y4RAorOjEwMDZERDAwOTJFMEZGQzQ1NDBGMjQ0MUZGMDU0REU1NERBQzRDNzAyNQorOjEwMDZFRDAwMDIwNTRDMTRGNTgyOEM4M0VGRjAwNTRERTU0REFFNENCMworOjEwMDZGRDAwNzAwMjA1NEMxNEY1ODI4RTgzRTRGMDc1ODIxMDc1ODNCQgorOjEwMDcwRDAwMDFFMEZDQTNFMEZEQTNFMEZFQTNFMEZGOTAwMTE4MTJDMQorOjEwMDcxRDAwQTNFRTdFMDE3RjE4MTI4NkJFOTAwMTE4RTBGQ0EzRTBDNworOjEwMDcyRDAwRkRBM0UwRkVBM0UwRkY3NTUyMEE3NTUzMDY3NTU0MTI0MgorOjEwMDczRDAwNzU1NUI4MTI5NDI2RDJFODQzRDgyMDkwN0ZBQjc0RkYzQworOjEwMDc0RDAwRjA1MzkxRUY5MDdGQUZFMDQ0MDFGMDkwN0ZBRUUwNDQyNQorOjEwMDc1RDAwMUZGMEQyQUYyMDAxMkUyMDAxMkJBMjAzOTIwNzEyMDkwOAorOjEwMDc2RDAwQzU3NTQ2NTA3NTQ1NkQ3NTQ0MzM3NTQzMDAyMDAxRTREQworOjEwMDc3RDAwN0ZGRjdFRkY3REZGN0NGRjc4NDMxMkEzRDdFQzRENEVBQworOjEwMDc4RDAwNEY2MEQxODBFODMwMDEwNTEyMDM3MEMyMDEzMDA2MEFCNgorOjEwMDc5RDAwMTIwOUZCNTAwMzEyMEFFOEMyMDYxMjk2NUU5MDAxQkRDMworOjEwMDdBRDAwRTA2MDBDMTI5MjAxRTQ5MDAxQkRGMDkwN0ZEM0YwOTBDNworOjEwMDdCRDAwMDJBRkUwQjQwRjAzMTI5OUI5MTJBMDk1RTRGRjc0MDFEMgorOjEwMDdDRDAwQTgwNzA4ODAwMkMzMzNEOEZDRkU5MDAxQkNFMDVFNjAzMAorOjEwMDdERDAwMTQ3NDI4MkZGOEU2RDM5NDBBNDAwNDdFMDE4MDAyN0UxQgorOjEwMDdFRDAwMDA4RTRCODAwMzc1NEIwMTc0NjgyRkY1ODJFNDM0MjAyNQorOjEwMDdGRDAwRjU4M0U1NEJGMDBGQkYwNEM1RTUyQ0QzOTQwQTQwMDRGNworOjBFMDgwRDAwN0YwMTgwMDI3RjAwOTAyMDZDRUZGMDAyMDc5MkM2Cis6MDEwODFCMDAyMkJBCis6MDQwODFDMDA1M0Q4RUYzMjhDCis6MTAwODIwMDBFNTMzQzM5NDAxNDAwRTkwN0Y5M0UwNDQzMEYwOTA3RjE1Cis6MTAwODMwMDA5NUUwNDRDMEYwN0ZGNDdFMDExMjA5QUU5MDdGOTZFMDBGCis6MTAwODQwMDA1NEZFRjA3RjBBN0UwMDEyMDlBRTkwN0Y5NkUwNDQwOEM1Cis6MTAwODUwMDBGMDdGMDU3RTAwMTIwOUFFOTA3Rjk2RTA1NEZCRjA3RjlBCis6MTAwODYwMDAwNTdFMDAxMjA5QUVFNTMzQzM5NDAxNTAwRTdGMDI3RDcwCis6MTAwODcwMDBGRjEyODJFQTdGMDU3RTAwMTIwOUFFOTA3Rjk2RTA0NDY3Cis6MTAwODgwMDAwMkYwRTA1NDdGRjA3RjA1N0UwMDEyMDlBRTkwN0Y5NjYzCis6MTAwODkwMDBFMDQ0NDBGMDdGMDU3RTAwMTIwOUFFOTA3Rjk2RTA1NDYwCis6MTAwOEEwMDBCRkYwN0YzMjdFMDAxMjA5QUU5MDdGOTZFMDQ0NDBGMEE4Cis6MDgwOEIwMDA3RjMyN0UwMDEyMDlBRTIyMjYKKzoxMDA4QjgwMDkwN0Y5NkUwNTRGREYwRTA0NDgwRjA3RjBBN0UwMDEyQkQKKzoxMDA4QzgwMDA5QUVFNTMzQzM5NDAxNTAwRTdGMDJFNEZEMTI4MkVBQkIKKzoxMDA4RDgwMDdGMDU3RTAwMTIwOUFFOTA3Rjk2RTA1NEJGRjA3RjA1MzkKKzoxMDA4RTgwMDdFMDAxMjA5QUU5MDdGOTZFMDQ0MDRGMDdGMDU3RTAwRkEKKzoxMDA4RjgwMDEyMDlBRTkwN0Y5NkUwNTRGN0YwN0YwNTdFMDAxMjA5NEEKKzoxMDA5MDgwMEFFOTA3Rjk2RTA0NDAxRjA3RjA1N0UwMDEyMDlBRUU1QzcKKzoxMDA5MTgwMDMzQzM5NDAxNDAwRTkwN0Y5M0UwNTRDRkYwOTA3Rjk1QkQKKzowODA5MjgwMEUwNTQzRkYwMTIwQjAwMjIyNQorOjEwMDkzMDAwOTAwQUY0RTQ5MzcwNzY5MDdGOTM3NDMwRjA5MDdGOTRGMworOjEwMDk0MDAwNzQzQ0YwOTA3Rjk1NzRDNkYwN0YwQTdFMDAxMjA5QUU2OQorOjEwMDk1MDAwRTQ5MDdGOUNGMDkwN0Y5Njc0MDhGMDkwN0Y5Qzc0Q0YxOQorOjEwMDk2MDAwRjA3RjBBN0UwMDEyMDlBRTkwMjA3MEUwRkZDNDU0MEZBMQorOjEwMDk3MDAwRjUzM0MzOTQwMTUwMDc5MDdGOTZFMDQ0ODBGMEU0OTBGMworOjEwMDk4MDAwN0Y5N0YwOTA3RjlENzQwMkYwRTUzM0MzOTQwMTQwMEI5NAorOjEwMDk5MDAwRTQ5MDdGOThGMDkwN0Y5RTc0QzBGMDkwN0ZFMjc0MTI5NAorOjBFMDlBMDAwRjAxMjA4MjA3NTgyRjQ3NTgzMEE3NEZGRjAyMkFECis6MTAwOUFFMDA4RTVEOEY1RUU1NUUxNTVFQUU1RDcwMDIxNTVENEU2MDBFCis6MDcwOUJFMDAwNTEyMDlFQTgwRUUyMjk4Cis6MTAwOUM1MDA5MDdGRDZFMDU0RkJGMEUwNDQwOEYwMzAwNzA0RTA0NEEzCis6MTAwOUQ1MDAwMkYwN0ZEMDdFMDcxMjA5QUU5MDdGRDZFMDU0RjdGMDgzCis6MDUwOUU1MDBFMDQ0MDRGMDIyRDMKKzoxMDA5RUEwMDc0MDBGNTg2OTBGREE1N0MwNUEzRTU4MjQ1ODM3MEY5MjAKKzowMTA5RkEwMDIyREEKKzowNTA5RkIwMDEyMDhCOEQzMjIzMAorOjEwMEEwMDAwMDIwQzRFMDAwMjBDODEwMDAyMEM2NjAwMDIwQ0MwMDBCOQorOjEwMEExMDAwMDIwQ0FBMDAwMjBBRUQwMDAyMEFFRTAwMDIwQUVGMDAzMAorOjEwMEEyMDAwMDIwQ0RCMDAwMjBEQ0IwMDAyMEQxNzAwMDIwRTJCMDBBMgorOjEwMEEzMDAwMDIwRDUzMDAwMjBFOEIwMDAyMEQ4RjAwMDIwRUVCMDAyMAorOjEwMEE0MDAwMDIwQUYwMDAwMjBBRjIwMDAyMEFGMTAwMDIwQUYzMDBCMAorOjA4MEE1MDAwMDIwRjRCMDAwMjBGNjEwMEQwCis6MDIwQTU4MDA4RjRGQkUKKzoxMDBBNUEwMEU0RjU1MDc1NTFGRjc1NTIxMjc1NTM2QUFCNTFBQTUyOUIKKzoxMDBBNkEwMEE5NTM5MDAwMDExMkEyNTRCNDAzMURBRjUwMDU1MEVGRDAKKzoxMDBBN0EwMEI1NEYwMTIyMTJBMjNCN0UwMDI5RkZFRTNBQTkwNzc1NjMKKzowRTBBOEEwMDUxRkZGNTUyODk1MzgwRDQ3QjAwN0EwMDc5MDAyOQorOjAxMEE5ODAwMjIzQgorOjEwMEE5OTAwRTRGRTc1NTFGRjc1NTIxMjc1NTMxMkFCNTFBQTUyQTk1MgorOjEwMEFBOTAwNTM5MDAwMDExMkEyNTQ2NDAyNzAyREFEMDYwRUVEQjVFQgorOjEwMEFCOTAwMDcwMTIyOTAwMDAyMTJBMkFEODVGMDRGRjU1MDYyNEY1NgorOjEwMEFDOTAwRTU0RjYyNTBFNTUwNjI0RjI5RkRFNTRGM0FBOTA1NzU5QQorOjBFMEFEOTAwNTFGRkY1NTI4OTUzODBDMzdCMDA3QTAwNzkwMEVCCis6MDEwQUU3MDAyMkVDCis6MDUwQUU4MDAxMjA4MjBEMzIyREEKKzowMTBBRUQwMDMyRDYKKzowMTBBRUUwMDMyRDUKKzowMTBBRUYwMDMyRDQKKzowMTBBRjAwMDMyRDMKKzowMTBBRjEwMDMyRDIKKzowMTBBRjIwMDMyRDEKKzowMTBBRjMwMDMyRDAKKzowMzBBRjQwMDAwMDQwN0Y0Cis6MDkwQjAwMDA5MDdGRDZFMDQ0ODBGMDgwNzQ3RgorOjEwMEI3RDAwNDM4NzAxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjI3QgorOjEwMEI4RDAwNTM4RUY3RTU4OTU0RjE0NDAxRjU4OTc1OENCMUQyQTlERAorOjEwMEI5RDAwNzU5ODQwNzVDQkZGNzVDQUYzNzVDODM0RTRGRjdGMDVCMgorOjA3MEJBRDAwNzgyOEU0RjYwOERGRkNFNAorOjAxMEJCNDAwMjIxRQorOjEwMEJCNTAwQzBFMEMwODNDMDgyQzBEMDc1RDAwMEMwMDBDMDA2QzBGMAorOjAxMEJDNTAwMDcyOAorOjEwMEJDNjAwMzAwNDE2NzU4Q0Y4NzU4QTMwN0YyRkFFMDcxRkVFNjBERAorOjEwMEJENjAwM0M5MDIwMDA3NDU1RjA4MEYyNzU4Q0IxN0YyOEVGRDNERAorOjEwMEJFNjAwOTQyQzUwMDlBODA3RTY2MDAxMTYwRjgwRjE5MDAzMDBDNworOjEwMEJGNjAwRTA2MDAyMTRGMDkwMDFDMEUwNzAwMkEzRTA2MDBFOTA4NQorOjBEMEMwNjAwMDFDMUUwMjRGRkYwOTAwMUMwRTAzNEZGRjBEOAorOjBGMEMxMzAwRDAwN0QwMDZEMDAwRDBEMEQwODJEMDgzRDBFMDMyMkUKKzoxMDBDMjIwMEQyMDA3NThFMTAxMjA5MzBFNTMzQzM5NDAxNDAwODkwNEEKKzoxMDBDMzIwMDdGOTI3NDAyRjA4MDA1RTQ5MDdGOTJGMDEyODAwMDEyOUQKKzowQzBDNDIwMDBGN0QxMjk0RjcxMjFCMEMxMjBCOEQyMjc4Cis6MTAwQzRFMDBDMEUwQzA4M0MwODJEMjAxNTM5MUVGOTA3RkFCNzQwMTlDCis6MDgwQzVFMDBGMEQwODJEMDgzRDBFMDMyMTcKKzoxMDBDNjYwMEMwRTBDMDgzQzA4MjkwN0ZDNEU0RjA1MzkxRUY5MDdGRDAKKzowQjBDNzYwMEFCNzQwNEYwRDA4MkQwODNEMEUwMzJEOQorOjEwMEM4MTAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkFCNzQwMkYwOTBCQgorOjEwMEM5MTAwN0ZEOEUwNzAwRDkwN0ZEOUUwNzAwN0U1MkM3MDAzNzU2NworOjA5MENBMTAwMkMxNEQwODJEMDgzRDBFMDMyODMKKzoxMDBDQUEwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBQjc0MTBGMEQwNDQKKzowNjBDQkEwMDgyRDA4M0QwRTAzMjdECis6MTAwQ0MwMDBDMEUwQzA4M0MwODIzMDAyMDJEMjA2NTM5MUVGOTA3RjExCis6MEIwQ0QwMDBBQjc0MDhGMEQwODJEMDgzRDBFMDMyN0IKKzoxMDBDREIwMEMwRTBDMDgzQzA4MkMwRDA3NUQwMTA1MzkxRUY5MDdGMUQKKzoxMDBDRUIwMEE5NzQwMkYwRTUzNDMwRTAxM0U1MzIzMEUwMDc5MDIwRDAKKzoxMDBDRkIwMDA0RTA0NDAxRjA5MDIwMDFFMDQ0MDFGMEU1MkM3MDAzODYKKzowQzBEMEIwMDc1MkMxNEQwRDBEMDgyRDA4M0QwRTAzMjAwCis6MTAwRDE3MDBDMEUwQzA4M0MwODJDMEQwNzVEMDEwNTM5MUVGOTA3RkUwCis6MTAwRDI3MDBBOTc0MDRGMEU1MzQzMEUxMTNFNTMyMzBFMTA3OTAyMDhGCis6MTAwRDM3MDAwQ0UwNDQwMUYwOTAyMDA5RTA0NDAxRjBFNTJDNzAwMzM5Cis6MEMwRDQ3MDA3NTJDMTREMEQwRDA4MkQwODNEMEUwMzJDNAorOjEwMEQ1MzAwQzBFMEMwODNDMDgyQzBEMDc1RDAxMDUzOTFFRjkwN0ZBNAorOjEwMEQ2MzAwQTk3NDA4RjBFNTM0MzBFMjEzRTUzMjMwRTIwNzkwMjA0RAorOjEwMEQ3MzAwMTRFMDQ0MDFGMDkwMjAxMUUwNDQwMUYwRTUyQzcwMDNFRAorOjBDMEQ4MzAwNzUyQzE0RDBEMEQwODJEMDgzRDBFMDMyODgKKzoxMDBEOEYwMEMwRTBDMDgzQzA4MkMwRDA3NUQwMTA1MzkxRUY5MDdGNjgKKzoxMDBEOUYwMEE5NzQxMEYwRTUzNDMwRTMxM0U1MzIzMEUzMDc5MDIwMDcKKzoxMDBEQUYwMDFDRTA0NDAxRjA5MDIwMTlFMDQ0MDFGMEU1MkM3MDAzQTEKKzowQzBEQkYwMDc1MkMxNEQwRDBEMDgyRDA4M0QwRTAzMjRDCis6MTAwRENCMDBDMEUwQzA4M0MwODJDMDg1QzA4NEMwODY3NTg2MDBDMDY5Cis6MTAwRERCMDBEMDc1RDAxMDUzOTFFRjkwN0ZBQTc0MDJGMEU1MzQyMEI4Cis6MTAwREVCMDBFMDA2OTA3RkM3RjA4MDIyRTUzMTMwRTAwQTkwN0ZDN0E0Cis6MTAwREZCMDBFMDkwMDJGOEYwODAxM0U1MjIzMEUwMDc5MDIwMDRFMDQ5Cis6MTAwRTBCMDA0NDAyRjA5MDIwMDFFMDQ0MDJGMEU1MkM3MDAzNzUyQ0I1Cis6MTAwRTFCMDAxNEQwRDBEMDg2RDA4NEQwODVEMDgyRDA4M0QwRTAzMjhECis6MTAwRTJCMDBDMEUwQzA4M0MwODJDMDg1QzA4NEMwODY3NTg2MDBDMDA4Cis6MTAwRTNCMDBEMDc1RDAxMDUzOTFFRjkwN0ZBQTc0MDRGMEU1MzQyMDU1Cis6MTAwRTRCMDBFMTA2OTA3RkM5RjA4MDIyRTUzMTMwRTEwQTkwN0ZDOTNECis6MTAwRTVCMDBFMDkwMDJGOUYwODAxM0U1MjIzMEUxMDc5MDIwMENFMERFCis6MTAwRTZCMDA0NDAyRjA5MDIwMDlFMDQ0MDJGMEU1MkM3MDAzNzUyQzRECis6MTAwRTdCMDAxNEQwRDBEMDg2RDA4NEQwODVEMDgyRDA4M0QwRTAzMjJECis6MTAwRThCMDBDMEUwQzA4M0MwODJDMDg1QzA4NEMwODY3NTg2MDBDMEE4Cis6MTAwRTlCMDBEMDc1RDAxMDUzOTFFRjkwN0ZBQTc0MDhGMEU1MzQyMEYxCis6MTAwRUFCMDBFMjA2OTA3RkNCRjA4MDIyRTUzMTMwRTIwQTkwN0ZDQkQ3Cis6MTAwRUJCMDBFMDkwMDJGQUYwODAxM0U1MjIzMEUyMDc5MDIwMTRFMDc0Cis6MTAwRUNCMDA0NDAyRjA5MDIwMTFFMDQ0MDJGMEU1MkM3MDAzNzUyQ0U1Cis6MTAwRURCMDAxNEQwRDBEMDg2RDA4NEQwODVEMDgyRDA4M0QwRTAzMkNECis6MTAwRUVCMDBDMEUwQzA4M0MwODJDMDg1QzA4NEMwODY3NTg2MDBDMDQ4Cis6MTAwRUZCMDBEMDc1RDAxMDUzOTFFRjkwN0ZBQTc0MTBGMEU1MzQyMDg5Cis6MTAwRjBCMDBFMzA2OTA3RkNERjA4MDIyRTUzMTMwRTMwQTkwN0ZDRDcwCis6MTAwRjFCMDBFMDkwMDJGQkYwODAxM0U1MjIzMEUzMDc5MDIwMUNFMDA5Cis6MTAwRjJCMDA0NDAyRjA5MDIwMTlFMDQ0MDJGMEU1MkM3MDAzNzUyQzdDCis6MTAwRjNCMDAxNEQwRDBEMDg2RDA4NEQwODVEMDgyRDA4M0QwRTAzMjZDCis6MTAwRjRCMDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQTk3NDgwRjBEMDMyCis6MDYwRjVCMDA4MkQwODNEMEUwMzJEOQorOjEwMEY2MTAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkFBNzQ4MEYwOTA1QgorOjBDMEY3MTAwMDFCRDc0RkZGMEQwODJEMDgzRDBFMDMyQ0MKKzoxMDBGN0QwMDkwMDEyMDEyQTNGQTAwMDAyNTgwOTAwMTI0NzQwOEYwM0UKKzoxMDBGOEQwMEEzNzQwMUYwQTM3NDZFRjBBM0YwQTM3NDEzRjBBMzc0MTMKKzoxMDBGOUQwMDExRjBFNEEzRjBBM0YwOTAwMTFFRjA5MDAxMUVFMEZGMEMKKzoxMDBGQUQwMDA0QTNGMEVGNzVGMDBEQTQyNDAxRjk3NDAzMzVGMEE4MzYKKzoxMDBGQkQwMDAxRkM3RDAxN0IwMTdBMDE3OTFGN0UwMDdGMEQxMkEyNUMKKzoxMDBGQ0QwMDEyN0UwMTdGMUYxMjg3QTY5MDAxMUVFMDA0RjBFMEMzODAKKzoxMDBGREQwMDk0MDQ0MEM3RTRGNTI3OTAwMTFFRjA5MDAxMUVFMEZGMzgKKzoxMDBGRUQwMEMzOTQwNDUwMUE3NEY4MkZGNTgyRTQzNDAyRjU4M0U0QTcKKzoxMDBGRkQwMEYwNzQyMzJGRjhFNEY2OTAwMTFFRTAwNEYwODBEQ0U0OTkKKzoxMDEwMEQwMEY1MzRFNUMwNjAyRjkwMDExRTc0MDFGMDkwMDExRUUwRDMKKzoxMDEwMUQwMEZGRDM5NDA0NTAxRkVGMTRGRjc0MDFBODA3MDg4MDAyM0EKKzoxMDEwMkQwMEMzMzNEOEZDNDIzNDdFMDE3RjFFMTI4NDQxOTAwMTFFRDEKKzoxMDEwM0QwMEUwMDRGMDgwRDdFNEY1M0VGNTIyRjUzMUY1MzI5MDAxNkMKKzoxMDEwNEQwMDFFRjA5MDAxMUVFMEZGNzVGMDA4QTQyNDA2RjU4MkU0NjEKKzoxMDEwNUQwMDM0MjBGNTgzRTA1NEYwRkU3NEM1MkZGNTgyRTQzNDAxOUQKKzoxMDEwNkQwMEY1ODNFRUYwNzQzQTJGRjhBNjA2NzQzNjJGRjhFNEY2RjEKKzoxMDEwN0QwMDc0MkQyRkY4RTRGNjc0RkMyRkY1ODJFNDM0MDJGNTgzMTkKKzoxMDEwOEQwMEU0RjA5MDAxMUVFMDA0RjBFMEI0MDRCNjkwMjA2MEUwQkUKKzowNDEwOUQwMDU0MEZGNTRFQTkKKzoxMDEwQTEwMDcwMDMwMjExMjZFNDkwMDExRUYwOTAwMTFFRTBGRkMzQkYKKzoxMDEwQjEwMDk0MDQ1MEU0NzQwMUE4MDcwODgwMDJDMzMzRDhGQzU1OTYKKzoxMDEwQzEwMDRFNjA1QTkwMDExRUUwRkU3NUYwMDhBNDI0MDJGNTgyREMKKzoxMDEwRDEwMEU0MzQyMEY1ODNFMEZGRUU3NUYwMDhBNDI0MDVGNTgyRTEKKzoxMDEwRTEwMEU0MzQyMEY1ODNFMEVFNzVGMDA4QTQyNDA2RjU4MkU0RUIKKzoxMDEwRjEwMDM0MjBGNTgzRTBGRkFGMDZFRTc1RjAwREE0MjQwMkY1NzAKKzoxMDExMDEwMDgyRTQzNDAzRjU4M0UwRkNBM0UwRkRBM0UwRkVBM0UwNjkKKzoxMDExMTEwMEY1NjY4RTY1OEQ2NDhDNjM3RDA2MTI4M0RGOTAwMTFFRkEKKzowNjExMjEwMEUwMDRGMDgwODUyMkNECis6MDIxMTI3MDBBQzA3MTMKKzoxMDExMjkwMDkwN0ZBNUUwNDQ4MEYwRUMyNUUwNDQ0MTkwN0ZBNkYwNTMKKzoxMDExMzkwMDdCM0NBRjAzMUJFRjcwMTY5MDdGQTVFMDQ0NDBGMDkwMTUKKzoxMDExNDkwMDdGQTZFMEZEN0QzMkFGMDUxREVGNjBENDgwRjg5MDdGNkEKKzoxMDExNTkwMEE1RTBGRDMwRTBEQzIwRTEwOUUwNDQ0MEYwN0VGRjdGQkUKKzoxMDExNjkwMEY5MjJFRDMwRTIwQzkwN0ZBNUUwNDQ0MEYwN0VGRjdGNEMKKzoxMDExNzkwMEZBMjI5MDdGQTVFMDQ0MjBGMDkwN0ZBNkUwRkQ3QjFFMzcKKzoxMDExODkwMEFGMDMxQkVGNzAxNjkwN0ZBNUUwNDQ0MEYwOTA3RkE2NTcKKzoxMDExOTkwMEUwRkQ3RDMyQUYwNTFERUY2MDg2ODBGODkwN0ZBNUUwMDgKKzoxMDExQTkwMEZEMjBFMERDN0IzQ0FGMDMxQkVGNzAxOTkwN0ZBNUUwQ0QKKzoxMDExQjkwMDQ0NDBGMDkwN0ZBNkUwRkQ3RDMyQUYwNTFERUY3MDAzM0UKKzoxMDExQzkwMDAyMTEyOTgwRjU5MDdGQTVFMEZEMzBFMEQ5MzBFMjA5RDAKKzoxMDExRDkwMEUwNDQ0MEYwN0VGRjdGRkEyMkMyQUY5MDdGQTVFMDQ0NTEKKzowQzExRTkwMDQwRjA5MDdGQTZFMEZERDJBRkZGN0UwMDNBCis6MDExMUY1MDAyMkQ3Cis6MTAxMjAwMDAxMjAxMDAwMUZGRkZGRjQwMTAwNzAxODA0MjAwMDEwMkIwCis6MTAxMjEwMDAwMzAxMDkwMjU4MDAwMTAxMDQ4MDNDMDkwNDAwMDAwQThFCis6MTAxMjIwMDBGRkZGRkYwNTA3MDU4MTAyNDAwMDAwMDcwNTAxMDI0MDlFCis6MTAxMjMwMDAwMDAwMDcwNTgyMDI0MDAwMDAwNzA1MDIwMjQwMDAwMDhFCis6MTAxMjQwMDAwNzA1ODMwMjQwMDAwMDA3MDUwMzAyNDAwMDAwMDcwNTcwCis6MTAxMjUwMDA4NDAyNDAwMDAwMDcwNTA0MDI0MDAwMDAwNzA1ODcwMkUxCis6MTAxMjYwMDA0MDAwMDAwNzA1MDcwMjQwMDAwMDA0MDMwOTA0MjQwM0FFCis6MTAxMjcwMDA0MzAwNkYwMDZFMDA2RTAwNjUwMDYzMDA3NDAwMjAwMDg0Cis6MTAxMjgwMDA1NDAwNjUwMDYzMDA2ODAwMjAwMDQ5MDA2RTAwNjMwMEEwCis6MTAxMjkwMDAyRTAwMTgwMzU3MDA2ODAwNjkwMDc0MDA2NTAwNDgwMEJDCis6MTAxMkEwMDA0NTAwNDEwMDU0MDAyRDAwMzQwMDFBMDM1ODAwNTgwMDM2Cis6MTAxMkIwMDAyRDAwNTgwMDU4MDAyRDAwNTgwMDU4MDA1ODAwNTgwMEM0Cis6MTAxMkMwMDA1ODAwNTgwMDJBMDM0MzAwNkYwMDZFMDA2NjAwNjkwMDUyCis6MTAxMkQwMDA2NzAwNzUwMDcyMDA2MTAwNzQwMDY5MDA2RjAwNkUwMEE1Cis6MTAxMkUwMDAyMDAwNTMwMDc0MDA3MjAwNjkwMDZFMDA2NzAwMjIwMzQyCis6MTAxMkYwMDA0OTAwNkUwMDc0MDA2NTAwNzIwMDY2MDA2MTAwNjMwMEMyCis6MTAxMzAwMDA2NTAwMjAwMDUzMDA3NDAwNzIwMDY5MDA2RTAwNjcwMEUxCis6MDIxMzEwMDAwMDAwREIKKzoxMDEzMTIwMEMwRTBDMEYwQzA4M0MwODJDMDg1QzA4NEMwODZDMEQwOTcKKzoxMDEzMjIwMDc1ODYwMDc1RDAxODkwMjA2MEUwNTQwRkY1RjA3MDExQUEKKzoxMDEzMzIwMEQwRDBEMDg2RDA4NEQwODVEMDgyRDA4M0QwRjBEMEUwRjcKKzoxMDEzNDIwMDMyNzU4NjAwMTBGMDBCMTBGMTEyMTBGMjE5MTBGMzIwMTIKKzoxMDEzNTIwMDgwRDRFNTI4NzAwMzc1MjgxNDAyMTM3Q0U1Mjk3MDAzRjQKKzoxMDEzNjIwMDc1MjkxNDAyMTUwREU1MkE3MDAzNzUyQTE0MDIxNjlFQkEKKzoxMDEzNzIwMEU1MkI3MDAzNzUyQjE0MDIxODJGOTAyMDAyRTA1NDNGQzYKKzoxMDEzODIwMDIwRTIzQTIwRTEwQjIwRTQwQjIwRTUxNDYwMDkwMjEzNkQKKzoxMDEzOTIwMDQzMDIxNDY1MDIxMzQzNDM4MjA0RTBGNTNBMDIxMzQzMDUKKzoxMDEzQTIwMDQzODIwNEUwNDMyRDAxMDIxMzQzNTM4MkY4NDM4MjA1MzIKKzoxMDEzQjIwMEUwNDIzNjUzODJGQkUwNTRGQkYwMDIxMzQzMzBFMTAyNzkKKzoxMDEzQzIwMDgwRThGNTg1RTUzMjMwRTAwQTUzODJGODQzODIwNEUwOTIKKzoxMDEzRDIwMDU0RkVGMEU1ODUyMEUzNTY5MDIwNTA3NDAwRjA5MDIwRjIKKzoxMDEzRTIwMDU4NzQwMUYwOTA3RkUyRTA0NDQwRjA5MDdGRTMwNTg2N0MKKzoxMDEzRjIwMDkwN0U4MDA1ODZFNTg1RjBBM0U1ODRGMDA1ODY5MDdGRTIKKzoxMDE0MDIwMEU1RTUzRkZEMDMwMzAzRkVGMEYwRjBGMEYwRjBGMEYwNEQKKzoxMDE0MTIwMERFRjY5MDdGRTJFMDU0QkZGMDkwMjA1ODc0MDBGMDkwMjYKKzoxMDE0MjIwMDdGQjdFREYwOTAyMDAxRTA1NEZFRjAwMjEzNDM3RjQwQkQKKzoxMDE0MzIwMDkwN0U4MDA1ODY5MDIwMDBFNTg0RkUyNDA1RkQ4RDg0NDMKKzoxMDE0NDIwMEUwOEU4NDMwRTAwOUUwMDU4NkYwQTMwNTg2REZFRjA1MzMKKzoxMDE0NTIwMDg2QzM3NDQwOUY5MDdGQjdGMDA1ODZBM0UwNTRGRUYwRTgKKzoxMDE0NjIwMDAyMTM0MzUzMkRGQUU1MjM2MDA4NzUyMzAwRDJFN0ZFRTkKKzoxMDE0NzIwMDgwMEE5MDdGQzdFMEZFNzAwMzAyMTRGRjkwMjA1MDc0MzAKKzoxMDE0ODIwMDAwRjA5MDIwNTg3NDAxRjA5MDdGRTJFMDQ0NDBGMDkwMjgKKzoxMDE0OTIwMDdGRTMwNTg2OTA3RTQwMDU4NkU1ODVGMEEzRTU4NEYwMkUKKzoxMDE0QTIwMDA1ODY5MDdGRTVFRTMwRTcwODA1ODZFMDI0MzhGMDA1RjIKKzoxMDE0QjIwMDg2RUU1NDdGRkU1NDA3RkJFRTU0Nzg2MDMwMDMwMzAzM0MKKzoxMDE0QzIwMDMwRTMwNDc0MDc3QjA4RkRGQ0UwRTBFMEUwRTBFMEUwRUMKKzoxMDE0RDIwMEUwRERGNkVCRkU2MDE5RUM2NDA3NzAxMThCMjM5MDdGNjAKKzoxMDE0RTIwMEUyRTA1NEJGRjA5MDIwNTg3NDAwRjA4MDFCRTBERUZENzMKKzoxMDE0RjIwMDkwN0ZFMkUwNTRCRkYwOTAyMDU4NzQwMEYwOTAyMDAxRjkKKzoxMDE1MDIwMEUwNTRGREYwOTA3RkM3RjAwMjEzNDM5MDIwMEFFMDU0QUMKKzoxMDE1MTIwMDNGMjBFMjNBMjBFMTBCMjBFNDBCMjBFNTE0NjAwOTAyQUYKKzoxMDE1MjIwMDEzNDMwMjE1RjYwMjEzNDM0MzgyMDRFMEY1M0IwMjEzMTAKKzoxMDE1MzIwMDQzNDM4MjA0RTA0MzJFMDEwMjEzNDM1MzgyRjg0MzgyNjEKKzoxMDE1NDIwMDA1RTA0MjM3NTM4MkZCRTA1NEZCRjAwMjEzNDMzMEUxRTMKKzoxMDE1NTIwMDAyODBFOEY1ODVFNTMyMzBFMTBBNTM4MkY4NDM4MjA0REQKKzoxMDE1NjIwMEUwNTRGRUYwRTU4NTIwRTM1NjkwMjA1MDc0MDFGMDkwOUYKKzoxMDE1NzIwMDIwNTg3NDAxRjA5MDdGRTJFMDQ0NDBGMDkwN0ZFMzA1NTAKKzoxMDE1ODIwMDg2OTA3RTAwMDU4NkU1ODVGMEEzRTU4NEYwMDU4NjkwQzkKKzoxMDE1OTIwMDdGRTVFNTQwRkQwMzAzMDNGRUYwRjBGMEYwRjBGMEYwMkMKKzoxMDE1QTIwMEYwREVGNjkwN0ZFMkUwNTRCRkYwOTAyMDU4NzQwMEYwMzUKKzoxMDE1QjIwMDkwN0ZCOUVERjA5MDIwMDlFMDU0RkVGMDAyMTM0MzdGRDIKKzoxMDE1QzIwMDQwOTA3RTAwMDU4NjkwMjAwOEU1ODRGRTI0MDVGRDhENkUKKzoxMDE1RDIwMDg0RTA4RTg0MzBFMDA5RTAwNTg2RjBBMzA1ODZERkVGMjMKKzoxMDE1RTIwMDA1ODZDMzc0NDA5RjkwN0ZCOUYwMDU4NkEzRTA1NEZFNDAKKzoxMDE1RjIwMEYwMDIxMzQzNTMyRUZBRTUyNDYwMDg3NTI0MDBEMkU3NjMKKzoxMDE2MDIwMEZFODAwQTkwN0ZDOUUwRkU3MDAzMDIxNjkwOTAyMDUwN0YKKzoxMDE2MTIwMDc0MDFGMDkwMjA1ODc0MDFGMDkwN0ZFMkUwNDQ0MEYwQjEKKzoxMDE2MjIwMDkwN0ZFMzA1ODY5MDdEQzAwNTg2RTU4NUYwQTNFNTg0N0QKKzoxMDE2MzIwMEYwMDU4NjkwN0ZFNUVFMzBFNzA4MDU4NkUwMjQzOEYwNzUKKzoxMDE2NDIwMDA1ODZFRTU0N0ZGRTU0MDdGQkVFNTQ3ODYwMzAwMzAzQTgKKzoxMDE2NTIwMDAzMzBFMzA0NzQwNzdCMDhGREZDRTBFMEUwRTBFMEUwMzcKKzoxMDE2NjIwMEUwRTBEREY2RUJGRTYwMTlFQzY0MDc3MDExOEIyNDkwNkMKKzoxMDE2NzIwMDdGRTJFMDU0QkZGMDkwMjA1ODc0MDBGMDgwMUJFMERFNUYKKzowRTE2ODIwMEZEOTA3RkUyRTA1NEJGRjA5MDIwNTg3NDAwRjAxRAorOjEwMTY5MDAwOTAyMDA5RTA1NEZERjA5MDdGQzlGMDAyMTM0MzkwMjBBMAorOjEwMTZBMDAwMTJFMDU0M0YyMEUyM0EyMEUxMEIyMEU0MEIyMEU1MTQ0NQorOjEwMTZCMDAwNjAwOTAyMTM0MzAyMTc4NzAyMTM0MzQzODIwNEUwRjVEMworOjEwMTZDMDAwM0MwMjEzNDM0MzgyMDRFMDQzMkYwMTAyMTM0MzUzODIzRAorOjEwMTZEMDAwRjg0MzgyMDVFMDQyMzg1MzgyRkJFMDU0RkJGMDAyMTNFQQorOjEwMTZFMDAwNDMzMEUxMDI4MEU4RjU4NUU1MzIzMEUyMEE1MzgyRjhDMgorOjEwMTZGMDAwNDM4MjA0RTA1NEZFRjBFNTg1MjBFMzU2OTAyMDUwNzRDOAorOjEwMTcwMDAwMDJGMDkwMjA1ODc0MDFGMDkwN0ZFMkUwNDQ0MEYwOTBBNQorOjEwMTcxMDAwN0ZFMzA1ODY5MDdEODAwNTg2RTU4NUYwQTNFNTg0RjA2RQorOjEwMTcyMDAwMDU4NjkwN0ZFNUU1NDFGRDAzMDMwM0ZFRjBGMEYwRjA1MAorOjEwMTczMDAwRjBGMEYwRjBERUY2OTA3RkUyRTA1NEJGRjA5MDIwNTgzOQorOjEwMTc0MDAwNzQwMEYwOTA3RkJCRURGMDkwMjAxMUUwNTRGRUYwMDJBOQorOjEwMTc1MDAwMTM0MzdGNDA5MDdEODAwNTg2OTAyMDEwRTU4NEZFMjQxMQorOjEwMTc2MDAwMDVGRDhEODRFMDhFODQzMEUwMDlFMDA1ODZGMEEzMDU1OAorOjEwMTc3MDAwODZERkVGMDU4NkMzNzQ0MDlGOTA3RkJCRjAwNTg2QTM4QworOjEwMTc4MDAwRTA1NEZFRjAwMjEzNDM1MzJGRkFFNTI1NjAwODc1MjU1NworOjEwMTc5MDAwMDBEMkU3RkU4MDBBOTA3RkNCRTBGRTcwMDMwMjE4MjFBMgorOjEwMTdBMDAwOTAyMDUwNzQwMkYwOTAyMDU4NzQwMUYwOTA3RkUyRTA5NQorOjEwMTdCMDAwNDQ0MEYwOTA3RkUzMDU4NjkwN0Q0MDA1ODZFNTg1RjAwNgorOjEwMTdDMDAwQTNFNTg0RjAwNTg2OTA3RkU1RUUzMEU3MDgwNTg2RTAyNgorOjEwMTdEMDAwMjQzOEYwMDU4NkVFNTQ3RkZFNTQwN0ZCRUU1NDc4NjAwMworOjEwMTdFMDAwMzAwMzAzMDMzMEUzMDQ3NDA3N0IwOEZERkNFMEUwRTAxMgorOjEwMTdGMDAwRTBFMEUwRTBFMERERjZFQkZFNjAxOUVDNjQwNzcwMTE3QworOjEwMTgwMDAwOEIyNTkwN0ZFMkUwNTRCRkYwOTAyMDU4NzQwMEYwODA2OAorOjEwMTgxMDAwMUJFMERFRkQ5MDdGRTJFMDU0QkZGMDkwMjA1ODc0MDBBMgorOjEwMTgyMDAwRjA5MDIwMTFFMDU0RkRGMDkwN0ZDQkYwMDIxMzQzOTAzNAorOjEwMTgzMDAwMjAxQUUwNTQzRjIwRTIzQTIwRTEwQjIwRTQwQjIwRTU5RgorOjEwMTg0MDAwMTQ2MDA5MDIxMzQzMDIxOTE4MDIxMzQzNDM4MjA0RTA4RgorOjEwMTg1MDAwRjUzRDAyMTM0MzQzODIwNEUwNDMzMDAxMDIxMzQzNTMzNgorOjEwMTg2MDAwODJGODQzODIwNUUwNDIzOTUzODJGQkUwNTRGQkYwMDJFOAorOjEwMTg3MDAwMTM0MzMwRTEwMjgwRThGNTg1RTUzMjMwRTMwQTUzODIxNAorOjEwMTg4MDAwRjg0MzgyMDRFMDU0RkVGMEU1ODUyMEUzNTY5MDIwNTBCMgorOjEwMTg5MDAwNzQwM0YwOTAyMDU4NzQwMUYwOTA3RkUyRTA0NDQwRjAyRgorOjEwMThBMDAwOTA3RkUzMDU4NjkwN0QwMDA1ODZFNTg1RjBBM0U1ODRCRAorOjEwMThCMDAwRjAwNTg2OTA3RkU1RTU0MkZEMDMwMzAzRkVGMEYwRjBCRQorOjEwMThDMDAwRjBGMEYwRjBGMERFRjY5MDdGRTJFMDU0QkZGMDkwMjAxMAorOjEwMThEMDAwNTg3NDAwRjA5MDdGQkRFREYwOTAyMDE5RTA1NEZFRjBCOAorOjEwMThFMDAwMDIxMzQzN0Y0MDkwN0QwMDA1ODY5MDIwMThFNTg0RkUxQQorOjEwMThGMDAwMjQwNUZEOEQ4NEUwOEU4NDMwRTAwOUUwMDU4NkYwQTNBOAorOjEwMTkwMDAwMDU4NkRGRUYwNTg2QzM3NDQwOUY5MDdGQkRGMDA1ODY5NgorOjEwMTkxMDAwQTNFMDU0RkVGMDAyMTM0MzUzMzBGQUU1MjY2MDA4NzU0NQorOjEwMTkyMDAwMjYwMEQyRTdGRTgwMEE5MDdGQ0RFMEZFNzAwMzAyMTkwOAorOjEwMTkzMDAwQjI5MDIwNTA3NDAzRjA5MDIwNTg3NDAxRjA5MDdGRTIzMAorOjEwMTk0MDAwRTA0NDQwRjA5MDdGRTMwNTg2OTA3Q0MwMDU4NkU1ODUwNQorOjEwMTk1MDAwRjBBM0U1ODRGMDA1ODY5MDdGRTVFRTMwRTcwODA1ODY4NAorOjEwMTk2MDAwRTAyNDM4RjAwNTg2RUU1NDdGRkU1NDA3RkJFRTU0NzhGMQorOjEwMTk3MDAwNjAzMDAzMDMwMzMwRTMwNDc0MDc3QjA4RkRGQ0UwRTAwMAorOjEwMTk4MDAwRTBFMEUwRTBFMEUwRERGNkVCRkU2MDE5RUM2NDA3NzAxQgorOjEwMTk5MDAwMTE4QjI2OTA3RkUyRTA1NEJGRjA5MDIwNTg3NDAwRjA0NQorOjEwMTlBMDAwODAxQkUwREVGRDkwN0ZFMkUwNTRCRkYwOTAyMDU4NzQ5MQorOjEwMTlCMDAwMDBGMDkwMjAxOUUwNTRGREYwOTA3RkNERjAwMjEzNDMyOQorOjAxMTlDMDAwMzJGNAorOjA0MTlDMTAwQUQwN0FDMDZCQworOjEwMTlDNTAwNzkwNkVEMjQwNEY1ODJFNDNDRjU4M0UwRkFBM0UwRkIxNworOjEwMTlENTAwNEE3MDAzMDIxQjA5RTlCNDA3MDA0MDAzMDIxQURCOTBCMQorOjEwMTlFNTAwMTlFQkY4MjgyODczMDIxQUI5MDIxQTcxMDIxQTVBMDI1OQorOjEwMTlGNTAwMUE0MDAyMUEyRjAyMUExQTAyMUEwMDkwN0ZBNUUwNDQxMworOjEwMUEwNTAwODBGMDhEODI4QzgzQTNFMEZGMjVFMDQ0QTA5MDdGQTYyMworOjEwMUExNTAwRjAxOTAyMUFEQjE5OEQ4MjhDODNFMEMzOTQyMDQwMEFFOQorOjEwMUEyNTAwQTNBM0UwOTA3RkE2RjAwMjFBREI4RDgyOEM4M0EzQTM4QgorOjEwMUEzNTAwRTBBM0UwOTA3RkE2RjAxOTAyMUFEQjkwN0ZBNUUwNDRCMQorOjEwMUE0NTAwODBGMDhEODI4QzgzQTNFMEZGMjVFMDQ0QTE5MDdGQTZFMgorOjEwMUE1NTAwRjAxOTAyMUFEQkVCNjQwMTRBNzAwODkwN0ZBNUUwNDQ5NworOjEwMUE2NTAwMjBGMDE5OTA3RkE2RTBGNTU5MTk4MDZBRUQyNDA0RjU1OAorOjEwMUE3NTAwODJFNDNDRjU4M0UwRkVBM0UwNjQwMjRFNzAwODkwN0ZBQgorOjEwMUE4NTAwQTVFMDQ0MjBGMDE5OTA3RkE2RTBGRkVEMjQwNkY1ODIzRAorOjEwMUE5NTAwRTQzQ0Y1ODNFNDc1RjAwMTEyQTI5Nzg1RjA4MkY1ODNBNQorOjEwMUFBNTAwRUZGMEVEMjQwNEY1ODJFNDNDRjU4Mzc0RkZGNUYwMTJDNAorOjEwMUFCNTAwQTI4MTgwMjI5MDdGQTVFMDQ0NDBGMDkwN0ZBNkUwRkZDMAorOjEwMUFDNTAwRUQyNDA2RjU4MkU0M0NGNTgzRTBGQUEzRTBGNTgyOEE4RAorOjEwMUFENTAwODNFRkYwN0YwODIyOTA3RkE1RTBGNTU5MzBFMEY3MzBERAorOjEwMUFFNTAwRTIwN0UwNDQ0MEYwN0YwNjIyRTlEMzk0MDI1MDAzMDI2NgorOjEwMUFGNTAwMTlDN0U1NTkzMEUxMDMwMjE5Qzc5MDdGQTVFMDQ0NDBCNQorOjA2MUIwNTAwRjA3RjA3MjI3RjA4QkIKKzowMTFCMEIwMDIyQjcKKzoxMDFCMEMwMEU1MzNDMzk0MDE1MDFDN0YwNTdFMDAxMjA5QUU3RjAyQTEKKzoxMDFCMUMwMDdERkYxMjgyRUE3RjA1N0UwMDEyMDlBRTdGMDM3REZGRjYKKzowNDFCMkMwMDEyODJFQTIyMTUKKzoxMDgwMDAwMDdCRkY3QTEyNzkxQjkwMDAwNDEyQTI1NEZEOEI1MDc1RUQKKzoxMDgwMTAwMDUxMTI3NTUyMjRFNDkwN0ZFMUYwOTA3RkUwRjBGNTRFMkMKKzoxMDgwMjAwMEY1NEY5MDAyQUVGMDkwN0ZERkYwOTA3RkRFRjA5MDdGMTIKKzoxMDgwMzAwMEE5NzRGRkYwOTA3RkFBRjBFNEZDRUMyNUUwMjRCNEY1RUQKKzoxMDgwNDAwMDgyRTQzNDdGRjU4M0U0RjAwQ0JDMTBFRUU0OTA3RkREMzUKKzoxMDgwNTAwMEYwQUYwNTFERUY3MDAzMDI4MUM2QUI1MEFBNTFBOTUyQzMKKzoxMDgwNjAwMDkwMDAwMTEyQTI1NDY0MDU2MDAzMDI4MUI1OTAwMDAzRTAKKzoxMDgwNzAwMDEyQTI1NDY0MDE2MDAzMDI4MTNDOTAwMDAyMTJBMjU0RDcKKzoxMDgwODAwMEZGNTQ3RkZDRDM5NDA3NTAwMzAyODExNkVDQzM5NDEwNzUKKzoxMDgwOTAwMDQwMDMwMjgxMTZFRjMwRTc0MkU1NEZBRTRFNzgwMkNFNDQKKzoxMDgwQTAwMEMzMTNDRTEzRDhGOUZGNzRGMDJDRjU4MkU0MzQ3RkY1QjYKKzoxMDgwQjAwMDgzRUZGMDkwN0ZFMEUwRkZFQzI0RjhGRTc0MDFBODA2NjcKKzoxMDgwQzAwMDA4ODAwMkMzMzNEOEZDNEY5MDdGRTBGMDkwMDJBRUUwMEUKKzoxMDgwRDAwMDA0RjA5MDdGRERFMDQ0ODBGMDgwM0VFNTRGQUU0RTc4QzYKKzoxMDgwRTAwMDAyQ0VDMzEzQ0UxM0Q4RjlGRjc0RTgyQ0Y1ODJFNDM0MjIKKzoxMDgwRjAwMDdGRjU4M0VGRjA5MDdGRTFFMEZGRUMyNEY4RkU3NDAxNjAKKzoxMDgxMDAwMEE4MDYwODgwMDJDMzMzRDhGQzRGOTA3RkUxRjA5MDAyQUMKKzoxMDgxMTAwMEFFRTAwNEYwODAwMzdGRkYyMjkwMDAwNDEyQTI1NDI1RjkKKzoxMDgxMjAwMDRGRjU0RkU0MzU0RUY1NEU5MDAwMDUxMkEyNTRGRUU0OTMKKzoxMDgxMzAwMDI1NEZGNTRGRUUzNTRFRjU0RTAyODFCOEFCNTBBQTUxQTIKKzoxMDgxNDAwMEE5NTI5MDAwMDMxMkEyNTRGRjY0MDI2MDA1RUY2NDAzNzkKKzoxMDgxNTAwMDcwNjA5MDAwMDIxMkEyNTRGRjU0N0ZGQ0QzOTQwNzUwMjkKKzoxMDgxNjAwMDRFRUYzMEU3MUU5MDdGREVFMEZGNzQwMUE4MDQwODgwMjgKKzoxMDgxNzAwMDAyQzMzM0Q4RkNGRTRGOTA3RkRFRjA5MDdGQUNFMDRFMjAKKzoxMDgxODAwMEYwODAzNTkwN0ZERkUwRkY3NDAxQTgwNDA4ODAwMkMzMEYKKzoxMDgxOTAwMDMzRDhGQ0ZFNEY5MDdGREZGMDkwN0ZBREUwNEVGMEVDRTcKKzoxMDgxQTAwMDI1RTAyNEM1RjU4MkU0MzQ3RkY1ODNFQ0YwODAwOTdGNzcKKzoxMDgxQjAwMEZGMjI3RkZGMjI3RkZGMjI3NDA3MjU1MkY1NTJFNDM1MEMKKzoxMDgxQzAwMDUxRjU1MTAyODA1MTIwMDMwRDkwMDJBRUUwNjAwNzkwRkUKKzowODgxRDAwMDdGQUVFMDQ0MDJGMDdGMDBFNQorOjAxODFEODAwMjI4NAorOjA0ODFEOTAwOEU1OThGNUFEMgorOjEwODFERDAwNzU1QjAzRTU1QTI0MDRGNTgyRTQzNTU5RjU4M0UwRkUxOQorOjEwODFFRDAwQTNFMDRFNzAwMzAyODJFN0U1NUI2MDRFMTQ2MDM4MTQyNQorOjEwODFGRDAwNjAyMDE0NjAwMzAyODI4QjkwN0ZBNUUwNDQ4MEYwODU5RgorOjEwODIwRDAwNUE4Mjg1NTk4M0EzRTBGRjI1RTA0NEEwOTA3RkE2RjAxNAorOjEwODIxRDAwODA2Qzg1NUE4Mjg1NTk4M0UwQzM5NDIwNDAwOUEzQTNCRAorOjEwODIyRDAwRTA5MDdGQTZGMDgwNTcxNTVCODU1QTgyODU1OTgzQTMxMAorOjEwODIzRDAwQTNFMEEzRTA5MDdGQTZGMDgwNDRFNTVBMjQwNkY1ODJFMgorOjEwODI0RDAwRTQzNTU5RjU4M0U0NzVGMDAxMTJBMjk3ODVGMDgyRjVCNgorOjEwODI1RDAwODNFMDkwN0ZBNkYwOTA3RkE1RTA0NDQwRjBFNTVBMjQ5RQorOjEwODI2RDAwMDRGNTgyRTQzNTU5RjU4Mzc0RkZGNUYwMTJBMjgxODU4QQorOjEwODI3RDAwNUE4Mjg1NTk4M0EzQTNFNDc1RjAwMTEyQTI4MTkwN0ZFMAorOjEwODI4RDAwQTVFMEY1NUMzMEUwRjczMEUyMDdFMDQ0NDBGMDdGMDYxMgorOjEwODI5RDAwMjJFNTVDMjBFMTBBOTA3RkE1RTA0NDQwRjA3RjA3MjJCMworOjEwODJBRDAwRTU1QjcwMzE3RjAxN0UwMDEyMDlBRTkwN0ZBNUUwNDQ0MQorOjEwODJCRDAwODBGMDg1NUE4Mjg1NTk4M0EzRTBGRjI1RTA0NEEwOTA4NAorOjEwODJDRDAwN0ZBNkYwOTA3RkE1RTBGNTVDMzBFMEY3MzBFMUQ1NzU0NQorOjBDODJERDAwNUIwMzAyODFFMDE1NUIwMjgxRTA3RjA4N0EKKzowMTgyRTkwMDIyNzIKKzowMjgyRUEwMEFFMDdERAorOjEwODJFQzAwN0MwMkVDMTQ2MDE1MTQ3MDFFOTA3RkE1RTA0NDgwRjBBNQorOjEwODJGQzAwRUUyNUUwNDQ0MDkwN0ZBNkYwODAwQzkwN0ZBNkVERjAzOAorOjEwODMwQzAwOTA3RkE1RTA0NDQwRjA5MDdGQTVFMEZCMzBFMEY4QkMwNgorOjEwODMxQzAwMDIwQTIwRTEwN0UwNDQ0MEYwN0YwNzIyRUIzMEUyMEEzQQorOjBFODMyQzAwOTA3RkE1RTA0NDQwRjA3RjA2MjJEQ0I2N0YwODdCCis6MDE4MzNBMDAyMjIwCis6MTA4MzNCMDBDMEUwQzA4M0MwODJDMkE5OTAwMzAwNzQxOUYwRDJBOTE3Cis6MEY4MzRCMDA1MzkxN0Y5MDAxQzRFNEYwRDA4MkQwODNEMEUwMzIxMAorOjEwODM1QTAwRUY3NUYwMDhBNDI0MDBGNTgyRTQzNDIwQUI4MkZBRjUyNAorOjEwODM2QTAwODNBM0U0RjA4QjgyOEE4M0EzQTNBM0UwRjU2MTc0QkY5RAorOjEwODM3QTAwRjA4QjgyOEE4M0EzQTNFMDQ0MTBGMDhCODI4QTgzQTNDMgorOjEwODM4QTAwQTNBM0U0RjA4QjgyOEE4M0EzRjBGOUVENjAxRDc0MDE0NAorOjEwODM5QTAwN0UwMEE4MDcwODgwMDVDMzMzQ0UzM0NFRDhGOUZGRTRBMAorOjEwODNBQTAwRUY1NTMxNjAwNDc5MDk4MDAyNzkwRDhCODI4QTgzQTNBMworOjEwODNCQTAwQTNBMzc0QkZGMDhCODI4QTgzQTNBM0UwNTRFRkYwOEI0QworOjEwODNDQTAwODI4QTgzQTNBM0EzRTU2MUYwQUUwMkFGMDM4RjgyOEVGNAorOjA0ODNEQTAwODNBM0U5RjBBMAorOjAxODNERTAwMjI3QworOjA0ODNERjAwOEY2MThENjJCQgorOjEwODNFMzAwRTRGNTY3NzQzRjJGRjg3NjA4N0Y4MDdFMjU3RDAwN0M1NworOjEwODNGMzAwMDBBQjY2QUE2NUE5NjRBODYzRDMxMkEzQjM0MDI2N0YyMgorOjEwODQwMzAwMDA3RTk2N0QwMDdDMDBBODYzRDMxMkEzQjM1MDBDNzU0NQorOjEwODQxMzAwNjc0MDc0M0YyNTYxRjg3NjEwODAwQTc1Njc4MDc0M0Y2MgorOjEwODQyMzAwMjU2MUY4NzYzOEU1Njc0NTYyNDQwMUZGRTU2MTc1RjAzQgorOjBEODQzMzAwMDhBNDI0MDJGNTgyRTQzNDIwRjU4M0VGRjA2NAorOjAxODQ0MDAwMjIxOQorOjEwODQ0MTAwOEY4MjhFODNFMDE0RjU1N0MzOTQwNDQwMDM3RkZGMjI4QgorOjEwODQ1MTAwRTU1Nzc1RjAwOEE0MjQwMEY1ODJFNDM0MjBBRjgyRjVENQorOjEwODQ2MTAwNTg4RjU5RTU1NzI1RTAyNEM2RjU4MkU0MzQ3RkY1ODMxQQorOjEwODQ3MTAwRTAyMEUxMEZFNTU3MjVFMDI0QzdGNTgyRTQzNDdGRjVEQworOjEwODQ4MTAwODNFNEYwNzQyMzI1NTdGOEU0RjZFNTU5MjQwNEY1ODJEMgorOjEwODQ5MTAwRTQzNTU4RjU4M0UwNDQwM0YwRTU1Nzc1RjAwREE0MjQ2NQorOjEwODRBMTAwMDJGNTgyRTQzNDAzRjU4M0UwRkNBM0UwRkRBM0UwRkVFMgorOjEwODRCMTAwQTNFMEY1NjY4RTY1OEQ2NDhDNjM3RDA2QUY1NzEyODNFQworOjEwODRDMTAwREZBRjU3N0QwMTEyODM1QTg1NTk4Mjg1NTg4M0EzQTM1MworOjEwODREMTAwRTAyMEUwNDNFMEZGRTU1OTI0MDVGNTgyRTQzNTU4RjU1NQorOjEwODRFMTAwODNFMEU1NTkyNDA2RjU4MkU0MzU1OEY1ODNFMEZGRTU5QworOjEwODRGMTAwNTc3NUYwMERBNDI0MDJGNTgyRTQzNDAzRjU4M0UwRkMwMgorOjEwODUwMTAwQTNFMEZEQTNFMEZFQTNFMEY1NjY4RTY1OEQ2NDhDNjNCOAorOjEwODUxMTAwN0QwNkFGNTcxMjgzREY3NEY4MjU1N0Y1ODJFNDM0MDJFNAorOjEwODUyMTAwRjU4M0U0RjBFNTU3MjVFMEZGQzM3NDBDOUY3NUYwNDAzNworOjEwODUzMTAwQTQyNDQwRjU4MkU1RjAzNDdCQUY4MkZFRTU1NzI1RTBDNworOjEwODU0MTAwMjRFRkY1ODJFNDM0MDJGNTgzRUVGMEEzRUZGMEFGNTdBOAorOjBGODU1MTAwNzQwMUE4MDcwODgwMDJDMzMzRDhGQzQyMzQ3RjAwQUUKKzowMTg1NjAwMDIyRjgKKzoxMDg1NjEwMDhGODI4RTgzRTAxNEY1NTdDMzk0MDQ0MDAzN0ZGRjIyNkEKKzoxMDg1NzEwMEFGNTdFNEZEMTI4MzVBNzRGODI1NTdGNTgyRTQzNDAyQUIKKzoxMDg1ODEwMEY1ODNFNEYwRTU1Nzc1RjAwOEE0MjQwMEY1ODJFNDM0OUUKKzoxMDg1OTEwMDIwQUY4MkY1NTk4RjVBRjU4M0U1ODIyNDA0RjU4MkU0RjAKKzoxMDg1QTEwMDM1ODNGNTgzRTA1NEZDRjBFNTU3NzVGMDBEQTQyNDBDRjgKKzoxMDg1QjEwMEY1ODJFNDM0MDNGNTgzRTRGMEU1NTc3NUYwMERBNDI0NjYKKzoxMDg1QzEwMDAyRjU4MkU0MzQwM0Y1ODNFMEZDQTNFMEZEQTNFMEZFQzEKKzoxMDg1RDEwMEEzRTBGNTY2OEU2NThENjQ4QzYzN0QwNkFGNTcxMjgzQ0IKKzoxMDg1RTEwMERGRTU1QTI0MDVGNTgyRTQzNTU5RjU4M0UwMzBFMDA5RTkKKzoxMDg1RjEwMDg1NUE4Mjg1NTk4M0UwRjU1OEFGNTc3NDAxQTgwNzA4NTkKKzoxMDg2MDEwMDgwMDJDMzMzRDhGQ0Y0NTIzNEU1NTcyNUUwMjRDNkY1ODMKKzoxMDg2MTEwMDgyRTQzNDdGRjU4M0UwMjBFMTBGRTU1NzI1RTAyNEM3QUMKKzowQjg2MjEwMEY1ODJFNDM0N0ZGNTgzRTRGMDdGMDA3NQorOjAxODYyQzAwMjIyQgorOjA0ODYyRDAwOEU1NzhGNTg3RAorOjEwODYzMTAwOEY4MjhFODNFMDE0RjU1OUMzOTQwNDQwMDM3RkZGMjI5NworOjEwODY0MTAwRTU1OTc1RjAwOEE0MjQwMUY1ODJFNDM0MjBGNTgzRTBBRQorOjEwODY1MTAwNTQwMzcwNjY4NTU4ODI4NTU3ODNBM0UwMzBFMDI4RTU4RQorOjEwODY2MTAwNTk3NUYwMERBNDI0MDJGNTgyRTQzNDAzRjU4M0UwRkM4RQorOjEwODY3MTAwQTNFMEZEQTNFMEZFQTNFMEY1NjY4RTY1OEQ2NDhDNjM0NworOjEwODY4MTAwN0QwMkFGNTkxMjgzREY4NTU4ODI4NTU3ODNBM0UwMzA3RAorOjEwODY5MTAwRTEyOEU1NTk3NUYwMERBNDI0MDJGNTgyRTQzNDAzRjVDRgorOjEwODZBMTAwODNFMEZDQTNFMEZEQTNFMEZFQTNFMEY1NjY4RTY1OEQwQgorOjBDODZCMTAwNjQ4QzYzN0QwNEFGNTkxMjgzREY3RjAwRUUKKzowMTg2QkQwMDIyOUEKKzoxMDg2QkUwMDhGODI4RTgzQzA4M0MwODJFMEZEQTNBM0EzRTBGQ0VENzYKKzoxMDg2Q0UwMDZDRDA4MkQwODNGMDhGODI4RTgzQTNBM0EzQzA4M0MwOEQKKzoxMDg2REUwMDgyRTBGRDhGODI4RTgzRTBGQ0VENkNEMDgyRDA4M0YwNDEKKzoxMDg2RUUwMDhGODI4RTgzQzA4M0MwODJBM0EzQTNFMEZERUM2REQwRTYKKzoxMDg2RkUwMDgyRDA4M0YwOEY4MjhFODNBM0MwODNDMDgyRTBGRDhGRjEKKzoxMDg3MEUwMDgyOEU4M0EzQTNFMEZDRUQ2Q0QwODJEMDgzRjA4RjgyQTcKKzoxMDg3MUUwMDhFODNBM0EzQzA4M0MwODJFMEZEOEY4MjhFODNBM0UwRUQKKzoxMDg3MkUwMEZDRUQ2Q0QwODJEMDgzRjA4RjgyOEU4M0EzQzA4M0MwODkKKzoxMDg3M0UwMDgyRTBGRDhGODI4RTgzQTNBM0UwRkZFRDZGRDA4MkQwMDcKKzowMzg3NEUwMDgzRjAyMjkzCis6MDQ4NzUxMDBBRDA3QUMwNkJFCis6MTA4NzU1MDA3OTBEOEQ4MjhDODNFMDE0RkVDMzk0MDQ0MDAzN0ZGRjYyCis6MTA4NzY1MDAyMjhDNTc4RDU4RUU3NUYwMERBNDI0MDFGNTgyRTQzNDYyCis6MTA4Nzc1MDAwM0FGODJGRUFEMDExOUVENjAyNDBGRUZBQzA2NzAwMTY5Cis6MTA4Nzg1MDAwRTE0RjU4MjhDODNFMEZEMDU1OEU1NThBQTU3NzAwMjUyCis6MTA4Nzk1MDAwNTU3MTRGNTgyOEE4M0UwNkQ2MEQ5N0YwMTIyN0YwMDM5Cis6MDE4N0E1MDAyMkIxCis6MDQ4N0E2MDA4RTU3OEY1ODAzCis6MTA4N0FBMDA4RjgyOEU4M0UwMTRGNTVFQzM5NDA0NDAwMzdGRkYyMjE4Cis6MTA4N0JBMDBFNTVFNzVGMDA4QTQyNDAwRjU4MkU0MzQyMEFGODJGNTYyCis6MTA4N0NBMDA1RjhGNjA4NTU4ODI4NTU3ODNBM0UwRkNBM0UwRkRBM0YxCis6MTA4N0RBMDBFMEZFQTNFMEZGN0IwODdBMDA3OTAwNzgwMEQzMTJBM0I5Cis6MTA4N0VBMDBCMzQwMTA4NTU4ODI4NTU3ODNBMzEyQTNGQTAwMDAwMDZDCis6MTA4N0ZBMDAwODgwMkU4NTU4ODI4NTU3ODNBM0UwRkNBM0UwRkRBMzU5Cis6MTA4ODBBMDBFMEZFQTNFMEZGN0IwMDdBMDg3OTA3NzgwMEMzMTJBMzkxCis6MTA4ODFBMDBCMzUwMEU4NTU4ODI4NTU3ODNBMzEyQTNGQTAwMDcwODFFCis6MTA4ODJBMDAwMDg1NTg4Mjg1NTc4M0EzRTBGOEEzRTBGOUEzRTBGQTBDCis6MTA4ODNBMDBBM0UwRkI3RjAwN0U1MDdENDY3QzAwMTJBMzIxOEY1QzYzCis6MTA4ODRBMDA4RTVCOEQ1QThDNTk3QjBBN0EwMDc5MDA3ODAwMTJBM0M0Cis6MTA4ODVBMDAyMUFGMDM4RjVEQUY1Q0FFNUJBRDVBQUM1OTdCMEE3QTMwCis6MTA4ODZBMDAwMDc5MDA3ODAwMTJBMzIxOEY1QzhFNUI4RDVBOEM1OTk3Cis6MTA4ODdBMDBFNTVEQzM5NDA1NDAxNUU1NUMyNDAxRjU1Q0U0MzU1QkQwCis6MTA4ODhBMDBGNTVCRTQzNTVBRjU1QUU0MzU1OUY1NTk4NTYwODI4NTIwCis6MTA4ODlBMDA1RjgzQTNFNEYwODU2MDgyODU1RjgzQTNBM0EzRTA0NDlBCis6MTA4OEFBMDA4MEYwODU2MDgyODU1RjgzRTU1Q0YwQUY1Q0FFNUJBRDhFCis6MTA4OEJBMDA1QUFDNTk3ODA4MTJBM0M0ODU2MDgyODU1RjgzQTNFRkY2Cis6MTA4OENBMDBGMDg1NjA4Mjg1NUY4M0EzQTNBM0UwNTQ3RkYwRTRGNTdCCis6MTA4OERBMDA1REU1NTgyNDBCRjU4MkU0MzU1N0Y1ODNFMEZGMzBFMDc3Cis6MTA4OEVBMDAyMzU0MDFGMEU1NjAyNDA0RjU4MkU0MzU1RkY1ODNFMDYyCis6MTA4OEZBMDA1NEZERjBBRjVFNzQwMUE4MDcwODgwMDJDMzMzRDhGQ0E4Cis6MTA4OTBBMDA0MjIyODAzNjc0MDE3RTAwQTg1RTA4ODAwNUMzMzNDRUY5Cis6MTA4OTFBMDAzM0NFRDhGOUZGRTRFRjU1MjI2MDFGRTU2MDI0MDRGNTUxCis6MTA4OTJBMDA4MkU0MzU1RkY1ODNFMDQ0MDJGMEFGNUU3NDAxQTgwNzg0Cis6MTA4OTNBMDAwODgwMDJDMzMzRDhGQ0Y0NTIyMkU1NTgyNDA4RjU4MjkxCis6MTA4OTRBMDBFNDM1NTdGNTgzRTBGRkI0NjIwNTQzNUQwQTgwMUFFRjA4Cis6MTA4OTVBMDBCNDcyMDU0MzVEMDg4MDExRUZCNDc0MDU0MzVEMDI4MDZCCis6MTA4OTZBMDAwOEVGNjQ2RTYwMDM3RkZGMjJFNTU4MjQwQkY1ODJFNDZBCis6MTA4OTdBMDAzNTU3RjU4M0UwRkYzMEUzMDM0MzVEODBFRjMwRTcxMkJDCis6MTA4OThBMDA0MzVENDBFNTYwMjQwNEY1ODJFNDM1NUZGNTgzRTA0NDA1Cis6MTA4OTlBMDAwMkYwRTU1ODI0MEJGNTgyRTQzNTU3RjU4M0UwMzBFMTFGCis6MTA4OUFBMDAyMEFGNUU3NDAxQTgwNzA4ODAwMkMzMzNEOEZDNDIzMkE0Cis6MTA4OUJBMDBFNTYwMjQwNEY1ODJFNDM1NUZGNTgzRTA0NDAxRjA4MDQ0Cis6MTA4OUNBMDAxMEFGNUU3NDAxQTgwNzA4ODAwMkMzMzNEOEZDRjQ1MkMyCis6MTA4OURBMDAzMkU1NTgyNDBCRjU4MkU0MzU1N0Y1ODNFMEZGMzBFNDlECis6MTA4OUVBMDAxMUFFNUU3NDAxQTgwNjA4ODAwMkMzMzNEOEZDNDIzMTc2Cis6MTA4OUZBMDA4MDEwQUU1RTc0MDFBODA2MDg4MDAyQzMzM0Q4RkNGNDY2Cis6MTA4QTBBMDA1MjMxRUYyMEUxMDMzMEU0MDNFNEY1NUQ4NTYwODI4NUFECis6MTA4QTFBMDA1RjgzQTNBM0EzNzRCRkYwODU2MDgyODU1RjgzQTNBMzRBCis6MTA4QTJBMDBFNEYwRTU1REYwRTU1ODI0MEFGNTgyRTQzNTU3RjU4MzZDCis6MTA4QTNBMDBFMEZGRTU2MDI0MDRGNTgyRTQzNTVGRjU4M0VGRjBFNUI1Cis6MTA4QTRBMDA1ODI0MEFGNTgyRTQzNTU3RjU4M0UwRkZFNTYwMjQwNUVBCis6MTA4QTVBMDBGNTgyRTQzNTVGRjU4M0VGRjBFNTU4MjQwOUY1ODJFNDAxCis6MTA4QTZBMDAzNTU3RjU4M0UwRkZFNTYwMjQwNkY1ODJFNDM1NUZGNUM2Cis6MTA4QTdBMDA4M0VGRjBFNTU4MjQwOUY1ODJFNDM1NTdGNTgzRTBGRkUyCis6MTA4QThBMDBFNTYwMjQwN0Y1ODJFNDM1NUZGNTgzRUZGMDg1NjA4MkJGCis6MTA4QTlBMDA4NTVGODNBM0EzQTNFNEYwODU2MDgyODU1RjgzQTNBMzk0Cis6MTA4QUFBMDBGMDg1NTg4Mjg1NTc4M0EzRTBGQ0EzRTBGREEzRTBGRThFCis6MTA4QUJBMDBBM0UwRjU2NjhFNjU4RDY0OEM2MzdEMDZBRjVFMTI4M0Q2Cis6MTA4QUNBMDBERjc1NUQwOEU1NTgyNDBDRjU4MkU0MzU1N0Y1ODNFMDM3Cis6MTA4QURBMDA2MDAzNDM1RDEwRTU2MDI0MDRGNTgyRTQzNTVGRjU4M0E1Cis6MTA4QUVBMDBFMDU0MDM0NTVERjBFNTU4MjQwNUY1ODJFNDM1NTdGNTcxCis6MTA4QUZBMDA4M0UwRkVDMzk0MDU0MDA2RUVEMzk0MDg0MDAzN0ZGRjRCCis6MTA4QjBBMDAyMkU1NTgyNDA2RjU4MkU0MzU1N0Y1ODNFMEZEQzM5NDNGCis6MTA4QjFBMDAwMTQwMDZFREQzOTQwMjQwMDM3RkZGMjJFRDE0RkYyNUE2Cis6MTA4QjJBMDBFMDI1RTBGRkVFMjRGQjRGRjU1REU1NTgyNDA3RjU4MkNBCis6MTA4QjNBMDBFNDM1NTdGNTgzRTAyNEQwNjAxODE0NjAxQTI0QzM2MDIyCis6MTA4QjRBMDAxRTE0NjAwOTI0MEE3MDE0NDM1RDE4ODAxMjQzNUQwOERDCis6MTA4QjVBMDA4MDBENDM1RDM4ODAwODQzNUQyODgwMDM3RkZGMjI4NUFFCis6MTA4QjZBMDA2MDgyODU1RjgzQTNBM0EzRTU1REYwNzQwMTdFMDBBOEZDCis6MTA4QjdBMDA1RTA4ODAwNUMzMzNDRTMzQ0VEOEY5RkZFNEVGNTUzNDBGCis6MTA4QjhBMDA2MDA3QUY1RTdEMDExMjgzNUFBQTU3QTk1ODdCMDFDMEJDCis6MTA4QjlBMDAwM0MwMDFFNTVFNzVGMDBEQTQyNDAxRjk3NDAzMzVGMEY0Cis6MTA4QkFBMDBBODAxRkNBRDAzRDAwMUQwMDM3RTAwN0YwRDEyQTIxMkYyCis6MDI4QkJBMDA3RjAwM0EKKzowMThCQkMwMDIyOTYKKzoxMDhCQkQwMDhGODI4RTgzRTAxNEZFQzM5NDA0NDAwMzdGRkYyMkVFNjgKKzoxMDhCQ0QwMDc1RjAwOEE0MjQwMEY1ODJFNDM0MjBBRDgyRkM5MDAxRjgKKzoxMDhCREQwMDJDNzQwOEYwRUUwNEEzRjBFNEEzRjA4RDgyOEM4M0U1RjEKKzoxMDhCRUQwMDgyMjQwNkY1ODJFNDM1ODNGNTgzRTA5MDAxMkZGMDhEMjQKKzoxMDhCRkQwMDgyOEM4M0U1ODIyNDA1RjU4MkU0MzU4M0Y1ODNFMDU0ODgKKzoxMDhDMEQwMDFFOTAwMTMwRjA3NDJEMkVGOEU2QTNGMEFGMDY3NDAxMUUKKzoxMDhDMUQwMEE4MDcwODgwMDJDMzMzRDhGQ0Y1NTdFNTMzQzM5NDAxODgKKzoxMDhDMkQwMDQwMEQ5MDIwNzhFMDU0MEY3NTU4MDBGNTU5ODAwOTdGNUMKKzoxMDhDM0QwMDAyMTIxMTI3OEU1ODhGNTlDM0U1NTg2NDgwOTQ4MDQwRDUKKzoxMDhDNEQwMERBRTU1NzU1NTk5MDAxMzJGMDdFMDE3RjJDN0QwNzEyRTAKKzowNDhDNUQwMDkxNkE3RjAwOTkKKzowMThDNjEwMDIyRjAKKzoxMDhDNjIwMDhGODI4RTgzRTAxNEZFQzM5NDA0NDAwMzdGRkYyMkVFQzIKKzoxMDhDNzIwMDc1RjAwOEE0MjQwMEY1ODJFNDM0MjBBRjgyRkU5MDAxNEUKKzoxMDhDODIwMDMzNzQwQUYwOEY4MjhFODNFNTgyMjQwNEY1ODJFNDM1MDAKKzoxMDhDOTIwMDgzRjU4M0UwOTAwMTM0RjA3RTAxN0YzMzdEMDIxMjkxRUYKKzowMzhDQTIwMDZBN0YwMEU2Cis6MDE4Q0E1MDAyMkFDCis6MDQ4Q0E2MDA4RTU3OEY1OEZFCis6MTA4Q0FBMDA4RjgyOEU4M0UwMTRGRUMzOTQwNDQwMDM3RkZGMjJFRTdBCis6MTA4Q0JBMDA3NUYwMDhBNDI0MDBGNTgyRTQzNDIwQUQ4MkZDODU1OEJFCis6MTA4Q0NBMDA4Mjg1NTc4M0EzRTA2MDBGRUQyNDA0RjU4MkU0M0NGNTI2Cis6MTA4Q0RBMDA4M0UwNDQwMkYwODA0M0VFNzVGMDBEQTQyNDBDRjU4MjgzCis6MTA4Q0VBMDBFNDM0MDNGNTgzRTAzMEUwMjBFRTI1RTAyNEM2RjU4MjgzCis6MTA4Q0ZBMDBFNDM0N0ZGNTgzRTAzMEUxRjA3RjYwRUQyNDA1RjU4MjBFCis6MTA4RDBBMDBFNDNDRjU4M0UwNUZCNTA3RjJBRTA0QUYwNUVGMjQwNDU3Cis6MEM4RDFBMDBGNTgyRTQzRUY1ODNFMDU0RkRGMDdGMDA5QworOjAxOEQyNjAwMjIyQQorOjA0OEQyNzAwQUQwN0FDMDZFMgorOjEwOEQyQjAwOEQ4MjhDODNFMDE0RkVDMzk0MDQ0MDAzN0ZGRjIyRUVGQworOjEwOEQzQjAwNzVGMDA4QTQyNDAwRjU4MkU0MzQyMEFGODJGRThEODIwNgorOjEwOEQ0QjAwOEM4M0EzRTA2MDBGRUYyNDA0RjU4MkU0M0VGNTgzRTAwRgorOjEwOEQ1QjAwNDQwMUYwODAwREVGMjQwNEY1ODJFNDNFRjU4M0UwNTRFQQorOjA0OEQ2QjAwRkVGMDdGMDA5NworOjAxOEQ2RjAwMjJFMQorOjA0OEQ3MDAwQUQwN0FDMDY5OQorOjEwOEQ3NDAwOEQ4MjhDODNFMDE0RkVDMzk0MDQ0MDAzN0ZGRjIyRUVCMworOjEwOEQ4NDAwNzVGMDA4QTQyNDAwRjU4MkU0MzQyMEFGODJGRThEODJCRAorOjEwOEQ5NDAwOEM4M0EzRTA2MDBEOEY4MjhFODNBM0EzQTNFMDQ0NDA2MQorOjEwOERBNDAwRjA4MDBCOEY4MjhFODNBM0EzQTNFMDU0QkZGMDdGMDBENworOjAxOERCNDAwMjI5QworOjEwOERCNTAwOEY4MjhFODNFMDE0RkVDMzk0MDQ0MDAzN0ZGRjIyQUZBRAorOjEwOERDNTAwMDY3NDAxQTgwNzA4ODAwMkMzMzNEOEZDNDIzRTdGMDAyMQorOjAxOERENTAwMjI3QgorOjA0OERENjAwOEU1NzhGNThDRAorOjEwOEREQTAwOEY4MjhFODNBM0UwRjU1QzhGODI4RTgzRTBGNTU5RDM3MAorOjEwOERFQTAwOTQwNDQwMDM3RkZGMjJFNTU5MjRGRTYwMTYxNDYwMUY5NQorOjEwOERGQTAwMTQ2MDI4MjQwMzcwMkU3RTdFN0Y4MDc1NUE3RTc1NUJGMAorOjEwOEUwQTAwODA4MDIyN0U3RTdGMDA3NTVBN0U3NTVCMDA4MDE2N0U4QQorOjEwOEUxQTAwN0Q3RjgwNzU1QTdENzU1QjgwODAwQTdFN0Q3RjAwNzVCNworOjEwOEUyQTAwNUE3RDc1NUIwMEU1NUM3MDFCODU1QjgyODU1QTgzNzQ4RAorOjEwOEUzQTAwRkZGMEU1NTkyNUUwMjRCNUY1ODJFNDM0N0ZGNTgzNzQyMworOjEwOEU0QTAwMDFGMDgwNDhFNTU4MjQwMkZGRTQzNTU3RkVFNTVDNjBFRQorOjEwOEU1QTAwMjMwRkVGQUMwNjcwMDEwRTE0RjU4MjhDODNFMEZEMDUzQQorOjEwOEU2QTAwNUJFNTVCQUE1QTcwMDIwNTVBMTRGNTgyOEE4M0VERjAxMworOjEwOEU3QTAwMTU1QzgwRDk4NTU4ODI4NTU3ODNBM0UwRkZFNTU5MjU3QgorOjBFOEU4QTAwRTAyNEI1RjU4MkU0MzQ3RkY1ODNFRkYwN0YwMDNECis6MDE4RTk4MDAyMkI3Cis6MTA4RTk5MDBFRjI0MDVGNTU4RTQzRUY1NTc5MDAxMzU3NDA3RjA5MDM1Cis6MTA4RUE5MDAwMTdBNzQwMUYwQTM3NDM2RjA4NTU4ODI4NTU3ODNBMzNCCis6MTA4RUI5MDBBM0EzRTBGRUEzRTA4RTU5RjU1QTg1NTg4Mjg1NTc4MzBFCis6MTA4RUM5MDBFMDI0OUU2MDYxMjRGOTYwMEUyNEYxNzAwMzAyOEY3QTE4Cis6MTA4RUQ5MDAyNDE0NjAwMzAyOEZDODg1NTg4Mjg1NTc4M0EzRTBGRTU2Cis6MTA4RUU5MDBBM0UwRkZDM0U0OUZGNTVDNzQwMTlFRjU1QkQzRTU1Q0U5Cis6MTA4RUY5MDA5NDNGRTU1Qjk0MDA0MDA2NzU1QjAwNzU1QzNGRDNFNUU0Cis6MTA4RjA5MDA1QTk1NUNFNTU5OTU1QjUwMDMwMjhGQ0JBRTVCQUY1QzFDCis6MTA4RjE5MDA4NTU4ODI4NTU3ODNBM0EzQTNFRUYwRkVBM0VGRjA4RUI1Cis6MTA4RjI5MDA1OUY1NUEwMjhGQ0I4NTU4ODI4NTU3ODNBM0UwRkVBMzUyCis6MTA4RjM5MDBFMEZGQzM3NDMwOUZGNTVDRTQ5RUY1NUJEM0U1NUM5NDc4Cis6MTA4RjQ5MDAxMEU1NUI5NDAwNDAwNjc1NUIwMDc1NUMxMEQzRTU1QTJCCis6MTA4RjU5MDA5NTVDRTU1OTk1NUI0MDZBQUU1QkFGNUM4NTU4ODI4NTQ3Cis6MTA4RjY5MDA1NzgzQTNBM0EzRUVGMEZFQTNFRkYwOEU1OUY1NUE4MDIxCis6MTA4Rjc5MDA1MTg1NTg4Mjg1NTc4M0EzRTBGRUEzRTBGRkMzRTQ5RjkwCis6MTA4Rjg5MDBGNTVDRTQ5RUY1NUI0NTVDNjAwQkQzRTU1Qzk0M0ZFNURECis6MTA4Rjk5MDA1Qjk0MDA0MDA2NzU1QjAwNzU1QzNGRDNFNTVBOTU1Q0IwCis6MTA4RkE5MDBFNTU5OTU1QjQwMUNBRTVCQUY1Qzg1NTg4Mjg1NTc4MzVDCis6MTA4RkI5MDBBM0EzQTNFRUYwRkVBM0VGRjA4RTU5RjU1QTgwMDM3RjI5Cis6MTA4RkM5MDAwMTIyODU1ODgyODU1NzgzRTAyNDlFNzAwMzAyOTA4Qjg1Cis6MTA4RkQ5MDAyNEY5NjA1ODI0RjE3MDAzMDI5MERCMjQxNDYwMDMwMjIxCis6MTA4RkU5MDA5MTFGODU1ODgyODU1NzgzQTNFMEZFQTNFMEZGRDM5NEEwCis6MTA4RkY5MDBGRkVFOTQwMDQwMDMwMjkxMUY5MDAxNzVFRkYwRTU1QUNFCis6MTA5MDA5MDAxNTVBQUU1OTcwMDIxNTU5NEU3MDAzMDI5MTFGOTAwMUZECis6MTA5MDE5MDA3NUUwRkYwNEYwQTgwN0U2RkY5MDAxN0FFNDc1RjAwMTE2Cis6MTA5MDI5MDAxMkEyOTc4NUYwODJGNTgzRUZGMDgwRDI4NTU4ODI4NTY4Cis6MTA5MDM5MDA1NzgzQTNFMEZFQTNFMEZGQzM5NDgwRUU5NDAwNTAwMzlFCis6MTA5MDQ5MDAwMjkxMUZEM0VGOTRGRkVFOTQwMDQwMDMwMjkxMUY5MDA5Cis6MTA5MDU5MDAwMTc2RUZGMEU1NUExNTVBQUU1OTcwMDIxNTU5NEU3MDVFCis6MTA5MDY5MDAwMzAyOTExRjkwMDE3NkUwRkYwNEYwQTgwN0U2RkY5MDQ0Cis6MTA5MDc5MDAwMTdBRTQ3NUYwMDExMkEyOTc4NUYwODJGNTgzRUZGMDg5Cis6MTA5MDg5MDA4MEQyODU1ODgyODU1NzgzQTNFMEZFQTNFMEZGQzM5NDZECis6MTA5MDk5MDAyMEVFOTQwMDUwMDMwMjkxMUZEM0VGOTQyRkVFOTQwMDE5Cis6MTA5MEE5MDA1MDc0OTAwMTc3RUZGMEU1NUExNTVBQUU1OTcwMDIxNUQwCis6MTA5MEI5MDA1OTRFNjA2MjkwMDE3N0UwRkYwNEYwQTgwN0U2RkY5MDNGCis6MTA5MEM5MDAwMTdBRTQ3NUYwMDExMkEyOTc4NUYwODJGNTgzRUZGMDM5Cis6MTA5MEQ5MDA4MEQ1ODU1ODgyODU1NzgzQTNFMEZGQTNFMDkwMDE3ODY2Cis6MTA5MEU5MDBDRkYwQTNFRkYwRTU1QTE1NUFBRTU5NzAwMjE1NTk0RTUzCis6MTA5MEY5MDA2MDI0OTAwMTc4RTQ3NUYwMDExMkEyOTc4NUYwODJGNTU5Cis6MTA5MTA5MDA4M0UwRkY5MDAxN0FFNDc1RjAwMTEyQTI5Nzg1RjA4MjVECis6MTA5MTE5MDBGNTgzRUZGMDgwQ0Y3RTAxN0YzNTg1NTg4Mjg1NTc4M0FGCis6MEQ5MTI5MDBBM0EzQTNFMEEzRTAwNEZEMTI5MTZBN0YwMDYwCis6MDE5MTM2MDAyMjE2Cis6MTA5MTM3MDA4RTYyOEY2MzhDNjQ4RDY1QUYwMzFCRUY2MDI0MDU2M0JDCis6MTA5MTQ3MDBFNTYzQUU2MjcwMDIwNTYyMTRGNTgyOEU4M0UwRkYwNTY3Cis6MTA5MTU3MDA2NUU1NjVBQzY0NzAwMjA1NjQxNEY1ODI4QzgzRUZGMEY1Cis6MDM5MTY3MDA4MEQ2MjI4RAorOjA2OTE2QTAwOEQ1REFCMDdBQTA2QjMKKzoxMDkxNzAwMDc1NjE0MDc1NjAwRDc1NUYwMzc1NUUwMDkwN0ZDMkUwOUMKKzoxMDkxODAwMDIwRTFGOUFGNjFBRTYwQUQ1RkFDNUVFQzRENEU0RjcwNkIKKzoxMDkxOTAwMDA4OTA3RkMyNzQwMkYwODBENzkwN0ZDMkUwMjBFMTE2NzEKKzoxMDkxQTAwMEFGMDNBRTAyN0M3QjdEODBBQjVEMTI5MTM3OTA3RkMzQjUKKzowODkxQjAwMEU1NURGMDdGMDEyMjdGMDA2NAorOjAxOTFCODAwMjI5NAorOjEwOTFCOTAwOTAwMTg0NzQwQkYwQTNFNTMzRjA5MDBBRjVFNDkzOTBFMQorOjEwOTFDOTAwMDE4NkYwOTAwQUY2RTQ5MzkwMDE4N0YwRTQ5MDAxN0MxRgorOjEwOTFEOTAwRjBBM0YwQTNGMEEzRjBBM0YwQTM3NDEwRjBBMzc0MDExQgorOjEwOTFFOTAwRjBBMzc0ODhGMDdFMDE3RjdDMTIxOUMxN0UwMTdGODQwRgorOjA3OTFGOTAwN0QxNDEyOTE2QTdGMDA1MgorOjAxOTIwMDAwMjI0QgorOjEwOTIwMTAwN0U3QjdGNDA3NTRFN0I3NTRGNDA5MDdGRDNFMEZGODUxRAorOjEwOTIxMTAwNEU1MTg1NEY1MkU1NTIyNDAxRjU1NkU0MzU1MUY1NTUyRAorOjEwOTIyMTAwRTRGNTUwODU1MjgyODU1MTgzRTBGRTE0QjQwQzAwNTA2MAorOjEwOTIzMTAwNUI5MDkyMzlGODI4Mjg3MzAyOTI1RDAyOTI1RDAyOTI0NgorOjEwOTI0MTAwNjcwMjkyNzEwMjkyNzEwMjkyNzEwMjkyODUwMjkyNUQ5RAorOjEwOTI1MTAwMDI5MjdCMDI5MjVEMDI5MjhEMDI5MjVERUY2NDAyNjA0NgorOjEwOTI2MTAwMkI3NTUwRkY4MDI2RUY2NDBFNjAyMTc1NTBGRjgwMUMyNgorOjEwOTI3MTAwRUY2NDAzNjAxNzc1NTBGRjgwMTJFRjY0MDM2MDBENzU5MgorOjEwOTI4MTAwNTBGRjgwMDhFRjY0MDY2MDAzNzU1MEZGRTU1MDYwMTVEQworOjEwOTI5MTAwOTAwMTk4NzQxMUYwQTNFRUYwN0UwMTdGOTg3RDAyMTI4NworOjEwOTJBMTAwOTE2QUFGNTAyMkU0RjU1MDg1NTI4Mjg1NTE4M0UwMTREMgorOjEwOTJCMTAwQjQwRjAwNDAwMzAyOTNDRjkwOTJDMEY4MjgyODczMDJBNAorOjEwOTJDMTAwOTJFRDAyOTJGOTAyOTMwNTAyOTM1MzAyOTM1RTAyOTM4NworOjEwOTJEMTAwNjkwMjkzNzQwMjkzN0YwMjkzOEEwMjkzOTUwMjkzQTA4OQorOjEwOTJFMTAwMDI5M0E3MDI5M0NGMDI5M0IyMDI5M0JEQUY1NkFFNTUzQworOjEwOTJGMTAwMTI4NDQxOEY1MDAyOTNEMkFGNTZBRTU1MTI4NTYxOEZDMQorOjEwOTMwMTAwNTAwMjkzRDI4NTU1NTM4NTU2NTRFNTU0MjQwMUZGRTQwOAorOjEwOTMxMTAwMzU1M0ZFMTI4NkJFQUY1NEFFNTMxMjg3NTE4RjUwRUZCNAorOjEwOTMyMTAwNjQwMTYwMDMwMjkzRDJBRjU0QUU1MzEyODdBNjhGNTBFQgorOjEwOTMzMTAwRTU1MDcwMDMwMjkzRDI4NTU0ODI4NTUzODNFMDc1RjAyMgorOjEwOTM0MTAwMERBNDI0RjRGNTgyRTQzNDAyQUY4MkZFMTI4N0E2MDI1MgorOjEwOTM1MTAwOTNEMkFGNTZBRTU1MTI4Q0E2OEY1MDgwNzRBRjU2QUVENQorOjEwOTM2MTAwNTUxMjhEMjc4RjUwODA2OUFGNTZBRTU1MTI4RDcwOEY3MworOjEwOTM3MTAwNTA4MDVFQUY0RkFFNEUxMjhFOTk4RjUwODA1M0FGNTZENAorOjEwOTM4MTAwQUU1NTEyOEJCRDhGNTA4MDQ4QUY1NkFFNTUxMjg2MkQwQgorOjEwOTM5MTAwOEY1MDgwM0RBRjU2QUU1NTEyOEM2MjhGNTA4MDMyMTI4NQorOjEwOTNBMTAwOTFCOThGNTA4MDJCQUY1NkFFNTUxMjhEQjU4RjUwODAyRAorOjEwOTNCMTAwMjBBRjU2QUU1NTEyOERENjhGNTA4MDE1QUY0RkFFNEVBMQorOjEwOTNDMTAwN0MwMjdEQUY3QjQwMTI5MTM3RTRGNTUwODAwMzc1NTBFQworOjEwOTNEMTAwRkZFNTUwNjAxRDkwMDE5ODc0MTFGMDg1NTI4Mjg1NTEwRQorOjEwOTNFMTAwODNFMDkwMDE5OUYwN0UwMTdGOTg3RDAyMTI5MTZBQUYyRQorOjEwOTNGMTAwNTAyMjg1NTI4Mjg1NTE4M0UwRkYxNDI0RkE1MDA0MjRCRgorOjEwOTQwMTAwRkU3MDFGOTAwMTk4NzQxMEYwQTNFRkYwODU1NjgyODVDRAorOjEwOTQxMTAwNTU4M0UwOTAwMTlBRjA3RTAxN0Y5ODdEMDMxMjkxNkE1NQorOjA0OTQyMTAwOEY1MEFGNTA2OQorOjAxOTQyNTAwMjIyNAorOjA4OTQyNjAwOEY1MThFNTA4RDRGOEM0RUNBCis6MTA5NDJFMDA3NTU4MDE3NTU5OUNFNEY1NTdBRjUzMTU1M0VGNzAwM0ZBCis6MTA5NDNFMDAwMjk0QzRBRjUyRTRGQ0ZERkVGOEY5RkFBQjA3QUY1MTRCCis6MTA5NDRFMDBBRTUwQUQ0RkFDNEUxMkEzMjFBRjAzOEY1NkFGNTFBRUZGCis6MTA5NDVFMDA1MEFENEZBQzRFQzAwNEMwMDVDMDA2QzAwN0FGNTJFNEJECis6MTA5NDZFMDBGQ0ZERkVGOEY5RkFBQjA3RDAwN0QwMDZEMDA1RDAwNDA0Cis6MTA5NDdFMDAxMkEzMjE4RjUxOEU1MDhENEY4QzRFRTU1NjI0MzBGNTEwCis6MTA5NDhFMDA1NkQzOTQzOTQwMDY3NDA3MjU1NkY1NTYwNTU5RTU1OUI1Cis6MTA5NDlFMDBBRTU4NzAwMjA1NTgxNEY1ODI4RTgzRTRGMDA1NTlFNTM2Cis6MTA5NEFFMDA1OUFFNTg3MDAyMDU1ODE0RjU4MjhFODNFNTU2RjAwNUI0Cis6MTA5NEJFMDA1NzA1NTcwMjk0MzdFNTU5MTU1OTcwMDIxNTU4QUY1NzhECis6MTA5NENFMDAxNTU3RUY2MDIzRTU1OTE1NTlBRTU4NzAwMjE1NThGNTJBCis6MTA5NERFMDA4MjhFODNFMEZGMDU1NUU1NTVBQzU0NzAwMjA1NTQxNDk5Cis6MDg5NEVFMDBGNTgyOEM4M0VGRjA4MEQ2QkIKKzowMTk0RjYwMDIyNTMKKzoxMDk0RjcwMEU0OTAwMUM5RjA3RTAxN0ZDQTkwMDFCRUVFRjBBM0VGQjAKKzowQTk1MDcwMEYwOTAwMUMyRUVGMEEzRUZGMDIyOTUKKzoxMDk1MTEwMEFBMDdBOTA1OTAwMUM5RTBDMzk0NDA1MDYxQUMwMjc0NDcKKzoxMDk1MjEwMDAxN0UwMEE4MDQwODgwMDVDMzMzQ0UzM0NFRDhGOUZGRUQKKzoxMDk1MzEwMEU0RUY1NTM0NjA0NUVBMDRGRjkwMDFDMkUwRkNBM0UwOEEKKzoxMDk1NDEwMEZERjU4MjhDODNFRkYwQTNFOUYwOEQ4MjhDODNBM0EzRDgKKzoxMDk1NTEwMEVCRjA5MDAxQzJFNDc1RjAwMzEyQTI4MUZDRDNFNUYwQjcKKzoxMDk1NjEwMDk0ODdFQzk0MDI0MDBBOTAwMUMyNzQwMUYwQTM3NENBN0EKKzoxMDk1NzEwMEYwQzJBRjkwMDFDOUUwMDRGMEQyQUY3RjAxMjI3RjAwQjkKKzowMTk1ODEwMDIyQzcKKzoxMDk1ODIwMDkwMDFDOUUwRDM5NDAwNDA1NTkwMDFCRUUwRkNBM0UwRjUKKzoxMDk1OTIwMEFBMDRGOTdCMDFDMDAzQzAwMkMwMDFBQTA2QTkwN0E4NTgKKzoxMDk1QTIwMDAxQUMwMkFEMDNEMDAxRDAwMkQwMDM3RTAwN0YwMzEyRDIKKzoxMDk1QjIwMEEyMTI5MDAxQkVFNDc1RjAwMzEyQTI4MUZDRDNFNUYwODEKKzoxMDk1QzIwMDk0ODdFQzk0MDI0MDBBOTAwMUJFNzQwMUYwQTM3NENBMUQKKzoxMDk1RDIwMEYwQzJBRjkwMDFDOUUwMTRGMEQyQUY3RjAxMjI3RjAwNDgKKzowMTk1RTIwMDIyNjYKKzoxMDk1RTMwMDkwN0ZDMkUwMjBFMTczN0U3QjdGODA3NTUzN0I3NTU0NEYKKzoxMDk1RjMwMDgwRTU1NDI0MDFGRkU0MzU1M0E5MDc3QjAxOEI1NUY1MUUKKzoxMDk2MDMwMDU2ODk1N0ZFMTI5NTgyRUY2MDUwQUI1NUFBNTZBOTU3NUIKKzoxMDk2MTMwMDEyQTIzQjE0RkY5MDAwMDExMkEyNTRCNDAyMTZDMkFGNkYKKzoxMDk2MjMwMEVGNzVGMDA4QTQyNDAxRjU4MkU0MzQyMEY1ODNFMDQ0QzcKKzoxMDk2MzMwMDA0RjBEMkFGNzQwMTdFMDBBODA3MDg4MDA1QzMzM0NFQkYKKzoxMDk2NDMwMDMzQ0VEOEY5RkZFNEVGNTUzNDYwMEY4NTU0ODI4NTUzNDgKKzowQTk2NTMwMDgzNzQwREYwOTA3RkMzNzQwNEYwREYKKzowMTk2NUQwMDIyRUEKKzoxMDk2NUUwMDEyOTVFM0U0RjU0RTc0M0EyNTRFRjhFNjU0RjBGNTRGQzQKKzoxMDk2NkUwMDc0QzUyNTRFRjU4MkU0MzQwMUY1ODNFMDY1NEZGRkM0RTEKKzoxMDk2N0UwMDU0MEZGNTUwNjAyMjc0QzUyNTRFRjU4MkU0MzQwMUY1ODEKKzoxMDk2OEUwMDgzRTU0RkYwQUY0RTdEMDFFNTRGNDU1MEZCMTI5NTExMkUKKzoxMDk2OUUwMEVGNzAwNTEyOTVFMzgwRUMwNTRFRTU0RUMzOTQwNDQwNDEKKzoxMDk2QUUwMEI1MTI5NUUzRTUzRTYwNDhFNEY1NEVBRjRFNzQwMUE4NjEKKzoxMDk2QkUwMDA3MDg4MDAyQzMzM0Q4RkNGNTRGNTUzRTYwMjlFNTRFQUUKKzoxMDk2Q0UwMDc1RjAwOEE0MjQwNUY1ODJFNDM0MjBGNTgzRTAzMEU2MzUKKzoxMDk2REUwMDE2QUY0RTdEMDQ3QjgwMTI5NTExRUY3MDA1MTI5NUUzNDcKKzoxMDk2RUUwMDgwRUZFNTRGRjQ1MjNFMDU0RUU1NEVDMzk0MDQ0MEJCNjkKKzoxMDk2RkUwMDkwMDMwMEUwNjAwMzAyOTdERjc0MTlGMEU1MzNDMzk0MjIKKzoxMDk3MEUwMDAxNDAwRDkwMjA3OEUwNTQwRjc1NTEwMEY1NTI4MDA5RkMKKzoxMDk3MUUwMDdGMDIxMjExMjc4RTUxOEY1MkMzRTU1MTY0ODA5NDgwQkYKKzoxMDk3MkUwMDQwREE5MDAxQkNFMDY1NTJGMDYwMzdFNEY1NEVBRjRFODIKKzoxMDk3M0UwMDc0MDFBODA3MDg4MDAyQzMzM0Q4RkNGNTRGOTAwMUJDMTIKKzoxMDk3NEUwMEUwNTU0RjYwMTRBRjRFN0QwOEU1NEY1NTUyRkIxMjk1MTQKKzoxMDk3NUUwMDExRUY3MDA1MTI5NUUzODBFQzA1NEVFNTRFQzM5NDA0QUYKKzoxMDk3NkUwMDQwQ0M5MDAxQkNFNTUyRjBFNEY1NEVDMkFGNzQzNjI1MDQKKzoxMDk3N0UwMDRFRjhFNkY1NEZFNEY2RDJBRjUzNEYxRUU1NEY2MDExQUIKKzoxMDk3OEUwMEFGNEU3RDAyQUI0RjEyOTUxMUVGNzAwNTEyOTVFMzgwMkYKKzoxMDk3OUUwMEVGNzQyRDI1NEVGOEU2RjU0Rjc0RkMyNTRFRjU4MkU0NTgKKzoxMDk3QUUwMDM0MDJGNTgzRTA2NTRGNjAxMUFGNEU3RDA0QUI0RjEyNkUKKzoxMDk3QkUwMDk1MTFFRjcwMDUxMjk1RTM4MEVGNzRGQzI1NEVGNTgyM0UKKzoxMDk3Q0UwMEU0MzQwMkY1ODNFNTRGRjAwNTRFRTU0RUMzOTQwNDQwQjQKKzowNDk3REUwMDlBMTI5NUUzNjMKKzowMTk3RTIwMDIyNjQKKzowQzk3RTMwMDc4N0ZFNEY2RDhGRDc1ODE2NzAyOTgyQUIzCis6MTA5N0VGMDAwMjA1QURFNDkzQTNGOEU0OTNBMzQwMDNGNjgwMDFGMkRFCis6MTA5N0ZGMDAwOERGRjQ4MDI5RTQ5M0EzRjg1NDA3MjQwQ0M4QzMzMzdCCis6MTA5ODBGMDBDNDU0MEY0NDIwQzg4MzQwMDRGNDU2ODAwMTQ2RjZERjQ5Cis6MTA5ODFGMDBFNDgwMEIwMTAyMDQwODEwMjA0MDgwOTA5ODZGRTQ3RUQyCis6MTA5ODJGMDAwMTkzNjBCQ0EzRkY1NDNGMzBFNTA5NTQxRkZFRTQ5MzNFCis6MTA5ODNGMDBBMzYwMDEwRUNGNTRDMDI1RTA2MEE4NDBCOEU0OTNBMzA1Cis6MTA5ODRGMDBGQUU0OTNBM0Y4RTQ5M0EzQzhDNTgyQzhDQUM1ODNDQTMwCis6MTA5ODVGMDBGMEEzQzhDNTgyQzhDQUM1ODNDQURGRTlERUU3ODBCRUU4Cis6MTA5ODZGMDA2MDI0MDI4QTAxMDIwNDA4MTAyMDQwODA4MTgyODQ4OENCCis6MTA5ODdGMDA5MEEwQzBDMUMyQzRDOEQwRTBFMUUyRTRFOEYwRjFGMkM4Cis6MDg5ODhGMDBGNEY4RjlGQUZDRkRGRUZGRkMKKzowMTk4OTcwMDAwRDAKKzowODk4OTgwMDhCNTk4QTVBODk1QjhENUMzMworOjEwOThBMDAwRTRGNTVERjU1RUFGNUMxNTVDRUY2MDM2QUI1OTA1NUJDQQorOjEwOThCMDAwRTU1QkFBNUE3MDAyMDU1QTE0RjkxMkEyM0JGRkU1NUQ1NgorOjEwOThDMDAwRTU1RTZGMjVFMEZGRTQzM0ZFNzQ5NTJGRjU4MkVFMzRGQworOjEwOThEMDAwOUVGNTgzRTU1REZGRTQ5M0Y1NUQ3NDAxOTM2RkY1NUU5RQorOjA2OThFMDAwODBDM0FFNURBRjVFMjcKKzowMTk4RTYwMDIyNUYKKzowQjk4RTcwMEMwRTBDMDgzQzA4MkMwRDA3NUQwMTg2NAorOjEwOThGMjAwOTAyMDYwRTA1NDBGRkUzMEUwMDU5MDIwMDJFMEZGRUU4MQorOjEwOTkwMjAwMzBFMTA1OTAyMDBBRTBGRkVFMzBFMjA1OTAyMDEyRTBGRgorOjEwOTkxMjAwRkZFRTMwRTMwNTkwMjAxQUUwRkY5MDAxQzRFMEI1MUU4RgorOjBBOTkyMjAwMDRFNEYwODAwNTkwMDFDNEVFRjBBQgorOjA5OTkyQzAwRDBEMEQwODJEMDgzRDBFMDMyMEIKKzowMjk5MzUwMEE5MDM4NAorOjEwOTkzNzAwRUY3NUYwMDhBNDI0MDBGNTgyRTQzNDIwQUI4MkZBRTU0MQorOjEwOTk0NzAwNUM0NTVERjU1RUU5NjAxNDhBODNFNTgyMjQwNEY1ODI0RgorOjEwOTk1NzAwRTQzNTgzRjU4M0UwNERGMEU0RkU4MDEzRUIyNDA0RjU1MgorOjEwOTk2NzAwODJFNDNBRjU4M0UwRkZFREY0RkNFRjVDRjBBRTVFRUJFQQorOjEwOTk3NzAwMjQwNkY1ODJFNDNBRjU4M0UwNTU1RUZDQjUwNjAzQUZBRAorOjEwOTk4NzAwMDUyMkU1NUM1Q0ZFRTU1RDVDRkRFOTYwMTZFRTcwMDRCMgorOjEwOTk5NzAwN0YwMTgwMDI3RjAwQUUwN0VENzAwNDdGMDE4MDAyN0ZBOAorOjEwOTlBNzAwMDBBRDA3RUU2MDAzQUY1QzIyRUQ2MDAzQUY1RDIyN0Y4MQorOjAxOTlCNzAwMDBBRgorOjAxOTlCODAwMjI4QworOjEwOTlCOTAwNzU1NTAyNzU1NkIwOTAwMzM1NzQwRkYwODU1NjgyODUzQQorOjEwOTlDOTAwNTU4M0EzRTBGRjkwMDMzN0YwODU1NjgyODU1NTgzRTBFMAorOjEwOTlEOTAwOTAwMzM2RjA5MDAzMzg3NEZGRjA3NTU3MDM3NTU4MzlDMgorOjEwOTlFOTAwRUYxNEI0MEIwMDQwMDMwMjlFNUQ5MDk5RkFGODI4MjgwMQorOjEwOTlGOTAwNzMwMjlBMUIwMjlBQkEwMjlCQkYwMjlCREUwMjlCREU4QworOjEwOUEwOTAwMDI5Qzk0MDI5Q0NGMDI5Q0Y0MDI5REIyMDI5REUyMDI0OAorOjEwOUExOTAwOUUwRUU0RjU0RUU1NEU3NUYwMDhBNDI0MDBGNTgyRTRBNworOjEwOUEyOTAwMzQyMEFGODJGNTUzOEY1NEU0RkZFNEZFRUY2MDEwNzRFNQorOjEwOUEzOTAwOEEyRUY1ODJFNDM0MDJGNTgzRTBGNEY1NEY4MDBENzQ0MworOjEwOUE0OTAwOEEyRUY1ODJFNDM0MDJGNTgzRTBGNTRGRTU1NDI0MDdDNAorOjEwOUE1OTAwRjU4MkU0MzU1M0Y1ODNFNTRGRjBFMEY1NTA2NTRGNjA0NQorOjEwOUE2OTAwMzhFNDkwMDMzOEYwRTU0RTA0RkQwNTU4RTU1OEFBNTc0NworOjEwOUE3OTAwNzAwMjA1NTcxNEY1ODI4QTgzRURGMDA1NThFNTU4QUM1NAorOjEwOUE4OTAwNTc3MDAyMDU1NzE0RjU4MjhDODNFNTRGRjA4NTU4ODI4QgorOjEwOUE5OTAwODU1NzgzRTU1MEYwMDI5RTYzMEVCRTI0OEYwRkVGNjQ1NQorOjEwOUFBOTAwMDI3MDg3MDU0RUU1NEU2NDA0NjAwMzAyOUExRTAyOUUwOQorOjEwOUFCOTAwNjNFNEY1NEVBRjRFRTRGRDEyODM1QTA1NEVFNTRFRDNFRAorOjEwOUFDOTAwOTQwMzQwRjA5MDAwMDQ3NDk4RjBBMzc0RTdGMEU0RjU2RgorOjEwOUFEOTAwNTA3RTIwN0YwMDc1NTMyMDc1NTQwMEY1NEVBRjRFNzRBQgorOjEwOUFFOTAwMDFBODA3MDg4MDAyQzMzM0Q4RkNGNTRGOTAwMUM0RjBFMAorOjEwOUFGOTAwOTAwMUMwRTRGMEEzNzQwQUYwODU1NDgyODU1MzgzQTNDRQorOjEwOUIwOTAwNzQwMkYwOTAwMUM0RTBCNTRGMzQ5MDAxQzBFMDcwMDJENgorOjEwOUIxOTAwQTNFMDcwRUY5MDAzMzhGMEU1NEUwNEZGMDU1OEU1NThDRgorOjEwOUIyOTAwQUM1NzcwMDIwNTU3MTRGNTgyOEM4M0VGRjA4NTU4ODI4MworOjEwOUIzOTAwODU1NzgzNzRGRkYwRTQ5MDAxQzRGMDc1NTBGRjkwMDFEQworOjEwOUI0OTAwQzRFMEZGNjAzN0U0OTAwMzM4RjBFNTRFMDRGRTA1NThBMQorOjEwOUI1OTAwRTU1OEFDNTc3MDAyMDU1NzE0RjU4MjhDODNFRUYwMDU3MQorOjEwOUI2OTAwNThFNTU4QUM1NzcwMDIwNTU3MTRGNTgyOEM4M0VGRjAwRAorOjEwOUI3OTAwODU1ODgyODU1NzgzRTU0RkYwNzU1MEZGRTU1MDcwMTY3QgorOjEwOUI4OTAwNzQwODI1NTRGNTU0RTQzNTUzRjU1MzA1NEVFNTRFNjRGMAorOjEwOUI5OTAwMDQ2MDAzMDI5QUU2RTRGNTRFQUY0RTdEMDExMjgzNUE0MgorOjEwOUJBOTAwMDU0RUU1NEVEMzk0MDM0MEYwOTAwMDA0NzQxM0YwQTNERQorOjEwOUJCOTAwNzQxMkYwMDI5RTYzODU1NjgyODU1NTgzRTAxNEZGNzQwMgorOjEwOUJDOTAwMDFBODA3MDg4MDAyQzMzM0Q4RkM5MDAyRjdGMDkwMDE3RQorOjEwOUJEOTAwQzRGMDAyOUU2MzkwMDFDMDc0MDNGMEEzNzRFOEYwRTQzQQorOjEwOUJFOTAwRjU1MDkwMDJGN0UwRkY5MDAxQzRFMEI1MDcxOTkwMDEyNAorOjEwOUJGOTAwQzBFMDcwMDJBM0UwNzBFQTkwMDMzOEYwODU1ODgyODVDRQorOjEwOUMwOTAwNTc4Mzc0RkZGMEY1NTBFNTUwNjAwMzAyOUU2MzkwMDE5RAorOjEwOUMxOTAwQzBGMEEzNzQ5NkYwOTAwMUMwRTA3MDAyQTNFMDcwRjY2MgorOjEwOUMyOTAwRTUzM0MzOTQwMTQwMEQ5MDIwNzhFMDU0MEY3NTUxMDAzRAorOjEwOUMzOTAwRjU1MjgwMDk3RjAyMTIxMTI3OEU1MThGNTJDM0U1NTFDNworOjEwOUM0OTAwNjQ4MDk0ODA0MERBRTU1MjU0MEZGNTUwOTAwMkY3RTBCMQorOjEwOUM1OTAwNTU1MDcwMDQ3RjAxODAwMjdGMDA4RjRGODU1NjgyODVBMQorOjEwOUM2OTAwNTU4M0EzRTBCNDA1MENFNTRGNzAwNDdGMDE4MDAyN0ZBMgorOjEwOUM3OTAwMDA4RjRGRTU0RjcwMDMwMjlFNjNFNDkwMDMzOEYwODUyRgorOjEwOUM4OTAwNTg4Mjg1NTc4M0U1NTBGMDAyOUU2M0U0RkZGRDEyODNGNQorOjEwOUM5OTAwNUE3RTIwN0YwMDc1NTMyMDc1NTQwMDg1NTQ4Mjg1NTM2MAorOjEwOUNBOTAwODNBM0EzQTNFMDQ0ODBGMDg1NTQ4Mjg1NTM4Mzc0MDE4MAorOjEwOUNCOTAwRjBBM0U0RjA4NTU0ODI4NTUzODNBM0EzQTNFMDU0N0ZFMgorOjEwOUNDOTAwRjBEMjA0MDI5RTYzQzIwNDdFMjA3RjAwNzU1MzIwNzU4MgorOjEwOUNEOTAwNTQwMEU1NTQyNDA1RjU4MkU0MzU1M0Y1ODNFMDMwRTY3NAorOjEwOUNFOTAwRjFFNEZGN0QwMTEyODM1QTAyOUU2M0U0RjU1MEY1NEVCQgorOjEwOUNGOTAwQUY0RUU0RkQxMjgzNUFFNTRFNzVGMDA4QTQyNDAwRjUzMQorOjEwOUQwOTAwODJFNDM0MjBBRjgyRjU1MzhGNTRGNTgzRTU4MjI0MDQyRAorOjEwOUQxOTAwRjU4MkU0MzU4M0Y1ODNFMDU0RkNGMEFGNEU3RDAxN0I5OQorOjEwOUQyOTAwMDE3NTVDODA3NTVENDAxMjk5MzU4RjUwRTU1MDcwMTE1MQorOjEwOUQzOTAwQUY0RTdEMDI3QjAxNzU1QzEwNzU1RDIwMTI5OTM1OEZFMAorOjEwOUQ0OTAwNTBFNTUwNzAxMEFGNEU3RDAxRkI3NTVDODA3NTVENDAyQworOjEwOUQ1OTAwMTI5OTM1OEY1MEU1NTA3MDEwQUY0RTdEMDJGQjc1NUMzRQorOjEwOUQ2OTAwMTA3NTVEMjAxMjk5MzU4RjUwQUY0RTdEMDExMjgzNUFCRgorOjEwOUQ3OTAwRTU1MDYwMjZFNDkwMDMzOEYwRTU0RTA0RkYwNTU4RTUwOAorOjEwOUQ4OTAwNThBQzU3NzAwMjA1NTcxNEY1ODI4QzgzRUZGMDg1NTg0QgorOjEwOUQ5OTAwODI4NTU3ODNFNTUwRjAwMjlFNjMwNTRFRTU0RUQzOTRDNAorOjEwOURBOTAwMDM1MDAzMDI5Q0Y5MDI5RTYzRTQ5MDAzNTlGMEEzRjA2NworOjEwOURCOTAwQTNGMEEzRjBBM0YwQTM3NDEwRjBBMzc0OUVGMEEzNzQwRQorOjEwOURDOTAwODVGMDdFMDM3RjU5MTI4MUQ5RUY2NDA4NzAwMzAyOUVFMgorOjEwOUREOTAwNjNFNDkwMDMzOEYwMDI5RTYzRTQ5MDAzNTlGMEEzRjAyMgorOjEwOURFOTAwQTNGMEEzRjBBM0YwQTM3NDEwRjBBM0U1NTdGMEEzRTU0MworOjEwOURGOTAwNThGMDdFMDM3RjU5MTIxOUMxRUY2NDA4NjA1Q0U0OTA0MgorOjEwOUUwOTAwMDMzOEYwODA1NUU1NTYyNDAyRkZFNDM1NTVGQUE5MDdEMQorOjEwOUUxOTAwN0IwMTdEMTAxMjk4OThFRjRFNzAzMjkwMDM1OUYwQTM5MAorOjEwOUUyOTAwRjBBM0YwQTNGMEEzRjBBMzc0MTBGMEU1NTYyNDAyOTA3OAorOjEwOUUzOTAwMDM2MEYwRTQzNTU1OTAwMzVGRjA3RTAzN0Y1OTEyODE4QQorOjEwOUU0OTAwRDlFRjY0MDg2MDE0RTQ5MDAzMzhGMDgwMERFNDkwMDNCRQorOjEwOUU1OTAwMzhGMDgwMDY5MDAzMzg3NDAxRjA5MDAxQzBFNEYwQTM1MworOjEwOUU2OTAwNzQwQUYwOTAwMUMwRTA3MDAyQTNFMDcwRjY3RTAzN0ZFRgorOjBCOUU3OTAwMzU3RDI0MTI5MTZBRTQ5MDAyQUZGMEU2Cis6MDE5RTg0MDAyMkJCCis6MTA5RTg1MDBGRkZFRkNGOEYwRTBDMDgwMDAwMTAzMDcwRjFGM0Y3RkQ1Cis6MTA5RTk1MDAwMDAwQzBDMUMxODEwMTQwQzMwMTAzQzAwMjgwQzI0MUFECis6MTA5RUE1MDBDNjAxMDZDMDA3ODBDNzQxMDUwMEM1QzFDNDgxMDQ0MDdECis6MTA5RUI1MDBDQzAxMENDMDBEODBDRDQxMEYwMENGQzFDRTgxMEU0MDJECis6MTA5RUM1MDAwQTAwQ0FDMUNCODEwQjQwQzkwMTA5QzAwODgwQzg0MTNECis6MTA5RUQ1MDBEODAxMThDMDE5ODBEOTQxMUIwMERCQzFEQTgxMUE0MEFECis6MTA5RUU1MDAxRTAwREVDMURGODExRjQwREQwMTFEQzAxQzgwREM0MTdECis6MTA5RUY1MDAxNDAwRDRDMUQ1ODExNTQwRDcwMTE3QzAxNjgwRDY0MUFECis6MTA5RjA1MDBEMjAxMTJDMDEzODBEMzQxMTEwMEQxQzFEMDgxMTA0MEJDCis6MTA5RjE1MDBGMDAxMzBDMDMxODBGMTQxMzMwMEYzQzFGMjgxMzI0MEFDCis6MTA5RjI1MDAzNjAwRjZDMUY3ODEzNzQwRjUwMTM1QzAzNDgwRjQ0MTdDCis6MTA5RjM1MDAzQzAwRkNDMUZEODEzRDQwRkYwMTNGQzAzRTgwRkU0MTJDCis6MTA5RjQ1MDBGQTAxM0FDMDNCODBGQjQxMzkwMEY5QzFGODgxMzg0MDNDCis6MTA5RjU1MDAyODAwRThDMUU5ODEyOTQwRUIwMTJCQzAyQTgwRUE0MUFDCis6MTA5RjY1MDBFRTAxMkVDMDJGODBFRjQxMkQwMEVEQzFFQzgxMkM0MDdDCis6MTA5Rjc1MDBFNDAxMjRDMDI1ODBFNTQxMjcwMEU3QzFFNjgxMjY0MEFDCis6MTA5Rjg1MDAyMjAwRTJDMUUzODEyMzQwRTEwMTIxQzAyMDgwRTA0MUJDCis6MTA5Rjk1MDBBMDAxNjBDMDYxODBBMTQxNjMwMEEzQzFBMjgxNjI0MEFDCis6MTA5RkE1MDA2NjAwQTZDMUE3ODE2NzQwQTUwMTY1QzA2NDgwQTQ0MTdDCis6MTA5RkI1MDA2QzAwQUNDMUFEODE2RDQwQUYwMTZGQzA2RTgwQUU0MTJDCis6MTA5RkM1MDBBQTAxNkFDMDZCODBBQjQxNjkwMEE5QzFBODgxNjg0MDNDCis6MTA5RkQ1MDA3ODAwQjhDMUI5ODE3OTQwQkIwMTdCQzA3QTgwQkE0MUFDCis6MTA5RkU1MDBCRTAxN0VDMDdGODBCRjQxN0QwMEJEQzFCQzgxN0M0MDdDCis6MTA5RkY1MDBCNDAxNzRDMDc1ODBCNTQxNzcwMEI3QzFCNjgxNzY0MEFDCis6MTBBMDA1MDA3MjAwQjJDMUIzODE3MzQwQjEwMTcxQzA3MDgwQjA0MUJCCis6MTBBMDE1MDA1MDAwOTBDMTkxODE1MTQwOTMwMTUzQzA1MjgwOTI0MUFCCis6MTBBMDI1MDA5NjAxNTZDMDU3ODA5NzQxNTUwMDk1QzE5NDgxNTQ0MDdCCis6MTBBMDM1MDA5QzAxNUNDMDVEODA5RDQxNUYwMDlGQzE5RTgxNUU0MDJCCis6MTBBMDQ1MDA1QTAwOUFDMTlCODE1QjQwOTkwMTU5QzA1ODgwOTg0MTNCCis6MTBBMDU1MDA4ODAxNDhDMDQ5ODA4OTQxNEIwMDhCQzE4QTgxNEE0MEFCCis6MTBBMDY1MDA0RTAwOEVDMThGODE0RjQwOEQwMTREQzA0QzgwOEM0MTdCCis6MTBBMDc1MDA0NDAwODRDMTg1ODE0NTQwODcwMTQ3QzA0NjgwODY0MUFCCis6MTBBMDg1MDA4MjAxNDJDMDQzODA4MzQxNDEwMDgxQzE4MDgxNDA0MEJCCis6MTBBMDk1MDBFNEZGNzRGODJGRjU4MkU0MzQwMkY1ODNFMDcwMDMwMkRGCis6MTBBMEE1MDBBMTM4NzQzQTJGRjhFNjIwRTUwMzAyQTEzOEVGNzVGMEUwCis6MTBBMEI1MDAwOEE0MjQwMEY1ODJFNDM0MjBBRDgyRkNGNTgzRTU4MjEyCis6MTBBMEM1MDAyNDA1RjU4MkU0MzU4M0Y1ODNFMDU0NjA2NDYwNzA2M0FDCis6MTBBMEQ1MDBFRjI1RTAyNEVGRjU4MkU0MzQwMkY1ODNFNDc1RjAwMTIxCis6MTBBMEU1MDAxMkEyOTc4NUYwODJGNTgzRTA4RDgyOEM4M0YwNzRGODU3Cis6MTBBMEY1MDAyRkY1ODJFNDM0MDJGNTgzRTAxNEYwNzAzNkVGMjVFMEE1Cis6MTBBMTA1MDAyNEM3RjU4MkU0MzQ3RkY1ODNFNEYwRUYyNUUwRkVDMzUwCis6MTBBMTE1MDA3NDBDOUU3NUYwNDBBNDI0NDBGNTgyRTVGMDM0N0JBREM3Cis6MTBBMTI1MDA4MkZDRUYyNUUwMjRFRkY1ODJFNDM0MDJGNTgzRUNGMEMwCis6MENBMTM1MDBBM0VERjAwRkVGNjQwNDYwMDMwMkEwOTc5QworOjAxQTE0MTAwMjJGQgorOjEwQTE0MjAwRTcwOUY2MDhERkZBODA0NkU3MDlGMjA4REZGQTgwM0VGRgorOjEwQTE1MjAwODg4MjhDODNFNzA5RjBBM0RGRkE4MDMyRTMwOUY2MDhFQworOjEwQTE2MjAwREZGQTgwNzhFMzA5RjIwOERGRkE4MDcwODg4MjhDODM1NAorOjEwQTE3MjAwRTMwOUYwQTNERkZBODA2NDg5ODI4QTgzRTBBM0Y2MDgwOAorOjEwQTE4MjAwREZGQTgwNTg4OTgyOEE4M0UwQTNGMjA4REZGQTgwNENFMgorOjEwQTE5MjAwODBEMjgwRkE4MEM2ODBENDgwNjk4MEYyODAzMzgwMTBCOQorOjEwQTFBMjAwODBBNjgwRUE4MDlBODBBODgwREE4MEUyODBDQTgwMzMyMgorOjEwQTFCMjAwODk4MjhBODNFQ0ZBRTQ5M0EzQzhDNTgyQzhDQ0M1ODM5QQorOjEwQTFDMjAwQ0NGMEEzQzhDNTgyQzhDQ0M1ODNDQ0RGRTlERUU3ODA2QQorOjEwQTFEMjAwMEQ4OTgyOEE4M0U0OTNBM0Y2MDhERkY5RUNGQUE5RjBFOQorOjEwQTFFMjAwRURGQjIyODk4MjhBODNFQ0ZBRTBBM0M4QzU4MkM4Q0MzRgorOjEwQTFGMjAwQzU4M0NDRjBBM0M4QzU4MkM4Q0NDNTgzQ0NERkVBREU1OAorOjEwQTIwMjAwRTg4MERCODk4MjhBODNFNDkzQTNGMjA4REZGOTgwQ0NCOQorOjEwQTIxMjAwODhGMEVEMjQwMkI0MDQwMDUwQzJGNTgyRUIyNDAyQjRBQgorOjEwQTIyMjAwMDQwMDUwQjgyMzIzNDU4MkY1ODJFRjRFNjBBRUVGNjAwMgorOjA5QTIzMjAwMDEwRUU1ODIyMzkwQTE5MjczNTQKKzoxMEEyM0IwMEJCMDEwNjg5ODI4QTgzRTAyMjUwMDJFNzIyQkJGRTAyMjEKKzowOUEyNEIwMEUzMjI4OTgyOEE4M0U0OTMyMjU0Cis6MTBBMjU0MDBCQjAxMENFNTgyMjlGNTgyRTU4MzNBRjU4M0UwMjI1MEJGCis6MTBBMjY0MDAwNkU5MjU4MkY4RTYyMkJCRkUwNkU5MjU4MkY4RTIyMjA5Cis6MERBMjc0MDBFNTgyMjlGNTgyRTU4MzNBRjU4M0U0OTMyMjIzCis6MTBBMjgxMDBDNUYwRjhBM0UwMjhGMEM1RjBGOEU1ODIxNTgyNzAwMjY4Cis6MDZBMjkxMDAxNTgzRTAzOEYwMjIwNQorOjEwQTI5NzAwQTNGOEUwQzVGMDI1RjBGMEU1ODIxNTgyNzAwMjE1ODM3QQorOjA2QTJBNzAwRTBDODM4RjBFODIyRDcKKzoxMEEyQUQwMEJCMDExMEU1ODIyOUY1ODJFNTgzM0FGNTgzRTBGNUYwRUYKKzoxMEEyQkQwMEEzRTAyMjUwMDlFOTI1ODJGODg2RjAwOEU2MjJCQkZFQ0MKKzoxMEEyQ0QwMDBBRTkyNTgyRjhFMkY1RjAwOEUyMjJFNTgzMkFGNTgzMTIKKzowOEEyREQwMEU5OTNGNUYwQTNFOTkzMjJENworOjEwQTJFNTAwNzVGMDA4NzU4MjAwRUYyRkZGRUUzM0ZFQ0QzM0NEQ0MzMAorOjEwQTJGNTAwMzNDQ0M1ODIzM0M1ODI5QkVEOUFFQzk5RTU4Mjk4NDBCMworOjEwQTMwNTAwMENGNTgyRUU5QkZFRUQ5QUZERUM5OUZDMEZENUYwRDY4RgorOjEwQTMxNTAwRTRDRUZCRTRDREZBRTRDQ0Y5QTg4MjIyQjgwMEMxQjlCOQorOjEwQTMyNTAwMDA1OUJBMDAyREVDOEJGMDg0Q0ZDRUNERkNFNUYwQ0JGNworOjEwQTMzNTAwRjk3ODE4RUYyRkZGRUUzM0ZFRUQzM0ZERUMzM0ZDRUIzMAorOjEwQTM0NTAwMzNGQjEwRDcwMzk5NDAwNEVCOTlGQjBGRDhFNUU0RjlFQgorOjEwQTM1NTAwRkEyMjc4MThFRjJGRkZFRTMzRkVFRDMzRkRFQzMzRkNEOAorOjEwQTM2NTAwQzkzM0M5MTBENzA1OUJFOTlBNDAwN0VDOUJGQ0U5OUFDQworOjEwQTM3NTAwRjkwRkQ4RTBFNEM5RkFFNENDRkIyMjc1RjAxMEVGMkYxMQorOjEwQTM4NTAwRkZFRTMzRkVFRDMzRkRDQzMzQ0NDODMzQzgxMEQ3MDcxMQorOjEwQTM5NTAwOUJFQzlBRTg5OTQwMEFFRDlCRkRFQzlBRkNFODk5Rjg0QworOjBFQTNBNTAwMEZENUYwREFFNENERkJFNENDRkFFNEM4RjkyMkRGCis6MTBBM0IzMDBFQjlGRjVGMEVBOUU0MkYwRTk5RDQyRjBFODlDNDVGMDAwCis6MDFBM0MzMDAyMjc3Cis6MTBBM0M0MDBFODYwMEZFQ0MzMTNGQ0VEMTNGREVFMTNGRUVGMTNGRjc3Cis6MDNBM0Q0MDBEOEYxMjI5QgorOjEwQTNENzAwMDgwODA4RTZDRjJGRjYxOEU2Q0UzRUY2MThFNkNEM0Q3QworOjA3QTNFNzAwRjYxOEU2Q0MzQ0Y2MjI1QgorOjBDQTNFRTAwRUNGMEEzRURGMEEzRUVGMEEzRUZGMDIyRTIKKzoxMEEzRkEwMEE4ODI4NTgzRjBEMDgzRDA4MjEyQTQxMTEyQTQxMTEyRUMKKzoxMEE0MEEwMEE0MTExMkE0MTFFNDczRTQ5M0EzQzU4M0M1RjBDNTgzMTAKKzoxMEE0MUEwMEM4QzU4MkM4RjBBM0M1ODNDNUYwQzU4M0M4QzU4MkM4QUMKKzowMUE0MkEwMDIyMEYKKzowMDAwMDAwMUZGCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCisgKiAgICAgIHdoaXRlaGVhdC5oICAtLSAgQ29ubmVjdFRlY2ggV2hpdGVIRUFUIEZpcm13YXJlLgorICoKKyAqICAgICAgQ29weXJpZ2h0IChDKSAyMDAwLTIwMDIgIENvbm5lY3RUZWNoIEluYyAoaHR0cDovL3d3dy5jb25uZWN0dGVjaC5jb20vKQorICoKKyAqICAgICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqICAgICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAqICAgICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyAqICAgICAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiAgICAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogICAgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogICAgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiAgICAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogICAgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogICAgICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogICAgICBGb3VuZGF0aW9uLCBJbmMuLCA2NzUgTWFzcyBBdmUsIENhbWJyaWRnZSwgTUEgMDIxMzksIFVTQS4KKyAqCisgKiAoMTAvMDkvMjAwMikgU3R1YXJ0IE1hY0RvbmFsZAorICoJRmlybXdhcmUgNC4wNgorICoKKyAqICgwNC8wOS8yMDAwKSBna2gKKyAqCVVwZGF0ZWQgdGhlIGZpcm13YXJlIHdpdGggdGhlIGxhdGVzdCBwcm92aWRlZCBieSBDb25uZWN0VGVjaC4KKyAqCisgKiAoMDEvMTYvMjAwMCkgZ2toCisgKglGaXhlZCBteSBpbnRlbCBoZXggcHJvY2Vzc2luZyB0b29sLCBzbyBub3cgdGhlIGZpcm13YXJlIGFjdHVhbGx5CisgKgltYXRjaGVzIHRoZSBvcmlnaW5hbCBmaWxlICh0aGlzIHdhcyBjYXVzaW5nIGEgZmV3IHByb2JsZW1zLi4uKQorICoKKyAqICgwMS8xNS8yMDAwKSBna2gKKyAqCUFkZGVkIGRlYnVnIGxvYWRlciBmaXJtd2FyZSBpZiBERUJVRyBpcyAjZGVmaW5lZDoKKyAqCQlQb3J0IDEgTEVEIGZsYXNoZXMgd2hlbiB0aGUgdmVuZF9heCBwcm9ncmFtIGlzIHJ1bm5pbmcKKyAqCQlQb3J0IDIgTEVEIGZsYXNoZXMgd2hlbiBhbnkgU0VUVVAgY29tbWFuZCBhcnJpdmVzCisgKgkJUG9ydCAzIExFRCBmbGFzaGVzIHdoZW4gYW55IHZhbGlkIFZFTkRPUiByZXF1ZXN0IG9jY3VycworICoJCVBvcnQgNCBMRUQgZmxhc2hlcyB3aGVuIHRoZSBFWFRFUk5BTCBSQU0gRE9XTkxPQUQgcmVxdWVzdCBvY2N1cnMKKyAqCisgKiB2ZXJzaW9uIDEuMCAoMDEvMDkvMjAwMCkgZ2toCisgKglPcmlnaW5hbCBmaXJtd2FyZSBmcm9tIENvbm5lY3RUZWNoIG1hc3NhZ2VkIGEgbGl0dGxlIHRvIGJlIHByb2dyYW0KKyAqCXJlYWRhYmxlLgorICoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2RlZmluZSB3aGl0ZWhlYXRfREFURSAiMjAwMDAxMDYiCmRpZmYgLS1naXQgYS9maXJtd2FyZS93aGl0ZWhlYXRfbG9hZGVyLkhFWCBiL2Zpcm13YXJlL3doaXRlaGVhdF9sb2FkZXIuSEVYCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVmNjYzZjYKLS0tIC9kZXYvbnVsbAorKysgYi9maXJtd2FyZS93aGl0ZWhlYXRfbG9hZGVyLkhFWApAQCAtMCwwICsxLDMxNCBAQAorOjAzMDAwMDAwMDIwOThENjUKKzowMzAwMzMwMDAyMDhGQkM1Cis6MDMwMDQzMDAwMjBCMDBBRAorOjAzMDA0QjAwMDIwNUFBMDEKKzoxMDAxMDAwMDkwN0ZBNUUwNTQxMEZGQzQ1NDBGNDQ1MEY1MEYxM0U0NDIKKzoxMDAxMTAwMDMzRjUxMTkwN0ZFOUUwMjQ1RUI0MDcwMDQwMDMwMjAzNDkKKzoxMDAxMjAwMDc4OTAwMTI4RjgyODI4NzMwMjAxQkMwMjAxQkMwMjAxNjIKKzoxMDAxMzAwMDkxMDIwMTNEMDIwMTUzMDIwMTZGMDIwMTlBOTA3RjAwN0EKKzoxMDAxNDAwMEU1MTFGMDkwN0ZCNTc0MDFGMDkwN0ZCNEUwNDQwMkYwQzcKKzoxMDAxNTAwMDAyMDM3ODkwN0Y5MkUwRkZDNDU0MEY5MDdGMDBGMDkwRUMKKzoxMDAxNjAwMDdGQjU3NDAxRjA5MDdGQjRFMDQ0MDJGMDAyMDM3ODEyOEUKKzoxMDAxNzAwMDBBODk1MDA3RTQ5MDdGMDBGMDgwMDY5MDdGMDA3NDBGOUEKKzoxMDAxODAwMEYwOTA3RkI1NzQwMUYwOTA3RkI0RTA0NDAyRjAwMjAzNzgKKzoxMDAxOTAwMDc4OTA3RkVBRTBGNTBGMDIwMzc4OTA3RjAwNzQwN0YwMTMKKzoxMDAxQTAwMDkwN0ZCNTc0MDFGMDkwN0ZCNEUwNDQwMkYwN0ZFODdFNjgKKzoxMDAxQjAwMDAzMTIwRDk0RDIwNjEyMENDQzAyMDM3ODkwN0ZFQUUwNzEKKzoxMDAxQzAwMDc1MjgwMEY1MjlBM0UwRkVFNEVFNDIyODkwN0ZFRUUwREEKKzoxMDAxRDAwMDc1MkEwMEY1MkJBM0UwRkVFNEVFNDIyQTkwN0ZFOEUwQ0EKKzoxMDAxRTAwMDY0QzA2MDAzMDIwMkM5RTUyQjQ1MkE3MDAzMDIwMzc4NEMKKzoxMDAxRjAwMEMzRTUyQjk0NDBFNTJBOTQwMDUwMDg4NTJBMkM4NTJCRDIKKzoxMDAyMDAwMDJEODAwNjc1MkMwMDc1MkQ0MDkwN0ZFOUUwNjRBMzcwNjkKKzoxMDAyMTAwMDM0RjUzMEY1MzFDM0U1MzE5NTJERTUzMDk1MkM1MDVDNDIKKzoxMDAyMjAwMEU1MjkyNTMxRjU4MkU1MzAzNTI4RjU4M0UwRkY3NDAwQjYKKzoxMDAyMzAwMDI1MzFGNTgyRTQzNDdGRjU4M0VGRjAwNTMxRTUzMTcwNDcKKzoxMDAyNDAwMDAyMDUzMDgwRDBFNEY1MzBGNTMxQzNFNTMxOTUyREU1NzgKKzoxMDAyNTAwMDMwOTUyQzUwMTg3NDAwMjUzMUY1ODJFNDM0N0ZGNTgzRjUKKzoxMDAyNjAwMDc0Q0RGMDA1MzFFNTMxNzAwMjA1MzA4MEREQUYyOUFFODcKKzoxMDAyNzAwMDI4QUQyRDdBN0Y3OTAwN0IwMDEyMEJGNDkwN0ZCNUU1RDUKKzoxMDAyODAwMDJERjBFNTJEMjUyOUY1MjlFNTJDMzUyOEY1MjhDM0U1QTAKKzoxMDAyOTAwMDJCOTUyREY1MkJFNTJBOTUyQ0Y1MkE5MDdGOTJFMEZGRTIKKzoxMDAyQTAwMEM0NTQwRjc1MkUwMEY1MkZEMzk0MDBFNTJFOTQwMDUwMDIKKzoxMDAyQjAwMDBDOTA3RkI0RTAyMEUxMDMwMjAxRTc4MEY0OTA3RkI0NkEKKzoxMDAyQzAwMEUwMjBFMjAzMDIwMUU3ODBGNDkwN0ZFOEUwNjQ0MDYwMTAKKzoxMDAyRDAwMDAzMDIwMzc4RTUyQjQ1MkE3MDAzMDIwMzc4RTQ5MDdGM0MKKzoxMDAyRTAwMEM1RjA5MDdGOTJFMEZGQzQ1NDBGNzUyRTAwRjUyRkQzMTgKKzoxMDAyRjAwMDk0MDBFNTJFOTQwMDUwMDk5MDdGQzRFMDMwRTEwOTgwMUQKKzoxMDAzMDAwMEY3OTA3RkI0RTAyMEUzRjk5MDdGQzVFMDc1MkMwMEY1MEQKKzoxMDAzMTAwMDJEOTA3RkU5RTA2NEEzNzAzNEY1MzBGNTMxQzNFNTMxMDkKKzoxMDAzMjAwMDk1MkRFNTMwOTUyQzUwMzQ3NEMwMjUzMUY1ODJFNDM0OTgKKzowMTAzMzAwMDdFNEUKKzoxMDAzMzEwMEY1ODNFMEZGRTUyOTI1MzFGNTgyRTUzMDM1MjhGNTgzQTAKKzoxMDAzNDEwMEVGRjAwNTMxRTUzMTcwMDIwNTMwODBEMEFGMjlBRTI4REMKKzoxMDAzNTEwMEFEMkQ3QTdFNzlDMDdCQzAxMjBDM0ZFNTJEMjUyOUY1QTQKKzoxMDAzNjEwMDI5RTUyQzM1MjhGNTI4QzNFNTJCOTUyREY1MkJFNTJBMTQKKzowOTAzNzEwMDk1MkNGNTJBMDIwMkQ0QzMyMkU2Cis6MTAwMzdBMDA5MDdGRTlFMDcwMDMwMjA0NTIxNDcwMDMwMjA0Q0UyNDUxCis6MTAwMzhBMDBGRTcwMDMwMjA1NDIyNEZCNzAwMzAyMDQ0QzE0NzAwMzNFCis6MTAwMzlBMDAwMjA0NDYxNDcwMDMwMjA0M0ExNDcwMDMwMjA0NDAyNDRGCis6MTAwM0FBMDAwNTYwMDMwMjA1OTYxMjBFNDQ0MDAzMDIwNUEyOTA3RkRGCis6MTAwM0JBMDBFQkUwMjRGRTYwMTYxNDYwNDAyNDAyNzA2OTc0MTE5MDA4Cis6MTAwM0NBMDA3RkQ0RjA3NDAwOTA3RkQ1RjAwMjA1QTI5MDdGRUFFMDE2Cis6MTAwM0RBMDBGRjEyMEI1ODhCMjU4QTI2ODkyN0VBNDk2MDExQUUwMjNCCis6MTAwM0VBMDBFRTkwN0ZENEYwQUYwMUVGOTA3RkQ1RjAwMjA1QTI5MDk2Cis6MTAwM0ZBMDA3RkI0RTA0NDAxRjAwMjA1QTI5MDdGRUFFMEZGMTIwODEwCis6MTAwNDBBMDBCQThCMjU4QTI2ODkyN0VBNDk2MDExQUUwMkVFOTA3RkM3Cis6MTAwNDFBMDBENEYwQUYwMUVGOTA3RkQ1RjAwMjA1QTI5MDdGQjRFMDRGCis6MTAwNDJBMDA0NDAxRjAwMjA1QTI5MDdGQjRFMDQ0MDFGMDAyMDVBMjYzCis6MTAwNDNBMDAxMjBFMUYwMjA1QTIxMjBFMkQwMjA1QTIxMjBBRjcwMkJGCis6MTAwNDRBMDAwNUEyMTIwRTExMDIwNUEyMTIwRTQ2NDAwMzAyMDVBMkNGCis6MTAwNDVBMDA5MDdGRThFMDI0N0Y2MDI0MTQ2MDMxMjQwMjcwNUJBMjVDCis6MTAwNDZBMDAwMEU0MzNGRjI1RTBGRkEyMDJFNDMzNEY5MDdGMDBGMDVGCis6MTAwNDdBMDBFNEEzRjA5MDdGQjU3NDAyRjAwMjA1QTJFNDkwN0YwMDM1Cis6MTAwNDhBMDBGMEEzRjA5MDdGQjU3NDAyRjAwMjA1QTI5MDdGRUNFMDMxCis6MTAwNDlBMDBGNDU0ODBGRkM0NTQwRkZGRTA1NDA3MkYyNUUwMjRCNDFFCis6MTAwNEFBMDBGNTgyRTQzNDdGRjU4M0UwNTRGRDkwN0YwMEYwRTRBMzA1Cis6MTAwNEJBMDBGMDkwN0ZCNTc0MDJGMDAyMDVBMjkwN0ZCNEUwNDQwMTg3Cis6MTAwNENBMDBGMDAyMDVBMjEyMEU0ODQwMDMwMjA1QTI5MDdGRThFMDVFCis6MTAwNERBMDAyNEZFNjAxRDI0MDI2MDAzMDIwNUEyOTA3RkVBRTBCNEI0Cis6MTAwNEVBMDAwMTA1QzIwMDAyMDVBMjkwN0ZCNEUwNDQwMUYwMDIwNUIyCis6MTAwNEZBMDBBMjkwN0ZFQUUwNzAzODkwN0ZFQ0UwRjQ1NDgwRkZDNDY5Cis6MTAwNTBBMDA1NDBGRkZFMDU0MDcyRjI1RTAyNEI0RjU4MkU0MzQ3RjJBCis6MTAwNTFBMDBGNTgzRTRGMDkwN0ZFQ0UwNTQ4MEZGMTMxMzEzNTQxRjJCCis6MTAwNTJBMDBGRkUwNTQwNzJGOTA3RkQ3RjBFMDQ0MjBGMDgwNjk5MEQ1Cis6MTAwNTNBMDA3RkI0RTA0NDAxRjA4MDYwMTIwRTRBNTA1QjkwN0ZFODdECis6MTAwNTRBMDBFMDI0RkU2MDE4MjQwMjcwNEY5MDdGRUFFMEI0MDEwNEIwCis6MTAwNTVBMDBEMjAwODA0NDkwN0ZCNEUwNDQwMUYwODAzQjkwN0ZFQTZGCis6MTAwNTZBMDBFMDcwMjA5MDdGRUNFMEY0NTQ4MEZGQzQ1NDBGRkZFMDY5Cis6MTAwNTdBMDA1NDA3MkYyNUUwMjRCNEY1ODJFNDM0N0ZGNTgzNzQwMTBGCis6MTAwNThBMDBGMDgwMTU5MDdGQjRFMDQ0MDFGMDgwMEMxMjAxMDA1MDE1Cis6MTAwNTlBMDAwNzkwN0ZCNEUwNDQwMUYwOTA3RkI0RTA0NDAyRjAyMjc3Cis6MTAwNUFBMDBDMEUwQzA4M0MwODJDMDg1QzA4NEMwODY3NTg2MDBDMDkyCis6MTAwNUJBMDBEMEMwMDBDMDAxQzAwMkMwMDNDMDA2QzAwNzkwN0ZBNTFBCis6MTAwNUNBMDBFMDMwRTIwNjc1MEQwNjAyMDY3NjkwN0ZBNUUwMjBFMThFCis6MTAwNURBMDAwQ0U1MEQ2NDAyNjAwNjc1MEQwNzAyMDY3NkFGMERFRjk1Cis6MTAwNUVBMDAyNEZFNjA0ODE0NjAyQzI0RkU2MDc3MjQwNDYwMDMwMjExCis6MTAwNUZBMDAwNjc2QUIwOUFBMEFBOTBCQUYwQzA1MEM4RjgyNzU4Mzg0Cis6MTAwNjBBMDAwMDEyMDgyMjkwN0ZBNkYwRTUwQzY1MDg3MDVFNzUwRDUxCis6MTAwNjFBMDAwNTgwNTk5MDdGQTZFMEFCMDlBQTBBQTkwQkFFMEM4RUY5Cis6MTAwNjJBMDA4Mjc1ODMwMDEyMDg0Rjc1MEQwMjgwNDBFNTA4MjRGRThBCis6MTAwNjNBMDBCNTBDMDc5MDdGQTVFMDQ0MjBGMEU1MDgxNEI1MEMwQTM0Cis6MTAwNjRBMDA5MDdGQTVFMDQ0NDBGMEU0RjUwRDkwN0ZBNkUwQUIwOTY5Cis6MTAwNjVBMDBBQTBBQTkwQkFFMEM4RTgyNzU4MzAwMTIwODRGMDUwQ0VDCis6MTAwNjZBMDA4MDBBOTA3RkE1RTA0NDQwRjBFNEY1MEQ1MzkxREZEMDc1Cis6MTAwNjdBMDAwN0QwMDZEMDAzRDAwMkQwMDFEMDAwRDBEMEQwODZEMDg3Cis6MEEwNjhBMDA4NEQwODVEMDgyRDA4M0QwRTAzMjA2Cis6MTAwNjk0MDA4QzMzOEQzNDkwN0Y5NUUwNDRDMEYwRTRGNTM1RjUzNjI1Cis6MTAwNkE0MDBDM0U1MzY5NTM0RTUzNTk1MzM1MDY5RUYyNTM2RjU4MjQzCis6MTAwNkI0MDBFNTM1M0VGNTgzNzRGRkYwRjQ2MDAyQzMyMkVGMjUzNjdFCis6MTAwNkM0MDBGNTgyRTUzNTNFRjU4M0U0RjA2MDAyQzMyMkVGMjUzNjdBCis6MTAwNkQ0MDBGNTgyRTUzNTNFRjU4Mzc0QUFGMDY0QUE2MDAyQzMyMjZDCis6MTAwNkU0MDBFRjI1MzZGNTgyRTUzNTNFRjU4Mzc0NTVGMDY0NTU2MEEzCis6MTAwNkY0MDAwMkMzMjJBRDM2RTUzNjJGRjU4MkU1MzUzRUY1ODNFREFFCis6MTAwNzA0MDBGMEZDQUMwNUVENkM2MDAyQzMyMjA1MzZFNTM2NzAwMkUwCis6MTAwNzE0MDAwNTM1ODA4Q0U0RjUzNUY1MzZDM0U1MzY5NTM0RTUzNTk1Cis6MTAwNzI0MDA5NTMzNTAyN0VGMjUzNkY1ODJFNTM1M0VGNTgzRTA2NUIwCis6MTAwNzM0MDAzNjYwMDJDMzIyRUYyNTM2RjU4MkU1MzUzRUY1ODNFNEMzCis6MEQwNzQ0MDBGMDA1MzZFNTM2NzAwMjA1MzU4MENFRDMyMjczCis6MTAwNzUxMDBDMjA0RDIwNUMyMDNDMjAwQzIwMkMyMDExMjBFM0REMkJFCis6MTAwNzYxMDBFODQzRDgyMDkwN0ZBQjc0RkZGMDkwN0ZBOUYwOTA3RjkxCis6MTAwNzcxMDBBQUYwNTM5MUVGOTA3Rjk1RTA0NEMwRjA5MDdGOTM3NDdECis6MTAwNzgxMDAzMEYwMTIwQTE5OTA3RkFGRTA0NDAxRjA5MDdGQUVFMEEzCis6MTAwNzkxMDA0NDBERjBEMkFGMTIwRTM1MjAwMTQyNzUyNDAwNzUyM0FECis6MTAwN0ExMDAwMDc1MjIwMDc1MjEwMDdGNDg3RTkyN0QwMDdDMDBBQkEwCis6MTAwN0IxMDAyNEFBMjNBOTIyQTgyMUMzMTIwOEE5NTBEQjIwMDFEODA5Cis6MTAwN0MxMDA3QTAwNzkwMDc4MDBFNTI0MjQwMUY1MjRFQTM1MjNGNTNGCis6MTAwN0QxMDAyM0U5MzUyMkY1MjJFODM1MjFGNTIxODBDQTMwMDEwNUNBCis6MTAwN0UxMDAxMjAzN0FDMjAxMzAwNDFBMTIwRTQwNTAxMzEyMDkwMDhBCis6MTAwN0YxMDAzMDAwMDc5MDdGRDZFMDMwRTdGMzEyMEQ0QTEyMEU0MjI3Cis6MDgwODAxMDBDMjAzMTIwOEZGODBENjIyOTkKKzoxMDA4MDkwMEJCMDEwNjg5ODI4QTgzRTAyMjUwMDJFNzIyQkJGRTAyRUQKKzowOTA4MTkwMEUzMjI4OTgyOEE4M0U0OTMyMjIwCis6MTAwODIyMDBCQjAxMENFNTgyMjlGNTgyRTU4MzNBRjU4M0UwMjI1MDhCCis6MTAwODMyMDAwNkU5MjU4MkY4RTYyMkJCRkUwNkU5MjU4MkY4RTIyMkQ1Cis6MEQwODQyMDBFNTgyMjlGNTgyRTU4MzNBRjU4M0U0OTMyMkVGCis6MTAwODRGMDBGOEJCMDEwREU1ODIyOUY1ODJFNTgzM0FGNTgzRThGMERGCis6MTAwODVGMDAyMjUwMDZFOTI1ODJDOEY2MjJCQkZFMDVFOTI1ODJDODhCCis6MDIwODZGMDBGMjIyNzMKKzoxMDA4NzEwMEJCMDExMEU1ODIyOUY1ODJFNTgzM0FGNTgzRTBGNUYwQzUKKzoxMDA4ODEwMEEzRTAyMjUwMDlFOTI1ODJGODg2RjAwOEU2MjJCQkZFQTIKKzoxMDA4OTEwMDBBRTkyNTgyRjhFMkY1RjAwOEUyMjJFNTgzMkFGNTgzRTgKKzowODA4QTEwMEU5OTNGNUYwQTNFOTkzMjJBRAorOjEwMDhBOTAwRUI5RkY1RjBFQTlFNDJGMEU5OUQ0MkYwRTg5QzQ1RjBBNQorOjAxMDhCOTAwMjIxQworOjAyMDhCQTAwOEYyODg1Cis6MTAwOEJDMDBFNEY1Mjk3NTJBRkY3NTJCMTE3NTJDMzJBQjJBQUEyQjVFCis6MTAwOENDMDBBOTJDOTAwMDAxMTIwODIyQjQwMzFEQUYyOTA1MjlFRkIxCis6MTAwOERDMDBCNTI4MDEyMjEyMDgwOTdFMDAyOUZGRUUzQUE5MDc3NUY2Cis6MEUwOEVDMDAyQUZGRjUyQjg5MkM4MEQ0N0IwMDdBMDA3OTAwM0UKKzowMTA4RkEwMDIyREIKKzowNDA4RkIwMDUzRDhFRjMyQUQKKzowMTA4RkYwMDIyRDYKKzowOTA5MDAwMDkwN0ZENkUwNDQ4MEYwODA3NDgxCis6MTAwOTdEMDA0Mzg3MDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMjdECis6MEMwOThEMDA3ODdGRTRGNkQ4RkQ3NTgxMzkwMjA5RDRBQQorOjEwMDk5OTAwMDIwNzUxRTQ5M0EzRjhFNDkzQTM0MDAzRjY4MDAxRjIxQworOjEwMDlBOTAwMDhERkY0ODAyOUU0OTNBM0Y4NTQwNzI0MENDOEMzMzM1RgorOjEwMDlCOTAwQzQ1NDBGNDQyMEM4ODM0MDA0RjQ1NjgwMDE0NkY2REYyRQorOjEwMDlDOTAwRTQ4MDBCMDEwMjA0MDgxMDIwNDA4MDkwMERFQ0U0N0VDNQorOjEwMDlEOTAwMDE5MzYwQkNBM0ZGNTQzRjMwRTUwOTU0MUZGRUU0OTMyMworOjEwMDlFOTAwQTM2MDAxMEVDRjU0QzAyNUUwNjBBODQwQjhFNDkzQTNFQQorOjEwMDlGOTAwRkFFNDkzQTNGOEU0OTNBM0M4QzU4MkM4Q0FDNTgzQ0ExNQorOjEwMEEwOTAwRjBBM0M4QzU4MkM4Q0FDNTgzQ0FERkU5REVFNzgwQkVDQworOjEwMEExOTAwRTQ5MDdGOUNGMDdGMEFGRTEyMEQ5NDkwN0Y5Njc0ODk3MgorOjEwMEEyOTAwRjA5MDdGOUM3NENGRjA3RkY0N0UwMTEyMEQ5NDkwN0YzQgorOjEwMEEzOTAwOTZFMDU0RkVGMDdGMEE3RTAwMTIwRDk0N0YwNTdFMDAzOQorOjEwMEE0OTAwMTIwRDk0OTA3Rjk2RTA0NDAyRjBFMDU0N0ZGMDdGMDUwOAorOjEwMEE1OTAwN0UwMDEyMEQ5NDkwN0Y5NkUwNDQ0MEYwN0YwNTdFMDA2MQorOjEwMEE2OTAwMTIwRDk0OTA3Rjk2RTA1NEJGRjA3RjMyN0UwMDEyMERGNAorOjEwMEE3OTAwOTQ5MDdGOTZFMDQ0NDBGMDdGMzI3RTAwMTIwRDk0MjJEQworOjEwMEE4OTAwNzUzMjAxRTUzMjYwMUI3RjAxMTIwREQ3N0YwMDdFMEVBMgorOjEwMEE5OTAwN0QwMDdDMDExMjA2OTRFNDMzRjUzMjcwMDU3RjBGMTI1NAorOjEwMEFBOTAwMEREN0U1MzI2MDFCN0YwMjEyMERENzdGMDA3RTgwN0Q1NgorOjEwMEFCOTAwMDA3QzgwMTIwNjk0RTQzM0Y1MzI3MDA1N0YwRjEyMEQyNQorOjEwMEFDOTAwRDdFNTMyNjAxQjdGMDMxMjBERDc3RjAwN0UyMDdENDA2MgorOjEwMEFEOTAwN0M1QjEyMDY5NEU0MzNGNTMyNzAwNTdGMEYxMjBERDc1MworOjBFMEFFOTAwRTUzMjYwMDVFNEZGMTIwREQ3RTUzMjI0RkYyMjRFCis6MDgwQUY3MDA5MDdGRUFFMEY1MTBEMzIyMjQKKzowMTBBRkYwMDMyQzQKKzoxMDBCMDAwMDAyMEQ2NDAwMDIwREFCMDAwMjBEMkYwMDAyMEQ3QzAwRUYKKzoxMDBCMTAwMDAyMERDMTAwMDIwQUZGMDAwMjBFNEMwMDAyMEU0RDAwNDEKKzoxMDBCMjAwMDAyMEU0RTAwMDIwRTRGMDAwMjBFNTAwMDAyMEU1MTAwNDcKKzoxMDBCMzAwMDAyMEU1MjAwMDIwRTUzMDAwMjBFNTQwMDAyMEU1NTAwMjcKKzoxMDBCNDAwMDAyMEU1NjAwMDIwRTU3MDAwMjBFNTgwMDAyMEU1OTAwMDcKKzowODBCNTAwMDAyMEU1QTAwMDIwRTVCMDBDOAorOjEwMEI1ODAwRTRGRTc1MkFGRjc1MkIxMTc1MkMxMkFCMkFBQTJCQTk1NgorOjEwMEI2ODAwMkM5MDAwMDExMjA4MjI2NDAyNzAyREFEMDYwRUVEQjUxRQorOjEwMEI3ODAwMDcwMTIyOTAwMDAyMTIwODcxODVGMDI4RjUyOTYyMjhFMQorOjEwMEI4ODAwRTUyODYyMjlFNTI5NjIyODI5RkRFNTI4M0FBOTA1NzU5RAorOjBFMEI5ODAwMkFGRkY1MkI4OTJDODBDMzdCMDA3QTAwNzkwMEEwCis6MDEwQkE2MDAyMjJDCis6MTAwQkE3MDBBQjA3QUEwNkFDMDVFNEZERTUxMTYwMTFFQUZGQUUwNTQ3Cis6MTAwQkI3MDAwREVFMjQxMEY1ODJFNDM0MEZGNTgzRUZGMEVCQUUwNTZDCis6MTAwQkM3MDAwRDc0MTAyRUY1ODJFNDM0MEZGNTgzRUJGMEFGMDUwREFECis6MTAwQkQ3MDA3NDEwMkZGNTgyRTQzNDBGRjU4M0VDRjBBRjBGN0EwRjIyCis6MEQwQkU3MDA3QjEwMTIwRDEwN0YwQTdFMDAxMjBEOTQyMjZCCis6MTAwQkY0MDA4RTMyOEYzMzhEMzQ4QTM1OEIzNkU0RkRGNTM3RTUxMTJCCis6MTAwQzA0MDA2MDEyRTUzMkZGQUUwNTBERUUyNDEzRjU4MkU0MzQwRkQ1Cis6MTAwQzE0MDBGNTgzRUZGMEU1MzNBRTA1MEQ3NDEzMkVGNTgyRTQzNDVECis6MTAwQzI0MDAwRkY1ODNFNTMzRjBBRjBGN0EwRjdCMTMxMjBEMTBBRjdFCis6MEIwQzM0MDAwRkFEMzRBQjM2QUEzNTEyMENGMTIyRDQKKzoxMDBDM0YwMDhFMzI4RjMzOEQzNDhBMzU4QjM2RTRGNTM3RTUzN0MzRjMKKzoxMDBDNEYwMDk1MzQ1MDIwMDUzM0U1MzNBRTMyNzAwMjA1MzIxNEZGNzAKKzoxMDBDNUYwMEU1MzYyNTM3RjU4MkU0MzUzNUY1ODNFMEZEMTIwQkE3MzAKKzowNTBDNkYwMDA1Mzc4MEQ5MjJDOQorOjEwMEM3NDAwQTkwN0U1MEQ3MDI1OTA3RkE1RTA0NDgwRjBFOTI1RTAwMworOjEwMEM4NDAwNDQwMTkwN0ZBNkYwOEQwOEFGMDNBOTA3NzUwOTAxOEE3NgorOjBEMEM5NDAwMEE4OTBCRTRGNTBDNzUwRDAzRDMyMkMzMjI3MQorOjEwMENBMTAwQTkwN0U1MEQ3MDIzOTA3RkE1RTA0NDgwRjBFOTI1RTBEOAorOjEwMENCMTAwOTA3RkE2RjA4RDA4QUYwM0E5MDc3NTA5MDE4QTBBODlGQgorOjBCMENDMTAwMEJFNEY1MEM3NTBEMDFEMzIyQzMyMkRCCis6MTAwQ0NDMDA5MDdGRDZFMDU0RkJGMEUwNDQwOEYwMzAwNjA0RTA0NDlBCis6MTAwQ0RDMDAwMkYwN0ZEMDdFMDcxMjBEOTQ5MDdGRDZFMDU0RjdGMDhGCis6MDUwQ0VDMDBFMDQ0MDRGMDIyQzkKKzoxMDBDRjEwMDEyMEM3NEU1MEQyNEZBNjAxMDE0NjAwNzI0MDc3MEYzRDgKKzowRjBEMDEwMDdGMDgyMkU0RjUwRDdGMDcyMkU0RjUwRDdGMDYyMjFGCis6MTAwRDEwMDAxMjBDQTFFNTBEMjRGQTYwMTAxNDYwMDcyNDA3NzBGMzhCCis6MEYwRDIwMDA3RjA4MjJFNEY1MEQ3RjA3MjJFNEY1MEQ3RjA2MjIwMAorOjEwMEQyRjAwQzBFMEMwODNDMDgyOTA3RkM0RTRGMDUzOTFFRjkwN0YwNgorOjBCMEQzRjAwQUI3NDA0RjBEMDgyRDA4M0QwRTAzMjBGCis6MTAwRDRBMDA5MDdGRDZFMDMwRTcxMkUwNDQwMUYwN0YxNDdFMDAxMjczCis6MEEwRDVBMDAwRDk0OTA3RkQ2RTA1NEZFRjAyMkM1Cis6MTAwRDY0MDBDMEUwQzA4M0MwODJEMjAxNTM5MUVGOTA3RkFCNzQwMTg1Cis6MDgwRDc0MDBGMEQwODJEMDgzRDBFMDMyMDAKKzoxMDBEN0MwMEMwRTBDMDgzQzA4MkQyMDM1MzkxRUY5MDdGQUI3NDA4NjQKKzowODBEOEMwMEYwRDA4MkQwODNEMEUwMzJFOAorOjEwMEQ5NDAwOEUzODhGMzlFNTM5MTUzOUFFMzg3MDAyMTUzODRFNjAwMgorOjA3MERBNDAwMDUxMjBFMDA4MEVFMjI5MworOjEwMERBQjAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkFCNzQwMkYwRDA1MAorOjA2MERCQjAwODJEMDgzRDBFMDMyN0IKKzoxMDBEQzEwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBQjc0MTBGMEQwMkMKKzowNjBERDEwMDgyRDA4M0QwRTAzMjY1Cis6MTAwREQ3MDBBRTA3N0YyMTdEMDE3NDAwMkVGNTgyRTQzNDBGQUI4MkNDCis6MDUwREU3MDBGQTEyMEQxMDIyQkMKKzoxMDBERUMwMDUwMEYwMEMwRjlBNEIwOTk5MjgyRjg4MDk4ODg4M0M2RkQKKzowMzBERkMwMEExODY4RTNGCis6MDEwREZGMDAwMEYzCis6MTAwRTAwMDA3NDAwRjU4NjkwRkRBNTdDMDVBM0U1ODI0NTgzNzBGOTA1Cis6MDEwRTEwMDAyMkJGCis6MEUwRTExMDA5MDdGMDBFNTEwRjA5MDdGQjU3NDAxRjBEMzIyQzEKKzowRTBFMUYwMDkwN0YwMEU1MEVGMDkwN0ZCNTc0MDFGMEQzMjJCNQorOjA4MEUyRDAwOTA3RkVBRTBGNTBFRDMyMkVDCis6MDgwRTM1MDBFNEY1MEREMkU5RDJBRjIyNzEKKzowMzBFM0QwMEQyMDAyMkJFCis6MDIwRTQwMDBEMzIyQkIKKzowMjBFNDIwMEQzMjJCOQorOjAyMEU0NDAwRDMyMkI3Cis6MDIwRTQ2MDBEMzIyQjUKKzowMjBFNDgwMEQzMjJCMworOjAyMEU0QTAwRDMyMkIxCis6MDEwRTRDMDAzMjczCis6MDEwRTREMDAzMjcyCis6MDEwRTRFMDAzMjcxCis6MDEwRTRGMDAzMjcwCis6MDEwRTUwMDAzMjZGCis6MDEwRTUxMDAzMjZFCis6MDEwRTUyMDAzMjZECis6MDEwRTUzMDAzMjZDCis6MDEwRTU0MDAzMjZCCis6MDEwRTU1MDAzMjZBCis6MDEwRTU2MDAzMjY5Cis6MDEwRTU3MDAzMjY4Cis6MDEwRTU4MDAzMjY3Cis6MDEwRTU5MDAzMjY2Cis6MDEwRTVBMDAzMjY1Cis6MDEwRTVCMDAzMjY0Cis6MTAxMTAwMDAxMjAxMDAwMTAwMDAwMDQwNDcwNTEwMjcwMTAwMDEwMjA0Cis6MTAxMTEwMDAwMDAxMDkwMjIwMDAwMTAxMDNBMDAwMDkwNDAwMDAwMkVGCis6MTAxMTIwMDBGRjAwMDAwNDA3MDU4MjAyNDAwMDAwMDcwNTAyMDI0MDlDCis6MTAxMTMwMDAwMDAwMDQwMzA5MDQyNjAzNDEwMDZFMDA2MzAwNjgwMEY4Cis6MTAxMTQwMDA2RjAwNzIwMDIwMDA0MzAwNjgwMDY5MDA3MDAwNzMwMEE3Cis6MTAxMTUwMDAyQzAwMjAwMDQ5MDA2RTAwNjMwMDJFMDAyODAzNDYwMDhBCis6MTAxMTYwMDA2OTAwNzIwMDZEMDA3NzAwNjEwMDcyMDA2NTAwMjAwMDY4Cis6MTAxMTcwMDA0NjAwNzIwMDYxMDA2RDAwNjUwMDU3MDA2RjAwNzIwMDRDCis6MTAxMTgwMDA2QjAwNzMwMDJBMDM0MzAwNkYwMDZFMDA2NjAwNjkwMDY1Cis6MTAxMTkwMDA2NzAwNzUwMDcyMDA2MTAwNzQwMDY5MDA2RjAwNkUwMEU2Cis6MTAxMUEwMDAyMDAwNTMwMDc0MDA3MjAwNjkwMDZFMDA2NzAwMjIwMzgzCis6MTAxMUIwMDA0OTAwNkUwMDc0MDA2NTAwNzIwMDY2MDA2MTAwNjMwMDAzCis6MTAxMUMwMDA2NTAwMjAwMDUzMDA3NDAwNzIwMDY5MDA2RTAwNjcwMDIzCis6MDIxMUQwMDAwMDAwMUQKKzowMDAwMDAwMUZGCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCisgKiAgICAgIHdoaXRlaGVhdC5oICAtLSAgQ29ubmVjdFRlY2ggV2hpdGVIRUFUIEZpcm13YXJlLgorICoKKyAqICAgICAgQ29weXJpZ2h0IChDKSAyMDAwLTIwMDIgIENvbm5lY3RUZWNoIEluYyAoaHR0cDovL3d3dy5jb25uZWN0dGVjaC5jb20vKQorICoKKyAqICAgICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqICAgICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAqICAgICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyAqICAgICAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiAgICAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogICAgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogICAgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiAgICAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogICAgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogICAgICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogICAgICBGb3VuZGF0aW9uLCBJbmMuLCA2NzUgTWFzcyBBdmUsIENhbWJyaWRnZSwgTUEgMDIxMzksIFVTQS4KKyAqCisgKiAoMTAvMDkvMjAwMikgU3R1YXJ0IE1hY0RvbmFsZAorICoJRmlybXdhcmUgNC4wNgorICoKKyAqICgwNC8wOS8yMDAwKSBna2gKKyAqCVVwZGF0ZWQgdGhlIGZpcm13YXJlIHdpdGggdGhlIGxhdGVzdCBwcm92aWRlZCBieSBDb25uZWN0VGVjaC4KKyAqCisgKiAoMDEvMTYvMjAwMCkgZ2toCisgKglGaXhlZCBteSBpbnRlbCBoZXggcHJvY2Vzc2luZyB0b29sLCBzbyBub3cgdGhlIGZpcm13YXJlIGFjdHVhbGx5CisgKgltYXRjaGVzIHRoZSBvcmlnaW5hbCBmaWxlICh0aGlzIHdhcyBjYXVzaW5nIGEgZmV3IHByb2JsZW1zLi4uKQorICoKKyAqICgwMS8xNS8yMDAwKSBna2gKKyAqCUFkZGVkIGRlYnVnIGxvYWRlciBmaXJtd2FyZSBpZiBERUJVRyBpcyAjZGVmaW5lZDoKKyAqCQlQb3J0IDEgTEVEIGZsYXNoZXMgd2hlbiB0aGUgdmVuZF9heCBwcm9ncmFtIGlzIHJ1bm5pbmcKKyAqCQlQb3J0IDIgTEVEIGZsYXNoZXMgd2hlbiBhbnkgU0VUVVAgY29tbWFuZCBhcnJpdmVzCisgKgkJUG9ydCAzIExFRCBmbGFzaGVzIHdoZW4gYW55IHZhbGlkIFZFTkRPUiByZXF1ZXN0IG9jY3VycworICoJCVBvcnQgNCBMRUQgZmxhc2hlcyB3aGVuIHRoZSBFWFRFUk5BTCBSQU0gRE9XTkxPQUQgcmVxdWVzdCBvY2N1cnMKKyAqCisgKiB2ZXJzaW9uIDEuMCAoMDEvMDkvMjAwMCkgZ2toCisgKglPcmlnaW5hbCBmaXJtd2FyZSBmcm9tIENvbm5lY3RUZWNoIG1hc3NhZ2VkIGEgbGl0dGxlIHRvIGJlIHByb2dyYW0KKyAqCXJlYWRhYmxlLgorICoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2RlZmluZSB3aGl0ZWhlYXRfREFURSAiMjAwMDAxMDYiCmRpZmYgLS1naXQgYS9maXJtd2FyZS93aGl0ZWhlYXRfbG9hZGVyX2RlYnVnLkhFWCBiL2Zpcm13YXJlL3doaXRlaGVhdF9sb2FkZXJfZGVidWcuSEVYCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU2MzNkNTgKLS0tIC9kZXYvbnVsbAorKysgYi9maXJtd2FyZS93aGl0ZWhlYXRfbG9hZGVyX2RlYnVnLkhFWApAQCAtMCwwICsxLDQwMyBAQAorOjEwMDAwMDAwMDAwMDAwMDAwMzAyMDk4RDAwMDAwMDMzMDMwMjBFNzA5RgorOjEwMDAxMDAwMDAwMDAwNDMwMzAyMEIwMDAwMDAwMDRCMDMwMjA1QjM4NQorOjEwMDAyMDAwMDAwMDAxMDAxMDkwN0ZBNUUwNTQxMEZGQzQ1NDBGNDQ1RAorOjEwMDAzMDAwNTBGNTBGMTNFNDAwMDExMDAwMDAwMTEwMTAzM0Y1MTEwQQorOjEwMDA0MDAwOTA3RkU5RTAyNDVFQjQwNzAwNDAwMzAyMDMwMDAxMjAzMgorOjEwMDA1MDAwMDAwMDAxMjAxMDdDOTAwMTI4RjgyODI4NzMwMjAxQkNDMAorOjEwMDA2MDAwMDIwMUJDMDIwMTAwMDEzMDAwMDAwMTMwMTA5MTAyMDFDOAorOjEwMDA3MDAwM0QwMjAxNTMwMjAxNkYwMjAxOUE5MDdGMDAwMDAxNDA4RQorOjEwMDA4MDAwMDAwMDAxNDAxMEU1MTFGMDkwN0ZCNTc0MDFGMDkwN0YwMQorOjEwMDA5MDAwQjRFMDQ0MDJGMDAwMDE1MDAwMDAwMTUwMTAwMjAzN0M2MworOjEwMDBBMDAwOTA3RjkyRTBGRkM0NTQwRjkwN0YwMEYwOTAwMDAxNjBCOQorOjEwMDBCMDAwMDAwMDAxNjAxMDdGQjU3NDAxRjA5MDdGQjRFMDQ0MDI0RAorOjEwMDBDMDAwRjAwMjAzN0MxMjAwMDE3MDAwMDAwMTcwMTAwQTg5NTBEOAorOjEwMDBEMDAwMDdFNDkwN0YwMEYwODAwNjkwN0YwMDc0MEYwMDAxODA5RAorOjEwMDBFMDAwMDAwMDAxODAxMEYwOTA3RkI1NzQwMUYwOTA3RkI0RTBDMworOjEwMDBGMDAwNDQwMkYwMDIwMzAwMDE5MDAwMDAwMTkwMTA3QzkwN0YwOAorOjEwMDEwMDAwRUFFMEY1MEYwMjAzN0M5MDdGMDA3NDA3RjAwMDAxQTA4NQorOjEwMDExMDAwMDAwMDAxQTAxMDkwN0ZCNTc0MDFGMDkwN0ZCNEUwNDQxRQorOjEwMDEyMDAwMDJGMDdGRTg3RTAwMDFCMDAwMDAwMUIwMTAwMzEyMEQ2NAorOjEwMDEzMDAwRDVEMjA2MTIwRDBEMDIwMzdDOTA3RkVBRTAwMDAxQzBDQgorOjEwMDE0MDAwMDAwMDAxQzAxMDc1MjkwMEY1MkFBM0UwRkVFNEVFNDI4QworOjEwMDE1MDAwMjk5MDdGRUVFMDAwMDFEMDAwMDAwMUQwMTA3NTJCMDA0NworOjEwMDE2MDAwRjUyQ0EzRTBGRUU0RUU0MjJCOTA3RkU4RTAwMDAxRTBGNgorOjEwMDE3MDAwMDAwMDAxRTAxMDY0QzA2MDAzMDIwMkM5RTUyQzQ1MkJCOQorOjEwMDE4MDAwNzAwMzAyMDM3QzAwMDFGMDAwMDAwMUYwMTBDM0U1MkNCNQorOjEwMDE5MDAwOTQ0MEU1MkI5NDAwNTAwODg1MkIyRDg1MkMwMDAyMDBGRgorOjEwMDFBMDAwMDAwMDAyMDAxMDJFODAwNjc1MkQwMDc1MkU0MDkwN0ZGNQorOjEwMDFCMDAwRTlFMDY0QTM3MDAwMDIxMDAwMDAwMjEwMTAzNEY1MzE3MQorOjEwMDFDMDAwRjUzMkMzRTUzMjk1MkVFNTMxOTUyRDUwNUMwMDAyMjBDNQorOjEwMDFEMDAwMDAwMDAyMjAxMEU1MkEyNTMyRjU4MkU1MzEzNTI5RjVBNworOjEwMDFFMDAwODNFMEZGNzQwMDAwMDIzMDAwMDAwMjMwMTAyNTMyRjU3OQorOjEwMDFGMDAwODJFNDM0N0ZGNTgzRUZGMDA1MzJFNTMyNzAwMDAyNDA4RgorOjEwMDIwMDAwMDAwMDAyNDAxMDAyMDUzMTgwRDBFNEY1MzFGNTMyQzMyMAorOjEwMDIxMDAwRTUzMjk1MkVFNTAwMDI1MDAwMDAwMjUwMTAzMTk1MkQ3OAorOjEwMDIyMDAwNTAxODc0MDAyNTMyRjU4MkU0MzQ3RkY1ODMwMDAyNjBCMworOjEwMDIzMDAwMDAwMDAyNjAxMDc0Q0RGMDA1MzJFNTMyNzAwMjA1MzEyNQorOjEwMDI0MDAwODBEREFGMkFBRTAwMDI3MDAwMDAwMjcwMTAyOUFEMkVEMgorOjEwMDI1MDAwN0E3Rjc5MDA3QjAwMTIwQkY0OTA3RkI1RTUwMDAyODA3NQorOjEwMDI2MDAwMDAwMDAyODAxMDJFRjBFNTJFMjUyQUY1MkFFNTJEMzUxNgorOjEwMDI3MDAwMjlGNTI5QzNFNTAwMDI5MDAwMDAwMjkwMTAyQzk1MkU2QworOjEwMDI4MDAwRjUyQ0U1MkI5NTJERjUyQjkwN0Y5MkUwRkYwMDAyQTAzOQorOjEwMDI5MDAwMDAwMDAyQTAxMEM0NTQwRjc1MkYwMEY1MzBEMzk0MDA1NQorOjEwMDJBMDAwRTUyRjk0MDA1MDAwMDJCMDAwMDAwMkIwMTAwQzkwN0ZDNworOjEwMDJCMDAwQjRFMDIwRTEwMzAyMDFFNzgwRjQ5MDdGQjQwMDAyQzBDMworOjEwMDJDMDAwMDAwMDAyQzAxMEUwMjBFMjAzMDIwMUU3ODBGNDkwN0YwQQorOjEwMDJEMDAwRThFMDY0NDA2MDAwMDJEMDAwMDAwMkQwMTAwMzAyMDM5NgorOjEwMDJFMDAwN0NFNTJDNDUyQjcwMDMwMjAzN0NFNDkwN0YwMDAyRTA0OAorOjEwMDJGMDAwMDAwMDAyRTAxMEM1RjA5MDdGOTJFMEZGQzQ1NDBGNzUzQgorOjEwMDMwMDAwMkYwMEY1MzBEMzAwMDJGMDAwMDAwMkYwMTA5NDAwRTU1OQorOjEwMDMxMDAwMkY5NDAwNTAwOTkwN0ZDNEUwMzBFMTA5ODAwMDAzMDA3MQorOjEwMDMyMDAwMDAwMDAzMDAxMEY3OTA3RkI0RTAyMEUzRjk5MDdGQzU1MAorOjEwMDMzMDAwRTA3NTJEMDBGNTAwMDMxMDAwMDAwMzEwMTAyRTkwN0ZEMworOjEwMDM0MDAwRTlFMDY0QTM3MDM4OTAyMDZCRjBGNTMxRjUwMDAzMjBFQworOjEwMDM1MDAwMDAwMDAzMjAxMDMyQzNFNTMyOTUyRUU1MzE5NTJENTA3MworOjEwMDM2MDAwMzQ3NEMwMjUzMjAwMDMzMDAwMDAwMzMwMTBGNTgyRTRGRAorOjEwMDM3MDAwMzQ3RUY1ODNFMEZGRTUyQTI1MzJGNTgyRTUwMDAzNDA2RgorOjEwMDM4MDAwMDAwMDAzNDAxMDMxMzUyOUY1ODNFRkYwMDUzMkU1MzJFNgorOjEwMDM5MDAwNzAwMjA1MzE4MDAwMDM1MDAwMDAwMzUwMTBEMEFGMkFENgorOjEwMDNBMDAwQUUyOUFEMkU3QTdFNzlDMDdCQzAxMjBDODAwMDAzNjAyRQorOjEwMDNCMDAwMDAwMDAzNjAxMEU1MkUyNTJBRjUyQUU1MkQzNTI5RjVFNAorOjEwMDNDMDAwMjlDM0U1MkM5NTAwMDM3MDAwMDAwMzcwMEQyRUY1MkM1OQorOjEwMDNEMDAwRTUyQjk1MkRGNTJCMDIwMkQ0QzMwMDAwMDAwMDAzN0QxMAorOjEwMDNFMDAwMDEyMjAwMDAwMDAwMDM3RTEwOTA3RkU5RTA3MDAzMDIwQworOjEwMDNGMDAwMDQ1NjE0NzAwMzAyMDREMjI0MDAwMzhFMDAwMDAzOEVGRQorOjEwMDQwMDAwMTBGRTcwMDMwMjA1NDYyNEZCNzAwMzAyMDQ1MDE0NzBCMgorOjEwMDQxMDAwMDMwMDAzOUUwMDAwMDM5RTEwMDIwNDRBMTQ3MDAzMDJBRQorOjEwMDQyMDAwMDQzRTE0NzAwMzAyMDQ0NDI0MDAwM0FFMDAwMDAzQUUzMworOjEwMDQzMDAwMTAwNTYwMDMwMjA1OUExMjBFN0I0MDAzMDIwNUFCOTA4MworOjEwMDQ0MDAwN0YwMDAzQkUwMDAwMDNCRTEwRUJFMDI0RkU2MDE2MTQyNAorOjEwMDQ1MDAwNjA0MDI0MDI3MDY5NzQxMTkwMDAwM0NFMDAwMDAzQ0U0NgorOjEwMDQ2MDAwMTA3RkQ0RjA3NDAwOTA3RkQ1RjAwMjA1QUI5MDdGRUE0NgorOjEwMDQ3MDAwRTAwMDAzREUwMDAwMDNERTEwRkYxMjBCNTg4QjI2OEExQgorOjEwMDQ4MDAwMjc4OTI4RUE0OTYwMTFBRTAyMDAwM0VFMDAwMDAzRUU1RQorOjEwMDQ5MDAwMTBFRTkwN0ZENEYwQUYwMUVGOTA3RkQ1RjAwMjA1QUI2NgorOjEwMDRBMDAwOTAwMDAzRkUwMDAwMDNGRTEwN0ZCNEUwNDQwMUYwMDI2MAorOjEwMDRCMDAwMDVBQjkwN0ZFQUUwRkYxMjBDMDAwNDBFMDAwMDA0MEU3MgorOjEwMDRDMDAwMTAzRjhCMjY4QTI3ODkyOEVBNDk2MDExQUUwMkVFOTBGOAorOjEwMDREMDAwN0YwMDA0MUUwMDAwMDQxRTEwRDRGMEFGMDFFRjkwN0ZENworOjEwMDRFMDAwRDVGMDAyMDVBQjkwN0ZCNEUwMDAwNDJFMDAwMDA0MkU4RQorOjEwMDRGMDAwMTA0NDAxRjAwMjA1QUI5MDdGQjRFMDQ0MDFGMDAyMDUyNgorOjEwMDUwMDAwQUIwMDA0M0UwMDAwMDQzRTEwMTIwRTUyMDIwNUFCMTI3NgorOjEwMDUxMDAwMEU2MDAyMDVBQjEyMEFGNzAyMDAwNDRFMDAwMDA0NEUwMgorOjEwMDUyMDAwMTAwNUFCMTIwOEYxMDIwNUFCMTIwRTdENDAwMzAyMDU2NworOjEwMDUzMDAwQUIwMDA0NUUwMDAwMDQ1RTEwOTA3RkU4RTAyNDdGNjA2MgorOjEwMDU0MDAwMjQxNDYwMzEyNDAyNzA1QkEyMDAwNDZFMDAwMDA0NkU2QgorOjEwMDU1MDAwMTAwMEU0MzNGRjI1RTBGRkEyMDJFNDMzNEY5MDdGMDA1OAorOjEwMDU2MDAwRjAwMDA0N0UwMDAwMDQ3RTEwRTRBM0YwOTA3RkI1NzREOAorOjEwMDU3MDAwMDJGMDAyMDVBQkU0OTA3RjAwMDAwNDhFMDAwMDA0OEVDMAorOjEwMDU4MDAwMTBGMEEzRjA5MDdGQjU3NDAyRjAwMjA1QUI5MDdGRUMwMQorOjEwMDU5MDAwRTAwMDA0OUUwMDAwMDQ5RTEwRjQ1NDgwRkZDNDU0MEYzOQorOjEwMDVBMDAwRkZFMDU0MDcyRjI1RTAyNEI0MDAwNEFFMDAwMDA0QUVBMQorOjEwMDVCMDAwMTBGNTgyRTQzNDdGRjU4M0UwNTRGRDkwN0YwMEYwRTQ5MQorOjEwMDVDMDAwQTMwMDA0QkUwMDAwMDRCRTEwRjA5MDdGQjU3NDAyRjBEQQorOjEwMDVEMDAwMDIwNUFCOTA3RkI0RTA0NDAxMDAwNENFMDAwMDA0Q0VERAorOjEwMDVFMDAwMTBGMDAyMDVBQjEyMEU3RjQwMDMwMjA1QUI5MDdGRThDRQorOjEwMDVGMDAwRTAwMDA0REUwMDAwMDRERTEwMjRGRTYwMUQyNDAyNjAyMgorOjEwMDYwMDAwMDMwMjA1QUI5MDdGRUFFMEI0MDAwNEVFMDAwMDA0RUVDNAorOjEwMDYxMDAwMTAwMTA1QzIwMDAyMDVBQjkwN0ZCNEUwNDQwMUYwMDI3NgorOjEwMDYyMDAwMDUwMDA0RkUwMDAwMDRGRTEwQUI5MDdGRUFFMDcwMzg4NQorOjEwMDYzMDAwOTA3RkVDRTBGNDU0ODBGRkM0MDAwNTBFMDAwMDA1MEUyRQorOjEwMDY0MDAwMTA1NDBGRkZFMDU0MDcyRjI1RTAyNEI0RjU4MkU0MzQ2MgorOjEwMDY1MDAwN0YwMDA1MUUwMDAwMDUxRTEwRjU4M0U0RjA5MDdGRUM3RQorOjEwMDY2MDAwRTA1NDgwRkYxMzEzMTM1NDFGMDAwNTJFMDAwMDA1MkVDNQorOjEwMDY3MDAwMTBGRkUwNTQwNzJGOTA3RkQ3RjBFMDQ0MjBGMDgwNkUwOQorOjEwMDY4MDAwOTAwMDA1M0UwMDAwMDUzRTEwN0ZCNEUwNDQwMUYwODA3QworOjEwMDY5MDAwNjUxMjBFODE1MDYwOTA3RkU4MDAwNTRFMDAwMDA1NEUwNworOjEwMDZBMDAwMTBFMDI0RkU2MDE4MjQwMjcwNTQ5MDdGRUFFMEI0MDE0OAorOjEwMDZCMDAwMDQwMDA1NUUwMDAwMDU1RTEwRDIwMDgwNDk5MDdGQjQwMgorOjEwMDZDMDAwRTA0NDAxRjA4MDQwOTA3RkVBMDAwNTZFMDAwMDA1NkU3NgorOjEwMDZEMDAwMTBFMDcwMjA5MDdGRUNFMEY0NTQ4MEZGQzQ1NDBGRkZEMgorOjEwMDZFMDAwRTAwMDA1N0UwMDAwMDU3RTEwNTQwNzJGMjVFMDI0QjRBRAorOjEwMDZGMDAwRjU4MkU0MzQ3RkY1ODM3NDAxMDAwNThFMDAwMDA1OEVEOQorOjEwMDcwMDAwMTBGMDgwMUE5MDdGQjRFMDQ0MDFGMDgwMTFFNDkwMjA1MgorOjEwMDcxMDAwNkEwMDA1OUUwMDAwMDU5RTEwRjAxMjAxMDA1MDA3OTAyRgorOjEwMDcyMDAwN0ZCNEUwNDQwMUYwOTA3RkI0MDAwNUFFMDAwMDA1QUU1OAorOjEwMDczMDAwMDRFMDQ0MDJGMDAwMDAwMDAwMDAwNUIyMDEyMjAwMDBDNQorOjEwMDc0MDAwMDAwMDA1QjMxMEMwRTBDMDgzQzA4MkMwODVDMDg0QzA3MworOjEwMDc1MDAwODY3NTg2MDBDMDAwMDVDMzAwMDAwNUMzMTBEMEMwMDAyOAorOjEwMDc2MDAwQzAwMUMwMDJDMDAzQzAwNkMwMDc5MDdGQTUwMDA1RDMyQQorOjEwMDc3MDAwMDAwMDA1RDMxMEUwMzBFMjA2NzUwRDA2MDIwNjdGOTBGQQorOjEwMDc4MDAwN0ZBNUUwMjBFMTAwMDVFMzAwMDAwNUUzMTAwQ0U1MEQ4NgorOjEwMDc5MDAwNjQwMjYwMDY3NTBEMDcwMjA2N0ZBRjBERUYwMDA1RjNEQQorOjEwMDdBMDAwMDAwMDA1RjMxMDI0RkU2MDQ4MTQ2MDJDMjRGRTYwNzdERQorOjEwMDdCMDAwMjQwNDYwMDMwMjAwMDYwMzAwMDAwNjAzMTAwNjdGQUI1QQorOjEwMDdDMDAwMDlBQTBBQTkwQkFGMEMwNTBDOEY4Mjc1ODMwMDA2MTNDQQorOjEwMDdEMDAwMDAwMDA2MTMxMDAwMTIwNzg1OTA3RkE2RjBFNTBDNjU1NworOjEwMDdFMDAwMDg3MDVFNzUwRDAwMDYyMzAwMDAwNjIzMTAwNTgwNTk3MQorOjEwMDdGMDAwOTA3RkE2RTBBQjA5QUEwQUE5MEJBRTBDOEUwMDA2MzNDNworOjEwMDgwMDAwMDAwMDA2MzMxMDgyNzU4MzAwMTIwN0IyNzUwRDAyODA1NgorOjEwMDgxMDAwNDBFNTA4MjRGRTAwMDY0MzAwMDAwNjQzMTBCNTBDMDcxRgorOjEwMDgyMDAwOTA3RkE1RTA0NDIwRjBFNTA4MTRCNTBDMEEwMDA2NTNCQgorOjEwMDgzMDAwMDAwMDA2NTMxMDkwN0ZBNUUwNDQ0MEYwRTRGNTBEOTBEMQorOjEwMDg0MDAwN0ZBNkUwQUIwOTAwMDY2MzAwMDAwNjYzMTBBQTBBQTlCMAorOjEwMDg1MDAwMEJBRTBDOEU4Mjc1ODMwMDEyMDdCMjA1MEMwMDA2NzM3NgorOjEwMDg2MDAwMDAwMDA2NzMxMDgwMEE5MDdGQTVFMDQ0NDBGMEU0RjU5NAorOjEwMDg3MDAwMEQ1MzkxREZEMDAwMDY4MzAwMDAwNjgzMTAwN0QwMDZEOQorOjEwMDg4MDAwRDAwM0QwMDJEMDAxRDAwMEQwRDBEMDg2RDAwMDA2OTNDMworOjEwMDg5MDAwMDAwMDA2OTMwQTg0RDA4NUQwODJEMDgzRDBFMDMyMDA1NQorOjEwMDhBMDAwMDAwMDA2OUQxMEMyMDREMjA1RTRGNTI1QzIwM0MyMDA3MworOjEwMDhCMDAwQzIwMkMyMDExMjAwMDZBRDAwMDAwNkFEMTAwRTc0RDJENQorOjEwMDhDMDAwRTg0M0Q4MjA5MDdGQUI3NEZGRjA5MDdGQTkwMDA2QkQ2RAorOjEwMDhEMDAwMDAwMDA2QkQxMEYwOTA3RkFBRjA1MzkxRUY5MDdGOTUzNQorOjEwMDhFMDAwRTA0NEMwRjA5MDAwMDZDRDAwMDAwNkNEMTA3RjkzNzQ2OAorOjEwMDhGMDAwMzBGMDEyMEExOTc1MjQ0ODc1MjM5Mjc1MjIwMDA2REQxRQorOjEwMDkwMDAwMDAwMDA2REQxMDAwNzUyMTAwRTRGRkZFN0UwNTkwMjA0QQorOjEwMDkxMDAwNjg3NDAxRjBBMzAwMDZFRDAwMDAwNkVEMTBERUZDN0UxOQorOjEwMDkyMDAwMDA3RjA1OTA3RkFGRTA0NDAxRjA5MDdGQUUwMDA2RkRCMAorOjEwMDkzMDAwMDAwMDA2RkQxMEUwNDQwREYwRDJBRjEyMEU2ODMwMDE0OQorOjEwMDk0MDAwMEFFNDkwMjA2OTAwMDcwRDAwMDAwNzBEMTBGMDEyMDM2MworOjEwMDk1MDAwN0VDMjAxMzAwNDFBMTIwRTc3NTAxMzEyMDkwMDA3MURDRgorOjEwMDk2MDAwMDAwMDA3MUQxMDAwMzAwMDA3OTA3RkQ2RTAzMEU3RjM0RAorOjEwMDk3MDAwMTIwRDhCMTIwRTAwMDcyRDAwMDAwNzJEMTA3OUMyMDNGNworOjEwMDk4MDAwN0ZGRjdFRkY3REZGN0NGRjc4MjExMjA4MUQwMDA3M0Q2MQorOjEwMDk5MDAwMDAwMDA3M0QxMDdCMDA3QTAwNzkwMDc4MDBDMzEyMDg0MAorOjEwMDlBMDAwMEM3MDFCNzUyNDAwMDc0RDAwMDAwNzREMTA0ODc1MjM3RgorOjEwMDlCMDAwOTJGNTIyRjUyMTYzMjVGRjkwMjA2OEU1MjUwMDA3NUQ2QgorOjEwMDlDMDAwMDAwMDA3NUQwRUYwQTM3NDAxRjBBM0YwQTNGMDEyMDg3RAorOjEwMDlEMDAwRkY4MDlCMDAwMDAwMDc2QjAxMjIwMDAwMDAwMDA3NkNGNQorOjEwMDlFMDAwMTBCQjAxMDY4OTgyOEE4M0UwMjI1MDAyRTcyMkJCRkUwNworOjEwMDlGMDAwMDIwMDA3N0MwMDAwMDc3QzA5RTMyMjg5ODI4QTgzRTRFNQorOjEwMEEwMDAwOTMyMjAwMDAwMDAwMDc4NTEwQkIwMTBDRTU4MjI5RjU0OAorOjEwMEExMDAwODJFNTgzM0FGNTgzRTAyMjUwMDAwNzk1MDAwMDA3OTVCMAorOjEwMEEyMDAwMTAwNkU5MjU4MkY4RTYyMkJCRkUwNkU5MjU4MkY4RTJGNworOjEwMEEzMDAwMjIwMDA3QTUwMDAwMDdBNTBERTU4MjI5RjU4MkU1ODNDMAorOjEwMEE0MDAwM0FGNTgzRTQ5MzIyMDAwMDAwMDAwN0IyMTBGOEJCMDFERQorOjEwMEE1MDAwMERFNTgyMjlGNTgyRTU4MzNBRjU4M0U4RjAwMDA3QzJDNworOjEwMEE2MDAwMDAwMDA3QzIxMDIyNTAwNkU5MjU4MkM4RjYyMkJCRkUwQworOjEwMEE3MDAwMDVFOTI1ODJDODAwMDdEMjAwMDAwN0QyMDJGMjIyMDA1MQorOjEwMEE4MDAwMDAwMDA3RDQxMEJCMDExMEU1ODIyOUY1ODJFNTgzM0EwNgorOjEwMEE5MDAwRjU4M0UwRjVGMDAwMDdFNDAwMDAwN0U0MTBBM0UwMjI4RQorOjEwMEFBMDAwNTAwOUU5MjU4MkY4ODZGMDA4RTYyMkJCRkUwMDA3RjQyQgorOjEwMEFCMDAwMDAwMDA3RjQxMDBBRTkyNTgyRjhFMkY1RjAwOEUyMjJDNgorOjEwMEFDMDAwRTU4MzJBRjU4MzAwMDgwNDAwMDAwODA0MDhFOTkzRjU4QgorOjEwMEFEMDAwRjBBM0U5OTMyMjAwMDAwMDAwMDAwODBDMTBFQjlGRjU0MgorOjEwMEFFMDAwRjBFQTlFNDJGMEU5OUQ0MkYwRTg5QzQ1RjAwMDA4MUNDNworOjEwMEFGMDAwMDAwMDA4MUMwMTIyMDAwMDAwMDAwODFEMTAwODA4MDg2MgorOjEwMEIwMDAwRTYyRkZGRjYxOEU2M0VGRUY2MThFNjNERkQwMDA4MkQzRQorOjEwMEIxMDAwMDAwMDA4MkQwN0Y2MThFNjNDRkNGNjIyMDAwMDA4MzQxOQorOjEwMEIyMDAwMDQ4QzM0OEQzNTAwMDAwMDAwMDAwODM4MTA5MDdGOTU0QgorOjEwMEIzMDAwRTA0NEMwRjBFNEY1MzZGNTM3QzNFNTM3OTUwMDA4NDhFMgorOjEwMEI0MDAwMDAwMDA4NDgxMDM1RTUzNjk1MzQ1MDY5RUYyNTM3RjUzMworOjEwMEI1MDAwODJFNTM2M0VGNTAwMDg1ODAwMDAwODU4MTA4Mzc0RkZGRgorOjEwMEI2MDAwRjBGNDYwMDJDMzIyRUYyNTM3RjU4MkU1MzYwMDA4NjgwRAorOjEwMEI3MDAwMDAwMDA4NjgxMDNFRjU4M0U0RjA2MDAyQzMyMkVGMjUxMAorOjEwMEI4MDAwMzdGNTgyRTUzNjAwMDg3ODAwMDAwODc4MTAzRUY1ODNENgorOjEwMEI5MDAwNzRBQUYwNjRBQTYwMDJDMzIyRUYyNTM3RjUwMDA4ODgyMgorOjEwMEJBMDAwMDAwMDA4ODgxMDgyRTUzNjNFRjU4Mzc0NTVGMDY0NTVFMAorOjEwMEJCMDAwNjAwMkMzMjJBRDAwMDg5ODAwMDAwODk4MTAzN0U1Mzc5RQorOjEwMEJDMDAwMkZGNTgyRTUzNjNFRjU4M0VERjBGQ0FDMDUwMDA4QTg3NAorOjEwMEJEMDAwMDAwMDA4QTgxMEVENkM2MDAyQzMyMjA1MzdFNTM3NzBFRAorOjEwMEJFMDAwMDIwNTM2ODA4QzAwMDhCODAwMDAwOEI4MTBFNEY1MzYxRAorOjEwMEJGMDAwRjUzN0MzRTUzNzk1MzVFNTM2OTUzNDUwMjcwMDA4QzhGNQorOjEwMEMwMDAwMDAwMDA4QzgxMEVGMjUzN0Y1ODJFNTM2M0VGNTgzRTA5MQorOjEwMEMxMDAwNjUzNzYwMDJDMzAwMDhEODAwMDAwOEQ4MTAyMkVGMjUwRAorOjEwMEMyMDAwMzdGNTgyRTUzNjNFRjU4M0U0RjAwNTM3RTUwMDA4RTg2MAorOjEwMEMzMDAwMDAwMDA4RTgwODM3NzAwMjA1MzY4MENFRDMwMDAwMDBCNworOjEwMEM0MDAwMDAwMDA4RjAwMTIyMDAwMDAwMDAwOEYxMEU5MDdGMDA3MworOjEwMEM1MDAwRTUxMEYwOTA3RkI1NzQwMUYwRDMyMjAwMDAwMDA4RkY4QQorOjEwMEM2MDAwMDEyMjAwMDAwMDAwMDkwMDA5OTA3RkQ2RTA0NDgwRjBENgorOjEwMEM3MDAwODA3NDAwMDAwMDAwMDk3RDEwNDM4NzAxMDAwMDAwMDAxRgorOjEwMEM4MDAwMDAwMDAwMDAwMDAwMDAwMDIyMDAwOThEMDAwMDA5OEQxNgorOjEwMEM5MDAwMEM3ODdGRTRGNkQ4RkQ3NTgxM0EwMjA5RDQwMDAwMDA5MworOjEwMENBMDAwMDAwMDA5OTkxMDAyMDY5REU0OTNBM0Y4RTQ5M0EzNDA4MQorOjEwMENCMDAwMDNGNjgwMDFGMjAwMDlBOTAwMDAwOUE5MTAwOERGRjQ3OQorOjEwMENDMDAwODAyOUU0OTNBM0Y4NTQwNzI0MENDOEMzMzMwMDA5Qjk1RQorOjEwMENEMDAwMDAwMDA5QjkxMEM0NTQwRjQ0MjBDODgzNDAwNEY0NTZERQorOjEwMENFMDAwODAwMTQ2RjZERjAwMDlDOTAwMDAwOUM5MTBFNDgwMEI0NQorOjEwMENGMDAwMDEwMjA0MDgxMDIwNDA4MDkwMEUyREU0N0UwMDA5RDlFNgorOjEwMEQwMDAwMDAwMDA5RDkxMDAxOTM2MEJDQTNGRjU0M0YzMEU1MDlFRQorOjEwMEQxMDAwNTQxRkZFRTQ5MzAwMDlFOTAwMDAwOUU5MTBBMzYwMDFGMworOjEwMEQyMDAwMEVDRjU0QzAyNUUwNjBBODQwQjhFNDkzQTMwMDA5RjlCMQorOjEwMEQzMDAwMDAwMDA5RjkxMEZBRTQ5M0EzRjhFNDkzQTNDOEM1ODI2QworOjEwMEQ0MDAwQzhDQUM1ODNDQTAwMEEwOTAwMDAwQTA5MTBGMEEzQzg2RQorOjEwMEQ1MDAwQzU4MkM4Q0FDNTgzQ0FERkU5REVFNzgwQkUwMDBBMTlCQQorOjEwMEQ2MDAwMDAwMDBBMTkxMEU0OTA3RjlDRjA3RjBBRkUxMjBERDU1NgorOjEwMEQ3MDAwOTA3Rjk2NzQ4OTAwMEEyOTAwMDAwQTI5MTBGMDkwN0Y1QworOjEwMEQ4MDAwOUM3NENGRjA3RkY0N0UwMTEyMERENTkwN0YwMDBBMzk1QworOjEwMEQ5MDAwMDAwMDBBMzkxMDk2RTA1NEZFRjA3RjBBN0UwMDEyMEQyMgorOjEwMERBMDAwRDU3RjA1N0UwMDAwMEE0OTAwMDAwQTQ5MTAxMjBERDVDMgorOjEwMERCMDAwOTA3Rjk2RTA0NDAyRjBFMDU0N0ZGMDdGMDUwMDBBNTlFRQorOjEwMERDMDAwMDAwMDBBNTkxMDdFMDAxMjBERDU5MDdGOTZFMDQ0NDAzNQorOjEwMEREMDAwRjA3RjA1N0UwMDAwMEE2OTAwMDAwQTY5MTAxMjBERDUzNworOjEwMERFMDAwOTA3Rjk2RTA1NEJGRjA3RjMyN0UwMDEyMEQwMDBBNzlBQQorOjEwMERGMDAwMDAwMDBBNzkxMEQ1OTA3Rjk2RTA0NDQwRjA3RjMyN0U2MworOjEwMEUwMDAwMDAxMjBERDUyMjAwMEE4OTAwMDAwQTg5MTA3NTMzMDFFRAorOjEwMEUxMDAwRTUzMzYwMUI3RjAxMTIwRTE4N0YwMDdFMEUwMDBBOTlEOQorOjEwMEUyMDAwMDAwMDBBOTkxMDdEMDA3QzAxMTIwODM0RTQzM0Y1MzM4OAorOjEwMEUzMDAwNzAwNTdGMEYxMjAwMEFBOTAwMDAwQUE5MTAwRTE4RTUxQworOjEwMEU0MDAwMzM2MDFCN0YwMjEyMEUxODdGMDA3RTgwN0QwMDBBQjk3RQorOjEwMEU1MDAwMDAwMDBBQjkxMDAwN0M4MDEyMDgzNEU0MzNGNTMzNzBDNgorOjEwMEU2MDAwMDU3RjBGMTIwRTAwMEFDOTAwMDAwQUM5MTAxOEU1MzNFOQorOjEwMEU3MDAwNjAxQjdGMDMxMjBFMTg3RjAwN0UyMDdENDAwMDBBRDk4MAorOjEwMEU4MDAwMDAwMDBBRDkxMDdDNUIxMjA4MzRFNDMzRjUzMzcwMDU5NgorOjEwMEU5MDAwN0YwRjEyMEUxODAwMEFFOTAwMDAwQUU5MERFNTMzNjAyMQorOjEwMEVBMDAwMDVFNEZGMTIwRTE4RTUzMzI0RkYwMDAwMDAwMDBBRjZFNworOjEwMEVCMDAwMDEyMjAwMDAwMDAwMEFGNzA4OTA3RkVBRTBGNTEwRDM1NQorOjEwMEVDMDAwMjIwMDAwMDAwMDAwMEFGRjAxMzIwMDAwMDAwMDBCMDBCOQorOjEwMEVEMDAwMTAwMjBEQTUwMDAyMERFQzAwMDIwRDcwMDAwMjBEQkQwOAorOjEwMEVFMDAwMDAwMDBCMTAwMDAwMEIxMDEwMDIwRTAyMDAwMjBBRkY5RgorOjEwMEVGMDAwMDAwMjBFODMwMDAyMEU4NDAwMDAwQjIwMDAwMDBCMjA3NQorOjEwMEYwMDAwMTAwMjBFODUwMDAyMEU4NjAwMDIwRTg3MDAwMjBFODg3NworOjEwMEYxMDAwMDAwMDBCMzAwMDAwMEIzMDEwMDIwRTg5MDAwMjBFOEExOAorOjEwMEYyMDAwMDAwMjBFOEIwMDAyMEU4QzAwMDAwQjQwMDAwMDBCNDBGNAorOjEwMEYzMDAwMTAwMjBFOEQwMDAyMEU4RTAwMDIwRThGMDAwMjBFOTAyNworOjEwMEY0MDAwMDAwMDBCNTAwMDAwMEI1MDA4MDIwRTkxMDAwMjBFOTJBMAorOjEwMEY1MDAwMDAwMDAwMDAwMDAwMEI1ODEwRTRGRTc1MkJGRjc1MkNGQworOjEwMEY2MDAwMTE3NTJEMTJBQjJCQUEyQ0E5MDAwQjY4MDAwMDBCNjg4MQorOjEwMEY3MDAwMTAyRDkwMDAwMTEyMDc4NTY0MDI3MDJEQUQwNjBFRUQ1NAorOjEwMEY4MDAwQjUwMDBCNzgwMDAwMEI3ODEwMDcwMTIyOTAwMDAyMTJDOAorOjEwMEY5MDAwMDdENDg1RjAyOUY1MkE2MjI5MDAwQjg4MDAwMDBCODgwOAorOjEwMEZBMDAwMTBFNTI5NjIyQUU1MkE2MjI5MjlGREU1MjkzQUE5MDVFMQorOjEwMEZCMDAwNzUwMDBCOTgwMDAwMEI5ODBFMkJGRkY1MkM4OTJEODBFNworOjEwMEZDMDAwQzM3QjAwN0EwMDc5MDAwMDAwMDAwQkE2MDEyMjAwMDAxQworOjEwMEZEMDAwMDAwMDBCQTcwNkFCMDdBQTA2QUMwNTAwMDAwMDBCQUQ4RQorOjEwMEZFMDAwMTBFNEZERTUxMTYwMTFFQUZGQUUwNTBERUUyNDEwRjVFOQorOjEwMEZGMDAwODIwMDBCQkQwMDAwMEJCRDEwRTQzNDBGRjU4M0VGRjA1MQorOjEwMTAwMDAwRUJBRTA1MEQ3NDEwMkVGNTgyMDAwQkNEMDAwMDBCQ0Q1QworOjEwMTAxMDAwMTBFNDM0MEZGNTgzRUJGMEFGMDUwRDc0MTAyRkY1ODI1QgorOjEwMTAyMDAwRTQwMDBCREQwMDAwMEJERDEwMzQwRkY1ODNFQ0YwQUZCNgorOjEwMTAzMDAwMEY3QTBGN0IxMDEyMEQ1MTdGMDAwQkVEMDAwMDBCRURBRQorOjEwMTA0MDAwMDYwQTdFMDAxMjBERDUwMDAwMDAwQkYzMDEyMjAwMDBGRAorOjEwMTA1MDAwMDAwMDBCRjQwQThFMzM4RjM0OEQzNThBMzY4QjM3MDBCRgorOjEwMTA2MDAwMDAwMDBCRkUxMEU0RkRGNTM4RTUxMTYwMTJFNTMzRkZEQQorOjEwMTA3MDAwQUUwNTBERUUyNDAwMEMwRTAwMDAwQzBFMTAxM0Y1ODJEMAorOjEwMTA4MDAwRTQzNDBGRjU4M0VGRjBFNTM0QUUwNTBENzQwMDBDMUU2QgorOjEwMTA5MDAwMDAwMDBDMUUxMDEzMkVGNTgyRTQzNDBGRjU4M0U1MzRBNgorOjEwMTBBMDAwRjBBRjBGN0EwRjAwMEMyRTAwMDAwQzJFMTA3QjEzMTJFNQorOjEwMTBCMDAwMEQ1MUFGMEZBRDM1QUIzN0FBMzYxMjBEMzIwMDBDM0VENQorOjEwMTBDMDAwMDAwMDBDM0UwMTIyMDAwMDAwMDAwQzNGMDI4RjI5MDBBRQorOjEwMTBEMDAwMDAwMDBDNDExMEU0RjUyQTc1MkJGRjc1MkMxMTc1MkRCRAorOjEwMTBFMDAwMzJBQjJCQUEyQzAwMEM1MTAwMDAwQzUxMTBBOTJEOTBGMgorOjEwMTBGMDAwMDAwMTEyMDc4NUI0MDMxREFGMkEwNTJBRUYwMDBDNjExOQorOjEwMTEwMDAwMDAwMDBDNjExMEI1MjkwMTIyMTIwNzZDN0UwMDI5RkYzNgorOjEwMTExMDAwRUUzQUE5MDc3NTAwMEM3MTAwMDAwQzcxMEUyQkZGRjU1QgorOjEwMTEyMDAwMkM4OTJEODBENDdCMDA3QTAwNzkwMDAwMDAwMDBDN0Y5MAorOjEwMTEzMDAwMDEyMjAwMDAwMDAwMEM4MDBBOEUzMzhGMzQ4RDM1OEEyNgorOjEwMTE0MDAwMzY4QjM3MDAwMDAwMEM4QTEwRTRGNTM4RTUzOEMzOTU3QgorOjEwMTE1MDAwMzU1MDIwMDUzNEU1MzRBRTMzMDAwQzlBMDAwMDBDOUE2QgorOjEwMTE2MDAwMTA3MDAyMDUzMzE0RkZFNTM3MjUzOEY1ODJFNDM1MzY3MworOjEwMTE3MDAwRjUwMDBDQUEwMDAwMENBQTBBODNFMEZEMTIwQkE3MDVEQgorOjEwMTE4MDAwMzg4MEQ5MDAwMDAwMENCNDAxMjIwMDAwMDAwMDBDQjUyQQorOjEwMTE5MDAwMTBBOTA3RTUwRDcwMjU5MDdGQTVFMDQ0ODBGMEU5MjVCMgorOjEwMTFBMDAwRTAwMDBDQzUwMDAwMENDNTEwNDQwMTkwN0ZBNkYwOEQzNgorOjEwMTFCMDAwMDhBRjAzQTkwNzc1MDkwMThBMDAwQ0Q1MDAwMDBDRDVGQQorOjEwMTFDMDAwMEQwQTg5MEJFNEY1MEM3NTBEMDNEMzIyQzMyMjAwMDAzMAorOjEwMTFEMDAwMDAwMDBDRTIxMEE5MDdFNTBENzAyMzkwN0ZBNUUwNDQwNAorOjEwMTFFMDAwODBGMEU5MjVFMDAwMENGMjAwMDAwQ0YyMTA5MDdGQTZFMAorOjEwMTFGMDAwRjA4RDA4QUYwM0E5MDc3NTA5MDE4QTBBODkwMDBEMDI1RAorOjEwMTIwMDAwMDAwMDBEMDIwQjBCRTRGNTBDNzUwRDAxRDMyMkMzMjI3NworOjEwMTIxMDAwMDAwMDBEMEQxMDkwN0ZENkUwNTRGQkYwRTA0NDA4RjA4NAorOjEwMTIyMDAwMzAwNjA0RTA0NDAwMEQxRDAwMDAwRDFEMTAwMkYwN0Y4QgorOjEwMTIzMDAwRDA3RTA3MTIwREQ1OTA3RkQ2RTA1NEY3RjAwMDBEMkQyQgorOjEwMTI0MDAwMDAwMDBEMkQwNUUwNDQwNEYwMjIwMDAwMDAwMDBEMzJFNgorOjEwMTI1MDAwMTAxMjBDQjVFNTBEMjRGQTYwMTAxNDYwMDcyNDA3NzAxNQorOjEwMTI2MDAwRjMwMDBENDIwMDAwMEQ0MjBGN0YwODIyRTRGNTBEN0ZEMAorOjEwMTI3MDAwMDcyMkU0RjUwRDdGMDYyMjAwMDAwRDUxMTAxMjBDRTI0QQorOjEwMTI4MDAwRTUwRDI0RkE2MDEwMTQ2MDA3MjQwNzcwRjMwMDBENjE2NworOjEwMTI5MDAwMDAwMDBENjEwRjdGMDgyMkU0RjUwRDdGMDcyMkU0RjVDMQorOjEwMTJBMDAwMEQ3RjA2MjIwMDAwMEQ3MDEwQzBFMEMwODNDMDgyOTA0OAorOjEwMTJCMDAwN0ZDNEU0RjA1MzkxRUY5MDdGMDAwRDgwMDAwMDBEODAxQgorOjEwMTJDMDAwMEJBQjc0MDRGMEQwODJEMDgzRDBFMDMyMDAwMDBEOEJFMQorOjEwMTJEMDAwMTA5MDdGRDZFMDMwRTcxMkUwNDQwMUYwN0YxNDdFMDBFQQorOjEwMTJFMDAwMTIwMDBEOUIwMDAwMEQ5QjBBMERENTkwN0ZENkUwNTQ5NworOjEwMTJGMDAwRkVGMDIyMDAwMDAwMERBNTEwQzBFMEMwODNDMDgyRDIyNQorOjEwMTMwMDAwMDE1MzkxRUY5MDdGQUI3NDAxMDAwREI1MDAwMDBEQjU1NgorOjEwMTMxMDAwMDhGMEQwODJEMDgzRDBFMDMyMDAwMDAwMDAwMDBEQkQ4NAorOjEwMTMyMDAwMTBDMEUwQzA4M0MwODJEMjAzNTM5MUVGOTA3RkFCNzRCMgorOjEwMTMzMDAwMDgwMDBEQ0QwMDAwMERDRDA4RjBEMDgyRDA4M0QwRTBBNAorOjEwMTM0MDAwMzIwMDAwMDAwMDAwMERENTEwOEUzOThGM0FFNTNBMTVCNQorOjEwMTM1MDAwM0FBRTM5NzAwMjE1Mzk0RTYwMDAwREU1MDAwMDBERTUxQQorOjEwMTM2MDAwMDcwNTEyMEU0MTgwRUUyMjAwMDAwREVDMTBDMEUwQzAxNworOjEwMTM3MDAwODNDMDgyNTM5MUVGOTA3RkFCNzQwMkYwRDAwMDBERkNEQworOjEwMTM4MDAwMDAwMDBERkMwNjgyRDA4M0QwRTAzMjAwMDAwMDBFMDI4NworOjEwMTM5MDAwMTBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQUI3NDEwRjAxNworOjEwMTNBMDAwRDAwMDBFMTIwMDAwMEUxMjA2ODJEMDgzRDBFMDMyMDA3MAorOjEwMTNCMDAwMDAwMDBFMTgxMEFFMDc3RjIxN0QwMTc0MDAyRUY1ODIwQgorOjEwMTNDMDAwRTQzNDBGQUI4MjAwMEUyODAwMDAwRTI4MDVGQTEyMEQzRgorOjEwMTNEMDAwNTEyMjAwMDAwMDAwMEUyRDEwNTAwRjAwQzBGOUE0QjBFMworOjEwMTNFMDAwOTk5MjgyRjg4MDk4ODg4M0M2MDAwRTNEMDAwMDBFM0REOQorOjEwMTNGMDAwMDNBMTg2OEUwMDAwMEU0MDAxMDAwMDAwMDAwMDBFNDE5NworOjEwMTQwMDAwMTA3NDAwRjU4NjkwRkRBNTdDMDVBM0U1ODI0NTgzNzBFOAorOjEwMTQxMDAwRjkwMDBFNTEwMDAwMEU1MTAxMjIwMDAwMDAwMDBFNTI5MgorOjEwMTQyMDAwMEU5MDdGMDBFNTBFRjA5MDdGQjU3NDAxRjBEMzIyMDA5RQorOjEwMTQzMDAwMDAwMDBFNjAwODkwN0ZFQUUwRjUwRUQzMjIwMDAwMDA2NQorOjEwMTQ0MDAwMDAwMDBFNjgwOEU0RjUwREQyRTlEMkFGMjIwMDAwMDBEQQorOjEwMTQ1MDAwMDAwMDBFNzAwNDUzRDhFRjMyMDAwMDAwMDAwMDBFNzQzQworOjEwMTQ2MDAwMDNEMjAwMjIwMDAwMEU3NzAyRDMyMjAwMDAwMDBFNzk4MgorOjEwMTQ3MDAwMDJEMzIyMDAwMDAwMEU3QjAyRDMyMjAwMDAwMDBFN0Q2QQorOjEwMTQ4MDAwMDJEMzIyMDAwMDAwMEU3RjAyRDMyMjAwMDAwMDBFODE1MgorOjEwMTQ5MDAwMDJEMzIyMDAwMDAwMEU4MzAxMzIwMDAwMDAwMDBFODRGRgorOjEwMTRBMDAwMDEzMjAwMDAwMDAwMEU4NTAxMzIwMDAwMDAwMDBFODZBRgorOjEwMTRCMDAwMDEzMjAwMDAwMDAwMEU4NzAxMzIwMDAwMDAwMDBFODg5QgorOjEwMTRDMDAwMDEzMjAwMDAwMDAwMEU4OTAxMzIwMDAwMDAwMDBFOEE4NworOjEwMTREMDAwMDEzMjAwMDAwMDAwMEU4QjAxMzIwMDAwMDAwMDBFOEM3MworOjEwMTRFMDAwMDEzMjAwMDAwMDAwMEU4RDAxMzIwMDAwMDAwMDBFOEU1RgorOjEwMTRGMDAwMDEzMjAwMDAwMDAwMEU4RjAxMzIwMDAwMDAwMDBFOTA0QgorOjEwMTUwMDAwMDEzMjAwMDAwMDAwMEU5MTAxMzIwMDAwMDAwMDBFOTIzNgorOjEwMTUxMDAwMDEzMjAwMDAwMDAwMTEwMDEwMTIwMTAwMDEwMDAwMDA2MworOjEwMTUyMDAwNDA0NzA1MTAyNzAxMDAwMTAyMDAxMTEwMDAwMDExMTBCMgorOjEwMTUzMDAwMTAwMDAxMDkwMjIwMDAwMTAxMDNBMDAwMDkwNDAwMDBCRAorOjEwMTU0MDAwMDIwMDExMjAwMDAwMTEyMDEwRkYwMDAwMDQwNzA1ODI5NgorOjEwMTU1MDAwMDI0MDAwMDAwNzA1MDIwMjQwMDAxMTMwMDAwMDExMzA3NworOjEwMTU2MDAwMTAwMDAwMDQwMzA5MDQyNjAzNDEwMDZFMDA2MzAwNjhCNAorOjEwMTU3MDAwMDAwMDExNDAwMDAwMTE0MDEwNkYwMDcyMDAyMDAwNDM3NQorOjEwMTU4MDAwMDA2ODAwNjkwMDcwMDA3MzAwMDAxMTUwMDAwMDExNTBFNQorOjEwMTU5MDAwMTAyQzAwMjAwMDQ5MDA2RTAwNjMwMDJFMDAyODAzNDYzNgorOjEwMTVBMDAwMDAwMDExNjAwMDAwMTE2MDEwNjkwMDcyMDA2RDAwNzc4QQorOjEwMTVCMDAwMDA2MTAwNzIwMDY1MDAyMDAwMDAxMTcwMDAwMDExNzBEMQorOjEwMTVDMDAwMTA0NjAwNzIwMDYxMDA2RDAwNjUwMDU3MDA2RjAwNzJFOAorOjEwMTVEMDAwMDAwMDExODAwMDAwMTE4MDEwNkIwMDczMDAyQTAzNDM4QgorOjEwMTVFMDAwMDA2RjAwNkUwMDY2MDA2OTAwMDAxMTkwMDAwMDExOTAwRAorOjEwMTVGMDAwMTA2NzAwNzUwMDcyMDA2MTAwNzQwMDY5MDA2RjAwNkU3MgorOjEwMTYwMDAwMDAwMDExQTAwMDAwMTFBMDEwMjAwMDUzMDA3NDAwNzIwRgorOjEwMTYxMDAwMDA2OTAwNkUwMDY3MDAyMjAzMDAxMUIwMDAwMDExQjBFNQorOjEwMTYyMDAwMTA0OTAwNkUwMDc0MDA2NTAwNzIwMDY2MDA2MTAwNjM3RQorOjEwMTYzMDAwMDAwMDExQzAwMDAwMTFDMDEwNjUwMDIwMDA1MzAwNzRBQworOjEwMTY0MDAwMDA3MjAwNjkwMDZFMDA2NzAwMDAxMUQwMDAwMDExRDAyOAorOjA5MTY1MDAwMDIwMDAwMDAwMDAwMDAwMDAwOEYKKzowMDAwMDAwMUZGCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCisgKiAgICAgIHdoaXRlaGVhdC5oICAtLSAgQ29ubmVjdFRlY2ggV2hpdGVIRUFUIEZpcm13YXJlLgorICoKKyAqICAgICAgQ29weXJpZ2h0IChDKSAyMDAwLTIwMDIgIENvbm5lY3RUZWNoIEluYyAoaHR0cDovL3d3dy5jb25uZWN0dGVjaC5jb20vKQorICoKKyAqICAgICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqICAgICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAqICAgICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyAqICAgICAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiAgICAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogICAgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogICAgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiAgICAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogICAgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogICAgICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogICAgICBGb3VuZGF0aW9uLCBJbmMuLCA2NzUgTWFzcyBBdmUsIENhbWJyaWRnZSwgTUEgMDIxMzksIFVTQS4KKyAqCisgKiAoMTAvMDkvMjAwMikgU3R1YXJ0IE1hY0RvbmFsZAorICoJRmlybXdhcmUgNC4wNgorICoKKyAqICgwNC8wOS8yMDAwKSBna2gKKyAqCVVwZGF0ZWQgdGhlIGZpcm13YXJlIHdpdGggdGhlIGxhdGVzdCBwcm92aWRlZCBieSBDb25uZWN0VGVjaC4KKyAqCisgKiAoMDEvMTYvMjAwMCkgZ2toCisgKglGaXhlZCBteSBpbnRlbCBoZXggcHJvY2Vzc2luZyB0b29sLCBzbyBub3cgdGhlIGZpcm13YXJlIGFjdHVhbGx5CisgKgltYXRjaGVzIHRoZSBvcmlnaW5hbCBmaWxlICh0aGlzIHdhcyBjYXVzaW5nIGEgZmV3IHByb2JsZW1zLi4uKQorICoKKyAqICgwMS8xNS8yMDAwKSBna2gKKyAqCUFkZGVkIGRlYnVnIGxvYWRlciBmaXJtd2FyZSBpZiBERUJVRyBpcyAjZGVmaW5lZDoKKyAqCQlQb3J0IDEgTEVEIGZsYXNoZXMgd2hlbiB0aGUgdmVuZF9heCBwcm9ncmFtIGlzIHJ1bm5pbmcKKyAqCQlQb3J0IDIgTEVEIGZsYXNoZXMgd2hlbiBhbnkgU0VUVVAgY29tbWFuZCBhcnJpdmVzCisgKgkJUG9ydCAzIExFRCBmbGFzaGVzIHdoZW4gYW55IHZhbGlkIFZFTkRPUiByZXF1ZXN0IG9jY3VycworICoJCVBvcnQgNCBMRUQgZmxhc2hlcyB3aGVuIHRoZSBFWFRFUk5BTCBSQU0gRE9XTkxPQUQgcmVxdWVzdCBvY2N1cnMKKyAqCisgKiB2ZXJzaW9uIDEuMCAoMDEvMDkvMjAwMCkgZ2toCisgKglPcmlnaW5hbCBmaXJtd2FyZSBmcm9tIENvbm5lY3RUZWNoIG1hc3NhZ2VkIGEgbGl0dGxlIHRvIGJlIHByb2dyYW0KKyAqCXJlYWRhYmxlLgorICoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2RlZmluZSB3aGl0ZWhlYXRfREFURSAiMjAwMDAxMDYiCmRpZmYgLS1naXQgYS9maXJtd2FyZS95YW1haGEvZHMxX2N0cmwuZncuaWhleCBiL2Zpcm13YXJlL3lhbWFoYS9kczFfY3RybC5mdy5paGV4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFhOWIxZDcKLS0tIC9kZXYvbnVsbAorKysgYi9maXJtd2FyZS95YW1haGEvZHMxX2N0cmwuZncuaWhleApAQCAtMCwwICsxLDc2OSBAQAorOjEwMDAwMDAwMDcwMDAwMDAwNzAwMjQwMDA3MDAwQzAwMDcwMDFDMDA4OAorOjEwMDAxMDAwMDcwMDA2MDAwMjAwNzAwMDIwMDAwMDAwNDAwMDAzMDBGRQorOjEwMDAyMDAwMDQ3MTAwMDA4NjQyMDAwMDQwMDAwMzAwMEQwRjAwMDAzNAorOjEwMDAzMDAwMTAwODAwMDAzQTA0MjAwMDgyMDIwMDAwMEQwMjAwMDBCNworOjEwMDA0MDAwMTAwODAwMDAzQTA0MjAwMDgyMTIwMDAwODIwRTIwMDBGNgorOjEwMDA1MDAwODIxQTAwMDAwRDJEMDMwMDEwMDgwMDAwM0EwNDEwMDA2MQorOjEwMDA2MDAwOEREMzAyMDAxMDA4MDAwMDNBMDQxODAwMEQwMTAwMDBCMgorOjEwMDA3MDAwMTUwMDAyMDBGRDAwMDAwMDIwMDAwMDAwNjA4ODAzMDA2MQorOjEwMDA4MDAwNjA5MDAzMDA2MDgwMDMwMDQwODAwMzAwNDA4MDAzMDAxNAorOjEwMDA5MDAwNDA4MDAzMDA0MDgwMDEwMDdEMEEwMDAwNDA4MDAzMDA5MgorOjEwMDBBMDAwNDA4MDAzMDA0MDgwMDEwMDAyMDQyMDAwODIwODAwMDAxQworOjEwMDBCMDAwMUEwMDA4MDAwNDA5MDAwMDg2NTkwMTAwMDcwMDAwMDAyQQorOjEwMDBDMDAwMDcwMDI2MDAwNzAwMDAwMDA3MDAwMDAwMDY4QTAxMDA2NAorOjEwMDBEMDAwMDcwMDAwMDA4RDBDMDMwMDEwMDgwMDAwM0EwNDE4MDAwRgorOjEwMDBFMDAwMDcwMDI2MDA3RDA4MDAwMDQyODAwMTAwMEExNjAwMDA3QgorOjEwMDBGMDAwMDZBMjA0MDAwNzAwMDAwMDhEMjEwMDAwMTAwODAwMDA4NworOjEwMDEwMDAwM0EwNDA4MDAwNkMyMjEwMDA3MDAwMDAwRkQwNzAwMDBCNQorOjEwMDExMDAwNDI4MDAxMDAwQTAwMDgwMDA0MDkwMDAwODY5MzAyMDBFMgorOjEwMDEyMDAwOTUwMTAwMDAwNDBEMDkwMDA3MDAwMDAwMjAwODAwMDBGMAorOjEwMDEzMDAwRjUwMDAwMDA3RDBCMDAwMDYwRjAwMTAwRkQwMDAwMDBGNAorOjEwMDE0MDAwMDYyMjAzMDA0MDgwMDEwMDdEMEEwMDAwNDI4MDAzMDA3NworOjEwMDE1MDAwNEE4MDEzMDAwQTAwMTgwMDIwMTgwMDAwNjA5MDA1MDA3MworOjEwMDE2MDAwNjA4ODA1MDA0MDgwMDEwMEZEMDAwMDAwNDI4MDAxMDAyMQorOjEwMDE3MDAwMEEwMDcwMDAxNTAxMDAwMDQ0MTEwNzAwODYyMzAzMDBFNworOjEwMDE4MDAwMDAwMDAzMDAyMDcwMDAwMDA2NEEwMzAwNDA4MDAxMDBDOAorOjEwMDE5MDAwOEQzNDAwMDAxMDA4MDAwMDNBMDQwODAwMDZFQTIxMDAyRgorOjEwMDFBMDAwMDcwMDAwMDA4REQzMDIwMDEwMDgwMDAwM0EwNDE4MDA3OAorOjEwMDFCMDAwMDY4MjAxMDAwNzAwMDAwMDA3MDAyNDAwOEQwRjAwMDBFOAorOjEwMDFDMDAwMTAwODAwMDAzQTE2MDAwMDAyMjQwMDAwMDI1QzAwMDA0MworOjEwMDFEMDAwRkQyODAwMDAyMDAwMDAwMDQwODAwMTAwMEQwMDA4MDAwNAorOjEwMDFFMDAwMTUwODAwMDA4NDA5NTEwMDA3MDAwMDAwNEQwMDAwMDBDMAorOjEwMDFGMDAwNUQwRTAwMDAwMjBFMDAwMDhENDEwMDAwMTAwODAwMDA5RQorOjEwMDIwMDAwM0EwNDA4MDAwNjhBMkMwMDA3MDAwMDAwOEQwMDAwMDA1OAorOjEwMDIxMDAwMjQwOTAwMDAwMjBGMDAwMDhENDUwMDAwMTAwODAwMDBCNgorOjEwMDIyMDAwM0EwNDA4MDAwNjhBMkMwMDA3MDAwMDAwN0QzODAwMDAxMAorOjEwMDIzMDAwNDI4MDAxMDAwQTAwMDgwMDE1MTAwMDAwODQwOTAxMDAzNgorOjEwMDI0MDAwODY4MzAxMDAwNzAwMDAwMDA2QUEwMTAwMDcwMDAwMDBFNQorOjEwMDI1MDAwRkQwODAwMDA0MjgwMDEwMDBBMDAxODAwMDQxOTAwMDA5NworOjEwMDI2MDAwODY4MDIxMDAwNzAwMjgwMDEwMTgwMDAwM0EwNDI4MDBBQQorOjEwMDI3MDAwMDIwQzI4MDAwRDAwMDAwMDEwMDgwMDAwM0ExNDI4MDBBRAorOjEwMDI4MDAwOEQ4MDA4MDAyMDA4MDAwMEZEMDIwMDAwNDA4MDAxMDA3MQorOjEwMDI5MDAwMDcwMDIwMDAwRDAyMDAwMDA0OTkxODAwMDcwMDAwMDA2QworOjEwMDJBMDAwMkQ0MDAwMDBCRDAwMDAwMEZEMDIwMDAwNDI4MDAxMDA2MgorOjEwMDJCMDAwMEEwMDA4MDAwNDA5MDAwMDg2NUEwNTAwMDcwMDAwMDAzMworOjEwMDJDMDAwMDAwMTAwMDAyMDBBMDAwMDdEMDQwMDAwNDA4MDAxMDBDMQorOjEwMDJEMDAwNDI4MDAxMDAwQTAwMjAwMDE1MzAwMDAwNDQyMTAxMDA4NgorOjEwMDJFMDAwODY0OTAzMDAwNzAwMDAwMDA0MjEwMDAwODY0OTAzMDAzRQorOjEwMDJGMDAwMDcwMDAwMDA4RDBGMDAwMDEwMDgwMDAwM0EwQzI4MDBENQorOjEwMDMwMDAwNDQzOTAyMDA4NkM5MDYwMDA3MDAwMDAwMTAxODAwMDBFQQorOjEwMDMxMDAwM0EwNDI4MDAwRDgxMDgwMDIwMDgwMDAwRkQwMjAwMDBCQQorOjEwMDMyMDAwNDA4MDAxMDAwNzAwMjAwMDEwMjgwMDAwM0EwMDc4MDBGQgorOjEwMDMzMDAwOEQ2ODAwMDAxMDA4MDAwMDNBMDQwODAwMDY4QTI4MDBCMgorOjEwMDM0MDAwMDcwMDAwMDAwRDQwMDAwMDE1MTAwMDAwMDQ5OTE4MDA3RgorOjEwMDM1MDAwMDQyOTI5MDAwNDM5MzkwMDA3MDAwMDAwMDYwMjA2MDBCQworOjEwMDM2MDAwMDcwMDAwMDBGNTA0MDAwMDdEMDAwMDAwMjAwMDAwMDBGMAorOjEwMDM3MDAwOEQwMDAwMDA2MDA4MDEwMDQwODAwMTAwN0QwNDAwMDA0NQorOjEwMDM4MDAwNDI4MDAzMDA0QTgwMjEwMDBBMDAxODAwNDQxOTAyMDAzQworOjEwMDM5MDAwODY1ODIxMDAwNzAwMDAwMDc1NDAwMDAwMDRGMTcxMDAzQworOjEwMDNBMDAwMDcwMDAwMDA0MjAwMDEwMDBBMDAyODAwMDQyOTAwMDBBNAorOjEwMDNCMDAwODYyMDIxMDAwNzAwMDAwMDBEM0MwMDAwMDRBOTMwMDA0OQorOjEwMDNDMDAwMDcwMDAwMDA3RDA3MDAwMDQyODAwMTAwMEEwMDA4MDBDRAorOjEwMDNEMDAwMDQwOTAwMDA4NkRBMDcwMDdEMDUwMDAwMjAyODAwMDBERgorOjEwMDNFMDAwNjBCMDAzMDAwNkYyMDcwMDQwODAwMTAwMjAzMDAwMDBFQQorOjEwMDNGMDAwNjBBODAzMDA0MDgwMDEwMEZEMDIwMDAwNDI4MDAxMDA2RgorOjEwMDQwMDAwMEEwMDA4MDAwNDA5MDAwMDg2RkEwNzAwMDcwMDAwMDAzRgorOjEwMDQxMDAwN0QwNTAwMDA0MjgwMDEwMDBBMDQyODAwOEQwRTAwMDBDNgorOjEwMDQyMDAwMTAwODAwMDAzQTBDMjgwMDBEMDAwMDAwMTAwODAwMDAyMQorOjEwMDQzMDAwM0ExNDI4MDAwRDAwMDkwMDIwMDgwMDAwRkQwMjAwMDAwOQorOjEwMDQ0MDAwNDA4MDAxMDAwNzAwMjAwMEZEM0QwMDAwMjAwMDAwMDA2QQorOjEwMDQ1MDAwNDA4MDAxMDA3RDEwMDAwMDhEOEQwMDAwMTAwODAwMDAxQworOjEwMDQ2MDAwM0EwNDA4MDAwNjhBMjgwMDA3MDAwMDAwMTUwODAwMDA2QQorOjEwMDQ3MDAwMUEwMDA4MDA4NDA5MDEwMDg2NTEwOTAwN0QxMzAwMDA1QworOjEwMDQ4MDAwMDAwNTIwMDAyMDBGMjgwMDYwOEYzMzAwNjA4RjNCMDBBNAorOjEwMDQ5MDAwNjA4RjQzMDA2MDhGNEIwMDYwOEY1MzAwNjA4RjVCMDA2NAorOjEwMDRBMDAwNjA4QTAzMDA0MDgwMDEwMEJEN0YwMDAwQzQzRDM4MDAyOQorOjEwMDRCMDAwMDcwMDAwMDA3RDFBMDAwMDc1MTMwMDAwNDI4MDAxMDA1MworOjEwMDRDMDAwNEEwMDA5MDAwQTAwMTAwMDA0OEQwQjAwMDQ5NTEzMDA3NworOjEwMDREMDAwMDcwMDAwMDAyMDA4MDAwMDYwOTAwMTAwMDQxMTAwMDBFNworOjEwMDRFMDAwODYyMDIxMDA0MDAwMDEwMEZEMTcwMDAwNDI4MDAxMDAyRAorOjEwMDRGMDAwMEEwMDA4MDAwNDA5MDAwMDg2MjIyMTAwMDcwMDAwMDAwRAorOjEwMDUwMDAwN0QxOTAwMDA0MjgwMDMwMDRBODAwOTAwMEEwMDEwMDBBMworOjEwMDUxMDAwMjQwOTAwMDA2NDE2MDAwMEZEMTEwMDAwNDI4MDAzMDA2MQorOjEwMDUyMDAwNEE4MDJCMDA0QTgwMTkwMDhEMDAwMDAwNDQ4OTIxMDA3OAorOjEwMDUzMDAwMDcwMDAwMDA0NDIyMDAwMDg2RTEwQTAwMDcwMDAwMDBENgorOjEwMDU0MDAwNjQxQTAwMDAyNDJBMDAwMDdEMTkwMDAwMDIwMTA4MDAzRQorOjEwMDU1MDAwMjIwMTEwMDAyMDA4MDAwMDYwOTAwMzAwNDA4MDAxMDA4QworOjEwMDU2MDAwRkQzRDAwMDA4RDAwMDAwMDIwMDgwMDAwNDA4MDAxMDBEQgorOjEwMDU3MDAwNzUxMzAwMDA3RDFBMDAwMDQyMDAwMTAwNEE4MDA5MDA0NgorOjEwMDU4MDAwMEEwMDEwMDAxRDAyMDAwMEU0ODkwMTAwRTQ5MjI5MDAyNQorOjEwMDU5MDAwNDQ5MTMwMDAwNzAwMDAwMDBEMDYwMDAwMTUwQTAwMDAxRAorOjEwMDVBMDAwMUQwQzAwMDAyNTEwMDAwMEU0QTkwMDAwRTQyQjAxMDA1MAorOjEwMDVCMDAwNjQwNDAwMDBFNEIzMDEwMEU0MzIwMjAwNjQwNDAwMDBCQgorOjEwMDVDMDAwNjQwNDAwMDA2NDA0MDAwMDY0MDQwMDAwMEQwNDAwMDBFMgorOjEwMDVEMDAwQzRCMTA4MDAwNzAwMDAwMDIwMDgwMDAwRjUwQjAwMDA2RgorOjEwMDVFMDAwNDAwMDAzMDA3RDE5MDAwMDQyODAwMzAwNEE4MDA5MDA5QQorOjEwMDVGMDAwMjQwQTAwMDAwQTAwMDgwMDY0MEUwODAwMDcwMDAwMDAzQQorOjEwMDYwMDAwMjIwMTEwMDAyMDA4MDAwMDYwMTAwMzAwNDAwMDAxMDBEQgorOjEwMDYxMDAwQUM2NDAwMDA3RDAyMDAwMDIwMDAwMDAwNDA4MDAxMDA2QQorOjEwMDYyMDAwN0QxMDAwMDA0MjgwMDEwMEZEMTEwMDAwNEE4MDNCMDA2NworOjEwMDYzMDAwNEE4MDA5MDAwQTAwMjAwMDk1MDAwMDAwNDQxMTFBMDBCOQorOjEwMDY0MDAwNDRBMTAwMDA4NjIwMEQwMDBEMDQwMDAwODRCOTAwMDBDNAorOjEwMDY1MDAwODYyMTBEMDBGRDE4MDAwMDQyODAwMTAwRkQxMDAwMDAwMQorOjEwMDY2MDAwNEE4MDA5MDAwQTAwMjgwMDk1MDAwMDAwMjQwOTAxMDBDMgorOjEwMDY3MDAwNjQyQTAwMDA4NjExMEQwMDA3MDAwMDAwMDQyOTAwMDAxNAorOjEwMDY4MDAwODYyMjBEMDAwNzAwMDAwMDA2MkEwRDAwMDIwMDA4MDA2NworOjEwMDY5MDAwOEQwMDAwMDA3RDM4MDAwMDIwMDgwMDAwNDA4MDAxMDAyRgorOjEwMDZBMDAwN0QxMjAwMDA0MjgwMDEwMDBBMDAxMDAwMDQzOTAwMDBBMQorOjEwMDZCMDAwODZEMTBEMDAwRDA4MDAwMEI1RkY3RjAwODRCOTAwMDA1MQorOjEwMDZDMDAwODZBMTBEMDAyNTAwMDAwMDA2N0EwRTAwMkQwMDAwMDAxNgorOjEwMDZEMDAwMTUwMDAwMDAyRDA4MDAwMDhEQzcwMjAwMjAwODAwMDA1MgorOjEwMDZFMDAwMDZDMjBFMDAwRDAwMDAwMDM1ODA3RjAwODRCOTAwMDBCNgorOjEwMDZGMDAwODY3MTBFMDAyNTAwNDAwMDhEMDAwMDAwNDQwOTExMDBBNQorOjEwMDcwMDAwMDcwMDAwMDA4RDAxMDAwMDA0OTUxMDAwMDcwMDAwMDBBNAorOjEwMDcxMDAwNjQ5MTAwMDAyNDA0MDAwMDI0MDQwMDAwMjQwNDAwMDA2QworOjEwMDcyMDAwMDIwMTEwMDAwMjAwMjgwMDhEQzYwMjAwMjAwODAwMDAwRgorOjEwMDczMDAwMDZDMjBFMDA4RDAxMDAwMDJEMDQwMDAwOEQwMDAwMDA5NworOjEwMDc0MDAwMDQ5NTEwMDAwNzAwMDAwMDBEMDIwMDAwODQ5MTEwMDBDNQorOjEwMDc1MDAwMDcwMDAwMDAwREM3MDIwMDIwMDgwMDAwOEQwMDAwMDAwNworOjEwMDc2MDAwRkQzODAwMDA0MDgwMDEwMEZEM0IwMDAwMjAxMDAwMDAyQgorOjEwMDc3MDAwNjBBODAzMDAxNTA4MDAwMDg0MzEzMTAwODQyMTIxMDBBNQorOjEwMDc4MDAwMDcwMDAwMDA2MEIwMDMwMDYwQTAwMzAwNDA4MDAxMDA4QgorOjEwMDc5MDAwRkQyMjAwMDA5NTAwMDAwMDI0MDkwMTAwMjQwNDAwMDA0RgorOjEwMDdBMDAwMjQwNDAwMDA2NDEyMDAwMDAyMDExMDAwMjAwODAwMDA3MAorOjEwMDdCMDAwNjA5MDAzMDA0MDgwMDEwMDI0MTkwMDAwOERGQjAwMDBDMAorOjEwMDdDMDAwN0QzOTAwMDAyMDA4MDAwMDQwODAwNTAwNDI4MDAzMDBDMQorOjEwMDdEMDAwNEE4NDA5MDAwNjA2MDAwMDBBMDQwODAwMjQwNDAwMDBGOAorOjEwMDdFMDAwMjQwNDAwMDA3RDExMDAwMDQyODAwMTAwMEEwMDA4MDA3RQorOjEwMDdGMDAwMjQwQTAwMDAwMjA1MjgwMDAyMEMyODAwMEQ4MDA5MDBEMAorOjEwMDgwMDAwMjAwODAwMDBGRDAyMDAwMDQwODAwMTAwMDcwMDIwMDBEOQorOjEwMDgxMDAwRkQyMjAwMDA0MjgwMDEwMDBBMDAwODAwOTUwMDAwMDA0RgorOjEwMDgyMDAwQzQwRDI4MDAyNDE5MDEwMDdEMTkwMDAwNDI4MDAxMDAzOAorOjEwMDgzMDAwRkQxMTAwMDA0QTgwMDkwMDBBMDAxMDAwQjUwMDAwMDAwOAorOjEwMDg0MDAwNDQzMTExMDAwNDhEMEEwMDA3MDAwMDAwNDQwQTA4MDAyQQorOjEwMDg1MDAwMDQ5NTEyMDAwNzAwMDAwMEZEMjMwMDAwMjAxMDAwMDA5NgorOjEwMDg2MDAwNDA4MDAzMDA0NDEyMTAwMDA3MDAwMDAwMjAwODAwMDAzMAorOjEwMDg3MDAwNjA5MDAzMDA0MDgwMDEwMEZEMDIwMDAwNDI4MDAxMDAwMgorOjEwMDg4MDAwMEEwMDA4MDAwNDA5MDAwMDg2RkExMDAwMDcwMDAwMDBCMgorOjEwMDg5MDAwRkQzQjAwMDAwMDAxMDAwMDEwMEEwMDAwN0E4MDBCMDAwMAorOjEwMDhBMDAwNEE4MDEzMDA4NDA5MDkwMDA3MDAwMDAwOTUwMDAwMDAzOQorOjEwMDhCMDAwMDQzRDAxMDA4NjgwMTEwMDBBMDAxMDAwMDIwMDEwMDBCMworOjEwMDhDMDAwODQwOTA5MDAwNzAwMDAwMDQyODAwMzAwNEE4MDExMDBFQgorOjEwMDhEMDAwMDQwRDA5MDAwNzAwMDAwMDBBMDAxMDAwODQwRDA5MDA0MworOjEwMDhFMDAwMDcwMDAwMDA3RDI1MDAwMDIwMDgwMDAwNDA4MDAxMDA3NgorOjEwMDhGMDAwMEQwMTAwMDAxMDA4MDAwMDNBMTQyODAwN0QxMjAwMDBDRAorOjEwMDkwMDAwNDI4MDAxMDAwQTAwMjAwMDdEMTkwMDAwNDI4MDAxMDBBMQorOjEwMDkxMDAwN0QxMTAwMDA0QTgwMzEwMDBBMDAxMDAwMjQzMTAwMDBERgorOjEwMDkyMDAwMEQyODAxMDA3RDM5MDAwMDIwMDgwMDAwNDA4MDA1MDBFRQorOjEwMDkzMDAwNDI4MDAzMDA0QTg0MDkwMDA2MDYwMDAwMEEwNDA4MDBGOQorOjEwMDk0MDAwMDIwMTMwMDAyNDMxMDAwMDI0MDQwMDAwMjQwNDAwMDBDRgorOjEwMDk1MDAwMjQxMjAwMDAwMjA1MjgwMDRDMUEwMDAwODYwMTEzMDAzMgorOjEwMDk2MDAwMDIwMDcwMDAyRDAwMDAwMDAwMDAwMzAwN0QzODAwMDAzMAorOjEwMDk3MDAwNDI4MDAxMDAwQTAwMTAwMDA2MkExMzAwMjQyMTAwMDAxMgorOjEwMDk4MDAwQUQwMDAwMDAwMjAwMTAwMDBEMDEwMDAwMjQwOTAwMDA2RAorOjEwMDk5MDAwMjQ2QjAwMDA4RDM2MDEwMDdEMzkwMDAwMjAwODAwMDAyNgorOjEwMDlBMDAwNDA4MDA1MDA0MjgwMDMwMDRBODQwOTAwMDYwNjAwMDBEQQorOjEwMDlCMDAwMEEwNDA4MDA2NDMyMDAwMDhEMDAwMDAwMjQwQTAwMDBEMAorOjEwMDlDMDAwMjAxMDAwMDA3RDIyMDAwMDQwODAwMTAwMEQzQzAxMDA0RAorOjEwMDlEMDAwMTAwODAwMDAzQTA0MDgwMDA2RDIyOTAwMDcwMDAwMDBCMQorOjEwMDlFMDAwMjAyODAwMDA3RDIwMDAwMDQwODAwMTAwN0QxMTAwMDBEMworOjEwMDlGMDAwNDI4MDAzMDA0QTgwMTMwMDBBODAzMzAwN0QzODAwMDBFMworOjEwMEEwMDAwNDI4MDAxMDAwQTAwMDgwMDA0MDkwMDAwODYzQTE2MDAyRQorOjEwMEExMDAwMDcwMDAwMDA4RDAwMDAwMDY0MDkwMzAwOEQ0NzAxMDBGRAorOjEwMEEyMDAwN0QzOTAwMDAyMDA4MDAwMDQwODAwNTAwNDI4MDAzMDA1RQorOjEwMEEzMDAwNEE4NDA5MDAwNjA2MDAwMDBBMDQwODAwMDIwMTM4MDA4MgorOjEwMEE0MDAwMjQwNDAwMDAyNDA0MDAwMDI0MTIwMDAwRkQwMjAwMDAyMQorOjEwMEE1MDAwNDI4MDAxMDAwQTAwMDgwMDA0MDkwMDAwODZBMjE0MDA3OAorOjEwMEE2MDAwMDcwMDAwMDAwMjA1MjgwMDRDMUEwMDAwODYzOTE2MDAxNQorOjEwMEE3MDAwMDcwMDAwMDA2NDIxMDMwMDJDNjMwMDAwRkQzRDAwMDAxRQorOjEwMEE4MDAwNDI4MDAxMDAwQTAwMDgwMDk1MDAwMDAwMDQwOTA5MDBFNgorOjEwMEE5MDAwMDcwMDAwMDAyMDA4MDAwMDRDMUEwMDAwODY2MTE1MDBDNQorOjEwMEFBMDAwNDA4MDAxMDAwMDAwMDMwMDA2N0ExNTAwMjQyMTAwMDBBOAorOjEwMEFCMDAwMEQwMTAwMDAyNDA5MDAwMDI0NkIwMDAwOEQ1QjAxMDA4MworOjEwMEFDMDAwN0QzOTAwMDAyMDA4MDAwMDQwODAwNTAwNDI4MDAzMDBCRQorOjEwMEFEMDAwNEE4NDA5MDAwNjA2MDAwMDBBMDQwODAwNjQzQTAwMDA3RgorOjEwMEFFMDAwOTUwMDAwMDAyNDEyMDAwMEZEMDIwMDAwNDI4MDAxMDA3OQorOjEwMEFGMDAwMEEwMDA4MDAwNDA5MDAwMDg2REExNTAwMDcwMDAwMDA1QgorOjEwMEIwMDAwOEQ2MjAxMDAxMDA4MDAwMDNBMDQwODAwMDZEMjI5MDA5NgorOjEwMEIxMDAwMDcwMDAwMDAwNkQyMTQwMDA3MDAwMDAwMjA3MDAwMDA0QgorOjEwMEIyMDAwMEEwMTA4MDAyQTAxMTAwMEZEMjAwMDAwNjA4ODAzMDA2RgorOjEwMEIzMDAwNjA5MDAzMDA0MDgwMDEwMDdEMjIwMDAwNDI4MDAxMDA5RgorOjEwMEI0MDAwRkQzRDAwMDAwQTAwMDgwMDRBODQzMTAwMDQwOTAwMDA0RAorOjEwMEI1MDAwODZEODE2MDA4QjAwMTgwMDhEMDAwMDAwMDQ5OTE4MDAzQworOjEwMEI2MDAwMkMzMTAwMDAwNkFBMTcwMDA3MDAwMDAwNEMzMjAwMDBEQworOjEwMEI3MDAwODYzMzE3MDAwNzAwMDAwMDA0MTkwMDAwODYzMDE3MDBCNAorOjEwMEI4MDAwMDcwMDAwMDA5NTAwMDAwMDQ0OTExOTAwMkMyMjAwMDA4RAorOjEwMEI5MDAwMjQzMTAwMDA2QzYzMDAwMDNEMEUwMDAwNzUxMzAwMDA1RQorOjEwMEJBMDAwRkQwQjAwMDA0MjAwMDEwMDRBODAwOTAwMEEwMDEwMDAwRAorOjEwMEJCMDAwRUM4QTAzMDBFQzkzMDMwMDRDMjIwMDAwODZBOTE3MDA4NgorOjEwMEJDMDAwMDcwMDAwMDA4RDAwMDAwMDA0OTkxODAwNkMyMjAwMDA0RQorOjEwMEJEMDAwMkMzMjAwMDAwQTA1MzAwMEFCMUQzMDAwODMyMDAwMDBERAorOjEwMEJFMDAwRkQxODAwMDA0MjgwMDEwMDBBMDAwODAwMjQ4OTAxMDA2RAorOjEwMEJGMDAwMDIwNTMwMDA4MzEwMDAwMDc1MTgwMDAwNDIwMDAxMDA1QgorOjEwMEMwMDAwMEEwMDEwMDA4RDAwMDAwMDI0MDkwMTAwNzUxMzAwMDA4NworOjEwMEMxMDAwNDIwNTMzMDBDQjBDMzMwMENCMkMzMzAwQ0IzNDMzMDBGNAorOjEwMEMyMDAwQ0IzQzMzMDBDQjQ0MzMwMENCNEMzMzAwQ0I1NDMzMDBBQworOjEwMEMzMDAwOEI1QzMwMDA4MzYwMDAwMEY1MDIwMDAwNDIwMDAxMDA4MAorOjEwMEM0MDAwMEEwMDA4MDAwNDA5MDAwMDg2N0ExODAwMDcwMDAwMDA2NgorOjEwMEM1MDAwMkQxRTAwMDBGRDA1MDAwMDQyODAwMTAwMEEwMDA4MDA3MgorOjEwMEM2MDAwMjQ4OTAyMDAwMjA1MjgwMDBEMDYwMDAwMTAwODAwMDA3QgorOjEwMEM3MDAwM0EwQzI4MDA4RDAwMDAwMDEwMDgwMDAwM0ExNDI4MDBFQgorOjEwMEM4MDAwOEQ4MDBBMDAyMDA4MDAwMEY1MDIwMDAwNDAwMDAxMDBFRAorOjEwMEM5MDAwMDcwMDIyMDA3NTEyMDAwMDQyMDAwMzAwNEEwMDIxMDBGNAorOjEwMENBMDAwOEQwMDAwMDA0NDA5MUEwMDA3MDAwMDAwMEQ5ODAxMDBBMworOjEwMENCMDAwMTAwODAwMDAzQTA0MDgwMDA2MjIyQjAwMDcwMDAwMDA3QworOjEwMENDMDAwRjUwMTAwMDA0MjAwMDMwMDRBMDAwRDAwMEEwMDEwMDA3OAorOjEwMENEMDAwNDQ5MTA4MDAwNzAwMDAwMDIwMDgwMDAwNDAwMDAxMDBDNworOjEwMENFMDAwRjUyNTAwMDA0NDMxMEEwMDA3MDAwMDAwMjAwODAwMDAzQworOjEwMENGMDAwNjAyODAzMDA0MDAwMDMwMDdEMjEwMDAwNDI4MDAzMDBDMworOjEwMEQwMDAwNEE4MDBCMDAwQTAwMTAwMDIwMDgwMDAwNjAxMDAzMDA1OQorOjEwMEQxMDAwNDAwMDAzMDA4RDAwMDAwMDI0MDEwMDAwMkMwMTAwMDBCMQorOjEwMEQyMDAwNjQwRTAwMDA2NDFBMDAwMDZDNjMwMDAwMEEwMTA4MDBGMQorOjEwMEQzMDAwMkEwMTEwMDAyMDA4MDAwMDYwMTAwMzAwNDAwMDAzMDA5QQorOjEwMEQ0MDAwRkQyMDAwMDA0MjgwMDEwMDBBMDAwODAwN0QyMjAwMDAxMgorOjEwMEQ1MDAwNDI4MDAxMDAwQTAwMTAwMDIwMDgwMDAwNjAxMDAzMDAxQgorOjEwMEQ2MDAwNDAwMDAzMDA3RDE5MDAwMDQyODAwMTAwMEEwMDA4MDBENQorOjEwMEQ3MDAwRkQyMjAwMDA0MjgwMDMwMDBBMDAxMDAwMjAwODAwMDA0RAorOjEwMEQ4MDAwNjAxMDAzMDA0MDAwMDMwMDA0MEQwOTAwMDcwMDAwMDA4QworOjEwMEQ5MDAwMjAwODAwMDA0MDAwMDMwMDQyODAwMzAwNEE4MDBCMDA0RQorOjEwMERBMDAwMEEwMDEwMDAyMDA4MDAwMDYwMTAwMzAwNDAwMDAzMDA0QgorOjEwMERCMDAwNDI4MDAzMDA0QTgwMTMwMDRBODAxOTAwMDQwRDExMDA4QworOjEwMERDMDAwMDQ4RDE5MDAwNzAwMDAwMDBBMDAwODAwMjAxMDAwMDAzMAorOjEwMEREMDAwNjAxODAzMDA2MDA4MDMwMDQwMDAwMzAwOEQwMDAwMDA1RAorOjEwMERFMDAwNDQwOTBCMDAwNzAwMDAwMDIwMDgwMDAwNDAwMDAxMDAzQgorOjEwMERGMDAwRjUwNTAwMDA0MjAwMDMwMDBBMDAwODAwMjAwODAwMDA3QQorOjEwMEUwMDAwNDAwMDAxMDBGNTAwMDAwMDQyMDAwMTAwMEEwMDA4MDA1NworOjEwMEUxMDAwMDQwOTAwMDA4NjYwMUMwMDc1MUUwMDAwNDIwMDAzMDBFQgorOjEwMEUyMDAwNEEwNDAxMDAwQTBDMDAwMDA2NzIxQzAwMDcwMDAwMDBDMgorOjEwMEUzMDAwMDIwNDAwMDAwMjBDMDAwMDdEMTcwMDAwRjUxQTAwMDBGQgorOjEwMEU0MDAwNDI4MDAxMDA0QTE0MDMwMDRBMUMwMzAwNEEyNDAzMDBBNAorOjEwMEU1MDAwNEEyQzAzMDA0QTM0MDMwMDRBM0MwMzAwNEE0NDAzMDA3RQorOjEwMEU2MDAwMEE0QzAwMDAzRDA0MDAwMEY1MTMwMDAwRkQxQTAwMDBDQworOjEwMEU3MDAwNDIwMDAzMDA0QTAwMEIwMDRBODAxQjAwNEE4MDEzMDAxNgorOjEwMEU4MDAwMEEwMDIwMDA0NDkxMDgwMDQ0QTExOTAwRTQ4OTAzMDBFRAorOjEwMEU5MDAwRUM5OTAzMDAwMjU1MDAwMDBBNUQwMDAwNDIwMDAzMDBDNworOjEwMEVBMDAwNEEwMDBCMDA0QTgwMUIwMDRBODAxMzAwMEEwMDIwMDAwMQorOjEwMEVCMDAwNDQ5MTA4MDA0NEExMTkwMEU0ODkwMzAwRUM5OTAzMDA1RgorOjEwMEVDMDAwMDI2NTAwMDAwQTZEMDAwMDQyMDAwMzAwNEEwMDBCMDBBQQorOjEwMEVEMDAwNEEwMDE5MDA0QTgwMkIwMDRBODAxMzAwNEE4MDIxMDBGMgorOjEwMEVFMDAwMEEwMDMwMDA0NDkxMDgwMDQ0QTExOTAwNDRCMTJBMDBDRQorOjEwMEVGMDAwRTQ4OTAzMDBFQzk5MDMwMDAyNzUwMDAwMEE3RDAwMDBGQworOjEwMEYwMDAwRTRBOTAzMDAwMjA3MDAwMDdEMTAwMDAwMTUwNDAwMDBBMgorOjEwMEYxMDAwNDI4MDAxMDAwQTAwMDgwMEU0MDkwMTAwMDIwRjAwMDBGRAorOjEwMEYyMDAwRjUyQTAwMDBGRDE5MDAwMDQyMDAwMTAwNEE4MDA5MDA3NgorOjEwMEYzMDAwMEEwMDEwMDAzNDA5MDAwMDc0MTYwMDAwRjUyOTAwMDBCMgorOjEwMEY0MDAwNDIwMDAxMDAwQTAwMTAwMDdDOTEwMDAwNzUyMDAwMDBBMgorOjEwMEY1MDAwNDIwMDAxMDAwQTAwMDgwMDA0MDkwMDAwODZEMjFFMDBCOQorOjEwMEY2MDAwRjUyNjAwMDBGNTI3MDAwMDQyMDAwMzAwNEEwMDA5MDBCMgorOjEwMEY3MDAwMEEwMDEwMDAzQzBBMDAwMDdDMTYwMDAwNzUxQTAwMDBGMAorOjEwMEY4MDAwRkQwQjAwMDA0MjAwMDEwMDRBODA1MTAwMEEwMDQ4MDBBOQorOjEwMEY5MDAwMDcwMDE2MDA3NTEwMDAwMDQyMDAwMTAwMEEyQzI4MDAwRQorOjEwMEZBMDAwMTIxRDI4MDAxMjI1MjgwMDMyMUYwMDAwMDcwMDFFMDAxNQorOjEwMEZCMDAwMDcwMDBFMDA3NTE5MDAwMDQyMDAwMTAwRjUyRDAwMDAyOQorOjEwMEZDMDAwNEEwMDBEMDAwQTAwMTAwMDQ0OTEwMDAwODZCMjFGMDA4NAorOjEwMEZEMDAwNDIwMDAxMDAwQTM0MjgwMDVEMEUwMDAwOEQwMDAwMDA3MAorOjEwMEZFMDAwNzUwMzAwMDAyMDA4MDAwMDQwMDAwMTAwRjREMjA1MDA1NQorOjEwMEZGMDAwMDREMTU0MDA1QzczMDAwMDg2NTMyMDAwMDcwMDAwMDBGOQorOjEwMTAwMDAwMDcwMDBDMDAwNzAwMDgwMDA3MDAwQTAwMEQwNDAyMDA5QQorOjEwMTAxMDAwMTAwODAwMDAzQTA0MDgwMDA2MjIzMzAwMDcwMDAwMDAxMAorOjEwMTAyMDAwMDY1QTIwMDAwNzAwMDAwMDA3MDAwODAwNzUyMjAwMDA5MworOjEwMTAzMDAwNDIwMDAxMDAwQTAwMjAwMDA0MjEwMDAwODYyMDIxMDA1NworOjEwMTA0MDAwMkQxRTAwMDBGNTAyMDAwMDQyMDAwMTAwMEEwMDA4MDAwOQorOjEwMTA1MDAwMDQwOTAwMDA4NjkyMjAwMDA3MDAwMDAwMTAyMDAwMDAxNAorOjEwMTA2MDAwM0EwNDMwMDA3RDA1MDAwMEMzODAwMTAwMEEwMDA4MDAzQQorOjEwMTA3MDAwMjQ4OTAyMDAwMjA1MjgwMDAyMEMyODAwMEQ4MTBBMDBDNAorOjEwMTA4MDAwMjAwODAwMDBGNTAyMDAwMDQwMDAwMTAwMDcwMDIyMDBENworOjEwMTA5MDAwRkQwNDAwMDA0MjgwMDEwMDBBMDA3MDAwMDAwMDAzMDAwRgorOjEwMTBBMDAwMjA3MDAwMDAwNkZBMDYwMDQwODAwMTAwMEQxODAyMDBDMgorOjEwMTBCMDAwMTAwODAwMDAzQTA0MDgwMDA2MjIyQjAwMDcwMDAwMDA3OAorOjEwMTBDMDAwRkQwMjAwMDA0MjgwMDEwMDBBMDAwODAwMDQwOTAwMDAzRgorOjEwMTBEMDAwODY4QTIxMDAwNzAwMDAwMDA2RjIwMTAwMDcwMDAwMDBEOAorOjEwMTBFMDAwNzUwODAwMDBGRDA5MDAwMDBEMDEwMDAwMDYwQTIyMDAzRAorOjEwMTBGMDAwOTUwMjAwMDA3NTBCMDAwMDdEMDkwMDAwMEQwMDAwMDA0NgorOjEwMTEwMDAwMTUwNTAwMDA0MjAwMDEwMDBBMDAxODAwMDQxOTAwMDA0MworOjEwMTExMDAwODY3ODI4MDBGNTA2MDAwMDIwMTAwMDAwNDAwMDAxMDAzRAorOjEwMTEyMDAwRjUwNDAwMDAyMDA4MDAwMDQwMDAwMTAwNzUwNzAwMDBFMQorOjEwMTEzMDAwNDIwMDAxMDA0QTgwMDkwMDBBMDAxMDAwMjQxMTAwMDA0QQorOjEwMTE0MDAwMDQwOTAwMDA4NkJBMjIwMDE1MDgwMDAwMDIwMTA4MDAwOAorOjEwMTE1MDAwMDQxMjEwMDAwNkRBMjIwMDc1MDUwMDAwMDQxMjA4MDBDRgorOjEwMTE2MDAwMDcwMDAwMDAwMjAxMTAwMDc1MDUwMDAwMjUwNDAwMDBDMgorOjEwMTE3MDAwMjQxMTAyMDAwMjAxMTAwMDIwMDgwMDAwNjAxMDAzMDA4QQorOjEwMTE4MDAwNDAwMDAxMDAyNDE5MDAwMDg2NzgyODAwOEQwMDAwMDAyRQorOjEwMTE5MDAwNjQwNDAwMDAwNDlEMDAwMDg2ODgyNzAwMDIwMTE4MDBGNgorOjEwMTFBMDAwNzUwNTAwMDA0MjAwMDEwMDBBMDQyODAwOEQwMTAwMDBCRQorOjEwMTFCMDAwMjQwOTAwMDAwMjBEMjgwMDBEMDAwMDAwMjQwOTAwMDA5MQorOjEwMTFDMDAwMDIxNTI4MDAwRDAwMTAwMDIwMDgwMDAwRjUwMjAwMDBBNAorOjEwMTFEMDAwNDAwMDAxMDAwNzAwMjAwMDc1MTEwMDAwRkQwMjAwMDAyMgorOjEwMTFFMDAwNDI4MDAxMDAwQTAwMDgwMDA0MDkwMDAwODZDMjIzMDBCMgorOjEwMTFGMDAwMDcwMDAwMDAwMDAxMDAwMDIwMEIwODAwNjAwQjEzMDAzNgorOjEwMTIwMDAwNjAwQjFCMDA2MDBBMDMwMDQwMDAwMTAwNDIwMDA1MDA2MworOjEwMTIxMDAwNEEwMDNEMDA0QTAwMzUwMDRBMDAyRDAwMEEwMDIwMDAyNworOjEwMTIyMDAwRjUwNjAwMDA0MjAwMDEwMDBBMTQyODAwRjUwNDAwMDA0MQorOjEwMTIzMDAwNDIwMDAxMDAwQTAwMDgwMDE1MDMwMDAwMDQwRDAxMDAyRgorOjEwMTI0MDAwODZDQTI0MDAxNTQwMDAwMDk1MDAwMDAwMDQwRDAxMDAyRQorOjEwMTI1MDAwODZCODI0MDAyMjAwMTAwMDJBMDAxMDAwMDZFMjI0MDBCNAorOjEwMTI2MDAwMDcwMDAwMDAwNDMxMzMwMDA0QTkyQTAwMDcwMDAwMDAzMQorOjEwMTI3MDAwMjQyMTAzMDAwMjA1MjgwMDI0MTEwMDAwMjQwNDAwMDA5QQorOjEwMTI4MDAwMjQwNDAwMDAyNDMyMDAwMDJDMjkwMDAwNkM2MzAwMDBCQworOjEwMTI5MDAwODZGMzI1MDAwNzAwMDAwMDY0QjEwMjAwNjQwNDAwMDAyQQorOjEwMTJBMDAwNjQwNDAwMDA4RDAwMDAwMDY0MEEwMDAwMDIwRDI4MDBBNAorOjEwMTJCMDAwOEQwMDEwMDAyMDA4MDAwMEY1MDIwMDAwNDAwMDAxMDAzMQorOjEwMTJDMDAwMDcwMDIyMDA4RDAwMDAwMDA0QjkzODAwMDcwMDAwMDA2QworOjEwMTJEMDAwNkMyOTAzMDAwQTAxMzAwMEY1MDIwMDAwNDIwMDAxMDAwMQorOjEwMTJFMDAwMEEwMDA4MDAwNDA5MDAwMDg2QkEyNTAwMDcwMDAwMDA3MworOjEwMTJGMDAwMkMzMTAyMDAwQTA1MjgwMDhEMDAwMDAwNkMwOTAxMDA1NQorOjEwMTMwMDAwMEEwRDI4MDAwRDAxMTAwMDIwMDgwMDAwRjUwMjAwMDA2MQorOjEwMTMxMDAwNDAwMDAxMDAwNzAwMjIwMDI0MTEwMDAwMjQwNDAwMDAwNgorOjEwMTMyMDAwMjQwNDAwMDAyNDMyMDAwMDAyMDEzMDAwNDQyOTAzMDA5QworOjEwMTMzMDAwODY3QTI2MDAwNzAwMDAwMDAyMDAzMDAwRjUwNDAwMDA1NQorOjEwMTM0MDAwNDIwMDAxMDAwQTAwMDgwMDE1MDMwMDAwMDQwRDAxMDAxRQorOjEwMTM1MDAwODZDMDI2MDAyNDMxMDAwMDY0MDQwMDAwMDIwMTMwMDAzMQorOjEwMTM2MDAwRjUwMjAwMDA0MjAwMDEwMDBBMDAwODAwMDQwOTAwMDAyNAorOjEwMTM3MDAwODZDQTI2MDAwNzAwMDAwMDI0MzEwMDAwMDIwNTMwMDA2NAorOjEwMTM4MDAwMjQzOTAwMDA4MzA1MzAwMDgzMDgwMDAwRjUwNTAwMDBDMworOjEwMTM5MDAwNDIwMDAxMDAwQTA0MjgwMDhEMDAwMDAwMjQ4MTAwMDBBMgorOjEwMTNBMDAwMDIwRDI4MDA4RDAwMDAwMDI0ODEwMDAwMDIxNTI4MDA5NQorOjEwMTNCMDAwOEQwMTEwMDAyMDA4MDAwMEY1MDIwMDAwNDAwMDAxMDAyRgorOjEwMTNDMDAwMDcwMDIyMDAyNTEwMDAwMDc1MDUwMDAwNDIwMDAzMDAwMAorOjEwMTNEMDAwNEEwMDA5MDAwQTAwMTAwMDA0MDkwQTAwMDQxMTEyMDA2MgorOjEwMTNFMDAwMDcwMDAwMDAyMDEwMDAwMDYwMDgwNTAwNDAwMDA1MDAxNAorOjEwMTNGMDAwRkQwNjAwMDA0MjgwMDEwMDRBMDAwOTAwMEEwMDEwMDBCQQorOjEwMTQwMDAwQTUwMDAwMDAwNDA5MEEwMDA0MTExMjAwMDcwMDAwMDBGMgorOjEwMTQxMDAwMjAwODAwMDA2MDkwMDEwMDQwMDAwMTAwRjUwMjAwMDA3QgorOjEwMTQyMDAwNDIwMDAxMDAwQTAwMDgwMDA0MDkwMDAwODY0MjI4MDA2QQorOjEwMTQzMDAwMDcwMDAwMDAwNjBBMjMwMDA3MDAwMDAwMDYwNjAwMDA1RgorOjEwMTQ0MDAwMDcwMDAwMDBGNTAyMDAwMDQyMDAwMTAwMEEwMDA4MDA0OQorOjEwMTQ1MDAwMDQwOTAwMDA4NjkyMjgwMDA3MDAwMDAwMDAwMTAwMDAzNworOjEwMTQ2MDAwMjAwQjA4MDA2MDhCMTMwMDYwOEIxQjAwNjA4QjIzMDAzNworOjEwMTQ3MDAwNjA4QjJCMDA2MDhCMzMwMDYwOEIzQjAwNjA4QjQzMDBFNAorOjEwMTQ4MDAwNjA4QjRCMDA2MDhCNTMwMDYwOEI1QjAwNjA4QjYzMDA1NAorOjEwMTQ5MDAwNjA4QjZCMDA2MDhCNzMwMDYwOEI3QjAwNjA4RjAzMDA0MAorOjEwMTRBMDAwNjA4RjBCMDA2MDhGMTMwMDYwOEYxQjAwNjA4RjIzMDAyNAorOjEwMTRCMDAwNjA4RjJCMDA2MDhGMzMwMDYwOEYzQjAwNjA4RjQzMDA5NAorOjEwMTRDMDAwNjA4RjRCMDA2MDhGNTMwMDYwOEY1QjAwNjA4RjYzMDAwNAorOjEwMTREMDAwNjA4RjZCMDA2MDhGNzMwMDYwOEY3QjAwNjA4QTAzMDBGOQorOjEwMTRFMDAwMDYwNjAwMDA0MDgwMDEwMDhEMDAwMDAwNjQwQTAwMDAzNAorOjEwMTRGMDAwMDIwRDI4MDAyNDBBMDAwMDdEMDIwMDAwNDI4MDAxMDA0NQorOjEwMTUwMDAwMEEwMDEwMDAyNDEyMDAwMEZEMDMwMDAwNDI4MDAxMDBDOAorOjEwMTUxMDAwMEEwMDA4MDAwNDA5MDAwMDg2ODIyQTAwMDcwMDAwMDA3MworOjEwMTUyMDAwOEQwMTAwMDAyNDBBMDAwMDY0MDQwMDAwNjQwNDAwMDAyRgorOjEwMTUzMDAwMDIwMTA4MDAyNDA5MDAwMDI0MDQwMDAwMjQwNDAwMDAyMworOjEwMTU0MDAwMDIwMTEwMDAwRDAwMDIwMDQ0OTEwMDAwODZEOTJBMDAxQgorOjEwMTU1MDAwMDcwMDAwMDBGRDAxMDAwMDQyODAwMTAwMEEwMDA4MDBCMQorOjEwMTU2MDAwNDQwQTAwMDA4NkJCMkEwMDQyODAwMTAwMEQwMDBBMDBFOAorOjEwMTU3MDAwMjAwODAwMDBGRDAyMDAwMDQwODAwMTAwMDcwMDIwMDA1QworOjEwMTU4MDAwN0QwMjAwMDAyMDEwMDAwMDA2MDYwMDAwNDA4MDAxMDBERgorOjEwMTU5MDAwRjUwMjAwMDA0MjAwMDEwMDBBMDAwODAwMDQwOTAwMDBGMgorOjEwMTVBMDAwODYyQTJCMDAwNzAwMDAwMDdEMDMwMDAwNDI4MDAxMDAxNgorOjEwMTVCMDAwMEEwMDA4MDAwNDA5MDAwMDg2NUEyQjAwMDcwMDAwMDBGQQorOjEwMTVDMDAwNzUwMDAwMDA3RDJFMDAwMDQyMDAwMTAwNEE4MDBCMDBFMworOjEwMTVEMDAwMjAwMDAwMDAwNDA5MDAwMDg2MDYwMDAwNDAwMDAxMDAxMQorOjEwMTVFMDAwNEE4NDMxMDA4QjA0MzAwMDgzMDgwMDAwOEQwMDAwMDAyNQorOjEwMTVGMDAwMTAwODAwMDAzQTE0MjgwMDhEMDAwMDAwMTAwODAwMDBCOAorOjEwMTYwMDAwM0EwQzI4MDA3NTA2MDAwMDQyMDAwMTAwMEEwMDA4MDA5QworOjEwMTYxMDAwMTUzODAwMDAyNDA5MDEwMDAyMDUyODAwMEQwMDBCMDAwOAorOjEwMTYyMDAwMjAwODAwMDBGNTAyMDAwMDQwMDAwMTAwMDYwNjAwMDA0RQorOjEwMTYzMDAwMDcwMDIyMDA2NDA0MDAwMDY0MDQwMDAwMDYwNjAwMDBBNQorOjEwMTY0MDAwMDcwMDAwMDAzNDAxMDAwMDhEN0YwMDAwM0MwOTAwMDAwRAorOjEwMTY1MDAwMTIxRDI4MDAxMjI1MjgwMDMyMUYwMDAwMDcwMDBFMDA2RQorOjEwMTY2MDAwMEQwMTAwMDA3RDAzMDAwMDIwMDgwMDAwNDA4MDAxMDAwMworOjEwMTY3MDAwRjREMjA1MDAwNzAwMDAwMDA3MDAwODAwN0QwMzAwMDAwOQorOjEwMTY4MDAwNDI4MDAxMDAwQTAwMDgwMDA0MDkwMDAwODYwMjJEMDBDMworOjEwMTY5MDAwMDcwMDAwMDAwNjA2MDAwMDA3MDAwMDAwMDcwMDAwMDAyOQorOjEwMTZBMDAwMTIwMDAwMDAwNzAwMTAwMDA3MDAzMjAwMDcwMDYwMDA3MQorOjEwMTZCMDAwODAwMDEwMDAxQTAwNDgwMDA0NDkwMDAwODY2MTJEMDBENworOjEwMTZDMDAwMDcwMDAwMDAxMDEyMDAwMDNBMDA1ODAwNDUwMTAwMDAxOQorOjEwMTZEMDAwMDQ1RDVDMDAwNzAwMDAwMDgwMDAwMDAwMUEwMDQ4MDA2NAorOjEwMTZFMDAwMDQ0OTAwMDA4NkIxMkQwMDA3MDAwMDAwMTAxMjAwMDAyMAorOjEwMTZGMDAwM0EwMDUwMDAwNDU5MDAwMDg2MDgyRTAwNDUwMDAwMDAwMgorOjEwMTcwMDAwQzUwMDAwMDBGNUZGN0YwMDdERkY3RjAwMjRENTA3MDBBNgorOjEwMTcxMDAwMjQ0MjAwMDAwMjAxNTAwMDAyMDUyMDAwODIwMDAwMDA2NworOjEwMTcyMDAwMUEwMDQwMDAwNDQxMDAwMDg2MzkyRTAwMDcwMDAwMDAyNgorOjEwMTczMDAwNjUzODAwMDAxQTAwNDAwMDIwNDAwMDAwNEQxMDAwMDBGNQorOjEwMTc0MDAwODRDMTA0MDA4NjFCMzAwMDQwMDAwMDAwMDcwMDA0MDAzNAorOjEwMTc1MDAwNjUwMTAwMDA0NTAxMDAwMDIwNDAwMDAwNDAwMDAwMDAzRAorOjEwMTc2MDAwNjUwNzAwMDA4MDAwMDgwMDFBMDA0MDAwMDQ0MTAwMDBFNgorOjEwMTc3MDAwODZDOTJFMDAwNzAwMDAwMDEwMTIwMDAwM0EwMDQwMDA0OQorOjEwMTc4MDAwMDQ0MTAwMDA4NjIyMkYwMDREMDAwMDAwQ0QwMDAwMDAyMworOjEwMTc5MDAwMTA0ODAwMDAzQTA0MjAwMDgyMDgwMDAwMUEwMDQwMDBBRgorOjEwMTdBMDAwMDQ0MTAwMDA4NjMxMkYwMDA3MDAwMDAwMjA0ODAwMDA5RgorOjEwMTdCMDAwMDQ1OTAwMDA4NjA4MzAwMDQwMDAwMDAwRTUwNzAwMDBFMgorOjEwMTdDMDAwODAwNDIwMDBBMDE2MjgwMEUwMTYzMjAwRTAxNjNBMDAzRgorOjEwMTdEMDAwRTAxNjQyMDA2MDEyMDIwMDQwMDAwMDAwMzIwMDAwMDBFQgorOjEwMTdFMDAwNzUwMDQwMDA3RDAwMDAwMDc0RDUwNzAwMTIwNTIwMDA0MAorOjEwMTdGMDAwODIwMDAwMDAxQTAwNDAwMDA0NDEwMDAwODZFMTJGMDAzMgorOjEwMTgwMDAwMDcwMDAwMDAwNjcyMDMwMDA3MDA2NDAwMDcwMDA2MDBERQorOjEwMTgxMDAwRTUwMDAwMDAyMDAwMDAwMDQwMDAwMDAwNjUwQTAwMDAxNAorOjEwMTgyMDAwMjAwMDAwMDA0MDAwMDIwMDQwMDAwMjAwNDAwMDAwMDBENAorOjEwMTgzMDAwNjUwMTAwMDA0MjAwMDAwMDBBMDA3MDAwMDQ3MTAwMDAxMQorOjEwMTg0MDAwODZBMjMwMDAwNzAwMDAwMDA2ODIwMTAwMDcwMDY0MDA0NQorOjEwMTg1MDAwMDAwMDA1MDAyMDcwMDAwMDQwMDAwMDAwMDY3MjAzMDAzOAorOjEwMTg2MDAwMDcwMDY0MDAwNzAwMDAwMDZEMzAwMDAwNjA4ODAyMDA3RgorOjEwMTg3MDAwNjA5MDAyMDAwQTAwMDgwMDYwODgwMjAwNDA4MDAwMDBCQQorOjEwMTg4MDAwMTIwMDEwMDAwRDEwMDAwMDg0OTEwMDAwODY0MTMxMDAwQworOjEwMTg5MDAwMEQwRTAwMDA4NDkxMDAwMDg2NTEzMjAwMDcwMDAwMDAwOAorOjEwMThBMDAwMDcwMDMwMDAyMDEwMDAwMDZEM0IwMDAwNDA4MDAwMDA2OQorOjEwMThCMDAwODAwMDAwMDAxQTAwMDgwMDA0MDkwMDAwODY2MTMxMDA2MQorOjEwMThDMDAwMDcwMDAwMDAyMDEyMDAwMEVEMEQwMDAwNDA4MDAwMDAyNQorOjEwMThEMDAwNDI4MDAwMDAwQTAwMTAwMDBEMDA0MDAwNDQ5NTEwMDBGNgorOjEwMThFMDAwMDcwMDAwMDAyMDEwMDAwMEVEMEQwMDAwNDA4MDAwMDAwNworOjEwMThGMDAwNDI4MDAwMDAwQTA0MjAwMDgyMDAwMDAwMUEwMDA4MDA1NAorOjEwMTkwMDAwMDQwOTAwMDA4NkYxMzEwMDA3MDAwMDAwNkQzQjAwMDA3MworOjEwMTkxMDAwNDI4MDAwMDAwQTAwMDgwMDE1MEUwMDAwODQwOTAxMDA0MgorOjEwMTkyMDAwODY5QjMyMDAwNzAwNjAwMDFBMDAwODAwMTUwQzAwMDBCQQorOjEwMTkzMDAwODQwOTAxMDA4NjgzMzIwMDIwMDAwMDAwMDcwMDFBMDA5RAorOjEwMTk0MDAwRUQwMjAwMDA0MDgwMDAwMDA3MDA2MjAwNkQzMDAwMDBFMgorOjEwMTk1MDAwNDI4MDAyMDA0QTgwMEEwMDIwMDgwMDAwNEE4MDBBMDBGMworOjEwMTk2MDAwMDYwNjAwMDA0QTgwMTAwMDA3MDAwMDAwMTIyNTI4MDAyQgorOjEwMTk3MDAwMzIxRjAwMDBGNEQyMDUwMDA0RDE1NDAwNUM3MzAwMDA1MworOjEwMTk4MDAwODYwNzAwMDAwNzAwMDAwMDA3MDAwQzAwMDcwMDBBMDA5RgorOjEwMTk5MDAwMDcwMDFDMDA2NTM0MDAwMDQwMDAwMjAwMjA0ODAwMDBFMQorOjEwMTlBMDAwNjA1MDAyMDAwQTAwNDAwMDYwNDAwMjAwNDAwMDAwMDA1OQorOjEwMTlCMDAwNDQ0OTQ1MDAwNzAwMDAwMDIwNDAwMDAwRTUzQTAwMDBDRgorOjEwMTlDMDAwNDAwMDAwMDBFNTI4MDAwMDQyMDAwMDAwMEEwMDQ4MDAzNgorOjEwMTlEMDAwMDQ0OTAwMDA4NjY4MzgwMDY1MkMwMDAwNDIwMDAwMDBDMQorOjEwMTlFMDAwMEEwMDQwMDBENTAwMDAwMDA0NDE0NTAwMDcwMDAwMDA0NworOjEwMTlGMDAwNTUwNjAwMDAwNDQ1MDUwMDg2RjIzNDAwRDUwMTAwMDBCQworOjEwMUEwMDAwMDQ0NTA1MDA4NkYwMzQwMDY1MkIwMDAwNDIwMDAwMDAwQworOjEwMUExMDAwRTUzQTAwMDA0QTAwNTAwMDBBMDA0MDAwRDRDMzQ1MDBFNworOjEwMUEyMDAwMDcwMDAwMDAwNDQ1NDUwMDA3MDAwMDAwQ0QwMDAwMDA0RAorOjEwMUEzMDAwNDQ0OTQ0MDAwNzAwMDAwMDA0NDU0NTAwMDcwMDAwMDAzOQorOjEwMUE0MDAwNEQwMTAwMDA0NDQ5NTUwMDA3MDAwMDAwNDQ1MTA0MDBDNgorOjEwMUE1MDAwODZFOTM0MDA2NTJDMDAwMDQyMDAwMDAwMEEwMDQ4MDBCRQorOjEwMUE2MDAwMDREMTRDMDAwNzAwMDAwMDQ0QzEwNDAwODZGMzM0MDA5OAorOjEwMUE3MDAwMDcwMDAwMDAwNzAwMTYwMEU1MkMwMDAwNDIwMDA0MDBFQgorOjEwMUE4MDAwMEEwMDQwMDAyMDQwMDAwMDQwMDAwMDAwNjUyOTAwMDBERQorOjEwMUE5MDAwNDIwMDAwMDAwQTAwNDAwMDA0NDEwMDAwODY2MDM1MDA1QQorOjEwMUFBMDAwMDcwMDAwMDAwMjI0MDAwMDA2QTIzNjAwMDI1QzAwMDBDRAorOjEwMUFCMDAwRTUyNTAwMDA0MjAwMDAwMDBBMDA0MDAwNzQ0MjAwMDBEQQorOjEwMUFDMDAwRTUyQTAwMDA0MjAwMDAwMDBBMDA0MDAwNzQ0MjAwMDBDNQorOjEwMUFEMDAwMTIwMTUwMDBFNTI5MDAwMDQyMDAwMDAwMEEwMDQwMDAwOQorOjEwMUFFMDAwMzQ0MjAwMDAwNDQxNDUwMDA3MDAwMDAwMjA0MDAwMDA4RgorOjEwMUFGMDAwNDAwMDAwMDBFNTNFMDAwMDIwMDAwMDAwNDAwMDAwMDAyMworOjEwMUIwMDAwRTUyRDAwMDA1MjAxNDAwMDBBMDA1MDAwNDQ1MTA0MDAzRAorOjEwMUIxMDAwODY0QTM2MDBDNTAwMDAwMEU1M0UwMDAwMjA0MDAwMDA3NworOjEwMUIyMDAwNDAwMDAwMDBFNTJCMDAwMDQyMDAwMDAwMEEwMDQwMDBEOQorOjEwMUIzMDAwNTQ0MjQwMDAwNzAwMDAwMEU1MkEwMDAwMjA0MDAwMDA1OQorOjEwMUI0MDAwNDAwMDAwMDAzMjAxNTAwMDM0MDEwNDAwNzQ1NjAwMDBDRgorOjEwMUI1MDAwRTUyOTAwMDA0MjAwMDIwMDBBMDA0MjAwNDIwMDAwMDBBNQorOjEwMUI2MDAwMEEwMDUwMDA3QzQxMDUwMEU1MjgwMDAwNDIwMDAwMDAwQQorOjEwMUI3MDAwMEEwMDQ4MDBDNTAwMDAwMDQ0QzE0QzAwODYxMDM3MDAzMAorOjEwMUI4MDAwRTUyNjAwMDBFNTI3MDAwMDQyMDAwMjAwNEEwMDQwMDA3MAorOjEwMUI5MDAwMEEwMDUwMDAzQzQyMDAwMDdDNTYwMDAwRTUyODAwMDA4RQorOjEwMUJBMDAwMjA0ODAwMDA0MDAwMDAwMDEyMUQyODAwMTIyNTI4MDBENworOjEwMUJCMDAwNzIxRjAwMDA2NTI5MDAwMDQyMDAwMDAwMEEwMDQwMDA3QQorOjEwMUJDMDAwMDQ0MTAwMDA4NkFBMzcwMDA3MDAwRTAwMDcwMDE2MDAzNworOjEwMUJEMDAwMDcwMDFFMDBFNTNFMDAwMDQyMDAwMDAwMEEwMDQwMDAzMQorOjEwMUJFMDAwMDQ0MTAwMDA4NkU4MzcwMDY1MkQwMDAwNDIwMDAwMDAzNworOjEwMUJGMDAwMEEzNDI4MDA2NTM0MDAwMDQyMDAwMjAwNEEwMDQyMDAxNgorOjEwMUMwMDAwMjA0MDAwMDA0QTAwNEEwMDRBMDA1MDAwRjREMjA1MDA3QgorOjEwMUMxMDAwMDREMTU0MDA1QzczMDAwMDg2NTEzODAwMDcwMDAwMDBCNgorOjEwMUMyMDAwMDYwNjAwMDAwNzAwMDgwMDA3MDAwQzAwMDcwMDA4MDA3NworOjEwMUMzMDAwMDcwMDBBMDBFNTAxMDAwMDQ1MDAwMjAwMjA0MDAwMDAwNgorOjEwMUM0MDAwNjAwMDAwMDA2NTAzMDAwMDQwMDAwMDAwNjUyRTAwMDBGOQorOjEwMUM1MDAwMjAxQTAwMDA2MDFBMEEwMDQwMDAwMDAwNjUzNDAwMDBFRAorOjEwMUM2MDAwNDIwMDAyMDA0QTAwNDIwMDIwNDAwMDAwNEEwMDRBMDBCMAorOjEwMUM3MDAwMDYwNjAwMDA0QTAwNTAwMDAwMDAwMDAwMDAwMDAwMDBCRQorOjEwMUM4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1NAorOjEwMUM5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0NAorOjEwMUNBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzNAorOjEwMUNCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNAorOjEwMUNDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNAorOjEwMUNEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNAorOjEwMUNFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGNAorOjEwMUNGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNAorOjEwMUQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBEMworOjEwMUQxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDMworOjEwMUQyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCMworOjEwMUQzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMworOjEwMUQ0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5MworOjEwMUQ1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MworOjEwMUQ2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3MworOjEwMUQ3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MworOjEwMUQ4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1MworOjEwMUQ5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MworOjEwMURBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMworOjEwMURCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMworOjEwMURDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMworOjEwMUREMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMworOjEwMURFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGMworOjEwMURGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFMworOjEwMUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBEMgorOjEwMUUxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDMgorOjEwMUUyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCMgorOjEwMUUzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMgorOjEwMUU0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5MgorOjEwMUU1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MgorOjEwMUU2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3MgorOjEwMUU3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MgorOjEwMUU4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1MgorOjEwMUU5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MgorOjEwMUVBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMgorOjEwMUVCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMgorOjEwMUVDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMgorOjEwMUVEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMgorOjEwMUVFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGMgorOjEwMUVGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFMgorOjEwMUYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBEMQorOjEwMUYxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDMQorOjEwMUYyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCMQorOjEwMUYzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMQorOjEwMUY0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5MQorOjEwMUY1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MQorOjEwMUY2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3MQorOjEwMUY3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MQorOjEwMUY4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1MQorOjEwMUY5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MQorOjEwMUZBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMQorOjEwMUZCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMQorOjEwMUZDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMQorOjEwMUZEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMQorOjEwMUZFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGMQorOjEwMUZGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFMQorOjEwMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBEMAorOjEwMjAxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDMAorOjEwMjAyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCMAorOjEwMjAzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMAorOjEwMjA0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5MAorOjEwMjA1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MAorOjEwMjA2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3MAorOjEwMjA3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MAorOjEwMjA4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1MAorOjEwMjA5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MAorOjEwMjBBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMAorOjEwMjBCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMAorOjEwMjBDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMAorOjEwMjBEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAorOjEwMjBFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGMAorOjEwMjBGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFMAorOjEwMjEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDRgorOjEwMjExMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCRgorOjEwMjEyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBRgorOjEwMjEzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5RgorOjEwMjE0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4RgorOjEwMjE1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3RgorOjEwMjE2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2RgorOjEwMjE3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1RgorOjEwMjE4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0RgorOjEwMjE5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRgorOjEwMjFBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyRgorOjEwMjFCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxRgorOjEwMjFDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRgorOjEwMjFEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGRgorOjEwMjFFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFRgorOjEwMjFGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBERgorOjEwMjIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDRQorOjEwMjIxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCRQorOjEwMjIyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBRQorOjEwMjIzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5RQorOjEwMjI0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4RQorOjEwMjI1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3RQorOjEwMjI2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2RQorOjEwMjI3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1RQorOjEwMjI4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0RQorOjEwMjI5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRQorOjEwMjJBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyRQorOjEwMjJCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxRQorOjEwMjJDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRQorOjEwMjJEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGRQorOjEwMjJFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFRQorOjEwMjJGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBERQorOjEwMjMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDRAorOjEwMjMxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCRAorOjEwMjMyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBRAorOjEwMjMzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5RAorOjEwMjM0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4RAorOjEwMjM1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3RAorOjEwMjM2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2RAorOjEwMjM3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1RAorOjEwMjM4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0RAorOjEwMjM5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRAorOjEwMjNBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyRAorOjEwMjNCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxRAorOjEwMjNDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRAorOjEwMjNEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGRAorOjEwMjNFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFRAorOjEwMjNGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBERAorOjEwMjQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDQworOjEwMjQxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCQworOjEwMjQyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBQworOjEwMjQzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5QworOjEwMjQ0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4QworOjEwMjQ1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3QworOjEwMjQ2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2QworOjEwMjQ3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1QworOjEwMjQ4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0QworOjEwMjQ5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzQworOjEwMjRBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyQworOjEwMjRCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxQworOjEwMjRDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQworOjEwMjREMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGQworOjEwMjRFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFQworOjEwMjRGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBEQworOjEwMjUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDQgorOjEwMjUxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCQgorOjEwMjUyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBQgorOjEwMjUzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5QgorOjEwMjU0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4QgorOjEwMjU1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3QgorOjEwMjU2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2QgorOjEwMjU3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1QgorOjEwMjU4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0QgorOjEwMjU5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzQgorOjEwMjVBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyQgorOjEwMjVCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxQgorOjEwMjVDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQgorOjEwMjVEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGQgorOjEwMjVFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFQgorOjEwMjVGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBEQgorOjEwMjYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDQQorOjEwMjYxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCQQorOjEwMjYyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBQQorOjEwMjYzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5QQorOjEwMjY0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4QQorOjEwMjY1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3QQorOjEwMjY2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2QQorOjEwMjY3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1QQorOjEwMjY4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0QQorOjEwMjY5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzQQorOjEwMjZBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyQQorOjEwMjZCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxQQorOjEwMjZDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQQorOjEwMjZEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGQQorOjEwMjZFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFQQorOjEwMjZGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBEQQorOjEwMjcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDOQorOjEwMjcxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCOQorOjEwMjcyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBOQorOjEwMjczMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5OQorOjEwMjc0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4OQorOjEwMjc1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3OQorOjEwMjc2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2OQorOjEwMjc3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1OQorOjEwMjc4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0OQorOjEwMjc5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzOQorOjEwMjdBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyOQorOjEwMjdCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxOQorOjEwMjdDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOQorOjEwMjdEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGOQorOjEwMjdFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFOQorOjEwMjdGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBEOQorOjEwMjgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDOAorOjEwMjgxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCOAorOjEwMjgyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBOAorOjEwMjgzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5OAorOjEwMjg0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4OAorOjEwMjg1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3OAorOjEwMjg2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2OAorOjEwMjg3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1OAorOjEwMjg4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0OAorOjEwMjg5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzOAorOjEwMjhBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyOAorOjEwMjhCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxOAorOjEwMjhDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOAorOjEwMjhEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGOAorOjEwMjhFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFOAorOjEwMjhGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBEOAorOjEwMjkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDNworOjEwMjkxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCNworOjEwMjkyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBNworOjEwMjkzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5NworOjEwMjk0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4NworOjEwMjk1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3NworOjEwMjk2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NworOjEwMjk3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1NworOjEwMjk4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0NworOjEwMjk5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzNworOjEwMjlBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNworOjEwMjlCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNworOjEwMjlDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNworOjEwMjlEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGNworOjEwMjlFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNworOjEwMjlGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBENworOjEwMkEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDNgorOjEwMkExMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCNgorOjEwMkEyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBNgorOjEwMkEzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5NgorOjEwMkE0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4NgorOjEwMkE1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3NgorOjEwMkE2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NgorOjEwMkE3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1NgorOjEwMkE4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0NgorOjEwMkE5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzNgorOjEwMkFBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNgorOjEwMkFCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNgorOjEwMkFDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNgorOjEwMkFEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGNgorOjEwMkFFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNgorOjEwMkFGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBENgorOjEwMkIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDNQorOjEwMkIxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCNQorOjEwMkIyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBNQorOjEwMkIzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5NQorOjEwMkI0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4NQorOjEwMkI1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3NQorOjEwMkI2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NQorOjEwMkI3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1NQorOjEwMkI4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0NQorOjEwMkI5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzNQorOjEwMkJBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNQorOjEwMkJCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNQorOjEwMkJDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNQorOjEwMkJEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGNQorOjEwMkJFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNQorOjEwMkJGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBENQorOjEwMkMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDNAorOjEwMkMxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCNAorOjEwMkMyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBNAorOjEwMkMzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5NAorOjEwMkM0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4NAorOjEwMkM1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3NAorOjEwMkM2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NAorOjEwMkM3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1NAorOjEwMkM4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0NAorOjEwMkM5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzNAorOjEwMkNBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNAorOjEwMkNCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNAorOjEwMkNDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNAorOjEwMkNEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGNAorOjEwMkNFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNAorOjEwMkNGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBENAorOjEwMkQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDMworOjEwMkQxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCMworOjEwMkQyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMworOjEwMkQzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5MworOjEwMkQ0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MworOjEwMkQ1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3MworOjEwMkQ2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MworOjEwMkQ3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1MworOjEwMkQ4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MworOjEwMkQ5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMworOjEwMkRBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMworOjEwMkRCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMworOjEwMkRDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMworOjEwMkREMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGMworOjEwMkRFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFMworOjEwMkRGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBEMworOjEwMkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDMgorOjEwMkUxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCMgorOjEwMkUyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMgorOjEwMkUzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5MgorOjEwMkU0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MgorOjEwMkU1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3MgorOjEwMkU2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MgorOjEwMkU3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1MgorOjEwMkU4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MgorOjEwMkU5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMgorOjEwMkVBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMgorOjEwMkVCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMgorOjEwMkVDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMgorOjEwMkVEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGMgorOjEwMkVFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFMgorOjEwMkVGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBEMgorOjEwMkYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDMQorOjEwMkYxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCMQorOjEwMkYyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMQorOjEwMkYzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5MQorOjEwMkY0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MQorOjEwMkY1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3MQorOjEwMkY2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MQorOjEwMkY3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1MQorOjEwMkY4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MQorOjEwMkY5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMQorOjEwMkZBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMQorOjEwMkZCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMQorOjEwMkZDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMQorOjEwMkZEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGMQorOjEwMkZFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFMQorOjEwMkZGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBEMQorOjAwMDAwMDAxRkYKZGlmZiAtLWdpdCBhL2Zpcm13YXJlL3lhbWFoYS9kczFfZHNwLmZ3LmloZXggYi9maXJtd2FyZS95YW1haGEvZHMxX2RzcC5mdy5paGV4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFjYjBiYTQKLS0tIC9kZXYvbnVsbAorKysgYi9maXJtd2FyZS95YW1haGEvZHMxX2RzcC5mdy5paGV4CkBAIC0wLDAgKzEsOSBAQAorOjEwMDAwMDAwODEwMDAwMDBBNDAxMDAwMDBBMDAwMDAwMkYwMDAwMDA5MQorOjEwMDAxMDAwNTMwMjA4MDAxNzAzODAwMTdCNDAwMDAwM0Y4NDAwMDA2QQorOjEwMDAyMDAwM0M0ODAxMDAzQzk0MDEwMDNDRDgwNTAwM0MxQzAwMDAwOQorOjEwMDAzMDAwN0JDMDAwMDAzRjBDMDUwMDNDNTAyMTAxMDAwMDAwMDA4NworOjEwMDA0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCMAorOjEwMDA1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMAorOjEwMDA2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5MAorOjEwMDA3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MAorOjAwMDAwMDAxRkYKZGlmZiAtLWdpdCBhL2Zpcm13YXJlL3lhbWFoYS9kczFlX2N0cmwuZncuaWhleCBiL2Zpcm13YXJlL3lhbWFoYS9kczFlX2N0cmwuZncuaWhleApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41OTdmNDI5Ci0tLSAvZGV2L251bGwKKysrIGIvZmlybXdhcmUveWFtYWhhL2RzMWVfY3RybC5mdy5paGV4CkBAIC0wLDAgKzEsNzY5IEBACis6MTAwMDAwMDAwNzAwMDAwMDA3MDAyNDAwMDcwMDBDMDAwNzAwMUMwMDg4Cis6MTAwMDEwMDAwNzAwMDYwMDAyMDA3MDAwMjAwMDAwMDA0MDAwMDMwMEZFCis6MTAwMDIwMDAwNDcxMDAwMDg2NDIwMDAwNDAwMDAzMDAwRDBGMDAwMDM0Cis6MTAwMDMwMDAxMDA4MDAwMDNBMDQyMDAwODIwMjAwMDAwRDAyMDAwMEI3Cis6MTAwMDQwMDAxMDA4MDAwMDNBMDQyMDAwODIxMjAwMDA4MjBFMjAwMEY2Cis6MTAwMDUwMDAwRDgwMDAwMDEwMDgwMDAwM0EwNDIwMDA4MjFBMDAwMDAxCis6MTAwMDYwMDAwRDQ2MDMwMDEwMDgwMDAwM0EwNDEwMDAwREVDMDIwMEQ5Cis6MTAwMDcwMDAxMDA4MDAwMDNBMDQxODAwMEQwMTAwMDAxNTAwMDIwMEVECis6MTAwMDgwMDBGRDAwMDAwMDIwMDAwMDAwNjA4ODAzMDA2MDkwMDMwMDc1Cis6MTAwMDkwMDA2MDgwMDMwMDQwODAwMzAwNDA4MDAzMDA0MDgwMDMwMDM0Cis6MTAwMEEwMDA0MDgwMDEwMDdEMEEwMDAwNDA4MDAzMDA0MDgwMDMwMDgyCis6MTAwMEIwMDA0MDgwMDEwMDAyMDQyMDAwODIwODAwMDAxQTAwMDgwMEFECis6MTAwMEMwMDAwNDA5MDAwMDg2NzEwMTAwMDcwMDAwMDAwNzAwMjYwMEY3Cis6MTAwMEQwMDAwNzAwNDAwMDA3MDAwMDAwOEQyNTAzMDAxMDA4MDAwMDA1Cis6MTAwMEUwMDAzQTA0MTgwMDA3MDAyNjAwMDI0NDI4MDA3RDA4MDAwMDlBCis6MTAwMEYwMDA0MjgwMDEwMDBBMTYwMDAwMDZBMjA1MDAwNzAwMDAwMDY5Cis6MTAwMTAwMDAwNzAwNDQwMDBEMjMwMDAwMTAwODAwMDAzQTA0MDgwMDE2Cis6MTAwMTEwMDAwNkZBMjIwMDA3MDAwMDAwRkQwNzAwMDA0MjgwMDEwMEVGCis6MTAwMTIwMDAwQTAwMDgwMDA0MDkwMDAwODZBQjAyMDA5NTAxMDAwMEU3Cis6MTAwMTMwMDAwNDBEMDkwMDA3MDAwMDAwMjAwODAwMDBGNTAwMDAwMDgxCis6MTAwMTQwMDA3RDBCMDAwMDYwRjAwMTAwRkQwMDAwMDAwNjNBMDMwMDk2Cis6MTAwMTUwMDA0MDgwMDEwMDdEMEEwMDAwNDI4MDAzMDA0QTgwMTMwMEI1Cis6MTAwMTYwMDAwQTAwMTgwMDIwMTgwMDAwNjA5MDA1MDA2MDg4MDUwMDUzCis6MTAwMTcwMDA0MDgwMDEwMEZEMDAwMDAwNDI4MDAxMDAwQTAwNzAwMDg0Cis6MTAwMTgwMDAxNTAxMDAwMDQ0MTEwNzAwODYzQjAzMDAwMDAwMDMwMDM2Cis6MTAwMTkwMDAyMDcwMDAwMDA2NjIwMzAwNDA4MDAxMDAwRDM2MDAwMDYwCis6MTAwMUEwMDAxMDA4MDAwMDNBMDQwODAwMDYyMjIzMDAwNzAwMDAwMDlGCis6MTAwMUIwMDAwREVDMDIwMDEwMDgwMDAwM0EwNDE4MDAwNjlBMDEwMDM1Cis6MTAwMUMwMDAwNzAwMDAwMDA3MDAyNDAwOEQwRjAwMDAxMDA4MDAwMDQ5Cis6MTAwMUQwMDAzQTE2MDAwMDAyMjQwMDAwMDI1QzAwMDBGRDI4MDAwMDI2Cis6MTAwMUUwMDAyMDAwMDAwMDQwODAwMTAwMEQwMDA4MDAxNTA4MDAwMEZDCis6MTAwMUYwMDA4NDA5NTEwMDA3MDAwMDAwNEQwMDAwMDA1RDBFMDAwMDYyCis6MTAwMjAwMDAwMjBFMDAwMDBENDMwMDAwMTAwODAwMDAzQTA0MDgwMDMwCis6MTAwMjEwMDAwNjEyMkUwMDA3MDAwMDAwOEQwMDAwMDAyNDA5MDAwMEQ3Cis6MTAwMjIwMDAwMjBGMDAwMDBENDcwMDAwMTAwODAwMDAzQTA0MDgwMDBCCis6MTAwMjMwMDAwNjEyMkUwMDA3MDAwMDAwODAwNDQ4MDAxMDEyMDAwMDgzCis6MTAwMjQwMDAzQTA0MjgwMDhENzcwMDAwMTAwODAwMDAzQTBDMjgwMEJFCis6MTAwMjUwMDA4RDA2MDAwMDEwMDgwMDAwM0ExNDI4MDAwMjQ0MjgwMDBGCis6MTAwMjYwMDA4RDI1MDMwMDEwMDgwMDAwM0EwNDE4MDA4REZGMDcwMEQ4Cis6MTAwMjcwMDAyMDA4MDAwMEZEMDIwMDAwNDA4MDAxMDAwNzAwMjYwMDY5Cis6MTAwMjgwMDAwNzAwMjAwMEZEMDIwMDAwNDI4MDAxMDAwQTAwMDgwMDczCis6MTAwMjkwMDAwNDA5MDAwMDg2MTIwNTAwMDcwMDAwMDAwNzAwMjQwMDgyCis6MTAwMkEwMDAwREVDMDIwMDEwMDgwMDAwM0EwNDE4MDA3RDM4MDAwMDMwCis6MTAwMkIwMDA0MjgwMDEwMDBBMDAwODAwMTUxMDAwMDA4NDA5MDEwMEI2Cis6MTAwMkMwMDA4NjlCMDEwMDA3MDAwMDAwMDZCMjAxMDAwNzAwMDAwMDQ1Cis6MTAwMkQwMDBGRDA4MDAwMDQyODAwMTAwMEEwMDE4MDAwNDE5MDAwMDE3Cis6MTAwMkUwMDA4NkI4MjIwMDA3MDAyODAwMTAxODAwMDAzQTA0MjgwMEYxCis6MTAwMkYwMDAwMjBDMjgwMDBEMDAwMDAwMTAwODAwMDAzQTE0MjgwMDJECis6MTAwMzAwMDA4RDgwMDgwMDIwMDgwMDAwRkQwMjAwMDA0MDgwMDEwMEYwCis6MTAwMzEwMDAwNzAwMjAwMDBEMDIwMDAwMDQ5OTE4MDAwNzAwMDAwMEVCCis6MTAwMzIwMDAyRDQwMDAwMEJEMDAwMDAwRkQwMjAwMDA0MjgwMDEwMEUxCis6MTAwMzMwMDAwQTAwMDgwMDA0MDkwMDAwODY1QTA2MDAwNzAwMDAwMEIxCis6MTAwMzQwMDAwMDAxMDAwMDIwMEEwMDAwN0QwNDAwMDA0MDgwMDEwMDQwCis6MTAwMzUwMDA0MjgwMDEwMDBBMDAyMDAwMTUzMDAwMDA0NDIxMDEwMDA1Cis6MTAwMzYwMDA4NjYxMDMwMDA3MDAwMDAwMDQyMTAwMDA4NjYxMDMwMDhECis6MTAwMzcwMDAwNzAwMDAwMDhEMEYwMDAwMTAwODAwMDAzQTBDMjgwMDU0Cis6MTAwMzgwMDA0NDM5MDIwMDg2QzkwNzAwMDcwMDAwMDAxMDE4MDAwMDY5Cis6MTAwMzkwMDAzQTA0MjgwMDBEODEwODAwMjAwODAwMDBGRDAyMDAwMDNBCis6MTAwM0EwMDA0MDgwMDEwMDA3MDAyMDAwMTAyODAwMDAzQTAwNzgwMDdCCis6MTAwM0IwMDA4RDc4MDAwMDEwMDgwMDAwM0EwNDA4MDAwNjEyMkEwMDk4Cis6MTAwM0MwMDAwNzAwMDAwMDBENDAwMDAwMTUxMDAwMDAwNDk5MTgwMEZGCis6MTAwM0QwMDAwNDI5MjkwMDA0MzkzOTAwMDcwMDAwMDAwNjAyMDcwMDNCCis6MTAwM0UwMDAwNzAwMDAwMEY1MDQwMDAwN0QwMDAwMDAyMDAwMDAwMDcwCis6MTAwM0YwMDA4RDAwMDAwMDYwMDgwMTAwNDA4MDAxMDA3RDA0MDAwMEM1Cis6MTAwNDAwMDA0MjgwMDMwMDRBODAyMTAwMEEwMDE4MDA0NDE5MDIwMEJCCis6MTAwNDEwMDA4NjkwMjIwMDA3MDAwMDAwNzU0MDAwMDAwNEYxNzEwMDgyCis6MTAwNDIwMDAwNzAwMDAwMDQyMDAwMTAwMEEwMDI4MDAwNDI5MDAwMDIzCis6MTAwNDMwMDA4NjU4MjIwMDA3MDAwMDAwMEQzQzAwMDAwNEE5MzAwMDhGCis6MTAwNDQwMDAwNzAwMDAwMDdEMDcwMDAwNDI4MDAxMDAwQTAwMDgwMDRDCis6MTAwNDUwMDAwNDA5MDAwMDg2REEwODAwN0QwNTAwMDAyMDI4MDAwMDVECis6MTAwNDYwMDA2MEIwMDMwMDA2RjIwODAwNDA4MDAxMDAyMDMwMDAwMDY4Cis6MTAwNDcwMDA2MEE4MDMwMDQwODAwMTAwRkQwMjAwMDA0MjgwMDEwMEVFCis6MTAwNDgwMDAwQTAwMDgwMDA0MDkwMDAwODZGQTA4MDAwNzAwMDAwMEJFCis6MTAwNDkwMDA3RDA1MDAwMDQyODAwMTAwMEEwNDI4MDA4RDBFMDAwMDQ2Cis6MTAwNEEwMDAxMDA4MDAwMDNBMEMyODAwMEQwMDAwMDAxMDA4MDAwMEExCis6MTAwNEIwMDAzQTE0MjgwMDBEMDAwOTAwMjAwODAwMDBGRDAyMDAwMDg5Cis6MTAwNEMwMDA0MDgwMDEwMDA3MDAyMDAwRkQzRDAwMDAyMDAwMDAwMEVBCis6MTAwNEQwMDA0MDgwMDEwMDdEMTAwMDAwOEQ5RDAwMDAxMDA4MDAwMDhDCis6MTAwNEUwMDAzQTA0MDgwMDA2MTIyQTAwMDcwMDAwMDAxNTA4MDAwMDYwCis6MTAwNEYwMDAxQTAwMDgwMDg0MDkwMTAwODY1MTBBMDA3RDEzMDAwMERCCis6MTAwNTAwMDAwMDA1MjAwMDIwMEYyODAwNjA4RjMzMDA2MDhGM0IwMDIzCis6MTAwNTEwMDA2MDhGNDMwMDYwOEY0QjAwNjA4RjUzMDA2MDhGNUIwMEUzCis6MTAwNTIwMDA2MDhBMDMwMDQwODAwMTAwN0QxMDAwMDA0MjgwMDEwMENECis6MTAwNTMwMDAwQTAwMDgwMDE1MDIwMDAwODQwOTAxMDA4NjgxM0EwMEMzCis6MTAwNTQwMDAwNzAwMDAwMEJEN0YwMDAwQzQzRDM4MDAwNzAwMDAwMDI4Cis6MTAwNTUwMDA3RDFBMDAwMDc1MTMwMDAwNDI4MDAxMDA0QTAwMDkwMDY2Cis6MTAwNTYwMDAwQTAwMTAwMDA0OEQwQjAwMDQ5NTEzMDAwNzAwMDAwMDIyCis6MTAwNTcwMDAyMDA4MDAwMDYwOTAwMTAwMDQxMTAwMDA4NjU4MjIwMDRECis6MTAwNTgwMDA0MDAwMDEwMEZEMTcwMDAwNDI4MDAxMDAwQTAwMDgwMDQxCis6MTAwNTkwMDAwNDA5MDAwMDg2NUEyMjAwMDcwMDAwMDA3RDE5MDAwMEFGCis6MTAwNUEwMDA0MjgwMDMwMDRBODAwOTAwMEEwMDEwMDAyNDA5MDAwMDZDCis6MTAwNUIwMDA2NDE2MDAwMEZEMTEwMDAwNDI4MDAzMDA0QTgwMkIwMEY5Cis6MTAwNUMwMDA0QTgwMTkwMDhEMDAwMDAwNDQ4OTIxMDAwNzAwMDAwMEM2Cis6MTAwNUQwMDA0NDIyMDAwMDg2MTkwQzAwMDcwMDAwMDA2NDFBMDAwMDg1Cis6MTAwNUUwMDAyNDJBMDAwMDdEMTkwMDAwMDIwMTA4MDAyMjAxMTAwMEU5Cis6MTAwNUYwMDAyMDA4MDAwMDYwOTAwMzAwNDA4MDAxMDBGRDNEMDAwMEU1Cis6MTAwNjAwMDA4RDAwMDAwMDIwMDgwMDAwNDA4MDAxMDA3NTEzMDAwMEVDCis6MTAwNjEwMDA3RDFBMDAwMDQyMDAwMTAwNEE4MDA5MDAwQTAwMTAwMDEzCis6MTAwNjIwMDAxRDAyMDAwMEU0ODkwMTAwRTQ5MjI5MDA0NDkxMzAwMDk5Cis6MTAwNjMwMDAwNzAwMDAwMDBEMDYwMDAwMTUwQTAwMDAxRDBDMDAwMDU4Cis6MTAwNjQwMDAyNTEwMDAwMEU0QTkwMDAwRTQyQjAxMDA2NDA0MDAwMDcwCis6MTAwNjUwMDBFNEIzMDEwMEU0MzIwMjAwNjQwNDAwMDA2NDA0MDAwMDFBCis6MTAwNjYwMDA2NDA0MDAwMDY0MDQwMDAwMEQwNDAwMDBDNEIxMDgwMDJDCis6MTAwNjcwMDAwNzAwMDAwMDIwMDgwMDAwRjUwQjAwMDA0MDAwMDMwMDA4Cis6MTAwNjgwMDA3RDE5MDAwMDQyODAwMzAwNEE4MDA5MDAyNDBBMDAwMDBFCis6MTAwNjkwMDAwQTAwMDgwMDY0MEUwODAwMDcwMDAwMDAyMjAxMTAwMDk0Cis6MTAwNkEwMDAyMDA4MDAwMDYwMTAwMzAwNDAwMDAxMDBBQzY0MDAwMDVFCis6MTAwNkIwMDA3RDAyMDAwMDIwMDAwMDAwNDA4MDAxMDA3RDEwMDAwMDRECis6MTAwNkMwMDA0MjgwMDEwMEZEMTEwMDAwNEE4MDNCMDA0QTgwMDkwMDgxCis6MTAwNkQwMDAwQTAwMjAwMDk1MDAwMDAwNDQxMTFBMDA0NEExMDAwMDA3Cis6MTAwNkUwMDA4NjU4MEUwMDBEMDQwMDAwODRCOTAwMDA4NjU5MEUwMEUzCis6MTAwNkYwMDBGRDE4MDAwMDQyODAwMTAwRkQxMDAwMDA0QTgwMDkwMDQyCis6MTAwNzAwMDAwQTAwMjgwMDk1MDAwMDAwMjQwOTAxMDA2NDJBMDAwMDY2Cis6MTAwNzEwMDA4NjQ5MEUwMDA3MDAwMDAwMDQyOTAwMDA4NjVBMEUwMERBCis6MTAwNzIwMDAwNzAwMDAwMDA2NjIwRTAwMDIwMDA4MDA4RDAwMDAwMEI1Cis6MTAwNzMwMDA3RDM4MDAwMDIwMDgwMDAwNDA4MDAxMDA3RDEyMDAwMDhDCis6MTAwNzQwMDA0MjgwMDEwMDBBMDAxMDAwMDQzOTAwMDA4NjA5MEYwMEYxCis6MTAwNzUwMDAwRDA4MDAwMEI1RkY3RjAwODRCOTAwMDA4NkQ5MEUwMEE3Cis6MTAwNzYwMDAyNTAwMDAwMDA2QjIwRjAwMkQwMDAwMDAxNTAwMDAwMDVCCis6MTAwNzcwMDAyRDA4MDAwMDBERTAwMjAwMjAwODAwMDAwNkZBMEYwMDFFCis6MTAwNzgwMDAwRDAwMDAwMDM1ODA3RjAwODRCOTAwMDA4NkE5MEYwMEFECis6MTAwNzkwMDAyNTAwNDAwMDhEMDAwMDAwNDQwOTExMDAwNzAwMDAwMDAyCis6MTAwN0EwMDA4RDAxMDAwMDA0OTUxMDAwMDcwMDAwMDA2NDkxMDAwMDE2Cis6MTAwN0IwMDAyNDA0MDAwMDI0MDQwMDAwMjQwNDAwMDAwMjAxMTAwMEFFCis6MTAwN0MwMDAwMjAwMjgwMDBEREYwMjAwMjAwODAwMDAwNkZBMEYwMERBCis6MTAwN0QwMDA4RDAxMDAwMDJEMDQwMDAwOEQwMDAwMDAwNDk1MTAwMDI0Cis6MTAwN0UwMDAwNzAwMDAwMDBEMDIwMDAwODQ5MTEwMDAwNzAwMDAwMEM3Cis6MTAwN0YwMDA4RERGMDIwMDIwMDgwMDAwOEQwMDAwMDBGRDM4MDAwMEExCis6MTAwODAwMDA0MDgwMDEwMEZEM0IwMDAwMjAxMDAwMDA2MEE4MDMwMEI0Cis6MTAwODEwMDAxNTA4MDAwMDg0MzEzMTAwODQyMTIxMDAwNzAwMDAwMDA4Cis6MTAwODIwMDA2MEIwMDMwMDYwQTAwMzAwNDA4MDAxMDBGRDIyMDAwMEQyCis6MTAwODMwMDA5NTAwMDAwMDI0MDkwMTAwMjQwNDAwMDAyNDA0MDAwMEE1Cis6MTAwODQwMDA2NDEyMDAwMDAyMDExMDAwMjAwODAwMDA2MDkwMDMwMDA0Cis6MTAwODUwMDA0MDgwMDEwMDI0MTkwMDAwMEQwRjAxMDA3RDM5MDAwMEM3Cis6MTAwODYwMDAyMDA4MDAwMDQwODAwNTAwNDI4MDAzMDA0QTg0MDkwMEZGCis6MTAwODcwMDAwNjA2MDAwMDBBMDQwODAwMjQwNDAwMDAyNDA0MDAwMDA2Cis6MTAwODgwMDA3RDExMDAwMDQyODAwMTAwMEEwMDA4MDAyNDBBMDAwMEQ3Cis6MTAwODkwMDAwMjA1MjgwMDAyMEMyODAwMEQ4MDA5MDAyMDA4MDAwMDM1Cis6MTAwOEEwMDBGRDAyMDAwMDQwODAwMTAwMDcwMDIwMDBGRDIyMDAwMDQyCis6MTAwOEIwMDA0MjgwMDEwMDBBMDAwODAwOTUwMDAwMDBDNDBEMjgwMEQ1Cis6MTAwOEMwMDAyNDE5MDEwMDdEMTkwMDAwNDI4MDAxMDBGRDExMDAwMDgzCis6MTAwOEQwMDA0QTgwMDkwMDBBMDAxMDAwQjUwMDAwMDA0NDMxMTEwMEYwCis6MTAwOEUwMDAwNDhEMEEwMDA3MDAwMDAwNDQwQTA4MDAwNDk1MTIwMDY1Cis6MTAwOEYwMDAwNzAwMDAwMEZEMjMwMDAwMjAxMDAwMDA0MDgwMDMwMERFCis6MTAwOTAwMDA0NDEyMTAwMDA3MDAwMDAwMjAwODAwMDA2MDkwMDMwMDVGCis6MTAwOTEwMDA0MDgwMDEwMEZEMDIwMDAwNDI4MDAxMDAwQTAwMDgwMDQyCis6MTAwOTIwMDAwNDA5MDAwMDg2MzIxMjAwMDcwMDAwMDBGRDNCMDAwMEIxCis6MTAwOTMwMDAwMDAxMDAwMDEwMEEwMDAwN0E4MDBCMDA0QTgwMTMwMEJBCis6MTAwOTQwMDA4NDA5MDkwMDA3MDAwMDAwOTUwMDAwMDAwNDNEMDEwMDMzCis6MTAwOTUwMDA4NkI4MTIwMDBBMDAxMDAwMDIwMDEwMDA4NDA5MDkwMDg1Cis6MTAwOTYwMDAwNzAwMDAwMDQyODAwMzAwNEE4MDExMDAwNDBEMDkwMEM2Cis6MTAwOTcwMDAwNzAwMDAwMDBBMDAxMDAwODQwRDA5MDAwNzAwMDAwMEI1Cis6MTAwOTgwMDA3RDI1MDAwMDIwMDgwMDAwNDA4MDAxMDAwRDAxMDAwMENFCis6MTAwOTkwMDAxMDA4MDAwMDNBMTQyODAwN0QxMjAwMDA0MjgwMDEwMDc3Cis6MTAwOUEwMDAwQTAwMjAwMDdEMTkwMDAwNDI4MDAxMDA3RDExMDAwMDM2Cis6MTAwOUIwMDA0QTgwMzEwMDBBMDAxMDAwMjQzMTAwMDA4RDNCMDEwMDA0Cis6MTAwOUMwMDA3RDM5MDAwMDIwMDgwMDAwNDA4MDA1MDA0MjgwMDMwMEJGCis6MTAwOUQwMDA0QTg0MDkwMDA2MDYwMDAwMEEwNDA4MDAwMjAxMzAwMEVCCis6MTAwOUUwMDAyNDMxMDAwMDI0MDQwMDAwMjQwNDAwMDAyNDEyMDAwMDJDCis6MTAwOUYwMDAwMjA1MjgwMDRDMUEwMDAwODYzOTE0MDAwMjAwNzAwMDFECis6MTAwQTAwMDAyRDAwMDAwMDAwMDAwMzAwN0QzODAwMDA0MjgwMDEwMDNFCis6MTAwQTEwMDAwQTAwMTAwMDA2NjIxNDAwMjQyMTAwMDBBRDAwMDAwMDRFCis6MTAwQTIwMDAwMjAwMTAwMDBEMDEwMDAwMjQwOTAwMDAyNDZCMDAwMEVBCis6MTAwQTMwMDAwRDRBMDEwMDdEMzkwMDAwMjAwODAwMDA0MDgwMDUwMEJCCis6MTAwQTQwMDA0MjgwMDMwMDRBODQwOTAwMDYwNjAwMDAwQTA0MDgwMEU4Cis6MTAwQTUwMDA2NDMyMDAwMDhEMDAwMDAwMjQwQTAwMDAyMDEwMDAwMDE1Cis6MTAwQTYwMDA3RDIyMDAwMDQwODAwMTAwOEQ0RjAxMDAxMDA4MDAwMDMxCis6MTAwQTcwMDAzQTA0MDgwMDA2NUEyQjAwMDcwMDAwMDAyMDI4MDAwMDU2Cis6MTAwQTgwMDA3RDIwMDAwMDQwODAwMTAwN0QxMTAwMDA0MjgwMDMwMEI1Cis6MTAwQTkwMDA0QTgwMTMwMDBBODAzMzAwN0QzODAwMDA0MjgwMDEwMDQ0Cis6MTAwQUEwMDAwQTAwMDgwMDA0MDkwMDAwODY3MjE3MDAwNzAwMDAwMDExCis6MTAwQUIwMDA4RDAwMDAwMDY0MDkwMzAwMEQ1QjAxMDA3RDM5MDAwMDFBCis6MTAwQUMwMDAyMDA4MDAwMDQwODAwNTAwNDI4MDAzMDA0QTg0MDkwMDlECis6MTAwQUQwMDAwNjA2MDAwMDBBMDQwODAwMDIwMTM4MDAyNDA0MDAwMDkxCis6MTAwQUUwMDAyNDA0MDAwMDI0MTIwMDAwRkQwMjAwMDA0MjgwMDEwMEU2Cis6MTAwQUYwMDAwQTAwMDgwMDA0MDkwMDAwODZEQTE1MDAwNzAwMDAwMDVCCis6MTAwQjAwMDAwMjA1MjgwMDRDMUEwMDAwODY3MTE3MDAwNzAwMDAwMDNCCis6MTAwQjEwMDA2NDIxMDMwMDJDNjMwMDAwRkQzRDAwMDA0MjgwMDEwMEMxCis6MTAwQjIwMDAwQTAwMDgwMDk1MDAwMDAwMDQwOTA5MDAwNzAwMDAwMDAxCis6MTAwQjMwMDAyMDA4MDAwMDRDMUEwMDAwODY5OTE2MDA0MDgwMDEwMDMxCis6MTAwQjQwMDAwMDAwMDMwMDA2QjIxNjAwMjQyMTAwMDAwRDAxMDAwMDgxCis6MTAwQjUwMDAyNDA5MDAwMDI0NkIwMDAwMEQ2RjAxMDA3RDM5MDAwMEE2Cis6MTAwQjYwMDAyMDA4MDAwMDQwODAwNTAwNDI4MDAzMDA0QTg0MDkwMEZDCis6MTAwQjcwMDAwNjA2MDAwMDBBMDQwODAwNjQzQTAwMDA5NTAwMDAwMDIwCis6MTAwQjgwMDAyNDEyMDAwMEZEMDIwMDAwNDI4MDAxMDAwQTAwMDgwMDVCCis6MTAwQjkwMDAwNDA5MDAwMDg2MTIxNzAwMDcwMDAwMDAwRDc2MDEwMDBFCis6MTAwQkEwMDAxMDA4MDAwMDNBMDQwODAwMDY1QTJCMDAwNzAwMDAwMDU1Cis6MTAwQkIwMDAwNjBBMTYwMDA3MDAwMDAwMjA3MDAwMDAwQTAxMDgwMDY1Cis6MTAwQkMwMDAyQTAxMTAwMEZEMjAwMDAwNjA4ODAzMDA2MDkwMDMwMEVGCis6MTAwQkQwMDA0MDgwMDEwMDdEMjIwMDAwNDI4MDAxMDBGRDNEMDAwMEI4Cis6MTAwQkUwMDAwQTAwMDgwMDRBODQzMTAwMDQwOTAwMDA4NjEwMTgwMDM5Cis6MTAwQkYwMDA4QjAwMTgwMDhEMDAwMDAwMDQ5OTE4MDAyQzMxMDAwMEIzCis6MTAwQzAwMDAwNkUyMTgwMDA3MDAwMDAwNEMzMjAwMDA4NjZCMTgwMDU2Cis6MTAwQzEwMDAwNzAwMDAwMDA0MTkwMDAwODY2ODE4MDAwNzAwMDAwMEEzCis6MTAwQzIwMDA5NTAwMDAwMDQ0OTExOTAwMkMyMjAwMDAyNDMxMDAwMDlFCis6MTAwQzMwMDA2QzYzMDAwMDNEMEUwMDAwNzUxMzAwMDBGRDBCMDAwMDBBCis6MTAwQzQwMDA0MjAwMDEwMDRBODAwOTAwMEEwMDEwMDBFQzhBMDMwMEZCCis6MTAwQzUwMDBFQzkzMDMwMDRDMjIwMDAwODZFMTE4MDAwNzAwMDAwMDFFCis6MTAwQzYwMDA4RDAwMDAwMDA0OTkxODAwNkMyMjAwMDAyQzMyMDAwMDU2Cis6MTAwQzcwMDAwQTA1MzAwMEFCMUQzMDAwODMyMDAwMDBGRDE4MDAwMDg1Cis6MTAwQzgwMDA0MjgwMDEwMDBBMDAwODAwMjQ4OTAxMDAwMjA1MzAwMEFBCis6MTAwQzkwMDA4MzEwMDAwMDc1MTgwMDAwNDIwMDAxMDAwQTAwMTAwMEQ3Cis6MTAwQ0EwMDA4RDAwMDAwMDI0MDkwMTAwNzUxMzAwMDA0MjA1MzMwMDg3Cis6MTAwQ0IwMDBDQjBDMzMwMENCMkMzMzAwQ0IzNDMzMDBDQjNDMzMwMDk0Cis6MTAwQ0MwMDBDQjQ0MzMwMENCNEMzMzAwQ0I1NDMzMDA4QjVDMzAwMDJGCis6MTAwQ0QwMDA4MzYwMDAwMEY1MDIwMDAwNDIwMDAxMDAwQTAwMDgwMEU1Cis6MTAwQ0UwMDAwNDA5MDAwMDg2QjIxOTAwMDcwMDAwMDAyRDFFMDAwMDU0Cis6MTAwQ0YwMDBGRDA1MDAwMDQyODAwMTAwMEEwMDA4MDAyNDg5MDIwMDZFCis6MTAwRDAwMDAwMjA1MjgwMDBEMDYwMDAwMTAwODAwMDAzQTBDMjgwMDFCCis6MTAwRDEwMDA4RDAwMDAwMDEwMDgwMDAwM0ExNDI4MDA4RDgwMEEwMEExCis6MTAwRDIwMDAyMDA4MDAwMEY1MDIwMDAwNDAwMDAxMDAwNzAwMjIwMDNBCis6MTAwRDMwMDA3NTEyMDAwMDQyMDAwMzAwNEEwMDIxMDA4RDAwMDAwMEVGCis6MTAwRDQwMDA0NDA5MUEwMDA3MDAwMDAwOERBQjAxMDAxMDA4MDAwMEU0Cis6MTAwRDUwMDAzQTA0MDgwMDA2QUEyQzAwMDcwMDAwMDBGNTAxMDAwMDc0Cis6MTAwRDYwMDA0MjAwMDMwMDRBMDAwRDAwMEEwMDEwMDA0NDkxMDgwMEYwCis6MTAwRDcwMDAwNzAwMDAwMDIwMDgwMDAwNDAwMDAxMDBGNTI1MDAwMEU5Cis6MTAwRDgwMDA0NDMxMEEwMDA3MDAwMDAwMjAwODAwMDA2MDI4MDMwMDJBCis6MTAwRDkwMDA0MDAwMDMwMDdEMjEwMDAwNDI4MDAzMDA0QTgwMEIwMEQ4Cis6MTAwREEwMDAwQTAwMTAwMDIwMDgwMDAwNjAxMDAzMDA0MDAwMDMwMDRCCis6MTAwREIwMDA4RDAwMDAwMDI0MDEwMDAwMkMwMTAwMDA2NDBFMDAwMEUyCis6MTAwREMwMDA2NDFBMDAwMDZDNjMwMDAwMEEwMTA4MDAyQTAxMTAwMDg4Cis6MTAwREQwMDAyMDA4MDAwMDYwMTAwMzAwNDAwMDAzMDBGRDIwMDAwMDE4Cis6MTAwREUwMDA0MjgwMDEwMDBBMDAwODAwN0QyMjAwMDA0MjgwMDEwMENDCis6MTAwREYwMDAwQTAwMTAwMDIwMDgwMDAwNjAxMDAzMDA0MDAwMDMwMEZCCis6MTAwRTAwMDA3RDE5MDAwMDQyODAwMTAwMEEwMDA4MDBGRDIyMDAwMDU4Cis6MTAwRTEwMDA0MjgwMDMwMDBBMDAxMDAwMjAwODAwMDA2MDEwMDMwMDU4Cis6MTAwRTIwMDA0MDAwMDMwMDA0MEQwOTAwMDcwMDAwMDAyMDA4MDAwMDM2Cis6MTAwRTMwMDA0MDAwMDMwMDQyODAwMzAwNEE4MDBCMDAwQTAwMTAwMEJCCis6MTAwRTQwMDAyMDA4MDAwMDYwMTAwMzAwNDAwMDAzMDA0MjgwMDMwMEZGCis6MTAwRTUwMDA0QTgwMTMwMDRBODAxOTAwMDQwRDExMDAwNDhEMTkwMDA2Cis6MTAwRTYwMDAwNzAwMDAwMDBBMDAwODAwMjAxMDAwMDA2MDE4MDMwMEJFCis6MTAwRTcwMDA2MDA4MDMwMDQwMDAwMzAwOEQwMDAwMDA0NDA5MEIwMERGCis6MTAwRTgwMDAwNzAwMDAwMDIwMDgwMDAwNDAwMDAxMDBGNTA1MDAwMEY4Cis6MTAwRTkwMDA0MjAwMDMwMDBBMDAwODAwMjAwODAwMDA0MDAwMDEwMDkyCis6MTAwRUEwMDBGNTAwMDAwMDQyMDAwMTAwMEEwMDA4MDAwNDA5MDAwMEVCCis6MTAwRUIwMDA4Njk4MUQwMDc1MUUwMDAwNDIwMDAzMDA0QTA0MDEwMEQwCis6MTAwRUMwMDAwQTBDMDAwMDA2QUExRDAwMDcwMDAwMDAwMjA0MDAwMDMyCis6MTAwRUQwMDAwMjBDMDAwMDdEMTcwMDAwRjUxQTAwMDA0MjgwMDEwMDlFCis6MTAwRUUwMDA0QTE0MDMwMDRBMUMwMzAwNEEyNDAzMDA0QTJDMDMwMDRFCis6MTAwRUYwMDA0QTM0MDMwMDRBM0MwMzAwNEE0NDAzMDAwQTRDMDAwMDAxCis6MTAwRjAwMDAzRDA0MDAwMEY1MTMwMDAwRkQxQTAwMDA0MjAwMDMwMDNDCis6MTAwRjEwMDA0QTAwMEIwMDRBODAxQjAwNEE4MDEzMDAwQTAwMjAwMDkwCis6MTAwRjIwMDA0NDkxMDgwMDQ0QTExOTAwRTQ4OTAzMDBFQzk5MDMwMEVFCis6MTAwRjMwMDAwMjU1MDAwMDBBNUQwMDAwNDIwMDAzMDA0QTAwMEIwMDU5Cis6MTAwRjQwMDA0QTgwMUIwMDRBODAxMzAwMEEwMDIwMDA0NDkxMDgwMEQ4Cis6MTAwRjUwMDA0NEExMTkwMEU0ODkwMzAwRUM5OTAzMDAwMjY1MDAwMDM0Cis6MTAwRjYwMDAwQTZEMDAwMDQyMDAwMzAwNEEwMDBCMDA0QTAwMTkwMDBECis6MTAwRjcwMDA0QTgwMkIwMDRBODAxMzAwNEE4MDIxMDAwQTAwMzAwMDdBCis6MTAwRjgwMDA0NDkxMDgwMDQ0QTExOTAwNDRCMTJBMDBFNDg5MDMwMEY3Cis6MTAwRjkwMDBFQzk5MDMwMDAyNzUwMDAwMEE3RDAwMDBFNEE5MDMwMDNCCis6MTAwRkEwMDAwMjA3MDAwMDdEMTAwMDAwMTUwNDAwMDA0MjgwMDEwMENGCis6MTAwRkIwMDAwQTAwMDgwMEU0MDkwMTAwMDIwRjAwMDBGNTJBMDAwMDAxCis6MTAwRkMwMDBGRDE5MDAwMDQyMDAwMTAwNEE4MDA5MDAwQTAwMTAwMERCCis6MTAwRkQwMDAzNDA5MDAwMDc0MTYwMDAwRjUyOTAwMDA0MjAwMDEwMEU5Cis6MTAwRkUwMDAwQTAwMTAwMDdDOTEwMDAwNzUyMDAwMDA0MjAwMDEwMDAyCis6MTAwRkYwMDAwQTAwMDgwMDA0MDkwMDAwODYwQTIwMDBGNTI2MDAwMDA3Cis6MTAxMDAwMDBGNTI3MDAwMDQyMDAwMzAwNEEwMDA5MDAwQTAwMTAwMDEyCis6MTAxMDEwMDAzQzBBMDAwMDdDMTYwMDAwNzUxQTAwMDBGRDBCMDAwMDYxCis6MTAxMDIwMDA0MjAwMDEwMDRBODA1MTAwMEEwMDQ4MDAwNzAwMTYwMEYzCis6MTAxMDMwMDA3NTEwMDAwMDQyMDAwMTAwMEEyQzI4MDAxMjFEMjgwMDMzCis6MTAxMDQwMDAxMjI1MjgwMDMyMUYwMDAwMDcwMDFFMDAwNzAwMEUwMEI2Cis6MTAxMDUwMDA3NTE5MDAwMDQyMDAwMTAwRjUyRDAwMDA0QTAwMEQwMDQ2Cis6MTAxMDYwMDAwQTAwMTAwMDQ0OTEwMDAwODZFQTIwMDA0MjAwMDEwMEJFCis6MTAxMDcwMDAwQTM0MjgwMDVEMEUwMDAwOEQwMDAwMDA3NTAzMDAwMDlBCis6MTAxMDgwMDAyMDA4MDAwMDQwMDAwMTAwRjREMjA1MDAwNEQxNTQwMDAzCis6MTAxMDkwMDA1QzczMDAwMDg2OEIyMTAwMDcwMDAwMDAwNzAwMEMwMDM1Cis6MTAxMEEwMDAwNzAwMDgwMDA3MDAwQTAwOEQxNzAyMDAxMDA4MDAwMDYyCis6MTAxMEIwMDAzQTA0MDgwMDA2QjIzNDAwMDcwMDAwMDAwNjkyMjEwMDNFCis6MTAxMEMwMDAwNzAwMDAwMDA3MDAwODAwNzUyMjAwMDA0MjAwMDEwMDMwCis6MTAxMEQwMDAwQTAwMjAwMDA0MjEwMDAwODY1ODIyMDAyRDFFMDAwMDc2Cis6MTAxMEUwMDBGNTAyMDAwMDQyMDAwMTAwMEEwMDA4MDAwNDA5MDAwMEE3Cis6MTAxMEYwMDA4NkNBMjEwMDA3MDAwMDAwMTAyMDAwMDAzQTA0MzAwMERBCis6MTAxMTAwMDA3RDA1MDAwMEMzODAwMTAwMEEwMDA4MDAyNDg5MDIwMDU4Cis6MTAxMTEwMDAwMjA1MjgwMDAyMEMyODAwMEQ4MTBBMDAyMDA4MDAwMEFBCis6MTAxMTIwMDBGNTAyMDAwMDQwMDAwMTAwMDcwMDIyMDBGRDA0MDAwMDVECis6MTAxMTMwMDA0MjgwMDEwMDBBMDA3MDAwMDAwMDAzMDAyMDcwMDAwMERGCis6MTAxMTQwMDAwNkZBMDcwMDQwODAwMTAwOEQyQjAyMDAxMDA4MDAwMDA1Cis6MTAxMTUwMDAzQTA0MDgwMDA2QUEyQzAwMDcwMDAwMDBGRDAyMDAwMDY3Cis6MTAxMTYwMDA0MjgwMDEwMDBBMDAwODAwMDQwOTAwMDA4NkMyMjIwMDMzCis6MTAxMTcwMDAwNzAwMDAwMDA2MDIwMjAwMDcwMDAwMDA3NTA4MDAwMERBCis6MTAxMTgwMDBGRDA5MDAwMDBEMDEwMDAwMDY0MjIzMDA5NTAyMDAwMDQ5Cis6MTAxMTkwMDA3NTBCMDAwMDdEMDkwMDAwMEQwMDAwMDAxNTA1MDAwMDIyCis6MTAxMUEwMDA0MjAwMDEwMDBBMDAxODAwMDQxOTAwMDA4NjAwMkEwMDBECis6MTAxMUIwMDBGNTA2MDAwMDIwMTAwMDAwNDAwMDAxMDBGNTA0MDAwMENBCis6MTAxMUMwMDAyMDA4MDAwMDQwMDAwMTAwNzUwNzAwMDA0MjAwMDEwMEY3Cis6MTAxMUQwMDA0QTgwMDkwMDBBMDAxMDAwMjQxMTAwMDAwNDA5MDAwMEUwCis6MTAxMUUwMDA4NkYyMjMwMDE1MDgwMDAwMDIwMTA4MDAwNDEyMTAwMDE2Cis6MTAxMUYwMDAwNjEyMjQwMDc1MDUwMDAwMDQxMjA4MDAwNzAwMDAwMDE0Cis6MTAxMjAwMDAwMjAxMTAwMDc1MDUwMDAwMjUwNDAwMDAyNDExMDIwMEYxCis6MTAxMjEwMDAwMjAxMTAwMDIwMDgwMDAwNjAxMDAzMDA0MDAwMDEwMERGCis6MTAxMjIwMDAyNDE5MDAwMDg2MDAyQTAwOEQwMDAwMDA2NDA0MDAwMERDCis6MTAxMjMwMDAwNDlEMDAwMDg2MTAyOTAwMDIwMTE4MDA3NTA1MDAwMEI5Cis6MTAxMjQwMDA0MjAwMDEwMDBBMDQyODAwOEQwMTAwMDAyNDA5MDAwMDZBCis6MTAxMjUwMDAwMjBEMjgwMDBEMDAwMDAwMjQwOTAwMDAwMjE1MjgwMERFCis6MTAxMjYwMDAwRDAwMTAwMDIwMDgwMDAwRjUwMjAwMDA0MDAwMDEwMDAxCis6MTAxMjcwMDAwNzAwMjAwMDc1MTEwMDAwRkQwMjAwMDA0MjgwMDEwMEZGCis6MTAxMjgwMDAwQTAwMDgwMDA0MDkwMDAwODZGQTI0MDAwNzAwMDAwMDk0Cis6MTAxMjkwMDAwMDAxMDAwMDIwMEIwODAwNjAwQjEzMDA2MDBCMUIwMDE2Cis6MTAxMkEwMDA2MDBBMDMwMDQwMDAwMTAwNDIwMDA1MDA0QTAwM0QwMEMyCis6MTAxMkIwMDA0QTAwMzUwMDRBMDAyRDAwMEEwMDIwMDBGNTA2MDAwMDEzCis6MTAxMkMwMDA0MjAwMDEwMDBBMTQyODAwRjUwNDAwMDA0MjAwMDEwMDU5Cis6MTAxMkQwMDAwQTAwMDgwMDE1MDMwMDAwMDQwRDAxMDA4NjAyMjYwMDI0Cis6MTAxMkUwMDAxNTQwMDAwMDk1MDAwMDAwMDQwRDAxMDA4NkYwMjUwMDY3Cis6MTAxMkYwMDAyMjAwMTAwMDJBMDAxMDAwMDYxQTI2MDAwNzAwMDAwMDM1Cis6MTAxMzAwMDAwNDMxMzMwMDA0QTkyQTAwMDcwMDAwMDAyNDIxMDMwMDRGCis6MTAxMzEwMDAwMjA1MjgwMDAyNDQyODAwMjQxMTAwMDAwMjAxNDAwMEI4Cis6MTAxMzIwMDAyNDA0MDAwMDI0MDQwMDAwMjQzMjAwMDAyQzI5MDAwMEMyCis6MTAxMzMwMDA2QzYzMDAwMDg2NzMyNzAwMDcwMDAwMDA2NEIxMDIwMEEwCis6MTAxMzQwMDA2NDA0MDAwMDY0MDQwMDAwOEQwMDAwMDA2NDBBMDAwMEQyCis6MTAxMzUwMDAwMjBEMjgwMDhEMDAxMDAwMjAwODAwMDBGNTAyMDAwMDlBCis6MTAxMzYwMDA0MDAwMDEwMDA3MDAyMjAwOEQwMDAwMDAwNEI5MzgwMDkxCis6MTAxMzcwMDAwNzAwMDAwMDZDMjkwMzAwMEEwMTMwMDBGNTAyMDAwMDlDCis6MTAxMzgwMDA0MjAwMDEwMDBBMDAwODAwMDQwOTAwMDA4NjAyMjcwMDRDCis6MTAxMzkwMDAwNzAwMDAwMDJDMjEwMDAwMEEwNTI4MDA2QzMxMDAwMDI1Cis6MTAxM0EwMDA2QzA0MDAwMDZDMDQwMDAwMEE0NTI4MDAyNDExMDAwMEIxCis6MTAxM0IwMDA2NDZCMDAwMDAyMDExMDAwOEQwMDAwMDA2QzA5MDEwMDQ4Cis6MTAxM0MwMDAwQTBEMjgwMDBEMDExMDAwMjAwODAwMDBGNTAyMDAwMEExCis6MTAxM0QwMDA0MDAwMDEwMDA3MDAyMjAwMjQ0MTAwMDAyNDA0MDAwMDE2Cis6MTAxM0UwMDAyNDA0MDAwMDI0MzIwMDAwMDIwMTMwMDA0NDI5MDMwMERDCis6MTAxM0YwMDA4NkZBMjcwMDA3MDAwMDAwMDIwMDMwMDBGNTA0MDAwMDE0Cis6MTAxNDAwMDA0MjAwMDEwMDBBMDAwODAwMTUwMzAwMDAwNDBEMDEwMDVECis6MTAxNDEwMDA4NjQwMjgwMDI0MzEwMDAwNjQwNDAwMDAwMjAxMzAwMEVFCis6MTAxNDIwMDBGNTAyMDAwMDQyMDAwMTAwMEEwMDA4MDAwNDA5MDAwMDYzCis6MTAxNDMwMDA4NjRBMjgwMDA3MDAwMDAwMDI0NDI4MDAyNDMxMDAwMEVBCis6MTAxNDQwMDAwMjA1MzAwMDI0MzkwMDAwODMwNTMwMDA4MzA4MDAwMEM1Cis6MTAxNDUwMDBGNTA1MDAwMDQyMDAwMTAwMEEwNDI4MDA4RDAwMDAwMDhDCis6MTAxNDYwMDAyNDgxMDAwMDAyMEQyODAwOEQwMDAwMDAyNDgxMDAwMDZFCis6MTAxNDcwMDAwMjE1MjgwMDhEMDExMDAwMjAwODAwMDBGNTAyMDAwMDcwCis6MTAxNDgwMDA0MDAwMDEwMDA3MDAyMjAwMjUxMDAwMDA3NTA1MDAwMDQzCis6MTAxNDkwMDA0MjAwMDMwMDRBMDAwOTAwMEEwMDEwMDAwNDA5MEEwMDgzCis6MTAxNEEwMDAwNDExMTIwMDA3MDAwMDAwMjAxMDAwMDA2MDA4MDUwMDcxCis6MTAxNEIwMDA0MDAwMDUwMEZEMDYwMDAwNDI4MDAxMDA0QTAwMDkwMENFCis6MTAxNEMwMDAwQTAwMTAwMEE1MDAwMDAwMDQwOTBBMDAwNDExMTIwMDFGCis6MTAxNEQwMDAwNzAwMDAwMDIwMDgwMDAwNjA5MDAxMDA0MDAwMDEwMEFCCis6MTAxNEUwMDBGNTAyMDAwMDQyMDAwMTAwMEEwMDA4MDAwNDA5MDAwMEEzCis6MTAxNEYwMDA4NkNBMjkwMDA3MDAwMDAwMDY0MjI0MDAwNzAwMDAwMEY5Cis6MTAxNTAwMDAwNjA2MDAwMDA3MDAwMDAwRjUwMjAwMDA0MjAwMDEwMDhFCis6MTAxNTEwMDAwQTAwMDgwMDA0MDkwMDAwODYxQTJBMDAwNzAwMDAwMERCCis6MTAxNTIwMDAwMDAxMDAwMDIwMEIwODAwNjA4QjEzMDA2MDhCMUIwMDgzCis6MTAxNTMwMDA2MDhCMjMwMDYwOEIyQjAwNjA4QjMzMDA2MDhCM0IwMDQzCis6MTAxNTQwMDA2MDhCNDMwMDYwOEI0QjAwNjA4QjUzMDA2MDhCNUIwMEIzCis6MTAxNTUwMDA2MDhCNjMwMDYwOEI2QjAwNjA4QjczMDA2MDhCN0IwMDIzCis6MTAxNTYwMDA2MDhGMDMwMDYwOEYwQjAwNjA4RjEzMDA2MDhGMUIwMDgzCis6MTAxNTcwMDA2MDhGMjMwMDYwOEYyQjAwNjA4RjMzMDA2MDhGM0IwMEYzCis6MTAxNTgwMDA2MDhGNDMwMDYwOEY0QjAwNjA4RjUzMDA2MDhGNUIwMDYzCis6MTAxNTkwMDA2MDhGNjMwMDYwOEY2QjAwNjA4RjczMDA2MDhGN0IwMEQzCis6MTAxNUEwMDA2MDhBMDMwMDA2MDYwMDAwNDA4MDAxMDA4RDAwMDAwMEY0Cis6MTAxNUIwMDA2NDBBMDAwMDAyMEQyODAwMjQwQTAwMDA3RDAyMDAwMEQ5Cis6MTAxNUMwMDA0MjgwMDEwMDBBMDAxMDAwMjQxMjAwMDBGRDAzMDAwMDA4Cis6MTAxNUQwMDA0MjgwMDEwMDBBMDAwODAwMDQwOTAwMDA4NjBBMkMwMDZECis6MTAxNUUwMDAwNzAwMDAwMDhEMDEwMDAwMjQwQTAwMDA2NDA0MDAwMEQwCis6MTAxNUYwMDA2NDA0MDAwMDAyMDEwODAwMjQwOTAwMDAyNDA0MDAwMDIzCis6MTAxNjAwMDAyNDA0MDAwMDAyMDExMDAwMEQwMDAyMDA0NDkxMDAwMEJCCis6MTAxNjEwMDA4NjYxMkMwMDA3MDAwMDAwRkQwMTAwMDA0MjgwMDEwMEVGCis6MTAxNjIwMDAwQTAwMDgwMDQ0MEEwMDAwODY0MzJDMDA0MjgwMDEwMEEyCis6MTAxNjMwMDAwRDAwMEEwMDIwMDgwMDAwRkQwMjAwMDA0MDgwMDEwMEFCCis6MTAxNjQwMDAwNzAwMjAwMDdEMDIwMDAwMjAxMDAwMDAwNjA2MDAwMEI4Cis6MTAxNjUwMDA0MDgwMDEwMEY1MDIwMDAwNDIwMDAxMDAwQTAwMDgwMDdECis6MTAxNjYwMDAwNDA5MDAwMDg2QjIyQzAwMDcwMDAwMDA3RDAzMDAwMDgyCis6MTAxNjcwMDA0MjgwMDEwMDBBMDAwODAwMDQwOTAwMDA4NkUyMkMwMEY0Cis6MTAxNjgwMDAwNzAwMDAwMDc1MDAwMDAwN0QyRTAwMDA0MjAwMDEwMEYwCis6MTAxNjkwMDA0QTgwMEIwMDIwMDAwMDAwMDQwOTAwMDA4NjA2MDAwMEJDCis6MTAxNkEwMDA0MDAwMDEwMDRBODQzMTAwOEIwNDMwMDA4MzA4MDAwMEIwCis6MTAxNkIwMDA4RDAwMDAwMDEwMDgwMDAwM0ExNDI4MDA4RDAwMDAwMDgyCis6MTAxNkMwMDAxMDA4MDAwMDNBMEMyODAwNzUwNjAwMDA0MjAwMDEwMEQ2Cis6MTAxNkQwMDAwQTAwMDgwMDE1MzgwMDAwMjQwOTAxMDAwMjA1MjgwMDRFCis6MTAxNkUwMDAwRDAwMEIwMDIwMDgwMDAwRjUwMjAwMDA0MDAwMDEwMDgyCis6MTAxNkYwMDAwNjA2MDAwMDA3MDAyMjAwNjQwNDAwMDA2NDA0MDAwMEU1Cis6MTAxNzAwMDAwNjA2MDAwMDA3MDAwMDAwMzQwMTAwMDA4RDdGMDAwMDg1Cis6MTAxNzEwMDAzQzA5MDAwMDEyMUQyODAwMTIyNTI4MDAzMjFGMDAwMDdECis6MTAxNzIwMDAwNzAwMEUwMDBEMDEwMDAwN0QwMzAwMDAyMDA4MDAwMEVFCis6MTAxNzMwMDA0MDgwMDEwMEY0RDIwNTAwMDcwMDAwMDAwNzAwMDgwMDA3Cis6MTAxNzQwMDA3RDAzMDAwMDQyODAwMTAwMEEwMDA4MDAwNDA5MDAwMDM3Cis6MTAxNzUwMDA4NjhBMkUwMDA3MDAwMDAwMDYwNjAwMDAwNzAwMDAwMDMxCis6MTAxNzYwMDAwNzAwMDAwMDEyMDAwMDAwMDcwMDEwMDAwNzAwMzIwMDEwCis6MTAxNzcwMDAwNzAwNjAwMDA3MDA0NjAwODAwMDEwMDAxQTAwNDgwMEMzCis6MTAxNzgwMDAwNDQ5MDAwMDg2RjEyRTAwMDcwMDAwMDAxMDEyMDAwMDNFCis6MTAxNzkwMDAzQTAwNTgwMDQ1MDEwMDAwMDQ1RDVDMDAwNzAwMDAwMEFECis6MTAxN0EwMDA4MDAwMDAwMDFBMDA0ODAwMDQ0OTAwMDA4NjQxMkYwMDE0Cis6MTAxN0IwMDAwNzAwMDAwMDEwMTIwMDAwM0EwMDUwMDAwNDU5MDAwMDE5Cis6MTAxN0MwMDA4Njk4MkYwMDQ1MDAwMDAwQzUwMDAwMDBGNUZGN0YwMDRGCis6MTAxN0QwMDA3REZGN0YwMDI0RDUwNzAwMjQ0MjAwMDAwMjAxNTAwMDU1Cis6MTAxN0UwMDAwMjA1MjAwMDgyMDAwMDAwMUEwMDQwMDAwNDQxMDAwMEIxCis6MTAxN0YwMDA4NkM5MkYwMDA3MDAwMDAwNjUzODAwMDAxQTAwNDAwMDZECis6MTAxODAwMDAyMDQwMDAwMDREMTAwMDAwODRDMTA0MDA4NkFCMzEwMDcwCis6MTAxODEwMDA0MDAwMDAwMDA3MDAwNDAwNjUwMTAwMDA0NTAxMDAwMEQxCis6MTAxODIwMDAyMDQwMDAwMDQwMDAwMDAwNjUwNzAwMDA4MDAwMDgwMDI0Cis6MTAxODMwMDAxQTAwNDAwMDA0NDEwMDAwODY1OTMwMDAwNzAwMDAwMEYzCis6MTAxODQwMDAxMDEyMDAwMDNBMDA0MDAwMDQ0MTAwMDA4NkIyMzAwMDRGCis6MTAxODUwMDA0RDAwMDAwMENEMDAwMDAwMTA0ODAwMDAzQTA0MjAwMEI4Cis6MTAxODYwMDA4MjA4MDAwMDFBMDA0MDAwMDQ0MTAwMDA4NkMxMzAwMEQ4Cis6MTAxODcwMDAwNzAwMDAwMDIwNDgwMDAwMDQ1OTAwMDA4Njk4MzEwMDRECis6MTAxODgwMDA0MDAwMDAwMEU1MDcwMDAwODAwNDIwMDBBMDE2MjgwMEFBCis6MTAxODkwMDBFMDE2MzIwMEUwMTYzQTAwRTAxNjQyMDA2MDEyMDIwMDQ0Cis6MTAxOEEwMDA0MDAwMDAwMDMyMDAwMDAwNzUwMDQwMDA3RDAwMDAwMDk0Cis6MTAxOEIwMDA3NEQ1MDcwMDEyMDUyMDAwODIwMDAwMDAxQTAwNDAwMEM1Cis6MTAxOEMwMDAwNDQxMDAwMDg2NzEzMTAwMDcwMDAwMDAwNjhBMDMwMDExCis6MTAxOEQwMDAwNzAwNjQwMEU1MDAwMDAwMjAwMDAwMDA0MDAwMDAwMDU4Cis6MTAxOEUwMDA2NTBBMDAwMDIwMDAwMDAwNDAwMDAyMDA0MDAwMDIwMEU1Cis6MTAxOEYwMDA0MDAwMDAwMDY1MDEwMDAwNDIwMDAwMDAwQTAwNzAwMDg2Cis6MTAxOTAwMDAwNDcxMDAwMDg2MzIzMjAwMDcwMDAwMDAwNzAwMDYwMDY0Cis6MTAxOTEwMDAwNjlBMDEwMDA3MDA2NDAwMDAwMDA1MDAyMDcwMDAwMDI2Cis6MTAxOTIwMDA0MDAwMDAwMDA2OEEwMzAwMDcwMDY0MDAwNzAwMDAwMDcyCis6MTAxOTMwMDA2RDMwMDAwMDYwODgwMjAwNjA5MDAyMDAwQTAwMDgwMDFDCis6MTAxOTQwMDA2MDg4MDIwMDQwODAwMDAwMTIwMDEwMDAwRDEwMDAwMEFFCis6MTAxOTUwMDA4NDkxMDAwMDg2RDEzMjAwMEQwRTAwMDA4NDkxMDAwMEI5Cis6MTAxOTYwMDA4NkUxMzMwMDA3MDAwMDAwMDcwMDMwMDAyMDEwMDAwMDZGCis6MTAxOTcwMDA2RDNCMDAwMDQwODAwMDAwODAwMDAwMDAxQTAwMDgwMDVECis6MTAxOTgwMDAwNDA5MDAwMDg2RjEzMjAwMDcwMDAwMDAyMDEyMDAwMDY4Cis6MTAxOTkwMDBFRDBEMDAwMDQwODAwMDAwNDI4MDAwMDAwQTAwMTAwMEIxCis6MTAxOUEwMDAwRDAwNDAwMDQ0OTUxMDAwMDcwMDAwMDAyMDEwMDAwMENBCis6MTAxOUIwMDBFRDBEMDAwMDQwODAwMDAwNDI4MDAwMDAwQTA0MjAwMDdECis6MTAxOUMwMDA4MjAwMDAwMDFBMDAwODAwMDQwOTAwMDA4NjgxMzMwMDJDCis6MTAxOUQwMDAwNzAwMDAwMDZEM0IwMDAwNDI4MDAwMDAwQTAwMDgwMDg0Cis6MTAxOUUwMDAxNTBFMDAwMDg0MDkwMTAwODYyQjM0MDAwNzAwNjAwMEZBCis6MTAxOUYwMDAxQTAwMDgwMDE1MEMwMDAwODQwOTAxMDA4NjEzMzQwMDQ5Cis6MTAxQTAwMDAyMDAwMDAwMDA3MDAxQTAwRUQwMjAwMDA0MDgwMDAwMEU2Cis6MTAxQTEwMDAwNzAwNjIwMDZEMzAwMDAwNDI4MDAyMDA0QTgwMEEwMDI4Cis6MTAxQTIwMDAyMDA4MDAwMDRBODAwQTAwMDYwNjAwMDA0QTgwMTAwMEQ0Cis6MTAxQTMwMDAwNzAwMDAwMDEyMjUyODAwMzIxRjAwMDBGNEQyMDUwMDI0Cis6MTAxQTQwMDAwNEQxNTQwMDVDNzMwMDAwODYwNzAwMDAwNzAwMDAwMDBBCis6MTAxQTUwMDAwNzAwMEMwMDA3MDAwQTAwMDcwMDFDMDA2NTM0MDAwMEE2Cis6MTAxQTYwMDA0MDAwMDIwMDIwNDgwMDAwNjA1MDAyMDAwQTAwNDAwMEQwCis6MTAxQTcwMDA2MDQwMDIwMDQwMDAwMDAwNDQ0OTQ1MDAwNzAwMDAwMEFCCis6MTAxQTgwMDAyMDQwMDAwMEU1M0EwMDAwNDAwMDAwMDBFNTI4MDAwMDhBCis6MTAxQTkwMDA0MjAwMDAwMDBBMDA0ODAwMDQ0OTAwMDA4NkY4MzkwMEFFCis6MTAxQUEwMDA2NTJDMDAwMDQyMDAwMDAwMEEwMDQwMDBENTAwMDAwMDQ0Cis6MTAxQUIwMDAwNDQxNDUwMDA3MDAwMDAwNTUwNjAwMDAwNDQ1MDUwMEVDCis6MTAxQUMwMDA4NjgyMzYwMEQ1MDEwMDAwMDQ0NTA1MDA4NjgwMzYwMDc4Cis6MTAxQUQwMDA2NTJCMDAwMDQyMDAwMDAwRTUzQTAwMDA0QTAwNTAwMDdCCis6MTAxQUUwMDAwQTAwNDAwMEQ0QzM0NTAwMDcwMDAwMDAwNDQ1NDUwMDNCCis6MTAxQUYwMDAwNzAwMDAwMENEMDAwMDAwNDQ0OTQ0MDAwNzAwMDAwMDNBCis6MTAxQjAwMDAwNDQ1NDUwMDA3MDAwMDAwNEQwMTAwMDA0NDQ5NTUwMDEwCis6MTAxQjEwMDAwNzAwMDAwMDQ0NTEwNDAwODY3OTM2MDA2NTJDMDAwMDVGCis6MTAxQjIwMDA0MjAwMDAwMDBBMDA0ODAwMDREMTRDMDAwNzAwMDAwMEY5Cis6MTAxQjMwMDA0NEMxMDQwMDg2ODMzNjAwMDcwMDAwMDAwNzAwMTYwMDM5Cis6MTAxQjQwMDBFNTJDMDAwMDQyMDAwNDAwMEEwMDQwMDAyMDQwMDAwMDk0Cis6MTAxQjUwMDA0MDAwMDAwMDY1MjkwMDAwNDIwMDAwMDAwQTAwNDAwMDJCCis6MTAxQjYwMDAwNDQxMDAwMDg2RjAzNjAwMDcwMDAwMDAwMjI0MDAwMDU3Cis6MTAxQjcwMDAwNjMyMzgwMDAyNUMwMDAwRTUyNTAwMDA0MjAwMDAwMDRCCis6MTAxQjgwMDAwQTAwNDAwMDc0NDIwMDAwRTUyQTAwMDA0MjAwMDAwMDA0Cis6MTAxQjkwMDAwQTAwNDAwMDc0NDIwMDAwMTIwMTUwMDBFNTI5MDAwMEQ0Cis6MTAxQkEwMDA0MjAwMDAwMDBBMDA0MDAwMzQ0MjAwMDAwNDQxNDUwMEE5Cis6MTAxQkIwMDAwNzAwMDAwMDIwNDAwMDAwNDAwMDAwMDBFNTNFMDAwMDVCCis6MTAxQkMwMDAyMDAwMDAwMDQwMDAwMDAwRTUyRDAwMDA1MjAxNDAwMDEwCis6MTAxQkQwMDAwQTAwNTAwMDQ0NTEwNDAwODZEQTM3MDBDNTAwMDAwMEI2Cis6MTAxQkUwMDBFNTNFMDAwMDIwNDAwMDAwNDAwMDAwMDBFNTJCMDAwMDIyCis6MTAxQkYwMDA0MjAwMDAwMDBBMDA0MDAwNTQ0MjQwMDAwNzAwMDAwMDdDCis6MTAxQzAwMDBFNTJBMDAwMDIwNDAwMDAwNDAwMDAwMDAzMjAxNTAwMEEyCis6MTAxQzEwMDAzNDAxMDQwMDc0NTYwMDAwRTUyOTAwMDA0MjAwMDIwMDZGCis6MTAxQzIwMDAwQTAwNDIwMDQyMDAwMDAwMEEwMDUwMDA3QzQxMDUwMDBBCis6MTAxQzMwMDBFNTI4MDAwMDQyMDAwMDAwMEEwMDQ4MDBDNTAwMDAwMDNFCis6MTAxQzQwMDA0NEMxNEMwMDg2QTAzODAwRTUyNjAwMDBFNTI3MDAwMENFCis6MTAxQzUwMDA0MjAwMDIwMDRBMDA0MDAwMEEwMDUwMDAzQzQyMDAwMERFCis6MTAxQzYwMDA3QzU2MDAwMEU1MjgwMDAwMjA0ODAwMDA0MDAwMDAwMEVECis6MTAxQzcwMDAxMjFEMjgwMDEyMjUyODAwNzIxRjAwMDA2NTI5MDAwMDhGCis6MTAxQzgwMDA0MjAwMDAwMDBBMDA0MDAwMDQ0MTAwMDA4NjNBMzkwMDhBCis6MTAxQzkwMDAwNzAwMEUwMDA3MDAxNjAwMDcwMDFFMDBFNTNFMDAwMENBCis6MTAxQ0EwMDA0MjAwMDAwMDBBMDA0MDAwMDQ0MTAwMDA4Njc4MzkwMDJDCis6MTAxQ0IwMDA2NTJEMDAwMDQyMDAwMDAwMEEzNDI4MDA2NTM0MDAwMDUxCis6MTAxQ0MwMDA0MjAwMDIwMDRBMDA0MjAwMjA0MDAwMDA0QTAwNEEwMDUwCis6MTAxQ0QwMDA0QTAwNTAwMEY0RDIwNTAwMDREMTU0MDA1QzczMDAwMEE3Cis6MTAxQ0UwMDA4NkUxMzkwMDA3MDAwMDAwMDYwNjAwMDAwNzAwMDgwMDMyCis6MTAxQ0YwMDAwNzAwMEMwMDA3MDAwODAwMDcwMDBBMDBFNTAxMDAwMENCCis6MTAxRDAwMDA0NTAwMDIwMDIwNDAwMDAwNjAwMDAwMDA2NTAzMDAwMDY0Cis6MTAxRDEwMDA0MDAwMDAwMDY1MkUwMDAwMjAxQTAwMDA2MDFBMEEwMDMyCis6MTAxRDIwMDA0MDAwMDAwMDY1MzQwMDAwNDIwMDAyMDA0QTAwNDIwMDBBCis6MTAxRDMwMDAyMDQwMDAwMDRBMDA0QTAwMDYwNjAwMDA0QTAwNTAwMDA5Cis6MTAxRDQwMDBGRDE3MDAwMDQyODAwMTAwMEEwMDA4MDAwNDA5MDAwMDlECis6MTAxRDUwMDA4NjVBMjIwMDA3MDAwMDAwN0QxMDAwMDA0MjgwMDEwMDJBCis6MTAxRDYwMDBGRDExMDAwMDRBODAzMzAwNEE4MDE5MDAwQTAwMjAwMDVCCis6MTAxRDcwMDA5NTAwMDAwMDQ0MTEyQTAwNDRBMTAxMDA4NjkwM0IwMDE4Cis6MTAxRDgwMDAwRDA0MDAwMDg0QjEwMDAwODY5MTNCMDBGRDE4MDAwMEE2Cis6MTAxRDkwMDA0MjgwMDEwMEZEMTAwMDAwNEE4MDA5MDAwQTAwMzgwMDVFCis6MTAxREEwMDA5NTAwMDAwMDI0MDkwMTAwNjQzQTAwMDA4NjgxM0IwMDkwCis6MTAxREIwMDAwNzAwMDAwMDA0MzkwMDAwODY5MjNCMDAwNzAwMDAwMDg1Cis6MTAxREMwMDAwNjlBM0IwMDBEMDAwMDAwOEQwMDAwMDAyMDA4MDAwMDc2Cis6MTAxREQwMDA3RDM4MDAwMDQwODAwMTAwMDIwMDcwMDA3RDExMDAwMDhECis6MTAxREUwMDA0MjgwMDEwMDdEMTkwMDAwNEE4MDI5MDAwQTAwMzAwMDZECis6MTAxREYwMDAwMjAwMzgwMDI0MzEwMDAwMjQwNDAwMDAyNDA0MDAwMDA0Cis6MTAxRTAwMDAyNDJBMDAwMDAyMDUyODAwOEQwNjAwMDAxMDA4MDAwMEFBCis6MTAxRTEwMDAzQTE0MjgwMDBENzUwMDAwMjRCMTAwMDA2NDIyMDAwMDZGCis6MTAxRTIwMDA4NjAzM0QwMDAyNDQyODAwMTAwODAwMDAzQTBDMjgwMEY4Cis6MTAxRTMwMDAwRDgwMEIwMDIwMDgwMDAwRkQwMjAwMDA0MDgwMDEwMDIyCis6MTAxRTQwMDAwNzAwMjAwMDhENzUwMDAwMjRCMTAwMDAwMjAxMTAwMDgxCis6MTAxRTUwMDA0NDIxMDEwMDg2NDkzRTAwMTAxODAwMDAzQTAwMTAwMDlECis6MTAxRTYwMDA3RDM4MDAwMDQyODAwMTAwMEEwMDA4MDAwNDA5MDAwMERCCis6MTAxRTcwMDA4NjQ4M0UwMDAwMDAwMzAwMDY0QTNFMDBCRDAwMDAwMDA4Cis6MTAxRTgwMDA4RDAwMDAwMDY0MzEwMjAwNjQwQTAwMDAwMjBEMjgwMDg5Cis6MTAxRTkwMDA4RDgwMEIwMDIwMDgwMDAwRkQwMjAwMDA0MDgwMDEwMDQyCis6MTAxRUEwMDAwNzAwMjAwMDdEMzgwMDAwNDI4MDAxMDAwQTAwMDgwMDgxCis6MTAxRUIwMDAwNDA5MDAwMDg2MzIzRTAwMDAwMDAzMDBGRDAyMDAwMDFECis6MTAxRUMwMDA0MjgwMDEwMDBBMDAwODAwMDQwOTAwMDA4NjgyM0QwMEVCCis6MTAxRUQwMDAwNzAwMDAwMDEwMjgwMDAwM0EwNDI4MDAwRDc1MDAwMERCCis6MTAxRUUwMDAyNDA5MDMwMDY0MjIwMDAwMDIwRDI4MDA2QzMxMDIwMDY2Cis6MTAxRUYwMDAwQTQ1MjgwMDBEODEwQjAwMjAwODAwMDBGRDAyMDAwMEFCCis6MTAxRjAwMDA0MDgwMDEwMDA3MDAyMDAwOEQwMDAwMDAyNDBBMDAwMDJFCis6MTAxRjEwMDAwNjRBM0UwMDAyMDExMDAwMTAxODAwMDAzQTAwMTAwMEFFCis6MTAxRjIwMDBCRDAwMDAwMDEwMzgwMDAwM0EwNDMwMDA3RDE4MDAwMEE5Cis6MTAxRjMwMDA0MjgwMDEwMEZEMTgwMDAwNEE4MDA5MDAwQTAwMjAwMENDCis6MTAxRjQwMDBBRDAwMDAwMDI0ODkwMjAwMkMyMTA3MDAxMDEwMDAwMEMxCis6MTAxRjUwMDA4MzA1MzAwMDhCMEQzMDAwQkIxNDMwMDA4MzFDMzAwMDMzCis6MTAxRjYwMDA4MzIwMDAwMDdEMTMwMDAwNDI4MDAzMDA0QTg0MzMwMDc4Cis6MTAxRjcwMDBDQkFDMzMwMENCQjQzMzAwQ0JCQzMzMDBDQkM0MzMwMDg5Cis6MTAxRjgwMDBDQkNDMzMwMENCRDQzMzAwOEI1QzMwMDA4MzYwMDAwMEJCCis6MTAxRjkwMDAwRDFFMDAwMEZEMDUwMDAwNDI4MDAxMDAwQTAwMjAwMDI3Cis6MTAxRkEwMDAyNDA5MDIwMDhEMDYwMDAwNkNBOTAwMDA5RDAwMDAwMEJECis6MTAxRkIwMDBGRDAyMDAwMDQyODAwMTAwMEEwMDA4MDAwNDA5MDAwMDQwCis6MTAxRkMwMDA4NjZBM0YwMDA3MDAwMDAwMDIwNTI4MDAwQTBEMjgwMDZECis6MTAxRkQwMDAwMjQ0MjgwMDEwMTgwMDAwM0ExNDI4MDA4RDAwMEMwMDVDCis6MTAxRkUwMDAyMDA4MDAwMEZEMDIwMDAwNDA4MDAxMDAwNzAwMjIwMEUwCis6MTAxRkYwMDAwNDM5MDAwMDg2NTgyMjAwMEQxRTAwMDA3RDA1MDAwMEY3Cis6MTAyMDAwMDA0MjgwMDEwMDBBMDAyMDAwMjQwOTAyMDBBNTAwMDAwMDBGCis6MTAyMDEwMDBGRDAyMDAwMDQyODAwMTAwMEEwMDA4MDAwNDA5MDAwMERGCis6MTAyMDIwMDA4NjJBNDAwMDA3MDAwMDAwMDIwNTI4MDAwMjBDMjgwMDU0Cis6MTAyMDMwMDAxMDIwMDAwMDNBMTQyODAwMEQwMTBDMDAyMDA4MDAwMEI4Cis6MTAyMDQwMDBGRDAyMDAwMDQwODAwMTAwMDY1QTIyMDAwNzAwMjIwMDI1Cis6MTAyMDUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgwCis6MTAyMDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDcwCis6MTAyMDcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYwCis6MTAyMDgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDUwCis6MTAyMDkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQwCis6MTAyMEEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMwCis6MTAyMEIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIwCis6MTAyMEMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwCis6MTAyMEQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCis6MTAyMEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEYwCis6MTAyMEYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEUwCis6MTAyMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENGCis6MTAyMTEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEJGCis6MTAyMTIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEFGCis6MTAyMTMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDlGCis6MTAyMTQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhGCis6MTAyMTUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdGCis6MTAyMTYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDZGCis6MTAyMTcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDVGCis6MTAyMTgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRGCis6MTAyMTkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNGCis6MTAyMUEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJGCis6MTAyMUIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFGCis6MTAyMUMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGCis6MTAyMUQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEZGCis6MTAyMUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVGCis6MTAyMUYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERGCis6MTAyMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENFCis6MTAyMjEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEJFCis6MTAyMjIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEFFCis6MTAyMjMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDlFCis6MTAyMjQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhFCis6MTAyMjUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdFCis6MTAyMjYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDZFCis6MTAyMjcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDVFCis6MTAyMjgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRFCis6MTAyMjkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNFCis6MTAyMkEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJFCis6MTAyMkIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFFCis6MTAyMkMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFCis6MTAyMkQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEZFCis6MTAyMkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVFCis6MTAyMkYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERFCis6MTAyMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENECis6MTAyMzEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEJECis6MTAyMzIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEFECis6MTAyMzMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDlECis6MTAyMzQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhECis6MTAyMzUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdECis6MTAyMzYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDZECis6MTAyMzcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDVECis6MTAyMzgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRECis6MTAyMzkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNECis6MTAyM0EwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJECis6MTAyM0IwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFECis6MTAyM0MwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBECis6MTAyM0QwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEZECis6MTAyM0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVECis6MTAyM0YwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERECis6MTAyNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENDCis6MTAyNDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEJDCis6MTAyNDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEFDCis6MTAyNDMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDlDCis6MTAyNDQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhDCis6MTAyNDUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdDCis6MTAyNDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDZDCis6MTAyNDcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDVDCis6MTAyNDgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRDCis6MTAyNDkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNDCis6MTAyNEEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJDCis6MTAyNEIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFDCis6MTAyNEMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDCis6MTAyNEQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEZDCis6MTAyNEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVDCis6MTAyNEYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERDCis6MTAyNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENCCis6MTAyNTEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEJCCis6MTAyNTIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEFCCis6MTAyNTMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDlCCis6MTAyNTQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhCCis6MTAyNTUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdCCis6MTAyNTYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDZCCis6MTAyNTcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDVCCis6MTAyNTgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRCCis6MTAyNTkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNCCis6MTAyNUEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJCCis6MTAyNUIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFCCis6MTAyNUMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCCis6MTAyNUQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEZCCis6MTAyNUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVCCis6MTAyNUYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERCCis6MTAyNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENBCis6MTAyNjEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEJBCis6MTAyNjIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEFBCis6MTAyNjMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDlBCis6MTAyNjQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhBCis6MTAyNjUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdBCis6MTAyNjYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDZBCis6MTAyNjcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDVBCis6MTAyNjgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRBCis6MTAyNjkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNBCis6MTAyNkEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJBCis6MTAyNkIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFBCis6MTAyNkMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBCis6MTAyNkQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEZBCis6MTAyNkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVBCis6MTAyNkYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERBCis6MTAyNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEM5Cis6MTAyNzEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEI5Cis6MTAyNzIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEE5Cis6MTAyNzMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDk5Cis6MTAyNzQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDg5Cis6MTAyNzUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDc5Cis6MTAyNzYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDY5Cis6MTAyNzcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDU5Cis6MTAyNzgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQ5Cis6MTAyNzkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDM5Cis6MTAyN0EwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI5Cis6MTAyN0IwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE5Cis6MTAyN0MwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5Cis6MTAyN0QwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEY5Cis6MTAyN0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU5Cis6MTAyN0YwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQ5Cis6MTAyODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEM4Cis6MTAyODEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEI4Cis6MTAyODIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEE4Cis6MTAyODMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDk4Cis6MTAyODQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDg4Cis6MTAyODUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDc4Cis6MTAyODYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDY4Cis6MTAyODcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDU4Cis6MTAyODgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQ4Cis6MTAyODkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDM4Cis6MTAyOEEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI4Cis6MTAyOEIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE4Cis6MTAyOEMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4Cis6MTAyOEQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEY4Cis6MTAyOEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU4Cis6MTAyOEYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQ4Cis6MTAyOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEM3Cis6MTAyOTEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEI3Cis6MTAyOTIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEE3Cis6MTAyOTMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDk3Cis6MTAyOTQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDg3Cis6MTAyOTUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDc3Cis6MTAyOTYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDY3Cis6MTAyOTcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDU3Cis6MTAyOTgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQ3Cis6MTAyOTkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDM3Cis6MTAyOUEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI3Cis6MTAyOUIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE3Cis6MTAyOUMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3Cis6MTAyOUQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEY3Cis6MTAyOUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU3Cis6MTAyOUYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQ3Cis6MTAyQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEM2Cis6MTAyQTEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEI2Cis6MTAyQTIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEE2Cis6MTAyQTMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDk2Cis6MTAyQTQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDg2Cis6MTAyQTUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDc2Cis6MTAyQTYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDY2Cis6MTAyQTcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDU2Cis6MTAyQTgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQ2Cis6MTAyQTkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDM2Cis6MTAyQUEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI2Cis6MTAyQUIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE2Cis6MTAyQUMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2Cis6MTAyQUQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEY2Cis6MTAyQUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU2Cis6MTAyQUYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQ2Cis6MTAyQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEM1Cis6MTAyQjEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEI1Cis6MTAyQjIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEE1Cis6MTAyQjMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDk1Cis6MTAyQjQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDg1Cis6MTAyQjUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDc1Cis6MTAyQjYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDY1Cis6MTAyQjcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDU1Cis6MTAyQjgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQ1Cis6MTAyQjkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDM1Cis6MTAyQkEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI1Cis6MTAyQkIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE1Cis6MTAyQkMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1Cis6MTAyQkQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEY1Cis6MTAyQkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU1Cis6MTAyQkYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQ1Cis6MTAyQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEM0Cis6MTAyQzEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEI0Cis6MTAyQzIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEE0Cis6MTAyQzMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDk0Cis6MTAyQzQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDg0Cis6MTAyQzUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDc0Cis6MTAyQzYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDY0Cis6MTAyQzcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDU0Cis6MTAyQzgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQ0Cis6MTAyQzkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDM0Cis6MTAyQ0EwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI0Cis6MTAyQ0IwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE0Cis6MTAyQ0MwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0Cis6MTAyQ0QwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEY0Cis6MTAyQ0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU0Cis6MTAyQ0YwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQ0Cis6MTAyRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEMzCis6MTAyRDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEIzCis6MTAyRDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEEzCis6MTAyRDMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDkzCis6MTAyRDQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgzCis6MTAyRDUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDczCis6MTAyRDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYzCis6MTAyRDcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDUzCis6MTAyRDgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQzCis6MTAyRDkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMzCis6MTAyREEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIzCis6MTAyREIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEzCis6MTAyREMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzCis6MTAyREQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEYzCis6MTAyREUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEUzCis6MTAyREYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQzCis6MTAyRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEMyCis6MTAyRTEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEIyCis6MTAyRTIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEEyCis6MTAyRTMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDkyCis6MTAyRTQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgyCis6MTAyRTUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDcyCis6MTAyRTYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYyCis6MTAyRTcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDUyCis6MTAyRTgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQyCis6MTAyRTkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMyCis6MTAyRUEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIyCis6MTAyRUIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEyCis6MTAyRUMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyCis6MTAyRUQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEYyCis6MTAyRUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEUyCis6MTAyRUYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQyCis6MTAyRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEMxCis6MTAyRjEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEIxCis6MTAyRjIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEExCis6MTAyRjMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDkxCis6MTAyRjQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgxCis6MTAyRjUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDcxCis6MTAyRjYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYxCis6MTAyRjcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDUxCis6MTAyRjgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQxCis6MTAyRjkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMxCis6MTAyRkEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIxCis6MTAyRkIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDExCis6MTAyRkMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxCis6MTAyRkQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEYxCis6MTAyRkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEUxCis6MTAyRkYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQxCis6MDAwMDAwMDFGRgpkaWZmIC0tZ2l0IGEvZnMvS2NvbmZpZyBiL2ZzL0tjb25maWcKaW5kZXggMjY5NDY0OC4uMzEzYjJlMCAxMDA2NDQKLS0tIGEvZnMvS2NvbmZpZworKysgYi9mcy9LY29uZmlnCkBAIC05MzAsNyArOTMwLDcgQEAKIAogY29uZmlnIFBST0NfVk1DT1JFCiAgICAgICAgIGJvb2wgIi9wcm9jL3ZtY29yZSBzdXBwb3J0IChFWFBFUklNRU5UQUwpIgotICAgICAgICBkZXBlbmRzIG9uIFBST0NfRlMgJiYgRVhQRVJJTUVOVEFMICYmIENSQVNIX0RVTVAKKyAgICAgICAgZGVwZW5kcyBvbiBQUk9DX0ZTICYmIENSQVNIX0RVTVAKIAlkZWZhdWx0IHkKICAgICAgICAgaGVscAogICAgICAgICBFeHBvcnRzIHRoZSBkdW1wIGltYWdlIG9mIGNyYXNoZWQga2VybmVsIGluIEVMRiBmb3JtYXQuCmRpZmYgLS1naXQgYS9mcy9NYWtlZmlsZSBiL2ZzL01ha2VmaWxlCmluZGV4IDFlN2ExMWIuLjI3N2IwNzkgMTAwNjQ0Ci0tLSBhL2ZzL01ha2VmaWxlCisrKyBiL2ZzL01ha2VmaWxlCkBAIC0xOSw2ICsxOSw3IEBACiBvYmoteSArPQluby1ibG9jay5vCiBlbmRpZgogCitvYmotJChDT05GSUdfQkxLX0RFVl9JTlRFR1JJVFkpICs9IGJpby1pbnRlZ3JpdHkubwogb2JqLSQoQ09ORklHX0lOT1RJRlkpCQkrPSBpbm90aWZ5Lm8KIG9iai0kKENPTkZJR19JTk9USUZZX1VTRVIpCSs9IGlub3RpZnlfdXNlci5vCiBvYmotJChDT05GSUdfRVBPTEwpCQkrPSBldmVudHBvbGwubwpkaWZmIC0tZ2l0IGEvZnMvYmlvLWludGVncml0eS5jIGIvZnMvYmlvLWludGVncml0eS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYzZTJlZTYKLS0tIC9kZXYvbnVsbAorKysgYi9mcy9iaW8taW50ZWdyaXR5LmMKQEAgLTAsMCArMSw3MTkgQEAKKy8qCisgKiBiaW8taW50ZWdyaXR5LmMgLSBiaW8gZGF0YSBpbnRlZ3JpdHkgZXh0ZW5zaW9ucworICoKKyAqIENvcHlyaWdodCAoQykgMjAwNywgMjAwOCBPcmFjbGUgQ29ycG9yYXRpb24KKyAqIFdyaXR0ZW4gYnk6IE1hcnRpbiBLLiBQZXRlcnNlbiA8bWFydGluLnBldGVyc2VuQG9yYWNsZS5jb20+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+YmlvX3Bvb2wpOwogCisJYmlvc2V0X2ludGVncml0eV9mcmVlKGJzKTsKIAliaW92ZWNfZnJlZV9wb29scyhicyk7CiAKIAlrZnJlZShicyk7CkBAIC0xMzA2LDYgKzEzMTgsOSBAQAogCWlmICghYnMtPmJpb19wb29sKQogCQlnb3RvIGJhZDsKIAorCWlmIChiaW9zZXRfaW50ZWdyaXR5X2NyZWF0ZShicywgYmlvX3Bvb2xfc2l6ZSkpCisJCWdvdG8gYmFkOworCiAJaWYgKCFiaW92ZWNfY3JlYXRlX3Bvb2xzKGJzLCBidmVjX3Bvb2xfc2l6ZSkpCiAJCXJldHVybiBiczsKIApAQCAtMTMzMiw2ICsxMzQ3LDcgQEAKIHsKIAliaW9fc2xhYiA9IEtNRU1fQ0FDSEUoYmlvLCBTTEFCX0hXQ0FDSEVfQUxJR058U0xBQl9QQU5JQyk7CiAKKwliaW9faW50ZWdyaXR5X2luaXRfc2xhYigpOwogCWJpb3ZlY19pbml0X3NsYWJzKCk7CiAKIAlmc19iaW9fc2V0ID0gYmlvc2V0X2NyZWF0ZShCSU9fUE9PTF9TSVpFLCAyKTsKZGlmZiAtLWdpdCBhL2ZzL2J1ZmZlci5jIGIvZnMvYnVmZmVyLmMKaW5kZXggMGY1MWMwZi4uNWZhMTUxMiAxMDA2NDQKLS0tIGEvZnMvYnVmZmVyLmMKKysrIGIvZnMvYnVmZmVyLmMKQEAgLTE2OTEsMTEgKzE2OTEsMTMgQEAKIAkJCSAqLwogCQkJY2xlYXJfYnVmZmVyX2RpcnR5KGJoKTsKIAkJCXNldF9idWZmZXJfdXB0b2RhdGUoYmgpOwotCQl9IGVsc2UgaWYgKCFidWZmZXJfbWFwcGVkKGJoKSAmJiBidWZmZXJfZGlydHkoYmgpKSB7CisJCX0gZWxzZSBpZiAoKCFidWZmZXJfbWFwcGVkKGJoKSB8fCBidWZmZXJfZGVsYXkoYmgpKSAmJgorCQkJICAgYnVmZmVyX2RpcnR5KGJoKSkgewogCQkJV0FSTl9PTihiaC0+Yl9zaXplICE9IGJsb2Nrc2l6ZSk7CiAJCQllcnIgPSBnZXRfYmxvY2soaW5vZGUsIGJsb2NrLCBiaCwgMSk7CiAJCQlpZiAoZXJyKQogCQkJCWdvdG8gcmVjb3ZlcjsKKwkJCWNsZWFyX2J1ZmZlcl9kZWxheShiaCk7CiAJCQlpZiAoYnVmZmVyX25ldyhiaCkpIHsKIAkJCQkvKiBibG9ja2RldiBtYXBwaW5ncyBuZXZlciBjb21lIGhlcmUgKi8KIAkJCQljbGVhcl9idWZmZXJfbmV3KGJoKTsKQEAgLTE3NzQsNyArMTc3Niw4IEBACiAJYmggPSBoZWFkOwogCS8qIFJlY292ZXJ5OiBsb2NrIGFuZCBzdWJtaXQgdGhlIG1hcHBlZCBidWZmZXJzICovCiAJZG8gewotCQlpZiAoYnVmZmVyX21hcHBlZChiaCkgJiYgYnVmZmVyX2RpcnR5KGJoKSkgeworCQlpZiAoYnVmZmVyX21hcHBlZChiaCkgJiYgYnVmZmVyX2RpcnR5KGJoKSAmJgorCQkgICAgIWJ1ZmZlcl9kZWxheShiaCkpIHsKIAkJCWxvY2tfYnVmZmVyKGJoKTsKIAkJCW1hcmtfYnVmZmVyX2FzeW5jX3dyaXRlKGJoKTsKIAkJfSBlbHNlIHsKQEAgLTIwNjEsNiArMjA2NCw3IEBACiAJCQlzdHJ1Y3QgcGFnZSAqcGFnZSwgdm9pZCAqZnNkYXRhKQogewogCXN0cnVjdCBpbm9kZSAqaW5vZGUgPSBtYXBwaW5nLT5ob3N0OworCWludCBpX3NpemVfY2hhbmdlZCA9IDA7CiAKIAljb3BpZWQgPSBibG9ja193cml0ZV9lbmQoZmlsZSwgbWFwcGluZywgcG9zLCBsZW4sIGNvcGllZCwgcGFnZSwgZnNkYXRhKTsKIApAQCAtMjA3MywxMiArMjA3NywyMSBAQAogCSAqLwogCWlmIChwb3MrY29waWVkID4gaW5vZGUtPmlfc2l6ZSkgewogCQlpX3NpemVfd3JpdGUoaW5vZGUsIHBvcytjb3BpZWQpOwotCQltYXJrX2lub2RlX2RpcnR5KGlub2RlKTsKKwkJaV9zaXplX2NoYW5nZWQgPSAxOwogCX0KIAogCXVubG9ja19wYWdlKHBhZ2UpOwogCXBhZ2VfY2FjaGVfcmVsZWFzZShwYWdlKTsKIAorCS8qCisJICogRG9uJ3QgbWFyayB0aGUgaW5vZGUgZGlydHkgdW5kZXIgcGFnZSBsb2NrLiBGaXJzdCwgaXQgdW5uZWNlc3NhcmlseQorCSAqIG1ha2VzIHRoZSBob2xkaW5nIHRpbWUgb2YgcGFnZSBsb2NrIGxvbmdlci4gU2Vjb25kLCBpdCBmb3JjZXMgbG9jaworCSAqIG9yZGVyaW5nIG9mIHBhZ2UgbG9jayBhbmQgdHJhbnNhY3Rpb24gc3RhcnQgZm9yIGpvdXJuYWxpbmcKKwkgKiBmaWxlc3lzdGVtcy4KKwkgKi8KKwlpZiAoaV9zaXplX2NoYW5nZWQpCisJCW1hcmtfaW5vZGVfZGlydHkoaW5vZGUpOworCiAJcmV0dXJuIGNvcGllZDsKIH0KIEVYUE9SVF9TWU1CT0woZ2VuZXJpY193cml0ZV9lbmQpOwpkaWZmIC0tZ2l0IGEvZnMvY2hhcl9kZXYuYyBiL2ZzL2NoYXJfZGV2LmMKaW5kZXggNjhlNTEwYi4uM2NiN2NkYSAxMDA2NDQKLS0tIGEvZnMvY2hhcl9kZXYuYworKysgYi9mcy9jaGFyX2Rldi5jCkBAIC0zNzMsNiArMzczLDggQEAKIAkJCXJldHVybiAtRU5YSU87CiAJCW5ldyA9IGNvbnRhaW5lcl9vZihrb2JqLCBzdHJ1Y3QgY2Rldiwga29iaik7CiAJCXNwaW5fbG9jaygmY2Rldl9sb2NrKTsKKwkJLyogQ2hlY2sgaV9jZGV2IGFnYWluIGluIGNhc2Ugc29tZWJvZHkgYmVhdCB1cyB0byBpdCB3aGlsZQorCQkgICB3ZSBkcm9wcGVkIHRoZSBsb2NrLiAqLwogCQlwID0gaW5vZGUtPmlfY2RldjsKIAkJaWYgKCFwKSB7CiAJCQlpbm9kZS0+aV9jZGV2ID0gcCA9IG5ldzsKQEAgLTM5MiwxMSArMzk0LDggQEAKIAkJY2Rldl9wdXQocCk7CiAJCXJldHVybiAtRU5YSU87CiAJfQotCWlmIChmaWxwLT5mX29wLT5vcGVuKSB7Ci0JCWxvY2tfa2VybmVsKCk7CisJaWYgKGZpbHAtPmZfb3AtPm9wZW4pCiAJCXJldCA9IGZpbHAtPmZfb3AtPm9wZW4oaW5vZGUsZmlscCk7Ci0JCXVubG9ja19rZXJuZWwoKTsKLQl9CiAJaWYgKHJldCkKIAkJY2Rldl9wdXQocCk7CiAJcmV0dXJuIHJldDsKZGlmZiAtLWdpdCBhL2ZzL2NpZnMvY2lmc2ZzLmMgYi9mcy9jaWZzL2NpZnNmcy5jCmluZGV4IDg2YjRkNWYuLjIyODU3YzYgMTAwNjQ0Ci0tLSBhL2ZzL2NpZnMvY2lmc2ZzLmMKKysrIGIvZnMvY2lmcy9jaWZzZnMuYwpAQCAtNjEyLDcgKzYxMiw3IEBACiAJCWlmIChyZXR2YWwgPCAwKQogCQkJcmV0dXJuIChsb2ZmX3QpcmV0dmFsOwogCX0KLQlyZXR1cm4gcmVtb3RlX2xsc2VlayhmaWxlLCBvZmZzZXQsIG9yaWdpbik7CisJcmV0dXJuIGdlbmVyaWNfZmlsZV9sbHNlZWtfdW5sb2NrZWQoZmlsZSwgb2Zmc2V0LCBvcmlnaW4pOwogfQogCiBzdHJ1Y3QgZmlsZV9zeXN0ZW1fdHlwZSBjaWZzX2ZzX3R5cGUgPSB7CmRpZmYgLS1naXQgYS9mcy9kbG0vdXNlci5jIGIvZnMvZGxtL3VzZXIuYwppbmRleCBlYmJjZjM4Li5mOTc2ZjMwIDEwMDY0NAotLS0gYS9mcy9kbG0vdXNlci5jCisrKyBiL2ZzL2RsbS91c2VyLmMKQEAgLTE1LDYgKzE1LDcgQEAKICNpbmNsdWRlIDxsaW51eC9wb2xsLmg+CiAjaW5jbHVkZSA8bGludXgvc2lnbmFsLmg+CiAjaW5jbHVkZSA8bGludXgvc3BpbmxvY2suaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L2RsbS5oPgogI2luY2x1ZGUgPGxpbnV4L2RsbV9kZXZpY2UuaD4KIApAQCAtNjE4LDEzICs2MTksMTcgQEAKIAlzdHJ1Y3QgZGxtX3VzZXJfcHJvYyAqcHJvYzsKIAlzdHJ1Y3QgZGxtX2xzICpsczsKIAorCWxvY2tfa2VybmVsKCk7CiAJbHMgPSBkbG1fZmluZF9sb2Nrc3BhY2VfZGV2aWNlKGltaW5vcihpbm9kZSkpOwotCWlmICghbHMpCisJaWYgKCFscykgeworCQl1bmxvY2tfa2VybmVsKCk7CiAJCXJldHVybiAtRU5PRU5UOworCX0KIAogCXByb2MgPSBremFsbG9jKHNpemVvZihzdHJ1Y3QgZGxtX3VzZXJfcHJvYyksIEdGUF9LRVJORUwpOwogCWlmICghcHJvYykgewogCQlkbG1fcHV0X2xvY2tzcGFjZShscyk7CisJCXVubG9ja19rZXJuZWwoKTsKIAkJcmV0dXJuIC1FTk9NRU07CiAJfQogCkBAIC02MzYsNiArNjQxLDcgQEAKIAlzcGluX2xvY2tfaW5pdCgmcHJvYy0+bG9ja3Nfc3Bpbik7CiAJaW5pdF93YWl0cXVldWVfaGVhZCgmcHJvYy0+d2FpdCk7CiAJZmlsZS0+cHJpdmF0ZV9kYXRhID0gcHJvYzsKKwl1bmxvY2tfa2VybmVsKCk7CiAKIAlyZXR1cm4gMDsKIH0KQEAgLTg3MCw2ICs4NzYsNyBAQAogCiBzdGF0aWMgaW50IGN0bF9kZXZpY2Vfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKIHsKKwljeWNsZV9rZXJuZWxfbG9jaygpOwogCWZpbGUtPnByaXZhdGVfZGF0YSA9IE5VTEw7CiAJcmV0dXJuIDA7CiB9CmRpZmYgLS1naXQgYS9mcy9lY3J5cHRmcy9maWxlLmMgYi9mcy9lY3J5cHRmcy9maWxlLmMKaW5kZXggMjI1OGI4Zi4uMjQ3NDliZiAxMDA2NDQKLS0tIGEvZnMvZWNyeXB0ZnMvZmlsZS5jCisrKyBiL2ZzL2VjcnlwdGZzL2ZpbGUuYwpAQCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUgPGxpbnV4L3NlY3VyaXR5Lmg+CiAjaW5jbHVkZSA8bGludXgvY29tcGF0Lmg+CiAjaW5jbHVkZSA8bGludXgvZnNfc3RhY2suaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgImVjcnlwdGZzX2tlcm5lbC5oIgogCiAvKioKQEAgLTI3Nyw5ICsyNzgsMTEgQEAKIAlpbnQgcmMgPSAwOwogCXN0cnVjdCBmaWxlICpsb3dlcl9maWxlID0gTlVMTDsKIAorCWxvY2tfa2VybmVsKCk7CiAJbG93ZXJfZmlsZSA9IGVjcnlwdGZzX2ZpbGVfdG9fbG93ZXIoZmlsZSk7CiAJaWYgKGxvd2VyX2ZpbGUtPmZfb3AgJiYgbG93ZXJfZmlsZS0+Zl9vcC0+ZmFzeW5jKQogCQlyYyA9IGxvd2VyX2ZpbGUtPmZfb3AtPmZhc3luYyhmZCwgbG93ZXJfZmlsZSwgZmxhZyk7CisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiByYzsKIH0KIApkaWZmIC0tZ2l0IGEvZnMvZXh0NC9iYWxsb2MuYyBiL2ZzL2V4dDQvYmFsbG9jLmMKaW5kZXggOWNjODBiOS4uNDk1YWIyMSAxMDA2NDQKLS0tIGEvZnMvZXh0NC9iYWxsb2MuYworKysgYi9mcy9leHQ0L2JhbGxvYy5jCkBAIC00Nyw3ICs0Nyw3IEBACiAJCQlleHQ0X2dyb3VwX3QgYmxvY2tfZ3JvdXApCiB7CiAJZXh0NF9ncm91cF90IGFjdHVhbF9ncm91cDsKLQlleHQ0X2dldF9ncm91cF9ub19hbmRfb2Zmc2V0KHNiLCBibG9jaywgJmFjdHVhbF9ncm91cCwgMCk7CisJZXh0NF9nZXRfZ3JvdXBfbm9fYW5kX29mZnNldChzYiwgYmxvY2ssICZhY3R1YWxfZ3JvdXAsIE5VTEwpOwogCWlmIChhY3R1YWxfZ3JvdXAgPT0gYmxvY2tfZ3JvdXApCiAJCXJldHVybiAxOwogCXJldHVybiAwOwpAQCAtMTIxLDEyICsxMjEsNyBAQAogCQkJCWxlMTZfdG9fY3B1KHNiaS0+c19lcy0+c19yZXNlcnZlZF9nZHRfYmxvY2tzKTsKIAkJfQogCX0gZWxzZSB7IC8qIEZvciBNRVRBX0JHX0JMT0NLX0dST1VQUyAqLwotCQlpbnQgZ3JvdXBfcmVsID0gKGJsb2NrX2dyb3VwIC0KLQkJCQkgbGUzMl90b19jcHUoc2JpLT5zX2VzLT5zX2ZpcnN0X21ldGFfYmcpKSAlCi0JCQkJRVhUNF9ERVNDX1BFUl9CTE9DSyhzYik7Ci0JCWlmIChncm91cF9yZWwgPT0gMCB8fCBncm91cF9yZWwgPT0gMSB8fAotCQkgICAgKGdyb3VwX3JlbCA9PSBFWFQ0X0RFU0NfUEVSX0JMT0NLKHNiKSAtIDEpKQotCQkJYml0X21heCArPSAxOworCQliaXRfbWF4ICs9IGV4dDRfYmdfbnVtX2dkYihzYiwgYmxvY2tfZ3JvdXApOwogCX0KIAogCWlmIChibG9ja19ncm91cCA9PSBzYmktPnNfZ3JvdXBzX2NvdW50IC0gMSkgewpAQCAtMjk1LDcgKzI5MCw3IEBACiAJcmV0dXJuIDA7CiB9CiAvKioKLSAqIHJlYWRfYmxvY2tfYml0bWFwKCkKKyAqIGV4dDRfcmVhZF9ibG9ja19iaXRtYXAoKQogICogQHNiOgkJCXN1cGVyIGJsb2NrCiAgKiBAYmxvY2tfZ3JvdXA6CWdpdmVuIGJsb2NrIGdyb3VwCiAgKgpAQCAtMzA1LDcgKzMwMCw3IEBACiAgKiBSZXR1cm4gYnVmZmVyX2hlYWQgb24gc3VjY2VzcyBvciBOVUxMIGluIGNhc2Ugb2YgZmFpbHVyZS4KICAqLwogc3RydWN0IGJ1ZmZlcl9oZWFkICoKLXJlYWRfYmxvY2tfYml0bWFwKHN0cnVjdCBzdXBlcl9ibG9jayAqc2IsIGV4dDRfZ3JvdXBfdCBibG9ja19ncm91cCkKK2V4dDRfcmVhZF9ibG9ja19iaXRtYXAoc3RydWN0IHN1cGVyX2Jsb2NrICpzYiwgZXh0NF9ncm91cF90IGJsb2NrX2dyb3VwKQogewogCXN0cnVjdCBleHQ0X2dyb3VwX2Rlc2MgKiBkZXNjOwogCXN0cnVjdCBidWZmZXJfaGVhZCAqIGJoID0gTlVMTDsKQEAgLTQwOSw4ICs0MDQsNyBAQAogCQlwcmV2ID0gcnN2OwogCX0KIAlwcmludGsoIldpbmRvdyBtYXAgY29tcGxldGUuXG4iKTsKLQlpZiAoYmFkKQotCQlCVUcoKTsKKwlCVUdfT04oYmFkKTsKIH0KICNkZWZpbmUgcnN2X3dpbmRvd19kdW1wKHJvb3QsIHZlcmJvc2UpIFwKIAlfX3Jzdl93aW5kb3dfZHVtcCgocm9vdCksICh2ZXJib3NlKSwgX19mdW5jX18pCkBAIC02OTQsNyArNjg4LDcgQEAKIAkJY291bnQgLT0gb3ZlcmZsb3c7CiAJfQogCWJyZWxzZShiaXRtYXBfYmgpOwotCWJpdG1hcF9iaCA9IHJlYWRfYmxvY2tfYml0bWFwKHNiLCBibG9ja19ncm91cCk7CisJYml0bWFwX2JoID0gZXh0NF9yZWFkX2Jsb2NrX2JpdG1hcChzYiwgYmxvY2tfZ3JvdXApOwogCWlmICghYml0bWFwX2JoKQogCQlnb3RvIGVycm9yX3JldHVybjsKIAlkZXNjID0gZXh0NF9nZXRfZ3JvdXBfZGVzYyAoc2IsIGJsb2NrX2dyb3VwLCAmZ2RfYmgpOwpAQCAtODEwLDYgKzgwNCwxMyBAQAogCXNwaW5fdW5sb2NrKHNiX2JnbF9sb2NrKHNiaSwgYmxvY2tfZ3JvdXApKTsKIAlwZXJjcHVfY291bnRlcl9hZGQoJnNiaS0+c19mcmVlYmxvY2tzX2NvdW50ZXIsIGNvdW50KTsKIAorCWlmIChzYmktPnNfbG9nX2dyb3Vwc19wZXJfZmxleCkgeworCQlleHQ0X2dyb3VwX3QgZmxleF9ncm91cCA9IGV4dDRfZmxleF9ncm91cChzYmksIGJsb2NrX2dyb3VwKTsKKwkJc3Bpbl9sb2NrKHNiX2JnbF9sb2NrKHNiaSwgZmxleF9ncm91cCkpOworCQlzYmktPnNfZmxleF9ncm91cHNbZmxleF9ncm91cF0uZnJlZV9ibG9ja3MgKz0gY291bnQ7CisJCXNwaW5fdW5sb2NrKHNiX2JnbF9sb2NrKHNiaSwgZmxleF9ncm91cCkpOworCX0KKwogCS8qIFdlIGRpcnRpZWQgdGhlIGJpdG1hcCBibG9jayAqLwogCUJVRkZFUl9UUkFDRShiaXRtYXBfYmgsICJkaXJ0aWVkIGJpdG1hcCBibG9jayIpOwogCWVyciA9IGV4dDRfam91cm5hbF9kaXJ0eV9tZXRhZGF0YShoYW5kbGUsIGJpdG1hcF9iaCk7CkBAIC0xNTk4LDIzICsxNTk5LDM1IEBACiAKIC8qKgogICogZXh0NF9oYXNfZnJlZV9ibG9ja3MoKQotICogQHNiaToJCWluLWNvcmUgc3VwZXIgYmxvY2sgc3RydWN0dXJlLgorICogQHNiaToJaW4tY29yZSBzdXBlciBibG9jayBzdHJ1Y3R1cmUuCisgKiBAbmJsb2NrczoJbnVtYmVyIG9mIG5lZWVkIGJsb2NrcwogICoKLSAqIENoZWNrIGlmIGZpbGVzeXN0ZW0gaGFzIGF0IGxlYXN0IDEgZnJlZSBibG9jayBhdmFpbGFibGUgZm9yIGFsbG9jYXRpb24uCisgKiBDaGVjayBpZiBmaWxlc3lzdGVtIGhhcyBmcmVlIGJsb2NrcyBhdmFpbGFibGUgZm9yIGFsbG9jYXRpb24uCisgKiBSZXR1cm4gdGhlIG51bWJlciBvZiBibG9ja3MgYXZhaWJsZSBmb3IgYWxsb2NhdGlvbiBmb3IgdGhpcyByZXF1ZXN0CisgKiBPbiBzdWNjZXNzLCByZXR1cm4gbmJsb2NrcwogICovCi1zdGF0aWMgaW50IGV4dDRfaGFzX2ZyZWVfYmxvY2tzKHN0cnVjdCBleHQ0X3NiX2luZm8gKnNiaSkKK2V4dDRfZnNibGtfdCBleHQ0X2hhc19mcmVlX2Jsb2NrcyhzdHJ1Y3QgZXh0NF9zYl9pbmZvICpzYmksCisJCQkJCQlleHQ0X2ZzYmxrX3QgbmJsb2NrcykKIHsKLQlleHQ0X2ZzYmxrX3QgZnJlZV9ibG9ja3MsIHJvb3RfYmxvY2tzOworCWV4dDRfZnNibGtfdCBmcmVlX2Jsb2NrczsKKwlleHQ0X2ZzYmxrX3Qgcm9vdF9ibG9ja3MgPSAwOwogCiAJZnJlZV9ibG9ja3MgPSBwZXJjcHVfY291bnRlcl9yZWFkX3Bvc2l0aXZlKCZzYmktPnNfZnJlZWJsb2Nrc19jb3VudGVyKTsKLQlyb290X2Jsb2NrcyA9IGV4dDRfcl9ibG9ja3NfY291bnQoc2JpLT5zX2VzKTsKLQlpZiAoZnJlZV9ibG9ja3MgPCByb290X2Jsb2NrcyArIDEgJiYgIWNhcGFibGUoQ0FQX1NZU19SRVNPVVJDRSkgJiYKKworCWlmICghY2FwYWJsZShDQVBfU1lTX1JFU09VUkNFKSAmJgogCQlzYmktPnNfcmVzdWlkICE9IGN1cnJlbnQtPmZzdWlkICYmCi0JCShzYmktPnNfcmVzZ2lkID09IDAgfHwgIWluX2dyb3VwX3AgKHNiaS0+c19yZXNnaWQpKSkgewotCQlyZXR1cm4gMDsKLQl9Ci0JcmV0dXJuIDE7Ci19CisJCShzYmktPnNfcmVzZ2lkID09IDAgfHwgIWluX2dyb3VwX3Aoc2JpLT5zX3Jlc2dpZCkpKQorCQlyb290X2Jsb2NrcyA9IGV4dDRfcl9ibG9ja3NfY291bnQoc2JpLT5zX2VzKTsKKyNpZmRlZiBDT05GSUdfU01QCisJaWYgKGZyZWVfYmxvY2tzIC0gcm9vdF9ibG9ja3MgPCBGQkNfQkFUQ0gpCisJCWZyZWVfYmxvY2tzID0KKwkJCXBlcmNwdV9jb3VudGVyX3N1bV9hbmRfc2V0KCZzYmktPnNfZnJlZWJsb2Nrc19jb3VudGVyKTsKKyNlbmRpZgorCWlmIChmcmVlX2Jsb2NrcyAtIHJvb3RfYmxvY2tzIDwgbmJsb2NrcykKKwkJcmV0dXJuIGZyZWVfYmxvY2tzIC0gcm9vdF9ibG9ja3M7CisJcmV0dXJuIG5ibG9ja3M7CisgfQorCiAKIC8qKgogICogZXh0NF9zaG91bGRfcmV0cnlfYWxsb2MoKQpAQCAtMTYzMCw3ICsxNjQzLDcgQEAKICAqLwogaW50IGV4dDRfc2hvdWxkX3JldHJ5X2FsbG9jKHN0cnVjdCBzdXBlcl9ibG9jayAqc2IsIGludCAqcmV0cmllcykKIHsKLQlpZiAoIWV4dDRfaGFzX2ZyZWVfYmxvY2tzKEVYVDRfU0Ioc2IpKSB8fCAoKnJldHJpZXMpKysgPiAzKQorCWlmICghZXh0NF9oYXNfZnJlZV9ibG9ja3MoRVhUNF9TQihzYiksIDEpIHx8ICgqcmV0cmllcykrKyA+IDMpCiAJCXJldHVybiAwOwogCiAJamJkX2RlYnVnKDEsICIlczogcmV0cnlpbmcgb3BlcmF0aW9uIGFmdGVyIEVOT1NQQ1xuIiwgc2ItPnNfaWQpOwpAQCAtMTYzOSwyMCArMTY1MiwyNCBAQAogfQogCiAvKioKLSAqIGV4dDRfbmV3X2Jsb2Nrc19vbGQoKSAtLSBjb3JlIGJsb2NrKHMpIGFsbG9jYXRpb24gZnVuY3Rpb24KKyAqIGV4dDRfb2xkX25ld19ibG9ja3MoKSAtLSBjb3JlIGJsb2NrIGJpdG1hcCBiYXNlZCBibG9jayBhbGxvY2F0aW9uIGZ1bmN0aW9uCisgKgogICogQGhhbmRsZToJCWhhbmRsZSB0byB0aGlzIHRyYW5zYWN0aW9uCiAgKiBAaW5vZGU6CQlmaWxlIGlub2RlCiAgKiBAZ29hbDoJCWdpdmVuIHRhcmdldCBibG9jayhmaWxlc3lzdGVtIHdpZGUpCiAgKiBAY291bnQ6CQl0YXJnZXQgbnVtYmVyIG9mIGJsb2NrcyB0byBhbGxvY2F0ZQogICogQGVycnA6CQllcnJvciBjb2RlCiAgKgotICogZXh0NF9uZXdfYmxvY2tzIHVzZXMgYSBnb2FsIGJsb2NrIHRvIGFzc2lzdCBhbGxvY2F0aW9uLiAgSXQgdHJpZXMgdG8KLSAqIGFsbG9jYXRlIGJsb2NrKHMpIGZyb20gdGhlIGJsb2NrIGdyb3VwIGNvbnRhaW5zIHRoZSBnb2FsIGJsb2NrIGZpcnN0LiBJZiB0aGF0Ci0gKiBmYWlscywgaXQgd2lsbCB0cnkgdG8gYWxsb2NhdGUgYmxvY2socykgZnJvbSBvdGhlciBibG9jayBncm91cHMgd2l0aG91dAotICogYW55IHNwZWNpZmljIGdvYWwgYmxvY2suCisgKiBleHQ0X29sZF9uZXdfYmxvY2tzIHVzZXMgYSBnb2FsIGJsb2NrIHRvIGFzc2lzdCBhbGxvY2F0aW9uIGFuZCBsb29rIHVwCisgKiB0aGUgYmxvY2sgYml0bWFwIGRpcmVjdGx5IHRvIGRvIGJsb2NrIGFsbG9jYXRpb24uICBJdCB0cmllcyB0bworICogYWxsb2NhdGUgYmxvY2socykgZnJvbSB0aGUgYmxvY2sgZ3JvdXAgY29udGFpbnMgdGhlIGdvYWwgYmxvY2sgZmlyc3QuIElmCisgKiB0aGF0IGZhaWxzLCBpdCB3aWxsIHRyeSB0byBhbGxvY2F0ZSBibG9jayhzKSBmcm9tIG90aGVyIGJsb2NrIGdyb3VwcworICogd2l0aG91dCBhbnkgc3BlY2lmaWMgZ29hbCBibG9jay4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCB3aGVuIC1vIG5vbWJhbGxvYyBtb3VudCBvcHRpb24gaXMgZW5hYmxlZAogICoKICAqLwotZXh0NF9mc2Jsa190IGV4dDRfbmV3X2Jsb2Nrc19vbGQoaGFuZGxlX3QgKmhhbmRsZSwgc3RydWN0IGlub2RlICppbm9kZSwKK2V4dDRfZnNibGtfdCBleHQ0X29sZF9uZXdfYmxvY2tzKGhhbmRsZV90ICpoYW5kbGUsIHN0cnVjdCBpbm9kZSAqaW5vZGUsCiAJCQlleHQ0X2ZzYmxrX3QgZ29hbCwgdW5zaWduZWQgbG9uZyAqY291bnQsIGludCAqZXJycCkKIHsKIAlzdHJ1Y3QgYnVmZmVyX2hlYWQgKmJpdG1hcF9iaCA9IE5VTEw7CkBAIC0xNjc2LDEzICsxNjkzLDI2IEBACiAJZXh0NF9ncm91cF90IG5ncm91cHM7CiAJdW5zaWduZWQgbG9uZyBudW0gPSAqY291bnQ7CiAKLQkqZXJycCA9IC1FTk9TUEM7CiAJc2IgPSBpbm9kZS0+aV9zYjsKIAlpZiAoIXNiKSB7CisJCSplcnJwID0gLUVOT0RFVjsKIAkJcHJpbnRrKCJleHQ0X25ld19ibG9jazogbm9uZXhpc3RlbnQgZGV2aWNlIik7CiAJCXJldHVybiAwOwogCX0KIAorCXNiaSA9IEVYVDRfU0Ioc2IpOworCWlmICghRVhUNF9JKGlub2RlKS0+aV9kZWxhbGxvY19yZXNlcnZlZF9mbGFnKSB7CisJCS8qCisJCSAqIFdpdGggZGVsYWxsb2Mgd2UgYWxyZWFkeSByZXNlcnZlZCB0aGUgYmxvY2tzCisJCSAqLworCQkqY291bnQgPSBleHQ0X2hhc19mcmVlX2Jsb2NrcyhzYmksICpjb3VudCk7CisJfQorCWlmICgqY291bnQgPT0gMCkgeworCQkqZXJycCA9IC1FTk9TUEM7CisJCXJldHVybiAwOwkvKnJldHVybiB3aXRoIEVOT1NQQyBlcnJvciAqLworCX0KKwludW0gPSAqY291bnQ7CisKIAkvKgogCSAqIENoZWNrIHF1b3RhIGZvciBhbGxvY2F0aW9uIG9mIHRoaXMgYmxvY2suCiAJICovCkBAIC0xNzA2LDExICsxNzM2LDYgQEAKIAlpZiAoYmxvY2tfaSAmJiAoKHdpbmRvd3N6ID0gYmxvY2tfaS0+cnN2X3dpbmRvd19ub2RlLnJzdl9nb2FsX3NpemUpID4gMCkpCiAJCW15X3JzdiA9ICZibG9ja19pLT5yc3Zfd2luZG93X25vZGU7CiAKLQlpZiAoIWV4dDRfaGFzX2ZyZWVfYmxvY2tzKHNiaSkpIHsKLQkJKmVycnAgPSAtRU5PU1BDOwotCQlnb3RvIG91dDsKLQl9Ci0KIAkvKgogCSAqIEZpcnN0LCB0ZXN0IHdoZXRoZXIgdGhlIGdvYWwgYmxvY2sgaXMgZnJlZS4KIAkgKi8KQEAgLTE3MzQsNyArMTc1OSw3IEBACiAJCW15X3JzdiA9IE5VTEw7CiAKIAlpZiAoZnJlZV9ibG9ja3MgPiAwKSB7Ci0JCWJpdG1hcF9iaCA9IHJlYWRfYmxvY2tfYml0bWFwKHNiLCBncm91cF9ubyk7CisJCWJpdG1hcF9iaCA9IGV4dDRfcmVhZF9ibG9ja19iaXRtYXAoc2IsIGdyb3VwX25vKTsKIAkJaWYgKCFiaXRtYXBfYmgpCiAJCQlnb3RvIGlvX2Vycm9yOwogCQlncnBfYWxsb2NfYmxrID0gZXh0NF90cnlfdG9fYWxsb2NhdGVfd2l0aF9yc3Yoc2IsIGhhbmRsZSwKQEAgLTE3NzAsNyArMTc5NSw3IEBACiAJCQljb250aW51ZTsKIAogCQlicmVsc2UoYml0bWFwX2JoKTsKLQkJYml0bWFwX2JoID0gcmVhZF9ibG9ja19iaXRtYXAoc2IsIGdyb3VwX25vKTsKKwkJYml0bWFwX2JoID0gZXh0NF9yZWFkX2Jsb2NrX2JpdG1hcChzYiwgZ3JvdXBfbm8pOwogCQlpZiAoIWJpdG1hcF9iaCkKIAkJCWdvdG8gaW9fZXJyb3I7CiAJCS8qCkBAIC0xODgyLDcgKzE5MDcsMTUgQEAKIAlsZTE2X2FkZF9jcHUoJmdkcC0+YmdfZnJlZV9ibG9ja3NfY291bnQsIC1udW0pOwogCWdkcC0+YmdfY2hlY2tzdW0gPSBleHQ0X2dyb3VwX2Rlc2NfY3N1bShzYmksIGdyb3VwX25vLCBnZHApOwogCXNwaW5fdW5sb2NrKHNiX2JnbF9sb2NrKHNiaSwgZ3JvdXBfbm8pKTsKLQlwZXJjcHVfY291bnRlcl9zdWIoJnNiaS0+c19mcmVlYmxvY2tzX2NvdW50ZXIsIG51bSk7CisJaWYgKCFFWFQ0X0koaW5vZGUpLT5pX2RlbGFsbG9jX3Jlc2VydmVkX2ZsYWcpCisJCXBlcmNwdV9jb3VudGVyX3N1Yigmc2JpLT5zX2ZyZWVibG9ja3NfY291bnRlciwgbnVtKTsKKworCWlmIChzYmktPnNfbG9nX2dyb3Vwc19wZXJfZmxleCkgeworCQlleHQ0X2dyb3VwX3QgZmxleF9ncm91cCA9IGV4dDRfZmxleF9ncm91cChzYmksIGdyb3VwX25vKTsKKwkJc3Bpbl9sb2NrKHNiX2JnbF9sb2NrKHNiaSwgZmxleF9ncm91cCkpOworCQlzYmktPnNfZmxleF9ncm91cHNbZmxleF9ncm91cF0uZnJlZV9ibG9ja3MgLT0gbnVtOworCQlzcGluX3VubG9jayhzYl9iZ2xfbG9jayhzYmksIGZsZXhfZ3JvdXApKTsKKwl9CiAKIAlCVUZGRVJfVFJBQ0UoZ2RwX2JoLCAiam91cm5hbF9kaXJ0eV9tZXRhZGF0YSBmb3IgZ3JvdXAgZGVzY3JpcHRvciIpOwogCWVyciA9IGV4dDRfam91cm5hbF9kaXJ0eV9tZXRhZGF0YShoYW5kbGUsIGdkcF9iaCk7CkBAIC0xOTE1LDQ2ICsxOTQ4LDEwNCBAQAogCXJldHVybiAwOwogfQogCi1leHQ0X2ZzYmxrX3QgZXh0NF9uZXdfYmxvY2soaGFuZGxlX3QgKmhhbmRsZSwgc3RydWN0IGlub2RlICppbm9kZSwKLQkJZXh0NF9mc2Jsa190IGdvYWwsIGludCAqZXJycCkKKyNkZWZpbmUgRVhUNF9NRVRBX0JMT0NLIDB4MQorCitzdGF0aWMgZXh0NF9mc2Jsa190IGRvX2Jsa19hbGxvYyhoYW5kbGVfdCAqaGFuZGxlLCBzdHJ1Y3QgaW5vZGUgKmlub2RlLAorCQkJCWV4dDRfbGJsa190IGlibG9jaywgZXh0NF9mc2Jsa190IGdvYWwsCisJCQkJdW5zaWduZWQgbG9uZyAqY291bnQsIGludCAqZXJycCwgaW50IGZsYWdzKQogewogCXN0cnVjdCBleHQ0X2FsbG9jYXRpb25fcmVxdWVzdCBhcjsKIAlleHQ0X2ZzYmxrX3QgcmV0OwogCiAJaWYgKCF0ZXN0X29wdChpbm9kZS0+aV9zYiwgTUJBTExPQykpIHsKLQkJdW5zaWduZWQgbG9uZyBjb3VudCA9IDE7Ci0JCXJldCA9IGV4dDRfbmV3X2Jsb2Nrc19vbGQoaGFuZGxlLCBpbm9kZSwgZ29hbCwgJmNvdW50LCBlcnJwKTsKLQkJcmV0dXJuIHJldDsKKwkJcmV0dXJuIGV4dDRfb2xkX25ld19ibG9ja3MoaGFuZGxlLCBpbm9kZSwgZ29hbCwgY291bnQsIGVycnApOwogCX0KIAogCW1lbXNldCgmYXIsIDAsIHNpemVvZihhcikpOwotCWFyLmlub2RlID0gaW5vZGU7Ci0JYXIuZ29hbCA9IGdvYWw7Ci0JYXIubGVuID0gMTsKLQlyZXQgPSBleHQ0X21iX25ld19ibG9ja3MoaGFuZGxlLCAmYXIsIGVycnApOwotCXJldHVybiByZXQ7Ci19CisJLyogRmlsbCB3aXRoIG5laWdoYm91ciBhbGxvY2F0ZWQgYmxvY2tzICovCiAKLWV4dDRfZnNibGtfdCBleHQ0X25ld19ibG9ja3MoaGFuZGxlX3QgKmhhbmRsZSwgc3RydWN0IGlub2RlICppbm9kZSwKLQkJZXh0NF9mc2Jsa190IGdvYWwsIHVuc2lnbmVkIGxvbmcgKmNvdW50LCBpbnQgKmVycnApCi17Ci0Jc3RydWN0IGV4dDRfYWxsb2NhdGlvbl9yZXF1ZXN0IGFyOwotCWV4dDRfZnNibGtfdCByZXQ7Ci0KLQlpZiAoIXRlc3Rfb3B0KGlub2RlLT5pX3NiLCBNQkFMTE9DKSkgewotCQlyZXQgPSBleHQ0X25ld19ibG9ja3Nfb2xkKGhhbmRsZSwgaW5vZGUsIGdvYWwsIGNvdW50LCBlcnJwKTsKLQkJcmV0dXJuIHJldDsKLQl9Ci0KLQltZW1zZXQoJmFyLCAwLCBzaXplb2YoYXIpKTsKIAlhci5pbm9kZSA9IGlub2RlOwogCWFyLmdvYWwgPSBnb2FsOwogCWFyLmxlbiA9ICpjb3VudDsKKwlhci5sb2dpY2FsID0gaWJsb2NrOworCisJaWYgKFNfSVNSRUcoaW5vZGUtPmlfbW9kZSkgJiYgIShmbGFncyAmIEVYVDRfTUVUQV9CTE9DSykpCisJCS8qIGVuYWJsZSBpbi1jb3JlIHByZWFsbG9jYXRpb24gZm9yIGRhdGEgYmxvY2sgYWxsb2NhdGlvbiAqLworCQlhci5mbGFncyA9IEVYVDRfTUJfSElOVF9EQVRBOworCWVsc2UKKwkJLyogZGlzYWJsZSBpbi1jb3JlIHByZWFsbG9jYXRpb24gZm9yIG5vbi1yZWd1bGFyIGZpbGVzICovCisJCWFyLmZsYWdzID0gMDsKKwogCXJldCA9IGV4dDRfbWJfbmV3X2Jsb2NrcyhoYW5kbGUsICZhciwgZXJycCk7CiAJKmNvdW50ID0gYXIubGVuOwogCXJldHVybiByZXQ7CiB9CiAKKy8qCisgKiBleHQ0X25ld19tZXRhX2Jsb2NrcygpIC0tIGFsbG9jYXRlIGJsb2NrIGZvciBtZXRhIGRhdGEgKGluZGV4aW5nKSBibG9ja3MKKyAqCisgKiBAaGFuZGxlOiAgICAgICAgICAgICBoYW5kbGUgdG8gdGhpcyB0cmFuc2FjdGlvbgorICogQGlub2RlOiAgICAgICAgICAgICAgZmlsZSBpbm9kZQorICogQGdvYWw6ICAgICAgICAgICAgICAgZ2l2ZW4gdGFyZ2V0IGJsb2NrKGZpbGVzeXN0ZW0gd2lkZSkKKyAqIEBjb3VudDoJCXRvdGFsIG51bWJlciBvZiBibG9ja3MgbmVlZAorICogQGVycnA6ICAgICAgICAgICAgICAgZXJyb3IgY29kZQorICoKKyAqIFJldHVybiAxc3QgYWxsb2NhdGVkIGJsb2NrIG51bWJlcm9uIHN1Y2Nlc3MsICpjb3VudCBzdG9yZXMgdG90YWwgYWNjb3VudAorICogZXJyb3Igc3RvcmVzIGluIGVycnAgcG9pbnRlcgorICovCitleHQ0X2ZzYmxrX3QgZXh0NF9uZXdfbWV0YV9ibG9ja3MoaGFuZGxlX3QgKmhhbmRsZSwgc3RydWN0IGlub2RlICppbm9kZSwKKwkJZXh0NF9mc2Jsa190IGdvYWwsIHVuc2lnbmVkIGxvbmcgKmNvdW50LCBpbnQgKmVycnApCit7CisJZXh0NF9mc2Jsa190IHJldDsKKwlyZXQgPSBkb19ibGtfYWxsb2MoaGFuZGxlLCBpbm9kZSwgMCwgZ29hbCwKKwkJCQljb3VudCwgZXJycCwgRVhUNF9NRVRBX0JMT0NLKTsKKwkvKgorCSAqIEFjY291bnQgZm9yIHRoZSBhbGxvY2F0ZWQgbWV0YSBibG9ja3MKKwkgKi8KKwlpZiAoISgqZXJycCkpIHsKKwkJc3Bpbl9sb2NrKCZFWFQ0X0koaW5vZGUpLT5pX2Jsb2NrX3Jlc2VydmF0aW9uX2xvY2spOworCQlFWFQ0X0koaW5vZGUpLT5pX2FsbG9jYXRlZF9tZXRhX2Jsb2NrcyArPSAqY291bnQ7CisJCXNwaW5fdW5sb2NrKCZFWFQ0X0koaW5vZGUpLT5pX2Jsb2NrX3Jlc2VydmF0aW9uX2xvY2spOworCX0KKwlyZXR1cm4gcmV0OworfQorCisvKgorICogZXh0NF9uZXdfbWV0YV9ibG9jaygpIC0tIGFsbG9jYXRlIGJsb2NrIGZvciBtZXRhIGRhdGEgKGluZGV4aW5nKSBibG9ja3MKKyAqCisgKiBAaGFuZGxlOiAgICAgICAgICAgICBoYW5kbGUgdG8gdGhpcyB0cmFuc2FjdGlvbgorICogQGlub2RlOiAgICAgICAgICAgICAgZmlsZSBpbm9kZQorICogQGdvYWw6ICAgICAgICAgICAgICAgZ2l2ZW4gdGFyZ2V0IGJsb2NrKGZpbGVzeXN0ZW0gd2lkZSkKKyAqIEBlcnJwOiAgICAgICAgICAgICAgIGVycm9yIGNvZGUKKyAqCisgKiBSZXR1cm4gYWxsb2NhdGVkIGJsb2NrIG51bWJlciBvbiBzdWNjZXNzCisgKi8KK2V4dDRfZnNibGtfdCBleHQ0X25ld19tZXRhX2Jsb2NrKGhhbmRsZV90ICpoYW5kbGUsIHN0cnVjdCBpbm9kZSAqaW5vZGUsCisJCWV4dDRfZnNibGtfdCBnb2FsLCBpbnQgKmVycnApCit7CisJdW5zaWduZWQgbG9uZyBjb3VudCA9IDE7CisJcmV0dXJuIGV4dDRfbmV3X21ldGFfYmxvY2tzKGhhbmRsZSwgaW5vZGUsIGdvYWwsICZjb3VudCwgZXJycCk7Cit9CisKKy8qCisgKiBleHQ0X25ld19ibG9ja3MoKSAtLSBhbGxvY2F0ZSBkYXRhIGJsb2NrcworICoKKyAqIEBoYW5kbGU6ICAgICAgICAgICAgIGhhbmRsZSB0byB0aGlzIHRyYW5zYWN0aW9uCisgKiBAaW5vZGU6ICAgICAgICAgICAgICBmaWxlIGlub2RlCisgKiBAZ29hbDogICAgICAgICAgICAgICBnaXZlbiB0YXJnZXQgYmxvY2soZmlsZXN5c3RlbSB3aWRlKQorICogQGNvdW50OgkJdG90YWwgbnVtYmVyIG9mIGJsb2NrcyBuZWVkCisgKiBAZXJycDogICAgICAgICAgICAgICBlcnJvciBjb2RlCisgKgorICogUmV0dXJuIDFzdCBhbGxvY2F0ZWQgYmxvY2sgbnVtYmVyb24gc3VjY2VzcywgKmNvdW50IHN0b3JlcyB0b3RhbCBhY2NvdW50CisgKiBlcnJvciBzdG9yZXMgaW4gZXJycCBwb2ludGVyCisgKi8KKworZXh0NF9mc2Jsa190IGV4dDRfbmV3X2Jsb2NrcyhoYW5kbGVfdCAqaGFuZGxlLCBzdHJ1Y3QgaW5vZGUgKmlub2RlLAorCQkJCWV4dDRfbGJsa190IGlibG9jaywgZXh0NF9mc2Jsa190IGdvYWwsCisJCQkJdW5zaWduZWQgbG9uZyAqY291bnQsIGludCAqZXJycCkKK3sKKwlyZXR1cm4gZG9fYmxrX2FsbG9jKGhhbmRsZSwgaW5vZGUsIGlibG9jaywgZ29hbCwgY291bnQsIGVycnAsIDApOworfQogCiAvKioKICAqIGV4dDRfY291bnRfZnJlZV9ibG9ja3MoKSAtLSBjb3VudCBmaWxlc3lzdGVtIGZyZWUgYmxvY2tzCkBAIC0xOTg2LDcgKzIwNzcsNyBAQAogCQkJY29udGludWU7CiAJCWRlc2NfY291bnQgKz0gbGUxNl90b19jcHUoZ2RwLT5iZ19mcmVlX2Jsb2Nrc19jb3VudCk7CiAJCWJyZWxzZShiaXRtYXBfYmgpOwotCQliaXRtYXBfYmggPSByZWFkX2Jsb2NrX2JpdG1hcChzYiwgaSk7CisJCWJpdG1hcF9iaCA9IGV4dDRfcmVhZF9ibG9ja19iaXRtYXAoc2IsIGkpOwogCQlpZiAoYml0bWFwX2JoID09IE5VTEwpCiAJCQljb250aW51ZTsKIApkaWZmIC0tZ2l0IGEvZnMvZXh0NC9kaXIuYyBiL2ZzL2V4dDQvZGlyLmMKaW5kZXggMmJmMDMzMS4uZDNkMjNkNyAxMDA2NDQKLS0tIGEvZnMvZXh0NC9kaXIuYworKysgYi9mcy9leHQ0L2Rpci5jCkBAIC0xMjksNyArMTI5LDggQEAKIAkJc3RydWN0IGJ1ZmZlcl9oZWFkICpiaCA9IE5VTEw7CiAKIAkJbWFwX2JoLmJfc3RhdGUgPSAwOwotCQllcnIgPSBleHQ0X2dldF9ibG9ja3Nfd3JhcChOVUxMLCBpbm9kZSwgYmxrLCAxLCAmbWFwX2JoLCAwLCAwKTsKKwkJZXJyID0gZXh0NF9nZXRfYmxvY2tzX3dyYXAoTlVMTCwgaW5vZGUsIGJsaywgMSwgJm1hcF9iaCwKKwkJCQkJCTAsIDAsIDApOwogCQlpZiAoZXJyID4gMCkgewogCQkJcGdvZmZfdCBpbmRleCA9IG1hcF9iaC5iX2Jsb2NrbnIgPj4KIAkJCQkJKFBBR0VfQ0FDSEVfU0hJRlQgLSBpbm9kZS0+aV9ibGtiaXRzKTsKQEAgLTI3Miw3ICsyNzMsNyBAQAogCiAJd2hpbGUgKG4pIHsKIAkJLyogRG8gdGhlIG5vZGUncyBjaGlsZHJlbiBmaXJzdCAqLwotCQlpZiAoKG4pLT5yYl9sZWZ0KSB7CisJCWlmIChuLT5yYl9sZWZ0KSB7CiAJCQluID0gbi0+cmJfbGVmdDsKIAkJCWNvbnRpbnVlOwogCQl9CkBAIC0zMDEsMjQgKzMwMiwxOCBAQAogCQkJcGFyZW50LT5yYl9yaWdodCA9IE5VTEw7CiAJCW4gPSBwYXJlbnQ7CiAJfQotCXJvb3QtPnJiX25vZGUgPSBOVUxMOwogfQogCiAKLXN0YXRpYyBzdHJ1Y3QgZGlyX3ByaXZhdGVfaW5mbyAqY3JlYXRlX2Rpcl9pbmZvKGxvZmZfdCBwb3MpCitzdGF0aWMgc3RydWN0IGRpcl9wcml2YXRlX2luZm8gKmV4dDRfaHRyZWVfY3JlYXRlX2Rpcl9pbmZvKGxvZmZfdCBwb3MpCiB7CiAJc3RydWN0IGRpcl9wcml2YXRlX2luZm8gKnA7CiAKLQlwID0ga21hbGxvYyhzaXplb2Yoc3RydWN0IGRpcl9wcml2YXRlX2luZm8pLCBHRlBfS0VSTkVMKTsKKwlwID0ga3phbGxvYyhzaXplb2Yoc3RydWN0IGRpcl9wcml2YXRlX2luZm8pLCBHRlBfS0VSTkVMKTsKIAlpZiAoIXApCiAJCXJldHVybiBOVUxMOwotCXAtPnJvb3QucmJfbm9kZSA9IE5VTEw7Ci0JcC0+Y3Vycl9ub2RlID0gTlVMTDsKLQlwLT5leHRyYV9mbmFtZSA9IE5VTEw7Ci0JcC0+bGFzdF9wb3MgPSAwOwogCXAtPmN1cnJfaGFzaCA9IHBvczJtYWpfaGFzaChwb3MpOwogCXAtPmN1cnJfbWlub3JfaGFzaCA9IHBvczJtaW5faGFzaChwb3MpOwotCXAtPm5leHRfaGFzaCA9IDA7CiAJcmV0dXJuIHA7CiB9CiAKQEAgLTQzMyw3ICs0MjgsNyBAQAogCWludAlyZXQ7CiAKIAlpZiAoIWluZm8pIHsKLQkJaW5mbyA9IGNyZWF0ZV9kaXJfaW5mbyhmaWxwLT5mX3Bvcyk7CisJCWluZm8gPSBleHQ0X2h0cmVlX2NyZWF0ZV9kaXJfaW5mbyhmaWxwLT5mX3Bvcyk7CiAJCWlmICghaW5mbykKIAkJCXJldHVybiAtRU5PTUVNOwogCQlmaWxwLT5wcml2YXRlX2RhdGEgPSBpbmZvOwpkaWZmIC0tZ2l0IGEvZnMvZXh0NC9leHQ0LmggYi9mcy9leHQ0L2V4dDQuaAppbmRleCA4MTU4MDgzLi4zMDNlNDFjIDEwMDY0NAotLS0gYS9mcy9leHQ0L2V4dDQuaAorKysgYi9mcy9leHQ0L2V4dDQuaApAQCAtMjIsNyArMjIsNyBAQAogI2luY2x1ZGUgImV4dDRfaS5oIgogCiAvKgotICogVGhlIHNlY29uZCBleHRlbmRlZCBmaWxlc3lzdGVtIGNvbnN0YW50cy9zdHJ1Y3R1cmVzCisgKiBUaGUgZm91cnRoIGV4dGVuZGVkIGZpbGVzeXN0ZW0gY29uc3RhbnRzL3N0cnVjdHVyZXMKICAqLwogCiAvKgpAQCAtNDUsNyArNDUsNyBAQAogI2RlZmluZSBleHQ0X2RlYnVnKGYsIGEuLi4pCQkJCQkJXAogCWRvIHsJCQkJCQkJCVwKIAkJcHJpbnRrIChLRVJOX0RFQlVHICJFWFQ0LWZzIERFQlVHICglcywgJWQpOiAlczoiLAlcCi0JCQlfX0ZJTEVfXywgX19MSU5FX18sIF9fRlVOQ1RJT05fXyk7CQlcCisJCQlfX0ZJTEVfXywgX19MSU5FX18sIF9fZnVuY19fKTsJCQlcCiAJCXByaW50ayAoS0VSTl9ERUJVRyBmLCAjIyBhKTsJCQkJXAogCX0gd2hpbGUgKDApCiAjZWxzZQpAQCAtNzQsNiArNzQsOSBAQAogI2RlZmluZSBFWFQ0X01CX0hJTlRfR09BTF9PTkxZCQkyNTYKIC8qIGdvYWwgaXMgbWVhbmluZ2Z1bCAqLwogI2RlZmluZSBFWFQ0X01CX0hJTlRfVFJZX0dPQUwJCTUxMgorLyogYmxvY2tzIGFscmVhZHkgcHJlLXJlc2VydmVkIGJ5IGRlbGF5ZWQgYWxsb2NhdGlvbiAqLworI2RlZmluZSBFWFQ0X01CX0RFTEFMTE9DX1JFU0VSVkVEICAgICAgMTAyNAorCiAKIHN0cnVjdCBleHQ0X2FsbG9jYXRpb25fcmVxdWVzdCB7CiAJLyogdGFyZ2V0IGlub2RlIGZvciBibG9jayB3ZSdyZSBhbGxvY2F0aW5nICovCkBAIC0xNzAsNiArMTczLDE1IEBACiAJX191MzIJYmdfcmVzZXJ2ZWQyWzNdOwogfTsKIAorLyoKKyAqIFN0cnVjdHVyZSBvZiBhIGZsZXggYmxvY2sgZ3JvdXAgaW5mbworICovCisKK3N0cnVjdCBmbGV4X2dyb3VwcyB7CisJX191MzIgZnJlZV9pbm9kZXM7CisJX191MzIgZnJlZV9ibG9ja3M7Cit9OworCiAjZGVmaW5lIEVYVDRfQkdfSU5PREVfVU5JTklUCTB4MDAwMSAvKiBJbm9kZSB0YWJsZS9iaXRtYXAgbm90IGluIHVzZSAqLwogI2RlZmluZSBFWFQ0X0JHX0JMT0NLX1VOSU5JVAkweDAwMDIgLyogQmxvY2sgYml0bWFwIG5vdCBpbiB1c2UgKi8KICNkZWZpbmUgRVhUNF9CR19JTk9ERV9aRVJPRUQJMHgwMDA0IC8qIE9uLWRpc2sgaXRhYmxlIGluaXRpYWxpemVkIHRvIHplcm8gKi8KQEAgLTUyNyw2ICs1MzksNyBAQAogI2RlZmluZSBFWFQ0X01PVU5UX0pPVVJOQUxfQVNZTkNfQ09NTUlUCTB4MTAwMDAwMCAvKiBKb3VybmFsIEFzeW5jIENvbW1pdCAqLwogI2RlZmluZSBFWFQ0X01PVU5UX0lfVkVSU0lPTiAgICAgICAgICAgIDB4MjAwMDAwMCAvKiBpX3ZlcnNpb24gc3VwcG9ydCAqLwogI2RlZmluZSBFWFQ0X01PVU5UX01CQUxMT0MJCTB4NDAwMDAwMCAvKiBCdWRkeSBhbGxvY2F0aW9uIHN1cHBvcnQgKi8KKyNkZWZpbmUgRVhUNF9NT1VOVF9ERUxBTExPQwkJMHg4MDAwMDAwIC8qIERlbGFsbG9jIHN1cHBvcnQgKi8KIC8qIENvbXBhdGliaWxpdHksIGZvciBoYXZpbmcgYm90aCBleHQyX2ZzLmggYW5kIGV4dDRfZnMuaCBpbmNsdWRlZCBhdCBvbmNlICovCiAjaWZuZGVmIF9MSU5VWF9FWFQyX0ZTX0gKICNkZWZpbmUgY2xlYXJfb3B0KG8sIG9wdCkJCW8gJj0gfkVYVDRfTU9VTlRfIyNvcHQKQEAgLTY0Nyw3ICs2NjAsMTAgQEAKIAlfX2xlMTYgIHNfbW1wX2ludGVydmFsOyAgICAgICAgIC8qICMgc2Vjb25kcyB0byB3YWl0IGluIE1NUCBjaGVja2luZyAqLwogCV9fbGU2NCAgc19tbXBfYmxvY2s7ICAgICAgICAgICAgLyogQmxvY2sgZm9yIG11bHRpLW1vdW50IHByb3RlY3Rpb24gKi8KIAlfX2xlMzIgIHNfcmFpZF9zdHJpcGVfd2lkdGg7ICAgIC8qIGJsb2NrcyBvbiBhbGwgZGF0YSBkaXNrcyAoTipzdHJpZGUpKi8KLQlfX3UzMiAgIHNfcmVzZXJ2ZWRbMTYzXTsgICAgICAgIC8qIFBhZGRpbmcgdG8gdGhlIGVuZCBvZiB0aGUgYmxvY2sgKi8KKwlfX3U4CXNfbG9nX2dyb3Vwc19wZXJfZmxleDsgIC8qIEZMRVhfQkcgZ3JvdXAgc2l6ZSAqLworCV9fdTgJc19yZXNlcnZlZF9jaGFyX3BhZDI7CisJX19sZTE2ICBzX3Jlc2VydmVkX3BhZDsKKwlfX3UzMiAgIHNfcmVzZXJ2ZWRbMTYyXTsgICAgICAgIC8qIFBhZGRpbmcgdG8gdGhlIGVuZCBvZiB0aGUgYmxvY2sgKi8KIH07CiAKICNpZmRlZiBfX0tFUk5FTF9fCkBAIC05NTgsMTIgKzk3NCwxNyBAQAogZXh0ZXJuIGludCBleHQ0X2JnX2hhc19zdXBlcihzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiLCBleHQ0X2dyb3VwX3QgZ3JvdXApOwogZXh0ZXJuIHVuc2lnbmVkIGxvbmcgZXh0NF9iZ19udW1fZ2RiKHN0cnVjdCBzdXBlcl9ibG9jayAqc2IsCiAJCQlleHQ0X2dyb3VwX3QgZ3JvdXApOwotZXh0ZXJuIGV4dDRfZnNibGtfdCBleHQ0X25ld19ibG9jayAoaGFuZGxlX3QgKmhhbmRsZSwgc3RydWN0IGlub2RlICppbm9kZSwKK2V4dGVybiBleHQ0X2ZzYmxrX3QgZXh0NF9uZXdfbWV0YV9ibG9jayhoYW5kbGVfdCAqaGFuZGxlLCBzdHJ1Y3QgaW5vZGUgKmlub2RlLAogCQkJZXh0NF9mc2Jsa190IGdvYWwsIGludCAqZXJycCk7Ci1leHRlcm4gZXh0NF9mc2Jsa190IGV4dDRfbmV3X2Jsb2NrcyAoaGFuZGxlX3QgKmhhbmRsZSwgc3RydWN0IGlub2RlICppbm9kZSwKK2V4dGVybiBleHQ0X2ZzYmxrX3QgZXh0NF9uZXdfbWV0YV9ibG9ja3MoaGFuZGxlX3QgKmhhbmRsZSwgc3RydWN0IGlub2RlICppbm9kZSwKIAkJCWV4dDRfZnNibGtfdCBnb2FsLCB1bnNpZ25lZCBsb25nICpjb3VudCwgaW50ICplcnJwKTsKLWV4dGVybiBleHQ0X2ZzYmxrX3QgZXh0NF9uZXdfYmxvY2tzX29sZChoYW5kbGVfdCAqaGFuZGxlLCBzdHJ1Y3QgaW5vZGUgKmlub2RlLAorZXh0ZXJuIGV4dDRfZnNibGtfdCBleHQ0X25ld19ibG9ja3MoaGFuZGxlX3QgKmhhbmRsZSwgc3RydWN0IGlub2RlICppbm9kZSwKKwkJCQkJZXh0NF9sYmxrX3QgaWJsb2NrLCBleHQ0X2ZzYmxrX3QgZ29hbCwKKwkJCQkJdW5zaWduZWQgbG9uZyAqY291bnQsIGludCAqZXJycCk7CitleHRlcm4gZXh0NF9mc2Jsa190IGV4dDRfb2xkX25ld19ibG9ja3MoaGFuZGxlX3QgKmhhbmRsZSwgc3RydWN0IGlub2RlICppbm9kZSwKIAkJCWV4dDRfZnNibGtfdCBnb2FsLCB1bnNpZ25lZCBsb25nICpjb3VudCwgaW50ICplcnJwKTsKK2V4dGVybiBleHQ0X2ZzYmxrX3QgZXh0NF9oYXNfZnJlZV9ibG9ja3Moc3RydWN0IGV4dDRfc2JfaW5mbyAqc2JpLAorCQkJCQkJZXh0NF9mc2Jsa190IG5ibG9ja3MpOwogZXh0ZXJuIHZvaWQgZXh0NF9mcmVlX2Jsb2NrcyAoaGFuZGxlX3QgKmhhbmRsZSwgc3RydWN0IGlub2RlICppbm9kZSwKIAkJCWV4dDRfZnNibGtfdCBibG9jaywgdW5zaWduZWQgbG9uZyBjb3VudCwgaW50IG1ldGFkYXRhKTsKIGV4dGVybiB2b2lkIGV4dDRfZnJlZV9ibG9ja3Nfc2IgKGhhbmRsZV90ICpoYW5kbGUsIHN0cnVjdCBzdXBlcl9ibG9jayAqc2IsCkBAIC0xMDE2LDkgKzEwMzcsMTQgQEAKIGV4dGVybiB2b2lkIGV4aXRfZXh0NF9tYmFsbG9jKHZvaWQpOwogZXh0ZXJuIHZvaWQgZXh0NF9tYl9mcmVlX2Jsb2NrcyhoYW5kbGVfdCAqLCBzdHJ1Y3QgaW5vZGUgKiwKIAkJdW5zaWduZWQgbG9uZywgdW5zaWduZWQgbG9uZywgaW50LCB1bnNpZ25lZCBsb25nICopOworZXh0ZXJuIGludCBleHQ0X21iX2FkZF9tb3JlX2dyb3VwaW5mbyhzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiLAorCQlleHQ0X2dyb3VwX3QgaSwgc3RydWN0IGV4dDRfZ3JvdXBfZGVzYyAqZGVzYyk7CitleHRlcm4gdm9pZCBleHQ0X21iX3VwZGF0ZV9ncm91cF9pbmZvKHN0cnVjdCBleHQ0X2dyb3VwX2luZm8gKmdycCwKKwkJZXh0NF9ncnBibGtfdCBhZGQpOwogCiAKIC8qIGlub2RlLmMgKi8KK3ZvaWQgZXh0NF9kYV9yZWxlYXNlX3NwYWNlKHN0cnVjdCBpbm9kZSAqaW5vZGUsIGludCB1c2VkLCBpbnQgdG9fZnJlZSk7CiBpbnQgZXh0NF9mb3JnZXQoaGFuZGxlX3QgKmhhbmRsZSwgaW50IGlzX21ldGFkYXRhLCBzdHJ1Y3QgaW5vZGUgKmlub2RlLAogCQlzdHJ1Y3QgYnVmZmVyX2hlYWQgKmJoLCBleHQ0X2ZzYmxrX3QgYmxvY2tucik7CiBzdHJ1Y3QgYnVmZmVyX2hlYWQgKmV4dDRfZ2V0YmxrKGhhbmRsZV90ICosIHN0cnVjdCBpbm9kZSAqLApAQCAtMTAzMywxOSArMTA1OSwyMyBAQAogZXh0ZXJuIHN0cnVjdCBpbm9kZSAqZXh0NF9pZ2V0KHN0cnVjdCBzdXBlcl9ibG9jayAqLCB1bnNpZ25lZCBsb25nKTsKIGV4dGVybiBpbnQgIGV4dDRfd3JpdGVfaW5vZGUgKHN0cnVjdCBpbm9kZSAqLCBpbnQpOwogZXh0ZXJuIGludCAgZXh0NF9zZXRhdHRyIChzdHJ1Y3QgZGVudHJ5ICosIHN0cnVjdCBpYXR0ciAqKTsKK2V4dGVybiBpbnQgIGV4dDRfZ2V0YXR0cihzdHJ1Y3QgdmZzbW91bnQgKm1udCwgc3RydWN0IGRlbnRyeSAqZGVudHJ5LAorCQkJCXN0cnVjdCBrc3RhdCAqc3RhdCk7CiBleHRlcm4gdm9pZCBleHQ0X2RlbGV0ZV9pbm9kZSAoc3RydWN0IGlub2RlICopOwogZXh0ZXJuIGludCAgZXh0NF9zeW5jX2lub2RlIChoYW5kbGVfdCAqLCBzdHJ1Y3QgaW5vZGUgKik7CiBleHRlcm4gdm9pZCBleHQ0X2Rpc2NhcmRfcmVzZXJ2YXRpb24gKHN0cnVjdCBpbm9kZSAqKTsKIGV4dGVybiB2b2lkIGV4dDRfZGlydHlfaW5vZGUoc3RydWN0IGlub2RlICopOwogZXh0ZXJuIGludCBleHQ0X2NoYW5nZV9pbm9kZV9qb3VybmFsX2ZsYWcoc3RydWN0IGlub2RlICosIGludCk7CiBleHRlcm4gaW50IGV4dDRfZ2V0X2lub2RlX2xvYyhzdHJ1Y3QgaW5vZGUgKiwgc3RydWN0IGV4dDRfaWxvYyAqKTsKK2V4dGVybiBpbnQgZXh0NF9jYW5fdHJ1bmNhdGUoc3RydWN0IGlub2RlICppbm9kZSk7CiBleHRlcm4gdm9pZCBleHQ0X3RydW5jYXRlIChzdHJ1Y3QgaW5vZGUgKik7CiBleHRlcm4gdm9pZCBleHQ0X3NldF9pbm9kZV9mbGFncyhzdHJ1Y3QgaW5vZGUgKik7CiBleHRlcm4gdm9pZCBleHQ0X2dldF9pbm9kZV9mbGFncyhzdHJ1Y3QgZXh0NF9pbm9kZV9pbmZvICopOwogZXh0ZXJuIHZvaWQgZXh0NF9zZXRfYW9wcyhzdHJ1Y3QgaW5vZGUgKmlub2RlKTsKIGV4dGVybiBpbnQgZXh0NF93cml0ZXBhZ2VfdHJhbnNfYmxvY2tzKHN0cnVjdCBpbm9kZSAqKTsKLWV4dGVybiBpbnQgZXh0NF9ibG9ja190cnVuY2F0ZV9wYWdlKGhhbmRsZV90ICpoYW5kbGUsIHN0cnVjdCBwYWdlICpwYWdlLAorZXh0ZXJuIGludCBleHQ0X2Jsb2NrX3RydW5jYXRlX3BhZ2UoaGFuZGxlX3QgKmhhbmRsZSwKIAkJc3RydWN0IGFkZHJlc3Nfc3BhY2UgKm1hcHBpbmcsIGxvZmZfdCBmcm9tKTsKK2V4dGVybiBpbnQgZXh0NF9wYWdlX21rd3JpdGUoc3RydWN0IHZtX2FyZWFfc3RydWN0ICp2bWEsIHN0cnVjdCBwYWdlICpwYWdlKTsKIAogLyogaW9jdGwuYyAqLwogZXh0ZXJuIGxvbmcgZXh0NF9pb2N0bChzdHJ1Y3QgZmlsZSAqLCB1bnNpZ25lZCBpbnQsIHVuc2lnbmVkIGxvbmcpOwpAQCAtMTE1OSwxMCArMTE4OSwyMSBAQAogfQogCiAKK3N0YXRpYyBpbmxpbmUgZXh0NF9ncm91cF90IGV4dDRfZmxleF9ncm91cChzdHJ1Y3QgZXh0NF9zYl9pbmZvICpzYmksCisJCQkJCSAgICAgZXh0NF9ncm91cF90IGJsb2NrX2dyb3VwKQoreworCXJldHVybiBibG9ja19ncm91cCA+PiBzYmktPnNfbG9nX2dyb3Vwc19wZXJfZmxleDsKK30KKworc3RhdGljIGlubGluZSB1bnNpZ25lZCBpbnQgZXh0NF9mbGV4X2JnX3NpemUoc3RydWN0IGV4dDRfc2JfaW5mbyAqc2JpKQoreworCXJldHVybiAxIDw8IHNiaS0+c19sb2dfZ3JvdXBzX3Blcl9mbGV4OworfQorCiAjZGVmaW5lIGV4dDRfc3RkX2Vycm9yKHNiLCBlcnJubykJCQkJXAogZG8gewkJCQkJCQkJXAogCWlmICgoZXJybm8pKQkJCQkJCVwKLQkJX19leHQ0X3N0ZF9lcnJvcigoc2IpLCBfX0ZVTkNUSU9OX18sIChlcnJubykpOwlcCisJCV9fZXh0NF9zdGRfZXJyb3IoKHNiKSwgX19mdW5jX18sIChlcnJubykpOwlcCiB9IHdoaWxlICgwKQogCiAvKgpAQCAtMTE5MSw3ICsxMjMyLDcgQEAKIAkJCWV4dDRfbGJsa190IGlibG9jaywKIAkJCXVuc2lnbmVkIGxvbmcgbWF4X2Jsb2Nrcywgc3RydWN0IGJ1ZmZlcl9oZWFkICpiaF9yZXN1bHQsCiAJCQlpbnQgY3JlYXRlLCBpbnQgZXh0ZW5kX2Rpc2tzaXplKTsKLWV4dGVybiB2b2lkIGV4dDRfZXh0X3RydW5jYXRlKHN0cnVjdCBpbm9kZSAqLCBzdHJ1Y3QgcGFnZSAqKTsKK2V4dGVybiB2b2lkIGV4dDRfZXh0X3RydW5jYXRlKHN0cnVjdCBpbm9kZSAqKTsKIGV4dGVybiB2b2lkIGV4dDRfZXh0X2luaXQoc3RydWN0IHN1cGVyX2Jsb2NrICopOwogZXh0ZXJuIHZvaWQgZXh0NF9leHRfcmVsZWFzZShzdHJ1Y3Qgc3VwZXJfYmxvY2sgKik7CiBleHRlcm4gbG9uZyBleHQ0X2ZhbGxvY2F0ZShzdHJ1Y3QgaW5vZGUgKmlub2RlLCBpbnQgbW9kZSwgbG9mZl90IG9mZnNldCwKQEAgLTExOTksNyArMTI0MCw3IEBACiBleHRlcm4gaW50IGV4dDRfZ2V0X2Jsb2Nrc193cmFwKGhhbmRsZV90ICpoYW5kbGUsIHN0cnVjdCBpbm9kZSAqaW5vZGUsCiAJCQlzZWN0b3JfdCBibG9jaywgdW5zaWduZWQgbG9uZyBtYXhfYmxvY2tzLAogCQkJc3RydWN0IGJ1ZmZlcl9oZWFkICpiaCwgaW50IGNyZWF0ZSwKLQkJCWludCBleHRlbmRfZGlza3NpemUpOworCQkJaW50IGV4dGVuZF9kaXNrc2l6ZSwgaW50IGZsYWcpOwogI2VuZGlmCS8qIF9fS0VSTkVMX18gKi8KIAogI2VuZGlmCS8qIF9FWFQ0X0ggKi8KZGlmZiAtLWdpdCBhL2ZzL2V4dDQvZXh0NF9leHRlbnRzLmggYi9mcy9leHQ0L2V4dDRfZXh0ZW50cy5oCmluZGV4IDc1MzMzYjUuLjZjMTY2YzAgMTAwNjQ0Ci0tLSBhL2ZzL2V4dDQvZXh0NF9leHRlbnRzLmgKKysrIGIvZnMvZXh0NC9leHQ0X2V4dGVudHMuaApAQCAtMjEyLDYgKzIxMiw3IEBACiAJCShsZTE2X3RvX2NwdShleHQtPmVlX2xlbikgLSBFWFRfSU5JVF9NQVhfTEVOKSk7CiB9CiAKK2V4dGVybiBpbnQgZXh0NF9leHRfY2FsY19tZXRhZGF0YV9hbW91bnQoc3RydWN0IGlub2RlICppbm9kZSwgaW50IGJsb2Nrcyk7CiBleHRlcm4gZXh0NF9mc2Jsa190IGlkeF9wYmxvY2soc3RydWN0IGV4dDRfZXh0ZW50X2lkeCAqKTsKIGV4dGVybiB2b2lkIGV4dDRfZXh0X3N0b3JlX3BibG9jayhzdHJ1Y3QgZXh0NF9leHRlbnQgKiwgZXh0NF9mc2Jsa190KTsKIGV4dGVybiBpbnQgZXh0NF9leHRlbnRfdHJlZV9pbml0KGhhbmRsZV90ICosIHN0cnVjdCBpbm9kZSAqKTsKZGlmZiAtLWdpdCBhL2ZzL2V4dDQvZXh0NF9pLmggYi9mcy9leHQ0L2V4dDRfaS5oCmluZGV4IDI2YTRhZTIuLmVmNzQwOWYgMTAwNjQ0Ci0tLSBhL2ZzL2V4dDQvZXh0NF9pLmgKKysrIGIvZnMvZXh0NC9leHQ0X2kuaApAQCAtNzksNyArNzksNyBAQAogfTsKIAogLyoKLSAqIHRoaXJkIGV4dGVuZGVkIGZpbGUgc3lzdGVtIGlub2RlIGRhdGEgaW4gbWVtb3J5CisgKiBmb3VydGggZXh0ZW5kZWQgZmlsZSBzeXN0ZW0gaW5vZGUgZGF0YSBpbiBtZW1vcnkKICAqLwogc3RydWN0IGV4dDRfaW5vZGVfaW5mbyB7CiAJX19sZTMyCWlfZGF0YVsxNV07CS8qIHVuY29udmVydGVkICovCkBAIC0xNTAsNiArMTUwLDcgQEAKIAkgKi8KIAlzdHJ1Y3Qgcndfc2VtYXBob3JlIGlfZGF0YV9zZW07CiAJc3RydWN0IGlub2RlIHZmc19pbm9kZTsKKwlzdHJ1Y3QgamJkMl9pbm9kZSBqaW5vZGU7CiAKIAl1bnNpZ25lZCBsb25nIGlfZXh0X2dlbmVyYXRpb247CiAJc3RydWN0IGV4dDRfZXh0X2NhY2hlIGlfY2FjaGVkX2V4dGVudDsKQEAgLTE2Miw2ICsxNjMsMTMgQEAKIAkvKiBtYmFsbG9jICovCiAJc3RydWN0IGxpc3RfaGVhZCBpX3ByZWFsbG9jX2xpc3Q7CiAJc3BpbmxvY2tfdCBpX3ByZWFsbG9jX2xvY2s7CisKKwkvKiBhbGxvY2F0aW9uIHJlc2VydmF0aW9uIGluZm8gZm9yIGRlbGFsbG9jICovCisJdW5zaWduZWQgbG9uZyBpX3Jlc2VydmVkX2RhdGFfYmxvY2tzOworCXVuc2lnbmVkIGxvbmcgaV9yZXNlcnZlZF9tZXRhX2Jsb2NrczsKKwl1bnNpZ25lZCBsb25nIGlfYWxsb2NhdGVkX21ldGFfYmxvY2tzOworCXVuc2lnbmVkIHNob3J0IGlfZGVsYWxsb2NfcmVzZXJ2ZWRfZmxhZzsKKwlzcGlubG9ja190IGlfYmxvY2tfcmVzZXJ2YXRpb25fbG9jazsKIH07CiAKICNlbmRpZgkvKiBfRVhUNF9JICovCmRpZmYgLS1naXQgYS9mcy9leHQ0L2V4dDRfamJkMi5oIGIvZnMvZXh0NC9leHQ0X2piZDIuaAppbmRleCA5MjU1YTdkMi4uZWI4YmMzYSAxMDA2NDQKLS0tIGEvZnMvZXh0NC9leHQ0X2piZDIuaAorKysgYi9mcy9leHQ0L2V4dDRfamJkMi5oCkBAIC0xNDIsMTkgKzE0MiwxNyBAQAogCQkJCWhhbmRsZV90ICpoYW5kbGUsIHN0cnVjdCBidWZmZXJfaGVhZCAqYmgpOwogCiAjZGVmaW5lIGV4dDRfam91cm5hbF9nZXRfdW5kb19hY2Nlc3MoaGFuZGxlLCBiaCkgXAotCV9fZXh0NF9qb3VybmFsX2dldF91bmRvX2FjY2VzcyhfX0ZVTkNUSU9OX18sIChoYW5kbGUpLCAoYmgpKQorCV9fZXh0NF9qb3VybmFsX2dldF91bmRvX2FjY2VzcyhfX2Z1bmNfXywgKGhhbmRsZSksIChiaCkpCiAjZGVmaW5lIGV4dDRfam91cm5hbF9nZXRfd3JpdGVfYWNjZXNzKGhhbmRsZSwgYmgpIFwKLQlfX2V4dDRfam91cm5hbF9nZXRfd3JpdGVfYWNjZXNzKF9fRlVOQ1RJT05fXywgKGhhbmRsZSksIChiaCkpCisJX19leHQ0X2pvdXJuYWxfZ2V0X3dyaXRlX2FjY2VzcyhfX2Z1bmNfXywgKGhhbmRsZSksIChiaCkpCiAjZGVmaW5lIGV4dDRfam91cm5hbF9yZXZva2UoaGFuZGxlLCBibG9ja25yLCBiaCkgXAotCV9fZXh0NF9qb3VybmFsX3Jldm9rZShfX0ZVTkNUSU9OX18sIChoYW5kbGUpLCAoYmxvY2tuciksIChiaCkpCisJX19leHQ0X2pvdXJuYWxfcmV2b2tlKF9fZnVuY19fLCAoaGFuZGxlKSwgKGJsb2NrbnIpLCAoYmgpKQogI2RlZmluZSBleHQ0X2pvdXJuYWxfZ2V0X2NyZWF0ZV9hY2Nlc3MoaGFuZGxlLCBiaCkgXAotCV9fZXh0NF9qb3VybmFsX2dldF9jcmVhdGVfYWNjZXNzKF9fRlVOQ1RJT05fXywgKGhhbmRsZSksIChiaCkpCisJX19leHQ0X2pvdXJuYWxfZ2V0X2NyZWF0ZV9hY2Nlc3MoX19mdW5jX18sIChoYW5kbGUpLCAoYmgpKQogI2RlZmluZSBleHQ0X2pvdXJuYWxfZGlydHlfbWV0YWRhdGEoaGFuZGxlLCBiaCkgXAotCV9fZXh0NF9qb3VybmFsX2RpcnR5X21ldGFkYXRhKF9fRlVOQ1RJT05fXywgKGhhbmRsZSksIChiaCkpCisJX19leHQ0X2pvdXJuYWxfZGlydHlfbWV0YWRhdGEoX19mdW5jX18sIChoYW5kbGUpLCAoYmgpKQogI2RlZmluZSBleHQ0X2pvdXJuYWxfZm9yZ2V0KGhhbmRsZSwgYmgpIFwKLQlfX2V4dDRfam91cm5hbF9mb3JnZXQoX19GVU5DVElPTl9fLCAoaGFuZGxlKSwgKGJoKSkKLQotaW50IGV4dDRfam91cm5hbF9kaXJ0eV9kYXRhKGhhbmRsZV90ICpoYW5kbGUsIHN0cnVjdCBidWZmZXJfaGVhZCAqYmgpOworCV9fZXh0NF9qb3VybmFsX2ZvcmdldChfX2Z1bmNfXywgKGhhbmRsZSksIChiaCkpCiAKIGhhbmRsZV90ICpleHQ0X2pvdXJuYWxfc3RhcnRfc2Ioc3RydWN0IHN1cGVyX2Jsb2NrICpzYiwgaW50IG5ibG9ja3MpOwogaW50IF9fZXh0NF9qb3VybmFsX3N0b3AoY29uc3QgY2hhciAqd2hlcmUsIGhhbmRsZV90ICpoYW5kbGUpOwpAQCAtMTY1LDcgKzE2Myw3IEBACiB9CiAKICNkZWZpbmUgZXh0NF9qb3VybmFsX3N0b3AoaGFuZGxlKSBcCi0JX19leHQ0X2pvdXJuYWxfc3RvcChfX0ZVTkNUSU9OX18sIChoYW5kbGUpKQorCV9fZXh0NF9qb3VybmFsX3N0b3AoX19mdW5jX18sIChoYW5kbGUpKQogCiBzdGF0aWMgaW5saW5lIGhhbmRsZV90ICpleHQ0X2pvdXJuYWxfY3VycmVudF9oYW5kbGUodm9pZCkKIHsKQEAgLTE5Miw2ICsxOTAsMTEgQEAKIAlyZXR1cm4gamJkMl9qb3VybmFsX2ZvcmNlX2NvbW1pdChqb3VybmFsKTsKIH0KIAorc3RhdGljIGlubGluZSBpbnQgZXh0NF9qYmQyX2ZpbGVfaW5vZGUoaGFuZGxlX3QgKmhhbmRsZSwgc3RydWN0IGlub2RlICppbm9kZSkKK3sKKwlyZXR1cm4gamJkMl9qb3VybmFsX2ZpbGVfaW5vZGUoaGFuZGxlLCAmRVhUNF9JKGlub2RlKS0+amlub2RlKTsKK30KKwogLyogc3VwZXIuYyAqLwogaW50IGV4dDRfZm9yY2VfY29tbWl0KHN0cnVjdCBzdXBlcl9ibG9jayAqc2IpOwogCmRpZmYgLS1naXQgYS9mcy9leHQ0L2V4dDRfc2IuaCBiL2ZzL2V4dDQvZXh0NF9zYi5oCmluZGV4IDU4MDJlNjkuLjYzMDAyMjYgMTAwNjQ0Ci0tLSBhL2ZzL2V4dDQvZXh0NF9zYi5oCisrKyBiL2ZzL2V4dDQvZXh0NF9zYi5oCkBAIC0yNSw3ICsyNSw3IEBACiAjaW5jbHVkZSA8bGludXgvcmJ0cmVlLmg+CiAKIC8qCi0gKiB0aGlyZCBleHRlbmRlZC1mcyBzdXBlci1ibG9jayBkYXRhIGluIG1lbW9yeQorICogZm91cnRoIGV4dGVuZGVkLWZzIHN1cGVyLWJsb2NrIGRhdGEgaW4gbWVtb3J5CiAgKi8KIHN0cnVjdCBleHQ0X3NiX2luZm8gewogCXVuc2lnbmVkIGxvbmcgc19kZXNjX3NpemU7CS8qIFNpemUgb2YgYSBncm91cCBkZXNjcmlwdG9yIGluIGJ5dGVzICovCkBAIC0xNDMsNiArMTQzLDkgQEAKIAogCS8qIGxvY2FsaXR5IGdyb3VwcyAqLwogCXN0cnVjdCBleHQ0X2xvY2FsaXR5X2dyb3VwICpzX2xvY2FsaXR5X2dyb3VwczsKKworCXVuc2lnbmVkIGludCBzX2xvZ19ncm91cHNfcGVyX2ZsZXg7CisJc3RydWN0IGZsZXhfZ3JvdXBzICpzX2ZsZXhfZ3JvdXBzOwogfTsKIAogI2VuZGlmCS8qIF9FWFQ0X1NCICovCmRpZmYgLS1naXQgYS9mcy9leHQ0L2V4dGVudHMuYyBiL2ZzL2V4dDQvZXh0ZW50cy5jCmluZGV4IDQ3OTI5YzQuLjQyYzRjMGMgMTAwNjQ0Ci0tLSBhL2ZzL2V4dDQvZXh0ZW50cy5jCisrKyBiL2ZzL2V4dDQvZXh0ZW50cy5jCkBAIC05MiwxNyArOTIsMTYgQEAKIAlpeC0+ZWlfbGVhZl9oaSA9IGNwdV90b19sZTE2KCh1bnNpZ25lZCBsb25nKSAoKHBiID4+IDMxKSA+PiAxKSAmIDB4ZmZmZik7CiB9CiAKLXN0YXRpYyBoYW5kbGVfdCAqZXh0NF9leHRfam91cm5hbF9yZXN0YXJ0KGhhbmRsZV90ICpoYW5kbGUsIGludCBuZWVkZWQpCitzdGF0aWMgaW50IGV4dDRfZXh0X2pvdXJuYWxfcmVzdGFydChoYW5kbGVfdCAqaGFuZGxlLCBpbnQgbmVlZGVkKQogewogCWludCBlcnI7CiAKIAlpZiAoaGFuZGxlLT5oX2J1ZmZlcl9jcmVkaXRzID4gbmVlZGVkKQotCQlyZXR1cm4gaGFuZGxlOwotCWlmICghZXh0NF9qb3VybmFsX2V4dGVuZChoYW5kbGUsIG5lZWRlZCkpCi0JCXJldHVybiBoYW5kbGU7Ci0JZXJyID0gZXh0NF9qb3VybmFsX3Jlc3RhcnQoaGFuZGxlLCBuZWVkZWQpOwotCi0JcmV0dXJuIGhhbmRsZTsKKwkJcmV0dXJuIDA7CisJZXJyID0gZXh0NF9qb3VybmFsX2V4dGVuZChoYW5kbGUsIG5lZWRlZCk7CisJaWYgKGVycikKKwkJcmV0dXJuIGVycjsKKwlyZXR1cm4gZXh0NF9qb3VybmFsX3Jlc3RhcnQoaGFuZGxlLCBuZWVkZWQpOwogfQogCiAvKgpAQCAtMTgwLDE1ICsxNzksMTggQEAKIAlyZXR1cm4gYmdfc3RhcnQgKyBjb2xvdXIgKyBibG9jazsKIH0KIAorLyoKKyAqIEFsbG9jYXRpb24gZm9yIGEgbWV0YSBkYXRhIGJsb2NrCisgKi8KIHN0YXRpYyBleHQ0X2ZzYmxrX3QKLWV4dDRfZXh0X25ld19ibG9jayhoYW5kbGVfdCAqaGFuZGxlLCBzdHJ1Y3QgaW5vZGUgKmlub2RlLAorZXh0NF9leHRfbmV3X21ldGFfYmxvY2soaGFuZGxlX3QgKmhhbmRsZSwgc3RydWN0IGlub2RlICppbm9kZSwKIAkJCXN0cnVjdCBleHQ0X2V4dF9wYXRoICpwYXRoLAogCQkJc3RydWN0IGV4dDRfZXh0ZW50ICpleCwgaW50ICplcnIpCiB7CiAJZXh0NF9mc2Jsa190IGdvYWwsIG5ld2Jsb2NrOwogCiAJZ29hbCA9IGV4dDRfZXh0X2ZpbmRfZ29hbChpbm9kZSwgcGF0aCwgbGUzMl90b19jcHUoZXgtPmVlX2Jsb2NrKSk7Ci0JbmV3YmxvY2sgPSBleHQ0X25ld19ibG9jayhoYW5kbGUsIGlub2RlLCBnb2FsLCBlcnIpOworCW5ld2Jsb2NrID0gZXh0NF9uZXdfbWV0YV9ibG9jayhoYW5kbGUsIGlub2RlLCBnb2FsLCBlcnIpOwogCXJldHVybiBuZXdibG9jazsKIH0KIApAQCAtMjQ2LDYgKzI0OCwzNiBAQAogCXJldHVybiBzaXplOwogfQogCisvKgorICogQ2FsY3VsYXRlIHRoZSBudW1iZXIgb2YgbWV0YWRhdGEgYmxvY2tzIG5lZWRlZAorICogdG8gYWxsb2NhdGUgQGJsb2NrcworICogV29yc2UgY2FzZSBpcyBvbmUgYmxvY2sgcGVyIGV4dGVudAorICovCitpbnQgZXh0NF9leHRfY2FsY19tZXRhZGF0YV9hbW91bnQoc3RydWN0IGlub2RlICppbm9kZSwgaW50IGJsb2NrcykKK3sKKwlpbnQgbGNhcCwgaWNhcCwgcmNhcCwgbGVhZnMsIGlkeHMsIG51bTsKKwlpbnQgbmV3ZXh0ZW50cyA9IGJsb2NrczsKKworCXJjYXAgPSBleHQ0X2V4dF9zcGFjZV9yb290X2lkeChpbm9kZSk7CisJbGNhcCA9IGV4dDRfZXh0X3NwYWNlX2Jsb2NrKGlub2RlKTsKKwlpY2FwID0gZXh0NF9leHRfc3BhY2VfYmxvY2tfaWR4KGlub2RlKTsKKworCS8qIG51bWJlciBvZiBuZXcgbGVhZiBibG9ja3MgbmVlZGVkICovCisJbnVtID0gbGVhZnMgPSAobmV3ZXh0ZW50cyArIGxjYXAgLSAxKSAvIGxjYXA7CisKKwkvKgorCSAqIFdvcnNlIGNhc2UsIHdlIG5lZWQgc2VwYXJhdGUgaW5kZXggYmxvY2socykKKwkgKiB0byBsaW5rIGFsbCBuZXcgbGVhZiBibG9ja3MKKwkgKi8KKwlpZHhzID0gKGxlYWZzICsgaWNhcCAtIDEpIC8gaWNhcDsKKwlkbyB7CisJCW51bSArPSBpZHhzOworCQlpZHhzID0gKGlkeHMgKyBpY2FwIC0gMSkgLyBpY2FwOworCX0gd2hpbGUgKGlkeHMgPiByY2FwKTsKKworCXJldHVybiBudW07Cit9CisKIHN0YXRpYyBpbnQKIGV4dDRfZXh0X21heF9lbnRyaWVzKHN0cnVjdCBpbm9kZSAqaW5vZGUsIGludCBkZXB0aCkKIHsKQEAgLTUyNCw2ICs1NTYsNyBAQAogCQlhbGxvYyA9IDE7CiAJfQogCXBhdGhbMF0ucF9oZHIgPSBlaDsKKwlwYXRoWzBdLnBfYmggPSBOVUxMOwogCiAJaSA9IGRlcHRoOwogCS8qIHdhbGsgdGhyb3VnaCB0aGUgdHJlZSAqLwpAQCAtNTUyLDEyICs1ODUsMTQgQEAKIAl9CiAKIAlwYXRoW3Bwb3NdLnBfZGVwdGggPSBpOwotCXBhdGhbcHBvc10ucF9oZHIgPSBlaDsKIAlwYXRoW3Bwb3NdLnBfZXh0ID0gTlVMTDsKIAlwYXRoW3Bwb3NdLnBfaWR4ID0gTlVMTDsKIAogCS8qIGZpbmQgZXh0ZW50ICovCiAJZXh0NF9leHRfYmluc2VhcmNoKGlub2RlLCBwYXRoICsgcHBvcywgYmxvY2spOworCS8qIGlmIG5vdCBhbiBlbXB0eSBsZWFmICovCisJaWYgKHBhdGhbcHBvc10ucF9leHQpCisJCXBhdGhbcHBvc10ucF9ibG9jayA9IGV4dF9wYmxvY2socGF0aFtwcG9zXS5wX2V4dCk7CiAKIAlleHQ0X2V4dF9zaG93X3BhdGgoaW5vZGUsIHBhdGgpOwogCkBAIC02ODgsNyArNzIzLDggQEAKIAkvKiBhbGxvY2F0ZSBhbGwgbmVlZGVkIGJsb2NrcyAqLwogCWV4dF9kZWJ1ZygiYWxsb2NhdGUgJWQgYmxvY2tzIGZvciBpbmRleGVzL2xlYWZcbiIsIGRlcHRoIC0gYXQpOwogCWZvciAoYSA9IDA7IGEgPCBkZXB0aCAtIGF0OyBhKyspIHsKLQkJbmV3YmxvY2sgPSBleHQ0X2V4dF9uZXdfYmxvY2soaGFuZGxlLCBpbm9kZSwgcGF0aCwgbmV3ZXh0LCAmZXJyKTsKKwkJbmV3YmxvY2sgPSBleHQ0X2V4dF9uZXdfbWV0YV9ibG9jayhoYW5kbGUsIGlub2RlLCBwYXRoLAorCQkJCQkJICAgbmV3ZXh0LCAmZXJyKTsKIAkJaWYgKG5ld2Jsb2NrID09IDApCiAJCQlnb3RvIGNsZWFudXA7CiAJCWFibG9ja3NbYV0gPSBuZXdibG9jazsKQEAgLTg4NCw3ICs5MjAsNyBAQAogCWV4dDRfZnNibGtfdCBuZXdibG9jazsKIAlpbnQgZXJyID0gMDsKIAotCW5ld2Jsb2NrID0gZXh0NF9leHRfbmV3X2Jsb2NrKGhhbmRsZSwgaW5vZGUsIHBhdGgsIG5ld2V4dCwgJmVycik7CisJbmV3YmxvY2sgPSBleHQ0X2V4dF9uZXdfbWV0YV9ibG9jayhoYW5kbGUsIGlub2RlLCBwYXRoLCBuZXdleHQsICZlcnIpOwogCWlmIChuZXdibG9jayA9PSAwKQogCQlyZXR1cm4gZXJyOwogCkBAIC05ODEsNiArMTAxNyw4IEBACiAJCS8qIGlmIHdlIGZvdW5kIGluZGV4IHdpdGggZnJlZSBlbnRyeSwgdGhlbiB1c2UgdGhhdAogCQkgKiBlbnRyeTogY3JlYXRlIGFsbCBuZWVkZWQgc3VidHJlZSBhbmQgYWRkIG5ldyBsZWFmICovCiAJCWVyciA9IGV4dDRfZXh0X3NwbGl0KGhhbmRsZSwgaW5vZGUsIHBhdGgsIG5ld2V4dCwgaSk7CisJCWlmIChlcnIpCisJCQlnb3RvIG91dDsKIAogCQkvKiByZWZpbGwgcGF0aCAqLwogCQlleHQ0X2V4dF9kcm9wX3JlZnMocGF0aCk7CkBAIC0xODgzLDExICsxOTIxLDkgQEAKIAkJY3JlZGl0cyArPSAyICogRVhUNF9RVU9UQV9UUkFOU19CTE9DS1MoaW5vZGUtPmlfc2IpOwogI2VuZGlmCiAKLQkJaGFuZGxlID0gZXh0NF9leHRfam91cm5hbF9yZXN0YXJ0KGhhbmRsZSwgY3JlZGl0cyk7Ci0JCWlmIChJU19FUlIoaGFuZGxlKSkgewotCQkJZXJyID0gUFRSX0VSUihoYW5kbGUpOworCQllcnIgPSBleHQ0X2V4dF9qb3VybmFsX3Jlc3RhcnQoaGFuZGxlLCBjcmVkaXRzKTsKKwkJaWYgKGVycikKIAkJCWdvdG8gb3V0OwotCQl9CiAKIAkJZXJyID0gZXh0NF9leHRfZ2V0X2FjY2VzcyhoYW5kbGUsIGlub2RlLCBwYXRoICsgZGVwdGgpOwogCQlpZiAoZXJyKQpAQCAtMjUyOSw2ICsyNTY1LDcgQEAKIAlpbnQgZXJyID0gMCwgZGVwdGgsIHJldDsKIAl1bnNpZ25lZCBsb25nIGFsbG9jYXRlZCA9IDA7CiAJc3RydWN0IGV4dDRfYWxsb2NhdGlvbl9yZXF1ZXN0IGFyOworCWxvZmZfdCBkaXNrc2l6ZTsKIAogCV9fY2xlYXJfYml0KEJIX05ldywgJmJoX3Jlc3VsdC0+Yl9zdGF0ZSk7CiAJZXh0X2RlYnVnKCJibG9ja3MgJXUvJWx1IHJlcXVlc3RlZCBmb3IgaW5vZGUgJXVcbiIsCkBAIC0yNjE2LDggKzI2NTMsNyBAQAogCQkJCSAqLwogCQkJCWlmIChhbGxvY2F0ZWQgPiBtYXhfYmxvY2tzKQogCQkJCQlhbGxvY2F0ZWQgPSBtYXhfYmxvY2tzOwotCQkJCS8qIG1hcmsgdGhlIGJ1ZmZlciB1bndyaXR0ZW4gKi8KLQkJCQlfX3NldF9iaXQoQkhfVW53cml0dGVuLCAmYmhfcmVzdWx0LT5iX3N0YXRlKTsKKwkJCQlzZXRfYnVmZmVyX3Vud3JpdHRlbihiaF9yZXN1bHQpOwogCQkJCWdvdG8gb3V0MjsKIAkJCX0KIApAQCAtMjcxNiwxNCArMjc1MiwxOSBAQAogCQlnb3RvIG91dDI7CiAJfQogCi0JaWYgKGV4dGVuZF9kaXNrc2l6ZSAmJiBpbm9kZS0+aV9zaXplID4gRVhUNF9JKGlub2RlKS0+aV9kaXNrc2l6ZSkKLQkJRVhUNF9JKGlub2RlKS0+aV9kaXNrc2l6ZSA9IGlub2RlLT5pX3NpemU7Ci0KIAkvKiBwcmV2aW91cyByb3V0aW5lIGNvdWxkIHVzZSBibG9jayB3ZSBhbGxvY2F0ZWQgKi8KIAluZXdibG9jayA9IGV4dF9wYmxvY2soJm5ld2V4KTsKIAlhbGxvY2F0ZWQgPSBleHQ0X2V4dF9nZXRfYWN0dWFsX2xlbigmbmV3ZXgpOwogb3V0bmV3OgotCV9fc2V0X2JpdChCSF9OZXcsICZiaF9yZXN1bHQtPmJfc3RhdGUpOworCWlmIChleHRlbmRfZGlza3NpemUpIHsKKwkJZGlza3NpemUgPSAoKGxvZmZfdCkgaWJsb2NrICsgYXIubGVuKSA8PCBpbm9kZS0+aV9ibGtiaXRzOworCQlpZiAoZGlza3NpemUgPiBpX3NpemVfcmVhZChpbm9kZSkpCisJCQlkaXNrc2l6ZSA9IGlfc2l6ZV9yZWFkKGlub2RlKTsKKwkJaWYgKGRpc2tzaXplID4gRVhUNF9JKGlub2RlKS0+aV9kaXNrc2l6ZSkKKwkJCUVYVDRfSShpbm9kZSktPmlfZGlza3NpemUgPSBkaXNrc2l6ZTsKKwl9CisKKwlzZXRfYnVmZmVyX25ldyhiaF9yZXN1bHQpOwogCiAJLyogQ2FjaGUgb25seSB3aGVuIGl0IGlzIF9ub3RfIGFuIHVuaW5pdGlhbGl6ZWQgZXh0ZW50ICovCiAJaWYgKGNyZWF0ZSAhPSBFWFQ0X0NSRUFURV9VTklOSVRJQUxJWkVEX0VYVCkKQEAgLTI3MzMsNyArMjc3NCw3IEBACiAJaWYgKGFsbG9jYXRlZCA+IG1heF9ibG9ja3MpCiAJCWFsbG9jYXRlZCA9IG1heF9ibG9ja3M7CiAJZXh0NF9leHRfc2hvd19sZWFmKGlub2RlLCBwYXRoKTsKLQlfX3NldF9iaXQoQkhfTWFwcGVkLCAmYmhfcmVzdWx0LT5iX3N0YXRlKTsKKwlzZXRfYnVmZmVyX21hcHBlZChiaF9yZXN1bHQpOwogCWJoX3Jlc3VsdC0+Yl9iZGV2ID0gaW5vZGUtPmlfc2ItPnNfYmRldjsKIAliaF9yZXN1bHQtPmJfYmxvY2tuciA9IG5ld2Jsb2NrOwogb3V0MjoKQEAgLTI3NDQsNyArMjc4NSw3IEBACiAJcmV0dXJuIGVyciA/IGVyciA6IGFsbG9jYXRlZDsKIH0KIAotdm9pZCBleHQ0X2V4dF90cnVuY2F0ZShzdHJ1Y3QgaW5vZGUgKiBpbm9kZSwgc3RydWN0IHBhZ2UgKnBhZ2UpCit2b2lkIGV4dDRfZXh0X3RydW5jYXRlKHN0cnVjdCBpbm9kZSAqaW5vZGUpCiB7CiAJc3RydWN0IGFkZHJlc3Nfc3BhY2UgKm1hcHBpbmcgPSBpbm9kZS0+aV9tYXBwaW5nOwogCXN0cnVjdCBzdXBlcl9ibG9jayAqc2IgPSBpbm9kZS0+aV9zYjsKQEAgLTI3NTcsMTggKzI3OTgsMTQgQEAKIAkgKi8KIAllcnIgPSBleHQ0X3dyaXRlcGFnZV90cmFuc19ibG9ja3MoaW5vZGUpICsgMzsKIAloYW5kbGUgPSBleHQ0X2pvdXJuYWxfc3RhcnQoaW5vZGUsIGVycik7Ci0JaWYgKElTX0VSUihoYW5kbGUpKSB7Ci0JCWlmIChwYWdlKSB7Ci0JCQljbGVhcl9oaWdocGFnZShwYWdlKTsKLQkJCWZsdXNoX2RjYWNoZV9wYWdlKHBhZ2UpOwotCQkJdW5sb2NrX3BhZ2UocGFnZSk7Ci0JCQlwYWdlX2NhY2hlX3JlbGVhc2UocGFnZSk7Ci0JCX0KKwlpZiAoSVNfRVJSKGhhbmRsZSkpCiAJCXJldHVybjsKLQl9CiAKLQlpZiAocGFnZSkKLQkJZXh0NF9ibG9ja190cnVuY2F0ZV9wYWdlKGhhbmRsZSwgcGFnZSwgbWFwcGluZywgaW5vZGUtPmlfc2l6ZSk7CisJaWYgKGlub2RlLT5pX3NpemUgJiAoc2ItPnNfYmxvY2tzaXplIC0gMSkpCisJCWV4dDRfYmxvY2tfdHJ1bmNhdGVfcGFnZShoYW5kbGUsIG1hcHBpbmcsIGlub2RlLT5pX3NpemUpOworCisJaWYgKGV4dDRfb3JwaGFuX2FkZChoYW5kbGUsIGlub2RlKSkKKwkJZ290byBvdXRfc3RvcDsKIAogCWRvd25fd3JpdGUoJkVYVDRfSShpbm9kZSktPmlfZGF0YV9zZW0pOwogCWV4dDRfZXh0X2ludmFsaWRhdGVfY2FjaGUoaW5vZGUpOwpAQCAtMjc4MCw4ICsyODE3LDYgQEAKIAkgKiBQcm9iYWJseSB3ZSBuZWVkIG5vdCBzY2FuIGF0IGFsbCwKIAkgKiBiZWNhdXNlIHBhZ2UgdHJ1bmNhdGlvbiBpcyBlbm91Z2guCiAJICovCi0JaWYgKGV4dDRfb3JwaGFuX2FkZChoYW5kbGUsIGlub2RlKSkKLQkJZ290byBvdXRfc3RvcDsKIAogCS8qIHdlIGhhdmUgdG8ga25vdyB3aGVyZSB0byB0cnVuY2F0ZSBmcm9tIGluIGNyYXNoIGNhc2UgKi8KIAlFWFQ0X0koaW5vZGUpLT5pX2Rpc2tzaXplID0gaW5vZGUtPmlfc2l6ZTsKQEAgLTI3OTgsNiArMjgzMyw3IEBACiAJCWhhbmRsZS0+aF9zeW5jID0gMTsKIAogb3V0X3N0b3A6CisJdXBfd3JpdGUoJkVYVDRfSShpbm9kZSktPmlfZGF0YV9zZW0pOwogCS8qCiAJICogSWYgdGhpcyB3YXMgYSBzaW1wbGUgZnRydW5jYXRlKCkgYW5kIHRoZSBmaWxlIHdpbGwgcmVtYWluIGFsaXZlLAogCSAqIHRoZW4gd2UgbmVlZCB0byBjbGVhciB1cCB0aGUgb3JwaGFuIHJlY29yZCB3aGljaCB3ZSBjcmVhdGVkIGFib3ZlLgpAQCAtMjgwOCw3ICsyODQ0LDYgQEAKIAlpZiAoaW5vZGUtPmlfbmxpbmspCiAJCWV4dDRfb3JwaGFuX2RlbChoYW5kbGUsIGlub2RlKTsKIAotCXVwX3dyaXRlKCZFWFQ0X0koaW5vZGUpLT5pX2RhdGFfc2VtKTsKIAlpbm9kZS0+aV9tdGltZSA9IGlub2RlLT5pX2N0aW1lID0gZXh0NF9jdXJyZW50X3RpbWUoaW5vZGUpOwogCWV4dDRfbWFya19pbm9kZV9kaXJ0eShoYW5kbGUsIGlub2RlKTsKIAlleHQ0X2pvdXJuYWxfc3RvcChoYW5kbGUpOwpAQCAtMjkxMSw3ICsyOTQ2LDcgQEAKIAkJfQogCQlyZXQgPSBleHQ0X2dldF9ibG9ja3Nfd3JhcChoYW5kbGUsIGlub2RlLCBibG9jaywKIAkJCQkJICBtYXhfYmxvY2tzLCAmbWFwX2JoLAotCQkJCQkgIEVYVDRfQ1JFQVRFX1VOSU5JVElBTElaRURfRVhULCAwKTsKKwkJCQkJICBFWFQ0X0NSRUFURV9VTklOSVRJQUxJWkVEX0VYVCwgMCwgMCk7CiAJCWlmIChyZXQgPD0gMCkgewogI2lmZGVmIEVYVDRGU19ERUJVRwogCQkJV0FSTl9PTihyZXQgPD0gMCk7CmRpZmYgLS1naXQgYS9mcy9leHQ0L2ZpbGUuYyBiL2ZzL2V4dDQvZmlsZS5jCmluZGV4IDQxNTliZTYuLjQzMGViNzkgMTAwNjQ0Ci0tLSBhL2ZzL2V4dDQvZmlsZS5jCisrKyBiL2ZzL2V4dDQvZmlsZS5jCkBAIC0xMjMsNiArMTIzLDIzIEBACiAJcmV0dXJuIHJldDsKIH0KIAorc3RhdGljIHN0cnVjdCB2bV9vcGVyYXRpb25zX3N0cnVjdCBleHQ0X2ZpbGVfdm1fb3BzID0geworCS5mYXVsdAkJPSBmaWxlbWFwX2ZhdWx0LAorCS5wYWdlX21rd3JpdGUgICA9IGV4dDRfcGFnZV9ta3dyaXRlLAorfTsKKworc3RhdGljIGludCBleHQ0X2ZpbGVfbW1hcChzdHJ1Y3QgZmlsZSAqZmlsZSwgc3RydWN0IHZtX2FyZWFfc3RydWN0ICp2bWEpCit7CisJc3RydWN0IGFkZHJlc3Nfc3BhY2UgKm1hcHBpbmcgPSBmaWxlLT5mX21hcHBpbmc7CisKKwlpZiAoIW1hcHBpbmctPmFfb3BzLT5yZWFkcGFnZSkKKwkJcmV0dXJuIC1FTk9FWEVDOworCWZpbGVfYWNjZXNzZWQoZmlsZSk7CisJdm1hLT52bV9vcHMgPSAmZXh0NF9maWxlX3ZtX29wczsKKwl2bWEtPnZtX2ZsYWdzIHw9IFZNX0NBTl9OT05MSU5FQVI7CisJcmV0dXJuIDA7Cit9CisKIGNvbnN0IHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgZXh0NF9maWxlX29wZXJhdGlvbnMgPSB7CiAJLmxsc2VlawkJPSBnZW5lcmljX2ZpbGVfbGxzZWVrLAogCS5yZWFkCQk9IGRvX3N5bmNfcmVhZCwKQEAgLTEzMyw3ICsxNTAsNyBAQAogI2lmZGVmIENPTkZJR19DT01QQVQKIAkuY29tcGF0X2lvY3RsCT0gZXh0NF9jb21wYXRfaW9jdGwsCiAjZW5kaWYKLQkubW1hcAkJPSBnZW5lcmljX2ZpbGVfbW1hcCwKKwkubW1hcAkJPSBleHQ0X2ZpbGVfbW1hcCwKIAkub3BlbgkJPSBnZW5lcmljX2ZpbGVfb3BlbiwKIAkucmVsZWFzZQk9IGV4dDRfcmVsZWFzZV9maWxlLAogCS5mc3luYwkJPSBleHQ0X3N5bmNfZmlsZSwKQEAgLTE0NCw2ICsxNjEsNyBAQAogY29uc3Qgc3RydWN0IGlub2RlX29wZXJhdGlvbnMgZXh0NF9maWxlX2lub2RlX29wZXJhdGlvbnMgPSB7CiAJLnRydW5jYXRlCT0gZXh0NF90cnVuY2F0ZSwKIAkuc2V0YXR0cgk9IGV4dDRfc2V0YXR0ciwKKwkuZ2V0YXR0cgk9IGV4dDRfZ2V0YXR0ciwKICNpZmRlZiBDT05GSUdfRVhUNERFVl9GU19YQVRUUgogCS5zZXR4YXR0cgk9IGdlbmVyaWNfc2V0eGF0dHIsCiAJLmdldHhhdHRyCT0gZ2VuZXJpY19nZXR4YXR0ciwKZGlmZiAtLWdpdCBhL2ZzL2V4dDQvZnN5bmMuYyBiL2ZzL2V4dDQvZnN5bmMuYwppbmRleCAxYzhiYTQ4Li5hNDVjMzczIDEwMDY0NAotLS0gYS9mcy9leHQ0L2ZzeW5jLmMKKysrIGIvZnMvZXh0NC9mc3luYy5jCkBAIC0yNyw2ICsyNyw3IEBACiAjaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KICNpbmNsdWRlIDxsaW51eC93cml0ZWJhY2suaD4KICNpbmNsdWRlIDxsaW51eC9qYmQyLmg+CisjaW5jbHVkZSA8bGludXgvYmxrZGV2Lmg+CiAjaW5jbHVkZSAiZXh0NC5oIgogI2luY2x1ZGUgImV4dDRfamJkMi5oIgogCkBAIC00NSw2ICs0Niw3IEBACiBpbnQgZXh0NF9zeW5jX2ZpbGUoc3RydWN0IGZpbGUgKiBmaWxlLCBzdHJ1Y3QgZGVudHJ5ICpkZW50cnksIGludCBkYXRhc3luYykKIHsKIAlzdHJ1Y3QgaW5vZGUgKmlub2RlID0gZGVudHJ5LT5kX2lub2RlOworCWpvdXJuYWxfdCAqam91cm5hbCA9IEVYVDRfU0IoaW5vZGUtPmlfc2IpLT5zX2pvdXJuYWw7CiAJaW50IHJldCA9IDA7CiAKIAlKX0FTU0VSVChleHQ0X2pvdXJuYWxfY3VycmVudF9oYW5kbGUoKSA9PSBOVUxMKTsKQEAgLTg1LDYgKzg3LDggQEAKIAkJCS5ucl90b193cml0ZSA9IDAsIC8qIHN5c19mc3luYyBkaWQgdGhpcyAqLwogCQl9OwogCQlyZXQgPSBzeW5jX2lub2RlKGlub2RlLCAmd2JjKTsKKwkJaWYgKGpvdXJuYWwgJiYgKGpvdXJuYWwtPmpfZmxhZ3MgJiBKQkQyX0JBUlJJRVIpKQorCQkJYmxrZGV2X2lzc3VlX2ZsdXNoKGlub2RlLT5pX3NiLT5zX2JkZXYsIE5VTEwpOwogCX0KIG91dDoKIAlyZXR1cm4gcmV0OwpkaWZmIC0tZ2l0IGEvZnMvZXh0NC9ncm91cC5oIGIvZnMvZXh0NC9ncm91cC5oCmluZGV4IDdlYjA2MDQuLmMyYzBhOGQgMTAwNjQ0Ci0tLSBhL2ZzL2V4dDQvZ3JvdXAuaAorKysgYi9mcy9leHQ0L2dyb3VwLmgKQEAgLTEzLDcgKzEzLDcgQEAKIAkJCQkgICBzdHJ1Y3QgZXh0NF9ncm91cF9kZXNjICpnZHApOwogZXh0ZXJuIGludCBleHQ0X2dyb3VwX2Rlc2NfY3N1bV92ZXJpZnkoc3RydWN0IGV4dDRfc2JfaW5mbyAqc2JpLCBfX3UzMiBncm91cCwKIAkJCQkgICAgICAgc3RydWN0IGV4dDRfZ3JvdXBfZGVzYyAqZ2RwKTsKLXN0cnVjdCBidWZmZXJfaGVhZCAqcmVhZF9ibG9ja19iaXRtYXAoc3RydWN0IHN1cGVyX2Jsb2NrICpzYiwKK3N0cnVjdCBidWZmZXJfaGVhZCAqZXh0NF9yZWFkX2Jsb2NrX2JpdG1hcChzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiLAogCQkJCSAgICAgIGV4dDRfZ3JvdXBfdCBibG9ja19ncm91cCk7CiBleHRlcm4gdW5zaWduZWQgZXh0NF9pbml0X2Jsb2NrX2JpdG1hcChzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiLAogCQkJCSAgICAgICBzdHJ1Y3QgYnVmZmVyX2hlYWQgKmJoLApkaWZmIC0tZ2l0IGEvZnMvZXh0NC9pYWxsb2MuYyBiL2ZzL2V4dDQvaWFsbG9jLmMKaW5kZXggYzZlZmJhYjAuLmE5MmViMzAgMTAwNjQ0Ci0tLSBhL2ZzL2V4dDQvaWFsbG9jLmMKKysrIGIvZnMvZXh0NC9pYWxsb2MuYwpAQCAtMTU3LDYgKzE1Nyw3IEBACiAJc3RydWN0IGV4dDRfc3VwZXJfYmxvY2sgKiBlczsKIAlzdHJ1Y3QgZXh0NF9zYl9pbmZvICpzYmk7CiAJaW50IGZhdGFsID0gMCwgZXJyOworCWV4dDRfZ3JvdXBfdCBmbGV4X2dyb3VwOwogCiAJaWYgKGF0b21pY19yZWFkKCZpbm9kZS0+aV9jb3VudCkgPiAxKSB7CiAJCXByaW50ayAoImV4dDRfZnJlZV9pbm9kZTogaW5vZGUgaGFzIGNvdW50PSVkXG4iLApAQCAtMjMyLDYgKzIzMywxMiBAQAogCQkJaWYgKGlzX2RpcmVjdG9yeSkKIAkJCQlwZXJjcHVfY291bnRlcl9kZWMoJnNiaS0+c19kaXJzX2NvdW50ZXIpOwogCisJCQlpZiAoc2JpLT5zX2xvZ19ncm91cHNfcGVyX2ZsZXgpIHsKKwkJCQlmbGV4X2dyb3VwID0gZXh0NF9mbGV4X2dyb3VwKHNiaSwgYmxvY2tfZ3JvdXApOworCQkJCXNwaW5fbG9jayhzYl9iZ2xfbG9jayhzYmksIGZsZXhfZ3JvdXApKTsKKwkJCQlzYmktPnNfZmxleF9ncm91cHNbZmxleF9ncm91cF0uZnJlZV9pbm9kZXMrKzsKKwkJCQlzcGluX3VubG9jayhzYl9iZ2xfbG9jayhzYmksIGZsZXhfZ3JvdXApKTsKKwkJCX0KIAkJfQogCQlCVUZGRVJfVFJBQ0UoYmgyLCAiY2FsbCBleHQ0X2pvdXJuYWxfZGlydHlfbWV0YWRhdGEiKTsKIAkJZXJyID0gZXh0NF9qb3VybmFsX2RpcnR5X21ldGFkYXRhKGhhbmRsZSwgYmgyKTsKQEAgLTI4Niw2ICsyOTMsODAgQEAKIAlyZXR1cm4gcmV0OwogfQogCisjZGVmaW5lIGZyZWVfYmxvY2tfcmF0aW8gMTAKKworc3RhdGljIGludCBmaW5kX2dyb3VwX2ZsZXgoc3RydWN0IHN1cGVyX2Jsb2NrICpzYiwgc3RydWN0IGlub2RlICpwYXJlbnQsCisJCQkgICBleHQ0X2dyb3VwX3QgKmJlc3RfZ3JvdXApCit7CisJc3RydWN0IGV4dDRfc2JfaW5mbyAqc2JpID0gRVhUNF9TQihzYik7CisJc3RydWN0IGV4dDRfZ3JvdXBfZGVzYyAqZGVzYzsKKwlzdHJ1Y3QgYnVmZmVyX2hlYWQgKmJoOworCXN0cnVjdCBmbGV4X2dyb3VwcyAqZmxleF9ncm91cCA9IHNiaS0+c19mbGV4X2dyb3VwczsKKwlleHQ0X2dyb3VwX3QgcGFyZW50X2dyb3VwID0gRVhUNF9JKHBhcmVudCktPmlfYmxvY2tfZ3JvdXA7CisJZXh0NF9ncm91cF90IHBhcmVudF9mYmdfZ3JvdXAgPSBleHQ0X2ZsZXhfZ3JvdXAoc2JpLCBwYXJlbnRfZ3JvdXApOworCWV4dDRfZ3JvdXBfdCBuZ3JvdXBzID0gc2JpLT5zX2dyb3Vwc19jb3VudDsKKwlpbnQgZmxleF9zaXplID0gZXh0NF9mbGV4X2JnX3NpemUoc2JpKTsKKwlleHQ0X2dyb3VwX3QgYmVzdF9mbGV4ID0gcGFyZW50X2ZiZ19ncm91cDsKKwlpbnQgYmxvY2tzX3Blcl9mbGV4ID0gc2JpLT5zX2Jsb2Nrc19wZXJfZ3JvdXAgKiBmbGV4X3NpemU7CisJaW50IGZsZXhiZ19mcmVlX2Jsb2NrczsKKwlpbnQgZmxleF9mcmVlYl9yYXRpbzsKKwlleHQ0X2dyb3VwX3Qgbl9mYmdfZ3JvdXBzOworCWV4dDRfZ3JvdXBfdCBpOworCisJbl9mYmdfZ3JvdXBzID0gKHNiaS0+c19ncm91cHNfY291bnQgKyBmbGV4X3NpemUgLSAxKSA+PgorCQlzYmktPnNfbG9nX2dyb3Vwc19wZXJfZmxleDsKKworZmluZF9jbG9zZV90b19wYXJlbnQ6CisJZmxleGJnX2ZyZWVfYmxvY2tzID0gZmxleF9ncm91cFtiZXN0X2ZsZXhdLmZyZWVfYmxvY2tzOworCWZsZXhfZnJlZWJfcmF0aW8gPSBmbGV4YmdfZnJlZV9ibG9ja3MgKiAxMDAgLyBibG9ja3NfcGVyX2ZsZXg7CisJaWYgKGZsZXhfZ3JvdXBbYmVzdF9mbGV4XS5mcmVlX2lub2RlcyAmJgorCSAgICBmbGV4X2ZyZWViX3JhdGlvID4gZnJlZV9ibG9ja19yYXRpbykKKwkJZ290byBmb3VuZF9mbGV4Ymc7CisKKwlpZiAoYmVzdF9mbGV4ICYmIGJlc3RfZmxleCA9PSBwYXJlbnRfZmJnX2dyb3VwKSB7CisJCWJlc3RfZmxleC0tOworCQlnb3RvIGZpbmRfY2xvc2VfdG9fcGFyZW50OworCX0KKworCWZvciAoaSA9IDA7IGkgPCBuX2ZiZ19ncm91cHM7IGkrKykgeworCQlpZiAoaSA9PSBwYXJlbnRfZmJnX2dyb3VwIHx8IGkgPT0gcGFyZW50X2ZiZ19ncm91cCAtIDEpCisJCQljb250aW51ZTsKKworCQlmbGV4YmdfZnJlZV9ibG9ja3MgPSBmbGV4X2dyb3VwW2ldLmZyZWVfYmxvY2tzOworCQlmbGV4X2ZyZWViX3JhdGlvID0gZmxleGJnX2ZyZWVfYmxvY2tzICogMTAwIC8gYmxvY2tzX3Blcl9mbGV4OworCisJCWlmIChmbGV4X2ZyZWViX3JhdGlvID4gZnJlZV9ibG9ja19yYXRpbyAmJgorCQkgICAgZmxleF9ncm91cFtpXS5mcmVlX2lub2RlcykgeworCQkJYmVzdF9mbGV4ID0gaTsKKwkJCWdvdG8gZm91bmRfZmxleGJnOworCQl9CisKKwkJaWYgKGJlc3RfZmxleCA8IDAgfHwKKwkJICAgIChmbGV4X2dyb3VwW2ldLmZyZWVfYmxvY2tzID4KKwkJICAgICBmbGV4X2dyb3VwW2Jlc3RfZmxleF0uZnJlZV9ibG9ja3MgJiYKKwkJICAgICBmbGV4X2dyb3VwW2ldLmZyZWVfaW5vZGVzKSkKKwkJCWJlc3RfZmxleCA9IGk7CisJfQorCisJaWYgKCFmbGV4X2dyb3VwW2Jlc3RfZmxleF0uZnJlZV9pbm9kZXMgfHwKKwkgICAgIWZsZXhfZ3JvdXBbYmVzdF9mbGV4XS5mcmVlX2Jsb2NrcykKKwkJcmV0dXJuIC0xOworCitmb3VuZF9mbGV4Ymc6CisJZm9yIChpID0gYmVzdF9mbGV4ICogZmxleF9zaXplOyBpIDwgbmdyb3VwcyAmJgorCQkgICAgIGkgPCAoYmVzdF9mbGV4ICsgMSkgKiBmbGV4X3NpemU7IGkrKykgeworCQlkZXNjID0gZXh0NF9nZXRfZ3JvdXBfZGVzYyhzYiwgaSwgJmJoKTsKKwkJaWYgKGxlMTZfdG9fY3B1KGRlc2MtPmJnX2ZyZWVfaW5vZGVzX2NvdW50KSkgeworCQkJKmJlc3RfZ3JvdXAgPSBpOworCQkJZ290byBvdXQ7CisJCX0KKwl9CisKKwlyZXR1cm4gLTE7CitvdXQ6CisJcmV0dXJuIDA7Cit9CisKIC8qCiAgKiBPcmxvdidzIGFsbG9jYXRvciBmb3IgZGlyZWN0b3JpZXMuCiAgKgpAQCAtNTAxLDYgKzU4Miw3IEBACiAJc3RydWN0IGlub2RlICpyZXQ7CiAJZXh0NF9ncm91cF90IGk7CiAJaW50IGZyZWUgPSAwOworCWV4dDRfZ3JvdXBfdCBmbGV4X2dyb3VwOwogCiAJLyogQ2Fubm90IGNyZWF0ZSBmaWxlcyBpbiBhIGRlbGV0ZWQgZGlyZWN0b3J5ICovCiAJaWYgKCFkaXIgfHwgIWRpci0+aV9ubGluaykKQEAgLTUxNCw2ICs1OTYsMTIgQEAKIAogCXNiaSA9IEVYVDRfU0Ioc2IpOwogCWVzID0gc2JpLT5zX2VzOworCisJaWYgKHNiaS0+c19sb2dfZ3JvdXBzX3Blcl9mbGV4KSB7CisJCXJldDIgPSBmaW5kX2dyb3VwX2ZsZXgoc2IsIGRpciwgJmdyb3VwKTsKKwkJZ290byBnb3RfZ3JvdXA7CisJfQorCiAJaWYgKFNfSVNESVIobW9kZSkpIHsKIAkJaWYgKHRlc3Rfb3B0IChzYiwgT0xEQUxMT0MpKQogCQkJcmV0MiA9IGZpbmRfZ3JvdXBfZGlyKHNiLCBkaXIsICZncm91cCk7CkBAIC01MjIsNiArNjEwLDcgQEAKIAl9IGVsc2UKIAkJcmV0MiA9IGZpbmRfZ3JvdXBfb3RoZXIoc2IsIGRpciwgJmdyb3VwKTsKIAorZ290X2dyb3VwOgogCWVyciA9IC1FTk9TUEM7CiAJaWYgKHJldDIgPT0gLTEpCiAJCWdvdG8gb3V0OwpAQCAtNjAwLDcgKzY4OSw3IEBACiAJLyogV2UgbWF5IGhhdmUgdG8gaW5pdGlhbGl6ZSB0aGUgYmxvY2sgYml0bWFwIGlmIGl0IGlzbid0IGFscmVhZHkgKi8KIAlpZiAoRVhUNF9IQVNfUk9fQ09NUEFUX0ZFQVRVUkUoc2IsIEVYVDRfRkVBVFVSRV9ST19DT01QQVRfR0RUX0NTVU0pICYmCiAJICAgIGdkcC0+YmdfZmxhZ3MgJiBjcHVfdG9fbGUxNihFWFQ0X0JHX0JMT0NLX1VOSU5JVCkpIHsKLQkJc3RydWN0IGJ1ZmZlcl9oZWFkICpibG9ja19iaCA9IHJlYWRfYmxvY2tfYml0bWFwKHNiLCBncm91cCk7CisJCXN0cnVjdCBidWZmZXJfaGVhZCAqYmxvY2tfYmggPSBleHQ0X3JlYWRfYmxvY2tfYml0bWFwKHNiLCBncm91cCk7CiAKIAkJQlVGRkVSX1RSQUNFKGJsb2NrX2JoLCAiZ2V0IGJsb2NrIGJpdG1hcCBhY2Nlc3MiKTsKIAkJZXJyID0gZXh0NF9qb3VybmFsX2dldF93cml0ZV9hY2Nlc3MoaGFuZGxlLCBibG9ja19iaCk7CkBAIC02NzYsNiArNzY1LDEzIEBACiAJCXBlcmNwdV9jb3VudGVyX2luYygmc2JpLT5zX2RpcnNfY291bnRlcik7CiAJc2ItPnNfZGlydCA9IDE7CiAKKwlpZiAoc2JpLT5zX2xvZ19ncm91cHNfcGVyX2ZsZXgpIHsKKwkJZmxleF9ncm91cCA9IGV4dDRfZmxleF9ncm91cChzYmksIGdyb3VwKTsKKwkJc3Bpbl9sb2NrKHNiX2JnbF9sb2NrKHNiaSwgZmxleF9ncm91cCkpOworCQlzYmktPnNfZmxleF9ncm91cHNbZmxleF9ncm91cF0uZnJlZV9pbm9kZXMtLTsKKwkJc3Bpbl91bmxvY2soc2JfYmdsX2xvY2soc2JpLCBmbGV4X2dyb3VwKSk7CisJfQorCiAJaW5vZGUtPmlfdWlkID0gY3VycmVudC0+ZnN1aWQ7CiAJaWYgKHRlc3Rfb3B0IChzYiwgR1JQSUQpKQogCQlpbm9kZS0+aV9naWQgPSBkaXItPmlfZ2lkOwpAQCAtNzQwLDE0ICs4MzYsMTAgQEAKIAkJZ290byBmYWlsX2ZyZWVfZHJvcDsKIAogCWlmICh0ZXN0X29wdChzYiwgRVhURU5UUykpIHsKLQkJLyogc2V0IGV4dGVudCBmbGFnIG9ubHkgZm9yIGRpcmV0b3J5LCBmaWxlIGFuZCBub3JtYWwgc3ltbGluayovCisJCS8qIHNldCBleHRlbnQgZmxhZyBvbmx5IGZvciBkaXJlY3RvcnksIGZpbGUgYW5kIG5vcm1hbCBzeW1saW5rKi8KIAkJaWYgKFNfSVNESVIobW9kZSkgfHwgU19JU1JFRyhtb2RlKSB8fCBTX0lTTE5LKG1vZGUpKSB7CiAJCQlFWFQ0X0koaW5vZGUpLT5pX2ZsYWdzIHw9IEVYVDRfRVhURU5UU19GTDsKIAkJCWV4dDRfZXh0X3RyZWVfaW5pdChoYW5kbGUsIGlub2RlKTsKLQkJCWVyciA9IGV4dDRfdXBkYXRlX2luY29tcGF0X2ZlYXR1cmUoaGFuZGxlLCBzYiwKLQkJCQkJRVhUNF9GRUFUVVJFX0lOQ09NUEFUX0VYVEVOVFMpOwotCQkJaWYgKGVycikKLQkJCQlnb3RvIGZhaWxfZnJlZV9kcm9wOwogCQl9CiAJfQogCkBAIC04MTcsNiArOTA5LDE0IEBACiAJaWYgKElTX0VSUihpbm9kZSkpCiAJCWdvdG8gaWdldF9mYWlsZWQ7CiAKKwkvKgorCSAqIElmIHRoZSBvcnBoYW5zIGhhcyBpX25saW5rcyA+IDAgdGhlbiBpdCBzaG91bGQgYmUgYWJsZSB0byBiZQorCSAqIHRydW5jYXRlZCwgb3RoZXJ3aXNlIGl0IHdvbid0IGJlIHJlbW92ZWQgZnJvbSB0aGUgb3JwaGFuIGxpc3QKKwkgKiBkdXJpbmcgcHJvY2Vzc2luZyBhbmQgYW4gaW5maW5pdGUgbG9vcCB3aWxsIHJlc3VsdC4KKwkgKi8KKwlpZiAoaW5vZGUtPmlfbmxpbmsgJiYgIWV4dDRfY2FuX3RydW5jYXRlKGlub2RlKSkKKwkJZ290byBiYWRfb3JwaGFuOworCiAJaWYgKE5FWFRfT1JQSEFOKGlub2RlKSA+IG1heF9pbm8pCiAJCWdvdG8gYmFkX29ycGhhbjsKIAlicmVsc2UoYml0bWFwX2JoKTsKQEAgLTgzOCw2ICs5MzgsNyBAQAogCQlwcmludGsoS0VSTl9OT1RJQ0UgIk5FWFRfT1JQSEFOKGlub2RlKT0ldVxuIiwKIAkJICAgICAgIE5FWFRfT1JQSEFOKGlub2RlKSk7CiAJCXByaW50ayhLRVJOX05PVElDRSAibWF4X2lubz0lbHVcbiIsIG1heF9pbm8pOworCQlwcmludGsoS0VSTl9OT1RJQ0UgImlfbmxpbms9JXVcbiIsIGlub2RlLT5pX25saW5rKTsKIAkJLyogQXZvaWQgZnJlZWluZyBibG9ja3MgaWYgd2UgZ290IGEgYmFkIGRlbGV0ZWQgaW5vZGUgKi8KIAkJaWYgKGlub2RlLT5pX25saW5rID09IDApCiAJCQlpbm9kZS0+aV9ibG9ja3MgPSAwOwpkaWZmIC0tZ2l0IGEvZnMvZXh0NC9pbm9kZS5jIGIvZnMvZXh0NC9pbm9kZS5jCmluZGV4IDhkOTcwNzcuLjhjYTI3NjMgMTAwNjQ0Ci0tLSBhL2ZzL2V4dDQvaW5vZGUuYworKysgYi9mcy9leHQ0L2lub2RlLmMKQEAgLTMyLDEyICszMiwyMyBAQAogI2luY2x1ZGUgPGxpbnV4L3N0cmluZy5oPgogI2luY2x1ZGUgPGxpbnV4L2J1ZmZlcl9oZWFkLmg+CiAjaW5jbHVkZSA8bGludXgvd3JpdGViYWNrLmg+CisjaW5jbHVkZSA8bGludXgvcGFnZXZlYy5oPgogI2luY2x1ZGUgPGxpbnV4L21wYWdlLmg+CiAjaW5jbHVkZSA8bGludXgvdWlvLmg+CiAjaW5jbHVkZSA8bGludXgvYmlvLmg+CiAjaW5jbHVkZSAiZXh0NF9qYmQyLmgiCiAjaW5jbHVkZSAieGF0dHIuaCIKICNpbmNsdWRlICJhY2wuaCIKKyNpbmNsdWRlICJleHQ0X2V4dGVudHMuaCIKKworc3RhdGljIGlubGluZSBpbnQgZXh0NF9iZWdpbl9vcmRlcmVkX3RydW5jYXRlKHN0cnVjdCBpbm9kZSAqaW5vZGUsCisJCQkJCSAgICAgIGxvZmZfdCBuZXdfc2l6ZSkKK3sKKwlyZXR1cm4gamJkMl9qb3VybmFsX2JlZ2luX29yZGVyZWRfdHJ1bmNhdGUoJkVYVDRfSShpbm9kZSktPmppbm9kZSwKKwkJCQkJCSAgIG5ld19zaXplKTsKK30KKworc3RhdGljIHZvaWQgZXh0NF9pbnZhbGlkYXRlcGFnZShzdHJ1Y3QgcGFnZSAqcGFnZSwgdW5zaWduZWQgbG9uZyBvZmZzZXQpOwogCiAvKgogICogVGVzdCB3aGV0aGVyIGFuIGlub2RlIGlzIGEgZmFzdCBzeW1saW5rLgpAQCAtMTgxLDYgKzE5Miw4IEBACiB7CiAJaGFuZGxlX3QgKmhhbmRsZTsKIAorCWlmIChleHQ0X3Nob3VsZF9vcmRlcl9kYXRhKGlub2RlKSkKKwkJZXh0NF9iZWdpbl9vcmRlcmVkX3RydW5jYXRlKGlub2RlLCAwKTsKIAl0cnVuY2F0ZV9pbm9kZV9wYWdlcygmaW5vZGUtPmlfZGF0YSwgMCk7CiAKIAlpZiAoaXNfYmFkX2lub2RlKGlub2RlKSkKQEAgLTUwOCwxMSArNTIxLDEyIEBACiAgKgkJZGlyZWN0IGJsb2NrcwogICovCiBzdGF0aWMgaW50IGV4dDRfYWxsb2NfYmxvY2tzKGhhbmRsZV90ICpoYW5kbGUsIHN0cnVjdCBpbm9kZSAqaW5vZGUsCi0JCQlleHQ0X2ZzYmxrX3QgZ29hbCwgaW50IGluZGlyZWN0X2Jsa3MsIGludCBibGtzLAotCQkJZXh0NF9mc2Jsa190IG5ld19ibG9ja3NbNF0sIGludCAqZXJyKQorCQkJCWV4dDRfbGJsa190IGlibG9jaywgZXh0NF9mc2Jsa190IGdvYWwsCisJCQkJaW50IGluZGlyZWN0X2Jsa3MsIGludCBibGtzLAorCQkJCWV4dDRfZnNibGtfdCBuZXdfYmxvY2tzWzRdLCBpbnQgKmVycikKIHsKIAlpbnQgdGFyZ2V0LCBpOwotCXVuc2lnbmVkIGxvbmcgY291bnQgPSAwOworCXVuc2lnbmVkIGxvbmcgY291bnQgPSAwLCBibGtfYWxsb2NhdGVkID0gMDsKIAlpbnQgaW5kZXggPSAwOwogCWV4dDRfZnNibGtfdCBjdXJyZW50X2Jsb2NrID0gMDsKIAlpbnQgcmV0ID0gMDsKQEAgLTUyNSwxMiArNTM5LDEzIEBACiAJICogdGhlIGZpcnN0IGRpcmVjdCBibG9jayBvZiB0aGlzIGJyYW5jaC4gIFRoYXQncyB0aGUKIAkgKiBtaW5pbXVtIG51bWJlciBvZiBibG9ja3MgbmVlZCB0byBhbGxvY2F0ZShyZXF1aXJlZCkKIAkgKi8KLQl0YXJnZXQgPSBibGtzICsgaW5kaXJlY3RfYmxrczsKLQotCXdoaWxlICgxKSB7CisJLyogZmlyc3Qgd2UgdHJ5IHRvIGFsbG9jYXRlIHRoZSBpbmRpcmVjdCBibG9ja3MgKi8KKwl0YXJnZXQgPSBpbmRpcmVjdF9ibGtzOworCXdoaWxlICh0YXJnZXQgPiAwKSB7CiAJCWNvdW50ID0gdGFyZ2V0OwogCQkvKiBhbGxvY2F0aW5nIGJsb2NrcyBmb3IgaW5kaXJlY3QgYmxvY2tzIGFuZCBkaXJlY3QgYmxvY2tzICovCi0JCWN1cnJlbnRfYmxvY2sgPSBleHQ0X25ld19ibG9ja3MoaGFuZGxlLGlub2RlLGdvYWwsJmNvdW50LGVycik7CisJCWN1cnJlbnRfYmxvY2sgPSBleHQ0X25ld19tZXRhX2Jsb2NrcyhoYW5kbGUsIGlub2RlLAorCQkJCQkJCWdvYWwsICZjb3VudCwgZXJyKTsKIAkJaWYgKCplcnIpCiAJCQlnb3RvIGZhaWxlZF9vdXQ7CiAKQEAgLTU0MCwxNiArNTU1LDQ4IEBACiAJCQluZXdfYmxvY2tzW2luZGV4KytdID0gY3VycmVudF9ibG9jaysrOwogCQkJY291bnQtLTsKIAkJfQotCi0JCWlmIChjb3VudCA+IDApCisJCWlmIChjb3VudCA+IDApIHsKKwkJCS8qCisJCQkgKiBzYXZlIHRoZSBuZXcgYmxvY2sgbnVtYmVyCisJCQkgKiBmb3IgdGhlIGZpcnN0IGRpcmVjdCBibG9jaworCQkJICovCisJCQluZXdfYmxvY2tzW2luZGV4XSA9IGN1cnJlbnRfYmxvY2s7CisJCQlwcmludGsoS0VSTl9JTkZPICIlcyByZXR1cm5lZCBtb3JlIGJsb2NrcyB0aGFuICIKKwkJCQkJCSJyZXF1ZXN0ZWRcbiIsIF9fZnVuY19fKTsKKwkJCVdBUk5fT04oMSk7CiAJCQlicmVhazsKKwkJfQogCX0KIAotCS8qIHNhdmUgdGhlIG5ldyBibG9jayBudW1iZXIgZm9yIHRoZSBmaXJzdCBkaXJlY3QgYmxvY2sgKi8KLQluZXdfYmxvY2tzW2luZGV4XSA9IGN1cnJlbnRfYmxvY2s7Ci0KKwl0YXJnZXQgPSBibGtzIC0gY291bnQgOworCWJsa19hbGxvY2F0ZWQgPSBjb3VudDsKKwlpZiAoIXRhcmdldCkKKwkJZ290byBhbGxvY2F0ZWQ7CisJLyogTm93IGFsbG9jYXRlIGRhdGEgYmxvY2tzICovCisJY291bnQgPSB0YXJnZXQ7CisJLyogYWxsb2NhdGluZyBibG9ja3MgZm9yIGRhdGEgYmxvY2tzICovCisJY3VycmVudF9ibG9jayA9IGV4dDRfbmV3X2Jsb2NrcyhoYW5kbGUsIGlub2RlLCBpYmxvY2ssCisJCQkJCQlnb2FsLCAmY291bnQsIGVycik7CisJaWYgKCplcnIgJiYgKHRhcmdldCA9PSBibGtzKSkgeworCQkvKgorCQkgKiBpZiB0aGUgYWxsb2NhdGlvbiBmYWlsZWQgYW5kIHdlIGRpZG4ndCBhbGxvY2F0ZQorCQkgKiBhbnkgYmxvY2tzIGJlZm9yZQorCQkgKi8KKwkJZ290byBmYWlsZWRfb3V0OworCX0KKwlpZiAoISplcnIpIHsKKwkJaWYgKHRhcmdldCA9PSBibGtzKSB7CisJCS8qCisJCSAqIHNhdmUgdGhlIG5ldyBibG9jayBudW1iZXIKKwkJICogZm9yIHRoZSBmaXJzdCBkaXJlY3QgYmxvY2sKKwkJICovCisJCQluZXdfYmxvY2tzW2luZGV4XSA9IGN1cnJlbnRfYmxvY2s7CisJCX0KKwkJYmxrX2FsbG9jYXRlZCArPSBjb3VudDsKKwl9CithbGxvY2F0ZWQ6CiAJLyogdG90YWwgbnVtYmVyIG9mIGJsb2NrcyBhbGxvY2F0ZWQgZm9yIGRpcmVjdCBibG9ja3MgKi8KLQlyZXQgPSBjb3VudDsKKwlyZXQgPSBibGtfYWxsb2NhdGVkOwogCSplcnIgPSAwOwogCXJldHVybiByZXQ7CiBmYWlsZWRfb3V0OgpAQCAtNTg0LDggKzYzMSw5IEBACiAgKglhcyBkZXNjcmliZWQgYWJvdmUgYW5kIHJldHVybiAwLgogICovCiBzdGF0aWMgaW50IGV4dDRfYWxsb2NfYnJhbmNoKGhhbmRsZV90ICpoYW5kbGUsIHN0cnVjdCBpbm9kZSAqaW5vZGUsCi0JCQlpbnQgaW5kaXJlY3RfYmxrcywgaW50ICpibGtzLCBleHQ0X2ZzYmxrX3QgZ29hbCwKLQkJCWV4dDRfbGJsa190ICpvZmZzZXRzLCBJbmRpcmVjdCAqYnJhbmNoKQorCQkJCWV4dDRfbGJsa190IGlibG9jaywgaW50IGluZGlyZWN0X2Jsa3MsCisJCQkJaW50ICpibGtzLCBleHQ0X2ZzYmxrX3QgZ29hbCwKKwkJCQlleHQ0X2xibGtfdCAqb2Zmc2V0cywgSW5kaXJlY3QgKmJyYW5jaCkKIHsKIAlpbnQgYmxvY2tzaXplID0gaW5vZGUtPmlfc2ItPnNfYmxvY2tzaXplOwogCWludCBpLCBuID0gMDsKQEAgLTU5NSw3ICs2NDMsNyBAQAogCWV4dDRfZnNibGtfdCBuZXdfYmxvY2tzWzRdOwogCWV4dDRfZnNibGtfdCBjdXJyZW50X2Jsb2NrOwogCi0JbnVtID0gZXh0NF9hbGxvY19ibG9ja3MoaGFuZGxlLCBpbm9kZSwgZ29hbCwgaW5kaXJlY3RfYmxrcywKKwludW0gPSBleHQ0X2FsbG9jX2Jsb2NrcyhoYW5kbGUsIGlub2RlLCBpYmxvY2ssIGdvYWwsIGluZGlyZWN0X2Jsa3MsCiAJCQkJKmJsa3MsIG5ld19ibG9ja3MsICZlcnIpOwogCWlmIChlcnIpCiAJCXJldHVybiBlcnI7CkBAIC03OTksNiArODQ3LDcgQEAKIAlzdHJ1Y3QgZXh0NF9pbm9kZV9pbmZvICplaSA9IEVYVDRfSShpbm9kZSk7CiAJaW50IGNvdW50ID0gMDsKIAlleHQ0X2ZzYmxrX3QgZmlyc3RfYmxvY2sgPSAwOworCWxvZmZfdCBkaXNrc2l6ZTsKIAogCiAJSl9BU1NFUlQoIShFWFQ0X0koaW5vZGUpLT5pX2ZsYWdzICYgRVhUNF9FWFRFTlRTX0ZMKSk7CkBAIC04NTUsOCArOTA0LDkgQEAKIAkvKgogCSAqIEJsb2NrIG91dCBleHQ0X3RydW5jYXRlIHdoaWxlIHdlIGFsdGVyIHRoZSB0cmVlCiAJICovCi0JZXJyID0gZXh0NF9hbGxvY19icmFuY2goaGFuZGxlLCBpbm9kZSwgaW5kaXJlY3RfYmxrcywgJmNvdW50LCBnb2FsLAotCQkJCW9mZnNldHMgKyAocGFydGlhbCAtIGNoYWluKSwgcGFydGlhbCk7CisJZXJyID0gZXh0NF9hbGxvY19icmFuY2goaGFuZGxlLCBpbm9kZSwgaWJsb2NrLCBpbmRpcmVjdF9ibGtzLAorCQkJCQkmY291bnQsIGdvYWwsCisJCQkJCW9mZnNldHMgKyAocGFydGlhbCAtIGNoYWluKSwgcGFydGlhbCk7CiAKIAkvKgogCSAqIFRoZSBleHQ0X3NwbGljZV9icmFuY2ggY2FsbCB3aWxsIGZyZWUgYW5kIGZvcmdldCBhbnkgYnVmZmVycwpAQCAtODczLDggKzkyMywxMyBAQAogCSAqIHByb3RlY3QgaXQgaWYgeW91J3JlIGFib3V0IHRvIGltcGxlbWVudCBjb25jdXJyZW50CiAJICogZXh0NF9nZXRfYmxvY2soKSAtYnp6egogCSovCi0JaWYgKCFlcnIgJiYgZXh0ZW5kX2Rpc2tzaXplICYmIGlub2RlLT5pX3NpemUgPiBlaS0+aV9kaXNrc2l6ZSkKLQkJZWktPmlfZGlza3NpemUgPSBpbm9kZS0+aV9zaXplOworCWlmICghZXJyICYmIGV4dGVuZF9kaXNrc2l6ZSkgeworCQlkaXNrc2l6ZSA9ICgobG9mZl90KSBpYmxvY2sgKyBjb3VudCkgPDwgaW5vZGUtPmlfYmxrYml0czsKKwkJaWYgKGRpc2tzaXplID4gaV9zaXplX3JlYWQoaW5vZGUpKQorCQkJZGlza3NpemUgPSBpX3NpemVfcmVhZChpbm9kZSk7CisJCWlmIChkaXNrc2l6ZSA+IGVpLT5pX2Rpc2tzaXplKQorCQkJZWktPmlfZGlza3NpemUgPSBkaXNrc2l6ZTsKKwl9CiAJaWYgKGVycikKIAkJZ290byBjbGVhbnVwOwogCkBAIC05MzQsNyArOTg5LDcgQEAKICAqLwogaW50IGV4dDRfZ2V0X2Jsb2Nrc193cmFwKGhhbmRsZV90ICpoYW5kbGUsIHN0cnVjdCBpbm9kZSAqaW5vZGUsIHNlY3Rvcl90IGJsb2NrLAogCQkJdW5zaWduZWQgbG9uZyBtYXhfYmxvY2tzLCBzdHJ1Y3QgYnVmZmVyX2hlYWQgKmJoLAotCQkJaW50IGNyZWF0ZSwgaW50IGV4dGVuZF9kaXNrc2l6ZSkKKwkJCWludCBjcmVhdGUsIGludCBleHRlbmRfZGlza3NpemUsIGludCBmbGFnKQogewogCWludCByZXR2YWw7CiAKQEAgLTk3NSw2ICsxMDMwLDE1IEBACiAJICogd2l0aCBjcmVhdGUgPT0gMSBmbGFnLgogCSAqLwogCWRvd25fd3JpdGUoKCZFWFQ0X0koaW5vZGUpLT5pX2RhdGFfc2VtKSk7CisKKwkvKgorCSAqIGlmIHRoZSBjYWxsZXIgaXMgZnJvbSBkZWxheWVkIGFsbG9jYXRpb24gd3JpdGVvdXQgcGF0aAorCSAqIHdlIGhhdmUgYWxyZWFkeSByZXNlcnZlZCBmcyBibG9ja3MgZm9yIGFsbG9jYXRpb24KKwkgKiBsZXQgdGhlIHVuZGVybHlpbmcgZ2V0X2Jsb2NrKCkgZnVuY3Rpb24ga25vdyB0bworCSAqIGF2b2lkIGRvdWJsZSBhY2NvdW50aW5nCisJICovCisJaWYgKGZsYWcpCisJCUVYVDRfSShpbm9kZSktPmlfZGVsYWxsb2NfcmVzZXJ2ZWRfZmxhZyA9IDE7CiAJLyoKIAkgKiBXZSBuZWVkIHRvIGNoZWNrIGZvciBFWFQ0IGhlcmUgYmVjYXVzZSBtaWdyYXRlCiAJICogY291bGQgaGF2ZSBjaGFuZ2VkIHRoZSBpbm9kZSB0eXBlIGluIGJldHdlZW4KQEAgLTk5Niw2ICsxMDYwLDE4IEBACiAJCQkJCQkJfkVYVDRfRVhUX01JR1JBVEU7CiAJCX0KIAl9CisKKwlpZiAoZmxhZykgeworCQlFWFQ0X0koaW5vZGUpLT5pX2RlbGFsbG9jX3Jlc2VydmVkX2ZsYWcgPSAwOworCQkvKgorCQkgKiBVcGRhdGUgcmVzZXJ2ZWQgYmxvY2tzL21ldGFkYXRhIGJsb2NrcworCQkgKiBhZnRlciBzdWNjZXNzZnVsIGJsb2NrIGFsbG9jYXRpb24KKwkJICogd2hpY2ggd2VyZSBkZWZlcnJlZCB0aWxsIG5vdworCQkgKi8KKwkJaWYgKChyZXR2YWwgPiAwKSAmJiBidWZmZXJfZGVsYXkoYmgpKQorCQkJZXh0NF9kYV9yZWxlYXNlX3NwYWNlKGlub2RlLCByZXR2YWwsIDApOworCX0KKwogCXVwX3dyaXRlKCgmRVhUNF9JKGlub2RlKS0+aV9kYXRhX3NlbSkpOwogCXJldHVybiByZXR2YWw7CiB9CkBAIC0xMDIxLDcgKzEwOTcsNyBAQAogCX0KIAogCXJldCA9IGV4dDRfZ2V0X2Jsb2Nrc193cmFwKGhhbmRsZSwgaW5vZGUsIGlibG9jaywKLQkJCQkJbWF4X2Jsb2NrcywgYmhfcmVzdWx0LCBjcmVhdGUsIDApOworCQkJCQltYXhfYmxvY2tzLCBiaF9yZXN1bHQsIGNyZWF0ZSwgMCwgMCk7CiAJaWYgKHJldCA+IDApIHsKIAkJYmhfcmVzdWx0LT5iX3NpemUgPSAocmV0IDw8IGlub2RlLT5pX2Jsa2JpdHMpOwogCQlyZXQgPSAwOwpAQCAtMTA0Nyw3ICsxMTIzLDcgQEAKIAlkdW1teS5iX2Jsb2NrbnIgPSAtMTAwMDsKIAlidWZmZXJfdHJhY2VfaW5pdCgmZHVtbXkuYl9oaXN0b3J5KTsKIAllcnIgPSBleHQ0X2dldF9ibG9ja3Nfd3JhcChoYW5kbGUsIGlub2RlLCBibG9jaywgMSwKLQkJCQkJJmR1bW15LCBjcmVhdGUsIDEpOworCQkJCQkmZHVtbXksIGNyZWF0ZSwgMSwgMCk7CiAJLyoKIAkgKiBleHQ0X2dldF9ibG9ja3NfaGFuZGxlKCkgcmV0dXJucyBudW1iZXIgb2YgYmxvY2tzCiAJICogbWFwcGVkLiAwIGluIGNhc2Ugb2YgYSBIT0xFLgpAQCAtMTIwMywxOSArMTI3OSwyMCBAQAogIAl0byA9IGZyb20gKyBsZW47CiAKIHJldHJ5OgotIAlwYWdlID0gX19ncmFiX2NhY2hlX3BhZ2UobWFwcGluZywgaW5kZXgpOwotIAlpZiAoIXBhZ2UpCi0gCQlyZXR1cm4gLUVOT01FTTsKLSAJKnBhZ2VwID0gcGFnZTsKLQogICAJaGFuZGxlID0gZXh0NF9qb3VybmFsX3N0YXJ0KGlub2RlLCBuZWVkZWRfYmxvY2tzKTsKICAgCWlmIChJU19FUlIoaGFuZGxlKSkgewotIAkJdW5sb2NrX3BhZ2UocGFnZSk7Ci0gCQlwYWdlX2NhY2hlX3JlbGVhc2UocGFnZSk7CiAgIAkJcmV0ID0gUFRSX0VSUihoYW5kbGUpOwogICAJCWdvdG8gb3V0OwogCX0KIAorCXBhZ2UgPSBfX2dyYWJfY2FjaGVfcGFnZShtYXBwaW5nLCBpbmRleCk7CisJaWYgKCFwYWdlKSB7CisJCWV4dDRfam91cm5hbF9zdG9wKGhhbmRsZSk7CisJCXJldCA9IC1FTk9NRU07CisJCWdvdG8gb3V0OworCX0KKwkqcGFnZXAgPSBwYWdlOworCiAJcmV0ID0gYmxvY2tfd3JpdGVfYmVnaW4oZmlsZSwgbWFwcGluZywgcG9zLCBsZW4sIGZsYWdzLCBwYWdlcCwgZnNkYXRhLAogCQkJCQkJCWV4dDRfZ2V0X2Jsb2NrKTsKIApAQCAtMTIyNSw4ICsxMzAyLDggQEAKIAl9CiAKIAlpZiAocmV0KSB7Ci0JCWV4dDRfam91cm5hbF9zdG9wKGhhbmRsZSk7CiAgCQl1bmxvY2tfcGFnZShwYWdlKTsKKwkJZXh0NF9qb3VybmFsX3N0b3AoaGFuZGxlKTsKICAJCXBhZ2VfY2FjaGVfcmVsZWFzZShwYWdlKTsKIAl9CiAKQEAgLTEyMzYsMTUgKzEzMTMsNiBAQAogCXJldHVybiByZXQ7CiB9CiAKLWludCBleHQ0X2pvdXJuYWxfZGlydHlfZGF0YShoYW5kbGVfdCAqaGFuZGxlLCBzdHJ1Y3QgYnVmZmVyX2hlYWQgKmJoKQotewotCWludCBlcnIgPSBqYmQyX2pvdXJuYWxfZGlydHlfZGF0YShoYW5kbGUsIGJoKTsKLQlpZiAoZXJyKQotCQlleHQ0X2pvdXJuYWxfYWJvcnRfaGFuZGxlKF9fZnVuY19fLCBfX2Z1bmNfXywKLQkJCQkJCWJoLCBoYW5kbGUsIGVycik7Ci0JcmV0dXJuIGVycjsKLX0KLQogLyogRm9yIHdyaXRlX2VuZCgpIGluIGRhdGE9am91cm5hbCBtb2RlICovCiBzdGF0aWMgaW50IHdyaXRlX2VuZF9mbihoYW5kbGVfdCAqaGFuZGxlLCBzdHJ1Y3QgYnVmZmVyX2hlYWQgKmJoKQogewpAQCAtMTI1NSwyOSArMTMyMyw2IEBACiB9CiAKIC8qCi0gKiBHZW5lcmljIHdyaXRlX2VuZCBoYW5kbGVyIGZvciBvcmRlcmVkIGFuZCB3cml0ZWJhY2sgZXh0NCBqb3VybmFsIG1vZGVzLgotICogV2UgY2FuJ3QgdXNlIGdlbmVyaWNfd3JpdGVfZW5kLCBiZWNhdXNlIHRoYXQgdW5sb2NrcyB0aGUgcGFnZSBhbmQgd2UgbmVlZCB0bwotICogdW5sb2NrIHRoZSBwYWdlIGFmdGVyIGV4dDRfam91cm5hbF9zdG9wLCBidXQgZXh0NF9qb3VybmFsX3N0b3AgbXVzdCBydW4KLSAqIGFmdGVyIGJsb2NrX3dyaXRlX2VuZC4KLSAqLwotc3RhdGljIGludCBleHQ0X2dlbmVyaWNfd3JpdGVfZW5kKHN0cnVjdCBmaWxlICpmaWxlLAotCQkJCXN0cnVjdCBhZGRyZXNzX3NwYWNlICptYXBwaW5nLAotCQkJCWxvZmZfdCBwb3MsIHVuc2lnbmVkIGxlbiwgdW5zaWduZWQgY29waWVkLAotCQkJCXN0cnVjdCBwYWdlICpwYWdlLCB2b2lkICpmc2RhdGEpCi17Ci0Jc3RydWN0IGlub2RlICppbm9kZSA9IGZpbGUtPmZfbWFwcGluZy0+aG9zdDsKLQotCWNvcGllZCA9IGJsb2NrX3dyaXRlX2VuZChmaWxlLCBtYXBwaW5nLCBwb3MsIGxlbiwgY29waWVkLCBwYWdlLCBmc2RhdGEpOwotCi0JaWYgKHBvcytjb3BpZWQgPiBpbm9kZS0+aV9zaXplKSB7Ci0JCWlfc2l6ZV93cml0ZShpbm9kZSwgcG9zK2NvcGllZCk7Ci0JCW1hcmtfaW5vZGVfZGlydHkoaW5vZGUpOwotCX0KLQotCXJldHVybiBjb3BpZWQ7Ci19Ci0KLS8qCiAgKiBXZSBuZWVkIHRvIHBpY2sgdXAgdGhlIG5ldyBpbm9kZSBzaXplIHdoaWNoIGdlbmVyaWNfY29tbWl0X3dyaXRlIGdhdmUgdXMKICAqIGBmaWxlJyBjYW4gYmUgTlVMTCAtIGVnLCB3aGVuIGNhbGxlZCBmcm9tIHBhZ2Vfc3ltbGluaygpLgogICoKQEAgLTEyOTAsMTUgKzEzMzUsMTQgQEAKIAkJCQlzdHJ1Y3QgcGFnZSAqcGFnZSwgdm9pZCAqZnNkYXRhKQogewogCWhhbmRsZV90ICpoYW5kbGUgPSBleHQ0X2pvdXJuYWxfY3VycmVudF9oYW5kbGUoKTsKLQlzdHJ1Y3QgaW5vZGUgKmlub2RlID0gZmlsZS0+Zl9tYXBwaW5nLT5ob3N0OworCXN0cnVjdCBpbm9kZSAqaW5vZGUgPSBtYXBwaW5nLT5ob3N0OwogCXVuc2lnbmVkIGZyb20sIHRvOwogCWludCByZXQgPSAwLCByZXQyOwogCiAJZnJvbSA9IHBvcyAmIChQQUdFX0NBQ0hFX1NJWkUgLSAxKTsKIAl0byA9IGZyb20gKyBsZW47CiAKLQlyZXQgPSB3YWxrX3BhZ2VfYnVmZmVycyhoYW5kbGUsIHBhZ2VfYnVmZmVycyhwYWdlKSwKLQkJZnJvbSwgdG8sIE5VTEwsIGV4dDRfam91cm5hbF9kaXJ0eV9kYXRhKTsKKwlyZXQgPSBleHQ0X2piZDJfZmlsZV9pbm9kZShoYW5kbGUsIGlub2RlKTsKIAogCWlmIChyZXQgPT0gMCkgewogCQkvKgpAQCAtMTMxMSw3ICsxMzU1LDcgQEAKIAkJbmV3X2lfc2l6ZSA9IHBvcyArIGNvcGllZDsKIAkJaWYgKG5ld19pX3NpemUgPiBFWFQ0X0koaW5vZGUpLT5pX2Rpc2tzaXplKQogCQkJRVhUNF9JKGlub2RlKS0+aV9kaXNrc2l6ZSA9IG5ld19pX3NpemU7Ci0JCXJldDIgPSBleHQ0X2dlbmVyaWNfd3JpdGVfZW5kKGZpbGUsIG1hcHBpbmcsIHBvcywgbGVuLCBjb3BpZWQsCisJCXJldDIgPSBnZW5lcmljX3dyaXRlX2VuZChmaWxlLCBtYXBwaW5nLCBwb3MsIGxlbiwgY29waWVkLAogCQkJCQkJCXBhZ2UsIGZzZGF0YSk7CiAJCWNvcGllZCA9IHJldDI7CiAJCWlmIChyZXQyIDwgMCkKQEAgLTEzMjAsOCArMTM2NCw2IEBACiAJcmV0MiA9IGV4dDRfam91cm5hbF9zdG9wKGhhbmRsZSk7CiAJaWYgKCFyZXQpCiAJCXJldCA9IHJldDI7Ci0JdW5sb2NrX3BhZ2UocGFnZSk7Ci0JcGFnZV9jYWNoZV9yZWxlYXNlKHBhZ2UpOwogCiAJcmV0dXJuIHJldCA/IHJldCA6IGNvcGllZDsKIH0KQEAgLTEzMzIsNyArMTM3NCw3IEBACiAJCQkJc3RydWN0IHBhZ2UgKnBhZ2UsIHZvaWQgKmZzZGF0YSkKIHsKIAloYW5kbGVfdCAqaGFuZGxlID0gZXh0NF9qb3VybmFsX2N1cnJlbnRfaGFuZGxlKCk7Ci0Jc3RydWN0IGlub2RlICppbm9kZSA9IGZpbGUtPmZfbWFwcGluZy0+aG9zdDsKKwlzdHJ1Y3QgaW5vZGUgKmlub2RlID0gbWFwcGluZy0+aG9zdDsKIAlpbnQgcmV0ID0gMCwgcmV0MjsKIAlsb2ZmX3QgbmV3X2lfc2l6ZTsKIApAQCAtMTM0MCw3ICsxMzgyLDcgQEAKIAlpZiAobmV3X2lfc2l6ZSA+IEVYVDRfSShpbm9kZSktPmlfZGlza3NpemUpCiAJCUVYVDRfSShpbm9kZSktPmlfZGlza3NpemUgPSBuZXdfaV9zaXplOwogCi0JcmV0MiA9IGV4dDRfZ2VuZXJpY193cml0ZV9lbmQoZmlsZSwgbWFwcGluZywgcG9zLCBsZW4sIGNvcGllZCwKKwlyZXQyID0gZ2VuZXJpY193cml0ZV9lbmQoZmlsZSwgbWFwcGluZywgcG9zLCBsZW4sIGNvcGllZCwKIAkJCQkJCQlwYWdlLCBmc2RhdGEpOwogCWNvcGllZCA9IHJldDI7CiAJaWYgKHJldDIgPCAwKQpAQCAtMTM0OSw4ICsxMzkxLDYgQEAKIAlyZXQyID0gZXh0NF9qb3VybmFsX3N0b3AoaGFuZGxlKTsKIAlpZiAoIXJldCkKIAkJcmV0ID0gcmV0MjsKLQl1bmxvY2tfcGFnZShwYWdlKTsKLQlwYWdlX2NhY2hlX3JlbGVhc2UocGFnZSk7CiAKIAlyZXR1cm4gcmV0ID8gcmV0IDogY29waWVkOwogfQpAQCAtMTM4OSwxNCArMTQyOSw5NjUgQEAKIAkJCXJldCA9IHJldDI7CiAJfQogCisJdW5sb2NrX3BhZ2UocGFnZSk7CiAJcmV0MiA9IGV4dDRfam91cm5hbF9zdG9wKGhhbmRsZSk7CiAJaWYgKCFyZXQpCiAJCXJldCA9IHJldDI7Ci0JdW5sb2NrX3BhZ2UocGFnZSk7CiAJcGFnZV9jYWNoZV9yZWxlYXNlKHBhZ2UpOwogCiAJcmV0dXJuIHJldCA/IHJldCA6IGNvcGllZDsKIH0KKy8qCisgKiBDYWxjdWxhdGUgdGhlIG51bWJlciBvZiBtZXRhZGF0YSBibG9ja3MgbmVlZCB0byByZXNlcnZlCisgKiB0byBhbGxvY2F0ZSBAYmxvY2tzIGZvciBub24gZXh0ZW50IGZpbGUgYmFzZWQgZmlsZQorICovCitzdGF0aWMgaW50IGV4dDRfaW5kaXJlY3RfY2FsY19tZXRhZGF0YV9hbW91bnQoc3RydWN0IGlub2RlICppbm9kZSwgaW50IGJsb2NrcykKK3sKKwlpbnQgaWNhcCA9IEVYVDRfQUREUl9QRVJfQkxPQ0soaW5vZGUtPmlfc2IpOworCWludCBpbmRfYmxrcywgZGluZF9ibGtzLCB0aW5kX2Jsa3M7CisKKwkvKiBudW1iZXIgb2YgbmV3IGluZGlyZWN0IGJsb2NrcyBuZWVkZWQgKi8KKwlpbmRfYmxrcyA9IChibG9ja3MgKyBpY2FwIC0gMSkgLyBpY2FwOworCisJZGluZF9ibGtzID0gKGluZF9ibGtzICsgaWNhcCAtIDEpIC8gaWNhcDsKKworCXRpbmRfYmxrcyA9IDE7CisKKwlyZXR1cm4gaW5kX2Jsa3MgKyBkaW5kX2Jsa3MgKyB0aW5kX2Jsa3M7Cit9CisKKy8qCisgKiBDYWxjdWxhdGUgdGhlIG51bWJlciBvZiBtZXRhZGF0YSBibG9ja3MgbmVlZCB0byByZXNlcnZlCisgKiB0byBhbGxvY2F0ZSBnaXZlbiBudW1iZXIgb2YgYmxvY2tzCisgKi8KK3N0YXRpYyBpbnQgZXh0NF9jYWxjX21ldGFkYXRhX2Ftb3VudChzdHJ1Y3QgaW5vZGUgKmlub2RlLCBpbnQgYmxvY2tzKQoreworCWlmIChFWFQ0X0koaW5vZGUpLT5pX2ZsYWdzICYgRVhUNF9FWFRFTlRTX0ZMKQorCQlyZXR1cm4gZXh0NF9leHRfY2FsY19tZXRhZGF0YV9hbW91bnQoaW5vZGUsIGJsb2Nrcyk7CisKKwlyZXR1cm4gZXh0NF9pbmRpcmVjdF9jYWxjX21ldGFkYXRhX2Ftb3VudChpbm9kZSwgYmxvY2tzKTsKK30KKworc3RhdGljIGludCBleHQ0X2RhX3Jlc2VydmVfc3BhY2Uoc3RydWN0IGlub2RlICppbm9kZSwgaW50IG5yYmxvY2tzKQoreworICAgICAgIHN0cnVjdCBleHQ0X3NiX2luZm8gKnNiaSA9IEVYVDRfU0IoaW5vZGUtPmlfc2IpOworICAgICAgIHVuc2lnbmVkIGxvbmcgbWRfbmVlZGVkLCBtZGJsb2NrcywgdG90YWwgPSAwOworCisJLyoKKwkgKiByZWNhbGN1bGF0ZSB0aGUgYW1vdW50IG9mIG1ldGFkYXRhIGJsb2NrcyB0byByZXNlcnZlCisJICogaW4gb3JkZXIgdG8gYWxsb2NhdGUgbnJibG9ja3MKKwkgKiB3b3JzZSBjYXNlIGlzIG9uZSBleHRlbnQgcGVyIGJsb2NrCisJICovCisJc3Bpbl9sb2NrKCZFWFQ0X0koaW5vZGUpLT5pX2Jsb2NrX3Jlc2VydmF0aW9uX2xvY2spOworCXRvdGFsID0gRVhUNF9JKGlub2RlKS0+aV9yZXNlcnZlZF9kYXRhX2Jsb2NrcyArIG5yYmxvY2tzOworCW1kYmxvY2tzID0gZXh0NF9jYWxjX21ldGFkYXRhX2Ftb3VudChpbm9kZSwgdG90YWwpOworCUJVR19PTihtZGJsb2NrcyA8IEVYVDRfSShpbm9kZSktPmlfcmVzZXJ2ZWRfbWV0YV9ibG9ja3MpOworCisJbWRfbmVlZGVkID0gbWRibG9ja3MgLSBFWFQ0X0koaW5vZGUpLT5pX3Jlc2VydmVkX21ldGFfYmxvY2tzOworCXRvdGFsID0gbWRfbmVlZGVkICsgbnJibG9ja3M7CisKKwlpZiAoZXh0NF9oYXNfZnJlZV9ibG9ja3Moc2JpLCB0b3RhbCkgPCB0b3RhbCkgeworCQlzcGluX3VubG9jaygmRVhUNF9JKGlub2RlKS0+aV9ibG9ja19yZXNlcnZhdGlvbl9sb2NrKTsKKwkJcmV0dXJuIC1FTk9TUEM7CisJfQorCisJLyogcmVkdWNlIGZzIGZyZWUgYmxvY2tzIGNvdW50ZXIgKi8KKwlwZXJjcHVfY291bnRlcl9zdWIoJnNiaS0+c19mcmVlYmxvY2tzX2NvdW50ZXIsIHRvdGFsKTsKKworCUVYVDRfSShpbm9kZSktPmlfcmVzZXJ2ZWRfZGF0YV9ibG9ja3MgKz0gbnJibG9ja3M7CisJRVhUNF9JKGlub2RlKS0+aV9yZXNlcnZlZF9tZXRhX2Jsb2NrcyA9IG1kYmxvY2tzOworCisJc3Bpbl91bmxvY2soJkVYVDRfSShpbm9kZSktPmlfYmxvY2tfcmVzZXJ2YXRpb25fbG9jayk7CisJcmV0dXJuIDA7ICAgICAgIC8qIHN1Y2Nlc3MgKi8KK30KKwordm9pZCBleHQ0X2RhX3JlbGVhc2Vfc3BhY2Uoc3RydWN0IGlub2RlICppbm9kZSwgaW50IHVzZWQsIGludCB0b19mcmVlKQoreworCXN0cnVjdCBleHQ0X3NiX2luZm8gKnNiaSA9IEVYVDRfU0IoaW5vZGUtPmlfc2IpOworCWludCB0b3RhbCwgbWRiLCBtZGJfZnJlZSwgcmVsZWFzZTsKKworCXNwaW5fbG9jaygmRVhUNF9JKGlub2RlKS0+aV9ibG9ja19yZXNlcnZhdGlvbl9sb2NrKTsKKwkvKiByZWNhbGN1bGF0ZSB0aGUgbnVtYmVyIG9mIG1ldGFibG9ja3Mgc3RpbGwgbmVlZCB0byBiZSByZXNlcnZlZCAqLworCXRvdGFsID0gRVhUNF9JKGlub2RlKS0+aV9yZXNlcnZlZF9kYXRhX2Jsb2NrcyAtIHVzZWQgLSB0b19mcmVlOworCW1kYiA9IGV4dDRfY2FsY19tZXRhZGF0YV9hbW91bnQoaW5vZGUsIHRvdGFsKTsKKworCS8qIGZpZ3VyZSBvdXQgaG93IG1hbnkgbWV0YWJsb2NrcyB0byByZWxlYXNlICovCisJQlVHX09OKG1kYiA+IEVYVDRfSShpbm9kZSktPmlfcmVzZXJ2ZWRfbWV0YV9ibG9ja3MpOworCW1kYl9mcmVlID0gRVhUNF9JKGlub2RlKS0+aV9yZXNlcnZlZF9tZXRhX2Jsb2NrcyAtIG1kYjsKKworCS8qIEFjY291bnQgZm9yIGFsbG9jYXRlZCBtZXRhX2Jsb2NrcyAqLworCW1kYl9mcmVlIC09IEVYVDRfSShpbm9kZSktPmlfYWxsb2NhdGVkX21ldGFfYmxvY2tzOworCisJcmVsZWFzZSA9IHRvX2ZyZWUgKyBtZGJfZnJlZTsKKworCS8qIHVwZGF0ZSBmcyBmcmVlIGJsb2NrcyBjb3VudGVyIGZvciB0cnVuY2F0ZSBjYXNlICovCisJcGVyY3B1X2NvdW50ZXJfYWRkKCZzYmktPnNfZnJlZWJsb2Nrc19jb3VudGVyLCByZWxlYXNlKTsKKworCS8qIHVwZGF0ZSBwZXItaW5vZGUgcmVzZXJ2YXRpb25zICovCisJQlVHX09OKHVzZWQgKyB0b19mcmVlID4gRVhUNF9JKGlub2RlKS0+aV9yZXNlcnZlZF9kYXRhX2Jsb2Nrcyk7CisJRVhUNF9JKGlub2RlKS0+aV9yZXNlcnZlZF9kYXRhX2Jsb2NrcyAtPSAodXNlZCArIHRvX2ZyZWUpOworCisJQlVHX09OKG1kYiA+IEVYVDRfSShpbm9kZSktPmlfcmVzZXJ2ZWRfbWV0YV9ibG9ja3MpOworCUVYVDRfSShpbm9kZSktPmlfcmVzZXJ2ZWRfbWV0YV9ibG9ja3MgPSBtZGI7CisJRVhUNF9JKGlub2RlKS0+aV9hbGxvY2F0ZWRfbWV0YV9ibG9ja3MgPSAwOworCXNwaW5fdW5sb2NrKCZFWFQ0X0koaW5vZGUpLT5pX2Jsb2NrX3Jlc2VydmF0aW9uX2xvY2spOworfQorCitzdGF0aWMgdm9pZCBleHQ0X2RhX3BhZ2VfcmVsZWFzZV9yZXNlcnZhdGlvbihzdHJ1Y3QgcGFnZSAqcGFnZSwKKwkJCQkJCXVuc2lnbmVkIGxvbmcgb2Zmc2V0KQoreworCWludCB0b19yZWxlYXNlID0gMDsKKwlzdHJ1Y3QgYnVmZmVyX2hlYWQgKmhlYWQsICpiaDsKKwl1bnNpZ25lZCBpbnQgY3Vycl9vZmYgPSAwOworCisJaGVhZCA9IHBhZ2VfYnVmZmVycyhwYWdlKTsKKwliaCA9IGhlYWQ7CisJZG8geworCQl1bnNpZ25lZCBpbnQgbmV4dF9vZmYgPSBjdXJyX29mZiArIGJoLT5iX3NpemU7CisKKwkJaWYgKChvZmZzZXQgPD0gY3Vycl9vZmYpICYmIChidWZmZXJfZGVsYXkoYmgpKSkgeworCQkJdG9fcmVsZWFzZSsrOworCQkJY2xlYXJfYnVmZmVyX2RlbGF5KGJoKTsKKwkJfQorCQljdXJyX29mZiA9IG5leHRfb2ZmOworCX0gd2hpbGUgKChiaCA9IGJoLT5iX3RoaXNfcGFnZSkgIT0gaGVhZCk7CisJZXh0NF9kYV9yZWxlYXNlX3NwYWNlKHBhZ2UtPm1hcHBpbmctPmhvc3QsIDAsIHRvX3JlbGVhc2UpOworfQorCisvKgorICogRGVsYXllZCBhbGxvY2F0aW9uIHN0dWZmCisgKi8KKworc3RydWN0IG1wYWdlX2RhX2RhdGEgeworCXN0cnVjdCBpbm9kZSAqaW5vZGU7CisJc3RydWN0IGJ1ZmZlcl9oZWFkIGxiaDsJCQkvKiBleHRlbnQgb2YgYmxvY2tzICovCisJdW5zaWduZWQgbG9uZyBmaXJzdF9wYWdlLCBuZXh0X3BhZ2U7CS8qIGV4dGVudCBvZiBwYWdlcyAqLworCWdldF9ibG9ja190ICpnZXRfYmxvY2s7CisJc3RydWN0IHdyaXRlYmFja19jb250cm9sICp3YmM7Cit9OworCisvKgorICogbXBhZ2VfZGFfc3VibWl0X2lvIC0gd2Fsa3MgdGhyb3VnaCBleHRlbnQgb2YgcGFnZXMgYW5kIHRyeSB0byB3cml0ZQorICogdGhlbSB3aXRoIF9fbXBhZ2Vfd3JpdGVwYWdlKCkKKyAqCisgKiBAbXBkLT5pbm9kZTogaW5vZGUKKyAqIEBtcGQtPmZpcnN0X3BhZ2U6IGZpcnN0IHBhZ2Ugb2YgdGhlIGV4dGVudAorICogQG1wZC0+bmV4dF9wYWdlOiBwYWdlIGFmdGVyIHRoZSBsYXN0IHBhZ2Ugb2YgdGhlIGV4dGVudAorICogQG1wZC0+Z2V0X2Jsb2NrOiB0aGUgZmlsZXN5c3RlbSdzIGJsb2NrIG1hcHBlciBmdW5jdGlvbgorICoKKyAqIEJ5IHRoZSB0aW1lIG1wYWdlX2RhX3N1Ym1pdF9pbygpIGlzIGNhbGxlZCB3ZSBleHBlY3QgYWxsIGJsb2NrcworICogdG8gYmUgYWxsb2NhdGVkLiB0aGlzIG1heSBiZSB3cm9uZyBpZiBhbGxvY2F0aW9uIGZhaWxlZC4KKyAqCisgKiBBcyBwYWdlcyBhcmUgYWxyZWFkeSBsb2NrZWQgYnkgd3JpdGVfY2FjaGVfcGFnZXMoKSwgd2UgY2FuJ3QgdXNlIGl0CisgKi8KK3N0YXRpYyBpbnQgbXBhZ2VfZGFfc3VibWl0X2lvKHN0cnVjdCBtcGFnZV9kYV9kYXRhICptcGQpCit7CisJc3RydWN0IGFkZHJlc3Nfc3BhY2UgKm1hcHBpbmcgPSBtcGQtPmlub2RlLT5pX21hcHBpbmc7CisJc3RydWN0IG1wYWdlX2RhdGEgbXBkX3BwID0geworCQkuYmlvID0gTlVMTCwKKwkJLmxhc3RfYmxvY2tfaW5fYmlvID0gMCwKKwkJLmdldF9ibG9jayA9IG1wZC0+Z2V0X2Jsb2NrLAorCQkudXNlX3dyaXRlcGFnZSA9IDEsCisJfTsKKwlpbnQgcmV0ID0gMCwgZXJyLCBucl9wYWdlcywgaTsKKwl1bnNpZ25lZCBsb25nIGluZGV4LCBlbmQ7CisJc3RydWN0IHBhZ2V2ZWMgcHZlYzsKKworCUJVR19PTihtcGQtPm5leHRfcGFnZSA8PSBtcGQtPmZpcnN0X3BhZ2UpOworCisJcGFnZXZlY19pbml0KCZwdmVjLCAwKTsKKwlpbmRleCA9IG1wZC0+Zmlyc3RfcGFnZTsKKwllbmQgPSBtcGQtPm5leHRfcGFnZSAtIDE7CisKKwl3aGlsZSAoaW5kZXggPD0gZW5kKSB7CisJCS8qIFhYWDogb3B0aW1pemUgdGFpbCAqLworCQlucl9wYWdlcyA9IHBhZ2V2ZWNfbG9va3VwKCZwdmVjLCBtYXBwaW5nLCBpbmRleCwgUEFHRVZFQ19TSVpFKTsKKwkJaWYgKG5yX3BhZ2VzID09IDApCisJCQlicmVhazsKKwkJZm9yIChpID0gMDsgaSA8IG5yX3BhZ2VzOyBpKyspIHsKKwkJCXN0cnVjdCBwYWdlICpwYWdlID0gcHZlYy5wYWdlc1tpXTsKKworCQkJaW5kZXggPSBwYWdlLT5pbmRleDsKKwkJCWlmIChpbmRleCA+IGVuZCkKKwkJCQlicmVhazsKKwkJCWluZGV4Kys7CisKKwkJCWVyciA9IF9fbXBhZ2Vfd3JpdGVwYWdlKHBhZ2UsIG1wZC0+d2JjLCAmbXBkX3BwKTsKKworCQkJLyoKKwkJCSAqIEluIGVycm9yIGNhc2UsIHdlIGhhdmUgdG8gY29udGludWUgYmVjYXVzZQorCQkJICogcmVtYWluaW5nIHBhZ2VzIGFyZSBzdGlsbCBsb2NrZWQKKwkJCSAqIFhYWDogdW5sb2NrIGFuZCByZS1kaXJ0eSB0aGVtPworCQkJICovCisJCQlpZiAocmV0ID09IDApCisJCQkJcmV0ID0gZXJyOworCQl9CisJCXBhZ2V2ZWNfcmVsZWFzZSgmcHZlYyk7CisJfQorCWlmIChtcGRfcHAuYmlvKQorCQltcGFnZV9iaW9fc3VibWl0KFdSSVRFLCBtcGRfcHAuYmlvKTsKKworCXJldHVybiByZXQ7Cit9CisKKy8qCisgKiBtcGFnZV9wdXRfYm5yX3RvX2JocyAtIHdhbGsgYmxvY2tzIGFuZCBhc3NpZ24gdGhlbSBhY3R1YWwgbnVtYmVycworICoKKyAqIEBtcGQtPmlub2RlIC0gaW5vZGUgdG8gd2FsayB0aHJvdWdoCisgKiBAZXhiaC0+Yl9ibG9ja25yIC0gZmlyc3QgYmxvY2sgb24gYSBkaXNrCisgKiBAZXhiaC0+Yl9zaXplIC0gYW1vdW50IG9mIHNwYWNlIGluIGJ5dGVzCisgKiBAbG9naWNhbCAtIGZpcnN0IGxvZ2ljYWwgYmxvY2sgdG8gc3RhcnQgYXNzaWdubWVudCB3aXRoCisgKgorICogdGhlIGZ1bmN0aW9uIGdvZXMgdGhyb3VnaCBhbGwgcGFzc2VkIHNwYWNlIGFuZCBwdXQgYWN0dWFsIGRpc2sKKyAqIGJsb2NrIG51bWJlcnMgaW50byBidWZmZXIgaGVhZHMsIGRyb3BwaW5nIEJIX0RlbGF5CisgKi8KK3N0YXRpYyB2b2lkIG1wYWdlX3B1dF9ibnJfdG9fYmhzKHN0cnVjdCBtcGFnZV9kYV9kYXRhICptcGQsIHNlY3Rvcl90IGxvZ2ljYWwsCisJCQkJIHN0cnVjdCBidWZmZXJfaGVhZCAqZXhiaCkKK3sKKwlzdHJ1Y3QgaW5vZGUgKmlub2RlID0gbXBkLT5pbm9kZTsKKwlzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZyA9IGlub2RlLT5pX21hcHBpbmc7CisJaW50IGJsb2NrcyA9IGV4YmgtPmJfc2l6ZSA+PiBpbm9kZS0+aV9ibGtiaXRzOworCXNlY3Rvcl90IHBibG9jayA9IGV4YmgtPmJfYmxvY2tuciwgY3VyX2xvZ2ljYWw7CisJc3RydWN0IGJ1ZmZlcl9oZWFkICpoZWFkLCAqYmg7CisJdW5zaWduZWQgbG9uZyBpbmRleCwgZW5kOworCXN0cnVjdCBwYWdldmVjIHB2ZWM7CisJaW50IG5yX3BhZ2VzLCBpOworCisJaW5kZXggPSBsb2dpY2FsID4+IChQQUdFX0NBQ0hFX1NISUZUIC0gaW5vZGUtPmlfYmxrYml0cyk7CisJZW5kID0gKGxvZ2ljYWwgKyBibG9ja3MgLSAxKSA+PiAoUEFHRV9DQUNIRV9TSElGVCAtIGlub2RlLT5pX2Jsa2JpdHMpOworCWN1cl9sb2dpY2FsID0gaW5kZXggPDwgKFBBR0VfQ0FDSEVfU0hJRlQgLSBpbm9kZS0+aV9ibGtiaXRzKTsKKworCXBhZ2V2ZWNfaW5pdCgmcHZlYywgMCk7CisKKwl3aGlsZSAoaW5kZXggPD0gZW5kKSB7CisJCS8qIFhYWDogb3B0aW1pemUgdGFpbCAqLworCQlucl9wYWdlcyA9IHBhZ2V2ZWNfbG9va3VwKCZwdmVjLCBtYXBwaW5nLCBpbmRleCwgUEFHRVZFQ19TSVpFKTsKKwkJaWYgKG5yX3BhZ2VzID09IDApCisJCQlicmVhazsKKwkJZm9yIChpID0gMDsgaSA8IG5yX3BhZ2VzOyBpKyspIHsKKwkJCXN0cnVjdCBwYWdlICpwYWdlID0gcHZlYy5wYWdlc1tpXTsKKworCQkJaW5kZXggPSBwYWdlLT5pbmRleDsKKwkJCWlmIChpbmRleCA+IGVuZCkKKwkJCQlicmVhazsKKwkJCWluZGV4Kys7CisKKwkJCUJVR19PTighUGFnZUxvY2tlZChwYWdlKSk7CisJCQlCVUdfT04oUGFnZVdyaXRlYmFjayhwYWdlKSk7CisJCQlCVUdfT04oIXBhZ2VfaGFzX2J1ZmZlcnMocGFnZSkpOworCisJCQliaCA9IHBhZ2VfYnVmZmVycyhwYWdlKTsKKwkJCWhlYWQgPSBiaDsKKworCQkJLyogc2tpcCBibG9ja3Mgb3V0IG9mIHRoZSByYW5nZSAqLworCQkJZG8geworCQkJCWlmIChjdXJfbG9naWNhbCA+PSBsb2dpY2FsKQorCQkJCQlicmVhazsKKwkJCQljdXJfbG9naWNhbCsrOworCQkJfSB3aGlsZSAoKGJoID0gYmgtPmJfdGhpc19wYWdlKSAhPSBoZWFkKTsKKworCQkJZG8geworCQkJCWlmIChjdXJfbG9naWNhbCA+PSBsb2dpY2FsICsgYmxvY2tzKQorCQkJCQlicmVhazsKKwkJCQlpZiAoYnVmZmVyX2RlbGF5KGJoKSkgeworCQkJCQliaC0+Yl9ibG9ja25yID0gcGJsb2NrOworCQkJCQljbGVhcl9idWZmZXJfZGVsYXkoYmgpOworCQkJCX0gZWxzZSBpZiAoYnVmZmVyX21hcHBlZChiaCkpCisJCQkJCUJVR19PTihiaC0+Yl9ibG9ja25yICE9IHBibG9jayk7CisKKwkJCQljdXJfbG9naWNhbCsrOworCQkJCXBibG9jaysrOworCQkJfSB3aGlsZSAoKGJoID0gYmgtPmJfdGhpc19wYWdlKSAhPSBoZWFkKTsKKwkJfQorCQlwYWdldmVjX3JlbGVhc2UoJnB2ZWMpOworCX0KK30KKworCisvKgorICogX191bm1hcF91bmRlcmx5aW5nX2Jsb2NrcyAtIGp1c3QgYSBoZWxwZXIgZnVuY3Rpb24gdG8gdW5tYXAKKyAqIHNldCBvZiBibG9ja3MgZGVzY3JpYmVkIGJ5IEBiaAorICovCitzdGF0aWMgaW5saW5lIHZvaWQgX191bm1hcF91bmRlcmx5aW5nX2Jsb2NrcyhzdHJ1Y3QgaW5vZGUgKmlub2RlLAorCQkJCQkgICAgIHN0cnVjdCBidWZmZXJfaGVhZCAqYmgpCit7CisJc3RydWN0IGJsb2NrX2RldmljZSAqYmRldiA9IGlub2RlLT5pX3NiLT5zX2JkZXY7CisJaW50IGJsb2NrcywgaTsKKworCWJsb2NrcyA9IGJoLT5iX3NpemUgPj4gaW5vZGUtPmlfYmxrYml0czsKKwlmb3IgKGkgPSAwOyBpIDwgYmxvY2tzOyBpKyspCisJCXVubWFwX3VuZGVybHlpbmdfbWV0YWRhdGEoYmRldiwgYmgtPmJfYmxvY2tuciArIGkpOworfQorCisvKgorICogbXBhZ2VfZGFfbWFwX2Jsb2NrcyAtIGdvIHRocm91Z2ggZ2l2ZW4gc3BhY2UKKyAqCisgKiBAbXBkLT5sYmggLSBiaCBkZXNjcmliaW5nIHNwYWNlCisgKiBAbXBkLT5nZXRfYmxvY2sgLSB0aGUgZmlsZXN5c3RlbSdzIGJsb2NrIG1hcHBlciBmdW5jdGlvbgorICoKKyAqIFRoZSBmdW5jdGlvbiBza2lwcyBzcGFjZSB3ZSBrbm93IGlzIGFscmVhZHkgbWFwcGVkIHRvIGRpc2sgYmxvY2tzLgorICoKKyAqIFRoZSBmdW5jdGlvbiBpZ25vcmVzIGVycm9ycyAtPmdldF9ibG9jaygpIHJldHVybnMsIHRodXMgcmVhbAorICogZXJyb3IgaGFuZGxpbmcgaXMgcG9zdHBvbmVkIHRvIF9fbXBhZ2Vfd3JpdGVwYWdlKCkKKyAqLworc3RhdGljIHZvaWQgbXBhZ2VfZGFfbWFwX2Jsb2NrcyhzdHJ1Y3QgbXBhZ2VfZGFfZGF0YSAqbXBkKQoreworCXN0cnVjdCBidWZmZXJfaGVhZCAqbGJoID0gJm1wZC0+bGJoOworCWludCBlcnIgPSAwLCByZW1haW4gPSBsYmgtPmJfc2l6ZTsKKwlzZWN0b3JfdCBuZXh0ID0gbGJoLT5iX2Jsb2NrbnI7CisJc3RydWN0IGJ1ZmZlcl9oZWFkIG5ldzsKKworCS8qCisJICogV2UgY29uc2lkZXIgb25seSBub24tbWFwcGVkIGFuZCBub24tYWxsb2NhdGVkIGJsb2NrcworCSAqLworCWlmIChidWZmZXJfbWFwcGVkKGxiaCkgJiYgIWJ1ZmZlcl9kZWxheShsYmgpKQorCQlyZXR1cm47CisKKwl3aGlsZSAocmVtYWluKSB7CisJCW5ldy5iX3N0YXRlID0gbGJoLT5iX3N0YXRlOworCQluZXcuYl9ibG9ja25yID0gMDsKKwkJbmV3LmJfc2l6ZSA9IHJlbWFpbjsKKwkJZXJyID0gbXBkLT5nZXRfYmxvY2sobXBkLT5pbm9kZSwgbmV4dCwgJm5ldywgMSk7CisJCWlmIChlcnIpIHsKKwkJCS8qCisJCQkgKiBSYXRoZXIgdGhhbiBpbXBsZW1lbnQgb3duIGVycm9yIGhhbmRsaW5nCisJCQkgKiBoZXJlLCB3ZSBqdXN0IGxlYXZlIHJlbWFpbmluZyBibG9ja3MKKwkJCSAqIHVuYWxsb2NhdGVkIGFuZCB0cnkgYWdhaW4gd2l0aCAtPndyaXRlcGFnZSgpCisJCQkgKi8KKwkJCWJyZWFrOworCQl9CisJCUJVR19PTihuZXcuYl9zaXplID09IDApOworCisJCWlmIChidWZmZXJfbmV3KCZuZXcpKQorCQkJX191bm1hcF91bmRlcmx5aW5nX2Jsb2NrcyhtcGQtPmlub2RlLCAmbmV3KTsKKworCQkvKgorCQkgKiBJZiBibG9ja3MgYXJlIGRlbGF5ZWQgbWFya2VkLCB3ZSBuZWVkIHRvCisJCSAqIHB1dCBhY3R1YWwgYmxvY2tuciBhbmQgZHJvcCBkZWxheWVkIGJpdAorCQkgKi8KKwkJaWYgKGJ1ZmZlcl9kZWxheShsYmgpKQorCQkJbXBhZ2VfcHV0X2Jucl90b19iaHMobXBkLCBuZXh0LCAmbmV3KTsKKworCQkvKiBnbyBmb3IgdGhlIHJlbWFpbmluZyBibG9ja3MgKi8KKwkJbmV4dCArPSBuZXcuYl9zaXplID4+IG1wZC0+aW5vZGUtPmlfYmxrYml0czsKKwkJcmVtYWluIC09IG5ldy5iX3NpemU7CisJfQorfQorCisjZGVmaW5lIEJIX0ZMQUdTICgoMSA8PCBCSF9VcHRvZGF0ZSkgfCAoMSA8PCBCSF9NYXBwZWQpIHwgKDEgPDwgQkhfRGVsYXkpKQorCisvKgorICogbXBhZ2VfYWRkX2JoX3RvX2V4dGVudCAtIHRyeSB0byBhZGQgb25lIG1vcmUgYmxvY2sgdG8gZXh0ZW50IG9mIGJsb2NrcworICoKKyAqIEBtcGQtPmxiaCAtIGV4dGVudCBvZiBibG9ja3MKKyAqIEBsb2dpY2FsIC0gbG9naWNhbCBudW1iZXIgb2YgdGhlIGJsb2NrIGluIHRoZSBmaWxlCisgKiBAYmggLSBiaCBvZiB0aGUgYmxvY2sgKHVzZWQgdG8gYWNjZXNzIGJsb2NrJ3Mgc3RhdGUpCisgKgorICogdGhlIGZ1bmN0aW9uIGlzIHVzZWQgdG8gY29sbGVjdCBjb250aWcuIGJsb2NrcyBpbiBzYW1lIHN0YXRlCisgKi8KK3N0YXRpYyB2b2lkIG1wYWdlX2FkZF9iaF90b19leHRlbnQoc3RydWN0IG1wYWdlX2RhX2RhdGEgKm1wZCwKKwkJCQkgICBzZWN0b3JfdCBsb2dpY2FsLCBzdHJ1Y3QgYnVmZmVyX2hlYWQgKmJoKQoreworCXN0cnVjdCBidWZmZXJfaGVhZCAqbGJoID0gJm1wZC0+bGJoOworCXNlY3Rvcl90IG5leHQ7CisKKwluZXh0ID0gbGJoLT5iX2Jsb2NrbnIgKyAobGJoLT5iX3NpemUgPj4gbXBkLT5pbm9kZS0+aV9ibGtiaXRzKTsKKworCS8qCisJICogRmlyc3QgYmxvY2sgaW4gdGhlIGV4dGVudAorCSAqLworCWlmIChsYmgtPmJfc2l6ZSA9PSAwKSB7CisJCWxiaC0+Yl9ibG9ja25yID0gbG9naWNhbDsKKwkJbGJoLT5iX3NpemUgPSBiaC0+Yl9zaXplOworCQlsYmgtPmJfc3RhdGUgPSBiaC0+Yl9zdGF0ZSAmIEJIX0ZMQUdTOworCQlyZXR1cm47CisJfQorCisJLyoKKwkgKiBDYW4gd2UgbWVyZ2UgdGhlIGJsb2NrIHRvIG91ciBiaWcgZXh0ZW50PworCSAqLworCWlmIChsb2dpY2FsID09IG5leHQgJiYgKGJoLT5iX3N0YXRlICYgQkhfRkxBR1MpID09IGxiaC0+Yl9zdGF0ZSkgeworCQlsYmgtPmJfc2l6ZSArPSBiaC0+Yl9zaXplOworCQlyZXR1cm47CisJfQorCisJLyoKKwkgKiBXZSBjb3VsZG4ndCBtZXJnZSB0aGUgYmxvY2sgdG8gb3VyIGV4dGVudCwgc28gd2UKKwkgKiBuZWVkIHRvIGZsdXNoIGN1cnJlbnQgIGV4dGVudCBhbmQgc3RhcnQgbmV3IG9uZQorCSAqLworCW1wYWdlX2RhX21hcF9ibG9ja3MobXBkKTsKKworCS8qCisJICogTm93IHN0YXJ0IGEgbmV3IGV4dGVudAorCSAqLworCWxiaC0+Yl9zaXplID0gYmgtPmJfc2l6ZTsKKwlsYmgtPmJfc3RhdGUgPSBiaC0+Yl9zdGF0ZSAmIEJIX0ZMQUdTOworCWxiaC0+Yl9ibG9ja25yID0gbG9naWNhbDsKK30KKworLyoKKyAqIF9fbXBhZ2VfZGFfd3JpdGVwYWdlIC0gZmluZHMgZXh0ZW50IG9mIHBhZ2VzIGFuZCBibG9ja3MKKyAqCisgKiBAcGFnZTogcGFnZSB0byBjb25zaWRlcgorICogQHdiYzogbm90IHVzZWQsIHdlIGp1c3QgZm9sbG93IHJ1bGVzCisgKiBAZGF0YTogY29udGV4dAorICoKKyAqIFRoZSBmdW5jdGlvbiBmaW5kcyBleHRlbnRzIG9mIHBhZ2VzIGFuZCBzY2FuIHRoZW0gZm9yIGFsbCBibG9ja3MuCisgKi8KK3N0YXRpYyBpbnQgX19tcGFnZV9kYV93cml0ZXBhZ2Uoc3RydWN0IHBhZ2UgKnBhZ2UsCisJCQkJc3RydWN0IHdyaXRlYmFja19jb250cm9sICp3YmMsIHZvaWQgKmRhdGEpCit7CisJc3RydWN0IG1wYWdlX2RhX2RhdGEgKm1wZCA9IGRhdGE7CisJc3RydWN0IGlub2RlICppbm9kZSA9IG1wZC0+aW5vZGU7CisJc3RydWN0IGJ1ZmZlcl9oZWFkICpiaCwgKmhlYWQsIGZha2U7CisJc2VjdG9yX3QgbG9naWNhbDsKKworCS8qCisJICogQ2FuIHdlIG1lcmdlIHRoaXMgcGFnZSB0byBjdXJyZW50IGV4dGVudD8KKwkgKi8KKwlpZiAobXBkLT5uZXh0X3BhZ2UgIT0gcGFnZS0+aW5kZXgpIHsKKwkJLyoKKwkJICogTm9wZSwgd2UgY2FuJ3QuIFNvLCB3ZSBtYXAgbm9uLWFsbG9jYXRlZCBibG9ja3MKKwkJICogYW5kIHN0YXJ0IElPIG9uIHRoZW0gdXNpbmcgX19tcGFnZV93cml0ZXBhZ2UoKQorCQkgKi8KKwkJaWYgKG1wZC0+bmV4dF9wYWdlICE9IG1wZC0+Zmlyc3RfcGFnZSkgeworCQkJbXBhZ2VfZGFfbWFwX2Jsb2NrcyhtcGQpOworCQkJbXBhZ2VfZGFfc3VibWl0X2lvKG1wZCk7CisJCX0KKworCQkvKgorCQkgKiBTdGFydCBuZXh0IGV4dGVudCBvZiBwYWdlcyAuLi4KKwkJICovCisJCW1wZC0+Zmlyc3RfcGFnZSA9IHBhZ2UtPmluZGV4OworCisJCS8qCisJCSAqIC4uLiBhbmQgYmxvY2tzCisJCSAqLworCQltcGQtPmxiaC5iX3NpemUgPSAwOworCQltcGQtPmxiaC5iX3N0YXRlID0gMDsKKwkJbXBkLT5sYmguYl9ibG9ja25yID0gMDsKKwl9CisKKwltcGQtPm5leHRfcGFnZSA9IHBhZ2UtPmluZGV4ICsgMTsKKwlsb2dpY2FsID0gKHNlY3Rvcl90KSBwYWdlLT5pbmRleCA8PAorCQkgIChQQUdFX0NBQ0hFX1NISUZUIC0gaW5vZGUtPmlfYmxrYml0cyk7CisKKwlpZiAoIXBhZ2VfaGFzX2J1ZmZlcnMocGFnZSkpIHsKKwkJLyoKKwkJICogVGhlcmUgaXMgbm8gYXR0YWNoZWQgYnVmZmVyIGhlYWRzIHlldCAobW1hcD8pCisJCSAqIHdlIHRyZWF0IHRoZSBwYWdlIGFzZnVsbCBvZiBkaXJ0eSBibG9ja3MKKwkJICovCisJCWJoID0gJmZha2U7CisJCWJoLT5iX3NpemUgPSBQQUdFX0NBQ0hFX1NJWkU7CisJCWJoLT5iX3N0YXRlID0gMDsKKwkJc2V0X2J1ZmZlcl9kaXJ0eShiaCk7CisJCXNldF9idWZmZXJfdXB0b2RhdGUoYmgpOworCQltcGFnZV9hZGRfYmhfdG9fZXh0ZW50KG1wZCwgbG9naWNhbCwgYmgpOworCX0gZWxzZSB7CisJCS8qCisJCSAqIFBhZ2Ugd2l0aCByZWd1bGFyIGJ1ZmZlciBoZWFkcywganVzdCBhZGQgYWxsIGRpcnR5IG9uZXMKKwkJICovCisJCWhlYWQgPSBwYWdlX2J1ZmZlcnMocGFnZSk7CisJCWJoID0gaGVhZDsKKwkJZG8geworCQkJQlVHX09OKGJ1ZmZlcl9sb2NrZWQoYmgpKTsKKwkJCWlmIChidWZmZXJfZGlydHkoYmgpKQorCQkJCW1wYWdlX2FkZF9iaF90b19leHRlbnQobXBkLCBsb2dpY2FsLCBiaCk7CisJCQlsb2dpY2FsKys7CisJCX0gd2hpbGUgKChiaCA9IGJoLT5iX3RoaXNfcGFnZSkgIT0gaGVhZCk7CisJfQorCisJcmV0dXJuIDA7Cit9CisKKy8qCisgKiBtcGFnZV9kYV93cml0ZXBhZ2VzIC0gd2FsayB0aGUgbGlzdCBvZiBkaXJ0eSBwYWdlcyBvZiB0aGUgZ2l2ZW4KKyAqIGFkZHJlc3Mgc3BhY2UsIGFsbG9jYXRlcyBub24tYWxsb2NhdGVkIGJsb2NrcywgbWFwcyBuZXdseS1hbGxvY2F0ZWQKKyAqIGJsb2NrcyB0byBleGlzdGluZyBiaHMgYW5kIGlzc3VlIElPIHRoZW0KKyAqCisgKiBAbWFwcGluZzogYWRkcmVzcyBzcGFjZSBzdHJ1Y3R1cmUgdG8gd3JpdGUKKyAqIEB3YmM6IHN1YnRyYWN0IHRoZSBudW1iZXIgb2Ygd3JpdHRlbiBwYWdlcyBmcm9tICpAd2JjLT5ucl90b193cml0ZQorICogQGdldF9ibG9jazogdGhlIGZpbGVzeXN0ZW0ncyBibG9jayBtYXBwZXIgZnVuY3Rpb24uCisgKgorICogVGhpcyBpcyBhIGxpYnJhcnkgZnVuY3Rpb24sIHdoaWNoIGltcGxlbWVudHMgdGhlIHdyaXRlcGFnZXMoKQorICogYWRkcmVzc19zcGFjZV9vcGVyYXRpb24uCisgKgorICogSW4gb3JkZXIgdG8gYXZvaWQgZHVwbGljYXRpb24gb2YgbG9naWMgdGhhdCBkZWFscyB3aXRoIHBhcnRpYWwgcGFnZXMsCisgKiBtdWx0aXBsZSBiaW8gcGVyIHBhZ2UsIGV0Yywgd2UgZmluZCBub24tYWxsb2NhdGVkIGJsb2NrcywgYWxsb2NhdGUKKyAqIHRoZW0gd2l0aCBtaW5pbWFsIGNhbGxzIHRvIC0+Z2V0X2Jsb2NrKCkgYW5kIHJlLXVzZSBfX21wYWdlX3dyaXRlcGFnZSgpCisgKgorICogSXQncyBpbXBvcnRhbnQgdGhhdCB3ZSBjYWxsIF9fbXBhZ2Vfd3JpdGVwYWdlKCkgb25seSBvbmNlIGZvciBlYWNoCisgKiBpbnZvbHZlZCBwYWdlLCBvdGhlcndpc2Ugd2UnZCBoYXZlIHRvIGltcGxlbWVudCBtb3JlIGNvbXBsaWNhdGVkIGxvZ2ljCisgKiB0byBkZWFsIHdpdGggcGFnZXMgdy9vIFBHX2xvY2sgb3Igdy8gUEdfd3JpdGViYWNrIGFuZCBzbyBvbi4KKyAqCisgKiBTZWUgY29tbWVudHMgdG8gbXBhZ2Vfd3JpdGVwYWdlcygpCisgKi8KK3N0YXRpYyBpbnQgbXBhZ2VfZGFfd3JpdGVwYWdlcyhzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZywKKwkJCSAgICAgICBzdHJ1Y3Qgd3JpdGViYWNrX2NvbnRyb2wgKndiYywKKwkJCSAgICAgICBnZXRfYmxvY2tfdCBnZXRfYmxvY2spCit7CisJc3RydWN0IG1wYWdlX2RhX2RhdGEgbXBkOworCWludCByZXQ7CisKKwlpZiAoIWdldF9ibG9jaykKKwkJcmV0dXJuIGdlbmVyaWNfd3JpdGVwYWdlcyhtYXBwaW5nLCB3YmMpOworCisJbXBkLndiYyA9IHdiYzsKKwltcGQuaW5vZGUgPSBtYXBwaW5nLT5ob3N0OworCW1wZC5sYmguYl9zaXplID0gMDsKKwltcGQubGJoLmJfc3RhdGUgPSAwOworCW1wZC5sYmguYl9ibG9ja25yID0gMDsKKwltcGQuZmlyc3RfcGFnZSA9IDA7CisJbXBkLm5leHRfcGFnZSA9IDA7CisJbXBkLmdldF9ibG9jayA9IGdldF9ibG9jazsKKworCXJldCA9IHdyaXRlX2NhY2hlX3BhZ2VzKG1hcHBpbmcsIHdiYywgX19tcGFnZV9kYV93cml0ZXBhZ2UsICZtcGQpOworCisJLyoKKwkgKiBIYW5kbGUgbGFzdCBleHRlbnQgb2YgcGFnZXMKKwkgKi8KKwlpZiAobXBkLm5leHRfcGFnZSAhPSBtcGQuZmlyc3RfcGFnZSkgeworCQltcGFnZV9kYV9tYXBfYmxvY2tzKCZtcGQpOworCQltcGFnZV9kYV9zdWJtaXRfaW8oJm1wZCk7CisJfQorCisJcmV0dXJuIHJldDsKK30KKworLyoKKyAqIHRoaXMgaXMgYSBzcGVjaWFsIGNhbGxiYWNrIGZvciAtPndyaXRlX2JlZ2luKCkgb25seQorICogaXQncyBpbnRlbnRpb24gaXMgdG8gcmV0dXJuIG1hcHBlZCBibG9jayBvciByZXNlcnZlIHNwYWNlCisgKi8KK3N0YXRpYyBpbnQgZXh0NF9kYV9nZXRfYmxvY2tfcHJlcChzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzZWN0b3JfdCBpYmxvY2ssCisJCQkJICBzdHJ1Y3QgYnVmZmVyX2hlYWQgKmJoX3Jlc3VsdCwgaW50IGNyZWF0ZSkKK3sKKwlpbnQgcmV0ID0gMDsKKworCUJVR19PTihjcmVhdGUgPT0gMCk7CisJQlVHX09OKGJoX3Jlc3VsdC0+Yl9zaXplICE9IGlub2RlLT5pX3NiLT5zX2Jsb2Nrc2l6ZSk7CisKKwkvKgorCSAqIGZpcnN0LCB3ZSBuZWVkIHRvIGtub3cgd2hldGhlciB0aGUgYmxvY2sgaXMgYWxsb2NhdGVkIGFscmVhZHkKKwkgKiBwcmVhbGxvY2F0ZWQgYmxvY2tzIGFyZSB1bm1hcHBlZCBidXQgc2hvdWxkIHRyZWF0ZWQKKwkgKiB0aGUgc2FtZSBhcyBhbGxvY2F0ZWQgYmxvY2tzLgorCSAqLworCXJldCA9IGV4dDRfZ2V0X2Jsb2Nrc193cmFwKE5VTEwsIGlub2RlLCBpYmxvY2ssIDEsICBiaF9yZXN1bHQsIDAsIDAsIDApOworCWlmICgocmV0ID09IDApICYmICFidWZmZXJfZGVsYXkoYmhfcmVzdWx0KSkgeworCQkvKiB0aGUgYmxvY2sgaXNuJ3QgKHByZSlhbGxvY2F0ZWQgeWV0LCBsZXQncyByZXNlcnZlIHNwYWNlICovCisJCS8qCisJCSAqIFhYWDogX19ibG9ja19wcmVwYXJlX3dyaXRlKCkgdW5tYXBzIHBhc3NlZCBibG9jaywKKwkJICogaXMgaXQgT0s/CisJCSAqLworCQlyZXQgPSBleHQ0X2RhX3Jlc2VydmVfc3BhY2UoaW5vZGUsIDEpOworCQlpZiAocmV0KQorCQkJLyogbm90IGVub3VnaCBzcGFjZSB0byByZXNlcnZlICovCisJCQlyZXR1cm4gcmV0OworCisJCW1hcF9iaChiaF9yZXN1bHQsIGlub2RlLT5pX3NiLCAwKTsKKwkJc2V0X2J1ZmZlcl9uZXcoYmhfcmVzdWx0KTsKKwkJc2V0X2J1ZmZlcl9kZWxheShiaF9yZXN1bHQpOworCX0gZWxzZSBpZiAocmV0ID4gMCkgeworCQliaF9yZXN1bHQtPmJfc2l6ZSA9IChyZXQgPDwgaW5vZGUtPmlfYmxrYml0cyk7CisJCXJldCA9IDA7CisJfQorCisJcmV0dXJuIHJldDsKK30KKyNkZWZpbmUJCUVYVDRfREVMQUxMT0NfUlNWRUQJMQorc3RhdGljIGludCBleHQ0X2RhX2dldF9ibG9ja193cml0ZShzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzZWN0b3JfdCBpYmxvY2ssCisJCQkJICAgc3RydWN0IGJ1ZmZlcl9oZWFkICpiaF9yZXN1bHQsIGludCBjcmVhdGUpCit7CisJaW50IHJldDsKKwl1bnNpZ25lZCBtYXhfYmxvY2tzID0gYmhfcmVzdWx0LT5iX3NpemUgPj4gaW5vZGUtPmlfYmxrYml0czsKKwlsb2ZmX3QgZGlza3NpemUgPSBFWFQ0X0koaW5vZGUpLT5pX2Rpc2tzaXplOworCWhhbmRsZV90ICpoYW5kbGUgPSBOVUxMOworCisJaGFuZGxlID0gZXh0NF9qb3VybmFsX2N1cnJlbnRfaGFuZGxlKCk7CisJaWYgKCFoYW5kbGUpIHsKKwkJcmV0ID0gZXh0NF9nZXRfYmxvY2tzX3dyYXAoaGFuZGxlLCBpbm9kZSwgaWJsb2NrLCBtYXhfYmxvY2tzLAorCQkJCSAgIGJoX3Jlc3VsdCwgMCwgMCwgMCk7CisJCUJVR19PTighcmV0KTsKKwl9IGVsc2UgeworCQlyZXQgPSBleHQ0X2dldF9ibG9ja3Nfd3JhcChoYW5kbGUsIGlub2RlLCBpYmxvY2ssIG1heF9ibG9ja3MsCisJCQkJICAgYmhfcmVzdWx0LCBjcmVhdGUsIDAsIEVYVDRfREVMQUxMT0NfUlNWRUQpOworCX0KKworCWlmIChyZXQgPiAwKSB7CisJCWJoX3Jlc3VsdC0+Yl9zaXplID0gKHJldCA8PCBpbm9kZS0+aV9ibGtiaXRzKTsKKworCQkvKgorCQkgKiBVcGRhdGUgb24tZGlzayBzaXplIGFsb25nIHdpdGggYmxvY2sgYWxsb2NhdGlvbgorCQkgKiB3ZSBkb24ndCB1c2UgJ2V4dGVuZF9kaXNrc2l6ZScgYXMgc2l6ZSBtYXkgY2hhbmdlCisJCSAqIHdpdGhpbiBhbHJlYWR5IGFsbG9jYXRlZCBibG9jayAtYnp6egorCQkgKi8KKwkJZGlza3NpemUgPSAoKGxvZmZfdCkgaWJsb2NrICsgcmV0KSA8PCBpbm9kZS0+aV9ibGtiaXRzOworCQlpZiAoZGlza3NpemUgPiBpX3NpemVfcmVhZChpbm9kZSkpCisJCQlkaXNrc2l6ZSA9IGlfc2l6ZV9yZWFkKGlub2RlKTsKKwkJaWYgKGRpc2tzaXplID4gRVhUNF9JKGlub2RlKS0+aV9kaXNrc2l6ZSkgeworCQkJLyoKKwkJCSAqIFhYWDogcmVwbGFjZSB3aXRoIHNwaW5sb2NrIGlmIHNlZW4gY29udGVuZGVkIC1ienp6CisJCQkgKi8KKwkJCWRvd25fd3JpdGUoJkVYVDRfSShpbm9kZSktPmlfZGF0YV9zZW0pOworCQkJaWYgKGRpc2tzaXplID4gRVhUNF9JKGlub2RlKS0+aV9kaXNrc2l6ZSkKKwkJCQlFWFQ0X0koaW5vZGUpLT5pX2Rpc2tzaXplID0gZGlza3NpemU7CisJCQl1cF93cml0ZSgmRVhUNF9JKGlub2RlKS0+aV9kYXRhX3NlbSk7CisKKwkJCWlmIChFWFQ0X0koaW5vZGUpLT5pX2Rpc2tzaXplID09IGRpc2tzaXplKSB7CisJCQkJcmV0ID0gZXh0NF9tYXJrX2lub2RlX2RpcnR5KGhhbmRsZSwgaW5vZGUpOworCQkJCXJldHVybiByZXQ7CisJCQl9CisJCX0KKwkJcmV0ID0gMDsKKwl9CisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIGludCBleHQ0X2JoX3VubWFwcGVkX29yX2RlbGF5KGhhbmRsZV90ICpoYW5kbGUsIHN0cnVjdCBidWZmZXJfaGVhZCAqYmgpCit7CisJLyoKKwkgKiB1bm1hcHBlZCBidWZmZXIgaXMgcG9zc2libGUgZm9yIGhvbGVzLgorCSAqIGRlbGF5IGJ1ZmZlciBpcyBwb3NzaWJsZSB3aXRoIGRlbGF5ZWQgYWxsb2NhdGlvbgorCSAqLworCXJldHVybiAoKCFidWZmZXJfbWFwcGVkKGJoKSB8fCBidWZmZXJfZGVsYXkoYmgpKSAmJiBidWZmZXJfZGlydHkoYmgpKTsKK30KKworc3RhdGljIGludCBleHQ0X25vcm1hbF9nZXRfYmxvY2tfd3JpdGUoc3RydWN0IGlub2RlICppbm9kZSwgc2VjdG9yX3QgaWJsb2NrLAorCQkJCSAgIHN0cnVjdCBidWZmZXJfaGVhZCAqYmhfcmVzdWx0LCBpbnQgY3JlYXRlKQoreworCWludCByZXQgPSAwOworCXVuc2lnbmVkIG1heF9ibG9ja3MgPSBiaF9yZXN1bHQtPmJfc2l6ZSA+PiBpbm9kZS0+aV9ibGtiaXRzOworCisJLyoKKwkgKiB3ZSBkb24ndCB3YW50IHRvIGRvIGJsb2NrIGFsbG9jYXRpb24gaW4gd3JpdGVwYWdlCisJICogc28gY2FsbCBnZXRfYmxvY2tfd3JhcCB3aXRoIGNyZWF0ZSA9IDAKKwkgKi8KKwlyZXQgPSBleHQ0X2dldF9ibG9ja3Nfd3JhcChOVUxMLCBpbm9kZSwgaWJsb2NrLCBtYXhfYmxvY2tzLAorCQkJCSAgIGJoX3Jlc3VsdCwgMCwgMCwgMCk7CisJaWYgKHJldCA+IDApIHsKKwkJYmhfcmVzdWx0LT5iX3NpemUgPSAocmV0IDw8IGlub2RlLT5pX2Jsa2JpdHMpOworCQlyZXQgPSAwOworCX0KKwlyZXR1cm4gcmV0OworfQorCisvKgorICogZ2V0IGNhbGxlZCB2aSBleHQ0X2RhX3dyaXRlcGFnZXMgYWZ0ZXIgdGFraW5nIHBhZ2UgbG9jayAoaGF2ZSBqb3VybmFsIGhhbmRsZSkKKyAqIGdldCBjYWxsZWQgdmlhIGpvdXJuYWxfc3VibWl0X2lub2RlX2RhdGFfYnVmZmVycyAobm8gam91cm5hbCBoYW5kbGUpCisgKiBnZXQgY2FsbGVkIHZpYSBzaHJpbmtfcGFnZV9saXN0IHZpYSBwZGZsdXNoIChubyBqb3VybmFsIGhhbmRsZSkKKyAqIG9yIGdyYWJfcGFnZV9jYWNoZSB3aGVuIGRvaW5nIHdyaXRlX2JlZ2luIChoYXZlIGpvdXJuYWwgaGFuZGxlKQorICovCitzdGF0aWMgaW50IGV4dDRfZGFfd3JpdGVwYWdlKHN0cnVjdCBwYWdlICpwYWdlLAorCQkJCXN0cnVjdCB3cml0ZWJhY2tfY29udHJvbCAqd2JjKQoreworCWludCByZXQgPSAwOworCWxvZmZfdCBzaXplOworCXVuc2lnbmVkIGxvbmcgbGVuOworCXN0cnVjdCBidWZmZXJfaGVhZCAqcGFnZV9idWZzOworCXN0cnVjdCBpbm9kZSAqaW5vZGUgPSBwYWdlLT5tYXBwaW5nLT5ob3N0OworCisJc2l6ZSA9IGlfc2l6ZV9yZWFkKGlub2RlKTsKKwlpZiAocGFnZS0+aW5kZXggPT0gc2l6ZSA+PiBQQUdFX0NBQ0hFX1NISUZUKQorCQlsZW4gPSBzaXplICYgflBBR0VfQ0FDSEVfTUFTSzsKKwllbHNlCisJCWxlbiA9IFBBR0VfQ0FDSEVfU0laRTsKKworCWlmIChwYWdlX2hhc19idWZmZXJzKHBhZ2UpKSB7CisJCXBhZ2VfYnVmcyA9IHBhZ2VfYnVmZmVycyhwYWdlKTsKKwkJaWYgKHdhbGtfcGFnZV9idWZmZXJzKE5VTEwsIHBhZ2VfYnVmcywgMCwgbGVuLCBOVUxMLAorCQkJCQlleHQ0X2JoX3VubWFwcGVkX29yX2RlbGF5KSkgeworCQkJLyoKKwkJCSAqIFdlIGRvbid0IHdhbnQgdG8gZG8gIGJsb2NrIGFsbG9jYXRpb24KKwkJCSAqIFNvIHJlZGlydHkgdGhlIHBhZ2UgYW5kIHJldHVybgorCQkJICogV2UgbWF5IHJlYWNoIGhlcmUgd2hlbiB3ZSBkbyBhIGpvdXJuYWwgY29tbWl0CisJCQkgKiB2aWEgam91cm5hbF9zdWJtaXRfaW5vZGVfZGF0YV9idWZmZXJzLgorCQkJICogSWYgd2UgZG9uJ3QgaGF2ZSBtYXBwaW5nIGJsb2NrIHdlIGp1c3QgaWdub3JlCisJCQkgKiB0aGVtLiBXZSBjYW4gYWxzbyByZWFjaCBoZXJlIHZpYSBzaHJpbmtfcGFnZV9saXN0CisJCQkgKi8KKwkJCXJlZGlydHlfcGFnZV9mb3Jfd3JpdGVwYWdlKHdiYywgcGFnZSk7CisJCQl1bmxvY2tfcGFnZShwYWdlKTsKKwkJCXJldHVybiAwOworCQl9CisJfSBlbHNlIHsKKwkJLyoKKwkJICogVGhlIHRlc3QgZm9yIHBhZ2VfaGFzX2J1ZmZlcnMoKSBpcyBzdWJ0bGU6CisJCSAqIFdlIGtub3cgdGhlIHBhZ2UgaXMgZGlydHkgYnV0IGl0IGxvc3QgYnVmZmVycy4gVGhhdCBtZWFucworCQkgKiB0aGF0IGF0IHNvbWUgbW9tZW50IGluIHRpbWUgYWZ0ZXIgd3JpdGVfYmVnaW4oKS93cml0ZV9lbmQoKQorCQkgKiBoYXMgYmVlbiBjYWxsZWQgYWxsIGJ1ZmZlcnMgaGF2ZSBiZWVuIGNsZWFuIGFuZCB0aHVzIHRoZXkKKwkJICogbXVzdCBoYXZlIGJlZW4gd3JpdHRlbiBhdCBsZWFzdCBvbmNlLiBTbyB0aGV5IGFyZSBhbGwKKwkJICogbWFwcGVkIGFuZCB3ZSBjYW4gaGFwcGlseSBwcm9jZWVkIHdpdGggbWFwcGluZyB0aGVtCisJCSAqIGFuZCB3cml0aW5nIHRoZSBwYWdlLgorCQkgKgorCQkgKiBUcnkgdG8gaW5pdGlhbGl6ZSB0aGUgYnVmZmVyX2hlYWRzIGFuZCBjaGVjayB3aGV0aGVyCisJCSAqIGFsbCBhcmUgbWFwcGVkIGFuZCBub24gZGVsYXkuIFdlIGRvbid0IHdhbnQgdG8KKwkJICogZG8gYmxvY2sgYWxsb2NhdGlvbiBoZXJlLgorCQkgKi8KKwkJcmV0ID0gYmxvY2tfcHJlcGFyZV93cml0ZShwYWdlLCAwLCBQQUdFX0NBQ0hFX1NJWkUsCisJCQkJCQlleHQ0X25vcm1hbF9nZXRfYmxvY2tfd3JpdGUpOworCQlpZiAoIXJldCkgeworCQkJcGFnZV9idWZzID0gcGFnZV9idWZmZXJzKHBhZ2UpOworCQkJLyogY2hlY2sgd2hldGhlciBhbGwgYXJlIG1hcHBlZCBhbmQgbm9uIGRlbGF5ICovCisJCQlpZiAod2Fsa19wYWdlX2J1ZmZlcnMoTlVMTCwgcGFnZV9idWZzLCAwLCBsZW4sIE5VTEwsCisJCQkJCQlleHQ0X2JoX3VubWFwcGVkX29yX2RlbGF5KSkgeworCQkJCXJlZGlydHlfcGFnZV9mb3Jfd3JpdGVwYWdlKHdiYywgcGFnZSk7CisJCQkJdW5sb2NrX3BhZ2UocGFnZSk7CisJCQkJcmV0dXJuIDA7CisJCQl9CisJCX0gZWxzZSB7CisJCQkvKgorCQkJICogV2UgY2FuJ3QgZG8gYmxvY2sgYWxsb2NhdGlvbiBoZXJlCisJCQkgKiBzbyBqdXN0IHJlZGl0eSB0aGUgcGFnZSBhbmQgdW5sb2NrCisJCQkgKiBhbmQgcmV0dXJuCisJCQkgKi8KKwkJCXJlZGlydHlfcGFnZV9mb3Jfd3JpdGVwYWdlKHdiYywgcGFnZSk7CisJCQl1bmxvY2tfcGFnZShwYWdlKTsKKwkJCXJldHVybiAwOworCQl9CisJfQorCisJaWYgKHRlc3Rfb3B0KGlub2RlLT5pX3NiLCBOT0JIKSAmJiBleHQ0X3Nob3VsZF93cml0ZWJhY2tfZGF0YShpbm9kZSkpCisJCXJldCA9IG5vYmhfd3JpdGVwYWdlKHBhZ2UsIGV4dDRfbm9ybWFsX2dldF9ibG9ja193cml0ZSwgd2JjKTsKKwllbHNlCisJCXJldCA9IGJsb2NrX3dyaXRlX2Z1bGxfcGFnZShwYWdlLAorCQkJCQkJZXh0NF9ub3JtYWxfZ2V0X2Jsb2NrX3dyaXRlLAorCQkJCQkJd2JjKTsKKworCXJldHVybiByZXQ7Cit9CisKKy8qCisgKiBGb3Igbm93IGp1c3QgZm9sbG93IHRoZSBESU8gd2F5IHRvIGVzdGltYXRlIHRoZSBtYXggY3JlZGl0cworICogbmVlZGVkIHRvIHdyaXRlIG91dCBFWFQ0X01BWF9XUklURUJBQ0tfUEFHRVMuCisgKiB0b2RvOiBuZWVkIHRvIGNhbGN1bGF0ZSB0aGUgbWF4IGNyZWRpdHMgbmVlZCBmb3IKKyAqIGV4dGVudCBiYXNlZCBmaWxlcywgY3VycmVudGx5IHRoZSBESU8gY3JlZGl0cyBpcyBiYXNlZCBvbgorICogaW5kaXJlY3QtYmxvY2tzIG1hcHBpbmcgd2F5LgorICoKKyAqIFByb2JhYmx5IHNob3VsZCBoYXZlIGEgZ2VuZXJpYyB3YXkgdG8gY2FsY3VsYXRlIGNyZWRpdHMKKyAqIGZvciBESU8sIHdyaXRlcGFnZXMsIGFuZCB0cnVuY2F0ZQorICovCisjZGVmaW5lIEVYVDRfTUFYX1dSSVRFQkFDS19QQUdFUyAgICAgIERJT19NQVhfQkxPQ0tTCisjZGVmaW5lIEVYVDRfTUFYX1dSSVRFQkFDS19DUkVESVRTICAgIERJT19DUkVESVRTCisKK3N0YXRpYyBpbnQgZXh0NF9kYV93cml0ZXBhZ2VzKHN0cnVjdCBhZGRyZXNzX3NwYWNlICptYXBwaW5nLAorCQkJCXN0cnVjdCB3cml0ZWJhY2tfY29udHJvbCAqd2JjKQoreworCXN0cnVjdCBpbm9kZSAqaW5vZGUgPSBtYXBwaW5nLT5ob3N0OworCWhhbmRsZV90ICpoYW5kbGUgPSBOVUxMOworCWludCBuZWVkZWRfYmxvY2tzOworCWludCByZXQgPSAwOworCWxvbmcgdG9fd3JpdGU7CisJbG9mZl90IHJhbmdlX3N0YXJ0ID0gMDsKKworCS8qCisJICogTm8gcGFnZXMgdG8gd3JpdGU/IFRoaXMgaXMgbWFpbmx5IGEga2x1ZGdlIHRvIGF2b2lkIHN0YXJ0aW5nCisJICogYSB0cmFuc2FjdGlvbiBmb3Igc3BlY2lhbCBpbm9kZXMgbGlrZSBqb3VybmFsIGlub2RlIG9uIGxhc3QgaXB1dCgpCisJICogYmVjYXVzZSB0aGF0IGNvdWxkIHZpb2xhdGUgbG9jayBvcmRlcmluZyBvbiB1bW91bnQKKwkgKi8KKwlpZiAoIW1hcHBpbmctPm5ycGFnZXMpCisJCXJldHVybiAwOworCisJLyoKKwkgKiBFc3RpbWF0ZSB0aGUgd29yc2UgY2FzZSBuZWVkZWQgY3JlZGl0cyB0byB3cml0ZSBvdXQKKwkgKiBFWFQ0X01BWF9CVUZfQkxPQ0tTIHBhZ2VzCisJICovCisJbmVlZGVkX2Jsb2NrcyA9IEVYVDRfTUFYX1dSSVRFQkFDS19DUkVESVRTOworCisJdG9fd3JpdGUgPSB3YmMtPm5yX3RvX3dyaXRlOworCWlmICghd2JjLT5yYW5nZV9jeWNsaWMpIHsKKwkJLyoKKwkJICogSWYgcmFuZ2VfY3ljbGljIGlzIG5vdCBzZXQgZm9yY2UgcmFuZ2VfY29udAorCQkgKiBhbmQgc2F2ZSB0aGUgb2xkIHdyaXRlYmFja19pbmRleAorCQkgKi8KKwkJd2JjLT5yYW5nZV9jb250ID0gMTsKKwkJcmFuZ2Vfc3RhcnQgPSAgd2JjLT5yYW5nZV9zdGFydDsKKwl9CisKKwl3aGlsZSAoIXJldCAmJiB0b193cml0ZSkgeworCQkvKiBzdGFydCBhIG5ldyB0cmFuc2FjdGlvbiovCisJCWhhbmRsZSA9IGV4dDRfam91cm5hbF9zdGFydChpbm9kZSwgbmVlZGVkX2Jsb2Nrcyk7CisJCWlmIChJU19FUlIoaGFuZGxlKSkgeworCQkJcmV0ID0gUFRSX0VSUihoYW5kbGUpOworCQkJZ290byBvdXRfd3JpdGVwYWdlczsKKwkJfQorCQlpZiAoZXh0NF9zaG91bGRfb3JkZXJfZGF0YShpbm9kZSkpIHsKKwkJCS8qCisJCQkgKiBXaXRoIG9yZGVyZWQgbW9kZSB3ZSBuZWVkIHRvIGFkZAorCQkJICogdGhlIGlub2RlIHRvIHRoZSBqb3VybmFsIGhhbmRsZQorCQkJICogd2hlbiB3ZSBkbyBibG9jayBhbGxvY2F0aW9uLgorCQkJICovCisJCQlyZXQgPSBleHQ0X2piZDJfZmlsZV9pbm9kZShoYW5kbGUsIGlub2RlKTsKKwkJCWlmIChyZXQpIHsKKwkJCQlleHQ0X2pvdXJuYWxfc3RvcChoYW5kbGUpOworCQkJCWdvdG8gb3V0X3dyaXRlcGFnZXM7CisJCQl9CisKKwkJfQorCQkvKgorCQkgKiBzZXQgdGhlIG1heCBkaXJ0eSBwYWdlcyBjb3VsZCBiZSB3cml0ZSBhdCBhIHRpbWUKKwkJICogdG8gZml0IGludG8gdGhlIHJlc2VydmVkIHRyYW5zYWN0aW9uIGNyZWRpdHMKKwkJICovCisJCWlmICh3YmMtPm5yX3RvX3dyaXRlID4gRVhUNF9NQVhfV1JJVEVCQUNLX1BBR0VTKQorCQkJd2JjLT5ucl90b193cml0ZSA9IEVYVDRfTUFYX1dSSVRFQkFDS19QQUdFUzsKKworCQl0b193cml0ZSAtPSB3YmMtPm5yX3RvX3dyaXRlOworCQlyZXQgPSBtcGFnZV9kYV93cml0ZXBhZ2VzKG1hcHBpbmcsIHdiYywKKwkJCQkJCWV4dDRfZGFfZ2V0X2Jsb2NrX3dyaXRlKTsKKwkJZXh0NF9qb3VybmFsX3N0b3AoaGFuZGxlKTsKKwkJaWYgKHdiYy0+bnJfdG9fd3JpdGUpIHsKKwkJCS8qCisJCQkgKiBUaGVyZSBpcyBubyBtb3JlIHdyaXRlb3V0IG5lZWRlZAorCQkJICogb3Igd2UgcmVxdWVzdGVkIGZvciBhIG5vYmxvY2tpbmcgd3JpdGVvdXQKKwkJCSAqIGFuZCB3ZSBmb3VuZCB0aGUgZGV2aWNlIGNvbmdlc3RlZAorCQkJICovCisJCQl0b193cml0ZSArPSB3YmMtPm5yX3RvX3dyaXRlOworCQkJYnJlYWs7CisJCX0KKwkJd2JjLT5ucl90b193cml0ZSA9IHRvX3dyaXRlOworCX0KKworb3V0X3dyaXRlcGFnZXM6CisJd2JjLT5ucl90b193cml0ZSA9IHRvX3dyaXRlOworCWlmIChyYW5nZV9zdGFydCkKKwkJd2JjLT5yYW5nZV9zdGFydCA9IHJhbmdlX3N0YXJ0OworCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBpbnQgZXh0NF9kYV93cml0ZV9iZWdpbihzdHJ1Y3QgZmlsZSAqZmlsZSwgc3RydWN0IGFkZHJlc3Nfc3BhY2UgKm1hcHBpbmcsCisJCQkJbG9mZl90IHBvcywgdW5zaWduZWQgbGVuLCB1bnNpZ25lZCBmbGFncywKKwkJCQlzdHJ1Y3QgcGFnZSAqKnBhZ2VwLCB2b2lkICoqZnNkYXRhKQoreworCWludCByZXQsIHJldHJpZXMgPSAwOworCXN0cnVjdCBwYWdlICpwYWdlOworCXBnb2ZmX3QgaW5kZXg7CisJdW5zaWduZWQgZnJvbSwgdG87CisJc3RydWN0IGlub2RlICppbm9kZSA9IG1hcHBpbmctPmhvc3Q7CisJaGFuZGxlX3QgKmhhbmRsZTsKKworCWluZGV4ID0gcG9zID4+IFBBR0VfQ0FDSEVfU0hJRlQ7CisJZnJvbSA9IHBvcyAmIChQQUdFX0NBQ0hFX1NJWkUgLSAxKTsKKwl0byA9IGZyb20gKyBsZW47CisKK3JldHJ5OgorCS8qCisJICogV2l0aCBkZWxheWVkIGFsbG9jYXRpb24sIHdlIGRvbid0IGxvZyB0aGUgaV9kaXNrc2l6ZSB1cGRhdGUKKwkgKiBpZiB0aGVyZSBpcyBkZWxheWVkIGJsb2NrIGFsbG9jYXRpb24uIEJ1dCB3ZSBzdGlsbCBuZWVkCisJICogdG8gam91cm5hbGxpbmcgdGhlIGlfZGlza3NpemUgdXBkYXRlIGlmIHdyaXRlcyB0byB0aGUgZW5kCisJICogb2YgZmlsZSB3aGljaCBoYXMgYW4gYWxyZWFkeSBtYXBwZWQgYnVmZmVyLgorCSAqLworCWhhbmRsZSA9IGV4dDRfam91cm5hbF9zdGFydChpbm9kZSwgMSk7CisJaWYgKElTX0VSUihoYW5kbGUpKSB7CisJCXJldCA9IFBUUl9FUlIoaGFuZGxlKTsKKwkJZ290byBvdXQ7CisJfQorCisJcGFnZSA9IF9fZ3JhYl9jYWNoZV9wYWdlKG1hcHBpbmcsIGluZGV4KTsKKwlpZiAoIXBhZ2UpCisJCXJldHVybiAtRU5PTUVNOworCSpwYWdlcCA9IHBhZ2U7CisKKwlyZXQgPSBibG9ja193cml0ZV9iZWdpbihmaWxlLCBtYXBwaW5nLCBwb3MsIGxlbiwgZmxhZ3MsIHBhZ2VwLCBmc2RhdGEsCisJCQkJCQkJZXh0NF9kYV9nZXRfYmxvY2tfcHJlcCk7CisJaWYgKHJldCA8IDApIHsKKwkJdW5sb2NrX3BhZ2UocGFnZSk7CisJCWV4dDRfam91cm5hbF9zdG9wKGhhbmRsZSk7CisJCXBhZ2VfY2FjaGVfcmVsZWFzZShwYWdlKTsKKwl9CisKKwlpZiAocmV0ID09IC1FTk9TUEMgJiYgZXh0NF9zaG91bGRfcmV0cnlfYWxsb2MoaW5vZGUtPmlfc2IsICZyZXRyaWVzKSkKKwkJZ290byByZXRyeTsKK291dDoKKwlyZXR1cm4gcmV0OworfQorCisvKgorICogQ2hlY2sgaWYgd2Ugc2hvdWxkIHVwZGF0ZSBpX2Rpc2tzaXplCisgKiB3aGVuIHdyaXRlIHRvIHRoZSBlbmQgb2YgZmlsZSBidXQgbm90IHJlcXVpcmUgYmxvY2sgYWxsb2NhdGlvbgorICovCitzdGF0aWMgaW50IGV4dDRfZGFfc2hvdWxkX3VwZGF0ZV9pX2Rpc2tzaXplKHN0cnVjdCBwYWdlICpwYWdlLAorCQkJCQkgdW5zaWduZWQgbG9uZyBvZmZzZXQpCit7CisJc3RydWN0IGJ1ZmZlcl9oZWFkICpiaDsKKwlzdHJ1Y3QgaW5vZGUgKmlub2RlID0gcGFnZS0+bWFwcGluZy0+aG9zdDsKKwl1bnNpZ25lZCBpbnQgaWR4OworCWludCBpOworCisJYmggPSBwYWdlX2J1ZmZlcnMocGFnZSk7CisJaWR4ID0gb2Zmc2V0ID4+IGlub2RlLT5pX2Jsa2JpdHM7CisKKwlmb3IgKGk9MDsgaSA8IGlkeDsgaSsrKQorCQliaCA9IGJoLT5iX3RoaXNfcGFnZTsKKworCWlmICghYnVmZmVyX21hcHBlZChiaCkgfHwgKGJ1ZmZlcl9kZWxheShiaCkpKQorCQlyZXR1cm4gMDsKKwlyZXR1cm4gMTsKK30KKworc3RhdGljIGludCBleHQ0X2RhX3dyaXRlX2VuZChzdHJ1Y3QgZmlsZSAqZmlsZSwKKwkJCQlzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZywKKwkJCQlsb2ZmX3QgcG9zLCB1bnNpZ25lZCBsZW4sIHVuc2lnbmVkIGNvcGllZCwKKwkJCQlzdHJ1Y3QgcGFnZSAqcGFnZSwgdm9pZCAqZnNkYXRhKQoreworCXN0cnVjdCBpbm9kZSAqaW5vZGUgPSBtYXBwaW5nLT5ob3N0OworCWludCByZXQgPSAwLCByZXQyOworCWhhbmRsZV90ICpoYW5kbGUgPSBleHQ0X2pvdXJuYWxfY3VycmVudF9oYW5kbGUoKTsKKwlsb2ZmX3QgbmV3X2lfc2l6ZTsKKwl1bnNpZ25lZCBsb25nIHN0YXJ0LCBlbmQ7CisKKwlzdGFydCA9IHBvcyAmIChQQUdFX0NBQ0hFX1NJWkUgLSAxKTsKKwllbmQgPSBzdGFydCArIGNvcGllZCAtMTsKKworCS8qCisJICogZ2VuZXJpY193cml0ZV9lbmQoKSB3aWxsIHJ1biBtYXJrX2lub2RlX2RpcnR5KCkgaWYgaV9zaXplCisJICogY2hhbmdlcy4gIFNvIGxldCdzIHBpZ2d5YmFjayB0aGUgaV9kaXNrc2l6ZSBtYXJrX2lub2RlX2RpcnR5CisJICogaW50byB0aGF0LgorCSAqLworCisJbmV3X2lfc2l6ZSA9IHBvcyArIGNvcGllZDsKKwlpZiAobmV3X2lfc2l6ZSA+IEVYVDRfSShpbm9kZSktPmlfZGlza3NpemUpIHsKKwkJaWYgKGV4dDRfZGFfc2hvdWxkX3VwZGF0ZV9pX2Rpc2tzaXplKHBhZ2UsIGVuZCkpIHsKKwkJCWRvd25fd3JpdGUoJkVYVDRfSShpbm9kZSktPmlfZGF0YV9zZW0pOworCQkJaWYgKG5ld19pX3NpemUgPiBFWFQ0X0koaW5vZGUpLT5pX2Rpc2tzaXplKSB7CisJCQkJLyoKKwkJCQkgKiBVcGRhdGluZyBpX2Rpc2tzaXplIHdoZW4gZXh0ZW5kaW5nIGZpbGUKKwkJCQkgKiB3aXRob3V0IG5lZWRpbmcgYmxvY2sgYWxsb2NhdGlvbgorCQkJCSAqLworCQkJCWlmIChleHQ0X3Nob3VsZF9vcmRlcl9kYXRhKGlub2RlKSkKKwkJCQkJcmV0ID0gZXh0NF9qYmQyX2ZpbGVfaW5vZGUoaGFuZGxlLAorCQkJCQkJCQkgICBpbm9kZSk7CisKKwkJCQlFWFQ0X0koaW5vZGUpLT5pX2Rpc2tzaXplID0gbmV3X2lfc2l6ZTsKKwkJCX0KKwkJCXVwX3dyaXRlKCZFWFQ0X0koaW5vZGUpLT5pX2RhdGFfc2VtKTsKKwkJfQorCX0KKwlyZXQyID0gZ2VuZXJpY193cml0ZV9lbmQoZmlsZSwgbWFwcGluZywgcG9zLCBsZW4sIGNvcGllZCwKKwkJCQkJCQlwYWdlLCBmc2RhdGEpOworCWNvcGllZCA9IHJldDI7CisJaWYgKHJldDIgPCAwKQorCQlyZXQgPSByZXQyOworCXJldDIgPSBleHQ0X2pvdXJuYWxfc3RvcChoYW5kbGUpOworCWlmICghcmV0KQorCQlyZXQgPSByZXQyOworCisJcmV0dXJuIHJldCA/IHJldCA6IGNvcGllZDsKK30KKworc3RhdGljIHZvaWQgZXh0NF9kYV9pbnZhbGlkYXRlcGFnZShzdHJ1Y3QgcGFnZSAqcGFnZSwgdW5zaWduZWQgbG9uZyBvZmZzZXQpCit7CisJLyoKKwkgKiBEcm9wIHJlc2VydmVkIGJsb2NrcworCSAqLworCUJVR19PTighUGFnZUxvY2tlZChwYWdlKSk7CisJaWYgKCFwYWdlX2hhc19idWZmZXJzKHBhZ2UpKQorCQlnb3RvIG91dDsKKworCWV4dDRfZGFfcGFnZV9yZWxlYXNlX3Jlc2VydmF0aW9uKHBhZ2UsIG9mZnNldCk7CisKK291dDoKKwlleHQ0X2ludmFsaWRhdGVwYWdlKHBhZ2UsIG9mZnNldCk7CisKKwlyZXR1cm47Cit9CisKIAogLyoKICAqIGJtYXAoKSBpcyBzcGVjaWFsLiAgSXQgZ2V0cyB1c2VkIGJ5IGFwcGxpY2F0aW9ucyBzdWNoIGFzIGxpbG8gYW5kIGJ5CkBAIC0xNDE4LDYgKzI0MDksMTYgQEAKIAlqb3VybmFsX3QgKmpvdXJuYWw7CiAJaW50IGVycjsKIAorCWlmIChtYXBwaW5nX3RhZ2dlZChtYXBwaW5nLCBQQUdFQ0FDSEVfVEFHX0RJUlRZKSAmJgorCQkJdGVzdF9vcHQoaW5vZGUtPmlfc2IsIERFTEFMTE9DKSkgeworCQkvKgorCQkgKiBXaXRoIGRlbGFsbG9jIHdlIHdhbnQgdG8gc3luYyB0aGUgZmlsZQorCQkgKiBzbyB0aGF0IHdlIGNhbiBtYWtlIHN1cmUgd2UgYWxsb2NhdGUKKwkJICogYmxvY2tzIGZvciBmaWxlCisJCSAqLworCQlmaWxlbWFwX3dyaXRlX2FuZF93YWl0KG1hcHBpbmcpOworCX0KKwogCWlmIChFWFQ0X0koaW5vZGUpLT5pX3N0YXRlICYgRVhUNF9TVEFURV9KREFUQSkgewogCQkvKgogCQkgKiBUaGlzIGlzIGEgUkVBTExZIGhlYXZ5d2VpZ2h0IGFwcHJvYWNoLCBidXQgdGhlIHVzZSBvZgpAQCAtMTQ2MiwyMSArMjQ2MywxNyBAQAogCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IGpiZDJfam91cm5hbF9kaXJ0eV9kYXRhX2ZuKGhhbmRsZV90ICpoYW5kbGUsIHN0cnVjdCBidWZmZXJfaGVhZCAqYmgpCi17Ci0JaWYgKGJ1ZmZlcl9tYXBwZWQoYmgpKQotCQlyZXR1cm4gZXh0NF9qb3VybmFsX2RpcnR5X2RhdGEoaGFuZGxlLCBiaCk7Ci0JcmV0dXJuIDA7Ci19Ci0KIC8qCi0gKiBOb3RlIHRoYXQgd2UgYWx3YXlzIHN0YXJ0IGEgdHJhbnNhY3Rpb24gZXZlbiBpZiB3ZSdyZSBub3Qgam91cm5hbGxpbmcKLSAqIGRhdGEuICBUaGlzIGlzIHRvIHByZXNlcnZlIG9yZGVyaW5nOiBhbnkgaG9sZSBpbnN0YW50aWF0aW9uIHdpdGhpbgotICogX19ibG9ja193cml0ZV9mdWxsX3BhZ2UgLT4gZXh0NF9nZXRfYmxvY2soKSBzaG91bGQgYmUgam91cm5hbGxlZAotICogYWxvbmcgd2l0aCB0aGUgZGF0YSBzbyB3ZSBkb24ndCBjcmFzaCBhbmQgdGhlbiBnZXQgbWV0YWRhdGEgd2hpY2gKLSAqIHJlZmVycyB0byBvbGQgZGF0YS4KKyAqIE5vdGUgdGhhdCB3ZSBkb24ndCBuZWVkIHRvIHN0YXJ0IGEgdHJhbnNhY3Rpb24gdW5sZXNzIHdlJ3JlIGpvdXJuYWxpbmcgZGF0YQorICogYmVjYXVzZSB3ZSBzaG91bGQgaGF2ZSBob2xlcyBmaWxsZWQgZnJvbSBleHQ0X3BhZ2VfbWt3cml0ZSgpLiBXZSBldmVuIGRvbid0CisgKiBuZWVkIHRvIGZpbGUgdGhlIGlub2RlIHRvIHRoZSB0cmFuc2FjdGlvbidzIGxpc3QgaW4gb3JkZXJlZCBtb2RlIGJlY2F1c2UgaWYKKyAqIHdlIGFyZSB3cml0aW5nIGJhY2sgZGF0YSBhZGRlZCBieSB3cml0ZSgpLCB0aGUgaW5vZGUgaXMgYWxyZWFkeSB0aGVyZSBhbmQgaWYKKyAqIHdlIGFyZSB3cml0aW5nIGJhY2sgZGF0YSBtb2RpZmllZCB2aWEgbW1hcCgpLCBub29uZSBndWFyYW50ZWVzIGluIHdoaWNoCisgKiB0cmFuc2FjdGlvbiB0aGUgZGF0YSB3aWxsIGhpdCB0aGUgZGlzay4gSW4gY2FzZSB3ZSBhcmUgam91cm5hbGluZyBkYXRhLCB3ZQorICogY2Fubm90IHN0YXJ0IHRyYW5zYWN0aW9uIGRpcmVjdGx5IGJlY2F1c2UgdHJhbnNhY3Rpb24gc3RhcnQgcmFua3MgYWJvdmUgcGFnZQorICogbG9jayBzbyB3ZSBoYXZlIHRvIGRvIHNvbWUgbWFnaWMuCiAgKgotICogSW4gYWxsIGpvdXJuYWxsaW5nIG1vZGVzIGJsb2NrX3dyaXRlX2Z1bGxfcGFnZSgpIHdpbGwgc3RhcnQgdGhlIEkvTy4KKyAqIEluIGFsbCBqb3VybmFsaW5nIG1vZGVzIGJsb2NrX3dyaXRlX2Z1bGxfcGFnZSgpIHdpbGwgc3RhcnQgdGhlIEkvTy4KICAqCiAgKiBQcm9ibGVtOgogICoKQEAgLTE1MTgsMTA1ICsyNTE1LDEwMyBAQAogICogZGlzYXN0cm91cy4gIEFueSB3cml0ZSgpIG9yIG1ldGFkYXRhIG9wZXJhdGlvbiB3aWxsIHN5bmMgdGhlIGZzIGZvcgogICogdXMuCiAgKgotICogQUtQTTI6IGlmIGFsbCB0aGUgcGFnZSdzIGJ1ZmZlcnMgYXJlIG1hcHBlZCB0byBkaXNrIGFuZCAhZGF0YT1qb3VybmFsLAotICogd2UgZG9uJ3QgbmVlZCB0byBvcGVuIGEgdHJhbnNhY3Rpb24gaGVyZS4KICAqLwotc3RhdGljIGludCBleHQ0X29yZGVyZWRfd3JpdGVwYWdlKHN0cnVjdCBwYWdlICpwYWdlLAorc3RhdGljIGludCBfX2V4dDRfbm9ybWFsX3dyaXRlcGFnZShzdHJ1Y3QgcGFnZSAqcGFnZSwKIAkJCQlzdHJ1Y3Qgd3JpdGViYWNrX2NvbnRyb2wgKndiYykKIHsKIAlzdHJ1Y3QgaW5vZGUgKmlub2RlID0gcGFnZS0+bWFwcGluZy0+aG9zdDsKKworCWlmICh0ZXN0X29wdChpbm9kZS0+aV9zYiwgTk9CSCkpCisJCXJldHVybiBub2JoX3dyaXRlcGFnZShwYWdlLAorCQkJCQlleHQ0X25vcm1hbF9nZXRfYmxvY2tfd3JpdGUsIHdiYyk7CisJZWxzZQorCQlyZXR1cm4gYmxvY2tfd3JpdGVfZnVsbF9wYWdlKHBhZ2UsCisJCQkJCQlleHQ0X25vcm1hbF9nZXRfYmxvY2tfd3JpdGUsCisJCQkJCQl3YmMpOworfQorCitzdGF0aWMgaW50IGV4dDRfbm9ybWFsX3dyaXRlcGFnZShzdHJ1Y3QgcGFnZSAqcGFnZSwKKwkJCQlzdHJ1Y3Qgd3JpdGViYWNrX2NvbnRyb2wgKndiYykKK3sKKwlzdHJ1Y3QgaW5vZGUgKmlub2RlID0gcGFnZS0+bWFwcGluZy0+aG9zdDsKKwlsb2ZmX3Qgc2l6ZSA9IGlfc2l6ZV9yZWFkKGlub2RlKTsKKwlsb2ZmX3QgbGVuOworCisJSl9BU1NFUlQoUGFnZUxvY2tlZChwYWdlKSk7CisJaWYgKHBhZ2UtPmluZGV4ID09IHNpemUgPj4gUEFHRV9DQUNIRV9TSElGVCkKKwkJbGVuID0gc2l6ZSAmIH5QQUdFX0NBQ0hFX01BU0s7CisJZWxzZQorCQlsZW4gPSBQQUdFX0NBQ0hFX1NJWkU7CisKKwlpZiAocGFnZV9oYXNfYnVmZmVycyhwYWdlKSkgeworCQkvKiBpZiBwYWdlIGhhcyBidWZmZXJzIGl0IHNob3VsZCBhbGwgYmUgbWFwcGVkCisJCSAqIGFuZCBhbGxvY2F0ZWQuIElmIHRoZXJlIGFyZSBub3QgYnVmZmVycyBhdHRhY2hlZAorCQkgKiB0byB0aGUgcGFnZSB3ZSBrbm93IHRoZSBwYWdlIGlzIGRpcnR5IGJ1dCBpdCBsb3N0CisJCSAqIGJ1ZmZlcnMuIFRoYXQgbWVhbnMgdGhhdCBhdCBzb21lIG1vbWVudCBpbiB0aW1lCisJCSAqIGFmdGVyIHdyaXRlX2JlZ2luKCkgLyB3cml0ZV9lbmQoKSBoYXMgYmVlbiBjYWxsZWQKKwkJICogYWxsIGJ1ZmZlcnMgaGF2ZSBiZWVuIGNsZWFuIGFuZCB0aHVzIHRoZXkgbXVzdCBoYXZlIGJlZW4KKwkJICogd3JpdHRlbiBhdCBsZWFzdCBvbmNlLiBTbyB0aGV5IGFyZSBhbGwgbWFwcGVkIGFuZCB3ZSBjYW4KKwkJICogaGFwcGlseSBwcm9jZWVkIHdpdGggbWFwcGluZyB0aGVtIGFuZCB3cml0aW5nIHRoZSBwYWdlLgorCQkgKi8KKwkJQlVHX09OKHdhbGtfcGFnZV9idWZmZXJzKE5VTEwsIHBhZ2VfYnVmZmVycyhwYWdlKSwgMCwgbGVuLCBOVUxMLAorCQkJCQlleHQ0X2JoX3VubWFwcGVkX29yX2RlbGF5KSk7CisJfQorCisJaWYgKCFleHQ0X2pvdXJuYWxfY3VycmVudF9oYW5kbGUoKSkKKwkJcmV0dXJuIF9fZXh0NF9ub3JtYWxfd3JpdGVwYWdlKHBhZ2UsIHdiYyk7CisKKwlyZWRpcnR5X3BhZ2VfZm9yX3dyaXRlcGFnZSh3YmMsIHBhZ2UpOworCXVubG9ja19wYWdlKHBhZ2UpOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IF9fZXh0NF9qb3VybmFsbGVkX3dyaXRlcGFnZShzdHJ1Y3QgcGFnZSAqcGFnZSwKKwkJCQlzdHJ1Y3Qgd3JpdGViYWNrX2NvbnRyb2wgKndiYykKK3sKKwlzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZyA9IHBhZ2UtPm1hcHBpbmc7CisJc3RydWN0IGlub2RlICppbm9kZSA9IG1hcHBpbmctPmhvc3Q7CiAJc3RydWN0IGJ1ZmZlcl9oZWFkICpwYWdlX2J1ZnM7CiAJaGFuZGxlX3QgKmhhbmRsZSA9IE5VTEw7CiAJaW50IHJldCA9IDA7CiAJaW50IGVycjsKIAotCUpfQVNTRVJUKFBhZ2VMb2NrZWQocGFnZSkpOworCXJldCA9IGJsb2NrX3ByZXBhcmVfd3JpdGUocGFnZSwgMCwgUEFHRV9DQUNIRV9TSVpFLAorCQkJCQlleHQ0X25vcm1hbF9nZXRfYmxvY2tfd3JpdGUpOworCWlmIChyZXQgIT0gMCkKKwkJZ290byBvdXRfdW5sb2NrOwogCi0JLyoKLQkgKiBXZSBnaXZlIHVwIGhlcmUgaWYgd2UncmUgcmVlbnRlcmVkLCBiZWNhdXNlIGl0IG1pZ2h0IGJlIGZvciBhCi0JICogZGlmZmVyZW50IGZpbGVzeXN0ZW0uCi0JICovCi0JaWYgKGV4dDRfam91cm5hbF9jdXJyZW50X2hhbmRsZSgpKQotCQlnb3RvIG91dF9mYWlsOwotCi0JaGFuZGxlID0gZXh0NF9qb3VybmFsX3N0YXJ0KGlub2RlLCBleHQ0X3dyaXRlcGFnZV90cmFuc19ibG9ja3MoaW5vZGUpKTsKLQotCWlmIChJU19FUlIoaGFuZGxlKSkgewotCQlyZXQgPSBQVFJfRVJSKGhhbmRsZSk7Ci0JCWdvdG8gb3V0X2ZhaWw7Ci0JfQotCi0JaWYgKCFwYWdlX2hhc19idWZmZXJzKHBhZ2UpKSB7Ci0JCWNyZWF0ZV9lbXB0eV9idWZmZXJzKHBhZ2UsIGlub2RlLT5pX3NiLT5zX2Jsb2Nrc2l6ZSwKLQkJCQkoMSA8PCBCSF9EaXJ0eSl8KDEgPDwgQkhfVXB0b2RhdGUpKTsKLQl9CiAJcGFnZV9idWZzID0gcGFnZV9idWZmZXJzKHBhZ2UpOwotCXdhbGtfcGFnZV9idWZmZXJzKGhhbmRsZSwgcGFnZV9idWZzLCAwLAotCQkJUEFHRV9DQUNIRV9TSVpFLCBOVUxMLCBiZ2V0X29uZSk7Ci0KLQlyZXQgPSBibG9ja193cml0ZV9mdWxsX3BhZ2UocGFnZSwgZXh0NF9nZXRfYmxvY2ssIHdiYyk7Ci0KLQkvKgotCSAqIFRoZSBwYWdlIGNhbiBiZWNvbWUgdW5sb2NrZWQgYXQgYW55IHBvaW50IG5vdywgYW5kCi0JICogdHJ1bmNhdGUgY2FuIHRoZW4gY29tZSBpbiBhbmQgY2hhbmdlIHRoaW5ncy4gIFNvIHdlCi0JICogY2FuJ3QgdG91Y2ggKnBhZ2UgZnJvbSBub3cgb24uICBCdXQgKnBhZ2VfYnVmcyBpcwotCSAqIHNhZmUgZHVlIHRvIGVsZXZhdGVkIHJlZmNvdW50LgotCSAqLwotCi0JLyoKLQkgKiBBbmQgYXR0YWNoIHRoZW0gdG8gdGhlIGN1cnJlbnQgdHJhbnNhY3Rpb24uICBCdXQgb25seSBpZgotCSAqIGJsb2NrX3dyaXRlX2Z1bGxfcGFnZSgpIHN1Y2NlZWRlZC4gIE90aGVyd2lzZSB0aGV5IGFyZSB1bm1hcHBlZCwKLQkgKiBhbmQgZ2VuZXJhbGx5IGp1bmsuCi0JICovCi0JaWYgKHJldCA9PSAwKSB7Ci0JCWVyciA9IHdhbGtfcGFnZV9idWZmZXJzKGhhbmRsZSwgcGFnZV9idWZzLCAwLCBQQUdFX0NBQ0hFX1NJWkUsCi0JCQkJCU5VTEwsIGpiZDJfam91cm5hbF9kaXJ0eV9kYXRhX2ZuKTsKLQkJaWYgKCFyZXQpCi0JCQlyZXQgPSBlcnI7Ci0JfQotCXdhbGtfcGFnZV9idWZmZXJzKGhhbmRsZSwgcGFnZV9idWZzLCAwLAotCQkJUEFHRV9DQUNIRV9TSVpFLCBOVUxMLCBicHV0X29uZSk7Ci0JZXJyID0gZXh0NF9qb3VybmFsX3N0b3AoaGFuZGxlKTsKLQlpZiAoIXJldCkKLQkJcmV0ID0gZXJyOwotCXJldHVybiByZXQ7Ci0KLW91dF9mYWlsOgotCXJlZGlydHlfcGFnZV9mb3Jfd3JpdGVwYWdlKHdiYywgcGFnZSk7CisJd2Fsa19wYWdlX2J1ZmZlcnMoaGFuZGxlLCBwYWdlX2J1ZnMsIDAsIFBBR0VfQ0FDSEVfU0laRSwgTlVMTCwKKwkJCQkJCQkJYmdldF9vbmUpOworCS8qIEFzIHNvb24gYXMgd2UgdW5sb2NrIHRoZSBwYWdlLCBpdCBjYW4gZ28gYXdheSwgYnV0IHdlIGhhdmUKKwkgKiByZWZlcmVuY2VzIHRvIGJ1ZmZlcnMgc28gd2UgYXJlIHNhZmUgKi8KIAl1bmxvY2tfcGFnZShwYWdlKTsKLQlyZXR1cm4gcmV0OwotfQotCi1zdGF0aWMgaW50IGV4dDRfd3JpdGViYWNrX3dyaXRlcGFnZShzdHJ1Y3QgcGFnZSAqcGFnZSwKLQkJCQlzdHJ1Y3Qgd3JpdGViYWNrX2NvbnRyb2wgKndiYykKLXsKLQlzdHJ1Y3QgaW5vZGUgKmlub2RlID0gcGFnZS0+bWFwcGluZy0+aG9zdDsKLQloYW5kbGVfdCAqaGFuZGxlID0gTlVMTDsKLQlpbnQgcmV0ID0gMDsKLQlpbnQgZXJyOwotCi0JaWYgKGV4dDRfam91cm5hbF9jdXJyZW50X2hhbmRsZSgpKQotCQlnb3RvIG91dF9mYWlsOwogCiAJaGFuZGxlID0gZXh0NF9qb3VybmFsX3N0YXJ0KGlub2RlLCBleHQ0X3dyaXRlcGFnZV90cmFuc19ibG9ja3MoaW5vZGUpKTsKIAlpZiAoSVNfRVJSKGhhbmRsZSkpIHsKIAkJcmV0ID0gUFRSX0VSUihoYW5kbGUpOwotCQlnb3RvIG91dF9mYWlsOworCQlnb3RvIG91dDsKIAl9CiAKLQlpZiAodGVzdF9vcHQoaW5vZGUtPmlfc2IsIE5PQkgpICYmIGV4dDRfc2hvdWxkX3dyaXRlYmFja19kYXRhKGlub2RlKSkKLQkJcmV0ID0gbm9iaF93cml0ZXBhZ2UocGFnZSwgZXh0NF9nZXRfYmxvY2ssIHdiYyk7Ci0JZWxzZQotCQlyZXQgPSBibG9ja193cml0ZV9mdWxsX3BhZ2UocGFnZSwgZXh0NF9nZXRfYmxvY2ssIHdiYyk7CisJcmV0ID0gd2Fsa19wYWdlX2J1ZmZlcnMoaGFuZGxlLCBwYWdlX2J1ZnMsIDAsCisJCQlQQUdFX0NBQ0hFX1NJWkUsIE5VTEwsIGRvX2pvdXJuYWxfZ2V0X3dyaXRlX2FjY2Vzcyk7CiAKKwllcnIgPSB3YWxrX3BhZ2VfYnVmZmVycyhoYW5kbGUsIHBhZ2VfYnVmcywgMCwKKwkJCQlQQUdFX0NBQ0hFX1NJWkUsIE5VTEwsIHdyaXRlX2VuZF9mbik7CisJaWYgKHJldCA9PSAwKQorCQlyZXQgPSBlcnI7CiAJZXJyID0gZXh0NF9qb3VybmFsX3N0b3AoaGFuZGxlKTsKIAlpZiAoIXJldCkKIAkJcmV0ID0gZXJyOwotCXJldHVybiByZXQ7CiAKLW91dF9mYWlsOgotCXJlZGlydHlfcGFnZV9mb3Jfd3JpdGVwYWdlKHdiYywgcGFnZSk7CisJd2Fsa19wYWdlX2J1ZmZlcnMoaGFuZGxlLCBwYWdlX2J1ZnMsIDAsCisJCQkJUEFHRV9DQUNIRV9TSVpFLCBOVUxMLCBicHV0X29uZSk7CisJRVhUNF9JKGlub2RlKS0+aV9zdGF0ZSB8PSBFWFQ0X1NUQVRFX0pEQVRBOworCWdvdG8gb3V0OworCitvdXRfdW5sb2NrOgogCXVubG9ja19wYWdlKHBhZ2UpOworb3V0OgogCXJldHVybiByZXQ7CiB9CiAKQEAgLTE2MjQsNTkgKzI2MTksNTMgQEAKIAkJCQlzdHJ1Y3Qgd3JpdGViYWNrX2NvbnRyb2wgKndiYykKIHsKIAlzdHJ1Y3QgaW5vZGUgKmlub2RlID0gcGFnZS0+bWFwcGluZy0+aG9zdDsKLQloYW5kbGVfdCAqaGFuZGxlID0gTlVMTDsKLQlpbnQgcmV0ID0gMDsKLQlpbnQgZXJyOworCWxvZmZfdCBzaXplID0gaV9zaXplX3JlYWQoaW5vZGUpOworCWxvZmZfdCBsZW47CisKKwlKX0FTU0VSVChQYWdlTG9ja2VkKHBhZ2UpKTsKKwlpZiAocGFnZS0+aW5kZXggPT0gc2l6ZSA+PiBQQUdFX0NBQ0hFX1NISUZUKQorCQlsZW4gPSBzaXplICYgflBBR0VfQ0FDSEVfTUFTSzsKKwllbHNlCisJCWxlbiA9IFBBR0VfQ0FDSEVfU0laRTsKKworCWlmIChwYWdlX2hhc19idWZmZXJzKHBhZ2UpKSB7CisJCS8qIGlmIHBhZ2UgaGFzIGJ1ZmZlcnMgaXQgc2hvdWxkIGFsbCBiZSBtYXBwZWQKKwkJICogYW5kIGFsbG9jYXRlZC4gSWYgdGhlcmUgYXJlIG5vdCBidWZmZXJzIGF0dGFjaGVkCisJCSAqIHRvIHRoZSBwYWdlIHdlIGtub3cgdGhlIHBhZ2UgaXMgZGlydHkgYnV0IGl0IGxvc3QKKwkJICogYnVmZmVycy4gVGhhdCBtZWFucyB0aGF0IGF0IHNvbWUgbW9tZW50IGluIHRpbWUKKwkJICogYWZ0ZXIgd3JpdGVfYmVnaW4oKSAvIHdyaXRlX2VuZCgpIGhhcyBiZWVuIGNhbGxlZAorCQkgKiBhbGwgYnVmZmVycyBoYXZlIGJlZW4gY2xlYW4gYW5kIHRodXMgdGhleSBtdXN0IGhhdmUgYmVlbgorCQkgKiB3cml0dGVuIGF0IGxlYXN0IG9uY2UuIFNvIHRoZXkgYXJlIGFsbCBtYXBwZWQgYW5kIHdlIGNhbgorCQkgKiBoYXBwaWx5IHByb2NlZWQgd2l0aCBtYXBwaW5nIHRoZW0gYW5kIHdyaXRpbmcgdGhlIHBhZ2UuCisJCSAqLworCQlCVUdfT04od2Fsa19wYWdlX2J1ZmZlcnMoTlVMTCwgcGFnZV9idWZmZXJzKHBhZ2UpLCAwLCBsZW4sIE5VTEwsCisJCQkJCWV4dDRfYmhfdW5tYXBwZWRfb3JfZGVsYXkpKTsKKwl9CiAKIAlpZiAoZXh0NF9qb3VybmFsX2N1cnJlbnRfaGFuZGxlKCkpCiAJCWdvdG8gbm9fd3JpdGU7CiAKLQloYW5kbGUgPSBleHQ0X2pvdXJuYWxfc3RhcnQoaW5vZGUsIGV4dDRfd3JpdGVwYWdlX3RyYW5zX2Jsb2Nrcyhpbm9kZSkpOwotCWlmIChJU19FUlIoaGFuZGxlKSkgewotCQlyZXQgPSBQVFJfRVJSKGhhbmRsZSk7Ci0JCWdvdG8gbm9fd3JpdGU7Ci0JfQotCi0JaWYgKCFwYWdlX2hhc19idWZmZXJzKHBhZ2UpIHx8IFBhZ2VDaGVja2VkKHBhZ2UpKSB7CisJaWYgKFBhZ2VDaGVja2VkKHBhZ2UpKSB7CiAJCS8qCiAJCSAqIEl0J3MgbW1hcHBlZCBwYWdlY2FjaGUuICBBZGQgYnVmZmVycyBhbmQgam91cm5hbCBpdC4gIFRoZXJlCiAJCSAqIGRvZXNuJ3Qgc2VlbSBtdWNoIHBvaW50IGluIHJlZGlydHlpbmcgdGhlIHBhZ2UgaGVyZS4KIAkJICovCiAJCUNsZWFyUGFnZUNoZWNrZWQocGFnZSk7Ci0JCXJldCA9IGJsb2NrX3ByZXBhcmVfd3JpdGUocGFnZSwgMCwgUEFHRV9DQUNIRV9TSVpFLAotCQkJCQlleHQ0X2dldF9ibG9jayk7Ci0JCWlmIChyZXQgIT0gMCkgewotCQkJZXh0NF9qb3VybmFsX3N0b3AoaGFuZGxlKTsKLQkJCWdvdG8gb3V0X3VubG9jazsKLQkJfQotCQlyZXQgPSB3YWxrX3BhZ2VfYnVmZmVycyhoYW5kbGUsIHBhZ2VfYnVmZmVycyhwYWdlKSwgMCwKLQkJCVBBR0VfQ0FDSEVfU0laRSwgTlVMTCwgZG9fam91cm5hbF9nZXRfd3JpdGVfYWNjZXNzKTsKLQotCQllcnIgPSB3YWxrX3BhZ2VfYnVmZmVycyhoYW5kbGUsIHBhZ2VfYnVmZmVycyhwYWdlKSwgMCwKLQkJCQlQQUdFX0NBQ0hFX1NJWkUsIE5VTEwsIHdyaXRlX2VuZF9mbik7Ci0JCWlmIChyZXQgPT0gMCkKLQkJCXJldCA9IGVycjsKLQkJRVhUNF9JKGlub2RlKS0+aV9zdGF0ZSB8PSBFWFQ0X1NUQVRFX0pEQVRBOwotCQl1bmxvY2tfcGFnZShwYWdlKTsKKwkJcmV0dXJuIF9fZXh0NF9qb3VybmFsbGVkX3dyaXRlcGFnZShwYWdlLCB3YmMpOwogCX0gZWxzZSB7CiAJCS8qCiAJCSAqIEl0IG1heSBiZSBhIHBhZ2UgZnVsbCBvZiBjaGVja3BvaW50LW1vZGUgYnVmZmVycy4gIFdlIGRvbid0CiAJCSAqIHJlYWxseSBrbm93IHVubGVzcyB3ZSBnbyBwb2tlIGFyb3VuZCBpbiB0aGUgYnVmZmVyX2hlYWRzLgogCQkgKiBCdXQgYmxvY2tfd3JpdGVfZnVsbF9wYWdlIHdpbGwgZG8gdGhlIHJpZ2h0IHRoaW5nLgogCQkgKi8KLQkJcmV0ID0gYmxvY2tfd3JpdGVfZnVsbF9wYWdlKHBhZ2UsIGV4dDRfZ2V0X2Jsb2NrLCB3YmMpOworCQlyZXR1cm4gYmxvY2tfd3JpdGVfZnVsbF9wYWdlKHBhZ2UsCisJCQkJCQlleHQ0X25vcm1hbF9nZXRfYmxvY2tfd3JpdGUsCisJCQkJCQl3YmMpOwogCX0KLQllcnIgPSBleHQ0X2pvdXJuYWxfc3RvcChoYW5kbGUpOwotCWlmICghcmV0KQotCQlyZXQgPSBlcnI7Ci1vdXQ6Ci0JcmV0dXJuIHJldDsKLQogbm9fd3JpdGU6CiAJcmVkaXJ0eV9wYWdlX2Zvcl93cml0ZXBhZ2Uod2JjLCBwYWdlKTsKLW91dF91bmxvY2s6CiAJdW5sb2NrX3BhZ2UocGFnZSk7Ci0JZ290byBvdXQ7CisJcmV0dXJuIDA7CiB9CiAKIHN0YXRpYyBpbnQgZXh0NF9yZWFkcGFnZShzdHJ1Y3QgZmlsZSAqZmlsZSwgc3RydWN0IHBhZ2UgKnBhZ2UpCkBAIC0xODE5LDcgKzI4MDgsNyBAQAogc3RhdGljIGNvbnN0IHN0cnVjdCBhZGRyZXNzX3NwYWNlX29wZXJhdGlvbnMgZXh0NF9vcmRlcmVkX2FvcHMgPSB7CiAJLnJlYWRwYWdlCT0gZXh0NF9yZWFkcGFnZSwKIAkucmVhZHBhZ2VzCT0gZXh0NF9yZWFkcGFnZXMsCi0JLndyaXRlcGFnZQk9IGV4dDRfb3JkZXJlZF93cml0ZXBhZ2UsCisJLndyaXRlcGFnZQk9IGV4dDRfbm9ybWFsX3dyaXRlcGFnZSwKIAkuc3luY19wYWdlCT0gYmxvY2tfc3luY19wYWdlLAogCS53cml0ZV9iZWdpbgk9IGV4dDRfd3JpdGVfYmVnaW4sCiAJLndyaXRlX2VuZAk9IGV4dDRfb3JkZXJlZF93cml0ZV9lbmQsCkBAIC0xODMzLDcgKzI4MjIsNyBAQAogc3RhdGljIGNvbnN0IHN0cnVjdCBhZGRyZXNzX3NwYWNlX29wZXJhdGlvbnMgZXh0NF93cml0ZWJhY2tfYW9wcyA9IHsKIAkucmVhZHBhZ2UJPSBleHQ0X3JlYWRwYWdlLAogCS5yZWFkcGFnZXMJPSBleHQ0X3JlYWRwYWdlcywKLQkud3JpdGVwYWdlCT0gZXh0NF93cml0ZWJhY2tfd3JpdGVwYWdlLAorCS53cml0ZXBhZ2UJPSBleHQ0X25vcm1hbF93cml0ZXBhZ2UsCiAJLnN5bmNfcGFnZQk9IGJsb2NrX3N5bmNfcGFnZSwKIAkud3JpdGVfYmVnaW4JPSBleHQ0X3dyaXRlX2JlZ2luLAogCS53cml0ZV9lbmQJPSBleHQ0X3dyaXRlYmFja193cml0ZV9lbmQsCkBAIC0xODU3LDEwICsyODQ2LDMxIEBACiAJLnJlbGVhc2VwYWdlCT0gZXh0NF9yZWxlYXNlcGFnZSwKIH07CiAKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgYWRkcmVzc19zcGFjZV9vcGVyYXRpb25zIGV4dDRfZGFfYW9wcyA9IHsKKwkucmVhZHBhZ2UJPSBleHQ0X3JlYWRwYWdlLAorCS5yZWFkcGFnZXMJPSBleHQ0X3JlYWRwYWdlcywKKwkud3JpdGVwYWdlCT0gZXh0NF9kYV93cml0ZXBhZ2UsCisJLndyaXRlcGFnZXMJPSBleHQ0X2RhX3dyaXRlcGFnZXMsCisJLnN5bmNfcGFnZQk9IGJsb2NrX3N5bmNfcGFnZSwKKwkud3JpdGVfYmVnaW4JPSBleHQ0X2RhX3dyaXRlX2JlZ2luLAorCS53cml0ZV9lbmQJPSBleHQ0X2RhX3dyaXRlX2VuZCwKKwkuYm1hcAkJPSBleHQ0X2JtYXAsCisJLmludmFsaWRhdGVwYWdlCT0gZXh0NF9kYV9pbnZhbGlkYXRlcGFnZSwKKwkucmVsZWFzZXBhZ2UJPSBleHQ0X3JlbGVhc2VwYWdlLAorCS5kaXJlY3RfSU8JPSBleHQ0X2RpcmVjdF9JTywKKwkubWlncmF0ZXBhZ2UJPSBidWZmZXJfbWlncmF0ZV9wYWdlLAorfTsKKwogdm9pZCBleHQ0X3NldF9hb3BzKHN0cnVjdCBpbm9kZSAqaW5vZGUpCiB7Ci0JaWYgKGV4dDRfc2hvdWxkX29yZGVyX2RhdGEoaW5vZGUpKQorCWlmIChleHQ0X3Nob3VsZF9vcmRlcl9kYXRhKGlub2RlKSAmJgorCQl0ZXN0X29wdChpbm9kZS0+aV9zYiwgREVMQUxMT0MpKQorCQlpbm9kZS0+aV9tYXBwaW5nLT5hX29wcyA9ICZleHQ0X2RhX2FvcHM7CisJZWxzZSBpZiAoZXh0NF9zaG91bGRfb3JkZXJfZGF0YShpbm9kZSkpCiAJCWlub2RlLT5pX21hcHBpbmctPmFfb3BzID0gJmV4dDRfb3JkZXJlZF9hb3BzOworCWVsc2UgaWYgKGV4dDRfc2hvdWxkX3dyaXRlYmFja19kYXRhKGlub2RlKSAmJgorCQkgdGVzdF9vcHQoaW5vZGUtPmlfc2IsIERFTEFMTE9DKSkKKwkJaW5vZGUtPmlfbWFwcGluZy0+YV9vcHMgPSAmZXh0NF9kYV9hb3BzOwogCWVsc2UgaWYgKGV4dDRfc2hvdWxkX3dyaXRlYmFja19kYXRhKGlub2RlKSkKIAkJaW5vZGUtPmlfbWFwcGluZy0+YV9vcHMgPSAmZXh0NF93cml0ZWJhY2tfYW9wczsKIAllbHNlCkBAIC0xODczLDcgKzI4ODMsNyBAQAogICogVGhpcyByZXF1aXJlZCBkdXJpbmcgdHJ1bmNhdGUuIFdlIG5lZWQgdG8gcGh5c2ljYWxseSB6ZXJvIHRoZSB0YWlsIGVuZAogICogb2YgdGhhdCBibG9jayBzbyBpdCBkb2Vzbid0IHlpZWxkIG9sZCBkYXRhIGlmIHRoZSBmaWxlIGlzIGxhdGVyIGdyb3duLgogICovCi1pbnQgZXh0NF9ibG9ja190cnVuY2F0ZV9wYWdlKGhhbmRsZV90ICpoYW5kbGUsIHN0cnVjdCBwYWdlICpwYWdlLAoraW50IGV4dDRfYmxvY2tfdHJ1bmNhdGVfcGFnZShoYW5kbGVfdCAqaGFuZGxlLAogCQlzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZywgbG9mZl90IGZyb20pCiB7CiAJZXh0NF9mc2Jsa190IGluZGV4ID0gZnJvbSA+PiBQQUdFX0NBQ0hFX1NISUZUOwpAQCAtMTg4Miw4ICsyODkyLDEzIEBACiAJZXh0NF9sYmxrX3QgaWJsb2NrOwogCXN0cnVjdCBpbm9kZSAqaW5vZGUgPSBtYXBwaW5nLT5ob3N0OwogCXN0cnVjdCBidWZmZXJfaGVhZCAqYmg7CisJc3RydWN0IHBhZ2UgKnBhZ2U7CiAJaW50IGVyciA9IDA7CiAKKwlwYWdlID0gZ3JhYl9jYWNoZV9wYWdlKG1hcHBpbmcsIGZyb20gPj4gUEFHRV9DQUNIRV9TSElGVCk7CisJaWYgKCFwYWdlKQorCQlyZXR1cm4gLUVJTlZBTDsKKwogCWJsb2Nrc2l6ZSA9IGlub2RlLT5pX3NiLT5zX2Jsb2Nrc2l6ZTsKIAlsZW5ndGggPSBibG9ja3NpemUgLSAob2Zmc2V0ICYgKGJsb2Nrc2l6ZSAtIDEpKTsKIAlpYmxvY2sgPSBpbmRleCA8PCAoUEFHRV9DQUNIRV9TSElGVCAtIGlub2RlLT5pX3NiLT5zX2Jsb2Nrc2l6ZV9iaXRzKTsKQEAgLTE5NTYsNyArMjk3MSw3IEBACiAJCWVyciA9IGV4dDRfam91cm5hbF9kaXJ0eV9tZXRhZGF0YShoYW5kbGUsIGJoKTsKIAl9IGVsc2UgewogCQlpZiAoZXh0NF9zaG91bGRfb3JkZXJfZGF0YShpbm9kZSkpCi0JCQllcnIgPSBleHQ0X2pvdXJuYWxfZGlydHlfZGF0YShoYW5kbGUsIGJoKTsKKwkJCWVyciA9IGV4dDRfamJkMl9maWxlX2lub2RlKGhhbmRsZSwgaW5vZGUpOwogCQltYXJrX2J1ZmZlcl9kaXJ0eShiaCk7CiAJfQogCkBAIC0yMTc5LDcgKzMxOTQsMjEgQEAKIAogCWlmICh0aGlzX2JoKSB7CiAJCUJVRkZFUl9UUkFDRSh0aGlzX2JoLCAiY2FsbCBleHQ0X2pvdXJuYWxfZGlydHlfbWV0YWRhdGEiKTsKLQkJZXh0NF9qb3VybmFsX2RpcnR5X21ldGFkYXRhKGhhbmRsZSwgdGhpc19iaCk7CisKKwkJLyoKKwkJICogVGhlIGJ1ZmZlciBoZWFkIHNob3VsZCBoYXZlIGFuIGF0dGFjaGVkIGpvdXJuYWwgaGVhZCBhdCB0aGlzCisJCSAqIHBvaW50LiBIb3dldmVyLCBpZiB0aGUgZGF0YSBpcyBjb3JydXB0ZWQgYW5kIGFuIGluZGlyZWN0CisJCSAqIGJsb2NrIHBvaW50ZWQgdG8gaXRzZWxmLCBpdCB3b3VsZCBoYXZlIGJlZW4gZGV0YWNoZWQgd2hlbgorCQkgKiB0aGUgYmxvY2sgd2FzIGNsZWFyZWQuIENoZWNrIGZvciB0aGlzIGluc3RlYWQgb2YgT09QU2luZy4KKwkJICovCisJCWlmIChiaDJqaCh0aGlzX2JoKSkKKwkJCWV4dDRfam91cm5hbF9kaXJ0eV9tZXRhZGF0YShoYW5kbGUsIHRoaXNfYmgpOworCQllbHNlCisJCQlleHQ0X2Vycm9yKGlub2RlLT5pX3NiLCBfX2Z1bmNfXywKKwkJCQkgICAiY2lyY3VsYXIgaW5kaXJlY3QgYmxvY2sgZGV0ZWN0ZWQsICIKKwkJCQkgICAiaW5vZGU9JWx1LCBibG9jaz0lbGx1IiwKKwkJCQkgICBpbm9kZS0+aV9pbm8sCisJCQkJICAgKHVuc2lnbmVkIGxvbmcgbG9uZykgdGhpc19iaC0+Yl9ibG9ja25yKTsKIAl9CiB9CiAKQEAgLTIzMDUsNiArMzMzNCwxOSBAQAogCX0KIH0KIAoraW50IGV4dDRfY2FuX3RydW5jYXRlKHN0cnVjdCBpbm9kZSAqaW5vZGUpCit7CisJaWYgKElTX0FQUEVORChpbm9kZSkgfHwgSVNfSU1NVVRBQkxFKGlub2RlKSkKKwkJcmV0dXJuIDA7CisJaWYgKFNfSVNSRUcoaW5vZGUtPmlfbW9kZSkpCisJCXJldHVybiAxOworCWlmIChTX0lTRElSKGlub2RlLT5pX21vZGUpKQorCQlyZXR1cm4gMTsKKwlpZiAoU19JU0xOSyhpbm9kZS0+aV9tb2RlKSkKKwkJcmV0dXJuICFleHQ0X2lub2RlX2lzX2Zhc3Rfc3ltbGluayhpbm9kZSk7CisJcmV0dXJuIDA7Cit9CisKIC8qCiAgKiBleHQ0X3RydW5jYXRlKCkKICAqCkBAIC0yMzQ3LDUxICszMzg5LDI1IEBACiAJaW50IG47CiAJZXh0NF9sYmxrX3QgbGFzdF9ibG9jazsKIAl1bnNpZ25lZCBibG9ja3NpemUgPSBpbm9kZS0+aV9zYi0+c19ibG9ja3NpemU7Ci0Jc3RydWN0IHBhZ2UgKnBhZ2U7CiAKLQlpZiAoIShTX0lTUkVHKGlub2RlLT5pX21vZGUpIHx8IFNfSVNESVIoaW5vZGUtPmlfbW9kZSkgfHwKLQkgICAgU19JU0xOSyhpbm9kZS0+aV9tb2RlKSkpCisJaWYgKCFleHQ0X2Nhbl90cnVuY2F0ZShpbm9kZSkpCiAJCXJldHVybjsKLQlpZiAoZXh0NF9pbm9kZV9pc19mYXN0X3N5bWxpbmsoaW5vZGUpKQotCQlyZXR1cm47Ci0JaWYgKElTX0FQUEVORChpbm9kZSkgfHwgSVNfSU1NVVRBQkxFKGlub2RlKSkKLQkJcmV0dXJuOwotCi0JLyoKLQkgKiBXZSBoYXZlIHRvIGxvY2sgdGhlIEVPRiBwYWdlIGhlcmUsIGJlY2F1c2UgbG9ja19wYWdlKCkgbmVzdHMKLQkgKiBvdXRzaWRlIGpiZDJfam91cm5hbF9zdGFydCgpLgotCSAqLwotCWlmICgoaW5vZGUtPmlfc2l6ZSAmIChibG9ja3NpemUgLSAxKSkgPT0gMCkgewotCQkvKiBCbG9jayBib3VuZGFyeT8gTm90aGluZyB0byBkbyAqLwotCQlwYWdlID0gTlVMTDsKLQl9IGVsc2UgewotCQlwYWdlID0gZ3JhYl9jYWNoZV9wYWdlKG1hcHBpbmcsCi0JCQkJaW5vZGUtPmlfc2l6ZSA+PiBQQUdFX0NBQ0hFX1NISUZUKTsKLQkJaWYgKCFwYWdlKQotCQkJcmV0dXJuOwotCX0KIAogCWlmIChFWFQ0X0koaW5vZGUpLT5pX2ZsYWdzICYgRVhUNF9FWFRFTlRTX0ZMKSB7Ci0JCWV4dDRfZXh0X3RydW5jYXRlKGlub2RlLCBwYWdlKTsKKwkJZXh0NF9leHRfdHJ1bmNhdGUoaW5vZGUpOwogCQlyZXR1cm47CiAJfQogCiAJaGFuZGxlID0gc3RhcnRfdHJhbnNhY3Rpb24oaW5vZGUpOwotCWlmIChJU19FUlIoaGFuZGxlKSkgewotCQlpZiAocGFnZSkgewotCQkJY2xlYXJfaGlnaHBhZ2UocGFnZSk7Ci0JCQlmbHVzaF9kY2FjaGVfcGFnZShwYWdlKTsKLQkJCXVubG9ja19wYWdlKHBhZ2UpOwotCQkJcGFnZV9jYWNoZV9yZWxlYXNlKHBhZ2UpOwotCQl9CisJaWYgKElTX0VSUihoYW5kbGUpKQogCQlyZXR1cm47CQkvKiBBS1BNOiByZXR1cm4gd2hhdD8gKi8KLQl9CiAKIAlsYXN0X2Jsb2NrID0gKGlub2RlLT5pX3NpemUgKyBibG9ja3NpemUtMSkKIAkJCQkJPj4gRVhUNF9CTE9DS19TSVpFX0JJVFMoaW5vZGUtPmlfc2IpOwogCi0JaWYgKHBhZ2UpCi0JCWV4dDRfYmxvY2tfdHJ1bmNhdGVfcGFnZShoYW5kbGUsIHBhZ2UsIG1hcHBpbmcsIGlub2RlLT5pX3NpemUpOworCWlmIChpbm9kZS0+aV9zaXplICYgKGJsb2Nrc2l6ZSAtIDEpKQorCQlpZiAoZXh0NF9ibG9ja190cnVuY2F0ZV9wYWdlKGhhbmRsZSwgbWFwcGluZywgaW5vZGUtPmlfc2l6ZSkpCisJCQlnb3RvIG91dF9zdG9wOwogCiAJbiA9IGV4dDRfYmxvY2tfdG9fcGF0aChpbm9kZSwgbGFzdF9ibG9jaywgb2Zmc2V0cywgTlVMTCk7CiAJaWYgKG4gPT0gMCkKQEAgLTI0MTAsNiArMzQyNiwxMSBAQAogCQlnb3RvIG91dF9zdG9wOwogCiAJLyoKKwkgKiBGcm9tIGhlcmUgd2UgYmxvY2sgb3V0IGFsbCBleHQ0X2dldF9ibG9jaygpIGNhbGxlcnMgd2hvIHdhbnQgdG8KKwkgKiBtb2RpZnkgdGhlIGJsb2NrIGFsbG9jYXRpb24gdHJlZS4KKwkgKi8KKwlkb3duX3dyaXRlKCZlaS0+aV9kYXRhX3NlbSk7CisJLyoKIAkgKiBUaGUgb3JwaGFuIGxpc3QgZW50cnkgd2lsbCBub3cgcHJvdGVjdCB1cyBmcm9tIGFueSBjcmFzaCB3aGljaAogCSAqIG9jY3VycyBiZWZvcmUgdGhlIHRydW5jYXRlIGNvbXBsZXRlcywgc28gaXQgaXMgbm93IHNhZmUgdG8gcHJvcGFnYXRlCiAJICogdGhlIG5ldywgc2hvcnRlciBpbm9kZSBzaXplIChoZWxkIGZvciBub3cgaW4gaV9zaXplKSBpbnRvIHRoZQpAQCAtMjQxOCwxMiArMzQzOSw2IEBACiAJICovCiAJZWktPmlfZGlza3NpemUgPSBpbm9kZS0+aV9zaXplOwogCi0JLyoKLQkgKiBGcm9tIGhlcmUgd2UgYmxvY2sgb3V0IGFsbCBleHQ0X2dldF9ibG9jaygpIGNhbGxlcnMgd2hvIHdhbnQgdG8KLQkgKiBtb2RpZnkgdGhlIGJsb2NrIGFsbG9jYXRpb24gdHJlZS4KLQkgKi8KLQlkb3duX3dyaXRlKCZlaS0+aV9kYXRhX3NlbSk7Ci0KIAlpZiAobiA9PSAxKSB7CQkvKiBkaXJlY3QgYmxvY2tzICovCiAJCWV4dDRfZnJlZV9kYXRhKGhhbmRsZSwgaW5vZGUsIE5VTEwsIGlfZGF0YStvZmZzZXRzWzBdLAogCQkJICAgICAgIGlfZGF0YSArIEVYVDRfTkRJUl9CTE9DS1MpOwpAQCAtMzEwNyw3ICs0MTIyLDE0IEBACiAgKiBiZSBmcmVlZCwgc28gd2UgaGF2ZSBhIHN0cm9uZyBndWFyYW50ZWUgdGhhdCBubyBmdXR1cmUgY29tbWl0IHdpbGwKICAqIGxlYXZlIHRoZXNlIGJsb2NrcyB2aXNpYmxlIHRvIHRoZSB1c2VyLikKICAqCi0gKiBDYWxsZWQgd2l0aCBpbm9kZS0+c2VtIGRvd24uCisgKiBBbm90aGVyIHRoaW5nIHdlIGhhdmUgdG8gYXNzdXJlIGlzIHRoYXQgaWYgd2UgYXJlIGluIG9yZGVyZWQgbW9kZQorICogYW5kIGlub2RlIGlzIHN0aWxsIGF0dGFjaGVkIHRvIHRoZSBjb21taXR0aW5nIHRyYW5zYWN0aW9uLCB3ZSBtdXN0CisgKiB3ZSBzdGFydCB3cml0ZW91dCBvZiBhbGwgdGhlIGRpcnR5IHBhZ2VzIHdoaWNoIGFyZSBiZWluZyB0cnVuY2F0ZWQuCisgKiBUaGlzIHdheSB3ZSBhcmUgc3VyZSB0aGF0IGFsbCB0aGUgZGF0YSB3cml0dGVuIGluIHRoZSBwcmV2aW91cworICogdHJhbnNhY3Rpb24gYXJlIGFscmVhZHkgb24gZGlzayAodHJ1bmNhdGUgd2FpdHMgZm9yIHBhZ2VzIHVuZGVyCisgKiB3cml0ZWJhY2spLgorICoKKyAqIENhbGxlZCB3aXRoIGlub2RlLT5pX211dGV4IGRvd24uCiAgKi8KIGludCBleHQ0X3NldGF0dHIoc3RydWN0IGRlbnRyeSAqZGVudHJ5LCBzdHJ1Y3QgaWF0dHIgKmF0dHIpCiB7CkBAIC0zMTczLDYgKzQxOTUsMjIgQEAKIAkJaWYgKCFlcnJvcikKIAkJCWVycm9yID0gcmM7CiAJCWV4dDRfam91cm5hbF9zdG9wKGhhbmRsZSk7CisKKwkJaWYgKGV4dDRfc2hvdWxkX29yZGVyX2RhdGEoaW5vZGUpKSB7CisJCQllcnJvciA9IGV4dDRfYmVnaW5fb3JkZXJlZF90cnVuY2F0ZShpbm9kZSwKKwkJCQkJCQkgICAgYXR0ci0+aWFfc2l6ZSk7CisJCQlpZiAoZXJyb3IpIHsKKwkJCQkvKiBEbyBhcyBtdWNoIGVycm9yIGNsZWFudXAgYXMgcG9zc2libGUgKi8KKwkJCQloYW5kbGUgPSBleHQ0X2pvdXJuYWxfc3RhcnQoaW5vZGUsIDMpOworCQkJCWlmIChJU19FUlIoaGFuZGxlKSkgeworCQkJCQlleHQ0X29ycGhhbl9kZWwoTlVMTCwgaW5vZGUpOworCQkJCQlnb3RvIGVycl9vdXQ7CisJCQkJfQorCQkJCWV4dDRfb3JwaGFuX2RlbChoYW5kbGUsIGlub2RlKTsKKwkJCQlleHQ0X2pvdXJuYWxfc3RvcChoYW5kbGUpOworCQkJCWdvdG8gZXJyX291dDsKKwkJCX0KKwkJfQogCX0KIAogCXJjID0gaW5vZGVfc2V0YXR0cihpbm9kZSwgYXR0cik7CkBAIC0zMTkzLDYgKzQyMzEsMzIgQEAKIAlyZXR1cm4gZXJyb3I7CiB9CiAKK2ludCBleHQ0X2dldGF0dHIoc3RydWN0IHZmc21vdW50ICptbnQsIHN0cnVjdCBkZW50cnkgKmRlbnRyeSwKKwkJIHN0cnVjdCBrc3RhdCAqc3RhdCkKK3sKKwlzdHJ1Y3QgaW5vZGUgKmlub2RlOworCXVuc2lnbmVkIGxvbmcgZGVsYWxsb2NfYmxvY2tzOworCisJaW5vZGUgPSBkZW50cnktPmRfaW5vZGU7CisJZ2VuZXJpY19maWxsYXR0cihpbm9kZSwgc3RhdCk7CisKKwkvKgorCSAqIFdlIGNhbid0IHVwZGF0ZSBpX2Jsb2NrcyBpZiB0aGUgYmxvY2sgYWxsb2NhdGlvbiBpcyBkZWxheWVkCisJICogb3RoZXJ3aXNlIGluIHRoZSBjYXNlIG9mIHN5c3RlbSBjcmFzaCBiZWZvcmUgdGhlIHJlYWwgYmxvY2sKKwkgKiBhbGxvY2F0aW9uIGlzIGRvbmUsIHdlIHdpbGwgaGF2ZSBpX2Jsb2NrcyBpbmNvbnNpc3RlbnQgd2l0aAorCSAqIG9uLWRpc2sgZmlsZSBibG9ja3MuCisJICogV2UgYWx3YXlzIGtlZXAgaV9ibG9ja3MgdXBkYXRlZCB0b2dldGhlciB3aXRoIHJlYWwKKwkgKiBhbGxvY2F0aW9uLiBCdXQgdG8gbm90IGNvbmZ1c2Ugd2l0aCB1c2VyLCBzdGF0CisJICogd2lsbCByZXR1cm4gdGhlIGJsb2NrcyB0aGF0IGluY2x1ZGUgdGhlIGRlbGF5ZWQgYWxsb2NhdGlvbgorCSAqIGJsb2NrcyBmb3IgdGhpcyBmaWxlLgorCSAqLworCXNwaW5fbG9jaygmRVhUNF9JKGlub2RlKS0+aV9ibG9ja19yZXNlcnZhdGlvbl9sb2NrKTsKKwlkZWxhbGxvY19ibG9ja3MgPSBFWFQ0X0koaW5vZGUpLT5pX3Jlc2VydmVkX2RhdGFfYmxvY2tzOworCXNwaW5fdW5sb2NrKCZFWFQ0X0koaW5vZGUpLT5pX2Jsb2NrX3Jlc2VydmF0aW9uX2xvY2spOworCisJc3RhdC0+YmxvY2tzICs9IChkZWxhbGxvY19ibG9ja3MgPDwgaW5vZGUtPmlfc2ItPnNfYmxvY2tzaXplX2JpdHMpPj45OworCXJldHVybiAwOworfQogCiAvKgogICogSG93IG1hbnkgYmxvY2tzIGRvdGggbWFrZSBhIHdyaXRlcGFnZSgpPwpAQCAtMzUwNiwzICs0NTcwLDY0IEBACiAKIAlyZXR1cm4gZXJyOwogfQorCitzdGF0aWMgaW50IGV4dDRfYmhfdW5tYXBwZWQoaGFuZGxlX3QgKmhhbmRsZSwgc3RydWN0IGJ1ZmZlcl9oZWFkICpiaCkKK3sKKwlyZXR1cm4gIWJ1ZmZlcl9tYXBwZWQoYmgpOworfQorCitpbnQgZXh0NF9wYWdlX21rd3JpdGUoc3RydWN0IHZtX2FyZWFfc3RydWN0ICp2bWEsIHN0cnVjdCBwYWdlICpwYWdlKQoreworCWxvZmZfdCBzaXplOworCXVuc2lnbmVkIGxvbmcgbGVuOworCWludCByZXQgPSAtRUlOVkFMOworCXN0cnVjdCBmaWxlICpmaWxlID0gdm1hLT52bV9maWxlOworCXN0cnVjdCBpbm9kZSAqaW5vZGUgPSBmaWxlLT5mX3BhdGguZGVudHJ5LT5kX2lub2RlOworCXN0cnVjdCBhZGRyZXNzX3NwYWNlICptYXBwaW5nID0gaW5vZGUtPmlfbWFwcGluZzsKKworCS8qCisJICogR2V0IGlfYWxsb2Nfc2VtIHRvIHN0b3AgdHJ1bmNhdGVzIG1lc3Npbmcgd2l0aCB0aGUgaW5vZGUuIFdlIGNhbm5vdAorCSAqIGdldCBpX211dGV4IGJlY2F1c2Ugd2UgYXJlIGFscmVhZHkgaG9sZGluZyBtbWFwX3NlbS4KKwkgKi8KKwlkb3duX3JlYWQoJmlub2RlLT5pX2FsbG9jX3NlbSk7CisJc2l6ZSA9IGlfc2l6ZV9yZWFkKGlub2RlKTsKKwlpZiAocGFnZS0+bWFwcGluZyAhPSBtYXBwaW5nIHx8IHNpemUgPD0gcGFnZV9vZmZzZXQocGFnZSkKKwkgICAgfHwgIVBhZ2VVcHRvZGF0ZShwYWdlKSkgeworCQkvKiBwYWdlIGdvdCB0cnVuY2F0ZWQgZnJvbSB1bmRlciB1cz8gKi8KKwkJZ290byBvdXRfdW5sb2NrOworCX0KKwlyZXQgPSAwOworCWlmIChQYWdlTWFwcGVkVG9EaXNrKHBhZ2UpKQorCQlnb3RvIG91dF91bmxvY2s7CisKKwlpZiAocGFnZS0+aW5kZXggPT0gc2l6ZSA+PiBQQUdFX0NBQ0hFX1NISUZUKQorCQlsZW4gPSBzaXplICYgflBBR0VfQ0FDSEVfTUFTSzsKKwllbHNlCisJCWxlbiA9IFBBR0VfQ0FDSEVfU0laRTsKKworCWlmIChwYWdlX2hhc19idWZmZXJzKHBhZ2UpKSB7CisJCS8qIHJldHVybiBpZiB3ZSBoYXZlIGFsbCB0aGUgYnVmZmVycyBtYXBwZWQgKi8KKwkJaWYgKCF3YWxrX3BhZ2VfYnVmZmVycyhOVUxMLCBwYWdlX2J1ZmZlcnMocGFnZSksIDAsIGxlbiwgTlVMTCwKKwkJCQkgICAgICAgZXh0NF9iaF91bm1hcHBlZCkpCisJCQlnb3RvIG91dF91bmxvY2s7CisJfQorCS8qCisJICogT0ssIHdlIG5lZWQgdG8gZmlsbCB0aGUgaG9sZS4uLiBEbyB3cml0ZV9iZWdpbiB3cml0ZV9lbmQKKwkgKiB0byBkbyBibG9jayBhbGxvY2F0aW9uL3Jlc2VydmF0aW9uLldlIGFyZSBub3QgaG9sZGluZworCSAqIGlub2RlLmlfX211dGV4IGhlcmUuIFRoYXQgYWxsb3cgKiBwYXJhbGxlbCB3cml0ZV9iZWdpbiwKKwkgKiB3cml0ZV9lbmQgY2FsbC4gbG9ja19wYWdlIHByZXZlbnQgdGhpcyBmcm9tIGhhcHBlbmluZworCSAqIG9uIHRoZSBzYW1lIHBhZ2UgdGhvdWdoCisJICovCisJcmV0ID0gbWFwcGluZy0+YV9vcHMtPndyaXRlX2JlZ2luKGZpbGUsIG1hcHBpbmcsIHBhZ2Vfb2Zmc2V0KHBhZ2UpLAorCQkJbGVuLCBBT1BfRkxBR19VTklOVEVSUlVQVElCTEUsICZwYWdlLCBOVUxMKTsKKwlpZiAocmV0IDwgMCkKKwkJZ290byBvdXRfdW5sb2NrOworCXJldCA9IG1hcHBpbmctPmFfb3BzLT53cml0ZV9lbmQoZmlsZSwgbWFwcGluZywgcGFnZV9vZmZzZXQocGFnZSksCisJCQlsZW4sIGxlbiwgcGFnZSwgTlVMTCk7CisJaWYgKHJldCA8IDApCisJCWdvdG8gb3V0X3VubG9jazsKKwlyZXQgPSAwOworb3V0X3VubG9jazoKKwl1cF9yZWFkKCZpbm9kZS0+aV9hbGxvY19zZW0pOworCXJldHVybiByZXQ7Cit9CmRpZmYgLS1naXQgYS9mcy9leHQ0L21iYWxsb2MuYyBiL2ZzL2V4dDQvbWJhbGxvYy5jCmluZGV4IGM5OTAwYWEuLjhkMTQxYTIgMTAwNjQ0Ci0tLSBhL2ZzL2V4dDQvbWJhbGxvYy5jCisrKyBiL2ZzL2V4dDQvbWJhbGxvYy5jCkBAIC0zODEsMjIgKzM4MSwyOCBAQAogCiBzdGF0aWMgaW5saW5lIGludCBtYl9maW5kX25leHRfemVyb19iaXQodm9pZCAqYWRkciwgaW50IG1heCwgaW50IHN0YXJ0KQogewotCWludCBmaXggPSAwOworCWludCBmaXggPSAwLCByZXQsIHRtcG1heDsKIAlhZGRyID0gbWJfY29ycmVjdF9hZGRyX2FuZF9iaXQoJmZpeCwgYWRkcik7Ci0JbWF4ICs9IGZpeDsKKwl0bXBtYXggPSBtYXggKyBmaXg7CiAJc3RhcnQgKz0gZml4OwogCi0JcmV0dXJuIGV4dDRfZmluZF9uZXh0X3plcm9fYml0KGFkZHIsIG1heCwgc3RhcnQpIC0gZml4OworCXJldCA9IGV4dDRfZmluZF9uZXh0X3plcm9fYml0KGFkZHIsIHRtcG1heCwgc3RhcnQpIC0gZml4OworCWlmIChyZXQgPiBtYXgpCisJCXJldHVybiBtYXg7CisJcmV0dXJuIHJldDsKIH0KIAogc3RhdGljIGlubGluZSBpbnQgbWJfZmluZF9uZXh0X2JpdCh2b2lkICphZGRyLCBpbnQgbWF4LCBpbnQgc3RhcnQpCiB7Ci0JaW50IGZpeCA9IDA7CisJaW50IGZpeCA9IDAsIHJldCwgdG1wbWF4OwogCWFkZHIgPSBtYl9jb3JyZWN0X2FkZHJfYW5kX2JpdCgmZml4LCBhZGRyKTsKLQltYXggKz0gZml4OworCXRtcG1heCA9IG1heCArIGZpeDsKIAlzdGFydCArPSBmaXg7CiAKLQlyZXR1cm4gZXh0NF9maW5kX25leHRfYml0KGFkZHIsIG1heCwgc3RhcnQpIC0gZml4OworCXJldCA9IGV4dDRfZmluZF9uZXh0X2JpdChhZGRyLCB0bXBtYXgsIHN0YXJ0KSAtIGZpeDsKKwlpZiAocmV0ID4gbWF4KQorCQlyZXR1cm4gbWF4OworCXJldHVybiByZXQ7CiB9CiAKIHN0YXRpYyB2b2lkICptYl9maW5kX2J1ZGR5KHN0cnVjdCBleHQ0X2J1ZGR5ICplNGIsIGludCBvcmRlciwgaW50ICptYXgpCkBAIC04MDMsNiArODA5LDcgQEAKIAkJaWYgKCFidWZmZXJfdXB0b2RhdGUoYmhbaV0pKQogCQkJZ290byBvdXQ7CiAKKwllcnIgPSAwOwogCWZpcnN0X2Jsb2NrID0gcGFnZS0+aW5kZXggKiBibG9ja3NfcGVyX3BhZ2U7CiAJZm9yIChpID0gMDsgaSA8IGJsb2Nrc19wZXJfcGFnZTsgaSsrKSB7CiAJCWludCBncm91cDsKQEAgLTg4Myw2ICs4OTAsNyBAQAogCWludCBwbnVtOwogCWludCBwb2ZmOwogCXN0cnVjdCBwYWdlICpwYWdlOworCWludCByZXQ7CiAKIAltYl9kZWJ1ZygibG9hZCBncm91cCAlbHVcbiIsIGdyb3VwKTsKIApAQCAtOTE0LDE1ICs5MjIsMjEgQEAKIAkJaWYgKHBhZ2UpIHsKIAkJCUJVR19PTihwYWdlLT5tYXBwaW5nICE9IGlub2RlLT5pX21hcHBpbmcpOwogCQkJaWYgKCFQYWdlVXB0b2RhdGUocGFnZSkpIHsKLQkJCQlleHQ0X21iX2luaXRfY2FjaGUocGFnZSwgTlVMTCk7CisJCQkJcmV0ID0gZXh0NF9tYl9pbml0X2NhY2hlKHBhZ2UsIE5VTEwpOworCQkJCWlmIChyZXQpIHsKKwkJCQkJdW5sb2NrX3BhZ2UocGFnZSk7CisJCQkJCWdvdG8gZXJyOworCQkJCX0KIAkJCQltYl9jbXBfYml0bWFwcyhlNGIsIHBhZ2VfYWRkcmVzcyhwYWdlKSArCiAJCQkJCSAgICAgICAocG9mZiAqIHNiLT5zX2Jsb2Nrc2l6ZSkpOwogCQkJfQogCQkJdW5sb2NrX3BhZ2UocGFnZSk7CiAJCX0KIAl9Ci0JaWYgKHBhZ2UgPT0gTlVMTCB8fCAhUGFnZVVwdG9kYXRlKHBhZ2UpKQorCWlmIChwYWdlID09IE5VTEwgfHwgIVBhZ2VVcHRvZGF0ZShwYWdlKSkgeworCQlyZXQgPSAtRUlPOwogCQlnb3RvIGVycjsKKwl9CiAJZTRiLT5iZF9iaXRtYXBfcGFnZSA9IHBhZ2U7CiAJZTRiLT5iZF9iaXRtYXAgPSBwYWdlX2FkZHJlc3MocGFnZSkgKyAocG9mZiAqIHNiLT5zX2Jsb2Nrc2l6ZSk7CiAJbWFya19wYWdlX2FjY2Vzc2VkKHBhZ2UpOwpAQCAtOTM4LDE0ICs5NTIsMjAgQEAKIAkJcGFnZSA9IGZpbmRfb3JfY3JlYXRlX3BhZ2UoaW5vZGUtPmlfbWFwcGluZywgcG51bSwgR0ZQX05PRlMpOwogCQlpZiAocGFnZSkgewogCQkJQlVHX09OKHBhZ2UtPm1hcHBpbmcgIT0gaW5vZGUtPmlfbWFwcGluZyk7Ci0JCQlpZiAoIVBhZ2VVcHRvZGF0ZShwYWdlKSkKLQkJCQlleHQ0X21iX2luaXRfY2FjaGUocGFnZSwgZTRiLT5iZF9iaXRtYXApOwotCisJCQlpZiAoIVBhZ2VVcHRvZGF0ZShwYWdlKSkgeworCQkJCXJldCA9IGV4dDRfbWJfaW5pdF9jYWNoZShwYWdlLCBlNGItPmJkX2JpdG1hcCk7CisJCQkJaWYgKHJldCkgeworCQkJCQl1bmxvY2tfcGFnZShwYWdlKTsKKwkJCQkJZ290byBlcnI7CisJCQkJfQorCQkJfQogCQkJdW5sb2NrX3BhZ2UocGFnZSk7CiAJCX0KIAl9Ci0JaWYgKHBhZ2UgPT0gTlVMTCB8fCAhUGFnZVVwdG9kYXRlKHBhZ2UpKQorCWlmIChwYWdlID09IE5VTEwgfHwgIVBhZ2VVcHRvZGF0ZShwYWdlKSkgeworCQlyZXQgPSAtRUlPOwogCQlnb3RvIGVycjsKKwl9CiAJZTRiLT5iZF9idWRkeV9wYWdlID0gcGFnZTsKIAllNGItPmJkX2J1ZGR5ID0gcGFnZV9hZGRyZXNzKHBhZ2UpICsgKHBvZmYgKiBzYi0+c19ibG9ja3NpemUpOwogCW1hcmtfcGFnZV9hY2Nlc3NlZChwYWdlKTsKQEAgLTk2Miw3ICs5ODIsNyBAQAogCQlwYWdlX2NhY2hlX3JlbGVhc2UoZTRiLT5iZF9idWRkeV9wYWdlKTsKIAllNGItPmJkX2J1ZGR5ID0gTlVMTDsKIAllNGItPmJkX2JpdG1hcCA9IE5VTEw7Ci0JcmV0dXJuIC1FSU87CisJcmV0dXJuIHJldDsKIH0KIAogc3RhdGljIHZvaWQgZXh0NF9tYl9yZWxlYXNlX2Rlc2Moc3RydWN0IGV4dDRfYnVkZHkgKmU0YikKQEAgLTEwMzEsNyArMTA1MSw3IEBACiAJfQogfQogCi1zdGF0aWMgaW50IG1iX2ZyZWVfYmxvY2tzKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBleHQ0X2J1ZGR5ICplNGIsCitzdGF0aWMgdm9pZCBtYl9mcmVlX2Jsb2NrcyhzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZXh0NF9idWRkeSAqZTRiLAogCQkJICBpbnQgZmlyc3QsIGludCBjb3VudCkKIHsKIAlpbnQgYmxvY2sgPSAwOwpAQCAtMTA3MSwxMSArMTA5MSwxMiBAQAogCQkJYmxvY2tuciArPSBibG9jazsKIAkJCWJsb2NrbnIgKz0KIAkJCSAgICBsZTMyX3RvX2NwdShFWFQ0X1NCKHNiKS0+c19lcy0+c19maXJzdF9kYXRhX2Jsb2NrKTsKLQorCQkJZXh0NF91bmxvY2tfZ3JvdXAoc2IsIGU0Yi0+YmRfZ3JvdXApOwogCQkJZXh0NF9lcnJvcihzYiwgX19mdW5jX18sICJkb3VibGUtZnJlZSBvZiBpbm9kZSIKIAkJCQkgICAiICVsdSdzIGJsb2NrICVsbHUoYml0ICV1IGluIGdyb3VwICVsdSlcbiIsCiAJCQkJICAgaW5vZGUgPyBpbm9kZS0+aV9pbm8gOiAwLCBibG9ja25yLCBibG9jaywKIAkJCQkgICBlNGItPmJkX2dyb3VwKTsKKwkJCWV4dDRfbG9ja19ncm91cChzYiwgZTRiLT5iZF9ncm91cCk7CiAJCX0KIAkJbWJfY2xlYXJfYml0KGJsb2NrLCBFWFQ0X01CX0JJVE1BUChlNGIpKTsKIAkJZTRiLT5iZF9pbmZvLT5iYl9jb3VudGVyc1tvcmRlcl0rKzsKQEAgLTExMTMsOCArMTEzNCw2IEBACiAJCX0gd2hpbGUgKDEpOwogCX0KIAltYl9jaGVja19idWRkeShlNGIpOwotCi0JcmV0dXJuIDA7CiB9CiAKIHN0YXRpYyBpbnQgbWJfZmluZF9leHRlbnQoc3RydWN0IGV4dDRfYnVkZHkgKmU0YiwgaW50IG9yZGVyLCBpbnQgYmxvY2ssCkBAIC0xNzMwLDEwICsxNzQ5LDYgQEAKIAkJYWMtPmFjX2dfZXguZmVfc3RhcnQgPSBzYmktPnNfbWJfbGFzdF9zdGFydDsKIAkJc3Bpbl91bmxvY2soJnNiaS0+c19tZF9sb2NrKTsKIAl9Ci0KLQkvKiBzZWFyY2hpbmcgZm9yIHRoZSByaWdodCBncm91cCBzdGFydCBmcm9tIHRoZSBnb2FsIHZhbHVlIHNwZWNpZmllZCAqLwotCWdyb3VwID0gYWMtPmFjX2dfZXguZmVfZ3JvdXA7Ci0KIAkvKiBMZXQncyBqdXN0IHNjYW4gZ3JvdXBzIHRvIGZpbmQgbW9yZS1sZXNzIHN1aXRhYmxlIGJsb2NrcyAqLwogCWNyID0gYWMtPmFjXzJvcmRlciA/IDAgOiAxOwogCS8qCkBAIC0xNzQzLDYgKzE3NTgsMTIgQEAKIHJlcGVhdDoKIAlmb3IgKDsgY3IgPCA0ICYmIGFjLT5hY19zdGF0dXMgPT0gQUNfU1RBVFVTX0NPTlRJTlVFOyBjcisrKSB7CiAJCWFjLT5hY19jcml0ZXJpYSA9IGNyOworCQkvKgorCQkgKiBzZWFyY2hpbmcgZm9yIHRoZSByaWdodCBncm91cCBzdGFydAorCQkgKiBmcm9tIHRoZSBnb2FsIHZhbHVlIHNwZWNpZmllZAorCQkgKi8KKwkJZ3JvdXAgPSBhYy0+YWNfZ19leC5mZV9ncm91cDsKKwogCQlmb3IgKGkgPSAwOyBpIDwgRVhUNF9TQihzYiktPnNfZ3JvdXBzX2NvdW50OyBncm91cCsrLCBpKyspIHsKIAkJCXN0cnVjdCBleHQ0X2dyb3VwX2luZm8gKmdycDsKIAkJCXN0cnVjdCBleHQ0X2dyb3VwX2Rlc2MgKmRlc2M7CkBAIC0xOTYzLDYgKzE5ODQsOCBAQAogCWludCByYzsKIAlpbnQgc2l6ZTsKIAorCWlmICh1bmxpa2VseShzYmktPnNfbWJfaGlzdG9yeSA9PSBOVUxMKSkKKwkJcmV0dXJuIC1FTk9NRU07CiAJcyA9IGttYWxsb2Moc2l6ZW9mKCpzKSwgR0ZQX0tFUk5FTCk7CiAJaWYgKHMgPT0gTlVMTCkKIAkJcmV0dXJuIC1FTk9NRU07CkBAIC0yMTY1LDkgKzIxODgsNyBAQAogCXNiaS0+c19tYl9oaXN0b3J5X2N1ciA9IDA7CiAJc3Bpbl9sb2NrX2luaXQoJnNiaS0+c19tYl9oaXN0b3J5X2xvY2spOwogCWkgPSBzYmktPnNfbWJfaGlzdG9yeV9tYXggKiBzaXplb2Yoc3RydWN0IGV4dDRfbWJfaGlzdG9yeSk7Ci0Jc2JpLT5zX21iX2hpc3RvcnkgPSBrbWFsbG9jKGksIEdGUF9LRVJORUwpOwotCWlmIChsaWtlbHkoc2JpLT5zX21iX2hpc3RvcnkgIT0gTlVMTCkpCi0JCW1lbXNldChzYmktPnNfbWJfaGlzdG9yeSwgMCwgaSk7CisJc2JpLT5zX21iX2hpc3RvcnkgPSBremFsbG9jKGksIEdGUF9LRVJORUwpOwogCS8qIGlmIHdlIGNhbid0IGFsbG9jYXRlIGhpc3RvcnksIHRoZW4gd2Ugc2ltcGxlIHdvbid0IHVzZSBpdCAqLwogfQogCkBAIC0yMjE1LDIxICsyMjM2LDE5MiBAQAogI2RlZmluZSBleHQ0X21iX2hpc3RvcnlfaW5pdChzYikKICNlbmRpZgogCisKKy8qIENyZWF0ZSBhbmQgaW5pdGlhbGl6ZSBleHQ0X2dyb3VwX2luZm8gZGF0YSBmb3IgdGhlIGdpdmVuIGdyb3VwLiAqLworaW50IGV4dDRfbWJfYWRkX2dyb3VwaW5mbyhzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiLCBleHQ0X2dyb3VwX3QgZ3JvdXAsCisJCQkgIHN0cnVjdCBleHQ0X2dyb3VwX2Rlc2MgKmRlc2MpCit7CisJaW50IGksIGxlbjsKKwlpbnQgbWV0YWxlbiA9IDA7CisJc3RydWN0IGV4dDRfc2JfaW5mbyAqc2JpID0gRVhUNF9TQihzYik7CisJc3RydWN0IGV4dDRfZ3JvdXBfaW5mbyAqKm1ldGFfZ3JvdXBfaW5mbzsKKworCS8qCisJICogRmlyc3QgY2hlY2sgaWYgdGhpcyBncm91cCBpcyB0aGUgZmlyc3Qgb2YgYSByZXNlcnZlZCBibG9jay4KKwkgKiBJZiBpdCdzIHRydWUsIHdlIGhhdmUgdG8gYWxsb2NhdGUgYSBuZXcgdGFibGUgb2YgcG9pbnRlcnMKKwkgKiB0byBleHQ0X2dyb3VwX2luZm8gc3RydWN0dXJlcworCSAqLworCWlmIChncm91cCAlIEVYVDRfREVTQ19QRVJfQkxPQ0soc2IpID09IDApIHsKKwkJbWV0YWxlbiA9IHNpemVvZigqbWV0YV9ncm91cF9pbmZvKSA8PAorCQkJRVhUNF9ERVNDX1BFUl9CTE9DS19CSVRTKHNiKTsKKwkJbWV0YV9ncm91cF9pbmZvID0ga21hbGxvYyhtZXRhbGVuLCBHRlBfS0VSTkVMKTsKKwkJaWYgKG1ldGFfZ3JvdXBfaW5mbyA9PSBOVUxMKSB7CisJCQlwcmludGsoS0VSTl9FUlIgIkVYVDQtZnM6IGNhbid0IGFsbG9jYXRlIG1lbSBmb3IgYSAiCisJCQkgICAgICAgImJ1ZGR5IGdyb3VwXG4iKTsKKwkJCWdvdG8gZXhpdF9tZXRhX2dyb3VwX2luZm87CisJCX0KKwkJc2JpLT5zX2dyb3VwX2luZm9bZ3JvdXAgPj4gRVhUNF9ERVNDX1BFUl9CTE9DS19CSVRTKHNiKV0gPQorCQkJbWV0YV9ncm91cF9pbmZvOworCX0KKworCS8qCisJICogY2FsY3VsYXRlIG5lZWRlZCBzaXplLiBpZiBjaGFuZ2UgYmJfY291bnRlcnMgc2l6ZSwKKwkgKiBkb24ndCBmb3JnZXQgYWJvdXQgZXh0NF9tYl9nZW5lcmF0ZV9idWRkeSgpCisJICovCisJbGVuID0gb2Zmc2V0b2YodHlwZW9mKCoqbWV0YV9ncm91cF9pbmZvKSwKKwkJICAgICAgIGJiX2NvdW50ZXJzW3NiLT5zX2Jsb2Nrc2l6ZV9iaXRzICsgMl0pOworCisJbWV0YV9ncm91cF9pbmZvID0KKwkJc2JpLT5zX2dyb3VwX2luZm9bZ3JvdXAgPj4gRVhUNF9ERVNDX1BFUl9CTE9DS19CSVRTKHNiKV07CisJaSA9IGdyb3VwICYgKEVYVDRfREVTQ19QRVJfQkxPQ0soc2IpIC0gMSk7CisKKwltZXRhX2dyb3VwX2luZm9baV0gPSBremFsbG9jKGxlbiwgR0ZQX0tFUk5FTCk7CisJaWYgKG1ldGFfZ3JvdXBfaW5mb1tpXSA9PSBOVUxMKSB7CisJCXByaW50ayhLRVJOX0VSUiAiRVhUNC1mczogY2FuJ3QgYWxsb2NhdGUgYnVkZHkgbWVtXG4iKTsKKwkJZ290byBleGl0X2dyb3VwX2luZm87CisJfQorCXNldF9iaXQoRVhUNF9HUk9VUF9JTkZPX05FRURfSU5JVF9CSVQsCisJCSYobWV0YV9ncm91cF9pbmZvW2ldLT5iYl9zdGF0ZSkpOworCisJLyoKKwkgKiBpbml0aWFsaXplIGJiX2ZyZWUgdG8gYmUgYWJsZSB0byBza2lwCisJICogZW1wdHkgZ3JvdXBzIHdpdGhvdXQgaW5pdGlhbGl6YXRpb24KKwkgKi8KKwlpZiAoZGVzYy0+YmdfZmxhZ3MgJiBjcHVfdG9fbGUxNihFWFQ0X0JHX0JMT0NLX1VOSU5JVCkpIHsKKwkJbWV0YV9ncm91cF9pbmZvW2ldLT5iYl9mcmVlID0KKwkJCWV4dDRfZnJlZV9ibG9ja3NfYWZ0ZXJfaW5pdChzYiwgZ3JvdXAsIGRlc2MpOworCX0gZWxzZSB7CisJCW1ldGFfZ3JvdXBfaW5mb1tpXS0+YmJfZnJlZSA9CisJCQlsZTE2X3RvX2NwdShkZXNjLT5iZ19mcmVlX2Jsb2Nrc19jb3VudCk7CisJfQorCisJSU5JVF9MSVNUX0hFQUQoJm1ldGFfZ3JvdXBfaW5mb1tpXS0+YmJfcHJlYWxsb2NfbGlzdCk7CisKKyNpZmRlZiBET1VCTEVfQ0hFQ0sKKwl7CisJCXN0cnVjdCBidWZmZXJfaGVhZCAqYmg7CisJCW1ldGFfZ3JvdXBfaW5mb1tpXS0+YmJfYml0bWFwID0KKwkJCWttYWxsb2Moc2ItPnNfYmxvY2tzaXplLCBHRlBfS0VSTkVMKTsKKwkJQlVHX09OKG1ldGFfZ3JvdXBfaW5mb1tpXS0+YmJfYml0bWFwID09IE5VTEwpOworCQliaCA9IGV4dDRfcmVhZF9ibG9ja19iaXRtYXAoc2IsIGdyb3VwKTsKKwkJQlVHX09OKGJoID09IE5VTEwpOworCQltZW1jcHkobWV0YV9ncm91cF9pbmZvW2ldLT5iYl9iaXRtYXAsIGJoLT5iX2RhdGEsCisJCQlzYi0+c19ibG9ja3NpemUpOworCQlwdXRfYmgoYmgpOworCX0KKyNlbmRpZgorCisJcmV0dXJuIDA7CisKK2V4aXRfZ3JvdXBfaW5mbzoKKwkvKiBJZiBhIG1ldGFfZ3JvdXBfaW5mbyB0YWJsZSBoYXMgYmVlbiBhbGxvY2F0ZWQsIHJlbGVhc2UgaXQgbm93ICovCisJaWYgKGdyb3VwICUgRVhUNF9ERVNDX1BFUl9CTE9DSyhzYikgPT0gMCkKKwkJa2ZyZWUoc2JpLT5zX2dyb3VwX2luZm9bZ3JvdXAgPj4gRVhUNF9ERVNDX1BFUl9CTE9DS19CSVRTKHNiKV0pOworZXhpdF9tZXRhX2dyb3VwX2luZm86CisJcmV0dXJuIC1FTk9NRU07Cit9IC8qIGV4dDRfbWJfYWRkX2dyb3VwaW5mbyAqLworCisvKgorICogQWRkIGEgZ3JvdXAgdG8gdGhlIGV4aXN0aW5nIGdyb3Vwcy4KKyAqIFRoaXMgZnVuY3Rpb24gaXMgdXNlZCBmb3Igb25saW5lIHJlc2l6ZQorICovCitpbnQgZXh0NF9tYl9hZGRfbW9yZV9ncm91cGluZm8oc3RydWN0IHN1cGVyX2Jsb2NrICpzYiwgZXh0NF9ncm91cF90IGdyb3VwLAorCQkJICAgICAgIHN0cnVjdCBleHQ0X2dyb3VwX2Rlc2MgKmRlc2MpCit7CisJc3RydWN0IGV4dDRfc2JfaW5mbyAqc2JpID0gRVhUNF9TQihzYik7CisJc3RydWN0IGlub2RlICppbm9kZSA9IHNiaS0+c19idWRkeV9jYWNoZTsKKwlpbnQgYmxvY2tzX3Blcl9wYWdlOworCWludCBibG9jazsKKwlpbnQgcG51bTsKKwlzdHJ1Y3QgcGFnZSAqcGFnZTsKKwlpbnQgZXJyOworCisJLyogQWRkIGdyb3VwIGJhc2VkIG9uIGdyb3VwIGRlc2NyaXB0b3IqLworCWVyciA9IGV4dDRfbWJfYWRkX2dyb3VwaW5mbyhzYiwgZ3JvdXAsIGRlc2MpOworCWlmIChlcnIpCisJCXJldHVybiBlcnI7CisKKwkvKgorCSAqIENhY2hlIHBhZ2VzIGNvbnRhaW5pbmcgZHluYW1pYyBtYl9hbGxvYyBkYXRhcyAoYnVkZHkgYW5kIGJpdG1hcAorCSAqIGRhdGFzKSBhcmUgc2V0IG5vdCB1cCB0byBkYXRlIHNvIHRoYXQgdGhleSB3aWxsIGJlIHJlLWluaXRpbGFpemVkCisJICogZHVyaW5nIHRoZSBuZXh0IGNhbGwgdG8gZXh0NF9tYl9sb2FkX2J1ZGR5CisJICovCisKKwkvKiBTZXQgYnVkZHkgcGFnZSBhcyBub3QgdXAgdG8gZGF0ZSAqLworCWJsb2Nrc19wZXJfcGFnZSA9IFBBR0VfQ0FDSEVfU0laRSAvIHNiLT5zX2Jsb2Nrc2l6ZTsKKwlibG9jayA9IGdyb3VwICogMjsKKwlwbnVtID0gYmxvY2sgLyBibG9ja3NfcGVyX3BhZ2U7CisJcGFnZSA9IGZpbmRfZ2V0X3BhZ2UoaW5vZGUtPmlfbWFwcGluZywgcG51bSk7CisJaWYgKHBhZ2UgIT0gTlVMTCkgeworCQlDbGVhclBhZ2VVcHRvZGF0ZShwYWdlKTsKKwkJcGFnZV9jYWNoZV9yZWxlYXNlKHBhZ2UpOworCX0KKworCS8qIFNldCBiaXRtYXAgcGFnZSBhcyBub3QgdXAgdG8gZGF0ZSAqLworCWJsb2NrKys7CisJcG51bSA9IGJsb2NrIC8gYmxvY2tzX3Blcl9wYWdlOworCXBhZ2UgPSBmaW5kX2dldF9wYWdlKGlub2RlLT5pX21hcHBpbmcsIHBudW0pOworCWlmIChwYWdlICE9IE5VTEwpIHsKKwkJQ2xlYXJQYWdlVXB0b2RhdGUocGFnZSk7CisJCXBhZ2VfY2FjaGVfcmVsZWFzZShwYWdlKTsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworLyoKKyAqIFVwZGF0ZSBhbiBleGlzdGluZyBncm91cC4KKyAqIFRoaXMgZnVuY3Rpb24gaXMgdXNlZCBmb3Igb25saW5lIHJlc2l6ZQorICovCit2b2lkIGV4dDRfbWJfdXBkYXRlX2dyb3VwX2luZm8oc3RydWN0IGV4dDRfZ3JvdXBfaW5mbyAqZ3JwLCBleHQ0X2dycGJsa190IGFkZCkKK3sKKwlncnAtPmJiX2ZyZWUgKz0gYWRkOworfQorCiBzdGF0aWMgaW50IGV4dDRfbWJfaW5pdF9iYWNrZW5kKHN0cnVjdCBzdXBlcl9ibG9jayAqc2IpCiB7CiAJZXh0NF9ncm91cF90IGk7Ci0JaW50IGosIGxlbiwgbWV0YWxlbjsKKwlpbnQgbWV0YWxlbjsKIAlzdHJ1Y3QgZXh0NF9zYl9pbmZvICpzYmkgPSBFWFQ0X1NCKHNiKTsKLQlpbnQgbnVtX21ldGFfZ3JvdXBfaW5mb3MgPQotCQkoc2JpLT5zX2dyb3Vwc19jb3VudCArIEVYVDRfREVTQ19QRVJfQkxPQ0soc2IpIC0gMSkgPj4KLQkJCUVYVDRfREVTQ19QRVJfQkxPQ0tfQklUUyhzYik7CisJc3RydWN0IGV4dDRfc3VwZXJfYmxvY2sgKmVzID0gc2JpLT5zX2VzOworCWludCBudW1fbWV0YV9ncm91cF9pbmZvczsKKwlpbnQgbnVtX21ldGFfZ3JvdXBfaW5mb3NfbWF4OworCWludCBhcnJheV9zaXplOwogCXN0cnVjdCBleHQ0X2dyb3VwX2luZm8gKiptZXRhX2dyb3VwX2luZm87CisJc3RydWN0IGV4dDRfZ3JvdXBfZGVzYyAqZGVzYzsKIAorCS8qIFRoaXMgaXMgdGhlIG51bWJlciBvZiBibG9ja3MgdXNlZCBieSBHRFQgKi8KKwludW1fbWV0YV9ncm91cF9pbmZvcyA9IChzYmktPnNfZ3JvdXBzX2NvdW50ICsgRVhUNF9ERVNDX1BFUl9CTE9DSyhzYikgLQorCQkJCTEpID4+IEVYVDRfREVTQ19QRVJfQkxPQ0tfQklUUyhzYik7CisKKwkvKgorCSAqIFRoaXMgaXMgdGhlIHRvdGFsIG51bWJlciBvZiBibG9ja3MgdXNlZCBieSBHRFQgaW5jbHVkaW5nCisJICogdGhlIG51bWJlciBvZiByZXNlcnZlZCBibG9ja3MgZm9yIEdEVC4KKwkgKiBUaGUgc19ncm91cF9pbmZvIGFycmF5IGlzIGFsbG9jYXRlZCB3aXRoIHRoaXMgdmFsdWUKKwkgKiB0byBhbGxvdyBhIGNsZWFuIG9ubGluZSByZXNpemUgd2l0aG91dCBhIGNvbXBsZXgKKwkgKiBtYW5pcHVsYXRpb24gb2YgcG9pbnRlci4KKwkgKiBUaGUgZHJhd2JhY2sgaXMgdGhlIHVudXNlZCBtZW1vcnkgd2hlbiBubyByZXNpemUKKwkgKiBvY2N1cnMgYnV0IGl0J3MgdmVyeSBsb3cgaW4gdGVybXMgb2YgcGFnZXMKKwkgKiAoc2VlIGNvbW1lbnRzIGJlbG93KQorCSAqIE5lZWQgdG8gaGFuZGxlIHRoaXMgcHJvcGVybHkgd2hlbiBNRVRBX0JHIHJlc2l6aW5nIGlzIGFsbG93ZWQKKwkgKi8KKwludW1fbWV0YV9ncm91cF9pbmZvc19tYXggPSBudW1fbWV0YV9ncm91cF9pbmZvcyArCisJCQkJbGUxNl90b19jcHUoZXMtPnNfcmVzZXJ2ZWRfZ2R0X2Jsb2Nrcyk7CisKKwkvKgorCSAqIGFycmF5X3NpemUgaXMgdGhlIHNpemUgb2Ygc19ncm91cF9pbmZvIGFycmF5LiBXZSByb3VuZCBpdAorCSAqIHRvIHRoZSBuZXh0IHBvd2VyIG9mIHR3byBiZWNhdXNlIHRoaXMgYXBwcm94aW1hdGlvbiBpcyBkb25lCisJICogaW50ZXJuYWxseSBieSBrbWFsbG9jIHNvIHdlIGNhbiBoYXZlIHNvbWUgbW9yZSBtZW1vcnkKKwkgKiBmb3IgZnJlZSBoZXJlIChlLmcuIG1heSBiZSB1c2VkIGZvciBNRVRBX0JHIHJlc2l6ZSkuCisJICovCisJYXJyYXlfc2l6ZSA9IDE7CisJd2hpbGUgKGFycmF5X3NpemUgPCBzaXplb2YoKnNiaS0+c19ncm91cF9pbmZvKSAqCisJICAgICAgIG51bV9tZXRhX2dyb3VwX2luZm9zX21heCkKKwkJYXJyYXlfc2l6ZSA9IGFycmF5X3NpemUgPDwgMTsKIAkvKiBBbiA4VEIgZmlsZXN5c3RlbSB3aXRoIDY0LWJpdCBwb2ludGVycyByZXF1aXJlcyBhIDQwOTYgYnl0ZQogCSAqIGttYWxsb2MuIEEgMTI4a2IgbWFsbG9jIHNob3VsZCBzdWZmaWNlIGZvciBhIDI1NlRCIGZpbGVzeXN0ZW0uCiAJICogU28gYSB0d28gbGV2ZWwgc2NoZW1lIHN1ZmZpY2VzIGZvciBub3cuICovCi0Jc2JpLT5zX2dyb3VwX2luZm8gPSBrbWFsbG9jKHNpemVvZigqc2JpLT5zX2dyb3VwX2luZm8pICoKLQkJCQkgICAgbnVtX21ldGFfZ3JvdXBfaW5mb3MsIEdGUF9LRVJORUwpOworCXNiaS0+c19ncm91cF9pbmZvID0ga21hbGxvYyhhcnJheV9zaXplLCBHRlBfS0VSTkVMKTsKIAlpZiAoc2JpLT5zX2dyb3VwX2luZm8gPT0gTlVMTCkgewogCQlwcmludGsoS0VSTl9FUlIgIkVYVDQtZnM6IGNhbid0IGFsbG9jYXRlIGJ1ZGR5IG1ldGEgZ3JvdXBcbiIpOwogCQlyZXR1cm4gLUVOT01FTTsKQEAgLTIyNTYsNjMgKzI0NDgsMTUgQEAKIAkJc2JpLT5zX2dyb3VwX2luZm9baV0gPSBtZXRhX2dyb3VwX2luZm87CiAJfQogCi0JLyoKLQkgKiBjYWxjdWxhdGUgbmVlZGVkIHNpemUuIGlmIGNoYW5nZSBiYl9jb3VudGVycyBzaXplLAotCSAqIGRvbid0IGZvcmdldCBhYm91dCBleHQ0X21iX2dlbmVyYXRlX2J1ZGR5KCkKLQkgKi8KLQlsZW4gPSBzaXplb2Yoc3RydWN0IGV4dDRfZ3JvdXBfaW5mbyk7Ci0JbGVuICs9IHNpemVvZih1bnNpZ25lZCBzaG9ydCkgKiAoc2ItPnNfYmxvY2tzaXplX2JpdHMgKyAyKTsKIAlmb3IgKGkgPSAwOyBpIDwgc2JpLT5zX2dyb3Vwc19jb3VudDsgaSsrKSB7Ci0JCXN0cnVjdCBleHQ0X2dyb3VwX2Rlc2MgKmRlc2M7Ci0KLQkJbWV0YV9ncm91cF9pbmZvID0KLQkJCXNiaS0+c19ncm91cF9pbmZvW2kgPj4gRVhUNF9ERVNDX1BFUl9CTE9DS19CSVRTKHNiKV07Ci0JCWogPSBpICYgKEVYVDRfREVTQ19QRVJfQkxPQ0soc2IpIC0gMSk7Ci0KLQkJbWV0YV9ncm91cF9pbmZvW2pdID0ga3phbGxvYyhsZW4sIEdGUF9LRVJORUwpOwotCQlpZiAobWV0YV9ncm91cF9pbmZvW2pdID09IE5VTEwpIHsKLQkJCXByaW50ayhLRVJOX0VSUiAiRVhUNC1mczogY2FuJ3QgYWxsb2NhdGUgYnVkZHkgbWVtXG4iKTsKLQkJCWdvdG8gZXJyX2ZyZWVidWRkeTsKLQkJfQogCQlkZXNjID0gZXh0NF9nZXRfZ3JvdXBfZGVzYyhzYiwgaSwgTlVMTCk7CiAJCWlmIChkZXNjID09IE5VTEwpIHsKIAkJCXByaW50ayhLRVJOX0VSUgogCQkJCSJFWFQ0LWZzOiBjYW4ndCByZWFkIGRlc2NyaXB0b3IgJWx1XG4iLCBpKTsKLQkJCWkrKzsKIAkJCWdvdG8gZXJyX2ZyZWVidWRkeTsKIAkJfQotCQltZW1zZXQobWV0YV9ncm91cF9pbmZvW2pdLCAwLCBsZW4pOwotCQlzZXRfYml0KEVYVDRfR1JPVVBfSU5GT19ORUVEX0lOSVRfQklULAotCQkJJihtZXRhX2dyb3VwX2luZm9bal0tPmJiX3N0YXRlKSk7Ci0KLQkJLyoKLQkJICogaW5pdGlhbGl6ZSBiYl9mcmVlIHRvIGJlIGFibGUgdG8gc2tpcAotCQkgKiBlbXB0eSBncm91cHMgd2l0aG91dCBpbml0aWFsaXphdGlvbgotCQkgKi8KLQkJaWYgKGRlc2MtPmJnX2ZsYWdzICYgY3B1X3RvX2xlMTYoRVhUNF9CR19CTE9DS19VTklOSVQpKSB7Ci0JCQltZXRhX2dyb3VwX2luZm9bal0tPmJiX2ZyZWUgPQotCQkJCWV4dDRfZnJlZV9ibG9ja3NfYWZ0ZXJfaW5pdChzYiwgaSwgZGVzYyk7Ci0JCX0gZWxzZSB7Ci0JCQltZXRhX2dyb3VwX2luZm9bal0tPmJiX2ZyZWUgPQotCQkJCWxlMTZfdG9fY3B1KGRlc2MtPmJnX2ZyZWVfYmxvY2tzX2NvdW50KTsKLQkJfQotCi0JCUlOSVRfTElTVF9IRUFEKCZtZXRhX2dyb3VwX2luZm9bal0tPmJiX3ByZWFsbG9jX2xpc3QpOwotCi0jaWZkZWYgRE9VQkxFX0NIRUNLCi0JCXsKLQkJCXN0cnVjdCBidWZmZXJfaGVhZCAqYmg7Ci0JCQltZXRhX2dyb3VwX2luZm9bal0tPmJiX2JpdG1hcCA9Ci0JCQkJa21hbGxvYyhzYi0+c19ibG9ja3NpemUsIEdGUF9LRVJORUwpOwotCQkJQlVHX09OKG1ldGFfZ3JvdXBfaW5mb1tqXS0+YmJfYml0bWFwID09IE5VTEwpOwotCQkJYmggPSByZWFkX2Jsb2NrX2JpdG1hcChzYiwgaSk7Ci0JCQlCVUdfT04oYmggPT0gTlVMTCk7Ci0JCQltZW1jcHkobWV0YV9ncm91cF9pbmZvW2pdLT5iYl9iaXRtYXAsIGJoLT5iX2RhdGEsCi0JCQkJCXNiLT5zX2Jsb2Nrc2l6ZSk7Ci0JCQlwdXRfYmgoYmgpOwotCQl9Ci0jZW5kaWYKLQorCQlpZiAoZXh0NF9tYl9hZGRfZ3JvdXBpbmZvKHNiLCBpLCBkZXNjKSAhPSAwKQorCQkJZ290byBlcnJfZnJlZWJ1ZGR5OwogCX0KIAogCXJldHVybiAwOwpAQCAtMjMzNiw2ICsyNDgwLDcgQEAKIAl1bnNpZ25lZCBpOwogCXVuc2lnbmVkIG9mZnNldDsKIAl1bnNpZ25lZCBtYXg7CisJaW50IHJldDsKIAogCWlmICghdGVzdF9vcHQoc2IsIE1CQUxMT0MpKQogCQlyZXR1cm4gMDsKQEAgLTIzNzAsMTIgKzI1MTUsMTIgQEAKIAl9IHdoaWxlIChpIDw9IHNiLT5zX2Jsb2Nrc2l6ZV9iaXRzICsgMSk7CiAKIAkvKiBpbml0IGZpbGUgZm9yIGJ1ZGR5IGRhdGEgKi8KLQlpID0gZXh0NF9tYl9pbml0X2JhY2tlbmQoc2IpOwotCWlmIChpKSB7CisJcmV0ID0gZXh0NF9tYl9pbml0X2JhY2tlbmQoc2IpOworCWlmIChyZXQgIT0gMCkgewogCQljbGVhcl9vcHQoc2JpLT5zX21vdW50X29wdCwgTUJBTExPQyk7CiAJCWtmcmVlKHNiaS0+c19tYl9vZmZzZXRzKTsKIAkJa2ZyZWUoc2JpLT5zX21iX21heHMpOwotCQlyZXR1cm4gaTsKKwkJcmV0dXJuIHJldDsKIAl9CiAKIAlzcGluX2xvY2tfaW5pdCgmc2JpLT5zX21kX2xvY2spOwpAQCAtMjU0OCw4ICsyNjkzLDcgQEAKIAkJZXh0NF9sb2NrX2dyb3VwKHNiLCBtZC0+Z3JvdXApOwogCQlmb3IgKGkgPSAwOyBpIDwgbWQtPm51bTsgaSsrKSB7CiAJCQltYl9kZWJ1ZygiICV1IiwgbWQtPmJsb2Nrc1tpXSk7Ci0JCQllcnIgPSBtYl9mcmVlX2Jsb2NrcyhOVUxMLCAmZTRiLCBtZC0+YmxvY2tzW2ldLCAxKTsKLQkJCUJVR19PTihlcnIgIT0gMCk7CisJCQltYl9mcmVlX2Jsb2NrcyhOVUxMLCAmZTRiLCBtZC0+YmxvY2tzW2ldLCAxKTsKIAkJfQogCQltYl9kZWJ1ZygiXG4iKTsKIAkJZXh0NF91bmxvY2tfZ3JvdXAoc2IsIG1kLT5ncm91cCk7CkBAIC0yNTc1LDI1ICsyNzE5LDI0IEBACiAKIAogCi0jZGVmaW5lIE1CX1BST0NfVkFMVUVfUkVBRChuYW1lKQkJCQlcCi1zdGF0aWMgaW50IGV4dDRfbWJfcmVhZF8jI25hbWUoY2hhciAqcGFnZSwgY2hhciAqKnN0YXJ0LAlcCi0JCW9mZl90IG9mZiwgaW50IGNvdW50LCBpbnQgKmVvZiwgdm9pZCAqZGF0YSkJXAorI2RlZmluZSBNQl9QUk9DX0ZPUFMobmFtZSkJCQkJCVwKK3N0YXRpYyBpbnQgZXh0NF9tYl8jI25hbWUjI19wcm9jX3Nob3coc3RydWN0IHNlcV9maWxlICptLCB2b2lkICp2KQlcCiB7CQkJCQkJCQlcCi0Jc3RydWN0IGV4dDRfc2JfaW5mbyAqc2JpID0gZGF0YTsJCQlcCi0JaW50IGxlbjsJCQkJCQlcCi0JKmVvZiA9IDE7CQkJCQkJXAotCWlmIChvZmYgIT0gMCkJCQkJCQlcCi0JCXJldHVybiAwOwkJCQkJXAotCWxlbiA9IHNwcmludGYocGFnZSwgIiVsZFxuIiwgc2JpLT5zX21iXyMjbmFtZSk7CQlcCi0JKnN0YXJ0ID0gcGFnZTsJCQkJCQlcCi0JcmV0dXJuIGxlbjsJCQkJCQlcCi19Ci0KLSNkZWZpbmUgTUJfUFJPQ19WQUxVRV9XUklURShuYW1lKQkJCQlcCi1zdGF0aWMgaW50IGV4dDRfbWJfd3JpdGVfIyNuYW1lKHN0cnVjdCBmaWxlICpmaWxlLAkJXAotCQljb25zdCBjaGFyIF9fdXNlciAqYnVmLCB1bnNpZ25lZCBsb25nIGNudCwgdm9pZCAqZGF0YSkJXAorCXN0cnVjdCBleHQ0X3NiX2luZm8gKnNiaSA9IG0tPnByaXZhdGU7CQkJXAorCQkJCQkJCQlcCisJc2VxX3ByaW50ZihtLCAiJWxkXG4iLCBzYmktPnNfbWJfIyNuYW1lKTsJCVwKKwlyZXR1cm4gMDsJCQkJCQlcCit9CQkJCQkJCQlcCisJCQkJCQkJCVwKK3N0YXRpYyBpbnQgZXh0NF9tYl8jI25hbWUjI19wcm9jX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpXAogewkJCQkJCQkJXAotCXN0cnVjdCBleHQ0X3NiX2luZm8gKnNiaSA9IGRhdGE7CQkJXAorCXJldHVybiBzaW5nbGVfb3BlbihmaWxlLCBleHQ0X21iXyMjbmFtZSMjX3Byb2Nfc2hvdywgUERFKGlub2RlKS0+ZGF0YSk7XAorfQkJCQkJCQkJXAorCQkJCQkJCQlcCitzdGF0aWMgc3NpemVfdCBleHQ0X21iXyMjbmFtZSMjX3Byb2Nfd3JpdGUoc3RydWN0IGZpbGUgKmZpbGUsCVwKKwkJY29uc3QgY2hhciBfX3VzZXIgKmJ1Ziwgc2l6ZV90IGNudCwgbG9mZl90ICpwcG9zKQlcCit7CQkJCQkJCQlcCisJc3RydWN0IGV4dDRfc2JfaW5mbyAqc2JpID0gUERFKGZpbGUtPmZfcGF0aC5kZW50cnktPmRfaW5vZGUpLT5kYXRhO1wKIAljaGFyIHN0clszMl07CQkJCQkJXAogCWxvbmcgdmFsdWU7CQkJCQkJXAogCWlmIChjbnQgPj0gc2l6ZW9mKHN0cikpCQkJCQlcCkBAIC0yNjA1LDMxICsyNzQ4LDMyIEBACiAJCXJldHVybiAtRVJBTkdFOwkJCQkJXAogCXNiaS0+c19tYl8jI25hbWUgPSB2YWx1ZTsJCQkJXAogCXJldHVybiBjbnQ7CQkJCQkJXAotfQorfQkJCQkJCQkJXAorCQkJCQkJCQlcCitzdGF0aWMgY29uc3Qgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyBleHQ0X21iXyMjbmFtZSMjX3Byb2NfZm9wcyA9IHsJXAorCS5vd25lcgkJPSBUSElTX01PRFVMRSwJCQkJXAorCS5vcGVuCQk9IGV4dDRfbWJfIyNuYW1lIyNfcHJvY19vcGVuLAkJXAorCS5yZWFkCQk9IHNlcV9yZWFkLAkJCQlcCisJLmxsc2VlawkJPSBzZXFfbHNlZWssCQkJCVwKKwkucmVsZWFzZQk9IHNpbmdsZV9yZWxlYXNlLAkJCVwKKwkud3JpdGUJCT0gZXh0NF9tYl8jI25hbWUjI19wcm9jX3dyaXRlLAkJXAorfTsKIAotTUJfUFJPQ19WQUxVRV9SRUFEKHN0YXRzKTsKLU1CX1BST0NfVkFMVUVfV1JJVEUoc3RhdHMpOwotTUJfUFJPQ19WQUxVRV9SRUFEKG1heF90b19zY2FuKTsKLU1CX1BST0NfVkFMVUVfV1JJVEUobWF4X3RvX3NjYW4pOwotTUJfUFJPQ19WQUxVRV9SRUFEKG1pbl90b19zY2FuKTsKLU1CX1BST0NfVkFMVUVfV1JJVEUobWluX3RvX3NjYW4pOwotTUJfUFJPQ19WQUxVRV9SRUFEKG9yZGVyMl9yZXFzKTsKLU1CX1BST0NfVkFMVUVfV1JJVEUob3JkZXIyX3JlcXMpOwotTUJfUFJPQ19WQUxVRV9SRUFEKHN0cmVhbV9yZXF1ZXN0KTsKLU1CX1BST0NfVkFMVUVfV1JJVEUoc3RyZWFtX3JlcXVlc3QpOwotTUJfUFJPQ19WQUxVRV9SRUFEKGdyb3VwX3ByZWFsbG9jKTsKLU1CX1BST0NfVkFMVUVfV1JJVEUoZ3JvdXBfcHJlYWxsb2MpOworTUJfUFJPQ19GT1BTKHN0YXRzKTsKK01CX1BST0NfRk9QUyhtYXhfdG9fc2Nhbik7CitNQl9QUk9DX0ZPUFMobWluX3RvX3NjYW4pOworTUJfUFJPQ19GT1BTKG9yZGVyMl9yZXFzKTsKK01CX1BST0NfRk9QUyhzdHJlYW1fcmVxdWVzdCk7CitNQl9QUk9DX0ZPUFMoZ3JvdXBfcHJlYWxsb2MpOwogCiAjZGVmaW5lCU1CX1BST0NfSEFORExFUihuYW1lLCB2YXIpCQkJCQlcCiBkbyB7CQkJCQkJCQkJXAotCXByb2MgPSBjcmVhdGVfcHJvY19lbnRyeShuYW1lLCBtb2RlLCBzYmktPnNfbWJfcHJvYyk7CQlcCisJcHJvYyA9IHByb2NfY3JlYXRlX2RhdGEobmFtZSwgbW9kZSwgc2JpLT5zX21iX3Byb2MsCQlcCisJCQkJJmV4dDRfbWJfIyN2YXIjI19wcm9jX2ZvcHMsIHNiaSk7CVwKIAlpZiAocHJvYyA9PSBOVUxMKSB7CQkJCQkJXAogCQlwcmludGsoS0VSTl9FUlIgIkVYVDQtZnM6IGNhbid0IHRvIGNyZWF0ZSAlc1xuIiwgbmFtZSk7CVwKIAkJZ290byBlcnJfb3V0OwkJCQkJCVwKIAl9CQkJCQkJCQlcCi0JcHJvYy0+ZGF0YSA9IHNiaTsJCQkJCQlcCi0JcHJvYy0+cmVhZF9wcm9jICA9IGV4dDRfbWJfcmVhZF8jI3ZhciA7CQkJCVwKLQlwcm9jLT53cml0ZV9wcm9jID0gZXh0NF9tYl93cml0ZV8jI3ZhcjsJCQkJXAogfSB3aGlsZSAoMCkKIAogc3RhdGljIGludCBleHQ0X21iX2luaXRfcGVyX2Rldl9wcm9jKHN0cnVjdCBzdXBlcl9ibG9jayAqc2IpCkBAIC0yNjM5LDYgKzI3ODMsMTAgQEAKIAlzdHJ1Y3QgcHJvY19kaXJfZW50cnkgKnByb2M7CiAJY2hhciBkZXZuYW1lWzY0XTsKIAorCWlmIChwcm9jX3Jvb3RfZXh0NCA9PSBOVUxMKSB7CisJCXNiaS0+c19tYl9wcm9jID0gTlVMTDsKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQogCWJkZXZuYW1lKHNiLT5zX2JkZXYsIGRldm5hbWUpOwogCXNiaS0+c19tYl9wcm9jID0gcHJvY19ta2RpcihkZXZuYW1lLCBwcm9jX3Jvb3RfZXh0NCk7CiAKQEAgLTI3NDcsNyArMjg5NSw3IEBACiAKIAogCWVyciA9IC1FSU87Ci0JYml0bWFwX2JoID0gcmVhZF9ibG9ja19iaXRtYXAoc2IsIGFjLT5hY19iX2V4LmZlX2dyb3VwKTsKKwliaXRtYXBfYmggPSBleHQ0X3JlYWRfYmxvY2tfYml0bWFwKHNiLCBhYy0+YWNfYl9leC5mZV9ncm91cCk7CiAJaWYgKCFiaXRtYXBfYmgpCiAJCWdvdG8gb3V0X2VycjsKIApAQCAtMjgxNiw3ICsyOTY0LDIzIEBACiAJbGUxNl9hZGRfY3B1KCZnZHAtPmJnX2ZyZWVfYmxvY2tzX2NvdW50LCAtYWMtPmFjX2JfZXguZmVfbGVuKTsKIAlnZHAtPmJnX2NoZWNrc3VtID0gZXh0NF9ncm91cF9kZXNjX2NzdW0oc2JpLCBhYy0+YWNfYl9leC5mZV9ncm91cCwgZ2RwKTsKIAlzcGluX3VubG9jayhzYl9iZ2xfbG9jayhzYmksIGFjLT5hY19iX2V4LmZlX2dyb3VwKSk7Ci0JcGVyY3B1X2NvdW50ZXJfc3ViKCZzYmktPnNfZnJlZWJsb2Nrc19jb3VudGVyLCBhYy0+YWNfYl9leC5mZV9sZW4pOworCisJLyoKKwkgKiBmcmVlIGJsb2NrcyBhY2NvdW50IGhhcyBhbHJlYWR5IGJlIHJlZHVjZWQvcmVzZXJ2ZWQKKwkgKiBhdCB3cml0ZV9iZWdpbigpIHRpbWUgZm9yIGRlbGF5ZWQgYWxsb2NhdGlvbgorCSAqIGRvIG5vdCBkb3VibGUgYWNjb3VudGluZworCSAqLworCWlmICghKGFjLT5hY19mbGFncyAmIEVYVDRfTUJfREVMQUxMT0NfUkVTRVJWRUQpKQorCQlwZXJjcHVfY291bnRlcl9zdWIoJnNiaS0+c19mcmVlYmxvY2tzX2NvdW50ZXIsCisJCQkJCWFjLT5hY19iX2V4LmZlX2xlbik7CisKKwlpZiAoc2JpLT5zX2xvZ19ncm91cHNfcGVyX2ZsZXgpIHsKKwkJZXh0NF9ncm91cF90IGZsZXhfZ3JvdXAgPSBleHQ0X2ZsZXhfZ3JvdXAoc2JpLAorCQkJCQkJCSAgYWMtPmFjX2JfZXguZmVfZ3JvdXApOworCQlzcGluX2xvY2soc2JfYmdsX2xvY2soc2JpLCBmbGV4X2dyb3VwKSk7CisJCXNiaS0+c19mbGV4X2dyb3Vwc1tmbGV4X2dyb3VwXS5mcmVlX2Jsb2NrcyAtPSBhYy0+YWNfYl9leC5mZV9sZW47CisJCXNwaW5fdW5sb2NrKHNiX2JnbF9sb2NrKHNiaSwgZmxleF9ncm91cCkpOworCX0KIAogCWVyciA9IGV4dDRfam91cm5hbF9kaXJ0eV9tZXRhZGF0YShoYW5kbGUsIGJpdG1hcF9iaCk7CiAJaWYgKGVycikKQEAgLTM0NzMsOCArMzYzNyw2IEBACiAJCWlmIChiaXQgPj0gZW5kKQogCQkJYnJlYWs7CiAJCW5leHQgPSBtYl9maW5kX25leHRfYml0KGJpdG1hcF9iaC0+Yl9kYXRhLCBlbmQsIGJpdCk7Ci0JCWlmIChuZXh0ID4gZW5kKQotCQkJbmV4dCA9IGVuZDsKIAkJc3RhcnQgPSBncm91cCAqIEVYVDRfQkxPQ0tTX1BFUl9HUk9VUChzYikgKyBiaXQgKwogCQkJCWxlMzJfdG9fY3B1KHNiaS0+c19lcy0+c19maXJzdF9kYXRhX2Jsb2NrKTsKIAkJbWJfZGVidWcoIiAgICBmcmVlIHByZWFsbG9jYXRlZCAldS8ldSBpbiBncm91cCAldVxuIiwKQEAgLTM1NjksNyArMzczMSw3IEBACiAJaWYgKGxpc3RfZW1wdHkoJmdycC0+YmJfcHJlYWxsb2NfbGlzdCkpCiAJCXJldHVybiAwOwogCi0JYml0bWFwX2JoID0gcmVhZF9ibG9ja19iaXRtYXAoc2IsIGdyb3VwKTsKKwliaXRtYXBfYmggPSBleHQ0X3JlYWRfYmxvY2tfYml0bWFwKHNiLCBncm91cCk7CiAJaWYgKGJpdG1hcF9iaCA9PSBOVUxMKSB7CiAJCS8qIGVycm9yIGhhbmRsaW5nIGhlcmUgKi8KIAkJZXh0NF9tYl9yZWxlYXNlX2Rlc2MoJmU0Yik7CkBAIC0zNzQzLDcgKzM5MDUsNyBAQAogCQllcnIgPSBleHQ0X21iX2xvYWRfYnVkZHkoc2IsIGdyb3VwLCAmZTRiKTsKIAkJQlVHX09OKGVyciAhPSAwKTsgLyogZXJyb3IgaGFuZGxpbmcgaGVyZSAqLwogCi0JCWJpdG1hcF9iaCA9IHJlYWRfYmxvY2tfYml0bWFwKHNiLCBncm91cCk7CisJCWJpdG1hcF9iaCA9IGV4dDRfcmVhZF9ibG9ja19iaXRtYXAoc2IsIGdyb3VwKTsKIAkJaWYgKGJpdG1hcF9iaCA9PSBOVUxMKSB7CiAJCQkvKiBlcnJvciBoYW5kbGluZyBoZXJlICovCiAJCQlleHQ0X21iX3JlbGVhc2VfZGVzYygmZTRiKTsKQEAgLTQwMTEsMTAgKzQxNzMsMjEgQEAKIAlzYmkgPSBFWFQ0X1NCKHNiKTsKIAogCWlmICghdGVzdF9vcHQoc2IsIE1CQUxMT0MpKSB7Ci0JCWJsb2NrID0gZXh0NF9uZXdfYmxvY2tzX29sZChoYW5kbGUsIGFyLT5pbm9kZSwgYXItPmdvYWwsCisJCWJsb2NrID0gZXh0NF9vbGRfbmV3X2Jsb2NrcyhoYW5kbGUsIGFyLT5pbm9kZSwgYXItPmdvYWwsCiAJCQkJCSAgICAmKGFyLT5sZW4pLCBlcnJwKTsKIAkJcmV0dXJuIGJsb2NrOwogCX0KKwlpZiAoIUVYVDRfSShhci0+aW5vZGUpLT5pX2RlbGFsbG9jX3Jlc2VydmVkX2ZsYWcpIHsKKwkJLyoKKwkJICogV2l0aCBkZWxhbGxvYyB3ZSBhbHJlYWR5IHJlc2VydmVkIHRoZSBibG9ja3MKKwkJICovCisJCWFyLT5sZW4gPSBleHQ0X2hhc19mcmVlX2Jsb2NrcyhzYmksIGFyLT5sZW4pOworCX0KKworCWlmIChhci0+bGVuID09IDApIHsKKwkJKmVycnAgPSAtRU5PU1BDOworCQlyZXR1cm4gMDsKKwl9CiAKIAl3aGlsZSAoYXItPmxlbiAmJiBEUVVPVF9BTExPQ19CTE9DSyhhci0+aW5vZGUsIGFyLT5sZW4pKSB7CiAJCWFyLT5mbGFncyB8PSBFWFQ0X01CX0hJTlRfTk9QUkVBTExPQzsKQEAgLTQwMjYsMTAgKzQxOTksMTQgQEAKIAl9CiAJaW5xdW90YSA9IGFyLT5sZW47CiAKKwlpZiAoRVhUNF9JKGFyLT5pbm9kZSktPmlfZGVsYWxsb2NfcmVzZXJ2ZWRfZmxhZykKKwkJYXItPmZsYWdzIHw9IEVYVDRfTUJfREVMQUxMT0NfUkVTRVJWRUQ7CisKIAlhYyA9IGttZW1fY2FjaGVfYWxsb2MoZXh0NF9hY19jYWNoZXAsIEdGUF9OT0ZTKTsKIAlpZiAoIWFjKSB7CisJCWFyLT5sZW4gPSAwOwogCQkqZXJycCA9IC1FTk9NRU07Ci0JCXJldHVybiAwOworCQlnb3RvIG91dDE7CiAJfQogCiAJZXh0NF9tYl9wb2xsX25ld190cmFuc2FjdGlvbihzYiwgaGFuZGxlKTsKQEAgLTQwMzcsMTIgKzQyMTQsMTEgQEAKIAkqZXJycCA9IGV4dDRfbWJfaW5pdGlhbGl6ZV9jb250ZXh0KGFjLCBhcik7CiAJaWYgKCplcnJwKSB7CiAJCWFyLT5sZW4gPSAwOwotCQlnb3RvIG91dDsKKwkJZ290byBvdXQyOwogCX0KIAogCWFjLT5hY19vcCA9IEVYVDRfTUJfSElTVE9SWV9QUkVBTExPQzsKIAlpZiAoIWV4dDRfbWJfdXNlX3ByZWFsbG9jYXRlZChhYykpIHsKLQogCQlhYy0+YWNfb3AgPSBFWFQ0X01CX0hJU1RPUllfQUxMT0M7CiAJCWV4dDRfbWJfbm9ybWFsaXplX3JlcXVlc3QoYWMsIGFyKTsKIHJlcGVhdDoKQEAgLTQwODUsMTEgKzQyNjEsMTIgQEAKIAogCWV4dDRfbWJfcmVsZWFzZV9jb250ZXh0KGFjKTsKIAotb3V0Ogorb3V0MjoKKwlrbWVtX2NhY2hlX2ZyZWUoZXh0NF9hY19jYWNoZXAsIGFjKTsKK291dDE6CiAJaWYgKGFyLT5sZW4gPCBpbnF1b3RhKQogCQlEUVVPVF9GUkVFX0JMT0NLKGFyLT5pbm9kZSwgaW5xdW90YSAtIGFyLT5sZW4pOwogCi0Ja21lbV9jYWNoZV9mcmVlKGV4dDRfYWNfY2FjaGVwLCBhYyk7CiAJcmV0dXJuIGJsb2NrOwogfQogc3RhdGljIHZvaWQgZXh0NF9tYl9wb2xsX25ld190cmFuc2FjdGlvbihzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiLApAQCAtNDI0Miw3ICs0NDE5LDcgQEAKIAkJb3ZlcmZsb3cgPSBiaXQgKyBjb3VudCAtIEVYVDRfQkxPQ0tTX1BFUl9HUk9VUChzYik7CiAJCWNvdW50IC09IG92ZXJmbG93OwogCX0KLQliaXRtYXBfYmggPSByZWFkX2Jsb2NrX2JpdG1hcChzYiwgYmxvY2tfZ3JvdXApOworCWJpdG1hcF9iaCA9IGV4dDRfcmVhZF9ibG9ja19iaXRtYXAoc2IsIGJsb2NrX2dyb3VwKTsKIAlpZiAoIWJpdG1hcF9iaCkKIAkJZ290byBlcnJvcl9yZXR1cm47CiAJZ2RwID0gZXh0NF9nZXRfZ3JvdXBfZGVzYyhzYiwgYmxvY2tfZ3JvdXAsICZnZF9iaCk7CkBAIC00MzA5LDEwICs0NDg2LDkgQEAKIAkJZXh0NF9tYl9mcmVlX21ldGFkYXRhKGhhbmRsZSwgJmU0YiwgYmxvY2tfZ3JvdXAsIGJpdCwgY291bnQpOwogCX0gZWxzZSB7CiAJCWV4dDRfbG9ja19ncm91cChzYiwgYmxvY2tfZ3JvdXApOwotCQllcnIgPSBtYl9mcmVlX2Jsb2Nrcyhpbm9kZSwgJmU0YiwgYml0LCBjb3VudCk7CisJCW1iX2ZyZWVfYmxvY2tzKGlub2RlLCAmZTRiLCBiaXQsIGNvdW50KTsKIAkJZXh0NF9tYl9yZXR1cm5fdG9fcHJlYWxsb2NhdGlvbihpbm9kZSwgJmU0YiwgYmxvY2ssIGNvdW50KTsKIAkJZXh0NF91bmxvY2tfZ3JvdXAoc2IsIGJsb2NrX2dyb3VwKTsKLQkJQlVHX09OKGVyciAhPSAwKTsKIAl9CiAKIAlzcGluX2xvY2soc2JfYmdsX2xvY2soc2JpLCBibG9ja19ncm91cCkpOwpAQCAtNDMyMSw2ICs0NDk3LDEzIEBACiAJc3Bpbl91bmxvY2soc2JfYmdsX2xvY2soc2JpLCBibG9ja19ncm91cCkpOwogCXBlcmNwdV9jb3VudGVyX2FkZCgmc2JpLT5zX2ZyZWVibG9ja3NfY291bnRlciwgY291bnQpOwogCisJaWYgKHNiaS0+c19sb2dfZ3JvdXBzX3Blcl9mbGV4KSB7CisJCWV4dDRfZ3JvdXBfdCBmbGV4X2dyb3VwID0gZXh0NF9mbGV4X2dyb3VwKHNiaSwgYmxvY2tfZ3JvdXApOworCQlzcGluX2xvY2soc2JfYmdsX2xvY2soc2JpLCBmbGV4X2dyb3VwKSk7CisJCXNiaS0+c19mbGV4X2dyb3Vwc1tmbGV4X2dyb3VwXS5mcmVlX2Jsb2NrcyArPSBjb3VudDsKKwkJc3Bpbl91bmxvY2soc2JfYmdsX2xvY2soc2JpLCBmbGV4X2dyb3VwKSk7CisJfQorCiAJZXh0NF9tYl9yZWxlYXNlX2Rlc2MoJmU0Yik7CiAKIAkqZnJlZWQgKz0gY291bnQ7CmRpZmYgLS1naXQgYS9mcy9leHQ0L25hbWVpLmMgYi9mcy9leHQ0L25hbWVpLmMKaW5kZXggYWIxNmJlYS4uMzg3YWQ5OCAxMDA2NDQKLS0tIGEvZnMvZXh0NC9uYW1laS5jCisrKyBiL2ZzL2V4dDQvbmFtZWkuYwpAQCAtMTgzLDYgKzE4MywxNiBAQAogCQkJICAgICBzdHJ1Y3QgaW5vZGUgKmlub2RlKTsKIAogLyoKKyAqIHAgaXMgYXQgbGVhc3QgNiBieXRlcyBiZWZvcmUgdGhlIGVuZCBvZiBwYWdlCisgKi8KK3N0YXRpYyBpbmxpbmUgc3RydWN0IGV4dDRfZGlyX2VudHJ5XzIgKgorZXh0NF9uZXh0X2VudHJ5KHN0cnVjdCBleHQ0X2Rpcl9lbnRyeV8yICpwKQoreworCXJldHVybiAoc3RydWN0IGV4dDRfZGlyX2VudHJ5XzIgKikoKGNoYXIgKilwICsKKwkJZXh0NF9yZWNfbGVuX2Zyb21fZGlzayhwLT5yZWNfbGVuKSk7Cit9CisKKy8qCiAgKiBGdXR1cmU6IHVzZSBoaWdoIGZvdXIgYml0cyBvZiBibG9jayBmb3IgY29hbGVzY2Utb24tZGVsZXRlIGZsYWdzCiAgKiBNYXNrIHRoZW0gb2ZmIGZvciBub3cuCiAgKi8KQEAgLTIzMSwxMyArMjQxLDEzIEBACiB7CiAJdW5zaWduZWQgZW50cnlfc3BhY2UgPSBkaXItPmlfc2ItPnNfYmxvY2tzaXplIC0gRVhUNF9ESVJfUkVDX0xFTigxKSAtCiAJCUVYVDRfRElSX1JFQ19MRU4oMikgLSBpbmZvc2l6ZTsKLQlyZXR1cm4gMD8gMjA6IGVudHJ5X3NwYWNlIC8gc2l6ZW9mKHN0cnVjdCBkeF9lbnRyeSk7CisJcmV0dXJuIGVudHJ5X3NwYWNlIC8gc2l6ZW9mKHN0cnVjdCBkeF9lbnRyeSk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgdW5zaWduZWQgZHhfbm9kZV9saW1pdCAoc3RydWN0IGlub2RlICpkaXIpCiB7CiAJdW5zaWduZWQgZW50cnlfc3BhY2UgPSBkaXItPmlfc2ItPnNfYmxvY2tzaXplIC0gRVhUNF9ESVJfUkVDX0xFTigwKTsKLQlyZXR1cm4gMD8gMjI6IGVudHJ5X3NwYWNlIC8gc2l6ZW9mKHN0cnVjdCBkeF9lbnRyeSk7CisJcmV0dXJuIGVudHJ5X3NwYWNlIC8gc2l6ZW9mKHN0cnVjdCBkeF9lbnRyeSk7CiB9CiAKIC8qCkBAIC01NTQsMTUgKzU2NCw2IEBACiAKIAogLyoKLSAqIHAgaXMgYXQgbGVhc3QgNiBieXRlcyBiZWZvcmUgdGhlIGVuZCBvZiBwYWdlCi0gKi8KLXN0YXRpYyBpbmxpbmUgc3RydWN0IGV4dDRfZGlyX2VudHJ5XzIgKmV4dDRfbmV4dF9lbnRyeShzdHJ1Y3QgZXh0NF9kaXJfZW50cnlfMiAqcCkKLXsKLQlyZXR1cm4gKHN0cnVjdCBleHQ0X2Rpcl9lbnRyeV8yICopKChjaGFyICopcCArCi0JCWV4dDRfcmVjX2xlbl9mcm9tX2Rpc2socC0+cmVjX2xlbikpOwotfQotCi0vKgogICogVGhpcyBmdW5jdGlvbiBmaWxscyBhIHJlZC1ibGFjayB0cmVlIHdpdGggaW5mb3JtYXRpb24gZnJvbSBhCiAgKiBkaXJlY3RvcnkgYmxvY2suICBJdCByZXR1cm5zIHRoZSBudW1iZXIgZGlyZWN0b3J5IGVudHJpZXMgbG9hZGVkCiAgKiBpbnRvIHRoZSB0cmVlLiAgSWYgdGhlcmUgaXMgYW4gZXJyb3IgaXQgaXMgcmV0dXJuZWQgaW4gZXJyLgpAQCAtOTkzLDE5ICs5OTQsMjEgQEAKIAkJZGUgPSAoc3RydWN0IGV4dDRfZGlyX2VudHJ5XzIgKikgYmgtPmJfZGF0YTsKIAkJdG9wID0gKHN0cnVjdCBleHQ0X2Rpcl9lbnRyeV8yICopICgoY2hhciAqKSBkZSArIHNiLT5zX2Jsb2Nrc2l6ZSAtCiAJCQkJICAgICAgIEVYVDRfRElSX1JFQ19MRU4oMCkpOwotCQlmb3IgKDsgZGUgPCB0b3A7IGRlID0gZXh0NF9uZXh0X2VudHJ5KGRlKSkKLQkJaWYgKGV4dDRfbWF0Y2ggKG5hbWVsZW4sIG5hbWUsIGRlKSkgewotCQkJaWYgKCFleHQ0X2NoZWNrX2Rpcl9lbnRyeSgiZXh0NF9maW5kX2VudHJ5IiwKLQkJCQkJCSAgZGlyLCBkZSwgYmgsCi0JCQkJICAoYmxvY2s8PEVYVDRfQkxPQ0tfU0laRV9CSVRTKHNiKSkKLQkJCQkJICArKChjaGFyICopZGUgLSBiaC0+Yl9kYXRhKSkpIHsKLQkJCQlicmVsc2UgKGJoKTsKKwkJZm9yICg7IGRlIDwgdG9wOyBkZSA9IGV4dDRfbmV4dF9lbnRyeShkZSkpIHsKKwkJCWludCBvZmYgPSAoYmxvY2sgPDwgRVhUNF9CTE9DS19TSVpFX0JJVFMoc2IpKQorCQkJCSAgKyAoKGNoYXIgKikgZGUgLSBiaC0+Yl9kYXRhKTsKKworCQkJaWYgKCFleHQ0X2NoZWNrX2Rpcl9lbnRyeShfX2Z1bmNfXywgZGlyLCBkZSwgYmgsIG9mZikpIHsKKwkJCQlicmVsc2UoYmgpOwogCQkJCSplcnIgPSBFUlJfQkFEX0RYX0RJUjsKIAkJCQlnb3RvIGVycm91dDsKIAkJCX0KLQkJCSpyZXNfZGlyID0gZGU7Ci0JCQlkeF9yZWxlYXNlIChmcmFtZXMpOwotCQkJcmV0dXJuIGJoOworCisJCQlpZiAoZXh0NF9tYXRjaChuYW1lbGVuLCBuYW1lLCBkZSkpIHsKKwkJCQkqcmVzX2RpciA9IGRlOworCQkJCWR4X3JlbGVhc2UoZnJhbWVzKTsKKwkJCQlyZXR1cm4gYmg7CisJCQl9CiAJCX0KIAkJYnJlbHNlIChiaCk7CiAJCS8qIENoZWNrIHRvIHNlZSBpZiB3ZSBzaG91bGQgY29udGludWUgdG8gc2VhcmNoICovCmRpZmYgLS1naXQgYS9mcy9leHQ0L3Jlc2l6ZS5jIGIvZnMvZXh0NC9yZXNpemUuYwppbmRleCA5ZmY3YjFjLi5mMDAwZmJlIDEwMDY0NAotLS0gYS9mcy9leHQ0L3Jlc2l6ZS5jCisrKyBiL2ZzL2V4dDQvcmVzaXplLmMKQEAgLTg2Niw2ICs4NjYsMTUgQEAKIAlnZHAtPmJnX2NoZWNrc3VtID0gZXh0NF9ncm91cF9kZXNjX2NzdW0oc2JpLCBpbnB1dC0+Z3JvdXAsIGdkcCk7CiAKIAkvKgorCSAqIFdlIGNhbiBhbGxvY2F0ZSBtZW1vcnkgZm9yIG1iX2FsbG9jIGJhc2VkIG9uIHRoZSBuZXcgZ3JvdXAKKwkgKiBkZXNjcmlwdG9yCisJICovCisJaWYgKHRlc3Rfb3B0KHNiLCBNQkFMTE9DKSkgeworCQllcnIgPSBleHQ0X21iX2FkZF9tb3JlX2dyb3VwaW5mbyhzYiwgaW5wdXQtPmdyb3VwLCBnZHApOworCQlpZiAoZXJyKQorCQkJZ290byBleGl0X2pvdXJuYWw7CisJfQorCS8qCiAJICogTWFrZSB0aGUgbmV3IGJsb2NrcyBhbmQgaW5vZGVzIHZhbGlkIG5leHQuICBXZSBkbyB0aGlzIGJlZm9yZQogCSAqIGluY3JlYXNpbmcgdGhlIGdyb3VwIGNvdW50IHNvIHRoYXQgb25jZSB0aGUgZ3JvdXAgaXMgZW5hYmxlZCwKIAkgKiBhbGwgb2YgaXRzIGJsb2NrcyBhbmQgaW5vZGVzIGFyZSBhbHJlYWR5IHZhbGlkLgpAQCAtOTU3LDYgKzk2Niw4IEBACiAJaGFuZGxlX3QgKmhhbmRsZTsKIAlpbnQgZXJyOwogCXVuc2lnbmVkIGxvbmcgZnJlZWRfYmxvY2tzOworCWV4dDRfZ3JvdXBfdCBncm91cDsKKwlzdHJ1Y3QgZXh0NF9ncm91cF9pbmZvICpncnA7CiAKIAkvKiBXZSBkb24ndCBuZWVkIHRvIHdvcnJ5IGFib3V0IGxvY2tpbmcgd3J0IG90aGVyIHJlc2l6ZXJzIGp1c3QKIAkgKiB5ZXQ6IHdlJ3JlIGdvaW5nIHRvIHJldmFsaWRhdGUgZXMtPnNfYmxvY2tzX2NvdW50IGFmdGVyCkBAIC05ODgsNyArOTk5LDcgQEAKIAl9CiAKIAkvKiBIYW5kbGUgdGhlIHJlbWFpbmluZyBibG9ja3MgaW4gdGhlIGxhc3QgZ3JvdXAgb25seS4gKi8KLQlleHQ0X2dldF9ncm91cF9ub19hbmRfb2Zmc2V0KHNiLCBvX2Jsb2Nrc19jb3VudCwgTlVMTCwgJmxhc3QpOworCWV4dDRfZ2V0X2dyb3VwX25vX2FuZF9vZmZzZXQoc2IsIG9fYmxvY2tzX2NvdW50LCAmZ3JvdXAsICZsYXN0KTsKIAogCWlmIChsYXN0ID09IDApIHsKIAkJZXh0NF93YXJuaW5nKHNiLCBfX2Z1bmNfXywKQEAgLTEwNjAsNiArMTA3MSw0NSBAQAogCQkgICBvX2Jsb2Nrc19jb3VudCArIGFkZCk7CiAJaWYgKChlcnIgPSBleHQ0X2pvdXJuYWxfc3RvcChoYW5kbGUpKSkKIAkJZ290byBleGl0X3B1dDsKKworCS8qCisJICogTWFyayBtYmFsbG9jIHBhZ2VzIGFzIG5vdCB1cCB0byBkYXRlIHNvIHRoYXQgdGhleSB3aWxsIGJlIHVwZGF0ZWQKKwkgKiBuZXh0IHRpbWUgdGhleSBhcmUgbG9hZGVkIGJ5IGV4dDRfbWJfbG9hZF9idWRkeS4KKwkgKi8KKwlpZiAodGVzdF9vcHQoc2IsIE1CQUxMT0MpKSB7CisJCXN0cnVjdCBleHQ0X3NiX2luZm8gKnNiaSA9IEVYVDRfU0Ioc2IpOworCQlzdHJ1Y3QgaW5vZGUgKmlub2RlID0gc2JpLT5zX2J1ZGR5X2NhY2hlOworCQlpbnQgYmxvY2tzX3Blcl9wYWdlOworCQlpbnQgYmxvY2s7CisJCWludCBwbnVtOworCQlzdHJ1Y3QgcGFnZSAqcGFnZTsKKworCQkvKiBTZXQgYnVkZHkgcGFnZSBhcyBub3QgdXAgdG8gZGF0ZSAqLworCQlibG9ja3NfcGVyX3BhZ2UgPSBQQUdFX0NBQ0hFX1NJWkUgLyBzYi0+c19ibG9ja3NpemU7CisJCWJsb2NrID0gZ3JvdXAgKiAyOworCQlwbnVtID0gYmxvY2sgLyBibG9ja3NfcGVyX3BhZ2U7CisJCXBhZ2UgPSBmaW5kX2dldF9wYWdlKGlub2RlLT5pX21hcHBpbmcsIHBudW0pOworCQlpZiAocGFnZSAhPSBOVUxMKSB7CisJCQlDbGVhclBhZ2VVcHRvZGF0ZShwYWdlKTsKKwkJCXBhZ2VfY2FjaGVfcmVsZWFzZShwYWdlKTsKKwkJfQorCisJCS8qIFNldCBiaXRtYXAgcGFnZSBhcyBub3QgdXAgdG8gZGF0ZSAqLworCQlibG9jaysrOworCQlwbnVtID0gYmxvY2sgLyBibG9ja3NfcGVyX3BhZ2U7CisJCXBhZ2UgPSBmaW5kX2dldF9wYWdlKGlub2RlLT5pX21hcHBpbmcsIHBudW0pOworCQlpZiAocGFnZSAhPSBOVUxMKSB7CisJCQlDbGVhclBhZ2VVcHRvZGF0ZShwYWdlKTsKKwkJCXBhZ2VfY2FjaGVfcmVsZWFzZShwYWdlKTsKKwkJfQorCisJCS8qIEdldCB0aGUgaW5mbyBvbiB0aGUgbGFzdCBncm91cCAqLworCQlncnAgPSBleHQ0X2dldF9ncm91cF9pbmZvKHNiLCBncm91cCk7CisKKwkJLyogVXBkYXRlIGZyZWUgYmxvY2tzIGluIGdyb3VwIGluZm8gKi8KKwkJZXh0NF9tYl91cGRhdGVfZ3JvdXBfaW5mbyhncnAsIGFkZCk7CisJfQorCiAJaWYgKHRlc3Rfb3B0KHNiLCBERUJVRykpCiAJCXByaW50ayhLRVJOX0RFQlVHICJFWFQ0LWZzOiBleHRlbmRlZCBncm91cCB0byAlbGx1IGJsb2Nrc1xuIiwKIAkJICAgICAgIGV4dDRfYmxvY2tzX2NvdW50KGVzKSk7CmRpZmYgLS1naXQgYS9mcy9leHQ0L3N1cGVyLmMgYi9mcy9leHQ0L3N1cGVyLmMKaW5kZXggMDJiZjI0My4uMWNiMzcxZCAxMDA2NDQKLS0tIGEvZnMvZXh0NC9zdXBlci5jCisrKyBiL2ZzL2V4dDQvc3VwZXIuYwpAQCAtNTA2LDYgKzUwNiw3IEBACiAJZXh0NF9leHRfcmVsZWFzZShzYik7CiAJZXh0NF94YXR0cl9wdXRfc3VwZXIoc2IpOwogCWpiZDJfam91cm5hbF9kZXN0cm95KHNiaS0+c19qb3VybmFsKTsKKwlzYmktPnNfam91cm5hbCA9IE5VTEw7CiAJaWYgKCEoc2ItPnNfZmxhZ3MgJiBNU19SRE9OTFkpKSB7CiAJCUVYVDRfQ0xFQVJfSU5DT01QQVRfRkVBVFVSRShzYiwgRVhUNF9GRUFUVVJFX0lOQ09NUEFUX1JFQ09WRVIpOwogCQllcy0+c19zdGF0ZSA9IGNwdV90b19sZTE2KHNiaS0+c19tb3VudF9zdGF0ZSk7CkBAIC01MTcsNiArNTE4LDcgQEAKIAlmb3IgKGkgPSAwOyBpIDwgc2JpLT5zX2dkYl9jb3VudDsgaSsrKQogCQlicmVsc2Uoc2JpLT5zX2dyb3VwX2Rlc2NbaV0pOwogCWtmcmVlKHNiaS0+c19ncm91cF9kZXNjKTsKKwlrZnJlZShzYmktPnNfZmxleF9ncm91cHMpOwogCXBlcmNwdV9jb3VudGVyX2Rlc3Ryb3koJnNiaS0+c19mcmVlYmxvY2tzX2NvdW50ZXIpOwogCXBlcmNwdV9jb3VudGVyX2Rlc3Ryb3koJnNiaS0+c19mcmVlaW5vZGVzX2NvdW50ZXIpOwogCXBlcmNwdV9jb3VudGVyX2Rlc3Ryb3koJnNiaS0+c19kaXJzX2NvdW50ZXIpOwpAQCAtNTcxLDYgKzU3MywxMiBAQAogCW1lbXNldCgmZWktPmlfY2FjaGVkX2V4dGVudCwgMCwgc2l6ZW9mKHN0cnVjdCBleHQ0X2V4dF9jYWNoZSkpOwogCUlOSVRfTElTVF9IRUFEKCZlaS0+aV9wcmVhbGxvY19saXN0KTsKIAlzcGluX2xvY2tfaW5pdCgmZWktPmlfcHJlYWxsb2NfbG9jayk7CisJamJkMl9qb3VybmFsX2luaXRfamJkX2lub2RlKCZlaS0+amlub2RlLCAmZWktPnZmc19pbm9kZSk7CisJZWktPmlfcmVzZXJ2ZWRfZGF0YV9ibG9ja3MgPSAwOworCWVpLT5pX3Jlc2VydmVkX21ldGFfYmxvY2tzID0gMDsKKwllaS0+aV9hbGxvY2F0ZWRfbWV0YV9ibG9ja3MgPSAwOworCWVpLT5pX2RlbGFsbG9jX3Jlc2VydmVkX2ZsYWcgPSAwOworCXNwaW5fbG9ja19pbml0KCYoZWktPmlfYmxvY2tfcmVzZXJ2YXRpb25fbG9jaykpOwogCXJldHVybiAmZWktPnZmc19pbm9kZTsKIH0KIApAQCAtNjM1LDYgKzY0Myw4IEBACiAJRVhUNF9JKGlub2RlKS0+aV9ibG9ja19hbGxvY19pbmZvID0gTlVMTDsKIAlpZiAodW5saWtlbHkocnN2KSkKIAkJa2ZyZWUocnN2KTsKKwlqYmQyX2pvdXJuYWxfcmVsZWFzZV9qYmRfaW5vZGUoRVhUNF9TQihpbm9kZS0+aV9zYiktPnNfam91cm5hbCwKKwkJCQkgICAgICAgJkVYVDRfSShpbm9kZSktPmppbm9kZSk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgdm9pZCBleHQ0X3Nob3dfcXVvdGFfb3B0aW9ucyhzdHJ1Y3Qgc2VxX2ZpbGUgKnNlcSwgc3RydWN0IHN1cGVyX2Jsb2NrICpzYikKQEAgLTY3MSw3ICs2ODEsNiBAQAogCXVuc2lnbmVkIGxvbmcgZGVmX21vdW50X29wdHM7CiAJc3RydWN0IHN1cGVyX2Jsb2NrICpzYiA9IHZmcy0+bW50X3NiOwogCXN0cnVjdCBleHQ0X3NiX2luZm8gKnNiaSA9IEVYVDRfU0Ioc2IpOwotCWpvdXJuYWxfdCAqam91cm5hbCA9IHNiaS0+c19qb3VybmFsOwogCXN0cnVjdCBleHQ0X3N1cGVyX2Jsb2NrICplcyA9IHNiaS0+c19lczsKIAogCWRlZl9tb3VudF9vcHRzID0gbGUzMl90b19jcHUoZXMtPnNfZGVmYXVsdF9tb3VudF9vcHRzKTsKQEAgLTc0Nyw2ICs3NTYsOSBAQAogCQlzZXFfcHV0cyhzZXEsICIsbm9tYmFsbG9jIik7CiAJaWYgKHRlc3Rfb3B0KHNiLCBJX1ZFUlNJT04pKQogCQlzZXFfcHV0cyhzZXEsICIsaV92ZXJzaW9uIik7CisJaWYgKCF0ZXN0X29wdChzYiwgREVMQUxMT0MpKQorCQlzZXFfcHV0cyhzZXEsICIsbm9kZWxhbGxvYyIpOworCiAKIAlpZiAoc2JpLT5zX3N0cmlwZSkKIAkJc2VxX3ByaW50ZihzZXEsICIsc3RyaXBlPSVsdSIsIHNiaS0+c19zdHJpcGUpOwpAQCAtODk0LDcgKzkwNiw3IEBACiAJT3B0X2pxZm10X3Zmc29sZCwgT3B0X2pxZm10X3Zmc3YwLCBPcHRfcXVvdGEsIE9wdF9ub3F1b3RhLAogCU9wdF9pZ25vcmUsIE9wdF9iYXJyaWVyLCBPcHRfZXJyLCBPcHRfcmVzaXplLCBPcHRfdXNycXVvdGEsCiAJT3B0X2dycHF1b3RhLCBPcHRfZXh0ZW50cywgT3B0X25vZXh0ZW50cywgT3B0X2lfdmVyc2lvbiwKLQlPcHRfbWJhbGxvYywgT3B0X25vbWJhbGxvYywgT3B0X3N0cmlwZSwKKwlPcHRfbWJhbGxvYywgT3B0X25vbWJhbGxvYywgT3B0X3N0cmlwZSwgT3B0X2RlbGFsbG9jLCBPcHRfbm9kZWxhbGxvYywKIH07CiAKIHN0YXRpYyBtYXRjaF90YWJsZV90IHRva2VucyA9IHsKQEAgLTk1Myw2ICs5NjUsOCBAQAogCXtPcHRfbm9tYmFsbG9jLCAibm9tYmFsbG9jIn0sCiAJe09wdF9zdHJpcGUsICJzdHJpcGU9JXUifSwKIAl7T3B0X3Jlc2l6ZSwgInJlc2l6ZSJ9LAorCXtPcHRfZGVsYWxsb2MsICJkZWxhbGxvYyJ9LAorCXtPcHRfbm9kZWxhbGxvYywgIm5vZGVsYWxsb2MifSwKIAl7T3B0X2VyciwgTlVMTH0sCiB9OwogCkBAIC05OTAsNiArMTAwNCw3IEBACiAJaW50IHF0eXBlLCBxZm10OwogCWNoYXIgKnFuYW1lOwogI2VuZGlmCisJZXh0NF9mc2Jsa190IGxhc3RfYmxvY2s7CiAKIAlpZiAoIW9wdGlvbnMpCiAJCXJldHVybiAxOwpAQCAtMTMwOSwxNSArMTMyNCwzOSBAQAogCQkJY2xlYXJfb3B0KHNiaS0+c19tb3VudF9vcHQsIE5PQkgpOwogCQkJYnJlYWs7CiAJCWNhc2UgT3B0X2V4dGVudHM6CisJCQlpZiAoIUVYVDRfSEFTX0lOQ09NUEFUX0ZFQVRVUkUoc2IsCisJCQkJCUVYVDRfRkVBVFVSRV9JTkNPTVBBVF9FWFRFTlRTKSkgeworCQkJCWV4dDRfd2FybmluZyhzYiwgX19mdW5jX18sCisJCQkJCSJleHRlbnRzIGZlYXR1cmUgbm90IGVuYWJsZWQgIgorCQkJCQkib24gdGhpcyBmaWxlc3lzdGVtLCB1c2UgdHVuZTJmc1xuIik7CisJCQkJcmV0dXJuIDA7CisJCQl9CiAJCQlzZXRfb3B0IChzYmktPnNfbW91bnRfb3B0LCBFWFRFTlRTKTsKIAkJCWJyZWFrOwogCQljYXNlIE9wdF9ub2V4dGVudHM6CisJCQkvKgorCQkJICogV2hlbiBlMmZzcHJvZ3Mgc3VwcG9ydCByZXNpemluZyBhbiBhbHJlYWR5IGV4aXN0aW5nCisJCQkgKiBleHQzIGZpbGUgc3lzdGVtIHRvIGdyZWF0ZXIgdGhhbiAyKiozMiB3ZSBuZWVkIHRvCisJCQkgKiBhZGQgc3VwcG9ydCB0byBibG9jayBhbGxvY2F0b3IgdG8gaGFuZGxlIGdyb3dpbmcKKwkJCSAqIGFscmVhZHkgZXhpc3RpbmcgYmxvY2sgIG1hcHBlZCBpbm9kZSBzbyB0aGF0IGJsb2NrcworCQkJICogYWxsb2NhdGVkIGZvciB0aGVtIGZhbGwgd2l0aGluIDIqKjMyCisJCQkgKi8KKwkJCWxhc3RfYmxvY2sgPSBleHQ0X2Jsb2Nrc19jb3VudChzYmktPnNfZXMpIC0gMTsKKwkJCWlmIChsYXN0X2Jsb2NrICA+IDB4ZmZmZmZmZmZVTEwpIHsKKwkJCQlwcmludGsoS0VSTl9FUlIgIkVYVDQtZnM6IEZpbGVzeXN0ZW0gdG9vICIKKwkJCQkJCSJsYXJnZSB0byBtb3VudCB3aXRoICIKKwkJCQkJCSItbyBub2V4dGVudHMgb3B0aW9uc1xuIik7CisJCQkJcmV0dXJuIDA7CisJCQl9CiAJCQljbGVhcl9vcHQgKHNiaS0+c19tb3VudF9vcHQsIEVYVEVOVFMpOwogCQkJYnJlYWs7CiAJCWNhc2UgT3B0X2lfdmVyc2lvbjoKIAkJCXNldF9vcHQoc2JpLT5zX21vdW50X29wdCwgSV9WRVJTSU9OKTsKIAkJCXNiLT5zX2ZsYWdzIHw9IE1TX0lfVkVSU0lPTjsKIAkJCWJyZWFrOworCQljYXNlIE9wdF9ub2RlbGFsbG9jOgorCQkJY2xlYXJfb3B0KHNiaS0+c19tb3VudF9vcHQsIERFTEFMTE9DKTsKKwkJCWJyZWFrOwogCQljYXNlIE9wdF9tYmFsbG9jOgogCQkJc2V0X29wdChzYmktPnNfbW91bnRfb3B0LCBNQkFMTE9DKTsKIAkJCWJyZWFrOwpAQCAtMTMzMSw2ICsxMzcwLDkgQEAKIAkJCQlyZXR1cm4gMDsKIAkJCXNiaS0+c19zdHJpcGUgPSBvcHRpb247CiAJCQlicmVhazsKKwkJY2FzZSBPcHRfZGVsYWxsb2M6CisJCQlzZXRfb3B0KHNiaS0+c19tb3VudF9vcHQsIERFTEFMTE9DKTsKKwkJCWJyZWFrOwogCQlkZWZhdWx0OgogCQkJcHJpbnRrIChLRVJOX0VSUgogCQkJCSJFWFQ0LWZzOiBVbnJlY29nbml6ZWQgbW91bnQgb3B0aW9uIFwiJXNcIiAiCkBAIC0xNDQzLDYgKzE0ODUsNTQgQEAKIAlyZXR1cm4gcmVzOwogfQogCitzdGF0aWMgaW50IGV4dDRfZmlsbF9mbGV4X2luZm8oc3RydWN0IHN1cGVyX2Jsb2NrICpzYikKK3sKKwlzdHJ1Y3QgZXh0NF9zYl9pbmZvICpzYmkgPSBFWFQ0X1NCKHNiKTsKKwlzdHJ1Y3QgZXh0NF9ncm91cF9kZXNjICpnZHAgPSBOVUxMOworCXN0cnVjdCBidWZmZXJfaGVhZCAqYmg7CisJZXh0NF9ncm91cF90IGZsZXhfZ3JvdXBfY291bnQ7CisJZXh0NF9ncm91cF90IGZsZXhfZ3JvdXA7CisJaW50IGdyb3Vwc19wZXJfZmxleCA9IDA7CisJX191NjQgYmxvY2tfYml0bWFwID0gMDsKKwlpbnQgaTsKKworCWlmICghc2JpLT5zX2VzLT5zX2xvZ19ncm91cHNfcGVyX2ZsZXgpIHsKKwkJc2JpLT5zX2xvZ19ncm91cHNfcGVyX2ZsZXggPSAwOworCQlyZXR1cm4gMTsKKwl9CisKKwlzYmktPnNfbG9nX2dyb3Vwc19wZXJfZmxleCA9IHNiaS0+c19lcy0+c19sb2dfZ3JvdXBzX3Blcl9mbGV4OworCWdyb3Vwc19wZXJfZmxleCA9IDEgPDwgc2JpLT5zX2xvZ19ncm91cHNfcGVyX2ZsZXg7CisKKwlmbGV4X2dyb3VwX2NvdW50ID0gKHNiaS0+c19ncm91cHNfY291bnQgKyBncm91cHNfcGVyX2ZsZXggLSAxKSAvCisJCWdyb3Vwc19wZXJfZmxleDsKKwlzYmktPnNfZmxleF9ncm91cHMgPSBrbWFsbG9jKGZsZXhfZ3JvdXBfY291bnQgKgorCQkJCSAgICAgc2l6ZW9mKHN0cnVjdCBmbGV4X2dyb3VwcyksIEdGUF9LRVJORUwpOworCWlmIChzYmktPnNfZmxleF9ncm91cHMgPT0gTlVMTCkgeworCQlwcmludGsoS0VSTl9FUlIgIkVYVDQtZnM6IG5vdCBlbm91Z2ggbWVtb3J5XG4iKTsKKwkJZ290byBmYWlsZWQ7CisJfQorCW1lbXNldChzYmktPnNfZmxleF9ncm91cHMsIDAsIGZsZXhfZ3JvdXBfY291bnQgKgorCSAgICAgICBzaXplb2Yoc3RydWN0IGZsZXhfZ3JvdXBzKSk7CisKKwlnZHAgPSBleHQ0X2dldF9ncm91cF9kZXNjKHNiLCAxLCAmYmgpOworCWJsb2NrX2JpdG1hcCA9IGV4dDRfYmxvY2tfYml0bWFwKHNiLCBnZHApIC0gMTsKKworCWZvciAoaSA9IDA7IGkgPCBzYmktPnNfZ3JvdXBzX2NvdW50OyBpKyspIHsKKwkJZ2RwID0gZXh0NF9nZXRfZ3JvdXBfZGVzYyhzYiwgaSwgJmJoKTsKKworCQlmbGV4X2dyb3VwID0gZXh0NF9mbGV4X2dyb3VwKHNiaSwgaSk7CisJCXNiaS0+c19mbGV4X2dyb3Vwc1tmbGV4X2dyb3VwXS5mcmVlX2lub2RlcyArPQorCQkJbGUxNl90b19jcHUoZ2RwLT5iZ19mcmVlX2lub2Rlc19jb3VudCk7CisJCXNiaS0+c19mbGV4X2dyb3Vwc1tmbGV4X2dyb3VwXS5mcmVlX2Jsb2NrcyArPQorCQkJbGUxNl90b19jcHUoZ2RwLT5iZ19mcmVlX2Jsb2Nrc19jb3VudCk7CisJfQorCisJcmV0dXJuIDE7CitmYWlsZWQ6CisJcmV0dXJuIDA7Cit9CisKIF9fbGUxNiBleHQ0X2dyb3VwX2Rlc2NfY3N1bShzdHJ1Y3QgZXh0NF9zYl9pbmZvICpzYmksIF9fdTMyIGJsb2NrX2dyb3VwLAogCQkJICAgIHN0cnVjdCBleHQ0X2dyb3VwX2Rlc2MgKmdkcCkKIHsKQEAgLTE4MTAsOCArMTkwMCw4IEBACiB9CiAKIHN0YXRpYyBpbnQgZXh0NF9maWxsX3N1cGVyIChzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiLCB2b2lkICpkYXRhLCBpbnQgc2lsZW50KQotCQkJCV9fcmVsZWFzZXMoa2VybmVsX3NlbSkKLQkJCQlfX2FjcXVpcmVzKGtlcm5lbF9zZW0pCisJCQkJX19yZWxlYXNlcyhrZXJuZWxfbG9jaykKKwkJCQlfX2FjcXVpcmVzKGtlcm5lbF9sb2NrKQogCiB7CiAJc3RydWN0IGJ1ZmZlcl9oZWFkICogYmg7CkBAIC0xODUxLDExICsxOTQxLDYgQEAKIAkJZ290byBvdXRfZmFpbDsKIAl9CiAKLQlpZiAoIXNiX3NldF9ibG9ja3NpemUoc2IsIGJsb2Nrc2l6ZSkpIHsKLQkJcHJpbnRrKEtFUk5fRVJSICJFWFQ0LWZzOiBiYWQgYmxvY2tzaXplICVkLlxuIiwgYmxvY2tzaXplKTsKLQkJZ290byBvdXRfZmFpbDsKLQl9Ci0KIAkvKgogCSAqIFRoZSBleHQ0IHN1cGVyYmxvY2sgd2lsbCBub3QgYmUgYnVmZmVyIGFsaWduZWQgZm9yIG90aGVyIHRoYW4gMWtCCiAJICogYmxvY2sgc2l6ZXMuICBXZSBuZWVkIHRvIGNhbGN1bGF0ZSB0aGUgb2Zmc2V0IGZyb20gYnVmZmVyIHN0YXJ0LgpAQCAtMTkxOSwxNSArMjAwNCwyOCBAQAogCiAJLyoKIAkgKiB0dXJuIG9uIGV4dGVudHMgZmVhdHVyZSBieSBkZWZhdWx0IGluIGV4dDQgZmlsZXN5c3RlbQotCSAqIFVzZXIgLW8gbm9leHRlbnRzIHRvIHR1cm4gaXQgb2ZmCisJICogb25seSBpZiBmZWF0dXJlIGZsYWcgYWxyZWFkeSBzZXQgYnkgbWtmcyBvciB0dW5lMmZzLgorCSAqIFVzZSAtbyBub2V4dGVudHMgdG8gdHVybiBpdCBvZmYKIAkgKi8KLQlzZXRfb3B0KHNiaS0+c19tb3VudF9vcHQsIEVYVEVOVFMpOworCWlmIChFWFQ0X0hBU19JTkNPTVBBVF9GRUFUVVJFKHNiLCBFWFQ0X0ZFQVRVUkVfSU5DT01QQVRfRVhURU5UUykpCisJCXNldF9vcHQoc2JpLT5zX21vdW50X29wdCwgRVhURU5UUyk7CisJZWxzZQorCQlleHQ0X3dhcm5pbmcoc2IsIF9fZnVuY19fLAorCQkJImV4dGVudHMgZmVhdHVyZSBub3QgZW5hYmxlZCBvbiB0aGlzIGZpbGVzeXN0ZW0sICIKKwkJCSJ1c2UgdHVuZTJmcy5cbiIpOwogCS8qCi0JICogdHVybiBvbiBtYmFsbG9jIGZlYXR1cmUgYnkgZGVmYXVsdCBpbiBleHQ0IGZpbGVzeXN0ZW0KLQkgKiBVc2VyIC1vIG5vbWJhbGxvYyB0byB0dXJuIGl0IG9mZgorCSAqIHR1cm4gb24gbWJhbGxvYyBjb2RlIGJ5IGRlZmF1bHQgaW4gZXh0NCBmaWxlc3lzdGVtCisJICogVXNlIC1vIG5vbWJhbGxvYyB0byB0dXJuIGl0IG9mZgogCSAqLwogCXNldF9vcHQoc2JpLT5zX21vdW50X29wdCwgTUJBTExPQyk7CiAKKwkvKgorCSAqIGVuYWJsZSBkZWxheWVkIGFsbG9jYXRpb24gYnkgZGVmYXVsdAorCSAqIFVzZSAtbyBub2RlbGFsbG9jIHRvIHR1cm4gaXQgb2ZmCisJICovCisJc2V0X29wdChzYmktPnNfbW91bnRfb3B0LCBERUxBTExPQyk7CisKKwogCWlmICghcGFyc2Vfb3B0aW9ucyAoKGNoYXIgKikgZGF0YSwgc2IsICZqb3VybmFsX2ludW0sICZqb3VybmFsX2Rldm51bSwKIAkJCSAgICBOVUxMLCAwKSkKIAkJZ290byBmYWlsZWRfbW91bnQ7CkBAIC0yMTM4LDYgKzIyMzYsMTQgQEAKIAkJcHJpbnRrKEtFUk5fRVJSICJFWFQ0LWZzOiBncm91cCBkZXNjcmlwdG9ycyBjb3JydXB0ZWQhXG4iKTsKIAkJZ290byBmYWlsZWRfbW91bnQyOwogCX0KKwlpZiAoRVhUNF9IQVNfSU5DT01QQVRfRkVBVFVSRShzYiwgRVhUNF9GRUFUVVJFX0lOQ09NUEFUX0ZMRVhfQkcpKQorCQlpZiAoIWV4dDRfZmlsbF9mbGV4X2luZm8oc2IpKSB7CisJCQlwcmludGsoS0VSTl9FUlIKKwkJCSAgICAgICAiRVhUNC1mczogdW5hYmxlIHRvIGluaXRpYWxpemUgIgorCQkJICAgICAgICJmbGV4X2JnIG1ldGEgaW5mbyFcbiIpOworCQkJZ290byBmYWlsZWRfbW91bnQyOworCQl9CisKIAlzYmktPnNfZ2RiX2NvdW50ID0gZGJfY291bnQ7CiAJZ2V0X3JhbmRvbV9ieXRlcygmc2JpLT5zX25leHRfZ2VuZXJhdGlvbiwgc2l6ZW9mKHUzMikpOwogCXNwaW5fbG9ja19pbml0KCZzYmktPnNfbmV4dF9nZW5fbG9jayk7CkBAIC0yMzU4LDYgKzI0NjQsMTMgQEAKIAkJdGVzdF9vcHQoc2IsREFUQV9GTEFHUykgPT0gRVhUNF9NT1VOVF9PUkRFUkVEX0RBVEEgPyAib3JkZXJlZCI6CiAJCSJ3cml0ZWJhY2siKTsKIAorCWlmICh0ZXN0X29wdChzYiwgREFUQV9GTEFHUykgPT0gRVhUNF9NT1VOVF9KT1VSTkFMX0RBVEEpIHsKKwkJcHJpbnRrKEtFUk5fV0FSTklORyAiRVhUNC1mczogSWdub3JpbmcgZGVsYWxsb2Mgb3B0aW9uIC0gIgorCQkJCSJyZXF1ZXN0ZWQgZGF0YSBqb3VybmFsaW5nIG1vZGVcbiIpOworCQljbGVhcl9vcHQoc2JpLT5zX21vdW50X29wdCwgREVMQUxMT0MpOworCX0gZWxzZSBpZiAodGVzdF9vcHQoc2IsIERFTEFMTE9DKSkKKwkJcHJpbnRrKEtFUk5fSU5GTyAiRVhUNC1mczogZGVsYXllZCBhbGxvY2F0aW9uIGVuYWJsZWRcbiIpOworCiAJZXh0NF9leHRfaW5pdChzYik7CiAJZXh0NF9tYl9pbml0KHNiLCBuZWVkc19yZWNvdmVyeSk7CiAKQEAgLTIzNzIsNiArMjQ4NSw3IEBACiAKIGZhaWxlZF9tb3VudDQ6CiAJamJkMl9qb3VybmFsX2Rlc3Ryb3koc2JpLT5zX2pvdXJuYWwpOworCXNiaS0+c19qb3VybmFsID0gTlVMTDsKIGZhaWxlZF9tb3VudDM6CiAJcGVyY3B1X2NvdW50ZXJfZGVzdHJveSgmc2JpLT5zX2ZyZWVibG9ja3NfY291bnRlcik7CiAJcGVyY3B1X2NvdW50ZXJfZGVzdHJveSgmc2JpLT5zX2ZyZWVpbm9kZXNfY291bnRlcik7CkBAIC0zMzI1LDcgKzM0MzksNyBAQAogCQkJZXJyID0gZXh0NF9qb3VybmFsX2RpcnR5X21ldGFkYXRhKGhhbmRsZSwgYmgpOwogCQllbHNlIHsKIAkJCS8qIEFsd2F5cyBkbyBhdCBsZWFzdCBvcmRlcmVkIHdyaXRlcyBmb3IgcXVvdGFzICovCi0JCQllcnIgPSBleHQ0X2pvdXJuYWxfZGlydHlfZGF0YShoYW5kbGUsIGJoKTsKKwkJCWVyciA9IGV4dDRfamJkMl9maWxlX2lub2RlKGhhbmRsZSwgaW5vZGUpOwogCQkJbWFya19idWZmZXJfZGlydHkoYmgpOwogCQl9CiAJCWJyZWxzZShiaCk7CmRpZmYgLS1naXQgYS9mcy9leHQ0L3hhdHRyLmMgYi9mcy9leHQ0L3hhdHRyLmMKaW5kZXggZmYwODYzMy4uOTNjNWZkYyAxMDA2NDQKLS0tIGEvZnMvZXh0NC94YXR0ci5jCisrKyBiL2ZzL2V4dDQveGF0dHIuYwpAQCAtODEwLDcgKzgxMCw3IEBACiAJCQkvKiBXZSBuZWVkIHRvIGFsbG9jYXRlIGEgbmV3IGJsb2NrICovCiAJCQlleHQ0X2ZzYmxrX3QgZ29hbCA9IGV4dDRfZ3JvdXBfZmlyc3RfYmxvY2tfbm8oc2IsCiAJCQkJCQlFWFQ0X0koaW5vZGUpLT5pX2Jsb2NrX2dyb3VwKTsKLQkJCWV4dDRfZnNibGtfdCBibG9jayA9IGV4dDRfbmV3X2Jsb2NrKGhhbmRsZSwgaW5vZGUsCisJCQlleHQ0X2ZzYmxrX3QgYmxvY2sgPSBleHQ0X25ld19tZXRhX2Jsb2NrKGhhbmRsZSwgaW5vZGUsCiAJCQkJCQkJZ29hbCwgJmVycm9yKTsKIAkJCWlmIChlcnJvcikKIAkJCQlnb3RvIGNsZWFudXA7CmRpZmYgLS1naXQgYS9mcy9leHQ0L3hhdHRyX3RydXN0ZWQuYyBiL2ZzL2V4dDQveGF0dHJfdHJ1c3RlZC5jCmluZGV4IGZmZjMzMzguLmFjMWE1MmMgMTAwNjQ0Ci0tLSBhL2ZzL2V4dDQveGF0dHJfdHJ1c3RlZC5jCisrKyBiL2ZzL2V4dDQveGF0dHJfdHJ1c3RlZC5jCkBAIC0xMywxMyArMTMsMTEgQEAKICNpbmNsdWRlICJleHQ0LmgiCiAjaW5jbHVkZSAieGF0dHIuaCIKIAotI2RlZmluZSBYQVRUUl9UUlVTVEVEX1BSRUZJWCAidHJ1c3RlZC4iCi0KIHN0YXRpYyBzaXplX3QKIGV4dDRfeGF0dHJfdHJ1c3RlZF9saXN0KHN0cnVjdCBpbm9kZSAqaW5vZGUsIGNoYXIgKmxpc3QsIHNpemVfdCBsaXN0X3NpemUsCiAJCQljb25zdCBjaGFyICpuYW1lLCBzaXplX3QgbmFtZV9sZW4pCiB7Ci0JY29uc3Qgc2l6ZV90IHByZWZpeF9sZW4gPSBzaXplb2YoWEFUVFJfVFJVU1RFRF9QUkVGSVgpLTE7CisJY29uc3Qgc2l6ZV90IHByZWZpeF9sZW4gPSBYQVRUUl9UUlVTVEVEX1BSRUZJWF9MRU47CiAJY29uc3Qgc2l6ZV90IHRvdGFsX2xlbiA9IHByZWZpeF9sZW4gKyBuYW1lX2xlbiArIDE7CiAKIAlpZiAoIWNhcGFibGUoQ0FQX1NZU19BRE1JTikpCmRpZmYgLS1naXQgYS9mcy9leHQ0L3hhdHRyX3VzZXIuYyBiL2ZzL2V4dDQveGF0dHJfdXNlci5jCmluZGV4IDY3YmU3MjMuLmQ5MWFhNjEgMTAwNjQ0Ci0tLSBhL2ZzL2V4dDQveGF0dHJfdXNlci5jCisrKyBiL2ZzL2V4dDQveGF0dHJfdXNlci5jCkBAIC0xMiwxMyArMTIsMTEgQEAKICNpbmNsdWRlICJleHQ0LmgiCiAjaW5jbHVkZSAieGF0dHIuaCIKIAotI2RlZmluZSBYQVRUUl9VU0VSX1BSRUZJWCAidXNlci4iCi0KIHN0YXRpYyBzaXplX3QKIGV4dDRfeGF0dHJfdXNlcl9saXN0KHN0cnVjdCBpbm9kZSAqaW5vZGUsIGNoYXIgKmxpc3QsIHNpemVfdCBsaXN0X3NpemUsCiAJCSAgICAgY29uc3QgY2hhciAqbmFtZSwgc2l6ZV90IG5hbWVfbGVuKQogewotCWNvbnN0IHNpemVfdCBwcmVmaXhfbGVuID0gc2l6ZW9mKFhBVFRSX1VTRVJfUFJFRklYKS0xOworCWNvbnN0IHNpemVfdCBwcmVmaXhfbGVuID0gWEFUVFJfVVNFUl9QUkVGSVhfTEVOOwogCWNvbnN0IHNpemVfdCB0b3RhbF9sZW4gPSBwcmVmaXhfbGVuICsgbmFtZV9sZW4gKyAxOwogCiAJaWYgKCF0ZXN0X29wdChpbm9kZS0+aV9zYiwgWEFUVFJfVVNFUikpCmRpZmYgLS1naXQgYS9mcy9mYXQvY2FjaGUuYyBiL2ZzL2ZhdC9jYWNoZS5jCmluZGV4IGZkYTI1NDc5Li4zYTllY2FjOCAxMDA2NDQKLS0tIGEvZnMvZmF0L2NhY2hlLmMKKysrIGIvZnMvZmF0L2NhY2hlLmMKQEAgLTYxLDcgKzYxLDcgQEAKIAogc3RhdGljIGlubGluZSBzdHJ1Y3QgZmF0X2NhY2hlICpmYXRfY2FjaGVfYWxsb2Moc3RydWN0IGlub2RlICppbm9kZSkKIHsKLQlyZXR1cm4ga21lbV9jYWNoZV9hbGxvYyhmYXRfY2FjaGVfY2FjaGVwLCBHRlBfS0VSTkVMKTsKKwlyZXR1cm4ga21lbV9jYWNoZV9hbGxvYyhmYXRfY2FjaGVfY2FjaGVwLCBHRlBfTk9GUyk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgdm9pZCBmYXRfY2FjaGVfZnJlZShzdHJ1Y3QgZmF0X2NhY2hlICpjYWNoZSkKZGlmZiAtLWdpdCBhL2ZzL2ZhdC9kaXIuYyBiL2ZzL2ZhdC9kaXIuYwppbmRleCA0ODY3MjVlLi4zNDU0MWQwIDEwMDY0NAotLS0gYS9mcy9mYXQvZGlyLmMKKysrIGIvZnMvZmF0L2Rpci5jCkBAIC00NzIsNyArNDcyLDcgQEAKIAlsb2ZmX3QgY3BvczsKIAlpbnQgcmV0ID0gMDsKIAotCWxvY2tfa2VybmVsKCk7CisJbG9ja19zdXBlcihzYik7CiAKIAljcG9zID0gZmlscC0+Zl9wb3M7CiAJLyogRmFrZSAuIGFuZCAuLiBmb3IgdGhlIHJvb3QgZGlyZWN0b3J5LiAqLwpAQCAtNjU0LDcgKzY1NCw3IEBACiAJaWYgKHVuaWNvZGUpCiAJCV9fcHV0bmFtZSh1bmljb2RlKTsKIG91dDoKLQl1bmxvY2tfa2VybmVsKCk7CisJdW5sb2NrX3N1cGVyKHNiKTsKIAlyZXR1cm4gcmV0OwogfQogCmRpZmYgLS1naXQgYS9mcy9mYXQvZmlsZS5jIGIvZnMvZmF0L2ZpbGUuYwppbmRleCA3NzEzMjZiLi5jNjcyZGY0IDEwMDY0NAotLS0gYS9mcy9mYXQvZmlsZS5jCisrKyBiL2ZzL2ZhdC9maWxlLmMKQEAgLTExLDcgKzExLDYgQEAKICNpbmNsdWRlIDxsaW51eC9tb3VudC5oPgogI2luY2x1ZGUgPGxpbnV4L3RpbWUuaD4KICNpbmNsdWRlIDxsaW51eC9tc2Rvc19mcy5oPgotI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvYnVmZmVyX2hlYWQuaD4KICNpbmNsdWRlIDxsaW51eC93cml0ZWJhY2suaD4KICNpbmNsdWRlIDxsaW51eC9iYWNraW5nLWRldi5oPgpAQCAtMjQyLDkgKzI0MSw3IEBACiAKIAlucl9jbHVzdGVycyA9IChpbm9kZS0+aV9zaXplICsgKGNsdXN0ZXJfc2l6ZSAtIDEpKSA+PiBzYmktPmNsdXN0ZXJfYml0czsKIAotCWxvY2tfa2VybmVsKCk7CiAJZmF0X2ZyZWUoaW5vZGUsIG5yX2NsdXN0ZXJzKTsKLQl1bmxvY2tfa2VybmVsKCk7CiAJZmF0X2ZsdXNoX2lub2Rlcyhpbm9kZS0+aV9zYiwgaW5vZGUsIE5VTEwpOwogfQogCkBAIC0zMTAsOCArMzA3LDYgQEAKIAlpbnQgZXJyb3IgPSAwOwogCXVuc2lnbmVkIGludCBpYV92YWxpZDsKIAotCWxvY2tfa2VybmVsKCk7Ci0KIAkvKgogCSAqIEV4cGFuZCB0aGUgZmlsZS4gU2luY2UgaW5vZGVfc2V0YXR0cigpIHVwZGF0ZXMgLT5pX3NpemUKIAkgKiBiZWZvcmUgY2FsbGluZyB0aGUgLT50cnVuY2F0ZSgpLCBidXQgRkFUIG5lZWRzIHRvIGZpbGwgdGhlCkBAIC0zNjYsNyArMzYxLDYgQEAKIAogCWVycm9yID0gaW5vZGVfc2V0YXR0cihpbm9kZSwgYXR0cik7CiBvdXQ6Ci0JdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiBlcnJvcjsKIH0KIEVYUE9SVF9TWU1CT0xfR1BMKGZhdF9zZXRhdHRyKTsKZGlmZiAtLWdpdCBhL2ZzL2ZhdC9pbm9kZS5jIGIvZnMvZmF0L2lub2RlLmMKaW5kZXggNGUwYTNkZC4uNDZhNDUwOCAxMDA2NDQKLS0tIGEvZnMvZmF0L2lub2RlLmMKKysrIGIvZnMvZmF0L2lub2RlLmMKQEAgLTQ0MCwxNCArNDQwLDEzIEBACiAKIHN0YXRpYyB2b2lkIGZhdF9jbGVhcl9pbm9kZShzdHJ1Y3QgaW5vZGUgKmlub2RlKQogewotCXN0cnVjdCBtc2Rvc19zYl9pbmZvICpzYmkgPSBNU0RPU19TQihpbm9kZS0+aV9zYik7CisJc3RydWN0IHN1cGVyX2Jsb2NrICpzYiA9IGlub2RlLT5pX3NiOworCXN0cnVjdCBtc2Rvc19zYl9pbmZvICpzYmkgPSBNU0RPU19TQihzYik7CiAKLQlsb2NrX2tlcm5lbCgpOwogCXNwaW5fbG9jaygmc2JpLT5pbm9kZV9oYXNoX2xvY2spOwogCWZhdF9jYWNoZV9pbnZhbF9pbm9kZShpbm9kZSk7CiAJaGxpc3RfZGVsX2luaXQoJk1TRE9TX0koaW5vZGUpLT5pX2ZhdF9oYXNoKTsKIAlzcGluX3VubG9jaygmc2JpLT5pbm9kZV9oYXNoX2xvY2spOwotCXVubG9ja19rZXJuZWwoKTsKIH0KIAogc3RhdGljIHZvaWQgZmF0X3dyaXRlX3N1cGVyKHN0cnVjdCBzdXBlcl9ibG9jayAqc2IpCkBAIC00ODUsNyArNDg0LDcgQEAKIHN0YXRpYyBzdHJ1Y3QgaW5vZGUgKmZhdF9hbGxvY19pbm9kZShzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiKQogewogCXN0cnVjdCBtc2Rvc19pbm9kZV9pbmZvICplaTsKLQllaSA9IGttZW1fY2FjaGVfYWxsb2MoZmF0X2lub2RlX2NhY2hlcCwgR0ZQX0tFUk5FTCk7CisJZWkgPSBrbWVtX2NhY2hlX2FsbG9jKGZhdF9pbm9kZV9jYWNoZXAsIEdGUF9OT0ZTKTsKIAlpZiAoIWVpKQogCQlyZXR1cm4gTlVMTDsKIAlyZXR1cm4gJmVpLT52ZnNfaW5vZGU7CkBAIC01NjcsNyArNTY2LDcgQEAKIAlpZiAoaW5vZGUtPmlfaW5vID09IE1TRE9TX1JPT1RfSU5PIHx8ICFpX3BvcykKIAkJcmV0dXJuIDA7CiAKLQlsb2NrX2tlcm5lbCgpOworCWxvY2tfc3VwZXIoc2IpOwogCWJoID0gc2JfYnJlYWQoc2IsIGlfcG9zID4+IHNiaS0+ZGlyX3Blcl9ibG9ja19iaXRzKTsKIAlpZiAoIWJoKSB7CiAJCXByaW50ayhLRVJOX0VSUiAiRkFUOiB1bmFibGUgdG8gcmVhZCBpbm9kZSBibG9jayAiCkBAIC01NzksNyArNTc4LDcgQEAKIAlpZiAoaV9wb3MgIT0gTVNET1NfSShpbm9kZSktPmlfcG9zKSB7CiAJCXNwaW5fdW5sb2NrKCZzYmktPmlub2RlX2hhc2hfbG9jayk7CiAJCWJyZWxzZShiaCk7Ci0JCXVubG9ja19rZXJuZWwoKTsKKwkJdW5sb2NrX3N1cGVyKHNiKTsKIAkJZ290byByZXRyeTsKIAl9CiAKQEAgLTYwNiw3ICs2MDUsNyBAQAogCQllcnIgPSBzeW5jX2RpcnR5X2J1ZmZlcihiaCk7CiAJYnJlbHNlKGJoKTsKIG91dDoKLQl1bmxvY2tfa2VybmVsKCk7CisJdW5sb2NrX3N1cGVyKHNiKTsKIAlyZXR1cm4gZXJyOwogfQogCkBAIC03MzYsNiArNzM1LDcgQEAKIAogc3RhdGljIHN0cnVjdCBkZW50cnkgKmZhdF9nZXRfcGFyZW50KHN0cnVjdCBkZW50cnkgKmNoaWxkKQogeworCXN0cnVjdCBzdXBlcl9ibG9jayAqc2IgPSBjaGlsZC0+ZF9zYjsKIAlzdHJ1Y3QgYnVmZmVyX2hlYWQgKmJoOwogCXN0cnVjdCBtc2Rvc19kaXJfZW50cnkgKmRlOwogCWxvZmZfdCBpX3BvczsKQEAgLTc0MywxNCArNzQzLDE0IEBACiAJc3RydWN0IGlub2RlICppbm9kZTsKIAlpbnQgZXJyOwogCi0JbG9ja19rZXJuZWwoKTsKKwlsb2NrX3N1cGVyKHNiKTsKIAogCWVyciA9IGZhdF9nZXRfZG90ZG90X2VudHJ5KGNoaWxkLT5kX2lub2RlLCAmYmgsICZkZSwgJmlfcG9zKTsKIAlpZiAoZXJyKSB7CiAJCXBhcmVudCA9IEVSUl9QVFIoZXJyKTsKIAkJZ290byBvdXQ7CiAJfQotCWlub2RlID0gZmF0X2J1aWxkX2lub2RlKGNoaWxkLT5kX3NiLCBkZSwgaV9wb3MpOworCWlub2RlID0gZmF0X2J1aWxkX2lub2RlKHNiLCBkZSwgaV9wb3MpOwogCWJyZWxzZShiaCk7CiAJaWYgKElTX0VSUihpbm9kZSkpIHsKIAkJcGFyZW50ID0gRVJSX0NBU1QoaW5vZGUpOwpAQCAtNzYyLDcgKzc2Miw3IEBACiAJCXBhcmVudCA9IEVSUl9QVFIoLUVOT01FTSk7CiAJfQogb3V0OgotCXVubG9ja19rZXJuZWwoKTsKKwl1bmxvY2tfc3VwZXIoc2IpOwogCiAJcmV0dXJuIHBhcmVudDsKIH0KQEAgLTExNzIsNiArMTE3MiwxMiBAQAogCWxvbmcgZXJyb3I7CiAJY2hhciBidWZbNTBdOwogCisJLyoKKwkgKiBHRlBfS0VSTkVMIGlzIG9rIGhlcmUsIGJlY2F1c2Ugd2hpbGUgd2UgZG8gaG9sZCB0aGUKKwkgKiBzdXBlYmxvY2sgbG9jaywgbWVtb3J5IHByZXNzdXJlIGNhbid0IGNhbGwgYmFjayBpbnRvCisJICogdGhlIGZpbGVzeXN0ZW0sIHNpbmNlIHdlJ3JlIG9ubHkganVzdCBhYm91dCB0byBtb3VudAorCSAqIGl0IGFuZCBoYXZlIG5vIGlub2RlcyBldGMgYWN0aXZlIQorCSAqLwogCXNiaSA9IGt6YWxsb2Moc2l6ZW9mKHN0cnVjdCBtc2Rvc19zYl9pbmZvKSwgR0ZQX0tFUk5FTCk7CiAJaWYgKCFzYmkpCiAJCXJldHVybiAtRU5PTUVNOwpkaWZmIC0tZ2l0IGEvZnMvZmNudGwuYyBiL2ZzL2ZjbnRsLmMKaW5kZXggYmZkNzc2NS4uMzMwYTdkNyAxMDA2NDQKLS0tIGEvZnMvZmNudGwuYworKysgYi9mcy9mY250bC5jCkBAIC0xMiw3ICsxMiw2IEBACiAjaW5jbHVkZSA8bGludXgvZmR0YWJsZS5oPgogI2luY2x1ZGUgPGxpbnV4L2NhcGFiaWxpdHkuaD4KICNpbmNsdWRlIDxsaW51eC9kbm90aWZ5Lmg+Ci0jaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxsaW51eC9zbGFiLmg+CiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CiAjaW5jbHVkZSA8bGludXgvc2VjdXJpdHkuaD4KQEAgLTIyNyw3ICsyMjYsNiBAQAogCWlmIChlcnJvcikKIAkJcmV0dXJuIGVycm9yOwogCi0JbG9ja19rZXJuZWwoKTsKIAlpZiAoKGFyZyBeIGZpbHAtPmZfZmxhZ3MpICYgRkFTWU5DKSB7CiAJCWlmIChmaWxwLT5mX29wICYmIGZpbHAtPmZfb3AtPmZhc3luYykgewogCQkJZXJyb3IgPSBmaWxwLT5mX29wLT5mYXN5bmMoZmQsIGZpbHAsIChhcmcgJiBGQVNZTkMpICE9IDApOwpAQCAtMjM4LDcgKzIzNiw2IEBACiAKIAlmaWxwLT5mX2ZsYWdzID0gKGFyZyAmIFNFVEZMX01BU0spIHwgKGZpbHAtPmZfZmxhZ3MgJiB+U0VURkxfTUFTSyk7CiAgb3V0OgotCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gZXJyb3I7CiB9CiAKZGlmZiAtLWdpdCBhL2ZzL2dmczIvS2NvbmZpZyBiL2ZzL2dmczIvS2NvbmZpZwppbmRleCA3Zjc5NDdlLi5hYjJmNTdlIDEwMDY0NAotLS0gYS9mcy9nZnMyL0tjb25maWcKKysrIGIvZnMvZ2ZzMi9LY29uZmlnCkBAIC0xNCwyMyArMTQsMTEgQEAKIAkgIEdGUyBpcyBwZXJmZWN0IGNvbnNpc3RlbmN5IC0tIGNoYW5nZXMgbWFkZSB0byB0aGUgZmlsZXN5c3RlbSBvbiBvbmUKIAkgIG1hY2hpbmUgc2hvdyB1cCBpbW1lZGlhdGVseSBvbiBhbGwgb3RoZXIgbWFjaGluZXMgaW4gdGhlIGNsdXN0ZXIuCiAKLQkgIFRvIHVzZSB0aGUgR0ZTMiBmaWxlc3lzdGVtLCB5b3Ugd2lsbCBuZWVkIHRvIGVuYWJsZSBvbmUgb3IgbW9yZSBvZgotCSAgdGhlIGJlbG93IGxvY2tpbmcgbW9kdWxlcy4gRG9jdW1lbnRhdGlvbiBhbmQgdXRpbGl0aWVzIGZvciBHRlMyIGNhbgorCSAgVG8gdXNlIHRoZSBHRlMyIGZpbGVzeXN0ZW0gaW4gYSBjbHVzdGVyLCB5b3Ugd2lsbCBuZWVkIHRvIGVuYWJsZQorCSAgdGhlIGxvY2tpbmcgbW9kdWxlIGJlbG93LiBEb2N1bWVudGF0aW9uIGFuZCB1dGlsaXRpZXMgZm9yIEdGUzIgY2FuCiAJICBiZSBmb3VuZCBoZXJlOiBodHRwOi8vc291cmNlcy5yZWRoYXQuY29tL2NsdXN0ZXIKIAotY29uZmlnIEdGUzJfRlNfTE9DS0lOR19OT0xPQ0sKLQl0cmlzdGF0ZSAiR0ZTMiBcIm5vbG9ja1wiIGxvY2tpbmcgbW9kdWxlIgotCWRlcGVuZHMgb24gR0ZTMl9GUwotCWhlbHAKLQkgIFNpbmdsZSBub2RlIGxvY2tpbmcgbW9kdWxlIGZvciBHRlMyLgotCi0JICBVc2UgdGhpcyBtb2R1bGUgaWYgeW91IHdhbnQgdG8gdXNlIEdGUzIgb24gYSBzaW5nbGUgbm9kZSB3aXRob3V0Ci0JICBpdHMgY2x1c3RlcmluZyBmZWF0dXJlcy4gWW91IGNhbiBzdGlsbCB0YWtlIGFkdmFudGFnZSBvZiB0aGUKLQkgIGxhcmdlIGZpbGUgc3VwcG9ydCwgYW5kIHVwZ3JhZGUgdG8gcnVubmluZyBhIGZ1bGwgY2x1c3RlciBsYXRlciBvbgotCSAgaWYgcmVxdWlyZWQuCi0KLQkgIElmIHlvdSB3aWxsIG9ubHkgYmUgdXNpbmcgR0ZTMiBpbiBjbHVzdGVyIG1vZGUsIHlvdSBkbyBub3QgbmVlZCB0aGlzCi0JICBtb2R1bGUuCisJICBUaGUgIm5vbG9jayIgbG9jayBtb2R1bGUgaXMgbm93IGJ1aWx0IGluIHRvIEdGUzIgYnkgZGVmYXVsdC4KIAogY29uZmlnIEdGUzJfRlNfTE9DS0lOR19ETE0KIAl0cmlzdGF0ZSAiR0ZTMiBETE0gbG9ja2luZyBtb2R1bGUiCmRpZmYgLS1naXQgYS9mcy9nZnMyL01ha2VmaWxlIGIvZnMvZ2ZzMi9NYWtlZmlsZQppbmRleCBlMjM1MGRmLi5lYzY1ODUxIDEwMDY0NAotLS0gYS9mcy9nZnMyL01ha2VmaWxlCisrKyBiL2ZzL2dmczIvTWFrZWZpbGUKQEAgLTUsNiArNSw1IEBACiAJb3BzX2ZzdHlwZS5vIG9wc19pbm9kZS5vIG9wc19zdXBlci5vIHF1b3RhLm8gXAogCXJlY292ZXJ5Lm8gcmdycC5vIHN1cGVyLm8gc3lzLm8gdHJhbnMubyB1dGlsLm8KIAotb2JqLSQoQ09ORklHX0dGUzJfRlNfTE9DS0lOR19OT0xPQ0spICs9IGxvY2tpbmcvbm9sb2NrLwogb2JqLSQoQ09ORklHX0dGUzJfRlNfTE9DS0lOR19ETE0pICs9IGxvY2tpbmcvZGxtLwogCmRpZmYgLS1naXQgYS9mcy9nZnMyL2dmczIuaCBiL2ZzL2dmczIvZ2ZzMi5oCmluZGV4IDNiYjExYzAuLmVmNjA2ZTMgMTAwNjQ0Ci0tLSBhL2ZzL2dmczIvZ2ZzMi5oCisrKyBiL2ZzL2dmczIvZ2ZzMi5oCkBAIC0xNiwxMSArMTYsNiBAQAogfTsKIAogZW51bSB7Ci0JTk9fV0FJVCA9IDAsCi0JV0FJVCA9IDEsCi19OwotCi1lbnVtIHsKIAlOT19GT1JDRSA9IDAsCiAJRk9SQ0UgPSAxLAogfTsKZGlmZiAtLWdpdCBhL2ZzL2dmczIvZ2xvY2suYyBiL2ZzL2dmczIvZ2xvY2suYwppbmRleCBkNjM2YjNlLi4xMzM5MWU1IDEwMDY0NAotLS0gYS9mcy9nZnMyL2dsb2NrLmMKKysrIGIvZnMvZ2ZzMi9nbG9jay5jCkBAIC00NSwyMSArNDUsMTkgQEAKICAgICAgICAgc3RydWN0IGhsaXN0X2hlYWQgaGJfbGlzdDsKIH07CiAKLXN0cnVjdCBnbG9ja19pdGVyIHsKLQlpbnQgaGFzaDsgICAgICAgICAgICAgICAgICAgICAvKiBoYXNoIGJ1Y2tldCBpbmRleCAgICAgICAgICovCi0Jc3RydWN0IGdmczJfc2JkICpzZHA7ICAgICAgICAgLyogaW5jb3JlIHN1cGVyYmxvY2sgICAgICAgICAqLwotCXN0cnVjdCBnZnMyX2dsb2NrICpnbDsgICAgICAgIC8qIGN1cnJlbnQgZ2xvY2sgc3RydWN0ICAgICAgKi8KLQlzdHJ1Y3Qgc2VxX2ZpbGUgKnNlcTsgICAgICAgICAvKiBzZXF1ZW5jZSBmaWxlIGZvciBkZWJ1Z2ZzICovCi0JY2hhciBzdHJpbmdbNTEyXTsgICAgICAgICAgICAgLyogc2NyYXRjaCBzcGFjZSAgICAgICAgICAgICAqLworc3RydWN0IGdmczJfZ2xvY2tfaXRlciB7CisJaW50IGhhc2g7CQkJLyogaGFzaCBidWNrZXQgaW5kZXggICAgICAgICAqLworCXN0cnVjdCBnZnMyX3NiZCAqc2RwOwkJLyogaW5jb3JlIHN1cGVyYmxvY2sgICAgICAgICAqLworCXN0cnVjdCBnZnMyX2dsb2NrICpnbDsJCS8qIGN1cnJlbnQgZ2xvY2sgc3RydWN0ICAgICAgKi8KKwljaGFyIHN0cmluZ1s1MTJdOwkJLyogc2NyYXRjaCBzcGFjZSAgICAgICAgICAgICAqLwogfTsKIAogdHlwZWRlZiB2b2lkICgqZ2xvY2tfZXhhbWluZXIpIChzdHJ1Y3QgZ2ZzMl9nbG9jayAqIGdsKTsKIAogc3RhdGljIGludCBnZnMyX2R1bXBfbG9ja3N0YXRlKHN0cnVjdCBnZnMyX3NiZCAqc2RwKTsKLXN0YXRpYyBpbnQgZHVtcF9nbG9jayhzdHJ1Y3QgZ2xvY2tfaXRlciAqZ2ksIHN0cnVjdCBnZnMyX2dsb2NrICpnbCk7Ci1zdGF0aWMgdm9pZCBnZnMyX2dsb2NrX3htb3RlX3RoKHN0cnVjdCBnZnMyX2dsb2NrICpnbCwgc3RydWN0IGdmczJfaG9sZGVyICpnaCk7Ci1zdGF0aWMgdm9pZCBnZnMyX2dsb2NrX2Ryb3BfdGgoc3RydWN0IGdmczJfZ2xvY2sgKmdsKTsKLXN0YXRpYyB2b2lkIHJ1bl9xdWV1ZShzdHJ1Y3QgZ2ZzMl9nbG9jayAqZ2wpOworc3RhdGljIGludCBfX2R1bXBfZ2xvY2soc3RydWN0IHNlcV9maWxlICpzZXEsIGNvbnN0IHN0cnVjdCBnZnMyX2dsb2NrICpnbCk7CisjZGVmaW5lIEdMT0NLX0JVR19PTihnbCx4KSBkbyB7IGlmICh1bmxpa2VseSh4KSkgeyBfX2R1bXBfZ2xvY2soTlVMTCwgZ2wpOyBCVUcoKTsgfSB9IHdoaWxlKDApCitzdGF0aWMgdm9pZCBkb194bW90ZShzdHJ1Y3QgZ2ZzMl9nbG9jayAqZ2wsIHN0cnVjdCBnZnMyX2hvbGRlciAqZ2gsIHVuc2lnbmVkIGludCB0YXJnZXQpOwogCiBzdGF0aWMgREVDTEFSRV9SV1NFTShnZnMyX3Vtb3VudF9mbHVzaF9zZW0pOwogc3RhdGljIHN0cnVjdCBkZW50cnkgKmdmczJfcm9vdDsKQEAgLTEyMywzMyArMTIxLDYgQEAKICNlbmRpZgogCiAvKioKLSAqIHJlbGF4ZWRfc3RhdGVfb2sgLSBpcyBhIHJlcXVlc3RlZCBsb2NrIGNvbXBhdGlibGUgd2l0aCB0aGUgY3VycmVudCBsb2NrIG1vZGU/Ci0gKiBAYWN0dWFsOiB0aGUgY3VycmVudCBzdGF0ZSBvZiB0aGUgbG9jawotICogQHJlcXVlc3RlZDogdGhlIGxvY2sgc3RhdGUgdGhhdCB3YXMgcmVxdWVzdGVkIGJ5IHRoZSBjYWxsZXIKLSAqIEBmbGFnczogdGhlIG1vZGlmaWVyIGZsYWdzIHBhc3NlZCBpbiBieSB0aGUgY2FsbGVyCi0gKgotICogUmV0dXJuczogMSBpZiB0aGUgbG9ja3MgYXJlIGNvbXBhdGlibGUsIDAgb3RoZXJ3aXNlCi0gKi8KLQotc3RhdGljIGlubGluZSBpbnQgcmVsYXhlZF9zdGF0ZV9vayh1bnNpZ25lZCBpbnQgYWN0dWFsLCB1bnNpZ25lZCByZXF1ZXN0ZWQsCi0JCQkJICAgaW50IGZsYWdzKQotewotCWlmIChhY3R1YWwgPT0gcmVxdWVzdGVkKQotCQlyZXR1cm4gMTsKLQotCWlmIChmbGFncyAmIEdMX0VYQUNUKQotCQlyZXR1cm4gMDsKLQotCWlmIChhY3R1YWwgPT0gTE1fU1RfRVhDTFVTSVZFICYmIHJlcXVlc3RlZCA9PSBMTV9TVF9TSEFSRUQpCi0JCXJldHVybiAxOwotCi0JaWYgKGFjdHVhbCAhPSBMTV9TVF9VTkxPQ0tFRCAmJiAoZmxhZ3MgJiBMTV9GTEFHX0FOWSkpCi0JCXJldHVybiAxOwotCi0JcmV0dXJuIDA7Ci19Ci0KLS8qKgogICogZ2xfaGFzaCgpIC0gVHVybiBnbG9jayBudW1iZXIgaW50byBoYXNoIGJ1Y2tldCBudW1iZXIKICAqIEBsb2NrOiBUaGUgZ2xvY2sgbnVtYmVyCiAgKgpAQCAtMTgyLDcgKzE1Myw3IEBACiAJc3RydWN0IGdmczJfc2JkICpzZHAgPSBnbC0+Z2xfc2JkOwogCXN0cnVjdCBpbm9kZSAqYXNwYWNlID0gZ2wtPmdsX2FzcGFjZTsKIAotCWlmIChsaWtlbHkoIXRlc3RfYml0KFNERl9TSFVURE9XTiwgJnNkcC0+c2RfZmxhZ3MpKSkKKwlpZiAoc2RwLT5zZF9sb2Nrc3RydWN0LmxzX29wcy0+bG1fcHV0X2xvY2spCiAJCXNkcC0+c2RfbG9ja3N0cnVjdC5sc19vcHMtPmxtX3B1dF9sb2NrKGdsLT5nbF9sb2NrKTsKIAogCWlmIChhc3BhY2UpCkBAIC0yMTEsMTcgKzE4MiwxNCBAQAogaW50IGdmczJfZ2xvY2tfcHV0KHN0cnVjdCBnZnMyX2dsb2NrICpnbCkKIHsKIAlpbnQgcnYgPSAwOwotCXN0cnVjdCBnZnMyX3NiZCAqc2RwID0gZ2wtPmdsX3NiZDsKIAogCXdyaXRlX2xvY2soZ2xfbG9ja19hZGRyKGdsLT5nbF9oYXNoKSk7CiAJaWYgKGF0b21pY19kZWNfYW5kX3Rlc3QoJmdsLT5nbF9yZWYpKSB7CiAJCWhsaXN0X2RlbCgmZ2wtPmdsX2xpc3QpOwogCQl3cml0ZV91bmxvY2soZ2xfbG9ja19hZGRyKGdsLT5nbF9oYXNoKSk7Ci0JCWdmczJfYXNzZXJ0KHNkcCwgZ2wtPmdsX3N0YXRlID09IExNX1NUX1VOTE9DS0VEKTsKLQkJZ2ZzMl9hc3NlcnQoc2RwLCBsaXN0X2VtcHR5KCZnbC0+Z2xfcmVjbGFpbSkpOwotCQlnZnMyX2Fzc2VydChzZHAsIGxpc3RfZW1wdHkoJmdsLT5nbF9ob2xkZXJzKSk7Ci0JCWdmczJfYXNzZXJ0KHNkcCwgbGlzdF9lbXB0eSgmZ2wtPmdsX3dhaXRlcnMxKSk7Ci0JCWdmczJfYXNzZXJ0KHNkcCwgbGlzdF9lbXB0eSgmZ2wtPmdsX3dhaXRlcnMzKSk7CisJCUdMT0NLX0JVR19PTihnbCwgZ2wtPmdsX3N0YXRlICE9IExNX1NUX1VOTE9DS0VEKTsKKwkJR0xPQ0tfQlVHX09OKGdsLCAhbGlzdF9lbXB0eSgmZ2wtPmdsX3JlY2xhaW0pKTsKKwkJR0xPQ0tfQlVHX09OKGdsLCAhbGlzdF9lbXB0eSgmZ2wtPmdsX2hvbGRlcnMpKTsKIAkJZ2xvY2tfZnJlZShnbCk7CiAJCXJ2ID0gMTsKIAkJZ290byBvdXQ7CkBAIC0yODEsMjIgKzI0OSw0MDEgQEAKIAlyZXR1cm4gZ2w7CiB9CiAKLXN0YXRpYyB2b2lkIGdsb2NrX3dvcmtfZnVuYyhzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspCisvKioKKyAqIG1heV9ncmFudCAtIGNoZWNrIGlmIGl0cyBvayB0byBncmFudCBhIG5ldyBsb2NrCisgKiBAZ2w6IFRoZSBnbG9jaworICogQGdoOiBUaGUgbG9jayByZXF1ZXN0IHdoaWNoIHdlIHdpc2ggdG8gZ3JhbnQKKyAqCisgKiBSZXR1cm5zOiB0cnVlIGlmIGl0cyBvayB0byBncmFudCB0aGUgbG9jaworICovCisKK3N0YXRpYyBpbmxpbmUgaW50IG1heV9ncmFudChjb25zdCBzdHJ1Y3QgZ2ZzMl9nbG9jayAqZ2wsIGNvbnN0IHN0cnVjdCBnZnMyX2hvbGRlciAqZ2gpCiB7Ci0Jc3RydWN0IGdmczJfZ2xvY2sgKmdsID0gY29udGFpbmVyX29mKHdvcmssIHN0cnVjdCBnZnMyX2dsb2NrLCBnbF93b3JrLndvcmspOworCWNvbnN0IHN0cnVjdCBnZnMyX2hvbGRlciAqZ2hfaGVhZCA9IGxpc3RfZW50cnkoZ2wtPmdsX2hvbGRlcnMubmV4dCwgY29uc3Qgc3RydWN0IGdmczJfaG9sZGVyLCBnaF9saXN0KTsKKwlpZiAoKGdoLT5naF9zdGF0ZSA9PSBMTV9TVF9FWENMVVNJVkUgfHwKKwkgICAgIGdoX2hlYWQtPmdoX3N0YXRlID09IExNX1NUX0VYQ0xVU0lWRSkgJiYgZ2ggIT0gZ2hfaGVhZCkKKwkJcmV0dXJuIDA7CisJaWYgKGdsLT5nbF9zdGF0ZSA9PSBnaC0+Z2hfc3RhdGUpCisJCXJldHVybiAxOworCWlmIChnaC0+Z2hfZmxhZ3MgJiBHTF9FWEFDVCkKKwkJcmV0dXJuIDA7CisJaWYgKGdsLT5nbF9zdGF0ZSA9PSBMTV9TVF9FWENMVVNJVkUpIHsKKwkJaWYgKGdoLT5naF9zdGF0ZSA9PSBMTV9TVF9TSEFSRUQgJiYgZ2hfaGVhZC0+Z2hfc3RhdGUgPT0gTE1fU1RfU0hBUkVEKQorCQkJcmV0dXJuIDE7CisJCWlmIChnaC0+Z2hfc3RhdGUgPT0gTE1fU1RfREVGRVJSRUQgJiYgZ2hfaGVhZC0+Z2hfc3RhdGUgPT0gTE1fU1RfREVGRVJSRUQpCisJCQlyZXR1cm4gMTsKKwl9CisJaWYgKGdsLT5nbF9zdGF0ZSAhPSBMTV9TVF9VTkxPQ0tFRCAmJiAoZ2gtPmdoX2ZsYWdzICYgTE1fRkxBR19BTlkpKQorCQlyZXR1cm4gMTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgZ2ZzMl9ob2xkZXJfd2FrZShzdHJ1Y3QgZ2ZzMl9ob2xkZXIgKmdoKQoreworCWNsZWFyX2JpdChISUZfV0FJVCwgJmdoLT5naF9pZmxhZ3MpOworCXNtcF9tYl9fYWZ0ZXJfY2xlYXJfYml0KCk7CisJd2FrZV91cF9iaXQoJmdoLT5naF9pZmxhZ3MsIEhJRl9XQUlUKTsKK30KKworLyoqCisgKiBkb19wcm9tb3RlIC0gcHJvbW90ZSBhcyBtYW55IHJlcXVlc3RzIGFzIHBvc3NpYmxlIG9uIHRoZSBjdXJyZW50IHF1ZXVlCisgKiBAZ2w6IFRoZSBnbG9jaworICogCisgKiBSZXR1cm5zOiB0cnVlIGlmIHRoZXJlIGlzIGEgYmxvY2tlZCBob2xkZXIgYXQgdGhlIGhlYWQgb2YgdGhlIGxpc3QKKyAqLworCitzdGF0aWMgaW50IGRvX3Byb21vdGUoc3RydWN0IGdmczJfZ2xvY2sgKmdsKQoreworCWNvbnN0IHN0cnVjdCBnZnMyX2dsb2NrX29wZXJhdGlvbnMgKmdsb3BzID0gZ2wtPmdsX29wczsKKwlzdHJ1Y3QgZ2ZzMl9ob2xkZXIgKmdoLCAqdG1wOworCWludCByZXQ7CisKK3Jlc3RhcnQ6CisJbGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZlKGdoLCB0bXAsICZnbC0+Z2xfaG9sZGVycywgZ2hfbGlzdCkgeworCQlpZiAodGVzdF9iaXQoSElGX0hPTERFUiwgJmdoLT5naF9pZmxhZ3MpKQorCQkJY29udGludWU7CisJCWlmIChtYXlfZ3JhbnQoZ2wsIGdoKSkgeworCQkJaWYgKGdoLT5naF9saXN0LnByZXYgPT0gJmdsLT5nbF9ob2xkZXJzICYmCisJCQkgICAgZ2xvcHMtPmdvX2xvY2spIHsKKwkJCQlzcGluX3VubG9jaygmZ2wtPmdsX3NwaW4pOworCQkJCS8qIEZJWE1FOiBlbGltaW5hdGUgdGhpcyBldmVudHVhbGx5ICovCisJCQkJcmV0ID0gZ2xvcHMtPmdvX2xvY2soZ2gpOworCQkJCXNwaW5fbG9jaygmZ2wtPmdsX3NwaW4pOworCQkJCWlmIChyZXQpIHsKKwkJCQkJZ2gtPmdoX2Vycm9yID0gcmV0OworCQkJCQlsaXN0X2RlbF9pbml0KCZnaC0+Z2hfbGlzdCk7CisJCQkJCWdmczJfaG9sZGVyX3dha2UoZ2gpOworCQkJCQlnb3RvIHJlc3RhcnQ7CisJCQkJfQorCQkJCXNldF9iaXQoSElGX0hPTERFUiwgJmdoLT5naF9pZmxhZ3MpOworCQkJCWdmczJfaG9sZGVyX3dha2UoZ2gpOworCQkJCWdvdG8gcmVzdGFydDsKKwkJCX0KKwkJCXNldF9iaXQoSElGX0hPTERFUiwgJmdoLT5naF9pZmxhZ3MpOworCQkJZ2ZzMl9ob2xkZXJfd2FrZShnaCk7CisJCQljb250aW51ZTsKKwkJfQorCQlpZiAoZ2gtPmdoX2xpc3QucHJldiA9PSAmZ2wtPmdsX2hvbGRlcnMpCisJCQlyZXR1cm4gMTsKKwkJYnJlYWs7CisJfQorCXJldHVybiAwOworfQorCisvKioKKyAqIGRvX2Vycm9yIC0gU29tZXRoaW5nIHVuZXhwZWN0ZWQgaGFzIGhhcHBlbmVkIGR1cmluZyBhIGxvY2sgcmVxdWVzdAorICoKKyAqLworCitzdGF0aWMgaW5saW5lIHZvaWQgZG9fZXJyb3Ioc3RydWN0IGdmczJfZ2xvY2sgKmdsLCBjb25zdCBpbnQgcmV0KQoreworCXN0cnVjdCBnZnMyX2hvbGRlciAqZ2gsICp0bXA7CisKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUoZ2gsIHRtcCwgJmdsLT5nbF9ob2xkZXJzLCBnaF9saXN0KSB7CisJCWlmICh0ZXN0X2JpdChISUZfSE9MREVSLCAmZ2gtPmdoX2lmbGFncykpCisJCQljb250aW51ZTsKKwkJaWYgKHJldCAmIExNX09VVF9FUlJPUikKKwkJCWdoLT5naF9lcnJvciA9IC1FSU87CisJCWVsc2UgaWYgKGdoLT5naF9mbGFncyAmIChMTV9GTEFHX1RSWSB8IExNX0ZMQUdfVFJZXzFDQikpCisJCQlnaC0+Z2hfZXJyb3IgPSBHTFJfVFJZRkFJTEVEOworCQllbHNlCisJCQljb250aW51ZTsKKwkJbGlzdF9kZWxfaW5pdCgmZ2gtPmdoX2xpc3QpOworCQlnZnMyX2hvbGRlcl93YWtlKGdoKTsKKwl9Cit9CisKKy8qKgorICogZmluZF9maXJzdF93YWl0ZXIgLSBmaW5kIHRoZSBmaXJzdCBnaCB0aGF0J3Mgd2FpdGluZyBmb3IgdGhlIGdsb2NrCisgKiBAZ2w6IHRoZSBnbG9jaworICovCisKK3N0YXRpYyBpbmxpbmUgc3RydWN0IGdmczJfaG9sZGVyICpmaW5kX2ZpcnN0X3dhaXRlcihjb25zdCBzdHJ1Y3QgZ2ZzMl9nbG9jayAqZ2wpCit7CisJc3RydWN0IGdmczJfaG9sZGVyICpnaDsKKworCWxpc3RfZm9yX2VhY2hfZW50cnkoZ2gsICZnbC0+Z2xfaG9sZGVycywgZ2hfbGlzdCkgeworCQlpZiAoIXRlc3RfYml0KEhJRl9IT0xERVIsICZnaC0+Z2hfaWZsYWdzKSkKKwkJCXJldHVybiBnaDsKKwl9CisJcmV0dXJuIE5VTEw7Cit9CisKKy8qKgorICogc3RhdGVfY2hhbmdlIC0gcmVjb3JkIHRoYXQgdGhlIGdsb2NrIGlzIG5vdyBpbiBhIGRpZmZlcmVudCBzdGF0ZQorICogQGdsOiB0aGUgZ2xvY2sKKyAqIEBuZXdfc3RhdGUgdGhlIG5ldyBzdGF0ZQorICoKKyAqLworCitzdGF0aWMgdm9pZCBzdGF0ZV9jaGFuZ2Uoc3RydWN0IGdmczJfZ2xvY2sgKmdsLCB1bnNpZ25lZCBpbnQgbmV3X3N0YXRlKQoreworCWludCBoZWxkMSwgaGVsZDI7CisKKwloZWxkMSA9IChnbC0+Z2xfc3RhdGUgIT0gTE1fU1RfVU5MT0NLRUQpOworCWhlbGQyID0gKG5ld19zdGF0ZSAhPSBMTV9TVF9VTkxPQ0tFRCk7CisKKwlpZiAoaGVsZDEgIT0gaGVsZDIpIHsKKwkJaWYgKGhlbGQyKQorCQkJZ2ZzMl9nbG9ja19ob2xkKGdsKTsKKwkJZWxzZQorCQkJZ2ZzMl9nbG9ja19wdXQoZ2wpOworCX0KKworCWdsLT5nbF9zdGF0ZSA9IG5ld19zdGF0ZTsKKwlnbC0+Z2xfdGNoYW5nZSA9IGppZmZpZXM7Cit9CisKK3N0YXRpYyB2b2lkIGdmczJfZGVtb3RlX3dha2Uoc3RydWN0IGdmczJfZ2xvY2sgKmdsKQoreworCWdsLT5nbF9kZW1vdGVfc3RhdGUgPSBMTV9TVF9FWENMVVNJVkU7CisJY2xlYXJfYml0KEdMRl9ERU1PVEUsICZnbC0+Z2xfZmxhZ3MpOworCXNtcF9tYl9fYWZ0ZXJfY2xlYXJfYml0KCk7CisJd2FrZV91cF9iaXQoJmdsLT5nbF9mbGFncywgR0xGX0RFTU9URSk7Cit9CisKKy8qKgorICogZmluaXNoX3htb3RlIC0gVGhlIERMTSBoYXMgcmVwbGllZCB0byBvbmUgb2Ygb3VyIGxvY2sgcmVxdWVzdHMKKyAqIEBnbDogVGhlIGdsb2NrCisgKiBAcmV0OiBUaGUgc3RhdHVzIGZyb20gdGhlIERMTQorICoKKyAqLworCitzdGF0aWMgdm9pZCBmaW5pc2hfeG1vdGUoc3RydWN0IGdmczJfZ2xvY2sgKmdsLCB1bnNpZ25lZCBpbnQgcmV0KQoreworCWNvbnN0IHN0cnVjdCBnZnMyX2dsb2NrX29wZXJhdGlvbnMgKmdsb3BzID0gZ2wtPmdsX29wczsKKwlzdHJ1Y3QgZ2ZzMl9ob2xkZXIgKmdoOworCXVuc2lnbmVkIHN0YXRlID0gcmV0ICYgTE1fT1VUX1NUX01BU0s7CiAKIAlzcGluX2xvY2soJmdsLT5nbF9zcGluKTsKLQlpZiAodGVzdF9hbmRfY2xlYXJfYml0KEdMRl9QRU5ESU5HX0RFTU9URSwgJmdsLT5nbF9mbGFncykpCi0JCXNldF9iaXQoR0xGX0RFTU9URSwgJmdsLT5nbF9mbGFncyk7Ci0JcnVuX3F1ZXVlKGdsKTsKKwlzdGF0ZV9jaGFuZ2UoZ2wsIHN0YXRlKTsKKwlnaCA9IGZpbmRfZmlyc3Rfd2FpdGVyKGdsKTsKKworCS8qIERlbW90ZSB0byBVTiByZXF1ZXN0IGFycml2ZWQgZHVyaW5nIGRlbW90ZSB0byBTSCBvciBERiAqLworCWlmICh0ZXN0X2JpdChHTEZfREVNT1RFX0lOX1BST0dSRVNTLCAmZ2wtPmdsX2ZsYWdzKSAmJgorCSAgICBzdGF0ZSAhPSBMTV9TVF9VTkxPQ0tFRCAmJiBnbC0+Z2xfZGVtb3RlX3N0YXRlID09IExNX1NUX1VOTE9DS0VEKQorCQlnbC0+Z2xfdGFyZ2V0ID0gTE1fU1RfVU5MT0NLRUQ7CisKKwkvKiBDaGVjayBmb3Igc3RhdGUgIT0gaW50ZW5kZWQgc3RhdGUgKi8KKwlpZiAodW5saWtlbHkoc3RhdGUgIT0gZ2wtPmdsX3RhcmdldCkpIHsKKwkJaWYgKGdoICYmICF0ZXN0X2JpdChHTEZfREVNT1RFX0lOX1BST0dSRVNTLCAmZ2wtPmdsX2ZsYWdzKSkgeworCQkJLyogbW92ZSB0byBiYWNrIG9mIHF1ZXVlIGFuZCB0cnkgbmV4dCBlbnRyeSAqLworCQkJaWYgKHJldCAmIExNX09VVF9DQU5DRUxFRCkgeworCQkJCWlmICgoZ2gtPmdoX2ZsYWdzICYgTE1fRkxBR19QUklPUklUWSkgPT0gMCkKKwkJCQkJbGlzdF9tb3ZlX3RhaWwoJmdoLT5naF9saXN0LCAmZ2wtPmdsX2hvbGRlcnMpOworCQkJCWdoID0gZmluZF9maXJzdF93YWl0ZXIoZ2wpOworCQkJCWdsLT5nbF90YXJnZXQgPSBnaC0+Z2hfc3RhdGU7CisJCQkJZ290byByZXRyeTsKKwkJCX0KKwkJCS8qIFNvbWUgZXJyb3Igb3IgZmFpbGVkICJ0cnkgbG9jayIgLSByZXBvcnQgaXQgKi8KKwkJCWlmICgocmV0ICYgTE1fT1VUX0VSUk9SKSB8fAorCQkJICAgIChnaC0+Z2hfZmxhZ3MgJiAoTE1fRkxBR19UUlkgfCBMTV9GTEFHX1RSWV8xQ0IpKSkgeworCQkJCWdsLT5nbF90YXJnZXQgPSBnbC0+Z2xfc3RhdGU7CisJCQkJZG9fZXJyb3IoZ2wsIHJldCk7CisJCQkJZ290byBvdXQ7CisJCQl9CisJCX0KKwkJc3dpdGNoKHN0YXRlKSB7CisJCS8qIFVubG9ja2VkIGR1ZSB0byBjb252ZXJzaW9uIGRlYWRsb2NrLCB0cnkgYWdhaW4gKi8KKwkJY2FzZSBMTV9TVF9VTkxPQ0tFRDoKK3JldHJ5OgorCQkJZG9feG1vdGUoZ2wsIGdoLCBnbC0+Z2xfdGFyZ2V0KTsKKwkJCWJyZWFrOworCQkvKiBDb252ZXJzaW9uIGZhaWxzLCB1bmxvY2sgYW5kIHRyeSBhZ2FpbiAqLworCQljYXNlIExNX1NUX1NIQVJFRDoKKwkJY2FzZSBMTV9TVF9ERUZFUlJFRDoKKwkJCWRvX3htb3RlKGdsLCBnaCwgTE1fU1RfVU5MT0NLRUQpOworCQkJYnJlYWs7CisJCWRlZmF1bHQ6IC8qIEV2ZXJ5dGhpbmcgZWxzZSAqLworCQkJcHJpbnRrKEtFUk5fRVJSICJHRlMyOiB3YW50ZWQgJXUgZ290ICV1XG4iLCBnbC0+Z2xfdGFyZ2V0LCBzdGF0ZSk7CisJCQlHTE9DS19CVUdfT04oZ2wsIDEpOworCQl9CisJCXNwaW5fdW5sb2NrKCZnbC0+Z2xfc3Bpbik7CisJCWdmczJfZ2xvY2tfcHV0KGdsKTsKKwkJcmV0dXJuOworCX0KKworCS8qIEZhc3QgcGF0aCAtIHdlIGdvdCB3aGF0IHdlIGFza2VkIGZvciAqLworCWlmICh0ZXN0X2FuZF9jbGVhcl9iaXQoR0xGX0RFTU9URV9JTl9QUk9HUkVTUywgJmdsLT5nbF9mbGFncykpCisJCWdmczJfZGVtb3RlX3dha2UoZ2wpOworCWlmIChzdGF0ZSAhPSBMTV9TVF9VTkxPQ0tFRCkgeworCQlpZiAoZ2xvcHMtPmdvX3htb3RlX2JoKSB7CisJCQlpbnQgcnY7CisJCQlzcGluX3VubG9jaygmZ2wtPmdsX3NwaW4pOworCQkJcnYgPSBnbG9wcy0+Z29feG1vdGVfYmgoZ2wsIGdoKTsKKwkJCWlmIChydiA9PSAtRUFHQUlOKQorCQkJCXJldHVybjsKKwkJCXNwaW5fbG9jaygmZ2wtPmdsX3NwaW4pOworCQkJaWYgKHJ2KSB7CisJCQkJZG9fZXJyb3IoZ2wsIHJ2KTsKKwkJCQlnb3RvIG91dDsKKwkJCX0KKwkJfQorCQlkb19wcm9tb3RlKGdsKTsKKwl9CitvdXQ6CisJY2xlYXJfYml0KEdMRl9MT0NLLCAmZ2wtPmdsX2ZsYWdzKTsKIAlzcGluX3VubG9jaygmZ2wtPmdsX3NwaW4pOwogCWdmczJfZ2xvY2tfcHV0KGdsKTsKIH0KIAorc3RhdGljIHVuc2lnbmVkIGludCBnZnMyX2xtX2xvY2soc3RydWN0IGdmczJfc2JkICpzZHAsIHZvaWQgKmxvY2ssCisJCQkJIHVuc2lnbmVkIGludCBjdXJfc3RhdGUsIHVuc2lnbmVkIGludCByZXFfc3RhdGUsCisJCQkJIHVuc2lnbmVkIGludCBmbGFncykKK3sKKwlpbnQgcmV0ID0gTE1fT1VUX0VSUk9SOworCisJaWYgKCFzZHAtPnNkX2xvY2tzdHJ1Y3QubHNfb3BzLT5sbV9sb2NrKQorCQlyZXR1cm4gcmVxX3N0YXRlID09IExNX1NUX1VOTE9DS0VEID8gMCA6IHJlcV9zdGF0ZTsKKworCWlmIChsaWtlbHkoIXRlc3RfYml0KFNERl9TSFVURE9XTiwgJnNkcC0+c2RfZmxhZ3MpKSkKKwkJcmV0ID0gc2RwLT5zZF9sb2Nrc3RydWN0LmxzX29wcy0+bG1fbG9jayhsb2NrLCBjdXJfc3RhdGUsCisJCQkJCQkJIHJlcV9zdGF0ZSwgZmxhZ3MpOworCXJldHVybiByZXQ7Cit9CisKKy8qKgorICogZG9feG1vdGUgLSBDYWxscyB0aGUgRExNIHRvIGNoYW5nZSB0aGUgc3RhdGUgb2YgYSBsb2NrCisgKiBAZ2w6IFRoZSBsb2NrIHN0YXRlCisgKiBAZ2g6IFRoZSBob2xkZXIgKG9ubHkgZm9yIHByb21vdGVzKQorICogQHRhcmdldDogVGhlIHRhcmdldCBsb2NrIHN0YXRlCisgKgorICovCisKK3N0YXRpYyB2b2lkIGRvX3htb3RlKHN0cnVjdCBnZnMyX2dsb2NrICpnbCwgc3RydWN0IGdmczJfaG9sZGVyICpnaCwgdW5zaWduZWQgaW50IHRhcmdldCkKK3sKKwljb25zdCBzdHJ1Y3QgZ2ZzMl9nbG9ja19vcGVyYXRpb25zICpnbG9wcyA9IGdsLT5nbF9vcHM7CisJc3RydWN0IGdmczJfc2JkICpzZHAgPSBnbC0+Z2xfc2JkOworCXVuc2lnbmVkIGludCBsY2tfZmxhZ3MgPSBnaCA/IGdoLT5naF9mbGFncyA6IDA7CisJaW50IHJldDsKKworCWxja19mbGFncyAmPSAoTE1fRkxBR19UUlkgfCBMTV9GTEFHX1RSWV8xQ0IgfCBMTV9GTEFHX05PRVhQIHwKKwkJICAgICAgTE1fRkxBR19QUklPUklUWSk7CisJQlVHX09OKGdsLT5nbF9zdGF0ZSA9PSB0YXJnZXQpOworCUJVR19PTihnbC0+Z2xfc3RhdGUgPT0gZ2wtPmdsX3RhcmdldCk7CisJaWYgKCh0YXJnZXQgPT0gTE1fU1RfVU5MT0NLRUQgfHwgdGFyZ2V0ID09IExNX1NUX0RFRkVSUkVEKSAmJgorCSAgICBnbG9wcy0+Z29faW52YWwpIHsKKwkJc2V0X2JpdChHTEZfSU5WQUxJREFURV9JTl9QUk9HUkVTUywgJmdsLT5nbF9mbGFncyk7CisJCWRvX2Vycm9yKGdsLCAwKTsgLyogRmFpbCBxdWV1ZWQgdHJ5IGxvY2tzICovCisJfQorCXNwaW5fdW5sb2NrKCZnbC0+Z2xfc3Bpbik7CisJaWYgKGdsb3BzLT5nb194bW90ZV90aCkKKwkJZ2xvcHMtPmdvX3htb3RlX3RoKGdsKTsKKwlpZiAodGVzdF9iaXQoR0xGX0lOVkFMSURBVEVfSU5fUFJPR1JFU1MsICZnbC0+Z2xfZmxhZ3MpKQorCQlnbG9wcy0+Z29faW52YWwoZ2wsIHRhcmdldCA9PSBMTV9TVF9ERUZFUlJFRCA/IDAgOiBESU9fTUVUQURBVEEpOworCWNsZWFyX2JpdChHTEZfSU5WQUxJREFURV9JTl9QUk9HUkVTUywgJmdsLT5nbF9mbGFncyk7CisKKwlnZnMyX2dsb2NrX2hvbGQoZ2wpOworCWlmICh0YXJnZXQgIT0gTE1fU1RfVU5MT0NLRUQgJiYgKGdsLT5nbF9zdGF0ZSA9PSBMTV9TVF9TSEFSRUQgfHwKKwkgICAgZ2wtPmdsX3N0YXRlID09IExNX1NUX0RFRkVSUkVEKSAmJgorCSAgICAhKGxja19mbGFncyAmIChMTV9GTEFHX1RSWSB8IExNX0ZMQUdfVFJZXzFDQikpKQorCQlsY2tfZmxhZ3MgfD0gTE1fRkxBR19UUllfMUNCOworCXJldCA9IGdmczJfbG1fbG9jayhzZHAsIGdsLT5nbF9sb2NrLCBnbC0+Z2xfc3RhdGUsIHRhcmdldCwgbGNrX2ZsYWdzKTsKKworCWlmICghKHJldCAmIExNX09VVF9BU1lOQykpIHsKKwkJZmluaXNoX3htb3RlKGdsLCByZXQpOworCQlnZnMyX2dsb2NrX2hvbGQoZ2wpOworCQlpZiAocXVldWVfZGVsYXllZF93b3JrKGdsb2NrX3dvcmtxdWV1ZSwgJmdsLT5nbF93b3JrLCAwKSA9PSAwKQorCQkJZ2ZzMl9nbG9ja19wdXQoZ2wpOworCX0gZWxzZSB7CisJCUdMT0NLX0JVR19PTihnbCwgcmV0ICE9IExNX09VVF9BU1lOQyk7CisJfQorCXNwaW5fbG9jaygmZ2wtPmdsX3NwaW4pOworfQorCisvKioKKyAqIGZpbmRfZmlyc3RfaG9sZGVyIC0gZmluZCB0aGUgZmlyc3QgImhvbGRlciIgZ2gKKyAqIEBnbDogdGhlIGdsb2NrCisgKi8KKworc3RhdGljIGlubGluZSBzdHJ1Y3QgZ2ZzMl9ob2xkZXIgKmZpbmRfZmlyc3RfaG9sZGVyKGNvbnN0IHN0cnVjdCBnZnMyX2dsb2NrICpnbCkKK3sKKwlzdHJ1Y3QgZ2ZzMl9ob2xkZXIgKmdoOworCisJaWYgKCFsaXN0X2VtcHR5KCZnbC0+Z2xfaG9sZGVycykpIHsKKwkJZ2ggPSBsaXN0X2VudHJ5KGdsLT5nbF9ob2xkZXJzLm5leHQsIHN0cnVjdCBnZnMyX2hvbGRlciwgZ2hfbGlzdCk7CisJCWlmICh0ZXN0X2JpdChISUZfSE9MREVSLCAmZ2gtPmdoX2lmbGFncykpCisJCQlyZXR1cm4gZ2g7CisJfQorCXJldHVybiBOVUxMOworfQorCisvKioKKyAqIHJ1bl9xdWV1ZSAtIGRvIGFsbCBvdXRzdGFuZGluZyB0YXNrcyByZWxhdGVkIHRvIGEgZ2xvY2sKKyAqIEBnbDogVGhlIGdsb2NrIGluIHF1ZXN0aW9uCisgKiBAbm9uYmxvY2s6IFRydWUgaWYgd2UgbXVzdCBub3QgYmxvY2sgaW4gcnVuX3F1ZXVlCisgKgorICovCisKK3N0YXRpYyB2b2lkIHJ1bl9xdWV1ZShzdHJ1Y3QgZ2ZzMl9nbG9jayAqZ2wsIGNvbnN0IGludCBub25ibG9jaykKK3sKKwlzdHJ1Y3QgZ2ZzMl9ob2xkZXIgKmdoID0gTlVMTDsKKworCWlmICh0ZXN0X2FuZF9zZXRfYml0KEdMRl9MT0NLLCAmZ2wtPmdsX2ZsYWdzKSkKKwkJcmV0dXJuOworCisJR0xPQ0tfQlVHX09OKGdsLCB0ZXN0X2JpdChHTEZfREVNT1RFX0lOX1BST0dSRVNTLCAmZ2wtPmdsX2ZsYWdzKSk7CisKKwlpZiAodGVzdF9iaXQoR0xGX0RFTU9URSwgJmdsLT5nbF9mbGFncykgJiYKKwkgICAgZ2wtPmdsX2RlbW90ZV9zdGF0ZSAhPSBnbC0+Z2xfc3RhdGUpIHsKKwkJaWYgKGZpbmRfZmlyc3RfaG9sZGVyKGdsKSkKKwkJCWdvdG8gb3V0OworCQlpZiAobm9uYmxvY2spCisJCQlnb3RvIG91dF9zY2hlZDsKKwkJc2V0X2JpdChHTEZfREVNT1RFX0lOX1BST0dSRVNTLCAmZ2wtPmdsX2ZsYWdzKTsKKwkJR0xPQ0tfQlVHX09OKGdsLCBnbC0+Z2xfZGVtb3RlX3N0YXRlID09IExNX1NUX0VYQ0xVU0lWRSk7CisJCWdsLT5nbF90YXJnZXQgPSBnbC0+Z2xfZGVtb3RlX3N0YXRlOworCX0gZWxzZSB7CisJCWlmICh0ZXN0X2JpdChHTEZfREVNT1RFLCAmZ2wtPmdsX2ZsYWdzKSkKKwkJCWdmczJfZGVtb3RlX3dha2UoZ2wpOworCQlpZiAoZG9fcHJvbW90ZShnbCkgPT0gMCkKKwkJCWdvdG8gb3V0OworCQlnaCA9IGZpbmRfZmlyc3Rfd2FpdGVyKGdsKTsKKwkJZ2wtPmdsX3RhcmdldCA9IGdoLT5naF9zdGF0ZTsKKwkJaWYgKCEoZ2gtPmdoX2ZsYWdzICYgKExNX0ZMQUdfVFJZIHwgTE1fRkxBR19UUllfMUNCKSkpCisJCQlkb19lcnJvcihnbCwgMCk7IC8qIEZhaWwgcXVldWVkIHRyeSBsb2NrcyAqLworCX0KKwlkb194bW90ZShnbCwgZ2gsIGdsLT5nbF90YXJnZXQpOworCXJldHVybjsKKworb3V0X3NjaGVkOgorCWdmczJfZ2xvY2tfaG9sZChnbCk7CisJaWYgKHF1ZXVlX2RlbGF5ZWRfd29yayhnbG9ja193b3JrcXVldWUsICZnbC0+Z2xfd29yaywgMCkgPT0gMCkKKwkJZ2ZzMl9nbG9ja19wdXQoZ2wpOworb3V0OgorCWNsZWFyX2JpdChHTEZfTE9DSywgJmdsLT5nbF9mbGFncyk7Cit9CisKK3N0YXRpYyB2b2lkIGdsb2NrX3dvcmtfZnVuYyhzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspCit7CisJdW5zaWduZWQgbG9uZyBkZWxheSA9IDA7CisJc3RydWN0IGdmczJfZ2xvY2sgKmdsID0gY29udGFpbmVyX29mKHdvcmssIHN0cnVjdCBnZnMyX2dsb2NrLCBnbF93b3JrLndvcmspOworCisJaWYgKHRlc3RfYW5kX2NsZWFyX2JpdChHTEZfUkVQTFlfUEVORElORywgJmdsLT5nbF9mbGFncykpCisJCWZpbmlzaF94bW90ZShnbCwgZ2wtPmdsX3JlcGx5KTsKKwlzcGluX2xvY2soJmdsLT5nbF9zcGluKTsKKwlpZiAodGVzdF9hbmRfY2xlYXJfYml0KEdMRl9QRU5ESU5HX0RFTU9URSwgJmdsLT5nbF9mbGFncykgJiYKKwkgICAgZ2wtPmdsX3N0YXRlICE9IExNX1NUX1VOTE9DS0VEICYmCisJICAgIGdsLT5nbF9kZW1vdGVfc3RhdGUgIT0gTE1fU1RfRVhDTFVTSVZFKSB7CisJCXVuc2lnbmVkIGxvbmcgaG9sZHRpbWUsIG5vdyA9IGppZmZpZXM7CisJCWhvbGR0aW1lID0gZ2wtPmdsX3RjaGFuZ2UgKyBnbC0+Z2xfb3BzLT5nb19taW5faG9sZF90aW1lOworCQlpZiAodGltZV9iZWZvcmUobm93LCBob2xkdGltZSkpCisJCQlkZWxheSA9IGhvbGR0aW1lIC0gbm93OworCQlzZXRfYml0KGRlbGF5ID8gR0xGX1BFTkRJTkdfREVNT1RFIDogR0xGX0RFTU9URSwgJmdsLT5nbF9mbGFncyk7CisJfQorCXJ1bl9xdWV1ZShnbCwgMCk7CisJc3Bpbl91bmxvY2soJmdsLT5nbF9zcGluKTsKKwlpZiAoIWRlbGF5IHx8CisJICAgIHF1ZXVlX2RlbGF5ZWRfd29yayhnbG9ja193b3JrcXVldWUsICZnbC0+Z2xfd29yaywgZGVsYXkpID09IDApCisJCWdmczJfZ2xvY2tfcHV0KGdsKTsKK30KKwogc3RhdGljIGludCBnZnMyX2xtX2dldF9sb2NrKHN0cnVjdCBnZnMyX3NiZCAqc2RwLCBzdHJ1Y3QgbG1fbG9ja25hbWUgKm5hbWUsCiAJCSAgICAgdm9pZCAqKmxvY2twKQogewogCWludCBlcnJvciA9IC1FSU87CisJaWYgKCFzZHAtPnNkX2xvY2tzdHJ1Y3QubHNfb3BzLT5sbV9nZXRfbG9jaykKKwkJcmV0dXJuIDA7CiAJaWYgKGxpa2VseSghdGVzdF9iaXQoU0RGX1NIVVRET1dOLCAmc2RwLT5zZF9mbGFncykpKQogCQllcnJvciA9IHNkcC0+c2RfbG9ja3N0cnVjdC5sc19vcHMtPmxtX2dldF9sb2NrKAogCQkJCXNkcC0+c2RfbG9ja3N0cnVjdC5sc19sb2Nrc3BhY2UsIG5hbWUsIGxvY2twKTsKQEAgLTM0MiwxMiArNjg5LDEwIEBACiAJZ2wtPmdsX25hbWUgPSBuYW1lOwogCWF0b21pY19zZXQoJmdsLT5nbF9yZWYsIDEpOwogCWdsLT5nbF9zdGF0ZSA9IExNX1NUX1VOTE9DS0VEOworCWdsLT5nbF90YXJnZXQgPSBMTV9TVF9VTkxPQ0tFRDsKIAlnbC0+Z2xfZGVtb3RlX3N0YXRlID0gTE1fU1RfRVhDTFVTSVZFOwogCWdsLT5nbF9oYXNoID0gaGFzaDsKLQlnbC0+Z2xfb3duZXJfcGlkID0gTlVMTDsKLQlnbC0+Z2xfaXAgPSAwOwogCWdsLT5nbF9vcHMgPSBnbG9wczsKLQlnbC0+Z2xfcmVxX2doID0gTlVMTDsKIAlnbC0+Z2xfc3RhbXAgPSBqaWZmaWVzOwogCWdsLT5nbF90Y2hhbmdlID0gamlmZmllczsKIAlnbC0+Z2xfb2JqZWN0ID0gTlVMTDsKQEAgLTQ0NywxMyArNzkyLDYgQEAKIAlnaC0+Z2hfaXAgPSAwOwogfQogCi1zdGF0aWMgdm9pZCBnZnMyX2hvbGRlcl93YWtlKHN0cnVjdCBnZnMyX2hvbGRlciAqZ2gpCi17Ci0JY2xlYXJfYml0KEhJRl9XQUlULCAmZ2gtPmdoX2lmbGFncyk7Ci0Jc21wX21iX19hZnRlcl9jbGVhcl9iaXQoKTsKLQl3YWtlX3VwX2JpdCgmZ2gtPmdoX2lmbGFncywgSElGX1dBSVQpOwotfQotCiBzdGF0aWMgaW50IGp1c3Rfc2NoZWR1bGUodm9pZCAqd29yZCkKIHsKICAgICAgICAgc2NoZWR1bGUoKTsKQEAgLTQ2NiwxNCArODA0LDYgQEAKIAl3YWl0X29uX2JpdCgmZ2gtPmdoX2lmbGFncywgSElGX1dBSVQsIGp1c3Rfc2NoZWR1bGUsIFRBU0tfVU5JTlRFUlJVUFRJQkxFKTsKIH0KIAotc3RhdGljIHZvaWQgZ2ZzMl9kZW1vdGVfd2FrZShzdHJ1Y3QgZ2ZzMl9nbG9jayAqZ2wpCi17Ci0JZ2wtPmdsX2RlbW90ZV9zdGF0ZSA9IExNX1NUX0VYQ0xVU0lWRTsKLSAgICAgICAgY2xlYXJfYml0KEdMRl9ERU1PVEUsICZnbC0+Z2xfZmxhZ3MpOwotICAgICAgICBzbXBfbWJfX2FmdGVyX2NsZWFyX2JpdCgpOwotICAgICAgICB3YWtlX3VwX2JpdCgmZ2wtPmdsX2ZsYWdzLCBHTEZfREVNT1RFKTsKLX0KLQogc3RhdGljIHZvaWQgd2FpdF9vbl9kZW1vdGUoc3RydWN0IGdmczJfZ2xvY2sgKmdsKQogewogCW1pZ2h0X3NsZWVwKCk7CkBAIC00ODEsMjE3ICs4MTEsNiBAQAogfQogCiAvKioKLSAqIHJxX211dGV4IC0gcHJvY2VzcyBhIG11dGV4IHJlcXVlc3QgaW4gdGhlIHF1ZXVlCi0gKiBAZ2g6IHRoZSBnbG9jayBob2xkZXIKLSAqCi0gKiBSZXR1cm5zOiAxIGlmIHRoZSBxdWV1ZSBpcyBibG9ja2VkCi0gKi8KLQotc3RhdGljIGludCBycV9tdXRleChzdHJ1Y3QgZ2ZzMl9ob2xkZXIgKmdoKQotewotCXN0cnVjdCBnZnMyX2dsb2NrICpnbCA9IGdoLT5naF9nbDsKLQotCWxpc3RfZGVsX2luaXQoJmdoLT5naF9saXN0KTsKLQkvKiAgZ2gtPmdoX2Vycm9yIG5ldmVyIGV4YW1pbmVkLiAgKi8KLQlzZXRfYml0KEdMRl9MT0NLLCAmZ2wtPmdsX2ZsYWdzKTsKLQljbGVhcl9iaXQoSElGX1dBSVQsICZnaC0+Z2hfaWZsYWdzKTsKLQlzbXBfbWIoKTsKLQl3YWtlX3VwX2JpdCgmZ2gtPmdoX2lmbGFncywgSElGX1dBSVQpOwotCi0JcmV0dXJuIDE7Ci19Ci0KLS8qKgotICogcnFfcHJvbW90ZSAtIHByb2Nlc3MgYSBwcm9tb3RlIHJlcXVlc3QgaW4gdGhlIHF1ZXVlCi0gKiBAZ2g6IHRoZSBnbG9jayBob2xkZXIKLSAqCi0gKiBBY3F1aXJlIGEgbmV3IGludGVyLW5vZGUgbG9jaywgb3IgY2hhbmdlIGEgbG9jayBzdGF0ZSB0byBtb3JlIHJlc3RyaWN0aXZlLgotICoKLSAqIFJldHVybnM6IDEgaWYgdGhlIHF1ZXVlIGlzIGJsb2NrZWQKLSAqLwotCi1zdGF0aWMgaW50IHJxX3Byb21vdGUoc3RydWN0IGdmczJfaG9sZGVyICpnaCkKLXsKLQlzdHJ1Y3QgZ2ZzMl9nbG9jayAqZ2wgPSBnaC0+Z2hfZ2w7Ci0KLQlpZiAoIXJlbGF4ZWRfc3RhdGVfb2soZ2wtPmdsX3N0YXRlLCBnaC0+Z2hfc3RhdGUsIGdoLT5naF9mbGFncykpIHsKLQkJaWYgKGxpc3RfZW1wdHkoJmdsLT5nbF9ob2xkZXJzKSkgewotCQkJZ2wtPmdsX3JlcV9naCA9IGdoOwotCQkJc2V0X2JpdChHTEZfTE9DSywgJmdsLT5nbF9mbGFncyk7Ci0JCQlzcGluX3VubG9jaygmZ2wtPmdsX3NwaW4pOwotCQkJZ2ZzMl9nbG9ja194bW90ZV90aChnaC0+Z2hfZ2wsIGdoKTsKLQkJCXNwaW5fbG9jaygmZ2wtPmdsX3NwaW4pOwotCQl9Ci0JCXJldHVybiAxOwotCX0KLQotCWlmIChsaXN0X2VtcHR5KCZnbC0+Z2xfaG9sZGVycykpIHsKLQkJc2V0X2JpdChISUZfRklSU1QsICZnaC0+Z2hfaWZsYWdzKTsKLQkJc2V0X2JpdChHTEZfTE9DSywgJmdsLT5nbF9mbGFncyk7Ci0JfSBlbHNlIHsKLQkJc3RydWN0IGdmczJfaG9sZGVyICpuZXh0X2doOwotCQlpZiAoZ2gtPmdoX3N0YXRlID09IExNX1NUX0VYQ0xVU0lWRSkKLQkJCXJldHVybiAxOwotCQluZXh0X2doID0gbGlzdF9lbnRyeShnbC0+Z2xfaG9sZGVycy5uZXh0LCBzdHJ1Y3QgZ2ZzMl9ob2xkZXIsCi0JCQkJICAgICBnaF9saXN0KTsKLQkJaWYgKG5leHRfZ2gtPmdoX3N0YXRlID09IExNX1NUX0VYQ0xVU0lWRSkKLQkJCSByZXR1cm4gMTsKLQl9Ci0KLQlsaXN0X21vdmVfdGFpbCgmZ2gtPmdoX2xpc3QsICZnbC0+Z2xfaG9sZGVycyk7Ci0JZ2gtPmdoX2Vycm9yID0gMDsKLQlzZXRfYml0KEhJRl9IT0xERVIsICZnaC0+Z2hfaWZsYWdzKTsKLQotCWdmczJfaG9sZGVyX3dha2UoZ2gpOwotCi0JcmV0dXJuIDA7Ci19Ci0KLS8qKgotICogcnFfZGVtb3RlIC0gcHJvY2VzcyBhIGRlbW90ZSByZXF1ZXN0IGluIHRoZSBxdWV1ZQotICogQGdoOiB0aGUgZ2xvY2sgaG9sZGVyCi0gKgotICogUmV0dXJuczogMSBpZiB0aGUgcXVldWUgaXMgYmxvY2tlZAotICovCi0KLXN0YXRpYyBpbnQgcnFfZGVtb3RlKHN0cnVjdCBnZnMyX2dsb2NrICpnbCkKLXsKLQlpZiAoIWxpc3RfZW1wdHkoJmdsLT5nbF9ob2xkZXJzKSkKLQkJcmV0dXJuIDE7Ci0KLQlpZiAoZ2wtPmdsX3N0YXRlID09IGdsLT5nbF9kZW1vdGVfc3RhdGUgfHwKLQkgICAgZ2wtPmdsX3N0YXRlID09IExNX1NUX1VOTE9DS0VEKSB7Ci0JCWdmczJfZGVtb3RlX3dha2UoZ2wpOwotCQlyZXR1cm4gMDsKLQl9Ci0KLQlzZXRfYml0KEdMRl9MT0NLLCAmZ2wtPmdsX2ZsYWdzKTsKLQlzZXRfYml0KEdMRl9ERU1PVEVfSU5fUFJPR1JFU1MsICZnbC0+Z2xfZmxhZ3MpOwotCi0JaWYgKGdsLT5nbF9kZW1vdGVfc3RhdGUgPT0gTE1fU1RfVU5MT0NLRUQgfHwKLQkgICAgZ2wtPmdsX3N0YXRlICE9IExNX1NUX0VYQ0xVU0lWRSkgewotCQlzcGluX3VubG9jaygmZ2wtPmdsX3NwaW4pOwotCQlnZnMyX2dsb2NrX2Ryb3BfdGgoZ2wpOwotCX0gZWxzZSB7Ci0JCXNwaW5fdW5sb2NrKCZnbC0+Z2xfc3Bpbik7Ci0JCWdmczJfZ2xvY2tfeG1vdGVfdGgoZ2wsIE5VTEwpOwotCX0KLQotCXNwaW5fbG9jaygmZ2wtPmdsX3NwaW4pOwotCWNsZWFyX2JpdChHTEZfREVNT1RFX0lOX1BST0dSRVNTLCAmZ2wtPmdsX2ZsYWdzKTsKLQotCXJldHVybiAwOwotfQotCi0vKioKLSAqIHJ1bl9xdWV1ZSAtIHByb2Nlc3MgaG9sZGVyIHN0cnVjdHVyZXMgb24gYSBnbG9jawotICogQGdsOiB0aGUgZ2xvY2sKLSAqCi0gKi8KLXN0YXRpYyB2b2lkIHJ1bl9xdWV1ZShzdHJ1Y3QgZ2ZzMl9nbG9jayAqZ2wpCi17Ci0Jc3RydWN0IGdmczJfaG9sZGVyICpnaDsKLQlpbnQgYmxvY2tlZCA9IDE7Ci0KLQlmb3IgKDs7KSB7Ci0JCWlmICh0ZXN0X2JpdChHTEZfTE9DSywgJmdsLT5nbF9mbGFncykpCi0JCQlicmVhazsKLQotCQlpZiAoIWxpc3RfZW1wdHkoJmdsLT5nbF93YWl0ZXJzMSkpIHsKLQkJCWdoID0gbGlzdF9lbnRyeShnbC0+Z2xfd2FpdGVyczEubmV4dCwKLQkJCQkJc3RydWN0IGdmczJfaG9sZGVyLCBnaF9saXN0KTsKLQkJCWJsb2NrZWQgPSBycV9tdXRleChnaCk7Ci0JCX0gZWxzZSBpZiAodGVzdF9iaXQoR0xGX0RFTU9URSwgJmdsLT5nbF9mbGFncykpIHsKLQkJCWJsb2NrZWQgPSBycV9kZW1vdGUoZ2wpOwotCQkJaWYgKHRlc3RfYml0KEdMRl9XQUlURVJTMiwgJmdsLT5nbF9mbGFncykgJiYKLQkJCQkgICAgICFibG9ja2VkKSB7Ci0JCQkJc2V0X2JpdChHTEZfREVNT1RFLCAmZ2wtPmdsX2ZsYWdzKTsKLQkJCQlnbC0+Z2xfZGVtb3RlX3N0YXRlID0gTE1fU1RfVU5MT0NLRUQ7Ci0JCQl9Ci0JCQljbGVhcl9iaXQoR0xGX1dBSVRFUlMyLCAmZ2wtPmdsX2ZsYWdzKTsKLQkJfSBlbHNlIGlmICghbGlzdF9lbXB0eSgmZ2wtPmdsX3dhaXRlcnMzKSkgewotCQkJZ2ggPSBsaXN0X2VudHJ5KGdsLT5nbF93YWl0ZXJzMy5uZXh0LAotCQkJCQlzdHJ1Y3QgZ2ZzMl9ob2xkZXIsIGdoX2xpc3QpOwotCQkJYmxvY2tlZCA9IHJxX3Byb21vdGUoZ2gpOwotCQl9IGVsc2UKLQkJCWJyZWFrOwotCi0JCWlmIChibG9ja2VkKQotCQkJYnJlYWs7Ci0JfQotfQotCi0vKioKLSAqIGdmczJfZ2xtdXRleF9sb2NrIC0gYWNxdWlyZSBhIGxvY2FsIGxvY2sgb24gYSBnbG9jawotICogQGdsOiB0aGUgZ2xvY2sKLSAqCi0gKiBHaXZlcyBjYWxsZXIgZXhjbHVzaXZlIGFjY2VzcyB0byBtYW5pcHVsYXRlIGEgZ2xvY2sgc3RydWN0dXJlLgotICovCi0KLXN0YXRpYyB2b2lkIGdmczJfZ2xtdXRleF9sb2NrKHN0cnVjdCBnZnMyX2dsb2NrICpnbCkKLXsKLQlzcGluX2xvY2soJmdsLT5nbF9zcGluKTsKLQlpZiAodGVzdF9hbmRfc2V0X2JpdChHTEZfTE9DSywgJmdsLT5nbF9mbGFncykpIHsKLQkJc3RydWN0IGdmczJfaG9sZGVyIGdoOwotCi0JCWdmczJfaG9sZGVyX2luaXQoZ2wsIDAsIDAsICZnaCk7Ci0JCXNldF9iaXQoSElGX1dBSVQsICZnaC5naF9pZmxhZ3MpOwotCQlsaXN0X2FkZF90YWlsKCZnaC5naF9saXN0LCAmZ2wtPmdsX3dhaXRlcnMxKTsKLQkJc3Bpbl91bmxvY2soJmdsLT5nbF9zcGluKTsKLQkJd2FpdF9vbl9ob2xkZXIoJmdoKTsKLQkJZ2ZzMl9ob2xkZXJfdW5pbml0KCZnaCk7Ci0JfSBlbHNlIHsKLQkJZ2wtPmdsX293bmVyX3BpZCA9IGdldF9waWQodGFza19waWQoY3VycmVudCkpOwotCQlnbC0+Z2xfaXAgPSAodW5zaWduZWQgbG9uZylfX2J1aWx0aW5fcmV0dXJuX2FkZHJlc3MoMCk7Ci0JCXNwaW5fdW5sb2NrKCZnbC0+Z2xfc3Bpbik7Ci0JfQotfQotCi0vKioKLSAqIGdmczJfZ2xtdXRleF90cnlsb2NrIC0gdHJ5IHRvIGFjcXVpcmUgYSBsb2NhbCBsb2NrIG9uIGEgZ2xvY2sKLSAqIEBnbDogdGhlIGdsb2NrCi0gKgotICogUmV0dXJuczogMSBpZiB0aGUgZ2xvY2sgaXMgYWNxdWlyZWQKLSAqLwotCi1zdGF0aWMgaW50IGdmczJfZ2xtdXRleF90cnlsb2NrKHN0cnVjdCBnZnMyX2dsb2NrICpnbCkKLXsKLQlpbnQgYWNxdWlyZWQgPSAxOwotCi0Jc3Bpbl9sb2NrKCZnbC0+Z2xfc3Bpbik7Ci0JaWYgKHRlc3RfYW5kX3NldF9iaXQoR0xGX0xPQ0ssICZnbC0+Z2xfZmxhZ3MpKSB7Ci0JCWFjcXVpcmVkID0gMDsKLQl9IGVsc2UgewotCQlnbC0+Z2xfb3duZXJfcGlkID0gZ2V0X3BpZCh0YXNrX3BpZChjdXJyZW50KSk7Ci0JCWdsLT5nbF9pcCA9ICh1bnNpZ25lZCBsb25nKV9fYnVpbHRpbl9yZXR1cm5fYWRkcmVzcygwKTsKLQl9Ci0Jc3Bpbl91bmxvY2soJmdsLT5nbF9zcGluKTsKLQotCXJldHVybiBhY3F1aXJlZDsKLX0KLQotLyoqCi0gKiBnZnMyX2dsbXV0ZXhfdW5sb2NrIC0gcmVsZWFzZSBhIGxvY2FsIGxvY2sgb24gYSBnbG9jawotICogQGdsOiB0aGUgZ2xvY2sKLSAqCi0gKi8KLQotc3RhdGljIHZvaWQgZ2ZzMl9nbG11dGV4X3VubG9jayhzdHJ1Y3QgZ2ZzMl9nbG9jayAqZ2wpCi17Ci0Jc3RydWN0IHBpZCAqcGlkOwotCi0Jc3Bpbl9sb2NrKCZnbC0+Z2xfc3Bpbik7Ci0JY2xlYXJfYml0KEdMRl9MT0NLLCAmZ2wtPmdsX2ZsYWdzKTsKLQlwaWQgPSBnbC0+Z2xfb3duZXJfcGlkOwotCWdsLT5nbF9vd25lcl9waWQgPSBOVUxMOwotCWdsLT5nbF9pcCA9IDA7Ci0JcnVuX3F1ZXVlKGdsKTsKLQlzcGluX3VubG9jaygmZ2wtPmdsX3NwaW4pOwotCi0JcHV0X3BpZChwaWQpOwotfQotCi0vKioKICAqIGhhbmRsZV9jYWxsYmFjayAtIHByb2Nlc3MgYSBkZW1vdGUgcmVxdWVzdAogICogQGdsOiB0aGUgZ2xvY2sKICAqIEBzdGF0ZTogdGhlIHN0YXRlIHRoZSBjYWxsZXIgd2FudHMgdXMgdG8gY2hhbmdlIHRvCkBAIC03MDUsMzk4ICs4MjQsNDUgQEAKIHsKIAlpbnQgYml0ID0gZGVsYXkgPyBHTEZfUEVORElOR19ERU1PVEUgOiBHTEZfREVNT1RFOwogCi0Jc3Bpbl9sb2NrKCZnbC0+Z2xfc3Bpbik7CiAJc2V0X2JpdChiaXQsICZnbC0+Z2xfZmxhZ3MpOwogCWlmIChnbC0+Z2xfZGVtb3RlX3N0YXRlID09IExNX1NUX0VYQ0xVU0lWRSkgewogCQlnbC0+Z2xfZGVtb3RlX3N0YXRlID0gc3RhdGU7CiAJCWdsLT5nbF9kZW1vdGVfdGltZSA9IGppZmZpZXM7CiAJCWlmIChyZW1vdGUgJiYgZ2wtPmdsX29wcy0+Z29fdHlwZSA9PSBMTV9UWVBFX0lPUEVOICYmCi0JCSAgICBnbC0+Z2xfb2JqZWN0KSB7CisJCSAgICBnbC0+Z2xfb2JqZWN0KQogCQkJZ2ZzMl9nbG9ja19zY2hlZHVsZV9mb3JfcmVjbGFpbShnbCk7Ci0JCQlzcGluX3VubG9jaygmZ2wtPmdsX3NwaW4pOwotCQkJcmV0dXJuOwotCQl9CiAJfSBlbHNlIGlmIChnbC0+Z2xfZGVtb3RlX3N0YXRlICE9IExNX1NUX1VOTE9DS0VEICYmCiAJCQlnbC0+Z2xfZGVtb3RlX3N0YXRlICE9IHN0YXRlKSB7Ci0JCWlmICh0ZXN0X2JpdChHTEZfREVNT1RFX0lOX1BST0dSRVNTLCAgJmdsLT5nbF9mbGFncykpIAotCQkJc2V0X2JpdChHTEZfV0FJVEVSUzIsICZnbC0+Z2xfZmxhZ3MpOwotCQllbHNlIAotCQkJZ2wtPmdsX2RlbW90ZV9zdGF0ZSA9IExNX1NUX1VOTE9DS0VEOworCQlnbC0+Z2xfZGVtb3RlX3N0YXRlID0gTE1fU1RfVU5MT0NLRUQ7CiAJfQotCXNwaW5fdW5sb2NrKCZnbC0+Z2xfc3Bpbik7CiB9CiAKIC8qKgotICogc3RhdGVfY2hhbmdlIC0gcmVjb3JkIHRoYXQgdGhlIGdsb2NrIGlzIG5vdyBpbiBhIGRpZmZlcmVudCBzdGF0ZQotICogQGdsOiB0aGUgZ2xvY2sKLSAqIEBuZXdfc3RhdGUgdGhlIG5ldyBzdGF0ZQotICoKLSAqLwotCi1zdGF0aWMgdm9pZCBzdGF0ZV9jaGFuZ2Uoc3RydWN0IGdmczJfZ2xvY2sgKmdsLCB1bnNpZ25lZCBpbnQgbmV3X3N0YXRlKQotewotCWludCBoZWxkMSwgaGVsZDI7Ci0KLQloZWxkMSA9IChnbC0+Z2xfc3RhdGUgIT0gTE1fU1RfVU5MT0NLRUQpOwotCWhlbGQyID0gKG5ld19zdGF0ZSAhPSBMTV9TVF9VTkxPQ0tFRCk7Ci0KLQlpZiAoaGVsZDEgIT0gaGVsZDIpIHsKLQkJaWYgKGhlbGQyKQotCQkJZ2ZzMl9nbG9ja19ob2xkKGdsKTsKLQkJZWxzZQotCQkJZ2ZzMl9nbG9ja19wdXQoZ2wpOwotCX0KLQotCWdsLT5nbF9zdGF0ZSA9IG5ld19zdGF0ZTsKLQlnbC0+Z2xfdGNoYW5nZSA9IGppZmZpZXM7Ci19Ci0KLS8qKgotICogZHJvcF9iaCAtIENhbGxlZCBhZnRlciBhIGxvY2sgbW9kdWxlIHVubG9jayBjb21wbGV0ZXMKLSAqIEBnbDogdGhlIGdsb2NrCi0gKiBAcmV0OiB0aGUgcmV0dXJuIHN0YXR1cwotICoKLSAqIERvZXNuJ3Qgd2FrZSB1cCB0aGUgcHJvY2VzcyB3YWl0aW5nIG9uIHRoZSBzdHJ1Y3QgZ2ZzMl9ob2xkZXIgKGlmIGFueSkKLSAqIERvZXNuJ3QgZHJvcCB0aGUgcmVmZXJlbmNlIG9uIHRoZSBnbG9jayB0aGUgdG9wIGhhbGYgdG9vayBvdXQKLSAqCi0gKi8KLQotc3RhdGljIHZvaWQgZHJvcF9iaChzdHJ1Y3QgZ2ZzMl9nbG9jayAqZ2wsIHVuc2lnbmVkIGludCByZXQpCi17Ci0Jc3RydWN0IGdmczJfc2JkICpzZHAgPSBnbC0+Z2xfc2JkOwotCXN0cnVjdCBnZnMyX2hvbGRlciAqZ2ggPSBnbC0+Z2xfcmVxX2doOwotCi0JZ2ZzMl9hc3NlcnRfd2FybihzZHAsIHRlc3RfYml0KEdMRl9MT0NLLCAmZ2wtPmdsX2ZsYWdzKSk7Ci0JZ2ZzMl9hc3NlcnRfd2FybihzZHAsIGxpc3RfZW1wdHkoJmdsLT5nbF9ob2xkZXJzKSk7Ci0JZ2ZzMl9hc3NlcnRfd2FybihzZHAsICFyZXQpOwotCi0Jc3RhdGVfY2hhbmdlKGdsLCBMTV9TVF9VTkxPQ0tFRCk7Ci0KLQlpZiAodGVzdF9hbmRfY2xlYXJfYml0KEdMRl9DT05WX0RFQURMSywgJmdsLT5nbF9mbGFncykpIHsKLQkJc3Bpbl9sb2NrKCZnbC0+Z2xfc3Bpbik7Ci0JCWdoLT5naF9lcnJvciA9IDA7Ci0JCXNwaW5fdW5sb2NrKCZnbC0+Z2xfc3Bpbik7Ci0JCWdmczJfZ2xvY2tfeG1vdGVfdGgoZ2wsIGdsLT5nbF9yZXFfZ2gpOwotCQlnZnMyX2dsb2NrX3B1dChnbCk7Ci0JCXJldHVybjsKLQl9Ci0KLQlzcGluX2xvY2soJmdsLT5nbF9zcGluKTsKLQlnZnMyX2RlbW90ZV93YWtlKGdsKTsKLQljbGVhcl9iaXQoR0xGX0xPQ0ssICZnbC0+Z2xfZmxhZ3MpOwotCXNwaW5fdW5sb2NrKCZnbC0+Z2xfc3Bpbik7Ci0JZ2ZzMl9nbG9ja19wdXQoZ2wpOwotfQotCi0vKioKLSAqIHhtb3RlX2JoIC0gQ2FsbGVkIGFmdGVyIHRoZSBsb2NrIG1vZHVsZSBpcyBkb25lIGFjcXVpcmluZyBhIGxvY2sKLSAqIEBnbDogVGhlIGdsb2NrIGluIHF1ZXN0aW9uCi0gKiBAcmV0OiB0aGUgaW50IHJldHVybmVkIGZyb20gdGhlIGxvY2sgbW9kdWxlCi0gKgotICovCi0KLXN0YXRpYyB2b2lkIHhtb3RlX2JoKHN0cnVjdCBnZnMyX2dsb2NrICpnbCwgdW5zaWduZWQgaW50IHJldCkKLXsKLQlzdHJ1Y3QgZ2ZzMl9zYmQgKnNkcCA9IGdsLT5nbF9zYmQ7Ci0JY29uc3Qgc3RydWN0IGdmczJfZ2xvY2tfb3BlcmF0aW9ucyAqZ2xvcHMgPSBnbC0+Z2xfb3BzOwotCXN0cnVjdCBnZnMyX2hvbGRlciAqZ2ggPSBnbC0+Z2xfcmVxX2doOwotCWludCBvcF9kb25lID0gMTsKLQotCWlmICghZ2ggJiYgKHJldCAmIExNX09VVF9TVF9NQVNLKSA9PSBMTV9TVF9VTkxPQ0tFRCkgewotCQlkcm9wX2JoKGdsLCByZXQpOwotCQlyZXR1cm47Ci0JfQotCi0JZ2ZzMl9hc3NlcnRfd2FybihzZHAsIHRlc3RfYml0KEdMRl9MT0NLLCAmZ2wtPmdsX2ZsYWdzKSk7Ci0JZ2ZzMl9hc3NlcnRfd2FybihzZHAsIGxpc3RfZW1wdHkoJmdsLT5nbF9ob2xkZXJzKSk7Ci0JZ2ZzMl9hc3NlcnRfd2FybihzZHAsICEocmV0ICYgTE1fT1VUX0FTWU5DKSk7Ci0KLQlzdGF0ZV9jaGFuZ2UoZ2wsIHJldCAmIExNX09VVF9TVF9NQVNLKTsKLQotCS8qICBEZWFsIHdpdGggZWFjaCBwb3NzaWJsZSBleGl0IGNvbmRpdGlvbiAgKi8KLQotCWlmICghZ2gpIHsKLQkJZ2wtPmdsX3N0YW1wID0gamlmZmllczsKLQkJaWYgKHJldCAmIExNX09VVF9DQU5DRUxFRCkgewotCQkJb3BfZG9uZSA9IDA7Ci0JCX0gZWxzZSB7Ci0JCQlzcGluX2xvY2soJmdsLT5nbF9zcGluKTsKLQkJCWlmIChnbC0+Z2xfc3RhdGUgIT0gZ2wtPmdsX2RlbW90ZV9zdGF0ZSkgewotCQkJCXNwaW5fdW5sb2NrKCZnbC0+Z2xfc3Bpbik7Ci0JCQkJZ2ZzMl9nbG9ja19kcm9wX3RoKGdsKTsKLQkJCQlnZnMyX2dsb2NrX3B1dChnbCk7Ci0JCQkJcmV0dXJuOwotCQkJfQotCQkJZ2ZzMl9kZW1vdGVfd2FrZShnbCk7Ci0JCQlzcGluX3VubG9jaygmZ2wtPmdsX3NwaW4pOwotCQl9Ci0JfSBlbHNlIHsKLQkJc3Bpbl9sb2NrKCZnbC0+Z2xfc3Bpbik7Ci0JCWlmIChyZXQgJiBMTV9PVVRfQ09OVl9ERUFETEspIHsKLQkJCWdoLT5naF9lcnJvciA9IDA7Ci0JCQlzZXRfYml0KEdMRl9DT05WX0RFQURMSywgJmdsLT5nbF9mbGFncyk7Ci0JCQlzcGluX3VubG9jaygmZ2wtPmdsX3NwaW4pOwotCQkJZ2ZzMl9nbG9ja19kcm9wX3RoKGdsKTsKLQkJCWdmczJfZ2xvY2tfcHV0KGdsKTsKLQkJCXJldHVybjsKLQkJfQotCQlsaXN0X2RlbF9pbml0KCZnaC0+Z2hfbGlzdCk7Ci0JCWdoLT5naF9lcnJvciA9IC1FSU87Ci0JCWlmICh1bmxpa2VseSh0ZXN0X2JpdChTREZfU0hVVERPV04sICZzZHAtPnNkX2ZsYWdzKSkpIAotCQkJZ290byBvdXQ7Ci0JCWdoLT5naF9lcnJvciA9IEdMUl9DQU5DRUxFRDsKLQkJaWYgKHJldCAmIExNX09VVF9DQU5DRUxFRCkgCi0JCQlnb3RvIG91dDsKLQkJaWYgKHJlbGF4ZWRfc3RhdGVfb2soZ2wtPmdsX3N0YXRlLCBnaC0+Z2hfc3RhdGUsIGdoLT5naF9mbGFncykpIHsKLQkJCWxpc3RfYWRkX3RhaWwoJmdoLT5naF9saXN0LCAmZ2wtPmdsX2hvbGRlcnMpOwotCQkJZ2gtPmdoX2Vycm9yID0gMDsKLQkJCXNldF9iaXQoSElGX0hPTERFUiwgJmdoLT5naF9pZmxhZ3MpOwotCQkJc2V0X2JpdChISUZfRklSU1QsICZnaC0+Z2hfaWZsYWdzKTsKLQkJCW9wX2RvbmUgPSAwOwotCQkJZ290byBvdXQ7Ci0JCX0KLQkJZ2gtPmdoX2Vycm9yID0gR0xSX1RSWUZBSUxFRDsKLQkJaWYgKGdoLT5naF9mbGFncyAmIChMTV9GTEFHX1RSWSB8IExNX0ZMQUdfVFJZXzFDQikpCi0JCQlnb3RvIG91dDsKLQkJZ2gtPmdoX2Vycm9yID0gLUVJTlZBTDsKLQkJaWYgKGdmczJfYXNzZXJ0X3dpdGhkcmF3KHNkcCwgMCkgPT0gLTEpCi0JCQlmc19lcnIoc2RwLCAicmV0ID0gMHglLjhYXG4iLCByZXQpOwotb3V0OgotCQlzcGluX3VubG9jaygmZ2wtPmdsX3NwaW4pOwotCX0KLQotCWlmIChnbG9wcy0+Z29feG1vdGVfYmgpCi0JCWdsb3BzLT5nb194bW90ZV9iaChnbCk7Ci0KLQlpZiAob3BfZG9uZSkgewotCQlzcGluX2xvY2soJmdsLT5nbF9zcGluKTsKLQkJZ2wtPmdsX3JlcV9naCA9IE5VTEw7Ci0JCWNsZWFyX2JpdChHTEZfTE9DSywgJmdsLT5nbF9mbGFncyk7Ci0JCXNwaW5fdW5sb2NrKCZnbC0+Z2xfc3Bpbik7Ci0JfQotCi0JZ2ZzMl9nbG9ja19wdXQoZ2wpOwotCi0JaWYgKGdoKQotCQlnZnMyX2hvbGRlcl93YWtlKGdoKTsKLX0KLQotc3RhdGljIHVuc2lnbmVkIGludCBnZnMyX2xtX2xvY2soc3RydWN0IGdmczJfc2JkICpzZHAsIHZvaWQgKmxvY2ssCi0JCQkJIHVuc2lnbmVkIGludCBjdXJfc3RhdGUsIHVuc2lnbmVkIGludCByZXFfc3RhdGUsCi0JCQkJIHVuc2lnbmVkIGludCBmbGFncykKLXsKLQlpbnQgcmV0ID0gMDsKLQlpZiAobGlrZWx5KCF0ZXN0X2JpdChTREZfU0hVVERPV04sICZzZHAtPnNkX2ZsYWdzKSkpCi0JCXJldCA9IHNkcC0+c2RfbG9ja3N0cnVjdC5sc19vcHMtPmxtX2xvY2sobG9jaywgY3VyX3N0YXRlLAotCQkJCQkJCSByZXFfc3RhdGUsIGZsYWdzKTsKLQlyZXR1cm4gcmV0OwotfQotCi0vKioKLSAqIGdmczJfZ2xvY2tfeG1vdGVfdGggLSBDYWxsIGludG8gdGhlIGxvY2sgbW9kdWxlIHRvIGFjcXVpcmUgb3IgY2hhbmdlIGEgZ2xvY2sKLSAqIEBnbDogVGhlIGdsb2NrIGluIHF1ZXN0aW9uCi0gKiBAc3RhdGU6IHRoZSByZXF1ZXN0ZWQgc3RhdGUKLSAqIEBmbGFnczogbW9kaWZpZXIgZmxhZ3MgdG8gdGhlIGxvY2sgY2FsbAotICoKLSAqLwotCi1zdGF0aWMgdm9pZCBnZnMyX2dsb2NrX3htb3RlX3RoKHN0cnVjdCBnZnMyX2dsb2NrICpnbCwgc3RydWN0IGdmczJfaG9sZGVyICpnaCkKLXsKLQlzdHJ1Y3QgZ2ZzMl9zYmQgKnNkcCA9IGdsLT5nbF9zYmQ7Ci0JaW50IGZsYWdzID0gZ2ggPyBnaC0+Z2hfZmxhZ3MgOiAwOwotCXVuc2lnbmVkIHN0YXRlID0gZ2ggPyBnaC0+Z2hfc3RhdGUgOiBnbC0+Z2xfZGVtb3RlX3N0YXRlOwotCWNvbnN0IHN0cnVjdCBnZnMyX2dsb2NrX29wZXJhdGlvbnMgKmdsb3BzID0gZ2wtPmdsX29wczsKLQlpbnQgbGNrX2ZsYWdzID0gZmxhZ3MgJiAoTE1fRkxBR19UUlkgfCBMTV9GTEFHX1RSWV8xQ0IgfAotCQkJCSBMTV9GTEFHX05PRVhQIHwgTE1fRkxBR19BTlkgfAotCQkJCSBMTV9GTEFHX1BSSU9SSVRZKTsKLQl1bnNpZ25lZCBpbnQgbGNrX3JldDsKLQotCWlmIChnbG9wcy0+Z29feG1vdGVfdGgpCi0JCWdsb3BzLT5nb194bW90ZV90aChnbCk7Ci0JaWYgKHN0YXRlID09IExNX1NUX0RFRkVSUkVEICYmIGdsb3BzLT5nb19pbnZhbCkKLQkJZ2xvcHMtPmdvX2ludmFsKGdsLCBESU9fTUVUQURBVEEpOwotCi0JZ2ZzMl9hc3NlcnRfd2FybihzZHAsIHRlc3RfYml0KEdMRl9MT0NLLCAmZ2wtPmdsX2ZsYWdzKSk7Ci0JZ2ZzMl9hc3NlcnRfd2FybihzZHAsIGxpc3RfZW1wdHkoJmdsLT5nbF9ob2xkZXJzKSk7Ci0JZ2ZzMl9hc3NlcnRfd2FybihzZHAsIHN0YXRlICE9IExNX1NUX1VOTE9DS0VEKTsKLQlnZnMyX2Fzc2VydF93YXJuKHNkcCwgc3RhdGUgIT0gZ2wtPmdsX3N0YXRlKTsKLQotCWdmczJfZ2xvY2tfaG9sZChnbCk7Ci0KLQlsY2tfcmV0ID0gZ2ZzMl9sbV9sb2NrKHNkcCwgZ2wtPmdsX2xvY2ssIGdsLT5nbF9zdGF0ZSwgc3RhdGUsIGxja19mbGFncyk7Ci0KLQlpZiAoZ2ZzMl9hc3NlcnRfd2l0aGRyYXcoc2RwLCAhKGxja19yZXQgJiBMTV9PVVRfRVJST1IpKSkKLQkJcmV0dXJuOwotCi0JaWYgKGxja19yZXQgJiBMTV9PVVRfQVNZTkMpCi0JCWdmczJfYXNzZXJ0X3dhcm4oc2RwLCBsY2tfcmV0ID09IExNX09VVF9BU1lOQyk7Ci0JZWxzZQotCQl4bW90ZV9iaChnbCwgbGNrX3JldCk7Ci19Ci0KLXN0YXRpYyB1bnNpZ25lZCBpbnQgZ2ZzMl9sbV91bmxvY2soc3RydWN0IGdmczJfc2JkICpzZHAsIHZvaWQgKmxvY2ssCi0JCQkJICAgdW5zaWduZWQgaW50IGN1cl9zdGF0ZSkKLXsKLQlpbnQgcmV0ID0gMDsKLQlpZiAobGlrZWx5KCF0ZXN0X2JpdChTREZfU0hVVERPV04sICZzZHAtPnNkX2ZsYWdzKSkpCi0JCXJldCA9ICBzZHAtPnNkX2xvY2tzdHJ1Y3QubHNfb3BzLT5sbV91bmxvY2sobG9jaywgY3VyX3N0YXRlKTsKLQlyZXR1cm4gcmV0OwotfQotCi0vKioKLSAqIGdmczJfZ2xvY2tfZHJvcF90aCAtIGNhbGwgaW50byB0aGUgbG9jayBtb2R1bGUgdG8gdW5sb2NrIGEgbG9jawotICogQGdsOiB0aGUgZ2xvY2sKLSAqCi0gKi8KLQotc3RhdGljIHZvaWQgZ2ZzMl9nbG9ja19kcm9wX3RoKHN0cnVjdCBnZnMyX2dsb2NrICpnbCkKLXsKLQlzdHJ1Y3QgZ2ZzMl9zYmQgKnNkcCA9IGdsLT5nbF9zYmQ7Ci0JY29uc3Qgc3RydWN0IGdmczJfZ2xvY2tfb3BlcmF0aW9ucyAqZ2xvcHMgPSBnbC0+Z2xfb3BzOwotCXVuc2lnbmVkIGludCByZXQ7Ci0KLQlpZiAoZ2xvcHMtPmdvX3htb3RlX3RoKQotCQlnbG9wcy0+Z29feG1vdGVfdGgoZ2wpOwotCWlmIChnbG9wcy0+Z29faW52YWwpCi0JCWdsb3BzLT5nb19pbnZhbChnbCwgRElPX01FVEFEQVRBKTsKLQotCWdmczJfYXNzZXJ0X3dhcm4oc2RwLCB0ZXN0X2JpdChHTEZfTE9DSywgJmdsLT5nbF9mbGFncykpOwotCWdmczJfYXNzZXJ0X3dhcm4oc2RwLCBsaXN0X2VtcHR5KCZnbC0+Z2xfaG9sZGVycykpOwotCWdmczJfYXNzZXJ0X3dhcm4oc2RwLCBnbC0+Z2xfc3RhdGUgIT0gTE1fU1RfVU5MT0NLRUQpOwotCi0JZ2ZzMl9nbG9ja19ob2xkKGdsKTsKLQotCXJldCA9IGdmczJfbG1fdW5sb2NrKHNkcCwgZ2wtPmdsX2xvY2ssIGdsLT5nbF9zdGF0ZSk7Ci0KLQlpZiAoZ2ZzMl9hc3NlcnRfd2l0aGRyYXcoc2RwLCAhKHJldCAmIExNX09VVF9FUlJPUikpKQotCQlyZXR1cm47Ci0KLQlpZiAoIXJldCkKLQkJZHJvcF9iaChnbCwgcmV0KTsKLQllbHNlCi0JCWdmczJfYXNzZXJ0X3dhcm4oc2RwLCByZXQgPT0gTE1fT1VUX0FTWU5DKTsKLX0KLQotLyoqCi0gKiBkb19jYW5jZWxzIC0gY2FuY2VsIHJlcXVlc3RzIGZvciBsb2NrcyBzdHVjayB3YWl0aW5nIG9uIGFuIGV4cGlyZSBmbGFnCi0gKiBAZ2g6IHRoZSBMTV9GTEFHX1BSSU9SSVRZIGhvbGRlciB3YWl0aW5nIHRvIGFjcXVpcmUgdGhlIGxvY2sKLSAqCi0gKiBEb24ndCBjYW5jZWwgR0xfTk9DQU5DRUwgcmVxdWVzdHMuCi0gKi8KLQotc3RhdGljIHZvaWQgZG9fY2FuY2VscyhzdHJ1Y3QgZ2ZzMl9ob2xkZXIgKmdoKQotewotCXN0cnVjdCBnZnMyX2dsb2NrICpnbCA9IGdoLT5naF9nbDsKLQlzdHJ1Y3QgZ2ZzMl9zYmQgKnNkcCA9IGdsLT5nbF9zYmQ7Ci0KLQlzcGluX2xvY2soJmdsLT5nbF9zcGluKTsKLQotCXdoaWxlIChnbC0+Z2xfcmVxX2doICE9IGdoICYmCi0JICAgICAgICF0ZXN0X2JpdChISUZfSE9MREVSLCAmZ2gtPmdoX2lmbGFncykgJiYKLQkgICAgICAgIWxpc3RfZW1wdHkoJmdoLT5naF9saXN0KSkgewotCQlpZiAoIShnbC0+Z2xfcmVxX2doICYmIChnbC0+Z2xfcmVxX2doLT5naF9mbGFncyAmIEdMX05PQ0FOQ0VMKSkpIHsKLQkJCXNwaW5fdW5sb2NrKCZnbC0+Z2xfc3Bpbik7Ci0JCQlpZiAobGlrZWx5KCF0ZXN0X2JpdChTREZfU0hVVERPV04sICZzZHAtPnNkX2ZsYWdzKSkpCi0JCQkJc2RwLT5zZF9sb2Nrc3RydWN0LmxzX29wcy0+bG1fY2FuY2VsKGdsLT5nbF9sb2NrKTsKLQkJCW1zbGVlcCgxMDApOwotCQkJc3Bpbl9sb2NrKCZnbC0+Z2xfc3Bpbik7Ci0JCX0gZWxzZSB7Ci0JCQlzcGluX3VubG9jaygmZ2wtPmdsX3NwaW4pOwotCQkJbXNsZWVwKDEwMCk7Ci0JCQlzcGluX2xvY2soJmdsLT5nbF9zcGluKTsKLQkJfQotCX0KLQotCXNwaW5fdW5sb2NrKCZnbC0+Z2xfc3Bpbik7Ci19Ci0KLS8qKgotICogZ2xvY2tfd2FpdF9pbnRlcm5hbCAtIHdhaXQgb24gYSBnbG9jayBhY3F1aXNpdGlvbgorICogZ2ZzMl9nbG9ja193YWl0IC0gd2FpdCBvbiBhIGdsb2NrIGFjcXVpc2l0aW9uCiAgKiBAZ2g6IHRoZSBnbG9jayBob2xkZXIKICAqCiAgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MKICAqLwogCi1zdGF0aWMgaW50IGdsb2NrX3dhaXRfaW50ZXJuYWwoc3RydWN0IGdmczJfaG9sZGVyICpnaCkKK2ludCBnZnMyX2dsb2NrX3dhaXQoc3RydWN0IGdmczJfaG9sZGVyICpnaCkKIHsKLQlzdHJ1Y3QgZ2ZzMl9nbG9jayAqZ2wgPSBnaC0+Z2hfZ2w7Ci0Jc3RydWN0IGdmczJfc2JkICpzZHAgPSBnbC0+Z2xfc2JkOwotCWNvbnN0IHN0cnVjdCBnZnMyX2dsb2NrX29wZXJhdGlvbnMgKmdsb3BzID0gZ2wtPmdsX29wczsKLQotCWlmICh0ZXN0X2JpdChISUZfQUJPUlRFRCwgJmdoLT5naF9pZmxhZ3MpKQotCQlyZXR1cm4gLUVJTzsKLQotCWlmIChnaC0+Z2hfZmxhZ3MgJiAoTE1fRkxBR19UUlkgfCBMTV9GTEFHX1RSWV8xQ0IpKSB7Ci0JCXNwaW5fbG9jaygmZ2wtPmdsX3NwaW4pOwotCQlpZiAoZ2wtPmdsX3JlcV9naCAhPSBnaCAmJgotCQkgICAgIXRlc3RfYml0KEhJRl9IT0xERVIsICZnaC0+Z2hfaWZsYWdzKSAmJgotCQkgICAgIWxpc3RfZW1wdHkoJmdoLT5naF9saXN0KSkgewotCQkJbGlzdF9kZWxfaW5pdCgmZ2gtPmdoX2xpc3QpOwotCQkJZ2gtPmdoX2Vycm9yID0gR0xSX1RSWUZBSUxFRDsKLQkJCXJ1bl9xdWV1ZShnbCk7Ci0JCQlzcGluX3VubG9jaygmZ2wtPmdsX3NwaW4pOwotCQkJcmV0dXJuIGdoLT5naF9lcnJvcjsKLQkJfQotCQlzcGluX3VubG9jaygmZ2wtPmdsX3NwaW4pOwotCX0KLQotCWlmIChnaC0+Z2hfZmxhZ3MgJiBMTV9GTEFHX1BSSU9SSVRZKQotCQlkb19jYW5jZWxzKGdoKTsKLQogCXdhaXRfb25faG9sZGVyKGdoKTsKLQlpZiAoZ2gtPmdoX2Vycm9yKQotCQlyZXR1cm4gZ2gtPmdoX2Vycm9yOwotCi0JZ2ZzMl9hc3NlcnRfd2l0aGRyYXcoc2RwLCB0ZXN0X2JpdChISUZfSE9MREVSLCAmZ2gtPmdoX2lmbGFncykpOwotCWdmczJfYXNzZXJ0X3dpdGhkcmF3KHNkcCwgcmVsYXhlZF9zdGF0ZV9vayhnbC0+Z2xfc3RhdGUsIGdoLT5naF9zdGF0ZSwKLQkJCQkJCSAgIGdoLT5naF9mbGFncykpOwotCi0JaWYgKHRlc3RfYml0KEhJRl9GSVJTVCwgJmdoLT5naF9pZmxhZ3MpKSB7Ci0JCWdmczJfYXNzZXJ0X3dhcm4oc2RwLCB0ZXN0X2JpdChHTEZfTE9DSywgJmdsLT5nbF9mbGFncykpOwotCi0JCWlmIChnbG9wcy0+Z29fbG9jaykgewotCQkJZ2gtPmdoX2Vycm9yID0gZ2xvcHMtPmdvX2xvY2soZ2gpOwotCQkJaWYgKGdoLT5naF9lcnJvcikgewotCQkJCXNwaW5fbG9jaygmZ2wtPmdsX3NwaW4pOwotCQkJCWxpc3RfZGVsX2luaXQoJmdoLT5naF9saXN0KTsKLQkJCQlzcGluX3VubG9jaygmZ2wtPmdsX3NwaW4pOwotCQkJfQotCQl9Ci0KLQkJc3Bpbl9sb2NrKCZnbC0+Z2xfc3Bpbik7Ci0JCWdsLT5nbF9yZXFfZ2ggPSBOVUxMOwotCQljbGVhcl9iaXQoR0xGX0xPQ0ssICZnbC0+Z2xfZmxhZ3MpOwotCQlydW5fcXVldWUoZ2wpOwotCQlzcGluX3VubG9jaygmZ2wtPmdsX3NwaW4pOwotCX0KLQogCXJldHVybiBnaC0+Z2hfZXJyb3I7CiB9CiAKLXN0YXRpYyBpbmxpbmUgc3RydWN0IGdmczJfaG9sZGVyICoKLWZpbmRfaG9sZGVyX2J5X293bmVyKHN0cnVjdCBsaXN0X2hlYWQgKmhlYWQsIHN0cnVjdCBwaWQgKnBpZCkKLXsKLQlzdHJ1Y3QgZ2ZzMl9ob2xkZXIgKmdoOwotCi0JbGlzdF9mb3JfZWFjaF9lbnRyeShnaCwgaGVhZCwgZ2hfbGlzdCkgewotCQlpZiAoZ2gtPmdoX293bmVyX3BpZCA9PSBwaWQpCi0JCQlyZXR1cm4gZ2g7Ci0JfQotCi0JcmV0dXJuIE5VTEw7Ci19Ci0KLXN0YXRpYyB2b2lkIHByaW50X2RiZyhzdHJ1Y3QgZ2xvY2tfaXRlciAqZ2ksIGNvbnN0IGNoYXIgKmZtdCwgLi4uKQordm9pZCBnZnMyX3ByaW50X2RiZyhzdHJ1Y3Qgc2VxX2ZpbGUgKnNlcSwgY29uc3QgY2hhciAqZm10LCAuLi4pCiB7CiAJdmFfbGlzdCBhcmdzOwogCiAJdmFfc3RhcnQoYXJncywgZm10KTsKLQlpZiAoZ2kpIHsKKwlpZiAoc2VxKSB7CisJCXN0cnVjdCBnZnMyX2dsb2NrX2l0ZXIgKmdpID0gc2VxLT5wcml2YXRlOwogCQl2c3ByaW50ZihnaS0+c3RyaW5nLCBmbXQsIGFyZ3MpOwotCQlzZXFfcHJpbnRmKGdpLT5zZXEsIGdpLT5zdHJpbmcpOwotCX0KLQllbHNlCisJCXNlcV9wcmludGYoc2VxLCBnaS0+c3RyaW5nKTsKKwl9IGVsc2UgeworCQlwcmludGsoS0VSTl9FUlIgIiAiKTsKIAkJdnByaW50ayhmbXQsIGFyZ3MpOworCX0KIAl2YV9lbmQoYXJncyk7CiB9CiAKQEAgLTExMDQsNTAgKzg3MCw3NiBAQAogICogYWRkX3RvX3F1ZXVlIC0gQWRkIGEgaG9sZGVyIHRvIHRoZSB3YWl0IHF1ZXVlIChidXQgbG9vayBmb3IgcmVjdXJzaW9uKQogICogQGdoOiB0aGUgaG9sZGVyIHN0cnVjdHVyZSB0byBhZGQKICAqCisgKiBFdmVudHVhbGx5IHdlIHNob3VsZCBtb3ZlIHRoZSByZWN1cnNpdmUgbG9ja2luZyB0cmFwIHRvIGEKKyAqIGRlYnVnZ2luZyBvcHRpb24gb3Igc29tZXRoaW5nIGxpa2UgdGhhdC4gVGhpcyBpcyB0aGUgZmFzdAorICogcGF0aCBhbmQgbmVlZHMgdG8gaGF2ZSB0aGUgbWluaW11bSBudW1iZXIgb2YgZGlzdHJhY3Rpb25zLgorICogCiAgKi8KIAotc3RhdGljIHZvaWQgYWRkX3RvX3F1ZXVlKHN0cnVjdCBnZnMyX2hvbGRlciAqZ2gpCitzdGF0aWMgaW5saW5lIHZvaWQgYWRkX3RvX3F1ZXVlKHN0cnVjdCBnZnMyX2hvbGRlciAqZ2gpCiB7CiAJc3RydWN0IGdmczJfZ2xvY2sgKmdsID0gZ2gtPmdoX2dsOwotCXN0cnVjdCBnZnMyX2hvbGRlciAqZXhpc3Rpbmc7CisJc3RydWN0IGdmczJfc2JkICpzZHAgPSBnbC0+Z2xfc2JkOworCXN0cnVjdCBsaXN0X2hlYWQgKmluc2VydF9wdCA9IE5VTEw7CisJc3RydWN0IGdmczJfaG9sZGVyICpnaDI7CisJaW50IHRyeV9sb2NrID0gMDsKIAogCUJVR19PTihnaC0+Z2hfb3duZXJfcGlkID09IE5VTEwpOwogCWlmICh0ZXN0X2FuZF9zZXRfYml0KEhJRl9XQUlULCAmZ2gtPmdoX2lmbGFncykpCiAJCUJVRygpOwogCi0JaWYgKCEoZ2gtPmdoX2ZsYWdzICYgR0xfRkxPQ0spKSB7Ci0JCWV4aXN0aW5nID0gZmluZF9ob2xkZXJfYnlfb3duZXIoJmdsLT5nbF9ob2xkZXJzLCAKLQkJCQkJCWdoLT5naF9vd25lcl9waWQpOwotCQlpZiAoZXhpc3RpbmcpIHsKLQkJCXByaW50X3N5bWJvbChLRVJOX1dBUk5JTkcgIm9yaWdpbmFsOiAlc1xuIiwgCi0JCQkJICAgICBleGlzdGluZy0+Z2hfaXApOwotCQkJcHJpbnRrKEtFUk5fSU5GTyAicGlkIDogJWRcbiIsCi0JCQkJCXBpZF9ucihleGlzdGluZy0+Z2hfb3duZXJfcGlkKSk7Ci0JCQlwcmludGsoS0VSTl9JTkZPICJsb2NrIHR5cGUgOiAlZCBsb2NrIHN0YXRlIDogJWRcbiIsCi0JCQkgICAgICAgZXhpc3RpbmctPmdoX2dsLT5nbF9uYW1lLmxuX3R5cGUsIAotCQkJICAgICAgIGV4aXN0aW5nLT5naF9nbC0+Z2xfc3RhdGUpOwotCQkJcHJpbnRfc3ltYm9sKEtFUk5fV0FSTklORyAibmV3OiAlc1xuIiwgZ2gtPmdoX2lwKTsKLQkJCXByaW50ayhLRVJOX0lORk8gInBpZCA6ICVkXG4iLAotCQkJCQlwaWRfbnIoZ2gtPmdoX293bmVyX3BpZCkpOwotCQkJcHJpbnRrKEtFUk5fSU5GTyAibG9jayB0eXBlIDogJWQgbG9jayBzdGF0ZSA6ICVkXG4iLAotCQkJICAgICAgIGdsLT5nbF9uYW1lLmxuX3R5cGUsIGdsLT5nbF9zdGF0ZSk7Ci0JCQlCVUcoKTsKLQkJfQotCQkKLQkJZXhpc3RpbmcgPSBmaW5kX2hvbGRlcl9ieV9vd25lcigmZ2wtPmdsX3dhaXRlcnMzLCAKLQkJCQkJCWdoLT5naF9vd25lcl9waWQpOwotCQlpZiAoZXhpc3RpbmcpIHsKLQkJCXByaW50X3N5bWJvbChLRVJOX1dBUk5JTkcgIm9yaWdpbmFsOiAlc1xuIiwgCi0JCQkJICAgICBleGlzdGluZy0+Z2hfaXApOwotCQkJcHJpbnRfc3ltYm9sKEtFUk5fV0FSTklORyAibmV3OiAlc1xuIiwgZ2gtPmdoX2lwKTsKLQkJCUJVRygpOwotCQl9CisJaWYgKGdoLT5naF9mbGFncyAmIChMTV9GTEFHX1RSWSB8IExNX0ZMQUdfVFJZXzFDQikpIHsKKwkJaWYgKHRlc3RfYml0KEdMRl9MT0NLLCAmZ2wtPmdsX2ZsYWdzKSkKKwkJCXRyeV9sb2NrID0gMTsKKwkJaWYgKHRlc3RfYml0KEdMRl9JTlZBTElEQVRFX0lOX1BST0dSRVNTLCAmZ2wtPmdsX2ZsYWdzKSkKKwkJCWdvdG8gZmFpbDsKIAl9CiAKLQlpZiAoZ2gtPmdoX2ZsYWdzICYgTE1fRkxBR19QUklPUklUWSkKLQkJbGlzdF9hZGQoJmdoLT5naF9saXN0LCAmZ2wtPmdsX3dhaXRlcnMzKTsKLQllbHNlCi0JCWxpc3RfYWRkX3RhaWwoJmdoLT5naF9saXN0LCAmZ2wtPmdsX3dhaXRlcnMzKTsKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5KGdoMiwgJmdsLT5nbF9ob2xkZXJzLCBnaF9saXN0KSB7CisJCWlmICh1bmxpa2VseShnaDItPmdoX293bmVyX3BpZCA9PSBnaC0+Z2hfb3duZXJfcGlkICYmCisJCSAgICAoZ2gtPmdoX2dsLT5nbF9vcHMtPmdvX3R5cGUgIT0gTE1fVFlQRV9GTE9DSykpKQorCQkJZ290byB0cmFwX3JlY3Vyc2l2ZTsKKwkJaWYgKHRyeV9sb2NrICYmCisJCSAgICAhKGdoMi0+Z2hfZmxhZ3MgJiAoTE1fRkxBR19UUlkgfCBMTV9GTEFHX1RSWV8xQ0IpKSAmJgorCQkgICAgIW1heV9ncmFudChnbCwgZ2gpKSB7CitmYWlsOgorCQkJZ2gtPmdoX2Vycm9yID0gR0xSX1RSWUZBSUxFRDsKKwkJCWdmczJfaG9sZGVyX3dha2UoZ2gpOworCQkJcmV0dXJuOworCQl9CisJCWlmICh0ZXN0X2JpdChISUZfSE9MREVSLCAmZ2gyLT5naF9pZmxhZ3MpKQorCQkJY29udGludWU7CisJCWlmICh1bmxpa2VseSgoZ2gtPmdoX2ZsYWdzICYgTE1fRkxBR19QUklPUklUWSkgJiYgIWluc2VydF9wdCkpCisJCQlpbnNlcnRfcHQgPSAmZ2gyLT5naF9saXN0OworCX0KKwlpZiAobGlrZWx5KGluc2VydF9wdCA9PSBOVUxMKSkgeworCQlsaXN0X2FkZF90YWlsKCZnaC0+Z2hfbGlzdCwgJmdsLT5nbF9ob2xkZXJzKTsKKwkJaWYgKHVubGlrZWx5KGdoLT5naF9mbGFncyAmIExNX0ZMQUdfUFJJT1JJVFkpKQorCQkJZ290byBkb19jYW5jZWw7CisJCXJldHVybjsKKwl9CisJbGlzdF9hZGRfdGFpbCgmZ2gtPmdoX2xpc3QsIGluc2VydF9wdCk7Citkb19jYW5jZWw6CisJZ2ggPSBsaXN0X2VudHJ5KGdsLT5nbF9ob2xkZXJzLm5leHQsIHN0cnVjdCBnZnMyX2hvbGRlciwgZ2hfbGlzdCk7CisJaWYgKCEoZ2gtPmdoX2ZsYWdzICYgTE1fRkxBR19QUklPUklUWSkpIHsKKwkJc3Bpbl91bmxvY2soJmdsLT5nbF9zcGluKTsKKwkJaWYgKHNkcC0+c2RfbG9ja3N0cnVjdC5sc19vcHMtPmxtX2NhbmNlbCkKKwkJCXNkcC0+c2RfbG9ja3N0cnVjdC5sc19vcHMtPmxtX2NhbmNlbChnbC0+Z2xfbG9jayk7CisJCXNwaW5fbG9jaygmZ2wtPmdsX3NwaW4pOworCX0KKwlyZXR1cm47CisKK3RyYXBfcmVjdXJzaXZlOgorCXByaW50X3N5bWJvbChLRVJOX0VSUiAib3JpZ2luYWw6ICVzXG4iLCBnaDItPmdoX2lwKTsKKwlwcmludGsoS0VSTl9FUlIgInBpZDogJWRcbiIsIHBpZF9ucihnaDItPmdoX293bmVyX3BpZCkpOworCXByaW50ayhLRVJOX0VSUiAibG9jayB0eXBlOiAlZCByZXEgbG9jayBzdGF0ZSA6ICVkXG4iLAorCSAgICAgICBnaDItPmdoX2dsLT5nbF9uYW1lLmxuX3R5cGUsIGdoMi0+Z2hfc3RhdGUpOworCXByaW50X3N5bWJvbChLRVJOX0VSUiAibmV3OiAlc1xuIiwgZ2gtPmdoX2lwKTsKKwlwcmludGsoS0VSTl9FUlIgInBpZDogJWRcbiIsIHBpZF9ucihnaC0+Z2hfb3duZXJfcGlkKSk7CisJcHJpbnRrKEtFUk5fRVJSICJsb2NrIHR5cGU6ICVkIHJlcSBsb2NrIHN0YXRlIDogJWRcbiIsCisJICAgICAgIGdoLT5naF9nbC0+Z2xfbmFtZS5sbl90eXBlLCBnaC0+Z2hfc3RhdGUpOworCV9fZHVtcF9nbG9jayhOVUxMLCBnbCk7CisJQlVHKCk7CiB9CiAKIC8qKgpAQCAtMTE2NSwyNCArOTU3LDE2IEBACiAJc3RydWN0IGdmczJfc2JkICpzZHAgPSBnbC0+Z2xfc2JkOwogCWludCBlcnJvciA9IDA7CiAKLXJlc3RhcnQ6Ci0JaWYgKHVubGlrZWx5KHRlc3RfYml0KFNERl9TSFVURE9XTiwgJnNkcC0+c2RfZmxhZ3MpKSkgewotCQlzZXRfYml0KEhJRl9BQk9SVEVELCAmZ2gtPmdoX2lmbGFncyk7CisJaWYgKHVubGlrZWx5KHRlc3RfYml0KFNERl9TSFVURE9XTiwgJnNkcC0+c2RfZmxhZ3MpKSkKIAkJcmV0dXJuIC1FSU87Ci0JfQogCiAJc3Bpbl9sb2NrKCZnbC0+Z2xfc3Bpbik7CiAJYWRkX3RvX3F1ZXVlKGdoKTsKLQlydW5fcXVldWUoZ2wpOworCXJ1bl9xdWV1ZShnbCwgMSk7CiAJc3Bpbl91bmxvY2soJmdsLT5nbF9zcGluKTsKIAotCWlmICghKGdoLT5naF9mbGFncyAmIEdMX0FTWU5DKSkgewotCQllcnJvciA9IGdsb2NrX3dhaXRfaW50ZXJuYWwoZ2gpOwotCQlpZiAoZXJyb3IgPT0gR0xSX0NBTkNFTEVEKSB7Ci0JCQltc2xlZXAoMTAwKTsKLQkJCWdvdG8gcmVzdGFydDsKLQkJfQotCX0KKwlpZiAoIShnaC0+Z2hfZmxhZ3MgJiBHTF9BU1lOQykpCisJCWVycm9yID0gZ2ZzMl9nbG9ja193YWl0KGdoKTsKIAogCXJldHVybiBlcnJvcjsKIH0KQEAgLTExOTYsNDggKzk4MCw3IEBACiAKIGludCBnZnMyX2dsb2NrX3BvbGwoc3RydWN0IGdmczJfaG9sZGVyICpnaCkKIHsKLQlzdHJ1Y3QgZ2ZzMl9nbG9jayAqZ2wgPSBnaC0+Z2hfZ2w7Ci0JaW50IHJlYWR5ID0gMDsKLQotCXNwaW5fbG9jaygmZ2wtPmdsX3NwaW4pOwotCi0JaWYgKHRlc3RfYml0KEhJRl9IT0xERVIsICZnaC0+Z2hfaWZsYWdzKSkKLQkJcmVhZHkgPSAxOwotCWVsc2UgaWYgKGxpc3RfZW1wdHkoJmdoLT5naF9saXN0KSkgewotCQlpZiAoZ2gtPmdoX2Vycm9yID09IEdMUl9DQU5DRUxFRCkgewotCQkJc3Bpbl91bmxvY2soJmdsLT5nbF9zcGluKTsKLQkJCW1zbGVlcCgxMDApOwotCQkJaWYgKGdmczJfZ2xvY2tfbnEoZ2gpKQotCQkJCXJldHVybiAxOwotCQkJcmV0dXJuIDA7Ci0JCX0gZWxzZQotCQkJcmVhZHkgPSAxOwotCX0KLQotCXNwaW5fdW5sb2NrKCZnbC0+Z2xfc3Bpbik7Ci0KLQlyZXR1cm4gcmVhZHk7Ci19Ci0KLS8qKgotICogZ2ZzMl9nbG9ja193YWl0IC0gd2FpdCBmb3IgYSBsb2NrIGFjcXVpc2l0aW9uIHRoYXQgZW5kZWQgaW4gYSBHTFJfQVNZTkMKLSAqIEBnaDogdGhlIGhvbGRlciBzdHJ1Y3R1cmUKLSAqCi0gKiBSZXR1cm5zOiAwLCBHTFJfVFJZRkFJTEVELCBvciBlcnJubyBvbiBmYWlsdXJlCi0gKi8KLQotaW50IGdmczJfZ2xvY2tfd2FpdChzdHJ1Y3QgZ2ZzMl9ob2xkZXIgKmdoKQotewotCWludCBlcnJvcjsKLQotCWVycm9yID0gZ2xvY2tfd2FpdF9pbnRlcm5hbChnaCk7Ci0JaWYgKGVycm9yID09IEdMUl9DQU5DRUxFRCkgewotCQltc2xlZXAoMTAwKTsKLQkJZ2gtPmdoX2ZsYWdzICY9IH5HTF9BU1lOQzsKLQkJZXJyb3IgPSBnZnMyX2dsb2NrX25xKGdoKTsKLQl9Ci0KLQlyZXR1cm4gZXJyb3I7CisJcmV0dXJuIHRlc3RfYml0KEhJRl9XQUlULCAmZ2gtPmdoX2lmbGFncykgPyAwIDogMTsKIH0KIAogLyoqCkBAIC0xMjUxLDI2ICs5OTQsMzAgQEAKIAlzdHJ1Y3QgZ2ZzMl9nbG9jayAqZ2wgPSBnaC0+Z2hfZ2w7CiAJY29uc3Qgc3RydWN0IGdmczJfZ2xvY2tfb3BlcmF0aW9ucyAqZ2xvcHMgPSBnbC0+Z2xfb3BzOwogCXVuc2lnbmVkIGRlbGF5ID0gMDsKKwlpbnQgZmFzdF9wYXRoID0gMDsKIAorCXNwaW5fbG9jaygmZ2wtPmdsX3NwaW4pOwogCWlmIChnaC0+Z2hfZmxhZ3MgJiBHTF9OT0NBQ0hFKQogCQloYW5kbGVfY2FsbGJhY2soZ2wsIExNX1NUX1VOTE9DS0VELCAwLCAwKTsKIAotCWdmczJfZ2xtdXRleF9sb2NrKGdsKTsKLQotCXNwaW5fbG9jaygmZ2wtPmdsX3NwaW4pOwogCWxpc3RfZGVsX2luaXQoJmdoLT5naF9saXN0KTsKLQotCWlmIChsaXN0X2VtcHR5KCZnbC0+Z2xfaG9sZGVycykpIHsKKwlpZiAoZmluZF9maXJzdF9ob2xkZXIoZ2wpID09IE5VTEwpIHsKIAkJaWYgKGdsb3BzLT5nb191bmxvY2spIHsKKwkJCUdMT0NLX0JVR19PTihnbCwgdGVzdF9hbmRfc2V0X2JpdChHTEZfTE9DSywgJmdsLT5nbF9mbGFncykpOwogCQkJc3Bpbl91bmxvY2soJmdsLT5nbF9zcGluKTsKIAkJCWdsb3BzLT5nb191bmxvY2soZ2gpOwogCQkJc3Bpbl9sb2NrKCZnbC0+Z2xfc3Bpbik7CisJCQljbGVhcl9iaXQoR0xGX0xPQ0ssICZnbC0+Z2xfZmxhZ3MpOwogCQl9CiAJCWdsLT5nbF9zdGFtcCA9IGppZmZpZXM7CisJCWlmIChsaXN0X2VtcHR5KCZnbC0+Z2xfaG9sZGVycykgJiYKKwkJICAgICF0ZXN0X2JpdChHTEZfUEVORElOR19ERU1PVEUsICZnbC0+Z2xfZmxhZ3MpICYmCisJCSAgICAhdGVzdF9iaXQoR0xGX0RFTU9URSwgJmdsLT5nbF9mbGFncykpCisJCQlmYXN0X3BhdGggPSAxOwogCX0KLQotCWNsZWFyX2JpdChHTEZfTE9DSywgJmdsLT5nbF9mbGFncyk7CiAJc3Bpbl91bmxvY2soJmdsLT5nbF9zcGluKTsKKwlpZiAobGlrZWx5KGZhc3RfcGF0aCkpCisJCXJldHVybjsKIAogCWdmczJfZ2xvY2tfaG9sZChnbCk7CiAJaWYgKHRlc3RfYml0KEdMRl9QRU5ESU5HX0RFTU9URSwgJmdsLT5nbF9mbGFncykgJiYKQEAgLTE0NTQsNiArMTIwMSw4IEBACiBzdGF0aWMgaW50IGdmczJfbG1faG9sZF9sdmIoc3RydWN0IGdmczJfc2JkICpzZHAsIHZvaWQgKmxvY2ssIGNoYXIgKipsdmJwKQogewogCWludCBlcnJvciA9IC1FSU87CisJaWYgKCFzZHAtPnNkX2xvY2tzdHJ1Y3QubHNfb3BzLT5sbV9ob2xkX2x2YikKKwkJcmV0dXJuIDA7CiAJaWYgKGxpa2VseSghdGVzdF9iaXQoU0RGX1NIVVRET1dOLCAmc2RwLT5zZF9mbGFncykpKQogCQllcnJvciA9IHNkcC0+c2RfbG9ja3N0cnVjdC5sc19vcHMtPmxtX2hvbGRfbHZiKGxvY2ssIGx2YnApOwogCXJldHVybiBlcnJvcjsKQEAgLTE0NjksMjAgKzEyMTgsMTQgQEAKIHsKIAlpbnQgZXJyb3I7CiAKLQlnZnMyX2dsbXV0ZXhfbG9jayhnbCk7Ci0KIAlpZiAoIWF0b21pY19yZWFkKCZnbC0+Z2xfbHZiX2NvdW50KSkgewogCQllcnJvciA9IGdmczJfbG1faG9sZF9sdmIoZ2wtPmdsX3NiZCwgZ2wtPmdsX2xvY2ssICZnbC0+Z2xfbHZiKTsKLQkJaWYgKGVycm9yKSB7Ci0JCQlnZnMyX2dsbXV0ZXhfdW5sb2NrKGdsKTsKKwkJaWYgKGVycm9yKSAKIAkJCXJldHVybiBlcnJvcjsKLQkJfQogCQlnZnMyX2dsb2NrX2hvbGQoZ2wpOwogCX0KIAlhdG9taWNfaW5jKCZnbC0+Z2xfbHZiX2NvdW50KTsKIAotCWdmczJfZ2xtdXRleF91bmxvY2soZ2wpOwotCiAJcmV0dXJuIDA7CiB9CiAKQEAgLTE0OTcsMTcgKzEyNDAsMTMgQEAKIAlzdHJ1Y3QgZ2ZzMl9zYmQgKnNkcCA9IGdsLT5nbF9zYmQ7CiAKIAlnZnMyX2dsb2NrX2hvbGQoZ2wpOwotCWdmczJfZ2xtdXRleF9sb2NrKGdsKTsKLQogCWdmczJfYXNzZXJ0KGdsLT5nbF9zYmQsIGF0b21pY19yZWFkKCZnbC0+Z2xfbHZiX2NvdW50KSA+IDApOwogCWlmIChhdG9taWNfZGVjX2FuZF90ZXN0KCZnbC0+Z2xfbHZiX2NvdW50KSkgewotCQlpZiAobGlrZWx5KCF0ZXN0X2JpdChTREZfU0hVVERPV04sICZzZHAtPnNkX2ZsYWdzKSkpCisJCWlmIChzZHAtPnNkX2xvY2tzdHJ1Y3QubHNfb3BzLT5sbV91bmhvbGRfbHZiKQogCQkJc2RwLT5zZF9sb2Nrc3RydWN0LmxzX29wcy0+bG1fdW5ob2xkX2x2YihnbC0+Z2xfbG9jaywgZ2wtPmdsX2x2Yik7CiAJCWdsLT5nbF9sdmIgPSBOVUxMOwogCQlnZnMyX2dsb2NrX3B1dChnbCk7CiAJfQotCi0JZ2ZzMl9nbG11dGV4X3VubG9jayhnbCk7CiAJZ2ZzMl9nbG9ja19wdXQoZ2wpOwogfQogCkBAIC0xNTI3LDcgKzEyNjYsOSBAQAogCWlmICh0aW1lX2JlZm9yZShub3csIGhvbGR0aW1lKSkKIAkJZGVsYXkgPSBob2xkdGltZSAtIG5vdzsKIAorCXNwaW5fbG9jaygmZ2wtPmdsX3NwaW4pOwogCWhhbmRsZV9jYWxsYmFjayhnbCwgc3RhdGUsIDEsIGRlbGF5KTsKKwlzcGluX3VubG9jaygmZ2wtPmdsX3NwaW4pOwogCWlmIChxdWV1ZV9kZWxheWVkX3dvcmsoZ2xvY2tfd29ya3F1ZXVlLCAmZ2wtPmdsX3dvcmssIGRlbGF5KSA9PSAwKQogCQlnZnMyX2dsb2NrX3B1dChnbCk7CiB9CkBAIC0xNTY4LDcgKzEzMDksOCBAQAogCQlnbCA9IGdmczJfZ2xvY2tfZmluZChzZHAsICZhc3luYy0+bGNfbmFtZSk7CiAJCWlmIChnZnMyX2Fzc2VydF93YXJuKHNkcCwgZ2wpKQogCQkJcmV0dXJuOwotCQl4bW90ZV9iaChnbCwgYXN5bmMtPmxjX3JldCk7CisJCWdsLT5nbF9yZXBseSA9IGFzeW5jLT5sY19yZXQ7CisJCXNldF9iaXQoR0xGX1JFUExZX1BFTkRJTkcsICZnbC0+Z2xfZmxhZ3MpOwogCQlpZiAocXVldWVfZGVsYXllZF93b3JrKGdsb2NrX3dvcmtxdWV1ZSwgJmdsLT5nbF93b3JrLCAwKSA9PSAwKQogCQkJZ2ZzMl9nbG9ja19wdXQoZ2wpOwogCQl1cF9yZWFkKCZnZnMyX3Vtb3VudF9mbHVzaF9zZW0pOwpAQCAtMTU4MSwxMSArMTMyMyw2IEBACiAJCQl3YWtlX3VwX3Byb2Nlc3Moc2RwLT5zZF9yZWNvdmVyZF9wcm9jZXNzKTsKIAkJcmV0dXJuOwogCi0JY2FzZSBMTV9DQl9EUk9QTE9DS1M6Ci0JCWdmczJfZ2xfaGFzaF9jbGVhcihzZHAsIE5PX1dBSVQpOwotCQlnZnMyX3F1b3RhX3NjYW4oc2RwKTsKLQkJcmV0dXJuOwotCiAJZGVmYXVsdDoKIAkJZ2ZzMl9hc3NlcnRfd2FybihzZHAsIDApOwogCQlyZXR1cm47CkBAIC0xNjQ2LDYgKzEzODMsNyBAQAogdm9pZCBnZnMyX3JlY2xhaW1fZ2xvY2soc3RydWN0IGdmczJfc2JkICpzZHApCiB7CiAJc3RydWN0IGdmczJfZ2xvY2sgKmdsOworCWludCBkb25lX2NhbGxiYWNrID0gMDsKIAogCXNwaW5fbG9jaygmc2RwLT5zZF9yZWNsYWltX2xvY2spOwogCWlmIChsaXN0X2VtcHR5KCZzZHAtPnNkX3JlY2xhaW1fbGlzdCkpIHsKQEAgLTE2NjAsMTQgKzEzOTgsMTYgQEAKIAlhdG9taWNfZGVjKCZzZHAtPnNkX3JlY2xhaW1fY291bnQpOwogCWF0b21pY19pbmMoJnNkcC0+c2RfcmVjbGFpbWVkKTsKIAotCWlmIChnZnMyX2dsbXV0ZXhfdHJ5bG9jayhnbCkpIHsKLQkJaWYgKGxpc3RfZW1wdHkoJmdsLT5nbF9ob2xkZXJzKSAmJgotCQkgICAgZ2wtPmdsX3N0YXRlICE9IExNX1NUX1VOTE9DS0VEICYmIGRlbW90ZV9vayhnbCkpCi0JCQloYW5kbGVfY2FsbGJhY2soZ2wsIExNX1NUX1VOTE9DS0VELCAwLCAwKTsKLQkJZ2ZzMl9nbG11dGV4X3VubG9jayhnbCk7CisJc3Bpbl9sb2NrKCZnbC0+Z2xfc3Bpbik7CisJaWYgKGZpbmRfZmlyc3RfaG9sZGVyKGdsKSA9PSBOVUxMICYmCisJICAgIGdsLT5nbF9zdGF0ZSAhPSBMTV9TVF9VTkxPQ0tFRCAmJiBkZW1vdGVfb2soZ2wpKSB7CisJCWhhbmRsZV9jYWxsYmFjayhnbCwgTE1fU1RfVU5MT0NLRUQsIDAsIDApOworCQlkb25lX2NhbGxiYWNrID0gMTsKIAl9Ci0KLQlnZnMyX2dsb2NrX3B1dChnbCk7CisJc3Bpbl91bmxvY2soJmdsLT5nbF9zcGluKTsKKwlpZiAoIWRvbmVfY2FsbGJhY2sgfHwKKwkgICAgcXVldWVfZGVsYXllZF93b3JrKGdsb2NrX3dvcmtxdWV1ZSwgJmdsLT5nbF93b3JrLCAwKSA9PSAwKQorCQlnZnMyX2dsb2NrX3B1dChnbCk7CiB9CiAKIC8qKgpAQCAtMTcyNCwxOCArMTQ2NCwxNCBAQAogewogCWlmIChnbC0+Z2xfb3BzID09ICZnZnMyX2lub2RlX2dsb3BzICYmIGdsLT5nbF9vYmplY3QpCiAJCXJldHVybjsKKwlpZiAodGVzdF9iaXQoR0xGX0xPQ0ssICZnbC0+Z2xfZmxhZ3MpKQorCQlyZXR1cm47CiAKLQlpZiAoZ2ZzMl9nbG11dGV4X3RyeWxvY2soZ2wpKSB7Ci0JCWlmIChsaXN0X2VtcHR5KCZnbC0+Z2xfaG9sZGVycykgJiYKLQkJICAgIGdsLT5nbF9zdGF0ZSAhPSBMTV9TVF9VTkxPQ0tFRCAmJiBkZW1vdGVfb2soZ2wpKQotCQkJZ290byBvdXRfc2NoZWR1bGU7Ci0JCWdmczJfZ2xtdXRleF91bmxvY2soZ2wpOwotCX0KLQlyZXR1cm47Ci0KLW91dF9zY2hlZHVsZToKLQlnZnMyX2dsbXV0ZXhfdW5sb2NrKGdsKTsKLQlnZnMyX2dsb2NrX3NjaGVkdWxlX2Zvcl9yZWNsYWltKGdsKTsKKwlzcGluX2xvY2soJmdsLT5nbF9zcGluKTsKKwlpZiAoZmluZF9maXJzdF9ob2xkZXIoZ2wpID09IE5VTEwgJiYKKwkgICAgZ2wtPmdsX3N0YXRlICE9IExNX1NUX1VOTE9DS0VEICYmIGRlbW90ZV9vayhnbCkpCisJCWdmczJfZ2xvY2tfc2NoZWR1bGVfZm9yX3JlY2xhaW0oZ2wpOworCXNwaW5fdW5sb2NrKCZnbC0+Z2xfc3Bpbik7CiB9CiAKIC8qKgpAQCAtMTc2MCwxMiArMTQ5NiwxMyBAQAogCQlzcGluX3VubG9jaygmc2RwLT5zZF9yZWNsYWltX2xvY2spOwogCX0KIAotCWlmIChnZnMyX2dsbXV0ZXhfdHJ5bG9jayhnbCkpIHsKLQkJaWYgKGxpc3RfZW1wdHkoJmdsLT5nbF9ob2xkZXJzKSAmJgotCQkgICAgZ2wtPmdsX3N0YXRlICE9IExNX1NUX1VOTE9DS0VEKQotCQkJaGFuZGxlX2NhbGxiYWNrKGdsLCBMTV9TVF9VTkxPQ0tFRCwgMCwgMCk7Ci0JCWdmczJfZ2xtdXRleF91bmxvY2soZ2wpOwotCX0KKwlzcGluX2xvY2soJmdsLT5nbF9zcGluKTsKKwlpZiAoZmluZF9maXJzdF9ob2xkZXIoZ2wpID09IE5VTEwgJiYgZ2wtPmdsX3N0YXRlICE9IExNX1NUX1VOTE9DS0VEKQorCQloYW5kbGVfY2FsbGJhY2soZ2wsIExNX1NUX1VOTE9DS0VELCAwLCAwKTsKKwlzcGluX3VubG9jaygmZ2wtPmdsX3NwaW4pOworCWdmczJfZ2xvY2tfaG9sZChnbCk7CisJaWYgKHF1ZXVlX2RlbGF5ZWRfd29yayhnbG9ja193b3JrcXVldWUsICZnbC0+Z2xfd29yaywgMCkgPT0gMCkKKwkJZ2ZzMl9nbG9ja19wdXQoZ2wpOwogfQogCiAvKioKQEAgLTE3NzMsMTEgKzE1MTAsMTAgQEAKICAqIEBzZHA6IHRoZSBmaWxlc3lzdGVtCiAgKiBAd2FpdDogd2FpdCB1bnRpbCBpdCdzIGFsbCBnb25lCiAgKgotICogQ2FsbGVkIHdoZW4gdW5tb3VudGluZyB0aGUgZmlsZXN5c3RlbSwgb3Igd2hlbiBpbnRlci1ub2RlIGxvY2sgbWFuYWdlcgotICogcmVxdWVzdHMgRFJPUExPQ0tTIGJlY2F1c2UgaXQgaXMgcnVubmluZyBvdXQgb2YgY2FwYWNpdHkuCisgKiBDYWxsZWQgd2hlbiB1bm1vdW50aW5nIHRoZSBmaWxlc3lzdGVtLgogICovCiAKLXZvaWQgZ2ZzMl9nbF9oYXNoX2NsZWFyKHN0cnVjdCBnZnMyX3NiZCAqc2RwLCBpbnQgd2FpdCkKK3ZvaWQgZ2ZzMl9nbF9oYXNoX2NsZWFyKHN0cnVjdCBnZnMyX3NiZCAqc2RwKQogewogCXVuc2lnbmVkIGxvbmcgdDsKIAl1bnNpZ25lZCBpbnQgeDsKQEAgLTE3OTIsNyArMTUyOCw3IEBACiAJCQkJY29udCA9IDE7CiAJCX0KIAotCQlpZiAoIXdhaXQgfHwgIWNvbnQpCisJCWlmICghY29udCkKIAkJCWJyZWFrOwogCiAJCWlmICh0aW1lX2FmdGVyX2VxKGppZmZpZXMsCkBAIC0xODEwLDE4MCArMTU0NiwxNjQgQEAKIAl9CiB9CiAKLS8qCi0gKiAgRGlhZ25vc3RpYyByb3V0aW5lcyB0byBoZWxwIGRlYnVnIGRpc3RyaWJ1dGVkIGRlYWRsb2NrCi0gKi8KLQotc3RhdGljIHZvaWQgZ2ZzMl9wcmludF9zeW1ib2woc3RydWN0IGdsb2NrX2l0ZXIgKmdpLCBjb25zdCBjaGFyICpmbXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIGFkZHJlc3MpCitzdGF0aWMgY29uc3QgY2hhciAqc3RhdGUyc3RyKHVuc2lnbmVkIHN0YXRlKQogewotCWNoYXIgYnVmZmVyW0tTWU1fU1lNQk9MX0xFTl07CisJc3dpdGNoKHN0YXRlKSB7CisJY2FzZSBMTV9TVF9VTkxPQ0tFRDoKKwkJcmV0dXJuICJVTiI7CisJY2FzZSBMTV9TVF9TSEFSRUQ6CisJCXJldHVybiAiU0giOworCWNhc2UgTE1fU1RfREVGRVJSRUQ6CisJCXJldHVybiAiREYiOworCWNhc2UgTE1fU1RfRVhDTFVTSVZFOgorCQlyZXR1cm4gIkVYIjsKKwl9CisJcmV0dXJuICI/PyI7Cit9CiAKLQlzcHJpbnRfc3ltYm9sKGJ1ZmZlciwgYWRkcmVzcyk7Ci0JcHJpbnRfZGJnKGdpLCBmbXQsIGJ1ZmZlcik7CitzdGF0aWMgY29uc3QgY2hhciAqaGZsYWdzMnN0cihjaGFyICpidWYsIHVuc2lnbmVkIGZsYWdzLCB1bnNpZ25lZCBsb25nIGlmbGFncykKK3sKKwljaGFyICpwID0gYnVmOworCWlmIChmbGFncyAmIExNX0ZMQUdfVFJZKQorCQkqcCsrID0gJ3QnOworCWlmIChmbGFncyAmIExNX0ZMQUdfVFJZXzFDQikKKwkJKnArKyA9ICdUJzsKKwlpZiAoZmxhZ3MgJiBMTV9GTEFHX05PRVhQKQorCQkqcCsrID0gJ2UnOworCWlmIChmbGFncyAmIExNX0ZMQUdfQU5ZKQorCQkqcCsrID0gJ2EnOworCWlmIChmbGFncyAmIExNX0ZMQUdfUFJJT1JJVFkpCisJCSpwKysgPSAncCc7CisJaWYgKGZsYWdzICYgR0xfQVNZTkMpCisJCSpwKysgPSAnYSc7CisJaWYgKGZsYWdzICYgR0xfRVhBQ1QpCisJCSpwKysgPSAnRSc7CisJaWYgKGZsYWdzICYgR0xfQVRJTUUpCisJCSpwKysgPSAnYSc7CisJaWYgKGZsYWdzICYgR0xfTk9DQUNIRSkKKwkJKnArKyA9ICdjJzsKKwlpZiAodGVzdF9iaXQoSElGX0hPTERFUiwgJmlmbGFncykpCisJCSpwKysgPSAnSCc7CisJaWYgKHRlc3RfYml0KEhJRl9XQUlULCAmaWZsYWdzKSkKKwkJKnArKyA9ICdXJzsKKwlpZiAodGVzdF9iaXQoSElGX0ZJUlNULCAmaWZsYWdzKSkKKwkJKnArKyA9ICdGJzsKKwkqcCA9IDA7CisJcmV0dXJuIGJ1ZjsKIH0KIAogLyoqCiAgKiBkdW1wX2hvbGRlciAtIHByaW50IGluZm9ybWF0aW9uIGFib3V0IGEgZ2xvY2sgaG9sZGVyCi0gKiBAc3RyOiBhIHN0cmluZyBuYW1pbmcgdGhlIHR5cGUgb2YgaG9sZGVyCisgKiBAc2VxOiB0aGUgc2VxX2ZpbGUgc3RydWN0CiAgKiBAZ2g6IHRoZSBnbG9jayBob2xkZXIKICAqCiAgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIC1FTk9CVUZTIHdoZW4gd2UgcnVuIG91dCBvZiBzcGFjZQogICovCiAKLXN0YXRpYyBpbnQgZHVtcF9ob2xkZXIoc3RydWN0IGdsb2NrX2l0ZXIgKmdpLCBjaGFyICpzdHIsCi0JCSAgICAgICBzdHJ1Y3QgZ2ZzMl9ob2xkZXIgKmdoKQorc3RhdGljIGludCBkdW1wX2hvbGRlcihzdHJ1Y3Qgc2VxX2ZpbGUgKnNlcSwgY29uc3Qgc3RydWN0IGdmczJfaG9sZGVyICpnaCkKIHsKLQl1bnNpZ25lZCBpbnQgeDsKLQlzdHJ1Y3QgdGFza19zdHJ1Y3QgKmdoX293bmVyOworCXN0cnVjdCB0YXNrX3N0cnVjdCAqZ2hfb3duZXIgPSBOVUxMOworCWNoYXIgYnVmZmVyW0tTWU1fU1lNQk9MX0xFTl07CisJY2hhciBmbGFnc19idWZbMzJdOwogCi0JcHJpbnRfZGJnKGdpLCAiICAlc1xuIiwgc3RyKTsKLQlpZiAoZ2gtPmdoX293bmVyX3BpZCkgewotCQlwcmludF9kYmcoZ2ksICIgICAgb3duZXIgPSAlbGQgIiwKLQkJCQkobG9uZylwaWRfbnIoZ2gtPmdoX293bmVyX3BpZCkpOworCXNwcmludF9zeW1ib2woYnVmZmVyLCBnaC0+Z2hfaXApOworCWlmIChnaC0+Z2hfb3duZXJfcGlkKQogCQlnaF9vd25lciA9IHBpZF90YXNrKGdoLT5naF9vd25lcl9waWQsIFBJRFRZUEVfUElEKTsKLQkJaWYgKGdoX293bmVyKQotCQkJcHJpbnRfZGJnKGdpLCAiKCVzKVxuIiwgZ2hfb3duZXItPmNvbW0pOwotCQllbHNlCi0JCQlwcmludF9kYmcoZ2ksICIoZW5kZWQpXG4iKTsKLQl9IGVsc2UKLQkJcHJpbnRfZGJnKGdpLCAiICAgIG93bmVyID0gLTFcbiIpOwotCXByaW50X2RiZyhnaSwgIiAgICBnaF9zdGF0ZSA9ICV1XG4iLCBnaC0+Z2hfc3RhdGUpOwotCXByaW50X2RiZyhnaSwgIiAgICBnaF9mbGFncyA9Iik7Ci0JZm9yICh4ID0gMDsgeCA8IDMyOyB4KyspCi0JCWlmIChnaC0+Z2hfZmxhZ3MgJiAoMSA8PCB4KSkKLQkJCXByaW50X2RiZyhnaSwgIiAldSIsIHgpOwotCXByaW50X2RiZyhnaSwgIiBcbiIpOwotCXByaW50X2RiZyhnaSwgIiAgICBlcnJvciA9ICVkXG4iLCBnaC0+Z2hfZXJyb3IpOwotCXByaW50X2RiZyhnaSwgIiAgICBnaF9pZmxhZ3MgPSIpOwotCWZvciAoeCA9IDA7IHggPCAzMjsgeCsrKQotCQlpZiAodGVzdF9iaXQoeCwgJmdoLT5naF9pZmxhZ3MpKQotCQkJcHJpbnRfZGJnKGdpLCAiICV1IiwgeCk7Ci0JcHJpbnRfZGJnKGdpLCAiIFxuIik7Ci0gICAgICAgIGdmczJfcHJpbnRfc3ltYm9sKGdpLCAiICAgIGluaXRpYWxpemVkIGF0OiAlc1xuIiwgZ2gtPmdoX2lwKTsKLQorCWdmczJfcHJpbnRfZGJnKHNlcSwgIiBIOiBzOiVzIGY6JXMgZTolZCBwOiVsZCBbJXNdICVzXG4iLAorCQkgIHN0YXRlMnN0cihnaC0+Z2hfc3RhdGUpLAorCQkgIGhmbGFnczJzdHIoZmxhZ3NfYnVmLCBnaC0+Z2hfZmxhZ3MsIGdoLT5naF9pZmxhZ3MpLAorCQkgIGdoLT5naF9lcnJvciwgCisJCSAgZ2gtPmdoX293bmVyX3BpZCA/IChsb25nKXBpZF9ucihnaC0+Z2hfb3duZXJfcGlkKSA6IC0xLAorCQkgIGdoX293bmVyID8gZ2hfb3duZXItPmNvbW0gOiAiKGVuZGVkKSIsIGJ1ZmZlcik7CiAJcmV0dXJuIDA7CiB9CiAKLS8qKgotICogZHVtcF9pbm9kZSAtIHByaW50IGluZm9ybWF0aW9uIGFib3V0IGFuIGlub2RlCi0gKiBAaXA6IHRoZSBpbm9kZQotICoKLSAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgLUVOT0JVRlMgd2hlbiB3ZSBydW4gb3V0IG9mIHNwYWNlCi0gKi8KLQotc3RhdGljIGludCBkdW1wX2lub2RlKHN0cnVjdCBnbG9ja19pdGVyICpnaSwgc3RydWN0IGdmczJfaW5vZGUgKmlwKQorc3RhdGljIGNvbnN0IGNoYXIgKmdmbGFnczJzdHIoY2hhciAqYnVmLCBjb25zdCB1bnNpZ25lZCBsb25nICpnZmxhZ3MpCiB7Ci0JdW5zaWduZWQgaW50IHg7Ci0KLQlwcmludF9kYmcoZ2ksICIgIElub2RlOlxuIik7Ci0JcHJpbnRfZGJnKGdpLCAiICAgIG51bSA9ICVsbHUvJWxsdVxuIiwKLQkJICAodW5zaWduZWQgbG9uZyBsb25nKWlwLT5pX25vX2Zvcm1hbF9pbm8sCi0JCSAgKHVuc2lnbmVkIGxvbmcgbG9uZylpcC0+aV9ub19hZGRyKTsKLQlwcmludF9kYmcoZ2ksICIgICAgdHlwZSA9ICV1XG4iLCBJRjJEVChpcC0+aV9pbm9kZS5pX21vZGUpKTsKLQlwcmludF9kYmcoZ2ksICIgICAgaV9mbGFncyA9Iik7Ci0JZm9yICh4ID0gMDsgeCA8IDMyOyB4KyspCi0JCWlmICh0ZXN0X2JpdCh4LCAmaXAtPmlfZmxhZ3MpKQotCQkJcHJpbnRfZGJnKGdpLCAiICV1IiwgeCk7Ci0JcHJpbnRfZGJnKGdpLCAiIFxuIik7Ci0JcmV0dXJuIDA7CisJY2hhciAqcCA9IGJ1ZjsKKwlpZiAodGVzdF9iaXQoR0xGX0xPQ0ssIGdmbGFncykpCisJCSpwKysgPSAnbCc7CisJaWYgKHRlc3RfYml0KEdMRl9TVElDS1ksIGdmbGFncykpCisJCSpwKysgPSAncyc7CisJaWYgKHRlc3RfYml0KEdMRl9ERU1PVEUsIGdmbGFncykpCisJCSpwKysgPSAnRCc7CisJaWYgKHRlc3RfYml0KEdMRl9QRU5ESU5HX0RFTU9URSwgZ2ZsYWdzKSkKKwkJKnArKyA9ICdkJzsKKwlpZiAodGVzdF9iaXQoR0xGX0RFTU9URV9JTl9QUk9HUkVTUywgZ2ZsYWdzKSkKKwkJKnArKyA9ICdwJzsKKwlpZiAodGVzdF9iaXQoR0xGX0RJUlRZLCBnZmxhZ3MpKQorCQkqcCsrID0gJ3knOworCWlmICh0ZXN0X2JpdChHTEZfTEZMVVNILCBnZmxhZ3MpKQorCQkqcCsrID0gJ2YnOworCWlmICh0ZXN0X2JpdChHTEZfSU5WQUxJREFURV9JTl9QUk9HUkVTUywgZ2ZsYWdzKSkKKwkJKnArKyA9ICdpJzsKKwlpZiAodGVzdF9iaXQoR0xGX1JFUExZX1BFTkRJTkcsIGdmbGFncykpCisJCSpwKysgPSAncic7CisJKnAgPSAwOworCXJldHVybiBidWY7CiB9CiAKIC8qKgotICogZHVtcF9nbG9jayAtIHByaW50IGluZm9ybWF0aW9uIGFib3V0IGEgZ2xvY2sKKyAqIF9fZHVtcF9nbG9jayAtIHByaW50IGluZm9ybWF0aW9uIGFib3V0IGEgZ2xvY2sKKyAqIEBzZXE6IFRoZSBzZXFfZmlsZSBzdHJ1Y3QKICAqIEBnbDogdGhlIGdsb2NrCi0gKiBAY291bnQ6IHdoZXJlIHdlIGFyZSBpbiB0aGUgYnVmZmVyCisgKgorICogVGhlIGZpbGUgZm9ybWF0IGlzIGFzIGZvbGxvd3M6CisgKiBPbmUgbGluZSBwZXIgb2JqZWN0LCBjYXBpdGFsIGxldHRlcnMgYXJlIHVzZWQgdG8gaW5kaWNhdGUgb2JqZWN0cworICogRyA9IGdsb2NrLCBJID0gSW5vZGUsIFIgPSByZ3JwLCBIID0gaG9sZGVyLiBHbG9ja3MgYXJlIG5vdCBpbmRlbnRlZCwKKyAqIG90aGVyIG9iamVjdHMgYXJlIGluZGVudGVkIGJ5IGEgc2luZ2xlIHNwYWNlIGFuZCBmb2xsb3cgdGhlIGdsb2NrIHRvCisgKiB3aGljaCB0aGV5IGFyZSByZWxhdGVkLiBGaWVsZHMgYXJlIGluZGljYXRlZCBieSBsb3dlciBjYXNlIGxldHRlcnMKKyAqIGZvbGxvd2VkIGJ5IGEgY29sb24gYW5kIHRoZSBmaWVsZCB2YWx1ZSwgZXhjZXB0IGZvciBzdHJpbmdzIHdoaWNoIGFyZSBpbgorICogW10gc28gdGhhdCBpdHMgcG9zc2libGUgdG8gc2VlIGlmIHRoZXkgYXJlIGNvbXBvc2VkIG9mIHNwYWNlcyBmb3IKKyAqIGV4YW1wbGUuIFRoZSBmaWVsZCdzIGFyZSBuID0gbnVtYmVyIChpZCBvZiB0aGUgb2JqZWN0KSwgZiA9IGZsYWdzLAorICogdCA9IHR5cGUsIHMgPSBzdGF0ZSwgciA9IHJlZmNvdW50LCBlID0gZXJyb3IsIHAgPSBwaWQuCiAgKgogICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCAtRU5PQlVGUyB3aGVuIHdlIHJ1biBvdXQgb2Ygc3BhY2UKICAqLwogCi1zdGF0aWMgaW50IGR1bXBfZ2xvY2soc3RydWN0IGdsb2NrX2l0ZXIgKmdpLCBzdHJ1Y3QgZ2ZzMl9nbG9jayAqZ2wpCitzdGF0aWMgaW50IF9fZHVtcF9nbG9jayhzdHJ1Y3Qgc2VxX2ZpbGUgKnNlcSwgY29uc3Qgc3RydWN0IGdmczJfZ2xvY2sgKmdsKQogewotCXN0cnVjdCBnZnMyX2hvbGRlciAqZ2g7Ci0JdW5zaWduZWQgaW50IHg7Ci0JaW50IGVycm9yID0gLUVOT0JVRlM7Ci0Jc3RydWN0IHRhc2tfc3RydWN0ICpnbF9vd25lcjsKKwljb25zdCBzdHJ1Y3QgZ2ZzMl9nbG9ja19vcGVyYXRpb25zICpnbG9wcyA9IGdsLT5nbF9vcHM7CisJdW5zaWduZWQgbG9uZyBsb25nIGR0aW1lOworCWNvbnN0IHN0cnVjdCBnZnMyX2hvbGRlciAqZ2g7CisJY2hhciBnZmxhZ3NfYnVmWzMyXTsKKwlpbnQgZXJyb3IgPSAwOwogCi0Jc3Bpbl9sb2NrKCZnbC0+Z2xfc3Bpbik7CisJZHRpbWUgPSBqaWZmaWVzIC0gZ2wtPmdsX2RlbW90ZV90aW1lOworCWR0aW1lICo9IDEwMDAwMDAvSFo7IC8qIGRlbW90ZSB0aW1lIGluIHVTZWMgKi8KKwlpZiAoIXRlc3RfYml0KEdMRl9ERU1PVEUsICZnbC0+Z2xfZmxhZ3MpKQorCQlkdGltZSA9IDA7CisJZ2ZzMl9wcmludF9kYmcoc2VxLCAiRzogIHM6JXMgbjoldS8lbGx1IGY6JXMgdDolcyBkOiVzLyVsbHUgbDolZCBhOiVkIHI6JWRcbiIsCisJCSAgc3RhdGUyc3RyKGdsLT5nbF9zdGF0ZSksCisJCSAgZ2wtPmdsX25hbWUubG5fdHlwZSwKKwkJICAodW5zaWduZWQgbG9uZyBsb25nKWdsLT5nbF9uYW1lLmxuX251bWJlciwKKwkJICBnZmxhZ3Myc3RyKGdmbGFnc19idWYsICZnbC0+Z2xfZmxhZ3MpLAorCQkgIHN0YXRlMnN0cihnbC0+Z2xfdGFyZ2V0KSwKKwkJICBzdGF0ZTJzdHIoZ2wtPmdsX2RlbW90ZV9zdGF0ZSksIGR0aW1lLAorCQkgIGF0b21pY19yZWFkKCZnbC0+Z2xfbHZiX2NvdW50KSwKKwkJICBhdG9taWNfcmVhZCgmZ2wtPmdsX2FpbF9jb3VudCksCisJCSAgYXRvbWljX3JlYWQoJmdsLT5nbF9yZWYpKTsKIAotCXByaW50X2RiZyhnaSwgIkdsb2NrIDB4JXAgKCV1LCAweCVsbHgpXG4iLCBnbCwgZ2wtPmdsX25hbWUubG5fdHlwZSwKLQkJICAgKHVuc2lnbmVkIGxvbmcgbG9uZylnbC0+Z2xfbmFtZS5sbl9udW1iZXIpOwotCXByaW50X2RiZyhnaSwgIiAgZ2xfZmxhZ3MgPSIpOwotCWZvciAoeCA9IDA7IHggPCAzMjsgeCsrKSB7Ci0JCWlmICh0ZXN0X2JpdCh4LCAmZ2wtPmdsX2ZsYWdzKSkKLQkJCXByaW50X2RiZyhnaSwgIiAldSIsIHgpOwotCX0KLQlpZiAoIXRlc3RfYml0KEdMRl9MT0NLLCAmZ2wtPmdsX2ZsYWdzKSkKLQkJcHJpbnRfZGJnKGdpLCAiICh1bmxvY2tlZCkiKTsKLQlwcmludF9kYmcoZ2ksICIgXG4iKTsKLQlwcmludF9kYmcoZ2ksICIgIGdsX3JlZiA9ICVkXG4iLCBhdG9taWNfcmVhZCgmZ2wtPmdsX3JlZikpOwotCXByaW50X2RiZyhnaSwgIiAgZ2xfc3RhdGUgPSAldVxuIiwgZ2wtPmdsX3N0YXRlKTsKLQlpZiAoZ2wtPmdsX293bmVyX3BpZCkgewotCQlnbF9vd25lciA9IHBpZF90YXNrKGdsLT5nbF9vd25lcl9waWQsIFBJRFRZUEVfUElEKTsKLQkJaWYgKGdsX293bmVyKQotCQkJcHJpbnRfZGJnKGdpLCAiICBnbF9vd25lciA9IHBpZCAlZCAoJXMpXG4iLAotCQkJCSAgcGlkX25yKGdsLT5nbF9vd25lcl9waWQpLCBnbF9vd25lci0+Y29tbSk7Ci0JCWVsc2UKLQkJCXByaW50X2RiZyhnaSwgIiAgZ2xfb3duZXIgPSAlZCAoZW5kZWQpXG4iLAotCQkJCSAgcGlkX25yKGdsLT5nbF9vd25lcl9waWQpKTsKLQl9IGVsc2UKLQkJcHJpbnRfZGJnKGdpLCAiICBnbF9vd25lciA9IC0xXG4iKTsKLQlwcmludF9kYmcoZ2ksICIgIGdsX2lwID0gJWx1XG4iLCBnbC0+Z2xfaXApOwotCXByaW50X2RiZyhnaSwgIiAgcmVxX2doID0gJXNcbiIsIChnbC0+Z2xfcmVxX2doKSA/ICJ5ZXMiIDogIm5vIik7Ci0JcHJpbnRfZGJnKGdpLCAiICBsdmJfY291bnQgPSAlZFxuIiwgYXRvbWljX3JlYWQoJmdsLT5nbF9sdmJfY291bnQpKTsKLQlwcmludF9kYmcoZ2ksICIgIG9iamVjdCA9ICVzXG4iLCAoZ2wtPmdsX29iamVjdCkgPyAieWVzIiA6ICJubyIpOwotCXByaW50X2RiZyhnaSwgIiAgcmVjbGFpbSA9ICVzXG4iLAotCQkgICAobGlzdF9lbXB0eSgmZ2wtPmdsX3JlY2xhaW0pKSA/ICJubyIgOiAieWVzIik7Ci0JaWYgKGdsLT5nbF9hc3BhY2UpCi0JCXByaW50X2RiZyhnaSwgIiAgYXNwYWNlID0gMHglcCBucnBhZ2VzID0gJWx1XG4iLCBnbC0+Z2xfYXNwYWNlLAotCQkJICAgZ2wtPmdsX2FzcGFjZS0+aV9tYXBwaW5nLT5ucnBhZ2VzKTsKLQllbHNlCi0JCXByaW50X2RiZyhnaSwgIiAgYXNwYWNlID0gbm9cbiIpOwotCXByaW50X2RiZyhnaSwgIiAgYWlsID0gJWRcbiIsIGF0b21pY19yZWFkKCZnbC0+Z2xfYWlsX2NvdW50KSk7Ci0JaWYgKGdsLT5nbF9yZXFfZ2gpIHsKLQkJZXJyb3IgPSBkdW1wX2hvbGRlcihnaSwgIlJlcXVlc3QiLCBnbC0+Z2xfcmVxX2doKTsKLQkJaWYgKGVycm9yKQotCQkJZ290byBvdXQ7Ci0JfQogCWxpc3RfZm9yX2VhY2hfZW50cnkoZ2gsICZnbC0+Z2xfaG9sZGVycywgZ2hfbGlzdCkgewotCQllcnJvciA9IGR1bXBfaG9sZGVyKGdpLCAiSG9sZGVyIiwgZ2gpOworCQllcnJvciA9IGR1bXBfaG9sZGVyKHNlcSwgZ2gpOwogCQlpZiAoZXJyb3IpCiAJCQlnb3RvIG91dDsKIAl9Ci0JbGlzdF9mb3JfZWFjaF9lbnRyeShnaCwgJmdsLT5nbF93YWl0ZXJzMSwgZ2hfbGlzdCkgewotCQllcnJvciA9IGR1bXBfaG9sZGVyKGdpLCAiV2FpdGVyMSIsIGdoKTsKLQkJaWYgKGVycm9yKQotCQkJZ290byBvdXQ7Ci0JfQotCWxpc3RfZm9yX2VhY2hfZW50cnkoZ2gsICZnbC0+Z2xfd2FpdGVyczMsIGdoX2xpc3QpIHsKLQkJZXJyb3IgPSBkdW1wX2hvbGRlcihnaSwgIldhaXRlcjMiLCBnaCk7Ci0JCWlmIChlcnJvcikKLQkJCWdvdG8gb3V0OwotCX0KLQlpZiAodGVzdF9iaXQoR0xGX0RFTU9URSwgJmdsLT5nbF9mbGFncykpIHsKLQkJcHJpbnRfZGJnKGdpLCAiICBEZW1vdGlvbiByZXEgdG8gc3RhdGUgJXUgKCVsbHUgdVMgYWdvKVxuIiwKLQkJCSAgZ2wtPmdsX2RlbW90ZV9zdGF0ZSwgKHVuc2lnbmVkIGxvbmcgbG9uZykKLQkJCSAgKGppZmZpZXMgLSBnbC0+Z2xfZGVtb3RlX3RpbWUpKigxMDAwMDAwL0haKSk7Ci0JfQotCWlmIChnbC0+Z2xfb3BzID09ICZnZnMyX2lub2RlX2dsb3BzICYmIGdsLT5nbF9vYmplY3QpIHsKLQkJaWYgKCF0ZXN0X2JpdChHTEZfTE9DSywgJmdsLT5nbF9mbGFncykgJiYKLQkJCWxpc3RfZW1wdHkoJmdsLT5nbF9ob2xkZXJzKSkgewotCQkJZXJyb3IgPSBkdW1wX2lub2RlKGdpLCBnbC0+Z2xfb2JqZWN0KTsKLQkJCWlmIChlcnJvcikKLQkJCQlnb3RvIG91dDsKLQkJfSBlbHNlIHsKLQkJCWVycm9yID0gLUVOT0JVRlM7Ci0JCQlwcmludF9kYmcoZ2ksICIgIElub2RlOiBidXN5XG4iKTsKLQkJfQotCX0KLQotCWVycm9yID0gMDsKLQorCWlmIChnbC0+Z2xfc3RhdGUgIT0gTE1fU1RfVU5MT0NLRUQgJiYgZ2xvcHMtPmdvX2R1bXApCisJCWVycm9yID0gZ2xvcHMtPmdvX2R1bXAoc2VxLCBnbCk7CiBvdXQ6Ci0Jc3Bpbl91bmxvY2soJmdsLT5nbF9zcGluKTsKIAlyZXR1cm4gZXJyb3I7CiB9CiAKK3N0YXRpYyBpbnQgZHVtcF9nbG9jayhzdHJ1Y3Qgc2VxX2ZpbGUgKnNlcSwgc3RydWN0IGdmczJfZ2xvY2sgKmdsKQoreworCWludCByZXQ7CisJc3Bpbl9sb2NrKCZnbC0+Z2xfc3Bpbik7CisJcmV0ID0gX19kdW1wX2dsb2NrKHNlcSwgZ2wpOworCXNwaW5fdW5sb2NrKCZnbC0+Z2xfc3Bpbik7CisJcmV0dXJuIHJldDsKK30KKwogLyoqCiAgKiBnZnMyX2R1bXBfbG9ja3N0YXRlIC0gcHJpbnQgb3V0IHRoZSBjdXJyZW50IGxvY2tzdGF0ZQogICogQHNkcDogdGhlIGZpbGVzeXN0ZW0KQEAgLTIwODYsNyArMTgwNiw3IEBACiBtb2R1bGVfcGFyYW0oc2NhbmRfc2VjcywgdWludCwgU19JUlVHT3xTX0lXVVNSKTsKIE1PRFVMRV9QQVJNX0RFU0Moc2NhbmRfc2VjcywgIlRoZSBudW1iZXIgb2Ygc2Vjb25kcyBiZXR3ZWVuIHNjYW5kIHJ1bnMiKTsKIAotc3RhdGljIGludCBnZnMyX2dsb2NrX2l0ZXJfbmV4dChzdHJ1Y3QgZ2xvY2tfaXRlciAqZ2kpCitzdGF0aWMgaW50IGdmczJfZ2xvY2tfaXRlcl9uZXh0KHN0cnVjdCBnZnMyX2dsb2NrX2l0ZXIgKmdpKQogewogCXN0cnVjdCBnZnMyX2dsb2NrICpnbDsKIApAQCAtMjEwNCw3ICsxODI0LDcgQEAKIAkJZ2ZzMl9nbG9ja19wdXQoZ2wpOwogCWlmIChnbCAmJiBnaS0+Z2wgPT0gTlVMTCkKIAkJZ2ktPmhhc2grKzsKLQl3aGlsZShnaS0+Z2wgPT0gTlVMTCkgeworCXdoaWxlIChnaS0+Z2wgPT0gTlVMTCkgewogCQlpZiAoZ2ktPmhhc2ggPj0gR0ZTMl9HTF9IQVNIX1NJWkUpCiAJCQlyZXR1cm4gMTsKIAkJcmVhZF9sb2NrKGdsX2xvY2tfYWRkcihnaS0+aGFzaCkpOwpAQCAtMjEyMiw1OCArMTg0MiwzNCBAQAogCXJldHVybiAwOwogfQogCi1zdGF0aWMgdm9pZCBnZnMyX2dsb2NrX2l0ZXJfZnJlZShzdHJ1Y3QgZ2xvY2tfaXRlciAqZ2kpCitzdGF0aWMgdm9pZCBnZnMyX2dsb2NrX2l0ZXJfZnJlZShzdHJ1Y3QgZ2ZzMl9nbG9ja19pdGVyICpnaSkKIHsKIAlpZiAoZ2ktPmdsKQogCQlnZnMyX2dsb2NrX3B1dChnaS0+Z2wpOwotCWtmcmVlKGdpKTsKLX0KLQotc3RhdGljIHN0cnVjdCBnbG9ja19pdGVyICpnZnMyX2dsb2NrX2l0ZXJfaW5pdChzdHJ1Y3QgZ2ZzMl9zYmQgKnNkcCkKLXsKLQlzdHJ1Y3QgZ2xvY2tfaXRlciAqZ2k7Ci0KLQlnaSA9IGttYWxsb2Moc2l6ZW9mICgqZ2kpLCBHRlBfS0VSTkVMKTsKLQlpZiAoIWdpKQotCQlyZXR1cm4gTlVMTDsKLQotCWdpLT5zZHAgPSBzZHA7Ci0JZ2ktPmhhc2ggPSAwOwotCWdpLT5zZXEgPSBOVUxMOwogCWdpLT5nbCA9IE5VTEw7Ci0JbWVtc2V0KGdpLT5zdHJpbmcsIDAsIHNpemVvZihnaS0+c3RyaW5nKSk7Ci0KLQlpZiAoZ2ZzMl9nbG9ja19pdGVyX25leHQoZ2kpKSB7Ci0JCWdmczJfZ2xvY2tfaXRlcl9mcmVlKGdpKTsKLQkJcmV0dXJuIE5VTEw7Ci0JfQotCi0JcmV0dXJuIGdpOwogfQogCi1zdGF0aWMgdm9pZCAqZ2ZzMl9nbG9ja19zZXFfc3RhcnQoc3RydWN0IHNlcV9maWxlICpmaWxlLCBsb2ZmX3QgKnBvcykKK3N0YXRpYyB2b2lkICpnZnMyX2dsb2NrX3NlcV9zdGFydChzdHJ1Y3Qgc2VxX2ZpbGUgKnNlcSwgbG9mZl90ICpwb3MpCiB7Ci0Jc3RydWN0IGdsb2NrX2l0ZXIgKmdpOworCXN0cnVjdCBnZnMyX2dsb2NrX2l0ZXIgKmdpID0gc2VxLT5wcml2YXRlOwogCWxvZmZfdCBuID0gKnBvczsKIAotCWdpID0gZ2ZzMl9nbG9ja19pdGVyX2luaXQoZmlsZS0+cHJpdmF0ZSk7Ci0JaWYgKCFnaSkKLQkJcmV0dXJuIE5VTEw7CisJZ2ktPmhhc2ggPSAwOwogCi0Jd2hpbGUobi0tKSB7CisJZG8gewogCQlpZiAoZ2ZzMl9nbG9ja19pdGVyX25leHQoZ2kpKSB7CiAJCQlnZnMyX2dsb2NrX2l0ZXJfZnJlZShnaSk7CiAJCQlyZXR1cm4gTlVMTDsKIAkJfQotCX0KKwl9IHdoaWxlIChuLS0pOwogCi0JcmV0dXJuIGdpOworCXJldHVybiBnaS0+Z2w7CiB9CiAKLXN0YXRpYyB2b2lkICpnZnMyX2dsb2NrX3NlcV9uZXh0KHN0cnVjdCBzZXFfZmlsZSAqZmlsZSwgdm9pZCAqaXRlcl9wdHIsCitzdGF0aWMgdm9pZCAqZ2ZzMl9nbG9ja19zZXFfbmV4dChzdHJ1Y3Qgc2VxX2ZpbGUgKnNlcSwgdm9pZCAqaXRlcl9wdHIsCiAJCQkJIGxvZmZfdCAqcG9zKQogewotCXN0cnVjdCBnbG9ja19pdGVyICpnaSA9IGl0ZXJfcHRyOworCXN0cnVjdCBnZnMyX2dsb2NrX2l0ZXIgKmdpID0gc2VxLT5wcml2YXRlOwogCiAJKCpwb3MpKys7CiAKQEAgLTIxODIsMjQgKzE4NzgsMTggQEAKIAkJcmV0dXJuIE5VTEw7CiAJfQogCi0JcmV0dXJuIGdpOworCXJldHVybiBnaS0+Z2w7CiB9CiAKLXN0YXRpYyB2b2lkIGdmczJfZ2xvY2tfc2VxX3N0b3Aoc3RydWN0IHNlcV9maWxlICpmaWxlLCB2b2lkICppdGVyX3B0cikKK3N0YXRpYyB2b2lkIGdmczJfZ2xvY2tfc2VxX3N0b3Aoc3RydWN0IHNlcV9maWxlICpzZXEsIHZvaWQgKml0ZXJfcHRyKQogewotCXN0cnVjdCBnbG9ja19pdGVyICpnaSA9IGl0ZXJfcHRyOwotCWlmIChnaSkKLQkJZ2ZzMl9nbG9ja19pdGVyX2ZyZWUoZ2kpOworCXN0cnVjdCBnZnMyX2dsb2NrX2l0ZXIgKmdpID0gc2VxLT5wcml2YXRlOworCWdmczJfZ2xvY2tfaXRlcl9mcmVlKGdpKTsKIH0KIAotc3RhdGljIGludCBnZnMyX2dsb2NrX3NlcV9zaG93KHN0cnVjdCBzZXFfZmlsZSAqZmlsZSwgdm9pZCAqaXRlcl9wdHIpCitzdGF0aWMgaW50IGdmczJfZ2xvY2tfc2VxX3Nob3coc3RydWN0IHNlcV9maWxlICpzZXEsIHZvaWQgKml0ZXJfcHRyKQogewotCXN0cnVjdCBnbG9ja19pdGVyICpnaSA9IGl0ZXJfcHRyOwotCi0JZ2ktPnNlcSA9IGZpbGU7Ci0JZHVtcF9nbG9jayhnaSwgZ2ktPmdsKTsKLQotCXJldHVybiAwOworCXJldHVybiBkdW1wX2dsb2NrKHNlcSwgaXRlcl9wdHIpOwogfQogCiBzdGF0aWMgY29uc3Qgc3RydWN0IHNlcV9vcGVyYXRpb25zIGdmczJfZ2xvY2tfc2VxX29wcyA9IHsKQEAgLTIyMTEsMTcgKzE5MDEsMTQgQEAKIAogc3RhdGljIGludCBnZnMyX2RlYnVnZnNfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKIHsKLQlzdHJ1Y3Qgc2VxX2ZpbGUgKnNlcTsKLQlpbnQgcmV0OwotCi0JcmV0ID0gc2VxX29wZW4oZmlsZSwgJmdmczJfZ2xvY2tfc2VxX29wcyk7Ci0JaWYgKHJldCkKLQkJcmV0dXJuIHJldDsKLQotCXNlcSA9IGZpbGUtPnByaXZhdGVfZGF0YTsKLQlzZXEtPnByaXZhdGUgPSBpbm9kZS0+aV9wcml2YXRlOwotCi0JcmV0dXJuIDA7CisJaW50IHJldCA9IHNlcV9vcGVuX3ByaXZhdGUoZmlsZSwgJmdmczJfZ2xvY2tfc2VxX29wcywKKwkJCQkgICBzaXplb2Yoc3RydWN0IGdmczJfZ2xvY2tfaXRlcikpOworCWlmIChyZXQgPT0gMCkgeworCQlzdHJ1Y3Qgc2VxX2ZpbGUgKnNlcSA9IGZpbGUtPnByaXZhdGVfZGF0YTsKKwkJc3RydWN0IGdmczJfZ2xvY2tfaXRlciAqZ2kgPSBzZXEtPnByaXZhdGU7CisJCWdpLT5zZHAgPSBpbm9kZS0+aV9wcml2YXRlOworCX0KKwlyZXR1cm4gcmV0OwogfQogCiBzdGF0aWMgY29uc3Qgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyBnZnMyX2RlYnVnX2ZvcHMgPSB7CkBAIC0yMjI5LDcgKzE5MTYsNyBAQAogCS5vcGVuICAgID0gZ2ZzMl9kZWJ1Z2ZzX29wZW4sCiAJLnJlYWQgICAgPSBzZXFfcmVhZCwKIAkubGxzZWVrICA9IHNlcV9sc2VlaywKLQkucmVsZWFzZSA9IHNlcV9yZWxlYXNlCisJLnJlbGVhc2UgPSBzZXFfcmVsZWFzZV9wcml2YXRlLAogfTsKIAogaW50IGdmczJfY3JlYXRlX2RlYnVnZnNfZmlsZShzdHJ1Y3QgZ2ZzMl9zYmQgKnNkcCkKZGlmZiAtLWdpdCBhL2ZzL2dmczIvZ2xvY2suaCBiL2ZzL2dmczIvZ2xvY2suaAppbmRleCBjZGFkM2U2Li45NzFkOTJhIDEwMDY0NAotLS0gYS9mcy9nZnMyL2dsb2NrLmgKKysrIGIvZnMvZ2ZzMi9nbG9jay5oCkBAIC0yNiwxMSArMjYsOCBAQAogI2RlZmluZSBHTF9TS0lQCQkJMHgwMDAwMDEwMAogI2RlZmluZSBHTF9BVElNRQkJMHgwMDAwMDIwMAogI2RlZmluZSBHTF9OT0NBQ0hFCQkweDAwMDAwNDAwCi0jZGVmaW5lIEdMX0ZMT0NLCQkweDAwMDAwODAwCi0jZGVmaW5lIEdMX05PQ0FOQ0VMCQkweDAwMDAxMDAwCiAKICNkZWZpbmUgR0xSX1RSWUZBSUxFRAkJMTMKLSNkZWZpbmUgR0xSX0NBTkNFTEVECQkxNAogCiBzdGF0aWMgaW5saW5lIHN0cnVjdCBnZnMyX2hvbGRlciAqZ2ZzMl9nbG9ja19pc19sb2NrZWRfYnlfbWUoc3RydWN0IGdmczJfZ2xvY2sgKmdsKQogewpAQCAtNDEsNiArMzgsOCBAQAogCXNwaW5fbG9jaygmZ2wtPmdsX3NwaW4pOwogCXBpZCA9IHRhc2tfcGlkKGN1cnJlbnQpOwogCWxpc3RfZm9yX2VhY2hfZW50cnkoZ2gsICZnbC0+Z2xfaG9sZGVycywgZ2hfbGlzdCkgeworCQlpZiAoIXRlc3RfYml0KEhJRl9IT0xERVIsICZnaC0+Z2hfaWZsYWdzKSkKKwkJCWJyZWFrOwogCQlpZiAoZ2gtPmdoX293bmVyX3BpZCA9PSBwaWQpCiAJCQlnb3RvIG91dDsKIAl9CkBAIC03MCw3ICs2OSw3IEBACiB7CiAJaW50IHJldDsKIAlzcGluX2xvY2soJmdsLT5nbF9zcGluKTsKLQlyZXQgPSB0ZXN0X2JpdChHTEZfREVNT1RFLCAmZ2wtPmdsX2ZsYWdzKSB8fCAhbGlzdF9lbXB0eSgmZ2wtPmdsX3dhaXRlcnMzKTsKKwlyZXQgPSB0ZXN0X2JpdChHTEZfREVNT1RFLCAmZ2wtPmdsX2ZsYWdzKTsKIAlzcGluX3VubG9jaygmZ2wtPmdsX3NwaW4pOwogCXJldHVybiByZXQ7CiB9CkBAIC05OCw2ICs5Nyw3IEBACiBpbnQgZ2ZzMl9nbG9ja19ucV9tKHVuc2lnbmVkIGludCBudW1fZ2gsIHN0cnVjdCBnZnMyX2hvbGRlciAqZ2hzKTsKIHZvaWQgZ2ZzMl9nbG9ja19kcV9tKHVuc2lnbmVkIGludCBudW1fZ2gsIHN0cnVjdCBnZnMyX2hvbGRlciAqZ2hzKTsKIHZvaWQgZ2ZzMl9nbG9ja19kcV91bmluaXRfbSh1bnNpZ25lZCBpbnQgbnVtX2doLCBzdHJ1Y3QgZ2ZzMl9ob2xkZXIgKmdocyk7Cit2b2lkIGdmczJfcHJpbnRfZGJnKHN0cnVjdCBzZXFfZmlsZSAqc2VxLCBjb25zdCBjaGFyICpmbXQsIC4uLik7CiAKIC8qKgogICogZ2ZzMl9nbG9ja19ucV9pbml0IC0gaW50aWFsaXplIGEgaG9sZGVyIGFuZCBlbnF1ZXVlIGl0IG9uIGEgZ2xvY2sKQEAgLTEzMCwxMCArMTMwLDkgQEAKIHZvaWQgZ2ZzMl9sdmJfdW5ob2xkKHN0cnVjdCBnZnMyX2dsb2NrICpnbCk7CiAKIHZvaWQgZ2ZzMl9nbG9ja19jYih2b2lkICpjYl9kYXRhLCB1bnNpZ25lZCBpbnQgdHlwZSwgdm9pZCAqZGF0YSk7Ci0KIHZvaWQgZ2ZzMl9nbG9ja19zY2hlZHVsZV9mb3JfcmVjbGFpbShzdHJ1Y3QgZ2ZzMl9nbG9jayAqZ2wpOwogdm9pZCBnZnMyX3JlY2xhaW1fZ2xvY2soc3RydWN0IGdmczJfc2JkICpzZHApOwotdm9pZCBnZnMyX2dsX2hhc2hfY2xlYXIoc3RydWN0IGdmczJfc2JkICpzZHAsIGludCB3YWl0KTsKK3ZvaWQgZ2ZzMl9nbF9oYXNoX2NsZWFyKHN0cnVjdCBnZnMyX3NiZCAqc2RwKTsKIAogaW50IF9faW5pdCBnZnMyX2dsb2NrX2luaXQodm9pZCk7CiB2b2lkIGdmczJfZ2xvY2tfZXhpdCh2b2lkKTsKZGlmZiAtLWdpdCBhL2ZzL2dmczIvZ2xvcHMuYyBiL2ZzL2dmczIvZ2xvcHMuYwppbmRleCAwN2Q4NGQxNi4uYzZjMzE4YyAxMDA2NDQKLS0tIGEvZnMvZ2ZzMi9nbG9wcy5jCisrKyBiL2ZzL2dmczIvZ2xvcHMuYwpAQCAtMTMsNiArMTMsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2J1ZmZlcl9oZWFkLmg+CiAjaW5jbHVkZSA8bGludXgvZ2ZzMl9vbmRpc2suaD4KICNpbmNsdWRlIDxsaW51eC9sbV9pbnRlcmZhY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9iaW8uaD4KIAogI2luY2x1ZGUgImdmczIuaCIKICNpbmNsdWRlICJpbmNvcmUuaCIKQEAgLTE3MiwyNiArMTczLDYgQEAKIH0KIAogLyoqCi0gKiBpbm9kZV9nb194bW90ZV9iaCAtIEFmdGVyIHByb21vdGluZy9kZW1vdGluZyBhIGdsb2NrCi0gKiBAZ2w6IHRoZSBnbG9jawotICoKLSAqLwotCi1zdGF0aWMgdm9pZCBpbm9kZV9nb194bW90ZV9iaChzdHJ1Y3QgZ2ZzMl9nbG9jayAqZ2wpCi17Ci0Jc3RydWN0IGdmczJfaG9sZGVyICpnaCA9IGdsLT5nbF9yZXFfZ2g7Ci0Jc3RydWN0IGJ1ZmZlcl9oZWFkICpiaDsKLQlpbnQgZXJyb3I7Ci0KLQlpZiAoZ2wtPmdsX3N0YXRlICE9IExNX1NUX1VOTE9DS0VEICYmCi0JICAgICghZ2ggfHwgIShnaC0+Z2hfZmxhZ3MgJiBHTF9TS0lQKSkpIHsKLQkJZXJyb3IgPSBnZnMyX21ldGFfcmVhZChnbCwgZ2wtPmdsX25hbWUubG5fbnVtYmVyLCAwLCAmYmgpOwotCQlpZiAoIWVycm9yKQotCQkJYnJlbHNlKGJoKTsKLQl9Ci19Ci0KLS8qKgogICogaW5vZGVfZ29faW52YWwgLSBwcmVwYXJlIGEgaW5vZGUgZ2xvY2sgdG8gYmUgcmVsZWFzZWQKICAqIEBnbDogdGhlIGdsb2NrCiAgKiBAZmxhZ3M6CkBAIC0yNjcsNiArMjQ4LDI2IEBACiB9CiAKIC8qKgorICogaW5vZGVfZ29fZHVtcCAtIHByaW50IGluZm9ybWF0aW9uIGFib3V0IGFuIGlub2RlCisgKiBAc2VxOiBUaGUgaXRlcmF0b3IKKyAqIEBpcDogdGhlIGlub2RlCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCAtRU5PQlVGUyB3aGVuIHdlIHJ1biBvdXQgb2Ygc3BhY2UKKyAqLworCitzdGF0aWMgaW50IGlub2RlX2dvX2R1bXAoc3RydWN0IHNlcV9maWxlICpzZXEsIGNvbnN0IHN0cnVjdCBnZnMyX2dsb2NrICpnbCkKK3sKKwljb25zdCBzdHJ1Y3QgZ2ZzMl9pbm9kZSAqaXAgPSBnbC0+Z2xfb2JqZWN0OworCWlmIChpcCA9PSBOVUxMKQorCQlyZXR1cm4gMDsKKwlnZnMyX3ByaW50X2RiZyhzZXEsICIgSTogbjolbGx1LyVsbHUgdDoldSBmOjB4JTA4bHhcbiIsCisJCSAgKHVuc2lnbmVkIGxvbmcgbG9uZylpcC0+aV9ub19mb3JtYWxfaW5vLAorCQkgICh1bnNpZ25lZCBsb25nIGxvbmcpaXAtPmlfbm9fYWRkciwKKwkJICBJRjJEVChpcC0+aV9pbm9kZS5pX21vZGUpLCBpcC0+aV9mbGFncyk7CisJcmV0dXJuIDA7Cit9CisKKy8qKgogICogcmdycF9nb19kZW1vdGVfb2sgLSBDaGVjayB0byBzZWUgaWYgaXQncyBvayB0byB1bmxvY2sgYSBSRydzIGdsb2NrCiAgKiBAZ2w6IHRoZSBnbG9jawogICoKQEAgLTMwNiw2ICszMDcsMjIgQEAKIH0KIAogLyoqCisgKiByZ3JwX2dvX2R1bXAgLSBwcmludCBvdXQgYW4gcmdycAorICogQHNlcTogVGhlIGl0ZXJhdG9yCisgKiBAZ2w6IFRoZSBnbG9jayBpbiBxdWVzdGlvbgorICoKKyAqLworCitzdGF0aWMgaW50IHJncnBfZ29fZHVtcChzdHJ1Y3Qgc2VxX2ZpbGUgKnNlcSwgY29uc3Qgc3RydWN0IGdmczJfZ2xvY2sgKmdsKQoreworCWNvbnN0IHN0cnVjdCBnZnMyX3JncnBkICpyZ2QgPSBnbC0+Z2xfb2JqZWN0OworCWlmIChyZ2QgPT0gTlVMTCkKKwkJcmV0dXJuIDA7CisJZ2ZzMl9wcmludF9kYmcoc2VxLCAiIFI6IG46JWxsdVxuIiwgKHVuc2lnbmVkIGxvbmcgbG9uZylyZ2QtPnJkX2FkZHIpOworCXJldHVybiAwOworfQorCisvKioKICAqIHRyYW5zX2dvX3N5bmMgLSBwcm9tb3RlL2RlbW90ZSB0aGUgdHJhbnNhY3Rpb24gZ2xvY2sKICAqIEBnbDogdGhlIGdsb2NrCiAgKiBAc3RhdGU6IHRoZSByZXF1ZXN0ZWQgc3RhdGUKQEAgLTMzMCw3ICszNDcsNyBAQAogICoKICAqLwogCi1zdGF0aWMgdm9pZCB0cmFuc19nb194bW90ZV9iaChzdHJ1Y3QgZ2ZzMl9nbG9jayAqZ2wpCitzdGF0aWMgaW50IHRyYW5zX2dvX3htb3RlX2JoKHN0cnVjdCBnZnMyX2dsb2NrICpnbCwgc3RydWN0IGdmczJfaG9sZGVyICpnaCkKIHsKIAlzdHJ1Y3QgZ2ZzMl9zYmQgKnNkcCA9IGdsLT5nbF9zYmQ7CiAJc3RydWN0IGdmczJfaW5vZGUgKmlwID0gR0ZTMl9JKHNkcC0+c2RfamRlc2MtPmpkX2lub2RlKTsKQEAgLTMzOCw4ICszNTUsNyBAQAogCXN0cnVjdCBnZnMyX2xvZ19oZWFkZXJfaG9zdCBoZWFkOwogCWludCBlcnJvcjsKIAotCWlmIChnbC0+Z2xfc3RhdGUgIT0gTE1fU1RfVU5MT0NLRUQgJiYKLQkgICAgdGVzdF9iaXQoU0RGX0pPVVJOQUxfTElWRSwgJnNkcC0+c2RfZmxhZ3MpKSB7CisJaWYgKHRlc3RfYml0KFNERl9KT1VSTkFMX0xJVkUsICZzZHAtPnNkX2ZsYWdzKSkgewogCQlqX2dsLT5nbF9vcHMtPmdvX2ludmFsKGpfZ2wsIERJT19NRVRBREFUQSk7CiAKIAkJZXJyb3IgPSBnZnMyX2ZpbmRfamhlYWQoc2RwLT5zZF9qZGVzYywgJmhlYWQpOwpAQCAtMzU0LDYgKzM3MCw3IEBACiAJCQlnZnMyX2xvZ19wb2ludGVyc19pbml0KHNkcCwgaGVhZC5saF9ibGtubyk7CiAJCX0KIAl9CisJcmV0dXJuIDA7CiB9CiAKIC8qKgpAQCAtMzc1LDEyICszOTIsMTIgQEAKIAogY29uc3Qgc3RydWN0IGdmczJfZ2xvY2tfb3BlcmF0aW9ucyBnZnMyX2lub2RlX2dsb3BzID0gewogCS5nb194bW90ZV90aCA9IGlub2RlX2dvX3N5bmMsCi0JLmdvX3htb3RlX2JoID0gaW5vZGVfZ29feG1vdGVfYmgsCiAJLmdvX2ludmFsID0gaW5vZGVfZ29faW52YWwsCiAJLmdvX2RlbW90ZV9vayA9IGlub2RlX2dvX2RlbW90ZV9vaywKIAkuZ29fbG9jayA9IGlub2RlX2dvX2xvY2ssCisJLmdvX2R1bXAgPSBpbm9kZV9nb19kdW1wLAogCS5nb190eXBlID0gTE1fVFlQRV9JTk9ERSwKLQkuZ29fbWluX2hvbGRfdGltZSA9IEhaIC8gMTAsCisJLmdvX21pbl9ob2xkX3RpbWUgPSBIWiAvIDUsCiB9OwogCiBjb25zdCBzdHJ1Y3QgZ2ZzMl9nbG9ja19vcGVyYXRpb25zIGdmczJfcmdycF9nbG9wcyA9IHsKQEAgLTM4OSw4ICs0MDYsOSBAQAogCS5nb19kZW1vdGVfb2sgPSByZ3JwX2dvX2RlbW90ZV9vaywKIAkuZ29fbG9jayA9IHJncnBfZ29fbG9jaywKIAkuZ29fdW5sb2NrID0gcmdycF9nb191bmxvY2ssCisJLmdvX2R1bXAgPSByZ3JwX2dvX2R1bXAsCiAJLmdvX3R5cGUgPSBMTV9UWVBFX1JHUlAsCi0JLmdvX21pbl9ob2xkX3RpbWUgPSBIWiAvIDEwLAorCS5nb19taW5faG9sZF90aW1lID0gSFogLyA1LAogfTsKIAogY29uc3Qgc3RydWN0IGdmczJfZ2xvY2tfb3BlcmF0aW9ucyBnZnMyX3RyYW5zX2dsb3BzID0gewpkaWZmIC0tZ2l0IGEvZnMvZ2ZzMi9pbmNvcmUuaCBiL2ZzL2dmczIvaW5jb3JlLmgKaW5kZXggZWFiZTVlYS4uNDQ4Njk3YSAxMDA2NDQKLS0tIGEvZnMvZ2ZzMi9pbmNvcmUuaAorKysgYi9mcy9nZnMyL2luY29yZS5oCkBAIC03Nyw3ICs3Nyw2IEBACiBzdHJ1Y3QgZ2ZzMl9yZ3JwZCB7CiAJc3RydWN0IGxpc3RfaGVhZCByZF9saXN0OwkvKiBMaW5rIHdpdGggc3VwZXJibG9jayAqLwogCXN0cnVjdCBsaXN0X2hlYWQgcmRfbGlzdF9tcnU7Ci0Jc3RydWN0IGxpc3RfaGVhZCByZF9yZWNlbnQ7CS8qIFJlY2VudGx5IHVzZWQgcmdycHMgKi8KIAlzdHJ1Y3QgZ2ZzMl9nbG9jayAqcmRfZ2w7CS8qIEdsb2NrIGZvciB0aGlzIHJncnAgKi8KIAl1NjQgcmRfYWRkcjsJCQkvKiBncnAgYmxvY2sgZGlzayBhZGRyZXNzICovCiAJdTY0IHJkX2RhdGEwOwkJCS8qIGZpcnN0IGRhdGEgbG9jYXRpb24gKi8KQEAgLTEyOCwyMCArMTI3LDIwIEBACiAKIHN0cnVjdCBnZnMyX2dsb2NrX29wZXJhdGlvbnMgewogCXZvaWQgKCpnb194bW90ZV90aCkgKHN0cnVjdCBnZnMyX2dsb2NrICpnbCk7Ci0Jdm9pZCAoKmdvX3htb3RlX2JoKSAoc3RydWN0IGdmczJfZ2xvY2sgKmdsKTsKKwlpbnQgKCpnb194bW90ZV9iaCkgKHN0cnVjdCBnZnMyX2dsb2NrICpnbCwgc3RydWN0IGdmczJfaG9sZGVyICpnaCk7CiAJdm9pZCAoKmdvX2ludmFsKSAoc3RydWN0IGdmczJfZ2xvY2sgKmdsLCBpbnQgZmxhZ3MpOwogCWludCAoKmdvX2RlbW90ZV9vaykgKHN0cnVjdCBnZnMyX2dsb2NrICpnbCk7CiAJaW50ICgqZ29fbG9jaykgKHN0cnVjdCBnZnMyX2hvbGRlciAqZ2gpOwogCXZvaWQgKCpnb191bmxvY2spIChzdHJ1Y3QgZ2ZzMl9ob2xkZXIgKmdoKTsKKwlpbnQgKCpnb19kdW1wKShzdHJ1Y3Qgc2VxX2ZpbGUgKnNlcSwgY29uc3Qgc3RydWN0IGdmczJfZ2xvY2sgKmdsKTsKIAljb25zdCBpbnQgZ29fdHlwZTsKIAljb25zdCB1bnNpZ25lZCBsb25nIGdvX21pbl9ob2xkX3RpbWU7CiB9OwogCiBlbnVtIHsKIAkvKiBTdGF0ZXMgKi8KLQlISUZfSE9MREVSCQk9IDYsCisJSElGX0hPTERFUgkJPSA2LCAgLyogU2V0IGZvciBnaCB0aGF0ICJob2xkcyIgdGhlIGdsb2NrICovCiAJSElGX0ZJUlNUCQk9IDcsCi0JSElGX0FCT1JURUQJCT0gOSwKIAlISUZfV0FJVAkJPSAxMCwKIH07CiAKQEAgLTE1NCwyMCArMTUzLDIwIEBACiAJdW5zaWduZWQgZ2hfZmxhZ3M7CiAKIAlpbnQgZ2hfZXJyb3I7Ci0JdW5zaWduZWQgbG9uZyBnaF9pZmxhZ3M7CisJdW5zaWduZWQgbG9uZyBnaF9pZmxhZ3M7IC8qIEhJRl8uLi4gKi8KIAl1bnNpZ25lZCBsb25nIGdoX2lwOwogfTsKIAogZW51bSB7Ci0JR0xGX0xPQ0sJCT0gMSwKLQlHTEZfU1RJQ0tZCQk9IDIsCi0JR0xGX0RFTU9URQkJPSAzLAotCUdMRl9QRU5ESU5HX0RFTU9URQk9IDQsCi0JR0xGX0RJUlRZCQk9IDUsCi0JR0xGX0RFTU9URV9JTl9QUk9HUkVTUwk9IDYsCi0JR0xGX0xGTFVTSAkJPSA3LAotCUdMRl9XQUlURVJTMgkJPSA4LAotCUdMRl9DT05WX0RFQURMSwkJPSA5LAorCUdMRl9MT0NLCQkJPSAxLAorCUdMRl9TVElDS1kJCQk9IDIsCisJR0xGX0RFTU9URQkJCT0gMywKKwlHTEZfUEVORElOR19ERU1PVEUJCT0gNCwKKwlHTEZfREVNT1RFX0lOX1BST0dSRVNTCQk9IDUsCisJR0xGX0RJUlRZCQkJPSA2LAorCUdMRl9MRkxVU0gJCQk9IDcsCisJR0xGX0lOVkFMSURBVEVfSU5fUFJPR1JFU1MJPSA4LAorCUdMRl9SRVBMWV9QRU5ESU5HCQk9IDksCiB9OwogCiBzdHJ1Y3QgZ2ZzMl9nbG9jayB7CkBAIC0xNzksMTkgKzE3OCwxNCBAQAogCXNwaW5sb2NrX3QgZ2xfc3BpbjsKIAogCXVuc2lnbmVkIGludCBnbF9zdGF0ZTsKKwl1bnNpZ25lZCBpbnQgZ2xfdGFyZ2V0OworCXVuc2lnbmVkIGludCBnbF9yZXBseTsKIAl1bnNpZ25lZCBpbnQgZ2xfaGFzaDsKIAl1bnNpZ25lZCBpbnQgZ2xfZGVtb3RlX3N0YXRlOyAvKiBzdGF0ZSByZXF1ZXN0ZWQgYnkgcmVtb3RlIG5vZGUgKi8KIAl1bnNpZ25lZCBsb25nIGdsX2RlbW90ZV90aW1lOyAvKiB0aW1lIG9mIGZpcnN0IGRlbW90ZSByZXF1ZXN0ICovCi0Jc3RydWN0IHBpZCAqZ2xfb3duZXJfcGlkOwotCXVuc2lnbmVkIGxvbmcgZ2xfaXA7CiAJc3RydWN0IGxpc3RfaGVhZCBnbF9ob2xkZXJzOwotCXN0cnVjdCBsaXN0X2hlYWQgZ2xfd2FpdGVyczE7CS8qIEhJRl9NVVRFWCAqLwotCXN0cnVjdCBsaXN0X2hlYWQgZ2xfd2FpdGVyczM7CS8qIEhJRl9QUk9NT1RFICovCiAKIAljb25zdCBzdHJ1Y3QgZ2ZzMl9nbG9ja19vcGVyYXRpb25zICpnbF9vcHM7Ci0KLQlzdHJ1Y3QgZ2ZzMl9ob2xkZXIgKmdsX3JlcV9naDsKLQogCXZvaWQgKmdsX2xvY2s7CiAJY2hhciAqZ2xfbHZiOwogCWF0b21pY190IGdsX2x2Yl9jb3VudDsKQEAgLTQyNyw3ICs0MjEsNiBAQAogCXVuc2lnbmVkIGludCBndF9xdW90YV9xdWFudHVtOyAvKiBTZWNzIGJldHdlZW4gc3luY3MgdG8gcXVvdGEgZmlsZSAqLwogCXVuc2lnbmVkIGludCBndF9hdGltZV9xdWFudHVtOyAvKiBNaW4gc2VjcyBiZXR3ZWVuIGF0aW1lIHVwZGF0ZXMgKi8KIAl1bnNpZ25lZCBpbnQgZ3RfbmV3X2ZpbGVzX2pkYXRhOwotCXVuc2lnbmVkIGludCBndF9uZXdfZmlsZXNfZGlyZWN0aW87CiAJdW5zaWduZWQgaW50IGd0X21heF9yZWFkYWhlYWQ7IC8qIE1heCBieXRlcyB0byByZWFkLWFoZWFkIGZyb20gZGlzayAqLwogCXVuc2lnbmVkIGludCBndF9zdGFsbF9zZWNzOyAvKiBEZXRlY3RzIHRyb3VibGUhICovCiAJdW5zaWduZWQgaW50IGd0X2NvbXBsYWluX3NlY3M7CkBAIC01MzQsNyArNTI3LDYgQEAKIAlzdHJ1Y3QgbXV0ZXggc2RfcmluZGV4X211dGV4OwogCXN0cnVjdCBsaXN0X2hlYWQgc2RfcmluZGV4X2xpc3Q7CiAJc3RydWN0IGxpc3RfaGVhZCBzZF9yaW5kZXhfbXJ1X2xpc3Q7Ci0Jc3RydWN0IGxpc3RfaGVhZCBzZF9yaW5kZXhfcmVjZW50X2xpc3Q7CiAJc3RydWN0IGdmczJfcmdycGQgKnNkX3JpbmRleF9mb3J3YXJkOwogCXVuc2lnbmVkIGludCBzZF9yZ3JwczsKIApkaWZmIC0tZ2l0IGEvZnMvZ2ZzMi9pbm9kZS5jIGIvZnMvZ2ZzMi9pbm9kZS5jCmluZGV4IDA5NDUzZDAuLjZkYTBhYjM1IDEwMDY0NAotLS0gYS9mcy9nZnMyL2lub2RlLmMKKysrIGIvZnMvZ2ZzMi9pbm9kZS5jCkBAIC01MDQsNyArNTA0LDcgQEAKIAl9CiAKIAlpZiAoIWlzX3Jvb3QpIHsKLQkJZXJyb3IgPSBwZXJtaXNzaW9uKGRpciwgTUFZX0VYRUMsIE5VTEwpOworCQllcnJvciA9IGdmczJfcGVybWlzc2lvbihkaXIsIE1BWV9FWEVDKTsKIAkJaWYgKGVycm9yKQogCQkJZ290byBvdXQ7CiAJfQpAQCAtNjY3LDcgKzY2Nyw3IEBACiB7CiAJaW50IGVycm9yOwogCi0JZXJyb3IgPSBwZXJtaXNzaW9uKCZkaXAtPmlfaW5vZGUsIE1BWV9XUklURSB8IE1BWV9FWEVDLCBOVUxMKTsKKwllcnJvciA9IGdmczJfcGVybWlzc2lvbigmZGlwLT5pX2lub2RlLCBNQVlfV1JJVEUgfCBNQVlfRVhFQyk7CiAJaWYgKGVycm9yKQogCQlyZXR1cm4gZXJyb3I7CiAKQEAgLTc4OSwxMyArNzg5LDggQEAKIAkJaWYgKChkaXAtPmlfZGkuZGlfZmxhZ3MgJiBHRlMyX0RJRl9JTkhFUklUX0pEQVRBKSB8fAogCQkgICAgZ2ZzMl90dW5lX2dldChzZHAsIGd0X25ld19maWxlc19qZGF0YSkpCiAJCQlkaS0+ZGlfZmxhZ3MgfD0gY3B1X3RvX2JlMzIoR0ZTMl9ESUZfSkRBVEEpOwotCQlpZiAoKGRpcC0+aV9kaS5kaV9mbGFncyAmIEdGUzJfRElGX0lOSEVSSVRfRElSRUNUSU8pIHx8Ci0JCSAgICBnZnMyX3R1bmVfZ2V0KHNkcCwgZ3RfbmV3X2ZpbGVzX2RpcmVjdGlvKSkKLQkJCWRpLT5kaV9mbGFncyB8PSBjcHVfdG9fYmUzMihHRlMyX0RJRl9ESVJFQ1RJTyk7CiAJfSBlbHNlIGlmIChTX0lTRElSKG1vZGUpKSB7CiAJCWRpLT5kaV9mbGFncyB8PSBjcHVfdG9fYmUzMihkaXAtPmlfZGkuZGlfZmxhZ3MgJgotCQkJCQkgICAgR0ZTMl9ESUZfSU5IRVJJVF9ESVJFQ1RJTyk7Ci0JCWRpLT5kaV9mbGFncyB8PSBjcHVfdG9fYmUzMihkaXAtPmlfZGkuZGlfZmxhZ3MgJgogCQkJCQkgICAgR0ZTMl9ESUZfSU5IRVJJVF9KREFUQSk7CiAJfQogCkBAIC0xMTM0LDcgKzExMjksNyBAQAogCWlmIChJU19BUFBFTkQoJmRpcC0+aV9pbm9kZSkpCiAJCXJldHVybiAtRVBFUk07CiAKLQllcnJvciA9IHBlcm1pc3Npb24oJmRpcC0+aV9pbm9kZSwgTUFZX1dSSVRFIHwgTUFZX0VYRUMsIE5VTEwpOworCWVycm9yID0gZ2ZzMl9wZXJtaXNzaW9uKCZkaXAtPmlfaW5vZGUsIE1BWV9XUklURSB8IE1BWV9FWEVDKTsKIAlpZiAoZXJyb3IpCiAJCXJldHVybiBlcnJvcjsKIApkaWZmIC0tZ2l0IGEvZnMvZ2ZzMi9pbm9kZS5oIGIvZnMvZ2ZzMi9pbm9kZS5oCmluZGV4IDU4MGRhNDUuLjYwNzRjMjUgMTAwNjQ0Ci0tLSBhL2ZzL2dmczIvaW5vZGUuaAorKysgYi9mcy9nZnMyL2lub2RlLmgKQEAgLTcyLDcgKzcyLDYgQEAKIH0KIAogCi12b2lkIGdmczJfaW5vZGVfYXR0cl9pbihzdHJ1Y3QgZ2ZzMl9pbm9kZSAqaXApOwogdm9pZCBnZnMyX3NldF9pb3Aoc3RydWN0IGlub2RlICppbm9kZSk7CiBzdHJ1Y3QgaW5vZGUgKmdmczJfaW5vZGVfbG9va3VwKHN0cnVjdCBzdXBlcl9ibG9jayAqc2IsIHVuc2lnbmVkIHR5cGUsIAogCQkJCXU2NCBub19hZGRyLCB1NjQgbm9fZm9ybWFsX2lubywKQEAgLTkxLDYgKzkwLDcgQEAKIAkJc3RydWN0IGdmczJfaW5vZGUgKmlwKTsKIGludCBnZnMyX3VubGlua19vayhzdHJ1Y3QgZ2ZzMl9pbm9kZSAqZGlwLCBjb25zdCBzdHJ1Y3QgcXN0ciAqbmFtZSwKIAkJICAgY29uc3Qgc3RydWN0IGdmczJfaW5vZGUgKmlwKTsKK2ludCBnZnMyX3Blcm1pc3Npb24oc3RydWN0IGlub2RlICppbm9kZSwgaW50IG1hc2spOwogaW50IGdmczJfb2tfdG9fbW92ZShzdHJ1Y3QgZ2ZzMl9pbm9kZSAqdGhpcywgc3RydWN0IGdmczJfaW5vZGUgKnRvKTsKIGludCBnZnMyX3JlYWRsaW5raShzdHJ1Y3QgZ2ZzMl9pbm9kZSAqaXAsIGNoYXIgKipidWYsIHVuc2lnbmVkIGludCAqbGVuKTsKIGludCBnZnMyX2dsb2NrX25xX2F0aW1lKHN0cnVjdCBnZnMyX2hvbGRlciAqZ2gpOwpkaWZmIC0tZ2l0IGEvZnMvZ2ZzMi9sb2NraW5nLmMgYi9mcy9nZnMyL2xvY2tpbmcuYwppbmRleCA2NjNmZWU3Li41MjMyNDNhIDEwMDY0NAotLS0gYS9mcy9nZnMyL2xvY2tpbmcuYworKysgYi9mcy9nZnMyL2xvY2tpbmcuYwpAQCAtMjMsMTIgKzIzLDU0IEBACiAJY29uc3Qgc3RydWN0IGxtX2xvY2tvcHMgKmx3X29wczsKIH07CiAKK3N0YXRpYyBpbnQgbm9sb2NrX21vdW50KGNoYXIgKnRhYmxlX25hbWUsIGNoYXIgKmhvc3RfZGF0YSwKKwkJCWxtX2NhbGxiYWNrX3QgY2IsIHZvaWQgKmNiX2RhdGEsCisJCQl1bnNpZ25lZCBpbnQgbWluX2x2Yl9zaXplLCBpbnQgZmxhZ3MsCisJCQlzdHJ1Y3QgbG1fbG9ja3N0cnVjdCAqbG9ja3N0cnVjdCwKKwkJCXN0cnVjdCBrb2JqZWN0ICpmc2tvYmopOworCiAvKiBMaXN0IG9mIHJlZ2lzdGVyZWQgbG93LWxldmVsIGxvY2tpbmcgcHJvdG9jb2xzLiAgQSBmaWxlIHN5c3RlbSBzZWxlY3RzIG9uZQogICAgb2YgdGhlbSBieSBuYW1lIGF0IG1vdW50IHRpbWUsIGUuZy4gbG9ja19ub2xvY2ssIGxvY2tfZGxtLiAqLwogCitzdGF0aWMgY29uc3Qgc3RydWN0IGxtX2xvY2tvcHMgbm9sb2NrX29wcyA9IHsKKwkubG1fcHJvdG9fbmFtZSA9ICJsb2NrX25vbG9jayIsCisJLmxtX21vdW50ID0gbm9sb2NrX21vdW50LAorfTsKKworc3RhdGljIHN0cnVjdCBsbWhfd3JhcHBlciBub2xvY2tfcHJvdG8gID0geworCS5sd19saXN0ID0gTElTVF9IRUFEX0lOSVQobm9sb2NrX3Byb3RvLmx3X2xpc3QpLAorCS5sd19vcHMgPSAmbm9sb2NrX29wcywKK307CisKIHN0YXRpYyBMSVNUX0hFQUQobG1oX2xpc3QpOwogc3RhdGljIERFRklORV9NVVRFWChsbWhfbG9jayk7CiAKK3N0YXRpYyBpbnQgbm9sb2NrX21vdW50KGNoYXIgKnRhYmxlX25hbWUsIGNoYXIgKmhvc3RfZGF0YSwKKwkJCWxtX2NhbGxiYWNrX3QgY2IsIHZvaWQgKmNiX2RhdGEsCisJCQl1bnNpZ25lZCBpbnQgbWluX2x2Yl9zaXplLCBpbnQgZmxhZ3MsCisJCQlzdHJ1Y3QgbG1fbG9ja3N0cnVjdCAqbG9ja3N0cnVjdCwKKwkJCXN0cnVjdCBrb2JqZWN0ICpmc2tvYmopCit7CisJY2hhciAqYzsKKwl1bnNpZ25lZCBpbnQgamlkOworCisJYyA9IHN0cnN0cihob3N0X2RhdGEsICJqaWQ9Iik7CisJaWYgKCFjKQorCQlqaWQgPSAwOworCWVsc2UgeworCQljICs9IDQ7CisJCXNzY2FuZihjLCAiJXUiLCAmamlkKTsKKwl9CisKKwlsb2Nrc3RydWN0LT5sc19qaWQgPSBqaWQ7CisJbG9ja3N0cnVjdC0+bHNfZmlyc3QgPSAxOworCWxvY2tzdHJ1Y3QtPmxzX2x2Yl9zaXplID0gbWluX2x2Yl9zaXplOworCWxvY2tzdHJ1Y3QtPmxzX29wcyA9ICZub2xvY2tfb3BzOworCWxvY2tzdHJ1Y3QtPmxzX2ZsYWdzID0gTE1fTFNGTEFHX0xPQ0FMOworCisJcmV0dXJuIDA7Cit9CisKIC8qKgogICogZ2ZzMl9yZWdpc3Rlcl9sb2NrcHJvdG8gLSBSZWdpc3RlciBhIGxvdy1sZXZlbCBsb2NraW5nIHByb3RvY29sCiAgKiBAcHJvdG86IHRoZSBwcm90b2NvbCBkZWZpbml0aW9uCkBAIC0xMTYsOSArMTU4LDEzIEBACiAJaW50IHRyeSA9IDA7CiAJaW50IGVycm9yLCBmb3VuZDsKIAorCiByZXRyeToKIAltdXRleF9sb2NrKCZsbWhfbG9jayk7CiAKKwlpZiAobGlzdF9lbXB0eSgmbm9sb2NrX3Byb3RvLmx3X2xpc3QpKQorCQlsaXN0X2FkZCgmbm9sb2NrX3Byb3RvLmx3X2xpc3QsICZsbWhfbGlzdCk7CisKIAlmb3VuZCA9IDA7CiAJbGlzdF9mb3JfZWFjaF9lbnRyeShsdywgJmxtaF9saXN0LCBsd19saXN0KSB7CiAJCWlmICghc3RyY21wKGx3LT5sd19vcHMtPmxtX3Byb3RvX25hbWUsIHByb3RvX25hbWUpKSB7CkBAIC0xMzksNyArMTg1LDggQEAKIAkJZ290byBvdXQ7CiAJfQogCi0JaWYgKCF0cnlfbW9kdWxlX2dldChsdy0+bHdfb3BzLT5sbV9vd25lcikpIHsKKwlpZiAobHctPmx3X29wcy0+bG1fb3duZXIgJiYKKwkgICAgIXRyeV9tb2R1bGVfZ2V0KGx3LT5sd19vcHMtPmxtX293bmVyKSkgewogCQl0cnkgPSAwOwogCQltdXRleF91bmxvY2soJmxtaF9sb2NrKTsKIAkJbXNsZWVwKDEwMDApOwpAQCAtMTU4LDcgKzIwNSw4IEBACiB2b2lkIGdmczJfdW5tb3VudF9sb2NrcHJvdG8oc3RydWN0IGxtX2xvY2tzdHJ1Y3QgKmxvY2tzdHJ1Y3QpCiB7CiAJbXV0ZXhfbG9jaygmbG1oX2xvY2spOwotCWxvY2tzdHJ1Y3QtPmxzX29wcy0+bG1fdW5tb3VudChsb2Nrc3RydWN0LT5sc19sb2Nrc3BhY2UpOworCWlmIChsb2Nrc3RydWN0LT5sc19vcHMtPmxtX3VubW91bnQpCisJCWxvY2tzdHJ1Y3QtPmxzX29wcy0+bG1fdW5tb3VudChsb2Nrc3RydWN0LT5sc19sb2Nrc3BhY2UpOwogCWlmIChsb2Nrc3RydWN0LT5sc19vcHMtPmxtX293bmVyKQogCQltb2R1bGVfcHV0KGxvY2tzdHJ1Y3QtPmxzX29wcy0+bG1fb3duZXIpOwogCW11dGV4X3VubG9jaygmbG1oX2xvY2spOwpkaWZmIC0tZ2l0IGEvZnMvZ2ZzMi9sb2NraW5nL2RsbS9sb2NrLmMgYi9mcy9nZnMyL2xvY2tpbmcvZGxtL2xvY2suYwppbmRleCBjZjdlYThhLi4yNDgyYzkwIDEwMDY0NAotLS0gYS9mcy9nZnMyL2xvY2tpbmcvZGxtL2xvY2suYworKysgYi9mcy9nZnMyL2xvY2tpbmcvZGxtL2xvY2suYwpAQCAtMTEsMjcgKzExLDI4NyBAQAogCiBzdGF0aWMgY2hhciBqdW5rX2x2YltHRExNX0xWQl9TSVpFXTsKIAotc3RhdGljIHZvaWQgcXVldWVfY29tcGxldGUoc3RydWN0IGdkbG1fbG9jayAqbHApCisKKy8qIGNvbnZlcnQgZGxtIGxvY2stbW9kZSB0byBnZnMgbG9jay1zdGF0ZSAqLworCitzdGF0aWMgczE2IGdkbG1fbWFrZV9sbXN0YXRlKHMxNiBkbG1tb2RlKQoreworCXN3aXRjaCAoZGxtbW9kZSkgeworCWNhc2UgRExNX0xPQ0tfSVY6CisJY2FzZSBETE1fTE9DS19OTDoKKwkJcmV0dXJuIExNX1NUX1VOTE9DS0VEOworCWNhc2UgRExNX0xPQ0tfRVg6CisJCXJldHVybiBMTV9TVF9FWENMVVNJVkU7CisJY2FzZSBETE1fTE9DS19DVzoKKwkJcmV0dXJuIExNX1NUX0RFRkVSUkVEOworCWNhc2UgRExNX0xPQ0tfUFI6CisJCXJldHVybiBMTV9TVF9TSEFSRUQ7CisJfQorCWdkbG1fYXNzZXJ0KDAsICJ1bmtub3duIERMTSBtb2RlICVkIiwgZGxtbW9kZSk7CisJcmV0dXJuIC0xOworfQorCisvKiBBIGxvY2sgcGxhY2VkIG9uIHRoaXMgcXVldWUgaXMgcmUtc3VibWl0dGVkIHRvIERMTSBhcyBzb29uIGFzIHRoZSBsb2NrX2RsbQorICAgdGhyZWFkIGdldHMgdG8gaXQuICovCisKK3N0YXRpYyB2b2lkIHF1ZXVlX3N1Ym1pdChzdHJ1Y3QgZ2RsbV9sb2NrICpscCkKIHsKIAlzdHJ1Y3QgZ2RsbV9scyAqbHMgPSBscC0+bHM7CiAKLQljbGVhcl9iaXQoTEZMX0FDVElWRSwgJmxwLT5mbGFncyk7Ci0KIAlzcGluX2xvY2soJmxzLT5hc3luY19sb2NrKTsKLQlsaXN0X2FkZF90YWlsKCZscC0+Y2xpc3QsICZscy0+Y29tcGxldGUpOworCWxpc3RfYWRkX3RhaWwoJmxwLT5kZWxheV9saXN0LCAmbHMtPnN1Ym1pdCk7CiAJc3Bpbl91bmxvY2soJmxzLT5hc3luY19sb2NrKTsKIAl3YWtlX3VwKCZscy0+dGhyZWFkX3dhaXQpOwogfQogCi1zdGF0aWMgaW5saW5lIHZvaWQgZ2RsbV9hc3Qodm9pZCAqYXN0YXJnKQorc3RhdGljIHZvaWQgd2FrZV91cF9hc3Qoc3RydWN0IGdkbG1fbG9jayAqbHApCiB7Ci0JcXVldWVfY29tcGxldGUoYXN0YXJnKTsKKwljbGVhcl9iaXQoTEZMX0FTVF9XQUlULCAmbHAtPmZsYWdzKTsKKwlzbXBfbWJfX2FmdGVyX2NsZWFyX2JpdCgpOworCXdha2VfdXBfYml0KCZscC0+ZmxhZ3MsIExGTF9BU1RfV0FJVCk7CiB9CiAKLXN0YXRpYyBpbmxpbmUgdm9pZCBnZGxtX2Jhc3Qodm9pZCAqYXN0YXJnLCBpbnQgbW9kZSkKK3N0YXRpYyB2b2lkIGdkbG1fZGVsZXRlX2xwKHN0cnVjdCBnZGxtX2xvY2sgKmxwKQoreworCXN0cnVjdCBnZGxtX2xzICpscyA9IGxwLT5sczsKKworCXNwaW5fbG9jaygmbHMtPmFzeW5jX2xvY2spOworCWlmICghbGlzdF9lbXB0eSgmbHAtPmRlbGF5X2xpc3QpKQorCQlsaXN0X2RlbF9pbml0KCZscC0+ZGVsYXlfbGlzdCk7CisJbHMtPmFsbF9sb2Nrc19jb3VudC0tOworCXNwaW5fdW5sb2NrKCZscy0+YXN5bmNfbG9jayk7CisKKwlrZnJlZShscCk7Cit9CisKK3N0YXRpYyB2b2lkIGdkbG1fcXVldWVfZGVsYXllZChzdHJ1Y3QgZ2RsbV9sb2NrICpscCkKK3sKKwlzdHJ1Y3QgZ2RsbV9scyAqbHMgPSBscC0+bHM7CisKKwlzcGluX2xvY2soJmxzLT5hc3luY19sb2NrKTsKKwlsaXN0X2FkZF90YWlsKCZscC0+ZGVsYXlfbGlzdCwgJmxzLT5kZWxheWVkKTsKKwlzcGluX3VubG9jaygmbHMtPmFzeW5jX2xvY2spOworfQorCitzdGF0aWMgdm9pZCBwcm9jZXNzX2NvbXBsZXRlKHN0cnVjdCBnZGxtX2xvY2sgKmxwKQoreworCXN0cnVjdCBnZGxtX2xzICpscyA9IGxwLT5sczsKKwlzdHJ1Y3QgbG1fYXN5bmNfY2IgYWNiOworCisJbWVtc2V0KCZhY2IsIDAsIHNpemVvZihhY2IpKTsKKworCWlmIChscC0+bGtzYi5zYl9zdGF0dXMgPT0gLURMTV9FQ0FOQ0VMKSB7CisJCWxvZ19pbmZvKCJjb21wbGV0ZSBkbG0gY2FuY2VsICV4LCVsbHggZmxhZ3MgJWx4IiwKKwkJIAkgbHAtPmxvY2tuYW1lLmxuX3R5cGUsCisJCQkgKHVuc2lnbmVkIGxvbmcgbG9uZylscC0+bG9ja25hbWUubG5fbnVtYmVyLAorCQkJIGxwLT5mbGFncyk7CisKKwkJbHAtPnJlcSA9IGxwLT5jdXI7CisJCWFjYi5sY19yZXQgfD0gTE1fT1VUX0NBTkNFTEVEOworCQlpZiAobHAtPmN1ciA9PSBETE1fTE9DS19JVikKKwkJCWxwLT5sa3NiLnNiX2xraWQgPSAwOworCQlnb3RvIG91dDsKKwl9CisKKwlpZiAodGVzdF9hbmRfY2xlYXJfYml0KExGTF9ETE1fVU5MT0NLLCAmbHAtPmZsYWdzKSkgeworCQlpZiAobHAtPmxrc2Iuc2Jfc3RhdHVzICE9IC1ETE1fRVVOTE9DSykgeworCQkJbG9nX2luZm8oInVubG9jayBzYl9zdGF0dXMgJWQgJXgsJWxseCBmbGFncyAlbHgiLAorCQkJCSBscC0+bGtzYi5zYl9zdGF0dXMsIGxwLT5sb2NrbmFtZS5sbl90eXBlLAorCQkJCSAodW5zaWduZWQgbG9uZyBsb25nKWxwLT5sb2NrbmFtZS5sbl9udW1iZXIsCisJCQkJIGxwLT5mbGFncyk7CisJCQlyZXR1cm47CisJCX0KKworCQlscC0+Y3VyID0gRExNX0xPQ0tfSVY7CisJCWxwLT5yZXEgPSBETE1fTE9DS19JVjsKKwkJbHAtPmxrc2Iuc2JfbGtpZCA9IDA7CisKKwkJaWYgKHRlc3RfYW5kX2NsZWFyX2JpdChMRkxfVU5MT0NLX0RFTEVURSwgJmxwLT5mbGFncykpIHsKKwkJCWdkbG1fZGVsZXRlX2xwKGxwKTsKKwkJCXJldHVybjsKKwkJfQorCQlnb3RvIG91dDsKKwl9CisKKwlpZiAobHAtPmxrc2Iuc2JfZmxhZ3MgJiBETE1fU0JGX1ZBTE5PVFZBTElEKQorCQltZW1zZXQobHAtPmxrc2Iuc2JfbHZicHRyLCAwLCBHRExNX0xWQl9TSVpFKTsKKworCWlmIChscC0+bGtzYi5zYl9mbGFncyAmIERMTV9TQkZfQUxUTU9ERSkgeworCQlpZiAobHAtPnJlcSA9PSBETE1fTE9DS19QUikKKwkJCWxwLT5yZXEgPSBETE1fTE9DS19DVzsKKwkJZWxzZSBpZiAobHAtPnJlcSA9PSBETE1fTE9DS19DVykKKwkJCWxwLT5yZXEgPSBETE1fTE9DS19QUjsKKwl9CisKKwkvKgorCSAqIEEgY2FuY2VsZWQgbG9jayByZXF1ZXN0LiAgVGhlIGxvY2sgd2FzIGp1c3QgdGFrZW4gb2ZmIHRoZSBkZWxheWVkCisJICogbGlzdCBhbmQgd2FzIG5ldmVyIGV2ZW4gc3VibWl0dGVkIHRvIGRsbS4KKwkgKi8KKworCWlmICh0ZXN0X2FuZF9jbGVhcl9iaXQoTEZMX0NBTkNFTCwgJmxwLT5mbGFncykpIHsKKwkJbG9nX2luZm8oImNvbXBsZXRlIGludGVybmFsIGNhbmNlbCAleCwlbGx4IiwKKwkJIAkgbHAtPmxvY2tuYW1lLmxuX3R5cGUsCisJCQkgKHVuc2lnbmVkIGxvbmcgbG9uZylscC0+bG9ja25hbWUubG5fbnVtYmVyKTsKKwkJbHAtPnJlcSA9IGxwLT5jdXI7CisJCWFjYi5sY19yZXQgfD0gTE1fT1VUX0NBTkNFTEVEOworCQlnb3RvIG91dDsKKwl9CisKKwkvKgorCSAqIEFuIGVycm9yIG9jY3VyZWQuCisJICovCisKKwlpZiAobHAtPmxrc2Iuc2Jfc3RhdHVzKSB7CisJCS8qIGEgIm5vcm1hbCIgZXJyb3IgKi8KKwkJaWYgKChscC0+bGtzYi5zYl9zdGF0dXMgPT0gLUVBR0FJTikgJiYKKwkJICAgIChscC0+bGtmICYgRExNX0xLRl9OT1FVRVVFKSkgeworCQkJbHAtPnJlcSA9IGxwLT5jdXI7CisJCQlpZiAobHAtPmN1ciA9PSBETE1fTE9DS19JVikKKwkJCQlscC0+bGtzYi5zYl9sa2lkID0gMDsKKwkJCWdvdG8gb3V0OworCQl9CisKKwkJLyogdGhpcyBjb3VsZCBvbmx5IGhhcHBlbiB3aXRoIGNhbmNlbHMgSSB0aGluayAqLworCQlsb2dfaW5mbygiYXN0IHNiX3N0YXR1cyAlZCAleCwlbGx4IGZsYWdzICVseCIsCisJCQkgbHAtPmxrc2Iuc2Jfc3RhdHVzLCBscC0+bG9ja25hbWUubG5fdHlwZSwKKwkJCSAodW5zaWduZWQgbG9uZyBsb25nKWxwLT5sb2NrbmFtZS5sbl9udW1iZXIsCisJCQkgbHAtPmZsYWdzKTsKKwkJcmV0dXJuOworCX0KKworCS8qCisJICogVGhpcyBpcyBhbiBBU1QgZm9yIGFuIEVYLT5FWCBjb252ZXJzaW9uIGZvciBzeW5jX2x2YiBmcm9tIEdGUy4KKwkgKi8KKworCWlmICh0ZXN0X2FuZF9jbGVhcl9iaXQoTEZMX1NZTkNfTFZCLCAmbHAtPmZsYWdzKSkgeworCQl3YWtlX3VwX2FzdChscCk7CisJCXJldHVybjsKKwl9CisKKwkvKgorCSAqIEEgbG9jayBoYXMgYmVlbiBkZW1vdGVkIHRvIE5MIGJlY2F1c2UgaXQgaW5pdGlhbGx5IGNvbXBsZXRlZCBkdXJpbmcKKwkgKiBCTE9DS19MT0NLUy4gIE5vdyBpdCBtdXN0IGJlIHJlcXVlc3RlZCBpbiB0aGUgb3JpZ2luYWxseSByZXF1ZXN0ZWQKKwkgKiBtb2RlLgorCSAqLworCisJaWYgKHRlc3RfYW5kX2NsZWFyX2JpdChMRkxfUkVSRVFVRVNULCAmbHAtPmZsYWdzKSkgeworCQlnZGxtX2Fzc2VydChscC0+cmVxID09IERMTV9MT0NLX05MLCAiJXgsJWxseCIsCisJCQkgICAgbHAtPmxvY2tuYW1lLmxuX3R5cGUsCisJCQkgICAgKHVuc2lnbmVkIGxvbmcgbG9uZylscC0+bG9ja25hbWUubG5fbnVtYmVyKTsKKwkJZ2RsbV9hc3NlcnQobHAtPnByZXZfcmVxID4gRExNX0xPQ0tfTkwsICIleCwlbGx4IiwKKwkJCSAgICBscC0+bG9ja25hbWUubG5fdHlwZSwKKwkJCSAgICAodW5zaWduZWQgbG9uZyBsb25nKWxwLT5sb2NrbmFtZS5sbl9udW1iZXIpOworCisJCWxwLT5jdXIgPSBETE1fTE9DS19OTDsKKwkJbHAtPnJlcSA9IGxwLT5wcmV2X3JlcTsKKwkJbHAtPnByZXZfcmVxID0gRExNX0xPQ0tfSVY7CisJCWxwLT5sa2YgJj0gfkRMTV9MS0ZfQ09OVkRFQURMSzsKKworCQlzZXRfYml0KExGTF9OT0NBQ0hFLCAmbHAtPmZsYWdzKTsKKworCQlpZiAodGVzdF9iaXQoREZMX0JMT0NLX0xPQ0tTLCAmbHMtPmZsYWdzKSAmJgorCQkgICAgIXRlc3RfYml0KExGTF9OT0JMT0NLLCAmbHAtPmZsYWdzKSkKKwkJCWdkbG1fcXVldWVfZGVsYXllZChscCk7CisJCWVsc2UKKwkJCXF1ZXVlX3N1Ym1pdChscCk7CisJCXJldHVybjsKKwl9CisKKwkvKgorCSAqIEEgcmVxdWVzdCBpcyBncmFudGVkIGR1cmluZyBkbG0gcmVjb3ZlcnkuICBJdCBtYXkgYmUgZ3JhbnRlZAorCSAqIGJlY2F1c2UgdGhlIGxvY2tzIG9mIGEgZmFpbGVkIG5vZGUgd2VyZSBjbGVhcmVkLiAgSW4gdGhhdCBjYXNlLAorCSAqIHRoZXJlIG1heSBiZSBpbmNvbnNpc3RlbnQgZGF0YSBiZW5lYXRoIHRoaXMgbG9jayBhbmQgd2UgbXVzdCB3YWl0CisJICogZm9yIHJlY292ZXJ5IHRvIGNvbXBsZXRlIHRvIHVzZSBpdC4gIFdoZW4gZ2ZzIHJlY292ZXJ5IGlzIGRvbmUgdGhpcworCSAqIGdyYW50ZWQgbG9jayB3aWxsIGJlIGNvbnZlcnRlZCB0byBOTCBhbmQgdGhlbiByZWFjcXVpcmVkIGluIHRoaXMKKwkgKiBncmFudGVkIHN0YXRlLgorCSAqLworCisJaWYgKHRlc3RfYml0KERGTF9CTE9DS19MT0NLUywgJmxzLT5mbGFncykgJiYKKwkgICAgIXRlc3RfYml0KExGTF9OT0JMT0NLLCAmbHAtPmZsYWdzKSAmJgorCSAgICBscC0+cmVxICE9IERMTV9MT0NLX05MKSB7CisKKwkJbHAtPmN1ciA9IGxwLT5yZXE7CisJCWxwLT5wcmV2X3JlcSA9IGxwLT5yZXE7CisJCWxwLT5yZXEgPSBETE1fTE9DS19OTDsKKwkJbHAtPmxrZiB8PSBETE1fTEtGX0NPTlZFUlQ7CisJCWxwLT5sa2YgJj0gfkRMTV9MS0ZfQ09OVkRFQURMSzsKKworCQlsb2dfZGVidWcoInJlcmVxICV4LCVsbHggaWQgJXggJWQsJWQiLAorCQkJICBscC0+bG9ja25hbWUubG5fdHlwZSwKKwkJCSAgKHVuc2lnbmVkIGxvbmcgbG9uZylscC0+bG9ja25hbWUubG5fbnVtYmVyLAorCQkJICBscC0+bGtzYi5zYl9sa2lkLCBscC0+Y3VyLCBscC0+cmVxKTsKKworCQlzZXRfYml0KExGTF9SRVJFUVVFU1QsICZscC0+ZmxhZ3MpOworCQlxdWV1ZV9zdWJtaXQobHApOworCQlyZXR1cm47CisJfQorCisJLyoKKwkgKiBETE0gZGVtb3RlZCB0aGUgbG9jayB0byBOTCBiZWZvcmUgaXQgd2FzIGdyYW50ZWQgc28gR0ZTIG11c3QgYmUKKwkgKiB0b2xkIGl0IGNhbm5vdCBjYWNoZSBkYXRhIGZvciB0aGlzIGxvY2suCisJICovCisKKwlpZiAobHAtPmxrc2Iuc2JfZmxhZ3MgJiBETE1fU0JGX0RFTU9URUQpCisJCXNldF9iaXQoTEZMX05PQ0FDSEUsICZscC0+ZmxhZ3MpOworCitvdXQ6CisJLyoKKwkgKiBUaGlzIGlzIGFuIGludGVybmFsIGxvY2tfZGxtIGxvY2sKKwkgKi8KKworCWlmICh0ZXN0X2JpdChMRkxfSU5MT0NLLCAmbHAtPmZsYWdzKSkgeworCQljbGVhcl9iaXQoTEZMX05PQkxPQ0ssICZscC0+ZmxhZ3MpOworCQlscC0+Y3VyID0gbHAtPnJlcTsKKwkJd2FrZV91cF9hc3QobHApOworCQlyZXR1cm47CisJfQorCisJLyoKKwkgKiBOb3JtYWwgY29tcGxldGlvbiBvZiBhIGxvY2sgcmVxdWVzdC4gIFRlbGwgR0ZTIGl0IG5vdyBoYXMgdGhlIGxvY2suCisJICovCisKKwljbGVhcl9iaXQoTEZMX05PQkxPQ0ssICZscC0+ZmxhZ3MpOworCWxwLT5jdXIgPSBscC0+cmVxOworCisJYWNiLmxjX25hbWUgPSBscC0+bG9ja25hbWU7CisJYWNiLmxjX3JldCB8PSBnZGxtX21ha2VfbG1zdGF0ZShscC0+Y3VyKTsKKworCWxzLT5mc2NiKGxzLT5zZHAsIExNX0NCX0FTWU5DLCAmYWNiKTsKK30KKworc3RhdGljIHZvaWQgZ2RsbV9hc3Qodm9pZCAqYXN0YXJnKQogewogCXN0cnVjdCBnZGxtX2xvY2sgKmxwID0gYXN0YXJnOworCWNsZWFyX2JpdChMRkxfQUNUSVZFLCAmbHAtPmZsYWdzKTsKKwlwcm9jZXNzX2NvbXBsZXRlKGxwKTsKK30KKworc3RhdGljIHZvaWQgcHJvY2Vzc19ibG9ja2luZyhzdHJ1Y3QgZ2RsbV9sb2NrICpscCwgaW50IGJhc3RfbW9kZSkKK3sKIAlzdHJ1Y3QgZ2RsbV9scyAqbHMgPSBscC0+bHM7CisJdW5zaWduZWQgaW50IGNiID0gMDsKKworCXN3aXRjaCAoZ2RsbV9tYWtlX2xtc3RhdGUoYmFzdF9tb2RlKSkgeworCWNhc2UgTE1fU1RfRVhDTFVTSVZFOgorCQljYiA9IExNX0NCX05FRURfRTsKKwkJYnJlYWs7CisJY2FzZSBMTV9TVF9ERUZFUlJFRDoKKwkJY2IgPSBMTV9DQl9ORUVEX0Q7CisJCWJyZWFrOworCWNhc2UgTE1fU1RfU0hBUkVEOgorCQljYiA9IExNX0NCX05FRURfUzsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJZ2RsbV9hc3NlcnQoMCwgInVua25vd24gYmFzdCBtb2RlICV1IiwgYmFzdF9tb2RlKTsKKwl9CisKKwlscy0+ZnNjYihscy0+c2RwLCBjYiwgJmxwLT5sb2NrbmFtZSk7Cit9CisKKworc3RhdGljIHZvaWQgZ2RsbV9iYXN0KHZvaWQgKmFzdGFyZywgaW50IG1vZGUpCit7CisJc3RydWN0IGdkbG1fbG9jayAqbHAgPSBhc3Rhcmc7CiAKIAlpZiAoIW1vZGUpIHsKIAkJcHJpbnRrKEtFUk5fSU5GTyAibG9ja19kbG06IGJhc3QgbW9kZSB6ZXJvICV4LCVsbHhcbiIsCkBAIC00MCwyMyArMzAwLDcgQEAKIAkJcmV0dXJuOwogCX0KIAotCXNwaW5fbG9jaygmbHMtPmFzeW5jX2xvY2spOwotCWlmICghbHAtPmJhc3RfbW9kZSkgewotCQlsaXN0X2FkZF90YWlsKCZscC0+Ymxpc3QsICZscy0+YmxvY2tpbmcpOwotCQlscC0+YmFzdF9tb2RlID0gbW9kZTsKLQl9IGVsc2UgaWYgKGxwLT5iYXN0X21vZGUgPCBtb2RlKQotCQlscC0+YmFzdF9tb2RlID0gbW9kZTsKLQlzcGluX3VubG9jaygmbHMtPmFzeW5jX2xvY2spOwotCXdha2VfdXAoJmxzLT50aHJlYWRfd2FpdCk7Ci19Ci0KLXZvaWQgZ2RsbV9xdWV1ZV9kZWxheWVkKHN0cnVjdCBnZGxtX2xvY2sgKmxwKQotewotCXN0cnVjdCBnZGxtX2xzICpscyA9IGxwLT5sczsKLQotCXNwaW5fbG9jaygmbHMtPmFzeW5jX2xvY2spOwotCWxpc3RfYWRkX3RhaWwoJmxwLT5kZWxheV9saXN0LCAmbHMtPmRlbGF5ZWQpOwotCXNwaW5fdW5sb2NrKCZscy0+YXN5bmNfbG9jayk7CisJcHJvY2Vzc19ibG9ja2luZyhscCwgbW9kZSk7CiB9CiAKIC8qIGNvbnZlcnQgZ2ZzIGxvY2stc3RhdGUgdG8gZGxtIGxvY2stbW9kZSAqLwpAQCAtNzcsMjQgKzMyMSw2IEBACiAJcmV0dXJuIC0xOwogfQogCi0vKiBjb252ZXJ0IGRsbSBsb2NrLW1vZGUgdG8gZ2ZzIGxvY2stc3RhdGUgKi8KLQotczE2IGdkbG1fbWFrZV9sbXN0YXRlKHMxNiBkbG1tb2RlKQotewotCXN3aXRjaCAoZGxtbW9kZSkgewotCWNhc2UgRExNX0xPQ0tfSVY6Ci0JY2FzZSBETE1fTE9DS19OTDoKLQkJcmV0dXJuIExNX1NUX1VOTE9DS0VEOwotCWNhc2UgRExNX0xPQ0tfRVg6Ci0JCXJldHVybiBMTV9TVF9FWENMVVNJVkU7Ci0JY2FzZSBETE1fTE9DS19DVzoKLQkJcmV0dXJuIExNX1NUX0RFRkVSUkVEOwotCWNhc2UgRExNX0xPQ0tfUFI6Ci0JCXJldHVybiBMTV9TVF9TSEFSRUQ7Ci0JfQotCWdkbG1fYXNzZXJ0KDAsICJ1bmtub3duIERMTSBtb2RlICVkIiwgZGxtbW9kZSk7Ci0JcmV0dXJuIC0xOwotfQogCiAvKiB2ZXJpZnkgYWdyZWVtZW50IHdpdGggR0ZTIG9uIHRoZSBjdXJyZW50IGxvY2sgc3RhdGUsIE5COiBETE1fTE9DS19OTCBhbmQKICAgIERMTV9MT0NLX0lWIGFyZSBib3RoIGNvbnNpZGVyZWQgTE1fU1RfVU5MT0NLRUQgYnkgR0ZTLiAqLwpAQCAtMTM0LDE0ICszNjAsNiBAQAogCiAJaWYgKGxwLT5sa3NiLnNiX2xraWQgIT0gMCkgewogCQlsa2YgfD0gRExNX0xLRl9DT05WRVJUOwotCi0JCS8qIENvbnZlcnNpb24gZGVhZGxvY2sgYXZvaWRhbmNlIGJ5IERMTSAqLwotCi0JCWlmICghKGxwLT5scy0+ZnNmbGFncyAmIExNX01GTEFHX0NPTlZfTk9EUk9QKSAmJgotCQkgICAgIXRlc3RfYml0KExGTF9GT1JDRV9QUk9NT1RFLCAmbHAtPmZsYWdzKSAmJgotCQkgICAgIShsa2YgJiBETE1fTEtGX05PUVVFVUUpICYmCi0JCSAgICBjdXIgPiBETE1fTE9DS19OTCAmJiByZXEgPiBETE1fTE9DS19OTCAmJiBjdXIgIT0gcmVxKQotCQkJbGtmIHw9IERMTV9MS0ZfQ09OVkRFQURMSzsKIAl9CiAKIAlpZiAobHAtPmx2YikKQEAgLTE3MywxNCArMzkxLDkgQEAKIAltYWtlX3N0cm5hbWUobmFtZSwgJmxwLT5zdHJuYW1lKTsKIAlscC0+bHMgPSBsczsKIAlscC0+Y3VyID0gRExNX0xPQ0tfSVY7Ci0JbHAtPmx2YiA9IE5VTEw7Ci0JbHAtPmhvbGRfbnVsbCA9IE5VTEw7Ci0JSU5JVF9MSVNUX0hFQUQoJmxwLT5jbGlzdCk7Ci0JSU5JVF9MSVNUX0hFQUQoJmxwLT5ibGlzdCk7CiAJSU5JVF9MSVNUX0hFQUQoJmxwLT5kZWxheV9saXN0KTsKIAogCXNwaW5fbG9jaygmbHMtPmFzeW5jX2xvY2spOwotCWxpc3RfYWRkKCZscC0+YWxsX2xpc3QsICZscy0+YWxsX2xvY2tzKTsKIAlscy0+YWxsX2xvY2tzX2NvdW50Kys7CiAJc3Bpbl91bmxvY2soJmxzLT5hc3luY19sb2NrKTsKIApAQCAtMTg4LDI2ICs0MDEsNiBAQAogCXJldHVybiAwOwogfQogCi12b2lkIGdkbG1fZGVsZXRlX2xwKHN0cnVjdCBnZGxtX2xvY2sgKmxwKQotewotCXN0cnVjdCBnZGxtX2xzICpscyA9IGxwLT5sczsKLQotCXNwaW5fbG9jaygmbHMtPmFzeW5jX2xvY2spOwotCWlmICghbGlzdF9lbXB0eSgmbHAtPmNsaXN0KSkKLQkJbGlzdF9kZWxfaW5pdCgmbHAtPmNsaXN0KTsKLQlpZiAoIWxpc3RfZW1wdHkoJmxwLT5ibGlzdCkpCi0JCWxpc3RfZGVsX2luaXQoJmxwLT5ibGlzdCk7Ci0JaWYgKCFsaXN0X2VtcHR5KCZscC0+ZGVsYXlfbGlzdCkpCi0JCWxpc3RfZGVsX2luaXQoJmxwLT5kZWxheV9saXN0KTsKLQlnZGxtX2Fzc2VydCghbGlzdF9lbXB0eSgmbHAtPmFsbF9saXN0KSwgIiV4LCVsbHgiLCBscC0+bG9ja25hbWUubG5fdHlwZSwKLQkJICAgICh1bnNpZ25lZCBsb25nIGxvbmcpbHAtPmxvY2tuYW1lLmxuX251bWJlcik7Ci0JbGlzdF9kZWxfaW5pdCgmbHAtPmFsbF9saXN0KTsKLQlscy0+YWxsX2xvY2tzX2NvdW50LS07Ci0Jc3Bpbl91bmxvY2soJmxzLT5hc3luY19sb2NrKTsKLQotCWtmcmVlKGxwKTsKLX0KLQogaW50IGdkbG1fZ2V0X2xvY2sodm9pZCAqbG9ja3NwYWNlLCBzdHJ1Y3QgbG1fbG9ja25hbWUgKm5hbWUsCiAJCSAgdm9pZCAqKmxvY2twKQogewpAQCAtMjYxLDcgKzQ1NCw3IEBACiAKIAlpZiAoKGVycm9yID09IC1FQUdBSU4pICYmIChscC0+bGtmICYgRExNX0xLRl9OT1FVRVVFKSkgewogCQlscC0+bGtzYi5zYl9zdGF0dXMgPSAtRUFHQUlOOwotCQlxdWV1ZV9jb21wbGV0ZShscCk7CisJCWdkbG1fYXN0KGxwKTsKIAkJZXJyb3IgPSAwOwogCX0KIApAQCAtMzA4LDYgKzUwMSwxMiBAQAogewogCXN0cnVjdCBnZGxtX2xvY2sgKmxwID0gbG9jazsKIAorCWlmIChyZXFfc3RhdGUgPT0gTE1fU1RfVU5MT0NLRUQpCisJCXJldHVybiBnZGxtX3VubG9jayhsb2NrLCBjdXJfc3RhdGUpOworCisJaWYgKHJlcV9zdGF0ZSA9PSBMTV9TVF9VTkxPQ0tFRCkKKwkJcmV0dXJuIGdkbG1fdW5sb2NrKGxvY2ssIGN1cl9zdGF0ZSk7CisKIAljbGVhcl9iaXQoTEZMX0RMTV9DQU5DRUwsICZscC0+ZmxhZ3MpOwogCWlmIChmbGFncyAmIExNX0ZMQUdfTk9FWFApCiAJCXNldF9iaXQoTEZMX05PQkxPQ0ssICZscC0+ZmxhZ3MpOwpAQCAtMzUxLDcgKzU1MCw3IEBACiAJaWYgKGRlbGF5X2xpc3QpIHsKIAkJc2V0X2JpdChMRkxfQ0FOQ0VMLCAmbHAtPmZsYWdzKTsKIAkJc2V0X2JpdChMRkxfQUNUSVZFLCAmbHAtPmZsYWdzKTsKLQkJcXVldWVfY29tcGxldGUobHApOworCQlnZGxtX2FzdChscCk7CiAJCXJldHVybjsKIAl9CiAKQEAgLTUwNywyMiArNzA2LDMgQEAKIAl3YWtlX3VwKCZscy0+dGhyZWFkX3dhaXQpOwogfQogCi1pbnQgZ2RsbV9yZWxlYXNlX2FsbF9sb2NrcyhzdHJ1Y3QgZ2RsbV9scyAqbHMpCi17Ci0Jc3RydWN0IGdkbG1fbG9jayAqbHAsICpzYWZlOwotCWludCBjb3VudCA9IDA7Ci0KLQlzcGluX2xvY2soJmxzLT5hc3luY19sb2NrKTsKLQlsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUobHAsIHNhZmUsICZscy0+YWxsX2xvY2tzLCBhbGxfbGlzdCkgewotCQlsaXN0X2RlbF9pbml0KCZscC0+YWxsX2xpc3QpOwotCi0JCWlmIChscC0+bHZiICYmIGxwLT5sdmIgIT0ganVua19sdmIpCi0JCQlrZnJlZShscC0+bHZiKTsKLQkJa2ZyZWUobHApOwotCQljb3VudCsrOwotCX0KLQlzcGluX3VubG9jaygmbHMtPmFzeW5jX2xvY2spOwotCi0JcmV0dXJuIGNvdW50OwotfQotCmRpZmYgLS1naXQgYS9mcy9nZnMyL2xvY2tpbmcvZGxtL2xvY2tfZGxtLmggYi9mcy9nZnMyL2xvY2tpbmcvZGxtL2xvY2tfZGxtLmgKaW5kZXggYTI0M2NmNi4uM2M5OGU3YyAxMDA2NDQKLS0tIGEvZnMvZ2ZzMi9sb2NraW5nL2RsbS9sb2NrX2RsbS5oCisrKyBiL2ZzL2dmczIvbG9ja2luZy9kbG0vbG9ja19kbG0uaApAQCAtNzIsMTkgKzcyLDEyIEBACiAJaW50CQkJcmVjb3Zlcl9qaWRfZG9uZTsKIAlpbnQJCQlyZWNvdmVyX2ppZF9zdGF0dXM7CiAJc3BpbmxvY2tfdAkJYXN5bmNfbG9jazsKLQlzdHJ1Y3QgbGlzdF9oZWFkCWNvbXBsZXRlOwotCXN0cnVjdCBsaXN0X2hlYWQJYmxvY2tpbmc7CiAJc3RydWN0IGxpc3RfaGVhZAlkZWxheWVkOwogCXN0cnVjdCBsaXN0X2hlYWQJc3VibWl0OwotCXN0cnVjdCBsaXN0X2hlYWQJYWxsX2xvY2tzOwogCXUzMgkJYWxsX2xvY2tzX2NvdW50OwogCXdhaXRfcXVldWVfaGVhZF90CXdhaXRfY29udHJvbDsKLQlzdHJ1Y3QgdGFza19zdHJ1Y3QJKnRocmVhZDE7Ci0Jc3RydWN0IHRhc2tfc3RydWN0CSp0aHJlYWQyOworCXN0cnVjdCB0YXNrX3N0cnVjdAkqdGhyZWFkOwogCXdhaXRfcXVldWVfaGVhZF90CXRocmVhZF93YWl0OwotCXVuc2lnbmVkIGxvbmcJCWRyb3BfdGltZTsKLQlpbnQJCQlkcm9wX2xvY2tzX2NvdW50OwotCWludAkJCWRyb3BfbG9ja3NfcGVyaW9kOwogfTsKIAogZW51bSB7CkBAIC0xMTcsMTIgKzExMCw3IEBACiAJdTMyCQkJbGtmOwkJLyogZGxtIGZsYWdzIERMTV9MS0ZfICovCiAJdW5zaWduZWQgbG9uZwkJZmxhZ3M7CQkvKiBsb2NrX2RsbSBmbGFncyBMRkxfICovCiAKLQlpbnQJCQliYXN0X21vZGU7CS8qIHByb3RlY3RlZCBieSBhc3luY19sb2NrICovCi0KLQlzdHJ1Y3QgbGlzdF9oZWFkCWNsaXN0OwkJLyogY29tcGxldGUgKi8KLQlzdHJ1Y3QgbGlzdF9oZWFkCWJsaXN0OwkJLyogYmxvY2tpbmcgKi8KIAlzdHJ1Y3QgbGlzdF9oZWFkCWRlbGF5X2xpc3Q7CS8qIGRlbGF5ZWQgKi8KLQlzdHJ1Y3QgbGlzdF9oZWFkCWFsbF9saXN0OwkvKiBhbGwgbG9ja3MgZm9yIHRoZSBmcyAqLwogCXN0cnVjdCBnZGxtX2xvY2sJKmhvbGRfbnVsbDsJLyogTkwgbG9jayBmb3IgaG9sZF9sdmIgKi8KIH07CiAKQEAgLTE1OSwxMSArMTQ3LDcgQEAKIAogLyogbG9jay5jICovCiAKLXMxNiBnZGxtX21ha2VfbG1zdGF0ZShzMTYpOwotdm9pZCBnZGxtX3F1ZXVlX2RlbGF5ZWQoc3RydWN0IGdkbG1fbG9jayAqKTsKIHZvaWQgZ2RsbV9zdWJtaXRfZGVsYXllZChzdHJ1Y3QgZ2RsbV9scyAqKTsKLWludCBnZGxtX3JlbGVhc2VfYWxsX2xvY2tzKHN0cnVjdCBnZGxtX2xzICopOwotdm9pZCBnZGxtX2RlbGV0ZV9scChzdHJ1Y3QgZ2RsbV9sb2NrICopOwogdW5zaWduZWQgaW50IGdkbG1fZG9fbG9jayhzdHJ1Y3QgZ2RsbV9sb2NrICopOwogCiBpbnQgZ2RsbV9nZXRfbG9jayh2b2lkICosIHN0cnVjdCBsbV9sb2NrbmFtZSAqLCB2b2lkICoqKTsKZGlmZiAtLWdpdCBhL2ZzL2dmczIvbG9ja2luZy9kbG0vbW91bnQuYyBiL2ZzL2dmczIvbG9ja2luZy9kbG0vbW91bnQuYwppbmRleCA0NzBiZGY2Li4wOWQ3OGMyIDEwMDY0NAotLS0gYS9mcy9nZnMyL2xvY2tpbmcvZGxtL21vdW50LmMKKysrIGIvZnMvZ2ZzMi9sb2NraW5nL2RsbS9tb3VudC5jCkBAIC0yMiwyMiArMjIsMTQgQEAKIAlpZiAoIWxzKQogCQlyZXR1cm4gTlVMTDsKIAotCWxzLT5kcm9wX2xvY2tzX2NvdW50ID0gR0RMTV9EUk9QX0NPVU5UOwotCWxzLT5kcm9wX2xvY2tzX3BlcmlvZCA9IEdETE1fRFJPUF9QRVJJT0Q7CiAJbHMtPmZzY2IgPSBjYjsKIAlscy0+c2RwID0gc2RwOwogCWxzLT5mc2ZsYWdzID0gZmxhZ3M7CiAJc3Bpbl9sb2NrX2luaXQoJmxzLT5hc3luY19sb2NrKTsKLQlJTklUX0xJU1RfSEVBRCgmbHMtPmNvbXBsZXRlKTsKLQlJTklUX0xJU1RfSEVBRCgmbHMtPmJsb2NraW5nKTsKIAlJTklUX0xJU1RfSEVBRCgmbHMtPmRlbGF5ZWQpOwogCUlOSVRfTElTVF9IRUFEKCZscy0+c3VibWl0KTsKLQlJTklUX0xJU1RfSEVBRCgmbHMtPmFsbF9sb2Nrcyk7CiAJaW5pdF93YWl0cXVldWVfaGVhZCgmbHMtPnRocmVhZF93YWl0KTsKIAlpbml0X3dhaXRxdWV1ZV9oZWFkKCZscy0+d2FpdF9jb250cm9sKTsKLQlscy0+dGhyZWFkMSA9IE5VTEw7Ci0JbHMtPnRocmVhZDIgPSBOVUxMOwotCWxzLT5kcm9wX3RpbWUgPSBqaWZmaWVzOwogCWxzLT5qaWQgPSAtMTsKIAogCXN0cm5jcHkoYnVmLCB0YWJsZV9uYW1lLCAyNTYpOwpAQCAtMTgwLDcgKzE3Miw2IEBACiBzdGF0aWMgdm9pZCBnZGxtX3VubW91bnQodm9pZCAqbG9ja3NwYWNlKQogewogCXN0cnVjdCBnZGxtX2xzICpscyA9IGxvY2tzcGFjZTsKLQlpbnQgcnY7CiAKIAlsb2dfZGVidWcoInVubW91bnQgZmxhZ3MgJWx4IiwgbHMtPmZsYWdzKTsKIApAQCAtMTk0LDkgKzE4NSw3IEBACiAJZ2RsbV9rb2JqZWN0X3JlbGVhc2UobHMpOwogCWRsbV9yZWxlYXNlX2xvY2tzcGFjZShscy0+ZGxtX2xvY2tzcGFjZSwgMik7CiAJZ2RsbV9yZWxlYXNlX3RocmVhZHMobHMpOwotCXJ2ID0gZ2RsbV9yZWxlYXNlX2FsbF9sb2Nrcyhscyk7Ci0JaWYgKHJ2KQotCQlsb2dfaW5mbygiZ2RsbV91bm1vdW50OiAlZCBzdHJheSBsb2NrcyBmcmVlZCIsIHJ2KTsKKwlCVUdfT04obHMtPmFsbF9sb2Nrc19jb3VudCk7CiBvdXQ6CiAJa2ZyZWUobHMpOwogfQpAQCAtMjMyLDcgKzIyMSw2IEBACiAKIAlkbG1fcmVsZWFzZV9sb2Nrc3BhY2UobHMtPmRsbV9sb2Nrc3BhY2UsIDIpOwogCWdkbG1fcmVsZWFzZV90aHJlYWRzKGxzKTsKLQlnZGxtX3JlbGVhc2VfYWxsX2xvY2tzKGxzKTsKIAlnZGxtX2tvYmplY3RfcmVsZWFzZShscyk7CiB9CiAKZGlmZiAtLWdpdCBhL2ZzL2dmczIvbG9ja2luZy9kbG0vc3lzZnMuYyBiL2ZzL2dmczIvbG9ja2luZy9kbG0vc3lzZnMuYwppbmRleCBhNGZmMjcxLi40ZWM1NzFjIDEwMDY0NAotLS0gYS9mcy9nZnMyL2xvY2tpbmcvZGxtL3N5c2ZzLmMKKysrIGIvZnMvZ2ZzMi9sb2NraW5nL2RsbS9zeXNmcy5jCkBAIC0xMTQsMTcgKzExNCw2IEBACiAJcmV0dXJuIHNwcmludGYoYnVmLCAiJWRcbiIsIGxzLT5yZWNvdmVyX2ppZF9zdGF0dXMpOwogfQogCi1zdGF0aWMgc3NpemVfdCBkcm9wX2NvdW50X3Nob3coc3RydWN0IGdkbG1fbHMgKmxzLCBjaGFyICpidWYpCi17Ci0JcmV0dXJuIHNwcmludGYoYnVmLCAiJWRcbiIsIGxzLT5kcm9wX2xvY2tzX2NvdW50KTsKLX0KLQotc3RhdGljIHNzaXplX3QgZHJvcF9jb3VudF9zdG9yZShzdHJ1Y3QgZ2RsbV9scyAqbHMsIGNvbnN0IGNoYXIgKmJ1Ziwgc2l6ZV90IGxlbikKLXsKLQlscy0+ZHJvcF9sb2Nrc19jb3VudCA9IHNpbXBsZV9zdHJ0b2woYnVmLCBOVUxMLCAwKTsKLQlyZXR1cm4gbGVuOwotfQotCiBzdHJ1Y3QgZ2RsbV9hdHRyIHsKIAlzdHJ1Y3QgYXR0cmlidXRlIGF0dHI7CiAJc3NpemVfdCAoKnNob3cpKHN0cnVjdCBnZGxtX2xzICosIGNoYXIgKik7CkBAIC0xNDQsNyArMTMzLDYgQEAKIEdETE1fQVRUUihyZWNvdmVyLCAgICAgICAgMDY0NCwgcmVjb3Zlcl9zaG93LCAgICAgICAgcmVjb3Zlcl9zdG9yZSk7CiBHRExNX0FUVFIocmVjb3Zlcl9kb25lLCAgIDA0NDQsIHJlY292ZXJfZG9uZV9zaG93LCAgIE5VTEwpOwogR0RMTV9BVFRSKHJlY292ZXJfc3RhdHVzLCAwNDQ0LCByZWNvdmVyX3N0YXR1c19zaG93LCBOVUxMKTsKLUdETE1fQVRUUihkcm9wX2NvdW50LCAgICAgMDY0NCwgZHJvcF9jb3VudF9zaG93LCAgICAgZHJvcF9jb3VudF9zdG9yZSk7CiAKIHN0YXRpYyBzdHJ1Y3QgYXR0cmlidXRlICpnZGxtX2F0dHJzW10gPSB7CiAJJmdkbG1fYXR0cl9wcm90b19uYW1lLmF0dHIsCkBAIC0xNTcsNyArMTQ1LDYgQEAKIAkmZ2RsbV9hdHRyX3JlY292ZXIuYXR0ciwKIAkmZ2RsbV9hdHRyX3JlY292ZXJfZG9uZS5hdHRyLAogCSZnZGxtX2F0dHJfcmVjb3Zlcl9zdGF0dXMuYXR0ciwKLQkmZ2RsbV9hdHRyX2Ryb3BfY291bnQuYXR0ciwKIAlOVUxMLAogfTsKIApkaWZmIC0tZ2l0IGEvZnMvZ2ZzMi9sb2NraW5nL2RsbS90aHJlYWQuYyBiL2ZzL2dmczIvbG9ja2luZy9kbG0vdGhyZWFkLmMKaW5kZXggZTUzZGI2Zi4uMzg4MjNlZiAxMDA2NDQKLS0tIGEvZnMvZ2ZzMi9sb2NraW5nL2RsbS90aHJlYWQuYworKysgYi9mcy9nZnMyL2xvY2tpbmcvZGxtL3RocmVhZC5jCkBAIC05LDM2NyArOSw2MCBAQAogCiAjaW5jbHVkZSAibG9ja19kbG0uaCIKIAotLyogQSBsb2NrIHBsYWNlZCBvbiB0aGlzIHF1ZXVlIGlzIHJlLXN1Ym1pdHRlZCB0byBETE0gYXMgc29vbiBhcyB0aGUgbG9ja19kbG0KLSAgIHRocmVhZCBnZXRzIHRvIGl0LiAqLwotCi1zdGF0aWMgdm9pZCBxdWV1ZV9zdWJtaXQoc3RydWN0IGdkbG1fbG9jayAqbHApCi17Ci0Jc3RydWN0IGdkbG1fbHMgKmxzID0gbHAtPmxzOwotCi0Jc3Bpbl9sb2NrKCZscy0+YXN5bmNfbG9jayk7Ci0JbGlzdF9hZGRfdGFpbCgmbHAtPmRlbGF5X2xpc3QsICZscy0+c3VibWl0KTsKLQlzcGluX3VubG9jaygmbHMtPmFzeW5jX2xvY2spOwotCXdha2VfdXAoJmxzLT50aHJlYWRfd2FpdCk7Ci19Ci0KLXN0YXRpYyB2b2lkIHByb2Nlc3NfYmxvY2tpbmcoc3RydWN0IGdkbG1fbG9jayAqbHAsIGludCBiYXN0X21vZGUpCi17Ci0Jc3RydWN0IGdkbG1fbHMgKmxzID0gbHAtPmxzOwotCXVuc2lnbmVkIGludCBjYiA9IDA7Ci0KLQlzd2l0Y2ggKGdkbG1fbWFrZV9sbXN0YXRlKGJhc3RfbW9kZSkpIHsKLQljYXNlIExNX1NUX0VYQ0xVU0lWRToKLQkJY2IgPSBMTV9DQl9ORUVEX0U7Ci0JCWJyZWFrOwotCWNhc2UgTE1fU1RfREVGRVJSRUQ6Ci0JCWNiID0gTE1fQ0JfTkVFRF9EOwotCQlicmVhazsKLQljYXNlIExNX1NUX1NIQVJFRDoKLQkJY2IgPSBMTV9DQl9ORUVEX1M7Ci0JCWJyZWFrOwotCWRlZmF1bHQ6Ci0JCWdkbG1fYXNzZXJ0KDAsICJ1bmtub3duIGJhc3QgbW9kZSAldSIsIGxwLT5iYXN0X21vZGUpOwotCX0KLQotCWxzLT5mc2NiKGxzLT5zZHAsIGNiLCAmbHAtPmxvY2tuYW1lKTsKLX0KLQotc3RhdGljIHZvaWQgd2FrZV91cF9hc3Qoc3RydWN0IGdkbG1fbG9jayAqbHApCi17Ci0JY2xlYXJfYml0KExGTF9BU1RfV0FJVCwgJmxwLT5mbGFncyk7Ci0Jc21wX21iX19hZnRlcl9jbGVhcl9iaXQoKTsKLQl3YWtlX3VwX2JpdCgmbHAtPmZsYWdzLCBMRkxfQVNUX1dBSVQpOwotfQotCi1zdGF0aWMgdm9pZCBwcm9jZXNzX2NvbXBsZXRlKHN0cnVjdCBnZGxtX2xvY2sgKmxwKQotewotCXN0cnVjdCBnZGxtX2xzICpscyA9IGxwLT5sczsKLQlzdHJ1Y3QgbG1fYXN5bmNfY2IgYWNiOwotCXMxNiBwcmV2X21vZGUgPSBscC0+Y3VyOwotCi0JbWVtc2V0KCZhY2IsIDAsIHNpemVvZihhY2IpKTsKLQotCWlmIChscC0+bGtzYi5zYl9zdGF0dXMgPT0gLURMTV9FQ0FOQ0VMKSB7Ci0JCWxvZ19pbmZvKCJjb21wbGV0ZSBkbG0gY2FuY2VsICV4LCVsbHggZmxhZ3MgJWx4IiwKLQkJIAkgbHAtPmxvY2tuYW1lLmxuX3R5cGUsCi0JCQkgKHVuc2lnbmVkIGxvbmcgbG9uZylscC0+bG9ja25hbWUubG5fbnVtYmVyLAotCQkJIGxwLT5mbGFncyk7Ci0KLQkJbHAtPnJlcSA9IGxwLT5jdXI7Ci0JCWFjYi5sY19yZXQgfD0gTE1fT1VUX0NBTkNFTEVEOwotCQlpZiAobHAtPmN1ciA9PSBETE1fTE9DS19JVikKLQkJCWxwLT5sa3NiLnNiX2xraWQgPSAwOwotCQlnb3RvIG91dDsKLQl9Ci0KLQlpZiAodGVzdF9hbmRfY2xlYXJfYml0KExGTF9ETE1fVU5MT0NLLCAmbHAtPmZsYWdzKSkgewotCQlpZiAobHAtPmxrc2Iuc2Jfc3RhdHVzICE9IC1ETE1fRVVOTE9DSykgewotCQkJbG9nX2luZm8oInVubG9jayBzYl9zdGF0dXMgJWQgJXgsJWxseCBmbGFncyAlbHgiLAotCQkJCSBscC0+bGtzYi5zYl9zdGF0dXMsIGxwLT5sb2NrbmFtZS5sbl90eXBlLAotCQkJCSAodW5zaWduZWQgbG9uZyBsb25nKWxwLT5sb2NrbmFtZS5sbl9udW1iZXIsCi0JCQkJIGxwLT5mbGFncyk7Ci0JCQlyZXR1cm47Ci0JCX0KLQotCQlscC0+Y3VyID0gRExNX0xPQ0tfSVY7Ci0JCWxwLT5yZXEgPSBETE1fTE9DS19JVjsKLQkJbHAtPmxrc2Iuc2JfbGtpZCA9IDA7Ci0KLQkJaWYgKHRlc3RfYW5kX2NsZWFyX2JpdChMRkxfVU5MT0NLX0RFTEVURSwgJmxwLT5mbGFncykpIHsKLQkJCWdkbG1fZGVsZXRlX2xwKGxwKTsKLQkJCXJldHVybjsKLQkJfQotCQlnb3RvIG91dDsKLQl9Ci0KLQlpZiAobHAtPmxrc2Iuc2JfZmxhZ3MgJiBETE1fU0JGX1ZBTE5PVFZBTElEKQotCQltZW1zZXQobHAtPmxrc2Iuc2JfbHZicHRyLCAwLCBHRExNX0xWQl9TSVpFKTsKLQotCWlmIChscC0+bGtzYi5zYl9mbGFncyAmIERMTV9TQkZfQUxUTU9ERSkgewotCQlpZiAobHAtPnJlcSA9PSBETE1fTE9DS19QUikKLQkJCWxwLT5yZXEgPSBETE1fTE9DS19DVzsKLQkJZWxzZSBpZiAobHAtPnJlcSA9PSBETE1fTE9DS19DVykKLQkJCWxwLT5yZXEgPSBETE1fTE9DS19QUjsKLQl9Ci0KLQkvKgotCSAqIEEgY2FuY2VsZWQgbG9jayByZXF1ZXN0LiAgVGhlIGxvY2sgd2FzIGp1c3QgdGFrZW4gb2ZmIHRoZSBkZWxheWVkCi0JICogbGlzdCBhbmQgd2FzIG5ldmVyIGV2ZW4gc3VibWl0dGVkIHRvIGRsbS4KLQkgKi8KLQotCWlmICh0ZXN0X2FuZF9jbGVhcl9iaXQoTEZMX0NBTkNFTCwgJmxwLT5mbGFncykpIHsKLQkJbG9nX2luZm8oImNvbXBsZXRlIGludGVybmFsIGNhbmNlbCAleCwlbGx4IiwKLQkJIAkgbHAtPmxvY2tuYW1lLmxuX3R5cGUsCi0JCQkgKHVuc2lnbmVkIGxvbmcgbG9uZylscC0+bG9ja25hbWUubG5fbnVtYmVyKTsKLQkJbHAtPnJlcSA9IGxwLT5jdXI7Ci0JCWFjYi5sY19yZXQgfD0gTE1fT1VUX0NBTkNFTEVEOwotCQlnb3RvIG91dDsKLQl9Ci0KLQkvKgotCSAqIEFuIGVycm9yIG9jY3VyZWQuCi0JICovCi0KLQlpZiAobHAtPmxrc2Iuc2Jfc3RhdHVzKSB7Ci0JCS8qIGEgIm5vcm1hbCIgZXJyb3IgKi8KLQkJaWYgKChscC0+bGtzYi5zYl9zdGF0dXMgPT0gLUVBR0FJTikgJiYKLQkJICAgIChscC0+bGtmICYgRExNX0xLRl9OT1FVRVVFKSkgewotCQkJbHAtPnJlcSA9IGxwLT5jdXI7Ci0JCQlpZiAobHAtPmN1ciA9PSBETE1fTE9DS19JVikKLQkJCQlscC0+bGtzYi5zYl9sa2lkID0gMDsKLQkJCWdvdG8gb3V0OwotCQl9Ci0KLQkJLyogdGhpcyBjb3VsZCBvbmx5IGhhcHBlbiB3aXRoIGNhbmNlbHMgSSB0aGluayAqLwotCQlsb2dfaW5mbygiYXN0IHNiX3N0YXR1cyAlZCAleCwlbGx4IGZsYWdzICVseCIsCi0JCQkgbHAtPmxrc2Iuc2Jfc3RhdHVzLCBscC0+bG9ja25hbWUubG5fdHlwZSwKLQkJCSAodW5zaWduZWQgbG9uZyBsb25nKWxwLT5sb2NrbmFtZS5sbl9udW1iZXIsCi0JCQkgbHAtPmZsYWdzKTsKLQkJaWYgKGxwLT5sa3NiLnNiX3N0YXR1cyA9PSAtRURFQURMT0NLICYmCi0JCSAgICBscC0+bHMtPmZzZmxhZ3MgJiBMTV9NRkxBR19DT05WX05PRFJPUCkgewotCQkJbHAtPnJlcSA9IGxwLT5jdXI7Ci0JCQlhY2IubGNfcmV0IHw9IExNX09VVF9DT05WX0RFQURMSzsKLQkJCWlmIChscC0+Y3VyID09IERMTV9MT0NLX0lWKQotCQkJCWxwLT5sa3NiLnNiX2xraWQgPSAwOwotCQkJZ290byBvdXQ7Ci0JCX0gZWxzZQotCQkJcmV0dXJuOwotCX0KLQotCS8qCi0JICogVGhpcyBpcyBhbiBBU1QgZm9yIGFuIEVYLT5FWCBjb252ZXJzaW9uIGZvciBzeW5jX2x2YiBmcm9tIEdGUy4KLQkgKi8KLQotCWlmICh0ZXN0X2FuZF9jbGVhcl9iaXQoTEZMX1NZTkNfTFZCLCAmbHAtPmZsYWdzKSkgewotCQl3YWtlX3VwX2FzdChscCk7Ci0JCXJldHVybjsKLQl9Ci0KLQkvKgotCSAqIEEgbG9jayBoYXMgYmVlbiBkZW1vdGVkIHRvIE5MIGJlY2F1c2UgaXQgaW5pdGlhbGx5IGNvbXBsZXRlZCBkdXJpbmcKLQkgKiBCTE9DS19MT0NLUy4gIE5vdyBpdCBtdXN0IGJlIHJlcXVlc3RlZCBpbiB0aGUgb3JpZ2luYWxseSByZXF1ZXN0ZWQKLQkgKiBtb2RlLgotCSAqLwotCi0JaWYgKHRlc3RfYW5kX2NsZWFyX2JpdChMRkxfUkVSRVFVRVNULCAmbHAtPmZsYWdzKSkgewotCQlnZGxtX2Fzc2VydChscC0+cmVxID09IERMTV9MT0NLX05MLCAiJXgsJWxseCIsCi0JCQkgICAgbHAtPmxvY2tuYW1lLmxuX3R5cGUsCi0JCQkgICAgKHVuc2lnbmVkIGxvbmcgbG9uZylscC0+bG9ja25hbWUubG5fbnVtYmVyKTsKLQkJZ2RsbV9hc3NlcnQobHAtPnByZXZfcmVxID4gRExNX0xPQ0tfTkwsICIleCwlbGx4IiwKLQkJCSAgICBscC0+bG9ja25hbWUubG5fdHlwZSwKLQkJCSAgICAodW5zaWduZWQgbG9uZyBsb25nKWxwLT5sb2NrbmFtZS5sbl9udW1iZXIpOwotCi0JCWxwLT5jdXIgPSBETE1fTE9DS19OTDsKLQkJbHAtPnJlcSA9IGxwLT5wcmV2X3JlcTsKLQkJbHAtPnByZXZfcmVxID0gRExNX0xPQ0tfSVY7Ci0JCWxwLT5sa2YgJj0gfkRMTV9MS0ZfQ09OVkRFQURMSzsKLQotCQlzZXRfYml0KExGTF9OT0NBQ0hFLCAmbHAtPmZsYWdzKTsKLQotCQlpZiAodGVzdF9iaXQoREZMX0JMT0NLX0xPQ0tTLCAmbHMtPmZsYWdzKSAmJgotCQkgICAgIXRlc3RfYml0KExGTF9OT0JMT0NLLCAmbHAtPmZsYWdzKSkKLQkJCWdkbG1fcXVldWVfZGVsYXllZChscCk7Ci0JCWVsc2UKLQkJCXF1ZXVlX3N1Ym1pdChscCk7Ci0JCXJldHVybjsKLQl9Ci0KLQkvKgotCSAqIEEgcmVxdWVzdCBpcyBncmFudGVkIGR1cmluZyBkbG0gcmVjb3ZlcnkuICBJdCBtYXkgYmUgZ3JhbnRlZAotCSAqIGJlY2F1c2UgdGhlIGxvY2tzIG9mIGEgZmFpbGVkIG5vZGUgd2VyZSBjbGVhcmVkLiAgSW4gdGhhdCBjYXNlLAotCSAqIHRoZXJlIG1heSBiZSBpbmNvbnNpc3RlbnQgZGF0YSBiZW5lYXRoIHRoaXMgbG9jayBhbmQgd2UgbXVzdCB3YWl0Ci0JICogZm9yIHJlY292ZXJ5IHRvIGNvbXBsZXRlIHRvIHVzZSBpdC4gIFdoZW4gZ2ZzIHJlY292ZXJ5IGlzIGRvbmUgdGhpcwotCSAqIGdyYW50ZWQgbG9jayB3aWxsIGJlIGNvbnZlcnRlZCB0byBOTCBhbmQgdGhlbiByZWFjcXVpcmVkIGluIHRoaXMKLQkgKiBncmFudGVkIHN0YXRlLgotCSAqLwotCi0JaWYgKHRlc3RfYml0KERGTF9CTE9DS19MT0NLUywgJmxzLT5mbGFncykgJiYKLQkgICAgIXRlc3RfYml0KExGTF9OT0JMT0NLLCAmbHAtPmZsYWdzKSAmJgotCSAgICBscC0+cmVxICE9IERMTV9MT0NLX05MKSB7Ci0KLQkJbHAtPmN1ciA9IGxwLT5yZXE7Ci0JCWxwLT5wcmV2X3JlcSA9IGxwLT5yZXE7Ci0JCWxwLT5yZXEgPSBETE1fTE9DS19OTDsKLQkJbHAtPmxrZiB8PSBETE1fTEtGX0NPTlZFUlQ7Ci0JCWxwLT5sa2YgJj0gfkRMTV9MS0ZfQ09OVkRFQURMSzsKLQotCQlsb2dfZGVidWcoInJlcmVxICV4LCVsbHggaWQgJXggJWQsJWQiLAotCQkJICBscC0+bG9ja25hbWUubG5fdHlwZSwKLQkJCSAgKHVuc2lnbmVkIGxvbmcgbG9uZylscC0+bG9ja25hbWUubG5fbnVtYmVyLAotCQkJICBscC0+bGtzYi5zYl9sa2lkLCBscC0+Y3VyLCBscC0+cmVxKTsKLQotCQlzZXRfYml0KExGTF9SRVJFUVVFU1QsICZscC0+ZmxhZ3MpOwotCQlxdWV1ZV9zdWJtaXQobHApOwotCQlyZXR1cm47Ci0JfQotCi0JLyoKLQkgKiBETE0gZGVtb3RlZCB0aGUgbG9jayB0byBOTCBiZWZvcmUgaXQgd2FzIGdyYW50ZWQgc28gR0ZTIG11c3QgYmUKLQkgKiB0b2xkIGl0IGNhbm5vdCBjYWNoZSBkYXRhIGZvciB0aGlzIGxvY2suCi0JICovCi0KLQlpZiAobHAtPmxrc2Iuc2JfZmxhZ3MgJiBETE1fU0JGX0RFTU9URUQpCi0JCXNldF9iaXQoTEZMX05PQ0FDSEUsICZscC0+ZmxhZ3MpOwotCi1vdXQ6Ci0JLyoKLQkgKiBUaGlzIGlzIGFuIGludGVybmFsIGxvY2tfZGxtIGxvY2sKLQkgKi8KLQotCWlmICh0ZXN0X2JpdChMRkxfSU5MT0NLLCAmbHAtPmZsYWdzKSkgewotCQljbGVhcl9iaXQoTEZMX05PQkxPQ0ssICZscC0+ZmxhZ3MpOwotCQlscC0+Y3VyID0gbHAtPnJlcTsKLQkJd2FrZV91cF9hc3QobHApOwotCQlyZXR1cm47Ci0JfQotCi0JLyoKLQkgKiBOb3JtYWwgY29tcGxldGlvbiBvZiBhIGxvY2sgcmVxdWVzdC4gIFRlbGwgR0ZTIGl0IG5vdyBoYXMgdGhlIGxvY2suCi0JICovCi0KLQljbGVhcl9iaXQoTEZMX05PQkxPQ0ssICZscC0+ZmxhZ3MpOwotCWxwLT5jdXIgPSBscC0+cmVxOwotCi0JYWNiLmxjX25hbWUgPSBscC0+bG9ja25hbWU7Ci0JYWNiLmxjX3JldCB8PSBnZGxtX21ha2VfbG1zdGF0ZShscC0+Y3VyKTsKLQotCWlmICghdGVzdF9hbmRfY2xlYXJfYml0KExGTF9OT0NBQ0hFLCAmbHAtPmZsYWdzKSAmJgotCSAgICAobHAtPmN1ciA+IERMTV9MT0NLX05MKSAmJiAocHJldl9tb2RlID4gRExNX0xPQ0tfTkwpKQotCQlhY2IubGNfcmV0IHw9IExNX09VVF9DQUNIRUFCTEU7Ci0KLQlscy0+ZnNjYihscy0+c2RwLCBMTV9DQl9BU1lOQywgJmFjYik7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgaW50IG5vX3dvcmsoc3RydWN0IGdkbG1fbHMgKmxzLCBpbnQgYmxvY2tpbmcpCitzdGF0aWMgaW5saW5lIGludCBub193b3JrKHN0cnVjdCBnZGxtX2xzICpscykKIHsKIAlpbnQgcmV0OwogCiAJc3Bpbl9sb2NrKCZscy0+YXN5bmNfbG9jayk7Ci0JcmV0ID0gbGlzdF9lbXB0eSgmbHMtPmNvbXBsZXRlKSAmJiBsaXN0X2VtcHR5KCZscy0+c3VibWl0KTsKLQlpZiAocmV0ICYmIGJsb2NraW5nKQotCQlyZXQgPSBsaXN0X2VtcHR5KCZscy0+YmxvY2tpbmcpOworCXJldCA9IGxpc3RfZW1wdHkoJmxzLT5zdWJtaXQpOwogCXNwaW5fdW5sb2NrKCZscy0+YXN5bmNfbG9jayk7CiAKIAlyZXR1cm4gcmV0OwogfQogCi1zdGF0aWMgaW5saW5lIGludCBjaGVja19kcm9wKHN0cnVjdCBnZGxtX2xzICpscykKLXsKLQlpZiAoIWxzLT5kcm9wX2xvY2tzX2NvdW50KQotCQlyZXR1cm4gMDsKLQotCWlmICh0aW1lX2FmdGVyKGppZmZpZXMsIGxzLT5kcm9wX3RpbWUgKyBscy0+ZHJvcF9sb2Nrc19wZXJpb2QgKiBIWikpIHsKLQkJbHMtPmRyb3BfdGltZSA9IGppZmZpZXM7Ci0JCWlmIChscy0+YWxsX2xvY2tzX2NvdW50ID49IGxzLT5kcm9wX2xvY2tzX2NvdW50KQotCQkJcmV0dXJuIDE7Ci0JfQotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGdkbG1fdGhyZWFkKHZvaWQgKmRhdGEsIGludCBibGlzdCkKK3N0YXRpYyBpbnQgZ2RsbV90aHJlYWQodm9pZCAqZGF0YSkKIHsKIAlzdHJ1Y3QgZ2RsbV9scyAqbHMgPSAoc3RydWN0IGdkbG1fbHMgKikgZGF0YTsKIAlzdHJ1Y3QgZ2RsbV9sb2NrICpscCA9IE5VTEw7Ci0JdWludDhfdCBjb21wbGV0ZSwgYmxvY2tpbmcsIHN1Ym1pdCwgZHJvcDsKLQotCS8qIE9ubHkgdGhyZWFkMSBpcyBhbGxvd2VkIHRvIGRvIGJsb2NraW5nIGNhbGxiYWNrcyBzaW5jZSBnZnMKLQkgICBtYXkgd2FpdCBmb3IgYSBjb21wbGV0aW9uIGNhbGxiYWNrIHdpdGhpbiBhIGJsb2NraW5nIGNiLiAqLwogCiAJd2hpbGUgKCFrdGhyZWFkX3Nob3VsZF9zdG9wKCkpIHsKIAkJd2FpdF9ldmVudF9pbnRlcnJ1cHRpYmxlKGxzLT50aHJlYWRfd2FpdCwKLQkJCQkhbm9fd29yayhscywgYmxpc3QpIHx8IGt0aHJlYWRfc2hvdWxkX3N0b3AoKSk7Ci0KLQkJY29tcGxldGUgPSBibG9ja2luZyA9IHN1Ym1pdCA9IGRyb3AgPSAwOworCQkJCSFub193b3JrKGxzKSB8fCBrdGhyZWFkX3Nob3VsZF9zdG9wKCkpOwogCiAJCXNwaW5fbG9jaygmbHMtPmFzeW5jX2xvY2spOwogCi0JCWlmIChibGlzdCAmJiAhbGlzdF9lbXB0eSgmbHMtPmJsb2NraW5nKSkgewotCQkJbHAgPSBsaXN0X2VudHJ5KGxzLT5ibG9ja2luZy5uZXh0LCBzdHJ1Y3QgZ2RsbV9sb2NrLAotCQkJCQlibGlzdCk7Ci0JCQlsaXN0X2RlbF9pbml0KCZscC0+Ymxpc3QpOwotCQkJYmxvY2tpbmcgPSBscC0+YmFzdF9tb2RlOwotCQkJbHAtPmJhc3RfbW9kZSA9IDA7Ci0JCX0gZWxzZSBpZiAoIWxpc3RfZW1wdHkoJmxzLT5jb21wbGV0ZSkpIHsKLQkJCWxwID0gbGlzdF9lbnRyeShscy0+Y29tcGxldGUubmV4dCwgc3RydWN0IGdkbG1fbG9jaywKLQkJCQkJY2xpc3QpOwotCQkJbGlzdF9kZWxfaW5pdCgmbHAtPmNsaXN0KTsKLQkJCWNvbXBsZXRlID0gMTsKLQkJfSBlbHNlIGlmICghbGlzdF9lbXB0eSgmbHMtPnN1Ym1pdCkpIHsKKwkJaWYgKCFsaXN0X2VtcHR5KCZscy0+c3VibWl0KSkgewogCQkJbHAgPSBsaXN0X2VudHJ5KGxzLT5zdWJtaXQubmV4dCwgc3RydWN0IGdkbG1fbG9jaywKIAkJCQkJZGVsYXlfbGlzdCk7CiAJCQlsaXN0X2RlbF9pbml0KCZscC0+ZGVsYXlfbGlzdCk7Ci0JCQlzdWJtaXQgPSAxOwotCQl9Ci0KLQkJZHJvcCA9IGNoZWNrX2Ryb3AobHMpOwotCQlzcGluX3VubG9jaygmbHMtPmFzeW5jX2xvY2spOwotCi0JCWlmIChjb21wbGV0ZSkKLQkJCXByb2Nlc3NfY29tcGxldGUobHApOwotCi0JCWVsc2UgaWYgKGJsb2NraW5nKQotCQkJcHJvY2Vzc19ibG9ja2luZyhscCwgYmxvY2tpbmcpOwotCi0JCWVsc2UgaWYgKHN1Ym1pdCkKKwkJCXNwaW5fdW5sb2NrKCZscy0+YXN5bmNfbG9jayk7CiAJCQlnZGxtX2RvX2xvY2sobHApOwotCi0JCWlmIChkcm9wKQotCQkJbHMtPmZzY2IobHMtPnNkcCwgTE1fQ0JfRFJPUExPQ0tTLCBOVUxMKTsKLQotCQlzY2hlZHVsZSgpOworCQkJc3Bpbl9sb2NrKCZscy0+YXN5bmNfbG9jayk7CisJCX0KKwkJc3Bpbl91bmxvY2soJmxzLT5hc3luY19sb2NrKTsKIAl9CiAKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIGludCBnZGxtX3RocmVhZDEodm9pZCAqZGF0YSkKLXsKLQlyZXR1cm4gZ2RsbV90aHJlYWQoZGF0YSwgMSk7Ci19Ci0KLXN0YXRpYyBpbnQgZ2RsbV90aHJlYWQyKHZvaWQgKmRhdGEpCi17Ci0JcmV0dXJuIGdkbG1fdGhyZWFkKGRhdGEsIDApOwotfQotCiBpbnQgZ2RsbV9pbml0X3RocmVhZHMoc3RydWN0IGdkbG1fbHMgKmxzKQogewogCXN0cnVjdCB0YXNrX3N0cnVjdCAqcDsKIAlpbnQgZXJyb3I7CiAKLQlwID0ga3RocmVhZF9ydW4oZ2RsbV90aHJlYWQxLCBscywgImxvY2tfZGxtMSIpOworCXAgPSBrdGhyZWFkX3J1bihnZGxtX3RocmVhZCwgbHMsICJsb2NrX2RsbSIpOwogCWVycm9yID0gSVNfRVJSKHApOwogCWlmIChlcnJvcikgewotCQlsb2dfZXJyb3IoImNhbid0IHN0YXJ0IGxvY2tfZGxtMSB0aHJlYWQgJWQiLCBlcnJvcik7CisJCWxvZ19lcnJvcigiY2FuJ3Qgc3RhcnQgbG9ja19kbG0gdGhyZWFkICVkIiwgZXJyb3IpOwogCQlyZXR1cm4gZXJyb3I7CiAJfQotCWxzLT50aHJlYWQxID0gcDsKLQotCXAgPSBrdGhyZWFkX3J1bihnZGxtX3RocmVhZDIsIGxzLCAibG9ja19kbG0yIik7Ci0JZXJyb3IgPSBJU19FUlIocCk7Ci0JaWYgKGVycm9yKSB7Ci0JCWxvZ19lcnJvcigiY2FuJ3Qgc3RhcnQgbG9ja19kbG0yIHRocmVhZCAlZCIsIGVycm9yKTsKLQkJa3RocmVhZF9zdG9wKGxzLT50aHJlYWQxKTsKLQkJcmV0dXJuIGVycm9yOwotCX0KLQlscy0+dGhyZWFkMiA9IHA7CisJbHMtPnRocmVhZCA9IHA7CiAKIAlyZXR1cm4gMDsKIH0KIAogdm9pZCBnZGxtX3JlbGVhc2VfdGhyZWFkcyhzdHJ1Y3QgZ2RsbV9scyAqbHMpCiB7Ci0Ja3RocmVhZF9zdG9wKGxzLT50aHJlYWQxKTsKLQlrdGhyZWFkX3N0b3AobHMtPnRocmVhZDIpOworCWt0aHJlYWRfc3RvcChscy0+dGhyZWFkKTsKIH0KIApkaWZmIC0tZ2l0IGEvZnMvZ2ZzMi9sb2NraW5nL25vbG9jay9NYWtlZmlsZSBiL2ZzL2dmczIvbG9ja2luZy9ub2xvY2svTWFrZWZpbGUKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDM1ZTk3MzAuLjAwMDAwMDAKLS0tIGEvZnMvZ2ZzMi9sb2NraW5nL25vbG9jay9NYWtlZmlsZQorKysgL2Rldi9udWxsCkBAIC0xLDMgKzAsMCBAQAotb2JqLSQoQ09ORklHX0dGUzJfRlNfTE9DS0lOR19OT0xPQ0spICs9IGxvY2tfbm9sb2NrLm8KLWxvY2tfbm9sb2NrLXkgOj0gbWFpbi5vCi0KZGlmZiAtLWdpdCBhL2ZzL2dmczIvbG9ja2luZy9ub2xvY2svbWFpbi5jIGIvZnMvZ2ZzMi9sb2NraW5nL25vbG9jay9tYWluLmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI4NGE1ZWMuLjAwMDAwMDAKLS0tIGEvZnMvZ2ZzMi9sb2NraW5nL25vbG9jay9tYWluLmMKKysrIC9kZXYvbnVsbApAQCAtMSwyMzggKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgU2lzdGluYSBTb2Z0d2FyZSwgSW5jLiAgMTk5Ny0yMDAzIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDQtMjAwNSBSZWQgSGF0LCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFRoaXMgY29weXJpZ2h0ZWQgbWF0ZXJpYWwgaXMgbWFkZSBhdmFpbGFibGUgdG8gYW55b25lIHdpc2hpbmcgdG8gdXNlLAotICogbW9kaWZ5LCBjb3B5LCBvciByZWRpc3RyaWJ1dGUgaXQgc3ViamVjdCB0byB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMKLSAqIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIuCi0gKi8KLQotI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgotI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KLSNpbmNsdWRlIDxsaW51eC9pbml0Lmg+Ci0jaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KLSNpbmNsdWRlIDxsaW51eC9mcy5oPgotI2luY2x1ZGUgPGxpbnV4L2xtX2ludGVyZmFjZS5oPgotCi1zdHJ1Y3Qgbm9sb2NrX2xvY2tzcGFjZSB7Ci0JdW5zaWduZWQgaW50IG5sX2x2Yl9zaXplOwotfTsKLQotc3RhdGljIGNvbnN0IHN0cnVjdCBsbV9sb2Nrb3BzIG5vbG9ja19vcHM7Ci0KLXN0YXRpYyBpbnQgbm9sb2NrX21vdW50KGNoYXIgKnRhYmxlX25hbWUsIGNoYXIgKmhvc3RfZGF0YSwKLQkJCWxtX2NhbGxiYWNrX3QgY2IsIHZvaWQgKmNiX2RhdGEsCi0JCQl1bnNpZ25lZCBpbnQgbWluX2x2Yl9zaXplLCBpbnQgZmxhZ3MsCi0JCQlzdHJ1Y3QgbG1fbG9ja3N0cnVjdCAqbG9ja3N0cnVjdCwKLQkJCXN0cnVjdCBrb2JqZWN0ICpmc2tvYmopCi17Ci0JY2hhciAqYzsKLQl1bnNpZ25lZCBpbnQgamlkOwotCXN0cnVjdCBub2xvY2tfbG9ja3NwYWNlICpubDsKLQotCWMgPSBzdHJzdHIoaG9zdF9kYXRhLCAiamlkPSIpOwotCWlmICghYykKLQkJamlkID0gMDsKLQllbHNlIHsKLQkJYyArPSA0OwotCQlzc2NhbmYoYywgIiV1IiwgJmppZCk7Ci0JfQotCi0JbmwgPSBremFsbG9jKHNpemVvZihzdHJ1Y3Qgbm9sb2NrX2xvY2tzcGFjZSksIEdGUF9LRVJORUwpOwotCWlmICghbmwpCi0JCXJldHVybiAtRU5PTUVNOwotCi0JbmwtPm5sX2x2Yl9zaXplID0gbWluX2x2Yl9zaXplOwotCi0JbG9ja3N0cnVjdC0+bHNfamlkID0gamlkOwotCWxvY2tzdHJ1Y3QtPmxzX2ZpcnN0ID0gMTsKLQlsb2Nrc3RydWN0LT5sc19sdmJfc2l6ZSA9IG1pbl9sdmJfc2l6ZTsKLQlsb2Nrc3RydWN0LT5sc19sb2Nrc3BhY2UgPSBubDsKLQlsb2Nrc3RydWN0LT5sc19vcHMgPSAmbm9sb2NrX29wczsKLQlsb2Nrc3RydWN0LT5sc19mbGFncyA9IExNX0xTRkxBR19MT0NBTDsKLQotCXJldHVybiAwOwotfQotCi1zdGF0aWMgdm9pZCBub2xvY2tfb3RoZXJzX21heV9tb3VudCh2b2lkICpsb2Nrc3BhY2UpCi17Ci19Ci0KLXN0YXRpYyB2b2lkIG5vbG9ja191bm1vdW50KHZvaWQgKmxvY2tzcGFjZSkKLXsKLQlzdHJ1Y3Qgbm9sb2NrX2xvY2tzcGFjZSAqbmwgPSBsb2Nrc3BhY2U7Ci0Ja2ZyZWUobmwpOwotfQotCi1zdGF0aWMgdm9pZCBub2xvY2tfd2l0aGRyYXcodm9pZCAqbG9ja3NwYWNlKQotewotfQotCi0vKioKLSAqIG5vbG9ja19nZXRfbG9jayAtIGdldCBhIGxtX2xvY2tfdCBnaXZlbiBhIGRlc2NyaXB0b24gb2YgdGhlIGxvY2sKLSAqIEBsb2Nrc3BhY2U6IHRoZSBsb2Nrc3BhY2UgdGhlIGxvY2sgbGl2ZXMgaW4KLSAqIEBuYW1lOiB0aGUgbmFtZSBvZiB0aGUgbG9jawotICogQGxvY2twOiByZXR1cm4gdGhlIGxtX2xvY2tfdCBoZXJlCi0gKgotICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCAtRVhYWCBvbiBmYWlsdXJlCi0gKi8KLQotc3RhdGljIGludCBub2xvY2tfZ2V0X2xvY2sodm9pZCAqbG9ja3NwYWNlLCBzdHJ1Y3QgbG1fbG9ja25hbWUgKm5hbWUsCi0JCQkgICB2b2lkICoqbG9ja3ApCi17Ci0JKmxvY2twID0gbG9ja3NwYWNlOwotCXJldHVybiAwOwotfQotCi0vKioKLSAqIG5vbG9ja19wdXRfbG9jayAtIGdldCByaWQgb2YgYSBsb2NrIHN0cnVjdHVyZQotICogQGxvY2s6IHRoZSBsb2NrIHRvIHRocm93IGF3YXkKLSAqCi0gKi8KLQotc3RhdGljIHZvaWQgbm9sb2NrX3B1dF9sb2NrKHZvaWQgKmxvY2spCi17Ci19Ci0KLS8qKgotICogbm9sb2NrX2xvY2sgLSBhY3F1aXJlIGEgbG9jawotICogQGxvY2s6IHRoZSBsb2NrIHRvIG1hbmlwdWxhdGUKLSAqIEBjdXJfc3RhdGU6IHRoZSBjdXJyZW50IHN0YXRlCi0gKiBAcmVxX3N0YXRlOiB0aGUgcmVxdWVzdGVkIHN0YXRlCi0gKiBAZmxhZ3M6IG1vZGlmaWVyIGZsYWdzCi0gKgotICogUmV0dXJuczogQSBiaXRtYXAgb2YgTE1fT1VUXyoKLSAqLwotCi1zdGF0aWMgdW5zaWduZWQgaW50IG5vbG9ja19sb2NrKHZvaWQgKmxvY2ssIHVuc2lnbmVkIGludCBjdXJfc3RhdGUsCi0JCQkJdW5zaWduZWQgaW50IHJlcV9zdGF0ZSwgdW5zaWduZWQgaW50IGZsYWdzKQotewotCXJldHVybiByZXFfc3RhdGUgfCBMTV9PVVRfQ0FDSEVBQkxFOwotfQotCi0vKioKLSAqIG5vbG9ja191bmxvY2sgLSB1bmxvY2sgYSBsb2NrCi0gKiBAbG9jazogdGhlIGxvY2sgdG8gbWFuaXB1bGF0ZQotICogQGN1cl9zdGF0ZTogdGhlIGN1cnJlbnQgc3RhdGUKLSAqCi0gKiBSZXR1cm5zOiAwCi0gKi8KLQotc3RhdGljIHVuc2lnbmVkIGludCBub2xvY2tfdW5sb2NrKHZvaWQgKmxvY2ssIHVuc2lnbmVkIGludCBjdXJfc3RhdGUpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyB2b2lkIG5vbG9ja19jYW5jZWwodm9pZCAqbG9jaykKLXsKLX0KLQotLyoqCi0gKiBub2xvY2tfaG9sZF9sdmIgLSBob2xkIG9uIHRvIGEgbG9jayB2YWx1ZSBibG9jawotICogQGxvY2s6IHRoZSBsb2NrIHRoZSBMVkIgaXMgYXNzb2NpYXRlZCB3aXRoCi0gKiBAbHZicDogcmV0dXJuIHRoZSBsbV9sdmJfdCBoZXJlCi0gKgotICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCAtRVhYWCBvbiBmYWlsdXJlCi0gKi8KLQotc3RhdGljIGludCBub2xvY2tfaG9sZF9sdmIodm9pZCAqbG9jaywgY2hhciAqKmx2YnApCi17Ci0Jc3RydWN0IG5vbG9ja19sb2Nrc3BhY2UgKm5sID0gbG9jazsKLQlpbnQgZXJyb3IgPSAwOwotCi0JKmx2YnAgPSBremFsbG9jKG5sLT5ubF9sdmJfc2l6ZSwgR0ZQX05PRlMpOwotCWlmICghKmx2YnApCi0JCWVycm9yID0gLUVOT01FTTsKLQotCXJldHVybiBlcnJvcjsKLX0KLQotLyoqCi0gKiBub2xvY2tfdW5ob2xkX2x2YiAtIHJlbGVhc2UgYSBMVkIKLSAqIEBsb2NrOiB0aGUgbG9jayB0aGUgTFZCIGlzIGFzc29jaWF0ZWQgd2l0aAotICogQGx2YjogdGhlIGxvY2sgdmFsdWUgYmxvY2sKLSAqCi0gKi8KLQotc3RhdGljIHZvaWQgbm9sb2NrX3VuaG9sZF9sdmIodm9pZCAqbG9jaywgY2hhciAqbHZiKQotewotCWtmcmVlKGx2Yik7Ci19Ci0KLXN0YXRpYyBpbnQgbm9sb2NrX3Bsb2NrX2dldCh2b2lkICpsb2Nrc3BhY2UsIHN0cnVjdCBsbV9sb2NrbmFtZSAqbmFtZSwKLQkJCSAgICBzdHJ1Y3QgZmlsZSAqZmlsZSwgc3RydWN0IGZpbGVfbG9jayAqZmwpCi17Ci0JcG9zaXhfdGVzdF9sb2NrKGZpbGUsIGZsKTsKLQotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IG5vbG9ja19wbG9jayh2b2lkICpsb2Nrc3BhY2UsIHN0cnVjdCBsbV9sb2NrbmFtZSAqbmFtZSwKLQkJCXN0cnVjdCBmaWxlICpmaWxlLCBpbnQgY21kLCBzdHJ1Y3QgZmlsZV9sb2NrICpmbCkKLXsKLQlpbnQgZXJyb3I7Ci0JZXJyb3IgPSBwb3NpeF9sb2NrX2ZpbGVfd2FpdChmaWxlLCBmbCk7Ci0JcmV0dXJuIGVycm9yOwotfQotCi1zdGF0aWMgaW50IG5vbG9ja19wdW5sb2NrKHZvaWQgKmxvY2tzcGFjZSwgc3RydWN0IGxtX2xvY2tuYW1lICpuYW1lLAotCQkJICBzdHJ1Y3QgZmlsZSAqZmlsZSwgc3RydWN0IGZpbGVfbG9jayAqZmwpCi17Ci0JaW50IGVycm9yOwotCWVycm9yID0gcG9zaXhfbG9ja19maWxlX3dhaXQoZmlsZSwgZmwpOwotCXJldHVybiBlcnJvcjsKLX0KLQotc3RhdGljIHZvaWQgbm9sb2NrX3JlY292ZXJ5X2RvbmUodm9pZCAqbG9ja3NwYWNlLCB1bnNpZ25lZCBpbnQgamlkLAotCQkJCSB1bnNpZ25lZCBpbnQgbWVzc2FnZSkKLXsKLX0KLQotc3RhdGljIGNvbnN0IHN0cnVjdCBsbV9sb2Nrb3BzIG5vbG9ja19vcHMgPSB7Ci0JLmxtX3Byb3RvX25hbWUgPSAibG9ja19ub2xvY2siLAotCS5sbV9tb3VudCA9IG5vbG9ja19tb3VudCwKLQkubG1fb3RoZXJzX21heV9tb3VudCA9IG5vbG9ja19vdGhlcnNfbWF5X21vdW50LAotCS5sbV91bm1vdW50ID0gbm9sb2NrX3VubW91bnQsCi0JLmxtX3dpdGhkcmF3ID0gbm9sb2NrX3dpdGhkcmF3LAotCS5sbV9nZXRfbG9jayA9IG5vbG9ja19nZXRfbG9jaywKLQkubG1fcHV0X2xvY2sgPSBub2xvY2tfcHV0X2xvY2ssCi0JLmxtX2xvY2sgPSBub2xvY2tfbG9jaywKLQkubG1fdW5sb2NrID0gbm9sb2NrX3VubG9jaywKLQkubG1fY2FuY2VsID0gbm9sb2NrX2NhbmNlbCwKLQkubG1faG9sZF9sdmIgPSBub2xvY2tfaG9sZF9sdmIsCi0JLmxtX3VuaG9sZF9sdmIgPSBub2xvY2tfdW5ob2xkX2x2YiwKLQkubG1fcGxvY2tfZ2V0ID0gbm9sb2NrX3Bsb2NrX2dldCwKLQkubG1fcGxvY2sgPSBub2xvY2tfcGxvY2ssCi0JLmxtX3B1bmxvY2sgPSBub2xvY2tfcHVubG9jaywKLQkubG1fcmVjb3ZlcnlfZG9uZSA9IG5vbG9ja19yZWNvdmVyeV9kb25lLAotCS5sbV9vd25lciA9IFRISVNfTU9EVUxFLAotfTsKLQotc3RhdGljIGludCBfX2luaXQgaW5pdF9ub2xvY2sodm9pZCkKLXsKLQlpbnQgZXJyb3I7Ci0KLQllcnJvciA9IGdmczJfcmVnaXN0ZXJfbG9ja3Byb3RvKCZub2xvY2tfb3BzKTsKLQlpZiAoZXJyb3IpIHsKLQkJcHJpbnRrKEtFUk5fV0FSTklORwotCQkgICAgICAgImxvY2tfbm9sb2NrOiBjYW4ndCByZWdpc3RlciBwcm90b2NvbDogJWRcbiIsIGVycm9yKTsKLQkJcmV0dXJuIGVycm9yOwotCX0KLQotCXByaW50ayhLRVJOX0lORk8KLQkgICAgICAgIkxvY2tfTm9sb2NrIChidWlsdCAlcyAlcykgaW5zdGFsbGVkXG4iLCBfX0RBVEVfXywgX19USU1FX18pOwotCXJldHVybiAwOwotfQotCi1zdGF0aWMgdm9pZCBfX2V4aXQgZXhpdF9ub2xvY2sodm9pZCkKLXsKLQlnZnMyX3VucmVnaXN0ZXJfbG9ja3Byb3RvKCZub2xvY2tfb3BzKTsKLX0KLQotbW9kdWxlX2luaXQoaW5pdF9ub2xvY2spOwotbW9kdWxlX2V4aXQoZXhpdF9ub2xvY2spOwotCi1NT0RVTEVfREVTQ1JJUFRJT04oIkdGUyBOb2xvY2sgTG9ja2luZyBNb2R1bGUiKTsKLU1PRFVMRV9BVVRIT1IoIlJlZCBIYXQsIEluYy4iKTsKLU1PRFVMRV9MSUNFTlNFKCJHUEwiKTsKLQpkaWZmIC0tZ2l0IGEvZnMvZ2ZzMi9sb2cuYyBiL2ZzL2dmczIvbG9nLmMKaW5kZXggNTQ4MjY0Yi4uNmM2YWY5ZiAxMDA2NDQKLS0tIGEvZnMvZ2ZzMi9sb2cuYworKysgYi9mcy9nZnMyL2xvZy5jCkBAIC04Nyw2ICs4Nyw4IEBACiAgKi8KIAogc3RhdGljIHZvaWQgZ2ZzMl9haWwxX3N0YXJ0X29uZShzdHJ1Y3QgZ2ZzMl9zYmQgKnNkcCwgc3RydWN0IGdmczJfYWlsICphaSkKK19fcmVsZWFzZXMoJnNkcC0+c2RfbG9nX2xvY2spCitfX2FjcXVpcmVzKCZzZHAtPnNkX2xvZ19sb2NrKQogewogCXN0cnVjdCBnZnMyX2J1ZmRhdGEgKmJkLCAqczsKIAlzdHJ1Y3QgYnVmZmVyX2hlYWQgKmJoOwpkaWZmIC0tZ2l0IGEvZnMvZ2ZzMi9sb2cuaCBiL2ZzL2dmczIvbG9nLmgKaW5kZXggNzcxMTUyOC4uN2M2NDUxMCAxMDA2NDQKLS0tIGEvZnMvZ2ZzMi9sb2cuaAorKysgYi9mcy9nZnMyL2xvZy5oCkBAIC0yMSw2ICsyMSw3IEBACiAgKi8KIAogc3RhdGljIGlubGluZSB2b2lkIGdmczJfbG9nX2xvY2soc3RydWN0IGdmczJfc2JkICpzZHApCitfX2FjcXVpcmVzKCZzZHAtPnNkX2xvZ19sb2NrKQogewogCXNwaW5fbG9jaygmc2RwLT5zZF9sb2dfbG9jayk7CiB9CkBAIC0zMiw2ICszMyw3IEBACiAgKi8KIAogc3RhdGljIGlubGluZSB2b2lkIGdmczJfbG9nX3VubG9jayhzdHJ1Y3QgZ2ZzMl9zYmQgKnNkcCkKK19fcmVsZWFzZXMoJnNkcC0+c2RfbG9nX2xvY2spCiB7CiAJc3Bpbl91bmxvY2soJnNkcC0+c2RfbG9nX2xvY2spOwogfQpkaWZmIC0tZ2l0IGEvZnMvZ2ZzMi9tYWluLmMgYi9mcy9nZnMyL21haW4uYwppbmRleCAwNTNlMmViLi5iY2M2NjhkIDEwMDY0NAotLS0gYS9mcy9nZnMyL21haW4uYworKysgYi9mcy9nZnMyL21haW4uYwpAQCAtNDAsOCArNDAsNiBAQAogCUlOSVRfSExJU1RfTk9ERSgmZ2wtPmdsX2xpc3QpOwogCXNwaW5fbG9ja19pbml0KCZnbC0+Z2xfc3Bpbik7CiAJSU5JVF9MSVNUX0hFQUQoJmdsLT5nbF9ob2xkZXJzKTsKLQlJTklUX0xJU1RfSEVBRCgmZ2wtPmdsX3dhaXRlcnMxKTsKLQlJTklUX0xJU1RfSEVBRCgmZ2wtPmdsX3dhaXRlcnMzKTsKIAlnbC0+Z2xfbHZiID0gTlVMTDsKIAlhdG9taWNfc2V0KCZnbC0+Z2xfbHZiX2NvdW50LCAwKTsKIAlJTklUX0xJU1RfSEVBRCgmZ2wtPmdsX3JlY2xhaW0pOwpkaWZmIC0tZ2l0IGEvZnMvZ2ZzMi9tZXRhX2lvLmMgYi9mcy9nZnMyL21ldGFfaW8uYwppbmRleCA3OGQ3NWY4Li4wOTg1MzYyIDEwMDY0NAotLS0gYS9mcy9nZnMyL21ldGFfaW8uYworKysgYi9mcy9nZnMyL21ldGFfaW8uYwpAQCAtMTI5LDcgKzEyOSw3IEBACiB9CiAKIC8qKgotICogZ2V0YnVmIC0gR2V0IGEgYnVmZmVyIHdpdGggYSBnaXZlbiBhZGRyZXNzIHNwYWNlCisgKiBnZnMyX2dldGJ1ZiAtIEdldCBhIGJ1ZmZlciB3aXRoIGEgZ2l2ZW4gYWRkcmVzcyBzcGFjZQogICogQGdsOiB0aGUgZ2xvY2sKICAqIEBibGtubzogdGhlIGJsb2NrIG51bWJlciAoZmlsZXN5c3RlbSBzY29wZSkKICAqIEBjcmVhdGU6IDEgaWYgdGhlIGJ1ZmZlciBzaG91bGQgYmUgY3JlYXRlZApAQCAtMTM3LDcgKzEzNyw3IEBACiAgKiBSZXR1cm5zOiB0aGUgYnVmZmVyCiAgKi8KIAotc3RhdGljIHN0cnVjdCBidWZmZXJfaGVhZCAqZ2V0YnVmKHN0cnVjdCBnZnMyX2dsb2NrICpnbCwgdTY0IGJsa25vLCBpbnQgY3JlYXRlKQorc3RydWN0IGJ1ZmZlcl9oZWFkICpnZnMyX2dldGJ1ZihzdHJ1Y3QgZ2ZzMl9nbG9jayAqZ2wsIHU2NCBibGtubywgaW50IGNyZWF0ZSkKIHsKIAlzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZyA9IGdsLT5nbF9hc3BhY2UtPmlfbWFwcGluZzsKIAlzdHJ1Y3QgZ2ZzMl9zYmQgKnNkcCA9IGdsLT5nbF9zYmQ7CkBAIC0yMDUsNyArMjA1LDcgQEAKIHN0cnVjdCBidWZmZXJfaGVhZCAqZ2ZzMl9tZXRhX25ldyhzdHJ1Y3QgZ2ZzMl9nbG9jayAqZ2wsIHU2NCBibGtubykKIHsKIAlzdHJ1Y3QgYnVmZmVyX2hlYWQgKmJoOwotCWJoID0gZ2V0YnVmKGdsLCBibGtubywgQ1JFQVRFKTsKKwliaCA9IGdmczJfZ2V0YnVmKGdsLCBibGtubywgQ1JFQVRFKTsKIAltZXRhX3ByZXBfbmV3KGJoKTsKIAlyZXR1cm4gYmg7CiB9CkBAIC0yMjMsNyArMjIzLDcgQEAKIGludCBnZnMyX21ldGFfcmVhZChzdHJ1Y3QgZ2ZzMl9nbG9jayAqZ2wsIHU2NCBibGtubywgaW50IGZsYWdzLAogCQkgICBzdHJ1Y3QgYnVmZmVyX2hlYWQgKipiaHApCiB7Ci0JKmJocCA9IGdldGJ1ZihnbCwgYmxrbm8sIENSRUFURSk7CisJKmJocCA9IGdmczJfZ2V0YnVmKGdsLCBibGtubywgQ1JFQVRFKTsKIAlpZiAoIWJ1ZmZlcl91cHRvZGF0ZSgqYmhwKSkgewogCQlsbF9yd19ibG9jayhSRUFEX01FVEEsIDEsIGJocCk7CiAJCWlmIChmbGFncyAmIERJT19XQUlUKSB7CkBAIC0zNDYsNyArMzQ2LDcgQEAKIAlzdHJ1Y3QgYnVmZmVyX2hlYWQgKmJoOwogCiAJd2hpbGUgKGJsZW4pIHsKLQkJYmggPSBnZXRidWYoaXAtPmlfZ2wsIGJzdGFydCwgTk9fQ1JFQVRFKTsKKwkJYmggPSBnZnMyX2dldGJ1ZihpcC0+aV9nbCwgYnN0YXJ0LCBOT19DUkVBVEUpOwogCQlpZiAoYmgpIHsKIAkJCWxvY2tfYnVmZmVyKGJoKTsKIAkJCWdmczJfbG9nX2xvY2soc2RwKTsKQEAgLTQyMSw3ICs0MjEsNyBAQAogCWlmIChleHRsZW4gPiBtYXhfcmEpCiAJCWV4dGxlbiA9IG1heF9yYTsKIAotCWZpcnN0X2JoID0gZ2V0YnVmKGdsLCBkYmxvY2ssIENSRUFURSk7CisJZmlyc3RfYmggPSBnZnMyX2dldGJ1ZihnbCwgZGJsb2NrLCBDUkVBVEUpOwogCiAJaWYgKGJ1ZmZlcl91cHRvZGF0ZShmaXJzdF9iaCkpCiAJCWdvdG8gb3V0OwpAQCAtNDMyLDcgKzQzMiw3IEBACiAJZXh0bGVuLS07CiAKIAl3aGlsZSAoZXh0bGVuKSB7Ci0JCWJoID0gZ2V0YnVmKGdsLCBkYmxvY2ssIENSRUFURSk7CisJCWJoID0gZ2ZzMl9nZXRidWYoZ2wsIGRibG9jaywgQ1JFQVRFKTsKIAogCQlpZiAoIWJ1ZmZlcl91cHRvZGF0ZShiaCkgJiYgIWJ1ZmZlcl9sb2NrZWQoYmgpKQogCQkJbGxfcndfYmxvY2soUkVBREEsIDEsICZiaCk7CmRpZmYgLS1naXQgYS9mcy9nZnMyL21ldGFfaW8uaCBiL2ZzL2dmczIvbWV0YV9pby5oCmluZGV4IDczZTNiMWMuLmIxYTVmMzYgMTAwNjQ0Ci0tLSBhL2ZzL2dmczIvbWV0YV9pby5oCisrKyBiL2ZzL2dmczIvbWV0YV9pby5oCkBAIC00Nyw2ICs0Nyw3IEBACiBpbnQgZ2ZzMl9tZXRhX3JlYWQoc3RydWN0IGdmczJfZ2xvY2sgKmdsLCB1NjQgYmxrbm8sCiAJCSAgIGludCBmbGFncywgc3RydWN0IGJ1ZmZlcl9oZWFkICoqYmhwKTsKIGludCBnZnMyX21ldGFfd2FpdChzdHJ1Y3QgZ2ZzMl9zYmQgKnNkcCwgc3RydWN0IGJ1ZmZlcl9oZWFkICpiaCk7CitzdHJ1Y3QgYnVmZmVyX2hlYWQgKmdmczJfZ2V0YnVmKHN0cnVjdCBnZnMyX2dsb2NrICpnbCwgdTY0IGJsa25vLCBpbnQgY3JlYXRlKTsKIAogdm9pZCBnZnMyX2F0dGFjaF9idWZkYXRhKHN0cnVjdCBnZnMyX2dsb2NrICpnbCwgc3RydWN0IGJ1ZmZlcl9oZWFkICpiaCwKIAkJCSBpbnQgbWV0YSk7CmRpZmYgLS1naXQgYS9mcy9nZnMyL29wc19hZGRyZXNzLmMgYi9mcy9nZnMyL29wc19hZGRyZXNzLmMKaW5kZXggZjU1Mzk0ZS4uZTY0YTFiMCAxMDA2NDQKLS0tIGEvZnMvZ2ZzMi9vcHNfYWRkcmVzcy5jCisrKyBiL2ZzL2dmczIvb3BzX2FkZHJlc3MuYwpAQCAtNDk5LDM0ICs0OTksMzQgQEAKICAqIEBmaWxlOiBUaGUgZmlsZSB0byByZWFkCiAgKiBAcGFnZTogVGhlIHBhZ2Ugb2YgdGhlIGZpbGUKICAqCi0gKiBUaGlzIGRlYWxzIHdpdGggdGhlIGxvY2tpbmcgcmVxdWlyZWQuIFdlIHVzZSBhIHRyeWxvY2sgaW4gb3JkZXIgdG8KLSAqIGF2b2lkIHRoZSBwYWdlIGxvY2sgLyBnbG9jayBvcmRlcmluZyBwcm9ibGVtcyByZXR1cm5pbmcgQU9QX1RSVU5DQVRFRF9QQUdFCi0gKiBpbiB0aGUgZXZlbnQgdGhhdCB3ZSBhcmUgdW5hYmxlIHRvIGdldCB0aGUgbG9jay4KKyAqIFRoaXMgZGVhbHMgd2l0aCB0aGUgbG9ja2luZyByZXF1aXJlZC4gV2UgaGF2ZSB0byB1bmxvY2sgYW5kCisgKiByZWxvY2sgdGhlIHBhZ2UgaW4gb3JkZXIgdG8gZ2V0IHRoZSBsb2NraW5nIGluIHRoZSByaWdodAorICogb3JkZXIuCiAgKi8KIAogc3RhdGljIGludCBnZnMyX3JlYWRwYWdlKHN0cnVjdCBmaWxlICpmaWxlLCBzdHJ1Y3QgcGFnZSAqcGFnZSkKIHsKLQlzdHJ1Y3QgZ2ZzMl9pbm9kZSAqaXAgPSBHRlMyX0kocGFnZS0+bWFwcGluZy0+aG9zdCk7Ci0Jc3RydWN0IGdmczJfaG9sZGVyICpnaDsKKwlzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZyA9IHBhZ2UtPm1hcHBpbmc7CisJc3RydWN0IGdmczJfaW5vZGUgKmlwID0gR0ZTMl9JKG1hcHBpbmctPmhvc3QpOworCXN0cnVjdCBnZnMyX2hvbGRlciBnaDsKIAlpbnQgZXJyb3I7CiAKLQlnaCA9IGdmczJfZ2xvY2tfaXNfbG9ja2VkX2J5X21lKGlwLT5pX2dsKTsKLQlpZiAoIWdoKSB7Ci0JCWdoID0ga21hbGxvYyhzaXplb2Yoc3RydWN0IGdmczJfaG9sZGVyKSwgR0ZQX05PRlMpOwotCQlpZiAoIWdoKQotCQkJcmV0dXJuIC1FTk9CVUZTOwotCQlnZnMyX2hvbGRlcl9pbml0KGlwLT5pX2dsLCBMTV9TVF9TSEFSRUQsIEdMX0FUSU1FLCBnaCk7CisJdW5sb2NrX3BhZ2UocGFnZSk7CisJZ2ZzMl9ob2xkZXJfaW5pdChpcC0+aV9nbCwgTE1fU1RfU0hBUkVELCBHTF9BVElNRSwgJmdoKTsKKwllcnJvciA9IGdmczJfZ2xvY2tfbnFfYXRpbWUoJmdoKTsKKwlpZiAodW5saWtlbHkoZXJyb3IpKQorCQlnb3RvIG91dDsKKwllcnJvciA9IEFPUF9UUlVOQ0FURURfUEFHRTsKKwlsb2NrX3BhZ2UocGFnZSk7CisJaWYgKHBhZ2UtPm1hcHBpbmcgPT0gbWFwcGluZyAmJiAhUGFnZVVwdG9kYXRlKHBhZ2UpKQorCQllcnJvciA9IF9fZ2ZzMl9yZWFkcGFnZShmaWxlLCBwYWdlKTsKKwllbHNlCiAJCXVubG9ja19wYWdlKHBhZ2UpOwotCQllcnJvciA9IGdmczJfZ2xvY2tfbnFfYXRpbWUoZ2gpOwotCQlpZiAobGlrZWx5KGVycm9yICE9IDApKQotCQkJZ290byBvdXQ7Ci0JCXJldHVybiBBT1BfVFJVTkNBVEVEX1BBR0U7Ci0JfQotCWVycm9yID0gX19nZnMyX3JlYWRwYWdlKGZpbGUsIHBhZ2UpOwotCWdmczJfZ2xvY2tfZHEoZ2gpOworCWdmczJfZ2xvY2tfZHEoJmdoKTsKIG91dDoKLQlnZnMyX2hvbGRlcl91bmluaXQoZ2gpOwotCWtmcmVlKGdoKTsKKwlnZnMyX2hvbGRlcl91bmluaXQoJmdoKTsKKwlpZiAoZXJyb3IgJiYgZXJyb3IgIT0gQU9QX1RSVU5DQVRFRF9QQUdFKQorCQlsb2NrX3BhZ2UocGFnZSk7CiAJcmV0dXJuIGVycm9yOwogfQogCmRpZmYgLS1naXQgYS9mcy9nZnMyL29wc19maWxlLmMgYi9mcy9nZnMyL29wc19maWxlLmMKaW5kZXggZTFiN2Q1Mi4uZTlhMzY2ZCAxMDA2NDQKLS0tIGEvZnMvZ2ZzMi9vcHNfZmlsZS5jCisrKyBiL2ZzL2dmczIvb3BzX2ZpbGUuYwpAQCAtMTUsNiArMTUsNyBAQAogI2luY2x1ZGUgPGxpbnV4L3Vpby5oPgogI2luY2x1ZGUgPGxpbnV4L2Jsa2Rldi5oPgogI2luY2x1ZGUgPGxpbnV4L21tLmg+CisjaW5jbHVkZSA8bGludXgvbW91bnQuaD4KICNpbmNsdWRlIDxsaW51eC9mcy5oPgogI2luY2x1ZGUgPGxpbnV4L2dmczJfb25kaXNrLmg+CiAjaW5jbHVkZSA8bGludXgvZXh0Ml9mcy5oPgpAQCAtNjIsMTEgKzYzLDExIEBACiAJCWVycm9yID0gZ2ZzMl9nbG9ja19ucV9pbml0KGlwLT5pX2dsLCBMTV9TVF9TSEFSRUQsIExNX0ZMQUdfQU5ZLAogCQkJCQkgICAmaV9naCk7CiAJCWlmICghZXJyb3IpIHsKLQkJCWVycm9yID0gcmVtb3RlX2xsc2VlayhmaWxlLCBvZmZzZXQsIG9yaWdpbik7CisJCQllcnJvciA9IGdlbmVyaWNfZmlsZV9sbHNlZWtfdW5sb2NrZWQoZmlsZSwgb2Zmc2V0LCBvcmlnaW4pOwogCQkJZ2ZzMl9nbG9ja19kcV91bmluaXQoJmlfZ2gpOwogCQl9CiAJfSBlbHNlCi0JCWVycm9yID0gcmVtb3RlX2xsc2VlayhmaWxlLCBvZmZzZXQsIG9yaWdpbik7CisJCWVycm9yID0gZ2VuZXJpY19maWxlX2xsc2Vla191bmxvY2tlZChmaWxlLCBvZmZzZXQsIG9yaWdpbik7CiAKIAlyZXR1cm4gZXJyb3I7CiB9CkBAIC0xMzMsNyArMTM0LDYgQEAKIAlbN10gPSBHRlMyX0RJRl9OT0FUSU1FLAogCVsxMl0gPSBHRlMyX0RJRl9FWEhBU0gsCiAJWzE0XSA9IEdGUzJfRElGX0lOSEVSSVRfSkRBVEEsCi0JWzIwXSA9IEdGUzJfRElGX0lOSEVSSVRfRElSRUNUSU8sCiB9OwogCiBzdGF0aWMgY29uc3QgdTMyIGdmczJfdG9fZnNmbGFnc1szMl0gPSB7CkBAIC0xNDIsNyArMTQyLDYgQEAKIAlbZ2ZzMmZsX0FwcGVuZE9ubHldID0gRlNfQVBQRU5EX0ZMLAogCVtnZnMyZmxfTm9BdGltZV0gPSBGU19OT0FUSU1FX0ZMLAogCVtnZnMyZmxfRXhIYXNoXSA9IEZTX0lOREVYX0ZMLAotCVtnZnMyZmxfSW5oZXJpdERpcmVjdGlvXSA9IEZTX0RJUkVDVElPX0ZMLAogCVtnZnMyZmxfSW5oZXJpdEpkYXRhXSA9IEZTX0pPVVJOQUxfREFUQV9GTCwKIH07CiAKQEAgLTE2MCwxMiArMTU5LDggQEAKIAkJcmV0dXJuIGVycm9yOwogCiAJZnNmbGFncyA9IGZzZmxhZ3NfY3Z0KGdmczJfdG9fZnNmbGFncywgaXAtPmlfZGkuZGlfZmxhZ3MpOwotCWlmICghU19JU0RJUihpbm9kZS0+aV9tb2RlKSkgewotCQlpZiAoaXAtPmlfZGkuZGlfZmxhZ3MgJiBHRlMyX0RJRl9KREFUQSkKLQkJCWZzZmxhZ3MgfD0gRlNfSk9VUk5BTF9EQVRBX0ZMOwotCQlpZiAoaXAtPmlfZGkuZGlfZmxhZ3MgJiBHRlMyX0RJRl9ESVJFQ1RJTykKLQkJCWZzZmxhZ3MgfD0gRlNfRElSRUNUSU9fRkw7Ci0JfQorCWlmICghU19JU0RJUihpbm9kZS0+aV9tb2RlKSAmJiBpcC0+aV9kaS5kaV9mbGFncyAmIEdGUzJfRElGX0pEQVRBKQorCQlmc2ZsYWdzIHw9IEZTX0pPVVJOQUxfREFUQV9GTDsKIAlpZiAocHV0X3VzZXIoZnNmbGFncywgcHRyKSkKIAkJZXJyb3IgPSAtRUZBVUxUOwogCkBAIC0xOTQsMTMgKzE4OSwxMSBAQAogCiAvKiBGbGFncyB0aGF0IGNhbiBiZSBzZXQgYnkgdXNlciBzcGFjZSAqLwogI2RlZmluZSBHRlMyX0ZMQUdTX1VTRVJfU0VUIChHRlMyX0RJRl9KREFUQXwJCQlcCi0JCQkgICAgIEdGUzJfRElGX0RJUkVDVElPfAkJCVwKIAkJCSAgICAgR0ZTMl9ESUZfSU1NVVRBQkxFfAkJXAogCQkJICAgICBHRlMyX0RJRl9BUFBFTkRPTkxZfAkJXAogCQkJICAgICBHRlMyX0RJRl9OT0FUSU1FfAkJCVwKIAkJCSAgICAgR0ZTMl9ESUZfU1lOQ3wJCQlcCiAJCQkgICAgIEdGUzJfRElGX1NZU1RFTXwJCQlcCi0JCQkgICAgIEdGUzJfRElGX0lOSEVSSVRfRElSRUNUSU98CQlcCiAJCQkgICAgIEdGUzJfRElGX0lOSEVSSVRfSkRBVEEpCiAKIC8qKgpAQCAtMjIwLDEwICsyMTMsMTQgQEAKIAlpbnQgZXJyb3I7CiAJdTMyIG5ld19mbGFncywgZmxhZ3M7CiAKLQllcnJvciA9IGdmczJfZ2xvY2tfbnFfaW5pdChpcC0+aV9nbCwgTE1fU1RfRVhDTFVTSVZFLCAwLCAmZ2gpOworCWVycm9yID0gbW50X3dhbnRfd3JpdGUoZmlscC0+Zl9wYXRoLm1udCk7CiAJaWYgKGVycm9yKQogCQlyZXR1cm4gZXJyb3I7CiAKKwllcnJvciA9IGdmczJfZ2xvY2tfbnFfaW5pdChpcC0+aV9nbCwgTE1fU1RfRVhDTFVTSVZFLCAwLCAmZ2gpOworCWlmIChlcnJvcikKKwkJZ290byBvdXRfZHJvcF93cml0ZTsKKwogCWZsYWdzID0gaXAtPmlfZGkuZGlfZmxhZ3M7CiAJbmV3X2ZsYWdzID0gKGZsYWdzICYgfm1hc2spIHwgKHJlcWZsYWdzICYgbWFzayk7CiAJaWYgKChuZXdfZmxhZ3MgXiBmbGFncykgPT0gMCkKQEAgLTI0Miw3ICsyMzksNyBAQAogCSAgICAhY2FwYWJsZShDQVBfTElOVVhfSU1NVVRBQkxFKSkKIAkJZ290byBvdXQ7CiAJaWYgKCFJU19JTU1VVEFCTEUoaW5vZGUpKSB7Ci0JCWVycm9yID0gcGVybWlzc2lvbihpbm9kZSwgTUFZX1dSSVRFLCBOVUxMKTsKKwkJZXJyb3IgPSBnZnMyX3Blcm1pc3Npb24oaW5vZGUsIE1BWV9XUklURSk7CiAJCWlmIChlcnJvcikKIAkJCWdvdG8gb3V0OwogCX0KQEAgLTI3Miw2ICsyNjksOCBAQAogCWdmczJfdHJhbnNfZW5kKHNkcCk7CiBvdXQ6CiAJZ2ZzMl9nbG9ja19kcV91bmluaXQoJmdoKTsKK291dF9kcm9wX3dyaXRlOgorCW1udF9kcm9wX3dyaXRlKGZpbHAtPmZfcGF0aC5tbnQpOwogCXJldHVybiBlcnJvcjsKIH0KIApAQCAtMjg1LDggKzI4NCw2IEBACiAJaWYgKCFTX0lTRElSKGlub2RlLT5pX21vZGUpKSB7CiAJCWlmIChnZnNmbGFncyAmIEdGUzJfRElGX0lOSEVSSVRfSkRBVEEpCiAJCQlnZnNmbGFncyBePSAoR0ZTMl9ESUZfSkRBVEEgfCBHRlMyX0RJRl9JTkhFUklUX0pEQVRBKTsKLQkJaWYgKGdmc2ZsYWdzICYgR0ZTMl9ESUZfSU5IRVJJVF9ESVJFQ1RJTykKLQkJCWdmc2ZsYWdzIF49IChHRlMyX0RJRl9ESVJFQ1RJTyB8IEdGUzJfRElGX0lOSEVSSVRfRElSRUNUSU8pOwogCQlyZXR1cm4gZG9fZ2ZzMl9zZXRfZmxhZ3MoZmlscCwgZ2ZzZmxhZ3MsIH4wKTsKIAl9CiAJcmV0dXJuIGRvX2dmczJfc2V0X2ZsYWdzKGZpbHAsIGdmc2ZsYWdzLCB+R0ZTMl9ESUZfSkRBVEEpOwpAQCAtNDg3LDExICs0ODQsNiBAQAogCQkJZ290byBmYWlsX2d1bmxvY2s7CiAJCX0KIAotCQkvKiBMaXN0ZW4gdG8gdGhlIERpcmVjdCBJL08gZmxhZyAqLwotCi0JCWlmIChpcC0+aV9kaS5kaV9mbGFncyAmIEdGUzJfRElGX0RJUkVDVElPKQotCQkJZmlsZS0+Zl9mbGFncyB8PSBPX0RJUkVDVDsKLQogCQlnZnMyX2dsb2NrX2RxX3VuaW5pdCgmaV9naCk7CiAJfQogCkBAIC02NjksOCArNjYxLDcgQEAKIAlpbnQgZXJyb3IgPSAwOwogCiAJc3RhdGUgPSAoZmwtPmZsX3R5cGUgPT0gRl9XUkxDSykgPyBMTV9TVF9FWENMVVNJVkUgOiBMTV9TVF9TSEFSRUQ7Ci0JZmxhZ3MgPSAoSVNfU0VUTEtXKGNtZCkgPyAwIDogTE1fRkxBR19UUlkpIHwgR0xfRVhBQ1QgfCBHTF9OT0NBQ0hFIAotCQl8IEdMX0ZMT0NLOworCWZsYWdzID0gKElTX1NFVExLVyhjbWQpID8gMCA6IExNX0ZMQUdfVFJZKSB8IEdMX0VYQUNUIHwgR0xfTk9DQUNIRTsKIAogCW11dGV4X2xvY2soJmZwLT5mX2ZsX211dGV4KTsKIApAQCAtNjgzLDkgKzY3NCw4IEBACiAJCWdmczJfZ2xvY2tfZHFfd2FpdChmbF9naCk7CiAJCWdmczJfaG9sZGVyX3JlaW5pdChzdGF0ZSwgZmxhZ3MsIGZsX2doKTsKIAl9IGVsc2UgewotCQllcnJvciA9IGdmczJfZ2xvY2tfZ2V0KEdGUzJfU0IoJmlwLT5pX2lub2RlKSwKLQkJCQkgICAgICBpcC0+aV9ub19hZGRyLCAmZ2ZzMl9mbG9ja19nbG9wcywKLQkJCQkgICAgICBDUkVBVEUsICZnbCk7CisJCWVycm9yID0gZ2ZzMl9nbG9ja19nZXQoR0ZTMl9TQigmaXAtPmlfaW5vZGUpLCBpcC0+aV9ub19hZGRyLAorCQkJCSAgICAgICAmZ2ZzMl9mbG9ja19nbG9wcywgQ1JFQVRFLCAmZ2wpOwogCQlpZiAoZXJyb3IpCiAJCQlnb3RvIG91dDsKIAkJZ2ZzMl9ob2xkZXJfaW5pdChnbCwgc3RhdGUsIGZsYWdzLCBmbF9naCk7CmRpZmYgLS1naXQgYS9mcy9nZnMyL29wc19mc3R5cGUuYyBiL2ZzL2dmczIvb3BzX2ZzdHlwZS5jCmluZGV4IGIyMDI4YzguLmI0ZDFkNjQgMTAwNjQ0Ci0tLSBhL2ZzL2dmczIvb3BzX2ZzdHlwZS5jCisrKyBiL2ZzL2dmczIvb3BzX2ZzdHlwZS5jCkBAIC02NCw3ICs2NCw2IEBACiAJbXV0ZXhfaW5pdCgmc2RwLT5zZF9yaW5kZXhfbXV0ZXgpOwogCUlOSVRfTElTVF9IRUFEKCZzZHAtPnNkX3JpbmRleF9saXN0KTsKIAlJTklUX0xJU1RfSEVBRCgmc2RwLT5zZF9yaW5kZXhfbXJ1X2xpc3QpOwotCUlOSVRfTElTVF9IRUFEKCZzZHAtPnNkX3JpbmRleF9yZWNlbnRfbGlzdCk7CiAKIAlJTklUX0xJU1RfSEVBRCgmc2RwLT5zZF9qaW5kZXhfbGlzdCk7CiAJc3Bpbl9sb2NrX2luaXQoJnNkcC0+c2RfamluZGV4X3NwaW4pOwpAQCAtMzY0LDYgKzM2Myw4IEBACiAKIHN0YXRpYyB2b2lkIGdmczJfbG1fb3RoZXJzX21heV9tb3VudChzdHJ1Y3QgZ2ZzMl9zYmQgKnNkcCkKIHsKKwlpZiAoIXNkcC0+c2RfbG9ja3N0cnVjdC5sc19vcHMtPmxtX290aGVyc19tYXlfbW91bnQpCisJCXJldHVybjsKIAlpZiAobGlrZWx5KCF0ZXN0X2JpdChTREZfU0hVVERPV04sICZzZHAtPnNkX2ZsYWdzKSkpCiAJCXNkcC0+c2RfbG9ja3N0cnVjdC5sc19vcHMtPmxtX290aGVyc19tYXlfbW91bnQoCiAJCQkJCXNkcC0+c2RfbG9ja3N0cnVjdC5sc19sb2Nrc3BhY2UpOwpAQCAtNzQxLDggKzc0Miw3IEBACiAJCWdvdG8gb3V0OwogCX0KIAotCWlmIChnZnMyX2Fzc2VydF93YXJuKHNkcCwgc2RwLT5zZF9sb2Nrc3RydWN0LmxzX2xvY2tzcGFjZSkgfHwKLQkgICAgZ2ZzMl9hc3NlcnRfd2FybihzZHAsIHNkcC0+c2RfbG9ja3N0cnVjdC5sc19vcHMpIHx8CisJaWYgKGdmczJfYXNzZXJ0X3dhcm4oc2RwLCBzZHAtPnNkX2xvY2tzdHJ1Y3QubHNfb3BzKSB8fAogCSAgICBnZnMyX2Fzc2VydF93YXJuKHNkcCwgc2RwLT5zZF9sb2Nrc3RydWN0LmxzX2x2Yl9zaXplID49CiAJCQkJICBHRlMyX01JTl9MVkJfU0laRSkpIHsKIAkJZ2ZzMl91bm1vdW50X2xvY2twcm90bygmc2RwLT5zZF9sb2Nrc3RydWN0KTsKQEAgLTg3Myw3ICs4NzMsNyBAQAogZmFpbF9sb2NraW5nOgogCWluaXRfbG9ja2luZyhzZHAsICZtb3VudF9naCwgVU5ETyk7CiBmYWlsX2xtOgotCWdmczJfZ2xfaGFzaF9jbGVhcihzZHAsIFdBSVQpOworCWdmczJfZ2xfaGFzaF9jbGVhcihzZHApOwogCWdmczJfbG1fdW5tb3VudChzZHApOwogCXdoaWxlIChpbnZhbGlkYXRlX2lub2RlcyhzYikpCiAJCXlpZWxkKCk7CmRpZmYgLS1naXQgYS9mcy9nZnMyL29wc19pbm9kZS5jIGIvZnMvZ2ZzMi9vcHNfaW5vZGUuYwppbmRleCAyNjg2YWQ0Li4xZTI1MmRmIDEwMDY0NAotLS0gYS9mcy9nZnMyL29wc19pbm9kZS5jCisrKyBiL2ZzL2dmczIvb3BzX2lub2RlLmMKQEAgLTE2Myw3ICsxNjMsNyBAQAogCWlmIChlcnJvcikKIAkJZ290byBvdXQ7CiAKLQllcnJvciA9IHBlcm1pc3Npb24oZGlyLCBNQVlfV1JJVEUgfCBNQVlfRVhFQywgTlVMTCk7CisJZXJyb3IgPSBnZnMyX3Blcm1pc3Npb24oZGlyLCBNQVlfV1JJVEUgfCBNQVlfRVhFQyk7CiAJaWYgKGVycm9yKQogCQlnb3RvIG91dF9ndW5sb2NrOwogCkBAIC02NjksNyArNjY5LDcgQEAKIAkJCX0KIAkJfQogCX0gZWxzZSB7Ci0JCWVycm9yID0gcGVybWlzc2lvbihuZGlyLCBNQVlfV1JJVEUgfCBNQVlfRVhFQywgTlVMTCk7CisJCWVycm9yID0gZ2ZzMl9wZXJtaXNzaW9uKG5kaXIsIE1BWV9XUklURSB8IE1BWV9FWEVDKTsKIAkJaWYgKGVycm9yKQogCQkJZ290byBvdXRfZ3VubG9jazsKIApAQCAtNzA0LDcgKzcwNCw3IEBACiAJLyogQ2hlY2sgb3V0IHRoZSBkaXIgdG8gYmUgcmVuYW1lZCAqLwogCiAJaWYgKGRpcl9yZW5hbWUpIHsKLQkJZXJyb3IgPSBwZXJtaXNzaW9uKG9kZW50cnktPmRfaW5vZGUsIE1BWV9XUklURSwgTlVMTCk7CisJCWVycm9yID0gZ2ZzMl9wZXJtaXNzaW9uKG9kZW50cnktPmRfaW5vZGUsIE1BWV9XUklURSk7CiAJCWlmIChlcnJvcikKIAkJCWdvdG8gb3V0X2d1bmxvY2s7CiAJfQpAQCAtODkxLDcgKzg5MSw3IEBACiAgKiBSZXR1cm5zOiBlcnJubwogICovCiAKLXN0YXRpYyBpbnQgZ2ZzMl9wZXJtaXNzaW9uKHN0cnVjdCBpbm9kZSAqaW5vZGUsIGludCBtYXNrLCBzdHJ1Y3QgbmFtZWlkYXRhICpuZCkKK2ludCBnZnMyX3Blcm1pc3Npb24oc3RydWN0IGlub2RlICppbm9kZSwgaW50IG1hc2spCiB7CiAJc3RydWN0IGdmczJfaW5vZGUgKmlwID0gR0ZTMl9JKGlub2RlKTsKIAlzdHJ1Y3QgZ2ZzMl9ob2xkZXIgaV9naDsKQEAgLTkwNSwxMyArOTA1LDIyIEBACiAJCXVubG9jayA9IDE7CiAJfQogCi0JZXJyb3IgPSBnZW5lcmljX3Blcm1pc3Npb24oaW5vZGUsIG1hc2ssIGdmczJfY2hlY2tfYWNsKTsKKwlpZiAoKG1hc2sgJiBNQVlfV1JJVEUpICYmIElTX0lNTVVUQUJMRShpbm9kZSkpCisJCWVycm9yID0gLUVBQ0NFUzsKKwllbHNlCisJCWVycm9yID0gZ2VuZXJpY19wZXJtaXNzaW9uKGlub2RlLCBtYXNrLCBnZnMyX2NoZWNrX2FjbCk7CiAJaWYgKHVubG9jaykKIAkJZ2ZzMl9nbG9ja19kcV91bmluaXQoJmlfZ2gpOwogCiAJcmV0dXJuIGVycm9yOwogfQogCitzdGF0aWMgaW50IGdmczJfaW9wX3Blcm1pc3Npb24oc3RydWN0IGlub2RlICppbm9kZSwgaW50IG1hc2ssCisJCQkgICAgICAgc3RydWN0IG5hbWVpZGF0YSAqbmQpCit7CisJcmV0dXJuIGdmczJfcGVybWlzc2lvbihpbm9kZSwgbWFzayk7Cit9CisKIHN0YXRpYyBpbnQgc2V0YXR0cl9zaXplKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBpYXR0ciAqYXR0cikKIHsKIAlzdHJ1Y3QgZ2ZzMl9pbm9kZSAqaXAgPSBHRlMyX0koaW5vZGUpOwpAQCAtMTE0MSw3ICsxMTUwLDcgQEAKIH0KIAogY29uc3Qgc3RydWN0IGlub2RlX29wZXJhdGlvbnMgZ2ZzMl9maWxlX2lvcHMgPSB7Ci0JLnBlcm1pc3Npb24gPSBnZnMyX3Blcm1pc3Npb24sCisJLnBlcm1pc3Npb24gPSBnZnMyX2lvcF9wZXJtaXNzaW9uLAogCS5zZXRhdHRyID0gZ2ZzMl9zZXRhdHRyLAogCS5nZXRhdHRyID0gZ2ZzMl9nZXRhdHRyLAogCS5zZXR4YXR0ciA9IGdmczJfc2V0eGF0dHIsCkBAIC0xMTYwLDcgKzExNjksNyBAQAogCS5ybWRpciA9IGdmczJfcm1kaXIsCiAJLm1rbm9kID0gZ2ZzMl9ta25vZCwKIAkucmVuYW1lID0gZ2ZzMl9yZW5hbWUsCi0JLnBlcm1pc3Npb24gPSBnZnMyX3Blcm1pc3Npb24sCisJLnBlcm1pc3Npb24gPSBnZnMyX2lvcF9wZXJtaXNzaW9uLAogCS5zZXRhdHRyID0gZ2ZzMl9zZXRhdHRyLAogCS5nZXRhdHRyID0gZ2ZzMl9nZXRhdHRyLAogCS5zZXR4YXR0ciA9IGdmczJfc2V0eGF0dHIsCkBAIC0xMTcyLDcgKzExODEsNyBAQAogY29uc3Qgc3RydWN0IGlub2RlX29wZXJhdGlvbnMgZ2ZzMl9zeW1saW5rX2lvcHMgPSB7CiAJLnJlYWRsaW5rID0gZ2ZzMl9yZWFkbGluaywKIAkuZm9sbG93X2xpbmsgPSBnZnMyX2ZvbGxvd19saW5rLAotCS5wZXJtaXNzaW9uID0gZ2ZzMl9wZXJtaXNzaW9uLAorCS5wZXJtaXNzaW9uID0gZ2ZzMl9pb3BfcGVybWlzc2lvbiwKIAkuc2V0YXR0ciA9IGdmczJfc2V0YXR0ciwKIAkuZ2V0YXR0ciA9IGdmczJfZ2V0YXR0ciwKIAkuc2V0eGF0dHIgPSBnZnMyX3NldHhhdHRyLApkaWZmIC0tZ2l0IGEvZnMvZ2ZzMi9vcHNfc3VwZXIuYyBiL2ZzL2dmczIvb3BzX3N1cGVyLmMKaW5kZXggMGI3Y2M5Mi4uZjY2ZWEwZiAxMDA2NDQKLS0tIGEvZnMvZ2ZzMi9vcHNfc3VwZXIuYworKysgYi9mcy9nZnMyL29wc19zdXBlci5jCkBAIC0xMjYsNyArMTI2LDcgQEAKIAlnZnMyX2NsZWFyX3JncnBkKHNkcCk7CiAJZ2ZzMl9qaW5kZXhfZnJlZShzZHApOwogCS8qICBUYWtlIGFwYXJ0IGdsb2NrIHN0cnVjdHVyZXMgYW5kIGJ1ZmZlciBsaXN0cyAgKi8KLQlnZnMyX2dsX2hhc2hfY2xlYXIoc2RwLCBXQUlUKTsKKwlnZnMyX2dsX2hhc2hfY2xlYXIoc2RwKTsKIAkvKiAgVW5tb3VudCB0aGUgbG9ja2luZyBwcm90b2NvbCAgKi8KIAlnZnMyX2xtX3VubW91bnQoc2RwKTsKIApAQCAtMTU1LDcgKzE1NSw3IEBACiBzdGF0aWMgaW50IGdmczJfc3luY19mcyhzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiLCBpbnQgd2FpdCkKIHsKIAlzYi0+c19kaXJ0ID0gMDsKLQlpZiAod2FpdCkKKwlpZiAod2FpdCAmJiBzYi0+c19mc19pbmZvKQogCQlnZnMyX2xvZ19mbHVzaChzYi0+c19mc19pbmZvLCBOVUxMKTsKIAlyZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL2ZzL2dmczIvcXVvdGEuYyBiL2ZzL2dmczIvcXVvdGEuYwppbmRleCA1NmFhZjkxLi4zZTA3M2Y1IDEwMDY0NAotLS0gYS9mcy9nZnMyL3F1b3RhLmMKKysrIGIvZnMvZ2ZzMi9xdW90YS5jCkBAIC05MDQsNyArOTA0LDcgQEAKIAkJZG9fc3luYyA9IDA7CiAJZWxzZSB7CiAJCXZhbHVlICo9IGdmczJfamluZGV4X3NpemUoc2RwKSAqIG51bTsKLQkJZG9fZGl2KHZhbHVlLCBkZW4pOworCQl2YWx1ZSA9IGRpdl9zNjQodmFsdWUsIGRlbik7CiAJCXZhbHVlICs9IChzNjQpYmU2NF90b19jcHUocWQtPnFkX3FiLnFiX3ZhbHVlKTsKIAkJaWYgKHZhbHVlIDwgKHM2NCliZTY0X3RvX2NwdShxZC0+cWRfcWIucWJfbGltaXQpKQogCQkJZG9fc3luYyA9IDA7CmRpZmYgLS1naXQgYS9mcy9nZnMyL3JlY292ZXJ5LmMgYi9mcy9nZnMyL3JlY292ZXJ5LmMKaW5kZXggMjg4OGU0Yi4uZDVlOTFmNCAxMDA2NDQKLS0tIGEvZnMvZ2ZzMi9yZWNvdmVyeS5jCisrKyBiL2ZzL2dmczIvcmVjb3ZlcnkuYwpAQCAtNDI4LDYgKzQyOCw5IEBACiBzdGF0aWMgdm9pZCBnZnMyX2xtX3JlY292ZXJ5X2RvbmUoc3RydWN0IGdmczJfc2JkICpzZHAsIHVuc2lnbmVkIGludCBqaWQsCiAJCQkJICB1bnNpZ25lZCBpbnQgbWVzc2FnZSkKIHsKKwlpZiAoIXNkcC0+c2RfbG9ja3N0cnVjdC5sc19vcHMtPmxtX3JlY292ZXJ5X2RvbmUpCisJCXJldHVybjsKKwogCWlmIChsaWtlbHkoIXRlc3RfYml0KFNERl9TSFVURE9XTiwgJnNkcC0+c2RfZmxhZ3MpKSkKIAkJc2RwLT5zZF9sb2Nrc3RydWN0LmxzX29wcy0+bG1fcmVjb3ZlcnlfZG9uZSgKIAkJCXNkcC0+c2RfbG9ja3N0cnVjdC5sc19sb2Nrc3BhY2UsIGppZCwgbWVzc2FnZSk7CkBAIC01MDUsNyArNTA4LDcgQEAKIAogCQllcnJvciA9IGdmczJfZ2xvY2tfbnFfaW5pdChzZHAtPnNkX3RyYW5zX2dsLCBMTV9TVF9TSEFSRUQsCiAJCQkJCSAgIExNX0ZMQUdfTk9FWFAgfCBMTV9GTEFHX1BSSU9SSVRZIHwKLQkJCQkJICAgR0xfTk9DQU5DRUwgfCBHTF9OT0NBQ0hFLCAmdF9naCk7CisJCQkJCSAgIEdMX05PQ0FDSEUsICZ0X2doKTsKIAkJaWYgKGVycm9yKQogCQkJZ290byBmYWlsX2d1bmxvY2tfamk7CiAKZGlmZiAtLWdpdCBhL2ZzL2dmczIvcmdycC5jIGIvZnMvZ2ZzMi9yZ3JwLmMKaW5kZXggMzQwMTYyOC4uMmQ5MGZiMiAxMDA2NDQKLS0tIGEvZnMvZ2ZzMi9yZ3JwLmMKKysrIGIvZnMvZ2ZzMi9yZ3JwLmMKQEAgLTM3MSwxMSArMzcxLDYgQEAKIAogCXNwaW5fbG9jaygmc2RwLT5zZF9yaW5kZXhfc3Bpbik7CiAJc2RwLT5zZF9yaW5kZXhfZm9yd2FyZCA9IE5VTEw7Ci0JaGVhZCA9ICZzZHAtPnNkX3JpbmRleF9yZWNlbnRfbGlzdDsKLQl3aGlsZSAoIWxpc3RfZW1wdHkoaGVhZCkpIHsKLQkJcmdkID0gbGlzdF9lbnRyeShoZWFkLT5uZXh0LCBzdHJ1Y3QgZ2ZzMl9yZ3JwZCwgcmRfcmVjZW50KTsKLQkJbGlzdF9kZWwoJnJnZC0+cmRfcmVjZW50KTsKLQl9CiAJc3Bpbl91bmxvY2soJnNkcC0+c2RfcmluZGV4X3NwaW4pOwogCiAJaGVhZCA9ICZzZHAtPnNkX3JpbmRleF9saXN0OwpAQCAtOTQ1LDEwNyArOTQwLDMwIEBACiB9CiAKIC8qKgotICogcmVjZW50X3JncnBfZmlyc3QgLSBnZXQgZmlyc3QgUkcgZnJvbSAicmVjZW50IiBsaXN0Ci0gKiBAc2RwOiBUaGUgR0ZTMiBzdXBlcmJsb2NrCi0gKiBAcmdsYXN0OiBhZGRyZXNzIG9mIHRoZSByZ3JwIHVzZWQgbGFzdAotICoKLSAqIFJldHVybnM6IFRoZSBmaXJzdCByZ3JwIGluIHRoZSByZWNlbnQgbGlzdAotICovCi0KLXN0YXRpYyBzdHJ1Y3QgZ2ZzMl9yZ3JwZCAqcmVjZW50X3JncnBfZmlyc3Qoc3RydWN0IGdmczJfc2JkICpzZHAsCi0JCQkJCSAgICB1NjQgcmdsYXN0KQotewotCXN0cnVjdCBnZnMyX3JncnBkICpyZ2Q7Ci0KLQlzcGluX2xvY2soJnNkcC0+c2RfcmluZGV4X3NwaW4pOwotCi0JaWYgKHJnbGFzdCkgewotCQlsaXN0X2Zvcl9lYWNoX2VudHJ5KHJnZCwgJnNkcC0+c2RfcmluZGV4X3JlY2VudF9saXN0LCByZF9yZWNlbnQpIHsKLQkJCWlmIChyZ3JwX2NvbnRhaW5zX2Jsb2NrKHJnZCwgcmdsYXN0KSkKLQkJCQlnb3RvIG91dDsKLQkJfQotCX0KLQlyZ2QgPSBOVUxMOwotCWlmICghbGlzdF9lbXB0eSgmc2RwLT5zZF9yaW5kZXhfcmVjZW50X2xpc3QpKQotCQlyZ2QgPSBsaXN0X2VudHJ5KHNkcC0+c2RfcmluZGV4X3JlY2VudF9saXN0Lm5leHQsCi0JCQkJIHN0cnVjdCBnZnMyX3JncnBkLCByZF9yZWNlbnQpOwotb3V0OgotCXNwaW5fdW5sb2NrKCZzZHAtPnNkX3JpbmRleF9zcGluKTsKLQlyZXR1cm4gcmdkOwotfQotCi0vKioKICAqIHJlY2VudF9yZ3JwX25leHQgLSBnZXQgbmV4dCBSRyBmcm9tICJyZWNlbnQiIGxpc3QKICAqIEBjdXJfcmdkOiBjdXJyZW50IHJncnAKLSAqIEByZW1vdmU6CiAgKgogICogUmV0dXJuczogVGhlIG5leHQgcmdycCBpbiB0aGUgcmVjZW50IGxpc3QKICAqLwogCi1zdGF0aWMgc3RydWN0IGdmczJfcmdycGQgKnJlY2VudF9yZ3JwX25leHQoc3RydWN0IGdmczJfcmdycGQgKmN1cl9yZ2QsCi0JCQkJCSAgIGludCByZW1vdmUpCitzdGF0aWMgc3RydWN0IGdmczJfcmdycGQgKnJlY2VudF9yZ3JwX25leHQoc3RydWN0IGdmczJfcmdycGQgKmN1cl9yZ2QpCiB7CiAJc3RydWN0IGdmczJfc2JkICpzZHAgPSBjdXJfcmdkLT5yZF9zYmQ7CiAJc3RydWN0IGxpc3RfaGVhZCAqaGVhZDsKIAlzdHJ1Y3QgZ2ZzMl9yZ3JwZCAqcmdkOwogCiAJc3Bpbl9sb2NrKCZzZHAtPnNkX3JpbmRleF9zcGluKTsKLQotCWhlYWQgPSAmc2RwLT5zZF9yaW5kZXhfcmVjZW50X2xpc3Q7Ci0KLQlsaXN0X2Zvcl9lYWNoX2VudHJ5KHJnZCwgaGVhZCwgcmRfcmVjZW50KSB7Ci0JCWlmIChyZ2QgPT0gY3VyX3JnZCkgewotCQkJaWYgKGN1cl9yZ2QtPnJkX3JlY2VudC5uZXh0ICE9IGhlYWQpCi0JCQkJcmdkID0gbGlzdF9lbnRyeShjdXJfcmdkLT5yZF9yZWNlbnQubmV4dCwKLQkJCQkJCSBzdHJ1Y3QgZ2ZzMl9yZ3JwZCwgcmRfcmVjZW50KTsKLQkJCWVsc2UKLQkJCQlyZ2QgPSBOVUxMOwotCi0JCQlpZiAocmVtb3ZlKQotCQkJCWxpc3RfZGVsKCZjdXJfcmdkLT5yZF9yZWNlbnQpOwotCi0JCQlnb3RvIG91dDsKLQkJfQorCWhlYWQgPSAmc2RwLT5zZF9yaW5kZXhfbXJ1X2xpc3Q7CisJaWYgKHVubGlrZWx5KGN1cl9yZ2QtPnJkX2xpc3RfbXJ1Lm5leHQgPT0gaGVhZCkpIHsKKwkJc3Bpbl91bmxvY2soJnNkcC0+c2RfcmluZGV4X3NwaW4pOworCQlyZXR1cm4gTlVMTDsKIAl9Ci0KLQlyZ2QgPSBOVUxMOwotCWlmICghbGlzdF9lbXB0eShoZWFkKSkKLQkJcmdkID0gbGlzdF9lbnRyeShoZWFkLT5uZXh0LCBzdHJ1Y3QgZ2ZzMl9yZ3JwZCwgcmRfcmVjZW50KTsKLQotb3V0OgorCXJnZCA9IGxpc3RfZW50cnkoY3VyX3JnZC0+cmRfbGlzdF9tcnUubmV4dCwgc3RydWN0IGdmczJfcmdycGQsIHJkX2xpc3RfbXJ1KTsKIAlzcGluX3VubG9jaygmc2RwLT5zZF9yaW5kZXhfc3Bpbik7CiAJcmV0dXJuIHJnZDsKIH0KIAogLyoqCi0gKiByZWNlbnRfcmdycF9hZGQgLSBhZGQgYW4gUkcgdG8gdGFpbCBvZiAicmVjZW50IiBsaXN0Ci0gKiBAbmV3X3JnZDogVGhlIHJncnAgdG8gYWRkCi0gKgotICovCi0KLXN0YXRpYyB2b2lkIHJlY2VudF9yZ3JwX2FkZChzdHJ1Y3QgZ2ZzMl9yZ3JwZCAqbmV3X3JnZCkKLXsKLQlzdHJ1Y3QgZ2ZzMl9zYmQgKnNkcCA9IG5ld19yZ2QtPnJkX3NiZDsKLQlzdHJ1Y3QgZ2ZzMl9yZ3JwZCAqcmdkOwotCXVuc2lnbmVkIGludCBjb3VudCA9IDA7Ci0JdW5zaWduZWQgaW50IG1heCA9IHNkcC0+c2RfcmdycHMgLyBnZnMyX2ppbmRleF9zaXplKHNkcCk7Ci0KLQlzcGluX2xvY2soJnNkcC0+c2RfcmluZGV4X3NwaW4pOwotCi0JbGlzdF9mb3JfZWFjaF9lbnRyeShyZ2QsICZzZHAtPnNkX3JpbmRleF9yZWNlbnRfbGlzdCwgcmRfcmVjZW50KSB7Ci0JCWlmIChyZ2QgPT0gbmV3X3JnZCkKLQkJCWdvdG8gb3V0OwotCi0JCWlmICgrK2NvdW50ID49IG1heCkKLQkJCWdvdG8gb3V0OwotCX0KLQlsaXN0X2FkZF90YWlsKCZuZXdfcmdkLT5yZF9yZWNlbnQsICZzZHAtPnNkX3JpbmRleF9yZWNlbnRfbGlzdCk7Ci0KLW91dDoKLQlzcGluX3VubG9jaygmc2RwLT5zZF9yaW5kZXhfc3Bpbik7Ci19Ci0KLS8qKgogICogZm9yd2FyZF9yZ3JwX2dldCAtIGdldCBhbiByZ3JwIHRvIHRyeSBuZXh0IGZyb20gZnVsbCBsaXN0CiAgKiBAc2RwOiBUaGUgR0ZTMiBzdXBlcmJsb2NrCiAgKgpAQCAtMTExMiw5ICsxMDMwLDcgQEAKIAlpbnQgbG9vcHMgPSAwOwogCWludCBlcnJvciwgcmdfbG9ja2VkOwogCi0JLyogVHJ5IHJlY2VudGx5IHN1Y2Nlc3NmdWwgcmdycHMgKi8KLQotCXJnZCA9IHJlY2VudF9yZ3JwX2ZpcnN0KHNkcCwgaXAtPmlfZ29hbCk7CisJcmdkID0gZ2ZzMl9ibGsycmdycGQoc2RwLCBpcC0+aV9nb2FsKTsKIAogCXdoaWxlIChyZ2QpIHsKIAkJcmdfbG9ja2VkID0gMDsKQEAgLTExMzYsMTEgKzEwNTIsOSBAQAogCQkJCWdmczJfZ2xvY2tfZHFfdW5pbml0KCZhbC0+YWxfcmdkX2doKTsKIAkJCWlmIChpbm9kZSkKIAkJCQlyZXR1cm4gaW5vZGU7Ci0JCQlyZ2QgPSByZWNlbnRfcmdycF9uZXh0KHJnZCwgMSk7Ci0JCQlicmVhazsKLQorCQkJLyogZmFsbCB0aHJvdWdoICovCiAJCWNhc2UgR0xSX1RSWUZBSUxFRDoKLQkJCXJnZCA9IHJlY2VudF9yZ3JwX25leHQocmdkLCAwKTsKKwkJCXJnZCA9IHJlY2VudF9yZ3JwX25leHQocmdkKTsKIAkJCWJyZWFrOwogCiAJCWRlZmF1bHQ6CkBAIC0xMTk5LDcgKzExMTMsOSBAQAogCiBvdXQ6CiAJaWYgKGJlZ2luKSB7Ci0JCXJlY2VudF9yZ3JwX2FkZChyZ2QpOworCQlzcGluX2xvY2soJnNkcC0+c2RfcmluZGV4X3NwaW4pOworCQlsaXN0X21vdmUoJnJnZC0+cmRfbGlzdF9tcnUsICZzZHAtPnNkX3JpbmRleF9tcnVfbGlzdCk7CisJCXNwaW5fdW5sb2NrKCZzZHAtPnNkX3JpbmRleF9zcGluKTsKIAkJcmdkID0gZ2ZzMl9yZ3JwZF9nZXRfbmV4dChyZ2QpOwogCQlpZiAoIXJnZCkKIAkJCXJnZCA9IGdmczJfcmdycGRfZ2V0X2ZpcnN0KHNkcCk7CmRpZmYgLS1naXQgYS9mcy9nZnMyL3N1cGVyLmMgYi9mcy9nZnMyL3N1cGVyLmMKaW5kZXggN2FlYWNiYy4uNjNhOGE5MCAxMDA2NDQKLS0tIGEvZnMvZ2ZzMi9zdXBlci5jCisrKyBiL2ZzL2dmczIvc3VwZXIuYwpAQCAtNjUsNyArNjUsNiBAQAogCWd0LT5ndF9xdW90YV9xdWFudHVtID0gNjA7CiAJZ3QtPmd0X2F0aW1lX3F1YW50dW0gPSAzNjAwOwogCWd0LT5ndF9uZXdfZmlsZXNfamRhdGEgPSAwOwotCWd0LT5ndF9uZXdfZmlsZXNfZGlyZWN0aW8gPSAwOwogCWd0LT5ndF9tYXhfcmVhZGFoZWFkID0gMSA8PCAxODsKIAlndC0+Z3Rfc3RhbGxfc2VjcyA9IDYwMDsKIAlndC0+Z3RfY29tcGxhaW5fc2VjcyA9IDEwOwpAQCAtOTQxLDggKzk0MCw3IEBACiAJfQogCiAJZXJyb3IgPSBnZnMyX2dsb2NrX25xX2luaXQoc2RwLT5zZF90cmFuc19nbCwgTE1fU1RfREVGRVJSRUQsCi0JCQkgICAgICAgTE1fRkxBR19QUklPUklUWSB8IEdMX05PQ0FDSEUsCi0JCQkgICAgICAgdF9naCk7CisJCQkJICAgR0xfTk9DQUNIRSwgdF9naCk7CiAKIAlsaXN0X2Zvcl9lYWNoX2VudHJ5KGpkLCAmc2RwLT5zZF9qaW5kZXhfbGlzdCwgamRfbGlzdCkgewogCQllcnJvciA9IGdmczJfamRlc2NfY2hlY2soamQpOwpkaWZmIC0tZ2l0IGEvZnMvZ2ZzMi9zeXMuYyBiL2ZzL2dmczIvc3lzLmMKaW5kZXggOWFiOWZjOC4uNzQ4NDY1NSAxMDA2NDQKLS0tIGEvZnMvZ2ZzMi9zeXMuYworKysgYi9mcy9nZnMyL3N5cy5jCkBAIC0xMTAsMTggKzExMCw2IEBACiAJcmV0dXJuIGxlbjsKIH0KIAotc3RhdGljIHNzaXplX3Qgc2hyaW5rX3N0b3JlKHN0cnVjdCBnZnMyX3NiZCAqc2RwLCBjb25zdCBjaGFyICpidWYsIHNpemVfdCBsZW4pCi17Ci0JaWYgKCFjYXBhYmxlKENBUF9TWVNfQURNSU4pKQotCQlyZXR1cm4gLUVBQ0NFUzsKLQotCWlmIChzaW1wbGVfc3RydG9sKGJ1ZiwgTlVMTCwgMCkgIT0gMSkKLQkJcmV0dXJuIC1FSU5WQUw7Ci0KLQlnZnMyX2dsX2hhc2hfY2xlYXIoc2RwLCBOT19XQUlUKTsKLQlyZXR1cm4gbGVuOwotfQotCiBzdGF0aWMgc3NpemVfdCBxdW90YV9zeW5jX3N0b3JlKHN0cnVjdCBnZnMyX3NiZCAqc2RwLCBjb25zdCBjaGFyICpidWYsCiAJCQkJc2l6ZV90IGxlbikKIHsKQEAgLTE3NSw3ICsxNjMsNiBAQAogR0ZTMl9BVFRSKGlkLCAgICAgICAgICAgICAgICAgIDA0NDQsIGlkX3Nob3csICAgICAgIE5VTEwpOwogR0ZTMl9BVFRSKGZzbmFtZSwgICAgICAgICAgICAgIDA0NDQsIGZzbmFtZV9zaG93LCAgIE5VTEwpOwogR0ZTMl9BVFRSKGZyZWV6ZSwgICAgICAgICAgICAgIDA2NDQsIGZyZWV6ZV9zaG93LCAgIGZyZWV6ZV9zdG9yZSk7Ci1HRlMyX0FUVFIoc2hyaW5rLCAgICAgICAgICAgICAgMDIwMCwgTlVMTCwgICAgICAgICAgc2hyaW5rX3N0b3JlKTsKIEdGUzJfQVRUUih3aXRoZHJhdywgICAgICAgICAgICAwNjQ0LCB3aXRoZHJhd19zaG93LCB3aXRoZHJhd19zdG9yZSk7CiBHRlMyX0FUVFIoc3RhdGZzX3N5bmMsICAgICAgICAgMDIwMCwgTlVMTCwgICAgICAgICAgc3RhdGZzX3N5bmNfc3RvcmUpOwogR0ZTMl9BVFRSKHF1b3RhX3N5bmMsICAgICAgICAgIDAyMDAsIE5VTEwsICAgICAgICAgIHF1b3RhX3N5bmNfc3RvcmUpOwpAQCAtMTg2LDcgKzE3Myw2IEBACiAJJmdmczJfYXR0cl9pZC5hdHRyLAogCSZnZnMyX2F0dHJfZnNuYW1lLmF0dHIsCiAJJmdmczJfYXR0cl9mcmVlemUuYXR0ciwKLQkmZ2ZzMl9hdHRyX3Nocmluay5hdHRyLAogCSZnZnMyX2F0dHJfd2l0aGRyYXcuYXR0ciwKIAkmZ2ZzMl9hdHRyX3N0YXRmc19zeW5jLmF0dHIsCiAJJmdmczJfYXR0cl9xdW90YV9zeW5jLmF0dHIsCkBAIC00MjYsNyArNDEyLDYgQEAKIFRVTkVfQVRUUihjb21wbGFpbl9zZWNzLCAwKTsKIFRVTkVfQVRUUihzdGF0ZnNfc2xvdywgMCk7CiBUVU5FX0FUVFIobmV3X2ZpbGVzX2pkYXRhLCAwKTsKLVRVTkVfQVRUUihuZXdfZmlsZXNfZGlyZWN0aW8sIDApOwogVFVORV9BVFRSKHF1b3RhX3NpbXVsX3N5bmMsIDEpOwogVFVORV9BVFRSKHF1b3RhX2NhY2hlX3NlY3MsIDEpOwogVFVORV9BVFRSKHN0YWxsX3NlY3MsIDEpOwpAQCAtNDU1LDcgKzQ0MCw2IEBACiAJJnR1bmVfYXR0cl9xdW90YWRfc2Vjcy5hdHRyLAogCSZ0dW5lX2F0dHJfcXVvdGFfc2NhbGUuYXR0ciwKIAkmdHVuZV9hdHRyX25ld19maWxlc19qZGF0YS5hdHRyLAotCSZ0dW5lX2F0dHJfbmV3X2ZpbGVzX2RpcmVjdGlvLmF0dHIsCiAJTlVMTCwKIH07CiAKZGlmZiAtLWdpdCBhL2ZzL2piZDIvY2hlY2twb2ludC5jIGIvZnMvamJkMi9jaGVja3BvaW50LmMKaW5kZXggNjkxNDU5OC4uOTEzODljOCAxMDA2NDQKLS0tIGEvZnMvamJkMi9jaGVja3BvaW50LmMKKysrIGIvZnMvamJkMi9jaGVja3BvaW50LmMKQEAgLTY4OCw3ICs2ODgsNiBAQAogCiAJSl9BU1NFUlQodHJhbnNhY3Rpb24tPnRfc3RhdGUgPT0gVF9GSU5JU0hFRCk7CiAJSl9BU1NFUlQodHJhbnNhY3Rpb24tPnRfYnVmZmVycyA9PSBOVUxMKTsKLQlKX0FTU0VSVCh0cmFuc2FjdGlvbi0+dF9zeW5jX2RhdGFsaXN0ID09IE5VTEwpOwogCUpfQVNTRVJUKHRyYW5zYWN0aW9uLT50X2ZvcmdldCA9PSBOVUxMKTsKIAlKX0FTU0VSVCh0cmFuc2FjdGlvbi0+dF9pb2J1Zl9saXN0ID09IE5VTEwpOwogCUpfQVNTRVJUKHRyYW5zYWN0aW9uLT50X3NoYWRvd19saXN0ID09IE5VTEwpOwpkaWZmIC0tZ2l0IGEvZnMvamJkMi9jb21taXQuYyBiL2ZzL2piZDIvY29tbWl0LmMKaW5kZXggYTJlZDcyZi4uZjhiM2JlOCAxMDA2NDQKLS0tIGEvZnMvamJkMi9jb21taXQuYworKysgYi9mcy9qYmQyL2NvbW1pdC5jCkBAIC0yMiw2ICsyMiw4IEBACiAjaW5jbHVkZSA8bGludXgvcGFnZW1hcC5oPgogI2luY2x1ZGUgPGxpbnV4L2ppZmZpZXMuaD4KICNpbmNsdWRlIDxsaW51eC9jcmMzMi5oPgorI2luY2x1ZGUgPGxpbnV4L3dyaXRlYmFjay5oPgorI2luY2x1ZGUgPGxpbnV4L2JhY2tpbmctZGV2Lmg+CiAKIC8qCiAgKiBEZWZhdWx0IElPIGVuZCBoYW5kbGVyIGZvciB0ZW1wb3JhcnkgQkpfSU8gYnVmZmVyX2hlYWRzLgpAQCAtMzcsOCArMzksOCBAQAogfQogCiAvKgotICogV2hlbiBhbiBleHQzLW9yZGVyZWQgZmlsZSBpcyB0cnVuY2F0ZWQsIGl0IGlzIHBvc3NpYmxlIHRoYXQgbWFueSBwYWdlcyBhcmUKLSAqIG5vdCBzdWNlc3NmdWxseSBmcmVlZCwgYmVjYXVzZSB0aGV5IGFyZSBhdHRhY2hlZCB0byBhIGNvbW1pdHRpbmcgdHJhbnNhY3Rpb24uCisgKiBXaGVuIGFuIGV4dDQgZmlsZSBpcyB0cnVuY2F0ZWQsIGl0IGlzIHBvc3NpYmxlIHRoYXQgc29tZSBwYWdlcyBhcmUgbm90CisgKiBzdWNjZXNzZnVsbHkgZnJlZWQsIGJlY2F1c2UgdGhleSBhcmUgYXR0YWNoZWQgdG8gYSBjb21taXR0aW5nIHRyYW5zYWN0aW9uLgogICogQWZ0ZXIgdGhlIHRyYW5zYWN0aW9uIGNvbW1pdHMsIHRoZXNlIHBhZ2VzIGFyZSBsZWZ0IG9uIHRoZSBMUlUsIHdpdGggbm8KICAqIC0+bWFwcGluZywgYW5kIHdpdGggYXR0YWNoZWQgYnVmZmVycy4gIFRoZXNlIHBhZ2VzIGFyZSB0cml2aWFsbHkgcmVjbGFpbWFibGUKICAqIGJ5IHRoZSBWTSwgYnV0IHRoZWlyIGFwcGFyZW50IGFic2VuY2UgdXBzZXRzIHRoZSBWTSBhY2NvdW50aW5nLCBhbmQgaXQgbWFrZXMKQEAgLTgwLDIxICs4Miw2IEBACiB9CiAKIC8qCi0gKiBUcnkgdG8gYWNxdWlyZSBqYmRfbG9ja19iaF9zdGF0ZSgpIGFnYWluc3QgdGhlIGJ1ZmZlciwgd2hlbiBqX2xpc3RfbG9jayBpcwotICogaGVsZC4gIEZvciByYW5raW5nIHJlYXNvbnMgd2UgbXVzdCB0cnlsb2NrLiAgSWYgd2UgbG9zZSwgc2NoZWR1bGUgYXdheSBhbmQKLSAqIHJldHVybiAwLiAgal9saXN0X2xvY2sgaXMgZHJvcHBlZCBpbiB0aGlzIGNhc2UuCi0gKi8KLXN0YXRpYyBpbnQgaW52ZXJ0ZWRfbG9jayhqb3VybmFsX3QgKmpvdXJuYWwsIHN0cnVjdCBidWZmZXJfaGVhZCAqYmgpCi17Ci0JaWYgKCFqYmRfdHJ5bG9ja19iaF9zdGF0ZShiaCkpIHsKLQkJc3Bpbl91bmxvY2soJmpvdXJuYWwtPmpfbGlzdF9sb2NrKTsKLQkJc2NoZWR1bGUoKTsKLQkJcmV0dXJuIDA7Ci0JfQotCXJldHVybiAxOwotfQotCi0vKgogICogRG9uZSBpdCBhbGw6IG5vdyBzdWJtaXQgdGhlIGNvbW1pdCByZWNvcmQuICBXZSBzaG91bGQgaGF2ZQogICogY2xlYW5lZCB1cCBvdXIgcHJldmlvdXMgYnVmZmVycyBieSBub3csIHNvIGlmIHdlIGFyZSBpbiBhYm9ydAogICogbW9kZSB3ZSBjYW4gbm93IGp1c3Qgc2tpcCB0aGUgcmVzdCBvZiB0aGUgam91cm5hbCB3cml0ZQpAQCAtMTEyLDYgKzk5LDcgQEAKIAlzdHJ1Y3QgYnVmZmVyX2hlYWQgKmJoOwogCWludCByZXQ7CiAJaW50IGJhcnJpZXJfZG9uZSA9IDA7CisJc3RydWN0IHRpbWVzcGVjIG5vdyA9IGN1cnJlbnRfa2VybmVsX3RpbWUoKTsKIAogCWlmIChpc19qb3VybmFsX2Fib3J0ZWQoam91cm5hbCkpCiAJCXJldHVybiAwOwpAQCAtMTI2LDYgKzExNCw4IEBACiAJdG1wLT5oX21hZ2ljID0gY3B1X3RvX2JlMzIoSkJEMl9NQUdJQ19OVU1CRVIpOwogCXRtcC0+aF9ibG9ja3R5cGUgPSBjcHVfdG9fYmUzMihKQkQyX0NPTU1JVF9CTE9DSyk7CiAJdG1wLT5oX3NlcXVlbmNlID0gY3B1X3RvX2JlMzIoY29tbWl0X3RyYW5zYWN0aW9uLT50X3RpZCk7CisJdG1wLT5oX2NvbW1pdF9zZWMgPSBjcHVfdG9fYmU2NChub3cudHZfc2VjKTsKKwl0bXAtPmhfY29tbWl0X25zZWMgPSBjcHVfdG9fYmUzMihub3cudHZfbnNlYyk7CiAKIAlpZiAoSkJEMl9IQVNfQ09NUEFUX0ZFQVRVUkUoam91cm5hbCwKIAkJCQkgICAgSkJEMl9GRUFUVVJFX0NPTVBBVF9DSEVDS1NVTSkpIHsKQEAgLTE5NywxNTkgKzE4NywxMDQgQEAKIH0KIAogLyoKLSAqIFdhaXQgZm9yIGFsbCBzdWJtaXR0ZWQgSU8gdG8gY29tcGxldGUuCisgKiB3cml0ZSB0aGUgZmlsZW1hcCBkYXRhIHVzaW5nIHdyaXRlcGFnZSgpIGFkZHJlc3Nfc3BhY2Vfb3BlcmF0aW9ucy4KKyAqIFdlIGRvbid0IGRvIGJsb2NrIGFsbG9jYXRpb24gaGVyZSBldmVuIGZvciBkZWxhbGxvYy4gV2UgZG9uJ3QKKyAqIHVzZSB3cml0ZXBhZ2VzKCkgYmVjYXVzZSB3aXRoIGRlYWx5ZWQgYWxsb2NhdGlvbiB3ZSBtYXkgYmUgZG9pbmcKKyAqIGJsb2NrIGFsbG9jYXRpb24gaW4gd3JpdGVwYWdlcygpLgogICovCi1zdGF0aWMgaW50IGpvdXJuYWxfd2FpdF9vbl9sb2NrZWRfbGlzdChqb3VybmFsX3QgKmpvdXJuYWwsCi0JCQkJICAgICAgIHRyYW5zYWN0aW9uX3QgKmNvbW1pdF90cmFuc2FjdGlvbikKK3N0YXRpYyBpbnQgam91cm5hbF9zdWJtaXRfaW5vZGVfZGF0YV9idWZmZXJzKHN0cnVjdCBhZGRyZXNzX3NwYWNlICptYXBwaW5nKQogewotCWludCByZXQgPSAwOwotCXN0cnVjdCBqb3VybmFsX2hlYWQgKmpoOworCWludCByZXQ7CisJc3RydWN0IHdyaXRlYmFja19jb250cm9sIHdiYyA9IHsKKwkJLnN5bmNfbW9kZSA9ICBXQl9TWU5DX0FMTCwKKwkJLm5yX3RvX3dyaXRlID0gbWFwcGluZy0+bnJwYWdlcyAqIDIsCisJCS5yYW5nZV9zdGFydCA9IDAsCisJCS5yYW5nZV9lbmQgPSBpX3NpemVfcmVhZChtYXBwaW5nLT5ob3N0KSwKKwkJLmZvcl93cml0ZXBhZ2VzID0gMSwKKwl9OwogCi0Jd2hpbGUgKGNvbW1pdF90cmFuc2FjdGlvbi0+dF9sb2NrZWRfbGlzdCkgewotCQlzdHJ1Y3QgYnVmZmVyX2hlYWQgKmJoOwotCi0JCWpoID0gY29tbWl0X3RyYW5zYWN0aW9uLT50X2xvY2tlZF9saXN0LT5iX3RwcmV2OwotCQliaCA9IGpoMmJoKGpoKTsKLQkJZ2V0X2JoKGJoKTsKLQkJaWYgKGJ1ZmZlcl9sb2NrZWQoYmgpKSB7Ci0JCQlzcGluX3VubG9jaygmam91cm5hbC0+al9saXN0X2xvY2spOwotCQkJd2FpdF9vbl9idWZmZXIoYmgpOwotCQkJaWYgKHVubGlrZWx5KCFidWZmZXJfdXB0b2RhdGUoYmgpKSkKLQkJCQlyZXQgPSAtRUlPOwotCQkJc3Bpbl9sb2NrKCZqb3VybmFsLT5qX2xpc3RfbG9jayk7Ci0JCX0KLQkJaWYgKCFpbnZlcnRlZF9sb2NrKGpvdXJuYWwsIGJoKSkgewotCQkJcHV0X2JoKGJoKTsKLQkJCXNwaW5fbG9jaygmam91cm5hbC0+al9saXN0X2xvY2spOwotCQkJY29udGludWU7Ci0JCX0KLQkJaWYgKGJ1ZmZlcl9qYmQoYmgpICYmIGpoLT5iX2psaXN0ID09IEJKX0xvY2tlZCkgewotCQkJX19qYmQyX2pvdXJuYWxfdW5maWxlX2J1ZmZlcihqaCk7Ci0JCQlqYmRfdW5sb2NrX2JoX3N0YXRlKGJoKTsKLQkJCWpiZDJfam91cm5hbF9yZW1vdmVfam91cm5hbF9oZWFkKGJoKTsKLQkJCXB1dF9iaChiaCk7Ci0JCX0gZWxzZSB7Ci0JCQlqYmRfdW5sb2NrX2JoX3N0YXRlKGJoKTsKLQkJfQotCQlwdXRfYmgoYmgpOwotCQljb25kX3Jlc2NoZWRfbG9jaygmam91cm5hbC0+al9saXN0X2xvY2spOwotCX0KKwlyZXQgPSBnZW5lcmljX3dyaXRlcGFnZXMobWFwcGluZywgJndiYyk7CiAJcmV0dXJuIHJldDsKLSAgfQotCi1zdGF0aWMgdm9pZCBqb3VybmFsX2RvX3N1Ym1pdF9kYXRhKHN0cnVjdCBidWZmZXJfaGVhZCAqKndidWYsIGludCBidWZzKQotewotCWludCBpOwotCi0JZm9yIChpID0gMDsgaSA8IGJ1ZnM7IGkrKykgewotCQl3YnVmW2ldLT5iX2VuZF9pbyA9IGVuZF9idWZmZXJfd3JpdGVfc3luYzsKLQkJLyogV2UgdXNlLXVwIG91ciBzYWZldHkgcmVmZXJlbmNlIGluIHN1Ym1pdF9iaCgpICovCi0JCXN1Ym1pdF9iaChXUklURSwgd2J1ZltpXSk7Ci0JfQogfQogCiAvKgotICogIFN1Ym1pdCBhbGwgdGhlIGRhdGEgYnVmZmVycyB0byBkaXNrCisgKiBTdWJtaXQgYWxsIHRoZSBkYXRhIGJ1ZmZlcnMgb2YgaW5vZGUgYXNzb2NpYXRlZCB3aXRoIHRoZSB0cmFuc2FjdGlvbiB0bworICogZGlzay4KKyAqCisgKiBXZSBhcmUgaW4gYSBjb21taXR0aW5nIHRyYW5zYWN0aW9uLiBUaGVyZWZvcmUgbm8gbmV3IGlub2RlIGNhbiBiZSBhZGRlZCB0bworICogb3VyIGlub2RlIGxpc3QuIFdlIHVzZSBKSV9DT01NSVRfUlVOTklORyBmbGFnIHRvIHByb3RlY3QgaW5vZGUgd2UgY3VycmVudGx5CisgKiBvcGVyYXRlIG9uIGZyb20gYmVpbmcgcmVsZWFzZWQgd2hpbGUgd2Ugd3JpdGUgb3V0IHBhZ2VzLgogICovCi1zdGF0aWMgdm9pZCBqb3VybmFsX3N1Ym1pdF9kYXRhX2J1ZmZlcnMoam91cm5hbF90ICpqb3VybmFsLAotCQkJCXRyYW5zYWN0aW9uX3QgKmNvbW1pdF90cmFuc2FjdGlvbikKK3N0YXRpYyBpbnQgam91cm5hbF9zdWJtaXRfZGF0YV9idWZmZXJzKGpvdXJuYWxfdCAqam91cm5hbCwKKwkJdHJhbnNhY3Rpb25fdCAqY29tbWl0X3RyYW5zYWN0aW9uKQogewotCXN0cnVjdCBqb3VybmFsX2hlYWQgKmpoOwotCXN0cnVjdCBidWZmZXJfaGVhZCAqYmg7Ci0JaW50IGxvY2tlZDsKLQlpbnQgYnVmcyA9IDA7Ci0Jc3RydWN0IGJ1ZmZlcl9oZWFkICoqd2J1ZiA9IGpvdXJuYWwtPmpfd2J1ZjsKKwlzdHJ1Y3QgamJkMl9pbm9kZSAqamlub2RlOworCWludCBlcnIsIHJldCA9IDA7CisJc3RydWN0IGFkZHJlc3Nfc3BhY2UgKm1hcHBpbmc7CiAKLQkvKgotCSAqIFdoZW5ldmVyIHdlIHVubG9jayB0aGUgam91cm5hbCBhbmQgc2xlZXAsIHRoaW5ncyBjYW4gZ2V0IGFkZGVkCi0JICogb250byAtPnRfc3luY19kYXRhbGlzdCwgc28gd2UgaGF2ZSB0byBrZWVwIGxvb3BpbmcgYmFjayB0bwotCSAqIHdyaXRlX291dF9kYXRhIHVudGlsIHdlICprbm93KiB0aGF0IHRoZSBsaXN0IGlzIGVtcHR5LgotCSAqCi0JICogQ2xlYW51cCBhbnkgZmx1c2hlZCBkYXRhIGJ1ZmZlcnMgZnJvbSB0aGUgZGF0YSBsaXN0LiAgRXZlbiBpbgotCSAqIGFib3J0IG1vZGUsIHdlIHdhbnQgdG8gZmx1c2ggdGhpcyBvdXQgYXMgc29vbiBhcyBwb3NzaWJsZS4KLQkgKi8KLXdyaXRlX291dF9kYXRhOgotCWNvbmRfcmVzY2hlZCgpOwogCXNwaW5fbG9jaygmam91cm5hbC0+al9saXN0X2xvY2spOwotCi0Jd2hpbGUgKGNvbW1pdF90cmFuc2FjdGlvbi0+dF9zeW5jX2RhdGFsaXN0KSB7Ci0JCWpoID0gY29tbWl0X3RyYW5zYWN0aW9uLT50X3N5bmNfZGF0YWxpc3Q7Ci0JCWJoID0gamgyYmgoamgpOwotCQlsb2NrZWQgPSAwOwotCi0JCS8qIEdldCByZWZlcmVuY2UganVzdCB0byBtYWtlIHN1cmUgYnVmZmVyIGRvZXMgbm90IGRpc2FwcGVhcgotCQkgKiB3aGVuIHdlIGFyZSBmb3JjZWQgdG8gZHJvcCB2YXJpb3VzIGxvY2tzICovCi0JCWdldF9iaChiaCk7Ci0JCS8qIElmIHRoZSBidWZmZXIgaXMgZGlydHksIHdlIG5lZWQgdG8gc3VibWl0IElPIGFuZCBoZW5jZQotCQkgKiB3ZSBuZWVkIHRoZSBidWZmZXIgbG9jay4gV2UgdHJ5IHRvIGxvY2sgdGhlIGJ1ZmZlciB3aXRob3V0Ci0JCSAqIGJsb2NraW5nLiBJZiB3ZSBmYWlsLCB3ZSBuZWVkIHRvIGRyb3Agal9saXN0X2xvY2sgYW5kIGRvCi0JCSAqIGJsb2NraW5nIGxvY2tfYnVmZmVyKCkuCisJbGlzdF9mb3JfZWFjaF9lbnRyeShqaW5vZGUsICZjb21taXRfdHJhbnNhY3Rpb24tPnRfaW5vZGVfbGlzdCwgaV9saXN0KSB7CisJCW1hcHBpbmcgPSBqaW5vZGUtPmlfdmZzX2lub2RlLT5pX21hcHBpbmc7CisJCWppbm9kZS0+aV9mbGFncyB8PSBKSV9DT01NSVRfUlVOTklORzsKKwkJc3Bpbl91bmxvY2soJmpvdXJuYWwtPmpfbGlzdF9sb2NrKTsKKwkJLyoKKwkJICogc3VibWl0IHRoZSBpbm9kZSBkYXRhIGJ1ZmZlcnMuIFdlIHVzZSB3cml0ZXBhZ2UKKwkJICogaW5zdGVhZCBvZiB3cml0ZXBhZ2VzLiBCZWNhdXNlIHdyaXRlcGFnZXMgY2FuIGRvCisJCSAqIGJsb2NrIGFsbG9jYXRpb24gIHdpdGggZGVsYWxsb2MuIFdlIG5lZWQgdG8gd3JpdGUKKwkJICogb25seSBhbGxvY2F0ZWQgYmxvY2tzIGhlcmUuCiAJCSAqLwotCQlpZiAoYnVmZmVyX2RpcnR5KGJoKSkgewotCQkJaWYgKHRlc3Rfc2V0X2J1ZmZlcl9sb2NrZWQoYmgpKSB7Ci0JCQkJQlVGRkVSX1RSQUNFKGJoLCAibmVlZHMgYmxvY2tpbmcgbG9jayIpOwotCQkJCXNwaW5fdW5sb2NrKCZqb3VybmFsLT5qX2xpc3RfbG9jayk7Ci0JCQkJLyogV3JpdGUgb3V0IGFsbCBkYXRhIHRvIHByZXZlbnQgZGVhZGxvY2tzICovCi0JCQkJam91cm5hbF9kb19zdWJtaXRfZGF0YSh3YnVmLCBidWZzKTsKLQkJCQlidWZzID0gMDsKLQkJCQlsb2NrX2J1ZmZlcihiaCk7Ci0JCQkJc3Bpbl9sb2NrKCZqb3VybmFsLT5qX2xpc3RfbG9jayk7Ci0JCQl9Ci0JCQlsb2NrZWQgPSAxOwotCQl9Ci0JCS8qIFdlIGhhdmUgdG8gZ2V0IGJoX3N0YXRlIGxvY2suIEFnYWluIG91dCBvZiBvcmRlciwgc2lnaC4gKi8KLQkJaWYgKCFpbnZlcnRlZF9sb2NrKGpvdXJuYWwsIGJoKSkgewotCQkJamJkX2xvY2tfYmhfc3RhdGUoYmgpOwotCQkJc3Bpbl9sb2NrKCZqb3VybmFsLT5qX2xpc3RfbG9jayk7Ci0JCX0KLQkJLyogU29tZW9uZSBhbHJlYWR5IGNsZWFuZWQgdXAgdGhlIGJ1ZmZlcj8gKi8KLQkJaWYgKCFidWZmZXJfamJkKGJoKQotCQkJfHwgamgtPmJfdHJhbnNhY3Rpb24gIT0gY29tbWl0X3RyYW5zYWN0aW9uCi0JCQl8fCBqaC0+Yl9qbGlzdCAhPSBCSl9TeW5jRGF0YSkgewotCQkJamJkX3VubG9ja19iaF9zdGF0ZShiaCk7Ci0JCQlpZiAobG9ja2VkKQotCQkJCXVubG9ja19idWZmZXIoYmgpOwotCQkJQlVGRkVSX1RSQUNFKGJoLCAiYWxyZWFkeSBjbGVhbmVkIHVwIik7Ci0JCQlwdXRfYmgoYmgpOwotCQkJY29udGludWU7Ci0JCX0KLQkJaWYgKGxvY2tlZCAmJiB0ZXN0X2NsZWFyX2J1ZmZlcl9kaXJ0eShiaCkpIHsKLQkJCUJVRkZFUl9UUkFDRShiaCwgIm5lZWRzIHdyaXRlb3V0LCBhZGRpbmcgdG8gYXJyYXkiKTsKLQkJCXdidWZbYnVmcysrXSA9IGJoOwotCQkJX19qYmQyX2pvdXJuYWxfZmlsZV9idWZmZXIoamgsIGNvbW1pdF90cmFuc2FjdGlvbiwKLQkJCQkJCUJKX0xvY2tlZCk7Ci0JCQlqYmRfdW5sb2NrX2JoX3N0YXRlKGJoKTsKLQkJCWlmIChidWZzID09IGpvdXJuYWwtPmpfd2J1ZnNpemUpIHsKLQkJCQlzcGluX3VubG9jaygmam91cm5hbC0+al9saXN0X2xvY2spOwotCQkJCWpvdXJuYWxfZG9fc3VibWl0X2RhdGEod2J1ZiwgYnVmcyk7Ci0JCQkJYnVmcyA9IDA7Ci0JCQkJZ290byB3cml0ZV9vdXRfZGF0YTsKLQkJCX0KLQkJfSBlbHNlIGlmICghbG9ja2VkICYmIGJ1ZmZlcl9sb2NrZWQoYmgpKSB7Ci0JCQlfX2piZDJfam91cm5hbF9maWxlX2J1ZmZlcihqaCwgY29tbWl0X3RyYW5zYWN0aW9uLAotCQkJCQkJQkpfTG9ja2VkKTsKLQkJCWpiZF91bmxvY2tfYmhfc3RhdGUoYmgpOwotCQkJcHV0X2JoKGJoKTsKLQkJfSBlbHNlIHsKLQkJCUJVRkZFUl9UUkFDRShiaCwgIndyaXRlb3V0IGNvbXBsZXRlOiB1bmZpbGUiKTsKLQkJCV9famJkMl9qb3VybmFsX3VuZmlsZV9idWZmZXIoamgpOwotCQkJamJkX3VubG9ja19iaF9zdGF0ZShiaCk7Ci0JCQlpZiAobG9ja2VkKQotCQkJCXVubG9ja19idWZmZXIoYmgpOwotCQkJamJkMl9qb3VybmFsX3JlbW92ZV9qb3VybmFsX2hlYWQoYmgpOwotCQkJLyogT25jZSBmb3Igb3VyIHNhZmV0eSByZWZlcmVuY2UsIG9uY2UgZm9yCi0JCQkgKiBqYmQyX2pvdXJuYWxfcmVtb3ZlX2pvdXJuYWxfaGVhZCgpICovCi0JCQlwdXRfYmgoYmgpOwotCQkJcHV0X2JoKGJoKTsKLQkJfQorCQllcnIgPSBqb3VybmFsX3N1Ym1pdF9pbm9kZV9kYXRhX2J1ZmZlcnMobWFwcGluZyk7CisJCWlmICghcmV0KQorCQkJcmV0ID0gZXJyOworCQlzcGluX2xvY2soJmpvdXJuYWwtPmpfbGlzdF9sb2NrKTsKKwkJSl9BU1NFUlQoamlub2RlLT5pX3RyYW5zYWN0aW9uID09IGNvbW1pdF90cmFuc2FjdGlvbik7CisJCWppbm9kZS0+aV9mbGFncyAmPSB+SklfQ09NTUlUX1JVTk5JTkc7CisJCXdha2VfdXBfYml0KCZqaW5vZGUtPmlfZmxhZ3MsIF9fSklfQ09NTUlUX1JVTk5JTkcpOworCX0KKwlzcGluX3VubG9jaygmam91cm5hbC0+al9saXN0X2xvY2spOworCXJldHVybiByZXQ7Cit9CiAKLQkJaWYgKG5lZWRfcmVzY2hlZCgpIHx8IHNwaW5fbmVlZGJyZWFrKCZqb3VybmFsLT5qX2xpc3RfbG9jaykpIHsKLQkJCXNwaW5fdW5sb2NrKCZqb3VybmFsLT5qX2xpc3RfbG9jayk7Ci0JCQlnb3RvIHdyaXRlX291dF9kYXRhOworLyoKKyAqIFdhaXQgZm9yIGRhdGEgc3VibWl0dGVkIGZvciB3cml0ZW91dCwgcmVmaWxlIGlub2RlcyB0byBwcm9wZXIKKyAqIHRyYW5zYWN0aW9uIGlmIG5lZWRlZC4KKyAqCisgKi8KK3N0YXRpYyBpbnQgam91cm5hbF9maW5pc2hfaW5vZGVfZGF0YV9idWZmZXJzKGpvdXJuYWxfdCAqam91cm5hbCwKKwkJdHJhbnNhY3Rpb25fdCAqY29tbWl0X3RyYW5zYWN0aW9uKQoreworCXN0cnVjdCBqYmQyX2lub2RlICpqaW5vZGUsICpuZXh0X2k7CisJaW50IGVyciwgcmV0ID0gMDsKKworCS8qIEZvciBsb2NraW5nLCBzZWUgdGhlIGNvbW1lbnQgaW4gam91cm5hbF9zdWJtaXRfZGF0YV9idWZmZXJzKCkgKi8KKwlzcGluX2xvY2soJmpvdXJuYWwtPmpfbGlzdF9sb2NrKTsKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5KGppbm9kZSwgJmNvbW1pdF90cmFuc2FjdGlvbi0+dF9pbm9kZV9saXN0LCBpX2xpc3QpIHsKKwkJamlub2RlLT5pX2ZsYWdzIHw9IEpJX0NPTU1JVF9SVU5OSU5HOworCQlzcGluX3VubG9jaygmam91cm5hbC0+al9saXN0X2xvY2spOworCQllcnIgPSBmaWxlbWFwX2ZkYXRhd2FpdChqaW5vZGUtPmlfdmZzX2lub2RlLT5pX21hcHBpbmcpOworCQlpZiAoIXJldCkKKwkJCXJldCA9IGVycjsKKwkJc3Bpbl9sb2NrKCZqb3VybmFsLT5qX2xpc3RfbG9jayk7CisJCWppbm9kZS0+aV9mbGFncyAmPSB+SklfQ09NTUlUX1JVTk5JTkc7CisJCXdha2VfdXBfYml0KCZqaW5vZGUtPmlfZmxhZ3MsIF9fSklfQ09NTUlUX1JVTk5JTkcpOworCX0KKworCS8qIE5vdyByZWZpbGUgaW5vZGUgdG8gcHJvcGVyIGxpc3RzICovCisJbGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZlKGppbm9kZSwgbmV4dF9pLAorCQkJCSAmY29tbWl0X3RyYW5zYWN0aW9uLT50X2lub2RlX2xpc3QsIGlfbGlzdCkgeworCQlsaXN0X2RlbCgmamlub2RlLT5pX2xpc3QpOworCQlpZiAoamlub2RlLT5pX25leHRfdHJhbnNhY3Rpb24pIHsKKwkJCWppbm9kZS0+aV90cmFuc2FjdGlvbiA9IGppbm9kZS0+aV9uZXh0X3RyYW5zYWN0aW9uOworCQkJamlub2RlLT5pX25leHRfdHJhbnNhY3Rpb24gPSBOVUxMOworCQkJbGlzdF9hZGQoJmppbm9kZS0+aV9saXN0LAorCQkJCSZqaW5vZGUtPmlfdHJhbnNhY3Rpb24tPnRfaW5vZGVfbGlzdCk7CisJCX0gZWxzZSB7CisJCQlqaW5vZGUtPmlfdHJhbnNhY3Rpb24gPSBOVUxMOwogCQl9CiAJfQogCXNwaW5fdW5sb2NrKCZqb3VybmFsLT5qX2xpc3RfbG9jayk7Ci0Jam91cm5hbF9kb19zdWJtaXRfZGF0YSh3YnVmLCBidWZzKTsKKworCXJldHVybiByZXQ7CiB9CiAKIHN0YXRpYyBfX3UzMiBqYmQyX2NoZWNrc3VtX2RhdGEoX191MzIgY3JjMzJfc3VtLCBzdHJ1Y3QgYnVmZmVyX2hlYWQgKmJoKQpAQCAtNTI0LDIxICs0NTksNyBAQAogCSAqIE5vdyBzdGFydCBmbHVzaGluZyB0aGluZ3MgdG8gZGlzaywgaW4gdGhlIG9yZGVyIHRoZXkgYXBwZWFyCiAJICogb24gdGhlIHRyYW5zYWN0aW9uIGxpc3RzLiAgRGF0YSBibG9ja3MgZ28gZmlyc3QuCiAJICovCi0JZXJyID0gMDsKLQlqb3VybmFsX3N1Ym1pdF9kYXRhX2J1ZmZlcnMoam91cm5hbCwgY29tbWl0X3RyYW5zYWN0aW9uKTsKLQotCS8qCi0JICogV2FpdCBmb3IgYWxsIHByZXZpb3VzbHkgc3VibWl0dGVkIElPIHRvIGNvbXBsZXRlIGlmIGNvbW1pdAotCSAqIHJlY29yZCBpcyB0byBiZSB3cml0dGVuIHN5bmNocm9ub3VzbHkuCi0JICovCi0Jc3Bpbl9sb2NrKCZqb3VybmFsLT5qX2xpc3RfbG9jayk7Ci0JaWYgKCFKQkQyX0hBU19JTkNPTVBBVF9GRUFUVVJFKGpvdXJuYWwsCi0JCUpCRDJfRkVBVFVSRV9JTkNPTVBBVF9BU1lOQ19DT01NSVQpKQotCQllcnIgPSBqb3VybmFsX3dhaXRfb25fbG9ja2VkX2xpc3Qoam91cm5hbCwKLQkJCQkJCWNvbW1pdF90cmFuc2FjdGlvbik7Ci0KLQlzcGluX3VubG9jaygmam91cm5hbC0+al9saXN0X2xvY2spOwotCisJZXJyID0gam91cm5hbF9zdWJtaXRfZGF0YV9idWZmZXJzKGpvdXJuYWwsIGNvbW1pdF90cmFuc2FjdGlvbik7CiAJaWYgKGVycikKIAkJamJkMl9qb3VybmFsX2Fib3J0KGpvdXJuYWwsIGVycik7CiAKQEAgLTU0NywxNiArNDY4LDYgQEAKIAlqYmRfZGVidWcoMywgIkpCRDogY29tbWl0IHBoYXNlIDJcbiIpOwogCiAJLyoKLQkgKiBJZiB3ZSBmb3VuZCBhbnkgZGlydHkgb3IgbG9ja2VkIGJ1ZmZlcnMsIHRoZW4gd2Ugc2hvdWxkIGhhdmUKLQkgKiBsb29wZWQgYmFjayB1cCB0byB0aGUgd3JpdGVfb3V0X2RhdGEgbGFiZWwuICBJZiB0aGVyZSB3ZXJlbid0Ci0JICogYW55IHRoZW4gam91cm5hbF9jbGVhbl9kYXRhX2xpc3Qgc2hvdWxkIGhhdmUgd2lwZWQgdGhlIGxpc3QKLQkgKiBjbGVhbiBieSBub3csIHNvIGNoZWNrIHRoYXQgaXQgaXMgaW4gZmFjdCBlbXB0eS4KLQkgKi8KLQlKX0FTU0VSVCAoY29tbWl0X3RyYW5zYWN0aW9uLT50X3N5bmNfZGF0YWxpc3QgPT0gTlVMTCk7Ci0KLQlqYmRfZGVidWcgKDMsICJKQkQ6IGNvbW1pdCBwaGFzZSAzXG4iKTsKLQotCS8qCiAJICogV2F5IHRvIGdvOiB3ZSBoYXZlIG5vdyB3cml0dGVuIG91dCBhbGwgb2YgdGhlIGRhdGEgZm9yIGEKIAkgKiB0cmFuc2FjdGlvbiEgIE5vdyBjb21lcyB0aGUgdHJpY2t5IHBhcnQ6IHdlIG5lZWQgdG8gd3JpdGUgb3V0CiAJICogbWV0YWRhdGEuICBMb29wIG92ZXIgdGhlIHRyYW5zYWN0aW9uJ3MgZW50aXJlIGJ1ZmZlciBsaXN0OgpAQCAtNTc0LDYgKzQ4NSw3IEBACiAJSl9BU1NFUlQoY29tbWl0X3RyYW5zYWN0aW9uLT50X25yX2J1ZmZlcnMgPD0KIAkJIGNvbW1pdF90cmFuc2FjdGlvbi0+dF9vdXRzdGFuZGluZ19jcmVkaXRzKTsKIAorCWVyciA9IDA7CiAJZGVzY3JpcHRvciA9IE5VTEw7CiAJYnVmcyA9IDA7CiAJd2hpbGUgKGNvbW1pdF90cmFuc2FjdGlvbi0+dF9idWZmZXJzKSB7CkBAIC03NDgsMTUgKzY2MCwxOSBAQAogCQkJCQkJICZjYmgsIGNyYzMyX3N1bSk7CiAJCWlmIChlcnIpCiAJCQlfX2piZDJfam91cm5hbF9hYm9ydF9oYXJkKGpvdXJuYWwpOwotCi0JCXNwaW5fbG9jaygmam91cm5hbC0+al9saXN0X2xvY2spOwotCQllcnIgPSBqb3VybmFsX3dhaXRfb25fbG9ja2VkX2xpc3Qoam91cm5hbCwKLQkJCQkJCWNvbW1pdF90cmFuc2FjdGlvbik7Ci0JCXNwaW5fdW5sb2NrKCZqb3VybmFsLT5qX2xpc3RfbG9jayk7Ci0JCWlmIChlcnIpCi0JCQlfX2piZDJfam91cm5hbF9hYm9ydF9oYXJkKGpvdXJuYWwpOwogCX0KIAorCS8qCisJICogVGhpcyBpcyB0aGUgcmlnaHQgcGxhY2UgdG8gd2FpdCBmb3IgZGF0YSBidWZmZXJzIGJvdGggZm9yIEFTWU5DCisJICogYW5kICFBU1lOQyBjb21taXQuIElmIGNvbW1pdCBpcyBBU1lOQywgd2UgbmVlZCB0byB3YWl0IG9ubHkgYWZ0ZXIKKwkgKiB0aGUgY29tbWl0IGJsb2NrIHdlbnQgdG8gZGlzayAod2hpY2ggaGFwcGVucyBhYm92ZSkuIElmIGNvbW1pdCBpcworCSAqIFNZTkMsIHdlIG5lZWQgdG8gd2FpdCBmb3IgZGF0YSBidWZmZXJzIGJlZm9yZSB3ZSBzdGFydCB3cml0aW5nCisJICogY29tbWl0IGJsb2NrLCB3aGljaCBoYXBwZW5zIGJlbG93IGluIHN1Y2ggc2V0dGluZy4KKwkgKi8KKwllcnIgPSBqb3VybmFsX2ZpbmlzaF9pbm9kZV9kYXRhX2J1ZmZlcnMoam91cm5hbCwgY29tbWl0X3RyYW5zYWN0aW9uKTsKKwlpZiAoZXJyKQorCQlqYmQyX2pvdXJuYWxfYWJvcnQoam91cm5hbCwgZXJyKTsKKwogCS8qIExvIGFuZCBiZWhvbGQ6IHdlIGhhdmUganVzdCBtYW5hZ2VkIHRvIHNlbmQgYSB0cmFuc2FjdGlvbiB0bwogICAgICAgICAgICB0aGUgbG9nLiAgQmVmb3JlIHdlIGNhbiBjb21taXQgaXQsIHdhaXQgZm9yIHRoZSBJTyBzbyBmYXIgdG8KICAgICAgICAgICAgY29tcGxldGUuICBDb250cm9sIGJ1ZmZlcnMgYmVpbmcgd3JpdHRlbiBhcmUgb24gdGhlCkBAIC03NjgsNyArNjg0LDcgQEAKIAkgICBzbyB3ZSBpbmN1ciBsZXNzIHNjaGVkdWxpbmcgbG9hZC4KIAkqLwogCi0JamJkX2RlYnVnKDMsICJKQkQ6IGNvbW1pdCBwaGFzZSA0XG4iKTsKKwlqYmRfZGVidWcoMywgIkpCRDogY29tbWl0IHBoYXNlIDNcbiIpOwogCiAJLyoKIAkgKiBha3BtOiB0aGVzZSBhcmUgQkpfSU8sIGFuZCBqX2xpc3RfbG9jayBpcyBub3QgbmVlZGVkLgpAQCAtODI3LDcgKzc0Myw3IEBACiAKIAlKX0FTU0VSVCAoY29tbWl0X3RyYW5zYWN0aW9uLT50X3NoYWRvd19saXN0ID09IE5VTEwpOwogCi0JamJkX2RlYnVnKDMsICJKQkQ6IGNvbW1pdCBwaGFzZSA1XG4iKTsKKwlqYmRfZGVidWcoMywgIkpCRDogY29tbWl0IHBoYXNlIDRcbiIpOwogCiAJLyogSGVyZSB3ZSB3YWl0IGZvciB0aGUgcmV2b2tlIHJlY29yZCBhbmQgZGVzY3JpcHRvciByZWNvcmQgYnVmZmVycyAqLwogIHdhaXRfZm9yX2N0bGJ1ZjoKQEAgLTg1NCw3ICs3NzAsNyBAQAogCQkvKiBBS1BNOiBiZm9yZ2V0IGhlcmUgKi8KIAl9CiAKLQlqYmRfZGVidWcoMywgIkpCRDogY29tbWl0IHBoYXNlIDZcbiIpOworCWpiZF9kZWJ1ZygzLCAiSkJEOiBjb21taXQgcGhhc2UgNVxuIik7CiAKIAlpZiAoIUpCRDJfSEFTX0lOQ09NUEFUX0ZFQVRVUkUoam91cm5hbCwKIAkJSkJEMl9GRUFUVVJFX0lOQ09NUEFUX0FTWU5DX0NPTU1JVCkpIHsKQEAgLTg3NCw5ICs3OTAsOSBAQAogICAgICAgICAgICB0cmFuc2FjdGlvbiBjYW4gYmUgcmVtb3ZlZCBmcm9tIGFueSBjaGVja3BvaW50IGxpc3QgaXQgd2FzIG9uCiAgICAgICAgICAgIGJlZm9yZS4gKi8KIAotCWpiZF9kZWJ1ZygzLCAiSkJEOiBjb21taXQgcGhhc2UgN1xuIik7CisJamJkX2RlYnVnKDMsICJKQkQ6IGNvbW1pdCBwaGFzZSA2XG4iKTsKIAotCUpfQVNTRVJUKGNvbW1pdF90cmFuc2FjdGlvbi0+dF9zeW5jX2RhdGFsaXN0ID09IE5VTEwpOworCUpfQVNTRVJUKGxpc3RfZW1wdHkoJmNvbW1pdF90cmFuc2FjdGlvbi0+dF9pbm9kZV9saXN0KSk7CiAJSl9BU1NFUlQoY29tbWl0X3RyYW5zYWN0aW9uLT50X2J1ZmZlcnMgPT0gTlVMTCk7CiAJSl9BU1NFUlQoY29tbWl0X3RyYW5zYWN0aW9uLT50X2NoZWNrcG9pbnRfbGlzdCA9PSBOVUxMKTsKIAlKX0FTU0VSVChjb21taXRfdHJhbnNhY3Rpb24tPnRfaW9idWZfbGlzdCA9PSBOVUxMKTsKQEAgLTk5Nyw3ICs5MTMsNyBAQAogCiAJLyogRG9uZSB3aXRoIHRoaXMgdHJhbnNhY3Rpb24hICovCiAKLQlqYmRfZGVidWcoMywgIkpCRDogY29tbWl0IHBoYXNlIDhcbiIpOworCWpiZF9kZWJ1ZygzLCAiSkJEOiBjb21taXQgcGhhc2UgN1xuIik7CiAKIAlKX0FTU0VSVChjb21taXRfdHJhbnNhY3Rpb24tPnRfc3RhdGUgPT0gVF9DT01NSVQpOwogCmRpZmYgLS1naXQgYS9mcy9qYmQyL2pvdXJuYWwuYyBiL2ZzL2piZDIvam91cm5hbC5jCmluZGV4IDJlMjQ1NjcuLmIyNmM2ZDkgMTAwNjQ0Ci0tLSBhL2ZzL2piZDIvam91cm5hbC5jCisrKyBiL2ZzL2piZDIvam91cm5hbC5jCkBAIC01MCw3ICs1MCw2IEBACiBFWFBPUlRfU1lNQk9MKGpiZDJfam91cm5hbF9nZXRfd3JpdGVfYWNjZXNzKTsKIEVYUE9SVF9TWU1CT0woamJkMl9qb3VybmFsX2dldF9jcmVhdGVfYWNjZXNzKTsKIEVYUE9SVF9TWU1CT0woamJkMl9qb3VybmFsX2dldF91bmRvX2FjY2Vzcyk7Ci1FWFBPUlRfU1lNQk9MKGpiZDJfam91cm5hbF9kaXJ0eV9kYXRhKTsKIEVYUE9SVF9TWU1CT0woamJkMl9qb3VybmFsX2RpcnR5X21ldGFkYXRhKTsKIEVYUE9SVF9TWU1CT0woamJkMl9qb3VybmFsX3JlbGVhc2VfYnVmZmVyKTsKIEVYUE9SVF9TWU1CT0woamJkMl9qb3VybmFsX2ZvcmdldCk7CkBAIC04Miw2ICs4MSwxMCBAQAogRVhQT1JUX1NZTUJPTChqYmQyX2pvdXJuYWxfaW52YWxpZGF0ZXBhZ2UpOwogRVhQT1JUX1NZTUJPTChqYmQyX2pvdXJuYWxfdHJ5X3RvX2ZyZWVfYnVmZmVycyk7CiBFWFBPUlRfU1lNQk9MKGpiZDJfam91cm5hbF9mb3JjZV9jb21taXQpOworRVhQT1JUX1NZTUJPTChqYmQyX2pvdXJuYWxfZmlsZV9pbm9kZSk7CitFWFBPUlRfU1lNQk9MKGpiZDJfam91cm5hbF9pbml0X2piZF9pbm9kZSk7CitFWFBPUlRfU1lNQk9MKGpiZDJfam91cm5hbF9yZWxlYXNlX2piZF9pbm9kZSk7CitFWFBPUlRfU1lNQk9MKGpiZDJfam91cm5hbF9iZWdpbl9vcmRlcmVkX3RydW5jYXRlKTsKIAogc3RhdGljIGludCBqb3VybmFsX2NvbnZlcnRfc3VwZXJibG9ja192MShqb3VybmFsX3QgKiwgam91cm5hbF9zdXBlcmJsb2NrX3QgKik7CiBzdGF0aWMgdm9pZCBfX2pvdXJuYWxfYWJvcnRfc29mdCAoam91cm5hbF90ICpqb3VybmFsLCBpbnQgZXJybm8pOwpAQCAtMjE5NSw2ICsyMTk4LDU0IEBACiB9CiAKIC8qCisgKiBJbml0aWFsaXplIGpiZCBpbm9kZSBoZWFkCisgKi8KK3ZvaWQgamJkMl9qb3VybmFsX2luaXRfamJkX2lub2RlKHN0cnVjdCBqYmQyX2lub2RlICpqaW5vZGUsIHN0cnVjdCBpbm9kZSAqaW5vZGUpCit7CisJamlub2RlLT5pX3RyYW5zYWN0aW9uID0gTlVMTDsKKwlqaW5vZGUtPmlfbmV4dF90cmFuc2FjdGlvbiA9IE5VTEw7CisJamlub2RlLT5pX3Zmc19pbm9kZSA9IGlub2RlOworCWppbm9kZS0+aV9mbGFncyA9IDA7CisJSU5JVF9MSVNUX0hFQUQoJmppbm9kZS0+aV9saXN0KTsKK30KKworLyoKKyAqIEZ1bmN0aW9uIHRvIGJlIGNhbGxlZCBiZWZvcmUgd2Ugc3RhcnQgcmVtb3ZpbmcgaW5vZGUgZnJvbSBtZW1vcnkgKGkuZS4sCisgKiBjbGVhcl9pbm9kZSgpIGlzIGEgZmluZSBwbGFjZSB0byBiZSBjYWxsZWQgZnJvbSkuIEl0IHJlbW92ZXMgaW5vZGUgZnJvbQorICogdHJhbnNhY3Rpb24ncyBsaXN0cy4KKyAqLwordm9pZCBqYmQyX2pvdXJuYWxfcmVsZWFzZV9qYmRfaW5vZGUoam91cm5hbF90ICpqb3VybmFsLAorCQkJCSAgICBzdHJ1Y3QgamJkMl9pbm9kZSAqamlub2RlKQoreworCWludCB3cml0ZW91dCA9IDA7CisKKwlpZiAoIWpvdXJuYWwpCisJCXJldHVybjsKK3Jlc3RhcnQ6CisJc3Bpbl9sb2NrKCZqb3VybmFsLT5qX2xpc3RfbG9jayk7CisJLyogSXMgY29tbWl0IHdyaXRpbmcgb3V0IGlub2RlIC0gd2UgaGF2ZSB0byB3YWl0ICovCisJaWYgKGppbm9kZS0+aV9mbGFncyAmIEpJX0NPTU1JVF9SVU5OSU5HKSB7CisJCXdhaXRfcXVldWVfaGVhZF90ICp3cTsKKwkJREVGSU5FX1dBSVRfQklUKHdhaXQsICZqaW5vZGUtPmlfZmxhZ3MsIF9fSklfQ09NTUlUX1JVTk5JTkcpOworCQl3cSA9IGJpdF93YWl0cXVldWUoJmppbm9kZS0+aV9mbGFncywgX19KSV9DT01NSVRfUlVOTklORyk7CisJCXByZXBhcmVfdG9fd2FpdCh3cSwgJndhaXQud2FpdCwgVEFTS19VTklOVEVSUlVQVElCTEUpOworCQlzcGluX3VubG9jaygmam91cm5hbC0+al9saXN0X2xvY2spOworCQlzY2hlZHVsZSgpOworCQlmaW5pc2hfd2FpdCh3cSwgJndhaXQud2FpdCk7CisJCWdvdG8gcmVzdGFydDsKKwl9CisKKwkvKiBEbyB3ZSBuZWVkIHRvIHdhaXQgZm9yIGRhdGEgd3JpdGViYWNrPyAqLworCWlmIChqb3VybmFsLT5qX2NvbW1pdHRpbmdfdHJhbnNhY3Rpb24gPT0gamlub2RlLT5pX3RyYW5zYWN0aW9uKQorCQl3cml0ZW91dCA9IDE7CisJaWYgKGppbm9kZS0+aV90cmFuc2FjdGlvbikgeworCQlsaXN0X2RlbCgmamlub2RlLT5pX2xpc3QpOworCQlqaW5vZGUtPmlfdHJhbnNhY3Rpb24gPSBOVUxMOworCX0KKwlzcGluX3VubG9jaygmam91cm5hbC0+al9saXN0X2xvY2spOworfQorCisvKgogICogZGVidWdmcyB0dW5hYmxlcwogICovCiAjaWZkZWYgQ09ORklHX0pCRDJfREVCVUcKZGlmZiAtLWdpdCBhL2ZzL2piZDIvdHJhbnNhY3Rpb24uYyBiL2ZzL2piZDIvdHJhbnNhY3Rpb24uYwppbmRleCBkNmUwMDZlLi40ZjdjYWRiIDEwMDY0NAotLS0gYS9mcy9qYmQyL3RyYW5zYWN0aW9uLmMKKysrIGIvZnMvamJkMi90cmFuc2FjdGlvbi5jCkBAIC00MSw3ICs0MSw2IEBACiAgKgluZXcgdHJhbnNhY3Rpb24JYW5kIHdlIGNhbid0IGJsb2NrIHdpdGhvdXQgcHJvdGVjdGluZyBhZ2FpbnN0IG90aGVyCiAgKglwcm9jZXNzZXMgdHJ5aW5nIHRvIHRvdWNoIHRoZSBqb3VybmFsIHdoaWxlIGl0IGlzIGluIHRyYW5zaXRpb24uCiAgKgotICogQ2FsbGVkIHVuZGVyIGpfc3RhdGVfbG9jawogICovCiAKIHN0YXRpYyB0cmFuc2FjdGlvbl90ICoKQEAgLTUyLDYgKzUxLDcgQEAKIAl0cmFuc2FjdGlvbi0+dF90aWQgPSBqb3VybmFsLT5qX3RyYW5zYWN0aW9uX3NlcXVlbmNlKys7CiAJdHJhbnNhY3Rpb24tPnRfZXhwaXJlcyA9IGppZmZpZXMgKyBqb3VybmFsLT5qX2NvbW1pdF9pbnRlcnZhbDsKIAlzcGluX2xvY2tfaW5pdCgmdHJhbnNhY3Rpb24tPnRfaGFuZGxlX2xvY2spOworCUlOSVRfTElTVF9IRUFEKCZ0cmFuc2FjdGlvbi0+dF9pbm9kZV9saXN0KTsKIAogCS8qIFNldCB1cCB0aGUgY29tbWl0IHRpbWVyIGZvciB0aGUgbmV3IHRyYW5zYWN0aW9uLiAqLwogCWpvdXJuYWwtPmpfY29tbWl0X3RpbWVyLmV4cGlyZXMgPSByb3VuZF9qaWZmaWVzKHRyYW5zYWN0aW9uLT50X2V4cGlyZXMpOwpAQCAtOTQzLDE4MyArOTQzLDYgQEAKIH0KIAogLyoqCi0gKiBpbnQgamJkMl9qb3VybmFsX2RpcnR5X2RhdGEoKSAtICBtYXJrIGEgYnVmZmVyIGFzIGNvbnRhaW5pbmcgZGlydHkgZGF0YSB3aGljaAotICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5lZWRzIHRvIGJlIGZsdXNoZWQgYmVmb3JlIHdlIGNhbiBjb21taXQgdGhlCi0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudCB0cmFuc2FjdGlvbi4KLSAqIEBoYW5kbGU6IHRyYW5zYWN0aW9uCi0gKiBAYmg6IGJ1ZmZlcmhlYWQgdG8gbWFyawotICoKLSAqIFRoZSBidWZmZXIgaXMgcGxhY2VkIG9uIHRoZSB0cmFuc2FjdGlvbidzIGRhdGEgbGlzdCBhbmQgaXMgbWFya2VkIGFzCi0gKiBiZWxvbmdpbmcgdG8gdGhlIHRyYW5zYWN0aW9uLgotICoKLSAqIFJldHVybnMgZXJyb3IgbnVtYmVyIG9yIDAgb24gc3VjY2Vzcy4KLSAqCi0gKiBqYmQyX2pvdXJuYWxfZGlydHlfZGF0YSgpIGNhbiBiZSBjYWxsZWQgdmlhIHBhZ2VfbGF1bmRlci0+ZXh0M193cml0ZXBhZ2UKLSAqIGJ5IGtzd2FwZC4KLSAqLwotaW50IGpiZDJfam91cm5hbF9kaXJ0eV9kYXRhKGhhbmRsZV90ICpoYW5kbGUsIHN0cnVjdCBidWZmZXJfaGVhZCAqYmgpCi17Ci0Jam91cm5hbF90ICpqb3VybmFsID0gaGFuZGxlLT5oX3RyYW5zYWN0aW9uLT50X2pvdXJuYWw7Ci0JaW50IG5lZWRfYnJlbHNlID0gMDsKLQlzdHJ1Y3Qgam91cm5hbF9oZWFkICpqaDsKLQotCWlmIChpc19oYW5kbGVfYWJvcnRlZChoYW5kbGUpKQotCQlyZXR1cm4gMDsKLQotCWpoID0gamJkMl9qb3VybmFsX2FkZF9qb3VybmFsX2hlYWQoYmgpOwotCUpCVUZGRVJfVFJBQ0UoamgsICJlbnRyeSIpOwotCi0JLyoKLQkgKiBUaGUgYnVmZmVyIGNvdWxkICphbHJlYWR5KiBiZSBkaXJ0eS4gIFdyaXRlb3V0IGNhbiBzdGFydAotCSAqIGF0IGFueSB0aW1lLgotCSAqLwotCWpiZF9kZWJ1Zyg0LCAiamg6ICVwLCB0aWQ6JWRcbiIsIGpoLCBoYW5kbGUtPmhfdHJhbnNhY3Rpb24tPnRfdGlkKTsKLQotCS8qCi0JICogV2hhdCBpZiB0aGUgYnVmZmVyIGlzIGFscmVhZHkgcGFydCBvZiBhIHJ1bm5pbmcgdHJhbnNhY3Rpb24/Ci0JICoKLQkgKiBUaGVyZSBhcmUgdHdvIGNhc2VzOgotCSAqIDEpIEl0IGlzIHBhcnQgb2YgdGhlIGN1cnJlbnQgcnVubmluZyB0cmFuc2FjdGlvbi4gIFJlZmlsZSBpdCwKLQkgKiAgICBqdXN0IGluIGNhc2Ugd2UgaGF2ZSBhbGxvY2F0ZWQgaXQgYXMgbWV0YWRhdGEsIGRlYWxsb2NhdGVkCi0JICogICAgaXQsIHRoZW4gcmVhbGxvY2F0ZWQgaXQgYXMgZGF0YS4KLQkgKiAyKSBJdCBpcyBwYXJ0IG9mIHRoZSBwcmV2aW91cywgc3RpbGwtY29tbWl0dGluZyB0cmFuc2FjdGlvbi4KLQkgKiAgICBJZiBhbGwgd2Ugd2FudCB0byBkbyBpcyB0byBndWFyYW50ZWUgdGhhdCB0aGUgYnVmZmVyIHdpbGwgYmUKLQkgKiAgICB3cml0dGVuIHRvIGRpc2sgYmVmb3JlIHRoaXMgbmV3IHRyYW5zYWN0aW9uIGNvbW1pdHMsIHRoZW4KLQkgKiAgICBiZWluZyBzdXJlIHRoYXQgdGhlICpwcmV2aW91cyogdHJhbnNhY3Rpb24gaGFzIHRoaXMgc2FtZQotCSAqICAgIHByb3BlcnR5IGlzIHN1ZmZpY2llbnQgZm9yIHVzISAgSnVzdCBsZWF2ZSBpdCBvbiBpdHMgb2xkCi0JICogICAgdHJhbnNhY3Rpb24uCi0JICoKLQkgKiBJbiBjYXNlICgyKSwgdGhlIGJ1ZmZlciBtdXN0IG5vdCBhbHJlYWR5IGV4aXN0IGFzIG1ldGFkYXRhCi0JICogLS0tIHRoYXQgd291bGQgdmlvbGF0ZSB3cml0ZSBvcmRlcmluZyAoYSB0cmFuc2FjdGlvbiBpcyBmcmVlCi0JICogdG8gd3JpdGUgaXRzIGRhdGEgYXQgYW55IHBvaW50LCBldmVuIGJlZm9yZSB0aGUgcHJldmlvdXMKLQkgKiBjb21taXR0aW5nIHRyYW5zYWN0aW9uIGhhcyBjb21taXR0ZWQpLiAgVGhlIGNhbGxlciBtdXN0Ci0JICogbmV2ZXIsIGV2ZXIgYWxsb3cgdGhpcyB0byBoYXBwZW46IHRoZXJlJ3Mgbm90aGluZyB3ZSBjYW4gZG8KLQkgKiBhYm91dCBpdCBpbiB0aGlzIGxheWVyLgotCSAqLwotCWpiZF9sb2NrX2JoX3N0YXRlKGJoKTsKLQlzcGluX2xvY2soJmpvdXJuYWwtPmpfbGlzdF9sb2NrKTsKLQotCS8qIE5vdyB0aGF0IHdlIGhhdmUgYmhfc3RhdGUgbG9ja2VkLCBhcmUgd2UgcmVhbGx5IHN0aWxsIG1hcHBlZD8gKi8KLQlpZiAoIWJ1ZmZlcl9tYXBwZWQoYmgpKSB7Ci0JCUpCVUZGRVJfVFJBQ0UoamgsICJ1bm1hcHBlZCBidWZmZXIsIGJhaWxpbmcgb3V0Iik7Ci0JCWdvdG8gbm9fam91cm5hbDsKLQl9Ci0KLQlpZiAoamgtPmJfdHJhbnNhY3Rpb24pIHsKLQkJSkJVRkZFUl9UUkFDRShqaCwgImhhcyB0cmFuc2FjdGlvbiIpOwotCQlpZiAoamgtPmJfdHJhbnNhY3Rpb24gIT0gaGFuZGxlLT5oX3RyYW5zYWN0aW9uKSB7Ci0JCQlKQlVGRkVSX1RSQUNFKGpoLCAiYmVsb25ncyB0byBvbGRlciB0cmFuc2FjdGlvbiIpOwotCQkJSl9BU1NFUlRfSkgoamgsIGpoLT5iX3RyYW5zYWN0aW9uID09Ci0JCQkJCWpvdXJuYWwtPmpfY29tbWl0dGluZ190cmFuc2FjdGlvbik7Ci0KLQkJCS8qIEBAQCBJUyBUSElTIFRSVUUgID8gKi8KLQkJCS8qCi0JCQkgKiBOb3QgYW55IG1vcmUuICBTY2VuYXJpbzogc29tZW9uZSBkb2VzIGEgd3JpdGUoKQotCQkJICogaW4gZGF0YT1qb3VybmFsIG1vZGUuICBUaGUgYnVmZmVyJ3MgdHJhbnNhY3Rpb24gaGFzCi0JCQkgKiBtb3ZlZCBpbnRvIGNvbW1pdC4gIFRoZW4gc29tZW9uZSBkb2VzIGFub3RoZXIKLQkJCSAqIHdyaXRlKCkgdG8gdGhlIGZpbGUuICBXZSBkbyB0aGUgZnJvemVuIGRhdGEgY29weW91dAotCQkJICogYW5kIHNldCBiX25leHRfdHJhbnNhY3Rpb24gdG8gcG9pbnQgdG8gal9ydW5uaW5nX3QuCi0JCQkgKiBBbmQgd2hpbGUgd2UncmUgaW4gdGhhdCBzdGF0ZSwgc29tZW9uZSBkb2VzIGEKLQkJCSAqIHdyaXRlcGFnZSgpIGluIGFuIGF0dGVtcHQgdG8gcGFnZW91dCB0aGUgc2FtZSBhcmVhCi0JCQkgKiBvZiB0aGUgZmlsZSB2aWEgYSBzaGFyZWQgbWFwcGluZy4gIEF0IHByZXNlbnQgdGhhdAotCQkJICogY2FsbHMgamJkMl9qb3VybmFsX2RpcnR5X2RhdGEoKSwgYW5kIHdlIGdldCByaWdodCBoZXJlLgotCQkJICogSXQgbWF5IGJlIHRvbyBsYXRlIHRvIGpvdXJuYWwgdGhlIGRhdGEuICBTaW1wbHkKLQkJCSAqIGZhbGxpbmcgdGhyb3VnaCB0byB0aGUgbmV4dCB0ZXN0IHdpbGwgc3VmZmljZTogdGhlCi0JCQkgKiBkYXRhIHdpbGwgYmUgZGlydHkgYW5kIHdpbCBiZSBjaGVja3BvaW50ZWQuICBUaGUKLQkJCSAqIG9yZGVyaW5nIGNvbW1lbnRzIGluIHRoZSBuZXh0IGNvbW1lbnQgYmxvY2sgc3RpbGwKLQkJCSAqIGFwcGx5LgotCQkJICovCi0JCQkvL0pfQVNTRVJUX0pIKGpoLCBqaC0+Yl9uZXh0X3RyYW5zYWN0aW9uID09IE5VTEwpOwotCi0JCQkvKgotCQkJICogSWYgd2UncmUgam91cm5hbGxpbmcgZGF0YSwgYW5kIHRoaXMgYnVmZmVyIHdhcwotCQkJICogc3ViamVjdCB0byBhIHdyaXRlKCksIGl0IGNvdWxkIGJlIG1ldGFkYXRhLCBmb3JnZXQKLQkJCSAqIG9yIHNoYWRvdyBhZ2FpbnN0IHRoZSBjb21taXR0aW5nIHRyYW5zYWN0aW9uLiAgTm93LAotCQkJICogc29tZW9uZSBoYXMgZGlydGllZCB0aGUgc2FtZSBkYXJuIHBhZ2UgdmlhIGEgbWFwcGluZwotCQkJICogYW5kIGl0IGlzIGJlaW5nIHdyaXRlcGFnZSgpJ2QuCi0JCQkgKiBXZSAqY291bGQqIGp1c3Qgc3RlYWwgdGhlIHBhZ2UgZnJvbSBjb21taXQsIHdpdGggc29tZQotCQkJICogZmFuY3kgbG9ja2luZyB0aGVyZS4gIEluc3RlYWQsIHdlIGp1c3Qgc2tpcCBpdCAtCi0JCQkgKiBkb24ndCB0aWUgdGhlIHBhZ2UncyBidWZmZXJzIHRvIHRoZSBuZXcgdHJhbnNhY3Rpb24KLQkJCSAqIGF0IGFsbC4KLQkJCSAqIEltcGxpY2F0aW9uOiBpZiB3ZSBjcmFzaCBiZWZvcmUgdGhlIHdyaXRlcGFnZSgpIGRhdGEKLQkJCSAqIGlzIHdyaXR0ZW4gaW50byB0aGUgZmlsZXN5c3RlbSwgcmVjb3Zlcnkgd2lsbCByZXBsYXkKLQkJCSAqIHRoZSB3cml0ZSgpIGRhdGEuCi0JCQkgKi8KLQkJCWlmIChqaC0+Yl9qbGlzdCAhPSBCSl9Ob25lICYmCi0JCQkJCWpoLT5iX2psaXN0ICE9IEJKX1N5bmNEYXRhICYmCi0JCQkJCWpoLT5iX2psaXN0ICE9IEJKX0xvY2tlZCkgewotCQkJCUpCVUZGRVJfVFJBQ0UoamgsICJOb3Qgc3RlYWxpbmciKTsKLQkJCQlnb3RvIG5vX2pvdXJuYWw7Ci0JCQl9Ci0KLQkJCS8qCi0JCQkgKiBUaGlzIGJ1ZmZlciBtYXkgYmUgdW5kZXJnb2luZyB3cml0ZW91dCBpbiBjb21taXQuICBXZQotCQkJICogY2FuJ3QgcmV0dXJuIGZyb20gaGVyZSBhbmQgbGV0IHRoZSBjYWxsZXIgZGlydHkgaXQKLQkJCSAqIGFnYWluIGJlY2F1c2UgdGhhdCBjYW4gY2F1c2UgdGhlIHdyaXRlLW91dCBsb29wIGluCi0JCQkgKiBjb21taXQgdG8gbmV2ZXIgdGVybWluYXRlLgotCQkJICovCi0JCQlpZiAoYnVmZmVyX2RpcnR5KGJoKSkgewotCQkJCWdldF9iaChiaCk7Ci0JCQkJc3Bpbl91bmxvY2soJmpvdXJuYWwtPmpfbGlzdF9sb2NrKTsKLQkJCQlqYmRfdW5sb2NrX2JoX3N0YXRlKGJoKTsKLQkJCQluZWVkX2JyZWxzZSA9IDE7Ci0JCQkJc3luY19kaXJ0eV9idWZmZXIoYmgpOwotCQkJCWpiZF9sb2NrX2JoX3N0YXRlKGJoKTsKLQkJCQlzcGluX2xvY2soJmpvdXJuYWwtPmpfbGlzdF9sb2NrKTsKLQkJCQkvKiBTaW5jZSB3ZSBkcm9wcGVkIHRoZSBsb2NrLi4uICovCi0JCQkJaWYgKCFidWZmZXJfbWFwcGVkKGJoKSkgewotCQkJCQlKQlVGRkVSX1RSQUNFKGpoLCAiYnVmZmVyIGdvdCB1bm1hcHBlZCIpOwotCQkJCQlnb3RvIG5vX2pvdXJuYWw7Ci0JCQkJfQotCQkJCS8qIFRoZSBidWZmZXIgbWF5IGJlY29tZSBsb2NrZWQgYWdhaW4gYXQgYW55Ci0JCQkJICAgdGltZSBpZiBpdCBpcyByZWRpcnRpZWQgKi8KLQkJCX0KLQotCQkJLyogam91cm5hbF9jbGVhbl9kYXRhX2xpc3QoKSBtYXkgaGF2ZSBnb3QgdGhlcmUgZmlyc3QgKi8KLQkJCWlmIChqaC0+Yl90cmFuc2FjdGlvbiAhPSBOVUxMKSB7Ci0JCQkJSkJVRkZFUl9UUkFDRShqaCwgInVuZmlsZSBmcm9tIGNvbW1pdCIpOwotCQkJCV9famJkMl9qb3VybmFsX3RlbXBfdW5saW5rX2J1ZmZlcihqaCk7Ci0JCQkJLyogSXQgc3RpbGwgcG9pbnRzIHRvIHRoZSBjb21taXR0aW5nCi0JCQkJICogdHJhbnNhY3Rpb247IG1vdmUgaXQgdG8gdGhpcyBvbmUgc28KLQkJCQkgKiB0aGF0IHRoZSByZWZpbGUgYXNzZXJ0IGNoZWNrcyBhcmUKLQkJCQkgKiBoYXBweS4gKi8KLQkJCQlqaC0+Yl90cmFuc2FjdGlvbiA9IGhhbmRsZS0+aF90cmFuc2FjdGlvbjsKLQkJCX0KLQkJCS8qIFRoZSBidWZmZXIgd2lsbCBiZSByZWZpbGVkIGJlbG93ICovCi0KLQkJfQotCQkvKgotCQkgKiBTcGVjaWFsIGNhc2UgLS0tIHRoZSBidWZmZXIgbWlnaHQgYWN0dWFsbHkgaGF2ZSBiZWVuCi0JCSAqIGFsbG9jYXRlZCBhbmQgdGhlbiBpbW1lZGlhdGVseSBkZWFsbG9jYXRlZCBpbiB0aGUgcHJldmlvdXMsCi0JCSAqIGNvbW1pdHRpbmcgdHJhbnNhY3Rpb24sIHNvIG1pZ2h0IHN0aWxsIGJlIGxlZnQgb24gdGhhdAotCQkgKiB0cmFuc2FjdGlvbidzIG1ldGFkYXRhIGxpc3RzLgotCQkgKi8KLQkJaWYgKGpoLT5iX2psaXN0ICE9IEJKX1N5bmNEYXRhICYmIGpoLT5iX2psaXN0ICE9IEJKX0xvY2tlZCkgewotCQkJSkJVRkZFUl9UUkFDRShqaCwgIm5vdCBvbiBjb3JyZWN0IGRhdGEgbGlzdDogdW5maWxlIik7Ci0JCQlKX0FTU0VSVF9KSChqaCwgamgtPmJfamxpc3QgIT0gQkpfU2hhZG93KTsKLQkJCV9famJkMl9qb3VybmFsX3RlbXBfdW5saW5rX2J1ZmZlcihqaCk7Ci0JCQlqaC0+Yl90cmFuc2FjdGlvbiA9IGhhbmRsZS0+aF90cmFuc2FjdGlvbjsKLQkJCUpCVUZGRVJfVFJBQ0UoamgsICJmaWxlIGFzIGRhdGEiKTsKLQkJCV9famJkMl9qb3VybmFsX2ZpbGVfYnVmZmVyKGpoLCBoYW5kbGUtPmhfdHJhbnNhY3Rpb24sCi0JCQkJCQlCSl9TeW5jRGF0YSk7Ci0JCX0KLQl9IGVsc2UgewotCQlKQlVGRkVSX1RSQUNFKGpoLCAibm90IG9uIGEgdHJhbnNhY3Rpb24iKTsKLQkJX19qYmQyX2pvdXJuYWxfZmlsZV9idWZmZXIoamgsIGhhbmRsZS0+aF90cmFuc2FjdGlvbiwgQkpfU3luY0RhdGEpOwotCX0KLW5vX2pvdXJuYWw6Ci0Jc3Bpbl91bmxvY2soJmpvdXJuYWwtPmpfbGlzdF9sb2NrKTsKLQlqYmRfdW5sb2NrX2JoX3N0YXRlKGJoKTsKLQlpZiAobmVlZF9icmVsc2UpIHsKLQkJQlVGRkVSX1RSQUNFKGJoLCAiYnJlbHNlIik7Ci0JCV9fYnJlbHNlKGJoKTsKLQl9Ci0JSkJVRkZFUl9UUkFDRShqaCwgImV4aXQiKTsKLQlqYmQyX2pvdXJuYWxfcHV0X2pvdXJuYWxfaGVhZChqaCk7Ci0JcmV0dXJuIDA7Ci19Ci0KLS8qKgogICogaW50IGpiZDJfam91cm5hbF9kaXJ0eV9tZXRhZGF0YSgpIC0gIG1hcmsgYSBidWZmZXIgYXMgY29udGFpbmluZyBkaXJ0eSBtZXRhZGF0YQogICogQGhhbmRsZTogdHJhbnNhY3Rpb24gdG8gYWRkIGJ1ZmZlciB0by4KICAqIEBiaDogYnVmZmVyIHRvIG1hcmsKQEAgLTE1NDEsMTAgKzEzNjQsMTAgQEAKICAqIFJlbW92ZSBhIGJ1ZmZlciBmcm9tIHRoZSBhcHByb3ByaWF0ZSB0cmFuc2FjdGlvbiBsaXN0LgogICoKICAqIE5vdGUgdGhhdCB0aGlzIGZ1bmN0aW9uIGNhbiAqY2hhbmdlKiB0aGUgdmFsdWUgb2YKLSAqIGJoLT5iX3RyYW5zYWN0aW9uLT50X3N5bmNfZGF0YWxpc3QsIHRfYnVmZmVycywgdF9mb3JnZXQsCi0gKiB0X2lvYnVmX2xpc3QsIHRfc2hhZG93X2xpc3QsIHRfbG9nX2xpc3Qgb3IgdF9yZXNlcnZlZF9saXN0LiAgSWYgdGhlIGNhbGxlcgotICogaXMgaG9sZGluZyBvbnRvIGEgY29weSBvZiBvbmUgb2YgdGhlZSBwb2ludGVycywgaXQgY291bGQgZ28gYmFkLgotICogR2VuZXJhbGx5IHRoZSBjYWxsZXIgbmVlZHMgdG8gcmUtcmVhZCB0aGUgcG9pbnRlciBmcm9tIHRoZSB0cmFuc2FjdGlvbl90LgorICogYmgtPmJfdHJhbnNhY3Rpb24tPnRfYnVmZmVycywgdF9mb3JnZXQsIHRfaW9idWZfbGlzdCwgdF9zaGFkb3dfbGlzdCwKKyAqIHRfbG9nX2xpc3Qgb3IgdF9yZXNlcnZlZF9saXN0LiAgSWYgdGhlIGNhbGxlciBpcyBob2xkaW5nIG9udG8gYSBjb3B5IG9mIG9uZQorICogb2YgdGhlc2UgcG9pbnRlcnMsIGl0IGNvdWxkIGdvIGJhZC4gIEdlbmVyYWxseSB0aGUgY2FsbGVyIG5lZWRzIHRvIHJlLXJlYWQKKyAqIHRoZSBwb2ludGVyIGZyb20gdGhlIHRyYW5zYWN0aW9uX3QuCiAgKgogICogQ2FsbGVkIHVuZGVyIGpfbGlzdF9sb2NrLiAgVGhlIGpvdXJuYWwgbWF5IG5vdCBiZSBsb2NrZWQuCiAgKi8KQEAgLTE1NjYsOSArMTM4OSw2IEBACiAJc3dpdGNoIChqaC0+Yl9qbGlzdCkgewogCWNhc2UgQkpfTm9uZToKIAkJcmV0dXJuOwotCWNhc2UgQkpfU3luY0RhdGE6Ci0JCWxpc3QgPSAmdHJhbnNhY3Rpb24tPnRfc3luY19kYXRhbGlzdDsKLQkJYnJlYWs7CiAJY2FzZSBCSl9NZXRhZGF0YToKIAkJdHJhbnNhY3Rpb24tPnRfbnJfYnVmZmVycy0tOwogCQlKX0FTU0VSVF9KSChqaCwgdHJhbnNhY3Rpb24tPnRfbnJfYnVmZmVycyA+PSAwKTsKQEAgLTE1ODksOSArMTQwOSw2IEBACiAJY2FzZSBCSl9SZXNlcnZlZDoKIAkJbGlzdCA9ICZ0cmFuc2FjdGlvbi0+dF9yZXNlcnZlZF9saXN0OwogCQlicmVhazsKLQljYXNlIEJKX0xvY2tlZDoKLQkJbGlzdCA9ICZ0cmFuc2FjdGlvbi0+dF9sb2NrZWRfbGlzdDsKLQkJYnJlYWs7CiAJfQogCiAJX19ibGlzdF9kZWxfYnVmZmVyKGxpc3QsIGpoKTsKQEAgLTE2MzQsMTUgKzE0NTEsNyBAQAogCQlnb3RvIG91dDsKIAogCXNwaW5fbG9jaygmam91cm5hbC0+al9saXN0X2xvY2spOwotCWlmIChqaC0+Yl90cmFuc2FjdGlvbiAhPSBOVUxMICYmIGpoLT5iX2NwX3RyYW5zYWN0aW9uID09IE5VTEwpIHsKLQkJaWYgKGpoLT5iX2psaXN0ID09IEJKX1N5bmNEYXRhIHx8IGpoLT5iX2psaXN0ID09IEJKX0xvY2tlZCkgewotCQkJLyogQSB3cml0dGVuLWJhY2sgb3JkZXJlZCBkYXRhIGJ1ZmZlciAqLwotCQkJSkJVRkZFUl9UUkFDRShqaCwgInJlbGVhc2UgZGF0YSIpOwotCQkJX19qYmQyX2pvdXJuYWxfdW5maWxlX2J1ZmZlcihqaCk7Ci0JCQlqYmQyX2pvdXJuYWxfcmVtb3ZlX2pvdXJuYWxfaGVhZChiaCk7Ci0JCQlfX2JyZWxzZShiaCk7Ci0JCX0KLQl9IGVsc2UgaWYgKGpoLT5iX2NwX3RyYW5zYWN0aW9uICE9IE5VTEwgJiYgamgtPmJfdHJhbnNhY3Rpb24gPT0gTlVMTCkgeworCWlmIChqaC0+Yl9jcF90cmFuc2FjdGlvbiAhPSBOVUxMICYmIGpoLT5iX3RyYW5zYWN0aW9uID09IE5VTEwpIHsKIAkJLyogd3JpdHRlbi1iYWNrIGNoZWNrcG9pbnRlZCBtZXRhZGF0YSBidWZmZXIgKi8KIAkJaWYgKGpoLT5iX2psaXN0ID09IEJKX05vbmUpIHsKIAkJCUpCVUZGRVJfVFJBQ0UoamgsICJyZW1vdmUgZnJvbSBjaGVja3BvaW50IGxpc3QiKTsKQEAgLTE2NTYsMTIgKzE0NjUsNDMgQEAKIAlyZXR1cm47CiB9CiAKKy8qCisgKiBqYmQyX2pvdXJuYWxfdHJ5X3RvX2ZyZWVfYnVmZmVycygpIGNvdWxkIHJhY2Ugd2l0aAorICogamJkMl9qb3VybmFsX2NvbW1pdF90cmFuc2FjdGlvbigpLiBUaGUgbGF0ZXIgbWlnaHQgc3RpbGwgaG9sZCB0aGUKKyAqIHJlZmVyZW5jZSBjb3VudCB0byB0aGUgYnVmZmVycyB3aGVuIGluc3BlY3RpbmcgdGhlbSBvbgorICogdF9zeW5jZGF0YV9saXN0IG9yIHRfbG9ja2VkX2xpc3QuCisgKgorICogamJkMl9qb3VybmFsX3RyeV90b19mcmVlX2J1ZmZlcnMoKSB3aWxsIGNhbGwgdGhpcyBmdW5jdGlvbiB0bworICogd2FpdCBmb3IgdGhlIGN1cnJlbnQgdHJhbnNhY3Rpb24gdG8gZmluaXNoIHN5bmNpbmcgZGF0YSBidWZmZXJzLCBiZWZvcmUKKyAqIHRyeSB0byBmcmVlIHRoYXQgYnVmZmVyLgorICoKKyAqIENhbGxlZCB3aXRoIGpvdXJuYWwtPmpfc3RhdGVfbG9jayBob2xkLgorICovCitzdGF0aWMgdm9pZCBqYmQyX2pvdXJuYWxfd2FpdF9mb3JfdHJhbnNhY3Rpb25fc3luY19kYXRhKGpvdXJuYWxfdCAqam91cm5hbCkKK3sKKwl0cmFuc2FjdGlvbl90ICp0cmFuc2FjdGlvbjsKKwl0aWRfdCB0aWQ7CisKKwlzcGluX2xvY2soJmpvdXJuYWwtPmpfc3RhdGVfbG9jayk7CisJdHJhbnNhY3Rpb24gPSBqb3VybmFsLT5qX2NvbW1pdHRpbmdfdHJhbnNhY3Rpb247CisKKwlpZiAoIXRyYW5zYWN0aW9uKSB7CisJCXNwaW5fdW5sb2NrKCZqb3VybmFsLT5qX3N0YXRlX2xvY2spOworCQlyZXR1cm47CisJfQorCisJdGlkID0gdHJhbnNhY3Rpb24tPnRfdGlkOworCXNwaW5fdW5sb2NrKCZqb3VybmFsLT5qX3N0YXRlX2xvY2spOworCWpiZDJfbG9nX3dhaXRfY29tbWl0KGpvdXJuYWwsIHRpZCk7Cit9CiAKIC8qKgogICogaW50IGpiZDJfam91cm5hbF90cnlfdG9fZnJlZV9idWZmZXJzKCkgLSB0cnkgdG8gZnJlZSBwYWdlIGJ1ZmZlcnMuCiAgKiBAam91cm5hbDogam91cm5hbCBmb3Igb3BlcmF0aW9uCiAgKiBAcGFnZTogdG8gdHJ5IGFuZCBmcmVlCi0gKiBAdW51c2VkX2dmcF9tYXNrOiB1bnVzZWQKKyAqIEBnZnBfbWFzazogd2UgdXNlIHRoZSBtYXNrIHRvIGRldGVjdCBob3cgaGFyZCBzaG91bGQgd2UgdHJ5IHRvIHJlbGVhc2UKKyAqIGJ1ZmZlcnMuIElmIF9fR0ZQX1dBSVQgYW5kIF9fR0ZQX0ZTIGlzIHNldCwgd2Ugd2FpdCBmb3IgY29tbWl0IGNvZGUgdG8KKyAqIHJlbGVhc2UgdGhlIGJ1ZmZlcnMuCiAgKgogICoKICAqIEZvciBhbGwgdGhlIGJ1ZmZlcnMgb24gdGhpcyBwYWdlLApAQCAtMTY5MCw5ICsxNTMwLDExIEBACiAgKiBqb3VybmFsX3RyeV90b19mcmVlX2J1ZmZlcigpIGlzIGNoYW5naW5nIGl0cyBzdGF0ZS4gIEJ1dCB0aGF0CiAgKiBjYW5ub3QgaGFwcGVuIGJlY2F1c2Ugd2UgbmV2ZXIgcmVhbGxvY2F0ZSBmcmVlZCBkYXRhIGFzIG1ldGFkYXRhCiAgKiB3aGlsZSB0aGUgZGF0YSBpcyBwYXJ0IG9mIGEgdHJhbnNhY3Rpb24uICBZZXM/CisgKgorICogUmV0dXJuIDAgb24gZmFpbHVyZSwgMSBvbiBzdWNjZXNzCiAgKi8KIGludCBqYmQyX2pvdXJuYWxfdHJ5X3RvX2ZyZWVfYnVmZmVycyhqb3VybmFsX3QgKmpvdXJuYWwsCi0JCQkJc3RydWN0IHBhZ2UgKnBhZ2UsIGdmcF90IHVudXNlZF9nZnBfbWFzaykKKwkJCQlzdHJ1Y3QgcGFnZSAqcGFnZSwgZ2ZwX3QgZ2ZwX21hc2spCiB7CiAJc3RydWN0IGJ1ZmZlcl9oZWFkICpoZWFkOwogCXN0cnVjdCBidWZmZXJfaGVhZCAqYmg7CkBAIC0xNzA4LDcgKzE1NTAsOCBAQAogCQkvKgogCQkgKiBXZSB0YWtlIG91ciBvd24gcmVmIGFnYWluc3QgdGhlIGpvdXJuYWxfaGVhZCBoZXJlIHRvIGF2b2lkCiAJCSAqIGhhdmluZyB0byBhZGQgdG9ucyBvZiBsb2NraW5nIGFyb3VuZCBlYWNoIGluc3RhbmNlIG9mCi0JCSAqIGpiZDJfam91cm5hbF9yZW1vdmVfam91cm5hbF9oZWFkKCkgYW5kIGpiZDJfam91cm5hbF9wdXRfam91cm5hbF9oZWFkKCkuCisJCSAqIGpiZDJfam91cm5hbF9yZW1vdmVfam91cm5hbF9oZWFkKCkgYW5kCisJCSAqIGpiZDJfam91cm5hbF9wdXRfam91cm5hbF9oZWFkKCkuCiAJCSAqLwogCQlqaCA9IGpiZDJfam91cm5hbF9ncmFiX2pvdXJuYWxfaGVhZChiaCk7CiAJCWlmICghamgpCkBAIC0xNzIxLDcgKzE1NjQsMjggQEAKIAkJaWYgKGJ1ZmZlcl9qYmQoYmgpKQogCQkJZ290byBidXN5OwogCX0gd2hpbGUgKChiaCA9IGJoLT5iX3RoaXNfcGFnZSkgIT0gaGVhZCk7CisKIAlyZXQgPSB0cnlfdG9fZnJlZV9idWZmZXJzKHBhZ2UpOworCisJLyoKKwkgKiBUaGVyZSBhcmUgYSBudW1iZXIgb2YgcGxhY2VzIHdoZXJlIGpiZDJfam91cm5hbF90cnlfdG9fZnJlZV9idWZmZXJzKCkKKwkgKiBjb3VsZCByYWNlIHdpdGggamJkMl9qb3VybmFsX2NvbW1pdF90cmFuc2FjdGlvbigpLCB0aGUgbGF0ZXIgc3RpbGwKKwkgKiBob2xkcyB0aGUgcmVmZXJlbmNlIHRvIHRoZSBidWZmZXJzIHRvIGZyZWUgd2hpbGUgcHJvY2Vzc2luZyB0aGVtLgorCSAqIHRyeV90b19mcmVlX2J1ZmZlcnMoKSBmYWlsZWQgdG8gZnJlZSB0aG9zZSBidWZmZXJzLiBTb21lIG9mIHRoZQorCSAqIGNhbGxlciBvZiByZWxlYXNlcGFnZSgpIHJlcXVlc3QgcGFnZSBidWZmZXJzIHRvIGJlIGRyb3BwZWQsIG90aGVyd2lzZQorCSAqIHRyZWF0IHRoZSBmYWlsLXRvLWZyZWUgYXMgZXJyb3JzIChzdWNoIGFzIGdlbmVyaWNfZmlsZV9kaXJlY3RfSU8oKSkKKwkgKgorCSAqIFNvLCBpZiB0aGUgY2FsbGVyIG9mIHRyeV90b19yZWxlYXNlX3BhZ2UoKSB3YW50cyB0aGUgc3luY2hyb25vdXMKKwkgKiBiZWhhdmlvdXIoaS5lIG1ha2Ugc3VyZSBidWZmZXJzIGFyZSBkcm9wcGVkIHVwb24gcmV0dXJuKSwKKwkgKiBsZXQncyB3YWl0IGZvciB0aGUgY3VycmVudCB0cmFuc2FjdGlvbiB0byBmaW5pc2ggZmx1c2ggb2YKKwkgKiBkaXJ0eSBkYXRhIGJ1ZmZlcnMsIHRoZW4gdHJ5IHRvIGZyZWUgdGhvc2UgYnVmZmVycyBhZ2FpbiwKKwkgKiB3aXRoIHRoZSBqb3VybmFsIGxvY2tlZC4KKwkgKi8KKwlpZiAocmV0ID09IDAgJiYgKGdmcF9tYXNrICYgX19HRlBfV0FJVCkgJiYgKGdmcF9tYXNrICYgX19HRlBfRlMpKSB7CisJCWpiZDJfam91cm5hbF93YWl0X2Zvcl90cmFuc2FjdGlvbl9zeW5jX2RhdGEoam91cm5hbCk7CisJCXJldCA9IHRyeV90b19mcmVlX2J1ZmZlcnMocGFnZSk7CisJfQorCiBidXN5OgogCXJldHVybiByZXQ7CiB9CkBAIC0xODIzLDYgKzE2ODcsNyBAQAogCWlmICghYnVmZmVyX2piZChiaCkpCiAJCWdvdG8gemFwX2J1ZmZlcl91bmxvY2tlZDsKIAorCS8qIE9LLCB3ZSBoYXZlIGRhdGEgYnVmZmVyIGluIGpvdXJuYWxlZCBtb2RlICovCiAJc3Bpbl9sb2NrKCZqb3VybmFsLT5qX3N0YXRlX2xvY2spOwogCWpiZF9sb2NrX2JoX3N0YXRlKGJoKTsKIAlzcGluX2xvY2soJmpvdXJuYWwtPmpfbGlzdF9sb2NrKTsKQEAgLTE4ODYsMTUgKzE3NTEsNiBAQAogCQl9CiAJfSBlbHNlIGlmICh0cmFuc2FjdGlvbiA9PSBqb3VybmFsLT5qX2NvbW1pdHRpbmdfdHJhbnNhY3Rpb24pIHsKIAkJSkJVRkZFUl9UUkFDRShqaCwgIm9uIGNvbW1pdHRpbmcgdHJhbnNhY3Rpb24iKTsKLQkJaWYgKGpoLT5iX2psaXN0ID09IEJKX0xvY2tlZCkgewotCQkJLyoKLQkJCSAqIFRoZSBidWZmZXIgaXMgb24gdGhlIGNvbW1pdHRpbmcgdHJhbnNhY3Rpb24ncyBsb2NrZWQKLQkJCSAqIGxpc3QuICBXZSBoYXZlIHRoZSBidWZmZXIgbG9ja2VkLCBzbyBJL08gaGFzCi0JCQkgKiBjb21wbGV0ZWQuICBTbyB3ZSBjYW4gbmFpbCB0aGUgYnVmZmVyIG5vdy4KLQkJCSAqLwotCQkJbWF5X2ZyZWUgPSBfX2Rpc3Bvc2VfYnVmZmVyKGpoLCB0cmFuc2FjdGlvbik7Ci0JCQlnb3RvIHphcF9idWZmZXI7Ci0JCX0KIAkJLyoKIAkJICogSWYgaXQgaXMgY29tbWl0dGluZywgd2Ugc2ltcGx5IGNhbm5vdCB0b3VjaCBpdC4gIFdlCiAJCSAqIGNhbiByZW1vdmUgaXQncyBuZXh0X3RyYW5zYWN0aW9uIHBvaW50ZXIgZnJvbSB0aGUKQEAgLTIwMjcsOSArMTg4Myw2IEBACiAJCUpfQVNTRVJUX0pIKGpoLCAhamgtPmJfY29tbWl0dGVkX2RhdGEpOwogCQlKX0FTU0VSVF9KSChqaCwgIWpoLT5iX2Zyb3plbl9kYXRhKTsKIAkJcmV0dXJuOwotCWNhc2UgQkpfU3luY0RhdGE6Ci0JCWxpc3QgPSAmdHJhbnNhY3Rpb24tPnRfc3luY19kYXRhbGlzdDsKLQkJYnJlYWs7CiAJY2FzZSBCSl9NZXRhZGF0YToKIAkJdHJhbnNhY3Rpb24tPnRfbnJfYnVmZmVycysrOwogCQlsaXN0ID0gJnRyYW5zYWN0aW9uLT50X2J1ZmZlcnM7CkBAIC0yMDQ5LDkgKzE5MDIsNiBAQAogCWNhc2UgQkpfUmVzZXJ2ZWQ6CiAJCWxpc3QgPSAmdHJhbnNhY3Rpb24tPnRfcmVzZXJ2ZWRfbGlzdDsKIAkJYnJlYWs7Ci0JY2FzZSBCSl9Mb2NrZWQ6Ci0JCWxpc3QgPSAgJnRyYW5zYWN0aW9uLT50X2xvY2tlZF9saXN0OwotCQlicmVhazsKIAl9CiAKIAlfX2JsaXN0X2FkZF9idWZmZXIobGlzdCwgamgpOwpAQCAtMjE0MSwzICsxOTkxLDg4IEBACiAJc3Bpbl91bmxvY2soJmpvdXJuYWwtPmpfbGlzdF9sb2NrKTsKIAlfX2JyZWxzZShiaCk7CiB9CisKKy8qCisgKiBGaWxlIGlub2RlIGluIHRoZSBpbm9kZSBsaXN0IG9mIHRoZSBoYW5kbGUncyB0cmFuc2FjdGlvbgorICovCitpbnQgamJkMl9qb3VybmFsX2ZpbGVfaW5vZGUoaGFuZGxlX3QgKmhhbmRsZSwgc3RydWN0IGpiZDJfaW5vZGUgKmppbm9kZSkKK3sKKwl0cmFuc2FjdGlvbl90ICp0cmFuc2FjdGlvbiA9IGhhbmRsZS0+aF90cmFuc2FjdGlvbjsKKwlqb3VybmFsX3QgKmpvdXJuYWwgPSB0cmFuc2FjdGlvbi0+dF9qb3VybmFsOworCisJaWYgKGlzX2hhbmRsZV9hYm9ydGVkKGhhbmRsZSkpCisJCXJldHVybiAtRUlPOworCisJamJkX2RlYnVnKDQsICJBZGRpbmcgaW5vZGUgJWx1LCB0aWQ6JWRcbiIsIGppbm9kZS0+aV92ZnNfaW5vZGUtPmlfaW5vLAorCQkJdHJhbnNhY3Rpb24tPnRfdGlkKTsKKworCS8qCisJICogRmlyc3QgY2hlY2sgd2hldGhlciBpbm9kZSBpc24ndCBhbHJlYWR5IG9uIHRoZSB0cmFuc2FjdGlvbidzCisJICogbGlzdHMgd2l0aG91dCB0YWtpbmcgdGhlIGxvY2suIE5vdGUgdGhhdCB0aGlzIGNoZWNrIGlzIHNhZmUKKwkgKiB3aXRob3V0IHRoZSBsb2NrIGFzIHdlIGNhbm5vdCByYWNlIHdpdGggc29tZWJvZHkgcmVtb3ZpbmcgaW5vZGUKKwkgKiBmcm9tIHRoZSB0cmFuc2FjdGlvbi4gVGhlIHJlYXNvbiBpcyB0aGF0IHdlIHJlbW92ZSBpbm9kZSBmcm9tIHRoZQorCSAqIHRyYW5zYWN0aW9uIG9ubHkgaW4gam91cm5hbF9yZWxlYXNlX2piZF9pbm9kZSgpIGFuZCB3aGVuIHdlIGNvbW1pdAorCSAqIHRoZSB0cmFuc2FjdGlvbi4gV2UgYXJlIGd1YXJkZWQgZnJvbSB0aGUgZmlyc3QgY2FzZSBieSBob2xkaW5nCisJICogYSByZWZlcmVuY2UgdG8gdGhlIGlub2RlLiBXZSBhcmUgc2FmZSBhZ2FpbnN0IHRoZSBzZWNvbmQgY2FzZQorCSAqIGJlY2F1c2UgaWYgamlub2RlLT5pX3RyYW5zYWN0aW9uID09IHRyYW5zYWN0aW9uLCBjb21taXQgY29kZQorCSAqIGNhbm5vdCB0b3VjaCB0aGUgdHJhbnNhY3Rpb24gYmVjYXVzZSB3ZSBob2xkIHJlZmVyZW5jZSB0byBpdCwKKwkgKiBhbmQgaWYgamlub2RlLT5pX25leHRfdHJhbnNhY3Rpb24gPT0gdHJhbnNhY3Rpb24sIGNvbW1pdCBjb2RlCisJICogd2lsbCBvbmx5IGZpbGUgdGhlIGlub2RlIHdoZXJlIHdlIHdhbnQgaXQuCisJICovCisJaWYgKGppbm9kZS0+aV90cmFuc2FjdGlvbiA9PSB0cmFuc2FjdGlvbiB8fAorCSAgICBqaW5vZGUtPmlfbmV4dF90cmFuc2FjdGlvbiA9PSB0cmFuc2FjdGlvbikKKwkJcmV0dXJuIDA7CisKKwlzcGluX2xvY2soJmpvdXJuYWwtPmpfbGlzdF9sb2NrKTsKKworCWlmIChqaW5vZGUtPmlfdHJhbnNhY3Rpb24gPT0gdHJhbnNhY3Rpb24gfHwKKwkgICAgamlub2RlLT5pX25leHRfdHJhbnNhY3Rpb24gPT0gdHJhbnNhY3Rpb24pCisJCWdvdG8gZG9uZTsKKworCS8qIE9uIHNvbWUgZGlmZmVyZW50IHRyYW5zYWN0aW9uJ3MgbGlzdCAtIHNob3VsZCBiZQorCSAqIHRoZSBjb21taXR0aW5nIG9uZSAqLworCWlmIChqaW5vZGUtPmlfdHJhbnNhY3Rpb24pIHsKKwkJSl9BU1NFUlQoamlub2RlLT5pX25leHRfdHJhbnNhY3Rpb24gPT0gTlVMTCk7CisJCUpfQVNTRVJUKGppbm9kZS0+aV90cmFuc2FjdGlvbiA9PQorCQkJCQlqb3VybmFsLT5qX2NvbW1pdHRpbmdfdHJhbnNhY3Rpb24pOworCQlqaW5vZGUtPmlfbmV4dF90cmFuc2FjdGlvbiA9IHRyYW5zYWN0aW9uOworCQlnb3RvIGRvbmU7CisJfQorCS8qIE5vdCBvbiBhbnkgdHJhbnNhY3Rpb24gbGlzdC4uLiAqLworCUpfQVNTRVJUKCFqaW5vZGUtPmlfbmV4dF90cmFuc2FjdGlvbik7CisJamlub2RlLT5pX3RyYW5zYWN0aW9uID0gdHJhbnNhY3Rpb247CisJbGlzdF9hZGQoJmppbm9kZS0+aV9saXN0LCAmdHJhbnNhY3Rpb24tPnRfaW5vZGVfbGlzdCk7Citkb25lOgorCXNwaW5fdW5sb2NrKCZqb3VybmFsLT5qX2xpc3RfbG9jayk7CisKKwlyZXR1cm4gMDsKK30KKworLyoKKyAqIFRoaXMgZnVuY3Rpb24gbXVzdCBiZSBjYWxsZWQgd2hlbiBpbm9kZSBpcyBqb3VybmFsZWQgaW4gb3JkZXJlZCBtb2RlCisgKiBiZWZvcmUgdHJ1bmNhdGlvbiBoYXBwZW5zLiBJdCBzdGFydHMgd3JpdGVvdXQgb2YgdHJ1bmNhdGVkIHBhcnQgaW4KKyAqIGNhc2UgaXQgaXMgaW4gdGhlIGNvbW1pdHRpbmcgdHJhbnNhY3Rpb24gc28gdGhhdCB3ZSBzdGFuZCB0byBvcmRlcmVkCisgKiBtb2RlIGNvbnNpc3RlbmN5IGd1YXJhbnRlZXMuCisgKi8KK2ludCBqYmQyX2pvdXJuYWxfYmVnaW5fb3JkZXJlZF90cnVuY2F0ZShzdHJ1Y3QgamJkMl9pbm9kZSAqaW5vZGUsCisJCQkJCWxvZmZfdCBuZXdfc2l6ZSkKK3sKKwlqb3VybmFsX3QgKmpvdXJuYWw7CisJdHJhbnNhY3Rpb25fdCAqY29tbWl0X3RyYW5zOworCWludCByZXQgPSAwOworCisJaWYgKCFpbm9kZS0+aV90cmFuc2FjdGlvbiAmJiAhaW5vZGUtPmlfbmV4dF90cmFuc2FjdGlvbikKKwkJZ290byBvdXQ7CisJam91cm5hbCA9IGlub2RlLT5pX3RyYW5zYWN0aW9uLT50X2pvdXJuYWw7CisJc3Bpbl9sb2NrKCZqb3VybmFsLT5qX3N0YXRlX2xvY2spOworCWNvbW1pdF90cmFucyA9IGpvdXJuYWwtPmpfY29tbWl0dGluZ190cmFuc2FjdGlvbjsKKwlzcGluX3VubG9jaygmam91cm5hbC0+al9zdGF0ZV9sb2NrKTsKKwlpZiAoaW5vZGUtPmlfdHJhbnNhY3Rpb24gPT0gY29tbWl0X3RyYW5zKSB7CisJCXJldCA9IGZpbGVtYXBfZmRhdGF3cml0ZV9yYW5nZShpbm9kZS0+aV92ZnNfaW5vZGUtPmlfbWFwcGluZywKKwkJCW5ld19zaXplLCBMTE9OR19NQVgpOworCQlpZiAocmV0KQorCQkJamJkMl9qb3VybmFsX2Fib3J0KGpvdXJuYWwsIHJldCk7CisJfQorb3V0OgorCXJldHVybiByZXQ7Cit9CmRpZmYgLS1naXQgYS9mcy9qZnMvamZzX2RlYnVnLmMgYi9mcy9qZnMvamZzX2RlYnVnLmMKaW5kZXggYmY2YWIxOS4uNmE3M2RlODQgMTAwNjQ0Ci0tLSBhL2ZzL2pmcy9qZnNfZGVidWcuYworKysgYi9mcy9qZnMvamZzX2RlYnVnLmMKQEAgLTIxLDYgKzIxLDcgQEAKICNpbmNsdWRlIDxsaW51eC9jdHlwZS5oPgogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogI2luY2x1ZGUgPGxpbnV4L3Byb2NfZnMuaD4KKyNpbmNsdWRlIDxsaW51eC9zZXFfZmlsZS5oPgogI2luY2x1ZGUgPGFzbS91YWNjZXNzLmg+CiAjaW5jbHVkZSAiamZzX2luY29yZS5oIgogI2luY2x1ZGUgImpmc19maWxzeXMuaCIKQEAgLTMwLDI5ICszMSwxOSBAQAogCiBzdGF0aWMgc3RydWN0IHByb2NfZGlyX2VudHJ5ICpiYXNlOwogI2lmZGVmIENPTkZJR19KRlNfREVCVUcKLXN0YXRpYyBpbnQgbG9nbGV2ZWxfcmVhZChjaGFyICpwYWdlLCBjaGFyICoqc3RhcnQsIG9mZl90IG9mZiwKLQkJCSBpbnQgY291bnQsIGludCAqZW9mLCB2b2lkICpkYXRhKQorc3RhdGljIGludCBqZnNfbG9nbGV2ZWxfcHJvY19zaG93KHN0cnVjdCBzZXFfZmlsZSAqbSwgdm9pZCAqdikKIHsKLQlpbnQgbGVuOwotCi0JbGVuID0gc3ByaW50ZihwYWdlLCAiJWRcbiIsIGpmc2xvZ2xldmVsKTsKLQotCWxlbiAtPSBvZmY7Ci0JKnN0YXJ0ID0gcGFnZSArIG9mZjsKLQotCWlmIChsZW4gPiBjb3VudCkKLQkJbGVuID0gY291bnQ7Ci0JZWxzZQotCQkqZW9mID0gMTsKLQotCWlmIChsZW4gPCAwKQotCQlsZW4gPSAwOwotCi0JcmV0dXJuIGxlbjsKKwlzZXFfcHJpbnRmKG0sICIlZFxuIiwgamZzbG9nbGV2ZWwpOworCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IGxvZ2xldmVsX3dyaXRlKHN0cnVjdCBmaWxlICpmaWxlLCBjb25zdCBjaGFyIF9fdXNlciAqYnVmZmVyLAotCQkJdW5zaWduZWQgbG9uZyBjb3VudCwgdm9pZCAqZGF0YSkKK3N0YXRpYyBpbnQgamZzX2xvZ2xldmVsX3Byb2Nfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKK3sKKwlyZXR1cm4gc2luZ2xlX29wZW4oZmlsZSwgamZzX2xvZ2xldmVsX3Byb2Nfc2hvdywgTlVMTCk7Cit9CisKK3N0YXRpYyBzc2l6ZV90IGpmc19sb2dsZXZlbF9wcm9jX3dyaXRlKHN0cnVjdCBmaWxlICpmaWxlLAorCQljb25zdCBjaGFyIF9fdXNlciAqYnVmZmVyLCBzaXplX3QgY291bnQsIGxvZmZfdCAqcHBvcykKIHsKIAljaGFyIGM7CiAKQEAgLTY1LDIyICs1NiwzMCBAQAogCWpmc2xvZ2xldmVsID0gYyAtICcwJzsKIAlyZXR1cm4gY291bnQ7CiB9CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zIGpmc19sb2dsZXZlbF9wcm9jX2ZvcHMgPSB7CisJLm93bmVyCQk9IFRISVNfTU9EVUxFLAorCS5vcGVuCQk9IGpmc19sb2dsZXZlbF9wcm9jX29wZW4sCisJLnJlYWQJCT0gc2VxX3JlYWQsCisJLmxsc2VlawkJPSBzZXFfbHNlZWssCisJLnJlbGVhc2UJPSBzaW5nbGVfcmVsZWFzZSwKKwkud3JpdGUJCT0gamZzX2xvZ2xldmVsX3Byb2Nfd3JpdGUsCit9OwogI2VuZGlmCiAKIHN0YXRpYyBzdHJ1Y3QgewogCWNvbnN0IGNoYXIJKm5hbWU7Ci0JcmVhZF9wcm9jX3QJKnJlYWRfZm47Ci0Jd3JpdGVfcHJvY190CSp3cml0ZV9mbjsKKwljb25zdCBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zICpwcm9jX2ZvcHM7CiB9IEVudHJpZXNbXSA9IHsKICNpZmRlZiBDT05GSUdfSkZTX1NUQVRJU1RJQ1MKLQl7ICJsbXN0YXRzIiwJamZzX2xtc3RhdHNfcmVhZCwgfSwKLQl7ICJ0eHN0YXRzIiwJamZzX3R4c3RhdHNfcmVhZCwgfSwKLQl7ICJ4dHN0YXQiLAlqZnNfeHRzdGF0X3JlYWQsIH0sCi0JeyAibXBzdGF0IiwJamZzX21wc3RhdF9yZWFkLCB9LAorCXsgImxtc3RhdHMiLAkmamZzX2xtc3RhdHNfcHJvY19mb3BzLCB9LAorCXsgInR4c3RhdHMiLAkmamZzX3R4c3RhdHNfcHJvY19mb3BzLCB9LAorCXsgInh0c3RhdCIsCSZqZnNfeHRzdGF0X3Byb2NfZm9wcywgfSwKKwl7ICJtcHN0YXQiLAkmamZzX21wc3RhdF9wcm9jX2ZvcHMsIH0sCiAjZW5kaWYKICNpZmRlZiBDT05GSUdfSkZTX0RFQlVHCi0JeyAiVHhBbmNob3IiLAlqZnNfdHhhbmNob3JfcmVhZCwgfSwKLQl7ICJsb2dsZXZlbCIsCWxvZ2xldmVsX3JlYWQsIGxvZ2xldmVsX3dyaXRlIH0KKwl7ICJUeEFuY2hvciIsCSZqZnNfdHhhbmNob3JfcHJvY19mb3BzLCB9LAorCXsgImxvZ2xldmVsIiwJJmpmc19sb2dsZXZlbF9wcm9jX2ZvcHMgfQogI2VuZGlmCiB9OwogI2RlZmluZSBOUFJPQ0VOVAlBUlJBWV9TSVpFKEVudHJpZXMpCkBAIC05MywxMyArOTIsOCBAQAogCQlyZXR1cm47CiAJYmFzZS0+b3duZXIgPSBUSElTX01PRFVMRTsKIAotCWZvciAoaSA9IDA7IGkgPCBOUFJPQ0VOVDsgaSsrKSB7Ci0JCXN0cnVjdCBwcm9jX2Rpcl9lbnRyeSAqcDsKLQkJaWYgKChwID0gY3JlYXRlX3Byb2NfZW50cnkoRW50cmllc1tpXS5uYW1lLCAwLCBiYXNlKSkpIHsKLQkJCXAtPnJlYWRfcHJvYyA9IEVudHJpZXNbaV0ucmVhZF9mbjsKLQkJCXAtPndyaXRlX3Byb2MgPSBFbnRyaWVzW2ldLndyaXRlX2ZuOwotCQl9Ci0JfQorCWZvciAoaSA9IDA7IGkgPCBOUFJPQ0VOVDsgaSsrKQorCQlwcm9jX2NyZWF0ZShFbnRyaWVzW2ldLm5hbWUsIDAsIGJhc2UsIEVudHJpZXNbaV0ucHJvY19mb3BzKTsKIH0KIAogdm9pZCBqZnNfcHJvY19jbGVhbih2b2lkKQpkaWZmIC0tZ2l0IGEvZnMvamZzL2pmc19kZWJ1Zy5oIGIvZnMvamZzL2pmc19kZWJ1Zy5oCmluZGV4IDA0NGMxZTYuLmVhZmQxMzAgMTAwNjQ0Ci0tLSBhL2ZzL2pmcy9qZnNfZGVidWcuaAorKysgYi9mcy9qZnMvamZzX2RlYnVnLmgKQEAgLTYyLDcgKzYyLDcgQEAKIAogZXh0ZXJuIGludCBqZnNsb2dsZXZlbDsKIAotZXh0ZXJuIGludCBqZnNfdHhhbmNob3JfcmVhZChjaGFyICosIGNoYXIgKiosIG9mZl90LCBpbnQsIGludCAqLCB2b2lkICopOworZXh0ZXJuIGNvbnN0IHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgamZzX3R4YW5jaG9yX3Byb2NfZm9wczsKIAogLyogaW5mb3JtYXRpb24gbWVzc2FnZTogZS5nLiwgY29uZmlndXJhdGlvbiwgbWFqb3IgZXZlbnQgKi8KICNkZWZpbmUgamZzX2luZm8oZm10LCBhcmcuLi4pIGRvIHsJCQlcCkBAIC0xMDUsMTAgKzEwNSwxMCBAQAogICoJLS0tLS0tLS0tLQogICovCiAjaWZkZWYJQ09ORklHX0pGU19TVEFUSVNUSUNTCi1leHRlcm4gaW50IGpmc19sbXN0YXRzX3JlYWQoY2hhciAqLCBjaGFyICoqLCBvZmZfdCwgaW50LCBpbnQgKiwgdm9pZCAqKTsKLWV4dGVybiBpbnQgamZzX3R4c3RhdHNfcmVhZChjaGFyICosIGNoYXIgKiosIG9mZl90LCBpbnQsIGludCAqLCB2b2lkICopOwotZXh0ZXJuIGludCBqZnNfbXBzdGF0X3JlYWQoY2hhciAqLCBjaGFyICoqLCBvZmZfdCwgaW50LCBpbnQgKiwgdm9pZCAqKTsKLWV4dGVybiBpbnQgamZzX3h0c3RhdF9yZWFkKGNoYXIgKiwgY2hhciAqKiwgb2ZmX3QsIGludCwgaW50ICosIHZvaWQgKik7CitleHRlcm4gY29uc3Qgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyBqZnNfbG1zdGF0c19wcm9jX2ZvcHM7CitleHRlcm4gY29uc3Qgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyBqZnNfdHhzdGF0c19wcm9jX2ZvcHM7CitleHRlcm4gY29uc3Qgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyBqZnNfbXBzdGF0X3Byb2NfZm9wczsKK2V4dGVybiBjb25zdCBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zIGpmc194dHN0YXRfcHJvY19mb3BzOwogCiAjZGVmaW5lCUlOQ1JFTUVOVCh4KQkJKCh4KSsrKQogI2RlZmluZQlERUNSRU1FTlQoeCkJCSgoeCktLSkKZGlmZiAtLWdpdCBhL2ZzL2pmcy9qZnNfZHRyZWUuaCBiL2ZzL2pmcy9qZnNfZHRyZWUuaAppbmRleCBjZGFjMmQ1Li4yNTQ1YmIzIDEwMDY0NAotLS0gYS9mcy9qZnMvamZzX2R0cmVlLmgKKysrIGIvZnMvamZzL2pmc19kdHJlZS5oCkBAIC0yNDMsOSArMjQzLDYgQEAKICNkZWZpbmUgSkZTX1JFTU9WRSAzCiAjZGVmaW5lIEpGU19SRU5BTUUgNAogCi0jZGVmaW5lIERJUkVOVFNJWihuYW1sZW4pIFwKLSAgICAoIChzaXplb2Yoc3RydWN0IGRpcmVudCkgLSAyKihKRlNfTkFNRV9NQVgrMSkgKyAyKigobmFtbGVuKSsxKSArIDMpICZ+IDMgKQotCiAvKgogICogTWF4aW11bSBmaWxlIG9mZnNldCBmb3IgZGlyZWN0b3JpZXMuCiAgKi8KZGlmZiAtLWdpdCBhL2ZzL2pmcy9qZnNfaW1hcC5jIGIvZnMvamZzL2pmc19pbWFwLmMKaW5kZXggNzM0ZWM5MS4uZDYzNjNkOCAxMDA2NDQKLS0tIGEvZnMvamZzL2pmc19pbWFwLmMKKysrIGIvZnMvamZzL2pmc19pbWFwLmMKQEAgLTE1MjAsNyArMTUyMCw3IEBACiAJCQkJCWpmc19lcnJvcihpcC0+aV9zYiwKIAkJCQkJCSAgImRpQWxsb2M6IGNhbid0IGZpbmQgZnJlZSBiaXQgIgogCQkJCQkJICAiaW4gd21hcCIpOwotCQkJCQlyZXR1cm4gRUlPOworCQkJCQlyZXR1cm4gLUVJTzsKIAkJCQl9CiAKIAkJCQkvKiBkZXRlcm1pbmUgdGhlIGlub2RlIG51bWJlciB3aXRoaW4gdGhlCmRpZmYgLS1naXQgYS9mcy9qZnMvamZzX2xvZ21nci5jIGIvZnMvamZzL2pmc19sb2dtZ3IuYwppbmRleCAzMjVhOTY3Li5jZDJlYzI5IDEwMDY0NAotLS0gYS9mcy9qZnMvamZzX2xvZ21nci5jCisrKyBiL2ZzL2pmcy9qZnNfbG9nbWdyLmMKQEAgLTY5LDYgKzY5LDcgQEAKICNpbmNsdWRlIDxsaW51eC9mcmVlemVyLmg+CiAjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KICNpbmNsdWRlIDxsaW51eC9tdXRleC5oPgorI2luY2x1ZGUgPGxpbnV4L3NlcV9maWxlLmg+CiAjaW5jbHVkZSAiamZzX2luY29yZS5oIgogI2luY2x1ZGUgImpmc19maWxzeXMuaCIKICNpbmNsdWRlICJqZnNfbWV0YXBhZ2UuaCIKQEAgLTI1MDMsMTMgKzI1MDQsOSBAQAogfQogCiAjaWZkZWYgQ09ORklHX0pGU19TVEFUSVNUSUNTCi1pbnQgamZzX2xtc3RhdHNfcmVhZChjaGFyICpidWZmZXIsIGNoYXIgKipzdGFydCwgb2ZmX3Qgb2Zmc2V0LCBpbnQgbGVuZ3RoLAotCQkgICAgICBpbnQgKmVvZiwgdm9pZCAqZGF0YSkKK3N0YXRpYyBpbnQgamZzX2xtc3RhdHNfcHJvY19zaG93KHN0cnVjdCBzZXFfZmlsZSAqbSwgdm9pZCAqdikKIHsKLQlpbnQgbGVuID0gMDsKLQlvZmZfdCBiZWdpbjsKLQotCWxlbiArPSBzcHJpbnRmKGJ1ZmZlciwKKwlzZXFfcHJpbnRmKG0sCiAJCSAgICAgICAiSkZTIExvZ21nciBzdGF0c1xuIgogCQkgICAgICAgIj09PT09PT09PT09PT09PT1cbiIKIAkJICAgICAgICJjb21taXRzID0gJWRcbiIKQEAgLTI1MjIsMTkgKzI1MTksMTkgQEAKIAkJICAgICAgIGxtU3RhdC5wYWdlZG9uZSwKIAkJICAgICAgIGxtU3RhdC5mdWxsX3BhZ2UsCiAJCSAgICAgICBsbVN0YXQucGFydGlhbF9wYWdlKTsKLQotCWJlZ2luID0gb2Zmc2V0OwotCSpzdGFydCA9IGJ1ZmZlciArIGJlZ2luOwotCWxlbiAtPSBiZWdpbjsKLQotCWlmIChsZW4gPiBsZW5ndGgpCi0JCWxlbiA9IGxlbmd0aDsKLQllbHNlCi0JCSplb2YgPSAxOwotCi0JaWYgKGxlbiA8IDApCi0JCWxlbiA9IDA7Ci0KLQlyZXR1cm4gbGVuOworCXJldHVybiAwOwogfQorCitzdGF0aWMgaW50IGpmc19sbXN0YXRzX3Byb2Nfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKK3sKKwlyZXR1cm4gc2luZ2xlX29wZW4oZmlsZSwgamZzX2xtc3RhdHNfcHJvY19zaG93LCBOVUxMKTsKK30KKworY29uc3Qgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyBqZnNfbG1zdGF0c19wcm9jX2ZvcHMgPSB7CisJLm93bmVyCQk9IFRISVNfTU9EVUxFLAorCS5vcGVuCQk9IGpmc19sbXN0YXRzX3Byb2Nfb3BlbiwKKwkucmVhZAkJPSBzZXFfcmVhZCwKKwkubGxzZWVrCQk9IHNlcV9sc2VlaywKKwkucmVsZWFzZQk9IHNpbmdsZV9yZWxlYXNlLAorfTsKICNlbmRpZiAvKiBDT05GSUdfSkZTX1NUQVRJU1RJQ1MgKi8KZGlmZiAtLWdpdCBhL2ZzL2pmcy9qZnNfbWV0YXBhZ2UuYyBiL2ZzL2pmcy9qZnNfbWV0YXBhZ2UuYwppbmRleCBkMWU2NGYyLi44NTRmZjBlIDEwMDY0NAotLS0gYS9mcy9qZnMvamZzX21ldGFwYWdlLmMKKysrIGIvZnMvamZzL2pmc19tZXRhcGFnZS5jCkBAIC0xOSwxMCArMTksMTIgQEAKIAogI2luY2x1ZGUgPGxpbnV4L2ZzLmg+CiAjaW5jbHVkZSA8bGludXgvbW0uaD4KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KICNpbmNsdWRlIDxsaW51eC9iaW8uaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAjaW5jbHVkZSA8bGludXgvYnVmZmVyX2hlYWQuaD4KICNpbmNsdWRlIDxsaW51eC9tZW1wb29sLmg+CisjaW5jbHVkZSA8bGludXgvc2VxX2ZpbGUuaD4KICNpbmNsdWRlICJqZnNfaW5jb3JlLmgiCiAjaW5jbHVkZSAiamZzX3N1cGVyYmxvY2suaCIKICNpbmNsdWRlICJqZnNfZmlsc3lzLmgiCkBAIC04MDQsMTMgKzgwNiw5IEBACiB9CiAKICNpZmRlZiBDT05GSUdfSkZTX1NUQVRJU1RJQ1MKLWludCBqZnNfbXBzdGF0X3JlYWQoY2hhciAqYnVmZmVyLCBjaGFyICoqc3RhcnQsIG9mZl90IG9mZnNldCwgaW50IGxlbmd0aCwKLQkJICAgIGludCAqZW9mLCB2b2lkICpkYXRhKQorc3RhdGljIGludCBqZnNfbXBzdGF0X3Byb2Nfc2hvdyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHZvaWQgKnYpCiB7Ci0JaW50IGxlbiA9IDA7Ci0Jb2ZmX3QgYmVnaW47Ci0KLQlsZW4gKz0gc3ByaW50ZihidWZmZXIsCisJc2VxX3ByaW50ZihtLAogCQkgICAgICAgIkpGUyBNZXRhcGFnZSBzdGF0aXN0aWNzXG4iCiAJCSAgICAgICAiPT09PT09PT09PT09PT09PT09PT09PT1cbiIKIAkJICAgICAgICJwYWdlIGFsbG9jYXRpb25zID0gJWRcbiIKQEAgLTgxOSwxOSArODE3LDE5IEBACiAJCSAgICAgICBtcFN0YXQucGFnZWFsbG9jLAogCQkgICAgICAgbXBTdGF0LnBhZ2VmcmVlLAogCQkgICAgICAgbXBTdGF0LmxvY2t3YWl0KTsKLQotCWJlZ2luID0gb2Zmc2V0OwotCSpzdGFydCA9IGJ1ZmZlciArIGJlZ2luOwotCWxlbiAtPSBiZWdpbjsKLQotCWlmIChsZW4gPiBsZW5ndGgpCi0JCWxlbiA9IGxlbmd0aDsKLQllbHNlCi0JCSplb2YgPSAxOwotCi0JaWYgKGxlbiA8IDApCi0JCWxlbiA9IDA7Ci0KLQlyZXR1cm4gbGVuOworCXJldHVybiAwOwogfQorCitzdGF0aWMgaW50IGpmc19tcHN0YXRfcHJvY19vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQoreworCXJldHVybiBzaW5nbGVfb3BlbihmaWxlLCBqZnNfbXBzdGF0X3Byb2Nfc2hvdywgTlVMTCk7Cit9CisKK2NvbnN0IHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgamZzX21wc3RhdF9wcm9jX2ZvcHMgPSB7CisJLm93bmVyCQk9IFRISVNfTU9EVUxFLAorCS5vcGVuCQk9IGpmc19tcHN0YXRfcHJvY19vcGVuLAorCS5yZWFkCQk9IHNlcV9yZWFkLAorCS5sbHNlZWsJCT0gc2VxX2xzZWVrLAorCS5yZWxlYXNlCT0gc2luZ2xlX3JlbGVhc2UsCit9OwogI2VuZGlmCmRpZmYgLS1naXQgYS9mcy9qZnMvamZzX3R4bm1nci5jIGIvZnMvamZzL2pmc190eG5tZ3IuYwppbmRleCBlN2M2MGFlLi5mMjZlNGQwIDEwMDY0NAotLS0gYS9mcy9qZnMvamZzX3R4bm1nci5jCisrKyBiL2ZzL2pmcy9qZnNfdHhubWdyLmMKQEAgLTQ5LDYgKzQ5LDcgQEAKICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KICNpbmNsdWRlIDxsaW51eC9tb2R1bGVwYXJhbS5oPgogI2luY2x1ZGUgPGxpbnV4L2t0aHJlYWQuaD4KKyNpbmNsdWRlIDxsaW51eC9zZXFfZmlsZS5oPgogI2luY2x1ZGUgImpmc19pbmNvcmUuaCIKICNpbmNsdWRlICJqZnNfaW5vZGUuaCIKICNpbmNsdWRlICJqZnNfZmlsc3lzLmgiCkBAIC0zMDA5LDExICszMDEwLDggQEAKIH0KIAogI2lmIGRlZmluZWQoQ09ORklHX1BST0NfRlMpICYmIGRlZmluZWQoQ09ORklHX0pGU19ERUJVRykKLWludCBqZnNfdHhhbmNob3JfcmVhZChjaGFyICpidWZmZXIsIGNoYXIgKipzdGFydCwgb2ZmX3Qgb2Zmc2V0LCBpbnQgbGVuZ3RoLAotCQkgICAgICBpbnQgKmVvZiwgdm9pZCAqZGF0YSkKK3N0YXRpYyBpbnQgamZzX3R4YW5jaG9yX3Byb2Nfc2hvdyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHZvaWQgKnYpCiB7Ci0JaW50IGxlbiA9IDA7Ci0Jb2ZmX3QgYmVnaW47CiAJY2hhciAqZnJlZXdhaXQ7CiAJY2hhciAqZnJlZWxvY2t3YWl0OwogCWNoYXIgKmxvd2xvY2t3YWl0OwpAQCAtMzAyNSw3ICszMDIzLDcgQEAKIAlsb3dsb2Nrd2FpdCA9CiAJICAgIHdhaXRxdWV1ZV9hY3RpdmUoJlR4QW5jaG9yLmxvd2xvY2t3YWl0KSA/ICJhY3RpdmUiIDogImVtcHR5IjsKIAotCWxlbiArPSBzcHJpbnRmKGJ1ZmZlciwKKwlzZXFfcHJpbnRmKG0sCiAJCSAgICAgICAiSkZTIFR4QW5jaG9yXG4iCiAJCSAgICAgICAiPT09PT09PT09PT09XG4iCiAJCSAgICAgICAiZnJlZXRpZCA9ICVkXG4iCkBAIC0zMDQ0LDMxICszMDQyLDI3IEBACiAJCSAgICAgICBUeEFuY2hvci50bG9ja3NJblVzZSwKIAkJICAgICAgIGpmc190bG9ja3NfbG93LAogCQkgICAgICAgbGlzdF9lbXB0eSgmVHhBbmNob3IudW5sb2NrX3F1ZXVlKSA/ICIiIDogIm5vdCAiKTsKLQotCWJlZ2luID0gb2Zmc2V0OwotCSpzdGFydCA9IGJ1ZmZlciArIGJlZ2luOwotCWxlbiAtPSBiZWdpbjsKLQotCWlmIChsZW4gPiBsZW5ndGgpCi0JCWxlbiA9IGxlbmd0aDsKLQllbHNlCi0JCSplb2YgPSAxOwotCi0JaWYgKGxlbiA8IDApCi0JCWxlbiA9IDA7Ci0KLQlyZXR1cm4gbGVuOworCXJldHVybiAwOwogfQorCitzdGF0aWMgaW50IGpmc190eGFuY2hvcl9wcm9jX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCit7CisJcmV0dXJuIHNpbmdsZV9vcGVuKGZpbGUsIGpmc190eGFuY2hvcl9wcm9jX3Nob3csIE5VTEwpOworfQorCitjb25zdCBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zIGpmc190eGFuY2hvcl9wcm9jX2ZvcHMgPSB7CisJLm93bmVyCQk9IFRISVNfTU9EVUxFLAorCS5vcGVuCQk9IGpmc190eGFuY2hvcl9wcm9jX29wZW4sCisJLnJlYWQJCT0gc2VxX3JlYWQsCisJLmxsc2VlawkJPSBzZXFfbHNlZWssCisJLnJlbGVhc2UJPSBzaW5nbGVfcmVsZWFzZSwKK307CiAjZW5kaWYKIAogI2lmIGRlZmluZWQoQ09ORklHX1BST0NfRlMpICYmIGRlZmluZWQoQ09ORklHX0pGU19TVEFUSVNUSUNTKQotaW50IGpmc190eHN0YXRzX3JlYWQoY2hhciAqYnVmZmVyLCBjaGFyICoqc3RhcnQsIG9mZl90IG9mZnNldCwgaW50IGxlbmd0aCwKLQkJICAgICBpbnQgKmVvZiwgdm9pZCAqZGF0YSkKK3N0YXRpYyBpbnQgamZzX3R4c3RhdHNfcHJvY19zaG93KHN0cnVjdCBzZXFfZmlsZSAqbSwgdm9pZCAqdikKIHsKLQlpbnQgbGVuID0gMDsKLQlvZmZfdCBiZWdpbjsKLQotCWxlbiArPSBzcHJpbnRmKGJ1ZmZlciwKKwlzZXFfcHJpbnRmKG0sCiAJCSAgICAgICAiSkZTIFR4U3RhdHNcbiIKIAkJICAgICAgICI9PT09PT09PT09PVxuIgogCQkgICAgICAgImNhbGxzIHRvIHR4QmVnaW4gPSAlZFxuIgpAQCAtMzA4OSwxOSArMzA4MywxOSBAQAogCQkgICAgICAgVHhTdGF0LnR4QmVnaW5Bbm9uX2xvY2tzbG93LAogCQkgICAgICAgVHhTdGF0LnR4TG9ja0FsbG9jLAogCQkgICAgICAgVHhTdGF0LnR4TG9ja0FsbG9jX2ZyZWVsb2NrKTsKLQotCWJlZ2luID0gb2Zmc2V0OwotCSpzdGFydCA9IGJ1ZmZlciArIGJlZ2luOwotCWxlbiAtPSBiZWdpbjsKLQotCWlmIChsZW4gPiBsZW5ndGgpCi0JCWxlbiA9IGxlbmd0aDsKLQllbHNlCi0JCSplb2YgPSAxOwotCi0JaWYgKGxlbiA8IDApCi0JCWxlbiA9IDA7Ci0KLQlyZXR1cm4gbGVuOworCXJldHVybiAwOwogfQorCitzdGF0aWMgaW50IGpmc190eHN0YXRzX3Byb2Nfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKK3sKKwlyZXR1cm4gc2luZ2xlX29wZW4oZmlsZSwgamZzX3R4c3RhdHNfcHJvY19zaG93LCBOVUxMKTsKK30KKworY29uc3Qgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyBqZnNfdHhzdGF0c19wcm9jX2ZvcHMgPSB7CisJLm93bmVyCQk9IFRISVNfTU9EVUxFLAorCS5vcGVuCQk9IGpmc190eHN0YXRzX3Byb2Nfb3BlbiwKKwkucmVhZAkJPSBzZXFfcmVhZCwKKwkubGxzZWVrCQk9IHNlcV9sc2VlaywKKwkucmVsZWFzZQk9IHNpbmdsZV9yZWxlYXNlLAorfTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvZnMvamZzL2pmc194dHJlZS5jIGIvZnMvamZzL2pmc194dHJlZS5jCmluZGV4IDVhNjFlYmYuLmFlM2FjYWYgMTAwNjQ0Ci0tLSBhL2ZzL2pmcy9qZnNfeHRyZWUuYworKysgYi9mcy9qZnMvamZzX3h0cmVlLmMKQEAgLTIwLDcgKzIwLDkgQEAKICAqLwogCiAjaW5jbHVkZSA8bGludXgvZnMuaD4KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KICNpbmNsdWRlIDxsaW51eC9xdW90YW9wcy5oPgorI2luY2x1ZGUgPGxpbnV4L3NlcV9maWxlLmg+CiAjaW5jbHVkZSAiamZzX2luY29yZS5oIgogI2luY2x1ZGUgImpmc19maWxzeXMuaCIKICNpbmNsdWRlICJqZnNfbWV0YXBhZ2UuaCIKQEAgLTQxMzQsMTMgKzQxMzYsOSBAQAogfQogCiAjaWZkZWYgQ09ORklHX0pGU19TVEFUSVNUSUNTCi1pbnQgamZzX3h0c3RhdF9yZWFkKGNoYXIgKmJ1ZmZlciwgY2hhciAqKnN0YXJ0LCBvZmZfdCBvZmZzZXQsIGludCBsZW5ndGgsCi0JCSAgICBpbnQgKmVvZiwgdm9pZCAqZGF0YSkKK3N0YXRpYyBpbnQgamZzX3h0c3RhdF9wcm9jX3Nob3coc3RydWN0IHNlcV9maWxlICptLCB2b2lkICp2KQogewotCWludCBsZW4gPSAwOwotCW9mZl90IGJlZ2luOwotCi0JbGVuICs9IHNwcmludGYoYnVmZmVyLAorCXNlcV9wcmludGYobSwKIAkJICAgICAgICJKRlMgWHRyZWUgc3RhdGlzdGljc1xuIgogCQkgICAgICAgIj09PT09PT09PT09PT09PT09PT09XG4iCiAJCSAgICAgICAic2VhcmNoZXMgPSAlZFxuIgpAQCAtNDE0OSwxOSArNDE0NywxOSBAQAogCQkgICAgICAgeHRTdGF0LnNlYXJjaCwKIAkJICAgICAgIHh0U3RhdC5mYXN0U2VhcmNoLAogCQkgICAgICAgeHRTdGF0LnNwbGl0KTsKLQotCWJlZ2luID0gb2Zmc2V0OwotCSpzdGFydCA9IGJ1ZmZlciArIGJlZ2luOwotCWxlbiAtPSBiZWdpbjsKLQotCWlmIChsZW4gPiBsZW5ndGgpCi0JCWxlbiA9IGxlbmd0aDsKLQllbHNlCi0JCSplb2YgPSAxOwotCi0JaWYgKGxlbiA8IDApCi0JCWxlbiA9IDA7Ci0KLQlyZXR1cm4gbGVuOworCXJldHVybiAwOwogfQorCitzdGF0aWMgaW50IGpmc194dHN0YXRfcHJvY19vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQoreworCXJldHVybiBzaW5nbGVfb3BlbihmaWxlLCBqZnNfeHRzdGF0X3Byb2Nfc2hvdywgTlVMTCk7Cit9CisKK2NvbnN0IHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgamZzX3h0c3RhdF9wcm9jX2ZvcHMgPSB7CisJLm93bmVyCQk9IFRISVNfTU9EVUxFLAorCS5vcGVuCQk9IGpmc194dHN0YXRfcHJvY19vcGVuLAorCS5yZWFkCQk9IHNlcV9yZWFkLAorCS5sbHNlZWsJCT0gc2VxX2xzZWVrLAorCS5yZWxlYXNlCT0gc2luZ2xlX3JlbGVhc2UsCit9OwogI2VuZGlmCmRpZmYgLS1naXQgYS9mcy9qZnMvbmFtZWkuYyBiL2ZzL2pmcy9uYW1laS5jCmluZGV4IDBiYTY3NzguLjJhYmE4MjMgMTAwNjQ0Ci0tLSBhL2ZzL2pmcy9uYW1laS5jCisrKyBiL2ZzL2pmcy9uYW1laS5jCkBAIC0xNDU1LDcgKzE0NTUsNyBAQAogCQlmcmVlX1VDU25hbWUoJmtleSk7CiAJCWlmIChyYyA9PSAtRU5PRU5UKSB7CiAJCQlkX2FkZChkZW50cnksIE5VTEwpOwotCQkJcmV0dXJuIEVSUl9QVFIoMCk7CisJCQlyZXR1cm4gTlVMTDsKIAkJfSBlbHNlIGlmIChyYykgewogCQkJamZzX2VycigiamZzX2xvb2t1cDogZHRTZWFyY2ggcmV0dXJuZWQgJWQiLCByYyk7CiAJCQlyZXR1cm4gRVJSX1BUUihyYyk7CmRpZmYgLS1naXQgYS9mcy9qZnMvc3VwZXIuYyBiL2ZzL2pmcy9zdXBlci5jCmluZGV4IDUwZWE2NTQuLjAyODhlNmQgMTAwNjQ0Ci0tLSBhL2ZzL2pmcy9zdXBlci5jCisrKyBiL2ZzL2pmcy9zdXBlci5jCkBAIC00OTksNyArNDk5LDcgQEAKIAlpbm9kZSA9IGpmc19pZ2V0KHNiLCBST09UX0kpOwogCWlmIChJU19FUlIoaW5vZGUpKSB7CiAJCXJldCA9IFBUUl9FUlIoaW5vZGUpOwotCQlnb3RvIG91dF9ub19yb290OworCQlnb3RvIG91dF9ub19ydzsKIAl9CiAJc2ItPnNfcm9vdCA9IGRfYWxsb2Nfcm9vdChpbm9kZSk7CiAJaWYgKCFzYi0+c19yb290KQpAQCAtNTIxLDkgKzUyMSw4IEBACiAJcmV0dXJuIDA7CiAKIG91dF9ub19yb290OgotCWpmc19lcnIoImpmc19yZWFkX3N1cGVyOiBnZXQgcm9vdCBpbm9kZSBmYWlsZWQiKTsKLQlpZiAoaW5vZGUpCi0JCWlwdXQoaW5vZGUpOworCWpmc19lcnIoImpmc19yZWFkX3N1cGVyOiBnZXQgcm9vdCBkZW50cnkgZmFpbGVkIik7CisJaXB1dChpbm9kZSk7CiAKIG91dF9ub19ydzoKIAlyYyA9IGpmc191bW91bnQoc2IpOwpkaWZmIC0tZ2l0IGEvZnMvbXBhZ2UuYyBiL2ZzL21wYWdlLmMKaW5kZXggMjM1ZTRkMy4uZGJjYzdhZiAxMDA2NDQKLS0tIGEvZnMvbXBhZ2UuYworKysgYi9mcy9tcGFnZS5jCkBAIC04Miw3ICs4Miw3IEBACiAJYmlvX3B1dChiaW8pOwogfQogCi1zdGF0aWMgc3RydWN0IGJpbyAqbXBhZ2VfYmlvX3N1Ym1pdChpbnQgcncsIHN0cnVjdCBiaW8gKmJpbykKK3N0cnVjdCBiaW8gKm1wYWdlX2Jpb19zdWJtaXQoaW50IHJ3LCBzdHJ1Y3QgYmlvICpiaW8pCiB7CiAJYmlvLT5iaV9lbmRfaW8gPSBtcGFnZV9lbmRfaW9fcmVhZDsKIAlpZiAocncgPT0gV1JJVEUpCkBAIC05MCw2ICs5MCw3IEBACiAJc3VibWl0X2JpbyhydywgYmlvKTsKIAlyZXR1cm4gTlVMTDsKIH0KK0VYUE9SVF9TWU1CT0wobXBhZ2VfYmlvX3N1Ym1pdCk7CiAKIHN0YXRpYyBzdHJ1Y3QgYmlvICoKIG1wYWdlX2FsbG9jKHN0cnVjdCBibG9ja19kZXZpY2UgKmJkZXYsCkBAIC00MzUsMTUgKzQzNiw5IEBACiAgKiB3cml0dGVuLCBzbyBpdCBjYW4gaW50ZWxsaWdlbnRseSBhbGxvY2F0ZSBhIHN1aXRhYmx5LXNpemVkIEJJTy4gIEZvciBub3csCiAgKiBqdXN0IGFsbG9jYXRlIGZ1bGwtc2l6ZSAoMTYtcGFnZSkgQklPcy4KICAqLwotc3RydWN0IG1wYWdlX2RhdGEgewotCXN0cnVjdCBiaW8gKmJpbzsKLQlzZWN0b3JfdCBsYXN0X2Jsb2NrX2luX2JpbzsKLQlnZXRfYmxvY2tfdCAqZ2V0X2Jsb2NrOwotCXVuc2lnbmVkIHVzZV93cml0ZXBhZ2U7Ci19OwogCi1zdGF0aWMgaW50IF9fbXBhZ2Vfd3JpdGVwYWdlKHN0cnVjdCBwYWdlICpwYWdlLCBzdHJ1Y3Qgd3JpdGViYWNrX2NvbnRyb2wgKndiYywKLQkJCSAgICAgdm9pZCAqZGF0YSkKK2ludCBfX21wYWdlX3dyaXRlcGFnZShzdHJ1Y3QgcGFnZSAqcGFnZSwgc3RydWN0IHdyaXRlYmFja19jb250cm9sICp3YmMsCisJCSAgICAgIHZvaWQgKmRhdGEpCiB7CiAJc3RydWN0IG1wYWdlX2RhdGEgKm1wZCA9IGRhdGE7CiAJc3RydWN0IGJpbyAqYmlvID0gbXBkLT5iaW87CkBAIC02NTEsNiArNjQ2LDcgQEAKIAltcGQtPmJpbyA9IGJpbzsKIAlyZXR1cm4gcmV0OwogfQorRVhQT1JUX1NZTUJPTChfX21wYWdlX3dyaXRlcGFnZSk7CiAKIC8qKgogICogbXBhZ2Vfd3JpdGVwYWdlcyAtIHdhbGsgdGhlIGxpc3Qgb2YgZGlydHkgcGFnZXMgb2YgdGhlIGdpdmVuIGFkZHJlc3Mgc3BhY2UgJiB3cml0ZXBhZ2UoKSBhbGwgb2YgdGhlbQpkaWZmIC0tZ2l0IGEvZnMvbXNkb3MvbmFtZWkuYyBiL2ZzL21zZG9zL25hbWVpLmMKaW5kZXggMDVmZjRmMS4uMWY3ZjI5NSAxMDA2NDQKLS0tIGEvZnMvbXNkb3MvbmFtZWkuYworKysgYi9mcy9tc2Rvcy9uYW1laS5jCkBAIC0yMTQsNyArMjE0LDcgQEAKIAogCWRlbnRyeS0+ZF9vcCA9ICZtc2Rvc19kZW50cnlfb3BlcmF0aW9uczsKIAotCWxvY2tfa2VybmVsKCk7CisJbG9ja19zdXBlcihzYik7CiAJcmVzID0gbXNkb3NfZmluZChkaXIsIGRlbnRyeS0+ZF9uYW1lLm5hbWUsIGRlbnRyeS0+ZF9uYW1lLmxlbiwgJnNpbmZvKTsKIAlpZiAocmVzID09IC1FTk9FTlQpCiAJCWdvdG8gYWRkOwpAQCAtMjMyLDcgKzIzMiw3IEBACiAJaWYgKGRlbnRyeSkKIAkJZGVudHJ5LT5kX29wID0gJm1zZG9zX2RlbnRyeV9vcGVyYXRpb25zOwogb3V0OgotCXVubG9ja19rZXJuZWwoKTsKKwl1bmxvY2tfc3VwZXIoc2IpOwogCWlmICghcmVzKQogCQlyZXR1cm4gZGVudHJ5OwogCXJldHVybiBFUlJfUFRSKHJlcyk7CkBAIC0yODYsNyArMjg2LDcgQEAKIAl1bnNpZ25lZCBjaGFyIG1zZG9zX25hbWVbTVNET1NfTkFNRV07CiAJaW50IGVyciwgaXNfaGlkOwogCi0JbG9ja19rZXJuZWwoKTsKKwlsb2NrX3N1cGVyKHNiKTsKIAogCWVyciA9IG1zZG9zX2Zvcm1hdF9uYW1lKGRlbnRyeS0+ZF9uYW1lLm5hbWUsIGRlbnRyeS0+ZF9uYW1lLmxlbiwKIAkJCQltc2Rvc19uYW1lLCAmTVNET1NfU0Ioc2IpLT5vcHRpb25zKTsKQEAgLTMxNSw3ICszMTUsNyBAQAogCiAJZF9pbnN0YW50aWF0ZShkZW50cnksIGlub2RlKTsKIG91dDoKLQl1bmxvY2tfa2VybmVsKCk7CisJdW5sb2NrX3N1cGVyKHNiKTsKIAlpZiAoIWVycikKIAkJZXJyID0gZmF0X2ZsdXNoX2lub2RlcyhzYiwgZGlyLCBpbm9kZSk7CiAJcmV0dXJuIGVycjsKQEAgLTMyNCwxMSArMzI0LDEyIEBACiAvKioqKiogUmVtb3ZlIGEgZGlyZWN0b3J5ICovCiBzdGF0aWMgaW50IG1zZG9zX3JtZGlyKHN0cnVjdCBpbm9kZSAqZGlyLCBzdHJ1Y3QgZGVudHJ5ICpkZW50cnkpCiB7CisJc3RydWN0IHN1cGVyX2Jsb2NrICpzYiA9IGRpci0+aV9zYjsKIAlzdHJ1Y3QgaW5vZGUgKmlub2RlID0gZGVudHJ5LT5kX2lub2RlOwogCXN0cnVjdCBmYXRfc2xvdF9pbmZvIHNpbmZvOwogCWludCBlcnI7CiAKLQlsb2NrX2tlcm5lbCgpOworCWxvY2tfc3VwZXIoc2IpOwogCS8qCiAJICogQ2hlY2sgd2hldGhlciB0aGUgZGlyZWN0b3J5IGlzIG5vdCBpbiB1c2UsIHRoZW4gY2hlY2sKIAkgKiB3aGV0aGVyIGl0IGlzIGVtcHR5LgpAQCAtMzQ5LDkgKzM1MCw5IEBACiAJaW5vZGUtPmlfY3RpbWUgPSBDVVJSRU5UX1RJTUVfU0VDOwogCWZhdF9kZXRhY2goaW5vZGUpOwogb3V0OgotCXVubG9ja19rZXJuZWwoKTsKKwl1bmxvY2tfc3VwZXIoc2IpOwogCWlmICghZXJyKQotCQllcnIgPSBmYXRfZmx1c2hfaW5vZGVzKGlub2RlLT5pX3NiLCBkaXIsIGlub2RlKTsKKwkJZXJyID0gZmF0X2ZsdXNoX2lub2RlcyhzYiwgZGlyLCBpbm9kZSk7CiAKIAlyZXR1cm4gZXJyOwogfQpAQCAtMzY2LDcgKzM2Nyw3IEBACiAJc3RydWN0IHRpbWVzcGVjIHRzOwogCWludCBlcnIsIGlzX2hpZCwgY2x1c3RlcjsKIAotCWxvY2tfa2VybmVsKCk7CisJbG9ja19zdXBlcihzYik7CiAKIAllcnIgPSBtc2Rvc19mb3JtYXRfbmFtZShkZW50cnktPmRfbmFtZS5uYW1lLCBkZW50cnktPmRfbmFtZS5sZW4sCiAJCQkJbXNkb3NfbmFtZSwgJk1TRE9TX1NCKHNiKS0+b3B0aW9ucyk7CkBAIC00MDQsMTQgKzQwNSwxNCBAQAogCiAJZF9pbnN0YW50aWF0ZShkZW50cnksIGlub2RlKTsKIAotCXVubG9ja19rZXJuZWwoKTsKKwl1bmxvY2tfc3VwZXIoc2IpOwogCWZhdF9mbHVzaF9pbm9kZXMoc2IsIGRpciwgaW5vZGUpOwogCXJldHVybiAwOwogCiBvdXRfZnJlZToKIAlmYXRfZnJlZV9jbHVzdGVycyhkaXIsIGNsdXN0ZXIpOwogb3V0OgotCXVubG9ja19rZXJuZWwoKTsKKwl1bmxvY2tfc3VwZXIoc2IpOwogCXJldHVybiBlcnI7CiB9CiAKQEAgLTQxOSwxMCArNDIwLDExIEBACiBzdGF0aWMgaW50IG1zZG9zX3VubGluayhzdHJ1Y3QgaW5vZGUgKmRpciwgc3RydWN0IGRlbnRyeSAqZGVudHJ5KQogewogCXN0cnVjdCBpbm9kZSAqaW5vZGUgPSBkZW50cnktPmRfaW5vZGU7CisJc3RydWN0IHN1cGVyX2Jsb2NrICpzYj0gaW5vZGUtPmlfc2I7CiAJc3RydWN0IGZhdF9zbG90X2luZm8gc2luZm87CiAJaW50IGVycjsKIAotCWxvY2tfa2VybmVsKCk7CisJbG9ja19zdXBlcihzYik7CiAJZXJyID0gbXNkb3NfZmluZChkaXIsIGRlbnRyeS0+ZF9uYW1lLm5hbWUsIGRlbnRyeS0+ZF9uYW1lLmxlbiwgJnNpbmZvKTsKIAlpZiAoZXJyKQogCQlnb3RvIG91dDsKQEAgLTQzNCw5ICs0MzYsOSBAQAogCWlub2RlLT5pX2N0aW1lID0gQ1VSUkVOVF9USU1FX1NFQzsKIAlmYXRfZGV0YWNoKGlub2RlKTsKIG91dDoKLQl1bmxvY2tfa2VybmVsKCk7CisJdW5sb2NrX3N1cGVyKHNiKTsKIAlpZiAoIWVycikKLQkJZXJyID0gZmF0X2ZsdXNoX2lub2Rlcyhpbm9kZS0+aV9zYiwgZGlyLCBpbm9kZSk7CisJCWVyciA9IGZhdF9mbHVzaF9pbm9kZXMoc2IsIGRpciwgaW5vZGUpOwogCiAJcmV0dXJuIGVycjsKIH0KQEAgLTYxOCwxMCArNjIwLDExIEBACiBzdGF0aWMgaW50IG1zZG9zX3JlbmFtZShzdHJ1Y3QgaW5vZGUgKm9sZF9kaXIsIHN0cnVjdCBkZW50cnkgKm9sZF9kZW50cnksCiAJCQlzdHJ1Y3QgaW5vZGUgKm5ld19kaXIsIHN0cnVjdCBkZW50cnkgKm5ld19kZW50cnkpCiB7CisJc3RydWN0IHN1cGVyX2Jsb2NrICpzYiA9IG9sZF9kaXItPmlfc2I7CiAJdW5zaWduZWQgY2hhciBvbGRfbXNkb3NfbmFtZVtNU0RPU19OQU1FXSwgbmV3X21zZG9zX25hbWVbTVNET1NfTkFNRV07CiAJaW50IGVyciwgaXNfaGlkOwogCi0JbG9ja19rZXJuZWwoKTsKKwlsb2NrX3N1cGVyKHNiKTsKIAogCWVyciA9IG1zZG9zX2Zvcm1hdF9uYW1lKG9sZF9kZW50cnktPmRfbmFtZS5uYW1lLAogCQkJCW9sZF9kZW50cnktPmRfbmFtZS5sZW4sIG9sZF9tc2Rvc19uYW1lLApAQCAtNjQwLDkgKzY0Myw5IEBACiAJZXJyID0gZG9fbXNkb3NfcmVuYW1lKG9sZF9kaXIsIG9sZF9tc2Rvc19uYW1lLCBvbGRfZGVudHJ5LAogCQkJICAgICAgbmV3X2RpciwgbmV3X21zZG9zX25hbWUsIG5ld19kZW50cnksIGlzX2hpZCk7CiBvdXQ6Ci0JdW5sb2NrX2tlcm5lbCgpOworCXVubG9ja19zdXBlcihzYik7CiAJaWYgKCFlcnIpCi0JCWVyciA9IGZhdF9mbHVzaF9pbm9kZXMob2xkX2Rpci0+aV9zYiwgb2xkX2RpciwgbmV3X2Rpcik7CisJCWVyciA9IGZhdF9mbHVzaF9pbm9kZXMoc2IsIG9sZF9kaXIsIG5ld19kaXIpOwogCXJldHVybiBlcnI7CiB9CiAKZGlmZiAtLWdpdCBhL2ZzL25hbWVzcGFjZS5jIGIvZnMvbmFtZXNwYWNlLmMKaW5kZXggNGZjMzAyYy4uNGY2Zjc2MyAxMDA2NDQKLS0tIGEvZnMvbmFtZXNwYWNlLmMKKysrIGIvZnMvbmFtZXNwYWNlLmMKQEAgLTc1MCw3ICs3NTAsNyBAQAogCWNvbnN0IGNoYXIgKnN0cjsKIH07CiAKLXN0YXRpYyB2b2lkIHNob3dfc2Jfb3B0cyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHN0cnVjdCBzdXBlcl9ibG9jayAqc2IpCitzdGF0aWMgaW50IHNob3dfc2Jfb3B0cyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHN0cnVjdCBzdXBlcl9ibG9jayAqc2IpCiB7CiAJc3RhdGljIGNvbnN0IHN0cnVjdCBwcm9jX2ZzX2luZm8gZnNfaW5mb1tdID0gewogCQl7IE1TX1NZTkNIUk9OT1VTLCAiLHN5bmMiIH0sCkBAIC03NjQsNiArNzY0LDggQEAKIAkJaWYgKHNiLT5zX2ZsYWdzICYgZnNfaW5mb3AtPmZsYWcpCiAJCQlzZXFfcHV0cyhtLCBmc19pbmZvcC0+c3RyKTsKIAl9CisKKwlyZXR1cm4gc2VjdXJpdHlfc2Jfc2hvd19vcHRpb25zKG0sIHNiKTsKIH0KIAogc3RhdGljIHZvaWQgc2hvd19tbnRfb3B0cyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHN0cnVjdCB2ZnNtb3VudCAqbW50KQpAQCAtODA2LDExICs4MDgsMTQgQEAKIAlzZXFfcHV0YyhtLCAnICcpOwogCXNob3dfdHlwZShtLCBtbnQtPm1udF9zYik7CiAJc2VxX3B1dHMobSwgX19tbnRfaXNfcmVhZG9ubHkobW50KSA/ICIgcm8iIDogIiBydyIpOwotCXNob3dfc2Jfb3B0cyhtLCBtbnQtPm1udF9zYik7CisJZXJyID0gc2hvd19zYl9vcHRzKG0sIG1udC0+bW50X3NiKTsKKwlpZiAoZXJyKQorCQlnb3RvIG91dDsKIAlzaG93X21udF9vcHRzKG0sIG1udCk7CiAJaWYgKG1udC0+bW50X3NiLT5zX29wLT5zaG93X29wdGlvbnMpCiAJCWVyciA9IG1udC0+bW50X3NiLT5zX29wLT5zaG93X29wdGlvbnMobSwgbW50KTsKIAlzZXFfcHV0cyhtLCAiIDAgMFxuIik7CitvdXQ6CiAJcmV0dXJuIGVycjsKIH0KIApAQCAtODY1LDEwICs4NzAsMTMgQEAKIAlzZXFfcHV0YyhtLCAnICcpOwogCW1hbmdsZShtLCBtbnQtPm1udF9kZXZuYW1lID8gbW50LT5tbnRfZGV2bmFtZSA6ICJub25lIik7CiAJc2VxX3B1dHMobSwgc2ItPnNfZmxhZ3MgJiBNU19SRE9OTFkgPyAiIHJvIiA6ICIgcnciKTsKLQlzaG93X3NiX29wdHMobSwgc2IpOworCWVyciA9IHNob3dfc2Jfb3B0cyhtLCBzYik7CisJaWYgKGVycikKKwkJZ290byBvdXQ7CiAJaWYgKHNiLT5zX29wLT5zaG93X29wdGlvbnMpCiAJCWVyciA9IHNiLT5zX29wLT5zaG93X29wdGlvbnMobSwgbW50KTsKIAlzZXFfcHV0YyhtLCAnXG4nKTsKK291dDoKIAlyZXR1cm4gZXJyOwogfQogCmRpZmYgLS1naXQgYS9mcy9uY3Bmcy9maWxlLmMgYi9mcy9uY3Bmcy9maWxlLmMKaW5kZXggMmIxNDVkZS4uNmE3ZDkwMSAxMDA2NDQKLS0tIGEvZnMvbmNwZnMvZmlsZS5jCisrKyBiL2ZzL25jcGZzL2ZpbGUuYwpAQCAtMTgsNiArMTgsNyBAQAogI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KICNpbmNsdWRlIDxsaW51eC92bWFsbG9jLmg+CiAjaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogCiAjaW5jbHVkZSA8bGludXgvbmNwX2ZzLmg+CiAjaW5jbHVkZSAibmNwbGliX2tlcm5lbC5oIgpAQCAtMjgxLDkgKzI4MiwxOCBAQAogCXJldHVybiAwOwogfQogCitzdGF0aWMgbG9mZl90IG5jcF9yZW1vdGVfbGxzZWVrKHN0cnVjdCBmaWxlICpmaWxlLCBsb2ZmX3Qgb2Zmc2V0LCBpbnQgb3JpZ2luKQoreworCWxvZmZfdCByZXQ7CisJbG9ja19rZXJuZWwoKTsKKwlyZXQgPSBnZW5lcmljX2ZpbGVfbGxzZWVrX3VubG9ja2VkKGZpbGUsIG9mZnNldCwgb3JpZ2luKTsKKwl1bmxvY2tfa2VybmVsKCk7CisJcmV0dXJuIHJldDsKK30KKwogY29uc3Qgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyBuY3BfZmlsZV9vcGVyYXRpb25zID0KIHsKLQkubGxzZWVrCQk9IHJlbW90ZV9sbHNlZWssCisJLmxsc2VlayAJPSBuY3BfcmVtb3RlX2xsc2VlaywKIAkucmVhZAkJPSBuY3BfZmlsZV9yZWFkLAogCS53cml0ZQkJPSBuY3BfZmlsZV93cml0ZSwKIAkuaW9jdGwJCT0gbmNwX2lvY3RsLApkaWZmIC0tZ2l0IGEvZnMvbmZzL2ZpbGUuYyBiL2ZzL25mcy9maWxlLmMKaW5kZXggZDg0YTNkOC4uNGU5OGE1NiAxMDA2NDQKLS0tIGEvZnMvbmZzL2ZpbGUuYworKysgYi9mcy9uZnMvZmlsZS5jCkBAIC0xNzAsNiArMTcwLDcgQEAKIAogc3RhdGljIGxvZmZfdCBuZnNfZmlsZV9sbHNlZWsoc3RydWN0IGZpbGUgKmZpbHAsIGxvZmZfdCBvZmZzZXQsIGludCBvcmlnaW4pCiB7CisJbG9mZl90IGxvZmY7CiAJLyogb3JpZ2luID09IFNFRUtfRU5EID0+IHdlIG11c3QgcmV2YWxpZGF0ZSB0aGUgY2FjaGVkIGZpbGUgbGVuZ3RoICovCiAJaWYgKG9yaWdpbiA9PSBTRUVLX0VORCkgewogCQlzdHJ1Y3QgaW5vZGUgKmlub2RlID0gZmlscC0+Zl9tYXBwaW5nLT5ob3N0OwpAQCAtMTc3LDcgKzE3OCwxMCBAQAogCQlpZiAocmV0dmFsIDwgMCkKIAkJCXJldHVybiAobG9mZl90KXJldHZhbDsKIAl9Ci0JcmV0dXJuIHJlbW90ZV9sbHNlZWsoZmlscCwgb2Zmc2V0LCBvcmlnaW4pOworCWxvY2tfa2VybmVsKCk7CS8qIEJLTCBuZWVkZWQ/ICovCisJbG9mZiA9IGdlbmVyaWNfZmlsZV9sbHNlZWtfdW5sb2NrZWQoZmlscCwgb2Zmc2V0LCBvcmlnaW4pOworCXVubG9ja19rZXJuZWwoKTsKKwlyZXR1cm4gbG9mZjsKIH0KIAogLyoKZGlmZiAtLWdpdCBhL2ZzL29jZnMyL3N0YWNrX3VzZXIuYyBiL2ZzL29jZnMyL3N0YWNrX3VzZXIuYwppbmRleCBjMDIxMjgwLi5iZDdlMGYzIDEwMDY0NAotLS0gYS9mcy9vY2ZzMi9zdGFja191c2VyLmMKKysrIGIvZnMvb2NmczIvc3RhY2tfdXNlci5jCkBAIC0yMSw2ICsyMSw3IEBACiAjaW5jbHVkZSA8bGludXgvZnMuaD4KICNpbmNsdWRlIDxsaW51eC9taXNjZGV2aWNlLmg+CiAjaW5jbHVkZSA8bGludXgvbXV0ZXguaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L3JlYm9vdC5oPgogI2luY2x1ZGUgPGFzbS91YWNjZXNzLmg+CiAKQEAgLTYxOSwxMCArNjIwLDEyIEBACiAJCXJldHVybiAtRU5PTUVNOwogCXAtPm9wX3RoaXNfbm9kZSA9IC0xOwogCisJbG9ja19rZXJuZWwoKTsKIAltdXRleF9sb2NrKCZvY2ZzMl9jb250cm9sX2xvY2spOwogCWZpbGUtPnByaXZhdGVfZGF0YSA9IHA7CiAJbGlzdF9hZGQoJnAtPm9wX2xpc3QsICZvY2ZzMl9jb250cm9sX3ByaXZhdGVfbGlzdCk7CiAJbXV0ZXhfdW5sb2NrKCZvY2ZzMl9jb250cm9sX2xvY2spOworCXVubG9ja19rZXJuZWwoKTsKIAogCXJldHVybiAwOwogfQpkaWZmIC0tZ2l0IGEvZnMvcHJvYy9iYXNlLmMgYi9mcy9wcm9jL2Jhc2UuYwppbmRleCAzYjQ1NTM3Li41OGMzZTZhIDEwMDY0NAotLS0gYS9mcy9wcm9jL2Jhc2UuYworKysgYi9mcy9wcm9jL2Jhc2UuYwpAQCAtMjMzLDcgKzIzMyw3IEBACiAJICovCiAJaWYgKHRhc2stPnBhcmVudCA9PSBjdXJyZW50ICYmICh0YXNrLT5wdHJhY2UgJiBQVF9QVFJBQ0VEKSAmJgogCSAgICB0YXNrX2lzX3N0b3BwZWRfb3JfdHJhY2VkKHRhc2spICYmCi0JICAgIHB0cmFjZV9tYXlfYXR0YWNoKHRhc2spKQorCSAgICBwdHJhY2VfbWF5X2FjY2Vzcyh0YXNrLCBQVFJBQ0VfTU9ERV9BVFRBQ0gpKQogCQlyZXR1cm4gMDsKIAogCS8qCkBAIC0yNTEsNyArMjUxLDggQEAKIAl0YXNrX2xvY2sodGFzayk7CiAJaWYgKHRhc2stPm1tICE9IG1tKQogCQlnb3RvIG91dDsKLQlpZiAodGFzay0+bW0gIT0gY3VycmVudC0+bW0gJiYgX19wdHJhY2VfbWF5X2F0dGFjaCh0YXNrKSA8IDApCisJaWYgKHRhc2stPm1tICE9IGN1cnJlbnQtPm1tICYmCisJICAgIF9fcHRyYWNlX21heV9hY2Nlc3ModGFzaywgUFRSQUNFX01PREVfUkVBRCkgPCAwKQogCQlnb3RvIG91dDsKIAl0YXNrX3VubG9jayh0YXNrKTsKIAlyZXR1cm4gbW07CkBAIC01MTgsNyArNTE5LDcgQEAKIAkgKi8KIAl0YXNrID0gZ2V0X3Byb2NfdGFzayhpbm9kZSk7CiAJaWYgKHRhc2spIHsKLQkJYWxsb3dlZCA9IHB0cmFjZV9tYXlfYXR0YWNoKHRhc2spOworCQlhbGxvd2VkID0gcHRyYWNlX21heV9hY2Nlc3ModGFzaywgUFRSQUNFX01PREVfUkVBRCk7CiAJCXB1dF90YXNrX3N0cnVjdCh0YXNrKTsKIAl9CiAJcmV0dXJuIGFsbG93ZWQ7CkBAIC05MDQsNyArOTA1LDcgQEAKIAlpZiAoIXRhc2spCiAJCWdvdG8gb3V0X25vX3Rhc2s7CiAKLQlpZiAoIXB0cmFjZV9tYXlfYXR0YWNoKHRhc2spKQorCWlmICghcHRyYWNlX21heV9hY2Nlc3ModGFzaywgUFRSQUNFX01PREVfUkVBRCkpCiAJCWdvdG8gb3V0OwogCiAJcmV0ID0gLUVOT01FTTsKZGlmZiAtLWdpdCBhL2ZzL3Byb2MvcHJvY19taXNjLmMgYi9mcy9wcm9jL3Byb2NfbWlzYy5jCmluZGV4IDdlMjc3ZjIuLmM2NTJkNDYgMTAwNjQ0Ci0tLSBhL2ZzL3Byb2MvcHJvY19taXNjLmMKKysrIGIvZnMvcHJvYy9wcm9jX21pc2MuYwpAQCAtMTIzLDYgKzEyMywxMSBAQAogCXJldHVybiBwcm9jX2NhbGNfbWV0cmljcyhwYWdlLCBzdGFydCwgb2ZmLCBjb3VudCwgZW9mLCBsZW4pOwogfQogCitpbnQgX19hdHRyaWJ1dGVfXygod2VhaykpIGFyY2hfcmVwb3J0X21lbWluZm8oY2hhciAqcGFnZSkKK3sKKwlyZXR1cm4gMDsKK30KKwogc3RhdGljIGludCBtZW1pbmZvX3JlYWRfcHJvYyhjaGFyICpwYWdlLCBjaGFyICoqc3RhcnQsIG9mZl90IG9mZiwKIAkJCQkgaW50IGNvdW50LCBpbnQgKmVvZiwgdm9pZCAqZGF0YSkKIHsKQEAgLTIyMSw2ICsyMjYsOCBAQAogCiAJCWxlbiArPSBodWdldGxiX3JlcG9ydF9tZW1pbmZvKHBhZ2UgKyBsZW4pOwogCisJbGVuICs9IGFyY2hfcmVwb3J0X21lbWluZm8ocGFnZSArIGxlbik7CisKIAlyZXR1cm4gcHJvY19jYWxjX21ldHJpY3MocGFnZSwgc3RhcnQsIG9mZiwgY291bnQsIGVvZiwgbGVuKTsKICN1bmRlZiBLCiB9CkBAIC00NzIsNiArNDc5LDEzIEBACiB9OwogI2VuZGlmCiAKKyNpZm5kZWYgYXJjaF9pcnFfc3RhdF9jcHUKKyNkZWZpbmUgYXJjaF9pcnFfc3RhdF9jcHUoY3B1KSAwCisjZW5kaWYKKyNpZm5kZWYgYXJjaF9pcnFfc3RhdAorI2RlZmluZSBhcmNoX2lycV9zdGF0KCkgMAorI2VuZGlmCisKIHN0YXRpYyBpbnQgc2hvd19zdGF0KHN0cnVjdCBzZXFfZmlsZSAqcCwgdm9pZCAqdikKIHsKIAlpbnQgaTsKQEAgLTUwOSw3ICs1MjMsOSBAQAogCQkJc3VtICs9IHRlbXA7CiAJCQlwZXJfaXJxX3N1bVtqXSArPSB0ZW1wOwogCQl9CisJCXN1bSArPSBhcmNoX2lycV9zdGF0X2NwdShpKTsKIAl9CisJc3VtICs9IGFyY2hfaXJxX3N0YXQoKTsKIAogCXNlcV9wcmludGYocCwgImNwdSAgJWxsdSAlbGx1ICVsbHUgJWxsdSAlbGx1ICVsbHUgJWxsdSAlbGx1ICVsbHVcbiIsCiAJCSh1bnNpZ25lZCBsb25nIGxvbmcpY3B1dGltZTY0X3RvX2Nsb2NrX3QodXNlciksCmRpZmYgLS1naXQgYS9mcy9wcm9jL3Rhc2tfbW11LmMgYi9mcy9wcm9jL3Rhc2tfbW11LmMKaW5kZXggYzQ5MjQ0OS4uMTY0YmQ5ZiAxMDA2NDQKLS0tIGEvZnMvcHJvYy90YXNrX21tdS5jCisrKyBiL2ZzL3Byb2MvdGFza19tbXUuYwpAQCAtMjEwLDcgKzIxMCw3IEBACiAJZGV2X3QgZGV2ID0gMDsKIAlpbnQgbGVuOwogCi0JaWYgKG1hcHNfcHJvdGVjdCAmJiAhcHRyYWNlX21heV9hdHRhY2godGFzaykpCisJaWYgKG1hcHNfcHJvdGVjdCAmJiAhcHRyYWNlX21heV9hY2Nlc3ModGFzaywgUFRSQUNFX01PREVfUkVBRCkpCiAJCXJldHVybiAtRUFDQ0VTOwogCiAJaWYgKGZpbGUpIHsKQEAgLTY0Niw3ICs2NDYsNyBAQAogCQlnb3RvIG91dDsKIAogCXJldCA9IC1FQUNDRVM7Ci0JaWYgKCFwdHJhY2VfbWF5X2F0dGFjaCh0YXNrKSkKKwlpZiAoIXB0cmFjZV9tYXlfYWNjZXNzKHRhc2ssIFBUUkFDRV9NT0RFX1JFQUQpKQogCQlnb3RvIG91dF90YXNrOwogCiAJcmV0ID0gLUVJTlZBTDsKQEAgLTc0Nyw3ICs3NDcsNyBAQAogCXN0cnVjdCBwcm9jX21hcHNfcHJpdmF0ZSAqcHJpdiA9IG0tPnByaXZhdGU7CiAJc3RydWN0IHRhc2tfc3RydWN0ICp0YXNrID0gcHJpdi0+dGFzazsKIAotCWlmIChtYXBzX3Byb3RlY3QgJiYgIXB0cmFjZV9tYXlfYXR0YWNoKHRhc2spKQorCWlmIChtYXBzX3Byb3RlY3QgJiYgIXB0cmFjZV9tYXlfYWNjZXNzKHRhc2ssIFBUUkFDRV9NT0RFX1JFQUQpKQogCQlyZXR1cm4gLUVBQ0NFUzsKIAogCXJldHVybiBzaG93X251bWFfbWFwKG0sIHYpOwpkaWZmIC0tZ2l0IGEvZnMvcHJvYy90YXNrX25vbW11LmMgYi9mcy9wcm9jL3Rhc2tfbm9tbXUuYwppbmRleCA0YjRmOWNjLi41ZDg0ZTcxIDEwMDY0NAotLS0gYS9mcy9wcm9jL3Rhc2tfbm9tbXUuYworKysgYi9mcy9wcm9jL3Rhc2tfbm9tbXUuYwpAQCAtMTEzLDcgKzExMyw3IEBACiAJc3RydWN0IHByb2NfbWFwc19wcml2YXRlICpwcml2ID0gbS0+cHJpdmF0ZTsKIAlzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRhc2sgPSBwcml2LT50YXNrOwogCi0JaWYgKG1hcHNfcHJvdGVjdCAmJiAhcHRyYWNlX21heV9hdHRhY2godGFzaykpCisJaWYgKG1hcHNfcHJvdGVjdCAmJiAhcHRyYWNlX21heV9hY2Nlc3ModGFzaywgUFRSQUNFX01PREVfUkVBRCkpCiAJCXJldHVybiAtRUFDQ0VTOwogCiAJcmV0dXJuIG5vbW11X3ZtYV9zaG93KG0sIHZtbC0+dm1hKTsKZGlmZiAtLWdpdCBhL2ZzL3JhbWZzL2ZpbGUtbW11LmMgYi9mcy9yYW1mcy9maWxlLW1tdS5jCmluZGV4IDk1OTBiOTAuLjc4ZjYxM2MgMTAwNjQ0Ci0tLSBhL2ZzL3JhbWZzL2ZpbGUtbW11LmMKKysrIGIvZnMvcmFtZnMvZmlsZS1tbXUuYwpAQCAtNDUsNiArNDUsNyBAQAogCS5tbWFwCQk9IGdlbmVyaWNfZmlsZV9tbWFwLAogCS5mc3luYwkJPSBzaW1wbGVfc3luY19maWxlLAogCS5zcGxpY2VfcmVhZAk9IGdlbmVyaWNfZmlsZV9zcGxpY2VfcmVhZCwKKwkuc3BsaWNlX3dyaXRlCT0gZ2VuZXJpY19maWxlX3NwbGljZV93cml0ZSwKIAkubGxzZWVrCQk9IGdlbmVyaWNfZmlsZV9sbHNlZWssCiB9OwogCmRpZmYgLS1naXQgYS9mcy9yYW1mcy9maWxlLW5vbW11LmMgYi9mcy9yYW1mcy9maWxlLW5vbW11LmMKaW5kZXggMDk4OWJjMi4uNTIzMTJlYyAxMDA2NDQKLS0tIGEvZnMvcmFtZnMvZmlsZS1ub21tdS5jCisrKyBiL2ZzL3JhbWZzL2ZpbGUtbm9tbXUuYwpAQCAtNDMsNiArNDMsNyBAQAogCS5haW9fd3JpdGUJCT0gZ2VuZXJpY19maWxlX2Fpb193cml0ZSwKIAkuZnN5bmMJCQk9IHNpbXBsZV9zeW5jX2ZpbGUsCiAJLnNwbGljZV9yZWFkCQk9IGdlbmVyaWNfZmlsZV9zcGxpY2VfcmVhZCwKKwkuc3BsaWNlX3dyaXRlCQk9IGdlbmVyaWNfZmlsZV9zcGxpY2Vfd3JpdGUsCiAJLmxsc2VlawkJCT0gZ2VuZXJpY19maWxlX2xsc2VlaywKIH07CiAKZGlmZiAtLWdpdCBhL2ZzL3JlYWRfd3JpdGUuYyBiL2ZzL3JlYWRfd3JpdGUuYwppbmRleCBmMGQxMjQwLi45YmE0OTVkIDEwMDY0NAotLS0gYS9mcy9yZWFkX3dyaXRlLmMKKysrIGIvZnMvcmVhZF93cml0ZS5jCkBAIC0zMSwxMiArMzEsMTIgQEAKIAogRVhQT1JUX1NZTUJPTChnZW5lcmljX3JvX2ZvcHMpOwogCi1sb2ZmX3QgZ2VuZXJpY19maWxlX2xsc2VlayhzdHJ1Y3QgZmlsZSAqZmlsZSwgbG9mZl90IG9mZnNldCwgaW50IG9yaWdpbikKK2xvZmZfdAorZ2VuZXJpY19maWxlX2xsc2Vla191bmxvY2tlZChzdHJ1Y3QgZmlsZSAqZmlsZSwgbG9mZl90IG9mZnNldCwgaW50IG9yaWdpbikKIHsKIAlsb2ZmX3QgcmV0dmFsOwogCXN0cnVjdCBpbm9kZSAqaW5vZGUgPSBmaWxlLT5mX21hcHBpbmctPmhvc3Q7CiAKLQltdXRleF9sb2NrKCZpbm9kZS0+aV9tdXRleCk7CiAJc3dpdGNoIChvcmlnaW4pIHsKIAkJY2FzZSBTRUVLX0VORDoKIAkJCW9mZnNldCArPSBpbm9kZS0+aV9zaXplOwpAQCAtNDYsNDIgKzQ2LDI2IEBACiAJfQogCXJldHZhbCA9IC1FSU5WQUw7CiAJaWYgKG9mZnNldD49MCAmJiBvZmZzZXQ8PWlub2RlLT5pX3NiLT5zX21heGJ5dGVzKSB7CisJCS8qIFNwZWNpYWwgbG9jayBuZWVkZWQgaGVyZT8gKi8KIAkJaWYgKG9mZnNldCAhPSBmaWxlLT5mX3BvcykgewogCQkJZmlsZS0+Zl9wb3MgPSBvZmZzZXQ7CiAJCQlmaWxlLT5mX3ZlcnNpb24gPSAwOwogCQl9CiAJCXJldHZhbCA9IG9mZnNldDsKIAl9Ci0JbXV0ZXhfdW5sb2NrKCZpbm9kZS0+aV9tdXRleCk7CiAJcmV0dXJuIHJldHZhbDsKIH0KK0VYUE9SVF9TWU1CT0woZ2VuZXJpY19maWxlX2xsc2Vla191bmxvY2tlZCk7CiAKLUVYUE9SVF9TWU1CT0woZ2VuZXJpY19maWxlX2xsc2Vlayk7Ci0KLWxvZmZfdCByZW1vdGVfbGxzZWVrKHN0cnVjdCBmaWxlICpmaWxlLCBsb2ZmX3Qgb2Zmc2V0LCBpbnQgb3JpZ2luKQorbG9mZl90IGdlbmVyaWNfZmlsZV9sbHNlZWsoc3RydWN0IGZpbGUgKmZpbGUsIGxvZmZfdCBvZmZzZXQsIGludCBvcmlnaW4pCiB7Ci0JbG9mZl90IHJldHZhbDsKLQotCWxvY2tfa2VybmVsKCk7Ci0Jc3dpdGNoIChvcmlnaW4pIHsKLQkJY2FzZSBTRUVLX0VORDoKLQkJCW9mZnNldCArPSBpX3NpemVfcmVhZChmaWxlLT5mX3BhdGguZGVudHJ5LT5kX2lub2RlKTsKLQkJCWJyZWFrOwotCQljYXNlIFNFRUtfQ1VSOgotCQkJb2Zmc2V0ICs9IGZpbGUtPmZfcG9zOwotCX0KLQlyZXR2YWwgPSAtRUlOVkFMOwotCWlmIChvZmZzZXQ+PTAgJiYgb2Zmc2V0PD1maWxlLT5mX3BhdGguZGVudHJ5LT5kX2lub2RlLT5pX3NiLT5zX21heGJ5dGVzKSB7Ci0JCWlmIChvZmZzZXQgIT0gZmlsZS0+Zl9wb3MpIHsKLQkJCWZpbGUtPmZfcG9zID0gb2Zmc2V0OwotCQkJZmlsZS0+Zl92ZXJzaW9uID0gMDsKLQkJfQotCQlyZXR2YWwgPSBvZmZzZXQ7Ci0JfQotCXVubG9ja19rZXJuZWwoKTsKLQlyZXR1cm4gcmV0dmFsOworCWxvZmZfdCBuOworCW11dGV4X2xvY2soJmZpbGUtPmZfZGVudHJ5LT5kX2lub2RlLT5pX211dGV4KTsKKwluID0gZ2VuZXJpY19maWxlX2xsc2Vla191bmxvY2tlZChmaWxlLCBvZmZzZXQsIG9yaWdpbik7CisJbXV0ZXhfdW5sb2NrKCZmaWxlLT5mX2RlbnRyeS0+ZF9pbm9kZS0+aV9tdXRleCk7CisJcmV0dXJuIG47CiB9Ci1FWFBPUlRfU1lNQk9MKHJlbW90ZV9sbHNlZWspOworRVhQT1JUX1NZTUJPTChnZW5lcmljX2ZpbGVfbGxzZWVrKTsKIAogbG9mZl90IG5vX2xsc2VlayhzdHJ1Y3QgZmlsZSAqZmlsZSwgbG9mZl90IG9mZnNldCwgaW50IG9yaWdpbikKIHsKZGlmZiAtLWdpdCBhL2ZzL3NtYmZzL2ZpbGUuYyBiL2ZzL3NtYmZzL2ZpbGUuYwppbmRleCBlZmJlMjlhLi4yMjk0NzgzIDEwMDY0NAotLS0gYS9mcy9zbWJmcy9maWxlLmMKKysrIGIvZnMvc21iZnMvZmlsZS5jCkBAIC00MjIsOSArNDIyLDE4IEBACiAJcmV0dXJuIGVycm9yOwogfQogCitzdGF0aWMgbG9mZl90IHNtYl9yZW1vdGVfbGxzZWVrKHN0cnVjdCBmaWxlICpmaWxlLCBsb2ZmX3Qgb2Zmc2V0LCBpbnQgb3JpZ2luKQoreworCWxvZmZfdCByZXQ7CisJbG9ja19rZXJuZWwoKTsKKwlyZXQgPSBnZW5lcmljX2ZpbGVfbGxzZWVrX3VubG9ja2VkKGZpbGUsIG9mZnNldCwgb3JpZ2luKTsKKwl1bmxvY2tfa2VybmVsKCk7CisJcmV0dXJuIHJldDsKK30KKwogY29uc3Qgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyBzbWJfZmlsZV9vcGVyYXRpb25zID0KIHsKLQkubGxzZWVrCQk9IHJlbW90ZV9sbHNlZWssCisJLmxsc2VlayAJPSBzbWJfcmVtb3RlX2xsc2VlaywKIAkucmVhZAkJPSBkb19zeW5jX3JlYWQsCiAJLmFpb19yZWFkCT0gc21iX2ZpbGVfYWlvX3JlYWQsCiAJLndyaXRlCQk9IGRvX3N5bmNfd3JpdGUsCmRpZmYgLS1naXQgYS9mcy9zcGxpY2UuYyBiL2ZzL3NwbGljZS5jCmluZGV4IGFhNWY2ZjYuLjM5OTQ0MjEgMTAwNjQ0Ci0tLSBhL2ZzL3NwbGljZS5jCisrKyBiL2ZzL3NwbGljZS5jCkBAIC0zNzksMTMgKzM3OSwyMiBAQAogCQkJCWxvY2tfcGFnZShwYWdlKTsKIAogCQkJLyoKLQkJCSAqIHBhZ2Ugd2FzIHRydW5jYXRlZCwgc3RvcCBoZXJlLiBpZiB0aGlzIGlzbid0IHRoZQotCQkJICogZmlyc3QgcGFnZSwgd2UnbGwganVzdCBjb21wbGV0ZSB3aGF0IHdlIGFscmVhZHkKLQkJCSAqIGFkZGVkCisJCQkgKiBQYWdlIHdhcyB0cnVuY2F0ZWQsIG9yIGludmFsaWRhdGVkIGJ5IHRoZQorCQkJICogZmlsZXN5c3RlbS4gIFJlZG8gdGhlIGZpbmQvY3JlYXRlLCBidXQgdGhpcyB0aW1lIHRoZQorCQkJICogcGFnZSBpcyBrZXB0IGxvY2tlZCwgc28gdGhlcmUncyBubyBjaGFuY2Ugb2YgYW5vdGhlcgorCQkJICogcmFjZSB3aXRoIHRydW5jYXRlL2ludmFsaWRhdGUuCiAJCQkgKi8KIAkJCWlmICghcGFnZS0+bWFwcGluZykgewogCQkJCXVubG9ja19wYWdlKHBhZ2UpOwotCQkJCWJyZWFrOworCQkJCXBhZ2UgPSBmaW5kX29yX2NyZWF0ZV9wYWdlKG1hcHBpbmcsIGluZGV4LAorCQkJCQkJbWFwcGluZ19nZnBfbWFzayhtYXBwaW5nKSk7CisKKwkJCQlpZiAoIXBhZ2UpIHsKKwkJCQkJZXJyb3IgPSAtRU5PTUVNOworCQkJCQlicmVhazsKKwkJCQl9CisJCQkJcGFnZV9jYWNoZV9yZWxlYXNlKHBhZ2VzW3BhZ2VfbnJdKTsKKwkJCQlwYWdlc1twYWdlX25yXSA9IHBhZ2U7CiAJCQl9CiAJCQkvKgogCQkJICogcGFnZSB3YXMgYWxyZWFkeSB1bmRlciBpbyBhbmQgaXMgbm93IGRvbmUsIGdyZWF0CmRpZmYgLS1naXQgYS9mcy92ZmF0L25hbWVpLmMgYi9mcy92ZmF0L25hbWVpLmMKaW5kZXggYTM1MjI3Mi4uYjU0NmJhNiAxMDA2NDQKLS0tIGEvZnMvdmZhdC9uYW1laS5jCisrKyBiL2ZzL3ZmYXQvbmFtZWkuYwpAQCAtNjQ1LDcgKzY0NSw3IEBACiAJaWYgKGxlbiA9PSAwKQogCQlyZXR1cm4gLUVOT0VOVDsKIAotCXNsb3RzID0ga21hbGxvYyhzaXplb2YoKnNsb3RzKSAqIE1TRE9TX1NMT1RTLCBHRlBfS0VSTkVMKTsKKwlzbG90cyA9IGttYWxsb2Moc2l6ZW9mKCpzbG90cykgKiBNU0RPU19TTE9UUywgR0ZQX05PRlMpOwogCWlmIChzbG90cyA9PSBOVUxMKQogCQlyZXR1cm4gLUVOT01FTTsKIApAQCAtNjg3LDcgKzY4Nyw3IEBACiAJc3RydWN0IGRlbnRyeSAqYWxpYXM7CiAJaW50IGVyciwgdGFibGU7CiAKLQlsb2NrX2tlcm5lbCgpOworCWxvY2tfc3VwZXIoc2IpOwogCXRhYmxlID0gKE1TRE9TX1NCKHNiKS0+b3B0aW9ucy5uYW1lX2NoZWNrID09ICdzJykgPyAyIDogMDsKIAlkZW50cnktPmRfb3AgPSAmdmZhdF9kZW50cnlfb3BzW3RhYmxlXTsKIApAQCAtNjk5LDcgKzY5OSw3IEBACiAJaW5vZGUgPSBmYXRfYnVpbGRfaW5vZGUoc2IsIHNpbmZvLmRlLCBzaW5mby5pX3Bvcyk7CiAJYnJlbHNlKHNpbmZvLmJoKTsKIAlpZiAoSVNfRVJSKGlub2RlKSkgewotCQl1bmxvY2tfa2VybmVsKCk7CisJCXVubG9ja19zdXBlcihzYik7CiAJCXJldHVybiBFUlJfQ0FTVChpbm9kZSk7CiAJfQogCWFsaWFzID0gZF9maW5kX2FsaWFzKGlub2RlKTsKQEAgLTcwOCwxMyArNzA4LDEzIEBACiAJCQlkcHV0KGFsaWFzKTsKIAkJZWxzZSB7CiAJCQlpcHV0KGlub2RlKTsKLQkJCXVubG9ja19rZXJuZWwoKTsKKwkJCXVubG9ja19zdXBlcihzYik7CiAJCQlyZXR1cm4gYWxpYXM7CiAJCX0KIAogCX0KIGVycm9yOgotCXVubG9ja19rZXJuZWwoKTsKKwl1bmxvY2tfc3VwZXIoc2IpOwogCWRlbnRyeS0+ZF9vcCA9ICZ2ZmF0X2RlbnRyeV9vcHNbdGFibGVdOwogCWRlbnRyeS0+ZF90aW1lID0gZGVudHJ5LT5kX3BhcmVudC0+ZF9pbm9kZS0+aV92ZXJzaW9uOwogCWRlbnRyeSA9IGRfc3BsaWNlX2FsaWFzKGlub2RlLCBkZW50cnkpOwpAQCAtNzM0LDcgKzczNCw3IEBACiAJc3RydWN0IHRpbWVzcGVjIHRzOwogCWludCBlcnI7CiAKLQlsb2NrX2tlcm5lbCgpOworCWxvY2tfc3VwZXIoc2IpOwogCiAJdHMgPSBDVVJSRU5UX1RJTUVfU0VDOwogCWVyciA9IHZmYXRfYWRkX2VudHJ5KGRpciwgJmRlbnRyeS0+ZF9uYW1lLCAwLCAwLCAmdHMsICZzaW5mbyk7CkBAIC03NTUsMTcgKzc1NSwxOCBAQAogCWRlbnRyeS0+ZF90aW1lID0gZGVudHJ5LT5kX3BhcmVudC0+ZF9pbm9kZS0+aV92ZXJzaW9uOwogCWRfaW5zdGFudGlhdGUoZGVudHJ5LCBpbm9kZSk7CiBvdXQ6Ci0JdW5sb2NrX2tlcm5lbCgpOworCXVubG9ja19zdXBlcihzYik7CiAJcmV0dXJuIGVycjsKIH0KIAogc3RhdGljIGludCB2ZmF0X3JtZGlyKHN0cnVjdCBpbm9kZSAqZGlyLCBzdHJ1Y3QgZGVudHJ5ICpkZW50cnkpCiB7CiAJc3RydWN0IGlub2RlICppbm9kZSA9IGRlbnRyeS0+ZF9pbm9kZTsKKwlzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiID0gZGlyLT5pX3NiOwogCXN0cnVjdCBmYXRfc2xvdF9pbmZvIHNpbmZvOwogCWludCBlcnI7CiAKLQlsb2NrX2tlcm5lbCgpOworCWxvY2tfc3VwZXIoc2IpOwogCiAJZXJyID0gZmF0X2Rpcl9lbXB0eShpbm9kZSk7CiAJaWYgKGVycikKQEAgLTc4Myw3ICs3ODQsNyBAQAogCWlub2RlLT5pX210aW1lID0gaW5vZGUtPmlfYXRpbWUgPSBDVVJSRU5UX1RJTUVfU0VDOwogCWZhdF9kZXRhY2goaW5vZGUpOwogb3V0OgotCXVubG9ja19rZXJuZWwoKTsKKwl1bmxvY2tfc3VwZXIoc2IpOwogCiAJcmV0dXJuIGVycjsKIH0KQEAgLTc5MSwxMCArNzkyLDExIEBACiBzdGF0aWMgaW50IHZmYXRfdW5saW5rKHN0cnVjdCBpbm9kZSAqZGlyLCBzdHJ1Y3QgZGVudHJ5ICpkZW50cnkpCiB7CiAJc3RydWN0IGlub2RlICppbm9kZSA9IGRlbnRyeS0+ZF9pbm9kZTsKKwlzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiID0gZGlyLT5pX3NiOwogCXN0cnVjdCBmYXRfc2xvdF9pbmZvIHNpbmZvOwogCWludCBlcnI7CiAKLQlsb2NrX2tlcm5lbCgpOworCWxvY2tfc3VwZXIoc2IpOwogCiAJZXJyID0gdmZhdF9maW5kKGRpciwgJmRlbnRyeS0+ZF9uYW1lLCAmc2luZm8pOwogCWlmIChlcnIpCkBAIC04MDcsNyArODA5LDcgQEAKIAlpbm9kZS0+aV9tdGltZSA9IGlub2RlLT5pX2F0aW1lID0gQ1VSUkVOVF9USU1FX1NFQzsKIAlmYXRfZGV0YWNoKGlub2RlKTsKIG91dDoKLQl1bmxvY2tfa2VybmVsKCk7CisJdW5sb2NrX3N1cGVyKHNiKTsKIAogCXJldHVybiBlcnI7CiB9CkBAIC04MjAsNyArODIyLDcgQEAKIAlzdHJ1Y3QgdGltZXNwZWMgdHM7CiAJaW50IGVyciwgY2x1c3RlcjsKIAotCWxvY2tfa2VybmVsKCk7CisJbG9ja19zdXBlcihzYik7CiAKIAl0cyA9IENVUlJFTlRfVElNRV9TRUM7CiAJY2x1c3RlciA9IGZhdF9hbGxvY19uZXdfZGlyKGRpciwgJnRzKTsKQEAgLTg0OSwxMyArODUxLDEzIEBACiAJZGVudHJ5LT5kX3RpbWUgPSBkZW50cnktPmRfcGFyZW50LT5kX2lub2RlLT5pX3ZlcnNpb247CiAJZF9pbnN0YW50aWF0ZShkZW50cnksIGlub2RlKTsKIAotCXVubG9ja19rZXJuZWwoKTsKKwl1bmxvY2tfc3VwZXIoc2IpOwogCXJldHVybiAwOwogCiBvdXRfZnJlZToKIAlmYXRfZnJlZV9jbHVzdGVycyhkaXIsIGNsdXN0ZXIpOwogb3V0OgotCXVubG9ja19rZXJuZWwoKTsKKwl1bmxvY2tfc3VwZXIoc2IpOwogCXJldHVybiBlcnI7CiB9CiAKQEAgLTg2OSwxMSArODcxLDEyIEBACiAJc3RydWN0IHRpbWVzcGVjIHRzOwogCWxvZmZfdCBkb3Rkb3RfaV9wb3MsIG5ld19pX3BvczsKIAlpbnQgZXJyLCBpc19kaXIsIHVwZGF0ZV9kb3Rkb3QsIGNvcnJ1cHQgPSAwOworCXN0cnVjdCBzdXBlcl9ibG9jayAqc2IgPSBvbGRfZGlyLT5pX3NiOwogCiAJb2xkX3NpbmZvLmJoID0gc2luZm8uYmggPSBkb3Rkb3RfYmggPSBOVUxMOwogCW9sZF9pbm9kZSA9IG9sZF9kZW50cnktPmRfaW5vZGU7CiAJbmV3X2lub2RlID0gbmV3X2RlbnRyeS0+ZF9pbm9kZTsKLQlsb2NrX2tlcm5lbCgpOworCWxvY2tfc3VwZXIoc2IpOwogCWVyciA9IHZmYXRfZmluZChvbGRfZGlyLCAmb2xkX2RlbnRyeS0+ZF9uYW1lLCAmb2xkX3NpbmZvKTsKIAlpZiAoZXJyKQogCQlnb3RvIG91dDsKQEAgLTk1MSw3ICs5NTQsNyBAQAogCWJyZWxzZShzaW5mby5iaCk7CiAJYnJlbHNlKGRvdGRvdF9iaCk7CiAJYnJlbHNlKG9sZF9zaW5mby5iaCk7Ci0JdW5sb2NrX2tlcm5lbCgpOworCXVubG9ja19zdXBlcihzYik7CiAKIAlyZXR1cm4gZXJyOwogCmRpZmYgLS1naXQgYS9pbmNsdWRlL0tidWlsZCBiL2luY2x1ZGUvS2J1aWxkCmluZGV4IGI1MjI4ODcuLmJkY2ExNTUgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvS2J1aWxkCisrKyBiL2luY2x1ZGUvS2J1aWxkCkBAIC00LDUgKzQsNiBAQAogaGVhZGVyLXkgKz0gbXRkLwogaGVhZGVyLXkgKz0gcmRtYS8KIGhlYWRlci15ICs9IHZpZGVvLworaGVhZGVyLXkgKz0gZHJtLwogCiBoZWFkZXIteSArPSBhc20tJChBUkNIKS8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWF0OTEvYXQ5MV9wbWMuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWF0OTEvYXQ5MV9wbWMuaAppbmRleCBjMmIxM2MyLi4yMDAxZTgxIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1hdDkxL2F0OTFfcG1jLmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtYXQ5MS9hdDkxX3BtYy5oCkBAIC0zOSwxMCArMzksMTQgQEAKICNkZWZpbmUJQVQ5MV9QTUNfUENTUgkJKEFUOTFfUE1DICsgMHgxOCkJLyogUGVyaXBoZXJhbCBDbG9jayBTdGF0dXMgUmVnaXN0ZXIgKi8KIAogI2RlZmluZQlBVDkxX0NLR1JfVUNLUgkJKEFUOTFfUE1DICsgMHgxQykJLyogVVRNSSBDbG9jayBSZWdpc3RlciBbU0FNOVJMLCBDQVA5XSAqLworI2RlZmluZQkJQVQ5MV9QTUNfVVBMTEVOCQkoMSAgIDw8IDE2KQkJLyogVVRNSSBQTEwgRW5hYmxlICovCisjZGVmaW5lCQlBVDkxX1BNQ19VUExMQ09VTlQJKDB4ZiA8PCAyMCkJCS8qIFVUTUkgUExMIFN0YXJ0LXVwIFRpbWUgKi8KKyNkZWZpbmUJCUFUOTFfUE1DX0JJQVNFTgkJKDEgICA8PCAyNCkJCS8qIFVUTUkgQklBUyBFbmFibGUgKi8KKyNkZWZpbmUJCUFUOTFfUE1DX0JJQVNDT1VOVAkoMHhmIDw8IDI4KQkJLyogVVRNSSBQTEwgU3RhcnQtdXAgVGltZSAqLwogCiAjZGVmaW5lCUFUOTFfQ0tHUl9NT1IJCShBVDkxX1BNQyArIDB4MjApCS8qIE1haW4gT3NjaWxsYXRvciBSZWdpc3RlciBbbm90IG9uIFNBTTlSTF0gKi8KICNkZWZpbmUJCUFUOTFfUE1DX01PU0NFTgkJKDEgICAgPDwgMCkJCS8qIE1haW4gT3NjaWxsYXRvciBFbmFibGUgKi8KLSNkZWZpbmUJCUFUOTFfUE1DX09TQ0JZUEFTUwkoMSAgICA8PCAxKQkJLyogT3NjaWxsYXRvciBCeXBhc3MgW0FUOTFTQU05MjZ4IG9ubHldICovCisjZGVmaW5lCQlBVDkxX1BNQ19PU0NCWVBBU1MJKDEgICAgPDwgMSkJCS8qIE9zY2lsbGF0b3IgQnlwYXNzIFtTQU05eCwgQ0FQOV0gKi8KICNkZWZpbmUJCUFUOTFfUE1DX09TQ09VTlQJKDB4ZmYgPDwgOCkJCS8qIE1haW4gT3NjaWxsYXRvciBTdGFydC11cCBUaW1lICovCiAKICNkZWZpbmUJQVQ5MV9DS0dSX01DRlIJCShBVDkxX1BNQyArIDB4MjQpCS8qIE1haW4gQ2xvY2sgRnJlcXVlbmN5IFJlZ2lzdGVyICovCkBAIC05Nyw2ICsxMDEsNyBAQAogI2RlZmluZQkJQVQ5MV9QTUNfTE9DS0EJCSgxIDw8ICAxKQkJLyogUExMQSBMb2NrICovCiAjZGVmaW5lCQlBVDkxX1BNQ19MT0NLQgkJKDEgPDwgIDIpCQkvKiBQTExCIExvY2sgKi8KICNkZWZpbmUJCUFUOTFfUE1DX01DS1JEWQkJKDEgPDwgIDMpCQkvKiBNYXN0ZXIgQ2xvY2sgKi8KKyNkZWZpbmUJCUFUOTFfUE1DX0xPQ0tVCQkoMSA8PCAgNikJCS8qIFVQTEwgTG9jayBbQVQ5MUNBUDkgb25seV0gKi8KICNkZWZpbmUJCUFUOTFfUE1DX1BDSzBSRFkJKDEgPDwgIDgpCQkvKiBQcm9ncmFtbWFibGUgQ2xvY2sgMCAqLwogI2RlZmluZQkJQVQ5MV9QTUNfUENLMVJEWQkoMSA8PCAgOSkJCS8qIFByb2dyYW1tYWJsZSBDbG9jayAxICovCiAjZGVmaW5lCQlBVDkxX1BNQ19QQ0syUkRZCSgxIDw8IDEwKQkJLyogUHJvZ3JhbW1hYmxlIENsb2NrIDIgKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWF0OTEvYXQ5MWNhcDkuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWF0OTEvYXQ5MWNhcDkuaAppbmRleCBiYWM4M2FkLi42ZjE0ZDkwIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1hdDkxL2F0OTFjYXA5LmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtYXQ5MS9hdDkxY2FwOS5oCkBAIC0xMTgsNyArMTE4LDcgQEAKICNkZWZpbmUgQVQ5MUNBUDlfUk9NX1NJWkUJKDMyICogU1pfMUspCS8qIEludGVybmFsIFJPTSBzaXplICgzMktiKSAqLwogCiAjZGVmaW5lIEFUOTFDQVA5X0xDRENfQkFTRQkweDAwNTAwMDAwCS8qIExDRCBDb250cm9sbGVyICovCi0jZGVmaW5lIEFUOTFDQVA5X1VEUEhTX0JBU0UJMHgwMDYwMDAwMAkvKiBVU0IgSGlnaCBTcGVlZCBEZXZpY2UgUG9ydCAqLworI2RlZmluZSBBVDkxQ0FQOV9VRFBIU19GSUZPCTB4MDA2MDAwMDAJLyogVVNCIEhpZ2ggU3BlZWQgRGV2aWNlIFBvcnQgKi8KICNkZWZpbmUgQVQ5MUNBUDlfVUhQX0JBU0UJMHgwMDcwMDAwMAkvKiBVU0IgSG9zdCBjb250cm9sbGVyICovCiAKICNkZWZpbmUgQ09ORklHX0RSQU1fQkFTRQlBVDkxX0NISVBTRUxFQ1RfNgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtYXQ5MS9hdDkxY2FwOV9tYXRyaXguaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWF0OTEvYXQ5MWNhcDlfbWF0cml4LmgKaW5kZXggYTY0MTY4Ni4uZGRiZDQ4NyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtYXQ5MS9hdDkxY2FwOV9tYXRyaXguaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1hdDkxL2F0OTFjYXA5X21hdHJpeC5oCkBAIC0xMDYsNiArMTA2LDExIEBACiAjZGVmaW5lIEFUOTFfTVBCUzBfU0ZSCQkoQVQ5MV9NQVRSSVggKyAweDExNCkJLyogTVBCbG9jayBTbGF2ZSAwIFNwZWNpYWwgRnVuY3Rpb24gUmVnaXN0ZXIgKi8KICNkZWZpbmUgQVQ5MV9NUEJTMV9TRlIJCShBVDkxX01BVFJJWCArIDB4MTFDKQkvKiBNUEJsb2NrIFNsYXZlIDEgU3BlY2lhbCBGdW5jdGlvbiBSZWdpc3RlciAqLwogCisjZGVmaW5lIEFUOTFfTUFUUklYX1VEUEhTCShBVDkxX01BVFJJWCArIDB4MTE4KQkvKiBVU0JIUyBTcGVjaWFsIEZ1bmN0aW9uIFJlZ2lzdGVyIFtBVDkxQ0FQOSBvbmx5XSAqLworI2RlZmluZQkJQVQ5MV9NQVRSSVhfU0VMRUNUX1VEUEhTCSgwIDw8IDMxKQkvKiBzZWxlY3QgSGlnaCBTcGVlZCBVRFAgKi8KKyNkZWZpbmUJCUFUOTFfTUFUUklYX1NFTEVDVF9VRFAJCSgxIDw8IDMxKQkvKiBzZWxlY3Qgc3RhbmRhcmQgVURQICovCisjZGVmaW5lCQlBVDkxX01BVFJJWF9VRFBIU19CWVBBU1NfTE9DSwkoMSA8PCAzMCkJLyogYnlwYXNzIGxvY2sgYml0ICovCisKICNkZWZpbmUgQVQ5MV9NQVRSSVhfRUJJQ1NBCShBVDkxX01BVFJJWCArIDB4MTIwKQkvKiBFQkkgQ2hpcCBTZWxlY3QgQXNzaWdubWVudCBSZWdpc3RlciAqLwogI2RlZmluZQkJQVQ5MV9NQVRSSVhfRUJJX0NTMUEJCSgxIDw8IDEpCS8qIENoaXAgU2VsZWN0IDEgQXNzaWdubWVudCAqLwogI2RlZmluZQkJCUFUOTFfTUFUUklYX0VCSV9DUzFBX1NNQwkJKDAgPDwgMSkKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWF0OTEvYXQ5MXNhbTkyNjAuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWF0OTEvYXQ5MXNhbTkyNjAuaAppbmRleCBjODkzNGZlLi44ODk4NzJhIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1hdDkxL2F0OTFzYW05MjYwLmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtYXQ5MS9hdDkxc2FtOTI2MC5oCkBAIC02LDYgKzYsOCBAQAogICogQ29tbW9uIGRlZmluaXRpb25zLgogICogQmFzZWQgb24gQVQ5MVNBTTkyNjAgZGF0YXNoZWV0IHJldmlzaW9uIEEgKFByZWxpbWluYXJ5KS4KICAqCisgKiBJbmNsdWRlcyBhbHNvIGRlZmluaXRpb25zIGZvciBBVDkxU0FNOVhFIGFuZCBBVDkxU0FNOUcgZmFtaWxpZXMKKyAqCiAgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQogICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKICAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCkBAIC0xMjMsNSArMTI1LDE0IEBACiAjZGVmaW5lIEFUOTFTQU05WEVfRkxBU0hfQkFTRQkweDAwMjAwMDAwCS8qIEludGVybmFsIEZMQVNIIGJhc2UgYWRkcmVzcyAqLwogI2RlZmluZSBBVDkxU0FNOVhFX1NSQU1fQkFTRQkweDAwMzAwMDAwCS8qIEludGVybmFsIFNSQU0gYmFzZSBhZGRyZXNzICovCiAKKyNkZWZpbmUgQVQ5MVNBTTlHMjBfUk9NX0JBU0UJMHgwMDEwMDAwMAkvKiBJbnRlcm5hbCBST00gYmFzZSBhZGRyZXNzICovCisjZGVmaW5lIEFUOTFTQU05RzIwX1JPTV9TSVpFCVNaXzMySwkJLyogSW50ZXJuYWwgUk9NIHNpemUgKDMyS2IpICovCisKKyNkZWZpbmUgQVQ5MVNBTTlHMjBfU1JBTTBfQkFTRQkweDAwMjAwMDAwCS8qIEludGVybmFsIFNSQU0gMCBiYXNlIGFkZHJlc3MgKi8KKyNkZWZpbmUgQVQ5MVNBTTlHMjBfU1JBTTBfU0laRQlTWl8xNksJCS8qIEludGVybmFsIFNSQU0gMCBzaXplICgxNktiKSAqLworI2RlZmluZSBBVDkxU0FNOUcyMF9TUkFNMV9CQVNFCTB4MDAzMDAwMDAJLyogSW50ZXJuYWwgU1JBTSAxIGJhc2UgYWRkcmVzcyAqLworI2RlZmluZSBBVDkxU0FNOUcyMF9TUkFNMV9TSVpFCVNaXzE2SwkJLyogSW50ZXJuYWwgU1JBTSAxIHNpemUgKDE2S2IpICovCisKKyNkZWZpbmUgQVQ5MVNBTTlHMjBfVUhQX0JBU0UJMHgwMDUwMDAwMAkvKiBVU0IgSG9zdCBjb250cm9sbGVyICovCiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtYXQ5MS9hdDkxc2FtOXJsLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1hdDkxL2F0OTFzYW05cmwuaAppbmRleCAxNmQyODMyLi42MjJlNTZmIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1hdDkxL2F0OTFzYW05cmwuaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1hdDkxL2F0OTFzYW05cmwuaApAQCAtMTEwLDYgKzExMCw2IEBACiAjZGVmaW5lIEFUOTFTQU05UkxfUk9NX1NJWkUJKDIgKiBTWl8xNkspCS8qIEludGVybmFsIFJPTSBzaXplICgzMktiKSAqLwogCiAjZGVmaW5lIEFUOTFTQU05UkxfTENEQ19CQVNFCTB4MDA1MDAwMDAJLyogTENEIENvbnRyb2xsZXIgKi8KLSNkZWZpbmUgQVQ5MVNBTTlSTF9VRFBIU19CQVNFCTB4MDA2MDAwMDAJLyogVVNCIERldmljZSBIUyBjb250cm9sbGVyICovCisjZGVmaW5lIEFUOTFTQU05UkxfVURQSFNfRklGTwkweDAwNjAwMDAwCS8qIFVTQiBEZXZpY2UgSFMgY29udHJvbGxlciAqLwogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWF0OTEvYm9hcmQuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWF0OTEvYm9hcmQuaAppbmRleCBkYzE4OWYwLi45NGRlNzg4IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1hdDkxL2JvYXJkLmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtYXQ5MS9ib2FyZC5oCkBAIC0zNiw2ICszNiw3IEBACiAjaW5jbHVkZSA8bGludXgvaTJjLmg+CiAjaW5jbHVkZSA8bGludXgvbGVkcy5oPgogI2luY2x1ZGUgPGxpbnV4L3NwaS9zcGkuaD4KKyNpbmNsdWRlIDxsaW51eC91c2IvYXRtZWxfdXNiYV91ZGMuaD4KIAogIC8qIFVTQiBEZXZpY2UgKi8KIHN0cnVjdCBhdDkxX3VkY19kYXRhIHsKQEAgLTQ1LDYgKzQ2LDkgQEAKIH07CiBleHRlcm4gdm9pZCBfX2luaXQgYXQ5MV9hZGRfZGV2aWNlX3VkYyhzdHJ1Y3QgYXQ5MV91ZGNfZGF0YSAqZGF0YSk7CiAKKyAvKiBVU0IgSGlnaCBTcGVlZCBEZXZpY2UgKi8KK2V4dGVybiB2b2lkIF9faW5pdCBhdDkxX2FkZF9kZXZpY2VfdXNiYShzdHJ1Y3QgdXNiYV9wbGF0Zm9ybV9kYXRhICpkYXRhKTsKKwogIC8qIENvbXBhY3QgRmxhc2ggKi8KIHN0cnVjdCBhdDkxX2NmX2RhdGEgewogCXU4CWlycV9waW47CQkvKiBJL08gSVJRICovCkBAIC03Myw3ICs3Nyw3IEBACiB9OwogZXh0ZXJuIHZvaWQgX19pbml0IGF0OTFfYWRkX2RldmljZV9ldGgoc3RydWN0IGF0OTFfZXRoX2RhdGEgKmRhdGEpOwogCi0jaWYgZGVmaW5lZChDT05GSUdfQVJDSF9BVDkxU0FNOTI2MCkgfHwgZGVmaW5lZChDT05GSUdfQVJDSF9BVDkxU0FNOTI2MykgfHwgZGVmaW5lZChDT05GSUdfQVJDSF9BVDkxQ0FQOSkKKyNpZiBkZWZpbmVkKENPTkZJR19BUkNIX0FUOTFTQU05MjYwKSB8fCBkZWZpbmVkKENPTkZJR19BUkNIX0FUOTFTQU05MjYzKSB8fCBkZWZpbmVkKENPTkZJR19BUkNIX0FUOTFTQU05RzIwKSB8fCBkZWZpbmVkKENPTkZJR19BUkNIX0FUOTFDQVA5KQogI2RlZmluZSBldGhfcGxhdGZvcm1fZGF0YQlhdDkxX2V0aF9kYXRhCiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtYXQ5MS9jcHUuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWF0OTEvY3B1LmgKaW5kZXggNzE0NTE2Ni4uNTJkZjc5NCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtYXQ5MS9jcHUuaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1hdDkxL2NwdS5oCkBAIC0yMSw2ICsyMSw3IEBACiAjZGVmaW5lIEFSQ0hfSURfQVQ5MVNBTTkyNjAJMHgwMTk4MDNhMAogI2RlZmluZSBBUkNIX0lEX0FUOTFTQU05MjYxCTB4MDE5NzAzYTAKICNkZWZpbmUgQVJDSF9JRF9BVDkxU0FNOTI2MwkweDAxOTYwN2EwCisjZGVmaW5lIEFSQ0hfSURfQVQ5MVNBTTlHMjAJMHgwMTk5MDVhMAogI2RlZmluZSBBUkNIX0lEX0FUOTFTQU05Ukw2NAkweDAxOWIwM2EwCiAjZGVmaW5lIEFSQ0hfSURfQVQ5MUNBUDkJMHgwMzlBMDNBMAogCkBAIC02Myw2ICs2NCwxMiBAQAogI2RlZmluZSBjcHVfaXNfYXQ5MXNhbTkyNjAoKQkoMCkKICNlbmRpZgogCisjaWZkZWYgQ09ORklHX0FSQ0hfQVQ5MVNBTTlHMjAKKyNkZWZpbmUgY3B1X2lzX2F0OTFzYW05ZzIwKCkJKGF0OTFfY3B1X2lkZW50aWZ5KCkgPT0gQVJDSF9JRF9BVDkxU0FNOUcyMCkKKyNlbHNlCisjZGVmaW5lIGNwdV9pc19hdDkxc2FtOWcyMCgpCSgwKQorI2VuZGlmCisKICNpZmRlZiBDT05GSUdfQVJDSF9BVDkxU0FNOTI2MQogI2RlZmluZSBjcHVfaXNfYXQ5MXNhbTkyNjEoKQkoYXQ5MV9jcHVfaWRlbnRpZnkoKSA9PSBBUkNIX0lEX0FUOTFTQU05MjYxKQogI2Vsc2UKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWF0OTEvaGFyZHdhcmUuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWF0OTEvaGFyZHdhcmUuaAppbmRleCAyYzgyNmQ4Mi4uMDE2YTNhMyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtYXQ5MS9oYXJkd2FyZS5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWF0OTEvaGFyZHdhcmUuaApAQCAtMTgsNyArMTgsNyBAQAogCiAjaWYgZGVmaW5lZChDT05GSUdfQVJDSF9BVDkxUk05MjAwKQogI2luY2x1ZGUgPGFzbS9hcmNoL2F0OTFybTkyMDAuaD4KLSNlbGlmIGRlZmluZWQoQ09ORklHX0FSQ0hfQVQ5MVNBTTkyNjApCisjZWxpZiBkZWZpbmVkKENPTkZJR19BUkNIX0FUOTFTQU05MjYwKSB8fCBkZWZpbmVkKENPTkZJR19BUkNIX0FUOTFTQU05RzIwKQogI2luY2x1ZGUgPGFzbS9hcmNoL2F0OTFzYW05MjYwLmg+CiAjZWxpZiBkZWZpbmVkKENPTkZJR19BUkNIX0FUOTFTQU05MjYxKQogI2luY2x1ZGUgPGFzbS9hcmNoL2F0OTFzYW05MjYxLmg+CmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1hdDkxL3RpbWV4LmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1hdDkxL3RpbWV4LmgKaW5kZXggZjE5MzNiMC4uMjk4ZDgzMTMgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWF0OTEvdGltZXguaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1hdDkxL3RpbWV4LmgKQEAgLTI3LDE0ICsyNywyOSBAQAogCiAjZGVmaW5lIENMT0NLX1RJQ0tfUkFURQkJKEFUOTFfU0xPV19DTE9DSykKIAotI2VsaWYgZGVmaW5lZChDT05GSUdfQVJDSF9BVDkxU0FNOTI2MCkgfHwgZGVmaW5lZChDT05GSUdfQVJDSF9BVDkxU0FNOTI2MSkKKyNlbGlmIGRlZmluZWQoQ09ORklHX0FSQ0hfQVQ5MVNBTTkyNjApCisKKyNpZiBkZWZpbmVkKENPTkZJR19NQUNIX1VTQl9BOTI2MCkgfHwgZGVmaW5lZChDT05GSUdfTUFDSF9RSUxfQTkyNjApCisjZGVmaW5lIEFUOTFTQU05X01BU1RFUl9DTE9DSwk5MDAwMDAwMAorI2Vsc2UKKyNkZWZpbmUgQVQ5MVNBTTlfTUFTVEVSX0NMT0NLCTk5MzAwMDAwCisjZW5kaWYKKworI2RlZmluZSBDTE9DS19USUNLX1JBVEUJCShBVDkxU0FNOV9NQVNURVJfQ0xPQ0svMTYpCisKKyNlbGlmIGRlZmluZWQoQ09ORklHX0FSQ0hfQVQ5MVNBTTkyNjEpCiAKICNkZWZpbmUgQVQ5MVNBTTlfTUFTVEVSX0NMT0NLCTk5MzAwMDAwCiAjZGVmaW5lIENMT0NLX1RJQ0tfUkFURQkJKEFUOTFTQU05X01BU1RFUl9DTE9DSy8xNikKIAogI2VsaWYgZGVmaW5lZChDT05GSUdfQVJDSF9BVDkxU0FNOTI2MykKIAorI2lmIGRlZmluZWQoQ09ORklHX01BQ0hfVVNCX0E5MjYzKQorI2RlZmluZSBBVDkxU0FNOV9NQVNURVJfQ0xPQ0sJOTAwMDAwMDAKKyNlbHNlCiAjZGVmaW5lIEFUOTFTQU05X01BU1RFUl9DTE9DSwk5OTk1OTUwMAorI2VuZGlmCisKICNkZWZpbmUgQ0xPQ0tfVElDS19SQVRFCQkoQVQ5MVNBTTlfTUFTVEVSX0NMT0NLLzE2KQogCiAjZWxpZiBkZWZpbmVkKENPTkZJR19BUkNIX0FUOTFTQU05UkwpCkBAIC00Miw2ICs1NywxMSBAQAogI2RlZmluZSBBVDkxU0FNOV9NQVNURVJfQ0xPQ0sJMTAwMDAwMDAwCiAjZGVmaW5lIENMT0NLX1RJQ0tfUkFURQkJKEFUOTFTQU05X01BU1RFUl9DTE9DSy8xNikKIAorI2VsaWYgZGVmaW5lZChDT05GSUdfQVJDSF9BVDkxU0FNOUcyMCkKKworI2RlZmluZSBBVDkxU0FNOV9NQVNURVJfQ0xPQ0sJMTMyMDk2MDAwCisjZGVmaW5lIENMT0NLX1RJQ0tfUkFURQkJKEFUOTFTQU05X01BU1RFUl9DTE9DSy8xNikKKwogI2VsaWYgZGVmaW5lZChDT05GSUdfQVJDSF9BVDkxQ0FQOSkKIAogI2RlZmluZSBBVDkxQ0FQOV9NQVNURVJfQ0xPQ0sJMTAwMDAwMDAwCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1lYnNhMjg1L2hhcmR3YXJlLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1lYnNhMjg1L2hhcmR3YXJlLmgKaW5kZXggZGFhZDhlZS4uNzQ2MTBjMiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtZWJzYTI4NS9oYXJkd2FyZS5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWVic2EyODUvaGFyZHdhcmUuaApAQCAtMTQsNyArMTQsNiBAQAogCiAjaW5jbHVkZSA8YXNtL2FyY2gvbWVtb3J5Lmg+CiAKLSNpZmRlZiBDT05GSUdfQVJDSF9GT09UQlJJREdFCiAvKiAgIFZpcnR1YWwgICAgICBQaHlzaWNhbAlTaXplCiAgKiAweGZmODAwMDAwCTB4NDAwMDAwMDAJMU1CCVgtQnVzCiAgKiAweGZmMDAwMDAwCTB4N2MwMDAwMDAJMU1CCVBDSSBJL08gc3BhY2UKQEAgLTUwLDMxICs0OSw2IEBACiAjZGVmaW5lIFBDSU1FTV9TSVpFCQkweDAxMDAwMDAwCiAjZGVmaW5lIFBDSU1FTV9CQVNFCQkweGYwMDAwMDAwCiAKLSNlbGlmIGRlZmluZWQoQ09ORklHX0FSQ0hfQ08yODUpCi0vKgotICogVGhpcyBpcyB0aGUgQ09FQlNBMjg1IGN1dC1kb3duIG1hcHBpbmcKLSAqLwotI2RlZmluZSBQQ0lNRU1fU0laRQkJMHg4MDAwMDAwMAotI2RlZmluZSBQQ0lNRU1fQkFTRQkJMHg4MDAwMDAwMAotCi0jZGVmaW5lIFdGTFVTSF9TSVpFCQkweDAxMDAwMDAwCi0jZGVmaW5lIFdGTFVTSF9CQVNFCQkweDdkMDAwMDAwCi0KLSNkZWZpbmUgQVJNQ1NSX1NJWkUJCTB4MDAxMDAwMDAKLSNkZWZpbmUgQVJNQ1NSX0JBU0UJCTB4N2NmMDAwMDAKLQotI2RlZmluZSBYQlVTX1NJWkUJCTB4MDAwMjAwMDAKLSNkZWZpbmUgWEJVU19CQVNFCQkweDdjZWUwMDAwCi0KLSNkZWZpbmUgUENJT19TSVpFCQkweDAwMDEwMDAwCi0jZGVmaW5lIFBDSU9fQkFTRQkJMHg3Y2VkMDAwMAotCi0jZWxzZQotCi0jZXJyb3IgIlVuZGVmaW5lZCBmb290YnJpZGdlIGFyY2hpdGVjdHVyZSIKLQotI2VuZGlmCi0KICNkZWZpbmUgWEJVU19MRURTCQkoKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikoWEJVU19CQVNFICsgMHgxMjAwMCkpCiAjZGVmaW5lIFhCVVNfTEVEX0FNQkVSCQkoMSA8PCAwKQogI2RlZmluZSBYQlVTX0xFRF9HUkVFTgkJKDEgPDwgMSkKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWVic2EyODUvbWVtb3J5LmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1lYnNhMjg1L21lbW9yeS5oCmluZGV4IGNiZDdhZTYuLjkwMTlhM2IgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWVic2EyODUvbWVtb3J5LmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtZWJzYTI4NS9tZW1vcnkuaApAQCAtNDIsOCArNDIsNiBAQAogCiAjZW5kaWYKIAotI2lmIGRlZmluZWQoQ09ORklHX0FSQ0hfRk9PVEJSSURHRSkKLQogLyogVGFzayBzaXplIGFuZCBwYWdlIG9mZnNldCBhdCAzR0IgKi8KICNkZWZpbmUgVEFTS19TSVpFCQlVTCgweGJmMDAwMDAwKQogI2RlZmluZSBQQUdFX09GRlNFVAkJVUwoMHhjMDAwMDAwMCkKQEAgLTUzLDIzICs1MSw2IEBACiAgKi8KICNkZWZpbmUgRkxVU0hfQkFTRQkJMHhmOTAwMDAwMAogCi0jZWxpZiBkZWZpbmVkKENPTkZJR19BUkNIX0NPMjg1KQotCi0vKiBUYXNrIHNpemUgYW5kIHBhZ2Ugb2Zmc2V0IGF0IDEuNUdCICovCi0jZGVmaW5lIFRBU0tfU0laRQkJVUwoMHg1ZjAwMDAwMCkKLSNkZWZpbmUgUEFHRV9PRkZTRVQJCVVMKDB4NjAwMDAwMDApCi0KLS8qCi0gKiBDYWNoZSBmbHVzaGluZyBhcmVhLgotICovCi0jZGVmaW5lIEZMVVNIX0JBU0UJCTB4N2UwMDAwMDAKLQotI2Vsc2UKLQotI2Vycm9yICJVbmRlZmluZWQgZm9vdGJyaWRnZSBhcmNoaXRlY3R1cmUiCi0KLSNlbmRpZgotCiAvKgogICogUGh5c2ljYWwgRFJBTSBvZmZzZXQuCiAgKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWVic2EyODUvdm1hbGxvYy5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtZWJzYTI4NS92bWFsbG9jLmgKaW5kZXggMDI1OTgyMC4uZTQ4N2Q3ZSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtZWJzYTI4NS92bWFsbG9jLmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtZWJzYTI4NS92bWFsbG9jLmgKQEAgLTcsOCArNyw0IEBACiAgKi8KIAogCi0jaWZkZWYgQ09ORklHX0FSQ0hfRk9PVEJSSURHRQogI2RlZmluZSBWTUFMTE9DX0VORCAgICAgICAoUEFHRV9PRkZTRVQgKyAweDMwMDAwMDAwKQotI2Vsc2UKLSNkZWZpbmUgVk1BTExPQ19FTkQgICAgICAgKFBBR0VfT0ZGU0VUICsgMHgyMDAwMDAwMCkKLSNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtaW14L2hhcmR3YXJlLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1pbXgvaGFyZHdhcmUuaAppbmRleCBhZGZmYjZhLi42NTQyY2E1IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1pbXgvaGFyZHdhcmUuaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1pbXgvaGFyZHdhcmUuaApAQCAtNzMsMTQgKzczLDYgQEAKICAqLwogZXh0ZXJuIHZvaWQgaW14X2dwaW9fbW9kZSggaW50IGdwaW9fbW9kZSApOwogCi0vKiBnZXQgZnJlcXVlbmNpZXMgaW4gSHogKi8KLWV4dGVybiB1bnNpZ25lZCBpbnQgaW14X2dldF9zeXN0ZW1fY2xrKHZvaWQpOwotZXh0ZXJuIHVuc2lnbmVkIGludCBpbXhfZ2V0X21jdV9jbGsodm9pZCk7Ci1leHRlcm4gdW5zaWduZWQgaW50IGlteF9nZXRfcGVyY2xrMSh2b2lkKTsgLyogVUFSVFsxMl0sIFRpbWVyWzEyXSwgUFdNICovCi1leHRlcm4gdW5zaWduZWQgaW50IGlteF9nZXRfcGVyY2xrMih2b2lkKTsgLyogTENELCBTRCwgU1BJWzEyXSAgICAgICAgICovCi1leHRlcm4gdW5zaWduZWQgaW50IGlteF9nZXRfcGVyY2xrMyh2b2lkKTsgLyogU1NJICAgICAgICAgICAgICAgICAgICAgICovCi1leHRlcm4gdW5zaWduZWQgaW50IGlteF9nZXRfaGNsayh2b2lkKTsgICAgLyogU0RSQU0sIENTSSwgTWVtb3J5IFN0aWNrLCovCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogSTJDLCBETUEgICAgICAgICAgICAgICAgICovCiAjZW5kaWYKIAogI2RlZmluZSBNQVhJUlFOVU0gICAgICAgICAgICAgICAgICAgICAgIDYyCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1pbXgvaW14LWRtYS5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtaW14L2lteC1kbWEuaAppbmRleCA1YjEwNjZkLi40NGQ4OWMzIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1pbXgvaW14LWRtYS5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWlteC9pbXgtZG1hLmgKQEAgLTg4LDcgKzg4LDcgQEAKIAogdm9pZCBpbXhfZG1hX2ZyZWUoaW14X2RtYWNoX3QgZG1hX2NoKTsKIAotaW50IGlteF9kbWFfcmVxdWVzdF9ieV9wcmlvKGlteF9kbWFjaF90ICpwZG1hX2NoLCBjb25zdCBjaGFyICpuYW1lLCBpbXhfZG1hX3ByaW8gcHJpbyk7CitpbXhfZG1hY2hfdCBpbXhfZG1hX3JlcXVlc3RfYnlfcHJpbyhjb25zdCBjaGFyICpuYW1lLCBpbXhfZG1hX3ByaW8gcHJpbyk7CiAKIAogI2VuZGlmCS8qIF9BU01fQVJDSF9JTVhfRE1BX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWlteC9pbXgtdWFydC5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtaW14L2lteC11YXJ0LmgKaW5kZXggM2E2ODVlMS4uZDU0ZWIxZCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtaW14L2lteC11YXJ0LmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtaW14L2lteC11YXJ0LmgKQEAgLTQsNiArNCw4IEBACiAjZGVmaW5lIElNWFVBUlRfSEFWRV9SVFNDVFMgKDE8PDApCiAKIHN0cnVjdCBpbXh1YXJ0X3BsYXRmb3JtX2RhdGEgeworCWludCAoKmluaXQpKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpOworCXZvaWQgKCpleGl0KShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KTsKIAl1bnNpZ25lZCBpbnQgZmxhZ3M7CiB9OwogCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1pb3AxM3h4L2RtYS5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtaW9wMTN4eC9kbWEuaAppbmRleCAyZTE1ZGE1My4uZDc5ODQ2ZiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtaW9wMTN4eC9kbWEuaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1pb3AxM3h4L2RtYS5oCkBAIC0xLDMgKzEsMyBAQAogI2lmbmRlZiBfSU9QMTNYWF9ETUFfSAotI2RlZmluZSBfSU9QMTNYWF9ETUFfSF8KKyNkZWZpbmUgX0lPUDEzWFhfRE1BX0gKICNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtaW9wMzJ4L2dwaW8uaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWlvcDMyeC9ncGlvLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzA4ZjRlYwotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWlvcDMyeC9ncGlvLmgKQEAgLTAsMCArMSw2IEBACisjaWZuZGVmIF9fQVNNX0FSQ0hfSU9QMzJYX0dQSU9fSAorI2RlZmluZSBfX0FTTV9BUkNIX0lPUDMyWF9HUElPX0gKKworI2luY2x1ZGUgPGFzbS9oYXJkd2FyZS9pb3AzeHgtZ3Bpby5oPgorCisjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWlvcDMzeC9ncGlvLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1pb3AzM3gvZ3Bpby5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRkZDU1YmIKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1pb3AzM3gvZ3Bpby5oCkBAIC0wLDAgKzEsNiBAQAorI2lmbmRlZiBfX0FTTV9BUkNIX0lPUDMzWF9HUElPX0gKKyNkZWZpbmUgX19BU01fQVJDSF9JT1AzM1hfR1BJT19ICisKKyNpbmNsdWRlIDxhc20vaGFyZHdhcmUvaW9wM3h4LWdwaW8uaD4KKworI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1peHA0eHgvZnNnLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1peHA0eHgvZnNnLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzAxMDBjYwotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWl4cDR4eC9mc2cuaApAQCAtMCwwICsxLDUwIEBACisvKgorICogaW5jbHVkZS9hc20tYXJtL2FyY2gtaXhwNHh4L2ZzZy5oCisgKgorICogRnJlZWNvbSBGU0ctMyBwbGF0Zm9ybSBzcGVjaWZpYyBkZWZpbml0aW9ucworICoKKyAqIEF1dGhvcjogUm9kIFdoaXRieSA8cm9kQHdoaXRieS5pZC5hdT4KKyAqIEF1dGhvcjogVG9tYXN6IENobWllbGV3c2tpIDxtYW5nb29Ad3BrZy5vcmc+CisgKiBNYWludGFpbmVyczogaHR0cDovL3d3dy5uc2x1Mi1saW51eC5vcmcKKyAqCisgKiBCYXNlZCBvbiBjb3lvdGUuaCBieQorICogQ29weXJpZ2h0IDIwMDQgKGMpIE1vbnRhVmlzdGEsIFNvZnR3YXJlLCBJbmMuCisgKgorICogVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHVuZGVyICB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSB2ZXJzaW9uIDIuIFRoaXMgcHJvZ3JhbSBpcyBsaWNlbnNlZCAiYXMgaXMiIHdpdGhvdXQgYW55CisgKiB3YXJyYW50eSBvZiBhbnkga2luZCwgd2hldGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKi8KKworI2lmbmRlZiBfX0FTTV9BUkNIX0hBUkRXQVJFX0hfXworI2Vycm9yICJEbyBub3QgaW5jbHVkZSB0aGlzIGRpcmVjdGx5LCBpbnN0ZWFkICNpbmNsdWRlIDxhc20vaGFyZHdhcmUuaD4iCisjZW5kaWYKKworI2RlZmluZSBGU0dfU0RBX1BJTgkJMTIKKyNkZWZpbmUgRlNHX1NDTF9QSU4JCTEzCisKKy8qCisgKiBGU0cgUENJIElSUXMKKyAqLworI2RlZmluZSBGU0dfUENJX01BWF9ERVYJCTMKKyNkZWZpbmUgRlNHX1BDSV9JUlFfTElORVMJMworCisKKy8qIFBDSSBjb250cm9sbGVyIEdQSU8gdG8gSVJRIHBpbiBtYXBwaW5ncyAqLworI2RlZmluZSBGU0dfUENJX0lOVEFfUElOCTYKKyNkZWZpbmUgRlNHX1BDSV9JTlRCX1BJTgk3CisjZGVmaW5lIEZTR19QQ0lfSU5UQ19QSU4JNQorCisvKiBCdXR0b25zICovCisKKyNkZWZpbmUgRlNHX1NCX0dQSU8JCTQJLyogc3luYyBidXR0b24gKi8KKyNkZWZpbmUgRlNHX1JCX0dQSU8JCTkJLyogcmVzZXQgYnV0dG9uICovCisjZGVmaW5lIEZTR19VQl9HUElPCQkxMAkvKiB1c2IgYnV0dG9uICovCisKKy8qIExFRHMgKi8KKworI2RlZmluZSBGU0dfTEVEX1dMQU5fQklUCTAKKyNkZWZpbmUgRlNHX0xFRF9XQU5fQklUCQkxCisjZGVmaW5lIEZTR19MRURfU0FUQV9CSVQJMgorI2RlZmluZSBGU0dfTEVEX1VTQl9CSVQJCTQKKyNkZWZpbmUgRlNHX0xFRF9SSU5HX0JJVAk1CisjZGVmaW5lIEZTR19MRURfU1lOQ19CSVQJNwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtaXhwNHh4L2hhcmR3YXJlLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1peHA0eHgvaGFyZHdhcmUuaAppbmRleCA3M2U4ZGMzLi5mYTcyM2E2IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1peHA0eHgvaGFyZHdhcmUuaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1peHA0eHgvaGFyZHdhcmUuaApAQCAtNDUsNSArNDUsNiBAQAogI2luY2x1ZGUgIm5zbHUyLmgiCiAjaW5jbHVkZSAibmFzMTAwZC5oIgogI2luY2x1ZGUgImRzbWc2MDAuaCIKKyNpbmNsdWRlICJmc2cuaCIKIAogI2VuZGlmICAvKiBfQVNNX0FSQ0hfSEFSRFdBUkVfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtaXhwNHh4L2lycXMuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWl4cDR4eC9pcnFzLmgKaW5kZXggMTE4MDE2MC4uNjc0YWY0YSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtaXhwNHh4L2lycXMuaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1peHA0eHgvaXJxcy5oCkBAIC0xMjgsNCArMTI4LDExIEBACiAjZGVmaW5lICAgICAgICBJUlFfRFNNRzYwMF9QQ0lfSU5URSAgICBJUlFfSVhQNFhYX0dQSU83CiAjZGVmaW5lICAgICAgICBJUlFfRFNNRzYwMF9QQ0lfSU5URiAgICBJUlFfSVhQNFhYX0dQSU82CiAKKy8qCisgKiBGcmVlY29tIEZTRy0zIEJvYXJkIElSUXMKKyAqLworI2RlZmluZSAgICAgICAgSVJRX0ZTR19QQ0lfSU5UQSAgICAgICAgSVJRX0lYUDRYWF9HUElPNgorI2RlZmluZSAgICAgICAgSVJRX0ZTR19QQ0lfSU5UQiAgICAgICAgSVJRX0lYUDRYWF9HUElPNworI2RlZmluZSAgICAgICAgSVJRX0ZTR19QQ0lfSU5UQyAgICAgICAgSVJRX0lYUDRYWF9HUElPNQorCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWtpcmt3b29kL2RlYnVnLW1hY3JvLlMgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1raXJrd29vZC9kZWJ1Zy1tYWNyby5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY1NWZiOGEKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1raXJrd29vZC9kZWJ1Zy1tYWNyby5TCkBAIC0wLDAgKzEsMjAgQEAKKy8qCisgKiBpbmNsdWRlL2FzbS1hcm0vYXJjaC1raXJrd29vZC9kZWJ1Zy1tYWNyby5TCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCisgKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyovCisKKyNpbmNsdWRlIDxhc20vYXJjaC9raXJrd29vZC5oPgorCisJLm1hY3JvCWFkZHJ1YXJ0LHJ4CisJbXJjCXAxNSwgMCwgXHJ4LCBjMSwgYzAKKwl0c3QJXHJ4LCAjMQkJCQkJQCBNTVUgZW5hYmxlZD8KKwlsZHJlcQlccngsID1LSVJLV09PRF9SRUdTX1BIWVNfQkFTRQorCWxkcm5lCVxyeCwgPUtJUktXT09EX1JFR1NfVklSVF9CQVNFCisJb3JyCVxyeCwgXHJ4LCAjMHgwMDAxMjAwMAorCS5lbmRtCisKKyNkZWZpbmUgVUFSVF9TSElGVAkyCisjaW5jbHVkZSA8YXNtL2hhcmR3YXJlL2RlYnVnLTgyNTAuUz4KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWtpcmt3b29kL2RtYS5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gta2lya3dvb2QvZG1hLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDBhOGMxNwotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWtpcmt3b29kL2RtYS5oCkBAIC0wLDAgKzEgQEAKKy8qIGVtcHR5ICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1raXJrd29vZC9lbnRyeS1tYWNyby5TIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gta2lya3dvb2QvZW50cnktbWFjcm8uUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mYzZhNDNkCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gta2lya3dvb2QvZW50cnktbWFjcm8uUwpAQCAtMCwwICsxLDQwIEBACisvKgorICogaW5jbHVkZS9hc20tYXJtL2FyY2gta2lya3dvb2QvZW50cnktbWFjcm8uUworICoKKyAqIExvdy1sZXZlbCBJUlEgaGVscGVyIG1hY3JvcyBmb3IgTWFydmVsbCBLaXJrd29vZCBwbGF0Zm9ybXMKKyAqCisgKiBUaGlzIGZpbGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgdmVyc2lvbiAyLiAgVGhpcyBwcm9ncmFtIGlzIGxpY2Vuc2VkICJhcyBpcyIgd2l0aG91dCBhbnkKKyAqIHdhcnJhbnR5IG9mIGFueSBraW5kLCB3aGV0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqLworCisjaW5jbHVkZSA8YXNtL2FyY2gva2lya3dvb2QuaD4KKworCS5tYWNybyAgZGlzYWJsZV9maXEKKwkuZW5kbQorCisJLm1hY3JvICBhcmNoX3JldF90b191c2VyLCB0bXAxLCB0bXAyCisJLmVuZG0KKworCS5tYWNybyAgZ2V0X2lycW5yX3ByZWFtYmxlLCBiYXNlLCB0bXAKKwlsZHIJXGJhc2UsID1JUlFfVklSVF9CQVNFCisJLmVuZG0KKworCS5tYWNybyAgZ2V0X2lycW5yX2FuZF9iYXNlLCBpcnFuciwgaXJxc3RhdCwgYmFzZSwgdG1wCisJQCBjaGVjayBsb3cgaW50ZXJydXB0cworCWxkcglcaXJxc3RhdCwgW1xiYXNlLCAjSVJRX0NBVVNFX0xPV19PRkZdCisJbGRyCVx0bXAsIFtcYmFzZSwgI0lSUV9NQVNLX0xPV19PRkZdCisJbW92CVxpcnFuciwgIzMxCisJYW5kcwlcaXJxc3RhdCwgXGlycXN0YXQsIFx0bXAKKwlibmUJMTAwMWYKKworCUAgaWYgbm8gbG93IGludGVycnVwdHMgc2V0LCBjaGVjayBoaWdoIGludGVycnVwdHMKKwlsZHIJXGlycXN0YXQsIFtcYmFzZSwgI0lSUV9DQVVTRV9ISUdIX09GRl0KKwlsZHIJXHRtcCwgW1xiYXNlLCAjSVJRX01BU0tfSElHSF9PRkZdCisJbW92CVxpcnFuciwgIzYzCisJYW5kcwlcaXJxc3RhdCwgXGlycXN0YXQsIFx0bXAKKworCUAgZmluZCBmaXJzdCBhY3RpdmUgaW50ZXJydXB0IHNvdXJjZQorMTAwMToJY2x6bmUJXGlycXN0YXQsIFxpcnFzdGF0CisJc3VibmUJXGlycW5yLCBcaXJxbnIsIFxpcnFzdGF0CisJLmVuZG0KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWtpcmt3b29kL2hhcmR3YXJlLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1raXJrd29vZC9oYXJkd2FyZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OTU3MTkKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1raXJrd29vZC9oYXJkd2FyZS5oCkBAIC0wLDAgKzEsMjEgQEAKKy8qCisgKiBpbmNsdWRlL2FzbS1hcm0vYXJjaC1raXJrd29vZC9oYXJkd2FyZS5oCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCisgKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyAqLworCisjaWZuZGVmIF9fQVNNX0FSQ0hfSEFSRFdBUkVfSAorI2RlZmluZSBfX0FTTV9BUkNIX0hBUkRXQVJFX0gKKworI2luY2x1ZGUgImtpcmt3b29kLmgiCisKKyNkZWZpbmUgcGNpYmlvc19hc3NpZ25fYWxsX2J1c3NlcygpCTEKKworI2RlZmluZSBQQ0lCSU9TX01JTl9JTwkJCTB4MDAwMDEwMDAKKyNkZWZpbmUgUENJQklPU19NSU5fTUVNCQkJMHgwMTAwMDAwMAorI2RlZmluZSBQQ0lNRU1fQkFTRQkJCUtJUktXT09EX1BDSUVfTUVNX1BIWVNfQkFTRSAvKiBtZW0gYmFzZSBmb3IgVkdBICovCisKKworI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1raXJrd29vZC9pby5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gta2lya3dvb2QvaW8uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZWY2ZTk1Ci0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gta2lya3dvb2QvaW8uaApAQCAtMCwwICsxLDI2IEBACisvKgorICogaW5jbHVkZS9hc20tYXJtL2FyY2gta2lya3dvb2QvaW8uaAorICoKKyAqIFRoaXMgZmlsZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSB2ZXJzaW9uIDIuICBUaGlzIHByb2dyYW0gaXMgbGljZW5zZWQgImFzIGlzIiB3aXRob3V0IGFueQorICogd2FycmFudHkgb2YgYW55IGtpbmQsIHdoZXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICovCisKKyNpZm5kZWYgX19BU01fQVJDSF9JT19ICisjZGVmaW5lIF9fQVNNX0FSQ0hfSU9fSAorCisjaW5jbHVkZSAia2lya3dvb2QuaCIKKworI2RlZmluZSBJT19TUEFDRV9MSU1JVAkJMHhmZmZmZmZmZgorCitzdGF0aWMgaW5saW5lIHZvaWQgX19pb21lbSAqX19pbyh1bnNpZ25lZCBsb25nIGFkZHIpCit7CisJcmV0dXJuICh2b2lkIF9faW9tZW0gKikoKGFkZHIgLSBLSVJLV09PRF9QQ0lFX0lPX1BIWVNfQkFTRSkKKwkJCQkJKyBLSVJLV09PRF9QQ0lFX0lPX1ZJUlRfQkFTRSk7Cit9CisKKyNkZWZpbmUgX19pbyhhKQkJCV9faW8oYSkKKyNkZWZpbmUgX19tZW1fcGNpKGEpCQkoYSkKKworCisjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWtpcmt3b29kL2lycXMuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWtpcmt3b29kL2lycXMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZTdiNWRhCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gta2lya3dvb2QvaXJxcy5oCkBAIC0wLDAgKzEsNjMgQEAKKy8qCisgKiBpbmNsdWRlL2FzbS1hcm0vYXJjaC1raXJrd29vZC9pcnFzLmgKKyAqCisgKiBJUlEgZGVmaW5pdGlvbnMgZm9yIE1hcnZlbGwgS2lya3dvb2QgU29DcworICoKKyAqIFRoaXMgZmlsZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSB2ZXJzaW9uIDIuICBUaGlzIHByb2dyYW0gaXMgbGljZW5zZWQgImFzIGlzIiB3aXRob3V0IGFueQorICogd2FycmFudHkgb2YgYW55IGtpbmQsIHdoZXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICovCisKKyNpZm5kZWYgX19BU01fQVJDSF9JUlFTX0gKKyNkZWZpbmUgX19BU01fQVJDSF9JUlFTX0gKKworI2luY2x1ZGUgImtpcmt3b29kLmgiCS8qIG5lZWQgR1BJT19NQVggKi8KKworLyoKKyAqIExvdyBJbnRlcnJ1cHQgQ29udHJvbGxlcgorICovCisjZGVmaW5lIElSUV9LSVJLV09PRF9ISUdIX1NVTQkwCisjZGVmaW5lIElSUV9LSVJLV09PRF9CUklER0UJMQorI2RlZmluZSBJUlFfS0lSS1dPT0RfSE9TVDJDUFUJMgorI2RlZmluZSBJUlFfS0lSS1dPT0RfQ1BVMkhPU1QJMworI2RlZmluZSBJUlFfS0lSS1dPT0RfWE9SXzAwCTUKKyNkZWZpbmUgSVJRX0tJUktXT09EX1hPUl8wMQk2CisjZGVmaW5lIElSUV9LSVJLV09PRF9YT1JfMTAJNworI2RlZmluZSBJUlFfS0lSS1dPT0RfWE9SXzExCTgKKyNkZWZpbmUgSVJRX0tJUktXT09EX1BDSUUJOQorI2RlZmluZSBJUlFfS0lSS1dPT0RfR0UwMF9TVU0JMTEKKyNkZWZpbmUgSVJRX0tJUktXT09EX0dFMDFfU1VNCTE1CisjZGVmaW5lIElSUV9LSVJLV09PRF9VU0IJMTkKKyNkZWZpbmUgSVJRX0tJUktXT09EX1NBVEEJMjEKKyNkZWZpbmUgSVJRX0tJUktXT09EX0NSWVBUTwkyMgorI2RlZmluZSBJUlFfS0lSS1dPT0RfU1BJCTIzCisjZGVmaW5lIElSUV9LSVJLV09PRF9JMlMJMjQKKyNkZWZpbmUgSVJRX0tJUktXT09EX1RTXzAJMjYKKyNkZWZpbmUgSVJRX0tJUktXT09EX1NESU8JMjgKKyNkZWZpbmUgSVJRX0tJUktXT09EX1RXU0kJMjkKKyNkZWZpbmUgSVJRX0tJUktXT09EX0FWQgkzMAorI2RlZmluZSBJUlFfS0lSS1dPT0RfVERNSQkzMQorCisvKgorICogSGlnaCBJbnRlcnJ1cHQgQ29udHJvbGxlcgorICovCisjZGVmaW5lIElSUV9LSVJLV09PRF9VQVJUXzAJMzMKKyNkZWZpbmUgSVJRX0tJUktXT09EX1VBUlRfMQkzNAorI2RlZmluZSBJUlFfS0lSS1dPT0RfR1BJT19MT1dfMF83CTM1CisjZGVmaW5lIElSUV9LSVJLV09PRF9HUElPX0xPV184XzE1CTM2CisjZGVmaW5lIElSUV9LSVJLV09PRF9HUElPX0xPV18xNl8yMwkzNworI2RlZmluZSBJUlFfS0lSS1dPT0RfR1BJT19MT1dfMjRfMzEJMzgKKyNkZWZpbmUgSVJRX0tJUktXT09EX0dQSU9fSElHSF8wXzcJMzkKKyNkZWZpbmUgSVJRX0tJUktXT09EX0dQSU9fSElHSF84XzE1CTQwCisjZGVmaW5lIElSUV9LSVJLV09PRF9HUElPX0hJR0hfMTZfMjMJNDEKKworLyoKKyAqIEtJUktXT09EIEdlbmVyYWwgUHVycG9zZSBQaW5zCisgKi8KKyNkZWZpbmUgSVJRX0tJUktXT09EX0dQSU9fU1RBUlQJNjQKKyNkZWZpbmUgTlJfR1BJT19JUlFTCQlHUElPX01BWAorCisjZGVmaW5lIE5SX0lSUVMJCQkoSVJRX0tJUktXT09EX0dQSU9fU1RBUlQgKyBOUl9HUElPX0lSUVMpCisKKworI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1raXJrd29vZC9raXJrd29vZC5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gta2lya3dvb2Qva2lya3dvb2QuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYjMxYjMxNQotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWtpcmt3b29kL2tpcmt3b29kLmgKQEAgLTAsMCArMSwxMDAgQEAKKy8qCisgKiBpbmNsdWRlL2FzbS1hcm0vYXJjaC1raXJrd29vZC9raXJrd29vZC5oCisgKgorICogR2VuZXJpYyBkZWZpbml0aW9ucyBmb3IgTWFydmVsbCBLaXJrd29vZCBTb0MgZmxhdm9yczoKKyAqICA4OEY2MTgwLCA4OEY2MTkyIGFuZCA4OEY2MjgxLgorICoKKyAqIFRoaXMgZmlsZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSB2ZXJzaW9uIDIuICBUaGlzIHByb2dyYW0gaXMgbGljZW5zZWQgImFzIGlzIiB3aXRob3V0IGFueQorICogd2FycmFudHkgb2YgYW55IGtpbmQsIHdoZXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICovCisKKyNpZm5kZWYgX19BU01fQVJDSF9LSVJLV09PRF9ICisjZGVmaW5lIF9fQVNNX0FSQ0hfS0lSS1dPT0RfSAorCisvKgorICogTWFydmVsbCBLaXJrd29vZCBhZGRyZXNzIG1hcHMuCisgKgorICogcGh5cworICogZTAwMDAwMDAJUENJZSBNZW1vcnkgc3BhY2UKKyAqIGYxMDAwMDAwCW9uLWNoaXAgcGVyaXBoZXJhbCByZWdpc3RlcnMKKyAqIGYyMDAwMDAwCVBDSWUgSS9PIHNwYWNlCisgKiBmMzAwMDAwMAlOQU5EIGNvbnRyb2xsZXIgYWRkcmVzcyB3aW5kb3cKKyAqCisgKiB2aXJ0CQlwaHlzCQlzaXplCisgKiBmZWUwMDAwMAlmMTAwMDAwMAkxTQlvbi1jaGlwIHBlcmlwaGVyYWwgcmVnaXN0ZXJzCisgKiBmZWYwMDAwMAlmMjAwMDAwMAkxTQlQQ0llIEkvTyBzcGFjZQorICovCisKKyNkZWZpbmUgS0lSS1dPT0RfTkFORF9NRU1fUEhZU19CQVNFCTB4ZjMwMDAwMDAKKyNkZWZpbmUgS0lSS1dPT0RfTkFORF9NRU1fU0laRQkJU1pfNjRLIC8qIDFLIGlzIHN1ZmZpY2llbnQsIGJ1dCA2NEsKKwkJCQkJCSogaXMgdGhlIG1pbmltYWwgd2luZG93IHNpemUKKwkJCQkJCSovCisKKyNkZWZpbmUgS0lSS1dPT0RfUENJRV9JT19QSFlTX0JBU0UJMHhmMjAwMDAwMAorI2RlZmluZSBLSVJLV09PRF9QQ0lFX0lPX1ZJUlRfQkFTRQkweGZlZjAwMDAwCisjZGVmaW5lIEtJUktXT09EX1BDSUVfSU9fQlVTX0JBU0UJMHgwMDAwMDAwMAorI2RlZmluZSBLSVJLV09PRF9QQ0lFX0lPX1NJWkUJCVNaXzFNCisKKyNkZWZpbmUgS0lSS1dPT0RfUkVHU19QSFlTX0JBU0UJCTB4ZjEwMDAwMDAKKyNkZWZpbmUgS0lSS1dPT0RfUkVHU19WSVJUX0JBU0UJCTB4ZmVlMDAwMDAKKyNkZWZpbmUgS0lSS1dPT0RfUkVHU19TSVpFCQlTWl8xTQorCisjZGVmaW5lIEtJUktXT09EX1BDSUVfTUVNX1BIWVNfQkFTRQkweGUwMDAwMDAwCisjZGVmaW5lIEtJUktXT09EX1BDSUVfTUVNX1NJWkUJCVNaXzEyOE0KKworLyoKKyAqIE1CVVMgYnJpZGdlIHJlZ2lzdGVycy4KKyAqLworI2RlZmluZSBCUklER0VfVklSVF9CQVNFCShLSVJLV09PRF9SRUdTX1ZJUlRfQkFTRSB8IDB4MjAwMDApCisjZGVmaW5lICBDUFVfQ09OVFJPTAkJKEJSSURHRV9WSVJUX0JBU0UgfCAweDAxMDQpCisjZGVmaW5lICAgQ1BVX1JFU0VUCQkweDAwMDAwMDAyCisjZGVmaW5lICBSU1RPVVRuX01BU0sJCShCUklER0VfVklSVF9CQVNFIHwgMHgwMTA4KQorI2RlZmluZSAgIFNPRlRfUkVTRVRfT1VUX0VOCTB4MDAwMDAwMDQKKyNkZWZpbmUgIFNZU1RFTV9TT0ZUX1JFU0VUCShCUklER0VfVklSVF9CQVNFIHwgMHgwMTBjKQorI2RlZmluZSAgIFNPRlRfUkVTRVQJCTB4MDAwMDAwMDEKKyNkZWZpbmUgIEJSSURHRV9DQVVTRQkJKEJSSURHRV9WSVJUX0JBU0UgfCAweDAxMTApCisjZGVmaW5lICBCUklER0VfTUFTSwkJKEJSSURHRV9WSVJUX0JBU0UgfCAweDAxMTQpCisjZGVmaW5lICAgQlJJREdFX0lOVF9USU1FUjAJMHgwMDAyCisjZGVmaW5lICAgQlJJREdFX0lOVF9USU1FUjEJMHgwMDA0CisjZGVmaW5lICAgQlJJREdFX0lOVF9USU1FUjFfQ0xSCSh+MHgwMDA0KQorI2RlZmluZSAgSVJRX1ZJUlRfQkFTRQkJKEJSSURHRV9WSVJUX0JBU0UgfCAweDAyMDApCisjZGVmaW5lICAgSVJRX0NBVVNFX0xPV19PRkYJMHgwMDAwCisjZGVmaW5lICAgSVJRX01BU0tfTE9XX09GRgkweDAwMDQKKyNkZWZpbmUgICBJUlFfQ0FVU0VfSElHSF9PRkYJMHgwMDEwCisjZGVmaW5lICAgSVJRX01BU0tfSElHSF9PRkYJMHgwMDE0CisjZGVmaW5lICBUSU1FUl9WSVJUX0JBU0UJKEJSSURHRV9WSVJUX0JBU0UgfCAweDAzMDApCisjZGVmaW5lICBMMl9DT05GSUdfUkVHCQkoQlJJREdFX1ZJUlRfQkFTRSB8IDB4MDEyOCkKKyNkZWZpbmUgICBMMl9XUklURVRIUk9VR0gJMHgwMDAwMDAxMAorCisvKgorICogUmVnaXN0ZXIgTWFwCisgKi8KKyNkZWZpbmUgRERSX1ZJUlRfQkFTRQkJKEtJUktXT09EX1JFR1NfVklSVF9CQVNFIHwgMHgwMDAwMCkKKyNkZWZpbmUgIEREUl9XSU5ET1dfQ1BVX0JBU0UJKEREUl9WSVJUX0JBU0UgfCAweDE1MDApCisKKyNkZWZpbmUgREVWX0JVU19QSFlTX0JBU0UJKEtJUktXT09EX1JFR1NfUEhZU19CQVNFIHwgMHgxMDAwMCkKKyNkZWZpbmUgREVWX0JVU19WSVJUX0JBU0UJKEtJUktXT09EX1JFR1NfVklSVF9CQVNFIHwgMHgxMDAwMCkKKyNkZWZpbmUgIFNBTVBMRV9BVF9SRVNFVAkoREVWX0JVU19WSVJUX0JBU0UgfCAweDAwMzApCisjZGVmaW5lICBERVZJQ0VfSUQJCShERVZfQlVTX1ZJUlRfQkFTRSB8IDB4MDAzNCkKKyNkZWZpbmUgIFJUQ19QSFlTX0JBU0UJCShERVZfQlVTX1BIWVNfQkFTRSB8IDB4MDMwMCkKKyNkZWZpbmUgIFNQSV9QSFlTX0JBU0UJCShERVZfQlVTX1BIWVNfQkFTRSB8IDB4MDYwMCkKKyNkZWZpbmUgIFVBUlQwX1BIWVNfQkFTRQkoREVWX0JVU19QSFlTX0JBU0UgfCAweDIwMDApCisjZGVmaW5lICBVQVJUMF9WSVJUX0JBU0UJKERFVl9CVVNfVklSVF9CQVNFIHwgMHgyMDAwKQorI2RlZmluZSAgVUFSVDFfUEhZU19CQVNFCShERVZfQlVTX1BIWVNfQkFTRSB8IDB4MjEwMCkKKyNkZWZpbmUgIFVBUlQxX1ZJUlRfQkFTRQkoREVWX0JVU19WSVJUX0JBU0UgfCAweDIxMDApCisKKyNkZWZpbmUgUENJRV9WSVJUX0JBU0UJCShLSVJLV09PRF9SRUdTX1ZJUlRfQkFTRSB8IDB4NDAwMDApCisKKyNkZWZpbmUgVVNCX1BIWVNfQkFTRQkJKEtJUktXT09EX1JFR1NfUEhZU19CQVNFIHwgMHg1MDAwMCkKKworI2RlZmluZSBHRTAwX1BIWVNfQkFTRQkJKEtJUktXT09EX1JFR1NfUEhZU19CQVNFIHwgMHg3MDAwMCkKKyNkZWZpbmUgR0UwMV9QSFlTX0JBU0UJCShLSVJLV09PRF9SRUdTX1BIWVNfQkFTRSB8IDB4NzQwMDApCisKKyNkZWZpbmUgU0FUQV9QSFlTX0JBU0UJCShLSVJLV09PRF9SRUdTX1BIWVNfQkFTRSB8IDB4ODAwMDApCisKKworI2RlZmluZSBHUElPX01BWAkJNTAKKworCisjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWtpcmt3b29kL21lbW9yeS5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gta2lya3dvb2QvbWVtb3J5LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTUxMDhmNAotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWtpcmt3b29kL21lbW9yeS5oCkBAIC0wLDAgKzEsMTQgQEAKKy8qCisgKiBpbmNsdWRlL2FzbS1hcm0vYXJjaC1raXJrd29vZC9tZW1vcnkuaAorICovCisKKyNpZm5kZWYgX19BU01fQVJDSF9NRU1PUllfSAorI2RlZmluZSBfX0FTTV9BUkNIX01FTU9SWV9ICisKKyNkZWZpbmUgUEhZU19PRkZTRVQJCVVMKDB4MDAwMDAwMDApCisKKyNkZWZpbmUgX192aXJ0X3RvX2J1cyh4KQlfX3ZpcnRfdG9fcGh5cyh4KQorI2RlZmluZSBfX2J1c190b192aXJ0KHgpCV9fcGh5c190b192aXJ0KHgpCisKKworI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1raXJrd29vZC9zeXN0ZW0uaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWtpcmt3b29kL3N5c3RlbS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhkZGU3ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1raXJrd29vZC9zeXN0ZW0uaApAQCAtMCwwICsxLDM3IEBACisvKgorICogaW5jbHVkZS9hc20tYXJtL2FyY2gta2lya3dvb2Qvc3lzdGVtLmgKKyAqCisgKiBUaGlzIGZpbGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgdmVyc2lvbiAyLiAgVGhpcyBwcm9ncmFtIGlzIGxpY2Vuc2VkICJhcyBpcyIgd2l0aG91dCBhbnkKKyAqIHdhcnJhbnR5IG9mIGFueSBraW5kLCB3aGV0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqLworCisjaWZuZGVmIF9fQVNNX0FSQ0hfU1lTVEVNX0gKKyNkZWZpbmUgX19BU01fQVJDSF9TWVNURU1fSAorCisjaW5jbHVkZSA8YXNtL2FyY2gvaGFyZHdhcmUuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9raXJrd29vZC5oPgorCitzdGF0aWMgaW5saW5lIHZvaWQgYXJjaF9pZGxlKHZvaWQpCit7CisJY3B1X2RvX2lkbGUoKTsKK30KKworc3RhdGljIGlubGluZSB2b2lkIGFyY2hfcmVzZXQoY2hhciBtb2RlKQoreworCS8qCisJICogRW5hYmxlIHNvZnQgcmVzZXQgdG8gYXNzZXJ0IFJTVE9VVG4uCisJICovCisJd3JpdGVsKFNPRlRfUkVTRVRfT1VUX0VOLCBSU1RPVVRuX01BU0spOworCisJLyoKKwkgKiBBc3NlcnQgc29mdCByZXNldC4KKwkgKi8KKwl3cml0ZWwoU09GVF9SRVNFVCwgU1lTVEVNX1NPRlRfUkVTRVQpOworCisJd2hpbGUgKDEpCisJCTsKK30KKworCisjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWtpcmt3b29kL3RpbWV4LmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1raXJrd29vZC90aW1leC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgyMTIyZTEKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1raXJrd29vZC90aW1leC5oCkBAIC0wLDAgKzEsMTEgQEAKKy8qCisgKiBpbmNsdWRlL2FzbS1hcm0vYXJjaC1raXJrd29vZC90aW1leC5oCisgKgorICogVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIHZlcnNpb24gMi4gIFRoaXMgcHJvZ3JhbSBpcyBsaWNlbnNlZCAiYXMgaXMiIHdpdGhvdXQgYW55CisgKiB3YXJyYW50eSBvZiBhbnkga2luZCwgd2hldGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKi8KKworI2RlZmluZSBDTE9DS19USUNLX1JBVEUJCSgxMDAgKiBIWikKKworI2RlZmluZSBLSVJLV09PRF9UQ0xLCQkxNjY2NjY2NjcKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWtpcmt3b29kL3VuY29tcHJlc3MuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWtpcmt3b29kL3VuY29tcHJlc3MuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hOTA2MmI2Ci0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gta2lya3dvb2QvdW5jb21wcmVzcy5oCkBAIC0wLDAgKzEsNDcgQEAKKy8qCisgKiBpbmNsdWRlL2FzbS1hcm0vYXJjaC1raXJrd29vZC91bmNvbXByZXNzLmgKKyAqCisgKiBUaGlzIGZpbGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgdmVyc2lvbiAyLiAgVGhpcyBwcm9ncmFtIGlzIGxpY2Vuc2VkICJhcyBpcyIgd2l0aG91dCBhbnkKKyAqIHdhcnJhbnR5IG9mIGFueSBraW5kLCB3aGV0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqLworCisjaW5jbHVkZSA8bGludXgvc2VyaWFsX3JlZy5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2tpcmt3b29kLmg+CisKKyNkZWZpbmUgU0VSSUFMX0JBU0UJKCh1bnNpZ25lZCBjaGFyICopVUFSVDBfUEhZU19CQVNFKQorCitzdGF0aWMgdm9pZCBwdXRjKGNvbnN0IGNoYXIgYykKK3sKKwl1bnNpZ25lZCBjaGFyICpiYXNlID0gU0VSSUFMX0JBU0U7CisJaW50IGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgMHgxMDAwOyBpKyspIHsKKwkJaWYgKGJhc2VbVUFSVF9MU1IgPDwgMl0gJiBVQVJUX0xTUl9USFJFKQorCQkJYnJlYWs7CisJCWJhcnJpZXIoKTsKKwl9CisKKwliYXNlW1VBUlRfVFggPDwgMl0gPSBjOworfQorCitzdGF0aWMgdm9pZCBmbHVzaCh2b2lkKQoreworCXVuc2lnbmVkIGNoYXIgKmJhc2UgPSBTRVJJQUxfQkFTRTsKKwl1bnNpZ25lZCBjaGFyIG1hc2s7CisJaW50IGk7CisKKwltYXNrID0gVUFSVF9MU1JfVEVNVCB8IFVBUlRfTFNSX1RIUkU7CisKKwlmb3IgKGkgPSAwOyBpIDwgMHgxMDAwOyBpKyspIHsKKwkJaWYgKChiYXNlW1VBUlRfTFNSIDw8IDJdICYgbWFzaykgPT0gbWFzaykKKwkJCWJyZWFrOworCQliYXJyaWVyKCk7CisJfQorfQorCisvKgorICogbm90aGluZyB0byBkbworICovCisjZGVmaW5lIGFyY2hfZGVjb21wX3NldHVwKCkKKyNkZWZpbmUgYXJjaF9kZWNvbXBfd2RvZygpCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1raXJrd29vZC92bWFsbG9jLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1raXJrd29vZC92bWFsbG9jLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDE4NTJjNgotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWtpcmt3b29kL3ZtYWxsb2MuaApAQCAtMCwwICsxLDUgQEAKKy8qCisgKiBpbmNsdWRlL2FzbS1hcm0vYXJjaC1raXJrd29vZC92bWFsbG9jLmgKKyAqLworCisjZGVmaW5lIFZNQUxMT0NfRU5ECTB4ZmU4MDAwMDAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWxva2kvZGVidWctbWFjcm8uUyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWxva2kvZGVidWctbWFjcm8uUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ODU1MDJlCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbG9raS9kZWJ1Zy1tYWNyby5TCkBAIC0wLDAgKzEsMjAgQEAKKy8qCisgKiBpbmNsdWRlL2FzbS1hcm0vYXJjaC1sb2tpL2RlYnVnLW1hY3JvLlMKKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMKKyAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorKi8KKworI2luY2x1ZGUgPGFzbS9hcmNoL2xva2kuaD4KKworCS5tYWNybwlhZGRydWFydCxyeAorCW1yYwlwMTUsIDAsIFxyeCwgYzEsIGMwCisJdHN0CVxyeCwgIzEJCQkJCUAgTU1VIGVuYWJsZWQ/CisJbGRyZXEJXHJ4LCA9TE9LSV9SRUdTX1BIWVNfQkFTRQorCWxkcm5lCVxyeCwgPUxPS0lfUkVHU19WSVJUX0JBU0UKKwlvcnIJXHJ4LCBccngsICMweDAwMDEyMDAwCisJLmVuZG0KKworI2RlZmluZSBVQVJUX1NISUZUCTIKKyNpbmNsdWRlIDxhc20vaGFyZHdhcmUvZGVidWctODI1MC5TPgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtbG9raS9kbWEuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWxva2kvZG1hLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDBhOGMxNwotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWxva2kvZG1hLmgKQEAgLTAsMCArMSBAQAorLyogZW1wdHkgKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWxva2kvZW50cnktbWFjcm8uUyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWxva2kvZW50cnktbWFjcm8uUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42OTMyNTdjCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbG9raS9lbnRyeS1tYWNyby5TCkBAIC0wLDAgKzEsMzAgQEAKKy8qCisgKiBpbmNsdWRlL2FzbS1hcm0vYXJjaC1sb2tpL2VudHJ5LW1hY3JvLlMKKyAqCisgKiBMb3ctbGV2ZWwgSVJRIGhlbHBlciBtYWNyb3MgZm9yIE1hcnZlbGwgTG9raSAoODhSQzg0ODApIHBsYXRmb3JtcworICoKKyAqIFRoaXMgZmlsZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSB2ZXJzaW9uIDIuICBUaGlzIHByb2dyYW0gaXMgbGljZW5zZWQgImFzIGlzIiB3aXRob3V0IGFueQorICogd2FycmFudHkgb2YgYW55IGtpbmQsIHdoZXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICovCisKKyNpbmNsdWRlIDxhc20vYXJjaC9sb2tpLmg+CisKKwkubWFjcm8gIGRpc2FibGVfZmlxCisJLmVuZG0KKworCS5tYWNybyAgYXJjaF9yZXRfdG9fdXNlciwgdG1wMSwgdG1wMgorCS5lbmRtCisKKwkubWFjcm8gIGdldF9pcnFucl9wcmVhbWJsZSwgYmFzZSwgdG1wCisJbGRyCVxiYXNlLCA9SVJRX1ZJUlRfQkFTRQorCS5lbmRtCisKKwkubWFjcm8gIGdldF9pcnFucl9hbmRfYmFzZSwgaXJxbnIsIGlycXN0YXQsIGJhc2UsIHRtcAorCWxkcglcaXJxc3RhdCwgW1xiYXNlLCAjSVJRX0NBVVNFX09GRl0KKwlsZHIJXHRtcCwgW1xiYXNlLCAjSVJRX01BU0tfT0ZGXQorCW1vdglcaXJxbnIsICMwCisJYW5kcwlcaXJxc3RhdCwgXGlycXN0YXQsIFx0bXAKKwljbHpuZQlcaXJxbnIsIFxpcnFzdGF0CisJcnNibmUJXGlycW5yLCBcaXJxbnIsICMzMQorCS5lbmRtCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1sb2tpL2hhcmR3YXJlLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1sb2tpL2hhcmR3YXJlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjY1YjAxYwotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWxva2kvaGFyZHdhcmUuaApAQCAtMCwwICsxLDE1IEBACisvKgorICogaW5jbHVkZS9hc20tYXJtL2FyY2gtbG9raS9oYXJkd2FyZS5oCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCisgKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyAqLworCisjaWZuZGVmIF9fQVNNX0FSQ0hfSEFSRFdBUkVfSAorI2RlZmluZSBfX0FTTV9BUkNIX0hBUkRXQVJFX0gKKworI2luY2x1ZGUgImxva2kuaCIKKworCisjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWxva2kvaW8uaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWxva2kvaW8uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNzQxOGE5Ci0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbG9raS9pby5oCkBAIC0wLDAgKzEsMjYgQEAKKy8qCisgKiBpbmNsdWRlL2FzbS1hcm0vYXJjaC1sb2tpL2lvLmgKKyAqCisgKiBUaGlzIGZpbGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgdmVyc2lvbiAyLiAgVGhpcyBwcm9ncmFtIGlzIGxpY2Vuc2VkICJhcyBpcyIgd2l0aG91dCBhbnkKKyAqIHdhcnJhbnR5IG9mIGFueSBraW5kLCB3aGV0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqLworCisjaWZuZGVmIF9fQVNNX0FSQ0hfSU9fSAorI2RlZmluZSBfX0FTTV9BUkNIX0lPX0gKKworI2luY2x1ZGUgImxva2kuaCIKKworI2RlZmluZSBJT19TUEFDRV9MSU1JVAkJMHhmZmZmZmZmZgorCitzdGF0aWMgaW5saW5lIHZvaWQgX19pb21lbSAqX19pbyh1bnNpZ25lZCBsb25nIGFkZHIpCit7CisJcmV0dXJuICh2b2lkIF9faW9tZW0gKikoKGFkZHIgLSBMT0tJX1BDSUUwX0lPX1BIWVNfQkFTRSkKKwkJCQkJKyBMT0tJX1BDSUUwX0lPX1ZJUlRfQkFTRSk7Cit9CisKKyNkZWZpbmUgX19pbyhhKQkJCV9faW8oYSkKKyNkZWZpbmUgX19tZW1fcGNpKGEpCQkoYSkKKworCisjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWxva2kvaXJxcy5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbG9raS9pcnFzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2U0OTcxNAotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWxva2kvaXJxcy5oCkBAIC0wLDAgKzEsNTggQEAKKy8qCisgKiBpbmNsdWRlL2FzbS1hcm0vYXJjaC1sb2tpL2lycXMuaAorICoKKyAqIElSUSBkZWZpbml0aW9ucyBmb3IgTWFydmVsbCBMb2tpICg4OFJDODQ4MCkgU29DcworICoKKyAqIFRoaXMgZmlsZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSB2ZXJzaW9uIDIuICBUaGlzIHByb2dyYW0gaXMgbGljZW5zZWQgImFzIGlzIiB3aXRob3V0IGFueQorICogd2FycmFudHkgb2YgYW55IGtpbmQsIHdoZXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICovCisKKyNpZm5kZWYgX19BU01fQVJDSF9JUlFTX0gKKyNkZWZpbmUgX19BU01fQVJDSF9JUlFTX0gKKworI2luY2x1ZGUgImxva2kuaCIJLyogbmVlZCBHUElPX01BWCAqLworCisvKgorICogSW50ZXJydXB0IENvbnRyb2xsZXIKKyAqLworI2RlZmluZSBJUlFfTE9LSV9QQ0lFX0FfQ1BVX0RSQkwJMAorI2RlZmluZSBJUlFfTE9LSV9DUFVfUENJRV9BX0RSQkwJMQorI2RlZmluZSBJUlFfTE9LSV9QQ0lFX0JfQ1BVX0RSQkwJMgorI2RlZmluZSBJUlFfTE9LSV9DUFVfUENJRV9CX0RSQkwJMworI2RlZmluZSBJUlFfTE9LSV9DT01fQV9FUlIJCTYKKyNkZWZpbmUgSVJRX0xPS0lfQ09NX0FfSU4JCTcKKyNkZWZpbmUgSVJRX0xPS0lfQ09NX0FfT1VUCQk4CisjZGVmaW5lIElSUV9MT0tJX0NPTV9CX0VSUgkJOQorI2RlZmluZSBJUlFfTE9LSV9DT01fQl9JTgkJMTAKKyNkZWZpbmUgSVJRX0xPS0lfQ09NX0JfT1VUCQkxMQorI2RlZmluZSBJUlFfTE9LSV9ETUFfQQkJCTEyCisjZGVmaW5lIElSUV9MT0tJX0RNQV9CCQkJMTMKKyNkZWZpbmUgSVJRX0xPS0lfU0FTX0EJCQkxNAorI2RlZmluZSBJUlFfTE9LSV9TQVNfQgkJCTE1CisjZGVmaW5lIElSUV9MT0tJX0REUgkJCTE2CisjZGVmaW5lIElSUV9MT0tJX1hPUgkJCTE3CisjZGVmaW5lIElSUV9MT0tJX0JSSURHRQkJCTE4CisjZGVmaW5lIElSUV9MT0tJX1BDSUVfQV9FUlIJCTIwCisjZGVmaW5lIElSUV9MT0tJX1BDSUVfQV9JTlQJCTIxCisjZGVmaW5lIElSUV9MT0tJX1BDSUVfQl9FUlIJCTIyCisjZGVmaW5lIElSUV9MT0tJX1BDSUVfQl9JTlQJCTIzCisjZGVmaW5lIElSUV9MT0tJX0dCRV9BX0lOVAkJMjQKKyNkZWZpbmUgSVJRX0xPS0lfR0JFX0JfSU5UCQkyNQorI2RlZmluZSBJUlFfTE9LSV9ERVZfRVJSCQkyNgorI2RlZmluZSBJUlFfTE9LSV9VQVJUMAkJCTI3CisjZGVmaW5lIElSUV9MT0tJX1VBUlQxCQkJMjgKKyNkZWZpbmUgSVJRX0xPS0lfVFdTSQkJCTI5CisjZGVmaW5lIElSUV9MT0tJX0dQSU9fMjNfMAkJMzAKKyNkZWZpbmUgSVJRX0xPS0lfR1BJT18yNV8yNAkJMzEKKworLyoKKyAqIExva2kgR2VuZXJhbCBQdXJwb3NlIFBpbnMKKyAqLworI2RlZmluZSBJUlFfTE9LSV9HUElPX1NUQVJUCTMyCisjZGVmaW5lIE5SX0dQSU9fSVJRUwkJR1BJT19NQVgKKworI2RlZmluZSBOUl9JUlFTCQkJKElSUV9MT0tJX0dQSU9fU1RBUlQgKyBOUl9HUElPX0lSUVMpCisKKworI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1sb2tpL2xva2kuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWxva2kvbG9raS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVkZDA1ZWUKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1sb2tpL2xva2kuaApAQCAtMCwwICsxLDk3IEBACisvKgorICogaW5jbHVkZS9hc20tYXJtL2FyY2gtbG9raS9sb2tpLmgKKyAqCisgKiBHZW5lcmljIGRlZmluaXRpb25zIGZvciBNYXJ2ZWxsIExva2kgKDg4UkM4NDgwKSBTb0MgZmxhdm9ycworICoKKyAqIFRoaXMgZmlsZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSB2ZXJzaW9uIDIuICBUaGlzIHByb2dyYW0gaXMgbGljZW5zZWQgImFzIGlzIiB3aXRob3V0IGFueQorICogd2FycmFudHkgb2YgYW55IGtpbmQsIHdoZXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICovCisKKyNpZm5kZWYgX19BU01fQVJDSF9MT0tJX0gKKyNkZWZpbmUgX19BU01fQVJDSF9MT0tJX0gKKworLyoKKyAqIE1hcnZlbGwgTG9raSAoODhSQzg0ODApIGFkZHJlc3MgbWFwcy4KKyAqCisgKiBwaHlzCisgKiBkMDAwMDAwMAlvbi1jaGlwIHBlcmlwaGVyYWwgcmVnaXN0ZXJzCisgKiBlMDAwMDAwMAlQQ0llIDAgTWVtb3J5IHNwYWNlCisgKiBlODAwMDAwMAlQQ0llIDEgTWVtb3J5IHNwYWNlCisgKiBmMDAwMDAwMAlQQ0llIDAgSS9PIHNwYWNlCisgKiBmMDEwMDAwMAlQQ0llIDEgSS9PIHNwYWNlCisgKgorICogdmlydAkJcGh5cwkJc2l6ZQorICogZmVkMDAwMDAJZDAwMDAwMDAJMU0Jb24tY2hpcCBwZXJpcGhlcmFsIHJlZ2lzdGVycworICogZmVlMDAwMDAJZjAwMDAwMDAJNjRLCVBDSWUgMCBJL08gc3BhY2UKKyAqIGZlZjAwMDAwCWYwMTAwMDAwCTY0SwlQQ0llIDEgSS9PIHNwYWNlCisgKi8KKworI2RlZmluZSBMT0tJX1JFR1NfUEhZU19CQVNFCQkweGQwMDAwMDAwCisjZGVmaW5lIExPS0lfUkVHU19WSVJUX0JBU0UJCTB4ZmVkMDAwMDAKKyNkZWZpbmUgTE9LSV9SRUdTX1NJWkUJCQlTWl8xTQorCisjZGVmaW5lIExPS0lfUENJRTBfSU9fUEhZU19CQVNFCQkweGYwMDAwMDAwCisjZGVmaW5lIExPS0lfUENJRTBfSU9fVklSVF9CQVNFCQkweGZlZTAwMDAwCisjZGVmaW5lIExPS0lfUENJRTBfSU9fQlVTX0JBU0UJCTB4MDAwMDAwMDAKKyNkZWZpbmUgTE9LSV9QQ0lFMF9JT19TSVpFCQlTWl82NEsKKworI2RlZmluZSBMT0tJX1BDSUUxX0lPX1BIWVNfQkFTRQkJMHhmMDEwMDAwMAorI2RlZmluZSBMT0tJX1BDSUUxX0lPX1ZJUlRfQkFTRQkJMHhmZWYwMDAwMAorI2RlZmluZSBMT0tJX1BDSUUxX0lPX0JVU19CQVNFCQkweDAwMDAwMDAwCisjZGVmaW5lIExPS0lfUENJRTFfSU9fU0laRQkJU1pfNjRLCisKKyNkZWZpbmUgTE9LSV9QQ0lFMF9NRU1fUEhZU19CQVNFCTB4ZTAwMDAwMDAKKyNkZWZpbmUgTE9LSV9QQ0lFMF9NRU1fU0laRQkJU1pfMTI4TQorCisjZGVmaW5lIExPS0lfUENJRTFfTUVNX1BIWVNfQkFTRQkweGU4MDAwMDAwCisjZGVmaW5lIExPS0lfUENJRTFfTUVNX1NJWkUJCVNaXzEyOE0KKworLyoKKyAqIFJlZ2lzdGVyIE1hcAorICovCisjZGVmaW5lIERFVl9CVVNfUEhZU19CQVNFCShMT0tJX1JFR1NfUEhZU19CQVNFIHwgMHgxMDAwMCkKKyNkZWZpbmUgREVWX0JVU19WSVJUX0JBU0UJKExPS0lfUkVHU19WSVJUX0JBU0UgfCAweDEwMDAwKQorI2RlZmluZSAgVUFSVDBfUEhZU19CQVNFCShERVZfQlVTX1BIWVNfQkFTRSB8IDB4MjAwMCkKKyNkZWZpbmUgIFVBUlQwX1ZJUlRfQkFTRQkoREVWX0JVU19WSVJUX0JBU0UgfCAweDIwMDApCisjZGVmaW5lICBVQVJUMV9QSFlTX0JBU0UJKERFVl9CVVNfUEhZU19CQVNFIHwgMHgyMTAwKQorI2RlZmluZSAgVUFSVDFfVklSVF9CQVNFCShERVZfQlVTX1ZJUlRfQkFTRSB8IDB4MjEwMCkKKworI2RlZmluZSBCUklER0VfVklSVF9CQVNFCShMT0tJX1JFR1NfVklSVF9CQVNFIHwgMHgyMDAwMCkKKyNkZWZpbmUgIEJSSURHRV9SRUcoeCkJCShCUklER0VfVklSVF9CQVNFIHwgKHgpKQorI2RlZmluZSAgUlNUT1VUbl9NQVNLCQkoQlJJREdFX1ZJUlRfQkFTRSB8IDB4MDEwOCkKKyNkZWZpbmUgICBTT0ZUX1JFU0VUX09VVF9FTgkweDAwMDAwMDA0CisjZGVmaW5lICBTWVNURU1fU09GVF9SRVNFVAkoQlJJREdFX1ZJUlRfQkFTRSB8IDB4MDEwYykKKyNkZWZpbmUgICBTT0ZUX1JFU0VUCQkweDAwMDAwMDAxCisjZGVmaW5lICBCUklER0VfQ0FVU0UJCShCUklER0VfVklSVF9CQVNFIHwgMHgwMTEwKQorI2RlZmluZSAgQlJJREdFX01BU0sJCShCUklER0VfVklSVF9CQVNFIHwgMHgwMTE0KQorI2RlZmluZSAgIEJSSURHRV9JTlRfVElNRVIwCTB4MDAwMgorI2RlZmluZSAgIEJSSURHRV9JTlRfVElNRVIxCTB4MDAwNAorI2RlZmluZSAgIEJSSURHRV9JTlRfVElNRVIxX0NMUgkweDAwMDQKKyNkZWZpbmUgIElSUV9WSVJUX0JBU0UJCShCUklER0VfVklSVF9CQVNFIHwgMHgwMjAwKQorI2RlZmluZSAgIElSUV9DQVVTRV9PRkYJCTB4MDAwMAorI2RlZmluZSAgIElSUV9NQVNLX09GRgkJMHgwMDA0CisjZGVmaW5lICBUSU1FUl9WSVJUX0JBU0UJKEJSSURHRV9WSVJUX0JBU0UgfCAweDAzMDApCisKKyNkZWZpbmUgUENJRTBfVklSVF9CQVNFCQkoTE9LSV9SRUdTX1ZJUlRfQkFTRSB8IDB4MzAwMDApCisKKyNkZWZpbmUgUENJRTFfVklSVF9CQVNFCQkoTE9LSV9SRUdTX1ZJUlRfQkFTRSB8IDB4NDAwMDApCisKKyNkZWZpbmUgU0FTMF9QSFlTX0JBU0UJCShMT0tJX1JFR1NfUEhZU19CQVNFIHwgMHg4MDAwMCkKKworI2RlZmluZSBTQVMxX1BIWVNfQkFTRQkJKExPS0lfUkVHU19QSFlTX0JBU0UgfCAweDkwMDAwKQorCisjZGVmaW5lIEdFMF9QSFlTX0JBU0UJCShMT0tJX1JFR1NfUEhZU19CQVNFIHwgMHhhMDAwMCkKKyNkZWZpbmUgR0UwX1ZJUlRfQkFTRQkJKExPS0lfUkVHU19WSVJUX0JBU0UgfCAweGEwMDAwKQorCisjZGVmaW5lIEdFMV9QSFlTX0JBU0UJCShMT0tJX1JFR1NfUEhZU19CQVNFIHwgMHhiMDAwMCkKKyNkZWZpbmUgR0UxX1ZJUlRfQkFTRQkJKExPS0lfUkVHU19WSVJUX0JBU0UgfCAweGIwMDAwKQorCisjZGVmaW5lIEREUl9WSVJUX0JBU0UJCShMT0tJX1JFR1NfVklSVF9CQVNFIHwgMHhmMDAwMCkKKyNkZWZpbmUgRERSX1JFRyh4KQkJKEREUl9WSVJUX0JBU0UgfCAoeCkpCisKKworI2RlZmluZSBHUElPX01BWAkJOAorCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtbG9raS9tZW1vcnkuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWxva2kvbWVtb3J5LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODM1MTAxZQotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWxva2kvbWVtb3J5LmgKQEAgLTAsMCArMSwxNCBAQAorLyoKKyAqIGluY2x1ZGUvYXNtLWFybS9hcmNoLWxva2kvbWVtb3J5LmgKKyAqLworCisjaWZuZGVmIF9fQVNNX0FSQ0hfTUVNT1JZX0gKKyNkZWZpbmUgX19BU01fQVJDSF9NRU1PUllfSAorCisjZGVmaW5lIFBIWVNfT0ZGU0VUCQlVTCgweDAwMDAwMDAwKQorCisjZGVmaW5lIF9fdmlydF90b19idXMoeCkJX192aXJ0X3RvX3BoeXMoeCkKKyNkZWZpbmUgX19idXNfdG9fdmlydCh4KQlfX3BoeXNfdG9fdmlydCh4KQorCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtbG9raS9zeXN0ZW0uaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWxva2kvc3lzdGVtLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTM1NjhhYwotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWxva2kvc3lzdGVtLmgKQEAgLTAsMCArMSwzNyBAQAorLyoKKyAqIGluY2x1ZGUvYXNtLWFybS9hcmNoLWxva2kvc3lzdGVtLmgKKyAqCisgKiBUaGlzIGZpbGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgdmVyc2lvbiAyLiAgVGhpcyBwcm9ncmFtIGlzIGxpY2Vuc2VkICJhcyBpcyIgd2l0aG91dCBhbnkKKyAqIHdhcnJhbnR5IG9mIGFueSBraW5kLCB3aGV0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqLworCisjaWZuZGVmIF9fQVNNX0FSQ0hfU1lTVEVNX0gKKyNkZWZpbmUgX19BU01fQVJDSF9TWVNURU1fSAorCisjaW5jbHVkZSA8YXNtL2FyY2gvaGFyZHdhcmUuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9sb2tpLmg+CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBhcmNoX2lkbGUodm9pZCkKK3sKKwljcHVfZG9faWRsZSgpOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgYXJjaF9yZXNldChjaGFyIG1vZGUpCit7CisJLyoKKwkgKiBFbmFibGUgc29mdCByZXNldCB0byBhc3NlcnQgUlNUT1VUbi4KKwkgKi8KKwl3cml0ZWwoU09GVF9SRVNFVF9PVVRfRU4sIFJTVE9VVG5fTUFTSyk7CisKKwkvKgorCSAqIEFzc2VydCBzb2Z0IHJlc2V0LgorCSAqLworCXdyaXRlbChTT0ZUX1JFU0VULCBTWVNURU1fU09GVF9SRVNFVCk7CisKKwl3aGlsZSAoMSkKKwkJOworfQorCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtbG9raS90aW1leC5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbG9raS90aW1leC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk0MDAxNGYKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1sb2tpL3RpbWV4LmgKQEAgLTAsMCArMSwxMSBAQAorLyoKKyAqIGluY2x1ZGUvYXNtLWFybS9hcmNoLWxva2kvdGltZXguaAorICoKKyAqIFRoaXMgZmlsZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSB2ZXJzaW9uIDIuICBUaGlzIHByb2dyYW0gaXMgbGljZW5zZWQgImFzIGlzIiB3aXRob3V0IGFueQorICogd2FycmFudHkgb2YgYW55IGtpbmQsIHdoZXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICovCisKKyNkZWZpbmUgQ0xPQ0tfVElDS19SQVRFCQkoMTAwICogSFopCisKKyNkZWZpbmUgTE9LSV9UQ0xLCQkxODAwMDAwMDAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWxva2kvdW5jb21wcmVzcy5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbG9raS91bmNvbXByZXNzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODlhMGNmOAotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWxva2kvdW5jb21wcmVzcy5oCkBAIC0wLDAgKzEsNDcgQEAKKy8qCisgKiBpbmNsdWRlL2FzbS1hcm0vYXJjaC1sb2tpL3VuY29tcHJlc3MuaAorICoKKyAqIFRoaXMgZmlsZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSB2ZXJzaW9uIDIuICBUaGlzIHByb2dyYW0gaXMgbGljZW5zZWQgImFzIGlzIiB3aXRob3V0IGFueQorICogd2FycmFudHkgb2YgYW55IGtpbmQsIHdoZXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICovCisKKyNpbmNsdWRlIDxsaW51eC9zZXJpYWxfcmVnLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvbG9raS5oPgorCisjZGVmaW5lIFNFUklBTF9CQVNFCSgodW5zaWduZWQgY2hhciAqKVVBUlQwX1BIWVNfQkFTRSkKKworc3RhdGljIHZvaWQgcHV0Yyhjb25zdCBjaGFyIGMpCit7CisJdW5zaWduZWQgY2hhciAqYmFzZSA9IFNFUklBTF9CQVNFOworCWludCBpOworCisJZm9yIChpID0gMDsgaSA8IDB4MTAwMDsgaSsrKSB7CisJCWlmIChiYXNlW1VBUlRfTFNSIDw8IDJdICYgVUFSVF9MU1JfVEhSRSkKKwkJCWJyZWFrOworCQliYXJyaWVyKCk7CisJfQorCisJYmFzZVtVQVJUX1RYIDw8IDJdID0gYzsKK30KKworc3RhdGljIHZvaWQgZmx1c2godm9pZCkKK3sKKwl1bnNpZ25lZCBjaGFyICpiYXNlID0gU0VSSUFMX0JBU0U7CisJdW5zaWduZWQgY2hhciBtYXNrOworCWludCBpOworCisJbWFzayA9IFVBUlRfTFNSX1RFTVQgfCBVQVJUX0xTUl9USFJFOworCisJZm9yIChpID0gMDsgaSA8IDB4MTAwMDsgaSsrKSB7CisJCWlmICgoYmFzZVtVQVJUX0xTUiA8PCAyXSAmIG1hc2spID09IG1hc2spCisJCQlicmVhazsKKwkJYmFycmllcigpOworCX0KK30KKworLyoKKyAqIG5vdGhpbmcgdG8gZG8KKyAqLworI2RlZmluZSBhcmNoX2RlY29tcF9zZXR1cCgpCisjZGVmaW5lIGFyY2hfZGVjb21wX3dkb2coKQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtbG9raS92bWFsbG9jLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1sb2tpL3ZtYWxsb2MuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNWJlMDYyCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbG9raS92bWFsbG9jLmgKQEAgLTAsMCArMSw1IEBACisvKgorICogaW5jbHVkZS9hc20tYXJtL2FyY2gtbG9raS92bWFsbG9jLmgKKyAqLworCisjZGVmaW5lIFZNQUxMT0NfRU5ECTB4ZmU4MDAwMDAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW1zbS9pcnFzLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1tc20vaXJxcy5oCmluZGV4IDU2NTQzMGMuLmU2MmExMDggMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW1zbS9pcnFzLmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXNtL2lycXMuaApAQCAtMTUsNiArMTUsNyBAQAogICovCiAKICNpZm5kZWYgX19BU01fQVJDSF9NU01fSVJRU19ICisjZGVmaW5lIF9fQVNNX0FSQ0hfTVNNX0lSUVNfSAogCiAvKiBNU00gQVJNMTEgSW50ZXJydXB0IE51bWJlcnMgKi8KIC8qIFNlZSA4MC1WRTExMy0xIEEsIHBwMjE5LTIyMSAgICAgKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW1zbS90aW1leC5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXNtL3RpbWV4LmgKaW5kZXggMTU0YjIzZi4uODcyNDQ4NyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXNtL3RpbWV4LmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXNtL3RpbWV4LmgKQEAgLTE0LDYgKzE0LDcgQEAKICAqLwogCiAjaWZuZGVmIF9fQVNNX0FSQ0hfTVNNX1RJTUVYX0gKKyNkZWZpbmUgX19BU01fQVJDSF9NU01fVElNRVhfSAogCiAjZGVmaW5lIENMT0NLX1RJQ0tfUkFURQkJMTAwMDAwMAogCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1tdjc4eHgwL2RlYnVnLW1hY3JvLlMgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1tdjc4eHgwL2RlYnVnLW1hY3JvLlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDA1OTViZAotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW12Nzh4eDAvZGVidWctbWFjcm8uUwpAQCAtMCwwICsxLDIwIEBACisvKgorICogaW5jbHVkZS9hc20tYXJtL2FyY2gtbXY3OHh4MC9kZWJ1Zy1tYWNyby5TCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCisgKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyovCisKKyNpbmNsdWRlIDxhc20vYXJjaC9tdjc4eHgwLmg+CisKKwkubWFjcm8JYWRkcnVhcnQscngKKwltcmMJcDE1LCAwLCBccngsIGMxLCBjMAorCXRzdAlccngsICMxCQkJCQlAIE1NVSBlbmFibGVkPworCWxkcmVxCVxyeCwgPU1WNzhYWDBfUkVHU19QSFlTX0JBU0UKKwlsZHJuZQlccngsID1NVjc4WFgwX1JFR1NfVklSVF9CQVNFCisJb3JyCVxyeCwgXHJ4LCAjMHgwMDAxMjAwMAorCS5lbmRtCisKKyNkZWZpbmUgVUFSVF9TSElGVAkyCisjaW5jbHVkZSA8YXNtL2hhcmR3YXJlL2RlYnVnLTgyNTAuUz4KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW12Nzh4eDAvZG1hLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1tdjc4eHgwL2RtYS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQwYThjMTcKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1tdjc4eHgwL2RtYS5oCkBAIC0wLDAgKzEgQEAKKy8qIGVtcHR5ICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1tdjc4eHgwL2VudHJ5LW1hY3JvLlMgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1tdjc4eHgwL2VudHJ5LW1hY3JvLlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTlhNjA2YgotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW12Nzh4eDAvZW50cnktbWFjcm8uUwpAQCAtMCwwICsxLDM5IEBACisvKgorICogaW5jbHVkZS9hc20tYXJtL2FyY2gtbXY3OHh4MC9lbnRyeS1tYWNyby5TCisgKgorICogTG93LWxldmVsIElSUSBoZWxwZXIgbWFjcm9zIGZvciBNYXJ2ZWxsIE1WNzh4eDAgcGxhdGZvcm1zCisgKgorICogVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIHZlcnNpb24gMi4gIFRoaXMgcHJvZ3JhbSBpcyBsaWNlbnNlZCAiYXMgaXMiIHdpdGhvdXQgYW55CisgKiB3YXJyYW50eSBvZiBhbnkga2luZCwgd2hldGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKi8KKworI2luY2x1ZGUgPGFzbS9hcmNoL212Nzh4eDAuaD4KKworCS5tYWNybyAgZGlzYWJsZV9maXEKKwkuZW5kbQorCisJLm1hY3JvICBhcmNoX3JldF90b191c2VyLCB0bXAxLCB0bXAyCisJLmVuZG0KKworCS5tYWNybyAgZ2V0X2lycW5yX3ByZWFtYmxlLCBiYXNlLCB0bXAKKwlsZHIJXGJhc2UsID1JUlFfVklSVF9CQVNFCisJLmVuZG0KKworCS5tYWNybyAgZ2V0X2lycW5yX2FuZF9iYXNlLCBpcnFuciwgaXJxc3RhdCwgYmFzZSwgdG1wCisJQCBjaGVjayBsb3cgaW50ZXJydXB0cworCWxkcglcaXJxc3RhdCwgW1xiYXNlLCAjSVJRX0NBVVNFX0xPV19PRkZdCisJbGRyCVx0bXAsIFtcYmFzZSwgI0lSUV9NQVNLX0xPV19PRkZdCisJbW92CVxpcnFuciwgIzMxCisJYW5kcwlcaXJxc3RhdCwgXGlycXN0YXQsIFx0bXAKKworCUAgaWYgbm8gbG93IGludGVycnVwdHMgc2V0LCBjaGVjayBoaWdoIGludGVycnVwdHMKKwlsZHJlcQlcaXJxc3RhdCwgW1xiYXNlLCAjSVJRX0NBVVNFX0hJR0hfT0ZGXQorCWxkcmVxCVx0bXAsIFtcYmFzZSwgI0lSUV9NQVNLX0hJR0hfT0ZGXQorCW1vdmVxCVxpcnFuciwgIzYzCisJYW5kZXFzCVxpcnFzdGF0LCBcaXJxc3RhdCwgXHRtcAorCisJQCBmaW5kIGZpcnN0IGFjdGl2ZSBpbnRlcnJ1cHQgc291cmNlCisJY2x6bmUJXGlycXN0YXQsIFxpcnFzdGF0CisJc3VibmUJXGlycW5yLCBcaXJxbnIsIFxpcnFzdGF0CisJLmVuZG0KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW12Nzh4eDAvaGFyZHdhcmUuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW12Nzh4eDAvaGFyZHdhcmUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZTE3OTI2MAotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW12Nzh4eDAvaGFyZHdhcmUuaApAQCAtMCwwICsxLDIxIEBACisvKgorICogaW5jbHVkZS9hc20tYXJtL2FyY2gtbXY3OHh4MC9oYXJkd2FyZS5oCisgKgorICogVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIHZlcnNpb24gMi4gIFRoaXMgcHJvZ3JhbSBpcyBsaWNlbnNlZCAiYXMgaXMiIHdpdGhvdXQgYW55CisgKiB3YXJyYW50eSBvZiBhbnkga2luZCwgd2hldGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKi8KKworI2lmbmRlZiBfX0FTTV9BUkNIX0hBUkRXQVJFX0gKKyNkZWZpbmUgX19BU01fQVJDSF9IQVJEV0FSRV9ICisKKyNpbmNsdWRlICJtdjc4eHgwLmgiCisKKyNkZWZpbmUgcGNpYmlvc19hc3NpZ25fYWxsX2J1c3NlcygpCTEKKworI2RlZmluZSBQQ0lCSU9TX01JTl9JTwkJCTB4MDAwMDEwMDAKKyNkZWZpbmUgUENJQklPU19NSU5fTUVNCQkJMHgwMTAwMDAwMAorI2RlZmluZSBQQ0lNRU1fQkFTRQkJCU1WNzhYWDBfUENJRV9NRU1fUEhZU19CQVNFIC8qIG1lbSBiYXNlIGZvciBWR0EgKi8KKworCisjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW12Nzh4eDAvaW8uaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW12Nzh4eDAvaW8uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MTVkNGM5Ci0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXY3OHh4MC9pby5oCkBAIC0wLDAgKzEsMjYgQEAKKy8qCisgKiBpbmNsdWRlL2FzbS1hcm0vYXJjaC1tdjc4eHgwL2lvLmgKKyAqCisgKiBUaGlzIGZpbGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgdmVyc2lvbiAyLiAgVGhpcyBwcm9ncmFtIGlzIGxpY2Vuc2VkICJhcyBpcyIgd2l0aG91dCBhbnkKKyAqIHdhcnJhbnR5IG9mIGFueSBraW5kLCB3aGV0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqLworCisjaWZuZGVmIF9fQVNNX0FSQ0hfSU9fSAorI2RlZmluZSBfX0FTTV9BUkNIX0lPX0gKKworI2luY2x1ZGUgIm12Nzh4eDAuaCIKKworI2RlZmluZSBJT19TUEFDRV9MSU1JVAkJMHhmZmZmZmZmZgorCitzdGF0aWMgaW5saW5lIHZvaWQgX19pb21lbSAqX19pbyh1bnNpZ25lZCBsb25nIGFkZHIpCit7CisJcmV0dXJuICh2b2lkIF9faW9tZW0gKikoKGFkZHIgLSBNVjc4WFgwX1BDSUVfSU9fUEhZU19CQVNFKDApKQorCQkJCQkrIE1WNzhYWDBfUENJRV9JT19WSVJUX0JBU0UoMCkpOworfQorCisjZGVmaW5lIF9faW8oYSkJCQlfX2lvKGEpCisjZGVmaW5lIF9fbWVtX3BjaShhKQkJKGEpCisKKworI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1tdjc4eHgwL2lycXMuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW12Nzh4eDAvaXJxcy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc1OTMwNDUKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1tdjc4eHgwL2lycXMuaApAQCAtMCwwICsxLDkxIEBACisvKgorICogaW5jbHVkZS9hc20tYXJtL2FyY2gtbXY3OHh4MC9pcnFzLmgKKyAqCisgKiBJUlEgZGVmaW5pdGlvbnMgZm9yIE1hcnZlbGwgTVY3OHh4MCBTb0NzCisgKgorICogVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIHZlcnNpb24gMi4gIFRoaXMgcHJvZ3JhbSBpcyBsaWNlbnNlZCAiYXMgaXMiIHdpdGhvdXQgYW55CisgKiB3YXJyYW50eSBvZiBhbnkga2luZCwgd2hldGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKi8KKworI2lmbmRlZiBfX0FTTV9BUkNIX0lSUVNfSAorI2RlZmluZSBfX0FTTV9BUkNIX0lSUVNfSAorCisjaW5jbHVkZSAibXY3OHh4MC5oIgkvKiBuZWVkIEdQSU9fTUFYICovCisKKy8qCisgKiBNVjc4eHgwIExvdyBJbnRlcnJ1cHQgQ29udHJvbGxlcgorICovCisjZGVmaW5lIElSUV9NVjc4WFgwX0VSUgkJMAorI2RlZmluZSBJUlFfTVY3OFhYMF9TUEkJCTEKKyNkZWZpbmUgSVJRX01WNzhYWDBfSTJDXzAJMgorI2RlZmluZSBJUlFfTVY3OFhYMF9JMkNfMQkzCisjZGVmaW5lIElSUV9NVjc4WFgwX0lETUFfMAk0CisjZGVmaW5lIElSUV9NVjc4WFgwX0lETUFfMQk1CisjZGVmaW5lIElSUV9NVjc4WFgwX0lETUFfMgk2CisjZGVmaW5lIElSUV9NVjc4WFgwX0lETUFfMwk3CisjZGVmaW5lIElSUV9NVjc4WFgwX1RJTUVSXzAJOAorI2RlZmluZSBJUlFfTVY3OFhYMF9USU1FUl8xCTkKKyNkZWZpbmUgSVJRX01WNzhYWDBfVElNRVJfMgkxMAorI2RlZmluZSBJUlFfTVY3OFhYMF9USU1FUl8zCTExCisjZGVmaW5lIElSUV9NVjc4WFgwX1VBUlRfMAkxMgorI2RlZmluZSBJUlFfTVY3OFhYMF9VQVJUXzEJMTMKKyNkZWZpbmUgSVJRX01WNzhYWDBfVUFSVF8yCTE0CisjZGVmaW5lIElSUV9NVjc4WFgwX1VBUlRfMwkxNQorI2RlZmluZSBJUlFfTVY3OFhYMF9VU0JfMAkxNgorI2RlZmluZSBJUlFfTVY3OFhYMF9VU0JfMQkxNworI2RlZmluZSBJUlFfTVY3OFhYMF9VU0JfMgkxOAorI2RlZmluZSBJUlFfTVY3OFhYMF9DUllQVE8JMTkKKyNkZWZpbmUgSVJRX01WNzhYWDBfU0RJT18wCTIwCisjZGVmaW5lIElSUV9NVjc4WFgwX1NESU9fMQkyMQorI2RlZmluZSBJUlFfTVY3OFhYMF9YT1JfMAkyMgorI2RlZmluZSBJUlFfTVY3OFhYMF9YT1JfMQkyMworI2RlZmluZSBJUlFfTVY3OFhYMF9JMlNfMAkyNAorI2RlZmluZSBJUlFfTVY3OFhYMF9JMlNfMQkyNQorI2RlZmluZSBJUlFfTVY3OFhYMF9TQVRBCTI2CisjZGVmaW5lIElSUV9NVjc4WFgwX1RETUkJMjcKKworLyoKKyAqIE1WNzh4eDAgSGlnaCBJbnRlcnJ1cHQgQ29udHJvbGxlcgorICovCisjZGVmaW5lIElSUV9NVjc4WFgwX1BDSUVfMDAJMzIKKyNkZWZpbmUgSVJRX01WNzhYWDBfUENJRV8wMQkzMworI2RlZmluZSBJUlFfTVY3OFhYMF9QQ0lFXzAyCTM0CisjZGVmaW5lIElSUV9NVjc4WFgwX1BDSUVfMDMJMzUKKyNkZWZpbmUgSVJRX01WNzhYWDBfUENJRV8xMAkzNgorI2RlZmluZSBJUlFfTVY3OFhYMF9QQ0lFXzExCTM3CisjZGVmaW5lIElSUV9NVjc4WFgwX1BDSUVfMTIJMzgKKyNkZWZpbmUgSVJRX01WNzhYWDBfUENJRV8xMwkzOQorI2RlZmluZSBJUlFfTVY3OFhYMF9HRTAwX1NVTQk0MAorI2RlZmluZSBJUlFfTVY3OFhYMF9HRTAwX1JYCTQxCisjZGVmaW5lIElSUV9NVjc4WFgwX0dFMDBfVFgJNDIKKyNkZWZpbmUgSVJRX01WNzhYWDBfR0UwMF9NSVNDCTQzCisjZGVmaW5lIElSUV9NVjc4WFgwX0dFMDFfU1VNCTQ0CisjZGVmaW5lIElSUV9NVjc4WFgwX0dFMDFfUlgJNDUKKyNkZWZpbmUgSVJRX01WNzhYWDBfR0UwMV9UWAk0NgorI2RlZmluZSBJUlFfTVY3OFhYMF9HRTAxX01JU0MJNDcKKyNkZWZpbmUgSVJRX01WNzhYWDBfR0UxMF9TVU0JNDgKKyNkZWZpbmUgSVJRX01WNzhYWDBfR0UxMF9SWAk0OQorI2RlZmluZSBJUlFfTVY3OFhYMF9HRTEwX1RYCTUwCisjZGVmaW5lIElSUV9NVjc4WFgwX0dFMTBfTUlTQwk1MQorI2RlZmluZSBJUlFfTVY3OFhYMF9HRTExX1NVTQk1MgorI2RlZmluZSBJUlFfTVY3OFhYMF9HRTExX1JYCTUzCisjZGVmaW5lIElSUV9NVjc4WFgwX0dFMTFfVFgJNTQKKyNkZWZpbmUgSVJRX01WNzhYWDBfR0UxMV9NSVNDCTU1CisjZGVmaW5lIElSUV9NVjc4WFgwX0dQSU9fMF83CTU2CisjZGVmaW5lIElSUV9NVjc4WFgwX0dQSU9fOF8xNQk1NworI2RlZmluZSBJUlFfTVY3OFhYMF9HUElPXzE2XzIzCTU4CisjZGVmaW5lIElSUV9NVjc4WFgwX0dQSU9fMjRfMzEJNTkKKyNkZWZpbmUgSVJRX01WNzhYWDBfREJfSU4JNjAKKyNkZWZpbmUgSVJRX01WNzhYWDBfREJfT1VUCTYxCisKKy8qCisgKiBNVjc4WFgwIEdlbmVyYWwgUHVycG9zZSBQaW5zCisgKi8KKyNkZWZpbmUgSVJRX01WNzhYWDBfR1BJT19TVEFSVAk2NAorI2RlZmluZSBOUl9HUElPX0lSUVMJCUdQSU9fTUFYCisKKyNkZWZpbmUgTlJfSVJRUwkJCShJUlFfTVY3OFhYMF9HUElPX1NUQVJUICsgTlJfR1BJT19JUlFTKQorCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXY3OHh4MC9tZW1vcnkuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW12Nzh4eDAvbWVtb3J5LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzIxYTZiMQotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW12Nzh4eDAvbWVtb3J5LmgKQEAgLTAsMCArMSwxNCBAQAorLyoKKyAqIGluY2x1ZGUvYXNtLWFybS9hcmNoLW12Nzh4eDAvbWVtb3J5LmgKKyAqLworCisjaWZuZGVmIF9fQVNNX0FSQ0hfTUVNT1JZX0gKKyNkZWZpbmUgX19BU01fQVJDSF9NRU1PUllfSAorCisjZGVmaW5lIFBIWVNfT0ZGU0VUCQlVTCgweDAwMDAwMDAwKQorCisjZGVmaW5lIF9fdmlydF90b19idXMoeCkJX192aXJ0X3RvX3BoeXMoeCkKKyNkZWZpbmUgX19idXNfdG9fdmlydCh4KQlfX3BoeXNfdG9fdmlydCh4KQorCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXY3OHh4MC9tdjc4eHgwLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1tdjc4eHgwL212Nzh4eDAuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ZjVkODNjCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXY3OHh4MC9tdjc4eHgwLmgKQEAgLTAsMCArMSwxMjYgQEAKKy8qCisgKiBpbmNsdWRlL2FzbS1hcm0vYXJjaC1tdjc4eHgwL212Nzh4eDAuaAorICoKKyAqIEdlbmVyaWMgZGVmaW5pdGlvbnMgZm9yIE1hcnZlbGwgTVY3OHh4MCBTb0MgZmxhdm9yczoKKyAqICBNVjc4MXgwIGFuZCBNVjc4MngwLgorICoKKyAqIFRoaXMgZmlsZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSB2ZXJzaW9uIDIuICBUaGlzIHByb2dyYW0gaXMgbGljZW5zZWQgImFzIGlzIiB3aXRob3V0IGFueQorICogd2FycmFudHkgb2YgYW55IGtpbmQsIHdoZXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICovCisKKyNpZm5kZWYgX19BU01fQVJDSF9NVjc4WFgwX0gKKyNkZWZpbmUgX19BU01fQVJDSF9NVjc4WFgwX0gKKworLyoKKyAqIE1hcnZlbGwgTVY3OHh4MCBhZGRyZXNzIG1hcHMuCisgKgorICogcGh5cworICogYzAwMDAwMDAJUENJZSBNZW1vcnkgc3BhY2UKKyAqIGYwODAwMDAwCVBDSWUgIzAgSS9PIHNwYWNlCisgKiBmMDkwMDAwMAlQQ0llICMxIEkvTyBzcGFjZQorICogZjBhMDAwMDAJUENJZSAjMiBJL08gc3BhY2UKKyAqIGYwYjAwMDAwCVBDSWUgIzMgSS9PIHNwYWNlCisgKiBmMGMwMDAwMAlQQ0llICM0IEkvTyBzcGFjZQorICogZjBkMDAwMDAJUENJZSAjNSBJL08gc3BhY2UKKyAqIGYwZTAwMDAwCVBDSWUgIzYgSS9PIHNwYWNlCisgKiBmMGYwMDAwMAlQQ0llICM3IEkvTyBzcGFjZQorICogZjEwMDAwMDAJb24tY2hpcCBwZXJpcGhlcmFsIHJlZ2lzdGVycworICoKKyAqIHZpcnQJCXBoeXMJCXNpemUKKyAqIGZlNDAwMDAwCWYxMDJ4MDAwCTE2Swljb3JlLXNwZWNpZmljIHBlcmlwaGVyYWwgcmVnaXN0ZXJzCisgKiBmZTcwMDAwMAlmMDgwMDAwMAkxTQlQQ0llICMwIEkvTyBzcGFjZQorICogZmU4MDAwMDAJZjA5MDAwMDAJMU0JUENJZSAjMSBJL08gc3BhY2UKKyAqIGZlOTAwMDAwCWYwYTAwMDAwCTFNCVBDSWUgIzIgSS9PIHNwYWNlCisgKiBmZWEwMDAwMAlmMGIwMDAwMAkxTQlQQ0llICMzIEkvTyBzcGFjZQorICogZmViMDAwMDAJZjBjMDAwMDAJMU0JUENJZSAjNCBJL08gc3BhY2UKKyAqIGZlYzAwMDAwCWYwZDAwMDAwCTFNCVBDSWUgIzUgSS9PIHNwYWNlCisgKiBmZWQwMDAwMAlmMGUwMDAwMAkxTQlQQ0llICM2IEkvTyBzcGFjZQorICogZmVlMDAwMDAJZjBmMDAwMDAJMU0JUENJZSAjNyBJL08gc3BhY2UKKyAqIGZlZjAwMDAwCWYxMDAwMDAwCTFNCW9uLWNoaXAgcGVyaXBoZXJhbCByZWdpc3RlcnMKKyAqLworI2RlZmluZSBNVjc4WFgwX0NPUkUwX1JFR1NfUEhZU19CQVNFCTB4ZjEwMjAwMDAKKyNkZWZpbmUgTVY3OFhYMF9DT1JFMV9SRUdTX1BIWVNfQkFTRQkweGYxMDI0MDAwCisjZGVmaW5lIE1WNzhYWDBfQ09SRV9SRUdTX1ZJUlRfQkFTRQkweGZlNDAwMDAwCisjZGVmaW5lIE1WNzhYWDBfQ09SRV9SRUdTX1NJWkUJCVNaXzE2SworCisjZGVmaW5lIE1WNzhYWDBfUENJRV9JT19QSFlTX0JBU0UoaSkJKDB4ZjA4MDAwMDAgKyAoKGkpIDw8IDIwKSkKKyNkZWZpbmUgTVY3OFhYMF9QQ0lFX0lPX1ZJUlRfQkFTRShpKQkoMHhmZTcwMDAwMCArICgoaSkgPDwgMjApKQorI2RlZmluZSBNVjc4WFgwX1BDSUVfSU9fU0laRQkJU1pfMU0KKworI2RlZmluZSBNVjc4WFgwX1JFR1NfUEhZU19CQVNFCQkweGYxMDAwMDAwCisjZGVmaW5lIE1WNzhYWDBfUkVHU19WSVJUX0JBU0UJCTB4ZmVmMDAwMDAKKyNkZWZpbmUgTVY3OFhYMF9SRUdTX1NJWkUJCVNaXzFNCisKKyNkZWZpbmUgTVY3OFhYMF9QQ0lFX01FTV9QSFlTX0JBU0UJMHhjMDAwMDAwMAorI2RlZmluZSBNVjc4WFgwX1BDSUVfTUVNX1NJWkUJCTB4MzAwMDAwMDAKKworLyoKKyAqIENvcmUtc3BlY2lmaWMgcGVyaXBoZXJhbCByZWdpc3RlcnMuCisgKi8KKyNkZWZpbmUgQlJJREdFX1ZJUlRfQkFTRQkoTVY3OFhYMF9DT1JFX1JFR1NfVklSVF9CQVNFKQorI2RlZmluZSAgQ1BVX0NPTlRST0wJCShCUklER0VfVklSVF9CQVNFIHwgMHgwMTA0KQorI2RlZmluZSAgIEwyX1dSSVRFVEhST1VHSAkweDAwMDIwMDAwCisjZGVmaW5lICBSU1RPVVRuX01BU0sJCShCUklER0VfVklSVF9CQVNFIHwgMHgwMTA4KQorI2RlZmluZSAgIFNPRlRfUkVTRVRfT1VUX0VOCTB4MDAwMDAwMDQKKyNkZWZpbmUgIFNZU1RFTV9TT0ZUX1JFU0VUCShCUklER0VfVklSVF9CQVNFIHwgMHgwMTBjKQorI2RlZmluZSAgIFNPRlRfUkVTRVQJCTB4MDAwMDAwMDEKKyNkZWZpbmUgIEJSSURHRV9DQVVTRQkJKEJSSURHRV9WSVJUX0JBU0UgfCAweDAxMTApCisjZGVmaW5lICBCUklER0VfTUFTSwkJKEJSSURHRV9WSVJUX0JBU0UgfCAweDAxMTQpCisjZGVmaW5lICAgQlJJREdFX0lOVF9USU1FUjAJMHgwMDAyCisjZGVmaW5lICAgQlJJREdFX0lOVF9USU1FUjEJMHgwMDA0CisjZGVmaW5lICAgQlJJREdFX0lOVF9USU1FUjFfQ0xSCSh+MHgwMDA0KQorI2RlZmluZSAgSVJRX1ZJUlRfQkFTRQkJKEJSSURHRV9WSVJUX0JBU0UgfCAweDAyMDApCisjZGVmaW5lICAgSVJRX0NBVVNFX0xPV19PRkYJMHgwMDA0CisjZGVmaW5lICAgSVJRX0NBVVNFX0hJR0hfT0ZGCTB4MDAwOAorI2RlZmluZSAgIElSUV9NQVNLX0xPV19PRkYJMHgwMDEwCisjZGVmaW5lICAgSVJRX01BU0tfSElHSF9PRkYJMHgwMDE0CisjZGVmaW5lICBUSU1FUl9WSVJUX0JBU0UJKEJSSURHRV9WSVJUX0JBU0UgfCAweDAzMDApCisKKy8qCisgKiBSZWdpc3RlciBNYXAKKyAqLworI2RlZmluZSBERFJfVklSVF9CQVNFCQkoTVY3OFhYMF9SRUdTX1ZJUlRfQkFTRSB8IDB4MDAwMDApCisjZGVmaW5lICBERFJfV0lORE9XX0NQVTBfQkFTRQkoRERSX1ZJUlRfQkFTRSB8IDB4MTUwMCkKKyNkZWZpbmUgIEREUl9XSU5ET1dfQ1BVMV9CQVNFCShERFJfVklSVF9CQVNFIHwgMHgxNzAwKQorCisjZGVmaW5lIERFVl9CVVNfUEhZU19CQVNFCShNVjc4WFgwX1JFR1NfUEhZU19CQVNFIHwgMHgxMDAwMCkKKyNkZWZpbmUgREVWX0JVU19WSVJUX0JBU0UJKE1WNzhYWDBfUkVHU19WSVJUX0JBU0UgfCAweDEwMDAwKQorI2RlZmluZSAgU0FNUExFX0FUX1JFU0VUX0xPVwkoREVWX0JVU19WSVJUX0JBU0UgfCAweDAwMzApCisjZGVmaW5lICBTQU1QTEVfQVRfUkVTRVRfSElHSAkoREVWX0JVU19WSVJUX0JBU0UgfCAweDAwMzQpCisjZGVmaW5lICBVQVJUMF9QSFlTX0JBU0UJKERFVl9CVVNfUEhZU19CQVNFIHwgMHgyMDAwKQorI2RlZmluZSAgVUFSVDBfVklSVF9CQVNFCShERVZfQlVTX1ZJUlRfQkFTRSB8IDB4MjAwMCkKKyNkZWZpbmUgIFVBUlQxX1BIWVNfQkFTRQkoREVWX0JVU19QSFlTX0JBU0UgfCAweDIxMDApCisjZGVmaW5lICBVQVJUMV9WSVJUX0JBU0UJKERFVl9CVVNfVklSVF9CQVNFIHwgMHgyMTAwKQorI2RlZmluZSAgVUFSVDJfUEhZU19CQVNFCShERVZfQlVTX1BIWVNfQkFTRSB8IDB4MjIwMCkKKyNkZWZpbmUgIFVBUlQyX1ZJUlRfQkFTRQkoREVWX0JVU19WSVJUX0JBU0UgfCAweDIyMDApCisjZGVmaW5lICBVQVJUM19QSFlTX0JBU0UJKERFVl9CVVNfUEhZU19CQVNFIHwgMHgyMzAwKQorI2RlZmluZSAgVUFSVDNfVklSVF9CQVNFCShERVZfQlVTX1ZJUlRfQkFTRSB8IDB4MjMwMCkKKworI2RlZmluZSBHRTEwX1BIWVNfQkFTRQkJKE1WNzhYWDBfUkVHU19QSFlTX0JBU0UgfCAweDMwMDAwKQorI2RlZmluZSBHRTExX1BIWVNfQkFTRQkJKE1WNzhYWDBfUkVHU19QSFlTX0JBU0UgfCAweDM0MDAwKQorCisjZGVmaW5lIFBDSUUwMF9WSVJUX0JBU0UJKE1WNzhYWDBfUkVHU19WSVJUX0JBU0UgfCAweDQwMDAwKQorI2RlZmluZSBQQ0lFMDFfVklSVF9CQVNFCShNVjc4WFgwX1JFR1NfVklSVF9CQVNFIHwgMHg0NDAwMCkKKyNkZWZpbmUgUENJRTAyX1ZJUlRfQkFTRQkoTVY3OFhYMF9SRUdTX1ZJUlRfQkFTRSB8IDB4NDgwMDApCisjZGVmaW5lIFBDSUUwM19WSVJUX0JBU0UJKE1WNzhYWDBfUkVHU19WSVJUX0JBU0UgfCAweDRjMDAwKQorCisjZGVmaW5lIFVTQjBfUEhZU19CQVNFCQkoTVY3OFhYMF9SRUdTX1BIWVNfQkFTRSB8IDB4NTAwMDApCisjZGVmaW5lIFVTQjFfUEhZU19CQVNFCQkoTVY3OFhYMF9SRUdTX1BIWVNfQkFTRSB8IDB4NTEwMDApCisjZGVmaW5lIFVTQjJfUEhZU19CQVNFCQkoTVY3OFhYMF9SRUdTX1BIWVNfQkFTRSB8IDB4NTIwMDApCisKKyNkZWZpbmUgR0UwMF9QSFlTX0JBU0UJCShNVjc4WFgwX1JFR1NfUEhZU19CQVNFIHwgMHg3MDAwMCkKKyNkZWZpbmUgR0UwMV9QSFlTX0JBU0UJCShNVjc4WFgwX1JFR1NfUEhZU19CQVNFIHwgMHg3NDAwMCkKKworI2RlZmluZSBQQ0lFMTBfVklSVF9CQVNFCShNVjc4WFgwX1JFR1NfVklSVF9CQVNFIHwgMHg4MDAwMCkKKyNkZWZpbmUgUENJRTExX1ZJUlRfQkFTRQkoTVY3OFhYMF9SRUdTX1ZJUlRfQkFTRSB8IDB4ODQwMDApCisjZGVmaW5lIFBDSUUxMl9WSVJUX0JBU0UJKE1WNzhYWDBfUkVHU19WSVJUX0JBU0UgfCAweDg4MDAwKQorI2RlZmluZSBQQ0lFMTNfVklSVF9CQVNFCShNVjc4WFgwX1JFR1NfVklSVF9CQVNFIHwgMHg4YzAwMCkKKworI2RlZmluZSBTQVRBX1BIWVNfQkFTRQkJKE1WNzhYWDBfUkVHU19QSFlTX0JBU0UgfCAweGEwMDAwKQorCisKKyNkZWZpbmUgR1BJT19NQVgJCTMyCisKKworI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1tdjc4eHgwL3N5c3RlbS5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXY3OHh4MC9zeXN0ZW0uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZWI0N2QzCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXY3OHh4MC9zeXN0ZW0uaApAQCAtMCwwICsxLDM3IEBACisvKgorICogaW5jbHVkZS9hc20tYXJtL2FyY2gtbXY3OHh4MC9zeXN0ZW0uaAorICoKKyAqIFRoaXMgZmlsZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSB2ZXJzaW9uIDIuICBUaGlzIHByb2dyYW0gaXMgbGljZW5zZWQgImFzIGlzIiB3aXRob3V0IGFueQorICogd2FycmFudHkgb2YgYW55IGtpbmQsIHdoZXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICovCisKKyNpZm5kZWYgX19BU01fQVJDSF9TWVNURU1fSAorI2RlZmluZSBfX0FTTV9BUkNIX1NZU1RFTV9ICisKKyNpbmNsdWRlIDxhc20vYXJjaC9oYXJkd2FyZS5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL212Nzh4eDAuaD4KKworc3RhdGljIGlubGluZSB2b2lkIGFyY2hfaWRsZSh2b2lkKQoreworCWNwdV9kb19pZGxlKCk7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBhcmNoX3Jlc2V0KGNoYXIgbW9kZSkKK3sKKwkvKgorCSAqIEVuYWJsZSBzb2Z0IHJlc2V0IHRvIGFzc2VydCBSU1RPVVRuLgorCSAqLworCXdyaXRlbChTT0ZUX1JFU0VUX09VVF9FTiwgUlNUT1VUbl9NQVNLKTsKKworCS8qCisJICogQXNzZXJ0IHNvZnQgcmVzZXQuCisJICovCisJd3JpdGVsKFNPRlRfUkVTRVQsIFNZU1RFTV9TT0ZUX1JFU0VUKTsKKworCXdoaWxlICgxKQorCQk7Cit9CisKKworI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1tdjc4eHgwL3RpbWV4LmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1tdjc4eHgwL3RpbWV4LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTg1NGIxYwotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW12Nzh4eDAvdGltZXguaApAQCAtMCwwICsxLDkgQEAKKy8qCisgKiBpbmNsdWRlL2FzbS1hcm0vYXJjaC1tdjc4eHgwL3RpbWV4LmgKKyAqCisgKiBUaGlzIGZpbGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgdmVyc2lvbiAyLiAgVGhpcyBwcm9ncmFtIGlzIGxpY2Vuc2VkICJhcyBpcyIgd2l0aG91dCBhbnkKKyAqIHdhcnJhbnR5IG9mIGFueSBraW5kLCB3aGV0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqLworCisjZGVmaW5lIENMT0NLX1RJQ0tfUkFURQkJKDEwMCAqIEhaKQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXY3OHh4MC91bmNvbXByZXNzLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1tdjc4eHgwL3VuY29tcHJlc3MuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYmZlMGEyCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXY3OHh4MC91bmNvbXByZXNzLmgKQEAgLTAsMCArMSw0NyBAQAorLyoKKyAqIGluY2x1ZGUvYXNtLWFybS9hcmNoLW12Nzh4eDAvdW5jb21wcmVzcy5oCisgKgorICogVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIHZlcnNpb24gMi4gIFRoaXMgcHJvZ3JhbSBpcyBsaWNlbnNlZCAiYXMgaXMiIHdpdGhvdXQgYW55CisgKiB3YXJyYW50eSBvZiBhbnkga2luZCwgd2hldGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L3NlcmlhbF9yZWcuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9tdjc4eHgwLmg+CisKKyNkZWZpbmUgU0VSSUFMX0JBU0UJKCh1bnNpZ25lZCBjaGFyICopVUFSVDBfUEhZU19CQVNFKQorCitzdGF0aWMgdm9pZCBwdXRjKGNvbnN0IGNoYXIgYykKK3sKKwl1bnNpZ25lZCBjaGFyICpiYXNlID0gU0VSSUFMX0JBU0U7CisJaW50IGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgMHgxMDAwOyBpKyspIHsKKwkJaWYgKGJhc2VbVUFSVF9MU1IgPDwgMl0gJiBVQVJUX0xTUl9USFJFKQorCQkJYnJlYWs7CisJCWJhcnJpZXIoKTsKKwl9CisKKwliYXNlW1VBUlRfVFggPDwgMl0gPSBjOworfQorCitzdGF0aWMgdm9pZCBmbHVzaCh2b2lkKQoreworCXVuc2lnbmVkIGNoYXIgKmJhc2UgPSBTRVJJQUxfQkFTRTsKKwl1bnNpZ25lZCBjaGFyIG1hc2s7CisJaW50IGk7CisKKwltYXNrID0gVUFSVF9MU1JfVEVNVCB8IFVBUlRfTFNSX1RIUkU7CisKKwlmb3IgKGkgPSAwOyBpIDwgMHgxMDAwOyBpKyspIHsKKwkJaWYgKChiYXNlW1VBUlRfTFNSIDw8IDJdICYgbWFzaykgPT0gbWFzaykKKwkJCWJyZWFrOworCQliYXJyaWVyKCk7CisJfQorfQorCisvKgorICogbm90aGluZyB0byBkbworICovCisjZGVmaW5lIGFyY2hfZGVjb21wX3NldHVwKCkKKyNkZWZpbmUgYXJjaF9kZWNvbXBfd2RvZygpCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1tdjc4eHgwL3ZtYWxsb2MuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW12Nzh4eDAvdm1hbGxvYy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYyYzUxMjEKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1tdjc4eHgwL3ZtYWxsb2MuaApAQCAtMCwwICsxLDUgQEAKKy8qCisgKiBpbmNsdWRlL2FzbS1hcm0vYXJjaC1tdjc4eHgwL3ZtYWxsb2MuaAorICovCisKKyNkZWZpbmUgVk1BTExPQ19FTkQJMHhmZTAwMDAwMApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL2JvYXJkLW14MjdhZHMuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW14Yy9ib2FyZC1teDI3YWRzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjFlNjZkYQotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW14Yy9ib2FyZC1teDI3YWRzLmgKQEAgLTAsMCArMSwzNTQgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAwNS0yMDA3IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKi8KKworLyoKKyAqIFRoZSBjb2RlIGNvbnRhaW5lZCBoZXJlaW4gaXMgbGljZW5zZWQgdW5kZXIgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogVmVyc2lvbiAyIG9yIGxhdGVyIGF0IHRoZSBmb2xsb3dpbmcgbG9jYXRpb25zOgorICoKKyAqIGh0dHA6Ly93d3cub3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvZ3BsLWxpY2Vuc2UuaHRtbAorICogaHR0cDovL3d3dy5nbnUub3JnL2NvcHlsZWZ0L2dwbC5odG1sCisgKi8KKworI2lmbmRlZiBfX0FTTV9BUkNIX01YQ19CT0FSRF9NWDI3QURTX0hfXworI2RlZmluZSBfX0FTTV9BUkNIX01YQ19CT0FSRF9NWDI3QURTX0hfXworCisvKiBleHRlcm5hbCBpbnRlcnJ1cHQgbXVsdGlwbGV4ZXIgKi8KKyNkZWZpbmUgTVhDX0VYUF9JT19CQVNFCQkoTVhDX0dQSU9fQkFTRSArIE1YQ19NQVhfR1BJT19MSU5FUykKKworI2RlZmluZSBNWENfVklSVFVBTF9JTlRTX0JBU0UJKE1YQ19FWFBfSU9fQkFTRSArIE1YQ19NQVhfRVhQX0lPX0xJTkVTKQorI2RlZmluZSBNWENfU0RJTzFfQ0FSRF9JUlEJTVhDX1ZJUlRVQUxfSU5UU19CQVNFCisjZGVmaW5lIE1YQ19TRElPMl9DQVJEX0lSUQkoTVhDX1ZJUlRVQUxfSU5UU19CQVNFICsgMSkKKyNkZWZpbmUgTVhDX1NESU8zX0NBUkRfSVJRCShNWENfVklSVFVBTF9JTlRTX0JBU0UgKyAyKQorCisjZGVmaW5lIE1YQ19NQVhfQk9BUkRfSU5UUyAgICAgIChNWENfTUFYX0VYUF9JT19MSU5FUyArIFwKKwkJCQlNWENfTUFYX1ZJUlRVQUxfSU5UUykKKworLyoKKyAqIE1YQyBVQVJUIEVWQiBib2FyZCBsZXZlbCBjb25maWd1cmF0aW9ucworICovCisKKyNkZWZpbmUgTVhDX0xMX0VYVFVBUlRfUEFERFIJKENTNF9CQVNFX0FERFIgKyAweDIwMDAwKQorI2RlZmluZSBNWENfTExfRVhUVUFSVF9WQUREUgkoQ1M0X0JBU0VfQUREUl9WSVJUICsgMHgyMDAwMCkKKyNkZWZpbmUgTVhDX0xMX0VYVFVBUlRfMTZCSVRfQlVTCisKKyNkZWZpbmUgTVhDX0xMX1VBUlRfUEFERFIgICAgICAgVUFSVDFfQkFTRV9BRERSCisjZGVmaW5lIE1YQ19MTF9VQVJUX1ZBRERSICAgICAgIEFJUElfSU9fQUREUkVTUyhVQVJUMV9CQVNFX0FERFIpCisKKy8qCisgKiBAbmFtZSBNZW1vcnkgU2l6ZSBwYXJhbWV0ZXJzCisgKi8KKworLyoKKyAqIFNpemUgb2YgU0RSQU0gbWVtb3J5CisgKi8KKyNkZWZpbmUgU0RSQU1fTUVNX1NJWkUgICAgICAgICAgU1pfMTI4TQorCisvKgorICogUEJDIENvbnRyb2xsZXIgcGFyYW1ldGVycworICovCisKKy8qCisgKiBCYXNlIGFkZHJlc3Mgb2YgUEJDIGNvbnRyb2xsZXIsIENTNAorICovCisjZGVmaW5lIFBCQ19CQVNFX0FERFJFU1MgICAgICAgIDB4RUIwMDAwMDAKKyNkZWZpbmUgUEJDX1JFR19BRERSKG9mZnNldCkgICAgKFBCQ19CQVNFX0FERFJFU1MgKyAob2Zmc2V0KSkKKworLyoKKyAqIFBCQyBJbnRlcnVwdCBuYW1lIGRlZmluaXRpb25zCisgKi8KKyNkZWZpbmUgUEJDX0dQSU8xXzAgIDAKKyNkZWZpbmUgUEJDX0dQSU8xXzEgIDEKKyNkZWZpbmUgUEJDX0dQSU8xXzIgIDIKKyNkZWZpbmUgUEJDX0dQSU8xXzMgIDMKKyNkZWZpbmUgUEJDX0dQSU8xXzQgIDQKKyNkZWZpbmUgUEJDX0dQSU8xXzUgIDUKKworI2RlZmluZSBQQkNfSU5UUl9NQVhfTlVNIDYKKyNkZWZpbmUgUEJDX0lOVFJfU0hBUkVEX01BWF9OVU0gOAorCisvKiBXaGVuIHRoZSBQQkMgYWRkcmVzcyBjb25uZWN0aW9uIGlzIGZpeGVkIGluIGgvdywgZGVmaW5lZCBhcyAxICovCisjZGVmaW5lIFBCQ19BRERSX1NIICAgICAgICAgICAgIDAKKworLyogT2Zmc2V0cyBmb3IgdGhlIFBCQyBDb250cm9sbGVyIHJlZ2lzdGVyICovCisvKgorICogUEJDIEJvYXJkIHZlcnNpb24gcmVnaXN0ZXIgb2Zmc2V0CisgKi8KKyNkZWZpbmUgUEJDX1ZFUlNJT05fUkVHICAgICAgICAgUEJDX1JFR19BRERSKDB4MDAwMDAgPj4gUEJDX0FERFJfU0gpCisvKgorICogUEJDIEJvYXJkIGNvbnRyb2wgcmVnaXN0ZXIgMSBzZXQgYWRkcmVzcy4KKyAqLworI2RlZmluZSBQQkNfQkNUUkwxX1NFVF9SRUcgICAgICBQQkNfUkVHX0FERFIoMHgwMDAwOCA+PiBQQkNfQUREUl9TSCkKKy8qCisgKiBQQkMgQm9hcmQgY29udHJvbCByZWdpc3RlciAxIGNsZWFyIGFkZHJlc3MuCisgKi8KKyNkZWZpbmUgUEJDX0JDVFJMMV9DTEVBUl9SRUcgICAgUEJDX1JFR19BRERSKDB4MDAwMEMgPj4gUEJDX0FERFJfU0gpCisvKgorICogUEJDIEJvYXJkIGNvbnRyb2wgcmVnaXN0ZXIgMiBzZXQgYWRkcmVzcy4KKyAqLworI2RlZmluZSBQQkNfQkNUUkwyX1NFVF9SRUcgICAgICBQQkNfUkVHX0FERFIoMHgwMDAxMCA+PiBQQkNfQUREUl9TSCkKKy8qCisgKiBQQkMgQm9hcmQgY29udHJvbCByZWdpc3RlciAyIGNsZWFyIGFkZHJlc3MuCisgKi8KKyNkZWZpbmUgUEJDX0JDVFJMMl9DTEVBUl9SRUcgICAgUEJDX1JFR19BRERSKDB4MDAwMTQgPj4gUEJDX0FERFJfU0gpCisvKgorICogUEJDIEJvYXJkIGNvbnRyb2wgcmVnaXN0ZXIgMyBzZXQgYWRkcmVzcy4KKyAqLworI2RlZmluZSBQQkNfQkNUUkwzX1NFVF9SRUcgICAgICBQQkNfUkVHX0FERFIoMHgwMDAxOCA+PiBQQkNfQUREUl9TSCkKKy8qCisgKiBQQkMgQm9hcmQgY29udHJvbCByZWdpc3RlciAzIGNsZWFyIGFkZHJlc3MuCisgKi8KKyNkZWZpbmUgUEJDX0JDVFJMM19DTEVBUl9SRUcgICAgUEJDX1JFR19BRERSKDB4MDAwMUMgPj4gUEJDX0FERFJfU0gpCisvKgorICogUEJDIEJvYXJkIGNvbnRyb2wgcmVnaXN0ZXIgMyBzZXQgYWRkcmVzcy4KKyAqLworI2RlZmluZSBQQkNfQkNUUkw0X1NFVF9SRUcgICAgICBQQkNfUkVHX0FERFIoMHgwMDAyMCA+PiBQQkNfQUREUl9TSCkKKy8qCisgKiBQQkMgQm9hcmQgY29udHJvbCByZWdpc3RlciA0IGNsZWFyIGFkZHJlc3MuCisgKi8KKyNkZWZpbmUgUEJDX0JDVFJMNF9DTEVBUl9SRUcgICAgUEJDX1JFR19BRERSKDB4MDAwMjQgPj4gUEJDX0FERFJfU0gpCisvKlBCQ19BRERSX1NICisgKiBQQkMgQm9hcmQgc3RhdHVzIHJlZ2lzdGVyIDEuCisgKi8KKyNkZWZpbmUgUEJDX0JTVEFUMV9SRUcgICAgICAgICAgUEJDX1JFR19BRERSKDB4MDAwMjggPj4gUEJDX0FERFJfU0gpCisvKgorICogUEJDIEJvYXJkIGludGVycnVwdCBzdGF0dXMgcmVnaXN0ZXIuCisgKi8KKyNkZWZpbmUgUEJDX0lOVFNUQVRVU19SRUcgICAgICAgUEJDX1JFR19BRERSKDB4MDAwMkMgPj4gUEJDX0FERFJfU0gpCisvKgorICogUEJDIEJvYXJkIGludGVycnVwdCBjdXJyZW50IHN0YXR1cyByZWdpc3Rlci4KKyAqLworI2RlZmluZSBQQkNfSU5UQ1VSUl9TVEFUVVNfUkVHICBQQkNfUkVHX0FERFIoMHgwMDAzNCA+PiBQQkNfQUREUl9TSCkKKy8qCisgKiBQQkMgSW50ZXJydXB0IG1hc2sgcmVnaXN0ZXIgc2V0IGFkZHJlc3MuCisgKi8KKyNkZWZpbmUgUEJDX0lOVE1BU0tfU0VUX1JFRyAgICAgUEJDX1JFR19BRERSKDB4MDAwMzggPj4gUEJDX0FERFJfU0gpCisvKgorICogUEJDIEludGVycnVwdCBtYXNrIHJlZ2lzdGVyIGNsZWFyIGFkZHJlc3MuCisgKi8KKyNkZWZpbmUgUEJDX0lOVE1BU0tfQ0xFQVJfUkVHICAgUEJDX1JFR19BRERSKDB4MDAwM0MgPj4gUEJDX0FERFJfU0gpCisvKgorICogRXh0ZXJuYWwgVUFSVCBBLgorICovCisjZGVmaW5lIFBCQ19TQzE2QzY1Ml9VQVJUQV9SRUcgIFBCQ19SRUdfQUREUigweDIwMDAwID4+IFBCQ19BRERSX1NIKQorLyoKKyAqIFVBUlQgNCBFeHBhbmRpbmcgU2lnbmFsIFN0YXR1cy4KKyAqLworI2RlZmluZSBQQkNfVUFSVF9TVEFUVVNfUkVHICAgICBQQkNfUkVHX0FERFIoMHgyMjAwMCA+PiBQQkNfQUREUl9TSCkKKy8qCisgKiBVQVJUIDQgRXhwYW5kaW5nIFNpZ25hbCBDb250cm9sIFNldC4KKyAqLworI2RlZmluZSBQQkNfVUNUUkxfU0VUX1JFRyAgICAgICBQQkNfUkVHX0FERFIoMHgyNDAwMCA+PiBQQkNfQUREUl9TSCkKKy8qCisgKiBVQVJUIDQgRXhwYW5kaW5nIFNpZ25hbCBDb250cm9sIENsZWFyLgorICovCisjZGVmaW5lIFBCQ19VQ1RSTF9DTFJfUkVHICAgICAgIFBCQ19SRUdfQUREUigweDI2MDAwID4+IFBCQ19BRERSX1NIKQorLyoKKyAqIEV0aGVybmV0IENvbnRyb2xsZXIgSU8gYmFzZSBhZGRyZXNzLgorICovCisjZGVmaW5lIFBCQ19DUzg5MDBBX0lPQkFTRV9SRUcgIFBCQ19SRUdfQUREUigweDQwMDAwID4+IFBCQ19BRERSX1NIKQorLyoKKyAqIEV0aGVybmV0IENvbnRyb2xsZXIgTWVtb3J5IGJhc2UgYWRkcmVzcy4KKyAqLworI2RlZmluZSBQQkNfQ1M4OTAwQV9NRU1CQVNFX1JFRyBQQkNfUkVHX0FERFIoMHg0MjAwMCA+PiBQQkNfQUREUl9TSCkKKy8qCisgKiBFdGhlcm5ldCBDb250cm9sbGVyIERNQSBiYXNlIGFkZHJlc3MuCisgKi8KKyNkZWZpbmUgUEJDX0NTODkwMEFfRE1BQkFTRV9SRUcgUEJDX1JFR19BRERSKDB4NDQwMDAgPj4gUEJDX0FERFJfU0gpCisKKy8qIFBCQyBCb2FyZCBWZXJzaW9uIFJlZ2lzdGVyIGJpdCBkZWZpbml0aW9uICovCisjZGVmaW5lIFBCQ19WRVJTSU9OX0FEUyAgICAgICAgIDB4ODAwMAkvKiBCaXQxNT0xIG1lYW5zIHZlcnNpb24gZm9yIGFkcyAqLworI2RlZmluZSBQQkNfVkVSU0lPTl9FVkJfUkVWQiAgICAweDQwMDAJLyogQklUMTQ9MSBtZWFucyB2ZXJzaW9uIGZvciBldmIgcmV2YiAqLworCisvKiBQQkMgQm9hcmQgQ29udHJvbCBSZWdpc3RlciAxIGJpdCBkZWZpbml0aW9ucyAqLworI2RlZmluZSBQQkNfQkNUUkwxX0VSU1QgICAgICAgICAweDAwMDEJLyogRXRoZXJuZXQgUmVzZXQgKi8KKyNkZWZpbmUgUEJDX0JDVFJMMV9VUlNUICAgICAgICAgMHgwMDAyCS8qIFJlc2V0IEV4dGVybmFsIFVBUlQgY29udHJvbGxlciAqLworI2RlZmluZSBQQkNfQkNUUkwxX0ZSU1QgICAgICAgICAweDAwMDQJLyogRkVDIFJlc2V0ICovCisjZGVmaW5lIFBCQ19CQ1RSTDFfRVNMRUVQICAgICAgIDB4MDAxMAkvKiBFbmFibGUgZXRoZXJuZXQgU2xlZXAgKi8KKyNkZWZpbmUgUEJDX0JDVFJMMV9MQ0RPTiAgICAgICAgMHgwODAwCS8qIEVuYWJsZSB0aGUgTENEICovCisKKy8qIFBCQyBCb2FyZCBDb250cm9sIFJlZ2lzdGVyIDIgYml0IGRlZmluaXRpb25zICovCisjZGVmaW5lIFBCQ19CQ1RSTDJfVkNDX0VOICAgICAgIDB4MDAwNAkvKiAgIEVuYWJsZSBWQ0MgKi8KKyNkZWZpbmUgUEJDX0JDVFJMMl9WUFBfRU4gICAgICAgMHgwMDA4CS8qICAgRW5hYmxlIFZwcCAqLworI2RlZmluZSBQQkNfQkNUUkwyX0FUQUZFQ19FTiAgICAwWDAwMTAKKyNkZWZpbmUgUEJDX0JDVFJMMl9BVEFGRUNfU0VMICAgMFgwMDIwCisjZGVmaW5lIFBCQ19CQ1RSTDJfQVRBX0VOICAgICAgIDBYMDA0MAorI2RlZmluZSBQQkNfQkNUUkwyX0lSREFfU0QgICAgICAwWDAwODAKKyNkZWZpbmUgUEJDX0JDVFJMMl9JUkRBX0VOICAgICAgMFgwMTAwCisjZGVmaW5lIFBCQ19CQ1RSTDJfQ0NUTDEwICAgICAgIDBYMDIwMAorI2RlZmluZSBQQkNfQkNUUkwyX0NDVEwxMSAgICAgICAwWDA0MDAKKworLyogUEJDIEJvYXJkIENvbnRyb2wgUmVnaXN0ZXIgMyBiaXQgZGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgUEJDX0JDVFJMM19IU0hfRU4gICAgICAgMFgwMDIwCisjZGVmaW5lIFBCQ19CQ1RSTDNfRlNIX01PRCAgICAgIDBYMDA0MAorI2RlZmluZSBQQkNfQkNUUkwzX09UR19IU19FTiAgICAwWDAwODAKKyNkZWZpbmUgUEJDX0JDVFJMM19PVEdfVkJVU19FTiAgMFgwMTAwCisjZGVmaW5lIFBCQ19CQ1RSTDNfRlNIX1ZCVVNfRU4gIDBYMDIwMAorI2RlZmluZSBQQkNfQkNUUkwzX1VTQl9PVEdfT04gICAwWDA4MDAKKyNkZWZpbmUgUEJDX0JDVFJMM19VU0JfRlNIX09OICAgMFgxMDAwCisKKy8qIFBCQyBCb2FyZCBDb250cm9sIFJlZ2lzdGVyIDQgYml0IGRlZmluaXRpb25zICovCisjZGVmaW5lIFBCQ19CQ1RSTDRfUkVHRU5fU0VMICAgIDBYMDAwMQorI2RlZmluZSBQQkNfQkNUUkw0X1VTRVJfT0ZGICAgICAwWDAwMDIKKyNkZWZpbmUgUEJDX0JDVFJMNF9WSUJfRU4gICAgICAgMFgwMDA0CisjZGVmaW5lIFBCQ19CQ1RSTDRfUFdSR1QxX0VOICAgIDBYMDAwOAorI2RlZmluZSBQQkNfQkNUUkw0X1BXUkdUMl9FTiAgICAwWDAwMTAKKyNkZWZpbmUgUEJDX0JDVFJMNF9TVERCWV9QUkkgICAgMFgwMDIwCisKKyNpZm5kZWYgX19BU1NFTUJMWV9fCisvKgorICogRW51bWVyYXRpb25zIGZvciBTRCBjYXJkcyBhbmQgbWVtb3J5IHN0aWNrIGNhcmQuIFRoaXMgY29ycmVzcG9uZHMgdG8KKyAqIHRoZSBjYXJkIEVOIGJpdHMgaW4gdGhlIElNUjogU0QxX0VOIHwgTVNfRU4gfCBTRDNfRU4gfCBTRDJfRU4uCisgKi8KK2VudW0gbXhjX2NhcmRfbm8geworCU1YQ19DQVJEX1NEMiA9IDAsCisJTVhDX0NBUkRfU0QzLAorCU1YQ19DQVJEX01TLAorCU1YQ19DQVJEX1NEMSwKKwlNWENfQ0FSRF9NSU4gPSBNWENfQ0FSRF9TRDIsCisJTVhDX0NBUkRfTUFYID0gTVhDX0NBUkRfU0QxLAorfTsKKyNlbmRpZgorCisjZGVmaW5lIE1YQ19DUExEX1ZFUl8xXzUwICAgICAgIDB4MDEKKworLyoKKyAqIFBCQyBCU1RBVCBSZWdpc3RlciBiaXQgZGVmaW5pdGlvbnMKKyAqLworI2RlZmluZSBQQkNfQlNUQVRfUFJJX0lOVCAgICAgICAwWDAwMDEKKyNkZWZpbmUgUEJDX0JTVEFUX1VTQl9CWVAgICAgICAgMFgwMDAyCisjZGVmaW5lIFBCQ19CU1RBVF9BVEFfSU9DUzE2ICAgIDBYMDAwNAorI2RlZmluZSBQQkNfQlNUQVRfQVRBX0NCTElEICAgICAwWDAwMDgKKyNkZWZpbmUgUEJDX0JTVEFUX0FUQV9EQVNQICAgICAgMFgwMDEwCisjZGVmaW5lIFBCQ19CU1RBVF9QV1JfUkRZICAgICAgIDBYMDAyMAorI2RlZmluZSBQQkNfQlNUQVRfU0QzX1dQICAgICAgICAwWDAxMDAKKyNkZWZpbmUgUEJDX0JTVEFUX1NEMl9XUCAgICAgICAgMFgwMjAwCisjZGVmaW5lIFBCQ19CU1RBVF9TRDFfV1AgICAgICAgIDBYMDQwMAorI2RlZmluZSBQQkNfQlNUQVRfU0QzX0RFVCAgICAgICAwWDA4MDAKKyNkZWZpbmUgUEJDX0JTVEFUX1NEMl9ERVQgICAgICAgMFgxMDAwCisjZGVmaW5lIFBCQ19CU1RBVF9TRDFfREVUICAgICAgIDBYMjAwMAorI2RlZmluZSBQQkNfQlNUQVRfTVNfREVUICAgICAgICAwWDQwMDAKKyNkZWZpbmUgUEJDX0JTVEFUX1NEM19ERVRfQklUICAgMTEKKyNkZWZpbmUgUEJDX0JTVEFUX1NEMl9ERVRfQklUICAgMTIKKyNkZWZpbmUgUEJDX0JTVEFUX1NEMV9ERVRfQklUICAgMTMKKyNkZWZpbmUgUEJDX0JTVEFUX01TX0RFVF9CSVQgICAgMTQKKyNkZWZpbmUgTVhDX0JTVEFUX0JJVChuKSAgICAgICAgKChuID09IE1YQ19DQVJEX1NEMikgPyBQQkNfQlNUQVRfU0QyX0RFVCA6IFwKKwkJCQkgKChuID09IE1YQ19DQVJEX1NEMykgPyBQQkNfQlNUQVRfU0QzX0RFVCA6IFwKKwkJCQkgKChuID09IE1YQ19DQVJEX1NEMSkgPyBQQkNfQlNUQVRfU0QxX0RFVCA6IFwKKwkJCQkgKChuID09IE1YQ19DQVJEX01TKSA/IFBCQ19CU1RBVF9NU19ERVQgOiBcCisJCQkJCTB4MCkpKSkKKworLyoKKyAqIFBCQyBVQVJUIENvbnRyb2wgUmVnaXN0ZXIgYml0IGRlZmluaXRpb25zCisgKi8KKyNkZWZpbmUgUEJDX1VDVFJMX0RDRV9EQ0QgICAgICAgMFgwMDAxCisjZGVmaW5lIFBCQ19VQ1RSTF9EQ0VfRFNSICAgICAgIDBYMDAwMgorI2RlZmluZSBQQkNfVUNUUkxfRENFX1JJICAgICAgICAwWDAwMDQKKyNkZWZpbmUgUEJDX1VDVFJMX0RURV9EVFIgICAgICAgMFgwMTAwCisKKy8qCisgKiBQQkMgVUFSVCBTdGF0dXMgUmVnaXN0ZXIgYml0IGRlZmluaXRpb25zCisgKi8KKyNkZWZpbmUgUEJDX1VTVEFUX0RURV9EQ0QgICAgICAgMFgwMDAxCisjZGVmaW5lIFBCQ19VU1RBVF9EVEVfRFNSICAgICAgIDBYMDAwMgorI2RlZmluZSBQQkNfVVNUQVRfRFRFX1JJICAgICAgICAwWDAwMDQKKyNkZWZpbmUgUEJDX1VTVEFUX0RDRV9EVFIgICAgICAgMFgwMTAwCisKKy8qCisgKiBQQkMgSW50ZXJ1cHQgbWFzayByZWdpc3RlciBiaXQgZGVmaW5pdGlvbnMKKyAqLworI2RlZmluZSBQQkNfSU5UUl9TRDNfUl9FTl9CSVQgICA0CisjZGVmaW5lIFBCQ19JTlRSX1NEMl9SX0VOX0JJVCAgIDAKKyNkZWZpbmUgUEJDX0lOVFJfU0QxX1JfRU5fQklUICAgNgorI2RlZmluZSBQQkNfSU5UUl9NU19SX0VOX0JJVCAgICA1CisjZGVmaW5lIFBCQ19JTlRSX1NEM19FTl9CSVQgICAgIDEzCisjZGVmaW5lIFBCQ19JTlRSX1NEMl9FTl9CSVQgICAgIDEyCisjZGVmaW5lIFBCQ19JTlRSX01TX0VOX0JJVCAgICAgIDE0CisjZGVmaW5lIFBCQ19JTlRSX1NEMV9FTl9CSVQgICAgIDE1CisKKyNkZWZpbmUgUEJDX0lOVFJfU0QyX1JfRU4gICAgICAgMHgwMDAxCisjZGVmaW5lIFBCQ19JTlRSX0xPV19CQVQgICAgICAgIDBYMDAwMgorI2RlZmluZSBQQkNfSU5UUl9PVEdfRlNPVkVSICAgICAwWDAwMDQKKyNkZWZpbmUgUEJDX0lOVFJfRlNIX09WRVIgICAgICAgMFgwMDA4CisjZGVmaW5lIFBCQ19JTlRSX1NEM19SX0VOICAgICAgIDB4MDAxMAorI2RlZmluZSBQQkNfSU5UUl9NU19SX0VOICAgICAgICAweDAwMjAKKyNkZWZpbmUgUEJDX0lOVFJfU0QxX1JfRU4gICAgICAgMHgwMDQwCisjZGVmaW5lIFBCQ19JTlRSX0ZFQ19JTlQgICAgICAgIDBYMDA4MAorI2RlZmluZSBQQkNfSU5UUl9FTkVUX0lOVCAgICAgICAwWDAxMDAKKyNkZWZpbmUgUEJDX0lOVFJfT1RHRlNfSU5UICAgICAgMFgwMjAwCisjZGVmaW5lIFBCQ19JTlRSX1hVQVJUX0lOVCAgICAgIDBYMDQwMAorI2RlZmluZSBQQkNfSU5UUl9DQ1RMMTIgICAgICAgICAwWDA4MDAKKyNkZWZpbmUgUEJDX0lOVFJfU0QyX0VOICAgICAgICAgMHgxMDAwCisjZGVmaW5lIFBCQ19JTlRSX1NEM19FTiAgICAgICAgIDB4MjAwMAorI2RlZmluZSBQQkNfSU5UUl9NU19FTiAgICAgICAgICAweDQwMDAKKyNkZWZpbmUgUEJDX0lOVFJfU0QxX0VOICAgICAgICAgMHg4MDAwCisKKworCisvKiBGb3IgaW50ZXJydXB0cyBsaWtlIHh1YXJ0LCBlbmV0IGV0YyAqLworI2RlZmluZSBFWFBJT19QQVJFTlRfSU5UICAgICAgICBJT01VWF9UT19JUlEoTVgyN19QSU5fVElOKQorI2RlZmluZSBNWENfTUFYX0VYUF9JT19MSU5FUyAgICAxNgorCisvKgorICogVGhpcyBjb3JyZXNwb25kcyB0byBQQkNfSU5UTUFTS19TRVRfUkVHIGF0IG9mZnNldCAweDM4LgorICoKKyAqLworI2RlZmluZSBFWFBJT19JTlRfTE9XX0JBVCAgICAgICAoTVhDX0VYUF9JT19CQVNFICsgMSkKKyNkZWZpbmUgRVhQSU9fSU5UX09UR19GU19PVlIgICAgKE1YQ19FWFBfSU9fQkFTRSArIDIpCisjZGVmaW5lIEVYUElPX0lOVF9GU0hfT1ZSICAgICAgIChNWENfRVhQX0lPX0JBU0UgKyAzKQorI2RlZmluZSBFWFBJT19JTlRfUkVTNCAgICAgICAgICAoTVhDX0VYUF9JT19CQVNFICsgNCkKKyNkZWZpbmUgRVhQSU9fSU5UX1JFUzUgICAgICAgICAgKE1YQ19FWFBfSU9fQkFTRSArIDUpCisjZGVmaW5lIEVYUElPX0lOVF9SRVM2ICAgICAgICAgIChNWENfRVhQX0lPX0JBU0UgKyA2KQorI2RlZmluZSBFWFBJT19JTlRfRkVDICAgICAgICAgICAoTVhDX0VYUF9JT19CQVNFICsgNykKKyNkZWZpbmUgRVhQSU9fSU5UX0VORVRfSU5UICAgICAgKE1YQ19FWFBfSU9fQkFTRSArIDgpCisjZGVmaW5lIEVYUElPX0lOVF9PVEdfRlNfSU5UICAgIChNWENfRVhQX0lPX0JBU0UgKyA5KQorI2RlZmluZSBFWFBJT19JTlRfWFVBUlRfSU5UQSAgICAoTVhDX0VYUF9JT19CQVNFICsgMTApCisjZGVmaW5lIEVYUElPX0lOVF9DQ1RMMTJfSU5UICAgIChNWENfRVhQX0lPX0JBU0UgKyAxMSkKKyNkZWZpbmUgRVhQSU9fSU5UX1NEMl9FTiAgICAgICAgKE1YQ19FWFBfSU9fQkFTRSArIDEyKQorI2RlZmluZSBFWFBJT19JTlRfU0QzX0VOICAgICAgICAoTVhDX0VYUF9JT19CQVNFICsgMTMpCisjZGVmaW5lIEVYUElPX0lOVF9NU19FTiAgICAgICAgIChNWENfRVhQX0lPX0JBU0UgKyAxNCkKKyNkZWZpbmUgRVhQSU9fSU5UX1NEMV9FTiAgICAgICAgKE1YQ19FWFBfSU9fQkFTRSArIDE1KQorCisvKgorICogVGhpcyBpcyBTeXN0ZW0gSVJRIHVzZWQgYnkgQ1M4OTAwQSBmb3IgaW50ZXJydXB0IGdlbmVyYXRpb24KKyAqIHRha2VuIGZyb20gcGxhdGZvcm0uaAorICovCisjZGVmaW5lIENTODkwMEFJUlEgICAgICAgICAgICAgIEVYUElPX0lOVF9FTkVUX0lOVAorLyogVGhpcyBpcyBJL08gQmFzZSBhZGRyZXNzIHVzZWQgdG8gYWNjZXNzIHJlZ2lzdGVycyBvZiBDUzg5MDBBIG9uIE1YQyBBRFMgKi8KKyNkZWZpbmUgQ1M4OTAwQV9CQVNFX0FERFJFU1MgICAgKFBCQ19DUzg5MDBBX0lPQkFTRV9SRUcgKyAweDMwMCkKKworI2RlZmluZSBNWENfUE1JQ19JTlRfTElORSAgICAgICBJT01VWF9UT19JUlEoTVgyN19QSU5fVE9VVCkKKworLyoKKyogVGhpcyBpcyB1c2VkIHRvIGRldGVjdCBpZiB0aGUgQ1BMRCB2ZXJzaW9uIGlzIGZvciBteDI3IGV2YiBib2FyZCByZXYtYQorKi8KKyNkZWZpbmUgUEJDX0NQTERfVkVSU0lPTl9JU19SRVZBKCkgXAorCSgoX19yYXdfcmVhZHcoUEJDX1ZFUlNJT05fUkVHKSAmIFwKKwkoUEJDX1ZFUlNJT05fQURTIHwgUEJDX1ZFUlNJT05fRVZCX1JFVkIpKVwKKwk9PSAwKQorCisvKiBUaGlzIGlzIHVzZWQgdG8gYWN0aXZlIG9yIGluYWN0aXZlIGF0YSBzaWduYWwgaW4gQ1BMRCAuCisgKiAgSXQgaXMgZGVwZW5kZW50IHdpdGggaGFyZHdhcmUKKyAqLworI2RlZmluZSBQQkNfQVRBX1NJR05BTF9BQ1RJVkUoKSBcCisJX19yYXdfd3JpdGV3KCAgICAgICAgICAgXAorCQlQQkNfQkNUUkwyX0FUQUZFQ19FTnxQQkNfQkNUUkwyX0FUQUZFQ19TRUx8UEJDX0JDVFJMMl9BVEFfRU4sIFwKKwkJUEJDX0JDVFJMMl9DTEVBUl9SRUcpCisKKyNkZWZpbmUgUEJDX0FUQV9TSUdOQUxfSU5BQ1RJVkUoKSBcCisJX19yYXdfd3JpdGV3KCAgXAorCQlQQkNfQkNUUkwyX0FUQUZFQ19FTnxQQkNfQkNUUkwyX0FUQUZFQ19TRUx8UEJDX0JDVFJMMl9BVEFfRU4sIFwKKwkJUEJDX0JDVFJMMl9TRVRfUkVHKQorCisjZGVmaW5lIE1YQ19CRF9MRUQxICAgICAgICAgICAgICgxIDw8IDUpCisjZGVmaW5lIE1YQ19CRF9MRUQyICAgICAgICAgICAgICgxIDw8IDYpCisjZGVmaW5lIE1YQ19CRF9MRURfT04obGVkKSBcCisJX19yYXdfd3JpdGV3KGxlZCwgUEJDX0JDVFJMMV9TRVRfUkVHKQorI2RlZmluZSBNWENfQkRfTEVEX09GRihsZWQpIFwKKwlfX3Jhd193cml0ZXcobGVkLCBQQkNfQkNUUkwxX0NMRUFSX1JFRykKKworLyogdG8gZGV0ZXJtaW5lIHRoZSBjb3JyZWN0IGV4dGVybmFsIGNyeXN0YWwgcmVmZXJlbmNlICovCisjZGVmaW5lIENLSUhfMjdNSFpfQklUX1NFVCAgICAgICgxIDw8IDMpCisKKyNlbmRpZgkJCQkvKiBfX0FTTV9BUkNIX01YQ19CT0FSRF9NWDI3QURTX0hfXyAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL2JvYXJkLW14MzFhZHMuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW14Yy9ib2FyZC1teDMxYWRzLmgKaW5kZXggODU5MDEyNy4uMWJjNmZiMCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL2JvYXJkLW14MzFhZHMuaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teGMvYm9hcmQtbXgzMWFkcy5oCkBAIC0xMDksNCArMTA5LDkgQEAKIAogI2RlZmluZSBNWENfTUFYX0VYUF9JT19MSU5FUwkxNgogCisvKiBtYW5kYXRvcnkgZm9yIENPTkZJR19MTF9ERUJVRyAqLworCisjZGVmaW5lIE1YQ19MTF9VQVJUX1BBRERSCVVBUlQxX0JBU0VfQUREUgorI2RlZmluZSBNWENfTExfVUFSVF9WQUREUglBSVBTMV9JT19BRERSRVNTKFVBUlQxX0JBU0VfQUREUikKKwogI2VuZGlmIC8qIF9fQVNNX0FSQ0hfTVhDX0JPQVJEX01YMzFBRFNfSF9fICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teGMvYm9hcmQtbXgzMWxpdGUuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW14Yy9ib2FyZC1teDMxbGl0ZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU0ZTVjZjUKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teGMvYm9hcmQtbXgzMWxpdGUuaApAQCAtMCwwICsxLDM4IEBACisvKgorICogQ29weXJpZ2h0IDIwMDcgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqLworCisvKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCisgKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyAqLworCisjaWZuZGVmIF9fQVNNX0FSQ0hfTVhDX0JPQVJEX01YMzFMSVRFX0hfXworI2RlZmluZSBfX0FTTV9BUkNIX01YQ19CT0FSRF9NWDMxTElURV9IX18KKworI2RlZmluZSBNWENfTUFYX0VYUF9JT19MSU5FUwkxNgorCisKKy8qCisgKiBNZW1vcnkgU2l6ZSBwYXJhbWV0ZXJzCisgKi8KKworLyoKKyAqIFNpemUgb2YgU0RSQU0gbWVtb3J5CisgKi8KKyNkZWZpbmUgU0RSQU1fTUVNX1NJWkUJCVNaXzEyOE0KKy8qCisgKiBTaXplIG9mIE1CWCBidWZmZXIgbWVtb3J5CisgKi8KKyNkZWZpbmUgTVhDX01CWF9NRU1fU0laRQlTWl8xNk0KKy8qCisgKiBTaXplIG9mIG1lbW9yeSBhdmFpbGFibGUgdG8ga2VybmVsCisgKi8KKyNkZWZpbmUgTUVNX1NJWkUJCShTRFJBTV9NRU1fU0laRSAtIE1YQ19NQlhfTUVNX1NJWkUpCisKKyNkZWZpbmUgTVhDX0xMX1VBUlRfUEFERFIJVUFSVDFfQkFTRV9BRERSCisjZGVmaW5lIE1YQ19MTF9VQVJUX1ZBRERSCUFJUFMxX0lPX0FERFJFU1MoVUFSVDFfQkFTRV9BRERSKQorCisjZW5kaWYgLyogX19BU01fQVJDSF9NWENfQk9BUkRfTVgzMUFEU19IX18gKi8KKwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL2JvYXJkLXBjbTAzNy5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL2JvYXJkLXBjbTAzNy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgyMjMyYmEKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teGMvYm9hcmQtcGNtMDM3LmgKQEAgLTAsMCArMSwyNyBAQAorLyoKKyAqICBDb3B5cmlnaHQgKEMpIDIwMDggU2FzY2hhIEhhdWVyLCBQZW5ndXRyb25peAorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3ICBVU0EKKyAqLworCisjaWZuZGVmIF9fQVNNX0FSQ0hfTVhDX0JPQVJEX1BDTTAzN19IX18KKyNkZWZpbmUgX19BU01fQVJDSF9NWENfQk9BUkRfUENNMDM3X0hfXworCisvKiBtYW5kYXRvcnkgZm9yIENPTkZJR19MTF9ERUJVRyAqLworCisjZGVmaW5lIE1YQ19MTF9VQVJUX1BBRERSCVVBUlQxX0JBU0VfQUREUgorI2RlZmluZSBNWENfTExfVUFSVF9WQUREUglBSVBTMV9JT19BRERSRVNTKFVBUlQxX0JBU0VfQUREUikKKworI2VuZGlmIC8qIF9fQVNNX0FSQ0hfTVhDX0JPQVJEX1BDTTAzN19IX18gKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW14Yy9ib2FyZC1wY20wMzguaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW14Yy9ib2FyZC1wY20wMzguaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NTBjNjJhCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL2JvYXJkLXBjbTAzOC5oCkBAIC0wLDAgKzEsNDEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggSnVlcmdlbiBCZWlzZXJ0IChrZXJuZWxAcGVuZ3V0cm9uaXguZGUpCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyCisgKiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sCisgKiBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI2lmbmRlZiBfX0FTTV9BUkNIX01YQ19CT0FSRF9QQ00wMzhfSF9fCisjZGVmaW5lIF9fQVNNX0FSQ0hfTVhDX0JPQVJEX1BDTTAzOF9IX18KKworLyogbWFuZGF0b3J5IGZvciBDT05GSUdfTExfREVCVUcgKi8KKworI2RlZmluZSBNWENfTExfVUFSVF9QQUREUglVQVJUMV9CQVNFX0FERFIKKyNkZWZpbmUgTVhDX0xMX1VBUlRfVkFERFIJKEFJUElfQkFTRV9BRERSX1ZJUlQgKyAweDBBMDAwKQorCisjaWZuZGVmIF9fQVNTRU1CTFlfXworLyoKKyAqIFRoaXMgQ1BVIG1vZHVsZSBuZWVkcyBhIGJhc2Vib2FyZCB0byB3b3JrLiBBZnRlciBiYXNpYyBpbml0aWFsaXppbmcKKyAqIGl0cyBvd24gZGV2aWNlcywgaXQgY2FsbHMgYmFzZWJvYXJkJ3MgaW5pdCBmdW5jdGlvbi4KKyAqIFRPRE86IEFkZCB5b3VyIG93biBiYXNlYm9hcmQgaW5pdCBmdW5jdGlvbiBhbmQgY2FsbCBpdCBmcm9tCisgKiBpbnNpZGUgcGNtMDM4X2luaXQoKS4KKyAqCisgKiBUaGlzIGV4YW1wbGUgaGVyZSBpcyBmb3IgdGhlIGRldmVsb3BtZW50IGJvYXJkLiBSZWZlciBwY205NzAtYmFzZWJvYXJkLmMKKyAqLworCitleHRlcm4gdm9pZCBwY205NzBfYmFzZWJvYXJkX2luaXQodm9pZCk7CisKKyNlbmRpZgorCisjZW5kaWYgLyogX19BU01fQVJDSF9NWENfQk9BUkRfUENNMDM4X0hfXyAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL2Nsb2NrLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teGMvY2xvY2suaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNGNhYTJiCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL2Nsb2NrLmgKQEAgLTAsMCArMSw2NyBAQAorLyoKKyAqIENvcHlyaWdodCAyMDA1LTIwMDcgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqIENvcHlyaWdodCAyMDA4IEp1ZXJnZW4gQmVpc2VydCwga2VybmVsQHBlbmd1dHJvbml4LmRlCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyCisgKiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sCisgKiBNQSAgMDIxMTAtMTMwMSwgVVNBLgorICovCisKKyNpZm5kZWYgX19BU01fQVJDSF9NWENfQ0xPQ0tfSF9fCisjZGVmaW5lIF9fQVNNX0FSQ0hfTVhDX0NMT0NLX0hfXworCisjaWZuZGVmIF9fQVNTRU1CTFlfXworI2luY2x1ZGUgPGxpbnV4L2xpc3QuaD4KKworc3RydWN0IG1vZHVsZTsKKworc3RydWN0IGNsayB7CisJc3RydWN0IGxpc3RfaGVhZCBub2RlOworCXN0cnVjdCBtb2R1bGUgKm93bmVyOworCWNvbnN0IGNoYXIgKm5hbWU7CisJaW50IGlkOworCS8qIFNvdXJjZSBjbG9jayB0aGlzIGNsayBkZXBlbmRzIG9uICovCisJc3RydWN0IGNsayAqcGFyZW50OworCS8qIFNlY29uZGFyeSBjbG9jayB0byBlbmFibGUvZGlzYWJsZSB3aXRoIHRoaXMgY2xvY2sgKi8KKwlzdHJ1Y3QgY2xrICpzZWNvbmRhcnk7CisJLyogUmVmZXJlbmNlIGNvdW50IG9mIGNsb2NrIGVuYWJsZS9kaXNhYmxlICovCisJX19zOCB1c2Vjb3VudDsKKwkvKiBSZWdpc3RlciBiaXQgcG9zaXRpb24gZm9yIGNsb2NrJ3MgZW5hYmxlL2Rpc2FibGUgY29udHJvbC4gKi8KKwl1OCBlbmFibGVfc2hpZnQ7CisJLyogUmVnaXN0ZXIgYWRkcmVzcyBmb3IgY2xvY2sncyBlbmFibGUvZGlzYWJsZSBjb250cm9sLiAqLworCXUzMiBlbmFibGVfcmVnOworCXUzMiBmbGFnczsKKwkvKiBnZXQgdGhlIGN1cnJlbnQgY2xvY2sgcmF0ZSAoYWx3YXlzIGEgZnJlc2ggdmFsdWUpICovCisJdW5zaWduZWQgbG9uZyAoKmdldF9yYXRlKSAoc3RydWN0IGNsayAqKTsKKwkvKiBGdW5jdGlvbiBwdHIgdG8gc2V0IHRoZSBjbG9jayB0byBhIG5ldyByYXRlLiBUaGUgcmF0ZSBtdXN0IG1hdGNoIGEKKwkgICBzdXBwb3J0ZWQgcmF0ZSByZXR1cm5lZCBmcm9tIHJvdW5kX3JhdGUuIExlYXZlIGJsYW5rIGlmIGNsb2NrIGlzIG5vdAorCSAgIHByb2dyYW1tYWJsZSAqLworCWludCAoKnNldF9yYXRlKSAoc3RydWN0IGNsayAqLCB1bnNpZ25lZCBsb25nKTsKKwkvKiBGdW5jdGlvbiBwdHIgdG8gcm91bmQgdGhlIHJlcXVlc3RlZCBjbG9jayByYXRlIHRvIHRoZSBuZWFyZXN0CisJICAgc3VwcG9ydGVkIHJhdGUgdGhhdCBpcyBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gdGhlIHJlcXVlc3RlZCByYXRlLiAqLworCXVuc2lnbmVkIGxvbmcgKCpyb3VuZF9yYXRlKSAoc3RydWN0IGNsayAqLCB1bnNpZ25lZCBsb25nKTsKKwkvKiBGdW5jdGlvbiBwdHIgdG8gZW5hYmxlIHRoZSBjbG9jay4gTGVhdmUgYmxhbmsgaWYgY2xvY2sgY2FuIG5vdAorCSAgIGJlIGdhdGVkLiAqLworCWludCAoKmVuYWJsZSkgKHN0cnVjdCBjbGsgKik7CisJLyogRnVuY3Rpb24gcHRyIHRvIGRpc2FibGUgdGhlIGNsb2NrLiBMZWF2ZSBibGFuayBpZiBjbG9jayBjYW4gbm90CisJICAgYmUgZ2F0ZWQuICovCisJdm9pZCAoKmRpc2FibGUpIChzdHJ1Y3QgY2xrICopOworCS8qIEZ1bmN0aW9uIHB0ciB0byBzZXQgdGhlIHBhcmVudCBjbG9jayBvZiB0aGUgY2xvY2suICovCisJaW50ICgqc2V0X3BhcmVudCkgKHN0cnVjdCBjbGsgKiwgc3RydWN0IGNsayAqKTsKK307CisKK2ludCBjbGtfcmVnaXN0ZXIoc3RydWN0IGNsayAqY2xrKTsKK3ZvaWQgY2xrX3VucmVnaXN0ZXIoc3RydWN0IGNsayAqY2xrKTsKKworI2VuZGlmIC8qIF9fQVNTRU1CTFlfXyAqLworI2VuZGlmIC8qIF9fQVNNX0FSQ0hfTVhDX0NMT0NLX0hfXyAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL2NvbW1vbi5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL2NvbW1vbi5oCmluZGV4IDIzYjQzNTAuLmE2ZDJlMjQgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW14Yy9jb21tb24uaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teGMvY29tbW9uLmgKQEAgLTExLDEwICsxMSwxMCBAQAogI2lmbmRlZiBfX0FTTV9BUkNIX01YQ19DT01NT05fSF9fCiAjZGVmaW5lIF9fQVNNX0FSQ0hfTVhDX0NPTU1PTl9IX18KIAotc3RydWN0IHN5c190aW1lcjsKLQogZXh0ZXJuIHZvaWQgbXhjX21hcF9pbyh2b2lkKTsKIGV4dGVybiB2b2lkIG14Y19pbml0X2lycSh2b2lkKTsKLWV4dGVybiBzdHJ1Y3Qgc3lzX3RpbWVyIG14Y190aW1lcjsKK2V4dGVybiB2b2lkIG14Y190aW1lcl9pbml0KGNvbnN0IGNoYXIgKmNsa190aW1lcik7CitleHRlcm4gaW50IG14Y19jbG9ja3NfaW5pdCh1bnNpZ25lZCBsb25nIGZyZWYpOworZXh0ZXJuIGludCBteGNfcmVnaXN0ZXJfZ3Bpb3Modm9pZCk7CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL2RlYnVnLW1hY3JvLlMgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teGMvZGVidWctbWFjcm8uUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NzUwODdmCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL2RlYnVnLW1hY3JvLlMKQEAgLTAsMCArMSw0OSBAQAorLyogbGludXgvaW5jbHVkZS9hc20tYXJtL2FyY2gtaW14L2RlYnVnLW1hY3JvLlMKKyAqCisgKiBEZWJ1Z2dpbmcgbWFjcm8gaW5jbHVkZSBoZWFkZXIKKyAqCisgKiAgQ29weXJpZ2h0IChDKSAxOTk0LTE5OTkgUnVzc2VsbCBLaW5nCisgKiAgTW92ZWQgZnJvbSBsaW51eC9hcmNoL2FybS9rZXJuZWwvZGVidWcuUyBieSBCZW4gRG9va3MKKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMKKyAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorICoKKyAqLworCisjaW5jbHVkZSA8YXNtL2FyY2gvaGFyZHdhcmUuaD4KKworI2lmZGVmIENPTkZJR19NQUNIX01YMzFBRFMKKyNpbmNsdWRlIDxhc20vYXJjaC9ib2FyZC1teDMxYWRzLmg+CisjZW5kaWYKKyNpZmRlZiBDT05GSUdfTUFDSF9QQ00wMzcKKyNpbmNsdWRlIDxhc20vYXJjaC9ib2FyZC1wY20wMzcuaD4KKyNlbmRpZgorI2lmZGVmIENPTkZJR19NQUNIX01YMzFMSVRFCisjaW5jbHVkZSA8YXNtL2FyY2gvYm9hcmQtbXgzMWxpdGUuaD4KKyNlbmRpZgorI2lmZGVmIENPTkZJR19NQUNIX01YMjdBRFMKKyNpbmNsdWRlIDxhc20vYXJjaC9ib2FyZC1teDI3YWRzLmg+CisjZW5kaWYKKyNpZmRlZiBDT05GSUdfTUFDSF9QQ00wMzgKKyNpbmNsdWRlIDxhc20vYXJjaC9ib2FyZC1wY20wMzguaD4KKyNlbmRpZgorCQkubWFjcm8JYWRkcnVhcnQscngKKwkJbXJjCXAxNSwgMCwgXHJ4LCBjMSwgYzAKKwkJdHN0CVxyeCwgIzEJCQlAIE1NVSBlbmFibGVkPworCQlsZHJlcQlccngsID1NWENfTExfVUFSVF9QQUREUglAIHBoeXNpY2FsCisJCWxkcm5lCVxyeCwgPU1YQ19MTF9VQVJUX1ZBRERSCUAgdmlydHVhbAorCQkuZW5kbQorCisJCS5tYWNybwlzZW5kdWFydCxyZCxyeAorCQlzdHIJXHJkLCBbXHJ4LCAjMHg0MF0JQCBUWERBVEEKKwkJLmVuZG0KKworCQkubWFjcm8Jd2FpdHVhcnQscmQscngKKwkJLmVuZG0KKworCQkubWFjcm8JYnVzeXVhcnQscmQscngKKzEwMDI6CQlsZHIJXHJkLCBbXHJ4LCAjMHg5OF0JQCBTUjIKKwkJdHN0CVxyZCwgIzEgPDwgMwkJQCBUWERDCisJCWJlcQkxMDAyYgkJCUAgd2FpdCB1bnRpbCB0cmFuc21pdCBkb25lCisJCS5lbmRtCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teGMvZ3Bpby5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL2dwaW8uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMzkzZTE1Ci0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL2dwaW8uaApAQCAtMCwwICsxLDQyIEBACisvKgorICogQ29weXJpZ2h0IDIwMDcgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqIENvcHlyaWdodCAyMDA4IEp1ZXJnZW4gQmVpc2VydCwga2VybmVsQHBlbmd1dHJvbml4LmRlCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyCisgKiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BICAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI2lmbmRlZiBfX0FTTV9BUkNIX01YQ19HUElPX0hfXworI2RlZmluZSBfX0FTTV9BUkNIX01YQ19HUElPX0hfXworCisjaW5jbHVkZSA8YXNtL2hhcmR3YXJlLmg+CisjaW5jbHVkZSA8YXNtLWdlbmVyaWMvZ3Bpby5oPgorCisvKiB1c2UgZ3Bpb2xpYiBkaXNwYXRjaGVycyAqLworI2RlZmluZSBncGlvX2dldF92YWx1ZQkJX19ncGlvX2dldF92YWx1ZQorI2RlZmluZSBncGlvX3NldF92YWx1ZQkJX19ncGlvX3NldF92YWx1ZQorI2RlZmluZSBncGlvX2NhbnNsZWVwCQlfX2dwaW9fY2Fuc2xlZXAKKworI2RlZmluZSBncGlvX3RvX2lycShncGlvKQkoTVhDX01BWF9JTlRfTElORVMgKyAoZ3BpbykpCisjZGVmaW5lIGlycV90b19ncGlvKGlycSkJKChpcnEpIC0gTVhDX01BWF9JTlRfTElORVMpCisKK3N0cnVjdCBteGNfZ3Bpb19wb3J0IHsKKwl2b2lkIF9faW9tZW0gKmJhc2U7CisJaW50IGlycTsKKwlpbnQgdmlydHVhbF9pcnFfc3RhcnQ7CisJc3RydWN0IGdwaW9fY2hpcCBjaGlwOworfTsKKworaW50IG14Y19ncGlvX2luaXQoc3RydWN0IG14Y19ncGlvX3BvcnQqLCBpbnQpOworCisjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW14Yy9oYXJkd2FyZS5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL2hhcmR3YXJlLmgKaW5kZXggZTg3ZmYwNi4uMzdjZGRiYSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL2hhcmR3YXJlLmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL2hhcmR3YXJlLmgKQEAgLTEsMTEgKzEsMjAgQEAKIC8qCi0gKiAgQ29weXJpZ2h0IDIwMDQtMjAwNyBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgotICovCi0KLS8qCi0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQotICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMKLSAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorICogQ29weXJpZ2h0IDIwMDQtMjAwNyBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgorICogQ29weXJpZ2h0IDIwMDggSnVlcmdlbiBCZWlzZXJ0LCBrZXJuZWxAcGVuZ3V0cm9uaXguZGUKKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIKKyAqIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwKKyAqIE1BICAwMjExMC0xMzAxLCBVU0EuCiAgKi8KIAogI2lmbmRlZiBfX0FTTV9BUkNIX01YQ19IQVJEV0FSRV9IX18KQEAgLTE3LDE1ICsyNiwxMiBAQAogIyBpbmNsdWRlIDxhc20vYXJjaC9teDMxLmg+CiAjZW5kaWYKIAotI2luY2x1ZGUgPGFzbS9hcmNoL214Yy5oPgotCi0vKgotICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gKiBCb2FyZCBzcGVjaWZpYyBkZWZpbmVzCi0gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSAqLwotI2lmZGVmIENPTkZJR19NQUNIX01YMzFBRFMKLSMgaW5jbHVkZSA8YXNtL2FyY2gvYm9hcmQtbXgzMWFkcy5oPgorI2lmZGVmIENPTkZJR19BUkNIX01YMgorIyBpZmRlZiBDT05GSUdfTUFDSF9NWDI3CisjICBpbmNsdWRlIDxhc20vYXJjaC9teDI3Lmg+CisjIGVuZGlmCiAjZW5kaWYKIAorI2luY2x1ZGUgPGFzbS9hcmNoL214Yy5oPgorCiAjZW5kaWYgLyogX19BU01fQVJDSF9NWENfSEFSRFdBUkVfSF9fICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teGMvaWltLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teGMvaWltLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzE1YmZmYQotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW14Yy9paW0uaApAQCAtMCwwICsxLDc3IEBACisvKgorICogQ29weXJpZ2h0IDIwMDQtMjAwNyBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgorICogQ29weXJpZ2h0IDIwMDggSnVlcmdlbiBCZWlzZXJ0LCBrZXJuZWxAcGVuZ3V0cm9uaXguZGUKKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIKKyAqIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwKKyAqIE1BICAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI2lmbmRlZiBfX0FTTV9BUkNIX01YQ19JSU1fSF9fCisjZGVmaW5lIF9fQVNNX0FSQ0hfTVhDX0lJTV9IX18KKworLyogUmVnaXN0ZXIgb2Zmc2V0cyAqLworI2RlZmluZSBNWENfSUlNU1RBVCAgICAgICAgICAgICAweDAwMDAKKyNkZWZpbmUgTVhDX0lJTVNUQVRNICAgICAgICAgICAgMHgwMDA0CisjZGVmaW5lIE1YQ19JSU1FUlIgICAgICAgICAgICAgIDB4MDAwOAorI2RlZmluZSBNWENfSUlNRU1BU0sgICAgICAgICAgICAweDAwMEMKKyNkZWZpbmUgTVhDX0lJTUZDVEwgICAgICAgICAgICAgMHgwMDEwCisjZGVmaW5lIE1YQ19JSU1VQSAgICAgICAgICAgICAgIDB4MDAxNAorI2RlZmluZSBNWENfSUlNTEEgICAgICAgICAgICAgICAweDAwMTgKKyNkZWZpbmUgTVhDX0lJTVNEQVQgICAgICAgICAgICAgMHgwMDFDCisjZGVmaW5lIE1YQ19JSU1QUkVWICAgICAgICAgICAgIDB4MDAyMAorI2RlZmluZSBNWENfSUlNU1JFViAgICAgICAgICAgICAweDAwMjQKKyNkZWZpbmUgTVhDX0lJTVBSR19QICAgICAgICAgICAgMHgwMDI4CisjZGVmaW5lIE1YQ19JSU1TQ1MwICAgICAgICAgICAgIDB4MDAyQworI2RlZmluZSBNWENfSUlNU0NTMSAgICAgICAgICAgICAweDAwMzAKKyNkZWZpbmUgTVhDX0lJTVNDUzIgICAgICAgICAgICAgMHgwMDM0CisjZGVmaW5lIE1YQ19JSU1TQ1MzICAgICAgICAgICAgIDB4MDAzOAorI2RlZmluZSBNWENfSUlNRkJBQzAgICAgICAgICAgICAweDA4MDAKKyNkZWZpbmUgTVhDX0lJTUpBQyAgICAgICAgICAgICAgMHgwODA0CisjZGVmaW5lIE1YQ19JSU1IV1YxICAgICAgICAgICAgIDB4MDgwOAorI2RlZmluZSBNWENfSUlNSFdWMiAgICAgICAgICAgICAweDA4MEMKKyNkZWZpbmUgTVhDX0lJTUhBQjAgICAgICAgICAgICAgMHgwODEwCisjZGVmaW5lIE1YQ19JSU1IQUIxICAgICAgICAgICAgIDB4MDgxNAorLyogRGVmaW5pdGlvbnMgZm9yIGkuTVgyNyBUTzIgKi8KKyNkZWZpbmUgTVhDX0lJTU1BQyAgICAgICAgICAgICAgMHgwODE0CisjZGVmaW5lIE1YQ19JSU1QUkVWX0ZVU0UgICAgICAgIDB4MDgxOAorI2RlZmluZSBNWENfSUlNU1JFVl9GVVNFICAgICAgICAweDA4MUMKKyNkZWZpbmUgTVhDX0lJTVNKQ19DSEFMTF8wICAgICAgMHgwODIwCisjZGVmaW5lIE1YQ19JSU1TSkNfQ0hBTExfNyAgICAgIDB4MDgzQworI2RlZmluZSBNWENfSUlNRkIwVUMxNyAgICAgICAgICAweDA4NDAKKyNkZWZpbmUgTVhDX0lJTUZCMFVDMjU1ICAgICAgICAgMHgwQkZDCisjZGVmaW5lIE1YQ19JSU1GQkFDMSAgICAgICAgICAgIDB4MEMwMAorLyogRGVmaW5pdGlvbnMgZm9yIGkuTVgyNyBUTzIgKi8KKyNkZWZpbmUgTVhDX0lJTVNVSUQgICAgICAgICAgICAgMHgwQzA0CisjZGVmaW5lIE1YQ19JSU1LRVkwICAgICAgICAgICAgIDB4MEMwNAorI2RlZmluZSBNWENfSUlNS0VZMjAgICAgICAgICAgICAweDBDNTQKKyNkZWZpbmUgTVhDX0lJTVNKQ19SRVNQXzAgICAgICAgMHgwQzU4CisjZGVmaW5lIE1YQ19JSU1TSkNfUkVTUF83ICAgICAgIDB4MEM3NAorI2RlZmluZSBNWENfSUlNRkIxVUMzMCAgICAgICAgICAweDBDNzgKKyNkZWZpbmUgTVhDX0lJTUZCMVVDMjU1ICAgICAgICAgMHgwRkZDCisKKy8qIEJpdCBkZWZpbml0aW9ucyAqLworCisjZGVmaW5lIE1YQ19JSU1IV1YxX1dMT0NLICAgICAgICAgICAgICAgKDB4MSA8PCA3KQorI2RlZmluZSBNWENfSUlNSFdWMV9NQ1VfRU5ESUFOICAgICAgICAgICgweDEgPDwgNikKKyNkZWZpbmUgTVhDX0lJTUhXVjFfRFNQX0VORElBTiAgICAgICAgICAoMHgxIDw8IDUpCisjZGVmaW5lIE1YQ19JSU1IV1YxX0JPT1RfSU5UICAgICAgICAgICAgKDB4MSA8PCA0KQorI2RlZmluZSBNWENfSUlNSFdWMV9TQ0NfRElTQUJMRSAgICAgICAgICgweDEgPDwgMykKKyNkZWZpbmUgTVhDX0lJTUhXVjFfSEFOVFJPX0RJU0FCTEUgICAgICAoMHgxIDw8IDIpCisjZGVmaW5lIE1YQ19JSU1IV1YxX01FTVNUSUNLX0RJUyAgICAgICAgKDB4MSA8PCAxKQorCisjZGVmaW5lIE1YQ19JSU1IV1YyX1dMT0NLICAgICAgICAgICAgICAgKDB4MSA8PCA3KQorI2RlZmluZSBNWENfSUlNSFdWMl9CUF9TRE1BICAgICAgICAgICAgICgweDEgPDwgNikKKyNkZWZpbmUgTVhDX0lJTUhXVjJfU0NNX0RDTSAgICAgICAgICAgICAoMHgxIDw8IDUpCisKKyNlbmRpZiAvKiBfX0FTTV9BUkNIX01YQ19JSU1fSF9fICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teGMvaW14LXVhcnQuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW14Yy9pbXgtdWFydC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgzZmI3MmM0Ci0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL2lteC11YXJ0LmgKQEAgLTAsMCArMSwzMiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwOCBieSBTYXNjaGEgSGF1ZXIgPGtlcm5lbEBwZW5ndXRyb25peC5kZT4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIKKyAqIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwKKyAqIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqLworCisjaWZuZGVmIEFTTUFSTV9BUkNIX1VBUlRfSAorI2RlZmluZSBBU01BUk1fQVJDSF9VQVJUX0gKKworI2RlZmluZSBJTVhVQVJUX0hBVkVfUlRTQ1RTICgxPDwwKQorCitzdHJ1Y3QgaW14dWFydF9wbGF0Zm9ybV9kYXRhIHsKKwlpbnQgKCppbml0KShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KTsKKwlpbnQgKCpleGl0KShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KTsKKwl1bnNpZ25lZCBpbnQgZmxhZ3M7Cit9OworCitpbnQgX19pbml0IGlteF9pbml0X3VhcnQoaW50IHVhcnRfbm8sIHN0cnVjdCBpbXh1YXJ0X3BsYXRmb3JtX2RhdGEgKnBkYXRhKTsKKworI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teGMvaW9tdXgtbXgxLW14Mi5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL2lvbXV4LW14MS1teDIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNzZkMzdiCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL2lvbXV4LW14MS1teDIuaApAQCAtMCwwICsxLDM3MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwOCBieSBTYXNjaGEgSGF1ZXIgPGtlcm5lbEBwZW5ndXRyb25peC5kZT4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIKKyAqIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwKKyAqIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqLworCisjaWZuZGVmIF9NWENfR1BJT19NWDFfTVgyX0gKKyNkZWZpbmUgX01YQ19HUElPX01YMV9NWDJfSAorCisjaW5jbHVkZSA8bGludXgvaW8uaD4KKworI2RlZmluZSBNWENfR1BJT19BTExPQ19NT0RFX05PUk1BTAkwCisjZGVmaW5lIE1YQ19HUElPX0FMTE9DX01PREVfTk9fQUxMT0MJMQorI2RlZmluZSBNWENfR1BJT19BTExPQ19NT0RFX1RSWV9BTExPQwkyCisjZGVmaW5lIE1YQ19HUElPX0FMTE9DX01PREVfQUxMT0NfT05MWQk0CisjZGVmaW5lIE1YQ19HUElPX0FMTE9DX01PREVfUkVMRUFTRQk4CisKKy8qCisgKiAgR1BJTyBNb2R1bGUgYW5kIEkvTyBNdWx0aXBsZXhlcgorICogIHggPSAwLi4zIGZvciByZWdfQSwgcmVnX0IsIHJlZ19DLCByZWdfRAorICovCisjZGVmaW5lIFZBX0dQSU9fQkFTRQlJT19BRERSRVNTKEdQSU9fQkFTRV9BRERSKQorI2RlZmluZSBNWENfRERJUih4KSAgICAoMHgwMCArICgoeCkgPDwgOCkpCisjZGVmaW5lIE1YQ19PQ1IxKHgpICAgICgweDA0ICsgKCh4KSA8PCA4KSkKKyNkZWZpbmUgTVhDX09DUjIoeCkgICAgKDB4MDggKyAoKHgpIDw8IDgpKQorI2RlZmluZSBNWENfSUNPTkZBMSh4KSAoMHgwYyArICgoeCkgPDwgOCkpCisjZGVmaW5lIE1YQ19JQ09ORkEyKHgpICgweDEwICsgKCh4KSA8PCA4KSkKKyNkZWZpbmUgTVhDX0lDT05GQjEoeCkgKDB4MTQgKyAoKHgpIDw8IDgpKQorI2RlZmluZSBNWENfSUNPTkZCMih4KSAoMHgxOCArICgoeCkgPDwgOCkpCisjZGVmaW5lIE1YQ19EUih4KSAgICAgICgweDFjICsgKCh4KSA8PCA4KSkKKyNkZWZpbmUgTVhDX0dJVVMoeCkgICAgKDB4MjAgKyAoKHgpIDw8IDgpKQorI2RlZmluZSBNWENfU1NSKHgpICAgICAoMHgyNCArICgoeCkgPDwgOCkpCisjZGVmaW5lIE1YQ19JQ1IxKHgpICAgICgweDI4ICsgKCh4KSA8PCA4KSkKKyNkZWZpbmUgTVhDX0lDUjIoeCkgICAgKDB4MmMgKyAoKHgpIDw8IDgpKQorI2RlZmluZSBNWENfSU1SKHgpICAgICAoMHgzMCArICgoeCkgPDwgOCkpCisjZGVmaW5lIE1YQ19JU1IoeCkgICAgICgweDM0ICsgKCh4KSA8PCA4KSkKKyNkZWZpbmUgTVhDX0dQUih4KSAgICAgKDB4MzggKyAoKHgpIDw8IDgpKQorI2RlZmluZSBNWENfU1dSKHgpICAgICAoMHgzYyArICgoeCkgPDwgOCkpCisjZGVmaW5lIE1YQ19QVUVOKHgpICAgICgweDQwICsgKCh4KSA8PCA4KSkKKworI2lmZGVmIENPTkZJR19BUkNIX01YMQorIyBkZWZpbmUgR1BJT19QT1JUX01BWCAgMworI2VuZGlmCisjaWZkZWYgQ09ORklHX0FSQ0hfTVgyCisjIGRlZmluZSBHUElPX1BPUlRfTUFYICA1CisjZW5kaWYKKworI2lmbmRlZiBHUElPX1BPUlRfTUFYCisjIGVycm9yICJHUElPIGNvbmZpZyBwb3J0IGNvdW50IHVua25vd24hIgorI2VuZGlmCisKKyNkZWZpbmUgR1BJT19QSU5fTUFTSyAweDFmCisKKyNkZWZpbmUgR1BJT19QT1JUX1NISUZUIDUKKyNkZWZpbmUgR1BJT19QT1JUX01BU0sgKDB4NyA8PCBHUElPX1BPUlRfU0hJRlQpCisKKyNkZWZpbmUgR1BJT19QT1JUQSAoMCA8PCBHUElPX1BPUlRfU0hJRlQpCisjZGVmaW5lIEdQSU9fUE9SVEIgKDEgPDwgR1BJT19QT1JUX1NISUZUKQorI2RlZmluZSBHUElPX1BPUlRDICgyIDw8IEdQSU9fUE9SVF9TSElGVCkKKyNkZWZpbmUgR1BJT19QT1JURCAoMyA8PCBHUElPX1BPUlRfU0hJRlQpCisjZGVmaW5lIEdQSU9fUE9SVEUgKDQgPDwgR1BJT19QT1JUX1NISUZUKQorI2RlZmluZSBHUElPX1BPUlRGICg1IDw8IEdQSU9fUE9SVF9TSElGVCkKKworI2RlZmluZSBHUElPX09VVCAgICgxIDw8IDgpCisjZGVmaW5lIEdQSU9fSU4gICAgKDAgPDwgOCkKKyNkZWZpbmUgR1BJT19QVUVOICAoMSA8PCA5KQorCisjZGVmaW5lIEdQSU9fUEYgICAgKDEgPDwgMTApCisjZGVmaW5lIEdQSU9fQUYgICAgKDEgPDwgMTEpCisKKyNkZWZpbmUgR1BJT19PQ1JfU0hJRlQgMTIKKyNkZWZpbmUgR1BJT19PQ1JfTUFTSyAoMyA8PCBHUElPX09DUl9TSElGVCkKKyNkZWZpbmUgR1BJT19BSU4gICAoMCA8PCBHUElPX09DUl9TSElGVCkKKyNkZWZpbmUgR1BJT19CSU4gICAoMSA8PCBHUElPX09DUl9TSElGVCkKKyNkZWZpbmUgR1BJT19DSU4gICAoMiA8PCBHUElPX09DUl9TSElGVCkKKyNkZWZpbmUgR1BJT19HUElPICAoMyA8PCBHUElPX09DUl9TSElGVCkKKworI2RlZmluZSBHUElPX0FPVVRfU0hJRlQgMTQKKyNkZWZpbmUgR1BJT19BT1VUX01BU0sgKDMgPDwgR1BJT19BT1VUX1NISUZUKQorI2RlZmluZSBHUElPX0FPVVQgICAgICgwIDw8IEdQSU9fQU9VVF9TSElGVCkKKyNkZWZpbmUgR1BJT19BT1VUX0lTUiAoMSA8PCBHUElPX0FPVVRfU0hJRlQpCisjZGVmaW5lIEdQSU9fQU9VVF8wICAgKDIgPDwgR1BJT19BT1VUX1NISUZUKQorI2RlZmluZSBHUElPX0FPVVRfMSAgICgzIDw8IEdQSU9fQU9VVF9TSElGVCkKKworI2RlZmluZSBHUElPX0JPVVRfU0hJRlQgMTYKKyNkZWZpbmUgR1BJT19CT1VUX01BU0sgKDMgPDwgR1BJT19CT1VUX1NISUZUKQorI2RlZmluZSBHUElPX0JPVVQgICAgICAoMCA8PCBHUElPX0JPVVRfU0hJRlQpCisjZGVmaW5lIEdQSU9fQk9VVF9JU1IgICgxIDw8IEdQSU9fQk9VVF9TSElGVCkKKyNkZWZpbmUgR1BJT19CT1VUXzAgICAgKDIgPDwgR1BJT19CT1VUX1NISUZUKQorI2RlZmluZSBHUElPX0JPVVRfMSAgICAoMyA8PCBHUElPX0JPVVRfU0hJRlQpCisKK2V4dGVybiB2b2lkIG14Y19ncGlvX21vZGUoaW50IGdwaW9fbW9kZSk7CitleHRlcm4gaW50IG14Y19ncGlvX3NldHVwX211bHRpcGxlX3BpbnMoY29uc3QgaW50ICpwaW5fbGlzdCwgdW5zaWduZWQgY291bnQsCisJCQkJCWludCBhbGxvY19tb2RlLCBjb25zdCBjaGFyICpsYWJlbCk7CisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKy8qIGFzc2lnbmVtZW50cyBmb3IgR1BJTyBhbHRlcm5hdGUvcHJpbWFyeSBmdW5jdGlvbnMgKi8KKworLyogRklYTUU6IFRoaXMgbGlzdCBpcyBub3QgY29tcGxldGVkLiBUaGUgY29ycmVjdCBkaXJlY3Rpb25zIGFyZQorICogbWlzc2luZyBvbiBzb21lIChtYW55KSBwaW5zCisgKi8KKyNpZmRlZiBDT05GSUdfQVJDSF9NWDEKKyNkZWZpbmUgUEEwX0FJTl9TUEkyX0NMSyAgICAgKEdQSU9fR0lVUyB8IEdQSU9fUE9SVEEgfCBHUElPX09VVCB8IDApCisjZGVmaW5lIFBBMF9BRl9FVE1UUkFDRVNZTkMgIChHUElPX1BPUlRBIHwgR1BJT19BRiB8IDApCisjZGVmaW5lIFBBMV9BT1VUX1NQSTJfUlhEICAgIChHUElPX0dJVVMgfCBHUElPX1BPUlRBIHwgR1BJT19JTiB8IDEpCisjZGVmaW5lIFBBMV9QRl9USU4gICAgICAgICAgIChHUElPX1BPUlRBIHwgR1BJT19QRiB8IDEpCisjZGVmaW5lIFBBMl9QRl9QV00wICAgICAgICAgIChHUElPX1BPUlRBIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMikKKyNkZWZpbmUgUEEzX1BGX0NTSV9NQ0xLICAgICAgKEdQSU9fUE9SVEEgfCBHUElPX1BGIHwgMykKKyNkZWZpbmUgUEE0X1BGX0NTSV9EMCAgICAgICAgKEdQSU9fUE9SVEEgfCBHUElPX1BGIHwgNCkKKyNkZWZpbmUgUEE1X1BGX0NTSV9EMSAgICAgICAgKEdQSU9fUE9SVEEgfCBHUElPX1BGIHwgNSkKKyNkZWZpbmUgUEE2X1BGX0NTSV9EMiAgICAgICAgKEdQSU9fUE9SVEEgfCBHUElPX1BGIHwgNikKKyNkZWZpbmUgUEE3X1BGX0NTSV9EMyAgICAgICAgKEdQSU9fUE9SVEEgfCBHUElPX1BGIHwgNykKKyNkZWZpbmUgUEE4X1BGX0NTSV9ENCAgICAgICAgKEdQSU9fUE9SVEEgfCBHUElPX1BGIHwgOCkKKyNkZWZpbmUgUEE5X1BGX0NTSV9ENSAgICAgICAgKEdQSU9fUE9SVEEgfCBHUElPX1BGIHwgOSkKKyNkZWZpbmUgUEExMF9QRl9DU0lfRDYgICAgICAgKEdQSU9fUE9SVEEgfCBHUElPX1BGIHwgMTApCisjZGVmaW5lIFBBMTFfUEZfQ1NJX0Q3ICAgICAgIChHUElPX1BPUlRBIHwgR1BJT19QRiB8IDExKQorI2RlZmluZSBQQTEyX1BGX0NTSV9WU1lOQyAgICAoR1BJT19QT1JUQSB8IEdQSU9fUEYgfCAxMikKKyNkZWZpbmUgUEExM19QRl9DU0lfSFNZTkMgICAgKEdQSU9fUE9SVEEgfCBHUElPX1BGIHwgMTMpCisjZGVmaW5lIFBBMTRfUEZfQ1NJX1BJWENMSyAgIChHUElPX1BPUlRBIHwgR1BJT19QRiB8IDE0KQorI2RlZmluZSBQQTE1X1BGX0kyQ19TREEgICAgICAoR1BJT19QT1JUQSB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDE1KQorI2RlZmluZSBQQTE2X1BGX0kyQ19TQ0wgICAgICAoR1BJT19QT1JUQSB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDE2KQorI2RlZmluZSBQQTE3X0FGX0VUTVRSQUNFUEtUNCAoR1BJT19QT1JUQSB8IEdQSU9fQUYgfCAxNykKKyNkZWZpbmUgUEExN19BSU5fU1BJMl9TUyAgICAgKEdQSU9fR0lVUyB8IEdQSU9fUE9SVEEgfCBHUElPX09VVCB8IDE3KQorI2RlZmluZSBQQTE4X0FGX0VUTVRSQUNFUEtUNSAoR1BJT19QT1JUQSB8IEdQSU9fQUYgfCAxOCkKKyNkZWZpbmUgUEExOV9BRl9FVE1UUkFDRVBLVDYgKEdQSU9fUE9SVEEgfCBHUElPX0FGIHwgMTkpCisjZGVmaW5lIFBBMjBfQUZfRVRNVFJBQ0VQS1Q3IChHUElPX1BPUlRBIHwgR1BJT19BRiB8IDIwKQorI2RlZmluZSBQQTIxX1BGX0EwICAgICAgICAgICAoR1BJT19QT1JUQSB8IEdQSU9fUEYgfCAyMSkKKyNkZWZpbmUgUEEyMl9QRl9DUzQgICAgICAgICAgKEdQSU9fUE9SVEEgfCBHUElPX1BGIHwgMjIpCisjZGVmaW5lIFBBMjNfUEZfQ1M1ICAgICAgICAgIChHUElPX1BPUlRBIHwgR1BJT19QRiB8IDIzKQorI2RlZmluZSBQQTI0X1BGX0ExNiAgICAgICAgICAoR1BJT19QT1JUQSB8IEdQSU9fUEYgfCAyNCkKKyNkZWZpbmUgUEEyNF9BRl9FVE1UUkFDRVBLVDAgKEdQSU9fUE9SVEEgfCBHUElPX0FGIHwgMjQpCisjZGVmaW5lIFBBMjVfUEZfQTE3ICAgICAgICAgIChHUElPX1BPUlRBIHwgR1BJT19QRiB8IDI1KQorI2RlZmluZSBQQTI1X0FGX0VUTVRSQUNFUEtUMSAoR1BJT19QT1JUQSB8IEdQSU9fQUYgfCAyNSkKKyNkZWZpbmUgUEEyNl9QRl9BMTggICAgICAgICAgKEdQSU9fUE9SVEEgfCBHUElPX1BGIHwgMjYpCisjZGVmaW5lIFBBMjZfQUZfRVRNVFJBQ0VQS1QyIChHUElPX1BPUlRBIHwgR1BJT19BRiB8IDI2KQorI2RlZmluZSBQQTI3X1BGX0ExOSAgICAgICAgICAoR1BJT19QT1JUQSB8IEdQSU9fUEYgfCAyNykKKyNkZWZpbmUgUEEyN19BRl9FVE1UUkFDRVBLVDMgKEdQSU9fUE9SVEEgfCBHUElPX0FGIHwgMjcpCisjZGVmaW5lIFBBMjhfUEZfQTIwICAgICAgICAgIChHUElPX1BPUlRBIHwgR1BJT19QRiB8IDI4KQorI2RlZmluZSBQQTI4X0FGX0VUTVBJUEVTVEFUMCAoR1BJT19QT1JUQSB8IEdQSU9fQUYgfCAyOCkKKyNkZWZpbmUgUEEyOV9QRl9BMjEgICAgICAgICAgKEdQSU9fUE9SVEEgfCBHUElPX1BGIHwgMjkpCisjZGVmaW5lIFBBMjlfQUZfRVRNUElQRVNUQVQxIChHUElPX1BPUlRBIHwgR1BJT19BRiB8IDI5KQorI2RlZmluZSBQQTMwX1BGX0EyMiAgICAgICAgICAoR1BJT19QT1JUQSB8IEdQSU9fUEYgfCAzMCkKKyNkZWZpbmUgUEEzMF9BRl9FVE1QSVBFU1RBVDIgKEdQSU9fUE9SVEEgfCBHUElPX0FGIHwgMzApCisjZGVmaW5lIFBBMzFfUEZfQTIzICAgICAgICAgIChHUElPX1BPUlRBIHwgR1BJT19QRiB8IDMxKQorI2RlZmluZSBQQTMxX0FGX0VUTVRSQUNFQ0xLICAoR1BJT19QT1JUQSB8IEdQSU9fQUYgfCAzMSkKKyNkZWZpbmUgUEI4X1BGX1NEX0RBVDAgICAgICAgKEdQSU9fUE9SVEIgfCBHUElPX1BGIHwgR1BJT19QVUVOIHwgOCkKKyNkZWZpbmUgUEI4X0FGX01TX1BJTyAgICAgICAgKEdQSU9fUE9SVEIgfCBHUElPX0FGIHwgOCkKKyNkZWZpbmUgUEI5X1BGX1NEX0RBVDEgICAgICAgKEdQSU9fUE9SVEIgfCBHUElPX1BGIHwgR1BJT19QVUVOICB8IDkpCisjZGVmaW5lIFBCOV9BRl9NU19QSTEgICAgICAgIChHUElPX1BPUlRCIHwgR1BJT19BRiB8IDkpCisjZGVmaW5lIFBCMTBfUEZfU0RfREFUMiAgICAgIChHUElPX1BPUlRCIHwgR1BJT19QRiB8IEdQSU9fUFVFTiAgfCAxMCkKKyNkZWZpbmUgUEIxMF9BRl9NU19TQ0xLSSAgICAgKEdQSU9fUE9SVEIgfCBHUElPX0FGIHwgMTApCisjZGVmaW5lIFBCMTFfUEZfU0RfREFUMyAgICAgIChHUElPX1BPUlRCIHwgR1BJT19QRiB8IDExKQorI2RlZmluZSBQQjExX0FGX01TX1NESU8gICAgICAoR1BJT19QT1JUQiB8IEdQSU9fQUYgfCAxMSkKKyNkZWZpbmUgUEIxMl9QRl9TRF9DTEsgICAgICAgKEdQSU9fUE9SVEIgfCBHUElPX1BGIHwgMTIpCisjZGVmaW5lIFBCMTJfQUZfTVNfU0NMSzAgICAgIChHUElPX1BPUlRCIHwgR1BJT19BRiB8IDEyKQorI2RlZmluZSBQQjEzX1BGX1NEX0NNRCAgICAgICAoR1BJT19QT1JUQiB8IEdQSU9fUEYgfCBHUElPX1BVRU4gfCAxMykKKyNkZWZpbmUgUEIxM19BRl9NU19CUyAgICAgICAgKEdQSU9fUE9SVEIgfCBHUElPX0FGIHwgMTMpCisjZGVmaW5lIFBCMTRfQUZfU1NJX1JYRlMgICAgIChHUElPX1BPUlRCIHwgR1BJT19BRiB8IDE0KQorI2RlZmluZSBQQjE1X0FGX1NTSV9SWENMSyAgICAoR1BJT19QT1JUQiB8IEdQSU9fQUYgfCAxNSkKKyNkZWZpbmUgUEIxNl9BRl9TU0lfUlhEQVQgICAgKEdQSU9fUE9SVEIgfCBHUElPX0lOIHwgR1BJT19BRiB8IDE2KQorI2RlZmluZSBQQjE3X0FGX1NTSV9UWERBVCAgICAoR1BJT19QT1JUQiB8IEdQSU9fT1VUIHwgR1BJT19BRiB8IDE3KQorI2RlZmluZSBQQjE4X0FGX1NTSV9UWEZTICAgICAoR1BJT19QT1JUQiB8IEdQSU9fQUYgfCAxOCkKKyNkZWZpbmUgUEIxOV9BRl9TU0lfVFhDTEsgICAgKEdQSU9fUE9SVEIgfCBHUElPX0FGIHwgMTkpCisjZGVmaW5lIFBCMjBfUEZfVVNCRF9BRkUgICAgIChHUElPX1BPUlRCIHwgR1BJT19QRiB8IDIwKQorI2RlZmluZSBQQjIxX1BGX1VTQkRfT0UgICAgICAoR1BJT19QT1JUQiB8IEdQSU9fUEYgfCAyMSkKKyNkZWZpbmUgUEIyMl9QRlVTQkRfUkNWICAgICAgKEdQSU9fUE9SVEIgfCBHUElPX1BGIHwgMjIpCisjZGVmaW5lIFBCMjNfUEZfVVNCRF9TVVNQTkQgIChHUElPX1BPUlRCIHwgR1BJT19QRiB8IDIzKQorI2RlZmluZSBQQjI0X1BGX1VTQkRfVlAgICAgICAoR1BJT19QT1JUQiB8IEdQSU9fUEYgfCAyNCkKKyNkZWZpbmUgUEIyNV9QRl9VU0JEX1ZNICAgICAgKEdQSU9fUE9SVEIgfCBHUElPX1BGIHwgMjUpCisjZGVmaW5lIFBCMjZfUEZfVVNCRF9WUE8gICAgIChHUElPX1BPUlRCIHwgR1BJT19QRiB8IDI2KQorI2RlZmluZSBQQjI3X1BGX1VTQkRfVk1PICAgICAoR1BJT19QT1JUQiB8IEdQSU9fUEYgfCAyNykKKyNkZWZpbmUgUEIyOF9QRl9VQVJUMl9DVFMgICAgKEdQSU9fUE9SVEIgfCBHUElPX09VVCB8IEdQSU9fUEYgfCAyOCkKKyNkZWZpbmUgUEIyOV9QRl9VQVJUMl9SVFMgICAgKEdQSU9fUE9SVEIgfCBHUElPX0lOIHwgR1BJT19QRiB8IDI5KQorI2RlZmluZSBQQjMwX1BGX1VBUlQyX1RYRCAgICAoR1BJT19QT1JUQiB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDMwKQorI2RlZmluZSBQQjMxX1BGX1VBUlQyX1JYRCAgICAoR1BJT19QT1JUQiB8IEdQSU9fSU4gfCBHUElPX1BGIHwgMzEpCisjZGVmaW5lIFBDM19QRl9TU0lfUlhGUyAgICAgIChHUElPX1BPUlRDIHwgR1BJT19QRiB8IDMpCisjZGVmaW5lIFBDNF9QRl9TU0lfUlhDTEsgICAgIChHUElPX1BPUlRDIHwgR1BJT19QRiB8IDQpCisjZGVmaW5lIFBDNV9QRl9TU0lfUlhEQVQgICAgIChHUElPX1BPUlRDIHwgR1BJT19JTiB8IEdQSU9fUEYgfCA1KQorI2RlZmluZSBQQzZfUEZfU1NJX1RYREFUICAgICAoR1BJT19QT1JUQyB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDYpCisjZGVmaW5lIFBDN19QRl9TU0lfVFhGUyAgICAgIChHUElPX1BPUlRDIHwgR1BJT19QRiB8IDcpCisjZGVmaW5lIFBDOF9QRl9TU0lfVFhDTEsgICAgIChHUElPX1BPUlRDIHwgR1BJT19QRiB8IDgpCisjZGVmaW5lIFBDOV9QRl9VQVJUMV9DVFMgICAgIChHUElPX1BPUlRDIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgOSkKKyNkZWZpbmUgUEMxMF9QRl9VQVJUMV9SVFMgICAgKEdQSU9fUE9SVEMgfCBHUElPX0lOIHwgR1BJT19QRiB8IDEwKQorI2RlZmluZSBQQzExX1BGX1VBUlQxX1RYRCAgICAoR1BJT19QT1JUQyB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDExKQorI2RlZmluZSBQQzEyX1BGX1VBUlQxX1JYRCAgICAoR1BJT19QT1JUQyB8IEdQSU9fSU4gfCBHUElPX1BGIHwgMTIpCisjZGVmaW5lIFBDMTNfUEZfU1BJMV9TUElfUkRZIChHUElPX1BPUlRDIHwgR1BJT19QRiB8IDEzKQorI2RlZmluZSBQQzE0X1BGX1NQSTFfU0NMSyAgICAoR1BJT19QT1JUQyB8IEdQSU9fUEYgfCAxNCkKKyNkZWZpbmUgUEMxNV9QRl9TUEkxX1NTICAgICAgKEdQSU9fUE9SVEMgfCBHUElPX1BGIHwgMTUpCisjZGVmaW5lIFBDMTZfUEZfU1BJMV9NSVNPICAgIChHUElPX1BPUlRDIHwgR1BJT19QRiB8IDE2KQorI2RlZmluZSBQQzE3X1BGX1NQSTFfTU9TSSAgICAoR1BJT19QT1JUQyB8IEdQSU9fUEYgfCAxNykKKyNkZWZpbmUgUEMyNF9CSU5fVUFSVDNfUkkgICAgKEdQSU9fR0lVUyB8IEdQSU9fUE9SVEMgfCBHUElPX09VVCB8IEdQSU9fQklOIHwgMjQpCisjZGVmaW5lIFBDMjVfQklOX1VBUlQzX0RTUiAgIChHUElPX0dJVVMgfCBHUElPX1BPUlRDIHwgR1BJT19PVVQgfCBHUElPX0JJTiB8IDI1KQorI2RlZmluZSBQQzI2X0FPVVRfVUFSVDNfRFRSICAoR1BJT19HSVVTIHwgR1BJT19QT1JUQyB8IEdQSU9fSU4gfCAyNikKKyNkZWZpbmUgUEMyN19CSU5fVUFSVDNfRENEICAgKEdQSU9fR0lVUyB8IEdQSU9fUE9SVEMgfCBHUElPX09VVCB8IEdQSU9fQklOIHwgMjcpCisjZGVmaW5lIFBDMjhfQklOX1VBUlQzX0NUUyAgIChHUElPX0dJVVMgfCBHUElPX1BPUlRDIHwgR1BJT19PVVQgfCBHUElPX0JJTiB8IDI4KQorI2RlZmluZSBQQzI5X0FPVVRfVUFSVDNfUlRTICAoR1BJT19HSVVTIHwgR1BJT19QT1JUQyB8IEdQSU9fSU4gfCAyOSkKKyNkZWZpbmUgUEMzMF9CSU5fVUFSVDNfVFggICAgKEdQSU9fR0lVUyB8IEdQSU9fUE9SVEMgfCBHUElPX0JJTiB8IDMwKQorI2RlZmluZSBQQzMxX0FPVVRfVUFSVDNfUlggICAoR1BJT19HSVVTIHwgR1BJT19QT1JUQyB8IEdQSU9fSU4gfCAzMSkKKyNkZWZpbmUgUEQ2X1BGX0xTQ0xLICAgICAgICAgKEdQSU9fUE9SVEQgfCBHUElPX09VVCB8IEdQSU9fUEYgfCA2KQorI2RlZmluZSBQRDdfUEZfUkVWICAgICAgICAgICAoR1BJT19QT1JURCB8IEdQSU9fUEYgfCA3KQorI2RlZmluZSBQRDdfQUZfVUFSVDJfRFRSICAgICAoR1BJT19HSVVTIHwgR1BJT19QT1JURCB8IEdQSU9fSU4gfCBHUElPX0FGIHwgNykKKyNkZWZpbmUgUEQ3X0FJTl9TUEkyX1NDTEsgICAgKEdQSU9fR0lVUyB8IEdQSU9fUE9SVEQgfCBHUElPX0FJTiB8IDcpCisjZGVmaW5lIFBEOF9QRl9DTFMgICAgICAgICAgIChHUElPX1BPUlREIHwgR1BJT19QRiB8IDgpCisjZGVmaW5lIFBEOF9BRl9VQVJUMl9EQ0QgICAgIChHUElPX1BPUlREIHwgR1BJT19PVVQgfCBHUElPX0FGIHwgOCkKKyNkZWZpbmUgUEQ4X0FJTl9TUEkyX1NTICAgICAgKEdQSU9fR0lVUyB8IEdQSU9fUE9SVEQgfCBHUElPX0FJTiB8IDgpCisjZGVmaW5lIFBEOV9QRl9QUyAgICAgICAgICAgIChHUElPX1BPUlREIHwgR1BJT19QRiB8IDkpCisjZGVmaW5lIFBEOV9BRl9VQVJUMl9SSSAgICAgIChHUElPX1BPUlREIHwgR1BJT19PVVQgfCBHUElPX0FGIHwgOSkKKyNkZWZpbmUgUEQ5X0FPVVRfU1BJMl9SWEQgICAgKEdQSU9fR0lVUyB8IEdQSU9fUE9SVEQgfCBHUElPX0lOIHwgOSkKKyNkZWZpbmUgUEQxMF9QRl9TUExfU1BSICAgICAgKEdQSU9fUE9SVEQgfCBHUElPX09VVCB8IEdQSU9fUEYgfCAxMCkKKyNkZWZpbmUgUEQxMF9BRl9VQVJUMl9EU1IgICAgKEdQSU9fUE9SVEQgfCBHUElPX09VVCB8IEdQSU9fQUYgfCAxMCkKKyNkZWZpbmUgUEQxMF9BSU5fU1BJMl9UWEQgICAgKEdQSU9fR0lVUyB8IEdQSU9fUE9SVEQgfCBHUElPX09VVCB8IDEwKQorI2RlZmluZSBQRDExX1BGX0NPTlRSQVNUICAgICAoR1BJT19QT1JURCB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDExKQorI2RlZmluZSBQRDEyX1BGX0FDRF9PRSAgICAgICAoR1BJT19QT1JURCB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDEyKQorI2RlZmluZSBQRDEzX1BGX0xQX0hTWU5DICAgICAoR1BJT19QT1JURCB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDEzKQorI2RlZmluZSBQRDE0X1BGX0ZMTV9WU1lOQyAgICAoR1BJT19QT1JURCB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDE0KQorI2RlZmluZSBQRDE1X1BGX0xEMCAgICAgICAgICAoR1BJT19QT1JURCB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDE1KQorI2RlZmluZSBQRDE2X1BGX0xEMSAgICAgICAgICAoR1BJT19QT1JURCB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDE2KQorI2RlZmluZSBQRDE3X1BGX0xEMiAgICAgICAgICAoR1BJT19QT1JURCB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDE3KQorI2RlZmluZSBQRDE4X1BGX0xEMyAgICAgICAgICAoR1BJT19QT1JURCB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDE4KQorI2RlZmluZSBQRDE5X1BGX0xENCAgICAgICAgICAoR1BJT19QT1JURCB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDE5KQorI2RlZmluZSBQRDIwX1BGX0xENSAgICAgICAgICAoR1BJT19QT1JURCB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDIwKQorI2RlZmluZSBQRDIxX1BGX0xENiAgICAgICAgICAoR1BJT19QT1JURCB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDIxKQorI2RlZmluZSBQRDIyX1BGX0xENyAgICAgICAgICAoR1BJT19QT1JURCB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDIyKQorI2RlZmluZSBQRDIzX1BGX0xEOCAgICAgICAgICAoR1BJT19QT1JURCB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDIzKQorI2RlZmluZSBQRDI0X1BGX0xEOSAgICAgICAgICAoR1BJT19QT1JURCB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDI0KQorI2RlZmluZSBQRDI1X1BGX0xEMTAgICAgICAgICAoR1BJT19QT1JURCB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDI1KQorI2RlZmluZSBQRDI2X1BGX0xEMTEgICAgICAgICAoR1BJT19QT1JURCB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDI2KQorI2RlZmluZSBQRDI3X1BGX0xEMTIgICAgICAgICAoR1BJT19QT1JURCB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDI3KQorI2RlZmluZSBQRDI4X1BGX0xEMTMgICAgICAgICAoR1BJT19QT1JURCB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDI4KQorI2RlZmluZSBQRDI5X1BGX0xEMTQgICAgICAgICAoR1BJT19QT1JURCB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDI5KQorI2RlZmluZSBQRDMwX1BGX0xEMTUgICAgICAgICAoR1BJT19QT1JURCB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDMwKQorI2RlZmluZSBQRDMxX1BGX1RNUjJPVVQgICAgICAoR1BJT19QT1JURCB8IEdQSU9fUEYgfCAzMSkKKyNkZWZpbmUgUEQzMV9CSU5fU1BJMl9UWEQgICAgKEdQSU9fR0lVUyB8IEdQSU9fUE9SVEQgfCBHUElPX0JJTiB8IDMxKQorI2VuZGlmCisKKyNpZmRlZiBDT05GSUdfQVJDSF9NWDIKKyNkZWZpbmUgUEE1X1BGX0xTQ0xLCQkoR1BJT19QT1JUQSB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDUpCisjZGVmaW5lIFBBNl9QRl9MRDAJCShHUElPX1BPUlRBIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgNikKKyNkZWZpbmUgUEE3X1BGX0xEMQkJKEdQSU9fUE9SVEEgfCBHUElPX09VVCB8IEdQSU9fUEYgfCA3KQorI2RlZmluZSBQQThfUEZfTEQyCQkoR1BJT19QT1JUQSB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDgpCisjZGVmaW5lIFBBOV9QRl9MRDMJCShHUElPX1BPUlRBIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgOSkKKyNkZWZpbmUgUEExMF9QRl9MRDQJCShHUElPX1BPUlRBIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMTApCisjZGVmaW5lIFBBMTFfUEZfTEQ1CQkoR1BJT19QT1JUQSB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDExKQorI2RlZmluZSBQQTEyX1BGX0xENgkJKEdQSU9fUE9SVEEgfCBHUElPX09VVCB8IEdQSU9fUEYgfCAxMikKKyNkZWZpbmUgUEExM19QRl9MRDcJCShHUElPX1BPUlRBIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMTMpCisjZGVmaW5lIFBBMTRfUEZfTEQ4CQkoR1BJT19QT1JUQSB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDE0KQorI2RlZmluZSBQQTE1X1BGX0xEOQkJKEdQSU9fUE9SVEEgfCBHUElPX09VVCB8IEdQSU9fUEYgfCAxNSkKKyNkZWZpbmUgUEExNl9QRl9MRDEwCQkoR1BJT19QT1JUQSB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDE2KQorI2RlZmluZSBQQTE3X1BGX0xEMTEJCShHUElPX1BPUlRBIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMTcpCisjZGVmaW5lIFBBMThfUEZfTEQxMgkJKEdQSU9fUE9SVEEgfCBHUElPX09VVCB8IEdQSU9fUEYgfCAxOCkKKyNkZWZpbmUgUEExOV9QRl9MRDEzCQkoR1BJT19QT1JUQSB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDE5KQorI2RlZmluZSBQQTIwX1BGX0xEMTQJCShHUElPX1BPUlRBIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMjApCisjZGVmaW5lIFBBMjFfUEZfTEQxNQkJKEdQSU9fUE9SVEEgfCBHUElPX09VVCB8IEdQSU9fUEYgfCAyMSkKKyNkZWZpbmUgUEEyMl9QRl9MRDE2CQkoR1BJT19QT1JUQSB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDIyKQorI2RlZmluZSBQQTIzX1BGX0xEMTcJCShHUElPX1BPUlRBIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMjMpCisjZGVmaW5lIFBBMjRfUEZfUkVWCQkoR1BJT19QT1JUQSB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDI0KQorI2RlZmluZSBQQTI1X1BGX0NMUwkJKEdQSU9fUE9SVEEgfCBHUElPX09VVCB8IEdQSU9fUEYgfCAyNSkKKyNkZWZpbmUgUEEyNl9QRl9QUwkJKEdQSU9fUE9SVEEgfCBHUElPX09VVCB8IEdQSU9fUEYgfCAyNikKKyNkZWZpbmUgUEEyN19QRl9TUExfU1BSCQkoR1BJT19QT1JUQSB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDI3KQorI2RlZmluZSBQQTI4X1BGX0hTWU5DCQkoR1BJT19QT1JUQSB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDI4KQorI2RlZmluZSBQQTI5X1BGX1ZTWU5DCQkoR1BJT19QT1JUQSB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDI5KQorI2RlZmluZSBQQTMwX1BGX0NPTlRSQVNUCShHUElPX1BPUlRBIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMzApCisjZGVmaW5lIFBBMzFfUEZfT0VfQUNECQkoR1BJT19QT1JUQSB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDMxKQorI2RlZmluZSBQQjEwX1BGX0NTSV9EMAkJKEdQSU9fUE9SVEIgfCBHUElPX09VVCB8IEdQSU9fUEYgfCAxMCkKKyNkZWZpbmUgUEIxMF9BRl9VQVJUNl9UWEQJKEdQSU9fUE9SVEIgfCBHUElPX09VVCB8IEdQSU9fQUYgfCAxMCkKKyNkZWZpbmUgUEIxMV9QRl9DU0lfRDEJCShHUElPX1BPUlRCIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMTEpCisjZGVmaW5lIFBCMTFfQUZfVUFSVDZfUlhECShHUElPX1BPUlRCIHwgR1BJT19JTiAgfCBHUElPX0FGIHwgMTEpCisjZGVmaW5lIFBCMTJfUEZfQ1NJX0QyCQkoR1BJT19QT1JUQiB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDEyKQorI2RlZmluZSBQQjEyX0FGX1VBUlQ2X0NUUwkoR1BJT19QT1JUQiB8IEdQSU9fT1VUIHwgR1BJT19BRiB8IDEyKQorI2RlZmluZSBQQjEzX1BGX0NTSV9EMwkJKEdQSU9fUE9SVEIgfCBHUElPX09VVCB8IEdQSU9fUEYgfCAxMykKKyNkZWZpbmUgUEIxM19BRl9VQVJUNl9SVFMJKEdQSU9fUE9SVEIgfCBHUElPX0lOICB8IEdQSU9fQUYgfCAxMykKKyNkZWZpbmUgUEIxNF9QRl9DU0lfRDQJCShHUElPX1BPUlRCIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMTQpCisjZGVmaW5lIFBCMTVfUEZfQ1NJX01DTEsJKEdQSU9fUE9SVEIgfCBHUElPX09VVCB8IEdQSU9fUEYgfCAxNSkKKyNkZWZpbmUgUEIxNl9QRl9DU0lfUElYQ0xLCShHUElPX1BPUlRCIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMTYpCisjZGVmaW5lIFBCMTdfUEZfQ1NJX0Q1CQkoR1BJT19QT1JUQiB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDE3KQorI2RlZmluZSBQQjE4X1BGX0NTSV9ENgkJKEdQSU9fUE9SVEIgfCBHUElPX09VVCB8IEdQSU9fUEYgfCAxOCkKKyNkZWZpbmUgUEIxOF9BRl9VQVJUNV9UWEQJKEdQSU9fUE9SVEIgfCBHUElPX09VVCB8IEdQSU9fQUYgfCAxOCkKKyNkZWZpbmUgUEIxOV9QRl9DU0lfRDcJCShHUElPX1BPUlRCIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMTkpCisjZGVmaW5lIFBCMTlfQUZfVUFSVDVfUlhECShHUElPX1BPUlRCIHwgR1BJT19JTiAgfCBHUElPX0FGIHwgMTkpCisjZGVmaW5lIFBCMjBfUEZfQ1NJX1ZTWU5DCShHUElPX1BPUlRCIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMjApCisjZGVmaW5lIFBCMjBfQUZfVUFSVDVfQ1RTCShHUElPX1BPUlRCIHwgR1BJT19PVVQgfCBHUElPX0FGIHwgMjApCisjZGVmaW5lIFBCMjFfUEZfQ1NJX0hTWU5DCShHUElPX1BPUlRCIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMjEpCisjZGVmaW5lIFBCMjFfQUZfVUFSVDVfUlRTCShHUElPX1BPUlRCIHwgR1BJT19JTiAgfCBHUElPX0FGIHwgMjEpCisjZGVmaW5lIFBCMjZfQUZfVUFSVDRfUlRTCShHUElPX1BPUlRCIHwgR1BJT19JTiAgfCBHUElPX1BGIHwgMjYpCisjZGVmaW5lIFBCMjhfQUZfVUFSVDRfVFhECShHUElPX1BPUlRCIHwgR1BJT19PVVQgfCBHUElPX0FGIHwgMjgpCisjZGVmaW5lIFBCMjlfQUZfVUFSVDRfQ1RTCShHUElPX1BPUlRCIHwgR1BJT19PVVQgfCBHUElPX0FGIHwgMjkpCisjZGVmaW5lIFBCMzFfQUZfVUFSVDRfUlhECShHUElPX1BPUlRCIHwgR1BJT19JTiAgfCBHUElPX0FGIHwgMzEpCisjZGVmaW5lIFBDNV9QRl9JMkMyX1NEQQkJKEdQSU9fUE9SVEMgfCBHUElPX0lOICB8IEdQSU9fUEYgfCA1KQorI2RlZmluZSBQQzZfUEZfSTJDMl9TQ0wJCShHUElPX1BPUlRDIHwgR1BJT19JTiAgfCBHUElPX1BGIHwgNikKKyNkZWZpbmUgUEMxNl9QRl9TU0k0X0ZTCQkoR1BJT19QT1JUQyB8IEdQSU9fSU4gIHwgR1BJT19QRiB8IDE2KQorI2RlZmluZSBQQzE3X1BGX1NTSTRfUlhECShHUElPX1BPUlRDIHwgR1BJT19JTiAgfCBHUElPX1BGIHwgMTcpCisjZGVmaW5lIFBDMThfUEZfU1NJNF9UWEQJKEdQSU9fUE9SVEMgfCBHUElPX0lOICB8IEdQSU9fUEYgfCAxOCkKKyNkZWZpbmUgUEMxOV9QRl9TU0k0X0NMSwkoR1BJT19QT1JUQyB8IEdQSU9fSU4gIHwgR1BJT19QRiB8IDE5KQorI2RlZmluZSBQQzIwX1BGX1NTSTFfRlMJCShHUElPX1BPUlRDIHwgR1BJT19JTiAgfCBHUElPX1BGIHwgMjApCisjZGVmaW5lIFBDMjFfUEZfU1NJMV9SWEQJKEdQSU9fUE9SVEMgfCBHUElPX0lOICB8IEdQSU9fUEYgfCAyMSkKKyNkZWZpbmUgUEMyMl9QRl9TU0kxX1RYRAkoR1BJT19QT1JUQyB8IEdQSU9fSU4gIHwgR1BJT19QRiB8IDIyKQorI2RlZmluZSBQQzIzX1BGX1NTSTFfQ0xLCShHUElPX1BPUlRDIHwgR1BJT19JTiAgfCBHUElPX1BGIHwgMjMpCisjZGVmaW5lIFBDMjRfUEZfU1NJMl9GUwkJKEdQSU9fUE9SVEMgfCBHUElPX0lOICB8IEdQSU9fUEYgfCAyNCkKKyNkZWZpbmUgUEMyNV9QRl9TU0kyX1JYRAkoR1BJT19QT1JUQyB8IEdQSU9fSU4gIHwgR1BJT19QRiB8IDI1KQorI2RlZmluZSBQQzI2X1BGX1NTSTJfVFhECShHUElPX1BPUlRDIHwgR1BJT19JTiAgfCBHUElPX1BGIHwgMjYpCisjZGVmaW5lIFBDMjdfUEZfU1NJMl9DTEsJKEdQSU9fUE9SVEMgfCBHUElPX0lOICB8IEdQSU9fUEYgfCAyNykKKyNkZWZpbmUgUEMyOF9QRl9TU0kzX0ZTCQkoR1BJT19QT1JUQyB8IEdQSU9fSU4gIHwgR1BJT19QRiB8IDI4KQorI2RlZmluZSBQQzI5X1BGX1NTSTNfUlhECShHUElPX1BPUlRDIHwgR1BJT19JTiAgfCBHUElPX1BGIHwgMjkpCisjZGVmaW5lIFBDMzBfUEZfU1NJM19UWEQJKEdQSU9fUE9SVEMgfCBHUElPX0lOICB8IEdQSU9fUEYgfCAzMCkKKyNkZWZpbmUgUEMzMV9QRl9TU0kzX0NMSwkoR1BJT19QT1JUQyB8IEdQSU9fSU4gIHwgR1BJT19QRiB8IDMxKQorI2RlZmluZSBQRDBfQUlOX0ZFQ19UWEQwCShHUElPX1BPUlREIHwgR1BJT19PVVQgfCBHUElPX0FJTiB8IDApCisjZGVmaW5lIFBEMV9BSU5fRkVDX1RYRDEJKEdQSU9fUE9SVEQgfCBHUElPX09VVCB8IEdQSU9fQUlOIHwgMSkKKyNkZWZpbmUgUEQyX0FJTl9GRUNfVFhEMgkoR1BJT19QT1JURCB8IEdQSU9fT1VUIHwgR1BJT19BSU4gfCAyKQorI2RlZmluZSBQRDNfQUlOX0ZFQ19UWEQzCShHUElPX1BPUlREIHwgR1BJT19PVVQgfCBHUElPX0FJTiB8IDMpCisjZGVmaW5lIFBENF9BT1VUX0ZFQ19SWF9FUgkoR1BJT19QT1JURCB8IEdQSU9fSU4gfCBHUElPX0FPVVQgfCA0KQorI2RlZmluZSBQRDVfQU9VVF9GRUNfUlhEMQkoR1BJT19QT1JURCB8IEdQSU9fSU4gfCBHUElPX0FPVVQgfCA1KQorI2RlZmluZSBQRDZfQU9VVF9GRUNfUlhEMgkoR1BJT19QT1JURCB8IEdQSU9fSU4gfCBHUElPX0FPVVQgfCA2KQorI2RlZmluZSBQRDdfQU9VVF9GRUNfUlhEMwkoR1BJT19QT1JURCB8IEdQSU9fSU4gfCBHUElPX0FPVVQgfCA3KQorI2RlZmluZSBQRDhfQUZfRkVDX01ESU8JCShHUElPX1BPUlREIHwgR1BJT19JTiB8IEdQSU9fQUYgfCA4KQorI2RlZmluZSBQRDlfQUlOX0ZFQ19NREMJCShHUElPX1BPUlREIHwgR1BJT19PVVQgfCBHUElPX0FJTiB8IDkpCisjZGVmaW5lIFBEMTBfQU9VVF9GRUNfQ1JTCShHUElPX1BPUlREIHwgR1BJT19JTiB8IEdQSU9fQU9VVCB8IDEwKQorI2RlZmluZSBQRDExX0FPVVRfRkVDX1RYX0NMSwkoR1BJT19QT1JURCB8IEdQSU9fSU4gfCBHUElPX0FPVVQgfCAxMSkKKyNkZWZpbmUgUEQxMl9BT1VUX0ZFQ19SWEQwCShHUElPX1BPUlREIHwgR1BJT19JTiB8IEdQSU9fQU9VVCB8IDEyKQorI2RlZmluZSBQRDEzX0FPVVRfRkVDX1JYX0RWCShHUElPX1BPUlREIHwgR1BJT19JTiB8IEdQSU9fQU9VVCB8IDEzKQorI2RlZmluZSBQRDE0X0FPVVRfRkVDX0NMUgkoR1BJT19QT1JURCB8IEdQSU9fSU4gfCBHUElPX0FPVVQgfCAxNCkKKyNkZWZpbmUgUEQxNV9BT1VUX0ZFQ19DT0wJKEdQSU9fUE9SVEQgfCBHUElPX0lOIHwgR1BJT19BT1VUIHwgMTUpCisjZGVmaW5lIFBEMTZfQUlOX0ZFQ19UWF9FUgkoR1BJT19QT1JURCB8IEdQSU9fT1VUIHwgR1BJT19BSU4gfCAxNikKKyNkZWZpbmUgUEQxN19QRl9JMkNfREFUQQkoR1BJT19QT1JURCB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDE3KQorI2RlZmluZSBQRDE4X1BGX0kyQ19DTEsJCShHUElPX1BPUlREIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMTgpCisjZGVmaW5lIFBEMjVfUEZfQ1NQSTFfUkRZCShHUElPX1BPUlREIHwgR1BJT19PVVQgfCBHUElPX1BGICB8IDI1KQorI2RlZmluZSBQRDI2X1BGX0NTUEkxX1NTMgkoR1BJT19QT1JURCB8IEdQSU9fT1VUIHwgR1BJT19QRiAgfCAyNikKKyNkZWZpbmUgUEQyN19QRl9DU1BJMV9TUzEJKEdQSU9fUE9SVEQgfCBHUElPX09VVCB8IEdQSU9fUEYgIHwgMjcpCisjZGVmaW5lIFBEMjhfUEZfQ1NQSTFfU1MwCShHUElPX1BPUlREIHwgR1BJT19PVVQgfCBHUElPX1BGICB8IDI4KQorI2RlZmluZSBQRDI5X1BGX0NTUEkxX1NDTEsJKEdQSU9fUE9SVEQgfCBHUElPX09VVCB8IEdQSU9fUEYgIHwgMjkpCisjZGVmaW5lIFBEMzBfUEZfQ1NQSTFfTUlTTwkoR1BJT19QT1JURCB8IEdQSU9fSU4gfCBHUElPX1BGICB8IDMwKQorI2RlZmluZSBQRDMxX1BGX0NTUEkxX01PU0kJKEdQSU9fUE9SVEQgfCBHUElPX09VVCB8IEdQSU9fUEYgIHwgMzEpCisjZGVmaW5lIFBGMjNfQUlOX0ZFQ19UWF9FTgkoR1BJT19QT1JURiB8IEdQSU9fT1VUIHwgR1BJT19BSU4gfCAyMykKKyNkZWZpbmUgUEUzX1BGX1VBUlQyX0NUUwkoR1BJT19QT1JURSB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDMpCisjZGVmaW5lIFBFNF9QRl9VQVJUMl9SVFMJKEdQSU9fUE9SVEUgfCBHUElPX0lOICB8IEdQSU9fUEYgfCA0KQorI2RlZmluZSBQRTZfUEZfVUFSVDJfVFhECShHUElPX1BPUlRFIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgNikKKyNkZWZpbmUgUEU3X1BGX1VBUlQyX1JYRAkoR1BJT19QT1JURSB8IEdQSU9fSU4gIHwgR1BJT19QRiB8IDcpCisjZGVmaW5lIFBFOF9QRl9VQVJUM19UWEQJKEdQSU9fUE9SVEUgfCBHUElPX09VVCB8IEdQSU9fUEYgfCA4KQorI2RlZmluZSBQRTlfUEZfVUFSVDNfUlhECShHUElPX1BPUlRFIHwgR1BJT19JTiAgfCBHUElPX1BGIHwgOSkKKyNkZWZpbmUgUEUxMF9QRl9VQVJUM19DVFMJKEdQSU9fUE9SVEUgfCBHUElPX09VVCB8IEdQSU9fUEYgfCAxMCkKKyNkZWZpbmUgUEUxMV9QRl9VQVJUM19SVFMJKEdQSU9fUE9SVEUgfCBHUElPX0lOICB8IEdQSU9fUEYgfCAxMSkKKyNkZWZpbmUgUEUxMl9QRl9VQVJUMV9UWEQJKEdQSU9fUE9SVEUgfCBHUElPX09VVCB8IEdQSU9fUEYgfCAxMikKKyNkZWZpbmUgUEUxM19QRl9VQVJUMV9SWEQJKEdQSU9fUE9SVEUgfCBHUElPX0lOICB8IEdQSU9fUEYgfCAxMykKKyNkZWZpbmUgUEUxNF9QRl9VQVJUMV9DVFMJKEdQSU9fUE9SVEUgfCBHUElPX09VVCB8IEdQSU9fUEYgfCAxNCkKKyNkZWZpbmUgUEUxNV9QRl9VQVJUMV9SVFMJKEdQSU9fUE9SVEUgfCBHUElPX0lOICB8IEdQSU9fUEYgfCAxNSkKKyNkZWZpbmUgUEUxOF9BRl9DU1BJM19NSVNPCShHUElPX1BPUlRFIHwgR1BJT19JTiAgfCBHUElPX0FGIHwgMTgpCisjZGVmaW5lIFBFMjFfQUZfQ1NQSTNfU1MJKEdQSU9fUE9SVEUgfCBHUElPX09VVCB8IEdQSU9fQUYgfCAyMSkKKyNkZWZpbmUgUEUyMl9BRl9DU1BJM19NT1NJCShHUElPX1BPUlRFIHwgR1BJT19PVVQgfCBHUElPX0FGIHwgMjIpCisjZGVmaW5lIFBFMjNfQUZfQ1NQSTNfU0NMSwkoR1BJT19QT1JURSB8IEdQSU9fT1VUIHwgR1BJT19BRiB8IDIzKQorI2VuZGlmCisKKy8qIGRlY29kZSBpcnEgbnVtYmVyIHRvIHVzZSB3aXRoIElNUih4KSwgSVNSKHgpIGFuZCBmcmllbmRzICovCisjZGVmaW5lIElSUV9UT19SRUcoaXJxKSAoKGlycSAtIE1YQ19NQVhfSU5UX0xJTkVTKSA+PiA1KQorCisjZGVmaW5lIElSUV9HUElPQSh4KSAgKE1YQ19NQVhfSU5UX0xJTkVTICsgeCkKKyNkZWZpbmUgSVJRX0dQSU9CKHgpICAoSVJRX0dQSU9BKDMyKSArIHgpCisjZGVmaW5lIElSUV9HUElPQyh4KSAgKElSUV9HUElPQigzMikgKyB4KQorI2RlZmluZSBJUlFfR1BJT0QoeCkgIChJUlFfR1BJT0MoMzIpICsgeCkKKworI2VuZGlmIC8qIF9NWENfR1BJT19NWDFfTVgyX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW14Yy9pb211eC1teDMuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW14Yy9pb211eC1teDMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NTA5ZTc2Ci0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL2lvbXV4LW14My5oCkBAIC0wLDAgKzEsNTAxIEBACisvKgorICogQ29weXJpZ2h0IDIwMDQtMjAwNiBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA4IGJ5IFNhc2NoYSBIYXVlciA8a2VybmVsQHBlbmd1dHJvbml4LmRlPgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMgorICogb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLAorICogTUEgMDIxMTAtMTMwMSwgVVNBLgorICovCisKKyNpZm5kZWYgX19NQUNIX01YMzFfSU9NVVhfSF9fCisjZGVmaW5lIF9fTUFDSF9NWDMxX0lPTVVYX0hfXworCisjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KKworLyoKKyAqIHZhcmlvdXMgSU9NVVggb3V0cHV0IGZ1bmN0aW9ucworICovCisKKyNkZWZpbmUJSU9NVVhfT0NPTkZJR19HUElPICgwIDw8IDQpCS8qIHVzZWQgYXMgR1BJTyAqLworI2RlZmluZQlJT01VWF9PQ09ORklHX0ZVTkMgKDEgPDwgNCkJLyogdXNlZCBhcyBmdW5jdGlvbiAqLworI2RlZmluZQlJT01VWF9PQ09ORklHX0FMVDEgKDIgPDwgNCkJLyogdXNlZCBhcyBhbHRlcm5hdGUgZnVuY3Rpb24gMSAqLworI2RlZmluZQlJT01VWF9PQ09ORklHX0FMVDIgKDMgPDwgNCkJLyogdXNlZCBhcyBhbHRlcm5hdGUgZnVuY3Rpb24gMiAqLworI2RlZmluZQlJT01VWF9PQ09ORklHX0FMVDMgKDQgPDwgNCkJLyogdXNlZCBhcyBhbHRlcm5hdGUgZnVuY3Rpb24gMyAqLworI2RlZmluZQlJT01VWF9PQ09ORklHX0FMVDQgKDUgPDwgNCkJLyogdXNlZCBhcyBhbHRlcm5hdGUgZnVuY3Rpb24gNCAqLworI2RlZmluZQlJT01VWF9PQ09ORklHX0FMVDUgKDYgPDwgNCkJLyogdXNlZCBhcyBhbHRlcm5hdGUgZnVuY3Rpb24gNSAqLworI2RlZmluZQlJT01VWF9PQ09ORklHX0FMVDYgKDcgPDwgNCkJLyogdXNlZCBhcyBhbHRlcm5hdGUgZnVuY3Rpb24gNiAqLworI2RlZmluZQlJT01VWF9JQ09ORklHX05PTkUgIDAJIAkvKiBub3QgY29uZmlndXJlZCBmb3IgaW5wdXQgKi8KKyNkZWZpbmUJSU9NVVhfSUNPTkZJR19HUElPICAxCQkvKiB1c2VkIGFzIEdQSU8gKi8KKyNkZWZpbmUJSU9NVVhfSUNPTkZJR19GVU5DICAyCQkvKiB1c2VkIGFzIGZ1bmN0aW9uICovCisjZGVmaW5lCUlPTVVYX0lDT05GSUdfQUxUMSAgNAkJLyogdXNlZCBhcyBhbHRlcm5hdGUgZnVuY3Rpb24gMSAqLworI2RlZmluZQlJT01VWF9JQ09ORklHX0FMVDIgIDgJCS8qIHVzZWQgYXMgYWx0ZXJuYXRlIGZ1bmN0aW9uIDIgKi8KKworI2RlZmluZSBJT01VWF9DT05GSUdfR1BJTyAoSU9NVVhfT0NPTkZJR19HUElPIHwgSU9NVVhfSUNPTkZJR19HUElPKQorI2RlZmluZSBJT01VWF9DT05GSUdfRlVOQyAoSU9NVVhfT0NPTkZJR19GVU5DIHwgSU9NVVhfSUNPTkZJR19GVU5DKQorI2RlZmluZSBJT01VWF9DT05GSUdfQUxUMSAoSU9NVVhfT0NPTkZJR19BTFQxIHwgSU9NVVhfSUNPTkZJR19BTFQxKQorI2RlZmluZSBJT01VWF9DT05GSUdfQUxUMiAoSU9NVVhfT0NPTkZJR19BTFQyIHwgSU9NVVhfSUNPTkZJR19BTFQyKQorCisvKgorICogdmFyaW91cyBJT01VWCBwYWQgZnVuY3Rpb25zCisgKi8KK2VudW0gaW9tdXhfcGFkX2NvbmZpZyB7CisJUEFEX0NUTF9OT0xPT1BCQUNLCT0gMHgwIDw8IDksCisJUEFEX0NUTF9MT09QQkFDSwk9IDB4MSA8PCA5LAorCVBBRF9DVExfUEtFX05PTkUJPSAweDAgPDwgOCwKKwlQQURfQ1RMX1BLRV9FTkFCTEUJPSAweDEgPDwgOCwKKwlQQURfQ1RMX1BVRV9LRUVQRVIJPSAweDAgPDwgNywKKwlQQURfQ1RMX1BVRV9QVUQJCT0gMHgxIDw8IDcsCisJUEFEX0NUTF8xMDBLX1BECQk9IDB4MCA8PCA1LAorCVBBRF9DVExfMTAwS19QVQkJPSAweDEgPDwgNSwKKwlQQURfQ1RMXzQ3S19QVQkJPSAweDIgPDwgNSwKKwlQQURfQ1RMXzIyS19QVQkJPSAweDMgPDwgNSwKKwlQQURfQ1RMX0hZU19DTU9TCT0gMHgwIDw8IDQsCisJUEFEX0NUTF9IWVNfU0NITUlUWgk9IDB4MSA8PCA0LAorCVBBRF9DVExfT0RFX0NNT1MJPSAweDAgPDwgMywKKwlQQURfQ1RMX09ERV9PcGVuRHJhaW4JPSAweDEgPDwgMywKKwlQQURfQ1RMX0RSVl9OT1JNQUwJPSAweDAgPDwgMSwKKwlQQURfQ1RMX0RSVl9ISUdICT0gMHgxIDw8IDEsCisJUEFEX0NUTF9EUlZfTUFYCQk9IDB4MiA8PCAxLAorCVBBRF9DVExfU1JFX1NMT1cJPSAweDAgPDwgMCwKKwlQQURfQ1RMX1NSRV9GQVNUCT0gMHgxIDw8IDAKK307CisKKy8qCisgKiB2YXJpb3VzIElPTVVYIGdlbmVyYWwgcHVycG9zZSBmdW5jdGlvbnMKKyAqLworZW51bSBpb211eF9ncF9mdW5jIHsKKwlNVVhfUEdQX0ZJUkkJCQk9IDEgPDwgMCwKKwlNVVhfRERSX01PREUJCQk9IDEgPDwgMSwKKwlNVVhfUEdQX0NTUElfQkIJCQk9IDEgPDwgMiwKKwlNVVhfUEdQX0FUQV8xCQkJPSAxIDw8IDMsCisJTVVYX1BHUF9BVEFfMgkJCT0gMSA8PCA0LAorCU1VWF9QR1BfQVRBXzMJCQk9IDEgPDwgNSwKKwlNVVhfUEdQX0FUQV80CQkJPSAxIDw8IDYsCisJTVVYX1BHUF9BVEFfNQkJCT0gMSA8PCA3LAorCU1VWF9QR1BfQVRBXzYJCQk9IDEgPDwgOCwKKwlNVVhfUEdQX0FUQV83CQkJPSAxIDw8IDksCisJTVVYX1BHUF9BVEFfOAkJCT0gMSA8PCAxMCwKKwlNVVhfUEdQX1VIMgkJCT0gMSA8PCAxMSwKKwlNVVhfU0RDVExfQ1NEMF9TRUwJCT0gMSA8PCAxMiwKKwlNVVhfU0RDVExfQ1NEMV9TRUwJCT0gMSA8PCAxMywKKwlNVVhfQ1NQSTFfVUFSVDMJCQk9IDEgPDwgMTQsCisJTVVYX0VYVERNQVJFUTJfTUJYX1NFTAkJPSAxIDw8IDE1LAorCU1VWF9UQU1QRVJfREVURUNUX0VOCQk9IDEgPDwgMTYsCisJTVVYX1BHUF9VU0JfNFdJUkUJCT0gMSA8PCAxNywKKwlNVVhfUEdCX1VTQl9DT01NT04JCT0gMSA8PCAxOCwKKwlNVVhfU0RIQ19NRU1TVElDSzEJCT0gMSA8PCAxOSwKKwlNVVhfU0RIQ19NRU1TVElDSzIJCT0gMSA8PCAyMCwKKwlNVVhfUEdQX1NQTExfQllQCQk9IDEgPDwgMjEsCisJTVVYX1BHUF9VUExMX0JZUAkJPSAxIDw8IDIyLAorCU1VWF9QR1BfTVNIQzFfQ0xLX1NFTAkJPSAxIDw8IDIzLAorCU1VWF9QR1BfTVNIQzJfQ0xLX1NFTAkJPSAxIDw8IDI0LAorCU1VWF9DU1BJM19VQVJUNV9TRUwJCT0gMSA8PCAyNSwKKwlNVVhfUEdQX0FUQV85CQkJPSAxIDw8IDI2LAorCU1VWF9QR1BfVVNCX1NVU1BFTkQJCT0gMSA8PCAyNywKKwlNVVhfUEdQX1VTQl9PVEdfTE9PUEJBQ0sJPSAxIDw8IDI4LAorCU1VWF9QR1BfVVNCX0hTMV9MT09QQkFDSwk9IDEgPDwgMjksCisJTVVYX1BHUF9VU0JfSFMyX0xPT1BCQUNLCT0gMSA8PCAzMCwKKwlNVVhfQ0xLT19ERFJfTU9ERQkJPSAxIDw8IDMxLAorfTsKKworLyoKKyAqIFRoaXMgZnVuY3Rpb24gZW5hYmxlcy9kaXNhYmxlcyB0aGUgZ2VuZXJhbCBwdXJwb3NlIGZ1bmN0aW9uIGZvciBhIHBhcnRpY3VsYXIKKyAqIHNpZ25hbC4KKyAqLwordm9pZCBpb211eF9jb25maWdfZ3ByKGVudW0gaW9tdXhfZ3BfZnVuYyAsIGJvb2wpOworCisvKgorICogc2V0IHRoZSBtb2RlIGZvciBhIElPTVVYIHBpbi4KKyAqLworaW50IG14Y19pb211eF9tb2RlKHVuc2lnbmVkIGludCk7CisKKy8qCisgKiBUaGlzIGZ1bmN0aW9uIGVuYWJsZXMvZGlzYWJsZXMgdGhlIGdlbmVyYWwgcHVycG9zZSBmdW5jdGlvbiBmb3IgYSBwYXJ0aWN1bGFyCisgKiBzaWduYWwuCisgKi8KK3ZvaWQgbXhjX2lvbXV4X3NldF9ncHIoZW51bSBpb211eF9ncF9mdW5jLCBib29sKTsKKworI2RlZmluZSBJT01VWF9QQUROVU1fTUFTSwkweDFmZgorI2RlZmluZSBJT01VWF9HUElPTlVNX1NISUZUCTkKKyNkZWZpbmUgSU9NVVhfR1BJT05VTV9NQVNLCSgweGZmIDw8IElPTVVYX0dQSU9OVU1fU0hJRlQpCisjZGVmaW5lIElPTVVYX01PREVfU0hJRlQJMTcKKyNkZWZpbmUgSU9NVVhfTU9ERV9NQVNLCSgweGZmIDw8IElPTVVYX01PREVfU0hJRlQpCisKKyNkZWZpbmUgSU9NVVhfUElOKGdwaW9udW0sIHBhZG51bSkgXAorCSgoKGdwaW9udW0gPDwgSU9NVVhfR1BJT05VTV9TSElGVCkgJiBJT01VWF9HUElPTlVNX01BU0spIHwgXAorCSAocGFkbnVtICYgSU9NVVhfUEFETlVNX01BU0spKQorCisjZGVmaW5lIElPTVVYX01PREUocGluLCBtb2RlKSAocGluIHwgbW9kZSA8PCBJT01VWF9NT0RFX1NISUZUKQorCisjZGVmaW5lIElPTVVYX1RPX0dQSU8oaW9tdXhfcGluKSBcCisJKChpb211eF9waW4gJiBJT01VWF9HUElPTlVNX01BU0spID4+IElPTVVYX0dQSU9OVU1fU0hJRlQpCisjZGVmaW5lIElPTVVYX1RPX0lSUShpb211eF9waW4pIFwKKwkoKChpb211eF9waW4gJiBJT01VWF9HUElPTlVNX01BU0spID4+IElPTVVYX0dQSU9OVU1fU0hJRlQpICsgXAorCU1YQ19HUElPX0lOVF9CQVNFKQorCisvKgorICogVGhpcyBlbnVtZXJhdGlvbiBpcyBjb25zdHJ1Y3RlZCBiYXNlZCBvbiB0aGUgU2VjdGlvbgorICogInN3X3BhZF9jdGwgJiBzd19tdXhfY3RsIGRldGFpbHMiIG9mIHRoZSBNWDMxIElDIFNwZWMuIEVhY2ggZW51bWVyYXRlZAorICogdmFsdWUgaXMgY29uc3RydWN0ZWQgYmFzZWQgb24gdGhlIHJ1bGVzIGRlc2NyaWJlZCBhYm92ZS4KKyAqLworCitlbnVtIGlvbXV4X3BpbnMgeworCU1YMzFfUElOX1RUTV9QQUQJPSBJT01VWF9QSU4oMHhmZiwgICAwKSwKKwlNWDMxX1BJTl9DU1BJM19TUElfUkRZCT0gSU9NVVhfUElOKDB4ZmYsICAgMSksCisJTVgzMV9QSU5fQ1NQSTNfU0NMSwk9IElPTVVYX1BJTigweGZmLCAgIDIpLAorCU1YMzFfUElOX0NTUEkzX01JU08JPSBJT01VWF9QSU4oMHhmZiwgICAzKSwKKwlNWDMxX1BJTl9DU1BJM19NT1NJCT0gSU9NVVhfUElOKDB4ZmYsICAgNCksCisJTVgzMV9QSU5fQ0xLU1MJCT0gSU9NVVhfUElOKDB4ZmYsICAgNSksCisJTVgzMV9QSU5fQ0VfQ09OVFJPTAk9IElPTVVYX1BJTigweGZmLCAgIDYpLAorCU1YMzFfUElOX0FUQV9SRVNFVF9CCT0gSU9NVVhfUElOKDk1LCAgICAgNyksCisJTVgzMV9QSU5fQVRBX0RNQUNLCT0gSU9NVVhfUElOKDk0LCAgICAgOCksCisJTVgzMV9QSU5fQVRBX0RJT1cJPSBJT01VWF9QSU4oOTMsICAgICA5KSwKKwlNWDMxX1BJTl9BVEFfRElPUgk9IElPTVVYX1BJTig5MiwgICAgMTApLAorCU1YMzFfUElOX0FUQV9DUzEJPSBJT01VWF9QSU4oOTEsICAgIDExKSwKKwlNWDMxX1BJTl9BVEFfQ1MwCT0gSU9NVVhfUElOKDkwLCAgICAxMiksCisJTVgzMV9QSU5fU0QxX0RBVEEzCT0gSU9NVVhfUElOKDYzLCAgICAxMyksCisJTVgzMV9QSU5fU0QxX0RBVEEyCT0gSU9NVVhfUElOKDYyLCAgICAxNCksCisJTVgzMV9QSU5fU0QxX0RBVEExCT0gSU9NVVhfUElOKDYxLCAgICAxNSksCisJTVgzMV9QSU5fU0QxX0RBVEEwCT0gSU9NVVhfUElOKDYwLCAgICAxNiksCisJTVgzMV9QSU5fU0QxX0NMSwk9IElPTVVYX1BJTig1OSwgICAgMTcpLAorCU1YMzFfUElOX1NEMV9DTUQJPSBJT01VWF9QSU4oNTgsICAgIDE4KSwKKwlNWDMxX1BJTl9EM19TUEwJCT0gSU9NVVhfUElOKDB4ZmYsICAxOSksCisJTVgzMV9QSU5fRDNfQ0xTCQk9IElPTVVYX1BJTigweGZmLCAgMjApLAorCU1YMzFfUElOX0QzX1JFVgkJPSBJT01VWF9QSU4oMHhmZiwgIDIxKSwKKwlNWDMxX1BJTl9DT05UUkFTVAk9IElPTVVYX1BJTigweGZmLCAgMjIpLAorCU1YMzFfUElOX1ZTWU5DMwkJPSBJT01VWF9QSU4oMHhmZiwgIDIzKSwKKwlNWDMxX1BJTl9SRUFECQk9IElPTVVYX1BJTigweGZmLCAgMjQpLAorCU1YMzFfUElOX1dSSVRFCQk9IElPTVVYX1BJTigweGZmLCAgMjUpLAorCU1YMzFfUElOX1BBUl9SUwkJPSBJT01VWF9QSU4oMHhmZiwgIDI2KSwKKwlNWDMxX1BJTl9TRVJfUlMJCT0gSU9NVVhfUElOKDg5LCAgICAyNyksCisJTVgzMV9QSU5fTENTMQkJPSBJT01VWF9QSU4oODgsICAgIDI4KSwKKwlNWDMxX1BJTl9MQ1MwCQk9IElPTVVYX1BJTig4NywgICAgMjkpLAorCU1YMzFfUElOX1NEX0RfQ0xLCT0gSU9NVVhfUElOKDg2LCAgICAzMCksCisJTVgzMV9QSU5fU0RfRF9JTwk9IElPTVVYX1BJTig4NSwgICAgMzEpLAorCU1YMzFfUElOX1NEX0RfSQkJPSBJT01VWF9QSU4oODQsICAgIDMyKSwKKwlNWDMxX1BJTl9EUkRZMAkJPSBJT01VWF9QSU4oMHhmZiwgIDMzKSwKKwlNWDMxX1BJTl9GUFNISUZUCT0gSU9NVVhfUElOKDB4ZmYsICAzNCksCisJTVgzMV9QSU5fSFNZTkMJCT0gSU9NVVhfUElOKDB4ZmYsICAzNSksCisJTVgzMV9QSU5fVlNZTkMwCQk9IElPTVVYX1BJTigweGZmLCAgMzYpLAorCU1YMzFfUElOX0xEMTcJCT0gSU9NVVhfUElOKDB4ZmYsICAzNyksCisJTVgzMV9QSU5fTEQxNgkJPSBJT01VWF9QSU4oMHhmZiwgIDM4KSwKKwlNWDMxX1BJTl9MRDE1CQk9IElPTVVYX1BJTigweGZmLCAgMzkpLAorCU1YMzFfUElOX0xEMTQJCT0gSU9NVVhfUElOKDB4ZmYsICA0MCksCisJTVgzMV9QSU5fTEQxMwkJPSBJT01VWF9QSU4oMHhmZiwgIDQxKSwKKwlNWDMxX1BJTl9MRDEyCQk9IElPTVVYX1BJTigweGZmLCAgNDIpLAorCU1YMzFfUElOX0xEMTEJCT0gSU9NVVhfUElOKDB4ZmYsICA0MyksCisJTVgzMV9QSU5fTEQxMAkJPSBJT01VWF9QSU4oMHhmZiwgIDQ0KSwKKwlNWDMxX1BJTl9MRDkJCT0gSU9NVVhfUElOKDB4ZmYsICA0NSksCisJTVgzMV9QSU5fTEQ4CQk9IElPTVVYX1BJTigweGZmLCAgNDYpLAorCU1YMzFfUElOX0xENwkJPSBJT01VWF9QSU4oMHhmZiwgIDQ3KSwKKwlNWDMxX1BJTl9MRDYJCT0gSU9NVVhfUElOKDB4ZmYsICA0OCksCisJTVgzMV9QSU5fTEQ1CQk9IElPTVVYX1BJTigweGZmLCAgNDkpLAorCU1YMzFfUElOX0xENAkJPSBJT01VWF9QSU4oMHhmZiwgIDUwKSwKKwlNWDMxX1BJTl9MRDMJCT0gSU9NVVhfUElOKDB4ZmYsICA1MSksCisJTVgzMV9QSU5fTEQyCQk9IElPTVVYX1BJTigweGZmLCAgNTIpLAorCU1YMzFfUElOX0xEMQkJPSBJT01VWF9QSU4oMHhmZiwgIDUzKSwKKwlNWDMxX1BJTl9MRDAJCT0gSU9NVVhfUElOKDB4ZmYsICA1NCksCisJTVgzMV9QSU5fVVNCSDJfREFUQTEJPSBJT01VWF9QSU4oMHhmZiwgIDU1KSwKKwlNWDMxX1BJTl9VU0JIMl9EQVRBMAk9IElPTVVYX1BJTigweGZmLCAgNTYpLAorCU1YMzFfUElOX1VTQkgyX05YVAk9IElPTVVYX1BJTigweGZmLCAgNTcpLAorCU1YMzFfUElOX1VTQkgyX1NUUAk9IElPTVVYX1BJTigweGZmLCAgNTgpLAorCU1YMzFfUElOX1VTQkgyX0RJUgk9IElPTVVYX1BJTigweGZmLCAgNTkpLAorCU1YMzFfUElOX1VTQkgyX0NMSwk9IElPTVVYX1BJTigweGZmLCAgNjApLAorCU1YMzFfUElOX1VTQk9UR19EQVRBNwk9IElPTVVYX1BJTigweGZmLCAgNjEpLAorCU1YMzFfUElOX1VTQk9UR19EQVRBNgk9IElPTVVYX1BJTigweGZmLCAgNjIpLAorCU1YMzFfUElOX1VTQk9UR19EQVRBNQk9IElPTVVYX1BJTigweGZmLCAgNjMpLAorCU1YMzFfUElOX1VTQk9UR19EQVRBNAk9IElPTVVYX1BJTigweGZmLCAgNjQpLAorCU1YMzFfUElOX1VTQk9UR19EQVRBMwk9IElPTVVYX1BJTigweGZmLCAgNjUpLAorCU1YMzFfUElOX1VTQk9UR19EQVRBMgk9IElPTVVYX1BJTigweGZmLCAgNjYpLAorCU1YMzFfUElOX1VTQk9UR19EQVRBMQk9IElPTVVYX1BJTigweGZmLCAgNjcpLAorCU1YMzFfUElOX1VTQk9UR19EQVRBMAk9IElPTVVYX1BJTigweGZmLCAgNjgpLAorCU1YMzFfUElOX1VTQk9UR19OWFQJPSBJT01VWF9QSU4oMHhmZiwgIDY5KSwKKwlNWDMxX1BJTl9VU0JPVEdfU1RQCT0gSU9NVVhfUElOKDB4ZmYsICA3MCksCisJTVgzMV9QSU5fVVNCT1RHX0RJUgk9IElPTVVYX1BJTigweGZmLCAgNzEpLAorCU1YMzFfUElOX1VTQk9UR19DTEsJPSBJT01VWF9QSU4oMHhmZiwgIDcyKSwKKwlNWDMxX1BJTl9VU0JfQllQCT0gSU9NVVhfUElOKDMxLCAgICA3MyksCisJTVgzMV9QSU5fVVNCX09DCQk9IElPTVVYX1BJTigzMCwgICAgNzQpLAorCU1YMzFfUElOX1VTQl9QV1IJPSBJT01VWF9QSU4oMjksICAgIDc1KSwKKwlNWDMxX1BJTl9TSkNfTU9ECT0gSU9NVVhfUElOKDB4ZmYsICA3NiksCisJTVgzMV9QSU5fREVfQgkJPSBJT01VWF9QSU4oMHhmZiwgIDc3KSwKKwlNWDMxX1BJTl9UUlNUQgkJPSBJT01VWF9QSU4oMHhmZiwgIDc4KSwKKwlNWDMxX1BJTl9URE8JCT0gSU9NVVhfUElOKDB4ZmYsICA3OSksCisJTVgzMV9QSU5fVERJCQk9IElPTVVYX1BJTigweGZmLCAgODApLAorCU1YMzFfUElOX1RNUwkJPSBJT01VWF9QSU4oMHhmZiwgIDgxKSwKKwlNWDMxX1BJTl9UQ0sJCT0gSU9NVVhfUElOKDB4ZmYsICA4MiksCisJTVgzMV9QSU5fUlRDSwkJPSBJT01VWF9QSU4oMHhmZiwgIDgzKSwKKwlNWDMxX1BJTl9LRVlfQ09MNwk9IElPTVVYX1BJTig1NywgICAgODQpLAorCU1YMzFfUElOX0tFWV9DT0w2CT0gSU9NVVhfUElOKDU2LCAgICA4NSksCisJTVgzMV9QSU5fS0VZX0NPTDUJPSBJT01VWF9QSU4oNTUsICAgIDg2KSwKKwlNWDMxX1BJTl9LRVlfQ09MNAk9IElPTVVYX1BJTig1NCwgICAgODcpLAorCU1YMzFfUElOX0tFWV9DT0wzCT0gSU9NVVhfUElOKDB4ZmYsICA4OCksCisJTVgzMV9QSU5fS0VZX0NPTDIJPSBJT01VWF9QSU4oMHhmZiwgIDg5KSwKKwlNWDMxX1BJTl9LRVlfQ09MMQk9IElPTVVYX1BJTigweGZmLCAgOTApLAorCU1YMzFfUElOX0tFWV9DT0wwCT0gSU9NVVhfUElOKDB4ZmYsICA5MSksCisJTVgzMV9QSU5fS0VZX1JPVzcJPSBJT01VWF9QSU4oNTMsICAgIDkyKSwKKwlNWDMxX1BJTl9LRVlfUk9XNgk9IElPTVVYX1BJTig1MiwgICAgOTMpLAorCU1YMzFfUElOX0tFWV9ST1c1CT0gSU9NVVhfUElOKDUxLCAgICA5NCksCisJTVgzMV9QSU5fS0VZX1JPVzQJPSBJT01VWF9QSU4oNTAsICAgIDk1KSwKKwlNWDMxX1BJTl9LRVlfUk9XMwk9IElPTVVYX1BJTigweGZmLCAgOTYpLAorCU1YMzFfUElOX0tFWV9ST1cyCT0gSU9NVVhfUElOKDB4ZmYsICA5NyksCisJTVgzMV9QSU5fS0VZX1JPVzEJPSBJT01VWF9QSU4oMHhmZiwgIDk4KSwKKwlNWDMxX1BJTl9LRVlfUk9XMAk9IElPTVVYX1BJTigweGZmLCAgOTkpLAorCU1YMzFfUElOX0JBVFRfTElORQk9IElPTVVYX1BJTig0OSwgICAxMDApLAorCU1YMzFfUElOX0NUUzIJCT0gSU9NVVhfUElOKDB4ZmYsIDEwMSksCisJTVgzMV9QSU5fUlRTMgkJPSBJT01VWF9QSU4oMHhmZiwgMTAyKSwKKwlNWDMxX1BJTl9UWEQyCQk9IElPTVVYX1BJTigyOCwgICAxMDMpLAorCU1YMzFfUElOX1JYRDIJCT0gSU9NVVhfUElOKDI3LCAgIDEwNCksCisJTVgzMV9QSU5fRFRSX0RDRTIJPSBJT01VWF9QSU4oNDgsICAgMTA1KSwKKwlNWDMxX1BJTl9EQ0RfRFRFMQk9IElPTVVYX1BJTig0NywgICAxMDYpLAorCU1YMzFfUElOX1JJX0RURTEJPSBJT01VWF9QSU4oNDYsICAgMTA3KSwKKwlNWDMxX1BJTl9EU1JfRFRFMQk9IElPTVVYX1BJTig0NSwgICAxMDgpLAorCU1YMzFfUElOX0RUUl9EVEUxCT0gSU9NVVhfUElOKDQ0LCAgIDEwOSksCisJTVgzMV9QSU5fRENEX0RDRTEJPSBJT01VWF9QSU4oNDMsICAgMTEwKSwKKwlNWDMxX1BJTl9SSV9EQ0UxCT0gSU9NVVhfUElOKDQyLCAgIDExMSksCisJTVgzMV9QSU5fRFNSX0RDRTEJPSBJT01VWF9QSU4oNDEsICAgMTEyKSwKKwlNWDMxX1BJTl9EVFJfRENFMQk9IElPTVVYX1BJTig0MCwgICAxMTMpLAorCU1YMzFfUElOX0NUUzEJCT0gSU9NVVhfUElOKDM5LCAgIDExNCksCisJTVgzMV9QSU5fUlRTMQkJPSBJT01VWF9QSU4oMzgsICAgMTE1KSwKKwlNWDMxX1BJTl9UWEQxCQk9IElPTVVYX1BJTigzNywgICAxMTYpLAorCU1YMzFfUElOX1JYRDEJCT0gSU9NVVhfUElOKDM2LCAgIDExNyksCisJTVgzMV9QSU5fQ1NQSTJfU1BJX1JEWQk9IElPTVVYX1BJTigweGZmLCAxMTgpLAorCU1YMzFfUElOX0NTUEkyX1NDTEsJPSBJT01VWF9QSU4oMHhmZiwgMTE5KSwKKwlNWDMxX1BJTl9DU1BJMl9TUzIJPSBJT01VWF9QSU4oMHhmZiwgMTIwKSwKKwlNWDMxX1BJTl9DU1BJMl9TUzEJPSBJT01VWF9QSU4oMHhmZiwgMTIxKSwKKwlNWDMxX1BJTl9DU1BJMl9TUzAJPSBJT01VWF9QSU4oMHhmZiwgMTIyKSwKKwlNWDMxX1BJTl9DU1BJMl9NSVNPCT0gSU9NVVhfUElOKDB4ZmYsIDEyMyksCisJTVgzMV9QSU5fQ1NQSTJfTU9TSQk9IElPTVVYX1BJTigweGZmLCAxMjQpLAorCU1YMzFfUElOX0NTUEkxX1NQSV9SRFkJPSBJT01VWF9QSU4oMHhmZiwgMTI1KSwKKwlNWDMxX1BJTl9DU1BJMV9TQ0xLCT0gSU9NVVhfUElOKDB4ZmYsIDEyNiksCisJTVgzMV9QSU5fQ1NQSTFfU1MyCT0gSU9NVVhfUElOKDB4ZmYsIDEyNyksCisJTVgzMV9QSU5fQ1NQSTFfU1MxCT0gSU9NVVhfUElOKDB4ZmYsIDEyOCksCisJTVgzMV9QSU5fQ1NQSTFfU1MwCT0gSU9NVVhfUElOKDB4ZmYsIDEyOSksCisJTVgzMV9QSU5fQ1NQSTFfTUlTTwk9IElPTVVYX1BJTigweGZmLCAxMzApLAorCU1YMzFfUElOX0NTUEkxX01PU0kJPSBJT01VWF9QSU4oMHhmZiwgMTMxKSwKKwlNWDMxX1BJTl9TRlM2CQk9IElPTVVYX1BJTigyNiwgICAxMzIpLAorCU1YMzFfUElOX1NDSzYJCT0gSU9NVVhfUElOKDI1LCAgIDEzMyksCisJTVgzMV9QSU5fU1JYRDYJCT0gSU9NVVhfUElOKDI0LCAgIDEzNCksCisJTVgzMV9QSU5fU1RYRDYJCT0gSU9NVVhfUElOKDIzLCAgIDEzNSksCisJTVgzMV9QSU5fU0ZTNQkJPSBJT01VWF9QSU4oMHhmZiwgMTM2KSwKKwlNWDMxX1BJTl9TQ0s1CQk9IElPTVVYX1BJTigweGZmLCAxMzcpLAorCU1YMzFfUElOX1NSWEQ1CQk9IElPTVVYX1BJTigyMiwgICAxMzgpLAorCU1YMzFfUElOX1NUWEQ1CQk9IElPTVVYX1BJTigyMSwgICAxMzkpLAorCU1YMzFfUElOX1NGUzQJCT0gSU9NVVhfUElOKDB4ZmYsIDE0MCksCisJTVgzMV9QSU5fU0NLNAkJPSBJT01VWF9QSU4oMHhmZiwgMTQxKSwKKwlNWDMxX1BJTl9TUlhENAkJPSBJT01VWF9QSU4oMjAsICAgMTQyKSwKKwlNWDMxX1BJTl9TVFhENAkJPSBJT01VWF9QSU4oMTksICAgMTQzKSwKKwlNWDMxX1BJTl9TRlMzCQk9IElPTVVYX1BJTigweGZmLCAxNDQpLAorCU1YMzFfUElOX1NDSzMJCT0gSU9NVVhfUElOKDB4ZmYsIDE0NSksCisJTVgzMV9QSU5fU1JYRDMJCT0gSU9NVVhfUElOKDE4LCAgIDE0NiksCisJTVgzMV9QSU5fU1RYRDMJCT0gSU9NVVhfUElOKDE3LCAgIDE0NyksCisJTVgzMV9QSU5fSTJDX0RBVAk9IElPTVVYX1BJTigweGZmLCAxNDgpLAorCU1YMzFfUElOX0kyQ19DTEsJPSBJT01VWF9QSU4oMHhmZiwgMTQ5KSwKKwlNWDMxX1BJTl9DU0lfUElYQ0xLCT0gSU9NVVhfUElOKDgzLCAgIDE1MCksCisJTVgzMV9QSU5fQ1NJX0hTWU5DCT0gSU9NVVhfUElOKDgyLCAgIDE1MSksCisJTVgzMV9QSU5fQ1NJX1ZTWU5DCT0gSU9NVVhfUElOKDgxLCAgIDE1MiksCisJTVgzMV9QSU5fQ1NJX01DTEsJPSBJT01VWF9QSU4oODAsICAgMTUzKSwKKwlNWDMxX1BJTl9DU0lfRDE1CT0gSU9NVVhfUElOKDc5LCAgIDE1NCksCisJTVgzMV9QSU5fQ1NJX0QxNAk9IElPTVVYX1BJTig3OCwgICAxNTUpLAorCU1YMzFfUElOX0NTSV9EMTMJPSBJT01VWF9QSU4oNzcsICAgMTU2KSwKKwlNWDMxX1BJTl9DU0lfRDEyCT0gSU9NVVhfUElOKDc2LCAgIDE1NyksCisJTVgzMV9QSU5fQ1NJX0QxMQk9IElPTVVYX1BJTig3NSwgICAxNTgpLAorCU1YMzFfUElOX0NTSV9EMTAJPSBJT01VWF9QSU4oNzQsICAgMTU5KSwKKwlNWDMxX1BJTl9DU0lfRDkJCT0gSU9NVVhfUElOKDczLCAgIDE2MCksCisJTVgzMV9QSU5fQ1NJX0Q4CQk9IElPTVVYX1BJTig3MiwgICAxNjEpLAorCU1YMzFfUElOX0NTSV9ENwkJPSBJT01VWF9QSU4oNzEsICAgMTYyKSwKKwlNWDMxX1BJTl9DU0lfRDYJCT0gSU9NVVhfUElOKDcwLCAgIDE2MyksCisJTVgzMV9QSU5fQ1NJX0Q1CQk9IElPTVVYX1BJTig2OSwgICAxNjQpLAorCU1YMzFfUElOX0NTSV9ENAkJPSBJT01VWF9QSU4oNjgsICAgMTY1KSwKKwlNWDMxX1BJTl9NX0dSQU5UCT0gSU9NVVhfUElOKDB4ZmYsIDE2NiksCisJTVgzMV9QSU5fTV9SRVFVRVNUCT0gSU9NVVhfUElOKDB4ZmYsIDE2NyksCisJTVgzMV9QSU5fUENfUE9FCQk9IElPTVVYX1BJTigweGZmLCAxNjgpLAorCU1YMzFfUElOX1BDX1JXX0IJPSBJT01VWF9QSU4oMHhmZiwgMTY5KSwKKwlNWDMxX1BJTl9JT0lTMTYJCT0gSU9NVVhfUElOKDB4ZmYsIDE3MCksCisJTVgzMV9QSU5fUENfUlNUCQk9IElPTVVYX1BJTigweGZmLCAxNzEpLAorCU1YMzFfUElOX1BDX0JWRDIJPSBJT01VWF9QSU4oMHhmZiwgMTcyKSwKKwlNWDMxX1BJTl9QQ19CVkQxCT0gSU9NVVhfUElOKDB4ZmYsIDE3MyksCisJTVgzMV9QSU5fUENfVlMyCQk9IElPTVVYX1BJTigweGZmLCAxNzQpLAorCU1YMzFfUElOX1BDX1ZTMQkJPSBJT01VWF9QSU4oMHhmZiwgMTc1KSwKKwlNWDMxX1BJTl9QQ19QV1JPTgk9IElPTVVYX1BJTigweGZmLCAxNzYpLAorCU1YMzFfUElOX1BDX1JFQURZCT0gSU9NVVhfUElOKDB4ZmYsIDE3NyksCisJTVgzMV9QSU5fUENfV0FJVF9CCT0gSU9NVVhfUElOKDB4ZmYsIDE3OCksCisJTVgzMV9QSU5fUENfQ0QyX0IJPSBJT01VWF9QSU4oMHhmZiwgMTc5KSwKKwlNWDMxX1BJTl9QQ19DRDFfQgk9IElPTVVYX1BJTigweGZmLCAxODApLAorCU1YMzFfUElOX0QwCQk9IElPTVVYX1BJTigweGZmLCAxODEpLAorCU1YMzFfUElOX0QxCQk9IElPTVVYX1BJTigweGZmLCAxODIpLAorCU1YMzFfUElOX0QyCQk9IElPTVVYX1BJTigweGZmLCAxODMpLAorCU1YMzFfUElOX0QzCQk9IElPTVVYX1BJTigweGZmLCAxODQpLAorCU1YMzFfUElOX0Q0CQk9IElPTVVYX1BJTigweGZmLCAxODUpLAorCU1YMzFfUElOX0Q1CQk9IElPTVVYX1BJTigweGZmLCAxODYpLAorCU1YMzFfUElOX0Q2CQk9IElPTVVYX1BJTigweGZmLCAxODcpLAorCU1YMzFfUElOX0Q3CQk9IElPTVVYX1BJTigweGZmLCAxODgpLAorCU1YMzFfUElOX0Q4CQk9IElPTVVYX1BJTigweGZmLCAxODkpLAorCU1YMzFfUElOX0Q5CQk9IElPTVVYX1BJTigweGZmLCAxOTApLAorCU1YMzFfUElOX0QxMAkJPSBJT01VWF9QSU4oMHhmZiwgMTkxKSwKKwlNWDMxX1BJTl9EMTEJCT0gSU9NVVhfUElOKDB4ZmYsIDE5MiksCisJTVgzMV9QSU5fRDEyCQk9IElPTVVYX1BJTigweGZmLCAxOTMpLAorCU1YMzFfUElOX0QxMwkJPSBJT01VWF9QSU4oMHhmZiwgMTk0KSwKKwlNWDMxX1BJTl9EMTQJCT0gSU9NVVhfUElOKDB4ZmYsIDE5NSksCisJTVgzMV9QSU5fRDE1CQk9IElPTVVYX1BJTigweGZmLCAxOTYpLAorCU1YMzFfUElOX05GUkIJCT0gSU9NVVhfUElOKDE2LCAgIDE5NyksCisJTVgzMV9QSU5fTkZDRV9CCQk9IElPTVVYX1BJTigxNSwgICAxOTgpLAorCU1YMzFfUElOX05GV1BfQgkJPSBJT01VWF9QSU4oMTQsICAgMTk5KSwKKwlNWDMxX1BJTl9ORkNMRQkJPSBJT01VWF9QSU4oMTMsICAgMjAwKSwKKwlNWDMxX1BJTl9ORkFMRQkJPSBJT01VWF9QSU4oMTIsICAgMjAxKSwKKwlNWDMxX1BJTl9ORlJFX0IJCT0gSU9NVVhfUElOKDExLCAgIDIwMiksCisJTVgzMV9QSU5fTkZXRV9CCQk9IElPTVVYX1BJTigxMCwgICAyMDMpLAorCU1YMzFfUElOX1NEUVMzCQk9IElPTVVYX1BJTigweGZmLCAyMDQpLAorCU1YMzFfUElOX1NEUVMyCQk9IElPTVVYX1BJTigweGZmLCAyMDUpLAorCU1YMzFfUElOX1NEUVMxCQk9IElPTVVYX1BJTigweGZmLCAyMDYpLAorCU1YMzFfUElOX1NEUVMwCQk9IElPTVVYX1BJTigweGZmLCAyMDcpLAorCU1YMzFfUElOX1NEQ0xLX0IJPSBJT01VWF9QSU4oMHhmZiwgMjA4KSwKKwlNWDMxX1BJTl9TRENMSwkJPSBJT01VWF9QSU4oMHhmZiwgMjA5KSwKKwlNWDMxX1BJTl9TRENLRTEJCT0gSU9NVVhfUElOKDB4ZmYsIDIxMCksCisJTVgzMV9QSU5fU0RDS0UwCQk9IElPTVVYX1BJTigweGZmLCAyMTEpLAorCU1YMzFfUElOX1NEV0UJCT0gSU9NVVhfUElOKDB4ZmYsIDIxMiksCisJTVgzMV9QSU5fQ0FTCQk9IElPTVVYX1BJTigweGZmLCAyMTMpLAorCU1YMzFfUElOX1JBUwkJPSBJT01VWF9QSU4oMHhmZiwgMjE0KSwKKwlNWDMxX1BJTl9SVwkJPSBJT01VWF9QSU4oMHhmZiwgMjE1KSwKKwlNWDMxX1BJTl9CQ0xLCQk9IElPTVVYX1BJTigweGZmLCAyMTYpLAorCU1YMzFfUElOX0xCQQkJPSBJT01VWF9QSU4oMHhmZiwgMjE3KSwKKwlNWDMxX1BJTl9FQ0IJCT0gSU9NVVhfUElOKDB4ZmYsIDIxOCksCisJTVgzMV9QSU5fQ1M1CQk9IElPTVVYX1BJTigweGZmLCAyMTkpLAorCU1YMzFfUElOX0NTNAkJPSBJT01VWF9QSU4oMHhmZiwgMjIwKSwKKwlNWDMxX1BJTl9DUzMJCT0gSU9NVVhfUElOKDB4ZmYsIDIyMSksCisJTVgzMV9QSU5fQ1MyCQk9IElPTVVYX1BJTigweGZmLCAyMjIpLAorCU1YMzFfUElOX0NTMQkJPSBJT01VWF9QSU4oMHhmZiwgMjIzKSwKKwlNWDMxX1BJTl9DUzAJCT0gSU9NVVhfUElOKDB4ZmYsIDIyNCksCisJTVgzMV9QSU5fT0UJCT0gSU9NVVhfUElOKDB4ZmYsIDIyNSksCisJTVgzMV9QSU5fRUIxCQk9IElPTVVYX1BJTigweGZmLCAyMjYpLAorCU1YMzFfUElOX0VCMAkJPSBJT01VWF9QSU4oMHhmZiwgMjI3KSwKKwlNWDMxX1BJTl9EUU0zCQk9IElPTVVYX1BJTigweGZmLCAyMjgpLAorCU1YMzFfUElOX0RRTTIJCT0gSU9NVVhfUElOKDB4ZmYsIDIyOSksCisJTVgzMV9QSU5fRFFNMQkJPSBJT01VWF9QSU4oMHhmZiwgMjMwKSwKKwlNWDMxX1BJTl9EUU0wCQk9IElPTVVYX1BJTigweGZmLCAyMzEpLAorCU1YMzFfUElOX1NEMzEJCT0gSU9NVVhfUElOKDB4ZmYsIDIzMiksCisJTVgzMV9QSU5fU0QzMAkJPSBJT01VWF9QSU4oMHhmZiwgMjMzKSwKKwlNWDMxX1BJTl9TRDI5CQk9IElPTVVYX1BJTigweGZmLCAyMzQpLAorCU1YMzFfUElOX1NEMjgJCT0gSU9NVVhfUElOKDB4ZmYsIDIzNSksCisJTVgzMV9QSU5fU0QyNwkJPSBJT01VWF9QSU4oMHhmZiwgMjM2KSwKKwlNWDMxX1BJTl9TRDI2CQk9IElPTVVYX1BJTigweGZmLCAyMzcpLAorCU1YMzFfUElOX1NEMjUJCT0gSU9NVVhfUElOKDB4ZmYsIDIzOCksCisJTVgzMV9QSU5fU0QyNAkJPSBJT01VWF9QSU4oMHhmZiwgMjM5KSwKKwlNWDMxX1BJTl9TRDIzCQk9IElPTVVYX1BJTigweGZmLCAyNDApLAorCU1YMzFfUElOX1NEMjIJCT0gSU9NVVhfUElOKDB4ZmYsIDI0MSksCisJTVgzMV9QSU5fU0QyMQkJPSBJT01VWF9QSU4oMHhmZiwgMjQyKSwKKwlNWDMxX1BJTl9TRDIwCQk9IElPTVVYX1BJTigweGZmLCAyNDMpLAorCU1YMzFfUElOX1NEMTkJCT0gSU9NVVhfUElOKDB4ZmYsIDI0NCksCisJTVgzMV9QSU5fU0QxOAkJPSBJT01VWF9QSU4oMHhmZiwgMjQ1KSwKKwlNWDMxX1BJTl9TRDE3CQk9IElPTVVYX1BJTigweGZmLCAyNDYpLAorCU1YMzFfUElOX1NEMTYJCT0gSU9NVVhfUElOKDB4ZmYsIDI0NyksCisJTVgzMV9QSU5fU0QxNQkJPSBJT01VWF9QSU4oMHhmZiwgMjQ4KSwKKwlNWDMxX1BJTl9TRDE0CQk9IElPTVVYX1BJTigweGZmLCAyNDkpLAorCU1YMzFfUElOX1NEMTMJCT0gSU9NVVhfUElOKDB4ZmYsIDI1MCksCisJTVgzMV9QSU5fU0QxMgkJPSBJT01VWF9QSU4oMHhmZiwgMjUxKSwKKwlNWDMxX1BJTl9TRDExCQk9IElPTVVYX1BJTigweGZmLCAyNTIpLAorCU1YMzFfUElOX1NEMTAJCT0gSU9NVVhfUElOKDB4ZmYsIDI1MyksCisJTVgzMV9QSU5fU0Q5CQk9IElPTVVYX1BJTigweGZmLCAyNTQpLAorCU1YMzFfUElOX1NEOAkJPSBJT01VWF9QSU4oMHhmZiwgMjU1KSwKKwlNWDMxX1BJTl9TRDcJCT0gSU9NVVhfUElOKDB4ZmYsIDI1NiksCisJTVgzMV9QSU5fU0Q2CQk9IElPTVVYX1BJTigweGZmLCAyNTcpLAorCU1YMzFfUElOX1NENQkJPSBJT01VWF9QSU4oMHhmZiwgMjU4KSwKKwlNWDMxX1BJTl9TRDQJCT0gSU9NVVhfUElOKDB4ZmYsIDI1OSksCisJTVgzMV9QSU5fU0QzCQk9IElPTVVYX1BJTigweGZmLCAyNjApLAorCU1YMzFfUElOX1NEMgkJPSBJT01VWF9QSU4oMHhmZiwgMjYxKSwKKwlNWDMxX1BJTl9TRDEJCT0gSU9NVVhfUElOKDB4ZmYsIDI2MiksCisJTVgzMV9QSU5fU0QwCQk9IElPTVVYX1BJTigweGZmLCAyNjMpLAorCU1YMzFfUElOX1NEQkEwCQk9IElPTVVYX1BJTigweGZmLCAyNjQpLAorCU1YMzFfUElOX1NEQkExCQk9IElPTVVYX1BJTigweGZmLCAyNjUpLAorCU1YMzFfUElOX0EyNQkJPSBJT01VWF9QSU4oMHhmZiwgMjY2KSwKKwlNWDMxX1BJTl9BMjQJCT0gSU9NVVhfUElOKDB4ZmYsIDI2NyksCisJTVgzMV9QSU5fQTIzCQk9IElPTVVYX1BJTigweGZmLCAyNjgpLAorCU1YMzFfUElOX0EyMgkJPSBJT01VWF9QSU4oMHhmZiwgMjY5KSwKKwlNWDMxX1BJTl9BMjEJCT0gSU9NVVhfUElOKDB4ZmYsIDI3MCksCisJTVgzMV9QSU5fQTIwCQk9IElPTVVYX1BJTigweGZmLCAyNzEpLAorCU1YMzFfUElOX0ExOQkJPSBJT01VWF9QSU4oMHhmZiwgMjcyKSwKKwlNWDMxX1BJTl9BMTgJCT0gSU9NVVhfUElOKDB4ZmYsIDI3MyksCisJTVgzMV9QSU5fQTE3CQk9IElPTVVYX1BJTigweGZmLCAyNzQpLAorCU1YMzFfUElOX0ExNgkJPSBJT01VWF9QSU4oMHhmZiwgMjc1KSwKKwlNWDMxX1BJTl9BMTQJCT0gSU9NVVhfUElOKDB4ZmYsIDI3NiksCisJTVgzMV9QSU5fQTE1CQk9IElPTVVYX1BJTigweGZmLCAyNzcpLAorCU1YMzFfUElOX0ExMwkJPSBJT01VWF9QSU4oMHhmZiwgMjc4KSwKKwlNWDMxX1BJTl9BMTIJCT0gSU9NVVhfUElOKDB4ZmYsIDI3OSksCisJTVgzMV9QSU5fQTExCQk9IElPTVVYX1BJTigweGZmLCAyODApLAorCU1YMzFfUElOX01BMTAJCT0gSU9NVVhfUElOKDB4ZmYsIDI4MSksCisJTVgzMV9QSU5fQTEwCQk9IElPTVVYX1BJTigweGZmLCAyODIpLAorCU1YMzFfUElOX0E5CQk9IElPTVVYX1BJTigweGZmLCAyODMpLAorCU1YMzFfUElOX0E4CQk9IElPTVVYX1BJTigweGZmLCAyODQpLAorCU1YMzFfUElOX0E3CQk9IElPTVVYX1BJTigweGZmLCAyODUpLAorCU1YMzFfUElOX0E2CQk9IElPTVVYX1BJTigweGZmLCAyODYpLAorCU1YMzFfUElOX0E1CQk9IElPTVVYX1BJTigweGZmLCAyODcpLAorCU1YMzFfUElOX0E0CQk9IElPTVVYX1BJTigweGZmLCAyODgpLAorCU1YMzFfUElOX0EzCQk9IElPTVVYX1BJTigweGZmLCAyODkpLAorCU1YMzFfUElOX0EyCQk9IElPTVVYX1BJTigweGZmLCAyOTApLAorCU1YMzFfUElOX0ExCQk9IElPTVVYX1BJTigweGZmLCAyOTEpLAorCU1YMzFfUElOX0EwCQk9IElPTVVYX1BJTigweGZmLCAyOTIpLAorCU1YMzFfUElOX1ZQRzEJCT0gSU9NVVhfUElOKDB4ZmYsIDI5MyksCisJTVgzMV9QSU5fVlBHMAkJPSBJT01VWF9QSU4oMHhmZiwgMjk0KSwKKwlNWDMxX1BJTl9EVkZTMQkJPSBJT01VWF9QSU4oMHhmZiwgMjk1KSwKKwlNWDMxX1BJTl9EVkZTMAkJPSBJT01VWF9QSU4oMHhmZiwgMjk2KSwKKwlNWDMxX1BJTl9WU1RCWQkJPSBJT01VWF9QSU4oMHhmZiwgMjk3KSwKKwlNWDMxX1BJTl9QT1dFUl9GQUlMCT0gSU9NVVhfUElOKDB4ZmYsIDI5OCksCisJTVgzMV9QSU5fQ0tJTAkJPSBJT01VWF9QSU4oMHhmZiwgMjk5KSwKKwlNWDMxX1BJTl9CT09UX01PREU0CT0gSU9NVVhfUElOKDB4ZmYsIDMwMCksCisJTVgzMV9QSU5fQk9PVF9NT0RFMwk9IElPTVVYX1BJTigweGZmLCAzMDEpLAorCU1YMzFfUElOX0JPT1RfTU9ERTIJPSBJT01VWF9QSU4oMHhmZiwgMzAyKSwKKwlNWDMxX1BJTl9CT09UX01PREUxCT0gSU9NVVhfUElOKDB4ZmYsIDMwMyksCisJTVgzMV9QSU5fQk9PVF9NT0RFMAk9IElPTVVYX1BJTigweGZmLCAzMDQpLAorCU1YMzFfUElOX0NMS08JCT0gSU9NVVhfUElOKDB4ZmYsIDMwNSksCisJTVgzMV9QSU5fUE9SX0IJCT0gSU9NVVhfUElOKDB4ZmYsIDMwNiksCisJTVgzMV9QSU5fUkVTRVRfSU5fQgk9IElPTVVYX1BJTigweGZmLCAzMDcpLAorCU1YMzFfUElOX0NLSUgJCT0gSU9NVVhfUElOKDB4ZmYsIDMwOCksCisJTVgzMV9QSU5fU0lNUEQwCQk9IElPTVVYX1BJTigzNSwgICAzMDkpLAorCU1YMzFfUElOX1NSWDAJCT0gSU9NVVhfUElOKDM0LCAgIDMxMCksCisJTVgzMV9QSU5fU1RYMAkJPSBJT01VWF9QSU4oMzMsICAgMzExKSwKKwlNWDMxX1BJTl9TVkVOMAkJPSBJT01VWF9QSU4oMzIsICAgMzEyKSwKKwlNWDMxX1BJTl9TUlNUMAkJPSBJT01VWF9QSU4oNjcsICAgMzEzKSwKKwlNWDMxX1BJTl9TQ0xLMAkJPSBJT01VWF9QSU4oNjYsICAgMzE0KSwKKwlNWDMxX1BJTl9HUElPM18xCT0gSU9NVVhfUElOKDY1LCAgIDMxNSksCisJTVgzMV9QSU5fR1BJTzNfMAk9IElPTVVYX1BJTig2NCwgICAzMTYpLAorCU1YMzFfUElOX0dQSU8xXzYJPSBJT01VWF9QSU4oIDYsICAgMzE3KSwKKwlNWDMxX1BJTl9HUElPMV81CT0gSU9NVVhfUElOKCA1LCAgIDMxOCksCisJTVgzMV9QSU5fR1BJTzFfNAk9IElPTVVYX1BJTiggNCwgICAzMTkpLAorCU1YMzFfUElOX0dQSU8xXzMJPSBJT01VWF9QSU4oIDMsICAgMzIwKSwKKwlNWDMxX1BJTl9HUElPMV8yCT0gSU9NVVhfUElOKCAyLCAgIDMyMSksCisJTVgzMV9QSU5fR1BJTzFfMQk9IElPTVVYX1BJTiggMSwgICAzMjIpLAorCU1YMzFfUElOX0dQSU8xXzAJPSBJT01VWF9QSU4oIDAsICAgMzIzKSwKKwlNWDMxX1BJTl9QV01PCQk9IElPTVVYX1BJTiggOSwgICAzMjQpLAorCU1YMzFfUElOX1dBVENIRE9HX1JTVAk9IElPTVVYX1BJTigweGZmLCAzMjUpLAorCU1YMzFfUElOX0NPTVBBUkUJPSBJT01VWF9QSU4oIDgsICAgMzI2KSwKKwlNWDMxX1BJTl9DQVBUVVJFCT0gSU9NVVhfUElOKCA3LCAgIDMyNyksCit9OworCisvKgorICogQ29udmVuaWVuY2UgdmFsdWVzIGZvciB1c2Ugd2l0aCBteGNfaW9tdXhfbW9kZSgpCisgKgorICogRm9ybWF0IGhlcmUgaXMgTVgzMV9QSU5fKHBpbiBuYW1lKV9fKGZ1bmN0aW9uKQorICovCisjZGVmaW5lIE1YMzFfUElOX0NTUEkzX01PU0lfX1JYRDMJSU9NVVhfTU9ERShNWDMxX1BJTl9DU1BJM19NT1NJLCBJT01VWF9DT05GSUdfQUxUMSkKKyNkZWZpbmUgTVgzMV9QSU5fQ1NQSTNfTUlTT19fVFhEMwlJT01VWF9NT0RFKE1YMzFfUElOX0NTUEkzX01JU08sIElPTVVYX0NPTkZJR19BTFQxKQorI2RlZmluZSBNWDMxX1BJTl9DVFMxX19DVFMxCQlJT01VWF9NT0RFKE1YMzFfUElOX0NUUzEsIElPTVVYX0NPTkZJR19GVU5DKQorI2RlZmluZSBNWDMxX1BJTl9SVFMxX19SVFMxCQlJT01VWF9NT0RFKE1YMzFfUElOX1JUUzEsIElPTVVYX0NPTkZJR19GVU5DKQorI2RlZmluZSBNWDMxX1BJTl9UWEQxX19UWEQxCQlJT01VWF9NT0RFKE1YMzFfUElOX1RYRDEsIElPTVVYX0NPTkZJR19GVU5DKQorI2RlZmluZSBNWDMxX1BJTl9SWEQxX19SWEQxCQlJT01VWF9NT0RFKE1YMzFfUElOX1JYRDEsIElPTVVYX0NPTkZJR19GVU5DKQorCisvKgorICogVGhpcyBmdW5jdGlvbiBjb25maWd1cmVzIHRoZSBwYWQgdmFsdWUgZm9yIGEgSU9NVVggcGluLgorICovCit2b2lkIG14Y19pb211eF9zZXRfcGFkKGVudW0gaW9tdXhfcGlucywgdTMyKTsKKworI2VuZGlmCisKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW14Yy9pcnFzLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teGMvaXJxcy5oCmluZGV4IGIyYzUyMDUuLmY0MTYxMzAgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW14Yy9pcnFzLmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL2lycXMuaApAQCAtMTMsMTcgKzEzLDQgQEAKIAogI2luY2x1ZGUgPGFzbS9oYXJkd2FyZS5oPgogCi0jZGVmaW5lIE1YQ19JUlFfVE9fRVhQSU8oaXJxKQkoKGlycSkgLSBNWENfRVhQX0lPX0JBU0UpCi0KLSNkZWZpbmUgTVhDX0lSUV9UT19HUElPKGlycSkJKChpcnEpIC0gTVhDX0dQSU9fSU5UX0JBU0UpCi0jZGVmaW5lIE1YQ19HUElPX1RPX0lSUSh4KQkoTVhDX0dQSU9fSU5UX0JBU0UgKyB4KQotCi0vKiBOdW1iZXIgb2Ygbm9ybWFsIGludGVycnVwdHMgKi8KLSNkZWZpbmUgTlJfSVJRUwkJKE1YQ19NQVhfSU5UX0xJTkVTICsgXAotCQkJTVhDX01BWF9HUElPX0xJTkVTICsgXAotCQkJTVhDX01BWF9WSVJUVUFMX0lOVFMpCi0KLS8qIE51bWJlciBvZiBmYXN0IGludGVycnVwdHMgKi8KLSNkZWZpbmUgTlJfRklRUwkJTVhDX01BWF9JTlRTCi0KICNlbmRpZiAvKiBfX0FTTV9BUkNIX01YQ19JUlFTX0hfXyAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL214MjcuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW14Yy9teDI3LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjEyZWNjMgotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW14Yy9teDI3LmgKQEAgLTAsMCArMSwzMDIgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAwNC0yMDA3IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgMjAwOCBKdWVyZ2VuIEJlaXNlcnQsIGtlcm5lbEBwZW5ndXRyb25peC5kZQorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMgorICogb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLAorICogTUEgIDAyMTEwLTEzMDEsIFVTQS4KKyAqLworCisjaWZuZGVmIF9fQVNNX0FSQ0hfTVhDX01YMjdfSF9fCisjZGVmaW5lIF9fQVNNX0FSQ0hfTVhDX01YMjdfSF9fCisKKyNpZm5kZWYgX19BU01fQVJDSF9NWENfSEFSRFdBUkVfSF9fCisjZXJyb3IgIkRvIG5vdCBpbmNsdWRlIGRpcmVjdGx5LiIKKyNlbmRpZgorCisvKiBJUkFNICovCisjZGVmaW5lIElSQU1fQkFTRV9BRERSICAgICAgICAgIDB4RkZGRjRDMDAJLyogaW50ZXJuYWwgcmFtICovCisKKy8qIFJlZ2lzdGVyIG9mZmVzdHMgKi8KKyNkZWZpbmUgQUlQSV9CQVNFX0FERFIgICAgICAgICAgMHgxMDAwMDAwMAorI2RlZmluZSBBSVBJX0JBU0VfQUREUl9WSVJUICAgICAweEY0MDAwMDAwCisjZGVmaW5lIEFJUElfU0laRSAgICAgICAgICAgICAgIFNaXzFNCisKKyNkZWZpbmUgRE1BX0JBU0VfQUREUiAgICAgICAgICAgKEFJUElfQkFTRV9BRERSICsgMHgwMTAwMCkKKyNkZWZpbmUgV0RPR19CQVNFX0FERFIgICAgICAgICAgKEFJUElfQkFTRV9BRERSICsgMHgwMjAwMCkKKyNkZWZpbmUgR1BUMV9CQVNFX0FERFIgICAgICAgICAgKEFJUElfQkFTRV9BRERSICsgMHgwMzAwMCkKKyNkZWZpbmUgR1BUMl9CQVNFX0FERFIgICAgICAgICAgKEFJUElfQkFTRV9BRERSICsgMHgwNDAwMCkKKyNkZWZpbmUgR1BUM19CQVNFX0FERFIgICAgICAgICAgKEFJUElfQkFTRV9BRERSICsgMHgwNTAwMCkKKyNkZWZpbmUgUFdNX0JBU0VfQUREUiAgICAgICAgICAgKEFJUElfQkFTRV9BRERSICsgMHgwNjAwMCkKKyNkZWZpbmUgUlRDX0JBU0VfQUREUiAgICAgICAgICAgKEFJUElfQkFTRV9BRERSICsgMHgwNzAwMCkKKyNkZWZpbmUgS1BQX0JBU0VfQUREUiAgICAgICAgICAgKEFJUElfQkFTRV9BRERSICsgMHgwODAwMCkKKyNkZWZpbmUgT1dJUkVfQkFTRV9BRERSICAgICAgICAgKEFJUElfQkFTRV9BRERSICsgMHgwOTAwMCkKKyNkZWZpbmUgVUFSVDFfQkFTRV9BRERSICAgICAgICAgKEFJUElfQkFTRV9BRERSICsgMHgwQTAwMCkKKyNkZWZpbmUgVUFSVDJfQkFTRV9BRERSICAgICAgICAgKEFJUElfQkFTRV9BRERSICsgMHgwQjAwMCkKKyNkZWZpbmUgVUFSVDNfQkFTRV9BRERSICAgICAgICAgKEFJUElfQkFTRV9BRERSICsgMHgwQzAwMCkKKyNkZWZpbmUgVUFSVDRfQkFTRV9BRERSICAgICAgICAgKEFJUElfQkFTRV9BRERSICsgMHgwRDAwMCkKKyNkZWZpbmUgQ1NQSTFfQkFTRV9BRERSICAgICAgICAgKEFJUElfQkFTRV9BRERSICsgMHgwRTAwMCkKKyNkZWZpbmUgQ1NQSTJfQkFTRV9BRERSICAgICAgICAgKEFJUElfQkFTRV9BRERSICsgMHgwRjAwMCkKKyNkZWZpbmUgU1NJMV9CQVNFX0FERFIgICAgICAgICAgKEFJUElfQkFTRV9BRERSICsgMHgxMDAwMCkKKyNkZWZpbmUgU1NJMl9CQVNFX0FERFIgICAgICAgICAgKEFJUElfQkFTRV9BRERSICsgMHgxMTAwMCkKKyNkZWZpbmUgSTJDX0JBU0VfQUREUiAgICAgICAgICAgKEFJUElfQkFTRV9BRERSICsgMHgxMjAwMCkKKyNkZWZpbmUgU0RIQzFfQkFTRV9BRERSICAgICAgICAgKEFJUElfQkFTRV9BRERSICsgMHgxMzAwMCkKKyNkZWZpbmUgU0RIQzJfQkFTRV9BRERSICAgICAgICAgKEFJUElfQkFTRV9BRERSICsgMHgxNDAwMCkKKyNkZWZpbmUgR1BJT19CQVNFX0FERFIgICAgICAgICAgKEFJUElfQkFTRV9BRERSICsgMHgxNTAwMCkKKyNkZWZpbmUgQVVETVVYX0JBU0VfQUREUiAgICAgICAgKEFJUElfQkFTRV9BRERSICsgMHgxNjAwMCkKKworI2RlZmluZSBDU1BJM19CQVNFX0FERFIgICAgICAgICAoQUlQSV9CQVNFX0FERFIgKyAweDE3MDAwKQorI2RlZmluZSBNU0hDX0JBU0VfQUREUiAgICAgICAgICAoQUlQSV9CQVNFX0FERFIgKyAweDE4MDAwKQorI2RlZmluZSBHUFQ1X0JBU0VfQUREUiAgICAgICAgICAoQUlQSV9CQVNFX0FERFIgKyAweDE5MDAwKQorI2RlZmluZSBHUFQ0X0JBU0VfQUREUiAgICAgICAgICAoQUlQSV9CQVNFX0FERFIgKyAweDFBMDAwKQorI2RlZmluZSBVQVJUNV9CQVNFX0FERFIgICAgICAgICAoQUlQSV9CQVNFX0FERFIgKyAweDFCMDAwKQorI2RlZmluZSBVQVJUNl9CQVNFX0FERFIgICAgICAgICAoQUlQSV9CQVNFX0FERFIgKyAweDFDMDAwKQorI2RlZmluZSBJMkMyX0JBU0VfQUREUiAgICAgICAgICAoQUlQSV9CQVNFX0FERFIgKyAweDFEMDAwKQorI2RlZmluZSBTREhDM19CQVNFX0FERFIgICAgICAgICAoQUlQSV9CQVNFX0FERFIgKyAweDFFMDAwKQorI2RlZmluZSBHUFQ2X0JBU0VfQUREUiAgICAgICAgICAoQUlQSV9CQVNFX0FERFIgKyAweDFGMDAwKQorCisjZGVmaW5lIExDRENfQkFTRV9BRERSICAgICAgICAgIChBSVBJX0JBU0VfQUREUiArIDB4MjEwMDApCisjZGVmaW5lIFNMQ0RDX0JBU0VfQUREUiAgICAgICAgIChBSVBJX0JBU0VfQUREUiArIDB4MjIwMDApCisjZGVmaW5lIFZQVV9CQVNFX0FERFIgICAgICAgICAgIChBSVBJX0JBU0VfQUREUiArIDB4MjMwMDApCisjZGVmaW5lIFVTQk9UR19CQVNFX0FERFIgICAgICAgIChBSVBJX0JBU0VfQUREUiArIDB4MjQwMDApCisvKiBmb3IgbXgyNyovCisjZGVmaW5lIE9UR19CQVNFX0FERFIgICAgICAgICAgIFVTQk9UR19CQVNFX0FERFIKKyNkZWZpbmUgU0FIQVJBX0JBU0VfQUREUiAgICAgICAgKEFJUElfQkFTRV9BRERSICsgMHgyNTAwMCkKKyNkZWZpbmUgRU1NQV9CQVNFX0FERFIgICAgICAgICAgKEFJUElfQkFTRV9BRERSICsgMHgyNjQwMCkKKyNkZWZpbmUgQ0NNX0JBU0VfQUREUiAgICAgICAgICAgKEFJUElfQkFTRV9BRERSICsgMHgyNzAwMCkKKyNkZWZpbmUgU1lTQ1RSTF9CQVNFX0FERFIgICAgICAgKEFJUElfQkFTRV9BRERSICsgMHgyNzgwMCkKKyNkZWZpbmUgSUlNX0JBU0VfQUREUiAgICAgICAgICAgKEFJUElfQkFTRV9BRERSICsgMHgyODAwMCkKKworI2RlZmluZSBSVElDX0JBU0VfQUREUiAgICAgICAgICAoQUlQSV9CQVNFX0FERFIgKyAweDJBMDAwKQorI2RlZmluZSBGRUNfQkFTRV9BRERSICAgICAgICAgICAoQUlQSV9CQVNFX0FERFIgKyAweDJCMDAwKQorI2RlZmluZSBTQ0NfQkFTRV9BRERSICAgICAgICAgICAoQUlQSV9CQVNFX0FERFIgKyAweDJDMDAwKQorI2RlZmluZSBFVEJfQkFTRV9BRERSICAgICAgICAgICAoQUlQSV9CQVNFX0FERFIgKyAweDNCMDAwKQorI2RlZmluZSBFVEJfUkFNX0JBU0VfQUREUiAgICAgICAoQUlQSV9CQVNFX0FERFIgKyAweDNDMDAwKQorCisjZGVmaW5lIEpBTV9CQVNFX0FERFIgICAgICAgICAgIChBSVBJX0JBU0VfQUREUiArIDB4M0UwMDApCisjZGVmaW5lIE1BWF9CQVNFX0FERFIgICAgICAgICAgIChBSVBJX0JBU0VfQUREUiArIDB4M0YwMDApCisKKy8qIFJPTVAgYW5kIEFWSUMgKi8KKyNkZWZpbmUgUk9NUF9CQVNFX0FERFIgICAgICAgICAgMHgxMDA0MTAwMAorCisjZGVmaW5lIEFWSUNfQkFTRV9BRERSICAgICAgICAgIDB4MTAwNDAwMDAKKworI2RlZmluZSBTQUhCMV9CQVNFX0FERFIgICAgICAgICAweDgwMDAwMDAwCisjZGVmaW5lIFNBSEIxX0JBU0VfQUREUl9WSVJUICAgIDB4RjQxMDAwMDAKKyNkZWZpbmUgU0FIQjFfU0laRSAgICAgICAgICAgICAgU1pfMU0KKworI2RlZmluZSBDU0lfQkFTRV9BRERSICAgICAgICAgICAoU0FIQjFfQkFTRV9BRERSICsgMHgwMDAwKQorI2RlZmluZSBBVEFfQkFTRV9BRERSICAgICAgICAgICAoU0FIQjFfQkFTRV9BRERSICsgMHgxMDAwKQorCisvKiBOQU5ELCBTRFJBTSwgV0VJTSwgTTNJRiwgRU1JIGNvbnRyb2xsZXJzICovCisjZGVmaW5lIFhfTUVNQ19CQVNFX0FERFIgICAgICAgIDB4RDgwMDAwMDAKKyNkZWZpbmUgWF9NRU1DX0JBU0VfQUREUl9WSVJUICAgMHhGNDIwMDAwMAorI2RlZmluZSBYX01FTUNfU0laRSAgICAgICAgICAgICBTWl8xTQorCisjZGVmaW5lIE5GQ19CQVNFX0FERFIgICAgICAgICAgIChYX01FTUNfQkFTRV9BRERSKQorI2RlZmluZSBTRFJBTUNfQkFTRV9BRERSICAgICAgICAoWF9NRU1DX0JBU0VfQUREUiArIDB4MTAwMCkKKyNkZWZpbmUgV0VJTV9CQVNFX0FERFIgICAgICAgICAgKFhfTUVNQ19CQVNFX0FERFIgKyAweDIwMDApCisjZGVmaW5lIE0zSUZfQkFTRV9BRERSICAgICAgICAgIChYX01FTUNfQkFTRV9BRERSICsgMHgzMDAwKQorI2RlZmluZSBQQ01DSUFfQ1RMX0JBU0VfQUREUiAgICAoWF9NRU1DX0JBU0VfQUREUiArIDB4NDAwMCkKKworLyogTWVtb3J5IHJlZ2lvbnMgYW5kIENTICovCisjZGVmaW5lIFNEUkFNX0JBU0VfQUREUgkJMHhBMDAwMDAwMAorI2RlZmluZSBDU0QxX0JBU0VfQUREUgkJMHhCMDAwMDAwMAorCisjZGVmaW5lIENTMF9CQVNFX0FERFIgICAgICAgICAgIDB4QzAwMDAwMDAKKyNkZWZpbmUgQ1MxX0JBU0VfQUREUiAgICAgICAgICAgMHhDODAwMDAwMAorI2RlZmluZSBDUzJfQkFTRV9BRERSICAgICAgICAgICAweEQwMDAwMDAwCisjZGVmaW5lIENTM19CQVNFX0FERFIgICAgICAgICAgIDB4RDIwMDAwMDAKKyNkZWZpbmUgQ1M0X0JBU0VfQUREUiAgICAgICAgICAgMHhENDAwMDAwMAorI2RlZmluZSBDUzVfQkFTRV9BRERSICAgICAgICAgICAweEQ2MDAwMDAwCisjZGVmaW5lIFBDTUNJQV9NRU1fQkFTRV9BRERSICAgIDB4REMwMDAwMDAKKworLyoKKyAqIFRoaXMgbWFjcm8gZGVmaW5lcyB0aGUgcGh5c2ljYWwgdG8gdmlydHVhbCBhZGRyZXNzIG1hcHBpbmcgZm9yIGFsbCB0aGUKKyAqIHBlcmlwaGVyYWwgbW9kdWxlcy4gSXQgaXMgdXNlZCBieSBwYXNzaW5nIGluIHRoZSBwaHlzaWNhbCBhZGRyZXNzIGFzIHgKKyAqIGFuZCByZXR1cm5pbmcgdGhlIHZpcnR1YWwgYWRkcmVzcy4gSWYgdGhlIHBoeXNpY2FsIGFkZHJlc3MgaXMgbm90IG1hcHBlZCwKKyAqIGl0IHJldHVybnMgMHhERUFEQkVFRgorICovCisjZGVmaW5lIElPX0FERFJFU1MoeCkgICBcCisJKCgoeCA+PSBBSVBJX0JBU0VfQUREUikgJiYgKHggPCAoQUlQSV9CQVNFX0FERFIgKyBBSVBJX1NJWkUpKSkgPyBcCisJCUFJUElfSU9fQUREUkVTUyh4KSA6IFwKKwkoKHggPj0gU0FIQjFfQkFTRV9BRERSKSAmJiAoeCA8IChTQUhCMV9CQVNFX0FERFIgKyBTQUhCMV9TSVpFKSkpID8gXAorCQlTQUhCMV9JT19BRERSRVNTKHgpIDogXAorCSgoeCA+PSBYX01FTUNfQkFTRV9BRERSKSAmJiAoeCA8IChYX01FTUNfQkFTRV9BRERSICsgWF9NRU1DX1NJWkUpKSkgPyBcCisJCVhfTUVNQ19JT19BRERSRVNTKHgpIDogMHhERUFEQkVFRikKKworLyogZGVmaW5lIHRoZSBhZGRyZXNzIG1hcHBpbmcgbWFjcm9zOiBpbiBwaHlzaWNhbCBhZGRyZXNzIG9yZGVyICovCisjZGVmaW5lIEFJUElfSU9fQUREUkVTUyh4KSAgXAorCSgoKHgpIC0gQUlQSV9CQVNFX0FERFIpICsgQUlQSV9CQVNFX0FERFJfVklSVCkKKworI2RlZmluZSBBVklDX0lPX0FERFJFU1MoeCkJQUlQSV9JT19BRERSRVNTKHgpCisKKyNkZWZpbmUgU0FIQjFfSU9fQUREUkVTUyh4KSAgXAorCSgoKHgpIC0gU0FIQjFfQkFTRV9BRERSKSArIFNBSEIxX0JBU0VfQUREUl9WSVJUKQorCisjZGVmaW5lIENTNF9JT19BRERSRVNTKHgpICBcCisJKCgoeCkgLSBDUzRfQkFTRV9BRERSKSArIENTNF9CQVNFX0FERFJfVklSVCkKKworI2RlZmluZSBYX01FTUNfSU9fQUREUkVTUyh4KSAgXAorCSgoKHgpIC0gWF9NRU1DX0JBU0VfQUREUikgKyBYX01FTUNfQkFTRV9BRERSX1ZJUlQpCisKKyNkZWZpbmUgUENNQ0lBX0lPX0FERFJFU1MoeCkgXAorCSgoKHgpIC0gWF9NRU1DX0JBU0VfQUREUikgKyBYX01FTUNfQkFTRV9BRERSX1ZJUlQpCisKKy8qIGZpeGVkIGludGVycnB1dCBudW1iZXJzICovCisjZGVmaW5lIE1YQ19JTlRfQ0NNCQk2MworI2RlZmluZSBNWENfSU5UX0lJTQkJNjIKKyNkZWZpbmUgTVhDX0lOVF9MQ0RDCQk2MQorI2RlZmluZSBNWENfSU5UX1NMQ0RDCQk2MAorI2RlZmluZSBNWENfSU5UX1NBSEFSQQkJNTkKKyNkZWZpbmUgTVhDX0lOVF9TQ0NfU0NNCQk1OAorI2RlZmluZSBNWENfSU5UX1NDQ19TTU4JCTU3CisjZGVmaW5lIE1YQ19JTlRfVVNCMwkJNTYKKyNkZWZpbmUgTVhDX0lOVF9VU0IyCQk1NQorI2RlZmluZSBNWENfSU5UX1VTQjEJCTU0CisjZGVmaW5lIE1YQ19JTlRfVlBVCQk1MworI2RlZmluZSBNWENfSU5UX0VNTUFQUAkJNTIKKyNkZWZpbmUgTVhDX0lOVF9FTU1BUFJQCQk1MQorI2RlZmluZSBNWENfSU5UX0ZFQwkJNTAKKyNkZWZpbmUgTVhDX0lOVF9VQVJUNQkJNDkKKyNkZWZpbmUgTVhDX0lOVF9VQVJUNgkJNDgKKyNkZWZpbmUgTVhDX0lOVF9ETUFDSDE1CQk0NworI2RlZmluZSBNWENfSU5UX0RNQUNIMTQJCTQ2CisjZGVmaW5lIE1YQ19JTlRfRE1BQ0gxMwkJNDUKKyNkZWZpbmUgTVhDX0lOVF9ETUFDSDEyCQk0NAorI2RlZmluZSBNWENfSU5UX0RNQUNIMTEJCTQzCisjZGVmaW5lIE1YQ19JTlRfRE1BQ0gxMAkJNDIKKyNkZWZpbmUgTVhDX0lOVF9ETUFDSDkJCTQxCisjZGVmaW5lIE1YQ19JTlRfRE1BQ0g4CQk0MAorI2RlZmluZSBNWENfSU5UX0RNQUNINwkJMzkKKyNkZWZpbmUgTVhDX0lOVF9ETUFDSDYJCTM4CisjZGVmaW5lIE1YQ19JTlRfRE1BQ0g1CQkzNworI2RlZmluZSBNWENfSU5UX0RNQUNINAkJMzYKKyNkZWZpbmUgTVhDX0lOVF9ETUFDSDMJCTM1CisjZGVmaW5lIE1YQ19JTlRfRE1BQ0gyCQkzNAorI2RlZmluZSBNWENfSU5UX0RNQUNIMQkJMzMKKyNkZWZpbmUgTVhDX0lOVF9ETUFDSDAJCTMyCisjZGVmaW5lIE1YQ19JTlRfQ1NJCQkzMQorI2RlZmluZSBNWENfSU5UX0FUQQkJMzAKKyNkZWZpbmUgTVhDX0lOVF9OQU5ERkMJCTI5CisjZGVmaW5lIE1YQ19JTlRfUENNQ0lBCQkyOAorI2RlZmluZSBNWENfSU5UX1dET0cJCTI3CisjZGVmaW5lIE1YQ19JTlRfR1BUMQkJMjYKKyNkZWZpbmUgTVhDX0lOVF9HUFQyCQkyNQorI2RlZmluZSBNWENfSU5UX0dQVDMJCTI0CisjZGVmaW5lIE1YQ19JTlRfR1BUCQlJTlRfR1BUMQorI2RlZmluZSBNWENfSU5UX1BXTQkJMjMKKyNkZWZpbmUgTVhDX0lOVF9SVEMJCTIyCisjZGVmaW5lIE1YQ19JTlRfS1BQCQkyMQorI2RlZmluZSBNWENfSU5UX1VBUlQxCQkyMAorI2RlZmluZSBNWENfSU5UX1VBUlQyCQkxOQorI2RlZmluZSBNWENfSU5UX1VBUlQzCQkxOAorI2RlZmluZSBNWENfSU5UX1VBUlQ0CQkxNworI2RlZmluZSBNWENfSU5UX0NTUEkxCQkxNgorI2RlZmluZSBNWENfSU5UX0NTUEkyCQkxNQorI2RlZmluZSBNWENfSU5UX1NTSTEJCTE0CisjZGVmaW5lIE1YQ19JTlRfU1NJMgkJMTMKKyNkZWZpbmUgTVhDX0lOVF9JMkMJCTEyCisjZGVmaW5lIE1YQ19JTlRfU0RIQzEJCTExCisjZGVmaW5lIE1YQ19JTlRfU0RIQzIJCTEwCisjZGVmaW5lIE1YQ19JTlRfU0RIQzMJCTkKKyNkZWZpbmUgTVhDX0lOVF9HUElPCQk4CisjZGVmaW5lIE1YQ19JTlRfU0RIQwkJNworI2RlZmluZSBNWENfSU5UX0NTUEkzCQk2CisjZGVmaW5lIE1YQ19JTlRfUlRJQwkJNQorI2RlZmluZSBNWENfSU5UX0dQVDQJCTQKKyNkZWZpbmUgTVhDX0lOVF9HUFQ1CQkzCisjZGVmaW5lIE1YQ19JTlRfR1BUNgkJMgorI2RlZmluZSBNWENfSU5UX0kyQzIJCTEKKworLyogZml4ZWQgRE1BIHJlcXVlc3QgbnVtYmVycyAqLworI2RlZmluZSBETUFfUkVRX05GQyAgICAgICAgICAgICAzNworI2RlZmluZSBETUFfUkVRX1NESEMzICAgICAgICAgICAzNgorI2RlZmluZSBETUFfUkVRX1VBUlQ2X1JYICAgICAgICAzNQorI2RlZmluZSBETUFfUkVRX1VBUlQ2X1RYICAgICAgICAzNAorI2RlZmluZSBETUFfUkVRX1VBUlQ1X1JYICAgICAgICAzMworI2RlZmluZSBETUFfUkVRX1VBUlQ1X1RYICAgICAgICAzMgorI2RlZmluZSBETUFfUkVRX0NTSV9SWCAgICAgICAgICAzMQorI2RlZmluZSBETUFfUkVRX0NTSV9TVEFUICAgICAgICAzMAorI2RlZmluZSBETUFfUkVRX0FUQV9SQ1YgICAgICAgICAyOQorI2RlZmluZSBETUFfUkVRX0FUQV9UWCAgICAgICAgICAyOAorI2RlZmluZSBETUFfUkVRX1VBUlQxX1RYICAgICAgICAyNworI2RlZmluZSBETUFfUkVRX1VBUlQxX1JYICAgICAgICAyNgorI2RlZmluZSBETUFfUkVRX1VBUlQyX1RYICAgICAgICAyNQorI2RlZmluZSBETUFfUkVRX1VBUlQyX1JYICAgICAgICAyNAorI2RlZmluZSBETUFfUkVRX1VBUlQzX1RYICAgICAgICAyMworI2RlZmluZSBETUFfUkVRX1VBUlQzX1JYICAgICAgICAyMgorI2RlZmluZSBETUFfUkVRX1VBUlQ0X1RYICAgICAgICAyMQorI2RlZmluZSBETUFfUkVRX1VBUlQ0X1JYICAgICAgICAyMAorI2RlZmluZSBETUFfUkVRX0NTUEkxX1RYICAgICAgICAxOQorI2RlZmluZSBETUFfUkVRX0NTUEkxX1JYICAgICAgICAxOAorI2RlZmluZSBETUFfUkVRX0NTUEkyX1RYICAgICAgICAxNworI2RlZmluZSBETUFfUkVRX0NTUEkyX1JYICAgICAgICAxNgorI2RlZmluZSBETUFfUkVRX1NTSTFfVFgxICAgICAgICAxNQorI2RlZmluZSBETUFfUkVRX1NTSTFfUlgxICAgICAgICAxNAorI2RlZmluZSBETUFfUkVRX1NTSTFfVFgwICAgICAgICAxMworI2RlZmluZSBETUFfUkVRX1NTSTFfUlgwICAgICAgICAxMgorI2RlZmluZSBETUFfUkVRX1NTSTJfVFgxICAgICAgICAxMQorI2RlZmluZSBETUFfUkVRX1NTSTJfUlgxICAgICAgICAxMAorI2RlZmluZSBETUFfUkVRX1NTSTJfVFgwICAgICAgICA5CisjZGVmaW5lIERNQV9SRVFfU1NJMl9SWDAgICAgICAgIDgKKyNkZWZpbmUgRE1BX1JFUV9TREhDMSAgICAgICAgICAgNworI2RlZmluZSBETUFfUkVRX1NESEMyICAgICAgICAgICA2CisjZGVmaW5lIERNQV9SRVFfTVNIQyAgICAgICAgICAgIDQKKyNkZWZpbmUgRE1BX1JFUV9FWFQgICAgICAgICAgICAgMworI2RlZmluZSBETUFfUkVRX0NTUEkzX1RYICAgICAgICAyCisjZGVmaW5lIERNQV9SRVFfQ1NQSTNfUlggICAgICAgIDEKKworLyogc2lsaWNvbiByZXZpc2lvbnMgc3BlY2lmaWMgdG8gaS5NWDI3ICovCisjZGVmaW5lIENISVBfUkVWXzFfMAkJMHgwMAorI2RlZmluZSBDSElQX1JFVl8yXzAJCTB4MDEKKworI2lmbmRlZiBfX0FTU0VNQkxZX18KK2V4dGVybiBpbnQgbXgyN19yZXZpc2lvbih2b2lkKTsKKyNlbmRpZgorCisvKiBncGlvIGFuZCBncGlvIGJhc2VkIGludGVycnVwdCBoYW5kbGluZyAqLworI2RlZmluZSBHUElPX0RSCQkgCTB4MUMKKyNkZWZpbmUgR1BJT19HRElSCSAJMHgwMAorI2RlZmluZSBHUElPX1BTUgkgCTB4MjQKKyNkZWZpbmUgR1BJT19JQ1IxCSAJMHgyOAorI2RlZmluZSBHUElPX0lDUjIJIAkweDJDCisjZGVmaW5lIEdQSU9fSU1SCSAJMHgzMAorI2RlZmluZSBHUElPX0lTUgkgCTB4MzQKKyNkZWZpbmUgR1BJT19JTlRfTE9XX0xFVgkweDMKKyNkZWZpbmUgR1BJT19JTlRfSElHSF9MRVYJMHgyCisjZGVmaW5lIEdQSU9fSU5UX1JJU0VfRURHRSAJMHgwCisjZGVmaW5lIEdQSU9fSU5UX0ZBTExfRURHRQkweDEKKyNkZWZpbmUgR1BJT19JTlRfTk9ORQkJMHg0CisKKy8qIE1hbmRhdG9yeSBkZWZpbmVzIHVzZWQgZ2xvYmFsbHkgKi8KKworLyogdGhpcyBpcyBhbiBpLk1YMjcgQ1BVICovCisjZGVmaW5lIGNwdV9pc19teDI3KCkJCSgxKQorCisvKiB0aGlzIENQVSBzdXBwb3J0cyB1cCB0byAxOTIgR1BJT3MgKGRvbid0IGZvcmdldCB0aGUgYmFzZWJvYXJkISkgKi8KKyNkZWZpbmUgQVJDSF9OUl9HUElPUwkJKDE5MiArIDE2KQorCisvKiBPUyBjbG9jayB0aWNrIHJhdGUgKi8KKyNkZWZpbmUgQ0xPQ0tfVElDS19SQVRFICAgICAgICAgMTMzMDAwMDAKKworLyogU3RhcnQgb2YgUkFNICovCisjZGVmaW5lIFBIWVNfT0ZGU0VUCQlTRFJBTV9CQVNFX0FERFIKKworLyogbWF4IGludGVycnVwdCBsaW5lcyBjb3VudCAqLworI2RlZmluZSBOUl9JUlFTCQkJMjU2CisKKy8qIGNvdW50IG9mIGludGVybmFsIGludGVycnVwdCBzb3VyY2VzICovCisjZGVmaW5lIE1YQ19NQVhfSU5UX0xJTkVTCTY0CisKKyNlbmRpZiAvKiBfX0FTTV9BUkNIX01YQ19NWDI3X0hfXyAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL214MzEuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW14Yy9teDMxLmgKaW5kZXggMzZhMWFmNC4uYTczNzNlNCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL214MzEuaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teGMvbXgzMS5oCkBAIC0zMjAsNiArMzIwLDggQEAKICNkZWZpbmUgTVhDX01BWF9HUElPX0xJTkVTICAgICAgKEdQSU9fTlVNX1BJTiAqIEdQSU9fUE9SVF9OVU0pCiAjZGVmaW5lIE1YQ19NQVhfVklSVFVBTF9JTlRTCTE2CiAKKyNkZWZpbmUgTlJfSVJRUyAoTVhDX01BWF9JTlRfTElORVMgKyBNWENfTUFYX0dQSU9fTElORVMgKyBNWENfTUFYX1ZJUlRVQUxfSU5UUykKKwogLyohCiAgKiBOdW1iZXIgb2YgR1BJTyBwb3J0IGFzIGRlZmluZWQgaW4gdGhlIElDIFNwZWMKICAqLwpAQCAtMzQ3LDYgKzM0OSwyNSBAQAogI2RlZmluZSBTWVNURU1fUkVWX01JTgkJQ0hJUF9SRVZfMV8wCiAjZGVmaW5lIFNZU1RFTV9SRVZfTlVNCQkzCiAKKy8qIGdwaW8gYW5kIGdwaW8gYmFzZWQgaW50ZXJydXB0IGhhbmRsaW5nICovCisjZGVmaW5lIEdQSU9fRFIJCSAJMHgwMAorI2RlZmluZSBHUElPX0dESVIJIAkweDA0CisjZGVmaW5lIEdQSU9fUFNSCSAJMHgwOAorI2RlZmluZSBHUElPX0lDUjEJIAkweDBDCisjZGVmaW5lIEdQSU9fSUNSMgkgCTB4MTAKKyNkZWZpbmUgR1BJT19JTVIJIAkweDE0CisjZGVmaW5lIEdQSU9fSVNSCSAJMHgxOAorI2RlZmluZSBHUElPX0lOVF9MT1dfTEVWCTB4MAorI2RlZmluZSBHUElPX0lOVF9ISUdIX0xFVgkweDEKKyNkZWZpbmUgR1BJT19JTlRfUklTRV9FREdFCTB4MgorI2RlZmluZSBHUElPX0lOVF9GQUxMX0VER0UJMHgzCisjZGVmaW5lIEdQSU9fSU5UX05PTkUJCTB4NAorCisvKiBNYW5kYXRvcnkgZGVmaW5lcyB1c2VkIGdsb2JhbGx5ICovCisKKy8qIHRoaXMgQ1BVIHN1cHBvcnRzIHVwIHRvIDk2IEdQSU9zICovCisjZGVmaW5lIEFSQ0hfTlJfR1BJT1MJCTk2CisKICNpZiAhZGVmaW5lZChfX0FTU0VNQkxZX18pICYmICFkZWZpbmVkKF9fTVhDX0JPT1RfVU5DT01QUkVTUykKIAogLyogdGhpcyBpcyBhIGkuTVgzMSBDUFUgKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW14Yy9teGMuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW14Yy9teGMuaAppbmRleCAxNDZkM2Y2Li4zMzJlZGE0IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teGMvbXhjLmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL214Yy5oCkBAIC0xLDExICsxLDIwIEBACiAvKgogICogQ29weXJpZ2h0IDIwMDQtMjAwNyBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgotICovCi0KLS8qCi0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQotICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMKLSAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorICogQ29weXJpZ2h0IChDKSAyMDA4IEp1ZXJnZW4gQmVpc2VydCAoa2VybmVsQHBlbmd1dHJvbml4LmRlKQorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMgorICogb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLAorICogTUEgMDIxMTAtMTMwMSwgVVNBLgogICovCiAKICNpZm5kZWYgX19BU01fQVJDSF9NWENfSF9fCkBAIC0yMCwxMzMgKzI5LDggQEAKICMgZGVmaW5lIGNwdV9pc19teDMxKCkgKDApCiAjZW5kaWYKIAotLyoKLSAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogR1BUICBSZWdpc3RlciBkZWZpbml0aW9ucyAgICAgICAgICAgICAqCi0gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqLwotI2RlZmluZSBNWENfR1BUX0dQVENSCQlJT19BRERSRVNTKEdQVDFfQkFTRV9BRERSICsgMHgwMCkKLSNkZWZpbmUgTVhDX0dQVF9HUFRQUgkJSU9fQUREUkVTUyhHUFQxX0JBU0VfQUREUiArIDB4MDQpCi0jZGVmaW5lIE1YQ19HUFRfR1BUU1IJCUlPX0FERFJFU1MoR1BUMV9CQVNFX0FERFIgKyAweDA4KQotI2RlZmluZSBNWENfR1BUX0dQVElSCQlJT19BRERSRVNTKEdQVDFfQkFTRV9BRERSICsgMHgwQykKLSNkZWZpbmUgTVhDX0dQVF9HUFRPQ1IxCQlJT19BRERSRVNTKEdQVDFfQkFTRV9BRERSICsgMHgxMCkKLSNkZWZpbmUgTVhDX0dQVF9HUFRPQ1IyCQlJT19BRERSRVNTKEdQVDFfQkFTRV9BRERSICsgMHgxNCkKLSNkZWZpbmUgTVhDX0dQVF9HUFRPQ1IzCQlJT19BRERSRVNTKEdQVDFfQkFTRV9BRERSICsgMHgxOCkKLSNkZWZpbmUgTVhDX0dQVF9HUFRJQ1IxCQlJT19BRERSRVNTKEdQVDFfQkFTRV9BRERSICsgMHgxQykKLSNkZWZpbmUgTVhDX0dQVF9HUFRJQ1IyCQlJT19BRERSRVNTKEdQVDFfQkFTRV9BRERSICsgMHgyMCkKLSNkZWZpbmUgTVhDX0dQVF9HUFRDTlQJCUlPX0FERFJFU1MoR1BUMV9CQVNFX0FERFIgKyAweDI0KQotCi0vKiBHUFQgQ29udHJvbCByZWdpc3RlciBiaXQgZGVmaW5pdGlvbnMgKi8KLSNkZWZpbmUgR1BUQ1JfRk8zCQkJKDEgPDwgMzEpCi0jZGVmaW5lIEdQVENSX0ZPMgkJCSgxIDw8IDMwKQotI2RlZmluZSBHUFRDUl9GTzEJCQkoMSA8PCAyOSkKLQotI2RlZmluZSBHUFRDUl9PTTNfU0hJRlQJCQkyNgotI2RlZmluZSBHUFRDUl9PTTNfTUFTSwkJCSg3IDw8IEdQVENSX09NM19TSElGVCkKLSNkZWZpbmUgR1BUQ1JfT00zX0RJU0NPTk5FQ1RFRAkJKDAgPDwgR1BUQ1JfT00zX1NISUZUKQotI2RlZmluZSBHUFRDUl9PTTNfVE9HR0xFCQkoMSA8PCBHUFRDUl9PTTNfU0hJRlQpCi0jZGVmaW5lIEdQVENSX09NM19DTEVBUgkJCSgyIDw8IEdQVENSX09NM19TSElGVCkKLSNkZWZpbmUgR1BUQ1JfT00zX1NFVAkJCSgzIDw8IEdQVENSX09NM19TSElGVCkKLSNkZWZpbmUgR1BUQ1JfT00zX0dFTkVSQVRFX0xPVwkJKDcgPDwgR1BUQ1JfT00zX1NISUZUKQotCi0jZGVmaW5lIEdQVENSX09NMl9TSElGVAkJCTIzCi0jZGVmaW5lIEdQVENSX09NMl9NQVNLCQkJKDcgPDwgR1BUQ1JfT00yX1NISUZUKQotI2RlZmluZSBHUFRDUl9PTTJfRElTQ09OTkVDVEVECQkoMCA8PCBHUFRDUl9PTTJfU0hJRlQpCi0jZGVmaW5lIEdQVENSX09NMl9UT0dHTEUJCSgxIDw8IEdQVENSX09NMl9TSElGVCkKLSNkZWZpbmUgR1BUQ1JfT00yX0NMRUFSCQkJKDIgPDwgR1BUQ1JfT00yX1NISUZUKQotI2RlZmluZSBHUFRDUl9PTTJfU0VUCQkJKDMgPDwgR1BUQ1JfT00yX1NISUZUKQotI2RlZmluZSBHUFRDUl9PTTJfR0VORVJBVEVfTE9XCQkoNyA8PCBHUFRDUl9PTTJfU0hJRlQpCi0KLSNkZWZpbmUgR1BUQ1JfT00xX1NISUZUCQkJMjAKLSNkZWZpbmUgR1BUQ1JfT00xX01BU0sJCQkoNyA8PCBHUFRDUl9PTTFfU0hJRlQpCi0jZGVmaW5lIEdQVENSX09NMV9ESVNDT05ORUNURUQJCSgwIDw8IEdQVENSX09NMV9TSElGVCkKLSNkZWZpbmUgR1BUQ1JfT00xX1RPR0dMRQkJKDEgPDwgR1BUQ1JfT00xX1NISUZUKQotI2RlZmluZSBHUFRDUl9PTTFfQ0xFQVIJCQkoMiA8PCBHUFRDUl9PTTFfU0hJRlQpCi0jZGVmaW5lIEdQVENSX09NMV9TRVQJCQkoMyA8PCBHUFRDUl9PTTFfU0hJRlQpCi0jZGVmaW5lIEdQVENSX09NMV9HRU5FUkFURV9MT1cJCSg3IDw8IEdQVENSX09NMV9TSElGVCkKLQotI2RlZmluZSBHUFRDUl9JTTJfU0hJRlQJCQkxOAotI2RlZmluZSBHUFRDUl9JTTJfTUFTSwkJCSgzIDw8IEdQVENSX0lNMl9TSElGVCkKLSNkZWZpbmUgR1BUQ1JfSU0yX0NBUFRVUkVfRElTQUJMRQkoMCA8PCBHUFRDUl9JTTJfU0hJRlQpCi0jZGVmaW5lIEdQVENSX0lNMl9DQVBUVVJFX1JJU0lORwkoMSA8PCBHUFRDUl9JTTJfU0hJRlQpCi0jZGVmaW5lIEdQVENSX0lNMl9DQVBUVVJFX0ZBTExJTkcJKDIgPDwgR1BUQ1JfSU0yX1NISUZUKQotI2RlZmluZSBHUFRDUl9JTTJfQ0FQVFVSRV9CT1RICQkoMyA8PCBHUFRDUl9JTTJfU0hJRlQpCi0KLSNkZWZpbmUgR1BUQ1JfSU0xX1NISUZUCQkJMTYKLSNkZWZpbmUgR1BUQ1JfSU0xX01BU0sJCQkoMyA8PCBHUFRDUl9JTTFfU0hJRlQpCi0jZGVmaW5lIEdQVENSX0lNMV9DQVBUVVJFX0RJU0FCTEUJKDAgPDwgR1BUQ1JfSU0xX1NISUZUKQotI2RlZmluZSBHUFRDUl9JTTFfQ0FQVFVSRV9SSVNJTkcJKDEgPDwgR1BUQ1JfSU0xX1NISUZUKQotI2RlZmluZSBHUFRDUl9JTTFfQ0FQVFVSRV9GQUxMSU5HCSgyIDw8IEdQVENSX0lNMV9TSElGVCkKLSNkZWZpbmUgR1BUQ1JfSU0xX0NBUFRVUkVfQk9USAkJKDMgPDwgR1BUQ1JfSU0xX1NISUZUKQotCi0jZGVmaW5lIEdQVENSX1NXUgkJCSgxIDw8IDE1KQotI2RlZmluZSBHUFRDUl9GUlIJCQkoMSA8PCA5KQotCi0jZGVmaW5lIEdQVENSX0NMS1NSQ19TSElGVAkJNgotI2RlZmluZSBHUFRDUl9DTEtTUkNfTUFTSwkJKDcgPDwgR1BUQ1JfQ0xLU1JDX1NISUZUKQotI2RlZmluZSBHUFRDUl9DTEtTUkNfTk9DTE9DSwkJKDAgPDwgR1BUQ1JfQ0xLU1JDX1NISUZUKQotI2RlZmluZSBHUFRDUl9DTEtTUkNfSElHSEZSRVEJCSgyIDw8IEdQVENSX0NMS1NSQ19TSElGVCkKLSNkZWZpbmUgR1BUQ1JfQ0xLU1JDX0NMS0lOCQkoMyA8PCBHUFRDUl9DTEtTUkNfU0hJRlQpCi0jZGVmaW5lIEdQVENSX0NMS1NSQ19DTEszMksJCSg3IDw8IEdQVENSX0NMS1NSQ19TSElGVCkKLQotI2RlZmluZSBHUFRDUl9TVE9QRU4JCQkoMSA8PCA1KQotI2RlZmluZSBHUFRDUl9ET1pFTgkJCSgxIDw8IDQpCi0jZGVmaW5lIEdQVENSX1dBSVRFTgkJCSgxIDw8IDMpCi0jZGVmaW5lIEdQVENSX0RCR0VOCQkJKDEgPDwgMikKLQotI2RlZmluZSBHUFRDUl9FTk1PRAkJCSgxIDw8IDEpCi0jZGVmaW5lIEdQVENSX0VOQUJMRQkJCSgxIDw8IDApCi0KLSNkZWZpbmUgR1BUU1JfT0YxCQkJKDEgPDwgMCkKLSNkZWZpbmUgR1BUU1JfT0YyCQkJKDEgPDwgMSkKLSNkZWZpbmUgR1BUU1JfT0YzCQkJKDEgPDwgMikKLSNkZWZpbmUgR1BUU1JfSUYxCQkJKDEgPDwgMykKLSNkZWZpbmUgR1BUU1JfSUYyCQkJKDEgPDwgNCkKLSNkZWZpbmUgR1BUU1JfUk9WCQkJKDEgPDwgNSkKLQotI2RlZmluZSBHUFRJUl9PRjFJRQkJCUdQVFNSX09GMQotI2RlZmluZSBHUFRJUl9PRjJJRQkJCUdQVFNSX09GMgotI2RlZmluZSBHUFRJUl9PRjNJRQkJCUdQVFNSX09GMwotI2RlZmluZSBHUFRJUl9JRjFJRQkJCUdQVFNSX0lGMQotI2RlZmluZSBHUFRJUl9JRjJJRQkJCUdQVFNSX0lGMgotI2RlZmluZSBHUFRJUl9ST1ZJRQkJCUdQVFNSX1JPVgotCi0vKgotICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBBVklDIFJlZ2lzdGVycyAgICAgICAgICAgICAgICAgICAgICAgICoKLSAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICovCi0jZGVmaW5lIEFWSUNfQkFTRQkJSU9fQUREUkVTUyhBVklDX0JBU0VfQUREUikKLSNkZWZpbmUgQVZJQ19JTlRDTlRMCQkoQVZJQ19CQVNFICsgMHgwMCkJLyogaW50IGNvbnRyb2wgcmVnICovCi0jZGVmaW5lIEFWSUNfTklNQVNLCQkoQVZJQ19CQVNFICsgMHgwNCkJLyogaW50IG1hc2sgcmVnICovCi0jZGVmaW5lIEFWSUNfSU5URU5OVU0JCShBVklDX0JBU0UgKyAweDA4KQkvKiBpbnQgZW5hYmxlIG51bWJlciByZWcgKi8KLSNkZWZpbmUgQVZJQ19JTlRESVNOVU0JCShBVklDX0JBU0UgKyAweDBDKQkvKiBpbnQgZGlzYWJsZSBudW1iZXIgcmVnICovCi0jZGVmaW5lIEFWSUNfSU5URU5BQkxFSAkJKEFWSUNfQkFTRSArIDB4MTApCS8qIGludCBlbmFibGUgcmVnIGhpZ2ggKi8KLSNkZWZpbmUgQVZJQ19JTlRFTkFCTEVMCQkoQVZJQ19CQVNFICsgMHgxNCkJLyogaW50IGVuYWJsZSByZWcgbG93ICovCi0jZGVmaW5lIEFWSUNfSU5UVFlQRUgJCShBVklDX0JBU0UgKyAweDE4KQkvKiBpbnQgdHlwZSByZWcgaGlnaCAqLwotI2RlZmluZSBBVklDX0lOVFRZUEVMCQkoQVZJQ19CQVNFICsgMHgxQykJLyogaW50IHR5cGUgcmVnIGxvdyAqLwotI2RlZmluZSBBVklDX05JUFJJT1JJVFk3CShBVklDX0JBU0UgKyAweDIwKQkvKiBub3JtIGludCBwcmlvcml0eSBsdmw3ICovCi0jZGVmaW5lIEFWSUNfTklQUklPUklUWTYJKEFWSUNfQkFTRSArIDB4MjQpCS8qIG5vcm0gaW50IHByaW9yaXR5IGx2bDYgKi8KLSNkZWZpbmUgQVZJQ19OSVBSSU9SSVRZNQkoQVZJQ19CQVNFICsgMHgyOCkJLyogbm9ybSBpbnQgcHJpb3JpdHkgbHZsNSAqLwotI2RlZmluZSBBVklDX05JUFJJT1JJVFk0CShBVklDX0JBU0UgKyAweDJDKQkvKiBub3JtIGludCBwcmlvcml0eSBsdmw0ICovCi0jZGVmaW5lIEFWSUNfTklQUklPUklUWTMJKEFWSUNfQkFTRSArIDB4MzApCS8qIG5vcm0gaW50IHByaW9yaXR5IGx2bDMgKi8KLSNkZWZpbmUgQVZJQ19OSVBSSU9SSVRZMgkoQVZJQ19CQVNFICsgMHgzNCkJLyogbm9ybSBpbnQgcHJpb3JpdHkgbHZsMiAqLwotI2RlZmluZSBBVklDX05JUFJJT1JJVFkxCShBVklDX0JBU0UgKyAweDM4KQkvKiBub3JtIGludCBwcmlvcml0eSBsdmwxICovCi0jZGVmaW5lIEFWSUNfTklQUklPUklUWTAJKEFWSUNfQkFTRSArIDB4M0MpCS8qIG5vcm0gaW50IHByaW9yaXR5IGx2bDAgKi8KLSNkZWZpbmUgQVZJQ19OSVZFQ1NSCQkoQVZJQ19CQVNFICsgMHg0MCkJLyogbm9ybSBpbnQgdmVjdG9yL3N0YXR1cyAqLwotI2RlZmluZSBBVklDX0ZJVkVDU1IJCShBVklDX0JBU0UgKyAweDQ0KQkvKiBmYXN0IGludCB2ZWN0b3Ivc3RhdHVzICovCi0jZGVmaW5lIEFWSUNfSU5UU1JDSAkJKEFWSUNfQkFTRSArIDB4NDgpCS8qIGludCBzb3VyY2UgcmVnIGhpZ2ggKi8KLSNkZWZpbmUgQVZJQ19JTlRTUkNMCQkoQVZJQ19CQVNFICsgMHg0QykJLyogaW50IHNvdXJjZSByZWcgbG93ICovCi0jZGVmaW5lIEFWSUNfSU5URlJDSAkJKEFWSUNfQkFTRSArIDB4NTApCS8qIGludCBmb3JjZSByZWcgaGlnaCAqLwotI2RlZmluZSBBVklDX0lOVEZSQ0wJCShBVklDX0JBU0UgKyAweDU0KQkvKiBpbnQgZm9yY2UgcmVnIGxvdyAqLwotI2RlZmluZSBBVklDX05JUE5ESAkJKEFWSUNfQkFTRSArIDB4NTgpCS8qIG5vcm0gaW50IHBlbmRpbmcgaGlnaCAqLwotI2RlZmluZSBBVklDX05JUE5ETAkJKEFWSUNfQkFTRSArIDB4NUMpCS8qIG5vcm0gaW50IHBlbmRpbmcgbG93ICovCi0jZGVmaW5lIEFWSUNfRklQTkRICQkoQVZJQ19CQVNFICsgMHg2MCkJLyogZmFzdCBpbnQgcGVuZGluZyBoaWdoICovCi0jZGVmaW5lIEFWSUNfRklQTkRMCQkoQVZJQ19CQVNFICsgMHg2NCkJLyogZmFzdCBpbnQgcGVuZGluZyBsb3cgKi8KLQotI2RlZmluZSBTWVNURU1fUFJFVl9SRUcJCUlPX0FERFJFU1MoSUlNX0JBU0VfQUREUiArIDB4MjApCi0jZGVmaW5lIFNZU1RFTV9TUkVWX1JFRwkJSU9fQUREUkVTUyhJSU1fQkFTRV9BRERSICsgMHgyNCkKLSNkZWZpbmUgSUlNX1BST0RfUkVWX1NICQkzCi0jZGVmaW5lIElJTV9QUk9EX1JFVl9MRU4JNQorI2lmbmRlZiBDT05GSUdfTUFDSF9NWDI3CisjIGRlZmluZSBjcHVfaXNfbXgyNygpICgwKQorI2VuZGlmCiAKICNlbmRpZiAvKiAgX19BU01fQVJDSF9NWENfSF9fICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teGMvbXhjX3RpbWVyLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teGMvbXhjX3RpbWVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmNiMTFmNAotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW14Yy9teGNfdGltZXIuaApAQCAtMCwwICsxLDE1OCBAQAorLyoKKyAqIG14Y190aW1lci5oCisgKgorICogQ29weXJpZ2h0IChDKSAyMDA4IEp1ZXJnZW4gQmVpc2VydCAoa2VybmVsQHBlbmd1dHJvbml4LmRlKQorICoKKyAqIFBsYXRmb3JtIGluZGVwZW5kZW50IChpLk1YMSwgaS5NWDIsIGkuTVgzKSBkZWZpbml0aW9uIGZvciB0aW1lciBoYW5kbGluZy4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIKKyAqIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1BICAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI2lmbmRlZiBfX1BMQVRfTVhDX1RJTUVSX0gKKyNkZWZpbmUgX19QTEFUX01YQ19USU1FUl9ICisKKyNpbmNsdWRlIDxsaW51eC9jbGsuaD4KKyNpbmNsdWRlIDxhc20vaGFyZHdhcmUuaD4KKworI2lmZGVmIENPTkZJR19BUkNIX0lNWAorI2RlZmluZSBUSU1FUl9CQVNFCQlJT19BRERSRVNTKFRJTTFfQkFTRV9BRERSKQorI2RlZmluZSBUSU1FUl9JTlRFUlJVUFQJCVRJTTFfSU5UCisKKyNkZWZpbmUgVENUTF9WQUwJCVRDVExfQ0xLX1BDTEsxCisjZGVmaW5lIFRDVExfSVJRRU4JCSgxPDw0KQorI2RlZmluZSBUQ1RMX0ZSUgkJKDE8PDgpCisjZGVmaW5lIFRDVExfQ0xLX1BDTEsxCQkoMTw8MSkKKyNkZWZpbmUgVENUTF9DTEtfUENMSzFfNAkoMjw8MSkKKyNkZWZpbmUgVENUTF9DTEtfVElOCQkoMzw8MSkKKyNkZWZpbmUgVENUTF9DTEtfMzIJCSg0PDwxKQorCisjZGVmaW5lIE1YQ19UQ1RMICAgMHgwMAorI2RlZmluZSBNWENfVFBSRVIgIDB4MDQKKyNkZWZpbmUgTVhDX1RDTVAgICAweDA4CisjZGVmaW5lIE1YQ19UQ1IgICAgMHgwYworI2RlZmluZSBNWENfVENOICAgIDB4MTAKKyNkZWZpbmUgTVhDX1RTVEFUICAweDE0CisjZGVmaW5lIFRTVEFUX0NBUFQJCSgxPDwxKQorI2RlZmluZSBUU1RBVF9DT01QCQkoMTw8MCkKKworc3RhdGljIGlubGluZSB2b2lkIGdwdF9pcnFfZGlzYWJsZSh2b2lkKQoreworCXVuc2lnbmVkIGludCB0bXA7CisKKwl0bXAgPSBfX3Jhd19yZWFkbChUSU1FUl9CQVNFICsgTVhDX1RDVEwpOworCV9fcmF3X3dyaXRlbCh0bXAgJiB+VENUTF9JUlFFTiwgVElNRVJfQkFTRSArIE1YQ19UQ1RMKTsKK30KKworc3RhdGljIGlubGluZSB2b2lkIGdwdF9pcnFfZW5hYmxlKHZvaWQpCit7CisJX19yYXdfd3JpdGVsKF9fcmF3X3JlYWRsKFRJTUVSX0JBU0UgKyBNWENfVENUTCkgfCBUQ1RMX0lSUUVOLAorCQkJCVRJTUVSX0JBU0UgKyBNWENfVENUTCk7Cit9CisKK3N0YXRpYyB2b2lkIGdwdF9pcnFfYWNrbm93bGVkZ2Uodm9pZCkKK3sKKwlfX3Jhd193cml0ZWwoMCwgVElNRVJfQkFTRSArIE1YQ19UU1RBVCk7Cit9CisjZW5kaWYgLyogQ09ORklHX0FSQ0hfSU1YICovCisKKyNpZmRlZiBDT05GSUdfQVJDSF9NWDIKKyNkZWZpbmUgVElNRVJfQkFTRQkJSU9fQUREUkVTUyhHUFQxX0JBU0VfQUREUikKKyNkZWZpbmUgVElNRVJfSU5URVJSVVBUCQlNWENfSU5UX0dQVDEKKworI2RlZmluZSBNWENfVENUTCAgIDB4MDAKKyNkZWZpbmUgVENUTF9WQUwJCVRDVExfQ0xLX1BDTEsxCisjZGVmaW5lIFRDVExfQ0xLX1BDTEsxCQkoMTw8MSkKKyNkZWZpbmUgVENUTF9DTEtfUENMSzFfNAkoMjw8MSkKKyNkZWZpbmUgVENUTF9JUlFFTgkJKDE8PDQpCisjZGVmaW5lIFRDVExfRlJSCQkoMTw8OCkKKyNkZWZpbmUgTVhDX1RQUkVSICAweDA0CisjZGVmaW5lIE1YQ19UQ01QICAgMHgwOAorI2RlZmluZSBNWENfVENSICAgIDB4MGMKKyNkZWZpbmUgTVhDX1RDTiAgICAweDEwCisjZGVmaW5lIE1YQ19UU1RBVCAgMHgxNAorI2RlZmluZSBUU1RBVF9DQVBUCQkoMTw8MSkKKyNkZWZpbmUgVFNUQVRfQ09NUAkJKDE8PDApCisKK3N0YXRpYyBpbmxpbmUgdm9pZCBncHRfaXJxX2Rpc2FibGUodm9pZCkKK3sKKwl1bnNpZ25lZCBpbnQgdG1wOworCisJdG1wID0gX19yYXdfcmVhZGwoVElNRVJfQkFTRSArIE1YQ19UQ1RMKTsKKwlfX3Jhd193cml0ZWwodG1wICYgflRDVExfSVJRRU4sIFRJTUVSX0JBU0UgKyBNWENfVENUTCk7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBncHRfaXJxX2VuYWJsZSh2b2lkKQoreworCV9fcmF3X3dyaXRlbChfX3Jhd19yZWFkbChUSU1FUl9CQVNFICsgTVhDX1RDVEwpIHwgVENUTF9JUlFFTiwKKwkJCQlUSU1FUl9CQVNFICsgTVhDX1RDVEwpOworfQorCitzdGF0aWMgdm9pZCBncHRfaXJxX2Fja25vd2xlZGdlKHZvaWQpCit7CisJX19yYXdfd3JpdGVsKFRTVEFUX0NBUFQgfCBUU1RBVF9DT01QLCBUSU1FUl9CQVNFICsgTVhDX1RTVEFUKTsKK30KKyNlbmRpZiAvKiBDT05GSUdfQVJDSF9NWDIgKi8KKworI2lmZGVmIENPTkZJR19BUkNIX01YMworI2RlZmluZSBUSU1FUl9CQVNFCQlJT19BRERSRVNTKEdQVDFfQkFTRV9BRERSKQorI2RlZmluZSBUSU1FUl9JTlRFUlJVUFQJCU1YQ19JTlRfR1BUCisKKyNkZWZpbmUgTVhDX1RDVEwgICAweDAwCisjZGVmaW5lIFRDVExfVkFMCQkoVENUTF9DTEtfSVBHIHwgVENUTF9XQUlURU4pCisjZGVmaW5lIFRDVExfQ0xLX0lQRwkJKDE8PDYpCisjZGVmaW5lIFRDVExfRlJSCQkoMTw8OSkKKyNkZWZpbmUgVENUTF9XQUlURU4JCSgxPDwzKQorCisjZGVmaW5lIE1YQ19UUFJFUiAgMHgwNAorI2RlZmluZSBNWENfVFNUQVQgIDB4MDgKKyNkZWZpbmUgVFNUQVRfT0YxCQkoMTw8MCkKKyNkZWZpbmUgVFNUQVRfT0YyCQkoMTw8MSkKKyNkZWZpbmUgVFNUQVRfT0YzCQkoMTw8MikKKyNkZWZpbmUgVFNUQVRfSUYxCQkoMTw8MykKKyNkZWZpbmUgVFNUQVRfSUYyCQkoMTw8NCkKKyNkZWZpbmUgVFNUQVRfUk9WCQkoMTw8NSkKKyNkZWZpbmUgTVhDX0lSICAgICAweDBjCisjZGVmaW5lIE1YQ19UQ01QICAgMHgxMAorI2RlZmluZSBNWENfVENNUDIgIDB4MTQKKyNkZWZpbmUgTVhDX1RDTVAzICAweDE4CisjZGVmaW5lIE1YQ19UQ1IgICAgMHgxYworI2RlZmluZSBNWENfVENOICAgIDB4MjQKKworc3RhdGljIGlubGluZSB2b2lkIGdwdF9pcnFfZGlzYWJsZSh2b2lkKQoreworCV9fcmF3X3dyaXRlbCgwLCBUSU1FUl9CQVNFICsgTVhDX0lSKTsKK30KKworc3RhdGljIGlubGluZSB2b2lkIGdwdF9pcnFfZW5hYmxlKHZvaWQpCit7CisJX19yYXdfd3JpdGVsKDE8PDAsIFRJTUVSX0JBU0UgKyBNWENfSVIpOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgZ3B0X2lycV9hY2tub3dsZWRnZSh2b2lkKQoreworCV9fcmF3X3dyaXRlbChUU1RBVF9PRjEsIFRJTUVSX0JBU0UgKyBNWENfVFNUQVQpOworfQorI2VuZGlmIC8qIENPTkZJR19BUkNIX01YMyAqLworCisjZGVmaW5lIFRDVExfU1dSCQkoMTw8MTUpCisjZGVmaW5lIFRDVExfQ0MJCQkoMTw8MTApCisjZGVmaW5lIFRDVExfT00JCQkoMTw8OSkKKyNkZWZpbmUgVENUTF9DQVBfUklTCQkoMTw8NikKKyNkZWZpbmUgVENUTF9DQVBfRkFMCQkoMjw8NikKKyNkZWZpbmUgVENUTF9DQVBfUklTX0ZBTAkoMzw8NikKKyNkZWZpbmUgVENUTF9DQVBfRU5BCQkoMTw8NSkKKyNkZWZpbmUgVENUTF9URU4JCSgxPDwwKQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW5zOXh4eC9oYXJkd2FyZS5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbnM5eHh4L2hhcmR3YXJlLmgKaW5kZXggMGI3YjM0Ni4uMGRjYTExYyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtbnM5eHh4L2hhcmR3YXJlLmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbnM5eHh4L2hhcmR3YXJlLmgKQEAgLTY2LDEzICs2NiwxMyBAQAogCSBfX1JFR0dFVCh2YXIsIHJlZyAjIyBfICMjIGZpZWxkKSAvIF9fUkVHU0hJRlQocmVnICMjIF8gIyMgZmllbGQpCiAKICMgIGRlZmluZSBSRUdHRVRJTV9JRFgodmFyLCByZWcsIGZpZWxkLCBpZHgpCQkJCVwKLQkgX19SRUdHRVQodmFyLCByZWcgIyMgXyAjIyBmaWVsZCgoaWR4KSkpIC8gCQkJXAorCSBfX1JFR0dFVCh2YXIsIHJlZyAjIyBfICMjIGZpZWxkKChpZHgpKSkgLwkJCVwKIAkgX19SRUdTSElGVChyZWcgIyMgXyAjIyBmaWVsZCgoaWR4KSkpCiAKICNlbHNlCiAKICMgIGRlZmluZSBfX1JFRyh4KQlpb19wMnYoeCkKLSMgIGRlZmluZSBfX1JFRzIoeCwgeSkJaW9fcDJ2KCh4KSArICh5KSkKKyMgIGRlZmluZSBfX1JFRzIoeCwgeSkJaW9fcDJ2KCh4KSArIDQgKiAoeSkpCiAKICNlbmRpZgogCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL2JvYXJkLTI0MzBzZHAuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvYm9hcmQtMjQzMHNkcC5oCmluZGV4IGU5YzY1Y2UuLmM3ZGI5MDAgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvYm9hcmQtMjQzMHNkcC5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvYm9hcmQtMjQzMHNkcC5oCkBAIC0zNiw5ICszNiw0IEBACiAKICNkZWZpbmUgVFdMNDAzMF9JUlFOVU0JCQlJTlRfMjRYWF9TWVNfTklSUQogCi0vKiBUV0w0MDMwIFByaW1hcnkgSW50ZXJydXB0IEhhbmRsZXIgKFBJSCkgaW50ZXJydXB0cyAqLwotI2RlZmluZSBJSF9UV0w0MDMwX0JBU0UJCQlJSF9CT0FSRF9CQVNFCi0jZGVmaW5lIElIX1RXTDQwMzBfRU5ECQkJKElIX1RXTDQwMzBfQkFTRSs4KQotI2RlZmluZSBOUl9JUlFTCQkJCShJSF9UV0w0MDMwX0VORCkKLQogI2VuZGlmIC8qIF9fQVNNX0FSQ0hfT01BUF8yNDMwU0RQX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvYm9hcmQtaDMuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvYm9hcmQtaDMuaAppbmRleCAwZjY0MDQ0Li5jNWQwZjMyIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL2JvYXJkLWgzLmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9ib2FyZC1oMy5oCkBAIC0zMCwxMiArMzAsNiBAQAogLyogSW4gT01BUDE3MTAgSDMgdGhlIEV0aGVybmV0IGlzIGRpcmVjdGx5IGNvbm5lY3RlZCB0byBDUzEgKi8KICNkZWZpbmUgT01BUDE3MTBfRVRIUl9TVEFSVAkJMHgwNDAwMDMwMAogCi0jZGVmaW5lIE1BWElSUU5VTQkJCShJSF9CT0FSRF9CQVNFKQotI2RlZmluZSBNQVhGSVFOVU0JCQlNQVhJUlFOVU0KLSNkZWZpbmUgTUFYU1dJTlVNCQkJTUFYSVJRTlVNCi0KLSNkZWZpbmUgTlJfSVJRUwkJCQkoTUFYSVJRTlVNICsgMSkKLQogZXh0ZXJuIHZvaWQgaDNfbW1jX2luaXQodm9pZCk7CiBleHRlcm4gdm9pZCBoM19tbWNfc2xvdF9jb3Zlcl9oYW5kbGVyKHZvaWQgKmFyZywgaW50IHN0YXRlKTsKIApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9ib2FyZC1pbm5vdmF0b3IuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvYm9hcmQtaW5ub3ZhdG9yLmgKaW5kZXggNTZkMmM5OC4uOWNhMDNkZSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9ib2FyZC1pbm5vdmF0b3IuaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL2JvYXJkLWlubm92YXRvci5oCkBAIC0zNiw5ICszNiw2IEBACiAjZGVmaW5lIE9NQVAxNTEwUDFfRU1JRlNfUFJJX1ZBTFVFCQkweDAwCiAjZGVmaW5lIE9NQVAxNTEwUDFfRU1JRkZfUFJJX1ZBTFVFCQkweDAwCiAKLSNkZWZpbmUgTlJfRlBHQV9JUlFTCQkyNAotI2RlZmluZSBOUl9JUlFTICAgICAgICAgICAgICAgICAoSUhfQk9BUkRfQkFTRSArIE5SX0ZQR0FfSVJRUykKLQogI2lmbmRlZiBfX0FTU0VNQkxZX18KIHZvaWQgZnBnYV93cml0ZSh1bnNpZ25lZCBjaGFyIHZhbCwgaW50IHJlZyk7CiB1bnNpZ25lZCBjaGFyIGZwZ2FfcmVhZChpbnQgcmVnKTsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvYm9hcmQtcGVyc2V1czIuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvYm9hcmQtcGVyc2V1czIuaAppbmRleCBlYjc0NDIwLi5kNzQyOWNiIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL2JvYXJkLXBlcnNldXMyLmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9ib2FyZC1wZXJzZXVzMi5oCkBAIC0zNiwxMCArMzYsNCBAQAogI2RlZmluZSBPTUFQX1NEUkFNX0RFVklDRQkJRDI1Nk1fMVgxNl80QgogI2VuZGlmCiAKLSNkZWZpbmUgTUFYSVJRTlVNCQlJSF9CT0FSRF9CQVNFCi0jZGVmaW5lIE1BWEZJUU5VTQkJTUFYSVJRTlVNCi0jZGVmaW5lIE1BWFNXSU5VTQkJTUFYSVJRTlVNCi0KLSNkZWZpbmUgTlJfSVJRUwkJCShNQVhJUlFOVU0gKyAxKQotCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvY2xvY2suaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvY2xvY2suaAppbmRleCAxMmE1ZTRkLi40YzdiMzUxIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL2Nsb2NrLmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9jbG9jay5oCkBAIC0zMywxMiArMzMsMjQgQEAKIAl2b2lkIF9faW9tZW0JCSptdWx0X2RpdjFfcmVnOwogCXUzMgkJCW11bHRfbWFzazsKIAl1MzIJCQlkaXYxX21hc2s7CisJdTE2CQkJbGFzdF9yb3VuZGVkX207CisJdTgJCQlsYXN0X3JvdW5kZWRfbjsKKwl1bnNpZ25lZCBsb25nCQlsYXN0X3JvdW5kZWRfcmF0ZTsKKwl1bnNpZ25lZCBpbnQJCXJhdGVfdG9sZXJhbmNlOworCXUxNgkJCW1heF9tdWx0aXBsaWVyOworCXU4CQkJbWF4X2RpdmlkZXI7CisJdTMyCQkJbWF4X3RvbGVyYW5jZTsKICMgIGlmIGRlZmluZWQoQ09ORklHX0FSQ0hfT01BUDMpCisJdTgJCQltb2RlczsKIAl2b2lkIF9faW9tZW0JCSpjb250cm9sX3JlZzsKIAl1MzIJCQllbmFibGVfbWFzazsKIAl1OAkJCWF1dG9fcmVjYWxfYml0OwogCXU4CQkJcmVjYWxfZW5fYml0OwogCXU4CQkJcmVjYWxfc3RfYml0OworCXZvaWQgX19pb21lbQkJKmF1dG9pZGxlX3JlZzsKKwl1MzIJCQlhdXRvaWRsZV9tYXNrOworCXZvaWQgX19pb21lbQkJKmlkbGVzdF9yZWc7CisJdTgJCQlpZGxlc3RfYml0OwogIyAgZW5kaWYKIH07CiAKQEAgLTY2LDExICs3OCwxNCBAQAogCXZvaWQgX19pb21lbQkJKmNsa3NlbF9yZWc7CiAJdTMyCQkJY2xrc2VsX21hc2s7CiAJY29uc3Qgc3RydWN0IGNsa3NlbAkqY2xrc2VsOwotCWNvbnN0IHN0cnVjdCBkcGxsX2RhdGEJKmRwbGxfZGF0YTsKKwlzdHJ1Y3QgZHBsbF9kYXRhCSpkcGxsX2RhdGE7CiAjZWxzZQogCV9fdTgJCQlyYXRlX29mZnNldDsKIAlfX3U4CQkJc3JjX29mZnNldDsKICNlbmRpZgorI2lmIGRlZmluZWQoQ09ORklHX1BNX0RFQlVHKSAmJiBkZWZpbmVkKENPTkZJR19ERUJVR19GUykKKwlzdHJ1Y3QgZGVudHJ5CQkqZGVudDsJLyogRm9yIHZpc2libGUgdHJlZSBoaWVyYXJjaHkgKi8KKyNlbmRpZgogfTsKIAogc3RydWN0IGNwdWZyZXFfZnJlcXVlbmN5X3RhYmxlOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9jb21tb24uaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvY29tbW9uLmgKaW5kZXggMzZhM2I2Mi4uOGFjMDMwNyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9jb21tb24uaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL2NvbW1vbi5oCkBAIC00Nyw4ICs0NywyMyBAQAogfQogI2VuZGlmCiAKKy8qIElPIGJhc2VzIGZvciB2YXJpb3VzIE9NQVAgcHJvY2Vzc29ycyAqLworc3RydWN0IG9tYXBfZ2xvYmFscyB7CisJdm9pZCBfX2lvbWVtCSp0YXA7CQkvKiBDb250cm9sIG1vZHVsZSBJRCBjb2RlICovCisJdm9pZCBfX2lvbWVtCSpzZHJjOwkJLyogU0RSQU0gQ29udHJvbGxlciAqLworCXZvaWQgX19pb21lbQkqc21zOwkJLyogU0RSQU0gTWVtb3J5IFNjaGVkdWxlciAqLworCXZvaWQgX19pb21lbQkqY3RybDsJCS8qIFN5c3RlbSBDb250cm9sIE1vZHVsZSAqLworCXZvaWQgX19pb21lbQkqcHJtOwkJLyogUG93ZXIgYW5kIFJlc2V0IE1hbmFnZW1lbnQgKi8KKwl2b2lkIF9faW9tZW0JKmNtOwkJLyogQ2xvY2sgTWFuYWdlbWVudCAqLworfTsKKwogdm9pZCBvbWFwMl9zZXRfZ2xvYmFsc18yNDJ4KHZvaWQpOwogdm9pZCBvbWFwMl9zZXRfZ2xvYmFsc18yNDN4KHZvaWQpOwogdm9pZCBvbWFwMl9zZXRfZ2xvYmFsc18zNDN4KHZvaWQpOwogCisvKiBUaGVzZSBnZXQgY2FsbGVkIGZyb20gb21hcDJfc2V0X2dsb2JhbHNfeHh4eCgpLCBkbyBub3QgY2FsbCB0aGVzZSAqLwordm9pZCBvbWFwMl9zZXRfZ2xvYmFsc19tZW1vcnkoc3RydWN0IG9tYXBfZ2xvYmFscyAqKTsKK3ZvaWQgb21hcDJfc2V0X2dsb2JhbHNfY29udHJvbChzdHJ1Y3Qgb21hcF9nbG9iYWxzICopOwordm9pZCBvbWFwMl9zZXRfZ2xvYmFsc19wcmNtKHN0cnVjdCBvbWFwX2dsb2JhbHMgKik7CisKICNlbmRpZiAvKiBfX0FSQ0hfQVJNX01BQ0hfT01BUF9DT01NT05fSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9jb250cm9sLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL2NvbnRyb2wuaAppbmRleCA1OWMwNjg2Li45ODc1NTNlIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL2NvbnRyb2wuaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL2NvbnRyb2wuaApAQCAtMTY3LDggKzE2Nyw3IEBACiAKICNpZm5kZWYgX19BU1NFTUJMWV9fCiAjaWYgZGVmaW5lZChDT05GSUdfQVJDSF9PTUFQMikgfHwgZGVmaW5lZChDT05GSUdfQVJDSF9PTUFQMykKLWV4dGVybiB2b2lkIG9tYXBfY3RybF9iYXNlX3NldCh1MzIgYmFzZSk7Ci1leHRlcm4gdTMyIG9tYXBfY3RybF9iYXNlX2dldCh2b2lkKTsKK2V4dGVybiB2b2lkIF9faW9tZW0gKm9tYXBfY3RybF9iYXNlX2dldCh2b2lkKTsKIGV4dGVybiB1OCBvbWFwX2N0cmxfcmVhZGIodTE2IG9mZnNldCk7CiBleHRlcm4gdTE2IG9tYXBfY3RybF9yZWFkdyh1MTYgb2Zmc2V0KTsKIGV4dGVybiB1MzIgb21hcF9jdHJsX3JlYWRsKHUxNiBvZmZzZXQpOwpAQCAtMTc2LDcgKzE3NSw2IEBACiBleHRlcm4gdm9pZCBvbWFwX2N0cmxfd3JpdGV3KHUxNiB2YWwsIHUxNiBvZmZzZXQpOwogZXh0ZXJuIHZvaWQgb21hcF9jdHJsX3dyaXRlbCh1MzIgdmFsLCB1MTYgb2Zmc2V0KTsKICNlbHNlCi0jZGVmaW5lIG9tYXBfY3RybF9iYXNlX3NldCh4KQkJV0FSTl9PTigxKQogI2RlZmluZSBvbWFwX2N0cmxfYmFzZV9nZXQoKQkJMAogI2RlZmluZSBvbWFwX2N0cmxfcmVhZGIoeCkJCTAKICNkZWZpbmUgb21hcF9jdHJsX3JlYWR3KHgpCQkwCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL2NwdS5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9jcHUuaAppbmRleCBlOGE0Y2Y1Li41MmRiMDlmIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL2NwdS5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvY3B1LmgKQEAgLTMsNyArMyw3IEBACiAgKgogICogT01BUCBjcHUgdHlwZSBkZXRlY3Rpb24KICAqCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDQgTm9raWEgQ29ycG9yYXRpb24KKyAqIENvcHlyaWdodCAoQykgMjAwNCwgMjAwOCBOb2tpYSBDb3Jwb3JhdGlvbgogICoKICAqIFdyaXR0ZW4gYnkgVG9ueSBMaW5kZ3JlbiA8dG9ueS5saW5kZ3JlbkBub2tpYS5jb20+CiAgKgpAQCAtMjYsNiArMjYsMTIgQEAKICNpZm5kZWYgX19BU01fQVJDSF9PTUFQX0NQVV9ICiAjZGVmaW5lIF9fQVNNX0FSQ0hfT01BUF9DUFVfSAogCitzdHJ1Y3Qgb21hcF9jaGlwX2lkIHsKKwl1OCBvYzsKK307CisKKyNkZWZpbmUgT01BUF9DSElQX0lOSVQoeCkJeyAub2MgPSB4IH0KKwogZXh0ZXJuIHVuc2lnbmVkIGludCBzeXN0ZW1fcmV2OwogCiAjZGVmaW5lIG9tYXAyX2NwdV9yZXYoKQkJKChzeXN0ZW1fcmV2ID4+IDEyKSAmIDB4MGYpCkBAIC0zNDUsNiArMzUxLDMzIEBACiAjZGVmaW5lIE9NQVAyNDMwX1JFVl9FUzFfMAkweDI0MzAwMDAwCiAjZGVmaW5lIE9NQVAzNDMwX1JFVl9FUzFfMAkweDM0MzAwMDAwCiAjZGVmaW5lIE9NQVAzNDMwX1JFVl9FUzJfMAkweDM0MzAxMDAwCisjZGVmaW5lIE9NQVAzNDMwX1JFVl9FUzJfMQkweDM0MzAyMDAwCisjZGVmaW5lIE9NQVAzNDMwX1JFVl9FUzJfMgkweDM0MzAzMDAwCisKKy8qCisgKiBvbWFwX2NoaXAgYml0cworICoKKyAqIENISVBfSVNfT01BUHsyNDIwLDI0MzAsMzQzMH0gaW5kaWNhdGUgdGhhdCBhIHBhcnRpY3VsYXIgc3RydWN0dXJlIGlzCisgKiB2YWxpZCBvbiBhbGwgY2hpcHMgb2YgdGhhdCB0eXBlLiAgQ0hJUF9JU19PTUFQMzQzMEVTezEsMn0gaW5kaWNhdGVzCisgKiBzb21ldGhpbmcgdGhhdCBpcyBvbmx5IHZhbGlkIG9uIHRoYXQgcGFydGljdWxhciBFUyByZXZpc2lvbi4KKyAqCisgKiBUaGVzZSBiaXRzIG1heSBiZSBPUmVkIHRvZ2V0aGVyIHRvIGluZGljYXRlIHN0cnVjdHVyZXMgdGhhdCBhcmUKKyAqIGF2YWlsYWJsZSBvbiBtdWx0aXBsZSBjaGlwIHR5cGVzLgorICoKKyAqIFRvIHRlc3Qgd2hldGhlciBhIHBhcnRpY3VsYXIgc3RydWN0dXJlIG1hdGNoZXMgdGhlIGN1cnJlbnQgT01BUCBjaGlwIHR5cGUsCisgKiB1c2Ugb21hcF9jaGlwX2lzKCkuCisgKgorICovCisjZGVmaW5lIENISVBfSVNfT01BUDI0MjAgICAgICAgKDEgPDwgMCkKKyNkZWZpbmUgQ0hJUF9JU19PTUFQMjQzMCAgICAgICAoMSA8PCAxKQorI2RlZmluZSBDSElQX0lTX09NQVAzNDMwICAgICAgICgxIDw8IDIpCisjZGVmaW5lIENISVBfSVNfT01BUDM0MzBFUzEgICAgKDEgPDwgMykKKyNkZWZpbmUgQ0hJUF9JU19PTUFQMzQzMEVTMiAgICAoMSA8PCA0KQorCisjZGVmaW5lIENISVBfSVNfT01BUDI0WFggICAgICAgKENISVBfSVNfT01BUDI0MjAgfCBDSElQX0lTX09NQVAyNDMwKQorCitpbnQgb21hcF9jaGlwX2lzKHN0cnVjdCBvbWFwX2NoaXBfaWQgb2NpKTsKKwogCiAvKgogICogTWFjcm8gdG8gZGV0ZWN0IGRldmljZSB0eXBlIGkuZS4gRU1VL0hTL1RTVC9HUC9CQUQKQEAgLTM2Miw2ICszOTUsOCBAQAogI2RlZmluZSBpc19kZXZpY2VfdHlwZV9ncCgpCShnZXRfZGV2aWNlX3R5cGUoKSA9PSBERVZJQ0VfVFlQRV9HUCkKICNkZWZpbmUgaXNfZGV2aWNlX3R5cGVfYmFkKCkJKGdldF9kZXZpY2VfdHlwZSgpID09IERFVklDRV9UWVBFX0JBRCkKIAotI2VuZGlmCit2b2lkIG9tYXAyX2NoZWNrX3JldmlzaW9uKHZvaWQpOworCisjZW5kaWYgICAgLyogZGVmaW5lZChDT05GSUdfQVJDSF9PTUFQMikgfHwgZGVmaW5lZChDT05GSUdfQVJDSF9PTUFQMykgKi8KIAogI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL2RtYS5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9kbWEuaAppbmRleCAyNGFjZjA5Li5mNGRjYjk1IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL2RtYS5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvZG1hLmgKQEAgLTIyLDEwOCArMjIsMTI4IEBACiAjZGVmaW5lIF9fQVNNX0FSQ0hfRE1BX0gKIAogLyogSGFyZHdhcmUgcmVnaXN0ZXJzIGZvciBvbWFwMSAqLwotI2RlZmluZSBPTUFQX0RNQV9CQVNFCQkJKDB4ZmZmZWQ4MDApCi0jZGVmaW5lIE9NQVBfRE1BX0dDUgkJCShPTUFQX0RNQV9CQVNFICsgMHg0MDApCi0jZGVmaW5lIE9NQVBfRE1BX0dTQ1IJCQkoT01BUF9ETUFfQkFTRSArIDB4NDA0KQotI2RlZmluZSBPTUFQX0RNQV9HUlNUCQkJKE9NQVBfRE1BX0JBU0UgKyAweDQwOCkKLSNkZWZpbmUgT01BUF9ETUFfSFdfSUQJCQkoT01BUF9ETUFfQkFTRSArIDB4NDQyKQotI2RlZmluZSBPTUFQX0RNQV9QQ0gyX0lECQkoT01BUF9ETUFfQkFTRSArIDB4NDQ0KQotI2RlZmluZSBPTUFQX0RNQV9QQ0gwX0lECQkoT01BUF9ETUFfQkFTRSArIDB4NDQ2KQotI2RlZmluZSBPTUFQX0RNQV9QQ0gxX0lECQkoT01BUF9ETUFfQkFTRSArIDB4NDQ4KQotI2RlZmluZSBPTUFQX0RNQV9QQ0hHX0lECQkoT01BUF9ETUFfQkFTRSArIDB4NDRhKQotI2RlZmluZSBPTUFQX0RNQV9QQ0hEX0lECQkoT01BUF9ETUFfQkFTRSArIDB4NDRjKQotI2RlZmluZSBPTUFQX0RNQV9DQVBTXzBfVQkJKE9NQVBfRE1BX0JBU0UgKyAweDQ0ZSkKLSNkZWZpbmUgT01BUF9ETUFfQ0FQU18wX0wJCShPTUFQX0RNQV9CQVNFICsgMHg0NTApCi0jZGVmaW5lIE9NQVBfRE1BX0NBUFNfMV9VCQkoT01BUF9ETUFfQkFTRSArIDB4NDUyKQotI2RlZmluZSBPTUFQX0RNQV9DQVBTXzFfTAkJKE9NQVBfRE1BX0JBU0UgKyAweDQ1NCkKLSNkZWZpbmUgT01BUF9ETUFfQ0FQU18yCQkJKE9NQVBfRE1BX0JBU0UgKyAweDQ1NikKLSNkZWZpbmUgT01BUF9ETUFfQ0FQU18zCQkJKE9NQVBfRE1BX0JBU0UgKyAweDQ1OCkKLSNkZWZpbmUgT01BUF9ETUFfQ0FQU180CQkJKE9NQVBfRE1BX0JBU0UgKyAweDQ1YSkKLSNkZWZpbmUgT01BUF9ETUFfUENIMl9TUgkJKE9NQVBfRE1BX0JBU0UgKyAweDQ2MCkKLSNkZWZpbmUgT01BUF9ETUFfUENIMF9TUgkJKE9NQVBfRE1BX0JBU0UgKyAweDQ4MCkKLSNkZWZpbmUgT01BUF9ETUFfUENIMV9TUgkJKE9NQVBfRE1BX0JBU0UgKyAweDQ4MikKLSNkZWZpbmUgT01BUF9ETUFfUENIRF9TUgkJKE9NQVBfRE1BX0JBU0UgKyAweDRjMCkKKyNkZWZpbmUgT01BUDFfRE1BX0JBU0UJCQkoMHhmZmZlZDgwMCkKIAotLyogSGFyZHdhcmUgcmVnaXN0ZXJzIGZvciBvbWFwMiAqLwotI2lmIGRlZmluZWQoQ09ORklHX0FSQ0hfT01BUDMpCi0jZGVmaW5lIE9NQVBfRE1BNF9CQVNFCQkJKEw0XzM0WFhfQkFTRSArIDB4NTYwMDApCi0jZWxzZQkvKiBDT05GSUdfQVJDSF9PTUFQMiAqLwotI2RlZmluZSBPTUFQX0RNQTRfQkFTRQkJCShMNF8yNFhYX0JBU0UgKyAweDU2MDAwKQotI2VuZGlmCisjZGVmaW5lIE9NQVAxX0RNQV9HQ1IJCQkweDQwMAorI2RlZmluZSBPTUFQMV9ETUFfR1NDUgkJCTB4NDA0CisjZGVmaW5lIE9NQVAxX0RNQV9HUlNUCQkJMHg0MDgKKyNkZWZpbmUgT01BUDFfRE1BX0hXX0lECQkJMHg0NDIKKyNkZWZpbmUgT01BUDFfRE1BX1BDSDJfSUQJCTB4NDQ0CisjZGVmaW5lIE9NQVAxX0RNQV9QQ0gwX0lECQkweDQ0NgorI2RlZmluZSBPTUFQMV9ETUFfUENIMV9JRAkJMHg0NDgKKyNkZWZpbmUgT01BUDFfRE1BX1BDSEdfSUQJCTB4NDRhCisjZGVmaW5lIE9NQVAxX0RNQV9QQ0hEX0lECQkweDQ0YworI2RlZmluZSBPTUFQMV9ETUFfQ0FQU18wX1UJCTB4NDRlCisjZGVmaW5lIE9NQVAxX0RNQV9DQVBTXzBfTAkJMHg0NTAKKyNkZWZpbmUgT01BUDFfRE1BX0NBUFNfMV9VCQkweDQ1MgorI2RlZmluZSBPTUFQMV9ETUFfQ0FQU18xX0wJCTB4NDU0CisjZGVmaW5lIE9NQVAxX0RNQV9DQVBTXzIJCTB4NDU2CisjZGVmaW5lIE9NQVAxX0RNQV9DQVBTXzMJCTB4NDU4CisjZGVmaW5lIE9NQVAxX0RNQV9DQVBTXzQJCTB4NDVhCisjZGVmaW5lIE9NQVAxX0RNQV9QQ0gyX1NSCQkweDQ2MAorI2RlZmluZSBPTUFQMV9ETUFfUENIMF9TUgkJMHg0ODAKKyNkZWZpbmUgT01BUDFfRE1BX1BDSDFfU1IJCTB4NDgyCisjZGVmaW5lIE9NQVAxX0RNQV9QQ0hEX1NSCQkweDRjMAogCi0jZGVmaW5lIE9NQVBfRE1BNF9SRVZJU0lPTgkJKE9NQVBfRE1BNF9CQVNFICsgMHgwMCkKLSNkZWZpbmUgT01BUF9ETUE0X0dDUl9SRUcJCShPTUFQX0RNQTRfQkFTRSArIDB4NzgpCi0jZGVmaW5lIE9NQVBfRE1BNF9JUlFTVEFUVVNfTDAJCShPTUFQX0RNQTRfQkFTRSArIDB4MDgpCi0jZGVmaW5lIE9NQVBfRE1BNF9JUlFTVEFUVVNfTDEJCShPTUFQX0RNQTRfQkFTRSArIDB4MGMpCi0jZGVmaW5lIE9NQVBfRE1BNF9JUlFTVEFUVVNfTDIJCShPTUFQX0RNQTRfQkFTRSArIDB4MTApCi0jZGVmaW5lIE9NQVBfRE1BNF9JUlFTVEFUVVNfTDMJCShPTUFQX0RNQTRfQkFTRSArIDB4MTQpCi0jZGVmaW5lIE9NQVBfRE1BNF9JUlFFTkFCTEVfTDAJCShPTUFQX0RNQTRfQkFTRSArIDB4MTgpCi0jZGVmaW5lIE9NQVBfRE1BNF9JUlFFTkFCTEVfTDEJCShPTUFQX0RNQTRfQkFTRSArIDB4MWMpCi0jZGVmaW5lIE9NQVBfRE1BNF9JUlFFTkFCTEVfTDIJCShPTUFQX0RNQTRfQkFTRSArIDB4MjApCi0jZGVmaW5lIE9NQVBfRE1BNF9JUlFFTkFCTEVfTDMJCShPTUFQX0RNQTRfQkFTRSArIDB4MjQpCi0jZGVmaW5lIE9NQVBfRE1BNF9TWVNTVEFUVVMJCShPTUFQX0RNQTRfQkFTRSArIDB4MjgpCi0jZGVmaW5lIE9NQVBfRE1BNF9PQ1BfU1lTQ09ORklHCQkoT01BUF9ETUE0X0JBU0UgKyAweDJjKQotI2RlZmluZSBPTUFQX0RNQTRfQ0FQU18wCQkoT01BUF9ETUE0X0JBU0UgKyAweDY0KQotI2RlZmluZSBPTUFQX0RNQTRfQ0FQU18yCQkoT01BUF9ETUE0X0JBU0UgKyAweDZjKQotI2RlZmluZSBPTUFQX0RNQTRfQ0FQU18zCQkoT01BUF9ETUE0X0JBU0UgKyAweDcwKQotI2RlZmluZSBPTUFQX0RNQTRfQ0FQU180CQkoT01BUF9ETUE0X0JBU0UgKyAweDc0KQorLyogSGFyZHdhcmUgcmVnaXN0ZXJzIGZvciBvbWFwMiBhbmQgb21hcDMgKi8KKyNkZWZpbmUgT01BUDI0WFhfRE1BNF9CQVNFCQkoTDRfMjRYWF9CQVNFICsgMHg1NjAwMCkKKyNkZWZpbmUgT01BUDM0WFhfRE1BNF9CQVNFCQkoTDRfMzRYWF9CQVNFICsgMHg1NjAwMCkKIAotI2lmZGVmIENPTkZJR19BUkNIX09NQVAxCisjZGVmaW5lIE9NQVBfRE1BNF9SRVZJU0lPTgkJMHgwMAorI2RlZmluZSBPTUFQX0RNQTRfR0NSCQkJMHg3OAorI2RlZmluZSBPTUFQX0RNQTRfSVJRU1RBVFVTX0wwCQkweDA4CisjZGVmaW5lIE9NQVBfRE1BNF9JUlFTVEFUVVNfTDEJCTB4MGMKKyNkZWZpbmUgT01BUF9ETUE0X0lSUVNUQVRVU19MMgkJMHgxMAorI2RlZmluZSBPTUFQX0RNQTRfSVJRU1RBVFVTX0wzCQkweDE0CisjZGVmaW5lIE9NQVBfRE1BNF9JUlFFTkFCTEVfTDAJCTB4MTgKKyNkZWZpbmUgT01BUF9ETUE0X0lSUUVOQUJMRV9MMQkJMHgxYworI2RlZmluZSBPTUFQX0RNQTRfSVJRRU5BQkxFX0wyCQkweDIwCisjZGVmaW5lIE9NQVBfRE1BNF9JUlFFTkFCTEVfTDMJCTB4MjQKKyNkZWZpbmUgT01BUF9ETUE0X1NZU1NUQVRVUwkJMHgyOAorI2RlZmluZSBPTUFQX0RNQTRfT0NQX1NZU0NPTkZJRwkJMHgyYworI2RlZmluZSBPTUFQX0RNQTRfQ0FQU18wCQkweDY0CisjZGVmaW5lIE9NQVBfRE1BNF9DQVBTXzIJCTB4NmMKKyNkZWZpbmUgT01BUF9ETUE0X0NBUFNfMwkJMHg3MAorI2RlZmluZSBPTUFQX0RNQTRfQ0FQU180CQkweDc0CiAKLSNkZWZpbmUgT01BUF9MT0dJQ0FMX0RNQV9DSF9DT1VOVAkxNworI2RlZmluZSBPTUFQMV9MT0dJQ0FMX0RNQV9DSF9DT1VOVAkxNworI2RlZmluZSBPTUFQX0RNQTRfTE9HSUNBTF9ETUFfQ0hfQ09VTlQJMzIJLyogUkVWSVNJVDogSXMgdGhpcyAzMiArIDI/ICovCiAKIC8qIENvbW1vbiBjaGFubmVsIHNwZWNpZmljIHJlZ2lzdGVycyBmb3Igb21hcDEgKi8KLSNkZWZpbmUgT01BUF9ETUFfQ1NEUF9SRUcobikJCV9fUkVHMTYoT01BUF9ETUFfQkFTRSArIDB4NDAgKiAobikgKyAweDAwKQotI2RlZmluZSBPTUFQX0RNQV9DQ1JfUkVHKG4pCQlfX1JFRzE2KE9NQVBfRE1BX0JBU0UgKyAweDQwICogKG4pICsgMHgwMikKLSNkZWZpbmUgT01BUF9ETUFfQ0lDUl9SRUcobikJCV9fUkVHMTYoT01BUF9ETUFfQkFTRSArIDB4NDAgKiAobikgKyAweDA0KQotI2RlZmluZSBPTUFQX0RNQV9DU1JfUkVHKG4pCQlfX1JFRzE2KE9NQVBfRE1BX0JBU0UgKyAweDQwICogKG4pICsgMHgwNikKLSNkZWZpbmUgT01BUF9ETUFfQ0VOX1JFRyhuKQkJX19SRUcxNihPTUFQX0RNQV9CQVNFICsgMHg0MCAqIChuKSArIDB4MTApCi0jZGVmaW5lIE9NQVBfRE1BX0NGTl9SRUcobikJCV9fUkVHMTYoT01BUF9ETUFfQkFTRSArIDB4NDAgKiAobikgKyAweDEyKQotI2RlZmluZSBPTUFQX0RNQV9DU0ZJX1JFRyhuKQkJX19SRUcxNihPTUFQX0RNQV9CQVNFICsgMHg0MCAqIChuKSArIDB4MTQpCi0jZGVmaW5lIE9NQVBfRE1BX0NTRUlfUkVHKG4pCQlfX1JFRzE2KE9NQVBfRE1BX0JBU0UgKyAweDQwICogKG4pICsgMHgxNikKLSNkZWZpbmUgT01BUF9ETUFfQ1NBQ19SRUcobikJCV9fUkVHMTYoT01BUF9ETUFfQkFTRSArIDB4NDAgKiAobikgKyAweDE4KQotI2RlZmluZSBPTUFQX0RNQV9DREFDX1JFRyhuKQkJX19SRUcxNihPTUFQX0RNQV9CQVNFICsgMHg0MCAqIChuKSArIDB4MWEpCi0jZGVmaW5lIE9NQVBfRE1BX0NERUlfUkVHKG4pCQlfX1JFRzE2KE9NQVBfRE1BX0JBU0UgKyAweDQwICogKG4pICsgMHgxYykKLSNkZWZpbmUgT01BUF9ETUFfQ0RGSV9SRUcobikJCV9fUkVHMTYoT01BUF9ETUFfQkFTRSArIDB4NDAgKiAobikgKyAweDFlKQotI2RlZmluZSBPTUFQX0RNQV9DTE5LX0NUUkxfUkVHKG4pCV9fUkVHMTYoT01BUF9ETUFfQkFTRSArIDB4NDAgKiAobikgKyAweDI4KQotCi0jZWxzZQotCi0jZGVmaW5lIE9NQVBfTE9HSUNBTF9ETUFfQ0hfQ09VTlQJMzIJLyogUkVWSVNJVDogSXMgdGhpcyAzMiArIDI/ICovCisjZGVmaW5lIE9NQVAxX0RNQV9DSF9CQVNFKG4pCQkoMHg0MCAqIChuKSArIDB4MDApCisjZGVmaW5lIE9NQVAxX0RNQV9DU0RQKG4pCQkoMHg0MCAqIChuKSArIDB4MDApCisjZGVmaW5lIE9NQVAxX0RNQV9DQ1IobikJCSgweDQwICogKG4pICsgMHgwMikKKyNkZWZpbmUgT01BUDFfRE1BX0NJQ1IobikJCSgweDQwICogKG4pICsgMHgwNCkKKyNkZWZpbmUgT01BUDFfRE1BX0NTUihuKQkJKDB4NDAgKiAobikgKyAweDA2KQorI2RlZmluZSBPTUFQMV9ETUFfQ0VOKG4pCQkoMHg0MCAqIChuKSArIDB4MTApCisjZGVmaW5lIE9NQVAxX0RNQV9DRk4obikJCSgweDQwICogKG4pICsgMHgxMikKKyNkZWZpbmUgT01BUDFfRE1BX0NTRkkobikJCSgweDQwICogKG4pICsgMHgxNCkKKyNkZWZpbmUgT01BUDFfRE1BX0NTRUkobikJCSgweDQwICogKG4pICsgMHgxNikKKyNkZWZpbmUgT01BUDFfRE1BX0NQQyhuKQkJKDB4NDAgKiAobikgKyAweDE4KQkvKiAxNXh4IG9ubHkgKi8KKyNkZWZpbmUgT01BUDFfRE1BX0NTQUMobikJCSgweDQwICogKG4pICsgMHgxOCkKKyNkZWZpbmUgT01BUDFfRE1BX0NEQUMobikJCSgweDQwICogKG4pICsgMHgxYSkKKyNkZWZpbmUgT01BUDFfRE1BX0NERUkobikJCSgweDQwICogKG4pICsgMHgxYykKKyNkZWZpbmUgT01BUDFfRE1BX0NERkkobikJCSgweDQwICogKG4pICsgMHgxZSkKKyNkZWZpbmUgT01BUDFfRE1BX0NMTktfQ1RSTChuKQkJKDB4NDAgKiAobikgKyAweDI4KQogCiAvKiBDb21tb24gY2hhbm5lbCBzcGVjaWZpYyByZWdpc3RlcnMgZm9yIG9tYXAyICovCi0jZGVmaW5lIE9NQVBfRE1BX0NDUl9SRUcobikJCV9fUkVHMzIoT01BUF9ETUE0X0JBU0UgKyAweDYwICogKG4pICsgMHg4MCkKLSNkZWZpbmUgT01BUF9ETUFfQ0xOS19DVFJMX1JFRyhuKQlfX1JFRzMyKE9NQVBfRE1BNF9CQVNFICsgMHg2MCAqIChuKSArIDB4ODQpCi0jZGVmaW5lIE9NQVBfRE1BX0NJQ1JfUkVHKG4pCQlfX1JFRzMyKE9NQVBfRE1BNF9CQVNFICsgMHg2MCAqIChuKSArIDB4ODgpCi0jZGVmaW5lIE9NQVBfRE1BX0NTUl9SRUcobikJCV9fUkVHMzIoT01BUF9ETUE0X0JBU0UgKyAweDYwICogKG4pICsgMHg4YykKLSNkZWZpbmUgT01BUF9ETUFfQ1NEUF9SRUcobikJCV9fUkVHMzIoT01BUF9ETUE0X0JBU0UgKyAweDYwICogKG4pICsgMHg5MCkKLSNkZWZpbmUgT01BUF9ETUFfQ0VOX1JFRyhuKQkJX19SRUczMihPTUFQX0RNQTRfQkFTRSArIDB4NjAgKiAobikgKyAweDk0KQotI2RlZmluZSBPTUFQX0RNQV9DRk5fUkVHKG4pCQlfX1JFRzMyKE9NQVBfRE1BNF9CQVNFICsgMHg2MCAqIChuKSArIDB4OTgpCi0jZGVmaW5lIE9NQVBfRE1BX0NTRUlfUkVHKG4pCQlfX1JFRzMyKE9NQVBfRE1BNF9CQVNFICsgMHg2MCAqIChuKSArIDB4YTQpCi0jZGVmaW5lIE9NQVBfRE1BX0NTRklfUkVHKG4pCQlfX1JFRzMyKE9NQVBfRE1BNF9CQVNFICsgMHg2MCAqIChuKSArIDB4YTgpCi0jZGVmaW5lIE9NQVBfRE1BX0NERUlfUkVHKG4pCQlfX1JFRzMyKE9NQVBfRE1BNF9CQVNFICsgMHg2MCAqIChuKSArIDB4YWMpCi0jZGVmaW5lIE9NQVBfRE1BX0NERklfUkVHKG4pCQlfX1JFRzMyKE9NQVBfRE1BNF9CQVNFICsgMHg2MCAqIChuKSArIDB4YjApCi0jZGVmaW5lIE9NQVBfRE1BX0NTQUNfUkVHKG4pCQlfX1JFRzMyKE9NQVBfRE1BNF9CQVNFICsgMHg2MCAqIChuKSArIDB4YjQpCi0jZGVmaW5lIE9NQVBfRE1BX0NEQUNfUkVHKG4pCQlfX1JFRzMyKE9NQVBfRE1BNF9CQVNFICsgMHg2MCAqIChuKSArIDB4YjgpCi0KLSNlbmRpZgorI2RlZmluZSBPTUFQX0RNQTRfQ0hfQkFTRShuKQkJKDB4NjAgKiAobikgKyAweDgwKQorI2RlZmluZSBPTUFQX0RNQTRfQ0NSKG4pCQkoMHg2MCAqIChuKSArIDB4ODApCisjZGVmaW5lIE9NQVBfRE1BNF9DTE5LX0NUUkwobikJCSgweDYwICogKG4pICsgMHg4NCkKKyNkZWZpbmUgT01BUF9ETUE0X0NJQ1IobikJCSgweDYwICogKG4pICsgMHg4OCkKKyNkZWZpbmUgT01BUF9ETUE0X0NTUihuKQkJKDB4NjAgKiAobikgKyAweDhjKQorI2RlZmluZSBPTUFQX0RNQTRfQ1NEUChuKQkJKDB4NjAgKiAobikgKyAweDkwKQorI2RlZmluZSBPTUFQX0RNQTRfQ0VOKG4pCQkoMHg2MCAqIChuKSArIDB4OTQpCisjZGVmaW5lIE9NQVBfRE1BNF9DRk4obikJCSgweDYwICogKG4pICsgMHg5OCkKKyNkZWZpbmUgT01BUF9ETUE0X0NTRUkobikJCSgweDYwICogKG4pICsgMHhhNCkKKyNkZWZpbmUgT01BUF9ETUE0X0NTRkkobikJCSgweDYwICogKG4pICsgMHhhOCkKKyNkZWZpbmUgT01BUF9ETUE0X0NERUkobikJCSgweDYwICogKG4pICsgMHhhYykKKyNkZWZpbmUgT01BUF9ETUE0X0NERkkobikJCSgweDYwICogKG4pICsgMHhiMCkKKyNkZWZpbmUgT01BUF9ETUE0X0NTQUMobikJCSgweDYwICogKG4pICsgMHhiNCkKKyNkZWZpbmUgT01BUF9ETUE0X0NEQUMobikJCSgweDYwICogKG4pICsgMHhiOCkKIAogLyogQ2hhbm5lbCBzcGVjaWZpYyByZWdpc3RlcnMgb25seSBvbiBvbWFwMSAqLwotI2RlZmluZSBPTUFQMV9ETUFfQ1NTQV9MX1JFRyhuKQkJX19SRUcxNihPTUFQX0RNQV9CQVNFICsgMHg0MCAqIChuKSArIDB4MDgpCi0jZGVmaW5lIE9NQVAxX0RNQV9DU1NBX1VfUkVHKG4pCQlfX1JFRzE2KE9NQVBfRE1BX0JBU0UgKyAweDQwICogKG4pICsgMHgwYSkKLSNkZWZpbmUgT01BUDFfRE1BX0NEU0FfTF9SRUcobikJCV9fUkVHMTYoT01BUF9ETUFfQkFTRSArIDB4NDAgKiAobikgKyAweDBjKQotI2RlZmluZSBPTUFQMV9ETUFfQ0RTQV9VX1JFRyhuKQkJX19SRUcxNihPTUFQX0RNQV9CQVNFICsgMHg0MCAqIChuKSArIDB4MGUpCi0jZGVmaW5lIE9NQVAxX0RNQV9DT0xPUl9MX1JFRyhuKQlfX1JFRzE2KE9NQVBfRE1BX0JBU0UgKyAweDQwICogKG4pICsgMHgyMCkKLSNkZWZpbmUgT01BUDFfRE1BX0NDUjJfUkVHKG4pCQlfX1JFRzE2KE9NQVBfRE1BX0JBU0UgKyAweDQwICogKG4pICsgMHgyNCkKLSNkZWZpbmUgT01BUDFfRE1BX0NPTE9SX1VfUkVHKG4pCV9fUkVHMTYoT01BUF9ETUFfQkFTRSArIDB4NDAgKiAobikgKyAweDIyKQotI2RlZmluZSBPTUFQMV9ETUFfTENIX0NUUkxfUkVHKG4pCV9fUkVHMTYoT01BUF9ETUFfQkFTRSArIDB4NDAgKiAobikgKyAweDJhKQorI2RlZmluZSBPTUFQMV9ETUFfQ1NTQV9MKG4pCQkoMHg0MCAqIChuKSArIDB4MDgpCisjZGVmaW5lIE9NQVAxX0RNQV9DU1NBX1UobikJCSgweDQwICogKG4pICsgMHgwYSkKKyNkZWZpbmUgT01BUDFfRE1BX0NEU0FfTChuKQkJKDB4NDAgKiAobikgKyAweDBjKQorI2RlZmluZSBPTUFQMV9ETUFfQ0RTQV9VKG4pCQkoMHg0MCAqIChuKSArIDB4MGUpCisjZGVmaW5lIE9NQVAxX0RNQV9DT0xPUl9MKG4pCQkoMHg0MCAqIChuKSArIDB4MjApCisjZGVmaW5lIE9NQVAxX0RNQV9DT0xPUl9VKG4pCQkoMHg0MCAqIChuKSArIDB4MjIpCisjZGVmaW5lIE9NQVAxX0RNQV9DQ1IyKG4pCQkoMHg0MCAqIChuKSArIDB4MjQpCisjZGVmaW5lIE9NQVAxX0RNQV9MQ0hfQ1RSTChuKQkJKDB4NDAgKiAobikgKyAweDJhKQkvKiBub3Qgb24gMTV4eCAqLworI2RlZmluZSBPTUFQMV9ETUFfQ0NFTihuKQkJMAorI2RlZmluZSBPTUFQMV9ETUFfQ0NGTihuKQkJMAogCiAvKiBDaGFubmVsIHNwZWNpZmljIHJlZ2lzdGVycyBvbmx5IG9uIG9tYXAyICovCi0jZGVmaW5lIE9NQVAyX0RNQV9DU1NBX1JFRyhuKQkJX19SRUczMihPTUFQX0RNQTRfQkFTRSArIDB4NjAgKiAobikgKyAweDljKQotI2RlZmluZSBPTUFQMl9ETUFfQ0RTQV9SRUcobikJCV9fUkVHMzIoT01BUF9ETUE0X0JBU0UgKyAweDYwICogKG4pICsgMHhhMCkKLSNkZWZpbmUgT01BUDJfRE1BX0NDRU5fUkVHKG4pCQlfX1JFRzMyKE9NQVBfRE1BNF9CQVNFICsgMHg2MCAqIChuKSArIDB4YmMpCi0jZGVmaW5lIE9NQVAyX0RNQV9DQ0ZOX1JFRyhuKQkJX19SRUczMihPTUFQX0RNQTRfQkFTRSArIDB4NjAgKiAobikgKyAweGMwKQotI2RlZmluZSBPTUFQMl9ETUFfQ09MT1JfUkVHKG4pCQlfX1JFRzMyKE9NQVBfRE1BNF9CQVNFICsgMHg2MCAqIChuKSArIDB4YzQpCisjZGVmaW5lIE9NQVBfRE1BNF9DU1NBKG4pCQkoMHg2MCAqIChuKSArIDB4OWMpCisjZGVmaW5lIE9NQVBfRE1BNF9DRFNBKG4pCQkoMHg2MCAqIChuKSArIDB4YTApCisjZGVmaW5lIE9NQVBfRE1BNF9DQ0VOKG4pCQkoMHg2MCAqIChuKSArIDB4YmMpCisjZGVmaW5lIE9NQVBfRE1BNF9DQ0ZOKG4pCQkoMHg2MCAqIChuKSArIDB4YzApCisjZGVmaW5lIE9NQVBfRE1BNF9DT0xPUihuKQkJKDB4NjAgKiAobikgKyAweGM0KQorCisvKiBEdW1teSBkZWZpbmVzIHRvIGtlZXAgbXVsdGktb21hcCBjb21waWxlcyBoYXBweSAqLworI2RlZmluZSBPTUFQMV9ETUFfUkVWSVNJT04JCTAKKyNkZWZpbmUgT01BUDFfRE1BX0lSUVNUQVRVU19MMAkJMAorI2RlZmluZSBPTUFQMV9ETUFfSVJRRU5BQkxFX0wwCQkwCisjZGVmaW5lIE9NQVAxX0RNQV9PQ1BfU1lTQ09ORklHCQkwCisjZGVmaW5lIE9NQVBfRE1BNF9IV19JRAkJCTAKKyNkZWZpbmUgT01BUF9ETUE0X0NBUFNfMF9MCQkwCisjZGVmaW5lIE9NQVBfRE1BNF9DQVBTXzBfVQkJMAorI2RlZmluZSBPTUFQX0RNQTRfQ0FQU18xX0wJCTAKKyNkZWZpbmUgT01BUF9ETUE0X0NBUFNfMV9VCQkwCisjZGVmaW5lIE9NQVBfRE1BNF9HU0NSCQkJMAorI2RlZmluZSBPTUFQX0RNQTRfQ1BDKG4pCQkwCisKKyNkZWZpbmUgT01BUF9ETUE0X0xDSF9DVFJMKG4pCQkwCisjZGVmaW5lIE9NQVBfRE1BNF9DT0xPUl9MKG4pCQkwCisjZGVmaW5lIE9NQVBfRE1BNF9DT0xPUl9VKG4pCQkwCisjZGVmaW5lIE9NQVBfRE1BNF9DQ1IyKG4pCQkwCisjZGVmaW5lIE9NQVAxX0RNQV9DU1NBKG4pCQkwCisjZGVmaW5lIE9NQVAxX0RNQV9DRFNBKG4pCQkwCisjZGVmaW5lIE9NQVBfRE1BNF9DU1NBX0wobikJCTAKKyNkZWZpbmUgT01BUF9ETUE0X0NTU0FfVShuKQkJMAorI2RlZmluZSBPTUFQX0RNQTRfQ0RTQV9MKG4pCQkwCisjZGVmaW5lIE9NQVBfRE1BNF9DRFNBX1UobikJCTAKIAogLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KIApAQCAtMTk2LDYzICsyMTYsOTggQEAKICNkZWZpbmUgT01BUDI0WFhfRE1BX0dQTUMJCTQJLyogU19ETUFfMyAqLwogI2RlZmluZSBPTUFQMjRYWF9ETUFfR0ZYCQk1CS8qIFNfRE1BXzQgKi8KICNkZWZpbmUgT01BUDI0WFhfRE1BX0RTUwkJNgkvKiBTX0RNQV81ICovCi0jZGVmaW5lIE9NQVAyNFhYX0RNQV9WTFlOUV9UWAkJNwkvKiBTX0RNQV82ICovCisjZGVmaW5lIE9NQVAyNDJYX0RNQV9WTFlOUV9UWAkJNwkvKiBTX0RNQV82ICovCisjZGVmaW5lIE9NQVAyNFhYX0RNQV9FWFRfRE1BUkVRMgk3CS8qIFNfRE1BXzYgKi8KICNkZWZpbmUgT01BUDI0WFhfRE1BX0NXVAkJOAkvKiBTX0RNQV83ICovCiAjZGVmaW5lIE9NQVAyNFhYX0RNQV9BRVNfVFgJCTkJLyogU19ETUFfOCAqLwogI2RlZmluZSBPTUFQMjRYWF9ETUFfQUVTX1JYCQkxMAkvKiBTX0RNQV85ICovCiAjZGVmaW5lIE9NQVAyNFhYX0RNQV9ERVNfVFgJCTExCS8qIFNfRE1BXzEwICovCiAjZGVmaW5lIE9NQVAyNFhYX0RNQV9ERVNfUlgJCTEyCS8qIFNfRE1BXzExICovCiAjZGVmaW5lIE9NQVAyNFhYX0RNQV9TSEExTUQ1X1JYCQkxMwkvKiBTX0RNQV8xMiAqLwotI2RlZmluZSBPTUFQMjRYWF9ETUFfRVhUX0RNQVJFUTIJMTQJLyogU19ETUFfMTMgKi8KLSNkZWZpbmUgT01BUDI0WFhfRE1BX0VYVF9ETUFSRVEzCTE1CS8qIFNfRE1BXzE0ICovCi0jZGVmaW5lIE9NQVAyNFhYX0RNQV9FWFRfRE1BUkVRNAkxNgkvKiBTX0RNQV8xNSAqLwotI2RlZmluZSBPTUFQMjRYWF9ETUFfRUFDX0FDX1JECQkxNwkvKiBTX0RNQV8xNiAqLwotI2RlZmluZSBPTUFQMjRYWF9ETUFfRUFDX0FDX1dSCQkxOAkvKiBTX0RNQV8xNyAqLwotI2RlZmluZSBPTUFQMjRYWF9ETUFfRUFDX01EX1VMX1JECTE5CS8qIFNfRE1BXzE4ICovCi0jZGVmaW5lIE9NQVAyNFhYX0RNQV9FQUNfTURfVUxfV1IJMjAJLyogU19ETUFfMTkgKi8KLSNkZWZpbmUgT01BUDI0WFhfRE1BX0VBQ19NRF9ETF9SRAkyMQkvKiBTX0RNQV8yMCAqLwotI2RlZmluZSBPTUFQMjRYWF9ETUFfRUFDX01EX0RMX1dSCTIyCS8qIFNfRE1BXzIxICovCi0jZGVmaW5lIE9NQVAyNFhYX0RNQV9FQUNfQlRfVUxfUkQJMjMJLyogU19ETUFfMjIgKi8KLSNkZWZpbmUgT01BUDI0WFhfRE1BX0VBQ19CVF9VTF9XUgkyNAkvKiBTX0RNQV8yMyAqLwotI2RlZmluZSBPTUFQMjRYWF9ETUFfRUFDX0JUX0RMX1JECTI1CS8qIFNfRE1BXzI0ICovCi0jZGVmaW5lIE9NQVAyNFhYX0RNQV9FQUNfQlRfRExfV1IJMjYJLyogU19ETUFfMjUgKi8KKyNkZWZpbmUgT01BUDM0WFhfRE1BX1NIQTJNRDVfUlgJCTEzCS8qIFNfRE1BXzEyICovCisjZGVmaW5lIE9NQVAyNDJYX0RNQV9FWFRfRE1BUkVRMgkxNAkvKiBTX0RNQV8xMyAqLworI2RlZmluZSBPTUFQMjQyWF9ETUFfRVhUX0RNQVJFUTMJMTUJLyogU19ETUFfMTQgKi8KKyNkZWZpbmUgT01BUDI0MlhfRE1BX0VYVF9ETUFSRVE0CTE2CS8qIFNfRE1BXzE1ICovCisjZGVmaW5lIE9NQVAyNDJYX0RNQV9FQUNfQUNfUkQJCTE3CS8qIFNfRE1BXzE2ICovCisjZGVmaW5lIE9NQVAyNDJYX0RNQV9FQUNfQUNfV1IJCTE4CS8qIFNfRE1BXzE3ICovCisjZGVmaW5lIE9NQVAyNDJYX0RNQV9FQUNfTURfVUxfUkQJMTkJLyogU19ETUFfMTggKi8KKyNkZWZpbmUgT01BUDI0MlhfRE1BX0VBQ19NRF9VTF9XUgkyMAkvKiBTX0RNQV8xOSAqLworI2RlZmluZSBPTUFQMjQyWF9ETUFfRUFDX01EX0RMX1JECTIxCS8qIFNfRE1BXzIwICovCisjZGVmaW5lIE9NQVAyNDJYX0RNQV9FQUNfTURfRExfV1IJMjIJLyogU19ETUFfMjEgKi8KKyNkZWZpbmUgT01BUDI0MlhfRE1BX0VBQ19CVF9VTF9SRAkyMwkvKiBTX0RNQV8yMiAqLworI2RlZmluZSBPTUFQMjQyWF9ETUFfRUFDX0JUX1VMX1dSCTI0CS8qIFNfRE1BXzIzICovCisjZGVmaW5lIE9NQVAyNDJYX0RNQV9FQUNfQlRfRExfUkQJMjUJLyogU19ETUFfMjQgKi8KKyNkZWZpbmUgT01BUDI0MlhfRE1BX0VBQ19CVF9ETF9XUgkyNgkvKiBTX0RNQV8yNSAqLworI2RlZmluZSBPTUFQMjQzWF9ETUFfRVhUX0RNQVJFUTMJMTQJLyogU19ETUFfMTMgKi8KKyNkZWZpbmUgT01BUDI0WFhfRE1BX1NQSTNfVFgwCQkxNQkvKiBTX0RNQV8xNCAqLworI2RlZmluZSBPTUFQMjRYWF9ETUFfU1BJM19SWDAJCTE2CS8qIFNfRE1BXzE1ICovCisjZGVmaW5lIE9NQVAyNFhYX0RNQV9NQ0JTUDNfVFgJCTE3CS8qIFNfRE1BXzE2ICovCisjZGVmaW5lIE9NQVAyNFhYX0RNQV9NQ0JTUDNfUlgJCTE4CS8qIFNfRE1BXzE3ICovCisjZGVmaW5lIE9NQVAyNFhYX0RNQV9NQ0JTUDRfVFgJCTE5CS8qIFNfRE1BXzE4ICovCisjZGVmaW5lIE9NQVAyNFhYX0RNQV9NQ0JTUDRfUlgJCTIwCS8qIFNfRE1BXzE5ICovCisjZGVmaW5lIE9NQVAyNFhYX0RNQV9NQ0JTUDVfVFgJCTIxCS8qIFNfRE1BXzIwICovCisjZGVmaW5lIE9NQVAyNFhYX0RNQV9NQ0JTUDVfUlgJCTIyCS8qIFNfRE1BXzIxICovCisjZGVmaW5lIE9NQVAyNFhYX0RNQV9TUEkzX1RYMQkJMjMJLyogU19ETUFfMjIgKi8KKyNkZWZpbmUgT01BUDI0WFhfRE1BX1NQSTNfUlgxCQkyNAkvKiBTX0RNQV8yMyAqLworI2RlZmluZSBPTUFQMjQzWF9ETUFfRVhUX0RNQVJFUTQJMjUJLyogU19ETUFfMjQgKi8KKyNkZWZpbmUgT01BUDI0M1hfRE1BX0VYVF9ETUFSRVE1CTI2CS8qIFNfRE1BXzI1ICovCisjZGVmaW5lIE9NQVAzNFhYX0RNQV9JMkMzX1RYCQkyNQkvKiBTX0RNQV8yNCAqLworI2RlZmluZSBPTUFQMzRYWF9ETUFfSTJDM19SWAkJMjYJLyogU19ETUFfMjUgKi8KICNkZWZpbmUgT01BUDI0WFhfRE1BX0kyQzFfVFgJCTI3CS8qIFNfRE1BXzI2ICovCiAjZGVmaW5lIE9NQVAyNFhYX0RNQV9JMkMxX1JYCQkyOAkvKiBTX0RNQV8yNyAqLwogI2RlZmluZSBPTUFQMjRYWF9ETUFfSTJDMl9UWAkJMjkJLyogU19ETUFfMjggKi8KICNkZWZpbmUgT01BUDI0WFhfRE1BX0kyQzJfUlgJCTMwCS8qIFNfRE1BXzI5ICovCi0jZGVmaW5lIE9NQVAyNFhYX0RNQV9NQ0JTUDFfVFgJCTMxCS8qIFNETUFfMzAgKi8KLSNkZWZpbmUgT01BUDI0WFhfRE1BX01DQlNQMV9SWAkJMzIJLyogU0RNQV8zMSAqLwotI2RlZmluZSBPTUFQMjRYWF9ETUFfTUNCU1AyX1RYCQkzMwkvKiBTRE1BXzMyICovCi0jZGVmaW5lIE9NQVAyNFhYX0RNQV9NQ0JTUDJfUlgJCTM0CS8qIFNETUFfMzMgKi8KLSNkZWZpbmUgT01BUDI0WFhfRE1BX1NQSTFfVFgwCQkzNQkvKiBTRE1BXzM0ICovCi0jZGVmaW5lIE9NQVAyNFhYX0RNQV9TUEkxX1JYMAkJMzYJLyogU0RNQV8zNSAqLwotI2RlZmluZSBPTUFQMjRYWF9ETUFfU1BJMV9UWDEJCTM3CS8qIFNETUFfMzYgKi8KLSNkZWZpbmUgT01BUDI0WFhfRE1BX1NQSTFfUlgxCQkzOAkvKiBTRE1BXzM3ICovCi0jZGVmaW5lIE9NQVAyNFhYX0RNQV9TUEkxX1RYMgkJMzkJLyogU0RNQV8zOCAqLwotI2RlZmluZSBPTUFQMjRYWF9ETUFfU1BJMV9SWDIJCTQwCS8qIFNETUFfMzkgKi8KLSNkZWZpbmUgT01BUDI0WFhfRE1BX1NQSTFfVFgzCQk0MQkvKiBTRE1BXzQwICovCi0jZGVmaW5lIE9NQVAyNFhYX0RNQV9TUEkxX1JYMwkJNDIJLyogU0RNQV80MSAqLwotI2RlZmluZSBPTUFQMjRYWF9ETUFfU1BJMl9UWDAJCTQzCS8qIFNETUFfNDIgKi8KLSNkZWZpbmUgT01BUDI0WFhfRE1BX1NQSTJfUlgwCQk0NAkvKiBTRE1BXzQzICovCi0jZGVmaW5lIE9NQVAyNFhYX0RNQV9TUEkyX1RYMQkJNDUJLyogU0RNQV80NCAqLwotI2RlZmluZSBPTUFQMjRYWF9ETUFfU1BJMl9SWDEJCTQ2CS8qIFNETUFfNDUgKi8KLQotI2RlZmluZSBPTUFQMjRYWF9ETUFfVUFSVDFfVFgJCTQ5CS8qIFNETUFfNDggKi8KLSNkZWZpbmUgT01BUDI0WFhfRE1BX1VBUlQxX1JYCQk1MAkvKiBTRE1BXzQ5ICovCi0jZGVmaW5lIE9NQVAyNFhYX0RNQV9VQVJUMl9UWAkJNTEJLyogU0RNQV81MCAqLwotI2RlZmluZSBPTUFQMjRYWF9ETUFfVUFSVDJfUlgJCTUyCS8qIFNETUFfNTEgKi8KLSNkZWZpbmUgT01BUDI0WFhfRE1BX1VBUlQzX1RYCQk1MwkvKiBTRE1BXzUyICovCi0jZGVmaW5lIE9NQVAyNFhYX0RNQV9VQVJUM19SWAkJNTQJLyogU0RNQV81MyAqLwotI2RlZmluZSBPTUFQMjRYWF9ETUFfVVNCX1cyRkNfVFgwCTU1CS8qIFNETUFfNTQgKi8KLSNkZWZpbmUgT01BUDI0WFhfRE1BX1VTQl9XMkZDX1JYMAk1NgkvKiBTRE1BXzU1ICovCi0jZGVmaW5lIE9NQVAyNFhYX0RNQV9VU0JfVzJGQ19UWDEJNTcJLyogU0RNQV81NiAqLwotI2RlZmluZSBPTUFQMjRYWF9ETUFfVVNCX1cyRkNfUlgxCTU4CS8qIFNETUFfNTcgKi8KLSNkZWZpbmUgT01BUDI0WFhfRE1BX1VTQl9XMkZDX1RYMgk1OQkvKiBTRE1BXzU4ICovCi0jZGVmaW5lIE9NQVAyNFhYX0RNQV9VU0JfVzJGQ19SWDIJNjAJLyogU0RNQV81OSAqLwotI2RlZmluZSBPTUFQMjRYWF9ETUFfTU1DMV9UWAkJNjEJLyogU0RNQV82MCAqLwotI2RlZmluZSBPTUFQMjRYWF9ETUFfTU1DMV9SWAkJNjIJLyogU0RNQV82MSAqLwotI2RlZmluZSBPTUFQMjRYWF9ETUFfTVMJCQk2MwkvKiBTRE1BXzYyICovCi0jZGVmaW5lIE9NQVAyNFhYX0RNQV9FWFRfRE1BUkVRNQk2NAkvKiBTX0RNQV82MyAqLworI2RlZmluZSBPTUFQMjRYWF9ETUFfTUNCU1AxX1RYCQkzMQkvKiBTX0RNQV8zMCAqLworI2RlZmluZSBPTUFQMjRYWF9ETUFfTUNCU1AxX1JYCQkzMgkvKiBTX0RNQV8zMSAqLworI2RlZmluZSBPTUFQMjRYWF9ETUFfTUNCU1AyX1RYCQkzMwkvKiBTX0RNQV8zMiAqLworI2RlZmluZSBPTUFQMjRYWF9ETUFfTUNCU1AyX1JYCQkzNAkvKiBTX0RNQV8zMyAqLworI2RlZmluZSBPTUFQMjRYWF9ETUFfU1BJMV9UWDAJCTM1CS8qIFNfRE1BXzM0ICovCisjZGVmaW5lIE9NQVAyNFhYX0RNQV9TUEkxX1JYMAkJMzYJLyogU19ETUFfMzUgKi8KKyNkZWZpbmUgT01BUDI0WFhfRE1BX1NQSTFfVFgxCQkzNwkvKiBTX0RNQV8zNiAqLworI2RlZmluZSBPTUFQMjRYWF9ETUFfU1BJMV9SWDEJCTM4CS8qIFNfRE1BXzM3ICovCisjZGVmaW5lIE9NQVAyNFhYX0RNQV9TUEkxX1RYMgkJMzkJLyogU19ETUFfMzggKi8KKyNkZWZpbmUgT01BUDI0WFhfRE1BX1NQSTFfUlgyCQk0MAkvKiBTX0RNQV8zOSAqLworI2RlZmluZSBPTUFQMjRYWF9ETUFfU1BJMV9UWDMJCTQxCS8qIFNfRE1BXzQwICovCisjZGVmaW5lIE9NQVAyNFhYX0RNQV9TUEkxX1JYMwkJNDIJLyogU19ETUFfNDEgKi8KKyNkZWZpbmUgT01BUDI0WFhfRE1BX1NQSTJfVFgwCQk0MwkvKiBTX0RNQV80MiAqLworI2RlZmluZSBPTUFQMjRYWF9ETUFfU1BJMl9SWDAJCTQ0CS8qIFNfRE1BXzQzICovCisjZGVmaW5lIE9NQVAyNFhYX0RNQV9TUEkyX1RYMQkJNDUJLyogU19ETUFfNDQgKi8KKyNkZWZpbmUgT01BUDI0WFhfRE1BX1NQSTJfUlgxCQk0NgkvKiBTX0RNQV80NSAqLworI2RlZmluZSBPTUFQMjRYWF9ETUFfTU1DMl9UWAkJNDcJLyogU19ETUFfNDYgKi8KKyNkZWZpbmUgT01BUDI0WFhfRE1BX01NQzJfUlgJCTQ4CS8qIFNfRE1BXzQ3ICovCisjZGVmaW5lIE9NQVAyNFhYX0RNQV9VQVJUMV9UWAkJNDkJLyogU19ETUFfNDggKi8KKyNkZWZpbmUgT01BUDI0WFhfRE1BX1VBUlQxX1JYCQk1MAkvKiBTX0RNQV80OSAqLworI2RlZmluZSBPTUFQMjRYWF9ETUFfVUFSVDJfVFgJCTUxCS8qIFNfRE1BXzUwICovCisjZGVmaW5lIE9NQVAyNFhYX0RNQV9VQVJUMl9SWAkJNTIJLyogU19ETUFfNTEgKi8KKyNkZWZpbmUgT01BUDI0WFhfRE1BX1VBUlQzX1RYCQk1MwkvKiBTX0RNQV81MiAqLworI2RlZmluZSBPTUFQMjRYWF9ETUFfVUFSVDNfUlgJCTU0CS8qIFNfRE1BXzUzICovCisjZGVmaW5lIE9NQVAyNFhYX0RNQV9VU0JfVzJGQ19UWDAJNTUJLyogU19ETUFfNTQgKi8KKyNkZWZpbmUgT01BUDI0WFhfRE1BX1VTQl9XMkZDX1JYMAk1NgkvKiBTX0RNQV81NSAqLworI2RlZmluZSBPTUFQMjRYWF9ETUFfVVNCX1cyRkNfVFgxCTU3CS8qIFNfRE1BXzU2ICovCisjZGVmaW5lIE9NQVAyNFhYX0RNQV9VU0JfVzJGQ19SWDEJNTgJLyogU19ETUFfNTcgKi8KKyNkZWZpbmUgT01BUDI0WFhfRE1BX1VTQl9XMkZDX1RYMgk1OQkvKiBTX0RNQV81OCAqLworI2RlZmluZSBPTUFQMjRYWF9ETUFfVVNCX1cyRkNfUlgyCTYwCS8qIFNfRE1BXzU5ICovCisjZGVmaW5lIE9NQVAyNFhYX0RNQV9NTUMxX1RYCQk2MQkvKiBTX0RNQV82MCAqLworI2RlZmluZSBPTUFQMjRYWF9ETUFfTU1DMV9SWAkJNjIJLyogU19ETUFfNjEgKi8KKyNkZWZpbmUgT01BUDI0WFhfRE1BX01TCQkJNjMJLyogU19ETUFfNjIgKi8KKyNkZWZpbmUgT01BUDI0MlhfRE1BX0VYVF9ETUFSRVE1CTY0CS8qIFNfRE1BXzYzICovCisjZGVmaW5lIE9NQVAyNDNYX0RNQV9FWFRfRE1BUkVRNgk2NAkvKiBTX0RNQV82MyAqLworI2RlZmluZSBPTUFQMzRYWF9ETUFfRVhUX0RNQVJFUTMJNjQJLyogU19ETUFfNjMgKi8KKyNkZWZpbmUgT01BUDM0WFhfRE1BX0FFUzJfVFgJCTY1CS8qIFNfRE1BXzY0ICovCisjZGVmaW5lIE9NQVAzNFhYX0RNQV9BRVMyX1JYCQk2NgkvKiBTX0RNQV82NSAqLworI2RlZmluZSBPTUFQMzRYWF9ETUFfREVTMl9UWAkJNjcJLyogU19ETUFfNjYgKi8KKyNkZWZpbmUgT01BUDM0WFhfRE1BX0RFUzJfUlgJCTY4CS8qIFNfRE1BXzY3ICovCisjZGVmaW5lIE9NQVAzNFhYX0RNQV9TSEExTUQ1X1JYCQk2OQkvKiBTX0RNQV82OCAqLworI2RlZmluZSBPTUFQMzRYWF9ETUFfU1BJNF9UWDAJCTcwCS8qIFNfRE1BXzY5ICovCisjZGVmaW5lIE9NQVAzNFhYX0RNQV9TUEk0X1JYMAkJNzEJLyogU19ETUFfNzAgKi8KKyNkZWZpbmUgT01BUDM0WFhfRFNTX0RNQTAJCTcyCS8qIFNfRE1BXzcxICovCisjZGVmaW5lIE9NQVAzNFhYX0RTU19ETUExCQk3MwkvKiBTX0RNQV83MiAqLworI2RlZmluZSBPTUFQMzRYWF9EU1NfRE1BMgkJNzQJLyogU19ETUFfNzMgKi8KKyNkZWZpbmUgT01BUDM0WFhfRFNTX0RNQTMJCTc1CS8qIFNfRE1BXzc0ICovCisjZGVmaW5lIE9NQVAzNFhYX0RNQV9NTUMzX1RYCQk3NwkvKiBTX0RNQV83NiAqLworI2RlZmluZSBPTUFQMzRYWF9ETUFfTU1DM19SWAkJNzgJLyogU19ETUFfNzcgKi8KKyNkZWZpbmUgT01BUDM0WFhfRE1BX1VTSU1fVFgJCTc5CS8qIFNfRE1BXzc4ICovCisjZGVmaW5lIE9NQVAzNFhYX0RNQV9VU0lNX1JYCQk4MAkvKiBTX0RNQV83OSAqLwogCiAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogCkBAIC0zNTgsNiArNDEzLDExIEBACiAJT01BUF9ETUFfREFUQV9CVVJTVF8xNiwKIH07CiAKK2VudW0gZW5kX3R5cGUgeworCU9NQVBfRE1BX0xJVFRMRV9FTkRJQU4gPSAwLAorCU9NQVBfRE1BX0JJR19FTkRJQU4KK307CisKIGVudW0gb21hcF9kbWFfY29sb3JfbW9kZSB7CiAJT01BUF9ETUFfQ09MT1JfRElTID0gMCwKIAlPTUFQX0RNQV9DT05TVEFOVF9GSUxMLApAQCAtMzcwLDI0ICs0MzAsMzQgQEAKIAlPTUFQX0RNQV9XUklURV9MQVNUX05PTl9QT1NURUQKIH07CiAKK2VudW0gb21hcF9kbWFfY2hhbm5lbF9tb2RlIHsKKwlPTUFQX0RNQV9MQ0hfMkQgPSAwLAorCU9NQVBfRE1BX0xDSF9HLAorCU9NQVBfRE1BX0xDSF9QLAorCU9NQVBfRE1BX0xDSF9QRAorfTsKKwogc3RydWN0IG9tYXBfZG1hX2NoYW5uZWxfcGFyYW1zIHsKIAlpbnQgZGF0YV90eXBlOwkJLyogZGF0YSB0eXBlIDgsMTYsMzIgKi8KIAlpbnQgZWxlbV9jb3VudDsJCS8qIG51bWJlciBvZiBlbGVtZW50cyBpbiBhIGZyYW1lICovCiAJaW50IGZyYW1lX2NvdW50OwkvKiBudW1iZXIgb2YgZnJhbWVzIGluIGEgZWxlbWVudCAqLwogCiAJaW50IHNyY19wb3J0OwkJLyogT25seSBvbiBPTUFQMSBSRVZJU0lUOiBJcyB0aGlzIG5lZWRlZD8gKi8KLQlpbnQgc3JjX2Ftb2RlOwkJLyogY29uc3RhbnQgLCBwb3N0IGluY3JlbWVudCwgaW5kZXhlZCAsIGRvdWJsZSBpbmRleGVkICovCisJaW50IHNyY19hbW9kZTsJCS8qIGNvbnN0YW50LCBwb3N0IGluY3JlbWVudCwgaW5kZXhlZCwKKwkJCQkJZG91YmxlIGluZGV4ZWQgKi8KIAl1bnNpZ25lZCBsb25nIHNyY19zdGFydDsJLyogc291cmNlIGFkZHJlc3MgOiBwaHlzaWNhbCAqLwogCWludCBzcmNfZWk7CQkvKiBzb3VyY2UgZWxlbWVudCBpbmRleCAqLwogCWludCBzcmNfZmk7CQkvKiBzb3VyY2UgZnJhbWUgaW5kZXggKi8KIAogCWludCBkc3RfcG9ydDsJCS8qIE9ubHkgb24gT01BUDEgUkVWSVNJVDogSXMgdGhpcyBuZWVkZWQ/ICovCi0JaW50IGRzdF9hbW9kZTsJCS8qIGNvbnN0YW50ICwgcG9zdCBpbmNyZW1lbnQsIGluZGV4ZWQgLCBkb3VibGUgaW5kZXhlZCAqLworCWludCBkc3RfYW1vZGU7CQkvKiBjb25zdGFudCwgcG9zdCBpbmNyZW1lbnQsIGluZGV4ZWQsCisJCQkJCWRvdWJsZSBpbmRleGVkICovCiAJdW5zaWduZWQgbG9uZyBkc3Rfc3RhcnQ7CS8qIHNvdXJjZSBhZGRyZXNzIDogcGh5c2ljYWwgKi8KIAlpbnQgZHN0X2VpOwkJLyogc291cmNlIGVsZW1lbnQgaW5kZXggKi8KIAlpbnQgZHN0X2ZpOwkJLyogc291cmNlIGZyYW1lIGluZGV4ICovCiAKLQlpbnQgdHJpZ2dlcjsJCS8qIHRyaWdnZXIgYXR0YWNoZWQgaWYgdGhlIGNoYW5uZWwgaXMgc3luY2hyb25pemVkICovCisJaW50IHRyaWdnZXI7CQkvKiB0cmlnZ2VyIGF0dGFjaGVkIGlmIHRoZSBjaGFubmVsIGlzCisJCQkJCXN5bmNocm9uaXplZCAqLwogCWludCBzeW5jX21vZGU7CQkvKiBzeWNuIG9uIGVsZW1lbnQsIGZyYW1lICwgYmxvY2sgb3IgcGFja2V0ICovCiAJaW50IHNyY19vcl9kc3Rfc3luY2g7CS8qIHNvdXJjZSBzeW5jaCgxKSBvciBkZXN0aW5hdGlvbiBzeW5jaCgwKSAqLwogCkBAIC00MDQsOCArNDc0LDggQEAKIAogZXh0ZXJuIHZvaWQgb21hcF9zZXRfZG1hX3ByaW9yaXR5KGludCBsY2gsIGludCBkc3RfcG9ydCwgaW50IHByaW9yaXR5KTsKIGV4dGVybiBpbnQgb21hcF9yZXF1ZXN0X2RtYShpbnQgZGV2X2lkLCBjb25zdCBjaGFyICpkZXZfbmFtZSwKLQkJCSAgICB2b2lkICgqIGNhbGxiYWNrKShpbnQgbGNoLCB1MTYgY2hfc3RhdHVzLCB2b2lkICpkYXRhKSwKLQkJCSAgICB2b2lkICpkYXRhLCBpbnQgKmRtYV9jaCk7CisJCQl2b2lkICgqY2FsbGJhY2spKGludCBsY2gsIHUxNiBjaF9zdGF0dXMsIHZvaWQgKmRhdGEpLAorCQkJdm9pZCAqZGF0YSwgaW50ICpkbWFfY2gpOwogZXh0ZXJuIHZvaWQgb21hcF9lbmFibGVfZG1hX2lycShpbnQgY2gsIHUxNiBpcnFfYml0cyk7CiBleHRlcm4gdm9pZCBvbWFwX2Rpc2FibGVfZG1hX2lycShpbnQgY2gsIHUxNiBpcnFfYml0cyk7CiBleHRlcm4gdm9pZCBvbWFwX2ZyZWVfZG1hKGludCBjaCk7CkBAIC00MTgsNiArNDg4LDcgQEAKIGV4dGVybiB2b2lkIG9tYXBfc2V0X2RtYV9jb2xvcl9tb2RlKGludCBsY2gsIGVudW0gb21hcF9kbWFfY29sb3JfbW9kZSBtb2RlLAogCQkJCSAgICB1MzIgY29sb3IpOwogZXh0ZXJuIHZvaWQgb21hcF9zZXRfZG1hX3dyaXRlX21vZGUoaW50IGxjaCwgZW51bSBvbWFwX2RtYV93cml0ZV9tb2RlIG1vZGUpOworZXh0ZXJuIHZvaWQgb21hcF9zZXRfZG1hX2NoYW5uZWxfbW9kZShpbnQgbGNoLCBlbnVtIG9tYXBfZG1hX2NoYW5uZWxfbW9kZSBtb2RlKTsKIAogZXh0ZXJuIHZvaWQgb21hcF9zZXRfZG1hX3NyY19wYXJhbXMoaW50IGxjaCwgaW50IHNyY19wb3J0LCBpbnQgc3JjX2Ftb2RlLAogCQkJCSAgICB1bnNpZ25lZCBsb25nIHNyY19zdGFydCwKQEAgLTQzNiwyMyArNTA3LDI2IEBACiAJCQkJCSBlbnVtIG9tYXBfZG1hX2J1cnN0X21vZGUgYnVyc3RfbW9kZSk7CiAKIGV4dGVybiB2b2lkIG9tYXBfc2V0X2RtYV9wYXJhbXMoaW50IGxjaCwKLQkJCQlzdHJ1Y3Qgb21hcF9kbWFfY2hhbm5lbF9wYXJhbXMgKiBwYXJhbXMpOworCQkJCXN0cnVjdCBvbWFwX2RtYV9jaGFubmVsX3BhcmFtcyAqcGFyYW1zKTsKIAotZXh0ZXJuIHZvaWQgb21hcF9kbWFfbGlua19sY2ggKGludCBsY2hfaGVhZCwgaW50IGxjaF9xdWV1ZSk7Ci1leHRlcm4gdm9pZCBvbWFwX2RtYV91bmxpbmtfbGNoIChpbnQgbGNoX2hlYWQsIGludCBsY2hfcXVldWUpOworZXh0ZXJuIHZvaWQgb21hcF9kbWFfbGlua19sY2goaW50IGxjaF9oZWFkLCBpbnQgbGNoX3F1ZXVlKTsKK2V4dGVybiB2b2lkIG9tYXBfZG1hX3VubGlua19sY2goaW50IGxjaF9oZWFkLCBpbnQgbGNoX3F1ZXVlKTsKIAogZXh0ZXJuIGludCBvbWFwX3NldF9kbWFfY2FsbGJhY2soaW50IGxjaCwKLQkJCXZvaWQgKCogY2FsbGJhY2spKGludCBsY2gsIHUxNiBjaF9zdGF0dXMsIHZvaWQgKmRhdGEpLAorCQkJdm9pZCAoKmNhbGxiYWNrKShpbnQgbGNoLCB1MTYgY2hfc3RhdHVzLCB2b2lkICpkYXRhKSwKIAkJCXZvaWQgKmRhdGEpOwogZXh0ZXJuIGRtYV9hZGRyX3Qgb21hcF9nZXRfZG1hX3NyY19wb3MoaW50IGxjaCk7CiBleHRlcm4gZG1hX2FkZHJfdCBvbWFwX2dldF9kbWFfZHN0X3BvcyhpbnQgbGNoKTsKLWV4dGVybiBpbnQgb21hcF9nZXRfZG1hX3NyY19hZGRyX2NvdW50ZXIoaW50IGxjaCk7CiBleHRlcm4gdm9pZCBvbWFwX2NsZWFyX2RtYShpbnQgbGNoKTsKK2V4dGVybiBpbnQgb21hcF9nZXRfZG1hX2FjdGl2ZV9zdGF0dXMoaW50IGxjaCk7CiBleHRlcm4gaW50IG9tYXBfZG1hX3J1bm5pbmcodm9pZCk7CiBleHRlcm4gdm9pZCBvbWFwX2RtYV9zZXRfZ2xvYmFsX3BhcmFtcyhpbnQgYXJiX3JhdGUsIGludCBtYXhfZmlmb19kZXB0aCwKIAkJCQkgICAgICAgaW50IHRwYXJhbXMpOwogZXh0ZXJuIGludCBvbWFwX2RtYV9zZXRfcHJpb19sY2goaW50IGxjaCwgdW5zaWduZWQgY2hhciByZWFkX3ByaW8sCiAJCQkJIHVuc2lnbmVkIGNoYXIgd3JpdGVfcHJpbyk7CitleHRlcm4gdm9pZCBvbWFwX3NldF9kbWFfZHN0X2VuZGlhbl90eXBlKGludCBsY2gsIGVudW0gZW5kX3R5cGUgZXR5cGUpOworZXh0ZXJuIHZvaWQgb21hcF9zZXRfZG1hX3NyY19lbmRpYW5fdHlwZShpbnQgbGNoLCBlbnVtIGVuZF90eXBlIGV0eXBlKTsKK2V4dGVybiBpbnQgb21hcF9nZXRfZG1hX2luZGV4KGludCBsY2gsIGludCAqZWksIGludCAqZmkpOwogCiAvKiBDaGFpbmluZyBBUElzICovCiAjaWZuZGVmIENPTkZJR19BUkNIX09NQVAxCkBAIC00NzgsNyArNTUyLDcgQEAKICNlbmRpZgogCiAvKiBMQ0QgRE1BIGZ1bmN0aW9ucyAqLwotZXh0ZXJuIGludCBvbWFwX3JlcXVlc3RfbGNkX2RtYSh2b2lkICgqIGNhbGxiYWNrKSh1MTYgc3RhdHVzLCB2b2lkICpkYXRhKSwKK2V4dGVybiBpbnQgb21hcF9yZXF1ZXN0X2xjZF9kbWEodm9pZCAoKmNhbGxiYWNrKSh1MTYgc3RhdHVzLCB2b2lkICpkYXRhKSwKIAkJCQl2b2lkICpkYXRhKTsKIGV4dGVybiB2b2lkIG9tYXBfZnJlZV9sY2RfZG1hKHZvaWQpOwogZXh0ZXJuIHZvaWQgb21hcF9zZXR1cF9sY2RfZG1hKHZvaWQpOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9kbXRpbWVyLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL2RtdGltZXIuaAppbmRleCBmZWZiMjc2Li4wMmIyOWU4IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL2RtdGltZXIuaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL2RtdGltZXIuaApAQCAtNjYsNiArNjYsNyBAQAogCiB2b2lkIG9tYXBfZG1fdGltZXJfc2V0X3NvdXJjZShzdHJ1Y3Qgb21hcF9kbV90aW1lciAqdGltZXIsIGludCBzb3VyY2UpOwogdm9pZCBvbWFwX2RtX3RpbWVyX3NldF9sb2FkKHN0cnVjdCBvbWFwX2RtX3RpbWVyICp0aW1lciwgaW50IGF1dG9yZWxvYWQsIHVuc2lnbmVkIGludCB2YWx1ZSk7Cit2b2lkIG9tYXBfZG1fdGltZXJfc2V0X2xvYWRfc3RhcnQoc3RydWN0IG9tYXBfZG1fdGltZXIgKnRpbWVyLCBpbnQgYXV0b3JlbG9hZCwgdW5zaWduZWQgaW50IHZhbHVlKTsKIHZvaWQgb21hcF9kbV90aW1lcl9zZXRfbWF0Y2goc3RydWN0IG9tYXBfZG1fdGltZXIgKnRpbWVyLCBpbnQgZW5hYmxlLCB1bnNpZ25lZCBpbnQgbWF0Y2gpOwogdm9pZCBvbWFwX2RtX3RpbWVyX3NldF9wd20oc3RydWN0IG9tYXBfZG1fdGltZXIgKnRpbWVyLCBpbnQgZGVmX29uLCBpbnQgdG9nZ2xlLCBpbnQgdHJpZ2dlcik7CiB2b2lkIG9tYXBfZG1fdGltZXJfc2V0X3ByZXNjYWxlcihzdHJ1Y3Qgb21hcF9kbV90aW1lciAqdGltZXIsIGludCBwcmVzY2FsZXIpOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9mcGdhLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL2ZwZ2EuaAppbmRleCA2YTg4M2UwLi5mNDIwODgxIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL2ZwZ2EuaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL2ZwZ2EuaApAQCAtMTY5LDMwICsxNjksMjkgQEAKICNkZWZpbmUgT01BUDE1MTBfSU5UX0ZQR0EJCShJSF9HUElPX0JBU0UgKyAxMykKIAogLyogSVJRIE51bWJlcnMgZm9yIGludGVycnVwdHMgbXV4ZWQgdGhyb3VnaCB0aGUgRlBHQSAqLwotI2RlZmluZSBPTUFQMTUxMF9JSF9GUEdBX0JBU0UJCUlIX0JPQVJEX0JBU0UKLSNkZWZpbmUgT01BUDE1MTBfSU5UX0ZQR0FfQVROCQkoT01BUDE1MTBfSUhfRlBHQV9CQVNFICsgMCkKLSNkZWZpbmUgT01BUDE1MTBfSU5UX0ZQR0FfQUNLCQkoT01BUDE1MTBfSUhfRlBHQV9CQVNFICsgMSkKLSNkZWZpbmUgT01BUDE1MTBfSU5UX0ZQR0EyCQkoT01BUDE1MTBfSUhfRlBHQV9CQVNFICsgMikKLSNkZWZpbmUgT01BUDE1MTBfSU5UX0ZQR0EzCQkoT01BUDE1MTBfSUhfRlBHQV9CQVNFICsgMykKLSNkZWZpbmUgT01BUDE1MTBfSU5UX0ZQR0E0CQkoT01BUDE1MTBfSUhfRlBHQV9CQVNFICsgNCkKLSNkZWZpbmUgT01BUDE1MTBfSU5UX0ZQR0E1CQkoT01BUDE1MTBfSUhfRlBHQV9CQVNFICsgNSkKLSNkZWZpbmUgT01BUDE1MTBfSU5UX0ZQR0E2CQkoT01BUDE1MTBfSUhfRlBHQV9CQVNFICsgNikKLSNkZWZpbmUgT01BUDE1MTBfSU5UX0ZQR0E3CQkoT01BUDE1MTBfSUhfRlBHQV9CQVNFICsgNykKLSNkZWZpbmUgT01BUDE1MTBfSU5UX0ZQR0E4CQkoT01BUDE1MTBfSUhfRlBHQV9CQVNFICsgOCkKLSNkZWZpbmUgT01BUDE1MTBfSU5UX0ZQR0E5CQkoT01BUDE1MTBfSUhfRlBHQV9CQVNFICsgOSkKLSNkZWZpbmUgT01BUDE1MTBfSU5UX0ZQR0ExMAkJKE9NQVAxNTEwX0lIX0ZQR0FfQkFTRSArIDEwKQotI2RlZmluZSBPTUFQMTUxMF9JTlRfRlBHQTExCQkoT01BUDE1MTBfSUhfRlBHQV9CQVNFICsgMTEpCi0jZGVmaW5lIE9NQVAxNTEwX0lOVF9GUEdBMTIJCShPTUFQMTUxMF9JSF9GUEdBX0JBU0UgKyAxMikKLSNkZWZpbmUgT01BUDE1MTBfSU5UX0VUSEVSCQkoT01BUDE1MTBfSUhfRlBHQV9CQVNFICsgMTMpCi0jZGVmaW5lIE9NQVAxNTEwX0lOVF9GUEdBVUFSVDEJCShPTUFQMTUxMF9JSF9GUEdBX0JBU0UgKyAxNCkKLSNkZWZpbmUgT01BUDE1MTBfSU5UX0ZQR0FVQVJUMgkJKE9NQVAxNTEwX0lIX0ZQR0FfQkFTRSArIDE1KQotI2RlZmluZSBPTUFQMTUxMF9JTlRfRlBHQV9UUwkJKE9NQVAxNTEwX0lIX0ZQR0FfQkFTRSArIDE2KQotI2RlZmluZSBPTUFQMTUxMF9JTlRfRlBHQTE3CQkoT01BUDE1MTBfSUhfRlBHQV9CQVNFICsgMTcpCi0jZGVmaW5lIE9NQVAxNTEwX0lOVF9GUEdBX0NBTQkJKE9NQVAxNTEwX0lIX0ZQR0FfQkFTRSArIDE4KQotI2RlZmluZSBPTUFQMTUxMF9JTlRfRlBHQV9SVENfQQkJKE9NQVAxNTEwX0lIX0ZQR0FfQkFTRSArIDE5KQotI2RlZmluZSBPTUFQMTUxMF9JTlRfRlBHQV9SVENfQgkJKE9NQVAxNTEwX0lIX0ZQR0FfQkFTRSArIDIwKQotI2RlZmluZSBPTUFQMTUxMF9JTlRfRlBHQV9DRAkJKE9NQVAxNTEwX0lIX0ZQR0FfQkFTRSArIDIxKQotI2RlZmluZSBPTUFQMTUxMF9JTlRfRlBHQTIyCQkoT01BUDE1MTBfSUhfRlBHQV9CQVNFICsgMjIpCi0jZGVmaW5lIE9NQVAxNTEwX0lOVF9GUEdBMjMJCShPTUFQMTUxMF9JSF9GUEdBX0JBU0UgKyAyMykKKyNkZWZpbmUgT01BUDE1MTBfSU5UX0ZQR0FfQVROCQkoT01BUF9GUEdBX0lSUV9CQVNFICsgMCkKKyNkZWZpbmUgT01BUDE1MTBfSU5UX0ZQR0FfQUNLCQkoT01BUF9GUEdBX0lSUV9CQVNFICsgMSkKKyNkZWZpbmUgT01BUDE1MTBfSU5UX0ZQR0EyCQkoT01BUF9GUEdBX0lSUV9CQVNFICsgMikKKyNkZWZpbmUgT01BUDE1MTBfSU5UX0ZQR0EzCQkoT01BUF9GUEdBX0lSUV9CQVNFICsgMykKKyNkZWZpbmUgT01BUDE1MTBfSU5UX0ZQR0E0CQkoT01BUF9GUEdBX0lSUV9CQVNFICsgNCkKKyNkZWZpbmUgT01BUDE1MTBfSU5UX0ZQR0E1CQkoT01BUF9GUEdBX0lSUV9CQVNFICsgNSkKKyNkZWZpbmUgT01BUDE1MTBfSU5UX0ZQR0E2CQkoT01BUF9GUEdBX0lSUV9CQVNFICsgNikKKyNkZWZpbmUgT01BUDE1MTBfSU5UX0ZQR0E3CQkoT01BUF9GUEdBX0lSUV9CQVNFICsgNykKKyNkZWZpbmUgT01BUDE1MTBfSU5UX0ZQR0E4CQkoT01BUF9GUEdBX0lSUV9CQVNFICsgOCkKKyNkZWZpbmUgT01BUDE1MTBfSU5UX0ZQR0E5CQkoT01BUF9GUEdBX0lSUV9CQVNFICsgOSkKKyNkZWZpbmUgT01BUDE1MTBfSU5UX0ZQR0ExMAkJKE9NQVBfRlBHQV9JUlFfQkFTRSArIDEwKQorI2RlZmluZSBPTUFQMTUxMF9JTlRfRlBHQTExCQkoT01BUF9GUEdBX0lSUV9CQVNFICsgMTEpCisjZGVmaW5lIE9NQVAxNTEwX0lOVF9GUEdBMTIJCShPTUFQX0ZQR0FfSVJRX0JBU0UgKyAxMikKKyNkZWZpbmUgT01BUDE1MTBfSU5UX0VUSEVSCQkoT01BUF9GUEdBX0lSUV9CQVNFICsgMTMpCisjZGVmaW5lIE9NQVAxNTEwX0lOVF9GUEdBVUFSVDEJCShPTUFQX0ZQR0FfSVJRX0JBU0UgKyAxNCkKKyNkZWZpbmUgT01BUDE1MTBfSU5UX0ZQR0FVQVJUMgkJKE9NQVBfRlBHQV9JUlFfQkFTRSArIDE1KQorI2RlZmluZSBPTUFQMTUxMF9JTlRfRlBHQV9UUwkJKE9NQVBfRlBHQV9JUlFfQkFTRSArIDE2KQorI2RlZmluZSBPTUFQMTUxMF9JTlRfRlBHQTE3CQkoT01BUF9GUEdBX0lSUV9CQVNFICsgMTcpCisjZGVmaW5lIE9NQVAxNTEwX0lOVF9GUEdBX0NBTQkJKE9NQVBfRlBHQV9JUlFfQkFTRSArIDE4KQorI2RlZmluZSBPTUFQMTUxMF9JTlRfRlBHQV9SVENfQQkJKE9NQVBfRlBHQV9JUlFfQkFTRSArIDE5KQorI2RlZmluZSBPTUFQMTUxMF9JTlRfRlBHQV9SVENfQgkJKE9NQVBfRlBHQV9JUlFfQkFTRSArIDIwKQorI2RlZmluZSBPTUFQMTUxMF9JTlRfRlBHQV9DRAkJKE9NQVBfRlBHQV9JUlFfQkFTRSArIDIxKQorI2RlZmluZSBPTUFQMTUxMF9JTlRfRlBHQTIyCQkoT01BUF9GUEdBX0lSUV9CQVNFICsgMjIpCisjZGVmaW5lIE9NQVAxNTEwX0lOVF9GUEdBMjMJCShPTUFQX0ZQR0FfSVJRX0JBU0UgKyAyMykKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL2hhcmR3YXJlLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL2hhcmR3YXJlLmgKaW5kZXggOTFkODViMy4uNDVmZGZjYyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9oYXJkd2FyZS5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvaGFyZHdhcmUuaApAQCAtMjg0LDYgKzI4NCw3IEBACiAjaW5jbHVkZSAib21hcDE1MTAuaCIKICNpbmNsdWRlICJvbWFwMjR4eC5oIgogI2luY2x1ZGUgIm9tYXAxNnh4LmgiCisjaW5jbHVkZSAib21hcDM0eHguaCIKIAogI2lmbmRlZiBfX0FTU0VNQkxFUl9fCiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvaW8uaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvaW8uaAppbmRleCAxNjA1NzhlLi4wYjEzNTU3IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL2lvLmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9pby5oCkBAIC02MCw2ICs2MCw3IEBACiAjZGVmaW5lIElPX1NJWkUJCTB4NDAwMDAKICNkZWZpbmUgSU9fVklSVAkJKElPX1BIWVMgLSBJT19PRkZTRVQpCiAjZGVmaW5lIElPX0FERFJFU1MocGEpCSgocGEpIC0gSU9fT0ZGU0VUKQorI2RlZmluZSBPTUFQMV9JT19BRERSRVNTKHBhKQkoKHBhKSAtIElPX09GRlNFVCkKICNkZWZpbmUgaW9fcDJ2KHBhKQkoKHBhKSAtIElPX09GRlNFVCkKICNkZWZpbmUgaW9fdjJwKHZhKQkoKHZhKSArIElPX09GRlNFVCkKIApAQCAtOTEsNiArOTIsNyBAQAogCiAjZGVmaW5lIElPX09GRlNFVAkweDkwMDAwMDAwCiAjZGVmaW5lIElPX0FERFJFU1MocGEpCSgocGEpICsgSU9fT0ZGU0VUKQkvKiBXb3JrcyBmb3IgTDMgYW5kIEw0ICovCisjZGVmaW5lIE9NQVAyX0lPX0FERFJFU1MocGEpCSgocGEpICsgSU9fT0ZGU0VUKQkvKiBXb3JrcyBmb3IgTDMgYW5kIEw0ICovCiAjZGVmaW5lIGlvX3AydihwYSkJKChwYSkgKyBJT19PRkZTRVQpCS8qIFdvcmtzIGZvciBMMyBhbmQgTDQgKi8KICNkZWZpbmUgaW9fdjJwKHZhKQkoKHZhKSAtIElPX09GRlNFVCkJLyogV29ya3MgZm9yIEwzIGFuZCBMNCAqLwogCkBAIC0xNDgsNiArMTUwLDcgQEAKIAogI2RlZmluZSBJT19PRkZTRVQJCTB4OTAwMDAwMDAKICNkZWZpbmUgSU9fQUREUkVTUyhwYSkJCSgocGEpICsgSU9fT0ZGU0VUKS8qIFdvcmtzIGZvciBMMyBhbmQgTDQgKi8KKyNkZWZpbmUgT01BUDJfSU9fQUREUkVTUyhwYSkJKChwYSkgKyBJT19PRkZTRVQpLyogV29ya3MgZm9yIEwzIGFuZCBMNCAqLwogI2RlZmluZSBpb19wMnYocGEpCQkoKHBhKSArIElPX09GRlNFVCkvKiBXb3JrcyBmb3IgTDMgYW5kIEw0ICovCiAjZGVmaW5lIGlvX3YycCh2YSkJCSgodmEpIC0gSU9fT0ZGU0VUKS8qIFdvcmtzIGZvciBMMyBhbmQgTDQgKi8KIApAQCAtMTgzLDM1ICsxODYsMTIgQEAKICNkZWZpbmUgb21hcF93cml0ZXcodixhKQkoKih2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCAqKUlPX0FERFJFU1MoYSkgPSAodikpCiAjZGVmaW5lIG9tYXBfd3JpdGVsKHYsYSkJKCoodm9sYXRpbGUgdW5zaWduZWQgaW50ICAgKilJT19BRERSRVNTKGEpID0gKHYpKQogCi0vKiAxNiBiaXQgdXNlcyBMRFJIL1NUUkgsIGJhc2UgKy8tIG9mZnNldF84ICovCi10eXBlZGVmIHN0cnVjdCB7IHZvbGF0aWxlIHUxNiBvZmZzZXRbMjU2XTsgfSBfX3JlZ2Jhc2UxNjsKLSNkZWZpbmUgX19SRUdWMTYodmFkZHIpCQkoKF9fcmVnYmFzZTE2ICopKCh2YWRkcikmfjB4ZmYpKSBcCi0JCQkJCS0+b2Zmc2V0WygodmFkZHIpJjB4ZmYpPj4xXQotI2RlZmluZSBfX1JFRzE2KHBhZGRyKSAgICAgICAgICBfX1JFR1YxNihpb19wMnYocGFkZHIpKQotCi0vKiA4LzMyIGJpdCB1c2VzIExEUi9TVFIsIGJhc2UgKy8tIG9mZnNldF8xMiAqLwotdHlwZWRlZiBzdHJ1Y3QgeyB2b2xhdGlsZSB1OCBvZmZzZXRbNDA5Nl07IH0gX19yZWdiYXNlODsKLSNkZWZpbmUgX19SRUdWOCh2YWRkcikJCSgoX19yZWdiYXNlOCAgKikoKHZhZGRyKSZ+NDA5NSkpIFwKLQkJCQkJLT5vZmZzZXRbKCh2YWRkcikmNDA5NSk+PjBdCi0jZGVmaW5lIF9fUkVHOChwYWRkcikJCV9fUkVHVjgoaW9fcDJ2KHBhZGRyKSkKLQotdHlwZWRlZiBzdHJ1Y3QgeyB2b2xhdGlsZSB1MzIgb2Zmc2V0WzQwOTZdOyB9IF9fcmVnYmFzZTMyOwotI2RlZmluZSBfX1JFR1YzMih2YWRkcikJCSgoX19yZWdiYXNlMzIgKikoKHZhZGRyKSZ+NDA5NSkpIFwKLQkJCQkJLT5vZmZzZXRbKCh2YWRkcikmNDA5NSk+PjJdCi0jZGVmaW5lIF9fUkVHMzIocGFkZHIpCQlfX1JFR1YzMihpb19wMnYocGFkZHIpKQotCiBleHRlcm4gdm9pZCBvbWFwMV9tYXBfY29tbW9uX2lvKHZvaWQpOwogZXh0ZXJuIHZvaWQgb21hcDFfaW5pdF9jb21tb25faHcodm9pZCk7CiAKIGV4dGVybiB2b2lkIG9tYXAyX21hcF9jb21tb25faW8odm9pZCk7CiBleHRlcm4gdm9pZCBvbWFwMl9pbml0X2NvbW1vbl9odyh2b2lkKTsKIAotI2Vsc2UKLQotI2RlZmluZSBfX1JFRzgocGFkZHIpCQlpb19wMnYocGFkZHIpCi0jZGVmaW5lIF9fUkVHMTYocGFkZHIpCQlpb19wMnYocGFkZHIpCi0jZGVmaW5lIF9fUkVHMzIocGFkZHIpCQlpb19wMnYocGFkZHIpCi0KICNlbmRpZgogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvaXJxcy5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9pcnFzLmgKaW5kZXggODc5NzM2NS4uNzQ2NGM2OSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9pcnFzLmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9pcnFzLmgKQEAgLTI4NSw3ICsyODUsNDEgQEAKICNkZWZpbmUgT01BUF9NQVhfR1BJT19MSU5FUwkxOTIKICNkZWZpbmUgSUhfR1BJT19CQVNFCQkoMTI4ICsgSUgyX0JBU0UpCiAjZGVmaW5lIElIX01QVUlPX0JBU0UJCShPTUFQX01BWF9HUElPX0xJTkVTICsgSUhfR1BJT19CQVNFKQotI2RlZmluZSBJSF9CT0FSRF9CQVNFCQkoMTYgKyBJSF9NUFVJT19CQVNFKQorI2RlZmluZSBPTUFQX0lSUV9FTkQJCShJSF9NUFVJT19CQVNFICsgMTYpCisKKy8qIEV4dGVybmFsIEZQR0EgaGFuZGxlcyBpbnRlcnJ1cHRzIG9uIElubm92YXRvciBib2FyZHMgKi8KKyNkZWZpbmUJT01BUF9GUEdBX0lSUV9CQVNFCShPTUFQX0lSUV9FTkQpCisjaWZkZWYJQ09ORklHX01BQ0hfT01BUF9JTk5PVkFUT1IKKyNkZWZpbmUgT01BUF9GUEdBX05SX0lSUVMJMjQKKyNlbHNlCisjZGVmaW5lIE9NQVBfRlBHQV9OUl9JUlFTCTAKKyNlbmRpZgorI2RlZmluZSBPTUFQX0ZQR0FfSVJRX0VORAkoT01BUF9GUEdBX0lSUV9CQVNFICsgT01BUF9GUEdBX05SX0lSUVMpCisKKy8qIEV4dGVybmFsIFRXTDQwMzAgY2FuIGhhbmRsZSBpbnRlcnJ1cHRzIG9uIDI0MzAgYW5kIDM0eHggYm9hcmRzICovCisjZGVmaW5lCVRXTDQwMzBfSVJRX0JBU0UJKE9NQVBfRlBHQV9JUlFfRU5EKQorI2lmZGVmCUNPTkZJR19UV0w0MDMwX0NPUkUKKyNkZWZpbmUJVFdMNDAzMF9CQVNFX05SX0lSUVMJOAorI2RlZmluZQlUV0w0MDMwX1BXUl9OUl9JUlFTCTgKKyNlbHNlCisjZGVmaW5lCVRXTDQwMzBfQkFTRV9OUl9JUlFTCTAKKyNkZWZpbmUJVFdMNDAzMF9QV1JfTlJfSVJRUwkwCisjZW5kaWYKKyNkZWZpbmUgVFdMNDAzMF9JUlFfRU5ECQkoVFdMNDAzMF9JUlFfQkFTRSArIFRXTDQwMzBfQkFTRV9OUl9JUlFTKQorI2RlZmluZSBUV0w0MDMwX1BXUl9JUlFfQkFTRQlUV0w0MDMwX0lSUV9FTkQKKyNkZWZpbmUJVFdMNDAzMF9QV1JfSVJRX0VORAkoVFdMNDAzMF9QV1JfSVJRX0JBU0UgKyBUV0w0MDMwX1BXUl9OUl9JUlFTKQorCisvKiBFeHRlcm5hbCBUV0w0MDMwIGdwaW8gaW50ZXJydXB0cyBhcmUgb3B0aW9uYWwgKi8KKyNkZWZpbmUgVFdMNDAzMF9HUElPX0lSUV9CQVNFCVRXTDQwMzBfUFdSX0lSUV9FTkQKKyNpZmRlZglDT05GSUdfVFdMNDAzMF9HUElPCisjZGVmaW5lIFRXTDQwMzBfR1BJT19OUl9JUlFTCTE4CisjZWxzZQorI2RlZmluZQlUV0w0MDMwX0dQSU9fTlJfSVJRUwkwCisjZW5kaWYKKyNkZWZpbmUgVFdMNDAzMF9HUElPX0lSUV9FTkQJKFRXTDQwMzBfR1BJT19JUlFfQkFTRSArIFRXTDQwMzBfR1BJT19OUl9JUlFTKQorCisvKiBUb3RhbCBudW1iZXIgb2YgaW50ZXJydXB0cyBkZXBlbmRzIG9uIHRoZSBlbmFibGVkIGJsb2NrcyBhYm92ZSAqLworI2RlZmluZSBOUl9JUlFTCQkJVFdMNDAzMF9HUElPX0lSUV9FTkQKIAogI2RlZmluZSBPTUFQX0lSUV9CSVQoaXJxKQkoMSA8PCAoKGlycSkgJSAzMikpCiAKQEAgLTI5MywxNCArMzI3LDYgQEAKIGV4dGVybiB2b2lkIG9tYXBfaW5pdF9pcnEodm9pZCk7CiAjZW5kaWYKIAotLyoKLSAqIFRoZSBkZWZpbml0aW9uIG9mIE5SX0lSUVMgaXMgaW4gYm9hcmQtc3BlY2lmaWMgaGVhZGVyIGZpbGUsIHdoaWNoIGlzCi0gKiBpbmNsdWRlZCB2aWEgaGFyZHdhcmUuaAotICovCiAjaW5jbHVkZSA8YXNtL2hhcmR3YXJlLmg+CiAKLSNpZm5kZWYgTlJfSVJRUwotI2RlZmluZSBOUl9JUlFTICAgICAgICAgICAgICAgICBJSF9CT0FSRF9CQVNFCi0jZW5kaWYKLQogI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL21jYnNwLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL21jYnNwLmgKaW5kZXggYzdhMGNjMS4uMjZjNzhmNiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9tY2JzcC5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvbWNic3AuaApAQCAtMjQsNyArMjQsMTEgQEAKICNpZm5kZWYgX19BU01fQVJDSF9PTUFQX01DQlNQX0gKICNkZWZpbmUgX19BU01fQVJDSF9PTUFQX01DQlNQX0gKIAorI2luY2x1ZGUgPGxpbnV4L2NvbXBsZXRpb24uaD4KKyNpbmNsdWRlIDxsaW51eC9zcGlubG9jay5oPgorCiAjaW5jbHVkZSA8YXNtL2hhcmR3YXJlLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvY2xvY2suaD4KIAogI2RlZmluZSBPTUFQNzMwX01DQlNQMV9CQVNFCTB4ZmZmYjEwMDAKICNkZWZpbmUgT01BUDczMF9NQ0JTUDJfQkFTRQkweGZmZmIxODAwCkBAIC00MCw2ICs0NCw5IEBACiAjZGVmaW5lIE9NQVAyNFhYX01DQlNQMV9CQVNFCTB4NDgwNzQwMDAKICNkZWZpbmUgT01BUDI0WFhfTUNCU1AyX0JBU0UJMHg0ODA3NjAwMAogCisjZGVmaW5lIE9NQVAzNFhYX01DQlNQMV9CQVNFCTB4NDgwNzQwMDAKKyNkZWZpbmUgT01BUDM0WFhfTUNCU1AyX0JBU0UJMHg0OTAyMjAwMAorCiAjaWYgZGVmaW5lZChDT05GSUdfQVJDSF9PTUFQMTVYWCkgfHwgZGVmaW5lZChDT05GSUdfQVJDSF9PTUFQMTZYWCkgfHwgZGVmaW5lZChDT05GSUdfQVJDSF9PTUFQNzMwKQogCiAjZGVmaW5lIE9NQVBfTUNCU1BfUkVHX0RSUjIJMHgwMApAQCAtNzQsNyArODEsOCBAQAogI2RlZmluZSBPTUFQX01DQlNQX1JFR19YQ0VSRwkweDNBCiAjZGVmaW5lIE9NQVBfTUNCU1BfUkVHX1hDRVJICTB4M0MKIAotI2RlZmluZSBPTUFQX01BWF9NQ0JTUF9DT1VOVCAzCisjZGVmaW5lIE9NQVBfTUFYX01DQlNQX0NPVU5UCTMKKyNkZWZpbmUgTUFYX01DQlNQX0NMT0NLUwkzCiAKICNkZWZpbmUgQVVESU9fTUNCU1BfREFUQVdSSVRFCShPTUFQMTUxMF9NQ0JTUDFfQkFTRSArIE9NQVBfTUNCU1BfUkVHX0RYUjEpCiAjZGVmaW5lIEFVRElPX01DQlNQX0RBVEFSRUFECShPTUFQMTUxMF9NQ0JTUDFfQkFTRSArIE9NQVBfTUNCU1BfUkVHX0RSUjEpCkBAIC0xMTcsNyArMTI1LDggQEAKICNkZWZpbmUgT01BUF9NQ0JTUF9SRUdfWENFUkcJMHg3NAogI2RlZmluZSBPTUFQX01DQlNQX1JFR19YQ0VSSAkweDc4CiAKLSNkZWZpbmUgT01BUF9NQVhfTUNCU1BfQ09VTlQgMgorI2RlZmluZSBPTUFQX01BWF9NQ0JTUF9DT1VOVAkyCisjZGVmaW5lIE1BWF9NQ0JTUF9DTE9DS1MJMgogCiAjZGVmaW5lIEFVRElPX01DQlNQX0RBVEFXUklURQkoT01BUDI0WFhfTUNCU1AyX0JBU0UgKyBPTUFQX01DQlNQX1JFR19EWFIxKQogI2RlZmluZSBBVURJT19NQ0JTUF9EQVRBUkVBRAkoT01BUDI0WFhfTUNCU1AyX0JBU0UgKyBPTUFQX01DQlNQX1JFR19EUlIxKQpAQCAtMjk4LDYgKzMwNyw1NSBAQAogCW9tYXBfbWNic3Bfd29yZF9sZW5ndGgJCXdvcmRfbGVuZ3RoOwogfTsKIAorLyogUGxhdGZvcm0gc3BlY2lmaWMgY29uZmlndXJhdGlvbiAqLworc3RydWN0IG9tYXBfbWNic3Bfb3BzIHsKKwl2b2lkICgqcmVxdWVzdCkodW5zaWduZWQgaW50KTsKKwl2b2lkICgqZnJlZSkodW5zaWduZWQgaW50KTsKKwlpbnQgKCpjaGVjaykodW5zaWduZWQgaW50KTsKK307CisKK3N0cnVjdCBvbWFwX21jYnNwX3BsYXRmb3JtX2RhdGEgeworCXUzMiB2aXJ0X2Jhc2U7CisJdTggZG1hX3J4X3N5bmMsIGRtYV90eF9zeW5jOworCXUxNiByeF9pcnEsIHR4X2lycTsKKwlzdHJ1Y3Qgb21hcF9tY2JzcF9vcHMgKm9wczsKKwljaGFyIGNvbnN0ICpjbGtfbmFtZTsKK307CisKK3N0cnVjdCBvbWFwX21jYnNwIHsKKwlzdHJ1Y3QgZGV2aWNlICpkZXY7CisJdTMyIGlvX2Jhc2U7CisJdTggaWQ7CisJdTggZnJlZTsKKwlvbWFwX21jYnNwX3dvcmRfbGVuZ3RoIHJ4X3dvcmRfbGVuZ3RoOworCW9tYXBfbWNic3Bfd29yZF9sZW5ndGggdHhfd29yZF9sZW5ndGg7CisKKwlvbWFwX21jYnNwX2lvX3R5cGVfdCBpb190eXBlOyAvKiBJUlEgb3IgcG9sbCAqLworCS8qIElSUSBiYXNlZCBUWC9SWCAqLworCWludCByeF9pcnE7CisJaW50IHR4X2lycTsKKworCS8qIERNQSBzdHVmZiAqLworCXU4IGRtYV9yeF9zeW5jOworCXNob3J0IGRtYV9yeF9sY2g7CisJdTggZG1hX3R4X3N5bmM7CisJc2hvcnQgZG1hX3R4X2xjaDsKKworCS8qIENvbXBsZXRpb24gcXVldWVzICovCisJc3RydWN0IGNvbXBsZXRpb24gdHhfaXJxX2NvbXBsZXRpb247CisJc3RydWN0IGNvbXBsZXRpb24gcnhfaXJxX2NvbXBsZXRpb247CisJc3RydWN0IGNvbXBsZXRpb24gdHhfZG1hX2NvbXBsZXRpb247CisJc3RydWN0IGNvbXBsZXRpb24gcnhfZG1hX2NvbXBsZXRpb247CisKKwkvKiBQcm90ZWN0IHRoZSBmaWVsZCAuZnJlZSwgd2hpbGUgY2hlY2tpbmcgaWYgdGhlIG1jYnNwIGlzIGluIHVzZSAqLworCXNwaW5sb2NrX3QgbG9jazsKKwlzdHJ1Y3Qgb21hcF9tY2JzcF9wbGF0Zm9ybV9kYXRhICpwZGF0YTsKKwlzdHJ1Y3QgY2xrICpjbGs7Cit9OworCitpbnQgb21hcF9tY2JzcF9pbml0KHZvaWQpOwordm9pZCBvbWFwX21jYnNwX3JlZ2lzdGVyX2JvYXJkX2NmZyhzdHJ1Y3Qgb21hcF9tY2JzcF9wbGF0Zm9ybV9kYXRhICpjb25maWcsCisJCQkJCWludCBzaXplKTsKIHZvaWQgb21hcF9tY2JzcF9jb25maWcodW5zaWduZWQgaW50IGlkLCBjb25zdCBzdHJ1Y3Qgb21hcF9tY2JzcF9yZWdfY2ZnICogY29uZmlnKTsKIGludCBvbWFwX21jYnNwX3JlcXVlc3QodW5zaWduZWQgaW50IGlkKTsKIHZvaWQgb21hcF9tY2JzcF9mcmVlKHVuc2lnbmVkIGludCBpZCk7CmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL29tYXAzNHh4LmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL29tYXAzNHh4LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWEzMGM2ZAotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvb21hcDM0eHguaApAQCAtMCwwICsxLDcyIEBACisvKgorICogaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9vbWFwMzR4eC5oCisgKgorICogVGhpcyBmaWxlIGNvbnRhaW5zIHRoZSBwcm9jZXNzb3Igc3BlY2lmaWMgZGVmaW5pdGlvbnMgb2YgdGhlIFRJIE9NQVAzNFhYLgorICoKKyAqIENvcHlyaWdodCAoQykgMjAwNyBUZXhhcyBJbnN0cnVtZW50cy4KKyAqIENvcHlyaWdodCAoQykgMjAwNyBOb2tpYSBDb3Jwb3JhdGlvbi4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisgKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAgMDIxMTEtMTMwNyAgVVNBCisgKi8KKworI2lmbmRlZiBfX0FTTV9BUkNIX09NQVAzNFhYX0gKKyNkZWZpbmUgX19BU01fQVJDSF9PTUFQMzRYWF9ICisKKy8qCisgKiBQbGVhc2UgcGxhY2Ugb25seSBiYXNlIGRlZmluZXMgaGVyZSBhbmQgcHV0IHRoZSByZXN0IGluIGRldmljZQorICogc3BlY2lmaWMgaGVhZGVycy4KKyAqLworCisjZGVmaW5lIEw0XzM0WFhfQkFTRQkJMHg0ODAwMDAwMAorI2RlZmluZSBMNF9XS18zNFhYX0JBU0UJCTB4NDgzMDAwMDAKKyNkZWZpbmUgTDRfV0tfT01BUF9CQVNFCQlMNF9XS18zNFhYX0JBU0UKKyNkZWZpbmUgTDRfUEVSXzM0WFhfQkFTRQkweDQ5MDAwMDAwCisjZGVmaW5lIEw0X1BFUl9PTUFQX0JBU0UJTDRfUEVSXzM0WFhfQkFTRQorI2RlZmluZSBMNF9FTVVfMzRYWF9CQVNFCTB4NTQwMDAwMDAKKyNkZWZpbmUgTDRfRU1VX0JBU0UJCUw0X0VNVV8zNFhYX0JBU0UKKyNkZWZpbmUgTDNfMzRYWF9CQVNFCQkweDY4MDAwMDAwCisjZGVmaW5lIEwzX09NQVBfQkFTRQkJTDNfMzRYWF9CQVNFCisKKyNkZWZpbmUgT01BUDM0MzBfMzJLU1lOQ1RfQkFTRQkweDQ4MzIwMDAwCisjZGVmaW5lIE9NQVAzNDMwX0NNX0JBU0UJMHg0ODAwNDgwMAorI2RlZmluZSBPTUFQMzQzMF9QUk1fQkFTRQkweDQ4MzA2ODAwCisjZGVmaW5lIE9NQVAzNDNYX1NNU19CQVNFCTB4NkMwMDAwMDAKKyNkZWZpbmUgT01BUDM0M1hfU0RSQ19CQVNFCTB4NkQwMDAwMDAKKyNkZWZpbmUgT01BUDM0WFhfR1BNQ19CQVNFCTB4NkUwMDAwMDAKKyNkZWZpbmUgT01BUDM0M1hfU0NNX0JBU0UJMHg0ODAwMjAwMAorI2RlZmluZSBPTUFQMzQzWF9DVFJMX0JBU0UJT01BUDM0M1hfU0NNX0JBU0UKKworI2RlZmluZSBPTUFQMzRYWF9JQ19CQVNFCTB4NDgyMDAwMDAKKyNkZWZpbmUgT01BUDM0WFhfSVZBX0lOVENfQkFTRQkweDQwMDAwMDAwCisjZGVmaW5lIE9NQVAzNFhYX0hTVVNCX09UR19CQVNFCShMNF8zNFhYX0JBU0UgKyAweEFCMDAwKQorI2RlZmluZSBPTUFQMzRYWF9IU1VTQl9IT1NUX0JBU0UJKEw0XzM0WFhfQkFTRSArIDB4NjQwMDApCisjZGVmaW5lIE9NQVAzNFhYX1VTQlRMTF9CQVNFCShMNF8zNFhYX0JBU0UgKyAweDYyMDAwKQorCisKKyNpZiBkZWZpbmVkKENPTkZJR19BUkNIX09NQVAzNDMwKQorCisjZGVmaW5lIE9NQVAyXzMyS1NZTkNUX0JBU0UJCU9NQVAzNDMwXzMyS1NZTkNUX0JBU0UKKyNkZWZpbmUgT01BUDJfQ01fQkFTRQkJCU9NQVAzNDMwX0NNX0JBU0UKKyNkZWZpbmUgT01BUDJfUFJNX0JBU0UJCQlPTUFQMzQzMF9QUk1fQkFTRQorI2RlZmluZSBPTUFQMl9WQV9JQ19CQVNFCQlJT19BRERSRVNTKE9NQVAzNFhYX0lDX0JBU0UpCisKKyNlbmRpZgorCisjZGVmaW5lIE9NQVAzNFhYX0RTUF9CQVNFCTB4NTgwMDAwMDAKKyNkZWZpbmUgT01BUDM0WFhfRFNQX01FTV9CQVNFCShPTUFQMzRYWF9EU1BfQkFTRSArIDB4MCkKKyNkZWZpbmUgT01BUDM0WFhfRFNQX0lQSV9CQVNFCShPTUFQMzRYWF9EU1BfQkFTRSArIDB4MTAwMDAwMCkKKyNkZWZpbmUgT01BUDM0WFhfRFNQX01NVV9CQVNFCShPTUFQMzRYWF9EU1BfQkFTRSArIDB4MjAwMDAwMCkKKyNlbmRpZiAvKiBfX0FTTV9BUkNIX09NQVAzNFhYX0ggKi8KKwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9zcmFtLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL3NyYW0uaAppbmRleCBiYjliYjNmLi5iZTU5ZjRhIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL3NyYW0uaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL3NyYW0uaApAQCAtMTEsNiArMTEsNyBAQAogI2lmbmRlZiBfX0FSQ0hfQVJNX09NQVBfU1JBTV9ICiAjZGVmaW5lIF9fQVJDSF9BUk1fT01BUF9TUkFNX0gKIAorZXh0ZXJuIGludCBfX2luaXQgb21hcF9zcmFtX2luaXQodm9pZCk7CiBleHRlcm4gdm9pZCAqIG9tYXBfc3JhbV9wdXNoKHZvaWQgKiBzdGFydCwgdW5zaWduZWQgbG9uZyBzaXplKTsKIGV4dGVybiB2b2lkIG9tYXBfc3JhbV9yZXByb2dyYW1fY2xvY2sodTMyIGRwbGxjdGwsIHUzMiBja2N0bCk7CiAKQEAgLTIxLDE3ICsyMiwzNSBAQAogZXh0ZXJuIHUzMiBvbWFwMl9zZXRfcHJjbSh1MzIgZHBsbF9jdHJsX3ZhbCwgdTMyIHNkcmNfcmZyX3ZhbCwgaW50IGJ5cGFzcyk7CiAKIC8qIERvIG5vdCB1c2UgdGhlc2UgKi8KLWV4dGVybiB2b2lkIHNyYW1fcmVwcm9ncmFtX2Nsb2NrKHUzMiBja2N0bCwgdTMyIGRwbGxjdGwpOwotZXh0ZXJuIHVuc2lnbmVkIGxvbmcgc3JhbV9yZXByb2dyYW1fY2xvY2tfc3o7CitleHRlcm4gdm9pZCBvbWFwMV9zcmFtX3JlcHJvZ3JhbV9jbG9jayh1MzIgY2tjdGwsIHUzMiBkcGxsY3RsKTsKK2V4dGVybiB1bnNpZ25lZCBsb25nIG9tYXAxX3NyYW1fcmVwcm9ncmFtX2Nsb2NrX3N6OwogCi1leHRlcm4gdm9pZCBzcmFtX2Rkcl9pbml0KHUzMiAqc2xvd19kbGxfY3RybCwgdTMyIGZhc3RfZGxsX2N0cmwsCi0JCQkgIHUzMiBiYXNlX2NzLCB1MzIgZm9yY2VfdW5sb2NrKTsKLWV4dGVybiB1bnNpZ25lZCBsb25nIHNyYW1fZGRyX2luaXRfc3o7CitleHRlcm4gdm9pZCBvbWFwMjR4eF9zcmFtX3JlcHJvZ3JhbV9jbG9jayh1MzIgY2tjdGwsIHUzMiBkcGxsY3RsKTsKK2V4dGVybiB1bnNpZ25lZCBsb25nIG9tYXAyNHh4X3NyYW1fcmVwcm9ncmFtX2Nsb2NrX3N6OwogCi1leHRlcm4gdTMyIHNyYW1fc2V0X3ByY20odTMyIGRwbGxfY3RybF92YWwsIHUzMiBzZHJjX3Jmcl92YWwsIGludCBieXBhc3MpOwotZXh0ZXJuIHVuc2lnbmVkIGxvbmcgc3JhbV9zZXRfcHJjbV9zejsKK2V4dGVybiB2b2lkIG9tYXAyNDJ4X3NyYW1fZGRyX2luaXQodTMyICpzbG93X2RsbF9jdHJsLCB1MzIgZmFzdF9kbGxfY3RybCwKKwkJCQkJCXUzMiBiYXNlX2NzLCB1MzIgZm9yY2VfdW5sb2NrKTsKK2V4dGVybiB1bnNpZ25lZCBsb25nIG9tYXAyNDJ4X3NyYW1fZGRyX2luaXRfc3o7CiAKLWV4dGVybiB2b2lkIHNyYW1fcmVwcm9ncmFtX3NkcmModTMyIHBlcmZfbGV2ZWwsIHUzMiBkbGxfdmFsLCB1MzIgbWVtX3R5cGUpOwotZXh0ZXJuIHVuc2lnbmVkIGxvbmcgc3JhbV9yZXByb2dyYW1fc2RyY19zejsKK2V4dGVybiB1MzIgb21hcDI0Mnhfc3JhbV9zZXRfcHJjbSh1MzIgZHBsbF9jdHJsX3ZhbCwgdTMyIHNkcmNfcmZyX3ZhbCwKKwkJCQkJCWludCBieXBhc3MpOworZXh0ZXJuIHVuc2lnbmVkIGxvbmcgb21hcDI0Mnhfc3JhbV9zZXRfcHJjbV9zejsKKworZXh0ZXJuIHZvaWQgb21hcDI0Mnhfc3JhbV9yZXByb2dyYW1fc2RyYyh1MzIgcGVyZl9sZXZlbCwgdTMyIGRsbF92YWwsCisJCQkJCQl1MzIgbWVtX3R5cGUpOworZXh0ZXJuIHVuc2lnbmVkIGxvbmcgb21hcDI0Mnhfc3JhbV9yZXByb2dyYW1fc2RyY19zejsKKworCitleHRlcm4gdm9pZCBvbWFwMjQzeF9zcmFtX2Rkcl9pbml0KHUzMiAqc2xvd19kbGxfY3RybCwgdTMyIGZhc3RfZGxsX2N0cmwsCisJCQkJCQl1MzIgYmFzZV9jcywgdTMyIGZvcmNlX3VubG9jayk7CitleHRlcm4gdW5zaWduZWQgbG9uZyBvbWFwMjQzeF9zcmFtX2Rkcl9pbml0X3N6OworCitleHRlcm4gdTMyIG9tYXAyNDN4X3NyYW1fc2V0X3ByY20odTMyIGRwbGxfY3RybF92YWwsIHUzMiBzZHJjX3Jmcl92YWwsCisJCQkJCQlpbnQgYnlwYXNzKTsKK2V4dGVybiB1bnNpZ25lZCBsb25nIG9tYXAyNDN4X3NyYW1fc2V0X3ByY21fc3o7CisKK2V4dGVybiB2b2lkIG9tYXAyNDN4X3NyYW1fcmVwcm9ncmFtX3NkcmModTMyIHBlcmZfbGV2ZWwsIHUzMiBkbGxfdmFsLAorCQkJCQkJdTMyIG1lbV90eXBlKTsKK2V4dGVybiB1bnNpZ25lZCBsb25nIG9tYXAyNDN4X3NyYW1fcmVwcm9ncmFtX3NkcmNfc3o7CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC90Yy5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC90Yy5oCmluZGV4IDhkZWQyMTguLjY1YTljODIgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvdGMuaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL3RjLmgKQEAgLTc1LDE2ICs3NSwxNCBAQAogI2lmbmRlZglfX0FTU0VNQkxFUl9fCiAKIC8qIEVNSUYgU2xvdyBJbnRlcmZhY2UgQ29uZmlndXJhdGlvbiBSZWdpc3RlciAqLwotI2RlZmluZQlPTUFQX0VNSUZTX0NPTkZJR19SRUcJX19SRUczMihFTUlGU19DT05GSUcpCi0KICNkZWZpbmUgT01BUF9FTUlGU19DT05GSUdfRlIJCSgxIDw8IDQpCiAjZGVmaW5lIE9NQVBfRU1JRlNfQ09ORklHX1BERQkJKDEgPDwgMykKICNkZWZpbmUgT01BUF9FTUlGU19DT05GSUdfUFdEX0VOCSgxIDw8IDIpCiAjZGVmaW5lIE9NQVBfRU1JRlNfQ09ORklHX0JNCQkoMSA8PCAxKQogI2RlZmluZSBPTUFQX0VNSUZTX0NPTkZJR19XUAkJKDEgPDwgMCkKIAotI2RlZmluZSBFTUlGU19DQ1MobikJCV9fUkVHMzIoRU1JRlNfQ1MwX0NPTkZJRyArICg0ICogKG4pKSkKLSNkZWZpbmUgRU1JRlNfQUNTKG4pCQlfX1JFRzMyKEVNSUZTX0FDUzAgKyAoNCAqIChuKSkpCisjZGVmaW5lIEVNSUZTX0NDUyhuKQkJKEVNSUZTX0NTMF9DT05GSUcgKyAoNCAqIChuKSkpCisjZGVmaW5lIEVNSUZTX0FDUyhuKQkJKEVNSUZTX0FDUzAgKyAoNCAqIChuKSkpCiAKIC8qIEFsbW9zdCBhbGwgZG9jdW1lbnRhdGlvbiBmb3IgY2hpcCBhbmQgYm9hcmQgbWVtb3J5IG1hcHMgYXNzdW1lcwogICogQk0gaXMgY2xlYXIuICBNb3N0IGRldmVsIGJvYXJkcyBoYXZlIGEgc3dpdGNoIHRvIGNvbnRyb2wgYm9vdGluZwpAQCAtOTMsMTMgKzkxLDEzIEBACiAgKi8KIHN0YXRpYyBpbmxpbmUgdTMyIG9tYXBfY3MwX3BoeXModm9pZCkKIHsKLQlyZXR1cm4gKE9NQVBfRU1JRlNfQ09ORklHX1JFRyAmIE9NQVBfRU1JRlNfQ09ORklHX0JNKQorCXJldHVybiAob21hcF9yZWFkbChFTUlGU19DT05GSUcpICYgT01BUF9FTUlGU19DT05GSUdfQk0pCiAJCQk/ICBPTUFQX0NTM19QSFlTIDogMDsKIH0KIAogc3RhdGljIGlubGluZSB1MzIgb21hcF9jczNfcGh5cyh2b2lkKQogewotCXJldHVybiAoT01BUF9FTUlGU19DT05GSUdfUkVHICYgT01BUF9FTUlGU19DT05GSUdfQk0pCisJcmV0dXJuIChvbWFwX3JlYWRsKEVNSUZTX0NPTkZJRykgJiBPTUFQX0VNSUZTX0NPTkZJR19CTSkKIAkJCT8gMCA6IE9NQVBfQ1MzX1BIWVM7CiB9CiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvdXNiLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL3VzYi5oCmluZGV4IDIxNDdkMTguLmRkZjE4NjEgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvdXNiLmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC91c2IuaApAQCAtMzQsMTEgKzM0LDggQEAKIC8qCiAgKiBPVEcgYW5kIHRyYW5zY2VpdmVyIHJlZ2lzdGVycywgZm9yIE9NQVBzIHN0YXJ0aW5nIHdpdGggQVJNOTI2CiAgKi8KLSNkZWZpbmUgT1RHX1JFRzMyKG9mZnNldCkJCV9fUkVHMzIoT1RHX0JBU0UgKyAob2Zmc2V0KSkKLSNkZWZpbmUgT1RHX1JFRzE2KG9mZnNldCkJCV9fUkVHMTYoT1RHX0JBU0UgKyAob2Zmc2V0KSkKLQotI2RlZmluZSBPVEdfUkVWX1JFRwkJCU9UR19SRUczMigweDAwKQotI2RlZmluZSBPVEdfU1lTQ09OXzFfUkVHCQlPVEdfUkVHMzIoMHgwNCkKKyNkZWZpbmUgT1RHX1JFVgkJCQkoT1RHX0JBU0UgKyAweDAwKQorI2RlZmluZSBPVEdfU1lTQ09OXzEJCQkoT1RHX0JBU0UgKyAweDA0KQogIwlkZWZpbmUJIFVTQjJfVFJYX01PREUodykJKCgodyk+PjI0KSYweDA3KQogIwlkZWZpbmUJIFVTQjFfVFJYX01PREUodykJKCgodyk+PjIwKSYweDA3KQogIwlkZWZpbmUJIFVTQjBfVFJYX01PREUodykJKCgodyk+PjE2KSYweDA3KQpAQCAtNDcsNyArNDQsNyBAQAogIwlkZWZpbmUJIERFVl9JRExFX0VOCQkoMSA8PCAxMykKICMJZGVmaW5lCSBPVEdfUkVTRVRfRE9ORQkJKDEgPDwgMikKICMJZGVmaW5lCSBPVEdfU09GVF9SRVNFVAkJKDEgPDwgMSkKLSNkZWZpbmUgT1RHX1NZU0NPTl8yX1JFRwkJT1RHX1JFRzMyKDB4MDgpCisjZGVmaW5lIE9UR19TWVNDT05fMgkJCShPVEdfQkFTRSArIDB4MDgpCiAjCWRlZmluZQkgT1RHX0VOCQkJKDEgPDwgMzEpCiAjCWRlZmluZQkgVVNCWF9TWU5DSFJPCQkoMSA8PCAzMCkKICMJZGVmaW5lCSBPVEdfTVNUMTYJCSgxIDw8IDI5KQpAQCAtNjUsNyArNjIsNyBAQAogIwlkZWZpbmUJIEhNQ19UTExTUEVFRAkJKDEgPDwgNykKICMJZGVmaW5lCSBITUNfVExMQVRUQUNICQkoMSA8PCA2KQogIwlkZWZpbmUJIE9UR19ITUModykJCSgoKHcpPj4wKSYweDNmKQotI2RlZmluZSBPVEdfQ1RSTF9SRUcJCQlPVEdfUkVHMzIoMHgwYykKKyNkZWZpbmUgT1RHX0NUUkwJCQkoT1RHX0JBU0UgKyAweDBjKQogIwlkZWZpbmUJIE9UR19VU0IyX0VOCQkoMSA8PCAyOSkKICMJZGVmaW5lCSBPVEdfVVNCMl9EUAkJKDEgPDwgMjgpCiAjCWRlZmluZQkgT1RHX1VTQjJfRE0JCSgxIDw8IDI3KQpAQCAtOTIsNyArODksNyBAQAogIwlkZWZpbmUJIE9UR19QRF9WQlVTCQkoMSA8PCAyKQogIwlkZWZpbmUJIE9UR19QVV9WQlVTCQkoMSA8PCAxKQogIwlkZWZpbmUJIE9UR19QVV9JRAkJKDEgPDwgMCkKLSNkZWZpbmUgT1RHX0lSUV9FTl9SRUcJCQlPVEdfUkVHMTYoMHgxMCkKKyNkZWZpbmUgT1RHX0lSUV9FTgkJCShPVEdfQkFTRSArIDB4MTApCS8qIDE2LWJpdCAqLwogIwlkZWZpbmUJIERSSVZFUl9TV0lUQ0gJCSgxIDw8IDE1KQogIwlkZWZpbmUJIEFfVkJVU19FUlIJCSgxIDw8IDEzKQogIwlkZWZpbmUJIEFfUkVRX1RNUk9VVAkJKDEgPDwgMTIpCkBAIC0xMDIsOSArOTksOSBAQAogIwlkZWZpbmUJIEJfU1JQX0RPTkUJCSgxIDw8IDgpCiAjCWRlZmluZQkgQl9TUlBfU1RBUlRFRAkJKDEgPDwgNykKICMJZGVmaW5lCSBPUFJUX0NIRwkJKDEgPDwgMCkKLSNkZWZpbmUgT1RHX0lSUV9TUkNfUkVHCQkJT1RHX1JFRzE2KDB4MTQpCisjZGVmaW5lIE9UR19JUlFfU1JDCQkJKE9UR19CQVNFICsgMHgxNCkJLyogMTYtYml0ICovCiAJLy8gc2FtZSBiaXRzIGFzIGluIElSUV9FTgotI2RlZmluZSBPVEdfT1VUQ1RSTF9SRUcJCQlPVEdfUkVHMTYoMHgxOCkKKyNkZWZpbmUgT1RHX09VVENUUkwJCQkoT1RHX0JBU0UgKyAweDE4KQkvKiAxNi1iaXQgKi8KICMJZGVmaW5lCSBPVEdWUEQJCQkoMSA8PCAxNCkKICMJZGVmaW5lCSBPVEdWUFUJCQkoMSA8PCAxMykKICMJZGVmaW5lCSBPVEdQVUlECQkoMSA8PCAxMikKQEAgLTExNywxMyArMTE0LDEzIEBACiAjCWRlZmluZQkgVVNCMFZEUgkJKDEgPDwgMikKICMJZGVmaW5lCSBVU0IwUERFTgkJKDEgPDwgMSkKICMJZGVmaW5lCSBVU0IwUFVFTgkJKDEgPDwgMCkKLSNkZWZpbmUgT1RHX1RFU1RfUkVHCQkJT1RHX1JFRzE2KDB4MjApCi0jZGVmaW5lIE9UR19WRU5ET1JfQ09ERV9SRUcJCU9UR19SRUczMigweGZjKQorI2RlZmluZSBPVEdfVEVTVAkJCShPVEdfQkFTRSArIDB4MjApCS8qIDE2LWJpdCAqLworI2RlZmluZSBPVEdfVkVORE9SX0NPREUJCQkoT1RHX0JBU0UgKyAweGZjKQkvKiAxNi1iaXQgKi8KIAogLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KIAogLyogT01BUDEgKi8KLSNkZWZpbmUJVVNCX1RSQU5TQ0VJVkVSX0NUUkxfUkVHCV9fUkVHMzIoMHhmZmZlMTAwMCArIDB4MDA2NCkKKyNkZWZpbmUJVVNCX1RSQU5TQ0VJVkVSX0NUUkwJCSgweGZmZmUxMDAwICsgMHgwMDY0KQogIwlkZWZpbmUJQ09ORl9VU0IyX1VOSV9SCQkoMSA8PCA4KQogIwlkZWZpbmUJQ09ORl9VU0IxX1VOSV9SCQkoMSA8PCA3KQogIwlkZWZpbmUJQ09ORl9VU0JfUE9SVDBfUih4KQkoKCh4KT4+NCkmMHg3KQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtb3Jpb241eC9pby5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtb3Jpb241eC9pby5oCmluZGV4IDUwZjhjODguLjU5ZjFiYzkgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9yaW9uNXgvaW8uaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vcmlvbjV4L2lvLmgKQEAgLTE0LDcgKzE0LDYgQEAKICNpbmNsdWRlICJvcmlvbjV4LmgiCiAKICNkZWZpbmUgSU9fU1BBQ0VfTElNSVQJCTB4ZmZmZmZmZmYKLSNkZWZpbmUgSU9fU1BBQ0VfUkVNQVAJCU9SSU9ONVhfUENJX1NZU19JT19CQVNFCiAKIHN0YXRpYyBpbmxpbmUgdm9pZCBfX2lvbWVtICoKIF9fYXJjaF9pb3JlbWFwKHVuc2lnbmVkIGxvbmcgcGFkZHIsIHNpemVfdCBzaXplLCB1bnNpZ25lZCBpbnQgbXR5cGUpCkBAIC01MywxNSArNTIsMTIgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogSGVscGVycyB0byBhY2Nlc3MgT3Jpb24gcmVnaXN0ZXJzCiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLSNkZWZpbmUgb3Jpb241eF9yZWFkKHIpCQlfX3Jhd19yZWFkbChyKQotI2RlZmluZSBvcmlvbjV4X3dyaXRlKHIsIHZhbCkJX19yYXdfd3JpdGVsKHZhbCwgcikKLQogLyoKICAqIFRoZXNlIGFyZSBub3QgcHJlZW1wdC1zYWZlLiAgTG9ja3MsIGlmIG5lZWRlZCwgbXVzdCBiZSB0YWtlbgogICogY2FyZSBvZiBieSB0aGUgY2FsbGVyLgogICovCi0jZGVmaW5lIG9yaW9uNXhfc2V0Yml0cyhyLCBtYXNrKQlvcmlvbjV4X3dyaXRlKChyKSwgb3Jpb241eF9yZWFkKHIpIHwgKG1hc2spKQotI2RlZmluZSBvcmlvbjV4X2NscmJpdHMociwgbWFzaykJb3Jpb241eF93cml0ZSgociksIG9yaW9uNXhfcmVhZChyKSAmIH4obWFzaykpCisjZGVmaW5lIG9yaW9uNXhfc2V0Yml0cyhyLCBtYXNrKQl3cml0ZWwocmVhZGwocikgfCAobWFzayksIChyKSkKKyNkZWZpbmUgb3Jpb241eF9jbHJiaXRzKHIsIG1hc2spCXdyaXRlbChyZWFkbChyKSAmIH4obWFzayksIChyKSkKIAogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9yaW9uNXgvb3Jpb241eC5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtb3Jpb241eC9vcmlvbjV4LmgKaW5kZXggMjA2ZGRkNy4uMTAyNTdmNSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtb3Jpb241eC9vcmlvbjV4LmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtb3Jpb241eC9vcmlvbjV4LmgKQEAgLTIsNyArMiw3IEBACiAgKiBpbmNsdWRlL2FzbS1hcm0vYXJjaC1vcmlvbjV4L29yaW9uNXguaAogICoKICAqIEdlbmVyaWMgZGVmaW5pdGlvbnMgb2YgT3Jpb24gU29DIGZsYXZvcnM6Ci0gKiAgT3Jpb24tMSwgT3Jpb24tTkFTLCBPcmlvbi1Wb0lQLCBhbmQgT3Jpb24tMi4KKyAqICBPcmlvbi0xLCBPcmlvbi1Wb0lQLCBPcmlvbi1OQVMsIGFuZCBPcmlvbi0yLgogICoKICAqIE1haW50YWluZXI6IFR6YWNoaSBQZXJlbHN0ZWluIDx0emFjaGlAbWFydmVsbC5jb20+CiAgKgpAQCAtNjMsOSArNjMsMTEgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBTdXBwb3J0ZWQgRGV2aWNlcyAmIFJldmlzaW9ucwogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLS8qIE9yaW9uLTEgKDg4RjUxODEpICovCisvKiBPcmlvbi0xICg4OEY1MTgxKSBhbmQgT3Jpb24tVm9JUCAoODhGNTE4MUwpICovCiAjZGVmaW5lIE1WODhGNTE4MV9ERVZfSUQJMHg1MTgxCiAjZGVmaW5lIE1WODhGNTE4MV9SRVZfQjEJMworI2RlZmluZSBNVjg4RjUxODFMX1JFVl9BMAk4CisjZGVmaW5lIE1WODhGNTE4MUxfUkVWX0ExCTkKIC8qIE9yaW9uLU5BUyAoODhGNTE4MikgKi8KICNkZWZpbmUgTVY4OEY1MTgyX0RFVl9JRAkweDUxODIKICNkZWZpbmUgTVY4OEY1MTgyX1JFVl9BMgkyCkBAIC0xNTIsNiArMTU0LDcgQEAKICNkZWZpbmUgQlJJREdFX01BU0sJCU9SSU9ONVhfQlJJREdFX1JFRygweDExNCkKICNkZWZpbmUgIEJSSURHRV9JTlRfVElNRVIwCTB4MDAwMgogI2RlZmluZSAgQlJJREdFX0lOVF9USU1FUjEJMHgwMDA0CisjZGVmaW5lICBCUklER0VfSU5UX1RJTUVSMV9DTFIJKH4weDAwMDQpCiAjZGVmaW5lIE1BSU5fSVJRX0NBVVNFCQlPUklPTjVYX0JSSURHRV9SRUcoMHgyMDApCiAjZGVmaW5lIE1BSU5fSVJRX01BU0sJCU9SSU9ONVhfQlJJREdFX1JFRygweDIwNCkKIApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtb3Jpb241eC91bmNvbXByZXNzLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vcmlvbjV4L3VuY29tcHJlc3MuaAppbmRleCA1YzEzZDRmLi43NTQ4Y2VkIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vcmlvbjV4L3VuY29tcHJlc3MuaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vcmlvbjV4L3VuY29tcHJlc3MuaApAQCAtOCwyMyArOCwzOCBAQAogICogd2FycmFudHkgb2YgYW55IGtpbmQsIHdoZXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgogICovCiAKKyNpbmNsdWRlIDxsaW51eC9zZXJpYWxfcmVnLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvb3Jpb241eC5oPgogCi0jZGVmaW5lIE1WX1VBUlRfVEhSCSgodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKShVQVJUMF9QSFlTX0JBU0UgKyAweDApKQotI2RlZmluZSBNVl9VQVJUX0xTUiAJKCh2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopKFVBUlQwX1BIWVNfQkFTRSArIDB4MTQpKQotCi0jZGVmaW5lIExTUl9USFJFCTB4MjAKKyNkZWZpbmUgU0VSSUFMX0JBU0UJKCh1bnNpZ25lZCBjaGFyICopVUFSVDBfUEhZU19CQVNFKQogCiBzdGF0aWMgdm9pZCBwdXRjKGNvbnN0IGNoYXIgYykKIHsKLQlpbnQgaiA9IDB4MTAwMDsKLQl3aGlsZSAoLS1qICYmICEoKk1WX1VBUlRfTFNSICYgTFNSX1RIUkUpKQorCXVuc2lnbmVkIGNoYXIgKmJhc2UgPSBTRVJJQUxfQkFTRTsKKwlpbnQgaTsKKworCWZvciAoaSA9IDA7IGkgPCAweDEwMDA7IGkrKykgeworCQlpZiAoYmFzZVtVQVJUX0xTUiA8PCAyXSAmIFVBUlRfTFNSX1RIUkUpCisJCQlicmVhazsKIAkJYmFycmllcigpOwotCSpNVl9VQVJUX1RIUiA9IGM7CisJfQorCisJYmFzZVtVQVJUX1RYIDw8IDJdID0gYzsKIH0KIAogc3RhdGljIHZvaWQgZmx1c2godm9pZCkKIHsKKwl1bnNpZ25lZCBjaGFyICpiYXNlID0gU0VSSUFMX0JBU0U7CisJdW5zaWduZWQgY2hhciBtYXNrOworCWludCBpOworCisJbWFzayA9IFVBUlRfTFNSX1RFTVQgfCBVQVJUX0xTUl9USFJFOworCisJZm9yIChpID0gMDsgaSA8IDB4MTAwMDsgaSsrKSB7CisJCWlmICgoYmFzZVtVQVJUX0xTUiA8PCAyXSAmIG1hc2spID09IG1hc2spCisJCQlicmVhazsKKwkJYmFycmllcigpOworCX0KIH0KIAogLyoKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLXB4YS9hdWRpby5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtcHhhL2F1ZGlvLmgKaW5kZXggNTJiYmUzYi4uZjgyZjk2ZCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtcHhhL2F1ZGlvLmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtcHhhL2F1ZGlvLmgKQEAgLTEyLDQgKzEyLDYgQEAKIAl2b2lkICpwcml2OwogfSBweGEyeHhfYXVkaW9fb3BzX3Q7CiAKK2V4dGVybiB2b2lkIHB4YV9zZXRfYWM5N19pbmZvKHB4YTJ4eF9hdWRpb19vcHNfdCAqb3BzKTsKKwogI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1weGEvaGFyZHdhcmUuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLXB4YS9oYXJkd2FyZS5oCmluZGV4IGUyNTU1OGYuLmQ5YWY2ZGEgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLXB4YS9oYXJkd2FyZS5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLXB4YS9oYXJkd2FyZS5oCkBAIC0xOTIsMTUgKzE5Miw2IEBACiBleHRlcm4gdm9pZCBweGFfZ3Bpb19zZXRfdmFsdWUodW5zaWduZWQgZ3BpbywgaW50IHZhbHVlKTsKIAogLyoKLSAqIFJvdXRpbmUgdG8gZW5hYmxlIG9yIGRpc2FibGUgQ0tFTgotICovCi1zdGF0aWMgaW5saW5lIHZvaWQgX19kZXByZWNhdGVkIHB4YV9zZXRfY2tlbihpbnQgY2xvY2ssIGludCBlbmFibGUpCi17Ci0JZXh0ZXJuIHZvaWQgX19weGFfc2V0X2NrZW4oaW50IGNsb2NrLCBpbnQgZW5hYmxlKTsKLQlfX3B4YV9zZXRfY2tlbihjbG9jaywgZW5hYmxlKTsKLX0KLQotLyoKICAqIHJldHVybiBjdXJyZW50IG1lbW9yeSBhbmQgTENEIGNsb2NrIGZyZXF1ZW5jeSBpbiB1bml0cyBvZiAxMGtIegogICovCiBleHRlcm4gdW5zaWduZWQgaW50IGdldF9tZW1jbGtfZnJlcXVlbmN5XzEwa2h6KHZvaWQpOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtcHhhL2lyZGEuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLXB4YS9pcmRhLmgKaW5kZXggOTlmNGY0Mi4uMGE1MGMzYyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtcHhhL2lyZGEuaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1weGEvaXJkYS5oCkBAIC0xNiw0ICsxNiw4IEBACiAKIGV4dGVybiB2b2lkIHB4YV9zZXRfZmljcF9pbmZvKHN0cnVjdCBweGFmaWNwX3BsYXRmb3JtX2RhdGEgKmluZm8pOwogCisjaWYgZGVmaW5lZChDT05GSUdfUFhBMjV4KSB8fCBkZWZpbmVkKENPTkZJR19QWEEyN3gpCit2b2lkIHB4YTJ4eF90cmFuc2NlaXZlcl9tb2RlKHN0cnVjdCBkZXZpY2UgKmRldiwgaW50IG1vZGUpOworI2VuZGlmCisKICNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtcHhhL3B4YS1yZWdzLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1weGEvcHhhLXJlZ3MuaAppbmRleCA0YjJlYTFlLi5kY2U5MzA4IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1weGEvcHhhLXJlZ3MuaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1weGEvcHhhLXJlZ3MuaApAQCAtNjAwLDQxOCArNjAwLDYgQEAKIAogCiAvKgotICogVVNCIERldmljZSBDb250cm9sbGVyCi0gKiBQWEEyNXggYW5kIFBYQTI3eCBVU0IgZGV2aWNlIGNvbnRyb2xsZXIgcmVnaXN0ZXJzIGFyZSBkaWZmZXJlbnQuCi0gKi8KLSNpZiBkZWZpbmVkKENPTkZJR19QWEEyNXgpCi0KLSNkZWZpbmUgVURDX1JFUzEJX19SRUcoMHg0MDYwMDAwNCkgIC8qIFVEQyBVbmRvY3VtZW50ZWQgLSBSZXNlcnZlZDEgKi8KLSNkZWZpbmUgVURDX1JFUzIJX19SRUcoMHg0MDYwMDAwOCkgIC8qIFVEQyBVbmRvY3VtZW50ZWQgLSBSZXNlcnZlZDIgKi8KLSNkZWZpbmUgVURDX1JFUzMJX19SRUcoMHg0MDYwMDAwQykgIC8qIFVEQyBVbmRvY3VtZW50ZWQgLSBSZXNlcnZlZDMgKi8KLQotI2RlZmluZSBVRENDUgkJX19SRUcoMHg0MDYwMDAwMCkgIC8qIFVEQyBDb250cm9sIFJlZ2lzdGVyICovCi0jZGVmaW5lIFVEQ0NSX1VERQkoMSA8PCAwKQkvKiBVREMgZW5hYmxlICovCi0jZGVmaW5lIFVEQ0NSX1VEQQkoMSA8PCAxKQkvKiBVREMgYWN0aXZlICovCi0jZGVmaW5lIFVEQ0NSX1JTTQkoMSA8PCAyKQkvKiBEZXZpY2UgcmVzdW1lICovCi0jZGVmaW5lIFVEQ0NSX1JFU0lSCSgxIDw8IDMpCS8qIFJlc3VtZSBpbnRlcnJ1cHQgcmVxdWVzdCAqLwotI2RlZmluZSBVRENDUl9TVVNJUgkoMSA8PCA0KQkvKiBTdXNwZW5kIGludGVycnVwdCByZXF1ZXN0ICovCi0jZGVmaW5lIFVEQ0NSX1NSTQkoMSA8PCA1KQkvKiBTdXNwZW5kL3Jlc3VtZSBpbnRlcnJ1cHQgbWFzayAqLwotI2RlZmluZSBVRENDUl9SU1RJUgkoMSA8PCA2KQkvKiBSZXNldCBpbnRlcnJ1cHQgcmVxdWVzdCAqLwotI2RlZmluZSBVRENDUl9SRU0JKDEgPDwgNykJLyogUmVzZXQgaW50ZXJydXB0IG1hc2sgKi8KLQotI2RlZmluZSBVRENDUzAJCV9fUkVHKDB4NDA2MDAwMTApICAvKiBVREMgRW5kcG9pbnQgMCBDb250cm9sL1N0YXR1cyBSZWdpc3RlciAqLwotI2RlZmluZSBVRENDUzBfT1BSCSgxIDw8IDApCS8qIE9VVCBwYWNrZXQgcmVhZHkgKi8KLSNkZWZpbmUgVURDQ1MwX0lQUgkoMSA8PCAxKQkvKiBJTiBwYWNrZXQgcmVhZHkgKi8KLSNkZWZpbmUgVURDQ1MwX0ZURgkoMSA8PCAyKQkvKiBGbHVzaCBUeCBGSUZPICovCi0jZGVmaW5lIFVEQ0NTMF9EUldGCSgxIDw8IDMpCS8qIERldmljZSByZW1vdGUgd2FrZXVwIGZlYXR1cmUgKi8KLSNkZWZpbmUgVURDQ1MwX1NTVAkoMSA8PCA0KQkvKiBTZW50IHN0YWxsICovCi0jZGVmaW5lIFVEQ0NTMF9GU1QJKDEgPDwgNSkJLyogRm9yY2Ugc3RhbGwgKi8KLSNkZWZpbmUgVURDQ1MwX1JORQkoMSA8PCA2KQkvKiBSZWNlaXZlIEZJRk8gbm8gZW1wdHkgKi8KLSNkZWZpbmUgVURDQ1MwX1NBCSgxIDw8IDcpCS8qIFNldHVwIGFjdGl2ZSAqLwotCi0vKiBCdWxrIElOIC0gRW5kcG9pbnQgMSw2LDExICovCi0jZGVmaW5lIFVEQ0NTMQkJX19SRUcoMHg0MDYwMDAxNCkgIC8qIFVEQyBFbmRwb2ludCAxIChJTikgQ29udHJvbC9TdGF0dXMgUmVnaXN0ZXIgKi8KLSNkZWZpbmUgVURDQ1M2CQlfX1JFRygweDQwNjAwMDI4KSAgLyogVURDIEVuZHBvaW50IDYgKElOKSBDb250cm9sL1N0YXR1cyBSZWdpc3RlciAqLwotI2RlZmluZSBVRENDUzExCQlfX1JFRygweDQwNjAwMDNDKSAgLyogVURDIEVuZHBvaW50IDExIChJTikgQ29udHJvbC9TdGF0dXMgUmVnaXN0ZXIgKi8KLQotI2RlZmluZSBVRENDU19CSV9URlMJKDEgPDwgMCkJLyogVHJhbnNtaXQgRklGTyBzZXJ2aWNlICovCi0jZGVmaW5lIFVEQ0NTX0JJX1RQQwkoMSA8PCAxKQkvKiBUcmFuc21pdCBwYWNrZXQgY29tcGxldGUgKi8KLSNkZWZpbmUgVURDQ1NfQklfRlRGCSgxIDw8IDIpCS8qIEZsdXNoIFR4IEZJRk8gKi8KLSNkZWZpbmUgVURDQ1NfQklfVFVSCSgxIDw8IDMpCS8qIFRyYW5zbWl0IEZJRk8gdW5kZXJydW4gKi8KLSNkZWZpbmUgVURDQ1NfQklfU1NUCSgxIDw8IDQpCS8qIFNlbnQgc3RhbGwgKi8KLSNkZWZpbmUgVURDQ1NfQklfRlNUCSgxIDw8IDUpCS8qIEZvcmNlIHN0YWxsICovCi0jZGVmaW5lIFVEQ0NTX0JJX1RTUAkoMSA8PCA3KQkvKiBUcmFuc21pdCBzaG9ydCBwYWNrZXQgKi8KLQotLyogQnVsayBPVVQgLSBFbmRwb2ludCAyLDcsMTIgKi8KLSNkZWZpbmUgVURDQ1MyCQlfX1JFRygweDQwNjAwMDE4KSAgLyogVURDIEVuZHBvaW50IDIgKE9VVCkgQ29udHJvbC9TdGF0dXMgUmVnaXN0ZXIgKi8KLSNkZWZpbmUgVURDQ1M3CQlfX1JFRygweDQwNjAwMDJDKSAgLyogVURDIEVuZHBvaW50IDcgKE9VVCkgQ29udHJvbC9TdGF0dXMgUmVnaXN0ZXIgKi8KLSNkZWZpbmUgVURDQ1MxMgkJX19SRUcoMHg0MDYwMDA0MCkgIC8qIFVEQyBFbmRwb2ludCAxMiAoT1VUKSBDb250cm9sL1N0YXR1cyBSZWdpc3RlciAqLwotCi0jZGVmaW5lIFVEQ0NTX0JPX1JGUwkoMSA8PCAwKQkvKiBSZWNlaXZlIEZJRk8gc2VydmljZSAqLwotI2RlZmluZSBVRENDU19CT19SUEMJKDEgPDwgMSkJLyogUmVjZWl2ZSBwYWNrZXQgY29tcGxldGUgKi8KLSNkZWZpbmUgVURDQ1NfQk9fRE1FCSgxIDw8IDMpCS8qIERNQSBlbmFibGUgKi8KLSNkZWZpbmUgVURDQ1NfQk9fU1NUCSgxIDw8IDQpCS8qIFNlbnQgc3RhbGwgKi8KLSNkZWZpbmUgVURDQ1NfQk9fRlNUCSgxIDw8IDUpCS8qIEZvcmNlIHN0YWxsICovCi0jZGVmaW5lIFVEQ0NTX0JPX1JORQkoMSA8PCA2KQkvKiBSZWNlaXZlIEZJRk8gbm90IGVtcHR5ICovCi0jZGVmaW5lIFVEQ0NTX0JPX1JTUAkoMSA8PCA3KQkvKiBSZWNlaXZlIHNob3J0IHBhY2tldCAqLwotCi0vKiBJc29jaHJvbm91cyBJTiAtIEVuZHBvaW50IDMsOCwxMyAqLwotI2RlZmluZSBVRENDUzMJCV9fUkVHKDB4NDA2MDAwMUMpICAvKiBVREMgRW5kcG9pbnQgMyAoSU4pIENvbnRyb2wvU3RhdHVzIFJlZ2lzdGVyICovCi0jZGVmaW5lIFVEQ0NTOAkJX19SRUcoMHg0MDYwMDAzMCkgIC8qIFVEQyBFbmRwb2ludCA4IChJTikgQ29udHJvbC9TdGF0dXMgUmVnaXN0ZXIgKi8KLSNkZWZpbmUgVURDQ1MxMwkJX19SRUcoMHg0MDYwMDA0NCkgIC8qIFVEQyBFbmRwb2ludCAxMyAoSU4pIENvbnRyb2wvU3RhdHVzIFJlZ2lzdGVyICovCi0KLSNkZWZpbmUgVURDQ1NfSUlfVEZTCSgxIDw8IDApCS8qIFRyYW5zbWl0IEZJRk8gc2VydmljZSAqLwotI2RlZmluZSBVRENDU19JSV9UUEMJKDEgPDwgMSkJLyogVHJhbnNtaXQgcGFja2V0IGNvbXBsZXRlICovCi0jZGVmaW5lIFVEQ0NTX0lJX0ZURgkoMSA8PCAyKQkvKiBGbHVzaCBUeCBGSUZPICovCi0jZGVmaW5lIFVEQ0NTX0lJX1RVUgkoMSA8PCAzKQkvKiBUcmFuc21pdCBGSUZPIHVuZGVycnVuICovCi0jZGVmaW5lIFVEQ0NTX0lJX1RTUAkoMSA8PCA3KQkvKiBUcmFuc21pdCBzaG9ydCBwYWNrZXQgKi8KLQotLyogSXNvY2hyb25vdXMgT1VUIC0gRW5kcG9pbnQgNCw5LDE0ICovCi0jZGVmaW5lIFVEQ0NTNAkJX19SRUcoMHg0MDYwMDAyMCkgIC8qIFVEQyBFbmRwb2ludCA0IChPVVQpIENvbnRyb2wvU3RhdHVzIFJlZ2lzdGVyICovCi0jZGVmaW5lIFVEQ0NTOQkJX19SRUcoMHg0MDYwMDAzNCkgIC8qIFVEQyBFbmRwb2ludCA5IChPVVQpIENvbnRyb2wvU3RhdHVzIFJlZ2lzdGVyICovCi0jZGVmaW5lIFVEQ0NTMTQJCV9fUkVHKDB4NDA2MDAwNDgpICAvKiBVREMgRW5kcG9pbnQgMTQgKE9VVCkgQ29udHJvbC9TdGF0dXMgUmVnaXN0ZXIgKi8KLQotI2RlZmluZSBVRENDU19JT19SRlMJKDEgPDwgMCkJLyogUmVjZWl2ZSBGSUZPIHNlcnZpY2UgKi8KLSNkZWZpbmUgVURDQ1NfSU9fUlBDCSgxIDw8IDEpCS8qIFJlY2VpdmUgcGFja2V0IGNvbXBsZXRlICovCi0jZGVmaW5lIFVEQ0NTX0lPX1JPRgkoMSA8PCAyKQkvKiBSZWNlaXZlIG92ZXJmbG93ICovCi0jZGVmaW5lIFVEQ0NTX0lPX0RNRQkoMSA8PCAzKQkvKiBETUEgZW5hYmxlICovCi0jZGVmaW5lIFVEQ0NTX0lPX1JORQkoMSA8PCA2KQkvKiBSZWNlaXZlIEZJRk8gbm90IGVtcHR5ICovCi0jZGVmaW5lIFVEQ0NTX0lPX1JTUAkoMSA8PCA3KQkvKiBSZWNlaXZlIHNob3J0IHBhY2tldCAqLwotCi0vKiBJbnRlcnJ1cHQgSU4gLSBFbmRwb2ludCA1LDEwLDE1ICovCi0jZGVmaW5lIFVEQ0NTNQkJX19SRUcoMHg0MDYwMDAyNCkgIC8qIFVEQyBFbmRwb2ludCA1IChJbnRlcnJ1cHQpIENvbnRyb2wvU3RhdHVzIFJlZ2lzdGVyICovCi0jZGVmaW5lIFVEQ0NTMTAJCV9fUkVHKDB4NDA2MDAwMzgpICAvKiBVREMgRW5kcG9pbnQgMTAgKEludGVycnVwdCkgQ29udHJvbC9TdGF0dXMgUmVnaXN0ZXIgKi8KLSNkZWZpbmUgVURDQ1MxNQkJX19SRUcoMHg0MDYwMDA0QykgIC8qIFVEQyBFbmRwb2ludCAxNSAoSW50ZXJydXB0KSBDb250cm9sL1N0YXR1cyBSZWdpc3RlciAqLwotCi0jZGVmaW5lIFVEQ0NTX0lOVF9URlMJKDEgPDwgMCkJLyogVHJhbnNtaXQgRklGTyBzZXJ2aWNlICovCi0jZGVmaW5lIFVEQ0NTX0lOVF9UUEMJKDEgPDwgMSkJLyogVHJhbnNtaXQgcGFja2V0IGNvbXBsZXRlICovCi0jZGVmaW5lIFVEQ0NTX0lOVF9GVEYJKDEgPDwgMikJLyogRmx1c2ggVHggRklGTyAqLwotI2RlZmluZSBVRENDU19JTlRfVFVSCSgxIDw8IDMpCS8qIFRyYW5zbWl0IEZJRk8gdW5kZXJydW4gKi8KLSNkZWZpbmUgVURDQ1NfSU5UX1NTVAkoMSA8PCA0KQkvKiBTZW50IHN0YWxsICovCi0jZGVmaW5lIFVEQ0NTX0lOVF9GU1QJKDEgPDwgNSkJLyogRm9yY2Ugc3RhbGwgKi8KLSNkZWZpbmUgVURDQ1NfSU5UX1RTUAkoMSA8PCA3KQkvKiBUcmFuc21pdCBzaG9ydCBwYWNrZXQgKi8KLQotI2RlZmluZSBVRk5SSAkJX19SRUcoMHg0MDYwMDA2MCkgIC8qIFVEQyBGcmFtZSBOdW1iZXIgUmVnaXN0ZXIgSGlnaCAqLwotI2RlZmluZSBVRk5STAkJX19SRUcoMHg0MDYwMDA2NCkgIC8qIFVEQyBGcmFtZSBOdW1iZXIgUmVnaXN0ZXIgTG93ICovCi0jZGVmaW5lIFVCQ1IyCQlfX1JFRygweDQwNjAwMDY4KSAgLyogVURDIEJ5dGUgQ291bnQgUmVnIDIgKi8KLSNkZWZpbmUgVUJDUjQJCV9fUkVHKDB4NDA2MDAwNmMpICAvKiBVREMgQnl0ZSBDb3VudCBSZWcgNCAqLwotI2RlZmluZSBVQkNSNwkJX19SRUcoMHg0MDYwMDA3MCkgIC8qIFVEQyBCeXRlIENvdW50IFJlZyA3ICovCi0jZGVmaW5lIFVCQ1I5CQlfX1JFRygweDQwNjAwMDc0KSAgLyogVURDIEJ5dGUgQ291bnQgUmVnIDkgKi8KLSNkZWZpbmUgVUJDUjEyCQlfX1JFRygweDQwNjAwMDc4KSAgLyogVURDIEJ5dGUgQ291bnQgUmVnIDEyICovCi0jZGVmaW5lIFVCQ1IxNAkJX19SRUcoMHg0MDYwMDA3YykgIC8qIFVEQyBCeXRlIENvdW50IFJlZyAxNCAqLwotI2RlZmluZSBVRERSMAkJX19SRUcoMHg0MDYwMDA4MCkgIC8qIFVEQyBFbmRwb2ludCAwIERhdGEgUmVnaXN0ZXIgKi8KLSNkZWZpbmUgVUREUjEJCV9fUkVHKDB4NDA2MDAxMDApICAvKiBVREMgRW5kcG9pbnQgMSBEYXRhIFJlZ2lzdGVyICovCi0jZGVmaW5lIFVERFIyCQlfX1JFRygweDQwNjAwMTgwKSAgLyogVURDIEVuZHBvaW50IDIgRGF0YSBSZWdpc3RlciAqLwotI2RlZmluZSBVRERSMwkJX19SRUcoMHg0MDYwMDIwMCkgIC8qIFVEQyBFbmRwb2ludCAzIERhdGEgUmVnaXN0ZXIgKi8KLSNkZWZpbmUgVUREUjQJCV9fUkVHKDB4NDA2MDA0MDApICAvKiBVREMgRW5kcG9pbnQgNCBEYXRhIFJlZ2lzdGVyICovCi0jZGVmaW5lIFVERFI1CQlfX1JFRygweDQwNjAwMEEwKSAgLyogVURDIEVuZHBvaW50IDUgRGF0YSBSZWdpc3RlciAqLwotI2RlZmluZSBVRERSNgkJX19SRUcoMHg0MDYwMDYwMCkgIC8qIFVEQyBFbmRwb2ludCA2IERhdGEgUmVnaXN0ZXIgKi8KLSNkZWZpbmUgVUREUjcJCV9fUkVHKDB4NDA2MDA2ODApICAvKiBVREMgRW5kcG9pbnQgNyBEYXRhIFJlZ2lzdGVyICovCi0jZGVmaW5lIFVERFI4CQlfX1JFRygweDQwNjAwNzAwKSAgLyogVURDIEVuZHBvaW50IDggRGF0YSBSZWdpc3RlciAqLwotI2RlZmluZSBVRERSOQkJX19SRUcoMHg0MDYwMDkwMCkgIC8qIFVEQyBFbmRwb2ludCA5IERhdGEgUmVnaXN0ZXIgKi8KLSNkZWZpbmUgVUREUjEwCQlfX1JFRygweDQwNjAwMEMwKSAgLyogVURDIEVuZHBvaW50IDEwIERhdGEgUmVnaXN0ZXIgKi8KLSNkZWZpbmUgVUREUjExCQlfX1JFRygweDQwNjAwQjAwKSAgLyogVURDIEVuZHBvaW50IDExIERhdGEgUmVnaXN0ZXIgKi8KLSNkZWZpbmUgVUREUjEyCQlfX1JFRygweDQwNjAwQjgwKSAgLyogVURDIEVuZHBvaW50IDEyIERhdGEgUmVnaXN0ZXIgKi8KLSNkZWZpbmUgVUREUjEzCQlfX1JFRygweDQwNjAwQzAwKSAgLyogVURDIEVuZHBvaW50IDEzIERhdGEgUmVnaXN0ZXIgKi8KLSNkZWZpbmUgVUREUjE0CQlfX1JFRygweDQwNjAwRTAwKSAgLyogVURDIEVuZHBvaW50IDE0IERhdGEgUmVnaXN0ZXIgKi8KLSNkZWZpbmUgVUREUjE1CQlfX1JFRygweDQwNjAwMEUwKSAgLyogVURDIEVuZHBvaW50IDE1IERhdGEgUmVnaXN0ZXIgKi8KLQotI2RlZmluZSBVSUNSMAkJX19SRUcoMHg0MDYwMDA1MCkgIC8qIFVEQyBJbnRlcnJ1cHQgQ29udHJvbCBSZWdpc3RlciAwICovCi0KLSNkZWZpbmUgVUlDUjBfSU0wCSgxIDw8IDApCS8qIEludGVycnVwdCBtYXNrIGVwIDAgKi8KLSNkZWZpbmUgVUlDUjBfSU0xCSgxIDw8IDEpCS8qIEludGVycnVwdCBtYXNrIGVwIDEgKi8KLSNkZWZpbmUgVUlDUjBfSU0yCSgxIDw8IDIpCS8qIEludGVycnVwdCBtYXNrIGVwIDIgKi8KLSNkZWZpbmUgVUlDUjBfSU0zCSgxIDw8IDMpCS8qIEludGVycnVwdCBtYXNrIGVwIDMgKi8KLSNkZWZpbmUgVUlDUjBfSU00CSgxIDw8IDQpCS8qIEludGVycnVwdCBtYXNrIGVwIDQgKi8KLSNkZWZpbmUgVUlDUjBfSU01CSgxIDw8IDUpCS8qIEludGVycnVwdCBtYXNrIGVwIDUgKi8KLSNkZWZpbmUgVUlDUjBfSU02CSgxIDw8IDYpCS8qIEludGVycnVwdCBtYXNrIGVwIDYgKi8KLSNkZWZpbmUgVUlDUjBfSU03CSgxIDw8IDcpCS8qIEludGVycnVwdCBtYXNrIGVwIDcgKi8KLQotI2RlZmluZSBVSUNSMQkJX19SRUcoMHg0MDYwMDA1NCkgIC8qIFVEQyBJbnRlcnJ1cHQgQ29udHJvbCBSZWdpc3RlciAxICovCi0KLSNkZWZpbmUgVUlDUjFfSU04CSgxIDw8IDApCS8qIEludGVycnVwdCBtYXNrIGVwIDggKi8KLSNkZWZpbmUgVUlDUjFfSU05CSgxIDw8IDEpCS8qIEludGVycnVwdCBtYXNrIGVwIDkgKi8KLSNkZWZpbmUgVUlDUjFfSU0xMAkoMSA8PCAyKQkvKiBJbnRlcnJ1cHQgbWFzayBlcCAxMCAqLwotI2RlZmluZSBVSUNSMV9JTTExCSgxIDw8IDMpCS8qIEludGVycnVwdCBtYXNrIGVwIDExICovCi0jZGVmaW5lIFVJQ1IxX0lNMTIJKDEgPDwgNCkJLyogSW50ZXJydXB0IG1hc2sgZXAgMTIgKi8KLSNkZWZpbmUgVUlDUjFfSU0xMwkoMSA8PCA1KQkvKiBJbnRlcnJ1cHQgbWFzayBlcCAxMyAqLwotI2RlZmluZSBVSUNSMV9JTTE0CSgxIDw8IDYpCS8qIEludGVycnVwdCBtYXNrIGVwIDE0ICovCi0jZGVmaW5lIFVJQ1IxX0lNMTUJKDEgPDwgNykJLyogSW50ZXJydXB0IG1hc2sgZXAgMTUgKi8KLQotI2RlZmluZSBVU0lSMAkJX19SRUcoMHg0MDYwMDA1OCkgIC8qIFVEQyBTdGF0dXMgSW50ZXJydXB0IFJlZ2lzdGVyIDAgKi8KLQotI2RlZmluZSBVU0lSMF9JUjAJKDEgPDwgMCkJLyogSW50ZXJydXB0IHJlcXVlc3QgZXAgMCAqLwotI2RlZmluZSBVU0lSMF9JUjEJKDEgPDwgMSkJLyogSW50ZXJydXB0IHJlcXVlc3QgZXAgMSAqLwotI2RlZmluZSBVU0lSMF9JUjIJKDEgPDwgMikJLyogSW50ZXJydXB0IHJlcXVlc3QgZXAgMiAqLwotI2RlZmluZSBVU0lSMF9JUjMJKDEgPDwgMykJLyogSW50ZXJydXB0IHJlcXVlc3QgZXAgMyAqLwotI2RlZmluZSBVU0lSMF9JUjQJKDEgPDwgNCkJLyogSW50ZXJydXB0IHJlcXVlc3QgZXAgNCAqLwotI2RlZmluZSBVU0lSMF9JUjUJKDEgPDwgNSkJLyogSW50ZXJydXB0IHJlcXVlc3QgZXAgNSAqLwotI2RlZmluZSBVU0lSMF9JUjYJKDEgPDwgNikJLyogSW50ZXJydXB0IHJlcXVlc3QgZXAgNiAqLwotI2RlZmluZSBVU0lSMF9JUjcJKDEgPDwgNykJLyogSW50ZXJydXB0IHJlcXVlc3QgZXAgNyAqLwotCi0jZGVmaW5lIFVTSVIxCQlfX1JFRygweDQwNjAwMDVDKSAgLyogVURDIFN0YXR1cyBJbnRlcnJ1cHQgUmVnaXN0ZXIgMSAqLwotCi0jZGVmaW5lIFVTSVIxX0lSOAkoMSA8PCAwKQkvKiBJbnRlcnJ1cHQgcmVxdWVzdCBlcCA4ICovCi0jZGVmaW5lIFVTSVIxX0lSOQkoMSA8PCAxKQkvKiBJbnRlcnJ1cHQgcmVxdWVzdCBlcCA5ICovCi0jZGVmaW5lIFVTSVIxX0lSMTAJKDEgPDwgMikJLyogSW50ZXJydXB0IHJlcXVlc3QgZXAgMTAgKi8KLSNkZWZpbmUgVVNJUjFfSVIxMQkoMSA8PCAzKQkvKiBJbnRlcnJ1cHQgcmVxdWVzdCBlcCAxMSAqLwotI2RlZmluZSBVU0lSMV9JUjEyCSgxIDw8IDQpCS8qIEludGVycnVwdCByZXF1ZXN0IGVwIDEyICovCi0jZGVmaW5lIFVTSVIxX0lSMTMJKDEgPDwgNSkJLyogSW50ZXJydXB0IHJlcXVlc3QgZXAgMTMgKi8KLSNkZWZpbmUgVVNJUjFfSVIxNAkoMSA8PCA2KQkvKiBJbnRlcnJ1cHQgcmVxdWVzdCBlcCAxNCAqLwotI2RlZmluZSBVU0lSMV9JUjE1CSgxIDw8IDcpCS8qIEludGVycnVwdCByZXF1ZXN0IGVwIDE1ICovCi0KLSNlbGlmIGRlZmluZWQoQ09ORklHX1BYQTI3eCkKLQotI2RlZmluZSBVRENDUiAgICAgICAgICAgX19SRUcoMHg0MDYwMDAwMCkgLyogVURDIENvbnRyb2wgUmVnaXN0ZXIgKi8KLSNkZWZpbmUgVURDQ1JfT0VOCSgxIDw8IDMxKQkvKiBPbi10aGUtR28gRW5hYmxlICovCi0jZGVmaW5lIFVEQ0NSX0FBTFRITlAJKDEgPDwgMzApCS8qIEEtZGV2aWNlIEFsdGVybmF0ZSBIb3N0IE5lZ290aWF0aW9uCi0JCQkJCSAgIFByb3RvY29sIFBvcnQgU3VwcG9ydCAqLwotI2RlZmluZSBVRENDUl9BSE5QCSgxIDw8IDI5KQkvKiBBLWRldmljZSBIb3N0IE5lZ290aWF0aW9uIFByb3RvY29sCi0JCQkJCSAgIFN1cHBvcnQgKi8KLSNkZWZpbmUgVURDQ1JfQkhOUAkoMSA8PCAyOCkJLyogQi1kZXZpY2UgSG9zdCBOZWdvdGlhdGlvbiBQcm90b2NvbAotCQkJCQkgICBFbmFibGUgKi8KLSNkZWZpbmUgVURDQ1JfRFdSRQkoMSA8PCAxNikJLyogRGV2aWNlIFJlbW90ZSBXYWtlLXVwIEVuYWJsZSAqLwotI2RlZmluZSBVRENDUl9BQ04JKDB4MDMgPDwgMTEpCS8qIEFjdGl2ZSBVREMgY29uZmlndXJhdGlvbiBOdW1iZXIgKi8KLSNkZWZpbmUgVURDQ1JfQUNOX1MJMTEKLSNkZWZpbmUgVURDQ1JfQUlOCSgweDA3IDw8IDgpCS8qIEFjdGl2ZSBVREMgaW50ZXJmYWNlIE51bWJlciAqLwotI2RlZmluZSBVRENDUl9BSU5fUwk4Ci0jZGVmaW5lIFVEQ0NSX0FBSVNOCSgweDA3IDw8IDUpCS8qIEFjdGl2ZSBVREMgQWx0ZXJuYXRlIEludGVyZmFjZQotCQkJCQkgICBTZXR0aW5nIE51bWJlciAqLwotI2RlZmluZSBVRENDUl9BQUlTTl9TCTUKLSNkZWZpbmUgVURDQ1JfU01BQwkoMSA8PCA0KQkvKiBTd2l0Y2ggRW5kcG9pbnQgTWVtb3J5IHRvIEFjdGl2ZQotCQkJCQkgICBDb25maWd1cmF0aW9uICovCi0jZGVmaW5lIFVEQ0NSX0VNQ0UJKDEgPDwgMykJLyogRW5kcG9pbnQgTWVtb3J5IENvbmZpZ3VyYXRpb24KLQkJCQkJICAgRXJyb3IgKi8KLSNkZWZpbmUgVURDQ1JfVURSCSgxIDw8IDIpCS8qIFVEQyBSZXN1bWUgKi8KLSNkZWZpbmUgVURDQ1JfVURBCSgxIDw8IDEpCS8qIFVEQyBBY3RpdmUgKi8KLSNkZWZpbmUgVURDQ1JfVURFCSgxIDw8IDApCS8qIFVEQyBFbmFibGUgKi8KLQotI2RlZmluZSBVRENJQ1IwICAgICAgICAgX19SRUcoMHg0MDYwMDAwNCkgLyogVURDIEludGVycnVwdCBDb250cm9sIFJlZ2lzdGVyMCAqLwotI2RlZmluZSBVRENJQ1IxICAgICAgICAgX19SRUcoMHg0MDYwMDAwOCkgLyogVURDIEludGVycnVwdCBDb250cm9sIFJlZ2lzdGVyMSAqLwotI2RlZmluZSBVRENJQ1JfRklGT0VSUgkoMSA8PCAxKQkvKiBGSUZPIEVycm9yIGludGVycnVwdCBmb3IgRVAgKi8KLSNkZWZpbmUgVURDSUNSX1BLVENPTVBMICgxIDw8IDApCS8qIFBhY2tldCBDb21wbGV0ZSBpbnRlcnJ1cHQgZm9yIEVQICovCi0KLSNkZWZpbmUgVURDX0lOVF9GSUZPRVJST1IgICgweDIpCi0jZGVmaW5lIFVEQ19JTlRfUEFDS0VUQ01QICAoMHgxKQotCi0jZGVmaW5lIFVEQ0lDUl9JTlQobixpbnRyKSAoKChpbnRyKSAmIDB4MDMpIDw8ICgoKG4pICYgMHgwRikgKiAyKSkKLSNkZWZpbmUgVURDSUNSMV9JRUNDCSgxIDw8IDMxKQkvKiBJbnRFbiAtIENvbmZpZ3VyYXRpb24gQ2hhbmdlICovCi0jZGVmaW5lIFVEQ0lDUjFfSUVTT0YJKDEgPDwgMzApCS8qIEludEVuIC0gU3RhcnQgb2YgRnJhbWUgKi8KLSNkZWZpbmUgVURDSUNSMV9JRVJVCSgxIDw8IDI5KQkvKiBJbnRFbiAtIFJlc3VtZSAqLwotI2RlZmluZSBVRENJQ1IxX0lFU1UJKDEgPDwgMjgpCS8qIEludEVuIC0gU3VzcGVuZCAqLwotI2RlZmluZSBVRENJQ1IxX0lFUlMJKDEgPDwgMjcpCS8qIEludEVuIC0gUmVzZXQgKi8KLQotI2RlZmluZSBVRENJU1IwICAgICAgICAgX19SRUcoMHg0MDYwMDAwQykgLyogVURDIEludGVycnVwdCBTdGF0dXMgUmVnaXN0ZXIgMCAqLwotI2RlZmluZSBVRENJU1IxICAgICAgICAgX19SRUcoMHg0MDYwMDAxMCkgLyogVURDIEludGVycnVwdCBTdGF0dXMgUmVnaXN0ZXIgMSAqLwotI2RlZmluZSBVRENJU1JfSU5UKG4saW50cikgKCgoaW50cikgJiAweDAzKSA8PCAoKChuKSAmIDB4MEYpICogMikpCi0jZGVmaW5lIFVEQ0lTUjFfSVJDQwkoMSA8PCAzMSkJLyogSW50UmVxIC0gQ29uZmlndXJhdGlvbiBDaGFuZ2UgKi8KLSNkZWZpbmUgVURDSVNSMV9JUlNPRgkoMSA8PCAzMCkJLyogSW50UmVxIC0gU3RhcnQgb2YgRnJhbWUgKi8KLSNkZWZpbmUgVURDSVNSMV9JUlJVCSgxIDw8IDI5KQkvKiBJbnRSZXEgLSBSZXN1bWUgKi8KLSNkZWZpbmUgVURDSVNSMV9JUlNVCSgxIDw8IDI4KQkvKiBJbnRSZXEgLSBTdXNwZW5kICovCi0jZGVmaW5lIFVEQ0lTUjFfSVJSUwkoMSA8PCAyNykJLyogSW50UmVxIC0gUmVzZXQgKi8KLQotI2RlZmluZSBVRENGTlIgICAgICAgICAgX19SRUcoMHg0MDYwMDAxNCkgLyogVURDIEZyYW1lIE51bWJlciBSZWdpc3RlciAqLwotI2RlZmluZSBVRENPVEdJQ1IJX19SRUcoMHg0MDYwMDAxOCkgLyogVURDIE9uLVRoZS1HbyBpbnRlcnJ1cHQgY29udHJvbCAqLwotI2RlZmluZSBVRENPVEdJQ1JfSUVTRgkoMSA8PCAyNCkJLyogT1RHIFNFVF9GRUFUVVJFIGNvbW1hbmQgcmVjdmQgKi8KLSNkZWZpbmUgVURDT1RHSUNSX0lFWFIJKDEgPDwgMTcpCS8qIEV4dHJhIFRyYW5zY2lldmVyIEludGVycnVwdAotCQkJCQkgICBSaXNpbmcgRWRnZSBJbnRlcnJ1cHQgRW5hYmxlICovCi0jZGVmaW5lIFVEQ09UR0lDUl9JRVhGCSgxIDw8IDE2KQkvKiBFeHRyYSBUcmFuc2NpZXZlciBJbnRlcnJ1cHQKLQkJCQkJICAgRmFsbGluZyBFZGdlIEludGVycnVwdCBFbmFibGUgKi8KLSNkZWZpbmUgVURDT1RHSUNSX0lFVlY0MFIgKDEgPDwgOSkJLyogT1RHIFZidXMgVmFsaWQgNC4wViBSaXNpbmcgRWRnZQotCQkJCQkgICBJbnRlcnJ1cHQgRW5hYmxlICovCi0jZGVmaW5lIFVEQ09UR0lDUl9JRVZWNDBGICgxIDw8IDgpCS8qIE9URyBWYnVzIFZhbGlkIDQuMFYgRmFsbGluZyBFZGdlCi0JCQkJCSAgIEludGVycnVwdCBFbmFibGUgKi8KLSNkZWZpbmUgVURDT1RHSUNSX0lFVlY0NFIgKDEgPDwgNykJLyogT1RHIFZidXMgVmFsaWQgNC40ViBSaXNpbmcgRWRnZQotCQkJCQkgICBJbnRlcnJ1cHQgRW5hYmxlICovCi0jZGVmaW5lIFVEQ09UR0lDUl9JRVZWNDRGICgxIDw8IDYpCS8qIE9URyBWYnVzIFZhbGlkIDQuNFYgRmFsbGluZyBFZGdlCi0JCQkJCSAgIEludGVycnVwdCBFbmFibGUgKi8KLSNkZWZpbmUgVURDT1RHSUNSX0lFU1ZSCSgxIDw8IDUpCS8qIE9URyBTZXNzaW9uIFZhbGlkIFJpc2luZyBFZGdlCi0JCQkJCSAgIEludGVycnVwdCBFbmFibGUgKi8KLSNkZWZpbmUgVURDT1RHSUNSX0lFU1ZGCSgxIDw8IDQpCS8qIE9URyBTZXNzaW9uIFZhbGlkIEZhbGxpbmcgRWRnZQotCQkJCQkgICBJbnRlcnJ1cHQgRW5hYmxlICovCi0jZGVmaW5lIFVEQ09UR0lDUl9JRVNEUgkoMSA8PCAzKQkvKiBPVEcgQS1EZXZpY2UgU1JQIERldGVjdCBSaXNpbmcKLQkJCQkJICAgRWRnZSBJbnRlcnJ1cHQgRW5hYmxlICovCi0jZGVmaW5lIFVEQ09UR0lDUl9JRVNERgkoMSA8PCAyKQkvKiBPVEcgQS1EZXZpY2UgU1JQIERldGVjdCBGYWxsaW5nCi0JCQkJCSAgIEVkZ2UgSW50ZXJydXB0IEVuYWJsZSAqLwotI2RlZmluZSBVRENPVEdJQ1JfSUVJRFIJKDEgPDwgMSkJLyogT1RHIElEIENoYW5nZSBSaXNpbmcgRWRnZQotCQkJCQkgICBJbnRlcnJ1cHQgRW5hYmxlICovCi0jZGVmaW5lIFVEQ09UR0lDUl9JRUlERgkoMSA8PCAwKQkvKiBPVEcgSUQgQ2hhbmdlIEZhbGxpbmcgRWRnZQotCQkJCQkgICBJbnRlcnJ1cHQgRW5hYmxlICovCi0KLSNkZWZpbmUgVVAyT0NSCQkgIF9fUkVHKDB4NDA2MDAwMjApICAvKiBVU0IgUG9ydCAyIE91dHB1dCBDb250cm9sIHJlZ2lzdGVyICovCi0KLSNkZWZpbmUgVVAyT0NSX0NQVkVOCSgxIDw8IDApCS8qIENoYXJnZSBQdW1wIFZidXMgRW5hYmxlICovCi0jZGVmaW5lIFVQMk9DUl9DUFZQRQkoMSA8PCAxKQkvKiBDaGFyZ2UgUHVtcCBWYnVzIFB1bHNlIEVuYWJsZSAqLwotI2RlZmluZSBVUDJPQ1JfRFBQREUJKDEgPDwgMikJLyogSG9zdCBQb3J0IDIgVHJhbnNjZWl2ZXIgRCsgUHVsbCBEb3duIEVuYWJsZSAqLwotI2RlZmluZSBVUDJPQ1JfRE1QREUJKDEgPDwgMykJLyogSG9zdCBQb3J0IDIgVHJhbnNjZWl2ZXIgRC0gUHVsbCBEb3duIEVuYWJsZSAqLwotI2RlZmluZSBVUDJPQ1JfRFBQVUUJKDEgPDwgNCkJLyogSG9zdCBQb3J0IDIgVHJhbnNjZWl2ZXIgRCsgUHVsbCBVcCBFbmFibGUgKi8KLSNkZWZpbmUgVVAyT0NSX0RNUFVFCSgxIDw8IDUpCS8qIEhvc3QgUG9ydCAyIFRyYW5zY2VpdmVyIEQtIFB1bGwgVXAgRW5hYmxlICovCi0jZGVmaW5lIFVQMk9DUl9EUFBVQkUJKDEgPDwgNikJLyogSG9zdCBQb3J0IDIgVHJhbnNjZWl2ZXIgRCsgUHVsbCBVcCBCeXBhc3MgRW5hYmxlICovCi0jZGVmaW5lIFVQMk9DUl9ETVBVQkUJKDEgPDwgNykJLyogSG9zdCBQb3J0IDIgVHJhbnNjZWl2ZXIgRC0gUHVsbCBVcCBCeXBhc3MgRW5hYmxlICovCi0jZGVmaW5lIFVQMk9DUl9FWFNQCQkoMSA8PCA4KQkvKiBFeHRlcm5hbCBUcmFuc2NlaXZlciBTcGVlZCBDb250cm9sICovCi0jZGVmaW5lIFVQMk9DUl9FWFNVUwkoMSA8PCA5KQkvKiBFeHRlcm5hbCBUcmFuc2NlaXZlciBTcGVlZCBFbmFibGUgKi8KLSNkZWZpbmUgVVAyT0NSX0lET04JCSgxIDw8IDEwKQkvKiBPVEcgSUQgUmVhZCBFbmFibGUgKi8KLSNkZWZpbmUgVVAyT0NSX0hYUwkJKDEgPDwgMTYpCS8qIEhvc3QgUG9ydCAyIFRyYW5zY2VpdmVyIE91dHB1dCBTZWxlY3QgKi8KLSNkZWZpbmUgVVAyT0NSX0hYT0UJCSgxIDw8IDE3KQkvKiBIb3N0IFBvcnQgMiBUcmFuc2NlaXZlciBPdXRwdXQgRW5hYmxlICovCi0jZGVmaW5lIFVQMk9DUl9TRU9TCQkoMSA8PCAyNCkJLyogU2luZ2xlLUVuZGVkIE91dHB1dCBTZWxlY3QgKi8KLQotI2RlZmluZSBVRENDU04oeCkJX19SRUcyKDB4NDA2MDAxMDAsICh4KSA8PCAyKQotI2RlZmluZSBVRENDU1IwICAgICAgICAgX19SRUcoMHg0MDYwMDEwMCkgLyogVURDIENvbnRyb2wvU3RhdHVzIHJlZ2lzdGVyIC0gRW5kcG9pbnQgMCAqLwotI2RlZmluZSBVRENDU1IwX1NBCSgxIDw8IDcpCS8qIFNldHVwIEFjdGl2ZSAqLwotI2RlZmluZSBVRENDU1IwX1JORQkoMSA8PCA2KQkvKiBSZWNlaXZlIEZJRk8gTm90IEVtcHR5ICovCi0jZGVmaW5lIFVEQ0NTUjBfRlNUCSgxIDw8IDUpCS8qIEZvcmNlIFN0YWxsICovCi0jZGVmaW5lIFVEQ0NTUjBfU1NUCSgxIDw8IDQpCS8qIFNlbnQgU3RhbGwgKi8KLSNkZWZpbmUgVURDQ1NSMF9ETUUJKDEgPDwgMykJLyogRE1BIEVuYWJsZSAqLwotI2RlZmluZSBVRENDU1IwX0ZURgkoMSA8PCAyKQkvKiBGbHVzaCBUcmFuc21pdCBGSUZPICovCi0jZGVmaW5lIFVEQ0NTUjBfSVBSCSgxIDw8IDEpCS8qIElOIFBhY2tldCBSZWFkeSAqLwotI2RlZmluZSBVRENDU1IwX09QQwkoMSA8PCAwKQkvKiBPVVQgUGFja2V0IENvbXBsZXRlICovCi0KLSNkZWZpbmUgVURDQ1NSQSAgICAgICAgIF9fUkVHKDB4NDA2MDAxMDQpIC8qIFVEQyBDb250cm9sL1N0YXR1cyByZWdpc3RlciAtIEVuZHBvaW50IEEgKi8KLSNkZWZpbmUgVURDQ1NSQiAgICAgICAgIF9fUkVHKDB4NDA2MDAxMDgpIC8qIFVEQyBDb250cm9sL1N0YXR1cyByZWdpc3RlciAtIEVuZHBvaW50IEIgKi8KLSNkZWZpbmUgVURDQ1NSQyAgICAgICAgIF9fUkVHKDB4NDA2MDAxMEMpIC8qIFVEQyBDb250cm9sL1N0YXR1cyByZWdpc3RlciAtIEVuZHBvaW50IEMgKi8KLSNkZWZpbmUgVURDQ1NSRCAgICAgICAgIF9fUkVHKDB4NDA2MDAxMTApIC8qIFVEQyBDb250cm9sL1N0YXR1cyByZWdpc3RlciAtIEVuZHBvaW50IEQgKi8KLSNkZWZpbmUgVURDQ1NSRSAgICAgICAgIF9fUkVHKDB4NDA2MDAxMTQpIC8qIFVEQyBDb250cm9sL1N0YXR1cyByZWdpc3RlciAtIEVuZHBvaW50IEUgKi8KLSNkZWZpbmUgVURDQ1NSRiAgICAgICAgIF9fUkVHKDB4NDA2MDAxMTgpIC8qIFVEQyBDb250cm9sL1N0YXR1cyByZWdpc3RlciAtIEVuZHBvaW50IEYgKi8KLSNkZWZpbmUgVURDQ1NSRyAgICAgICAgIF9fUkVHKDB4NDA2MDAxMUMpIC8qIFVEQyBDb250cm9sL1N0YXR1cyByZWdpc3RlciAtIEVuZHBvaW50IEcgKi8KLSNkZWZpbmUgVURDQ1NSSCAgICAgICAgIF9fUkVHKDB4NDA2MDAxMjApIC8qIFVEQyBDb250cm9sL1N0YXR1cyByZWdpc3RlciAtIEVuZHBvaW50IEggKi8KLSNkZWZpbmUgVURDQ1NSSSAgICAgICAgIF9fUkVHKDB4NDA2MDAxMjQpIC8qIFVEQyBDb250cm9sL1N0YXR1cyByZWdpc3RlciAtIEVuZHBvaW50IEkgKi8KLSNkZWZpbmUgVURDQ1NSSiAgICAgICAgIF9fUkVHKDB4NDA2MDAxMjgpIC8qIFVEQyBDb250cm9sL1N0YXR1cyByZWdpc3RlciAtIEVuZHBvaW50IEogKi8KLSNkZWZpbmUgVURDQ1NSSyAgICAgICAgIF9fUkVHKDB4NDA2MDAxMkMpIC8qIFVEQyBDb250cm9sL1N0YXR1cyByZWdpc3RlciAtIEVuZHBvaW50IEsgKi8KLSNkZWZpbmUgVURDQ1NSTCAgICAgICAgIF9fUkVHKDB4NDA2MDAxMzApIC8qIFVEQyBDb250cm9sL1N0YXR1cyByZWdpc3RlciAtIEVuZHBvaW50IEwgKi8KLSNkZWZpbmUgVURDQ1NSTSAgICAgICAgIF9fUkVHKDB4NDA2MDAxMzQpIC8qIFVEQyBDb250cm9sL1N0YXR1cyByZWdpc3RlciAtIEVuZHBvaW50IE0gKi8KLSNkZWZpbmUgVURDQ1NSTiAgICAgICAgIF9fUkVHKDB4NDA2MDAxMzgpIC8qIFVEQyBDb250cm9sL1N0YXR1cyByZWdpc3RlciAtIEVuZHBvaW50IE4gKi8KLSNkZWZpbmUgVURDQ1NSUCAgICAgICAgIF9fUkVHKDB4NDA2MDAxM0MpIC8qIFVEQyBDb250cm9sL1N0YXR1cyByZWdpc3RlciAtIEVuZHBvaW50IFAgKi8KLSNkZWZpbmUgVURDQ1NSUSAgICAgICAgIF9fUkVHKDB4NDA2MDAxNDApIC8qIFVEQyBDb250cm9sL1N0YXR1cyByZWdpc3RlciAtIEVuZHBvaW50IFEgKi8KLSNkZWZpbmUgVURDQ1NSUiAgICAgICAgIF9fUkVHKDB4NDA2MDAxNDQpIC8qIFVEQyBDb250cm9sL1N0YXR1cyByZWdpc3RlciAtIEVuZHBvaW50IFIgKi8KLSNkZWZpbmUgVURDQ1NSUyAgICAgICAgIF9fUkVHKDB4NDA2MDAxNDgpIC8qIFVEQyBDb250cm9sL1N0YXR1cyByZWdpc3RlciAtIEVuZHBvaW50IFMgKi8KLSNkZWZpbmUgVURDQ1NSVCAgICAgICAgIF9fUkVHKDB4NDA2MDAxNEMpIC8qIFVEQyBDb250cm9sL1N0YXR1cyByZWdpc3RlciAtIEVuZHBvaW50IFQgKi8KLSNkZWZpbmUgVURDQ1NSVSAgICAgICAgIF9fUkVHKDB4NDA2MDAxNTApIC8qIFVEQyBDb250cm9sL1N0YXR1cyByZWdpc3RlciAtIEVuZHBvaW50IFUgKi8KLSNkZWZpbmUgVURDQ1NSViAgICAgICAgIF9fUkVHKDB4NDA2MDAxNTQpIC8qIFVEQyBDb250cm9sL1N0YXR1cyByZWdpc3RlciAtIEVuZHBvaW50IFYgKi8KLSNkZWZpbmUgVURDQ1NSVyAgICAgICAgIF9fUkVHKDB4NDA2MDAxNTgpIC8qIFVEQyBDb250cm9sL1N0YXR1cyByZWdpc3RlciAtIEVuZHBvaW50IFcgKi8KLSNkZWZpbmUgVURDQ1NSWCAgICAgICAgIF9fUkVHKDB4NDA2MDAxNUMpIC8qIFVEQyBDb250cm9sL1N0YXR1cyByZWdpc3RlciAtIEVuZHBvaW50IFggKi8KLQotI2RlZmluZSBVRENDU1JfRFBFCSgxIDw8IDkpCS8qIERhdGEgUGFja2V0IEVycm9yICovCi0jZGVmaW5lIFVEQ0NTUl9GRUYJKDEgPDwgOCkJLyogRmx1c2ggRW5kcG9pbnQgRklGTyAqLwotI2RlZmluZSBVRENDU1JfU1AJKDEgPDwgNykJLyogU2hvcnQgUGFja2V0IENvbnRyb2wvU3RhdHVzICovCi0jZGVmaW5lIFVEQ0NTUl9CTkUJKDEgPDwgNikJLyogQnVmZmVyIE5vdCBFbXB0eSAoSU4gZW5kcG9pbnRzKSAqLwotI2RlZmluZSBVRENDU1JfQk5GCSgxIDw8IDYpCS8qIEJ1ZmZlciBOb3QgRnVsbCAoT1VUIGVuZHBvaW50cykgKi8KLSNkZWZpbmUgVURDQ1NSX0ZTVAkoMSA8PCA1KQkvKiBGb3JjZSBTVEFMTCAqLwotI2RlZmluZSBVRENDU1JfU1NUCSgxIDw8IDQpCS8qIFNlbnQgU1RBTEwgKi8KLSNkZWZpbmUgVURDQ1NSX0RNRQkoMSA8PCAzKQkvKiBETUEgRW5hYmxlICovCi0jZGVmaW5lIFVEQ0NTUl9UUk4JKDEgPDwgMikJLyogVHgvUnggTkFLICovCi0jZGVmaW5lIFVEQ0NTUl9QQwkoMSA8PCAxKQkvKiBQYWNrZXQgQ29tcGxldGUgKi8KLSNkZWZpbmUgVURDQ1NSX0ZTCSgxIDw8IDApCS8qIEZJRk8gbmVlZHMgc2VydmljZSAqLwotCi0jZGVmaW5lIFVEQ0JDTih4KQlfX1JFRzIoMHg0MDYwMDIwMCwgKHgpPDwyKQotI2RlZmluZSBVRENCQ1IwICAgICAgICAgX19SRUcoMHg0MDYwMDIwMCkgLyogQnl0ZSBDb3VudCBSZWdpc3RlciAtIEVQMCAqLwotI2RlZmluZSBVRENCQ1JBICAgICAgICAgX19SRUcoMHg0MDYwMDIwNCkgLyogQnl0ZSBDb3VudCBSZWdpc3RlciAtIEVQQSAqLwotI2RlZmluZSBVRENCQ1JCICAgICAgICAgX19SRUcoMHg0MDYwMDIwOCkgLyogQnl0ZSBDb3VudCBSZWdpc3RlciAtIEVQQiAqLwotI2RlZmluZSBVRENCQ1JDICAgICAgICAgX19SRUcoMHg0MDYwMDIwQykgLyogQnl0ZSBDb3VudCBSZWdpc3RlciAtIEVQQyAqLwotI2RlZmluZSBVRENCQ1JEICAgICAgICAgX19SRUcoMHg0MDYwMDIxMCkgLyogQnl0ZSBDb3VudCBSZWdpc3RlciAtIEVQRCAqLwotI2RlZmluZSBVRENCQ1JFICAgICAgICAgX19SRUcoMHg0MDYwMDIxNCkgLyogQnl0ZSBDb3VudCBSZWdpc3RlciAtIEVQRSAqLwotI2RlZmluZSBVRENCQ1JGICAgICAgICAgX19SRUcoMHg0MDYwMDIxOCkgLyogQnl0ZSBDb3VudCBSZWdpc3RlciAtIEVQRiAqLwotI2RlZmluZSBVRENCQ1JHICAgICAgICAgX19SRUcoMHg0MDYwMDIxQykgLyogQnl0ZSBDb3VudCBSZWdpc3RlciAtIEVQRyAqLwotI2RlZmluZSBVRENCQ1JIICAgICAgICAgX19SRUcoMHg0MDYwMDIyMCkgLyogQnl0ZSBDb3VudCBSZWdpc3RlciAtIEVQSCAqLwotI2RlZmluZSBVRENCQ1JJICAgICAgICAgX19SRUcoMHg0MDYwMDIyNCkgLyogQnl0ZSBDb3VudCBSZWdpc3RlciAtIEVQSSAqLwotI2RlZmluZSBVRENCQ1JKICAgICAgICAgX19SRUcoMHg0MDYwMDIyOCkgLyogQnl0ZSBDb3VudCBSZWdpc3RlciAtIEVQSiAqLwotI2RlZmluZSBVRENCQ1JLICAgICAgICAgX19SRUcoMHg0MDYwMDIyQykgLyogQnl0ZSBDb3VudCBSZWdpc3RlciAtIEVQSyAqLwotI2RlZmluZSBVRENCQ1JMICAgICAgICAgX19SRUcoMHg0MDYwMDIzMCkgLyogQnl0ZSBDb3VudCBSZWdpc3RlciAtIEVQTCAqLwotI2RlZmluZSBVRENCQ1JNICAgICAgICAgX19SRUcoMHg0MDYwMDIzNCkgLyogQnl0ZSBDb3VudCBSZWdpc3RlciAtIEVQTSAqLwotI2RlZmluZSBVRENCQ1JOICAgICAgICAgX19SRUcoMHg0MDYwMDIzOCkgLyogQnl0ZSBDb3VudCBSZWdpc3RlciAtIEVQTiAqLwotI2RlZmluZSBVRENCQ1JQICAgICAgICAgX19SRUcoMHg0MDYwMDIzQykgLyogQnl0ZSBDb3VudCBSZWdpc3RlciAtIEVQUCAqLwotI2RlZmluZSBVRENCQ1JRICAgICAgICAgX19SRUcoMHg0MDYwMDI0MCkgLyogQnl0ZSBDb3VudCBSZWdpc3RlciAtIEVQUSAqLwotI2RlZmluZSBVRENCQ1JSICAgICAgICAgX19SRUcoMHg0MDYwMDI0NCkgLyogQnl0ZSBDb3VudCBSZWdpc3RlciAtIEVQUiAqLwotI2RlZmluZSBVRENCQ1JTICAgICAgICAgX19SRUcoMHg0MDYwMDI0OCkgLyogQnl0ZSBDb3VudCBSZWdpc3RlciAtIEVQUyAqLwotI2RlZmluZSBVRENCQ1JUICAgICAgICAgX19SRUcoMHg0MDYwMDI0QykgLyogQnl0ZSBDb3VudCBSZWdpc3RlciAtIEVQVCAqLwotI2RlZmluZSBVRENCQ1JVICAgICAgICAgX19SRUcoMHg0MDYwMDI1MCkgLyogQnl0ZSBDb3VudCBSZWdpc3RlciAtIEVQVSAqLwotI2RlZmluZSBVRENCQ1JWICAgICAgICAgX19SRUcoMHg0MDYwMDI1NCkgLyogQnl0ZSBDb3VudCBSZWdpc3RlciAtIEVQViAqLwotI2RlZmluZSBVRENCQ1JXICAgICAgICAgX19SRUcoMHg0MDYwMDI1OCkgLyogQnl0ZSBDb3VudCBSZWdpc3RlciAtIEVQVyAqLwotI2RlZmluZSBVRENCQ1JYICAgICAgICAgX19SRUcoMHg0MDYwMDI1QykgLyogQnl0ZSBDb3VudCBSZWdpc3RlciAtIEVQWCAqLwotCi0jZGVmaW5lIFVEQ0ROKHgpCV9fUkVHMigweDQwNjAwMzAwLCAoeCk8PDIpCi0jZGVmaW5lIFBIWVNfVURDRE4oeCkJKDB4NDA2MDAzMDAgKyAoKHgpPDwyKSkKLSNkZWZpbmUgUFVEQ0ROKHgpCSh2b2xhdGlsZSB1MzIgKikoaW9fcDJ2KFBIWVNfVURDRE4oKHgpKSkpCi0jZGVmaW5lIFVEQ0RSMCAgICAgICAgICBfX1JFRygweDQwNjAwMzAwKSAvKiBEYXRhIFJlZ2lzdGVyIC0gRVAwICovCi0jZGVmaW5lIFVEQ0RSQSAgICAgICAgICBfX1JFRygweDQwNjAwMzA0KSAvKiBEYXRhIFJlZ2lzdGVyIC0gRVBBICovCi0jZGVmaW5lIFVEQ0RSQiAgICAgICAgICBfX1JFRygweDQwNjAwMzA4KSAvKiBEYXRhIFJlZ2lzdGVyIC0gRVBCICovCi0jZGVmaW5lIFVEQ0RSQyAgICAgICAgICBfX1JFRygweDQwNjAwMzBDKSAvKiBEYXRhIFJlZ2lzdGVyIC0gRVBDICovCi0jZGVmaW5lIFVEQ0RSRCAgICAgICAgICBfX1JFRygweDQwNjAwMzEwKSAvKiBEYXRhIFJlZ2lzdGVyIC0gRVBEICovCi0jZGVmaW5lIFVEQ0RSRSAgICAgICAgICBfX1JFRygweDQwNjAwMzE0KSAvKiBEYXRhIFJlZ2lzdGVyIC0gRVBFICovCi0jZGVmaW5lIFVEQ0RSRiAgICAgICAgICBfX1JFRygweDQwNjAwMzE4KSAvKiBEYXRhIFJlZ2lzdGVyIC0gRVBGICovCi0jZGVmaW5lIFVEQ0RSRyAgICAgICAgICBfX1JFRygweDQwNjAwMzFDKSAvKiBEYXRhIFJlZ2lzdGVyIC0gRVBHICovCi0jZGVmaW5lIFVEQ0RSSCAgICAgICAgICBfX1JFRygweDQwNjAwMzIwKSAvKiBEYXRhIFJlZ2lzdGVyIC0gRVBIICovCi0jZGVmaW5lIFVEQ0RSSSAgICAgICAgICBfX1JFRygweDQwNjAwMzI0KSAvKiBEYXRhIFJlZ2lzdGVyIC0gRVBJICovCi0jZGVmaW5lIFVEQ0RSSiAgICAgICAgICBfX1JFRygweDQwNjAwMzI4KSAvKiBEYXRhIFJlZ2lzdGVyIC0gRVBKICovCi0jZGVmaW5lIFVEQ0RSSyAgICAgICAgICBfX1JFRygweDQwNjAwMzJDKSAvKiBEYXRhIFJlZ2lzdGVyIC0gRVBLICovCi0jZGVmaW5lIFVEQ0RSTCAgICAgICAgICBfX1JFRygweDQwNjAwMzMwKSAvKiBEYXRhIFJlZ2lzdGVyIC0gRVBMICovCi0jZGVmaW5lIFVEQ0RSTSAgICAgICAgICBfX1JFRygweDQwNjAwMzM0KSAvKiBEYXRhIFJlZ2lzdGVyIC0gRVBNICovCi0jZGVmaW5lIFVEQ0RSTiAgICAgICAgICBfX1JFRygweDQwNjAwMzM4KSAvKiBEYXRhIFJlZ2lzdGVyIC0gRVBOICovCi0jZGVmaW5lIFVEQ0RSUCAgICAgICAgICBfX1JFRygweDQwNjAwMzNDKSAvKiBEYXRhIFJlZ2lzdGVyIC0gRVBQICovCi0jZGVmaW5lIFVEQ0RSUSAgICAgICAgICBfX1JFRygweDQwNjAwMzQwKSAvKiBEYXRhIFJlZ2lzdGVyIC0gRVBRICovCi0jZGVmaW5lIFVEQ0RSUiAgICAgICAgICBfX1JFRygweDQwNjAwMzQ0KSAvKiBEYXRhIFJlZ2lzdGVyIC0gRVBSICovCi0jZGVmaW5lIFVEQ0RSUyAgICAgICAgICBfX1JFRygweDQwNjAwMzQ4KSAvKiBEYXRhIFJlZ2lzdGVyIC0gRVBTICovCi0jZGVmaW5lIFVEQ0RSVCAgICAgICAgICBfX1JFRygweDQwNjAwMzRDKSAvKiBEYXRhIFJlZ2lzdGVyIC0gRVBUICovCi0jZGVmaW5lIFVEQ0RSVSAgICAgICAgICBfX1JFRygweDQwNjAwMzUwKSAvKiBEYXRhIFJlZ2lzdGVyIC0gRVBVICovCi0jZGVmaW5lIFVEQ0RSViAgICAgICAgICBfX1JFRygweDQwNjAwMzU0KSAvKiBEYXRhIFJlZ2lzdGVyIC0gRVBWICovCi0jZGVmaW5lIFVEQ0RSVyAgICAgICAgICBfX1JFRygweDQwNjAwMzU4KSAvKiBEYXRhIFJlZ2lzdGVyIC0gRVBXICovCi0jZGVmaW5lIFVEQ0RSWCAgICAgICAgICBfX1JFRygweDQwNjAwMzVDKSAvKiBEYXRhIFJlZ2lzdGVyIC0gRVBYICovCi0KLSNkZWZpbmUgVURDQ04oeCkgICAgICAgX19SRUcyKDB4NDA2MDA0MDAsICh4KTw8MikKLSNkZWZpbmUgVURDQ1JBICAgICAgICAgIF9fUkVHKDB4NDA2MDA0MDQpIC8qIENvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgRVBBICovCi0jZGVmaW5lIFVEQ0NSQiAgICAgICAgICBfX1JFRygweDQwNjAwNDA4KSAvKiBDb25maWd1cmF0aW9uIHJlZ2lzdGVyIEVQQiAqLwotI2RlZmluZSBVRENDUkMgICAgICAgICAgX19SRUcoMHg0MDYwMDQwQykgLyogQ29uZmlndXJhdGlvbiByZWdpc3RlciBFUEMgKi8KLSNkZWZpbmUgVURDQ1JEICAgICAgICAgIF9fUkVHKDB4NDA2MDA0MTApIC8qIENvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgRVBEICovCi0jZGVmaW5lIFVEQ0NSRSAgICAgICAgICBfX1JFRygweDQwNjAwNDE0KSAvKiBDb25maWd1cmF0aW9uIHJlZ2lzdGVyIEVQRSAqLwotI2RlZmluZSBVRENDUkYgICAgICAgICAgX19SRUcoMHg0MDYwMDQxOCkgLyogQ29uZmlndXJhdGlvbiByZWdpc3RlciBFUEYgKi8KLSNkZWZpbmUgVURDQ1JHICAgICAgICAgIF9fUkVHKDB4NDA2MDA0MUMpIC8qIENvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgRVBHICovCi0jZGVmaW5lIFVEQ0NSSCAgICAgICAgICBfX1JFRygweDQwNjAwNDIwKSAvKiBDb25maWd1cmF0aW9uIHJlZ2lzdGVyIEVQSCAqLwotI2RlZmluZSBVRENDUkkgICAgICAgICAgX19SRUcoMHg0MDYwMDQyNCkgLyogQ29uZmlndXJhdGlvbiByZWdpc3RlciBFUEkgKi8KLSNkZWZpbmUgVURDQ1JKICAgICAgICAgIF9fUkVHKDB4NDA2MDA0MjgpIC8qIENvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgRVBKICovCi0jZGVmaW5lIFVEQ0NSSyAgICAgICAgICBfX1JFRygweDQwNjAwNDJDKSAvKiBDb25maWd1cmF0aW9uIHJlZ2lzdGVyIEVQSyAqLwotI2RlZmluZSBVRENDUkwgICAgICAgICAgX19SRUcoMHg0MDYwMDQzMCkgLyogQ29uZmlndXJhdGlvbiByZWdpc3RlciBFUEwgKi8KLSNkZWZpbmUgVURDQ1JNICAgICAgICAgIF9fUkVHKDB4NDA2MDA0MzQpIC8qIENvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgRVBNICovCi0jZGVmaW5lIFVEQ0NSTiAgICAgICAgICBfX1JFRygweDQwNjAwNDM4KSAvKiBDb25maWd1cmF0aW9uIHJlZ2lzdGVyIEVQTiAqLwotI2RlZmluZSBVRENDUlAgICAgICAgICAgX19SRUcoMHg0MDYwMDQzQykgLyogQ29uZmlndXJhdGlvbiByZWdpc3RlciBFUFAgKi8KLSNkZWZpbmUgVURDQ1JRICAgICAgICAgIF9fUkVHKDB4NDA2MDA0NDApIC8qIENvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgRVBRICovCi0jZGVmaW5lIFVEQ0NSUiAgICAgICAgICBfX1JFRygweDQwNjAwNDQ0KSAvKiBDb25maWd1cmF0aW9uIHJlZ2lzdGVyIEVQUiAqLwotI2RlZmluZSBVRENDUlMgICAgICAgICAgX19SRUcoMHg0MDYwMDQ0OCkgLyogQ29uZmlndXJhdGlvbiByZWdpc3RlciBFUFMgKi8KLSNkZWZpbmUgVURDQ1JUICAgICAgICAgIF9fUkVHKDB4NDA2MDA0NEMpIC8qIENvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgRVBUICovCi0jZGVmaW5lIFVEQ0NSVSAgICAgICAgICBfX1JFRygweDQwNjAwNDUwKSAvKiBDb25maWd1cmF0aW9uIHJlZ2lzdGVyIEVQVSAqLwotI2RlZmluZSBVRENDUlYgICAgICAgICAgX19SRUcoMHg0MDYwMDQ1NCkgLyogQ29uZmlndXJhdGlvbiByZWdpc3RlciBFUFYgKi8KLSNkZWZpbmUgVURDQ1JXICAgICAgICAgIF9fUkVHKDB4NDA2MDA0NTgpIC8qIENvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgRVBXICovCi0jZGVmaW5lIFVEQ0NSWCAgICAgICAgICBfX1JFRygweDQwNjAwNDVDKSAvKiBDb25maWd1cmF0aW9uIHJlZ2lzdGVyIEVQWCAqLwotCi0jZGVmaW5lIFVEQ0NPTlJfQ04JKDB4MDMgPDwgMjUpCS8qIENvbmZpZ3VyYXRpb24gTnVtYmVyICovCi0jZGVmaW5lIFVEQ0NPTlJfQ05fUwkoMjUpCi0jZGVmaW5lIFVEQ0NPTlJfSU4JKDB4MDcgPDwgMjIpCS8qIEludGVyZmFjZSBOdW1iZXIgKi8KLSNkZWZpbmUgVURDQ09OUl9JTl9TCSgyMikKLSNkZWZpbmUgVURDQ09OUl9BSVNOCSgweDA3IDw8IDE5KQkvKiBBbHRlcm5hdGUgSW50ZXJmYWNlIE51bWJlciAqLwotI2RlZmluZSBVRENDT05SX0FJU05fUwkoMTkpCi0jZGVmaW5lIFVEQ0NPTlJfRU4JKDB4MGYgPDwgMTUpCS8qIEVuZHBvaW50IE51bWJlciAqLwotI2RlZmluZSBVRENDT05SX0VOX1MJKDE1KQotI2RlZmluZSBVRENDT05SX0VUCSgweDAzIDw8IDEzKQkvKiBFbmRwb2ludCBUeXBlOiAqLwotI2RlZmluZSBVRENDT05SX0VUX1MJKDEzKQotI2RlZmluZSBVRENDT05SX0VUX0lOVAkoMHgwMyA8PCAxMykJLyogICBJbnRlcnJ1cHQgKi8KLSNkZWZpbmUgVURDQ09OUl9FVF9CVUxLCSgweDAyIDw8IDEzKQkvKiAgIEJ1bGsgKi8KLSNkZWZpbmUgVURDQ09OUl9FVF9JU08JKDB4MDEgPDwgMTMpCS8qICAgSXNvY2hyb25vdXMgKi8KLSNkZWZpbmUgVURDQ09OUl9FVF9OVQkoMHgwMCA8PCAxMykJLyogICBOb3QgdXNlZCAqLwotI2RlZmluZSBVRENDT05SX0VECSgxIDw8IDEyKQkvKiBFbmRwb2ludCBEaXJlY3Rpb24gKi8KLSNkZWZpbmUgVURDQ09OUl9NUFMJKDB4M2ZmIDw8IDIpCS8qIE1heGltdW0gUGFja2V0IFNpemUgKi8KLSNkZWZpbmUgVURDQ09OUl9NUFNfUwkoMikKLSNkZWZpbmUgVURDQ09OUl9ERQkoMSA8PCAxKQkvKiBEb3VibGUgQnVmZmVyaW5nIEVuYWJsZSAqLwotI2RlZmluZSBVRENDT05SX0VFCSgxIDw8IDApCS8qIEVuZHBvaW50IEVuYWJsZSAqLwotCi0KLSNkZWZpbmUgVURDX0lOVF9GSUZPRVJST1IgICgweDIpCi0jZGVmaW5lIFVEQ19JTlRfUEFDS0VUQ01QICAoMHgxKQotCi0jZGVmaW5lIFVEQ19GTlJfTUFTSyAgICAgKDB4N2ZmKQotCi0jZGVmaW5lIFVEQ0NTUl9XUl9NQVNLICAgKFVEQ0NTUl9ETUV8VURDQ1NSX0ZTVCkKLSNkZWZpbmUgVURDX0JDUl9NQVNLICAgICgweDNmZikKLSNlbmRpZgotCi0vKgogICogRmFzdCBJbmZyYXJlZCBDb21tdW5pY2F0aW9uIFBvcnQKICAqLwogCkBAIC0xMjM3LDEyMCArODI1LDkgQEAKICNlbmRpZgogCiAvKgotICogUG93ZXIgTWFuYWdlcgorICogUG93ZXIgTWFuYWdlciAtIHNlZSBweGEyeHgtcmVncy5oCiAgKi8KIAotI2RlZmluZSBQTUNSCQlfX1JFRygweDQwRjAwMDAwKSAgLyogUG93ZXIgTWFuYWdlciBDb250cm9sIFJlZ2lzdGVyICovCi0jZGVmaW5lIFBTU1IJCV9fUkVHKDB4NDBGMDAwMDQpICAvKiBQb3dlciBNYW5hZ2VyIFNsZWVwIFN0YXR1cyBSZWdpc3RlciAqLwotI2RlZmluZSBQU1BSCQlfX1JFRygweDQwRjAwMDA4KSAgLyogUG93ZXIgTWFuYWdlciBTY3JhdGNoIFBhZCBSZWdpc3RlciAqLwotI2RlZmluZSBQV0VSCQlfX1JFRygweDQwRjAwMDBDKSAgLyogUG93ZXIgTWFuYWdlciBXYWtlLXVwIEVuYWJsZSBSZWdpc3RlciAqLwotI2RlZmluZSBQUkVSCQlfX1JFRygweDQwRjAwMDEwKSAgLyogUG93ZXIgTWFuYWdlciBHUElPIFJpc2luZy1FZGdlIERldGVjdCBFbmFibGUgUmVnaXN0ZXIgKi8KLSNkZWZpbmUgUEZFUgkJX19SRUcoMHg0MEYwMDAxNCkgIC8qIFBvd2VyIE1hbmFnZXIgR1BJTyBGYWxsaW5nLUVkZ2UgRGV0ZWN0IEVuYWJsZSBSZWdpc3RlciAqLwotI2RlZmluZSBQRURSCQlfX1JFRygweDQwRjAwMDE4KSAgLyogUG93ZXIgTWFuYWdlciBHUElPIEVkZ2UgRGV0ZWN0IFN0YXR1cyBSZWdpc3RlciAqLwotI2RlZmluZSBQQ0ZSCQlfX1JFRygweDQwRjAwMDFDKSAgLyogUG93ZXIgTWFuYWdlciBHZW5lcmFsIENvbmZpZ3VyYXRpb24gUmVnaXN0ZXIgKi8KLSNkZWZpbmUgUEdTUjAJCV9fUkVHKDB4NDBGMDAwMjApICAvKiBQb3dlciBNYW5hZ2VyIEdQSU8gU2xlZXAgU3RhdGUgUmVnaXN0ZXIgZm9yIEdQWzMxLTBdICovCi0jZGVmaW5lIFBHU1IxCQlfX1JFRygweDQwRjAwMDI0KSAgLyogUG93ZXIgTWFuYWdlciBHUElPIFNsZWVwIFN0YXRlIFJlZ2lzdGVyIGZvciBHUFs2My0zMl0gKi8KLSNkZWZpbmUgUEdTUjIJCV9fUkVHKDB4NDBGMDAwMjgpICAvKiBQb3dlciBNYW5hZ2VyIEdQSU8gU2xlZXAgU3RhdGUgUmVnaXN0ZXIgZm9yIEdQWzg0LTY0XSAqLwotI2RlZmluZSBQR1NSMwkJX19SRUcoMHg0MEYwMDAyQykgIC8qIFBvd2VyIE1hbmFnZXIgR1BJTyBTbGVlcCBTdGF0ZSBSZWdpc3RlciBmb3IgR1BbMTE4LTk2XSAqLwotI2RlZmluZSBSQ1NSCQlfX1JFRygweDQwRjAwMDMwKSAgLyogUmVzZXQgQ29udHJvbGxlciBTdGF0dXMgUmVnaXN0ZXIgKi8KLQotI2RlZmluZSBQU0xSCQlfX1JFRygweDQwRjAwMDM0KQkvKiBQb3dlciBNYW5hZ2VyIFNsZWVwIENvbmZpZyBSZWdpc3RlciAqLwotI2RlZmluZSBQU1RSCQlfX1JFRygweDQwRjAwMDM4KQkvKlBvd2VyIE1hbmFnZXIgU3RhbmRieSBDb25maWcgUmVnaXN0ZXIgKi8KLSNkZWZpbmUgUFNOUgkJX19SRUcoMHg0MEYwMDAzQykJLypQb3dlciBNYW5hZ2VyIFNlbnNlIENvbmZpZyBSZWdpc3RlciAqLwotI2RlZmluZSBQVkNSCQlfX1JFRygweDQwRjAwMDQwKQkvKlBvd2VyIE1hbmFnZXIgVm9sdGFnZUNvbnRyb2wgUmVnaXN0ZXIgKi8KLSNkZWZpbmUgUEtXUgkJX19SRUcoMHg0MEYwMDA1MCkJLyogUG93ZXIgTWFuYWdlciBLQiBXYWtlLXVwIEVuYWJsZSBSZWcgKi8KLSNkZWZpbmUgUEtTUgkJX19SRUcoMHg0MEYwMDA1NCkJLyogUG93ZXIgTWFuYWdlciBLQiBMZXZlbC1EZXRlY3QgUmVnaXN0ZXIgKi8KLSNkZWZpbmUgUENNRCh4KQlfX1JFRzIoMHg0MEYwMDA4MCwgKHgpPDwyKQotI2RlZmluZSBQQ01EMAlfX1JFRygweDQwRjAwMDgwICsgMCAqIDQpCi0jZGVmaW5lIFBDTUQxCV9fUkVHKDB4NDBGMDAwODAgKyAxICogNCkKLSNkZWZpbmUgUENNRDIJX19SRUcoMHg0MEYwMDA4MCArIDIgKiA0KQotI2RlZmluZSBQQ01EMwlfX1JFRygweDQwRjAwMDgwICsgMyAqIDQpCi0jZGVmaW5lIFBDTUQ0CV9fUkVHKDB4NDBGMDAwODAgKyA0ICogNCkKLSNkZWZpbmUgUENNRDUJX19SRUcoMHg0MEYwMDA4MCArIDUgKiA0KQotI2RlZmluZSBQQ01ENglfX1JFRygweDQwRjAwMDgwICsgNiAqIDQpCi0jZGVmaW5lIFBDTUQ3CV9fUkVHKDB4NDBGMDAwODAgKyA3ICogNCkKLSNkZWZpbmUgUENNRDgJX19SRUcoMHg0MEYwMDA4MCArIDggKiA0KQotI2RlZmluZSBQQ01EOQlfX1JFRygweDQwRjAwMDgwICsgOSAqIDQpCi0jZGVmaW5lIFBDTUQxMAlfX1JFRygweDQwRjAwMDgwICsgMTAgKiA0KQotI2RlZmluZSBQQ01EMTEJX19SRUcoMHg0MEYwMDA4MCArIDExICogNCkKLSNkZWZpbmUgUENNRDEyCV9fUkVHKDB4NDBGMDAwODAgKyAxMiAqIDQpCi0jZGVmaW5lIFBDTUQxMwlfX1JFRygweDQwRjAwMDgwICsgMTMgKiA0KQotI2RlZmluZSBQQ01EMTQJX19SRUcoMHg0MEYwMDA4MCArIDE0ICogNCkKLSNkZWZpbmUgUENNRDE1CV9fUkVHKDB4NDBGMDAwODAgKyAxNSAqIDQpCi0jZGVmaW5lIFBDTUQxNglfX1JFRygweDQwRjAwMDgwICsgMTYgKiA0KQotI2RlZmluZSBQQ01EMTcJX19SRUcoMHg0MEYwMDA4MCArIDE3ICogNCkKLSNkZWZpbmUgUENNRDE4CV9fUkVHKDB4NDBGMDAwODAgKyAxOCAqIDQpCi0jZGVmaW5lIFBDTUQxOQlfX1JFRygweDQwRjAwMDgwICsgMTkgKiA0KQotI2RlZmluZSBQQ01EMjAJX19SRUcoMHg0MEYwMDA4MCArIDIwICogNCkKLSNkZWZpbmUgUENNRDIxCV9fUkVHKDB4NDBGMDAwODAgKyAyMSAqIDQpCi0jZGVmaW5lIFBDTUQyMglfX1JFRygweDQwRjAwMDgwICsgMjIgKiA0KQotI2RlZmluZSBQQ01EMjMJX19SRUcoMHg0MEYwMDA4MCArIDIzICogNCkKLSNkZWZpbmUgUENNRDI0CV9fUkVHKDB4NDBGMDAwODAgKyAyNCAqIDQpCi0jZGVmaW5lIFBDTUQyNQlfX1JFRygweDQwRjAwMDgwICsgMjUgKiA0KQotI2RlZmluZSBQQ01EMjYJX19SRUcoMHg0MEYwMDA4MCArIDI2ICogNCkKLSNkZWZpbmUgUENNRDI3CV9fUkVHKDB4NDBGMDAwODAgKyAyNyAqIDQpCi0jZGVmaW5lIFBDTUQyOAlfX1JFRygweDQwRjAwMDgwICsgMjggKiA0KQotI2RlZmluZSBQQ01EMjkJX19SRUcoMHg0MEYwMDA4MCArIDI5ICogNCkKLSNkZWZpbmUgUENNRDMwCV9fUkVHKDB4NDBGMDAwODAgKyAzMCAqIDQpCi0jZGVmaW5lIFBDTUQzMQlfX1JFRygweDQwRjAwMDgwICsgMzEgKiA0KQotCi0jZGVmaW5lIFBDTURfTUJDCSgxPDwxMikKLSNkZWZpbmUgUENNRF9EQ0UJKDE8PDExKQotI2RlZmluZSBQQ01EX0xDCSgxPDwxMCkKLS8qIEZJWE1FOiAgUENNRF9TUUMgbmVlZCBiZSBjaGVja2VkLiAgICovCi0jZGVmaW5lIFBDTURfU1FDCSgzPDw4KQkvKiBjdXJyZW50bHkgb25seSBiaXQgOCBpcyBjaGFuZ2VhYmxlLAotCQkJCSAgIGJpdCA5IHNob3VsZCBiZSAwIGFsbCBkYXkuICovCi0jZGVmaW5lIFBWQ1JfVkNTQQkoMHgxPDwxNCkKLSNkZWZpbmUgUFZDUl9Db21tYW5kRGVsYXkgKDB4ZjgwKQotI2RlZmluZSBQQ0ZSX1BJMkNfRU4JKDB4MSA8PCA2KQotCi0jZGVmaW5lIFBTU1JfT1RHUEgJKDEgPDwgNikJLyogT1RHIFBlcmlwaGVyYWwgY29udHJvbCBIb2xkICovCi0jZGVmaW5lIFBTU1JfUkRICSgxIDw8IDUpCS8qIFJlYWQgRGlzYWJsZSBIb2xkICovCi0jZGVmaW5lIFBTU1JfUEgJCSgxIDw8IDQpCS8qIFBlcmlwaGVyYWwgQ29udHJvbCBIb2xkICovCi0jZGVmaW5lIFBTU1JfU1RTCSgxIDw8IDMpCS8qIFN0YW5kYnkgTW9kZSBTdGF0dXMgKi8KLSNkZWZpbmUgUFNTUl9WRlMJKDEgPDwgMikJLyogVkREIEZhdWx0IFN0YXR1cyAqLwotI2RlZmluZSBQU1NSX0JGUwkoMSA8PCAxKQkvKiBCYXR0ZXJ5IEZhdWx0IFN0YXR1cyAqLwotI2RlZmluZSBQU1NSX1NTUwkoMSA8PCAwKQkvKiBTb2Z0d2FyZSBTbGVlcCBTdGF0dXMgKi8KLQotI2RlZmluZSBQU0xSX1NMX1JPRAkoMSA8PCAyMCkJLyogU2xlZXAtTW9kZS9EZXBwLVNsZWVwIE1vZGUgblJFU0VUX09VVCBEaXNhYmxlICovCi0KLSNkZWZpbmUgUENGUl9STwkJKDEgPDwgMTUpCS8qIFJESCBPdmVycmlkZSAqLwotI2RlZmluZSBQQ0ZSX1BPCQkoMSA8PCAxNCkJLyogUEggT3ZlcnJpZGUgKi8KLSNkZWZpbmUgUENGUl9HUFJPRAkoMSA8PCAxMikJLyogR1BJTyBuUkVTRVRfT1VUIERpc2FibGUgKi8KLSNkZWZpbmUgUENGUl9MMV9FTgkoMSA8PCAxMSkJLyogU2xlZXAgTW9kZSBMMSBjb252ZXJ0ZXIgRW5hYmxlICovCi0jZGVmaW5lIFBDRlJfRlZDCSgxIDw8IDEwKQkvKiBGcmVxdWVuY3kvVm9sdGFnZSBDaGFuZ2UgKi8KLSNkZWZpbmUgUENGUl9EQ19FTgkoMSA8PCA3KQkvKiBTbGVlcC9kZWVwLXNsZWVwIERDLURDIENvbnZlcnRlciBFbmFibGUgKi8KLSNkZWZpbmUgUENGUl9QSTJDRU4JKDEgPDwgNikJLyogRW5hYmxlIFBJMkMgY29udHJvbGxlciAqLwotI2RlZmluZSBQQ0ZSX0dQUl9FTgkoMSA8PCA0KQkvKiBuUkVTRVRfR1BJTyBQaW4gRW5hYmxlICovCi0jZGVmaW5lIFBDRlJfRFMJCSgxIDw8IDMpCS8qIERlZXAgU2xlZXAgTW9kZSAqLwotI2RlZmluZSBQQ0ZSX0ZTCQkoMSA8PCAyKQkvKiBGbG9hdCBTdGF0aWMgQ2hpcCBTZWxlY3RzICovCi0jZGVmaW5lIFBDRlJfRlAJCSgxIDw8IDEpCS8qIEZsb2F0IFBDTUNJQSBjb250cm9scyAqLwotI2RlZmluZSBQQ0ZSX09QREUJKDEgPDwgMCkJLyogMy42ODY0IE1IeiBvc2NpbGxhdG9yIHBvd2VyLWRvd24gZW5hYmxlICovCi0KLSNkZWZpbmUgUkNTUl9HUFIJKDEgPDwgMykJLyogR1BJTyBSZXNldCAqLwotI2RlZmluZSBSQ1NSX1NNUgkoMSA8PCAyKQkvKiBTbGVlcCBNb2RlICovCi0jZGVmaW5lIFJDU1JfV0RSCSgxIDw8IDEpCS8qIFdhdGNoZG9nIFJlc2V0ICovCi0jZGVmaW5lIFJDU1JfSFdSCSgxIDw8IDApCS8qIEhhcmR3YXJlIFJlc2V0ICovCi0KLSNkZWZpbmUgUFdFUl9HUElPKE5iKQkoMSA8PCBOYikJLyogR1BJTyBbMC4uMTVdIHdha2UtdXAgZW5hYmxlICAgICAqLwotI2RlZmluZSBQV0VSX0dQSU8wCVBXRVJfR1BJTyAoMCkJLyogR1BJTyAgWzBdIHdha2UtdXAgZW5hYmxlICAgICAgICAqLwotI2RlZmluZSBQV0VSX0dQSU8xCVBXRVJfR1BJTyAoMSkJLyogR1BJTyAgWzFdIHdha2UtdXAgZW5hYmxlICAgICAgICAqLwotI2RlZmluZSBQV0VSX0dQSU8yCVBXRVJfR1BJTyAoMikJLyogR1BJTyAgWzJdIHdha2UtdXAgZW5hYmxlICAgICAgICAqLwotI2RlZmluZSBQV0VSX0dQSU8zCVBXRVJfR1BJTyAoMykJLyogR1BJTyAgWzNdIHdha2UtdXAgZW5hYmxlICAgICAgICAqLwotI2RlZmluZSBQV0VSX0dQSU80CVBXRVJfR1BJTyAoNCkJLyogR1BJTyAgWzRdIHdha2UtdXAgZW5hYmxlICAgICAgICAqLwotI2RlZmluZSBQV0VSX0dQSU81CVBXRVJfR1BJTyAoNSkJLyogR1BJTyAgWzVdIHdha2UtdXAgZW5hYmxlICAgICAgICAqLwotI2RlZmluZSBQV0VSX0dQSU82CVBXRVJfR1BJTyAoNikJLyogR1BJTyAgWzZdIHdha2UtdXAgZW5hYmxlICAgICAgICAqLwotI2RlZmluZSBQV0VSX0dQSU83CVBXRVJfR1BJTyAoNykJLyogR1BJTyAgWzddIHdha2UtdXAgZW5hYmxlICAgICAgICAqLwotI2RlZmluZSBQV0VSX0dQSU84CVBXRVJfR1BJTyAoOCkJLyogR1BJTyAgWzhdIHdha2UtdXAgZW5hYmxlICAgICAgICAqLwotI2RlZmluZSBQV0VSX0dQSU85CVBXRVJfR1BJTyAoOSkJLyogR1BJTyAgWzldIHdha2UtdXAgZW5hYmxlICAgICAgICAqLwotI2RlZmluZSBQV0VSX0dQSU8xMAlQV0VSX0dQSU8gKDEwKQkvKiBHUElPIFsxMF0gd2FrZS11cCBlbmFibGUgICAgICAgICovCi0jZGVmaW5lIFBXRVJfR1BJTzExCVBXRVJfR1BJTyAoMTEpCS8qIEdQSU8gWzExXSB3YWtlLXVwIGVuYWJsZSAgICAgICAgKi8KLSNkZWZpbmUgUFdFUl9HUElPMTIJUFdFUl9HUElPICgxMikJLyogR1BJTyBbMTJdIHdha2UtdXAgZW5hYmxlICAgICAgICAqLwotI2RlZmluZSBQV0VSX0dQSU8xMwlQV0VSX0dQSU8gKDEzKQkvKiBHUElPIFsxM10gd2FrZS11cCBlbmFibGUgICAgICAgICovCi0jZGVmaW5lIFBXRVJfR1BJTzE0CVBXRVJfR1BJTyAoMTQpCS8qIEdQSU8gWzE0XSB3YWtlLXVwIGVuYWJsZSAgICAgICAgKi8KLSNkZWZpbmUgUFdFUl9HUElPMTUJUFdFUl9HUElPICgxNSkJLyogR1BJTyBbMTVdIHdha2UtdXAgZW5hYmxlICAgICAgICAqLwotI2RlZmluZSBQV0VSX1JUQwkweDgwMDAwMDAwCS8qIFJUQyBhbGFybSB3YWtlLXVwIGVuYWJsZSAgICAgICAgKi8KLQogLyoKICAqIFNTUCBTZXJpYWwgUG9ydCBSZWdpc3RlcnMgLSBzZWUgaW5jbHVkZS9hc20tYXJtL2FyY2gtcHhhL3JlZ3Mtc3NwLmgKICAqLwpAQCAtMTM2MCw1MiArODM3LDkgQEAKICAqLwogCiAvKgotICogQ29yZSBDbG9jaworICogQ29yZSBDbG9jayAtIHNlZSBpbmNsdWRlL2FzbS1hcm0vYXJjaC1weGEvcHhhMnh4LXJlZ3MuaAogICovCiAKLSNkZWZpbmUgQ0NDUgkJX19SRUcoMHg0MTMwMDAwMCkgIC8qIENvcmUgQ2xvY2sgQ29uZmlndXJhdGlvbiBSZWdpc3RlciAqLwotI2RlZmluZSBDS0VOCQlfX1JFRygweDQxMzAwMDA0KSAgLyogQ2xvY2sgRW5hYmxlIFJlZ2lzdGVyICovCi0jZGVmaW5lIE9TQ0MJCV9fUkVHKDB4NDEzMDAwMDgpICAvKiBPc2NpbGxhdG9yIENvbmZpZ3VyYXRpb24gUmVnaXN0ZXIgKi8KLSNkZWZpbmUgQ0NTUgkJX19SRUcoMHg0MTMwMDAwQykgIC8qIENvcmUgQ2xvY2sgU3RhdHVzIFJlZ2lzdGVyICovCi0KLSNkZWZpbmUgQ0NDUl9OX01BU0sJMHgwMzgwCQkvKiBSdW4gTW9kZSBGcmVxdWVuY3kgdG8gVHVyYm8gTW9kZSBGcmVxdWVuY3kgTXVsdGlwbGllciAqLwotI2RlZmluZSBDQ0NSX01fTUFTSwkweDAwNjAJCS8qIE1lbW9yeSBGcmVxdWVuY3kgdG8gUnVuIE1vZGUgRnJlcXVlbmN5IE11bHRpcGxpZXIgKi8KLSNkZWZpbmUgQ0NDUl9MX01BU0sJMHgwMDFmCQkvKiBDcnlzdGFsIEZyZXF1ZW5jeSB0byBNZW1vcnkgRnJlcXVlbmN5IE11bHRpcGxpZXIgKi8KLQotI2RlZmluZSBDS0VOX0FDOTdDT05GICAgKDMxKSAgICAvKiBBQzk3IENvbnRyb2xsZXIgQ29uZmlndXJhdGlvbiAqLwotI2RlZmluZSBDS0VOX0NBTUVSQQkoMjQpCS8qIENhbWVyYSBJbnRlcmZhY2UgQ2xvY2sgRW5hYmxlICovCi0jZGVmaW5lIENLRU5fU1NQMQkoMjMpCS8qIFNTUDEgVW5pdCBDbG9jayBFbmFibGUgKi8KLSNkZWZpbmUgQ0tFTl9NRU1DCSgyMikJLyogTWVtb3J5IENvbnRyb2xsZXIgQ2xvY2sgRW5hYmxlICovCi0jZGVmaW5lIENLRU5fTUVNU1RLCSgyMSkJLyogTWVtb3J5IFN0aWNrIEhvc3QgQ29udHJvbGxlciAqLwotI2RlZmluZSBDS0VOX0lNCQkoMjApCS8qIEludGVybmFsIE1lbW9yeSBDbG9jayBFbmFibGUgKi8KLSNkZWZpbmUgQ0tFTl9LRVlQQUQJKDE5KQkvKiBLZXlwYWQgSW50ZXJmYWNlIENsb2NrIEVuYWJsZSAqLwotI2RlZmluZSBDS0VOX1VTSU0JKDE4KQkvKiBVU0lNIFVuaXQgQ2xvY2sgRW5hYmxlICovCi0jZGVmaW5lIENLRU5fTVNMCSgxNykJLyogTVNMIFVuaXQgQ2xvY2sgRW5hYmxlICovCi0jZGVmaW5lIENLRU5fTENECSgxNikJLyogTENEIFVuaXQgQ2xvY2sgRW5hYmxlICovCi0jZGVmaW5lIENLRU5fUFdSSTJDCSgxNSkJLyogUFdSIEkyQyBVbml0IENsb2NrIEVuYWJsZSAqLwotI2RlZmluZSBDS0VOX0kyQwkoMTQpCS8qIEkyQyBVbml0IENsb2NrIEVuYWJsZSAqLwotI2RlZmluZSBDS0VOX0ZJQ1AJKDEzKQkvKiBGSUNQIFVuaXQgQ2xvY2sgRW5hYmxlICovCi0jZGVmaW5lIENLRU5fTU1DCSgxMikJLyogTU1DIFVuaXQgQ2xvY2sgRW5hYmxlICovCi0jZGVmaW5lIENLRU5fVVNCCSgxMSkJLyogVVNCIFVuaXQgQ2xvY2sgRW5hYmxlICovCi0jZGVmaW5lIENLRU5fQVNTUAkoMTApCS8qIEFTU1AgKFNTUDMpIENsb2NrIEVuYWJsZSAqLwotI2RlZmluZSBDS0VOX1VTQkhPU1QJKDEwKQkvKiBVU0IgSG9zdCBVbml0IENsb2NrIEVuYWJsZSAqLwotI2RlZmluZSBDS0VOX09TVElNRVIJKDkpCS8qIE9TIFRpbWVyIFVuaXQgQ2xvY2sgRW5hYmxlICovCi0jZGVmaW5lIENLRU5fTlNTUAkoOSkJLyogTlNTUCAoU1NQMikgQ2xvY2sgRW5hYmxlICovCi0jZGVmaW5lIENLRU5fSTJTCSg4KQkvKiBJMlMgVW5pdCBDbG9jayBFbmFibGUgKi8KLSNkZWZpbmUgQ0tFTl9CVFVBUlQJKDcpCS8qIEJUVUFSVCBVbml0IENsb2NrIEVuYWJsZSAqLwotI2RlZmluZSBDS0VOX0ZGVUFSVAkoNikJLyogRkZVQVJUIFVuaXQgQ2xvY2sgRW5hYmxlICovCi0jZGVmaW5lIENLRU5fU1RVQVJUCSg1KQkvKiBTVFVBUlQgVW5pdCBDbG9jayBFbmFibGUgKi8KLSNkZWZpbmUgQ0tFTl9IV1VBUlQJKDQpCS8qIEhXVUFSVCBVbml0IENsb2NrIEVuYWJsZSAqLwotI2RlZmluZSBDS0VOX1NTUDMJKDQpCS8qIFNTUDMgVW5pdCBDbG9jayBFbmFibGUgKi8KLSNkZWZpbmUgQ0tFTl9TU1AJKDMpCS8qIFNTUCBVbml0IENsb2NrIEVuYWJsZSAqLwotI2RlZmluZSBDS0VOX1NTUDIJKDMpCS8qIFNTUDIgVW5pdCBDbG9jayBFbmFibGUgKi8KLSNkZWZpbmUgQ0tFTl9BQzk3CSgyKQkvKiBBQzk3IFVuaXQgQ2xvY2sgRW5hYmxlICovCi0jZGVmaW5lIENLRU5fUFdNMQkoMSkJLyogUFdNMSBDbG9jayBFbmFibGUgKi8KLSNkZWZpbmUgQ0tFTl9QV00wCSgwKQkvKiBQV00wIENsb2NrIEVuYWJsZSAqLwotCi0jZGVmaW5lIE9TQ0NfT09OCSgxIDw8IDEpCS8qIDMyLjc2OGtIeiBPT04gKHdyaXRlLW9uY2Ugb25seSBiaXQpICovCi0jZGVmaW5lIE9TQ0NfT09LCSgxIDw8IDApCS8qIDMyLjc2OGtIeiBPT0sgKHJlYWQtb25seSBiaXQpICovCi0KICNpZmRlZiBDT05GSUdfUFhBMjd4CiAKIC8qIENhbWVyYSBJbnRlcmZhY2UgKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLXB4YS9weGEyNXgtdWRjLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1weGEvcHhhMjV4LXVkYy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg0MDMwNTkKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1weGEvcHhhMjV4LXVkYy5oCkBAIC0wLDAgKzEsMTYzIEBACisjaWZuZGVmIF9BU01fQVJDSF9QWEEyNVhfVURDX0gKKyNkZWZpbmUgX0FTTV9BUkNIX1BYQTI1WF9VRENfSAorCisjaWZkZWYgX0FTTV9BUkNIX1BYQTI3WF9VRENfSAorI2Vycm9yIFlvdSBjYW4ndCBpbmNsdWRlIGJvdGggUFhBMjV4IGFuZCBQWEEyN3ggVURDIHN1cHBvcnQKKyNlbmRpZgorCisjZGVmaW5lIFVEQ19SRVMxCV9fUkVHKDB4NDA2MDAwMDQpICAvKiBVREMgVW5kb2N1bWVudGVkIC0gUmVzZXJ2ZWQxICovCisjZGVmaW5lIFVEQ19SRVMyCV9fUkVHKDB4NDA2MDAwMDgpICAvKiBVREMgVW5kb2N1bWVudGVkIC0gUmVzZXJ2ZWQyICovCisjZGVmaW5lIFVEQ19SRVMzCV9fUkVHKDB4NDA2MDAwMEMpICAvKiBVREMgVW5kb2N1bWVudGVkIC0gUmVzZXJ2ZWQzICovCisKKyNkZWZpbmUgVURDQ1IJCV9fUkVHKDB4NDA2MDAwMDApICAvKiBVREMgQ29udHJvbCBSZWdpc3RlciAqLworI2RlZmluZSBVRENDUl9VREUJKDEgPDwgMCkJLyogVURDIGVuYWJsZSAqLworI2RlZmluZSBVRENDUl9VREEJKDEgPDwgMSkJLyogVURDIGFjdGl2ZSAqLworI2RlZmluZSBVRENDUl9SU00JKDEgPDwgMikJLyogRGV2aWNlIHJlc3VtZSAqLworI2RlZmluZSBVRENDUl9SRVNJUgkoMSA8PCAzKQkvKiBSZXN1bWUgaW50ZXJydXB0IHJlcXVlc3QgKi8KKyNkZWZpbmUgVURDQ1JfU1VTSVIJKDEgPDwgNCkJLyogU3VzcGVuZCBpbnRlcnJ1cHQgcmVxdWVzdCAqLworI2RlZmluZSBVRENDUl9TUk0JKDEgPDwgNSkJLyogU3VzcGVuZC9yZXN1bWUgaW50ZXJydXB0IG1hc2sgKi8KKyNkZWZpbmUgVURDQ1JfUlNUSVIJKDEgPDwgNikJLyogUmVzZXQgaW50ZXJydXB0IHJlcXVlc3QgKi8KKyNkZWZpbmUgVURDQ1JfUkVNCSgxIDw8IDcpCS8qIFJlc2V0IGludGVycnVwdCBtYXNrICovCisKKyNkZWZpbmUgVURDQ1MwCQlfX1JFRygweDQwNjAwMDEwKSAgLyogVURDIEVuZHBvaW50IDAgQ29udHJvbC9TdGF0dXMgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgVURDQ1MwX09QUgkoMSA8PCAwKQkvKiBPVVQgcGFja2V0IHJlYWR5ICovCisjZGVmaW5lIFVEQ0NTMF9JUFIJKDEgPDwgMSkJLyogSU4gcGFja2V0IHJlYWR5ICovCisjZGVmaW5lIFVEQ0NTMF9GVEYJKDEgPDwgMikJLyogRmx1c2ggVHggRklGTyAqLworI2RlZmluZSBVRENDUzBfRFJXRgkoMSA8PCAzKQkvKiBEZXZpY2UgcmVtb3RlIHdha2V1cCBmZWF0dXJlICovCisjZGVmaW5lIFVEQ0NTMF9TU1QJKDEgPDwgNCkJLyogU2VudCBzdGFsbCAqLworI2RlZmluZSBVRENDUzBfRlNUCSgxIDw8IDUpCS8qIEZvcmNlIHN0YWxsICovCisjZGVmaW5lIFVEQ0NTMF9STkUJKDEgPDwgNikJLyogUmVjZWl2ZSBGSUZPIG5vIGVtcHR5ICovCisjZGVmaW5lIFVEQ0NTMF9TQQkoMSA8PCA3KQkvKiBTZXR1cCBhY3RpdmUgKi8KKworLyogQnVsayBJTiAtIEVuZHBvaW50IDEsNiwxMSAqLworI2RlZmluZSBVRENDUzEJCV9fUkVHKDB4NDA2MDAwMTQpICAvKiBVREMgRW5kcG9pbnQgMSAoSU4pIENvbnRyb2wvU3RhdHVzIFJlZ2lzdGVyICovCisjZGVmaW5lIFVEQ0NTNgkJX19SRUcoMHg0MDYwMDAyOCkgIC8qIFVEQyBFbmRwb2ludCA2IChJTikgQ29udHJvbC9TdGF0dXMgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgVURDQ1MxMQkJX19SRUcoMHg0MDYwMDAzQykgIC8qIFVEQyBFbmRwb2ludCAxMSAoSU4pIENvbnRyb2wvU3RhdHVzIFJlZ2lzdGVyICovCisKKyNkZWZpbmUgVURDQ1NfQklfVEZTCSgxIDw8IDApCS8qIFRyYW5zbWl0IEZJRk8gc2VydmljZSAqLworI2RlZmluZSBVRENDU19CSV9UUEMJKDEgPDwgMSkJLyogVHJhbnNtaXQgcGFja2V0IGNvbXBsZXRlICovCisjZGVmaW5lIFVEQ0NTX0JJX0ZURgkoMSA8PCAyKQkvKiBGbHVzaCBUeCBGSUZPICovCisjZGVmaW5lIFVEQ0NTX0JJX1RVUgkoMSA8PCAzKQkvKiBUcmFuc21pdCBGSUZPIHVuZGVycnVuICovCisjZGVmaW5lIFVEQ0NTX0JJX1NTVAkoMSA8PCA0KQkvKiBTZW50IHN0YWxsICovCisjZGVmaW5lIFVEQ0NTX0JJX0ZTVAkoMSA8PCA1KQkvKiBGb3JjZSBzdGFsbCAqLworI2RlZmluZSBVRENDU19CSV9UU1AJKDEgPDwgNykJLyogVHJhbnNtaXQgc2hvcnQgcGFja2V0ICovCisKKy8qIEJ1bGsgT1VUIC0gRW5kcG9pbnQgMiw3LDEyICovCisjZGVmaW5lIFVEQ0NTMgkJX19SRUcoMHg0MDYwMDAxOCkgIC8qIFVEQyBFbmRwb2ludCAyIChPVVQpIENvbnRyb2wvU3RhdHVzIFJlZ2lzdGVyICovCisjZGVmaW5lIFVEQ0NTNwkJX19SRUcoMHg0MDYwMDAyQykgIC8qIFVEQyBFbmRwb2ludCA3IChPVVQpIENvbnRyb2wvU3RhdHVzIFJlZ2lzdGVyICovCisjZGVmaW5lIFVEQ0NTMTIJCV9fUkVHKDB4NDA2MDAwNDApICAvKiBVREMgRW5kcG9pbnQgMTIgKE9VVCkgQ29udHJvbC9TdGF0dXMgUmVnaXN0ZXIgKi8KKworI2RlZmluZSBVRENDU19CT19SRlMJKDEgPDwgMCkJLyogUmVjZWl2ZSBGSUZPIHNlcnZpY2UgKi8KKyNkZWZpbmUgVURDQ1NfQk9fUlBDCSgxIDw8IDEpCS8qIFJlY2VpdmUgcGFja2V0IGNvbXBsZXRlICovCisjZGVmaW5lIFVEQ0NTX0JPX0RNRQkoMSA8PCAzKQkvKiBETUEgZW5hYmxlICovCisjZGVmaW5lIFVEQ0NTX0JPX1NTVAkoMSA8PCA0KQkvKiBTZW50IHN0YWxsICovCisjZGVmaW5lIFVEQ0NTX0JPX0ZTVAkoMSA8PCA1KQkvKiBGb3JjZSBzdGFsbCAqLworI2RlZmluZSBVRENDU19CT19STkUJKDEgPDwgNikJLyogUmVjZWl2ZSBGSUZPIG5vdCBlbXB0eSAqLworI2RlZmluZSBVRENDU19CT19SU1AJKDEgPDwgNykJLyogUmVjZWl2ZSBzaG9ydCBwYWNrZXQgKi8KKworLyogSXNvY2hyb25vdXMgSU4gLSBFbmRwb2ludCAzLDgsMTMgKi8KKyNkZWZpbmUgVURDQ1MzCQlfX1JFRygweDQwNjAwMDFDKSAgLyogVURDIEVuZHBvaW50IDMgKElOKSBDb250cm9sL1N0YXR1cyBSZWdpc3RlciAqLworI2RlZmluZSBVRENDUzgJCV9fUkVHKDB4NDA2MDAwMzApICAvKiBVREMgRW5kcG9pbnQgOCAoSU4pIENvbnRyb2wvU3RhdHVzIFJlZ2lzdGVyICovCisjZGVmaW5lIFVEQ0NTMTMJCV9fUkVHKDB4NDA2MDAwNDQpICAvKiBVREMgRW5kcG9pbnQgMTMgKElOKSBDb250cm9sL1N0YXR1cyBSZWdpc3RlciAqLworCisjZGVmaW5lIFVEQ0NTX0lJX1RGUwkoMSA8PCAwKQkvKiBUcmFuc21pdCBGSUZPIHNlcnZpY2UgKi8KKyNkZWZpbmUgVURDQ1NfSUlfVFBDCSgxIDw8IDEpCS8qIFRyYW5zbWl0IHBhY2tldCBjb21wbGV0ZSAqLworI2RlZmluZSBVRENDU19JSV9GVEYJKDEgPDwgMikJLyogRmx1c2ggVHggRklGTyAqLworI2RlZmluZSBVRENDU19JSV9UVVIJKDEgPDwgMykJLyogVHJhbnNtaXQgRklGTyB1bmRlcnJ1biAqLworI2RlZmluZSBVRENDU19JSV9UU1AJKDEgPDwgNykJLyogVHJhbnNtaXQgc2hvcnQgcGFja2V0ICovCisKKy8qIElzb2Nocm9ub3VzIE9VVCAtIEVuZHBvaW50IDQsOSwxNCAqLworI2RlZmluZSBVRENDUzQJCV9fUkVHKDB4NDA2MDAwMjApICAvKiBVREMgRW5kcG9pbnQgNCAoT1VUKSBDb250cm9sL1N0YXR1cyBSZWdpc3RlciAqLworI2RlZmluZSBVRENDUzkJCV9fUkVHKDB4NDA2MDAwMzQpICAvKiBVREMgRW5kcG9pbnQgOSAoT1VUKSBDb250cm9sL1N0YXR1cyBSZWdpc3RlciAqLworI2RlZmluZSBVRENDUzE0CQlfX1JFRygweDQwNjAwMDQ4KSAgLyogVURDIEVuZHBvaW50IDE0IChPVVQpIENvbnRyb2wvU3RhdHVzIFJlZ2lzdGVyICovCisKKyNkZWZpbmUgVURDQ1NfSU9fUkZTCSgxIDw8IDApCS8qIFJlY2VpdmUgRklGTyBzZXJ2aWNlICovCisjZGVmaW5lIFVEQ0NTX0lPX1JQQwkoMSA8PCAxKQkvKiBSZWNlaXZlIHBhY2tldCBjb21wbGV0ZSAqLworI2RlZmluZSBVRENDU19JT19ST0YJKDEgPDwgMikJLyogUmVjZWl2ZSBvdmVyZmxvdyAqLworI2RlZmluZSBVRENDU19JT19ETUUJKDEgPDwgMykJLyogRE1BIGVuYWJsZSAqLworI2RlZmluZSBVRENDU19JT19STkUJKDEgPDwgNikJLyogUmVjZWl2ZSBGSUZPIG5vdCBlbXB0eSAqLworI2RlZmluZSBVRENDU19JT19SU1AJKDEgPDwgNykJLyogUmVjZWl2ZSBzaG9ydCBwYWNrZXQgKi8KKworLyogSW50ZXJydXB0IElOIC0gRW5kcG9pbnQgNSwxMCwxNSAqLworI2RlZmluZSBVRENDUzUJCV9fUkVHKDB4NDA2MDAwMjQpICAvKiBVREMgRW5kcG9pbnQgNSAoSW50ZXJydXB0KSBDb250cm9sL1N0YXR1cyBSZWdpc3RlciAqLworI2RlZmluZSBVRENDUzEwCQlfX1JFRygweDQwNjAwMDM4KSAgLyogVURDIEVuZHBvaW50IDEwIChJbnRlcnJ1cHQpIENvbnRyb2wvU3RhdHVzIFJlZ2lzdGVyICovCisjZGVmaW5lIFVEQ0NTMTUJCV9fUkVHKDB4NDA2MDAwNEMpICAvKiBVREMgRW5kcG9pbnQgMTUgKEludGVycnVwdCkgQ29udHJvbC9TdGF0dXMgUmVnaXN0ZXIgKi8KKworI2RlZmluZSBVRENDU19JTlRfVEZTCSgxIDw8IDApCS8qIFRyYW5zbWl0IEZJRk8gc2VydmljZSAqLworI2RlZmluZSBVRENDU19JTlRfVFBDCSgxIDw8IDEpCS8qIFRyYW5zbWl0IHBhY2tldCBjb21wbGV0ZSAqLworI2RlZmluZSBVRENDU19JTlRfRlRGCSgxIDw8IDIpCS8qIEZsdXNoIFR4IEZJRk8gKi8KKyNkZWZpbmUgVURDQ1NfSU5UX1RVUgkoMSA8PCAzKQkvKiBUcmFuc21pdCBGSUZPIHVuZGVycnVuICovCisjZGVmaW5lIFVEQ0NTX0lOVF9TU1QJKDEgPDwgNCkJLyogU2VudCBzdGFsbCAqLworI2RlZmluZSBVRENDU19JTlRfRlNUCSgxIDw8IDUpCS8qIEZvcmNlIHN0YWxsICovCisjZGVmaW5lIFVEQ0NTX0lOVF9UU1AJKDEgPDwgNykJLyogVHJhbnNtaXQgc2hvcnQgcGFja2V0ICovCisKKyNkZWZpbmUgVUZOUkgJCV9fUkVHKDB4NDA2MDAwNjApICAvKiBVREMgRnJhbWUgTnVtYmVyIFJlZ2lzdGVyIEhpZ2ggKi8KKyNkZWZpbmUgVUZOUkwJCV9fUkVHKDB4NDA2MDAwNjQpICAvKiBVREMgRnJhbWUgTnVtYmVyIFJlZ2lzdGVyIExvdyAqLworI2RlZmluZSBVQkNSMgkJX19SRUcoMHg0MDYwMDA2OCkgIC8qIFVEQyBCeXRlIENvdW50IFJlZyAyICovCisjZGVmaW5lIFVCQ1I0CQlfX1JFRygweDQwNjAwMDZjKSAgLyogVURDIEJ5dGUgQ291bnQgUmVnIDQgKi8KKyNkZWZpbmUgVUJDUjcJCV9fUkVHKDB4NDA2MDAwNzApICAvKiBVREMgQnl0ZSBDb3VudCBSZWcgNyAqLworI2RlZmluZSBVQkNSOQkJX19SRUcoMHg0MDYwMDA3NCkgIC8qIFVEQyBCeXRlIENvdW50IFJlZyA5ICovCisjZGVmaW5lIFVCQ1IxMgkJX19SRUcoMHg0MDYwMDA3OCkgIC8qIFVEQyBCeXRlIENvdW50IFJlZyAxMiAqLworI2RlZmluZSBVQkNSMTQJCV9fUkVHKDB4NDA2MDAwN2MpICAvKiBVREMgQnl0ZSBDb3VudCBSZWcgMTQgKi8KKyNkZWZpbmUgVUREUjAJCV9fUkVHKDB4NDA2MDAwODApICAvKiBVREMgRW5kcG9pbnQgMCBEYXRhIFJlZ2lzdGVyICovCisjZGVmaW5lIFVERFIxCQlfX1JFRygweDQwNjAwMTAwKSAgLyogVURDIEVuZHBvaW50IDEgRGF0YSBSZWdpc3RlciAqLworI2RlZmluZSBVRERSMgkJX19SRUcoMHg0MDYwMDE4MCkgIC8qIFVEQyBFbmRwb2ludCAyIERhdGEgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgVUREUjMJCV9fUkVHKDB4NDA2MDAyMDApICAvKiBVREMgRW5kcG9pbnQgMyBEYXRhIFJlZ2lzdGVyICovCisjZGVmaW5lIFVERFI0CQlfX1JFRygweDQwNjAwNDAwKSAgLyogVURDIEVuZHBvaW50IDQgRGF0YSBSZWdpc3RlciAqLworI2RlZmluZSBVRERSNQkJX19SRUcoMHg0MDYwMDBBMCkgIC8qIFVEQyBFbmRwb2ludCA1IERhdGEgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgVUREUjYJCV9fUkVHKDB4NDA2MDA2MDApICAvKiBVREMgRW5kcG9pbnQgNiBEYXRhIFJlZ2lzdGVyICovCisjZGVmaW5lIFVERFI3CQlfX1JFRygweDQwNjAwNjgwKSAgLyogVURDIEVuZHBvaW50IDcgRGF0YSBSZWdpc3RlciAqLworI2RlZmluZSBVRERSOAkJX19SRUcoMHg0MDYwMDcwMCkgIC8qIFVEQyBFbmRwb2ludCA4IERhdGEgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgVUREUjkJCV9fUkVHKDB4NDA2MDA5MDApICAvKiBVREMgRW5kcG9pbnQgOSBEYXRhIFJlZ2lzdGVyICovCisjZGVmaW5lIFVERFIxMAkJX19SRUcoMHg0MDYwMDBDMCkgIC8qIFVEQyBFbmRwb2ludCAxMCBEYXRhIFJlZ2lzdGVyICovCisjZGVmaW5lIFVERFIxMQkJX19SRUcoMHg0MDYwMEIwMCkgIC8qIFVEQyBFbmRwb2ludCAxMSBEYXRhIFJlZ2lzdGVyICovCisjZGVmaW5lIFVERFIxMgkJX19SRUcoMHg0MDYwMEI4MCkgIC8qIFVEQyBFbmRwb2ludCAxMiBEYXRhIFJlZ2lzdGVyICovCisjZGVmaW5lIFVERFIxMwkJX19SRUcoMHg0MDYwMEMwMCkgIC8qIFVEQyBFbmRwb2ludCAxMyBEYXRhIFJlZ2lzdGVyICovCisjZGVmaW5lIFVERFIxNAkJX19SRUcoMHg0MDYwMEUwMCkgIC8qIFVEQyBFbmRwb2ludCAxNCBEYXRhIFJlZ2lzdGVyICovCisjZGVmaW5lIFVERFIxNQkJX19SRUcoMHg0MDYwMDBFMCkgIC8qIFVEQyBFbmRwb2ludCAxNSBEYXRhIFJlZ2lzdGVyICovCisKKyNkZWZpbmUgVUlDUjAJCV9fUkVHKDB4NDA2MDAwNTApICAvKiBVREMgSW50ZXJydXB0IENvbnRyb2wgUmVnaXN0ZXIgMCAqLworCisjZGVmaW5lIFVJQ1IwX0lNMAkoMSA8PCAwKQkvKiBJbnRlcnJ1cHQgbWFzayBlcCAwICovCisjZGVmaW5lIFVJQ1IwX0lNMQkoMSA8PCAxKQkvKiBJbnRlcnJ1cHQgbWFzayBlcCAxICovCisjZGVmaW5lIFVJQ1IwX0lNMgkoMSA8PCAyKQkvKiBJbnRlcnJ1cHQgbWFzayBlcCAyICovCisjZGVmaW5lIFVJQ1IwX0lNMwkoMSA8PCAzKQkvKiBJbnRlcnJ1cHQgbWFzayBlcCAzICovCisjZGVmaW5lIFVJQ1IwX0lNNAkoMSA8PCA0KQkvKiBJbnRlcnJ1cHQgbWFzayBlcCA0ICovCisjZGVmaW5lIFVJQ1IwX0lNNQkoMSA8PCA1KQkvKiBJbnRlcnJ1cHQgbWFzayBlcCA1ICovCisjZGVmaW5lIFVJQ1IwX0lNNgkoMSA8PCA2KQkvKiBJbnRlcnJ1cHQgbWFzayBlcCA2ICovCisjZGVmaW5lIFVJQ1IwX0lNNwkoMSA8PCA3KQkvKiBJbnRlcnJ1cHQgbWFzayBlcCA3ICovCisKKyNkZWZpbmUgVUlDUjEJCV9fUkVHKDB4NDA2MDAwNTQpICAvKiBVREMgSW50ZXJydXB0IENvbnRyb2wgUmVnaXN0ZXIgMSAqLworCisjZGVmaW5lIFVJQ1IxX0lNOAkoMSA8PCAwKQkvKiBJbnRlcnJ1cHQgbWFzayBlcCA4ICovCisjZGVmaW5lIFVJQ1IxX0lNOQkoMSA8PCAxKQkvKiBJbnRlcnJ1cHQgbWFzayBlcCA5ICovCisjZGVmaW5lIFVJQ1IxX0lNMTAJKDEgPDwgMikJLyogSW50ZXJydXB0IG1hc2sgZXAgMTAgKi8KKyNkZWZpbmUgVUlDUjFfSU0xMQkoMSA8PCAzKQkvKiBJbnRlcnJ1cHQgbWFzayBlcCAxMSAqLworI2RlZmluZSBVSUNSMV9JTTEyCSgxIDw8IDQpCS8qIEludGVycnVwdCBtYXNrIGVwIDEyICovCisjZGVmaW5lIFVJQ1IxX0lNMTMJKDEgPDwgNSkJLyogSW50ZXJydXB0IG1hc2sgZXAgMTMgKi8KKyNkZWZpbmUgVUlDUjFfSU0xNAkoMSA8PCA2KQkvKiBJbnRlcnJ1cHQgbWFzayBlcCAxNCAqLworI2RlZmluZSBVSUNSMV9JTTE1CSgxIDw8IDcpCS8qIEludGVycnVwdCBtYXNrIGVwIDE1ICovCisKKyNkZWZpbmUgVVNJUjAJCV9fUkVHKDB4NDA2MDAwNTgpICAvKiBVREMgU3RhdHVzIEludGVycnVwdCBSZWdpc3RlciAwICovCisKKyNkZWZpbmUgVVNJUjBfSVIwCSgxIDw8IDApCS8qIEludGVycnVwdCByZXF1ZXN0IGVwIDAgKi8KKyNkZWZpbmUgVVNJUjBfSVIxCSgxIDw8IDEpCS8qIEludGVycnVwdCByZXF1ZXN0IGVwIDEgKi8KKyNkZWZpbmUgVVNJUjBfSVIyCSgxIDw8IDIpCS8qIEludGVycnVwdCByZXF1ZXN0IGVwIDIgKi8KKyNkZWZpbmUgVVNJUjBfSVIzCSgxIDw8IDMpCS8qIEludGVycnVwdCByZXF1ZXN0IGVwIDMgKi8KKyNkZWZpbmUgVVNJUjBfSVI0CSgxIDw8IDQpCS8qIEludGVycnVwdCByZXF1ZXN0IGVwIDQgKi8KKyNkZWZpbmUgVVNJUjBfSVI1CSgxIDw8IDUpCS8qIEludGVycnVwdCByZXF1ZXN0IGVwIDUgKi8KKyNkZWZpbmUgVVNJUjBfSVI2CSgxIDw8IDYpCS8qIEludGVycnVwdCByZXF1ZXN0IGVwIDYgKi8KKyNkZWZpbmUgVVNJUjBfSVI3CSgxIDw8IDcpCS8qIEludGVycnVwdCByZXF1ZXN0IGVwIDcgKi8KKworI2RlZmluZSBVU0lSMQkJX19SRUcoMHg0MDYwMDA1QykgIC8qIFVEQyBTdGF0dXMgSW50ZXJydXB0IFJlZ2lzdGVyIDEgKi8KKworI2RlZmluZSBVU0lSMV9JUjgJKDEgPDwgMCkJLyogSW50ZXJydXB0IHJlcXVlc3QgZXAgOCAqLworI2RlZmluZSBVU0lSMV9JUjkJKDEgPDwgMSkJLyogSW50ZXJydXB0IHJlcXVlc3QgZXAgOSAqLworI2RlZmluZSBVU0lSMV9JUjEwCSgxIDw8IDIpCS8qIEludGVycnVwdCByZXF1ZXN0IGVwIDEwICovCisjZGVmaW5lIFVTSVIxX0lSMTEJKDEgPDwgMykJLyogSW50ZXJydXB0IHJlcXVlc3QgZXAgMTEgKi8KKyNkZWZpbmUgVVNJUjFfSVIxMgkoMSA8PCA0KQkvKiBJbnRlcnJ1cHQgcmVxdWVzdCBlcCAxMiAqLworI2RlZmluZSBVU0lSMV9JUjEzCSgxIDw8IDUpCS8qIEludGVycnVwdCByZXF1ZXN0IGVwIDEzICovCisjZGVmaW5lIFVTSVIxX0lSMTQJKDEgPDwgNikJLyogSW50ZXJydXB0IHJlcXVlc3QgZXAgMTQgKi8KKyNkZWZpbmUgVVNJUjFfSVIxNQkoMSA8PCA3KQkvKiBJbnRlcnJ1cHQgcmVxdWVzdCBlcCAxNSAqLworCisjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLXB4YS9weGEyN3gtdWRjLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1weGEvcHhhMjd4LXVkYy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJjMWNmN2QwCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtcHhhL3B4YTI3eC11ZGMuaApAQCAtMCwwICsxLDI1NyBAQAorI2lmbmRlZiBfQVNNX0FSQ0hfUFhBMjdYX1VEQ19ICisjZGVmaW5lIF9BU01fQVJDSF9QWEEyN1hfVURDX0gKKworI2lmZGVmIF9BU01fQVJDSF9QWEEyNVhfVURDX0gKKyNlcnJvciBZb3UgY2Fubm90IGluY2x1ZGUgYm90aCBQWEEyNXggYW5kIFBYQTI3eCBVREMgc3VwcG9ydAorI2VuZGlmCisKKyNkZWZpbmUgVURDQ1IgICAgICAgICAgIF9fUkVHKDB4NDA2MDAwMDApIC8qIFVEQyBDb250cm9sIFJlZ2lzdGVyICovCisjZGVmaW5lIFVEQ0NSX09FTgkoMSA8PCAzMSkJLyogT24tdGhlLUdvIEVuYWJsZSAqLworI2RlZmluZSBVRENDUl9BQUxUSE5QCSgxIDw8IDMwKQkvKiBBLWRldmljZSBBbHRlcm5hdGUgSG9zdCBOZWdvdGlhdGlvbgorCQkJCQkgICBQcm90b2NvbCBQb3J0IFN1cHBvcnQgKi8KKyNkZWZpbmUgVURDQ1JfQUhOUAkoMSA8PCAyOSkJLyogQS1kZXZpY2UgSG9zdCBOZWdvdGlhdGlvbiBQcm90b2NvbAorCQkJCQkgICBTdXBwb3J0ICovCisjZGVmaW5lIFVEQ0NSX0JITlAJKDEgPDwgMjgpCS8qIEItZGV2aWNlIEhvc3QgTmVnb3RpYXRpb24gUHJvdG9jb2wKKwkJCQkJICAgRW5hYmxlICovCisjZGVmaW5lIFVEQ0NSX0RXUkUJKDEgPDwgMTYpCS8qIERldmljZSBSZW1vdGUgV2FrZS11cCBFbmFibGUgKi8KKyNkZWZpbmUgVURDQ1JfQUNOCSgweDAzIDw8IDExKQkvKiBBY3RpdmUgVURDIGNvbmZpZ3VyYXRpb24gTnVtYmVyICovCisjZGVmaW5lIFVEQ0NSX0FDTl9TCTExCisjZGVmaW5lIFVEQ0NSX0FJTgkoMHgwNyA8PCA4KQkvKiBBY3RpdmUgVURDIGludGVyZmFjZSBOdW1iZXIgKi8KKyNkZWZpbmUgVURDQ1JfQUlOX1MJOAorI2RlZmluZSBVRENDUl9BQUlTTgkoMHgwNyA8PCA1KQkvKiBBY3RpdmUgVURDIEFsdGVybmF0ZSBJbnRlcmZhY2UKKwkJCQkJICAgU2V0dGluZyBOdW1iZXIgKi8KKyNkZWZpbmUgVURDQ1JfQUFJU05fUwk1CisjZGVmaW5lIFVEQ0NSX1NNQUMJKDEgPDwgNCkJLyogU3dpdGNoIEVuZHBvaW50IE1lbW9yeSB0byBBY3RpdmUKKwkJCQkJICAgQ29uZmlndXJhdGlvbiAqLworI2RlZmluZSBVRENDUl9FTUNFCSgxIDw8IDMpCS8qIEVuZHBvaW50IE1lbW9yeSBDb25maWd1cmF0aW9uCisJCQkJCSAgIEVycm9yICovCisjZGVmaW5lIFVEQ0NSX1VEUgkoMSA8PCAyKQkvKiBVREMgUmVzdW1lICovCisjZGVmaW5lIFVEQ0NSX1VEQQkoMSA8PCAxKQkvKiBVREMgQWN0aXZlICovCisjZGVmaW5lIFVEQ0NSX1VERQkoMSA8PCAwKQkvKiBVREMgRW5hYmxlICovCisKKyNkZWZpbmUgVURDSUNSMCAgICAgICAgIF9fUkVHKDB4NDA2MDAwMDQpIC8qIFVEQyBJbnRlcnJ1cHQgQ29udHJvbCBSZWdpc3RlcjAgKi8KKyNkZWZpbmUgVURDSUNSMSAgICAgICAgIF9fUkVHKDB4NDA2MDAwMDgpIC8qIFVEQyBJbnRlcnJ1cHQgQ29udHJvbCBSZWdpc3RlcjEgKi8KKyNkZWZpbmUgVURDSUNSX0ZJRk9FUlIJKDEgPDwgMSkJLyogRklGTyBFcnJvciBpbnRlcnJ1cHQgZm9yIEVQICovCisjZGVmaW5lIFVEQ0lDUl9QS1RDT01QTCAoMSA8PCAwKQkvKiBQYWNrZXQgQ29tcGxldGUgaW50ZXJydXB0IGZvciBFUCAqLworCisjZGVmaW5lIFVEQ19JTlRfRklGT0VSUk9SICAoMHgyKQorI2RlZmluZSBVRENfSU5UX1BBQ0tFVENNUCAgKDB4MSkKKworI2RlZmluZSBVRENJQ1JfSU5UKG4saW50cikgKCgoaW50cikgJiAweDAzKSA8PCAoKChuKSAmIDB4MEYpICogMikpCisjZGVmaW5lIFVEQ0lDUjFfSUVDQwkoMSA8PCAzMSkJLyogSW50RW4gLSBDb25maWd1cmF0aW9uIENoYW5nZSAqLworI2RlZmluZSBVRENJQ1IxX0lFU09GCSgxIDw8IDMwKQkvKiBJbnRFbiAtIFN0YXJ0IG9mIEZyYW1lICovCisjZGVmaW5lIFVEQ0lDUjFfSUVSVQkoMSA8PCAyOSkJLyogSW50RW4gLSBSZXN1bWUgKi8KKyNkZWZpbmUgVURDSUNSMV9JRVNVCSgxIDw8IDI4KQkvKiBJbnRFbiAtIFN1c3BlbmQgKi8KKyNkZWZpbmUgVURDSUNSMV9JRVJTCSgxIDw8IDI3KQkvKiBJbnRFbiAtIFJlc2V0ICovCisKKyNkZWZpbmUgVURDSVNSMCAgICAgICAgIF9fUkVHKDB4NDA2MDAwMEMpIC8qIFVEQyBJbnRlcnJ1cHQgU3RhdHVzIFJlZ2lzdGVyIDAgKi8KKyNkZWZpbmUgVURDSVNSMSAgICAgICAgIF9fUkVHKDB4NDA2MDAwMTApIC8qIFVEQyBJbnRlcnJ1cHQgU3RhdHVzIFJlZ2lzdGVyIDEgKi8KKyNkZWZpbmUgVURDSVNSX0lOVChuLGludHIpICgoKGludHIpICYgMHgwMykgPDwgKCgobikgJiAweDBGKSAqIDIpKQorI2RlZmluZSBVRENJU1IxX0lSQ0MJKDEgPDwgMzEpCS8qIEludFJlcSAtIENvbmZpZ3VyYXRpb24gQ2hhbmdlICovCisjZGVmaW5lIFVEQ0lTUjFfSVJTT0YJKDEgPDwgMzApCS8qIEludFJlcSAtIFN0YXJ0IG9mIEZyYW1lICovCisjZGVmaW5lIFVEQ0lTUjFfSVJSVQkoMSA8PCAyOSkJLyogSW50UmVxIC0gUmVzdW1lICovCisjZGVmaW5lIFVEQ0lTUjFfSVJTVQkoMSA8PCAyOCkJLyogSW50UmVxIC0gU3VzcGVuZCAqLworI2RlZmluZSBVRENJU1IxX0lSUlMJKDEgPDwgMjcpCS8qIEludFJlcSAtIFJlc2V0ICovCisKKyNkZWZpbmUgVURDRk5SICAgICAgICAgIF9fUkVHKDB4NDA2MDAwMTQpIC8qIFVEQyBGcmFtZSBOdW1iZXIgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgVURDT1RHSUNSCV9fUkVHKDB4NDA2MDAwMTgpIC8qIFVEQyBPbi1UaGUtR28gaW50ZXJydXB0IGNvbnRyb2wgKi8KKyNkZWZpbmUgVURDT1RHSUNSX0lFU0YJKDEgPDwgMjQpCS8qIE9URyBTRVRfRkVBVFVSRSBjb21tYW5kIHJlY3ZkICovCisjZGVmaW5lIFVEQ09UR0lDUl9JRVhSCSgxIDw8IDE3KQkvKiBFeHRyYSBUcmFuc2NpZXZlciBJbnRlcnJ1cHQKKwkJCQkJICAgUmlzaW5nIEVkZ2UgSW50ZXJydXB0IEVuYWJsZSAqLworI2RlZmluZSBVRENPVEdJQ1JfSUVYRgkoMSA8PCAxNikJLyogRXh0cmEgVHJhbnNjaWV2ZXIgSW50ZXJydXB0CisJCQkJCSAgIEZhbGxpbmcgRWRnZSBJbnRlcnJ1cHQgRW5hYmxlICovCisjZGVmaW5lIFVEQ09UR0lDUl9JRVZWNDBSICgxIDw8IDkpCS8qIE9URyBWYnVzIFZhbGlkIDQuMFYgUmlzaW5nIEVkZ2UKKwkJCQkJICAgSW50ZXJydXB0IEVuYWJsZSAqLworI2RlZmluZSBVRENPVEdJQ1JfSUVWVjQwRiAoMSA8PCA4KQkvKiBPVEcgVmJ1cyBWYWxpZCA0LjBWIEZhbGxpbmcgRWRnZQorCQkJCQkgICBJbnRlcnJ1cHQgRW5hYmxlICovCisjZGVmaW5lIFVEQ09UR0lDUl9JRVZWNDRSICgxIDw8IDcpCS8qIE9URyBWYnVzIFZhbGlkIDQuNFYgUmlzaW5nIEVkZ2UKKwkJCQkJICAgSW50ZXJydXB0IEVuYWJsZSAqLworI2RlZmluZSBVRENPVEdJQ1JfSUVWVjQ0RiAoMSA8PCA2KQkvKiBPVEcgVmJ1cyBWYWxpZCA0LjRWIEZhbGxpbmcgRWRnZQorCQkJCQkgICBJbnRlcnJ1cHQgRW5hYmxlICovCisjZGVmaW5lIFVEQ09UR0lDUl9JRVNWUgkoMSA8PCA1KQkvKiBPVEcgU2Vzc2lvbiBWYWxpZCBSaXNpbmcgRWRnZQorCQkJCQkgICBJbnRlcnJ1cHQgRW5hYmxlICovCisjZGVmaW5lIFVEQ09UR0lDUl9JRVNWRgkoMSA8PCA0KQkvKiBPVEcgU2Vzc2lvbiBWYWxpZCBGYWxsaW5nIEVkZ2UKKwkJCQkJICAgSW50ZXJydXB0IEVuYWJsZSAqLworI2RlZmluZSBVRENPVEdJQ1JfSUVTRFIJKDEgPDwgMykJLyogT1RHIEEtRGV2aWNlIFNSUCBEZXRlY3QgUmlzaW5nCisJCQkJCSAgIEVkZ2UgSW50ZXJydXB0IEVuYWJsZSAqLworI2RlZmluZSBVRENPVEdJQ1JfSUVTREYJKDEgPDwgMikJLyogT1RHIEEtRGV2aWNlIFNSUCBEZXRlY3QgRmFsbGluZworCQkJCQkgICBFZGdlIEludGVycnVwdCBFbmFibGUgKi8KKyNkZWZpbmUgVURDT1RHSUNSX0lFSURSCSgxIDw8IDEpCS8qIE9URyBJRCBDaGFuZ2UgUmlzaW5nIEVkZ2UKKwkJCQkJICAgSW50ZXJydXB0IEVuYWJsZSAqLworI2RlZmluZSBVRENPVEdJQ1JfSUVJREYJKDEgPDwgMCkJLyogT1RHIElEIENoYW5nZSBGYWxsaW5nIEVkZ2UKKwkJCQkJICAgSW50ZXJydXB0IEVuYWJsZSAqLworCisjZGVmaW5lIFVQMk9DUgkJICBfX1JFRygweDQwNjAwMDIwKSAgLyogVVNCIFBvcnQgMiBPdXRwdXQgQ29udHJvbCByZWdpc3RlciAqLworI2RlZmluZSBVUDNPQ1IJCSAgX19SRUcoMHg0MDYwMDAyNCkgIC8qIFVTQiBQb3J0IDIgT3V0cHV0IENvbnRyb2wgcmVnaXN0ZXIgKi8KKworI2RlZmluZSBVUDJPQ1JfQ1BWRU4JKDEgPDwgMCkJLyogQ2hhcmdlIFB1bXAgVmJ1cyBFbmFibGUgKi8KKyNkZWZpbmUgVVAyT0NSX0NQVlBFCSgxIDw8IDEpCS8qIENoYXJnZSBQdW1wIFZidXMgUHVsc2UgRW5hYmxlICovCisjZGVmaW5lIFVQMk9DUl9EUFBERQkoMSA8PCAyKQkvKiBIb3N0IFBvcnQgMiBUcmFuc2NlaXZlciBEKyBQdWxsIERvd24gRW5hYmxlICovCisjZGVmaW5lIFVQMk9DUl9ETVBERQkoMSA8PCAzKQkvKiBIb3N0IFBvcnQgMiBUcmFuc2NlaXZlciBELSBQdWxsIERvd24gRW5hYmxlICovCisjZGVmaW5lIFVQMk9DUl9EUFBVRQkoMSA8PCA0KQkvKiBIb3N0IFBvcnQgMiBUcmFuc2NlaXZlciBEKyBQdWxsIFVwIEVuYWJsZSAqLworI2RlZmluZSBVUDJPQ1JfRE1QVUUJKDEgPDwgNSkJLyogSG9zdCBQb3J0IDIgVHJhbnNjZWl2ZXIgRC0gUHVsbCBVcCBFbmFibGUgKi8KKyNkZWZpbmUgVVAyT0NSX0RQUFVCRQkoMSA8PCA2KQkvKiBIb3N0IFBvcnQgMiBUcmFuc2NlaXZlciBEKyBQdWxsIFVwIEJ5cGFzcyBFbmFibGUgKi8KKyNkZWZpbmUgVVAyT0NSX0RNUFVCRQkoMSA8PCA3KQkvKiBIb3N0IFBvcnQgMiBUcmFuc2NlaXZlciBELSBQdWxsIFVwIEJ5cGFzcyBFbmFibGUgKi8KKyNkZWZpbmUgVVAyT0NSX0VYU1AJCSgxIDw8IDgpCS8qIEV4dGVybmFsIFRyYW5zY2VpdmVyIFNwZWVkIENvbnRyb2wgKi8KKyNkZWZpbmUgVVAyT0NSX0VYU1VTCSgxIDw8IDkpCS8qIEV4dGVybmFsIFRyYW5zY2VpdmVyIFNwZWVkIEVuYWJsZSAqLworI2RlZmluZSBVUDJPQ1JfSURPTgkJKDEgPDwgMTApCS8qIE9URyBJRCBSZWFkIEVuYWJsZSAqLworI2RlZmluZSBVUDJPQ1JfSFhTCQkoMSA8PCAxNikJLyogSG9zdCBQb3J0IDIgVHJhbnNjZWl2ZXIgT3V0cHV0IFNlbGVjdCAqLworI2RlZmluZSBVUDJPQ1JfSFhPRQkJKDEgPDwgMTcpCS8qIEhvc3QgUG9ydCAyIFRyYW5zY2VpdmVyIE91dHB1dCBFbmFibGUgKi8KKyNkZWZpbmUgVVAyT0NSX1NFT1MJCSgxIDw8IDI0KQkvKiBTaW5nbGUtRW5kZWQgT3V0cHV0IFNlbGVjdCAqLworCisjZGVmaW5lIFVEQ0NTTih4KQlfX1JFRzIoMHg0MDYwMDEwMCwgKHgpIDw8IDIpCisjZGVmaW5lIFVEQ0NTUjAgICAgICAgICBfX1JFRygweDQwNjAwMTAwKSAvKiBVREMgQ29udHJvbC9TdGF0dXMgcmVnaXN0ZXIgLSBFbmRwb2ludCAwICovCisjZGVmaW5lIFVEQ0NTUjBfU0EJKDEgPDwgNykJLyogU2V0dXAgQWN0aXZlICovCisjZGVmaW5lIFVEQ0NTUjBfUk5FCSgxIDw8IDYpCS8qIFJlY2VpdmUgRklGTyBOb3QgRW1wdHkgKi8KKyNkZWZpbmUgVURDQ1NSMF9GU1QJKDEgPDwgNSkJLyogRm9yY2UgU3RhbGwgKi8KKyNkZWZpbmUgVURDQ1NSMF9TU1QJKDEgPDwgNCkJLyogU2VudCBTdGFsbCAqLworI2RlZmluZSBVRENDU1IwX0RNRQkoMSA8PCAzKQkvKiBETUEgRW5hYmxlICovCisjZGVmaW5lIFVEQ0NTUjBfRlRGCSgxIDw8IDIpCS8qIEZsdXNoIFRyYW5zbWl0IEZJRk8gKi8KKyNkZWZpbmUgVURDQ1NSMF9JUFIJKDEgPDwgMSkJLyogSU4gUGFja2V0IFJlYWR5ICovCisjZGVmaW5lIFVEQ0NTUjBfT1BDCSgxIDw8IDApCS8qIE9VVCBQYWNrZXQgQ29tcGxldGUgKi8KKworI2RlZmluZSBVRENDU1JBICAgICAgICAgX19SRUcoMHg0MDYwMDEwNCkgLyogVURDIENvbnRyb2wvU3RhdHVzIHJlZ2lzdGVyIC0gRW5kcG9pbnQgQSAqLworI2RlZmluZSBVRENDU1JCICAgICAgICAgX19SRUcoMHg0MDYwMDEwOCkgLyogVURDIENvbnRyb2wvU3RhdHVzIHJlZ2lzdGVyIC0gRW5kcG9pbnQgQiAqLworI2RlZmluZSBVRENDU1JDICAgICAgICAgX19SRUcoMHg0MDYwMDEwQykgLyogVURDIENvbnRyb2wvU3RhdHVzIHJlZ2lzdGVyIC0gRW5kcG9pbnQgQyAqLworI2RlZmluZSBVRENDU1JEICAgICAgICAgX19SRUcoMHg0MDYwMDExMCkgLyogVURDIENvbnRyb2wvU3RhdHVzIHJlZ2lzdGVyIC0gRW5kcG9pbnQgRCAqLworI2RlZmluZSBVRENDU1JFICAgICAgICAgX19SRUcoMHg0MDYwMDExNCkgLyogVURDIENvbnRyb2wvU3RhdHVzIHJlZ2lzdGVyIC0gRW5kcG9pbnQgRSAqLworI2RlZmluZSBVRENDU1JGICAgICAgICAgX19SRUcoMHg0MDYwMDExOCkgLyogVURDIENvbnRyb2wvU3RhdHVzIHJlZ2lzdGVyIC0gRW5kcG9pbnQgRiAqLworI2RlZmluZSBVRENDU1JHICAgICAgICAgX19SRUcoMHg0MDYwMDExQykgLyogVURDIENvbnRyb2wvU3RhdHVzIHJlZ2lzdGVyIC0gRW5kcG9pbnQgRyAqLworI2RlZmluZSBVRENDU1JIICAgICAgICAgX19SRUcoMHg0MDYwMDEyMCkgLyogVURDIENvbnRyb2wvU3RhdHVzIHJlZ2lzdGVyIC0gRW5kcG9pbnQgSCAqLworI2RlZmluZSBVRENDU1JJICAgICAgICAgX19SRUcoMHg0MDYwMDEyNCkgLyogVURDIENvbnRyb2wvU3RhdHVzIHJlZ2lzdGVyIC0gRW5kcG9pbnQgSSAqLworI2RlZmluZSBVRENDU1JKICAgICAgICAgX19SRUcoMHg0MDYwMDEyOCkgLyogVURDIENvbnRyb2wvU3RhdHVzIHJlZ2lzdGVyIC0gRW5kcG9pbnQgSiAqLworI2RlZmluZSBVRENDU1JLICAgICAgICAgX19SRUcoMHg0MDYwMDEyQykgLyogVURDIENvbnRyb2wvU3RhdHVzIHJlZ2lzdGVyIC0gRW5kcG9pbnQgSyAqLworI2RlZmluZSBVRENDU1JMICAgICAgICAgX19SRUcoMHg0MDYwMDEzMCkgLyogVURDIENvbnRyb2wvU3RhdHVzIHJlZ2lzdGVyIC0gRW5kcG9pbnQgTCAqLworI2RlZmluZSBVRENDU1JNICAgICAgICAgX19SRUcoMHg0MDYwMDEzNCkgLyogVURDIENvbnRyb2wvU3RhdHVzIHJlZ2lzdGVyIC0gRW5kcG9pbnQgTSAqLworI2RlZmluZSBVRENDU1JOICAgICAgICAgX19SRUcoMHg0MDYwMDEzOCkgLyogVURDIENvbnRyb2wvU3RhdHVzIHJlZ2lzdGVyIC0gRW5kcG9pbnQgTiAqLworI2RlZmluZSBVRENDU1JQICAgICAgICAgX19SRUcoMHg0MDYwMDEzQykgLyogVURDIENvbnRyb2wvU3RhdHVzIHJlZ2lzdGVyIC0gRW5kcG9pbnQgUCAqLworI2RlZmluZSBVRENDU1JRICAgICAgICAgX19SRUcoMHg0MDYwMDE0MCkgLyogVURDIENvbnRyb2wvU3RhdHVzIHJlZ2lzdGVyIC0gRW5kcG9pbnQgUSAqLworI2RlZmluZSBVRENDU1JSICAgICAgICAgX19SRUcoMHg0MDYwMDE0NCkgLyogVURDIENvbnRyb2wvU3RhdHVzIHJlZ2lzdGVyIC0gRW5kcG9pbnQgUiAqLworI2RlZmluZSBVRENDU1JTICAgICAgICAgX19SRUcoMHg0MDYwMDE0OCkgLyogVURDIENvbnRyb2wvU3RhdHVzIHJlZ2lzdGVyIC0gRW5kcG9pbnQgUyAqLworI2RlZmluZSBVRENDU1JUICAgICAgICAgX19SRUcoMHg0MDYwMDE0QykgLyogVURDIENvbnRyb2wvU3RhdHVzIHJlZ2lzdGVyIC0gRW5kcG9pbnQgVCAqLworI2RlZmluZSBVRENDU1JVICAgICAgICAgX19SRUcoMHg0MDYwMDE1MCkgLyogVURDIENvbnRyb2wvU3RhdHVzIHJlZ2lzdGVyIC0gRW5kcG9pbnQgVSAqLworI2RlZmluZSBVRENDU1JWICAgICAgICAgX19SRUcoMHg0MDYwMDE1NCkgLyogVURDIENvbnRyb2wvU3RhdHVzIHJlZ2lzdGVyIC0gRW5kcG9pbnQgViAqLworI2RlZmluZSBVRENDU1JXICAgICAgICAgX19SRUcoMHg0MDYwMDE1OCkgLyogVURDIENvbnRyb2wvU3RhdHVzIHJlZ2lzdGVyIC0gRW5kcG9pbnQgVyAqLworI2RlZmluZSBVRENDU1JYICAgICAgICAgX19SRUcoMHg0MDYwMDE1QykgLyogVURDIENvbnRyb2wvU3RhdHVzIHJlZ2lzdGVyIC0gRW5kcG9pbnQgWCAqLworCisjZGVmaW5lIFVEQ0NTUl9EUEUJKDEgPDwgOSkJLyogRGF0YSBQYWNrZXQgRXJyb3IgKi8KKyNkZWZpbmUgVURDQ1NSX0ZFRgkoMSA8PCA4KQkvKiBGbHVzaCBFbmRwb2ludCBGSUZPICovCisjZGVmaW5lIFVEQ0NTUl9TUAkoMSA8PCA3KQkvKiBTaG9ydCBQYWNrZXQgQ29udHJvbC9TdGF0dXMgKi8KKyNkZWZpbmUgVURDQ1NSX0JORQkoMSA8PCA2KQkvKiBCdWZmZXIgTm90IEVtcHR5IChJTiBlbmRwb2ludHMpICovCisjZGVmaW5lIFVEQ0NTUl9CTkYJKDEgPDwgNikJLyogQnVmZmVyIE5vdCBGdWxsIChPVVQgZW5kcG9pbnRzKSAqLworI2RlZmluZSBVRENDU1JfRlNUCSgxIDw8IDUpCS8qIEZvcmNlIFNUQUxMICovCisjZGVmaW5lIFVEQ0NTUl9TU1QJKDEgPDwgNCkJLyogU2VudCBTVEFMTCAqLworI2RlZmluZSBVRENDU1JfRE1FCSgxIDw8IDMpCS8qIERNQSBFbmFibGUgKi8KKyNkZWZpbmUgVURDQ1NSX1RSTgkoMSA8PCAyKQkvKiBUeC9SeCBOQUsgKi8KKyNkZWZpbmUgVURDQ1NSX1BDCSgxIDw8IDEpCS8qIFBhY2tldCBDb21wbGV0ZSAqLworI2RlZmluZSBVRENDU1JfRlMJKDEgPDwgMCkJLyogRklGTyBuZWVkcyBzZXJ2aWNlICovCisKKyNkZWZpbmUgVURDQkNOKHgpCV9fUkVHMigweDQwNjAwMjAwLCAoeCk8PDIpCisjZGVmaW5lIFVEQ0JDUjAgICAgICAgICBfX1JFRygweDQwNjAwMjAwKSAvKiBCeXRlIENvdW50IFJlZ2lzdGVyIC0gRVAwICovCisjZGVmaW5lIFVEQ0JDUkEgICAgICAgICBfX1JFRygweDQwNjAwMjA0KSAvKiBCeXRlIENvdW50IFJlZ2lzdGVyIC0gRVBBICovCisjZGVmaW5lIFVEQ0JDUkIgICAgICAgICBfX1JFRygweDQwNjAwMjA4KSAvKiBCeXRlIENvdW50IFJlZ2lzdGVyIC0gRVBCICovCisjZGVmaW5lIFVEQ0JDUkMgICAgICAgICBfX1JFRygweDQwNjAwMjBDKSAvKiBCeXRlIENvdW50IFJlZ2lzdGVyIC0gRVBDICovCisjZGVmaW5lIFVEQ0JDUkQgICAgICAgICBfX1JFRygweDQwNjAwMjEwKSAvKiBCeXRlIENvdW50IFJlZ2lzdGVyIC0gRVBEICovCisjZGVmaW5lIFVEQ0JDUkUgICAgICAgICBfX1JFRygweDQwNjAwMjE0KSAvKiBCeXRlIENvdW50IFJlZ2lzdGVyIC0gRVBFICovCisjZGVmaW5lIFVEQ0JDUkYgICAgICAgICBfX1JFRygweDQwNjAwMjE4KSAvKiBCeXRlIENvdW50IFJlZ2lzdGVyIC0gRVBGICovCisjZGVmaW5lIFVEQ0JDUkcgICAgICAgICBfX1JFRygweDQwNjAwMjFDKSAvKiBCeXRlIENvdW50IFJlZ2lzdGVyIC0gRVBHICovCisjZGVmaW5lIFVEQ0JDUkggICAgICAgICBfX1JFRygweDQwNjAwMjIwKSAvKiBCeXRlIENvdW50IFJlZ2lzdGVyIC0gRVBIICovCisjZGVmaW5lIFVEQ0JDUkkgICAgICAgICBfX1JFRygweDQwNjAwMjI0KSAvKiBCeXRlIENvdW50IFJlZ2lzdGVyIC0gRVBJICovCisjZGVmaW5lIFVEQ0JDUkogICAgICAgICBfX1JFRygweDQwNjAwMjI4KSAvKiBCeXRlIENvdW50IFJlZ2lzdGVyIC0gRVBKICovCisjZGVmaW5lIFVEQ0JDUksgICAgICAgICBfX1JFRygweDQwNjAwMjJDKSAvKiBCeXRlIENvdW50IFJlZ2lzdGVyIC0gRVBLICovCisjZGVmaW5lIFVEQ0JDUkwgICAgICAgICBfX1JFRygweDQwNjAwMjMwKSAvKiBCeXRlIENvdW50IFJlZ2lzdGVyIC0gRVBMICovCisjZGVmaW5lIFVEQ0JDUk0gICAgICAgICBfX1JFRygweDQwNjAwMjM0KSAvKiBCeXRlIENvdW50IFJlZ2lzdGVyIC0gRVBNICovCisjZGVmaW5lIFVEQ0JDUk4gICAgICAgICBfX1JFRygweDQwNjAwMjM4KSAvKiBCeXRlIENvdW50IFJlZ2lzdGVyIC0gRVBOICovCisjZGVmaW5lIFVEQ0JDUlAgICAgICAgICBfX1JFRygweDQwNjAwMjNDKSAvKiBCeXRlIENvdW50IFJlZ2lzdGVyIC0gRVBQICovCisjZGVmaW5lIFVEQ0JDUlEgICAgICAgICBfX1JFRygweDQwNjAwMjQwKSAvKiBCeXRlIENvdW50IFJlZ2lzdGVyIC0gRVBRICovCisjZGVmaW5lIFVEQ0JDUlIgICAgICAgICBfX1JFRygweDQwNjAwMjQ0KSAvKiBCeXRlIENvdW50IFJlZ2lzdGVyIC0gRVBSICovCisjZGVmaW5lIFVEQ0JDUlMgICAgICAgICBfX1JFRygweDQwNjAwMjQ4KSAvKiBCeXRlIENvdW50IFJlZ2lzdGVyIC0gRVBTICovCisjZGVmaW5lIFVEQ0JDUlQgICAgICAgICBfX1JFRygweDQwNjAwMjRDKSAvKiBCeXRlIENvdW50IFJlZ2lzdGVyIC0gRVBUICovCisjZGVmaW5lIFVEQ0JDUlUgICAgICAgICBfX1JFRygweDQwNjAwMjUwKSAvKiBCeXRlIENvdW50IFJlZ2lzdGVyIC0gRVBVICovCisjZGVmaW5lIFVEQ0JDUlYgICAgICAgICBfX1JFRygweDQwNjAwMjU0KSAvKiBCeXRlIENvdW50IFJlZ2lzdGVyIC0gRVBWICovCisjZGVmaW5lIFVEQ0JDUlcgICAgICAgICBfX1JFRygweDQwNjAwMjU4KSAvKiBCeXRlIENvdW50IFJlZ2lzdGVyIC0gRVBXICovCisjZGVmaW5lIFVEQ0JDUlggICAgICAgICBfX1JFRygweDQwNjAwMjVDKSAvKiBCeXRlIENvdW50IFJlZ2lzdGVyIC0gRVBYICovCisKKyNkZWZpbmUgVURDRE4oeCkJX19SRUcyKDB4NDA2MDAzMDAsICh4KTw8MikKKyNkZWZpbmUgUEhZU19VRENETih4KQkoMHg0MDYwMDMwMCArICgoeCk8PDIpKQorI2RlZmluZSBQVURDRE4oeCkJKHZvbGF0aWxlIHUzMiAqKShpb19wMnYoUEhZU19VRENETigoeCkpKSkKKyNkZWZpbmUgVURDRFIwICAgICAgICAgIF9fUkVHKDB4NDA2MDAzMDApIC8qIERhdGEgUmVnaXN0ZXIgLSBFUDAgKi8KKyNkZWZpbmUgVURDRFJBICAgICAgICAgIF9fUkVHKDB4NDA2MDAzMDQpIC8qIERhdGEgUmVnaXN0ZXIgLSBFUEEgKi8KKyNkZWZpbmUgVURDRFJCICAgICAgICAgIF9fUkVHKDB4NDA2MDAzMDgpIC8qIERhdGEgUmVnaXN0ZXIgLSBFUEIgKi8KKyNkZWZpbmUgVURDRFJDICAgICAgICAgIF9fUkVHKDB4NDA2MDAzMEMpIC8qIERhdGEgUmVnaXN0ZXIgLSBFUEMgKi8KKyNkZWZpbmUgVURDRFJEICAgICAgICAgIF9fUkVHKDB4NDA2MDAzMTApIC8qIERhdGEgUmVnaXN0ZXIgLSBFUEQgKi8KKyNkZWZpbmUgVURDRFJFICAgICAgICAgIF9fUkVHKDB4NDA2MDAzMTQpIC8qIERhdGEgUmVnaXN0ZXIgLSBFUEUgKi8KKyNkZWZpbmUgVURDRFJGICAgICAgICAgIF9fUkVHKDB4NDA2MDAzMTgpIC8qIERhdGEgUmVnaXN0ZXIgLSBFUEYgKi8KKyNkZWZpbmUgVURDRFJHICAgICAgICAgIF9fUkVHKDB4NDA2MDAzMUMpIC8qIERhdGEgUmVnaXN0ZXIgLSBFUEcgKi8KKyNkZWZpbmUgVURDRFJIICAgICAgICAgIF9fUkVHKDB4NDA2MDAzMjApIC8qIERhdGEgUmVnaXN0ZXIgLSBFUEggKi8KKyNkZWZpbmUgVURDRFJJICAgICAgICAgIF9fUkVHKDB4NDA2MDAzMjQpIC8qIERhdGEgUmVnaXN0ZXIgLSBFUEkgKi8KKyNkZWZpbmUgVURDRFJKICAgICAgICAgIF9fUkVHKDB4NDA2MDAzMjgpIC8qIERhdGEgUmVnaXN0ZXIgLSBFUEogKi8KKyNkZWZpbmUgVURDRFJLICAgICAgICAgIF9fUkVHKDB4NDA2MDAzMkMpIC8qIERhdGEgUmVnaXN0ZXIgLSBFUEsgKi8KKyNkZWZpbmUgVURDRFJMICAgICAgICAgIF9fUkVHKDB4NDA2MDAzMzApIC8qIERhdGEgUmVnaXN0ZXIgLSBFUEwgKi8KKyNkZWZpbmUgVURDRFJNICAgICAgICAgIF9fUkVHKDB4NDA2MDAzMzQpIC8qIERhdGEgUmVnaXN0ZXIgLSBFUE0gKi8KKyNkZWZpbmUgVURDRFJOICAgICAgICAgIF9fUkVHKDB4NDA2MDAzMzgpIC8qIERhdGEgUmVnaXN0ZXIgLSBFUE4gKi8KKyNkZWZpbmUgVURDRFJQICAgICAgICAgIF9fUkVHKDB4NDA2MDAzM0MpIC8qIERhdGEgUmVnaXN0ZXIgLSBFUFAgKi8KKyNkZWZpbmUgVURDRFJRICAgICAgICAgIF9fUkVHKDB4NDA2MDAzNDApIC8qIERhdGEgUmVnaXN0ZXIgLSBFUFEgKi8KKyNkZWZpbmUgVURDRFJSICAgICAgICAgIF9fUkVHKDB4NDA2MDAzNDQpIC8qIERhdGEgUmVnaXN0ZXIgLSBFUFIgKi8KKyNkZWZpbmUgVURDRFJTICAgICAgICAgIF9fUkVHKDB4NDA2MDAzNDgpIC8qIERhdGEgUmVnaXN0ZXIgLSBFUFMgKi8KKyNkZWZpbmUgVURDRFJUICAgICAgICAgIF9fUkVHKDB4NDA2MDAzNEMpIC8qIERhdGEgUmVnaXN0ZXIgLSBFUFQgKi8KKyNkZWZpbmUgVURDRFJVICAgICAgICAgIF9fUkVHKDB4NDA2MDAzNTApIC8qIERhdGEgUmVnaXN0ZXIgLSBFUFUgKi8KKyNkZWZpbmUgVURDRFJWICAgICAgICAgIF9fUkVHKDB4NDA2MDAzNTQpIC8qIERhdGEgUmVnaXN0ZXIgLSBFUFYgKi8KKyNkZWZpbmUgVURDRFJXICAgICAgICAgIF9fUkVHKDB4NDA2MDAzNTgpIC8qIERhdGEgUmVnaXN0ZXIgLSBFUFcgKi8KKyNkZWZpbmUgVURDRFJYICAgICAgICAgIF9fUkVHKDB4NDA2MDAzNUMpIC8qIERhdGEgUmVnaXN0ZXIgLSBFUFggKi8KKworI2RlZmluZSBVRENDTih4KSAgICAgICBfX1JFRzIoMHg0MDYwMDQwMCwgKHgpPDwyKQorI2RlZmluZSBVRENDUkEgICAgICAgICAgX19SRUcoMHg0MDYwMDQwNCkgLyogQ29uZmlndXJhdGlvbiByZWdpc3RlciBFUEEgKi8KKyNkZWZpbmUgVURDQ1JCICAgICAgICAgIF9fUkVHKDB4NDA2MDA0MDgpIC8qIENvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgRVBCICovCisjZGVmaW5lIFVEQ0NSQyAgICAgICAgICBfX1JFRygweDQwNjAwNDBDKSAvKiBDb25maWd1cmF0aW9uIHJlZ2lzdGVyIEVQQyAqLworI2RlZmluZSBVRENDUkQgICAgICAgICAgX19SRUcoMHg0MDYwMDQxMCkgLyogQ29uZmlndXJhdGlvbiByZWdpc3RlciBFUEQgKi8KKyNkZWZpbmUgVURDQ1JFICAgICAgICAgIF9fUkVHKDB4NDA2MDA0MTQpIC8qIENvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgRVBFICovCisjZGVmaW5lIFVEQ0NSRiAgICAgICAgICBfX1JFRygweDQwNjAwNDE4KSAvKiBDb25maWd1cmF0aW9uIHJlZ2lzdGVyIEVQRiAqLworI2RlZmluZSBVRENDUkcgICAgICAgICAgX19SRUcoMHg0MDYwMDQxQykgLyogQ29uZmlndXJhdGlvbiByZWdpc3RlciBFUEcgKi8KKyNkZWZpbmUgVURDQ1JIICAgICAgICAgIF9fUkVHKDB4NDA2MDA0MjApIC8qIENvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgRVBIICovCisjZGVmaW5lIFVEQ0NSSSAgICAgICAgICBfX1JFRygweDQwNjAwNDI0KSAvKiBDb25maWd1cmF0aW9uIHJlZ2lzdGVyIEVQSSAqLworI2RlZmluZSBVRENDUkogICAgICAgICAgX19SRUcoMHg0MDYwMDQyOCkgLyogQ29uZmlndXJhdGlvbiByZWdpc3RlciBFUEogKi8KKyNkZWZpbmUgVURDQ1JLICAgICAgICAgIF9fUkVHKDB4NDA2MDA0MkMpIC8qIENvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgRVBLICovCisjZGVmaW5lIFVEQ0NSTCAgICAgICAgICBfX1JFRygweDQwNjAwNDMwKSAvKiBDb25maWd1cmF0aW9uIHJlZ2lzdGVyIEVQTCAqLworI2RlZmluZSBVRENDUk0gICAgICAgICAgX19SRUcoMHg0MDYwMDQzNCkgLyogQ29uZmlndXJhdGlvbiByZWdpc3RlciBFUE0gKi8KKyNkZWZpbmUgVURDQ1JOICAgICAgICAgIF9fUkVHKDB4NDA2MDA0MzgpIC8qIENvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgRVBOICovCisjZGVmaW5lIFVEQ0NSUCAgICAgICAgICBfX1JFRygweDQwNjAwNDNDKSAvKiBDb25maWd1cmF0aW9uIHJlZ2lzdGVyIEVQUCAqLworI2RlZmluZSBVRENDUlEgICAgICAgICAgX19SRUcoMHg0MDYwMDQ0MCkgLyogQ29uZmlndXJhdGlvbiByZWdpc3RlciBFUFEgKi8KKyNkZWZpbmUgVURDQ1JSICAgICAgICAgIF9fUkVHKDB4NDA2MDA0NDQpIC8qIENvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgRVBSICovCisjZGVmaW5lIFVEQ0NSUyAgICAgICAgICBfX1JFRygweDQwNjAwNDQ4KSAvKiBDb25maWd1cmF0aW9uIHJlZ2lzdGVyIEVQUyAqLworI2RlZmluZSBVRENDUlQgICAgICAgICAgX19SRUcoMHg0MDYwMDQ0QykgLyogQ29uZmlndXJhdGlvbiByZWdpc3RlciBFUFQgKi8KKyNkZWZpbmUgVURDQ1JVICAgICAgICAgIF9fUkVHKDB4NDA2MDA0NTApIC8qIENvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgRVBVICovCisjZGVmaW5lIFVEQ0NSViAgICAgICAgICBfX1JFRygweDQwNjAwNDU0KSAvKiBDb25maWd1cmF0aW9uIHJlZ2lzdGVyIEVQViAqLworI2RlZmluZSBVRENDUlcgICAgICAgICAgX19SRUcoMHg0MDYwMDQ1OCkgLyogQ29uZmlndXJhdGlvbiByZWdpc3RlciBFUFcgKi8KKyNkZWZpbmUgVURDQ1JYICAgICAgICAgIF9fUkVHKDB4NDA2MDA0NUMpIC8qIENvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgRVBYICovCisKKyNkZWZpbmUgVURDQ09OUl9DTgkoMHgwMyA8PCAyNSkJLyogQ29uZmlndXJhdGlvbiBOdW1iZXIgKi8KKyNkZWZpbmUgVURDQ09OUl9DTl9TCSgyNSkKKyNkZWZpbmUgVURDQ09OUl9JTgkoMHgwNyA8PCAyMikJLyogSW50ZXJmYWNlIE51bWJlciAqLworI2RlZmluZSBVRENDT05SX0lOX1MJKDIyKQorI2RlZmluZSBVRENDT05SX0FJU04JKDB4MDcgPDwgMTkpCS8qIEFsdGVybmF0ZSBJbnRlcmZhY2UgTnVtYmVyICovCisjZGVmaW5lIFVEQ0NPTlJfQUlTTl9TCSgxOSkKKyNkZWZpbmUgVURDQ09OUl9FTgkoMHgwZiA8PCAxNSkJLyogRW5kcG9pbnQgTnVtYmVyICovCisjZGVmaW5lIFVEQ0NPTlJfRU5fUwkoMTUpCisjZGVmaW5lIFVEQ0NPTlJfRVQJKDB4MDMgPDwgMTMpCS8qIEVuZHBvaW50IFR5cGU6ICovCisjZGVmaW5lIFVEQ0NPTlJfRVRfUwkoMTMpCisjZGVmaW5lIFVEQ0NPTlJfRVRfSU5UCSgweDAzIDw8IDEzKQkvKiAgIEludGVycnVwdCAqLworI2RlZmluZSBVRENDT05SX0VUX0JVTEsJKDB4MDIgPDwgMTMpCS8qICAgQnVsayAqLworI2RlZmluZSBVRENDT05SX0VUX0lTTwkoMHgwMSA8PCAxMykJLyogICBJc29jaHJvbm91cyAqLworI2RlZmluZSBVRENDT05SX0VUX05VCSgweDAwIDw8IDEzKQkvKiAgIE5vdCB1c2VkICovCisjZGVmaW5lIFVEQ0NPTlJfRUQJKDEgPDwgMTIpCS8qIEVuZHBvaW50IERpcmVjdGlvbiAqLworI2RlZmluZSBVRENDT05SX01QUwkoMHgzZmYgPDwgMikJLyogTWF4aW11bSBQYWNrZXQgU2l6ZSAqLworI2RlZmluZSBVRENDT05SX01QU19TCSgyKQorI2RlZmluZSBVRENDT05SX0RFCSgxIDw8IDEpCS8qIERvdWJsZSBCdWZmZXJpbmcgRW5hYmxlICovCisjZGVmaW5lIFVEQ0NPTlJfRUUJKDEgPDwgMCkJLyogRW5kcG9pbnQgRW5hYmxlICovCisKKworI2RlZmluZSBVRENfSU5UX0ZJRk9FUlJPUiAgKDB4MikKKyNkZWZpbmUgVURDX0lOVF9QQUNLRVRDTVAgICgweDEpCisKKyNkZWZpbmUgVURDX0ZOUl9NQVNLICAgICAoMHg3ZmYpCisKKyNkZWZpbmUgVURDQ1NSX1dSX01BU0sgICAoVURDQ1NSX0RNRXxVRENDU1JfRlNUKQorI2RlZmluZSBVRENfQkNSX01BU0sgICAgKDB4M2ZmKQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLXB4YS9weGEyeHgtZ3Bpby5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtcHhhL3B4YTJ4eC1ncGlvLmgKaW5kZXggYjgxY2Q2My4uNmVmMWRkMCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtcHhhL3B4YTJ4eC1ncGlvLmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtcHhhL3B4YTJ4eC1ncGlvLmgKQEAgLTEsNiArMSw4IEBACiAjaWZuZGVmIF9fQVNNX0FSQ0hfUFhBMlhYX0dQSU9fSAogI2RlZmluZSBfX0FTTV9BUkNIX1BYQTJYWF9HUElPX0gKIAorI3dhcm5pbmcgUGxlYXNlIHVzZSBtZnAtcHhhMls1N114LmggaW5zdGVhZCBvZiBweGEyeHgtZ3Bpby5oCisKIC8qIEdQSU8gYWx0ZXJuYXRlIGZ1bmN0aW9uIGFzc2lnbm1lbnRzICovCiAKICNkZWZpbmUgR1BJTzFfUlNUCQkxCS8qIHJlc2V0ICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1weGEvcHhhMnh4LXJlZ3MuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLXB4YS9weGEyeHgtcmVncy5oCmluZGV4IDk1NTNiNTQuLjczZTBhMzIgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLXB4YS9weGEyeHgtcmVncy5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLXB4YS9weGEyeHgtcmVncy5oCkBAIC04MSw0ICs4MSwxNjYgQEAKIAogI2VuZGlmCiAKKworLyoKKyAqIFBvd2VyIE1hbmFnZXIKKyAqLworCisjZGVmaW5lIFBNQ1IJCV9fUkVHKDB4NDBGMDAwMDApICAvKiBQb3dlciBNYW5hZ2VyIENvbnRyb2wgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgUFNTUgkJX19SRUcoMHg0MEYwMDAwNCkgIC8qIFBvd2VyIE1hbmFnZXIgU2xlZXAgU3RhdHVzIFJlZ2lzdGVyICovCisjZGVmaW5lIFBTUFIJCV9fUkVHKDB4NDBGMDAwMDgpICAvKiBQb3dlciBNYW5hZ2VyIFNjcmF0Y2ggUGFkIFJlZ2lzdGVyICovCisjZGVmaW5lIFBXRVIJCV9fUkVHKDB4NDBGMDAwMEMpICAvKiBQb3dlciBNYW5hZ2VyIFdha2UtdXAgRW5hYmxlIFJlZ2lzdGVyICovCisjZGVmaW5lIFBSRVIJCV9fUkVHKDB4NDBGMDAwMTApICAvKiBQb3dlciBNYW5hZ2VyIEdQSU8gUmlzaW5nLUVkZ2UgRGV0ZWN0IEVuYWJsZSBSZWdpc3RlciAqLworI2RlZmluZSBQRkVSCQlfX1JFRygweDQwRjAwMDE0KSAgLyogUG93ZXIgTWFuYWdlciBHUElPIEZhbGxpbmctRWRnZSBEZXRlY3QgRW5hYmxlIFJlZ2lzdGVyICovCisjZGVmaW5lIFBFRFIJCV9fUkVHKDB4NDBGMDAwMTgpICAvKiBQb3dlciBNYW5hZ2VyIEdQSU8gRWRnZSBEZXRlY3QgU3RhdHVzIFJlZ2lzdGVyICovCisjZGVmaW5lIFBDRlIJCV9fUkVHKDB4NDBGMDAwMUMpICAvKiBQb3dlciBNYW5hZ2VyIEdlbmVyYWwgQ29uZmlndXJhdGlvbiBSZWdpc3RlciAqLworI2RlZmluZSBQR1NSMAkJX19SRUcoMHg0MEYwMDAyMCkgIC8qIFBvd2VyIE1hbmFnZXIgR1BJTyBTbGVlcCBTdGF0ZSBSZWdpc3RlciBmb3IgR1BbMzEtMF0gKi8KKyNkZWZpbmUgUEdTUjEJCV9fUkVHKDB4NDBGMDAwMjQpICAvKiBQb3dlciBNYW5hZ2VyIEdQSU8gU2xlZXAgU3RhdGUgUmVnaXN0ZXIgZm9yIEdQWzYzLTMyXSAqLworI2RlZmluZSBQR1NSMgkJX19SRUcoMHg0MEYwMDAyOCkgIC8qIFBvd2VyIE1hbmFnZXIgR1BJTyBTbGVlcCBTdGF0ZSBSZWdpc3RlciBmb3IgR1BbODQtNjRdICovCisjZGVmaW5lIFBHU1IzCQlfX1JFRygweDQwRjAwMDJDKSAgLyogUG93ZXIgTWFuYWdlciBHUElPIFNsZWVwIFN0YXRlIFJlZ2lzdGVyIGZvciBHUFsxMTgtOTZdICovCisjZGVmaW5lIFJDU1IJCV9fUkVHKDB4NDBGMDAwMzApICAvKiBSZXNldCBDb250cm9sbGVyIFN0YXR1cyBSZWdpc3RlciAqLworCisjZGVmaW5lIFBTTFIJCV9fUkVHKDB4NDBGMDAwMzQpCS8qIFBvd2VyIE1hbmFnZXIgU2xlZXAgQ29uZmlnIFJlZ2lzdGVyICovCisjZGVmaW5lIFBTVFIJCV9fUkVHKDB4NDBGMDAwMzgpCS8qIFBvd2VyIE1hbmFnZXIgU3RhbmRieSBDb25maWcgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgUFNOUgkJX19SRUcoMHg0MEYwMDAzQykJLyogUG93ZXIgTWFuYWdlciBTZW5zZSBDb25maWcgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgUFZDUgkJX19SRUcoMHg0MEYwMDA0MCkJLyogUG93ZXIgTWFuYWdlciBWb2x0YWdlQ29udHJvbCBSZWdpc3RlciAqLworI2RlZmluZSBQS1dSCQlfX1JFRygweDQwRjAwMDUwKQkvKiBQb3dlciBNYW5hZ2VyIEtCIFdha2UtdXAgRW5hYmxlIFJlZyAqLworI2RlZmluZSBQS1NSCQlfX1JFRygweDQwRjAwMDU0KQkvKiBQb3dlciBNYW5hZ2VyIEtCIExldmVsLURldGVjdCBSZWdpc3RlciAqLworI2RlZmluZSBQQ01EKHgpCV9fUkVHMigweDQwRjAwMDgwLCAoeCk8PDIpCisjZGVmaW5lIFBDTUQwCV9fUkVHKDB4NDBGMDAwODAgKyAwICogNCkKKyNkZWZpbmUgUENNRDEJX19SRUcoMHg0MEYwMDA4MCArIDEgKiA0KQorI2RlZmluZSBQQ01EMglfX1JFRygweDQwRjAwMDgwICsgMiAqIDQpCisjZGVmaW5lIFBDTUQzCV9fUkVHKDB4NDBGMDAwODAgKyAzICogNCkKKyNkZWZpbmUgUENNRDQJX19SRUcoMHg0MEYwMDA4MCArIDQgKiA0KQorI2RlZmluZSBQQ01ENQlfX1JFRygweDQwRjAwMDgwICsgNSAqIDQpCisjZGVmaW5lIFBDTUQ2CV9fUkVHKDB4NDBGMDAwODAgKyA2ICogNCkKKyNkZWZpbmUgUENNRDcJX19SRUcoMHg0MEYwMDA4MCArIDcgKiA0KQorI2RlZmluZSBQQ01EOAlfX1JFRygweDQwRjAwMDgwICsgOCAqIDQpCisjZGVmaW5lIFBDTUQ5CV9fUkVHKDB4NDBGMDAwODAgKyA5ICogNCkKKyNkZWZpbmUgUENNRDEwCV9fUkVHKDB4NDBGMDAwODAgKyAxMCAqIDQpCisjZGVmaW5lIFBDTUQxMQlfX1JFRygweDQwRjAwMDgwICsgMTEgKiA0KQorI2RlZmluZSBQQ01EMTIJX19SRUcoMHg0MEYwMDA4MCArIDEyICogNCkKKyNkZWZpbmUgUENNRDEzCV9fUkVHKDB4NDBGMDAwODAgKyAxMyAqIDQpCisjZGVmaW5lIFBDTUQxNAlfX1JFRygweDQwRjAwMDgwICsgMTQgKiA0KQorI2RlZmluZSBQQ01EMTUJX19SRUcoMHg0MEYwMDA4MCArIDE1ICogNCkKKyNkZWZpbmUgUENNRDE2CV9fUkVHKDB4NDBGMDAwODAgKyAxNiAqIDQpCisjZGVmaW5lIFBDTUQxNwlfX1JFRygweDQwRjAwMDgwICsgMTcgKiA0KQorI2RlZmluZSBQQ01EMTgJX19SRUcoMHg0MEYwMDA4MCArIDE4ICogNCkKKyNkZWZpbmUgUENNRDE5CV9fUkVHKDB4NDBGMDAwODAgKyAxOSAqIDQpCisjZGVmaW5lIFBDTUQyMAlfX1JFRygweDQwRjAwMDgwICsgMjAgKiA0KQorI2RlZmluZSBQQ01EMjEJX19SRUcoMHg0MEYwMDA4MCArIDIxICogNCkKKyNkZWZpbmUgUENNRDIyCV9fUkVHKDB4NDBGMDAwODAgKyAyMiAqIDQpCisjZGVmaW5lIFBDTUQyMwlfX1JFRygweDQwRjAwMDgwICsgMjMgKiA0KQorI2RlZmluZSBQQ01EMjQJX19SRUcoMHg0MEYwMDA4MCArIDI0ICogNCkKKyNkZWZpbmUgUENNRDI1CV9fUkVHKDB4NDBGMDAwODAgKyAyNSAqIDQpCisjZGVmaW5lIFBDTUQyNglfX1JFRygweDQwRjAwMDgwICsgMjYgKiA0KQorI2RlZmluZSBQQ01EMjcJX19SRUcoMHg0MEYwMDA4MCArIDI3ICogNCkKKyNkZWZpbmUgUENNRDI4CV9fUkVHKDB4NDBGMDAwODAgKyAyOCAqIDQpCisjZGVmaW5lIFBDTUQyOQlfX1JFRygweDQwRjAwMDgwICsgMjkgKiA0KQorI2RlZmluZSBQQ01EMzAJX19SRUcoMHg0MEYwMDA4MCArIDMwICogNCkKKyNkZWZpbmUgUENNRDMxCV9fUkVHKDB4NDBGMDAwODAgKyAzMSAqIDQpCisKKyNkZWZpbmUgUENNRF9NQkMJKDE8PDEyKQorI2RlZmluZSBQQ01EX0RDRQkoMTw8MTEpCisjZGVmaW5lIFBDTURfTEMJKDE8PDEwKQorLyogRklYTUU6ICBQQ01EX1NRQyBuZWVkIGJlIGNoZWNrZWQuICAgKi8KKyNkZWZpbmUgUENNRF9TUUMJKDM8PDgpCS8qIGN1cnJlbnRseSBvbmx5IGJpdCA4IGlzIGNoYW5nZWFibGUsCisJCQkJICAgYml0IDkgc2hvdWxkIGJlIDAgYWxsIGRheS4gKi8KKyNkZWZpbmUgUFZDUl9WQ1NBCSgweDE8PDE0KQorI2RlZmluZSBQVkNSX0NvbW1hbmREZWxheSAoMHhmODApCisjZGVmaW5lIFBDRlJfUEkyQ19FTgkoMHgxIDw8IDYpCisKKyNkZWZpbmUgUFNTUl9PVEdQSAkoMSA8PCA2KQkvKiBPVEcgUGVyaXBoZXJhbCBjb250cm9sIEhvbGQgKi8KKyNkZWZpbmUgUFNTUl9SREgJKDEgPDwgNSkJLyogUmVhZCBEaXNhYmxlIEhvbGQgKi8KKyNkZWZpbmUgUFNTUl9QSAkJKDEgPDwgNCkJLyogUGVyaXBoZXJhbCBDb250cm9sIEhvbGQgKi8KKyNkZWZpbmUgUFNTUl9TVFMJKDEgPDwgMykJLyogU3RhbmRieSBNb2RlIFN0YXR1cyAqLworI2RlZmluZSBQU1NSX1ZGUwkoMSA8PCAyKQkvKiBWREQgRmF1bHQgU3RhdHVzICovCisjZGVmaW5lIFBTU1JfQkZTCSgxIDw8IDEpCS8qIEJhdHRlcnkgRmF1bHQgU3RhdHVzICovCisjZGVmaW5lIFBTU1JfU1NTCSgxIDw8IDApCS8qIFNvZnR3YXJlIFNsZWVwIFN0YXR1cyAqLworCisjZGVmaW5lIFBTTFJfU0xfUk9ECSgxIDw8IDIwKQkvKiBTbGVlcC1Nb2RlL0RlcHAtU2xlZXAgTW9kZSBuUkVTRVRfT1VUIERpc2FibGUgKi8KKworI2RlZmluZSBQQ0ZSX1JPCQkoMSA8PCAxNSkJLyogUkRIIE92ZXJyaWRlICovCisjZGVmaW5lIFBDRlJfUE8JCSgxIDw8IDE0KQkvKiBQSCBPdmVycmlkZSAqLworI2RlZmluZSBQQ0ZSX0dQUk9ECSgxIDw8IDEyKQkvKiBHUElPIG5SRVNFVF9PVVQgRGlzYWJsZSAqLworI2RlZmluZSBQQ0ZSX0wxX0VOCSgxIDw8IDExKQkvKiBTbGVlcCBNb2RlIEwxIGNvbnZlcnRlciBFbmFibGUgKi8KKyNkZWZpbmUgUENGUl9GVkMJKDEgPDwgMTApCS8qIEZyZXF1ZW5jeS9Wb2x0YWdlIENoYW5nZSAqLworI2RlZmluZSBQQ0ZSX0RDX0VOCSgxIDw8IDcpCS8qIFNsZWVwL2RlZXAtc2xlZXAgREMtREMgQ29udmVydGVyIEVuYWJsZSAqLworI2RlZmluZSBQQ0ZSX1BJMkNFTgkoMSA8PCA2KQkvKiBFbmFibGUgUEkyQyBjb250cm9sbGVyICovCisjZGVmaW5lIFBDRlJfR1BSX0VOCSgxIDw8IDQpCS8qIG5SRVNFVF9HUElPIFBpbiBFbmFibGUgKi8KKyNkZWZpbmUgUENGUl9EUwkJKDEgPDwgMykJLyogRGVlcCBTbGVlcCBNb2RlICovCisjZGVmaW5lIFBDRlJfRlMJCSgxIDw8IDIpCS8qIEZsb2F0IFN0YXRpYyBDaGlwIFNlbGVjdHMgKi8KKyNkZWZpbmUgUENGUl9GUAkJKDEgPDwgMSkJLyogRmxvYXQgUENNQ0lBIGNvbnRyb2xzICovCisjZGVmaW5lIFBDRlJfT1BERQkoMSA8PCAwKQkvKiAzLjY4NjQgTUh6IG9zY2lsbGF0b3IgcG93ZXItZG93biBlbmFibGUgKi8KKworI2RlZmluZSBSQ1NSX0dQUgkoMSA8PCAzKQkvKiBHUElPIFJlc2V0ICovCisjZGVmaW5lIFJDU1JfU01SCSgxIDw8IDIpCS8qIFNsZWVwIE1vZGUgKi8KKyNkZWZpbmUgUkNTUl9XRFIJKDEgPDwgMSkJLyogV2F0Y2hkb2cgUmVzZXQgKi8KKyNkZWZpbmUgUkNTUl9IV1IJKDEgPDwgMCkJLyogSGFyZHdhcmUgUmVzZXQgKi8KKworI2RlZmluZSBQV0VSX0dQSU8oTmIpCSgxIDw8IE5iKQkvKiBHUElPIFswLi4xNV0gd2FrZS11cCBlbmFibGUgICAgICovCisjZGVmaW5lIFBXRVJfR1BJTzAJUFdFUl9HUElPICgwKQkvKiBHUElPICBbMF0gd2FrZS11cCBlbmFibGUgICAgICAgICovCisjZGVmaW5lIFBXRVJfR1BJTzEJUFdFUl9HUElPICgxKQkvKiBHUElPICBbMV0gd2FrZS11cCBlbmFibGUgICAgICAgICovCisjZGVmaW5lIFBXRVJfR1BJTzIJUFdFUl9HUElPICgyKQkvKiBHUElPICBbMl0gd2FrZS11cCBlbmFibGUgICAgICAgICovCisjZGVmaW5lIFBXRVJfR1BJTzMJUFdFUl9HUElPICgzKQkvKiBHUElPICBbM10gd2FrZS11cCBlbmFibGUgICAgICAgICovCisjZGVmaW5lIFBXRVJfR1BJTzQJUFdFUl9HUElPICg0KQkvKiBHUElPICBbNF0gd2FrZS11cCBlbmFibGUgICAgICAgICovCisjZGVmaW5lIFBXRVJfR1BJTzUJUFdFUl9HUElPICg1KQkvKiBHUElPICBbNV0gd2FrZS11cCBlbmFibGUgICAgICAgICovCisjZGVmaW5lIFBXRVJfR1BJTzYJUFdFUl9HUElPICg2KQkvKiBHUElPICBbNl0gd2FrZS11cCBlbmFibGUgICAgICAgICovCisjZGVmaW5lIFBXRVJfR1BJTzcJUFdFUl9HUElPICg3KQkvKiBHUElPICBbN10gd2FrZS11cCBlbmFibGUgICAgICAgICovCisjZGVmaW5lIFBXRVJfR1BJTzgJUFdFUl9HUElPICg4KQkvKiBHUElPICBbOF0gd2FrZS11cCBlbmFibGUgICAgICAgICovCisjZGVmaW5lIFBXRVJfR1BJTzkJUFdFUl9HUElPICg5KQkvKiBHUElPICBbOV0gd2FrZS11cCBlbmFibGUgICAgICAgICovCisjZGVmaW5lIFBXRVJfR1BJTzEwCVBXRVJfR1BJTyAoMTApCS8qIEdQSU8gWzEwXSB3YWtlLXVwIGVuYWJsZSAgICAgICAgKi8KKyNkZWZpbmUgUFdFUl9HUElPMTEJUFdFUl9HUElPICgxMSkJLyogR1BJTyBbMTFdIHdha2UtdXAgZW5hYmxlICAgICAgICAqLworI2RlZmluZSBQV0VSX0dQSU8xMglQV0VSX0dQSU8gKDEyKQkvKiBHUElPIFsxMl0gd2FrZS11cCBlbmFibGUgICAgICAgICovCisjZGVmaW5lIFBXRVJfR1BJTzEzCVBXRVJfR1BJTyAoMTMpCS8qIEdQSU8gWzEzXSB3YWtlLXVwIGVuYWJsZSAgICAgICAgKi8KKyNkZWZpbmUgUFdFUl9HUElPMTQJUFdFUl9HUElPICgxNCkJLyogR1BJTyBbMTRdIHdha2UtdXAgZW5hYmxlICAgICAgICAqLworI2RlZmluZSBQV0VSX0dQSU8xNQlQV0VSX0dQSU8gKDE1KQkvKiBHUElPIFsxNV0gd2FrZS11cCBlbmFibGUgICAgICAgICovCisjZGVmaW5lIFBXRVJfUlRDCTB4ODAwMDAwMDAJLyogUlRDIGFsYXJtIHdha2UtdXAgZW5hYmxlICAgICAgICAqLworCisvKgorICogUFhBMnh4IHNwZWNpZmljIENvcmUgY2xvY2sgZGVmaW5pdGlvbnMKKyAqLworI2RlZmluZSBDQ0NSCQlfX1JFRygweDQxMzAwMDAwKSAgLyogQ29yZSBDbG9jayBDb25maWd1cmF0aW9uIFJlZ2lzdGVyICovCisjZGVmaW5lIENDU1IJCV9fUkVHKDB4NDEzMDAwMEMpICAvKiBDb3JlIENsb2NrIFN0YXR1cyBSZWdpc3RlciAqLworI2RlZmluZSBDS0VOCQlfX1JFRygweDQxMzAwMDA0KSAgLyogQ2xvY2sgRW5hYmxlIFJlZ2lzdGVyICovCisjZGVmaW5lIE9TQ0MJCV9fUkVHKDB4NDEzMDAwMDgpICAvKiBPc2NpbGxhdG9yIENvbmZpZ3VyYXRpb24gUmVnaXN0ZXIgKi8KKworI2RlZmluZSBDQ0NSX05fTUFTSwkweDAzODAJLyogUnVuIE1vZGUgRnJlcXVlbmN5IHRvIFR1cmJvIE1vZGUgRnJlcXVlbmN5IE11bHRpcGxpZXIgKi8KKyNkZWZpbmUgQ0NDUl9NX01BU0sJMHgwMDYwCS8qIE1lbW9yeSBGcmVxdWVuY3kgdG8gUnVuIE1vZGUgRnJlcXVlbmN5IE11bHRpcGxpZXIgKi8KKyNkZWZpbmUgQ0NDUl9MX01BU0sJMHgwMDFmCS8qIENyeXN0YWwgRnJlcXVlbmN5IHRvIE1lbW9yeSBGcmVxdWVuY3kgTXVsdGlwbGllciAqLworCisjZGVmaW5lIENLRU5fQUM5N0NPTkYgICAoMzEpICAgIC8qIEFDOTcgQ29udHJvbGxlciBDb25maWd1cmF0aW9uICovCisjZGVmaW5lIENLRU5fQ0FNRVJBCSgyNCkJLyogQ2FtZXJhIEludGVyZmFjZSBDbG9jayBFbmFibGUgKi8KKyNkZWZpbmUgQ0tFTl9TU1AxCSgyMykJLyogU1NQMSBVbml0IENsb2NrIEVuYWJsZSAqLworI2RlZmluZSBDS0VOX01FTUMJKDIyKQkvKiBNZW1vcnkgQ29udHJvbGxlciBDbG9jayBFbmFibGUgKi8KKyNkZWZpbmUgQ0tFTl9NRU1TVEsJKDIxKQkvKiBNZW1vcnkgU3RpY2sgSG9zdCBDb250cm9sbGVyICovCisjZGVmaW5lIENLRU5fSU0JCSgyMCkJLyogSW50ZXJuYWwgTWVtb3J5IENsb2NrIEVuYWJsZSAqLworI2RlZmluZSBDS0VOX0tFWVBBRAkoMTkpCS8qIEtleXBhZCBJbnRlcmZhY2UgQ2xvY2sgRW5hYmxlICovCisjZGVmaW5lIENLRU5fVVNJTQkoMTgpCS8qIFVTSU0gVW5pdCBDbG9jayBFbmFibGUgKi8KKyNkZWZpbmUgQ0tFTl9NU0wJKDE3KQkvKiBNU0wgVW5pdCBDbG9jayBFbmFibGUgKi8KKyNkZWZpbmUgQ0tFTl9MQ0QJKDE2KQkvKiBMQ0QgVW5pdCBDbG9jayBFbmFibGUgKi8KKyNkZWZpbmUgQ0tFTl9QV1JJMkMJKDE1KQkvKiBQV1IgSTJDIFVuaXQgQ2xvY2sgRW5hYmxlICovCisjZGVmaW5lIENLRU5fSTJDCSgxNCkJLyogSTJDIFVuaXQgQ2xvY2sgRW5hYmxlICovCisjZGVmaW5lIENLRU5fRklDUAkoMTMpCS8qIEZJQ1AgVW5pdCBDbG9jayBFbmFibGUgKi8KKyNkZWZpbmUgQ0tFTl9NTUMJKDEyKQkvKiBNTUMgVW5pdCBDbG9jayBFbmFibGUgKi8KKyNkZWZpbmUgQ0tFTl9VU0IJKDExKQkvKiBVU0IgVW5pdCBDbG9jayBFbmFibGUgKi8KKyNkZWZpbmUgQ0tFTl9BU1NQCSgxMCkJLyogQVNTUCAoU1NQMykgQ2xvY2sgRW5hYmxlICovCisjZGVmaW5lIENLRU5fVVNCSE9TVAkoMTApCS8qIFVTQiBIb3N0IFVuaXQgQ2xvY2sgRW5hYmxlICovCisjZGVmaW5lIENLRU5fT1NUSU1FUgkoOSkJLyogT1MgVGltZXIgVW5pdCBDbG9jayBFbmFibGUgKi8KKyNkZWZpbmUgQ0tFTl9OU1NQCSg5KQkvKiBOU1NQIChTU1AyKSBDbG9jayBFbmFibGUgKi8KKyNkZWZpbmUgQ0tFTl9JMlMJKDgpCS8qIEkyUyBVbml0IENsb2NrIEVuYWJsZSAqLworI2RlZmluZSBDS0VOX0JUVUFSVAkoNykJLyogQlRVQVJUIFVuaXQgQ2xvY2sgRW5hYmxlICovCisjZGVmaW5lIENLRU5fRkZVQVJUCSg2KQkvKiBGRlVBUlQgVW5pdCBDbG9jayBFbmFibGUgKi8KKyNkZWZpbmUgQ0tFTl9TVFVBUlQJKDUpCS8qIFNUVUFSVCBVbml0IENsb2NrIEVuYWJsZSAqLworI2RlZmluZSBDS0VOX0hXVUFSVAkoNCkJLyogSFdVQVJUIFVuaXQgQ2xvY2sgRW5hYmxlICovCisjZGVmaW5lIENLRU5fU1NQMwkoNCkJLyogU1NQMyBVbml0IENsb2NrIEVuYWJsZSAqLworI2RlZmluZSBDS0VOX1NTUAkoMykJLyogU1NQIFVuaXQgQ2xvY2sgRW5hYmxlICovCisjZGVmaW5lIENLRU5fU1NQMgkoMykJLyogU1NQMiBVbml0IENsb2NrIEVuYWJsZSAqLworI2RlZmluZSBDS0VOX0FDOTcJKDIpCS8qIEFDOTcgVW5pdCBDbG9jayBFbmFibGUgKi8KKyNkZWZpbmUgQ0tFTl9QV00xCSgxKQkvKiBQV00xIENsb2NrIEVuYWJsZSAqLworI2RlZmluZSBDS0VOX1BXTTAJKDApCS8qIFBXTTAgQ2xvY2sgRW5hYmxlICovCisKKyNkZWZpbmUgT1NDQ19PT04JKDEgPDwgMSkJLyogMzIuNzY4a0h6IE9PTiAod3JpdGUtb25jZSBvbmx5IGJpdCkgKi8KKyNkZWZpbmUgT1NDQ19PT0sJKDEgPDwgMCkJLyogMzIuNzY4a0h6IE9PSyAocmVhZC1vbmx5IGJpdCkgKi8KKwogI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1weGEvc3lzdGVtLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1weGEvc3lzdGVtLmgKaW5kZXggOWFhNmMyZS4uYmE3ZTEzMiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtcHhhL3N5c3RlbS5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLXB4YS9zeXN0ZW0uaApAQCAtMTIsNiArMTIsNyBAQAogCiAjaW5jbHVkZSA8YXNtL3Byb2MtZm5zLmg+CiAjaW5jbHVkZSAiaGFyZHdhcmUuaCIKKyNpbmNsdWRlICJweGEyeHgtcmVncy5oIgogI2luY2x1ZGUgInB4YS1yZWdzLmgiCiAKIHN0YXRpYyBpbmxpbmUgdm9pZCBhcmNoX2lkbGUodm9pZCkKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLXB4YS96eWxvbml0ZS5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtcHhhL3p5bG9uaXRlLmgKaW5kZXggNDg4MWI4MC4uZGU1NzdkZSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtcHhhL3p5bG9uaXRlLmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtcHhhL3p5bG9uaXRlLmgKQEAgLTE1LDcgKzE1LDYgQEAKIAogZXh0ZXJuIHN0cnVjdCBwbGF0Zm9ybV9tbWNfc2xvdCB6eWxvbml0ZV9tbWNfc2xvdFtdOwogCi1leHRlcm4gaW50IGdwaW9fYmFja2xpZ2h0OwogZXh0ZXJuIGludCBncGlvX2V0aF9pcnE7CiAKIGV4dGVybiBpbnQgd205NzEzX2lycTsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLXJwYy9pby5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtcnBjL2lvLmgKaW5kZXggYjRkYTA4ZC4uNmJkMjI5NSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtcnBjL2lvLmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtcnBjL2lvLmgKQEAgLTEyNiw3ICsxMjYsNyBAQAogCXJldHVybiAodW5zaWduZWQgc3opdmFsdWU7CQkJCQkJXAogfQogCi1zdGF0aWMgaW5saW5lIHZvaWQgX19pb21lbSAqX19pb2FkZHIodW5zaWduZWQgaW50IHBvcnQpCitzdGF0aWMgaW5saW5lIHZvaWQgX19pb21lbSAqX19kZXByZWNhdGVkIF9faW9hZGRyKHVuc2lnbmVkIGludCBwb3J0KQogewogCXZvaWQgX19pb21lbSAqcmV0OwogCWlmIChfX1BPUlRfUENJTyhwb3J0KSkKQEAgLTIzMiw4ICsyMzIsNyBAQAogCXJlc3VsdDsJCQkJCQkJCQlcCiB9KQogCi0jZGVmaW5lIF9faW9hZGRyYyhwb3J0KQkJXAotCSgoX19QT1JUX1BDSU8ocG9ydCkgPyBQQ0lPX0JBU0UgOiBJT19CQVNFKSArICgocG9ydCkgPDwgMikpCisjZGVmaW5lIF9faW9hZGRyYyhwb3J0KQkJX19pb2FkZHIocG9ydCkKIAogI2RlZmluZSBpbmIocCkJIAkoX19idWlsdGluX2NvbnN0YW50X3AoKHApKSA/IF9faW5iYyhwKSAgICA6IF9faW5iKHApKQogI2RlZmluZSBpbncocCkJIAkoX19idWlsdGluX2NvbnN0YW50X3AoKHApKSA/IF9faW53YyhwKSAgICA6IF9faW53KHApKQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtczNjMjQxMC9ncGlvLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1zM2MyNDEwL2dwaW8uaAppbmRleCA3NTgzODk1Li4xOGUxMGQyIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1zM2MyNDEwL2dwaW8uaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1zM2MyNDEwL2dwaW8uaApAQCAtMSw2OCArMSwxOCBAQAotLyoKLSAqIGxpbnV4L2luY2x1ZGUvYXNtLWFybS9hcmNoLXMzYzI0MTAvZ3Bpby5oCisvKiBsaW51eC9pbmNsdWRlL2FzbS1hcm0vYXJjaC1zM2MyNDEwL2dwaW8uaAogICoKLSAqIFMzQzI0MTAgR1BJTyB3cmFwcGVycyBmb3IgYXJjaC1uZXV0cmFsIEdQSU8gY2FsbHMKKyAqIENvcHlyaWdodCAoYykgMjAwOCBTaW10ZWMgRWxlY3Ryb25pY3MKKyAqCWh0dHA6Ly9hcm1saW51eC5zaW10ZWMuY28udWsvCisgKglCZW4gRG9va3MgPGJlbkBzaW10ZWMuY28udWs+CiAgKgotICogV3JpdHRlbiBieSBQaGlsaXBwIFphYmVsIDxwaGlsaXBwLnphYmVsQGdtYWlsLmNvbT4KKyAqIFMzQzI0MTAgLSBHUElPIGxpYiBzdXBwb3J0CiAgKgogICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKLSAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci0gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgotICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUKLSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gKgotICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCi0gKiBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQotICoKLSAqLworICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMKKyAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorKi8KIAotI2lmbmRlZiBfX0FTTV9BUkNIX1MzQzI0MTBfR1BJT19ICi0jZGVmaW5lIF9fQVNNX0FSQ0hfUzNDMjQxMF9HUElPX0gKKyNkZWZpbmUgZ3Bpb19nZXRfdmFsdWUJX19ncGlvX2dldF92YWx1ZQorI2RlZmluZSBncGlvX3NldF92YWx1ZQlfX2dwaW9fc2V0X3ZhbHVlCisjZGVmaW5lIGdwaW9fY2Fuc2xlZXAJX19ncGlvX2NhbnNsZWVwCiAKLSNpbmNsdWRlIDxhc20vaXJxLmg+Ci0jaW5jbHVkZSA8YXNtL2hhcmR3YXJlLmg+Ci0jaW5jbHVkZSA8YXNtL2FyY2gvcmVncy1ncGlvLmg+Ci0KLXN0YXRpYyBpbmxpbmUgaW50IGdwaW9fcmVxdWVzdCh1bnNpZ25lZCBncGlvLCBjb25zdCBjaGFyICpsYWJlbCkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGlubGluZSB2b2lkIGdwaW9fZnJlZSh1bnNpZ25lZCBncGlvKQotewotCXJldHVybjsKLX0KLQotc3RhdGljIGlubGluZSBpbnQgZ3Bpb19kaXJlY3Rpb25faW5wdXQodW5zaWduZWQgZ3BpbykKLXsKLQlzM2MyNDEwX2dwaW9fY2ZncGluKGdwaW8sIFMzQzI0MTBfR1BJT19JTlBVVCk7Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgaW50IGdwaW9fZGlyZWN0aW9uX291dHB1dCh1bnNpZ25lZCBncGlvLCBpbnQgdmFsdWUpCi17Ci0JczNjMjQxMF9ncGlvX2NmZ3BpbihncGlvLCBTM0MyNDEwX0dQSU9fT1VUUFVUKTsKLQkvKiBSRVZJU0lUIGNhbiB3ZSB3cml0ZSB0aGUgdmFsdWUgZmlyc3QsIHRvIGF2b2lkIGdsaXRjaGluZz8gKi8KLQlzM2MyNDEwX2dwaW9fc2V0cGluKGdwaW8sIHZhbHVlKTsKLQlyZXR1cm4gMDsKLX0KLQotI2RlZmluZSBncGlvX2dldF92YWx1ZShncGlvKQkJczNjMjQxMF9ncGlvX2dldHBpbihncGlvKQotI2RlZmluZSBncGlvX3NldF92YWx1ZShncGlvLHZhbHVlKQlzM2MyNDEwX2dwaW9fc2V0cGluKGdwaW8sIHZhbHVlKQotCi0jaW5jbHVkZSA8YXNtLWdlbmVyaWMvZ3Bpby5oPgkJCS8qIGNhbnNsZWVwIHdyYXBwZXJzICovCi0KLSNpZmRlZiBDT05GSUdfQ1BVX1MzQzI0MDAKLSNkZWZpbmUgZ3Bpb190b19pcnEoZ3BpbykJCXMzYzI0MDBfZ3Bpb19nZXRpcnEoZ3BpbykKLSNlbHNlCi0jZGVmaW5lIGdwaW9fdG9faXJxKGdwaW8pCQlzM2MyNDEwX2dwaW9fZ2V0aXJxKGdwaW8pCi0jZW5kaWYKLQotLyogRklYTUUgaW1wbGVtZW50IGlycV90b19ncGlvKCkgKi8KLQotI2VuZGlmCisjaW5jbHVkZSA8YXNtLWdlbmVyaWMvZ3Bpby5oPgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtczNjMjQxMC9yZWdzLWNsb2NrLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1zM2MyNDEwL3JlZ3MtY2xvY2suaAppbmRleCBlY2FlOWU3Li4zNzY2MTM1IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1zM2MyNDEwL3JlZ3MtY2xvY2suaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1zM2MyNDEwL3JlZ3MtY2xvY2suaApAQCAtMTg5LDYgKzE4OSw4IEBACiAjZGVmaW5lIFMzQzI0MTJfQ0xLU1JDX0kyU0NMS19NUExMCQkoMTw8OSkKICNkZWZpbmUgUzNDMjQxMl9DTEtTUkNfVVNCQ0xLX0hDTEsJCSgxPDwxMCkKICNkZWZpbmUgUzNDMjQxMl9DTEtTUkNfQ0FNQ0xLX0hDTEsJCSgxPDwxMSkKKyNkZWZpbmUgUzNDMjQxMl9DTEtTUkNfVVJFRkNMS19FWFRDTEsJKDE8PDEyKQorI2RlZmluZSBTM0MyNDEyX0NMS1NSQ19FUkVGQ0xLX0VYVENMSwkoMTw8MTQpCiAKICNlbmRpZiAvKiBDT05GSUdfQ1BVX1MzQzI0MTIgfCBDT05GSUdfQ1BVX1MzQzI0MTMgKi8KIApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2Fzc2VtYmxlci5oIGIvaW5jbHVkZS9hc20tYXJtL2Fzc2VtYmxlci5oCmluZGV4IGZjZTgzMjguLjkxMTM5M2IgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9hc3NlbWJsZXIuaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXNzZW1ibGVyLmgKQEAgLTU2LDYgKzU2LDIxIEBACiAjZW5kaWYKIAogLyoKKyAqIFRoaXMgY2FuIGJlIHVzZWQgdG8gZW5hYmxlIGNvZGUgdG8gY2FjaGVsaW5lIGFsaWduIHRoZSBkZXN0aW5hdGlvbgorICogcG9pbnRlciB3aGVuIGJ1bGsgd3JpdGluZyB0byBtZW1vcnkuICBFeHBlcmltZW50cyBvbiBTdHJvbmdBUk0gYW5kCisgKiBYU2NhbGUgZGlkbid0IHNob3cgdGhpcyBhIHdvcnRod2hpbGUgdGhpbmcgdG8gZG8gd2hlbiB0aGUgY2FjaGUgaXMgbm90CisgKiBzZXQgdG8gd3JpdGUtYWxsb2NhdGUgKHRoaXMgd291bGQgbmVlZCBmdXJ0aGVyIHRlc3Rpbmcgb24gWFNjYWxlIHdoZW4gV0EKKyAqIGlzIHVzZWQpLgorICoKKyAqIE9uIEZlcm9jZW9uIHRoZXJlIGlzIG11Y2ggdG8gZ2FpbiBob3dldmVyLCByZWdhcmRsZXNzIG9mIGNhY2hlIG1vZGUuCisgKi8KKyNpZmRlZiBDT05GSUdfQ1BVX0ZFUk9DRU9OCisjZGVmaW5lIENBTEdOKGNvZGUuLi4pIGNvZGUKKyNlbHNlCisjZGVmaW5lIENBTEdOKGNvZGUuLi4pCisjZW5kaWYKKworLyoKICAqIEVuYWJsZSBhbmQgZGlzYWJsZSBpbnRlcnJ1cHRzCiAgKi8KICNpZiBfX0xJTlVYX0FSTV9BUkNIX18gPj0gNgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2NhY2hlZmx1c2guaCBiL2luY2x1ZGUvYXNtLWFybS9jYWNoZWZsdXNoLmgKaW5kZXggNzU5YTk3Yi4uNzBiMGZlNyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2NhY2hlZmx1c2guaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vY2FjaGVmbHVzaC5oCkBAIC05NSwxMSArOTUsNyBAQAogI2VuZGlmCiAKICNpZiBkZWZpbmVkKENPTkZJR19DUFVfRkVST0NFT04pCi0jIGlmZGVmIF9DQUNIRQotIyAgZGVmaW5lIE1VTFRJX0NBQ0hFIDEKLSMgZWxzZQotIyAgZGVmaW5lIF9DQUNIRSBmZXJvY2VvbgotIyBlbmRpZgorIyBkZWZpbmUgTVVMVElfQ0FDSEUgMQogI2VuZGlmCiAKICNpZiBkZWZpbmVkKENPTkZJR19DUFVfVjYpCkBAIC00MTAsNiArNDA2LDEzIEBACiAKIGV4dGVybiB2b2lkIF9fZmx1c2hfZGNhY2hlX3BhZ2Uoc3RydWN0IGFkZHJlc3Nfc3BhY2UgKm1hcHBpbmcsIHN0cnVjdCBwYWdlICpwYWdlKTsKIAorc3RhdGljIGlubGluZSB2b2lkIF9fZmx1c2hfaWNhY2hlX2FsbCh2b2lkKQoreworCWFzbSgibWNyCXAxNSwgMCwgJTAsIGM3LCBjNSwgMAlAIGludmFsaWRhdGUgSS1jYWNoZVxuIgorCSAgICA6CisJICAgIDogInIiICgwKSk7Cit9CisKICNkZWZpbmUgQVJDSF9IQVNfRkxVU0hfQU5PTl9QQUdFCiBzdGF0aWMgaW5saW5lIHZvaWQgZmx1c2hfYW5vbl9wYWdlKHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hLAogCQkJIHN0cnVjdCBwYWdlICpwYWdlLCB1bnNpZ25lZCBsb25nIHZtYWRkcikKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9keW50aWNrLmggYi9pbmNsdWRlL2FzbS1hcm0vZHludGljay5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxOWZhYjJkLi4wMDAwMDAwCi0tLSBhL2luY2x1ZGUvYXNtLWFybS9keW50aWNrLmgKKysrIC9kZXYvbnVsbApAQCAtMSw2ICswLDAgQEAKLSNpZm5kZWYgX0FTTUFSTV9EWU5USUNLX0gKLSNkZWZpbmUgX0FTTUFSTV9EWU5USUNLX0gKLQotI2luY2x1ZGUgPGFzbS9tYWNoL3RpbWUuaD4KLQotI2VuZGlmIC8qIF9BU01BUk1fRFlOVElDS19IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vZWNhcmQuaCBiL2luY2x1ZGUvYXNtLWFybS9lY2FyZC5oCmluZGV4IDY4NGZlMDYuLjVlMjI4ODEgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9lY2FyZC5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9lY2FyZC5oCkBAIC04NSwxOSArODUsNiBAQAogCiAjZGVmaW5lIE1BWF9FQ0FSRFMJOQogCi10eXBlZGVmIGVudW0gewkJCQkvKiBDYXJkcyBhZGRyZXNzIHNwYWNlCQkqLwotCUVDQVJEX0lPQywKLQlFQ0FSRF9NRU1DLAotCUVDQVJEX0VBU0kKLX0gY2FyZF90eXBlX3Q7Ci0KLXR5cGVkZWYgZW51bSB7CQkJCS8qIFNwZWVkIGZvciBFQ0FSRF9JT0Mgc3BhY2UJKi8KLQlFQ0FSRF9TTE9XCSA9IDAsCi0JRUNBUkRfTUVESVVNCSA9IDEsCi0JRUNBUkRfRkFTVAkgPSAyLAotCUVDQVJEX1NZTkMJID0gMwotfSBjYXJkX3NwZWVkX3Q7Ci0KIHN0cnVjdCBlY2FyZF9pZCB7CQkJLyogQ2FyZCBJRCBzdHJ1Y3R1cmUJCSovCiAJdW5zaWduZWQgc2hvcnQJbWFudWZhY3R1cmVyOwogCXVuc2lnbmVkIHNob3J0CXByb2R1Y3Q7CkBAIC0xOTAsMTYgKzE3Nyw2IEBACiB9OwogCiAvKgotICogZWNhcmRfY2xhaW06IGNsYWltIGFuIGV4cGFuc2lvbiBjYXJkIGVudHJ5Ci0gKi8KLSNkZWZpbmUgZWNhcmRfY2xhaW0oZWMpICgoZWMpLT5jbGFpbWVkID0gMSkKLQotLyoKLSAqIGVjYXJkX3JlbGVhc2U6IHJlbGVhc2UgYW4gZXhwYW5zaW9uIGNhcmQgZW50cnkKLSAqLwotI2RlZmluZSBlY2FyZF9yZWxlYXNlKGVjKSAoKGVjKS0+Y2xhaW1lZCA9IDApCi0KLS8qCiAgKiBSZWFkIGEgY2h1bmsgZnJvbSBhbiBleHBhbnNpb24gY2FyZAogICogY2QgOiB3aGVyZSB0byBwdXQgcmVhZCBkYXRhCiAgKiBlYyA6IGV4cGFuc2lvbiBjYXJkIGluZm8gc3RydWN0CkBAIC0yMDksMTggKzE4Niw2IEBACiBleHRlcm4gaW50IGVjYXJkX3JlYWRjaHVuayAoc3RydWN0IGluX2NodW5rX2RpciAqY2QsIHN0cnVjdCBleHBhbnNpb25fY2FyZCAqZWMsIGludCBpZCwgaW50IG51bSk7CiAKIC8qCi0gKiBPYnRhaW4gdGhlIGFkZHJlc3Mgb2YgYSBjYXJkLiAgVGhpcyByZXR1cm5zIHRoZSAib2xkIHN0eWxlIiBhZGRyZXNzCi0gKiBhbmQgc2hvdWxkIG5vIGxvbmdlciBiZSB1c2VkLgotICovCi1zdGF0aWMgaW5saW5lIHVuc2lnbmVkIGludCBfX2RlcHJlY2F0ZWQKLWVjYXJkX2FkZHJlc3Moc3RydWN0IGV4cGFuc2lvbl9jYXJkICplYywgY2FyZF90eXBlX3QgdHlwZSwgY2FyZF9zcGVlZF90IHNwZWVkKQotewotCWV4dGVybiB1bnNpZ25lZCBpbnQgX19lY2FyZF9hZGRyZXNzKHN0cnVjdCBleHBhbnNpb25fY2FyZCAqLAotCQkJCQkgICAgY2FyZF90eXBlX3QsIGNhcmRfc3BlZWRfdCk7Ci0JcmV0dXJuIF9fZWNhcmRfYWRkcmVzcyhlYywgdHlwZSwgc3BlZWQpOwotfQotCi0vKgogICogUmVxdWVzdCBhbmQgcmVsZWFzZSBlY2FyZCByZXNvdXJjZXMKICAqLwogZXh0ZXJuIGludCBlY2FyZF9yZXF1ZXN0X3Jlc291cmNlcyhzdHJ1Y3QgZXhwYW5zaW9uX2NhcmQgKmVjKTsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9mdHJhY2UuaCBiL2luY2x1ZGUvYXNtLWFybS9mdHJhY2UuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ODRlZjlhCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20tYXJtL2Z0cmFjZS5oCkBAIC0wLDAgKzEsMTQgQEAKKyNpZm5kZWYgX0FTTV9BUk1fRlRSQUNFCisjZGVmaW5lIF9BU01fQVJNX0ZUUkFDRQorCisjaWZkZWYgQ09ORklHX0ZUUkFDRQorI2RlZmluZSBNQ09VTlRfQUREUgkJKChsb25nKShtY291bnQpKQorI2RlZmluZSBNQ09VTlRfSU5TTl9TSVpFCTQgLyogc2l6ZW9mIG1jb3VudCBjYWxsICovCisKKyNpZm5kZWYgX19BU1NFTUJMWV9fCitleHRlcm4gdm9pZCBtY291bnQodm9pZCk7CisjZW5kaWYKKworI2VuZGlmCisKKyNlbmRpZiAvKiBfQVNNX0FSTV9GVFJBQ0UgKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9oYXJkd2FyZS9pb3AzeHgtZ3Bpby5oIGIvaW5jbHVkZS9hc20tYXJtL2hhcmR3YXJlL2lvcDN4eC1ncGlvLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGM5MzMxZgotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLWFybS9oYXJkd2FyZS9pb3AzeHgtZ3Bpby5oCkBAIC0wLDAgKzEsNzMgQEAKKy8qCisgKiBsaW51eC9pbmNsdWRlL2FzbS1hcm0vaGFyZHdhcmUvaW9wM3h4LWdwaW8uaAorICoKKyAqIElPUDN4eCBHUElPIHdyYXBwZXJzCisgKgorICogQ29weXJpZ2h0IChjKSAyMDA4IEFybmF1ZCBQYXRhcmQgPGFybmF1ZC5wYXRhcmRAcnRwLW5ldC5vcmc+CisgKiBCYXNlZCBvbiBJWFA0WFggZ3Bpby5oIGZpbGUKKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisgKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCisgKgorICovCisKKyNpZm5kZWYgX19BU01fQVJNX0hBUkRXQVJFX0lPUDNYWF9HUElPX0gKKyNkZWZpbmUgX19BU01fQVJNX0hBUkRXQVJFX0lPUDNYWF9HUElPX0gKKworI2luY2x1ZGUgPGFzbS9oYXJkd2FyZS5oPgorI2luY2x1ZGUgPGFzbS1nZW5lcmljL2dwaW8uaD4KKworI2RlZmluZSBJT1AzWFhfTl9HUElPUwk4CisKK3N0YXRpYyBpbmxpbmUgaW50IGdwaW9fZ2V0X3ZhbHVlKHVuc2lnbmVkIGdwaW8pCit7CisJaWYgKGdwaW8gPiBJT1AzWFhfTl9HUElPUykKKwkJcmV0dXJuIF9fZ3Bpb19nZXRfdmFsdWUoZ3Bpbyk7CisKKwlyZXR1cm4gZ3Bpb19saW5lX2dldChncGlvKTsKK30KKworc3RhdGljIGlubGluZSB2b2lkIGdwaW9fc2V0X3ZhbHVlKHVuc2lnbmVkIGdwaW8sIGludCB2YWx1ZSkKK3sKKwlpZiAoZ3BpbyA+IElPUDNYWF9OX0dQSU9TKSB7CisJCV9fZ3Bpb19zZXRfdmFsdWUoZ3BpbywgdmFsdWUpOworCQlyZXR1cm47CisJfQorCWdwaW9fbGluZV9zZXQoZ3BpbywgdmFsdWUpOworfQorCitzdGF0aWMgaW5saW5lIGludCBncGlvX2NhbnNsZWVwKHVuc2lnbmVkIGdwaW8pCit7CisJaWYgKGdwaW8gPCBJT1AzWFhfTl9HUElPUykKKwkJcmV0dXJuIDA7CisJZWxzZQorCQlyZXR1cm4gX19ncGlvX2NhbnNsZWVwKGdwaW8pOworfQorCisvKgorICogVGhlIEdQSU9zIGFyZSBub3QgZ2VuZXJhdGluZyBhbnkgaW50ZXJydXB0CisgKiBOb3RlIDogbWFudWFscyBhcmUgbm90IGNsZWFyIGFib3V0IHRoaXMKKyAqLworc3RhdGljIGlubGluZSBpbnQgZ3Bpb190b19pcnEoaW50IGdwaW8pCit7CisJcmV0dXJuIC1FSU5WQUw7Cit9CisKK3N0YXRpYyBpbmxpbmUgaW50IGlycV90b19ncGlvKGludCBncGlvKQoreworCXJldHVybiAtRUlOVkFMOworfQorCisjZW5kaWYKKwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2h3X2lycS5oIGIvaW5jbHVkZS9hc20tYXJtL2h3X2lycS5oCmluZGV4IDk4ZDU5NGEuLmYxYTA4YTUgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9od19pcnEuaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vaHdfaXJxLmgKQEAgLTYsMTUgKzYsNCBAQAogCiAjaW5jbHVkZSA8YXNtL21hY2gvaXJxLmg+CiAKLSNpZiBkZWZpbmVkKENPTkZJR19OT19JRExFX0haKQotIyBpbmNsdWRlIDxhc20vZHludGljay5oPgotIyBkZWZpbmUgaGFuZGxlX2R5bmFtaWNfdGljayhhY3Rpb24pCQkJCQlcCi0JaWYgKCEoYWN0aW9uLT5mbGFncyAmIElSUUZfVElNRVIpICYmIHN5c3RlbV90aW1lci0+ZHluX3RpY2spIHsJXAotCQl3cml0ZV9zZXFsb2NrKCZ4dGltZV9sb2NrKTsJCQkJXAotCQlpZiAoc3lzdGVtX3RpbWVyLT5keW5fdGljay0+c3RhdGUgJiBEWU5fVElDS19FTkFCTEVEKQlcCi0JCQlzeXN0ZW1fdGltZXItPmR5bl90aWNrLT5oYW5kbGVyKGlycSwgTlVMTCk7CVwKLQkJd3JpdGVfc2VxdW5sb2NrKCZ4dGltZV9sb2NrKTsJCQkJXAotCX0KLSNlbmRpZgotCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9rZXhlYy5oIGIvaW5jbHVkZS9hc20tYXJtL2tleGVjLmgKaW5kZXggNDdmZTM0ZC4uYzg5ODZiYiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2tleGVjLmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2tleGVjLmgKQEAgLTE0LDggKzE0LDYgQEAKIAogI2RlZmluZSBLRVhFQ19BUkNIIEtFWEVDX0FSQ0hfQVJNCiAKLSNkZWZpbmUgS0VYRUNfQk9PVF9QQVJBTVNfU0laRSAxNTM2Ci0KICNkZWZpbmUgS0VYRUNfQVJNX0FUQUdTX09GRlNFVCAgMHgxMDAwCiAjZGVmaW5lIEtFWEVDX0FSTV9aSU1BR0VfT0ZGU0VUIDB4ODAwMAogCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0va3Byb2Jlcy5oIGIvaW5jbHVkZS9hc20tYXJtL2twcm9iZXMuaAppbmRleCBjMDQyMTk0Li5iMWEzNzg3IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0va3Byb2Jlcy5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9rcHJvYmVzLmgKQEAgLTU5LDYgKzU5LDcgQEAKIH07CiAKIHZvaWQgYXJjaF9yZW1vdmVfa3Byb2JlKHN0cnVjdCBrcHJvYmUgKik7Cit2b2lkIGtyZXRwcm9iZV90cmFtcG9saW5lKHZvaWQpOwogCiBpbnQga3Byb2JlX3RyYXBfaGFuZGxlcihzdHJ1Y3QgcHRfcmVncyAqcmVncywgdW5zaWduZWQgaW50IGluc3RyKTsKIGludCBrcHJvYmVfZmF1bHRfaGFuZGxlcihzdHJ1Y3QgcHRfcmVncyAqcmVncywgdW5zaWduZWQgaW50IGZzcik7CmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vbWFjaC90aW1lLmggYi9pbmNsdWRlL2FzbS1hcm0vbWFjaC90aW1lLmgKaW5kZXggNWRjMzU3MC4uMmZkMzZlYSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL21hY2gvdGltZS5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9tYWNoL3RpbWUuaApAQCAtNDEsMzAgKzQxLDggQEAKICNpZm5kZWYgQ09ORklHX0dFTkVSSUNfVElNRQogCXVuc2lnbmVkIGxvbmcJCSgqb2Zmc2V0KSh2b2lkKTsKICNlbmRpZgotCi0jaWZkZWYgQ09ORklHX05PX0lETEVfSFoKLQlzdHJ1Y3QgZHluX3RpY2tfdGltZXIJKmR5bl90aWNrOwotI2VuZGlmCiB9OwogCi0jaWZkZWYgQ09ORklHX05PX0lETEVfSFoKLQotI2RlZmluZSBEWU5fVElDS19FTkFCTEVECSgxIDw8IDEpCi0KLXN0cnVjdCBkeW5fdGlja190aW1lciB7Ci0Jc3BpbmxvY2tfdAlsb2NrOwotCXVuc2lnbmVkIGludAlzdGF0ZTsJCQkvKiBDdXJyZW50IHN0YXRlICovCi0JaW50CQkoKmVuYWJsZSkodm9pZCk7CS8qIEVuYWJsZXMgZHluYW1pYyB0aWNrICovCi0JaW50CQkoKmRpc2FibGUpKHZvaWQpOwkvKiBEaXNhYmxlcyBkeW5hbWljIHRpY2sgKi8KLQl2b2lkCQkoKnJlcHJvZ3JhbSkodW5zaWduZWQgbG9uZyk7IC8qIFJlcHJvZ3JhbXMgdGhlIHRpbWVyICovCi0JaW50CQkoKmhhbmRsZXIpKGludCwgdm9pZCAqKTsKLX07Ci0KLXZvaWQgdGltZXJfZHluX3JlcHJvZ3JhbSh2b2lkKTsKLSNlbHNlCi0jZGVmaW5lIHRpbWVyX2R5bl9yZXByb2dyYW0oKQlkbyB7IH0gd2hpbGUgKDApCi0jZW5kaWYKLQogZXh0ZXJuIHN0cnVjdCBzeXNfdGltZXIgKnN5c3RlbV90aW1lcjsKIGV4dGVybiB2b2lkIHRpbWVyX3RpY2sodm9pZCk7CiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9tbXVfY29udGV4dC5oIGIvaW5jbHVkZS9hc20tYXJtL21tdV9jb250ZXh0LmgKaW5kZXggNjkxM2QwMi4uOTFiOWRmZCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL21tdV9jb250ZXh0LmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL21tdV9jb250ZXh0LmgKQEAgLTk3LDYgKzk3LDExIEBACiAjaWZkZWYgQ09ORklHX01NVQogCXVuc2lnbmVkIGludCBjcHUgPSBzbXBfcHJvY2Vzc29yX2lkKCk7CiAKKyNpZmRlZiBDT05GSUdfU01QCisJLyogY2hlY2sgZm9yIHBvc3NpYmxlIHRocmVhZCBtaWdyYXRpb24gKi8KKwlpZiAoIWNwdXNfZW1wdHkobmV4dC0+Y3B1X3ZtX21hc2spICYmICFjcHVfaXNzZXQoY3B1LCBuZXh0LT5jcHVfdm1fbWFzaykpCisJCV9fZmx1c2hfaWNhY2hlX2FsbCgpOworI2VuZGlmCiAJaWYgKCFjcHVfdGVzdF9hbmRfc2V0KGNwdSwgbmV4dC0+Y3B1X3ZtX21hc2spIHx8IHByZXYgIT0gbmV4dCkgewogCQljaGVja19jb250ZXh0KG5leHQpOwogCQljcHVfc3dpdGNoX21tKG5leHQtPnBnZCwgbmV4dCk7CmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vcGxhdC1vcmlvbi9jYWNoZS1mZXJvY2Vvbi1sMi5oIGIvaW5jbHVkZS9hc20tYXJtL3BsYXQtb3Jpb24vY2FjaGUtZmVyb2Nlb24tbDIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYTRlMDE2Ci0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20tYXJtL3BsYXQtb3Jpb24vY2FjaGUtZmVyb2Nlb24tbDIuaApAQCAtMCwwICsxLDExIEBACisvKgorICogaW5jbHVkZS9hc20tYXJtL3BsYXQtb3Jpb24vY2FjaGUtZmVyb2Nlb24tbDIuaAorICoKKyAqIENvcHlyaWdodCAoQykgMjAwOCBNYXJ2ZWxsIFNlbWljb25kdWN0b3IKKyAqCisgKiBUaGlzIGZpbGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgdmVyc2lvbiAyLiBUaGlzIHByb2dyYW0gaXMgbGljZW5zZWQgImFzIGlzIiB3aXRob3V0IGFueQorICogd2FycmFudHkgb2YgYW55IGtpbmQsIHdoZXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICovCisKK2V4dGVybiB2b2lkIF9faW5pdCBmZXJvY2Vvbl9sMl9pbml0KGludCBsMl93dF9vdmVycmlkZSk7CmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vcGxhdC1vcmlvbi9vcmlvbl9uYW5kLmggYi9pbmNsdWRlL2FzbS1hcm0vcGxhdC1vcmlvbi9vcmlvbl9uYW5kLmgKaW5kZXggZmZkMzg1Mi4uYWQ0Y2U5NCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL3BsYXQtb3Jpb24vb3Jpb25fbmFuZC5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9wbGF0LW9yaW9uL29yaW9uX25hbmQuaApAQCAtMTgsNiArMTgsNyBAQAogCXU4IGFsZTsJCS8qIGFkZHJlc3MgbGluZSBudW1iZXIgY29ubmVjdGVkIHRvIEFMRSAqLwogCXU4IGNsZTsJCS8qIGFkZHJlc3MgbGluZSBudW1iZXIgY29ubmVjdGVkIHRvIENMRSAqLwogCXU4IHdpZHRoOwkvKiBidXN3aWR0aCAqLworCXU4IGNoaXBfZGVsYXk7CiB9OwogCiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9wbGF0LW9yaW9uL3BjaWUuaCBiL2luY2x1ZGUvYXNtLWFybS9wbGF0LW9yaW9uL3BjaWUuaAppbmRleCA2NDM0YWM2Li5lNjFiN2JkIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vcGxhdC1vcmlvbi9wY2llLmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL3BsYXQtb3Jpb24vcGNpZS5oCkBAIC0xNCw2ICsxNCw3IEBACiB1MzIgb3Jpb25fcGNpZV9kZXZfaWQodm9pZCBfX2lvbWVtICpiYXNlKTsKIHUzMiBvcmlvbl9wY2llX3Jldih2b2lkIF9faW9tZW0gKmJhc2UpOwogaW50IG9yaW9uX3BjaWVfbGlua191cCh2b2lkIF9faW9tZW0gKmJhc2UpOworaW50IG9yaW9uX3BjaWVfeDRfbW9kZSh2b2lkIF9faW9tZW0gKmJhc2UpOwogaW50IG9yaW9uX3BjaWVfZ2V0X2xvY2FsX2J1c19ucih2b2lkIF9faW9tZW0gKmJhc2UpOwogdm9pZCBvcmlvbl9wY2llX3NldF9sb2NhbF9idXNfbnIodm9pZCBfX2lvbWVtICpiYXNlLCBpbnQgbnIpOwogdm9pZCBvcmlvbl9wY2llX3NldHVwKHZvaWQgX19pb21lbSAqYmFzZSwKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9wbGF0LXMzYy9yZWdzLXRpbWVyLmggYi9pbmNsdWRlL2FzbS1hcm0vcGxhdC1zM2MvcmVncy10aW1lci5oCmluZGV4IDhiMGQ1OTQuLmI1YmM2OTIgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9wbGF0LXMzYy9yZWdzLXRpbWVyLmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL3BsYXQtczNjL3JlZ3MtdGltZXIuaApAQCAtNjUsNiArNjUsMTUgQEAKICNkZWZpbmUgUzNDMjQxMF9UQ0ZHMV9NVVgwX1RDTEswICAoNDw8MCkKICNkZWZpbmUgUzNDMjQxMF9UQ0ZHMV9NVVgwX01BU0sJICAoMTU8PDApCiAKKyNkZWZpbmUgUzNDMjQxMF9UQ0ZHMV9NVVhfRElWMgkgICgwPDwwKQorI2RlZmluZSBTM0MyNDEwX1RDRkcxX01VWF9ESVY0CSAgKDE8PDApCisjZGVmaW5lIFMzQzI0MTBfVENGRzFfTVVYX0RJVjgJICAoMjw8MCkKKyNkZWZpbmUgUzNDMjQxMF9UQ0ZHMV9NVVhfRElWMTYgICAoMzw8MCkKKyNkZWZpbmUgUzNDMjQxMF9UQ0ZHMV9NVVhfVENMSyAgICAoNDw8MCkKKyNkZWZpbmUgUzNDMjQxMF9UQ0ZHMV9NVVhfTUFTSwkgICgxNTw8MCkKKworI2RlZmluZSBTM0MyNDEwX1RDRkcxX1NISUZUKHgpCSAgKCh4KSAqIDQpCisKIC8qIGZvciBlYWNoIHRpbWVyLCB3ZSBoYXZlIGFuIGNvdW50IGJ1ZmZlciwgYW4gY29tcGFyZSBidWZmZXIgYW5kCiAgKiBhbiBvYnNlcnZhdGlvbiBidWZmZXIKICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vcGxhdC1zM2MyNHh4L2RldnMuaCBiL2luY2x1ZGUvYXNtLWFybS9wbGF0LXMzYzI0eHgvZGV2cy5oCmluZGV4IGY5ZDZmMDMuLmJhZGFhYzkgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9wbGF0LXMzYzI0eHgvZGV2cy5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9wbGF0LXMzYzI0eHgvZGV2cy5oCkBAIC0yMSw2ICsyMSw4IEBACiBleHRlcm4gc3RydWN0IHBsYXRmb3JtX2RldmljZSAqczNjMjR4eF91YXJ0X2RldnNbXTsKIGV4dGVybiBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpzM2MyNHh4X3VhcnRfc3JjW107CiAKK2V4dGVybiBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIHMzY19kZXZpY2VfdGltZXJbXTsKKwogZXh0ZXJuIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgczNjX2RldmljZV91c2I7CiBleHRlcm4gc3RydWN0IHBsYXRmb3JtX2RldmljZSBzM2NfZGV2aWNlX2xjZDsKIGV4dGVybiBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIHMzY19kZXZpY2Vfd2R0OwpAQCAtMzYsMTEgKzM4LDYgQEAKIAogZXh0ZXJuIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgczNjX2RldmljZV9uYW5kOwogCi1leHRlcm4gc3RydWN0IHBsYXRmb3JtX2RldmljZSBzM2NfZGV2aWNlX3RpbWVyMDsKLWV4dGVybiBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIHMzY19kZXZpY2VfdGltZXIxOwotZXh0ZXJuIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgczNjX2RldmljZV90aW1lcjI7Ci1leHRlcm4gc3RydWN0IHBsYXRmb3JtX2RldmljZSBzM2NfZGV2aWNlX3RpbWVyMzsKLQogZXh0ZXJuIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgczNjX2RldmljZV91c2JnYWRnZXQ7CiAKIC8qIHMzYzI0NDAgc3BlY2lmaWMgZGV2aWNlcyAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL3J0Yy5oIGIvaW5jbHVkZS9hc20tYXJtL3J0Yy5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxYTVjOTIzLi4wMDAwMDAwCi0tLSBhL2luY2x1ZGUvYXNtLWFybS9ydGMuaAorKysgL2Rldi9udWxsCkBAIC0xLDQzICswLDAgQEAKLS8qCi0gKiAgbGludXgvaW5jbHVkZS9hc20tYXJtL3J0Yy5oCi0gKgotICogIENvcHlyaWdodCAoQykgMjAwMyBEZWVwIEJsdWUgU29sdXRpb25zIEx0ZC4KLSAqCi0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQotICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMKLSAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgotICovCi0jaWZuZGVmIEFTTUFSTV9SVENfSAotI2RlZmluZSBBU01BUk1fUlRDX0gKLQotc3RydWN0IG1vZHVsZTsKLQotc3RydWN0IHJ0Y19vcHMgewotCXN0cnVjdCBtb2R1bGUJKm93bmVyOwotCWludAkJKCpvcGVuKSh2b2lkKTsKLQl2b2lkCQkoKnJlbGVhc2UpKHZvaWQpOwotCWludAkJKCppb2N0bCkodW5zaWduZWQgaW50LCB1bnNpZ25lZCBsb25nKTsKLQotCWludAkJKCpyZWFkX3RpbWUpKHN0cnVjdCBydGNfdGltZSAqKTsKLQlpbnQJCSgqc2V0X3RpbWUpKHN0cnVjdCBydGNfdGltZSAqKTsKLQlpbnQJCSgqcmVhZF9hbGFybSkoc3RydWN0IHJ0Y193a2Fscm0gKik7Ci0JaW50CQkoKnNldF9hbGFybSkoc3RydWN0IHJ0Y193a2Fscm0gKik7Ci0JaW50CQkoKnByb2MpKGNoYXIgKmJ1Zik7Ci19OwotCi12b2lkIHJ0Y19uZXh0X2FsYXJtX3RpbWUoc3RydWN0IHJ0Y190aW1lICosIHN0cnVjdCBydGNfdGltZSAqLCBzdHJ1Y3QgcnRjX3RpbWUgKik7Ci12b2lkIHJ0Y191cGRhdGUodW5zaWduZWQgbG9uZywgdW5zaWduZWQgbG9uZyk7Ci1pbnQgcmVnaXN0ZXJfcnRjKHN0cnVjdCBydGNfb3BzICopOwotdm9pZCB1bnJlZ2lzdGVyX3J0YyhzdHJ1Y3QgcnRjX29wcyAqKTsKLQotc3RhdGljIGlubGluZSBpbnQgcnRjX3BlcmlvZGljX2FsYXJtKHN0cnVjdCBydGNfdGltZSAqdG0pCi17Ci0JcmV0dXJuICAodG0tPnRtX3llYXIgPT0gLTEpIHx8Ci0JCSgodW5zaWduZWQpdG0tPnRtX21vbiA+PSAxMikgfHwKLQkJKCh1bnNpZ25lZCkodG0tPnRtX21kYXkgLSAxKSA+PSAzMSkgfHwKLQkJKCh1bnNpZ25lZCl0bS0+dG1faG91ciA+IDIzKSB8fAotCQkoKHVuc2lnbmVkKXRtLT50bV9taW4gPiA1OSkgfHwKLQkJKCh1bnNpZ25lZCl0bS0+dG1fc2VjID4gNTkpOwotfQotCi0jZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS90bGJmbHVzaC5oIGIvaW5jbHVkZS9hc20tYXJtL3RsYmZsdXNoLmgKaW5kZXggOGM2YmMxYi4uOTA5NjU2YyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL3RsYmZsdXNoLmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL3RsYmZsdXNoLmgKQEAgLTM5LDYgKzM5LDcgQEAKICNkZWZpbmUgVExCX1Y2X0RfQVNJRAkoMSA8PCAxNykKICNkZWZpbmUgVExCX1Y2X0lfQVNJRAkoMSA8PCAxOCkKIAorI2RlZmluZSBUTEJfTDJDTEVBTl9GUgkoMSA8PCAyOSkJCS8qIEZlcm9jZW9uICovCiAjZGVmaW5lIFRMQl9EQ0xFQU4JKDEgPDwgMzApCiAjZGVmaW5lIFRMQl9XQgkJKDEgPDwgMzEpCiAKQEAgLTUxLDYgKzUyLDcgQEAKICAqCSAgdjQgICAgLSBBUk12NCB3aXRob3V0IHdyaXRlIGJ1ZmZlcgogICoJICB2NHdiICAtIEFSTXY0IHdpdGggd3JpdGUgYnVmZmVyIHdpdGhvdXQgSSBUTEIgZmx1c2ggZW50cnkgaW5zdHJ1Y3Rpb24KICAqCSAgdjR3YmkgLSBBUk12NCB3aXRoIHdyaXRlIGJ1ZmZlciB3aXRoIEkgVExCIGZsdXNoIGVudHJ5IGluc3RydWN0aW9uCisgKgkgIGZyICAgIC0gRmVyb2Nlb24gKHY0d2JpIHdpdGggbm9uLW91dGVyLWNhY2hlYWJsZSBwYWdlIHRhYmxlIHdhbGtzKQogICoJICB2NndiaSAtIEFSTXY2IHdpdGggd3JpdGUgYnVmZmVyIHdpdGggSSBUTEIgZmx1c2ggZW50cnkgaW5zdHJ1Y3Rpb24KICAqLwogI3VuZGVmIF9UTEIKQEAgLTEwMyw2ICsxMDUsMjMgQEAKICMgZGVmaW5lIHY0d2JpX2Fsd2F5c19mbGFncwkoLTFVTCkKICNlbmRpZgogCisjZGVmaW5lIGZyX3RsYl9mbGFncwkoVExCX1dCIHwgVExCX0RDTEVBTiB8IFRMQl9MMkNMRUFOX0ZSIHwgXAorCQkJIFRMQl9WNF9JX0ZVTEwgfCBUTEJfVjRfRF9GVUxMIHwgXAorCQkJIFRMQl9WNF9JX1BBR0UgfCBUTEJfVjRfRF9QQUdFKQorCisjaWZkZWYgQ09ORklHX0NQVV9UTEJfRkVST0NFT04KKyMgZGVmaW5lIGZyX3Bvc3NpYmxlX2ZsYWdzCWZyX3RsYl9mbGFncworIyBkZWZpbmUgZnJfYWx3YXlzX2ZsYWdzCWZyX3RsYl9mbGFncworIyBpZmRlZiBfVExCCisjICBkZWZpbmUgTVVMVElfVExCIDEKKyMgZWxzZQorIyAgZGVmaW5lIF9UTEIgdjR3YmkKKyMgZW5kaWYKKyNlbHNlCisjIGRlZmluZSBmcl9wb3NzaWJsZV9mbGFncwkwCisjIGRlZmluZSBmcl9hbHdheXNfZmxhZ3MJKC0xVUwpCisjZW5kaWYKKwogI2RlZmluZSB2NHdiX3RsYl9mbGFncwkoVExCX1dCIHwgVExCX0RDTEVBTiB8IFwKIAkJCSBUTEJfVjRfSV9GVUxMIHwgVExCX1Y0X0RfRlVMTCB8IFwKIAkJCSBUTEJfVjRfRF9QQUdFKQpAQCAtMjQ1LDEyICsyNjQsMTQgQEAKICNkZWZpbmUgcG9zc2libGVfdGxiX2ZsYWdzCSh2M19wb3NzaWJsZV9mbGFncyB8IFwKIAkJCQkgdjRfcG9zc2libGVfZmxhZ3MgfCBcCiAJCQkJIHY0d2JpX3Bvc3NpYmxlX2ZsYWdzIHwgXAorCQkJCSBmcl9wb3NzaWJsZV9mbGFncyB8IFwKIAkJCQkgdjR3Yl9wb3NzaWJsZV9mbGFncyB8IFwKIAkJCQkgdjZ3YmlfcG9zc2libGVfZmxhZ3MpCiAKICNkZWZpbmUgYWx3YXlzX3RsYl9mbGFncwkodjNfYWx3YXlzX2ZsYWdzICYgXAogCQkJCSB2NF9hbHdheXNfZmxhZ3MgJiBcCiAJCQkJIHY0d2JpX2Fsd2F5c19mbGFncyAmIFwKKwkJCQkgZnJfYWx3YXlzX2ZsYWdzICYgXAogCQkJCSB2NHdiX2Fsd2F5c19mbGFncyAmIFwKIAkJCQkgdjZ3YmlfYWx3YXlzX2ZsYWdzKQogCkBAIC00MTcsNiArNDM4LDExIEBACiAJaWYgKHRsYl9mbGFnKFRMQl9EQ0xFQU4pKQogCQlhc20oIm1jcglwMTUsIDAsICUwLCBjNywgYzEwLCAxCUAgZmx1c2hfcG1kIgogCQkJOiA6ICJyIiAocG1kKSA6ICJjYyIpOworCisJaWYgKHRsYl9mbGFnKFRMQl9MMkNMRUFOX0ZSKSkKKwkJYXNtKCJtY3IJcDE1LCAxLCAlMCwgYzE1LCBjOSwgMSAgQCBMMiBmbHVzaF9wbWQiCisJCQk6IDogInIiIChwbWQpIDogImNjIik7CisKIAlpZiAodGxiX2ZsYWcoVExCX1dCKSkKIAkJZHNiKCk7CiB9CkBAIC00MjgsNiArNDU0LDEwIEBACiAJaWYgKHRsYl9mbGFnKFRMQl9EQ0xFQU4pKQogCQlhc20oIm1jcglwMTUsIDAsICUwLCBjNywgYzEwLCAxCUAgZmx1c2hfcG1kIgogCQkJOiA6ICJyIiAocG1kKSA6ICJjYyIpOworCisJaWYgKHRsYl9mbGFnKFRMQl9MMkNMRUFOX0ZSKSkKKwkJYXNtKCJtY3IJcDE1LCAxLCAlMCwgYzE1LCBjOSwgMSAgQCBMMiBmbHVzaF9wbWQiCisJCQk6IDogInIiIChwbWQpIDogImNjIik7CiB9CiAKICN1bmRlZiB0bGJfZmxhZwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXZyMzIvYXJjaC1hdDMyYXAvYm9hcmQuaCBiL2luY2x1ZGUvYXNtLWF2cjMyL2FyY2gtYXQzMmFwL2JvYXJkLmgKaW5kZXggYTRlMmQyOC4uYjRjZGRmYSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXZyMzIvYXJjaC1hdDMyYXAvYm9hcmQuaAorKysgYi9pbmNsdWRlL2FzbS1hdnIzMi9hcmNoLWF0MzJhcC9ib2FyZC5oCkBAIC04LDYgKzgsMTIgQEAKIAogI2RlZmluZSBHUElPX1BJTl9OT05FCSgtMSkKIAorLyoKKyAqIENsb2NrIHJhdGVzIGZvciB2YXJpb3VzIG9uLWJvYXJkIG9zY2lsbGF0b3JzLiBUaGUgbnVtYmVyIG9mIGVudHJpZXMKKyAqIGluIHRoaXMgYXJyYXkgaXMgY2hpcC1kZXBlbmRlbnQuCisgKi8KK2V4dGVybiB1bnNpZ25lZCBsb25nIGF0MzJfYm9hcmRfb3NjX3JhdGVzW107CisgIAogLyogQWRkIGJhc2ljIGRldmljZXM6IHN5c3RlbSBtYW5hZ2VyLCBpbnRlcnJ1cHQgY29udHJvbGxlciwgcG9ydG11eGVzLCBldGMuICovCiB2b2lkIGF0MzJfYWRkX3N5c3RlbV9kZXZpY2VzKHZvaWQpOwogCkBAIC0zNiw3ICs0Miw4IEBACiBzdHJ1Y3QgYXRtZWxfbGNkZmJfaW5mbzsKIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKgogYXQzMl9hZGRfZGV2aWNlX2xjZGModW5zaWduZWQgaW50IGlkLCBzdHJ1Y3QgYXRtZWxfbGNkZmJfaW5mbyAqZGF0YSwKLQkJICAgICB1bnNpZ25lZCBsb25nIGZibWVtX3N0YXJ0LCB1bnNpZ25lZCBsb25nIGZibWVtX2xlbik7CisJCSAgICAgdW5zaWduZWQgbG9uZyBmYm1lbV9zdGFydCwgdW5zaWduZWQgbG9uZyBmYm1lbV9sZW4sCisJCSAgICAgdW5zaWduZWQgaW50IHBpbl9jb25maWcpOwogCiBzdHJ1Y3QgdXNiYV9wbGF0Zm9ybV9kYXRhOwogc3RydWN0IHBsYXRmb3JtX2RldmljZSAqCkBAIC03Myw2ICs4MCw3IEBACiBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICphdDMyX2FkZF9kZXZpY2VfbWNpKHVuc2lnbmVkIGludCBpZCk7CiBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICphdDMyX2FkZF9kZXZpY2VfYWM5N2ModW5zaWduZWQgaW50IGlkKTsKIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKmF0MzJfYWRkX2RldmljZV9hYmRhYyh1bnNpZ25lZCBpbnQgaWQpOworc3RydWN0IHBsYXRmb3JtX2RldmljZSAqYXQzMl9hZGRfZGV2aWNlX3BzaWYodW5zaWduZWQgaW50IGlkKTsKIAogc3RydWN0IGNmX3BsYXRmb3JtX2RhdGEgewogCWludAlkZXRlY3RfcGluOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXZyMzIvYXJjaC1hdDMyYXAvaW5pdC5oIGIvaW5jbHVkZS9hc20tYXZyMzIvYXJjaC1hdDMyYXAvaW5pdC5oCmluZGV4IDVlNzVkODUuLmJjNDBlM2QgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWF2cjMyL2FyY2gtYXQzMmFwL2luaXQuaAorKysgYi9pbmNsdWRlL2FzbS1hdnIzMi9hcmNoLWF0MzJhcC9pbml0LmgKQEAgLTEzLDEwICsxMyw2IEBACiB2b2lkIHNldHVwX3BsYXRmb3JtKHZvaWQpOwogdm9pZCBzZXR1cF9ib2FyZCh2b2lkKTsKIAotLyogQ2FsbGVkIGJ5IHNldHVwX3BsYXRmb3JtICovCi12b2lkIGF0MzJfY2xvY2tfaW5pdCh2b2lkKTsKLXZvaWQgYXQzMl9wb3J0bXV4X2luaXQodm9pZCk7Ci0KIHZvaWQgYXQzMl9zZXR1cF9zZXJpYWxfY29uc29sZSh1bnNpZ25lZCBpbnQgdXNhcnRfaWQpOwogCiAjZW5kaWYgLyogX19BU01fQVZSMzJfQVQzMkFQX0lOSVRfSF9fICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hdnIzMi9hcmNoLWF0MzJhcC9wbS5oIGIvaW5jbHVkZS9hc20tYXZyMzIvYXJjaC1hdDMyYXAvcG0uaAppbmRleCAzNTZlNDMwLi45NzliMzU1IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hdnIzMi9hcmNoLWF0MzJhcC9wbS5oCisrKyBiL2luY2x1ZGUvYXNtLWF2cjMyL2FyY2gtYXQzMmFwL3BtLmgKQEAgLTE5LDYgKzE5LDcgQEAKIAogI2lmbmRlZiBfX0FTU0VNQkxZX18KIGV4dGVybiB2b2lkIGNwdV9lbnRlcl9pZGxlKHZvaWQpOworZXh0ZXJuIHZvaWQgY3B1X2VudGVyX3N0YW5kYnkodW5zaWduZWQgbG9uZyBzZHJhbWNfYmFzZSk7CiAKIGV4dGVybiBib29sIGRpc2FibGVfaWRsZV9zbGVlcDsKIApAQCAtNDMsNiArNDQsOCBAQAogCWVsc2UKIAkJY3B1X2VudGVyX2lkbGUoKTsKIH0KKwordm9pZCBpbnRjX3NldF9zdXNwZW5kX2hhbmRsZXIodW5zaWduZWQgbG9uZyBvZmZzZXQpOwogI2VuZGlmCiAKICNlbmRpZiAvKiBfX0FTTV9BVlIzMl9BUkNIX1BNX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWF2cjMyL2FyY2gtYXQzMmFwL3NyYW0uaCBiL2luY2x1ZGUvYXNtLWF2cjMyL2FyY2gtYXQzMmFwL3NyYW0uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ODM4ZGFlCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20tYXZyMzIvYXJjaC1hdDMyYXAvc3JhbS5oCkBAIC0wLDAgKzEsMzAgQEAKKy8qCisgKiBTaW1wbGUgU1JBTSBhbGxvY2F0b3IKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggQXRtZWwgQ29ycG9yYXRpb24KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMKKyAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorICovCisjaWZuZGVmIF9fQVNNX0FWUjMyX0FSQ0hfU1JBTV9ICisjZGVmaW5lIF9fQVNNX0FWUjMyX0FSQ0hfU1JBTV9ICisKKyNpbmNsdWRlIDxsaW51eC9nZW5hbGxvYy5oPgorCitleHRlcm4gc3RydWN0IGdlbl9wb29sICpzcmFtX3Bvb2w7CisKK3N0YXRpYyBpbmxpbmUgdW5zaWduZWQgbG9uZyBzcmFtX2FsbG9jKHNpemVfdCBsZW4pCit7CisJaWYgKCFzcmFtX3Bvb2wpCisJCXJldHVybiAwVUw7CisKKwlyZXR1cm4gZ2VuX3Bvb2xfYWxsb2Moc3JhbV9wb29sLCBsZW4pOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgc3JhbV9mcmVlKHVuc2lnbmVkIGxvbmcgYWRkciwgc2l6ZV90IGxlbikKK3sKKwlyZXR1cm4gZ2VuX3Bvb2xfZnJlZShzcmFtX3Bvb2wsIGFkZHIsIGxlbik7Cit9CisKKyNlbmRpZiAvKiBfX0FTTV9BVlIzMl9BUkNIX1NSQU1fSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXZyMzIvbW11X2NvbnRleHQuaCBiL2luY2x1ZGUvYXNtLWF2cjMyL21tdV9jb250ZXh0LmgKaW5kZXggYzM3YzM5MS4uMjdmZjIzNCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXZyMzIvbW11X2NvbnRleHQuaAorKysgYi9pbmNsdWRlL2FzbS1hdnIzMi9tbXVfY29udGV4dC5oCkBAIC0xMyw3ICsxMyw2IEBACiAjZGVmaW5lIF9fQVNNX0FWUjMyX01NVV9DT05URVhUX0gKIAogI2luY2x1ZGUgPGFzbS90bGJmbHVzaC5oPgotI2luY2x1ZGUgPGFzbS9wZ2FsbG9jLmg+CiAjaW5jbHVkZSA8YXNtL3N5c3JlZy5oPgogI2luY2x1ZGUgPGFzbS1nZW5lcmljL21tX2hvb2tzLmg+CiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWF2cjMyL3BjaS5oIGIvaW5jbHVkZS9hc20tYXZyMzIvcGNpLmgKaW5kZXggMGY1ZjEzNC4uYTMyYTAyMyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXZyMzIvcGNpLmgKKysrIGIvaW5jbHVkZS9hc20tYXZyMzIvcGNpLmgKQEAgLTUsNCArNSw2IEBACiAKICNkZWZpbmUgUENJX0RNQV9CVVNfSVNfUEhZUwkoMSkKIAorI2luY2x1ZGUgPGFzbS1nZW5lcmljL3BjaS1kbWEtY29tcGF0Lmg+CisKICNlbmRpZiAvKiBfX0FTTV9BVlIzMl9QQ0lfSF9fICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hdnIzMi9wZ2FsbG9jLmggYi9pbmNsdWRlL2FzbS1hdnIzMi9wZ2FsbG9jLmgKaW5kZXggNTFmYzFmNi4uNjQwODIxMyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXZyMzIvcGdhbGxvYy5oCisrKyBiL2luY2x1ZGUvYXNtLWF2cjMyL3BnYWxsb2MuaApAQCAtOCw2NSArOCw3OSBAQAogI2lmbmRlZiBfX0FTTV9BVlIzMl9QR0FMTE9DX0gKICNkZWZpbmUgX19BU01fQVZSMzJfUEdBTExPQ19ICiAKLSNpbmNsdWRlIDxhc20vcHJvY2Vzc29yLmg+Ci0jaW5jbHVkZSA8bGludXgvdGhyZWFkcy5oPgotI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KLSNpbmNsdWRlIDxsaW51eC9tbS5oPgorI2luY2x1ZGUgPGxpbnV4L3F1aWNrbGlzdC5oPgorI2luY2x1ZGUgPGFzbS9wYWdlLmg+CisjaW5jbHVkZSA8YXNtL3BndGFibGUuaD4KIAotI2RlZmluZSBwbWRfcG9wdWxhdGVfa2VybmVsKG1tLCBwbWQsIHB0ZSkgXAotCXNldF9wbWQocG1kLCBfX3BtZChfUEFHRV9UQUJMRSArIF9fcGEocHRlKSkpCisjZGVmaW5lIFFVSUNLX1BHRAkwCS8qIFByZXNlcnZlIGtlcm5lbCBtYXBwaW5ncyBvdmVyIGZyZWUgKi8KKyNkZWZpbmUgUVVJQ0tfUFQJMQkvKiBaZXJvIG9uIGZyZWUgKi8KIAotc3RhdGljIF9faW5saW5lX18gdm9pZCBwbWRfcG9wdWxhdGUoc3RydWN0IG1tX3N0cnVjdCAqbW0sIHBtZF90ICpwbWQsCitzdGF0aWMgaW5saW5lIHZvaWQgcG1kX3BvcHVsYXRlX2tlcm5lbChzdHJ1Y3QgbW1fc3RydWN0ICptbSwKKwkJCQkgICAgICAgcG1kX3QgKnBtZCwgcHRlX3QgKnB0ZSkKK3sKKwlzZXRfcG1kKHBtZCwgX19wbWQoKHVuc2lnbmVkIGxvbmcpcHRlKSk7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBwbWRfcG9wdWxhdGUoc3RydWN0IG1tX3N0cnVjdCAqbW0sIHBtZF90ICpwbWQsCiAJCQkJICAgIHBndGFibGVfdCBwdGUpCiB7Ci0Jc2V0X3BtZChwbWQsIF9fcG1kKF9QQUdFX1RBQkxFICsgcGFnZV90b19waHlzKHB0ZSkpKTsKKwlzZXRfcG1kKHBtZCwgX19wbWQoKHVuc2lnbmVkIGxvbmcpcGFnZV9hZGRyZXNzKHB0ZSkpKTsKIH0KICNkZWZpbmUgcG1kX3BndGFibGUocG1kKSBwbWRfcGFnZShwbWQpCiAKK3N0YXRpYyBpbmxpbmUgdm9pZCBwZ2RfY3Rvcih2b2lkICp4KQoreworCXBnZF90ICpwZ2QgPSB4OworCisJbWVtY3B5KHBnZCArIFVTRVJfUFRSU19QRVJfUEdELAorCQlzd2FwcGVyX3BnX2RpciArIFVTRVJfUFRSU19QRVJfUEdELAorCQkoUFRSU19QRVJfUEdEIC0gVVNFUl9QVFJTX1BFUl9QR0QpICogc2l6ZW9mKHBnZF90KSk7Cit9CisKIC8qCiAgKiBBbGxvY2F0ZSBhbmQgZnJlZSBwYWdlIHRhYmxlcwogICovCi1zdGF0aWMgX19pbmxpbmVfXyBwZ2RfdCAqcGdkX2FsbG9jKHN0cnVjdCBtbV9zdHJ1Y3QgKm1tKQorc3RhdGljIGlubGluZSBwZ2RfdCAqcGdkX2FsbG9jKHN0cnVjdCBtbV9zdHJ1Y3QgKm1tKQogewotCXJldHVybiBrY2FsbG9jKFVTRVJfUFRSU19QRVJfUEdELCBzaXplb2YocGdkX3QpLCBHRlBfS0VSTkVMKTsKKwlyZXR1cm4gcXVpY2tsaXN0X2FsbG9jKFFVSUNLX1BHRCwgR0ZQX0tFUk5FTCB8IF9fR0ZQX1JFUEVBVCwgcGdkX2N0b3IpOwogfQogCiBzdGF0aWMgaW5saW5lIHZvaWQgcGdkX2ZyZWUoc3RydWN0IG1tX3N0cnVjdCAqbW0sIHBnZF90ICpwZ2QpCiB7Ci0Ja2ZyZWUocGdkKTsKKwlxdWlja2xpc3RfZnJlZShRVUlDS19QR0QsIE5VTEwsIHBnZCk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgcHRlX3QgKnB0ZV9hbGxvY19vbmVfa2VybmVsKHN0cnVjdCBtbV9zdHJ1Y3QgKm1tLAogCQkJCQkgIHVuc2lnbmVkIGxvbmcgYWRkcmVzcykKIHsKLQlwdGVfdCAqcHRlOwotCi0JcHRlID0gKHB0ZV90ICopZ2V0X3plcm9lZF9wYWdlKEdGUF9LRVJORUwgfCBfX0dGUF9SRVBFQVQpOwotCi0JcmV0dXJuIHB0ZTsKKwlyZXR1cm4gcXVpY2tsaXN0X2FsbG9jKFFVSUNLX1BULCBHRlBfS0VSTkVMIHwgX19HRlBfUkVQRUFULCBOVUxMKTsKIH0KIAotc3RhdGljIGlubGluZSBzdHJ1Y3QgcGFnZSAqcHRlX2FsbG9jX29uZShzdHJ1Y3QgbW1fc3RydWN0ICptbSwKK3N0YXRpYyBpbmxpbmUgcGd0YWJsZV90IHB0ZV9hbGxvY19vbmUoc3RydWN0IG1tX3N0cnVjdCAqbW0sCiAJCQkJCSB1bnNpZ25lZCBsb25nIGFkZHJlc3MpCiB7Ci0Jc3RydWN0IHBhZ2UgKnB0ZTsKKwlzdHJ1Y3QgcGFnZSAqcGFnZTsKKwl2b2lkICpwZzsKIAotCXB0ZSA9IGFsbG9jX3BhZ2UoR0ZQX0tFUk5FTCB8IF9fR0ZQX1JFUEVBVCB8IF9fR0ZQX1pFUk8pOwotCWlmICghcHRlKQorCXBnID0gcXVpY2tsaXN0X2FsbG9jKFFVSUNLX1BULCBHRlBfS0VSTkVMIHwgX19HRlBfUkVQRUFULCBOVUxMKTsKKwlpZiAoIXBnKQogCQlyZXR1cm4gTlVMTDsKLQlwZ3RhYmxlX3BhZ2VfY3RvcihwdGUpOwotCXJldHVybiBwdGU7CisKKwlwYWdlID0gdmlydF90b19wYWdlKHBnKTsKKwlwZ3RhYmxlX3BhZ2VfY3RvcihwYWdlKTsKKworCXJldHVybiBwYWdlOwogfQogCiBzdGF0aWMgaW5saW5lIHZvaWQgcHRlX2ZyZWVfa2VybmVsKHN0cnVjdCBtbV9zdHJ1Y3QgKm1tLCBwdGVfdCAqcHRlKQogewotCWZyZWVfcGFnZSgodW5zaWduZWQgbG9uZylwdGUpOworCXF1aWNrbGlzdF9mcmVlKFFVSUNLX1BULCBOVUxMLCBwdGUpOwogfQogCiBzdGF0aWMgaW5saW5lIHZvaWQgcHRlX2ZyZWUoc3RydWN0IG1tX3N0cnVjdCAqbW0sIHBndGFibGVfdCBwdGUpCiB7CiAJcGd0YWJsZV9wYWdlX2R0b3IocHRlKTsKLQlfX2ZyZWVfcGFnZShwdGUpOworCXF1aWNrbGlzdF9mcmVlX3BhZ2UoUVVJQ0tfUFQsIE5VTEwsIHB0ZSk7CiB9CiAKICNkZWZpbmUgX19wdGVfZnJlZV90bGIodGxiLHB0ZSkJCQkJXApAQCAtNzUsNiArODksMTAgQEAKIAl0bGJfcmVtb3ZlX3BhZ2UoKHRsYiksIHB0ZSk7CQkJXAogfSB3aGlsZSAoMCkKIAotI2RlZmluZSBjaGVja19wZ3RfY2FjaGUoKSBkbyB7IH0gd2hpbGUoMCkKK3N0YXRpYyBpbmxpbmUgdm9pZCBjaGVja19wZ3RfY2FjaGUodm9pZCkKK3sKKwlxdWlja2xpc3RfdHJpbShRVUlDS19QR0QsIE5VTEwsIDI1LCAxNik7CisJcXVpY2tsaXN0X3RyaW0oUVVJQ0tfUFQsIE5VTEwsIDI1LCAxNik7Cit9CiAKICNlbmRpZiAvKiBfX0FTTV9BVlIzMl9QR0FMTE9DX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWF2cjMyL3BndGFibGUuaCBiL2luY2x1ZGUvYXNtLWF2cjMyL3BndGFibGUuaAppbmRleCBjMGU1ZTI5Li5mZWNkZGExIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hdnIzMi9wZ3RhYmxlLmgKKysrIGIvaW5jbHVkZS9hc20tYXZyMzIvcGd0YWJsZS5oCkBAIC0xMjksMTMgKzEyOSw2IEBACiAKICNkZWZpbmUgX1BBR0VfRkxBR1NfQ0FDSEVfTUFTSwkoX1BBR0VfQ0FDSEFCTEUgfCBfUEFHRV9CVUZGRVIgfCBfUEFHRV9XVCkKIAotLyogVE9ETzogQ2hlY2sgZm9yIHNhbmVuZXNzICovCi0vKiBVc2VyLW1vZGUgcGFnZSB0YWJsZSBmbGFncyAodG8gYmUgc2V0IGluIGEgcGdkIG9yIHBtZCBlbnRyeSkgKi8KLSNkZWZpbmUgX1BBR0VfVEFCTEUJCShfUEFHRV9QUkVTRU5UIHwgX1BBR0VfVFlQRV9TTUFMTCB8IF9QQUdFX1JXIFwKLQkJCQkgfCBfUEFHRV9VU0VSIHwgX1BBR0VfQUNDRVNTRUQgfCBfUEFHRV9ESVJUWSkKLS8qIEtlcm5lbC1tb2RlIHBhZ2UgdGFibGUgZmxhZ3MgKi8KLSNkZWZpbmUgX0tFUk5QR19UQUJMRQkJKF9QQUdFX1BSRVNFTlQgfCBfUEFHRV9UWVBFX1NNQUxMIHwgX1BBR0VfUlcgXAotCQkJCSB8IF9QQUdFX0FDQ0VTU0VEIHwgX1BBR0VfRElSVFkpCiAvKiBGbGFncyB0aGF0IG1heSBiZSBtb2RpZmllZCBieSBzb2Z0d2FyZSAqLwogI2RlZmluZSBfUEFHRV9DSEdfTUFTSwkJKFBURV9NQVNLIHwgX1BBR0VfQUNDRVNTRUQgfCBfUEFHRV9ESVJUWSBcCiAJCQkJIHwgX1BBR0VfRkxBR1NfQ0FDSEVfTUFTSykKQEAgLTI2MiwxMCArMjU1LDE0IEBACiB9CiAKICNkZWZpbmUgcG1kX25vbmUoeCkJKCFwbWRfdmFsKHgpKQotI2RlZmluZSBwbWRfcHJlc2VudCh4KQkocG1kX3ZhbCh4KSAmIF9QQUdFX1BSRVNFTlQpCi0jZGVmaW5lIHBtZF9jbGVhcih4cCkJZG8geyBzZXRfcG1kKHhwLCBfX3BtZCgwKSk7IH0gd2hpbGUgKDApCi0jZGVmaW5lCXBtZF9iYWQoeCkJKChwbWRfdmFsKHgpICYgKH5QQUdFX01BU0sgJiB+X1BBR0VfVVNFUikpCVwKLQkJCSAhPSBfS0VSTlBHX1RBQkxFKQorI2RlZmluZSBwbWRfcHJlc2VudCh4KQkocG1kX3ZhbCh4KSkKKworc3RhdGljIGlubGluZSB2b2lkIHBtZF9jbGVhcihwbWRfdCAqcG1kcCkKK3sKKwlzZXRfcG1kKHBtZHAsIF9fcG1kKDApKTsKK30KKworI2RlZmluZQlwbWRfYmFkKHgpCShwbWRfdmFsKHgpICYgflBBR0VfTUFTSykKIAogLyoKICAqIFBlcm1hbmVudCBhZGRyZXNzIG9mIGEgcGFnZS4gV2UgZG9uJ3Qgc3VwcG9ydCBoaWdobWVtLCBzbyB0aGlzIGlzCkBAIC0zMDMsMTkgKzMwMCwxNiBAQAogCiAjZGVmaW5lIHBhZ2VfcHRlKHBhZ2UpCXBhZ2VfcHRlX3Byb3QocGFnZSwgX19wZ3Byb3QoMCkpCiAKLSNkZWZpbmUgcG1kX3BhZ2VfdmFkZHIocG1kKQkJCQkJXAotCSgodW5zaWduZWQgbG9uZykgX192YShwbWRfdmFsKHBtZCkgJiBQQUdFX01BU0spKQotCi0jZGVmaW5lIHBtZF9wYWdlKHBtZCkJKHBoeXNfdG9fcGFnZShwbWRfdmFsKHBtZCkpKQorI2RlZmluZSBwbWRfcGFnZV92YWRkcihwbWQpCXBtZF92YWwocG1kKQorI2RlZmluZSBwbWRfcGFnZShwbWQpCQkodmlydF90b19wYWdlKHBtZF92YWwocG1kKSkpCiAKIC8qIHRvIGZpbmQgYW4gZW50cnkgaW4gYSBwYWdlLXRhYmxlLWRpcmVjdG9yeS4gKi8KLSNkZWZpbmUgcGdkX2luZGV4KGFkZHJlc3MpICgoKGFkZHJlc3MpID4+IFBHRElSX1NISUZUKSAmIChQVFJTX1BFUl9QR0QtMSkpCi0jZGVmaW5lIHBnZF9vZmZzZXQobW0sIGFkZHJlc3MpICgobW0pLT5wZ2QrcGdkX2luZGV4KGFkZHJlc3MpKQotI2RlZmluZSBwZ2Rfb2Zmc2V0X2N1cnJlbnQoYWRkcmVzcykJCQkJXAotCSgocGdkX3QgKilfX21mc3IoU1lTUkVHX1BUQlIpICsgcGdkX2luZGV4KGFkZHJlc3MpKQorI2RlZmluZSBwZ2RfaW5kZXgoYWRkcmVzcykJKCgoYWRkcmVzcykgPj4gUEdESVJfU0hJRlQpCVwKKwkJCQkgJiAoUFRSU19QRVJfUEdEIC0gMSkpCisjZGVmaW5lIHBnZF9vZmZzZXQobW0sIGFkZHJlc3MpCSgobW0pLT5wZ2QgKyBwZ2RfaW5kZXgoYWRkcmVzcykpCiAKIC8qIHRvIGZpbmQgYW4gZW50cnkgaW4gYSBrZXJuZWwgcGFnZS10YWJsZS1kaXJlY3RvcnkgKi8KLSNkZWZpbmUgcGdkX29mZnNldF9rKGFkZHJlc3MpIHBnZF9vZmZzZXQoJmluaXRfbW0sIGFkZHJlc3MpCisjZGVmaW5lIHBnZF9vZmZzZXRfayhhZGRyZXNzKQlwZ2Rfb2Zmc2V0KCZpbml0X21tLCBhZGRyZXNzKQogCiAvKiBGaW5kIGFuIGVudHJ5IGluIHRoZSB0aGlyZC1sZXZlbCBwYWdlIHRhYmxlLi4gKi8KICNkZWZpbmUgcHRlX2luZGV4KGFkZHJlc3MpCQkJCVwKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWF2cjMyL3RocmVhZF9pbmZvLmggYi9pbmNsdWRlL2FzbS1hdnIzMi90aHJlYWRfaW5mby5oCmluZGV4IDA3MDQ5ZjYuLmRmNjg2MzEgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWF2cjMyL3RocmVhZF9pbmZvLmgKKysrIGIvaW5jbHVkZS9hc20tYXZyMzIvdGhyZWFkX2luZm8uaApAQCAtODgsNiArODgsNyBAQAogI2RlZmluZSBUSUZfTUVNRElFCQk2CiAjZGVmaW5lIFRJRl9SRVNUT1JFX1NJR01BU0sJNwkvKiByZXN0b3JlIHNpZ25hbCBtYXNrIGluIGRvX3NpZ25hbCAqLwogI2RlZmluZSBUSUZfQ1BVX0dPSU5HX1RPX1NMRUVQCTgJLyogQ1BVIGlzIGVudGVyaW5nIHNsZWVwIDAgbW9kZSAqLworI2RlZmluZSBUSUZfRlJFRVpFCQkyOQogI2RlZmluZSBUSUZfREVCVUcJCTMwCS8qIGRlYnVnZ2luZyBlbmFibGVkICovCiAjZGVmaW5lIFRJRl9VU0VSU1BBQ0UJCTMxICAgICAgLyogdHJ1ZSBpZiBGUyBzZXRzIHVzZXJzcGFjZSAqLwogCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hdnIzMi90bGJmbHVzaC5oIGIvaW5jbHVkZS9hc20tYXZyMzIvdGxiZmx1c2guaAppbmRleCA1YmM3Yzg4Li5iZjkwYTc4IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hdnIzMi90bGJmbHVzaC5oCisrKyBiL2luY2x1ZGUvYXNtLWF2cjMyL3RsYmZsdXNoLmgKQEAgLTI2LDcgKzI2LDYgQEAKIGV4dGVybiB2b2lkIGZsdXNoX3RsYl9yYW5nZShzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZtYSwgdW5zaWduZWQgbG9uZyBzdGFydCwKIAkJCSAgICB1bnNpZ25lZCBsb25nIGVuZCk7CiBleHRlcm4gdm9pZCBmbHVzaF90bGJfcGFnZShzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZtYSwgdW5zaWduZWQgbG9uZyBwYWdlKTsKLWV4dGVybiB2b2lkIF9fZmx1c2hfdGxiX3BhZ2UodW5zaWduZWQgbG9uZyBhc2lkLCB1bnNpZ25lZCBsb25nIHBhZ2UpOwogCiBleHRlcm4gdm9pZCBmbHVzaF90bGJfa2VybmVsX3JhbmdlKHVuc2lnbmVkIGxvbmcgc3RhcnQsIHVuc2lnbmVkIGxvbmcgZW5kKTsKIApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tZ2VuZXJpYy9wZ3RhYmxlLmggYi9pbmNsdWRlL2FzbS1nZW5lcmljL3BndGFibGUuaAppbmRleCA0NGVmMzI5Li40ZmNlM2RiIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1nZW5lcmljL3BndGFibGUuaAorKysgYi9pbmNsdWRlL2FzbS1nZW5lcmljL3BndGFibGUuaApAQCAtMTk3LDYgKzE5Nyw2MyBAQAogfQogI2VuZGlmIC8qIENPTkZJR19NTVUgKi8KIAorc3RhdGljIGlubGluZSBwdGVfdCBfX3B0ZXBfbW9kaWZ5X3Byb3Rfc3RhcnQoc3RydWN0IG1tX3N0cnVjdCAqbW0sCisJCQkJCSAgICAgdW5zaWduZWQgbG9uZyBhZGRyLAorCQkJCQkgICAgIHB0ZV90ICpwdGVwKQoreworCS8qCisJICogR2V0IHRoZSBjdXJyZW50IHB0ZSBzdGF0ZSwgYnV0IHplcm8gaXQgb3V0IHRvIG1ha2UgaXQKKwkgKiBub24tcHJlc2VudCwgcHJldmVudGluZyB0aGUgaGFyZHdhcmUgZnJvbSBhc3luY2hyb25vdXNseQorCSAqIHVwZGF0aW5nIGl0LgorCSAqLworCXJldHVybiBwdGVwX2dldF9hbmRfY2xlYXIobW0sIGFkZHIsIHB0ZXApOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgX19wdGVwX21vZGlmeV9wcm90X2NvbW1pdChzdHJ1Y3QgbW1fc3RydWN0ICptbSwKKwkJCQkJICAgICB1bnNpZ25lZCBsb25nIGFkZHIsCisJCQkJCSAgICAgcHRlX3QgKnB0ZXAsIHB0ZV90IHB0ZSkKK3sKKwkvKgorCSAqIFRoZSBwdGUgaXMgbm9uLXByZXNlbnQsIHNvIHRoZXJlJ3Mgbm8gaGFyZHdhcmUgc3RhdGUgdG8KKwkgKiBwcmVzZXJ2ZS4KKwkgKi8KKwlzZXRfcHRlX2F0KG1tLCBhZGRyLCBwdGVwLCBwdGUpOworfQorCisjaWZuZGVmIF9fSEFWRV9BUkNIX1BURVBfTU9ESUZZX1BST1RfVFJBTlNBQ1RJT04KKy8qCisgKiBTdGFydCBhIHB0ZSBwcm90ZWN0aW9uIHJlYWQtbW9kaWZ5LXdyaXRlIHRyYW5zYWN0aW9uLCB3aGljaAorICogcHJvdGVjdHMgYWdhaW5zdCBhc3luY2hyb25vdXMgaGFyZHdhcmUgbW9kaWZpY2F0aW9ucyB0byB0aGUgcHRlLgorICogVGhlIGludGVudGlvbiBpcyBub3QgdG8gcHJldmVudCB0aGUgaGFyZHdhcmUgZnJvbSBtYWtpbmcgcHRlCisgKiB1cGRhdGVzLCBidXQgdG8gcHJldmVudCBhbnkgdXBkYXRlcyBpdCBtYXkgbWFrZSBmcm9tIGJlaW5nIGxvc3QuCisgKgorICogVGhpcyBkb2VzIG5vdCBwcm90ZWN0IGFnYWluc3Qgb3RoZXIgc29mdHdhcmUgbW9kaWZpY2F0aW9ucyBvZiB0aGUKKyAqIHB0ZTsgdGhlIGFwcHJvcHJpYXRlIHB0ZSBsb2NrIG11c3QgYmUgaGVsZCBvdmVyIHRoZSB0cmFuc2F0aW9uLgorICoKKyAqIE5vdGUgdGhhdCB0aGlzIGludGVyZmFjZSBpcyBpbnRlbmRlZCB0byBiZSBiYXRjaGFibGUsIG1lYW5pbmcgdGhhdAorICogcHRlcF9tb2RpZnlfcHJvdF9jb21taXQgbWF5IG5vdCBhY3R1YWxseSB1cGRhdGUgdGhlIHB0ZSwgYnV0IG1lcmVseQorICogcXVldWUgdGhlIHVwZGF0ZSB0byBiZSBkb25lIGF0IHNvbWUgbGF0ZXIgdGltZS4gIFRoZSB1cGRhdGUgbXVzdCBiZQorICogYWN0dWFsbHkgY29tbWl0dGVkIGJlZm9yZSB0aGUgcHRlIGxvY2sgaXMgcmVsZWFzZWQsIGhvd2V2ZXIuCisgKi8KK3N0YXRpYyBpbmxpbmUgcHRlX3QgcHRlcF9tb2RpZnlfcHJvdF9zdGFydChzdHJ1Y3QgbW1fc3RydWN0ICptbSwKKwkJCQkJICAgdW5zaWduZWQgbG9uZyBhZGRyLAorCQkJCQkgICBwdGVfdCAqcHRlcCkKK3sKKwlyZXR1cm4gX19wdGVwX21vZGlmeV9wcm90X3N0YXJ0KG1tLCBhZGRyLCBwdGVwKTsKK30KKworLyoKKyAqIENvbW1pdCBhbiB1cGRhdGUgdG8gYSBwdGUsIGxlYXZpbmcgYW55IGhhcmR3YXJlLWNvbnRyb2xsZWQgYml0cyBpbgorICogdGhlIFBURSB1bm1vZGlmaWVkLgorICovCitzdGF0aWMgaW5saW5lIHZvaWQgcHRlcF9tb2RpZnlfcHJvdF9jb21taXQoc3RydWN0IG1tX3N0cnVjdCAqbW0sCisJCQkJCSAgIHVuc2lnbmVkIGxvbmcgYWRkciwKKwkJCQkJICAgcHRlX3QgKnB0ZXAsIHB0ZV90IHB0ZSkKK3sKKwlfX3B0ZXBfbW9kaWZ5X3Byb3RfY29tbWl0KG1tLCBhZGRyLCBwdGVwLCBwdGUpOworfQorI2VuZGlmIC8qIF9fSEFWRV9BUkNIX1BURVBfTU9ESUZZX1BST1RfVFJBTlNBQ1RJT04gKi8KKwogLyoKICAqIEEgZmFjaWxpdHkgdG8gcHJvdmlkZSBsYXp5IE1NVSBiYXRjaGluZy4gIFRoaXMgYWxsb3dzIFBURSB1cGRhdGVzIGFuZAogICogcGFnZSBpbnZhbGlkYXRpb25zIHRvIGJlIGRlbGF5ZWQgdW50aWwgYSBjYWxsIHRvIGxlYXZlIGxhenkgTU1VIG1vZGUKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWdlbmVyaWMvdG9wb2xvZ3kuaCBiL2luY2x1ZGUvYXNtLWdlbmVyaWMvdG9wb2xvZ3kuaAppbmRleCBhNmFlYTc5Li41NGJiZjZlIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1nZW5lcmljL3RvcG9sb2d5LmgKKysrIGIvaW5jbHVkZS9hc20tZ2VuZXJpYy90b3BvbG9neS5oCkBAIC02MCw3ICs2MCw4IEBACiAjaWZuZGVmIG5vZGVfdG9fY3B1bWFza19wdHIKIAogI2RlZmluZQlub2RlX3RvX2NwdW1hc2tfcHRyKHYsIG5vZGUpIAkJCQkJXAotCQljcHVtYXNrX3QgXyMjdiA9IG5vZGVfdG9fY3B1bWFzayhub2RlKSwgKnYgPSAmXyMjdgorCQljcHVtYXNrX3QgXyMjdiA9IG5vZGVfdG9fY3B1bWFzayhub2RlKTsJCQlcCisJCWNvbnN0IGNwdW1hc2tfdCAqdiA9ICZfIyN2CiAKICNkZWZpbmUgbm9kZV90b19jcHVtYXNrX3B0cl9uZXh0KHYsIG5vZGUpCQkJCVwKIAkJCSAgXyMjdiA9IG5vZGVfdG9fY3B1bWFzayhub2RlKQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tZ2VuZXJpYy92bWxpbnV4Lmxkcy5oIGIvaW5jbHVkZS9hc20tZ2VuZXJpYy92bWxpbnV4Lmxkcy5oCmluZGV4IGYwNTQ3NzguLmIyMDQwOTQgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWdlbmVyaWMvdm1saW51eC5sZHMuaAorKysgYi9pbmNsdWRlL2FzbS1nZW5lcmljL3ZtbGludXgubGRzLmgKQEAgLTY3LDYgKzY3LDggQEAKIAkJKigucm9kYXRhMSkJCQkJCQlcCiAJfQkJCQkJCQkJXAogCQkJCQkJCQkJXAorCUJVR19UQUJMRQkJCQkJCQlcCisJCQkJCQkJCQlcCiAJLyogUENJIHF1aXJrcyAqLwkJCQkJCVwKIAkucGNpX2ZpeHVwICAgICAgICA6IEFUKEFERFIoLnBjaV9maXh1cCkgLSBMT0FEX09GRlNFVCkgewlcCiAJCVZNTElOVVhfU1lNQk9MKF9fc3RhcnRfcGNpX2ZpeHVwc19lYXJseSkgPSAuOwkJXApAQCAtODYsNiArODgsMTMgQEAKIAkJVk1MSU5VWF9TWU1CT0woX19lbmRfcGNpX2ZpeHVwc19yZXN1bWUpID0gLjsJCVwKIAl9CQkJCQkJCQlcCiAJCQkJCQkJCQlcCisJLyogQnVpbHQtaW4gZmlybXdhcmUgYmxvYnMgKi8JCQkJCVwKKwkuYnVpbHRpbl9mdyAgICAgICAgOiBBVChBRERSKC5idWlsdGluX2Z3KSAtIExPQURfT0ZGU0VUKSB7CVwKKwkJVk1MSU5VWF9TWU1CT0woX19zdGFydF9idWlsdGluX2Z3KSA9IC47CQkJXAorCQkqKC5idWlsdGluX2Z3KQkJCQkJCVwKKwkJVk1MSU5VWF9TWU1CT0woX19lbmRfYnVpbHRpbl9mdykgPSAuOwkJCVwKKwl9CQkJCQkJCQlcCisJCQkJCQkJCQlcCiAJLyogUmFwaWRJTyByb3V0ZSBvcHMgKi8JCQkJCQlcCiAJLnJpb19yb3V0ZSAgICAgICAgOiBBVChBRERSKC5yaW9fcm91dGUpIC0gTE9BRF9PRkZTRVQpIHsJXAogCQlWTUxJTlVYX1NZTUJPTChfX3N0YXJ0X3Jpb19yb3V0ZV9vcHMpID0gLjsJCVwKQEAgLTkzLDYgKzEwMiw4IEBACiAJCVZNTElOVVhfU1lNQk9MKF9fZW5kX3Jpb19yb3V0ZV9vcHMpID0gLjsJCVwKIAl9CQkJCQkJCQlcCiAJCQkJCQkJCQlcCisJVFJBQ0VEQVRBCQkJCQkJCVwKKwkJCQkJCQkJCVwKIAkvKiBLZXJuZWwgc3ltYm9sIHRhYmxlOiBOb3JtYWwgc3ltYm9scyAqLwkJCVwKIAlfX2tzeW10YWIgICAgICAgICA6IEFUKEFERFIoX19rc3ltdGFiKSAtIExPQURfT0ZGU0VUKSB7CQlcCiAJCVZNTElOVVhfU1lNQk9MKF9fc3RhcnRfX19rc3ltdGFiKSA9IC47CQkJXApAQCAtMzEwLDYgKzMyMSw3IEBACiAJCS5zdGFiLmluZGV4c3RyIDAgOiB7ICooLnN0YWIuaW5kZXhzdHIpIH0JCVwKIAkJLmNvbW1lbnQgMCA6IHsgKiguY29tbWVudCkgfQogCisjaWZkZWYgQ09ORklHX0dFTkVSSUNfQlVHCiAjZGVmaW5lIEJVR19UQUJMRQkJCQkJCQlcCiAJLiA9IEFMSUdOKDgpOwkJCQkJCQlcCiAJX19idWdfdGFibGUgOiBBVChBRERSKF9fYnVnX3RhYmxlKSAtIExPQURfT0ZGU0VUKSB7CQlcCkBAIC0zMTcsNiArMzI5LDIxIEBACiAJCSooX19idWdfdGFibGUpCQkJCQkJXAogCQlfX3N0b3BfX19idWdfdGFibGUgPSAuOwkJCQkJXAogCX0KKyNlbHNlCisjZGVmaW5lIEJVR19UQUJMRQorI2VuZGlmCisKKyNpZmRlZiBDT05GSUdfUE1fVFJBQ0UKKyNkZWZpbmUgVFJBQ0VEQVRBCQkJCQkJCVwKKwkuID0gQUxJR04oNCk7CQkJCQkJCVwKKwkudHJhY2VkYXRhIDogQVQoQUREUigudHJhY2VkYXRhKSAtIExPQURfT0ZGU0VUKSB7CQlcCisJICAJX190cmFjZWRhdGFfc3RhcnQgPSAuOwkJCQkJXAorCQkqKC50cmFjZWRhdGEpCQkJCQkJXAorCSAgCV9fdHJhY2VkYXRhX2VuZCA9IC47CQkJCQlcCisJfQorI2Vsc2UKKyNkZWZpbmUgVFJBQ0VEQVRBCisjZW5kaWYKIAogI2RlZmluZSBOT1RFUwkJCQkJCQkJXAogCS5ub3RlcyA6IEFUKEFERFIoLm5vdGVzKSAtIExPQURfT0ZGU0VUKSB7CQkJXApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tbWlwcy9tYWNoLWF1MXgwMC9hdTF4eHhfcHNjLmggYi9pbmNsdWRlL2FzbS1taXBzL21hY2gtYXUxeDAwL2F1MXh4eF9wc2MuaAppbmRleCBkYWU0ZWNhLi44OTJiN2YxIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1taXBzL21hY2gtYXUxeDAwL2F1MXh4eF9wc2MuaAorKysgYi9pbmNsdWRlL2FzbS1taXBzL21hY2gtYXUxeDAwL2F1MXh4eF9wc2MuaApAQCAtMjA0LDYgKzIwNCwxNCBAQAogCXUzMglwc2NfaTJzdWRmOwogfSBwc2NfaTJzX3Q7CiAKKyNkZWZpbmUgUFNDX0kyU0NGR19PRkZTRVQJMHgwOAorI2RlZmluZSBQU0NfSTJTTUFTS19PRkZTRVQJMHgwQworI2RlZmluZSBQU0NfSTJTUENSX09GRlNFVAkweDEwCisjZGVmaW5lIFBTQ19JMlNTVEFUX09GRlNFVAkweDE0CisjZGVmaW5lIFBTQ19JMlNFVkVOVF9PRkZTRVQJMHgxOAorI2RlZmluZSBQU0NfSTJTUlhUWF9PRkZTRVQJMHgxQworI2RlZmluZSBQU0NfSTJTVURGX09GRlNFVAkweDIwCisKIC8qIEkyUyBDb25maWcgUmVnaXN0ZXIuICovCiAjZGVmaW5lIFBTQ19JMlNDRkdfUlRfTUFTSwkoMyA8PCAzMCkKICNkZWZpbmUgUFNDX0kyU0NGR19SVF9GSUZPMQkoMCA8PCAzMCkKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXBvd2VycGMvZnRyYWNlLmggYi9pbmNsdWRlL2FzbS1wb3dlcnBjL2Z0cmFjZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRlOTIxMzIKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1wb3dlcnBjL2Z0cmFjZS5oCkBAIC0wLDAgKzEsMTQgQEAKKyNpZm5kZWYgX0FTTV9QT1dFUlBDX0ZUUkFDRQorI2RlZmluZSBfQVNNX1BPV0VSUENfRlRSQUNFCisKKyNpZmRlZiBDT05GSUdfRlRSQUNFCisjZGVmaW5lIE1DT1VOVF9BRERSCQkoKGxvbmcpKF9tY291bnQpKQorI2RlZmluZSBNQ09VTlRfSU5TTl9TSVpFCTQgLyogc2l6ZW9mIG1jb3VudCBjYWxsICovCisKKyNpZm5kZWYgX19BU1NFTUJMWV9fCitleHRlcm4gdm9pZCBfbWNvdW50KHZvaWQpOworI2VuZGlmCisKKyNlbmRpZgorCisjZW5kaWYgLyogX0FTTV9QT1dFUlBDX0ZUUkFDRSAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tcG93ZXJwYy9od19pcnEuaCBiL2luY2x1ZGUvYXNtLXBvd2VycGMvaHdfaXJxLmgKaW5kZXggYWQ4YzlmNy4uZjc1YTVmYyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tcG93ZXJwYy9od19pcnEuaAorKysgYi9pbmNsdWRlL2FzbS1wb3dlcnBjL2h3X2lycS5oCkBAIC01OSw2ICs1OSwxMSBAQAogCQlnZXRfcGFjYSgpLT5oYXJkX2VuYWJsZWQgPSAwOwlcCiAJfSB3aGlsZSgwKQogCitzdGF0aWMgaW5saW5lIGludCBpcnFzX2Rpc2FibGVkX2ZsYWdzKHVuc2lnbmVkIGxvbmcgZmxhZ3MpCit7CisJcmV0dXJuIGZsYWdzID09IDA7Cit9CisKICNlbHNlCiAKICNpZiBkZWZpbmVkKENPTkZJR19CT09LRSkKQEAgLTExMyw2ICsxMTgsMTEgQEAKICNkZWZpbmUgaGFyZF9pcnFfZW5hYmxlKCkJbG9jYWxfaXJxX2VuYWJsZSgpCiAjZGVmaW5lIGhhcmRfaXJxX2Rpc2FibGUoKQlsb2NhbF9pcnFfZGlzYWJsZSgpCiAKK3N0YXRpYyBpbmxpbmUgaW50IGlycXNfZGlzYWJsZWRfZmxhZ3ModW5zaWduZWQgbG9uZyBmbGFncykKK3sKKwlyZXR1cm4gKGZsYWdzICYgTVNSX0VFKSA9PSAwOworfQorCiAjZW5kaWYgLyogQ09ORklHX1BQQzY0ICovCiAKIC8qCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1zMzkwL0tidWlsZCBiL2luY2x1ZGUvYXNtLXMzOTAvS2J1aWxkCmluZGV4IDEzYzk4MDUuLjA5ZjMxMjUgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXMzOTAvS2J1aWxkCisrKyBiL2luY2x1ZGUvYXNtLXMzOTAvS2J1aWxkCkBAIC04LDYgKzgsOSBAQAogaGVhZGVyLXkgKz0gdnRvYy5oCiBoZWFkZXIteSArPSB6Y3J5cHQuaAogaGVhZGVyLXkgKz0ga3ZtLmgKK2hlYWRlci15ICs9IHNjaGlkLmgKK2hlYWRlci15ICs9IGNoc2MuaAogCiB1bmlmZGVmLXkgKz0gY21iLmgKIHVuaWZkZWYteSArPSBkZWJ1Zy5oCit1bmlmZGVmLXkgKz0gY2hwaWQuaApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tczM5MC9haXJxLmggYi9pbmNsdWRlL2FzbS1zMzkwL2FpcnEuaAppbmRleCA0MWQwMjhjLi4xYWM4MGQ2IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1zMzkwL2FpcnEuaAorKysgYi9pbmNsdWRlL2FzbS1zMzkwL2FpcnEuaApAQCAtMTMsNyArMTMsNyBAQAogCiB0eXBlZGVmIHZvaWQgKCphZGFwdGVyX2ludF9oYW5kbGVyX3QpKHZvaWQgKiwgdm9pZCAqKTsKIAotdm9pZCAqczM5MF9yZWdpc3Rlcl9hZGFwdGVyX2ludGVycnVwdChhZGFwdGVyX2ludF9oYW5kbGVyX3QsIHZvaWQgKik7Ci12b2lkIHMzOTBfdW5yZWdpc3Rlcl9hZGFwdGVyX2ludGVycnVwdCh2b2lkICopOwordm9pZCAqczM5MF9yZWdpc3Rlcl9hZGFwdGVyX2ludGVycnVwdChhZGFwdGVyX2ludF9oYW5kbGVyX3QsIHZvaWQgKiwgdTgpOwordm9pZCBzMzkwX3VucmVnaXN0ZXJfYWRhcHRlcl9pbnRlcnJ1cHQodm9pZCAqLCB1OCk7CiAKICNlbmRpZiAvKiBfQVNNX1MzOTBfQUlSUV9IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1zMzkwL2Njd2Rldi5oIGIvaW5jbHVkZS9hc20tczM5MC9jY3dkZXYuaAppbmRleCAwNjZhYTcwLi5iYTAwN2Q4IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1zMzkwL2Njd2Rldi5oCisrKyBiL2luY2x1ZGUvYXNtLXMzOTAvY2N3ZGV2LmgKQEAgLTEyLDYgKzEyLDcgQEAKIAogI2luY2x1ZGUgPGxpbnV4L2RldmljZS5oPgogI2luY2x1ZGUgPGxpbnV4L21vZF9kZXZpY2V0YWJsZS5oPgorI2luY2x1ZGUgPGFzbS9mY3guaD4KIAogLyogc3RydWN0cyBmcm9tIGFzbS9jaW8uaCAqLwogc3RydWN0IGlyYjsKQEAgLTE1Nyw2ICsxNTgsMTcgQEAKIGV4dGVybiBpbnQgY2N3X2RldmljZV9yZXN1bWUoc3RydWN0IGNjd19kZXZpY2UgKik7CiBleHRlcm4gaW50IGNjd19kZXZpY2VfaGFsdChzdHJ1Y3QgY2N3X2RldmljZSAqLCB1bnNpZ25lZCBsb25nKTsKIGV4dGVybiBpbnQgY2N3X2RldmljZV9jbGVhcihzdHJ1Y3QgY2N3X2RldmljZSAqLCB1bnNpZ25lZCBsb25nKTsKK2ludCBjY3dfZGV2aWNlX3RtX3N0YXJ0X2tleShzdHJ1Y3QgY2N3X2RldmljZSAqY2Rldiwgc3RydWN0IHRjdyAqdGN3LAorCQkJICAgIHVuc2lnbmVkIGxvbmcgaW50cGFybSwgdTggbHBtLCB1OCBrZXkpOworaW50IGNjd19kZXZpY2VfdG1fc3RhcnRfa2V5KHN0cnVjdCBjY3dfZGV2aWNlICosIHN0cnVjdCB0Y3cgKiwKKwkJCSAgICB1bnNpZ25lZCBsb25nLCB1OCwgdTgpOworaW50IGNjd19kZXZpY2VfdG1fc3RhcnRfdGltZW91dF9rZXkoc3RydWN0IGNjd19kZXZpY2UgKiwgc3RydWN0IHRjdyAqLAorCQkJICAgIHVuc2lnbmVkIGxvbmcsIHU4LCB1OCwgaW50KTsKK2ludCBjY3dfZGV2aWNlX3RtX3N0YXJ0KHN0cnVjdCBjY3dfZGV2aWNlICosIHN0cnVjdCB0Y3cgKiwKKwkJCSAgICB1bnNpZ25lZCBsb25nLCB1OCk7CitpbnQgY2N3X2RldmljZV90bV9zdGFydF90aW1lb3V0KHN0cnVjdCBjY3dfZGV2aWNlICosIHN0cnVjdCB0Y3cgKiwKKwkJCSAgICB1bnNpZ25lZCBsb25nLCB1OCwgaW50KTsKK2ludCBjY3dfZGV2aWNlX3RtX2ludHJnKHN0cnVjdCBjY3dfZGV2aWNlICpjZGV2KTsKIAogZXh0ZXJuIGludCBjY3dfZGV2aWNlX3NldF9vbmxpbmUoc3RydWN0IGNjd19kZXZpY2UgKmNkZXYpOwogZXh0ZXJuIGludCBjY3dfZGV2aWNlX3NldF9vZmZsaW5lKHN0cnVjdCBjY3dfZGV2aWNlICpjZGV2KTsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXMzOTAvY2hwaWQuaCBiL2luY2x1ZGUvYXNtLXMzOTAvY2hwaWQuaAppbmRleCBiMjAzMzM2Li42MDY4NDRkIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1zMzkwL2NocGlkLmgKKysrIGIvaW5jbHVkZS9hc20tczM5MC9jaHBpZC5oCkBAIC0xMCw3ICsxMCw2IEBACiAKICNpbmNsdWRlIDxsaW51eC9zdHJpbmcuaD4KICNpbmNsdWRlIDxhc20vdHlwZXMuaD4KLSNpbmNsdWRlIDxhc20vY2lvLmg+CiAKICNkZWZpbmUgX19NQVhfQ0hQSUQgMjU1CiAKQEAgLTQxLDYgKzQwLDkgQEAKIAl9CiB9CiAKKyNpZmRlZiBfX0tFUk5FTF9fCisjaW5jbHVkZSA8YXNtL2Npby5oPgorCiBzdGF0aWMgaW5saW5lIGludCBjaHBfaWRfaXNfdmFsaWQoc3RydWN0IGNocF9pZCAqY2hwaWQpCiB7CiAJcmV0dXJuIChjaHBpZC0+Y3NzaWQgPD0gX19NQVhfQ1NTSUQpOwpAQCAtNDksNSArNTEsNiBAQAogCiAjZGVmaW5lIGNocF9pZF9mb3JfZWFjaChjKSBcCiAJZm9yIChjaHBfaWRfaW5pdChjKTsgY2hwX2lkX2lzX3ZhbGlkKGMpOyBjaHBfaWRfbmV4dChjKSkKKyNlbmRpZiAvKiBfX0tFUk5FTCAqLwogCiAjZW5kaWYgLyogX0FTTV9TMzkwX0NIUElEX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXMzOTAvY2hzYy5oIGIvaW5jbHVkZS9hc20tczM5MC9jaHNjLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDM4ZDBjZgotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLXMzOTAvY2hzYy5oCkBAIC0wLDAgKzEsMTI3IEBACisvKgorICogaW9jdGwgaW50ZXJmYWNlIGZvciAvZGV2L2Noc2MKKyAqCisgKiBDb3B5cmlnaHQgMjAwOCBJQk0gQ29ycC4KKyAqIEF1dGhvcihzKTogQ29ybmVsaWEgSHVjayA8Y29ybmVsaWEuaHVja0BkZS5pYm0uY29tPgorICovCisKKyNpZm5kZWYgX0FTTV9DSFNDX0gKKyNkZWZpbmUgX0FTTV9DSFNDX0gKKworI2luY2x1ZGUgPGFzbS9jaHBpZC5oPgorI2luY2x1ZGUgPGFzbS9zY2hpZC5oPgorCitzdHJ1Y3QgY2hzY19hc3luY19oZWFkZXIgeworCV9fdTE2IGxlbmd0aDsKKwlfX3UxNiBjb2RlOworCV9fdTMyIGNtZF9kZXBlbmRlbmQ7CisJX191MzIga2V5IDogNDsKKwlfX3UzMiA6IDI4OworCXN0cnVjdCBzdWJjaGFubmVsX2lkIHNpZDsKK30gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpOworCitzdHJ1Y3QgY2hzY19hc3luY19hcmVhIHsKKwlzdHJ1Y3QgY2hzY19hc3luY19oZWFkZXIgaGVhZGVyOworCV9fdTggZGF0YVtQQUdFX1NJWkUgLSAxNiAvKiBzaXplIG9mIGNoc2NfYXN5bmNfaGVhZGVyICovXTsKK30gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpOworCisKK3N0cnVjdCBjaHNjX3Jlc3BvbnNlX3N0cnVjdCB7CisJX191MTYgbGVuZ3RoOworCV9fdTE2IGNvZGU7CisJX191MzIgcGFybXM7CisJX191OCBkYXRhW1BBR0VfU0laRSAtIDhdOworfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSk7CisKK3N0cnVjdCBjaHNjX2NocF9jZCB7CisJc3RydWN0IGNocF9pZCBjaHBpZDsKKwlpbnQgbTsKKwlpbnQgZm10OworCXN0cnVjdCBjaHNjX3Jlc3BvbnNlX3N0cnVjdCBjcGNiOworfTsKKworc3RydWN0IGNoc2NfY3VfY2QgeworCV9fdTE2IGN1bjsKKwlfX3U4IGNzc2lkOworCWludCBtOworCWludCBmbXQ7CisJc3RydWN0IGNoc2NfcmVzcG9uc2Vfc3RydWN0IGN1Y2I7Cit9OworCitzdHJ1Y3QgY2hzY19zY2hfY3VkIHsKKwlzdHJ1Y3Qgc3ViY2hhbm5lbF9pZCBzY2hpZDsKKwlpbnQgZm10OworCXN0cnVjdCBjaHNjX3Jlc3BvbnNlX3N0cnVjdCBzY3ViOworfTsKKworc3RydWN0IGNvbmZfaWQgeworCWludCBtOworCV9fdTggY3NzaWQ7CisJX191OCBzc2lkOworfTsKKworc3RydWN0IGNoc2NfY29uZl9pbmZvIHsKKwlzdHJ1Y3QgY29uZl9pZCBpZDsKKwlpbnQgZm10OworCXN0cnVjdCBjaHNjX3Jlc3BvbnNlX3N0cnVjdCBzY2lkOworfTsKKworc3RydWN0IGNjbF9wYXJtX2NocGlkIHsKKwlpbnQgbTsKKwlzdHJ1Y3QgY2hwX2lkIGNocDsKK307CisKK3N0cnVjdCBjY2xfcGFybV9jc3NpZHMgeworCV9fdTggZl9jc3NpZDsKKwlfX3U4IGxfY3NzaWQ7Cit9OworCitzdHJ1Y3QgY2hzY19jb21wX2xpc3QgeworCXN0cnVjdCB7CisJCWVudW0geworCQkJQ0NMX0NVX09OX0NIUCA9IDEsCisJCQlDQ0xfQ0hQX1RZUEVfQ0FQID0gMiwKKwkJCUNDTF9DU1NfSU1HID0gNCwKKwkJCUNDTF9DU1NfSU1HX0NPTkZfQ0hBUiA9IDUsCisJCQlDQ0xfSU9QX0NIUCA9IDYsCisJCX0gY3R5cGU7CisJCWludCBmbXQ7CisJCXN0cnVjdCBjY2xfcGFybV9jaHBpZCBjaHBpZDsKKwkJc3RydWN0IGNjbF9wYXJtX2Nzc2lkcyBjc3NpZHM7CisJfSByZXE7CisJc3RydWN0IGNoc2NfcmVzcG9uc2Vfc3RydWN0IHNjY2w7Cit9OworCitzdHJ1Y3QgY2hzY19kY2FsIHsKKwlzdHJ1Y3QgeworCQllbnVtIHsKKwkJCURDQUxfQ1NTX0lJRF9QTiA9IDQsCisJCX0gYXR5cGU7CisJCV9fdTMyIGxpc3RfcGFybVsyXTsKKwkJaW50IGZtdDsKKwl9IHJlcTsKKwlzdHJ1Y3QgY2hzY19yZXNwb25zZV9zdHJ1Y3Qgc2RjYWw7Cit9OworCitzdHJ1Y3QgY2hzY19jcGRfaW5mbyB7CisJc3RydWN0IGNocF9pZCBjaHBpZDsKKwlpbnQgbTsKKwlpbnQgZm10OworCWludCByZm10OworCWludCBjOworCXN0cnVjdCBjaHNjX3Jlc3BvbnNlX3N0cnVjdCBjaHBkYjsKK307CisKKyNkZWZpbmUgQ0hTQ19JT0NUTF9NQUdJQyAnYycKKworI2RlZmluZSBDSFNDX1NUQVJUIF9JT1dSKENIU0NfSU9DVExfTUFHSUMsIDB4ODEsIHN0cnVjdCBjaHNjX2FzeW5jX2FyZWEpCisjZGVmaW5lIENIU0NfSU5GT19DSEFOTkVMX1BBVEggX0lPV1IoQ0hTQ19JT0NUTF9NQUdJQywgMHg4MiwgXAorCQkJCSAgICBzdHJ1Y3QgY2hzY19jaHBfY2QpCisjZGVmaW5lIENIU0NfSU5GT19DVSBfSU9XUihDSFNDX0lPQ1RMX01BR0lDLCAweDgzLCBzdHJ1Y3QgY2hzY19jdV9jZCkKKyNkZWZpbmUgQ0hTQ19JTkZPX1NDSF9DVSBfSU9XUihDSFNDX0lPQ1RMX01BR0lDLCAweDg0LCBzdHJ1Y3QgY2hzY19zY2hfY3VkKQorI2RlZmluZSBDSFNDX0lORk9fQ0kgX0lPV1IoQ0hTQ19JT0NUTF9NQUdJQywgMHg4NSwgc3RydWN0IGNoc2NfY29uZl9pbmZvKQorI2RlZmluZSBDSFNDX0lORk9fQ0NMIF9JT1dSKENIU0NfSU9DVExfTUFHSUMsIDB4ODYsIHN0cnVjdCBjaHNjX2NvbXBfbGlzdCkKKyNkZWZpbmUgQ0hTQ19JTkZPX0NQRCBfSU9XUihDSFNDX0lPQ1RMX01BR0lDLCAweDg3LCBzdHJ1Y3QgY2hzY19jcGRfaW5mbykKKyNkZWZpbmUgQ0hTQ19JTkZPX0RDQUwgX0lPV1IoQ0hTQ19JT0NUTF9NQUdJQywgMHg4OCwgc3RydWN0IGNoc2NfZGNhbCkKKworI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1zMzkwL2Npby5oIGIvaW5jbHVkZS9hc20tczM5MC9jaW8uaAppbmRleCAwODE4ZWNkLi42ZGNjYjA3IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1zMzkwL2Npby5oCisrKyBiL2luY2x1ZGUvYXNtLXMzOTAvY2lvLmgKQEAgLTE2LDcgKzE2LDcgQEAKICNkZWZpbmUgX19NQVhfQ1NTSUQgMAogCiAvKioKLSAqIHN0cnVjdCBzY3N3IC0gc3ViY2hhbm5lbCBzdGF0dXMgd29yZAorICogc3RydWN0IGNtZF9zY3N3IC0gY29tbWFuZC1tb2RlIHN1YmNoYW5uZWwgc3RhdHVzIHdvcmQKICAqIEBrZXk6IHN1YmNoYW5uZWwga2V5CiAgKiBAc2N0bDogc3VzcGVuZCBjb250cm9sCiAgKiBAZXN3ZjogZXN3IGZvcm1hdApAQCAtMzgsNyArMzgsNyBAQAogICogQGNzdGF0OiBzdWJjaGFubmVsIHN0YXR1cwogICogQGNvdW50OiByZXNpZHVhbCBjb3VudAogICovCi1zdHJ1Y3Qgc2NzdyB7CitzdHJ1Y3QgY21kX3Njc3cgewogCV9fdTMyIGtleSAgOiA0OwogCV9fdTMyIHNjdGwgOiAxOwogCV9fdTMyIGVzd2YgOiAxOwpAQCAtNjEsNiArNjEsMTE0IEBACiAJX191MzIgY291bnQgOiAxNjsKIH0gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpOwogCisvKioKKyAqIHN0cnVjdCB0bV9zY3N3IC0gdHJhbnNwb3J0LW1vZGUgc3ViY2hhbm5lbCBzdGF0dXMgd29yZAorICogQGtleTogc3ViY2hhbm5lbCBrZXkKKyAqIEBlc3dmOiBlc3cgZm9ybWF0CisgKiBAY2M6IGRlZmVycmVkIGNvbmRpdGlvbiBjb2RlCisgKiBAZm10OiBmb3JtYXQKKyAqIEB4OiBJUkItZm9ybWF0IGNvbnRyb2wKKyAqIEBxOiBpbnRlcnJvZ2F0ZS1jb21wbGV0ZQorICogQGVjdGw6IGV4dGVuZGVkIGNvbnRyb2wKKyAqIEBwbm86IHBhdGggbm90IG9wZXJhdGlvbmFsCisgKiBAZmN0bDogZnVuY3Rpb24gY29udHJvbAorICogQGFjdGw6IGFjdGl2aXR5IGNvbnRyb2wKKyAqIEBzdGN0bDogc3RhdHVzIGNvbnRyb2wKKyAqIEB0Y3c6IFRDVyBhZGRyZXNzCisgKiBAZHN0YXQ6IGRldmljZSBzdGF0dXMKKyAqIEBjc3RhdDogc3ViY2hhbm5lbCBzdGF0dXMKKyAqIEBmY3hzOiBGQ1ggc3RhdHVzCisgKiBAc2NoeHM6IHN1YmNoYW5uZWwtZXh0ZW5kZWQgc3RhdHVzCisgKi8KK3N0cnVjdCB0bV9zY3N3IHsKKwl1MzIga2V5OjQ7CisJdTMyIDoxOworCXUzMiBlc3dmOjE7CisJdTMyIGNjOjI7CisJdTMyIGZtdDozOworCXUzMiB4OjE7CisJdTMyIHE6MTsKKwl1MzIgOjE7CisJdTMyIGVjdGw6MTsKKwl1MzIgcG5vOjE7CisJdTMyIDoxOworCXUzMiBmY3RsOjM7CisJdTMyIGFjdGw6NzsKKwl1MzIgc3RjdGw6NTsKKwl1MzIgdGN3OworCXUzMiBkc3RhdDo4OworCXUzMiBjc3RhdDo4OworCXUzMiBmY3hzOjg7CisJdTMyIHNjaHhzOjg7Cit9IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKTsKKworLyoqCisgKiB1bmlvbiBzY3N3IC0gc3ViY2hhbm5lbCBzdGF0dXMgd29yZAorICogQGNtZDogY29tbWFuZC1tb2RlIFNDU1cKKyAqIEB0bTogdHJhbnNwb3J0LW1vZGUgU0NTVworICovCit1bmlvbiBzY3N3IHsKKwlzdHJ1Y3QgY21kX3Njc3cgY21kOworCXN0cnVjdCB0bV9zY3N3IHRtOworfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSk7CisKK2ludCBzY3N3X2lzX3RtKHVuaW9uIHNjc3cgKnNjc3cpOwordTMyIHNjc3dfa2V5KHVuaW9uIHNjc3cgKnNjc3cpOwordTMyIHNjc3dfZXN3Zih1bmlvbiBzY3N3ICpzY3N3KTsKK3UzMiBzY3N3X2NjKHVuaW9uIHNjc3cgKnNjc3cpOwordTMyIHNjc3dfZWN0bCh1bmlvbiBzY3N3ICpzY3N3KTsKK3UzMiBzY3N3X3Bubyh1bmlvbiBzY3N3ICpzY3N3KTsKK3UzMiBzY3N3X2ZjdGwodW5pb24gc2NzdyAqc2Nzdyk7Cit1MzIgc2Nzd19hY3RsKHVuaW9uIHNjc3cgKnNjc3cpOwordTMyIHNjc3dfc3RjdGwodW5pb24gc2NzdyAqc2Nzdyk7Cit1MzIgc2Nzd19kc3RhdCh1bmlvbiBzY3N3ICpzY3N3KTsKK3UzMiBzY3N3X2NzdGF0KHVuaW9uIHNjc3cgKnNjc3cpOworaW50IHNjc3dfaXNfc29saWNpdGVkKHVuaW9uIHNjc3cgKnNjc3cpOworaW50IHNjc3dfaXNfdmFsaWRfa2V5KHVuaW9uIHNjc3cgKnNjc3cpOworaW50IHNjc3dfaXNfdmFsaWRfZXN3Zih1bmlvbiBzY3N3ICpzY3N3KTsKK2ludCBzY3N3X2lzX3ZhbGlkX2NjKHVuaW9uIHNjc3cgKnNjc3cpOworaW50IHNjc3dfaXNfdmFsaWRfZWN0bCh1bmlvbiBzY3N3ICpzY3N3KTsKK2ludCBzY3N3X2lzX3ZhbGlkX3Bubyh1bmlvbiBzY3N3ICpzY3N3KTsKK2ludCBzY3N3X2lzX3ZhbGlkX2ZjdGwodW5pb24gc2NzdyAqc2Nzdyk7CitpbnQgc2Nzd19pc192YWxpZF9hY3RsKHVuaW9uIHNjc3cgKnNjc3cpOworaW50IHNjc3dfaXNfdmFsaWRfc3RjdGwodW5pb24gc2NzdyAqc2Nzdyk7CitpbnQgc2Nzd19pc192YWxpZF9kc3RhdCh1bmlvbiBzY3N3ICpzY3N3KTsKK2ludCBzY3N3X2lzX3ZhbGlkX2NzdGF0KHVuaW9uIHNjc3cgKnNjc3cpOworaW50IHNjc3dfY21kX2lzX3ZhbGlkX2tleSh1bmlvbiBzY3N3ICpzY3N3KTsKK2ludCBzY3N3X2NtZF9pc192YWxpZF9zY3RsKHVuaW9uIHNjc3cgKnNjc3cpOworaW50IHNjc3dfY21kX2lzX3ZhbGlkX2Vzd2YodW5pb24gc2NzdyAqc2Nzdyk7CitpbnQgc2Nzd19jbWRfaXNfdmFsaWRfY2ModW5pb24gc2NzdyAqc2Nzdyk7CitpbnQgc2Nzd19jbWRfaXNfdmFsaWRfZm10KHVuaW9uIHNjc3cgKnNjc3cpOworaW50IHNjc3dfY21kX2lzX3ZhbGlkX3BmY2godW5pb24gc2NzdyAqc2Nzdyk7CitpbnQgc2Nzd19jbWRfaXNfdmFsaWRfaXNpYyh1bmlvbiBzY3N3ICpzY3N3KTsKK2ludCBzY3N3X2NtZF9pc192YWxpZF9hbGNjKHVuaW9uIHNjc3cgKnNjc3cpOworaW50IHNjc3dfY21kX2lzX3ZhbGlkX3NzaSh1bmlvbiBzY3N3ICpzY3N3KTsKK2ludCBzY3N3X2NtZF9pc192YWxpZF96Y2ModW5pb24gc2NzdyAqc2Nzdyk7CitpbnQgc2Nzd19jbWRfaXNfdmFsaWRfZWN0bCh1bmlvbiBzY3N3ICpzY3N3KTsKK2ludCBzY3N3X2NtZF9pc192YWxpZF9wbm8odW5pb24gc2NzdyAqc2Nzdyk7CitpbnQgc2Nzd19jbWRfaXNfdmFsaWRfZmN0bCh1bmlvbiBzY3N3ICpzY3N3KTsKK2ludCBzY3N3X2NtZF9pc192YWxpZF9hY3RsKHVuaW9uIHNjc3cgKnNjc3cpOworaW50IHNjc3dfY21kX2lzX3ZhbGlkX3N0Y3RsKHVuaW9uIHNjc3cgKnNjc3cpOworaW50IHNjc3dfY21kX2lzX3ZhbGlkX2RzdGF0KHVuaW9uIHNjc3cgKnNjc3cpOworaW50IHNjc3dfY21kX2lzX3ZhbGlkX2NzdGF0KHVuaW9uIHNjc3cgKnNjc3cpOworaW50IHNjc3dfY21kX2lzX3NvbGljaXRlZCh1bmlvbiBzY3N3ICpzY3N3KTsKK2ludCBzY3N3X3RtX2lzX3ZhbGlkX2tleSh1bmlvbiBzY3N3ICpzY3N3KTsKK2ludCBzY3N3X3RtX2lzX3ZhbGlkX2Vzd2YodW5pb24gc2NzdyAqc2Nzdyk7CitpbnQgc2Nzd190bV9pc192YWxpZF9jYyh1bmlvbiBzY3N3ICpzY3N3KTsKK2ludCBzY3N3X3RtX2lzX3ZhbGlkX2ZtdCh1bmlvbiBzY3N3ICpzY3N3KTsKK2ludCBzY3N3X3RtX2lzX3ZhbGlkX3godW5pb24gc2NzdyAqc2Nzdyk7CitpbnQgc2Nzd190bV9pc192YWxpZF9xKHVuaW9uIHNjc3cgKnNjc3cpOworaW50IHNjc3dfdG1faXNfdmFsaWRfZWN0bCh1bmlvbiBzY3N3ICpzY3N3KTsKK2ludCBzY3N3X3RtX2lzX3ZhbGlkX3Bubyh1bmlvbiBzY3N3ICpzY3N3KTsKK2ludCBzY3N3X3RtX2lzX3ZhbGlkX2ZjdGwodW5pb24gc2NzdyAqc2Nzdyk7CitpbnQgc2Nzd190bV9pc192YWxpZF9hY3RsKHVuaW9uIHNjc3cgKnNjc3cpOworaW50IHNjc3dfdG1faXNfdmFsaWRfc3RjdGwodW5pb24gc2NzdyAqc2Nzdyk7CitpbnQgc2Nzd190bV9pc192YWxpZF9kc3RhdCh1bmlvbiBzY3N3ICpzY3N3KTsKK2ludCBzY3N3X3RtX2lzX3ZhbGlkX2NzdGF0KHVuaW9uIHNjc3cgKnNjc3cpOworaW50IHNjc3dfdG1faXNfdmFsaWRfZmN4cyh1bmlvbiBzY3N3ICpzY3N3KTsKK2ludCBzY3N3X3RtX2lzX3ZhbGlkX3NjaHhzKHVuaW9uIHNjc3cgKnNjc3cpOworaW50IHNjc3dfdG1faXNfc29saWNpdGVkKHVuaW9uIHNjc3cgKnNjc3cpOworCiAjZGVmaW5lIFNDU1dfRkNUTF9DTEVBUl9GVU5DCSAweDEKICNkZWZpbmUgU0NTV19GQ1RMX0hBTFRfRlVOQwkgMHgyCiAjZGVmaW5lIFNDU1dfRkNUTF9TVEFSVF9GVU5DCSAweDQKQEAgLTMwMyw3ICs0MTEsNyBAQAogICogaWYgYXBwbGljYWJsZSkuCiAgKi8KIHN0cnVjdCBpcmIgewotCXN0cnVjdCBzY3N3IHNjc3c7CisJdW5pb24gc2NzdyBzY3N3OwogCXVuaW9uIHsKIAkJc3RydWN0IGVzdzAgZXN3MDsKIAkJc3RydWN0IGVzdzEgZXN3MTsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXMzOTAvZWxmLmggYi9pbmNsdWRlL2FzbS1zMzkwL2VsZi5oCmluZGV4IGIzYWMyNjIuLjNjYWQ1NjkgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXMzOTAvZWxmLmgKKysrIGIvaW5jbHVkZS9hc20tczM5MC9lbGYuaApAQCAtMTEzLDYgKzExMyw5IEBACiB0eXBlZGVmIHMzOTBfZnBfcmVncyBlbGZfZnByZWdzZXRfdDsKIHR5cGVkZWYgczM5MF9yZWdzIGVsZl9ncmVnc2V0X3Q7CiAKK3R5cGVkZWYgczM5MF9mcF9yZWdzIGNvbXBhdF9lbGZfZnByZWdzZXRfdDsKK3R5cGVkZWYgczM5MF9jb21wYXRfcmVncyBjb21wYXRfZWxmX2dyZWdzZXRfdDsKKwogI2luY2x1ZGUgPGxpbnV4L3NjaGVkLmg+CS8qIGZvciB0YXNrX3N0cnVjdCAqLwogI2luY2x1ZGUgPGFzbS9zeXN0ZW0uaD4JCS8qIGZvciBzYXZlX2FjY2Vzc19yZWdzICovCiAjaW5jbHVkZSA8YXNtL21tdV9jb250ZXh0Lmg+CkBAIC0xMjMsNiArMTI2LDEwIEBACiAjZGVmaW5lIGVsZl9jaGVja19hcmNoKHgpIFwKIAkoKCh4KS0+ZV9tYWNoaW5lID09IEVNX1MzOTAgfHwgKHgpLT5lX21hY2hpbmUgPT0gRU1fUzM5MF9PTEQpIFwKICAgICAgICAgICYmICh4KS0+ZV9pZGVudFtFSV9DTEFTU10gPT0gRUxGX0NMQVNTKSAKKyNkZWZpbmUgY29tcGF0X2VsZl9jaGVja19hcmNoKHgpIFwKKwkoKCh4KS0+ZV9tYWNoaW5lID09IEVNX1MzOTAgfHwgKHgpLT5lX21hY2hpbmUgPT0gRU1fUzM5MF9PTEQpIFwKKwkgJiYgKHgpLT5lX2lkZW50W0VJX0NMQVNTXSA9PSBFTEZfQ0xBU1MpCisjZGVmaW5lIGNvbXBhdF9zdGFydF90aHJlYWQJc3RhcnRfdGhyZWFkMzEKIAogLyogRm9yIFNWUjQvUzM5MCB0aGUgZnVuY3Rpb24gcG9pbnRlciB0byBiZSByZWdpc3RlcmVkIHdpdGggYGF0ZXhpdGAgaXMKICAgIHBhc3NlZCBpbiBSMTQuICovCkBAIC0xMzEsNiArMTM4LDcgQEAKIAkJX3ItPmdwcnNbMTRdID0gMDsgXAogCX0gd2hpbGUgKDApCiAKKyNkZWZpbmUgQ09SRV9EVU1QX1VTRV9SRUdTRVQKICNkZWZpbmUgVVNFX0VMRl9DT1JFX0RVTVAKICNkZWZpbmUgRUxGX0VYRUNfUEFHRVNJWkUJNDA5NgogCkBAIC0xNDAsNDQgKzE0OCw2IEBACiAgICB0aGF0IGl0IHdpbGwgImV4ZWMiLCBhbmQgdGhhdCB0aGVyZSBpcyBzdWZmaWNpZW50IHJvb20gZm9yIHRoZSBicmsuICAqLwogI2RlZmluZSBFTEZfRVRfRFlOX0JBU0UJCShTVEFDS19UT1AgLyAzICogMikKIAotLyogV293LCB0aGUgIm1haW4iIGFyY2ggbmVlZHMgYXJjaCBkZXBlbmRlbnQgZnVuY3Rpb25zIHRvby4uIDopICovCi0KLS8qIHJlZ3MgaXMgc3RydWN0IHB0X3JlZ3MsIHByX3JlZyBpcyBlbGZfZ3JlZ3NldF90ICh3aGljaCBpcwotICAgbm93IHN0cnVjdF91c2VyX3JlZ3MsIHRoZXkgYXJlIGRpZmZlcmVudCkgKi8KLQotc3RhdGljIGlubGluZSBpbnQgZHVtcF9yZWdzKHN0cnVjdCBwdF9yZWdzICpwdHJlZ3MsIGVsZl9ncmVnc2V0X3QgKnJlZ3MpCi17Ci0JbWVtY3B5KCZyZWdzLT5wc3csICZwdHJlZ3MtPnBzdywgc2l6ZW9mKHJlZ3MtPnBzdykrc2l6ZW9mKHJlZ3MtPmdwcnMpKTsKLQlzYXZlX2FjY2Vzc19yZWdzKHJlZ3MtPmFjcnMpOwotCXJlZ3MtPm9yaWdfZ3ByMiA9IHB0cmVncy0+b3JpZ19ncHIyOwotCXJldHVybiAxOwotfQotCi0jZGVmaW5lIEVMRl9DT1JFX0NPUFlfUkVHUyhwcl9yZWcsIHJlZ3MpIGR1bXBfcmVncyhyZWdzLCAmcHJfcmVnKTsKLQotc3RhdGljIGlubGluZSBpbnQgZHVtcF90YXNrX3JlZ3Moc3RydWN0IHRhc2tfc3RydWN0ICp0c2ssIGVsZl9ncmVnc2V0X3QgKnJlZ3MpCi17Ci0Jc3RydWN0IHB0X3JlZ3MgKnB0cmVncyA9IHRhc2tfcHRfcmVncyh0c2spOwotCW1lbWNweSgmcmVncy0+cHN3LCAmcHRyZWdzLT5wc3csIHNpemVvZihyZWdzLT5wc3cpK3NpemVvZihyZWdzLT5ncHJzKSk7Ci0JbWVtY3B5KHJlZ3MtPmFjcnMsIHRzay0+dGhyZWFkLmFjcnMsIHNpemVvZihyZWdzLT5hY3JzKSk7Ci0JcmVncy0+b3JpZ19ncHIyID0gcHRyZWdzLT5vcmlnX2dwcjI7Ci0JcmV0dXJuIDE7Ci19Ci0KLSNkZWZpbmUgRUxGX0NPUkVfQ09QWV9UQVNLX1JFR1ModHNrLCByZWdzKSBkdW1wX3Rhc2tfcmVncyh0c2ssIHJlZ3MpCi0KLXN0YXRpYyBpbmxpbmUgaW50IGR1bXBfdGFza19mcHUoc3RydWN0IHRhc2tfc3RydWN0ICp0c2ssIGVsZl9mcHJlZ3NldF90ICpmcHJlZ3MpCi17Ci0JaWYgKHRzayA9PSBjdXJyZW50KQotCQlzYXZlX2ZwX3JlZ3MoZnByZWdzKTsKLQllbHNlCi0JCW1lbWNweShmcHJlZ3MsICZ0c2stPnRocmVhZC5mcF9yZWdzLCBzaXplb2YoZWxmX2ZwcmVnc2V0X3QpKTsKLQlyZXR1cm4gMTsKLX0KLQotI2RlZmluZSBFTEZfQ09SRV9DT1BZX0ZQUkVHUyh0c2ssIGZwcmVncykgZHVtcF90YXNrX2ZwdSh0c2ssIGZwcmVncykKLQotCiAvKiBUaGlzIHlpZWxkcyBhIG1hc2sgdGhhdCB1c2VyIHByb2dyYW1zIGNhbiB1c2UgdG8gZmlndXJlIG91dCB3aGF0CiAgICBpbnN0cnVjdGlvbiBzZXQgdGhpcyBDUFUgc3VwcG9ydHMuICovCiAKQEAgLTIwNCw3ICsxNzQsMTAgQEAKIAkJc2V0X3BlcnNvbmFsaXR5KFBFUl9TVlI0KTsJCVwKIAllbHNlIGlmIChjdXJyZW50LT5wZXJzb25hbGl0eSAhPSBQRVJfTElOVVgzMikJXAogCQlzZXRfcGVyc29uYWxpdHkoUEVSX0xJTlVYKTsJCVwKLQljbGVhcl90aHJlYWRfZmxhZyhUSUZfMzFCSVQpOwkJCVwKKwlpZiAoKGV4KS5lX2lkZW50W0VJX0NMQVNTXSA9PSBFTEZDTEFTUzMyKQlcCisJCXNldF90aHJlYWRfZmxhZyhUSUZfMzFCSVQpOwkJXAorCWVsc2UJCQkJCQlcCisJCWNsZWFyX3RocmVhZF9mbGFnKFRJRl8zMUJJVCk7CQlcCiB9IHdoaWxlICgwKQogI2VuZGlmIC8qIF9fczM5MHhfXyAqLwogCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1zMzkwL2V0ci5oIGIvaW5jbHVkZS9hc20tczM5MC9ldHIuaAppbmRleCBiNDk4ZjE5Li44MGVmNThjIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1zMzkwL2V0ci5oCisrKyBiL2luY2x1ZGUvYXNtLXMzOTAvZXRyLmgKQEAgLTEyMiw3ICsxMjIsNyBAQAogfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkLGFsaWduZWQoOCkpKTsKIAogLyogRVRSIGludGVycnVwdGlvbiBwYXJhbWV0ZXIgKi8KLXN0cnVjdCBldHJfaW50ZXJydXB0aW9uX3BhcmFtZXRlciB7CitzdHJ1Y3QgZXRyX2lycV9wYXJtIHsKIAl1bnNpZ25lZCBpbnQgX3BhZDAJOiA4OwogCXVuc2lnbmVkIGludCBwYzAJOiAxOwkvKiBwb3J0IDAgc3RhdGUgY2hhbmdlICovCiAJdW5zaWduZWQgaW50IHBjMQk6IDE7CS8qIHBvcnQgMSBzdGF0ZSBjaGFuZ2UgKi8KQEAgLTIxMyw3ICsyMTMsNDYgQEAKICNkZWZpbmUgRVRSX1BURkZfU0dTCTB4NDMJLyogc2V0IGdyb3NzIHN0ZWVyaW5nIHJhdGUgKi8KIAogLyogRnVuY3Rpb25zIG5lZWRlZCBieSB0aGUgbWFjaGluZSBjaGVjayBoYW5kbGVyICovCi1leHRlcm4gdm9pZCBldHJfc3dpdGNoX3RvX2xvY2FsKHZvaWQpOwotZXh0ZXJuIHZvaWQgZXRyX3N5bmNfY2hlY2sodm9pZCk7Cit2b2lkIGV0cl9zd2l0Y2hfdG9fbG9jYWwodm9pZCk7Cit2b2lkIGV0cl9zeW5jX2NoZWNrKHZvaWQpOworCisvKiBTVFAgaW50ZXJydXB0aW9uIHBhcmFtZXRlciAqLworc3RydWN0IHN0cF9pcnFfcGFybSB7CisJdW5zaWduZWQgaW50IF9wYWQwCTogMTQ7CisJdW5zaWduZWQgaW50IHRzYwk6IDE7CS8qIFRpbWluZyBzdGF0dXMgY2hhbmdlICovCisJdW5zaWduZWQgaW50IGxhYwk6IDE7CS8qIExpbmsgYXZhaWxhYmlsaXR5IGNoYW5nZSAqLworCXVuc2lnbmVkIGludCB0Y3BjCTogMTsJLyogVGltZSBjb250cm9sIHBhcmFtZXRlciBjaGFuZ2UgKi8KKwl1bnNpZ25lZCBpbnQgX3BhZDIJOiAxNTsKK30gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpOworCisjZGVmaW5lIFNUUF9PUF9TWU5DCTEKKyNkZWZpbmUgU1RQX09QX0NUUkwJMworCitzdHJ1Y3Qgc3RwX3NzdHBpIHsKKwl1bnNpZ25lZCBpbnQgcnN2ZDA7CisJdW5zaWduZWQgaW50IHJzdmQxIDogODsKKwl1bnNpZ25lZCBpbnQgc3RyYXR1bSA6IDg7CisJdW5zaWduZWQgaW50IHZiaXRzIDogMTY7CisJdW5zaWduZWQgaW50IGxlYXBzIDogMTY7CisJdW5zaWduZWQgaW50IHRtZCA6IDQ7CisJdW5zaWduZWQgaW50IGN0biA6IDQ7CisJdW5zaWduZWQgaW50IHJzdmQyIDogMzsKKwl1bnNpZ25lZCBpbnQgYyA6IDE7CisJdW5zaWduZWQgaW50IHRzdCA6IDQ7CisJdW5zaWduZWQgaW50IHR6byA6IDE2OworCXVuc2lnbmVkIGludCBkc3RvIDogMTY7CisJdW5zaWduZWQgaW50IGN0cmwgOiAxNjsKKwl1bnNpZ25lZCBpbnQgcnN2ZDMgOiAxNjsKKwl1bnNpZ25lZCBpbnQgdHRvOworCXVuc2lnbmVkIGludCByc3ZkNDsKKwl1bnNpZ25lZCBpbnQgY3RuaWRbM107CisJdW5zaWduZWQgaW50IHJzdmQ1OworCXVuc2lnbmVkIGludCB0b2RvZmZbNF07CisJdW5zaWduZWQgaW50IHJzdmQ2WzQ4XTsKK30gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpOworCisvKiBGdW5jdGlvbnMgbmVlZGVkIGJ5IHRoZSBtYWNoaW5lIGNoZWNrIGhhbmRsZXIgKi8KK3ZvaWQgc3RwX3N5bmNfY2hlY2sodm9pZCk7Cit2b2lkIHN0cF9pc2xhbmRfY2hlY2sodm9pZCk7CiAKICNlbmRpZiAvKiBfX1MzOTBfRVRSX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXMzOTAvZmN4LmggYi9pbmNsdWRlL2FzbS1zMzkwL2ZjeC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhiZTFmM2EKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1zMzkwL2ZjeC5oCkBAIC0wLDAgKzEsMzExIEBACisvKgorICogIEZ1bmN0aW9ucyBmb3IgYXNzZW1ibGluZyBmY3ggZW5hYmxlZCBJL08gY29udHJvbCBibG9ja3MuCisgKgorICogICAgQ29weXJpZ2h0IElCTSBDb3JwLiAyMDA4CisgKiAgICBBdXRob3Iocyk6IFBldGVyIE9iZXJwYXJsZWl0ZXIgPHBldGVyLm9iZXJwYXJsZWl0ZXJAZGUuaWJtLmNvbT4KKyAqLworCisjaWZuZGVmIF9BU01fUzM5MF9GQ1hfSAorI2RlZmluZSBfQVNNX1MzOTBfRkNYX0ggX0FTTV9TMzkwX0ZDWF9ICisKKyNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgorCisjZGVmaW5lIFRDV19GT1JNQVRfREVGQVVMVAkJMAorI2RlZmluZSBUQ1dfVElEQVdfRk9STUFUX0RFRkFVTFQJMAorI2RlZmluZSBUQ1dfRkxBR1NfSU5QVVRfVElEQQkJMSA8PCAoMjMgLSA1KQorI2RlZmluZSBUQ1dfRkxBR1NfVENDQl9USURBCQkxIDw8ICgyMyAtIDYpCisjZGVmaW5lIFRDV19GTEFHU19PVVRQVVRfVElEQQkJMSA8PCAoMjMgLSA3KQorI2RlZmluZSBUQ1dfRkxBR1NfVElEQVdfRk9STUFUKHgpCSgoeCkgJiAzKSA8PCAoMjMgLSA5KQorI2RlZmluZSBUQ1dfRkxBR1NfR0VUX1RJREFXX0ZPUk1BVCh4KQkoKCh4KSA+PiAoMjMgLSA5KSkgJiAzKQorCisvKioKKyAqIHN0cnVjdCB0Y3cgLSBUcmFuc3BvcnQgQ29udHJvbCBXb3JkIChUQ1cpCisgKiBAZm9ybWF0OiBUQ1cgZm9ybWF0CisgKiBAZmxhZ3M6IFRDVyBmbGFncworICogQHRjY2JsOiBUcmFuc3BvcnQtQ29tbWFuZC1Db250cm9sLUJsb2NrIExlbmd0aAorICogQHI6IFJlYWQgT3BlcmF0aW9ucworICogQHc6IFdyaXRlIE9wZXJhdGlvbnMKKyAqIEBvdXRwdXQ6IE91dHB1dC1EYXRhIEFkZHJlc3MKKyAqIEBpbnB1dDogSW5wdXQtRGF0YSBBZGRyZXNzCisgKiBAdHNiOiBUcmFuc3BvcnQtU3RhdHVzLUJsb2NrIEFkZHJlc3MKKyAqIEB0Y2NiOiBUcmFuc3BvcnQtQ29tbWFuZC1Db250cm9sLUJsb2NrIEFkZHJlc3MKKyAqIEBvdXRwdXRfY291bnQ6IE91dHB1dCBDb3VudAorICogQGlucHV0X2NvdW50OiBJbnB1dCBDb3VudAorICogQGludHJnOiBJbnRlcnJvZ2F0ZSBUQ1cgQWRkcmVzcworICovCitzdHJ1Y3QgdGN3IHsKKwl1MzIgZm9ybWF0OjI7CisJdTMyIDo2OworCXUzMiBmbGFnczoyNDsKKwl1MzIgOjg7CisJdTMyIHRjY2JsOjY7CisJdTMyIHI6MTsKKwl1MzIgdzoxOworCXUzMiA6MTY7CisJdTY0IG91dHB1dDsKKwl1NjQgaW5wdXQ7CisJdTY0IHRzYjsKKwl1NjQgdGNjYjsKKwl1MzIgb3V0cHV0X2NvdW50OworCXUzMiBpbnB1dF9jb3VudDsKKwl1MzIgOjMyOworCXUzMiA6MzI7CisJdTMyIDozMjsKKwl1MzIgaW50cmc7Cit9IF9fYXR0cmlidXRlX18gKChwYWNrZWQsIGFsaWduZWQoNjQpKSk7CisKKyNkZWZpbmUgVElEQVdfRkxBR1NfTEFTVAkJMSA8PCAoNyAtIDApCisjZGVmaW5lIFRJREFXX0ZMQUdTX1NLSVAJCTEgPDwgKDcgLSAxKQorI2RlZmluZSBUSURBV19GTEFHU19EQVRBX0lOVAkJMSA8PCAoNyAtIDIpCisjZGVmaW5lIFRJREFXX0ZMQUdTX1RUSUMJCTEgPDwgKDcgLSAzKQorI2RlZmluZSBUSURBV19GTEFHU19JTlNFUlRfQ0JDCQkxIDw8ICg3IC0gNCkKKworLyoqCisgKiBzdHJ1Y3QgdGlkYXcgLSBUcmFuc3BvcnQtSW5kaXJlY3QtQWRkcmVzc2luZyBXb3JkIChUSURBVykKKyAqIEBmbGFnczogVElEQVcgZmxhZ3MuIENhbiBiZSBhbiBhcml0aG1ldGljIE9SIG9mIHRoZSBmb2xsb3dpbmcgY29uc3RhbnRzOgorICogJVRJREFXX0ZMQUdTX0xBU1QsICVUSURBV19GTEFHU19TS0lQLCAlVElEQVdfRkxBR1NfREFUQV9JTlQsCisgKiAlVElEQVdfRkxBR1NfVFRJQywgJVRJREFXX0ZMQUdTX0lOU0VSVF9DQkMKKyAqIEBjb3VudDogQ291bnQKKyAqIEBhZGRyOiBBZGRyZXNzCisgKi8KK3N0cnVjdCB0aWRhdyB7CisJdTMyIGZsYWdzOjg7CisJdTMyIDoyNDsKKwl1MzIgY291bnQ7CisJdTY0IGFkZHI7Cit9IF9fYXR0cmlidXRlX18gKChwYWNrZWQsIGFsaWduZWQoMTYpKSk7CisKKy8qKgorICogc3RydWN0IHRzYV9pb3N0YXQgLSBJL08tU3RhdHVzIFRyYW5zcG9ydC1TdGF0dXMgQXJlYSAoSU8tU3RhdCBUU0EpCisgKiBAZGV2X3RpbWU6IERldmljZSBUaW1lCisgKiBAZGVmX3RpbWU6IERlZmVyIFRpbWUKKyAqIEBxdWV1ZV90aW1lOiBRdWV1ZSBUaW1lCisgKiBAZGV2X2J1c3lfdGltZTogRGV2aWNlLUJ1c3kgVGltZQorICogQGRldl9hY3RfdGltZTogRGV2aWNlLUFjdGl2ZS1Pbmx5IFRpbWUKKyAqIEBzZW5zZTogU2Vuc2UgRGF0YSAoaWYgcHJlc2VudCkKKyAqLworc3RydWN0IHRzYV9pb3N0YXQgeworCXUzMiBkZXZfdGltZTsKKwl1MzIgZGVmX3RpbWU7CisJdTMyIHF1ZXVlX3RpbWU7CisJdTMyIGRldl9idXN5X3RpbWU7CisJdTMyIGRldl9hY3RfdGltZTsKKwl1OCBzZW5zZVszMl07Cit9IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKTsKKworLyoqCisgKiBzdHJ1Y3QgdHNhX2RkcGNzIC0gRGV2aWNlLURldGVjdGVkLVByb2dyYW0tQ2hlY2sgVHJhbnNwb3J0LVN0YXR1cyBBcmVhIChERFBDIFRTQSkKKyAqIEByYzogUmVhc29uIENvZGUKKyAqIEByY3E6IFJlYXNvbiBDb2RlIFF1YWxpZmllcgorICogQHNlbnNlOiBTZW5zZSBEYXRhIChpZiBwcmVzZW50KQorICovCitzdHJ1Y3QgdHNhX2RkcGMgeworCXUzMiA6MjQ7CisJdTMyIHJjOjg7CisJdTggcmNxWzE2XTsKKwl1OCBzZW5zZVszMl07Cit9IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKTsKKworI2RlZmluZSBUU0FfSU5UUkdfRkxBR1NfQ1VfU1RBVEVfVkFMSUQJCTEgPDwgKDcgLSAwKQorI2RlZmluZSBUU0FfSU5UUkdfRkxBR1NfREVWX1NUQVRFX1ZBTElECQkxIDw8ICg3IC0gMSkKKyNkZWZpbmUgVFNBX0lOVFJHX0ZMQUdTX09QX1NUQVRFX1ZBTElECQkxIDw8ICg3IC0gMikKKworLyoqCisgKiBzdHJ1Y3QgdHNhX2ludHJnIC0gSW50ZXJyb2dhdGUgVHJhbnNwb3J0LVN0YXR1cyBBcmVhIChJbnRyZy4gVFNBKQorICogQGZvcm1hdDogRm9ybWF0CisgKiBAZmxhZ3M6IEZsYWdzLiBDYW4gYmUgYW4gYXJpdGhtZXRpYyBPUiBvZiB0aGUgZm9sbG93aW5nIGNvbnN0YW50czoKKyAqICVUU0FfSU5UUkdfRkxBR1NfQ1VfU1RBVEVfVkFMSUQsICVUU0FfSU5UUkdfRkxBR1NfREVWX1NUQVRFX1ZBTElELAorICogJVRTQV9JTlRSR19GTEFHU19PUF9TVEFURV9WQUxJRAorICogQGN1X3N0YXRlOiBDb250cm9sZS1Vbml0IFN0YXRlCisgKiBAZGV2X3N0YXRlOiBEZXZpY2UgU3RhdGUKKyAqIEBvcF9zdGF0ZTogT3BlcmF0aW9uIFN0YXRlCisgKiBAc2RfaW5mbzogU3RhdGUtRGVwZW5kZW50IEluZm9ybWF0aW9uCisgKiBAZGxfaWQ6IERldmljZS1MZXZlbCBJZGVudGlmaWVyCisgKiBAZGRfZGF0YTogRGV2aWNlLURlcGVuZGVudCBEYXRhCisgKi8KK3N0cnVjdCB0c2FfaW50cmcgeworCXUzMiBmb3JtYXQ6ODsKKwl1MzIgZmxhZ3M6ODsKKwl1MzIgY3Vfc3RhdGU6ODsKKwl1MzIgZGV2X3N0YXRlOjg7CisJdTMyIG9wX3N0YXRlOjg7CisJdTMyIDoyNDsKKwl1OCBzZF9pbmZvWzEyXTsKKwl1MzIgZGxfaWQ7CisJdTggZGRfZGF0YVsyOF07Cit9IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKTsKKworI2RlZmluZSBUU0JfRk9STUFUX05PTkUJCTAKKyNkZWZpbmUgVFNCX0ZPUk1BVF9JT1NUQVQJMQorI2RlZmluZSBUU0JfRk9STUFUX0REUEMJCTIKKyNkZWZpbmUgVFNCX0ZPUk1BVF9JTlRSRwkzCisKKyNkZWZpbmUgVFNCX0ZMQUdTX0RDV19PRkZTRVRfVkFMSUQJMSA8PCAoNyAtIDApCisjZGVmaW5lIFRTQl9GTEFHU19DT1VOVF9WQUxJRAkJMSA8PCAoNyAtIDEpCisjZGVmaW5lIFRTQl9GTEFHU19DQUNIRV9NSVNTCQkxIDw8ICg3IC0gMikKKyNkZWZpbmUgVFNCX0ZMQUdTX1RJTUVfVkFMSUQJCTEgPDwgKDcgLSAzKQorI2RlZmluZSBUU0JfRkxBR1NfRk9STUFUKHgpCQkoKHgpICYgNykKKyNkZWZpbmUgVFNCX0ZPUk1BVCh0KQkJCSgodCktPmZsYWdzICYgNykKKworLyoqCisgKiBzdHJ1Y3QgdHNiIC0gVHJhbnNwb3J0LVN0YXR1cyBCbG9jayAoVFNCKQorICogQGxlbmd0aDogTGVuZ3RoCisgKiBAZmxhZ3M6IEZsYWdzLiBDYW4gYmUgYW4gYXJpdGhtZXRpYyBPUiBvZiB0aGUgZm9sbG93aW5nIGNvbnN0YW50czoKKyAqICVUU0JfRkxBR1NfRENXX09GRlNFVF9WQUxJRCwgJVRTQl9GTEFHU19DT1VOVF9WQUxJRCwgJVRTQl9GTEFHU19DQUNIRV9NSVNTLAorICogJVRTQl9GTEFHU19USU1FX1ZBTElECisgKiBAZGN3X29mZnNldDogRENXIE9mZnNldAorICogQGNvdW50OiBDb3VudAorICogQHRzYTogVHJhbnNwb3J0LVN0YXR1cy1BcmVhCisgKi8KK3N0cnVjdCB0c2IgeworCXUzMiBsZW5ndGg6ODsKKwl1MzIgZmxhZ3M6ODsKKwl1MzIgZGN3X29mZnNldDoxNjsKKwl1MzIgY291bnQ7CisJdTMyIDozMjsKKwl1bmlvbiB7CisJCXN0cnVjdCB0c2FfaW9zdGF0IGlvc3RhdDsKKwkJc3RydWN0IHRzYV9kZHBjIGRkcGM7CisJCXN0cnVjdCB0c2FfaW50cmcgaW50cmc7CisJfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSkgdHNhOworfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkLCBhbGlnbmVkKDgpKSk7CisKKyNkZWZpbmUgRENXX0lOVFJHX0ZPUk1BVF9ERUZBVUxUCTAKKworI2RlZmluZSBEQ1dfSU5UUkdfUkNfVU5TUEVDSUZJRUQJMAorI2RlZmluZSBEQ1dfSU5UUkdfUkNfVElNRU9VVAkJMQorCisjZGVmaW5lIERDV19JTlRSR19SQ1FfVU5TUEVDSUZJRUQJMAorI2RlZmluZSBEQ1dfSU5UUkdfUkNRX1BSSU1BUlkJCTEKKyNkZWZpbmUgRENXX0lOVFJHX1JDUV9TRUNPTkRBUlkJCTIKKworI2RlZmluZSBEQ1dfSU5UUkdfRkxBR1NfTVBNCQkxIDwgKDcgLSAwKQorI2RlZmluZSBEQ1dfSU5UUkdfRkxBR1NfUFBSCQkxIDwgKDcgLSAxKQorI2RlZmluZSBEQ1dfSU5UUkdfRkxBR1NfQ1JJVAkJMSA8ICg3IC0gMikKKworLyoqCisgKiBzdHJ1Y3QgZGN3X2ludHJnX2RhdGEgLSBJbnRlcnJvZ2F0ZSBEQ1cgZGF0YQorICogQGZvcm1hdDogRm9ybWF0LiBTaG91bGQgYmUgJURDV19JTlRSR19GT1JNQVRfREVGQVVMVAorICogQHJjOiBSZWFzb24gQ29kZS4gQ2FuIGJlIG9uZSBvZiAlRENXX0lOVFJHX1JDX1VOU1BFQ0lGSUVELAorICogJURDV19JTlRSR19SQ19USU1FT1VUCisgKiBAcmNxOiBSZWFzb24gQ29kZSBRdWFsaWZpZXI6IENhbiBiZSBvbmUgb2YgJURDV19JTlRSR19SQ1FfVU5TUEVDSUZJRUQsCisgKiAlRENXX0lOVFJHX1JDUV9QUklNQVJZLCAlRENXX0lOVFJHX1JDUV9TRUNPTkRBUlkKKyAqIEBscG06IExvZ2ljYWwtUGF0aCBNYXNrCisgKiBAcGFtOiBQYXRoLUF2YWlsYWJsZSBNYXNrCisgKiBAcGltOiBQYXRoLUluc3RhbGxlZCBNYXNrCisgKiBAdGltZW91dDogVGltZW91dAorICogQGZsYWdzOiBGbGFncy4gQ2FuIGJlIGFuIGFyaXRobWV0aWMgT1Igb2YgJURDV19JTlRSR19GTEFHU19NUE0sCisgKiAlRENXX0lOVFJHX0ZMQUdTX1BQUiwgJURDV19JTlRSR19GTEFHU19DUklUCisgKiBAdGltZTogVGltZQorICogQHByb2dfaWQ6IFByb2dyYW0gSWRlbnRpZmllcgorICogQHByb2dfZGF0YTogUHJvZ3JhbS1EZXBlbmRlbnQgRGF0YQorICovCitzdHJ1Y3QgZGN3X2ludHJnX2RhdGEgeworCXUzMiBmb3JtYXQ6ODsKKwl1MzIgcmM6ODsKKwl1MzIgcmNxOjg7CisJdTMyIGxwbTo4OworCXUzMiBwYW06ODsKKwl1MzIgcGltOjg7CisJdTMyIHRpbWVvdXQ6MTY7CisJdTMyIGZsYWdzOjg7CisJdTMyIDoyNDsKKwl1MzIgOjMyOworCXU2NCB0aW1lOworCXU2NCBwcm9nX2lkOworCXU4ICBwcm9nX2RhdGFbMF07Cit9IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKTsKKworI2RlZmluZSBEQ1dfRkxBR1NfQ0MJCTEgPDwgKDcgLSAxKQorCisjZGVmaW5lIERDV19DTURfV1JJVEUJCTB4MDEKKyNkZWZpbmUgRENXX0NNRF9SRUFECQkweDAyCisjZGVmaW5lIERDV19DTURfQ09OVFJPTAkJMHgwMworI2RlZmluZSBEQ1dfQ01EX1NFTlNFCQkweDA0CisjZGVmaW5lIERDV19DTURfU0VOU0VfSUQJMHhlNAorI2RlZmluZSBEQ1dfQ01EX0lOVFJHCQkweDQwCisKKy8qKgorICogc3RydWN0IGRjdyAtIERldmljZS1Db21tYW5kIFdvcmQgKERDVykKKyAqIEBjbWQ6IENvbW1hbmQgQ29kZS4gQ2FuIGJlIG9uZSBvZiAlRENXX0NNRF9XUklURSwgJURDV19DTURfUkVBRCwKKyAqICVEQ1dfQ01EX0NPTlRST0wsICVEQ1dfQ01EX1NFTlNFLCAlRENXX0NNRF9TRU5TRV9JRCwgJURDV19DTURfSU5UUkcKKyAqIEBmbGFnczogRmxhZ3MuIENhbiBiZSBhbiBhcml0aG1ldGljIE9SIG9mICVEQ1dfRkxBR1NfQ0MKKyAqIEBjZF9jb3VudDogQ29udHJvbC1EYXRhIENvdW50CisgKiBAY291bnQ6IENvdW50CisgKiBAY2Q6IENvbnRyb2wgRGF0YQorICovCitzdHJ1Y3QgZGN3IHsKKwl1MzIgY21kOjg7CisJdTMyIGZsYWdzOjg7CisJdTMyIDo4OworCXUzMiBjZF9jb3VudDo4OworCXUzMiBjb3VudDsKKwl1OCBjZFswXTsKK30gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpOworCisjZGVmaW5lIFRDQ0JfRk9STUFUX0RFRkFVTFQJMHg3ZgorI2RlZmluZSBUQ0NCX01BWF9EQ1cJCTMwCisjZGVmaW5lIFRDQ0JfTUFYX1NJWkUJCShzaXplb2Yoc3RydWN0IHRjY2JfdGNhaCkgKyBcCisJCQkJIFRDQ0JfTUFYX0RDVyAqIHNpemVvZihzdHJ1Y3QgZGN3KSArIFwKKwkJCQkgc2l6ZW9mKHN0cnVjdCB0Y2NiX3RjYXQpKQorI2RlZmluZSBUQ0NCX1NBQ19ERUZBVUxUCTB4ZjkwMQorI2RlZmluZSBUQ0NCX1NBQ19JTlRSRwkJMHhmOTAyCisKKy8qKgorICogc3RydWN0IHRjY2JfdGNhaCAtIFRyYW5zcG9ydC1Db21tYW5kLUFyZWEgSGVhZGVyIChUQ0FIKQorICogQGZvcm1hdDogRm9ybWF0LiBTaG91bGQgYmUgJVRDQ0JfRk9STUFUX0RFRkFVTFQKKyAqIEB0Y2FsOiBUcmFuc3BvcnQtQ29tbWFuZC1BcmVhIExlbmd0aAorICogQHNhYzogU2VydmljZS1BY3Rpb24gQ29kZS4gQ2FuIGJlIG9uZSBvZiAlVENDQl9TQUNfREVGQVVMVCwgJVRDQ0JfU0FDX0lOVFJHCisgKiBAcHJpbzogUHJpb3JpdHkKKyAqLworc3RydWN0IHRjY2JfdGNhaCB7CisJdTMyIGZvcm1hdDo4OworCXUzMiA6MjQ7CisJdTMyIDoyNDsKKwl1MzIgdGNhbDo4OworCXUzMiBzYWM6MTY7CisJdTMyIDo4OworCXUzMiBwcmlvOjg7CisJdTMyIDozMjsKK30gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpOworCisvKioKKyAqIHN0cnVjdCB0Y2NiX3RjYXQgLSBUcmFuc3BvcnQtQ29tbWFuZC1BcmVhIFRyYWlsZXIgKFRDQVQpCisgKiBAY291bnQ6IFRyYW5zcG9ydCBDb3VudAorICovCitzdHJ1Y3QgdGNjYl90Y2F0IHsKKwl1MzIgOjMyOworCXUzMiBjb3VudDsKK30gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpOworCisvKioKKyAqIHN0cnVjdCB0Y2NiIC0gKHBhcnRpYWwpIFRyYW5zcG9ydC1Db21tYW5kLUNvbnRyb2wgQmxvY2sgKFRDQ0IpCisgKiBAdGNhaDogVENBSAorICogQHRjYTogVHJhbnNwb3J0LUNvbW1hbmQgQXJlYQorICovCitzdHJ1Y3QgdGNjYiB7CisJc3RydWN0IHRjY2JfdGNhaCB0Y2FoOworCXU4IHRjYVswXTsKK30gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCwgYWxpZ25lZCg4KSkpOworCitzdHJ1Y3QgdGN3ICp0Y3dfZ2V0X2ludHJnKHN0cnVjdCB0Y3cgKnRjdyk7Cit2b2lkICp0Y3dfZ2V0X2RhdGEoc3RydWN0IHRjdyAqdGN3KTsKK3N0cnVjdCB0Y2NiICp0Y3dfZ2V0X3RjY2Ioc3RydWN0IHRjdyAqdGN3KTsKK3N0cnVjdCB0c2IgKnRjd19nZXRfdHNiKHN0cnVjdCB0Y3cgKnRjdyk7CisKK3ZvaWQgdGN3X2luaXQoc3RydWN0IHRjdyAqdGN3LCBpbnQgciwgaW50IHcpOwordm9pZCB0Y3dfZmluYWxpemUoc3RydWN0IHRjdyAqdGN3LCBpbnQgbnVtX3RpZGF3cyk7CisKK3ZvaWQgdGN3X3NldF9pbnRyZyhzdHJ1Y3QgdGN3ICp0Y3csIHN0cnVjdCB0Y3cgKmludHJnX3Rjdyk7Cit2b2lkIHRjd19zZXRfZGF0YShzdHJ1Y3QgdGN3ICp0Y3csIHZvaWQgKmRhdGEsIGludCB1c2VfdGlkYWwpOwordm9pZCB0Y3dfc2V0X3RjY2Ioc3RydWN0IHRjdyAqdGN3LCBzdHJ1Y3QgdGNjYiAqdGNjYik7Cit2b2lkIHRjd19zZXRfdHNiKHN0cnVjdCB0Y3cgKnRjdywgc3RydWN0IHRzYiAqdHNiKTsKKwordm9pZCB0Y2NiX2luaXQoc3RydWN0IHRjY2IgKnRjY2IsIHNpemVfdCB0Y2NiX3NpemUsIHUzMiBzYWMpOwordm9pZCB0c2JfaW5pdChzdHJ1Y3QgdHNiICp0c2IpOworc3RydWN0IGRjdyAqdGNjYl9hZGRfZGN3KHN0cnVjdCB0Y2NiICp0Y2NiLCBzaXplX3QgdGNjYl9zaXplLCB1OCBjbWQsIHU4IGZsYWdzLAorCQkJIHZvaWQgKmNkLCB1OCBjZF9jb3VudCwgdTMyIGNvdW50KTsKK3N0cnVjdCB0aWRhdyAqdGN3X2FkZF90aWRhdyhzdHJ1Y3QgdGN3ICp0Y3csIGludCBudW1fdGlkYXdzLCB1OCBmbGFncywKKwkJCSAgICB2b2lkICphZGRyLCB1MzIgY291bnQpOworCisjZW5kaWYgLyogX0FTTV9TMzkwX0ZDWF9IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1zMzkwL2lwbC5oIGIvaW5jbHVkZS9hc20tczM5MC9pcGwuaAppbmRleCBjMWIyZTUwLi5lYWNhNmRmIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1zMzkwL2lwbC5oCisrKyBiL2luY2x1ZGUvYXNtLXMzOTAvaXBsLmgKQEAgLTU2LDE1ICs1NiwxOSBAQAogCXU4ICBzY3BfZGF0YVtdOwogfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKIAorI2RlZmluZSBESUFHMzA4X1ZNUEFSTV9TSVpFCTY0CisKIHN0cnVjdCBpcGxfYmxvY2tfY2N3IHsKLQl1OCAgbG9hZF9wYXJhbVs4XTsKKwl1OCAgbG9hZF9wYXJtWzhdOwogCXU4ICByZXNlcnZlZDFbODRdOwogCXU4ICByZXNlcnZlZDJbMl07CiAJdTE2IGRldm5vOwogCXU4ICB2bV9mbGFnczsKIAl1OCAgcmVzZXJ2ZWQzWzNdOwogCXUzMiB2bV9wYXJtX2xlbjsKLQl1OCAgcmVzZXJ2ZWQ0WzgwXTsKKwl1OCAgbnNzX25hbWVbOF07CisJdTggIHZtX3Bhcm1bRElBRzMwOF9WTVBBUk1fU0laRV07CisJdTggIHJlc2VydmVkNFs4XTsKIH0gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CiAKIHN0cnVjdCBpcGxfcGFyYW1ldGVyX2Jsb2NrIHsKQEAgLTczLDcgKzc3LDcgQEAKIAkJc3RydWN0IGlwbF9ibG9ja19mY3AgZmNwOwogCQlzdHJ1Y3QgaXBsX2Jsb2NrX2NjdyBjY3c7CiAJfSBpcGxfaW5mbzsKLX0gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7Cit9IF9fYXR0cmlidXRlX18oKHBhY2tlZCxhbGlnbmVkKDQwOTYpKSk7CiAKIC8qCiAgKiBJUEwgdmFsaWRpdHkgZmxhZ3MKQEAgLTg2LDYgKzkwLDggQEAKIGV4dGVybiB2b2lkIGRvX2hhbHQodm9pZCk7CiBleHRlcm4gdm9pZCBkb19wb2ZmKHZvaWQpOwogZXh0ZXJuIHZvaWQgaXBsX3NhdmVfcGFyYW1ldGVycyh2b2lkKTsKK2V4dGVybiB2b2lkIGlwbF91cGRhdGVfcGFyYW1ldGVycyh2b2lkKTsKK2V4dGVybiB2b2lkIGdldF9pcGxfdm1wYXJtKGNoYXIgKik7CiAKIGVudW0gewogCUlQTF9ERVZOT19WQUxJRAkJPSAxLApAQCAtMTQ3LDYgKzE1MywxMSBAQAogCURJQUczMDhfRkxBR1NfTFBfVkFMSUQJPSAweDgwLAogfTsKIAorZW51bSBkaWFnMzA4X3ZtX2ZsYWdzIHsKKwlESUFHMzA4X1ZNX0ZMQUdTX05TU19WQUxJRAk9IDB4ODAsCisJRElBRzMwOF9WTV9GTEFHU19WUF9WQUxJRAk9IDB4NDAsCit9OworCiBlbnVtIGRpYWczMDhfcmMgewogCURJQUczMDhfUkNfT0sJPSAxLAogfTsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXMzOTAvaXNjLmggYi9pbmNsdWRlL2FzbS1zMzkwL2lzYy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM0YmI4OTEKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1zMzkwL2lzYy5oCkBAIC0wLDAgKzEsMjUgQEAKKyNpZm5kZWYgX0FTTV9TMzkwX0lTQ19ICisjZGVmaW5lIF9BU01fUzM5MF9JU0NfSAorCisjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KKworLyoKKyAqIEkvTyBpbnRlcnJ1cHRpb24gc3ViY2xhc3NlcyB1c2VkIGJ5IGRyaXZlcnMuCisgKiBQbGVhc2UgYWRkIGFsbCB1c2VkIGlzY3MgaGVyZSBzbyB0aGF0IGl0IGlzIHBvc3NpYmxlIHRvIGRpc3RyaWJ1dGUKKyAqIGlzYyB1c2FnZSBiZXR3ZWVuIGRyaXZlcnMuCisgKiBSZW1pbmRlcjogMCBpcyBoaWdoZXN0IHByaW9yaXR5LCA3IGxvd2VzdC4KKyAqLworI2RlZmluZSBNQVhfSVNDIDcKKworLyogUmVndWxhciBJL08gaW50ZXJydXB0cy4gKi8KKyNkZWZpbmUgSU9fU0NIX0lTQyAzCQkJLyogcmVndWxhciBJL08gc3ViY2hhbm5lbHMgKi8KKyNkZWZpbmUgQ09OU09MRV9JU0MgMQkJCS8qIGNvbnNvbGUgSS9PIHN1YmNoYW5uZWwgKi8KKyNkZWZpbmUgQ0hTQ19TQ0hfSVNDIDcJCQkvKiBDSFNDIHN1YmNoYW5uZWxzICovCisvKiBBZGFwdGVyIGludGVycnVwdHMuICovCisjZGVmaW5lIFFESU9fQUlSUV9JU0MgSU9fU0NIX0lTQwkvKiBJL08gc3ViY2hhbm5lbCBpbiBxZGlvIG1vZGUgKi8KKworLyogRnVuY3Rpb25zIGZvciByZWdpc3RyYXRpb24gb2YgSS9PIGludGVycnVwdGlvbiBzdWJjbGFzc2VzICovCit2b2lkIGlzY19yZWdpc3Rlcih1bnNpZ25lZCBpbnQgaXNjKTsKK3ZvaWQgaXNjX3VucmVnaXN0ZXIodW5zaWduZWQgaW50IGlzYyk7CisKKyNlbmRpZiAvKiBfQVNNX1MzOTBfSVNDX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXMzOTAvaXRjdy5oIGIvaW5jbHVkZS9hc20tczM5MC9pdGN3LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTliYzVjMwotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLXMzOTAvaXRjdy5oCkBAIC0wLDAgKzEsMzAgQEAKKy8qCisgKiAgRnVuY3Rpb25zIGZvciBpbmNyZW1lbnRhbCBjb25zdHJ1Y3Rpb24gb2YgZmN4IGVuYWJsZWQgSS9PIGNvbnRyb2wgYmxvY2tzLgorICoKKyAqICAgIENvcHlyaWdodCBJQk0gQ29ycC4gMjAwOAorICogICAgQXV0aG9yKHMpOiBQZXRlciBPYmVycGFybGVpdGVyIDxwZXRlci5vYmVycGFybGVpdGVyQGRlLmlibS5jb20+CisgKi8KKworI2lmbmRlZiBfQVNNX1MzOTBfSVRDV19ICisjZGVmaW5lIF9BU01fUzM5MF9JVENXX0ggX0FTTV9TMzkwX0lUQ1dfSAorCisjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KKyNpbmNsdWRlIDxhc20vZmN4Lmg+CisKKyNkZWZpbmUgSVRDV19PUF9SRUFECTAKKyNkZWZpbmUgSVRDV19PUF9XUklURQkxCisKK3N0cnVjdCBpdGN3OworCitzdHJ1Y3QgdGN3ICppdGN3X2dldF90Y3coc3RydWN0IGl0Y3cgKml0Y3cpOworc2l6ZV90IGl0Y3dfY2FsY19zaXplKGludCBpbnRyZywgaW50IG1heF90aWRhd3MsIGludCBpbnRyZ19tYXhfdGlkYXdzKTsKK3N0cnVjdCBpdGN3ICppdGN3X2luaXQodm9pZCAqYnVmZmVyLCBzaXplX3Qgc2l6ZSwgaW50IG9wLCBpbnQgaW50cmcsCisJCSAgICAgICBpbnQgbWF4X3RpZGF3cywgaW50IGludHJnX21heF90aWRhd3MpOworc3RydWN0IGRjdyAqaXRjd19hZGRfZGN3KHN0cnVjdCBpdGN3ICppdGN3LCB1OCBjbWQsIHU4IGZsYWdzLCB2b2lkICpjZCwKKwkJCSB1OCBjZF9jb3VudCwgdTMyIGNvdW50KTsKK3N0cnVjdCB0aWRhdyAqaXRjd19hZGRfdGlkYXcoc3RydWN0IGl0Y3cgKml0Y3csIHU4IGZsYWdzLCB2b2lkICphZGRyLAorCQkJICAgICB1MzIgY291bnQpOwordm9pZCBpdGN3X3NldF9kYXRhKHN0cnVjdCBpdGN3ICppdGN3LCB2b2lkICphZGRyLCBpbnQgdXNlX3RpZGFsKTsKK3ZvaWQgaXRjd19maW5hbGl6ZShzdHJ1Y3QgaXRjdyAqaXRjdyk7CisKKyNlbmRpZiAvKiBfQVNNX1MzOTBfSVRDV19IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1zMzkwL3BndGFibGUuaCBiL2luY2x1ZGUvYXNtLXMzOTAvcGd0YWJsZS5oCmluZGV4IGJkMGVhMTkuLjBiZGI3MDQgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXMzOTAvcGd0YWJsZS5oCisrKyBiL2luY2x1ZGUvYXNtLXMzOTAvcGd0YWJsZS5oCkBAIC0yOSw2ICsyOSw3IEBACiAgKiB0aGUgUzM5MCBwYWdlIHRhYmxlIHRyZWUuCiAgKi8KICNpZm5kZWYgX19BU1NFTUJMWV9fCisjaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KICNpbmNsdWRlIDxsaW51eC9tbV90eXBlcy5oPgogI2luY2x1ZGUgPGFzbS9iaXRvcHMuaD4KICNpbmNsdWRlIDxhc20vYnVnLmg+CmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1zMzkwL3Byb2Nlc3Nvci5oIGIvaW5jbHVkZS9hc20tczM5MC9wcm9jZXNzb3IuaAppbmRleCBhMDBmNzlkLi40YWY4MGFmIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1zMzkwL3Byb2Nlc3Nvci5oCisrKyBiL2luY2x1ZGUvYXNtLXMzOTAvcHJvY2Vzc29yLmgKQEAgLTE0MywxMSArMTQzLDE5IEBACiAvKgogICogRG8gbmVjZXNzYXJ5IHNldHVwIHRvIHN0YXJ0IHVwIGEgbmV3IHRocmVhZC4KICAqLwotI2RlZmluZSBzdGFydF90aHJlYWQocmVncywgbmV3X3BzdywgbmV3X3N0YWNrcCkgZG8geyAgICAgICAgICAgIFwKKyNkZWZpbmUgc3RhcnRfdGhyZWFkKHJlZ3MsIG5ld19wc3csIG5ld19zdGFja3ApIGRvIHsJCVwKIAlzZXRfZnMoVVNFUl9EUyk7CQkJCQlcCiAJcmVncy0+cHN3Lm1hc2sJPSBwc3dfdXNlcl9iaXRzOwkJCVwKLSAgICAgICAgcmVncy0+cHN3LmFkZHIgID0gbmV3X3BzdyB8IFBTV19BRERSX0FNT0RFOyAgICAgICAgICAgICBcCi0gICAgICAgIHJlZ3MtPmdwcnNbMTVdICA9IG5ld19zdGFja3AgOyAgICAgICAgICAgICAgICAgICAgICAgICAgXAorCXJlZ3MtPnBzdy5hZGRyCT0gbmV3X3BzdyB8IFBTV19BRERSX0FNT0RFOwkJXAorCXJlZ3MtPmdwcnNbMTVdCT0gbmV3X3N0YWNrcDsJCQkJXAorfSB3aGlsZSAoMCkKKworI2RlZmluZSBzdGFydF90aHJlYWQzMShyZWdzLCBuZXdfcHN3LCBuZXdfc3RhY2twKSBkbyB7CQlcCisJc2V0X2ZzKFVTRVJfRFMpOwkJCQkJXAorCXJlZ3MtPnBzdy5tYXNrCT0gcHN3X3VzZXIzMl9iaXRzOwkJCVwKKwlyZWdzLT5wc3cuYWRkcgk9IG5ld19wc3cgfCBQU1dfQUREUl9BTU9ERTsJCVwKKwlyZWdzLT5ncHJzWzE1XQk9IG5ld19zdGFja3A7CQkJCVwKKwljcnN0X3RhYmxlX2Rvd25ncmFkZShjdXJyZW50LT5tbSwgMVVMIDw8IDMxKTsJCVwKIH0gd2hpbGUgKDApCiAKIC8qIEZvcndhcmQgZGVjbGFyYXRpb24sIGEgc3RyYW5nZSBDIHRoaW5nICovCkBAIC0zMjgsMTYgKzMzNiw2IEBACiBleHRlcm4gdm9pZCAoKnMzOTBfYmFzZV9wZ21faGFuZGxlcl9mbikodm9pZCk7CiBleHRlcm4gdm9pZCAoKnMzOTBfYmFzZV9leHRfaGFuZGxlcl9mbikodm9pZCk7CiAKLS8qCi0gKiBDUFUgaWRsZSBub3RpZmllciBjaGFpbi4KLSAqLwotI2RlZmluZSBTMzkwX0NQVV9JRExFCQkwCi0jZGVmaW5lIFMzOTBfQ1BVX05PVF9JRExFCTEKLQotc3RydWN0IG5vdGlmaWVyX2Jsb2NrOwotaW50IHJlZ2lzdGVyX2lkbGVfbm90aWZpZXIoc3RydWN0IG5vdGlmaWVyX2Jsb2NrICpuYik7Ci1pbnQgdW5yZWdpc3Rlcl9pZGxlX25vdGlmaWVyKHN0cnVjdCBub3RpZmllcl9ibG9jayAqbmIpOwotCiAjZGVmaW5lIEFSQ0hfTE9XX0FERFJFU1NfTElNSVQJMHg3ZmZmZmZmZlVMCiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tczM5MC9wdHJhY2UuaCBiL2luY2x1ZGUvYXNtLXMzOTAvcHRyYWNlLmgKaW5kZXggZDdkNGUyZS4uYWYyYzlhYyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tczM5MC9wdHJhY2UuaAorKysgYi9pbmNsdWRlL2FzbS1zMzkwL3B0cmFjZS5oCkBAIC0yMTUsNiArMjE1LDEyIEBACiAgICAgICAgIHVuc2lnbmVkIGxvbmcgYWRkcjsKIH0gX19hdHRyaWJ1dGVfXyAoKGFsaWduZWQoOCkpKSBwc3dfdDsKIAordHlwZWRlZiBzdHJ1Y3QKK3sKKwlfX3UzMgltYXNrOworCV9fdTMyCWFkZHI7Cit9IF9fYXR0cmlidXRlX18gKChhbGlnbmVkKDgpKSkgcHN3X2NvbXBhdF90OworCiAjaWZuZGVmIF9fczM5MHhfXwogCiAjZGVmaW5lIFBTV19NQVNLX1BFUgkJMHg0MDAwMDAwMFVMCkBAIC0yOTIsNiArMjk4LDE1IEBACiAJdW5zaWduZWQgbG9uZyBvcmlnX2dwcjI7CiB9IHMzOTBfcmVnczsKIAordHlwZWRlZiBzdHJ1Y3QKK3sKKwlwc3dfY29tcGF0X3QJcHN3OworCV9fdTMyCQlncHJzW05VTV9HUFJTXTsKKwlfX3UzMgkJYWNyc1tOVU1fQUNSU107CisJX191MzIJCW9yaWdfZ3ByMjsKK30gczM5MF9jb21wYXRfcmVnczsKKworCiAjaWZkZWYgX19LRVJORUxfXwogI2luY2x1ZGUgPGFzbS9zZXR1cC5oPgogI2luY2x1ZGUgPGFzbS9wYWdlLmg+CmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvY2lvL3NjaGlkLmggYi9pbmNsdWRlL2FzbS1zMzkwL3NjaGlkLmgKc2ltaWxhcml0eSBpbmRleCA2NSUKcmVuYW1lIGZyb20gZHJpdmVycy9zMzkwL2Npby9zY2hpZC5oCnJlbmFtZSB0byBpbmNsdWRlL2FzbS1zMzkwL3NjaGlkLmgKaW5kZXggNTQzMjhmZS4uNTAxN2ZmYSAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL2Npby9zY2hpZC5oCisrKyBiL2luY2x1ZGUvYXNtLXMzOTAvc2NoaWQuaApAQCAtMSwxMiArMSwxNCBAQAotI2lmbmRlZiBTMzkwX1NDSElEX0gKLSNkZWZpbmUgUzM5MF9TQ0hJRF9ICisjaWZuZGVmIEFTTV9TQ0hJRF9ICisjZGVmaW5lIEFTTV9TQ0hJRF9ICiAKIHN0cnVjdCBzdWJjaGFubmVsX2lkIHsKLQlfX3UzMiByZXNlcnZlZDoxMzsKLQlfX3UzMiBzc2lkOjI7Ci0JX191MzIgb25lOjE7Ci0JX191MzIgc2NoX25vOjE2OwotfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkLGFsaWduZWQoNCkpKTsKKwlfX3UzMiBjc3NpZCA6IDg7CisJX191MzIgOiA0OworCV9fdTMyIG0gOiAxOworCV9fdTMyIHNzaWQgOiAyOworCV9fdTMyIG9uZSA6IDE7CisJX191MzIgc2NoX25vIDogMTY7Cit9IF9fYXR0cmlidXRlX18gKChwYWNrZWQsIGFsaWduZWQoNCkpKTsKIAogCiAvKiBIZWxwZXIgZnVuY3Rpb24gZm9yIHNhbmUgc3RhdGUgb2YgcHJlLWFsbG9jYXRlZCBzdWJjaGFubmVsX2lkLiAqLwpAQCAtMjMsNCArMjUsNCBAQAogCXJldHVybiAhbWVtY21wKHNjaGlkMSwgc2NoaWQyLCBzaXplb2Yoc3RydWN0IHN1YmNoYW5uZWxfaWQpKTsKIH0KIAotI2VuZGlmIC8qIFMzOTBfU0NISURfSCAqLworI2VuZGlmIC8qIEFTTV9TQ0hJRF9IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1zMzkwL3NjbHAuaCBiL2luY2x1ZGUvYXNtLXMzOTAvc2NscC5oCmluZGV4IGI1ZjI4NDMuLmZlZDdiZWUgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXMzOTAvc2NscC5oCisrKyBiL2luY2x1ZGUvYXNtLXMzOTAvc2NscC5oCkBAIC00NSw5ICs0NSw5IEBACiBpbnQgc2NscF9nZXRfY3B1X2luZm8oc3RydWN0IHNjbHBfY3B1X2luZm8gKmluZm8pOwogaW50IHNjbHBfY3B1X2NvbmZpZ3VyZSh1OCBjcHUpOwogaW50IHNjbHBfY3B1X2RlY29uZmlndXJlKHU4IGNwdSk7Ci12b2lkIHNjbHBfcmVhZF9pbmZvX2Vhcmx5KHZvaWQpOwogdm9pZCBzY2xwX2ZhY2lsaXRpZXNfZGV0ZWN0KHZvaWQpOwotdW5zaWduZWQgbG9uZyBsb25nIHNjbHBfbWVtb3J5X2RldGVjdCh2b2lkKTsKK3Vuc2lnbmVkIGxvbmcgbG9uZyBzY2xwX2dldF9ybm1heCh2b2lkKTsKK3Vuc2lnbmVkIGxvbmcgbG9uZyBzY2xwX2dldF9yem0odm9pZCk7CiBpbnQgc2NscF9zZGlhc19ibGtfY291bnQodm9pZCk7CiBpbnQgc2NscF9zZGlhc19jb3B5KHZvaWQgKmRlc3QsIGludCBibGtfbnVtLCBpbnQgbnJfYmxrcyk7CiBpbnQgc2NscF9jaHBfY29uZmlndXJlKHN0cnVjdCBjaHBfaWQgY2hwaWQpOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tczM5MC9zZXR1cC5oIGIvaW5jbHVkZS9hc20tczM5MC9zZXR1cC5oCmluZGV4IGJhNjk2NzQuLmYwOWVlM2YgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXMzOTAvc2V0dXAuaAorKysgYi9pbmNsdWRlL2FzbS1zMzkwL3NldHVwLmgKQEAgLTgsMTQgKzgsMTYgQEAKICNpZm5kZWYgX0FTTV9TMzkwX1NFVFVQX0gKICNkZWZpbmUgX0FTTV9TMzkwX1NFVFVQX0gKIAotI2RlZmluZSBDT01NQU5EX0xJTkVfU0laRSAJODk2CisjZGVmaW5lIENPTU1BTkRfTElORV9TSVpFCTEwMjQKKworI2RlZmluZSBBUkNIX0NPTU1BTkRfTElORV9TSVpFCTg5NgogCiAjaWZkZWYgX19LRVJORUxfXwogCiAjaW5jbHVkZSA8YXNtL3R5cGVzLmg+CiAKICNkZWZpbmUgUEFSTUFSRUEJCTB4MTA0MDAKLSNkZWZpbmUgTUVNT1JZX0NIVU5LUwkJMTYJLyogbWF4IDB4N2ZmZiAqLworI2RlZmluZSBNRU1PUllfQ0hVTktTCQkyNTYKIAogI2lmbmRlZiBfX0FTU0VNQkxZX18KIApAQCAtMzYsMTIgKzM4LDE0IEBACiBzdHJ1Y3QgbWVtX2NodW5rIHsKIAl1bnNpZ25lZCBsb25nIGFkZHI7CiAJdW5zaWduZWQgbG9uZyBzaXplOwotCXVuc2lnbmVkIGxvbmcgdHlwZTsKKwlpbnQgdHlwZTsKIH07CiAKIGV4dGVybiBzdHJ1Y3QgbWVtX2NodW5rIG1lbW9yeV9jaHVua1tdOwogZXh0ZXJuIHVuc2lnbmVkIGxvbmcgcmVhbF9tZW1vcnlfc2l6ZTsKIAordm9pZCBkZXRlY3RfbWVtb3J5X2xheW91dChzdHJ1Y3QgbWVtX2NodW5rIGNodW5rW10pOworCiAjaWZkZWYgQ09ORklHX1MzOTBfU1dJVENIX0FNT0RFCiBleHRlcm4gdW5zaWduZWQgaW50IHN3aXRjaF9hbW9kZTsKICNlbHNlCkBAIC02MSw3ICs2NSw2IEBACiAKICNkZWZpbmUgTUFDSElORV9GTEFHX1ZNCQkoMVVMIDw8IDApCiAjZGVmaW5lIE1BQ0hJTkVfRkxBR19JRUVFCSgxVUwgPDwgMSkKLSNkZWZpbmUgTUFDSElORV9GTEFHX1AzOTAJKDFVTCA8PCAyKQogI2RlZmluZSBNQUNISU5FX0ZMQUdfQ1NQCSgxVUwgPDwgMykKICNkZWZpbmUgTUFDSElORV9GTEFHX01WUEcJKDFVTCA8PCA0KQogI2RlZmluZSBNQUNISU5FX0ZMQUdfRElBRzQ0CSgxVUwgPDwgNSkKQEAgLTk3LDcgKzEwMCw2IEBACiAjZGVmaW5lIE1BQ0hJTkVfSEFTX1BGTUYJKG1hY2hpbmVfZmxhZ3MgJiBNQUNISU5FX0ZMQUdfUEZNRikKICNlbmRpZiAvKiBfX3MzOTB4X18gKi8KIAotI2RlZmluZSBNQUNISU5FX0hBU19TQ0xQCSghTUFDSElORV9JU19QMzkwKQogI2RlZmluZSBaRkNQRFVNUF9IU0FfU0laRQkoMzJVTDw8MjApCiAKIC8qCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1zMzkwL3NwYXJzZW1lbS5oIGIvaW5jbHVkZS9hc20tczM5MC9zcGFyc2VtZW0uaAppbmRleCAwNmRmZGFiLi41NDVkMjE5IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1zMzkwL3NwYXJzZW1lbS5oCisrKyBiL2luY2x1ZGUvYXNtLXMzOTAvc3BhcnNlbWVtLmgKQEAgLTEsMTUgKzEsMTUgQEAKICNpZm5kZWYgX0FTTV9TMzkwX1NQQVJTRU1FTV9ICiAjZGVmaW5lIF9BU01fUzM5MF9TUEFSU0VNRU1fSAogCi0jZGVmaW5lIFNFQ1RJT05fU0laRV9CSVRTCTI1Ci0KICNpZmRlZiBDT05GSUdfNjRCSVQKIAorI2RlZmluZSBTRUNUSU9OX1NJWkVfQklUUwkyOAogI2RlZmluZSBNQVhfUEhZU0FERFJfQklUUwk0MgogI2RlZmluZSBNQVhfUEhZU01FTV9CSVRTCTQyCiAKICNlbHNlCiAKKyNkZWZpbmUgU0VDVElPTl9TSVpFX0JJVFMJMjUKICNkZWZpbmUgTUFYX1BIWVNBRERSX0JJVFMJMzEKICNkZWZpbmUgTUFYX1BIWVNNRU1fQklUUwkzMQogCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1zMzkwL3RpbWVyLmggYi9pbmNsdWRlL2FzbS1zMzkwL3RpbWVyLmgKaW5kZXggYWRiMzQ4Ni4uZDk4ZDc5ZSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tczM5MC90aW1lci5oCisrKyBiL2luY2x1ZGUvYXNtLXMzOTAvdGltZXIuaApAQCAtNDgsNiArNDgsMTggQEAKIGV4dGVybiB2b2lkIGluaXRfY3B1X3Z0aW1lcih2b2lkKTsKIGV4dGVybiB2b2lkIHZ0aW1lX2luaXQodm9pZCk7CiAKKyNpZmRlZiBDT05GSUdfVklSVF9USU1FUgorCitleHRlcm4gdm9pZCB2dGltZV9zdGFydF9jcHVfdGltZXIodm9pZCk7CitleHRlcm4gdm9pZCB2dGltZV9zdG9wX2NwdV90aW1lcih2b2lkKTsKKworI2Vsc2UKKworc3RhdGljIGlubGluZSB2b2lkIHZ0aW1lX3N0YXJ0X2NwdV90aW1lcih2b2lkKSB7IH0KK3N0YXRpYyBpbmxpbmUgdm9pZCB2dGltZV9zdG9wX2NwdV90aW1lcih2b2lkKSB7IH0KKworI2VuZGlmIC8qIENPTkZJR19WSVJUX1RJTUVSICovCisKICNlbmRpZiAvKiBfX0tFUk5FTF9fICovCiAKICNlbmRpZiAvKiBfQVNNX1MzOTBfVElNRVJfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tczM5MC96Y3J5cHQuaCBiL2luY2x1ZGUvYXNtLXMzOTAvemNyeXB0LmgKaW5kZXggZjIyOGYxYi4uMDBkM2JiZCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tczM5MC96Y3J5cHQuaAorKysgYi9pbmNsdWRlL2FzbS1zMzkwL3pjcnlwdC5oCkBAIC0yOSw3ICsyOSw3IEBACiAKICNkZWZpbmUgWkNSWVBUX1ZFUlNJT04gMgogI2RlZmluZSBaQ1JZUFRfUkVMRUFTRSAxCi0jZGVmaW5lIFpDUllQVF9WQVJJQU5UIDAKKyNkZWZpbmUgWkNSWVBUX1ZBUklBTlQgMQogCiAjaW5jbHVkZSA8bGludXgvaW9jdGwuaD4KICNpbmNsdWRlIDxsaW51eC9jb21waWxlci5oPgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tc3BhcmM2NC9mdHJhY2UuaCBiL2luY2x1ZGUvYXNtLXNwYXJjNjQvZnRyYWNlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDI3NzE2YwotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLXNwYXJjNjQvZnRyYWNlLmgKQEAgLTAsMCArMSwxNCBAQAorI2lmbmRlZiBfQVNNX1NQQVJDNjRfRlRSQUNFCisjZGVmaW5lIF9BU01fU1BBUkM2NF9GVFJBQ0UKKworI2lmZGVmIENPTkZJR19NQ09VTlQKKyNkZWZpbmUgTUNPVU5UX0FERFIJCSgobG9uZykoX21jb3VudCkpCisjZGVmaW5lIE1DT1VOVF9JTlNOX1NJWkUJNCAvKiBzaXplb2YgbWNvdW50IGNhbGwgKi8KKworI2lmbmRlZiBfX0FTU0VNQkxZX18KK2V4dGVybiB2b2lkIF9tY291bnQodm9pZCk7CisjZW5kaWYKKworI2VuZGlmCisKKyNlbmRpZiAvKiBfQVNNX1NQQVJDNjRfRlRSQUNFICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvYWNwaS5oIGIvaW5jbHVkZS9hc20teDg2L2FjcGkuaAppbmRleCAxNDQxMWM5Li42MzVkNzY0IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvYWNwaS5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9hY3BpLmgKQEAgLTI4LDYgKzI4LDcgQEAKICNpbmNsdWRlIDxhc20vbnVtYS5oPgogI2luY2x1ZGUgPGFzbS9wcm9jZXNzb3IuaD4KICNpbmNsdWRlIDxhc20vbW11Lmg+CisjaW5jbHVkZSA8YXNtL21wc3BlYy5oPgogCiAjZGVmaW5lIENPTVBJTEVSX0RFUEVOREVOVF9JTlQ2NCAgIGxvbmcgbG9uZwogI2RlZmluZSBDT01QSUxFUl9ERVBFTkRFTlRfVUlOVDY0ICB1bnNpZ25lZCBsb25nIGxvbmcKQEAgLTE2MCw5ICsxNjEsNyBAQAogI2lmZGVmIENPTkZJR19BQ1BJX05VTUEKIGV4dGVybiBpbnQgYWNwaV9udW1hOwogZXh0ZXJuIGludCBhY3BpX3NjYW5fbm9kZXModW5zaWduZWQgbG9uZyBzdGFydCwgdW5zaWduZWQgbG9uZyBlbmQpOwotI2lmZGVmIENPTkZJR19YODZfNjQKLSMgZGVmaW5lIE5SX05PREVfTUVNQkxLUyAoTUFYX05VTU5PREVTKjIpCi0jZW5kaWYKKyNkZWZpbmUgTlJfTk9ERV9NRU1CTEtTIChNQVhfTlVNTk9ERVMqMikKIGV4dGVybiB2b2lkIGFjcGlfZmFrZV9ub2Rlcyhjb25zdCBzdHJ1Y3QgYm9vdG5vZGUgKmZha2Vfbm9kZXMsCiAJCQkJICAgaW50IG51bV9ub2Rlcyk7CiAjZWxzZQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L2FsdGVybmF0aXZlLmggYi9pbmNsdWRlL2FzbS14ODYvYWx0ZXJuYXRpdmUuaAppbmRleCAxZjZhOWNhLi5mNmFhMThlIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvYWx0ZXJuYXRpdmUuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvYWx0ZXJuYXRpdmUuaApAQCAtNzIsNiArNzIsOCBAQAogc3RhdGljIGlubGluZSB2b2lkIGFsdGVybmF0aXZlc19zbXBfc3dpdGNoKGludCBzbXApIHt9CiAjZW5kaWYJLyogQ09ORklHX1NNUCAqLwogCitjb25zdCB1bnNpZ25lZCBjaGFyICpjb25zdCAqZmluZF9ub3BfdGFibGUodm9pZCk7CisKIC8qCiAgKiBBbHRlcm5hdGl2ZSBpbnN0cnVjdGlvbnMgZm9yIGRpZmZlcmVudCBDUFUgdHlwZXMgb3IgY2FwYWJpbGl0aWVzLgogICoKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9hbWRfaW9tbXUuaCBiL2luY2x1ZGUvYXNtLXg4Ni9hbWRfaW9tbXUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMGExMjA0Ci0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20teDg2L2FtZF9pb21tdS5oCkBAIC0wLDAgKzEsMzIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDctMjAwOCBBZHZhbmNlZCBNaWNybyBEZXZpY2VzLCBJbmMuCisgKiBBdXRob3I6IEpvZXJnIFJvZWRlbCA8am9lcmcucm9lZGVsQGFtZC5jb20+CisgKiAgICAgICAgIExlbyBEdXJhbiA8bGVvLmR1cmFuQGFtZC5jb20+CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQKKyAqIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzIHB1Ymxpc2hlZAorICogYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgVVNBCisgKi8KKworI2lmbmRlZiBfQVNNX1g4Nl9BTURfSU9NTVVfSAorI2RlZmluZSBfQVNNX1g4Nl9BTURfSU9NTVVfSAorCisjaWZkZWYgQ09ORklHX0FNRF9JT01NVQorZXh0ZXJuIGludCBhbWRfaW9tbXVfaW5pdCh2b2lkKTsKK2V4dGVybiBpbnQgYW1kX2lvbW11X2luaXRfZG1hX29wcyh2b2lkKTsKK2V4dGVybiB2b2lkIGFtZF9pb21tdV9kZXRlY3Qodm9pZCk7CisjZWxzZQorc3RhdGljIGlubGluZSBpbnQgYW1kX2lvbW11X2luaXQodm9pZCkgeyByZXR1cm4gLUVOT0RFVjsgfQorc3RhdGljIGlubGluZSB2b2lkIGFtZF9pb21tdV9kZXRlY3Qodm9pZCkgeyB9CisjZW5kaWYKKworI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvYW1kX2lvbW11X3R5cGVzLmggYi9pbmNsdWRlL2FzbS14ODYvYW1kX2lvbW11X3R5cGVzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2JmY2I0NwotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9hbWRfaW9tbXVfdHlwZXMuaApAQCAtMCwwICsxLDI0NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwNy0yMDA4IEFkdmFuY2VkIE1pY3JvIERldmljZXMsIEluYy4KKyAqIEF1dGhvcjogSm9lcmcgUm9lZGVsIDxqb2VyZy5yb2VkZWxAYW1kLmNvbT4KKyAqICAgICAgICAgTGVvIER1cmFuIDxsZW8uZHVyYW5AYW1kLmNvbT4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdAorICogdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMgcHVibGlzaGVkCisgKiBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAgMDIxMTEtMTMwNyBVU0EKKyAqLworCisjaWZuZGVmIF9fQU1EX0lPTU1VX1RZUEVTX0hfXworI2RlZmluZSBfX0FNRF9JT01NVV9UWVBFU19IX18KKworI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CisjaW5jbHVkZSA8bGludXgvbGlzdC5oPgorI2luY2x1ZGUgPGxpbnV4L3NwaW5sb2NrLmg+CisKKy8qCisgKiBzb21lIHNpemUgY2FsY3VsYXRpb24gY29uc3RhbnRzCisgKi8KKyNkZWZpbmUgREVWX1RBQkxFX0VOVFJZX1NJWkUJCTI1NgorI2RlZmluZSBBTElBU19UQUJMRV9FTlRSWV9TSVpFCQkyCisjZGVmaW5lIFJMT09LVVBfVEFCTEVfRU5UUllfU0laRQkoc2l6ZW9mKHZvaWQgKikpCisKKy8qIGhlbHBlciBtYWNyb3MgKi8KKyNkZWZpbmUgTE9XX1UzMih4KSAoKHgpICYgKCgxVUxMIDw8IDMyKS0xKSkKKyNkZWZpbmUgSElHSF9VMzIoeCkgKExPV19VMzIoKHgpID4+IDMyKSkKKworLyogTGVuZ3RoIG9mIHRoZSBNTUlPIHJlZ2lvbiBmb3IgdGhlIEFNRCBJT01NVSAqLworI2RlZmluZSBNTUlPX1JFR0lPTl9MRU5HVEggICAgICAgMHg0MDAwCisKKy8qIENhcGFiaWxpdHkgb2Zmc2V0cyB1c2VkIGJ5IHRoZSBkcml2ZXIgKi8KKyNkZWZpbmUgTU1JT19DQVBfSERSX09GRlNFVAkweDAwCisjZGVmaW5lIE1NSU9fUkFOR0VfT0ZGU0VUCTB4MGMKKworLyogTWFza3MsIHNoaWZ0cyBhbmQgbWFjcm9zIHRvIHBhcnNlIHRoZSBkZXZpY2UgcmFuZ2UgY2FwYWJpbGl0eSAqLworI2RlZmluZSBNTUlPX1JBTkdFX0xEX01BU0sJMHhmZjAwMDAwMAorI2RlZmluZSBNTUlPX1JBTkdFX0ZEX01BU0sJMHgwMGZmMDAwMAorI2RlZmluZSBNTUlPX1JBTkdFX0JVU19NQVNLCTB4MDAwMGZmMDAKKyNkZWZpbmUgTU1JT19SQU5HRV9MRF9TSElGVAkyNAorI2RlZmluZSBNTUlPX1JBTkdFX0ZEX1NISUZUCTE2CisjZGVmaW5lIE1NSU9fUkFOR0VfQlVTX1NISUZUCTgKKyNkZWZpbmUgTU1JT19HRVRfTEQoeCkgICgoKHgpICYgTU1JT19SQU5HRV9MRF9NQVNLKSA+PiBNTUlPX1JBTkdFX0xEX1NISUZUKQorI2RlZmluZSBNTUlPX0dFVF9GRCh4KSAgKCgoeCkgJiBNTUlPX1JBTkdFX0ZEX01BU0spID4+IE1NSU9fUkFOR0VfRkRfU0hJRlQpCisjZGVmaW5lIE1NSU9fR0VUX0JVUyh4KSAoKCh4KSAmIE1NSU9fUkFOR0VfQlVTX01BU0spID4+IE1NSU9fUkFOR0VfQlVTX1NISUZUKQorCisvKiBGbGFnIG1hc2tzIGZvciB0aGUgQU1EIElPTU1VIGV4Y2x1c2lvbiByYW5nZSAqLworI2RlZmluZSBNTUlPX0VYQ0xfRU5BQkxFX01BU0sgMHgwMVVMTAorI2RlZmluZSBNTUlPX0VYQ0xfQUxMT1dfTUFTSyAgMHgwMlVMTAorCisvKiBVc2VkIG9mZnNldHMgaW50byB0aGUgTU1JTyBzcGFjZSAqLworI2RlZmluZSBNTUlPX0RFVl9UQUJMRV9PRkZTRVQgICAweDAwMDAKKyNkZWZpbmUgTU1JT19DTURfQlVGX09GRlNFVCAgICAgMHgwMDA4CisjZGVmaW5lIE1NSU9fRVZUX0JVRl9PRkZTRVQgICAgIDB4MDAxMAorI2RlZmluZSBNTUlPX0NPTlRST0xfT0ZGU0VUICAgICAweDAwMTgKKyNkZWZpbmUgTU1JT19FWENMX0JBU0VfT0ZGU0VUICAgMHgwMDIwCisjZGVmaW5lIE1NSU9fRVhDTF9MSU1JVF9PRkZTRVQgIDB4MDAyOAorI2RlZmluZSBNTUlPX0NNRF9IRUFEX09GRlNFVAkweDIwMDAKKyNkZWZpbmUgTU1JT19DTURfVEFJTF9PRkZTRVQJMHgyMDA4CisjZGVmaW5lIE1NSU9fRVZUX0hFQURfT0ZGU0VUCTB4MjAxMAorI2RlZmluZSBNTUlPX0VWVF9UQUlMX09GRlNFVAkweDIwMTgKKyNkZWZpbmUgTU1JT19TVEFUVVNfT0ZGU0VUCTB4MjAyMAorCisvKiBmZWF0dXJlIGNvbnRyb2wgYml0cyAqLworI2RlZmluZSBDT05UUk9MX0lPTU1VX0VOICAgICAgICAweDAwVUxMCisjZGVmaW5lIENPTlRST0xfSFRfVFVOX0VOICAgICAgIDB4MDFVTEwKKyNkZWZpbmUgQ09OVFJPTF9FVlRfTE9HX0VOICAgICAgMHgwMlVMTAorI2RlZmluZSBDT05UUk9MX0VWVF9JTlRfRU4gICAgICAweDAzVUxMCisjZGVmaW5lIENPTlRST0xfQ09NV0FJVF9FTiAgICAgIDB4MDRVTEwKKyNkZWZpbmUgQ09OVFJPTF9QQVNTUFdfRU4gICAgICAgMHgwOFVMTAorI2RlZmluZSBDT05UUk9MX1JFU1BBU1NQV19FTiAgICAweDA5VUxMCisjZGVmaW5lIENPTlRST0xfQ09IRVJFTlRfRU4gICAgIDB4MGFVTEwKKyNkZWZpbmUgQ09OVFJPTF9JU09DX0VOICAgICAgICAgMHgwYlVMTAorI2RlZmluZSBDT05UUk9MX0NNREJVRl9FTiAgICAgICAweDBjVUxMCisjZGVmaW5lIENPTlRST0xfUFBGTE9HX0VOICAgICAgIDB4MGRVTEwKKyNkZWZpbmUgQ09OVFJPTF9QUEZJTlRfRU4gICAgICAgMHgwZVVMTAorCisvKiBjb21tYW5kIHNwZWNpZmljIGRlZmluZXMgKi8KKyNkZWZpbmUgQ01EX0NPTVBMX1dBSVQgICAgICAgICAgMHgwMQorI2RlZmluZSBDTURfSU5WX0RFVl9FTlRSWSAgICAgICAweDAyCisjZGVmaW5lIENNRF9JTlZfSU9NTVVfUEFHRVMgICAgIDB4MDMKKworI2RlZmluZSBDTURfQ09NUExfV0FJVF9TVE9SRV9NQVNLCTB4MDEKKyNkZWZpbmUgQ01EX0lOVl9JT01NVV9QQUdFU19TSVpFX01BU0sJMHgwMQorI2RlZmluZSBDTURfSU5WX0lPTU1VX1BBR0VTX1BERV9NQVNLCTB4MDIKKworI2RlZmluZSBDTURfSU5WX0lPTU1VX0FMTF9QQUdFU19BRERSRVNTCTB4N2ZmZmZmZmZmZmZmZmZmZlVMTAorCisvKiBtYWNyb3MgYW5kIGRlZmluaXRpb25zIGZvciBkZXZpY2UgdGFibGUgZW50cmllcyAqLworI2RlZmluZSBERVZfRU5UUllfVkFMSUQgICAgICAgICAweDAwCisjZGVmaW5lIERFVl9FTlRSWV9UUkFOU0xBVElPTiAgIDB4MDEKKyNkZWZpbmUgREVWX0VOVFJZX0lSICAgICAgICAgICAgMHgzZAorI2RlZmluZSBERVZfRU5UUllfSVcgICAgICAgICAgICAweDNlCisjZGVmaW5lIERFVl9FTlRSWV9FWCAgICAgICAgICAgIDB4NjcKKyNkZWZpbmUgREVWX0VOVFJZX1NZU01HVDEgICAgICAgMHg2OAorI2RlZmluZSBERVZfRU5UUllfU1lTTUdUMiAgICAgICAweDY5CisjZGVmaW5lIERFVl9FTlRSWV9JTklUX1BBU1MgICAgIDB4YjgKKyNkZWZpbmUgREVWX0VOVFJZX0VJTlRfUEFTUyAgICAgMHhiOQorI2RlZmluZSBERVZfRU5UUllfTk1JX1BBU1MgICAgICAweGJhCisjZGVmaW5lIERFVl9FTlRSWV9MSU5UMF9QQVNTICAgIDB4YmUKKyNkZWZpbmUgREVWX0VOVFJZX0xJTlQxX1BBU1MgICAgMHhiZgorCisvKiBjb25zdGFudHMgdG8gY29uZmlndXJlIHRoZSBjb21tYW5kIGJ1ZmZlciAqLworI2RlZmluZSBDTURfQlVGRkVSX1NJWkUgICAgODE5MgorI2RlZmluZSBDTURfQlVGRkVSX0VOVFJJRVMgNTEyCisjZGVmaW5lIE1NSU9fQ01EX1NJWkVfU0hJRlQgNTYKKyNkZWZpbmUgTU1JT19DTURfU0laRV81MTIgKDB4OVVMTCA8PCBNTUlPX0NNRF9TSVpFX1NISUZUKQorCisjZGVmaW5lIFBBR0VfTU9ERV8xX0xFVkVMIDB4MDEKKyNkZWZpbmUgUEFHRV9NT0RFXzJfTEVWRUwgMHgwMgorI2RlZmluZSBQQUdFX01PREVfM19MRVZFTCAweDAzCisKKyNkZWZpbmUgSU9NTVVfUERFX05MXzAgICAweDAwMFVMTAorI2RlZmluZSBJT01NVV9QREVfTkxfMSAgIDB4MjAwVUxMCisjZGVmaW5lIElPTU1VX1BERV9OTF8yICAgMHg0MDBVTEwKKyNkZWZpbmUgSU9NTVVfUERFX05MXzMgICAweDYwMFVMTAorCisjZGVmaW5lIElPTU1VX1BURV9MMl9JTkRFWChhZGRyZXNzKSAoKChhZGRyZXNzKSA+PiAzMCkgJiAweDFmZlVMTCkKKyNkZWZpbmUgSU9NTVVfUFRFX0wxX0lOREVYKGFkZHJlc3MpICgoKGFkZHJlc3MpID4+IDIxKSAmIDB4MWZmVUxMKQorI2RlZmluZSBJT01NVV9QVEVfTDBfSU5ERVgoYWRkcmVzcykgKCgoYWRkcmVzcykgPj4gMTIpICYgMHgxZmZVTEwpCisKKyNkZWZpbmUgSU9NTVVfTUFQX1NJWkVfTDEgKDFVTEwgPDwgMjEpCisjZGVmaW5lIElPTU1VX01BUF9TSVpFX0wyICgxVUxMIDw8IDMwKQorI2RlZmluZSBJT01NVV9NQVBfU0laRV9MMyAoMVVMTCA8PCAzOSkKKworI2RlZmluZSBJT01NVV9QVEVfUCAgKDFVTEwgPDwgMCkKKyNkZWZpbmUgSU9NTVVfUFRFX1UgICgxVUxMIDw8IDU5KQorI2RlZmluZSBJT01NVV9QVEVfRkMgKDFVTEwgPDwgNjApCisjZGVmaW5lIElPTU1VX1BURV9JUiAoMVVMTCA8PCA2MSkKKyNkZWZpbmUgSU9NTVVfUFRFX0lXICgxVUxMIDw8IDYyKQorCisjZGVmaW5lIElPTU1VX0wxX1BERShhZGRyZXNzKSBcCisJKChhZGRyZXNzKSB8IElPTU1VX1BERV9OTF8xIHwgSU9NTVVfUFRFX1AgfCBJT01NVV9QVEVfSVIgfCBJT01NVV9QVEVfSVcpCisjZGVmaW5lIElPTU1VX0wyX1BERShhZGRyZXNzKSBcCisJKChhZGRyZXNzKSB8IElPTU1VX1BERV9OTF8yIHwgSU9NTVVfUFRFX1AgfCBJT01NVV9QVEVfSVIgfCBJT01NVV9QVEVfSVcpCisKKyNkZWZpbmUgSU9NTVVfUEFHRV9NQVNLICgoKDFVTEwgPDwgNTIpIC0gMSkgJiB+MHhmZmZVTEwpCisjZGVmaW5lIElPTU1VX1BURV9QUkVTRU5UKHB0ZSkgKChwdGUpICYgSU9NTVVfUFRFX1ApCisjZGVmaW5lIElPTU1VX1BURV9QQUdFKHB0ZSkgKHBoeXNfdG9fdmlydCgocHRlKSAmIElPTU1VX1BBR0VfTUFTSykpCisjZGVmaW5lIElPTU1VX1BURV9NT0RFKHB0ZSkgKCgocHRlKSA+PiA5KSAmIDB4MDcpCisKKyNkZWZpbmUgSU9NTVVfUFJPVF9NQVNLIDB4MDMKKyNkZWZpbmUgSU9NTVVfUFJPVF9JUiAweDAxCisjZGVmaW5lIElPTU1VX1BST1RfSVcgMHgwMgorCisvKiBJT01NVSBjYXBhYmlsaXRpZXMgKi8KKyNkZWZpbmUgSU9NTVVfQ0FQX0lPVExCICAgMjQKKyNkZWZpbmUgSU9NTVVfQ0FQX05QQ0FDSEUgMjYKKworI2RlZmluZSBNQVhfRE9NQUlOX0lEIDY1NTM2CisKK3N0cnVjdCBwcm90ZWN0aW9uX2RvbWFpbiB7CisJc3BpbmxvY2tfdCBsb2NrOworCXUxNiBpZDsKKwlpbnQgbW9kZTsKKwl1NjQgKnB0X3Jvb3Q7CisJdm9pZCAqcHJpdjsKK307CisKK3N0cnVjdCBkbWFfb3BzX2RvbWFpbiB7CisJc3RydWN0IGxpc3RfaGVhZCBsaXN0OworCXN0cnVjdCBwcm90ZWN0aW9uX2RvbWFpbiBkb21haW47CisJdW5zaWduZWQgbG9uZyBhcGVydHVyZV9zaXplOworCXVuc2lnbmVkIGxvbmcgbmV4dF9iaXQ7CisJdW5zaWduZWQgbG9uZyAqYml0bWFwOworCXU2NCAqKnB0ZV9wYWdlczsKK307CisKK3N0cnVjdCBhbWRfaW9tbXUgeworCXN0cnVjdCBsaXN0X2hlYWQgbGlzdDsKKwlzcGlubG9ja190IGxvY2s7CisKKwl1MTYgZGV2aWQ7CisJdTE2IGNhcF9wdHI7CisKKwl1NjQgbW1pb19waHlzOworCXU4ICptbWlvX2Jhc2U7CisJdTMyIGNhcDsKKwl1MTYgZmlyc3RfZGV2aWNlOworCXUxNiBsYXN0X2RldmljZTsKKwl1NjQgZXhjbHVzaW9uX3N0YXJ0OworCXU2NCBleGNsdXNpb25fbGVuZ3RoOworCisJdTggKmNtZF9idWY7CisJdTMyIGNtZF9idWZfc2l6ZTsKKworCWludCBuZWVkX3N5bmM7CisKKwlzdHJ1Y3QgZG1hX29wc19kb21haW4gKmRlZmF1bHRfZG9tOworfTsKKworZXh0ZXJuIHN0cnVjdCBsaXN0X2hlYWQgYW1kX2lvbW11X2xpc3Q7CisKK3N0cnVjdCBkZXZfdGFibGVfZW50cnkgeworCXUzMiBkYXRhWzhdOworfTsKKworc3RydWN0IHVuaXR5X21hcF9lbnRyeSB7CisJc3RydWN0IGxpc3RfaGVhZCBsaXN0OworCXUxNiBkZXZpZF9zdGFydDsKKwl1MTYgZGV2aWRfZW5kOworCXU2NCBhZGRyZXNzX3N0YXJ0OworCXU2NCBhZGRyZXNzX2VuZDsKKwlpbnQgcHJvdDsKK307CisKK2V4dGVybiBzdHJ1Y3QgbGlzdF9oZWFkIGFtZF9pb21tdV91bml0eV9tYXA7CisKKy8qIGRhdGEgc3RydWN0dXJlcyBmb3IgZGV2aWNlIGhhbmRsaW5nICovCitleHRlcm4gc3RydWN0IGRldl90YWJsZV9lbnRyeSAqYW1kX2lvbW11X2Rldl90YWJsZTsKK2V4dGVybiB1MTYgKmFtZF9pb21tdV9hbGlhc190YWJsZTsKK2V4dGVybiBzdHJ1Y3QgYW1kX2lvbW11ICoqYW1kX2lvbW11X3Jsb29rdXBfdGFibGU7CisKK2V4dGVybiB1bnNpZ25lZCBhbWRfaW9tbXVfYXBlcnR1cmVfb3JkZXI7CisKK2V4dGVybiB1MTYgYW1kX2lvbW11X2xhc3RfYmRmOworCisvKiBkYXRhIHN0cnVjdHVyZXMgZm9yIHByb3RlY3Rpb24gZG9tYWluIGhhbmRsaW5nICovCitleHRlcm4gc3RydWN0IHByb3RlY3Rpb25fZG9tYWluICoqYW1kX2lvbW11X3BkX3RhYmxlOworZXh0ZXJuIHVuc2lnbmVkIGxvbmcgKmFtZF9pb21tdV9wZF9hbGxvY19iaXRtYXA7CisKK2V4dGVybiBpbnQgYW1kX2lvbW11X2lzb2xhdGU7CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBwcmludF9kZXZpZCh1MTYgZGV2aWQsIGludCBubCkKK3sKKwlpbnQgYnVzID0gZGV2aWQgPj4gODsKKwlpbnQgZGV2ID0gZGV2aWQgPj4gMyAmIDB4MWY7CisJaW50IGZuICA9IGRldmlkICYgMHgwNzsKKworCXByaW50aygiJTAyeDolMDJ4LiV4IiwgYnVzLCBkZXYsIGZuKTsKKwlpZiAobmwpCisJCXByaW50aygiXG4iKTsKK30KKworI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvYXBpYy5oIGIvaW5jbHVkZS9hc20teDg2L2FwaWMuaAppbmRleCBiZTk2MzlhLi40ZTJjMWU1IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvYXBpYy5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9hcGljLmgKQEAgLTM2LDE1ICszNiwxMSBAQAogI2lmZGVmIENPTkZJR19YODZfTE9DQUxfQVBJQwogCiBleHRlcm4gaW50IGFwaWNfdmVyYm9zaXR5OwotZXh0ZXJuIGludCB0aW1lcl9vdmVyXzgyNTQ7CiBleHRlcm4gaW50IGxvY2FsX2FwaWNfdGltZXJfYzJfb2s7Ci1leHRlcm4gaW50IGxvY2FsX2FwaWNfdGltZXJfZGlzYWJsZWQ7CiAKLWV4dGVybiBpbnQgYXBpY19ydW5zX21haW5fdGltZXI7CiBleHRlcm4gaW50IGlvYXBpY19mb3JjZTsKLWV4dGVybiBpbnQgZGlzYWJsZV9hcGljOwotZXh0ZXJuIGludCBkaXNhYmxlX2FwaWNfdGltZXI7CiAKK2V4dGVybiBpbnQgZGlzYWJsZV9hcGljOwogLyoKICAqIEJhc2ljIGZ1bmN0aW9ucyBhY2Nlc3NpbmcgQVBJQ3MuCiAgKi8KQEAgLTEyNSwxNiArMTIxLDIyIEBACiAgKi8KICNpZmRlZiBDT05GSUdfWDg2XzY0CiBleHRlcm4gdm9pZCBlYXJseV9pbml0X2xhcGljX21hcHBpbmcodm9pZCk7CitleHRlcm4gaW50IGFwaWNfaXNfY2x1c3RlcmVkX2JveCh2b2lkKTsKKyNlbHNlCitzdGF0aWMgaW5saW5lIGludCBhcGljX2lzX2NsdXN0ZXJlZF9ib3godm9pZCkKK3sKKwlyZXR1cm4gMDsKK30KICNlbmRpZgogCiBleHRlcm4gdTggc2V0dXBfQVBJQ19laWx2dF9tY2UodTggdmVjdG9yLCB1OCBtc2dfdHlwZSwgdTggbWFzayk7CiBleHRlcm4gdTggc2V0dXBfQVBJQ19laWx2dF9pYnModTggdmVjdG9yLCB1OCBtc2dfdHlwZSwgdTggbWFzayk7CiAKLWV4dGVybiBpbnQgYXBpY19pc19jbHVzdGVyZWRfYm94KHZvaWQpOwogCiAjZWxzZSAvKiAhQ09ORklHX1g4Nl9MT0NBTF9BUElDICovCiBzdGF0aWMgaW5saW5lIHZvaWQgbGFwaWNfc2h1dGRvd24odm9pZCkgeyB9CiAjZGVmaW5lIGxvY2FsX2FwaWNfdGltZXJfYzJfb2sJCTEKK3N0YXRpYyBpbmxpbmUgdm9pZCBpbml0X2FwaWNfbWFwcGluZ3Modm9pZCkgeyB9CiAKICNlbmRpZiAvKiAhQ09ORklHX1g4Nl9MT0NBTF9BUElDICovCiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9hc20uaCBiL2luY2x1ZGUvYXNtLXg4Ni9hc20uaAppbmRleCA5MGRlYzBjLi45NzIyMDMyIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvYXNtLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L2FzbS5oCkBAIC0xLDM3ICsxLDQwIEBACiAjaWZuZGVmIF9BU01fWDg2X0FTTV9ICiAjZGVmaW5lIF9BU01fWDg2X0FTTV9ICiAKLSNpZmRlZiBDT05GSUdfWDg2XzMyCi0vKiAzMiBiaXRzICovCi0KLSMgZGVmaW5lIF9BU01fUFRSCSIgLmxvbmcgIgotIyBkZWZpbmUgX0FTTV9BTElHTgkiIC5iYWxpZ24gNCAiCi0jIGRlZmluZSBfQVNNX01PVl9VTAkiIG1vdmwgIgotCi0jIGRlZmluZSBfQVNNX0lOQwkiIGluY2wgIgotIyBkZWZpbmUgX0FTTV9ERUMJIiBkZWNsICIKLSMgZGVmaW5lIF9BU01fQURECSIgYWRkbCAiCi0jIGRlZmluZSBfQVNNX1NVQgkiIHN1YmwgIgotIyBkZWZpbmUgX0FTTV9YQURECSIgeGFkZGwgIgotCisjaWZkZWYgX19BU1NFTUJMWV9fCisjIGRlZmluZSBfX0FTTV9GT1JNKHgpCXgKKyMgZGVmaW5lIF9fQVNNX0VYX1NFQwkuc2VjdGlvbiBfX2V4X3RhYmxlCiAjZWxzZQotLyogNjQgYml0cyAqLworIyBkZWZpbmUgX19BU01fRk9STSh4KQkiICIgI3ggIiAiCisjIGRlZmluZSBfX0FTTV9FWF9TRUMJIiAuc2VjdGlvbiBfX2V4X3RhYmxlLFwiYVwiXG4iCisjZW5kaWYKIAotIyBkZWZpbmUgX0FTTV9QVFIJIiAucXVhZCAiCi0jIGRlZmluZSBfQVNNX0FMSUdOCSIgLmJhbGlnbiA4ICIKLSMgZGVmaW5lIF9BU01fTU9WX1VMCSIgbW92cSAiCisjaWZkZWYgQ09ORklHX1g4Nl8zMgorIyBkZWZpbmUgX19BU01fU0VMKGEsYikgX19BU01fRk9STShhKQorI2Vsc2UKKyMgZGVmaW5lIF9fQVNNX1NFTChhLGIpIF9fQVNNX0ZPUk0oYikKKyNlbmRpZgogCi0jIGRlZmluZSBfQVNNX0lOQwkiIGluY3EgIgotIyBkZWZpbmUgX0FTTV9ERUMJIiBkZWNxICIKLSMgZGVmaW5lIF9BU01fQURECSIgYWRkcSAiCi0jIGRlZmluZSBfQVNNX1NVQgkiIHN1YnEgIgotIyBkZWZpbmUgX0FTTV9YQURECSIgeGFkZHEgIgorI2RlZmluZSBfX0FTTV9TSVpFKGluc3QpCV9fQVNNX1NFTChpbnN0IyNsLCBpbnN0IyNxKQorI2RlZmluZSBfX0FTTV9SRUcocmVnKQkJX19BU01fU0VMKGUjI3JlZywgciMjcmVnKQogCi0jZW5kaWYgLyogQ09ORklHX1g4Nl8zMiAqLworI2RlZmluZSBfQVNNX1BUUglfX0FTTV9TRUwoLmxvbmcsIC5xdWFkKQorI2RlZmluZSBfQVNNX0FMSUdOCV9fQVNNX1NFTCguYmFsaWduIDQsIC5iYWxpZ24gOCkKKyNkZWZpbmUgX0FTTV9NT1ZfVUwJX19BU01fU0laRShtb3YpCisKKyNkZWZpbmUgX0FTTV9JTkMJX19BU01fU0laRShpbmMpCisjZGVmaW5lIF9BU01fREVDCV9fQVNNX1NJWkUoZGVjKQorI2RlZmluZSBfQVNNX0FERAlfX0FTTV9TSVpFKGFkZCkKKyNkZWZpbmUgX0FTTV9TVUIJX19BU01fU0laRShzdWIpCisjZGVmaW5lIF9BU01fWEFERAlfX0FTTV9TSVpFKHhhZGQpCisjZGVmaW5lIF9BU01fQVgJCV9fQVNNX1JFRyhheCkKKyNkZWZpbmUgX0FTTV9CWAkJX19BU01fUkVHKGJ4KQorI2RlZmluZSBfQVNNX0NYCQlfX0FTTV9SRUcoY3gpCisjZGVmaW5lIF9BU01fRFgJCV9fQVNNX1JFRyhkeCkKIAogLyogRXhjZXB0aW9uIHRhYmxlIGVudHJ5ICovCiAjIGRlZmluZSBfQVNNX0VYVEFCTEUoZnJvbSx0bykgXAotCSIgLnNlY3Rpb24gX19leF90YWJsZSxcImFcIlxuIiBcCisJX19BU01fRVhfU0VDCVwKIAlfQVNNX0FMSUdOICJcbiIgXAogCV9BU01fUFRSICNmcm9tICIsIiAjdG8gIlxuIiBcCiAJIiAucHJldmlvdXNcbiIKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9hdG9taWNfNjQuaCBiL2luY2x1ZGUvYXNtLXg4Ni9hdG9taWNfNjQuaAppbmRleCAzZTBjZDdkLi5hMDA5NTE5IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvYXRvbWljXzY0LmgKKysrIGIvaW5jbHVkZS9hc20teDg2L2F0b21pY182NC5oCkBAIC0xMSwxMiArMTEsNiBAQAogICogcmVzb3VyY2UgY291bnRpbmcgZXRjLi4KICAqLwogCi0jaWZkZWYgQ09ORklHX1NNUAotI2RlZmluZSBMT0NLICJsb2NrIDsgIgotI2Vsc2UKLSNkZWZpbmUgTE9DSyAiIgotI2VuZGlmCi0KIC8qCiAgKiBNYWtlIHN1cmUgZ2NjIGRvZXNuJ3QgdHJ5IHRvIGJlIGNsZXZlciBhbmQgbW92ZSB0aGluZ3MgYXJvdW5kCiAgKiBvbiB1cy4gV2UgbmVlZCB0byB1c2UgX2V4YWN0bHlfIHRoZSBhZGRyZXNzIHRoZSB1c2VyIGdhdmUgdXMsCkBAIC00MzEsNiArNDI1LDMyIEBACiAJcmV0dXJuIGMgIT0gKHUpOwogfQogCisvKioKKyAqIGF0b21pY19pbmNfc2hvcnQgLSBpbmNyZW1lbnQgb2YgYSBzaG9ydCBpbnRlZ2VyCisgKiBAdjogcG9pbnRlciB0byB0eXBlIGludAorICoKKyAqIEF0b21pY2FsbHkgYWRkcyAxIHRvIEB2CisgKiBSZXR1cm5zIHRoZSBuZXcgdmFsdWUgb2YgQHUKKyAqLworc3RhdGljIGlubGluZSBzaG9ydCBpbnQgYXRvbWljX2luY19zaG9ydChzaG9ydCBpbnQgKnYpCit7CisJYXNtKExPQ0tfUFJFRklYICJhZGR3ICQxLCAlMCIgOiAiK20iICgqdikpOworCXJldHVybiAqdjsKK30KKworLyoqCisgKiBhdG9taWNfb3JfbG9uZyAtIE9SIG9mIHR3byBsb25nIGludGVnZXJzCisgKiBAdjE6IHBvaW50ZXIgdG8gdHlwZSB1bnNpZ25lZCBsb25nCisgKiBAdjI6IHBvaW50ZXIgdG8gdHlwZSB1bnNpZ25lZCBsb25nCisgKgorICogQXRvbWljYWxseSBPUnMgQHYxIGFuZCBAdjIKKyAqIFJldHVybnMgdGhlIHJlc3VsdCBvZiB0aGUgT1IKKyAqLworc3RhdGljIGlubGluZSB2b2lkIGF0b21pY19vcl9sb25nKHVuc2lnbmVkIGxvbmcgKnYxLCB1bnNpZ25lZCBsb25nIHYyKQoreworCWFzbShMT0NLX1BSRUZJWCAib3JxICUxLCAlMCIgOiAiK20iICgqdjEpIDogInIiICh2MikpOworfQorCiAjZGVmaW5lIGF0b21pYzY0X2luY19ub3RfemVybyh2KSBhdG9taWM2NF9hZGRfdW5sZXNzKCh2KSwgMSwgMCkKIAogLyogVGhlc2UgYXJlIHg4Ni1zcGVjaWZpYywgdXNlZCBieSBzb21lIGhlYWRlciBmaWxlcyAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L2Jpb3NfZWJkYS5oIGIvaW5jbHVkZS9hc20teDg2L2Jpb3NfZWJkYS5oCmluZGV4IGI0YTQ2YjcuLjAwMzNlNTAgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9iaW9zX2ViZGEuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvYmlvc19lYmRhLmgKQEAgLTE0LDQgKzE0LDYgQEAKIAlyZXR1cm4gYWRkcmVzczsJLyogMCBtZWFucyBub25lICovCiB9CiAKK3ZvaWQgcmVzZXJ2ZV9lYmRhX3JlZ2lvbih2b2lkKTsKKwogI2VuZGlmIC8qIF9NQUNIX0JJT1NfRUJEQV9IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvYml0b3BzLmggYi9pbmNsdWRlL2FzbS14ODYvYml0b3BzLmgKaW5kZXggZWU0YjNlYS4uOTZiMTgyOSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L2JpdG9wcy5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9iaXRvcHMuaApAQCAtMjMsMTEgKzIzLDIxIEBACiAjaWYgX19HTlVDX18gPCA0IHx8IChfX0dOVUNfXyA9PSA0ICYmIF9fR05VQ19NSU5PUl9fIDwgMSkKIC8qIFRlY2huaWNhbGx5IHdyb25nLCBidXQgdGhpcyBhdm9pZHMgY29tcGlsYXRpb24gZXJyb3JzIG9uIHNvbWUgZ2NjCiAgICB2ZXJzaW9ucy4gKi8KLSNkZWZpbmUgQUREUiAiPW0iICgqKHZvbGF0aWxlIGxvbmcgKikgYWRkcikKKyNkZWZpbmUgQklUT1BfQUREUih4KSAiPW0iICgqKHZvbGF0aWxlIGxvbmcgKikgKHgpKQogI2Vsc2UKLSNkZWZpbmUgQUREUiAiK20iICgqKHZvbGF0aWxlIGxvbmcgKikgYWRkcikKKyNkZWZpbmUgQklUT1BfQUREUih4KSAiK20iICgqKHZvbGF0aWxlIGxvbmcgKikgKHgpKQogI2VuZGlmCiAKKyNkZWZpbmUgQUREUgkJCQlCSVRPUF9BRERSKGFkZHIpCisKKy8qCisgKiBXZSBkbyB0aGUgbG9ja2VkIG9wcyB0aGF0IGRvbid0IHJldHVybiB0aGUgb2xkIHZhbHVlIGFzCisgKiBhIG1hc2sgb3BlcmF0aW9uIG9uIGEgYnl0ZS4KKyAqLworI2RlZmluZSBJU19JTU1FRElBVEUobnIpCQkoX19idWlsdGluX2NvbnN0YW50X3AobnIpKQorI2RlZmluZSBDT05TVF9NQVNLX0FERFIobnIsIGFkZHIpCUJJVE9QX0FERFIoKHZvaWQgKikoYWRkcikgKyAoKG5yKT4+MykpCisjZGVmaW5lIENPTlNUX01BU0sobnIpCQkJKDEgPDwgKChucikgJiA3KSkKKwogLyoqCiAgKiBzZXRfYml0IC0gQXRvbWljYWxseSBzZXQgYSBiaXQgaW4gbWVtb3J5CiAgKiBAbnI6IHRoZSBiaXQgdG8gc2V0CkBAIC00Myw5ICs1MywxNyBAQAogICogTm90ZSB0aGF0IEBuciBtYXkgYmUgYWxtb3N0IGFyYml0cmFyaWx5IGxhcmdlOyB0aGlzIGZ1bmN0aW9uIGlzIG5vdAogICogcmVzdHJpY3RlZCB0byBhY3Rpbmcgb24gYSBzaW5nbGUtd29yZCBxdWFudGl0eS4KICAqLwotc3RhdGljIGlubGluZSB2b2lkIHNldF9iaXQoaW50IG5yLCB2b2xhdGlsZSB2b2lkICphZGRyKQorc3RhdGljIGlubGluZSB2b2lkIHNldF9iaXQodW5zaWduZWQgaW50IG5yLCB2b2xhdGlsZSB1bnNpZ25lZCBsb25nICphZGRyKQogewotCWFzbSB2b2xhdGlsZShMT0NLX1BSRUZJWCAiYnRzICUxLCUwIiA6IEFERFIgOiAiSXIiIChucikgOiAibWVtb3J5Iik7CisJaWYgKElTX0lNTUVESUFURShucikpIHsKKwkJYXNtIHZvbGF0aWxlKExPQ0tfUFJFRklYICJvcmIgJTEsJTAiCisJCQk6IENPTlNUX01BU0tfQUREUihuciwgYWRkcikKKwkJCTogImlxIiAoKHU4KUNPTlNUX01BU0sobnIpKQorCQkJOiAibWVtb3J5Iik7CisJfSBlbHNlIHsKKwkJYXNtIHZvbGF0aWxlKExPQ0tfUFJFRklYICJidHMgJTEsJTAiCisJCQk6IEJJVE9QX0FERFIoYWRkcikgOiAiSXIiIChucikgOiAibWVtb3J5Iik7CisJfQogfQogCiAvKioKQEAgLTU3LDcgKzc1LDcgQEAKICAqIElmIGl0J3MgY2FsbGVkIG9uIHRoZSBzYW1lIHJlZ2lvbiBvZiBtZW1vcnkgc2ltdWx0YW5lb3VzbHksIHRoZSBlZmZlY3QKICAqIG1heSBiZSB0aGF0IG9ubHkgb25lIG9wZXJhdGlvbiBzdWNjZWVkcy4KICAqLwotc3RhdGljIGlubGluZSB2b2lkIF9fc2V0X2JpdChpbnQgbnIsIHZvbGF0aWxlIHZvaWQgKmFkZHIpCitzdGF0aWMgaW5saW5lIHZvaWQgX19zZXRfYml0KGludCBuciwgdm9sYXRpbGUgdW5zaWduZWQgbG9uZyAqYWRkcikKIHsKIAlhc20gdm9sYXRpbGUoImJ0cyAlMSwlMCIgOiBBRERSIDogIklyIiAobnIpIDogIm1lbW9yeSIpOwogfQpAQCAtNzIsOSArOTAsMTcgQEAKICAqIHlvdSBzaG91bGQgY2FsbCBzbXBfbWJfX2JlZm9yZV9jbGVhcl9iaXQoKSBhbmQvb3Igc21wX21iX19hZnRlcl9jbGVhcl9iaXQoKQogICogaW4gb3JkZXIgdG8gZW5zdXJlIGNoYW5nZXMgYXJlIHZpc2libGUgb24gb3RoZXIgcHJvY2Vzc29ycy4KICAqLwotc3RhdGljIGlubGluZSB2b2lkIGNsZWFyX2JpdChpbnQgbnIsIHZvbGF0aWxlIHZvaWQgKmFkZHIpCitzdGF0aWMgaW5saW5lIHZvaWQgY2xlYXJfYml0KGludCBuciwgdm9sYXRpbGUgdW5zaWduZWQgbG9uZyAqYWRkcikKIHsKLQlhc20gdm9sYXRpbGUoTE9DS19QUkVGSVggImJ0ciAlMSwlMCIgOiBBRERSIDogIklyIiAobnIpKTsKKwlpZiAoSVNfSU1NRURJQVRFKG5yKSkgeworCQlhc20gdm9sYXRpbGUoTE9DS19QUkVGSVggImFuZGIgJTEsJTAiCisJCQk6IENPTlNUX01BU0tfQUREUihuciwgYWRkcikKKwkJCTogImlxIiAoKHU4KX5DT05TVF9NQVNLKG5yKSkpOworCX0gZWxzZSB7CisJCWFzbSB2b2xhdGlsZShMT0NLX1BSRUZJWCAiYnRyICUxLCUwIgorCQkJOiBCSVRPUF9BRERSKGFkZHIpCisJCQk6ICJJciIgKG5yKSk7CisJfQogfQogCiAvKgpAQCAtODUsMTMgKzExMSwxMyBAQAogICogY2xlYXJfYml0KCkgaXMgYXRvbWljIGFuZCBpbXBsaWVzIHJlbGVhc2Ugc2VtYW50aWNzIGJlZm9yZSB0aGUgbWVtb3J5CiAgKiBvcGVyYXRpb24uIEl0IGNhbiBiZSB1c2VkIGZvciBhbiB1bmxvY2suCiAgKi8KLXN0YXRpYyBpbmxpbmUgdm9pZCBjbGVhcl9iaXRfdW5sb2NrKHVuc2lnbmVkIG5yLCB2b2xhdGlsZSB2b2lkICphZGRyKQorc3RhdGljIGlubGluZSB2b2lkIGNsZWFyX2JpdF91bmxvY2sodW5zaWduZWQgbnIsIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcgKmFkZHIpCiB7CiAJYmFycmllcigpOwogCWNsZWFyX2JpdChuciwgYWRkcik7CiB9CiAKLXN0YXRpYyBpbmxpbmUgdm9pZCBfX2NsZWFyX2JpdChpbnQgbnIsIHZvbGF0aWxlIHZvaWQgKmFkZHIpCitzdGF0aWMgaW5saW5lIHZvaWQgX19jbGVhcl9iaXQoaW50IG5yLCB2b2xhdGlsZSB1bnNpZ25lZCBsb25nICphZGRyKQogewogCWFzbSB2b2xhdGlsZSgiYnRyICUxLCUwIiA6IEFERFIgOiAiSXIiIChucikpOwogfQpAQCAtMTA4LDcgKzEzNCw3IEBACiAgKiBObyBtZW1vcnkgYmFycmllciBpcyByZXF1aXJlZCBoZXJlLCBiZWNhdXNlIHg4NiBjYW5ub3QgcmVvcmRlciBzdG9yZXMgcGFzdAogICogb2xkZXIgbG9hZHMuIFNhbWUgcHJpbmNpcGxlIGFzIHNwaW5fdW5sb2NrLgogICovCi1zdGF0aWMgaW5saW5lIHZvaWQgX19jbGVhcl9iaXRfdW5sb2NrKHVuc2lnbmVkIG5yLCB2b2xhdGlsZSB2b2lkICphZGRyKQorc3RhdGljIGlubGluZSB2b2lkIF9fY2xlYXJfYml0X3VubG9jayh1bnNpZ25lZCBuciwgdm9sYXRpbGUgdW5zaWduZWQgbG9uZyAqYWRkcikKIHsKIAliYXJyaWVyKCk7CiAJX19jbGVhcl9iaXQobnIsIGFkZHIpOwpAQCAtMTI2LDcgKzE1Miw3IEBACiAgKiBJZiBpdCdzIGNhbGxlZCBvbiB0aGUgc2FtZSByZWdpb24gb2YgbWVtb3J5IHNpbXVsdGFuZW91c2x5LCB0aGUgZWZmZWN0CiAgKiBtYXkgYmUgdGhhdCBvbmx5IG9uZSBvcGVyYXRpb24gc3VjY2VlZHMuCiAgKi8KLXN0YXRpYyBpbmxpbmUgdm9pZCBfX2NoYW5nZV9iaXQoaW50IG5yLCB2b2xhdGlsZSB2b2lkICphZGRyKQorc3RhdGljIGlubGluZSB2b2lkIF9fY2hhbmdlX2JpdChpbnQgbnIsIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcgKmFkZHIpCiB7CiAJYXNtIHZvbGF0aWxlKCJidGMgJTEsJTAiIDogQUREUiA6ICJJciIgKG5yKSk7CiB9CkBAIC0xNDAsNyArMTY2LDcgQEAKICAqIE5vdGUgdGhhdCBAbnIgbWF5IGJlIGFsbW9zdCBhcmJpdHJhcmlseSBsYXJnZTsgdGhpcyBmdW5jdGlvbiBpcyBub3QKICAqIHJlc3RyaWN0ZWQgdG8gYWN0aW5nIG9uIGEgc2luZ2xlLXdvcmQgcXVhbnRpdHkuCiAgKi8KLXN0YXRpYyBpbmxpbmUgdm9pZCBjaGFuZ2VfYml0KGludCBuciwgdm9sYXRpbGUgdm9pZCAqYWRkcikKK3N0YXRpYyBpbmxpbmUgdm9pZCBjaGFuZ2VfYml0KGludCBuciwgdm9sYXRpbGUgdW5zaWduZWQgbG9uZyAqYWRkcikKIHsKIAlhc20gdm9sYXRpbGUoTE9DS19QUkVGSVggImJ0YyAlMSwlMCIgOiBBRERSIDogIklyIiAobnIpKTsKIH0KQEAgLTE1Myw3ICsxNzksNyBAQAogICogVGhpcyBvcGVyYXRpb24gaXMgYXRvbWljIGFuZCBjYW5ub3QgYmUgcmVvcmRlcmVkLgogICogSXQgYWxzbyBpbXBsaWVzIGEgbWVtb3J5IGJhcnJpZXIuCiAgKi8KLXN0YXRpYyBpbmxpbmUgaW50IHRlc3RfYW5kX3NldF9iaXQoaW50IG5yLCB2b2xhdGlsZSB2b2lkICphZGRyKQorc3RhdGljIGlubGluZSBpbnQgdGVzdF9hbmRfc2V0X2JpdChpbnQgbnIsIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcgKmFkZHIpCiB7CiAJaW50IG9sZGJpdDsKIApAQCAtMTcwLDcgKzE5Niw3IEBACiAgKgogICogVGhpcyBpcyB0aGUgc2FtZSBhcyB0ZXN0X2FuZF9zZXRfYml0IG9uIHg4Ni4KICAqLwotc3RhdGljIGlubGluZSBpbnQgdGVzdF9hbmRfc2V0X2JpdF9sb2NrKGludCBuciwgdm9sYXRpbGUgdm9pZCAqYWRkcikKK3N0YXRpYyBpbmxpbmUgaW50IHRlc3RfYW5kX3NldF9iaXRfbG9jayhpbnQgbnIsIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcgKmFkZHIpCiB7CiAJcmV0dXJuIHRlc3RfYW5kX3NldF9iaXQobnIsIGFkZHIpOwogfQpAQCAtMTg0LDcgKzIxMCw3IEBACiAgKiBJZiB0d28gZXhhbXBsZXMgb2YgdGhpcyBvcGVyYXRpb24gcmFjZSwgb25lIGNhbiBhcHBlYXIgdG8gc3VjY2VlZAogICogYnV0IGFjdHVhbGx5IGZhaWwuICBZb3UgbXVzdCBwcm90ZWN0IG11bHRpcGxlIGFjY2Vzc2VzIHdpdGggYSBsb2NrLgogICovCi1zdGF0aWMgaW5saW5lIGludCBfX3Rlc3RfYW5kX3NldF9iaXQoaW50IG5yLCB2b2xhdGlsZSB2b2lkICphZGRyKQorc3RhdGljIGlubGluZSBpbnQgX190ZXN0X2FuZF9zZXRfYml0KGludCBuciwgdm9sYXRpbGUgdW5zaWduZWQgbG9uZyAqYWRkcikKIHsKIAlpbnQgb2xkYml0OwogCkBAIC0yMDMsNyArMjI5LDcgQEAKICAqIFRoaXMgb3BlcmF0aW9uIGlzIGF0b21pYyBhbmQgY2Fubm90IGJlIHJlb3JkZXJlZC4KICAqIEl0IGFsc28gaW1wbGllcyBhIG1lbW9yeSBiYXJyaWVyLgogICovCi1zdGF0aWMgaW5saW5lIGludCB0ZXN0X2FuZF9jbGVhcl9iaXQoaW50IG5yLCB2b2xhdGlsZSB2b2lkICphZGRyKQorc3RhdGljIGlubGluZSBpbnQgdGVzdF9hbmRfY2xlYXJfYml0KGludCBuciwgdm9sYXRpbGUgdW5zaWduZWQgbG9uZyAqYWRkcikKIHsKIAlpbnQgb2xkYml0OwogCkBAIC0yMjMsNyArMjQ5LDcgQEAKICAqIElmIHR3byBleGFtcGxlcyBvZiB0aGlzIG9wZXJhdGlvbiByYWNlLCBvbmUgY2FuIGFwcGVhciB0byBzdWNjZWVkCiAgKiBidXQgYWN0dWFsbHkgZmFpbC4gIFlvdSBtdXN0IHByb3RlY3QgbXVsdGlwbGUgYWNjZXNzZXMgd2l0aCBhIGxvY2suCiAgKi8KLXN0YXRpYyBpbmxpbmUgaW50IF9fdGVzdF9hbmRfY2xlYXJfYml0KGludCBuciwgdm9sYXRpbGUgdm9pZCAqYWRkcikKK3N0YXRpYyBpbmxpbmUgaW50IF9fdGVzdF9hbmRfY2xlYXJfYml0KGludCBuciwgdm9sYXRpbGUgdW5zaWduZWQgbG9uZyAqYWRkcikKIHsKIAlpbnQgb2xkYml0OwogCkBAIC0yMzUsNyArMjYxLDcgQEAKIH0KIAogLyogV0FSTklORzogbm9uIGF0b21pYyBhbmQgaXQgY2FuIGJlIHJlb3JkZXJlZCEgKi8KLXN0YXRpYyBpbmxpbmUgaW50IF9fdGVzdF9hbmRfY2hhbmdlX2JpdChpbnQgbnIsIHZvbGF0aWxlIHZvaWQgKmFkZHIpCitzdGF0aWMgaW5saW5lIGludCBfX3Rlc3RfYW5kX2NoYW5nZV9iaXQoaW50IG5yLCB2b2xhdGlsZSB1bnNpZ25lZCBsb25nICphZGRyKQogewogCWludCBvbGRiaXQ7CiAKQEAgLTI1NSw3ICsyODEsNyBAQAogICogVGhpcyBvcGVyYXRpb24gaXMgYXRvbWljIGFuZCBjYW5ub3QgYmUgcmVvcmRlcmVkLgogICogSXQgYWxzbyBpbXBsaWVzIGEgbWVtb3J5IGJhcnJpZXIuCiAgKi8KLXN0YXRpYyBpbmxpbmUgaW50IHRlc3RfYW5kX2NoYW5nZV9iaXQoaW50IG5yLCB2b2xhdGlsZSB2b2lkICphZGRyKQorc3RhdGljIGlubGluZSBpbnQgdGVzdF9hbmRfY2hhbmdlX2JpdChpbnQgbnIsIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcgKmFkZHIpCiB7CiAJaW50IG9sZGJpdDsKIApAQCAtMjY2LDEzICsyOTIsMTMgQEAKIAlyZXR1cm4gb2xkYml0OwogfQogCi1zdGF0aWMgaW5saW5lIGludCBjb25zdGFudF90ZXN0X2JpdChpbnQgbnIsIGNvbnN0IHZvbGF0aWxlIHZvaWQgKmFkZHIpCitzdGF0aWMgaW5saW5lIGludCBjb25zdGFudF90ZXN0X2JpdChpbnQgbnIsIGNvbnN0IHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcgKmFkZHIpCiB7CiAJcmV0dXJuICgoMVVMIDw8IChuciAlIEJJVFNfUEVSX0xPTkcpKSAmCiAJCSgoKHVuc2lnbmVkIGxvbmcgKilhZGRyKVtuciAvIEJJVFNfUEVSX0xPTkddKSkgIT0gMDsKIH0KIAotc3RhdGljIGlubGluZSBpbnQgdmFyaWFibGVfdGVzdF9iaXQoaW50IG5yLCB2b2xhdGlsZSBjb25zdCB2b2lkICphZGRyKQorc3RhdGljIGlubGluZSBpbnQgdmFyaWFibGVfdGVzdF9iaXQoaW50IG5yLCB2b2xhdGlsZSBjb25zdCB1bnNpZ25lZCBsb25nICphZGRyKQogewogCWludCBvbGRiaXQ7CiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9ib290cGFyYW0uaCBiL2luY2x1ZGUvYXNtLXg4Ni9ib290cGFyYW0uaAppbmRleCBmNjJmNDczLi5hZTIyYmRmIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvYm9vdHBhcmFtLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L2Jvb3RwYXJhbS5oCkBAIC0xMSw2ICsxMSw3IEBACiAKIC8qIHNldHVwIGRhdGEgdHlwZXMgKi8KICNkZWZpbmUgU0VUVVBfTk9ORQkJCTAKKyNkZWZpbmUgU0VUVVBfRTgyMF9FWFQJCQkxCiAKIC8qIGV4dGVuc2libGUgc2V0dXAgZGF0YSBsaXN0IG5vZGUgKi8KIHN0cnVjdCBzZXR1cF9kYXRhIHsKQEAgLTQwLDYgKzQxLDcgQEAKIAlfX3U4CXR5cGVfb2ZfbG9hZGVyOwogCV9fdTgJbG9hZGZsYWdzOwogI2RlZmluZSBMT0FERURfSElHSAkoMTw8MCkKKyNkZWZpbmUgUVVJRVRfRkxBRwkoMTw8NSkKICNkZWZpbmUgS0VFUF9TRUdNRU5UUwkoMTw8NikKICNkZWZpbmUgQ0FOX1VTRV9IRUFQCSgxPDw3KQogCV9fdTE2CXNldHVwX21vdmVfc2l6ZTsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9jbXB4Y2hnXzY0LmggYi9pbmNsdWRlL2FzbS14ODYvY21weGNoZ182NC5oCmluZGV4IGQ5YjI2YjkuLjE3NDYzY2MgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9jbXB4Y2hnXzY0LmgKKysrIGIvaW5jbHVkZS9hc20teDg2L2NtcHhjaGdfNjQuaApAQCAtOTMsNiArOTMsMzkgQEAKIAlyZXR1cm4gb2xkOwogfQogCisvKgorICogQWx3YXlzIHVzZSBsb2NrZWQgb3BlcmF0aW9ucyB3aGVuIHRvdWNoaW5nIG1lbW9yeSBzaGFyZWQgd2l0aCBhCisgKiBoeXBlcnZpc29yLCBzaW5jZSB0aGUgc3lzdGVtIG1heSBiZSBTTVAgZXZlbiBpZiB0aGUgZ3Vlc3Qga2VybmVsCisgKiBpc24ndC4KKyAqLworc3RhdGljIGlubGluZSB1bnNpZ25lZCBsb25nIF9fc3luY19jbXB4Y2hnKHZvbGF0aWxlIHZvaWQgKnB0ciwKKwkJCQkJICAgdW5zaWduZWQgbG9uZyBvbGQsCisJCQkJCSAgIHVuc2lnbmVkIGxvbmcgbmV3LCBpbnQgc2l6ZSkKK3sKKwl1bnNpZ25lZCBsb25nIHByZXY7CisJc3dpdGNoIChzaXplKSB7CisJY2FzZSAxOgorCQlhc20gdm9sYXRpbGUoImxvY2s7IGNtcHhjaGdiICViMSwlMiIKKwkJCSAgICAgOiAiPWEiKHByZXYpCisJCQkgICAgIDogInEiKG5ldyksICJtIigqX194ZyhwdHIpKSwgIjAiKG9sZCkKKwkJCSAgICAgOiAibWVtb3J5Iik7CisJCXJldHVybiBwcmV2OworCWNhc2UgMjoKKwkJYXNtIHZvbGF0aWxlKCJsb2NrOyBjbXB4Y2hndyAldzEsJTIiCisJCQkgICAgIDogIj1hIihwcmV2KQorCQkJICAgICA6ICJyIihuZXcpLCAibSIoKl9feGcocHRyKSksICIwIihvbGQpCisJCQkgICAgIDogIm1lbW9yeSIpOworCQlyZXR1cm4gcHJldjsKKwljYXNlIDQ6CisJCWFzbSB2b2xhdGlsZSgibG9jazsgY21weGNoZ2wgJTEsJTIiCisJCQkgICAgIDogIj1hIihwcmV2KQorCQkJICAgICA6ICJyIihuZXcpLCAibSIoKl9feGcocHRyKSksICIwIihvbGQpCisJCQkgICAgIDogIm1lbW9yeSIpOworCQlyZXR1cm4gcHJldjsKKwl9CisJcmV0dXJuIG9sZDsKK30KKwogc3RhdGljIGlubGluZSB1bnNpZ25lZCBsb25nIF9fY21weGNoZ19sb2NhbCh2b2xhdGlsZSB2b2lkICpwdHIsCiAJCQkJCSAgICB1bnNpZ25lZCBsb25nIG9sZCwKIAkJCQkJICAgIHVuc2lnbmVkIGxvbmcgbmV3LCBpbnQgc2l6ZSkKQEAgLTEzOSw2ICsxNzIsMTAgQEAKIAkoKF9fdHlwZW9mX18oKihwdHIpKSlfX2NtcHhjaGdfbG9jYWwoKHB0ciksICh1bnNpZ25lZCBsb25nKShvKSwJXAogCQkJCQkgICAgICh1bnNpZ25lZCBsb25nKShuKSwJXAogCQkJCQkgICAgIHNpemVvZigqKHB0cikpKSkKKyNkZWZpbmUgc3luY19jbXB4Y2hnKHB0ciwgbywgbikJCQkJCQlcCisJKChfX3R5cGVvZl9fKCoocHRyKSkpX19zeW5jX2NtcHhjaGcoKHB0ciksICh1bnNpZ25lZCBsb25nKShvKSwJXAorCQkJCQkgICAgKHVuc2lnbmVkIGxvbmcpKG4pLAkJXAorCQkJCQkgICAgc2l6ZW9mKCoocHRyKSkpKQogI2RlZmluZSBjbXB4Y2hnNjRfbG9jYWwocHRyLCBvLCBuKQkJCQkJXAogKHsJCQkJCQkJCQlcCiAJQlVJTERfQlVHX09OKHNpemVvZigqKHB0cikpICE9IDgpOwkJCQlcCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvY3B1ZmVhdHVyZS5oIGIvaW5jbHVkZS9hc20teDg2L2NwdWZlYXR1cmUuaAppbmRleCAwZDYwOWM4Li43NWVmOTU5IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvY3B1ZmVhdHVyZS5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9jcHVmZWF0dXJlLmgKQEAgLTc0LDggKzc0LDggQEAKICNkZWZpbmUgWDg2X0ZFQVRVUkVfQVJDSF9QRVJGTU9OICgzKjMyKzExKSAvKiBJbnRlbCBBcmNoaXRlY3R1cmFsIFBlcmZNb24gKi8KICNkZWZpbmUgWDg2X0ZFQVRVUkVfUEVCUwkoMyozMisxMikgIC8qIFByZWNpc2UtRXZlbnQgQmFzZWQgU2FtcGxpbmcgKi8KICNkZWZpbmUgWDg2X0ZFQVRVUkVfQlRTCQkoMyozMisxMykgIC8qIEJyYW5jaCBUcmFjZSBTdG9yZSAqLwotLyogMTQgZnJlZSAqLwotLyogMTUgZnJlZSAqLworI2RlZmluZSBYODZfRkVBVFVSRV9TWVNDQUxMMzIJKDMqMzIrMTQpICAvKiBzeXNjYWxsIGluIGlhMzIgdXNlcnNwYWNlICovCisjZGVmaW5lIFg4Nl9GRUFUVVJFX1NZU0VOVEVSMzIJKDMqMzIrMTUpICAvKiBzeXNlbnRlciBpbiBpYTMyIHVzZXJzcGFjZSAqLwogI2RlZmluZSBYODZfRkVBVFVSRV9SRVBfR09PRAkoMyozMisxNikgLyogcmVwIG1pY3JvY29kZSB3b3JrcyB3ZWxsIG9uIHRoaXMgQ1BVICovCiAjZGVmaW5lIFg4Nl9GRUFUVVJFX01GRU5DRV9SRFRTQyAoMyozMisxNykgLyogTWZlbmNlIHN5bmNocm9uaXplcyBSRFRTQyAqLwogI2RlZmluZSBYODZfRkVBVFVSRV9MRkVOQ0VfUkRUU0MgKDMqMzIrMTgpIC8qIExmZW5jZSBzeW5jaHJvbml6ZXMgUkRUU0MgKi8KQEAgLTEwNiw2ICsxMDYsNyBAQAogLyogTW9yZSBleHRlbmRlZCBBTUQgZmxhZ3M6IENQVUlEIGxldmVsIDB4ODAwMDAwMDEsIGVjeCwgd29yZCA2ICovCiAjZGVmaW5lIFg4Nl9GRUFUVVJFX0xBSEZfTE0JKDYqMzIrIDApIC8qIExBSEYvU0FIRiBpbiBsb25nIG1vZGUgKi8KICNkZWZpbmUgWDg2X0ZFQVRVUkVfQ01QX0xFR0FDWQkoNiozMisgMSkgLyogSWYgeWVzIEh5cGVyVGhyZWFkaW5nIG5vdCB2YWxpZCAqLworI2RlZmluZSBYODZfRkVBVFVSRV9JQlMJCSg2KjMyKyAxMCkgLyogSW5zdHJ1Y3Rpb24gQmFzZWQgU2FtcGxpbmcgKi8KIAogLyoKICAqIEF1eGlsaWFyeSBmbGFnczogTGludXggZGVmaW5lZCAtIEZvciBmZWF0dXJlcyBzY2F0dGVyZWQgaW4gdmFyaW91cwpAQCAtMTQyLDExICsxNDMsMTEgQEAKICNkZWZpbmUgY2xlYXJfY3B1X2NhcChjLCBiaXQpCWNsZWFyX2JpdChiaXQsICh1bnNpZ25lZCBsb25nICopKChjKS0+eDg2X2NhcGFiaWxpdHkpKQogI2RlZmluZSBzZXR1cF9jbGVhcl9jcHVfY2FwKGJpdCkgZG8geyBcCiAJY2xlYXJfY3B1X2NhcCgmYm9vdF9jcHVfZGF0YSwgYml0KTsJXAotCXNldF9iaXQoYml0LCBjbGVhcmVkX2NwdV9jYXBzKTsgCVwKKwlzZXRfYml0KGJpdCwgKHVuc2lnbmVkIGxvbmcgKiljbGVhcmVkX2NwdV9jYXBzKTsgXAogfSB3aGlsZSAoMCkKICNkZWZpbmUgc2V0dXBfZm9yY2VfY3B1X2NhcChiaXQpIGRvIHsgXAogCXNldF9jcHVfY2FwKCZib290X2NwdV9kYXRhLCBiaXQpOwlcCi0JY2xlYXJfYml0KGJpdCwgY2xlYXJlZF9jcHVfY2Fwcyk7IAlcCisJY2xlYXJfYml0KGJpdCwgKHVuc2lnbmVkIGxvbmcgKiljbGVhcmVkX2NwdV9jYXBzKTsgCVwKIH0gd2hpbGUgKDApCiAKICNkZWZpbmUgY3B1X2hhc19mcHUJCWJvb3RfY3B1X2hhcyhYODZfRkVBVFVSRV9GUFUpCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvY3VycmVudC5oIGIvaW5jbHVkZS9hc20teDg2L2N1cnJlbnQuaAppbmRleCBkMjUyNmQzLi43NTE1YzE5IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvY3VycmVudC5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9jdXJyZW50LmgKQEAgLTEsNSArMSwzOSBAQAorI2lmbmRlZiBfWDg2X0NVUlJFTlRfSAorI2RlZmluZSBfWDg2X0NVUlJFTlRfSAorCiAjaWZkZWYgQ09ORklHX1g4Nl8zMgotIyBpbmNsdWRlICJjdXJyZW50XzMyLmgiCi0jZWxzZQotIyBpbmNsdWRlICJjdXJyZW50XzY0LmgiCi0jZW5kaWYKKyNpbmNsdWRlIDxsaW51eC9jb21waWxlci5oPgorI2luY2x1ZGUgPGFzbS9wZXJjcHUuaD4KKworc3RydWN0IHRhc2tfc3RydWN0OworCitERUNMQVJFX1BFUl9DUFUoc3RydWN0IHRhc2tfc3RydWN0ICosIGN1cnJlbnRfdGFzayk7CitzdGF0aWMgX19hbHdheXNfaW5saW5lIHN0cnVjdCB0YXNrX3N0cnVjdCAqZ2V0X2N1cnJlbnQodm9pZCkKK3sKKwlyZXR1cm4geDg2X3JlYWRfcGVyY3B1KGN1cnJlbnRfdGFzayk7Cit9CisKKyNlbHNlIC8qIFg4Nl8zMiAqLworCisjaWZuZGVmIF9fQVNTRU1CTFlfXworI2luY2x1ZGUgPGFzbS9wZGEuaD4KKworc3RydWN0IHRhc2tfc3RydWN0OworCitzdGF0aWMgX19hbHdheXNfaW5saW5lIHN0cnVjdCB0YXNrX3N0cnVjdCAqZ2V0X2N1cnJlbnQodm9pZCkKK3sKKwlyZXR1cm4gcmVhZF9wZGEocGN1cnJlbnQpOworfQorCisjZWxzZSAvKiBfX0FTU0VNQkxZX18gKi8KKworI2luY2x1ZGUgPGFzbS9hc20tb2Zmc2V0cy5oPgorI2RlZmluZSBHRVRfQ1VSUkVOVChyZWcpIG1vdnEgJWdzOihwZGFfcGN1cnJlbnQpLHJlZworCisjZW5kaWYgLyogX19BU1NFTUJMWV9fICovCisKKyNlbmRpZiAvKiBYODZfMzIgKi8KKworI2RlZmluZSBjdXJyZW50IGdldF9jdXJyZW50KCkKKworI2VuZGlmIC8qIFg4Nl9DVVJSRU5UX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9jdXJyZW50XzMyLmggYi9pbmNsdWRlL2FzbS14ODYvY3VycmVudF8zMi5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1YWY5YmRiLi4wMDAwMDAwCi0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9jdXJyZW50XzMyLmgKKysrIC9kZXYvbnVsbApAQCAtMSwxNyArMCwwIEBACi0jaWZuZGVmIF9JMzg2X0NVUlJFTlRfSAotI2RlZmluZSBfSTM4Nl9DVVJSRU5UX0gKLQotI2luY2x1ZGUgPGxpbnV4L2NvbXBpbGVyLmg+Ci0jaW5jbHVkZSA8YXNtL3BlcmNwdS5oPgotCi1zdHJ1Y3QgdGFza19zdHJ1Y3Q7Ci0KLURFQ0xBUkVfUEVSX0NQVShzdHJ1Y3QgdGFza19zdHJ1Y3QgKiwgY3VycmVudF90YXNrKTsKLXN0YXRpYyBfX2Fsd2F5c19pbmxpbmUgc3RydWN0IHRhc2tfc3RydWN0ICpnZXRfY3VycmVudCh2b2lkKQotewotCXJldHVybiB4ODZfcmVhZF9wZXJjcHUoY3VycmVudF90YXNrKTsKLX0KLQotI2RlZmluZSBjdXJyZW50IGdldF9jdXJyZW50KCkKLQotI2VuZGlmIC8qICEoX0kzODZfQ1VSUkVOVF9IKSAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L2N1cnJlbnRfNjQuaCBiL2luY2x1ZGUvYXNtLXg4Ni9jdXJyZW50XzY0LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDJkMzY4ZWQuLjAwMDAwMDAKLS0tIGEvaW5jbHVkZS9hc20teDg2L2N1cnJlbnRfNjQuaAorKysgL2Rldi9udWxsCkBAIC0xLDI3ICswLDAgQEAKLSNpZm5kZWYgX1g4Nl82NF9DVVJSRU5UX0gKLSNkZWZpbmUgX1g4Nl82NF9DVVJSRU5UX0gKLQotI2lmICFkZWZpbmVkKF9fQVNTRU1CTFlfXykKLXN0cnVjdCB0YXNrX3N0cnVjdDsKLQotI2luY2x1ZGUgPGFzbS9wZGEuaD4KLQotc3RhdGljIGlubGluZSBzdHJ1Y3QgdGFza19zdHJ1Y3QgKmdldF9jdXJyZW50KHZvaWQpCi17Ci0Jc3RydWN0IHRhc2tfc3RydWN0ICp0ID0gcmVhZF9wZGEocGN1cnJlbnQpOwotCXJldHVybiB0OwotfQotCi0jZGVmaW5lIGN1cnJlbnQgZ2V0X2N1cnJlbnQoKQotCi0jZWxzZQotCi0jaWZuZGVmIEFTTV9PRkZTRVRfSAotI2luY2x1ZGUgPGFzbS9hc20tb2Zmc2V0cy5oPgotI2VuZGlmCi0KLSNkZWZpbmUgR0VUX0NVUlJFTlQocmVnKSBtb3ZxICVnczoocGRhX3BjdXJyZW50KSxyZWcKLQotI2VuZGlmCi0KLSNlbmRpZiAvKiAhKF9YODZfNjRfQ1VSUkVOVF9IKSAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L2Rlc2MuaCBiL2luY2x1ZGUvYXNtLXg4Ni9kZXNjLmgKaW5kZXggMjhiZGRiYy4uYTQ0YzRkYyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L2Rlc2MuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvZGVzYy5oCkBAIC0yOSwxMSArMjksMTcgQEAKIGV4dGVybiBzdHJ1Y3QgZGVzY19wdHIgaWR0X2Rlc2NyOwogZXh0ZXJuIGdhdGVfZGVzYyBpZHRfdGFibGVbXTsKIAorc3RydWN0IGdkdF9wYWdlIHsKKwlzdHJ1Y3QgZGVzY19zdHJ1Y3QgZ2R0W0dEVF9FTlRSSUVTXTsKK30gX19hdHRyaWJ1dGVfXygoYWxpZ25lZChQQUdFX1NJWkUpKSk7CitERUNMQVJFX1BFUl9DUFUoc3RydWN0IGdkdF9wYWdlLCBnZHRfcGFnZSk7CisKK3N0YXRpYyBpbmxpbmUgc3RydWN0IGRlc2Nfc3RydWN0ICpnZXRfY3B1X2dkdF90YWJsZSh1bnNpZ25lZCBpbnQgY3B1KQoreworCXJldHVybiBwZXJfY3B1KGdkdF9wYWdlLCBjcHUpLmdkdDsKK30KKwogI2lmZGVmIENPTkZJR19YODZfNjQKLWV4dGVybiBzdHJ1Y3QgZGVzY19zdHJ1Y3QgY3B1X2dkdF90YWJsZVtHRFRfRU5UUklFU107Ci1leHRlcm4gc3RydWN0IGRlc2NfcHRyIGNwdV9nZHRfZGVzY3JbXTsKLS8qIHRoZSBjcHUgZ2R0IGFjY2Vzc29yICovCi0jZGVmaW5lIGdldF9jcHVfZ2R0X3RhYmxlKHgpICgoc3RydWN0IGRlc2Nfc3RydWN0ICopY3B1X2dkdF9kZXNjclt4XS5hZGRyZXNzKQogCiBzdGF0aWMgaW5saW5lIHZvaWQgcGFja19nYXRlKGdhdGVfZGVzYyAqZ2F0ZSwgdW5zaWduZWQgdHlwZSwgdW5zaWduZWQgbG9uZyBmdW5jLAogCQkJICAgICB1bnNpZ25lZCBkcGwsIHVuc2lnbmVkIGlzdCwgdW5zaWduZWQgc2VnKQpAQCAtNTEsMTYgKzU3LDYgQEAKIH0KIAogI2Vsc2UKLXN0cnVjdCBnZHRfcGFnZSB7Ci0Jc3RydWN0IGRlc2Nfc3RydWN0IGdkdFtHRFRfRU5UUklFU107Ci19IF9fYXR0cmlidXRlX18oKGFsaWduZWQoUEFHRV9TSVpFKSkpOwotREVDTEFSRV9QRVJfQ1BVKHN0cnVjdCBnZHRfcGFnZSwgZ2R0X3BhZ2UpOwotCi1zdGF0aWMgaW5saW5lIHN0cnVjdCBkZXNjX3N0cnVjdCAqZ2V0X2NwdV9nZHRfdGFibGUodW5zaWduZWQgaW50IGNwdSkKLXsKLQlyZXR1cm4gcGVyX2NwdShnZHRfcGFnZSwgY3B1KS5nZHQ7Ci19Ci0KIHN0YXRpYyBpbmxpbmUgdm9pZCBwYWNrX2dhdGUoZ2F0ZV9kZXNjICpnYXRlLCB1bnNpZ25lZCBjaGFyIHR5cGUsCiAJCQkgICAgIHVuc2lnbmVkIGxvbmcgYmFzZSwgdW5zaWduZWQgZHBsLCB1bnNpZ25lZCBmbGFncywKIAkJCSAgICAgdW5zaWduZWQgc2hvcnQgc2VnKQpAQCAtMzExLDYgKzMwNywyOCBAQAogCV9zZXRfZ2F0ZShuLCBHQVRFX0lOVEVSUlVQVCwgYWRkciwgMCwgMCwgX19LRVJORUxfQ1MpOwogfQogCisjZGVmaW5lIFNZU19WRUNUT1JfRlJFRQkJMAorI2RlZmluZSBTWVNfVkVDVE9SX0FMTE9DRUQJMQorCitleHRlcm4gaW50IGZpcnN0X3N5c3RlbV92ZWN0b3I7CitleHRlcm4gY2hhciBzeXN0ZW1fdmVjdG9yc1tdOworCitzdGF0aWMgaW5saW5lIHZvaWQgYWxsb2Nfc3lzdGVtX3ZlY3RvcihpbnQgdmVjdG9yKQoreworCWlmIChzeXN0ZW1fdmVjdG9yc1t2ZWN0b3JdID09IFNZU19WRUNUT1JfRlJFRSkgeworCQlzeXN0ZW1fdmVjdG9yc1t2ZWN0b3JdID0gU1lTX1ZFQ1RPUl9BTExPQ0VEOworCQlpZiAoZmlyc3Rfc3lzdGVtX3ZlY3RvciA+IHZlY3RvcikKKwkJCWZpcnN0X3N5c3RlbV92ZWN0b3IgPSB2ZWN0b3I7CisJfSBlbHNlCisJCUJVRygpOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgYWxsb2NfaW50cl9nYXRlKHVuc2lnbmVkIGludCBuLCB2b2lkICphZGRyKQoreworCWFsbG9jX3N5c3RlbV92ZWN0b3Iobik7CisJc2V0X2ludHJfZ2F0ZShuLCBhZGRyKTsKK30KKwogLyoKICAqIFRoaXMgcm91dGluZSBzZXRzIHVwIGFuIGludGVycnVwdCBnYXRlIGF0IGRpcmVjdG9yeSBwcml2aWxlZ2UgbGV2ZWwgMy4KICAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L2Rlc2NfZGVmcy5oIGIvaW5jbHVkZS9hc20teDg2L2Rlc2NfZGVmcy5oCmluZGV4IGVjY2I0ZWEuLmY3YmFjZjMgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9kZXNjX2RlZnMuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvZGVzY19kZWZzLmgKQEAgLTc1LDEwICs3NSwxNCBAQAogdHlwZWRlZiBzdHJ1Y3QgZ2F0ZV9zdHJ1Y3Q2NCBnYXRlX2Rlc2M7CiB0eXBlZGVmIHN0cnVjdCBsZHR0c3NfZGVzYzY0IGxkdF9kZXNjOwogdHlwZWRlZiBzdHJ1Y3QgbGR0dHNzX2Rlc2M2NCB0c3NfZGVzYzsKKyNkZWZpbmUgZ2F0ZV9vZmZzZXQoZykgKChnKS5vZmZzZXRfbG93IHwgKCh1bnNpZ25lZCBsb25nKShnKS5vZmZzZXRfbWlkZGxlIDw8IDE2KSB8ICgodW5zaWduZWQgbG9uZykoZykub2Zmc2V0X2hpZ2ggPDwgMzIpKQorI2RlZmluZSBnYXRlX3NlZ21lbnQoZykgKChnKS5zZWdtZW50KQogI2Vsc2UKIHR5cGVkZWYgc3RydWN0IGRlc2Nfc3RydWN0IGdhdGVfZGVzYzsKIHR5cGVkZWYgc3RydWN0IGRlc2Nfc3RydWN0IGxkdF9kZXNjOwogdHlwZWRlZiBzdHJ1Y3QgZGVzY19zdHJ1Y3QgdHNzX2Rlc2M7CisjZGVmaW5lIGdhdGVfb2Zmc2V0KGcpCQkoKChnKS5iICYgMHhmZmZmMDAwMCkgfCAoKGcpLmEgJiAweDAwMDBmZmZmKSkKKyNkZWZpbmUgZ2F0ZV9zZWdtZW50KGcpCQkoKGcpLmEgPj4gMTYpCiAjZW5kaWYKIAogc3RydWN0IGRlc2NfcHRyIHsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9kbWkuaCBiL2luY2x1ZGUvYXNtLXg4Ni9kbWkuaAppbmRleCA0ZWRmNzUxLi41OGE4NjU3IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvZG1pLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L2RtaS5oCkBAIC0zLDEyICszLDYgQEAKIAogI2luY2x1ZGUgPGFzbS9pby5oPgogCi0jaWZkZWYgQ09ORklHX1g4Nl8zMgotCi0jZGVmaW5lIGRtaV9hbGxvYyBhbGxvY19ib290bWVtCi0KLSNlbHNlIC8qIENPTkZJR19YODZfMzIgKi8KLQogI2RlZmluZSBETUlfTUFYX0RBVEEgMjA0OAogCiBleHRlcm4gaW50IGRtaV9hbGxvY19pbmRleDsKQEAgLTI1LDggKzE5LDYgQEAKIAlyZXR1cm4gZG1pX2FsbG9jX2RhdGEgKyBpZHg7CiB9CiAKLSNlbmRpZgotCiAvKiBVc2UgZWFybHkgSU8gbWFwcGluZ3MgZm9yIERNSSBiZWNhdXNlIGl0J3MgaW5pdGlhbGl6ZWQgZWFybHkgKi8KICNkZWZpbmUgZG1pX2lvcmVtYXAgZWFybHlfaW9yZW1hcAogI2RlZmluZSBkbWlfaW91bm1hcCBlYXJseV9pb3VubWFwCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvZHdhcmYyLmggYi9pbmNsdWRlL2FzbS14ODYvZHdhcmYyLmgKaW5kZXggYjNjYmIwYy4uNzM4YmI5ZiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L2R3YXJmMi5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9kd2FyZjIuaApAQCAtMSw1ICsxLDYxIEBACi0jaWZkZWYgQ09ORklHX1g4Nl8zMgotIyBpbmNsdWRlICJkd2FyZjJfMzIuaCIKKyNpZm5kZWYgX0RXQVJGMl9ICisjZGVmaW5lIF9EV0FSRjJfSAorCisjaWZuZGVmIF9fQVNTRU1CTFlfXworI3dhcm5pbmcgImFzbS9kd2FyZjIuaCBzaG91bGQgYmUgb25seSBpbmNsdWRlZCBpbiBwdXJlIGFzc2VtYmx5IGZpbGVzIgorI2VuZGlmCisKKy8qCisgICBNYWNyb3MgZm9yIGR3YXJmMiBDRkkgdW53aW5kIHRhYmxlIGVudHJpZXMuCisgICBTZWUgImFzLmluZm8iIGZvciBkZXRhaWxzIG9uIHRoZXNlIHBzZXVkbyBvcHMuIFVuZm9ydHVuYXRlbHkKKyAgIHRoZXkgYXJlIG9ubHkgc3VwcG9ydGVkIGluIHZlcnkgbmV3IGJpbnV0aWxzLCBzbyBkZWZpbmUgdGhlbQorICAgYXdheSBmb3Igb2xkZXIgdmVyc2lvbi4KKyAqLworCisjaWZkZWYgQ09ORklHX0FTX0NGSQorCisjZGVmaW5lIENGSV9TVEFSVFBST0MgLmNmaV9zdGFydHByb2MKKyNkZWZpbmUgQ0ZJX0VORFBST0MgLmNmaV9lbmRwcm9jCisjZGVmaW5lIENGSV9ERUZfQ0ZBIC5jZmlfZGVmX2NmYQorI2RlZmluZSBDRklfREVGX0NGQV9SRUdJU1RFUiAuY2ZpX2RlZl9jZmFfcmVnaXN0ZXIKKyNkZWZpbmUgQ0ZJX0RFRl9DRkFfT0ZGU0VUIC5jZmlfZGVmX2NmYV9vZmZzZXQKKyNkZWZpbmUgQ0ZJX0FESlVTVF9DRkFfT0ZGU0VUIC5jZmlfYWRqdXN0X2NmYV9vZmZzZXQKKyNkZWZpbmUgQ0ZJX09GRlNFVCAuY2ZpX29mZnNldAorI2RlZmluZSBDRklfUkVMX09GRlNFVCAuY2ZpX3JlbF9vZmZzZXQKKyNkZWZpbmUgQ0ZJX1JFR0lTVEVSIC5jZmlfcmVnaXN0ZXIKKyNkZWZpbmUgQ0ZJX1JFU1RPUkUgLmNmaV9yZXN0b3JlCisjZGVmaW5lIENGSV9SRU1FTUJFUl9TVEFURSAuY2ZpX3JlbWVtYmVyX3N0YXRlCisjZGVmaW5lIENGSV9SRVNUT1JFX1NUQVRFIC5jZmlfcmVzdG9yZV9zdGF0ZQorI2RlZmluZSBDRklfVU5ERUZJTkVEIC5jZmlfdW5kZWZpbmVkCisKKyNpZmRlZiBDT05GSUdfQVNfQ0ZJX1NJR05BTF9GUkFNRQorI2RlZmluZSBDRklfU0lHTkFMX0ZSQU1FIC5jZmlfc2lnbmFsX2ZyYW1lCiAjZWxzZQotIyBpbmNsdWRlICJkd2FyZjJfNjQuaCIKKyNkZWZpbmUgQ0ZJX1NJR05BTF9GUkFNRQorI2VuZGlmCisKKyNlbHNlCisKKy8qIER1ZSB0byB0aGUgc3RydWN0dXJlIG9mIHByZS1leGlzaXRpbmcgY29kZSwgZG9uJ3QgdXNlIGFzc2VtYmxlciBsaW5lCisgICBjb21tZW50IGNoYXJhY3RlciAjIHRvIGlnbm9yZSB0aGUgYXJndW1lbnRzLiBJbnN0ZWFkLCB1c2UgYSBkdW1teSBtYWNyby4gKi8KKy5tYWNybyBjZmlfaWdub3JlIGE9MCwgYj0wLCBjPTAsIGQ9MAorLmVuZG0KKworI2RlZmluZSBDRklfU1RBUlRQUk9DCWNmaV9pZ25vcmUKKyNkZWZpbmUgQ0ZJX0VORFBST0MJY2ZpX2lnbm9yZQorI2RlZmluZSBDRklfREVGX0NGQQljZmlfaWdub3JlCisjZGVmaW5lIENGSV9ERUZfQ0ZBX1JFR0lTVEVSCWNmaV9pZ25vcmUKKyNkZWZpbmUgQ0ZJX0RFRl9DRkFfT0ZGU0VUCWNmaV9pZ25vcmUKKyNkZWZpbmUgQ0ZJX0FESlVTVF9DRkFfT0ZGU0VUCWNmaV9pZ25vcmUKKyNkZWZpbmUgQ0ZJX09GRlNFVAljZmlfaWdub3JlCisjZGVmaW5lIENGSV9SRUxfT0ZGU0VUCWNmaV9pZ25vcmUKKyNkZWZpbmUgQ0ZJX1JFR0lTVEVSCWNmaV9pZ25vcmUKKyNkZWZpbmUgQ0ZJX1JFU1RPUkUJY2ZpX2lnbm9yZQorI2RlZmluZSBDRklfUkVNRU1CRVJfU1RBVEUgY2ZpX2lnbm9yZQorI2RlZmluZSBDRklfUkVTVE9SRV9TVEFURSBjZmlfaWdub3JlCisjZGVmaW5lIENGSV9VTkRFRklORUQgY2ZpX2lnbm9yZQorI2RlZmluZSBDRklfU0lHTkFMX0ZSQU1FIGNmaV9pZ25vcmUKKworI2VuZGlmCisKICNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L2R3YXJmMl8zMi5oIGIvaW5jbHVkZS9hc20teDg2L2R3YXJmMl8zMi5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2ZDY2Mzk4Li4wMDAwMDAwCi0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9kd2FyZjJfMzIuaAorKysgL2Rldi9udWxsCkBAIC0xLDYxICswLDAgQEAKLSNpZm5kZWYgX0RXQVJGMl9ICi0jZGVmaW5lIF9EV0FSRjJfSAotCi0jaWZuZGVmIF9fQVNTRU1CTFlfXwotI3dhcm5pbmcgImFzbS9kd2FyZjIuaCBzaG91bGQgYmUgb25seSBpbmNsdWRlZCBpbiBwdXJlIGFzc2VtYmx5IGZpbGVzIgotI2VuZGlmCi0KLS8qCi0gICBNYWNyb3MgZm9yIGR3YXJmMiBDRkkgdW53aW5kIHRhYmxlIGVudHJpZXMuCi0gICBTZWUgImFzLmluZm8iIGZvciBkZXRhaWxzIG9uIHRoZXNlIHBzZXVkbyBvcHMuIFVuZm9ydHVuYXRlbHkKLSAgIHRoZXkgYXJlIG9ubHkgc3VwcG9ydGVkIGluIHZlcnkgbmV3IGJpbnV0aWxzLCBzbyBkZWZpbmUgdGhlbQotICAgYXdheSBmb3Igb2xkZXIgdmVyc2lvbi4KLSAqLwotCi0jaWZkZWYgQ09ORklHX1VOV0lORF9JTkZPCi0KLSNkZWZpbmUgQ0ZJX1NUQVJUUFJPQyAuY2ZpX3N0YXJ0cHJvYwotI2RlZmluZSBDRklfRU5EUFJPQyAuY2ZpX2VuZHByb2MKLSNkZWZpbmUgQ0ZJX0RFRl9DRkEgLmNmaV9kZWZfY2ZhCi0jZGVmaW5lIENGSV9ERUZfQ0ZBX1JFR0lTVEVSIC5jZmlfZGVmX2NmYV9yZWdpc3RlcgotI2RlZmluZSBDRklfREVGX0NGQV9PRkZTRVQgLmNmaV9kZWZfY2ZhX29mZnNldAotI2RlZmluZSBDRklfQURKVVNUX0NGQV9PRkZTRVQgLmNmaV9hZGp1c3RfY2ZhX29mZnNldAotI2RlZmluZSBDRklfT0ZGU0VUIC5jZmlfb2Zmc2V0Ci0jZGVmaW5lIENGSV9SRUxfT0ZGU0VUIC5jZmlfcmVsX29mZnNldAotI2RlZmluZSBDRklfUkVHSVNURVIgLmNmaV9yZWdpc3RlcgotI2RlZmluZSBDRklfUkVTVE9SRSAuY2ZpX3Jlc3RvcmUKLSNkZWZpbmUgQ0ZJX1JFTUVNQkVSX1NUQVRFIC5jZmlfcmVtZW1iZXJfc3RhdGUKLSNkZWZpbmUgQ0ZJX1JFU1RPUkVfU1RBVEUgLmNmaV9yZXN0b3JlX3N0YXRlCi0jZGVmaW5lIENGSV9VTkRFRklORUQgLmNmaV91bmRlZmluZWQKLQotI2lmZGVmIENPTkZJR19BU19DRklfU0lHTkFMX0ZSQU1FCi0jZGVmaW5lIENGSV9TSUdOQUxfRlJBTUUgLmNmaV9zaWduYWxfZnJhbWUKLSNlbHNlCi0jZGVmaW5lIENGSV9TSUdOQUxfRlJBTUUKLSNlbmRpZgotCi0jZWxzZQotCi0vKiBEdWUgdG8gdGhlIHN0cnVjdHVyZSBvZiBwcmUtZXhpc2l0aW5nIGNvZGUsIGRvbid0IHVzZSBhc3NlbWJsZXIgbGluZQotICAgY29tbWVudCBjaGFyYWN0ZXIgIyB0byBpZ25vcmUgdGhlIGFyZ3VtZW50cy4gSW5zdGVhZCwgdXNlIGEgZHVtbXkgbWFjcm8uICovCi0ubWFjcm8gaWdub3JlIGE9MCwgYj0wLCBjPTAsIGQ9MAotLmVuZG0KLQotI2RlZmluZSBDRklfU1RBUlRQUk9DCWlnbm9yZQotI2RlZmluZSBDRklfRU5EUFJPQwlpZ25vcmUKLSNkZWZpbmUgQ0ZJX0RFRl9DRkEJaWdub3JlCi0jZGVmaW5lIENGSV9ERUZfQ0ZBX1JFR0lTVEVSCWlnbm9yZQotI2RlZmluZSBDRklfREVGX0NGQV9PRkZTRVQJaWdub3JlCi0jZGVmaW5lIENGSV9BREpVU1RfQ0ZBX09GRlNFVAlpZ25vcmUKLSNkZWZpbmUgQ0ZJX09GRlNFVAlpZ25vcmUKLSNkZWZpbmUgQ0ZJX1JFTF9PRkZTRVQJaWdub3JlCi0jZGVmaW5lIENGSV9SRUdJU1RFUglpZ25vcmUKLSNkZWZpbmUgQ0ZJX1JFU1RPUkUJaWdub3JlCi0jZGVmaW5lIENGSV9SRU1FTUJFUl9TVEFURSBpZ25vcmUKLSNkZWZpbmUgQ0ZJX1JFU1RPUkVfU1RBVEUgaWdub3JlCi0jZGVmaW5lIENGSV9VTkRFRklORUQgaWdub3JlCi0jZGVmaW5lIENGSV9TSUdOQUxfRlJBTUUgaWdub3JlCi0KLSNlbmRpZgotCi0jZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9kd2FyZjJfNjQuaCBiL2luY2x1ZGUvYXNtLXg4Ni9kd2FyZjJfNjQuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzk1MDUxOS4uMDAwMDAwMAotLS0gYS9pbmNsdWRlL2FzbS14ODYvZHdhcmYyXzY0LmgKKysrIC9kZXYvbnVsbApAQCAtMSw1NiArMCwwIEBACi0jaWZuZGVmIF9EV0FSRjJfSAotI2RlZmluZSBfRFdBUkYyX0ggMQotCi0jaWZuZGVmIF9fQVNTRU1CTFlfXwotI3dhcm5pbmcgImFzbS9kd2FyZjIuaCBzaG91bGQgYmUgb25seSBpbmNsdWRlZCBpbiBwdXJlIGFzc2VtYmx5IGZpbGVzIgotI2VuZGlmCi0KLS8qCi0gICBNYWNyb3MgZm9yIGR3YXJmMiBDRkkgdW53aW5kIHRhYmxlIGVudHJpZXMuCi0gICBTZWUgImFzLmluZm8iIGZvciBkZXRhaWxzIG9uIHRoZXNlIHBzZXVkbyBvcHMuIFVuZm9ydHVuYXRlbHkKLSAgIHRoZXkgYXJlIG9ubHkgc3VwcG9ydGVkIGluIHZlcnkgbmV3IGJpbnV0aWxzLCBzbyBkZWZpbmUgdGhlbQotICAgYXdheSBmb3Igb2xkZXIgdmVyc2lvbi4KLSAqLwotCi0jaWZkZWYgQ09ORklHX0FTX0NGSQotCi0jZGVmaW5lIENGSV9TVEFSVFBST0MgLmNmaV9zdGFydHByb2MKLSNkZWZpbmUgQ0ZJX0VORFBST0MgLmNmaV9lbmRwcm9jCi0jZGVmaW5lIENGSV9ERUZfQ0ZBIC5jZmlfZGVmX2NmYQotI2RlZmluZSBDRklfREVGX0NGQV9SRUdJU1RFUiAuY2ZpX2RlZl9jZmFfcmVnaXN0ZXIKLSNkZWZpbmUgQ0ZJX0RFRl9DRkFfT0ZGU0VUIC5jZmlfZGVmX2NmYV9vZmZzZXQKLSNkZWZpbmUgQ0ZJX0FESlVTVF9DRkFfT0ZGU0VUIC5jZmlfYWRqdXN0X2NmYV9vZmZzZXQKLSNkZWZpbmUgQ0ZJX09GRlNFVCAuY2ZpX29mZnNldAotI2RlZmluZSBDRklfUkVMX09GRlNFVCAuY2ZpX3JlbF9vZmZzZXQKLSNkZWZpbmUgQ0ZJX1JFR0lTVEVSIC5jZmlfcmVnaXN0ZXIKLSNkZWZpbmUgQ0ZJX1JFU1RPUkUgLmNmaV9yZXN0b3JlCi0jZGVmaW5lIENGSV9SRU1FTUJFUl9TVEFURSAuY2ZpX3JlbWVtYmVyX3N0YXRlCi0jZGVmaW5lIENGSV9SRVNUT1JFX1NUQVRFIC5jZmlfcmVzdG9yZV9zdGF0ZQotI2RlZmluZSBDRklfVU5ERUZJTkVEIC5jZmlfdW5kZWZpbmVkCi0jaWZkZWYgQ09ORklHX0FTX0NGSV9TSUdOQUxfRlJBTUUKLSNkZWZpbmUgQ0ZJX1NJR05BTF9GUkFNRSAuY2ZpX3NpZ25hbF9mcmFtZQotI2Vsc2UKLSNkZWZpbmUgQ0ZJX1NJR05BTF9GUkFNRQotI2VuZGlmCi0KLSNlbHNlCi0KLS8qIHVzZSBhc3NlbWJsZXIgbGluZSBjb21tZW50IGNoYXJhY3RlciAjIHRvIGlnbm9yZSB0aGUgYXJndW1lbnRzLiAqLwotI2RlZmluZSBDRklfU1RBUlRQUk9DCSMKLSNkZWZpbmUgQ0ZJX0VORFBST0MJIwotI2RlZmluZSBDRklfREVGX0NGQQkjCi0jZGVmaW5lIENGSV9ERUZfQ0ZBX1JFR0lTVEVSCSMKLSNkZWZpbmUgQ0ZJX0RFRl9DRkFfT0ZGU0VUCSMKLSNkZWZpbmUgQ0ZJX0FESlVTVF9DRkFfT0ZGU0VUCSMKLSNkZWZpbmUgQ0ZJX09GRlNFVAkjCi0jZGVmaW5lIENGSV9SRUxfT0ZGU0VUCSMKLSNkZWZpbmUgQ0ZJX1JFR0lTVEVSCSMKLSNkZWZpbmUgQ0ZJX1JFU1RPUkUJIwotI2RlZmluZSBDRklfUkVNRU1CRVJfU1RBVEUJIwotI2RlZmluZSBDRklfUkVTVE9SRV9TVEFURQkjCi0jZGVmaW5lIENGSV9VTkRFRklORUQJIwotI2RlZmluZSBDRklfU0lHTkFMX0ZSQU1FCSMKLQotI2VuZGlmCi0KLSNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L2U4MjAuaCBiL2luY2x1ZGUvYXNtLXg4Ni9lODIwLmgKaW5kZXggNzAwNDI1MS4uMzNlNzkzZSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L2U4MjAuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvZTgyMC5oCkBAIC0yLDYgKzIsNDEgQEAKICNkZWZpbmUgX19BU01fRTgyMF9ICiAjZGVmaW5lIEU4MjBNQVAJMHgyZDAJCS8qIG91ciBtYXAgKi8KICNkZWZpbmUgRTgyME1BWAkxMjgJCS8qIG51bWJlciBvZiBlbnRyaWVzIGluIEU4MjBNQVAgKi8KKworLyoKKyAqIExlZ2FjeSBFODIwIEJJT1MgbGltaXRzIHVzIHRvIDEyOCAoRTgyME1BWCkgbm9kZXMgZHVlIHRvIHRoZQorICogY29uc3RyYWluZWQgc3BhY2UgaW4gdGhlIHplcm9wYWdlLiAgSWYgd2UgaGF2ZSBtb3JlIG5vZGVzIHRoYW4KKyAqIHRoYXQsIGFuZCBpZiB3ZSd2ZSBib290ZWQgb2ZmIEVGSSBmaXJtd2FyZSwgdGhlbiB0aGUgRUZJIHRhYmxlcworICogcGFzc2VkIHVzIGZyb20gdGhlIEVGSSBmaXJtd2FyZSBjYW4gbGlzdCBtb3JlIG5vZGVzLiAgU2l6ZSBvdXIKKyAqIGludGVybmFsIG1lbW9yeSBtYXAgdGFibGVzIHRvIGhhdmUgcm9vbSBmb3IgdGhlc2UgYWRkaXRpb25hbAorICogbm9kZXMsIGJhc2VkIG9uIHVwIHRvIHRocmVlIGVudHJpZXMgcGVyIG5vZGUgZm9yIHdoaWNoIHRoZQorICoga2VybmVsIHdhcyBidWlsdDogTUFYX05VTU5PREVTID09ICgxIDw8IENPTkZJR19OT0RFU19TSElGVCksCisgKiBwbHVzIEU4MjBNQVgsIGFsbG93aW5nIHNwYWNlIGZvciB0aGUgcG9zc2libGUgZHVwbGljYXRlIEU4MjAKKyAqIGVudHJpZXMgdGhhdCBtaWdodCBuZWVkIHJvb20gaW4gdGhlIHNhbWUgYXJyYXlzLCBwcmlvciB0byB0aGUKKyAqIGNhbGwgdG8gc2FuaXRpemVfZTgyMF9tYXAoKSB0byByZW1vdmUgZHVwbGljYXRlcy4gIFRoZSBhbGxvd2FuY2UKKyAqIG9mIHRocmVlIG1lbW9yeSBtYXAgZW50cmllcyBwZXIgbm9kZSBpcyAiZW5vdWdoIiBlbnRyaWVzIGZvcgorICogdGhlIGluaXRpYWwgaGFyZHdhcmUgcGxhdGZvcm0gbW90aXZhdGluZyB0aGlzIG1lY2hhbmlzbSB0byBtYWtlCisgKiB1c2Ugb2YgYWRkaXRpb25hbCBFRkkgbWFwIGVudHJpZXMuICBGdXR1cmUgcGxhdGZvcm1zIG1heSB3YW50CisgKiB0byBhbGxvdyBtb3JlIHRoYW4gdGhyZWUgZW50cmllcyBwZXIgbm9kZSBvciBvdGhlcndpc2UgcmVmaW5lCisgKiB0aGlzIHNpemUuCisgKi8KKworLyoKKyAqIE9kZDogJ21ha2UgaGVhZGVyc19jaGVjaycgY29tcGxhaW5zIGFib3V0IG51bWEuaCBpZiBJIHRyeQorICogdG8gY29sbGFwc2UgdGhlIG5leHQgdHdvICNpZmRlZiBsaW5lcyB0byBhIHNpbmdsZSBsaW5lOgorICoJI2lmIGRlZmluZWQoX19LRVJORUxfXykgJiYgZGVmaW5lZChDT05GSUdfRUZJKQorICovCisjaWZkZWYgX19LRVJORUxfXworI2lmZGVmIENPTkZJR19FRkkKKyNpbmNsdWRlIDxsaW51eC9udW1hLmg+CisjZGVmaW5lIEU4MjBfWF9NQVggKEU4MjBNQVggKyAzICogTUFYX05VTU5PREVTKQorI2Vsc2UJLyogISBDT05GSUdfRUZJICovCisjZGVmaW5lIEU4MjBfWF9NQVggRTgyME1BWAorI2VuZGlmCisjZWxzZQkvKiAhIF9fS0VSTkVMX18gKi8KKyNkZWZpbmUgRTgyMF9YX01BWCBFODIwTUFYCisjZW5kaWYKKwogI2RlZmluZSBFODIwTlIJMHgxZTgJCS8qICMgZW50cmllcyBpbiBFODIwTUFQICovCiAKICNkZWZpbmUgRTgyMF9SQU0JMQpAQCAtOSw2ICs0NCw5IEBACiAjZGVmaW5lIEU4MjBfQUNQSQkzCiAjZGVmaW5lIEU4MjBfTlZTCTQKIAorLyogcmVzZXJ2ZWQgUkFNIHVzZWQgYnkga2VybmVsIGl0c2VsZiAqLworI2RlZmluZSBFODIwX1JFU0VSVkVEX0tFUk4gICAgICAgIDEyOAorCiAjaWZuZGVmIF9fQVNTRU1CTFlfXwogc3RydWN0IGU4MjBlbnRyeSB7CiAJX191NjQgYWRkcjsJLyogc3RhcnQgb2YgbWVtb3J5IHNlZ21lbnQgKi8KQEAgLTE4LDIyICs1Niw3OSBAQAogCiBzdHJ1Y3QgZTgyMG1hcCB7CiAJX191MzIgbnJfbWFwOwotCXN0cnVjdCBlODIwZW50cnkgbWFwW0U4MjBNQVhdOworCXN0cnVjdCBlODIwZW50cnkgbWFwW0U4MjBfWF9NQVhdOwogfTsKKworLyogc2VlIGNvbW1lbnQgaW4gYXJjaC94ODYva2VybmVsL2U4MjAuYyAqLworZXh0ZXJuIHN0cnVjdCBlODIwbWFwIGU4MjA7CitleHRlcm4gc3RydWN0IGU4MjBtYXAgZTgyMF9zYXZlZDsKKworZXh0ZXJuIGludCBlODIwX2FueV9tYXBwZWQodTY0IHN0YXJ0LCB1NjQgZW5kLCB1bnNpZ25lZCB0eXBlKTsKK2V4dGVybiBpbnQgZTgyMF9hbGxfbWFwcGVkKHU2NCBzdGFydCwgdTY0IGVuZCwgdW5zaWduZWQgdHlwZSk7CitleHRlcm4gdm9pZCBlODIwX2FkZF9yZWdpb24odTY0IHN0YXJ0LCB1NjQgc2l6ZSwgaW50IHR5cGUpOworZXh0ZXJuIHZvaWQgZTgyMF9wcmludF9tYXAoY2hhciAqd2hvKTsKK2V4dGVybiBpbnQKK3Nhbml0aXplX2U4MjBfbWFwKHN0cnVjdCBlODIwZW50cnkgKmJpb3NtYXAsIGludCBtYXhfbnJfbWFwLCBpbnQgKnBucl9tYXApOworZXh0ZXJuIHU2NCBlODIwX3VwZGF0ZV9yYW5nZSh1NjQgc3RhcnQsIHU2NCBzaXplLCB1bnNpZ25lZCBvbGRfdHlwZSwKKwkJCSAgICAgICB1bnNpZ25lZCBuZXdfdHlwZSk7CitleHRlcm4gdTY0IGU4MjBfcmVtb3ZlX3JhbmdlKHU2NCBzdGFydCwgdTY0IHNpemUsIHVuc2lnbmVkIG9sZF90eXBlLAorCQkJICAgICBpbnQgY2hlY2t0eXBlKTsKK2V4dGVybiB2b2lkIHVwZGF0ZV9lODIwKHZvaWQpOworZXh0ZXJuIHZvaWQgZTgyMF9zZXR1cF9nYXAodm9pZCk7CitleHRlcm4gaW50IGU4MjBfc2VhcmNoX2dhcCh1bnNpZ25lZCBsb25nICpnYXBzdGFydCwgdW5zaWduZWQgbG9uZyAqZ2Fwc2l6ZSwKKwkJCXVuc2lnbmVkIGxvbmcgc3RhcnRfYWRkciwgdW5zaWduZWQgbG9uZyBsb25nIGVuZF9hZGRyKTsKK3N0cnVjdCBzZXR1cF9kYXRhOworZXh0ZXJuIHZvaWQgcGFyc2VfZTgyMF9leHQoc3RydWN0IHNldHVwX2RhdGEgKmRhdGEsIHVuc2lnbmVkIGxvbmcgcGFfZGF0YSk7CisKKyNpZiBkZWZpbmVkKENPTkZJR19YODZfNjQpIHx8IFwKKwkoZGVmaW5lZChDT05GSUdfWDg2XzMyKSAmJiBkZWZpbmVkKENPTkZJR19ISUJFUk5BVElPTikpCitleHRlcm4gdm9pZCBlODIwX21hcmtfbm9zYXZlX3JlZ2lvbnModW5zaWduZWQgbG9uZyBsaW1pdF9wZm4pOworI2Vsc2UKK3N0YXRpYyBpbmxpbmUgdm9pZCBlODIwX21hcmtfbm9zYXZlX3JlZ2lvbnModW5zaWduZWQgbG9uZyBsaW1pdF9wZm4pCit7Cit9CisjZW5kaWYKKworZXh0ZXJuIHVuc2lnbmVkIGxvbmcgZW5kX3VzZXJfcGZuOworCitleHRlcm4gdTY0IGZpbmRfZTgyMF9hcmVhKHU2NCBzdGFydCwgdTY0IGVuZCwgdTY0IHNpemUsIHU2NCBhbGlnbik7CitleHRlcm4gdTY0IGZpbmRfZTgyMF9hcmVhX3NpemUodTY0IHN0YXJ0LCB1NjQgKnNpemVwLCB1NjQgYWxpZ24pOworZXh0ZXJuIHZvaWQgcmVzZXJ2ZV9lYXJseSh1NjQgc3RhcnQsIHU2NCBlbmQsIGNoYXIgKm5hbWUpOworZXh0ZXJuIHZvaWQgcmVzZXJ2ZV9lYXJseV9vdmVybGFwX29rKHU2NCBzdGFydCwgdTY0IGVuZCwgY2hhciAqbmFtZSk7CitleHRlcm4gdm9pZCBmcmVlX2Vhcmx5KHU2NCBzdGFydCwgdTY0IGVuZCk7CitleHRlcm4gdm9pZCBlYXJseV9yZXNfdG9fYm9vdG1lbSh1NjQgc3RhcnQsIHU2NCBlbmQpOworZXh0ZXJuIHU2NCBlYXJseV9yZXNlcnZlX2U4MjAodTY0IHN0YXJ0dCwgdTY0IHNpemV0LCB1NjQgYWxpZ24pOworCitleHRlcm4gdW5zaWduZWQgbG9uZyBlODIwX2VuZF9vZl9yYW1fcGZuKHZvaWQpOworZXh0ZXJuIHVuc2lnbmVkIGxvbmcgZTgyMF9lbmRfb2ZfbG93X3JhbV9wZm4odm9pZCk7CitleHRlcm4gaW50IGU4MjBfZmluZF9hY3RpdmVfcmVnaW9uKGNvbnN0IHN0cnVjdCBlODIwZW50cnkgKmVpLAorCQkJCSAgdW5zaWduZWQgbG9uZyBzdGFydF9wZm4sCisJCQkJICB1bnNpZ25lZCBsb25nIGxhc3RfcGZuLAorCQkJCSAgdW5zaWduZWQgbG9uZyAqZWlfc3RhcnRwZm4sCisJCQkJICB1bnNpZ25lZCBsb25nICplaV9lbmRwZm4pOworZXh0ZXJuIHZvaWQgZTgyMF9yZWdpc3Rlcl9hY3RpdmVfcmVnaW9ucyhpbnQgbmlkLCB1bnNpZ25lZCBsb25nIHN0YXJ0X3BmbiwKKwkJCQkJIHVuc2lnbmVkIGxvbmcgZW5kX3Bmbik7CitleHRlcm4gdTY0IGU4MjBfaG9sZV9zaXplKHU2NCBzdGFydCwgdTY0IGVuZCk7CitleHRlcm4gdm9pZCBmaW5pc2hfZTgyMF9wYXJzaW5nKHZvaWQpOworZXh0ZXJuIHZvaWQgZTgyMF9yZXNlcnZlX3Jlc291cmNlcyh2b2lkKTsKK2V4dGVybiB2b2lkIHNldHVwX21lbW9yeV9tYXAodm9pZCk7CitleHRlcm4gY2hhciAqZGVmYXVsdF9tYWNoaW5lX3NwZWNpZmljX21lbW9yeV9zZXR1cCh2b2lkKTsKK2V4dGVybiBjaGFyICptYWNoaW5lX3NwZWNpZmljX21lbW9yeV9zZXR1cCh2b2lkKTsKK2V4dGVybiBjaGFyICptZW1vcnlfc2V0dXAodm9pZCk7CisKICNlbmRpZiAvKiBfX0FTU0VNQkxZX18gKi8KIAogI2RlZmluZSBJU0FfU1RBUlRfQUREUkVTUwkweGEwMDAwCiAjZGVmaW5lIElTQV9FTkRfQUREUkVTUwkJMHgxMDAwMDAKKyNkZWZpbmUgaXNfSVNBX3JhbmdlKHMsIGUpICgocykgPj0gSVNBX1NUQVJUX0FERFJFU1MgJiYgKGUpIDwgSVNBX0VORF9BRERSRVNTKQogCiAjZGVmaW5lIEJJT1NfQkVHSU4JCTB4MDAwYTAwMDAKICNkZWZpbmUgQklPU19FTkQJCTB4MDAxMDAwMDAKIAogI2lmZGVmIF9fS0VSTkVMX18KLSNpZmRlZiBDT05GSUdfWDg2XzMyCi0jIGluY2x1ZGUgImU4MjBfMzIuaCIKLSNlbHNlCi0jIGluY2x1ZGUgImU4MjBfNjQuaCIKLSNlbmRpZgorI2luY2x1ZGUgPGxpbnV4L2lvcG9ydC5oPgorCisjZGVmaW5lIEhJR0hfTUVNT1JZCSgxMDI0KjEwMjQpCiAjZW5kaWYgLyogX19LRVJORUxfXyAqLwogCiAjZW5kaWYgIC8qIF9fQVNNX0U4MjBfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L2U4MjBfMzIuaCBiL2luY2x1ZGUvYXNtLXg4Ni9lODIwXzMyLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE5ZjdjNmUuLjAwMDAwMDAKLS0tIGEvaW5jbHVkZS9hc20teDg2L2U4MjBfMzIuaAorKysgL2Rldi9udWxsCkBAIC0xLDUwICswLDAgQEAKLS8qCi0gKiBzdHJ1Y3R1cmVzIGFuZCBkZWZpbml0aW9ucyBmb3IgdGhlIGludCAxNSwgYXg9ZTgyMCBtZW1vcnkgbWFwCi0gKiBzY2hlbWUuCi0gKgotICogSW4gYSBudXRzaGVsbCwgYXJjaC9pMzg2L2Jvb3Qvc2V0dXAuUyBwb3B1bGF0ZXMgYSBzY3JhdGNoIHRhYmxlCi0gKiBpbiB0aGUgZW1wdHlfemVyb19ibG9jayB0aGF0IGNvbnRhaW5zIGEgbGlzdCBvZiB1c2FibGUgYWRkcmVzcy9zaXplCi0gKiBkdXBsZXMuICAgSW4gYXJjaC9pMzg2L2tlcm5lbC9zZXR1cC5jLCB0aGlzIGluZm9ybWF0aW9uIGlzCi0gKiB0cmFuc2ZlcnJlZCBpbnRvIHRoZSBlODIwbWFwLCBhbmQgaW4gYXJjaC9pMzg2L21tL2luaXQuYywgdGhhdAotICogbmV3IGluZm9ybWF0aW9uIGlzIHVzZWQgdG8gbWFyayBwYWdlcyByZXNlcnZlZCBvciBub3QuCi0gKgotICovCi0jaWZuZGVmIF9fRTgyMF9IRUFERVIKLSNkZWZpbmUgX19FODIwX0hFQURFUgotCi0jaW5jbHVkZSA8bGludXgvaW9wb3J0Lmg+Ci0KLSNkZWZpbmUgSElHSF9NRU1PUlkJKDEwMjQqMTAyNCkKLQotI2lmbmRlZiBfX0FTU0VNQkxZX18KLQotZXh0ZXJuIHN0cnVjdCBlODIwbWFwIGU4MjA7Ci1leHRlcm4gdm9pZCB1cGRhdGVfZTgyMCh2b2lkKTsKLQotZXh0ZXJuIGludCBlODIwX2FsbF9tYXBwZWQodW5zaWduZWQgbG9uZyBzdGFydCwgdW5zaWduZWQgbG9uZyBlbmQsCi0JCQkgICB1bnNpZ25lZCB0eXBlKTsKLWV4dGVybiBpbnQgZTgyMF9hbnlfbWFwcGVkKHU2NCBzdGFydCwgdTY0IGVuZCwgdW5zaWduZWQgdHlwZSk7Ci1leHRlcm4gdm9pZCBwcm9wYWdhdGVfZTgyMF9tYXAodm9pZCk7Ci1leHRlcm4gdm9pZCByZWdpc3Rlcl9ib290bWVtX2xvd19wYWdlcyh1bnNpZ25lZCBsb25nIG1heF9sb3dfcGZuKTsKLWV4dGVybiB2b2lkIGFkZF9tZW1vcnlfcmVnaW9uKHVuc2lnbmVkIGxvbmcgbG9uZyBzdGFydCwKLQkJCSAgICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBzaXplLCBpbnQgdHlwZSk7Ci1leHRlcm4gdm9pZCB1cGRhdGVfbWVtb3J5X3JhbmdlKHU2NCBzdGFydCwgdTY0IHNpemUsIHVuc2lnbmVkIG9sZF90eXBlLAotCQkJCXVuc2lnbmVkIG5ld190eXBlKTsKLWV4dGVybiB2b2lkIGU4MjBfcmVnaXN0ZXJfbWVtb3J5KHZvaWQpOwotZXh0ZXJuIHZvaWQgbGltaXRfcmVnaW9ucyh1bnNpZ25lZCBsb25nIGxvbmcgc2l6ZSk7Ci1leHRlcm4gdm9pZCBwcmludF9tZW1vcnlfbWFwKGNoYXIgKndobyk7Ci1leHRlcm4gdm9pZCBpbml0X2lvbWVtX3Jlc291cmNlcyhzdHJ1Y3QgcmVzb3VyY2UgKmNvZGVfcmVzb3VyY2UsCi0JCQkJIHN0cnVjdCByZXNvdXJjZSAqZGF0YV9yZXNvdXJjZSwKLQkJCQkgc3RydWN0IHJlc291cmNlICpic3NfcmVzb3VyY2UpOwotCi0jaWYgZGVmaW5lZChDT05GSUdfUE0pICYmIGRlZmluZWQoQ09ORklHX0hJQkVSTkFUSU9OKQotZXh0ZXJuIHZvaWQgZTgyMF9tYXJrX25vc2F2ZV9yZWdpb25zKHZvaWQpOwotI2Vsc2UKLXN0YXRpYyBpbmxpbmUgdm9pZCBlODIwX21hcmtfbm9zYXZlX3JlZ2lvbnModm9pZCkKLXsKLX0KLSNlbmRpZgotCi0KLSNlbmRpZi8qIV9fQVNTRU1CTFlfXyovCi0jZW5kaWYvKl9fRTgyMF9IRUFERVIqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L2U4MjBfNjQuaCBiL2luY2x1ZGUvYXNtLXg4Ni9lODIwXzY0LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDcxYzRkNjguLjAwMDAwMDAKLS0tIGEvaW5jbHVkZS9hc20teDg2L2U4MjBfNjQuaAorKysgL2Rldi9udWxsCkBAIC0xLDU2ICswLDAgQEAKLS8qCi0gKiBzdHJ1Y3R1cmVzIGFuZCBkZWZpbml0aW9ucyBmb3IgdGhlIGludCAxNSwgYXg9ZTgyMCBtZW1vcnkgbWFwCi0gKiBzY2hlbWUuCi0gKgotICogSW4gYSBudXRzaGVsbCwgc2V0dXAuUyBwb3B1bGF0ZXMgYSBzY3JhdGNoIHRhYmxlIGluIHRoZQotICogZW1wdHlfemVyb19ibG9jayB0aGF0IGNvbnRhaW5zIGEgbGlzdCBvZiB1c2FibGUgYWRkcmVzcy9zaXplCi0gKiBkdXBsZXMuICBzZXR1cC5jLCB0aGlzIGluZm9ybWF0aW9uIGlzIHRyYW5zZmVycmVkIGludG8gdGhlIGU4MjBtYXAsCi0gKiBhbmQgaW4gaW5pdC5jL251bWEuYywgdGhhdCBuZXcgaW5mb3JtYXRpb24gaXMgdXNlZCB0byBtYXJrIHBhZ2VzCi0gKiByZXNlcnZlZCBvciBub3QuCi0gKi8KLSNpZm5kZWYgX19FODIwX0hFQURFUgotI2RlZmluZSBfX0U4MjBfSEVBREVSCi0KLSNpbmNsdWRlIDxsaW51eC9pb3BvcnQuaD4KLQotI2lmbmRlZiBfX0FTU0VNQkxZX18KLWV4dGVybiB1bnNpZ25lZCBsb25nIGZpbmRfZTgyMF9hcmVhKHVuc2lnbmVkIGxvbmcgc3RhcnQsIHVuc2lnbmVkIGxvbmcgZW5kLAotCQkJCSAgICB1bnNpZ25lZCBsb25nIHNpemUsIHVuc2lnbmVkIGxvbmcgYWxpZ24pOwotZXh0ZXJuIHVuc2lnbmVkIGxvbmcgZmluZF9lODIwX2FyZWFfc2l6ZSh1bnNpZ25lZCBsb25nIHN0YXJ0LAotCQkJCQkgdW5zaWduZWQgbG9uZyAqc2l6ZXAsCi0JCQkJCSB1bnNpZ25lZCBsb25nIGFsaWduKTsKLWV4dGVybiB2b2lkIGFkZF9tZW1vcnlfcmVnaW9uKHVuc2lnbmVkIGxvbmcgc3RhcnQsIHVuc2lnbmVkIGxvbmcgc2l6ZSwKLQkJCSAgICAgIGludCB0eXBlKTsKLWV4dGVybiB2b2lkIHVwZGF0ZV9tZW1vcnlfcmFuZ2UodTY0IHN0YXJ0LCB1NjQgc2l6ZSwgdW5zaWduZWQgb2xkX3R5cGUsCi0JCQkJdW5zaWduZWQgbmV3X3R5cGUpOwotZXh0ZXJuIHZvaWQgc2V0dXBfbWVtb3J5X3JlZ2lvbih2b2lkKTsKLWV4dGVybiB2b2lkIGNvbnRpZ19lODIwX3NldHVwKHZvaWQpOwotZXh0ZXJuIHVuc2lnbmVkIGxvbmcgZTgyMF9lbmRfb2ZfcmFtKHZvaWQpOwotZXh0ZXJuIHZvaWQgZTgyMF9yZXNlcnZlX3Jlc291cmNlcyh2b2lkKTsKLWV4dGVybiB2b2lkIGU4MjBfbWFya19ub3NhdmVfcmVnaW9ucyh2b2lkKTsKLWV4dGVybiBpbnQgZTgyMF9hbnlfbWFwcGVkKHVuc2lnbmVkIGxvbmcgc3RhcnQsIHVuc2lnbmVkIGxvbmcgZW5kLAotCQkJICAgdW5zaWduZWQgdHlwZSk7Ci1leHRlcm4gaW50IGU4MjBfYWxsX21hcHBlZCh1bnNpZ25lZCBsb25nIHN0YXJ0LCB1bnNpZ25lZCBsb25nIGVuZCwKLQkJCSAgIHVuc2lnbmVkIHR5cGUpOwotZXh0ZXJuIGludCBlODIwX2FueV9ub25fcmVzZXJ2ZWQodW5zaWduZWQgbG9uZyBzdGFydCwgdW5zaWduZWQgbG9uZyBlbmQpOwotZXh0ZXJuIGludCBpc19tZW1vcnlfYW55X3ZhbGlkKHVuc2lnbmVkIGxvbmcgc3RhcnQsIHVuc2lnbmVkIGxvbmcgZW5kKTsKLWV4dGVybiBpbnQgZTgyMF9hbGxfbm9uX3Jlc2VydmVkKHVuc2lnbmVkIGxvbmcgc3RhcnQsIHVuc2lnbmVkIGxvbmcgZW5kKTsKLWV4dGVybiBpbnQgaXNfbWVtb3J5X2FsbF92YWxpZCh1bnNpZ25lZCBsb25nIHN0YXJ0LCB1bnNpZ25lZCBsb25nIGVuZCk7Ci1leHRlcm4gdW5zaWduZWQgbG9uZyBlODIwX2hvbGVfc2l6ZSh1bnNpZ25lZCBsb25nIHN0YXJ0LCB1bnNpZ25lZCBsb25nIGVuZCk7Ci0KLWV4dGVybiB2b2lkIGU4MjBfc2V0dXBfZ2FwKHZvaWQpOwotZXh0ZXJuIHZvaWQgZTgyMF9yZWdpc3Rlcl9hY3RpdmVfcmVnaW9ucyhpbnQgbmlkLCB1bnNpZ25lZCBsb25nIHN0YXJ0X3BmbiwKLQkJCQkJIHVuc2lnbmVkIGxvbmcgZW5kX3Bmbik7Ci0KLWV4dGVybiB2b2lkIGZpbmlzaF9lODIwX3BhcnNpbmcodm9pZCk7Ci0KLWV4dGVybiBzdHJ1Y3QgZTgyMG1hcCBlODIwOwotZXh0ZXJuIHZvaWQgdXBkYXRlX2U4MjAodm9pZCk7Ci0KLWV4dGVybiB2b2lkIHJlc2VydmVfZWFybHkodW5zaWduZWQgbG9uZyBzdGFydCwgdW5zaWduZWQgbG9uZyBlbmQsIGNoYXIgKm5hbWUpOwotZXh0ZXJuIHZvaWQgZnJlZV9lYXJseSh1bnNpZ25lZCBsb25nIHN0YXJ0LCB1bnNpZ25lZCBsb25nIGVuZCk7Ci1leHRlcm4gdm9pZCBlYXJseV9yZXNfdG9fYm9vdG1lbSh1bnNpZ25lZCBsb25nIHN0YXJ0LCB1bnNpZ25lZCBsb25nIGVuZCk7Ci0KLSNlbmRpZi8qIV9fQVNTRU1CTFlfXyovCi0KLSNlbmRpZi8qX19FODIwX0hFQURFUiovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvZWZpLmggYi9pbmNsdWRlL2FzbS14ODYvZWZpLmgKaW5kZXggZDUzMDA0Yi4uN2VkMmJkNyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L2VmaS5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9lZmkuaApAQCAtOTAsNyArOTAsNyBAQAogCiAjZW5kaWYgLyogQ09ORklHX1g4Nl8zMiAqLwogCi1leHRlcm4gdm9pZCBlZmlfcmVzZXJ2ZV9ib290bWVtKHZvaWQpOworZXh0ZXJuIHZvaWQgZWZpX3Jlc2VydmVfZWFybHkodm9pZCk7CiBleHRlcm4gdm9pZCBlZmlfY2FsbF9waHlzX3ByZWxvZyh2b2lkKTsKIGV4dGVybiB2b2lkIGVmaV9jYWxsX3BoeXNfZXBpbG9nKHZvaWQpOwogCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvZWxmLmggYi9pbmNsdWRlL2FzbS14ODYvZWxmLmgKaW5kZXggOGYyMzJkYy4uN2JlNDczMyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L2VsZi5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9lbGYuaApAQCAtODMsOSArODMsOSBAQAogCSgoKHgpLT5lX21hY2hpbmUgPT0gRU1fMzg2KSB8fCAoKHgpLT5lX21hY2hpbmUgPT0gRU1fNDg2KSkKIAogI2luY2x1ZGUgPGFzbS9wcm9jZXNzb3IuaD4KKyNpbmNsdWRlIDxhc20vc3lzdGVtLmg+CiAKICNpZmRlZiBDT05GSUdfWDg2XzMyCi0jaW5jbHVkZSA8YXNtL3N5c3RlbS5oPgkJLyogZm9yIHNhdmVzZWdtZW50ICovCiAjaW5jbHVkZSA8YXNtL2Rlc2MuaD4KIAogI2RlZmluZSBlbGZfY2hlY2tfYXJjaCh4KQllbGZfY2hlY2tfYXJjaF9pYTMyKHgpCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvZml4bWFwLmggYi9pbmNsdWRlL2FzbS14ODYvZml4bWFwLmgKaW5kZXggNWJkMjA2OS4uNDRkNGY4MiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L2ZpeG1hcC5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9maXhtYXAuaApAQCAtNyw3ICs3LDYyIEBACiAjIGluY2x1ZGUgImZpeG1hcF82NC5oIgogI2VuZGlmCiAKK2V4dGVybiBpbnQgZml4bWFwc19zZXQ7CisKK3ZvaWQgX19uYXRpdmVfc2V0X2ZpeG1hcChlbnVtIGZpeGVkX2FkZHJlc3NlcyBpZHgsIHB0ZV90IHB0ZSk7Cit2b2lkIG5hdGl2ZV9zZXRfZml4bWFwKGVudW0gZml4ZWRfYWRkcmVzc2VzIGlkeCwKKwkJICAgICAgIHVuc2lnbmVkIGxvbmcgcGh5cywgcGdwcm90X3QgZmxhZ3MpOworCisjaWZuZGVmIENPTkZJR19QQVJBVklSVAorc3RhdGljIGlubGluZSB2b2lkIF9fc2V0X2ZpeG1hcChlbnVtIGZpeGVkX2FkZHJlc3NlcyBpZHgsCisJCQkJdW5zaWduZWQgbG9uZyBwaHlzLCBwZ3Byb3RfdCBmbGFncykKK3sKKwluYXRpdmVfc2V0X2ZpeG1hcChpZHgsIHBoeXMsIGZsYWdzKTsKK30KKyNlbmRpZgorCisjZGVmaW5lIHNldF9maXhtYXAoaWR4LCBwaHlzKQkJCQlcCisJX19zZXRfZml4bWFwKGlkeCwgcGh5cywgUEFHRV9LRVJORUwpCisKKy8qCisgKiBTb21lIGhhcmR3YXJlIHdhbnRzIHRvIGdldCBmaXhtYXBwZWQgd2l0aG91dCBjYWNoaW5nLgorICovCisjZGVmaW5lIHNldF9maXhtYXBfbm9jYWNoZShpZHgsIHBoeXMpCQkJXAorCV9fc2V0X2ZpeG1hcChpZHgsIHBoeXMsIFBBR0VfS0VSTkVMX05PQ0FDSEUpCisKICNkZWZpbmUgY2xlYXJfZml4bWFwKGlkeCkJCQlcCiAJX19zZXRfZml4bWFwKGlkeCwgMCwgX19wZ3Byb3QoMCkpCiAKKyNkZWZpbmUgX19maXhfdG9fdmlydCh4KQkoRklYQUREUl9UT1AgLSAoKHgpIDw8IFBBR0VfU0hJRlQpKQorI2RlZmluZSBfX3ZpcnRfdG9fZml4KHgpCSgoRklYQUREUl9UT1AgLSAoKHgpJlBBR0VfTUFTSykpID4+IFBBR0VfU0hJRlQpCisKK2V4dGVybiB2b2lkIF9fdGhpc19maXhtYXBfZG9lc19ub3RfZXhpc3Qodm9pZCk7CisKKy8qCisgKiAnaW5kZXggdG8gYWRkcmVzcycgdHJhbnNsYXRpb24uIElmIGFueW9uZSB0cmllcyB0byB1c2UgdGhlIGlkeAorICogZGlyZWN0bHkgd2l0aG91dCB0cmFuc2xhdGlvbiwgd2UgY2F0Y2ggdGhlIGJ1ZyB3aXRoIGEgTlVMTC1kZWZlcmVuY2UKKyAqIGtlcm5lbCBvb3BzLiBJbGxlZ2FsIHJhbmdlcyBvZiBpbmNvbWluZyBpbmRpY2VzIGFyZSBjYXVnaHQgdG9vLgorICovCitzdGF0aWMgX19hbHdheXNfaW5saW5lIHVuc2lnbmVkIGxvbmcgZml4X3RvX3ZpcnQoY29uc3QgdW5zaWduZWQgaW50IGlkeCkKK3sKKwkvKgorCSAqIHRoaXMgYnJhbmNoIGdldHMgY29tcGxldGVseSBlbGltaW5hdGVkIGFmdGVyIGlubGluaW5nLAorCSAqIGV4Y2VwdCB3aGVuIHNvbWVvbmUgdHJpZXMgdG8gdXNlIGZpeGFkZHIgaW5kaWNlcyBpbiBhbgorCSAqIGlsbGVnYWwgd2F5LiAoc3VjaCBhcyBtaXhpbmcgdXAgYWRkcmVzcyB0eXBlcyBvciB1c2luZworCSAqIG91dC1vZi1yYW5nZSBpbmRpY2VzKS4KKwkgKgorCSAqIElmIGl0IGRvZXNuJ3QgZ2V0IHJlbW92ZWQsIHRoZSBsaW5rZXIgd2lsbCBjb21wbGFpbgorCSAqIGxvdWRseSB3aXRoIGEgcmVhc29uYWJseSBjbGVhciBlcnJvciBtZXNzYWdlLi4KKwkgKi8KKwlpZiAoaWR4ID49IF9fZW5kX29mX2ZpeGVkX2FkZHJlc3NlcykKKwkJX190aGlzX2ZpeG1hcF9kb2VzX25vdF9leGlzdCgpOworCisJcmV0dXJuIF9fZml4X3RvX3ZpcnQoaWR4KTsKK30KKworc3RhdGljIGlubGluZSB1bnNpZ25lZCBsb25nIHZpcnRfdG9fZml4KGNvbnN0IHVuc2lnbmVkIGxvbmcgdmFkZHIpCit7CisJQlVHX09OKHZhZGRyID49IEZJWEFERFJfVE9QIHx8IHZhZGRyIDwgRklYQUREUl9TVEFSVCk7CisJcmV0dXJuIF9fdmlydF90b19maXgodmFkZHIpOworfQogI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvZml4bWFwXzMyLmggYi9pbmNsdWRlL2FzbS14ODYvZml4bWFwXzMyLmgKaW5kZXggNGI5NjE0OC4uYWFlMmYwNSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L2ZpeG1hcF8zMi5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9maXhtYXBfMzIuaApAQCAtNzksMTAgKzc5LDYgQEAKIAlGSVhfS01BUF9CRUdJTiwJLyogcmVzZXJ2ZWQgcHRlJ3MgZm9yIHRlbXBvcmFyeSBrZXJuZWwgbWFwcGluZ3MgKi8KIAlGSVhfS01BUF9FTkQgPSBGSVhfS01BUF9CRUdJTisoS01fVFlQRV9OUipOUl9DUFVTKS0xLAogI2VuZGlmCi0jaWZkZWYgQ09ORklHX0FDUEkKLQlGSVhfQUNQSV9CRUdJTiwKLQlGSVhfQUNQSV9FTkQgPSBGSVhfQUNQSV9CRUdJTiArIEZJWF9BQ1BJX1BBR0VTIC0gMSwKLSNlbmRpZgogI2lmZGVmIENPTkZJR19QQ0lfTU1DT05GSUcKIAlGSVhfUENJRV9NQ0ZHLAogI2VuZGlmCkBAIC0xMDMsMjMgKzk5LDE4IEBACiAJCQkoX19lbmRfb2ZfcGVybWFuZW50X2ZpeGVkX2FkZHJlc3NlcyAmIDUxMSksCiAJRklYX0JUTUFQX0JFR0lOID0gRklYX0JUTUFQX0VORCArIE5SX0ZJWF9CVE1BUFMqRklYX0JUTUFQU19ORVNUSU5HIC0gMSwKIAlGSVhfV1BfVEVTVCwKKyNpZmRlZiBDT05GSUdfQUNQSQorCUZJWF9BQ1BJX0JFR0lOLAorCUZJWF9BQ1BJX0VORCA9IEZJWF9BQ1BJX0JFR0lOICsgRklYX0FDUElfUEFHRVMgLSAxLAorI2VuZGlmCiAjaWZkZWYgQ09ORklHX1BST1ZJREVfT0hDSTEzOTRfRE1BX0lOSVQKIAlGSVhfT0hDSTEzOTRfQkFTRSwKICNlbmRpZgogCV9fZW5kX29mX2ZpeGVkX2FkZHJlc3NlcwogfTsKIAotZXh0ZXJuIHZvaWQgX19zZXRfZml4bWFwKGVudW0gZml4ZWRfYWRkcmVzc2VzIGlkeCwKLQkJCSB1bnNpZ25lZCBsb25nIHBoeXMsIHBncHJvdF90IGZsYWdzKTsKIGV4dGVybiB2b2lkIHJlc2VydmVfdG9wX2FkZHJlc3ModW5zaWduZWQgbG9uZyByZXNlcnZlKTsKIAotI2RlZmluZSBzZXRfZml4bWFwKGlkeCwgcGh5cykJCQkJXAotCV9fc2V0X2ZpeG1hcChpZHgsIHBoeXMsIFBBR0VfS0VSTkVMKQotLyoKLSAqIFNvbWUgaGFyZHdhcmUgd2FudHMgdG8gZ2V0IGZpeG1hcHBlZCB3aXRob3V0IGNhY2hpbmcuCi0gKi8KLSNkZWZpbmUgc2V0X2ZpeG1hcF9ub2NhY2hlKGlkeCwgcGh5cykJCQlcCi0JX19zZXRfZml4bWFwKGlkeCwgcGh5cywgUEFHRV9LRVJORUxfTk9DQUNIRSkKIAogI2RlZmluZSBGSVhBRERSX1RPUAkoKHVuc2lnbmVkIGxvbmcpX19GSVhBRERSX1RPUCkKIApAQCAtMTI4LDM4ICsxMTksNSBAQAogI2RlZmluZSBGSVhBRERSX1NUQVJUCQkoRklYQUREUl9UT1AgLSBfX0ZJWEFERFJfU0laRSkKICNkZWZpbmUgRklYQUREUl9CT09UX1NUQVJUCShGSVhBRERSX1RPUCAtIF9fRklYQUREUl9CT09UX1NJWkUpCiAKLSNkZWZpbmUgX19maXhfdG9fdmlydCh4KQkoRklYQUREUl9UT1AgLSAoKHgpIDw8IFBBR0VfU0hJRlQpKQotI2RlZmluZSBfX3ZpcnRfdG9fZml4KHgpCSgoRklYQUREUl9UT1AgLSAoKHgpJlBBR0VfTUFTSykpID4+IFBBR0VfU0hJRlQpCi0KLWV4dGVybiB2b2lkIF9fdGhpc19maXhtYXBfZG9lc19ub3RfZXhpc3Qodm9pZCk7Ci0KLS8qCi0gKiAnaW5kZXggdG8gYWRkcmVzcycgdHJhbnNsYXRpb24uIElmIGFueW9uZSB0cmllcyB0byB1c2UgdGhlIGlkeAotICogZGlyZWN0bHkgd2l0aG91dCB0cmFubGF0aW9uLCB3ZSBjYXRjaCB0aGUgYnVnIHdpdGggYSBOVUxMLWRlZmVyZW5jZQotICoga2VybmVsIG9vcHMuIElsbGVnYWwgcmFuZ2VzIG9mIGluY29taW5nIGluZGljZXMgYXJlIGNhdWdodCB0b28uCi0gKi8KLXN0YXRpYyBfX2Fsd2F5c19pbmxpbmUgdW5zaWduZWQgbG9uZyBmaXhfdG9fdmlydChjb25zdCB1bnNpZ25lZCBpbnQgaWR4KQotewotCS8qCi0JICogdGhpcyBicmFuY2ggZ2V0cyBjb21wbGV0ZWx5IGVsaW1pbmF0ZWQgYWZ0ZXIgaW5saW5pbmcsCi0JICogZXhjZXB0IHdoZW4gc29tZW9uZSB0cmllcyB0byB1c2UgZml4YWRkciBpbmRpY2VzIGluIGFuCi0JICogaWxsZWdhbCB3YXkuIChzdWNoIGFzIG1peGluZyB1cCBhZGRyZXNzIHR5cGVzIG9yIHVzaW5nCi0JICogb3V0LW9mLXJhbmdlIGluZGljZXMpLgotCSAqCi0JICogSWYgaXQgZG9lc24ndCBnZXQgcmVtb3ZlZCwgdGhlIGxpbmtlciB3aWxsIGNvbXBsYWluCi0JICogbG91ZGx5IHdpdGggYSByZWFzb25hYmx5IGNsZWFyIGVycm9yIG1lc3NhZ2UuLgotCSAqLwotCWlmIChpZHggPj0gX19lbmRfb2ZfZml4ZWRfYWRkcmVzc2VzKQotCQlfX3RoaXNfZml4bWFwX2RvZXNfbm90X2V4aXN0KCk7Ci0KLQlyZXR1cm4gX19maXhfdG9fdmlydChpZHgpOwotfQotCi1zdGF0aWMgaW5saW5lIHVuc2lnbmVkIGxvbmcgdmlydF90b19maXgoY29uc3QgdW5zaWduZWQgbG9uZyB2YWRkcikKLXsKLQlCVUdfT04odmFkZHIgPj0gRklYQUREUl9UT1AgfHwgdmFkZHIgPCBGSVhBRERSX1NUQVJUKTsKLQlyZXR1cm4gX192aXJ0X3RvX2ZpeCh2YWRkcik7Ci19Ci0KICNlbmRpZiAvKiAhX19BU1NFTUJMWV9fICovCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9maXhtYXBfNjQuaCBiL2luY2x1ZGUvYXNtLXg4Ni9maXhtYXBfNjQuaAppbmRleCAzNTVkMjZhLi4wMGYzZDc0IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvZml4bWFwXzY0LmgKKysrIGIvaW5jbHVkZS9hc20teDg2L2ZpeG1hcF82NC5oCkBAIC0xMiw2ICsxMiw3IEBACiAjZGVmaW5lIF9BU01fRklYTUFQXzY0X0gKIAogI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGFzbS9hY3BpLmg+CiAjaW5jbHVkZSA8YXNtL2FwaWNkZWYuaD4KICNpbmNsdWRlIDxhc20vcGFnZS5oPgogI2luY2x1ZGUgPGFzbS92c3lzY2FsbC5oPgpAQCAtMzksMzAgKzQwLDM4IEBACiAJVlNZU0NBTExfSFBFVCwKIAlGSVhfREJHUF9CQVNFLAogCUZJWF9FQVJMWUNPTl9NRU1fQkFTRSwKLQlGSVhfSFBFVF9CQVNFLAogCUZJWF9BUElDX0JBU0UsCS8qIGxvY2FsIChDUFUpIEFQSUMpIC0tIHJlcXVpcmVkIGZvciBTTVAgb3Igbm90ICovCiAJRklYX0lPX0FQSUNfQkFTRV8wLAogCUZJWF9JT19BUElDX0JBU0VfRU5EID0gRklYX0lPX0FQSUNfQkFTRV8wICsgTUFYX0lPX0FQSUNTIC0gMSwKIAlGSVhfRUZJX0lPX01BUF9MQVNUX1BBR0UsCiAJRklYX0VGSV9JT19NQVBfRklSU1RfUEFHRSA9IEZJWF9FRklfSU9fTUFQX0xBU1RfUEFHRQogCQkJCSAgKyBNQVhfRUZJX0lPX1BBR0VTIC0gMSwKKyNpZmRlZiBDT05GSUdfUEFSQVZJUlQKKwlGSVhfUEFSQVZJUlRfQk9PVE1BUCwKKyNlbmRpZgorI2lmZGVmIENPTkZJR19BQ1BJCisJRklYX0FDUElfQkVHSU4sCisJRklYX0FDUElfRU5EID0gRklYX0FDUElfQkVHSU4gKyBGSVhfQUNQSV9QQUdFUyAtIDEsCisjZW5kaWYKICNpZmRlZiBDT05GSUdfUFJPVklERV9PSENJMTM5NF9ETUFfSU5JVAogCUZJWF9PSENJMTM5NF9CQVNFLAogI2VuZGlmCisJX19lbmRfb2ZfcGVybWFuZW50X2ZpeGVkX2FkZHJlc3NlcywKKwkvKgorCSAqIDI1NiB0ZW1wb3JhcnkgYm9vdC10aW1lIG1hcHBpbmdzLCB1c2VkIGJ5IGVhcmx5X2lvcmVtYXAoKSwKKwkgKiBiZWZvcmUgaW9yZW1hcCgpIGlzIGZ1bmN0aW9uYWwuCisJICoKKwkgKiBXZSByb3VuZCBpdCB1cCB0byB0aGUgbmV4dCA1MTIgcGFnZXMgYm91bmRhcnkgc28gdGhhdCB3ZQorCSAqIGNhbiBoYXZlIGEgc2luZ2xlIHBnZCBlbnRyeSBhbmQgYSBzaW5nbGUgcHRlIHRhYmxlOgorCSAqLworI2RlZmluZSBOUl9GSVhfQlRNQVBTCQk2NAorI2RlZmluZSBGSVhfQlRNQVBTX05FU1RJTkcJNAorCUZJWF9CVE1BUF9FTkQgPSBfX2VuZF9vZl9wZXJtYW5lbnRfZml4ZWRfYWRkcmVzc2VzICsgNTEyIC0KKwkJCShfX2VuZF9vZl9wZXJtYW5lbnRfZml4ZWRfYWRkcmVzc2VzICYgNTExKSwKKwlGSVhfQlRNQVBfQkVHSU4gPSBGSVhfQlRNQVBfRU5EICsgTlJfRklYX0JUTUFQUypGSVhfQlRNQVBTX05FU1RJTkcgLSAxLAogCV9fZW5kX29mX2ZpeGVkX2FkZHJlc3NlcwogfTsKIAotZXh0ZXJuIHZvaWQgX19zZXRfZml4bWFwKGVudW0gZml4ZWRfYWRkcmVzc2VzIGlkeCwKLQkJCSB1bnNpZ25lZCBsb25nIHBoeXMsIHBncHJvdF90IGZsYWdzKTsKLQotI2RlZmluZSBzZXRfZml4bWFwKGlkeCwgcGh5cykJCQlcCi0JX19zZXRfZml4bWFwKGlkeCwgcGh5cywgUEFHRV9LRVJORUwpCi0vKgotICogU29tZSBoYXJkd2FyZSB3YW50cyB0byBnZXQgZml4bWFwcGVkIHdpdGhvdXQgY2FjaGluZy4KLSAqLwotI2RlZmluZSBzZXRfZml4bWFwX25vY2FjaGUoaWR4LCBwaHlzKQkJCVwKLQlfX3NldF9maXhtYXAoaWR4LCBwaHlzLCBQQUdFX0tFUk5FTF9OT0NBQ0hFKQotCiAjZGVmaW5lIEZJWEFERFJfVE9QCShWU1lTQ0FMTF9FTkQtUEFHRV9TSVpFKQogI2RlZmluZSBGSVhBRERSX1NJWkUJKF9fZW5kX29mX2ZpeGVkX2FkZHJlc3NlcyA8PCBQQUdFX1NISUZUKQogI2RlZmluZSBGSVhBRERSX1NUQVJUCShGSVhBRERSX1RPUCAtIEZJWEFERFJfU0laRSkKQEAgLTcxLDMwICs4MCw0IEBACiAjZGVmaW5lIEZJWEFERFJfVVNFUl9TVEFSVAkoKHVuc2lnbmVkIGxvbmcpVlNZU0NBTEwzMl9WU1lTQ0FMTCkKICNkZWZpbmUgRklYQUREUl9VU0VSX0VORAkoRklYQUREUl9VU0VSX1NUQVJUICsgUEFHRV9TSVpFKQogCi0jZGVmaW5lIF9fZml4X3RvX3ZpcnQoeCkJKEZJWEFERFJfVE9QIC0gKCh4KSA8PCBQQUdFX1NISUZUKSkKLQotZXh0ZXJuIHZvaWQgX190aGlzX2ZpeG1hcF9kb2VzX25vdF9leGlzdCh2b2lkKTsKLQotLyoKLSAqICdpbmRleCB0byBhZGRyZXNzJyB0cmFuc2xhdGlvbi4gSWYgYW55b25lIHRyaWVzIHRvIHVzZSB0aGUgaWR4Ci0gKiBkaXJlY3RseSB3aXRob3V0IHRyYW5zbGF0aW9uLCB3ZSBjYXRjaCB0aGUgYnVnIHdpdGggYSBOVUxMLWRlZmVyZW5jZQotICoga2VybmVsIG9vcHMuIElsbGVnYWwgcmFuZ2VzIG9mIGluY29taW5nIGluZGljZXMgYXJlIGNhdWdodCB0b28uCi0gKi8KLXN0YXRpYyBfX2Fsd2F5c19pbmxpbmUgdW5zaWduZWQgbG9uZyBmaXhfdG9fdmlydChjb25zdCB1bnNpZ25lZCBpbnQgaWR4KQotewotCS8qCi0JICogdGhpcyBicmFuY2ggZ2V0cyBjb21wbGV0ZWx5IGVsaW1pbmF0ZWQgYWZ0ZXIgaW5saW5pbmcsCi0JICogZXhjZXB0IHdoZW4gc29tZW9uZSB0cmllcyB0byB1c2UgZml4YWRkciBpbmRpY2VzIGluIGFuCi0JICogaWxsZWdhbCB3YXkuIChzdWNoIGFzIG1peGluZyB1cCBhZGRyZXNzIHR5cGVzIG9yIHVzaW5nCi0JICogb3V0LW9mLXJhbmdlIGluZGljZXMpLgotCSAqCi0JICogSWYgaXQgZG9lc24ndCBnZXQgcmVtb3ZlZCwgdGhlIGxpbmtlciB3aWxsIGNvbXBsYWluCi0JICogbG91ZGx5IHdpdGggYSByZWFzb25hYmx5IGNsZWFyIGVycm9yIG1lc3NhZ2UuLgotCSAqLwotCWlmIChpZHggPj0gX19lbmRfb2ZfZml4ZWRfYWRkcmVzc2VzKQotCQlfX3RoaXNfZml4bWFwX2RvZXNfbm90X2V4aXN0KCk7Ci0KLQlyZXR1cm4gX19maXhfdG9fdmlydChpZHgpOwotfQotCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9mdHJhY2UuaCBiL2luY2x1ZGUvYXNtLXg4Ni9mdHJhY2UuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMTg0NDQxCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20teDg2L2Z0cmFjZS5oCkBAIC0wLDAgKzEsMTQgQEAKKyNpZm5kZWYgX0FTTV9YODZfRlRSQUNFCisjZGVmaW5lIF9BU01fU1BBUkM2NF9GVFJBQ0UKKworI2lmZGVmIENPTkZJR19GVFJBQ0UKKyNkZWZpbmUgTUNPVU5UX0FERFIJCSgobG9uZykobWNvdW50KSkKKyNkZWZpbmUgTUNPVU5UX0lOU05fU0laRQk1IC8qIHNpemVvZiBtY291bnQgY2FsbCAqLworCisjaWZuZGVmIF9fQVNTRU1CTFlfXworZXh0ZXJuIHZvaWQgbWNvdW50KHZvaWQpOworI2VuZGlmCisKKyNlbmRpZiAvKiBDT05GSUdfRlRSQUNFICovCisKKyNlbmRpZiAvKiBfQVNNX1g4Nl9GVFJBQ0UgKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9nYXJ0LmggYi9pbmNsdWRlL2FzbS14ODYvZ2FydC5oCmluZGV4IDkwOTU4ZWQuLjMzYjlhZWUgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9nYXJ0LmgKKysrIGIvaW5jbHVkZS9hc20teDg2L2dhcnQuaApAQCAtMSwzNCArMSw3MiBAQAotI2lmbmRlZiBfQVNNX1g4NjY0X0lPTU1VX0gKLSNkZWZpbmUgX0FTTV9YODY2NF9JT01NVV9IIDEKKyNpZm5kZWYgX0FTTV9YODY2NF9HQVJUX0gKKyNkZWZpbmUgX0FTTV9YODY2NF9HQVJUX0ggMQogCi1leHRlcm4gdm9pZCBwY2lfaW9tbXVfc2h1dGRvd24odm9pZCk7Ci1leHRlcm4gdm9pZCBub19pb21tdV9pbml0KHZvaWQpOwotZXh0ZXJuIGludCBmb3JjZV9pb21tdSwgbm9faW9tbXU7Ci1leHRlcm4gaW50IGlvbW11X2RldGVjdGVkOwotI2lmZGVmIENPTkZJR19HQVJUX0lPTU1VCi1leHRlcm4gdm9pZCBnYXJ0X2lvbW11X2luaXQodm9pZCk7Ci1leHRlcm4gdm9pZCBnYXJ0X2lvbW11X3NodXRkb3duKHZvaWQpOwotZXh0ZXJuIHZvaWQgX19pbml0IGdhcnRfcGFyc2Vfb3B0aW9ucyhjaGFyICopOwotZXh0ZXJuIHZvaWQgZWFybHlfZ2FydF9pb21tdV9jaGVjayh2b2lkKTsKLWV4dGVybiB2b2lkIGdhcnRfaW9tbXVfaG9sZV9pbml0KHZvaWQpOworI2luY2x1ZGUgPGFzbS9lODIwLmg+CisjaW5jbHVkZSA8YXNtL2lvbW11Lmg+CisKK2V4dGVybiB2b2lkIHNldF91cF9nYXJ0X3Jlc3VtZSh1MzIsIHUzMik7CisKIGV4dGVybiBpbnQgZmFsbGJhY2tfYXBlcl9vcmRlcjsKIGV4dGVybiBpbnQgZmFsbGJhY2tfYXBlcl9mb3JjZTsKLWV4dGVybiBpbnQgZ2FydF9pb21tdV9hcGVydHVyZTsKLWV4dGVybiBpbnQgZ2FydF9pb21tdV9hcGVydHVyZV9hbGxvd2VkOwotZXh0ZXJuIGludCBnYXJ0X2lvbW11X2FwZXJ0dXJlX2Rpc2FibGVkOwogZXh0ZXJuIGludCBmaXhfYXBlcnR1cmU7Ci0jZWxzZQotI2RlZmluZSBnYXJ0X2lvbW11X2FwZXJ0dXJlIDAKLSNkZWZpbmUgZ2FydF9pb21tdV9hcGVydHVyZV9hbGxvd2VkIDAKIAotc3RhdGljIGlubGluZSB2b2lkIGVhcmx5X2dhcnRfaW9tbXVfY2hlY2sodm9pZCkKKy8qIFBURSBiaXRzLiAqLworI2RlZmluZSBHUFRFX1ZBTElECTEKKyNkZWZpbmUgR1BURV9DT0hFUkVOVAkyCisKKy8qIEFwZXJ0dXJlIGNvbnRyb2wgcmVnaXN0ZXIgYml0cy4gKi8KKyNkZWZpbmUgR0FSVEVOCQkoMTw8MCkKKyNkZWZpbmUgRElTR0FSVENQVQkoMTw8NCkKKyNkZWZpbmUgRElTR0FSVElPCSgxPDw1KQorCisvKiBHQVJUIGNhY2hlIGNvbnRyb2wgcmVnaXN0ZXIgYml0cy4gKi8KKyNkZWZpbmUgSU5WR0FSVAkJKDE8PDApCisjZGVmaW5lIEdBUlRQVEVFUlIJKDE8PDEpCisKKy8qIEs4IE9uLWNwdSBHQVJUIHJlZ2lzdGVycyAqLworI2RlZmluZSBBTUQ2NF9HQVJUQVBFUlRVUkVDVEwJMHg5MAorI2RlZmluZSBBTUQ2NF9HQVJUQVBFUlRVUkVCQVNFCTB4OTQKKyNkZWZpbmUgQU1ENjRfR0FSVFRBQkxFQkFTRQkweDk4CisjZGVmaW5lIEFNRDY0X0dBUlRDQUNIRUNUTAkweDljCisjZGVmaW5lIEFNRDY0X0dBUlRFTgkJKDE8PDApCisKK3N0YXRpYyBpbmxpbmUgdm9pZCBlbmFibGVfZ2FydF90cmFuc2xhdGlvbihzdHJ1Y3QgcGNpX2RldiAqZGV2LCB1NjQgYWRkcikKIHsKKwl1MzIgdG1wLCBjdGw7CisKKyAgICAgICAgLyogYWRkcmVzcyBvZiB0aGUgbWFwcGluZ3MgdGFibGUgKi8KKyAgICAgICAgYWRkciA+Pj0gMTI7CisgICAgICAgIHRtcCA9ICh1MzIpIGFkZHI8PDQ7CisgICAgICAgIHRtcCAmPSB+MHhmOworICAgICAgICBwY2lfd3JpdGVfY29uZmlnX2R3b3JkKGRldiwgQU1ENjRfR0FSVFRBQkxFQkFTRSwgdG1wKTsKKworICAgICAgICAvKiBFbmFibGUgR0FSVCB0cmFuc2xhdGlvbiBmb3IgdGhpcyBoYW1tZXIuICovCisgICAgICAgIHBjaV9yZWFkX2NvbmZpZ19kd29yZChkZXYsIEFNRDY0X0dBUlRBUEVSVFVSRUNUTCwgJmN0bCk7CisgICAgICAgIGN0bCB8PSBHQVJURU47CisgICAgICAgIGN0bCAmPSB+KERJU0dBUlRDUFUgfCBESVNHQVJUSU8pOworICAgICAgICBwY2lfd3JpdGVfY29uZmlnX2R3b3JkKGRldiwgQU1ENjRfR0FSVEFQRVJUVVJFQ1RMLCBjdGwpOwogfQogCi1zdGF0aWMgaW5saW5lIHZvaWQgZ2FydF9pb21tdV9zaHV0ZG93bih2b2lkKQorc3RhdGljIGlubGluZSBpbnQgYXBlcnR1cmVfdmFsaWQodTY0IGFwZXJfYmFzZSwgdTMyIGFwZXJfc2l6ZSwgdTMyIG1pbl9zaXplKQogewotfQorCWlmICghYXBlcl9iYXNlKQorCQlyZXR1cm4gMDsKIAotI2VuZGlmCisJaWYgKGFwZXJfYmFzZSArIGFwZXJfc2l6ZSA+IDB4MTAwMDAwMDAwVUxMKSB7CisJCXByaW50ayhLRVJOX0VSUiAiQXBlcnR1cmUgYmV5b25kIDRHQi4gSWdub3JpbmcuXG4iKTsKKwkJcmV0dXJuIDA7CisJfQorCWlmIChlODIwX2FueV9tYXBwZWQoYXBlcl9iYXNlLCBhcGVyX2Jhc2UgKyBhcGVyX3NpemUsIEU4MjBfUkFNKSkgeworCQlwcmludGsoS0VSTl9FUlIgIkFwZXJ0dXJlIHBvaW50aW5nIHRvIGU4MjAgUkFNLiBJZ25vcmluZy5cbiIpOworCQlyZXR1cm4gMDsKKwl9CisJaWYgKGFwZXJfc2l6ZSA8IG1pbl9zaXplKSB7CisJCXByaW50ayhLRVJOX0VSUiAiQXBlcnR1cmUgdG9vIHNtYWxsICglZCBNQikgdGhhbiAoJWQgTUIpXG4iLAorCQkJCSBhcGVyX3NpemU+PjIwLCBtaW5fc2l6ZT4+MjApOworCQlyZXR1cm4gMDsKKwl9CisKKwlyZXR1cm4gMTsKK30KIAogI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvZ2VuYXBpY182NC5oIGIvaW5jbHVkZS9hc20teDg2L2dlbmFwaWNfNjQuaAppbmRleCAxZGU5MzFiLi4wZjg1MDQ2IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvZ2VuYXBpY182NC5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9nZW5hcGljXzY0LmgKQEAgLTQ0LDQgKzQ0LDYgQEAKIGV4dGVybiB2b2lkIHV2X2NwdV9pbml0KHZvaWQpOwogZXh0ZXJuIGludCB1dl93YWtldXBfc2Vjb25kYXJ5KGludCBwaHlzX2FwaWNpZCwgdW5zaWduZWQgaW50IHN0YXJ0X3JpcCk7CiAKK2V4dGVybiB2b2lkIHNldHVwX2FwaWNfcm91dGluZyh2b2lkKTsKKwogI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvaGFyZGlycS5oIGIvaW5jbHVkZS9hc20teDg2L2hhcmRpcnEuaAppbmRleCAzMTQ0MzRkLi4wMDA3ODdkIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvaGFyZGlycS5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9oYXJkaXJxLmgKQEAgLTMsMyArMyw5IEBACiAjZWxzZQogIyBpbmNsdWRlICJoYXJkaXJxXzY0LmgiCiAjZW5kaWYKKworZXh0ZXJuIHU2NCBhcmNoX2lycV9zdGF0X2NwdSh1bnNpZ25lZCBpbnQgY3B1KTsKKyNkZWZpbmUgYXJjaF9pcnFfc3RhdF9jcHUJYXJjaF9pcnFfc3RhdF9jcHUKKworZXh0ZXJuIHU2NCBhcmNoX2lycV9zdGF0KHZvaWQpOworI2RlZmluZSBhcmNoX2lycV9zdGF0CQlhcmNoX2lycV9zdGF0CmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvaGlnaG1lbS5oIGIvaW5jbHVkZS9hc20teDg2L2hpZ2htZW0uaAppbmRleCBlMTUzZjNiLi40NTE0YjE2IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvaGlnaG1lbS5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9oaWdobWVtLmgKQEAgLTc0LDYgKzc0LDkgQEAKIAogI2RlZmluZSBmbHVzaF9jYWNoZV9rbWFwcygpCWRvIHsgfSB3aGlsZSAoMCkKIAorZXh0ZXJuIHZvaWQgYWRkX2hpZ2hwYWdlc193aXRoX2FjdGl2ZV9yZWdpb25zKGludCBuaWQsIHVuc2lnbmVkIGxvbmcgc3RhcnRfcGZuLAorCQkJCQl1bnNpZ25lZCBsb25nIGVuZF9wZm4pOworCiAjZW5kaWYgLyogX19LRVJORUxfXyAqLwogCiAjZW5kaWYgLyogX0FTTV9ISUdITUVNX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9ocGV0LmggYi9pbmNsdWRlL2FzbS14ODYvaHBldC5oCmluZGV4IDZhOWI0YWMuLjgyZjFhYzYgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9ocGV0LmgKKysrIGIvaW5jbHVkZS9hc20teDg2L2hwZXQuaApAQCAtODYsOCArODYsOCBAQAogI2Vsc2UgLyogQ09ORklHX0hQRVRfVElNRVIgKi8KIAogc3RhdGljIGlubGluZSBpbnQgaHBldF9lbmFibGUodm9pZCkgeyByZXR1cm4gMDsgfQotc3RhdGljIGlubGluZSB1bnNpZ25lZCBsb25nIGhwZXRfcmVhZGwodW5zaWduZWQgbG9uZyBhKSB7IHJldHVybiAwOyB9CiBzdGF0aWMgaW5saW5lIGludCBpc19ocGV0X2VuYWJsZWQodm9pZCkgeyByZXR1cm4gMDsgfQorI2RlZmluZSBocGV0X3JlYWRsKGEpIDAKIAogI2VuZGlmCiAjZW5kaWYgLyogQVNNX1g4Nl9IUEVUX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9od19pcnEuaCBiL2luY2x1ZGUvYXNtLXg4Ni9od19pcnEuaAppbmRleCBiZjAyNTM5Li4xOGYwNjdjIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvaHdfaXJxLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L2h3X2lycS5oCkBAIC0xLDUgKzEsMTA2IEBACisjaWZuZGVmIF9BU01fSFdfSVJRX0gKKyNkZWZpbmUgX0FTTV9IV19JUlFfSAorCisvKgorICogKEMpIDE5OTIsIDE5OTMgTGludXMgVG9ydmFsZHMsIChDKSAxOTk3IEluZ28gTW9sbmFyCisgKgorICogbW92ZWQgc29tZSBvZiB0aGUgb2xkIGFyY2gvaTM4Ni9rZXJuZWwvaXJxLmggdG8gaGVyZS4gVlkKKyAqCisgKiBJUlEvSVBJIGNoYW5nZXMgdGFrZW4gZnJvbSB3b3JrIGJ5IFRob21hcyBSYWRrZQorICogPHRvbXNvZnRAaW5mb3JtYXRpay50dS1jaGVtbml0ei5kZT4KKyAqCisgKiBoYWNrZWQgYnkgQW5kaSBLbGVlbiBmb3IgeDg2LTY0LgorICogdW5pZmllZCBieSB0Z2x4CisgKi8KKworI2luY2x1ZGUgPGFzbS9pcnFfdmVjdG9ycy5oPgorCisjaWZuZGVmIF9fQVNTRU1CTFlfXworCisjaW5jbHVkZSA8bGludXgvcGVyY3B1Lmg+CisjaW5jbHVkZSA8bGludXgvcHJvZmlsZS5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcC5oPgorCisjaW5jbHVkZSA8YXNtL2F0b21pYy5oPgorI2luY2x1ZGUgPGFzbS9pcnEuaD4KKyNpbmNsdWRlIDxhc20vc2VjdGlvbnMuaD4KKworI2RlZmluZSBwbGF0Zm9ybV9sZWdhY3lfaXJxKGlycSkJKChpcnEpIDwgMTYpCisKKy8qIEludGVycnVwdCBoYW5kbGVycyByZWdpc3RlcmVkIGR1cmluZyBpbml0X0lSUSAqLworZXh0ZXJuIHZvaWQgYXBpY190aW1lcl9pbnRlcnJ1cHQodm9pZCk7CitleHRlcm4gdm9pZCBlcnJvcl9pbnRlcnJ1cHQodm9pZCk7CitleHRlcm4gdm9pZCBzcHVyaW91c19pbnRlcnJ1cHQodm9pZCk7CitleHRlcm4gdm9pZCB0aGVybWFsX2ludGVycnVwdCh2b2lkKTsKK2V4dGVybiB2b2lkIHJlc2NoZWR1bGVfaW50ZXJydXB0KHZvaWQpOworCitleHRlcm4gdm9pZCBpbnZhbGlkYXRlX2ludGVycnVwdCh2b2lkKTsKK2V4dGVybiB2b2lkIGludmFsaWRhdGVfaW50ZXJydXB0MCh2b2lkKTsKK2V4dGVybiB2b2lkIGludmFsaWRhdGVfaW50ZXJydXB0MSh2b2lkKTsKK2V4dGVybiB2b2lkIGludmFsaWRhdGVfaW50ZXJydXB0Mih2b2lkKTsKK2V4dGVybiB2b2lkIGludmFsaWRhdGVfaW50ZXJydXB0Myh2b2lkKTsKK2V4dGVybiB2b2lkIGludmFsaWRhdGVfaW50ZXJydXB0NCh2b2lkKTsKK2V4dGVybiB2b2lkIGludmFsaWRhdGVfaW50ZXJydXB0NSh2b2lkKTsKK2V4dGVybiB2b2lkIGludmFsaWRhdGVfaW50ZXJydXB0Nih2b2lkKTsKK2V4dGVybiB2b2lkIGludmFsaWRhdGVfaW50ZXJydXB0Nyh2b2lkKTsKKworZXh0ZXJuIHZvaWQgaXJxX21vdmVfY2xlYW51cF9pbnRlcnJ1cHQodm9pZCk7CitleHRlcm4gdm9pZCB0aHJlc2hvbGRfaW50ZXJydXB0KHZvaWQpOworCitleHRlcm4gdm9pZCBjYWxsX2Z1bmN0aW9uX2ludGVycnVwdCh2b2lkKTsKKworLyogUElDIHNwZWNpZmljIGZ1bmN0aW9ucyAqLworZXh0ZXJuIHZvaWQgZGlzYWJsZV84MjU5QV9pcnEodW5zaWduZWQgaW50IGlycSk7CitleHRlcm4gdm9pZCBlbmFibGVfODI1OUFfaXJxKHVuc2lnbmVkIGludCBpcnEpOworZXh0ZXJuIGludCBpODI1OUFfaXJxX3BlbmRpbmcodW5zaWduZWQgaW50IGlycSk7CitleHRlcm4gdm9pZCBtYWtlXzgyNTlBX2lycSh1bnNpZ25lZCBpbnQgaXJxKTsKK2V4dGVybiB2b2lkIGluaXRfODI1OUEoaW50IGFlb2kpOworCisvKiBJT0FQSUMgKi8KKyNkZWZpbmUgSU9fQVBJQ19JUlEoeCkgKCgoeCkgPj0gMTYpIHx8ICgoMTw8KHgpKSAmIGlvX2FwaWNfaXJxcykpCitleHRlcm4gdW5zaWduZWQgbG9uZyBpb19hcGljX2lycXM7CisKK2V4dGVybiB2b2lkIGluaXRfVklTV1NfQVBJQ19pcnFzKHZvaWQpOworZXh0ZXJuIHZvaWQgc2V0dXBfSU9fQVBJQyh2b2lkKTsKK2V4dGVybiB2b2lkIGRpc2FibGVfSU9fQVBJQyh2b2lkKTsKK2V4dGVybiB2b2lkIHByaW50X0lPX0FQSUModm9pZCk7CitleHRlcm4gaW50IElPX0FQSUNfZ2V0X1BDSV9pcnFfdmVjdG9yKGludCBidXMsIGludCBzbG90LCBpbnQgZm4pOworZXh0ZXJuIHZvaWQgc2V0dXBfaW9hcGljX2Rlc3Qodm9pZCk7CisKKyNpZmRlZiBDT05GSUdfWDg2XzY0CitleHRlcm4gdm9pZCBlbmFibGVfSU9fQVBJQyh2b2lkKTsKKyNlbmRpZgorCisvKiBJUEkgZnVuY3Rpb25zICovCitleHRlcm4gdm9pZCBzZW5kX0lQSV9zZWxmKGludCB2ZWN0b3IpOworZXh0ZXJuIHZvaWQgc2VuZF9JUEkoaW50IGRlc3QsIGludCB2ZWN0b3IpOworCisvKiBTdGF0aXN0aWNzICovCitleHRlcm4gYXRvbWljX3QgaXJxX2Vycl9jb3VudDsKK2V4dGVybiBhdG9taWNfdCBpcnFfbWlzX2NvdW50OworCisvKiBFSVNBICovCitleHRlcm4gdm9pZCBlaXNhX3NldF9sZXZlbF9pcnEodW5zaWduZWQgaW50IGlycSk7CisKKy8qIFZveWFnZXIgZnVuY3Rpb25zICovCitleHRlcm4gYXNtbGlua2FnZSB2b2lkIHZpY19jcGlfaW50ZXJydXB0KHZvaWQpOworZXh0ZXJuIGFzbWxpbmthZ2Ugdm9pZCB2aWNfc3lzX2ludGVycnVwdCh2b2lkKTsKK2V4dGVybiBhc21saW5rYWdlIHZvaWQgdmljX2Ntbl9pbnRlcnJ1cHQodm9pZCk7CitleHRlcm4gYXNtbGlua2FnZSB2b2lkIHFpY190aW1lcl9pbnRlcnJ1cHQodm9pZCk7CitleHRlcm4gYXNtbGlua2FnZSB2b2lkIHFpY19pbnZhbGlkYXRlX2ludGVycnVwdCh2b2lkKTsKK2V4dGVybiBhc21saW5rYWdlIHZvaWQgcWljX3Jlc2NoZWR1bGVfaW50ZXJydXB0KHZvaWQpOworZXh0ZXJuIGFzbWxpbmthZ2Ugdm9pZCBxaWNfZW5hYmxlX2lycV9pbnRlcnJ1cHQodm9pZCk7CitleHRlcm4gYXNtbGlua2FnZSB2b2lkIHFpY19jYWxsX2Z1bmN0aW9uX2ludGVycnVwdCh2b2lkKTsKKwogI2lmZGVmIENPTkZJR19YODZfMzIKLSMgaW5jbHVkZSAiaHdfaXJxXzMyLmgiCitleHRlcm4gdm9pZCAoKmNvbnN0IGludGVycnVwdFtOUl9JUlFTXSkodm9pZCk7CiAjZWxzZQotIyBpbmNsdWRlICJod19pcnFfNjQuaCIKK3R5cGVkZWYgaW50IHZlY3Rvcl9pcnFfdFtOUl9WRUNUT1JTXTsKK0RFQ0xBUkVfUEVSX0NQVSh2ZWN0b3JfaXJxX3QsIHZlY3Rvcl9pcnEpOworZXh0ZXJuIHNwaW5sb2NrX3QgdmVjdG9yX2xvY2s7CisjZW5kaWYKK2V4dGVybiB2b2lkIHNldHVwX3ZlY3Rvcl9pcnEoaW50IGNwdSk7CisKKyNlbmRpZiAvKiAhQVNTRU1CTFlfICovCisKICNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L2h3X2lycV8zMi5oIGIvaW5jbHVkZS9hc20teDg2L2h3X2lycV8zMi5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlYTg4MDU0Li4wMDAwMDAwCi0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9od19pcnFfMzIuaAorKysgL2Rldi9udWxsCkBAIC0xLDY2ICswLDAgQEAKLSNpZm5kZWYgX0FTTV9IV19JUlFfSAotI2RlZmluZSBfQVNNX0hXX0lSUV9ICi0KLS8qCi0gKglsaW51eC9pbmNsdWRlL2FzbS9od19pcnEuaAotICoKLSAqCShDKSAxOTkyLCAxOTkzIExpbnVzIFRvcnZhbGRzLCAoQykgMTk5NyBJbmdvIE1vbG5hcgotICoKLSAqCW1vdmVkIHNvbWUgb2YgdGhlIG9sZCBhcmNoL2kzODYva2VybmVsL2lycS5oIHRvIGhlcmUuIFZZCi0gKgotICoJSVJRL0lQSSBjaGFuZ2VzIHRha2VuIGZyb20gd29yayBieSBUaG9tYXMgUmFka2UKLSAqCTx0b21zb2Z0QGluZm9ybWF0aWsudHUtY2hlbW5pdHouZGU+Ci0gKi8KLQotI2luY2x1ZGUgPGxpbnV4L3Byb2ZpbGUuaD4KLSNpbmNsdWRlIDxhc20vYXRvbWljLmg+Ci0jaW5jbHVkZSA8YXNtL2lycS5oPgotI2luY2x1ZGUgPGFzbS9zZWN0aW9ucy5oPgotCi0jZGVmaW5lIE5NSV9WRUNUT1IJCTB4MDIKLQotLyoKLSAqIFZhcmlvdXMgbG93LWxldmVsIGlycSBkZXRhaWxzIG5lZWRlZCBieSBpcnEuYywgcHJvY2Vzcy5jLAotICogdGltZS5jLCBpb19hcGljLmMgYW5kIHNtcC5jCi0gKgotICogSW50ZXJydXB0IGVudHJ5L2V4aXQgY29kZSBhdCBib3RoIEMgYW5kIGFzc2VtYmx5IGxldmVsCi0gKi8KLQotZXh0ZXJuIHZvaWQgKCpjb25zdCBpbnRlcnJ1cHRbTlJfSVJRU10pKHZvaWQpOwotCi0jaWZkZWYgQ09ORklHX1NNUAotdm9pZCByZXNjaGVkdWxlX2ludGVycnVwdCh2b2lkKTsKLXZvaWQgaW52YWxpZGF0ZV9pbnRlcnJ1cHQodm9pZCk7Ci12b2lkIGNhbGxfZnVuY3Rpb25faW50ZXJydXB0KHZvaWQpOwotI2VuZGlmCi0KLSNpZmRlZiBDT05GSUdfWDg2X0xPQ0FMX0FQSUMKLXZvaWQgYXBpY190aW1lcl9pbnRlcnJ1cHQodm9pZCk7Ci12b2lkIGVycm9yX2ludGVycnVwdCh2b2lkKTsKLXZvaWQgc3B1cmlvdXNfaW50ZXJydXB0KHZvaWQpOwotdm9pZCB0aGVybWFsX2ludGVycnVwdCh2b2lkKTsKLSNkZWZpbmUgcGxhdGZvcm1fbGVnYWN5X2lycShpcnEpCSgoaXJxKSA8IDE2KQotI2VuZGlmCi0KLXZvaWQgZGlzYWJsZV84MjU5QV9pcnEodW5zaWduZWQgaW50IGlycSk7Ci12b2lkIGVuYWJsZV84MjU5QV9pcnEodW5zaWduZWQgaW50IGlycSk7Ci1pbnQgaTgyNTlBX2lycV9wZW5kaW5nKHVuc2lnbmVkIGludCBpcnEpOwotdm9pZCBtYWtlXzgyNTlBX2lycSh1bnNpZ25lZCBpbnQgaXJxKTsKLXZvaWQgaW5pdF84MjU5QShpbnQgYWVvaSk7Ci12b2lkIHNlbmRfSVBJX3NlbGYoaW50IHZlY3Rvcik7Ci12b2lkIGluaXRfVklTV1NfQVBJQ19pcnFzKHZvaWQpOwotdm9pZCBzZXR1cF9JT19BUElDKHZvaWQpOwotdm9pZCBkaXNhYmxlX0lPX0FQSUModm9pZCk7Ci12b2lkIHByaW50X0lPX0FQSUModm9pZCk7Ci1pbnQgSU9fQVBJQ19nZXRfUENJX2lycV92ZWN0b3IoaW50IGJ1cywgaW50IHNsb3QsIGludCBmbik7Ci12b2lkIHNlbmRfSVBJKGludCBkZXN0LCBpbnQgdmVjdG9yKTsKLXZvaWQgc2V0dXBfaW9hcGljX2Rlc3Qodm9pZCk7Ci0KLWV4dGVybiB1bnNpZ25lZCBsb25nIGlvX2FwaWNfaXJxczsKLQotZXh0ZXJuIGF0b21pY190IGlycV9lcnJfY291bnQ7Ci1leHRlcm4gYXRvbWljX3QgaXJxX21pc19jb3VudDsKLQotI2RlZmluZSBJT19BUElDX0lSUSh4KSAoKCh4KSA+PSAxNikgfHwgKCgxPDwoeCkpICYgaW9fYXBpY19pcnFzKSkKLQotI2VuZGlmIC8qIF9BU01fSFdfSVJRX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9od19pcnFfNjQuaCBiL2luY2x1ZGUvYXNtLXg4Ni9od19pcnFfNjQuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDA2MmVmMy4uMDAwMDAwMAotLS0gYS9pbmNsdWRlL2FzbS14ODYvaHdfaXJxXzY0LmgKKysrIC9kZXYvbnVsbApAQCAtMSwxNzMgKzAsMCBAQAotI2lmbmRlZiBfQVNNX0hXX0lSUV9ICi0jZGVmaW5lIF9BU01fSFdfSVJRX0gKLQotLyoKLSAqCWxpbnV4L2luY2x1ZGUvYXNtL2h3X2lycS5oCi0gKgotICoJKEMpIDE5OTIsIDE5OTMgTGludXMgVG9ydmFsZHMsIChDKSAxOTk3IEluZ28gTW9sbmFyCi0gKgotICoJbW92ZWQgc29tZSBvZiB0aGUgb2xkIGFyY2gvaTM4Ni9rZXJuZWwvaXJxLmggdG8gaGVyZS4gVlkKLSAqCi0gKglJUlEvSVBJIGNoYW5nZXMgdGFrZW4gZnJvbSB3b3JrIGJ5IFRob21hcyBSYWRrZQotICoJPHRvbXNvZnRAaW5mb3JtYXRpay50dS1jaGVtbml0ei5kZT4KLSAqCi0gKgloYWNrZWQgYnkgQW5kaSBLbGVlbiBmb3IgeDg2LTY0LgotICovCi0KLSNpZm5kZWYgX19BU1NFTUJMWV9fCi0jaW5jbHVkZSA8YXNtL2F0b21pYy5oPgotI2luY2x1ZGUgPGFzbS9pcnEuaD4KLSNpbmNsdWRlIDxsaW51eC9wcm9maWxlLmg+Ci0jaW5jbHVkZSA8bGludXgvc21wLmg+Ci0jaW5jbHVkZSA8bGludXgvcGVyY3B1Lmg+Ci0jZW5kaWYKLQotI2RlZmluZSBOTUlfVkVDVE9SCQkweDAyCi0vKgotICogSURUIHZlY3RvcnMgdXNhYmxlIGZvciBleHRlcm5hbCBpbnRlcnJ1cHQgc291cmNlcyBzdGFydAotICogYXQgMHgyMDoKLSAqLwotI2RlZmluZSBGSVJTVF9FWFRFUk5BTF9WRUNUT1IJMHgyMAotCi0jZGVmaW5lIElBMzJfU1lTQ0FMTF9WRUNUT1IJMHg4MAotCi0KLS8qIFJlc2VydmUgdGhlIGxvd2VzdCB1c2FibGUgcHJpb3JpdHkgbGV2ZWwgMHgyMCAtIDB4MmYgZm9yIHRyaWdnZXJpbmcKLSAqIGNsZWFudXAgYWZ0ZXIgaXJxIG1pZ3JhdGlvbi4KLSAqLwotI2RlZmluZSBJUlFfTU9WRV9DTEVBTlVQX1ZFQ1RPUglGSVJTVF9FWFRFUk5BTF9WRUNUT1IKLQotLyoKLSAqIFZlY3RvcnMgMHgzMC0weDNmIGFyZSB1c2VkIGZvciBJU0EgaW50ZXJydXB0cy4KLSAqLwotI2RlZmluZSBJUlEwX1ZFQ1RPUgkJKEZJUlNUX0VYVEVSTkFMX1ZFQ1RPUiArIDB4MTApCi0jZGVmaW5lIElSUTFfVkVDVE9SCQkoSVJRMF9WRUNUT1IgKyAxKQotI2RlZmluZSBJUlEyX1ZFQ1RPUgkJKElSUTBfVkVDVE9SICsgMikKLSNkZWZpbmUgSVJRM19WRUNUT1IJCShJUlEwX1ZFQ1RPUiArIDMpCi0jZGVmaW5lIElSUTRfVkVDVE9SCQkoSVJRMF9WRUNUT1IgKyA0KQotI2RlZmluZSBJUlE1X1ZFQ1RPUgkJKElSUTBfVkVDVE9SICsgNSkKLSNkZWZpbmUgSVJRNl9WRUNUT1IJCShJUlEwX1ZFQ1RPUiArIDYpCi0jZGVmaW5lIElSUTdfVkVDVE9SCQkoSVJRMF9WRUNUT1IgKyA3KQotI2RlZmluZSBJUlE4X1ZFQ1RPUgkJKElSUTBfVkVDVE9SICsgOCkKLSNkZWZpbmUgSVJROV9WRUNUT1IJCShJUlEwX1ZFQ1RPUiArIDkpCi0jZGVmaW5lIElSUTEwX1ZFQ1RPUgkJKElSUTBfVkVDVE9SICsgMTApCi0jZGVmaW5lIElSUTExX1ZFQ1RPUgkJKElSUTBfVkVDVE9SICsgMTEpCi0jZGVmaW5lIElSUTEyX1ZFQ1RPUgkJKElSUTBfVkVDVE9SICsgMTIpCi0jZGVmaW5lIElSUTEzX1ZFQ1RPUgkJKElSUTBfVkVDVE9SICsgMTMpCi0jZGVmaW5lIElSUTE0X1ZFQ1RPUgkJKElSUTBfVkVDVE9SICsgMTQpCi0jZGVmaW5lIElSUTE1X1ZFQ1RPUgkJKElSUTBfVkVDVE9SICsgMTUpCi0KLS8qCi0gKiBTcGVjaWFsIElSUSB2ZWN0b3JzIHVzZWQgYnkgdGhlIFNNUCBhcmNoaXRlY3R1cmUsIDB4ZjAtMHhmZgotICoKLSAqICBzb21lIG9mIHRoZSBmb2xsb3dpbmcgdmVjdG9ycyBhcmUgJ3JhcmUnLCB0aGV5IGFyZSBtZXJnZWQKLSAqICBpbnRvIGEgc2luZ2xlIHZlY3RvciAoQ0FMTF9GVU5DVElPTl9WRUNUT1IpIHRvIHNhdmUgdmVjdG9yIHNwYWNlLgotICogIFRMQiwgcmVzY2hlZHVsZSBhbmQgbG9jYWwgQVBJQyB2ZWN0b3JzIGFyZSBwZXJmb3JtYW5jZS1jcml0aWNhbC4KLSAqLwotI2RlZmluZSBTUFVSSU9VU19BUElDX1ZFQ1RPUgkweGZmCi0jZGVmaW5lIEVSUk9SX0FQSUNfVkVDVE9SCTB4ZmUKLSNkZWZpbmUgUkVTQ0hFRFVMRV9WRUNUT1IJMHhmZAotI2RlZmluZSBDQUxMX0ZVTkNUSU9OX1ZFQ1RPUgkweGZjCi0vKiBmYiBmcmVlIC0gcGxlYXNlIGRvbid0IHJlYWRkIEtEQiBoZXJlIGJlY2F1c2UgaXQncyB1c2VsZXNzCi0gICAoaGludCAtIHRoaW5rIHdoYXQgYSBOTUkgYml0IGRvZXMgdG8gYSB2ZWN0b3IpICovCi0jZGVmaW5lIFRIRVJNQUxfQVBJQ19WRUNUT1IJMHhmYQotI2RlZmluZSBUSFJFU0hPTERfQVBJQ19WRUNUT1IgICAweGY5Ci0vKiBmOCBmcmVlICovCi0jZGVmaW5lIElOVkFMSURBVEVfVExCX1ZFQ1RPUl9FTkQJMHhmNwotI2RlZmluZSBJTlZBTElEQVRFX1RMQl9WRUNUT1JfU1RBUlQJMHhmMAkvKiBmMC1mNyB1c2VkIGZvciBUTEIgZmx1c2ggKi8KLQotI2RlZmluZSBOVU1fSU5WQUxJREFURV9UTEJfVkVDVE9SUwk4Ci0KLS8qCi0gKiBMb2NhbCBBUElDIHRpbWVyIElSUSB2ZWN0b3IgaXMgb24gYSBkaWZmZXJlbnQgcHJpb3JpdHkgbGV2ZWwsCi0gKiB0byB3b3JrIGFyb3VuZCB0aGUgJ2xvc3QgbG9jYWwgaW50ZXJydXB0IGlmIG1vcmUgdGhhbiAyIElSUQotICogc291cmNlcyBwZXIgbGV2ZWwnIGVycmF0YS4KLSAqLwotI2RlZmluZSBMT0NBTF9USU1FUl9WRUNUT1IJMHhlZgotCi0vKgotICogRmlyc3QgQVBJQyB2ZWN0b3IgYXZhaWxhYmxlIHRvIGRyaXZlcnM6ICh2ZWN0b3JzIDB4MzAtMHhlZSkKLSAqIHdlIHN0YXJ0IGF0IDB4NDEgdG8gc3ByZWFkIG91dCB2ZWN0b3JzIGV2ZW5seSBiZXR3ZWVuIHByaW9yaXR5Ci0gKiBsZXZlbHMuICgweDgwIGlzIHRoZSBzeXNjYWxsIHZlY3RvcikKLSAqLwotI2RlZmluZSBGSVJTVF9ERVZJQ0VfVkVDVE9SCShJUlExNV9WRUNUT1IgKyAyKQotI2RlZmluZSBGSVJTVF9TWVNURU1fVkVDVE9SCTB4ZWYgICAvKiBkdXBsaWNhdGVkIGluIGlycS5oICovCi0KLQotI2lmbmRlZiBfX0FTU0VNQkxZX18KLQotLyogSW50ZXJydXB0IGhhbmRsZXJzIHJlZ2lzdGVyZWQgZHVyaW5nIGluaXRfSVJRICovCi12b2lkIGFwaWNfdGltZXJfaW50ZXJydXB0KHZvaWQpOwotdm9pZCBzcHVyaW91c19pbnRlcnJ1cHQodm9pZCk7Ci12b2lkIGVycm9yX2ludGVycnVwdCh2b2lkKTsKLXZvaWQgcmVzY2hlZHVsZV9pbnRlcnJ1cHQodm9pZCk7Ci12b2lkIGNhbGxfZnVuY3Rpb25faW50ZXJydXB0KHZvaWQpOwotdm9pZCBpcnFfbW92ZV9jbGVhbnVwX2ludGVycnVwdCh2b2lkKTsKLXZvaWQgaW52YWxpZGF0ZV9pbnRlcnJ1cHQwKHZvaWQpOwotdm9pZCBpbnZhbGlkYXRlX2ludGVycnVwdDEodm9pZCk7Ci12b2lkIGludmFsaWRhdGVfaW50ZXJydXB0Mih2b2lkKTsKLXZvaWQgaW52YWxpZGF0ZV9pbnRlcnJ1cHQzKHZvaWQpOwotdm9pZCBpbnZhbGlkYXRlX2ludGVycnVwdDQodm9pZCk7Ci12b2lkIGludmFsaWRhdGVfaW50ZXJydXB0NSh2b2lkKTsKLXZvaWQgaW52YWxpZGF0ZV9pbnRlcnJ1cHQ2KHZvaWQpOwotdm9pZCBpbnZhbGlkYXRlX2ludGVycnVwdDcodm9pZCk7Ci12b2lkIHRoZXJtYWxfaW50ZXJydXB0KHZvaWQpOwotdm9pZCB0aHJlc2hvbGRfaW50ZXJydXB0KHZvaWQpOwotdm9pZCBpODI1NF90aW1lcl9yZXN1bWUodm9pZCk7Ci0KLXR5cGVkZWYgaW50IHZlY3Rvcl9pcnFfdFtOUl9WRUNUT1JTXTsKLURFQ0xBUkVfUEVSX0NQVSh2ZWN0b3JfaXJxX3QsIHZlY3Rvcl9pcnEpOwotZXh0ZXJuIHZvaWQgX19zZXR1cF92ZWN0b3JfaXJxKGludCBjcHUpOwotZXh0ZXJuIHNwaW5sb2NrX3QgdmVjdG9yX2xvY2s7Ci0KLS8qCi0gKiBWYXJpb3VzIGxvdy1sZXZlbCBpcnEgZGV0YWlscyBuZWVkZWQgYnkgaXJxLmMsIHByb2Nlc3MuYywKLSAqIHRpbWUuYywgaW9fYXBpYy5jIGFuZCBzbXAuYwotICoKLSAqIEludGVycnVwdCBlbnRyeS9leGl0IGNvZGUgYXQgYm90aCBDIGFuZCBhc3NlbWJseSBsZXZlbAotICovCi0KLWV4dGVybiB2b2lkIGRpc2FibGVfODI1OUFfaXJxKHVuc2lnbmVkIGludCBpcnEpOwotZXh0ZXJuIHZvaWQgZW5hYmxlXzgyNTlBX2lycSh1bnNpZ25lZCBpbnQgaXJxKTsKLWV4dGVybiBpbnQgaTgyNTlBX2lycV9wZW5kaW5nKHVuc2lnbmVkIGludCBpcnEpOwotZXh0ZXJuIHZvaWQgbWFrZV84MjU5QV9pcnEodW5zaWduZWQgaW50IGlycSk7Ci1leHRlcm4gdm9pZCBpbml0XzgyNTlBKGludCBhZW9pKTsKLWV4dGVybiB2b2lkIHNlbmRfSVBJX3NlbGYoaW50IHZlY3Rvcik7Ci1leHRlcm4gdm9pZCBpbml0X1ZJU1dTX0FQSUNfaXJxcyh2b2lkKTsKLWV4dGVybiB2b2lkIHNldHVwX0lPX0FQSUModm9pZCk7Ci1leHRlcm4gdm9pZCBlbmFibGVfSU9fQVBJQyh2b2lkKTsKLWV4dGVybiB2b2lkIGRpc2FibGVfSU9fQVBJQyh2b2lkKTsKLWV4dGVybiB2b2lkIHByaW50X0lPX0FQSUModm9pZCk7Ci1leHRlcm4gaW50IElPX0FQSUNfZ2V0X1BDSV9pcnFfdmVjdG9yKGludCBidXMsIGludCBzbG90LCBpbnQgZm4pOwotZXh0ZXJuIHZvaWQgc2VuZF9JUEkoaW50IGRlc3QsIGludCB2ZWN0b3IpOwotZXh0ZXJuIHZvaWQgc2V0dXBfaW9hcGljX2Rlc3Qodm9pZCk7Ci1leHRlcm4gdm9pZCBuYXRpdmVfaW5pdF9JUlEodm9pZCk7Ci0KLWV4dGVybiB1bnNpZ25lZCBsb25nIGlvX2FwaWNfaXJxczsKLQotZXh0ZXJuIGF0b21pY190IGlycV9lcnJfY291bnQ7Ci1leHRlcm4gYXRvbWljX3QgaXJxX21pc19jb3VudDsKLQotI2RlZmluZSBJT19BUElDX0lSUSh4KSAoKCh4KSA+PSAxNikgfHwgKCgxPDwoeCkpICYgaW9fYXBpY19pcnFzKSkKLQotI2luY2x1ZGUgPGFzbS9wdHJhY2UuaD4KLQotI2RlZmluZSBJUlFfTkFNRTIobnIpIG5yIyNfaW50ZXJydXB0KHZvaWQpCi0jZGVmaW5lIElSUV9OQU1FKG5yKSBJUlFfTkFNRTIoSVJRIyNucikKLQotLyoKLSAqCVNNUCBoYXMgYSBmZXcgc3BlY2lhbCBpbnRlcnJ1cHRzIGZvciBJUEkgbWVzc2FnZXMKLSAqLwotCi0jZGVmaW5lIEJVSUxEX0lSUShucikJCQkJXAotCWFzbWxpbmthZ2Ugdm9pZCBJUlFfTkFNRShucik7CQlcCi0JYXNtKCJcbi5wMmFsaWduXG4iCQkJXAotCSAgICAiSVJRIiAjbnIgIl9pbnRlcnJ1cHQ6XG5cdCIJCVwKLQkgICAgInB1c2ggJH4oIiAjbnIgIikgOyAiCQlcCi0JICAgICJqbXAgY29tbW9uX2ludGVycnVwdCIpOwotCi0jZGVmaW5lIHBsYXRmb3JtX2xlZ2FjeV9pcnEoaXJxKQkoKGlycSkgPCAxNikKLQotI2VuZGlmCi0KLSNlbmRpZiAvKiBfQVNNX0hXX0lSUV9IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvaTgyNTkuaCBiL2luY2x1ZGUvYXNtLXg4Ni9pODI1OS5oCmluZGV4IDQ1ZDRkZjMuLjJmOThkZjkgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9pODI1OS5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9pODI1OS5oCkBAIC01NSw0ICs1NSw2IEBACiAJdWRlbGF5KDIpOwogfQogCitleHRlcm4gc3RydWN0IGlycV9jaGlwIGk4MjU5QV9jaGlwOworCiAjZW5kaWYJLyogX19BU01fSTgyNTlfSF9fICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvaW8uaCBiL2luY2x1ZGUvYXNtLXg4Ni9pby5oCmluZGV4IGQ1YjExZjYuLmJmNWQ2MjkgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9pby5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9pby5oCkBAIC0zLDYgKzMsNzYgQEAKIAogI2RlZmluZSBBUkNIX0hBU19JT1JFTUFQX1dDCiAKKyNpbmNsdWRlIDxsaW51eC9jb21waWxlci5oPgorCisvKgorICogZWFybHlfaW9yZW1hcCgpIGFuZCBlYXJseV9pb3VubWFwKCkgYXJlIGZvciB0ZW1wb3JhcnkgZWFybHkgYm9vdC10aW1lCisgKiBtYXBwaW5ncywgYmVmb3JlIHRoZSByZWFsIGlvcmVtYXAoKSBpcyBmdW5jdGlvbmFsLgorICogQSBib290LXRpbWUgbWFwcGluZyBpcyBjdXJyZW50bHkgbGltaXRlZCB0byBhdCBtb3N0IDE2IHBhZ2VzLgorICovCisjaWZuZGVmIF9fQVNTRU1CTFlfXworZXh0ZXJuIHZvaWQgZWFybHlfaW9yZW1hcF9pbml0KHZvaWQpOworZXh0ZXJuIHZvaWQgZWFybHlfaW9yZW1hcF9jbGVhcih2b2lkKTsKK2V4dGVybiB2b2lkIGVhcmx5X2lvcmVtYXBfcmVzZXQodm9pZCk7CitleHRlcm4gdm9pZCAqZWFybHlfaW9yZW1hcCh1bnNpZ25lZCBsb25nIG9mZnNldCwgdW5zaWduZWQgbG9uZyBzaXplKTsKK2V4dGVybiB2b2lkIGVhcmx5X2lvdW5tYXAodm9pZCAqYWRkciwgdW5zaWduZWQgbG9uZyBzaXplKTsKK2V4dGVybiB2b2lkIF9faW9tZW0gKmZpeF9pb3JlbWFwKHVuc2lnbmVkIGlkeCwgdW5zaWduZWQgbG9uZyBwaHlzKTsKKyNlbmRpZgorCisjZGVmaW5lIGJ1aWxkX21taW9fcmVhZChuYW1lLCBzaXplLCB0eXBlLCByZWcsIGJhcnJpZXIpIFwKK3N0YXRpYyBpbmxpbmUgdHlwZSBuYW1lKGNvbnN0IHZvbGF0aWxlIHZvaWQgX19pb21lbSAqYWRkcikgXAoreyB0eXBlIHJldDsgYXNtIHZvbGF0aWxlKCJtb3YiIHNpemUgIiAlMSwlMCI6Ij0iIHJlZyAocmV0KSBcCis6Im0iICgqKHZvbGF0aWxlIHR5cGUgX19mb3JjZSAqKWFkZHIpIGJhcnJpZXIpOyByZXR1cm4gcmV0OyB9CisKKyNkZWZpbmUgYnVpbGRfbW1pb193cml0ZShuYW1lLCBzaXplLCB0eXBlLCByZWcsIGJhcnJpZXIpIFwKK3N0YXRpYyBpbmxpbmUgdm9pZCBuYW1lKHR5cGUgdmFsLCB2b2xhdGlsZSB2b2lkIF9faW9tZW0gKmFkZHIpIFwKK3sgYXNtIHZvbGF0aWxlKCJtb3YiIHNpemUgIiAlMCwlMSI6IDpyZWcgKHZhbCksIFwKKyJtIiAoKih2b2xhdGlsZSB0eXBlIF9fZm9yY2UgKilhZGRyKSBiYXJyaWVyKTsgfQorCitidWlsZF9tbWlvX3JlYWQocmVhZGIsICJiIiwgdW5zaWduZWQgY2hhciwgInEiLCA6Im1lbW9yeSIpCitidWlsZF9tbWlvX3JlYWQocmVhZHcsICJ3IiwgdW5zaWduZWQgc2hvcnQsICJyIiwgOiJtZW1vcnkiKQorYnVpbGRfbW1pb19yZWFkKHJlYWRsLCAibCIsIHVuc2lnbmVkIGludCwgInIiLCA6Im1lbW9yeSIpCisKK2J1aWxkX21taW9fcmVhZChfX3JlYWRiLCAiYiIsIHVuc2lnbmVkIGNoYXIsICJxIiwgKQorYnVpbGRfbW1pb19yZWFkKF9fcmVhZHcsICJ3IiwgdW5zaWduZWQgc2hvcnQsICJyIiwgKQorYnVpbGRfbW1pb19yZWFkKF9fcmVhZGwsICJsIiwgdW5zaWduZWQgaW50LCAiciIsICkKKworYnVpbGRfbW1pb193cml0ZSh3cml0ZWIsICJiIiwgdW5zaWduZWQgY2hhciwgInEiLCA6Im1lbW9yeSIpCitidWlsZF9tbWlvX3dyaXRlKHdyaXRldywgInciLCB1bnNpZ25lZCBzaG9ydCwgInIiLCA6Im1lbW9yeSIpCitidWlsZF9tbWlvX3dyaXRlKHdyaXRlbCwgImwiLCB1bnNpZ25lZCBpbnQsICJyIiwgOiJtZW1vcnkiKQorCitidWlsZF9tbWlvX3dyaXRlKF9fd3JpdGViLCAiYiIsIHVuc2lnbmVkIGNoYXIsICJxIiwgKQorYnVpbGRfbW1pb193cml0ZShfX3dyaXRldywgInciLCB1bnNpZ25lZCBzaG9ydCwgInIiLCApCitidWlsZF9tbWlvX3dyaXRlKF9fd3JpdGVsLCAibCIsIHVuc2lnbmVkIGludCwgInIiLCApCisKKyNkZWZpbmUgcmVhZGJfcmVsYXhlZChhKSBfX3JlYWRiKGEpCisjZGVmaW5lIHJlYWR3X3JlbGF4ZWQoYSkgX19yZWFkdyhhKQorI2RlZmluZSByZWFkbF9yZWxheGVkKGEpIF9fcmVhZGwoYSkKKyNkZWZpbmUgX19yYXdfcmVhZGIgX19yZWFkYgorI2RlZmluZSBfX3Jhd19yZWFkdyBfX3JlYWR3CisjZGVmaW5lIF9fcmF3X3JlYWRsIF9fcmVhZGwKKworI2RlZmluZSBfX3Jhd193cml0ZWIgX193cml0ZWIKKyNkZWZpbmUgX19yYXdfd3JpdGV3IF9fd3JpdGV3CisjZGVmaW5lIF9fcmF3X3dyaXRlbCBfX3dyaXRlbAorCisjZGVmaW5lIG1taW93YigpIGJhcnJpZXIoKQorCisjaWZkZWYgQ09ORklHX1g4Nl82NAorYnVpbGRfbW1pb19yZWFkKHJlYWRxLCAicSIsIHVuc2lnbmVkIGxvbmcsICJyIiwgOiJtZW1vcnkiKQorYnVpbGRfbW1pb19yZWFkKF9fcmVhZHEsICJxIiwgdW5zaWduZWQgbG9uZywgInIiLCApCitidWlsZF9tbWlvX3dyaXRlKHdyaXRlcSwgInEiLCB1bnNpZ25lZCBsb25nLCAiciIsIDoibWVtb3J5IikKK2J1aWxkX21taW9fd3JpdGUoX193cml0ZXEsICJxIiwgdW5zaWduZWQgbG9uZywgInIiLCApCisKKyNkZWZpbmUgcmVhZHFfcmVsYXhlZChhKSBfX3JlYWRxKGEpCisjZGVmaW5lIF9fcmF3X3JlYWRxIF9fcmVhZHEKKyNkZWZpbmUgX19yYXdfd3JpdGVxIHdyaXRlcQorCisvKiBMZXQgcGVvcGxlIGtub3cgd2UgaGF2ZSB0aGVtICovCisjZGVmaW5lIHJlYWRxIHJlYWRxCisjZGVmaW5lIHdyaXRlcSB3cml0ZXEKKyNlbmRpZgorCiAjaWZkZWYgQ09ORklHX1g4Nl8zMgogIyBpbmNsdWRlICJpb18zMi5oIgogI2Vsc2UKQEAgLTE2LDQgKzg2LDE3IEBACiAJCQkJdW5zaWduZWQgbG9uZyBwcm90X3ZhbCk7CiBleHRlcm4gdm9pZCBfX2lvbWVtICppb3JlbWFwX3djKHVuc2lnbmVkIGxvbmcgb2Zmc2V0LCB1bnNpZ25lZCBsb25nIHNpemUpOwogCisvKgorICogZWFybHlfaW9yZW1hcCgpIGFuZCBlYXJseV9pb3VubWFwKCkgYXJlIGZvciB0ZW1wb3JhcnkgZWFybHkgYm9vdC10aW1lCisgKiBtYXBwaW5ncywgYmVmb3JlIHRoZSByZWFsIGlvcmVtYXAoKSBpcyBmdW5jdGlvbmFsLgorICogQSBib290LXRpbWUgbWFwcGluZyBpcyBjdXJyZW50bHkgbGltaXRlZCB0byBhdCBtb3N0IDE2IHBhZ2VzLgorICovCitleHRlcm4gdm9pZCBlYXJseV9pb3JlbWFwX2luaXQodm9pZCk7CitleHRlcm4gdm9pZCBlYXJseV9pb3JlbWFwX2NsZWFyKHZvaWQpOworZXh0ZXJuIHZvaWQgZWFybHlfaW9yZW1hcF9yZXNldCh2b2lkKTsKK2V4dGVybiB2b2lkICplYXJseV9pb3JlbWFwKHVuc2lnbmVkIGxvbmcgb2Zmc2V0LCB1bnNpZ25lZCBsb25nIHNpemUpOworZXh0ZXJuIHZvaWQgZWFybHlfaW91bm1hcCh2b2lkICphZGRyLCB1bnNpZ25lZCBsb25nIHNpemUpOworZXh0ZXJuIHZvaWQgX19pb21lbSAqZml4X2lvcmVtYXAodW5zaWduZWQgaWR4LCB1bnNpZ25lZCBsb25nIHBoeXMpOworCisKICNlbmRpZiAvKiBfQVNNX1g4Nl9JT19IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvaW9fMzIuaCBiL2luY2x1ZGUvYXNtLXg4Ni9pb18zMi5oCmluZGV4IDA0OWU4MWUuLjRkZjQ0ZWQgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9pb18zMi5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9pb18zMi5oCkBAIC0xMjIsMTggKzEyMiw2IEBACiBleHRlcm4gdm9pZCBpb3VubWFwKHZvbGF0aWxlIHZvaWQgX19pb21lbSAqYWRkcik7CiAKIC8qCi0gKiBlYXJseV9pb3JlbWFwKCkgYW5kIGVhcmx5X2lvdW5tYXAoKSBhcmUgZm9yIHRlbXBvcmFyeSBlYXJseSBib290LXRpbWUKLSAqIG1hcHBpbmdzLCBiZWZvcmUgdGhlIHJlYWwgaW9yZW1hcCgpIGlzIGZ1bmN0aW9uYWwuCi0gKiBBIGJvb3QtdGltZSBtYXBwaW5nIGlzIGN1cnJlbnRseSBsaW1pdGVkIHRvIGF0IG1vc3QgMTYgcGFnZXMuCi0gKi8KLWV4dGVybiB2b2lkIGVhcmx5X2lvcmVtYXBfaW5pdCh2b2lkKTsKLWV4dGVybiB2b2lkIGVhcmx5X2lvcmVtYXBfY2xlYXIodm9pZCk7Ci1leHRlcm4gdm9pZCBlYXJseV9pb3JlbWFwX3Jlc2V0KHZvaWQpOwotZXh0ZXJuIHZvaWQgKmVhcmx5X2lvcmVtYXAodW5zaWduZWQgbG9uZyBvZmZzZXQsIHVuc2lnbmVkIGxvbmcgc2l6ZSk7Ci1leHRlcm4gdm9pZCBlYXJseV9pb3VubWFwKHZvaWQgKmFkZHIsIHVuc2lnbmVkIGxvbmcgc2l6ZSk7Ci1leHRlcm4gdm9pZCBfX2lvbWVtICpmaXhfaW9yZW1hcCh1bnNpZ25lZCBpZHgsIHVuc2lnbmVkIGxvbmcgcGh5cyk7Ci0KLS8qCiAgKiBJU0EgSS9PIGJ1cyBtZW1vcnkgYWRkcmVzc2VzIGFyZSAxOjEgd2l0aCB0aGUgcGh5c2ljYWwgYWRkcmVzcy4KICAqLwogI2RlZmluZSBpc2FfdmlydF90b19idXMgdmlydF90b19waHlzCkBAIC0xNDksNTUgKzEzNyw2IEBACiAjZGVmaW5lIHZpcnRfdG9fYnVzIHZpcnRfdG9fcGh5cwogI2RlZmluZSBidXNfdG9fdmlydCBwaHlzX3RvX3ZpcnQKIAotLyoKLSAqIHJlYWRYL3dyaXRlWCgpIGFyZSB1c2VkIHRvIGFjY2VzcyBtZW1vcnkgbWFwcGVkIGRldmljZXMuIE9uIHNvbWUKLSAqIGFyY2hpdGVjdHVyZXMgdGhlIG1lbW9yeSBtYXBwZWQgSU8gc3R1ZmYgbmVlZHMgdG8gYmUgYWNjZXNzZWQKLSAqIGRpZmZlcmVudGx5LiBPbiB0aGUgeDg2IGFyY2hpdGVjdHVyZSwgd2UganVzdCByZWFkL3dyaXRlIHRoZQotICogbWVtb3J5IGxvY2F0aW9uIGRpcmVjdGx5LgotICovCi0KLXN0YXRpYyBpbmxpbmUgdW5zaWduZWQgY2hhciByZWFkYihjb25zdCB2b2xhdGlsZSB2b2lkIF9faW9tZW0gKmFkZHIpCi17Ci0JcmV0dXJuICoodm9sYXRpbGUgdW5zaWduZWQgY2hhciBfX2ZvcmNlICopYWRkcjsKLX0KLQotc3RhdGljIGlubGluZSB1bnNpZ25lZCBzaG9ydCByZWFkdyhjb25zdCB2b2xhdGlsZSB2b2lkIF9faW9tZW0gKmFkZHIpCi17Ci0JcmV0dXJuICoodm9sYXRpbGUgdW5zaWduZWQgc2hvcnQgX19mb3JjZSAqKWFkZHI7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgdW5zaWduZWQgaW50IHJlYWRsKGNvbnN0IHZvbGF0aWxlIHZvaWQgX19pb21lbSAqYWRkcikKLXsKLQlyZXR1cm4gKih2b2xhdGlsZSB1bnNpZ25lZCBpbnQgX19mb3JjZSAqKSBhZGRyOwotfQotCi0jZGVmaW5lIHJlYWRiX3JlbGF4ZWQoYWRkcikgcmVhZGIoYWRkcikKLSNkZWZpbmUgcmVhZHdfcmVsYXhlZChhZGRyKSByZWFkdyhhZGRyKQotI2RlZmluZSByZWFkbF9yZWxheGVkKGFkZHIpIHJlYWRsKGFkZHIpCi0jZGVmaW5lIF9fcmF3X3JlYWRiIHJlYWRiCi0jZGVmaW5lIF9fcmF3X3JlYWR3IHJlYWR3Ci0jZGVmaW5lIF9fcmF3X3JlYWRsIHJlYWRsCi0KLXN0YXRpYyBpbmxpbmUgdm9pZCB3cml0ZWIodW5zaWduZWQgY2hhciBiLCB2b2xhdGlsZSB2b2lkIF9faW9tZW0gKmFkZHIpCi17Ci0JKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyIF9fZm9yY2UgKilhZGRyID0gYjsKLX0KLQotc3RhdGljIGlubGluZSB2b2lkIHdyaXRldyh1bnNpZ25lZCBzaG9ydCBiLCB2b2xhdGlsZSB2b2lkIF9faW9tZW0gKmFkZHIpCi17Ci0JKih2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCBfX2ZvcmNlICopYWRkciA9IGI7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgdm9pZCB3cml0ZWwodW5zaWduZWQgaW50IGIsIHZvbGF0aWxlIHZvaWQgX19pb21lbSAqYWRkcikKLXsKLQkqKHZvbGF0aWxlIHVuc2lnbmVkIGludCBfX2ZvcmNlICopYWRkciA9IGI7Ci19Ci0jZGVmaW5lIF9fcmF3X3dyaXRlYiB3cml0ZWIKLSNkZWZpbmUgX19yYXdfd3JpdGV3IHdyaXRldwotI2RlZmluZSBfX3Jhd193cml0ZWwgd3JpdGVsCi0KLSNkZWZpbmUgbW1pb3diKCkKLQogc3RhdGljIGlubGluZSB2b2lkCiBtZW1zZXRfaW8odm9sYXRpbGUgdm9pZCBfX2lvbWVtICphZGRyLCB1bnNpZ25lZCBjaGFyIHZhbCwgaW50IGNvdW50KQogewpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L2lvXzY0LmggYi9pbmNsdWRlL2FzbS14ODYvaW9fNjQuaAppbmRleCAwOTMwYmVkLi5kZGQ4MDU4IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvaW9fNjQuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvaW9fNjQuaApAQCAtMjA0LDc3ICsyMDQsNiBAQAogI2RlZmluZSB2aXJ0X3RvX2J1cyB2aXJ0X3RvX3BoeXMKICNkZWZpbmUgYnVzX3RvX3ZpcnQgcGh5c190b192aXJ0CiAKLS8qCi0gKiByZWFkWC93cml0ZVgoKSBhcmUgdXNlZCB0byBhY2Nlc3MgbWVtb3J5IG1hcHBlZCBkZXZpY2VzLiBPbiBzb21lCi0gKiBhcmNoaXRlY3R1cmVzIHRoZSBtZW1vcnkgbWFwcGVkIElPIHN0dWZmIG5lZWRzIHRvIGJlIGFjY2Vzc2VkCi0gKiBkaWZmZXJlbnRseS4gT24gdGhlIHg4NiBhcmNoaXRlY3R1cmUsIHdlIGp1c3QgcmVhZC93cml0ZSB0aGUKLSAqIG1lbW9yeSBsb2NhdGlvbiBkaXJlY3RseS4KLSAqLwotCi1zdGF0aWMgaW5saW5lIF9fdTggX19yZWFkYihjb25zdCB2b2xhdGlsZSB2b2lkIF9faW9tZW0gKmFkZHIpCi17Ci0JcmV0dXJuICooX19mb3JjZSB2b2xhdGlsZSBfX3U4ICopYWRkcjsKLX0KLQotc3RhdGljIGlubGluZSBfX3UxNiBfX3JlYWR3KGNvbnN0IHZvbGF0aWxlIHZvaWQgX19pb21lbSAqYWRkcikKLXsKLQlyZXR1cm4gKihfX2ZvcmNlIHZvbGF0aWxlIF9fdTE2ICopYWRkcjsKLX0KLQotc3RhdGljIF9fYWx3YXlzX2lubGluZSBfX3UzMiBfX3JlYWRsKGNvbnN0IHZvbGF0aWxlIHZvaWQgX19pb21lbSAqYWRkcikKLXsKLQlyZXR1cm4gKihfX2ZvcmNlIHZvbGF0aWxlIF9fdTMyICopYWRkcjsKLX0KLQotc3RhdGljIGlubGluZSBfX3U2NCBfX3JlYWRxKGNvbnN0IHZvbGF0aWxlIHZvaWQgX19pb21lbSAqYWRkcikKLXsKLQlyZXR1cm4gKihfX2ZvcmNlIHZvbGF0aWxlIF9fdTY0ICopYWRkcjsKLX0KLQotI2RlZmluZSByZWFkYih4KSBfX3JlYWRiKHgpCi0jZGVmaW5lIHJlYWR3KHgpIF9fcmVhZHcoeCkKLSNkZWZpbmUgcmVhZGwoeCkgX19yZWFkbCh4KQotI2RlZmluZSByZWFkcSh4KSBfX3JlYWRxKHgpCi0jZGVmaW5lIHJlYWRiX3JlbGF4ZWQoYSkgcmVhZGIoYSkKLSNkZWZpbmUgcmVhZHdfcmVsYXhlZChhKSByZWFkdyhhKQotI2RlZmluZSByZWFkbF9yZWxheGVkKGEpIHJlYWRsKGEpCi0jZGVmaW5lIHJlYWRxX3JlbGF4ZWQoYSkgcmVhZHEoYSkKLSNkZWZpbmUgX19yYXdfcmVhZGIgcmVhZGIKLSNkZWZpbmUgX19yYXdfcmVhZHcgcmVhZHcKLSNkZWZpbmUgX19yYXdfcmVhZGwgcmVhZGwKLSNkZWZpbmUgX19yYXdfcmVhZHEgcmVhZHEKLQotI2RlZmluZSBtbWlvd2IoKQotCi1zdGF0aWMgaW5saW5lIHZvaWQgX193cml0ZWwoX191MzIgYiwgdm9sYXRpbGUgdm9pZCBfX2lvbWVtICphZGRyKQotewotCSooX19mb3JjZSB2b2xhdGlsZSBfX3UzMiAqKWFkZHIgPSBiOwotfQotCi1zdGF0aWMgaW5saW5lIHZvaWQgX193cml0ZXEoX191NjQgYiwgdm9sYXRpbGUgdm9pZCBfX2lvbWVtICphZGRyKQotewotCSooX19mb3JjZSB2b2xhdGlsZSBfX3U2NCAqKWFkZHIgPSBiOwotfQotCi1zdGF0aWMgaW5saW5lIHZvaWQgX193cml0ZWIoX191OCBiLCB2b2xhdGlsZSB2b2lkIF9faW9tZW0gKmFkZHIpCi17Ci0JKihfX2ZvcmNlIHZvbGF0aWxlIF9fdTggKilhZGRyID0gYjsKLX0KLQotc3RhdGljIGlubGluZSB2b2lkIF9fd3JpdGV3KF9fdTE2IGIsIHZvbGF0aWxlIHZvaWQgX19pb21lbSAqYWRkcikKLXsKLQkqKF9fZm9yY2Ugdm9sYXRpbGUgX191MTYgKilhZGRyID0gYjsKLX0KLQotI2RlZmluZSB3cml0ZXEodmFsLCBhZGRyKSBfX3dyaXRlcSgodmFsKSwgKGFkZHIpKQotI2RlZmluZSB3cml0ZWwodmFsLCBhZGRyKSBfX3dyaXRlbCgodmFsKSwgKGFkZHIpKQotI2RlZmluZSB3cml0ZXcodmFsLCBhZGRyKSBfX3dyaXRldygodmFsKSwgKGFkZHIpKQotI2RlZmluZSB3cml0ZWIodmFsLCBhZGRyKSBfX3dyaXRlYigodmFsKSwgKGFkZHIpKQotI2RlZmluZSBfX3Jhd193cml0ZWIgd3JpdGViCi0jZGVmaW5lIF9fcmF3X3dyaXRldyB3cml0ZXcKLSNkZWZpbmUgX19yYXdfd3JpdGVsIHdyaXRlbAotI2RlZmluZSBfX3Jhd193cml0ZXEgd3JpdGVxCi0KIHZvaWQgX19tZW1jcHlfZnJvbWlvKHZvaWQgKiwgdW5zaWduZWQgbG9uZywgdW5zaWduZWQpOwogdm9pZCBfX21lbWNweV90b2lvKHVuc2lnbmVkIGxvbmcsIGNvbnN0IHZvaWQgKiwgdW5zaWduZWQpOwogCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvaW9fYXBpYy5oIGIvaW5jbHVkZS9hc20teDg2L2lvX2FwaWMuaAppbmRleCBkNTkzZTE0Li4xNGY4MmJiIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvaW9fYXBpYy5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9pb19hcGljLmgKQEAgLTExLDYgKzExLDE1IEBACiAgKiBDb3B5cmlnaHQgKEMpIDE5OTcsIDE5OTgsIDE5OTksIDIwMDAgSW5nbyBNb2xuYXIKICAqLwogCisvKiBJL08gVW5pdCBSZWRpcmVjdGlvbiBUYWJsZSAqLworI2RlZmluZSBJT19BUElDX1JFRElSX1ZFQ1RPUl9NQVNLCTB4MDAwRkYKKyNkZWZpbmUgSU9fQVBJQ19SRURJUl9ERVNUX0xPR0lDQUwJMHgwMDgwMAorI2RlZmluZSBJT19BUElDX1JFRElSX0RFU1RfUEhZU0lDQUwJMHgwMDAwMAorI2RlZmluZSBJT19BUElDX1JFRElSX1NFTkRfUEVORElORwkoMSA8PCAxMikKKyNkZWZpbmUgSU9fQVBJQ19SRURJUl9SRU1PVEVfSVJSCSgxIDw8IDE0KQorI2RlZmluZSBJT19BUElDX1JFRElSX0xFVkVMX1RSSUdHRVIJKDEgPDwgMTUpCisjZGVmaW5lIElPX0FQSUNfUkVESVJfTUFTS0VECQkoMSA8PCAxNikKKwogLyoKICAqIFRoZSBzdHJ1Y3R1cmUgb2YgdGhlIElPLUFQSUM6CiAgKi8KQEAgLTExMiwyMSArMTIxLDMyIEBACiAKICNkZWZpbmUgTVBfTUFYX0lPQVBJQ19QSU4gMTI3CiAKLXN0cnVjdCBtcF9pb2FwaWNfcm91dGluZyB7Ci0JaW50IGFwaWNfaWQ7Ci0JaW50IGdzaV9iYXNlOwotCWludCBnc2lfZW5kOwotCURFQ0xBUkVfQklUTUFQKHBpbl9wcm9ncmFtbWVkLCBNUF9NQVhfSU9BUElDX1BJTiArIDEpOworc3RydWN0IG1wX2NvbmZpZ19pb2FwaWMgeworCXVuc2lnbmVkIGxvbmcgbXBfYXBpY2FkZHI7CisJdW5zaWduZWQgaW50IG1wX2FwaWNpZDsKKwl1bnNpZ25lZCBjaGFyIG1wX3R5cGU7CisJdW5zaWduZWQgY2hhciBtcF9hcGljdmVyOworCXVuc2lnbmVkIGNoYXIgbXBfZmxhZ3M7Cit9OworCitzdHJ1Y3QgbXBfY29uZmlnX2ludHNyYyB7CisJdW5zaWduZWQgaW50IG1wX2RzdGFwaWM7CisJdW5zaWduZWQgY2hhciBtcF90eXBlOworCXVuc2lnbmVkIGNoYXIgbXBfaXJxdHlwZTsKKwl1bnNpZ25lZCBzaG9ydCBtcF9pcnFmbGFnOworCXVuc2lnbmVkIGNoYXIgbXBfc3JjYnVzOworCXVuc2lnbmVkIGNoYXIgbXBfc3JjYnVzaXJxOworCXVuc2lnbmVkIGNoYXIgbXBfZHN0aXJxOwogfTsKIAogLyogSS9PIEFQSUMgZW50cmllcyAqLwotZXh0ZXJuIHN0cnVjdCBtcGNfY29uZmlnX2lvYXBpYyBtcF9pb2FwaWNzW01BWF9JT19BUElDU107CitleHRlcm4gc3RydWN0IG1wX2NvbmZpZ19pb2FwaWMgbXBfaW9hcGljc1tNQVhfSU9fQVBJQ1NdOwogCiAvKiAjIG9mIE1QIElSUSBzb3VyY2UgZW50cmllcyAqLwogZXh0ZXJuIGludCBtcF9pcnFfZW50cmllczsKIAogLyogTVAgSVJRIHNvdXJjZSBlbnRyaWVzICovCi1leHRlcm4gc3RydWN0IG1wY19jb25maWdfaW50c3JjIG1wX2lycXNbTUFYX0lSUV9TT1VSQ0VTXTsKK2V4dGVybiBzdHJ1Y3QgbXBfY29uZmlnX2ludHNyYyBtcF9pcnFzW01BWF9JUlFfU09VUkNFU107CiAKIC8qIG5vbi0wIGlmIGRlZmF1bHQgKHRhYmxlLWxlc3MpIE1QIGNvbmZpZ3VyYXRpb24gKi8KIGV4dGVybiBpbnQgbXBjX2RlZmF1bHRfdHlwZTsKQEAgLTEzNyw2ICsxNTcsOSBAQAogLyogMSBpZiAibm9hcGljIiBib290IG9wdGlvbiBwYXNzZWQgKi8KIGV4dGVybiBpbnQgc2tpcF9pb2FwaWNfc2V0dXA7CiAKKy8qIDEgaWYgdGhlIHRpbWVyIElSUSB1c2VzIHRoZSAnODI1OUEgVmlydHVhbCBXaXJlJyBtb2RlICovCitleHRlcm4gaW50IHRpbWVyX3Rocm91Z2hfODI1OTsKKwogc3RhdGljIGlubGluZSB2b2lkIGRpc2FibGVfaW9hcGljX3NldHVwKHZvaWQpCiB7CiAJc2tpcF9pb2FwaWNfc2V0dXAgPSAxOwpAQCAtMTYyLDYgKzE4NSw4IEBACiAKICNlbHNlICAvKiAhQ09ORklHX1g4Nl9JT19BUElDICovCiAjZGVmaW5lIGlvX2FwaWNfYXNzaWduX3BjaV9pcnFzIDAKK3N0YXRpYyBjb25zdCBpbnQgdGltZXJfdGhyb3VnaF84MjU5ID0gMDsKK3N0YXRpYyBpbmxpbmUgdm9pZCBpb2FwaWNfaW5pdF9tYXBwaW5ncyh2b2lkKSB7IH0KICNlbmRpZgogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9pb21tdS5oIGIvaW5jbHVkZS9hc20teDg2L2lvbW11LmgKaW5kZXggMDc4NjJmZC4uMDY4YzlhNCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L2lvbW11LmgKKysrIGIvaW5jbHVkZS9hc20teDg2L2lvbW11LmgKQEAgLTEsMjkgKzEsMzQgQEAKLSNpZm5kZWYgX0FTTV9YODY2NF9HQVJUX0gKLSNkZWZpbmUgX0FTTV9YODY2NF9HQVJUX0ggMQorI2lmbmRlZiBfQVNNX1g4NjY0X0lPTU1VX0gKKyNkZWZpbmUgX0FTTV9YODY2NF9JT01NVV9IIDEKIAogZXh0ZXJuIHZvaWQgcGNpX2lvbW11X3NodXRkb3duKHZvaWQpOwogZXh0ZXJuIHZvaWQgbm9faW9tbXVfaW5pdCh2b2lkKTsKIGV4dGVybiBpbnQgZm9yY2VfaW9tbXUsIG5vX2lvbW11OwogZXh0ZXJuIGludCBpb21tdV9kZXRlY3RlZDsKLSNpZmRlZiBDT05GSUdfSU9NTVUKKworI2lmZGVmIENPTkZJR19HQVJUX0lPTU1VCitleHRlcm4gaW50IGdhcnRfaW9tbXVfYXBlcnR1cmU7CitleHRlcm4gaW50IGdhcnRfaW9tbXVfYXBlcnR1cmVfYWxsb3dlZDsKK2V4dGVybiBpbnQgZ2FydF9pb21tdV9hcGVydHVyZV9kaXNhYmxlZDsKKworZXh0ZXJuIHZvaWQgZWFybHlfZ2FydF9pb21tdV9jaGVjayh2b2lkKTsKIGV4dGVybiB2b2lkIGdhcnRfaW9tbXVfaW5pdCh2b2lkKTsKIGV4dGVybiB2b2lkIGdhcnRfaW9tbXVfc2h1dGRvd24odm9pZCk7CiBleHRlcm4gdm9pZCBfX2luaXQgZ2FydF9wYXJzZV9vcHRpb25zKGNoYXIgKik7Ci1leHRlcm4gdm9pZCBpb21tdV9ob2xlX2luaXQodm9pZCk7Ci1leHRlcm4gaW50IGZhbGxiYWNrX2FwZXJfb3JkZXI7Ci1leHRlcm4gaW50IGZhbGxiYWNrX2FwZXJfZm9yY2U7Ci1leHRlcm4gaW50IGlvbW11X2FwZXJ0dXJlOwotZXh0ZXJuIGludCBpb21tdV9hcGVydHVyZV9hbGxvd2VkOwotZXh0ZXJuIGludCBpb21tdV9hcGVydHVyZV9kaXNhYmxlZDsKLWV4dGVybiBpbnQgZml4X2FwZXJ0dXJlOworZXh0ZXJuIHZvaWQgZ2FydF9pb21tdV9ob2xlX2luaXQodm9pZCk7CisKICNlbHNlCi0jZGVmaW5lIGlvbW11X2FwZXJ0dXJlIDAKLSNkZWZpbmUgaW9tbXVfYXBlcnR1cmVfYWxsb3dlZCAwCisjZGVmaW5lIGdhcnRfaW9tbXVfYXBlcnR1cmUgICAgICAgICAgICAwCisjZGVmaW5lIGdhcnRfaW9tbXVfYXBlcnR1cmVfYWxsb3dlZCAgICAwCisjZGVmaW5lIGdhcnRfaW9tbXVfYXBlcnR1cmVfZGlzYWJsZWQgICAxCisKK3N0YXRpYyBpbmxpbmUgdm9pZCBlYXJseV9nYXJ0X2lvbW11X2NoZWNrKHZvaWQpCit7Cit9CiAKIHN0YXRpYyBpbmxpbmUgdm9pZCBnYXJ0X2lvbW11X3NodXRkb3duKHZvaWQpCiB7CiB9Ci0KICNlbmRpZgogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9pcGkuaCBiL2luY2x1ZGUvYXNtLXg4Ni9pcGkuaAppbmRleCBlY2M4MGYzLi4xOTZkNjNjIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvaXBpLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L2lwaS5oCkBAIC0yMCw2ICsyMCw3IEBACiAKICNpbmNsdWRlIDxhc20vaHdfaXJxLmg+CiAjaW5jbHVkZSA8YXNtL2FwaWMuaD4KKyNpbmNsdWRlIDxhc20vc21wLmg+CiAKIC8qCiAgKiB0aGUgZm9sbG93aW5nIGZ1bmN0aW9ucyBkZWFsIHdpdGggc2VuZGluZyBJUElzIGJldHdlZW4gQ1BVcy4KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9pcnEuaCBiL2luY2x1ZGUvYXNtLXg4Ni9pcnEuaAppbmRleCA3YmE5MDU0Li4xYTI5MjU3IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvaXJxLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L2lycS5oCkBAIC0xLDUgKzEsNTAgQEAKLSNpZmRlZiBDT05GSUdfWDg2XzMyCi0jIGluY2x1ZGUgImlycV8zMi5oIgotI2Vsc2UKLSMgaW5jbHVkZSAiaXJxXzY0LmgiCisjaWZuZGVmIF9BU01fSVJRX0gKKyNkZWZpbmUgX0FTTV9JUlFfSAorLyoKKyAqCShDKSAxOTkyLCAxOTkzIExpbnVzIFRvcnZhbGRzLCAoQykgMTk5NyBJbmdvIE1vbG5hcgorICoKKyAqCUlSUS9JUEkgY2hhbmdlcyB0YWtlbiBmcm9tIHdvcmsgYnkgVGhvbWFzIFJhZGtlCisgKgk8dG9tc29mdEBpbmZvcm1hdGlrLnR1LWNoZW1uaXR6LmRlPgorICovCisKKyNpbmNsdWRlIDxhc20vYXBpY2RlZi5oPgorI2luY2x1ZGUgPGFzbS9pcnFfdmVjdG9ycy5oPgorCitzdGF0aWMgaW5saW5lIGludCBpcnFfY2Fub25pY2FsaXplKGludCBpcnEpCit7CisJcmV0dXJuICgoaXJxID09IDIpID8gOSA6IGlycSk7Cit9CisKKyNpZmRlZiBDT05GSUdfWDg2X0xPQ0FMX0FQSUMKKyMgZGVmaW5lIEFSQ0hfSEFTX05NSV9XQVRDSERPRwogI2VuZGlmCisKKyNpZmRlZiBDT05GSUdfNEtTVEFDS1MKKyAgZXh0ZXJuIHZvaWQgaXJxX2N0eF9pbml0KGludCBjcHUpOworICBleHRlcm4gdm9pZCBpcnFfY3R4X2V4aXQoaW50IGNwdSk7CisjIGRlZmluZSBfX0FSQ0hfSEFTX0RPX1NPRlRJUlEKKyNlbHNlCisjIGRlZmluZSBpcnFfY3R4X2luaXQoY3B1KSBkbyB7IH0gd2hpbGUgKDApCisjIGRlZmluZSBpcnFfY3R4X2V4aXQoY3B1KSBkbyB7IH0gd2hpbGUgKDApCisjIGlmZGVmIENPTkZJR19YODZfNjQKKyMgIGRlZmluZSBfX0FSQ0hfSEFTX0RPX1NPRlRJUlEKKyMgZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgQ09ORklHX0lSUUJBTEFOQ0UKK2V4dGVybiBpbnQgaXJxYmFsYW5jZV9kaXNhYmxlKGNoYXIgKnN0cik7CisjZW5kaWYKKworI2lmZGVmIENPTkZJR19IT1RQTFVHX0NQVQorI2luY2x1ZGUgPGxpbnV4L2NwdW1hc2suaD4KK2V4dGVybiB2b2lkIGZpeHVwX2lycXMoY3B1bWFza190IG1hcCk7CisjZW5kaWYKKworZXh0ZXJuIHVuc2lnbmVkIGludCBkb19JUlEoc3RydWN0IHB0X3JlZ3MgKnJlZ3MpOworZXh0ZXJuIHZvaWQgaW5pdF9JUlEodm9pZCk7CitleHRlcm4gdm9pZCBuYXRpdmVfaW5pdF9JUlEodm9pZCk7CisKKy8qIEludGVycnVwdCB2ZWN0b3IgbWFuYWdlbWVudCAqLworZXh0ZXJuIERFQ0xBUkVfQklUTUFQKHVzZWRfdmVjdG9ycywgTlJfVkVDVE9SUyk7CisKKyNlbmRpZiAvKiBfQVNNX0lSUV9IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvaXJxXzMyLmggYi9pbmNsdWRlL2FzbS14ODYvaXJxXzMyLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDBiNzlmMzEuLjAwMDAwMDAKLS0tIGEvaW5jbHVkZS9hc20teDg2L2lycV8zMi5oCisrKyAvZGV2L251bGwKQEAgLTEsNTEgKzAsMCBAQAotI2lmbmRlZiBfQVNNX0lSUV9ICi0jZGVmaW5lIF9BU01fSVJRX0gKLQotLyoKLSAqCWxpbnV4L2luY2x1ZGUvYXNtL2lycS5oCi0gKgotICoJKEMpIDE5OTIsIDE5OTMgTGludXMgVG9ydmFsZHMsIChDKSAxOTk3IEluZ28gTW9sbmFyCi0gKgotICoJSVJRL0lQSSBjaGFuZ2VzIHRha2VuIGZyb20gd29yayBieSBUaG9tYXMgUmFka2UKLSAqCTx0b21zb2Z0QGluZm9ybWF0aWsudHUtY2hlbW5pdHouZGU+Ci0gKi8KLQotI2luY2x1ZGUgPGxpbnV4L3NjaGVkLmg+Ci0vKiBpbmNsdWRlIGNvbWVzIGZyb20gbWFjaGluZSBzcGVjaWZpYyBkaXJlY3RvcnkgKi8KLSNpbmNsdWRlICJpcnFfdmVjdG9ycy5oIgotI2luY2x1ZGUgPGFzbS90aHJlYWRfaW5mby5oPgotCi1zdGF0aWMgaW5saW5lIGludCBpcnFfY2Fub25pY2FsaXplKGludCBpcnEpCi17Ci0JcmV0dXJuICgoaXJxID09IDIpID8gOSA6IGlycSk7Ci19Ci0KLSNpZmRlZiBDT05GSUdfWDg2X0xPQ0FMX0FQSUMKLSMgZGVmaW5lIEFSQ0hfSEFTX05NSV9XQVRDSERPRwkJLyogU2VlIGluY2x1ZGUvbGludXgvbm1pLmggKi8KLSNlbmRpZgotCi0jaWZkZWYgQ09ORklHXzRLU1RBQ0tTCi0gIGV4dGVybiB2b2lkIGlycV9jdHhfaW5pdChpbnQgY3B1KTsKLSAgZXh0ZXJuIHZvaWQgaXJxX2N0eF9leGl0KGludCBjcHUpOwotIyBkZWZpbmUgX19BUkNIX0hBU19ET19TT0ZUSVJRCi0jZWxzZQotIyBkZWZpbmUgaXJxX2N0eF9pbml0KGNwdSkgZG8geyB9IHdoaWxlICgwKQotIyBkZWZpbmUgaXJxX2N0eF9leGl0KGNwdSkgZG8geyB9IHdoaWxlICgwKQotI2VuZGlmCi0KLSNpZmRlZiBDT05GSUdfSVJRQkFMQU5DRQotZXh0ZXJuIGludCBpcnFiYWxhbmNlX2Rpc2FibGUoY2hhciAqc3RyKTsKLSNlbmRpZgotCi0jaWZkZWYgQ09ORklHX0hPVFBMVUdfQ1BVCi1leHRlcm4gdm9pZCBmaXh1cF9pcnFzKGNwdW1hc2tfdCBtYXApOwotI2VuZGlmCi0KLXVuc2lnbmVkIGludCBkb19JUlEoc3RydWN0IHB0X3JlZ3MgKnJlZ3MpOwotdm9pZCBpbml0X0lSUSh2b2lkKTsKLXZvaWQgX19pbml0IG5hdGl2ZV9pbml0X0lSUSh2b2lkKTsKLQotLyogSW50ZXJydXB0IHZlY3RvciBtYW5hZ2VtZW50ICovCi1leHRlcm4gREVDTEFSRV9CSVRNQVAodXNlZF92ZWN0b3JzLCBOUl9WRUNUT1JTKTsKLQotI2VuZGlmIC8qIF9BU01fSVJRX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9pcnFfNjQuaCBiL2luY2x1ZGUvYXNtLXg4Ni9pcnFfNjQuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDgzZDM1YS4uMDAwMDAwMAotLS0gYS9pbmNsdWRlL2FzbS14ODYvaXJxXzY0LmgKKysrIC9kZXYvbnVsbApAQCAtMSw1MSArMCwwIEBACi0jaWZuZGVmIF9BU01fSVJRX0gKLSNkZWZpbmUgX0FTTV9JUlFfSAotCi0vKgotICoJbGludXgvaW5jbHVkZS9hc20vaXJxLmgKLSAqCi0gKgkoQykgMTk5MiwgMTk5MyBMaW51cyBUb3J2YWxkcywgKEMpIDE5OTcgSW5nbyBNb2xuYXIKLSAqCi0gKglJUlEvSVBJIGNoYW5nZXMgdGFrZW4gZnJvbSB3b3JrIGJ5IFRob21hcyBSYWRrZQotICoJPHRvbXNvZnRAaW5mb3JtYXRpay50dS1jaGVtbml0ei5kZT4KLSAqLwotCi0jZGVmaW5lIFRJTUVSX0lSUSAwCi0KLS8qCi0gKiAxNiA4MjU5QSBJUlEncywgMjA4IHBvdGVudGlhbCBBUElDIGludGVycnVwdCBzb3VyY2VzLgotICogUmlnaHQgbm93IHRoZSBBUElDIGlzIG1vc3RseSBvbmx5IHVzZWQgZm9yIFNNUC4KLSAqIDI1NiB2ZWN0b3JzIGlzIGFuIGFyY2hpdGVjdHVyYWwgbGltaXQuICh3ZSBjYW4gaGF2ZQotICogbW9yZSB0aGFuIDI1NiBkZXZpY2VzIHRoZW9yZXRpY2FsbHksIGJ1dCB0aGV5IHdpbGwKLSAqIGhhdmUgdG8gdXNlIHNoYXJlZCBpbnRlcnJ1cHRzKQotICogU2luY2UgdmVjdG9ycyAweDAwLTB4MWYgYXJlIHVzZWQvcmVzZXJ2ZWQgZm9yIHRoZSBDUFUsCi0gKiB0aGUgdXNhYmxlIHZlY3RvciBzcGFjZSBpcyAweDIwLTB4ZmYgKDIyNCB2ZWN0b3JzKQotICovCi0KLS8qCi0gKiBUaGUgbWF4aW11bSBudW1iZXIgb2YgdmVjdG9ycyBzdXBwb3J0ZWQgYnkgeDg2XzY0IHByb2Nlc3NvcnMKLSAqIGlzIGxpbWl0ZWQgdG8gMjU2LiBGb3IgcHJvY2Vzc29ycyBvdGhlciB0aGFuIHg4Nl82NCwgTlJfVkVDVE9SUwotICogc2hvdWxkIGJlIGNoYW5nZWQgYWNjb3JkaW5nbHkuCi0gKi8KLSNkZWZpbmUgTlJfVkVDVE9SUyAyNTYKLQotI2RlZmluZSBGSVJTVF9TWVNURU1fVkVDVE9SCTB4ZWYgICAvKiBkdXBsaWNhdGVkIGluIGh3X2lycS5oICovCi0KLSNkZWZpbmUgTlJfSVJRUyAoTlJfVkVDVE9SUyArICgzMiAqIE5SX0NQVVMpKQotI2RlZmluZSBOUl9JUlFfVkVDVE9SUyBOUl9JUlFTCi0KLXN0YXRpYyBpbmxpbmUgaW50IGlycV9jYW5vbmljYWxpemUoaW50IGlycSkKLXsKLQlyZXR1cm4gKChpcnEgPT0gMikgPyA5IDogaXJxKTsKLX0KLQotI2RlZmluZSBBUkNIX0hBU19OTUlfV0FUQ0hET0cJCS8qIFNlZSBpbmNsdWRlL2xpbnV4L25taS5oICovCi0KLSNpZmRlZiBDT05GSUdfSE9UUExVR19DUFUKLSNpbmNsdWRlIDxsaW51eC9jcHVtYXNrLmg+Ci1leHRlcm4gdm9pZCBmaXh1cF9pcnFzKGNwdW1hc2tfdCBtYXApOwotI2VuZGlmCi0KLSNkZWZpbmUgX19BUkNIX0hBU19ET19TT0ZUSVJRIDEKLQotI2VuZGlmIC8qIF9BU01fSVJRX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9pcnFfdmVjdG9ycy5oIGIvaW5jbHVkZS9hc20teDg2L2lycV92ZWN0b3JzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGFjODY0ZQotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9pcnFfdmVjdG9ycy5oCkBAIC0wLDAgKzEsMTY5IEBACisjaWZuZGVmIF9BU01fSVJRX1ZFQ1RPUlNfSAorI2RlZmluZSBfQVNNX0lSUV9WRUNUT1JTX0gKKworI2luY2x1ZGUgPGxpbnV4L3RocmVhZHMuaD4KKworI2RlZmluZSBOTUlfVkVDVE9SCQkweDAyCisKKy8qCisgKiBJRFQgdmVjdG9ycyB1c2FibGUgZm9yIGV4dGVybmFsIGludGVycnVwdCBzb3VyY2VzIHN0YXJ0CisgKiBhdCAweDIwOgorICovCisjZGVmaW5lIEZJUlNUX0VYVEVSTkFMX1ZFQ1RPUgkweDIwCisKKyNpZmRlZiBDT05GSUdfWDg2XzMyCisjIGRlZmluZSBTWVNDQUxMX1ZFQ1RPUgkJMHg4MAorI2Vsc2UKKyMgZGVmaW5lIElBMzJfU1lTQ0FMTF9WRUNUT1IJMHg4MAorI2VuZGlmCisKKy8qCisgKiBSZXNlcnZlIHRoZSBsb3dlc3QgdXNhYmxlIHByaW9yaXR5IGxldmVsIDB4MjAgLSAweDJmIGZvciB0cmlnZ2VyaW5nCisgKiBjbGVhbnVwIGFmdGVyIGlycSBtaWdyYXRpb24gb24gNjQgYml0LgorICovCisjZGVmaW5lIElSUV9NT1ZFX0NMRUFOVVBfVkVDVE9SCUZJUlNUX0VYVEVSTkFMX1ZFQ1RPUgorCisvKgorICogVmVjdG9ycyAweDIwLTB4MmYgYXJlIHVzZWQgZm9yIElTQSBpbnRlcnJ1cHRzIG9uIDMyIGJpdC4KKyAqIFZlY3RvcnMgMHgzMC0weDNmIGFyZSB1c2VkIGZvciBJU0EgaW50ZXJydXB0cyBvbiA2NCBiaXQuCisgKi8KKyNpZmRlZiBDT05GSUdfWDg2XzMyCisjZGVmaW5lIElSUTBfVkVDVE9SCQkoRklSU1RfRVhURVJOQUxfVkVDVE9SKQorI2Vsc2UKKyNkZWZpbmUgSVJRMF9WRUNUT1IJCShGSVJTVF9FWFRFUk5BTF9WRUNUT1IgKyAweDEwKQorI2VuZGlmCisjZGVmaW5lIElSUTFfVkVDVE9SCQkoSVJRMF9WRUNUT1IgKyAxKQorI2RlZmluZSBJUlEyX1ZFQ1RPUgkJKElSUTBfVkVDVE9SICsgMikKKyNkZWZpbmUgSVJRM19WRUNUT1IJCShJUlEwX1ZFQ1RPUiArIDMpCisjZGVmaW5lIElSUTRfVkVDVE9SCQkoSVJRMF9WRUNUT1IgKyA0KQorI2RlZmluZSBJUlE1X1ZFQ1RPUgkJKElSUTBfVkVDVE9SICsgNSkKKyNkZWZpbmUgSVJRNl9WRUNUT1IJCShJUlEwX1ZFQ1RPUiArIDYpCisjZGVmaW5lIElSUTdfVkVDVE9SCQkoSVJRMF9WRUNUT1IgKyA3KQorI2RlZmluZSBJUlE4X1ZFQ1RPUgkJKElSUTBfVkVDVE9SICsgOCkKKyNkZWZpbmUgSVJROV9WRUNUT1IJCShJUlEwX1ZFQ1RPUiArIDkpCisjZGVmaW5lIElSUTEwX1ZFQ1RPUgkJKElSUTBfVkVDVE9SICsgMTApCisjZGVmaW5lIElSUTExX1ZFQ1RPUgkJKElSUTBfVkVDVE9SICsgMTEpCisjZGVmaW5lIElSUTEyX1ZFQ1RPUgkJKElSUTBfVkVDVE9SICsgMTIpCisjZGVmaW5lIElSUTEzX1ZFQ1RPUgkJKElSUTBfVkVDVE9SICsgMTMpCisjZGVmaW5lIElSUTE0X1ZFQ1RPUgkJKElSUTBfVkVDVE9SICsgMTQpCisjZGVmaW5lIElSUTE1X1ZFQ1RPUgkJKElSUTBfVkVDVE9SICsgMTUpCisKKy8qCisgKiBTcGVjaWFsIElSUSB2ZWN0b3JzIHVzZWQgYnkgdGhlIFNNUCBhcmNoaXRlY3R1cmUsIDB4ZjAtMHhmZgorICoKKyAqICBzb21lIG9mIHRoZSBmb2xsb3dpbmcgdmVjdG9ycyBhcmUgJ3JhcmUnLCB0aGV5IGFyZSBtZXJnZWQKKyAqICBpbnRvIGEgc2luZ2xlIHZlY3RvciAoQ0FMTF9GVU5DVElPTl9WRUNUT1IpIHRvIHNhdmUgdmVjdG9yIHNwYWNlLgorICogIFRMQiwgcmVzY2hlZHVsZSBhbmQgbG9jYWwgQVBJQyB2ZWN0b3JzIGFyZSBwZXJmb3JtYW5jZS1jcml0aWNhbC4KKyAqCisgKiAgVmVjdG9ycyAweGYwLTB4ZmEgYXJlIGZyZWUgKHJlc2VydmVkIGZvciBmdXR1cmUgTGludXggdXNlKS4KKyAqLworI2lmZGVmIENPTkZJR19YODZfMzIKKworIyBkZWZpbmUgU1BVUklPVVNfQVBJQ19WRUNUT1IJCTB4ZmYKKyMgZGVmaW5lIEVSUk9SX0FQSUNfVkVDVE9SCQkweGZlCisjIGRlZmluZSBJTlZBTElEQVRFX1RMQl9WRUNUT1IJCTB4ZmQKKyMgZGVmaW5lIFJFU0NIRURVTEVfVkVDVE9SCQkweGZjCisjIGRlZmluZSBDQUxMX0ZVTkNUSU9OX1ZFQ1RPUgkJMHhmYgorIyBkZWZpbmUgVEhFUk1BTF9BUElDX1ZFQ1RPUgkJMHhmMAorCisjZWxzZQorCisjZGVmaW5lIFNQVVJJT1VTX0FQSUNfVkVDVE9SCQkweGZmCisjZGVmaW5lIEVSUk9SX0FQSUNfVkVDVE9SCQkweGZlCisjZGVmaW5lIFJFU0NIRURVTEVfVkVDVE9SCQkweGZkCisjZGVmaW5lIENBTExfRlVOQ1RJT05fVkVDVE9SCQkweGZjCisjZGVmaW5lIFRIRVJNQUxfQVBJQ19WRUNUT1IJCTB4ZmEKKyNkZWZpbmUgVEhSRVNIT0xEX0FQSUNfVkVDVE9SCQkweGY5CisjZGVmaW5lIElOVkFMSURBVEVfVExCX1ZFQ1RPUl9FTkQJMHhmNworI2RlZmluZSBJTlZBTElEQVRFX1RMQl9WRUNUT1JfU1RBUlQJMHhmMAkvKiBmMC1mNyB1c2VkIGZvciBUTEIgZmx1c2ggKi8KKworI2RlZmluZSBOVU1fSU5WQUxJREFURV9UTEJfVkVDVE9SUwk4CisKKyNlbmRpZgorCisvKgorICogTG9jYWwgQVBJQyB0aW1lciBJUlEgdmVjdG9yIGlzIG9uIGEgZGlmZmVyZW50IHByaW9yaXR5IGxldmVsLAorICogdG8gd29yayBhcm91bmQgdGhlICdsb3N0IGxvY2FsIGludGVycnVwdCBpZiBtb3JlIHRoYW4gMiBJUlEKKyAqIHNvdXJjZXMgcGVyIGxldmVsJyBlcnJhdGEuCisgKi8KKyNkZWZpbmUgTE9DQUxfVElNRVJfVkVDVE9SCTB4ZWYKKworLyoKKyAqIEZpcnN0IEFQSUMgdmVjdG9yIGF2YWlsYWJsZSB0byBkcml2ZXJzOiAodmVjdG9ycyAweDMwLTB4ZWUpIHdlCisgKiBzdGFydCBhdCAweDMxKDB4NDEpIHRvIHNwcmVhZCBvdXQgdmVjdG9ycyBldmVubHkgYmV0d2VlbiBwcmlvcml0eQorICogbGV2ZWxzLiAoMHg4MCBpcyB0aGUgc3lzY2FsbCB2ZWN0b3IpCisgKi8KKyNpZmRlZiBDT05GSUdfWDg2XzMyCisjIGRlZmluZSBGSVJTVF9ERVZJQ0VfVkVDVE9SCTB4MzEKKyNlbHNlCisjIGRlZmluZSBGSVJTVF9ERVZJQ0VfVkVDVE9SCShJUlExNV9WRUNUT1IgKyAyKQorI2VuZGlmCisKKyNkZWZpbmUgTlJfVkVDVE9SUwkJMjU2CisKKyNkZWZpbmUgRlBVX0lSUQkJCTEzCisKKyNkZWZpbmUJRklSU1RfVk04Nl9JUlEJCTMKKyNkZWZpbmUgTEFTVF9WTTg2X0lSUQkJMTUKKyNkZWZpbmUgaW52YWxpZF92bTg2X2lycShpcnEpCSgoaXJxKSA8IDMgfHwgKGlycSkgPiAxNSkKKworI2lmICFkZWZpbmVkKENPTkZJR19YODZfVk9ZQUdFUikKKworIyBpZiBkZWZpbmVkKENPTkZJR19YODZfSU9fQVBJQykgfHwgZGVmaW5lZChDT05GSUdfUEFSQVZJUlQpIHx8IGRlZmluZWQoQ09ORklHX1g4Nl9WSVNXUykKKworIyAgZGVmaW5lIE5SX0lSUVMJCTIyNAorCisjICBpZiAoMjI0ID49IDMyICogTlJfQ1BVUykKKyMgICBkZWZpbmUgTlJfSVJRX1ZFQ1RPUlMJTlJfSVJRUworIyAgZWxzZQorIyAgIGRlZmluZSBOUl9JUlFfVkVDVE9SUwkoMzIgKiBOUl9DUFVTKQorIyAgZW5kaWYKKworIyBlbHNlIC8qIElPX0FQSUMgfHwgUEFSQVZJUlQgKi8KKworIyAgZGVmaW5lIE5SX0lSUVMJCTE2CisjICBkZWZpbmUgTlJfSVJRX1ZFQ1RPUlMJTlJfSVJRUworCisjIGVuZGlmCisKKyNlbHNlIC8qICFWSVNXUyAmJiAhVk9ZQUdFUiAqLworCisjIGRlZmluZSBOUl9JUlFTCQkyMjQKKyMgZGVmaW5lIE5SX0lSUV9WRUNUT1JTCQlOUl9JUlFTCisKKyNlbmRpZiAvKiBWSVNXUyAqLworCisvKiBWb3lhZ2VyIHNwZWNpZmljIGRlZmluZXMgKi8KKy8qIFRoZXNlIGRlZmluZSB0aGUgQ1BJcyB3ZSB1c2UgaW4gbGludXggKi8KKyNkZWZpbmUgVklDX0NQSV9MRVZFTDAJCQkwCisjZGVmaW5lIFZJQ19DUElfTEVWRUwxCQkJMQorLyogbm93IHRoZSBmYWtlIENQSXMgKi8KKyNkZWZpbmUgVklDX1RJTUVSX0NQSQkJCTIKKyNkZWZpbmUgVklDX0lOVkFMSURBVEVfQ1BJCQkzCisjZGVmaW5lIFZJQ19SRVNDSEVEVUxFX0NQSQkJNAorI2RlZmluZSBWSUNfRU5BQkxFX0lSUV9DUEkJCTUKKyNkZWZpbmUgVklDX0NBTExfRlVOQ1RJT05fQ1BJCQk2CisKKy8qIE5vdyB0aGUgUUlDIENQSXM6ICBTaW5jZSB3ZSBkb24ndCBuZWVkIHRoZSB0d28gaW5pdGlhbCBsZXZlbHMsCisgKiB0aGVzZSBhcmUgMiBsZXNzIHRoYW4gdGhlIFZJQyBDUElzICovCisjZGVmaW5lIFFJQ19DUElfT0ZGU0VUCQkJMQorI2RlZmluZSBRSUNfVElNRVJfQ1BJCQkJKFZJQ19USU1FUl9DUEkgLSBRSUNfQ1BJX09GRlNFVCkKKyNkZWZpbmUgUUlDX0lOVkFMSURBVEVfQ1BJCQkoVklDX0lOVkFMSURBVEVfQ1BJIC0gUUlDX0NQSV9PRkZTRVQpCisjZGVmaW5lIFFJQ19SRVNDSEVEVUxFX0NQSQkJKFZJQ19SRVNDSEVEVUxFX0NQSSAtIFFJQ19DUElfT0ZGU0VUKQorI2RlZmluZSBRSUNfRU5BQkxFX0lSUV9DUEkJCShWSUNfRU5BQkxFX0lSUV9DUEkgLSBRSUNfQ1BJX09GRlNFVCkKKyNkZWZpbmUgUUlDX0NBTExfRlVOQ1RJT05fQ1BJCQkoVklDX0NBTExfRlVOQ1RJT05fQ1BJIC0gUUlDX0NQSV9PRkZTRVQpCisKKyNkZWZpbmUgVklDX1NUQVJUX0ZBS0VfQ1BJCQlWSUNfVElNRVJfQ1BJCisjZGVmaW5lIFZJQ19FTkRfRkFLRV9DUEkJCVZJQ19DQUxMX0ZVTkNUSU9OX0NQSQorCisvKiB0aGlzIGlzIHRoZSBTWVNfSU5UIENQSS4gKi8KKyNkZWZpbmUgVklDX1NZU19JTlQJCQk4CisjZGVmaW5lIFZJQ19DTU5fSU5UCQkJMTUKKworLyogVGhpcyBpcyB0aGUgYm9vdCBDUEkgZm9yIGFsdGVybmF0ZSBwcm9jZXNzb3JzLiAgSXQgZ2V0cyBvdmVyd3JpdHRlbgorICogYnkgdGhlIGFib3ZlIG9uY2UgdGhlIHN5c3RlbSBoYXMgYWN0aXZhdGVkIGFsbCBhdmFpbGFibGUgcHJvY2Vzc29ycyAqLworI2RlZmluZSBWSUNfQ1BVX0JPT1RfQ1BJCQlWSUNfQ1BJX0xFVkVMMAorI2RlZmluZSBWSUNfQ1BVX0JPT1RfRVJSQVRBX0NQSQkJKFZJQ19DUElfTEVWRUwwICsgOCkKKworCisjZW5kaWYgLyogX0FTTV9JUlFfVkVDVE9SU19IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvaXJxZmxhZ3MuaCBiL2luY2x1ZGUvYXNtLXg4Ni9pcnFmbGFncy5oCmluZGV4IGMyNDI1MjcuLjQyNGFjYjQgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9pcnFmbGFncy5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9pcnFmbGFncy5oCkBAIC0xMTEsMTQgKzExMSwzNSBAQAogI2RlZmluZSBESVNBQkxFX0lOVEVSUlVQVFMoeCkJY2xpCiAKICNpZmRlZiBDT05GSUdfWDg2XzY0CisjZGVmaW5lIFNXQVBHUwlzd2FwZ3MKKy8qCisgKiBDdXJyZW50bHkgcGFyYXZpcnQgY2FuJ3QgaGFuZGxlIHN3YXBncyBuaWNlbHkgd2hlbiB3ZQorICogZG9uJ3QgaGF2ZSBhIHN0YWNrIHdlIGNhbiByZWx5IG9uIChzdWNoIGFzIGEgdXNlciBzcGFjZQorICogc3RhY2spLiAgU28gd2UgZWl0aGVyIGZpbmQgYSB3YXkgYXJvdW5kIHRoZXNlIG9yIGp1c3QgZmF1bHQKKyAqIGFuZCBlbXVsYXRlIGlmIGEgZ3Vlc3QgdHJpZXMgdG8gY2FsbCBzd2FwZ3MgZGlyZWN0bHkuCisgKgorICogRWl0aGVyIHdheSwgdGhpcyBpcyBhIGdvb2Qgd2F5IHRvIGRvY3VtZW50IHRoYXQgd2UgZG9uJ3QKKyAqIGhhdmUgYSByZWxpYWJsZSBzdGFjay4geDg2XzY0IG9ubHkuCisgKi8KKyNkZWZpbmUgU1dBUEdTX1VOU0FGRV9TVEFDSwlzd2FwZ3MKKworI2RlZmluZSBQQVJBVklSVF9BREpVU1RfRVhDRVBUSU9OX0ZSQU1FCS8qICAqLworCiAjZGVmaW5lIElOVEVSUlVQVF9SRVRVUk4JaXJldHEKLSNkZWZpbmUgRU5BQkxFX0lOVEVSUlVQVFNfU1lTQ0FMTF9SRVQJCQlcCi0JCQltb3ZxCSVnczpwZGFfb2xkcnNwLCAlcnNwOwlcCi0JCQlzd2FwZ3M7CQkJCVwKLQkJCXN5c3JldHE7CisjZGVmaW5lIFVTRVJHU19TWVNSRVQ2NAkJCQlcCisJc3dhcGdzOwkJCQkJXAorCXN5c3JldHE7CisjZGVmaW5lIFVTRVJHU19TWVNSRVQzMgkJCQlcCisJc3dhcGdzOwkJCQkJXAorCXN5c3JldGwKKyNkZWZpbmUgRU5BQkxFX0lOVEVSUlVQVFNfU1lTRVhJVDMyCQlcCisJc3dhcGdzOwkJCQkJXAorCXN0aTsJCQkJCVwKKwlzeXNleGl0CisKICNlbHNlCiAjZGVmaW5lIElOVEVSUlVQVF9SRVRVUk4JCWlyZXQKLSNkZWZpbmUgRU5BQkxFX0lOVEVSUlVQVFNfU1lTQ0FMTF9SRVQJc3RpOyBzeXNleGl0CisjZGVmaW5lIEVOQUJMRV9JTlRFUlJVUFRTX1NZU0VYSVQJc3RpOyBzeXNleGl0CiAjZGVmaW5lIEdFVF9DUjBfSU5UT19FQVgJCW1vdmwgJWNyMCwgJWVheAogI2VuZGlmCiAKQEAgLTE2OSwxOCArMTkwLDYgQEAKICNlbHNlCiAKICNpZmRlZiBDT05GSUdfWDg2XzY0Ci0vKgotICogQ3VycmVudGx5IHBhcmF2aXJ0IGNhbid0IGhhbmRsZSBzd2FwZ3MgbmljZWx5IHdoZW4gd2UKLSAqIGRvbid0IGhhdmUgYSBzdGFjayB3ZSBjYW4gcmVseSBvbiAoc3VjaCBhcyBhIHVzZXIgc3BhY2UKLSAqIHN0YWNrKS4gIFNvIHdlIGVpdGhlciBmaW5kIGEgd2F5IGFyb3VuZCB0aGVzZSBvciBqdXN0IGZhdWx0Ci0gKiBhbmQgZW11bGF0ZSBpZiBhIGd1ZXN0IHRyaWVzIHRvIGNhbGwgc3dhcGdzIGRpcmVjdGx5LgotICoKLSAqIEVpdGhlciB3YXksIHRoaXMgaXMgYSBnb29kIHdheSB0byBkb2N1bWVudCB0aGF0IHdlIGRvbid0Ci0gKiBoYXZlIGEgcmVsaWFibGUgc3RhY2suIHg4Nl82NCBvbmx5LgotICovCi0jZGVmaW5lIFNXQVBHU19VTlNBRkVfU1RBQ0sJc3dhcGdzCi0jZGVmaW5lIEFSQ0hfVFJBQ0VfSVJRU19PTgkJY2FsbCB0cmFjZV9oYXJkaXJxc19vbl90aHVuawotI2RlZmluZSBBUkNIX1RSQUNFX0lSUVNfT0ZGCQljYWxsIHRyYWNlX2hhcmRpcnFzX29mZl90aHVuawogI2RlZmluZSBBUkNIX0xPQ0tERVBfU1lTX0VYSVQJCWNhbGwgbG9ja2RlcF9zeXNfZXhpdF90aHVuawogI2RlZmluZSBBUkNIX0xPQ0tERVBfU1lTX0VYSVRfSVJRCVwKIAlUUkFDRV9JUlFTX09OOyBcCkBAIC0xOTIsMjQgKzIwMSw2IEBACiAJVFJBQ0VfSVJRU19PRkY7CiAKICNlbHNlCi0jZGVmaW5lIEFSQ0hfVFJBQ0VfSVJRU19PTgkJCVwKLQlwdXNobCAlZWF4OwkJCQlcCi0JcHVzaGwgJWVjeDsJCQkJXAotCXB1c2hsICVlZHg7CQkJCVwKLQljYWxsIHRyYWNlX2hhcmRpcnFzX29uOwkJCVwKLQlwb3BsICVlZHg7CQkJCVwKLQlwb3BsICVlY3g7CQkJCVwKLQlwb3BsICVlYXg7Ci0KLSNkZWZpbmUgQVJDSF9UUkFDRV9JUlFTX09GRgkJCVwKLQlwdXNobCAlZWF4OwkJCQlcCi0JcHVzaGwgJWVjeDsJCQkJXAotCXB1c2hsICVlZHg7CQkJCVwKLQljYWxsIHRyYWNlX2hhcmRpcnFzX29mZjsJCVwKLQlwb3BsICVlZHg7CQkJCVwKLQlwb3BsICVlY3g7CQkJCVwKLQlwb3BsICVlYXg7Ci0KICNkZWZpbmUgQVJDSF9MT0NLREVQX1NZU19FWElUCQkJXAogCXB1c2hsICVlYXg7CQkJCVwKIAlwdXNobCAlZWN4OwkJCQlcCkBAIC0yMjMsOCArMjE0LDggQEAKICNlbmRpZgogCiAjaWZkZWYgQ09ORklHX1RSQUNFX0lSUUZMQUdTCi0jICBkZWZpbmUgVFJBQ0VfSVJRU19PTgkJQVJDSF9UUkFDRV9JUlFTX09OCi0jICBkZWZpbmUgVFJBQ0VfSVJRU19PRkYJQVJDSF9UUkFDRV9JUlFTX09GRgorIyAgZGVmaW5lIFRSQUNFX0lSUVNfT04JCWNhbGwgdHJhY2VfaGFyZGlycXNfb25fdGh1bms7CisjICBkZWZpbmUgVFJBQ0VfSVJRU19PRkYJY2FsbCB0cmFjZV9oYXJkaXJxc19vZmZfdGh1bms7CiAjZWxzZQogIyAgZGVmaW5lIFRSQUNFX0lSUVNfT04KICMgIGRlZmluZSBUUkFDRV9JUlFTX09GRgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L21hY2gtYmlnc21wL21hY2hfYXBpYy5oIGIvaW5jbHVkZS9hc20teDg2L21hY2gtYmlnc21wL21hY2hfYXBpYy5oCmluZGV4IDgzMjc5MDcuLjAxN2M4YzEgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLWJpZ3NtcC9tYWNoX2FwaWMuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvbWFjaC1iaWdzbXAvbWFjaF9hcGljLmgKQEAgLTgxLDcgKzgxLDcgQEAKIAogc3RhdGljIGlubGluZSBpbnQgYXBpY2lkX3RvX25vZGUoaW50IGxvZ2ljYWxfYXBpY2lkKQogewotCXJldHVybiAoMCk7CisJcmV0dXJuIGFwaWNpZF8yX25vZGVbaGFyZF9zbXBfcHJvY2Vzc29yX2lkKCldOwogfQogCiBzdGF0aWMgaW5saW5lIGludCBjcHVfcHJlc2VudF90b19hcGljaWQoaW50IG1wc19jcHUpCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvbWFjaC1iaWdzbXAvbWFjaF9tcHNwZWMuaCBiL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLWJpZ3NtcC9tYWNoX21wc3BlYy5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2YjVkYWRjLi4wMDAwMDAwCi0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLWJpZ3NtcC9tYWNoX21wc3BlYy5oCisrKyAvZGV2L251bGwKQEAgLTEsOCArMCwwIEBACi0jaWZuZGVmIF9fQVNNX01BQ0hfTVBTUEVDX0gKLSNkZWZpbmUgX19BU01fTUFDSF9NUFNQRUNfSAotCi0jZGVmaW5lIE1BWF9JUlFfU09VUkNFUyAyNTYKLQotI2RlZmluZSBNQVhfTVBfQlVTU0VTIDMyCi0KLSNlbmRpZiAvKiBfX0FTTV9NQUNIX01QU1BFQ19IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvbWFjaC1kZWZhdWx0L2lycV92ZWN0b3JzLmggYi9pbmNsdWRlL2FzbS14ODYvbWFjaC1kZWZhdWx0L2lycV92ZWN0b3JzLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg4MWM2M2MuLjAwMDAwMDAKLS0tIGEvaW5jbHVkZS9hc20teDg2L21hY2gtZGVmYXVsdC9pcnFfdmVjdG9ycy5oCisrKyAvZGV2L251bGwKQEAgLTEsOTYgKzAsMCBAQAotLyoKLSAqIFRoaXMgZmlsZSBzaG91bGQgY29udGFpbiAjZGVmaW5lcyBmb3IgYWxsIG9mIHRoZSBpbnRlcnJ1cHQgdmVjdG9yCi0gKiBudW1iZXJzIHVzZWQgYnkgdGhpcyBhcmNoaXRlY3R1cmUuCi0gKgotICogSW4gYWRkaXRpb24sIHRoZXJlIGFyZSBzb21lIHN0YW5kYXJkIGRlZmluZXM6Ci0gKgotICoJRklSU1RfRVhURVJOQUxfVkVDVE9SOgotICoJCVRoZSBmaXJzdCBmcmVlIHBsYWNlIGZvciBleHRlcm5hbCBpbnRlcnJ1cHRzCi0gKgotICoJU1lTQ0FMTF9WRUNUT1I6Ci0gKgkJVGhlIElSUSB2ZWN0b3IgYSBzeXNjYWxsIG1ha2VzIHRoZSB1c2VyIHRvIGtlcm5lbCB0cmFuc2l0aW9uCi0gKgkJdW5kZXIuCi0gKgotICoJVElNRVJfSVJROgotICoJCVRoZSBJUlEgbnVtYmVyIHRoZSB0aW1lciBpbnRlcnJ1cHQgY29tZXMgaW4gYXQuCi0gKgotICoJTlJfSVJRUzoKLSAqCQlUaGUgdG90YWwgbnVtYmVyIG9mIGludGVycnVwdCB2ZWN0b3JzIChpbmNsdWRpbmcgYWxsIHRoZQotICoJCWFyY2hpdGVjdHVyZSBzcGVjaWZpYyBpbnRlcnJ1cHRzKSBuZWVkZWQuCi0gKgotICovCQkJCi0jaWZuZGVmIF9BU01fSVJRX1ZFQ1RPUlNfSAotI2RlZmluZSBfQVNNX0lSUV9WRUNUT1JTX0gKLQotLyoKLSAqIElEVCB2ZWN0b3JzIHVzYWJsZSBmb3IgZXh0ZXJuYWwgaW50ZXJydXB0IHNvdXJjZXMgc3RhcnQKLSAqIGF0IDB4MjA6Ci0gKi8KLSNkZWZpbmUgRklSU1RfRVhURVJOQUxfVkVDVE9SCTB4MjAKLQotI2RlZmluZSBTWVNDQUxMX1ZFQ1RPUgkJMHg4MAotCi0vKgotICogVmVjdG9ycyAweDIwLTB4MmYgYXJlIHVzZWQgZm9yIElTQSBpbnRlcnJ1cHRzLgotICovCi0KLS8qCi0gKiBTcGVjaWFsIElSUSB2ZWN0b3JzIHVzZWQgYnkgdGhlIFNNUCBhcmNoaXRlY3R1cmUsIDB4ZjAtMHhmZgotICoKLSAqICBzb21lIG9mIHRoZSBmb2xsb3dpbmcgdmVjdG9ycyBhcmUgJ3JhcmUnLCB0aGV5IGFyZSBtZXJnZWQKLSAqICBpbnRvIGEgc2luZ2xlIHZlY3RvciAoQ0FMTF9GVU5DVElPTl9WRUNUT1IpIHRvIHNhdmUgdmVjdG9yIHNwYWNlLgotICogIFRMQiwgcmVzY2hlZHVsZSBhbmQgbG9jYWwgQVBJQyB2ZWN0b3JzIGFyZSBwZXJmb3JtYW5jZS1jcml0aWNhbC4KLSAqCi0gKiAgVmVjdG9ycyAweGYwLTB4ZmEgYXJlIGZyZWUgKHJlc2VydmVkIGZvciBmdXR1cmUgTGludXggdXNlKS4KLSAqLwotI2RlZmluZSBTUFVSSU9VU19BUElDX1ZFQ1RPUgkweGZmCi0jZGVmaW5lIEVSUk9SX0FQSUNfVkVDVE9SCTB4ZmUKLSNkZWZpbmUgSU5WQUxJREFURV9UTEJfVkVDVE9SCTB4ZmQKLSNkZWZpbmUgUkVTQ0hFRFVMRV9WRUNUT1IJMHhmYwotI2RlZmluZSBDQUxMX0ZVTkNUSU9OX1ZFQ1RPUgkweGZiCi0KLSNkZWZpbmUgVEhFUk1BTF9BUElDX1ZFQ1RPUgkweGYwCi0vKgotICogTG9jYWwgQVBJQyB0aW1lciBJUlEgdmVjdG9yIGlzIG9uIGEgZGlmZmVyZW50IHByaW9yaXR5IGxldmVsLAotICogdG8gd29yayBhcm91bmQgdGhlICdsb3N0IGxvY2FsIGludGVycnVwdCBpZiBtb3JlIHRoYW4gMiBJUlEKLSAqIHNvdXJjZXMgcGVyIGxldmVsJyBlcnJhdGEuCi0gKi8KLSNkZWZpbmUgTE9DQUxfVElNRVJfVkVDVE9SCTB4ZWYKLQotLyoKLSAqIEZpcnN0IEFQSUMgdmVjdG9yIGF2YWlsYWJsZSB0byBkcml2ZXJzOiAodmVjdG9ycyAweDMwLTB4ZWUpCi0gKiB3ZSBzdGFydCBhdCAweDMxIHRvIHNwcmVhZCBvdXQgdmVjdG9ycyBldmVubHkgYmV0d2VlbiBwcmlvcml0eQotICogbGV2ZWxzLiAoMHg4MCBpcyB0aGUgc3lzY2FsbCB2ZWN0b3IpCi0gKi8KLSNkZWZpbmUgRklSU1RfREVWSUNFX1ZFQ1RPUgkweDMxCi0jZGVmaW5lIEZJUlNUX1NZU1RFTV9WRUNUT1IJMHhlZgotCi0jZGVmaW5lIFRJTUVSX0lSUSAwCi0KLS8qCi0gKiAxNiA4MjU5QSBJUlEncywgMjA4IHBvdGVudGlhbCBBUElDIGludGVycnVwdCBzb3VyY2VzLgotICogUmlnaHQgbm93IHRoZSBBUElDIGlzIG1vc3RseSBvbmx5IHVzZWQgZm9yIFNNUC4KLSAqIDI1NiB2ZWN0b3JzIGlzIGFuIGFyY2hpdGVjdHVyYWwgbGltaXQuICh3ZSBjYW4gaGF2ZQotICogbW9yZSB0aGFuIDI1NiBkZXZpY2VzIHRoZW9yZXRpY2FsbHksIGJ1dCB0aGV5IHdpbGwKLSAqIGhhdmUgdG8gdXNlIHNoYXJlZCBpbnRlcnJ1cHRzKQotICogU2luY2UgdmVjdG9ycyAweDAwLTB4MWYgYXJlIHVzZWQvcmVzZXJ2ZWQgZm9yIHRoZSBDUFUsCi0gKiB0aGUgdXNhYmxlIHZlY3RvciBzcGFjZSBpcyAweDIwLTB4ZmYgKDIyNCB2ZWN0b3JzKQotICovCi0KLS8qCi0gKiBUaGUgbWF4aW11bSBudW1iZXIgb2YgdmVjdG9ycyBzdXBwb3J0ZWQgYnkgaTM4NiBwcm9jZXNzb3JzCi0gKiBpcyBsaW1pdGVkIHRvIDI1Ni4gRm9yIHByb2Nlc3NvcnMgb3RoZXIgdGhhbiBpMzg2LCBOUl9WRUNUT1JTCi0gKiBzaG91bGQgYmUgY2hhbmdlZCBhY2NvcmRpbmdseS4KLSAqLwotI2RlZmluZSBOUl9WRUNUT1JTIDI1NgotCi0jaW5jbHVkZSAiaXJxX3ZlY3RvcnNfbGltaXRzLmgiCi0KLSNkZWZpbmUgRlBVX0lSUQkJCTEzCi0KLSNkZWZpbmUJRklSU1RfVk04Nl9JUlEJCTMKLSNkZWZpbmUgTEFTVF9WTTg2X0lSUQkJMTUKLSNkZWZpbmUgaW52YWxpZF92bTg2X2lycShpcnEpCSgoaXJxKSA8IDMgfHwgKGlycSkgPiAxNSkKLQotCi0jZW5kaWYgLyogX0FTTV9JUlFfVkVDVE9SU19IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvbWFjaC1kZWZhdWx0L2lycV92ZWN0b3JzX2xpbWl0cy5oIGIvaW5jbHVkZS9hc20teDg2L21hY2gtZGVmYXVsdC9pcnFfdmVjdG9yc19saW1pdHMuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTkwYzdhNi4uMDAwMDAwMAotLS0gYS9pbmNsdWRlL2FzbS14ODYvbWFjaC1kZWZhdWx0L2lycV92ZWN0b3JzX2xpbWl0cy5oCisrKyAvZGV2L251bGwKQEAgLTEsMTYgKzAsMCBAQAotI2lmbmRlZiBfQVNNX0lSUV9WRUNUT1JTX0xJTUlUU19ICi0jZGVmaW5lIF9BU01fSVJRX1ZFQ1RPUlNfTElNSVRTX0gKLQotI2lmIGRlZmluZWQoQ09ORklHX1g4Nl9JT19BUElDKSB8fCBkZWZpbmVkKENPTkZJR19QQVJBVklSVCkKLSNkZWZpbmUgTlJfSVJRUyAyMjQKLSMgaWYgKDIyNCA+PSAzMiAqIE5SX0NQVVMpCi0jIGRlZmluZSBOUl9JUlFfVkVDVE9SUyBOUl9JUlFTCi0jIGVsc2UKLSMgZGVmaW5lIE5SX0lSUV9WRUNUT1JTICgzMiAqIE5SX0NQVVMpCi0jIGVuZGlmCi0jZWxzZQotI2RlZmluZSBOUl9JUlFTIDE2Ci0jZGVmaW5lIE5SX0lSUV9WRUNUT1JTIE5SX0lSUVMKLSNlbmRpZgotCi0jZW5kaWYgLyogX0FTTV9JUlFfVkVDVE9SU19MSU1JVFNfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L21hY2gtZGVmYXVsdC9tYWNoX2FwaWMuaCBiL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLWRlZmF1bHQvbWFjaF9hcGljLmgKaW5kZXggMjEwMDNiNS4uMGIyY2RlNSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L21hY2gtZGVmYXVsdC9tYWNoX2FwaWMuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvbWFjaC1kZWZhdWx0L21hY2hfYXBpYy5oCkBAIC03Nyw3ICs3NywxMSBAQAogCiBzdGF0aWMgaW5saW5lIGludCBhcGljaWRfdG9fbm9kZShpbnQgbG9naWNhbF9hcGljaWQpCiB7CisjaWZkZWYgQ09ORklHX1NNUAorCXJldHVybiBhcGljaWRfMl9ub2RlW2hhcmRfc21wX3Byb2Nlc3Nvcl9pZCgpXTsKKyNlbHNlCiAJcmV0dXJuIDA7CisjZW5kaWYKIH0KICNlbmRpZgogCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvbWFjaC1kZWZhdWx0L3NldHVwX2FyY2guaCBiL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLWRlZmF1bHQvc2V0dXBfYXJjaC5oCmluZGV4IDYwNWUzY2MuLjM4ODQ2MjAgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLWRlZmF1bHQvc2V0dXBfYXJjaC5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLWRlZmF1bHQvc2V0dXBfYXJjaC5oCkBAIC0xLDcgKzEsMyBAQAogLyogSG9vayB0byBjYWxsIEJJT1MgaW5pdGlhbGlzYXRpb24gZnVuY3Rpb24gKi8KIAogLyogbm8gYWN0aW9uIGZvciBnZW5lcmljICovCi0KLSNpZm5kZWYgQVJDSF9TRVRVUAotI2RlZmluZSBBUkNIX1NFVFVQCi0jZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLWRlZmF1bHQvc21wYm9vdF9ob29rcy5oIGIvaW5jbHVkZS9hc20teDg2L21hY2gtZGVmYXVsdC9zbXBib290X2hvb2tzLmgKaW5kZXggNTZkMGUxZi4uNTZkMDAxYiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L21hY2gtZGVmYXVsdC9zbXBib290X2hvb2tzLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L21hY2gtZGVmYXVsdC9zbXBib290X2hvb2tzLmgKQEAgLTMsNyArMyw5IEBACiAKIHN0YXRpYyBpbmxpbmUgdm9pZCBzbXBib290X2NsZWFyX2lvX2FwaWNfaXJxcyh2b2lkKQogeworI2lmZGVmIENPTkZJR19YODZfSU9fQVBJQwogCWlvX2FwaWNfaXJxcyA9IDA7CisjZW5kaWYKIH0KIAogc3RhdGljIGlubGluZSB2b2lkIHNtcGJvb3Rfc2V0dXBfd2FybV9yZXNldF92ZWN0b3IodW5zaWduZWQgbG9uZyBzdGFydF9laXApCkBAIC0zNSwxNyArMzcsMjMgQEAKIAogc3RhdGljIGlubGluZSB2b2lkIF9faW5pdCBzbXBib290X3NldHVwX2lvX2FwaWModm9pZCkKIHsKKyNpZmRlZiBDT05GSUdfWDg2X0lPX0FQSUMKIAkvKgogCSAqIEhlcmUgd2UgY2FuIGJlIHN1cmUgdGhhdCB0aGVyZSBpcyBhbiBJTy1BUElDIGluIHRoZSBzeXN0ZW0uIExldCdzCiAJICogZ28gYW5kIHNldCBpdCB1cDoKIAkgKi8KIAlpZiAoIXNraXBfaW9hcGljX3NldHVwICYmIG5yX2lvYXBpY3MpCiAJCXNldHVwX0lPX0FQSUMoKTsKLQllbHNlCisJZWxzZSB7CiAJCW5yX2lvYXBpY3MgPSAwOworCQlsb2NhbGlzZV9ubWlfd2F0Y2hkb2coKTsKKwl9CisjZW5kaWYKIH0KIAogc3RhdGljIGlubGluZSB2b2lkIHNtcGJvb3RfY2xlYXJfaW9fYXBpYyh2b2lkKQogeworI2lmZGVmIENPTkZJR19YODZfSU9fQVBJQwogCW5yX2lvYXBpY3MgPSAwOworI2VuZGlmCiB9CmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvbWFjaC1lczcwMDAvbWFjaF9tcHNwZWMuaCBiL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLWVzNzAwMC9tYWNoX21wc3BlYy5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiMWY1MDM5Li4wMDAwMDAwCi0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLWVzNzAwMC9tYWNoX21wc3BlYy5oCisrKyAvZGV2L251bGwKQEAgLTEsOCArMCwwIEBACi0jaWZuZGVmIF9fQVNNX01BQ0hfTVBTUEVDX0gKLSNkZWZpbmUgX19BU01fTUFDSF9NUFNQRUNfSAotCi0jZGVmaW5lIE1BWF9JUlFfU09VUkNFUyAyNTYKLQotI2RlZmluZSBNQVhfTVBfQlVTU0VTIDI1NgotCi0jZW5kaWYgLyogX19BU01fTUFDSF9NUFNQRUNfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L21hY2gtZ2VuZXJpYy9tYWNoX21wcGFyc2UuaCBiL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLWdlbmVyaWMvbWFjaF9tcHBhcnNlLmgKaW5kZXggMGQwYjViYS4uNTg2Y2FkYiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L21hY2gtZ2VuZXJpYy9tYWNoX21wcGFyc2UuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvbWFjaC1nZW5lcmljL21hY2hfbXBwYXJzZS5oCkBAIC0xLDcgKzEsMTAgQEAKICNpZm5kZWYgX01BQ0hfTVBQQVJTRV9ICiAjZGVmaW5lIF9NQUNIX01QUEFSU0VfSCAxCiAKLWludCBtcHNfb2VtX2NoZWNrKHN0cnVjdCBtcF9jb25maWdfdGFibGUgKm1wYywgY2hhciAqb2VtLCBjaGFyICpwcm9kdWN0aWQpOyAKLWludCBhY3BpX21hZHRfb2VtX2NoZWNrKGNoYXIgKm9lbV9pZCwgY2hhciAqb2VtX3RhYmxlX2lkKTsgCisKK2V4dGVybiBpbnQgbXBzX29lbV9jaGVjayhzdHJ1Y3QgbXBfY29uZmlnX3RhYmxlICptcGMsIGNoYXIgKm9lbSwKKwkJCSBjaGFyICpwcm9kdWN0aWQpOworCitleHRlcm4gaW50IGFjcGlfbWFkdF9vZW1fY2hlY2soY2hhciAqb2VtX2lkLCBjaGFyICpvZW1fdGFibGVfaWQpOwogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLW51bWFxL21hY2hfYXBpYy5oIGIvaW5jbHVkZS9hc20teDg2L21hY2gtbnVtYXEvbWFjaF9hcGljLmgKaW5kZXggNzVhNTZlNS4uZDgwMjQ2NSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L21hY2gtbnVtYXEvbWFjaF9hcGljLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L21hY2gtbnVtYXEvbWFjaF9hcGljLmgKQEAgLTIwLDggKzIwLDE0IEBACiAjZGVmaW5lIElOVF9ERUxJVkVSWV9NT0RFIGRlc3RfTG93ZXN0UHJpbwogI2RlZmluZSBJTlRfREVTVF9NT0RFIDAgICAgIC8qIHBoeXNpY2FsIGRlbGl2ZXJ5IG9uIExPQ0FMIHF1YWQgKi8KICAKLSNkZWZpbmUgY2hlY2tfYXBpY2lkX3VzZWQoYml0bWFwLCBhcGljaWQpIHBoeXNpZF9pc3NldChhcGljaWQsIGJpdG1hcCkKLSNkZWZpbmUgY2hlY2tfYXBpY2lkX3ByZXNlbnQoYml0KSBwaHlzaWRfaXNzZXQoYml0LCBwaHlzX2NwdV9wcmVzZW50X21hcCkKK3N0YXRpYyBpbmxpbmUgdW5zaWduZWQgbG9uZyBjaGVja19hcGljaWRfdXNlZChwaHlzaWRfbWFza190IGJpdG1hcCwgaW50IGFwaWNpZCkKK3sKKwlyZXR1cm4gcGh5c2lkX2lzc2V0KGFwaWNpZCwgYml0bWFwKTsKK30KK3N0YXRpYyBpbmxpbmUgdW5zaWduZWQgbG9uZyBjaGVja19hcGljaWRfcHJlc2VudChpbnQgYml0KQoreworCXJldHVybiBwaHlzaWRfaXNzZXQoYml0LCBwaHlzX2NwdV9wcmVzZW50X21hcCk7Cit9CiAjZGVmaW5lIGFwaWNpZF9jbHVzdGVyKGFwaWNpZCkgKGFwaWNpZCAmIDB4RjApCiAKIHN0YXRpYyBpbmxpbmUgaW50IGFwaWNfaWRfcmVnaXN0ZXJlZCh2b2lkKQpAQCAtNzcsMTEgKzgzLDYgQEAKIAkJcmV0dXJuIEJBRF9BUElDSUQ7CiB9CiAKLXN0YXRpYyBpbmxpbmUgaW50IGdlbmVyYXRlX2xvZ2ljYWxfYXBpY2lkKGludCBxdWFkLCBpbnQgcGh5c19hcGljaWQpCi17Ci0JcmV0dXJuIChxdWFkIDw8IDQpICsgKHBoeXNfYXBpY2lkID8gcGh5c19hcGljaWQgPDwgMSA6IDEpOwotfQotCiBzdGF0aWMgaW5saW5lIGludCBhcGljaWRfdG9fbm9kZShpbnQgbG9naWNhbF9hcGljaWQpIAogewogCXJldHVybiBsb2dpY2FsX2FwaWNpZCA+PiA0OwpAQCAtOTUsMzAgKzk2LDYgQEAKIAlyZXR1cm4gcGh5c2lkX21hc2tfb2ZfcGh5c2lkKGNwdSArIDQqbm9kZSk7CiB9CiAKLXN0cnVjdCBtcGNfY29uZmlnX3RyYW5zbGF0aW9uIHsKLQl1bnNpZ25lZCBjaGFyIG1wY190eXBlOwotCXVuc2lnbmVkIGNoYXIgdHJhbnNfbGVuOwotCXVuc2lnbmVkIGNoYXIgdHJhbnNfdHlwZTsKLQl1bnNpZ25lZCBjaGFyIHRyYW5zX3F1YWQ7Ci0JdW5zaWduZWQgY2hhciB0cmFuc19nbG9iYWw7Ci0JdW5zaWduZWQgY2hhciB0cmFuc19sb2NhbDsKLQl1bnNpZ25lZCBzaG9ydCB0cmFuc19yZXNlcnZlZDsKLX07Ci0KLXN0YXRpYyBpbmxpbmUgaW50IG1wY19hcGljX2lkKHN0cnVjdCBtcGNfY29uZmlnX3Byb2Nlc3NvciAqbSwgCi0JCQlzdHJ1Y3QgbXBjX2NvbmZpZ190cmFuc2xhdGlvbiAqdHJhbnNsYXRpb25fcmVjb3JkKQotewotCWludCBxdWFkID0gdHJhbnNsYXRpb25fcmVjb3JkLT50cmFuc19xdWFkOwotCWludCBsb2dpY2FsX2FwaWNpZCA9IGdlbmVyYXRlX2xvZ2ljYWxfYXBpY2lkKHF1YWQsIG0tPm1wY19hcGljaWQpOwotCi0JcHJpbnRrKCJQcm9jZXNzb3IgIyVkICV1OiV1IEFQSUMgdmVyc2lvbiAlZCAocXVhZCAlZCwgYXBpYyAlZClcbiIsCi0JICAgICAgIG0tPm1wY19hcGljaWQsCi0JICAgICAgIChtLT5tcGNfY3B1ZmVhdHVyZSAmIENQVV9GQU1JTFlfTUFTSykgPj4gOCwKLQkgICAgICAgKG0tPm1wY19jcHVmZWF0dXJlICYgQ1BVX01PREVMX01BU0spID4+IDQsCi0JICAgICAgIG0tPm1wY19hcGljdmVyLCBxdWFkLCBsb2dpY2FsX2FwaWNpZCk7Ci0JcmV0dXJuIGxvZ2ljYWxfYXBpY2lkOwotfQotCiBleHRlcm4gdm9pZCAqeHF1YWRfcG9ydGlvOwogCiBzdGF0aWMgaW5saW5lIHZvaWQgc2V0dXBfcG9ydGlvX3JlbWFwKHZvaWQpCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvbWFjaC1udW1hcS9tYWNoX21wcGFyc2UuaCBiL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLW51bWFxL21hY2hfbXBwYXJzZS5oCmluZGV4IDQ1OWIxMjQuLjYyNmFlZjYgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLW51bWFxL21hY2hfbXBwYXJzZS5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLW51bWFxL21hY2hfbXBwYXJzZS5oCkBAIC0xLDE0ICsxLDcgQEAKICNpZm5kZWYgX19BU01fTUFDSF9NUFBBUlNFX0gKICNkZWZpbmUgX19BU01fTUFDSF9NUFBBUlNFX0gKIAotZXh0ZXJuIHZvaWQgbXBjX29lbV9idXNfaW5mbyhzdHJ1Y3QgbXBjX2NvbmZpZ19idXMgKm0sIGNoYXIgKm5hbWUsCi0JCQkgICAgIHN0cnVjdCBtcGNfY29uZmlnX3RyYW5zbGF0aW9uICp0cmFuc2xhdGlvbik7Ci1leHRlcm4gdm9pZCBtcGNfb2VtX3BjaV9idXMoc3RydWN0IG1wY19jb25maWdfYnVzICptLAotCXN0cnVjdCBtcGNfY29uZmlnX3RyYW5zbGF0aW9uICp0cmFuc2xhdGlvbik7Ci0KLS8qIEhvb2sgZnJvbSBnZW5lcmljIEFDUEkgdGFibGVzLmMgKi8KLXN0YXRpYyBpbmxpbmUgdm9pZCBhY3BpX21hZHRfb2VtX2NoZWNrKGNoYXIgKm9lbV9pZCwgY2hhciAqb2VtX3RhYmxlX2lkKQotewotfQorZXh0ZXJuIHZvaWQgbnVtYXFfbXBzX29lbV9jaGVjayhzdHJ1Y3QgbXBfY29uZmlnX3RhYmxlICptcGMsIGNoYXIgKm9lbSwKKwkJCQljaGFyICpwcm9kdWN0aWQpOwogCiAjZW5kaWYgLyogX19BU01fTUFDSF9NUFBBUlNFX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLW51bWFxL21hY2hfbXBzcGVjLmggYi9pbmNsdWRlL2FzbS14ODYvbWFjaC1udW1hcS9tYWNoX21wc3BlYy5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkZmZiMDk4Li4wMDAwMDAwCi0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLW51bWFxL21hY2hfbXBzcGVjLmgKKysrIC9kZXYvbnVsbApAQCAtMSw4ICswLDAgQEAKLSNpZm5kZWYgX19BU01fTUFDSF9NUFNQRUNfSAotI2RlZmluZSBfX0FTTV9NQUNIX01QU1BFQ19ICi0KLSNkZWZpbmUgTUFYX0lSUV9TT1VSQ0VTIDUxMgotCi0jZGVmaW5lIE1BWF9NUF9CVVNTRVMgMzIKLQotI2VuZGlmIC8qIF9fQVNNX01BQ0hfTVBTUEVDX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLXN1bW1pdC9tYWNoX21wc3BlYy5oIGIvaW5jbHVkZS9hc20teDg2L21hY2gtc3VtbWl0L21hY2hfbXBzcGVjLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJkNzY1NTIuLjAwMDAwMDAKLS0tIGEvaW5jbHVkZS9hc20teDg2L21hY2gtc3VtbWl0L21hY2hfbXBzcGVjLmgKKysrIC9kZXYvbnVsbApAQCAtMSw5ICswLDAgQEAKLSNpZm5kZWYgX19BU01fTUFDSF9NUFNQRUNfSAotI2RlZmluZSBfX0FTTV9NQUNIX01QU1BFQ19ICi0KLSNkZWZpbmUgTUFYX0lSUV9TT1VSQ0VTIDI1NgotCi0vKiBNYXhpbXVtIDI1NiBQQ0kgYnVzc2VzLCBwbHVzIDEgSVNBIGJ1cyBpbiBlYWNoIG9mIDQgY2FiaW5ldHMuICovCi0jZGVmaW5lIE1BWF9NUF9CVVNTRVMgMjYwCi0KLSNlbmRpZiAvKiBfX0FTTV9NQUNIX01QU1BFQ19IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvbWFjaC12aXN3cy9pcnFfdmVjdG9ycy5oIGIvaW5jbHVkZS9hc20teDg2L21hY2gtdmlzd3MvaXJxX3ZlY3RvcnMuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggY2I1NzJkOC4uMDAwMDAwMAotLS0gYS9pbmNsdWRlL2FzbS14ODYvbWFjaC12aXN3cy9pcnFfdmVjdG9ycy5oCisrKyAvZGV2L251bGwKQEAgLTEsNjIgKzAsMCBAQAotI2lmbmRlZiBfQVNNX0lSUV9WRUNUT1JTX0gKLSNkZWZpbmUgX0FTTV9JUlFfVkVDVE9SU19ICi0KLS8qCi0gKiBJRFQgdmVjdG9ycyB1c2FibGUgZm9yIGV4dGVybmFsIGludGVycnVwdCBzb3VyY2VzIHN0YXJ0Ci0gKiBhdCAweDIwOgotICovCi0jZGVmaW5lIEZJUlNUX0VYVEVSTkFMX1ZFQ1RPUgkweDIwCi0KLSNkZWZpbmUgU1lTQ0FMTF9WRUNUT1IJCTB4ODAKLQotLyoKLSAqIFZlY3RvcnMgMHgyMC0weDJmIGFyZSB1c2VkIGZvciBJU0EgaW50ZXJydXB0cy4KLSAqLwotCi0vKgotICogU3BlY2lhbCBJUlEgdmVjdG9ycyB1c2VkIGJ5IHRoZSBTTVAgYXJjaGl0ZWN0dXJlLCAweGYwLTB4ZmYKLSAqCi0gKiAgc29tZSBvZiB0aGUgZm9sbG93aW5nIHZlY3RvcnMgYXJlICdyYXJlJywgdGhleSBhcmUgbWVyZ2VkCi0gKiAgaW50byBhIHNpbmdsZSB2ZWN0b3IgKENBTExfRlVOQ1RJT05fVkVDVE9SKSB0byBzYXZlIHZlY3RvciBzcGFjZS4KLSAqICBUTEIsIHJlc2NoZWR1bGUgYW5kIGxvY2FsIEFQSUMgdmVjdG9ycyBhcmUgcGVyZm9ybWFuY2UtY3JpdGljYWwuCi0gKgotICogIFZlY3RvcnMgMHhmMC0weGZhIGFyZSBmcmVlIChyZXNlcnZlZCBmb3IgZnV0dXJlIExpbnV4IHVzZSkuCi0gKi8KLSNkZWZpbmUgU1BVUklPVVNfQVBJQ19WRUNUT1IJMHhmZgotI2RlZmluZSBFUlJPUl9BUElDX1ZFQ1RPUgkweGZlCi0jZGVmaW5lIElOVkFMSURBVEVfVExCX1ZFQ1RPUgkweGZkCi0jZGVmaW5lIFJFU0NIRURVTEVfVkVDVE9SCTB4ZmMKLSNkZWZpbmUgQ0FMTF9GVU5DVElPTl9WRUNUT1IJMHhmYgotCi0jZGVmaW5lIFRIRVJNQUxfQVBJQ19WRUNUT1IJMHhmMAotLyoKLSAqIExvY2FsIEFQSUMgdGltZXIgSVJRIHZlY3RvciBpcyBvbiBhIGRpZmZlcmVudCBwcmlvcml0eSBsZXZlbCwKLSAqIHRvIHdvcmsgYXJvdW5kIHRoZSAnbG9zdCBsb2NhbCBpbnRlcnJ1cHQgaWYgbW9yZSB0aGFuIDIgSVJRCi0gKiBzb3VyY2VzIHBlciBsZXZlbCcgZXJyYXRhLgotICovCi0jZGVmaW5lIExPQ0FMX1RJTUVSX1ZFQ1RPUgkweGVmCi0KLS8qCi0gKiBGaXJzdCBBUElDIHZlY3RvciBhdmFpbGFibGUgdG8gZHJpdmVyczogKHZlY3RvcnMgMHgzMC0weGVlKQotICogd2Ugc3RhcnQgYXQgMHgzMSB0byBzcHJlYWQgb3V0IHZlY3RvcnMgZXZlbmx5IGJldHdlZW4gcHJpb3JpdHkKLSAqIGxldmVscy4gKDB4ODAgaXMgdGhlIHN5c2NhbGwgdmVjdG9yKQotICovCi0jZGVmaW5lIEZJUlNUX0RFVklDRV9WRUNUT1IJMHgzMQotI2RlZmluZSBGSVJTVF9TWVNURU1fVkVDVE9SCTB4ZWYKLQotI2RlZmluZSBUSU1FUl9JUlEgMAotCi0vKgotICogSVJRIGRlZmluaXRpb25zCi0gKi8KLSNkZWZpbmUgTlJfVkVDVE9SUyAyNTYKLSNkZWZpbmUgTlJfSVJRUyAyMjQKLSNkZWZpbmUgTlJfSVJRX1ZFQ1RPUlMgTlJfSVJRUwotCi0jZGVmaW5lIEZQVV9JUlEJCQkxMwotCi0jZGVmaW5lCUZJUlNUX1ZNODZfSVJRCQkzCi0jZGVmaW5lIExBU1RfVk04Nl9JUlEJCTE1Ci0jZGVmaW5lIGludmFsaWRfdm04Nl9pcnEoaXJxKQkoKGlycSkgPCAzIHx8IChpcnEpID4gMTUpCi0KLSNlbmRpZiAvKiBfQVNNX0lSUV9WRUNUT1JTX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLXZpc3dzL21hY2hfYXBpYy5oIGIvaW5jbHVkZS9hc20teDg2L21hY2gtdmlzd3MvbWFjaF9hcGljLmgKaW5kZXggYTllZjMzYS4uNjk0M2U3YSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L21hY2gtdmlzd3MvbWFjaF9hcGljLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L21hY2gtdmlzd3MvbWFjaF9hcGljLmgKQEAgLTEsMTAzICsxIEBACi0jaWZuZGVmIF9fQVNNX01BQ0hfQVBJQ19ICi0jZGVmaW5lIF9fQVNNX01BQ0hfQVBJQ19ICi0KLSNpbmNsdWRlIDxtYWNoX2FwaWNkZWYuaD4KLSNpbmNsdWRlIDxhc20vc21wLmg+Ci0KLSNkZWZpbmUgQVBJQ19ERlJfVkFMVUUJKEFQSUNfREZSX0ZMQVQpCi0KLSNkZWZpbmUgbm9fYmFsYW5jZV9pcnEgKDApCi0jZGVmaW5lIGVzcl9kaXNhYmxlICgwKQotCi0jZGVmaW5lIElOVF9ERUxJVkVSWV9NT0RFIGRlc3RfTG93ZXN0UHJpbwotI2RlZmluZSBJTlRfREVTVF9NT0RFIDEgICAgIC8qIGxvZ2ljYWwgZGVsaXZlcnkgYnJvYWRjYXN0IHRvIGFsbCBwcm9jcyAqLwotCi0jaWZkZWYgQ09ORklHX1NNUAotICNkZWZpbmUgVEFSR0VUX0NQVVMgY3B1X29ubGluZV9tYXAKLSNlbHNlCi0gI2RlZmluZSBUQVJHRVRfQ1BVUyBjcHVtYXNrX29mX2NwdSgwKQotI2VuZGlmCi0KLSNkZWZpbmUgY2hlY2tfYXBpY2lkX3VzZWQoYml0bWFwLCBhcGljaWQpCXBoeXNpZF9pc3NldChhcGljaWQsIGJpdG1hcCkKLSNkZWZpbmUgY2hlY2tfYXBpY2lkX3ByZXNlbnQoYml0KQkJcGh5c2lkX2lzc2V0KGJpdCwgcGh5c19jcHVfcHJlc2VudF9tYXApCi0KLXN0YXRpYyBpbmxpbmUgaW50IGFwaWNfaWRfcmVnaXN0ZXJlZCh2b2lkKQotewotCXJldHVybiBwaHlzaWRfaXNzZXQoR0VUX0FQSUNfSUQocmVhZF9hcGljX2lkKCkpLCBwaHlzX2NwdV9wcmVzZW50X21hcCk7Ci19Ci0KLS8qCi0gKiBTZXQgdXAgdGhlIGxvZ2ljYWwgZGVzdGluYXRpb24gSUQuCi0gKgotICogSW50ZWwgcmVjb21tZW5kcyB0byBzZXQgREZSLCBMRFIgYW5kIFRQUiBiZWZvcmUgZW5hYmxpbmcKLSAqIGFuIEFQSUMuICBTZWUgZS5nLiAiQVAtMzg4IDgyNDg5RFggVXNlcidzIE1hbnVhbCIgKEludGVsCi0gKiBkb2N1bWVudCBudW1iZXIgMjkyMTE2KS4gIFNvIGhlcmUgaXQgZ29lcy4uLgotICovCi1zdGF0aWMgaW5saW5lIHZvaWQgaW5pdF9hcGljX2xkcih2b2lkKQotewotCXVuc2lnbmVkIGxvbmcgdmFsOwotCi0JYXBpY193cml0ZV9hcm91bmQoQVBJQ19ERlIsIEFQSUNfREZSX1ZBTFVFKTsKLQl2YWwgPSBhcGljX3JlYWQoQVBJQ19MRFIpICYgfkFQSUNfTERSX01BU0s7Ci0JdmFsIHw9IFNFVF9BUElDX0xPR0lDQUxfSUQoMVVMIDw8IHNtcF9wcm9jZXNzb3JfaWQoKSk7Ci0JYXBpY193cml0ZV9hcm91bmQoQVBJQ19MRFIsIHZhbCk7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgdm9pZCBzdW1taXRfY2hlY2soY2hhciAqb2VtLCBjaGFyICpwcm9kdWN0aWQpIAotewotfQotCi1zdGF0aWMgaW5saW5lIHZvaWQgc2V0dXBfYXBpY19yb3V0aW5nKHZvaWQpCi17Ci19Ci0KLXN0YXRpYyBpbmxpbmUgaW50IGFwaWNpZF90b19ub2RlKGludCBsb2dpY2FsX2FwaWNpZCkKLXsKLQlyZXR1cm4gMDsKLX0KLQotLyogTWFwcGluZyBmcm9tIGNwdSBudW1iZXIgdG8gbG9naWNhbCBhcGljaWQgKi8KLXN0YXRpYyBpbmxpbmUgaW50IGNwdV90b19sb2dpY2FsX2FwaWNpZChpbnQgY3B1KQotewotCXJldHVybiAxIDw8IGNwdTsKLX0KLQotc3RhdGljIGlubGluZSBpbnQgY3B1X3ByZXNlbnRfdG9fYXBpY2lkKGludCBtcHNfY3B1KQotewotCWlmIChtcHNfY3B1IDwgZ2V0X3BoeXNpY2FsX2Jyb2FkY2FzdCgpKQotCQlyZXR1cm4gbXBzX2NwdTsKLQllbHNlCi0JCXJldHVybiBCQURfQVBJQ0lEOwotfQotCi1zdGF0aWMgaW5saW5lIHBoeXNpZF9tYXNrX3QgYXBpY2lkX3RvX2NwdV9wcmVzZW50KGludCBhcGljaWQpCi17Ci0JcmV0dXJuIHBoeXNpZF9tYXNrX29mX3BoeXNpZChhcGljaWQpOwotfQotCi0jZGVmaW5lIFdBS0VfU0VDT05EQVJZX1ZJQV9JTklUCi0KLXN0YXRpYyBpbmxpbmUgdm9pZCBzZXR1cF9wb3J0aW9fcmVtYXAodm9pZCkKLXsKLX0KLQotc3RhdGljIGlubGluZSB2b2lkIGVuYWJsZV9hcGljX21vZGUodm9pZCkKLXsKLX0KLQotc3RhdGljIGlubGluZSBpbnQgY2hlY2tfcGh5c19hcGljaWRfcHJlc2VudChpbnQgYm9vdF9jcHVfcGh5c2ljYWxfYXBpY2lkKQotewotCXJldHVybiBwaHlzaWRfaXNzZXQoYm9vdF9jcHVfcGh5c2ljYWxfYXBpY2lkLCBwaHlzX2NwdV9wcmVzZW50X21hcCk7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgdW5zaWduZWQgaW50IGNwdV9tYXNrX3RvX2FwaWNpZChjcHVtYXNrX3QgY3B1bWFzaykKLXsKLQlyZXR1cm4gY3B1c19hZGRyKGNwdW1hc2spWzBdOwotfQotCi1zdGF0aWMgaW5saW5lIHUzMiBwaHlzX3BrZ19pZCh1MzIgY3B1aWRfYXBpYywgaW50IGluZGV4X21zYikKLXsKLQlyZXR1cm4gY3B1aWRfYXBpYyA+PiBpbmRleF9tc2I7Ci19Ci0KLSNlbmRpZiAvKiBfX0FTTV9NQUNIX0FQSUNfSCAqLworI2luY2x1ZGUgIi4uL21hY2gtZGVmYXVsdC9tYWNoX2FwaWMuaCIKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLXZpc3dzL21hY2hfYXBpY2RlZi5oIGIvaW5jbHVkZS9hc20teDg2L21hY2gtdmlzd3MvbWFjaF9hcGljZGVmLmgKaW5kZXggODI2Y2ZhOS4uNDI3MTFkMSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L21hY2gtdmlzd3MvbWFjaF9hcGljZGVmLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L21hY2gtdmlzd3MvbWFjaF9hcGljZGVmLmgKQEAgLTEsMTIgKzEgQEAKLSNpZm5kZWYgX19BU01fTUFDSF9BUElDREVGX0gKLSNkZWZpbmUgX19BU01fTUFDSF9BUElDREVGX0gKLQotI2RlZmluZSAgICAgICAgIEFQSUNfSURfTUFTSyAgICAgICAgICAgICgweEY8PDI0KQotCi1zdGF0aWMgaW5saW5lIHVuc2lnbmVkIGdldF9hcGljX2lkKHVuc2lnbmVkIGxvbmcgeCkKLXsKLQkgICAgICAgIHJldHVybiAoKCh4KT4+MjQpJjB4Rik7Ci19Ci0jZGVmaW5lICAgICAgICAgR0VUX0FQSUNfSUQoeCkgIGdldF9hcGljX2lkKHgpCi0KLSNlbmRpZgorI2luY2x1ZGUgIi4uL21hY2gtZGVmYXVsdC9tYWNoX2FwaWNkZWYuaCIKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLXZpc3dzL3NldHVwX2FyY2guaCBiL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLXZpc3dzL3NldHVwX2FyY2guaAppbmRleCAzM2Y3MDBlLi5mYTQ3NjZjIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvbWFjaC12aXN3cy9zZXR1cF9hcmNoLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L21hY2gtdmlzd3Mvc2V0dXBfYXJjaC5oCkBAIC0xLDggKzEgQEAKLS8qIEhvb2sgdG8gY2FsbCBCSU9TIGluaXRpYWxpc2F0aW9uIGZ1bmN0aW9uICovCi0KLWV4dGVybiB1bnNpZ25lZCBsb25nIHNnaXZ3ZmJfbWVtX3BoeXM7Ci1leHRlcm4gdW5zaWduZWQgbG9uZyBzZ2l2d2ZiX21lbV9zaXplOwotCi0vKiBubyBhY3Rpb24gZm9yIHZpc3dzICovCi0KLSNkZWZpbmUgQVJDSF9TRVRVUAorI2luY2x1ZGUgIi4uL21hY2gtZGVmYXVsdC9zZXR1cF9hcmNoLmgiCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvbWFjaC12aXN3cy9zbXBib290X2hvb2tzLmggYi9pbmNsdWRlL2FzbS14ODYvbWFjaC12aXN3cy9zbXBib290X2hvb2tzLmgKaW5kZXggYzliODNlMy4uZTQ0MzNjYSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L21hY2gtdmlzd3Mvc21wYm9vdF9ob29rcy5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLXZpc3dzL3NtcGJvb3RfaG9va3MuaApAQCAtMSwyOCArMSBAQAotc3RhdGljIGlubGluZSB2b2lkIHNtcGJvb3Rfc2V0dXBfd2FybV9yZXNldF92ZWN0b3IodW5zaWduZWQgbG9uZyBzdGFydF9laXApCi17Ci0JQ01PU19XUklURSgweGEsIDB4Zik7Ci0JbG9jYWxfZmx1c2hfdGxiKCk7Ci0JRHByaW50aygiMS5cbiIpOwotCSooKHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0ICopIFRSQU1QT0xJTkVfSElHSCkgPSBzdGFydF9laXAgPj4gNDsKLQlEcHJpbnRrKCIyLlxuIik7Ci0JKigodm9sYXRpbGUgdW5zaWduZWQgc2hvcnQgKikgVFJBTVBPTElORV9MT1cpID0gc3RhcnRfZWlwICYgMHhmOwotCURwcmludGsoIjMuXG4iKTsKLX0KLQotLyogZm9yIHZpc3dzIGRvIG5vdGhpbmcgZm9yIGFueSBvZiB0aGVzZSAqLwotCi1zdGF0aWMgaW5saW5lIHZvaWQgc21wYm9vdF9jbGVhcl9pb19hcGljX2lycXModm9pZCkKLXsKLX0KLQotc3RhdGljIGlubGluZSB2b2lkIHNtcGJvb3RfcmVzdG9yZV93YXJtX3Jlc2V0X3ZlY3Rvcih2b2lkKQotewotfQotCi1zdGF0aWMgaW5saW5lIHZvaWQgc21wYm9vdF9zZXR1cF9pb19hcGljKHZvaWQpCi17Ci19Ci0KLXN0YXRpYyBpbmxpbmUgdm9pZCBzbXBib290X2NsZWFyX2lvX2FwaWModm9pZCkKLXsKLX0KKyNpbmNsdWRlICIuLi9tYWNoLWRlZmF1bHQvc21wYm9vdF9ob29rcy5oIgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L21hY2gtdm95YWdlci9pcnFfdmVjdG9ycy5oIGIvaW5jbHVkZS9hc20teDg2L21hY2gtdm95YWdlci9pcnFfdmVjdG9ycy5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxNjU0MjFmLi4wMDAwMDAwCi0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLXZveWFnZXIvaXJxX3ZlY3RvcnMuaAorKysgL2Rldi9udWxsCkBAIC0xLDc5ICswLDAgQEAKLS8qIC0qLSBtb2RlOiBjOyBjLWJhc2ljLW9mZnNldDogOCAtKi0gKi8KLQotLyogQ29weXJpZ2h0IChDKSAyMDAyCi0gKgotICogQXV0aG9yOiBKYW1lcy5Cb3R0b21sZXlASGFuc2VuUGFydG5lcnNoaXAuY29tCi0gKgotICogbGludXgvYXJjaC9pMzg2L3ZveWFnZXIvaXJxX3ZlY3RvcnMuaAotICoKLSAqIFRoaXMgZmlsZSBwcm92aWRlcyBkZWZpbml0aW9ucyBmb3IgdGhlIFZJQyBhbmQgUUlDIENQSXMKLSAqLwotCi0jaWZuZGVmIF9BU01fSVJRX1ZFQ1RPUlNfSAotI2RlZmluZSBfQVNNX0lSUV9WRUNUT1JTX0gKLQotLyoKLSAqIElEVCB2ZWN0b3JzIHVzYWJsZSBmb3IgZXh0ZXJuYWwgaW50ZXJydXB0IHNvdXJjZXMgc3RhcnQKLSAqIGF0IDB4MjA6Ci0gKi8KLSNkZWZpbmUgRklSU1RfRVhURVJOQUxfVkVDVE9SCTB4MjAKLQotI2RlZmluZSBTWVNDQUxMX1ZFQ1RPUgkJMHg4MAotCi0vKgotICogVmVjdG9ycyAweDIwLTB4MmYgYXJlIHVzZWQgZm9yIElTQSBpbnRlcnJ1cHRzLgotICovCi0KLS8qIFRoZXNlIGRlZmluZSB0aGUgQ1BJcyB3ZSB1c2UgaW4gbGludXggKi8KLSNkZWZpbmUgVklDX0NQSV9MRVZFTDAJCQkwCi0jZGVmaW5lIFZJQ19DUElfTEVWRUwxCQkJMQotLyogbm93IHRoZSBmYWtlIENQSXMgKi8KLSNkZWZpbmUgVklDX1RJTUVSX0NQSQkJCTIKLSNkZWZpbmUgVklDX0lOVkFMSURBVEVfQ1BJCQkzCi0jZGVmaW5lIFZJQ19SRVNDSEVEVUxFX0NQSQkJNAotI2RlZmluZSBWSUNfRU5BQkxFX0lSUV9DUEkJCTUKLSNkZWZpbmUgVklDX0NBTExfRlVOQ1RJT05fQ1BJCQk2Ci0KLS8qIE5vdyB0aGUgUUlDIENQSXM6ICBTaW5jZSB3ZSBkb24ndCBuZWVkIHRoZSB0d28gaW5pdGlhbCBsZXZlbHMsCi0gKiB0aGVzZSBhcmUgMiBsZXNzIHRoYW4gdGhlIFZJQyBDUElzICovCi0jZGVmaW5lIFFJQ19DUElfT0ZGU0VUCQkJMQotI2RlZmluZSBRSUNfVElNRVJfQ1BJCQkJKFZJQ19USU1FUl9DUEkgLSBRSUNfQ1BJX09GRlNFVCkKLSNkZWZpbmUgUUlDX0lOVkFMSURBVEVfQ1BJCQkoVklDX0lOVkFMSURBVEVfQ1BJIC0gUUlDX0NQSV9PRkZTRVQpCi0jZGVmaW5lIFFJQ19SRVNDSEVEVUxFX0NQSQkJKFZJQ19SRVNDSEVEVUxFX0NQSSAtIFFJQ19DUElfT0ZGU0VUKQotI2RlZmluZSBRSUNfRU5BQkxFX0lSUV9DUEkJCShWSUNfRU5BQkxFX0lSUV9DUEkgLSBRSUNfQ1BJX09GRlNFVCkKLSNkZWZpbmUgUUlDX0NBTExfRlVOQ1RJT05fQ1BJCQkoVklDX0NBTExfRlVOQ1RJT05fQ1BJIC0gUUlDX0NQSV9PRkZTRVQpCi0KLSNkZWZpbmUgVklDX1NUQVJUX0ZBS0VfQ1BJCQlWSUNfVElNRVJfQ1BJCi0jZGVmaW5lIFZJQ19FTkRfRkFLRV9DUEkJCVZJQ19DQUxMX0ZVTkNUSU9OX0NQSQotCi0vKiB0aGlzIGlzIHRoZSBTWVNfSU5UIENQSS4gKi8KLSNkZWZpbmUgVklDX1NZU19JTlQJCQk4Ci0jZGVmaW5lIFZJQ19DTU5fSU5UCQkJMTUKLQotLyogVGhpcyBpcyB0aGUgYm9vdCBDUEkgZm9yIGFsdGVybmF0ZSBwcm9jZXNzb3JzLiAgSXQgZ2V0cyBvdmVyd3JpdHRlbgotICogYnkgdGhlIGFib3ZlIG9uY2UgdGhlIHN5c3RlbSBoYXMgYWN0aXZhdGVkIGFsbCBhdmFpbGFibGUgcHJvY2Vzc29ycyAqLwotI2RlZmluZSBWSUNfQ1BVX0JPT1RfQ1BJCQlWSUNfQ1BJX0xFVkVMMAotI2RlZmluZSBWSUNfQ1BVX0JPT1RfRVJSQVRBX0NQSQkJKFZJQ19DUElfTEVWRUwwICsgOCkKLQotI2RlZmluZSBOUl9WRUNUT1JTIDI1NgotI2RlZmluZSBOUl9JUlFTIDIyNAotI2RlZmluZSBOUl9JUlFfVkVDVE9SUyBOUl9JUlFTCi0KLSNkZWZpbmUgRlBVX0lSUQkJCQkxMwotCi0jZGVmaW5lCUZJUlNUX1ZNODZfSVJRCQkzCi0jZGVmaW5lIExBU1RfVk04Nl9JUlEJCTE1Ci0jZGVmaW5lIGludmFsaWRfdm04Nl9pcnEoaXJxKQkoKGlycSkgPCAzIHx8IChpcnEpID4gMTUpCi0KLSNpZm5kZWYgX19BU1NFTUJMWV9fCi1leHRlcm4gYXNtbGlua2FnZSB2b2lkIHZpY19jcGlfaW50ZXJydXB0KHZvaWQpOwotZXh0ZXJuIGFzbWxpbmthZ2Ugdm9pZCB2aWNfc3lzX2ludGVycnVwdCh2b2lkKTsKLWV4dGVybiBhc21saW5rYWdlIHZvaWQgdmljX2Ntbl9pbnRlcnJ1cHQodm9pZCk7Ci1leHRlcm4gYXNtbGlua2FnZSB2b2lkIHFpY190aW1lcl9pbnRlcnJ1cHQodm9pZCk7Ci1leHRlcm4gYXNtbGlua2FnZSB2b2lkIHFpY19pbnZhbGlkYXRlX2ludGVycnVwdCh2b2lkKTsKLWV4dGVybiBhc21saW5rYWdlIHZvaWQgcWljX3Jlc2NoZWR1bGVfaW50ZXJydXB0KHZvaWQpOwotZXh0ZXJuIGFzbWxpbmthZ2Ugdm9pZCBxaWNfZW5hYmxlX2lycV9pbnRlcnJ1cHQodm9pZCk7Ci1leHRlcm4gYXNtbGlua2FnZSB2b2lkIHFpY19jYWxsX2Z1bmN0aW9uX2ludGVycnVwdCh2b2lkKTsKLSNlbmRpZiAvKiAhX19BU1NFTUJMWV9fICovCi0KLSNlbmRpZiAvKiBfQVNNX0lSUV9WRUNUT1JTX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9tbWNvbmZpZy5oIGIvaW5jbHVkZS9hc20teDg2L21tY29uZmlnLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTViZWRhMAotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9tbWNvbmZpZy5oCkBAIC0wLDAgKzEsMTIgQEAKKyNpZm5kZWYgX0FTTV9NTUNPTkZJR19ICisjZGVmaW5lIF9BU01fTU1DT05GSUdfSAorCisjaWZkZWYgQ09ORklHX1BDSV9NTUNPTkZJRworZXh0ZXJuIHZvaWQgX19jcHVpbml0IGZhbTEwaF9jaGVja19lbmFibGVfbW1jZmcodm9pZCk7CitleHRlcm4gdm9pZCBfX2luaXQgY2hlY2tfZW5hYmxlX2FtZF9tbWNvbmZfZG1pKHZvaWQpOworI2Vsc2UKK3N0YXRpYyBpbmxpbmUgdm9pZCBmYW0xMGhfY2hlY2tfZW5hYmxlX21tY2ZnKHZvaWQpIHsgfQorc3RhdGljIGlubGluZSB2b2lkIGNoZWNrX2VuYWJsZV9hbWRfbW1jb25mX2RtaSh2b2lkKSB7IH0KKyNlbmRpZgorCisjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9tbXVfY29udGV4dC5oIGIvaW5jbHVkZS9hc20teDg2L21tdV9jb250ZXh0LmgKaW5kZXggNjU5ODQ1MC4uZmFjNTcwMSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L21tdV9jb250ZXh0LmgKKysrIGIvaW5jbHVkZS9hc20teDg2L21tdV9jb250ZXh0LmgKQEAgLTEsNSArMSwzNyBAQAorI2lmbmRlZiBfX0FTTV9YODZfTU1VX0NPTlRFWFRfSAorI2RlZmluZSBfX0FTTV9YODZfTU1VX0NPTlRFWFRfSAorCisjaW5jbHVkZSA8YXNtL2Rlc2MuaD4KKyNpbmNsdWRlIDxhc20vYXRvbWljLmg+CisjaW5jbHVkZSA8YXNtL3BnYWxsb2MuaD4KKyNpbmNsdWRlIDxhc20vdGxiZmx1c2guaD4KKyNpbmNsdWRlIDxhc20vcGFyYXZpcnQuaD4KKyNpZm5kZWYgQ09ORklHX1BBUkFWSVJUCisjaW5jbHVkZSA8YXNtLWdlbmVyaWMvbW1faG9va3MuaD4KKworc3RhdGljIGlubGluZSB2b2lkIHBhcmF2aXJ0X2FjdGl2YXRlX21tKHN0cnVjdCBtbV9zdHJ1Y3QgKnByZXYsCisJCQkJCXN0cnVjdCBtbV9zdHJ1Y3QgKm5leHQpCit7Cit9CisjZW5kaWYJLyogIUNPTkZJR19QQVJBVklSVCAqLworCisvKgorICogVXNlZCBmb3IgTERUIGNvcHkvZGVzdHJ1Y3Rpb24uCisgKi8KK2ludCBpbml0X25ld19jb250ZXh0KHN0cnVjdCB0YXNrX3N0cnVjdCAqdHNrLCBzdHJ1Y3QgbW1fc3RydWN0ICptbSk7Cit2b2lkIGRlc3Ryb3lfY29udGV4dChzdHJ1Y3QgbW1fc3RydWN0ICptbSk7CisKICNpZmRlZiBDT05GSUdfWDg2XzMyCiAjIGluY2x1ZGUgIm1tdV9jb250ZXh0XzMyLmgiCiAjZWxzZQogIyBpbmNsdWRlICJtbXVfY29udGV4dF82NC5oIgogI2VuZGlmCisKKyNkZWZpbmUgYWN0aXZhdGVfbW0ocHJldiwgbmV4dCkJCQlcCitkbyB7CQkJCQkJXAorCXBhcmF2aXJ0X2FjdGl2YXRlX21tKChwcmV2KSwgKG5leHQpKTsJXAorCXN3aXRjaF9tbSgocHJldiksIChuZXh0KSwgTlVMTCk7CVwKK30gd2hpbGUgKDApOworCisKKyNlbmRpZiAvKiBfX0FTTV9YODZfTU1VX0NPTlRFWFRfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L21tdV9jb250ZXh0XzMyLmggYi9pbmNsdWRlL2FzbS14ODYvbW11X2NvbnRleHRfMzIuaAppbmRleCA5NzU2YWUwLi44MjRmYzU3IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvbW11X2NvbnRleHRfMzIuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvbW11X2NvbnRleHRfMzIuaApAQCAtMSwyOCArMSw2IEBACiAjaWZuZGVmIF9fSTM4Nl9TQ0hFRF9ICiAjZGVmaW5lIF9fSTM4Nl9TQ0hFRF9ICiAKLSNpbmNsdWRlIDxhc20vZGVzYy5oPgotI2luY2x1ZGUgPGFzbS9hdG9taWMuaD4KLSNpbmNsdWRlIDxhc20vcGdhbGxvYy5oPgotI2luY2x1ZGUgPGFzbS90bGJmbHVzaC5oPgotI2luY2x1ZGUgPGFzbS9wYXJhdmlydC5oPgotI2lmbmRlZiBDT05GSUdfUEFSQVZJUlQKLSNpbmNsdWRlIDxhc20tZ2VuZXJpYy9tbV9ob29rcy5oPgotCi1zdGF0aWMgaW5saW5lIHZvaWQgcGFyYXZpcnRfYWN0aXZhdGVfbW0oc3RydWN0IG1tX3N0cnVjdCAqcHJldiwKLQkJCQkJc3RydWN0IG1tX3N0cnVjdCAqbmV4dCkKLXsKLX0KLSNlbmRpZgkvKiAhQ09ORklHX1BBUkFWSVJUICovCi0KLQotLyoKLSAqIFVzZWQgZm9yIExEVCBjb3B5L2Rlc3RydWN0aW9uLgotICovCi1pbnQgaW5pdF9uZXdfY29udGV4dChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRzaywgc3RydWN0IG1tX3N0cnVjdCAqbW0pOwotdm9pZCBkZXN0cm95X2NvbnRleHQoc3RydWN0IG1tX3N0cnVjdCAqbW0pOwotCi0KIHN0YXRpYyBpbmxpbmUgdm9pZCBlbnRlcl9sYXp5X3RsYihzdHJ1Y3QgbW1fc3RydWN0ICptbSwgc3RydWN0IHRhc2tfc3RydWN0ICp0c2spCiB7CiAjaWZkZWYgQ09ORklHX1NNUApAQCAtNzUsMTAgKzUzLDQgQEAKICNkZWZpbmUgZGVhY3RpdmF0ZV9tbSh0c2ssIG1tKQkJCVwKIAlhc20oIm1vdmwgJTAsJSVncyI6IDoiciIgKDApKTsKIAotI2RlZmluZSBhY3RpdmF0ZV9tbShwcmV2LCBuZXh0KQkJCVwKLWRvIHsJCQkJCQlcCi0JcGFyYXZpcnRfYWN0aXZhdGVfbW0oKHByZXYpLCAobmV4dCkpOwlcCi0Jc3dpdGNoX21tKChwcmV2KSwgKG5leHQpLCBOVUxMKTsJXAotfSB3aGlsZSAoMCk7Ci0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L21tdV9jb250ZXh0XzY0LmggYi9pbmNsdWRlL2FzbS14ODYvbW11X2NvbnRleHRfNjQuaAppbmRleCBjYTQ0YzcxLi5jNzAwMDYzIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvbW11X2NvbnRleHRfNjQuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvbW11X2NvbnRleHRfNjQuaApAQCAtMSwyMSArMSw3IEBACiAjaWZuZGVmIF9fWDg2XzY0X01NVV9DT05URVhUX0gKICNkZWZpbmUgX19YODZfNjRfTU1VX0NPTlRFWFRfSAogCi0jaW5jbHVkZSA8YXNtL2Rlc2MuaD4KLSNpbmNsdWRlIDxhc20vYXRvbWljLmg+Ci0jaW5jbHVkZSA8YXNtL3BnYWxsb2MuaD4KICNpbmNsdWRlIDxhc20vcGRhLmg+Ci0jaW5jbHVkZSA8YXNtL3BndGFibGUuaD4KLSNpbmNsdWRlIDxhc20vdGxiZmx1c2guaD4KLSNpZm5kZWYgQ09ORklHX1BBUkFWSVJUCi0jaW5jbHVkZSA8YXNtLWdlbmVyaWMvbW1faG9va3MuaD4KLSNlbmRpZgotCi0vKgotICogcG9zc2libHkgZG8gdGhlIExEVCB1bmxvYWQgaGVyZT8KLSAqLwotaW50IGluaXRfbmV3X2NvbnRleHQoc3RydWN0IHRhc2tfc3RydWN0ICp0c2ssIHN0cnVjdCBtbV9zdHJ1Y3QgKm1tKTsKLXZvaWQgZGVzdHJveV9jb250ZXh0KHN0cnVjdCBtbV9zdHJ1Y3QgKm1tKTsKIAogc3RhdGljIGlubGluZSB2b2lkIGVudGVyX2xhenlfdGxiKHN0cnVjdCBtbV9zdHJ1Y3QgKm1tLCBzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRzaykKIHsKQEAgLTY1LDggKzUxLDQgQEAKIAlhc20gdm9sYXRpbGUoIm1vdmwgJTAsJSVmcyI6OiJyIigwKSk7CVwKIH0gd2hpbGUgKDApCiAKLSNkZWZpbmUgYWN0aXZhdGVfbW0ocHJldiwgbmV4dCkJCQlcCi0Jc3dpdGNoX21tKChwcmV2KSwgKG5leHQpLCBOVUxMKQotCi0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L21tem9uZV8zMi5oIGIvaW5jbHVkZS9hc20teDg2L21tem9uZV8zMi5oCmluZGV4IGNiMmNhZDAuLmIyMjk4YTIgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9tbXpvbmVfMzIuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvbW16b25lXzMyLmgKQEAgLTEyLDExICsxMiw5IEBACiBleHRlcm4gc3RydWN0IHBnbGlzdF9kYXRhICpub2RlX2RhdGFbXTsKICNkZWZpbmUgTk9ERV9EQVRBKG5pZCkJKG5vZGVfZGF0YVtuaWRdKQogCi0jaWZkZWYgQ09ORklHX1g4Nl9OVU1BUQotCSNpbmNsdWRlIDxhc20vbnVtYXEuaD4KLSNlbGlmIGRlZmluZWQoQ09ORklHX0FDUElfU1JBVCkvKiBzdW1taXQgb3IgZ2VuZXJpYyBhcmNoICovCi0JI2luY2x1ZGUgPGFzbS9zcmF0Lmg+Ci0jZW5kaWYKKyNpbmNsdWRlIDxhc20vbnVtYXEuaD4KKy8qIHN1bW1pdCBvciBnZW5lcmljIGFyY2ggKi8KKyNpbmNsdWRlIDxhc20vc3JhdC5oPgogCiBleHRlcm4gaW50IGdldF9tZW1jZmdfbnVtYV9mbGF0KHZvaWQpOwogLyoKQEAgLTI2LDI4ICsyNCwyMCBAQAogICovCiBzdGF0aWMgaW5saW5lIHZvaWQgZ2V0X21lbWNmZ19udW1hKHZvaWQpCiB7Ci0jaWZkZWYgQ09ORklHX1g4Nl9OVU1BUQorCiAJaWYgKGdldF9tZW1jZmdfbnVtYXEoKSkKIAkJcmV0dXJuOwotI2VsaWYgZGVmaW5lZChDT05GSUdfQUNQSV9TUkFUKQogCWlmIChnZXRfbWVtY2ZnX2Zyb21fc3JhdCgpKQogCQlyZXR1cm47Ci0jZW5kaWYKLQogCWdldF9tZW1jZmdfbnVtYV9mbGF0KCk7CiB9CiAKIGV4dGVybiBpbnQgZWFybHlfcGZuX3RvX25pZCh1bnNpZ25lZCBsb25nIHBmbik7Ci1leHRlcm4gdm9pZCBudW1hX2t2YV9yZXNlcnZlKHZvaWQpOwogCiAjZWxzZSAvKiAhQ09ORklHX05VTUEgKi8KIAogI2RlZmluZSBnZXRfbWVtY2ZnX251bWEgZ2V0X21lbWNmZ19udW1hX2ZsYXQKLSNkZWZpbmUgZ2V0X3pob2xlc19zaXplKG4pICgwKQogCi1zdGF0aWMgaW5saW5lIHZvaWQgbnVtYV9rdmFfcmVzZXJ2ZSh2b2lkKQotewotfQogI2VuZGlmIC8qIENPTkZJR19OVU1BICovCiAKICNpZmRlZiBDT05GSUdfRElTQ09OVElHTUVNCkBAIC01NSwxNCArNDUsMTQgQEAKIC8qCiAgKiBnZW5lcmljIG5vZGUgbWVtb3J5IHN1cHBvcnQsIHRoZSBmb2xsb3dpbmcgYXNzdW1wdGlvbnMgYXBwbHk6CiAgKgotICogMSkgbWVtb3J5IGNvbWVzIGluIDI1Nk1iIGNvbnRpZ2lvdXMgY2h1bmtzIHdoaWNoIGFyZSBlaXRoZXIgcHJlc2VudCBvciBub3QKKyAqIDEpIG1lbW9yeSBjb21lcyBpbiA2NE1iIGNvbnRpZ2lvdXMgY2h1bmtzIHdoaWNoIGFyZSBlaXRoZXIgcHJlc2VudCBvciBub3QKICAqIDIpIHdlIHdpbGwgbm90IGhhdmUgbW9yZSB0aGFuIDY0R2IgaW4gdG90YWwKICAqCiAgKiBmb3Igbm93IGFzc3VtZSB0aGF0IDY0R2IgaXMgbWF4IGFtb3VudCBvZiBSQU0gZm9yIHdob2xlIHN5c3RlbQogICogICAgNjRHYiAvIDQwOTZieXRlcy9wYWdlID0gMTY3NzcyMTYgcGFnZXMKICAqLwogI2RlZmluZSBNQVhfTlJfUEFHRVMgMTY3NzcyMTYKLSNkZWZpbmUgTUFYX0VMRU1FTlRTIDI1NgorI2RlZmluZSBNQVhfRUxFTUVOVFMgMTAyNAogI2RlZmluZSBQQUdFU19QRVJfRUxFTUVOVCAoTUFYX05SX1BBR0VTL01BWF9FTEVNRU5UUykKIAogZXh0ZXJuIHM4IHBoeXNub2RlX21hcFtdOwpAQCAtODcsOSArNzcsNiBAQAogCV9fcGdkYXQtPm5vZGVfc3RhcnRfcGZuICsgX19wZ2RhdC0+bm9kZV9zcGFubmVkX3BhZ2VzOwkJXAogfSkKIAotI2lmZGVmIENPTkZJR19YODZfTlVNQVEgICAgICAgICAgICAvKiB3ZSBoYXZlIGNvbnRpZ3VvdXMgbWVtb3J5IG9uIE5VTUEtUSAqLwotI2RlZmluZSBwZm5fdmFsaWQocGZuKSAgICAgICAgICAoKHBmbikgPCBudW1fcGh5c3BhZ2VzKQotI2Vsc2UKIHN0YXRpYyBpbmxpbmUgaW50IHBmbl92YWxpZChpbnQgcGZuKQogewogCWludCBuaWQgPSBwZm5fdG9fbmlkKHBmbik7CkBAIC05OCw3ICs4NSw2IEBACiAJCXJldHVybiAocGZuIDwgbm9kZV9lbmRfcGZuKG5pZCkpOwogCXJldHVybiAwOwogfQotI2VuZGlmIC8qIENPTkZJR19YODZfTlVNQVEgKi8KIAogI2VuZGlmIC8qIENPTkZJR19ESVNDT05USUdNRU0gKi8KIApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L21wc3BlYy5oIGIvaW5jbHVkZS9hc20teDg2L21wc3BlYy5oCmluZGV4IDU3YTk5MWIuLmI2OTk1ZTUgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9tcHNwZWMuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvbXBzcGVjLmgKQEAgLTEzLDYgKzEzLDEyIEBACiBleHRlcm4gdTggYXBpY2lkXzJfbm9kZVtdOwogZXh0ZXJuIGludCBwaWNfbW9kZTsKIAorI2lmZGVmIENPTkZJR19YODZfTlVNQVEKK2V4dGVybiBpbnQgbXBfYnVzX2lkX3RvX25vZGVbTUFYX01QX0JVU1NFU107CitleHRlcm4gaW50IG1wX2J1c19pZF90b19sb2NhbFtNQVhfTVBfQlVTU0VTXTsKK2V4dGVybiBpbnQgcXVhZF9sb2NhbF90b19tcF9idXNfaWQgW05SX0NQVVMvNF1bNF07CisjZW5kaWYKKwogI2RlZmluZSBNQVhfQVBJQ0lEIDI1NgogCiAjZWxzZQpAQCAtMjEsMjYgKzI3LDMwIEBACiAvKiBFYWNoIFBDSSBzbG90IG1heSBiZSBhIGNvbWJvIGNhcmQgd2l0aCBpdHMgb3duIGJ1cy4gIDQgSVJRIHBpbnMgcGVyIHNsb3QuICovCiAjZGVmaW5lIE1BWF9JUlFfU09VUkNFUyAoTUFYX01QX0JVU1NFUyAqIDQpCiAKKyNlbmRpZgorCiBleHRlcm4gdm9pZCBlYXJseV9maW5kX3NtcF9jb25maWcodm9pZCk7CiBleHRlcm4gdm9pZCBlYXJseV9nZXRfc21wX2NvbmZpZyh2b2lkKTsKIAotI2VuZGlmCi0KICNpZiBkZWZpbmVkKENPTkZJR19NQ0EpIHx8IGRlZmluZWQoQ09ORklHX0VJU0EpCiBleHRlcm4gaW50IG1wX2J1c19pZF90b190eXBlW01BWF9NUF9CVVNTRVNdOwogI2VuZGlmCiAKIGV4dGVybiBERUNMQVJFX0JJVE1BUChtcF9idXNfbm90X3BjaSwgTUFYX01QX0JVU1NFUyk7CiAKLWV4dGVybiBpbnQgbXBfYnVzX2lkX3RvX3BjaV9idXNbTUFYX01QX0JVU1NFU107Ci0KIGV4dGVybiB1bnNpZ25lZCBpbnQgYm9vdF9jcHVfcGh5c2ljYWxfYXBpY2lkOworZXh0ZXJuIHVuc2lnbmVkIGludCBtYXhfcGh5c2ljYWxfYXBpY2lkOwogZXh0ZXJuIGludCBzbXBfZm91bmRfY29uZmlnOwogZXh0ZXJuIGludCBtcGNfZGVmYXVsdF90eXBlOwogZXh0ZXJuIHVuc2lnbmVkIGxvbmcgbXBfbGFwaWNfYWRkcjsKIAogZXh0ZXJuIHZvaWQgZmluZF9zbXBfY29uZmlnKHZvaWQpOwogZXh0ZXJuIHZvaWQgZ2V0X3NtcF9jb25maWcodm9pZCk7CisjaWZkZWYgQ09ORklHX1g4Nl9NUFBBUlNFCitleHRlcm4gdm9pZCBlYXJseV9yZXNlcnZlX2U4MjBfbXBjX25ldyh2b2lkKTsKKyNlbHNlCitzdGF0aWMgaW5saW5lIHZvaWQgZWFybHlfcmVzZXJ2ZV9lODIwX21wY19uZXcodm9pZCkgeyB9CisjZW5kaWYKIAogdm9pZCBfX2NwdWluaXQgZ2VuZXJpY19wcm9jZXNzb3JfaW5mbyhpbnQgYXBpY2lkLCBpbnQgdmVyc2lvbik7CiAjaWZkZWYgQ09ORklHX0FDUEkKQEAgLTQ5LDYgKzU5LDE3IEBACiAJCQkJICAgdTMyIGdzaSk7CiBleHRlcm4gdm9pZCBtcF9jb25maWdfYWNwaV9sZWdhY3lfaXJxcyh2b2lkKTsKIGV4dGVybiBpbnQgbXBfcmVnaXN0ZXJfZ3NpKHUzMiBnc2ksIGludCBlZGdlX2xldmVsLCBpbnQgYWN0aXZlX2hpZ2hfbG93KTsKKyNpZmRlZiBDT05GSUdfWDg2X0lPX0FQSUMKK2V4dGVybiBpbnQgbXBfY29uZmlnX2FjcGlfZ3NpKHVuc2lnbmVkIGNoYXIgbnVtYmVyLCB1bnNpZ25lZCBpbnQgZGV2Zm4sIHU4IHBpbiwKKwkJCQl1MzIgZ3NpLCBpbnQgdHJpZ2dlcmluZywgaW50IHBvbGFyaXR5KTsKKyNlbHNlCitzdGF0aWMgaW5saW5lIGludAorbXBfY29uZmlnX2FjcGlfZ3NpKHVuc2lnbmVkIGNoYXIgbnVtYmVyLCB1bnNpZ25lZCBpbnQgZGV2Zm4sIHU4IHBpbiwKKwkJICAgdTMyIGdzaSwgaW50IHRyaWdnZXJpbmcsIGludCBwb2xhcml0eSkKK3sKKwlyZXR1cm4gMDsKK30KKyNlbmRpZgogI2VuZGlmIC8qIENPTkZJR19BQ1BJICovCiAKICNkZWZpbmUgUEhZU0lEX0FSUkFZX1NJWkUJQklUU19UT19MT05HUyhNQVhfQVBJQ1MpCkBAIC0xMDEsNiArMTIyLDcgQEAKIAkJX19waHlzaWRfbWFzazsJCQkJCQlcCiAJfSkKIAorLyogTm90ZTogd2lsbCBjcmVhdGUgdmVyeSBsYXJnZSBzdGFjayBmcmFtZXMgaWYgcGh5c2lkX21hc2tfdCBpcyBiaWcgKi8KICNkZWZpbmUgcGh5c2lkX21hc2tfb2ZfcGh5c2lkKHBoeXNpZCkJCQkJCVwKIAkoewkJCQkJCQkJXAogCQlwaHlzaWRfbWFza190IF9fcGh5c2lkX21hc2sgPSBQSFlTSURfTUFTS19OT05FOwkJXApAQCAtMTA4LDYgKzEzMCwxMiBAQAogCQlfX3BoeXNpZF9tYXNrOwkJCQkJCVwKIAl9KQogCitzdGF0aWMgaW5saW5lIHZvaWQgcGh5c2lkX3NldF9tYXNrX29mX3BoeXNpZChpbnQgcGh5c2lkLCBwaHlzaWRfbWFza190ICptYXApCit7CisJcGh5c2lkc19jbGVhcigqbWFwKTsKKwlwaHlzaWRfc2V0KHBoeXNpZCwgKm1hcCk7Cit9CisKICNkZWZpbmUgUEhZU0lEX01BU0tfQUxMCQl7IHtbMCAuLi4gUEhZU0lEX0FSUkFZX1NJWkUtMV0gPSB+MFVMfSB9CiAjZGVmaW5lIFBIWVNJRF9NQVNLX05PTkUJeyB7WzAgLi4uIFBIWVNJRF9BUlJBWV9TSVpFLTFdID0gMFVMfSB9CiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9tcHNwZWNfZGVmLmggYi9pbmNsdWRlL2FzbS14ODYvbXBzcGVjX2RlZi5oCmluZGV4IGRjNmVmODUuLjM4ZDFlNzMgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9tcHNwZWNfZGVmLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L21wc3BlY19kZWYuaApAQCAtMTcsMTAgKzE3LDExIEBACiAjIGRlZmluZSBNQVhfTVBDX0VOVFJZIDEwMjQKICMgZGVmaW5lIE1BWF9BUElDUyAgICAgIDI1NgogI2Vsc2UKLS8qCi0gKiBBIG1heGltdW0gb2YgMjU1IEFQSUNzIHdpdGggdGhlIGN1cnJlbnQgQVBJQyBJRCBhcmNoaXRlY3R1cmUuCi0gKi8KLSMgZGVmaW5lIE1BWF9BUElDUyAyNTUKKyMgaWYgTlJfQ1BVUyA8PSAyNTUKKyMgIGRlZmluZSBNQVhfQVBJQ1MgICAgIDI1NQorIyBlbHNlCisjICBkZWZpbmUgTUFYX0FQSUNTICAgMzI3NjgKKyMgZW5kaWYKICNlbmRpZgogCiBzdHJ1Y3QgaW50ZWxfbXBfZmxvYXRpbmcgewpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L21zci1pbmRleC5oIGIvaW5jbHVkZS9hc20teDg2L21zci1pbmRleC5oCmluZGV4IDA5NDEzYWQuLjQ0YmNlNzcgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9tc3ItaW5kZXguaAorKysgYi9pbmNsdWRlL2FzbS14ODYvbXNyLWluZGV4LmgKQEAgLTExMSw3ICsxMTEsOSBAQAogI2RlZmluZSBNU1JfSzhfVE9QX01FTTIJCQkweGMwMDEwMDFkCiAjZGVmaW5lIE1TUl9LOF9TWVNDRkcJCQkweGMwMDEwMDEwCiAjZGVmaW5lIE1TUl9LOF9IV0NSCQkJMHhjMDAxMDAxNQotI2RlZmluZSBNU1JfSzhfRU5BQkxFX0MxRQkJMHhjMDAxMDA1NQorI2RlZmluZSBNU1JfSzhfSU5UX1BFTkRJTkdfTVNHCQkweGMwMDEwMDU1CisvKiBDMUUgYWN0aXZlIGJpdHMgaW4gaW50IHBlbmRpbmcgbWVzc2FnZSAqLworI2RlZmluZSBLOF9JTlRQX0MxRV9BQ1RJVkVfTUFTSwkJMHgxODAwMDAwMAogI2RlZmluZSBNU1JfSzhfVFNFR19BRERSCQkweGMwMDEwMTEyCiAjZGVmaW5lIEs4X01UUlJGSVhSQU5HRV9EUkFNX0VOQUJMRQkweDAwMDQwMDAwIC8qIE10cnJGaXhEcmFtRW4gYml0ICAgICovCiAjZGVmaW5lIEs4X01UUlJGSVhSQU5HRV9EUkFNX01PRElGWQkweDAwMDgwMDAwIC8qIE10cnJGaXhEcmFtTW9kRW4gYml0ICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvbXNyLmggYi9pbmNsdWRlL2FzbS14ODYvbXNyLmgKaW5kZXggMmI1ZjJjOS4uY2ExMTBlZSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L21zci5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9tc3IuaApAQCAtNjYsNyArNjYsNyBAQAogc3RhdGljIGlubGluZSB2b2lkIG5hdGl2ZV93cml0ZV9tc3IodW5zaWduZWQgaW50IG1zciwKIAkJCQkgICAgdW5zaWduZWQgbG93LCB1bnNpZ25lZCBoaWdoKQogewotCWFzbSB2b2xhdGlsZSgid3Jtc3IiIDogOiAiYyIgKG1zciksICJhIihsb3cpLCAiZCIgKGhpZ2gpKTsKKwlhc20gdm9sYXRpbGUoIndybXNyIiA6IDogImMiIChtc3IpLCAiYSIobG93KSwgImQiIChoaWdoKSA6ICJtZW1vcnkiKTsKIH0KIAogc3RhdGljIGlubGluZSBpbnQgbmF0aXZlX3dyaXRlX21zcl9zYWZlKHVuc2lnbmVkIGludCBtc3IsCkBAIC04MSw3ICs4MSw4IEBACiAJCSAgICAgX0FTTV9FWFRBQkxFKDJiLCAzYikKIAkJICAgICA6ICI9YSIgKGVycikKIAkJICAgICA6ICJjIiAobXNyKSwgIjAiIChsb3cpLCAiZCIgKGhpZ2gpLAotCQkgICAgICJpIiAoLUVGQVVMVCkpOworCQkgICAgICAgImkiICgtRUZBVUxUKQorCQkgICAgIDogIm1lbW9yeSIpOwogCXJldHVybiBlcnI7CiB9CiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9ubWkuaCBiL2luY2x1ZGUvYXNtLXg4Ni9ubWkuaAppbmRleCAxZTM2MzAyLi4yMWY4ZDAyIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvbm1pLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L25taS5oCkBAIC0xNSwzOCArMTUsMTMgQEAKICAqLwogaW50IGRvX25taV9jYWxsYmFjayhzdHJ1Y3QgcHRfcmVncyAqcmVncywgaW50IGNwdSk7CiAKLSNpZmRlZiBDT05GSUdfUE0KLQotLyoqIFJlcGxhY2UgdGhlIFBNIGNhbGxiYWNrIHJvdXRpbmUgZm9yIE5NSS4gKi8KLXN0cnVjdCBwbV9kZXYgKnNldF9ubWlfcG1fY2FsbGJhY2socG1fY2FsbGJhY2sgY2FsbGJhY2spOwotCi0vKiogVW5zZXQgdGhlIFBNIGNhbGxiYWNrIHJvdXRpbmUgYmFjayB0byB0aGUgZGVmYXVsdC4gKi8KLXZvaWQgdW5zZXRfbm1pX3BtX2NhbGxiYWNrKHN0cnVjdCBwbV9kZXYgKmRldik7Ci0KLSNlbHNlCi0KLXN0YXRpYyBpbmxpbmUgc3RydWN0IHBtX2RldiAqc2V0X25taV9wbV9jYWxsYmFjayhwbV9jYWxsYmFjayBjYWxsYmFjaykKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGlubGluZSB2b2lkIHVuc2V0X25taV9wbV9jYWxsYmFjayhzdHJ1Y3QgcG1fZGV2ICpkZXYpCi17Ci19Ci0KLSNlbmRpZiAvKiBDT05GSUdfUE0gKi8KLQogI2lmZGVmIENPTkZJR19YODZfNjQKIGV4dGVybiB2b2lkIGRlZmF1bHRfZG9fbm1pKHN0cnVjdCBwdF9yZWdzICopOwotZXh0ZXJuIHZvaWQgZGllX25taShjaGFyICpzdHIsIHN0cnVjdCBwdF9yZWdzICpyZWdzLCBpbnQgZG9fcGFuaWMpOwotZXh0ZXJuIHZvaWQgbm1pX3dhdGNoZG9nX2RlZmF1bHQodm9pZCk7Ci0jZWxzZQotI2RlZmluZSBubWlfd2F0Y2hkb2dfZGVmYXVsdCgpIGRvIHt9IHdoaWxlICgwKQogI2VuZGlmCiAKK2V4dGVybiB2b2lkIGRpZV9ubWkoY2hhciAqc3RyLCBzdHJ1Y3QgcHRfcmVncyAqcmVncywgaW50IGRvX3BhbmljKTsKIGV4dGVybiBpbnQgY2hlY2tfbm1pX3dhdGNoZG9nKHZvaWQpOwogZXh0ZXJuIGludCBubWlfd2F0Y2hkb2dfZW5hYmxlZDsKLWV4dGVybiBpbnQgdW5rbm93bl9ubWlfcGFuaWM7CiBleHRlcm4gaW50IGF2YWlsX3RvX3Jlc3J2X3BlcmZjdHJfbm1pX2JpdCh1bnNpZ25lZCBpbnQpOwogZXh0ZXJuIGludCBhdmFpbF90b19yZXNydl9wZXJmY3RyX25taSh1bnNpZ25lZCBpbnQpOwogZXh0ZXJuIGludCByZXNlcnZlX3BlcmZjdHJfbm1pKHVuc2lnbmVkIGludCk7CkBAIC02MiwxMiArMzcsMTAgQEAKIAogZXh0ZXJuIGF0b21pY190IG5taV9hY3RpdmU7CiBleHRlcm4gdW5zaWduZWQgaW50IG5taV93YXRjaGRvZzsKLSNkZWZpbmUgTk1JX0RJU0FCTEVEICAgIC0xCiAjZGVmaW5lIE5NSV9OT05FCTAKICNkZWZpbmUgTk1JX0lPX0FQSUMJMQogI2RlZmluZSBOTUlfTE9DQUxfQVBJQwkyCiAjZGVmaW5lIE5NSV9JTlZBTElECTMKLSNkZWZpbmUgTk1JX0RFRkFVTFQJTk1JX0RJU0FCTEVECiAKIHN0cnVjdCBjdGxfdGFibGU7CiBzdHJ1Y3QgZmlsZTsKQEAgLTc4LDYgKzUxLDI0IEBACiB2b2lkIF9fdHJpZ2dlcl9hbGxfY3B1X2JhY2t0cmFjZSh2b2lkKTsKICNkZWZpbmUgdHJpZ2dlcl9hbGxfY3B1X2JhY2t0cmFjZSgpIF9fdHJpZ2dlcl9hbGxfY3B1X2JhY2t0cmFjZSgpCiAKK3N0YXRpYyBpbmxpbmUgdm9pZCBsb2NhbGlzZV9ubWlfd2F0Y2hkb2codm9pZCkKK3sKKwlpZiAobm1pX3dhdGNoZG9nID09IE5NSV9JT19BUElDKQorCQlubWlfd2F0Y2hkb2cgPSBOTUlfTE9DQUxfQVBJQzsKK30KKworLyogY2hlY2sgaWYgbm1pX3dhdGNoZG9nIGlzIGFjdGl2ZSAoaWUgd2FzIHNwZWNpZmllZCBhdCBib290KSAqLworc3RhdGljIGlubGluZSBpbnQgbm1pX3dhdGNoZG9nX2FjdGl2ZSh2b2lkKQoreworCS8qCisJICogYWN0dWFsbHkgaXQgc2hvdWxkIGJlOgorCSAqIAlyZXR1cm4gKG5taV93YXRjaGRvZyA9PSBOTUlfTE9DQUxfQVBJQyB8fAorCSAqIAkJbm1pX3dhdGNoZG9nID09IE5NSV9JT19BUElDKQorCSAqIGJ1dCBzaW5jZSB0aGV5IGFyZSBwb3dlciBvZiB0d28gd2UgY291bGQgdXNlIGEKKwkgKiBjaGVhcGVyIHdheSAtLWN2ZworCSAqLworCXJldHVybiBubWlfd2F0Y2hkb2cgJiAweDM7Cit9CiAjZW5kaWYKIAogdm9pZCBsYXBpY193YXRjaGRvZ19zdG9wKHZvaWQpOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L251bWFfMzIuaCBiL2luY2x1ZGUvYXNtLXg4Ni9udW1hXzMyLmgKaW5kZXggMDNkMGY3YS4uMjIwZDdiNyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L251bWFfMzIuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvbnVtYV8zMi5oCkBAIC0yLDE0ICsyLDEwIEBACiAjZGVmaW5lIF9BU01fWDg2XzMyX05VTUFfSCAxCiAKIGV4dGVybiBpbnQgcHhtX3RvX25pZChpbnQgcHhtKTsKK2V4dGVybiB2b2lkIG51bWFfcmVtb3ZlX2NwdShpbnQgY3B1KTsKIAogI2lmZGVmIENPTkZJR19OVU1BCi1leHRlcm4gdm9pZCBfX2luaXQgcmVtYXBfbnVtYV9rdmEodm9pZCk7Ci1leHRlcm4gdm9pZCBzZXRfaGlnaG1lbV9wYWdlc19pbml0KGludCk7Ci0jZWxzZQotc3RhdGljIGlubGluZSB2b2lkIHJlbWFwX251bWFfa3ZhKHZvaWQpCi17Ci19CitleHRlcm4gdm9pZCBzZXRfaGlnaG1lbV9wYWdlc19pbml0KHZvaWQpOwogI2VuZGlmCiAKICNlbmRpZiAvKiBfQVNNX1g4Nl8zMl9OVU1BX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9udW1hXzY0LmggYi9pbmNsdWRlL2FzbS14ODYvbnVtYV82NC5oCmluZGV4IDIyZTg3YzkuLjM4MzAwOTQgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9udW1hXzY0LmgKKysrIGIvaW5jbHVkZS9hc20teDg2L251bWFfNjQuaApAQCAtMTQsMzIgKzE0LDMwIEBACiAKICNkZWZpbmUgWk9ORV9BTElHTiAoMVVMIDw8IChNQVhfT1JERVIrUEFHRV9TSElGVCkpCiAKLWV4dGVybiB2b2lkIG51bWFfYWRkX2NwdShpbnQgY3B1KTsKIGV4dGVybiB2b2lkIG51bWFfaW5pdF9hcnJheSh2b2lkKTsKIGV4dGVybiBpbnQgbnVtYV9vZmY7CiAKLWV4dGVybiB2b2lkIG51bWFfc2V0X25vZGUoaW50IGNwdSwgaW50IG5vZGUpOwogZXh0ZXJuIHZvaWQgc3JhdF9yZXNlcnZlX2FkZF9hcmVhKGludCBub2RlaWQpOwogZXh0ZXJuIGludCBob3RhZGRfcGVyY2VudDsKIAogZXh0ZXJuIHMxNiBhcGljaWRfdG9fbm9kZVtNQVhfTE9DQUxfQVBJQ107CiAKLWV4dGVybiB2b2lkIG51bWFfaW5pdG1lbV9pbml0KHVuc2lnbmVkIGxvbmcgc3RhcnRfcGZuLCB1bnNpZ25lZCBsb25nIGVuZF9wZm4pOwogZXh0ZXJuIHVuc2lnbmVkIGxvbmcgbnVtYV9mcmVlX2FsbF9ib290bWVtKHZvaWQpOwogZXh0ZXJuIHZvaWQgc2V0dXBfbm9kZV9ib290bWVtKGludCBub2RlaWQsIHVuc2lnbmVkIGxvbmcgc3RhcnQsCiAJCQkgICAgICAgdW5zaWduZWQgbG9uZyBlbmQpOwogCiAjaWZkZWYgQ09ORklHX05VTUEKIGV4dGVybiB2b2lkIF9faW5pdCBpbml0X2NwdV90b19ub2RlKHZvaWQpOwotCi1zdGF0aWMgaW5saW5lIHZvaWQgY2xlYXJfbm9kZV9jcHVtYXNrKGludCBjcHUpCi17Ci0JY2xlYXJfYml0KGNwdSwgKHVuc2lnbmVkIGxvbmcgKikmbm9kZV90b19jcHVtYXNrX21hcFtjcHVfdG9fbm9kZShjcHUpXSk7Ci19Ci0KK2V4dGVybiB2b2lkIF9fY3B1aW5pdCBudW1hX3NldF9ub2RlKGludCBjcHUsIGludCBub2RlKTsKK2V4dGVybiB2b2lkIF9fY3B1aW5pdCBudW1hX2NsZWFyX25vZGUoaW50IGNwdSk7CitleHRlcm4gdm9pZCBfX2NwdWluaXQgbnVtYV9hZGRfY3B1KGludCBjcHUpOworZXh0ZXJuIHZvaWQgX19jcHVpbml0IG51bWFfcmVtb3ZlX2NwdShpbnQgY3B1KTsKICNlbHNlCi0jZGVmaW5lIGluaXRfY3B1X3RvX25vZGUoKSBkbyB7fSB3aGlsZSAoMCkKLSNkZWZpbmUgY2xlYXJfbm9kZV9jcHVtYXNrKGNwdSkgZG8ge30gd2hpbGUgKDApCitzdGF0aWMgaW5saW5lIHZvaWQgaW5pdF9jcHVfdG9fbm9kZSh2b2lkKQkJeyB9CitzdGF0aWMgaW5saW5lIHZvaWQgbnVtYV9zZXRfbm9kZShpbnQgY3B1LCBpbnQgbm9kZSkJeyB9CitzdGF0aWMgaW5saW5lIHZvaWQgbnVtYV9jbGVhcl9ub2RlKGludCBjcHUpCQl7IH0KK3N0YXRpYyBpbmxpbmUgdm9pZCBudW1hX2FkZF9jcHUoaW50IGNwdSwgaW50IG5vZGUpCXsgfQorc3RhdGljIGlubGluZSB2b2lkIG51bWFfcmVtb3ZlX2NwdShpbnQgY3B1KQkJeyB9CiAjZW5kaWYKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvbnVtYXEuaCBiL2luY2x1ZGUvYXNtLXg4Ni9udW1hcS5oCmluZGV4IDk0Yjg2YzMuLjM0YjkyZDUgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9udW1hcS5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9udW1hcS5oCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpZmRlZiBDT05GSUdfWDg2X05VTUFRCiAKK2V4dGVybiBpbnQgZm91bmRfbnVtYXE7CiBleHRlcm4gaW50IGdldF9tZW1jZmdfbnVtYXEodm9pZCk7CiAKIC8qCkBAIC0xNTYsOSArMTU3LDEyIEBACiAJc3RydWN0CQllYWNocXVhZG1lbSBlcVtNQVhfTlVNTk9ERVNdOwkvKiBpbmRleGVkIGJ5IHF1YWQgaWQgKi8KIH07CiAKLXN0YXRpYyBpbmxpbmUgdW5zaWduZWQgbG9uZyAqZ2V0X3pob2xlc19zaXplKGludCBuaWQpCit2b2lkIG51bWFxX3RzY19kaXNhYmxlKHZvaWQpOworCisjZWxzZQorc3RhdGljIGlubGluZSBpbnQgZ2V0X21lbWNmZ19udW1hcSh2b2lkKQogewotCXJldHVybiBOVUxMOworCXJldHVybiAwOwogfQogI2VuZGlmIC8qIENPTkZJR19YODZfTlVNQVEgKi8KICNlbmRpZiAvKiBOVU1BUV9IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvcGFnZS5oIGIvaW5jbHVkZS9hc20teDg2L3BhZ2UuaAppbmRleCBkYzkzNmRkLi4yOGQ3YjQ1IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvcGFnZS5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9wYWdlLmgKQEAgLTUxLDkgKzUxLDE3IEBACiAKICNpZm5kZWYgX19BU1NFTUJMWV9fCiAKK3R5cGVkZWYgc3RydWN0IHsgcGdkdmFsX3QgcGdkOyB9IHBnZF90OwordHlwZWRlZiBzdHJ1Y3QgeyBwZ3Byb3R2YWxfdCBwZ3Byb3Q7IH0gcGdwcm90X3Q7CisKIGV4dGVybiBpbnQgcGFnZV9pc19yYW0odW5zaWduZWQgbG9uZyBwYWdlbnIpOwogZXh0ZXJuIGludCBkZXZtZW1faXNfYWxsb3dlZCh1bnNpZ25lZCBsb25nIHBhZ2Vucik7CitleHRlcm4gdm9pZCBtYXBfZGV2bWVtKHVuc2lnbmVkIGxvbmcgcGZuLCB1bnNpZ25lZCBsb25nIHNpemUsCisJCSAgICAgICBwZ3Byb3RfdCB2bWFfcHJvdCk7CitleHRlcm4gdm9pZCB1bm1hcF9kZXZtZW0odW5zaWduZWQgbG9uZyBwZm4sIHVuc2lnbmVkIGxvbmcgc2l6ZSwKKwkJCSBwZ3Byb3RfdCB2bWFfcHJvdCk7CiAKK2V4dGVybiB1bnNpZ25lZCBsb25nIG1heF9sb3dfcGZuX21hcHBlZDsKIGV4dGVybiB1bnNpZ25lZCBsb25nIG1heF9wZm5fbWFwcGVkOwogCiBzdHJ1Y3QgcGFnZTsKQEAgLTc0LDkgKzgyLDYgQEAKIAlhbGxvY19wYWdlX3ZtYShHRlBfSElHSFVTRVIgfCBfX0dGUF9aRVJPIHwgbW92YWJsZWZsYWdzLCB2bWEsIHZhZGRyKQogI2RlZmluZSBfX0hBVkVfQVJDSF9BTExPQ19aRVJPRURfVVNFUl9ISUdIUEFHRQogCi10eXBlZGVmIHN0cnVjdCB7IHBnZHZhbF90IHBnZDsgfSBwZ2RfdDsKLXR5cGVkZWYgc3RydWN0IHsgcGdwcm90dmFsX3QgcGdwcm90OyB9IHBncHJvdF90OwotCiBzdGF0aWMgaW5saW5lIHBnZF90IG5hdGl2ZV9tYWtlX3BnZChwZ2R2YWxfdCB2YWwpCiB7CiAJcmV0dXJuIChwZ2RfdCkgeyB2YWwgfTsKQEAgLTE2MCw2ICsxNjUsNyBAQAogI2VuZGlmCiAKICNkZWZpbmUgcHRlX3ZhbCh4KQluYXRpdmVfcHRlX3ZhbCh4KQorI2RlZmluZSBwdGVfZmxhZ3MoeCkJbmF0aXZlX3B0ZV92YWwoeCkKICNkZWZpbmUgX19wdGUoeCkJbmF0aXZlX21ha2VfcHRlKHgpCiAKICNlbmRpZgkvKiBDT05GSUdfUEFSQVZJUlQgKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9wYWdlXzMyLmggYi9pbmNsdWRlL2FzbS14ODYvcGFnZV8zMi5oCmluZGV4IGNjZjBiYTMuLmFiODUyODcgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9wYWdlXzMyLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L3BhZ2VfMzIuaApAQCAtMTMsNiArMTMsMTQgQEAKICAqLwogI2RlZmluZSBfX1BBR0VfT0ZGU0VUCQlfQUMoQ09ORklHX1BBR0VfT0ZGU0VULCBVTCkKIAorI2lmZGVmIENPTkZJR180S1NUQUNLUworI2RlZmluZSBUSFJFQURfT1JERVIJMAorI2Vsc2UKKyNkZWZpbmUgVEhSRUFEX09SREVSCTEKKyNlbmRpZgorI2RlZmluZSBUSFJFQURfU0laRSAJKFBBR0VfU0laRSA8PCBUSFJFQURfT1JERVIpCisKKwogI2lmZGVmIENPTkZJR19YODZfUEFFCiAvKiA0ND0zMisxMiwgdGhlIGxpbWl0IHdlIGNhbiBmaXQgaW50byBhbiB1bnNpZ25lZCBsb25nIHBmbiAqLwogI2RlZmluZSBfX1BIWVNJQ0FMX01BU0tfU0hJRlQJNDQKQEAgLTg0LDYgKzkyLDEzIEBACiAjZGVmaW5lIFZNQUxMT0NfUkVTRVJWRQkJKCh1bnNpZ25lZCBsb25nKV9fVk1BTExPQ19SRVNFUlZFKQogI2RlZmluZSBNQVhNRU0JCQkoLV9fUEFHRV9PRkZTRVQgLSBfX1ZNQUxMT0NfUkVTRVJWRSkKIAorZXh0ZXJuIHZvaWQgZmluZF9sb3dfcGZuX3JhbmdlKHZvaWQpOworZXh0ZXJuIHVuc2lnbmVkIGxvbmcgaW5pdF9tZW1vcnlfbWFwcGluZyh1bnNpZ25lZCBsb25nIHN0YXJ0LAorCQkJCQkgdW5zaWduZWQgbG9uZyBlbmQpOworZXh0ZXJuIHZvaWQgaW5pdG1lbV9pbml0KHVuc2lnbmVkIGxvbmcsIHVuc2lnbmVkIGxvbmcpOworZXh0ZXJuIHZvaWQgc2V0dXBfYm9vdG1lbV9hbGxvY2F0b3Iodm9pZCk7CisKKwogI2lmZGVmIENPTkZJR19YODZfVVNFXzNETk9XCiAjaW5jbHVkZSA8YXNtL21teC5oPgogCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvcGFnZV82NC5oIGIvaW5jbHVkZS9hc20teDg2L3BhZ2VfNjQuaAppbmRleCA2ZWE3Mjg1Li5jNjkxNmM4IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvcGFnZV82NC5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9wYWdlXzY0LmgKQEAgLTI2LDcgKzI2LDEzIEBACiAjZGVmaW5lIFBVRF9QQUdFX1NJWkUJCShfQUMoMSwgVUwpIDw8IFBVRF9TSElGVCkKICNkZWZpbmUgUFVEX1BBR0VfTUFTSwkJKH4oUFVEX1BBR0VfU0laRS0xKSkKIAotI2RlZmluZSBfX1BBR0VfT0ZGU0VUICAgICAgICAgICBfQUMoMHhmZmZmODEwMDAwMDAwMDAwLCBVTCkKKy8qCisgKiBTZXQgX19QQUdFX09GRlNFVCB0byB0aGUgbW9zdCBuZWdhdGl2ZSBwb3NzaWJsZSBhZGRyZXNzICsKKyAqIFBHRElSX1NJWkUqMTYgKHBnZCBzbG90IDI3MikuICBUaGUgZ2FwIGlzIHRvIGFsbG93IGEgc3BhY2UgZm9yIGEKKyAqIGh5cGVydmlzb3IgdG8gZml0LiAgQ2hvb3NpbmcgMTYgc2xvdHMgaGVyZSBpcyBhcmJpdHJhcnksIGJ1dCBpdCdzCisgKiB3aGF0IFhlbiByZXF1aXJlcy4KKyAqLworI2RlZmluZSBfX1BBR0VfT0ZGU0VUICAgICAgICAgICBfQUMoMHhmZmZmODgwMDAwMDAwMDAwLCBVTCkKIAogI2RlZmluZSBfX1BIWVNJQ0FMX1NUQVJUCUNPTkZJR19QSFlTSUNBTF9TVEFSVAogI2RlZmluZSBfX0tFUk5FTF9BTElHTgkJMHgyMDAwMDAKQEAgLTU4LDcgKzY0LDggQEAKIHZvaWQgY2xlYXJfcGFnZSh2b2lkICpwYWdlKTsKIHZvaWQgY29weV9wYWdlKHZvaWQgKnRvLCB2b2lkICpmcm9tKTsKIAotZXh0ZXJuIHVuc2lnbmVkIGxvbmcgZW5kX3BmbjsKKy8qIGR1cGxpY2F0ZWQgdG8gdGhlIG9uZSBpbiBib290bWVtLmggKi8KK2V4dGVybiB1bnNpZ25lZCBsb25nIG1heF9wZm47CiBleHRlcm4gdW5zaWduZWQgbG9uZyBwaHlzX2Jhc2U7CiAKIGV4dGVybiB1bnNpZ25lZCBsb25nIF9fcGh5c19hZGRyKHVuc2lnbmVkIGxvbmcpOwpAQCAtODMsMTAgKzkwLDE1IEBACiBleHRlcm4gdW5zaWduZWQgbG9uZyBpbml0X21lbW9yeV9tYXBwaW5nKHVuc2lnbmVkIGxvbmcgc3RhcnQsCiAJCQkJCSB1bnNpZ25lZCBsb25nIGVuZCk7CiAKK2V4dGVybiB2b2lkIGluaXRtZW1faW5pdCh1bnNpZ25lZCBsb25nIHN0YXJ0X3BmbiwgdW5zaWduZWQgbG9uZyBlbmRfcGZuKTsKKworZXh0ZXJuIHZvaWQgaW5pdF9leHRyYV9tYXBwaW5nX3VjKHVuc2lnbmVkIGxvbmcgcGh5cywgdW5zaWduZWQgbG9uZyBzaXplKTsKK2V4dGVybiB2b2lkIGluaXRfZXh0cmFfbWFwcGluZ193Yih1bnNpZ25lZCBsb25nIHBoeXMsIHVuc2lnbmVkIGxvbmcgc2l6ZSk7CisKICNlbmRpZgkvKiAhX19BU1NFTUJMWV9fICovCiAKICNpZmRlZiBDT05GSUdfRkxBVE1FTQotI2RlZmluZSBwZm5fdmFsaWQocGZuKSAgICAgICAgICAoKHBmbikgPCBlbmRfcGZuKQorI2RlZmluZSBwZm5fdmFsaWQocGZuKSAgICAgICAgICAoKHBmbikgPCBtYXhfcGZuKQogI2VuZGlmCiAKIApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L3BhcmF2aXJ0LmggYi9pbmNsdWRlL2FzbS14ODYvcGFyYXZpcnQuaAppbmRleCAwZjEzYjk0Li5lZjVlOGVjIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvcGFyYXZpcnQuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvcGFyYXZpcnQuaApAQCAtODQsNyArODQsNyBAQAogCWludCAoKnNldF93YWxsY2xvY2spKHVuc2lnbmVkIGxvbmcpOwogCiAJdW5zaWduZWQgbG9uZyBsb25nICgqc2NoZWRfY2xvY2spKHZvaWQpOwotCXVuc2lnbmVkIGxvbmcgKCpnZXRfY3B1X2toeikodm9pZCk7CisJdW5zaWduZWQgbG9uZyAoKmdldF90c2Nfa2h6KSh2b2lkKTsKIH07CiAKIHN0cnVjdCBwdl9jcHVfb3BzIHsKQEAgLTExNSw2ICsxMTUsOSBAQAogCXZvaWQgKCpzZXRfbGR0KShjb25zdCB2b2lkICpkZXNjLCB1bnNpZ25lZCBlbnRyaWVzKTsKIAl1bnNpZ25lZCBsb25nICgqc3RvcmVfdHIpKHZvaWQpOwogCXZvaWQgKCpsb2FkX3Rscykoc3RydWN0IHRocmVhZF9zdHJ1Y3QgKnQsIHVuc2lnbmVkIGludCBjcHUpOworI2lmZGVmIENPTkZJR19YODZfNjQKKwl2b2lkICgqbG9hZF9nc19pbmRleCkodW5zaWduZWQgaW50IGlkeCk7CisjZW5kaWYKIAl2b2lkICgqd3JpdGVfbGR0X2VudHJ5KShzdHJ1Y3QgZGVzY19zdHJ1Y3QgKmxkdCwgaW50IGVudHJ5bnVtLAogCQkJCWNvbnN0IHZvaWQgKmRlc2MpOwogCXZvaWQgKCp3cml0ZV9nZHRfZW50cnkpKHN0cnVjdCBkZXNjX3N0cnVjdCAqLApAQCAtMTQxLDggKzE0NCwzMiBAQAogCXU2NCAoKnJlYWRfcG1jKShpbnQgY291bnRlcik7CiAJdW5zaWduZWQgbG9uZyBsb25nICgqcmVhZF90c2NwKSh1bnNpZ25lZCBpbnQgKmF1eCk7CiAKLQkvKiBUaGVzZSB0d28gYXJlIGptcCB0bywgbm90IGFjdHVhbGx5IGNhbGxlZC4gKi8KLQl2b2lkICgqaXJxX2VuYWJsZV9zeXNjYWxsX3JldCkodm9pZCk7CisJLyoKKwkgKiBBdG9taWNhbGx5IGVuYWJsZSBpbnRlcnJ1cHRzIGFuZCByZXR1cm4gdG8gdXNlcnNwYWNlLiAgVGhpcworCSAqIGlzIG9ubHkgZXZlciB1c2VkIHRvIHJldHVybiB0byAzMi1iaXQgcHJvY2Vzc2VzOyBpbiBhCisJICogNjQtYml0IGtlcm5lbCwgaXQncyB1c2VkIGZvciAzMi1vbi02NCBjb21wYXQgcHJvY2Vzc2VzLCBidXQKKwkgKiBuZXZlciBuYXRpdmUgNjQtYml0IHByb2Nlc3Nlcy4gIChKdW1wLCBub3QgY2FsbC4pCisJICovCisJdm9pZCAoKmlycV9lbmFibGVfc3lzZXhpdCkodm9pZCk7CisKKwkvKgorCSAqIFN3aXRjaCB0byB1c2VybW9kZSBncyBhbmQgcmV0dXJuIHRvIDY0LWJpdCB1c2VybW9kZSB1c2luZworCSAqIHN5c3JldC4gIE9ubHkgdXNlZCBpbiA2NC1iaXQga2VybmVscyB0byByZXR1cm4gdG8gNjQtYml0CisJICogcHJvY2Vzc2VzLiAgVXNlcm1vZGUgcmVnaXN0ZXIgc3RhdGUsIGluY2x1ZGluZyAlcnNwLCBtdXN0CisJICogYWxyZWFkeSBiZSByZXN0b3JlZC4KKwkgKi8KKwl2b2lkICgqdXNlcmdzX3N5c3JldDY0KSh2b2lkKTsKKworCS8qCisJICogU3dpdGNoIHRvIHVzZXJtb2RlIGdzIGFuZCByZXR1cm4gdG8gMzItYml0IHVzZXJtb2RlIHVzaW5nCisJICogc3lzcmV0LiAgVXNlZCB0byByZXR1cm4gdG8gMzItb24tNjQgY29tcGF0IHByb2Nlc3Nlcy4KKwkgKiBPdGhlciB1c2VybW9kZSByZWdpc3RlciBzdGF0ZSwgaW5jbHVkaW5nICVlc3AsIG11c3QgYWxyZWFkeQorCSAqIGJlIHJlc3RvcmVkLgorCSAqLworCXZvaWQgKCp1c2VyZ3Nfc3lzcmV0MzIpKHZvaWQpOworCisJLyogTm9ybWFsIGlyZXQuICBKdW1wIHRvIHRoaXMgd2l0aCB0aGUgc3RhbmRhcmQgaXJldCBzdGFjaworCSAgIGZyYW1lIHNldCB1cC4gKi8KIAl2b2lkICgqaXJldCkodm9pZCk7CiAKIAl2b2lkICgqc3dhcGdzKSh2b2lkKTsKQEAgLTE2NSw2ICsxOTIsMTAgQEAKIAl2b2lkICgqaXJxX2VuYWJsZSkodm9pZCk7CiAJdm9pZCAoKnNhZmVfaGFsdCkodm9pZCk7CiAJdm9pZCAoKmhhbHQpKHZvaWQpOworCisjaWZkZWYgQ09ORklHX1g4Nl82NAorCXZvaWQgKCphZGp1c3RfZXhjZXB0aW9uX2ZyYW1lKSh2b2lkKTsKKyNlbmRpZgogfTsKIAogc3RydWN0IHB2X2FwaWNfb3BzIHsKQEAgLTIxOSw3ICsyNTAsMTQgQEAKIAl2b2lkICgqZmx1c2hfdGxiX290aGVycykoY29uc3QgY3B1bWFza190ICpjcHVzLCBzdHJ1Y3QgbW1fc3RydWN0ICptbSwKIAkJCQkgdW5zaWduZWQgbG9uZyB2YSk7CiAKLQkvKiBIb29rcyBmb3IgYWxsb2NhdGluZy9yZWxlYXNpbmcgcGFnZXRhYmxlIHBhZ2VzICovCisJLyogSG9va3MgZm9yIGFsbG9jYXRpbmcgYW5kIGZyZWVpbmcgYSBwYWdldGFibGUgdG9wLWxldmVsICovCisJaW50ICAoKnBnZF9hbGxvYykoc3RydWN0IG1tX3N0cnVjdCAqbW0pOworCXZvaWQgKCpwZ2RfZnJlZSkoc3RydWN0IG1tX3N0cnVjdCAqbW0sIHBnZF90ICpwZ2QpOworCisJLyoKKwkgKiBIb29rcyBmb3IgYWxsb2NhdGluZy9yZWxlYXNpbmcgcGFnZXRhYmxlIHBhZ2VzIHdoZW4gdGhleSdyZQorCSAqIGF0dGFjaGVkIHRvIGEgcGFnZXRhYmxlCisJICovCiAJdm9pZCAoKmFsbG9jX3B0ZSkoc3RydWN0IG1tX3N0cnVjdCAqbW0sIHUzMiBwZm4pOwogCXZvaWQgKCphbGxvY19wbWQpKHN0cnVjdCBtbV9zdHJ1Y3QgKm1tLCB1MzIgcGZuKTsKIAl2b2lkICgqYWxsb2NfcG1kX2Nsb25lKSh1MzIgcGZuLCB1MzIgY2xvbmVwZm4sIHUzMiBzdGFydCwgdTMyIGNvdW50KTsKQEAgLTIzOCw3ICsyNzYsMTMgQEAKIAl2b2lkICgqcHRlX3VwZGF0ZV9kZWZlcikoc3RydWN0IG1tX3N0cnVjdCAqbW0sCiAJCQkJIHVuc2lnbmVkIGxvbmcgYWRkciwgcHRlX3QgKnB0ZXApOwogCisJcHRlX3QgKCpwdGVwX21vZGlmeV9wcm90X3N0YXJ0KShzdHJ1Y3QgbW1fc3RydWN0ICptbSwgdW5zaWduZWQgbG9uZyBhZGRyLAorCQkJCQlwdGVfdCAqcHRlcCk7CisJdm9pZCAoKnB0ZXBfbW9kaWZ5X3Byb3RfY29tbWl0KShzdHJ1Y3QgbW1fc3RydWN0ICptbSwgdW5zaWduZWQgbG9uZyBhZGRyLAorCQkJCQlwdGVfdCAqcHRlcCwgcHRlX3QgcHRlKTsKKwogCXB0ZXZhbF90ICgqcHRlX3ZhbCkocHRlX3QpOworCXB0ZXZhbF90ICgqcHRlX2ZsYWdzKShwdGVfdCk7CiAJcHRlX3QgKCptYWtlX3B0ZSkocHRldmFsX3QgcHRlKTsKIAogCXBnZHZhbF90ICgqcGdkX3ZhbCkocGdkX3QpOwpAQCAtMjczLDYgKzMxNywxMyBAQAogI2VuZGlmCiAKIAlzdHJ1Y3QgcHZfbGF6eV9vcHMgbGF6eV9tb2RlOworCisJLyogZG9tMCBvcHMgKi8KKworCS8qIFNvbWV0aW1lcyB0aGUgcGh5c2ljYWwgYWRkcmVzcyBpcyBhIHBmbiwgYW5kIHNvbWV0aW1lcyBpdHMKKwkgICBhbiBtZm4uICBXZSBjYW4gdGVsbCB3aGljaCBpcyB3aGljaCBmcm9tIHRoZSBpbmRleC4gKi8KKwl2b2lkICgqc2V0X2ZpeG1hcCkodW5zaWduZWQgLyogZW51bSBmaXhlZF9hZGRyZXNzZXMgKi8gaWR4LAorCQkJICAgdW5zaWduZWQgbG9uZyBwaHlzLCBwZ3Byb3RfdCBmbGFncyk7CiB9OwogCiAvKiBUaGlzIGNvbnRhaW5zIGFsbCB0aGUgcGFyYXZpcnQgc3RydWN0dXJlczogd2UgZ2V0IGEgY29udmVuaWVudApAQCAtNDM5LDEwICs0OTAsMTcgQEAKICNkZWZpbmUgVkVYVFJBX0NMT0JCRVJTCSAsICJyYXgiLCAicjgiLCAicjkiLCAicjEwIiwgInIxMSIKICNlbmRpZgogCisjaWZkZWYgQ09ORklHX1BBUkFWSVJUX0RFQlVHCisjZGVmaW5lIFBWT1BfVEVTVF9OVUxMKG9wKQlCVUdfT04ob3AgPT0gTlVMTCkKKyNlbHNlCisjZGVmaW5lIFBWT1BfVEVTVF9OVUxMKG9wKQkoKHZvaWQpb3ApCisjZW5kaWYKKwogI2RlZmluZSBfX1BWT1BfQ0FMTChyZXR0eXBlLCBvcCwgcHJlLCBwb3N0LCAuLi4pCQkJXAogCSh7CQkJCQkJCQlcCiAJCXJldHR5cGUgX19yZXQ7CQkJCQkJXAogCQlQVk9QX0NBTExfQVJHUzsJCQkJCVwKKwkJUFZPUF9URVNUX05VTEwob3ApOwkJCQkJXAogCQkvKiBUaGlzIGlzIDMyLWJpdCBzcGVjaWZpYywgYnV0IGlzIG9rYXkgaW4gNjQtYml0ICovCVwKIAkJLyogc2luY2UgdGhpcyBjb25kaXRpb24gd2lsbCBuZXZlciBob2xkICovCQlcCiAJCWlmIChzaXplb2YocmV0dHlwZSkgPiBzaXplb2YodW5zaWduZWQgbG9uZykpIHsJCVwKQEAgLTQ3MSw2ICs1MjksNyBAQAogI2RlZmluZSBfX1BWT1BfVkNBTEwob3AsIHByZSwgcG9zdCwgLi4uKQkJCQlcCiAJKHsJCQkJCQkJCVwKIAkJUFZPUF9WQ0FMTF9BUkdTOwkJCQkJXAorCQlQVk9QX1RFU1RfTlVMTChvcCk7CQkJCQlcCiAJCWFzbSB2b2xhdGlsZShwcmUJCQkJCVwKIAkJCSAgICAgcGFyYXZpcnRfYWx0KFBBUkFWSVJUX0NBTEwpCQlcCiAJCQkgICAgIHBvc3QJCQkJCVwKQEAgLTcyMCw3ICs3NzksNyBAQAogewogCXJldHVybiBQVk9QX0NBTEwwKHVuc2lnbmVkIGxvbmcgbG9uZywgcHZfdGltZV9vcHMuc2NoZWRfY2xvY2spOwogfQotI2RlZmluZSBjYWxjdWxhdGVfY3B1X2toeigpIChwdl90aW1lX29wcy5nZXRfY3B1X2toeigpKQorI2RlZmluZSBjYWxpYnJhdGVfdHNjKCkgKHB2X3RpbWVfb3BzLmdldF90c2Nfa2h6KCkpCiAKIHN0YXRpYyBpbmxpbmUgdW5zaWduZWQgbG9uZyBsb25nIHBhcmF2aXJ0X3JlYWRfcG1jKGludCBjb3VudGVyKQogewpAQCAtNzg5LDYgKzg0OCwxMyBAQAogCVBWT1BfVkNBTEwyKHB2X2NwdV9vcHMubG9hZF90bHMsIHQsIGNwdSk7CiB9CiAKKyNpZmRlZiBDT05GSUdfWDg2XzY0CitzdGF0aWMgaW5saW5lIHZvaWQgbG9hZF9nc19pbmRleCh1bnNpZ25lZCBpbnQgZ3MpCit7CisJUFZPUF9WQ0FMTDEocHZfY3B1X29wcy5sb2FkX2dzX2luZGV4LCBncyk7Cit9CisjZW5kaWYKKwogc3RhdGljIGlubGluZSB2b2lkIHdyaXRlX2xkdF9lbnRyeShzdHJ1Y3QgZGVzY19zdHJ1Y3QgKmR0LCBpbnQgZW50cnksCiAJCQkJICAgY29uc3Qgdm9pZCAqZGVzYykKIHsKQEAgLTkxMiw2ICs5NzgsMTYgQEAKIAlQVk9QX1ZDQUxMMyhwdl9tbXVfb3BzLmZsdXNoX3RsYl9vdGhlcnMsICZjcHVtYXNrLCBtbSwgdmEpOwogfQogCitzdGF0aWMgaW5saW5lIGludCBwYXJhdmlydF9wZ2RfYWxsb2Moc3RydWN0IG1tX3N0cnVjdCAqbW0pCit7CisJcmV0dXJuIFBWT1BfQ0FMTDEoaW50LCBwdl9tbXVfb3BzLnBnZF9hbGxvYywgbW0pOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgcGFyYXZpcnRfcGdkX2ZyZWUoc3RydWN0IG1tX3N0cnVjdCAqbW0sIHBnZF90ICpwZ2QpCit7CisJUFZPUF9WQ0FMTDIocHZfbW11X29wcy5wZ2RfZnJlZSwgbW0sIHBnZCk7Cit9CisKIHN0YXRpYyBpbmxpbmUgdm9pZCBwYXJhdmlydF9hbGxvY19wdGUoc3RydWN0IG1tX3N0cnVjdCAqbW0sIHVuc2lnbmVkIHBmbikKIHsKIAlQVk9QX1ZDQUxMMihwdl9tbXVfb3BzLmFsbG9jX3B0ZSwgbW0sIHBmbik7CkBAIC05OTYsNiArMTA3MiwyMCBAQAogCXJldHVybiByZXQ7CiB9CiAKK3N0YXRpYyBpbmxpbmUgcHRldmFsX3QgcHRlX2ZsYWdzKHB0ZV90IHB0ZSkKK3sKKwlwdGV2YWxfdCByZXQ7CisKKwlpZiAoc2l6ZW9mKHB0ZXZhbF90KSA+IHNpemVvZihsb25nKSkKKwkJcmV0ID0gUFZPUF9DQUxMMihwdGV2YWxfdCwgcHZfbW11X29wcy5wdGVfZmxhZ3MsCisJCQkJIHB0ZS5wdGUsICh1NjQpcHRlLnB0ZSA+PiAzMik7CisJZWxzZQorCQlyZXQgPSBQVk9QX0NBTEwxKHB0ZXZhbF90LCBwdl9tbXVfb3BzLnB0ZV9mbGFncywKKwkJCQkgcHRlLnB0ZSk7CisKKwlyZXR1cm4gcmV0OworfQorCiBzdGF0aWMgaW5saW5lIHBnZF90IF9fcGdkKHBnZHZhbF90IHZhbCkKIHsKIAlwZ2R2YWxfdCByZXQ7CkBAIC0xMDI0LDYgKzExMTQsMjkgQEAKIAlyZXR1cm4gcmV0OwogfQogCisjZGVmaW5lICBfX0hBVkVfQVJDSF9QVEVQX01PRElGWV9QUk9UX1RSQU5TQUNUSU9OCitzdGF0aWMgaW5saW5lIHB0ZV90IHB0ZXBfbW9kaWZ5X3Byb3Rfc3RhcnQoc3RydWN0IG1tX3N0cnVjdCAqbW0sIHVuc2lnbmVkIGxvbmcgYWRkciwKKwkJCQkJICAgcHRlX3QgKnB0ZXApCit7CisJcHRldmFsX3QgcmV0OworCisJcmV0ID0gUFZPUF9DQUxMMyhwdGV2YWxfdCwgcHZfbW11X29wcy5wdGVwX21vZGlmeV9wcm90X3N0YXJ0LAorCQkJIG1tLCBhZGRyLCBwdGVwKTsKKworCXJldHVybiAocHRlX3QpIHsgLnB0ZSA9IHJldCB9OworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgcHRlcF9tb2RpZnlfcHJvdF9jb21taXQoc3RydWN0IG1tX3N0cnVjdCAqbW0sIHVuc2lnbmVkIGxvbmcgYWRkciwKKwkJCQkJICAgcHRlX3QgKnB0ZXAsIHB0ZV90IHB0ZSkKK3sKKwlpZiAoc2l6ZW9mKHB0ZXZhbF90KSA+IHNpemVvZihsb25nKSkKKwkJLyogNSBhcmcgd29yZHMgKi8KKwkJcHZfbW11X29wcy5wdGVwX21vZGlmeV9wcm90X2NvbW1pdChtbSwgYWRkciwgcHRlcCwgcHRlKTsKKwllbHNlCisJCVBWT1BfVkNBTEw0KHB2X21tdV9vcHMucHRlcF9tb2RpZnlfcHJvdF9jb21taXQsCisJCQkgICAgbW0sIGFkZHIsIHB0ZXAsIHB0ZS5wdGUpOworfQorCiBzdGF0aWMgaW5saW5lIHZvaWQgc2V0X3B0ZShwdGVfdCAqcHRlcCwgcHRlX3QgcHRlKQogewogCWlmIChzaXplb2YocHRldmFsX3QpID4gc2l6ZW9mKGxvbmcpKQpAQCAtMTI1Miw2ICsxMzY1LDEyIEBACiAJfQogfQogCitzdGF0aWMgaW5saW5lIHZvaWQgX19zZXRfZml4bWFwKHVuc2lnbmVkIC8qIGVudW0gZml4ZWRfYWRkcmVzc2VzICovIGlkeCwKKwkJCQl1bnNpZ25lZCBsb25nIHBoeXMsIHBncHJvdF90IGZsYWdzKQoreworCXB2X21tdV9vcHMuc2V0X2ZpeG1hcChpZHgsIHBoeXMsIGZsYWdzKTsKK30KKwogdm9pZCBfcGFyYXZpcnRfbm9wKHZvaWQpOwogI2RlZmluZSBwYXJhdmlydF9ub3AJKCh2b2lkICopX3BhcmF2aXJ0X25vcCkKIApAQCAtMTM3NCw1NCArMTQ5Myw4NiBAQAogI2RlZmluZSBQVl9SRVNUT1JFX1JFR1MgcG9wcSAlcmR4OyBwb3BxICVyY3g7IHBvcHEgJXJkaTsgcG9wcSAlcmF4CiAjZGVmaW5lIFBBUkFfUEFUQ0goc3RydWN0LCBvZmYpICAgICAgICAoKFBBUkFWSVJUX1BBVENIXyMjc3RydWN0ICsgKG9mZikpIC8gOCkKICNkZWZpbmUgUEFSQV9TSVRFKHB0eXBlLCBjbG9iYmVycywgb3BzKSBfUFZTSVRFKHB0eXBlLCBjbG9iYmVycywgb3BzLCAucXVhZCwgOCkKKyNkZWZpbmUgUEFSQV9JTkRJUkVDVChhZGRyKQkqYWRkciglcmlwKQogI2Vsc2UKICNkZWZpbmUgUFZfU0FWRV9SRUdTICAgcHVzaGwgJWVheDsgcHVzaGwgJWVkaTsgcHVzaGwgJWVjeDsgcHVzaGwgJWVkeAogI2RlZmluZSBQVl9SRVNUT1JFX1JFR1MgcG9wbCAlZWR4OyBwb3BsICVlY3g7IHBvcGwgJWVkaTsgcG9wbCAlZWF4CiAjZGVmaW5lIFBBUkFfUEFUQ0goc3RydWN0LCBvZmYpICAgICAgICAoKFBBUkFWSVJUX1BBVENIXyMjc3RydWN0ICsgKG9mZikpIC8gNCkKICNkZWZpbmUgUEFSQV9TSVRFKHB0eXBlLCBjbG9iYmVycywgb3BzKSBfUFZTSVRFKHB0eXBlLCBjbG9iYmVycywgb3BzLCAubG9uZywgNCkKKyNkZWZpbmUgUEFSQV9JTkRJUkVDVChhZGRyKQkqJWNzOmFkZHIKICNlbmRpZgogCiAjZGVmaW5lIElOVEVSUlVQVF9SRVRVUk4JCQkJCQlcCiAJUEFSQV9TSVRFKFBBUkFfUEFUQ0gocHZfY3B1X29wcywgUFZfQ1BVX2lyZXQpLCBDTEJSX05PTkUsCVwKLQkJICBqbXAgKiVjczpwdl9jcHVfb3BzK1BWX0NQVV9pcmV0KQorCQkgIGptcCBQQVJBX0lORElSRUNUKHB2X2NwdV9vcHMrUFZfQ1BVX2lyZXQpKQogCiAjZGVmaW5lIERJU0FCTEVfSU5URVJSVVBUUyhjbG9iYmVycykJCQkJCVwKIAlQQVJBX1NJVEUoUEFSQV9QQVRDSChwdl9pcnFfb3BzLCBQVl9JUlFfaXJxX2Rpc2FibGUpLCBjbG9iYmVycywgXAotCQkgIFBWX1NBVkVfUkVHUzsJCQlcCi0JCSAgY2FsbCAqJWNzOnB2X2lycV9vcHMrUFZfSVJRX2lycV9kaXNhYmxlOwkJXAorCQkgIFBWX1NBVkVfUkVHUzsJCQkJCQlcCisJCSAgY2FsbCBQQVJBX0lORElSRUNUKHB2X2lycV9vcHMrUFZfSVJRX2lycV9kaXNhYmxlKTsJXAogCQkgIFBWX1JFU1RPUkVfUkVHUzspCQkJXAogCiAjZGVmaW5lIEVOQUJMRV9JTlRFUlJVUFRTKGNsb2JiZXJzKQkJCQkJXAogCVBBUkFfU0lURShQQVJBX1BBVENIKHB2X2lycV9vcHMsIFBWX0lSUV9pcnFfZW5hYmxlKSwgY2xvYmJlcnMsCVwKLQkJICBQVl9TQVZFX1JFR1M7CQkJXAotCQkgIGNhbGwgKiVjczpwdl9pcnFfb3BzK1BWX0lSUV9pcnFfZW5hYmxlOwkJXAorCQkgIFBWX1NBVkVfUkVHUzsJCQkJCQlcCisJCSAgY2FsbCBQQVJBX0lORElSRUNUKHB2X2lycV9vcHMrUFZfSVJRX2lycV9lbmFibGUpOwlcCiAJCSAgUFZfUkVTVE9SRV9SRUdTOykKIAotI2RlZmluZSBFTkFCTEVfSU5URVJSVVBUU19TWVNDQUxMX1JFVAkJCQkJXAotCVBBUkFfU0lURShQQVJBX1BBVENIKHB2X2NwdV9vcHMsIFBWX0NQVV9pcnFfZW5hYmxlX3N5c2NhbGxfcmV0KSxcCisjZGVmaW5lIFVTRVJHU19TWVNSRVQzMgkJCQkJCQlcCisJUEFSQV9TSVRFKFBBUkFfUEFUQ0gocHZfY3B1X29wcywgUFZfQ1BVX3VzZXJnc19zeXNyZXQzMiksCVwKIAkJICBDTEJSX05PTkUsCQkJCQkJXAotCQkgIGptcCAqJWNzOnB2X2NwdV9vcHMrUFZfQ1BVX2lycV9lbmFibGVfc3lzY2FsbF9yZXQpCi0KKwkJICBqbXAgUEFSQV9JTkRJUkVDVChwdl9jcHVfb3BzK1BWX0NQVV91c2VyZ3Nfc3lzcmV0MzIpKQogCiAjaWZkZWYgQ09ORklHX1g4Nl8zMgotI2RlZmluZSBHRVRfQ1IwX0lOVE9fRUFYCQkJXAotCXB1c2ggJWVjeDsgcHVzaCAlZWR4OwkJCVwKLQljYWxsICpwdl9jcHVfb3BzK1BWX0NQVV9yZWFkX2NyMDsJXAorI2RlZmluZSBHRVRfQ1IwX0lOVE9fRUFYCQkJCVwKKwlwdXNoICVlY3g7IHB1c2ggJWVkeDsJCQkJXAorCWNhbGwgUEFSQV9JTkRJUkVDVChwdl9jcHVfb3BzK1BWX0NQVV9yZWFkX2NyMCk7CVwKIAlwb3AgJWVkeDsgcG9wICVlY3gKLSNlbHNlCisKKyNkZWZpbmUgRU5BQkxFX0lOVEVSUlVQVFNfU1lTRVhJVAkJCQkJXAorCVBBUkFfU0lURShQQVJBX1BBVENIKHB2X2NwdV9vcHMsIFBWX0NQVV9pcnFfZW5hYmxlX3N5c2V4aXQpLAlcCisJCSAgQ0xCUl9OT05FLAkJCQkJCVwKKwkJICBqbXAgUEFSQV9JTkRJUkVDVChwdl9jcHVfb3BzK1BWX0NQVV9pcnFfZW5hYmxlX3N5c2V4aXQpKQorCisKKyNlbHNlCS8qICFDT05GSUdfWDg2XzMyICovCisKKy8qCisgKiBJZiBzd2FwZ3MgaXMgdXNlZCB3aGlsZSB0aGUgdXNlcnNwYWNlIHN0YWNrIGlzIHN0aWxsIGN1cnJlbnQsCisgKiB0aGVyZSdzIG5vIHdheSB0byBjYWxsIGEgcHZvcC4gIFRoZSBQViByZXBsYWNlbWVudCAqbXVzdCogYmUKKyAqIGlubGluZWQsIG9yIHRoZSBzd2FwZ3MgaW5zdHJ1Y3Rpb24gbXVzdCBiZSB0cmFwcGVkIGFuZCBlbXVsYXRlZC4KKyAqLworI2RlZmluZSBTV0FQR1NfVU5TQUZFX1NUQUNLCQkJCQkJXAorCVBBUkFfU0lURShQQVJBX1BBVENIKHB2X2NwdV9vcHMsIFBWX0NQVV9zd2FwZ3MpLCBDTEJSX05PTkUsCVwKKwkJICBzd2FwZ3MpCisKICNkZWZpbmUgU1dBUEdTCQkJCQkJCQlcCiAJUEFSQV9TSVRFKFBBUkFfUEFUQ0gocHZfY3B1X29wcywgUFZfQ1BVX3N3YXBncyksIENMQlJfTk9ORSwJXAogCQkgIFBWX1NBVkVfUkVHUzsJCQkJCQlcCi0JCSAgY2FsbCAqcHZfY3B1X29wcytQVl9DUFVfc3dhcGdzOwkJCVwKKwkJICBjYWxsIFBBUkFfSU5ESVJFQ1QocHZfY3B1X29wcytQVl9DUFVfc3dhcGdzKTsJCVwKIAkJICBQVl9SRVNUT1JFX1JFR1MJCQkJCVwKIAkJICkKIAotI2RlZmluZSBHRVRfQ1IyX0lOVE9fUkNYCQkJXAotCWNhbGwgKnB2X21tdV9vcHMrUFZfTU1VX3JlYWRfY3IyOwlcCi0JbW92cSAlcmF4LCAlcmN4OwkJCVwKKyNkZWZpbmUgR0VUX0NSMl9JTlRPX1JDWAkJCQlcCisJY2FsbCBQQVJBX0lORElSRUNUKHB2X21tdV9vcHMrUFZfTU1VX3JlYWRfY3IyKTsJXAorCW1vdnEgJXJheCwgJXJjeDsJCQkJXAogCXhvcnEgJXJheCwgJXJheDsKIAotI2VuZGlmCisjZGVmaW5lIFBBUkFWSVJUX0FESlVTVF9FWENFUFRJT05fRlJBTUUJCQkJCVwKKwlQQVJBX1NJVEUoUEFSQV9QQVRDSChwdl9pcnFfb3BzLCBQVl9JUlFfYWRqdXN0X2V4Y2VwdGlvbl9mcmFtZSksIFwKKwkJICBDTEJSX05PTkUsCQkJCQkJXAorCQkgIGNhbGwgUEFSQV9JTkRJUkVDVChwdl9pcnFfb3BzK1BWX0lSUV9hZGp1c3RfZXhjZXB0aW9uX2ZyYW1lKSkKKworI2RlZmluZSBVU0VSR1NfU1lTUkVUNjQJCQkJCQkJXAorCVBBUkFfU0lURShQQVJBX1BBVENIKHB2X2NwdV9vcHMsIFBWX0NQVV91c2VyZ3Nfc3lzcmV0NjQpLAlcCisJCSAgQ0xCUl9OT05FLAkJCQkJCVwKKwkJICBqbXAgUEFSQV9JTkRJUkVDVChwdl9jcHVfb3BzK1BWX0NQVV91c2VyZ3Nfc3lzcmV0NjQpKQorCisjZGVmaW5lIEVOQUJMRV9JTlRFUlJVUFRTX1NZU0VYSVQzMgkJCQkJXAorCVBBUkFfU0lURShQQVJBX1BBVENIKHB2X2NwdV9vcHMsIFBWX0NQVV9pcnFfZW5hYmxlX3N5c2V4aXQpLAlcCisJCSAgQ0xCUl9OT05FLAkJCQkJCVwKKwkJICBqbXAgUEFSQV9JTkRJUkVDVChwdl9jcHVfb3BzK1BWX0NQVV9pcnFfZW5hYmxlX3N5c2V4aXQpKQorI2VuZGlmCS8qIENPTkZJR19YODZfMzIgKi8KIAogI2VuZGlmIC8qIF9fQVNTRU1CTFlfXyAqLwogI2VuZGlmIC8qIENPTkZJR19QQVJBVklSVCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L3BhdC5oIGIvaW5jbHVkZS9hc20teDg2L3BhdC5oCmluZGV4IDg4ZjYwY2MuLjdlZGM0NzMgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9wYXQuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvcGF0LmgKQEAgLTEsMTQgKzEsMTMgQEAKLQogI2lmbmRlZiBfQVNNX1BBVF9ICi0jZGVmaW5lIF9BU01fUEFUX0ggMQorI2RlZmluZSBfQVNNX1BBVF9ICiAKICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgogCiAjaWZkZWYgQ09ORklHX1g4Nl9QQVQKLWV4dGVybiBpbnQgcGF0X3djX2VuYWJsZWQ7CitleHRlcm4gaW50IHBhdF9lbmFibGVkOwogZXh0ZXJuIHZvaWQgdmFsaWRhdGVfcGF0X3N1cHBvcnQoc3RydWN0IGNwdWluZm9feDg2ICpjKTsKICNlbHNlCi1zdGF0aWMgY29uc3QgaW50IHBhdF93Y19lbmFibGVkID0gMDsKK3N0YXRpYyBjb25zdCBpbnQgcGF0X2VuYWJsZWQ7CiBzdGF0aWMgaW5saW5lIHZvaWQgdmFsaWRhdGVfcGF0X3N1cHBvcnQoc3RydWN0IGNwdWluZm9feDg2ICpjKSB7IH0KICNlbmRpZgogCkBAIC0yMSw0ICsyMCwzIEBACiBleHRlcm4gdm9pZCBwYXRfZGlzYWJsZShjaGFyICpyZWFzb24pOwogCiAjZW5kaWYKLQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L3BjaS5oIGIvaW5jbHVkZS9hc20teDg2L3BjaS5oCmluZGV4IDMwYmJkZTAuLjJkYjE0Y2YgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9wY2kuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvcGNpLmgKQEAgLTE4LDYgKzE4LDggQEAKICNlbmRpZgogfTsKIAorZXh0ZXJuIGludCBwY2lfcm91dGVpcnE7CisKIC8qIHNjYW4gYSBidXMgYWZ0ZXIgYWxsb2NhdGluZyBhIHBjaV9zeXNkYXRhIGZvciBpdCAqLwogZXh0ZXJuIHN0cnVjdCBwY2lfYnVzICpwY2lfc2Nhbl9idXNfb25fbm9kZShpbnQgYnVzbm8sIHN0cnVjdCBwY2lfb3BzICpvcHMsCiAJCQkJCSAgICBpbnQgbm9kZSk7CmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvcGNpXzMyLmggYi9pbmNsdWRlL2FzbS14ODYvcGNpXzMyLmgKaW5kZXggOGM0YzNhMC4uYTUwZDQ2OCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L3BjaV8zMi5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9wY2lfMzIuaApAQCAtMTgsMTIgKzE4LDE0IEBACiAjZGVmaW5lIFBDSV9ETUFfQlVTX0lTX1BIWVMJKDEpCiAKIC8qIHBjaV91bm1hcF97cGFnZSxzaW5nbGV9IGlzIGEgbm9wIHNvLi4uICovCi0jZGVmaW5lIERFQ0xBUkVfUENJX1VOTUFQX0FERFIoQUREUl9OQU1FKQotI2RlZmluZSBERUNMQVJFX1BDSV9VTk1BUF9MRU4oTEVOX05BTUUpCi0jZGVmaW5lIHBjaV91bm1hcF9hZGRyKFBUUiwgQUREUl9OQU1FKQkJKDApCi0jZGVmaW5lIHBjaV91bm1hcF9hZGRyX3NldChQVFIsIEFERFJfTkFNRSwgVkFMKQlkbyB7IH0gd2hpbGUgKDApCi0jZGVmaW5lIHBjaV91bm1hcF9sZW4oUFRSLCBMRU5fTkFNRSkJCSgwKQotI2RlZmluZSBwY2lfdW5tYXBfbGVuX3NldChQVFIsIExFTl9OQU1FLCBWQUwpCWRvIHsgfSB3aGlsZSAoMCkKKyNkZWZpbmUgREVDTEFSRV9QQ0lfVU5NQVBfQUREUihBRERSX05BTUUpCWRtYV9hZGRyX3QgQUREUl9OQU1FWzBdOworI2RlZmluZSBERUNMQVJFX1BDSV9VTk1BUF9MRU4oTEVOX05BTUUpCXVuc2lnbmVkIExFTl9OQU1FWzBdOworI2RlZmluZSBwY2lfdW5tYXBfYWRkcihQVFIsIEFERFJfTkFNRSkJc2l6ZW9mKChQVFIpLT5BRERSX05BTUUpCisjZGVmaW5lIHBjaV91bm1hcF9hZGRyX3NldChQVFIsIEFERFJfTkFNRSwgVkFMKSBcCisJZG8geyBicmVhazsgfSB3aGlsZSAocGNpX3VubWFwX2FkZHIoUFRSLCBBRERSX05BTUUpKQorI2RlZmluZSBwY2lfdW5tYXBfbGVuKFBUUiwgTEVOX05BTUUpCQlzaXplb2YoKFBUUiktPkxFTl9OQU1FKQorI2RlZmluZSBwY2lfdW5tYXBfbGVuX3NldChQVFIsIExFTl9OQU1FLCBWQUwpIFwKKwlkbyB7IGJyZWFrOyB9IHdoaWxlIChwY2lfdW5tYXBfbGVuKFBUUiwgTEVOX05BTUUpKQogCiAKICNlbmRpZiAvKiBfX0tFUk5FTF9fICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvcGRhLmggYi9pbmNsdWRlL2FzbS14ODYvcGRhLmgKaW5kZXggMTAxZmI5ZS4uYjM0ZTlhNyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L3BkYS5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9wZGEuaApAQCAtMjIsNiArMjIsOCBAQAogCQkJCQkgICBvZmZzZXQgNDAhISEgKi8KICNlbmRpZgogCWNoYXIgKmlycXN0YWNrcHRyOworCXNob3J0IG5vZGVudW1iZXI7CQkvKiBudW1iZXIgb2YgY3VycmVudCBub2RlICgzMmsgbWF4KSAqLworCXNob3J0IGluX2Jvb3RtZW07CQkvKiBwZGEgbGl2ZXMgaW4gYm9vdG1lbSAqLwogCXVuc2lnbmVkIGludCBfX3NvZnRpcnFfcGVuZGluZzsKIAl1bnNpZ25lZCBpbnQgX19ubWlfY291bnQ7CS8qIG51bWJlciBvZiBOTUkgb24gdGhpcyBDUFVzICovCiAJc2hvcnQgbW11X3N0YXRlOwpAQCAtMzcsOCArMzksNyBAQAogCXVuc2lnbmVkIGlycV9zcHVyaW91c19jb3VudDsKIH0gX19fX2NhY2hlbGluZV9hbGlnbmVkX2luX3NtcDsKIAotZXh0ZXJuIHN0cnVjdCB4ODY2NF9wZGEgKl9jcHVfcGRhW107Ci1leHRlcm4gc3RydWN0IHg4NjY0X3BkYSBib290X2NwdV9wZGFbXTsKK2V4dGVybiBzdHJ1Y3QgeDg2NjRfcGRhICoqX2NwdV9wZGE7CiBleHRlcm4gdm9pZCBwZGFfaW5pdChpbnQpOwogCiAjZGVmaW5lIGNwdV9wZGEoaSkgKF9jcHVfcGRhW2ldKQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L3BlcmNwdS5oIGIvaW5jbHVkZS9hc20teDg2L3BlcmNwdS5oCmluZGV4IDczNmZjM2IuLjkxMmEzYTEgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9wZXJjcHUuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvcGVyY3B1LmgKQEAgLTE0Myw0ICsxNDMsNTAgQEAKICNkZWZpbmUgeDg2X29yX3BlcmNwdSh2YXIsIHZhbCkgcGVyY3B1X3RvX29wKCJvciIsIHBlcl9jcHVfXyMjdmFyLCB2YWwpCiAjZW5kaWYgLyogIV9fQVNTRU1CTFlfXyAqLwogI2VuZGlmIC8qICFDT05GSUdfWDg2XzY0ICovCisKKyNpZmRlZiBDT05GSUdfU01QCisKKy8qCisgKiBEZWZpbmUgdGhlICJFQVJMWV9QRVJfQ1BVIiBtYWNyb3MuICBUaGVzZSBhcmUgdXNlZCBmb3Igc29tZSBwZXJfY3B1CisgKiB2YXJpYWJsZXMgdGhhdCBhcmUgaW5pdGlhbGl6ZWQgYW5kIGFjY2Vzc2VkIGJlZm9yZSB0aGVyZSBhcmUgcGVyX2NwdQorICogYXJlYXMgYWxsb2NhdGVkLgorICovCisKKyNkZWZpbmUJREVGSU5FX0VBUkxZX1BFUl9DUFUoX3R5cGUsIF9uYW1lLCBfaW5pdHZhbHVlKQkJCVwKKwlERUZJTkVfUEVSX0NQVShfdHlwZSwgX25hbWUpID0gX2luaXR2YWx1ZTsJCQlcCisJX190eXBlb2ZfXyhfdHlwZSkgX25hbWUjI19lYXJseV9tYXBbTlJfQ1BVU10gX19pbml0ZGF0YSA9CVwKKwkJCQl7IFswIC4uLiBOUl9DUFVTLTFdID0gX2luaXR2YWx1ZSB9OwlcCisJX190eXBlb2ZfXyhfdHlwZSkgKl9uYW1lIyNfZWFybHlfcHRyID0gX25hbWUjI19lYXJseV9tYXAKKworI2RlZmluZSBFWFBPUlRfRUFSTFlfUEVSX0NQVV9TWU1CT0woX25hbWUpCQkJXAorCUVYUE9SVF9QRVJfQ1BVX1NZTUJPTChfbmFtZSkKKworI2RlZmluZSBERUNMQVJFX0VBUkxZX1BFUl9DUFUoX3R5cGUsIF9uYW1lKQkJCVwKKwlERUNMQVJFX1BFUl9DUFUoX3R5cGUsIF9uYW1lKTsJCQkJXAorCWV4dGVybiBfX3R5cGVvZl9fKF90eXBlKSAqX25hbWUjI19lYXJseV9wdHI7CQlcCisJZXh0ZXJuIF9fdHlwZW9mX18oX3R5cGUpICBfbmFtZSMjX2Vhcmx5X21hcFtdCisKKyNkZWZpbmUJZWFybHlfcGVyX2NwdV9wdHIoX25hbWUpIChfbmFtZSMjX2Vhcmx5X3B0cikKKyNkZWZpbmUJZWFybHlfcGVyX2NwdV9tYXAoX25hbWUsIF9pZHgpIChfbmFtZSMjX2Vhcmx5X21hcFtfaWR4XSkKKyNkZWZpbmUJZWFybHlfcGVyX2NwdShfbmFtZSwgX2NwdSkgCQkJCVwKKwkoZWFybHlfcGVyX2NwdV9wdHIoX25hbWUpID8JCQkJXAorCQllYXJseV9wZXJfY3B1X3B0cihfbmFtZSlbX2NwdV0gOgkJXAorCQlwZXJfY3B1KF9uYW1lLCBfY3B1KSkKKworI2Vsc2UJLyogIUNPTkZJR19TTVAgKi8KKyNkZWZpbmUJREVGSU5FX0VBUkxZX1BFUl9DUFUoX3R5cGUsIF9uYW1lLCBfaW5pdHZhbHVlKQkJXAorCURFRklORV9QRVJfQ1BVKF90eXBlLCBfbmFtZSkgPSBfaW5pdHZhbHVlCisKKyNkZWZpbmUgRVhQT1JUX0VBUkxZX1BFUl9DUFVfU1lNQk9MKF9uYW1lKQkJCVwKKwlFWFBPUlRfUEVSX0NQVV9TWU1CT0woX25hbWUpCisKKyNkZWZpbmUgREVDTEFSRV9FQVJMWV9QRVJfQ1BVKF90eXBlLCBfbmFtZSkJCQlcCisJREVDTEFSRV9QRVJfQ1BVKF90eXBlLCBfbmFtZSkKKworI2RlZmluZQllYXJseV9wZXJfY3B1KF9uYW1lLCBfY3B1KSBwZXJfY3B1KF9uYW1lLCBfY3B1KQorI2RlZmluZQllYXJseV9wZXJfY3B1X3B0cihfbmFtZSkgTlVMTAorLyogbm8gZWFybHlfcGVyX2NwdV9tYXAoKSAqLworCisjZW5kaWYJLyogIUNPTkZJR19TTVAgKi8KKwogI2VuZGlmIC8qIF9BU01fWDg2X1BFUkNQVV9IXyAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L3BnYWxsb2MuaCBiL2luY2x1ZGUvYXNtLXg4Ni9wZ2FsbG9jLmgKaW5kZXggOTFlNDY0MS4uZDYzZWE0MyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L3BnYWxsb2MuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvcGdhbGxvYy5oCkBAIC01LDkgKzUsMTMgQEAKICNpbmNsdWRlIDxsaW51eC9tbS5oPgkJLyogZm9yIHN0cnVjdCBwYWdlICovCiAjaW5jbHVkZSA8bGludXgvcGFnZW1hcC5oPgogCitzdGF0aWMgaW5saW5lIGludCAgX19wYXJhdmlydF9wZ2RfYWxsb2Moc3RydWN0IG1tX3N0cnVjdCAqbW0pIHsgcmV0dXJuIDA7IH0KKwogI2lmZGVmIENPTkZJR19QQVJBVklSVAogI2luY2x1ZGUgPGFzbS9wYXJhdmlydC5oPgogI2Vsc2UKKyNkZWZpbmUgcGFyYXZpcnRfcGdkX2FsbG9jKG1tKQlfX3BhcmF2aXJ0X3BnZF9hbGxvYyhtbSkKK3N0YXRpYyBpbmxpbmUgdm9pZCBwYXJhdmlydF9wZ2RfZnJlZShzdHJ1Y3QgbW1fc3RydWN0ICptbSwgcGdkX3QgKnBnZCkge30KIHN0YXRpYyBpbmxpbmUgdm9pZCBwYXJhdmlydF9hbGxvY19wdGUoc3RydWN0IG1tX3N0cnVjdCAqbW0sIHVuc2lnbmVkIGxvbmcgcGZuKQl7fQogc3RhdGljIGlubGluZSB2b2lkIHBhcmF2aXJ0X2FsbG9jX3BtZChzdHJ1Y3QgbW1fc3RydWN0ICptbSwgdW5zaWduZWQgbG9uZyBwZm4pCXt9CiBzdGF0aWMgaW5saW5lIHZvaWQgcGFyYXZpcnRfYWxsb2NfcG1kX2Nsb25lKHVuc2lnbmVkIGxvbmcgcGZuLCB1bnNpZ25lZCBsb25nIGNsb25lcGZuLApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L3BndGFibGUuaCBiL2luY2x1ZGUvYXNtLXg4Ni9wZ3RhYmxlLmgKaW5kZXggOTdjMjcxYi4uNDljYmQ3NiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L3BndGFibGUuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvcGd0YWJsZS5oCkBAIC0yMCwzMCArMjAsMjUgQEAKICNkZWZpbmUgX1BBR0VfQklUX1BBVF9MQVJHRQkxMgkvKiBPbiAyTUIgb3IgMUdCIHBhZ2VzICovCiAjZGVmaW5lIF9QQUdFX0JJVF9OWCAgICAgICAgICAgNjMgICAgICAgLyogTm8gZXhlY3V0ZTogb25seSB2YWxpZCBhZnRlciBjcHVpZCBjaGVjayAqLwogCi0vKgotICogTm90ZTogd2UgdXNlIF9BQygxLCBMKSBpbnN0ZWFkIG9mIF9BQygxLCBVTCkgc28gdGhhdCB3ZSBnZXQgYQotICogc2lnbi1leHRlbmRlZCB2YWx1ZSBvbiAzMi1iaXQgd2l0aCBhbGwgMSdzIGluIHRoZSB1cHBlciB3b3JkLAotICogd2hpY2ggcHJlc2VydmVzIHRoZSB1cHBlciBwdGUgdmFsdWVzIG9uIDY0LWJpdCBwdGVzOgotICovCi0jZGVmaW5lIF9QQUdFX1BSRVNFTlQJKF9BQygxLCBMKTw8X1BBR0VfQklUX1BSRVNFTlQpCi0jZGVmaW5lIF9QQUdFX1JXCShfQUMoMSwgTCk8PF9QQUdFX0JJVF9SVykKLSNkZWZpbmUgX1BBR0VfVVNFUgkoX0FDKDEsIEwpPDxfUEFHRV9CSVRfVVNFUikKLSNkZWZpbmUgX1BBR0VfUFdUCShfQUMoMSwgTCk8PF9QQUdFX0JJVF9QV1QpCi0jZGVmaW5lIF9QQUdFX1BDRAkoX0FDKDEsIEwpPDxfUEFHRV9CSVRfUENEKQotI2RlZmluZSBfUEFHRV9BQ0NFU1NFRAkoX0FDKDEsIEwpPDxfUEFHRV9CSVRfQUNDRVNTRUQpCi0jZGVmaW5lIF9QQUdFX0RJUlRZCShfQUMoMSwgTCk8PF9QQUdFX0JJVF9ESVJUWSkKLSNkZWZpbmUgX1BBR0VfUFNFCShfQUMoMSwgTCk8PF9QQUdFX0JJVF9QU0UpCS8qIDJNQiBwYWdlICovCi0jZGVmaW5lIF9QQUdFX0dMT0JBTAkoX0FDKDEsIEwpPDxfUEFHRV9CSVRfR0xPQkFMKQkvKiBHbG9iYWwgVExCIGVudHJ5ICovCi0jZGVmaW5lIF9QQUdFX1VOVVNFRDEJKF9BQygxLCBMKTw8X1BBR0VfQklUX1VOVVNFRDEpCi0jZGVmaW5lIF9QQUdFX1VOVVNFRDIJKF9BQygxLCBMKTw8X1BBR0VfQklUX1VOVVNFRDIpCi0jZGVmaW5lIF9QQUdFX1VOVVNFRDMJKF9BQygxLCBMKTw8X1BBR0VfQklUX1VOVVNFRDMpCi0jZGVmaW5lIF9QQUdFX1BBVAkoX0FDKDEsIEwpPDxfUEFHRV9CSVRfUEFUKQotI2RlZmluZSBfUEFHRV9QQVRfTEFSR0UgKF9BQygxLCBMKTw8X1BBR0VfQklUX1BBVF9MQVJHRSkKKyNkZWZpbmUgX1BBR0VfUFJFU0VOVAkoX0FUKHB0ZXZhbF90LCAxKSA8PCBfUEFHRV9CSVRfUFJFU0VOVCkKKyNkZWZpbmUgX1BBR0VfUlcJKF9BVChwdGV2YWxfdCwgMSkgPDwgX1BBR0VfQklUX1JXKQorI2RlZmluZSBfUEFHRV9VU0VSCShfQVQocHRldmFsX3QsIDEpIDw8IF9QQUdFX0JJVF9VU0VSKQorI2RlZmluZSBfUEFHRV9QV1QJKF9BVChwdGV2YWxfdCwgMSkgPDwgX1BBR0VfQklUX1BXVCkKKyNkZWZpbmUgX1BBR0VfUENECShfQVQocHRldmFsX3QsIDEpIDw8IF9QQUdFX0JJVF9QQ0QpCisjZGVmaW5lIF9QQUdFX0FDQ0VTU0VECShfQVQocHRldmFsX3QsIDEpIDw8IF9QQUdFX0JJVF9BQ0NFU1NFRCkKKyNkZWZpbmUgX1BBR0VfRElSVFkJKF9BVChwdGV2YWxfdCwgMSkgPDwgX1BBR0VfQklUX0RJUlRZKQorI2RlZmluZSBfUEFHRV9QU0UJKF9BVChwdGV2YWxfdCwgMSkgPDwgX1BBR0VfQklUX1BTRSkKKyNkZWZpbmUgX1BBR0VfR0xPQkFMCShfQVQocHRldmFsX3QsIDEpIDw8IF9QQUdFX0JJVF9HTE9CQUwpCisjZGVmaW5lIF9QQUdFX1VOVVNFRDEJKF9BVChwdGV2YWxfdCwgMSkgPDwgX1BBR0VfQklUX1VOVVNFRDEpCisjZGVmaW5lIF9QQUdFX1VOVVNFRDIJKF9BVChwdGV2YWxfdCwgMSkgPDwgX1BBR0VfQklUX1VOVVNFRDIpCisjZGVmaW5lIF9QQUdFX1VOVVNFRDMJKF9BVChwdGV2YWxfdCwgMSkgPDwgX1BBR0VfQklUX1VOVVNFRDMpCisjZGVmaW5lIF9QQUdFX1BBVAkoX0FUKHB0ZXZhbF90LCAxKSA8PCBfUEFHRV9CSVRfUEFUKQorI2RlZmluZSBfUEFHRV9QQVRfTEFSR0UgKF9BVChwdGV2YWxfdCwgMSkgPDwgX1BBR0VfQklUX1BBVF9MQVJHRSkKIAogI2lmIGRlZmluZWQoQ09ORklHX1g4Nl82NCkgfHwgZGVmaW5lZChDT05GSUdfWDg2X1BBRSkKLSNkZWZpbmUgX1BBR0VfTlgJKF9BQygxLCBVTEwpIDw8IF9QQUdFX0JJVF9OWCkKKyNkZWZpbmUgX1BBR0VfTlgJKF9BVChwdGV2YWxfdCwgMSkgPDwgX1BBR0VfQklUX05YKQogI2Vsc2UKLSNkZWZpbmUgX1BBR0VfTlgJMAorI2RlZmluZSBfUEFHRV9OWAkoX0FUKHB0ZXZhbF90LCAwKSkKICNlbmRpZgogCiAvKiBJZiBfUEFHRV9QUkVTRU5UIGlzIGNsZWFyLCB3ZSB1c2UgdGhlc2U6ICovCkBAIC04MywxOSArNzgsOSBAQAogI2RlZmluZSBQQUdFX1JFQURPTkxZX0VYRUMJX19wZ3Byb3QoX1BBR0VfUFJFU0VOVCB8IF9QQUdFX1VTRVIgfAlcCiAJCQkJCSBfUEFHRV9BQ0NFU1NFRCkKIAotI2lmZGVmIENPTkZJR19YODZfMzIKLSNkZWZpbmUgX1BBR0VfS0VSTkVMX0VYRUMgXAotCShfUEFHRV9QUkVTRU5UIHwgX1BBR0VfUlcgfCBfUEFHRV9ESVJUWSB8IF9QQUdFX0FDQ0VTU0VEKQotI2RlZmluZSBfUEFHRV9LRVJORUwgKF9QQUdFX0tFUk5FTF9FWEVDIHwgX1BBR0VfTlgpCi0KLSNpZm5kZWYgX19BU1NFTUJMWV9fCi1leHRlcm4gcHRldmFsX3QgX19QQUdFX0tFUk5FTCwgX19QQUdFX0tFUk5FTF9FWEVDOwotI2VuZGlmCS8qIF9fQVNTRU1CTFlfXyAqLwotI2Vsc2UKICNkZWZpbmUgX19QQUdFX0tFUk5FTF9FWEVDCQkJCQkJXAotCShfUEFHRV9QUkVTRU5UIHwgX1BBR0VfUlcgfCBfUEFHRV9ESVJUWSB8IF9QQUdFX0FDQ0VTU0VEKQorCShfUEFHRV9QUkVTRU5UIHwgX1BBR0VfUlcgfCBfUEFHRV9ESVJUWSB8IF9QQUdFX0FDQ0VTU0VEIHwgX1BBR0VfR0xPQkFMKQogI2RlZmluZSBfX1BBR0VfS0VSTkVMCQkoX19QQUdFX0tFUk5FTF9FWEVDIHwgX1BBR0VfTlgpCi0jZW5kaWYKIAogI2RlZmluZSBfX1BBR0VfS0VSTkVMX1JPCQkoX19QQUdFX0tFUk5FTCAmIH5fUEFHRV9SVykKICNkZWZpbmUgX19QQUdFX0tFUk5FTF9SWAkJKF9fUEFHRV9LRVJORUxfRVhFQyAmIH5fUEFHRV9SVykKQEAgLTEwNiwyNiArOTEsMjIgQEAKICNkZWZpbmUgX19QQUdFX0tFUk5FTF9WU1lTQ0FMTAkJKF9fUEFHRV9LRVJORUxfUlggfCBfUEFHRV9VU0VSKQogI2RlZmluZSBfX1BBR0VfS0VSTkVMX1ZTWVNDQUxMX05PQ0FDSEUJKF9fUEFHRV9LRVJORUxfVlNZU0NBTEwgfCBfUEFHRV9QQ0QgfCBfUEFHRV9QV1QpCiAjZGVmaW5lIF9fUEFHRV9LRVJORUxfTEFSR0UJCShfX1BBR0VfS0VSTkVMIHwgX1BBR0VfUFNFKQorI2RlZmluZSBfX1BBR0VfS0VSTkVMX0xBUkdFX05PQ0FDSEUJKF9fUEFHRV9LRVJORUwgfCBfUEFHRV9DQUNIRV9VQyB8IF9QQUdFX1BTRSkKICNkZWZpbmUgX19QQUdFX0tFUk5FTF9MQVJHRV9FWEVDCShfX1BBR0VfS0VSTkVMX0VYRUMgfCBfUEFHRV9QU0UpCiAKLSNpZmRlZiBDT05GSUdfWDg2XzMyCi0jIGRlZmluZSBNQUtFX0dMT0JBTCh4KQkJCV9fcGdwcm90KCh4KSkKLSNlbHNlCi0jIGRlZmluZSBNQUtFX0dMT0JBTCh4KQkJCV9fcGdwcm90KCh4KSB8IF9QQUdFX0dMT0JBTCkKLSNlbmRpZgotCi0jZGVmaW5lIFBBR0VfS0VSTkVMCQkJTUFLRV9HTE9CQUwoX19QQUdFX0tFUk5FTCkKLSNkZWZpbmUgUEFHRV9LRVJORUxfUk8JCQlNQUtFX0dMT0JBTChfX1BBR0VfS0VSTkVMX1JPKQotI2RlZmluZSBQQUdFX0tFUk5FTF9FWEVDCQlNQUtFX0dMT0JBTChfX1BBR0VfS0VSTkVMX0VYRUMpCi0jZGVmaW5lIFBBR0VfS0VSTkVMX1JYCQkJTUFLRV9HTE9CQUwoX19QQUdFX0tFUk5FTF9SWCkKLSNkZWZpbmUgUEFHRV9LRVJORUxfV0MJCQlNQUtFX0dMT0JBTChfX1BBR0VfS0VSTkVMX1dDKQotI2RlZmluZSBQQUdFX0tFUk5FTF9OT0NBQ0hFCQlNQUtFX0dMT0JBTChfX1BBR0VfS0VSTkVMX05PQ0FDSEUpCi0jZGVmaW5lIFBBR0VfS0VSTkVMX1VDX01JTlVTCQlNQUtFX0dMT0JBTChfX1BBR0VfS0VSTkVMX1VDX01JTlVTKQotI2RlZmluZSBQQUdFX0tFUk5FTF9FWEVDX05PQ0FDSEUJTUFLRV9HTE9CQUwoX19QQUdFX0tFUk5FTF9FWEVDX05PQ0FDSEUpCi0jZGVmaW5lIFBBR0VfS0VSTkVMX0xBUkdFCQlNQUtFX0dMT0JBTChfX1BBR0VfS0VSTkVMX0xBUkdFKQotI2RlZmluZSBQQUdFX0tFUk5FTF9MQVJHRV9FWEVDCQlNQUtFX0dMT0JBTChfX1BBR0VfS0VSTkVMX0xBUkdFX0VYRUMpCi0jZGVmaW5lIFBBR0VfS0VSTkVMX1ZTWVNDQUxMCQlNQUtFX0dMT0JBTChfX1BBR0VfS0VSTkVMX1ZTWVNDQUxMKQotI2RlZmluZSBQQUdFX0tFUk5FTF9WU1lTQ0FMTF9OT0NBQ0hFCU1BS0VfR0xPQkFMKF9fUEFHRV9LRVJORUxfVlNZU0NBTExfTk9DQUNIRSkKKyNkZWZpbmUgUEFHRV9LRVJORUwJCQlfX3BncHJvdChfX1BBR0VfS0VSTkVMKQorI2RlZmluZSBQQUdFX0tFUk5FTF9STwkJCV9fcGdwcm90KF9fUEFHRV9LRVJORUxfUk8pCisjZGVmaW5lIFBBR0VfS0VSTkVMX0VYRUMJCV9fcGdwcm90KF9fUEFHRV9LRVJORUxfRVhFQykKKyNkZWZpbmUgUEFHRV9LRVJORUxfUlgJCQlfX3BncHJvdChfX1BBR0VfS0VSTkVMX1JYKQorI2RlZmluZSBQQUdFX0tFUk5FTF9XQwkJCV9fcGdwcm90KF9fUEFHRV9LRVJORUxfV0MpCisjZGVmaW5lIFBBR0VfS0VSTkVMX05PQ0FDSEUJCV9fcGdwcm90KF9fUEFHRV9LRVJORUxfTk9DQUNIRSkKKyNkZWZpbmUgUEFHRV9LRVJORUxfVUNfTUlOVVMJCV9fcGdwcm90KF9fUEFHRV9LRVJORUxfVUNfTUlOVVMpCisjZGVmaW5lIFBBR0VfS0VSTkVMX0VYRUNfTk9DQUNIRQlfX3BncHJvdChfX1BBR0VfS0VSTkVMX0VYRUNfTk9DQUNIRSkKKyNkZWZpbmUgUEFHRV9LRVJORUxfTEFSR0UJCV9fcGdwcm90KF9fUEFHRV9LRVJORUxfTEFSR0UpCisjZGVmaW5lIFBBR0VfS0VSTkVMX0xBUkdFX05PQ0FDSEUJX19wZ3Byb3QoX19QQUdFX0tFUk5FTF9MQVJHRV9OT0NBQ0hFKQorI2RlZmluZSBQQUdFX0tFUk5FTF9MQVJHRV9FWEVDCQlfX3BncHJvdChfX1BBR0VfS0VSTkVMX0xBUkdFX0VYRUMpCisjZGVmaW5lIFBBR0VfS0VSTkVMX1ZTWVNDQUxMCQlfX3BncHJvdChfX1BBR0VfS0VSTkVMX1ZTWVNDQUxMKQorI2RlZmluZSBQQUdFX0tFUk5FTF9WU1lTQ0FMTF9OT0NBQ0hFCV9fcGdwcm90KF9fUEFHRV9LRVJORUxfVlNZU0NBTExfTk9DQUNIRSkKIAogLyogICAgICAgICB4d3IgKi8KICNkZWZpbmUgX19QMDAwCVBBR0VfTk9ORQpAQCAtMTY0LDM3ICsxNDUsMzcgQEAKICAqLwogc3RhdGljIGlubGluZSBpbnQgcHRlX2RpcnR5KHB0ZV90IHB0ZSkKIHsKLQlyZXR1cm4gcHRlX3ZhbChwdGUpICYgX1BBR0VfRElSVFk7CisJcmV0dXJuIHB0ZV9mbGFncyhwdGUpICYgX1BBR0VfRElSVFk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgaW50IHB0ZV95b3VuZyhwdGVfdCBwdGUpCiB7Ci0JcmV0dXJuIHB0ZV92YWwocHRlKSAmIF9QQUdFX0FDQ0VTU0VEOworCXJldHVybiBwdGVfZmxhZ3MocHRlKSAmIF9QQUdFX0FDQ0VTU0VEOwogfQogCiBzdGF0aWMgaW5saW5lIGludCBwdGVfd3JpdGUocHRlX3QgcHRlKQogewotCXJldHVybiBwdGVfdmFsKHB0ZSkgJiBfUEFHRV9SVzsKKwlyZXR1cm4gcHRlX2ZsYWdzKHB0ZSkgJiBfUEFHRV9SVzsKIH0KIAogc3RhdGljIGlubGluZSBpbnQgcHRlX2ZpbGUocHRlX3QgcHRlKQogewotCXJldHVybiBwdGVfdmFsKHB0ZSkgJiBfUEFHRV9GSUxFOworCXJldHVybiBwdGVfZmxhZ3MocHRlKSAmIF9QQUdFX0ZJTEU7CiB9CiAKIHN0YXRpYyBpbmxpbmUgaW50IHB0ZV9odWdlKHB0ZV90IHB0ZSkKIHsKLQlyZXR1cm4gcHRlX3ZhbChwdGUpICYgX1BBR0VfUFNFOworCXJldHVybiBwdGVfZmxhZ3MocHRlKSAmIF9QQUdFX1BTRTsKIH0KIAogc3RhdGljIGlubGluZSBpbnQgcHRlX2dsb2JhbChwdGVfdCBwdGUpCiB7Ci0JcmV0dXJuIHB0ZV92YWwocHRlKSAmIF9QQUdFX0dMT0JBTDsKKwlyZXR1cm4gcHRlX2ZsYWdzKHB0ZSkgJiBfUEFHRV9HTE9CQUw7CiB9CiAKIHN0YXRpYyBpbmxpbmUgaW50IHB0ZV9leGVjKHB0ZV90IHB0ZSkKIHsKLQlyZXR1cm4gIShwdGVfdmFsKHB0ZSkgJiBfUEFHRV9OWCk7CisJcmV0dXJuICEocHRlX2ZsYWdzKHB0ZSkgJiBfUEFHRV9OWCk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgaW50IHB0ZV9zcGVjaWFsKHB0ZV90IHB0ZSkKQEAgLTIxMCwyMiArMTkxLDIyIEBACiAKIHN0YXRpYyBpbmxpbmUgcHRlX3QgcHRlX21rY2xlYW4ocHRlX3QgcHRlKQogewotCXJldHVybiBfX3B0ZShwdGVfdmFsKHB0ZSkgJiB+KHB0ZXZhbF90KV9QQUdFX0RJUlRZKTsKKwlyZXR1cm4gX19wdGUocHRlX3ZhbChwdGUpICYgfl9QQUdFX0RJUlRZKTsKIH0KIAogc3RhdGljIGlubGluZSBwdGVfdCBwdGVfbWtvbGQocHRlX3QgcHRlKQogewotCXJldHVybiBfX3B0ZShwdGVfdmFsKHB0ZSkgJiB+KHB0ZXZhbF90KV9QQUdFX0FDQ0VTU0VEKTsKKwlyZXR1cm4gX19wdGUocHRlX3ZhbChwdGUpICYgfl9QQUdFX0FDQ0VTU0VEKTsKIH0KIAogc3RhdGljIGlubGluZSBwdGVfdCBwdGVfd3Jwcm90ZWN0KHB0ZV90IHB0ZSkKIHsKLQlyZXR1cm4gX19wdGUocHRlX3ZhbChwdGUpICYgfihwdGV2YWxfdClfUEFHRV9SVyk7CisJcmV0dXJuIF9fcHRlKHB0ZV92YWwocHRlKSAmIH5fUEFHRV9SVyk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgcHRlX3QgcHRlX21rZXhlYyhwdGVfdCBwdGUpCiB7Ci0JcmV0dXJuIF9fcHRlKHB0ZV92YWwocHRlKSAmIH4ocHRldmFsX3QpX1BBR0VfTlgpOworCXJldHVybiBfX3B0ZShwdGVfdmFsKHB0ZSkgJiB+X1BBR0VfTlgpOwogfQogCiBzdGF0aWMgaW5saW5lIHB0ZV90IHB0ZV9ta2RpcnR5KHB0ZV90IHB0ZSkKQEAgLTI1MCw3ICsyMzEsNyBAQAogCiBzdGF0aWMgaW5saW5lIHB0ZV90IHB0ZV9jbHJodWdlKHB0ZV90IHB0ZSkKIHsKLQlyZXR1cm4gX19wdGUocHRlX3ZhbChwdGUpICYgfihwdGV2YWxfdClfUEFHRV9QU0UpOworCXJldHVybiBfX3B0ZShwdGVfdmFsKHB0ZSkgJiB+X1BBR0VfUFNFKTsKIH0KIAogc3RhdGljIGlubGluZSBwdGVfdCBwdGVfbWtnbG9iYWwocHRlX3QgcHRlKQpAQCAtMjYwLDcgKzI0MSw3IEBACiAKIHN0YXRpYyBpbmxpbmUgcHRlX3QgcHRlX2Nscmdsb2JhbChwdGVfdCBwdGUpCiB7Ci0JcmV0dXJuIF9fcHRlKHB0ZV92YWwocHRlKSAmIH4ocHRldmFsX3QpX1BBR0VfR0xPQkFMKTsKKwlyZXR1cm4gX19wdGUocHRlX3ZhbChwdGUpICYgfl9QQUdFX0dMT0JBTCk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgcHRlX3QgcHRlX21rc3BlY2lhbChwdGVfdCBwdGUpCkBAIC0zMDUsNyArMjg2LDcgQEAKIAlyZXR1cm4gX19wZ3Byb3QocHJlc2VydmViaXRzIHwgYWRkYml0cyk7CiB9CiAKLSNkZWZpbmUgcHRlX3BncHJvdCh4KSBfX3BncHJvdChwdGVfdmFsKHgpICYgflBURV9NQVNLKQorI2RlZmluZSBwdGVfcGdwcm90KHgpIF9fcGdwcm90KHB0ZV9mbGFncyh4KSAmIH5QVEVfTUFTSykKIAogI2RlZmluZSBjYW5vbl9wZ3Byb3QocCkgX19wZ3Byb3QocGdwcm90X3ZhbChwKSAmIF9fc3VwcG9ydGVkX3B0ZV9tYXNrKQogCkBAIC0zMTgsNiArMjk5LDkgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgc2l6ZSwgcGdwcm90X3QgKnZtYV9wcm90KTsKICNlbmRpZgogCisvKiBJbnN0YWxsIGEgcHRlIGZvciBhIHBhcnRpY3VsYXIgdmFkZHIgaW4ga2VybmVsIHNwYWNlLiAqLwordm9pZCBzZXRfcHRlX3ZhZGRyKHVuc2lnbmVkIGxvbmcgdmFkZHIsIHB0ZV90IHB0ZSk7CisKICNpZmRlZiBDT05GSUdfUEFSQVZJUlQKICNpbmNsdWRlIDxhc20vcGFyYXZpcnQuaD4KICNlbHNlICAvKiAhQ09ORklHX1BBUkFWSVJUICovCkBAIC0zNTksNiArMzQzLDI2IEBACiAjIGluY2x1ZGUgInBndGFibGVfNjQuaCIKICNlbmRpZgogCisvKgorICogdGhlIHBnZCBwYWdlIGNhbiBiZSB0aG91Z2h0IG9mIGFuIGFycmF5IGxpa2UgdGhpczogcGdkX3RbUFRSU19QRVJfUEdEXQorICoKKyAqIHRoaXMgbWFjcm8gcmV0dXJucyB0aGUgaW5kZXggb2YgdGhlIGVudHJ5IGluIHRoZSBwZ2QgcGFnZSB3aGljaCB3b3VsZAorICogY29udHJvbCB0aGUgZ2l2ZW4gdmlydHVhbCBhZGRyZXNzCisgKi8KKyNkZWZpbmUgcGdkX2luZGV4KGFkZHJlc3MpICgoKGFkZHJlc3MpID4+IFBHRElSX1NISUZUKSAmIChQVFJTX1BFUl9QR0QgLSAxKSkKKworLyoKKyAqIHBnZF9vZmZzZXQoKSByZXR1cm5zIGEgKHBnZF90ICopCisgKiBwZ2RfaW5kZXgoKSBpcyB1c2VkIGdldCB0aGUgb2Zmc2V0IGludG8gdGhlIHBnZCBwYWdlJ3MgYXJyYXkgb2YgcGdkX3QnczsKKyAqLworI2RlZmluZSBwZ2Rfb2Zmc2V0KG1tLCBhZGRyZXNzKSAoKG1tKS0+cGdkICsgcGdkX2luZGV4KChhZGRyZXNzKSkpCisvKgorICogYSBzaG9ydGN1dCB3aGljaCBpbXBsaWVzIHRoZSB1c2Ugb2YgdGhlIGtlcm5lbCdzIHBnZCwgaW5zdGVhZAorICogb2YgYSBwcm9jZXNzJ3MKKyAqLworI2RlZmluZSBwZ2Rfb2Zmc2V0X2soYWRkcmVzcykgcGdkX29mZnNldCgmaW5pdF9tbSwgKGFkZHJlc3MpKQorCisKICNkZWZpbmUgS0VSTkVMX1BHRF9CT1VOREFSWQlwZ2RfaW5kZXgoUEFHRV9PRkZTRVQpCiAjZGVmaW5lIEtFUk5FTF9QR0RfUFRSUwkJKFBUUlNfUEVSX1BHRCAtIEtFUk5FTF9QR0RfQk9VTkRBUlkpCiAKQEAgLTM2OSw4ICszNzMsMTUgQEAKIAlQR19MRVZFTF80SywKIAlQR19MRVZFTF8yTSwKIAlQR19MRVZFTF8xRywKKwlQR19MRVZFTF9OVU0KIH07CiAKKyNpZmRlZiBDT05GSUdfUFJPQ19GUworZXh0ZXJuIHZvaWQgdXBkYXRlX3BhZ2VfY291bnQoaW50IGxldmVsLCB1bnNpZ25lZCBsb25nIHBhZ2VzKTsKKyNlbHNlCitzdGF0aWMgaW5saW5lIHZvaWQgdXBkYXRlX3BhZ2VfY291bnQoaW50IGxldmVsLCB1bnNpZ25lZCBsb25nIHBhZ2VzKSB7IH0KKyNlbmRpZgorCiAvKgogICogSGVscGVyIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyB0aGUga2VybmVsIHBhZ2V0YWJsZSBlbnRyeSBjb250cm9sbGluZwogICogdGhlIHZpcnR1YWwgYWRkcmVzcyAnYWRkcmVzcycuIE5VTEwgbWVhbnMgbm8gcGFnZXRhYmxlIGVudHJ5IHByZXNlbnQuCkBAIC00MjAsNiArNDMxLDggQEAKICAqIHJhY2Ugd2l0aCBvdGhlciBDUFUncyB0aGF0IG1pZ2h0IGJlIHVwZGF0aW5nIHRoZSBkaXJ0eQogICogYml0IGF0IHRoZSBzYW1lIHRpbWUuCiAgKi8KK3N0cnVjdCB2bV9hcmVhX3N0cnVjdDsKKwogI2RlZmluZSAgX19IQVZFX0FSQ0hfUFRFUF9TRVRfQUNDRVNTX0ZMQUdTCiBleHRlcm4gaW50IHB0ZXBfc2V0X2FjY2Vzc19mbGFncyhzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZtYSwKIAkJCQkgdW5zaWduZWQgbG9uZyBhZGRyZXNzLCBwdGVfdCAqcHRlcCwKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9wZ3RhYmxlXzMyLmggYi9pbmNsdWRlL2FzbS14ODYvcGd0YWJsZV8zMi5oCmluZGV4IDMyY2EwMzEuLmVjODcxYzQgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9wZ3RhYmxlXzMyLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L3BndGFibGVfMzIuaApAQCAtMTEzLDI2ICsxMTMsNiBAQAogICovCiAjZGVmaW5lIG1rX3B0ZShwYWdlLCBwZ3Byb3QpCXBmbl9wdGUocGFnZV90b19wZm4ocGFnZSksIChwZ3Byb3QpKQogCi0vKgotICogdGhlIHBnZCBwYWdlIGNhbiBiZSB0aG91Z2h0IG9mIGFuIGFycmF5IGxpa2UgdGhpczogcGdkX3RbUFRSU19QRVJfUEdEXQotICoKLSAqIHRoaXMgbWFjcm8gcmV0dXJucyB0aGUgaW5kZXggb2YgdGhlIGVudHJ5IGluIHRoZSBwZ2QgcGFnZSB3aGljaCB3b3VsZAotICogY29udHJvbCB0aGUgZ2l2ZW4gdmlydHVhbCBhZGRyZXNzCi0gKi8KLSNkZWZpbmUgcGdkX2luZGV4KGFkZHJlc3MpICgoKGFkZHJlc3MpID4+IFBHRElSX1NISUZUKSAmIChQVFJTX1BFUl9QR0QgLSAxKSkKLSNkZWZpbmUgcGdkX2luZGV4X2soYWRkcikgcGdkX2luZGV4KChhZGRyKSkKLQotLyoKLSAqIHBnZF9vZmZzZXQoKSByZXR1cm5zIGEgKHBnZF90ICopCi0gKiBwZ2RfaW5kZXgoKSBpcyB1c2VkIGdldCB0aGUgb2Zmc2V0IGludG8gdGhlIHBnZCBwYWdlJ3MgYXJyYXkgb2YgcGdkX3QnczsKLSAqLwotI2RlZmluZSBwZ2Rfb2Zmc2V0KG1tLCBhZGRyZXNzKSAoKG1tKS0+cGdkICsgcGdkX2luZGV4KChhZGRyZXNzKSkpCi0KLS8qCi0gKiBhIHNob3J0Y3V0IHdoaWNoIGltcGxpZXMgdGhlIHVzZSBvZiB0aGUga2VybmVsJ3MgcGdkLCBpbnN0ZWFkCi0gKiBvZiBhIHByb2Nlc3MncwotICovCi0jZGVmaW5lIHBnZF9vZmZzZXRfayhhZGRyZXNzKSBwZ2Rfb2Zmc2V0KCZpbml0X21tLCAoYWRkcmVzcykpCiAKIHN0YXRpYyBpbmxpbmUgaW50IHB1ZF9sYXJnZShwdWRfdCBwdWQpIHsgcmV0dXJuIDA7IH0KIApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L3BndGFibGVfNjQuaCBiL2luY2x1ZGUvYXNtLXg4Ni9wZ3RhYmxlXzY0LmgKaW5kZXggMWNjNTBkMi4uZmE3MjA4YiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L3BndGFibGVfNjQuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvcGd0YWJsZV82NC5oCkBAIC03MCw2ICs3MCw5IEBACiAKIHN0cnVjdCBtbV9zdHJ1Y3Q7CiAKK3ZvaWQgc2V0X3B0ZV92YWRkcl9wdWQocHVkX3QgKnB1ZF9wYWdlLCB1bnNpZ25lZCBsb25nIHZhZGRyLCBwdGVfdCBuZXdfcHRlKTsKKworCiBzdGF0aWMgaW5saW5lIHZvaWQgbmF0aXZlX3B0ZV9jbGVhcihzdHJ1Y3QgbW1fc3RydWN0ICptbSwgdW5zaWduZWQgbG9uZyBhZGRyLAogCQkJCSAgICBwdGVfdCAqcHRlcCkKIHsKQEAgLTE5MCwxMiArMTkzLDkgQEAKICNkZWZpbmUgcGdkX3BhZ2VfdmFkZHIocGdkKQkJCQkJCVwKIAkoKHVuc2lnbmVkIGxvbmcpX192YSgodW5zaWduZWQgbG9uZylwZ2RfdmFsKChwZ2QpKSAmIFBURV9NQVNLKSkKICNkZWZpbmUgcGdkX3BhZ2UocGdkKQkJKHBmbl90b19wYWdlKHBnZF92YWwoKHBnZCkpID4+IFBBR0VfU0hJRlQpKQotI2RlZmluZSBwZ2RfaW5kZXgoYWRkcmVzcykgKCgoYWRkcmVzcykgPj4gUEdESVJfU0hJRlQpICYgKFBUUlNfUEVSX1BHRCAtIDEpKQotI2RlZmluZSBwZ2Rfb2Zmc2V0KG1tLCBhZGRyZXNzKQkoKG1tKS0+cGdkICsgcGdkX2luZGV4KChhZGRyZXNzKSkpCi0jZGVmaW5lIHBnZF9vZmZzZXRfayhhZGRyZXNzKSAoaW5pdF9sZXZlbDRfcGd0ICsgcGdkX2luZGV4KChhZGRyZXNzKSkpCiAjZGVmaW5lIHBnZF9wcmVzZW50KHBnZCkgKHBnZF92YWwocGdkKSAmIF9QQUdFX1BSRVNFTlQpCiBzdGF0aWMgaW5saW5lIGludCBwZ2RfbGFyZ2UocGdkX3QgcGdkKSB7IHJldHVybiAwOyB9Ci0jZGVmaW5lIG1rX2tlcm5lbF9wZ2QoYWRkcmVzcykgKChwZ2RfdCl7IChhZGRyZXNzKSB8IF9LRVJOUEdfVEFCTEUgfSkKKyNkZWZpbmUgbWtfa2VybmVsX3BnZChhZGRyZXNzKSBfX3BnZCgoYWRkcmVzcykgfCBfS0VSTlBHX1RBQkxFKQogCiAvKiBQVUQgLSBMZXZlbDMgYWNjZXNzICovCiAvKiB0byBmaW5kIGFuIGVudHJ5IGluIGEgcGFnZS10YWJsZS1kaXJlY3RvcnkuICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvcHJvY2Vzc29yLWZsYWdzLmggYi9pbmNsdWRlL2FzbS14ODYvcHJvY2Vzc29yLWZsYWdzLmgKaW5kZXggMTk5Y2FiMS4uMDkyYjM5YiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L3Byb2Nlc3Nvci1mbGFncy5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9wcm9jZXNzb3ItZmxhZ3MuaApAQCAtODgsNCArODgsMTAgQEAKICNkZWZpbmUgQ1g4Nl9BUlJfQkFTRQkweGM0CiAjZGVmaW5lIENYODZfUkNSX0JBU0UJMHhkYwogCisjaWZkZWYgQ09ORklHX1ZNODYKKyNkZWZpbmUgWDg2X1ZNX01BU0sJWDg2X0VGTEFHU19WTQorI2Vsc2UKKyNkZWZpbmUgWDg2X1ZNX01BU0sJMCAvKiBObyBWTTg2IHN1cHBvcnQgKi8KKyNlbmRpZgorCiAjZW5kaWYJLyogX19BU01fSTM4Nl9QUk9DRVNTT1JfRkxBR1NfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L3Byb2Nlc3Nvci5oIGIvaW5jbHVkZS9hc20teDg2L3Byb2Nlc3Nvci5oCmluZGV4IDU1OTEwNTIuLjdmNzM4MjcgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9wcm9jZXNzb3IuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvcHJvY2Vzc29yLmgKQEAgLTE1Myw3ICsxNTMsNyBAQAogCiBleHRlcm4gdm9pZCBjcHVfZGV0ZWN0KHN0cnVjdCBjcHVpbmZvX3g4NiAqYyk7CiAKLWV4dGVybiB2b2lkIGlkZW50aWZ5X2NwdShzdHJ1Y3QgY3B1aW5mb194ODYgKik7CitleHRlcm4gdm9pZCBlYXJseV9jcHVfaW5pdCh2b2lkKTsKIGV4dGVybiB2b2lkIGlkZW50aWZ5X2Jvb3RfY3B1KHZvaWQpOwogZXh0ZXJuIHZvaWQgaWRlbnRpZnlfc2Vjb25kYXJ5X2NwdShzdHJ1Y3QgY3B1aW5mb194ODYgKik7CiBleHRlcm4gdm9pZCBwcmludF9jcHVfaW5mbyhzdHJ1Y3QgY3B1aW5mb194ODYgKik7CkBAIC0yNjMsMTUgKzI2MywxMSBAQAogCXN0cnVjdCB0aHJlYWRfc3RydWN0CSppb19iaXRtYXBfb3duZXI7CiAKIAkvKgotCSAqIFBhZCB0aGUgVFNTIHRvIGJlIGNhY2hlbGluZS1hbGlnbmVkIChzaXplIGlzIDB4MTAwKToKLQkgKi8KLQl1bnNpZ25lZCBsb25nCQlfX2NhY2hlbGluZV9maWxsZXJbMzVdOwotCS8qCiAJICogLi4gYW5kIHRoZW4gYW5vdGhlciAweDEwMCBieXRlcyBmb3IgdGhlIGVtZXJnZW5jeSBrZXJuZWwgc3RhY2s6CiAJICovCiAJdW5zaWduZWQgbG9uZwkJc3RhY2tbNjRdOwogCi19IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOworfSBfX19fY2FjaGVsaW5lX2FsaWduZWQ7CiAKIERFQ0xBUkVfUEVSX0NQVShzdHJ1Y3QgdHNzX3N0cnVjdCwgaW5pdF90c3MpOwogCkBAIC01MzUsNyArNTMxLDYgQEAKIH0KIAogI2RlZmluZSBzZXRfaW9wbF9tYXNrIG5hdGl2ZV9zZXRfaW9wbF9tYXNrCi0jZGVmaW5lIFNXQVBHUwlzd2FwZ3MKICNlbmRpZiAvKiBDT05GSUdfUEFSQVZJUlQgKi8KIAogLyoKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9wcm90by5oIGIvaW5jbHVkZS9hc20teDg2L3Byb3RvLmgKaW5kZXggNmM4YjQxYi4uM2RkNDU4YyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L3Byb3RvLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L3Byb3RvLmgKQEAgLTE0LDggKzE0LDYgQEAKIGV4dGVybiB2b2lkIGlhMzJfY3N0YXJfdGFyZ2V0KHZvaWQpOwogZXh0ZXJuIHZvaWQgaWEzMl9zeXNlbnRlcl90YXJnZXQodm9pZCk7CiAKLWV4dGVybiB2b2lkIHJlc2VydmVfYm9vdG1lbV9nZW5lcmljKHVuc2lnbmVkIGxvbmcgcGh5cywgdW5zaWduZWQgbGVuKTsKLQogZXh0ZXJuIHZvaWQgc3lzY2FsbDMyX2NwdV9pbml0KHZvaWQpOwogCiBleHRlcm4gdm9pZCBjaGVja19lZmVyKHZvaWQpOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L3B0cmFjZS5oIGIvaW5jbHVkZS9hc20teDg2L3B0cmFjZS5oCmluZGV4IDlmOTIyYjAuLjhhNzFkYjggMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9wdHJhY2UuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvcHRyYWNlLmgKQEAgLTMsNyArMywxMiBAQAogCiAjaW5jbHVkZSA8bGludXgvY29tcGlsZXIuaD4JLyogRm9yIF9fdXNlciAqLwogI2luY2x1ZGUgPGFzbS9wdHJhY2UtYWJpLmg+CisjaW5jbHVkZSA8YXNtL3Byb2Nlc3Nvci1mbGFncy5oPgogCisjaWZkZWYgX19LRVJORUxfXworI2luY2x1ZGUgPGFzbS9kcy5oPgkJLyogdGhlIERTIEJUUyBzdHJ1Y3QgaXMgdXNlZCBmb3IgcHRyYWNlIHRvbyAqLworI2luY2x1ZGUgPGFzbS9zZWdtZW50Lmg+CisjZW5kaWYKIAogI2lmbmRlZiBfX0FTU0VNQkxZX18KIApAQCAtNTUsOSArNjAsNiBAQAogCXVuc2lnbmVkIGxvbmcgc3M7CiB9OwogCi0jaW5jbHVkZSA8YXNtL3ZtODYuaD4KLSNpbmNsdWRlIDxhc20vc2VnbWVudC5oPgotCiAjZW5kaWYgLyogX19LRVJORUxfXyAqLwogCiAjZWxzZSAvKiBfX2kzODZfXyAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L3JlYm9vdC5oIGIvaW5jbHVkZS9hc20teDg2L3JlYm9vdC5oCmluZGV4IGU2Mzc0MWYuLjIwNmYzNTUgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9yZWJvb3QuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvcmVib290LmgKQEAgLTE0LDggKzE0LDggQEAKIAogZXh0ZXJuIHN0cnVjdCBtYWNoaW5lX29wcyBtYWNoaW5lX29wczsKIAotdm9pZCBtYWNoaW5lX3JlYWxfcmVzdGFydCh1bnNpZ25lZCBjaGFyICpjb2RlLCBpbnQgbGVuZ3RoKTsKIHZvaWQgbmF0aXZlX21hY2hpbmVfY3Jhc2hfc2h1dGRvd24oc3RydWN0IHB0X3JlZ3MgKnJlZ3MpOwogdm9pZCBuYXRpdmVfbWFjaGluZV9zaHV0ZG93bih2b2lkKTsKK3ZvaWQgbWFjaGluZV9yZWFsX3Jlc3RhcnQoY29uc3QgdW5zaWduZWQgY2hhciAqY29kZSwgaW50IGxlbmd0aCk7CiAKICNlbmRpZgkvKiBfQVNNX1JFQk9PVF9IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvcmVxdWlyZWQtZmVhdHVyZXMuaCBiL2luY2x1ZGUvYXNtLXg4Ni9yZXF1aXJlZC1mZWF0dXJlcy5oCmluZGV4IDc0MDBkM2EuLmFkZWM4ODcgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9yZXF1aXJlZC1mZWF0dXJlcy5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9yZXF1aXJlZC1mZWF0dXJlcy5oCkBAIC0xOSw5ICsxOSwxMyBAQAogCiAjaWYgZGVmaW5lZChDT05GSUdfWDg2X1BBRSkgfHwgZGVmaW5lZChDT05GSUdfWDg2XzY0KQogIyBkZWZpbmUgTkVFRF9QQUUJKDE8PChYODZfRkVBVFVSRV9QQUUgJiAzMSkpCi0jIGRlZmluZSBORUVEX0NYOAkoMTw8KFg4Nl9GRUFUVVJFX0NYOCAmIDMxKSkKICNlbHNlCiAjIGRlZmluZSBORUVEX1BBRQkwCisjZW5kaWYKKworI2lmZGVmIENPTkZJR19YODZfQ01QWENIRzY0CisjIGRlZmluZSBORUVEX0NYOAkoMTw8KFg4Nl9GRUFUVVJFX0NYOCAmIDMxKSkKKyNlbHNlCiAjIGRlZmluZSBORUVEX0NYOAkwCiAjZW5kaWYKIApAQCAtMzgsNyArNDIsNyBAQAogI2VuZGlmCiAKICNpZmRlZiBDT05GSUdfWDg2XzY0Ci0jZGVmaW5lIE5FRURfUFNFCSgxPDwoWDg2X0ZFQVRVUkVfUFNFICYgMzEpKQorI2RlZmluZSBORUVEX1BTRQkwCiAjZGVmaW5lIE5FRURfTVNSCSgxPDwoWDg2X0ZFQVRVUkVfTVNSICYgMzEpKQogI2RlZmluZSBORUVEX1BHRQkoMTw8KFg4Nl9GRUFUVVJFX1BHRSAmIDMxKSkKICNkZWZpbmUgTkVFRF9GWFNSCSgxPDwoWDg2X0ZFQVRVUkVfRlhTUiAmIDMxKSkKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9yZXN1bWUtdHJhY2UuaCBiL2luY2x1ZGUvYXNtLXg4Ni9yZXN1bWUtdHJhY2UuaAppbmRleCAyNTU3NTE0Li44ZDlmMGI0IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvcmVzdW1lLXRyYWNlLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L3Jlc3VtZS10cmFjZS5oCkBAIC02LDcgKzYsNyBAQAogI2RlZmluZSBUUkFDRV9SRVNVTUUodXNlcikJCQkJCVwKIGRvIHsJCQkJCQkJCVwKIAlpZiAocG1fdHJhY2VfZW5hYmxlZCkgewkJCQkJXAotCQl2b2lkICp0cmFjZWRhdGE7CQkJCVwKKwkJY29uc3Qgdm9pZCAqdHJhY2VkYXRhOwkJCQlcCiAJCWFzbSB2b2xhdGlsZShfQVNNX01PVl9VTCAiICQxZiwlMFxuIgkJXAogCQkJICAgICAiLnNlY3Rpb24gLnRyYWNlZGF0YSxcImFcIlxuIglcCiAJCQkgICAgICIxOlx0LndvcmQgJWMxXG5cdCIJCVwKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9zZWNjb21wXzMyLmggYi9pbmNsdWRlL2FzbS14ODYvc2VjY29tcF8zMi5oCmluZGV4IDE4ZGExOWUuLjM2ZTcxYzUgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9zZWNjb21wXzMyLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L3NlY2NvbXBfMzIuaApAQCAtMSw0ICsxLDUgQEAKICNpZm5kZWYgX0FTTV9TRUNDT01QX0gKKyNkZWZpbmUgX0FTTV9TRUNDT01QX0gKIAogI2luY2x1ZGUgPGxpbnV4L3RocmVhZF9pbmZvLmg+CiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9zZWNjb21wXzY0LmggYi9pbmNsdWRlL2FzbS14ODYvc2VjY29tcF82NC5oCmluZGV4IDU1M2FmNjUuLjc2Y2ZlNjkgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9zZWNjb21wXzY0LmgKKysrIGIvaW5jbHVkZS9hc20teDg2L3NlY2NvbXBfNjQuaApAQCAtMSw0ICsxLDUgQEAKICNpZm5kZWYgX0FTTV9TRUNDT01QX0gKKyNkZWZpbmUgX0FTTV9TRUNDT01QX0gKIAogI2luY2x1ZGUgPGxpbnV4L3RocmVhZF9pbmZvLmg+CiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9zZWdtZW50LmggYi9pbmNsdWRlL2FzbS14ODYvc2VnbWVudC5oCmluZGV4IGVkNTEzMWQuLmRmYzg2MDEgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9zZWdtZW50LmgKKysrIGIvaW5jbHVkZS9hc20teDg2L3NlZ21lbnQuaApAQCAtNjEsMTggKzYxLDE0IEBACiAjZGVmaW5lIEdEVF9FTlRSWV9UTFNfTUFYIAkoR0RUX0VOVFJZX1RMU19NSU4gKyBHRFRfRU5UUllfVExTX0VOVFJJRVMgLSAxKQogCiAjZGVmaW5lIEdEVF9FTlRSWV9ERUZBVUxUX1VTRVJfQ1MJMTQKLSNkZWZpbmUgX19VU0VSX0NTIChHRFRfRU5UUllfREVGQVVMVF9VU0VSX0NTICogOCArIDMpCiAKICNkZWZpbmUgR0RUX0VOVFJZX0RFRkFVTFRfVVNFUl9EUwkxNQotI2RlZmluZSBfX1VTRVJfRFMgKEdEVF9FTlRSWV9ERUZBVUxUX1VTRVJfRFMgKiA4ICsgMykKIAogI2RlZmluZSBHRFRfRU5UUllfS0VSTkVMX0JBU0UJMTIKIAogI2RlZmluZSBHRFRfRU5UUllfS0VSTkVMX0NTCQkoR0RUX0VOVFJZX0tFUk5FTF9CQVNFICsgMCkKLSNkZWZpbmUgX19LRVJORUxfQ1MgKEdEVF9FTlRSWV9LRVJORUxfQ1MgKiA4KQogCiAjZGVmaW5lIEdEVF9FTlRSWV9LRVJORUxfRFMJCShHRFRfRU5UUllfS0VSTkVMX0JBU0UgKyAxKQotI2RlZmluZSBfX0tFUk5FTF9EUyAoR0RUX0VOVFJZX0tFUk5FTF9EUyAqIDgpCiAKICNkZWZpbmUgR0RUX0VOVFJZX1RTUwkJCShHRFRfRU5UUllfS0VSTkVMX0JBU0UgKyA0KQogI2RlZmluZSBHRFRfRU5UUllfTERUCQkJKEdEVF9FTlRSWV9LRVJORUxfQkFTRSArIDUpCkBAIC0xMzksMTAgKzEzNSwxMSBAQAogI2Vsc2UKICNpbmNsdWRlIDxhc20vY2FjaGUuaD4KIAotI2RlZmluZSBfX0tFUk5FTF9DUwkweDEwCi0jZGVmaW5lIF9fS0VSTkVMX0RTCTB4MTgKKyNkZWZpbmUgR0RUX0VOVFJZX0tFUk5FTDMyX0NTIDEKKyNkZWZpbmUgR0RUX0VOVFJZX0tFUk5FTF9DUyAyCisjZGVmaW5lIEdEVF9FTlRSWV9LRVJORUxfRFMgMwogCi0jZGVmaW5lIF9fS0VSTkVMMzJfQ1MgICAweDA4CisjZGVmaW5lIF9fS0VSTkVMMzJfQ1MgICAoR0RUX0VOVFJZX0tFUk5FTDMyX0NTICogOCkKIAogLyoKICAqIHdlIGNhbm5vdCB1c2UgdGhlIHNhbWUgY29kZSBzZWdtZW50IGRlc2NyaXB0b3IgZm9yIHVzZXIgYW5kIGtlcm5lbApAQCAtMTUwLDEwICsxNDcsMTAgQEAKICAqIFRoZSBzZWdtZW50IG9mZnNldCBuZWVkcyB0byBjb250YWluIGEgUlBMLiBHcnIuIC1BSwogICogR0RUIGxheW91dCB0byBnZXQgNjRiaXQgc3lzY2FsbCByaWdodCAoc3lzcmV0IGhhcmRjb2RlcyBnZHQgb2Zmc2V0cykKICAqLwotCi0jZGVmaW5lIF9fVVNFUjMyX0NTICAgMHgyMyAgIC8qIDQqOCszICovCi0jZGVmaW5lIF9fVVNFUl9EUyAgICAgMHgyYiAgIC8qIDUqOCszICovCi0jZGVmaW5lIF9fVVNFUl9DUyAgICAgMHgzMyAgIC8qIDYqOCszICovCisjZGVmaW5lIEdEVF9FTlRSWV9ERUZBVUxUX1VTRVIzMl9DUyA0CisjZGVmaW5lIEdEVF9FTlRSWV9ERUZBVUxUX1VTRVJfRFMgNQorI2RlZmluZSBHRFRfRU5UUllfREVGQVVMVF9VU0VSX0NTIDYKKyNkZWZpbmUgX19VU0VSMzJfQ1MgICAoR0RUX0VOVFJZX0RFRkFVTFRfVVNFUjMyX0NTICogOCArIDMpCiAjZGVmaW5lIF9fVVNFUjMyX0RTCV9fVVNFUl9EUwogCiAjZGVmaW5lIEdEVF9FTlRSWV9UU1MgOAkvKiBuZWVkcyB0d28gZW50cmllcyAqLwpAQCAtMTc1LDYgKzE3MiwxMCBAQAogCiAjZW5kaWYKIAorI2RlZmluZSBfX0tFUk5FTF9DUwkoR0RUX0VOVFJZX0tFUk5FTF9DUyAqIDgpCisjZGVmaW5lIF9fS0VSTkVMX0RTCShHRFRfRU5UUllfS0VSTkVMX0RTICogOCkKKyNkZWZpbmUgX19VU0VSX0RTICAgICAoR0RUX0VOVFJZX0RFRkFVTFRfVVNFUl9EUyogOCArIDMpCisjZGVmaW5lIF9fVVNFUl9DUyAgICAgKEdEVF9FTlRSWV9ERUZBVUxUX1VTRVJfQ1MqIDggKyAzKQogI2lmbmRlZiBDT05GSUdfUEFSQVZJUlQKICNkZWZpbmUgZ2V0X2tlcm5lbF9ycGwoKSAgMAogI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvc2V0dXAuaCBiL2luY2x1ZGUvYXNtLXg4Ni9zZXR1cC5oCmluZGV4IGZhNjc2M2EuLjkwYWIyMjIgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9zZXR1cC5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9zZXR1cC5oCkBAIC04LDcgKzgsMjUgQEAKIC8qIEludGVycnVwdCBjb250cm9sIGZvciB2U01Qb3dlcmVkIHg4Nl82NCBzeXN0ZW1zICovCiB2b2lkIHZzbXBfaW5pdCh2b2lkKTsKIAotY2hhciAqbWFjaGluZV9zcGVjaWZpY19tZW1vcnlfc2V0dXAodm9pZCk7CisjaWZkZWYgQ09ORklHX1g4Nl9WSVNXUworZXh0ZXJuIHZvaWQgdmlzd3NfZWFybHlfZGV0ZWN0KHZvaWQpOworZXh0ZXJuIGludCBpc192aXN3c19ib3godm9pZCk7CisjZWxzZQorc3RhdGljIGlubGluZSB2b2lkIHZpc3dzX2Vhcmx5X2RldGVjdCh2b2lkKSB7IH0KK3N0YXRpYyBpbmxpbmUgaW50IGlzX3Zpc3dzX2JveCh2b2lkKSB7IHJldHVybiAwOyB9CisjZW5kaWYKKworLyoKKyAqIEFueSBzZXR1cCBxdWlya3MgdG8gYmUgcGVyZm9ybWVkPworICovCitleHRlcm4gaW50ICgqYXJjaF90aW1lX2luaXRfcXVpcmspKHZvaWQpOworZXh0ZXJuIGludCAoKmFyY2hfcHJlX2ludHJfaW5pdF9xdWlyaykodm9pZCk7CitleHRlcm4gaW50ICgqYXJjaF9pbnRyX2luaXRfcXVpcmspKHZvaWQpOworZXh0ZXJuIGludCAoKmFyY2hfdHJhcF9pbml0X3F1aXJrKSh2b2lkKTsKK2V4dGVybiBjaGFyICogKCphcmNoX21lbW9yeV9zZXR1cF9xdWlyaykodm9pZCk7CitleHRlcm4gaW50ICgqbWFjaF9nZXRfc21wX2NvbmZpZ19xdWlyaykodW5zaWduZWQgaW50IGVhcmx5KTsKK2V4dGVybiBpbnQgKCptYWNoX2ZpbmRfc21wX2NvbmZpZ19xdWlyaykodW5zaWduZWQgaW50IHJlc2VydmUpOworCiAjaWZuZGVmIENPTkZJR19QQVJBVklSVAogI2RlZmluZSBwYXJhdmlydF9wb3N0X2FsbG9jYXRvcl9pbml0KCkJZG8ge30gd2hpbGUgKDApCiAjZW5kaWYKQEAgLTQzLDI2ICs2MSwyMyBAQAogICovCiBleHRlcm4gc3RydWN0IGJvb3RfcGFyYW1zIGJvb3RfcGFyYW1zOwogCi0jaWZkZWYgX19pMzg2X18KIC8qCiAgKiBEbyBOT1QgRVZFUiBsb29rIGF0IHRoZSBCSU9TIG1lbW9yeSBzaXplIGxvY2F0aW9uLgogICogSXQgZG9lcyBub3Qgd29yayBvbiBtYW55IG1hY2hpbmVzLgogICovCiAjZGVmaW5lIExPV01FTVNJWkUoKQkoMHg5ZjAwMCkKIAotc3RydWN0IGU4MjBlbnRyeTsKKyNpZmRlZiBfX2kzODZfXwogCi1jaGFyICogX19pbml0IG1hY2hpbmVfc3BlY2lmaWNfbWVtb3J5X3NldHVwKHZvaWQpOwotY2hhciAqbWVtb3J5X3NldHVwKHZvaWQpOwordm9pZCBfX2luaXQgaTM4Nl9zdGFydF9rZXJuZWwodm9pZCk7CitleHRlcm4gdm9pZCBwcm9iZV9yb21zKHZvaWQpOwogCi1pbnQgX19pbml0IGNvcHlfZTgyMF9tYXAoc3RydWN0IGU4MjBlbnRyeSAqYmlvc21hcCwgaW50IG5yX21hcCk7Ci1pbnQgX19pbml0IHNhbml0aXplX2U4MjBfbWFwKHN0cnVjdCBlODIwZW50cnkgKmJpb3NtYXAsIGNoYXIgKnBucl9tYXApOwotdm9pZCBfX2luaXQgYWRkX21lbW9yeV9yZWdpb24odW5zaWduZWQgbG9uZyBsb25nIHN0YXJ0LAotCQkJICAgICAgdW5zaWduZWQgbG9uZyBsb25nIHNpemUsIGludCB0eXBlKTsKLQorZXh0ZXJuIHVuc2lnbmVkIGxvbmcgaW5pdF9wZ190YWJsZXNfc3RhcnQ7CiBleHRlcm4gdW5zaWduZWQgbG9uZyBpbml0X3BnX3RhYmxlc19lbmQ7CiAKLQorI2Vsc2UKK3ZvaWQgX19pbml0IHg4Nl82NF9zdGFydF9rZXJuZWwoY2hhciAqcmVhbF9tb2RlKTsKK3ZvaWQgX19pbml0IHg4Nl82NF9zdGFydF9yZXNlcnZhdGlvbnMoY2hhciAqcmVhbF9tb2RlX2RhdGEpOwogCiAjZW5kaWYgLyogX19pMzg2X18gKi8KICNlbmRpZiAvKiBfU0VUVVAgKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9zbXAuaCBiL2luY2x1ZGUvYXNtLXg4Ni9zbXAuaAppbmRleCAxZWJhYTVjLi4yZTIyMWYxIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvc21wLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L3NtcC5oCkBAIC0yOSwyMSArMjksMTIgQEAKIGV4dGVybiB1bnNpZ25lZCBpbnQgbnVtX3Byb2Nlc3NvcnM7CiBleHRlcm4gY3B1bWFza190IGNwdV9pbml0aWFsaXplZDsKIAotI2lmZGVmIENPTkZJR19TTVAKLWV4dGVybiB1MTYgeDg2X2NwdV90b19hcGljaWRfaW5pdFtdOwotZXh0ZXJuIHUxNiB4ODZfYmlvc19jcHVfYXBpY2lkX2luaXRbXTsKLWV4dGVybiB2b2lkICp4ODZfY3B1X3RvX2FwaWNpZF9lYXJseV9wdHI7Ci1leHRlcm4gdm9pZCAqeDg2X2Jpb3NfY3B1X2FwaWNpZF9lYXJseV9wdHI7Ci0jZWxzZQotI2RlZmluZSB4ODZfY3B1X3RvX2FwaWNpZF9lYXJseV9wdHIgTlVMTAotI2RlZmluZSB4ODZfYmlvc19jcHVfYXBpY2lkX2Vhcmx5X3B0ciBOVUxMCi0jZW5kaWYKLQogREVDTEFSRV9QRVJfQ1BVKGNwdW1hc2tfdCwgY3B1X3NpYmxpbmdfbWFwKTsKIERFQ0xBUkVfUEVSX0NQVShjcHVtYXNrX3QsIGNwdV9jb3JlX21hcCk7CiBERUNMQVJFX1BFUl9DUFUodTE2LCBjcHVfbGxjX2lkKTsKLURFQ0xBUkVfUEVSX0NQVSh1MTYsIHg4Nl9jcHVfdG9fYXBpY2lkKTsKLURFQ0xBUkVfUEVSX0NQVSh1MTYsIHg4Nl9iaW9zX2NwdV9hcGljaWQpOworCitERUNMQVJFX0VBUkxZX1BFUl9DUFUodTE2LCB4ODZfY3B1X3RvX2FwaWNpZCk7CitERUNMQVJFX0VBUkxZX1BFUl9DUFUodTE2LCB4ODZfYmlvc19jcHVfYXBpY2lkKTsKIAogLyogU3RhdGljIHN0YXRlIGluIGhlYWQuUyB1c2VkIHRvIHNldCB1cCBhIENQVSAqLwogZXh0ZXJuIHN0cnVjdCB7CkBAIC0xMTgsOCArMTA5LDYgQEAKIGV4dGVybiBpbnQgX19jcHVfZGlzYWJsZSh2b2lkKTsKIGV4dGVybiB2b2lkIF9fY3B1X2RpZSh1bnNpZ25lZCBpbnQgY3B1KTsKIAotZXh0ZXJuIHZvaWQgcHJlZmlsbF9wb3NzaWJsZV9tYXAodm9pZCk7Ci0KIHZvaWQgc21wX3N0b3JlX2NwdV9pbmZvKGludCBpZCk7CiAjZGVmaW5lIGNwdV9waHlzaWNhbF9pZChjcHUpCXBlcl9jcHUoeDg2X2NwdV90b19hcGljaWQsIGNwdSkKIApAQCAtMTMwLDYgKzExOSwxNCBAQAogfQogI2VuZGlmIC8qIENPTkZJR19TTVAgKi8KIAorI2lmIGRlZmluZWQoQ09ORklHX1NNUCkgJiYgZGVmaW5lZChDT05GSUdfSE9UUExVR19DUFUpCitleHRlcm4gdm9pZCBwcmVmaWxsX3Bvc3NpYmxlX21hcCh2b2lkKTsKKyNlbHNlCitzdGF0aWMgaW5saW5lIHZvaWQgcHJlZmlsbF9wb3NzaWJsZV9tYXAodm9pZCkKK3sKK30KKyNlbmRpZgorCiBleHRlcm4gdW5zaWduZWQgZGlzYWJsZWRfY3B1cyBfX2NwdWluaXRkYXRhOwogCiAjaWZkZWYgQ09ORklHX1g4Nl8zMl9TTVAKQEAgLTE5NywxMSArMTk0LDkgQEAKICNlbmRpZiAvKiBDT05GSUdfWDg2X0xPQ0FMX0FQSUMgKi8KIAogI2lmZGVmIENPTkZJR19IT1RQTFVHX0NQVQotZXh0ZXJuIHZvaWQgY3B1X2V4aXRfY2xlYXIodm9pZCk7CiBleHRlcm4gdm9pZCBjcHVfdW5pbml0KHZvaWQpOwogI2VuZGlmCiAKLWV4dGVybiB2b2lkIHNtcF9hbGxvY19tZW1vcnkodm9pZCk7CiBleHRlcm4gdm9pZCBsb2NrX2lwaV9jYWxsX2xvY2sodm9pZCk7CiBleHRlcm4gdm9pZCB1bmxvY2tfaXBpX2NhbGxfbG9jayh2b2lkKTsKICNlbmRpZiAvKiBfX0FTU0VNQkxZX18gKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9zcmF0LmggYi9pbmNsdWRlL2FzbS14ODYvc3JhdC5oCmluZGV4IGY0YmJhMTMuLjc3NGM5MTkgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9zcmF0LmgKKysrIGIvaW5jbHVkZS9hc20teDg2L3NyYXQuaApAQCAtMjcsMTEgKzI3LDEzIEBACiAjaWZuZGVmIF9BU01fU1JBVF9IXwogI2RlZmluZSBfQVNNX1NSQVRfSF8KIAotI2lmbmRlZiBDT05GSUdfQUNQSV9TUkFUCi0jZXJyb3IgQ09ORklHX0FDUElfU1JBVCBub3QgZGVmaW5lZCwgYW5kIHNyYXQuaCBoZWFkZXIgaGFzIGJlZW4gaW5jbHVkZWQKLSNlbmRpZgotCisjaWZkZWYgQ09ORklHX0FDUElfTlVNQQogZXh0ZXJuIGludCBnZXRfbWVtY2ZnX2Zyb21fc3JhdCh2b2lkKTsKLWV4dGVybiB1bnNpZ25lZCBsb25nICpnZXRfemhvbGVzX3NpemUoaW50KTsKKyNlbHNlCitzdGF0aWMgaW5saW5lIGludCBnZXRfbWVtY2ZnX2Zyb21fc3JhdCh2b2lkKQoreworCXJldHVybiAwOworfQorI2VuZGlmCiAKICNlbmRpZiAvKiBfQVNNX1NSQVRfSF8gKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9zdHJpbmdfMzIuaCBiL2luY2x1ZGUvYXNtLXg4Ni9zdHJpbmdfMzIuaAppbmRleCBiNDkzNjlhLi4xOTM1NzhjIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvc3RyaW5nXzMyLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L3N0cmluZ18zMi5oCkBAIC0yOSw4MSArMjksMTE2IEBACiAjZGVmaW5lIF9fSEFWRV9BUkNIX1NUUkxFTgogZXh0ZXJuIHNpemVfdCBzdHJsZW4oY29uc3QgY2hhciAqcyk7CiAKLXN0YXRpYyBfX2Fsd2F5c19pbmxpbmUgdm9pZCAqIF9fbWVtY3B5KHZvaWQgKiB0bywgY29uc3Qgdm9pZCAqIGZyb20sIHNpemVfdCBuKQorc3RhdGljIF9fYWx3YXlzX2lubGluZSB2b2lkICpfX21lbWNweSh2b2lkICp0bywgY29uc3Qgdm9pZCAqZnJvbSwgc2l6ZV90IG4pCiB7Ci1pbnQgZDAsIGQxLCBkMjsKLV9fYXNtX18gX192b2xhdGlsZV9fKAotCSJyZXAgOyBtb3ZzbFxuXHQiCi0JIm1vdmwgJTQsJSVlY3hcblx0IgotCSJhbmRsICQzLCUlZWN4XG5cdCIKLQkianogMWZcblx0IgotCSJyZXAgOyBtb3ZzYlxuXHQiCi0JIjE6IgotCTogIj0mYyIgKGQwKSwgIj0mRCIgKGQxKSwgIj0mUyIgKGQyKQotCTogIjAiIChuLzQpLCAiZyIgKG4pLCAiMSIgKChsb25nKSB0byksICIyIiAoKGxvbmcpIGZyb20pCi0JOiAibWVtb3J5Iik7Ci1yZXR1cm4gKHRvKTsKKwlpbnQgZDAsIGQxLCBkMjsKKwlhc20gdm9sYXRpbGUoInJlcCA7IG1vdnNsXG5cdCIKKwkJICAgICAibW92bCAlNCwlJWVjeFxuXHQiCisJCSAgICAgImFuZGwgJDMsJSVlY3hcblx0IgorCQkgICAgICJqeiAxZlxuXHQiCisJCSAgICAgInJlcCA7IG1vdnNiXG5cdCIKKwkJICAgICAiMToiCisJCSAgICAgOiAiPSZjIiAoZDApLCAiPSZEIiAoZDEpLCAiPSZTIiAoZDIpCisJCSAgICAgOiAiMCIgKG4gLyA0KSwgImciIChuKSwgIjEiICgobG9uZyl0byksICIyIiAoKGxvbmcpZnJvbSkKKwkJICAgICA6ICJtZW1vcnkiKTsKKwlyZXR1cm4gdG87CiB9CiAKIC8qCiAgKiBUaGlzIGxvb2tzIHVnbHksIGJ1dCB0aGUgY29tcGlsZXIgY2FuIG9wdGltaXplIGl0IHRvdGFsbHksCiAgKiBhcyB0aGUgY291bnQgaXMgY29uc3RhbnQuCiAgKi8KLXN0YXRpYyBfX2Fsd2F5c19pbmxpbmUgdm9pZCAqIF9fY29uc3RhbnRfbWVtY3B5KHZvaWQgKiB0bywgY29uc3Qgdm9pZCAqIGZyb20sIHNpemVfdCBuKQorc3RhdGljIF9fYWx3YXlzX2lubGluZSB2b2lkICpfX2NvbnN0YW50X21lbWNweSh2b2lkICp0bywgY29uc3Qgdm9pZCAqZnJvbSwKKwkJCQkJICAgICAgIHNpemVfdCBuKQogewogCWxvbmcgZXNpLCBlZGk7Ci0JaWYgKCFuKSByZXR1cm4gdG87Ci0jaWYgMQkvKiB3YW50IHRvIGRvIHNtYWxsIGNvcGllcyB3aXRoIG5vbi1zdHJpbmcgb3BzPyAqLworCWlmICghbikKKwkJcmV0dXJuIHRvOworCiAJc3dpdGNoIChuKSB7Ci0JCWNhc2UgMTogKihjaGFyKil0byA9ICooY2hhciopZnJvbTsgcmV0dXJuIHRvOwotCQljYXNlIDI6ICooc2hvcnQqKXRvID0gKihzaG9ydCopZnJvbTsgcmV0dXJuIHRvOwotCQljYXNlIDQ6ICooaW50Kil0byA9ICooaW50Kilmcm9tOyByZXR1cm4gdG87Ci0jaWYgMQkvKiBpbmNsdWRpbmcgdGhvc2UgZG9hYmxlIHdpdGggdHdvIG1vdmVzPyAqLwotCQljYXNlIDM6ICooc2hvcnQqKXRvID0gKihzaG9ydCopZnJvbTsKLQkJCSooKGNoYXIqKXRvKzIpID0gKigoY2hhciopZnJvbSsyKTsgcmV0dXJuIHRvOwotCQljYXNlIDU6ICooaW50Kil0byA9ICooaW50Kilmcm9tOwotCQkJKigoY2hhciopdG8rNCkgPSAqKChjaGFyKilmcm9tKzQpOyByZXR1cm4gdG87Ci0JCWNhc2UgNjogKihpbnQqKXRvID0gKihpbnQqKWZyb207Ci0JCQkqKChzaG9ydCopdG8rMikgPSAqKChzaG9ydCopZnJvbSsyKTsgcmV0dXJuIHRvOwotCQljYXNlIDg6ICooaW50Kil0byA9ICooaW50Kilmcm9tOwotCQkJKigoaW50Kil0bysxKSA9ICooKGludCopZnJvbSsxKTsgcmV0dXJuIHRvOwotI2VuZGlmCisJY2FzZSAxOgorCQkqKGNoYXIgKil0byA9ICooY2hhciAqKWZyb207CisJCXJldHVybiB0bzsKKwljYXNlIDI6CisJCSooc2hvcnQgKil0byA9ICooc2hvcnQgKilmcm9tOworCQlyZXR1cm4gdG87CisJY2FzZSA0OgorCQkqKGludCAqKXRvID0gKihpbnQgKilmcm9tOworCQlyZXR1cm4gdG87CisKKwljYXNlIDM6CisJCSooc2hvcnQgKil0byA9ICooc2hvcnQgKilmcm9tOworCQkqKChjaGFyICopdG8gKyAyKSA9ICooKGNoYXIgKilmcm9tICsgMik7CisJCXJldHVybiB0bzsKKwljYXNlIDU6CisJCSooaW50ICopdG8gPSAqKGludCAqKWZyb207CisJCSooKGNoYXIgKil0byArIDQpID0gKigoY2hhciAqKWZyb20gKyA0KTsKKwkJcmV0dXJuIHRvOworCWNhc2UgNjoKKwkJKihpbnQgKil0byA9ICooaW50ICopZnJvbTsKKwkJKigoc2hvcnQgKil0byArIDIpID0gKigoc2hvcnQgKilmcm9tICsgMik7CisJCXJldHVybiB0bzsKKwljYXNlIDg6CisJCSooaW50ICopdG8gPSAqKGludCAqKWZyb207CisJCSooKGludCAqKXRvICsgMSkgPSAqKChpbnQgKilmcm9tICsgMSk7CisJCXJldHVybiB0bzsKIAl9Ci0jZW5kaWYKLQllc2kgPSAobG9uZykgZnJvbTsKLQllZGkgPSAobG9uZykgdG87Ci0JaWYgKG4gPj0gNSo0KSB7CisKKwllc2kgPSAobG9uZylmcm9tOworCWVkaSA9IChsb25nKXRvOworCWlmIChuID49IDUgKiA0KSB7CiAJCS8qIGxhcmdlIGJsb2NrOiB1c2UgcmVwIHByZWZpeCAqLwogCQlpbnQgZWN4OwotCQlfX2FzbV9fIF9fdm9sYXRpbGVfXygKLQkJCSJyZXAgOyBtb3ZzbCIKLQkJCTogIj0mYyIgKGVjeCksICI9JkQiIChlZGkpLCAiPSZTIiAoZXNpKQotCQkJOiAiMCIgKG4vNCksICIxIiAoZWRpKSwiMiIgKGVzaSkKLQkJCTogIm1lbW9yeSIKKwkJYXNtIHZvbGF0aWxlKCJyZXAgOyBtb3ZzbCIKKwkJCSAgICAgOiAiPSZjIiAoZWN4KSwgIj0mRCIgKGVkaSksICI9JlMiIChlc2kpCisJCQkgICAgIDogIjAiIChuIC8gNCksICIxIiAoZWRpKSwgIjIiIChlc2kpCisJCQkgICAgIDogIm1lbW9yeSIKIAkJKTsKIAl9IGVsc2UgewogCQkvKiBzbWFsbCBibG9jazogZG9uJ3QgY2xvYmJlciBlY3ggKyBzbWFsbGVyIGNvZGUgKi8KLQkJaWYgKG4gPj0gNCo0KSBfX2FzbV9fIF9fdm9sYXRpbGVfXygibW92c2wiCi0JCQk6Ij0mRCIoZWRpKSwiPSZTIihlc2kpOiIwIihlZGkpLCIxIihlc2kpOiJtZW1vcnkiKTsKLQkJaWYgKG4gPj0gMyo0KSBfX2FzbV9fIF9fdm9sYXRpbGVfXygibW92c2wiCi0JCQk6Ij0mRCIoZWRpKSwiPSZTIihlc2kpOiIwIihlZGkpLCIxIihlc2kpOiJtZW1vcnkiKTsKLQkJaWYgKG4gPj0gMio0KSBfX2FzbV9fIF9fdm9sYXRpbGVfXygibW92c2wiCi0JCQk6Ij0mRCIoZWRpKSwiPSZTIihlc2kpOiIwIihlZGkpLCIxIihlc2kpOiJtZW1vcnkiKTsKLQkJaWYgKG4gPj0gMSo0KSBfX2FzbV9fIF9fdm9sYXRpbGVfXygibW92c2wiCi0JCQk6Ij0mRCIoZWRpKSwiPSZTIihlc2kpOiIwIihlZGkpLCIxIihlc2kpOiJtZW1vcnkiKTsKKwkJaWYgKG4gPj0gNCAqIDQpCisJCQlhc20gdm9sYXRpbGUoIm1vdnNsIgorCQkJCSAgICAgOiAiPSZEIihlZGkpLCAiPSZTIihlc2kpCisJCQkJICAgICA6ICIwIihlZGkpLCAiMSIoZXNpKQorCQkJCSAgICAgOiAibWVtb3J5Iik7CisJCWlmIChuID49IDMgKiA0KQorCQkJYXNtIHZvbGF0aWxlKCJtb3ZzbCIKKwkJCQkgICAgIDogIj0mRCIoZWRpKSwgIj0mUyIoZXNpKQorCQkJCSAgICAgOiAiMCIoZWRpKSwgIjEiKGVzaSkKKwkJCQkgICAgIDogIm1lbW9yeSIpOworCQlpZiAobiA+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+CiAKIHN0cnVjdCBrZXJuZWxfdm04Nl9yZWdzIHsKIC8qCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvdm1pX3RpbWUuaCBiL2luY2x1ZGUvYXNtLXg4Ni92bWlfdGltZS5oCmluZGV4IDQ3ODE4ODEuLmMzMTE4YzMgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni92bWlfdGltZS5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni92bWlfdGltZS5oCkBAIC01MCw3ICs1MCw3IEBACiBleHRlcm4gdW5zaWduZWQgbG9uZyB2bWlfZ2V0X3dhbGxjbG9jayh2b2lkKTsKIGV4dGVybiBpbnQgdm1pX3NldF93YWxsY2xvY2sodW5zaWduZWQgbG9uZyBub3cpOwogZXh0ZXJuIHVuc2lnbmVkIGxvbmcgbG9uZyB2bWlfc2NoZWRfY2xvY2sodm9pZCk7Ci1leHRlcm4gdW5zaWduZWQgbG9uZyB2bWlfY3B1X2toeih2b2lkKTsKK2V4dGVybiB1bnNpZ25lZCBsb25nIHZtaV90c2Nfa2h6KHZvaWQpOwogCiAjaWZkZWYgQ09ORklHX1g4Nl9MT0NBTF9BUElDCiBleHRlcm4gdm9pZCBfX2RldmluaXQgdm1pX3RpbWVfYnNwX2luaXQodm9pZCk7CmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvdnN5c2NhbGwuaCBiL2luY2x1ZGUvYXNtLXg4Ni92c3lzY2FsbC5oCmluZGV4IDE3YjM3MDAuLjZiNjZmZjkgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni92c3lzY2FsbC5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni92c3lzY2FsbC5oCkBAIC0yNCw3ICsyNCw4IEBACiAJKCh1bnVzZWQsIF9fc2VjdGlvbl9fICgiLnZzeXNjYWxsX2d0b2RfZGF0YSIpLGFsaWduZWQoMTYpKSkKICNkZWZpbmUgX19zZWN0aW9uX3ZzeXNjYWxsX2Nsb2NrIF9fYXR0cmlidXRlX18gXAogCSgodW51c2VkLCBfX3NlY3Rpb25fXyAoIi52c3lzY2FsbF9jbG9jayIpLGFsaWduZWQoMTYpKSkKLSNkZWZpbmUgX192c3lzY2FsbF9mbiBfX2F0dHJpYnV0ZV9fICgodW51c2VkLF9fc2VjdGlvbl9fKCIudnN5c2NhbGxfZm4iKSkpCisjZGVmaW5lIF9fdnN5c2NhbGxfZm4gXAorCV9fYXR0cmlidXRlX18gKCh1bnVzZWQsIF9fc2VjdGlvbl9fKCIudnN5c2NhbGxfZm4iKSkpIG5vdHJhY2UKIAogI2RlZmluZSBWR0VUQ1BVX1JEVFNDUAkxCiAjZGVmaW5lIFZHRVRDUFVfTFNMCTIKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni94ZW4vaHlwZXJjYWxsLmggYi9pbmNsdWRlL2FzbS14ODYveGVuL2h5cGVyY2FsbC5oCmluZGV4IGMyY2NkOTkuLjJhNGY5YjQgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni94ZW4vaHlwZXJjYWxsLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L3hlbi9oeXBlcmNhbGwuaApAQCAtMTc2LDkgKzE3Niw5IEBACiB9CiAKIHN0YXRpYyBpbmxpbmUgaW50Ci1IWVBFUlZJU09SX3NjaGVkX29wKGludCBjbWQsIHVuc2lnbmVkIGxvbmcgYXJnKQorSFlQRVJWSVNPUl9zY2hlZF9vcChpbnQgY21kLCB2b2lkICphcmcpCiB7Ci0JcmV0dXJuIF9oeXBlcmNhbGwyKGludCwgc2NoZWRfb3AsIGNtZCwgYXJnKTsKKwlyZXR1cm4gX2h5cGVyY2FsbDIoaW50LCBzY2hlZF9vcF9uZXcsIGNtZCwgYXJnKTsKIH0KIAogc3RhdGljIGlubGluZSBsb25nCkBAIC0zMTUsNiArMzE1LDEzIEBACiB9CiAKIHN0YXRpYyBpbmxpbmUgdm9pZAorTVVMVElfZnB1X3Rhc2tzd2l0Y2goc3RydWN0IG11bHRpY2FsbF9lbnRyeSAqbWNsLCBpbnQgc2V0KQoreworCW1jbC0+b3AgPSBfX0hZUEVSVklTT1JfZnB1X3Rhc2tzd2l0Y2g7CisJbWNsLT5hcmdzWzBdID0gc2V0OworfQorCitzdGF0aWMgaW5saW5lIHZvaWQKIE1VTFRJX3VwZGF0ZV92YV9tYXBwaW5nKHN0cnVjdCBtdWx0aWNhbGxfZW50cnkgKm1jbCwgdW5zaWduZWQgbG9uZyB2YSwKIAkJCXB0ZV90IG5ld192YWwsIHVuc2lnbmVkIGxvbmcgZmxhZ3MpCiB7CmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYveGVuL3BhZ2UuaCBiL2luY2x1ZGUvYXNtLXg4Ni94ZW4vcGFnZS5oCmluZGV4IGUxMWYyNDAuLjM3N2MwNDUgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni94ZW4vcGFnZS5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni94ZW4vcGFnZS5oCkBAIC0yNiwxNSArMjYsMjAgQEAKICNkZWZpbmUgRk9SRUlHTl9GUkFNRV9CSVQJKDFVTDw8MzEpCiAjZGVmaW5lIEZPUkVJR05fRlJBTUUobSkJKChtKSB8IEZPUkVJR05fRlJBTUVfQklUKQogCi1leHRlcm4gdW5zaWduZWQgbG9uZyAqcGh5c190b19tYWNoaW5lX21hcHBpbmc7CisvKiBNYXhpbXVtIGFtb3VudCBvZiBtZW1vcnkgd2UgY2FuIGhhbmRsZSBpbiBhIGRvbWFpbiBpbiBwYWdlcyAqLworI2RlZmluZSBNQVhfRE9NQUlOX1BBR0VTCQkJCQkJXAorICAgICgodW5zaWduZWQgbG9uZykoKHU2NClDT05GSUdfWEVOX01BWF9ET01BSU5fTUVNT1JZICogMTAyNCAqIDEwMjQgKiAxMDI0IC8gUEFHRV9TSVpFKSkKKworCitleHRlcm4gdW5zaWduZWQgbG9uZyBnZXRfcGh5c190b19tYWNoaW5lKHVuc2lnbmVkIGxvbmcgcGZuKTsKK2V4dGVybiB2b2lkIHNldF9waHlzX3RvX21hY2hpbmUodW5zaWduZWQgbG9uZyBwZm4sIHVuc2lnbmVkIGxvbmcgbWZuKTsKIAogc3RhdGljIGlubGluZSB1bnNpZ25lZCBsb25nIHBmbl90b19tZm4odW5zaWduZWQgbG9uZyBwZm4pCiB7CiAJaWYgKHhlbl9mZWF0dXJlKFhFTkZFQVRfYXV0b190cmFuc2xhdGVkX3BoeXNtYXApKQogCQlyZXR1cm4gcGZuOwogCi0JcmV0dXJuIHBoeXNfdG9fbWFjaGluZV9tYXBwaW5nWyh1bnNpZ25lZCBpbnQpKHBmbildICYKLQkJfkZPUkVJR05fRlJBTUVfQklUOworCXJldHVybiBnZXRfcGh5c190b19tYWNoaW5lKHBmbikgJiB+Rk9SRUlHTl9GUkFNRV9CSVQ7CiB9CiAKIHN0YXRpYyBpbmxpbmUgaW50IHBoeXNfdG9fbWFjaGluZV9tYXBwaW5nX3ZhbGlkKHVuc2lnbmVkIGxvbmcgcGZuKQpAQCAtNDIsNyArNDcsNyBAQAogCWlmICh4ZW5fZmVhdHVyZShYRU5GRUFUX2F1dG9fdHJhbnNsYXRlZF9waHlzbWFwKSkKIAkJcmV0dXJuIDE7CiAKLQlyZXR1cm4gKHBoeXNfdG9fbWFjaGluZV9tYXBwaW5nW3Bmbl0gIT0gSU5WQUxJRF9QMk1fRU5UUlkpOworCXJldHVybiBnZXRfcGh5c190b19tYWNoaW5lKHBmbikgIT0gSU5WQUxJRF9QMk1fRU5UUlk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgdW5zaWduZWQgbG9uZyBtZm5fdG9fcGZuKHVuc2lnbmVkIGxvbmcgbWZuKQpAQCAtMTA2LDIwICsxMTEsMTIgQEAKIAl1bnNpZ25lZCBsb25nIHBmbiA9IG1mbl90b19wZm4obWZuKTsKIAlpZiAoKHBmbiA8IG1heF9tYXBucikKIAkgICAgJiYgIXhlbl9mZWF0dXJlKFhFTkZFQVRfYXV0b190cmFuc2xhdGVkX3BoeXNtYXApCi0JICAgICYmIChwaHlzX3RvX21hY2hpbmVfbWFwcGluZ1twZm5dICE9IG1mbikpCisJICAgICYmIChnZXRfcGh5c190b19tYWNoaW5lKHBmbikgIT0gbWZuKSkKIAkJcmV0dXJuIG1heF9tYXBucjsgLyogZm9yY2UgIXBmbl92YWxpZCgpICovCisJLyogWFhYIGZpeG1lOyBub3QgdHJ1ZSB3aXRoIHNwYXJzZW1lbSAqLwogCXJldHVybiBwZm47CiB9CiAKLXN0YXRpYyBpbmxpbmUgdm9pZCBzZXRfcGh5c190b19tYWNoaW5lKHVuc2lnbmVkIGxvbmcgcGZuLCB1bnNpZ25lZCBsb25nIG1mbikKLXsKLQlpZiAoeGVuX2ZlYXR1cmUoWEVORkVBVF9hdXRvX3RyYW5zbGF0ZWRfcGh5c21hcCkpIHsKLQkJQlVHX09OKHBmbiAhPSBtZm4gJiYgbWZuICE9IElOVkFMSURfUDJNX0VOVFJZKTsKLQkJcmV0dXJuOwotCX0KLQlwaHlzX3RvX21hY2hpbmVfbWFwcGluZ1twZm5dID0gbWZuOwotfQotCiAvKiBWSVJUIDwtPiBNQUNISU5FIGNvbnZlcnNpb24gKi8KICNkZWZpbmUgdmlydF90b19tYWNoaW5lKHYpCShwaHlzX3RvX21hY2hpbmUoWFBBRERSKF9fcGEodikpKSkKICNkZWZpbmUgdmlydF90b19tZm4odikJCShwZm5fdG9fbWZuKFBGTl9ET1dOKF9fcGEodikpKSkKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni94b3JfMzIuaCBiL2luY2x1ZGUvYXNtLXg4Ni94b3JfMzIuaAppbmRleCAwNjdiNWMxLi45MjFiNDU4IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYveG9yXzMyLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L3hvcl8zMi5oCkBAIC0xLDMgKzEsNiBAQAorI2lmbmRlZiBBU01fWDg2X19YT1JfMzJfSAorI2RlZmluZSBBU01fWDg2X19YT1JfMzJfSAorCiAvKgogICogT3B0aW1pemVkIFJBSUQtNSBjaGVja3N1bW1pbmcgZnVuY3Rpb25zIGZvciBNTVggYW5kIFNTRS4KICAqCkBAIC04ODEsMyArODg0LDUgQEAKICAgIGRlYWxzIHdpdGggYSBsb2FkIHRvIGEgbGluZSB0aGF0IGlzIGJlaW5nIHByZWZldGNoZWQuICAqLwogI2RlZmluZSBYT1JfU0VMRUNUX1RFTVBMQVRFKEZBU1RFU1QpCQkJXAogCShjcHVfaGFzX3htbSA/ICZ4b3JfYmxvY2tfcElJSV9zc2UgOiBGQVNURVNUKQorCisjZW5kaWYgLyogQVNNX1g4Nl9fWE9SXzMyX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni94b3JfNjQuaCBiL2luY2x1ZGUvYXNtLXg4Ni94b3JfNjQuaAppbmRleCAyNDk1N2UzLi4yZDNhMThkIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYveG9yXzY0LmgKKysrIGIvaW5jbHVkZS9hc20teDg2L3hvcl82NC5oCkBAIC0xLDMgKzEsNiBAQAorI2lmbmRlZiBBU01fWDg2X19YT1JfNjRfSAorI2RlZmluZSBBU01fWDg2X19YT1JfNjRfSAorCiAvKgogICogT3B0aW1pemVkIFJBSUQtNSBjaGVja3N1bW1pbmcgZnVuY3Rpb25zIGZvciBNTVggYW5kIFNTRS4KICAqCkBAIC0zNTQsMyArMzU3LDUgQEAKICAgIFdlIG1heSBhbHNvIGJlIGFibGUgdG8gbG9hZCBpbnRvIHRoZSBMMSBvbmx5IGRlcGVuZGluZyBvbiBob3cgdGhlIGNwdQogICAgZGVhbHMgd2l0aCBhIGxvYWQgdG8gYSBsaW5lIHRoYXQgaXMgYmVpbmcgcHJlZmV0Y2hlZC4gICovCiAjZGVmaW5lIFhPUl9TRUxFQ1RfVEVNUExBVEUoRkFTVEVTVCkgKCZ4b3JfYmxvY2tfc3NlKQorCisjZW5kaWYgLyogQVNNX1g4Nl9fWE9SXzY0X0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvY3J5cHRvL2hhc2guaCBiL2luY2x1ZGUvY3J5cHRvL2hhc2guaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMTI0OThlCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9jcnlwdG8vaGFzaC5oCkBAIC0wLDAgKzEsMTU0IEBACisvKgorICogSGFzaDogSGFzaCBhbGdvcml0aG1zIHVuZGVyIHRoZSBjcnlwdG8gQVBJCisgKiAKKyAqIENvcHlyaWdodCAoYykgMjAwOCBIZXJiZXJ0IFh1IDxoZXJiZXJ0QGdvbmRvci5hcGFuYS5vcmcuYXU+CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQKKyAqIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlCisgKiBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIAorICogYW55IGxhdGVyIHZlcnNpb24uCisgKgorICovCisKKyNpZm5kZWYgX0NSWVBUT19IQVNIX0gKKyNkZWZpbmUgX0NSWVBUT19IQVNIX0gKKworI2luY2x1ZGUgPGxpbnV4L2NyeXB0by5oPgorCitzdHJ1Y3QgY3J5cHRvX2FoYXNoIHsKKwlzdHJ1Y3QgY3J5cHRvX3RmbSBiYXNlOworfTsKKworc3RhdGljIGlubGluZSBzdHJ1Y3QgY3J5cHRvX2FoYXNoICpfX2NyeXB0b19haGFzaF9jYXN0KHN0cnVjdCBjcnlwdG9fdGZtICp0Zm0pCit7CisJcmV0dXJuIChzdHJ1Y3QgY3J5cHRvX2FoYXNoICopdGZtOworfQorCitzdGF0aWMgaW5saW5lIHN0cnVjdCBjcnlwdG9fYWhhc2ggKmNyeXB0b19hbGxvY19haGFzaChjb25zdCBjaGFyICphbGdfbmFtZSwKKwkJCQkJCSAgICAgIHUzMiB0eXBlLCB1MzIgbWFzaykKK3sKKwl0eXBlICY9IH5DUllQVE9fQUxHX1RZUEVfTUFTSzsKKwltYXNrICY9IH5DUllQVE9fQUxHX1RZUEVfTUFTSzsKKwl0eXBlIHw9IENSWVBUT19BTEdfVFlQRV9BSEFTSDsKKwltYXNrIHw9IENSWVBUT19BTEdfVFlQRV9BSEFTSF9NQVNLOworCisJcmV0dXJuIF9fY3J5cHRvX2FoYXNoX2Nhc3QoY3J5cHRvX2FsbG9jX2Jhc2UoYWxnX25hbWUsIHR5cGUsIG1hc2spKTsKK30KKworc3RhdGljIGlubGluZSBzdHJ1Y3QgY3J5cHRvX3RmbSAqY3J5cHRvX2FoYXNoX3RmbShzdHJ1Y3QgY3J5cHRvX2FoYXNoICp0Zm0pCit7CisJcmV0dXJuICZ0Zm0tPmJhc2U7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBjcnlwdG9fZnJlZV9haGFzaChzdHJ1Y3QgY3J5cHRvX2FoYXNoICp0Zm0pCit7CisJY3J5cHRvX2ZyZWVfdGZtKGNyeXB0b19haGFzaF90Zm0odGZtKSk7Cit9CisKK3N0YXRpYyBpbmxpbmUgdW5zaWduZWQgaW50IGNyeXB0b19haGFzaF9hbGlnbm1hc2soCisJc3RydWN0IGNyeXB0b19haGFzaCAqdGZtKQoreworCXJldHVybiBjcnlwdG9fdGZtX2FsZ19hbGlnbm1hc2soY3J5cHRvX2FoYXNoX3RmbSh0Zm0pKTsKK30KKworc3RhdGljIGlubGluZSBzdHJ1Y3QgYWhhc2hfdGZtICpjcnlwdG9fYWhhc2hfY3J0KHN0cnVjdCBjcnlwdG9fYWhhc2ggKnRmbSkKK3sKKwlyZXR1cm4gJmNyeXB0b19haGFzaF90Zm0odGZtKS0+Y3J0X2FoYXNoOworfQorCitzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGludCBjcnlwdG9fYWhhc2hfZGlnZXN0c2l6ZShzdHJ1Y3QgY3J5cHRvX2FoYXNoICp0Zm0pCit7CisJcmV0dXJuIGNyeXB0b19haGFzaF9jcnQodGZtKS0+ZGlnZXN0c2l6ZTsKK30KKworc3RhdGljIGlubGluZSB1MzIgY3J5cHRvX2FoYXNoX2dldF9mbGFncyhzdHJ1Y3QgY3J5cHRvX2FoYXNoICp0Zm0pCit7CisJcmV0dXJuIGNyeXB0b190Zm1fZ2V0X2ZsYWdzKGNyeXB0b19haGFzaF90Zm0odGZtKSk7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBjcnlwdG9fYWhhc2hfc2V0X2ZsYWdzKHN0cnVjdCBjcnlwdG9fYWhhc2ggKnRmbSwgdTMyIGZsYWdzKQoreworCWNyeXB0b190Zm1fc2V0X2ZsYWdzKGNyeXB0b19haGFzaF90Zm0odGZtKSwgZmxhZ3MpOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgY3J5cHRvX2FoYXNoX2NsZWFyX2ZsYWdzKHN0cnVjdCBjcnlwdG9fYWhhc2ggKnRmbSwgdTMyIGZsYWdzKQoreworCWNyeXB0b190Zm1fY2xlYXJfZmxhZ3MoY3J5cHRvX2FoYXNoX3RmbSh0Zm0pLCBmbGFncyk7Cit9CisKK3N0YXRpYyBpbmxpbmUgc3RydWN0IGNyeXB0b19haGFzaCAqY3J5cHRvX2FoYXNoX3JlcXRmbSgKKwlzdHJ1Y3QgYWhhc2hfcmVxdWVzdCAqcmVxKQoreworCXJldHVybiBfX2NyeXB0b19haGFzaF9jYXN0KHJlcS0+YmFzZS50Zm0pOworfQorCitzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGludCBjcnlwdG9fYWhhc2hfcmVxc2l6ZShzdHJ1Y3QgY3J5cHRvX2FoYXNoICp0Zm0pCit7CisJcmV0dXJuIGNyeXB0b19haGFzaF9jcnQodGZtKS0+cmVxc2l6ZTsKK30KKworc3RhdGljIGlubGluZSBpbnQgY3J5cHRvX2FoYXNoX3NldGtleShzdHJ1Y3QgY3J5cHRvX2FoYXNoICp0Zm0sCisJCQkJICAgICAgY29uc3QgdTggKmtleSwgdW5zaWduZWQgaW50IGtleWxlbikKK3sKKwlzdHJ1Y3QgYWhhc2hfdGZtICpjcnQgPSBjcnlwdG9fYWhhc2hfY3J0KHRmbSk7CisKKwlyZXR1cm4gY3J0LT5zZXRrZXkodGZtLCBrZXksIGtleWxlbik7Cit9CisKK3N0YXRpYyBpbmxpbmUgaW50IGNyeXB0b19haGFzaF9kaWdlc3Qoc3RydWN0IGFoYXNoX3JlcXVlc3QgKnJlcSkKK3sKKwlzdHJ1Y3QgYWhhc2hfdGZtICpjcnQgPSBjcnlwdG9fYWhhc2hfY3J0KGNyeXB0b19haGFzaF9yZXF0Zm0ocmVxKSk7CisJcmV0dXJuIGNydC0+ZGlnZXN0KHJlcSk7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBhaGFzaF9yZXF1ZXN0X3NldF90Zm0oc3RydWN0IGFoYXNoX3JlcXVlc3QgKnJlcSwKKwkJCQkJIHN0cnVjdCBjcnlwdG9fYWhhc2ggKnRmbSkKK3sKKwlyZXEtPmJhc2UudGZtID0gY3J5cHRvX2FoYXNoX3RmbSh0Zm0pOworfQorCitzdGF0aWMgaW5saW5lIHN0cnVjdCBhaGFzaF9yZXF1ZXN0ICphaGFzaF9yZXF1ZXN0X2FsbG9jKAorCXN0cnVjdCBjcnlwdG9fYWhhc2ggKnRmbSwgZ2ZwX3QgZ2ZwKQoreworCXN0cnVjdCBhaGFzaF9yZXF1ZXN0ICpyZXE7CisKKwlyZXEgPSBrbWFsbG9jKHNpemVvZihzdHJ1Y3QgYWhhc2hfcmVxdWVzdCkgKworCQkgICAgICBjcnlwdG9fYWhhc2hfcmVxc2l6ZSh0Zm0pLCBnZnApOworCisJaWYgKGxpa2VseShyZXEpKQorCQlhaGFzaF9yZXF1ZXN0X3NldF90Zm0ocmVxLCB0Zm0pOworCisJcmV0dXJuIHJlcTsKK30KKworc3RhdGljIGlubGluZSB2b2lkIGFoYXNoX3JlcXVlc3RfZnJlZShzdHJ1Y3QgYWhhc2hfcmVxdWVzdCAqcmVxKQoreworCWtmcmVlKHJlcSk7Cit9CisKK3N0YXRpYyBpbmxpbmUgc3RydWN0IGFoYXNoX3JlcXVlc3QgKmFoYXNoX3JlcXVlc3RfY2FzdCgKKwlzdHJ1Y3QgY3J5cHRvX2FzeW5jX3JlcXVlc3QgKnJlcSkKK3sKKwlyZXR1cm4gY29udGFpbmVyX29mKHJlcSwgc3RydWN0IGFoYXNoX3JlcXVlc3QsIGJhc2UpOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgYWhhc2hfcmVxdWVzdF9zZXRfY2FsbGJhY2soc3RydWN0IGFoYXNoX3JlcXVlc3QgKnJlcSwKKwkJCQkJICAgICAgdTMyIGZsYWdzLAorCQkJCQkgICAgICBjcnlwdG9fY29tcGxldGlvbl90IGNvbXBsZXRlLAorCQkJCQkgICAgICB2b2lkICpkYXRhKQoreworCXJlcS0+YmFzZS5jb21wbGV0ZSA9IGNvbXBsZXRlOworCXJlcS0+YmFzZS5kYXRhID0gZGF0YTsKKwlyZXEtPmJhc2UuZmxhZ3MgPSBmbGFnczsKK30KKworc3RhdGljIGlubGluZSB2b2lkIGFoYXNoX3JlcXVlc3Rfc2V0X2NyeXB0KHN0cnVjdCBhaGFzaF9yZXF1ZXN0ICpyZXEsCisJCQkJCSAgIHN0cnVjdCBzY2F0dGVybGlzdCAqc3JjLCB1OCAqcmVzdWx0LAorCQkJCQkgICB1bnNpZ25lZCBpbnQgbmJ5dGVzKQoreworCXJlcS0+c3JjID0gc3JjOworCXJlcS0+bmJ5dGVzID0gbmJ5dGVzOworCXJlcS0+cmVzdWx0ID0gcmVzdWx0OworfQorCisjZW5kaWYJLyogX0NSWVBUT19IQVNIX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvY3J5cHRvL2ludGVybmFsL2hhc2guaCBiL2luY2x1ZGUvY3J5cHRvL2ludGVybmFsL2hhc2guaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MTdhZTU3Ci0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9jcnlwdG8vaW50ZXJuYWwvaGFzaC5oCkBAIC0wLDAgKzEsNzggQEAKKy8qCisgKiBIYXNoIGFsZ29yaXRobXMuCisgKiAKKyAqIENvcHlyaWdodCAoYykgMjAwOCBIZXJiZXJ0IFh1IDxoZXJiZXJ0QGdvbmRvci5hcGFuYS5vcmcuYXU+CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQKKyAqIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlCisgKiBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIAorICogYW55IGxhdGVyIHZlcnNpb24uCisgKgorICovCisKKyNpZm5kZWYgX0NSWVBUT19JTlRFUk5BTF9IQVNIX0gKKyNkZWZpbmUgX0NSWVBUT19JTlRFUk5BTF9IQVNIX0gKKworI2luY2x1ZGUgPGNyeXB0by9hbGdhcGkuaD4KKyNpbmNsdWRlIDxjcnlwdG8vaGFzaC5oPgorCitzdHJ1Y3QgYWhhc2hfcmVxdWVzdDsKK3N0cnVjdCBzY2F0dGVybGlzdDsKKworc3RydWN0IGNyeXB0b19oYXNoX3dhbGsgeworCWNoYXIgKmRhdGE7CisKKwl1bnNpZ25lZCBpbnQgb2Zmc2V0OworCXVuc2lnbmVkIGludCBhbGlnbm1hc2s7CisKKwlzdHJ1Y3QgcGFnZSAqcGc7CisJdW5zaWduZWQgaW50IGVudHJ5bGVuOworCisJdW5zaWduZWQgaW50IHRvdGFsOworCXN0cnVjdCBzY2F0dGVybGlzdCAqc2c7CisKKwl1bnNpZ25lZCBpbnQgZmxhZ3M7Cit9OworCitleHRlcm4gY29uc3Qgc3RydWN0IGNyeXB0b190eXBlIGNyeXB0b19haGFzaF90eXBlOworCitpbnQgY3J5cHRvX2hhc2hfd2Fsa19kb25lKHN0cnVjdCBjcnlwdG9faGFzaF93YWxrICp3YWxrLCBpbnQgZXJyKTsKK2ludCBjcnlwdG9faGFzaF93YWxrX2ZpcnN0KHN0cnVjdCBhaGFzaF9yZXF1ZXN0ICpyZXEsCisJCQkgICBzdHJ1Y3QgY3J5cHRvX2hhc2hfd2FsayAqd2Fsayk7CisKK3N0YXRpYyBpbmxpbmUgdm9pZCAqY3J5cHRvX2FoYXNoX2N0eChzdHJ1Y3QgY3J5cHRvX2FoYXNoICp0Zm0pCit7CisJcmV0dXJuIGNyeXB0b190Zm1fY3R4KCZ0Zm0tPmJhc2UpOworfQorCitzdGF0aWMgaW5saW5lIHN0cnVjdCBhaGFzaF9hbGcgKmNyeXB0b19haGFzaF9hbGcoCisJc3RydWN0IGNyeXB0b19haGFzaCAqdGZtKQoreworCXJldHVybiAmY3J5cHRvX2FoYXNoX3RmbSh0Zm0pLT5fX2NydF9hbGctPmNyYV9haGFzaDsKK30KKworc3RhdGljIGlubGluZSBpbnQgYWhhc2hfZW5xdWV1ZV9yZXF1ZXN0KHN0cnVjdCBjcnlwdG9fcXVldWUgKnF1ZXVlLAorCQkJCQkgICAgIHN0cnVjdCBhaGFzaF9yZXF1ZXN0ICpyZXF1ZXN0KQoreworCXJldHVybiBjcnlwdG9fZW5xdWV1ZV9yZXF1ZXN0KHF1ZXVlLCAmcmVxdWVzdC0+YmFzZSk7Cit9CisKK3N0YXRpYyBpbmxpbmUgc3RydWN0IGFoYXNoX3JlcXVlc3QgKmFoYXNoX2RlcXVldWVfcmVxdWVzdCgKKwlzdHJ1Y3QgY3J5cHRvX3F1ZXVlICpxdWV1ZSkKK3sKKwlyZXR1cm4gYWhhc2hfcmVxdWVzdF9jYXN0KGNyeXB0b19kZXF1ZXVlX3JlcXVlc3QocXVldWUpKTsKK30KKworc3RhdGljIGlubGluZSB2b2lkICphaGFzaF9yZXF1ZXN0X2N0eChzdHJ1Y3QgYWhhc2hfcmVxdWVzdCAqcmVxKQoreworCXJldHVybiByZXEtPl9fY3R4OworfQorCitzdGF0aWMgaW5saW5lIGludCBhaGFzaF90Zm1faW5fcXVldWUoc3RydWN0IGNyeXB0b19xdWV1ZSAqcXVldWUsCisJCQkJCSAgc3RydWN0IGNyeXB0b19haGFzaCAqdGZtKQoreworCXJldHVybiBjcnlwdG9fdGZtX2luX3F1ZXVlKHF1ZXVlLCBjcnlwdG9fYWhhc2hfdGZtKHRmbSkpOworfQorCisjZW5kaWYJLyogX0NSWVBUT19JTlRFUk5BTF9IQVNIX0ggKi8KKwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vS2J1aWxkIGIvaW5jbHVkZS9kcm0vS2J1aWxkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgyYjY5ODMKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2RybS9LYnVpbGQKQEAgLTAsMCArMSwxMCBAQAordW5pZmRlZi15ICs9IGRybS5oIGRybV9zYXJlYS5oCit1bmlmZGVmLXkgKz0gaTgxMF9kcm0uaAordW5pZmRlZi15ICs9IGk4MzBfZHJtLmgKK3VuaWZkZWYteSArPSBpOTE1X2RybS5oCit1bmlmZGVmLXkgKz0gbWdhX2RybS5oCit1bmlmZGVmLXkgKz0gcjEyOF9kcm0uaAordW5pZmRlZi15ICs9IHJhZGVvbl9kcm0uaAordW5pZmRlZi15ICs9IHNpc19kcm0uaAordW5pZmRlZi15ICs9IHNhdmFnZV9kcm0uaAordW5pZmRlZi15ICs9IHZpYV9kcm0uaApkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9kcm0uaCBiL2luY2x1ZGUvZHJtL2RybS5oCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL2RybS5oCnJlbmFtZSB0byBpbmNsdWRlL2RybS9kcm0uaApkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9kcm1QLmggYi9pbmNsdWRlL2RybS9kcm1QLmgKc2ltaWxhcml0eSBpbmRleCA5OSUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9kcm1QLmgKcmVuYW1lIHRvIGluY2x1ZGUvZHJtL2RybVAuaAppbmRleCAwNzY0YjY2Li4xYzFiMTNlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2NoYXIvZHJtL2RybVAuaAorKysgYi9pbmNsdWRlL2RybS9kcm1QLmgKQEAgLTEwODksNiArMTA4OSw3IEBACiBleHRlcm4gaW50IGRybV9tbV9hZGRfc3BhY2VfdG9fdGFpbChzdHJ1Y3QgZHJtX21tICptbSwgdW5zaWduZWQgbG9uZyBzaXplKTsKIAogZXh0ZXJuIHZvaWQgZHJtX2NvcmVfaW9yZW1hcChzdHJ1Y3QgZHJtX21hcCAqbWFwLCBzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKK2V4dGVybiB2b2lkIGRybV9jb3JlX2lvcmVtYXBfd2Moc3RydWN0IGRybV9tYXAgKm1hcCwgc3RydWN0IGRybV9kZXZpY2UgKmRldik7CiBleHRlcm4gdm9pZCBkcm1fY29yZV9pb3JlbWFwZnJlZShzdHJ1Y3QgZHJtX21hcCAqbWFwLCBzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKIAogc3RhdGljIF9faW5saW5lX18gc3RydWN0IGRybV9tYXAgKmRybV9jb3JlX2ZpbmRtYXAoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vZHJtX2NvcmUuaCBiL2luY2x1ZGUvZHJtL2RybV9jb3JlLmgKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vZHJtX2NvcmUuaApyZW5hbWUgdG8gaW5jbHVkZS9kcm0vZHJtX2NvcmUuaApkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9kcm1faGFzaHRhYi5oIGIvaW5jbHVkZS9kcm0vZHJtX2hhc2h0YWIuaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9kcm1faGFzaHRhYi5oCnJlbmFtZSB0byBpbmNsdWRlL2RybS9kcm1faGFzaHRhYi5oCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL2RybV9tZW1vcnkuaCBiL2luY2x1ZGUvZHJtL2RybV9tZW1vcnkuaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9kcm1fbWVtb3J5LmgKcmVuYW1lIHRvIGluY2x1ZGUvZHJtL2RybV9tZW1vcnkuaApkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9kcm1fbWVtb3J5X2RlYnVnLmggYi9pbmNsdWRlL2RybS9kcm1fbWVtb3J5X2RlYnVnLmgKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vZHJtX21lbW9yeV9kZWJ1Zy5oCnJlbmFtZSB0byBpbmNsdWRlL2RybS9kcm1fbWVtb3J5X2RlYnVnLmgKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vZHJtX29zX2xpbnV4LmggYi9pbmNsdWRlL2RybS9kcm1fb3NfbGludXguaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9kcm1fb3NfbGludXguaApyZW5hbWUgdG8gaW5jbHVkZS9kcm0vZHJtX29zX2xpbnV4LmgKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vZHJtX3BjaWlkcy5oIGIvaW5jbHVkZS9kcm0vZHJtX3BjaWlkcy5oCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL2RybV9wY2lpZHMuaApyZW5hbWUgdG8gaW5jbHVkZS9kcm0vZHJtX3BjaWlkcy5oCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL2RybV9zYXJlYS5oIGIvaW5jbHVkZS9kcm0vZHJtX3NhcmVhLmgKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vZHJtX3NhcmVhLmgKcmVuYW1lIHRvIGluY2x1ZGUvZHJtL2RybV9zYXJlYS5oCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL2RybV9zbWFuLmggYi9pbmNsdWRlL2RybS9kcm1fc21hbi5oCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL2RybV9zbWFuLmgKcmVuYW1lIHRvIGluY2x1ZGUvZHJtL2RybV9zbWFuLmgKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vaTgxMF9kcm0uaCBiL2luY2x1ZGUvZHJtL2k4MTBfZHJtLmgKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vaTgxMF9kcm0uaApyZW5hbWUgdG8gaW5jbHVkZS9kcm0vaTgxMF9kcm0uaApkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9pODMwX2RybS5oIGIvaW5jbHVkZS9kcm0vaTgzMF9kcm0uaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9pODMwX2RybS5oCnJlbmFtZSB0byBpbmNsdWRlL2RybS9pODMwX2RybS5oCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL2k5MTVfZHJtLmggYi9pbmNsdWRlL2RybS9pOTE1X2RybS5oCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL2k5MTVfZHJtLmgKcmVuYW1lIHRvIGluY2x1ZGUvZHJtL2k5MTVfZHJtLmgKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vbWdhX2RybS5oIGIvaW5jbHVkZS9kcm0vbWdhX2RybS5oCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL21nYV9kcm0uaApyZW5hbWUgdG8gaW5jbHVkZS9kcm0vbWdhX2RybS5oCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL3IxMjhfZHJtLmggYi9pbmNsdWRlL2RybS9yMTI4X2RybS5oCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL3IxMjhfZHJtLmgKcmVuYW1lIHRvIGluY2x1ZGUvZHJtL3IxMjhfZHJtLmgKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vcmFkZW9uX2RybS5oIGIvaW5jbHVkZS9kcm0vcmFkZW9uX2RybS5oCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL3JhZGVvbl9kcm0uaApyZW5hbWUgdG8gaW5jbHVkZS9kcm0vcmFkZW9uX2RybS5oCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL3NhdmFnZV9kcm0uaCBiL2luY2x1ZGUvZHJtL3NhdmFnZV9kcm0uaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9zYXZhZ2VfZHJtLmgKcmVuYW1lIHRvIGluY2x1ZGUvZHJtL3NhdmFnZV9kcm0uaApkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9zaXNfZHJtLmggYi9pbmNsdWRlL2RybS9zaXNfZHJtLmgKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vc2lzX2RybS5oCnJlbmFtZSB0byBpbmNsdWRlL2RybS9zaXNfZHJtLmgKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vdmlhX2RybS5oIGIvaW5jbHVkZS9kcm0vdmlhX2RybS5oCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL3ZpYV9kcm0uaApyZW5hbWUgdG8gaW5jbHVkZS9kcm0vdmlhX2RybS5oCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L2FjcGkuaCBiL2luY2x1ZGUvbGludXgvYWNwaS5oCmluZGV4IDQxZjdjZTcuLjA2MDEwNzUgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvYWNwaS5oCisrKyBiL2luY2x1ZGUvbGludXgvYWNwaS5oCkBAIC04Miw2ICs4Miw3IEBACiBpbnQgZWFybHlfYWNwaV9ib290X2luaXQodm9pZCk7CiBpbnQgYWNwaV9ib290X2luaXQgKHZvaWQpOwogaW50IGFjcGlfYm9vdF90YWJsZV9pbml0ICh2b2lkKTsKK2ludCBhY3BpX21wc19jaGVjayAodm9pZCk7CiBpbnQgYWNwaV9udW1hX2luaXQgKHZvaWQpOwogCiBpbnQgYWNwaV90YWJsZV9pbml0ICh2b2lkKTsKQEAgLTI1MCw2ICsyNTEsMTEgQEAKIAlyZXR1cm4gMDsKIH0KIAorc3RhdGljIGlubGluZSBpbnQgYWNwaV9tcHNfY2hlY2sodm9pZCkKK3sKKwlyZXR1cm4gMDsKK30KKwogc3RhdGljIGlubGluZSBpbnQgYWNwaV9jaGVja19yZXNvdXJjZV9jb25mbGljdChzdHJ1Y3QgcmVzb3VyY2UgKnJlcykKIHsKIAlyZXR1cm4gMDsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvYmlvLmggYi9pbmNsdWRlL2xpbnV4L2Jpby5oCmluZGV4IDYxYzE1ZWEuLjA5MzNhMTQgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvYmlvLmgKKysrIGIvaW5jbHVkZS9saW51eC9iaW8uaApAQCAtNjQsNiArNjQsNyBAQAogCiBzdHJ1Y3QgYmlvX3NldDsKIHN0cnVjdCBiaW87CitzdHJ1Y3QgYmlvX2ludGVncml0eV9wYXlsb2FkOwogdHlwZWRlZiB2b2lkIChiaW9fZW5kX2lvX3QpIChzdHJ1Y3QgYmlvICosIGludCk7CiB0eXBlZGVmIHZvaWQgKGJpb19kZXN0cnVjdG9yX3QpIChzdHJ1Y3QgYmlvICopOwogCkBAIC0xMTIsNiArMTEzLDkgQEAKIAlhdG9taWNfdAkJYmlfY250OwkJLyogcGluIGNvdW50ICovCiAKIAl2b2lkCQkJKmJpX3ByaXZhdGU7CisjaWYgZGVmaW5lZChDT05GSUdfQkxLX0RFVl9JTlRFR1JJVFkpCisJc3RydWN0IGJpb19pbnRlZ3JpdHlfcGF5bG9hZCAqYmlfaW50ZWdyaXR5OyAgLyogZGF0YSBpbnRlZ3JpdHkgKi8KKyNlbmRpZgogCiAJYmlvX2Rlc3RydWN0b3JfdAkqYmlfZGVzdHJ1Y3RvcjsJLyogZGVzdHJ1Y3RvciAqLwogfTsKQEAgLTI3MSw2ICsyNzUsMjkgQEAKICAqLwogI2RlZmluZSBiaW9fZ2V0KGJpbykJYXRvbWljX2luYygmKGJpbyktPmJpX2NudCkKIAorI2lmIGRlZmluZWQoQ09ORklHX0JMS19ERVZfSU5URUdSSVRZKQorLyoKKyAqIGJpbyBpbnRlZ3JpdHkgcGF5bG9hZAorICovCitzdHJ1Y3QgYmlvX2ludGVncml0eV9wYXlsb2FkIHsKKwlzdHJ1Y3QgYmlvCQkqYmlwX2JpbzsJLyogcGFyZW50IGJpbyAqLworCXN0cnVjdCBiaW9fdmVjCQkqYmlwX3ZlYzsJLyogaW50ZWdyaXR5IGRhdGEgdmVjdG9yICovCisKKwlzZWN0b3JfdAkJYmlwX3NlY3RvcjsJLyogdmlydHVhbCBzdGFydCBzZWN0b3IgKi8KKworCXZvaWQJCQkqYmlwX2J1ZjsJLyogZ2VuZXJhdGVkIGludGVncml0eSBkYXRhICovCisJYmlvX2VuZF9pb190CQkqYmlwX2VuZF9pbzsJLyogc2F2ZWQgSS9PIGNvbXBsZXRpb24gZm4gKi8KKworCWludAkJCWJpcF9lcnJvcjsJLyogc2F2ZWQgSS9PIGVycm9yICovCisJdW5zaWduZWQgaW50CQliaXBfc2l6ZTsKKworCXVuc2lnbmVkIHNob3J0CQliaXBfcG9vbDsJLyogcG9vbCB0aGUgaXZlYyBjYW1lIGZyb20gKi8KKwl1bnNpZ25lZCBzaG9ydAkJYmlwX3ZjbnQ7CS8qICMgb2YgaW50ZWdyaXR5IGJpb192ZWNzICovCisJdW5zaWduZWQgc2hvcnQJCWJpcF9pZHg7CS8qIGN1cnJlbnQgYmlwX3ZlYyBpbmRleCAqLworCisJc3RydWN0IHdvcmtfc3RydWN0CWJpcF93b3JrOwkvKiBJL08gY29tcGxldGlvbiAqLworfTsKKyNlbmRpZiAvKiBDT05GSUdfQkxLX0RFVl9JTlRFR1JJVFkgKi8KIAogLyoKICAqIEEgYmlvX3BhaXIgaXMgdXNlZCB3aGVuIHdlIG5lZWQgdG8gc3BsaXQgYSBiaW8uCkBAIC0yODMsMTAgKzMxMCwxNCBAQAogICogICBpbiBiaW8yLmJpX3ByaXZhdGUKICAqLwogc3RydWN0IGJpb19wYWlyIHsKLQlzdHJ1Y3QgYmlvCWJpbzEsIGJpbzI7Ci0Jc3RydWN0IGJpb192ZWMJYnYxLCBidjI7Ci0JYXRvbWljX3QJY250OwotCWludAkJZXJyb3I7CisJc3RydWN0IGJpbwkJCWJpbzEsIGJpbzI7CisJc3RydWN0IGJpb192ZWMJCQlidjEsIGJ2MjsKKyNpZiBkZWZpbmVkKENPTkZJR19CTEtfREVWX0lOVEVHUklUWSkKKwlzdHJ1Y3QgYmlvX2ludGVncml0eV9wYXlsb2FkCWJpcDEsIGJpcDI7CisJc3RydWN0IGJpb192ZWMJCQlpdjEsIGl2MjsKKyNlbmRpZgorCWF0b21pY190CQkJY250OworCWludAkJCQllcnJvcjsKIH07CiBleHRlcm4gc3RydWN0IGJpb19wYWlyICpiaW9fc3BsaXQoc3RydWN0IGJpbyAqYmksIG1lbXBvb2xfdCAqcG9vbCwKIAkJCQkgIGludCBmaXJzdF9zZWN0b3JzKTsKQEAgLTMzMyw2ICszNjQsMzkgQEAKIAkJCQkgICAgIGludCwgaW50KTsKIGV4dGVybiBpbnQgYmlvX3VuY29weV91c2VyKHN0cnVjdCBiaW8gKik7CiB2b2lkIHplcm9fZmlsbF9iaW8oc3RydWN0IGJpbyAqYmlvKTsKK2V4dGVybiBzdHJ1Y3QgYmlvX3ZlYyAqYnZlY19hbGxvY19icyhnZnBfdCwgaW50LCB1bnNpZ25lZCBsb25nICosIHN0cnVjdCBiaW9fc2V0ICopOworZXh0ZXJuIHVuc2lnbmVkIGludCBidmVjX25yX3ZlY3ModW5zaWduZWQgc2hvcnQgaWR4KTsKKworLyoKKyAqIGJpb19zZXQgaXMgdXNlZCB0byBhbGxvdyBvdGhlciBwb3J0aW9ucyBvZiB0aGUgSU8gc3lzdGVtIHRvCisgKiBhbGxvY2F0ZSB0aGVpciBvd24gcHJpdmF0ZSBtZW1vcnkgcG9vbHMgZm9yIGJpbyBhbmQgaW92ZWMgc3RydWN0dXJlcy4KKyAqIFRoZXNlIG1lbW9yeSBwb29scyBpbiB0dXJuIGFsbCBhbGxvY2F0ZSBmcm9tIHRoZSBiaW9fc2xhYgorICogYW5kIHRoZSBidmVjX3NsYWJzW10uCisgKi8KKyNkZWZpbmUgQklPX1BPT0xfU0laRSAyCisjZGVmaW5lIEJJT1ZFQ19OUl9QT09MUyA2CisKK3N0cnVjdCBiaW9fc2V0IHsKKwltZW1wb29sX3QgKmJpb19wb29sOworI2lmIGRlZmluZWQoQ09ORklHX0JMS19ERVZfSU5URUdSSVRZKQorCW1lbXBvb2xfdCAqYmlvX2ludGVncml0eV9wb29sOworI2VuZGlmCisJbWVtcG9vbF90ICpidmVjX3Bvb2xzW0JJT1ZFQ19OUl9QT09MU107Cit9OworCitzdHJ1Y3QgYmlvdmVjX3NsYWIgeworCWludCBucl92ZWNzOworCWNoYXIgKm5hbWU7CisJc3RydWN0IGttZW1fY2FjaGUgKnNsYWI7Cit9OworCitleHRlcm4gc3RydWN0IGJpb19zZXQgKmZzX2Jpb19zZXQ7CisKKy8qCisgKiBhIHNtYWxsIG51bWJlciBvZiBlbnRyaWVzIGlzIGZpbmUsIG5vdCBnb2luZyB0byBiZSBwZXJmb3JtYW5jZSBjcml0aWNhbC4KKyAqIGJhc2ljYWxseSB3ZSBqdXN0IG5lZWQgdG8gc3Vydml2ZQorICovCisjZGVmaW5lIEJJT19TUExJVF9FTlRSSUVTIDIKIAogI2lmZGVmIENPTkZJR19ISUdITUVNCiAvKgpAQCAtMzgxLDUgKzQ0NSw2MyBAQAogCV9fYmlvX2ttYXBfaXJxKChiaW8pLCAoYmlvKS0+YmlfaWR4LCAoZmxhZ3MpKQogI2RlZmluZSBiaW9fa3VubWFwX2lycShidWYsZmxhZ3MpCV9fYmlvX2t1bm1hcF9pcnEoYnVmLCBmbGFncykKIAorI2lmIGRlZmluZWQoQ09ORklHX0JMS19ERVZfSU5URUdSSVRZKQorCisjZGVmaW5lIGJpcF92ZWNfaWR4KGJpcCwgaWR4KQkoJihiaXAtPmJpcF92ZWNbKGlkeCldKSkKKyNkZWZpbmUgYmlwX3ZlYyhiaXApCQliaXBfdmVjX2lkeChiaXAsIDApCisKKyNkZWZpbmUgX19iaXBfZm9yX2VhY2hfdmVjKGJ2bCwgYmlwLCBpLCBzdGFydF9pZHgpCQkJXAorCWZvciAoYnZsID0gYmlwX3ZlY19pZHgoKGJpcCksIChzdGFydF9pZHgpKSwgaSA9IChzdGFydF9pZHgpOwlcCisJICAgICBpIDwgKGJpcCktPmJpcF92Y250OwkJCQkJXAorCSAgICAgYnZsKyssIGkrKykKKworI2RlZmluZSBiaXBfZm9yX2VhY2hfdmVjKGJ2bCwgYmlwLCBpKQkJCQkJXAorCV9fYmlwX2Zvcl9lYWNoX3ZlYyhidmwsIGJpcCwgaSwgKGJpcCktPmJpcF9pZHgpCisKK3N0YXRpYyBpbmxpbmUgaW50IGJpb19pbnRlZ3JpdHkoc3RydWN0IGJpbyAqYmlvKQoreworI2lmIGRlZmluZWQoQ09ORklHX0JMS19ERVZfSU5URUdSSVRZKQorCXJldHVybiBiaW8tPmJpX2ludGVncml0eSAhPSBOVUxMOworI2Vsc2UKKwlyZXR1cm4gMDsKKyNlbmRpZgorfQorCitleHRlcm4gc3RydWN0IGJpb19pbnRlZ3JpdHlfcGF5bG9hZCAqYmlvX2ludGVncml0eV9hbGxvY19iaW9zZXQoc3RydWN0IGJpbyAqLCBnZnBfdCwgdW5zaWduZWQgaW50LCBzdHJ1Y3QgYmlvX3NldCAqKTsKK2V4dGVybiBzdHJ1Y3QgYmlvX2ludGVncml0eV9wYXlsb2FkICpiaW9faW50ZWdyaXR5X2FsbG9jKHN0cnVjdCBiaW8gKiwgZ2ZwX3QsIHVuc2lnbmVkIGludCk7CitleHRlcm4gdm9pZCBiaW9faW50ZWdyaXR5X2ZyZWUoc3RydWN0IGJpbyAqLCBzdHJ1Y3QgYmlvX3NldCAqKTsKK2V4dGVybiBpbnQgYmlvX2ludGVncml0eV9hZGRfcGFnZShzdHJ1Y3QgYmlvICosIHN0cnVjdCBwYWdlICosIHVuc2lnbmVkIGludCwgdW5zaWduZWQgaW50KTsKK2V4dGVybiBpbnQgYmlvX2ludGVncml0eV9lbmFibGVkKHN0cnVjdCBiaW8gKmJpbyk7CitleHRlcm4gaW50IGJpb19pbnRlZ3JpdHlfc2V0X3RhZyhzdHJ1Y3QgYmlvICosIHZvaWQgKiwgdW5zaWduZWQgaW50KTsKK2V4dGVybiBpbnQgYmlvX2ludGVncml0eV9nZXRfdGFnKHN0cnVjdCBiaW8gKiwgdm9pZCAqLCB1bnNpZ25lZCBpbnQpOworZXh0ZXJuIGludCBiaW9faW50ZWdyaXR5X3ByZXAoc3RydWN0IGJpbyAqKTsKK2V4dGVybiB2b2lkIGJpb19pbnRlZ3JpdHlfZW5kaW8oc3RydWN0IGJpbyAqLCBpbnQpOworZXh0ZXJuIHZvaWQgYmlvX2ludGVncml0eV9hZHZhbmNlKHN0cnVjdCBiaW8gKiwgdW5zaWduZWQgaW50KTsKK2V4dGVybiB2b2lkIGJpb19pbnRlZ3JpdHlfdHJpbShzdHJ1Y3QgYmlvICosIHVuc2lnbmVkIGludCwgdW5zaWduZWQgaW50KTsKK2V4dGVybiB2b2lkIGJpb19pbnRlZ3JpdHlfc3BsaXQoc3RydWN0IGJpbyAqLCBzdHJ1Y3QgYmlvX3BhaXIgKiwgaW50KTsKK2V4dGVybiBpbnQgYmlvX2ludGVncml0eV9jbG9uZShzdHJ1Y3QgYmlvICosIHN0cnVjdCBiaW8gKiwgc3RydWN0IGJpb19zZXQgKik7CitleHRlcm4gaW50IGJpb3NldF9pbnRlZ3JpdHlfY3JlYXRlKHN0cnVjdCBiaW9fc2V0ICosIGludCk7CitleHRlcm4gdm9pZCBiaW9zZXRfaW50ZWdyaXR5X2ZyZWUoc3RydWN0IGJpb19zZXQgKik7CitleHRlcm4gdm9pZCBiaW9faW50ZWdyaXR5X2luaXRfc2xhYih2b2lkKTsKKworI2Vsc2UgLyogQ09ORklHX0JMS19ERVZfSU5URUdSSVRZICovCisKKyNkZWZpbmUgYmlvX2ludGVncml0eShhKQkJKDApCisjZGVmaW5lIGJpb3NldF9pbnRlZ3JpdHlfY3JlYXRlKGEsIGIpCSgwKQorI2RlZmluZSBiaW9faW50ZWdyaXR5X3ByZXAoYSkJCSgwKQorI2RlZmluZSBiaW9faW50ZWdyaXR5X2VuYWJsZWQoYSkJKDApCisjZGVmaW5lIGJpb19pbnRlZ3JpdHlfY2xvbmUoYSwgYiwgYykJKDApCisjZGVmaW5lIGJpb3NldF9pbnRlZ3JpdHlfZnJlZShhKQlkbyB7IH0gd2hpbGUgKDApCisjZGVmaW5lIGJpb19pbnRlZ3JpdHlfZnJlZShhLCBiKQlkbyB7IH0gd2hpbGUgKDApCisjZGVmaW5lIGJpb19pbnRlZ3JpdHlfZW5kaW8oYSwgYikJZG8geyB9IHdoaWxlICgwKQorI2RlZmluZSBiaW9faW50ZWdyaXR5X2FkdmFuY2UoYSwgYikJZG8geyB9IHdoaWxlICgwKQorI2RlZmluZSBiaW9faW50ZWdyaXR5X3RyaW0oYSwgYiwgYykJZG8geyB9IHdoaWxlICgwKQorI2RlZmluZSBiaW9faW50ZWdyaXR5X3NwbGl0KGEsIGIsIGMpCWRvIHsgfSB3aGlsZSAoMCkKKyNkZWZpbmUgYmlvX2ludGVncml0eV9zZXRfdGFnKGEsIGIsIGMpCWRvIHsgfSB3aGlsZSAoMCkKKyNkZWZpbmUgYmlvX2ludGVncml0eV9nZXRfdGFnKGEsIGIsIGMpCWRvIHsgfSB3aGlsZSAoMCkKKyNkZWZpbmUgYmlvX2ludGVncml0eV9pbml0X3NsYWIoYSkJZG8geyB9IHdoaWxlICgwKQorCisjZW5kaWYgLyogQ09ORklHX0JMS19ERVZfSU5URUdSSVRZICovCisKICNlbmRpZiAvKiBDT05GSUdfQkxPQ0sgKi8KICNlbmRpZiAvKiBfX0xJTlVYX0JJT19IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L2Jsa2Rldi5oIGIvaW5jbHVkZS9saW51eC9ibGtkZXYuaAppbmRleCBkMmExYjcxLi4zMmE0NDFiIDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L2Jsa2Rldi5oCisrKyBiL2luY2x1ZGUvbGludXgvYmxrZGV2LmgKQEAgLTIzLDcgKzIzLDYgQEAKIHN0cnVjdCBzY3NpX2lvY3RsX2NvbW1hbmQ7CiAKIHN0cnVjdCByZXF1ZXN0X3F1ZXVlOwotdHlwZWRlZiBzdHJ1Y3QgcmVxdWVzdF9xdWV1ZSByZXF1ZXN0X3F1ZXVlX3QgX19kZXByZWNhdGVkOwogc3RydWN0IGVsZXZhdG9yX3F1ZXVlOwogdHlwZWRlZiBzdHJ1Y3QgZWxldmF0b3JfcXVldWUgZWxldmF0b3JfdDsKIHN0cnVjdCByZXF1ZXN0X3BtX3N0YXRlOwpAQCAtMzQsMTIgKzMzLDYgQEAKICNkZWZpbmUgQkxLREVWX01JTl9SUQk0CiAjZGVmaW5lIEJMS0RFVl9NQVhfUlEJMTI4CS8qIERlZmF1bHQgbWF4aW11bSAqLwogCi1pbnQgcHV0X2lvX2NvbnRleHQoc3RydWN0IGlvX2NvbnRleHQgKmlvYyk7Ci12b2lkIGV4aXRfaW9fY29udGV4dCh2b2lkKTsKLXN0cnVjdCBpb19jb250ZXh0ICpnZXRfaW9fY29udGV4dChnZnBfdCBnZnBfZmxhZ3MsIGludCBub2RlKTsKLXN0cnVjdCBpb19jb250ZXh0ICphbGxvY19pb19jb250ZXh0KGdmcF90IGdmcF9mbGFncywgaW50IG5vZGUpOwotdm9pZCBjb3B5X2lvX2NvbnRleHQoc3RydWN0IGlvX2NvbnRleHQgKipwZHN0LCBzdHJ1Y3QgaW9fY29udGV4dCAqKnBzcmMpOwotCiBzdHJ1Y3QgcmVxdWVzdDsKIHR5cGVkZWYgdm9pZCAocnFfZW5kX2lvX2ZuKShzdHJ1Y3QgcmVxdWVzdCAqLCBpbnQpOwogCkBAIC0xMTMsNiArMTA2LDcgQEAKIAlfX1JFUV9BTExPQ0VELAkJLyogcmVxdWVzdCBjYW1lIGZyb20gb3VyIGFsbG9jIHBvb2wgKi8KIAlfX1JFUV9SV19NRVRBLAkJLyogbWV0YWRhdGEgaW8gcmVxdWVzdCAqLwogCV9fUkVRX0NPUFlfVVNFUiwJLyogY29udGFpbnMgY29waWVzIG9mIHVzZXIgcGFnZXMgKi8KKwlfX1JFUV9JTlRFR1JJVFksCS8qIGludGVncml0eSBtZXRhZGF0YSBoYXMgYmVlbiByZW1hcHBlZCAqLwogCV9fUkVRX05SX0JJVFMsCQkvKiBzdG9wcyBoZXJlICovCiB9OwogCkBAIC0xMzUsNiArMTI5LDcgQEAKICNkZWZpbmUgUkVRX0FMTE9DRUQJKDEgPDwgX19SRVFfQUxMT0NFRCkKICNkZWZpbmUgUkVRX1JXX01FVEEJKDEgPDwgX19SRVFfUldfTUVUQSkKICNkZWZpbmUgUkVRX0NPUFlfVVNFUgkoMSA8PCBfX1JFUV9DT1BZX1VTRVIpCisjZGVmaW5lIFJFUV9JTlRFR1JJVFkJKDEgPDwgX19SRVFfSU5URUdSSVRZKQogCiAjZGVmaW5lIEJMS19NQVhfQ0RCCTE2CiAKQEAgLTI1OSw3ICsyNTQsMTQgQEAKIHR5cGVkZWYgdm9pZCAodW5wbHVnX2ZuKSAoc3RydWN0IHJlcXVlc3RfcXVldWUgKik7CiAKIHN0cnVjdCBiaW9fdmVjOwotdHlwZWRlZiBpbnQgKG1lcmdlX2J2ZWNfZm4pIChzdHJ1Y3QgcmVxdWVzdF9xdWV1ZSAqLCBzdHJ1Y3QgYmlvICosIHN0cnVjdCBiaW9fdmVjICopOworc3RydWN0IGJ2ZWNfbWVyZ2VfZGF0YSB7CisJc3RydWN0IGJsb2NrX2RldmljZSAqYmlfYmRldjsKKwlzZWN0b3JfdCBiaV9zZWN0b3I7CisJdW5zaWduZWQgYmlfc2l6ZTsKKwl1bnNpZ25lZCBsb25nIGJpX3J3OworfTsKK3R5cGVkZWYgaW50IChtZXJnZV9idmVjX2ZuKSAoc3RydWN0IHJlcXVlc3RfcXVldWUgKiwgc3RydWN0IGJ2ZWNfbWVyZ2VfZGF0YSAqLAorCQkJICAgICBzdHJ1Y3QgYmlvX3ZlYyAqKTsKIHR5cGVkZWYgdm9pZCAocHJlcGFyZV9mbHVzaF9mbikgKHN0cnVjdCByZXF1ZXN0X3F1ZXVlICosIHN0cnVjdCByZXF1ZXN0ICopOwogdHlwZWRlZiB2b2lkIChzb2Z0aXJxX2RvbmVfZm4pKHN0cnVjdCByZXF1ZXN0ICopOwogdHlwZWRlZiBpbnQgKGRtYV9kcmFpbl9uZWVkZWRfZm4pKHN0cnVjdCByZXF1ZXN0ICopOwpAQCAtNDI2LDYgKzQyOCwzMiBAQAogCV9fc2V0X2JpdChmbGFnLCAmcS0+cXVldWVfZmxhZ3MpOwogfQogCitzdGF0aWMgaW5saW5lIGludCBxdWV1ZV9mbGFnX3Rlc3RfYW5kX2NsZWFyKHVuc2lnbmVkIGludCBmbGFnLAorCQkJCQkgICAgc3RydWN0IHJlcXVlc3RfcXVldWUgKnEpCit7CisJV0FSTl9PTl9PTkNFKCFxdWV1ZV9pc19sb2NrZWQocSkpOworCisJaWYgKHRlc3RfYml0KGZsYWcsICZxLT5xdWV1ZV9mbGFncykpIHsKKwkJX19jbGVhcl9iaXQoZmxhZywgJnEtPnF1ZXVlX2ZsYWdzKTsKKwkJcmV0dXJuIDE7CisJfQorCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbmxpbmUgaW50IHF1ZXVlX2ZsYWdfdGVzdF9hbmRfc2V0KHVuc2lnbmVkIGludCBmbGFnLAorCQkJCQkgIHN0cnVjdCByZXF1ZXN0X3F1ZXVlICpxKQoreworCVdBUk5fT05fT05DRSghcXVldWVfaXNfbG9ja2VkKHEpKTsKKworCWlmICghdGVzdF9iaXQoZmxhZywgJnEtPnF1ZXVlX2ZsYWdzKSkgeworCQlfX3NldF9iaXQoZmxhZywgJnEtPnF1ZXVlX2ZsYWdzKTsKKwkJcmV0dXJuIDA7CisJfQorCisJcmV0dXJuIDE7Cit9CisKIHN0YXRpYyBpbmxpbmUgdm9pZCBxdWV1ZV9mbGFnX3NldCh1bnNpZ25lZCBpbnQgZmxhZywgc3RydWN0IHJlcXVlc3RfcXVldWUgKnEpCiB7CiAJV0FSTl9PTl9PTkNFKCFxdWV1ZV9pc19sb2NrZWQocSkpOwpAQCAtNjIzLDcgKzY1MSw2IEBACiBleHRlcm4gdm9pZCBibGtfcnFfaW5pdChzdHJ1Y3QgcmVxdWVzdF9xdWV1ZSAqcSwgc3RydWN0IHJlcXVlc3QgKnJxKTsKIGV4dGVybiB2b2lkIGJsa19wdXRfcmVxdWVzdChzdHJ1Y3QgcmVxdWVzdCAqKTsKIGV4dGVybiB2b2lkIF9fYmxrX3B1dF9yZXF1ZXN0KHN0cnVjdCByZXF1ZXN0X3F1ZXVlICosIHN0cnVjdCByZXF1ZXN0ICopOwotZXh0ZXJuIHZvaWQgYmxrX2VuZF9zeW5jX3JxKHN0cnVjdCByZXF1ZXN0ICpycSwgaW50IGVycm9yKTsKIGV4dGVybiBzdHJ1Y3QgcmVxdWVzdCAqYmxrX2dldF9yZXF1ZXN0KHN0cnVjdCByZXF1ZXN0X3F1ZXVlICosIGludCwgZ2ZwX3QpOwogZXh0ZXJuIHZvaWQgYmxrX2luc2VydF9yZXF1ZXN0KHN0cnVjdCByZXF1ZXN0X3F1ZXVlICosIHN0cnVjdCByZXF1ZXN0ICosIGludCwgdm9pZCAqKTsKIGV4dGVybiB2b2lkIGJsa19yZXF1ZXVlX3JlcXVlc3Qoc3RydWN0IHJlcXVlc3RfcXVldWUgKiwgc3RydWN0IHJlcXVlc3QgKik7CkBAIC02NzYsNyArNzAzLDYgQEAKIAkJCSAgc3RydWN0IHJlcXVlc3QgKiwgaW50KTsKIGV4dGVybiB2b2lkIGJsa19leGVjdXRlX3JxX25vd2FpdChzdHJ1Y3QgcmVxdWVzdF9xdWV1ZSAqLCBzdHJ1Y3QgZ2VuZGlzayAqLAogCQkJCSAgc3RydWN0IHJlcXVlc3QgKiwgaW50LCBycV9lbmRfaW9fZm4gKik7Ci1leHRlcm4gaW50IGJsa192ZXJpZnlfY29tbWFuZCh1bnNpZ25lZCBjaGFyICosIGludCk7CiBleHRlcm4gdm9pZCBibGtfdW5wbHVnKHN0cnVjdCByZXF1ZXN0X3F1ZXVlICpxKTsKIAogc3RhdGljIGlubGluZSBzdHJ1Y3QgcmVxdWVzdF9xdWV1ZSAqYmRldl9nZXRfcXVldWUoc3RydWN0IGJsb2NrX2RldmljZSAqYmRldikKQEAgLTc0OSw2ICs3NzUsNyBAQAogZXh0ZXJuIHZvaWQgYmxrX3F1ZXVlX2hhcmRzZWN0X3NpemUoc3RydWN0IHJlcXVlc3RfcXVldWUgKiwgdW5zaWduZWQgc2hvcnQpOwogZXh0ZXJuIHZvaWQgYmxrX3F1ZXVlX3N0YWNrX2xpbWl0cyhzdHJ1Y3QgcmVxdWVzdF9xdWV1ZSAqdCwgc3RydWN0IHJlcXVlc3RfcXVldWUgKmIpOwogZXh0ZXJuIHZvaWQgYmxrX3F1ZXVlX2RtYV9wYWQoc3RydWN0IHJlcXVlc3RfcXVldWUgKiwgdW5zaWduZWQgaW50KTsKK2V4dGVybiB2b2lkIGJsa19xdWV1ZV91cGRhdGVfZG1hX3BhZChzdHJ1Y3QgcmVxdWVzdF9xdWV1ZSAqLCB1bnNpZ25lZCBpbnQpOwogZXh0ZXJuIGludCBibGtfcXVldWVfZG1hX2RyYWluKHN0cnVjdCByZXF1ZXN0X3F1ZXVlICpxLAogCQkJICAgICAgIGRtYV9kcmFpbl9uZWVkZWRfZm4gKmRtYV9kcmFpbl9uZWVkZWQsCiAJCQkgICAgICAgdm9pZCAqYnVmLCB1bnNpZ25lZCBpbnQgc2l6ZSk7CkBAIC04MDIsNiArODI5LDE1IEBACiAKIGV4dGVybiBpbnQgYmxrZGV2X2lzc3VlX2ZsdXNoKHN0cnVjdCBibG9ja19kZXZpY2UgKiwgc2VjdG9yX3QgKik7CiAKKy8qCisqIGNvbW1hbmQgZmlsdGVyIGZ1bmN0aW9ucworKi8KK2V4dGVybiBpbnQgYmxrX3ZlcmlmeV9jb21tYW5kKHN0cnVjdCBmaWxlICpmaWxlLCB1bnNpZ25lZCBjaGFyICpjbWQpOworZXh0ZXJuIGludCBibGtfY21kX2ZpbHRlcl92ZXJpZnlfY29tbWFuZChzdHJ1Y3QgYmxrX3Njc2lfY21kX2ZpbHRlciAqZmlsdGVyLAorCQkJCQkgdW5zaWduZWQgY2hhciAqY21kLCBtb2RlX3QgKmZfbW9kZSk7CitleHRlcm4gaW50IGJsa19yZWdpc3Rlcl9maWx0ZXIoc3RydWN0IGdlbmRpc2sgKmRpc2spOworZXh0ZXJuIHZvaWQgYmxrX3VucmVnaXN0ZXJfZmlsdGVyKHN0cnVjdCBnZW5kaXNrICpkaXNrKTsKKwogI2RlZmluZSBNQVhfUEhZU19TRUdNRU5UUyAxMjgKICNkZWZpbmUgTUFYX0hXX1NFR01FTlRTIDEyOAogI2RlZmluZSBTQUZFX01BWF9TRUNUT1JTIDI1NQpAQCAtODY1LDYgKzkwMSwxMDUgQEAKICNkZWZpbmUgTU9EVUxFX0FMSUFTX0JMT0NLREVWX01BSk9SKG1ham9yKSBcCiAJTU9EVUxFX0FMSUFTKCJibG9jay1tYWpvci0iIF9fc3RyaW5naWZ5KG1ham9yKSAiLSoiKQogCisjaWYgZGVmaW5lZChDT05GSUdfQkxLX0RFVl9JTlRFR1JJVFkpCisKKyNkZWZpbmUgSU5URUdSSVRZX0ZMQUdfUkVBRAkyCS8qIHZlcmlmeSBkYXRhIGludGVncml0eSBvbiByZWFkICovCisjZGVmaW5lIElOVEVHUklUWV9GTEFHX1dSSVRFCTQJLyogZ2VuZXJhdGUgZGF0YSBpbnRlZ3JpdHkgb24gd3JpdGUgKi8KKworc3RydWN0IGJsa19pbnRlZ3JpdHlfZXhjaGcgeworCXZvaWQJCQkqcHJvdF9idWY7CisJdm9pZAkJCSpkYXRhX2J1ZjsKKwlzZWN0b3JfdAkJc2VjdG9yOworCXVuc2lnbmVkIGludAkJZGF0YV9zaXplOworCXVuc2lnbmVkIHNob3J0CQlzZWN0b3Jfc2l6ZTsKKwljb25zdCBjaGFyCQkqZGlza19uYW1lOworfTsKKwordHlwZWRlZiB2b2lkIChpbnRlZ3JpdHlfZ2VuX2ZuKSAoc3RydWN0IGJsa19pbnRlZ3JpdHlfZXhjaGcgKik7Cit0eXBlZGVmIGludCAoaW50ZWdyaXR5X3ZyZnlfZm4pIChzdHJ1Y3QgYmxrX2ludGVncml0eV9leGNoZyAqKTsKK3R5cGVkZWYgdm9pZCAoaW50ZWdyaXR5X3NldF90YWdfZm4pICh2b2lkICosIHZvaWQgKiwgdW5zaWduZWQgaW50KTsKK3R5cGVkZWYgdm9pZCAoaW50ZWdyaXR5X2dldF90YWdfZm4pICh2b2lkICosIHZvaWQgKiwgdW5zaWduZWQgaW50KTsKKworc3RydWN0IGJsa19pbnRlZ3JpdHkgeworCWludGVncml0eV9nZW5fZm4JKmdlbmVyYXRlX2ZuOworCWludGVncml0eV92cmZ5X2ZuCSp2ZXJpZnlfZm47CisJaW50ZWdyaXR5X3NldF90YWdfZm4JKnNldF90YWdfZm47CisJaW50ZWdyaXR5X2dldF90YWdfZm4JKmdldF90YWdfZm47CisKKwl1bnNpZ25lZCBzaG9ydAkJZmxhZ3M7CisJdW5zaWduZWQgc2hvcnQJCXR1cGxlX3NpemU7CisJdW5zaWduZWQgc2hvcnQJCXNlY3Rvcl9zaXplOworCXVuc2lnbmVkIHNob3J0CQl0YWdfc2l6ZTsKKworCWNvbnN0IGNoYXIJCSpuYW1lOworCisJc3RydWN0IGtvYmplY3QJCWtvYmo7Cit9OworCitleHRlcm4gaW50IGJsa19pbnRlZ3JpdHlfcmVnaXN0ZXIoc3RydWN0IGdlbmRpc2sgKiwgc3RydWN0IGJsa19pbnRlZ3JpdHkgKik7CitleHRlcm4gdm9pZCBibGtfaW50ZWdyaXR5X3VucmVnaXN0ZXIoc3RydWN0IGdlbmRpc2sgKik7CitleHRlcm4gaW50IGJsa19pbnRlZ3JpdHlfY29tcGFyZShzdHJ1Y3QgYmxvY2tfZGV2aWNlICosIHN0cnVjdCBibG9ja19kZXZpY2UgKik7CitleHRlcm4gaW50IGJsa19ycV9tYXBfaW50ZWdyaXR5X3NnKHN0cnVjdCByZXF1ZXN0ICosIHN0cnVjdCBzY2F0dGVybGlzdCAqKTsKK2V4dGVybiBpbnQgYmxrX3JxX2NvdW50X2ludGVncml0eV9zZyhzdHJ1Y3QgcmVxdWVzdCAqKTsKKworc3RhdGljIGlubGluZSB1bnNpZ25lZCBzaG9ydCBibGtfaW50ZWdyaXR5X3R1cGxlX3NpemUoc3RydWN0IGJsa19pbnRlZ3JpdHkgKmJpKQoreworCWlmIChiaSkKKwkJcmV0dXJuIGJpLT50dXBsZV9zaXplOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbmxpbmUgc3RydWN0IGJsa19pbnRlZ3JpdHkgKmJkZXZfZ2V0X2ludGVncml0eShzdHJ1Y3QgYmxvY2tfZGV2aWNlICpiZGV2KQoreworCXJldHVybiBiZGV2LT5iZF9kaXNrLT5pbnRlZ3JpdHk7Cit9CisKK3N0YXRpYyBpbmxpbmUgdW5zaWduZWQgaW50IGJkZXZfZ2V0X3RhZ19zaXplKHN0cnVjdCBibG9ja19kZXZpY2UgKmJkZXYpCit7CisJc3RydWN0IGJsa19pbnRlZ3JpdHkgKmJpID0gYmRldl9nZXRfaW50ZWdyaXR5KGJkZXYpOworCisJaWYgKGJpKQorCQlyZXR1cm4gYmktPnRhZ19zaXplOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbmxpbmUgaW50IGJkZXZfaW50ZWdyaXR5X2VuYWJsZWQoc3RydWN0IGJsb2NrX2RldmljZSAqYmRldiwgaW50IHJ3KQoreworCXN0cnVjdCBibGtfaW50ZWdyaXR5ICpiaSA9IGJkZXZfZ2V0X2ludGVncml0eShiZGV2KTsKKworCWlmIChiaSA9PSBOVUxMKQorCQlyZXR1cm4gMDsKKworCWlmIChydyA9PSBSRUFEICYmIGJpLT52ZXJpZnlfZm4gIT0gTlVMTCAmJgorCSAgICAoYmktPmZsYWdzICYgSU5URUdSSVRZX0ZMQUdfUkVBRCkpCisJCXJldHVybiAxOworCisJaWYgKHJ3ID09IFdSSVRFICYmIGJpLT5nZW5lcmF0ZV9mbiAhPSBOVUxMICYmCisJICAgIChiaS0+ZmxhZ3MgJiBJTlRFR1JJVFlfRkxBR19XUklURSkpCisJCXJldHVybiAxOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbmxpbmUgaW50IGJsa19pbnRlZ3JpdHlfcnEoc3RydWN0IHJlcXVlc3QgKnJxKQoreworCXJldHVybiBiaW9faW50ZWdyaXR5KHJxLT5iaW8pOworfQorCisjZWxzZSAvKiBDT05GSUdfQkxLX0RFVl9JTlRFR1JJVFkgKi8KKworI2RlZmluZSBibGtfaW50ZWdyaXR5X3JxKHJxKQkJCSgwKQorI2RlZmluZSBibGtfcnFfY291bnRfaW50ZWdyaXR5X3NnKGEpCQkoMCkKKyNkZWZpbmUgYmxrX3JxX21hcF9pbnRlZ3JpdHlfc2coYSwgYikJCSgwKQorI2RlZmluZSBiZGV2X2dldF9pbnRlZ3JpdHkoYSkJCQkoMCkKKyNkZWZpbmUgYmRldl9nZXRfdGFnX3NpemUoYSkJCQkoMCkKKyNkZWZpbmUgYmxrX2ludGVncml0eV9jb21wYXJlKGEsIGIpCQkoMCkKKyNkZWZpbmUgYmxrX2ludGVncml0eV9yZWdpc3RlcihhLCBiKQkJKDApCisjZGVmaW5lIGJsa19pbnRlZ3JpdHlfdW5yZWdpc3RlcihhKQkJZG8geyB9IHdoaWxlICgwKTsKKworI2VuZGlmIC8qIENPTkZJR19CTEtfREVWX0lOVEVHUklUWSAqLwogCiAjZWxzZSAvKiBDT05GSUdfQkxPQ0sgKi8KIC8qCkBAIC04NzcsMTcgKzEwMTIsNiBAQAogCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW5saW5lIHZvaWQgZXhpdF9pb19jb250ZXh0KHZvaWQpCi17Ci19Ci0KLXN0cnVjdCBpb19jb250ZXh0Owotc3RhdGljIGlubGluZSBpbnQgcHV0X2lvX2NvbnRleHQoc3RydWN0IGlvX2NvbnRleHQgKmlvYykKLXsKLQlyZXR1cm4gMTsKLX0KLQotCiAjZW5kaWYgLyogQ09ORklHX0JMT0NLICovCiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9ibGt0cmFjZV9hcGkuaCBiL2luY2x1ZGUvbGludXgvYmxrdHJhY2VfYXBpLmgKaW5kZXggZTNlZjkwMy4uZDA4NGI4ZCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9ibGt0cmFjZV9hcGkuaAorKysgYi9pbmNsdWRlL2xpbnV4L2Jsa3RyYWNlX2FwaS5oCkBAIC0xMjksNiArMTI5LDcgQEAKIAl1MzIgZGV2OwogCXN0cnVjdCBkZW50cnkgKmRpcjsKIAlzdHJ1Y3QgZGVudHJ5ICpkcm9wcGVkX2ZpbGU7CisJc3RydWN0IGRlbnRyeSAqbXNnX2ZpbGU7CiAJYXRvbWljX3QgZHJvcHBlZDsKIH07CiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvYm9vdG1lbS5oIGIvaW5jbHVkZS9saW51eC9ib290bWVtLmgKaW5kZXggNjg2ODk1Yi4uYTFkOWI3OSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9ib290bWVtLmgKKysrIGIvaW5jbHVkZS9saW51eC9ib290bWVtLmgKQEAgLTg0LDYgKzg0LDggQEAKIAlfX2FsbG9jX2Jvb3RtZW1fbG93KHgsIFBBR0VfU0laRSwgMCkKICNlbmRpZiAvKiAhQ09ORklHX0hBVkVfQVJDSF9CT09UTUVNX05PREUgKi8KIAorZXh0ZXJuIGludCByZXNlcnZlX2Jvb3RtZW1fZ2VuZXJpYyh1bnNpZ25lZCBsb25nIGFkZHIsIHVuc2lnbmVkIGxvbmcgc2l6ZSwKKwkJCQkgICBpbnQgZmxhZ3MpOwogZXh0ZXJuIHVuc2lnbmVkIGxvbmcgZnJlZV9hbGxfYm9vdG1lbSh2b2lkKTsKIGV4dGVybiB1bnNpZ25lZCBsb25nIGZyZWVfYWxsX2Jvb3RtZW1fbm9kZShwZ19kYXRhX3QgKnBnZGF0KTsKIGV4dGVybiB2b2lkICpfX2FsbG9jX2Jvb3RtZW1fbm9kZShwZ19kYXRhX3QgKnBnZGF0LApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9jb25zb2xlLmggYi9pbmNsdWRlL2xpbnV4L2NvbnNvbGUuaAppbmRleCBhNGYyN2ZiLi4yNDhlNmUzIDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L2NvbnNvbGUuaAorKysgYi9pbmNsdWRlL2xpbnV4L2NvbnNvbGUuaApAQCAtMTA4LDYgKzEwOCw4IEBACiAJc3RydWN0CSBjb25zb2xlICpuZXh0OwogfTsKIAorZXh0ZXJuIGludCBjb25zb2xlX3NldF9vbl9jbWRsaW5lOworCiBleHRlcm4gaW50IGFkZF9wcmVmZXJyZWRfY29uc29sZShjaGFyICpuYW1lLCBpbnQgaWR4LCBjaGFyICpvcHRpb25zKTsKIGV4dGVybiBpbnQgdXBkYXRlX2NvbnNvbGVfY21kbGluZShjaGFyICpuYW1lLCBpbnQgaWR4LCBjaGFyICpuYW1lX25ldywgaW50IGlkeF9uZXcsIGNoYXIgKm9wdGlvbnMpOwogZXh0ZXJuIHZvaWQgcmVnaXN0ZXJfY29uc29sZShzdHJ1Y3QgY29uc29sZSAqKTsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvY3J5cHRvLmggYi9pbmNsdWRlL2xpbnV4L2NyeXB0by5oCmluZGV4IDQyNTgyNGIuLmM0M2RjNDcgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvY3J5cHRvLmgKKysrIGIvaW5jbHVkZS9saW51eC9jcnlwdG8uaApAQCAtMzAsMTUgKzMwLDE3IEBACiAgKi8KICNkZWZpbmUgQ1JZUFRPX0FMR19UWVBFX01BU0sJCTB4MDAwMDAwMGYKICNkZWZpbmUgQ1JZUFRPX0FMR19UWVBFX0NJUEhFUgkJMHgwMDAwMDAwMQotI2RlZmluZSBDUllQVE9fQUxHX1RZUEVfRElHRVNUCQkweDAwMDAwMDAyCi0jZGVmaW5lIENSWVBUT19BTEdfVFlQRV9IQVNICQkweDAwMDAwMDAzCisjZGVmaW5lIENSWVBUT19BTEdfVFlQRV9DT01QUkVTUwkweDAwMDAwMDAyCisjZGVmaW5lIENSWVBUT19BTEdfVFlQRV9BRUFECQkweDAwMDAwMDAzCiAjZGVmaW5lIENSWVBUT19BTEdfVFlQRV9CTEtDSVBIRVIJMHgwMDAwMDAwNAogI2RlZmluZSBDUllQVE9fQUxHX1RZUEVfQUJMS0NJUEhFUgkweDAwMDAwMDA1CiAjZGVmaW5lIENSWVBUT19BTEdfVFlQRV9HSVZDSVBIRVIJMHgwMDAwMDAwNgotI2RlZmluZSBDUllQVE9fQUxHX1RZUEVfQ09NUFJFU1MJMHgwMDAwMDAwOAotI2RlZmluZSBDUllQVE9fQUxHX1RZUEVfQUVBRAkJMHgwMDAwMDAwOQorI2RlZmluZSBDUllQVE9fQUxHX1RZUEVfRElHRVNUCQkweDAwMDAwMDA4CisjZGVmaW5lIENSWVBUT19BTEdfVFlQRV9IQVNICQkweDAwMDAwMDA5CisjZGVmaW5lIENSWVBUT19BTEdfVFlQRV9BSEFTSAkJMHgwMDAwMDAwYQogCiAjZGVmaW5lIENSWVBUT19BTEdfVFlQRV9IQVNIX01BU0sJMHgwMDAwMDAwZQorI2RlZmluZSBDUllQVE9fQUxHX1RZUEVfQUhBU0hfTUFTSwkweDAwMDAwMDBjCiAjZGVmaW5lIENSWVBUT19BTEdfVFlQRV9CTEtDSVBIRVJfTUFTSwkweDAwMDAwMDBjCiAKICNkZWZpbmUgQ1JZUFRPX0FMR19MQVJWQUwJCTB4MDAwMDAwMTAKQEAgLTEwMiw2ICsxMDQsNyBAQAogc3RydWN0IGNyeXB0b19hZWFkOwogc3RydWN0IGNyeXB0b19ibGtjaXBoZXI7CiBzdHJ1Y3QgY3J5cHRvX2hhc2g7CitzdHJ1Y3QgY3J5cHRvX2FoYXNoOwogc3RydWN0IGNyeXB0b190Zm07CiBzdHJ1Y3QgY3J5cHRvX3R5cGU7CiBzdHJ1Y3QgYWVhZF9naXZjcnlwdF9yZXF1ZXN0OwpAQCAtMTMxLDYgKzEzNCwxNiBAQAogCXZvaWQgKl9fY3R4W10gQ1JZUFRPX01JTkFMSUdOX0FUVFI7CiB9OwogCitzdHJ1Y3QgYWhhc2hfcmVxdWVzdCB7CisJc3RydWN0IGNyeXB0b19hc3luY19yZXF1ZXN0IGJhc2U7CisKKwl1bnNpZ25lZCBpbnQgbmJ5dGVzOworCXN0cnVjdCBzY2F0dGVybGlzdCAqc3JjOworCXU4CQkgICAqcmVzdWx0OworCisJdm9pZCAqX19jdHhbXSBDUllQVE9fTUlOQUxJR05fQVRUUjsKK307CisKIC8qKgogICoJc3RydWN0IGFlYWRfcmVxdWVzdCAtIEFFQUQgcmVxdWVzdAogICoJQGJhc2U6IENvbW1vbiBhdHRyaWJ1dGVzIGZvciBhc3luYyBjcnlwdG8gcmVxdWVzdHMKQEAgLTE5NSw2ICsyMDgsMTcgQEAKIAl1bnNpZ25lZCBpbnQgaXZzaXplOwogfTsKIAorc3RydWN0IGFoYXNoX2FsZyB7CisJaW50ICgqaW5pdCkoc3RydWN0IGFoYXNoX3JlcXVlc3QgKnJlcSk7CisJaW50ICgqdXBkYXRlKShzdHJ1Y3QgYWhhc2hfcmVxdWVzdCAqcmVxKTsKKwlpbnQgKCpmaW5hbCkoc3RydWN0IGFoYXNoX3JlcXVlc3QgKnJlcSk7CisJaW50ICgqZGlnZXN0KShzdHJ1Y3QgYWhhc2hfcmVxdWVzdCAqcmVxKTsKKwlpbnQgKCpzZXRrZXkpKHN0cnVjdCBjcnlwdG9fYWhhc2ggKnRmbSwgY29uc3QgdTggKmtleSwKKwkJCXVuc2lnbmVkIGludCBrZXlsZW4pOworCisJdW5zaWduZWQgaW50IGRpZ2VzdHNpemU7Cit9OworCiBzdHJ1Y3QgYWVhZF9hbGcgewogCWludCAoKnNldGtleSkoc3RydWN0IGNyeXB0b19hZWFkICp0Zm0sIGNvbnN0IHU4ICprZXksCiAJICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQga2V5bGVuKTsKQEAgLTI3Miw2ICsyOTYsNyBAQAogI2RlZmluZSBjcmFfY2lwaGVyCWNyYV91LmNpcGhlcgogI2RlZmluZSBjcmFfZGlnZXN0CWNyYV91LmRpZ2VzdAogI2RlZmluZSBjcmFfaGFzaAljcmFfdS5oYXNoCisjZGVmaW5lIGNyYV9haGFzaAljcmFfdS5haGFzaAogI2RlZmluZSBjcmFfY29tcHJlc3MJY3JhX3UuY29tcHJlc3MKIAogc3RydWN0IGNyeXB0b19hbGcgewpAQCAtMjk4LDYgKzMyMyw3IEBACiAJCXN0cnVjdCBjaXBoZXJfYWxnIGNpcGhlcjsKIAkJc3RydWN0IGRpZ2VzdF9hbGcgZGlnZXN0OwogCQlzdHJ1Y3QgaGFzaF9hbGcgaGFzaDsKKwkJc3RydWN0IGFoYXNoX2FsZyBhaGFzaDsKIAkJc3RydWN0IGNvbXByZXNzX2FsZyBjb21wcmVzczsKIAl9IGNyYV91OwogCkBAIC0zODMsNiArNDA5LDE4IEBACiAJdW5zaWduZWQgaW50IGRpZ2VzdHNpemU7CiB9OwogCitzdHJ1Y3QgYWhhc2hfdGZtIHsKKwlpbnQgKCppbml0KShzdHJ1Y3QgYWhhc2hfcmVxdWVzdCAqcmVxKTsKKwlpbnQgKCp1cGRhdGUpKHN0cnVjdCBhaGFzaF9yZXF1ZXN0ICpyZXEpOworCWludCAoKmZpbmFsKShzdHJ1Y3QgYWhhc2hfcmVxdWVzdCAqcmVxKTsKKwlpbnQgKCpkaWdlc3QpKHN0cnVjdCBhaGFzaF9yZXF1ZXN0ICpyZXEpOworCWludCAoKnNldGtleSkoc3RydWN0IGNyeXB0b19haGFzaCAqdGZtLCBjb25zdCB1OCAqa2V5LAorCQkJdW5zaWduZWQgaW50IGtleWxlbik7CisKKwl1bnNpZ25lZCBpbnQgZGlnZXN0c2l6ZTsKKwl1bnNpZ25lZCBpbnQgcmVxc2l6ZTsKK307CisKIHN0cnVjdCBjb21wcmVzc190Zm0gewogCWludCAoKmNvdF9jb21wcmVzcykoc3RydWN0IGNyeXB0b190Zm0gKnRmbSwKIAkgICAgICAgICAgICAgICAgICAgIGNvbnN0IHU4ICpzcmMsIHVuc2lnbmVkIGludCBzbGVuLApAQCAtMzk3LDYgKzQzNSw3IEBACiAjZGVmaW5lIGNydF9ibGtjaXBoZXIJY3J0X3UuYmxrY2lwaGVyCiAjZGVmaW5lIGNydF9jaXBoZXIJY3J0X3UuY2lwaGVyCiAjZGVmaW5lIGNydF9oYXNoCWNydF91Lmhhc2gKKyNkZWZpbmUgY3J0X2FoYXNoCWNydF91LmFoYXNoCiAjZGVmaW5lIGNydF9jb21wcmVzcwljcnRfdS5jb21wcmVzcwogCiBzdHJ1Y3QgY3J5cHRvX3RmbSB7CkBAIC00MDksNiArNDQ4LDcgQEAKIAkJc3RydWN0IGJsa2NpcGhlcl90Zm0gYmxrY2lwaGVyOwogCQlzdHJ1Y3QgY2lwaGVyX3RmbSBjaXBoZXI7CiAJCXN0cnVjdCBoYXNoX3RmbSBoYXNoOworCQlzdHJ1Y3QgYWhhc2hfdGZtIGFoYXNoOwogCQlzdHJ1Y3QgY29tcHJlc3NfdGZtIGNvbXByZXNzOwogCX0gY3J0X3U7CiAJCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L2RlbGF5LmggYi9pbmNsdWRlL2xpbnV4L2RlbGF5LmgKaW5kZXggNTQ1NTJkMi4uZmQ4MzJjNiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9kZWxheS5oCisrKyBiL2luY2x1ZGUvbGludXgvZGVsYXkuaApAQCAtNDEsNiArNDEsNyBAQAogI2RlZmluZSBuZGVsYXkoeCkgbmRlbGF5KHgpCiAjZW5kaWYKIAorZXh0ZXJuIHVuc2lnbmVkIGxvbmcgbHBqX2ZpbmU7CiB2b2lkIGNhbGlicmF0ZV9kZWxheSh2b2lkKTsKIHZvaWQgbXNsZWVwKHVuc2lnbmVkIGludCBtc2Vjcyk7CiB1bnNpZ25lZCBsb25nIG1zbGVlcF9pbnRlcnJ1cHRpYmxlKHVuc2lnbmVkIGludCBtc2Vjcyk7CmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L2VmaS5oIGIvaW5jbHVkZS9saW51eC9lZmkuaAppbmRleCBhNWYzNTlhLi44MDczNzNkIDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L2VmaS5oCisrKyBiL2luY2x1ZGUvbGludXgvZWZpLmgKQEAgLTI4Nyw3ICsyODcsNiBAQAogZXh0ZXJuIHZvaWQgZWZpX2luaXQgKHZvaWQpOwogZXh0ZXJuIHZvaWQgKmVmaV9nZXRfcGFsX2FkZHIgKHZvaWQpOwogZXh0ZXJuIHZvaWQgZWZpX21hcF9wYWxfY29kZSAodm9pZCk7Ci1leHRlcm4gdm9pZCBlZmlfbWFwX21lbW1hcCh2b2lkKTsKIGV4dGVybiB2b2lkIGVmaV9tZW1tYXBfd2FsayAoZWZpX2ZyZWVtZW1fY2FsbGJhY2tfdCBjYWxsYmFjaywgdm9pZCAqYXJnKTsKIGV4dGVybiB2b2lkIGVmaV9nZXR0aW1lb2ZkYXkgKHN0cnVjdCB0aW1lc3BlYyAqdHMpOwogZXh0ZXJuIHZvaWQgZWZpX2VudGVyX3ZpcnR1YWxfbW9kZSAodm9pZCk7CS8qIHN3aXRjaCBFRkkgdG8gdmlydHVhbCBtb2RlLCBpZiBwb3NzaWJsZSAqLwpAQCAtMjk1LDE0ICsyOTQsMTEgQEAKIGV4dGVybiB1MzIgZWZpX21lbV90eXBlICh1bnNpZ25lZCBsb25nIHBoeXNfYWRkcik7CiBleHRlcm4gdTY0IGVmaV9tZW1fYXR0cmlidXRlcyAodW5zaWduZWQgbG9uZyBwaHlzX2FkZHIpOwogZXh0ZXJuIHU2NCBlZmlfbWVtX2F0dHJpYnV0ZSAodW5zaWduZWQgbG9uZyBwaHlzX2FkZHIsIHVuc2lnbmVkIGxvbmcgc2l6ZSk7Ci1leHRlcm4gaW50IGVmaV9tZW1fYXR0cmlidXRlX3JhbmdlICh1bnNpZ25lZCBsb25nIHBoeXNfYWRkciwgdW5zaWduZWQgbG9uZyBzaXplLAotCQkJCSAgICB1NjQgYXR0cik7CiBleHRlcm4gaW50IF9faW5pdCBlZmlfdWFydF9jb25zb2xlX29ubHkgKHZvaWQpOwogZXh0ZXJuIHZvaWQgZWZpX2luaXRpYWxpemVfaW9tZW1fcmVzb3VyY2VzKHN0cnVjdCByZXNvdXJjZSAqY29kZV9yZXNvdXJjZSwKIAkJc3RydWN0IHJlc291cmNlICpkYXRhX3Jlc291cmNlLCBzdHJ1Y3QgcmVzb3VyY2UgKmJzc19yZXNvdXJjZSk7CiBleHRlcm4gdW5zaWduZWQgbG9uZyBlZmlfZ2V0X3RpbWUodm9pZCk7CiBleHRlcm4gaW50IGVmaV9zZXRfcnRjX21tc3ModW5zaWduZWQgbG9uZyBub3d0aW1lKTsKLWV4dGVybiBpbnQgaXNfYXZhaWxhYmxlX21lbW9yeShlZmlfbWVtb3J5X2Rlc2NfdCAqIG1kKTsKIGV4dGVybiBzdHJ1Y3QgZWZpX21lbW9yeV9tYXAgbWVtbWFwOwogCiAvKioKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvZmlybXdhcmUtbWFwLmggYi9pbmNsdWRlL2xpbnV4L2Zpcm13YXJlLW1hcC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFjYmRiY2MKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2xpbnV4L2Zpcm13YXJlLW1hcC5oCkBAIC0wLDAgKzEsNzQgQEAKKy8qCisgKiBpbmNsdWRlL2xpbnV4L2Zpcm13YXJlLW1hcC5oOgorICogIENvcHlyaWdodCAoQykgMjAwOCBTVVNFIExJTlVYIFByb2R1Y3RzIEdtYkgKKyAqICBieSBCZXJuaGFyZCBXYWxsZSA8YndhbGxlQHN1c2UuZGU+CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdjIuMCBhcyBwdWJsaXNoZWQgYnkKKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqLworI2lmbmRlZiBfTElOVVhfRklSTVdBUkVfTUFQX0gKKyNkZWZpbmUgX0xJTlVYX0ZJUk1XQVJFX01BUF9ICisKKyNpbmNsdWRlIDxsaW51eC9saXN0Lmg+CisjaW5jbHVkZSA8bGludXgva29iamVjdC5oPgorCisvKgorICogcHJvdmlkZSBhIGR1bW15IGludGVyZmFjZSBpZiBDT05GSUdfRklSTVdBUkVfTUVNTUFQIGlzIGRpc2FibGVkCisgKi8KKyNpZmRlZiBDT05GSUdfRklSTVdBUkVfTUVNTUFQCisKKy8qKgorICogQWRkcyBhIGZpcm13YXJlIG1hcHBpbmcgZW50cnkuIFRoaXMgZnVuY3Rpb24gdXNlcyBrbWFsbG9jKCkgZm9yIG1lbW9yeQorICogYWxsb2NhdGlvbi4gVXNlIGZpcm13YXJlX21hcF9hZGRfZWFybHkoKSBpZiB5b3Ugd2FudCB0byB1c2UgdGhlIGJvb3RtZW0KKyAqIGFsbG9jYXRvci4KKyAqCisgKiBUaGF0IGZ1bmN0aW9uIG11c3QgYmUgY2FsbGVkIGJlZm9yZSBsYXRlX2luaXRjYWxsLgorICoKKyAqIEBzdGFydDogU3RhcnQgb2YgdGhlIG1lbW9yeSByYW5nZS4KKyAqIEBlbmQ6ICAgRW5kIG9mIHRoZSBtZW1vcnkgcmFuZ2UgKGluY2x1c2l2ZSkuCisgKiBAdHlwZTogIFR5cGUgb2YgdGhlIG1lbW9yeSByYW5nZS4KKyAqCisgKiBSZXR1cm5zIDAgb24gc3VjY2Vzcywgb3IgLUVOT01FTSBpZiBubyBtZW1vcnkgY291bGQgYmUgYWxsb2NhdGVkLgorICovCitpbnQgZmlybXdhcmVfbWFwX2FkZChyZXNvdXJjZV9zaXplX3Qgc3RhcnQsIHJlc291cmNlX3NpemVfdCBlbmQsCisJCSAgICAgY29uc3QgY2hhciAqdHlwZSk7CisKKy8qKgorICogQWRkcyBhIGZpcm13YXJlIG1hcHBpbmcgZW50cnkuIFRoaXMgZnVuY3Rpb24gdXNlcyB0aGUgYm9vdG1lbSBhbGxvY2F0b3IKKyAqIGZvciBtZW1vcnkgYWxsb2NhdGlvbi4gVXNlIGZpcm13YXJlX21hcF9hZGQoKSBpZiB5b3Ugd2FudCB0byB1c2Uga21hbGxvYygpLgorICoKKyAqIFRoYXQgZnVuY3Rpb24gbXVzdCBiZSBjYWxsZWQgYmVmb3JlIGxhdGVfaW5pdGNhbGwuCisgKgorICogQHN0YXJ0OiBTdGFydCBvZiB0aGUgbWVtb3J5IHJhbmdlLgorICogQGVuZDogICBFbmQgb2YgdGhlIG1lbW9yeSByYW5nZSAoaW5jbHVzaXZlKS4KKyAqIEB0eXBlOiAgVHlwZSBvZiB0aGUgbWVtb3J5IHJhbmdlLgorICoKKyAqIFJldHVybnMgMCBvbiBzdWNjZXNzLCBvciAtRU5PTUVNIGlmIG5vIG1lbW9yeSBjb3VsZCBiZSBhbGxvY2F0ZWQuCisgKi8KK2ludCBmaXJtd2FyZV9tYXBfYWRkX2Vhcmx5KHJlc291cmNlX3NpemVfdCBzdGFydCwgcmVzb3VyY2Vfc2l6ZV90IGVuZCwKKwkJCSAgIGNvbnN0IGNoYXIgKnR5cGUpOworCisjZWxzZSAvKiBDT05GSUdfRklSTVdBUkVfTUVNTUFQICovCisKK3N0YXRpYyBpbmxpbmUgaW50IGZpcm13YXJlX21hcF9hZGQocmVzb3VyY2Vfc2l6ZV90IHN0YXJ0LCByZXNvdXJjZV9zaXplX3QgZW5kLAorCQkJCSAgIGNvbnN0IGNoYXIgKnR5cGUpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbmxpbmUgaW50IGZpcm13YXJlX21hcF9hZGRfZWFybHkocmVzb3VyY2Vfc2l6ZV90IHN0YXJ0LAorCQkJCQkgcmVzb3VyY2Vfc2l6ZV90IGVuZCwgY29uc3QgY2hhciAqdHlwZSkKK3sKKwlyZXR1cm4gMDsKK30KKworI2VuZGlmIC8qIENPTkZJR19GSVJNV0FSRV9NRU1NQVAgKi8KKworI2VuZGlmIC8qIF9MSU5VWF9GSVJNV0FSRV9NQVBfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9maXJtd2FyZS5oIGIvaW5jbHVkZS9saW51eC9maXJtd2FyZS5oCmluZGV4IDZjN2VmZjIuLmM4ZWNmNWIgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvZmlybXdhcmUuaAorKysgYi9pbmNsdWRlL2xpbnV4L2Zpcm13YXJlLmgKQEAgLTEsMTggKzEsMzkgQEAKICNpZm5kZWYgX0xJTlVYX0ZJUk1XQVJFX0gKICNkZWZpbmUgX0xJTlVYX0ZJUk1XQVJFX0gKKwogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CisjaW5jbHVkZSA8bGludXgvY29tcGlsZXIuaD4KKwogI2RlZmluZSBGSVJNV0FSRV9OQU1FX01BWCAzMCAKICNkZWZpbmUgRldfQUNUSU9OX05PSE9UUExVRyAwCiAjZGVmaW5lIEZXX0FDVElPTl9IT1RQTFVHIDEKIAogc3RydWN0IGZpcm13YXJlIHsKIAlzaXplX3Qgc2l6ZTsKLQl1OCAqZGF0YTsKKwljb25zdCB1OCAqZGF0YTsKIH07CiAKIHN0cnVjdCBkZXZpY2U7CiAKK3N0cnVjdCBidWlsdGluX2Z3IHsKKwljaGFyICpuYW1lOworCXZvaWQgKmRhdGE7CisJdW5zaWduZWQgbG9uZyBzaXplOworfTsKKworLyogV2UgaGF2ZSB0byBwbGF5IHRyaWNrcyBoZXJlIG11Y2ggbGlrZSBzdHJpbmdpZnkoKSB0byBnZXQgdGhlCisgICBfX0NPVU5URVJfXyBtYWNybyB0byBiZSBleHBhbmRlZCBhcyB3ZSB3YW50IGl0ICovCisjZGVmaW5lIF9fZndfY29uY2F0MSh4LCB5KSB4IyN5CisjZGVmaW5lIF9fZndfY29uY2F0KHgsIHkpIF9fZndfY29uY2F0MSh4LCB5KQorCisjZGVmaW5lIERFQ0xBUkVfQlVJTFRJTl9GSVJNV0FSRShuYW1lLCBibG9iKQkJCQkgICAgIFwKKwlERUNMQVJFX0JVSUxUSU5fRklSTVdBUkVfU0laRShuYW1lLCAmKGJsb2IpLCBzaXplb2YoYmxvYikpCisKKyNkZWZpbmUgREVDTEFSRV9CVUlMVElOX0ZJUk1XQVJFX1NJWkUobmFtZSwgYmxvYiwgc2l6ZSkJCQkgICAgIFwKKwlzdGF0aWMgY29uc3Qgc3RydWN0IGJ1aWx0aW5fZncgX19md19jb25jYXQoX19idWlsdGluX2Z3LF9fQ09VTlRFUl9fKSBcCisJX191c2VkIF9fc2VjdGlvbiguYnVpbHRpbl9mdykgPSB7IG5hbWUsIGJsb2IsIHNpemUgfQorCiAjaWYgZGVmaW5lZChDT05GSUdfRldfTE9BREVSKSB8fCAoZGVmaW5lZChDT05GSUdfRldfTE9BREVSX01PRFVMRSkgJiYgZGVmaW5lZChNT0RVTEUpKQogaW50IHJlcXVlc3RfZmlybXdhcmUoY29uc3Qgc3RydWN0IGZpcm13YXJlICoqZncsIGNvbnN0IGNoYXIgKm5hbWUsCiAJCSAgICAgc3RydWN0IGRldmljZSAqZGV2aWNlKTsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvZnMuaCBiL2luY2x1ZGUvbGludXgvZnMuaAppbmRleCBkOGUyNzYyLi41MmU1MTBhIDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L2ZzLmgKKysrIGIvaW5jbHVkZS9saW51eC9mcy5oCkBAIC0xNzQwLDYgKzE3NDAsOCBAQAogCQkJCXBnb2ZmX3Qgc3RhcnQsIHBnb2ZmX3QgZW5kKTsKIGV4dGVybiBpbnQgX19maWxlbWFwX2ZkYXRhd3JpdGVfcmFuZ2Uoc3RydWN0IGFkZHJlc3Nfc3BhY2UgKm1hcHBpbmcsCiAJCQkJbG9mZl90IHN0YXJ0LCBsb2ZmX3QgZW5kLCBpbnQgc3luY19tb2RlKTsKK2V4dGVybiBpbnQgZmlsZW1hcF9mZGF0YXdyaXRlX3JhbmdlKHN0cnVjdCBhZGRyZXNzX3NwYWNlICptYXBwaW5nLAorCQkJCWxvZmZfdCBzdGFydCwgbG9mZl90IGVuZCk7CiAKIGV4dGVybiBsb25nIGRvX2ZzeW5jKHN0cnVjdCBmaWxlICpmaWxlLCBpbnQgZGF0YXN5bmMpOwogZXh0ZXJuIHZvaWQgc3luY19zdXBlcnModm9pZCk7CkBAIC0xODcwLDcgKzE4NzIsOCBAQAogZmlsZV9yYV9zdGF0ZV9pbml0KHN0cnVjdCBmaWxlX3JhX3N0YXRlICpyYSwgc3RydWN0IGFkZHJlc3Nfc3BhY2UgKm1hcHBpbmcpOwogZXh0ZXJuIGxvZmZfdCBub19sbHNlZWsoc3RydWN0IGZpbGUgKmZpbGUsIGxvZmZfdCBvZmZzZXQsIGludCBvcmlnaW4pOwogZXh0ZXJuIGxvZmZfdCBnZW5lcmljX2ZpbGVfbGxzZWVrKHN0cnVjdCBmaWxlICpmaWxlLCBsb2ZmX3Qgb2Zmc2V0LCBpbnQgb3JpZ2luKTsKLWV4dGVybiBsb2ZmX3QgcmVtb3RlX2xsc2VlayhzdHJ1Y3QgZmlsZSAqZmlsZSwgbG9mZl90IG9mZnNldCwgaW50IG9yaWdpbik7CitleHRlcm4gbG9mZl90IGdlbmVyaWNfZmlsZV9sbHNlZWtfdW5sb2NrZWQoc3RydWN0IGZpbGUgKmZpbGUsIGxvZmZfdCBvZmZzZXQsCisJCQlpbnQgb3JpZ2luKTsKIGV4dGVybiBpbnQgZ2VuZXJpY19maWxlX29wZW4oc3RydWN0IGlub2RlICogaW5vZGUsIHN0cnVjdCBmaWxlICogZmlscCk7CiBleHRlcm4gaW50IG5vbnNlZWthYmxlX29wZW4oc3RydWN0IGlub2RlICogaW5vZGUsIHN0cnVjdCBmaWxlICogZmlscCk7CiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvZnRyYWNlLmggYi9pbmNsdWRlL2xpbnV4L2Z0cmFjZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYzNjhkMDQKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2xpbnV4L2Z0cmFjZS5oCkBAIC0wLDAgKzEsMTQ0IEBACisjaWZuZGVmIF9MSU5VWF9GVFJBQ0VfSAorI2RlZmluZSBfTElOVVhfRlRSQUNFX0gKKworI2lmZGVmIENPTkZJR19GVFJBQ0UKKworI2luY2x1ZGUgPGxpbnV4L2xpbmthZ2UuaD4KKyNpbmNsdWRlIDxsaW51eC9mcy5oPgorCitleHRlcm4gaW50IGZ0cmFjZV9lbmFibGVkOworZXh0ZXJuIGludAorZnRyYWNlX2VuYWJsZV9zeXNjdGwoc3RydWN0IGN0bF90YWJsZSAqdGFibGUsIGludCB3cml0ZSwKKwkJICAgICBzdHJ1Y3QgZmlsZSAqZmlscCwgdm9pZCBfX3VzZXIgKmJ1ZmZlciwgc2l6ZV90ICpsZW5wLAorCQkgICAgIGxvZmZfdCAqcHBvcyk7CisKK3R5cGVkZWYgdm9pZCAoKmZ0cmFjZV9mdW5jX3QpKHVuc2lnbmVkIGxvbmcgaXAsIHVuc2lnbmVkIGxvbmcgcGFyZW50X2lwKTsKKworc3RydWN0IGZ0cmFjZV9vcHMgeworCWZ0cmFjZV9mdW5jX3QJICBmdW5jOworCXN0cnVjdCBmdHJhY2Vfb3BzICpuZXh0OworfTsKKworLyoKKyAqIFRoZSBmdHJhY2Vfb3BzIG11c3QgYmUgYSBzdGF0aWMgYW5kIHNob3VsZCBhbHNvCisgKiBiZSByZWFkX21vc3RseS4gIFRoZXNlIGZ1bmN0aW9ucyBkbyBtb2RpZnkgcmVhZF9tb3N0bHkgdmFyaWFibGVzCisgKiBzbyB1c2UgdGhlbSBzcGFyZWx5LiBOZXZlciBmcmVlIGFuIGZ0cmFjZV9vcCBvciBtb2RpZnkgdGhlCisgKiBuZXh0IHBvaW50ZXIgYWZ0ZXIgaXQgaGFzIGJlZW4gcmVnaXN0ZXJlZC4gRXZlbiBhZnRlciB1bnJlZ2lzdGVyaW5nCisgKiBpdCwgdGhlIG5leHQgcG9pbnRlciBtYXkgc3RpbGwgYmUgdXNlZCBpbnRlcm5hbGx5LgorICovCitpbnQgcmVnaXN0ZXJfZnRyYWNlX2Z1bmN0aW9uKHN0cnVjdCBmdHJhY2Vfb3BzICpvcHMpOworaW50IHVucmVnaXN0ZXJfZnRyYWNlX2Z1bmN0aW9uKHN0cnVjdCBmdHJhY2Vfb3BzICpvcHMpOwordm9pZCBjbGVhcl9mdHJhY2VfZnVuY3Rpb24odm9pZCk7CisKK2V4dGVybiB2b2lkIGZ0cmFjZV9zdHViKHVuc2lnbmVkIGxvbmcgYTAsIHVuc2lnbmVkIGxvbmcgYTEpOworCisjZWxzZSAvKiAhQ09ORklHX0ZUUkFDRSAqLworIyBkZWZpbmUgcmVnaXN0ZXJfZnRyYWNlX2Z1bmN0aW9uKG9wcykgZG8geyB9IHdoaWxlICgwKQorIyBkZWZpbmUgdW5yZWdpc3Rlcl9mdHJhY2VfZnVuY3Rpb24ob3BzKSBkbyB7IH0gd2hpbGUgKDApCisjIGRlZmluZSBjbGVhcl9mdHJhY2VfZnVuY3Rpb24ob3BzKSBkbyB7IH0gd2hpbGUgKDApCisjZW5kaWYgLyogQ09ORklHX0ZUUkFDRSAqLworCisjaWZkZWYgQ09ORklHX0RZTkFNSUNfRlRSQUNFCisjIGRlZmluZSBGVFJBQ0VfSEFTSEJJVFMJMTAKKyMgZGVmaW5lIEZUUkFDRV9IQVNIU0laRQkoMTw8RlRSQUNFX0hBU0hCSVRTKQorCitlbnVtIHsKKwlGVFJBQ0VfRkxfRlJFRQkJPSAoMSA8PCAwKSwKKwlGVFJBQ0VfRkxfRkFJTEVECT0gKDEgPDwgMSksCisJRlRSQUNFX0ZMX0ZJTFRFUgk9ICgxIDw8IDIpLAorCUZUUkFDRV9GTF9FTkFCTEVECT0gKDEgPDwgMyksCisJRlRSQUNFX0ZMX05PVFJBQ0UJPSAoMSA8PCA0KSwKKwlGVFJBQ0VfRkxfQ09OVkVSVEVECT0gKDEgPDwgNSksCisJRlRSQUNFX0ZMX0ZST1pFTgk9ICgxIDw8IDYpLAorfTsKKworc3RydWN0IGR5bl9mdHJhY2UgeworCXN0cnVjdCBobGlzdF9ub2RlIG5vZGU7CisJdW5zaWduZWQgbG9uZwkgIGlwOyAvKiBhZGRyZXNzIG9mIG1jb3VudCBjYWxsLXNpdGUgKi8KKwl1bnNpZ25lZCBsb25nCSAgZmxhZ3M7Cit9OworCitpbnQgZnRyYWNlX2ZvcmNlX3VwZGF0ZSh2b2lkKTsKK3ZvaWQgZnRyYWNlX3NldF9maWx0ZXIodW5zaWduZWQgY2hhciAqYnVmLCBpbnQgbGVuLCBpbnQgcmVzZXQpOworCisvKiBkZWZpbmVkIGluIGFyY2ggKi8KK2V4dGVybiBpbnQgZnRyYWNlX2lwX2NvbnZlcnRlZCh1bnNpZ25lZCBsb25nIGlwKTsKK2V4dGVybiB1bnNpZ25lZCBjaGFyICpmdHJhY2Vfbm9wX3JlcGxhY2Uodm9pZCk7CitleHRlcm4gdW5zaWduZWQgY2hhciAqZnRyYWNlX2NhbGxfcmVwbGFjZSh1bnNpZ25lZCBsb25nIGlwLCB1bnNpZ25lZCBsb25nIGFkZHIpOworZXh0ZXJuIGludCBmdHJhY2VfZHluX2FyY2hfaW5pdCh2b2lkICpkYXRhKTsKK2V4dGVybiBpbnQgZnRyYWNlX21jb3VudF9zZXQodW5zaWduZWQgbG9uZyAqZGF0YSk7CitleHRlcm4gaW50IGZ0cmFjZV9tb2RpZnlfY29kZSh1bnNpZ25lZCBsb25nIGlwLCB1bnNpZ25lZCBjaGFyICpvbGRfY29kZSwKKwkJCSAgICAgIHVuc2lnbmVkIGNoYXIgKm5ld19jb2RlKTsKK2V4dGVybiBpbnQgZnRyYWNlX3VwZGF0ZV9mdHJhY2VfZnVuYyhmdHJhY2VfZnVuY190IGZ1bmMpOworZXh0ZXJuIHZvaWQgZnRyYWNlX2NhbGxlcih2b2lkKTsKK2V4dGVybiB2b2lkIGZ0cmFjZV9jYWxsKHZvaWQpOworZXh0ZXJuIHZvaWQgbWNvdW50X2NhbGwodm9pZCk7CisKK2V4dGVybiBpbnQgc2tpcF90cmFjZSh1bnNpZ25lZCBsb25nIGlwKTsKKwordm9pZCBmdHJhY2VfZGlzYWJsZV9kYWVtb24odm9pZCk7Cit2b2lkIGZ0cmFjZV9lbmFibGVfZGFlbW9uKHZvaWQpOworCisjZWxzZQorIyBkZWZpbmUgc2tpcF90cmFjZShpcCkJCQkJKHsgMDsgfSkKKyMgZGVmaW5lIGZ0cmFjZV9mb3JjZV91cGRhdGUoKQkJCSh7IDA7IH0pCisjIGRlZmluZSBmdHJhY2Vfc2V0X2ZpbHRlcihidWYsIGxlbiwgcmVzZXQpCWRvIHsgfSB3aGlsZSAoMCkKKyMgZGVmaW5lIGZ0cmFjZV9kaXNhYmxlX2RhZW1vbigpCQlkbyB7IH0gd2hpbGUgKDApCisjIGRlZmluZSBmdHJhY2VfZW5hYmxlX2RhZW1vbigpCQkJZG8geyB9IHdoaWxlICgwKQorI2VuZGlmIC8qIENPTkZJR19EWU5BTUlDX0ZUUkFDRSAqLworCisvKiB0b3RhbGx5IGRpc2FibGUgZnRyYWNlIC0gY2FuIG5vdCByZS1lbmFibGUgYWZ0ZXIgdGhpcyAqLwordm9pZCBmdHJhY2Vfa2lsbCh2b2lkKTsKK3ZvaWQgZnRyYWNlX2tpbGxfYXRvbWljKHZvaWQpOworCitzdGF0aWMgaW5saW5lIHZvaWQgdHJhY2VyX2Rpc2FibGUodm9pZCkKK3sKKyNpZmRlZiBDT05GSUdfRlRSQUNFCisJZnRyYWNlX2VuYWJsZWQgPSAwOworI2VuZGlmCit9CisKKyNpZmRlZiBDT05GSUdfRlJBTUVfUE9JTlRFUgorLyogVE9ETzogbmVlZCB0byBmaXggdGhpcyBmb3IgQVJNICovCisjIGRlZmluZSBDQUxMRVJfQUREUjAgKCh1bnNpZ25lZCBsb25nKV9fYnVpbHRpbl9yZXR1cm5fYWRkcmVzcygwKSkKKyMgZGVmaW5lIENBTExFUl9BRERSMSAoKHVuc2lnbmVkIGxvbmcpX19idWlsdGluX3JldHVybl9hZGRyZXNzKDEpKQorIyBkZWZpbmUgQ0FMTEVSX0FERFIyICgodW5zaWduZWQgbG9uZylfX2J1aWx0aW5fcmV0dXJuX2FkZHJlc3MoMikpCisjIGRlZmluZSBDQUxMRVJfQUREUjMgKCh1bnNpZ25lZCBsb25nKV9fYnVpbHRpbl9yZXR1cm5fYWRkcmVzcygzKSkKKyMgZGVmaW5lIENBTExFUl9BRERSNCAoKHVuc2lnbmVkIGxvbmcpX19idWlsdGluX3JldHVybl9hZGRyZXNzKDQpKQorIyBkZWZpbmUgQ0FMTEVSX0FERFI1ICgodW5zaWduZWQgbG9uZylfX2J1aWx0aW5fcmV0dXJuX2FkZHJlc3MoNSkpCisjIGRlZmluZSBDQUxMRVJfQUREUjYgKCh1bnNpZ25lZCBsb25nKV9fYnVpbHRpbl9yZXR1cm5fYWRkcmVzcyg2KSkKKyNlbHNlCisjIGRlZmluZSBDQUxMRVJfQUREUjAgKCh1bnNpZ25lZCBsb25nKV9fYnVpbHRpbl9yZXR1cm5fYWRkcmVzcygwKSkKKyMgZGVmaW5lIENBTExFUl9BRERSMSAwVUwKKyMgZGVmaW5lIENBTExFUl9BRERSMiAwVUwKKyMgZGVmaW5lIENBTExFUl9BRERSMyAwVUwKKyMgZGVmaW5lIENBTExFUl9BRERSNCAwVUwKKyMgZGVmaW5lIENBTExFUl9BRERSNSAwVUwKKyMgZGVmaW5lIENBTExFUl9BRERSNiAwVUwKKyNlbmRpZgorCisjaWZkZWYgQ09ORklHX0lSUVNPRkZfVFJBQ0VSCisgIGV4dGVybiB2b2lkIHRpbWVfaGFyZGlycXNfb24odW5zaWduZWQgbG9uZyBhMCwgdW5zaWduZWQgbG9uZyBhMSk7CisgIGV4dGVybiB2b2lkIHRpbWVfaGFyZGlycXNfb2ZmKHVuc2lnbmVkIGxvbmcgYTAsIHVuc2lnbmVkIGxvbmcgYTEpOworI2Vsc2UKKyMgZGVmaW5lIHRpbWVfaGFyZGlycXNfb24oYTAsIGExKQkJZG8geyB9IHdoaWxlICgwKQorIyBkZWZpbmUgdGltZV9oYXJkaXJxc19vZmYoYTAsIGExKQkJZG8geyB9IHdoaWxlICgwKQorI2VuZGlmCisKKyNpZmRlZiBDT05GSUdfUFJFRU1QVF9UUkFDRVIKKyAgZXh0ZXJuIHZvaWQgdHJhY2VfcHJlZW1wdF9vbih1bnNpZ25lZCBsb25nIGEwLCB1bnNpZ25lZCBsb25nIGExKTsKKyAgZXh0ZXJuIHZvaWQgdHJhY2VfcHJlZW1wdF9vZmYodW5zaWduZWQgbG9uZyBhMCwgdW5zaWduZWQgbG9uZyBhMSk7CisjZWxzZQorIyBkZWZpbmUgdHJhY2VfcHJlZW1wdF9vbihhMCwgYTEpCQlkbyB7IH0gd2hpbGUgKDApCisjIGRlZmluZSB0cmFjZV9wcmVlbXB0X29mZihhMCwgYTEpCQlkbyB7IH0gd2hpbGUgKDApCisjZW5kaWYKKworI2lmZGVmIENPTkZJR19UUkFDSU5HCitleHRlcm4gdm9pZAorZnRyYWNlX3NwZWNpYWwodW5zaWduZWQgbG9uZyBhcmcxLCB1bnNpZ25lZCBsb25nIGFyZzIsIHVuc2lnbmVkIGxvbmcgYXJnMyk7CisjZWxzZQorc3RhdGljIGlubGluZSB2b2lkCitmdHJhY2Vfc3BlY2lhbCh1bnNpZ25lZCBsb25nIGFyZzEsIHVuc2lnbmVkIGxvbmcgYXJnMiwgdW5zaWduZWQgbG9uZyBhcmczKSB7IH0KKyNlbmRpZgorCisjZW5kaWYgLyogX0xJTlVYX0ZUUkFDRV9IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L2dlbmhkLmggYi9pbmNsdWRlL2xpbnV4L2dlbmhkLmgKaW5kZXggYWU3YWVjMy4uZTg3ODc0MSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9nZW5oZC5oCisrKyBiL2luY2x1ZGUvbGludXgvZ2VuaGQuaApAQCAtMTEwLDYgKzExMCwxNCBAQAogI2RlZmluZSBHRU5IRF9GTF9TVVBQUkVTU19QQVJUSVRJT05fSU5GTwkzMgogI2RlZmluZSBHRU5IRF9GTF9GQUlMCQkJCTY0CiAKKyNkZWZpbmUgQkxLX1NDU0lfTUFYX0NNRFMJKDI1NikKKyNkZWZpbmUgQkxLX1NDU0lfQ01EX1BFUl9MT05HCShCTEtfU0NTSV9NQVhfQ01EUyAvIChzaXplb2YobG9uZykgKiA4KSkKKworc3RydWN0IGJsa19zY3NpX2NtZF9maWx0ZXIgeworCXVuc2lnbmVkIGxvbmcgcmVhZF9va1tCTEtfU0NTSV9DTURfUEVSX0xPTkddOworCXVuc2lnbmVkIGxvbmcgd3JpdGVfb2tbQkxLX1NDU0lfQ01EX1BFUl9MT05HXTsKKwlzdHJ1Y3Qga29iamVjdCBrb2JqOworfTsKIAogc3RydWN0IGdlbmRpc2sgewogCWludCBtYWpvcjsJCQkvKiBtYWpvciBudW1iZXIgb2YgZHJpdmVyICovCkBAIC0xMjAsNiArMTI4LDcgQEAKIAlzdHJ1Y3QgaGRfc3RydWN0ICoqcGFydDsJLyogW2luZGV4ZWQgYnkgbWlub3JdICovCiAJc3RydWN0IGJsb2NrX2RldmljZV9vcGVyYXRpb25zICpmb3BzOwogCXN0cnVjdCByZXF1ZXN0X3F1ZXVlICpxdWV1ZTsKKwlzdHJ1Y3QgYmxrX3Njc2lfY21kX2ZpbHRlciBjbWRfZmlsdGVyOwogCXZvaWQgKnByaXZhdGVfZGF0YTsKIAlzZWN0b3JfdCBjYXBhY2l0eTsKIApAQCAtMTQxLDYgKzE1MCw5IEBACiAJc3RydWN0IGRpc2tfc3RhdHMgZGtzdGF0czsKICNlbmRpZgogCXN0cnVjdCB3b3JrX3N0cnVjdCBhc3luY19ub3RpZnk7CisjaWZkZWYgIENPTkZJR19CTEtfREVWX0lOVEVHUklUWQorCXN0cnVjdCBibGtfaW50ZWdyaXR5ICppbnRlZ3JpdHk7CisjZW5kaWYKIH07CiAKIC8qIApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9pMmMtYWxnby1wY2YuaCBiL2luY2x1ZGUvbGludXgvaTJjLWFsZ28tcGNmLmgKaW5kZXggNzdhZmJiNi4uMDE3N2QyOCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9pMmMtYWxnby1wY2YuaAorKysgYi9pbmNsdWRlL2xpbnV4L2kyYy1hbGdvLXBjZi5oCkBAIC0zMyw5ICszMywxMSBAQAogCWludCAgKCpnZXRjbG9jaykgKHZvaWQgKmRhdGEpOwogCXZvaWQgKCp3YWl0Zm9ycGluKSAodm9pZCk7CiAKLQkvKiBsb2NhbCBzZXR0aW5ncyAqLwotCWludCB1ZGVsYXk7Ci0JaW50IHRpbWVvdXQ7CisJLyogTXVsdGktbWFzdGVyIGxvc3QgYXJiaXRyYXRpb24gYmFjay1vZmYgZGVsYXkgKG1zZWNzKQorCSAqIFRoaXMgc2hvdWxkIGJlIHNldCBieSB0aGUgYnVzIGFkYXB0ZXIgb3Iga25vd2xlZGdhYmxlIGNsaWVudAorCSAqIGlmIGJ1cyBpcyBtdWx0aS1tYXN0ZXJlZCwgZWxzZSB6ZXJvCisJICovCisJdW5zaWduZWQgbG9uZyBsYWJfbWRlbGF5OwogfTsKIAogaW50IGkyY19wY2ZfYWRkX2J1cyhzdHJ1Y3QgaTJjX2FkYXB0ZXIgKik7CmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L2kyYy1pZC5oIGIvaW5jbHVkZS9saW51eC9pMmMtaWQuaAppbmRleCA1ODBhY2M5Li5lZjEzYjdjNiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9pMmMtaWQuaAorKysgYi9pbmNsdWRlL2xpbnV4L2kyYy1pZC5oCkBAIC05MSw4ICs5MSw2IEBACiAjZGVmaW5lIEkyQ19EUklWRVJJRF9NNTI3OTAgCTk1ICAgICAgLyogTWl0c3ViaXNoaSBNNTI3OTBTUC9GUCBBViBzd2l0Y2ggKi8KICNkZWZpbmUgSTJDX0RSSVZFUklEX0NTNTM0NQk5NgkvKiBjczUzNDUgYXVkaW8gcHJvY2Vzc29yCSovCiAKLSNkZWZpbmUgSTJDX0RSSVZFUklEX0kyQ0RFVgk5MDAKLQogI2RlZmluZSBJMkNfRFJJVkVSSURfT1Y3NjcwIDEwNDgJLyogT21uaXZpc2lvbiA3NjcwIGNhbWVyYSAqLwogCiAvKgpAQCAtMTExLDcgKzEwOSw2IEBACiAjZGVmaW5lIEkyQ19IV19CX1JJVkEJCTB4MDEwMDEwIC8qIFJpdmEgYmFzZWQgZ3JhcGhpY3MgY2FyZHMgKi8KICNkZWZpbmUgSTJDX0hXX0JfSU9DCQkweDAxMDAxMSAvKiBJT0MgYml0LXdpZ2dsaW5nICovCiAjZGVmaW5lIEkyQ19IV19CX0lYUDIwMDAJMHgwMTAwMTYgLyogR1BJTyBvbiBJWFAyMDAwIHN5c3RlbXMgKi8KLSNkZWZpbmUgSTJDX0hXX0JfUzNWSUEJCTB4MDEwMDE4IC8qIFMzVmlhIFByb1NhdmFnZSBhZGFwdGVyICovCiAjZGVmaW5lIEkyQ19IV19CX1pSMzYwNjcJMHgwMTAwMTkgLyogWm9yYW4tMzYwNTcvMzYwNjcgYmFzZWQgYm9hcmRzICovCiAjZGVmaW5lIEkyQ19IV19CX1BDSUxZTlgJMHgwMTAwMWEgLyogVEkgUENJTHlueCBJMkMgYWRhcHRlciAqLwogI2RlZmluZSBJMkNfSFdfQl9DWDIzODh4CTB4MDEwMDFiIC8qIGNvbm5leGFudCAyMzg4eCBiYXNlZCB0diBjYXJkcyAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9pMmMuaCBiL2luY2x1ZGUvbGludXgvaTJjLmgKaW5kZXggOGRjNzMwMS4uMDhiZTBkMiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9pMmMuaAorKysgYi9pbmNsdWRlL2xpbnV4L2kyYy5oCkBAIC0zNSw2ICszNSw4IEBACiAjaW5jbHVkZSA8bGludXgvc2NoZWQuaD4JLyogZm9yIGNvbXBsZXRpb24gKi8KICNpbmNsdWRlIDxsaW51eC9tdXRleC5oPgogCitleHRlcm4gc3RydWN0IGJ1c190eXBlIGkyY19idXNfdHlwZTsKKwogLyogLS0tIEdlbmVyYWwgb3B0aW9ucyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0JKi8KIAogc3RydWN0IGkyY19tc2c7CkBAIC00Myw2ICs0NSw3IEBACiBzdHJ1Y3QgaTJjX2NsaWVudDsKIHN0cnVjdCBpMmNfZHJpdmVyOwogdW5pb24gaTJjX3NtYnVzX2RhdGE7CitzdHJ1Y3QgaTJjX2JvYXJkX2luZm87CiAKIC8qCiAgKiBUaGUgbWFzdGVyIHJvdXRpbmVzIGFyZSB0aGUgb25lcyBub3JtYWxseSB1c2VkIHRvIHRyYW5zbWl0IGRhdGEgdG8gZGV2aWNlcwpAQCAtNjksOSArNzIsOCBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5pb24gaTJjX3NtYnVzX2RhdGEgKiBkYXRhKTsKIAogLyogTm93IGZvbGxvdyB0aGUgJ25pY2UnIGFjY2VzcyByb3V0aW5lcy4gVGhlc2UgYWxzbyBkb2N1bWVudCB0aGUgY2FsbGluZwotICAgY29udmVudGlvbnMgb2Ygc21idXNfYWNjZXNzLiAqLworICAgY29udmVudGlvbnMgb2YgaTJjX3NtYnVzX3hmZXIuICovCiAKLWV4dGVybiBzMzIgaTJjX3NtYnVzX3dyaXRlX3F1aWNrKHN0cnVjdCBpMmNfY2xpZW50ICogY2xpZW50LCB1OCB2YWx1ZSk7CiBleHRlcm4gczMyIGkyY19zbWJ1c19yZWFkX2J5dGUoc3RydWN0IGkyY19jbGllbnQgKiBjbGllbnQpOwogZXh0ZXJuIHMzMiBpMmNfc21idXNfd3JpdGVfYnl0ZShzdHJ1Y3QgaTJjX2NsaWVudCAqIGNsaWVudCwgdTggdmFsdWUpOwogZXh0ZXJuIHMzMiBpMmNfc21idXNfcmVhZF9ieXRlX2RhdGEoc3RydWN0IGkyY19jbGllbnQgKiBjbGllbnQsIHU4IGNvbW1hbmQpOwpAQCAtOTMsMTUgKzk1LDMzIEBACiAJCQkJCSAgdTggY29tbWFuZCwgdTggbGVuZ3RoLAogCQkJCQkgIGNvbnN0IHU4ICp2YWx1ZXMpOwogCi0vKgotICogQSBkcml2ZXIgaXMgY2FwYWJsZSBvZiBoYW5kbGluZyBvbmUgb3IgbW9yZSBwaHlzaWNhbCBkZXZpY2VzIHByZXNlbnQgb24KLSAqIEkyQyBhZGFwdGVycy4gVGhpcyBpbmZvcm1hdGlvbiBpcyB1c2VkIHRvIGluZm9ybSB0aGUgZHJpdmVyIG9mIGFkYXB0ZXIKLSAqIGV2ZW50cy4KKy8qKgorICogc3RydWN0IGkyY19kcml2ZXIgLSByZXByZXNlbnQgYW4gSTJDIGRldmljZSBkcml2ZXIKKyAqIEBjbGFzczogV2hhdCBraW5kIG9mIGkyYyBkZXZpY2Ugd2UgaW5zdGFudGlhdGUgKGZvciBkZXRlY3QpCisgKiBAZGV0ZWN0OiBDYWxsYmFjayBmb3IgZGV2aWNlIGRldGVjdGlvbgorICogQGFkZHJlc3NfZGF0YTogVGhlIEkyQyBhZGRyZXNzZXMgdG8gcHJvYmUsIGlnbm9yZSBvciBmb3JjZSAoZm9yIGRldGVjdCkKKyAqIEBjbGllbnRzOiBMaXN0IG9mIGRldGVjdGVkIGNsaWVudHMgd2UgY3JlYXRlZCAoZm9yIGkyYy1jb3JlIHVzZSBvbmx5KQogICoKICAqIFRoZSBkcml2ZXIub3duZXIgZmllbGQgc2hvdWxkIGJlIHNldCB0byB0aGUgbW9kdWxlIG93bmVyIG9mIHRoaXMgZHJpdmVyLgogICogVGhlIGRyaXZlci5uYW1lIGZpZWxkIHNob3VsZCBiZSBzZXQgdG8gdGhlIG5hbWUgb2YgdGhpcyBkcml2ZXIuCisgKgorICogRm9yIGF1dG9tYXRpYyBkZXZpY2UgZGV0ZWN0aW9uLCBib3RoIEBkZXRlY3QgYW5kIEBhZGRyZXNzX2RhdGEgbXVzdAorICogYmUgZGVmaW5lZC4gQGNsYXNzIHNob3VsZCBhbHNvIGJlIHNldCwgb3RoZXJ3aXNlIG9ubHkgZGV2aWNlcyBmb3JjZWQKKyAqIHdpdGggbW9kdWxlIHBhcmFtZXRlcnMgd2lsbCBiZSBjcmVhdGVkLiBUaGUgZGV0ZWN0IGZ1bmN0aW9uIG11c3QKKyAqIGZpbGwgYXQgbGVhc3QgdGhlIG5hbWUgZmllbGQgb2YgdGhlIGkyY19ib2FyZF9pbmZvIHN0cnVjdHVyZSBpdCBpcworICogaGFuZGVkIHVwb24gc3VjY2Vzc2Z1bCBkZXRlY3Rpb24sIGFuZCBwb3NzaWJseSBhbHNvIHRoZSBmbGFncyBmaWVsZC4KKyAqCisgKiBJZiBAZGV0ZWN0IGlzIG1pc3NpbmcsIHRoZSBkcml2ZXIgd2lsbCBzdGlsbCB3b3JrIGZpbmUgZm9yIGVudW1lcmF0ZWQKKyAqIGRldmljZXMuIERldGVjdGVkIGRldmljZXMgc2ltcGx5IHdvbid0IGJlIHN1cHBvcnRlZC4gVGhpcyBpcyBleHBlY3RlZAorICogZm9yIHRoZSBtYW55IEkyQy9TTUJ1cyBkZXZpY2VzIHdoaWNoIGNhbid0IGJlIGRldGVjdGVkIHJlbGlhYmx5LCBhbmQKKyAqIHRoZSBvbmVzIHdoaWNoIGNhbiBhbHdheXMgYmUgZW51bWVyYXRlZCBpbiBwcmFjdGljZS4KKyAqCisgKiBUaGUgaTJjX2NsaWVudCBzdHJ1Y3R1cmUgd2hpY2ggaXMgaGFuZGVkIHRvIHRoZSBAZGV0ZWN0IGNhbGxiYWNrIGlzCisgKiBub3QgYSByZWFsIGkyY19jbGllbnQuIEl0IGlzIGluaXRpYWxpemVkIGp1c3QgZW5vdWdoIHNvIHRoYXQgeW91IGNhbgorICogY2FsbCBpMmNfc21idXNfcmVhZF9ieXRlX2RhdGEgYW5kIGZyaWVuZHMgb24gaXQuIERvbid0IGRvIGFueXRoaW5nCisgKiBlbHNlIHdpdGggaXQuIEluIHBhcnRpY3VsYXIsIGNhbGxpbmcgZGV2X2RiZyBhbmQgZnJpZW5kcyBvbiBpdCBpcworICogbm90IGFsbG93ZWQuCiAgKi8KLQogc3RydWN0IGkyY19kcml2ZXIgewogCWludCBpZDsKIAl1bnNpZ25lZCBpbnQgY2xhc3M7CkBAIC0xNDEsNiArMTYxLDExIEBACiAKIAlzdHJ1Y3QgZGV2aWNlX2RyaXZlciBkcml2ZXI7CiAJY29uc3Qgc3RydWN0IGkyY19kZXZpY2VfaWQgKmlkX3RhYmxlOworCisJLyogRGV2aWNlIGRldGVjdGlvbiBjYWxsYmFjayBmb3IgYXV0b21hdGljIGRldmljZSBjcmVhdGlvbiAqLworCWludCAoKmRldGVjdCkoc3RydWN0IGkyY19jbGllbnQgKiwgaW50IGtpbmQsIHN0cnVjdCBpMmNfYm9hcmRfaW5mbyAqKTsKKwljb25zdCBzdHJ1Y3QgaTJjX2NsaWVudF9hZGRyZXNzX2RhdGEgKmFkZHJlc3NfZGF0YTsKKwlzdHJ1Y3QgbGlzdF9oZWFkIGNsaWVudHM7CiB9OwogI2RlZmluZSB0b19pMmNfZHJpdmVyKGQpIGNvbnRhaW5lcl9vZihkLCBzdHJ1Y3QgaTJjX2RyaXZlciwgZHJpdmVyKQogCkBAIC0xNTYsNiArMTgxLDcgQEAKICAqIEBkZXY6IERyaXZlciBtb2RlbCBkZXZpY2Ugbm9kZSBmb3IgdGhlIHNsYXZlLgogICogQGlycTogaW5kaWNhdGVzIHRoZSBJUlEgZ2VuZXJhdGVkIGJ5IHRoaXMgZGV2aWNlIChpZiBhbnkpCiAgKiBAbGlzdDogbGlzdCBvZiBhY3RpdmUvYnVzeSBjbGllbnRzIChERVBSRUNBVEVEKQorICogQGRldGVjdGVkOiBtZW1iZXIgb2YgYW4gaTJjX2RyaXZlci5jbGllbnRzIGxpc3QKICAqIEByZWxlYXNlZDogdXNlZCB0byBzeW5jaHJvbml6ZSBjbGllbnQgcmVsZWFzZXMgJiBkZXRhY2hlcyBhbmQgcmVmZXJlbmNlcwogICoKICAqIEFuIGkyY19jbGllbnQgaWRlbnRpZmllcyBhIHNpbmdsZSBkZXZpY2UgKGkuZS4gY2hpcCkgY29ubmVjdGVkIHRvIGFuCkBAIC0xNzMsNiArMTk5LDcgQEAKIAlzdHJ1Y3QgZGV2aWNlIGRldjsJCS8qIHRoZSBkZXZpY2Ugc3RydWN0dXJlCQkqLwogCWludCBpcnE7CQkJLyogaXJxIGlzc3VlZCBieSBkZXZpY2UJCSovCiAJc3RydWN0IGxpc3RfaGVhZCBsaXN0OwkJLyogREVQUkVDQVRFRCAqLworCXN0cnVjdCBsaXN0X2hlYWQgZGV0ZWN0ZWQ7CiAJc3RydWN0IGNvbXBsZXRpb24gcmVsZWFzZWQ7CiB9OwogI2RlZmluZSB0b19pMmNfY2xpZW50KGQpIGNvbnRhaW5lcl9vZihkLCBzdHJ1Y3QgaTJjX2NsaWVudCwgZGV2KQpAQCAtMzUwLDEwICszNzcsMTEgQEAKICNkZWZpbmUgSTJDX0NMQVNTX0hXTU9OCQkoMTw8MCkJLyogbG1fc2Vuc29ycywgLi4uICovCiAjZGVmaW5lIEkyQ19DTEFTU19UVl9BTkFMT0cJKDE8PDEpCS8qIGJ0dHYgKyBmcmllbmRzICovCiAjZGVmaW5lIEkyQ19DTEFTU19UVl9ESUdJVEFMCSgxPDwyKQkvKiBkdmIgY2FyZHMgKi8KLSNkZWZpbmUgSTJDX0NMQVNTX0REQwkJKDE8PDMpCS8qIGkyYy1tYXRyb3hmYiA/ICovCisjZGVmaW5lIEkyQ19DTEFTU19EREMJCSgxPDwzKQkvKiBEREMgYnVzIG9uIGdyYXBoaWNzIGFkYXB0ZXJzICovCiAjZGVmaW5lIEkyQ19DTEFTU19DQU1fQU5BTE9HCSgxPDw0KQkvKiBjYW1lcmEgd2l0aCBhbmFsb2cgQ0NEICovCiAjZGVmaW5lIEkyQ19DTEFTU19DQU1fRElHSVRBTAkoMTw8NSkJLyogbW9zdCB3ZWJjYW1zICovCiAjZGVmaW5lIEkyQ19DTEFTU19TT1VORAkJKDE8PDYpCS8qIHNvdW5kIGRldmljZXMgKi8KKyNkZWZpbmUgSTJDX0NMQVNTX1NQRAkJKDE8PDcpCS8qIFNQRCBFRVBST01zIGFuZCBzaW1pbGFyICovCiAjZGVmaW5lIEkyQ19DTEFTU19BTEwJCShVSU5UX01BWCkgLyogYWxsIG9mIHRoZSBhYm92ZSAqLwogCiAvKiBpMmNfY2xpZW50X2FkZHJlc3NfZGF0YSBpcyB0aGUgc3RydWN0IGZvciBob2xkaW5nIGRlZmF1bHQgY2xpZW50CkBAIC01MzcsNyArNTY1LDcgQEAKIAkgICAgICAgICAgICAgICAgICAgICAgIC8qIGFuZCBvbmUgbW9yZSBmb3IgdXNlci1zcGFjZSBjb21wYXRpYmlsaXR5ICovCiB9OwogCi0vKiBzbWJ1c19hY2Nlc3MgcmVhZCBvciB3cml0ZSBtYXJrZXJzICovCisvKiBpMmNfc21idXNfeGZlciByZWFkIG9yIHdyaXRlIG1hcmtlcnMgKi8KICNkZWZpbmUgSTJDX1NNQlVTX1JFQUQJMQogI2RlZmluZSBJMkNfU01CVVNfV1JJVEUJMAogCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L2kyYy9hdDI0LmggYi9pbmNsdWRlL2xpbnV4L2kyYy9hdDI0LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjZlZGQ1MgotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvbGludXgvaTJjL2F0MjQuaApAQCAtMCwwICsxLDI4IEBACisjaWZuZGVmIF9MSU5VWF9BVDI0X0gKKyNkZWZpbmUgX0xJTlVYX0FUMjRfSAorCisjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KKworLyoKKyAqIEFzIHNlZW4gdGhyb3VnaCBMaW51eCBJMkMsIGRpZmZlcmVuY2VzIGJldHdlZW4gdGhlIG1vc3QgY29tbW9uIHR5cGVzIG9mIEkyQworICogbWVtb3J5IGluY2x1ZGU6CisgKiAtIEhvdyBtdWNoIG1lbW9yeSBpcyBhdmFpbGFibGUgKHVzdWFsbHkgc3BlY2lmaWVkIGluIGJpdCk/CisgKiAtIFdoYXQgd3JpdGUgcGFnZSBzaXplIGRvZXMgaXQgc3VwcG9ydD8KKyAqIC0gU3BlY2lhbCBmbGFncyAoMTYgYml0IGFkZHJlc3NlcywgcmVhZF9vbmx5LCB3b3JsZCByZWFkYWJsZS4uLik/CisgKgorICogSWYgeW91IHNldCB1cCBhIGN1c3RvbSBlZXByb20gdHlwZSwgcGxlYXNlIGRvdWJsZS1jaGVjayB0aGUgcGFyYW1ldGVycy4KKyAqIEVzcGVjaWFsbHkgcGFnZV9zaXplIG5lZWRzIGV4dHJhIGNhcmUsIGFzIHlvdSByaXNrIGRhdGEgbG9zcyBpZiB5b3VyIHZhbHVlCisgKiBpcyBiaWdnZXIgdGhhbiB3aGF0IHRoZSBjaGlwIGFjdHVhbGx5IHN1cHBvcnRzIQorICovCisKK3N0cnVjdCBhdDI0X3BsYXRmb3JtX2RhdGEgeworCXUzMgkJYnl0ZV9sZW47CQkvKiBzaXplIChzdW0gb2YgYWxsIGFkZHIpICovCisJdTE2CQlwYWdlX3NpemU7CQkvKiBmb3Igd3JpdGVzICovCisJdTgJCWZsYWdzOworI2RlZmluZSBBVDI0X0ZMQUdfQUREUjE2CTB4ODAJLyogYWRkcmVzcyBwb2ludGVyIGlzIDE2IGJpdCAqLworI2RlZmluZSBBVDI0X0ZMQUdfUkVBRE9OTFkJMHg0MAkvKiBzeXNmcy1lbnRyeSB3aWxsIGJlIHJlYWQtb25seSAqLworI2RlZmluZSBBVDI0X0ZMQUdfSVJVR08JCTB4MjAJLyogc3lzZnMtZW50cnkgd2lsbCBiZSB3b3JsZC1yZWFkYWJsZSAqLworI2RlZmluZSBBVDI0X0ZMQUdfVEFLRThBRERSCTB4MTAJLyogdGFrZSBhbHdheXMgOCBhZGRyZXNzZXMgKDI0YzAwKSAqLworfTsKKworI2VuZGlmIC8qIF9MSU5VWF9BVDI0X0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvaWRlLmggYi9pbmNsdWRlL2xpbnV4L2lkZS5oCmluZGV4IGVkZGI2ZGEuLmFjNGVlYjIgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvaWRlLmgKKysrIGIvaW5jbHVkZS9saW51eC9pZGUuaApAQCAtMzY0LDcgKzM2NCw2IEBACiAgICAgICAgIHU4CXdjYWNoZTsJCS8qIHN0YXR1cyBvZiB3cml0ZSBjYWNoZSAqLwogCXU4CWFjb3VzdGljOwkvKiBhY291c3RpYyBtYW5hZ2VtZW50ICovCiAJdTgJbWVkaWE7CQkvKiBkaXNrLCBjZHJvbSwgdGFwZSwgZmxvcHB5LCAuLi4gKi8KLQl1OAljdGw7CQkvKiAibm9ybWFsIiB2YWx1ZSBmb3IgQ29udHJvbCByZWdpc3RlciAqLwogCXU4CXJlYWR5X3N0YXQ7CS8qIG1pbiBzdGF0dXMgdmFsdWUgZm9yIGRyaXZlIHJlYWR5ICovCiAJdTgJbXVsdF9jb3VudDsJLyogY3VycmVudCBtdWx0aXBsZSBzZWN0b3Igc2V0dGluZyAqLwogCXU4CW11bHRfcmVxOwkvKiByZXF1ZXN0ZWQgbXVsdGlwbGUgc2VjdG9yIHNldHRpbmcgKi8KQEAgLTQ5Myw3ICs0OTIsNyBAQAogCXZvaWQgKCppZGVfZG1hX2NsZWFyX2lycSkoaWRlX2RyaXZlX3QgKmRyaXZlKTsKIAogCXZvaWQgKCpPVVRCKSh1OCBhZGRyLCB1bnNpZ25lZCBsb25nIHBvcnQpOwotCXZvaWQgKCpPVVRCU1lOQykoaWRlX2RyaXZlX3QgKmRyaXZlLCB1OCBhZGRyLCB1bnNpZ25lZCBsb25nIHBvcnQpOworCXZvaWQgKCpPVVRCU1lOQykoc3RydWN0IGh3aWZfcyAqaHdpZiwgdTggYWRkciwgdW5zaWduZWQgbG9uZyBwb3J0KTsKIAogCXU4ICAoKklOQikodW5zaWduZWQgbG9uZyBwb3J0KTsKIApAQCAtNTMyLDcgKzUzMSw2IEBACiAJdW5zaWduZWQJc2VyaWFsaXplZCA6IDE7CS8qIHNlcmlhbGl6ZWQgYWxsIGNoYW5uZWwgb3BlcmF0aW9uICovCiAJdW5zaWduZWQJc2hhcmluZ19pcnE6IDE7CS8qIDEgPSBzaGFyaW5nIGlycSB3aXRoIGFub3RoZXIgaHdpZiAqLwogCXVuc2lnbmVkCXNnX21hcHBlZCAgOiAxOwkvKiBzZ190YWJsZSBhbmQgc2dfbmVudHMgYXJlIHJlYWR5ICovCi0JdW5zaWduZWQJbW1pbyAgICAgICA6IDE7IC8qIGhvc3QgdXNlcyBNTUlPICovCiAKIAlzdHJ1Y3QgZGV2aWNlCQlnZW5kZXY7CiAJc3RydWN0IGRldmljZQkJKnBvcnRkZXY7CkBAIC02MDQsMTIgKzYwMiwxMyBAQAogCVBDX0ZMQUdfU1VQUFJFU1NfRVJST1IJCT0gKDEgPDwgMSksCiAJUENfRkxBR19XQUlUX0ZPUl9EU0MJCT0gKDEgPDwgMiksCiAJUENfRkxBR19ETUFfT0sJCQk9ICgxIDw8IDMpLAotCVBDX0ZMQUdfRE1BX1JFQ09NTUVOREVECQk9ICgxIDw8IDQpLAotCVBDX0ZMQUdfRE1BX0lOX1BST0dSRVNTCQk9ICgxIDw8IDUpLAotCVBDX0ZMQUdfRE1BX0VSUk9SCQk9ICgxIDw8IDYpLAotCVBDX0ZMQUdfV1JJVElORwkJCT0gKDEgPDwgNyksCisJUENfRkxBR19ETUFfSU5fUFJPR1JFU1MJCT0gKDEgPDwgNCksCisJUENfRkxBR19ETUFfRVJST1IJCT0gKDEgPDwgNSksCisJUENfRkxBR19XUklUSU5HCQkJPSAoMSA8PCA2KSwKIAkvKiBjb21tYW5kIHRpbWVkIG91dCAqLwotCVBDX0ZMQUdfVElNRURPVVQJCT0gKDEgPDwgOCksCisJUENfRkxBR19USU1FRE9VVAkJPSAoMSA8PCA3KSwKKwlQQ19GTEFHX1pJUF9EUklWRQkJPSAoMSA8PCA4KSwKKwlQQ19GTEFHX0RSUV9JTlRFUlJVUFQJCT0gKDEgPDwgOSksCiB9OwogCiBzdHJ1Y3QgaWRlX2F0YXBpX3BjIHsKQEAgLTY0Miw4ICs2NDEsOCBAQAogCSAqIHRvIGNoYW5nZS9yZW1vdmFsIGxhdGVyLgogCSAqLwogCXU4IHBjX2J1ZlsyNTZdOwotCXZvaWQgKCppZGVmbG9wcHlfY2FsbGJhY2spIChpZGVfZHJpdmVfdCAqKTsKLQlpZGVfc3RhcnRzdG9wX3QgKCppZGV0YXBlX2NhbGxiYWNrKSAoaWRlX2RyaXZlX3QgKik7CisKKwl2b2lkICgqY2FsbGJhY2spKGlkZV9kcml2ZV90ICopOwogCiAJLyogaWRldGFwZSBvbmx5ICovCiAJc3RydWN0IGlkZXRhcGVfYmggKmJoOwpAQCAtODEzLDEwICs4MTIsNiBAQAogI2lmbmRlZiBfSURFX0MKIGV4dGVybglpZGVfaHdpZl90CWlkZV9od2lmc1tdOwkJLyogbWFzdGVyIGRhdGEgcmVwb3NpdG9yeSAqLwogI2VuZGlmCi1leHRlcm4gaW50IGlkZV9ub2FjcGk7Ci1leHRlcm4gaW50IGlkZV9hY3BpZ3RmOwotZXh0ZXJuIGludCBpZGVfYWNwaW9uYm9vdDsKLWV4dGVybiBpbnQgbm9hdXRvZG1hOwogCiBleHRlcm4gaW50IGlkZV92bGJfY2xrOwogZXh0ZXJuIGludCBpZGVfcGNpX2NsazsKQEAgLTg1NywyNSArODUyLDEyIEBACiAKIGV4dGVybiBpZGVfc3RhcnRzdG9wX3QgaWRlX2RvX3Jlc2V0IChpZGVfZHJpdmVfdCAqKTsKIAotZXh0ZXJuIHZvaWQgaWRlX2luaXRfZHJpdmVfY21kIChzdHJ1Y3QgcmVxdWVzdCAqcnEpOwotCi0vKgotICogImFjdGlvbiIgcGFyYW1ldGVyIHR5cGUgZm9yIGlkZV9kb19kcml2ZV9jbWQoKSBiZWxvdy4KLSAqLwotdHlwZWRlZiBlbnVtIHsKLQlpZGVfd2FpdCwJLyogaW5zZXJ0IHJxIGF0IGVuZCBvZiBsaXN0LCBhbmQgd2FpdCBmb3IgaXQgKi8KLQlpZGVfcHJlZW1wdCwJLyogaW5zZXJ0IHJxIGluIGZyb250IG9mIGN1cnJlbnQgcmVxdWVzdCAqLwotCWlkZV9oZWFkX3dhaXQsCS8qIGluc2VydCBycSBpbiBmcm9udCBvZiBjdXJyZW50IHJlcXVlc3QgYW5kIHdhaXQgZm9yIGl0ICovCi0JaWRlX2VuZAkJLyogaW5zZXJ0IHJxIGF0IGVuZCBvZiBsaXN0LCBidXQgZG9uJ3Qgd2FpdCBmb3IgaXQgKi8KLX0gaWRlX2FjdGlvbl90OwotCi1leHRlcm4gaW50IGlkZV9kb19kcml2ZV9jbWQoaWRlX2RyaXZlX3QgKiwgc3RydWN0IHJlcXVlc3QgKiwgaWRlX2FjdGlvbl90KTsKK2V4dGVybiB2b2lkIGlkZV9kb19kcml2ZV9jbWQoaWRlX2RyaXZlX3QgKiwgc3RydWN0IHJlcXVlc3QgKik7CiAKIGV4dGVybiB2b2lkIGlkZV9lbmRfZHJpdmVfY21kKGlkZV9kcml2ZV90ICosIHU4LCB1OCk7CiAKIGVudW0gewogCUlERV9URkxBR19MQkE0OAkJCT0gKDEgPDwgMCksCi0JSURFX1RGTEFHX05PX1NFTEVDVF9NQVNLCT0gKDEgPDwgMSksCiAJSURFX1RGTEFHX0ZMQUdHRUQJCT0gKDEgPDwgMiksCiAJSURFX1RGTEFHX09VVF9EQVRBCQk9ICgxIDw8IDMpLAogCUlERV9URkxBR19PVVRfSE9CX0ZFQVRVUkUJPSAoMSA8PCA0KSwKQEAgLTk4MCwxMSArOTYyLDIzIEBACiB2b2lkIGlkZV90Zl9kdW1wKGNvbnN0IGNoYXIgKiwgc3RydWN0IGlkZV90YXNrZmlsZSAqKTsKIAogZXh0ZXJuIHZvaWQgU0VMRUNUX0RSSVZFKGlkZV9kcml2ZV90ICopOwordm9pZCBTRUxFQ1RfTUFTSyhpZGVfZHJpdmVfdCAqLCBpbnQpOwogCiBleHRlcm4gaW50IGRyaXZlX2lzX3JlYWR5KGlkZV9kcml2ZV90ICopOwogCiB2b2lkIGlkZV9wa3RjbWRfdGZfbG9hZChpZGVfZHJpdmVfdCAqLCB1MzIsIHUxNiwgdTgpOwogCitpZGVfc3RhcnRzdG9wX3QgaWRlX3BjX2ludHIoaWRlX2RyaXZlX3QgKmRyaXZlLCBzdHJ1Y3QgaWRlX2F0YXBpX3BjICpwYywKKwlpZGVfaGFuZGxlcl90ICpoYW5kbGVyLCB1bnNpZ25lZCBpbnQgdGltZW91dCwgaWRlX2V4cGlyeV90ICpleHBpcnksCisJdm9pZCAoKnVwZGF0ZV9idWZmZXJzKShpZGVfZHJpdmVfdCAqLCBzdHJ1Y3QgaWRlX2F0YXBpX3BjICopLAorCXZvaWQgKCpyZXRyeV9wYykoaWRlX2RyaXZlX3QgKiksIHZvaWQgKCpkc2NfaGFuZGxlKShpZGVfZHJpdmVfdCAqKSwKKwl2b2lkICgqaW9fYnVmZmVycykoaWRlX2RyaXZlX3QgKiwgc3RydWN0IGlkZV9hdGFwaV9wYyAqLCB1bnNpZ25lZCBpbnQsCisJCQkgICBpbnQpKTsKK2lkZV9zdGFydHN0b3BfdCBpZGVfdHJhbnNmZXJfcGMoaWRlX2RyaXZlX3QgKiwgc3RydWN0IGlkZV9hdGFwaV9wYyAqLAorCQkJCWlkZV9oYW5kbGVyX3QgKiwgdW5zaWduZWQgaW50LCBpZGVfZXhwaXJ5X3QgKik7CitpZGVfc3RhcnRzdG9wX3QgaWRlX2lzc3VlX3BjKGlkZV9kcml2ZV90ICosIHN0cnVjdCBpZGVfYXRhcGlfcGMgKiwKKwkJCSAgICAgaWRlX2hhbmRsZXJfdCAqLCB1bnNpZ25lZCBpbnQsIGlkZV9leHBpcnlfdCAqKTsKKwogaWRlX3N0YXJ0c3RvcF90IGRvX3J3X3Rhc2tmaWxlKGlkZV9kcml2ZV90ICosIGlkZV90YXNrX3QgKik7CiAKIHZvaWQgdGFza19lbmRfcmVxdWVzdChpZGVfZHJpdmVfdCAqLCBzdHJ1Y3QgcmVxdWVzdCAqLCB1OCk7CkBAIC05OTYsOCArOTkwLDYgQEAKIGludCBpZGVfY21kX2lvY3RsKGlkZV9kcml2ZV90ICosIHVuc2lnbmVkIGludCwgdW5zaWduZWQgbG9uZyk7CiBpbnQgaWRlX3Rhc2tfaW9jdGwoaWRlX2RyaXZlX3QgKiwgdW5zaWduZWQgaW50LCB1bnNpZ25lZCBsb25nKTsKIAotZXh0ZXJuIGludCBzeXN0ZW1fYnVzX2Nsb2NrKHZvaWQpOwotCiBleHRlcm4gaW50IGlkZV9kcml2ZWlkX3VwZGF0ZShpZGVfZHJpdmVfdCAqKTsKIGV4dGVybiBpbnQgaWRlX2NvbmZpZ19kcml2ZV9zcGVlZChpZGVfZHJpdmVfdCAqLCB1OCk7CiBleHRlcm4gdTggZWlnaHR5X25pbnR5X3RocmVlIChpZGVfZHJpdmVfdCAqKTsKQEAgLTEzNDksNyArMTM0MSw4IEBACiB7CiAJaWRlX2h3aWZfdCAqaHdpZiA9IGRyaXZlLT5od2lmOwogCi0JaHdpZi0+T1VUQihkcml2ZS0+Y3RsIHwgKG9uID8gMCA6IDIpLCBod2lmLT5pb19wb3J0cy5jdGxfYWRkcik7CisJaHdpZi0+T1VUQlNZTkMoaHdpZiwgQVRBX0RFVkNUTF9PQlMgfCAob24gPyAwIDogMiksCisJCSAgICAgICBod2lmLT5pb19wb3J0cy5jdGxfYWRkcik7CiB9CiAKIHN0YXRpYyBpbmxpbmUgdTggaWRlX3JlYWRfc3RhdHVzKGlkZV9kcml2ZV90ICpkcml2ZSkKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvaWhleC5oIGIvaW5jbHVkZS9saW51eC9paGV4LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmJhYWNlMgotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvbGludXgvaWhleC5oCkBAIC0wLDAgKzEsNzQgQEAKKy8qCisgKiBDb21wYWN0IGJpbmFyeSByZXByZXNlbnRhdGlvbiBvZiBpaGV4IHJlY29yZHMuIFNvbWUgZGV2aWNlcyBuZWVkIHRoZWlyCisgKiBmaXJtd2FyZSBsb2FkZWQgaW4gc3RyYW5nZSBvcmRlcnMgcmF0aGVyIHRoYW4gYSBzaW5nbGUgYmlnIGJsb2IsIGJ1dAorICogYWN0dWFsbHkgcGFyc2luZyBpaGV4LWFzLXRleHQgd2l0aGluIHRoZSBrZXJuZWwgc2VlbXMgc2lsbHkuIFRodXMsLi4uCisgKi8KKworI2lmbmRlZiBfX0xJTlVYX0lIRVhfSF9fCisjZGVmaW5lIF9fTElOVVhfSUhFWF9IX18KKworI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CisjaW5jbHVkZSA8bGludXgvZmlybXdhcmUuaD4KKyNpbmNsdWRlIDxsaW51eC9kZXZpY2UuaD4KKworLyogSW50ZWwgSEVYIGZpbGVzIGFjdHVhbGx5IGxpbWl0IHRoZSBsZW5ndGggdG8gMjU2IGJ5dGVzLCBidXQgd2UgaGF2ZQorICAgZHJpdmVycyB3aGljaCB3b3VsZCBiZW5lZml0IGZyb20gdXNpbmcgc2VwYXJhdGUgcmVjb3JkcyB3aGljaCBhcmUKKyAgIGxvbmdlciB0aGFuIHRoYXQsIHNvIHdlIGV4dGVuZCB0byAxNiBiaXRzIG9mIGxlbmd0aCAqLworc3RydWN0IGloZXhfYmlucmVjIHsKKwlfX2JlMzIgYWRkcjsKKwlfX2JlMTYgbGVuOworCXVpbnQ4X3QgZGF0YVswXTsKK30gX19hdHRyaWJ1dGVfXygoYWxpZ25lZCg0KSkpOworCisvKiBGaW5kIHRoZSBuZXh0IHJlY29yZCwgdGFraW5nIGludG8gYWNjb3VudCB0aGUgNC1ieXRlIGFsaWdubWVudCAqLworc3RhdGljIGlubGluZSBjb25zdCBzdHJ1Y3QgaWhleF9iaW5yZWMgKgoraWhleF9uZXh0X2JpbnJlYyhjb25zdCBzdHJ1Y3QgaWhleF9iaW5yZWMgKnJlYykKK3sKKwlpbnQgbmV4dCA9ICgoYmUxNl90b19jcHUocmVjLT5sZW4pICsgNSkgJiB+MykgLSAyOworCXJlYyA9ICh2b2lkICopJnJlYy0+ZGF0YVtuZXh0XTsKKworCXJldHVybiBiZTE2X3RvX2NwdShyZWMtPmxlbikgPyByZWMgOiBOVUxMOworfQorCisvKiBDaGVjayB0aGF0IGloZXhfbmV4dF9iaW5yZWMoKSB3b24ndCB0YWtlIHVzIG9mZiB0aGUgZW5kIG9mIHRoZSBpbWFnZS4uLiAqLworc3RhdGljIGlubGluZSBpbnQgaWhleF92YWxpZGF0ZV9mdyhjb25zdCBzdHJ1Y3QgZmlybXdhcmUgKmZ3KQoreworCWNvbnN0IHN0cnVjdCBpaGV4X2JpbnJlYyAqcmVjOworCXNpemVfdCBvZnMgPSAwOworCisJd2hpbGUgKG9mcyA8PSBmdy0+c2l6ZSAtIHNpemVvZigqcmVjKSkgeworCQlyZWMgPSAodm9pZCAqKSZmdy0+ZGF0YVtvZnNdOworCisJCS8qIFplcm8gbGVuZ3RoIG1hcmtzIGVuZCBvZiByZWNvcmRzICovCisJCWlmICghYmUxNl90b19jcHUocmVjLT5sZW4pKQorCQkJcmV0dXJuIDA7CisKKwkJLyogUG9pbnQgdG8gbmV4dCByZWNvcmQuLi4gKi8KKwkJb2ZzICs9IChzaXplb2YoKnJlYykgKyBiZTE2X3RvX2NwdShyZWMtPmxlbikgKyAzKSAmIH4zOworCX0KKwlyZXR1cm4gLUVJTlZBTDsKK30KKworLyogUmVxdWVzdCBmaXJtd2FyZSBhbmQgdmFsaWRhdGUgaXQgc28gdGhhdCB3ZSBjYW4gdHJ1c3Qgd2Ugd29uJ3QKKyAqIHJ1biBvZmYgdGhlIGVuZCB3aGlsZSByZWFkaW5nIHJlY29yZHMuLi4gKi8KK3N0YXRpYyBpbmxpbmUgaW50IHJlcXVlc3RfaWhleF9maXJtd2FyZShjb25zdCBzdHJ1Y3QgZmlybXdhcmUgKipmdywKKwkJCQkJY29uc3QgY2hhciAqZndfbmFtZSwKKwkJCQkJc3RydWN0IGRldmljZSAqZGV2KQoreworCWNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqbGZ3OworCWludCByZXQ7CisKKwlyZXQgPSByZXF1ZXN0X2Zpcm13YXJlKCZsZncsIGZ3X25hbWUsIGRldik7CisJaWYgKHJldCkKKwkJcmV0dXJuIHJldDsKKwlyZXQgPSBpaGV4X3ZhbGlkYXRlX2Z3KGxmdyk7CisJaWYgKHJldCkgeworCQlkZXZfZXJyKGRldiwgIkZpcm13YXJlIFwiJXNcIiBub3QgdmFsaWQgSUhFWCByZWNvcmRzXG4iLAorCQkJZndfbmFtZSk7CisJCXJlbGVhc2VfZmlybXdhcmUobGZ3KTsKKwkJcmV0dXJuIHJldDsKKwl9CisJKmZ3ID0gbGZ3OworCXJldHVybiAwOworfQorI2VuZGlmIC8qIF9fTElOVVhfSUhFWF9IX18gKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvaW50ZXJydXB0LmggYi9pbmNsdWRlL2xpbnV4L2ludGVycnVwdC5oCmluZGV4IGYxZmM3NDcuLjYyYWE0ZjggMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvaW50ZXJydXB0LmgKKysrIGIvaW5jbHVkZS9saW51eC9pbnRlcnJ1cHQuaApAQCAtMTA0LDggKzEwNCwxMSBAQAogCiAjaWYgZGVmaW5lZChDT05GSUdfU01QKSAmJiBkZWZpbmVkKENPTkZJR19HRU5FUklDX0hBUkRJUlFTKQogCitleHRlcm4gY3B1bWFza190IGlycV9kZWZhdWx0X2FmZmluaXR5OworCiBleHRlcm4gaW50IGlycV9zZXRfYWZmaW5pdHkodW5zaWduZWQgaW50IGlycSwgY3B1bWFza190IGNwdW1hc2spOwogZXh0ZXJuIGludCBpcnFfY2FuX3NldF9hZmZpbml0eSh1bnNpZ25lZCBpbnQgaXJxKTsKK2V4dGVybiBpbnQgaXJxX3NlbGVjdF9hZmZpbml0eSh1bnNpZ25lZCBpbnQgaXJxKTsKIAogI2Vsc2UgLyogQ09ORklHX1NNUCAqLwogCkBAIC0xMTksNiArMTIyLDggQEAKIAlyZXR1cm4gMDsKIH0KIAorc3RhdGljIGlubGluZSBpbnQgaXJxX3NlbGVjdF9hZmZpbml0eSh1bnNpZ25lZCBpbnQgaXJxKSAgeyByZXR1cm4gMDsgfQorCiAjZW5kaWYgLyogQ09ORklHX1NNUCAmJiBDT05GSUdfR0VORVJJQ19IQVJESVJRUyAqLwogCiAjaWZkZWYgQ09ORklHX0dFTkVSSUNfSEFSRElSUVMKQEAgLTI4NSwxMiArMjkwLDExIEBACiBzdHJ1Y3Qgc29mdGlycV9hY3Rpb24KIHsKIAl2b2lkCSgqYWN0aW9uKShzdHJ1Y3Qgc29mdGlycV9hY3Rpb24gKik7Ci0Jdm9pZAkqZGF0YTsKIH07CiAKIGFzbWxpbmthZ2Ugdm9pZCBkb19zb2Z0aXJxKHZvaWQpOwogYXNtbGlua2FnZSB2b2lkIF9fZG9fc29mdGlycSh2b2lkKTsKLWV4dGVybiB2b2lkIG9wZW5fc29mdGlycShpbnQgbnIsIHZvaWQgKCphY3Rpb24pKHN0cnVjdCBzb2Z0aXJxX2FjdGlvbiopLCB2b2lkICpkYXRhKTsKK2V4dGVybiB2b2lkIG9wZW5fc29mdGlycShpbnQgbnIsIHZvaWQgKCphY3Rpb24pKHN0cnVjdCBzb2Z0aXJxX2FjdGlvbiAqKSk7CiBleHRlcm4gdm9pZCBzb2Z0aXJxX2luaXQodm9pZCk7CiAjZGVmaW5lIF9fcmFpc2Vfc29mdGlycV9pcnFvZmYobnIpIGRvIHsgb3Jfc29mdGlycV9wZW5kaW5nKDFVTCA8PCAobnIpKTsgfSB3aGlsZSAoMCkKIGV4dGVybiB2b2lkIHJhaXNlX3NvZnRpcnFfaXJxb2ZmKHVuc2lnbmVkIGludCBucik7CmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L2lvY29udGV4dC5oIGIvaW5jbHVkZS9saW51eC9pb2NvbnRleHQuaAppbmRleCAyYjdhMTE4Li4wOGI5ODdiIDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L2lvY29udGV4dC5oCisrKyBiL2luY2x1ZGUvbGludXgvaW9jb250ZXh0LmgKQEAgLTk5LDQgKzk5LDIyIEBACiAJcmV0dXJuIE5VTEw7CiB9CiAKKyNpZmRlZiBDT05GSUdfQkxPQ0sKK2ludCBwdXRfaW9fY29udGV4dChzdHJ1Y3QgaW9fY29udGV4dCAqaW9jKTsKK3ZvaWQgZXhpdF9pb19jb250ZXh0KHZvaWQpOworc3RydWN0IGlvX2NvbnRleHQgKmdldF9pb19jb250ZXh0KGdmcF90IGdmcF9mbGFncywgaW50IG5vZGUpOworc3RydWN0IGlvX2NvbnRleHQgKmFsbG9jX2lvX2NvbnRleHQoZ2ZwX3QgZ2ZwX2ZsYWdzLCBpbnQgbm9kZSk7Cit2b2lkIGNvcHlfaW9fY29udGV4dChzdHJ1Y3QgaW9fY29udGV4dCAqKnBkc3QsIHN0cnVjdCBpb19jb250ZXh0ICoqcHNyYyk7CisjZWxzZQorc3RhdGljIGlubGluZSB2b2lkIGV4aXRfaW9fY29udGV4dCh2b2lkKQoreworfQorCitzdHJ1Y3QgaW9fY29udGV4dDsKK3N0YXRpYyBpbmxpbmUgaW50IHB1dF9pb19jb250ZXh0KHN0cnVjdCBpb19jb250ZXh0ICppb2MpCit7CisJcmV0dXJuIDE7Cit9CisjZW5kaWYKKwogI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L2lycS5oIGIvaW5jbHVkZS9saW51eC9pcnEuaAppbmRleCA1NTJlMGVjLi44Y2NiNDYyIDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L2lycS5oCisrKyBiL2luY2x1ZGUvbGludXgvaXJxLmgKQEAgLTI0NCwxNSArMjQ0LDYgQEAKIH0KICNlbmRpZgogCi0jaWZkZWYgQ09ORklHX0FVVE9fSVJRX0FGRklOSVRZCi1leHRlcm4gaW50IHNlbGVjdF9zbXBfYWZmaW5pdHkodW5zaWduZWQgaW50IGlycSk7Ci0jZWxzZQotc3RhdGljIGlubGluZSBpbnQgc2VsZWN0X3NtcF9hZmZpbml0eSh1bnNpZ25lZCBpbnQgaXJxKQotewotCXJldHVybiAxOwotfQotI2VuZGlmCi0KIGV4dGVybiBpbnQgbm9faXJxX2FmZmluaXR5OwogCiBzdGF0aWMgaW5saW5lIGludCBpcnFfYmFsYW5jaW5nX2Rpc2FibGVkKHVuc2lnbmVkIGludCBpcnEpCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L2lycWZsYWdzLmggYi9pbmNsdWRlL2xpbnV4L2lycWZsYWdzLmgKaW5kZXggZTYwMGM0ZS4uMmIxYzJlNSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9pcnFmbGFncy5oCisrKyBiL2luY2x1ZGUvbGludXgvaXJxZmxhZ3MuaApAQCAtMTIsMTAgKzEyLDEwIEBACiAjZGVmaW5lIF9MSU5VWF9UUkFDRV9JUlFGTEFHU19ICiAKICNpZmRlZiBDT05GSUdfVFJBQ0VfSVJRRkxBR1MKLSAgZXh0ZXJuIHZvaWQgdHJhY2VfaGFyZGlycXNfb24odm9pZCk7Ci0gIGV4dGVybiB2b2lkIHRyYWNlX2hhcmRpcnFzX29mZih2b2lkKTsKICAgZXh0ZXJuIHZvaWQgdHJhY2Vfc29mdGlycXNfb24odW5zaWduZWQgbG9uZyBpcCk7CiAgIGV4dGVybiB2b2lkIHRyYWNlX3NvZnRpcnFzX29mZih1bnNpZ25lZCBsb25nIGlwKTsKKyAgZXh0ZXJuIHZvaWQgdHJhY2VfaGFyZGlycXNfb24odm9pZCk7CisgIGV4dGVybiB2b2lkIHRyYWNlX2hhcmRpcnFzX29mZih2b2lkKTsKICMgZGVmaW5lIHRyYWNlX2hhcmRpcnFfY29udGV4dChwKQkoKHApLT5oYXJkaXJxX2NvbnRleHQpCiAjIGRlZmluZSB0cmFjZV9zb2Z0aXJxX2NvbnRleHQocCkJKChwKS0+c29mdGlycV9jb250ZXh0KQogIyBkZWZpbmUgdHJhY2VfaGFyZGlycXNfZW5hYmxlZChwKQkoKHApLT5oYXJkaXJxc19lbmFibGVkKQpAQCAtNDEsNiArNDEsMTUgQEAKICMgZGVmaW5lIElOSVRfVFJBQ0VfSVJRRkxBR1MKICNlbmRpZgogCisjaWYgZGVmaW5lZChDT05GSUdfSVJRU09GRl9UUkFDRVIpIHx8IFwKKwlkZWZpbmVkKENPTkZJR19QUkVFTVBUX1RSQUNFUikKKyBleHRlcm4gdm9pZCBzdG9wX2NyaXRpY2FsX3RpbWluZ3Modm9pZCk7CisgZXh0ZXJuIHZvaWQgc3RhcnRfY3JpdGljYWxfdGltaW5ncyh2b2lkKTsKKyNlbHNlCisjIGRlZmluZSBzdG9wX2NyaXRpY2FsX3RpbWluZ3MoKSBkbyB7IH0gd2hpbGUgKDApCisjIGRlZmluZSBzdGFydF9jcml0aWNhbF90aW1pbmdzKCkgZG8geyB9IHdoaWxlICgwKQorI2VuZGlmCisKICNpZmRlZiBDT05GSUdfVFJBQ0VfSVJRRkxBR1NfU1VQUE9SVAogCiAjaW5jbHVkZSA8YXNtL2lycWZsYWdzLmg+CmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L2piZDIuaCBiL2luY2x1ZGUvbGludXgvamJkMi5oCmluZGV4IGQxNDdmMGYuLjNkZDIwOTAgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvamJkMi5oCisrKyBiL2luY2x1ZGUvbGludXgvamJkMi5oCkBAIC0xNjgsNiArMTY4LDggQEAKIAl1bnNpZ25lZCBjaGFyICAgaF9jaGtzdW1fc2l6ZTsKIAl1bnNpZ25lZCBjaGFyIAloX3BhZGRpbmdbMl07CiAJX19iZTMyIAkJaF9jaGtzdW1bSkJEMl9DSEVDS1NVTV9CWVRFU107CisJX19iZTY0CQloX2NvbW1pdF9zZWM7CisJX19iZTMyCQloX2NvbW1pdF9uc2VjOwogfTsKIAogLyoKQEAgLTM3OSw2ICszODEsMzggQEAKIAliaXRfc3Bpbl91bmxvY2soQkhfSm91cm5hbEhlYWQsICZiaC0+Yl9zdGF0ZSk7CiB9CiAKKy8qIEZsYWdzIGluIGpiZF9pbm9kZS0+aV9mbGFncyAqLworI2RlZmluZSBfX0pJX0NPTU1JVF9SVU5OSU5HIDAKKy8qIENvbW1pdCBvZiB0aGUgaW5vZGUgZGF0YSBpbiBwcm9ncmVzcy4gV2UgdXNlIHRoaXMgZmxhZyB0byBwcm90ZWN0IHVzIGZyb20KKyAqIGNvbmN1cnJlbnQgZGVsZXRpb24gb2YgaW5vZGUuIFdlIGNhbm5vdCB1c2UgcmVmZXJlbmNlIHRvIGlub2RlIGZvciB0aGlzCisgKiBzaW5jZSB3ZSBjYW5ub3QgYWZmb3JkIGRvaW5nIGxhc3QgaXB1dCgpIG9uIGJlaGFsZiBvZiBram91cm5hbGQKKyAqLworI2RlZmluZSBKSV9DT01NSVRfUlVOTklORyAoMSA8PCBfX0pJX0NPTU1JVF9SVU5OSU5HKQorCisvKioKKyAqIHN0cnVjdCBqYmRfaW5vZGUgaXMgdGhlIHN0cnVjdHVyZSBsaW5raW5nIGlub2RlcyBpbiBvcmRlcmVkIG1vZGUKKyAqICAgcHJlc2VudCBpbiBhIHRyYW5zYWN0aW9uIHNvIHRoYXQgd2UgY2FuIHN5bmMgdGhlbSBkdXJpbmcgY29tbWl0LgorICovCitzdHJ1Y3QgamJkMl9pbm9kZSB7CisJLyogV2hpY2ggdHJhbnNhY3Rpb24gZG9lcyB0aGlzIGlub2RlIGJlbG9uZyB0bz8gRWl0aGVyIHRoZSBydW5uaW5nCisJICogdHJhbnNhY3Rpb24gb3IgdGhlIGNvbW1pdHRpbmcgb25lLiBbal9saXN0X2xvY2tdICovCisJdHJhbnNhY3Rpb25fdCAqaV90cmFuc2FjdGlvbjsKKworCS8qIFBvaW50ZXIgdG8gdGhlIHJ1bm5pbmcgdHJhbnNhY3Rpb24gbW9kaWZ5aW5nIGlub2RlJ3MgZGF0YSBpbiBjYXNlCisJICogdGhlcmUgaXMgYWxyZWFkeSBhIGNvbW1pdHRpbmcgdHJhbnNhY3Rpb24gdG91Y2hpbmcgaXQuIFtqX2xpc3RfbG9ja10gKi8KKwl0cmFuc2FjdGlvbl90ICppX25leHRfdHJhbnNhY3Rpb247CisKKwkvKiBMaXN0IG9mIGlub2RlcyBpbiB0aGUgaV90cmFuc2FjdGlvbiBbal9saXN0X2xvY2tdICovCisJc3RydWN0IGxpc3RfaGVhZCBpX2xpc3Q7CisKKwkvKiBWRlMgaW5vZGUgdGhpcyBpbm9kZSBiZWxvbmdzIHRvIFtjb25zdGFudCBkdXJpbmcgdGhlIGxpZmV0aW1lCisJICogb2YgdGhlIHN0cnVjdHVyZV0gKi8KKwlzdHJ1Y3QgaW5vZGUgKmlfdmZzX2lub2RlOworCisJLyogRmxhZ3Mgb2YgaW5vZGUgW2pfbGlzdF9sb2NrXSAqLworCXVuc2lnbmVkIGludCBpX2ZsYWdzOworfTsKKwogc3RydWN0IGpiZDJfcmV2b2tlX3RhYmxlX3M7CiAKIC8qKgpAQCAtNTA5LDI0ICs1NDMsMTIgQEAKIAlzdHJ1Y3Qgam91cm5hbF9oZWFkCSp0X3Jlc2VydmVkX2xpc3Q7CiAKIAkvKgotCSAqIERvdWJseS1saW5rZWQgY2lyY3VsYXIgbGlzdCBvZiBhbGwgYnVmZmVycyB1bmRlciB3cml0ZW91dCBkdXJpbmcKLQkgKiBjb21taXQgW2pfbGlzdF9sb2NrXQotCSAqLwotCXN0cnVjdCBqb3VybmFsX2hlYWQJKnRfbG9ja2VkX2xpc3Q7Ci0KLQkvKgogCSAqIERvdWJseS1saW5rZWQgY2lyY3VsYXIgbGlzdCBvZiBhbGwgbWV0YWRhdGEgYnVmZmVycyBvd25lZCBieSB0aGlzCiAJICogdHJhbnNhY3Rpb24gW2pfbGlzdF9sb2NrXQogCSAqLwogCXN0cnVjdCBqb3VybmFsX2hlYWQJKnRfYnVmZmVyczsKIAogCS8qCi0JICogRG91Ymx5LWxpbmtlZCBjaXJjdWxhciBsaXN0IG9mIGFsbCBkYXRhIGJ1ZmZlcnMgc3RpbGwgdG8gYmUKLQkgKiBmbHVzaGVkIGJlZm9yZSB0aGlzIHRyYW5zYWN0aW9uIGNhbiBiZSBjb21taXR0ZWQgW2pfbGlzdF9sb2NrXQotCSAqLwotCXN0cnVjdCBqb3VybmFsX2hlYWQJKnRfc3luY19kYXRhbGlzdDsKLQotCS8qCiAJICogRG91Ymx5LWxpbmtlZCBjaXJjdWxhciBsaXN0IG9mIGFsbCBmb3JnZXQgYnVmZmVycyAoc3VwZXJzZWRlZAogCSAqIGJ1ZmZlcnMgd2hpY2ggd2UgY2FuIHVuLWNoZWNrcG9pbnQgb25jZSB0aGlzIHRyYW5zYWN0aW9uIGNvbW1pdHMpCiAJICogW2pfbGlzdF9sb2NrXQpAQCAtNTY1LDYgKzU4NywxMiBAQAogCXN0cnVjdCBqb3VybmFsX2hlYWQJKnRfbG9nX2xpc3Q7CiAKIAkvKgorCSAqIExpc3Qgb2YgaW5vZGVzIHdob3NlIGRhdGEgd2UndmUgbW9kaWZpZWQgaW4gZGF0YT1vcmRlcmVkIG1vZGUuCisJICogW2pfbGlzdF9sb2NrXQorCSAqLworCXN0cnVjdCBsaXN0X2hlYWQJdF9pbm9kZV9saXN0OworCisJLyoKIAkgKiBQcm90ZWN0cyBpbmZvIHJlbGF0ZWQgdG8gaGFuZGxlcwogCSAqLwogCXNwaW5sb2NrX3QJCXRfaGFuZGxlX2xvY2s7CkBAIC0xMDA0LDcgKzEwMzIsNiBAQAogZXh0ZXJuIGludAkgamJkMl9qb3VybmFsX2dldF93cml0ZV9hY2Nlc3MoaGFuZGxlX3QgKiwgc3RydWN0IGJ1ZmZlcl9oZWFkICopOwogZXh0ZXJuIGludAkgamJkMl9qb3VybmFsX2dldF9jcmVhdGVfYWNjZXNzIChoYW5kbGVfdCAqLCBzdHJ1Y3QgYnVmZmVyX2hlYWQgKik7CiBleHRlcm4gaW50CSBqYmQyX2pvdXJuYWxfZ2V0X3VuZG9fYWNjZXNzKGhhbmRsZV90ICosIHN0cnVjdCBidWZmZXJfaGVhZCAqKTsKLWV4dGVybiBpbnQJIGpiZDJfam91cm5hbF9kaXJ0eV9kYXRhIChoYW5kbGVfdCAqLCBzdHJ1Y3QgYnVmZmVyX2hlYWQgKik7CiBleHRlcm4gaW50CSBqYmQyX2pvdXJuYWxfZGlydHlfbWV0YWRhdGEgKGhhbmRsZV90ICosIHN0cnVjdCBidWZmZXJfaGVhZCAqKTsKIGV4dGVybiB2b2lkCSBqYmQyX2pvdXJuYWxfcmVsZWFzZV9idWZmZXIgKGhhbmRsZV90ICosIHN0cnVjdCBidWZmZXJfaGVhZCAqKTsKIGV4dGVybiBpbnQJIGpiZDJfam91cm5hbF9mb3JnZXQgKGhhbmRsZV90ICosIHN0cnVjdCBidWZmZXJfaGVhZCAqKTsKQEAgLTEwNDQsNiArMTA3MSwxMCBAQAogZXh0ZXJuIGludAkgICBqYmQyX2pvdXJuYWxfY2xlYXJfZXJyICAoam91cm5hbF90ICopOwogZXh0ZXJuIGludAkgICBqYmQyX2pvdXJuYWxfYm1hcChqb3VybmFsX3QgKiwgdW5zaWduZWQgbG9uZywgdW5zaWduZWQgbG9uZyBsb25nICopOwogZXh0ZXJuIGludAkgICBqYmQyX2pvdXJuYWxfZm9yY2VfY29tbWl0KGpvdXJuYWxfdCAqKTsKK2V4dGVybiBpbnQJICAgamJkMl9qb3VybmFsX2ZpbGVfaW5vZGUoaGFuZGxlX3QgKmhhbmRsZSwgc3RydWN0IGpiZDJfaW5vZGUgKmlub2RlKTsKK2V4dGVybiBpbnQJICAgamJkMl9qb3VybmFsX2JlZ2luX29yZGVyZWRfdHJ1bmNhdGUoc3RydWN0IGpiZDJfaW5vZGUgKmlub2RlLCBsb2ZmX3QgbmV3X3NpemUpOworZXh0ZXJuIHZvaWQJICAgamJkMl9qb3VybmFsX2luaXRfamJkX2lub2RlKHN0cnVjdCBqYmQyX2lub2RlICpqaW5vZGUsIHN0cnVjdCBpbm9kZSAqaW5vZGUpOworZXh0ZXJuIHZvaWQJICAgamJkMl9qb3VybmFsX3JlbGVhc2VfamJkX2lub2RlKGpvdXJuYWxfdCAqam91cm5hbCwgc3RydWN0IGpiZDJfaW5vZGUgKmppbm9kZSk7CiAKIC8qCiAgKiBqb3VybmFsX2hlYWQgbWFuYWdlbWVudApAQCAtMTE3OSwxNSArMTIxMCwxMyBAQAogCiAvKiBqb3VybmFsaW5nIGJ1ZmZlciB0eXBlcyAqLwogI2RlZmluZSBCSl9Ob25lCQkwCS8qIE5vdCBqb3VybmFsZWQgKi8KLSNkZWZpbmUgQkpfU3luY0RhdGEJMQkvKiBOb3JtYWwgZGF0YTogZmx1c2ggYmVmb3JlIGNvbW1pdCAqLwotI2RlZmluZSBCSl9NZXRhZGF0YQkyCS8qIE5vcm1hbCBqb3VybmFsZWQgbWV0YWRhdGEgKi8KLSNkZWZpbmUgQkpfRm9yZ2V0CTMJLyogQnVmZmVyIHN1cGVyc2VkZWQgYnkgdGhpcyB0cmFuc2FjdGlvbiAqLwotI2RlZmluZSBCSl9JTwkJNAkvKiBCdWZmZXIgaXMgZm9yIHRlbXBvcmFyeSBJTyB1c2UgKi8KLSNkZWZpbmUgQkpfU2hhZG93CTUJLyogQnVmZmVyIGNvbnRlbnRzIGJlaW5nIHNoYWRvd2VkIHRvIHRoZSBsb2cgKi8KLSNkZWZpbmUgQkpfTG9nQ3RsCTYJLyogQnVmZmVyIGNvbnRhaW5zIGxvZyBkZXNjcmlwdG9ycyAqLwotI2RlZmluZSBCSl9SZXNlcnZlZAk3CS8qIEJ1ZmZlciBpcyByZXNlcnZlZCBmb3IgYWNjZXNzIGJ5IGpvdXJuYWwgKi8KLSNkZWZpbmUgQkpfTG9ja2VkCTgJLyogTG9ja2VkIGZvciBJL08gZHVyaW5nIGNvbW1pdCAqLwotI2RlZmluZSBCSl9UeXBlcwk5CisjZGVmaW5lIEJKX01ldGFkYXRhCTEJLyogTm9ybWFsIGpvdXJuYWxlZCBtZXRhZGF0YSAqLworI2RlZmluZSBCSl9Gb3JnZXQJMgkvKiBCdWZmZXIgc3VwZXJzZWRlZCBieSB0aGlzIHRyYW5zYWN0aW9uICovCisjZGVmaW5lIEJKX0lPCQkzCS8qIEJ1ZmZlciBpcyBmb3IgdGVtcG9yYXJ5IElPIHVzZSAqLworI2RlZmluZSBCSl9TaGFkb3cJNAkvKiBCdWZmZXIgY29udGVudHMgYmVpbmcgc2hhZG93ZWQgdG8gdGhlIGxvZyAqLworI2RlZmluZSBCSl9Mb2dDdGwJNQkvKiBCdWZmZXIgY29udGFpbnMgbG9nIGRlc2NyaXB0b3JzICovCisjZGVmaW5lIEJKX1Jlc2VydmVkCTYJLyogQnVmZmVyIGlzIHJlc2VydmVkIGZvciBhY2Nlc3MgYnkgam91cm5hbCAqLworI2RlZmluZSBCSl9UeXBlcwk3CiAKIGV4dGVybiBpbnQgamJkX2Jsb2Nrc19wZXJfcGFnZShzdHJ1Y3QgaW5vZGUgKmlub2RlKTsKIApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9rZXJuZWwuaCBiL2luY2x1ZGUvbGludXgva2VybmVsLmgKaW5kZXggMmU3MDAwNi4uZjljZDdhNSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9rZXJuZWwuaAorKysgYi9pbmNsdWRlL2xpbnV4L2tlcm5lbC5oCkBAIC0xODcsOSArMTg3LDYgQEAKIAlfX2F0dHJpYnV0ZV9fICgoZm9ybWF0IChwcmludGYsIDEsIDApKSk7CiBhc21saW5rYWdlIGludCBwcmludGsoY29uc3QgY2hhciAqIGZtdCwgLi4uKQogCV9fYXR0cmlidXRlX18gKChmb3JtYXQgKHByaW50ZiwgMSwgMikpKSBfX2NvbGQ7Ci1leHRlcm4gaW50IGxvZ19idWZfZ2V0X2xlbih2b2lkKTsKLWV4dGVybiBpbnQgbG9nX2J1Zl9yZWFkKGludCBpZHgpOwotZXh0ZXJuIGludCBsb2dfYnVmX2NvcHkoY2hhciAqZGVzdCwgaW50IGlkeCwgaW50IGxlbik7CiAKIGV4dGVybiBpbnQgcHJpbnRrX3JhdGVsaW1pdF9qaWZmaWVzOwogZXh0ZXJuIGludCBwcmludGtfcmF0ZWxpbWl0X2J1cnN0OwpAQCAtMjA1LDkgKzIwMiw2IEBACiBzdGF0aWMgaW5saW5lIGludCBwcmludGsoY29uc3QgY2hhciAqcywgLi4uKQogCV9fYXR0cmlidXRlX18gKChmb3JtYXQgKHByaW50ZiwgMSwgMikpKTsKIHN0YXRpYyBpbmxpbmUgaW50IF9fY29sZCBwcmludGsoY29uc3QgY2hhciAqcywgLi4uKSB7IHJldHVybiAwOyB9Ci1zdGF0aWMgaW5saW5lIGludCBsb2dfYnVmX2dldF9sZW4odm9pZCkgeyByZXR1cm4gMDsgfQotc3RhdGljIGlubGluZSBpbnQgbG9nX2J1Zl9yZWFkKGludCBpZHgpIHsgcmV0dXJuIDA7IH0KLXN0YXRpYyBpbmxpbmUgaW50IGxvZ19idWZfY29weShjaGFyICpkZXN0LCBpbnQgaWR4LCBpbnQgbGVuKSB7IHJldHVybiAwOyB9CiBzdGF0aWMgaW5saW5lIGludCBwcmludGtfcmF0ZWxpbWl0KHZvaWQpIHsgcmV0dXJuIDA7IH0KIHN0YXRpYyBpbmxpbmUgaW50IF9fcHJpbnRrX3JhdGVsaW1pdChpbnQgcmF0ZWxpbWl0X2ppZmZpZXMsIFwKIAkJCQkgICAgIGludCByYXRlbGltaXRfYnVyc3QpIHsgcmV0dXJuIDA7IH0KQEAgLTIxNiw3ICsyMTAsNyBAQAogCQl7IHJldHVybiBmYWxzZTsgfQogI2VuZGlmCiAKLWV4dGVybiB2b2lkIF9fYXR0cmlidXRlX18oKGZvcm1hdChwcmludGYsIDEsIDIpKSkKK2V4dGVybiB2b2lkIGFzbWxpbmthZ2UgX19hdHRyaWJ1dGVfXygoZm9ybWF0KHByaW50ZiwgMSwgMikpKQogCWVhcmx5X3ByaW50ayhjb25zdCBjaGFyICpmbXQsIC4uLik7CiAKIHVuc2lnbmVkIGxvbmcgaW50X3NxcnQodW5zaWduZWQgbG9uZyk7CmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L2tlcm5lbF9zdGF0LmggYi9pbmNsdWRlL2xpbnV4L2tlcm5lbF9zdGF0LmgKaW5kZXggZThmZmNlOC4uY2Y5ZjQwYSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9rZXJuZWxfc3RhdC5oCisrKyBiL2luY2x1ZGUvbGludXgva2VybmVsX3N0YXQuaApAQCAtMSwxMSArMSwxMSBAQAogI2lmbmRlZiBfTElOVVhfS0VSTkVMX1NUQVRfSAogI2RlZmluZSBfTElOVVhfS0VSTkVMX1NUQVRfSAogCi0jaW5jbHVkZSA8YXNtL2lycS5oPgogI2luY2x1ZGUgPGxpbnV4L3NtcC5oPgogI2luY2x1ZGUgPGxpbnV4L3RocmVhZHMuaD4KICNpbmNsdWRlIDxsaW51eC9wZXJjcHUuaD4KICNpbmNsdWRlIDxsaW51eC9jcHVtYXNrLmg+CisjaW5jbHVkZSA8YXNtL2lycS5oPgogI2luY2x1ZGUgPGFzbS9jcHV0aW1lLmg+CiAKIC8qCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L2twcm9iZXMuaCBiL2luY2x1ZGUvbGludXgva3Byb2Jlcy5oCmluZGV4IDEwMzY2MzEuLjA0YTM1NTYgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgva3Byb2Jlcy5oCisrKyBiL2luY2x1ZGUvbGludXgva3Byb2Jlcy5oCkBAIC0yNTksNiArMjU5LDEwIEBACiBzdHJ1Y3QganByb2JlOwogc3RydWN0IGtyZXRwcm9iZTsKIAorc3RhdGljIGlubGluZSBzdHJ1Y3Qga3Byb2JlICpnZXRfa3Byb2JlKHZvaWQgKmFkZHIpCit7CisJcmV0dXJuIE5VTEw7Cit9CiBzdGF0aWMgaW5saW5lIHN0cnVjdCBrcHJvYmUgKmtwcm9iZV9ydW5uaW5nKHZvaWQpCiB7CiAJcmV0dXJuIE5VTEw7CmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L2xpYmF0YS5oIGIvaW5jbHVkZS9saW51eC9saWJhdGEuaAppbmRleCBlNTdlNWQwLi41YjI0N2I4IDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L2xpYmF0YS5oCisrKyBiL2luY2x1ZGUvbGludXgvbGliYXRhLmgKQEAgLTI3LDYgKzI3LDcgQEAKICNkZWZpbmUgX19MSU5VWF9MSUJBVEFfSF9fCiAKICNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgorI2luY2x1ZGUgPGxpbnV4L2ppZmZpZXMuaD4KICNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KICNpbmNsdWRlIDxsaW51eC9kbWEtbWFwcGluZy5oPgogI2luY2x1ZGUgPGxpbnV4L3NjYXR0ZXJsaXN0Lmg+CkBAIC0xMTUsNyArMTE2LDcgQEAKIAkvKiB0YWcgQVRBX01BWF9RVUVVRSAtIDEgaXMgcmVzZXJ2ZWQgZm9yIGludGVybmFsIGNvbW1hbmRzICovCiAJQVRBX01BWF9RVUVVRQkJPSAzMiwKIAlBVEFfVEFHX0lOVEVSTkFMCT0gQVRBX01BWF9RVUVVRSAtIDEsCi0JQVRBX1NIT1JUX1BBVVNFCQk9IChIWiA+PiA2KSArIDEsCisJQVRBX1NIT1JUX1BBVVNFCQk9IDE2LAogCiAJQVRBUElfTUFYX0RSQUlOCQk9IDE2IDw8IDEwLAogCkBAIC0xNjgsNiArMTY5LDcgQEAKIAlBVEFfTEZMQUdfQVNTVU1FX0NMQVNTCT0gQVRBX0xGTEFHX0FTU1VNRV9BVEEgfCBBVEFfTEZMQUdfQVNTVU1FX1NFTUIsCiAJQVRBX0xGTEFHX05PX1JFVFJZCT0gKDEgPDwgNSksIC8qIGRvbid0IHJldHJ5IHRoaXMgbGluayAqLwogCUFUQV9MRkxBR19ESVNBQkxFRAk9ICgxIDw8IDYpLCAvKiBsaW5rIGlzIGRpc2FibGVkICovCisJQVRBX0xGTEFHX1NXX0FDVElWSVRZCT0gKDEgPDwgNyksIC8qIGtlZXAgYWN0aXZpdHkgc3RhdHMgKi8KIAogCS8qIHN0cnVjdCBhdGFfcG9ydCBmbGFncyAqLwogCUFUQV9GTEFHX1NMQVZFX1BPU1MJPSAoMSA8PCAwKSwgLyogaG9zdCBzdXBwb3J0cyBzbGF2ZSBkZXYgKi8KQEAgLTE5MCw2ICsxOTIsMTAgQEAKIAlBVEFfRkxBR19BTgkJPSAoMSA8PCAxOCksIC8qIGNvbnRyb2xsZXIgc3VwcG9ydHMgQU4gKi8KIAlBVEFfRkxBR19QTVAJCT0gKDEgPDwgMTkpLCAvKiBjb250cm9sbGVyIHN1cHBvcnRzIFBNUCAqLwogCUFUQV9GTEFHX0lQTQkJPSAoMSA8PCAyMCksIC8qIGRyaXZlciBjYW4gaGFuZGxlIElQTSAqLworCUFUQV9GTEFHX0VNCQk9ICgxIDw8IDIxKSwgLyogZHJpdmVyIHN1cHBvcnRzIGVuY2xvc3VyZQorCQkJCQkgICAgICAqIG1hbmFnZW1lbnQgKi8KKwlBVEFfRkxBR19TV19BQ1RJVklUWQk9ICgxIDw8IDIyKSwgLyogZHJpdmVyIHN1cHBvcnRzIHN3IGFjdGl2aXR5CisJCQkJCSAgICAgICogbGVkICovCiAKIAkvKiBUaGUgZm9sbG93aW5nIGZsYWcgYmVsb25ncyB0byBhcC0+cGZsYWdzIGJ1dCBpcyBrZXB0IGluCiAJICogYXAtPmZsYWdzIGJlY2F1c2UgaXQncyByZWZlcmVuY2VkIGluIG1hbnkgTExEcyBhbmQgd2lsbCBiZQpAQCAtMjM0LDE3ICsyNDAsMTYgQEAKIAkvKiBiaXRzIDI0OjMxIG9mIGhvc3QtPmZsYWdzIGFyZSByZXNlcnZlZCBmb3IgTExEIHNwZWNpZmljIGZsYWdzICovCiAKIAkvKiB2YXJpb3VzIGxlbmd0aHMgb2YgdGltZSAqLwotCUFUQV9UTU9VVF9CT09UCQk9IDMwICogSFosCS8qIGhldXJpc3RpYyAqLwotCUFUQV9UTU9VVF9CT09UX1FVSUNLCT0gNyAqIEhaLAkvKiBoZXVyaXN0aWMgKi8KLQlBVEFfVE1PVVRfSU5URVJOQUwJPSAzMCAqIEhaLAotCUFUQV9UTU9VVF9JTlRFUk5BTF9RVUlDSyA9IDUgKiBIWiwKKwlBVEFfVE1PVVRfQk9PVAkJPSAzMDAwMCwJLyogaGV1cmlzdGljICovCisJQVRBX1RNT1VUX0JPT1RfUVVJQ0sJPSAgNzAwMCwJLyogaGV1cmlzdGljICovCisJQVRBX1RNT1VUX0lOVEVSTkFMX1FVSUNLID0gNTAwMCwKIAogCS8qIEZJWE1FOiBHb1ZhdWx0IG5lZWRzIDJzIGJ1dCB3ZSBjYW4ndCBhZmZvcmQgdGhhdCB3aXRob3V0CiAJICogcGFyYWxsZWwgcHJvYmluZy4gIDgwMG1zIGlzIGVub3VnaCBmb3IgaVZEUiBkaXNrCiAJICogSEhENDI0MDIwRjdTVjAwLiAgSW5jcmVhc2UgdG8gMnNlY3Mgd2hlbiBwYXJhbGxlbCBwcm9iaW5nCiAJICogaXMgaW4gcGxhY2UuCiAJICovCi0JQVRBX1RNT1VUX0ZGX1dBSVQJPSA0ICogSFogLyA1LAorCUFUQV9UTU9VVF9GRl9XQUlUCT0gIDgwMCwKIAogCS8qIFNwZWMgbWFuZGF0ZXMgdG8gd2FpdCBmb3IgIj49IDJtcyIgYmVmb3JlIGNoZWNraW5nIHN0YXR1cwogCSAqIGFmdGVyIHJlc2V0LiAgV2Ugd2FpdCAxNTBtcywgYmVjYXVzZSB0aGF0IHdhcyB0aGUgbWFnaWMKQEAgLTI1NiwxNCArMjYxLDE0IEBACiAJICoKIAkgKiBPbGQgZHJpdmVycy9pZGUgdXNlcyB0aGUgMm1TIHJ1bGUgYW5kIHRoZW4gd2FpdHMgZm9yIHJlYWR5LgogCSAqLwotCUFUQV9XQUlUX0FGVEVSX1JFU0VUX01TRUNTID0gMTUwLAorCUFUQV9XQUlUX0FGVEVSX1JFU0VUCT0gIDE1MCwKIAogCS8qIElmIFBNUCBpcyBzdXBwb3J0ZWQsIHdlIGhhdmUgdG8gZG8gZm9sbG93LXVwIFNSU1QuICBBcyBzb21lCiAJICogUE1QcyBkb24ndCBzZW5kIEQySCBSZWcgRklTIGFmdGVyIGhhcmRyZXNldCwgTExEcyBhcmUKIAkgKiBhZHZpc2VkIHRvIHdhaXQgb25seSBmb3IgdGhlIGZvbGxvd2luZyBkdXJhdGlvbiBiZWZvcmUKIAkgKiBkb2luZyBTUlNULgogCSAqLwotCUFUQV9UTU9VVF9QTVBfU1JTVF9XQUlUCT0gMSAqIEhaLAorCUFUQV9UTU9VVF9QTVBfU1JTVF9XQUlUCT0gMTAwMCwKIAogCS8qIEFUQSBidXMgc3RhdGVzICovCiAJQlVTX1VOS05PV04JCT0gMCwKQEAgLTM0MCw2ICszNDUsMTEgQEAKIAogCVNBVEFfUE1QX1JXX1RJTUVPVVQJPSAzMDAwLAkJLyogUE1QIHJlYWQvd3JpdGUgdGltZW91dCAqLwogCisJLyogVGhpcyBzaG91bGQgbWF0Y2ggdGhlIGFjdHVhbCB0YWJsZSBzaXplIG9mCisJICogYXRhX2VoX2NtZF90aW1lb3V0X3RhYmxlIGluIGxpYmF0YS1laC5jLgorCSAqLworCUFUQV9FSF9DTURfVElNRU9VVF9UQUJMRV9TSVpFID0gNSwKKwogCS8qIEhvcmthZ2UgdHlwZXMuIE1heSBiZSBzZXQgYnkgbGliYXRhIG9yIGNvbnRyb2xsZXIgb24gZHJpdmVzCiAJICAgKHNvbWUgaG9ya2FnZSBtYXkgYmUgZHJpdmUvY29udHJvbGxlciBwYWlyIGRlcGVuZGFudCAqLwogCkBAIC00NDEsNiArNDUxLDE1IEBACiAJTUVESVVNX1BPV0VSLAogfTsKIGV4dGVybiBzdHJ1Y3QgZGV2aWNlX2F0dHJpYnV0ZSBkZXZfYXR0cl9saW5rX3Bvd2VyX21hbmFnZW1lbnRfcG9saWN5OworZXh0ZXJuIHN0cnVjdCBkZXZpY2VfYXR0cmlidXRlIGRldl9hdHRyX2VtX21lc3NhZ2VfdHlwZTsKK2V4dGVybiBzdHJ1Y3QgZGV2aWNlX2F0dHJpYnV0ZSBkZXZfYXR0cl9lbV9tZXNzYWdlOworZXh0ZXJuIHN0cnVjdCBkZXZpY2VfYXR0cmlidXRlIGRldl9hdHRyX3N3X2FjdGl2aXR5OworCitlbnVtIHN3X2FjdGl2aXR5IHsKKwlPRkYsCisJQkxJTktfT04sCisJQkxJTktfT0ZGLAorfTsKIAogI2lmZGVmIENPTkZJR19BVEFfU0ZGCiBzdHJ1Y3QgYXRhX2lvcG9ydHMgewpAQCAtNTk3LDEwICs2MTYsMTQgQEAKIHN0cnVjdCBhdGFfZWhfY29udGV4dCB7CiAJc3RydWN0IGF0YV9laF9pbmZvCWk7CiAJaW50CQkJdHJpZXNbQVRBX01BWF9ERVZJQ0VTXTsKKwlpbnQJCQljbWRfdGltZW91dF9pZHhbQVRBX01BWF9ERVZJQ0VTXQorCQkJCQkgICAgICAgW0FUQV9FSF9DTURfVElNRU9VVF9UQUJMRV9TSVpFXTsKIAl1bnNpZ25lZCBpbnQJCWNsYXNzZXNbQVRBX01BWF9ERVZJQ0VTXTsKIAl1bnNpZ25lZCBpbnQJCWRpZF9wcm9iZV9tYXNrOwogCXVuc2lnbmVkIGludAkJc2F2ZWRfbmNxX2VuYWJsZWQ7CiAJdTgJCQlzYXZlZF94ZmVyX21vZGVbQVRBX01BWF9ERVZJQ0VTXTsKKwkvKiB0aW1lc3RhbXAgZm9yIHRoZSBsYXN0IHJlc2V0IGF0dGVtcHQgb3Igc3VjY2VzcyAqLworCXVuc2lnbmVkIGxvbmcJCWxhc3RfcmVzZXQ7CiB9OwogCiBzdHJ1Y3QgYXRhX2FjcGlfZHJpdmUKQEAgLTY5Miw2ICs3MTUsNyBAQAogCXN0cnVjdCB0aW1lcl9saXN0CWZhc3RkcmFpbl90aW1lcjsKIAl1bnNpZ25lZCBsb25nCQlmYXN0ZHJhaW5fY250OwogCisJaW50CQkJZW1fbWVzc2FnZV90eXBlOwogCXZvaWQJCQkqcHJpdmF0ZV9kYXRhOwogCiAjaWZkZWYgQ09ORklHX0FUQV9BQ1BJCkBAIC03ODMsNiArODA3LDEyIEBACiAJdTggICAoKmJtZG1hX3N0YXR1cykoc3RydWN0IGF0YV9wb3J0ICphcCk7CiAjZW5kaWYgLyogQ09ORklHX0FUQV9TRkYgKi8KIAorCXNzaXplX3QgKCplbV9zaG93KShzdHJ1Y3QgYXRhX3BvcnQgKmFwLCBjaGFyICpidWYpOworCXNzaXplX3QgKCplbV9zdG9yZSkoc3RydWN0IGF0YV9wb3J0ICphcCwgY29uc3QgY2hhciAqbWVzc2FnZSwKKwkJCSAgICBzaXplX3Qgc2l6ZSk7CisJc3NpemVfdCAoKnN3X2FjdGl2aXR5X3Nob3cpKHN0cnVjdCBhdGFfZGV2aWNlICpkZXYsIGNoYXIgKmJ1Zik7CisJc3NpemVfdCAoKnN3X2FjdGl2aXR5X3N0b3JlKShzdHJ1Y3QgYXRhX2RldmljZSAqZGV2LAorCQkJCSAgICAgZW51bSBzd19hY3Rpdml0eSB2YWwpOwogCS8qCiAJICogT2Jzb2xldGUKIAkgKi8KQEAgLTg5NSw4ICs5MjUsNyBAQAogI2VuZGlmCiBleHRlcm4gaW50IGF0YV9yYXRlbGltaXQodm9pZCk7CiBleHRlcm4gdTMyIGF0YV93YWl0X3JlZ2lzdGVyKHZvaWQgX19pb21lbSAqcmVnLCB1MzIgbWFzaywgdTMyIHZhbCwKLQkJCSAgICAgdW5zaWduZWQgbG9uZyBpbnRlcnZhbF9tc2VjLAotCQkJICAgICB1bnNpZ25lZCBsb25nIHRpbWVvdXRfbXNlYyk7CisJCQkgICAgIHVuc2lnbmVkIGxvbmcgaW50ZXJ2YWwsIHVuc2lnbmVkIGxvbmcgdGltZW91dCk7CiBleHRlcm4gaW50IGF0YXBpX2NtZF90eXBlKHU4IG9wY29kZSk7CiBleHRlcm4gdm9pZCBhdGFfdGZfdG9fZmlzKGNvbnN0IHN0cnVjdCBhdGFfdGFza2ZpbGUgKnRmLAogCQkJICB1OCBwbXAsIGludCBpc19jbWQsIHU4ICpmaXMpOwpAQCAtMTM4OSw2ICsxNDE4LDEyIEBACiAJcmV0dXJuIDA7CiB9CiAKK3N0YXRpYyBpbmxpbmUgdW5zaWduZWQgbG9uZyBhdGFfZGVhZGxpbmUodW5zaWduZWQgbG9uZyBmcm9tX2ppZmZpZXMsCisJCQkJCSB1bnNpZ25lZCBsb25nIHRpbWVvdXRfbXNlY3MpCit7CisJcmV0dXJuIGZyb21famlmZmllcyArIG1zZWNzX3RvX2ppZmZpZXModGltZW91dF9tc2Vjcyk7Cit9CisKIAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBQTVAgLSBkcml2ZXJzL2F0YS9saWJhdGEtcG1wLmMKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvbGlua2FnZS5oIGIvaW5jbHVkZS9saW51eC9saW5rYWdlLmgKaW5kZXggMjExOTYxMC4uNTZiYTM3MyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9saW5rYWdlLmgKKysrIGIvaW5jbHVkZS9saW51eC9saW5rYWdlLmgKQEAgLTEsOCArMSwxMSBAQAogI2lmbmRlZiBfTElOVVhfTElOS0FHRV9ICiAjZGVmaW5lIF9MSU5VWF9MSU5LQUdFX0gKIAorI2luY2x1ZGUgPGxpbnV4L2NvbXBpbGVyLmg+CiAjaW5jbHVkZSA8YXNtL2xpbmthZ2UuaD4KIAorI2RlZmluZSBub3RyYWNlIF9fYXR0cmlidXRlX18oKG5vX2luc3RydW1lbnRfZnVuY3Rpb24pKQorCiAjaWZkZWYgX19jcGx1c3BsdXMKICNkZWZpbmUgQ1BQX0FTTUxJTktBR0UgZXh0ZXJuICJDIgogI2Vsc2UKQEAgLTE3LDYgKzIwLDkgQEAKICMgZGVmaW5lIGFzbXJlZ3Bhcm0KICNlbmRpZgogCisjZGVmaW5lIF9fcGFnZV9hbGlnbmVkX2RhdGEJX19zZWN0aW9uKC5kYXRhLnBhZ2VfYWxpZ25lZCkgX19hbGlnbmVkKFBBR0VfU0laRSkKKyNkZWZpbmUgX19wYWdlX2FsaWduZWRfYnNzCV9fc2VjdGlvbiguYnNzLnBhZ2VfYWxpZ25lZCkgX19hbGlnbmVkKFBBR0VfU0laRSkKKwogLyoKICAqIFRoaXMgaXMgdXNlZCBieSBhcmNoaXRlY3R1cmVzIHRvIGtlZXAgYXJndW1lbnRzIG9uIHRoZSBzdGFjawogICogdW50b3VjaGVkIGJ5IHRoZSBjb21waWxlciBieSBrZWVwaW5nIHRoZW0gbGl2ZSB1bnRpbCB0aGUgZW5kLgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9sbV9pbnRlcmZhY2UuaCBiL2luY2x1ZGUvbGludXgvbG1faW50ZXJmYWNlLmgKaW5kZXggZjI3NDk5N2IuLjJlZDhmYTEgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvbG1faW50ZXJmYWNlLmgKKysrIGIvaW5jbHVkZS9saW51eC9sbV9pbnRlcmZhY2UuaApAQCAtMTIyLDExICsxMjIsOSBAQAogICovCiAKICNkZWZpbmUgTE1fT1VUX1NUX01BU0sJCTB4MDAwMDAwMDMKLSNkZWZpbmUgTE1fT1VUX0NBQ0hFQUJMRQkweDAwMDAwMDA0CiAjZGVmaW5lIExNX09VVF9DQU5DRUxFRAkJMHgwMDAwMDAwOAogI2RlZmluZSBMTV9PVVRfQVNZTkMJCTB4MDAwMDAwODAKICNkZWZpbmUgTE1fT1VUX0VSUk9SCQkweDAwMDAwMTAwCi0jZGVmaW5lIExNX09VVF9DT05WX0RFQURMSwkweDAwMDAwMjAwCiAKIC8qCiAgKiBsbV9jYWxsYmFja190IHR5cGVzCkBAIC0xMzgsOSArMTM2LDYgQEAKICAqIExNX0NCX05FRURfUkVDT1ZFUlkKICAqIFRoZSBnaXZlbiBqb3VybmFsIG5lZWRzIHRvIGJlIHJlY292ZXJlZC4KICAqCi0gKiBMTV9DQl9EUk9QTE9DS1MKLSAqIFJlZHVjZSB0aGUgbnVtYmVyIG9mIGNhY2hlZCBsb2Nrcy4KLSAqCiAgKiBMTV9DQl9BU1lOQwogICogVGhlIGdpdmVuIGxvY2sgaGFzIGJlZW4gZ3JhbnRlZC4KICAqLwpAQCAtMTQ5LDcgKzE0NCw2IEBACiAjZGVmaW5lIExNX0NCX05FRURfRAkJMjU4CiAjZGVmaW5lIExNX0NCX05FRURfUwkJMjU5CiAjZGVmaW5lIExNX0NCX05FRURfUkVDT1ZFUlkJMjYwCi0jZGVmaW5lIExNX0NCX0RST1BMT0NLUwkJMjYxCiAjZGVmaW5lIExNX0NCX0FTWU5DCQkyNjIKIAogLyoKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvbG9ja2RlcC5oIGIvaW5jbHVkZS9saW51eC9sb2NrZGVwLmgKaW5kZXggNGM0ZDIzNi4uMjQ4NmViNCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9sb2NrZGVwLmgKKysrIGIvaW5jbHVkZS9saW51eC9sb2NrZGVwLmgKQEAgLTE4Miw2ICsxODIsOSBAQAogICogV2UgcmVjb3JkIGxvY2sgZGVwZW5kZW5jeSBjaGFpbnMsIHNvIHRoYXQgd2UgY2FuIGNhY2hlIHRoZW06CiAgKi8KIHN0cnVjdCBsb2NrX2NoYWluIHsKKwl1OAkJCQlpcnFfY29udGV4dDsKKwl1OAkJCQlkZXB0aDsKKwl1MTYJCQkJYmFzZTsKIAlzdHJ1Y3QgbGlzdF9oZWFkCQllbnRyeTsKIAl1NjQJCQkJY2hhaW5fa2V5OwogfTsKQEAgLTI3NiwxNCArMjc5LDYgQEAKIAkJCQkgKGxvY2spLT5kZXBfbWFwLmtleSwgc3ViKQogCiAvKgotICogVG8gaW5pdGlhbGl6ZSBhIGxvY2tkZXBfbWFwIHN0YXRpY2FsbHkgdXNlIHRoaXMgbWFjcm8uCi0gKiBOb3RlIHRoYXQgX25hbWUgbXVzdCBub3QgYmUgTlVMTC4KLSAqLwotI2RlZmluZSBTVEFUSUNfTE9DS0RFUF9NQVBfSU5JVChfbmFtZSwgX2tleSkgXAotCXsgLm5hbWUgPSAoX25hbWUpLCAua2V5ID0gKHZvaWQgKikoX2tleSksIH0KLQotCi0vKgogICogQWNxdWlyZSBhIGxvY2suCiAgKgogICogVmFsdWVzIGZvciAicmVhZCI6CmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L21hcmtlci5oIGIvaW5jbHVkZS9saW51eC9tYXJrZXIuaAppbmRleCA0MzBmNmFkLi4xMjkwNjUzIDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L21hcmtlci5oCisrKyBiL2luY2x1ZGUvbGludXgvbWFya2VyLmgKQEAgLTQ0LDggKzQ0LDggQEAKIAkJCQkgKi8KIAljaGFyIHN0YXRlOwkJLyogTWFya2VyIHN0YXRlLiAqLwogCWNoYXIgcHR5cGU7CQkvKiBwcm9iZSB0eXBlIDogMCA6IHNpbmdsZSwgMSA6IG11bHRpICovCi0Jdm9pZCAoKmNhbGwpKGNvbnN0IHN0cnVjdCBtYXJrZXIgKm1kYXRhLAkvKiBQcm9iZSB3cmFwcGVyICovCi0JCXZvaWQgKmNhbGxfcHJpdmF0ZSwgY29uc3QgY2hhciAqZm10LCAuLi4pOworCQkJCS8qIFByb2JlIHdyYXBwZXIgKi8KKwl2b2lkICgqY2FsbCkoY29uc3Qgc3RydWN0IG1hcmtlciAqbWRhdGEsIHZvaWQgKmNhbGxfcHJpdmF0ZSwgLi4uKTsKIAlzdHJ1Y3QgbWFya2VyX3Byb2JlX2Nsb3N1cmUgc2luZ2xlOwogCXN0cnVjdCBtYXJrZXJfcHJvYmVfY2xvc3VyZSAqbXVsdGk7CiB9IF9fYXR0cmlidXRlX18oKGFsaWduZWQoOCkpKTsKQEAgLTU4LDggKzU4LDEyIEBACiAgKiBNYWtlIHN1cmUgdGhlIGFsaWdubWVudCBvZiB0aGUgc3RydWN0dXJlIGluIHRoZSBfX21hcmtlcnMgc2VjdGlvbiB3aWxsCiAgKiBub3QgYWRkIHVud2FudGVkIHBhZGRpbmcgYmV0d2VlbiB0aGUgYmVnaW5uaW5nIG9mIHRoZSBzZWN0aW9uIGFuZCB0aGUKICAqIHN0cnVjdHVyZS4gRm9yY2UgYWxpZ25tZW50IHRvIHRoZSBzYW1lIGFsaWdubWVudCBhcyB0aGUgc2VjdGlvbiBzdGFydC4KKyAqCisgKiBUaGUgImdlbmVyaWMiIGFyZ3VtZW50IGNvbnRyb2xzIHdoaWNoIG1hcmtlciBlbmFibGluZyBtZWNoYW5pc20gbXVzdCBiZSB1c2VkLgorICogSWYgZ2VuZXJpYyBpcyB0cnVlLCBhIHZhcmlhYmxlIHJlYWQgaXMgdXNlZC4KKyAqIElmIGdlbmVyaWMgaXMgZmFsc2UsIGltbWVkaWF0ZSB2YWx1ZXMgYXJlIHVzZWQuCiAgKi8KLSNkZWZpbmUgX190cmFjZV9tYXJrKG5hbWUsIGNhbGxfcHJpdmF0ZSwgZm9ybWF0LCBhcmdzLi4uKQkJXAorI2RlZmluZSBfX3RyYWNlX21hcmsoZ2VuZXJpYywgbmFtZSwgY2FsbF9wcml2YXRlLCBmb3JtYXQsIGFyZ3MuLi4pCVwKIAlkbyB7CQkJCQkJCQlcCiAJCXN0YXRpYyBjb25zdCBjaGFyIF9fbXN0cnRhYl8jI25hbWVbXQkJCVwKIAkJX19hdHRyaWJ1dGVfXygoc2VjdGlvbigiX19tYXJrZXJzX3N0cmluZ3MiKSkpCQlcCkBAIC03MiwxNSArNzYsMTQgQEAKIAkJX19tYXJrX2NoZWNrX2Zvcm1hdChmb3JtYXQsICMjIGFyZ3MpOwkJCVwKIAkJaWYgKHVubGlrZWx5KF9fbWFya18jI25hbWUuc3RhdGUpKSB7CQkJXAogCQkJKCpfX21hcmtfIyNuYW1lLmNhbGwpCQkJCVwKLQkJCQkoJl9fbWFya18jI25hbWUsIGNhbGxfcHJpdmF0ZSwJCVwKLQkJCQlmb3JtYXQsICMjIGFyZ3MpOwkJCVwKKwkJCQkoJl9fbWFya18jI25hbWUsIGNhbGxfcHJpdmF0ZSwgIyMgYXJncyk7XAogCQl9CQkJCQkJCVwKIAl9IHdoaWxlICgwKQogCiBleHRlcm4gdm9pZCBtYXJrZXJfdXBkYXRlX3Byb2JlX3JhbmdlKHN0cnVjdCBtYXJrZXIgKmJlZ2luLAogCXN0cnVjdCBtYXJrZXIgKmVuZCk7CiAjZWxzZSAvKiAhQ09ORklHX01BUktFUlMgKi8KLSNkZWZpbmUgX190cmFjZV9tYXJrKG5hbWUsIGNhbGxfcHJpdmF0ZSwgZm9ybWF0LCBhcmdzLi4uKSBcCisjZGVmaW5lIF9fdHJhY2VfbWFyayhnZW5lcmljLCBuYW1lLCBjYWxsX3ByaXZhdGUsIGZvcm1hdCwgYXJncy4uLikgXAogCQlfX21hcmtfY2hlY2tfZm9ybWF0KGZvcm1hdCwgIyMgYXJncykKIHN0YXRpYyBpbmxpbmUgdm9pZCBtYXJrZXJfdXBkYXRlX3Byb2JlX3JhbmdlKHN0cnVjdCBtYXJrZXIgKmJlZ2luLAogCXN0cnVjdCBtYXJrZXIgKmVuZCkKQEAgLTg4LDE1ICs5MSwzMCBAQAogI2VuZGlmIC8qIENPTkZJR19NQVJLRVJTICovCiAKIC8qKgotICogdHJhY2VfbWFyayAtIE1hcmtlcgorICogdHJhY2VfbWFyayAtIE1hcmtlciB1c2luZyBjb2RlIHBhdGNoaW5nCiAgKiBAbmFtZTogbWFya2VyIG5hbWUsIG5vdCBxdW90ZWQuCiAgKiBAZm9ybWF0OiBmb3JtYXQgc3RyaW5nCiAgKiBAYXJncy4uLjogdmFyaWFibGUgYXJndW1lbnQgbGlzdAogICoKLSAqIFBsYWNlcyBhIG1hcmtlci4KKyAqIFBsYWNlcyBhIG1hcmtlciB1c2luZyBvcHRpbWl6ZWQgY29kZSBwYXRjaGluZyB0ZWNobmlxdWUgKGltdl9yZWFkKCkpCisgKiB0byBiZSBlbmFibGVkIHdoZW4gaW1tZWRpYXRlIHZhbHVlcyBhcmUgcHJlc2VudC4KICAqLwogI2RlZmluZSB0cmFjZV9tYXJrKG5hbWUsIGZvcm1hdCwgYXJncy4uLikgXAotCV9fdHJhY2VfbWFyayhuYW1lLCBOVUxMLCBmb3JtYXQsICMjIGFyZ3MpCisJX190cmFjZV9tYXJrKDAsIG5hbWUsIE5VTEwsIGZvcm1hdCwgIyMgYXJncykKKworLyoqCisgKiBfdHJhY2VfbWFyayAtIE1hcmtlciB1c2luZyB2YXJpYWJsZSByZWFkCisgKiBAbmFtZTogbWFya2VyIG5hbWUsIG5vdCBxdW90ZWQuCisgKiBAZm9ybWF0OiBmb3JtYXQgc3RyaW5nCisgKiBAYXJncy4uLjogdmFyaWFibGUgYXJndW1lbnQgbGlzdAorICoKKyAqIFBsYWNlcyBhIG1hcmtlciB1c2luZyBhIHN0YW5kYXJkIG1lbW9yeSByZWFkIChfaW12X3JlYWQoKSkgdG8gYmUKKyAqIGVuYWJsZWQuIFNob3VsZCBiZSB1c2VkIGZvciBtYXJrZXJzIGluIGNvZGUgcGF0aHMgd2hlcmUgaW5zdHJ1Y3Rpb24KKyAqIG1vZGlmaWNhdGlvbiBiYXNlZCBlbmFibGluZyBpcyBub3Qgd2VsY29tZS4gKF9faW5pdCBhbmQgX19leGl0IGZ1bmN0aW9ucywKKyAqIGxvY2tkZXAsIHNvbWUgdHJhcHMsIHByaW50aykuCisgKi8KKyNkZWZpbmUgX3RyYWNlX21hcmsobmFtZSwgZm9ybWF0LCBhcmdzLi4uKSBcCisJX190cmFjZV9tYXJrKDEsIG5hbWUsIE5VTEwsIGZvcm1hdCwgIyMgYXJncykKIAogLyoqCiAgKiBNQVJLX05PQVJHUyAtIEZvcm1hdCBzdHJpbmcgZm9yIGEgbWFya2VyIHdpdGggbm8gYXJndW1lbnQuCkBAIC0xMTcsOSArMTM1LDkgQEAKIGV4dGVybiBtYXJrZXJfcHJvYmVfZnVuYyBfX21hcmtfZW1wdHlfZnVuY3Rpb247CiAKIGV4dGVybiB2b2lkIG1hcmtlcl9wcm9iZV9jYihjb25zdCBzdHJ1Y3QgbWFya2VyICptZGF0YSwKLQl2b2lkICpjYWxsX3ByaXZhdGUsIGNvbnN0IGNoYXIgKmZtdCwgLi4uKTsKKwl2b2lkICpjYWxsX3ByaXZhdGUsIC4uLik7CiBleHRlcm4gdm9pZCBtYXJrZXJfcHJvYmVfY2Jfbm9hcmcoY29uc3Qgc3RydWN0IG1hcmtlciAqbWRhdGEsCi0Jdm9pZCAqY2FsbF9wcml2YXRlLCBjb25zdCBjaGFyICpmbXQsIC4uLik7CisJdm9pZCAqY2FsbF9wcml2YXRlLCAuLi4pOwogCiAvKgogICogQ29ubmVjdCBhIHByb2JlIHRvIGEgbWFya2VyLgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9tbHg0L2RldmljZS5oIGIvaW5jbHVkZS9saW51eC9tbHg0L2RldmljZS5oCmluZGV4IGE3NDQzODMuLjgxYjNkZDUgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvbWx4NC9kZXZpY2UuaAorKysgYi9pbmNsdWRlL2xpbnV4L21seDQvZGV2aWNlLmgKQEAgLTM5OCw3ICszOTgsOCBAQAogaW50IG1seDRfSU5JVF9QT1JUKHN0cnVjdCBtbHg0X2RldiAqZGV2LCBpbnQgcG9ydCk7CiBpbnQgbWx4NF9DTE9TRV9QT1JUKHN0cnVjdCBtbHg0X2RldiAqZGV2LCBpbnQgcG9ydCk7CiAKLWludCBtbHg0X211bHRpY2FzdF9hdHRhY2goc3RydWN0IG1seDRfZGV2ICpkZXYsIHN0cnVjdCBtbHg0X3FwICpxcCwgdTggZ2lkWzE2XSk7CitpbnQgbWx4NF9tdWx0aWNhc3RfYXR0YWNoKHN0cnVjdCBtbHg0X2RldiAqZGV2LCBzdHJ1Y3QgbWx4NF9xcCAqcXAsIHU4IGdpZFsxNl0sCisJCQkgIGludCBibG9ja19tY2FzdF9sb29wYmFjayk7CiBpbnQgbWx4NF9tdWx0aWNhc3RfZGV0YWNoKHN0cnVjdCBtbHg0X2RldiAqZGV2LCBzdHJ1Y3QgbWx4NF9xcCAqcXAsIHU4IGdpZFsxNl0pOwogCiBpbnQgbWx4NF9tYXBfcGh5c19mbXIoc3RydWN0IG1seDRfZGV2ICpkZXYsIHN0cnVjdCBtbHg0X2ZtciAqZm1yLCB1NjQgKnBhZ2VfbGlzdCwKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvbW0uaCBiL2luY2x1ZGUvbGludXgvbW0uaAppbmRleCA1ODZhOTQzLi5jZjFjZDNhIDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L21tLmgKKysrIGIvaW5jbHVkZS9saW51eC9tbS5oCkBAIC05OTgsOCArOTk4LDggQEAKIGV4dGVybiB2b2lkIGZyZWVfYXJlYV9pbml0X25vZGVzKHVuc2lnbmVkIGxvbmcgKm1heF96b25lX3Bmbik7CiBleHRlcm4gdm9pZCBhZGRfYWN0aXZlX3JhbmdlKHVuc2lnbmVkIGludCBuaWQsIHVuc2lnbmVkIGxvbmcgc3RhcnRfcGZuLAogCQkJCQl1bnNpZ25lZCBsb25nIGVuZF9wZm4pOwotZXh0ZXJuIHZvaWQgc2hyaW5rX2FjdGl2ZV9yYW5nZSh1bnNpZ25lZCBpbnQgbmlkLCB1bnNpZ25lZCBsb25nIG9sZF9lbmRfcGZuLAotCQkJCQkJdW5zaWduZWQgbG9uZyBuZXdfZW5kX3Bmbik7CitleHRlcm4gdm9pZCByZW1vdmVfYWN0aXZlX3JhbmdlKHVuc2lnbmVkIGludCBuaWQsIHVuc2lnbmVkIGxvbmcgc3RhcnRfcGZuLAorCQkJCQl1bnNpZ25lZCBsb25nIGVuZF9wZm4pOwogZXh0ZXJuIHZvaWQgcHVzaF9ub2RlX2JvdW5kYXJpZXModW5zaWduZWQgaW50IG5pZCwgdW5zaWduZWQgbG9uZyBzdGFydF9wZm4sCiAJCQkJCXVuc2lnbmVkIGxvbmcgZW5kX3Bmbik7CiBleHRlcm4gdm9pZCByZW1vdmVfYWxsX2FjdGl2ZV9yYW5nZXModm9pZCk7CkBAIC0xMDExLDYgKzEwMTEsOCBAQAogZXh0ZXJuIHVuc2lnbmVkIGxvbmcgZmluZF9tYXhfcGZuX3dpdGhfYWN0aXZlX3JlZ2lvbnModm9pZCk7CiBleHRlcm4gdm9pZCBmcmVlX2Jvb3RtZW1fd2l0aF9hY3RpdmVfcmVnaW9ucyhpbnQgbmlkLAogCQkJCQkJdW5zaWduZWQgbG9uZyBtYXhfbG93X3Bmbik7Cit0eXBlZGVmIGludCAoKndvcmtfZm5fdCkodW5zaWduZWQgbG9uZywgdW5zaWduZWQgbG9uZywgdm9pZCAqKTsKK2V4dGVybiB2b2lkIHdvcmtfd2l0aF9hY3RpdmVfcmVnaW9ucyhpbnQgbmlkLCB3b3JrX2ZuX3Qgd29ya19mbiwgdm9pZCAqZGF0YSk7CiBleHRlcm4gdm9pZCBzcGFyc2VfbWVtb3J5X3ByZXNlbnRfd2l0aF9hY3RpdmVfcmVnaW9ucyhpbnQgbmlkKTsKICNpZm5kZWYgQ09ORklHX0hBVkVfQVJDSF9FQVJMWV9QRk5fVE9fTklECiBleHRlcm4gaW50IGVhcmx5X3Bmbl90b19uaWQodW5zaWduZWQgbG9uZyBwZm4pOwpAQCAtMTAyNCw2ICsxMDI2LDcgQEAKIGV4dGVybiB2b2lkIHNob3dfbWVtKHZvaWQpOwogZXh0ZXJuIHZvaWQgc2lfbWVtaW5mbyhzdHJ1Y3Qgc3lzaW5mbyAqIHZhbCk7CiBleHRlcm4gdm9pZCBzaV9tZW1pbmZvX25vZGUoc3RydWN0IHN5c2luZm8gKnZhbCwgaW50IG5pZCk7CitleHRlcm4gaW50IGFmdGVyX2Jvb3RtZW07CiAKICNpZmRlZiBDT05GSUdfTlVNQQogZXh0ZXJuIHZvaWQgc2V0dXBfcGVyX2NwdV9wYWdlc2V0KHZvaWQpOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9tbWlvdHJhY2UuaCBiL2luY2x1ZGUvbGludXgvbW1pb3RyYWNlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjFkMTllMQotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvbGludXgvbW1pb3RyYWNlLmgKQEAgLTAsMCArMSw4NSBAQAorI2lmbmRlZiBNTUlPVFJBQ0VfSAorI2RlZmluZSBNTUlPVFJBQ0VfSAorCisjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KKyNpbmNsdWRlIDxsaW51eC9saXN0Lmg+CisKK3N0cnVjdCBrbW1pb19wcm9iZTsKK3N0cnVjdCBwdF9yZWdzOworCit0eXBlZGVmIHZvaWQgKCprbW1pb19wcmVfaGFuZGxlcl90KShzdHJ1Y3Qga21taW9fcHJvYmUgKiwKKwkJCQlzdHJ1Y3QgcHRfcmVncyAqLCB1bnNpZ25lZCBsb25nIGFkZHIpOwordHlwZWRlZiB2b2lkICgqa21taW9fcG9zdF9oYW5kbGVyX3QpKHN0cnVjdCBrbW1pb19wcm9iZSAqLAorCQkJCXVuc2lnbmVkIGxvbmcgY29uZGl0aW9uLCBzdHJ1Y3QgcHRfcmVncyAqKTsKKworc3RydWN0IGttbWlvX3Byb2JlIHsKKwlzdHJ1Y3QgbGlzdF9oZWFkIGxpc3Q7IC8qIGttbWlvIGludGVybmFsIGxpc3QgKi8KKwl1bnNpZ25lZCBsb25nIGFkZHI7IC8qIHN0YXJ0IGxvY2F0aW9uIG9mIHRoZSBwcm9iZSBwb2ludCAqLworCXVuc2lnbmVkIGxvbmcgbGVuOyAvKiBsZW5ndGggb2YgdGhlIHByb2JlIHJlZ2lvbiAqLworCWttbWlvX3ByZV9oYW5kbGVyX3QgcHJlX2hhbmRsZXI7IC8qIENhbGxlZCBiZWZvcmUgYWRkciBpcyBleGVjdXRlZC4gKi8KKwlrbW1pb19wb3N0X2hhbmRsZXJfdCBwb3N0X2hhbmRsZXI7IC8qIENhbGxlZCBhZnRlciBhZGRyIGlzIGV4ZWN1dGVkICovCisJdm9pZCAqcHJpdmF0ZTsKK307CisKKy8qIGttbWlvIGlzIGFjdGl2ZSBieSBzb21lIGttbWlvX3Byb2Jlcz8gKi8KK3N0YXRpYyBpbmxpbmUgaW50IGlzX2ttbWlvX2FjdGl2ZSh2b2lkKQoreworCWV4dGVybiB1bnNpZ25lZCBpbnQga21taW9fY291bnQ7CisJcmV0dXJuIGttbWlvX2NvdW50OworfQorCitleHRlcm4gaW50IHJlZ2lzdGVyX2ttbWlvX3Byb2JlKHN0cnVjdCBrbW1pb19wcm9iZSAqcCk7CitleHRlcm4gdm9pZCB1bnJlZ2lzdGVyX2ttbWlvX3Byb2JlKHN0cnVjdCBrbW1pb19wcm9iZSAqcCk7CisKKy8qIENhbGxlZCBmcm9tIHBhZ2UgZmF1bHQgaGFuZGxlci4gKi8KK2V4dGVybiBpbnQga21taW9faGFuZGxlcihzdHJ1Y3QgcHRfcmVncyAqcmVncywgdW5zaWduZWQgbG9uZyBhZGRyKTsKKworLyogQ2FsbGVkIGZyb20gaW9yZW1hcC5jICovCisjaWZkZWYgQ09ORklHX01NSU9UUkFDRQorZXh0ZXJuIHZvaWQgbW1pb3RyYWNlX2lvcmVtYXAocmVzb3VyY2Vfc2l6ZV90IG9mZnNldCwgdW5zaWduZWQgbG9uZyBzaXplLAorCQkJCQkJCXZvaWQgX19pb21lbSAqYWRkcik7CitleHRlcm4gdm9pZCBtbWlvdHJhY2VfaW91bm1hcCh2b2xhdGlsZSB2b2lkIF9faW9tZW0gKmFkZHIpOworI2Vsc2UKK3N0YXRpYyBpbmxpbmUgdm9pZCBtbWlvdHJhY2VfaW9yZW1hcChyZXNvdXJjZV9zaXplX3Qgb2Zmc2V0LAorCQkJCQl1bnNpZ25lZCBsb25nIHNpemUsIHZvaWQgX19pb21lbSAqYWRkcikKK3sKK30KKworc3RhdGljIGlubGluZSB2b2lkIG1taW90cmFjZV9pb3VubWFwKHZvbGF0aWxlIHZvaWQgX19pb21lbSAqYWRkcikKK3sKK30KKyNlbmRpZiAvKiBDT05GSUdfTU1JT1RSQUNFX0hPT0tTICovCisKK2VudW0gbW1faW9fb3Bjb2RlIHsKKwlNTUlPX1JFQUQgPSAweDEsICAgICAvKiBzdHJ1Y3QgbW1pb3RyYWNlX3J3ICovCisJTU1JT19XUklURSA9IDB4MiwgICAgLyogc3RydWN0IG1taW90cmFjZV9ydyAqLworCU1NSU9fUFJPQkUgPSAweDMsICAgIC8qIHN0cnVjdCBtbWlvdHJhY2VfbWFwICovCisJTU1JT19VTlBST0JFID0gMHg0LCAgLyogc3RydWN0IG1taW90cmFjZV9tYXAgKi8KKwlNTUlPX01BUktFUiA9IDB4NSwgICAvKiByYXcgY2hhciBkYXRhICovCisJTU1JT19VTktOT1dOX09QID0gMHg2LCAvKiBzdHJ1Y3QgbW1pb3RyYWNlX3J3ICovCit9OworCitzdHJ1Y3QgbW1pb3RyYWNlX3J3IHsKKwlyZXNvdXJjZV9zaXplX3QgcGh5czsJLyogUENJIGFkZHJlc3Mgb2YgcmVnaXN0ZXIgKi8KKwl1bnNpZ25lZCBsb25nIHZhbHVlOworCXVuc2lnbmVkIGxvbmcgcGM7CS8qIG9wdGlvbmFsIHByb2dyYW0gY291bnRlciAqLworCWludCBtYXBfaWQ7CisJdW5zaWduZWQgY2hhciBvcGNvZGU7CS8qIG9uZSBvZiBNTUlPX3tSRUFELFdSSVRFLFVOS05PV05fT1B9ICovCisJdW5zaWduZWQgY2hhciB3aWR0aDsJLyogc2l6ZSBvZiByZWdpc3RlciBhY2Nlc3MgaW4gYnl0ZXMgKi8KK307CisKK3N0cnVjdCBtbWlvdHJhY2VfbWFwIHsKKwlyZXNvdXJjZV9zaXplX3QgcGh5czsJLyogYmFzZSBhZGRyZXNzIGluIFBDSSBzcGFjZSAqLworCXVuc2lnbmVkIGxvbmcgdmlydDsJLyogYmFzZSB2aXJ0dWFsIGFkZHJlc3MgKi8KKwl1bnNpZ25lZCBsb25nIGxlbjsJLyogbWFwcGluZyBzaXplICovCisJaW50IG1hcF9pZDsKKwl1bnNpZ25lZCBjaGFyIG9wY29kZTsJLyogTU1JT19QUk9CRSBvciBNTUlPX1VOUFJPQkUgKi8KK307CisKKy8qIGluIGtlcm5lbC90cmFjZS90cmFjZV9tbWlvdHJhY2UuYyAqLworZXh0ZXJuIHZvaWQgZW5hYmxlX21taW90cmFjZSh2b2lkKTsKK2V4dGVybiB2b2lkIGRpc2FibGVfbW1pb3RyYWNlKHZvaWQpOworZXh0ZXJuIHZvaWQgbW1pb190cmFjZV9ydyhzdHJ1Y3QgbW1pb3RyYWNlX3J3ICpydyk7CitleHRlcm4gdm9pZCBtbWlvX3RyYWNlX21hcHBpbmcoc3RydWN0IG1taW90cmFjZV9tYXAgKm1hcCk7CisKKyNlbmRpZiAvKiBNTUlPVFJBQ0VfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9tb2RfZGV2aWNldGFibGUuaCBiL2luY2x1ZGUvbGludXgvbW9kX2RldmljZXRhYmxlLmgKaW5kZXggNjliMjM0Mi4uYzRkYjU4MiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9tb2RfZGV2aWNldGFibGUuaAorKysgYi9pbmNsdWRlL2xpbnV4L21vZF9kZXZpY2V0YWJsZS5oCkBAIC0xNTksNiArMTU5LDE1IEBACiAKICNkZWZpbmUgQVBfREVWSUNFX0lEX01BVENIX0RFVklDRV9UWVBFCQkweDAxCiAKKy8qIHMzOTAgY3NzIGJ1cyBkZXZpY2VzIChzdWJjaGFubmVscykgKi8KK3N0cnVjdCBjc3NfZGV2aWNlX2lkIHsKKwlfX3U4IG1hdGNoX2ZsYWdzOworCV9fdTggdHlwZTsgLyogc3ViY2hhbm5lbCB0eXBlICovCisJX191MTYgcGFkMjsKKwlfX3UzMiBwYWQzOworCWtlcm5lbF91bG9uZ190IGRyaXZlcl9kYXRhOworfTsKKwogI2RlZmluZSBBQ1BJX0lEX0xFTgkxNiAvKiBvbmx5IDkgYnl0ZXMgbmVlZGVkIGhlcmUsIDE2IGJ5dGVzIGFyZSB1c2VkICovCiAJCQkgICAvKiB0byB3b3JrYXJvdW5kIGNyb3NzY29tcGlsZSBpc3N1ZXMgKi8KIApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9tcGFnZS5oIGIvaW5jbHVkZS9saW51eC9tcGFnZS5oCmluZGV4IDA2OGEwYzkuLjVjNDI4MjEgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvbXBhZ2UuaAorKysgYi9pbmNsdWRlL2xpbnV4L21wYWdlLmgKQEAgLTExLDExICsxMSwyMSBAQAogICovCiAjaWZkZWYgQ09ORklHX0JMT0NLCiAKK3N0cnVjdCBtcGFnZV9kYXRhIHsKKwlzdHJ1Y3QgYmlvICpiaW87CisJc2VjdG9yX3QgbGFzdF9ibG9ja19pbl9iaW87CisJZ2V0X2Jsb2NrX3QgKmdldF9ibG9jazsKKwl1bnNpZ25lZCB1c2Vfd3JpdGVwYWdlOworfTsKKwogc3RydWN0IHdyaXRlYmFja19jb250cm9sOwogCitzdHJ1Y3QgYmlvICptcGFnZV9iaW9fc3VibWl0KGludCBydywgc3RydWN0IGJpbyAqYmlvKTsKIGludCBtcGFnZV9yZWFkcGFnZXMoc3RydWN0IGFkZHJlc3Nfc3BhY2UgKm1hcHBpbmcsIHN0cnVjdCBsaXN0X2hlYWQgKnBhZ2VzLAogCQkJCXVuc2lnbmVkIG5yX3BhZ2VzLCBnZXRfYmxvY2tfdCBnZXRfYmxvY2spOwogaW50IG1wYWdlX3JlYWRwYWdlKHN0cnVjdCBwYWdlICpwYWdlLCBnZXRfYmxvY2tfdCBnZXRfYmxvY2spOworaW50IF9fbXBhZ2Vfd3JpdGVwYWdlKHN0cnVjdCBwYWdlICpwYWdlLCBzdHJ1Y3Qgd3JpdGViYWNrX2NvbnRyb2wgKndiYywKKwkJICAgICAgdm9pZCAqZGF0YSk7CiBpbnQgbXBhZ2Vfd3JpdGVwYWdlcyhzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZywKIAkJc3RydWN0IHdyaXRlYmFja19jb250cm9sICp3YmMsIGdldF9ibG9ja190IGdldF9ibG9jayk7CiBpbnQgbXBhZ2Vfd3JpdGVwYWdlKHN0cnVjdCBwYWdlICpwYWdlLCBnZXRfYmxvY2tfdCAqZ2V0X2Jsb2NrLApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9wYWdlLWZsYWdzLmggYi9pbmNsdWRlL2xpbnV4L3BhZ2UtZmxhZ3MuaAppbmRleCBmMzFkZWJmLi4wZDJhNGU3IDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L3BhZ2UtZmxhZ3MuaAorKysgYi9pbmNsdWRlL2xpbnV4L3BhZ2UtZmxhZ3MuaApAQCAtMTU3LDYgKzE1Nyw3IEBACiBfX1BBR0VGTEFHKFNsYWIsIHNsYWIpCiBQQUdFRkxBRyhDaGVja2VkLCBvd25lcl9wcml2XzEpCQkvKiBVc2VkIGJ5IHNvbWUgZmlsZXN5c3RlbXMgKi8KIFBBR0VGTEFHKFBpbm5lZCwgb3duZXJfcHJpdl8xKSBURVNUU0NGTEFHKFBpbm5lZCwgb3duZXJfcHJpdl8xKSAvKiBYZW4gKi8KK1BBR0VGTEFHKFNhdmVQaW5uZWQsIGRpcnR5KTsJCQkJCS8qIFhlbiAqLwogUEFHRUZMQUcoUmVzZXJ2ZWQsIHJlc2VydmVkKSBfX0NMRUFSUEFHRUZMQUcoUmVzZXJ2ZWQsIHJlc2VydmVkKQogUEFHRUZMQUcoUHJpdmF0ZSwgcHJpdmF0ZSkgX19DTEVBUlBBR0VGTEFHKFByaXZhdGUsIHByaXZhdGUpCiAJX19TRVRQQUdFRkxBRyhQcml2YXRlLCBwcml2YXRlKQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9wYWdlYmxvY2stZmxhZ3MuaCBiL2luY2x1ZGUvbGludXgvcGFnZWJsb2NrLWZsYWdzLmgKaW5kZXggZTg3NTkwNS4uZThjMDYxMiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9wYWdlYmxvY2stZmxhZ3MuaAorKysgYi9pbmNsdWRlL2xpbnV4L3BhZ2VibG9jay1mbGFncy5oCkBAIC0yNSwxMyArMjUsMTEgQEAKIAogI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CiAKLS8qIE1hY3JvIHRvIGFpZCB0aGUgZGVmaW5pdGlvbiBvZiByYW5nZXMgb2YgYml0cyAqLwotI2RlZmluZSBQQl9yYW5nZShuYW1lLCByZXF1aXJlZF9iaXRzKSBcCi0JbmFtZSwgbmFtZSAjIyBfZW5kID0gKG5hbWUgKyByZXF1aXJlZF9iaXRzKSAtIDEKLQogLyogQml0IGluZGljZXMgdGhhdCBhZmZlY3QgYSB3aG9sZSBibG9jayBvZiBwYWdlcyAqLwogZW51bSBwYWdlYmxvY2tfYml0cyB7Ci0JUEJfcmFuZ2UoUEJfbWlncmF0ZSwgMyksIC8qIDMgYml0cyByZXF1aXJlZCBmb3IgbWlncmF0ZSB0eXBlcyAqLworCVBCX21pZ3JhdGUsCisJUEJfbWlncmF0ZV9lbmQgPSBQQl9taWdyYXRlICsgMyAtIDEsCisJCQkvKiAzIGJpdHMgcmVxdWlyZWQgZm9yIG1pZ3JhdGUgdHlwZXMgKi8KIAlOUl9QQUdFQkxPQ0tfQklUUwogfTsKIApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9wZXJjcHVfY291bnRlci5oIGIvaW5jbHVkZS9saW51eC9wZXJjcHVfY291bnRlci5oCmluZGV4IDkwMDdjY2QuLjIwODM4ODggMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvcGVyY3B1X2NvdW50ZXIuaAorKysgYi9pbmNsdWRlL2xpbnV4L3BlcmNwdV9jb3VudGVyLmgKQEAgLTM1LDcgKzM1LDcgQEAKIHZvaWQgcGVyY3B1X2NvdW50ZXJfZGVzdHJveShzdHJ1Y3QgcGVyY3B1X2NvdW50ZXIgKmZiYyk7CiB2b2lkIHBlcmNwdV9jb3VudGVyX3NldChzdHJ1Y3QgcGVyY3B1X2NvdW50ZXIgKmZiYywgczY0IGFtb3VudCk7CiB2b2lkIF9fcGVyY3B1X2NvdW50ZXJfYWRkKHN0cnVjdCBwZXJjcHVfY291bnRlciAqZmJjLCBzNjQgYW1vdW50LCBzMzIgYmF0Y2gpOwotczY0IF9fcGVyY3B1X2NvdW50ZXJfc3VtKHN0cnVjdCBwZXJjcHVfY291bnRlciAqZmJjKTsKK3M2NCBfX3BlcmNwdV9jb3VudGVyX3N1bShzdHJ1Y3QgcGVyY3B1X2NvdW50ZXIgKmZiYywgaW50IHNldCk7CiAKIHN0YXRpYyBpbmxpbmUgdm9pZCBwZXJjcHVfY291bnRlcl9hZGQoc3RydWN0IHBlcmNwdV9jb3VudGVyICpmYmMsIHM2NCBhbW91bnQpCiB7CkBAIC00NCwxMyArNDQsMTkgQEAKIAogc3RhdGljIGlubGluZSBzNjQgcGVyY3B1X2NvdW50ZXJfc3VtX3Bvc2l0aXZlKHN0cnVjdCBwZXJjcHVfY291bnRlciAqZmJjKQogewotCXM2NCByZXQgPSBfX3BlcmNwdV9jb3VudGVyX3N1bShmYmMpOworCXM2NCByZXQgPSBfX3BlcmNwdV9jb3VudGVyX3N1bShmYmMsIDApOwogCXJldHVybiByZXQgPCAwID8gMCA6IHJldDsKIH0KIAorc3RhdGljIGlubGluZSBzNjQgcGVyY3B1X2NvdW50ZXJfc3VtX2FuZF9zZXQoc3RydWN0IHBlcmNwdV9jb3VudGVyICpmYmMpCit7CisJcmV0dXJuIF9fcGVyY3B1X2NvdW50ZXJfc3VtKGZiYywgMSk7Cit9CisKKwogc3RhdGljIGlubGluZSBzNjQgcGVyY3B1X2NvdW50ZXJfc3VtKHN0cnVjdCBwZXJjcHVfY291bnRlciAqZmJjKQogewotCXJldHVybiBfX3BlcmNwdV9jb3VudGVyX3N1bShmYmMpOworCXJldHVybiBfX3BlcmNwdV9jb3VudGVyX3N1bShmYmMsIDApOwogfQogCiBzdGF0aWMgaW5saW5lIHM2NCBwZXJjcHVfY291bnRlcl9yZWFkKHN0cnVjdCBwZXJjcHVfY291bnRlciAqZmJjKQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9wcmVlbXB0LmggYi9pbmNsdWRlL2xpbnV4L3ByZWVtcHQuaAppbmRleCAyM2YwYzU0Li43MmIxYTEwIDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L3ByZWVtcHQuaAorKysgYi9pbmNsdWRlL2xpbnV4L3ByZWVtcHQuaApAQCAtMTAsNyArMTAsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2xpbmthZ2UuaD4KICNpbmNsdWRlIDxsaW51eC9saXN0Lmg+CiAKLSNpZmRlZiBDT05GSUdfREVCVUdfUFJFRU1QVAorI2lmIGRlZmluZWQoQ09ORklHX0RFQlVHX1BSRUVNUFQpIHx8IGRlZmluZWQoQ09ORklHX1BSRUVNUFRfVFJBQ0VSKQogICBleHRlcm4gdm9pZCBhZGRfcHJlZW1wdF9jb3VudChpbnQgdmFsKTsKICAgZXh0ZXJuIHZvaWQgc3ViX3ByZWVtcHRfY291bnQoaW50IHZhbCk7CiAjZWxzZQpAQCAtNTIsNiArNTIsMzQgQEAKIAlwcmVlbXB0X2NoZWNrX3Jlc2NoZWQoKTsgXAogfSB3aGlsZSAoMCkKIAorLyogRm9yIGRlYnVnZ2luZyBhbmQgdHJhY2VyIGludGVybmFscyBvbmx5ISAqLworI2RlZmluZSBhZGRfcHJlZW1wdF9jb3VudF9ub3RyYWNlKHZhbCkJCQlcCisJZG8geyBwcmVlbXB0X2NvdW50KCkgKz0gKHZhbCk7IH0gd2hpbGUgKDApCisjZGVmaW5lIHN1Yl9wcmVlbXB0X2NvdW50X25vdHJhY2UodmFsKQkJCVwKKwlkbyB7IHByZWVtcHRfY291bnQoKSAtPSAodmFsKTsgfSB3aGlsZSAoMCkKKyNkZWZpbmUgaW5jX3ByZWVtcHRfY291bnRfbm90cmFjZSgpIGFkZF9wcmVlbXB0X2NvdW50X25vdHJhY2UoMSkKKyNkZWZpbmUgZGVjX3ByZWVtcHRfY291bnRfbm90cmFjZSgpIHN1Yl9wcmVlbXB0X2NvdW50X25vdHJhY2UoMSkKKworI2RlZmluZSBwcmVlbXB0X2Rpc2FibGVfbm90cmFjZSgpIFwKK2RvIHsgXAorCWluY19wcmVlbXB0X2NvdW50X25vdHJhY2UoKTsgXAorCWJhcnJpZXIoKTsgXAorfSB3aGlsZSAoMCkKKworI2RlZmluZSBwcmVlbXB0X2VuYWJsZV9ub19yZXNjaGVkX25vdHJhY2UoKSBcCitkbyB7IFwKKwliYXJyaWVyKCk7IFwKKwlkZWNfcHJlZW1wdF9jb3VudF9ub3RyYWNlKCk7IFwKK30gd2hpbGUgKDApCisKKy8qIHByZWVtcHRfY2hlY2tfcmVzY2hlZCBpcyBPSyB0byB0cmFjZSAqLworI2RlZmluZSBwcmVlbXB0X2VuYWJsZV9ub3RyYWNlKCkgXAorZG8geyBcCisJcHJlZW1wdF9lbmFibGVfbm9fcmVzY2hlZF9ub3RyYWNlKCk7IFwKKwliYXJyaWVyKCk7IFwKKwlwcmVlbXB0X2NoZWNrX3Jlc2NoZWQoKTsgXAorfSB3aGlsZSAoMCkKKwogI2Vsc2UKIAogI2RlZmluZSBwcmVlbXB0X2Rpc2FibGUoKQkJZG8geyB9IHdoaWxlICgwKQpAQCAtNTksNiArODcsMTAgQEAKICNkZWZpbmUgcHJlZW1wdF9lbmFibGUoKQkJZG8geyB9IHdoaWxlICgwKQogI2RlZmluZSBwcmVlbXB0X2NoZWNrX3Jlc2NoZWQoKQkJZG8geyB9IHdoaWxlICgwKQogCisjZGVmaW5lIHByZWVtcHRfZGlzYWJsZV9ub3RyYWNlKCkJCWRvIHsgfSB3aGlsZSAoMCkKKyNkZWZpbmUgcHJlZW1wdF9lbmFibGVfbm9fcmVzY2hlZF9ub3RyYWNlKCkJZG8geyB9IHdoaWxlICgwKQorI2RlZmluZSBwcmVlbXB0X2VuYWJsZV9ub3RyYWNlKCkJCWRvIHsgfSB3aGlsZSAoMCkKKwogI2VuZGlmCiAKICNpZmRlZiBDT05GSUdfUFJFRU1QVF9OT1RJRklFUlMKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvcHRyYWNlLmggYi9pbmNsdWRlL2xpbnV4L3B0cmFjZS5oCmluZGV4IGY5ODUwMWIuLmM2ZjVmOWQgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvcHRyYWNlLmgKKysrIGIvaW5jbHVkZS9saW51eC9wdHJhY2UuaApAQCAtOTUsOCArOTUsMTIgQEAKIAkJCSAgc3RydWN0IHRhc2tfc3RydWN0ICpuZXdfcGFyZW50KTsKIGV4dGVybiB2b2lkIF9fcHRyYWNlX3VubGluayhzdHJ1Y3QgdGFza19zdHJ1Y3QgKmNoaWxkKTsKIGV4dGVybiB2b2lkIHB0cmFjZV91bnRyYWNlKHN0cnVjdCB0YXNrX3N0cnVjdCAqY2hpbGQpOwotZXh0ZXJuIGludCBwdHJhY2VfbWF5X2F0dGFjaChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRhc2spOwotZXh0ZXJuIGludCBfX3B0cmFjZV9tYXlfYXR0YWNoKHN0cnVjdCB0YXNrX3N0cnVjdCAqdGFzayk7CisjZGVmaW5lIFBUUkFDRV9NT0RFX1JFQUQgICAxCisjZGVmaW5lIFBUUkFDRV9NT0RFX0FUVEFDSCAyCisvKiBSZXR1cm5zIDAgb24gc3VjY2VzcywgLWVycm5vIG9uIGRlbmlhbC4gKi8KK2V4dGVybiBpbnQgX19wdHJhY2VfbWF5X2FjY2VzcyhzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRhc2ssIHVuc2lnbmVkIGludCBtb2RlKTsKKy8qIFJldHVybnMgdHJ1ZSBvbiBzdWNjZXNzLCBmYWxzZSBvbiBkZW5pYWwuICovCitleHRlcm4gYm9vbCBwdHJhY2VfbWF5X2FjY2VzcyhzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRhc2ssIHVuc2lnbmVkIGludCBtb2RlKTsKIAogc3RhdGljIGlubGluZSBpbnQgcHRyYWNlX3JlcGFyZW50ZWQoc3RydWN0IHRhc2tfc3RydWN0ICpjaGlsZCkKIHsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvcHdtLmggYi9pbmNsdWRlL2xpbnV4L3B3bS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM5NDVmODAKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2xpbnV4L3B3bS5oCkBAIC0wLDAgKzEsMzEgQEAKKyNpZm5kZWYgX19MSU5VWF9QV01fSAorI2RlZmluZSBfX0xJTlVYX1BXTV9ICisKK3N0cnVjdCBwd21fZGV2aWNlOworCisvKgorICogcHdtX3JlcXVlc3QgLSByZXF1ZXN0IGEgUFdNIGRldmljZQorICovCitzdHJ1Y3QgcHdtX2RldmljZSAqcHdtX3JlcXVlc3QoaW50IHB3bV9pZCwgY29uc3QgY2hhciAqbGFiZWwpOworCisvKgorICogcHdtX2ZyZWUgLSBmcmVlIGEgUFdNIGRldmljZQorICovCit2b2lkIHB3bV9mcmVlKHN0cnVjdCBwd21fZGV2aWNlICpwd20pOworCisvKgorICogcHdtX2NvbmZpZyAtIGNoYW5nZSBhIFBXTSBkZXZpY2UgY29uZmlndXJhdGlvbgorICovCitpbnQgcHdtX2NvbmZpZyhzdHJ1Y3QgcHdtX2RldmljZSAqcHdtLCBpbnQgZHV0eV9ucywgaW50IHBlcmlvZF9ucyk7CisKKy8qCisgKiBwd21fZW5hYmxlIC0gc3RhcnQgYSBQV00gb3V0cHV0IHRvZ2dsaW5nCisgKi8KK2ludCBwd21fZW5hYmxlKHN0cnVjdCBwd21fZGV2aWNlICpwd20pOworCisvKgorICogcHdtX2Rpc2FibGUgLSBzdG9wIGEgUFdNIG91dHB1dCB0b2dnbGluZworICovCit2b2lkIHB3bV9kaXNhYmxlKHN0cnVjdCBwd21fZGV2aWNlICpwd20pOworCisjZW5kaWYgLyogX19BU01fQVJDSF9QV01fSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9wd21fYmFja2xpZ2h0LmggYi9pbmNsdWRlL2xpbnV4L3B3bV9iYWNrbGlnaHQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YTk3NTRjCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9saW51eC9wd21fYmFja2xpZ2h0LmgKQEAgLTAsMCArMSwxNyBAQAorLyoKKyAqIEdlbmVyaWMgUFdNIGJhY2tsaWdodCBkcml2ZXIgZGF0YSAtIHNlZSBkcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9wd21fYmwuYworICovCisjaWZuZGVmIF9fTElOVVhfUFdNX0JBQ0tMSUdIVF9ICisjZGVmaW5lIF9fTElOVVhfUFdNX0JBQ0tMSUdIVF9ICisKK3N0cnVjdCBwbGF0Zm9ybV9wd21fYmFja2xpZ2h0X2RhdGEgeworCWludCBwd21faWQ7CisJdW5zaWduZWQgaW50IG1heF9icmlnaHRuZXNzOworCXVuc2lnbmVkIGludCBkZnRfYnJpZ2h0bmVzczsKKwl1bnNpZ25lZCBpbnQgcHdtX3BlcmlvZF9uczsKKwlpbnQgKCppbml0KShzdHJ1Y3QgZGV2aWNlICpkZXYpOworCWludCAoKm5vdGlmeSkoaW50IGJyaWdodG5lc3MpOworCXZvaWQgKCpleGl0KShzdHJ1Y3QgZGV2aWNlICpkZXYpOworfTsKKworI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L3Jlc3VtZS10cmFjZS5oIGIvaW5jbHVkZS9saW51eC9yZXN1bWUtdHJhY2UuaAppbmRleCBmM2Y0ZjI4Li5jOWJhMmZkIDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L3Jlc3VtZS10cmFjZS5oCisrKyBiL2luY2x1ZGUvbGludXgvcmVzdW1lLXRyYWNlLmgKQEAgLTgsNyArOCw3IEBACiAKIHN0cnVjdCBkZXZpY2U7CiBleHRlcm4gdm9pZCBzZXRfdHJhY2VfZGV2aWNlKHN0cnVjdCBkZXZpY2UgKik7Ci1leHRlcm4gdm9pZCBnZW5lcmF0ZV9yZXN1bWVfdHJhY2Uodm9pZCAqdHJhY2VkYXRhLCB1bnNpZ25lZCBpbnQgdXNlcik7CitleHRlcm4gdm9pZCBnZW5lcmF0ZV9yZXN1bWVfdHJhY2UoY29uc3Qgdm9pZCAqdHJhY2VkYXRhLCB1bnNpZ25lZCBpbnQgdXNlcik7CiAKICNkZWZpbmUgVFJBQ0VfREVWSUNFKGRldikgZG8geyBcCiAJaWYgKHBtX3RyYWNlX2VuYWJsZWQpIFwKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvc2NoZWQuaCBiL2luY2x1ZGUvbGludXgvc2NoZWQuaAppbmRleCBjNWQzZjg0Li4yMTM0OTE3IDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L3NjaGVkLmgKKysrIGIvaW5jbHVkZS9saW51eC9zY2hlZC5oCkBAIC0xMzQsNyArMTM0LDYgQEAKIGV4dGVybiB1bnNpZ25lZCBsb25nIG5yX3VuaW50ZXJydXB0aWJsZSh2b2lkKTsKIGV4dGVybiB1bnNpZ25lZCBsb25nIG5yX2FjdGl2ZSh2b2lkKTsKIGV4dGVybiB1bnNpZ25lZCBsb25nIG5yX2lvd2FpdCh2b2lkKTsKLWV4dGVybiB1bnNpZ25lZCBsb25nIHdlaWdodGVkX2NwdWxvYWQoY29uc3QgaW50IGNwdSk7CiAKIHN0cnVjdCBzZXFfZmlsZTsKIHN0cnVjdCBjZnNfcnE7CkBAIC0yNDYsNiArMjQ1LDggQEAKIGV4dGVybiB2b2lkIGluaXRfaWRsZShzdHJ1Y3QgdGFza19zdHJ1Y3QgKmlkbGUsIGludCBjcHUpOwogZXh0ZXJuIHZvaWQgaW5pdF9pZGxlX2Jvb3R1cF90YXNrKHN0cnVjdCB0YXNrX3N0cnVjdCAqaWRsZSk7CiAKK2V4dGVybiBpbnQgcnVucXVldWVfaXNfbG9ja2VkKHZvaWQpOworCiBleHRlcm4gY3B1bWFza190IG5vaHpfY3B1X21hc2s7CiAjaWYgZGVmaW5lZChDT05GSUdfU01QKSAmJiBkZWZpbmVkKENPTkZJR19OT19IWikKIGV4dGVybiBpbnQgc2VsZWN0X25vaHpfbG9hZF9iYWxhbmNlcihpbnQgY3B1KTsKQEAgLTc4NCw2ICs3ODUsOCBAQAogCXVuc2lnbmVkIGludCBiYWxhbmNlX2ludGVydmFsOwkvKiBpbml0aWFsaXNlIHRvIDEuIHVuaXRzIGluIG1zLiAqLwogCXVuc2lnbmVkIGludCBucl9iYWxhbmNlX2ZhaWxlZDsgLyogaW5pdGlhbGlzZSB0byAwICovCiAKKwl1NjQgbGFzdF91cGRhdGU7CisKICNpZmRlZiBDT05GSUdfU0NIRURTVEFUUwogCS8qIGxvYWRfYmFsYW5jZSgpIHN0YXRzICovCiAJdW5zaWduZWQgaW50IGxiX2NvdW50W0NQVV9NQVhfSURMRV9UWVBFU107CkBAIC04MjMsMjMgKzgyNiw2IEBACiAKICNlbmRpZgkvKiBDT05GSUdfU01QICovCiAKLS8qCi0gKiBBIHJ1bnF1ZXVlIGxhZGVuIHdpdGggYSBzaW5nbGUgbmljZSAwIHRhc2sgc2NvcmVzIGEgd2VpZ2h0ZWRfY3B1bG9hZCBvZgotICogU0NIRURfTE9BRF9TQ0FMRS4gVGhpcyBmdW5jdGlvbiByZXR1cm5zIDEgaWYgYW55IGNwdSBpcyBsYWRlbiB3aXRoIGEKLSAqIHRhc2sgb2YgbmljZSAwIG9yIGVub3VnaCBsb3dlciBwcmlvcml0eSB0YXNrcyB0byBicmluZyB1cCB0aGUKLSAqIHdlaWdodGVkX2NwdWxvYWQKLSAqLwotc3RhdGljIGlubGluZSBpbnQgYWJvdmVfYmFja2dyb3VuZF9sb2FkKHZvaWQpCi17Ci0JdW5zaWduZWQgbG9uZyBjcHU7Ci0KLQlmb3JfZWFjaF9vbmxpbmVfY3B1KGNwdSkgewotCQlpZiAod2VpZ2h0ZWRfY3B1bG9hZChjcHUpID49IFNDSEVEX0xPQURfU0NBTEUpCi0JCQlyZXR1cm4gMTsKLQl9Ci0JcmV0dXJuIDA7Ci19Ci0KIHN0cnVjdCBpb19jb250ZXh0OwkJCS8qIFNlZSBibGtkZXYuaCAqLwogI2RlZmluZSBOR1JPVVBTX1NNQUxMCQkzMgogI2RlZmluZSBOR1JPVVBTX1BFUl9CTE9DSwkoKHVuc2lnbmVkIGludCkoUEFHRV9TSVpFIC8gc2l6ZW9mKGdpZF90KSkpCkBAIC05MjEsOCArOTA3LDggQEAKIAl2b2lkICgqc2V0X2NwdXNfYWxsb3dlZCkoc3RydWN0IHRhc2tfc3RydWN0ICpwLAogCQkJCSBjb25zdCBjcHVtYXNrX3QgKm5ld21hc2spOwogCi0Jdm9pZCAoKmpvaW5fZG9tYWluKShzdHJ1Y3QgcnEgKnJxKTsKLQl2b2lkICgqbGVhdmVfZG9tYWluKShzdHJ1Y3QgcnEgKnJxKTsKKwl2b2lkICgqcnFfb25saW5lKShzdHJ1Y3QgcnEgKnJxKTsKKwl2b2lkICgqcnFfb2ZmbGluZSkoc3RydWN0IHJxICpycSk7CiAKIAl2b2lkICgqc3dpdGNoZWRfZnJvbSkgKHN0cnVjdCBycSAqdGhpc19ycSwgc3RydWN0IHRhc2tfc3RydWN0ICp0YXNrLAogCQkJICAgICAgIGludCBydW5uaW5nKTsKQEAgLTEwMzksNiArMTAyNSw3IEBACiAjZW5kaWYKIAogCWludCBwcmlvLCBzdGF0aWNfcHJpbywgbm9ybWFsX3ByaW87CisJdW5zaWduZWQgaW50IHJ0X3ByaW9yaXR5OwogCWNvbnN0IHN0cnVjdCBzY2hlZF9jbGFzcyAqc2NoZWRfY2xhc3M7CiAJc3RydWN0IHNjaGVkX2VudGl0eSBzZTsKIAlzdHJ1Y3Qgc2NoZWRfcnRfZW50aXR5IHJ0OwpAQCAtMTEyMiw3ICsxMTA5LDYgQEAKIAlpbnQgX191c2VyICpzZXRfY2hpbGRfdGlkOwkJLyogQ0xPTkVfQ0hJTERfU0VUVElEICovCiAJaW50IF9fdXNlciAqY2xlYXJfY2hpbGRfdGlkOwkJLyogQ0xPTkVfQ0hJTERfQ0xFQVJUSUQgKi8KIAotCXVuc2lnbmVkIGludCBydF9wcmlvcml0eTsKIAljcHV0aW1lX3QgdXRpbWUsIHN0aW1lLCB1dGltZXNjYWxlZCwgc3RpbWVzY2FsZWQ7CiAJY3B1dGltZV90IGd0aW1lOwogCWNwdXRpbWVfdCBwcmV2X3V0aW1lLCBwcmV2X3N0aW1lOwpAQCAtMTE0MSwxMiArMTEyNywxMiBAQAogCWdpZF90IGdpZCxlZ2lkLHNnaWQsZnNnaWQ7CiAJc3RydWN0IGdyb3VwX2luZm8gKmdyb3VwX2luZm87CiAJa2VybmVsX2NhcF90ICAgY2FwX2VmZmVjdGl2ZSwgY2FwX2luaGVyaXRhYmxlLCBjYXBfcGVybWl0dGVkLCBjYXBfYnNldDsKLQl1bnNpZ25lZCBzZWN1cmViaXRzOwogCXN0cnVjdCB1c2VyX3N0cnVjdCAqdXNlcjsKKwl1bnNpZ25lZCBzZWN1cmViaXRzOwogI2lmZGVmIENPTkZJR19LRVlTCisJdW5zaWduZWQgY2hhciBqaXRfa2V5cmluZzsJLyogZGVmYXVsdCBrZXlyaW5nIHRvIGF0dGFjaCByZXF1ZXN0ZWQga2V5cyB0byAqLwogCXN0cnVjdCBrZXkgKnJlcXVlc3Rfa2V5X2F1dGg7CS8qIGFzc3VtZWQgcmVxdWVzdF9rZXkgYXV0aG9yaXR5ICovCiAJc3RydWN0IGtleSAqdGhyZWFkX2tleXJpbmc7CS8qIGtleXJpbmcgcHJpdmF0ZSB0byB0aGlzIHRocmVhZCAqLwotCXVuc2lnbmVkIGNoYXIgaml0X2tleXJpbmc7CS8qIGRlZmF1bHQga2V5cmluZyB0byBhdHRhY2ggcmVxdWVzdGVkIGtleXMgdG8gKi8KICNlbmRpZgogCWNoYXIgY29tbVtUQVNLX0NPTU1fTEVOXTsgLyogZXhlY3V0YWJsZSBuYW1lIGV4Y2x1ZGluZyBwYXRoCiAJCQkJICAgICAtIGFjY2VzcyB3aXRoIFtnc11ldF90YXNrX2NvbW0gKHdoaWNoIGxvY2sKQEAgLTEyMzMsOCArMTIxOSw4IEBACiAjIGRlZmluZSBNQVhfTE9DS19ERVBUSCA0OFVMCiAJdTY0IGN1cnJfY2hhaW5fa2V5OwogCWludCBsb2NrZGVwX2RlcHRoOwotCXN0cnVjdCBoZWxkX2xvY2sgaGVsZF9sb2Nrc1tNQVhfTE9DS19ERVBUSF07CiAJdW5zaWduZWQgaW50IGxvY2tkZXBfcmVjdXJzaW9uOworCXN0cnVjdCBoZWxkX2xvY2sgaGVsZF9sb2Nrc1tNQVhfTE9DS19ERVBUSF07CiAjZW5kaWYKIAogLyogam91cm5hbGxpbmcgZmlsZXN5c3RlbSBpbmZvICovCkBAIC0xMjYyLDEwICsxMjQ4LDYgQEAKIAl1NjQgYWNjdF92bV9tZW0xOwkvKiBhY2N1bXVsYXRlZCB2aXJ0dWFsIG1lbW9yeSB1c2FnZSAqLwogCWNwdXRpbWVfdCBhY2N0X3N0aW1leHBkOy8qIHN0aW1lIHNpbmNlIGxhc3QgdXBkYXRlICovCiAjZW5kaWYKLSNpZmRlZiBDT05GSUdfTlVNQQotICAJc3RydWN0IG1lbXBvbGljeSAqbWVtcG9saWN5OwotCXNob3J0IGlsX25leHQ7Ci0jZW5kaWYKICNpZmRlZiBDT05GSUdfQ1BVU0VUUwogCW5vZGVtYXNrX3QgbWVtc19hbGxvd2VkOwogCWludCBjcHVzZXRfbWVtc19nZW5lcmF0aW9uOwpAQCAtMTI4NSw2ICsxMjY3LDEwIEBACiAJc3RydWN0IGxpc3RfaGVhZCBwaV9zdGF0ZV9saXN0OwogCXN0cnVjdCBmdXRleF9waV9zdGF0ZSAqcGlfc3RhdGVfY2FjaGU7CiAjZW5kaWYKKyNpZmRlZiBDT05GSUdfTlVNQQorCXN0cnVjdCBtZW1wb2xpY3kgKm1lbXBvbGljeTsKKwlzaG9ydCBpbF9uZXh0OworI2VuZGlmCiAJYXRvbWljX3QgZnNfZXhjbDsJLyogaG9sZGluZyBmcyBleGNsdXNpdmUgcmVzb3VyY2VzICovCiAJc3RydWN0IHJjdV9oZWFkIHJjdTsKIApAQCAtMTUwNCw2ICsxNDkwLDcgQEAKICNkZWZpbmUgUEZfU1dBUFdSSVRFCTB4MDA4MDAwMDAJLyogQWxsb3dlZCB0byB3cml0ZSB0byBzd2FwICovCiAjZGVmaW5lIFBGX1NQUkVBRF9QQUdFCTB4MDEwMDAwMDAJLyogU3ByZWFkIHBhZ2UgY2FjaGUgb3ZlciBjcHVzZXQgKi8KICNkZWZpbmUgUEZfU1BSRUFEX1NMQUIJMHgwMjAwMDAwMAkvKiBTcHJlYWQgc29tZSBzbGFiIGNhY2hlcyBvdmVyIGNwdXNldCAqLworI2RlZmluZSBQRl9USFJFQURfQk9VTkQJMHgwNDAwMDAwMAkvKiBUaHJlYWQgYm91bmQgdG8gc3BlY2lmaWMgY3B1ICovCiAjZGVmaW5lIFBGX01FTVBPTElDWQkweDEwMDAwMDAwCS8qIE5vbi1kZWZhdWx0IE5VTUEgbWVtcG9saWN5ICovCiAjZGVmaW5lIFBGX01VVEVYX1RFU1RFUgkweDIwMDAwMDAwCS8qIFRocmVhZCBiZWxvbmdzIHRvIHRoZSBydCBtdXRleCB0ZXN0ZXIgKi8KICNkZWZpbmUgUEZfRlJFRVpFUl9TS0lQCTB4NDAwMDAwMDAJLyogRnJlZXplciBzaG91bGQgbm90IGNvdW50IGl0IGFzIGZyZWV6ZWFibGUgKi8KQEAgLTE1NzMsMTMgKzE1NjAsMjggQEAKIHN0YXRpYyBpbmxpbmUgdm9pZCBzY2hlZF9jbG9ja19pZGxlX3dha2V1cF9ldmVudCh1NjQgZGVsdGFfbnMpCiB7CiB9Ci0jZWxzZQorCisjaWZkZWYgQ09ORklHX05PX0haCitzdGF0aWMgaW5saW5lIHZvaWQgc2NoZWRfY2xvY2tfdGlja19zdG9wKGludCBjcHUpCit7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBzY2hlZF9jbG9ja190aWNrX3N0YXJ0KGludCBjcHUpCit7Cit9CisjZW5kaWYKKworI2Vsc2UgLyogQ09ORklHX0hBVkVfVU5TVEFCTEVfU0NIRURfQ0xPQ0sgKi8KIGV4dGVybiB2b2lkIHNjaGVkX2Nsb2NrX2luaXQodm9pZCk7CiBleHRlcm4gdTY0IHNjaGVkX2Nsb2NrX2NwdShpbnQgY3B1KTsKIGV4dGVybiB2b2lkIHNjaGVkX2Nsb2NrX3RpY2sodm9pZCk7CiBleHRlcm4gdm9pZCBzY2hlZF9jbG9ja19pZGxlX3NsZWVwX2V2ZW50KHZvaWQpOwogZXh0ZXJuIHZvaWQgc2NoZWRfY2xvY2tfaWRsZV93YWtldXBfZXZlbnQodTY0IGRlbHRhX25zKTsKKyNpZmRlZiBDT05GSUdfTk9fSFoKK2V4dGVybiB2b2lkIHNjaGVkX2Nsb2NrX3RpY2tfc3RvcChpbnQgY3B1KTsKK2V4dGVybiB2b2lkIHNjaGVkX2Nsb2NrX3RpY2tfc3RhcnQoaW50IGNwdSk7CiAjZW5kaWYKKyNlbmRpZiAvKiBDT05GSUdfSEFWRV9VTlNUQUJMRV9TQ0hFRF9DTE9DSyAqLwogCiAvKgogICogRm9yIGtlcm5lbC1pbnRlcm5hbCB1c2U6IGhpZ2gtc3BlZWQgKGJ1dCBzbGlnaHRseSBpbmNvcnJlY3QpIHBlci1jcHUKQEAgLTE2MjIsNiArMTYyNCw3IEBACiBleHRlcm4gdW5zaWduZWQgaW50IHN5c2N0bF9zY2hlZF9mZWF0dXJlczsKIGV4dGVybiB1bnNpZ25lZCBpbnQgc3lzY3RsX3NjaGVkX21pZ3JhdGlvbl9jb3N0OwogZXh0ZXJuIHVuc2lnbmVkIGludCBzeXNjdGxfc2NoZWRfbnJfbWlncmF0ZTsKK2V4dGVybiB1bnNpZ25lZCBpbnQgc3lzY3RsX3NjaGVkX3NoYXJlc19yYXRlbGltaXQ7CiAKIGludCBzY2hlZF9ucl9sYXRlbmN5X2hhbmRsZXIoc3RydWN0IGN0bF90YWJsZSAqdGFibGUsIGludCB3cml0ZSwKIAkJc3RydWN0IGZpbGUgKmZpbGUsIHZvaWQgX191c2VyICpidWZmZXIsIHNpemVfdCAqbGVuZ3RoLApAQCAtMTY1NSw2ICsxNjU4LDggQEAKIGV4dGVybiBpbnQgdGFza19jdXJyKGNvbnN0IHN0cnVjdCB0YXNrX3N0cnVjdCAqcCk7CiBleHRlcm4gaW50IGlkbGVfY3B1KGludCBjcHUpOwogZXh0ZXJuIGludCBzY2hlZF9zZXRzY2hlZHVsZXIoc3RydWN0IHRhc2tfc3RydWN0ICosIGludCwgc3RydWN0IHNjaGVkX3BhcmFtICopOworZXh0ZXJuIGludCBzY2hlZF9zZXRzY2hlZHVsZXJfbm9jaGVjayhzdHJ1Y3QgdGFza19zdHJ1Y3QgKiwgaW50LAorCQkJCSAgICAgIHN0cnVjdCBzY2hlZF9wYXJhbSAqKTsKIGV4dGVybiBzdHJ1Y3QgdGFza19zdHJ1Y3QgKmlkbGVfdGFzayhpbnQgY3B1KTsKIGV4dGVybiBzdHJ1Y3QgdGFza19zdHJ1Y3QgKmN1cnJfdGFzayhpbnQgY3B1KTsKIGV4dGVybiB2b2lkIHNldF9jdXJyX3Rhc2soaW50IGNwdSwgc3RydWN0IHRhc2tfc3RydWN0ICpwKTsKQEAgLTIxMzEsNiArMjEzNiwxOCBAQAogfQogI2VuZGlmCiAKKyNpZmRlZiBDT05GSUdfVFJBQ0lORworZXh0ZXJuIHZvaWQKK19fdHJhY2Vfc3BlY2lhbCh2b2lkICpfX3RyLCB2b2lkICpfX2RhdGEsCisJCXVuc2lnbmVkIGxvbmcgYXJnMSwgdW5zaWduZWQgbG9uZyBhcmcyLCB1bnNpZ25lZCBsb25nIGFyZzMpOworI2Vsc2UKK3N0YXRpYyBpbmxpbmUgdm9pZAorX190cmFjZV9zcGVjaWFsKHZvaWQgKl9fdHIsIHZvaWQgKl9fZGF0YSwKKwkJdW5zaWduZWQgbG9uZyBhcmcxLCB1bnNpZ25lZCBsb25nIGFyZzIsIHVuc2lnbmVkIGxvbmcgYXJnMykKK3sKK30KKyNlbmRpZgorCiBleHRlcm4gbG9uZyBzY2hlZF9zZXRhZmZpbml0eShwaWRfdCBwaWQsIGNvbnN0IGNwdW1hc2tfdCAqbmV3X21hc2spOwogZXh0ZXJuIGxvbmcgc2NoZWRfZ2V0YWZmaW5pdHkocGlkX3QgcGlkLCBjcHVtYXNrX3QgKm1hc2spOwogCkBAIC0yMjI1LDYgKzIyNDIsOCBAQAogfQogI2VuZGlmIC8qIENPTkZJR19NTV9PV05FUiAqLwogCisjZGVmaW5lIFRBU0tfU1RBVEVfVE9fQ0hBUl9TVFIgIlJTRFR0WlgiCisKICNlbmRpZiAvKiBfX0tFUk5FTF9fICovCiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9zZWN1cml0eS5oIGIvaW5jbHVkZS9saW51eC9zZWN1cml0eS5oCmluZGV4IDUwNzM3YzcuLjMxYzg4NTEgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvc2VjdXJpdHkuaAorKysgYi9pbmNsdWRlL2xpbnV4L3NlY3VyaXR5LmgKQEAgLTQ2LDcgKzQ2LDggQEAKICAqLwogZXh0ZXJuIGludCBjYXBfY2FwYWJsZShzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRzaywgaW50IGNhcCk7CiBleHRlcm4gaW50IGNhcF9zZXR0aW1lKHN0cnVjdCB0aW1lc3BlYyAqdHMsIHN0cnVjdCB0aW1lem9uZSAqdHopOwotZXh0ZXJuIGludCBjYXBfcHRyYWNlKHN0cnVjdCB0YXNrX3N0cnVjdCAqcGFyZW50LCBzdHJ1Y3QgdGFza19zdHJ1Y3QgKmNoaWxkKTsKK2V4dGVybiBpbnQgY2FwX3B0cmFjZShzdHJ1Y3QgdGFza19zdHJ1Y3QgKnBhcmVudCwgc3RydWN0IHRhc2tfc3RydWN0ICpjaGlsZCwKKwkJICAgICAgdW5zaWduZWQgaW50IG1vZGUpOwogZXh0ZXJuIGludCBjYXBfY2FwZ2V0KHN0cnVjdCB0YXNrX3N0cnVjdCAqdGFyZ2V0LCBrZXJuZWxfY2FwX3QgKmVmZmVjdGl2ZSwga2VybmVsX2NhcF90ICppbmhlcml0YWJsZSwga2VybmVsX2NhcF90ICpwZXJtaXR0ZWQpOwogZXh0ZXJuIGludCBjYXBfY2Fwc2V0X2NoZWNrKHN0cnVjdCB0YXNrX3N0cnVjdCAqdGFyZ2V0LCBrZXJuZWxfY2FwX3QgKmVmZmVjdGl2ZSwga2VybmVsX2NhcF90ICppbmhlcml0YWJsZSwga2VybmVsX2NhcF90ICpwZXJtaXR0ZWQpOwogZXh0ZXJuIHZvaWQgY2FwX2NhcHNldF9zZXQoc3RydWN0IHRhc2tfc3RydWN0ICp0YXJnZXQsIGtlcm5lbF9jYXBfdCAqZWZmZWN0aXZlLCBrZXJuZWxfY2FwX3QgKmluaGVyaXRhYmxlLCBrZXJuZWxfY2FwX3QgKnBlcm1pdHRlZCk7CkBAIC03OSw2ICs4MCw3IEBACiBzdHJ1Y3QgeGZybV9wb2xpY3k7CiBzdHJ1Y3QgeGZybV9zdGF0ZTsKIHN0cnVjdCB4ZnJtX3VzZXJfc2VjX2N0eDsKK3N0cnVjdCBzZXFfZmlsZTsKIAogZXh0ZXJuIGludCBjYXBfbmV0bGlua19zZW5kKHN0cnVjdCBzb2NrICpzaywgc3RydWN0IHNrX2J1ZmYgKnNrYik7CiBleHRlcm4gaW50IGNhcF9uZXRsaW5rX3JlY3Yoc3RydWN0IHNrX2J1ZmYgKnNrYiwgaW50IGNhcCk7CkBAIC0yODksMTAgKzI5MSw2IEBACiAgKglVcGRhdGUgbW9kdWxlIHN0YXRlIGFmdGVyIGEgc3VjY2Vzc2Z1bCBwaXZvdC4KICAqCUBvbGRfcGF0aCBjb250YWlucyB0aGUgcGF0aCBmb3IgdGhlIG9sZCByb290LgogICoJQG5ld19wYXRoIGNvbnRhaW5zIHRoZSBwYXRoIGZvciB0aGUgbmV3IHJvb3QuCi0gKiBAc2JfZ2V0X21udF9vcHRzOgotICoJR2V0IHRoZSBzZWN1cml0eSByZWxldmFudCBtb3VudCBvcHRpb25zIHVzZWQgZm9yIGEgc3VwZXJibG9jawotICoJQHNiIHRoZSBzdXBlcmJsb2NrIHRvIGdldCBzZWN1cml0eSBtb3VudCBvcHRpb25zIGZyb20KLSAqCUBvcHRzIGJpbmFyeSBkYXRhIHN0cnVjdHVyZSBjb250YWluaW5nIGFsbCBsc20gbW91bnQgZGF0YQogICogQHNiX3NldF9tbnRfb3B0czoKICAqCVNldCB0aGUgc2VjdXJpdHkgcmVsZXZhbnQgbW91bnQgb3B0aW9ucyB1c2VkIGZvciBhIHN1cGVyYmxvY2sKICAqCUBzYiB0aGUgc3VwZXJibG9jayB0byBzZXQgc2VjdXJpdHkgbW91bnQgb3B0aW9ucyBmb3IKQEAgLTExNzAsNiArMTE2OCw3IEBACiAgKglhdHRyaWJ1dGVzIHdvdWxkIGJlIGNoYW5nZWQgYnkgdGhlIGV4ZWN2ZS4KICAqCUBwYXJlbnQgY29udGFpbnMgdGhlIHRhc2tfc3RydWN0IHN0cnVjdHVyZSBmb3IgcGFyZW50IHByb2Nlc3MuCiAgKglAY2hpbGQgY29udGFpbnMgdGhlIHRhc2tfc3RydWN0IHN0cnVjdHVyZSBmb3IgY2hpbGQgcHJvY2Vzcy4KKyAqCUBtb2RlIGNvbnRhaW5zIHRoZSBQVFJBQ0VfTU9ERSBmbGFncyBpbmRpY2F0aW5nIHRoZSBmb3JtIG9mIGFjY2Vzcy4KICAqCVJldHVybiAwIGlmIHBlcm1pc3Npb24gaXMgZ3JhbnRlZC4KICAqIEBjYXBnZXQ6CiAgKglHZXQgdGhlIEBlZmZlY3RpdmUsIEBpbmhlcml0YWJsZSwgYW5kIEBwZXJtaXR0ZWQgY2FwYWJpbGl0eSBzZXRzIGZvcgpAQCAtMTI0MCwxMSArMTIzOSw2IEBACiAgKglAcGFnZXMgY29udGFpbnMgdGhlIG51bWJlciBvZiBwYWdlcy4KICAqCVJldHVybiAwIGlmIHBlcm1pc3Npb24gaXMgZ3JhbnRlZC4KICAqCi0gKiBAcmVnaXN0ZXJfc2VjdXJpdHk6Ci0gKglhbGxvdyBtb2R1bGUgc3RhY2tpbmcuCi0gKglAbmFtZSBjb250YWlucyB0aGUgbmFtZSBvZiB0aGUgc2VjdXJpdHkgbW9kdWxlIGJlaW5nIHN0YWNrZWQuCi0gKglAb3BzIGNvbnRhaW5zIGEgcG9pbnRlciB0byB0aGUgc3RydWN0IHNlY3VyaXR5X29wZXJhdGlvbnMgb2YgdGhlIG1vZHVsZSB0byBzdGFjay4KLSAqCiAgKiBAc2VjaWRfdG9fc2VjY3R4OgogICoJQ29udmVydCBzZWNpZCB0byBzZWN1cml0eSBjb250ZXh0LgogICoJQHNlY2lkIGNvbnRhaW5zIHRoZSBzZWN1cml0eSBJRC4KQEAgLTEyOTUsNyArMTI4OSw4IEBACiBzdHJ1Y3Qgc2VjdXJpdHlfb3BlcmF0aW9ucyB7CiAJY2hhciBuYW1lW1NFQ1VSSVRZX05BTUVfTUFYICsgMV07CiAKLQlpbnQgKCpwdHJhY2UpIChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnBhcmVudCwgc3RydWN0IHRhc2tfc3RydWN0ICpjaGlsZCk7CisJaW50ICgqcHRyYWNlKSAoc3RydWN0IHRhc2tfc3RydWN0ICpwYXJlbnQsIHN0cnVjdCB0YXNrX3N0cnVjdCAqY2hpbGQsCisJCSAgICAgICB1bnNpZ25lZCBpbnQgbW9kZSk7CiAJaW50ICgqY2FwZ2V0KSAoc3RydWN0IHRhc2tfc3RydWN0ICp0YXJnZXQsCiAJCSAgICAgICBrZXJuZWxfY2FwX3QgKmVmZmVjdGl2ZSwKIAkJICAgICAgIGtlcm5lbF9jYXBfdCAqaW5oZXJpdGFibGUsIGtlcm5lbF9jYXBfdCAqcGVybWl0dGVkKTsKQEAgLTEzMjgsNiArMTMyMyw3IEBACiAJdm9pZCAoKnNiX2ZyZWVfc2VjdXJpdHkpIChzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiKTsKIAlpbnQgKCpzYl9jb3B5X2RhdGEpIChjaGFyICpvcmlnLCBjaGFyICpjb3B5KTsKIAlpbnQgKCpzYl9rZXJuX21vdW50KSAoc3RydWN0IHN1cGVyX2Jsb2NrICpzYiwgdm9pZCAqZGF0YSk7CisJaW50ICgqc2Jfc2hvd19vcHRpb25zKSAoc3RydWN0IHNlcV9maWxlICptLCBzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiKTsKIAlpbnQgKCpzYl9zdGF0ZnMpIChzdHJ1Y3QgZGVudHJ5ICpkZW50cnkpOwogCWludCAoKnNiX21vdW50KSAoY2hhciAqZGV2X25hbWUsIHN0cnVjdCBwYXRoICpwYXRoLAogCQkJIGNoYXIgKnR5cGUsIHVuc2lnbmVkIGxvbmcgZmxhZ3MsIHZvaWQgKmRhdGEpOwpAQCAtMTM0Myw4ICsxMzM5LDYgQEAKIAkJCSAgICAgc3RydWN0IHBhdGggKm5ld19wYXRoKTsKIAl2b2lkICgqc2JfcG9zdF9waXZvdHJvb3QpIChzdHJ1Y3QgcGF0aCAqb2xkX3BhdGgsCiAJCQkJICAgc3RydWN0IHBhdGggKm5ld19wYXRoKTsKLQlpbnQgKCpzYl9nZXRfbW50X29wdHMpIChjb25zdCBzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiLAotCQkJCXN0cnVjdCBzZWN1cml0eV9tbnRfb3B0cyAqb3B0cyk7CiAJaW50ICgqc2Jfc2V0X21udF9vcHRzKSAoc3RydWN0IHN1cGVyX2Jsb2NrICpzYiwKIAkJCQlzdHJ1Y3Qgc2VjdXJpdHlfbW50X29wdHMgKm9wdHMpOwogCXZvaWQgKCpzYl9jbG9uZV9tbnRfb3B0cykgKGNvbnN0IHN0cnVjdCBzdXBlcl9ibG9jayAqb2xkc2IsCkBAIC0xNDcyLDEwICsxNDY2LDYgQEAKIAlpbnQgKCpuZXRsaW5rX3NlbmQpIChzdHJ1Y3Qgc29jayAqc2ssIHN0cnVjdCBza19idWZmICpza2IpOwogCWludCAoKm5ldGxpbmtfcmVjdikgKHN0cnVjdCBza19idWZmICpza2IsIGludCBjYXApOwogCi0JLyogYWxsb3cgbW9kdWxlIHN0YWNraW5nICovCi0JaW50ICgqcmVnaXN0ZXJfc2VjdXJpdHkpIChjb25zdCBjaGFyICpuYW1lLAotCQkJCSAgc3RydWN0IHNlY3VyaXR5X29wZXJhdGlvbnMgKm9wcyk7Ci0KIAl2b2lkICgqZF9pbnN0YW50aWF0ZSkgKHN0cnVjdCBkZW50cnkgKmRlbnRyeSwgc3RydWN0IGlub2RlICppbm9kZSk7CiAKIAlpbnQgKCpnZXRwcm9jYXR0cikgKHN0cnVjdCB0YXNrX3N0cnVjdCAqcCwgY2hhciAqbmFtZSwgY2hhciAqKnZhbHVlKTsKQEAgLTE1NjUsNyArMTU1NSw2IEBACiBleHRlcm4gaW50IHNlY3VyaXR5X2luaXQodm9pZCk7CiBleHRlcm4gaW50IHNlY3VyaXR5X21vZHVsZV9lbmFibGUoc3RydWN0IHNlY3VyaXR5X29wZXJhdGlvbnMgKm9wcyk7CiBleHRlcm4gaW50IHJlZ2lzdGVyX3NlY3VyaXR5KHN0cnVjdCBzZWN1cml0eV9vcGVyYXRpb25zICpvcHMpOwotZXh0ZXJuIGludCBtb2RfcmVnX3NlY3VyaXR5KGNvbnN0IGNoYXIgKm5hbWUsIHN0cnVjdCBzZWN1cml0eV9vcGVyYXRpb25zICpvcHMpOwogZXh0ZXJuIHN0cnVjdCBkZW50cnkgKnNlY3VyaXR5ZnNfY3JlYXRlX2ZpbGUoY29uc3QgY2hhciAqbmFtZSwgbW9kZV90IG1vZGUsCiAJCQkJCSAgICAgc3RydWN0IGRlbnRyeSAqcGFyZW50LCB2b2lkICpkYXRhLAogCQkJCQkgICAgIGNvbnN0IHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgKmZvcHMpOwpAQCAtMTU3Myw3ICsxNTYyLDggQEAKIGV4dGVybiB2b2lkIHNlY3VyaXR5ZnNfcmVtb3ZlKHN0cnVjdCBkZW50cnkgKmRlbnRyeSk7CiAKIC8qIFNlY3VyaXR5IG9wZXJhdGlvbnMgKi8KLWludCBzZWN1cml0eV9wdHJhY2Uoc3RydWN0IHRhc2tfc3RydWN0ICpwYXJlbnQsIHN0cnVjdCB0YXNrX3N0cnVjdCAqY2hpbGQpOworaW50IHNlY3VyaXR5X3B0cmFjZShzdHJ1Y3QgdGFza19zdHJ1Y3QgKnBhcmVudCwgc3RydWN0IHRhc2tfc3RydWN0ICpjaGlsZCwKKwkJICAgIHVuc2lnbmVkIGludCBtb2RlKTsKIGludCBzZWN1cml0eV9jYXBnZXQoc3RydWN0IHRhc2tfc3RydWN0ICp0YXJnZXQsCiAJCSAgICBrZXJuZWxfY2FwX3QgKmVmZmVjdGl2ZSwKIAkJICAgIGtlcm5lbF9jYXBfdCAqaW5oZXJpdGFibGUsCkBAIC0xNjA2LDYgKzE1OTYsNyBAQAogdm9pZCBzZWN1cml0eV9zYl9mcmVlKHN0cnVjdCBzdXBlcl9ibG9jayAqc2IpOwogaW50IHNlY3VyaXR5X3NiX2NvcHlfZGF0YShjaGFyICpvcmlnLCBjaGFyICpjb3B5KTsKIGludCBzZWN1cml0eV9zYl9rZXJuX21vdW50KHN0cnVjdCBzdXBlcl9ibG9jayAqc2IsIHZvaWQgKmRhdGEpOworaW50IHNlY3VyaXR5X3NiX3Nob3dfb3B0aW9ucyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHN0cnVjdCBzdXBlcl9ibG9jayAqc2IpOwogaW50IHNlY3VyaXR5X3NiX3N0YXRmcyhzdHJ1Y3QgZGVudHJ5ICpkZW50cnkpOwogaW50IHNlY3VyaXR5X3NiX21vdW50KGNoYXIgKmRldl9uYW1lLCBzdHJ1Y3QgcGF0aCAqcGF0aCwKIAkJICAgICAgY2hhciAqdHlwZSwgdW5zaWduZWQgbG9uZyBmbGFncywgdm9pZCAqZGF0YSk7CkBAIC0xNjE3LDggKzE2MDgsNiBAQAogdm9pZCBzZWN1cml0eV9zYl9wb3N0X2FkZG1vdW50KHN0cnVjdCB2ZnNtb3VudCAqbW50LCBzdHJ1Y3QgcGF0aCAqbW91bnRwb2ludCk7CiBpbnQgc2VjdXJpdHlfc2JfcGl2b3Ryb290KHN0cnVjdCBwYXRoICpvbGRfcGF0aCwgc3RydWN0IHBhdGggKm5ld19wYXRoKTsKIHZvaWQgc2VjdXJpdHlfc2JfcG9zdF9waXZvdHJvb3Qoc3RydWN0IHBhdGggKm9sZF9wYXRoLCBzdHJ1Y3QgcGF0aCAqbmV3X3BhdGgpOwotaW50IHNlY3VyaXR5X3NiX2dldF9tbnRfb3B0cyhjb25zdCBzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiLAotCQkJCXN0cnVjdCBzZWN1cml0eV9tbnRfb3B0cyAqb3B0cyk7CiBpbnQgc2VjdXJpdHlfc2Jfc2V0X21udF9vcHRzKHN0cnVjdCBzdXBlcl9ibG9jayAqc2IsIHN0cnVjdCBzZWN1cml0eV9tbnRfb3B0cyAqb3B0cyk7CiB2b2lkIHNlY3VyaXR5X3NiX2Nsb25lX21udF9vcHRzKGNvbnN0IHN0cnVjdCBzdXBlcl9ibG9jayAqb2xkc2IsCiAJCQkJc3RydWN0IHN1cGVyX2Jsb2NrICpuZXdzYik7CkBAIC0xNzU1LDkgKzE3NDQsMTEgQEAKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIGlubGluZSBpbnQgc2VjdXJpdHlfcHRyYWNlKHN0cnVjdCB0YXNrX3N0cnVjdCAqcGFyZW50LCBzdHJ1Y3QgdGFza19zdHJ1Y3QgKmNoaWxkKQorc3RhdGljIGlubGluZSBpbnQgc2VjdXJpdHlfcHRyYWNlKHN0cnVjdCB0YXNrX3N0cnVjdCAqcGFyZW50LAorCQkJCSAgc3RydWN0IHRhc2tfc3RydWN0ICpjaGlsZCwKKwkJCQkgIHVuc2lnbmVkIGludCBtb2RlKQogewotCXJldHVybiBjYXBfcHRyYWNlKHBhcmVudCwgY2hpbGQpOworCXJldHVybiBjYXBfcHRyYWNlKHBhcmVudCwgY2hpbGQsIG1vZGUpOwogfQogCiBzdGF0aWMgaW5saW5lIGludCBzZWN1cml0eV9jYXBnZXQoc3RydWN0IHRhc2tfc3RydWN0ICp0YXJnZXQsCkBAIC0xODgxLDYgKzE4NzIsMTIgQEAKIAlyZXR1cm4gMDsKIH0KIAorc3RhdGljIGlubGluZSBpbnQgc2VjdXJpdHlfc2Jfc2hvd19vcHRpb25zKHN0cnVjdCBzZXFfZmlsZSAqbSwKKwkJCQkJICAgc3RydWN0IHN1cGVyX2Jsb2NrICpzYikKK3sKKwlyZXR1cm4gMDsKK30KKwogc3RhdGljIGlubGluZSBpbnQgc2VjdXJpdHlfc2Jfc3RhdGZzKHN0cnVjdCBkZW50cnkgKmRlbnRyeSkKIHsKIAlyZXR1cm4gMDsKQEAgLTE5MjcsMTIgKzE5MjQsNiBAQAogc3RhdGljIGlubGluZSB2b2lkIHNlY3VyaXR5X3NiX3Bvc3RfcGl2b3Ryb290KHN0cnVjdCBwYXRoICpvbGRfcGF0aCwKIAkJCQkJICAgICAgc3RydWN0IHBhdGggKm5ld19wYXRoKQogeyB9Ci1zdGF0aWMgaW5saW5lIGludCBzZWN1cml0eV9zYl9nZXRfbW50X29wdHMoY29uc3Qgc3RydWN0IHN1cGVyX2Jsb2NrICpzYiwKLQkJCQkJICAgc3RydWN0IHNlY3VyaXR5X21udF9vcHRzICpvcHRzKQotewotCXNlY3VyaXR5X2luaXRfbW50X29wdHMob3B0cyk7Ci0JcmV0dXJuIDA7Ci19CiAKIHN0YXRpYyBpbmxpbmUgaW50IHNlY3VyaXR5X3NiX3NldF9tbnRfb3B0cyhzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiLAogCQkJCQkgICBzdHJ1Y3Qgc2VjdXJpdHlfbW50X29wdHMgKm9wdHMpCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L3NtcF9sb2NrLmggYi9pbmNsdWRlL2xpbnV4L3NtcF9sb2NrLmgKaW5kZXggYWFiM2E0Yy4uODEzYmU1OSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9zbXBfbG9jay5oCisrKyBiL2luY2x1ZGUvbGludXgvc21wX2xvY2suaApAQCAtMjcsMTEgKzI3LDI0IEBACiBleHRlcm4gdm9pZCBfX2xvY2tmdW5jIGxvY2tfa2VybmVsKHZvaWQpCV9fYWNxdWlyZXMoa2VybmVsX2xvY2spOwogZXh0ZXJuIHZvaWQgX19sb2NrZnVuYyB1bmxvY2tfa2VybmVsKHZvaWQpCV9fcmVsZWFzZXMoa2VybmVsX2xvY2spOwogCisvKgorICogVmFyaW91cyBsZWdhY3kgZHJpdmVycyBkb24ndCByZWFsbHkgbmVlZCB0aGUgQktMIGluIGEgc3BlY2lmaWMKKyAqIGZ1bmN0aW9uLCBidXQgdGhleSAqZG8qIG5lZWQgdG8ga25vdyB0aGF0IHRoZSBCS0wgYmVjYW1lIGF2YWlsYWJsZS4KKyAqIFRoaXMgZnVuY3Rpb24ganVzdCBhdm9pZHMgd3JhcHBpbmcgYSBidW5jaCBvZiBsb2NrL3VubG9jayBwYWlycworICogYXJvdW5kIGNvZGUgd2hpY2ggZG9lc24ndCByZWFsbHkgbmVlZCBpdC4KKyAqLworc3RhdGljIGlubGluZSB2b2lkIGN5Y2xlX2tlcm5lbF9sb2NrKHZvaWQpCit7CisJbG9ja19rZXJuZWwoKTsKKwl1bmxvY2tfa2VybmVsKCk7Cit9CisKICNlbHNlCiAKICNkZWZpbmUgbG9ja19rZXJuZWwoKQkJCQlkbyB7IH0gd2hpbGUoMCkKICNkZWZpbmUgdW5sb2NrX2tlcm5lbCgpCQkJCWRvIHsgfSB3aGlsZSgwKQogI2RlZmluZSByZWxlYXNlX2tlcm5lbF9sb2NrKHRhc2spCQlkbyB7IH0gd2hpbGUoMCkKKyNkZWZpbmUgY3ljbGVfa2VybmVsX2xvY2soKQkJCWRvIHsgfSB3aGlsZSgwKQogI2RlZmluZSByZWFjcXVpcmVfa2VybmVsX2xvY2sodGFzaykJCTAKICNkZWZpbmUga2VybmVsX2xvY2tlZCgpCQkJCTEKIApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC90b3BvbG9neS5oIGIvaW5jbHVkZS9saW51eC90b3BvbG9neS5oCmluZGV4IDI0ZjNkMjIuLjIxNThmYzAgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvdG9wb2xvZ3kuaAorKysgYi9pbmNsdWRlL2xpbnV4L3RvcG9sb2d5LmgKQEAgLTE3OSw0ICsxNzksMTcgQEAKICNlbmRpZgogI2VuZGlmIC8qIENPTkZJR19OVU1BICovCiAKKyNpZm5kZWYgdG9wb2xvZ3lfcGh5c2ljYWxfcGFja2FnZV9pZAorI2RlZmluZSB0b3BvbG9neV9waHlzaWNhbF9wYWNrYWdlX2lkKGNwdSkJKCh2b2lkKShjcHUpLCAtMSkKKyNlbmRpZgorI2lmbmRlZiB0b3BvbG9neV9jb3JlX2lkCisjZGVmaW5lIHRvcG9sb2d5X2NvcmVfaWQoY3B1KQkJCSgodm9pZCkoY3B1KSwgMCkKKyNlbmRpZgorI2lmbmRlZiB0b3BvbG9neV90aHJlYWRfc2libGluZ3MKKyNkZWZpbmUgdG9wb2xvZ3lfdGhyZWFkX3NpYmxpbmdzKGNwdSkJCWNwdW1hc2tfb2ZfY3B1KGNwdSkKKyNlbmRpZgorI2lmbmRlZiB0b3BvbG9neV9jb3JlX3NpYmxpbmdzCisjZGVmaW5lIHRvcG9sb2d5X2NvcmVfc2libGluZ3MoY3B1KQkJY3B1bWFza19vZl9jcHUoY3B1KQorI2VuZGlmCisKICNlbmRpZiAvKiBfTElOVVhfVE9QT0xPR1lfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC93cml0ZWJhY2suaCBiL2luY2x1ZGUvbGludXgvd3JpdGViYWNrLmgKaW5kZXggZjQ2MjQzOS4uMTJiMTVjNSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC93cml0ZWJhY2suaAorKysgYi9pbmNsdWRlL2xpbnV4L3dyaXRlYmFjay5oCkBAIC02Myw2ICs2Myw3IEBACiAJdW5zaWduZWQgZm9yX3dyaXRlcGFnZXM6MTsJLyogVGhpcyBpcyBhIHdyaXRlcGFnZXMoKSBjYWxsICovCiAJdW5zaWduZWQgcmFuZ2VfY3ljbGljOjE7CS8qIHJhbmdlX3N0YXJ0IGlzIGN5Y2xpYyAqLwogCXVuc2lnbmVkIG1vcmVfaW86MTsJCS8qIG1vcmUgaW8gdG8gYmUgZGlzcGF0Y2hlZCAqLworCXVuc2lnbmVkIHJhbmdlX2NvbnQ6MTsKIH07CiAKIC8qCkBAIC0xMDUsNiArMTA2LDggQEAKIGV4dGVybiBpbnQgYmxvY2tfZHVtcDsKIGV4dGVybiBpbnQgbGFwdG9wX21vZGU7CiAKK2V4dGVybiB1bnNpZ25lZCBsb25nIGRldGVybWluZV9kaXJ0eWFibGVfbWVtb3J5KHZvaWQpOworCiBleHRlcm4gaW50IGRpcnR5X3JhdGlvX2hhbmRsZXIoc3RydWN0IGN0bF90YWJsZSAqdGFibGUsIGludCB3cml0ZSwKIAkJc3RydWN0IGZpbGUgKmZpbHAsIHZvaWQgX191c2VyICpidWZmZXIsIHNpemVfdCAqbGVucCwKIAkJbG9mZl90ICpwcG9zKTsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvcGNtY2lhL2J1bGttZW0uaCBiL2luY2x1ZGUvcGNtY2lhL2J1bGttZW0uaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmJjNzQ3Mi4uMDAwMDAwMAotLS0gYS9pbmNsdWRlL3BjbWNpYS9idWxrbWVtLmgKKysrIC9kZXYvbnVsbApAQCAtMSw0MSArMCwwIEBACi0vKgotICogYnVsa21lbS5oIC0tIERlZmluaXRpb25zIGZvciBidWxrIG1lbW9yeSBzZXJ2aWNlcwotICoKLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcwotICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCi0gKgotICogVGhlIGluaXRpYWwgZGV2ZWxvcGVyIG9mIHRoZSBvcmlnaW5hbCBjb2RlIGlzIERhdmlkIEEuIEhpbmRzCi0gKiA8ZGFoaW5kc0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+LiAgUG9ydGlvbnMgY3JlYXRlZCBieSBEYXZpZCBBLiBIaW5kcwotICogYXJlIENvcHlyaWdodCAoQykgMTk5OSBEYXZpZCBBLiBIaW5kcy4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCi0gKgotICogKEMpIDE5OTkJCURhdmlkIEEuIEhpbmRzCi0gKi8KLQotI2lmbmRlZiBfTElOVVhfQlVMS01FTV9ICi0jZGVmaW5lIF9MSU5VWF9CVUxLTUVNX0gKLQotLyogRm9yIEdldEZpcnN0UmVnaW9uIGFuZCBHZXROZXh0UmVnaW9uICovCi10eXBlZGVmIHN0cnVjdCByZWdpb25faW5mb190IHsKLSAgICB1X2ludAkJQXR0cmlidXRlczsKLSAgICB1X2ludAkJQ2FyZE9mZnNldDsKLSAgICB1X2ludAkJUmVnaW9uU2l6ZTsKLSAgICB1X2ludAkJQWNjZXNzU3BlZWQ7Ci0gICAgdV9pbnQJCUJsb2NrU2l6ZTsKLSAgICB1X2ludAkJUGFydE11bHRpcGxlOwotICAgIHVfY2hhcgkJSmVkZWNNZnIsIEplZGVjSW5mbzsKLSAgICBtZW1vcnlfaGFuZGxlX3QJbmV4dDsKLX0gcmVnaW9uX2luZm9fdDsKLQotI2RlZmluZSBSRUdJT05fVFlQRQkJMHgwMDAxCi0jZGVmaW5lIFJFR0lPTl9UWVBFX0NNCQkweDAwMDAKLSNkZWZpbmUgUkVHSU9OX1RZUEVfQU0JCTB4MDAwMQotI2RlZmluZSBSRUdJT05fUFJFRkVUQ0gJCTB4MDAwOAotI2RlZmluZSBSRUdJT05fQ0FDSEVBQkxFCTB4MDAxMAotI2RlZmluZSBSRUdJT05fQkFSX01BU0sJCTB4ZTAwMAotI2RlZmluZSBSRUdJT05fQkFSX1NISUZUCTEzCi0KLWludCBwY21jaWFfZ2V0X2ZpcnN0X3JlZ2lvbihzdHJ1Y3QgcGNtY2lhX2RldmljZSAqaGFuZGxlLCByZWdpb25faW5mb190ICpyZ24pOwotaW50IHBjbWNpYV9nZXRfbmV4dF9yZWdpb24oc3RydWN0IHBjbWNpYV9kZXZpY2UgKmhhbmRsZSwgcmVnaW9uX2luZm9fdCAqcmduKTsKLQotI2VuZGlmIC8qIF9MSU5VWF9CVUxLTUVNX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvcGNtY2lhL2Npc3RwbC5oIGIvaW5jbHVkZS9wY21jaWEvY2lzdHBsLmgKaW5kZXggZDNiYmIxOS4uZTJlMTBjMSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9wY21jaWEvY2lzdHBsLmgKKysrIGIvaW5jbHVkZS9wY21jaWEvY2lzdHBsLmgKQEAgLTU5NSw3ICs1OTUsNyBAQAogaW50IHBjY2FyZF9nZXRfdHVwbGVfZGF0YShzdHJ1Y3QgcGNtY2lhX3NvY2tldCAqcywgdHVwbGVfdCAqdHVwbGUpOwogaW50IHBjY2FyZF9wYXJzZV90dXBsZSh0dXBsZV90ICp0dXBsZSwgY2lzcGFyc2VfdCAqcGFyc2UpOwogCi1pbnQgcGNjYXJkX3ZhbGlkYXRlX2NpcyhzdHJ1Y3QgcGNtY2lhX3NvY2tldCAqcywgdW5zaWduZWQgaW50IGZ1bmN0aW9uLCBjaXNpbmZvX3QgKmluZm8pOworaW50IHBjY2FyZF92YWxpZGF0ZV9jaXMoc3RydWN0IHBjbWNpYV9zb2NrZXQgKnMsIHVuc2lnbmVkIGludCBmdW5jdGlvbiwgdW5zaWduZWQgaW50ICpjb3VudCk7CiAKIC8qIC4uLiBidXQgdXNlIHRoZXNlIHdyYXBwZXJzIGluc3RlYWQgKi8KICNkZWZpbmUgcGNtY2lhX2dldF9maXJzdF90dXBsZShwX2RldiwgdHVwbGUpIFwKZGlmZiAtLWdpdCBhL2luY2x1ZGUvcGNtY2lhL2NzLmggYi9pbmNsdWRlL3BjbWNpYS9jcy5oCmluZGV4IDg3YTI2MGUuLjQ1ZDg0YjIgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvcGNtY2lhL2NzLmgKKysrIGIvaW5jbHVkZS9wY21jaWEvY3MuaApAQCAtMzczLDkgKzM3Myw2IEBACiAKIGludCBwY21jaWFfYWNjZXNzX2NvbmZpZ3VyYXRpb25fcmVnaXN0ZXIoc3RydWN0IHBjbWNpYV9kZXZpY2UgKnBfZGV2LCBjb25mX3JlZ190ICpyZWcpOwogaW50IHBjbWNpYV9nZXRfY29uZmlndXJhdGlvbl9pbmZvKHN0cnVjdCBwY21jaWFfZGV2aWNlICpwX2RldiwgY29uZmlnX2luZm9fdCAqY29uZmlnKTsKLWludCBwY21jaWFfZ2V0X2ZpcnN0X3dpbmRvdyh3aW5kb3dfaGFuZGxlX3QgKndpbiwgd2luX3JlcV90ICpyZXEpOwotaW50IHBjbWNpYV9nZXRfbmV4dF93aW5kb3cod2luZG93X2hhbmRsZV90ICp3aW4sIHdpbl9yZXFfdCAqcmVxKTsKLWludCBwY21jaWFfZ2V0X3N0YXR1cyhzdHJ1Y3QgcGNtY2lhX2RldmljZSAqcF9kZXYsIGNzX3N0YXR1c190ICpzdGF0dXMpOwogaW50IHBjbWNpYV9nZXRfbWVtX3BhZ2Uod2luZG93X2hhbmRsZV90IHdpbiwgbWVtcmVxX3QgKnJlcSk7CiBpbnQgcGNtY2lhX21hcF9tZW1fcGFnZSh3aW5kb3dfaGFuZGxlX3Qgd2luLCBtZW1yZXFfdCAqcmVxKTsKIGludCBwY21jaWFfbW9kaWZ5X2NvbmZpZ3VyYXRpb24oc3RydWN0IHBjbWNpYV9kZXZpY2UgKnBfZGV2LCBtb2Rjb25mX3QgKm1vZCk7CmRpZmYgLS1naXQgYS9pbmNsdWRlL3BjbWNpYS9jc190eXBlcy5oIGIvaW5jbHVkZS9wY21jaWEvY3NfdHlwZXMuaAppbmRleCA5YTZiY2M0Li5mNDAyYTBmIDEwMDY0NAotLS0gYS9pbmNsdWRlL3BjbWNpYS9jc190eXBlcy5oCisrKyBiL2luY2x1ZGUvcGNtY2lhL2NzX3R5cGVzLmgKQEAgLTIxLDcgKzIxLDggQEAKICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KICNlbmRpZgogCi0jaWYgZGVmaW5lZChfX2FybV9fKSB8fCBkZWZpbmVkKF9fbWlwc19fKSB8fCBkZWZpbmVkKF9fYXZyMzJfXykKKyNpZiBkZWZpbmVkKF9fYXJtX18pIHx8IGRlZmluZWQoX19taXBzX18pIHx8IGRlZmluZWQoX19hdnIzMl9fKSB8fCBcCisJZGVmaW5lZChfX2JmaW5fXykKIC8qIFRoaXMgKGlvYWRkcl90KSBpcyBleHBvc2VkIHRvIHVzZXJzcGFjZSAmIGhlbmNlIGNhbm5vdCBiZSBjaGFuZ2VkLiAqLwogdHlwZWRlZiB1X2ludCAgIGlvYWRkcl90OwogI2Vsc2UKQEAgLTMzLDkgKzM0LDYgQEAKIHR5cGVkZWYgdV9jaGFyCWNpc2RhdGFfdDsKIHR5cGVkZWYgdV9zaG9ydAlwYWdlX3Q7CiAKLXN0cnVjdCBwY21jaWFfZGV2aWNlOwotdHlwZWRlZiBzdHJ1Y3QgcGNtY2lhX2RldmljZSAqY2xpZW50X2hhbmRsZV90OwotCiBzdHJ1Y3Qgd2luZG93X3Q7CiB0eXBlZGVmIHN0cnVjdCB3aW5kb3dfdCAqd2luZG93X2hhbmRsZV90OwogCmRpZmYgLS1naXQgYS9pbmNsdWRlL3BjbWNpYS9kcy5oIGIvaW5jbHVkZS9wY21jaWEvZHMuaAppbmRleCBmMDQ3YTFmLi5iMzE2MDI3IDEwMDY0NAotLS0gYS9pbmNsdWRlL3BjbWNpYS9kcy5oCisrKyBiL2luY2x1ZGUvcGNtY2lhL2RzLmgKQEAgLTIwLDcgKzIwLDYgQEAKICNpbmNsdWRlIDxsaW51eC9tb2RfZGV2aWNldGFibGUuaD4KICNlbmRpZgogCi0jaW5jbHVkZSA8cGNtY2lhL2J1bGttZW0uaD4KICNpbmNsdWRlIDxwY21jaWEvY3NfdHlwZXMuaD4KICNpbmNsdWRlIDxwY21jaWEvZGV2aWNlX2lkLmg+CiAKQEAgLTUxLDYgKzUwLDI0IEBACiAgICAgdV9pbnQJCUNhcmRPZmZzZXQ7CiB9IG10ZF9pbmZvX3Q7CiAKK3R5cGVkZWYgc3RydWN0IHJlZ2lvbl9pbmZvX3QgeworICAgIHVfaW50CQlBdHRyaWJ1dGVzOworICAgIHVfaW50CQlDYXJkT2Zmc2V0OworICAgIHVfaW50CQlSZWdpb25TaXplOworICAgIHVfaW50CQlBY2Nlc3NTcGVlZDsKKyAgICB1X2ludAkJQmxvY2tTaXplOworICAgIHVfaW50CQlQYXJ0TXVsdGlwbGU7CisgICAgdV9jaGFyCQlKZWRlY01mciwgSmVkZWNJbmZvOworICAgIG1lbW9yeV9oYW5kbGVfdAluZXh0OworfSByZWdpb25faW5mb190OworI2RlZmluZSBSRUdJT05fVFlQRQkJMHgwMDAxCisjZGVmaW5lIFJFR0lPTl9UWVBFX0NNCQkweDAwMDAKKyNkZWZpbmUgUkVHSU9OX1RZUEVfQU0JCTB4MDAwMQorI2RlZmluZSBSRUdJT05fUFJFRkVUQ0gJCTB4MDAwOAorI2RlZmluZSBSRUdJT05fQ0FDSEVBQkxFCTB4MDAxMAorI2RlZmluZSBSRUdJT05fQkFSX01BU0sJCTB4ZTAwMAorI2RlZmluZSBSRUdJT05fQkFSX1NISUZUCTEzCisKIHR5cGVkZWYgdW5pb24gZHNfaW9jdGxfYXJnX3QgewogICAgIGFkanVzdF90CQlhZGp1c3Q7CiAgICAgY29uZmlnX2luZm9fdAljb25maWc7CmRpZmYgLS1naXQgYS9pbmNsdWRlL3BjbWNpYS9zcy5oIGIvaW5jbHVkZS9wY21jaWEvc3MuaAppbmRleCBmOTVkY2EwLi5lZDkxOWRkIDEwMDY0NAotLS0gYS9pbmNsdWRlL3BjbWNpYS9zcy5oCisrKyBiL2luY2x1ZGUvcGNtY2lhL3NzLmgKQEAgLTIxLDcgKzIxLDYgQEAKIAogI2luY2x1ZGUgPHBjbWNpYS9jc190eXBlcy5oPgogI2luY2x1ZGUgPHBjbWNpYS9jcy5oPgotI2luY2x1ZGUgPHBjbWNpYS9idWxrbWVtLmg+CiAjaWZkZWYgQ09ORklHX0NBUkRCVVMKICNpbmNsdWRlIDxsaW51eC9wY2kuaD4KICNlbmRpZgpAQCAtMTM2LDggKzEzNSwxNCBAQAogCXN0cnVjdCByZXNvdXJjZSogKCpmaW5kX21lbSkJKHVuc2lnbmVkIGxvbmcgYmFzZSwgdW5zaWduZWQgbG9uZyBudW0sCiAJCQkJCSB1bnNpZ25lZCBsb25nIGFsaWduLCBpbnQgbG93LAogCQkJCQkgc3RydWN0IHBjbWNpYV9zb2NrZXQgKnMpOwotCWludAkoKmFkanVzdF9yZXNvdXJjZSkJKHN0cnVjdCBwY21jaWFfc29ja2V0ICpzLAotCQkJCQkgYWRqdXN0X3QgKmFkaik7CisJaW50CSgqYWRkX2lvKQkJKHN0cnVjdCBwY21jaWFfc29ja2V0ICpzLAorCQkJCQkgdW5zaWduZWQgaW50IGFjdGlvbiwKKwkJCQkJIHVuc2lnbmVkIGxvbmcgcl9zdGFydCwKKwkJCQkJIHVuc2lnbmVkIGxvbmcgcl9lbmQpOworCWludAkoKmFkZF9tZW0pCQkoc3RydWN0IHBjbWNpYV9zb2NrZXQgKnMsCisJCQkJCSB1bnNpZ25lZCBpbnQgYWN0aW9uLAorCQkJCQkgdW5zaWduZWQgbG9uZyByX3N0YXJ0LAorCQkJCQkgdW5zaWduZWQgbG9uZyByX2VuZCk7CiAJaW50CSgqaW5pdCkJCQkoc3RydWN0IHBjbWNpYV9zb2NrZXQgKnMpOwogCXZvaWQJKCpleGl0KQkJCShzdHJ1Y3QgcGNtY2lhX3NvY2tldCAqcyk7CiB9OwpAQCAtMjQ1LDcgKzI1MCw2IEBACiAKIAlzdHJ1Y3QgdGFza19zdHJ1Y3QJCSp0aHJlYWQ7CiAJc3RydWN0IGNvbXBsZXRpb24JCXRocmVhZF9kb25lOwotCXdhaXRfcXVldWVfaGVhZF90CQl0aHJlYWRfd2FpdDsKIAlzcGlubG9ja190CQkJdGhyZWFkX2xvY2s7CS8qIHByb3RlY3RzIHRocmVhZF9ldmVudHMgKi8KIAl1bnNpZ25lZCBpbnQJCQl0aHJlYWRfZXZlbnRzOwogCmRpZmYgLS1naXQgYS9pbmNsdWRlL3BjbWNpYS92ZXJzaW9uLmggYi9pbmNsdWRlL3BjbWNpYS92ZXJzaW9uLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVhZDljNWUuLjAwMDAwMDAKLS0tIGEvaW5jbHVkZS9wY21jaWEvdmVyc2lvbi5oCisrKyAvZGV2L251bGwKQEAgLTEsMyArMCwwIEBACi0vKiB2ZXJzaW9uLmggMS45NCAyMDAwLzEwLzAzIDE3OjU1OjQ4IChEYXZpZCBIaW5kcykgKi8KLQotLyogVGhpcyBmaWxlIHdpbGwgYmUgcmVtb3ZlZCwgcGxlYXNlIGRvbid0IGluY2x1ZGUgaXQgKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvcmRtYS9pYl9hZGRyLmggYi9pbmNsdWRlL3JkbWEvaWJfYWRkci5oCmluZGV4IGMzNjc1MGYuLjQ4MzA1N2IgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvcmRtYS9pYl9hZGRyLmgKKysrIGIvaW5jbHVkZS9yZG1hL2liX2FkZHIuaApAQCAtMiwyOSArMiwzMyBAQAogICogQ29weXJpZ2h0IChjKSAyMDA1IFZvbHRhaXJlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKGMpIDIwMDUgSW50ZWwgQ29ycG9yYXRpb24uICBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKLSAqIFRoaXMgU29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgb25lIG9mIHRoZSBmb2xsb3dpbmcgbGljZW5zZXM6CisgKiBUaGlzIHNvZnR3YXJlIGlzIGF2YWlsYWJsZSB0byB5b3UgdW5kZXIgYSBjaG9pY2Ugb2Ygb25lIG9mIHR3bworICogbGljZW5zZXMuICBZb3UgbWF5IGNob29zZSB0byBiZSBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVQorICogR2VuZXJhbCBQdWJsaWMgTGljZW5zZSAoR1BMKSBWZXJzaW9uIDIsIGF2YWlsYWJsZSBmcm9tIHRoZSBmaWxlCisgKiBDT1BZSU5HIGluIHRoZSBtYWluIGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLCBvciB0aGUKKyAqIE9wZW5JQi5vcmcgQlNEIGxpY2Vuc2UgYmVsb3c6CiAgKgotICogMSkgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSAiQ29tbW9uIFB1YmxpYyBMaWNlbnNlIDEuMCIgYSBjb3B5IG9mIHdoaWNoIGlzCi0gKiAgICBhdmFpbGFibGUgZnJvbSB0aGUgT3BlbiBTb3VyY2UgSW5pdGlhdGl2ZSwgc2VlCi0gKiAgICBodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL2NwbC5waHAuCisgKiAgICAgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvcgorICogICAgIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZworICogICAgIGNvbmRpdGlvbnMgYXJlIG1ldDoKICAqCi0gKiAyKSB1bmRlciB0aGUgdGVybXMgb2YgdGhlICJUaGUgQlNEIExpY2Vuc2UiIGEgY29weSBvZiB3aGljaCBpcwotICogICAgYXZhaWxhYmxlIGZyb20gdGhlIE9wZW4gU291cmNlIEluaXRpYXRpdmUsIHNlZQotICogICAgaHR0cDovL3d3dy5vcGVuc291cmNlLm9yZy9saWNlbnNlcy9ic2QtbGljZW5zZS5waHAuCisgKiAgICAgIC0gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZQorICogICAgICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nCisgKiAgICAgICAgZGlzY2xhaW1lci4KICAqCi0gKiAzKSB1bmRlciB0aGUgdGVybXMgb2YgdGhlICJHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSAoR1BMKSBWZXJzaW9uIDIiIGEKLSAqICAgIGNvcHkgb2Ygd2hpY2ggaXMgYXZhaWxhYmxlIGZyb20gdGhlIE9wZW4gU291cmNlIEluaXRpYXRpdmUsIHNlZQotICogICAgaHR0cDovL3d3dy5vcGVuc291cmNlLm9yZy9saWNlbnNlcy9ncGwtbGljZW5zZS5waHAuCisgKiAgICAgIC0gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogICAgICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nCisgKiAgICAgICAgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzCisgKiAgICAgICAgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgogICoKLSAqIExpY2Vuc2VlIGhhcyB0aGUgcmlnaHQgdG8gY2hvb3NlIG9uZSBvZiB0aGUgYWJvdmUgbGljZW5zZXMuCi0gKgotICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqIG5vdGljZSBhbmQgb25lIG9mIHRoZSBsaWNlbnNlIG5vdGljZXMuCi0gKgotICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIGJvdGggdGhlIGFib3ZlIGNvcHlyaWdodAotICogbm90aWNlLCBvbmUgb2YgdGhlIGxpY2Vuc2Ugbm90aWNlcyBpbiB0aGUgZG9jdW1lbnRhdGlvbgotICogYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgorICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisgKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyAqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5ECisgKiBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4KKyAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCisgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCisgKiBTT0ZUV0FSRS4KICAqLwogCiAjaWYgIWRlZmluZWQoSUJfQUREUl9IKQpAQCAtNTcsNiArNjEsNyBAQAogCXVuc2lnbmVkIGNoYXIgZHN0X2Rldl9hZGRyW01BWF9BRERSX0xFTl07CiAJdW5zaWduZWQgY2hhciBicm9hZGNhc3RbTUFYX0FERFJfTEVOXTsKIAllbnVtIHJkbWFfbm9kZV90eXBlIGRldl90eXBlOworCXN0cnVjdCBuZXRfZGV2aWNlICpzcmNfZGV2OwogfTsKIAogLyoqCmRpZmYgLS1naXQgYS9pbmNsdWRlL3JkbWEvaWJfY2FjaGUuaCBiL2luY2x1ZGUvcmRtYS9pYl9jYWNoZS5oCmluZGV4IGYxNzlkMjMuLjAwYTJiOGUgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvcmRtYS9pYl9jYWNoZS5oCisrKyBiL2luY2x1ZGUvcmRtYS9pYl9jYWNoZS5oCkBAIC0zMCw4ICszMCw2IEBACiAgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgogICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogICogU09GVFdBUkUuCi0gKgotICogJElkOiBpYl9jYWNoZS5oIDEzNDkgMjAwNC0xMi0xNiAyMTowOTo0M1ogcm9sYW5kICQKICAqLwogCiAjaWZuZGVmIF9JQl9DQUNIRV9ICmRpZmYgLS1naXQgYS9pbmNsdWRlL3JkbWEvaWJfY20uaCBiL2luY2x1ZGUvcmRtYS9pYl9jbS5oCmluZGV4IGE2MjdjODYuLmVjN2M2ZDkgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvcmRtYS9pYl9jbS5oCisrKyBiL2luY2x1ZGUvcmRtYS9pYl9jbS5oCkBAIC0zMSw4ICszMSw2IEBACiAgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgogICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogICogU09GVFdBUkUuCi0gKgotICogJElkOiBpYl9jbS5oIDQzMTEgMjAwNS0xMi0wNSAxODo0MjowMVogc2Vhbi5oZWZ0eSAkCiAgKi8KICNpZiAhZGVmaW5lZChJQl9DTV9IKQogI2RlZmluZSBJQl9DTV9ICmRpZmYgLS1naXQgYS9pbmNsdWRlL3JkbWEvaWJfZm1yX3Bvb2wuaCBiL2luY2x1ZGUvcmRtYS9pYl9mbXJfcG9vbC5oCmluZGV4IDAwZGFkYmYuLmY2MmI4NDIgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvcmRtYS9pYl9mbXJfcG9vbC5oCisrKyBiL2luY2x1ZGUvcmRtYS9pYl9mbXJfcG9vbC5oCkBAIC0yOSw4ICsyOSw2IEBACiAgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgogICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogICogU09GVFdBUkUuCi0gKgotICogJElkOiBpYl9mbXJfcG9vbC5oIDI3MzAgMjAwNS0wNi0yOCAxNjo0MzowM1ogc2Vhbi5oZWZ0eSAkCiAgKi8KIAogI2lmICFkZWZpbmVkKElCX0ZNUl9QT09MX0gpCkBAIC02MSw3ICs1OSw3IEBACiAJaW50ICAgICAgICAgICAgICAgICAgICAgcG9vbF9zaXplOwogCWludCAgICAgICAgICAgICAgICAgICAgIGRpcnR5X3dhdGVybWFyazsKIAl2b2lkICAgICAgICAgICAgICAgICAgKCpmbHVzaF9mdW5jdGlvbikoc3RydWN0IGliX2Ztcl9wb29sICpwb29sLAotCQkJCQkJdm9pZCAqICAgICAgICAgICAgICBhcmcpOworCQkJCQkJdm9pZCAgICAgICAgICAgICAgICphcmcpOwogCXZvaWQgICAgICAgICAgICAgICAgICAgKmZsdXNoX2FyZzsKIAl1bnNpZ25lZCAgICAgICAgICAgICAgICBjYWNoZToxOwogfTsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvcmRtYS9pYl9tYWQuaCBiL2luY2x1ZGUvcmRtYS9pYl9tYWQuaAppbmRleCA3MjI4YzA1Li41ZjZjNDBmIDEwMDY0NAotLS0gYS9pbmNsdWRlL3JkbWEvaWJfbWFkLmgKKysrIGIvaW5jbHVkZS9yZG1hL2liX21hZC5oCkBAIC0zMiwxMSArMzIsOSBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZDogaWJfbWFkLmggNTU5NiAyMDA2LTAzLTAzIDAxOjAwOjA3WiBzZWFuLmhlZnR5ICQKICAqLwogCi0jaWYgIWRlZmluZWQoIElCX01BRF9IICkKKyNpZiAhZGVmaW5lZChJQl9NQURfSCkKICNkZWZpbmUgSUJfTUFEX0gKIAogI2luY2x1ZGUgPGxpbnV4L2xpc3QuaD4KQEAgLTE5NCw4ICsxOTIsNyBAQAogCXU4CQkJZGF0YVtJQl9NR01UX1ZFTkRPUl9EQVRBXTsKIH07CiAKLXN0cnVjdCBpYl9jbGFzc19wb3J0X2luZm8KLXsKK3N0cnVjdCBpYl9jbGFzc19wb3J0X2luZm8gewogCXU4CQkJYmFzZV92ZXJzaW9uOwogCXU4CQkJY2xhc3NfdmVyc2lvbjsKIAlfX2JlMTYJCQljYXBhYmlsaXR5X21hc2s7CkBAIC02MTQsMTEgKzYxMSwxMSBAQAogICogYW55IGNsYXNzIHNwZWNpZmljIGhlYWRlciwgYW5kIE1BRCBkYXRhIGFyZWEuCiAgKiBJZiBAcm1wcF9hY3RpdmUgaXMgc2V0LCB0aGUgUk1QUCBoZWFkZXIgd2lsbCBiZSBpbml0aWFsaXplZCBmb3Igc2VuZGluZy4KICAqLwotc3RydWN0IGliX21hZF9zZW5kX2J1ZiAqIGliX2NyZWF0ZV9zZW5kX21hZChzdHJ1Y3QgaWJfbWFkX2FnZW50ICptYWRfYWdlbnQsCi0JCQkJCSAgICB1MzIgcmVtb3RlX3FwbiwgdTE2IHBrZXlfaW5kZXgsCi0JCQkJCSAgICBpbnQgcm1wcF9hY3RpdmUsCi0JCQkJCSAgICBpbnQgaGRyX2xlbiwgaW50IGRhdGFfbGVuLAotCQkJCQkgICAgZ2ZwX3QgZ2ZwX21hc2spOworc3RydWN0IGliX21hZF9zZW5kX2J1ZiAqaWJfY3JlYXRlX3NlbmRfbWFkKHN0cnVjdCBpYl9tYWRfYWdlbnQgKm1hZF9hZ2VudCwKKwkJCQkJICAgdTMyIHJlbW90ZV9xcG4sIHUxNiBwa2V5X2luZGV4LAorCQkJCQkgICBpbnQgcm1wcF9hY3RpdmUsCisJCQkJCSAgIGludCBoZHJfbGVuLCBpbnQgZGF0YV9sZW4sCisJCQkJCSAgIGdmcF90IGdmcF9tYXNrKTsKIAogLyoqCiAgKiBpYl9pc19tYWRfY2xhc3Nfcm1wcCAtIHJldHVybnMgd2hldGhlciBnaXZlbiBtYW5hZ2VtZW50IGNsYXNzCmRpZmYgLS1naXQgYS9pbmNsdWRlL3JkbWEvaWJfcGFjay5oIGIvaW5jbHVkZS9yZG1hL2liX3BhY2suaAppbmRleCBmOTI2MDIwLi5kN2ZjNDVjIDEwMDY0NAotLS0gYS9pbmNsdWRlL3JkbWEvaWJfcGFjay5oCisrKyBiL2luY2x1ZGUvcmRtYS9pYl9wYWNrLmgKQEAgLTI4LDggKzI4LDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IGliX3BhY2suaCAxMzQ5IDIwMDQtMTItMTYgMjE6MDk6NDNaIHJvbGFuZCAkCiAgKi8KIAogI2lmbmRlZiBJQl9QQUNLX0gKZGlmZiAtLWdpdCBhL2luY2x1ZGUvcmRtYS9pYl9zYS5oIGIvaW5jbHVkZS9yZG1hL2liX3NhLmgKaW5kZXggOTQyNjkyYi4uMzg0MWMxYSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9yZG1hL2liX3NhLmgKKysrIGIvaW5jbHVkZS9yZG1hL2liX3NhLmgKQEAgLTMwLDggKzMwLDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IGliX3NhLmggMjgxMSAyMDA1LTA3LTA2IDE4OjExOjQzWiBoYWxyICQKICAqLwogCiAjaWZuZGVmIElCX1NBX0gKZGlmZiAtLWdpdCBhL2luY2x1ZGUvcmRtYS9pYl9zbWkuaCBiL2luY2x1ZGUvcmRtYS9pYl9zbWkuaAppbmRleCBmMjlhZjEzLi5hYWNhMDg3IDEwMDY0NAotLS0gYS9pbmNsdWRlL3JkbWEvaWJfc21pLmgKKysrIGIvaW5jbHVkZS9yZG1hL2liX3NtaS5oCkBAIC0zMiwxMSArMzIsOSBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZDogaWJfc21pLmggMTM4OSAyMDA0LTEyLTI3IDIyOjU2OjQ3WiByb2xhbmQgJAogICovCiAKLSNpZiAhZGVmaW5lZCggSUJfU01JX0ggKQorI2lmICFkZWZpbmVkKElCX1NNSV9IKQogI2RlZmluZSBJQl9TTUlfSAogCiAjaW5jbHVkZSA8cmRtYS9pYl9tYWQuaD4KZGlmZiAtLWdpdCBhL2luY2x1ZGUvcmRtYS9pYl91c2VyX2NtLmggYi9pbmNsdWRlL3JkbWEvaWJfdXNlcl9jbS5oCmluZGV4IDM3NjUwYWYuLmJkM2QzODAgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvcmRtYS9pYl91c2VyX2NtLmgKKysrIGIvaW5jbHVkZS9yZG1hL2liX3VzZXJfY20uaApAQCAtMjksOCArMjksNiBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZDogaWJfdXNlcl9jbS5oIDQwMTkgMjAwNS0xMS0xMSAwMDozMzowOVogc2Vhbi5oZWZ0eSAkCiAgKi8KIAogI2lmbmRlZiBJQl9VU0VSX0NNX0gKZGlmZiAtLWdpdCBhL2luY2x1ZGUvcmRtYS9pYl91c2VyX21hZC5oIGIvaW5jbHVkZS9yZG1hL2liX3VzZXJfbWFkLmgKaW5kZXggMjlkMmM3Mi4uZDZmY2UxYyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9yZG1hL2liX3VzZXJfbWFkLmgKKysrIGIvaW5jbHVkZS9yZG1hL2liX3VzZXJfbWFkLmgKQEAgLTI5LDggKzI5LDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IGliX3VzZXJfbWFkLmggMjgxNCAyMDA1LTA3LTA2IDE5OjE0OjA5WiBoYWxyICQKICAqLwogCiAjaWZuZGVmIElCX1VTRVJfTUFEX0gKZGlmZiAtLWdpdCBhL2luY2x1ZGUvcmRtYS9pYl91c2VyX3ZlcmJzLmggYi9pbmNsdWRlL3JkbWEvaWJfdXNlcl92ZXJicy5oCmluZGV4IDhkNjViZjAuLmExN2Y3NzEgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvcmRtYS9pYl91c2VyX3ZlcmJzLmgKKysrIGIvaW5jbHVkZS9yZG1hL2liX3VzZXJfdmVyYnMuaApAQCAtMzEsOCArMzEsNiBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZDogaWJfdXNlcl92ZXJicy5oIDQwMTkgMjAwNS0xMS0xMSAwMDozMzowOVogc2Vhbi5oZWZ0eSAkCiAgKi8KIAogI2lmbmRlZiBJQl9VU0VSX1ZFUkJTX0gKQEAgLTI5MSw3ICsyODksMTAgQEAKIAlfX3UzMiBvcGNvZGU7CiAJX191MzIgdmVuZG9yX2VycjsKIAlfX3UzMiBieXRlX2xlbjsKLQlfX3UzMiBpbW1fZGF0YTsKKwl1bmlvbiB7CisJCV9fdTMyIGltbV9kYXRhOworCQlfX3UzMiBpbnZhbGlkYXRlX3JrZXk7CisJfSBleDsKIAlfX3UzMiBxcF9udW07CiAJX191MzIgc3JjX3FwOwogCV9fdTMyIHdjX2ZsYWdzOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9yZG1hL2liX3ZlcmJzLmggYi9pbmNsdWRlL3JkbWEvaWJfdmVyYnMuaAppbmRleCAzMWQzMGIxLi45MGI1MjlmIDEwMDY0NAotLS0gYS9pbmNsdWRlL3JkbWEvaWJfdmVyYnMuaAorKysgYi9pbmNsdWRlL3JkbWEvaWJfdmVyYnMuaApAQCAtMzQsOCArMzQsNiBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZDogaWJfdmVyYnMuaCAxMzQ5IDIwMDQtMTItMTYgMjE6MDk6NDNaIHJvbGFuZCAkCiAgKi8KIAogI2lmICFkZWZpbmVkKElCX1ZFUkJTX0gpCkBAIC05Myw3ICs5MSw3IEBACiAJSUJfREVWSUNFX1JDX1JOUl9OQUtfR0VOCT0gKDE8PDEyKSwKIAlJQl9ERVZJQ0VfU1JRX1JFU0laRQkJPSAoMTw8MTMpLAogCUlCX0RFVklDRV9OX05PVElGWV9DUQkJPSAoMTw8MTQpLAotCUlCX0RFVklDRV9aRVJPX1NUQUcJCT0gKDE8PDE1KSwKKwlJQl9ERVZJQ0VfTE9DQUxfRE1BX0xLRVkJPSAoMTw8MTUpLAogCUlCX0RFVklDRV9SRVNFUlZFRAkJPSAoMTw8MTYpLCAvKiBvbGQgU0VORF9XX0lOViAqLwogCUlCX0RFVklDRV9NRU1fV0lORE9XCQk9ICgxPDwxNyksCiAJLyoKQEAgLTEwNSw2ICsxMDMsOCBAQAogCSAqLwogCUlCX0RFVklDRV9VRF9JUF9DU1VNCQk9ICgxPDwxOCksCiAJSUJfREVWSUNFX1VEX1RTTwkJPSAoMTw8MTkpLAorCUlCX0RFVklDRV9NRU1fTUdUX0VYVEVOU0lPTlMJPSAoMTw8MjEpLAorCUlCX0RFVklDRV9CTE9DS19NVUxUSUNBU1RfTE9PUEJBQ0sgPSAoMTw8MjIpLAogfTsKIAogZW51bSBpYl9hdG9taWNfY2FwIHsKQEAgLTE1MCw2ICsxNTAsNyBAQAogCWludAkJCW1heF9zcnE7CiAJaW50CQkJbWF4X3NycV93cjsKIAlpbnQJCQltYXhfc3JxX3NnZTsKKwl1bnNpZ25lZCBpbnQJCW1heF9mYXN0X3JlZ19wYWdlX2xpc3RfbGVuOwogCXUxNgkJCW1heF9wa2V5czsKIAl1OAkJCWxvY2FsX2NhX2Fja19kZWxheTsKIH07CkBAIC0yMjYsNiArMjI3LDU3IEBACiAJfQogfQogCitzdHJ1Y3QgaWJfcHJvdG9jb2xfc3RhdHMgeworCS8qIFRCRC4uLiAqLworfTsKKworc3RydWN0IGl3X3Byb3RvY29sX3N0YXRzIHsKKwl1NjQJaXBJblJlY2VpdmVzOworCXU2NAlpcEluSGRyRXJyb3JzOworCXU2NAlpcEluVG9vQmlnRXJyb3JzOworCXU2NAlpcEluTm9Sb3V0ZXM7CisJdTY0CWlwSW5BZGRyRXJyb3JzOworCXU2NAlpcEluVW5rbm93blByb3RvczsKKwl1NjQJaXBJblRydW5jYXRlZFBrdHM7CisJdTY0CWlwSW5EaXNjYXJkczsKKwl1NjQJaXBJbkRlbGl2ZXJzOworCXU2NAlpcE91dEZvcndEYXRhZ3JhbXM7CisJdTY0CWlwT3V0UmVxdWVzdHM7CisJdTY0CWlwT3V0RGlzY2FyZHM7CisJdTY0CWlwT3V0Tm9Sb3V0ZXM7CisJdTY0CWlwUmVhc21UaW1lb3V0OworCXU2NAlpcFJlYXNtUmVxZHM7CisJdTY0CWlwUmVhc21PS3M7CisJdTY0CWlwUmVhc21GYWlsczsKKwl1NjQJaXBGcmFnT0tzOworCXU2NAlpcEZyYWdGYWlsczsKKwl1NjQJaXBGcmFnQ3JlYXRlczsKKwl1NjQJaXBJbk1jYXN0UGt0czsKKwl1NjQJaXBPdXRNY2FzdFBrdHM7CisJdTY0CWlwSW5CY2FzdFBrdHM7CisJdTY0CWlwT3V0QmNhc3RQa3RzOworCisJdTY0CXRjcFJ0b0FsZ29yaXRobTsKKwl1NjQJdGNwUnRvTWluOworCXU2NAl0Y3BSdG9NYXg7CisJdTY0CXRjcE1heENvbm47CisJdTY0CXRjcEFjdGl2ZU9wZW5zOworCXU2NAl0Y3BQYXNzaXZlT3BlbnM7CisJdTY0CXRjcEF0dGVtcHRGYWlsczsKKwl1NjQJdGNwRXN0YWJSZXNldHM7CisJdTY0CXRjcEN1cnJFc3RhYjsKKwl1NjQJdGNwSW5TZWdzOworCXU2NAl0Y3BPdXRTZWdzOworCXU2NAl0Y3BSZXRyYW5zU2VnczsKKwl1NjQJdGNwSW5FcnJzOworCXU2NAl0Y3BPdXRSc3RzOworfTsKKwordW5pb24gcmRtYV9wcm90b2NvbF9zdGF0cyB7CisJc3RydWN0IGliX3Byb3RvY29sX3N0YXRzCWliOworCXN0cnVjdCBpd19wcm90b2NvbF9zdGF0cwlpdzsKK307CisKIHN0cnVjdCBpYl9wb3J0X2F0dHIgewogCWVudW0gaWJfcG9ydF9zdGF0ZQlzdGF0ZTsKIAllbnVtIGliX210dQkJbWF4X210dTsKQEAgLTQxMyw2ICs0NjUsOCBAQAogCUlCX1dDX0ZFVENIX0FERCwKIAlJQl9XQ19CSU5EX01XLAogCUlCX1dDX0xTTywKKwlJQl9XQ19MT0NBTF9JTlYsCisJSUJfV0NfRkFTVF9SRUdfTVIsCiAvKgogICogU2V0IHZhbHVlIG9mIElCX1dDX1JFQ1Ygc28gY29uc3VtZXJzIGNhbiB0ZXN0IGlmIGEgY29tcGxldGlvbiBpcyBhCiAgKiByZWNlaXZlIGJ5IHRlc3RpbmcgKG9wY29kZSAmIElCX1dDX1JFQ1YpLgpAQCAtNDIzLDcgKzQ3Nyw4IEBACiAKIGVudW0gaWJfd2NfZmxhZ3MgewogCUlCX1dDX0dSSAkJPSAxLAotCUlCX1dDX1dJVEhfSU1NCQk9ICgxPDwxKQorCUlCX1dDX1dJVEhfSU1NCQk9ICgxPDwxKSwKKwlJQl9XQ19XSVRIX0lOVkFMSURBVEUJPSAoMTw8MiksCiB9OwogCiBzdHJ1Y3QgaWJfd2MgewpAQCAtNDMzLDcgKzQ4OCwxMCBAQAogCXUzMgkJCXZlbmRvcl9lcnI7CiAJdTMyCQkJYnl0ZV9sZW47CiAJc3RydWN0IGliX3FwCSAgICAgICAqcXA7Ci0JX19iZTMyCQkJaW1tX2RhdGE7CisJdW5pb24geworCQlfX2JlMzIJCWltbV9kYXRhOworCQl1MzIJCWludmFsaWRhdGVfcmtleTsKKwl9IGV4OwogCXUzMgkJCXNyY19xcDsKIAlpbnQJCQl3Y19mbGFnczsKIAl1MTYJCQlwa2V5X2luZGV4OwpAQCAtNDk4LDcgKzU1Niw4IEBACiB9OwogCiBlbnVtIGliX3FwX2NyZWF0ZV9mbGFncyB7Ci0JSUJfUVBfQ1JFQVRFX0lQT0lCX1VEX0xTTwk9IDEgPDwgMCwKKwlJQl9RUF9DUkVBVEVfSVBPSUJfVURfTFNPCQk9IDEgPDwgMCwKKwlJQl9RUF9DUkVBVEVfQkxPQ0tfTVVMVElDQVNUX0xPT1BCQUNLCT0gMSA8PCAxLAogfTsKIAogc3RydWN0IGliX3FwX2luaXRfYXR0ciB7CkBAIC02MjcsNiArNjg2LDkgQEAKIAlJQl9XUl9BVE9NSUNfRkVUQ0hfQU5EX0FERCwKIAlJQl9XUl9MU08sCiAJSUJfV1JfU0VORF9XSVRIX0lOViwKKwlJQl9XUl9SRE1BX1JFQURfV0lUSF9JTlYsCisJSUJfV1JfTE9DQUxfSU5WLAorCUlCX1dSX0ZBU1RfUkVHX01SLAogfTsKIAogZW51bSBpYl9zZW5kX2ZsYWdzIHsKQEAgLTY0Myw2ICs3MDUsMTIgQEAKIAl1MzIJbGtleTsKIH07CiAKK3N0cnVjdCBpYl9mYXN0X3JlZ19wYWdlX2xpc3QgeworCXN0cnVjdCBpYl9kZXZpY2UgICAgICAgKmRldmljZTsKKwl1NjQJCSAgICAgICAqcGFnZV9saXN0OworCXVuc2lnbmVkIGludAkJbWF4X3BhZ2VfbGlzdF9sZW47Cit9OworCiBzdHJ1Y3QgaWJfc2VuZF93ciB7CiAJc3RydWN0IGliX3NlbmRfd3IgICAgICAqbmV4dDsKIAl1NjQJCQl3cl9pZDsKQEAgLTY3NSw2ICs3NDMsMTUgQEAKIAkJCXUxNglwa2V5X2luZGV4OyAvKiB2YWxpZCBmb3IgR1NJIG9ubHkgKi8KIAkJCXU4CXBvcnRfbnVtOyAgIC8qIHZhbGlkIGZvciBEUiBTTVBzIG9uIHN3aXRjaCBvbmx5ICovCiAJCX0gdWQ7CisJCXN0cnVjdCB7CisJCQl1NjQJCQkJaW92YV9zdGFydDsKKwkJCXN0cnVjdCBpYl9mYXN0X3JlZ19wYWdlX2xpc3QgICAqcGFnZV9saXN0OworCQkJdW5zaWduZWQgaW50CQkJcGFnZV9zaGlmdDsKKwkJCXVuc2lnbmVkIGludAkJCXBhZ2VfbGlzdF9sZW47CisJCQl1MzIJCQkJbGVuZ3RoOworCQkJaW50CQkJCWFjY2Vzc19mbGFnczsKKwkJCXUzMgkJCQlya2V5OworCQl9IGZhc3RfcmVnOwogCX0gd3I7CiB9OwogCkBAIC03NzcsNyArODU0LDcgQEAKIAlzdHJ1Y3QgaWJfdW9iamVjdCAgICAgICp1b2JqZWN0OwogCWliX2NvbXBfaGFuZGxlciAgIAljb21wX2hhbmRsZXI7CiAJdm9pZCAgICAgICAgICAgICAgICAgICgqZXZlbnRfaGFuZGxlcikoc3RydWN0IGliX2V2ZW50ICosIHZvaWQgKik7Ci0Jdm9pZCAqICAgICAgICAgICAgCWNxX2NvbnRleHQ7CisJdm9pZCAgICAgICAgICAgICAgICAgICAqY3FfY29udGV4dDsKIAlpbnQgICAgICAgICAgICAgICAJY3FlOwogCWF0b21pY190ICAgICAgICAgIAl1c2VjbnQ7IC8qIGNvdW50IG51bWJlciBvZiB3b3JrIHF1ZXVlcyAqLwogfTsKQEAgLTg4Myw3ICs5NjAsNyBAQAogCXZvaWQJCSgqc3luY19zaW5nbGVfZm9yX2NwdSkoc3RydWN0IGliX2RldmljZSAqZGV2LAogCQkJCQkgICAgICAgdTY0IGRtYV9oYW5kbGUsCiAJCQkJCSAgICAgICBzaXplX3Qgc2l6ZSwKLQkJCQkgICAgICAgICAgICAgICBlbnVtIGRtYV9kYXRhX2RpcmVjdGlvbiBkaXIpOworCQkJCQkgICAgICAgZW51bSBkbWFfZGF0YV9kaXJlY3Rpb24gZGlyKTsKIAl2b2lkCQkoKnN5bmNfc2luZ2xlX2Zvcl9kZXZpY2UpKHN0cnVjdCBpYl9kZXZpY2UgKmRldiwKIAkJCQkJCSAgdTY0IGRtYV9oYW5kbGUsCiAJCQkJCQkgIHNpemVfdCBzaXplLApAQCAtOTE5LDYgKzk5Niw4IEBACiAKIAlzdHJ1Y3QgaXdfY21fdmVyYnMJICAgICAqaXdjbTsKIAorCWludAkJICAgICAgICAgICAoKmdldF9wcm90b2NvbF9zdGF0cykoc3RydWN0IGliX2RldmljZSAqZGV2aWNlLAorCQkJCQkJCSB1bmlvbiByZG1hX3Byb3RvY29sX3N0YXRzICpzdGF0cyk7CiAJaW50CQkgICAgICAgICAgICgqcXVlcnlfZGV2aWNlKShzdHJ1Y3QgaWJfZGV2aWNlICpkZXZpY2UsCiAJCQkJCQkgICBzdHJ1Y3QgaWJfZGV2aWNlX2F0dHIgKmRldmljZV9hdHRyKTsKIAlpbnQJCSAgICAgICAgICAgKCpxdWVyeV9wb3J0KShzdHJ1Y3QgaWJfZGV2aWNlICpkZXZpY2UsCkBAIC0xMDEzLDYgKzEwOTIsMTEgQEAKIAlpbnQgICAgICAgICAgICAgICAgICAgICAgICAoKnF1ZXJ5X21yKShzdHJ1Y3QgaWJfbXIgKm1yLAogCQkJCQkgICAgICAgc3RydWN0IGliX21yX2F0dHIgKm1yX2F0dHIpOwogCWludCAgICAgICAgICAgICAgICAgICAgICAgICgqZGVyZWdfbXIpKHN0cnVjdCBpYl9tciAqbXIpOworCXN0cnVjdCBpYl9tciAqCQkgICAoKmFsbG9jX2Zhc3RfcmVnX21yKShzdHJ1Y3QgaWJfcGQgKnBkLAorCQkJCQkgICAgICAgaW50IG1heF9wYWdlX2xpc3RfbGVuKTsKKwlzdHJ1Y3QgaWJfZmFzdF9yZWdfcGFnZV9saXN0ICogKCphbGxvY19mYXN0X3JlZ19wYWdlX2xpc3QpKHN0cnVjdCBpYl9kZXZpY2UgKmRldmljZSwKKwkJCQkJCQkJICAgaW50IHBhZ2VfbGlzdF9sZW4pOworCXZvaWQJCQkgICAoKmZyZWVfZmFzdF9yZWdfcGFnZV9saXN0KShzdHJ1Y3QgaWJfZmFzdF9yZWdfcGFnZV9saXN0ICpwYWdlX2xpc3QpOwogCWludCAgICAgICAgICAgICAgICAgICAgICAgICgqcmVyZWdfcGh5c19tcikoc3RydWN0IGliX21yICptciwKIAkJCQkJCSAgICBpbnQgbXJfcmVyZWdfbWFzaywKIAkJCQkJCSAgICBzdHJ1Y3QgaWJfcGQgKnBkLApAQCAtMTA2NSw2ICsxMTQ5LDcgQEAKIAogCWNoYXIJCQkgICAgIG5vZGVfZGVzY1s2NF07CiAJX19iZTY0CQkJICAgICBub2RlX2d1aWQ7CisJdTMyCQkJICAgICBsb2NhbF9kbWFfbGtleTsKIAl1OCAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vZGVfdHlwZTsKIAl1OCAgICAgICAgICAgICAgICAgICAgICAgICAgIHBoeXNfcG9ydF9jbnQ7CiB9OwpAQCAtMTgwNyw2ICsxODkyLDU0IEBACiBpbnQgaWJfZGVyZWdfbXIoc3RydWN0IGliX21yICptcik7CiAKIC8qKgorICogaWJfYWxsb2NfZmFzdF9yZWdfbXIgLSBBbGxvY2F0ZXMgbWVtb3J5IHJlZ2lvbiB1c2FibGUgd2l0aCB0aGUKKyAqICAgSUJfV1JfRkFTVF9SRUdfTVIgc2VuZCB3b3JrIHJlcXVlc3QuCisgKiBAcGQ6IFRoZSBwcm90ZWN0aW9uIGRvbWFpbiBhc3NvY2lhdGVkIHdpdGggdGhlIHJlZ2lvbi4KKyAqIEBtYXhfcGFnZV9saXN0X2xlbjogcmVxdWVzdGVkIG1heCBwaHlzaWNhbCBidWZmZXIgbGlzdCBsZW5ndGggdG8gYmUKKyAqICAgdXNlZCB3aXRoIGZhc3QgcmVnaXN0ZXIgd29yayByZXF1ZXN0cyBmb3IgdGhpcyBNUi4KKyAqLworc3RydWN0IGliX21yICppYl9hbGxvY19mYXN0X3JlZ19tcihzdHJ1Y3QgaWJfcGQgKnBkLCBpbnQgbWF4X3BhZ2VfbGlzdF9sZW4pOworCisvKioKKyAqIGliX2FsbG9jX2Zhc3RfcmVnX3BhZ2VfbGlzdCAtIEFsbG9jYXRlcyBhIHBhZ2UgbGlzdCBhcnJheQorICogQGRldmljZSAtIGliIGRldmljZSBwb2ludGVyLgorICogQHBhZ2VfbGlzdF9sZW4gLSBzaXplIG9mIHRoZSBwYWdlIGxpc3QgYXJyYXkgdG8gYmUgYWxsb2NhdGVkLgorICoKKyAqIFRoaXMgYWxsb2NhdGVzIGFuZCByZXR1cm5zIGEgc3RydWN0IGliX2Zhc3RfcmVnX3BhZ2VfbGlzdCAqIGFuZCBhCisgKiBwYWdlX2xpc3QgYXJyYXkgdGhhdCBpcyBhdCBsZWFzdCBwYWdlX2xpc3RfbGVuIGluIHNpemUuICBUaGUgYWN0dWFsCisgKiBzaXplIGlzIHJldHVybmVkIGluIG1heF9wYWdlX2xpc3RfbGVuLiAgVGhlIGNhbGxlciBpcyByZXNwb25zaWJsZQorICogZm9yIGluaXRpYWxpemluZyB0aGUgY29udGVudHMgb2YgdGhlIHBhZ2VfbGlzdCBhcnJheSBiZWZvcmUgcG9zdGluZworICogYSBzZW5kIHdvcmsgcmVxdWVzdCB3aXRoIHRoZSBJQl9XQ19GQVNUX1JFR19NUiBvcGNvZGUuCisgKgorICogVGhlIHBhZ2VfbGlzdCBhcnJheSBlbnRyaWVzIG11c3QgYmUgdHJhbnNsYXRlZCB1c2luZyBvbmUgb2YgdGhlCisgKiBpYl9kbWFfKigpIGZ1bmN0aW9ucyBqdXN0IGxpa2UgdGhlIGFkZHJlc3NlcyBwYXNzZWQgdG8KKyAqIGliX21hcF9waHlzX2ZtcigpLiAgT25jZSB0aGUgaWJfcG9zdF9zZW5kKCkgaXMgaXNzdWVkLCB0aGUgc3RydWN0CisgKiBpYl9mYXN0X3JlZ19wYWdlX2xpc3QgbXVzdCBub3QgYmUgbW9kaWZpZWQgYnkgdGhlIGNhbGxlciB1bnRpbCB0aGUKKyAqIElCX1dDX0ZBU1RfUkVHX01SIHdvcmsgcmVxdWVzdCBjb21wbGV0ZXMuCisgKi8KK3N0cnVjdCBpYl9mYXN0X3JlZ19wYWdlX2xpc3QgKmliX2FsbG9jX2Zhc3RfcmVnX3BhZ2VfbGlzdCgKKwkJCQlzdHJ1Y3QgaWJfZGV2aWNlICpkZXZpY2UsIGludCBwYWdlX2xpc3RfbGVuKTsKKworLyoqCisgKiBpYl9mcmVlX2Zhc3RfcmVnX3BhZ2VfbGlzdCAtIERlYWxsb2NhdGVzIGEgcHJldmlvdXNseSBhbGxvY2F0ZWQKKyAqICAgcGFnZSBsaXN0IGFycmF5LgorICogQHBhZ2VfbGlzdCAtIHN0cnVjdCBpYl9mYXN0X3JlZ19wYWdlX2xpc3QgcG9pbnRlciB0byBiZSBkZWFsbG9jYXRlZC4KKyAqLwordm9pZCBpYl9mcmVlX2Zhc3RfcmVnX3BhZ2VfbGlzdChzdHJ1Y3QgaWJfZmFzdF9yZWdfcGFnZV9saXN0ICpwYWdlX2xpc3QpOworCisvKioKKyAqIGliX3VwZGF0ZV9mYXN0X3JlZ19rZXkgLSB1cGRhdGVzIHRoZSBrZXkgcG9ydGlvbiBvZiB0aGUgZmFzdF9yZWcgTVIKKyAqICAgUl9LZXkgYW5kIExfS2V5LgorICogQG1yIC0gc3RydWN0IGliX21yIHBvaW50ZXIgdG8gYmUgdXBkYXRlZC4KKyAqIEBuZXdrZXkgLSBuZXcga2V5IHRvIGJlIHVzZWQuCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCBpYl91cGRhdGVfZmFzdF9yZWdfa2V5KHN0cnVjdCBpYl9tciAqbXIsIHU4IG5ld2tleSkKK3sKKwltci0+bGtleSA9IChtci0+bGtleSAmIDB4ZmZmZmZmMDApIHwgbmV3a2V5OworCW1yLT5ya2V5ID0gKG1yLT5ya2V5ICYgMHhmZmZmZmYwMCkgfCBuZXdrZXk7Cit9CisKKy8qKgogICogaWJfYWxsb2NfbXcgLSBBbGxvY2F0ZXMgYSBtZW1vcnkgd2luZG93LgogICogQHBkOiBUaGUgcHJvdGVjdGlvbiBkb21haW4gYXNzb2NpYXRlZCB3aXRoIHRoZSBtZW1vcnkgd2luZG93LgogICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL3JkbWEvaXdfY20uaCBiL2luY2x1ZGUvcmRtYS9pd19jbS5oCmluZGV4IGFlZWZhOWIuLmNiYjgyMmUgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvcmRtYS9pd19jbS5oCisrKyBiL2luY2x1ZGUvcmRtYS9pd19jbS5oCkBAIC02Miw3ICs2Miw3IEBACiAJc3RydWN0IHNvY2thZGRyX2luIHJlbW90ZV9hZGRyOwogCXZvaWQgKnByaXZhdGVfZGF0YTsKIAl1OCBwcml2YXRlX2RhdGFfbGVuOwotCXZvaWQqIHByb3ZpZGVyX2RhdGE7CisJdm9pZCAqcHJvdmlkZXJfZGF0YTsKIH07CiAKIC8qKgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9yZG1hL3JkbWFfY20uaCBiL2luY2x1ZGUvcmRtYS9yZG1hX2NtLmgKaW5kZXggMDEwZjg3Ni4uMjJiYjJlNyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9yZG1hL3JkbWFfY20uaAorKysgYi9pbmNsdWRlL3JkbWEvcmRtYV9jbS5oCkBAIC0yLDI5ICsyLDMzIEBACiAgKiBDb3B5cmlnaHQgKGMpIDIwMDUgVm9sdGFpcmUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAoYykgMjAwNSBJbnRlbCBDb3Jwb3JhdGlvbi4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgotICogVGhpcyBTb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciBvbmUgb2YgdGhlIGZvbGxvd2luZyBsaWNlbnNlczoKKyAqIFRoaXMgc29mdHdhcmUgaXMgYXZhaWxhYmxlIHRvIHlvdSB1bmRlciBhIGNob2ljZSBvZiBvbmUgb2YgdHdvCisgKiBsaWNlbnNlcy4gIFlvdSBtYXkgY2hvb3NlIHRvIGJlIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VCisgKiBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIChHUEwpIFZlcnNpb24gMiwgYXZhaWxhYmxlIGZyb20gdGhlIGZpbGUKKyAqIENPUFlJTkcgaW4gdGhlIG1haW4gZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUsIG9yIHRoZQorICogT3BlbklCLm9yZyBCU0QgbGljZW5zZSBiZWxvdzoKICAqCi0gKiAxKSB1bmRlciB0aGUgdGVybXMgb2YgdGhlICJDb21tb24gUHVibGljIExpY2Vuc2UgMS4wIiBhIGNvcHkgb2Ygd2hpY2ggaXMKLSAqICAgIGF2YWlsYWJsZSBmcm9tIHRoZSBPcGVuIFNvdXJjZSBJbml0aWF0aXZlLCBzZWUKLSAqICAgIGh0dHA6Ly93d3cub3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvY3BsLnBocC4KKyAqICAgICBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yCisgKiAgICAgd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nCisgKiAgICAgY29uZGl0aW9ucyBhcmUgbWV0OgogICoKLSAqIDIpIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgIlRoZSBCU0QgTGljZW5zZSIgYSBjb3B5IG9mIHdoaWNoIGlzCi0gKiAgICBhdmFpbGFibGUgZnJvbSB0aGUgT3BlbiBTb3VyY2UgSW5pdGlhdGl2ZSwgc2VlCi0gKiAgICBodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL2JzZC1saWNlbnNlLnBocC4KKyAqICAgICAgLSBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlCisgKiAgICAgICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKKyAqICAgICAgICBkaXNjbGFpbWVyLgogICoKLSAqIDMpIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgIkdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIChHUEwpIFZlcnNpb24gMiIgYQotICogICAgY29weSBvZiB3aGljaCBpcyBhdmFpbGFibGUgZnJvbSB0aGUgT3BlbiBTb3VyY2UgSW5pdGlhdGl2ZSwgc2VlCi0gKiAgICBodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL2dwbC1saWNlbnNlLnBocC4KKyAqICAgICAgLSBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiAgICAgICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKKyAqICAgICAgICBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMKKyAqICAgICAgICBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCiAgKgotICogTGljZW5zZWUgaGFzIHRoZSByaWdodCB0byBjaG9vc2Ugb25lIG9mIHRoZSBhYm92ZSBsaWNlbnNlcy4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogbm90aWNlIGFuZCBvbmUgb2YgdGhlIGxpY2Vuc2Ugbm90aWNlcy4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgYm90aCB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiBub3RpY2UsIG9uZSBvZiB0aGUgbGljZW5zZSBub3RpY2VzIGluIHRoZSBkb2N1bWVudGF0aW9uCi0gKiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCisgKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorICogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQKKyAqIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTgorICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KKyAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKKyAqIFNPRlRXQVJFLgogICovCiAKICNpZiAhZGVmaW5lZChSRE1BX0NNX0gpCkBAIC01NywxMSArNjEsMTEgQEAKIH07CiAKIGVudW0gcmRtYV9wb3J0X3NwYWNlIHsKLQlSRE1BX1BTX1NEUCAgPSAweDAwMDEsCi0JUkRNQV9QU19JUE9JQj0gMHgwMDAyLAotCVJETUFfUFNfVENQICA9IDB4MDEwNiwKLQlSRE1BX1BTX1VEUCAgPSAweDAxMTEsCi0JUkRNQV9QU19TQ1RQID0gMHgwMTgzCisJUkRNQV9QU19TRFAgICA9IDB4MDAwMSwKKwlSRE1BX1BTX0lQT0lCID0gMHgwMDAyLAorCVJETUFfUFNfVENQICAgPSAweDAxMDYsCisJUkRNQV9QU19VRFAgICA9IDB4MDExMSwKKwlSRE1BX1BTX1NDVFAgID0gMHgwMTgzCiB9OwogCiBzdHJ1Y3QgcmRtYV9hZGRyIHsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvcmRtYS9yZG1hX2NtX2liLmggYi9pbmNsdWRlL3JkbWEvcmRtYV9jbV9pYi5oCmluZGV4IDk1MDQyNGIuLjIzODljM2IgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvcmRtYS9yZG1hX2NtX2liLmgKKysrIGIvaW5jbHVkZS9yZG1hL3JkbWFfY21faWIuaApAQCAtMSwyOSArMSwzMyBAQAogLyoKICAqIENvcHlyaWdodCAoYykgMjAwNiBJbnRlbCBDb3Jwb3JhdGlvbi4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgotICogVGhpcyBTb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciBvbmUgb2YgdGhlIGZvbGxvd2luZyBsaWNlbnNlczoKKyAqIFRoaXMgc29mdHdhcmUgaXMgYXZhaWxhYmxlIHRvIHlvdSB1bmRlciBhIGNob2ljZSBvZiBvbmUgb2YgdHdvCisgKiBsaWNlbnNlcy4gIFlvdSBtYXkgY2hvb3NlIHRvIGJlIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VCisgKiBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIChHUEwpIFZlcnNpb24gMiwgYXZhaWxhYmxlIGZyb20gdGhlIGZpbGUKKyAqIENPUFlJTkcgaW4gdGhlIG1haW4gZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUsIG9yIHRoZQorICogT3BlbklCLm9yZyBCU0QgbGljZW5zZSBiZWxvdzoKICAqCi0gKiAxKSB1bmRlciB0aGUgdGVybXMgb2YgdGhlICJDb21tb24gUHVibGljIExpY2Vuc2UgMS4wIiBhIGNvcHkgb2Ygd2hpY2ggaXMKLSAqICAgIGF2YWlsYWJsZSBmcm9tIHRoZSBPcGVuIFNvdXJjZSBJbml0aWF0aXZlLCBzZWUKLSAqICAgIGh0dHA6Ly93d3cub3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvY3BsLnBocC4KKyAqICAgICBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yCisgKiAgICAgd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nCisgKiAgICAgY29uZGl0aW9ucyBhcmUgbWV0OgogICoKLSAqIDIpIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgIlRoZSBCU0QgTGljZW5zZSIgYSBjb3B5IG9mIHdoaWNoIGlzCi0gKiAgICBhdmFpbGFibGUgZnJvbSB0aGUgT3BlbiBTb3VyY2UgSW5pdGlhdGl2ZSwgc2VlCi0gKiAgICBodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL2JzZC1saWNlbnNlLnBocC4KKyAqICAgICAgLSBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlCisgKiAgICAgICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKKyAqICAgICAgICBkaXNjbGFpbWVyLgogICoKLSAqIDMpIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgIkdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIChHUEwpIFZlcnNpb24gMiIgYQotICogICAgY29weSBvZiB3aGljaCBpcyBhdmFpbGFibGUgZnJvbSB0aGUgT3BlbiBTb3VyY2UgSW5pdGlhdGl2ZSwgc2VlCi0gKiAgICBodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL2dwbC1saWNlbnNlLnBocC4KKyAqICAgICAgLSBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiAgICAgICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKKyAqICAgICAgICBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMKKyAqICAgICAgICBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCiAgKgotICogTGljZW5zZWUgaGFzIHRoZSByaWdodCB0byBjaG9vc2Ugb25lIG9mIHRoZSBhYm92ZSBsaWNlbnNlcy4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogbm90aWNlIGFuZCBvbmUgb2YgdGhlIGxpY2Vuc2Ugbm90aWNlcy4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgYm90aCB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiBub3RpY2UsIG9uZSBvZiB0aGUgbGljZW5zZSBub3RpY2VzIGluIHRoZSBkb2N1bWVudGF0aW9uCi0gKiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCisgKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorICogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQKKyAqIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTgorICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KKyAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKKyAqIFNPRlRXQVJFLgogICovCiAKICNpZiAhZGVmaW5lZChSRE1BX0NNX0lCX0gpCmRpZmYgLS1naXQgYS9pbmNsdWRlL3NvdW5kL2FkMTg0My5oIGIvaW5jbHVkZS9zb3VuZC9hZDE4NDMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMjM2YTlkCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9zb3VuZC9hZDE4NDMuaApAQCAtMCwwICsxLDQ2IEBACisvKgorICogVGhpcyBmaWxlIGlzIHN1YmplY3QgdG8gdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UuICBTZWUgdGhlIGZpbGUgIkNPUFlJTkciIGluIHRoZSBtYWluIGRpcmVjdG9yeSBvZiB0aGlzIGFyY2hpdmUKKyAqIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogQ29weXJpZ2h0IDIwMDMgVml2aWVuIENoYXBwZWxpZXIgPHZpdmllbi5jaGFwcGVsaWVyQGxpbnV4LW1pcHMub3JnPgorICogQ29weXJpZ2h0IDIwMDggVGhvbWFzIEJvZ2VuZG9lcmZlciA8dHNib2dlbmRAZnJhbmtlbi5kZT4KKyAqLworCisjaWZuZGVmIF9fU09VTkRfQUQxODQzX0gKKyNkZWZpbmUgX19TT1VORF9BRDE4NDNfSAorCitzdHJ1Y3Qgc25kX2FkMTg0MyB7CisJdm9pZCAqY2hpcDsKKwlpbnQgKCpyZWFkKSh2b2lkICpjaGlwLCBpbnQgcmVnKTsKKwlpbnQgKCp3cml0ZSkodm9pZCAqY2hpcCwgaW50IHJlZywgaW50IHZhbCk7Cit9OworCisjZGVmaW5lIEFEMTg0M19HQUlOX1JFQ0xFViAwCisjZGVmaW5lIEFEMTg0M19HQUlOX0xJTkUgICAxCisjZGVmaW5lIEFEMTg0M19HQUlOX0xJTkVfMiAyCisjZGVmaW5lIEFEMTg0M19HQUlOX01JQyAgICAzCisjZGVmaW5lIEFEMTg0M19HQUlOX1BDTV8wICA0CisjZGVmaW5lIEFEMTg0M19HQUlOX1BDTV8xICA1CisjZGVmaW5lIEFEMTg0M19HQUlOX1NJWkUgICAoQUQxODQzX0dBSU5fUENNXzErMSkKKworaW50IGFkMTg0M19nZXRfZ2Fpbl9tYXgoc3RydWN0IHNuZF9hZDE4NDMgKmFkMTg0MywgaW50IGlkKTsKK2ludCBhZDE4NDNfZ2V0X2dhaW4oc3RydWN0IHNuZF9hZDE4NDMgKmFkMTg0MywgaW50IGlkKTsKK2ludCBhZDE4NDNfc2V0X2dhaW4oc3RydWN0IHNuZF9hZDE4NDMgKmFkMTg0MywgaW50IGlkLCBpbnQgbmV3dmFsKTsKK2ludCBhZDE4NDNfZ2V0X3JlY3NyYyhzdHJ1Y3Qgc25kX2FkMTg0MyAqYWQxODQzKTsKK2ludCBhZDE4NDNfc2V0X3JlY3NyYyhzdHJ1Y3Qgc25kX2FkMTg0MyAqYWQxODQzLCBpbnQgbmV3c3JjKTsKK3ZvaWQgYWQxODQzX3NldHVwX2RhYyhzdHJ1Y3Qgc25kX2FkMTg0MyAqYWQxODQzLAorCQkgICAgICB1bnNpZ25lZCBpbnQgaWQsCisJCSAgICAgIHVuc2lnbmVkIGludCBmcmFtZXJhdGUsCisJCSAgICAgIHNuZF9wY21fZm9ybWF0X3QgZm10LAorCQkgICAgICB1bnNpZ25lZCBpbnQgY2hhbm5lbHMpOwordm9pZCBhZDE4NDNfc2h1dGRvd25fZGFjKHN0cnVjdCBzbmRfYWQxODQzICphZDE4NDMsCisJCQkgdW5zaWduZWQgaW50IGlkKTsKK3ZvaWQgYWQxODQzX3NldHVwX2FkYyhzdHJ1Y3Qgc25kX2FkMTg0MyAqYWQxODQzLAorCQkgICAgICB1bnNpZ25lZCBpbnQgZnJhbWVyYXRlLAorCQkgICAgICBzbmRfcGNtX2Zvcm1hdF90IGZtdCwKKwkJICAgICAgdW5zaWduZWQgaW50IGNoYW5uZWxzKTsKK3ZvaWQgYWQxODQzX3NodXRkb3duX2FkYyhzdHJ1Y3Qgc25kX2FkMTg0MyAqYWQxODQzKTsKK2ludCBhZDE4NDNfaW5pdChzdHJ1Y3Qgc25kX2FkMTg0MyAqYWQxODQzKTsKKworI2VuZGlmIC8qIF9fU09VTkRfQUQxODQzX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvc291bmQvY29udHJvbC5oIGIvaW5jbHVkZS9zb3VuZC9jb250cm9sLmgKaW5kZXggM2RjMTI5MS4uNDcyMWI0YiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9zb3VuZC9jb250cm9sLmgKKysrIGIvaW5jbHVkZS9zb3VuZC9jb250cm9sLmgKQEAgLTEyOSw5ICsxMjksNiBAQAogI2RlZmluZSBzbmRfY3RsX3VucmVnaXN0ZXJfaW9jdGxfY29tcGF0KGZjbikKICNlbmRpZgogCi1pbnQgc25kX2N0bF9lbGVtX3JlYWQoc3RydWN0IHNuZF9jYXJkICpjYXJkLCBzdHJ1Y3Qgc25kX2N0bF9lbGVtX3ZhbHVlICpjb250cm9sKTsKLWludCBzbmRfY3RsX2VsZW1fd3JpdGUoc3RydWN0IHNuZF9jYXJkICpjYXJkLCBzdHJ1Y3Qgc25kX2N0bF9maWxlICpmaWxlLCBzdHJ1Y3Qgc25kX2N0bF9lbGVtX3ZhbHVlICpjb250cm9sKTsKLQogc3RhdGljIGlubGluZSB1bnNpZ25lZCBpbnQgc25kX2N0bF9nZXRfaW9mZm51bShzdHJ1Y3Qgc25kX2tjb250cm9sICprY3RsLCBzdHJ1Y3Qgc25kX2N0bF9lbGVtX2lkICppZCkKIHsKIAlyZXR1cm4gaWQtPm51bWlkIC0ga2N0bC0+aWQubnVtaWQ7CmRpZmYgLS1naXQgYS9pbmNsdWRlL3NvdW5kL2NvcmUuaCBiL2luY2x1ZGUvc291bmQvY29yZS5oCmluZGV4IDY5NWVlNTMuLjU1OGI5NjIgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvc291bmQvY29yZS5oCisrKyBiL2luY2x1ZGUvc291bmQvY29yZS5oCkBAIC00MTIsMTMgKzQxMiwxMyBAQAogCiAjZW5kaWYgLyogQ09ORklHX1NORF9ERUJVRyAqLwogCi0jaWZkZWYgQ09ORklHX1NORF9ERUJVR19ERVRFQ1QKKyNpZmRlZiBDT05GSUdfU05EX0RFQlVHX1ZFUkJPU0UKIC8qKgogICogc25kX3ByaW50ZGQgLSBkZWJ1ZyBwcmludGsKICAqIEBmb3JtYXQ6IGZvcm1hdCBzdHJpbmcKICAqCiAgKiBXb3JrcyBsaWtlIHNuZF9wcmludGsoKSBmb3IgZGVidWdnaW5nIHB1cnBvc2VzLgotICogSWdub3JlZCB3aGVuIENPTkZJR19TTkRfREVCVUdfREVURUNUIGlzIG5vdCBzZXQuCisgKiBJZ25vcmVkIHdoZW4gQ09ORklHX1NORF9ERUJVR19WRVJCT1NFIGlzIG5vdCBzZXQuCiAgKi8KICNkZWZpbmUgc25kX3ByaW50ZGQoZm9ybWF0LCBhcmdzLi4uKSBzbmRfcHJpbnRrKGZvcm1hdCwgIyNhcmdzKQogI2Vsc2UKQEAgLTQ0Miw3ICs0NDIsNyBAQAogCXVuc2lnbmVkIHNob3J0IHN1YnZlbmRvcjsJLyogUENJIHN1YnZlbmRvciBJRCAqLwogCXVuc2lnbmVkIHNob3J0IHN1YmRldmljZTsJLyogUENJIHN1YmRldmljZSBJRCAqLwogCWludCB2YWx1ZTsJCQkvKiB2YWx1ZSAqLwotI2lmZGVmIENPTkZJR19TTkRfREVCVUdfREVURUNUCisjaWZkZWYgQ09ORklHX1NORF9ERUJVR19WRVJCT1NFCiAJY29uc3QgY2hhciAqbmFtZTsJCS8qIG5hbWUgb2YgdGhlIGRldmljZSAob3B0aW9uYWwpICovCiAjZW5kaWYKIH07CkBAIC00NTAsNyArNDUwLDcgQEAKICNkZWZpbmUgX1NORF9QQ0lfUVVJUktfSUQodmVuZCxkZXYpIFwKIAkuc3VidmVuZG9yID0gKHZlbmQpLCAuc3ViZGV2aWNlID0gKGRldikKICNkZWZpbmUgU05EX1BDSV9RVUlSS19JRCh2ZW5kLGRldikge19TTkRfUENJX1FVSVJLX0lEKHZlbmQsIGRldil9Ci0jaWZkZWYgQ09ORklHX1NORF9ERUJVR19ERVRFQ1QKKyNpZmRlZiBDT05GSUdfU05EX0RFQlVHX1ZFUkJPU0UKICNkZWZpbmUgU05EX1BDSV9RVUlSSyh2ZW5kLGRldix4bmFtZSx2YWwpIFwKIAl7X1NORF9QQ0lfUVVJUktfSUQodmVuZCwgZGV2KSwgLnZhbHVlID0gKHZhbCksIC5uYW1lID0gKHhuYW1lKX0KICNlbHNlCmRpZmYgLS1naXQgYS9pbmNsdWRlL3NvdW5kL2NzNDIzMS1yZWdzLmggYi9pbmNsdWRlL3NvdW5kL2NzNDIzMS1yZWdzLmgKaW5kZXggZThkMWYzZS4uOTI2NDc1MyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9zb3VuZC9jczQyMzEtcmVncy5oCisrKyBiL2luY2x1ZGUvc291bmQvY3M0MjMxLXJlZ3MuaApAQCAtMTc3LDQgKzE3NywxMiBAQAogI2RlZmluZSBDUzQyMzZfUklHSFRfV0FWRQkweDFjCS8qIHJpZ2h0IHdhdmV0YWJsZSBzZXJpYWwgcG9ydCB2b2x1bWUgKi8KICNkZWZpbmUgQ1M0MjM2X1ZFUlNJT04JCTB4OWMJLyogY2hpcCB2ZXJzaW9uIGFuZCBJRCAqLwogCisvKiBkZWZpbml0aW9ucyBmb3IgZXh0ZW5kZWQgcmVnaXN0ZXJzIC0gT1BUSTkzWCAqLworI2RlZmluZSBPUFRpOTMxX0FVWF9MRUZUX0lOUFVUCTB4MTAKKyNkZWZpbmUgT1BUaTkzMV9BVVhfUklHSFRfSU5QVVQJMHgxMQorI2RlZmluZSBPUFRpOTNYX01JQ19MRUZUX0lOUFVUCTB4MTQKKyNkZWZpbmUgT1BUaTkzWF9NSUNfUklHSFRfSU5QVVQJMHgxNQorI2RlZmluZSBPUFRpOTNYX09VVF9MRUZUCTB4MTYKKyNkZWZpbmUgT1BUaTkzWF9PVVRfUklHSFQJMHgxNworCiAjZW5kaWYgLyogX19TT1VORF9DUzQyMzFfUkVHU19IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL3NvdW5kL2NzNDIzMS5oIGIvaW5jbHVkZS9zb3VuZC9jczQyMzEuaAppbmRleCA2NjA1NWQ3Li5mMDc4NWY5IDEwMDY0NAotLS0gYS9pbmNsdWRlL3NvdW5kL2NzNDIzMS5oCisrKyBiL2luY2x1ZGUvc291bmQvY3M0MjMxLmgKQEAgLTU4LDYgKzU4LDcgQEAKIC8qIGNvbXBhdGlibGUsIGJ1dCBjbG9uZXMgKi8KICNkZWZpbmUgQ1M0MjMxX0hXX0lOVEVSV0FWRSAgICAgMHgxMDAwCS8qIEludGVyV2F2ZSBjaGlwICovCiAjZGVmaW5lIENTNDIzMV9IV19PUEwzU0EyICAgICAgIDB4MTEwMQkvKiBPUEwzLVNBMiBjaGlwLCBzaW1pbGFyIHRvIGNzNDIzMSAqLworI2RlZmluZSBDUzQyMzFfSFdfT1BUSTkzWCAJMHgxMTAyCS8qIE9wdGkgOTMwLzkzMS85MzMgKi8KIAogLyogZGVmaW5lcyBmb3IgY29kZWMuaHdzaGFyZSAqLwogI2RlZmluZSBDUzQyMzFfSFdTSEFSRV9JUlEJKDE8PDApCkBAIC0xMjAsNiArMTIxLDggQEAKIHZvaWQgc25kX2NzNDIzMV9tY2VfdXAoc3RydWN0IHNuZF9jczQyMzEgKmNoaXApOwogdm9pZCBzbmRfY3M0MjMxX21jZV9kb3duKHN0cnVjdCBzbmRfY3M0MjMxICpjaGlwKTsKIAordm9pZCBzbmRfY3M0MjMxX292ZXJyYW5nZShzdHJ1Y3Qgc25kX2NzNDIzMSAqY2hpcCk7CisKIGlycXJldHVybl90IHNuZF9jczQyMzFfaW50ZXJydXB0KGludCBpcnEsIHZvaWQgKmRldl9pZCk7CiAKIGNvbnN0IGNoYXIgKnNuZF9jczQyMzFfY2hpcF9pZChzdHJ1Y3Qgc25kX2NzNDIzMSAqY2hpcCk7CmRpZmYgLS1naXQgYS9pbmNsdWRlL3NvdW5kL2VtdTEwazEuaCBiL2luY2x1ZGUvc291bmQvZW11MTBrMS5oCmluZGV4IDdiN2I5YjEuLjEwZWUyOGUgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvc291bmQvZW11MTBrMS5oCisrKyBiL2luY2x1ZGUvc291bmQvZW11MTBrMS5oCkBAIC0xNjcwLDYgKzE2NzAsNyBAQAogCXVuc2lnbmVkIGNoYXIgc3BpX2RhYzsgICAgICAvKiBTUEkgaW50ZXJmYWNlIGZvciBEQUMgKi8KIAl1bnNpZ25lZCBjaGFyIGkyY19hZGM7ICAgICAgLyogSTJDIGludGVyZmFjZSBmb3IgQURDICovCiAJdW5zaWduZWQgY2hhciBhZGNfMTM2MXQ7ICAgIC8qIFVzZSBQaGlsaXBzIDEzNjFUIEFEQyAqLworCXVuc2lnbmVkIGNoYXIgaW52ZXJ0X3NoYXJlZF9zcGRpZjsgLyogYW5hbG9nL2RpZ2l0YWwgc3dpdGNoIGludmVydGVkICovCiAJY29uc3QgY2hhciAqZHJpdmVyOwogCWNvbnN0IGNoYXIgKm5hbWU7CiAJY29uc3QgY2hhciAqaWQ7CQkvKiBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSAtIGNhbiBiZSBOVUxMIGlmIG5vdCBuZWVkZWQgKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvc291bmQvc2VxX2tlcm5lbC5oIGIvaW5jbHVkZS9zb3VuZC9zZXFfa2VybmVsLmgKaW5kZXggZjAyM2MxYi4uM2Q5YWZiNiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9zb3VuZC9zZXFfa2VybmVsLmgKKysrIGIvaW5jbHVkZS9zb3VuZC9zZXFfa2VybmVsLmgKQEAgLTEwNSw3ICsxMDUsNyBAQAogCQkJICAgICAgaW50IGNhcCwgaW50IHR5cGUsIGludCBtaWRpX2NoYW5uZWxzLCBpbnQgbWlkaV92b2ljZXMsIGNoYXIgKnBvcnRuYW1lKTsKIGludCBzbmRfc2VxX2V2ZW50X3BvcnRfZGV0YWNoKGludCBjbGllbnQsIGludCBwb3J0KTsKIAotI2lmZGVmIENPTkZJR19LTU9ECisjaWZkZWYgQ09ORklHX01PRFVMRVMKIHZvaWQgc25kX3NlcV9hdXRvbG9hZF9sb2NrKHZvaWQpOwogdm9pZCBzbmRfc2VxX2F1dG9sb2FkX3VubG9jayh2b2lkKTsKICNlbHNlCmRpZmYgLS1naXQgYS9pbmNsdWRlL3NvdW5kL3NvYy1kYXBtLmggYi9pbmNsdWRlL3NvdW5kL3NvYy1kYXBtLmgKaW5kZXggYTEwNWIwMS4uMzAzMGZkYyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9zb3VuZC9zb2MtZGFwbS5oCisrKyBiL2luY2x1ZGUvc291bmQvc29jLWRhcG0uaApAQCAtMTMwLDYgKzEzMCwxMyBAQAogewkuaWQgPSBzbmRfc29jX2RhcG1fYWRjLCAubmFtZSA9IHduYW1lLCAuc25hbWUgPSBzdG5hbWUsIC5yZWcgPSB3cmVnLCBcCiAJLnNoaWZ0ID0gd3NoaWZ0LCAuaW52ZXJ0ID0gd2ludmVydH0KIAorLyogZ2VuZXJpYyByZWdpc3RlciBtb2RpZmllciB3aWRnZXQgKi8KKyNkZWZpbmUgU05EX1NPQ19EQVBNX1JFRyh3aWQsIHduYW1lLCB3cmVnLCB3c2hpZnQsIHdtYXNrLCB3b25fdmFsLCB3b2ZmX3ZhbCkgXAorewkuaWQgPSB3aWQsIC5uYW1lID0gd25hbWUsIC5rY29udHJvbHMgPSBOVUxMLCAubnVtX2tjb250cm9scyA9IDAsIFwKKwkucmVnID0gLSgod3JlZykgKyAxKSwgLnNoaWZ0ID0gd3NoaWZ0LCAubWFzayA9IHdtYXNrLCBcCisJLm9uX3ZhbCA9IHdvbl92YWwsIC5vZmZfdmFsID0gd29mZl92YWwsIC5ldmVudCA9IGRhcG1fcmVnX2V2ZW50LCBcCisJLmV2ZW50X2ZsYWdzID0gU05EX1NPQ19EQVBNX1BSRV9QTVUgfCBTTkRfU09DX0RBUE1fUE9TVF9QTUR9CisKIC8qIGRhcG0ga2NvbnRyb2wgdHlwZXMgKi8KICNkZWZpbmUgU09DX0RBUE1fU0lOR0xFKHhuYW1lLCByZWcsIHNoaWZ0LCBtYXgsIGludmVydCkgXAogewkuaWZhY2UgPSBTTkRSVl9DVExfRUxFTV9JRkFDRV9NSVhFUiwgLm5hbWUgPSB4bmFtZSwgXApAQCAtMTkzLDYgKzIwMCw3IEBACiBlbnVtIHNuZF9zb2NfZGFwbV90eXBlOwogc3RydWN0IHNuZF9zb2NfZGFwbV9wYXRoOwogc3RydWN0IHNuZF9zb2NfZGFwbV9waW47CitzdHJ1Y3Qgc25kX3NvY19kYXBtX3JvdXRlOwogCiAvKiBkYXBtIGNvbnRyb2xzICovCiBpbnQgc25kX3NvY19kYXBtX3B1dF92b2xzdyhzdHJ1Y3Qgc25kX2tjb250cm9sICprY29udHJvbCwKQEAgLTIwNSwyNSArMjEzLDMyIEBACiAJc3RydWN0IHNuZF9jdGxfZWxlbV92YWx1ZSAqdWNvbnRyb2wpOwogaW50IHNuZF9zb2NfZGFwbV9uZXdfY29udHJvbChzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMsCiAJY29uc3Qgc3RydWN0IHNuZF9zb2NfZGFwbV93aWRnZXQgKndpZGdldCk7CitpbnQgc25kX3NvY19kYXBtX25ld19jb250cm9scyhzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMsCisJY29uc3Qgc3RydWN0IHNuZF9zb2NfZGFwbV93aWRnZXQgKndpZGdldCwKKwlpbnQgbnVtKTsKIAogLyogZGFwbSBwYXRoIHNldHVwICovCi1pbnQgc25kX3NvY19kYXBtX2Nvbm5lY3RfaW5wdXQoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjLAoraW50ICBfX2RlcHJlY2F0ZWQgc25kX3NvY19kYXBtX2Nvbm5lY3RfaW5wdXQoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjLAogCWNvbnN0IGNoYXIgKnNpbmtfbmFtZSwgY29uc3QgY2hhciAqY29udHJvbF9uYW1lLCBjb25zdCBjaGFyICpzcmNfbmFtZSk7CiBpbnQgc25kX3NvY19kYXBtX25ld193aWRnZXRzKHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyk7CiB2b2lkIHNuZF9zb2NfZGFwbV9mcmVlKHN0cnVjdCBzbmRfc29jX2RldmljZSAqc29jZGV2KTsKK2ludCBzbmRfc29jX2RhcG1fYWRkX3JvdXRlcyhzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMsCisJCQkgICAgY29uc3Qgc3RydWN0IHNuZF9zb2NfZGFwbV9yb3V0ZSAqcm91dGUsIGludCBudW0pOwogCiAvKiBkYXBtIGV2ZW50cyAqLwogaW50IHNuZF9zb2NfZGFwbV9zdHJlYW1fZXZlbnQoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjLCBjaGFyICpzdHJlYW0sCiAJaW50IGV2ZW50KTsKLWludCBzbmRfc29jX2RhcG1fZGV2aWNlX2V2ZW50KHN0cnVjdCBzbmRfc29jX2RldmljZSAqc29jZGV2LCBpbnQgZXZlbnQpOworaW50IHNuZF9zb2NfZGFwbV9zZXRfYmlhc19sZXZlbChzdHJ1Y3Qgc25kX3NvY19kZXZpY2UgKnNvY2RldiwKKwllbnVtIHNuZF9zb2NfYmlhc19sZXZlbCBsZXZlbCk7CiAKIC8qIGRhcG0gc3lzIGZzIC0gdXNlZCBieSB0aGUgY29yZSAqLwogaW50IHNuZF9zb2NfZGFwbV9zeXNfYWRkKHN0cnVjdCBkZXZpY2UgKmRldik7CiAKLS8qIGRhcG0gYXVkaW8gZW5kcG9pbnQgY29udHJvbCAqLwotaW50IHNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjLAotCWNoYXIgKnBpbiwgaW50IHN0YXR1cyk7Ci1pbnQgc25kX3NvY19kYXBtX3N5bmNfZW5kcG9pbnRzKHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyk7CisvKiBkYXBtIGF1ZGlvIHBpbiBjb250cm9sIGFuZCBzdGF0dXMgKi8KK2ludCBzbmRfc29jX2RhcG1fZW5hYmxlX3BpbihzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMsIGNoYXIgKnBpbik7CitpbnQgc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYywgY2hhciAqcGluKTsKK2ludCBzbmRfc29jX2RhcG1fZ2V0X3Bpbl9zdGF0dXMoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjLCBjaGFyICpwaW4pOworaW50IHNuZF9zb2NfZGFwbV9zeW5jKHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyk7CiAKIC8qIGRhcG0gd2lkZ2V0IHR5cGVzICovCiBlbnVtIHNuZF9zb2NfZGFwbV90eXBlIHsKQEAgLTI0NSw2ICsyNjAsMTggQEAKIAlzbmRfc29jX2RhcG1fcG9zdCwJCQkvKiBtYWNoaW5lIHNwZWNpZmljIHBvc3Qgd2lkZ2V0IC0gZXhlYyBsYXN0ICovCiB9OwogCisvKgorICogREFQTSBhdWRpbyByb3V0ZSBkZWZpbml0aW9uLgorICoKKyAqIERlZmluZXMgYW4gYXVkaW8gcm91dGUgb3JpZ2luYXRpbmcgYXQgc291cmNlIHZpYSBjb250cm9sIGFuZCBmaW5pc2hpbmcKKyAqIGF0IHNpbmsuCisgKi8KK3N0cnVjdCBzbmRfc29jX2RhcG1fcm91dGUgeworCWNvbnN0IGNoYXIgKnNpbms7CisJY29uc3QgY2hhciAqY29udHJvbDsKKwljb25zdCBjaGFyICpzb3VyY2U7Cit9OworCiAvKiBkYXBtIGF1ZGlvIHBhdGggYmV0d2VlbiB0d28gd2lkZ2V0cyAqLwogc3RydWN0IHNuZF9zb2NfZGFwbV9wYXRoIHsKIAljaGFyICpuYW1lOwpAQCAtMjc3LDYgKzMwNCw5IEBACiAJdW5zaWduZWQgY2hhciBzaGlmdDsJCQkvKiBiaXRzIHRvIHNoaWZ0ICovCiAJdW5zaWduZWQgaW50IHNhdmVkX3ZhbHVlOwkJLyogd2lkZ2V0IHNhdmVkIHZhbHVlICovCiAJdW5zaWduZWQgaW50IHZhbHVlOwkJCQkvKiB3aWRnZXQgY3VycmVudCB2YWx1ZSAqLworCXVuc2lnbmVkIGludCBtYXNrOwkJCS8qIG5vbi1zaGlmdGVkIG1hc2sgKi8KKwl1bnNpZ25lZCBpbnQgb25fdmFsOwkJCS8qIG9uIHN0YXRlIHZhbHVlICovCisJdW5zaWduZWQgaW50IG9mZl92YWw7CQkJLyogb2ZmIHN0YXRlIHZhbHVlICovCiAJdW5zaWduZWQgY2hhciBwb3dlcjoxOwkJCS8qIGJsb2NrIHBvd2VyIHN0YXR1cyAqLwogCXVuc2lnbmVkIGNoYXIgaW52ZXJ0OjE7CQkJLyogaW52ZXJ0IHRoZSBwb3dlciBiaXQgKi8KIAl1bnNpZ25lZCBjaGFyIGFjdGl2ZToxOwkJCS8qIGFjdGl2ZSBzdHJlYW0gb24gREFDLCBBREMncyAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9zb3VuZC9zb2MuaCBiL2luY2x1ZGUvc291bmQvc29jLmgKaW5kZXggZDNjOGMwMy4uMTg5MGQ4NyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9zb3VuZC9zb2MuaAorKysgYi9pbmNsdWRlL3NvdW5kL3NvYy5oCkBAIC03Myw2ICs3MywxNSBAQAogCS5nZXQgPSBzbmRfc29jX2dldF92b2xzd18yciwgLnB1dCA9IHNuZF9zb2NfcHV0X3ZvbHN3XzJyLCBcCiAJLnByaXZhdGVfdmFsdWUgPSAocmVnX2xlZnQpIHwgKChzaGlmdCkgPDwgOCkgIHwgXAogCQkoKG1heCkgPDwgMTIpIHwgKChpbnZlcnQpIDw8IDIwKSB8ICgocmVnX3JpZ2h0KSA8PCAyNCkgfQorI2RlZmluZSBTT0NfRE9VQkxFX1M4X1RMVih4bmFtZSwgcmVnLCBtaW4sIG1heCwgdGx2X2FycmF5KSBcCit7CS5pZmFjZSAgPSBTTkRSVl9DVExfRUxFTV9JRkFDRV9NSVhFUiwgLm5hbWUgPSAoeG5hbWUpLCBcCisJLmFjY2VzcyA9IFNORFJWX0NUTF9FTEVNX0FDQ0VTU19UTFZfUkVBRCB8IFwKKwkJICBTTkRSVl9DVExfRUxFTV9BQ0NFU1NfUkVBRFdSSVRFLCBcCisJLnRsdi5wICA9ICh0bHZfYXJyYXkpLCBcCisJLmluZm8gICA9IHNuZF9zb2NfaW5mb192b2xzd19zOCwgLmdldCA9IHNuZF9zb2NfZ2V0X3ZvbHN3X3M4LCBcCisJLnB1dCAgICA9IHNuZF9zb2NfcHV0X3ZvbHN3X3M4LCBcCisJLnByaXZhdGVfdmFsdWUgPSAocmVnKSB8ICgoKHNpZ25lZCBjaGFyKW1heCkgPDwgMTYpIHwgXAorCQkJICgoKHNpZ25lZCBjaGFyKW1pbikgPDwgMjQpIH0KICNkZWZpbmUgU09DX0VOVU1fRE9VQkxFKHhyZWcsIHhzaGlmdF9sLCB4c2hpZnRfciwgeG1hc2ssIHh0ZXh0cykgXAogewkucmVnID0geHJlZywgLnNoaWZ0X2wgPSB4c2hpZnRfbCwgLnNoaWZ0X3IgPSB4c2hpZnRfciwgXAogCS5tYXNrID0geG1hc2ssIC50ZXh0cyA9IHh0ZXh0cyB9CkBAIC05MSw2ICsxMDAsMTUgQEAKIAkuaW5mbyA9IHNuZF9zb2NfaW5mb192b2xzdywgXAogCS5nZXQgPSB4aGFuZGxlcl9nZXQsIC5wdXQgPSB4aGFuZGxlcl9wdXQsIFwKIAkucHJpdmF0ZV92YWx1ZSA9IFNPQ19TSU5HTEVfVkFMVUUoeHJlZywgeHNoaWZ0LCB4bWFzaywgeGludmVydCkgfQorI2RlZmluZSBTT0NfU0lOR0xFX0VYVF9UTFYoeG5hbWUsIHhyZWcsIHhzaGlmdCwgeG1hc2ssIHhpbnZlcnQsXAorCSB4aGFuZGxlcl9nZXQsIHhoYW5kbGVyX3B1dCwgdGx2X2FycmF5KSBcCit7CS5pZmFjZSA9IFNORFJWX0NUTF9FTEVNX0lGQUNFX01JWEVSLCAubmFtZSA9IHhuYW1lLCBcCisJLmFjY2VzcyA9IFNORFJWX0NUTF9FTEVNX0FDQ0VTU19UTFZfUkVBRCB8XAorCQkgU05EUlZfQ1RMX0VMRU1fQUNDRVNTX1JFQURXUklURSxcCisJLnRsdi5wID0gKHRsdl9hcnJheSksIFwKKwkuaW5mbyA9IHNuZF9zb2NfaW5mb192b2xzdywgXAorCS5nZXQgPSB4aGFuZGxlcl9nZXQsIC5wdXQgPSB4aGFuZGxlcl9wdXQsIFwKKwkucHJpdmF0ZV92YWx1ZSA9IFNPQ19TSU5HTEVfVkFMVUUoeHJlZywgeHNoaWZ0LCB4bWFzaywgeGludmVydCkgfQogI2RlZmluZSBTT0NfU0lOR0xFX0JPT0xfRVhUKHhuYW1lLCB4ZGF0YSwgeGhhbmRsZXJfZ2V0LCB4aGFuZGxlcl9wdXQpIFwKIHsJLmlmYWNlID0gU05EUlZfQ1RMX0VMRU1fSUZBQ0VfTUlYRVIsIC5uYW1lID0geG5hbWUsIFwKIAkuaW5mbyA9IHNuZF9zb2NfaW5mb19ib29sX2V4dCwgXApAQCAtMTAzLDYgKzEyMSwyNCBAQAogCS5wcml2YXRlX3ZhbHVlID0gKHVuc2lnbmVkIGxvbmcpJnhlbnVtIH0KIAogLyoKKyAqIEJpYXMgbGV2ZWxzCisgKgorICogQE9OOiAgICAgIEJpYXMgaXMgZnVsbHkgb24gZm9yIGF1ZGlvIHBsYXliYWNrIGFuZCBjYXB0dXJlIG9wZXJhdGlvbnMuCisgKiBAUFJFUEFSRTogUHJlcGFyZSBmb3IgYXVkaW8gb3BlcmF0aW9ucy4gQ2FsbGVkIGJlZm9yZSBEQVBNIHN3aXRjaGluZyBmb3IKKyAqICAgICAgICAgICBzdHJlYW0gc3RhcnQgYW5kIHN0b3Agb3BlcmF0aW9ucy4KKyAqIEBTVEFOREJZOiBMb3cgcG93ZXIgc3RhbmRieSBzdGF0ZSB3aGVuIG5vIHBsYXliYWNrL2NhcHR1cmUgb3BlcmF0aW9ucyBhcmUKKyAqICAgICAgICAgICBpbiBwcm9ncmVzcy4gTk9URTogVGhlIHRyYW5zaXRpb24gdGltZSBiZXR3ZWVuIFNUQU5EQlkgYW5kIE9OCisgKiAgICAgICAgICAgc2hvdWxkIGJlIGFzIGZhc3QgYXMgcG9zc2libGUgYW5kIG5vIGxvbmdlciB0aGFuIDEwbXMuCisgKiBAT0ZGOiAgICAgUG93ZXIgT2ZmLiBObyByZXN0cmljdGlvbnMgb24gdHJhbnNpdGlvbiB0aW1lcy4KKyAqLworZW51bSBzbmRfc29jX2JpYXNfbGV2ZWwgeworCVNORF9TT0NfQklBU19PTiwKKwlTTkRfU09DX0JJQVNfUFJFUEFSRSwKKwlTTkRfU09DX0JJQVNfU1RBTkRCWSwKKwlTTkRfU09DX0JJQVNfT0ZGLAorfTsKKworLyoKICAqIERpZ2l0YWwgQXVkaW8gSW50ZXJmYWNlIChEQUkpIHR5cGVzCiAgKi8KICNkZWZpbmUgU05EX1NPQ19EQUlfQUM5NwkweDEKQEAgLTE4NSw4ICsyMjEsNyBAQAogc3RydWN0IHNuZF9zb2Nfb3BzOwogc3RydWN0IHNuZF9zb2NfZGFpX21vZGU7CiBzdHJ1Y3Qgc25kX3NvY19wY21fcnVudGltZTsKLXN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaTsKLXN0cnVjdCBzbmRfc29jX2NwdV9kYWk7CitzdHJ1Y3Qgc25kX3NvY19kYWk7CiBzdHJ1Y3Qgc25kX3NvY19jb2RlYzsKIHN0cnVjdCBzbmRfc29jX21hY2hpbmVfY29uZmlnOwogc3RydWN0IHNvY19lbnVtOwpAQCAtMjIxLDYgKzI1NiwyNyBAQAogCXN0cnVjdCBzbmRfYWM5N19idXNfb3BzICpvcHMsIGludCBudW0pOwogdm9pZCBzbmRfc29jX2ZyZWVfYWM5N19jb2RlYyhzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMpOwogCisvKiBEaWdpdGFsIEF1ZGlvIEludGVyZmFjZSBjbG9ja2luZyBBUEkuKi8KK2ludCBzbmRfc29jX2RhaV9zZXRfc3lzY2xrKHN0cnVjdCBzbmRfc29jX2RhaSAqZGFpLCBpbnQgY2xrX2lkLAorCXVuc2lnbmVkIGludCBmcmVxLCBpbnQgZGlyKTsKKworaW50IHNuZF9zb2NfZGFpX3NldF9jbGtkaXYoc3RydWN0IHNuZF9zb2NfZGFpICpkYWksCisJaW50IGRpdl9pZCwgaW50IGRpdik7CisKK2ludCBzbmRfc29jX2RhaV9zZXRfcGxsKHN0cnVjdCBzbmRfc29jX2RhaSAqZGFpLAorCWludCBwbGxfaWQsIHVuc2lnbmVkIGludCBmcmVxX2luLCB1bnNpZ25lZCBpbnQgZnJlcV9vdXQpOworCisvKiBEaWdpdGFsIEF1ZGlvIGludGVyZmFjZSBmb3JtYXR0aW5nICovCitpbnQgc25kX3NvY19kYWlfc2V0X2ZtdChzdHJ1Y3Qgc25kX3NvY19kYWkgKmRhaSwgdW5zaWduZWQgaW50IGZtdCk7CisKK2ludCBzbmRfc29jX2RhaV9zZXRfdGRtX3Nsb3Qoc3RydWN0IHNuZF9zb2NfZGFpICpkYWksCisJdW5zaWduZWQgaW50IG1hc2ssIGludCBzbG90cyk7CisKK2ludCBzbmRfc29jX2RhaV9zZXRfdHJpc3RhdGUoc3RydWN0IHNuZF9zb2NfZGFpICpkYWksIGludCB0cmlzdGF0ZSk7CisKKy8qIERpZ2l0YWwgQXVkaW8gSW50ZXJmYWNlIG11dGUgKi8KK2ludCBzbmRfc29jX2RhaV9kaWdpdGFsX211dGUoc3RydWN0IHNuZF9zb2NfZGFpICpkYWksIGludCBtdXRlKTsKKwogLyoKICAqQ29udHJvbHMKICAqLwpAQCAtMjQ5LDYgKzMwNSwxMiBAQAogCXN0cnVjdCBzbmRfY3RsX2VsZW1fdmFsdWUgKnVjb250cm9sKTsKIGludCBzbmRfc29jX3B1dF92b2xzd18ycihzdHJ1Y3Qgc25kX2tjb250cm9sICprY29udHJvbCwKIAlzdHJ1Y3Qgc25kX2N0bF9lbGVtX3ZhbHVlICp1Y29udHJvbCk7CitpbnQgc25kX3NvY19pbmZvX3ZvbHN3X3M4KHN0cnVjdCBzbmRfa2NvbnRyb2wgKmtjb250cm9sLAorCXN0cnVjdCBzbmRfY3RsX2VsZW1faW5mbyAqdWluZm8pOworaW50IHNuZF9zb2NfZ2V0X3ZvbHN3X3M4KHN0cnVjdCBzbmRfa2NvbnRyb2wgKmtjb250cm9sLAorCXN0cnVjdCBzbmRfY3RsX2VsZW1fdmFsdWUgKnVjb250cm9sKTsKK2ludCBzbmRfc29jX3B1dF92b2xzd19zOChzdHJ1Y3Qgc25kX2tjb250cm9sICprY29udHJvbCwKKwlzdHJ1Y3Qgc25kX2N0bF9lbGVtX3ZhbHVlICp1Y29udHJvbCk7CiAKIC8qIFNvQyBQQ00gc3RyZWFtIGluZm9ybWF0aW9uICovCiBzdHJ1Y3Qgc25kX3NvY19wY21fc3RyZWFtIHsKQEAgLTI3Miw4NyArMzM0LDQ1IEBACiAJaW50ICgqdHJpZ2dlcikoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICosIGludCk7CiB9OwogCi0vKiBBU29DIGNvZGVjIERBSSBvcHMgKi8KLXN0cnVjdCBzbmRfc29jX2NvZGVjX29wcyB7Ci0JLyogY29kZWMgREFJIGNsb2NraW5nIGNvbmZpZ3VyYXRpb24gKi8KLQlpbnQgKCpzZXRfc3lzY2xrKShzdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgKmNvZGVjX2RhaSwKKy8qIEFTb0MgREFJIG9wcyAqLworc3RydWN0IHNuZF9zb2NfZGFpX29wcyB7CisJLyogREFJIGNsb2NraW5nIGNvbmZpZ3VyYXRpb24gKi8KKwlpbnQgKCpzZXRfc3lzY2xrKShzdHJ1Y3Qgc25kX3NvY19kYWkgKmRhaSwKIAkJaW50IGNsa19pZCwgdW5zaWduZWQgaW50IGZyZXEsIGludCBkaXIpOwotCWludCAoKnNldF9wbGwpKHN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSAqY29kZWNfZGFpLAorCWludCAoKnNldF9wbGwpKHN0cnVjdCBzbmRfc29jX2RhaSAqZGFpLAogCQlpbnQgcGxsX2lkLCB1bnNpZ25lZCBpbnQgZnJlcV9pbiwgdW5zaWduZWQgaW50IGZyZXFfb3V0KTsKLQlpbnQgKCpzZXRfY2xrZGl2KShzdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgKmNvZGVjX2RhaSwKLQkJaW50IGRpdl9pZCwgaW50IGRpdik7CisJaW50ICgqc2V0X2Nsa2Rpdikoc3RydWN0IHNuZF9zb2NfZGFpICpkYWksIGludCBkaXZfaWQsIGludCBkaXYpOwogCi0JLyogQ1BVIERBSSBmb3JtYXQgY29uZmlndXJhdGlvbiAqLwotCWludCAoKnNldF9mbXQpKHN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSAqY29kZWNfZGFpLAotCQl1bnNpZ25lZCBpbnQgZm10KTsKLQlpbnQgKCpzZXRfdGRtX3Nsb3QpKHN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSAqY29kZWNfZGFpLAorCS8qIERBSSBmb3JtYXQgY29uZmlndXJhdGlvbiAqLworCWludCAoKnNldF9mbXQpKHN0cnVjdCBzbmRfc29jX2RhaSAqZGFpLCB1bnNpZ25lZCBpbnQgZm10KTsKKwlpbnQgKCpzZXRfdGRtX3Nsb3QpKHN0cnVjdCBzbmRfc29jX2RhaSAqZGFpLAogCQl1bnNpZ25lZCBpbnQgbWFzaywgaW50IHNsb3RzKTsKLQlpbnQgKCpzZXRfdHJpc3RhdGUpKHN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSAqLCBpbnQgdHJpc3RhdGUpOworCWludCAoKnNldF90cmlzdGF0ZSkoc3RydWN0IHNuZF9zb2NfZGFpICpkYWksIGludCB0cmlzdGF0ZSk7CiAKIAkvKiBkaWdpdGFsIG11dGUgKi8KLQlpbnQgKCpkaWdpdGFsX211dGUpKHN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSAqLCBpbnQgbXV0ZSk7CisJaW50ICgqZGlnaXRhbF9tdXRlKShzdHJ1Y3Qgc25kX3NvY19kYWkgKmRhaSwgaW50IG11dGUpOwogfTsKIAotLyogQVNvQyBjcHUgREFJIG9wcyAqLwotc3RydWN0IHNuZF9zb2NfY3B1X29wcyB7Ci0JLyogQ1BVIERBSSBjbG9ja2luZyBjb25maWd1cmF0aW9uICovCi0JaW50ICgqc2V0X3N5c2Nsaykoc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqY3B1X2RhaSwKLQkJaW50IGNsa19pZCwgdW5zaWduZWQgaW50IGZyZXEsIGludCBkaXIpOwotCWludCAoKnNldF9jbGtkaXYpKHN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmNwdV9kYWksCi0JCWludCBkaXZfaWQsIGludCBkaXYpOwotCWludCAoKnNldF9wbGwpKHN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmNwdV9kYWksCi0JCWludCBwbGxfaWQsIHVuc2lnbmVkIGludCBmcmVxX2luLCB1bnNpZ25lZCBpbnQgZnJlcV9vdXQpOwotCi0JLyogQ1BVIERBSSBmb3JtYXQgY29uZmlndXJhdGlvbiAqLwotCWludCAoKnNldF9mbXQpKHN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmNwdV9kYWksCi0JCXVuc2lnbmVkIGludCBmbXQpOwotCWludCAoKnNldF90ZG1fc2xvdCkoc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqY3B1X2RhaSwKLQkJdW5zaWduZWQgaW50IG1hc2ssIGludCBzbG90cyk7Ci0JaW50ICgqc2V0X3RyaXN0YXRlKShzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICosIGludCB0cmlzdGF0ZSk7Ci19OwotCi0vKiBTb0MgQ29kZWMgREFJICovCi1zdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgewotCWNoYXIgKm5hbWU7Ci0JaW50IGlkOwotCXVuc2lnbmVkIGNoYXIgdHlwZTsKLQotCS8qIERBSSBjYXBhYmlsaXRpZXMgKi8KLQlzdHJ1Y3Qgc25kX3NvY19wY21fc3RyZWFtIHBsYXliYWNrOwotCXN0cnVjdCBzbmRfc29jX3BjbV9zdHJlYW0gY2FwdHVyZTsKLQotCS8qIERBSSBydW50aW1lIGluZm8gKi8KLQlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWM7Ci0JdW5zaWduZWQgaW50IGFjdGl2ZTsKLQl1bnNpZ25lZCBjaGFyIHBvcF93YWl0OjE7Ci0KLQkvKiBvcHMgKi8KLQlzdHJ1Y3Qgc25kX3NvY19vcHMgb3BzOwotCXN0cnVjdCBzbmRfc29jX2NvZGVjX29wcyBkYWlfb3BzOwotCi0JLyogREFJIHByaXZhdGUgZGF0YSAqLwotCXZvaWQgKnByaXZhdGVfZGF0YTsKLX07Ci0KLS8qIFNvQyBDUFUgREFJICovCi1zdHJ1Y3Qgc25kX3NvY19jcHVfZGFpIHsKLQorLyogU29DICBEQUkgKERpZ2l0YWwgQXVkaW8gSW50ZXJmYWNlKSAqLworc3RydWN0IHNuZF9zb2NfZGFpIHsKIAkvKiBEQUkgZGVzY3JpcHRpb24gKi8KIAljaGFyICpuYW1lOwogCXVuc2lnbmVkIGludCBpZDsKIAl1bnNpZ25lZCBjaGFyIHR5cGU7CiAKIAkvKiBEQUkgY2FsbGJhY2tzICovCi0JaW50ICgqcHJvYmUpKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpOwotCXZvaWQgKCpyZW1vdmUpKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpOworCWludCAoKnByb2JlKShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LAorCQkgICAgIHN0cnVjdCBzbmRfc29jX2RhaSAqZGFpKTsKKwl2b2lkICgqcmVtb3ZlKShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LAorCQkgICAgICAgc3RydWN0IHNuZF9zb2NfZGFpICpkYWkpOwogCWludCAoKnN1c3BlbmQpKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsCi0JCXN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmNwdV9kYWkpOworCQlzdHJ1Y3Qgc25kX3NvY19kYWkgKmRhaSk7CiAJaW50ICgqcmVzdW1lKShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LAotCQlzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpjcHVfZGFpKTsKKwkJc3RydWN0IHNuZF9zb2NfZGFpICpkYWkpOwogCiAJLyogb3BzICovCiAJc3RydWN0IHNuZF9zb2Nfb3BzIG9wczsKLQlzdHJ1Y3Qgc25kX3NvY19jcHVfb3BzIGRhaV9vcHM7CisJc3RydWN0IHNuZF9zb2NfZGFpX29wcyBkYWlfb3BzOwogCiAJLyogREFJIGNhcGFiaWxpdGllcyAqLwogCXN0cnVjdCBzbmRfc29jX3BjbV9zdHJlYW0gY2FwdHVyZTsKQEAgLTM2MCw3ICszODAsOSBAQAogCiAJLyogREFJIHJ1bnRpbWUgaW5mbyAqLwogCXN0cnVjdCBzbmRfcGNtX3J1bnRpbWUgKnJ1bnRpbWU7Ci0JdW5zaWduZWQgY2hhciBhY3RpdmU6MTsKKwlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWM7CisJdW5zaWduZWQgaW50IGFjdGl2ZTsKKwl1bnNpZ25lZCBjaGFyIHBvcF93YWl0OjE7CiAJdm9pZCAqZG1hX2RhdGE7CiAKIAkvKiBEQUkgcHJpdmF0ZSBkYXRhICovCkBAIC0zNzQsNyArMzk2LDggQEAKIAlzdHJ1Y3QgbXV0ZXggbXV0ZXg7CiAKIAkvKiBjYWxsYmFja3MgKi8KLQlpbnQgKCpkYXBtX2V2ZW50KShzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMsIGludCBldmVudCk7CisJaW50ICgqc2V0X2JpYXNfbGV2ZWwpKHN0cnVjdCBzbmRfc29jX2NvZGVjICosCisJCQkgICAgICBlbnVtIHNuZF9zb2NfYmlhc19sZXZlbCBsZXZlbCk7CiAKIAkvKiBydW50aW1lICovCiAJc3RydWN0IHNuZF9jYXJkICpjYXJkOwpAQCAtMzk2LDEyICs0MTksMTIgQEAKIAkvKiBkYXBtICovCiAJc3RydWN0IGxpc3RfaGVhZCBkYXBtX3dpZGdldHM7CiAJc3RydWN0IGxpc3RfaGVhZCBkYXBtX3BhdGhzOwotCXVuc2lnbmVkIGludCBkYXBtX3N0YXRlOwotCXVuc2lnbmVkIGludCBzdXNwZW5kX2RhcG1fc3RhdGU7CisJZW51bSBzbmRfc29jX2JpYXNfbGV2ZWwgYmlhc19sZXZlbDsKKwllbnVtIHNuZF9zb2NfYmlhc19sZXZlbCBzdXNwZW5kX2JpYXNfbGV2ZWw7CiAJc3RydWN0IGRlbGF5ZWRfd29yayBkZWxheWVkX3dvcms7CiAKIAkvKiBjb2RlYyBEQUkncyAqLwotCXN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSAqZGFpOworCXN0cnVjdCBzbmRfc29jX2RhaSAqZGFpOwogCXVuc2lnbmVkIGludCBudW1fZGFpOwogfTsKIApAQCAtNDIwLDEyICs0NDMsMTIgQEAKIAlpbnQgKCpwcm9iZSkoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldik7CiAJaW50ICgqcmVtb3ZlKShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KTsKIAlpbnQgKCpzdXNwZW5kKShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LAotCQlzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpjcHVfZGFpKTsKKwkJc3RydWN0IHNuZF9zb2NfZGFpICpkYWkpOwogCWludCAoKnJlc3VtZSkoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwKLQkJc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqY3B1X2RhaSk7CisJCXN0cnVjdCBzbmRfc29jX2RhaSAqZGFpKTsKIAogCS8qIHBjbSBjcmVhdGlvbiBhbmQgZGVzdHJ1Y3Rpb24gKi8KLQlpbnQgKCpwY21fbmV3KShzdHJ1Y3Qgc25kX2NhcmQgKiwgc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpICosCisJaW50ICgqcGNtX25ldykoc3RydWN0IHNuZF9jYXJkICosIHN0cnVjdCBzbmRfc29jX2RhaSAqLAogCQlzdHJ1Y3Qgc25kX3BjbSAqKTsKIAl2b2lkICgqcGNtX2ZyZWUpKHN0cnVjdCBzbmRfcGNtICopOwogCkBAIC00MzksOCArNDYyLDggQEAKIAljaGFyICpzdHJlYW1fbmFtZTsJCS8qIFN0cmVhbSBuYW1lICovCiAKIAkvKiBEQUkgKi8KLQlzdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgKmNvZGVjX2RhaTsKLQlzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpjcHVfZGFpOworCXN0cnVjdCBzbmRfc29jX2RhaSAqY29kZWNfZGFpOworCXN0cnVjdCBzbmRfc29jX2RhaSAqY3B1X2RhaTsKIAogCS8qIG1hY2hpbmUgc3RyZWFtIG9wZXJhdGlvbnMgKi8KIAlzdHJ1Y3Qgc25kX3NvY19vcHMgKm9wczsKQEAgLTQ2Nyw3ICs0OTAsOCBAQAogCWludCAoKnJlc3VtZV9wb3N0KShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KTsKIAogCS8qIGNhbGxiYWNrcyAqLwotCWludCAoKmRhcG1fZXZlbnQpKHN0cnVjdCBzbmRfc29jX21hY2hpbmUgKiwgaW50IGV2ZW50KTsKKwlpbnQgKCpzZXRfYmlhc19sZXZlbCkoc3RydWN0IHNuZF9zb2NfbWFjaGluZSAqLAorCQkJICAgICAgZW51bSBzbmRfc29jX2JpYXNfbGV2ZWwgbGV2ZWwpOwogCiAJLyogQ1BVIDwtLT4gQ29kZWMgREFJIGxpbmtzICAqLwogCXN0cnVjdCBzbmRfc29jX2RhaV9saW5rICpkYWlfbGluazsKQEAgLTQ4Miw2ICs1MDYsNyBAQAogCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYzsKIAlzdHJ1Y3Qgc25kX3NvY19jb2RlY19kZXZpY2UgKmNvZGVjX2RldjsKIAlzdHJ1Y3QgZGVsYXllZF93b3JrIGRlbGF5ZWRfd29yazsKKwlzdHJ1Y3Qgd29ya19zdHJ1Y3QgZGVmZXJyZWRfcmVzdW1lX3dvcms7CiAJdm9pZCAqY29kZWNfZGF0YTsKIH07CiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvc291bmQvdWRhMTM0MS5oIGIvaW5jbHVkZS9zb3VuZC91ZGExMzQxLmgKaW5kZXggMmU1NjRiZi4uMTEwZDVkYyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9zb3VuZC91ZGExMzQxLmgKKysrIGIvaW5jbHVkZS9zb3VuZC91ZGExMzQxLmgKQEAgLTE1LDggKzE1LDYgQEAKICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgZmVhdHVyZXMgc3VwcG9ydAogICovCiAKLS8qICRJZDogdWRhMTM0MS5oLHYgMS44IDIwMDUvMTEvMTcgMTQ6MTc6MjEgdGl3YWkgRXhwICQgKi8KLQogI2RlZmluZSBVREExMzQxX0FMU0FfTkFNRSAic25kLXVkYTEzNDEiCiAKIC8qCmRpZmYgLS1naXQgYS9pbmNsdWRlL3NvdW5kL3ZlcnNpb24uaCBiL2luY2x1ZGUvc291bmQvdmVyc2lvbi5oCmluZGV4IGVkNmZiMmUuLjZiNzhhZmYgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvc291bmQvdmVyc2lvbi5oCisrKyBiL2luY2x1ZGUvc291bmQvdmVyc2lvbi5oCkBAIC0xLDMgKzEsMyBAQAotLyogaW5jbHVkZS92ZXJzaW9uLmguICBHZW5lcmF0ZWQgYnkgYWxzYS9rc3luYyBzY3JpcHQuICAqLwotI2RlZmluZSBDT05GSUdfU05EX1ZFUlNJT04gIjEuMC4xNiIKKy8qIGluY2x1ZGUvdmVyc2lvbi5oICovCisjZGVmaW5lIENPTkZJR19TTkRfVkVSU0lPTiAiMS4wLjE3IgogI2RlZmluZSBDT05GSUdfU05EX0RBVEUgIiIKZGlmZiAtLWdpdCBhL2luY2x1ZGUveGVuL2V2ZW50cy5oIGIvaW5jbHVkZS94ZW4vZXZlbnRzLmgKaW5kZXggYWNkOGUwNi4uNjdjNDQzNiAxMDA2NDQKLS0tIGEvaW5jbHVkZS94ZW4vZXZlbnRzLmgKKysrIGIvaW5jbHVkZS94ZW4vZXZlbnRzLmgKQEAgLTMyLDYgKzMyLDcgQEAKIAogdm9pZCB4ZW5fc2VuZF9JUElfb25lKHVuc2lnbmVkIGludCBjcHUsIGVudW0gaXBpX3ZlY3RvciB2ZWN0b3IpOwogaW50IHJlc2VuZF9pcnFfb25fZXZ0Y2huKHVuc2lnbmVkIGludCBpcnEpOwordm9pZCByZWJpbmRfZXZ0Y2huX2lycShpbnQgZXZ0Y2huLCBpbnQgaXJxKTsKIAogc3RhdGljIGlubGluZSB2b2lkIG5vdGlmeV9yZW1vdGVfdmlhX2V2dGNobihpbnQgcG9ydCkKIHsKQEAgLTQwLDQgKzQxLDcgQEAKIH0KIAogZXh0ZXJuIHZvaWQgbm90aWZ5X3JlbW90ZV92aWFfaXJxKGludCBpcnEpOworCitleHRlcm4gdm9pZCB4ZW5faXJxX3Jlc3VtZSh2b2lkKTsKKwogI2VuZGlmCS8qIF9YRU5fRVZFTlRTX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUveGVuL2dyYW50X3RhYmxlLmggYi9pbmNsdWRlL3hlbi9ncmFudF90YWJsZS5oCmluZGV4IDQ2NjIwNDguLmE0MGYxY2QgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUveGVuL2dyYW50X3RhYmxlLmgKKysrIGIvaW5jbHVkZS94ZW4vZ3JhbnRfdGFibGUuaApAQCAtNTEsNiArNTEsOSBAQAogCXUxNiBjb3VudDsKIH07CiAKK2ludCBnbnR0YWJfc3VzcGVuZCh2b2lkKTsKK2ludCBnbnR0YWJfcmVzdW1lKHZvaWQpOworCiBpbnQgZ250dGFiX2dyYW50X2ZvcmVpZ25fYWNjZXNzKGRvbWlkX3QgZG9taWQsIHVuc2lnbmVkIGxvbmcgZnJhbWUsCiAJCQkJaW50IHJlYWRvbmx5KTsKIApkaWZmIC0tZ2l0IGEvaW5jbHVkZS94ZW4vaHZjLWNvbnNvbGUuaCBiL2luY2x1ZGUveGVuL2h2Yy1jb25zb2xlLmgKaW5kZXggMjFjMGVjZi4uOThiNzliYyAxMDA2NDQKLS0tIGEvaW5jbHVkZS94ZW4vaHZjLWNvbnNvbGUuaAorKysgYi9pbmNsdWRlL3hlbi9odmMtY29uc29sZS5oCkBAIC0zLDQgKzMsMTMgQEAKIAogZXh0ZXJuIHN0cnVjdCBjb25zb2xlIHhlbmJvb3RfY29uc29sZTsKIAorI2lmZGVmIENPTkZJR19IVkNfWEVOCit2b2lkIHhlbl9jb25zb2xlX3Jlc3VtZSh2b2lkKTsKKyNlbHNlCitzdGF0aWMgaW5saW5lIHZvaWQgeGVuX2NvbnNvbGVfcmVzdW1lKHZvaWQpIHsgfQorI2VuZGlmCisKK3ZvaWQgeGVuX3Jhd19jb25zb2xlX3dyaXRlKGNvbnN0IGNoYXIgKnN0cik7Cit2b2lkIHhlbl9yYXdfcHJpbnRrKGNvbnN0IGNoYXIgKmZtdCwgLi4uKTsKKwogI2VuZGlmCS8qIFhFTl9IVkNfQ09OU09MRV9IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL3hlbi9pbnRlcmZhY2UvZWxmbm90ZS5oIGIvaW5jbHVkZS94ZW4vaW50ZXJmYWNlL2VsZm5vdGUuaAppbmRleCBhNjRkM2RmLi43YTgyNjJjIDEwMDY0NAotLS0gYS9pbmNsdWRlL3hlbi9pbnRlcmZhY2UvZWxmbm90ZS5oCisrKyBiL2luY2x1ZGUveGVuL2ludGVyZmFjZS9lbGZub3RlLmgKQEAgLTEyMCw2ICsxMjAsMjYgQEAKICAqLwogI2RlZmluZSBYRU5fRUxGTk9URV9CU0RfU1lNVEFCICAgIDExCiAKKy8qCisgKiBUaGUgbG93ZXN0IGFkZHJlc3MgdGhlIGh5cGVydmlzb3IgaG9sZSBjYW4gYmVnaW4gYXQgKG51bWVyaWMpLgorICoKKyAqIFRoaXMgbXVzdCBub3QgYmUgc2V0IGhpZ2hlciB0aGFuIEhZUEVSVklTT1JfVklSVF9TVEFSVC4gSXRzIHByZXNlbmNlCisgKiBhbHNvIGluZGljYXRlcyB0byB0aGUgaHlwZXJ2aXNvciB0aGF0IHRoZSBrZXJuZWwgY2FuIGRlYWwgd2l0aCB0aGUKKyAqIGhvbGUgc3RhcnRpbmcgYXQgYSBoaWdoZXIgYWRkcmVzcy4KKyAqLworI2RlZmluZSBYRU5fRUxGTk9URV9IVl9TVEFSVF9MT1cgIDEyCisKKy8qCisgKiBMaXN0IG9mIG1hZGRyX3Qtc2l6ZWQgbWFzay92YWx1ZSBwYWlycyBkZXNjcmliaW5nIGhvdyB0byByZWNvZ25pemUKKyAqIChub24tcHJlc2VudCkgTDEgcGFnZSB0YWJsZSBlbnRyaWVzIGNhcnJ5aW5nIHZhbGlkIE1GTnMgKG51bWVyaWMpLgorICovCisjZGVmaW5lIFhFTl9FTEZOT1RFX0wxX01GTl9WQUxJRCAgMTMKKworLyoKKyAqIFdoZXRoZXIgb3Igbm90IHRoZSBndWVzdCBzdXBwb3J0cyBjb29wZXJhdGl2ZSBzdXNwZW5kIGNhbmNlbGxhdGlvbi4KKyAqLworI2RlZmluZSBYRU5fRUxGTk9URV9TVVNQRU5EX0NBTkNFTCAxNAorCiAjZW5kaWYgLyogX19YRU5fUFVCTElDX0VMRk5PVEVfSF9fICovCiAKIC8qCmRpZmYgLS1naXQgYS9pbmNsdWRlL3hlbi9pbnRlcmZhY2UvZmVhdHVyZXMuaCBiL2luY2x1ZGUveGVuL2ludGVyZmFjZS9mZWF0dXJlcy5oCmluZGV4IGQ3MzIyOGQuLmY1MWI2NDEgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUveGVuL2ludGVyZmFjZS9mZWF0dXJlcy5oCisrKyBiL2luY2x1ZGUveGVuL2ludGVyZmFjZS9mZWF0dXJlcy5oCkBAIC0zOCw2ICszOCw5IEBACiAgKi8KICNkZWZpbmUgWEVORkVBVF9wYWVfcGdkaXJfYWJvdmVfNGdiICAgICAgICA0CiAKKy8qIHg4NjogRG9lcyB0aGlzIFhlbiBob3N0IHN1cHBvcnQgdGhlIE1NVV9QVF9VUERBVEVfUFJFU0VSVkVfQUQgaHlwZXJjYWxsPyAqLworI2RlZmluZSBYRU5GRUFUX21tdV9wdF91cGRhdGVfcHJlc2VydmVfYWQgIDUKKwogI2RlZmluZSBYRU5GRUFUX05SX1NVQk1BUFMgMQogCiAjZW5kaWYgLyogX19YRU5fUFVCTElDX0ZFQVRVUkVTX0hfXyAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS94ZW4vaW50ZXJmYWNlL2lvL2ZiaWYuaCBiL2luY2x1ZGUveGVuL2ludGVyZmFjZS9pby9mYmlmLmgKaW5kZXggNWE5MzRkZC4uOTc0YTUxZSAxMDA2NDQKLS0tIGEvaW5jbHVkZS94ZW4vaW50ZXJmYWNlL2lvL2ZiaWYuaAorKysgYi9pbmNsdWRlL3hlbi9pbnRlcmZhY2UvaW8vZmJpZi5oCkBAIC00OSwxMSArNDksMjcgQEAKIAlpbnQzMl90IGhlaWdodDsJCS8qIHJlY3QgaGVpZ2h0ICovCiB9OwogCisvKgorICogRnJhbWVidWZmZXIgcmVzaXplIG5vdGlmaWNhdGlvbiBldmVudAorICogQ2FwYWJsZSBiYWNrZW5kIHNldHMgZmVhdHVyZS1yZXNpemUgaW4geGVuc3RvcmUuCisgKi8KKyNkZWZpbmUgWEVORkJfVFlQRV9SRVNJWkUgMworCitzdHJ1Y3QgeGVuZmJfcmVzaXplIHsKKwl1aW50OF90IHR5cGU7CQkvKiBYRU5GQl9UWVBFX1JFU0laRSAqLworCWludDMyX3Qgd2lkdGg7CQkvKiB3aWR0aCBpbiBwaXhlbHMgKi8KKwlpbnQzMl90IGhlaWdodDsJCS8qIGhlaWdodCBpbiBwaXhlbHMgKi8KKwlpbnQzMl90IHN0cmlkZTsJCS8qIHN0cmlkZSBpbiBieXRlcyAqLworCWludDMyX3QgZGVwdGg7CQkvKiBkZXB0aCBpbiBiaXRzICovCisJaW50MzJfdCBvZmZzZXQ7CQkvKiBzdGFydCBvZmZzZXQgd2l0aGluIGZyYW1lYnVmZmVyICovCit9OworCiAjZGVmaW5lIFhFTkZCX09VVF9FVkVOVF9TSVpFIDQwCiAKIHVuaW9uIHhlbmZiX291dF9ldmVudCB7CiAJdWludDhfdCB0eXBlOwogCXN0cnVjdCB4ZW5mYl91cGRhdGUgdXBkYXRlOworCXN0cnVjdCB4ZW5mYl9yZXNpemUgcmVzaXplOwogCWNoYXIgcGFkW1hFTkZCX09VVF9FVkVOVF9TSVpFXTsKIH07CiAKQEAgLTEwNSwxNSArMTIxLDE4IEBACiAJICogRWFjaCBkaXJlY3RvcnkgcGFnZSBob2xkcyBQQUdFX1NJWkUgLyBzaXplb2YoKnBkKQogCSAqIGZyYW1lYnVmZmVyIHBhZ2VzLCBhbmQgY2FuIHRodXMgbWFwIHVwIHRvIFBBR0VfU0laRSAqCiAJICogUEFHRV9TSVpFIC8gc2l6ZW9mKCpwZCkgYnl0ZXMuICBXaXRoIFBBR0VfU0laRSA9PSA0MDk2IGFuZAotCSAqIHNpemVvZih1bnNpZ25lZCBsb25nKSA9PSA0LCB0aGF0J3MgNCBNZWdzLiAgVHdvIGRpcmVjdG9yeQotCSAqIHBhZ2VzIHNob3VsZCBiZSBlbm91Z2ggZm9yIGEgd2hpbGUuCisJICogc2l6ZW9mKHVuc2lnbmVkIGxvbmcpID09IDQvOCwgdGhhdCdzIDQgTWVncyAzMiBiaXQgYW5kIDIKKwkgKiBNZWdzIDY0IGJpdC4gIDI1NiBkaXJlY3RvcmllcyBnaXZlIGVub3VnaCByb29tIGZvciBhIDUxMgorCSAqIE1lZyBmcmFtZWJ1ZmZlciB3aXRoIGEgbWF4IHJlc29sdXRpb24gb2YgMTIsODAweDEwLDI0MC4KKwkgKiBTaG91bGQgYmUgZW5vdWdoIGZvciBhIHdoaWxlIHdpdGggcm9vbSBsZWZ0b3ZlciBmb3IKKwkgKiBleHBhbnNpb24uCiAJICovCi0JdW5zaWduZWQgbG9uZyBwZFsyXTsKKwl1bnNpZ25lZCBsb25nIHBkWzI1Nl07CiB9OwogCiAvKgotICogV2FydDogeGVua2JkIG5lZWRzIHRvIGtub3cgcmVzb2x1dGlvbi4gIFB1dCBpdCBoZXJlIHVudGlsIGEgYmV0dGVyCi0gKiBzb2x1dGlvbiBpcyBmb3VuZCwgYnV0IGRvbid0IGxlYWsgaXQgdG8gdGhlIGJhY2tlbmQuCisgKiBXYXJ0OiB4ZW5rYmQgbmVlZHMgdG8ga25vdyBkZWZhdWx0IHJlc29sdXRpb24uICBQdXQgaXQgaGVyZSB1bnRpbCBhCisgKiBiZXR0ZXIgc29sdXRpb24gaXMgZm91bmQsIGJ1dCBkb24ndCBsZWFrIGl0IHRvIHRoZSBiYWNrZW5kLgogICovCiAjaWZkZWYgX19LRVJORUxfXwogI2RlZmluZSBYRU5GQl9XSURUSCA4MDAKZGlmZiAtLWdpdCBhL2luY2x1ZGUveGVuL2ludGVyZmFjZS9pby9rYmRpZi5oIGIvaW5jbHVkZS94ZW4vaW50ZXJmYWNlL2lvL2tiZGlmLmgKaW5kZXggZmI5N2Y0Mi4uODA2NmM3OCAxMDA2NDQKLS0tIGEvaW5jbHVkZS94ZW4vaW50ZXJmYWNlL2lvL2tiZGlmLmgKKysrIGIvaW5jbHVkZS94ZW4vaW50ZXJmYWNlL2lvL2tiZGlmLmgKQEAgLTQ5LDYgKzQ5LDcgQEAKIAl1aW50OF90IHR5cGU7CQkvKiBYRU5LQkRfVFlQRV9NT1RJT04gKi8KIAlpbnQzMl90IHJlbF94OwkJLyogcmVsYXRpdmUgWCBtb3Rpb24gKi8KIAlpbnQzMl90IHJlbF95OwkJLyogcmVsYXRpdmUgWSBtb3Rpb24gKi8KKwlpbnQzMl90IHJlbF96OwkJLyogcmVsYXRpdmUgWiBtb3Rpb24gKHdoZWVsKSAqLwogfTsKIAogc3RydWN0IHhlbmtiZF9rZXkgewpAQCAtNjEsNiArNjIsNyBAQAogCXVpbnQ4X3QgdHlwZTsJCS8qIFhFTktCRF9UWVBFX1BPUyAqLwogCWludDMyX3QgYWJzX3g7CQkvKiBhYnNvbHV0ZSBYIHBvc2l0aW9uIChpbiBGQiBwaXhlbHMpICovCiAJaW50MzJfdCBhYnNfeTsJCS8qIGFic29sdXRlIFkgcG9zaXRpb24gKGluIEZCIHBpeGVscykgKi8KKwlpbnQzMl90IHJlbF96OwkJLyogcmVsYXRpdmUgWiBtb3Rpb24gKHdoZWVsKSAqLwogfTsKIAogI2RlZmluZSBYRU5LQkRfSU5fRVZFTlRfU0laRSA0MApkaWZmIC0tZ2l0IGEvaW5jbHVkZS94ZW4vaW50ZXJmYWNlL21lbW9yeS5oIGIvaW5jbHVkZS94ZW4vaW50ZXJmYWNlL21lbW9yeS5oCmluZGV4IGRhNzY4NDYuLmFmMzZlYWQgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUveGVuL2ludGVyZmFjZS9tZW1vcnkuaAorKysgYi9pbmNsdWRlL3hlbi9pbnRlcmZhY2UvbWVtb3J5LmgKQEAgLTI5LDcgKzI5LDcgQEAKICAgICAgKiAgIE9VVDogR01GTiBiYXNlcyBvZiBleHRlbnRzIHRoYXQgd2VyZSBhbGxvY2F0ZWQKICAgICAgKiAgIChOQi4gVGhpcyBjb21tYW5kIGFsc28gdXBkYXRlcyB0aGUgbWFjaF90b19waHlzIHRyYW5zbGF0aW9uIHRhYmxlKQogICAgICAqLwotICAgIHVsb25nIGV4dGVudF9zdGFydDsKKyAgICBHVUVTVF9IQU5ETEUodWxvbmcpIGV4dGVudF9zdGFydDsKIAogICAgIC8qIE51bWJlciBvZiBleHRlbnRzLCBhbmQgc2l6ZS9hbGlnbm1lbnQgb2YgZWFjaCAoMl5leHRlbnRfb3JkZXIgcGFnZXMpLiAqLwogICAgIHVuc2lnbmVkIGxvbmcgIG5yX2V4dGVudHM7CkBAIC01MCw2ICs1MCw3IEBACiAgICAgZG9taWRfdCAgICAgICAgZG9taWQ7CiAKIH07CitERUZJTkVfR1VFU1RfSEFORExFX1NUUlVDVCh4ZW5fbWVtb3J5X3Jlc2VydmF0aW9uKTsKIAogLyoKICAqIFJldHVybnMgdGhlIG1heGltdW0gbWFjaGluZSBmcmFtZSBudW1iZXIgb2YgbWFwcGVkIFJBTSBpbiB0aGlzIHN5c3RlbS4KQEAgLTg1LDcgKzg2LDcgQEAKICAgICAgKiBhbnkgbGFyZ2UgZGlzY29udGlndWl0aWVzIGluIHRoZSBtYWNoaW5lIGFkZHJlc3Mgc3BhY2UsIDJNQiBnYXBzIGluCiAgICAgICogdGhlIG1hY2hwaHlzIHRhYmxlIHdpbGwgYmUgcmVwcmVzZW50ZWQgYnkgYW4gTUZOIGJhc2Ugb2YgemVyby4KICAgICAgKi8KLSAgICB1bG9uZyBleHRlbnRfc3RhcnQ7CisgICAgR1VFU1RfSEFORExFKHVsb25nKSBleHRlbnRfc3RhcnQ7CiAKICAgICAvKgogICAgICAqIE51bWJlciBvZiBleHRlbnRzIHdyaXR0ZW4gdG8gdGhlIGFib3ZlIGFycmF5LiBUaGlzIHdpbGwgYmUgc21hbGxlcgpAQCAtOTMsNiArOTQsNyBAQAogICAgICAqLwogICAgIHVuc2lnbmVkIGludCBucl9leHRlbnRzOwogfTsKK0RFRklORV9HVUVTVF9IQU5ETEVfU1RSVUNUKHhlbl9tYWNocGh5c19tZm5fbGlzdCk7CiAKIC8qCiAgKiBTZXRzIHRoZSBHUEZOIGF0IHdoaWNoIGEgcGFydGljdWxhciBwYWdlIGFwcGVhcnMgaW4gdGhlIHNwZWNpZmllZCBndWVzdCdzCkBAIC0xMTUsNiArMTE3LDcgQEAKICAgICAvKiBHUEZOIHdoZXJlIHRoZSBzb3VyY2UgbWFwcGluZyBwYWdlIHNob3VsZCBhcHBlYXIuICovCiAgICAgdW5zaWduZWQgbG9uZyBncGZuOwogfTsKK0RFRklORV9HVUVTVF9IQU5ETEVfU1RSVUNUKHhlbl9hZGRfdG9fcGh5c21hcCk7CiAKIC8qCiAgKiBUcmFuc2xhdGVzIGEgbGlzdCBvZiBkb21haW4tc3BlY2lmaWMgR1BGTnMgaW50byBNRk5zLiBSZXR1cm5zIGEgLXZlIGVycm9yCkBAIC0xMjksMTMgKzEzMiwxNCBAQAogICAgIHVuc2lnbmVkIGxvbmcgbnJfZ3BmbnM7CiAKICAgICAvKiBMaXN0IG9mIEdQRk5zIHRvIHRyYW5zbGF0ZS4gKi8KLSAgICB1bG9uZyBncGZuX2xpc3Q7CisgICAgR1VFU1RfSEFORExFKHVsb25nKSBncGZuX2xpc3Q7CiAKICAgICAvKgogICAgICAqIE91dHB1dCBsaXN0IHRvIGNvbnRhaW4gTUZOIHRyYW5zbGF0aW9ucy4gTWF5IGJlIHRoZSBzYW1lIGFzIHRoZSBpbnB1dAogICAgICAqIGxpc3QgKGluIHdoaWNoIGNhc2UgZWFjaCBpbnB1dCBHUEZOIGlzIG92ZXJ3cml0dGVuIHdpdGggdGhlIG91dHB1dCBNRk4pLgogICAgICAqLwotICAgIHVsb25nIG1mbl9saXN0OworICAgIEdVRVNUX0hBTkRMRSh1bG9uZykgbWZuX2xpc3Q7CiB9OworREVGSU5FX0dVRVNUX0hBTkRMRV9TVFJVQ1QoeGVuX3RyYW5zbGF0ZV9ncGZuX2xpc3QpOwogCiAjZW5kaWYgLyogX19YRU5fUFVCTElDX01FTU9SWV9IX18gKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUveGVuL2ludGVyZmFjZS94ZW4uaCBiL2luY2x1ZGUveGVuL2ludGVyZmFjZS94ZW4uaAppbmRleCA4MTlhMDMzLi4yYmVmYTNlIDEwMDY0NAotLS0gYS9pbmNsdWRlL3hlbi9pbnRlcmZhY2UveGVuLmgKKysrIGIvaW5jbHVkZS94ZW4vaW50ZXJmYWNlL3hlbi5oCkBAIC0xMTQsOSArMTE0LDE0IEBACiAgKiBwdHJbOjJdICAtLSBNYWNoaW5lIGFkZHJlc3Mgd2l0aGluIHRoZSBmcmFtZSB3aG9zZSBtYXBwaW5nIHRvIG1vZGlmeS4KICAqICAgICAgICAgICAgIFRoZSBmcmFtZSBtdXN0IGJlbG9uZyB0byB0aGUgRkQsIGlmIG9uZSBpcyBzcGVjaWZpZWQuCiAgKiB2YWwgICAgICAtLSBWYWx1ZSB0byB3cml0ZSBpbnRvIHRoZSBtYXBwaW5nIGVudHJ5LgorICoKKyAqIHB0clsxOjBdID09IE1NVV9QVF9VUERBVEVfUFJFU0VSVkVfQUQ6CisgKiBBcyBNTVVfTk9STUFMX1BUX1VQREFURSBhYm92ZSwgYnV0IEEvRCBiaXRzIGN1cnJlbnRseSBpbiB0aGUgUFRFIGFyZSBPUmVkCisgKiB3aXRoIHRob3NlIGluIEB2YWwuCiAgKi8KLSNkZWZpbmUgTU1VX05PUk1BTF9QVF9VUERBVEUgICAgIDAgLyogY2hlY2tlZCAnKnB0ciA9IHZhbCcuIHB0ciBpcyBNQS4gICAgICAgKi8KLSNkZWZpbmUgTU1VX01BQ0hQSFlTX1VQREFURSAgICAgIDEgLyogcHRyID0gTUEgb2YgZnJhbWUgdG8gbW9kaWZ5IGVudHJ5IGZvciAgKi8KKyNkZWZpbmUgTU1VX05PUk1BTF9QVF9VUERBVEUgICAgICAwIC8qIGNoZWNrZWQgJypwdHIgPSB2YWwnLiBwdHIgaXMgTUEuICAgICAgICovCisjZGVmaW5lIE1NVV9NQUNIUEhZU19VUERBVEUgICAgICAgMSAvKiBwdHIgPSBNQSBvZiBmcmFtZSB0byBtb2RpZnkgZW50cnkgZm9yICAqLworI2RlZmluZSBNTVVfUFRfVVBEQVRFX1BSRVNFUlZFX0FEIDIgLyogYXRvbWljYWxseTogKnB0ciA9IHZhbCB8ICgqcHRyJihBfEQpKSAqLwogCiAvKgogICogTU1VIEVYVEVOREVEIE9QRVJBVElPTlMKZGlmZiAtLWdpdCBhL2luY2x1ZGUveGVuL3hlbi1vcHMuaCBiL2luY2x1ZGUveGVuL3hlbi1vcHMuaAppbmRleCAxMGRkZmUwLi5hNzA2ZDZhIDEwMDY0NAotLS0gYS9pbmNsdWRlL3hlbi94ZW4tb3BzLmgKKysrIGIvaW5jbHVkZS94ZW4veGVuLW9wcy5oCkBAIC01LDQgKzUsMTAgQEAKIAogREVDTEFSRV9QRVJfQ1BVKHN0cnVjdCB2Y3B1X2luZm8gKiwgeGVuX3ZjcHUpOwogCit2b2lkIHhlbl9wcmVfc3VzcGVuZCh2b2lkKTsKK3ZvaWQgeGVuX3Bvc3Rfc3VzcGVuZChpbnQgc3VzcGVuZF9jYW5jZWxsZWQpOworCit2b2lkIHhlbl9tbV9waW5fYWxsKHZvaWQpOwordm9pZCB4ZW5fbW1fdW5waW5fYWxsKHZvaWQpOworCiAjZW5kaWYgLyogSU5DTFVERV9YRU5fT1BTX0ggKi8KZGlmZiAtLWdpdCBhL2luaXQvY2FsaWJyYXRlLmMgYi9pbml0L2NhbGlicmF0ZS5jCmluZGV4IGVjYjM4MjIuLjc5NjNlM2YgMTAwNjQ0Ci0tLSBhL2luaXQvY2FsaWJyYXRlLmMKKysrIGIvaW5pdC9jYWxpYnJhdGUuYwpAQCAtOCw3ICs4LDkgQEAKICNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KICNpbmNsdWRlIDxsaW51eC90aW1leC5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcC5oPgogCit1bnNpZ25lZCBsb25nIGxwal9maW5lOwogdW5zaWduZWQgbG9uZyBwcmVzZXRfbHBqOwogc3RhdGljIGludCBfX2luaXQgbHBqX3NldHVwKGNoYXIgKnN0cikKIHsKQEAgLTMzLDkgKzM1LDkgQEAKIAl1bnNpZ25lZCBsb25nIHByZV9zdGFydCwgc3RhcnQsIHBvc3Rfc3RhcnQ7CiAJdW5zaWduZWQgbG9uZyBwcmVfZW5kLCBlbmQsIHBvc3RfZW5kOwogCXVuc2lnbmVkIGxvbmcgc3RhcnRfamlmZmllczsKLQl1bnNpZ25lZCBsb25nIHRzY19yYXRlX21pbiwgdHNjX3JhdGVfbWF4OwotCXVuc2lnbmVkIGxvbmcgZ29vZF90c2Nfc3VtID0gMDsKLQl1bnNpZ25lZCBsb25nIGdvb2RfdHNjX2NvdW50ID0gMDsKKwl1bnNpZ25lZCBsb25nIHRpbWVyX3JhdGVfbWluLCB0aW1lcl9yYXRlX21heDsKKwl1bnNpZ25lZCBsb25nIGdvb2RfdGltZXJfc3VtID0gMDsKKwl1bnNpZ25lZCBsb25nIGdvb2RfdGltZXJfY291bnQgPSAwOwogCWludCBpOwogCiAJaWYgKHJlYWRfY3VycmVudF90aW1lcigmcHJlX3N0YXJ0KSA8IDAgKQpAQCAtNzksMjIgKzgxLDI0IEBACiAJCX0KIAkJcmVhZF9jdXJyZW50X3RpbWVyKCZwb3N0X2VuZCk7CiAKLQkJdHNjX3JhdGVfbWF4ID0gKHBvc3RfZW5kIC0gcHJlX3N0YXJ0KSAvIERFTEFZX0NBTElCUkFUSU9OX1RJQ0tTOwotCQl0c2NfcmF0ZV9taW4gPSAocHJlX2VuZCAtIHBvc3Rfc3RhcnQpIC8gREVMQVlfQ0FMSUJSQVRJT05fVElDS1M7CisJCXRpbWVyX3JhdGVfbWF4ID0gKHBvc3RfZW5kIC0gcHJlX3N0YXJ0KSAvCisJCQkJCURFTEFZX0NBTElCUkFUSU9OX1RJQ0tTOworCQl0aW1lcl9yYXRlX21pbiA9IChwcmVfZW5kIC0gcG9zdF9zdGFydCkgLworCQkJCQlERUxBWV9DQUxJQlJBVElPTl9USUNLUzsKIAogCQkvKgotCSAJICogSWYgdGhlIHVwcGVyIGxpbWl0IGFuZCBsb3dlciBsaW1pdCBvZiB0aGUgdHNjX3JhdGUgaXMKKwkJICogSWYgdGhlIHVwcGVyIGxpbWl0IGFuZCBsb3dlciBsaW1pdCBvZiB0aGUgdGltZXJfcmF0ZSBpcwogCQkgKiA+PSAxMi41JSBhcGFydCwgcmVkbyBjYWxpYnJhdGlvbi4KIAkJICovCiAJCWlmIChwcmVfc3RhcnQgIT0gMCAmJiBwcmVfZW5kICE9IDAgJiYKLQkJICAgICh0c2NfcmF0ZV9tYXggLSB0c2NfcmF0ZV9taW4pIDwgKHRzY19yYXRlX21heCA+PiAzKSkgewotCQkJZ29vZF90c2NfY291bnQrKzsKLQkJCWdvb2RfdHNjX3N1bSArPSB0c2NfcmF0ZV9tYXg7CisJCSAgICAodGltZXJfcmF0ZV9tYXggLSB0aW1lcl9yYXRlX21pbikgPCAodGltZXJfcmF0ZV9tYXggPj4gMykpIHsKKwkJCWdvb2RfdGltZXJfY291bnQrKzsKKwkJCWdvb2RfdGltZXJfc3VtICs9IHRpbWVyX3JhdGVfbWF4OwogCQl9CiAJfQogCi0JaWYgKGdvb2RfdHNjX2NvdW50KQotCQlyZXR1cm4gKGdvb2RfdHNjX3N1bS9nb29kX3RzY19jb3VudCk7CisJaWYgKGdvb2RfdGltZXJfY291bnQpCisJCXJldHVybiAoZ29vZF90aW1lcl9zdW0vZ29vZF90aW1lcl9jb3VudCk7CiAKIAlwcmludGsoS0VSTl9XQVJOSU5HICJjYWxpYnJhdGVfZGVsYXlfZGlyZWN0KCkgZmFpbGVkIHRvIGdldCBhIGdvb2QgIgogCSAgICAgICAiZXN0aW1hdGUgZm9yIGxvb3BzX3Blcl9qaWZmeS5cblByb2JhYmx5IGR1ZSB0byBsb25nIHBsYXRmb3JtIGludGVycnVwdHMuIENvbnNpZGVyIHVzaW5nIFwibHBqPVwiIGJvb3Qgb3B0aW9uLlxuIik7CkBAIC0xMDgsNiArMTEyLDEwIEBACiAgKiBUaGlzIGlzIHRoZSBudW1iZXIgb2YgYml0cyBvZiBwcmVjaXNpb24gZm9yIHRoZSBsb29wc19wZXJfamlmZnkuICBFYWNoCiAgKiBiaXQgdGFrZXMgb24gYXZlcmFnZSAxLjUvSFogc2Vjb25kcy4gIFRoaXMgKGxpa2UgdGhlIG9yaWdpbmFsKSBpcyBhIGxpdHRsZQogICogYmV0dGVyIHRoYW4gMSUKKyAqIEZvciB0aGUgYm9vdCBjcHUgd2UgY2FuIHNraXAgdGhlIGRlbGF5IGNhbGlicmF0aW9uIGFuZCBhc3NpZ24gaXQgYSB2YWx1ZQorICogY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgdGltZXIgZnJlcXVlbmN5LgorICogRm9yIHRoZSByZXN0IG9mIHRoZSBDUFVzIHdlIGNhbm5vdCBhc3N1bWUgdGhhdCB0aGUgdGltZXIgZnJlcXVlbmN5IGlzIHNhbWUgYXMKKyAqIHRoZSBjcHUgZnJlcXVlbmN5LCBoZW5jZSBkbyB0aGUgY2FsaWJyYXRpb24gZm9yIHRob3NlLgogICovCiAjZGVmaW5lIExQU19QUkVDIDgKIApAQCAtMTE4LDIwICsxMjYsMjAgQEAKIAogCWlmIChwcmVzZXRfbHBqKSB7CiAJCWxvb3BzX3Blcl9qaWZmeSA9IHByZXNldF9scGo7Ci0JCXByaW50aygiQ2FsaWJyYXRpbmcgZGVsYXkgbG9vcCAoc2tpcHBlZCkuLi4gIgotCQkJIiVsdS4lMDJsdSBCb2dvTUlQUyBwcmVzZXRcbiIsCi0JCQlsb29wc19wZXJfamlmZnkvKDUwMDAwMC9IWiksCi0JCQkobG9vcHNfcGVyX2ppZmZ5Lyg1MDAwL0haKSkgJSAxMDApOworCQlwcmludGsoS0VSTl9JTkZPCisJCQkiQ2FsaWJyYXRpbmcgZGVsYXkgbG9vcCAoc2tpcHBlZCkgcHJlc2V0IHZhbHVlLi4gIik7CisJfSBlbHNlIGlmICgoc21wX3Byb2Nlc3Nvcl9pZCgpID09IDApICYmIGxwal9maW5lKSB7CisJCWxvb3BzX3Blcl9qaWZmeSA9IGxwal9maW5lOworCQlwcmludGsoS0VSTl9JTkZPCisJCQkiQ2FsaWJyYXRpbmcgZGVsYXkgbG9vcCAoc2tpcHBlZCksICIKKwkJCSJ2YWx1ZSBjYWxjdWxhdGVkIHVzaW5nIHRpbWVyIGZyZXF1ZW5jeS4uICIpOwogCX0gZWxzZSBpZiAoKGxvb3BzX3Blcl9qaWZmeSA9IGNhbGlicmF0ZV9kZWxheV9kaXJlY3QoKSkgIT0gMCkgewotCQlwcmludGsoIkNhbGlicmF0aW5nIGRlbGF5IHVzaW5nIHRpbWVyIHNwZWNpZmljIHJvdXRpbmUuLiAiKTsKLQkJcHJpbnRrKCIlbHUuJTAybHUgQm9nb01JUFMgKGxwaj0lbHUpXG4iLAotCQkJbG9vcHNfcGVyX2ppZmZ5Lyg1MDAwMDAvSFopLAotCQkJKGxvb3BzX3Blcl9qaWZmeS8oNTAwMC9IWikpICUgMTAwLAotCQkJbG9vcHNfcGVyX2ppZmZ5KTsKKwkJcHJpbnRrKEtFUk5fSU5GTworCQkJIkNhbGlicmF0aW5nIGRlbGF5IHVzaW5nIHRpbWVyIHNwZWNpZmljIHJvdXRpbmUuLiAiKTsKIAl9IGVsc2UgewogCQlsb29wc19wZXJfamlmZnkgPSAoMTw8MTIpOwogCi0JCXByaW50ayhLRVJOX0RFQlVHICJDYWxpYnJhdGluZyBkZWxheSBsb29wLi4uICIpOworCQlwcmludGsoS0VSTl9JTkZPICJDYWxpYnJhdGluZyBkZWxheSBsb29wLi4uICIpOwogCQl3aGlsZSAoKGxvb3BzX3Blcl9qaWZmeSA8PD0gMSkgIT0gMCkgewogCQkJLyogd2FpdCBmb3IgInN0YXJ0IG9mIiBjbG9jayB0aWNrICovCiAJCQl0aWNrcyA9IGppZmZpZXM7CkBAIC0xNjEsMTIgKzE2OSw4IEBACiAJCQlpZiAoamlmZmllcyAhPSB0aWNrcykJLyogbG9uZ2VyIHRoYW4gMSB0aWNrICovCiAJCQkJbG9vcHNfcGVyX2ppZmZ5ICY9IH5sb29wYml0OwogCQl9Ci0KLQkJLyogUm91bmQgdGhlIHZhbHVlIGFuZCBwcmludCBpdCAqLwotCQlwcmludGsoIiVsdS4lMDJsdSBCb2dvTUlQUyAobHBqPSVsdSlcbiIsCi0JCQlsb29wc19wZXJfamlmZnkvKDUwMDAwMC9IWiksCi0JCQkobG9vcHNfcGVyX2ppZmZ5Lyg1MDAwL0haKSkgJSAxMDAsCi0JCQlsb29wc19wZXJfamlmZnkpOwogCX0KLQorCXByaW50ayhLRVJOX0lORk8gIiVsdS4lMDJsdSBCb2dvTUlQUyAobHBqPSVsdSlcbiIsCisJCQlsb29wc19wZXJfamlmZnkvKDUwMDAwMC9IWiksCisJCQkobG9vcHNfcGVyX2ppZmZ5Lyg1MDAwL0haKSkgJSAxMDAsIGxvb3BzX3Blcl9qaWZmeSk7CiB9CmRpZmYgLS1naXQgYS9rZXJuZWwvTWFrZWZpbGUgYi9rZXJuZWwvTWFrZWZpbGUKaW5kZXggMWM5OTM4YS4uZjYzMjhlMSAxMDA2NDQKLS0tIGEva2VybmVsL01ha2VmaWxlCisrKyBiL2tlcm5lbC9NYWtlZmlsZQpAQCAtMyw3ICszLDcgQEAKICMKIAogb2JqLXkgICAgID0gc2NoZWQubyBmb3JrLm8gZXhlY19kb21haW4ubyBwYW5pYy5vIHByaW50ay5vIHByb2ZpbGUubyBcCi0JICAgIGV4aXQubyBpdGltZXIubyB0aW1lLm8gc29mdGlycS5vIHJlc291cmNlLm8gXAorCSAgICBjcHUubyBleGl0Lm8gaXRpbWVyLm8gdGltZS5vIHNvZnRpcnEubyByZXNvdXJjZS5vIFwKIAkgICAgc3lzY3RsLm8gY2FwYWJpbGl0eS5vIHB0cmFjZS5vIHRpbWVyLm8gdXNlci5vIFwKIAkgICAgc2lnbmFsLm8gc3lzLm8ga21vZC5vIHdvcmtxdWV1ZS5vIHBpZC5vIFwKIAkgICAgcmN1cGRhdGUubyBleHRhYmxlLm8gcGFyYW1zLm8gcG9zaXgtdGltZXJzLm8gXApAQCAtMTEsNiArMTEsMTggQEAKIAkgICAgaHJ0aW1lci5vIHJ3c2VtLm8gbnNwcm94eS5vIHNyY3UubyBzZW1hcGhvcmUubyBcCiAJICAgIG5vdGlmaWVyLm8ga3N5c2ZzLm8gcG1fcW9zX3BhcmFtcy5vIHNjaGVkX2Nsb2NrLm8KIAorQ0ZMQUdTX1JFTU9WRV9zY2hlZC5vID0gLW1uby1zcGUKKworaWZkZWYgQ09ORklHX0ZUUkFDRQorIyBEbyBub3QgdHJhY2UgZGVidWcgZmlsZXMgYW5kIGludGVybmFsIGZ0cmFjZSBmaWxlcworQ0ZMQUdTX1JFTU9WRV9sb2NrZGVwLm8gPSAtcGcKK0NGTEFHU19SRU1PVkVfbG9ja2RlcF9wcm9jLm8gPSAtcGcKK0NGTEFHU19SRU1PVkVfbXV0ZXgtZGVidWcubyA9IC1wZworQ0ZMQUdTX1JFTU9WRV9ydG11dGV4LWRlYnVnLm8gPSAtcGcKK0NGTEFHU19SRU1PVkVfY2dyb3VwLWRlYnVnLm8gPSAtcGcKK0NGTEFHU19SRU1PVkVfc2NoZWRfY2xvY2subyA9IC1wZworZW5kaWYKKwogb2JqLSQoQ09ORklHX1NZU0NUTF9TWVNDQUxMX0NIRUNLKSArPSBzeXNjdGxfY2hlY2subwogb2JqLSQoQ09ORklHX1NUQUNLVFJBQ0UpICs9IHN0YWNrdHJhY2Uubwogb2JqLXkgKz0gdGltZS8KQEAgLTI3LDcgKzM5LDcgQEAKIG9iai0kKENPTkZJR19ERUJVR19SVF9NVVRFWEVTKSArPSBydG11dGV4LWRlYnVnLm8KIG9iai0kKENPTkZJR19SVF9NVVRFWF9URVNURVIpICs9IHJ0bXV0ZXgtdGVzdGVyLm8KIG9iai0kKENPTkZJR19HRU5FUklDX0lTQV9ETUEpICs9IGRtYS5vCi1vYmotJChDT05GSUdfU01QKSArPSBjcHUubyBzcGlubG9jay5vCitvYmotJChDT05GSUdfU01QKSArPSBzcGlubG9jay5vCiBvYmotJChDT05GSUdfREVCVUdfU1BJTkxPQ0spICs9IHNwaW5sb2NrLm8KIG9iai0kKENPTkZJR19QUk9WRV9MT0NLSU5HKSArPSBzcGlubG9jay5vCiBvYmotJChDT05GSUdfVUlEMTYpICs9IHVpZDE2Lm8KQEAgLTY5LDYgKzgxLDkgQEAKIG9iai0kKENPTkZJR19UQVNLU1RBVFMpICs9IHRhc2tzdGF0cy5vIHRzYWNjdC5vCiBvYmotJChDT05GSUdfTUFSS0VSUykgKz0gbWFya2VyLm8KIG9iai0kKENPTkZJR19MQVRFTkNZVE9QKSArPSBsYXRlbmN5dG9wLm8KK29iai0kKENPTkZJR19GVFJBQ0UpICs9IHRyYWNlLworb2JqLSQoQ09ORklHX1RSQUNJTkcpICs9IHRyYWNlLworb2JqLSQoQ09ORklHX1NNUCkgKz0gc2NoZWRfY3B1cHJpLm8KIAogaWZuZXEgKCQoQ09ORklHX1NDSEVEX05PX05PX09NSVRfRlJBTUVfUE9JTlRFUikseSkKICMgQWNjb3JkaW5nIHRvIEFsYW4gTW9kcmEgPGFsYW5AbGludXhjYXJlLmNvbS5hdT4sIHRoZSAtZm5vLW9taXQtZnJhbWUtcG9pbnRlciBpcwpkaWZmIC0tZ2l0IGEva2VybmVsL2JhY2t0cmFjZXRlc3QuYyBiL2tlcm5lbC9iYWNrdHJhY2V0ZXN0LmMKaW5kZXggZDFhNzYwNS4uYTVlMDI2YiAxMDA2NDQKLS0tIGEva2VybmVsL2JhY2t0cmFjZXRlc3QuYworKysgYi9rZXJuZWwvYmFja3RyYWNldGVzdC5jCkBAIC0xMCwzMCArMTAsNzMgQEAKICAqIG9mIHRoZSBMaWNlbnNlLgogICovCiAKKyNpbmNsdWRlIDxsaW51eC9jb21wbGV0aW9uLmg+CisjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KKyNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KICNpbmNsdWRlIDxsaW51eC9zY2hlZC5oPgotI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+CisjaW5jbHVkZSA8bGludXgvc3RhY2t0cmFjZS5oPgogCi1zdGF0aWMgc3RydWN0IHRpbWVyX2xpc3QgYmFja3RyYWNlX3RpbWVyOworc3RhdGljIHZvaWQgYmFja3RyYWNlX3Rlc3Rfbm9ybWFsKHZvaWQpCit7CisJcHJpbnRrKCJUZXN0aW5nIGEgYmFja3RyYWNlIGZyb20gcHJvY2VzcyBjb250ZXh0LlxuIik7CisJcHJpbnRrKCJUaGUgZm9sbG93aW5nIHRyYWNlIGlzIGEga2VybmVsIHNlbGYgdGVzdCBhbmQgbm90IGEgYnVnIVxuIik7CiAKLXN0YXRpYyB2b2lkIGJhY2t0cmFjZV90ZXN0X3RpbWVyKHVuc2lnbmVkIGxvbmcgZGF0YSkKKwlkdW1wX3N0YWNrKCk7Cit9CisKK3N0YXRpYyBERUNMQVJFX0NPTVBMRVRJT04oYmFja3RyYWNlX3dvcmspOworCitzdGF0aWMgdm9pZCBiYWNrdHJhY2VfdGVzdF9pcnFfY2FsbGJhY2sodW5zaWduZWQgbG9uZyBkYXRhKQoreworCWR1bXBfc3RhY2soKTsKKwljb21wbGV0ZSgmYmFja3RyYWNlX3dvcmspOworfQorCitzdGF0aWMgREVDTEFSRV9UQVNLTEVUKGJhY2t0cmFjZV90YXNrbGV0LCAmYmFja3RyYWNlX3Rlc3RfaXJxX2NhbGxiYWNrLCAwKTsKKworc3RhdGljIHZvaWQgYmFja3RyYWNlX3Rlc3RfaXJxKHZvaWQpCiB7CiAJcHJpbnRrKCJUZXN0aW5nIGEgYmFja3RyYWNlIGZyb20gaXJxIGNvbnRleHQuXG4iKTsKIAlwcmludGsoIlRoZSBmb2xsb3dpbmcgdHJhY2UgaXMgYSBrZXJuZWwgc2VsZiB0ZXN0IGFuZCBub3QgYSBidWchXG4iKTsKLQlkdW1wX3N0YWNrKCk7CisKKwlpbml0X2NvbXBsZXRpb24oJmJhY2t0cmFjZV93b3JrKTsKKwl0YXNrbGV0X3NjaGVkdWxlKCZiYWNrdHJhY2VfdGFza2xldCk7CisJd2FpdF9mb3JfY29tcGxldGlvbigmYmFja3RyYWNlX3dvcmspOwogfQorCisjaWZkZWYgQ09ORklHX1NUQUNLVFJBQ0UKK3N0YXRpYyB2b2lkIGJhY2t0cmFjZV90ZXN0X3NhdmVkKHZvaWQpCit7CisJc3RydWN0IHN0YWNrX3RyYWNlIHRyYWNlOworCXVuc2lnbmVkIGxvbmcgZW50cmllc1s4XTsKKworCXByaW50aygiVGVzdGluZyBhIHNhdmVkIGJhY2t0cmFjZS5cbiIpOworCXByaW50aygiVGhlIGZvbGxvd2luZyB0cmFjZSBpcyBhIGtlcm5lbCBzZWxmIHRlc3QgYW5kIG5vdCBhIGJ1ZyFcbiIpOworCisJdHJhY2UubnJfZW50cmllcyA9IDA7CisJdHJhY2UubWF4X2VudHJpZXMgPSBBUlJBWV9TSVpFKGVudHJpZXMpOworCXRyYWNlLmVudHJpZXMgPSBlbnRyaWVzOworCXRyYWNlLnNraXAgPSAwOworCisJc2F2ZV9zdGFja190cmFjZSgmdHJhY2UpOworCXByaW50X3N0YWNrX3RyYWNlKCZ0cmFjZSwgMCk7Cit9CisjZWxzZQorc3RhdGljIHZvaWQgYmFja3RyYWNlX3Rlc3Rfc2F2ZWQodm9pZCkKK3sKKwlwcmludGsoIlNhdmVkIGJhY2t0cmFjZSB0ZXN0IHNraXBwZWQuXG4iKTsKK30KKyNlbmRpZgorCiBzdGF0aWMgaW50IGJhY2t0cmFjZV9yZWdyZXNzaW9uX3Rlc3Qodm9pZCkKIHsKIAlwcmludGsoIj09PT1bIGJhY2t0cmFjZSB0ZXN0aW5nIF09PT09PT09PT09PVxuIik7Ci0JcHJpbnRrKCJUZXN0aW5nIGEgYmFja3RyYWNlIGZyb20gcHJvY2VzcyBjb250ZXh0LlxuIik7Ci0JcHJpbnRrKCJUaGUgZm9sbG93aW5nIHRyYWNlIGlzIGEga2VybmVsIHNlbGYgdGVzdCBhbmQgbm90IGEgYnVnIVxuIik7Ci0JZHVtcF9zdGFjaygpOwogCi0JaW5pdF90aW1lcigmYmFja3RyYWNlX3RpbWVyKTsKLQliYWNrdHJhY2VfdGltZXIuZnVuY3Rpb24gPSBiYWNrdHJhY2VfdGVzdF90aW1lcjsKLQltb2RfdGltZXIoJmJhY2t0cmFjZV90aW1lciwgamlmZmllcyArIDEwKTsKKwliYWNrdHJhY2VfdGVzdF9ub3JtYWwoKTsKKwliYWNrdHJhY2VfdGVzdF9pcnEoKTsKKwliYWNrdHJhY2VfdGVzdF9zYXZlZCgpOwogCi0JbXNsZWVwKDEwKTsKIAlwcmludGsoIj09PT1bIGVuZCBvZiBiYWNrdHJhY2UgdGVzdGluZyBdPT09PVxuIik7CiAJcmV0dXJuIDA7CiB9CmRpZmYgLS1naXQgYS9rZXJuZWwvY3B1LmMgYi9rZXJuZWwvY3B1LmMKaW5kZXggYzc3YmMzYS4uYjExZjA2ZCAxMDA2NDQKLS0tIGEva2VybmVsL2NwdS5jCisrKyBiL2tlcm5lbC9jcHUuYwpAQCAtMTUsNiArMTUsMjggQEAKICNpbmNsdWRlIDxsaW51eC9zdG9wX21hY2hpbmUuaD4KICNpbmNsdWRlIDxsaW51eC9tdXRleC5oPgogCisvKgorICogUmVwcmVzZW50cyBhbGwgY3B1J3MgcHJlc2VudCBpbiB0aGUgc3lzdGVtCisgKiBJbiBzeXN0ZW1zIGNhcGFibGUgb2YgaG90cGx1ZywgdGhpcyBtYXAgY291bGQgZHluYW1pY2FsbHkgZ3JvdworICogYXMgbmV3IGNwdSdzIGFyZSBkZXRlY3RlZCBpbiB0aGUgc3lzdGVtIHZpYSBhbnkgcGxhdGZvcm0gc3BlY2lmaWMKKyAqIG1ldGhvZCwgc3VjaCBhcyBBQ1BJIGZvciBlLmcuCisgKi8KK2NwdW1hc2tfdCBjcHVfcHJlc2VudF9tYXAgX19yZWFkX21vc3RseTsKK0VYUE9SVF9TWU1CT0woY3B1X3ByZXNlbnRfbWFwKTsKKworI2lmbmRlZiBDT05GSUdfU01QCisKKy8qCisgKiBSZXByZXNlbnRzIGFsbCBjcHUncyB0aGF0IGFyZSBjdXJyZW50bHkgb25saW5lLgorICovCitjcHVtYXNrX3QgY3B1X29ubGluZV9tYXAgX19yZWFkX21vc3RseSA9IENQVV9NQVNLX0FMTDsKK0VYUE9SVF9TWU1CT0woY3B1X29ubGluZV9tYXApOworCitjcHVtYXNrX3QgY3B1X3Bvc3NpYmxlX21hcCBfX3JlYWRfbW9zdGx5ID0gQ1BVX01BU0tfQUxMOworRVhQT1JUX1NZTUJPTChjcHVfcG9zc2libGVfbWFwKTsKKworI2Vsc2UgLyogQ09ORklHX1NNUCAqLworCiAvKiBTZXJpYWxpemVzIHRoZSB1cGRhdGVzIHRvIGNwdV9vbmxpbmVfbWFwLCBjcHVfcHJlc2VudF9tYXAgKi8KIHN0YXRpYyBERUZJTkVfTVVURVgoY3B1X2FkZF9yZW1vdmVfbG9jayk7CiAKQEAgLTQwMywzICs0MjUsNSBAQAogCWNwdV9tYXBzX3VwZGF0ZV9kb25lKCk7CiB9CiAjZW5kaWYgLyogQ09ORklHX1BNX1NMRUVQX1NNUCAqLworCisjZW5kaWYgLyogQ09ORklHX1NNUCAqLwpkaWZmIC0tZ2l0IGEva2VybmVsL2NwdXNldC5jIGIva2VybmVsL2NwdXNldC5jCmluZGV4IDc5OGIzYWIuLjQ1OWQ2MDEgMTAwNjQ0Ci0tLSBhL2tlcm5lbC9jcHVzZXQuYworKysgYi9rZXJuZWwvY3B1c2V0LmMKQEAgLTExOTQsNiArMTE5NCwxNSBAQAogCiAJaWYgKGNwdXNfZW1wdHkoY3MtPmNwdXNfYWxsb3dlZCkgfHwgbm9kZXNfZW1wdHkoY3MtPm1lbXNfYWxsb3dlZCkpCiAJCXJldHVybiAtRU5PU1BDOworCWlmICh0c2stPmZsYWdzICYgUEZfVEhSRUFEX0JPVU5EKSB7CisJCWNwdW1hc2tfdCBtYXNrOworCisJCW11dGV4X2xvY2soJmNhbGxiYWNrX211dGV4KTsKKwkJbWFzayA9IGNzLT5jcHVzX2FsbG93ZWQ7CisJCW11dGV4X3VubG9jaygmY2FsbGJhY2tfbXV0ZXgpOworCQlpZiAoIWNwdXNfZXF1YWwodHNrLT5jcHVzX2FsbG93ZWQsIG1hc2spKQorCQkJcmV0dXJuIC1FSU5WQUw7CisJfQogCiAJcmV0dXJuIHNlY3VyaXR5X3Rhc2tfc2V0c2NoZWR1bGVyKHRzaywgMCwgTlVMTCk7CiB9CkBAIC0xMjA3LDExICsxMjE2LDE0IEBACiAJc3RydWN0IG1tX3N0cnVjdCAqbW07CiAJc3RydWN0IGNwdXNldCAqY3MgPSBjZ3JvdXBfY3MoY29udCk7CiAJc3RydWN0IGNwdXNldCAqb2xkY3MgPSBjZ3JvdXBfY3Mob2xkY29udCk7CisJaW50IGVycjsKIAogCW11dGV4X2xvY2soJmNhbGxiYWNrX211dGV4KTsKIAlndWFyYW50ZWVfb25saW5lX2NwdXMoY3MsICZjcHVzKTsKLQlzZXRfY3B1c19hbGxvd2VkX3B0cih0c2ssICZjcHVzKTsKKwllcnIgPSBzZXRfY3B1c19hbGxvd2VkX3B0cih0c2ssICZjcHVzKTsKIAltdXRleF91bmxvY2soJmNhbGxiYWNrX211dGV4KTsKKwlpZiAoZXJyKQorCQlyZXR1cm47CiAKIAlmcm9tID0gb2xkY3MtPm1lbXNfYWxsb3dlZDsKIAl0byA9IGNzLT5tZW1zX2FsbG93ZWQ7CmRpZmYgLS1naXQgYS9rZXJuZWwvZXhpdC5jIGIva2VybmVsL2V4aXQuYwppbmRleCA4ZjYxODVlLi5jZWIyNTg3IDEwMDY0NAotLS0gYS9rZXJuZWwvZXhpdC5jCisrKyBiL2tlcm5lbC9leGl0LmMKQEAgLTEzLDYgKzEzLDcgQEAKICNpbmNsdWRlIDxsaW51eC9wZXJzb25hbGl0eS5oPgogI2luY2x1ZGUgPGxpbnV4L3R0eS5oPgogI2luY2x1ZGUgPGxpbnV4L21udF9uYW1lc3BhY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9pb2NvbnRleHQuaD4KICNpbmNsdWRlIDxsaW51eC9rZXkuaD4KICNpbmNsdWRlIDxsaW51eC9zZWN1cml0eS5oPgogI2luY2x1ZGUgPGxpbnV4L2NwdS5oPgpkaWZmIC0tZ2l0IGEva2VybmVsL2ZvcmsuYyBiL2tlcm5lbC9mb3JrLmMKaW5kZXggMTk5MDhiMi4uNGJkMmY1MSAxMDA2NDQKLS0tIGEva2VybmVsL2ZvcmsuYworKysgYi9rZXJuZWwvZm9yay5jCkBAIC0yMyw2ICsyMyw3IEBACiAjaW5jbHVkZSA8bGludXgvc2VtLmg+CiAjaW5jbHVkZSA8bGludXgvZmlsZS5oPgogI2luY2x1ZGUgPGxpbnV4L2ZkdGFibGUuaD4KKyNpbmNsdWRlIDxsaW51eC9pb2NvbnRleHQuaD4KICNpbmNsdWRlIDxsaW51eC9rZXkuaD4KICNpbmNsdWRlIDxsaW51eC9iaW5mbXRzLmg+CiAjaW5jbHVkZSA8bGludXgvbW1hbi5oPgpAQCAtOTA5LDcgKzkxMCw3IEBACiAKIAlydF9tdXRleF9pbml0X3Rhc2socCk7CiAKLSNpZmRlZiBDT05GSUdfVFJBQ0VfSVJRRkxBR1MKKyNpZmRlZiBDT05GSUdfUFJPVkVfTE9DS0lORwogCURFQlVHX0xPQ0tTX1dBUk5fT04oIXAtPmhhcmRpcnFzX2VuYWJsZWQpOwogCURFQlVHX0xPQ0tTX1dBUk5fT04oIXAtPnNvZnRpcnFzX2VuYWJsZWQpOwogI2VuZGlmCmRpZmYgLS1naXQgYS9rZXJuZWwvaHJ0aW1lci5jIGIva2VybmVsL2hydGltZXIuYwppbmRleCBhYjgwNTE1Li4yOTEzYThiIDEwMDY0NAotLS0gYS9rZXJuZWwvaHJ0aW1lci5jCisrKyBiL2tlcm5lbC9ocnRpbWVyLmMKQEAgLTMwMCwxMSArMzAwLDEwIEBACiAgKi8KIHU2NCBrdGltZV9kaXZucyhjb25zdCBrdGltZV90IGt0LCBzNjQgZGl2KQogewotCXU2NCBkY2xjLCBpbmMsIGRuczsKKwl1NjQgZGNsYzsKIAlpbnQgc2Z0ID0gMDsKIAotCWRjbGMgPSBkbnMgPSBrdGltZV90b19ucyhrdCk7Ci0JaW5jID0gZGl2OworCWRjbGMgPSBrdGltZV90b19ucyhrdCk7CiAJLyogTWFrZSBzdXJlIHRoZSBkaXZpc29yIGlzIGxlc3MgdGhhbiAyXjMyOiAqLwogCXdoaWxlIChkaXYgPj4gMzIpIHsKIAkJc2Z0Kys7CkBAIC02MzIsOCArNjMxLDYgQEAKICAqLwogdm9pZCBocmVzX3RpbWVyc19yZXN1bWUodm9pZCkKIHsKLQlXQVJOX09OX09OQ0UobnVtX29ubGluZV9jcHVzKCkgPiAxKTsKLQogCS8qIFJldHJpZ2dlciB0aGUgQ1BVIGxvY2FsIGV2ZW50czogKi8KIAlyZXRyaWdnZXJfbmV4dF9ldmVudChOVUxMKTsKIH0KQEAgLTEwODYsNyArMTA4Myw3IEBACiB9CiBFWFBPUlRfU1lNQk9MX0dQTChocnRpbWVyX2dldF9yZW1haW5pbmcpOwogCi0jaWYgZGVmaW5lZChDT05GSUdfTk9fSURMRV9IWikgfHwgZGVmaW5lZChDT05GSUdfTk9fSFopCisjaWZkZWYgQ09ORklHX05PX0haCiAvKioKICAqIGhydGltZXJfZ2V0X25leHRfZXZlbnQgLSBnZXQgdGhlIHRpbWUgdW50aWwgbmV4dCBleHBpcnkgZXZlbnQKICAqCkBAIC0xNjc3LDcgKzE2NzQsNyBAQAogCQkJICAodm9pZCAqKShsb25nKXNtcF9wcm9jZXNzb3JfaWQoKSk7CiAJcmVnaXN0ZXJfY3B1X25vdGlmaWVyKCZocnRpbWVyc19uYik7CiAjaWZkZWYgQ09ORklHX0hJR0hfUkVTX1RJTUVSUwotCW9wZW5fc29mdGlycShIUlRJTUVSX1NPRlRJUlEsIHJ1bl9ocnRpbWVyX3NvZnRpcnEsIE5VTEwpOworCW9wZW5fc29mdGlycShIUlRJTUVSX1NPRlRJUlEsIHJ1bl9ocnRpbWVyX3NvZnRpcnEpOwogI2VuZGlmCiB9CiAKZGlmZiAtLWdpdCBhL2tlcm5lbC9pcnEvbWFuYWdlLmMgYi9rZXJuZWwvaXJxL21hbmFnZS5jCmluZGV4IDQ2ZDY2MTEuLjc3YTUxYmUgMTAwNjQ0Ci0tLSBhL2tlcm5lbC9pcnEvbWFuYWdlLmMKKysrIGIva2VybmVsL2lycS9tYW5hZ2UuYwpAQCAtMTcsNiArMTcsOCBAQAogCiAjaWZkZWYgQ09ORklHX1NNUAogCitjcHVtYXNrX3QgaXJxX2RlZmF1bHRfYWZmaW5pdHkgPSBDUFVfTUFTS19BTEw7CisKIC8qKgogICoJc3luY2hyb25pemVfaXJxIC0gd2FpdCBmb3IgcGVuZGluZyBJUlEgaGFuZGxlcnMgKG9uIG90aGVyIENQVXMpCiAgKglAaXJxOiBpbnRlcnJ1cHQgbnVtYmVyIHRvIHdhaXQgZm9yCkBAIC05NSw2ICs5NywyNyBAQAogCXJldHVybiAwOwogfQogCisjaWZuZGVmIENPTkZJR19BVVRPX0lSUV9BRkZJTklUWQorLyoKKyAqIEdlbmVyaWMgdmVyc2lvbiBvZiB0aGUgYWZmaW5pdHkgYXV0b3NlbGVjdG9yLgorICovCitpbnQgaXJxX3NlbGVjdF9hZmZpbml0eSh1bnNpZ25lZCBpbnQgaXJxKQoreworCWNwdW1hc2tfdCBtYXNrOworCisJaWYgKCFpcnFfY2FuX3NldF9hZmZpbml0eShpcnEpKQorCQlyZXR1cm4gMDsKKworCWNwdXNfYW5kKG1hc2ssIGNwdV9vbmxpbmVfbWFwLCBpcnFfZGVmYXVsdF9hZmZpbml0eSk7CisKKwlpcnFfZGVzY1tpcnFdLmFmZmluaXR5ID0gbWFzazsKKwlpcnFfZGVzY1tpcnFdLmNoaXAtPnNldF9hZmZpbml0eShpcnEsIG1hc2spOworCisJc2V0X2JhbGFuY2VfaXJxX2FmZmluaXR5KGlycSwgbWFzayk7CisJcmV0dXJuIDA7Cit9CisjZW5kaWYKKwogI2VuZGlmCiAKIC8qKgpAQCAtMzU0LDcgKzM3Nyw3IEBACiAKIAkJLyogU2V0dXAgdGhlIHR5cGUgKGxldmVsLCBlZGdlIHBvbGFyaXR5KSBpZiBjb25maWd1cmVkOiAqLwogCQlpZiAobmV3LT5mbGFncyAmIElSUUZfVFJJR0dFUl9NQVNLKSB7Ci0JCQlpZiAoZGVzYy0+Y2hpcCAmJiBkZXNjLT5jaGlwLT5zZXRfdHlwZSkKKwkJCWlmIChkZXNjLT5jaGlwLT5zZXRfdHlwZSkKIAkJCQlkZXNjLT5jaGlwLT5zZXRfdHlwZShpcnEsCiAJCQkJCQluZXctPmZsYWdzICYgSVJRRl9UUklHR0VSX01BU0spOwogCQkJZWxzZQpAQCAtMzY0LDggKzM4Nyw3IEBACiAJCQkJICovCiAJCQkJcHJpbnRrKEtFUk5fV0FSTklORyAiTm8gSVJRRl9UUklHR0VSIHNldF90eXBlICIKIAkJCQkgICAgICAgImZ1bmN0aW9uIGZvciBJUlEgJWQgKCVzKVxuIiwgaXJxLAotCQkJCSAgICAgICBkZXNjLT5jaGlwID8gZGVzYy0+Y2hpcC0+bmFtZSA6Ci0JCQkJICAgICAgICJ1bmtub3duIik7CisJCQkJICAgICAgIGRlc2MtPmNoaXAtPm5hbWUpOwogCQl9IGVsc2UKIAkJCWNvbXBhdF9pcnFfY2hpcF9zZXRfZGVmYXVsdF9oYW5kbGVyKGRlc2MpOwogCkBAIC0zODIsNiArNDA0LDkgQEAKIAkJfSBlbHNlCiAJCQkvKiBVbmRvIG5lc3RlZCBkaXNhYmxlczogKi8KIAkJCWRlc2MtPmRlcHRoID0gMTsKKworCQkvKiBTZXQgZGVmYXVsdCBhZmZpbml0eSBtYXNrIG9uY2UgZXZlcnl0aGluZyBpcyBzZXR1cCAqLworCQlpcnFfc2VsZWN0X2FmZmluaXR5KGlycSk7CiAJfQogCS8qIFJlc2V0IGJyb2tlbiBpcnEgZGV0ZWN0aW9uIHdoZW4gaW5zdGFsbGluZyBuZXcgaGFuZGxlciAqLwogCWRlc2MtPmlycV9jb3VudCA9IDA7CkBAIC01NzEsOCArNTk2LDYgQEAKIAlhY3Rpb24tPm5leHQgPSBOVUxMOwogCWFjdGlvbi0+ZGV2X2lkID0gZGV2X2lkOwogCi0Jc2VsZWN0X3NtcF9hZmZpbml0eShpcnEpOwotCiAjaWZkZWYgQ09ORklHX0RFQlVHX1NISVJRCiAJaWYgKGlycWZsYWdzICYgSVJRRl9TSEFSRUQpIHsKIAkJLyoKZGlmZiAtLWdpdCBhL2tlcm5lbC9pcnEvcHJvYy5jIGIva2VybmVsL2lycS9wcm9jLmMKaW5kZXggYzJmMmNjYi4uNmM2ZDM1ZCAxMDA2NDQKLS0tIGEva2VybmVsL2lycS9wcm9jLmMKKysrIGIva2VybmVsL2lycS9wcm9jLmMKQEAgLTQ0LDcgKzQ0LDcgQEAKIAkJCQkgICB1bnNpZ25lZCBsb25nIGNvdW50LCB2b2lkICpkYXRhKQogewogCXVuc2lnbmVkIGludCBpcnEgPSAoaW50KShsb25nKWRhdGEsIGZ1bGxfY291bnQgPSBjb3VudCwgZXJyOwotCWNwdW1hc2tfdCBuZXdfdmFsdWUsIHRtcDsKKwljcHVtYXNrX3QgbmV3X3ZhbHVlOwogCiAJaWYgKCFpcnFfZGVzY1tpcnFdLmNoaXAtPnNldF9hZmZpbml0eSB8fCBub19pcnFfYWZmaW5pdHkgfHwKIAkgICAgaXJxX2JhbGFuY2luZ19kaXNhYmxlZChpcnEpKQpAQCAtNjIsMTcgKzYyLDUxIEBACiAJICogd2F5IHRvIG1ha2UgdGhlIHN5c3RlbSB1bnVzYWJsZSBhY2NpZGVudGFsbHkgOi0pIEF0IGxlYXN0CiAJICogb25lIG9ubGluZSBDUFUgc3RpbGwgaGFzIHRvIGJlIHRhcmdldGVkLgogCSAqLwotCWNwdXNfYW5kKHRtcCwgbmV3X3ZhbHVlLCBjcHVfb25saW5lX21hcCk7Ci0JaWYgKGNwdXNfZW1wdHkodG1wKSkKKwlpZiAoIWNwdXNfaW50ZXJzZWN0cyhuZXdfdmFsdWUsIGNwdV9vbmxpbmVfbWFwKSkKIAkJLyogU3BlY2lhbCBjYXNlIGZvciBlbXB0eSBzZXQgLSBhbGxvdyB0aGUgYXJjaGl0ZWN0dXJlCiAJCSAgIGNvZGUgdG8gc2V0IGRlZmF1bHQgU01QIGFmZmluaXR5LiAqLwotCQlyZXR1cm4gc2VsZWN0X3NtcF9hZmZpbml0eShpcnEpID8gLUVJTlZBTCA6IGZ1bGxfY291bnQ7CisJCXJldHVybiBpcnFfc2VsZWN0X2FmZmluaXR5KGlycSkgPyAtRUlOVkFMIDogZnVsbF9jb3VudDsKIAogCWlycV9zZXRfYWZmaW5pdHkoaXJxLCBuZXdfdmFsdWUpOwogCiAJcmV0dXJuIGZ1bGxfY291bnQ7CiB9CiAKK3N0YXRpYyBpbnQgZGVmYXVsdF9hZmZpbml0eV9yZWFkKGNoYXIgKnBhZ2UsIGNoYXIgKipzdGFydCwgb2ZmX3Qgb2ZmLAorCQkJCSAgaW50IGNvdW50LCBpbnQgKmVvZiwgdm9pZCAqZGF0YSkKK3sKKwlpbnQgbGVuID0gY3B1bWFza19zY25wcmludGYocGFnZSwgY291bnQsIGlycV9kZWZhdWx0X2FmZmluaXR5KTsKKwlpZiAoY291bnQgLSBsZW4gPCAyKQorCQlyZXR1cm4gLUVJTlZBTDsKKwlsZW4gKz0gc3ByaW50ZihwYWdlICsgbGVuLCAiXG4iKTsKKwlyZXR1cm4gbGVuOworfQorCitzdGF0aWMgaW50IGRlZmF1bHRfYWZmaW5pdHlfd3JpdGUoc3RydWN0IGZpbGUgKmZpbGUsIGNvbnN0IGNoYXIgX191c2VyICpidWZmZXIsCisJCQkJICAgdW5zaWduZWQgbG9uZyBjb3VudCwgdm9pZCAqZGF0YSkKK3sKKwl1bnNpZ25lZCBpbnQgZnVsbF9jb3VudCA9IGNvdW50LCBlcnI7CisJY3B1bWFza190IG5ld192YWx1ZTsKKworCWVyciA9IGNwdW1hc2tfcGFyc2VfdXNlcihidWZmZXIsIGNvdW50LCBuZXdfdmFsdWUpOworCWlmIChlcnIpCisJCXJldHVybiBlcnI7CisKKwlpZiAoIWlzX2FmZmluaXR5X21hc2tfdmFsaWQobmV3X3ZhbHVlKSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwkvKgorCSAqIERvIG5vdCBhbGxvdyBkaXNhYmxpbmcgSVJRcyBjb21wbGV0ZWx5IC0gaXQncyBhIHRvbyBlYXN5CisJICogd2F5IHRvIG1ha2UgdGhlIHN5c3RlbSB1bnVzYWJsZSBhY2NpZGVudGFsbHkgOi0pIEF0IGxlYXN0CisJICogb25lIG9ubGluZSBDUFUgc3RpbGwgaGFzIHRvIGJlIHRhcmdldGVkLgorCSAqLworCWlmICghY3B1c19pbnRlcnNlY3RzKG5ld192YWx1ZSwgY3B1X29ubGluZV9tYXApKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWlycV9kZWZhdWx0X2FmZmluaXR5ID0gbmV3X3ZhbHVlOworCisJcmV0dXJuIGZ1bGxfY291bnQ7Cit9CiAjZW5kaWYKIAogc3RhdGljIGludCBpcnFfc3B1cmlvdXNfcmVhZChjaGFyICpwYWdlLCBjaGFyICoqc3RhcnQsIG9mZl90IG9mZiwKQEAgLTE3MSw2ICsyMDUsMjEgQEAKIAkJcmVtb3ZlX3Byb2NfZW50cnkoYWN0aW9uLT5kaXItPm5hbWUsIGlycV9kZXNjW2lycV0uZGlyKTsKIH0KIAordm9pZCByZWdpc3Rlcl9kZWZhdWx0X2FmZmluaXR5X3Byb2Modm9pZCkKK3sKKyNpZmRlZiBDT05GSUdfU01QCisJc3RydWN0IHByb2NfZGlyX2VudHJ5ICplbnRyeTsKKworCS8qIGNyZWF0ZSAvcHJvYy9pcnEvZGVmYXVsdF9zbXBfYWZmaW5pdHkgKi8KKwllbnRyeSA9IGNyZWF0ZV9wcm9jX2VudHJ5KCJkZWZhdWx0X3NtcF9hZmZpbml0eSIsIDA2MDAsIHJvb3RfaXJxX2Rpcik7CisJaWYgKGVudHJ5KSB7CisJCWVudHJ5LT5kYXRhID0gTlVMTDsKKwkJZW50cnktPnJlYWRfcHJvYyAgPSBkZWZhdWx0X2FmZmluaXR5X3JlYWQ7CisJCWVudHJ5LT53cml0ZV9wcm9jID0gZGVmYXVsdF9hZmZpbml0eV93cml0ZTsKKwl9CisjZW5kaWYKK30KKwogdm9pZCBpbml0X2lycV9wcm9jKHZvaWQpCiB7CiAJaW50IGk7CkBAIC0xODAsNiArMjI5LDggQEAKIAlpZiAoIXJvb3RfaXJxX2RpcikKIAkJcmV0dXJuOwogCisJcmVnaXN0ZXJfZGVmYXVsdF9hZmZpbml0eV9wcm9jKCk7CisKIAkvKgogCSAqIENyZWF0ZSBlbnRyaWVzIGZvciBhbGwgZXhpc3RpbmcgSVJRcy4KIAkgKi8KZGlmZiAtLWdpdCBhL2tlcm5lbC9rdGhyZWFkLmMgYi9rZXJuZWwva3RocmVhZC5jCmluZGV4IGJkMWI5ZWEuLjk3NzQ3Y2QgMTAwNjQ0Ci0tLSBhL2tlcm5lbC9rdGhyZWFkLmMKKysrIGIva2VybmVsL2t0aHJlYWQuYwpAQCAtMTgwLDYgKzE4MCw3IEBACiAJc2V0X3Rhc2tfY3B1KGssIGNwdSk7CiAJay0+Y3B1c19hbGxvd2VkID0gY3B1bWFza19vZl9jcHUoY3B1KTsKIAlrLT5ydC5ucl9jcHVzX2FsbG93ZWQgPSAxOworCWstPmZsYWdzIHw9IFBGX1RIUkVBRF9CT1VORDsKIH0KIEVYUE9SVF9TWU1CT0woa3RocmVhZF9iaW5kKTsKIApkaWZmIC0tZ2l0IGEva2VybmVsL2xvY2tkZXAuYyBiL2tlcm5lbC9sb2NrZGVwLmMKaW5kZXggODFhNGU0YS4uZDM4YTY0MyAxMDA2NDQKLS0tIGEva2VybmVsL2xvY2tkZXAuYworKysgYi9rZXJuZWwvbG9ja2RlcC5jCkBAIC0zOSw2ICszOSw3IEBACiAjaW5jbHVkZSA8bGludXgvaXJxZmxhZ3MuaD4KICNpbmNsdWRlIDxsaW51eC91dHNuYW1lLmg+CiAjaW5jbHVkZSA8bGludXgvaGFzaC5oPgorI2luY2x1ZGUgPGxpbnV4L2Z0cmFjZS5oPgogCiAjaW5jbHVkZSA8YXNtL3NlY3Rpb25zLmg+CiAKQEAgLTgxLDYgKzgyLDggQEAKIAkJX19yYXdfc3Bpbl91bmxvY2soJmxvY2tkZXBfbG9jayk7CiAJCXJldHVybiAwOwogCX0KKwkvKiBwcmV2ZW50IGFueSByZWN1cnNpb25zIHdpdGhpbiBsb2NrZGVwIGZyb20gY2F1c2luZyBkZWFkbG9ja3MgKi8KKwljdXJyZW50LT5sb2NrZGVwX3JlY3Vyc2lvbisrOwogCXJldHVybiAxOwogfQogCkBAIC04OSw2ICs5Miw3IEBACiAJaWYgKGRlYnVnX2xvY2tzICYmICFfX3Jhd19zcGluX2lzX2xvY2tlZCgmbG9ja2RlcF9sb2NrKSkKIAkJcmV0dXJuIERFQlVHX0xPQ0tTX1dBUk5fT04oMSk7CiAKKwljdXJyZW50LT5sb2NrZGVwX3JlY3Vyc2lvbi0tOwogCV9fcmF3X3NwaW5fdW5sb2NrKCZsb2NrZGVwX2xvY2spOwogCXJldHVybiAwOwogfQpAQCAtOTgyLDcgKzk4Niw3IEBACiAJcmV0dXJuIDE7CiB9CiAKLSNpZmRlZiBDT05GSUdfVFJBQ0VfSVJRRkxBR1MKKyNpZiBkZWZpbmVkKENPTkZJR19UUkFDRV9JUlFGTEFHUykgJiYgZGVmaW5lZChDT05GSUdfUFJPVkVfTE9DS0lORykKIC8qCiAgKiBGb3J3YXJkcyBhbmQgYmFja3dhcmRzIHN1YmdyYXBoIHNlYXJjaGluZywgZm9yIHRoZSBwdXJwb3NlcyBvZgogICogcHJvdmluZyB0aGF0IHR3byBzdWJncmFwaHMgY2FuIGJlIGNvbm5lY3RlZCBieSBhIG5ldyBkZXBlbmRlbmN5CkBAIC0xNDU4LDcgKzE0NjIsMTQgQEAKIH0KIAogdW5zaWduZWQgbG9uZyBucl9sb2NrX2NoYWluczsKLXN0YXRpYyBzdHJ1Y3QgbG9ja19jaGFpbiBsb2NrX2NoYWluc1tNQVhfTE9DS0RFUF9DSEFJTlNdOworc3RydWN0IGxvY2tfY2hhaW4gbG9ja19jaGFpbnNbTUFYX0xPQ0tERVBfQ0hBSU5TXTsKK2ludCBucl9jaGFpbl9obG9ja3M7CitzdGF0aWMgdTE2IGNoYWluX2hsb2Nrc1tNQVhfTE9DS0RFUF9DSEFJTl9ITE9DS1NdOworCitzdHJ1Y3QgbG9ja19jbGFzcyAqbG9ja19jaGFpbl9nZXRfY2xhc3Moc3RydWN0IGxvY2tfY2hhaW4gKmNoYWluLCBpbnQgaSkKK3sKKwlyZXR1cm4gbG9ja19jbGFzc2VzICsgY2hhaW5faGxvY2tzW2NoYWluLT5iYXNlICsgaV07Cit9CiAKIC8qCiAgKiBMb29rIHVwIGEgZGVwZW5kZW5jeSBjaGFpbi4gSWYgdGhlIGtleSBpcyBub3QgcHJlc2VudCB5ZXQgdGhlbgpAQCAtMTQ2NiwxMCArMTQ3NywxNSBAQAogICogdmFsaWRhdGVkLiBJZiB0aGUga2V5IGlzIGFscmVhZHkgaGFzaGVkLCByZXR1cm4gMC4KICAqIChPbiByZXR1cm4gd2l0aCAxIGdyYXBoX2xvY2sgaXMgaGVsZC4pCiAgKi8KLXN0YXRpYyBpbmxpbmUgaW50IGxvb2t1cF9jaGFpbl9jYWNoZSh1NjQgY2hhaW5fa2V5LCBzdHJ1Y3QgbG9ja19jbGFzcyAqY2xhc3MpCitzdGF0aWMgaW5saW5lIGludCBsb29rdXBfY2hhaW5fY2FjaGUoc3RydWN0IHRhc2tfc3RydWN0ICpjdXJyLAorCQkJCSAgICAgc3RydWN0IGhlbGRfbG9jayAqaGxvY2ssCisJCQkJICAgICB1NjQgY2hhaW5fa2V5KQogeworCXN0cnVjdCBsb2NrX2NsYXNzICpjbGFzcyA9IGhsb2NrLT5jbGFzczsKIAlzdHJ1Y3QgbGlzdF9oZWFkICpoYXNoX2hlYWQgPSBjaGFpbmhhc2hlbnRyeShjaGFpbl9rZXkpOwogCXN0cnVjdCBsb2NrX2NoYWluICpjaGFpbjsKKwlzdHJ1Y3QgaGVsZF9sb2NrICpobG9ja19jdXJyLCAqaGxvY2tfbmV4dDsKKwlpbnQgaSwgaiwgbiwgY247CiAKIAlpZiAoREVCVUdfTE9DS1NfV0FSTl9PTighaXJxc19kaXNhYmxlZCgpKSkKIAkJcmV0dXJuIDA7CkBAIC0xNTE3LDYgKzE1MzMsMzIgQEAKIAl9CiAJY2hhaW4gPSBsb2NrX2NoYWlucyArIG5yX2xvY2tfY2hhaW5zKys7CiAJY2hhaW4tPmNoYWluX2tleSA9IGNoYWluX2tleTsKKwljaGFpbi0+aXJxX2NvbnRleHQgPSBobG9jay0+aXJxX2NvbnRleHQ7CisJLyogRmluZCB0aGUgZmlyc3QgaGVsZF9sb2NrIG9mIGN1cnJlbnQgY2hhaW4gKi8KKwlobG9ja19uZXh0ID0gaGxvY2s7CisJZm9yIChpID0gY3Vyci0+bG9ja2RlcF9kZXB0aCAtIDE7IGkgPj0gMDsgaS0tKSB7CisJCWhsb2NrX2N1cnIgPSBjdXJyLT5oZWxkX2xvY2tzICsgaTsKKwkJaWYgKGhsb2NrX2N1cnItPmlycV9jb250ZXh0ICE9IGhsb2NrX25leHQtPmlycV9jb250ZXh0KQorCQkJYnJlYWs7CisJCWhsb2NrX25leHQgPSBobG9jazsKKwl9CisJaSsrOworCWNoYWluLT5kZXB0aCA9IGN1cnItPmxvY2tkZXBfZGVwdGggKyAxIC0gaTsKKwljbiA9IG5yX2NoYWluX2hsb2NrczsKKwl3aGlsZSAoY24gKyBjaGFpbi0+ZGVwdGggPD0gTUFYX0xPQ0tERVBfQ0hBSU5fSExPQ0tTKSB7CisJCW4gPSBjbXB4Y2hnKCZucl9jaGFpbl9obG9ja3MsIGNuLCBjbiArIGNoYWluLT5kZXB0aCk7CisJCWlmIChuID09IGNuKQorCQkJYnJlYWs7CisJCWNuID0gbjsKKwl9CisJaWYgKGxpa2VseShjbiArIGNoYWluLT5kZXB0aCA8PSBNQVhfTE9DS0RFUF9DSEFJTl9ITE9DS1MpKSB7CisJCWNoYWluLT5iYXNlID0gY247CisJCWZvciAoaiA9IDA7IGogPCBjaGFpbi0+ZGVwdGggLSAxOyBqKyssIGkrKykgeworCQkJaW50IGxvY2tfaWQgPSBjdXJyLT5oZWxkX2xvY2tzW2ldLmNsYXNzIC0gbG9ja19jbGFzc2VzOworCQkJY2hhaW5faGxvY2tzW2NoYWluLT5iYXNlICsgal0gPSBsb2NrX2lkOworCQl9CisJCWNoYWluX2hsb2Nrc1tjaGFpbi0+YmFzZSArIGpdID0gY2xhc3MgLSBsb2NrX2NsYXNzZXM7CisJfQogCWxpc3RfYWRkX3RhaWxfcmN1KCZjaGFpbi0+ZW50cnksIGhhc2hfaGVhZCk7CiAJZGVidWdfYXRvbWljX2luYygmY2hhaW5fbG9va3VwX21pc3Nlcyk7CiAJaW5jX2NoYWlucygpOwpAQCAtMTUzOCw3ICsxNTgwLDcgQEAKIAkgKiBncmFwaF9sb2NrIGZvciB1cykKIAkgKi8KIAlpZiAoIWhsb2NrLT50cnlsb2NrICYmIChobG9jay0+Y2hlY2sgPT0gMikgJiYKLQkJCWxvb2t1cF9jaGFpbl9jYWNoZShjaGFpbl9rZXksIGhsb2NrLT5jbGFzcykpIHsKKwkgICAgbG9va3VwX2NoYWluX2NhY2hlKGN1cnIsIGhsb2NrLCBjaGFpbl9rZXkpKSB7CiAJCS8qCiAJCSAqIENoZWNrIHdoZXRoZXIgbGFzdCBoZWxkIGxvY2s6CiAJCSAqCkBAIC0xNjgwLDcgKzE3MjIsNyBAQAogc3RhdGljIGludCBtYXJrX2xvY2soc3RydWN0IHRhc2tfc3RydWN0ICpjdXJyLCBzdHJ1Y3QgaGVsZF9sb2NrICp0aGlzLAogCQkgICAgIGVudW0gbG9ja191c2FnZV9iaXQgbmV3X2JpdCk7CiAKLSNpZmRlZiBDT05GSUdfVFJBQ0VfSVJRRkxBR1MKKyNpZiBkZWZpbmVkKENPTkZJR19UUkFDRV9JUlFGTEFHUykgJiYgZGVmaW5lZChDT05GSUdfUFJPVkVfTE9DS0lORykKIAogLyoKICAqIHByaW50IGlycSBpbnZlcnNpb24gYnVnOgpAQCAtMjAxMywxMSArMjA1NSwxMyBAQAogLyoKICAqIEhhcmRpcnFzIHdpbGwgYmUgZW5hYmxlZDoKICAqLwotdm9pZCB0cmFjZV9oYXJkaXJxc19vbih2b2lkKQordm9pZCB0cmFjZV9oYXJkaXJxc19vbl9jYWxsZXIodW5zaWduZWQgbG9uZyBhMCkKIHsKIAlzdHJ1Y3QgdGFza19zdHJ1Y3QgKmN1cnIgPSBjdXJyZW50OwogCXVuc2lnbmVkIGxvbmcgaXA7CiAKKwl0aW1lX2hhcmRpcnFzX29uKENBTExFUl9BRERSMCwgYTApOworCiAJaWYgKHVubGlrZWx5KCFkZWJ1Z19sb2NrcyB8fCBjdXJyZW50LT5sb2NrZGVwX3JlY3Vyc2lvbikpCiAJCXJldHVybjsKIApAQCAtMjA1NSwxNiArMjA5OSwyMyBAQAogCWN1cnItPmhhcmRpcnFfZW5hYmxlX2V2ZW50ID0gKytjdXJyLT5pcnFfZXZlbnRzOwogCWRlYnVnX2F0b21pY19pbmMoJmhhcmRpcnFzX29uX2V2ZW50cyk7CiB9CitFWFBPUlRfU1lNQk9MKHRyYWNlX2hhcmRpcnFzX29uX2NhbGxlcik7CiAKK3ZvaWQgdHJhY2VfaGFyZGlycXNfb24odm9pZCkKK3sKKwl0cmFjZV9oYXJkaXJxc19vbl9jYWxsZXIoQ0FMTEVSX0FERFIwKTsKK30KIEVYUE9SVF9TWU1CT0wodHJhY2VfaGFyZGlycXNfb24pOwogCiAvKgogICogSGFyZGlycXMgd2VyZSBkaXNhYmxlZDoKICAqLwotdm9pZCB0cmFjZV9oYXJkaXJxc19vZmYodm9pZCkKK3ZvaWQgdHJhY2VfaGFyZGlycXNfb2ZmX2NhbGxlcih1bnNpZ25lZCBsb25nIGEwKQogewogCXN0cnVjdCB0YXNrX3N0cnVjdCAqY3VyciA9IGN1cnJlbnQ7CiAKKwl0aW1lX2hhcmRpcnFzX29mZihDQUxMRVJfQUREUjAsIGEwKTsKKwogCWlmICh1bmxpa2VseSghZGVidWdfbG9ja3MgfHwgY3VycmVudC0+bG9ja2RlcF9yZWN1cnNpb24pKQogCQlyZXR1cm47CiAKQEAgLTIwODIsNyArMjEzMywxMiBAQAogCX0gZWxzZQogCQlkZWJ1Z19hdG9taWNfaW5jKCZyZWR1bmRhbnRfaGFyZGlycXNfb2ZmKTsKIH0KK0VYUE9SVF9TWU1CT0wodHJhY2VfaGFyZGlycXNfb2ZmX2NhbGxlcik7CiAKK3ZvaWQgdHJhY2VfaGFyZGlycXNfb2ZmKHZvaWQpCit7CisJdHJhY2VfaGFyZGlycXNfb2ZmX2NhbGxlcihDQUxMRVJfQUREUjApOworfQogRVhQT1JUX1NZTUJPTCh0cmFjZV9oYXJkaXJxc19vZmYpOwogCiAvKgpAQCAtMjI0Niw3ICsyMzAyLDcgQEAKICAqIE1hcmsgYSBsb2NrIHdpdGggYSB1c2FnZSBiaXQsIGFuZCB2YWxpZGF0ZSB0aGUgc3RhdGUgdHJhbnNpdGlvbjoKICAqLwogc3RhdGljIGludCBtYXJrX2xvY2soc3RydWN0IHRhc2tfc3RydWN0ICpjdXJyLCBzdHJ1Y3QgaGVsZF9sb2NrICp0aGlzLAotCQkgICAgIGVudW0gbG9ja191c2FnZV9iaXQgbmV3X2JpdCkKKwkJCSAgICAgZW51bSBsb2NrX3VzYWdlX2JpdCBuZXdfYml0KQogewogCXVuc2lnbmVkIGludCBuZXdfbWFzayA9IDEgPDwgbmV3X2JpdCwgcmV0ID0gMTsKIApAQCAtMjY1MCw3ICsyNzA2LDggQEAKICAqLwogc3RhdGljIHZvaWQgY2hlY2tfZmxhZ3ModW5zaWduZWQgbG9uZyBmbGFncykKIHsKLSNpZiBkZWZpbmVkKENPTkZJR19ERUJVR19MT0NLREVQKSAmJiBkZWZpbmVkKENPTkZJR19UUkFDRV9JUlFGTEFHUykKKyNpZiBkZWZpbmVkKENPTkZJR19QUk9WRV9MT0NLSU5HKSAmJiBkZWZpbmVkKENPTkZJR19ERUJVR19MT0NLREVQKSAmJiBcCisgICAgZGVmaW5lZChDT05GSUdfVFJBQ0VfSVJRRkxBR1MpCiAJaWYgKCFkZWJ1Z19sb2NrcykKIAkJcmV0dXJuOwogCkBAIC0yNjg2LDcgKzI3NDMsNyBAQAogICogYW5kIGFsc28gYXZvaWQgbG9ja2RlcCByZWN1cnNpb246CiAgKi8KIHZvaWQgbG9ja19hY3F1aXJlKHN0cnVjdCBsb2NrZGVwX21hcCAqbG9jaywgdW5zaWduZWQgaW50IHN1YmNsYXNzLAotCQkgIGludCB0cnlsb2NrLCBpbnQgcmVhZCwgaW50IGNoZWNrLCB1bnNpZ25lZCBsb25nIGlwKQorCQkJICBpbnQgdHJ5bG9jaywgaW50IHJlYWQsIGludCBjaGVjaywgdW5zaWduZWQgbG9uZyBpcCkKIHsKIAl1bnNpZ25lZCBsb25nIGZsYWdzOwogCkBAIC0yNzA4LDcgKzI3NjUsOCBAQAogCiBFWFBPUlRfU1lNQk9MX0dQTChsb2NrX2FjcXVpcmUpOwogCi12b2lkIGxvY2tfcmVsZWFzZShzdHJ1Y3QgbG9ja2RlcF9tYXAgKmxvY2ssIGludCBuZXN0ZWQsIHVuc2lnbmVkIGxvbmcgaXApCit2b2lkIGxvY2tfcmVsZWFzZShzdHJ1Y3QgbG9ja2RlcF9tYXAgKmxvY2ssIGludCBuZXN0ZWQsCisJCQkgIHVuc2lnbmVkIGxvbmcgaXApCiB7CiAJdW5zaWduZWQgbG9uZyBmbGFnczsKIApkaWZmIC0tZ2l0IGEva2VybmVsL2xvY2tkZXBfaW50ZXJuYWxzLmggYi9rZXJuZWwvbG9ja2RlcF9pbnRlcm5hbHMuaAppbmRleCA4Y2UwOWJjLi5jMzYwMGEwIDEwMDY0NAotLS0gYS9rZXJuZWwvbG9ja2RlcF9pbnRlcm5hbHMuaAorKysgYi9rZXJuZWwvbG9ja2RlcF9pbnRlcm5hbHMuaApAQCAtMjMsNiArMjMsOCBAQAogI2RlZmluZSBNQVhfTE9DS0RFUF9DSEFJTlNfQklUUwkxNAogI2RlZmluZSBNQVhfTE9DS0RFUF9DSEFJTlMJKDFVTCA8PCBNQVhfTE9DS0RFUF9DSEFJTlNfQklUUykKIAorI2RlZmluZSBNQVhfTE9DS0RFUF9DSEFJTl9ITE9DS1MgKE1BWF9MT0NLREVQX0NIQUlOUyo1KQorCiAvKgogICogU3RhY2stdHJhY2U6IHRpZ2h0bHkgcGFja2VkIGFycmF5IG9mIHN0YWNrIGJhY2t0cmFjZQogICogYWRkcmVzc2VzLiBQcm90ZWN0ZWQgYnkgdGhlIGhhc2hfbG9jay4KQEAgLTMwLDE1ICszMiwxOSBAQAogI2RlZmluZSBNQVhfU1RBQ0tfVFJBQ0VfRU5UUklFUwkyNjIxNDRVTAogCiBleHRlcm4gc3RydWN0IGxpc3RfaGVhZCBhbGxfbG9ja19jbGFzc2VzOworZXh0ZXJuIHN0cnVjdCBsb2NrX2NoYWluIGxvY2tfY2hhaW5zW107CiAKIGV4dGVybiB2b2lkCiBnZXRfdXNhZ2VfY2hhcnMoc3RydWN0IGxvY2tfY2xhc3MgKmNsYXNzLCBjaGFyICpjMSwgY2hhciAqYzIsIGNoYXIgKmMzLCBjaGFyICpjNCk7CiAKIGV4dGVybiBjb25zdCBjaGFyICogX19nZXRfa2V5X25hbWUoc3RydWN0IGxvY2tkZXBfc3ViY2xhc3Nfa2V5ICprZXksIGNoYXIgKnN0cik7CiAKK3N0cnVjdCBsb2NrX2NsYXNzICpsb2NrX2NoYWluX2dldF9jbGFzcyhzdHJ1Y3QgbG9ja19jaGFpbiAqY2hhaW4sIGludCBpKTsKKwogZXh0ZXJuIHVuc2lnbmVkIGxvbmcgbnJfbG9ja19jbGFzc2VzOwogZXh0ZXJuIHVuc2lnbmVkIGxvbmcgbnJfbGlzdF9lbnRyaWVzOwogZXh0ZXJuIHVuc2lnbmVkIGxvbmcgbnJfbG9ja19jaGFpbnM7CitleHRlcm4gaW50IG5yX2NoYWluX2hsb2NrczsKIGV4dGVybiB1bnNpZ25lZCBsb25nIG5yX3N0YWNrX3RyYWNlX2VudHJpZXM7CiAKIGV4dGVybiB1bnNpZ25lZCBpbnQgbnJfaGFyZGlycV9jaGFpbnM7CmRpZmYgLS1naXQgYS9rZXJuZWwvbG9ja2RlcF9wcm9jLmMgYi9rZXJuZWwvbG9ja2RlcF9wcm9jLmMKaW5kZXggZGM1ZDI5Ni4uOWIwZTk0MCAxMDA2NDQKLS0tIGEva2VybmVsL2xvY2tkZXBfcHJvYy5jCisrKyBiL2tlcm5lbC9sb2NrZGVwX3Byb2MuYwpAQCAtMTM5LDcgKzEzOSw3IEBACiAKIAlsaXN0X2Zvcl9lYWNoX2VudHJ5KGVudHJ5LCAmY2xhc3MtPmxvY2tzX2FmdGVyLCBlbnRyeSkgewogCQlpZiAoZW50cnktPmRpc3RhbmNlID09IDEpIHsKLQkJCXNlcV9wcmludGYobSwgIiAtPiBbJXBdICIsIGVudHJ5LT5jbGFzcyk7CisJCQlzZXFfcHJpbnRmKG0sICIgLT4gWyVwXSAiLCBlbnRyeS0+Y2xhc3MtPmtleSk7CiAJCQlwcmludF9uYW1lKG0sIGVudHJ5LT5jbGFzcyk7CiAJCQlzZXFfcHV0cyhtLCAiXG4iKTsKIAkJfQpAQCAtMTc4LDYgKzE3OCw5NSBAQAogCS5yZWxlYXNlCT0gc2VxX3JlbGVhc2UsCiB9OwogCisjaWZkZWYgQ09ORklHX1BST1ZFX0xPQ0tJTkcKK3N0YXRpYyB2b2lkICpsY19uZXh0KHN0cnVjdCBzZXFfZmlsZSAqbSwgdm9pZCAqdiwgbG9mZl90ICpwb3MpCit7CisJc3RydWN0IGxvY2tfY2hhaW4gKmNoYWluOworCisJKCpwb3MpKys7CisKKwlpZiAodiA9PSBTRVFfU1RBUlRfVE9LRU4pCisJCWNoYWluID0gbS0+cHJpdmF0ZTsKKwllbHNlIHsKKwkJY2hhaW4gPSB2OworCisJCWlmICgqcG9zIDwgbnJfbG9ja19jaGFpbnMpCisJCQljaGFpbiA9IGxvY2tfY2hhaW5zICsgKnBvczsKKwkJZWxzZQorCQkJY2hhaW4gPSBOVUxMOworCX0KKworCXJldHVybiBjaGFpbjsKK30KKworc3RhdGljIHZvaWQgKmxjX3N0YXJ0KHN0cnVjdCBzZXFfZmlsZSAqbSwgbG9mZl90ICpwb3MpCit7CisJaWYgKCpwb3MgPT0gMCkKKwkJcmV0dXJuIFNFUV9TVEFSVF9UT0tFTjsKKworCWlmICgqcG9zIDwgbnJfbG9ja19jaGFpbnMpCisJCXJldHVybiBsb2NrX2NoYWlucyArICpwb3M7CisKKwlyZXR1cm4gTlVMTDsKK30KKworc3RhdGljIHZvaWQgbGNfc3RvcChzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHZvaWQgKnYpCit7Cit9CisKK3N0YXRpYyBpbnQgbGNfc2hvdyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHZvaWQgKnYpCit7CisJc3RydWN0IGxvY2tfY2hhaW4gKmNoYWluID0gdjsKKwlzdHJ1Y3QgbG9ja19jbGFzcyAqY2xhc3M7CisJaW50IGk7CisKKwlpZiAodiA9PSBTRVFfU1RBUlRfVE9LRU4pIHsKKwkJc2VxX3ByaW50ZihtLCAiYWxsIGxvY2sgY2hhaW5zOlxuIik7CisJCXJldHVybiAwOworCX0KKworCXNlcV9wcmludGYobSwgImlycV9jb250ZXh0OiAlZFxuIiwgY2hhaW4tPmlycV9jb250ZXh0KTsKKworCWZvciAoaSA9IDA7IGkgPCBjaGFpbi0+ZGVwdGg7IGkrKykgeworCQljbGFzcyA9IGxvY2tfY2hhaW5fZ2V0X2NsYXNzKGNoYWluLCBpKTsKKwkJc2VxX3ByaW50ZihtLCAiWyVwXSAiLCBjbGFzcy0+a2V5KTsKKwkJcHJpbnRfbmFtZShtLCBjbGFzcyk7CisJCXNlcV9wdXRzKG0sICJcbiIpOworCX0KKwlzZXFfcHV0cyhtLCAiXG4iKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgY29uc3Qgc3RydWN0IHNlcV9vcGVyYXRpb25zIGxvY2tkZXBfY2hhaW5zX29wcyA9IHsKKwkuc3RhcnQJPSBsY19zdGFydCwKKwkubmV4dAk9IGxjX25leHQsCisJLnN0b3AJPSBsY19zdG9wLAorCS5zaG93CT0gbGNfc2hvdywKK307CisKK3N0YXRpYyBpbnQgbG9ja2RlcF9jaGFpbnNfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKK3sKKwlpbnQgcmVzID0gc2VxX29wZW4oZmlsZSwgJmxvY2tkZXBfY2hhaW5zX29wcyk7CisJaWYgKCFyZXMpIHsKKwkJc3RydWN0IHNlcV9maWxlICptID0gZmlsZS0+cHJpdmF0ZV9kYXRhOworCisJCWlmIChucl9sb2NrX2NoYWlucykKKwkJCW0tPnByaXZhdGUgPSBsb2NrX2NoYWluczsKKwkJZWxzZQorCQkJbS0+cHJpdmF0ZSA9IE5VTEw7CisJfQorCXJldHVybiByZXM7Cit9CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zIHByb2NfbG9ja2RlcF9jaGFpbnNfb3BlcmF0aW9ucyA9IHsKKwkub3BlbgkJPSBsb2NrZGVwX2NoYWluc19vcGVuLAorCS5yZWFkCQk9IHNlcV9yZWFkLAorCS5sbHNlZWsJCT0gc2VxX2xzZWVrLAorCS5yZWxlYXNlCT0gc2VxX3JlbGVhc2UsCit9OworI2VuZGlmIC8qIENPTkZJR19QUk9WRV9MT0NLSU5HICovCisKIHN0YXRpYyB2b2lkIGxvY2tkZXBfc3RhdHNfZGVidWdfc2hvdyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0pCiB7CiAjaWZkZWYgQ09ORklHX0RFQlVHX0xPQ0tERVAKQEAgLTI5NCw2ICszODMsOCBAQAogI2lmZGVmIENPTkZJR19QUk9WRV9MT0NLSU5HCiAJc2VxX3ByaW50ZihtLCAiIGRlcGVuZGVuY3kgY2hhaW5zOiAgICAgICAgICAgICAlMTFsdSBbbWF4OiAlbHVdXG4iLAogCQkJbnJfbG9ja19jaGFpbnMsIE1BWF9MT0NLREVQX0NIQUlOUyk7CisJc2VxX3ByaW50ZihtLCAiIGRlcGVuZGVuY3kgY2hhaW4gaGxvY2tzOiAgICAgICAlMTFkIFttYXg6ICVsdV1cbiIsCisJCQlucl9jaGFpbl9obG9ja3MsIE1BWF9MT0NLREVQX0NIQUlOX0hMT0NLUyk7CiAjZW5kaWYKIAogI2lmZGVmIENPTkZJR19UUkFDRV9JUlFGTEFHUwpAQCAtNjYxLDYgKzc1MiwxMCBAQAogc3RhdGljIGludCBfX2luaXQgbG9ja2RlcF9wcm9jX2luaXQodm9pZCkKIHsKIAlwcm9jX2NyZWF0ZSgibG9ja2RlcCIsIFNfSVJVU1IsIE5VTEwsICZwcm9jX2xvY2tkZXBfb3BlcmF0aW9ucyk7CisjaWZkZWYgQ09ORklHX1BST1ZFX0xPQ0tJTkcKKwlwcm9jX2NyZWF0ZSgibG9ja2RlcF9jaGFpbnMiLCBTX0lSVVNSLCBOVUxMLAorCQkgICAgJnByb2NfbG9ja2RlcF9jaGFpbnNfb3BlcmF0aW9ucyk7CisjZW5kaWYKIAlwcm9jX2NyZWF0ZSgibG9ja2RlcF9zdGF0cyIsIFNfSVJVU1IsIE5VTEwsCiAJCSAgICAmcHJvY19sb2NrZGVwX3N0YXRzX29wZXJhdGlvbnMpOwogCmRpZmYgLS1naXQgYS9rZXJuZWwvbWFya2VyLmMgYi9rZXJuZWwvbWFya2VyLmMKaW5kZXggYjVhOWZlMS4uMWFiZmI5MiAxMDA2NDQKLS0tIGEva2VybmVsL21hcmtlci5jCisrKyBiL2tlcm5lbC9tYXJrZXIuYwpAQCAtNTUsOCArNTUsOCBAQAogc3RydWN0IG1hcmtlcl9lbnRyeSB7CiAJc3RydWN0IGhsaXN0X25vZGUgaGxpc3Q7CiAJY2hhciAqZm9ybWF0OwotCXZvaWQgKCpjYWxsKShjb25zdCBzdHJ1Y3QgbWFya2VyICptZGF0YSwJLyogUHJvYmUgd3JhcHBlciAqLwotCQl2b2lkICpjYWxsX3ByaXZhdGUsIGNvbnN0IGNoYXIgKmZtdCwgLi4uKTsKKwkJCS8qIFByb2JlIHdyYXBwZXIgKi8KKwl2b2lkICgqY2FsbCkoY29uc3Qgc3RydWN0IG1hcmtlciAqbWRhdGEsIHZvaWQgKmNhbGxfcHJpdmF0ZSwgLi4uKTsKIAlzdHJ1Y3QgbWFya2VyX3Byb2JlX2Nsb3N1cmUgc2luZ2xlOwogCXN0cnVjdCBtYXJrZXJfcHJvYmVfY2xvc3VyZSAqbXVsdGk7CiAJaW50IHJlZmNvdW50OwkvKiBOdW1iZXIgb2YgdGltZXMgYXJtZWQuIDAgaWYgZGlzYXJtZWQuICovCkBAIC05MSwxNSArOTEsMTMgQEAKICAqIG1hcmtlcl9wcm9iZV9jYiBDYWxsYmFjayB0aGF0IHByZXBhcmVzIHRoZSB2YXJpYWJsZSBhcmd1bWVudCBsaXN0IGZvciBwcm9iZXMuCiAgKiBAbWRhdGE6IHBvaW50ZXIgb2YgdHlwZSBzdHJ1Y3QgbWFya2VyCiAgKiBAY2FsbF9wcml2YXRlOiBjYWxsZXIgc2l0ZSBwcml2YXRlIGRhdGEKLSAqIEBmbXQ6IGZvcm1hdCBzdHJpbmcKICAqIEAuLi46ICBWYXJpYWJsZSBhcmd1bWVudCBsaXN0LgogICoKICAqIFNpbmNlIHdlIGRvIG5vdCB1c2UgInR5cGljYWwiIHBvaW50ZXIgYmFzZWQgUkNVIGluIHRoZSAxIGFyZ3VtZW50IGNhc2UsIHdlCiAgKiBuZWVkIHRvIHB1dCBhIGZ1bGwgc21wX3JtYigpIGluIHRoaXMgYnJhbmNoLiBUaGlzIGlzIHdoeSB3ZSBkbyBub3QgdXNlCiAgKiByY3VfZGVyZWZlcmVuY2UoKSBmb3IgdGhlIHBvaW50ZXIgcmVhZC4KICAqLwotdm9pZCBtYXJrZXJfcHJvYmVfY2IoY29uc3Qgc3RydWN0IG1hcmtlciAqbWRhdGEsIHZvaWQgKmNhbGxfcHJpdmF0ZSwKLQljb25zdCBjaGFyICpmbXQsIC4uLikKK3ZvaWQgbWFya2VyX3Byb2JlX2NiKGNvbnN0IHN0cnVjdCBtYXJrZXIgKm1kYXRhLCB2b2lkICpjYWxsX3ByaXZhdGUsIC4uLikKIHsKIAl2YV9saXN0IGFyZ3M7CiAJY2hhciBwdHlwZTsKQEAgLTEyMCw4ICsxMTgsOSBAQAogCQkvKiBNdXN0IHJlYWQgdGhlIHB0ciBiZWZvcmUgcHJpdmF0ZSBkYXRhLiBUaGV5IGFyZSBub3QgZGF0YQogCQkgKiBkZXBlbmRhbnQsIHNvIHdlIHB1dCBhbiBleHBsaWNpdCBzbXBfcm1iKCkgaGVyZS4gKi8KIAkJc21wX3JtYigpOwotCQl2YV9zdGFydChhcmdzLCBmbXQpOwotCQlmdW5jKG1kYXRhLT5zaW5nbGUucHJvYmVfcHJpdmF0ZSwgY2FsbF9wcml2YXRlLCBmbXQsICZhcmdzKTsKKwkJdmFfc3RhcnQoYXJncywgY2FsbF9wcml2YXRlKTsKKwkJZnVuYyhtZGF0YS0+c2luZ2xlLnByb2JlX3ByaXZhdGUsIGNhbGxfcHJpdmF0ZSwgbWRhdGEtPmZvcm1hdCwKKwkJCSZhcmdzKTsKIAkJdmFfZW5kKGFyZ3MpOwogCX0gZWxzZSB7CiAJCXN0cnVjdCBtYXJrZXJfcHJvYmVfY2xvc3VyZSAqbXVsdGk7CkBAIC0xMzYsOSArMTM1LDkgQEAKIAkJc21wX3JlYWRfYmFycmllcl9kZXBlbmRzKCk7CiAJCW11bHRpID0gbWRhdGEtPm11bHRpOwogCQlmb3IgKGkgPSAwOyBtdWx0aVtpXS5mdW5jOyBpKyspIHsKLQkJCXZhX3N0YXJ0KGFyZ3MsIGZtdCk7Ci0JCQltdWx0aVtpXS5mdW5jKG11bHRpW2ldLnByb2JlX3ByaXZhdGUsIGNhbGxfcHJpdmF0ZSwgZm10LAotCQkJCSZhcmdzKTsKKwkJCXZhX3N0YXJ0KGFyZ3MsIGNhbGxfcHJpdmF0ZSk7CisJCQltdWx0aVtpXS5mdW5jKG11bHRpW2ldLnByb2JlX3ByaXZhdGUsIGNhbGxfcHJpdmF0ZSwKKwkJCQltZGF0YS0+Zm9ybWF0LCAmYXJncyk7CiAJCQl2YV9lbmQoYXJncyk7CiAJCX0KIAl9CkBAIC0xNTAsMTMgKzE0OSwxMSBAQAogICogbWFya2VyX3Byb2JlX2NiIENhbGxiYWNrIHRoYXQgZG9lcyBub3QgcHJlcGFyZSB0aGUgdmFyaWFibGUgYXJndW1lbnQgbGlzdC4KICAqIEBtZGF0YTogcG9pbnRlciBvZiB0eXBlIHN0cnVjdCBtYXJrZXIKICAqIEBjYWxsX3ByaXZhdGU6IGNhbGxlciBzaXRlIHByaXZhdGUgZGF0YQotICogQGZtdDogZm9ybWF0IHN0cmluZwogICogQC4uLjogIFZhcmlhYmxlIGFyZ3VtZW50IGxpc3QuCiAgKgogICogU2hvdWxkIGJlIGNvbm5lY3RlZCB0byBtYXJrZXJzICJNQVJLX05PQVJHUyIuCiAgKi8KLXZvaWQgbWFya2VyX3Byb2JlX2NiX25vYXJnKGNvbnN0IHN0cnVjdCBtYXJrZXIgKm1kYXRhLAotCXZvaWQgKmNhbGxfcHJpdmF0ZSwgY29uc3QgY2hhciAqZm10LCAuLi4pCit2b2lkIG1hcmtlcl9wcm9iZV9jYl9ub2FyZyhjb25zdCBzdHJ1Y3QgbWFya2VyICptZGF0YSwgdm9pZCAqY2FsbF9wcml2YXRlLCAuLi4pCiB7CiAJdmFfbGlzdCBhcmdzOwkvKiBub3QgaW5pdGlhbGl6ZWQgKi8KIAljaGFyIHB0eXBlOwpAQCAtMTcyLDcgKzE2OSw4IEBACiAJCS8qIE11c3QgcmVhZCB0aGUgcHRyIGJlZm9yZSBwcml2YXRlIGRhdGEuIFRoZXkgYXJlIG5vdCBkYXRhCiAJCSAqIGRlcGVuZGFudCwgc28gd2UgcHV0IGFuIGV4cGxpY2l0IHNtcF9ybWIoKSBoZXJlLiAqLwogCQlzbXBfcm1iKCk7Ci0JCWZ1bmMobWRhdGEtPnNpbmdsZS5wcm9iZV9wcml2YXRlLCBjYWxsX3ByaXZhdGUsIGZtdCwgJmFyZ3MpOworCQlmdW5jKG1kYXRhLT5zaW5nbGUucHJvYmVfcHJpdmF0ZSwgY2FsbF9wcml2YXRlLCBtZGF0YS0+Zm9ybWF0LAorCQkJJmFyZ3MpOwogCX0gZWxzZSB7CiAJCXN0cnVjdCBtYXJrZXJfcHJvYmVfY2xvc3VyZSAqbXVsdGk7CiAJCWludCBpOwpAQCAtMTg2LDggKzE4NCw4IEBACiAJCXNtcF9yZWFkX2JhcnJpZXJfZGVwZW5kcygpOwogCQltdWx0aSA9IG1kYXRhLT5tdWx0aTsKIAkJZm9yIChpID0gMDsgbXVsdGlbaV0uZnVuYzsgaSsrKQotCQkJbXVsdGlbaV0uZnVuYyhtdWx0aVtpXS5wcm9iZV9wcml2YXRlLCBjYWxsX3ByaXZhdGUsIGZtdCwKLQkJCQkmYXJncyk7CisJCQltdWx0aVtpXS5mdW5jKG11bHRpW2ldLnByb2JlX3ByaXZhdGUsIGNhbGxfcHJpdmF0ZSwKKwkJCQltZGF0YS0+Zm9ybWF0LCAmYXJncyk7CiAJfQogCXByZWVtcHRfZW5hYmxlKCk7CiB9CmRpZmYgLS1naXQgYS9rZXJuZWwvbXV0ZXgtZGVidWcuYyBiL2tlcm5lbC9tdXRleC1kZWJ1Zy5jCmluZGV4IDNhYWEwNmMuLjFkOTQxNjAgMTAwNjQ0Ci0tLSBhL2tlcm5lbC9tdXRleC1kZWJ1Zy5jCisrKyBiL2tlcm5lbC9tdXRleC1kZWJ1Zy5jCkBAIC03OSw4ICs3OSw4IEBACiAJaWYgKHVubGlrZWx5KCFkZWJ1Z19sb2NrcykpCiAJCXJldHVybjsKIAotCURFQlVHX0xPQ0tTX1dBUk5fT04obG9jay0+b3duZXIgIT0gY3VycmVudF90aHJlYWRfaW5mbygpKTsKIAlERUJVR19MT0NLU19XQVJOX09OKGxvY2stPm1hZ2ljICE9IGxvY2spOworCURFQlVHX0xPQ0tTX1dBUk5fT04obG9jay0+b3duZXIgIT0gY3VycmVudF90aHJlYWRfaW5mbygpKTsKIAlERUJVR19MT0NLU19XQVJOX09OKCFsb2NrLT53YWl0X2xpc3QucHJldiAmJiAhbG9jay0+d2FpdF9saXN0Lm5leHQpOwogCURFQlVHX0xPQ0tTX1dBUk5fT04obG9jay0+b3duZXIgIT0gY3VycmVudF90aHJlYWRfaW5mbygpKTsKIH0KZGlmZiAtLWdpdCBhL2tlcm5lbC9tdXRleC5jIGIva2VybmVsL211dGV4LmMKaW5kZXggZDA0NmEzNC4uYmNkYzlhYyAxMDA2NDQKLS0tIGEva2VybmVsL211dGV4LmMKKysrIGIva2VybmVsL211dGV4LmMKQEAgLTE2NSwxMCArMTY1LDcgQEAKIAkJICogZ290IGEgc2lnbmFsPyAoVGhpcyBjb2RlIGdldHMgZWxpbWluYXRlZCBpbiB0aGUKIAkJICogVEFTS19VTklOVEVSUlVQVElCTEUgY2FzZS4pCiAJCSAqLwotCQlpZiAodW5saWtlbHkoKHN0YXRlID09IFRBU0tfSU5URVJSVVBUSUJMRSAmJgotCQkJCQlzaWduYWxfcGVuZGluZyh0YXNrKSkgfHwKLQkJCSAgICAgIChzdGF0ZSA9PSBUQVNLX0tJTExBQkxFICYmCi0JCQkJCWZhdGFsX3NpZ25hbF9wZW5kaW5nKHRhc2spKSkpIHsKKwkJaWYgKHVubGlrZWx5KHNpZ25hbF9wZW5kaW5nX3N0YXRlKHN0YXRlLCB0YXNrKSkpIHsKIAkJCW11dGV4X3JlbW92ZV93YWl0ZXIobG9jaywgJndhaXRlciwKIAkJCQkJICAgIHRhc2tfdGhyZWFkX2luZm8odGFzaykpOwogCQkJbXV0ZXhfcmVsZWFzZSgmbG9jay0+ZGVwX21hcCwgMSwgaXApOwpkaWZmIC0tZ2l0IGEva2VybmVsL3BtX3Fvc19wYXJhbXMuYyBiL2tlcm5lbC9wbV9xb3NfcGFyYW1zLmMKaW5kZXggMGFmZTMyYi4uOGNiNzU3MCAxMDA2NDQKLS0tIGEva2VybmVsL3BtX3Fvc19wYXJhbXMuYworKysgYi9rZXJuZWwvcG1fcW9zX3BhcmFtcy5jCkBAIC0yOSw2ICsyOSw3IEBACiAKICNpbmNsdWRlIDxsaW51eC9wbV9xb3NfcGFyYW1zLmg+CiAjaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L3NwaW5sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvc2xhYi5oPgogI2luY2x1ZGUgPGxpbnV4L3RpbWUuaD4KQEAgLTM1OCwxNSArMzU5LDE5IEBACiAJaW50IHJldDsKIAlsb25nIHBtX3Fvc19jbGFzczsKIAorCWxvY2tfa2VybmVsKCk7CiAJcG1fcW9zX2NsYXNzID0gZmluZF9wbV9xb3Nfb2JqZWN0X2J5X21pbm9yKGltaW5vcihpbm9kZSkpOwogCWlmIChwbV9xb3NfY2xhc3MgPj0gMCkgewogCQlmaWxwLT5wcml2YXRlX2RhdGEgPSAodm9pZCAqKXBtX3Fvc19jbGFzczsKIAkJc3ByaW50ZihuYW1lLCAicHJvY2Vzc18lZCIsIGN1cnJlbnQtPnBpZCk7CiAJCXJldCA9IHBtX3Fvc19hZGRfcmVxdWlyZW1lbnQocG1fcW9zX2NsYXNzLCBuYW1lLAogCQkJCQlQTV9RT1NfREVGQVVMVF9WQUxVRSk7Ci0JCWlmIChyZXQgPj0gMCkKKwkJaWYgKHJldCA+PSAwKSB7CisJCQl1bmxvY2tfa2VybmVsKCk7CiAJCQlyZXR1cm4gMDsKKwkJfQogCX0KKwl1bmxvY2tfa2VybmVsKCk7CiAKIAlyZXR1cm4gLUVQRVJNOwogfQpkaWZmIC0tZ2l0IGEva2VybmVsL3Bvc2l4LWNwdS10aW1lcnMuYyBiL2tlcm5lbC9wb3NpeC1jcHUtdGltZXJzLmMKaW5kZXggZjE1MjVhZC4uYzQyYTAzYSAxMDA2NDQKLS0tIGEva2VybmVsL3Bvc2l4LWNwdS10aW1lcnMuYworKysgYi9rZXJuZWwvcG9zaXgtY3B1LXRpbWVycy5jCkBAIC0xMDM3LDYgKzEwMzcsOSBAQAogCQkJCXNpZy0+cmxpbVtSTElNSVRfUlRUSU1FXS5ybGltX2N1ciArPQogCQkJCQkJCQlVU0VDX1BFUl9TRUM7CiAJCQl9CisJCQlwcmludGsoS0VSTl9JTkZPCisJCQkJIlJUIFdhdGNoZG9nIFRpbWVvdXQ6ICVzWyVkXVxuIiwKKwkJCQl0c2stPmNvbW0sIHRhc2tfcGlkX25yKHRzaykpOwogCQkJX19ncm91cF9zZW5kX3NpZ19pbmZvKFNJR1hDUFUsIFNFTkRfU0lHX1BSSVYsIHRzayk7CiAJCX0KIAl9CmRpZmYgLS1naXQgYS9rZXJuZWwvcHJpbnRrLmMgYi9rZXJuZWwvcHJpbnRrLmMKaW5kZXggZTIxMjllOC4uMDdhZDllNyAxMDA2NDQKLS0tIGEva2VybmVsL3ByaW50ay5jCisrKyBiL2tlcm5lbC9wcmludGsuYwpAQCAtMzgsNyArMzgsNyBAQAogLyoKICAqIEFyY2hpdGVjdHVyZXMgY2FuIG92ZXJyaWRlIGl0OgogICovCi12b2lkIF9fYXR0cmlidXRlX18oKHdlYWspKSBlYXJseV9wcmludGsoY29uc3QgY2hhciAqZm10LCAuLi4pCit2b2lkIGFzbWxpbmthZ2UgX19hdHRyaWJ1dGVfXygod2VhaykpIGVhcmx5X3ByaW50ayhjb25zdCBjaGFyICpmbXQsIC4uLikKIHsKIH0KIApAQCAtNzUsNiArNzUsOCBAQAogc3RhdGljIERFQ0xBUkVfTVVURVgoY29uc29sZV9zZW0pOwogc3RhdGljIERFQ0xBUkVfTVVURVgoc2Vjb25kYXJ5X2NvbnNvbGVfc2VtKTsKIHN0cnVjdCBjb25zb2xlICpjb25zb2xlX2RyaXZlcnM7CitFWFBPUlRfU1lNQk9MX0dQTChjb25zb2xlX2RyaXZlcnMpOworCiAvKgogICogVGhpcyBpcyB1c2VkIGZvciBkZWJ1Z2dpbmcgdGhlIG1lc3MgdGhhdCBpcyB0aGUgVlQgY29kZSBieQogICoga2VlcGluZyB0cmFjayBpZiB3ZSBoYXZlIHRoZSBjb25zb2xlIHNlbWFwaG9yZSBoZWxkLiBJdCdzCkBAIC0xMjEsNiArMTIzLDggQEAKIHN0YXRpYyBzdHJ1Y3QgY29uc29sZV9jbWRsaW5lIGNvbnNvbGVfY21kbGluZVtNQVhfQ01ETElORUNPTlNPTEVTXTsKIHN0YXRpYyBpbnQgc2VsZWN0ZWRfY29uc29sZSA9IC0xOwogc3RhdGljIGludCBwcmVmZXJyZWRfY29uc29sZSA9IC0xOworaW50IGNvbnNvbGVfc2V0X29uX2NtZGxpbmU7CitFWFBPUlRfU1lNQk9MKGNvbnNvbGVfc2V0X29uX2NtZGxpbmUpOwogCiAvKiBGbGFnOiBjb25zb2xlIGNvZGUgbWF5IGNhbGwgc2NoZWR1bGUoKSAqLwogc3RhdGljIGludCBjb25zb2xlX21heV9zY2hlZHVsZTsKQEAgLTIzMSw3ICsyMzUsNyBAQAogLyoKICAqIFJldHVybiB0aGUgbnVtYmVyIG9mIHVucmVhZCBjaGFyYWN0ZXJzIGluIHRoZSBsb2cgYnVmZmVyLgogICovCi1pbnQgbG9nX2J1Zl9nZXRfbGVuKHZvaWQpCitzdGF0aWMgaW50IGxvZ19idWZfZ2V0X2xlbih2b2lkKQogewogCXJldHVybiBsb2dnZWRfY2hhcnM7CiB9CkBAIC0yNjgsMTkgKzI3Miw2IEBACiB9CiAKIC8qCi0gKiBFeHRyYWN0IGEgc2luZ2xlIGNoYXJhY3RlciBmcm9tIHRoZSBsb2cgYnVmZmVyLgotICovCi1pbnQgbG9nX2J1Zl9yZWFkKGludCBpZHgpCi17Ci0JY2hhciByZXQ7Ci0KLQlpZiAobG9nX2J1Zl9jb3B5KCZyZXQsIGlkeCwgMSkgPT0gMSkKLQkJcmV0dXJuIHJldDsKLQllbHNlCi0JCXJldHVybiAtMTsKLX0KLQotLyoKICAqIENvbW1hbmRzIHRvIGRvX3N5c2xvZzoKICAqCiAgKiAJMCAtLSBDbG9zZSB0aGUgbG9nLiAgQ3VycmVudGx5IGEgTk9QLgpAQCAtNjY1LDE4ICs2NTYsMTcgQEAKIAlzcGluX3VubG9jaygmbG9nYnVmX2xvY2spOwogCXJldHVybiByZXR2YWw7CiB9Ci0KLXN0YXRpYyBjb25zdCBjaGFyIHByaW50a19yZWN1cnNpb25fYnVnX21zZyBbXSA9Ci0JCQlLRVJOX0NSSVQgIkJVRzogcmVjZW50IHByaW50ayByZWN1cnNpb24hXG4iOwotc3RhdGljIGludCBwcmludGtfcmVjdXJzaW9uX2J1ZzsKK3N0YXRpYyBjb25zdCBjaGFyIHJlY3Vyc2lvbl9idWdfbXNnIFtdID0KKwkJS0VSTl9DUklUICJCVUc6IHJlY2VudCBwcmludGsgcmVjdXJzaW9uIVxuIjsKK3N0YXRpYyBpbnQgcmVjdXJzaW9uX2J1ZzsKKwlzdGF0aWMgaW50IG5ld190ZXh0X2xpbmUgPSAxOworc3RhdGljIGNoYXIgcHJpbnRrX2J1ZlsxMDI0XTsKIAogYXNtbGlua2FnZSBpbnQgdnByaW50ayhjb25zdCBjaGFyICpmbXQsIHZhX2xpc3QgYXJncykKIHsKLQlzdGF0aWMgaW50IGxvZ19sZXZlbF91bmtub3duID0gMTsKLQlzdGF0aWMgY2hhciBwcmludGtfYnVmWzEwMjRdOwotCi0JdW5zaWduZWQgbG9uZyBmbGFnczsKIAlpbnQgcHJpbnRlZF9sZW4gPSAwOworCWludCBjdXJyZW50X2xvZ19sZXZlbCA9IGRlZmF1bHRfbWVzc2FnZV9sb2dsZXZlbDsKKwl1bnNpZ25lZCBsb25nIGZsYWdzOwogCWludCB0aGlzX2NwdTsKIAljaGFyICpwOwogCkBAIC02OTksNyArNjg5LDcgQEAKIAkJICogaXQgY2FuIGJlIHByaW50ZWQgYXQgdGhlIG5leHQgYXBwcm9wcmlhdGUgbW9tZW50OgogCQkgKi8KIAkJaWYgKCFvb3BzX2luX3Byb2dyZXNzKSB7Ci0JCQlwcmludGtfcmVjdXJzaW9uX2J1ZyA9IDE7CisJCQlyZWN1cnNpb25fYnVnID0gMTsKIAkJCWdvdG8gb3V0X3Jlc3RvcmVfaXJxczsKIAkJfQogCQl6YXBfbG9ja3MoKTsKQEAgLTcwOSw3MCArNjk5LDYyIEBACiAJc3Bpbl9sb2NrKCZsb2didWZfbG9jayk7CiAJcHJpbnRrX2NwdSA9IHRoaXNfY3B1OwogCi0JaWYgKHByaW50a19yZWN1cnNpb25fYnVnKSB7Ci0JCXByaW50a19yZWN1cnNpb25fYnVnID0gMDsKLQkJc3RyY3B5KHByaW50a19idWYsIHByaW50a19yZWN1cnNpb25fYnVnX21zZyk7Ci0JCXByaW50ZWRfbGVuID0gc2l6ZW9mKHByaW50a19yZWN1cnNpb25fYnVnX21zZyk7CisJaWYgKHJlY3Vyc2lvbl9idWcpIHsKKwkJcmVjdXJzaW9uX2J1ZyA9IDA7CisJCXN0cmNweShwcmludGtfYnVmLCByZWN1cnNpb25fYnVnX21zZyk7CisJCXByaW50ZWRfbGVuID0gc2l6ZW9mKHJlY3Vyc2lvbl9idWdfbXNnKTsKIAl9CiAJLyogRW1pdCB0aGUgb3V0cHV0IGludG8gdGhlIHRlbXBvcmFyeSBidWZmZXIgKi8KIAlwcmludGVkX2xlbiArPSB2c2NucHJpbnRmKHByaW50a19idWYgKyBwcmludGVkX2xlbiwKIAkJCQkgIHNpemVvZihwcmludGtfYnVmKSAtIHByaW50ZWRfbGVuLCBmbXQsIGFyZ3MpOwogCisKIAkvKgogCSAqIENvcHkgdGhlIG91dHB1dCBpbnRvIGxvZ19idWYuICBJZiB0aGUgY2FsbGVyIGRpZG4ndCBwcm92aWRlCiAJICogYXBwcm9wcmlhdGUgbG9nIGxldmVsIHRhZ3MsIHdlIGluc2VydCB0aGVtIGhlcmUKIAkgKi8KIAlmb3IgKHAgPSBwcmludGtfYnVmOyAqcDsgcCsrKSB7Ci0JCWlmIChsb2dfbGV2ZWxfdW5rbm93bikgewotICAgICAgICAgICAgICAgICAgICAgICAgLyogbG9nX2xldmVsX3Vua25vd24gc2lnbmFscyB0aGUgc3RhcnQgb2YgYSBuZXcgbGluZSAqLworCQlpZiAobmV3X3RleHRfbGluZSkgeworCQkJLyogSWYgYSB0b2tlbiwgc2V0IGN1cnJlbnRfbG9nX2xldmVsIGFuZCBza2lwIG92ZXIgKi8KKwkJCWlmIChwWzBdID09ICc8JyAmJiBwWzFdID49ICcwJyAmJiBwWzFdIDw9ICc3JyAmJgorCQkJICAgIHBbMl0gPT0gJz4nKSB7CisJCQkJY3VycmVudF9sb2dfbGV2ZWwgPSBwWzFdIC0gJzAnOworCQkJCXAgKz0gMzsKKwkJCQlwcmludGVkX2xlbiAtPSAzOworCQkJfQorCisJCQkvKiBBbHdheXMgb3V0cHV0IHRoZSB0b2tlbiAqLworCQkJZW1pdF9sb2dfY2hhcignPCcpOworCQkJZW1pdF9sb2dfY2hhcihjdXJyZW50X2xvZ19sZXZlbCArICcwJyk7CisJCQllbWl0X2xvZ19jaGFyKCc+Jyk7CisJCQlwcmludGVkX2xlbiArPSAzOworCQkJbmV3X3RleHRfbGluZSA9IDA7CisKIAkJCWlmIChwcmludGtfdGltZSkgewotCQkJCWludCBsb2dsZXZfY2hhcjsKKwkJCQkvKiBGb2xsb3cgdGhlIHRva2VuIHdpdGggdGhlIHRpbWUgKi8KIAkJCQljaGFyIHRidWZbNTBdLCAqdHA7CiAJCQkJdW5zaWduZWQgdGxlbjsKIAkJCQl1bnNpZ25lZCBsb25nIGxvbmcgdDsKIAkJCQl1bnNpZ25lZCBsb25nIG5hbm9zZWNfcmVtOwogCi0JCQkJLyoKLQkJCQkgKiBmb3JjZSB0aGUgbG9nIGxldmVsIHRva2VuIHRvIGJlCi0JCQkJICogYmVmb3JlIHRoZSB0aW1lIG91dHB1dC4KLQkJCQkgKi8KLQkJCQlpZiAocFswXSA9PSAnPCcgJiYgcFsxXSA+PScwJyAmJgotCQkJCSAgIHBbMV0gPD0gJzcnICYmIHBbMl0gPT0gJz4nKSB7Ci0JCQkJCWxvZ2xldl9jaGFyID0gcFsxXTsKLQkJCQkJcCArPSAzOwotCQkJCQlwcmludGVkX2xlbiAtPSAzOwotCQkJCX0gZWxzZSB7Ci0JCQkJCWxvZ2xldl9jaGFyID0gZGVmYXVsdF9tZXNzYWdlX2xvZ2xldmVsCi0JCQkJCQkrICcwJzsKLQkJCQl9CiAJCQkJdCA9IGNwdV9jbG9jayhwcmludGtfY3B1KTsKIAkJCQluYW5vc2VjX3JlbSA9IGRvX2Rpdih0LCAxMDAwMDAwMDAwKTsKLQkJCQl0bGVuID0gc3ByaW50Zih0YnVmLAotCQkJCQkJIjwlYz5bJTVsdS4lMDZsdV0gIiwKLQkJCQkJCWxvZ2xldl9jaGFyLAotCQkJCQkJKHVuc2lnbmVkIGxvbmcpdCwKLQkJCQkJCW5hbm9zZWNfcmVtLzEwMDApOworCQkJCXRsZW4gPSBzcHJpbnRmKHRidWYsICJbJTVsdS4lMDZsdV0gIiwKKwkJCQkJCSh1bnNpZ25lZCBsb25nKSB0LAorCQkJCQkJbmFub3NlY19yZW0gLyAxMDAwKTsKIAogCQkJCWZvciAodHAgPSB0YnVmOyB0cCA8IHRidWYgKyB0bGVuOyB0cCsrKQogCQkJCQllbWl0X2xvZ19jaGFyKCp0cCk7CiAJCQkJcHJpbnRlZF9sZW4gKz0gdGxlbjsKLQkJCX0gZWxzZSB7Ci0JCQkJaWYgKHBbMF0gIT0gJzwnIHx8IHBbMV0gPCAnMCcgfHwKLQkJCQkgICBwWzFdID4gJzcnIHx8IHBbMl0gIT0gJz4nKSB7Ci0JCQkJCWVtaXRfbG9nX2NoYXIoJzwnKTsKLQkJCQkJZW1pdF9sb2dfY2hhcihkZWZhdWx0X21lc3NhZ2VfbG9nbGV2ZWwKLQkJCQkJCSsgJzAnKTsKLQkJCQkJZW1pdF9sb2dfY2hhcignPicpOwotCQkJCQlwcmludGVkX2xlbiArPSAzOwotCQkJCX0KIAkJCX0KLQkJCWxvZ19sZXZlbF91bmtub3duID0gMDsKKwogCQkJaWYgKCEqcCkKIAkJCQlicmVhazsKIAkJfQorCiAJCWVtaXRfbG9nX2NoYXIoKnApOwogCQlpZiAoKnAgPT0gJ1xuJykKLQkJCWxvZ19sZXZlbF91bmtub3duID0gMTsKKwkJCW5ld190ZXh0X2xpbmUgPSAxOwogCX0KIAogCS8qCkBAIC04OTAsNiArODcyLDcgQEAKIAkqcyA9IDA7CiAKIAlfX2FkZF9wcmVmZXJyZWRfY29uc29sZShidWYsIGlkeCwgb3B0aW9ucywgYnJsX29wdGlvbnMpOworCWNvbnNvbGVfc2V0X29uX2NtZGxpbmUgPSAxOwogCXJldHVybiAxOwogfQogX19zZXR1cCgiY29uc29sZT0iLCBjb25zb2xlX3NldHVwKTsKQEAgLTEwNDEsNyArMTAyNCw5IEBACiAJCV9sb2dfZW5kID0gbG9nX2VuZDsKIAkJY29uX3N0YXJ0ID0gbG9nX2VuZDsJCS8qIEZsdXNoICovCiAJCXNwaW5fdW5sb2NrKCZsb2didWZfbG9jayk7CisJCXN0b3BfY3JpdGljYWxfdGltaW5ncygpOwkvKiBkb24ndCB0cmFjZSBwcmludCBsYXRlbmN5ICovCiAJCWNhbGxfY29uc29sZV9kcml2ZXJzKF9jb25fc3RhcnQsIF9sb2dfZW5kKTsKKwkJc3RhcnRfY3JpdGljYWxfdGltaW5ncygpOwogCQlsb2NhbF9pcnFfcmVzdG9yZShmbGFncyk7CiAJfQogCWNvbnNvbGVfbG9ja2VkID0gMDsKQEAgLTExNzIsOCArMTE1NywxMSBAQAogCQkJY29uc29sZS0+aW5kZXggPSAwOwogCQlpZiAoY29uc29sZS0+c2V0dXAgPT0gTlVMTCB8fAogCQkgICAgY29uc29sZS0+c2V0dXAoY29uc29sZSwgTlVMTCkgPT0gMCkgewotCQkJY29uc29sZS0+ZmxhZ3MgfD0gQ09OX0VOQUJMRUQgfCBDT05fQ09OU0RFVjsKLQkJCXByZWZlcnJlZF9jb25zb2xlID0gMDsKKwkJCWNvbnNvbGUtPmZsYWdzIHw9IENPTl9FTkFCTEVEOworCQkJaWYgKGNvbnNvbGUtPmRldmljZSkgeworCQkJCWNvbnNvbGUtPmZsYWdzIHw9IENPTl9DT05TREVWOworCQkJCXByZWZlcnJlZF9jb25zb2xlID0gMDsKKwkJCX0KIAkJfQogCX0KIApkaWZmIC0tZ2l0IGEva2VybmVsL3B0cmFjZS5jIGIva2VybmVsL3B0cmFjZS5jCmluZGV4IDZjMTllOTQuLmUzMzczOTAgMTAwNjQ0Ci0tLSBhL2tlcm5lbC9wdHJhY2UuYworKysgYi9rZXJuZWwvcHRyYWNlLmMKQEAgLTEyMSw3ICsxMjEsNyBAQAogCXJldHVybiByZXQ7CiB9CiAKLWludCBfX3B0cmFjZV9tYXlfYXR0YWNoKHN0cnVjdCB0YXNrX3N0cnVjdCAqdGFzaykKK2ludCBfX3B0cmFjZV9tYXlfYWNjZXNzKHN0cnVjdCB0YXNrX3N0cnVjdCAqdGFzaywgdW5zaWduZWQgaW50IG1vZGUpCiB7CiAJLyogTWF5IHdlIGluc3BlY3QgdGhlIGdpdmVuIHRhc2s/CiAJICogVGhpcyBjaGVjayBpcyB1c2VkIGJvdGggZm9yIGF0dGFjaGluZyB3aXRoIHB0cmFjZQpAQCAtMTQ4LDE2ICsxNDgsMTYgQEAKIAlpZiAoIWR1bXBhYmxlICYmICFjYXBhYmxlKENBUF9TWVNfUFRSQUNFKSkKIAkJcmV0dXJuIC1FUEVSTTsKIAotCXJldHVybiBzZWN1cml0eV9wdHJhY2UoY3VycmVudCwgdGFzayk7CisJcmV0dXJuIHNlY3VyaXR5X3B0cmFjZShjdXJyZW50LCB0YXNrLCBtb2RlKTsKIH0KIAotaW50IHB0cmFjZV9tYXlfYXR0YWNoKHN0cnVjdCB0YXNrX3N0cnVjdCAqdGFzaykKK2Jvb2wgcHRyYWNlX21heV9hY2Nlc3Moc3RydWN0IHRhc2tfc3RydWN0ICp0YXNrLCB1bnNpZ25lZCBpbnQgbW9kZSkKIHsKIAlpbnQgZXJyOwogCXRhc2tfbG9jayh0YXNrKTsKLQllcnIgPSBfX3B0cmFjZV9tYXlfYXR0YWNoKHRhc2spOworCWVyciA9IF9fcHRyYWNlX21heV9hY2Nlc3ModGFzaywgbW9kZSk7CiAJdGFza191bmxvY2sodGFzayk7Ci0JcmV0dXJuICFlcnI7CisJcmV0dXJuICghZXJyID8gdHJ1ZSA6IGZhbHNlKTsKIH0KIAogaW50IHB0cmFjZV9hdHRhY2goc3RydWN0IHRhc2tfc3RydWN0ICp0YXNrKQpAQCAtMTk1LDcgKzE5NSw3IEBACiAJLyogdGhlIHNhbWUgcHJvY2VzcyBjYW5ub3QgYmUgYXR0YWNoZWQgbWFueSB0aW1lcyAqLwogCWlmICh0YXNrLT5wdHJhY2UgJiBQVF9QVFJBQ0VEKQogCQlnb3RvIGJhZDsKLQlyZXR2YWwgPSBfX3B0cmFjZV9tYXlfYXR0YWNoKHRhc2spOworCXJldHZhbCA9IF9fcHRyYWNlX21heV9hY2Nlc3ModGFzaywgUFRSQUNFX01PREVfQVRUQUNIKTsKIAlpZiAocmV0dmFsKQogCQlnb3RvIGJhZDsKIApAQCAtNDk0LDcgKzQ5NCw4IEBACiAJICovCiAJdGFza19sb2NrKGN1cnJlbnQpOwogCWlmICghKGN1cnJlbnQtPnB0cmFjZSAmIFBUX1BUUkFDRUQpKSB7Ci0JCXJldCA9IHNlY3VyaXR5X3B0cmFjZShjdXJyZW50LT5wYXJlbnQsIGN1cnJlbnQpOworCQlyZXQgPSBzZWN1cml0eV9wdHJhY2UoY3VycmVudC0+cGFyZW50LCBjdXJyZW50LAorCQkJCSAgICAgIFBUUkFDRV9NT0RFX0FUVEFDSCk7CiAJCS8qCiAJCSAqIFNldCB0aGUgcHRyYWNlIGJpdCBpbiB0aGUgcHJvY2VzcyBwdHJhY2UgZmxhZ3MuCiAJCSAqLwpkaWZmIC0tZ2l0IGEva2VybmVsL3JjdWNsYXNzaWMuYyBiL2tlcm5lbC9yY3VjbGFzc2ljLmMKaW5kZXggYTM4ODk1YS4uNjVjMDkwNiAxMDA2NDQKLS0tIGEva2VybmVsL3JjdWNsYXNzaWMuYworKysgYi9rZXJuZWwvcmN1Y2xhc3NpYy5jCkBAIC01NDMsNyArNTQzLDcgQEAKIAogCXJjdV9pbml0X3BlcmNwdV9kYXRhKGNwdSwgJnJjdV9jdHJsYmxrLCByZHApOwogCXJjdV9pbml0X3BlcmNwdV9kYXRhKGNwdSwgJnJjdV9iaF9jdHJsYmxrLCBiaF9yZHApOwotCW9wZW5fc29mdGlycShSQ1VfU09GVElSUSwgcmN1X3Byb2Nlc3NfY2FsbGJhY2tzLCBOVUxMKTsKKwlvcGVuX3NvZnRpcnEoUkNVX1NPRlRJUlEsIHJjdV9wcm9jZXNzX2NhbGxiYWNrcyk7CiB9CiAKIHN0YXRpYyBpbnQgX19jcHVpbml0IHJjdV9jcHVfbm90aWZ5KHN0cnVjdCBub3RpZmllcl9ibG9jayAqc2VsZiwKZGlmZiAtLWdpdCBhL2tlcm5lbC9yY3VwcmVlbXB0LmMgYi9rZXJuZWwvcmN1cHJlZW1wdC5jCmluZGV4IDQxZDI3NWEuLjliZjQ0NTYgMTAwNjQ0Ci0tLSBhL2tlcm5lbC9yY3VwcmVlbXB0LmMKKysrIGIva2VybmVsL3JjdXByZWVtcHQuYwpAQCAtMTExOSw3ICsxMTE5LDcgQEAKIAlmb3JfZWFjaF9vbmxpbmVfY3B1KGNwdSkKIAkJcmN1X2NwdV9ub3RpZnkoJnJjdV9uYiwgQ1BVX1VQX1BSRVBBUkUsCSh2b2lkICopKGxvbmcpIGNwdSk7CiAKLQlvcGVuX3NvZnRpcnEoUkNVX1NPRlRJUlEsIHJjdV9wcm9jZXNzX2NhbGxiYWNrcywgTlVMTCk7CisJb3Blbl9zb2Z0aXJxKFJDVV9TT0ZUSVJRLCByY3VfcHJvY2Vzc19jYWxsYmFja3MpOwogfQogCiAvKgpkaWZmIC0tZ2l0IGEva2VybmVsL3NjaGVkLmMgYi9rZXJuZWwvc2NoZWQuYwppbmRleCA0ZTJmNjAzMy4uOTllNmQ4NSAxMDA2NDQKLS0tIGEva2VybmVsL3NjaGVkLmMKKysrIGIva2VybmVsL3NjaGVkLmMKQEAgLTcwLDEwICs3MCwxMyBAQAogI2luY2x1ZGUgPGxpbnV4L2Jvb3RtZW0uaD4KICNpbmNsdWRlIDxsaW51eC9kZWJ1Z2ZzLmg+CiAjaW5jbHVkZSA8bGludXgvY3R5cGUuaD4KKyNpbmNsdWRlIDxsaW51eC9mdHJhY2UuaD4KIAogI2luY2x1ZGUgPGFzbS90bGIuaD4KICNpbmNsdWRlIDxhc20vaXJxX3JlZ3MuaD4KIAorI2luY2x1ZGUgInNjaGVkX2NwdXByaS5oIgorCiAvKgogICogQ29udmVydCB1c2VyLW5pY2UgdmFsdWVzIFsgLTIwIC4uLiAwIC4uLiAxOSBdCiAgKiB0byBzdGF0aWMgcHJpb3JpdHkgWyBNQVhfUlRfUFJJTy4uTUFYX1BSSU8tMSBdLApAQCAtMjg5LDE1ICsyOTIsMTUgQEAKIHN0YXRpYyBERUZJTkVfUEVSX0NQVShzdHJ1Y3Qgc2NoZWRfZW50aXR5LCBpbml0X3NjaGVkX2VudGl0eSk7CiAvKiBEZWZhdWx0IHRhc2sgZ3JvdXAncyBjZnNfcnEgb24gZWFjaCBjcHUgKi8KIHN0YXRpYyBERUZJTkVfUEVSX0NQVShzdHJ1Y3QgY2ZzX3JxLCBpbml0X2Nmc19ycSkgX19fX2NhY2hlbGluZV9hbGlnbmVkX2luX3NtcDsKLSNlbmRpZgorI2VuZGlmIC8qIENPTkZJR19GQUlSX0dST1VQX1NDSEVEICovCiAKICNpZmRlZiBDT05GSUdfUlRfR1JPVVBfU0NIRUQKIHN0YXRpYyBERUZJTkVfUEVSX0NQVShzdHJ1Y3Qgc2NoZWRfcnRfZW50aXR5LCBpbml0X3NjaGVkX3J0X2VudGl0eSk7CiBzdGF0aWMgREVGSU5FX1BFUl9DUFUoc3RydWN0IHJ0X3JxLCBpbml0X3J0X3JxKSBfX19fY2FjaGVsaW5lX2FsaWduZWRfaW5fc21wOwotI2VuZGlmCi0jZWxzZQorI2VuZGlmIC8qIENPTkZJR19SVF9HUk9VUF9TQ0hFRCAqLworI2Vsc2UgLyogIUNPTkZJR19GQUlSX0dST1VQX1NDSEVEICovCiAjZGVmaW5lIHJvb3RfdGFza19ncm91cCBpbml0X3Rhc2tfZ3JvdXAKLSNlbmRpZgorI2VuZGlmIC8qIENPTkZJR19GQUlSX0dST1VQX1NDSEVEICovCiAKIC8qIHRhc2tfZ3JvdXBfbG9jayBzZXJpYWxpemVzIGFkZC9yZW1vdmUgb2YgdGFzayBncm91cHMgYW5kIGFsc28gY2hhbmdlcyB0bwogICogYSB0YXNrIGdyb3VwJ3MgY3B1IHNoYXJlcy4KQEAgLTMwNyw5ICszMTAsOSBAQAogI2lmZGVmIENPTkZJR19GQUlSX0dST1VQX1NDSEVECiAjaWZkZWYgQ09ORklHX1VTRVJfU0NIRUQKICMgZGVmaW5lIElOSVRfVEFTS19HUk9VUF9MT0FECSgyKk5JQ0VfMF9MT0FEKQotI2Vsc2UKKyNlbHNlIC8qICFDT05GSUdfVVNFUl9TQ0hFRCAqLwogIyBkZWZpbmUgSU5JVF9UQVNLX0dST1VQX0xPQUQJTklDRV8wX0xPQUQKLSNlbmRpZgorI2VuZGlmIC8qIENPTkZJR19VU0VSX1NDSEVEICovCiAKIC8qCiAgKiBBIHdlaWdodCBvZiAwIG9yIDEgY2FuIGNhdXNlIGFyaXRobWV0aWNzIHByb2JsZW1zLgpAQCAtMzYzLDYgKzM2NiwxMCBAQAogI2Vsc2UKIAogc3RhdGljIGlubGluZSB2b2lkIHNldF90YXNrX3JxKHN0cnVjdCB0YXNrX3N0cnVjdCAqcCwgdW5zaWduZWQgaW50IGNwdSkgeyB9CitzdGF0aWMgaW5saW5lIHN0cnVjdCB0YXNrX2dyb3VwICp0YXNrX2dyb3VwKHN0cnVjdCB0YXNrX3N0cnVjdCAqcCkKK3sKKwlyZXR1cm4gTlVMTDsKK30KIAogI2VuZGlmCS8qIENPTkZJR19HUk9VUF9TQ0hFRCAqLwogCkBAIC0zNzMsNiArMzgwLDcgQEAKIAogCXU2NCBleGVjX2Nsb2NrOwogCXU2NCBtaW5fdnJ1bnRpbWU7CisJdTY0IHBhaXJfc3RhcnQ7CiAKIAlzdHJ1Y3QgcmJfcm9vdCB0YXNrc190aW1lbGluZTsKIAlzdHJ1Y3QgcmJfbm9kZSAqcmJfbGVmdG1vc3Q7CkBAIC00MDEsNiArNDA5LDMxIEBACiAJICovCiAJc3RydWN0IGxpc3RfaGVhZCBsZWFmX2Nmc19ycV9saXN0OwogCXN0cnVjdCB0YXNrX2dyb3VwICp0ZzsJLyogZ3JvdXAgdGhhdCAib3ducyIgdGhpcyBydW5xdWV1ZSAqLworCisjaWZkZWYgQ09ORklHX1NNUAorCS8qCisJICogdGhlIHBhcnQgb2YgbG9hZC53ZWlnaHQgY29udHJpYnV0ZWQgYnkgdGFza3MKKwkgKi8KKwl1bnNpZ25lZCBsb25nIHRhc2tfd2VpZ2h0OworCisJLyoKKwkgKiAgIGhfbG9hZCA9IHdlaWdodCAqIGYodGcpCisJICoKKwkgKiBXaGVyZSBmKHRnKSBpcyB0aGUgcmVjdXJzaXZlIHdlaWdodCBmcmFjdGlvbiBhc3NpZ25lZCB0bworCSAqIHRoaXMgZ3JvdXAuCisJICovCisJdW5zaWduZWQgbG9uZyBoX2xvYWQ7CisKKwkvKgorCSAqIHRoaXMgY3B1J3MgcGFydCBvZiB0Zy0+c2hhcmVzCisJICovCisJdW5zaWduZWQgbG9uZyBzaGFyZXM7CisKKwkvKgorCSAqIGxvYWQud2VpZ2h0IGF0IHRoZSB0aW1lIHdlIHNldCBzaGFyZXMKKwkgKi8KKwl1bnNpZ25lZCBsb25nIHJxX3dlaWdodDsKKyNlbmRpZgogI2VuZGlmCiB9OwogCkBAIC00NTIsNiArNDg1LDkgQEAKIAkgKi8KIAljcHVtYXNrX3QgcnRvX21hc2s7CiAJYXRvbWljX3QgcnRvX2NvdW50OworI2lmZGVmIENPTkZJR19TTVAKKwlzdHJ1Y3QgY3B1cHJpIGNwdXByaTsKKyNlbmRpZgogfTsKIAogLyoKQEAgLTUyNiw2ICs1NjIsOSBAQAogCWludCBwdXNoX2NwdTsKIAkvKiBjcHUgb2YgdGhpcyBydW5xdWV1ZTogKi8KIAlpbnQgY3B1OworCWludCBvbmxpbmU7CisKKwl1bnNpZ25lZCBsb25nIGF2Z19sb2FkX3Blcl90YXNrOwogCiAJc3RydWN0IHRhc2tfc3RydWN0ICptaWdyYXRpb25fdGhyZWFkOwogCXN0cnVjdCBsaXN0X2hlYWQgbWlncmF0aW9uX3F1ZXVlOwpAQCAtNjA3LDYgKzY0NiwyNCBAQAogIyBkZWZpbmUgY29uc3RfZGVidWcgc3RhdGljIGNvbnN0CiAjZW5kaWYKIAorLyoqCisgKiBydW5xdWV1ZV9pc19sb2NrZWQKKyAqCisgKiBSZXR1cm5zIHRydWUgaWYgdGhlIGN1cnJlbnQgY3B1IHJ1bnF1ZXVlIGlzIGxvY2tlZC4KKyAqIFRoaXMgaW50ZXJmYWNlIGFsbG93cyBwcmludGsgdG8gYmUgY2FsbGVkIHdpdGggdGhlIHJ1bnF1ZXVlIGxvY2sKKyAqIGhlbGQgYW5kIGtub3cgd2hldGhlciBvciBub3QgaXQgaXMgT0sgdG8gd2FrZSB1cCB0aGUga2xvZ2QuCisgKi8KK2ludCBydW5xdWV1ZV9pc19sb2NrZWQodm9pZCkKK3sKKwlpbnQgY3B1ID0gZ2V0X2NwdSgpOworCXN0cnVjdCBycSAqcnEgPSBjcHVfcnEoY3B1KTsKKwlpbnQgcmV0OworCisJcmV0ID0gc3Bpbl9pc19sb2NrZWQoJnJxLT5sb2NrKTsKKwlwdXRfY3B1KCk7CisJcmV0dXJuIHJldDsKK30KKwogLyoKICAqIERlYnVnZ2luZzogdmFyaW91cyBmZWF0dXJlIGJpdHMKICAqLwpAQCAtNzQ5LDYgKzgwNiwxMiBAQAogY29uc3RfZGVidWcgdW5zaWduZWQgaW50IHN5c2N0bF9zY2hlZF9ucl9taWdyYXRlID0gMzI7CiAKIC8qCisgKiByYXRlbGltaXQgZm9yIHVwZGF0aW5nIHRoZSBncm91cCBzaGFyZXMuCisgKiBkZWZhdWx0OiAwLjVtcworICovCitjb25zdF9kZWJ1ZyB1bnNpZ25lZCBpbnQgc3lzY3RsX3NjaGVkX3NoYXJlc19yYXRlbGltaXQgPSA1MDAwMDA7CisKKy8qCiAgKiBwZXJpb2Qgb3ZlciB3aGljaCB3ZSBtZWFzdXJlIC1ydCB0YXNrIGNwdSB1c2FnZSBpbiB1cy4KICAqIGRlZmF1bHQ6IDFzCiAgKi8KQEAgLTc3NSw4MiArODM4LDYgQEAKIAlyZXR1cm4gKHU2NClzeXNjdGxfc2NoZWRfcnRfcnVudGltZSAqIE5TRUNfUEVSX1VTRUM7CiB9CiAKLXVuc2lnbmVkIGxvbmcgbG9uZyB0aW1lX3N5bmNfdGhyZXNoID0gMTAwMDAwOwotCi1zdGF0aWMgREVGSU5FX1BFUl9DUFUodW5zaWduZWQgbG9uZyBsb25nLCB0aW1lX29mZnNldCk7Ci1zdGF0aWMgREVGSU5FX1BFUl9DUFUodW5zaWduZWQgbG9uZyBsb25nLCBwcmV2X2NwdV90aW1lKTsKLQotLyoKLSAqIEdsb2JhbCBsb2NrIHdoaWNoIHdlIHRha2UgZXZlcnkgbm93IGFuZCB0aGVuIHRvIHN5bmNocm9uaXplCi0gKiB0aGUgQ1BVcyB0aW1lLiBUaGlzIG1ldGhvZCBpcyBub3Qgd2FycC1zYWZlLCBidXQgaXQncyBnb29kCi0gKiBlbm91Z2ggdG8gc3luY2hyb25pemUgc2xvd2x5IGRpdmVyZ2luZyB0aW1lIHNvdXJjZXMgYW5kIHRodXMKLSAqIGl0J3MgZ29vZCBlbm91Z2ggZm9yIHRyYWNpbmc6Ci0gKi8KLXN0YXRpYyBERUZJTkVfU1BJTkxPQ0sodGltZV9zeW5jX2xvY2spOwotc3RhdGljIHVuc2lnbmVkIGxvbmcgbG9uZyBwcmV2X2dsb2JhbF90aW1lOwotCi1zdGF0aWMgdW5zaWduZWQgbG9uZyBsb25nIF9fc3luY19jcHVfY2xvY2sodW5zaWduZWQgbG9uZyBsb25nIHRpbWUsIGludCBjcHUpCi17Ci0JLyoKLQkgKiBXZSB3YW50IHRoaXMgaW5saW5lZCwgdG8gbm90IGdldCB0cmFjZXIgZnVuY3Rpb24gY2FsbHMKLQkgKiBpbiB0aGlzIGNyaXRpY2FsIHNlY3Rpb246Ci0JICovCi0Jc3Bpbl9hY3F1aXJlKCZ0aW1lX3N5bmNfbG9jay5kZXBfbWFwLCAwLCAwLCBfVEhJU19JUF8pOwotCV9fcmF3X3NwaW5fbG9jaygmdGltZV9zeW5jX2xvY2sucmF3X2xvY2spOwotCi0JaWYgKHRpbWUgPCBwcmV2X2dsb2JhbF90aW1lKSB7Ci0JCXBlcl9jcHUodGltZV9vZmZzZXQsIGNwdSkgKz0gcHJldl9nbG9iYWxfdGltZSAtIHRpbWU7Ci0JCXRpbWUgPSBwcmV2X2dsb2JhbF90aW1lOwotCX0gZWxzZSB7Ci0JCXByZXZfZ2xvYmFsX3RpbWUgPSB0aW1lOwotCX0KLQotCV9fcmF3X3NwaW5fdW5sb2NrKCZ0aW1lX3N5bmNfbG9jay5yYXdfbG9jayk7Ci0Jc3Bpbl9yZWxlYXNlKCZ0aW1lX3N5bmNfbG9jay5kZXBfbWFwLCAxLCBfVEhJU19JUF8pOwotCi0JcmV0dXJuIHRpbWU7Ci19Ci0KLXN0YXRpYyB1bnNpZ25lZCBsb25nIGxvbmcgX19jcHVfY2xvY2soaW50IGNwdSkKLXsKLQl1bnNpZ25lZCBsb25nIGxvbmcgbm93OwotCi0JLyoKLQkgKiBPbmx5IGNhbGwgc2NoZWRfY2xvY2soKSBpZiB0aGUgc2NoZWR1bGVyIGhhcyBhbHJlYWR5IGJlZW4KLQkgKiBpbml0aWFsaXplZCAoc29tZSBjb2RlIG1pZ2h0IGNhbGwgY3B1X2Nsb2NrKCkgdmVyeSBlYXJseSk6Ci0JICovCi0JaWYgKHVubGlrZWx5KCFzY2hlZHVsZXJfcnVubmluZykpCi0JCXJldHVybiAwOwotCi0Jbm93ID0gc2NoZWRfY2xvY2tfY3B1KGNwdSk7Ci0KLQlyZXR1cm4gbm93OwotfQotCi0vKgotICogRm9yIGtlcm5lbC1pbnRlcm5hbCB1c2U6IGhpZ2gtc3BlZWQgKGJ1dCBzbGlnaHRseSBpbmNvcnJlY3QpIHBlci1jcHUKLSAqIGNsb2NrIGNvbnN0cnVjdGVkIGZyb20gc2NoZWRfY2xvY2soKToKLSAqLwotdW5zaWduZWQgbG9uZyBsb25nIGNwdV9jbG9jayhpbnQgY3B1KQotewotCXVuc2lnbmVkIGxvbmcgbG9uZyBwcmV2X2NwdV90aW1lLCB0aW1lLCBkZWx0YV90aW1lOwotCXVuc2lnbmVkIGxvbmcgZmxhZ3M7Ci0KLQlsb2NhbF9pcnFfc2F2ZShmbGFncyk7Ci0JcHJldl9jcHVfdGltZSA9IHBlcl9jcHUocHJldl9jcHVfdGltZSwgY3B1KTsKLQl0aW1lID0gX19jcHVfY2xvY2soY3B1KSArIHBlcl9jcHUodGltZV9vZmZzZXQsIGNwdSk7Ci0JZGVsdGFfdGltZSA9IHRpbWUtcHJldl9jcHVfdGltZTsKLQotCWlmICh1bmxpa2VseShkZWx0YV90aW1lID4gdGltZV9zeW5jX3RocmVzaCkpIHsKLQkJdGltZSA9IF9fc3luY19jcHVfY2xvY2sodGltZSwgY3B1KTsKLQkJcGVyX2NwdShwcmV2X2NwdV90aW1lLCBjcHUpID0gdGltZTsKLQl9Ci0JbG9jYWxfaXJxX3Jlc3RvcmUoZmxhZ3MpOwotCi0JcmV0dXJuIHRpbWU7Ci19Ci1FWFBPUlRfU1lNQk9MX0dQTChjcHVfY2xvY2spOwotCiAjaWZuZGVmIHByZXBhcmVfYXJjaF9zd2l0Y2gKICMgZGVmaW5lIHByZXBhcmVfYXJjaF9zd2l0Y2gobmV4dCkJZG8geyB9IHdoaWxlICgwKQogI2VuZGlmCkBAIC0xMzEzLDE1ICsxMzAwLDE1IEBACiAJaWYgKCF0c2tfaXNfcG9sbGluZyhycS0+aWRsZSkpCiAJCXNtcF9zZW5kX3Jlc2NoZWR1bGUoY3B1KTsKIH0KLSNlbmRpZgorI2VuZGlmIC8qIENPTkZJR19OT19IWiAqLwogCi0jZWxzZQorI2Vsc2UgLyogIUNPTkZJR19TTVAgKi8KIHN0YXRpYyB2b2lkIF9fcmVzY2hlZF90YXNrKHN0cnVjdCB0YXNrX3N0cnVjdCAqcCwgaW50IHRpZl9iaXQpCiB7CiAJYXNzZXJ0X3NwaW5fbG9ja2VkKCZ0YXNrX3JxKHApLT5sb2NrKTsKIAlzZXRfdHNrX3RocmVhZF9mbGFnKHAsIHRpZl9iaXQpOwogfQotI2VuZGlmCisjZW5kaWYgLyogQ09ORklHX1NNUCAqLwogCiAjaWYgQklUU19QRVJfTE9ORyA9PSAzMgogIyBkZWZpbmUgV01VTFRfQ09OU1QJKH4wVUwpCkBAIC0xMzM2LDYgKzEzMjMsOSBAQAogICovCiAjZGVmaW5lIFNSUih4LCB5KSAoKCh4KSArICgxVUwgPDwgKCh5KSAtIDEpKSkgPj4gKHkpKQogCisvKgorICogZGVsdGEgKj0gd2VpZ2h0IC8gbHcKKyAqLwogc3RhdGljIHVuc2lnbmVkIGxvbmcKIGNhbGNfZGVsdGFfbWluZSh1bnNpZ25lZCBsb25nIGRlbHRhX2V4ZWMsIHVuc2lnbmVkIGxvbmcgd2VpZ2h0LAogCQlzdHJ1Y3QgbG9hZF93ZWlnaHQgKmx3KQpAQCAtMTM2MywxMiArMTM1Myw2IEBACiAJcmV0dXJuICh1bnNpZ25lZCBsb25nKW1pbih0bXAsICh1NjQpKHVuc2lnbmVkIGxvbmcpTE9OR19NQVgpOwogfQogCi1zdGF0aWMgaW5saW5lIHVuc2lnbmVkIGxvbmcKLWNhbGNfZGVsdGFfZmFpcih1bnNpZ25lZCBsb25nIGRlbHRhX2V4ZWMsIHN0cnVjdCBsb2FkX3dlaWdodCAqbHcpCi17Ci0JcmV0dXJuIGNhbGNfZGVsdGFfbWluZShkZWx0YV9leGVjLCBOSUNFXzBfTE9BRCwgbHcpOwotfQotCiBzdGF0aWMgaW5saW5lIHZvaWQgdXBkYXRlX2xvYWRfYWRkKHN0cnVjdCBsb2FkX3dlaWdodCAqbHcsIHVuc2lnbmVkIGxvbmcgaW5jKQogewogCWx3LT53ZWlnaHQgKz0gaW5jOwpAQCAtMTQ3OSwxOCArMTQ2MywyMTIgQEAKICNpZmRlZiBDT05GSUdfU01QCiBzdGF0aWMgdW5zaWduZWQgbG9uZyBzb3VyY2VfbG9hZChpbnQgY3B1LCBpbnQgdHlwZSk7CiBzdGF0aWMgdW5zaWduZWQgbG9uZyB0YXJnZXRfbG9hZChpbnQgY3B1LCBpbnQgdHlwZSk7Ci1zdGF0aWMgdW5zaWduZWQgbG9uZyBjcHVfYXZnX2xvYWRfcGVyX3Rhc2soaW50IGNwdSk7CiBzdGF0aWMgaW50IHRhc2tfaG90KHN0cnVjdCB0YXNrX3N0cnVjdCAqcCwgdTY0IG5vdywgc3RydWN0IHNjaGVkX2RvbWFpbiAqc2QpOwotI2Vsc2UgLyogQ09ORklHX1NNUCAqLworCitzdGF0aWMgdW5zaWduZWQgbG9uZyBjcHVfYXZnX2xvYWRfcGVyX3Rhc2soaW50IGNwdSkKK3sKKwlzdHJ1Y3QgcnEgKnJxID0gY3B1X3JxKGNwdSk7CisKKwlpZiAocnEtPm5yX3J1bm5pbmcpCisJCXJxLT5hdmdfbG9hZF9wZXJfdGFzayA9IHJxLT5sb2FkLndlaWdodCAvIHJxLT5ucl9ydW5uaW5nOworCisJcmV0dXJuIHJxLT5hdmdfbG9hZF9wZXJfdGFzazsKK30KKworI2lmZGVmIENPTkZJR19GQUlSX0dST1VQX1NDSEVECisKK3R5cGVkZWYgdm9pZCAoKnRnX3Zpc2l0b3IpKHN0cnVjdCB0YXNrX2dyb3VwICosIGludCwgc3RydWN0IHNjaGVkX2RvbWFpbiAqKTsKKworLyoKKyAqIEl0ZXJhdGUgdGhlIGZ1bGwgdHJlZSwgY2FsbGluZyBAZG93biB3aGVuIGZpcnN0IGVudGVyaW5nIGEgbm9kZSBhbmQgQHVwIHdoZW4KKyAqIGxlYXZpbmcgaXQgZm9yIHRoZSBmaW5hbCB0aW1lLgorICovCitzdGF0aWMgdm9pZAord2Fsa190Z190cmVlKHRnX3Zpc2l0b3IgZG93biwgdGdfdmlzaXRvciB1cCwgaW50IGNwdSwgc3RydWN0IHNjaGVkX2RvbWFpbiAqc2QpCit7CisJc3RydWN0IHRhc2tfZ3JvdXAgKnBhcmVudCwgKmNoaWxkOworCisJcmN1X3JlYWRfbG9jaygpOworCXBhcmVudCA9ICZyb290X3Rhc2tfZ3JvdXA7Citkb3duOgorCSgqZG93bikocGFyZW50LCBjcHUsIHNkKTsKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5X3JjdShjaGlsZCwgJnBhcmVudC0+Y2hpbGRyZW4sIHNpYmxpbmdzKSB7CisJCXBhcmVudCA9IGNoaWxkOworCQlnb3RvIGRvd247CisKK3VwOgorCQljb250aW51ZTsKKwl9CisJKCp1cCkocGFyZW50LCBjcHUsIHNkKTsKKworCWNoaWxkID0gcGFyZW50OworCXBhcmVudCA9IHBhcmVudC0+cGFyZW50OworCWlmIChwYXJlbnQpCisJCWdvdG8gdXA7CisJcmN1X3JlYWRfdW5sb2NrKCk7Cit9CisKK3N0YXRpYyB2b2lkIF9fc2V0X3NlX3NoYXJlcyhzdHJ1Y3Qgc2NoZWRfZW50aXR5ICpzZSwgdW5zaWduZWQgbG9uZyBzaGFyZXMpOworCisvKgorICogQ2FsY3VsYXRlIGFuZCBzZXQgdGhlIGNwdSdzIGdyb3VwIHNoYXJlcy4KKyAqLworc3RhdGljIHZvaWQKK19fdXBkYXRlX2dyb3VwX3NoYXJlc19jcHUoc3RydWN0IHRhc2tfZ3JvdXAgKnRnLCBpbnQgY3B1LAorCQkJICB1bnNpZ25lZCBsb25nIHNkX3NoYXJlcywgdW5zaWduZWQgbG9uZyBzZF9ycV93ZWlnaHQpCit7CisJaW50IGJvb3N0ID0gMDsKKwl1bnNpZ25lZCBsb25nIHNoYXJlczsKKwl1bnNpZ25lZCBsb25nIHJxX3dlaWdodDsKKworCWlmICghdGctPnNlW2NwdV0pCisJCXJldHVybjsKKworCXJxX3dlaWdodCA9IHRnLT5jZnNfcnFbY3B1XS0+bG9hZC53ZWlnaHQ7CisKKwkvKgorCSAqIElmIHRoZXJlIGFyZSBjdXJyZW50bHkgbm8gdGFza3Mgb24gdGhlIGNwdSBwcmV0ZW5kIHRoZXJlIGlzIG9uZSBvZgorCSAqIGF2ZXJhZ2UgbG9hZCBzbyB0aGF0IHdoZW4gYSBuZXcgdGFzayBnZXRzIHRvIHJ1biBoZXJlIGl0IHdpbGwgbm90CisJICogZ2V0IGRlbGF5ZWQgYnkgZ3JvdXAgc3RhcnZhdGlvbi4KKwkgKi8KKwlpZiAoIXJxX3dlaWdodCkgeworCQlib29zdCA9IDE7CisJCXJxX3dlaWdodCA9IE5JQ0VfMF9MT0FEOworCX0KKworCWlmICh1bmxpa2VseShycV93ZWlnaHQgPiBzZF9ycV93ZWlnaHQpKQorCQlycV93ZWlnaHQgPSBzZF9ycV93ZWlnaHQ7CisKKwkvKgorCSAqICAgICAgICAgICBcU3VtIHNoYXJlcyAqIHJxX3dlaWdodAorCSAqIHNoYXJlcyA9ICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCSAqICAgICAgICAgICAgICAgXFN1bSBycV93ZWlnaHQKKwkgKgorCSAqLworCXNoYXJlcyA9IChzZF9zaGFyZXMgKiBycV93ZWlnaHQpIC8gKHNkX3JxX3dlaWdodCArIDEpOworCisJLyoKKwkgKiByZWNvcmQgdGhlIGFjdHVhbCBudW1iZXIgb2Ygc2hhcmVzLCBub3QgdGhlIGJvb3N0ZWQgYW1vdW50LgorCSAqLworCXRnLT5jZnNfcnFbY3B1XS0+c2hhcmVzID0gYm9vc3QgPyAwIDogc2hhcmVzOworCXRnLT5jZnNfcnFbY3B1XS0+cnFfd2VpZ2h0ID0gcnFfd2VpZ2h0OworCisJaWYgKHNoYXJlcyA8IE1JTl9TSEFSRVMpCisJCXNoYXJlcyA9IE1JTl9TSEFSRVM7CisJZWxzZSBpZiAoc2hhcmVzID4gTUFYX1NIQVJFUykKKwkJc2hhcmVzID0gTUFYX1NIQVJFUzsKKworCV9fc2V0X3NlX3NoYXJlcyh0Zy0+c2VbY3B1XSwgc2hhcmVzKTsKK30KKworLyoKKyAqIFJlLWNvbXB1dGUgdGhlIHRhc2sgZ3JvdXAgdGhlaXIgcGVyIGNwdSBzaGFyZXMgb3ZlciB0aGUgZ2l2ZW4gZG9tYWluLgorICogVGhpcyBuZWVkcyB0byBiZSBkb25lIGluIGEgYm90dG9tLXVwIGZhc2hpb24gYmVjYXVzZSB0aGUgcnEgd2VpZ2h0IG9mIGEKKyAqIHBhcmVudCBncm91cCBkZXBlbmRzIG9uIHRoZSBzaGFyZXMgb2YgaXRzIGNoaWxkIGdyb3Vwcy4KKyAqLworc3RhdGljIHZvaWQKK3RnX3NoYXJlc191cChzdHJ1Y3QgdGFza19ncm91cCAqdGcsIGludCBjcHUsIHN0cnVjdCBzY2hlZF9kb21haW4gKnNkKQoreworCXVuc2lnbmVkIGxvbmcgcnFfd2VpZ2h0ID0gMDsKKwl1bnNpZ25lZCBsb25nIHNoYXJlcyA9IDA7CisJaW50IGk7CisKKwlmb3JfZWFjaF9jcHVfbWFzayhpLCBzZC0+c3BhbikgeworCQlycV93ZWlnaHQgKz0gdGctPmNmc19ycVtpXS0+bG9hZC53ZWlnaHQ7CisJCXNoYXJlcyArPSB0Zy0+Y2ZzX3JxW2ldLT5zaGFyZXM7CisJfQorCisJaWYgKCghc2hhcmVzICYmIHJxX3dlaWdodCkgfHwgc2hhcmVzID4gdGctPnNoYXJlcykKKwkJc2hhcmVzID0gdGctPnNoYXJlczsKKworCWlmICghc2QtPnBhcmVudCB8fCAhKHNkLT5wYXJlbnQtPmZsYWdzICYgU0RfTE9BRF9CQUxBTkNFKSkKKwkJc2hhcmVzID0gdGctPnNoYXJlczsKKworCWlmICghcnFfd2VpZ2h0KQorCQlycV93ZWlnaHQgPSBjcHVzX3dlaWdodChzZC0+c3BhbikgKiBOSUNFXzBfTE9BRDsKKworCWZvcl9lYWNoX2NwdV9tYXNrKGksIHNkLT5zcGFuKSB7CisJCXN0cnVjdCBycSAqcnEgPSBjcHVfcnEoaSk7CisJCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisKKwkJc3Bpbl9sb2NrX2lycXNhdmUoJnJxLT5sb2NrLCBmbGFncyk7CisJCV9fdXBkYXRlX2dyb3VwX3NoYXJlc19jcHUodGcsIGksIHNoYXJlcywgcnFfd2VpZ2h0KTsKKwkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcnEtPmxvY2ssIGZsYWdzKTsKKwl9Cit9CisKKy8qCisgKiBDb21wdXRlIHRoZSBjcHUncyBoaWVyYXJjaGljYWwgbG9hZCBmYWN0b3IgZm9yIGVhY2ggdGFzayBncm91cC4KKyAqIFRoaXMgbmVlZHMgdG8gYmUgZG9uZSBpbiBhIHRvcC1kb3duIGZhc2hpb24gYmVjYXVzZSB0aGUgbG9hZCBvZiBhIGNoaWxkCisgKiBncm91cCBpcyBhIGZyYWN0aW9uIG9mIGl0cyBwYXJlbnRzIGxvYWQuCisgKi8KK3N0YXRpYyB2b2lkCit0Z19sb2FkX2Rvd24oc3RydWN0IHRhc2tfZ3JvdXAgKnRnLCBpbnQgY3B1LCBzdHJ1Y3Qgc2NoZWRfZG9tYWluICpzZCkKK3sKKwl1bnNpZ25lZCBsb25nIGxvYWQ7CisKKwlpZiAoIXRnLT5wYXJlbnQpIHsKKwkJbG9hZCA9IGNwdV9ycShjcHUpLT5sb2FkLndlaWdodDsKKwl9IGVsc2UgeworCQlsb2FkID0gdGctPnBhcmVudC0+Y2ZzX3JxW2NwdV0tPmhfbG9hZDsKKwkJbG9hZCAqPSB0Zy0+Y2ZzX3JxW2NwdV0tPnNoYXJlczsKKwkJbG9hZCAvPSB0Zy0+cGFyZW50LT5jZnNfcnFbY3B1XS0+bG9hZC53ZWlnaHQgKyAxOworCX0KKworCXRnLT5jZnNfcnFbY3B1XS0+aF9sb2FkID0gbG9hZDsKK30KKworc3RhdGljIHZvaWQKK3RnX25vcChzdHJ1Y3QgdGFza19ncm91cCAqdGcsIGludCBjcHUsIHN0cnVjdCBzY2hlZF9kb21haW4gKnNkKQoreworfQorCitzdGF0aWMgdm9pZCB1cGRhdGVfc2hhcmVzKHN0cnVjdCBzY2hlZF9kb21haW4gKnNkKQoreworCXU2NCBub3cgPSBjcHVfY2xvY2socmF3X3NtcF9wcm9jZXNzb3JfaWQoKSk7CisJczY0IGVsYXBzZWQgPSBub3cgLSBzZC0+bGFzdF91cGRhdGU7CisKKwlpZiAoZWxhcHNlZCA+PSAoczY0KSh1NjQpc3lzY3RsX3NjaGVkX3NoYXJlc19yYXRlbGltaXQpIHsKKwkJc2QtPmxhc3RfdXBkYXRlID0gbm93OworCQl3YWxrX3RnX3RyZWUodGdfbm9wLCB0Z19zaGFyZXNfdXAsIDAsIHNkKTsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIHVwZGF0ZV9zaGFyZXNfbG9ja2VkKHN0cnVjdCBycSAqcnEsIHN0cnVjdCBzY2hlZF9kb21haW4gKnNkKQoreworCXNwaW5fdW5sb2NrKCZycS0+bG9jayk7CisJdXBkYXRlX3NoYXJlcyhzZCk7CisJc3Bpbl9sb2NrKCZycS0+bG9jayk7Cit9CisKK3N0YXRpYyB2b2lkIHVwZGF0ZV9oX2xvYWQoaW50IGNwdSkKK3sKKwl3YWxrX3RnX3RyZWUodGdfbG9hZF9kb3duLCB0Z19ub3AsIGNwdSwgTlVMTCk7Cit9CisKKyNlbHNlCisKK3N0YXRpYyBpbmxpbmUgdm9pZCB1cGRhdGVfc2hhcmVzKHN0cnVjdCBzY2hlZF9kb21haW4gKnNkKQoreworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgdXBkYXRlX3NoYXJlc19sb2NrZWQoc3RydWN0IHJxICpycSwgc3RydWN0IHNjaGVkX2RvbWFpbiAqc2QpCit7Cit9CisKKyNlbmRpZgorCisjZW5kaWYKIAogI2lmZGVmIENPTkZJR19GQUlSX0dST1VQX1NDSEVECiBzdGF0aWMgdm9pZCBjZnNfcnFfc2V0X3NoYXJlcyhzdHJ1Y3QgY2ZzX3JxICpjZnNfcnEsIHVuc2lnbmVkIGxvbmcgc2hhcmVzKQogeworI2lmZGVmIENPTkZJR19TTVAKKwljZnNfcnEtPnNoYXJlcyA9IHNoYXJlczsKKyNlbmRpZgogfQogI2VuZGlmCiAKLSNlbmRpZiAvKiBDT05GSUdfU01QICovCi0KICNpbmNsdWRlICJzY2hlZF9zdGF0cy5oIgogI2luY2x1ZGUgInNjaGVkX2lkbGV0YXNrLmMiCiAjaW5jbHVkZSAic2NoZWRfZmFpci5jIgpAQCAtMTUwMCwyNyArMTY3OCwxNyBAQAogI2VuZGlmCiAKICNkZWZpbmUgc2NoZWRfY2xhc3NfaGlnaGVzdCAoJnJ0X3NjaGVkX2NsYXNzKQorI2RlZmluZSBmb3JfZWFjaF9jbGFzcyhjbGFzcykgXAorICAgZm9yIChjbGFzcyA9IHNjaGVkX2NsYXNzX2hpZ2hlc3Q7IGNsYXNzOyBjbGFzcyA9IGNsYXNzLT5uZXh0KQogCi1zdGF0aWMgaW5saW5lIHZvaWQgaW5jX2xvYWQoc3RydWN0IHJxICpycSwgY29uc3Qgc3RydWN0IHRhc2tfc3RydWN0ICpwKQotewotCXVwZGF0ZV9sb2FkX2FkZCgmcnEtPmxvYWQsIHAtPnNlLmxvYWQud2VpZ2h0KTsKLX0KLQotc3RhdGljIGlubGluZSB2b2lkIGRlY19sb2FkKHN0cnVjdCBycSAqcnEsIGNvbnN0IHN0cnVjdCB0YXNrX3N0cnVjdCAqcCkKLXsKLQl1cGRhdGVfbG9hZF9zdWIoJnJxLT5sb2FkLCBwLT5zZS5sb2FkLndlaWdodCk7Ci19Ci0KLXN0YXRpYyB2b2lkIGluY19ucl9ydW5uaW5nKHN0cnVjdCB0YXNrX3N0cnVjdCAqcCwgc3RydWN0IHJxICpycSkKK3N0YXRpYyB2b2lkIGluY19ucl9ydW5uaW5nKHN0cnVjdCBycSAqcnEpCiB7CiAJcnEtPm5yX3J1bm5pbmcrKzsKLQlpbmNfbG9hZChycSwgcCk7CiB9CiAKLXN0YXRpYyB2b2lkIGRlY19ucl9ydW5uaW5nKHN0cnVjdCB0YXNrX3N0cnVjdCAqcCwgc3RydWN0IHJxICpycSkKK3N0YXRpYyB2b2lkIGRlY19ucl9ydW5uaW5nKHN0cnVjdCBycSAqcnEpCiB7CiAJcnEtPm5yX3J1bm5pbmctLTsKLQlkZWNfbG9hZChycSwgcCk7CiB9CiAKIHN0YXRpYyB2b2lkIHNldF9sb2FkX3dlaWdodChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnApCkBAIC0xNTQ0LDYgKzE3MTIsMTIgQEAKIAlwLT5zZS5sb2FkLmludl93ZWlnaHQgPSBwcmlvX3RvX3dtdWx0W3AtPnN0YXRpY19wcmlvIC0gTUFYX1JUX1BSSU9dOwogfQogCitzdGF0aWMgdm9pZCB1cGRhdGVfYXZnKHU2NCAqYXZnLCB1NjQgc2FtcGxlKQoreworCXM2NCBkaWZmID0gc2FtcGxlIC0gKmF2ZzsKKwkqYXZnICs9IGRpZmYgPj4gMzsKK30KKwogc3RhdGljIHZvaWQgZW5xdWV1ZV90YXNrKHN0cnVjdCBycSAqcnEsIHN0cnVjdCB0YXNrX3N0cnVjdCAqcCwgaW50IHdha2V1cCkKIHsKIAlzY2hlZF9pbmZvX3F1ZXVlZChwKTsKQEAgLTE1NTMsNiArMTcyNywxMyBAQAogCiBzdGF0aWMgdm9pZCBkZXF1ZXVlX3Rhc2soc3RydWN0IHJxICpycSwgc3RydWN0IHRhc2tfc3RydWN0ICpwLCBpbnQgc2xlZXApCiB7CisJaWYgKHNsZWVwICYmIHAtPnNlLmxhc3Rfd2FrZXVwKSB7CisJCXVwZGF0ZV9hdmcoJnAtPnNlLmF2Z19vdmVybGFwLAorCQkJICAgcC0+c2Uuc3VtX2V4ZWNfcnVudGltZSAtIHAtPnNlLmxhc3Rfd2FrZXVwKTsKKwkJcC0+c2UubGFzdF93YWtldXAgPSAwOworCX0KKworCXNjaGVkX2luZm9fZGVxdWV1ZWQocCk7CiAJcC0+c2NoZWRfY2xhc3MtPmRlcXVldWVfdGFzayhycSwgcCwgc2xlZXApOwogCXAtPnNlLm9uX3JxID0gMDsKIH0KQEAgLTE2MTIsNyArMTc5Myw3IEBACiAJCXJxLT5ucl91bmludGVycnVwdGlibGUtLTsKIAogCWVucXVldWVfdGFzayhycSwgcCwgd2FrZXVwKTsKLQlpbmNfbnJfcnVubmluZyhwLCBycSk7CisJaW5jX25yX3J1bm5pbmcocnEpOwogfQogCiAvKgpAQCAtMTYyNCw3ICsxODA1LDcgQEAKIAkJcnEtPm5yX3VuaW50ZXJydXB0aWJsZSsrOwogCiAJZGVxdWV1ZV90YXNrKHJxLCBwLCBzbGVlcCk7Ci0JZGVjX25yX3J1bm5pbmcocCwgcnEpOworCWRlY19ucl9ydW5uaW5nKHJxKTsKIH0KIAogLyoqCkBAIC0xNjM2LDEyICsxODE3LDYgQEAKIAlyZXR1cm4gY3B1X2N1cnIodGFza19jcHUocCkpID09IHA7CiB9CiAKLS8qIFVzZWQgaW5zdGVhZCBvZiBzb3VyY2VfbG9hZCB3aGVuIHdlIGtub3cgdGhlIHR5cGUgPT0gMCAqLwotdW5zaWduZWQgbG9uZyB3ZWlnaHRlZF9jcHVsb2FkKGNvbnN0IGludCBjcHUpCi17Ci0JcmV0dXJuIGNwdV9ycShjcHUpLT5sb2FkLndlaWdodDsKLX0KLQogc3RhdGljIGlubGluZSB2b2lkIF9fc2V0X3Rhc2tfY3B1KHN0cnVjdCB0YXNrX3N0cnVjdCAqcCwgdW5zaWduZWQgaW50IGNwdSkKIHsKIAlzZXRfdGFza19ycShwLCBjcHUpOwpAQCAtMTY3MCw2ICsxODQ1LDEyIEBACiAKICNpZmRlZiBDT05GSUdfU01QCiAKKy8qIFVzZWQgaW5zdGVhZCBvZiBzb3VyY2VfbG9hZCB3aGVuIHdlIGtub3cgdGhlIHR5cGUgPT0gMCAqLworc3RhdGljIHVuc2lnbmVkIGxvbmcgd2VpZ2h0ZWRfY3B1bG9hZChjb25zdCBpbnQgY3B1KQoreworCXJldHVybiBjcHVfcnEoY3B1KS0+bG9hZC53ZWlnaHQ7Cit9CisKIC8qCiAgKiBJcyB0aGlzIHRhc2sgbGlrZWx5IGNhY2hlLWhvdDoKICAqLwpAQCAtMTg4MCw3ICsyMDYxLDcgQEAKIAlzdHJ1Y3QgcnEgKnJxID0gY3B1X3JxKGNwdSk7CiAJdW5zaWduZWQgbG9uZyB0b3RhbCA9IHdlaWdodGVkX2NwdWxvYWQoY3B1KTsKIAotCWlmICh0eXBlID09IDApCisJaWYgKHR5cGUgPT0gMCB8fCAhc2NoZWRfZmVhdChMQl9CSUFTKSkKIAkJcmV0dXJuIHRvdGFsOwogCiAJcmV0dXJuIG1pbihycS0+Y3B1X2xvYWRbdHlwZS0xXSwgdG90YWwpOwpAQCAtMTg5NSwyNSArMjA3NiwxMyBAQAogCXN0cnVjdCBycSAqcnEgPSBjcHVfcnEoY3B1KTsKIAl1bnNpZ25lZCBsb25nIHRvdGFsID0gd2VpZ2h0ZWRfY3B1bG9hZChjcHUpOwogCi0JaWYgKHR5cGUgPT0gMCkKKwlpZiAodHlwZSA9PSAwIHx8ICFzY2hlZF9mZWF0KExCX0JJQVMpKQogCQlyZXR1cm4gdG90YWw7CiAKIAlyZXR1cm4gbWF4KHJxLT5jcHVfbG9hZFt0eXBlLTFdLCB0b3RhbCk7CiB9CiAKIC8qCi0gKiBSZXR1cm4gdGhlIGF2ZXJhZ2UgbG9hZCBwZXIgdGFzayBvbiB0aGUgY3B1J3MgcnVuIHF1ZXVlCi0gKi8KLXN0YXRpYyB1bnNpZ25lZCBsb25nIGNwdV9hdmdfbG9hZF9wZXJfdGFzayhpbnQgY3B1KQotewotCXN0cnVjdCBycSAqcnEgPSBjcHVfcnEoY3B1KTsKLQl1bnNpZ25lZCBsb25nIHRvdGFsID0gd2VpZ2h0ZWRfY3B1bG9hZChjcHUpOwotCXVuc2lnbmVkIGxvbmcgbiA9IHJxLT5ucl9ydW5uaW5nOwotCi0JcmV0dXJuIG4gPyB0b3RhbCAvIG4gOiBTQ0hFRF9MT0FEX1NDQUxFOwotfQotCi0vKgogICogZmluZF9pZGxlc3RfZ3JvdXAgZmluZHMgYW5kIHJldHVybnMgdGhlIGxlYXN0IGJ1c3kgQ1BVIGdyb3VwIHdpdGhpbiB0aGUKICAqIGRvbWFpbi4KICAqLwpAQCAtMjAxOSw2ICsyMTg4LDkgQEAKIAkJCXNkID0gdG1wOwogCX0KIAorCWlmIChzZCkKKwkJdXBkYXRlX3NoYXJlcyhzZCk7CisKIAl3aGlsZSAoc2QpIHsKIAkJY3B1bWFza190IHNwYW4sIHRtcG1hc2s7CiAJCXN0cnVjdCBzY2hlZF9ncm91cCAqZ3JvdXA7CkBAIC0yMDg1LDYgKzIyNTcsMjIgQEAKIAlpZiAoIXNjaGVkX2ZlYXQoU1lOQ19XQUtFVVBTKSkKIAkJc3luYyA9IDA7CiAKKyNpZmRlZiBDT05GSUdfU01QCisJaWYgKHNjaGVkX2ZlYXQoTEJfV0FLRVVQX1VQREFURSkpIHsKKwkJc3RydWN0IHNjaGVkX2RvbWFpbiAqc2Q7CisKKwkJdGhpc19jcHUgPSByYXdfc21wX3Byb2Nlc3Nvcl9pZCgpOworCQljcHUgPSB0YXNrX2NwdShwKTsKKworCQlmb3JfZWFjaF9kb21haW4odGhpc19jcHUsIHNkKSB7CisJCQlpZiAoY3B1X2lzc2V0KGNwdSwgc2QtPnNwYW4pKSB7CisJCQkJdXBkYXRlX3NoYXJlcyhzZCk7CisJCQkJYnJlYWs7CisJCQl9CisJCX0KKwl9CisjZW5kaWYKKwogCXNtcF93bWIoKTsKIAlycSA9IHRhc2tfcnFfbG9jayhwLCAmZmxhZ3MpOwogCW9sZF9zdGF0ZSA9IHAtPnN0YXRlOwpAQCAtMjEzMSw3ICsyMzE5LDcgQEAKIAkJCX0KIAkJfQogCX0KLSNlbmRpZgorI2VuZGlmIC8qIENPTkZJR19TQ0hFRFNUQVRTICovCiAKIG91dF9hY3RpdmF0ZToKICNlbmRpZiAvKiBDT05GSUdfU01QICovCkBAIC0yMTQ5LDYgKzIzMzcsOSBAQAogCXN1Y2Nlc3MgPSAxOwogCiBvdXRfcnVubmluZzoKKwl0cmFjZV9tYXJrKGtlcm5lbF9zY2hlZF93YWtldXAsCisJCSJwaWQgJWQgc3RhdGUgJWxkICMjIHJxICVwIHRhc2sgJXAgcnEtPmN1cnIgJXAiLAorCQlwLT5waWQsIHAtPnN0YXRlLCBycSwgcCwgcnEtPmN1cnIpOwogCWNoZWNrX3ByZWVtcHRfY3VycihycSwgcCk7CiAKIAlwLT5zdGF0ZSA9IFRBU0tfUlVOTklORzsKQEAgLTIxNTcsNiArMjM0OCw4IEBACiAJCXAtPnNjaGVkX2NsYXNzLT50YXNrX3dha2VfdXAocnEsIHApOwogI2VuZGlmCiBvdXQ6CisJY3VycmVudC0+c2UubGFzdF93YWtldXAgPSBjdXJyZW50LT5zZS5zdW1fZXhlY19ydW50aW1lOworCiAJdGFza19ycV91bmxvY2socnEsICZmbGFncyk7CiAKIAlyZXR1cm4gc3VjY2VzczsKQEAgLTIyNzcsOCArMjQ3MCwxMSBAQAogCQkgKiBtYW5hZ2VtZW50IChpZiBhbnkpOgogCQkgKi8KIAkJcC0+c2NoZWRfY2xhc3MtPnRhc2tfbmV3KHJxLCBwKTsKLQkJaW5jX25yX3J1bm5pbmcocCwgcnEpOworCQlpbmNfbnJfcnVubmluZyhycSk7CiAJfQorCXRyYWNlX21hcmsoa2VybmVsX3NjaGVkX3dha2V1cF9uZXcsCisJCSJwaWQgJWQgc3RhdGUgJWxkICMjIHJxICVwIHRhc2sgJXAgcnEtPmN1cnIgJXAiLAorCQlwLT5waWQsIHAtPnN0YXRlLCBycSwgcCwgcnEtPmN1cnIpOwogCWNoZWNrX3ByZWVtcHRfY3VycihycSwgcCk7CiAjaWZkZWYgQ09ORklHX1NNUAogCWlmIChwLT5zY2hlZF9jbGFzcy0+dGFza193YWtlX3VwKQpAQCAtMjMzMSw3ICsyNTI3LDcgQEAKIAkJbm90aWZpZXItPm9wcy0+c2NoZWRfb3V0KG5vdGlmaWVyLCBuZXh0KTsKIH0KIAotI2Vsc2UKKyNlbHNlIC8qICFDT05GSUdfUFJFRU1QVF9OT1RJRklFUlMgKi8KIAogc3RhdGljIHZvaWQgZmlyZV9zY2hlZF9pbl9wcmVlbXB0X25vdGlmaWVycyhzdHJ1Y3QgdGFza19zdHJ1Y3QgKmN1cnIpCiB7CkBAIC0yMzQzLDcgKzI1MzksNyBAQAogewogfQogCi0jZW5kaWYKKyNlbmRpZiAvKiBDT05GSUdfUFJFRU1QVF9OT1RJRklFUlMgKi8KIAogLyoqCiAgKiBwcmVwYXJlX3Rhc2tfc3dpdGNoIC0gcHJlcGFyZSB0byBzd2l0Y2ggdGFza3MKQEAgLTI0NTEsNiArMjY0NywxMSBAQAogCXN0cnVjdCBtbV9zdHJ1Y3QgKm1tLCAqb2xkbW07CiAKIAlwcmVwYXJlX3Rhc2tfc3dpdGNoKHJxLCBwcmV2LCBuZXh0KTsKKwl0cmFjZV9tYXJrKGtlcm5lbF9zY2hlZF9zY2hlZHVsZSwKKwkJInByZXZfcGlkICVkIG5leHRfcGlkICVkIHByZXZfc3RhdGUgJWxkICIKKwkJIiMjIHJxICVwIHByZXYgJXAgbmV4dCAlcCIsCisJCXByZXYtPnBpZCwgbmV4dC0+cGlkLCBwcmV2LT5zdGF0ZSwKKwkJcnEsIHByZXYsIG5leHQpOwogCW1tID0gbmV4dC0+bW07CiAJb2xkbW0gPSBwcmV2LT5hY3RpdmVfbW07CiAJLyoKQEAgLTI3ODUsNyArMjk4Niw3IEBACiAJICAgICAgZW51bSBjcHVfaWRsZV90eXBlIGlkbGUsIGludCAqYWxsX3Bpbm5lZCwKIAkgICAgICBpbnQgKnRoaXNfYmVzdF9wcmlvLCBzdHJ1Y3QgcnFfaXRlcmF0b3IgKml0ZXJhdG9yKQogewotCWludCBsb29wcyA9IDAsIHB1bGxlZCA9IDAsIHBpbm5lZCA9IDAsIHNraXBfZm9yX2xvYWQ7CisJaW50IGxvb3BzID0gMCwgcHVsbGVkID0gMCwgcGlubmVkID0gMDsKIAlzdHJ1Y3QgdGFza19zdHJ1Y3QgKnA7CiAJbG9uZyByZW1fbG9hZF9tb3ZlID0gbWF4X2xvYWRfbW92ZTsKIApAQCAtMjgwMSwxNCArMzAwMiw4IEBACiBuZXh0OgogCWlmICghcCB8fCBsb29wcysrID4gc3lzY3RsX3NjaGVkX25yX21pZ3JhdGUpCiAJCWdvdG8gb3V0OwotCS8qCi0JICogVG8gaGVscCBkaXN0cmlidXRlIGhpZ2ggcHJpb3JpdHkgdGFza3MgYWNyb3NzIENQVXMgd2UgZG9uJ3QKLQkgKiBza2lwIGEgdGFzayBpZiBpdCB3aWxsIGJlIHRoZSBoaWdoZXN0IHByaW9yaXR5IHRhc2sgKGkuZS4gc21hbGxlc3QKLQkgKiBwcmlvIHZhbHVlKSBvbiBpdHMgbmV3IHF1ZXVlIHJlZ2FyZGxlc3Mgb2YgaXRzIGxvYWQgd2VpZ2h0Ci0JICovCi0Jc2tpcF9mb3JfbG9hZCA9IChwLT5zZS5sb2FkLndlaWdodCA+PiAxKSA+IHJlbV9sb2FkX21vdmUgKwotCQkJCQkJCSBTQ0hFRF9MT0FEX1NDQUxFX0ZVWlo7Ci0JaWYgKChza2lwX2Zvcl9sb2FkICYmIHAtPnByaW8gPj0gKnRoaXNfYmVzdF9wcmlvKSB8fAorCisJaWYgKChwLT5zZS5sb2FkLndlaWdodCA+PiAxKSA+IHJlbV9sb2FkX21vdmUgfHwKIAkgICAgIWNhbl9taWdyYXRlX3Rhc2socCwgYnVzaWVzdCwgdGhpc19jcHUsIHNkLCBpZGxlLCAmcGlubmVkKSkgewogCQlwID0gaXRlcmF0b3ItPm5leHQoaXRlcmF0b3ItPmFyZyk7CiAJCWdvdG8gbmV4dDsKQEAgLTI4NjMsNiArMzA1OCwxMCBAQAogCQkJCW1heF9sb2FkX21vdmUgLSB0b3RhbF9sb2FkX21vdmVkLAogCQkJCXNkLCBpZGxlLCBhbGxfcGlubmVkLCAmdGhpc19iZXN0X3ByaW8pOwogCQljbGFzcyA9IGNsYXNzLT5uZXh0OworCisJCWlmIChpZGxlID09IENQVV9ORVdMWV9JRExFICYmIHRoaXNfcnEtPm5yX3J1bm5pbmcpCisJCQlicmVhazsKKwogCX0gd2hpbGUgKGNsYXNzICYmIG1heF9sb2FkX21vdmUgPiB0b3RhbF9sb2FkX21vdmVkKTsKIAogCXJldHVybiB0b3RhbF9sb2FkX21vdmVkID4gMDsKQEAgLTI5MzksNiArMzEzOCw3IEBACiAJbWF4X2xvYWQgPSB0aGlzX2xvYWQgPSB0b3RhbF9sb2FkID0gdG90YWxfcHdyID0gMDsKIAlidXNpZXN0X2xvYWRfcGVyX3Rhc2sgPSBidXNpZXN0X25yX3J1bm5pbmcgPSAwOwogCXRoaXNfbG9hZF9wZXJfdGFzayA9IHRoaXNfbnJfcnVubmluZyA9IDA7CisKIAlpZiAoaWRsZSA9PSBDUFVfTk9UX0lETEUpCiAJCWxvYWRfaWR4ID0gc2QtPmJ1c3lfaWR4OwogCWVsc2UgaWYgKGlkbGUgPT0gQ1BVX05FV0xZX0lETEUpCkBAIC0yOTUzLDYgKzMxNTMsOCBAQAogCQlpbnQgX19ncm91cF9pbWIgPSAwOwogCQl1bnNpZ25lZCBpbnQgYmFsYW5jZV9jcHUgPSAtMSwgZmlyc3RfaWRsZV9jcHUgPSAwOwogCQl1bnNpZ25lZCBsb25nIHN1bV9ucl9ydW5uaW5nLCBzdW1fd2VpZ2h0ZWRfbG9hZDsKKwkJdW5zaWduZWQgbG9uZyBzdW1fYXZnX2xvYWRfcGVyX3Rhc2s7CisJCXVuc2lnbmVkIGxvbmcgYXZnX2xvYWRfcGVyX3Rhc2s7CiAKIAkJbG9jYWxfZ3JvdXAgPSBjcHVfaXNzZXQodGhpc19jcHUsIGdyb3VwLT5jcHVtYXNrKTsKIApAQCAtMjk2MSw2ICszMTYzLDggQEAKIAogCQkvKiBUYWxseSB1cCB0aGUgbG9hZCBvZiBhbGwgQ1BVcyBpbiB0aGUgZ3JvdXAgKi8KIAkJc3VtX3dlaWdodGVkX2xvYWQgPSBzdW1fbnJfcnVubmluZyA9IGF2Z19sb2FkID0gMDsKKwkJc3VtX2F2Z19sb2FkX3Blcl90YXNrID0gYXZnX2xvYWRfcGVyX3Rhc2sgPSAwOworCiAJCW1heF9jcHVfbG9hZCA9IDA7CiAJCW1pbl9jcHVfbG9hZCA9IH4wVUw7CiAKQEAgLTI5OTQsNiArMzE5OCw4IEBACiAJCQlhdmdfbG9hZCArPSBsb2FkOwogCQkJc3VtX25yX3J1bm5pbmcgKz0gcnEtPm5yX3J1bm5pbmc7CiAJCQlzdW1fd2VpZ2h0ZWRfbG9hZCArPSB3ZWlnaHRlZF9jcHVsb2FkKGkpOworCisJCQlzdW1fYXZnX2xvYWRfcGVyX3Rhc2sgKz0gY3B1X2F2Z19sb2FkX3Blcl90YXNrKGkpOwogCQl9CiAKIAkJLyoKQEAgLTMwMTUsNyArMzIyMSwyMCBAQAogCQlhdmdfbG9hZCA9IHNnX2Rpdl9jcHVfcG93ZXIoZ3JvdXAsCiAJCQkJYXZnX2xvYWQgKiBTQ0hFRF9MT0FEX1NDQUxFKTsKIAotCQlpZiAoKG1heF9jcHVfbG9hZCAtIG1pbl9jcHVfbG9hZCkgPiBTQ0hFRF9MT0FEX1NDQUxFKQorCisJCS8qCisJCSAqIENvbnNpZGVyIHRoZSBncm91cCB1bmJhbGFuY2VkIHdoZW4gdGhlIGltYmFsYW5jZSBpcyBsYXJnZXIKKwkJICogdGhhbiB0aGUgYXZlcmFnZSB3ZWlnaHQgb2YgdHdvIHRhc2tzLgorCQkgKgorCQkgKiBBUFo6IHdpdGggY2dyb3VwIHRoZSBhdmcgdGFzayB3ZWlnaHQgY2FuIHZhcnkgd2lsZGx5IGFuZAorCQkgKiAgICAgIG1pZ2h0IG5vdCBiZSBhIHN1aXRhYmxlIG51bWJlciAtIHNob3VsZCB3ZSBrZWVwIGEKKwkJICogICAgICBub3JtYWxpemVkIG5yX3J1bm5pbmcgbnVtYmVyIHNvbWV3aGVyZSB0aGF0IG5lZ2F0ZXMKKwkJICogICAgICB0aGUgaGllcmFyY2h5PworCQkgKi8KKwkJYXZnX2xvYWRfcGVyX3Rhc2sgPSBzZ19kaXZfY3B1X3Bvd2VyKGdyb3VwLAorCQkJCXN1bV9hdmdfbG9hZF9wZXJfdGFzayAqIFNDSEVEX0xPQURfU0NBTEUpOworCisJCWlmICgobWF4X2NwdV9sb2FkIC0gbWluX2NwdV9sb2FkKSA+IDIqYXZnX2xvYWRfcGVyX3Rhc2spCiAJCQlfX2dyb3VwX2ltYiA9IDE7CiAKIAkJZ3JvdXBfY2FwYWNpdHkgPSBncm91cC0+X19jcHVfcG93ZXIgLyBTQ0hFRF9MT0FEX1NDQUxFOwpAQCAtMzE1Niw5ICszMzc1LDkgQEAKIAkJCWlmIChidXNpZXN0X2xvYWRfcGVyX3Rhc2sgPiB0aGlzX2xvYWRfcGVyX3Rhc2spCiAJCQkJaW1ibiA9IDE7CiAJCX0gZWxzZQotCQkJdGhpc19sb2FkX3Blcl90YXNrID0gU0NIRURfTE9BRF9TQ0FMRTsKKwkJCXRoaXNfbG9hZF9wZXJfdGFzayA9IGNwdV9hdmdfbG9hZF9wZXJfdGFzayh0aGlzX2NwdSk7CiAKLQkJaWYgKG1heF9sb2FkIC0gdGhpc19sb2FkICsgU0NIRURfTE9BRF9TQ0FMRV9GVVpaID49CisJCWlmIChtYXhfbG9hZCAtIHRoaXNfbG9hZCArIDIqYnVzaWVzdF9sb2FkX3Blcl90YXNrID49CiAJCQkJCWJ1c2llc3RfbG9hZF9wZXJfdGFzayAqIGltYm4pIHsKIAkJCSppbWJhbGFuY2UgPSBidXNpZXN0X2xvYWRfcGVyX3Rhc2s7CiAJCQlyZXR1cm4gYnVzaWVzdDsKQEAgLTMyODQsNiArMzUwMyw3IEBACiAJc2NoZWRzdGF0X2luYyhzZCwgbGJfY291bnRbaWRsZV0pOwogCiByZWRvOgorCXVwZGF0ZV9zaGFyZXMoc2QpOwogCWdyb3VwID0gZmluZF9idXNpZXN0X2dyb3VwKHNkLCB0aGlzX2NwdSwgJmltYmFsYW5jZSwgaWRsZSwgJnNkX2lkbGUsCiAJCQkJICAgY3B1cywgYmFsYW5jZSk7CiAKQEAgLTMzODYsOCArMzYwNiw5IEBACiAKIAlpZiAoIWxkX21vdmVkICYmICFzZF9pZGxlICYmIHNkLT5mbGFncyAmIFNEX1NIQVJFX0NQVVBPV0VSICYmCiAJICAgICF0ZXN0X3NkX3BhcmVudChzZCwgU0RfUE9XRVJTQVZJTkdTX0JBTEFOQ0UpKQotCQlyZXR1cm4gLTE7Ci0JcmV0dXJuIGxkX21vdmVkOworCQlsZF9tb3ZlZCA9IC0xOworCisJZ290byBvdXQ7CiAKIG91dF9iYWxhbmNlZDoKIAlzY2hlZHN0YXRfaW5jKHNkLCBsYl9iYWxhbmNlZFtpZGxlXSk7CkBAIC0zNDAyLDggKzM2MjMsMTMgQEAKIAogCWlmICghc2RfaWRsZSAmJiBzZC0+ZmxhZ3MgJiBTRF9TSEFSRV9DUFVQT1dFUiAmJgogCSAgICAhdGVzdF9zZF9wYXJlbnQoc2QsIFNEX1BPV0VSU0FWSU5HU19CQUxBTkNFKSkKLQkJcmV0dXJuIC0xOwotCXJldHVybiAwOworCQlsZF9tb3ZlZCA9IC0xOworCWVsc2UKKwkJbGRfbW92ZWQgPSAwOworb3V0OgorCWlmIChsZF9tb3ZlZCkKKwkJdXBkYXRlX3NoYXJlcyhzZCk7CisJcmV0dXJuIGxkX21vdmVkOwogfQogCiAvKgpAQCAtMzQzOCw2ICszNjY0LDcgQEAKIAogCXNjaGVkc3RhdF9pbmMoc2QsIGxiX2NvdW50W0NQVV9ORVdMWV9JRExFXSk7CiByZWRvOgorCXVwZGF0ZV9zaGFyZXNfbG9ja2VkKHRoaXNfcnEsIHNkKTsKIAlncm91cCA9IGZpbmRfYnVzaWVzdF9ncm91cChzZCwgdGhpc19jcHUsICZpbWJhbGFuY2UsIENQVV9ORVdMWV9JRExFLAogCQkJCSAgICZzZF9pZGxlLCBjcHVzLCBOVUxMKTsKIAlpZiAoIWdyb3VwKSB7CkBAIC0zNDgxLDYgKzM3MDgsNyBAQAogCX0gZWxzZQogCQlzZC0+bnJfYmFsYW5jZV9mYWlsZWQgPSAwOwogCisJdXBkYXRlX3NoYXJlc19sb2NrZWQodGhpc19ycSwgc2QpOwogCXJldHVybiBsZF9tb3ZlZDsKIAogb3V0X2JhbGFuY2VkOgpAQCAtMzY3Miw2ICszOTAwLDcgQEAKIAkvKiBFYXJsaWVzdCB0aW1lIHdoZW4gd2UgaGF2ZSB0byBkbyByZWJhbGFuY2UgYWdhaW4gKi8KIAl1bnNpZ25lZCBsb25nIG5leHRfYmFsYW5jZSA9IGppZmZpZXMgKyA2MCpIWjsKIAlpbnQgdXBkYXRlX25leHRfYmFsYW5jZSA9IDA7CisJaW50IG5lZWRfc2VyaWFsaXplOwogCWNwdW1hc2tfdCB0bXA7CiAKIAlmb3JfZWFjaF9kb21haW4oY3B1LCBzZCkgewpAQCAtMzY4OSw4ICszOTE4LDkgQEAKIAkJaWYgKGludGVydmFsID4gSFoqTlJfQ1BVUy8xMCkKIAkJCWludGVydmFsID0gSFoqTlJfQ1BVUy8xMDsKIAorCQluZWVkX3NlcmlhbGl6ZSA9IHNkLT5mbGFncyAmIFNEX1NFUklBTElaRTsKIAotCQlpZiAoc2QtPmZsYWdzICYgU0RfU0VSSUFMSVpFKSB7CisJCWlmIChuZWVkX3NlcmlhbGl6ZSkgewogCQkJaWYgKCFzcGluX3RyeWxvY2soJmJhbGFuY2luZykpCiAJCQkJZ290byBvdXQ7CiAJCX0KQEAgLTM3MDYsNyArMzkzNiw3IEBACiAJCQl9CiAJCQlzZC0+bGFzdF9iYWxhbmNlID0gamlmZmllczsKIAkJfQotCQlpZiAoc2QtPmZsYWdzICYgU0RfU0VSSUFMSVpFKQorCQlpZiAobmVlZF9zZXJpYWxpemUpCiAJCQlzcGluX3VubG9jaygmYmFsYW5jaW5nKTsKIG91dDoKIAkJaWYgKHRpbWVfYWZ0ZXIobmV4dF9iYWxhbmNlLCBzZC0+bGFzdF9iYWxhbmNlICsgaW50ZXJ2YWwpKSB7CkBAIC00MDIxLDI2ICs0MjUxLDQ0IEBACiAjZW5kaWYKIH0KIAotI2lmIGRlZmluZWQoQ09ORklHX1BSRUVNUFQpICYmIGRlZmluZWQoQ09ORklHX0RFQlVHX1BSRUVNUFQpCisjaWYgZGVmaW5lZChDT05GSUdfUFJFRU1QVCkgJiYgKGRlZmluZWQoQ09ORklHX0RFQlVHX1BSRUVNUFQpIHx8IFwKKwkJCQlkZWZpbmVkKENPTkZJR19QUkVFTVBUX1RSQUNFUikpCisKK3N0YXRpYyBpbmxpbmUgdW5zaWduZWQgbG9uZyBnZXRfcGFyZW50X2lwKHVuc2lnbmVkIGxvbmcgYWRkcikKK3sKKwlpZiAoaW5fbG9ja19mdW5jdGlvbnMoYWRkcikpIHsKKwkJYWRkciA9IENBTExFUl9BRERSMjsKKwkJaWYgKGluX2xvY2tfZnVuY3Rpb25zKGFkZHIpKQorCQkJYWRkciA9IENBTExFUl9BRERSMzsKKwl9CisJcmV0dXJuIGFkZHI7Cit9CiAKIHZvaWQgX19rcHJvYmVzIGFkZF9wcmVlbXB0X2NvdW50KGludCB2YWwpCiB7CisjaWZkZWYgQ09ORklHX0RFQlVHX1BSRUVNUFQKIAkvKgogCSAqIFVuZGVyZmxvdz8KIAkgKi8KIAlpZiAoREVCVUdfTE9DS1NfV0FSTl9PTigocHJlZW1wdF9jb3VudCgpIDwgMCkpKQogCQlyZXR1cm47CisjZW5kaWYKIAlwcmVlbXB0X2NvdW50KCkgKz0gdmFsOworI2lmZGVmIENPTkZJR19ERUJVR19QUkVFTVBUCiAJLyoKIAkgKiBTcGlubG9jayBjb3VudCBvdmVyZmxvd2luZyBzb29uPwogCSAqLwogCURFQlVHX0xPQ0tTX1dBUk5fT04oKHByZWVtcHRfY291bnQoKSAmIFBSRUVNUFRfTUFTSykgPj0KIAkJCQlQUkVFTVBUX01BU0sgLSAxMCk7CisjZW5kaWYKKwlpZiAocHJlZW1wdF9jb3VudCgpID09IHZhbCkKKwkJdHJhY2VfcHJlZW1wdF9vZmYoQ0FMTEVSX0FERFIwLCBnZXRfcGFyZW50X2lwKENBTExFUl9BRERSMSkpOwogfQogRVhQT1JUX1NZTUJPTChhZGRfcHJlZW1wdF9jb3VudCk7CiAKIHZvaWQgX19rcHJvYmVzIHN1Yl9wcmVlbXB0X2NvdW50KGludCB2YWwpCiB7CisjaWZkZWYgQ09ORklHX0RFQlVHX1BSRUVNUFQKIAkvKgogCSAqIFVuZGVyZmxvdz8KIAkgKi8KQEAgLTQwNTIsNyArNDMwMCwxMCBAQAogCWlmIChERUJVR19MT0NLU19XQVJOX09OKCh2YWwgPCBQUkVFTVBUX01BU0spICYmCiAJCQkhKHByZWVtcHRfY291bnQoKSAmIFBSRUVNUFRfTUFTSykpKQogCQlyZXR1cm47CisjZW5kaWYKIAorCWlmIChwcmVlbXB0X2NvdW50KCkgPT0gdmFsKQorCQl0cmFjZV9wcmVlbXB0X29uKENBTExFUl9BRERSMCwgZ2V0X3BhcmVudF9pcChDQUxMRVJfQUREUjEpKTsKIAlwcmVlbXB0X2NvdW50KCkgLT0gdmFsOwogfQogRVhQT1JUX1NZTUJPTChzdWJfcHJlZW1wdF9jb3VudCk7CkBAIC00MDcwLDYgKzQzMjEsNyBAQAogCQlwcmV2LT5jb21tLCBwcmV2LT5waWQsIHByZWVtcHRfY291bnQoKSk7CiAKIAlkZWJ1Z19zaG93X2hlbGRfbG9ja3MocHJldik7CisJcHJpbnRfbW9kdWxlcygpOwogCWlmIChpcnFzX2Rpc2FibGVkKCkpCiAJCXByaW50X2lycXRyYWNlX2V2ZW50cyhwcmV2KTsKIApAQCAtNDE0Myw3ICs0Mzk1LDcgQEAKIAlzdHJ1Y3QgdGFza19zdHJ1Y3QgKnByZXYsICpuZXh0OwogCXVuc2lnbmVkIGxvbmcgKnN3aXRjaF9jb3VudDsKIAlzdHJ1Y3QgcnEgKnJxOwotCWludCBjcHU7CisJaW50IGNwdSwgaHJ0aWNrID0gc2NoZWRfZmVhdChIUlRJQ0spOwogCiBuZWVkX3Jlc2NoZWQ6CiAJcHJlZW1wdF9kaXNhYmxlKCk7CkBAIC00MTU4LDcgKzQ0MTAsOCBAQAogCiAJc2NoZWR1bGVfZGVidWcocHJldik7CiAKLQlocnRpY2tfY2xlYXIocnEpOworCWlmIChocnRpY2spCisJCWhydGlja19jbGVhcihycSk7CiAKIAkvKgogCSAqIERvIHRoZSBycS1jbG9jayB1cGRhdGUgb3V0c2lkZSB0aGUgcnEgbG9jazoKQEAgLTQyMDQsNyArNDQ1Nyw4IEBACiAJfSBlbHNlCiAJCXNwaW5fdW5sb2NrX2lycSgmcnEtPmxvY2spOwogCi0JaHJ0aWNrX3NldChycSk7CisJaWYgKGhydGljaykKKwkJaHJ0aWNrX3NldChycSk7CiAKIAlpZiAodW5saWtlbHkocmVhY3F1aXJlX2tlcm5lbF9sb2NrKGN1cnJlbnQpIDwgMCkpCiAJCWdvdG8gbmVlZF9yZXNjaGVkX25vbnByZWVtcHRpYmxlOwpAQCAtNDU4NiwxMCArNDg0MCw4IEBACiAJCWdvdG8gb3V0X3VubG9jazsKIAl9CiAJb25fcnEgPSBwLT5zZS5vbl9ycTsKLQlpZiAob25fcnEpIHsKKwlpZiAob25fcnEpCiAJCWRlcXVldWVfdGFzayhycSwgcCwgMCk7Ci0JCWRlY19sb2FkKHJxLCBwKTsKLQl9CiAKIAlwLT5zdGF0aWNfcHJpbyA9IE5JQ0VfVE9fUFJJTyhuaWNlKTsKIAlzZXRfbG9hZF93ZWlnaHQocCk7CkBAIC00NTk5LDcgKzQ4NTEsNiBAQAogCiAJaWYgKG9uX3JxKSB7CiAJCWVucXVldWVfdGFzayhycSwgcCwgMCk7Ci0JCWluY19sb2FkKHJxLCBwKTsKIAkJLyoKIAkJICogSWYgdGhlIHRhc2sgaW5jcmVhc2VkIGl0cyBwcmlvcml0eSBvciBpcyBydW5uaW5nIGFuZAogCQkgKiBsb3dlcmVkIGl0cyBwcmlvcml0eSwgdGhlbiByZXNjaGVkdWxlIGl0cyBDUFU6CkBAIC00NzQ0LDE2ICs0OTk1LDggQEAKIAlzZXRfbG9hZF93ZWlnaHQocCk7CiB9CiAKLS8qKgotICogc2NoZWRfc2V0c2NoZWR1bGVyIC0gY2hhbmdlIHRoZSBzY2hlZHVsaW5nIHBvbGljeSBhbmQvb3IgUlQgcHJpb3JpdHkgb2YgYSB0aHJlYWQuCi0gKiBAcDogdGhlIHRhc2sgaW4gcXVlc3Rpb24uCi0gKiBAcG9saWN5OiBuZXcgcG9saWN5LgotICogQHBhcmFtOiBzdHJ1Y3R1cmUgY29udGFpbmluZyB0aGUgbmV3IFJUIHByaW9yaXR5LgotICoKLSAqIE5PVEUgdGhhdCB0aGUgdGFzayBtYXkgYmUgYWxyZWFkeSBkZWFkLgotICovCi1pbnQgc2NoZWRfc2V0c2NoZWR1bGVyKHN0cnVjdCB0YXNrX3N0cnVjdCAqcCwgaW50IHBvbGljeSwKLQkJICAgICAgIHN0cnVjdCBzY2hlZF9wYXJhbSAqcGFyYW0pCitzdGF0aWMgaW50IF9fc2NoZWRfc2V0c2NoZWR1bGVyKHN0cnVjdCB0YXNrX3N0cnVjdCAqcCwgaW50IHBvbGljeSwKKwkJCQlzdHJ1Y3Qgc2NoZWRfcGFyYW0gKnBhcmFtLCBib29sIHVzZXIpCiB7CiAJaW50IHJldHZhbCwgb2xkcHJpbywgb2xkcG9saWN5ID0gLTEsIG9uX3JxLCBydW5uaW5nOwogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CkBAIC00Nzg1LDcgKzUwMjgsNyBAQAogCS8qCiAJICogQWxsb3cgdW5wcml2aWxlZ2VkIFJUIHRhc2tzIHRvIGRlY3JlYXNlIHByaW9yaXR5OgogCSAqLwotCWlmICghY2FwYWJsZShDQVBfU1lTX05JQ0UpKSB7CisJaWYgKHVzZXIgJiYgIWNhcGFibGUoQ0FQX1NZU19OSUNFKSkgewogCQlpZiAocnRfcG9saWN5KHBvbGljeSkpIHsKIAkJCXVuc2lnbmVkIGxvbmcgcmxpbV9ydHByaW87CiAKQEAgLTQ4MjEsNyArNTA2NCw4IEBACiAJICogRG8gbm90IGFsbG93IHJlYWx0aW1lIHRhc2tzIGludG8gZ3JvdXBzIHRoYXQgaGF2ZSBubyBydW50aW1lCiAJICogYXNzaWduZWQuCiAJICovCi0JaWYgKHJ0X3BvbGljeShwb2xpY3kpICYmIHRhc2tfZ3JvdXAocCktPnJ0X2JhbmR3aWR0aC5ydF9ydW50aW1lID09IDApCisJaWYgKHVzZXIKKwkgICAgJiYgcnRfcG9saWN5KHBvbGljeSkgJiYgdGFza19ncm91cChwKS0+cnRfYmFuZHdpZHRoLnJ0X3J1bnRpbWUgPT0gMCkKIAkJcmV0dXJuIC1FUEVSTTsKICNlbmRpZgogCkBAIC00ODcwLDggKzUxMTQsMzkgQEAKIAogCXJldHVybiAwOwogfQorCisvKioKKyAqIHNjaGVkX3NldHNjaGVkdWxlciAtIGNoYW5nZSB0aGUgc2NoZWR1bGluZyBwb2xpY3kgYW5kL29yIFJUIHByaW9yaXR5IG9mIGEgdGhyZWFkLgorICogQHA6IHRoZSB0YXNrIGluIHF1ZXN0aW9uLgorICogQHBvbGljeTogbmV3IHBvbGljeS4KKyAqIEBwYXJhbTogc3RydWN0dXJlIGNvbnRhaW5pbmcgdGhlIG5ldyBSVCBwcmlvcml0eS4KKyAqCisgKiBOT1RFIHRoYXQgdGhlIHRhc2sgbWF5IGJlIGFscmVhZHkgZGVhZC4KKyAqLworaW50IHNjaGVkX3NldHNjaGVkdWxlcihzdHJ1Y3QgdGFza19zdHJ1Y3QgKnAsIGludCBwb2xpY3ksCisJCSAgICAgICBzdHJ1Y3Qgc2NoZWRfcGFyYW0gKnBhcmFtKQoreworCXJldHVybiBfX3NjaGVkX3NldHNjaGVkdWxlcihwLCBwb2xpY3ksIHBhcmFtLCB0cnVlKTsKK30KIEVYUE9SVF9TWU1CT0xfR1BMKHNjaGVkX3NldHNjaGVkdWxlcik7CiAKKy8qKgorICogc2NoZWRfc2V0c2NoZWR1bGVyX25vY2hlY2sgLSBjaGFuZ2UgdGhlIHNjaGVkdWxpbmcgcG9saWN5IGFuZC9vciBSVCBwcmlvcml0eSBvZiBhIHRocmVhZCBmcm9tIGtlcm5lbHNwYWNlLgorICogQHA6IHRoZSB0YXNrIGluIHF1ZXN0aW9uLgorICogQHBvbGljeTogbmV3IHBvbGljeS4KKyAqIEBwYXJhbTogc3RydWN0dXJlIGNvbnRhaW5pbmcgdGhlIG5ldyBSVCBwcmlvcml0eS4KKyAqCisgKiBKdXN0IGxpa2Ugc2NoZWRfc2V0c2NoZWR1bGVyLCBvbmx5IGRvbid0IGJvdGhlciBjaGVja2luZyBpZiB0aGUKKyAqIGN1cnJlbnQgY29udGV4dCBoYXMgcGVybWlzc2lvbi4gIEZvciBleGFtcGxlLCB0aGlzIGlzIG5lZWRlZCBpbgorICogc3RvcF9tYWNoaW5lKCk6IHdlIGNyZWF0ZSB0ZW1wb3JhcnkgaGlnaCBwcmlvcml0eSB3b3JrZXIgdGhyZWFkcywKKyAqIGJ1dCBvdXIgY2FsbGVyIG1pZ2h0IG5vdCBoYXZlIHRoYXQgY2FwYWJpbGl0eS4KKyAqLworaW50IHNjaGVkX3NldHNjaGVkdWxlcl9ub2NoZWNrKHN0cnVjdCB0YXNrX3N0cnVjdCAqcCwgaW50IHBvbGljeSwKKwkJCSAgICAgICBzdHJ1Y3Qgc2NoZWRfcGFyYW0gKnBhcmFtKQoreworCXJldHVybiBfX3NjaGVkX3NldHNjaGVkdWxlcihwLCBwb2xpY3ksIHBhcmFtLCBmYWxzZSk7Cit9CisKIHN0YXRpYyBpbnQKIGRvX3NjaGVkX3NldHNjaGVkdWxlcihwaWRfdCBwaWQsIGludCBwb2xpY3ksIHN0cnVjdCBzY2hlZF9wYXJhbSBfX3VzZXIgKnBhcmFtKQogewpAQCAtNTA3MCwyNCArNTM0NSw2IEBACiAJcmV0dXJuIHNjaGVkX3NldGFmZmluaXR5KHBpZCwgJm5ld19tYXNrKTsKIH0KIAotLyoKLSAqIFJlcHJlc2VudHMgYWxsIGNwdSdzIHByZXNlbnQgaW4gdGhlIHN5c3RlbQotICogSW4gc3lzdGVtcyBjYXBhYmxlIG9mIGhvdHBsdWcsIHRoaXMgbWFwIGNvdWxkIGR5bmFtaWNhbGx5IGdyb3cKLSAqIGFzIG5ldyBjcHUncyBhcmUgZGV0ZWN0ZWQgaW4gdGhlIHN5c3RlbSB2aWEgYW55IHBsYXRmb3JtIHNwZWNpZmljCi0gKiBtZXRob2QsIHN1Y2ggYXMgQUNQSSBmb3IgZS5nLgotICovCi0KLWNwdW1hc2tfdCBjcHVfcHJlc2VudF9tYXAgX19yZWFkX21vc3RseTsKLUVYUE9SVF9TWU1CT0woY3B1X3ByZXNlbnRfbWFwKTsKLQotI2lmbmRlZiBDT05GSUdfU01QCi1jcHVtYXNrX3QgY3B1X29ubGluZV9tYXAgX19yZWFkX21vc3RseSA9IENQVV9NQVNLX0FMTDsKLUVYUE9SVF9TWU1CT0woY3B1X29ubGluZV9tYXApOwotCi1jcHVtYXNrX3QgY3B1X3Bvc3NpYmxlX21hcCBfX3JlYWRfbW9zdGx5ID0gQ1BVX01BU0tfQUxMOwotRVhQT1JUX1NZTUJPTChjcHVfcG9zc2libGVfbWFwKTsKLSNlbmRpZgotCiBsb25nIHNjaGVkX2dldGFmZmluaXR5KHBpZF90IHBpZCwgY3B1bWFza190ICptYXNrKQogewogCXN0cnVjdCB0YXNrX3N0cnVjdCAqcDsKQEAgLTUzODQsNyArNTY0MSw3IEBACiAJcmV0dXJuIHJldHZhbDsKIH0KIAotc3RhdGljIGNvbnN0IGNoYXIgc3RhdF9uYW1bXSA9ICJSU0RUdFpYIjsKK3N0YXRpYyBjb25zdCBjaGFyIHN0YXRfbmFtW10gPSBUQVNLX1NUQVRFX1RPX0NIQVJfU1RSOwogCiB2b2lkIHNjaGVkX3Nob3dfdGFzayhzdHJ1Y3QgdGFza19zdHJ1Y3QgKnApCiB7CkBAIC01NTcxLDYgKzU4MjgsMTIgQEAKIAkJZ290byBvdXQ7CiAJfQogCisJaWYgKHVubGlrZWx5KChwLT5mbGFncyAmIFBGX1RIUkVBRF9CT1VORCkgJiYgcCAhPSBjdXJyZW50ICYmCisJCSAgICAgIWNwdXNfZXF1YWwocC0+Y3B1c19hbGxvd2VkLCAqbmV3X21hc2spKSkgeworCQlyZXQgPSAtRUlOVkFMOworCQlnb3RvIG91dDsKKwl9CisKIAlpZiAocC0+c2NoZWRfY2xhc3MtPnNldF9jcHVzX2FsbG93ZWQpCiAJCXAtPnNjaGVkX2NsYXNzLT5zZXRfY3B1c19hbGxvd2VkKHAsIG5ld19tYXNrKTsKIAllbHNlIHsKQEAgLTYwNjAsNiArNjMyMywzNiBAQAogfQogI2VuZGlmCiAKK3N0YXRpYyB2b2lkIHNldF9ycV9vbmxpbmUoc3RydWN0IHJxICpycSkKK3sKKwlpZiAoIXJxLT5vbmxpbmUpIHsKKwkJY29uc3Qgc3RydWN0IHNjaGVkX2NsYXNzICpjbGFzczsKKworCQljcHVfc2V0KHJxLT5jcHUsIHJxLT5yZC0+b25saW5lKTsKKwkJcnEtPm9ubGluZSA9IDE7CisKKwkJZm9yX2VhY2hfY2xhc3MoY2xhc3MpIHsKKwkJCWlmIChjbGFzcy0+cnFfb25saW5lKQorCQkJCWNsYXNzLT5ycV9vbmxpbmUocnEpOworCQl9CisJfQorfQorCitzdGF0aWMgdm9pZCBzZXRfcnFfb2ZmbGluZShzdHJ1Y3QgcnEgKnJxKQoreworCWlmIChycS0+b25saW5lKSB7CisJCWNvbnN0IHN0cnVjdCBzY2hlZF9jbGFzcyAqY2xhc3M7CisKKwkJZm9yX2VhY2hfY2xhc3MoY2xhc3MpIHsKKwkJCWlmIChjbGFzcy0+cnFfb2ZmbGluZSkKKwkJCQljbGFzcy0+cnFfb2ZmbGluZShycSk7CisJCX0KKworCQljcHVfY2xlYXIocnEtPmNwdSwgcnEtPnJkLT5vbmxpbmUpOworCQlycS0+b25saW5lID0gMDsKKwl9Cit9CisKIC8qCiAgKiBtaWdyYXRpb25fY2FsbCAtIGNhbGxiYWNrIHRoYXQgZ2V0cyB0cmlnZ2VyZWQgd2hlbiBhIENQVSBpcyBhZGRlZC4KICAqIEhlcmUgd2UgY2FuIHN0YXJ0IHVwIHRoZSBuZWNlc3NhcnkgbWlncmF0aW9uIHRocmVhZCBmb3IgdGhlIG5ldyBDUFUuCkBAIC02MDk3LDcgKzYzOTAsOCBAQAogCQlzcGluX2xvY2tfaXJxc2F2ZSgmcnEtPmxvY2ssIGZsYWdzKTsKIAkJaWYgKHJxLT5yZCkgewogCQkJQlVHX09OKCFjcHVfaXNzZXQoY3B1LCBycS0+cmQtPnNwYW4pKTsKLQkJCWNwdV9zZXQoY3B1LCBycS0+cmQtPm9ubGluZSk7CisKKwkJCXNldF9ycV9vbmxpbmUocnEpOwogCQl9CiAJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnJxLT5sb2NrLCBmbGFncyk7CiAJCWJyZWFrOwpAQCAtNjE1OCw3ICs2NDUyLDcgQEAKIAkJc3Bpbl9sb2NrX2lycXNhdmUoJnJxLT5sb2NrLCBmbGFncyk7CiAJCWlmIChycS0+cmQpIHsKIAkJCUJVR19PTighY3B1X2lzc2V0KGNwdSwgcnEtPnJkLT5zcGFuKSk7Ci0JCQljcHVfY2xlYXIoY3B1LCBycS0+cmQtPm9ubGluZSk7CisJCQlzZXRfcnFfb2ZmbGluZShycSk7CiAJCX0KIAkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcnEtPmxvY2ssIGZsYWdzKTsKIAkJYnJlYWs7CkBAIC02MTkyLDYgKzY0ODYsMjggQEAKIAogI2lmZGVmIENPTkZJR19TQ0hFRF9ERUJVRwogCitzdGF0aWMgaW5saW5lIGNvbnN0IGNoYXIgKnNkX2xldmVsX3RvX3N0cmluZyhlbnVtIHNjaGVkX2RvbWFpbl9sZXZlbCBsdmwpCit7CisJc3dpdGNoIChsdmwpIHsKKwljYXNlIFNEX0xWX05PTkU6CisJCQlyZXR1cm4gIk5PTkUiOworCWNhc2UgU0RfTFZfU0lCTElORzoKKwkJCXJldHVybiAiU0lCTElORyI7CisJY2FzZSBTRF9MVl9NQzoKKwkJCXJldHVybiAiTUMiOworCWNhc2UgU0RfTFZfQ1BVOgorCQkJcmV0dXJuICJDUFUiOworCWNhc2UgU0RfTFZfTk9ERToKKwkJCXJldHVybiAiTk9ERSI7CisJY2FzZSBTRF9MVl9BTExOT0RFUzoKKwkJCXJldHVybiAiQUxMTk9ERVMiOworCWNhc2UgU0RfTFZfTUFYOgorCQkJcmV0dXJuICJNQVgiOworCisJfQorCXJldHVybiAiTUFYIjsKK30KKwogc3RhdGljIGludCBzY2hlZF9kb21haW5fZGVidWdfb25lKHN0cnVjdCBzY2hlZF9kb21haW4gKnNkLCBpbnQgY3B1LCBpbnQgbGV2ZWwsCiAJCQkJICBjcHVtYXNrX3QgKmdyb3VwbWFzaykKIHsKQEAgLTYyMTEsNyArNjUyNyw4IEBACiAJCXJldHVybiAtMTsKIAl9CiAKLQlwcmludGsoS0VSTl9DT05UICJzcGFuICVzXG4iLCBzdHIpOworCXByaW50ayhLRVJOX0NPTlQgInNwYW4gJXMgbGV2ZWwgJXNcbiIsCisJCXN0ciwgc2RfbGV2ZWxfdG9fc3RyaW5nKHNkLT5sZXZlbCkpOwogCiAJaWYgKCFjcHVfaXNzZXQoY3B1LCBzZC0+c3BhbikpIHsKIAkJcHJpbnRrKEtFUk5fRVJSICJFUlJPUjogZG9tYWluLT5zcGFuIGRvZXMgbm90IGNvbnRhaW4gIgpAQCAtNjI5NSw5ICs2NjEyLDkgQEAKIAl9CiAJa2ZyZWUoZ3JvdXBtYXNrKTsKIH0KLSNlbHNlCisjZWxzZSAvKiAhQ09ORklHX1NDSEVEX0RFQlVHICovCiAjIGRlZmluZSBzY2hlZF9kb21haW5fZGVidWcoc2QsIGNwdSkgZG8geyB9IHdoaWxlICgwKQotI2VuZGlmCisjZW5kaWYgLyogQ09ORklHX1NDSEVEX0RFQlVHICovCiAKIHN0YXRpYyBpbnQgc2RfZGVnZW5lcmF0ZShzdHJ1Y3Qgc2NoZWRfZG9tYWluICpzZCkKIHsKQEAgLTYzNTcsMjAgKzY2NzQsMTYgQEAKIHN0YXRpYyB2b2lkIHJxX2F0dGFjaF9yb290KHN0cnVjdCBycSAqcnEsIHN0cnVjdCByb290X2RvbWFpbiAqcmQpCiB7CiAJdW5zaWduZWQgbG9uZyBmbGFnczsKLQljb25zdCBzdHJ1Y3Qgc2NoZWRfY2xhc3MgKmNsYXNzOwogCiAJc3Bpbl9sb2NrX2lycXNhdmUoJnJxLT5sb2NrLCBmbGFncyk7CiAKIAlpZiAocnEtPnJkKSB7CiAJCXN0cnVjdCByb290X2RvbWFpbiAqb2xkX3JkID0gcnEtPnJkOwogCi0JCWZvciAoY2xhc3MgPSBzY2hlZF9jbGFzc19oaWdoZXN0OyBjbGFzczsgY2xhc3MgPSBjbGFzcy0+bmV4dCkgewotCQkJaWYgKGNsYXNzLT5sZWF2ZV9kb21haW4pCi0JCQkJY2xhc3MtPmxlYXZlX2RvbWFpbihycSk7Ci0JCX0KKwkJaWYgKGNwdV9pc3NldChycS0+Y3B1LCBvbGRfcmQtPm9ubGluZSkpCisJCQlzZXRfcnFfb2ZmbGluZShycSk7CiAKIAkJY3B1X2NsZWFyKHJxLT5jcHUsIG9sZF9yZC0+c3Bhbik7Ci0JCWNwdV9jbGVhcihycS0+Y3B1LCBvbGRfcmQtPm9ubGluZSk7CiAKIAkJaWYgKGF0b21pY19kZWNfYW5kX3Rlc3QoJm9sZF9yZC0+cmVmY291bnQpKQogCQkJa2ZyZWUob2xkX3JkKTsKQEAgLTYzODEsMTIgKzY2OTQsNyBAQAogCiAJY3B1X3NldChycS0+Y3B1LCByZC0+c3Bhbik7CiAJaWYgKGNwdV9pc3NldChycS0+Y3B1LCBjcHVfb25saW5lX21hcCkpCi0JCWNwdV9zZXQocnEtPmNwdSwgcmQtPm9ubGluZSk7Ci0KLQlmb3IgKGNsYXNzID0gc2NoZWRfY2xhc3NfaGlnaGVzdDsgY2xhc3M7IGNsYXNzID0gY2xhc3MtPm5leHQpIHsKLQkJaWYgKGNsYXNzLT5qb2luX2RvbWFpbikKLQkJCWNsYXNzLT5qb2luX2RvbWFpbihycSk7Ci0JfQorCQlzZXRfcnFfb25saW5lKHJxKTsKIAogCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnJxLT5sb2NrLCBmbGFncyk7CiB9CkBAIC02Mzk3LDYgKzY3MDUsOCBAQAogCiAJY3B1c19jbGVhcihyZC0+c3Bhbik7CiAJY3B1c19jbGVhcihyZC0+b25saW5lKTsKKworCWNwdXByaV9pbml0KCZyZC0+Y3B1cHJpKTsKIH0KIAogc3RhdGljIHZvaWQgaW5pdF9kZWZyb290ZG9tYWluKHZvaWQpCkBAIC02NTM5LDkgKzY4NDksOSBAQAogCiAJbWluX3ZhbCA9IElOVF9NQVg7CiAKLQlmb3IgKGkgPSAwOyBpIDwgTUFYX05VTU5PREVTOyBpKyspIHsKKwlmb3IgKGkgPSAwOyBpIDwgbnJfbm9kZV9pZHM7IGkrKykgewogCQkvKiBTdGFydCBhdCBAbm9kZSAqLwotCQluID0gKG5vZGUgKyBpKSAlIE1BWF9OVU1OT0RFUzsKKwkJbiA9IChub2RlICsgaSkgJSBucl9ub2RlX2lkczsKIAogCQlpZiAoIW5yX2NwdXNfbm9kZShuKSkKIAkJCWNvbnRpbnVlOwpAQCAtNjU5MSw3ICs2OTAxLDcgQEAKIAkJY3B1c19vcigqc3BhbiwgKnNwYW4sICpub2RlbWFzayk7CiAJfQogfQotI2VuZGlmCisjZW5kaWYgLyogQ09ORklHX05VTUEgKi8KIAogaW50IHNjaGVkX3NtdF9wb3dlcl9zYXZpbmdzID0gMCwgc2NoZWRfbWNfcG93ZXJfc2F2aW5ncyA9IDA7CiAKQEAgLTY2MTAsNyArNjkyMCw3IEBACiAJCSpzZyA9ICZwZXJfY3B1KHNjaGVkX2dyb3VwX2NwdXMsIGNwdSk7CiAJcmV0dXJuIGNwdTsKIH0KLSNlbmRpZgorI2VuZGlmIC8qIENPTkZJR19TQ0hFRF9TTVQgKi8KIAogLyoKICAqIG11bHRpLWNvcmUgc2NoZWQtZG9tYWluczoKQEAgLTY2MTgsNyArNjkyOCw3IEBACiAjaWZkZWYgQ09ORklHX1NDSEVEX01DCiBzdGF0aWMgREVGSU5FX1BFUl9DUFUoc3RydWN0IHNjaGVkX2RvbWFpbiwgY29yZV9kb21haW5zKTsKIHN0YXRpYyBERUZJTkVfUEVSX0NQVShzdHJ1Y3Qgc2NoZWRfZ3JvdXAsIHNjaGVkX2dyb3VwX2NvcmUpOwotI2VuZGlmCisjZW5kaWYgLyogQ09ORklHX1NDSEVEX01DICovCiAKICNpZiBkZWZpbmVkKENPTkZJR19TQ0hFRF9NQykgJiYgZGVmaW5lZChDT05GSUdfU0NIRURfU01UKQogc3RhdGljIGludApAQCAtNjcyMCw3ICs3MDMwLDcgQEAKIAkJc2cgPSBzZy0+bmV4dDsKIAl9IHdoaWxlIChzZyAhPSBncm91cF9oZWFkKTsKIH0KLSNlbmRpZgorI2VuZGlmIC8qIENPTkZJR19OVU1BICovCiAKICNpZmRlZiBDT05GSUdfTlVNQQogLyogRnJlZSBtZW1vcnkgYWxsb2NhdGVkIGZvciB2YXJpb3VzIHNjaGVkX2dyb3VwIHN0cnVjdHVyZXMgKi8KQEAgLTY3MzUsNyArNzA0NSw3IEBACiAJCWlmICghc2NoZWRfZ3JvdXBfbm9kZXMpCiAJCQljb250aW51ZTsKIAotCQlmb3IgKGkgPSAwOyBpIDwgTUFYX05VTU5PREVTOyBpKyspIHsKKwkJZm9yIChpID0gMDsgaSA8IG5yX25vZGVfaWRzOyBpKyspIHsKIAkJCXN0cnVjdCBzY2hlZF9ncm91cCAqb2xkc2csICpzZyA9IHNjaGVkX2dyb3VwX25vZGVzW2ldOwogCiAJCQkqbm9kZW1hc2sgPSBub2RlX3RvX2NwdW1hc2soaSk7CkBAIC02NzU3LDExICs3MDY3LDExIEBACiAJCXNjaGVkX2dyb3VwX25vZGVzX2J5Y3B1W2NwdV0gPSBOVUxMOwogCX0KIH0KLSNlbHNlCisjZWxzZSAvKiAhQ09ORklHX05VTUEgKi8KIHN0YXRpYyB2b2lkIGZyZWVfc2NoZWRfZ3JvdXBzKGNvbnN0IGNwdW1hc2tfdCAqY3B1X21hcCwgY3B1bWFza190ICpub2RlbWFzaykKIHsKIH0KLSNlbmRpZgorI2VuZGlmIC8qIENPTkZJR19OVU1BICovCiAKIC8qCiAgKiBJbml0aWFsaXplIHNjaGVkIGdyb3VwcyBjcHVfcG93ZXIuCkBAIC02OTI4LDcgKzcyMzgsNyBAQAogCS8qCiAJICogQWxsb2NhdGUgdGhlIHBlci1ub2RlIGxpc3Qgb2Ygc2NoZWQgZ3JvdXBzCiAJICovCi0Jc2NoZWRfZ3JvdXBfbm9kZXMgPSBrY2FsbG9jKE1BWF9OVU1OT0RFUywgc2l6ZW9mKHN0cnVjdCBzY2hlZF9ncm91cCAqKSwKKwlzY2hlZF9ncm91cF9ub2RlcyA9IGtjYWxsb2MobnJfbm9kZV9pZHMsIHNpemVvZihzdHJ1Y3Qgc2NoZWRfZ3JvdXAgKiksCiAJCQkJICAgIEdGUF9LRVJORUwpOwogCWlmICghc2NoZWRfZ3JvdXBfbm9kZXMpIHsKIAkJcHJpbnRrKEtFUk5fV0FSTklORyAiQ2FuIG5vdCBhbGxvYyBzY2hlZCBncm91cCBub2RlIGxpc3RcbiIpOwpAQCAtNzA2Nyw3ICs3Mzc3LDcgQEAKICNlbmRpZgogCiAJLyogU2V0IHVwIHBoeXNpY2FsIGdyb3VwcyAqLwotCWZvciAoaSA9IDA7IGkgPCBNQVhfTlVNTk9ERVM7IGkrKykgeworCWZvciAoaSA9IDA7IGkgPCBucl9ub2RlX2lkczsgaSsrKSB7CiAJCVNDSEVEX0NQVU1BU0tfVkFSKG5vZGVtYXNrLCBhbGxtYXNrcyk7CiAJCVNDSEVEX0NQVU1BU0tfVkFSKHNlbmRfY292ZXJlZCwgYWxsbWFza3MpOwogCkBAIC03MDkxLDcgKzc0MDEsNyBAQAogCQkJCQlzZW5kX2NvdmVyZWQsIHRtcG1hc2spOwogCX0KIAotCWZvciAoaSA9IDA7IGkgPCBNQVhfTlVNTk9ERVM7IGkrKykgeworCWZvciAoaSA9IDA7IGkgPCBucl9ub2RlX2lkczsgaSsrKSB7CiAJCS8qIFNldCB1cCBub2RlIGdyb3VwcyAqLwogCQlzdHJ1Y3Qgc2NoZWRfZ3JvdXAgKnNnLCAqcHJldjsKIAkJU0NIRURfQ1BVTUFTS19WQVIobm9kZW1hc2ssIGFsbG1hc2tzKTsKQEAgLTcxMzAsOSArNzQ0MCw5IEBACiAJCWNwdXNfb3IoKmNvdmVyZWQsICpjb3ZlcmVkLCAqbm9kZW1hc2spOwogCQlwcmV2ID0gc2c7CiAKLQkJZm9yIChqID0gMDsgaiA8IE1BWF9OVU1OT0RFUzsgaisrKSB7CisJCWZvciAoaiA9IDA7IGogPCBucl9ub2RlX2lkczsgaisrKSB7CiAJCQlTQ0hFRF9DUFVNQVNLX1ZBUihub3Rjb3ZlcmVkLCBhbGxtYXNrcyk7Ci0JCQlpbnQgbiA9IChpICsgaikgJSBNQVhfTlVNTk9ERVM7CisJCQlpbnQgbiA9IChpICsgaikgJSBucl9ub2RlX2lkczsKIAkJCW5vZGVfdG9fY3B1bWFza19wdHIocG5vZGVtYXNrLCBuKTsKIAogCQkJY3B1c19jb21wbGVtZW50KCpub3Rjb3ZlcmVkLCAqY292ZXJlZCk7CkBAIC03MTg1LDcgKzc0OTUsNyBAQAogCX0KIAogI2lmZGVmIENPTkZJR19OVU1BCi0JZm9yIChpID0gMDsgaSA8IE1BWF9OVU1OT0RFUzsgaSsrKQorCWZvciAoaSA9IDA7IGkgPCBucl9ub2RlX2lkczsgaSsrKQogCQlpbml0X251bWFfc2NoZWRfZ3JvdXBzX3Bvd2VyKHNjaGVkX2dyb3VwX25vZGVzW2ldKTsKIAogCWlmIChzZF9hbGxub2RlcykgewpAQCAtNzQ3MCw3ICs3NzgwLDcgQEAKICNlbmRpZgogCXJldHVybiBlcnI7CiB9Ci0jZW5kaWYKKyNlbmRpZiAvKiBDT05GSUdfU0NIRURfTUMgfHwgQ09ORklHX1NDSEVEX1NNVCAqLwogCiAvKgogICogRm9yY2UgYSByZWluaXRpYWxpemF0aW9uIG9mIHRoZSBzY2hlZCBkb21haW5zIGhpZXJhcmNoeS4gVGhlIGRvbWFpbnMKQEAgLTc0ODEsMjEgKzc3OTEsMjggQEAKIHN0YXRpYyBpbnQgdXBkYXRlX3NjaGVkX2RvbWFpbnMoc3RydWN0IG5vdGlmaWVyX2Jsb2NrICpuZmIsCiAJCQkJdW5zaWduZWQgbG9uZyBhY3Rpb24sIHZvaWQgKmhjcHUpCiB7CisJaW50IGNwdSA9IChpbnQpKGxvbmcpaGNwdTsKKwogCXN3aXRjaCAoYWN0aW9uKSB7Ci0JY2FzZSBDUFVfVVBfUFJFUEFSRToKLQljYXNlIENQVV9VUF9QUkVQQVJFX0ZST1pFTjoKIAljYXNlIENQVV9ET1dOX1BSRVBBUkU6CiAJY2FzZSBDUFVfRE9XTl9QUkVQQVJFX0ZST1pFTjoKKwkJZGlzYWJsZV9ydW50aW1lKGNwdV9ycShjcHUpKTsKKwkJLyogZmFsbC10aHJvdWdoICovCisJY2FzZSBDUFVfVVBfUFJFUEFSRToKKwljYXNlIENQVV9VUF9QUkVQQVJFX0ZST1pFTjoKIAkJZGV0YWNoX2Rlc3Ryb3lfZG9tYWlucygmY3B1X29ubGluZV9tYXApOwogCQlmcmVlX3NjaGVkX2RvbWFpbnMoKTsKIAkJcmV0dXJuIE5PVElGWV9PSzsKIAotCWNhc2UgQ1BVX1VQX0NBTkNFTEVEOgotCWNhc2UgQ1BVX1VQX0NBTkNFTEVEX0ZST1pFTjoKKwogCWNhc2UgQ1BVX0RPV05fRkFJTEVEOgogCWNhc2UgQ1BVX0RPV05fRkFJTEVEX0ZST1pFTjoKIAljYXNlIENQVV9PTkxJTkU6CiAJY2FzZSBDUFVfT05MSU5FX0ZST1pFTjoKKwkJZW5hYmxlX3J1bnRpbWUoY3B1X3JxKGNwdSkpOworCQkvKiBmYWxsLXRocm91Z2ggKi8KKwljYXNlIENQVV9VUF9DQU5DRUxFRDoKKwljYXNlIENQVV9VUF9DQU5DRUxFRF9GUk9aRU46CiAJY2FzZSBDUFVfREVBRDoKIAljYXNlIENQVV9ERUFEX0ZST1pFTjoKIAkJLyoKQEAgLTc2OTUsOCArODAxMiw4IEBACiAKIAkJcm9vdF90YXNrX2dyb3VwLmNmc19ycSA9IChzdHJ1Y3QgY2ZzX3JxICoqKXB0cjsKIAkJcHRyICs9IG5yX2NwdV9pZHMgKiBzaXplb2Yodm9pZCAqKik7Ci0jZW5kaWYKLSNlbmRpZgorI2VuZGlmIC8qIENPTkZJR19VU0VSX1NDSEVEICovCisjZW5kaWYgLyogQ09ORklHX0ZBSVJfR1JPVVBfU0NIRUQgKi8KICNpZmRlZiBDT05GSUdfUlRfR1JPVVBfU0NIRUQKIAkJaW5pdF90YXNrX2dyb3VwLnJ0X3NlID0gKHN0cnVjdCBzY2hlZF9ydF9lbnRpdHkgKiopcHRyOwogCQlwdHIgKz0gbnJfY3B1X2lkcyAqIHNpemVvZih2b2lkICoqKTsKQEAgLTc3MTAsOCArODAyNyw4IEBACiAKIAkJcm9vdF90YXNrX2dyb3VwLnJ0X3JxID0gKHN0cnVjdCBydF9ycSAqKilwdHI7CiAJCXB0ciArPSBucl9jcHVfaWRzICogc2l6ZW9mKHZvaWQgKiopOwotI2VuZGlmCi0jZW5kaWYKKyNlbmRpZiAvKiBDT05GSUdfVVNFUl9TQ0hFRCAqLworI2VuZGlmIC8qIENPTkZJR19SVF9HUk9VUF9TQ0hFRCAqLwogCX0KIAogI2lmZGVmIENPTkZJR19TTVAKQEAgLTc3MjcsOCArODA0NCw4IEBACiAjaWZkZWYgQ09ORklHX1VTRVJfU0NIRUQKIAlpbml0X3J0X2JhbmR3aWR0aCgmcm9vdF90YXNrX2dyb3VwLnJ0X2JhbmR3aWR0aCwKIAkJCWdsb2JhbF9ydF9wZXJpb2QoKSwgUlVOVElNRV9JTkYpOwotI2VuZGlmCi0jZW5kaWYKKyNlbmRpZiAvKiBDT05GSUdfVVNFUl9TQ0hFRCAqLworI2VuZGlmIC8qIENPTkZJR19SVF9HUk9VUF9TQ0hFRCAqLwogCiAjaWZkZWYgQ09ORklHX0dST1VQX1NDSEVECiAJbGlzdF9hZGQoJmluaXRfdGFza19ncm91cC5saXN0LCAmdGFza19ncm91cHMpOwpAQCAtNzczOCw4ICs4MDU1LDggQEAKIAlJTklUX0xJU1RfSEVBRCgmcm9vdF90YXNrX2dyb3VwLmNoaWxkcmVuKTsKIAlpbml0X3Rhc2tfZ3JvdXAucGFyZW50ID0gJnJvb3RfdGFza19ncm91cDsKIAlsaXN0X2FkZCgmaW5pdF90YXNrX2dyb3VwLnNpYmxpbmdzLCAmcm9vdF90YXNrX2dyb3VwLmNoaWxkcmVuKTsKLSNlbmRpZgotI2VuZGlmCisjZW5kaWYgLyogQ09ORklHX1VTRVJfU0NIRUQgKi8KKyNlbmRpZiAvKiBDT05GSUdfR1JPVVBfU0NIRUQgKi8KIAogCWZvcl9lYWNoX3Bvc3NpYmxlX2NwdShpKSB7CiAJCXN0cnVjdCBycSAqcnE7CkBAIC03ODE5LDYgKzgxMzYsNyBAQAogCQlycS0+bmV4dF9iYWxhbmNlID0gamlmZmllczsKIAkJcnEtPnB1c2hfY3B1ID0gMDsKIAkJcnEtPmNwdSA9IGk7CisJCXJxLT5vbmxpbmUgPSAwOwogCQlycS0+bWlncmF0aW9uX3RocmVhZCA9IE5VTEw7CiAJCUlOSVRfTElTVF9IRUFEKCZycS0+bWlncmF0aW9uX3F1ZXVlKTsKIAkJcnFfYXR0YWNoX3Jvb3QocnEsICZkZWZfcm9vdF9kb21haW4pOwpAQCAtNzgzNCw3ICs4MTUyLDcgQEAKICNlbmRpZgogCiAjaWZkZWYgQ09ORklHX1NNUAotCW9wZW5fc29mdGlycShTQ0hFRF9TT0ZUSVJRLCBydW5fcmViYWxhbmNlX2RvbWFpbnMsIE5VTEwpOworCW9wZW5fc29mdGlycShTQ0hFRF9TT0ZUSVJRLCBydW5fcmViYWxhbmNlX2RvbWFpbnMpOwogI2VuZGlmCiAKICNpZmRlZiBDT05GSUdfUlRfTVVURVhFUwpAQCAtODA1OCw3ICs4Mzc2LDcgQEAKIHsKIAlsaXN0X2RlbF9yY3UoJnRnLT5jZnNfcnFbY3B1XS0+bGVhZl9jZnNfcnFfbGlzdCk7CiB9Ci0jZWxzZQorI2Vsc2UgLyogIUNPTkZHX0ZBSVJfR1JPVVBfU0NIRUQgKi8KIHN0YXRpYyBpbmxpbmUgdm9pZCBmcmVlX2ZhaXJfc2NoZWRfZ3JvdXAoc3RydWN0IHRhc2tfZ3JvdXAgKnRnKQogewogfQpAQCAtODA3Niw3ICs4Mzk0LDcgQEAKIHN0YXRpYyBpbmxpbmUgdm9pZCB1bnJlZ2lzdGVyX2ZhaXJfc2NoZWRfZ3JvdXAoc3RydWN0IHRhc2tfZ3JvdXAgKnRnLCBpbnQgY3B1KQogewogfQotI2VuZGlmCisjZW5kaWYgLyogQ09ORklHX0ZBSVJfR1JPVVBfU0NIRUQgKi8KIAogI2lmZGVmIENPTkZJR19SVF9HUk9VUF9TQ0hFRAogc3RhdGljIHZvaWQgZnJlZV9ydF9zY2hlZF9ncm91cChzdHJ1Y3QgdGFza19ncm91cCAqdGcpCkBAIC04MTQ3LDcgKzg0NjUsNyBAQAogewogCWxpc3RfZGVsX3JjdSgmdGctPnJ0X3JxW2NwdV0tPmxlYWZfcnRfcnFfbGlzdCk7CiB9Ci0jZWxzZQorI2Vsc2UgLyogIUNPTkZJR19SVF9HUk9VUF9TQ0hFRCAqLwogc3RhdGljIGlubGluZSB2b2lkIGZyZWVfcnRfc2NoZWRfZ3JvdXAoc3RydWN0IHRhc2tfZ3JvdXAgKnRnKQogewogfQpAQCAtODE2NSw3ICs4NDgzLDcgQEAKIHN0YXRpYyBpbmxpbmUgdm9pZCB1bnJlZ2lzdGVyX3J0X3NjaGVkX2dyb3VwKHN0cnVjdCB0YXNrX2dyb3VwICp0ZywgaW50IGNwdSkKIHsKIH0KLSNlbmRpZgorI2VuZGlmIC8qIENPTkZJR19SVF9HUk9VUF9TQ0hFRCAqLwogCiAjaWZkZWYgQ09ORklHX0dST1VQX1NDSEVECiBzdGF0aWMgdm9pZCBmcmVlX3NjaGVkX2dyb3VwKHN0cnVjdCB0YXNrX2dyb3VwICp0ZykKQEAgLTgyNzYsMTcgKzg1OTQsMTQgQEAKIAogCXRhc2tfcnFfdW5sb2NrKHJxLCAmZmxhZ3MpOwogfQotI2VuZGlmCisjZW5kaWYgLyogQ09ORklHX0dST1VQX1NDSEVEICovCiAKICNpZmRlZiBDT05GSUdfRkFJUl9HUk9VUF9TQ0hFRAotc3RhdGljIHZvaWQgc2V0X3NlX3NoYXJlcyhzdHJ1Y3Qgc2NoZWRfZW50aXR5ICpzZSwgdW5zaWduZWQgbG9uZyBzaGFyZXMpCitzdGF0aWMgdm9pZCBfX3NldF9zZV9zaGFyZXMoc3RydWN0IHNjaGVkX2VudGl0eSAqc2UsIHVuc2lnbmVkIGxvbmcgc2hhcmVzKQogewogCXN0cnVjdCBjZnNfcnEgKmNmc19ycSA9IHNlLT5jZnNfcnE7Ci0Jc3RydWN0IHJxICpycSA9IGNmc19ycS0+cnE7CiAJaW50IG9uX3JxOwogCi0Jc3Bpbl9sb2NrX2lycSgmcnEtPmxvY2spOwotCiAJb25fcnEgPSBzZS0+b25fcnE7CiAJaWYgKG9uX3JxKQogCQlkZXF1ZXVlX2VudGl0eShjZnNfcnEsIHNlLCAwKTsKQEAgLTgyOTYsOCArODYxMSwxNyBAQAogCiAJaWYgKG9uX3JxKQogCQllbnF1ZXVlX2VudGl0eShjZnNfcnEsIHNlLCAwKTsKK30KIAotCXNwaW5fdW5sb2NrX2lycSgmcnEtPmxvY2spOworc3RhdGljIHZvaWQgc2V0X3NlX3NoYXJlcyhzdHJ1Y3Qgc2NoZWRfZW50aXR5ICpzZSwgdW5zaWduZWQgbG9uZyBzaGFyZXMpCit7CisJc3RydWN0IGNmc19ycSAqY2ZzX3JxID0gc2UtPmNmc19ycTsKKwlzdHJ1Y3QgcnEgKnJxID0gY2ZzX3JxLT5ycTsKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCisJc3Bpbl9sb2NrX2lycXNhdmUoJnJxLT5sb2NrLCBmbGFncyk7CisJX19zZXRfc2Vfc2hhcmVzKHNlLCBzaGFyZXMpOworCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnJxLT5sb2NrLCBmbGFncyk7CiB9CiAKIHN0YXRpYyBERUZJTkVfTVVURVgoc2hhcmVzX211dGV4KTsKQEAgLTgzMzYsOCArODY2MCwxMyBAQAogCSAqIHcvbyB0cmlwcGluZyByZWJhbGFuY2Vfc2hhcmUgb3IgbG9hZF9iYWxhbmNlX2ZhaXIuCiAJICovCiAJdGctPnNoYXJlcyA9IHNoYXJlczsKLQlmb3JfZWFjaF9wb3NzaWJsZV9jcHUoaSkKKwlmb3JfZWFjaF9wb3NzaWJsZV9jcHUoaSkgeworCQkvKgorCQkgKiBmb3JjZSBhIHJlYmFsYW5jZQorCQkgKi8KKwkJY2ZzX3JxX3NldF9zaGFyZXModGctPmNmc19ycVtpXSwgMCk7CiAJCXNldF9zZV9zaGFyZXModGctPnNlW2ldLCBzaGFyZXMpOworCX0KIAogCS8qCiAJICogRW5hYmxlIGxvYWQgYmFsYW5jZSBhY3Rpdml0eSBvbiB0aGlzIGdyb3VwLCBieSBpbnNlcnRpbmcgaXQgYmFjayBvbgpAQCAtODM3Niw3ICs4NzA1LDcgQEAKICNpZmRlZiBDT05GSUdfQ0dST1VQX1NDSEVECiBzdGF0aWMgaW50IF9fcnRfc2NoZWR1bGFibGUoc3RydWN0IHRhc2tfZ3JvdXAgKnRnLCB1NjQgcGVyaW9kLCB1NjQgcnVudGltZSkKIHsKLQlzdHJ1Y3QgdGFza19ncm91cCAqdGdpLCAqcGFyZW50ID0gdGcgPyB0Zy0+cGFyZW50IDogTlVMTDsKKwlzdHJ1Y3QgdGFza19ncm91cCAqdGdpLCAqcGFyZW50ID0gdGctPnBhcmVudDsKIAl1bnNpZ25lZCBsb25nIHRvdGFsID0gMDsKIAogCWlmICghcGFyZW50KSB7CkBAIC04NDAwLDcgKzg3MjksNyBAQAogCX0KIAlyY3VfcmVhZF91bmxvY2soKTsKIAotCXJldHVybiB0b3RhbCArIHRvX3JhdGlvKHBlcmlvZCwgcnVudGltZSkgPAorCXJldHVybiB0b3RhbCArIHRvX3JhdGlvKHBlcmlvZCwgcnVudGltZSkgPD0KIAkJdG9fcmF0aW8oa3RpbWVfdG9fbnMocGFyZW50LT5ydF9iYW5kd2lkdGgucnRfcGVyaW9kKSwKIAkJCQlwYXJlbnQtPnJ0X2JhbmR3aWR0aC5ydF9ydW50aW1lKTsKIH0KQEAgLTg1MjAsMTYgKzg4NDksMjEgQEAKIAogc3RhdGljIGludCBzY2hlZF9ydF9nbG9iYWxfY29uc3RyYWludHModm9pZCkKIHsKKwlzdHJ1Y3QgdGFza19ncm91cCAqdGcgPSAmcm9vdF90YXNrX2dyb3VwOworCXU2NCBydF9ydW50aW1lLCBydF9wZXJpb2Q7CiAJaW50IHJldCA9IDA7CiAKKwlydF9wZXJpb2QgPSBrdGltZV90b19ucyh0Zy0+cnRfYmFuZHdpZHRoLnJ0X3BlcmlvZCk7CisJcnRfcnVudGltZSA9IHRnLT5ydF9iYW5kd2lkdGgucnRfcnVudGltZTsKKwogCW11dGV4X2xvY2soJnJ0X2NvbnN0cmFpbnRzX211dGV4KTsKLQlpZiAoIV9fcnRfc2NoZWR1bGFibGUoTlVMTCwgMSwgMCkpCisJaWYgKCFfX3J0X3NjaGVkdWxhYmxlKHRnLCBydF9wZXJpb2QsIHJ0X3J1bnRpbWUpKQogCQlyZXQgPSAtRUlOVkFMOwogCW11dGV4X3VubG9jaygmcnRfY29uc3RyYWludHNfbXV0ZXgpOwogCiAJcmV0dXJuIHJldDsKIH0KLSNlbHNlCisjZWxzZSAvKiAhQ09ORklHX1JUX0dST1VQX1NDSEVEICovCiBzdGF0aWMgaW50IHNjaGVkX3J0X2dsb2JhbF9jb25zdHJhaW50cyh2b2lkKQogewogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CkBAIC04NTQ3LDcgKzg4ODEsNyBAQAogCiAJcmV0dXJuIDA7CiB9Ci0jZW5kaWYKKyNlbmRpZiAvKiBDT05GSUdfUlRfR1JPVVBfU0NIRUQgKi8KIAogaW50IHNjaGVkX3J0X2hhbmRsZXIoc3RydWN0IGN0bF90YWJsZSAqdGFibGUsIGludCB3cml0ZSwKIAkJc3RydWN0IGZpbGUgKmZpbHAsIHZvaWQgX191c2VyICpidWZmZXIsIHNpemVfdCAqbGVucCwKQEAgLTg2NTUsNyArODk4OSw3IEBACiAKIAlyZXR1cm4gKHU2NCkgdGctPnNoYXJlczsKIH0KLSNlbmRpZgorI2VuZGlmIC8qIENPTkZJR19GQUlSX0dST1VQX1NDSEVEICovCiAKICNpZmRlZiBDT05GSUdfUlRfR1JPVVBfU0NIRUQKIHN0YXRpYyBpbnQgY3B1X3J0X3J1bnRpbWVfd3JpdGUoc3RydWN0IGNncm91cCAqY2dycCwgc3RydWN0IGNmdHlwZSAqY2Z0LApAQCAtODY3OSw3ICs5MDEzLDcgQEAKIHsKIAlyZXR1cm4gc2NoZWRfZ3JvdXBfcnRfcGVyaW9kKGNncm91cF90ZyhjZ3JwKSk7CiB9Ci0jZW5kaWYKKyNlbmRpZiAvKiBDT05GSUdfUlRfR1JPVVBfU0NIRUQgKi8KIAogc3RhdGljIHN0cnVjdCBjZnR5cGUgY3B1X2ZpbGVzW10gPSB7CiAjaWZkZWYgQ09ORklHX0ZBSVJfR1JPVVBfU0NIRUQKZGlmZiAtLWdpdCBhL2tlcm5lbC9zY2hlZF9jbG9jay5jIGIva2VybmVsL3NjaGVkX2Nsb2NrLmMKaW5kZXggY2UwNTI3MS4uMjJlZDU1ZCAxMDA2NDQKLS0tIGEva2VybmVsL3NjaGVkX2Nsb2NrLmMKKysrIGIva2VybmVsL3NjaGVkX2Nsb2NrLmMKQEAgLTMsNiArMyw5IEBACiAgKgogICogIENvcHlyaWdodCAoQykgMjAwOCBSZWQgSGF0LCBJbmMuLCBQZXRlciBaaWpsc3RyYSA8cHppamxzdHJAcmVkaGF0LmNvbT4KICAqCisgKiAgVXBkYXRlcyBhbmQgZW5oYW5jZW1lbnRzOgorICogICAgQ29weXJpZ2h0IChDKSAyMDA4IFJlZCBIYXQsIEluYy4gU3RldmVuIFJvc3RlZHQgPHNyb3N0ZWR0QHJlZGhhdC5jb20+CisgKgogICogQmFzZWQgb24gY29kZSBieToKICAqICAgSW5nbyBNb2xuYXIgPG1pbmdvQHJlZGhhdC5jb20+CiAgKiAgIEd1aWxsYXVtZSBDaGF6YXJhaW4gPGd1aWNoYXpAZ21haWwuY29tPgpAQCAtMzIsNiArMzUsMTEgQEAKIAogI2lmZGVmIENPTkZJR19IQVZFX1VOU1RBQkxFX1NDSEVEX0NMT0NLCiAKKyNkZWZpbmUgTVVMVElfU0hJRlQgMTUKKy8qIE1heCBpcyBkb3VibGUsIE1pbiBpcyAxLzIgKi8KKyNkZWZpbmUgTUFYX01VTFRJICgyTEwgPDwgTVVMVElfU0hJRlQpCisjZGVmaW5lIE1JTl9NVUxUSSAoMUxMIDw8IChNVUxUSV9TSElGVC0xKSkKKwogc3RydWN0IHNjaGVkX2Nsb2NrX2RhdGEgewogCS8qCiAJICogUmF3IHNwaW5sb2NrIC0gdGhpcyBpcyBhIHNwZWNpYWwgY2FzZTogdGhpcyBtaWdodCBiZSBjYWxsZWQKQEAgLTQwLDExICs0OCwxNSBAQAogCSAqLwogCXJhd19zcGlubG9ja190CQlsb2NrOwogCi0JdW5zaWduZWQgbG9uZwkJcHJldl9qaWZmaWVzOworCXVuc2lnbmVkIGxvbmcJCXRpY2tfamlmZmllczsKIAl1NjQJCQlwcmV2X3JhdzsKIAl1NjQJCQl0aWNrX3JhdzsKIAl1NjQJCQl0aWNrX2d0b2Q7CiAJdTY0CQkJY2xvY2s7CisJczY0CQkJbXVsdGk7CisjaWZkZWYgQ09ORklHX05PX0haCisJaW50CQkJY2hlY2tfbWF4OworI2VuZGlmCiB9OwogCiBzdGF0aWMgREVGSU5FX1BFUl9DUFVfU0hBUkVEX0FMSUdORUQoc3RydWN0IHNjaGVkX2Nsb2NrX2RhdGEsIHNjaGVkX2Nsb2NrX2RhdGEpOwpAQCAtNzEsNDEgKzgzLDkxIEBACiAJCXN0cnVjdCBzY2hlZF9jbG9ja19kYXRhICpzY2QgPSBjcHVfc2RjKGNwdSk7CiAKIAkJc2NkLT5sb2NrID0gKHJhd19zcGlubG9ja190KV9fUkFXX1NQSU5fTE9DS19VTkxPQ0tFRDsKLQkJc2NkLT5wcmV2X2ppZmZpZXMgPSBub3dfamlmZmllczsKKwkJc2NkLT50aWNrX2ppZmZpZXMgPSBub3dfamlmZmllczsKIAkJc2NkLT5wcmV2X3JhdyA9IDA7CiAJCXNjZC0+dGlja19yYXcgPSAwOwogCQlzY2QtPnRpY2tfZ3RvZCA9IGt0aW1lX25vdzsKIAkJc2NkLT5jbG9jayA9IGt0aW1lX25vdzsKKwkJc2NkLT5tdWx0aSA9IDEgPDwgTVVMVElfU0hJRlQ7CisjaWZkZWYgQ09ORklHX05PX0haCisJCXNjZC0+Y2hlY2tfbWF4ID0gMTsKKyNlbmRpZgogCX0KIAogCXNjaGVkX2Nsb2NrX3J1bm5pbmcgPSAxOwogfQogCisjaWZkZWYgQ09ORklHX05PX0haCisvKgorICogVGhlIGR5bmFtaWMgdGlja3MgbWFrZXMgdGhlIGRlbHRhIGppZmZpZXMgaW5hY2N1cmF0ZS4gVGhpcworICogcHJldmVudHMgdXMgZnJvbSBjaGVja2luZyB0aGUgbWF4aW11bSB0aW1lIHVwZGF0ZS4KKyAqIERpc2FibGUgdGhlIG1heGltdW0gY2hlY2sgZHVyaW5nIHN0b3BwZWQgdGlja3MuCisgKi8KK3ZvaWQgc2NoZWRfY2xvY2tfdGlja19zdG9wKGludCBjcHUpCit7CisJc3RydWN0IHNjaGVkX2Nsb2NrX2RhdGEgKnNjZCA9IGNwdV9zZGMoY3B1KTsKKworCXNjZC0+Y2hlY2tfbWF4ID0gMDsKK30KKwordm9pZCBzY2hlZF9jbG9ja190aWNrX3N0YXJ0KGludCBjcHUpCit7CisJc3RydWN0IHNjaGVkX2Nsb2NrX2RhdGEgKnNjZCA9IGNwdV9zZGMoY3B1KTsKKworCXNjZC0+Y2hlY2tfbWF4ID0gMTsKK30KKworc3RhdGljIGludCBjaGVja19tYXgoc3RydWN0IHNjaGVkX2Nsb2NrX2RhdGEgKnNjZCkKK3sKKwlyZXR1cm4gc2NkLT5jaGVja19tYXg7Cit9CisjZWxzZQorc3RhdGljIGludCBjaGVja19tYXgoc3RydWN0IHNjaGVkX2Nsb2NrX2RhdGEgKnNjZCkKK3sKKwlyZXR1cm4gMTsKK30KKyNlbmRpZiAvKiBDT05GSUdfTk9fSFogKi8KKwogLyoKICAqIHVwZGF0ZSB0aGUgcGVyY3B1IHNjZCBmcm9tIHRoZSByYXcgQG5vdyB2YWx1ZQogICoKICAqICAtIGZpbHRlciBvdXQgYmFja3dhcmQgbW90aW9uCiAgKiAgLSB1c2UgamlmZmllcyB0byBnZW5lcmF0ZSBhIG1pbixtYXggd2luZG93IHRvIGNsaXAgdGhlIHJhdyB2YWx1ZXMKICAqLwotc3RhdGljIHZvaWQgX191cGRhdGVfc2NoZWRfY2xvY2soc3RydWN0IHNjaGVkX2Nsb2NrX2RhdGEgKnNjZCwgdTY0IG5vdykKK3N0YXRpYyB2b2lkIF9fdXBkYXRlX3NjaGVkX2Nsb2NrKHN0cnVjdCBzY2hlZF9jbG9ja19kYXRhICpzY2QsIHU2NCBub3csIHU2NCAqdGltZSkKIHsKIAl1bnNpZ25lZCBsb25nIG5vd19qaWZmaWVzID0gamlmZmllczsKLQlsb25nIGRlbHRhX2ppZmZpZXMgPSBub3dfamlmZmllcyAtIHNjZC0+cHJldl9qaWZmaWVzOworCWxvbmcgZGVsdGFfamlmZmllcyA9IG5vd19qaWZmaWVzIC0gc2NkLT50aWNrX2ppZmZpZXM7CiAJdTY0IGNsb2NrID0gc2NkLT5jbG9jazsKIAl1NjQgbWluX2Nsb2NrLCBtYXhfY2xvY2s7CiAJczY0IGRlbHRhID0gbm93IC0gc2NkLT5wcmV2X3JhdzsKIAogCVdBUk5fT05fT05DRSghaXJxc19kaXNhYmxlZCgpKTsKLQltaW5fY2xvY2sgPSBzY2QtPnRpY2tfZ3RvZCArIGRlbHRhX2ppZmZpZXMgKiBUSUNLX05TRUM7CisKKwkvKgorCSAqIEF0IHNjaGVkdWxlIHRpY2sgdGhlIGNsb2NrIGNhbiBiZSBqdXN0IHVuZGVyIHRoZSBndG9kLiBXZSBkb24ndAorCSAqIHdhbnQgdG8gcHVzaCBpdCB0b28gcHJlbWF0dXJlbHkuCisJICovCisJbWluX2Nsb2NrID0gc2NkLT50aWNrX2d0b2QgKyAoZGVsdGFfamlmZmllcyAqIFRJQ0tfTlNFQyk7CisJaWYgKG1pbl9jbG9jayA+IFRJQ0tfTlNFQykKKwkJbWluX2Nsb2NrIC09IFRJQ0tfTlNFQyAvIDI7CiAKIAlpZiAodW5saWtlbHkoZGVsdGEgPCAwKSkgewogCQljbG9jaysrOwogCQlnb3RvIG91dDsKIAl9CiAKLQltYXhfY2xvY2sgPSBtaW5fY2xvY2sgKyBUSUNLX05TRUM7CisJLyoKKwkgKiBUaGUgY2xvY2sgbXVzdCBzdGF5IHdpdGhpbiBhIGppZmZpZSBvZiB0aGUgZ3RvZC4KKwkgKiBCdXQgc2luY2Ugd2UgbWF5IGJlIGF0IHRoZSBzdGFydCBvZiBhIGppZmZ5IG9yIHRoZSBlbmQgb2Ygb25lCisJICogd2UgYWRkIGFub3RoZXIgamlmZnkgYnVmZmVyLgorCSAqLworCW1heF9jbG9jayA9IHNjZC0+dGlja19ndG9kICsgKDIgKyBkZWx0YV9qaWZmaWVzKSAqIFRJQ0tfTlNFQzsKIAotCWlmICh1bmxpa2VseShjbG9jayArIGRlbHRhID4gbWF4X2Nsb2NrKSkgeworCWRlbHRhICo9IHNjZC0+bXVsdGk7CisJZGVsdGEgPj49IE1VTFRJX1NISUZUOworCisJaWYgKHVubGlrZWx5KGNsb2NrICsgZGVsdGEgPiBtYXhfY2xvY2spICYmIGNoZWNrX21heChzY2QpKSB7CiAJCWlmIChjbG9jayA8IG1heF9jbG9jaykKIAkJCWNsb2NrID0gbWF4X2Nsb2NrOwogCQllbHNlCkBAIC0xMTgsOSArMTgwLDEyIEBACiAJaWYgKHVubGlrZWx5KGNsb2NrIDwgbWluX2Nsb2NrKSkKIAkJY2xvY2sgPSBtaW5fY2xvY2s7CiAKLQlzY2QtPnByZXZfcmF3ID0gbm93OwotCXNjZC0+cHJldl9qaWZmaWVzID0gbm93X2ppZmZpZXM7Ci0Jc2NkLT5jbG9jayA9IGNsb2NrOworCWlmICh0aW1lKQorCQkqdGltZSA9IGNsb2NrOworCWVsc2UgeworCQlzY2QtPnByZXZfcmF3ID0gbm93OworCQlzY2QtPmNsb2NrID0gY2xvY2s7CisJfQogfQogCiBzdGF0aWMgdm9pZCBsb2NrX2RvdWJsZV9jbG9jayhzdHJ1Y3Qgc2NoZWRfY2xvY2tfZGF0YSAqZGF0YTEsCkBAIC0xNjAsMjUgKzIyNSwzMCBAQAogCQlub3cgLT0gbXlfc2NkLT50aWNrX3JhdzsKIAkJbm93ICs9IHNjZC0+dGlja19yYXc7CiAKLQkJbm93IC09IG15X3NjZC0+dGlja19ndG9kOwotCQlub3cgKz0gc2NkLT50aWNrX2d0b2Q7CisJCW5vdyArPSBteV9zY2QtPnRpY2tfZ3RvZDsKKwkJbm93IC09IHNjZC0+dGlja19ndG9kOwogCiAJCV9fcmF3X3NwaW5fdW5sb2NrKCZteV9zY2QtPmxvY2spOworCisJCV9fdXBkYXRlX3NjaGVkX2Nsb2NrKHNjZCwgbm93LCAmY2xvY2spOworCisJCV9fcmF3X3NwaW5fdW5sb2NrKCZzY2QtPmxvY2spOworCiAJfSBlbHNlIHsKIAkJX19yYXdfc3Bpbl9sb2NrKCZzY2QtPmxvY2spOworCQlfX3VwZGF0ZV9zY2hlZF9jbG9jayhzY2QsIG5vdywgTlVMTCk7CisJCWNsb2NrID0gc2NkLT5jbG9jazsKKwkJX19yYXdfc3Bpbl91bmxvY2soJnNjZC0+bG9jayk7CiAJfQogCi0JX191cGRhdGVfc2NoZWRfY2xvY2soc2NkLCBub3cpOwotCWNsb2NrID0gc2NkLT5jbG9jazsKLQotCV9fcmF3X3NwaW5fdW5sb2NrKCZzY2QtPmxvY2spOwotCiAJcmV0dXJuIGNsb2NrOwogfQogCiB2b2lkIHNjaGVkX2Nsb2NrX3RpY2sodm9pZCkKIHsKIAlzdHJ1Y3Qgc2NoZWRfY2xvY2tfZGF0YSAqc2NkID0gdGhpc19zY2QoKTsKKwl1bnNpZ25lZCBsb25nIG5vd19qaWZmaWVzID0gamlmZmllczsKKwlzNjQgbXVsdCwgZGVsdGFfZ3RvZCwgZGVsdGFfcmF3OwogCXU2NCBub3csIG5vd19ndG9kOwogCiAJaWYgKHVubGlrZWx5KCFzY2hlZF9jbG9ja19ydW5uaW5nKSkKQEAgLTE4NiwxOCArMjU2LDMzIEBACiAKIAlXQVJOX09OX09OQ0UoIWlycXNfZGlzYWJsZWQoKSk7CiAKLQlub3cgPSBzY2hlZF9jbG9jaygpOwogCW5vd19ndG9kID0ga3RpbWVfdG9fbnMoa3RpbWVfZ2V0KCkpOworCW5vdyA9IHNjaGVkX2Nsb2NrKCk7CiAKIAlfX3Jhd19zcGluX2xvY2soJnNjZC0+bG9jayk7Ci0JX191cGRhdGVfc2NoZWRfY2xvY2soc2NkLCBub3cpOworCV9fdXBkYXRlX3NjaGVkX2Nsb2NrKHNjZCwgbm93LCBOVUxMKTsKIAkvKgogCSAqIHVwZGF0ZSB0aWNrX2d0b2QgYWZ0ZXIgX191cGRhdGVfc2NoZWRfY2xvY2soKSBiZWNhdXNlIHRoYXQgd2lsbAogCSAqIGFscmVhZHkgb2JzZXJ2ZSAxIG5ldyBqaWZmeTsgYWRkaW5nIGEgbmV3IHRpY2tfZ3RvZCB0byB0aGF0IHdvdWxkCiAJICogaW5jcmVhc2UgdGhlIGNsb2NrIDIgamlmZmllcy4KIAkgKi8KKwlkZWx0YV9ndG9kID0gbm93X2d0b2QgLSBzY2QtPnRpY2tfZ3RvZDsKKwlkZWx0YV9yYXcgPSBub3cgLSBzY2QtPnRpY2tfcmF3OworCisJaWYgKChsb25nKWRlbHRhX3JhdyA+IDApIHsKKwkJbXVsdCA9IGRlbHRhX2d0b2QgPDwgTVVMVElfU0hJRlQ7CisJCWRvX2RpdihtdWx0LCBkZWx0YV9yYXcpOworCQlzY2QtPm11bHRpID0gbXVsdDsKKwkJaWYgKHNjZC0+bXVsdGkgPiBNQVhfTVVMVEkpCisJCQlzY2QtPm11bHRpID0gTUFYX01VTFRJOworCQllbHNlIGlmIChzY2QtPm11bHRpIDwgTUlOX01VTFRJKQorCQkJc2NkLT5tdWx0aSA9IE1JTl9NVUxUSTsKKwl9IGVsc2UKKwkJc2NkLT5tdWx0aSA9IDEgPDwgTVVMVElfU0hJRlQ7CisKIAlzY2QtPnRpY2tfcmF3ID0gbm93OwogCXNjZC0+dGlja19ndG9kID0gbm93X2d0b2Q7CisJc2NkLT50aWNrX2ppZmZpZXMgPSBub3dfamlmZmllczsKIAlfX3Jhd19zcGluX3VubG9jaygmc2NkLT5sb2NrKTsKIH0KIApAQCAtMjI3LDYgKzMxMiw3IEBACiAJX19yYXdfc3Bpbl9sb2NrKCZzY2QtPmxvY2spOwogCXNjZC0+cHJldl9yYXcgPSBub3c7CiAJc2NkLT5jbG9jayArPSBkZWx0YV9uczsKKwlzY2QtPm11bHRpID0gMSA8PCBNVUxUSV9TSElGVDsKIAlfX3Jhd19zcGluX3VubG9jaygmc2NkLT5sb2NrKTsKIAogCXRvdWNoX3NvZnRsb2NrdXBfd2F0Y2hkb2coKTsKQEAgLTI0NCwzICszMzAsMTYgQEAKIHsKIAlyZXR1cm4gKHVuc2lnbmVkIGxvbmcgbG9uZylqaWZmaWVzICogKE5TRUNfUEVSX1NFQyAvIEhaKTsKIH0KKwordW5zaWduZWQgbG9uZyBsb25nIGNwdV9jbG9jayhpbnQgY3B1KQoreworCXVuc2lnbmVkIGxvbmcgbG9uZyBjbG9jazsKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCisJbG9jYWxfaXJxX3NhdmUoZmxhZ3MpOworCWNsb2NrID0gc2NoZWRfY2xvY2tfY3B1KGNwdSk7CisJbG9jYWxfaXJxX3Jlc3RvcmUoZmxhZ3MpOworCisJcmV0dXJuIGNsb2NrOworfQorRVhQT1JUX1NZTUJPTF9HUEwoY3B1X2Nsb2NrKTsKZGlmZiAtLWdpdCBhL2tlcm5lbC9zY2hlZF9jcHVwcmkuYyBiL2tlcm5lbC9zY2hlZF9jcHVwcmkuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MjE1NGZlCi0tLSAvZGV2L251bGwKKysrIGIva2VybmVsL3NjaGVkX2NwdXByaS5jCkBAIC0wLDAgKzEsMTc0IEBACisvKgorICogIGtlcm5lbC9zY2hlZF9jcHVwcmkuYworICoKKyAqICBDUFUgcHJpb3JpdHkgbWFuYWdlbWVudAorICoKKyAqICBDb3B5cmlnaHQgKEMpIDIwMDctMjAwOCBOb3ZlbGwKKyAqCisgKiAgQXV0aG9yOiBHcmVnb3J5IEhhc2tpbnMgPGdoYXNraW5zQG5vdmVsbC5jb20+CisgKgorICogIFRoaXMgY29kZSB0cmFja3MgdGhlIHByaW9yaXR5IG9mIGVhY2ggQ1BVIHNvIHRoYXQgZ2xvYmFsIG1pZ3JhdGlvbgorICogIGRlY2lzaW9ucyBhcmUgZWFzeSB0byBjYWxjdWxhdGUuICBFYWNoIENQVSBjYW4gYmUgaW4gYSBzdGF0ZSBhcyBmb2xsb3dzOgorICoKKyAqICAgICAgICAgICAgICAgICAoSU5WQUxJRCksIElETEUsIE5PUk1BTCwgUlQxLCAuLi4gUlQ5OQorICoKKyAqICBnb2luZyBmcm9tIHRoZSBsb3dlc3QgcHJpb3JpdHkgdG8gdGhlIGhpZ2hlc3QuICBDUFVzIGluIHRoZSBJTlZBTElEIHN0YXRlCisgKiAgYXJlIG5vdCBlbGlnaWJsZSBmb3Igcm91dGluZy4gIFRoZSBzeXN0ZW0gbWFpbnRhaW5zIHRoaXMgc3RhdGUgd2l0aAorICogIGEgMiBkaW1lbnNpb25hbCBiaXRtYXAgKHRoZSBmaXJzdCBmb3IgcHJpb3JpdHkgY2xhc3MsIHRoZSBzZWNvbmQgZm9yIGNwdXMKKyAqICBpbiB0aGF0IGNsYXNzKS4gIFRoZXJlZm9yZSBhIHR5cGljYWwgYXBwbGljYXRpb24gd2l0aG91dCBhZmZpbml0eQorICogIHJlc3RyaWN0aW9ucyBjYW4gZmluZCBhIHN1aXRhYmxlIENQVSB3aXRoIE8oMSkgY29tcGxleGl0eSAoZS5nLiB0d28gYml0CisgKiAgc2VhcmNoZXMpLiAgRm9yIHRhc2tzIHdpdGggYWZmaW5pdHkgcmVzdHJpY3Rpb25zLCB0aGUgYWxnb3JpdGhtIGhhcyBhCisgKiAgd29yc3QgY2FzZSBjb21wbGV4aXR5IG9mIE8obWluKDEwMiwgbnJfZG9tY3B1cykpLCB0aG91Z2ggdGhlIHNjZW5hcmlvIHRoYXQKKyAqICB5aWVsZHMgdGhlIHdvcnN0IGNhc2Ugc2VhcmNoIGlzIGZhaXJseSBjb250cml2ZWQuCisgKgorICogIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyB2ZXJzaW9uIDIKKyAqICBvZiB0aGUgTGljZW5zZS4KKyAqLworCisjaW5jbHVkZSAic2NoZWRfY3B1cHJpLmgiCisKKy8qIENvbnZlcnQgYmV0d2VlbiBhIDE0MCBiYXNlZCB0YXNrLT5wcmlvLCBhbmQgb3VyIDEwMiBiYXNlZCBjcHVwcmkgKi8KK3N0YXRpYyBpbnQgY29udmVydF9wcmlvKGludCBwcmlvKQoreworCWludCBjcHVwcmk7CisKKwlpZiAocHJpbyA9PSBDUFVQUklfSU5WQUxJRCkKKwkJY3B1cHJpID0gQ1BVUFJJX0lOVkFMSUQ7CisJZWxzZSBpZiAocHJpbyA9PSBNQVhfUFJJTykKKwkJY3B1cHJpID0gQ1BVUFJJX0lETEU7CisJZWxzZSBpZiAocHJpbyA+PSBNQVhfUlRfUFJJTykKKwkJY3B1cHJpID0gQ1BVUFJJX05PUk1BTDsKKwllbHNlCisJCWNwdXByaSA9IE1BWF9SVF9QUklPIC0gcHJpbyArIDE7CisKKwlyZXR1cm4gY3B1cHJpOworfQorCisjZGVmaW5lIGZvcl9lYWNoX2NwdXByaV9hY3RpdmUoYXJyYXksIGlkeCkgICAgICAgICAgICAgICAgICAgIFwKKyAgZm9yIChpZHggPSBmaW5kX2ZpcnN0X2JpdChhcnJheSwgQ1BVUFJJX05SX1BSSU9SSVRJRVMpOyAgICAgXAorICAgICAgIGlkeCA8IENQVVBSSV9OUl9QUklPUklUSUVTOyAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgaWR4ID0gZmluZF9uZXh0X2JpdChhcnJheSwgQ1BVUFJJX05SX1BSSU9SSVRJRVMsIGlkeCsxKSkKKworLyoqCisgKiBjcHVwcmlfZmluZCAtIGZpbmQgdGhlIGJlc3QgKGxvd2VzdC1wcmkpIENQVSBpbiB0aGUgc3lzdGVtCisgKiBAY3A6IFRoZSBjcHVwcmkgY29udGV4dAorICogQHA6IFRoZSB0YXNrCisgKiBAbG93ZXN0X21hc2s6IEEgbWFzayB0byBmaWxsIGluIHdpdGggc2VsZWN0ZWQgQ1BVcworICoKKyAqIE5vdGU6IFRoaXMgZnVuY3Rpb24gcmV0dXJucyB0aGUgcmVjb21tZW5kZWQgQ1BVcyBhcyBjYWxjdWxhdGVkIGR1cmluZyB0aGUKKyAqIGN1cnJlbnQgaW52b2thdGlvbi4gIEJ5IHRoZSB0aW1lIHRoZSBjYWxsIHJldHVybnMsIHRoZSBDUFVzIG1heSBoYXZlIGluCisgKiBmYWN0IGNoYW5nZWQgcHJpb3JpdGllcyBhbnkgbnVtYmVyIG9mIHRpbWVzLiAgV2hpbGUgbm90IGlkZWFsLCBpdCBpcyBub3QKKyAqIGFuIGlzc3VlIG9mIGNvcnJlY3RuZXNzIHNpbmNlIHRoZSBub3JtYWwgcmViYWxhbmNlciBsb2dpYyB3aWxsIGNvcnJlY3QKKyAqIGFueSBkaXNjcmVwYW5jaWVzIGNyZWF0ZWQgYnkgcmFjaW5nIGFnYWluc3QgdGhlIHVuY2VydGFpbnR5IG9mIHRoZSBjdXJyZW50CisgKiBwcmlvcml0eSBjb25maWd1cmF0aW9uLgorICoKKyAqIFJldHVybnM6IChpbnQpYm9vbCAtIENQVXMgd2VyZSBmb3VuZAorICovCitpbnQgY3B1cHJpX2ZpbmQoc3RydWN0IGNwdXByaSAqY3AsIHN0cnVjdCB0YXNrX3N0cnVjdCAqcCwKKwkJY3B1bWFza190ICpsb3dlc3RfbWFzaykKK3sKKwlpbnQgICAgICAgICAgICAgICAgICBpZHggICAgICA9IDA7CisJaW50ICAgICAgICAgICAgICAgICAgdGFza19wcmkgPSBjb252ZXJ0X3ByaW8ocC0+cHJpbyk7CisKKwlmb3JfZWFjaF9jcHVwcmlfYWN0aXZlKGNwLT5wcmlfYWN0aXZlLCBpZHgpIHsKKwkJc3RydWN0IGNwdXByaV92ZWMgKnZlYyAgPSAmY3AtPnByaV90b19jcHVbaWR4XTsKKwkJY3B1bWFza190IG1hc2s7CisKKwkJaWYgKGlkeCA+PSB0YXNrX3ByaSkKKwkJCWJyZWFrOworCisJCWNwdXNfYW5kKG1hc2ssIHAtPmNwdXNfYWxsb3dlZCwgdmVjLT5tYXNrKTsKKworCQlpZiAoY3B1c19lbXB0eShtYXNrKSkKKwkJCWNvbnRpbnVlOworCisJCSpsb3dlc3RfbWFzayA9IG1hc2s7CisJCXJldHVybiAxOworCX0KKworCXJldHVybiAwOworfQorCisvKioKKyAqIGNwdXByaV9zZXQgLSB1cGRhdGUgdGhlIGNwdSBwcmlvcml0eSBzZXR0aW5nCisgKiBAY3A6IFRoZSBjcHVwcmkgY29udGV4dAorICogQGNwdTogVGhlIHRhcmdldCBjcHUKKyAqIEBwcmk6IFRoZSBwcmlvcml0eSAoSU5WQUxJRC1SVDk5KSB0byBhc3NpZ24gdG8gdGhpcyBDUFUKKyAqCisgKiBOb3RlOiBBc3N1bWVzIGNwdV9ycShjcHUpLT5sb2NrIGlzIGxvY2tlZAorICoKKyAqIFJldHVybnM6ICh2b2lkKQorICovCit2b2lkIGNwdXByaV9zZXQoc3RydWN0IGNwdXByaSAqY3AsIGludCBjcHUsIGludCBuZXdwcmkpCit7CisJaW50ICAgICAgICAgICAgICAgICAqY3VycnByaSA9ICZjcC0+Y3B1X3RvX3ByaVtjcHVdOworCWludCAgICAgICAgICAgICAgICAgIG9sZHByaSAgPSAqY3VycnByaTsKKwl1bnNpZ25lZCBsb25nICAgICAgICBmbGFnczsKKworCW5ld3ByaSA9IGNvbnZlcnRfcHJpbyhuZXdwcmkpOworCisJQlVHX09OKG5ld3ByaSA+PSBDUFVQUklfTlJfUFJJT1JJVElFUyk7CisKKwlpZiAobmV3cHJpID09IG9sZHByaSkKKwkJcmV0dXJuOworCisJLyoKKwkgKiBJZiB0aGUgY3B1IHdhcyBjdXJyZW50bHkgbWFwcGVkIHRvIGEgZGlmZmVyZW50IHZhbHVlLCB3ZQorCSAqIGZpcnN0IG5lZWQgdG8gdW5tYXAgdGhlIG9sZCB2YWx1ZQorCSAqLworCWlmIChsaWtlbHkob2xkcHJpICE9IENQVVBSSV9JTlZBTElEKSkgeworCQlzdHJ1Y3QgY3B1cHJpX3ZlYyAqdmVjICA9ICZjcC0+cHJpX3RvX2NwdVtvbGRwcmldOworCisJCXNwaW5fbG9ja19pcnFzYXZlKCZ2ZWMtPmxvY2ssIGZsYWdzKTsKKworCQl2ZWMtPmNvdW50LS07CisJCWlmICghdmVjLT5jb3VudCkKKwkJCWNsZWFyX2JpdChvbGRwcmksIGNwLT5wcmlfYWN0aXZlKTsKKwkJY3B1X2NsZWFyKGNwdSwgdmVjLT5tYXNrKTsKKworCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZ2ZWMtPmxvY2ssIGZsYWdzKTsKKwl9CisKKwlpZiAobGlrZWx5KG5ld3ByaSAhPSBDUFVQUklfSU5WQUxJRCkpIHsKKwkJc3RydWN0IGNwdXByaV92ZWMgKnZlYyA9ICZjcC0+cHJpX3RvX2NwdVtuZXdwcmldOworCisJCXNwaW5fbG9ja19pcnFzYXZlKCZ2ZWMtPmxvY2ssIGZsYWdzKTsKKworCQljcHVfc2V0KGNwdSwgdmVjLT5tYXNrKTsKKwkJdmVjLT5jb3VudCsrOworCQlpZiAodmVjLT5jb3VudCA9PSAxKQorCQkJc2V0X2JpdChuZXdwcmksIGNwLT5wcmlfYWN0aXZlKTsKKworCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZ2ZWMtPmxvY2ssIGZsYWdzKTsKKwl9CisKKwkqY3VycnByaSA9IG5ld3ByaTsKK30KKworLyoqCisgKiBjcHVwcmlfaW5pdCAtIGluaXRpYWxpemUgdGhlIGNwdXByaSBzdHJ1Y3R1cmUKKyAqIEBjcDogVGhlIGNwdXByaSBjb250ZXh0CisgKgorICogUmV0dXJuczogKHZvaWQpCisgKi8KK3ZvaWQgY3B1cHJpX2luaXQoc3RydWN0IGNwdXByaSAqY3ApCit7CisJaW50IGk7CisKKwltZW1zZXQoY3AsIDAsIHNpemVvZigqY3ApKTsKKworCWZvciAoaSA9IDA7IGkgPCBDUFVQUklfTlJfUFJJT1JJVElFUzsgaSsrKSB7CisJCXN0cnVjdCBjcHVwcmlfdmVjICp2ZWMgPSAmY3AtPnByaV90b19jcHVbaV07CisKKwkJc3Bpbl9sb2NrX2luaXQoJnZlYy0+bG9jayk7CisJCXZlYy0+Y291bnQgPSAwOworCQljcHVzX2NsZWFyKHZlYy0+bWFzayk7CisJfQorCisJZm9yX2VhY2hfcG9zc2libGVfY3B1KGkpCisJCWNwLT5jcHVfdG9fcHJpW2ldID0gQ1BVUFJJX0lOVkFMSUQ7Cit9CisKKwpkaWZmIC0tZ2l0IGEva2VybmVsL3NjaGVkX2NwdXByaS5oIGIva2VybmVsL3NjaGVkX2NwdXByaS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYyNTgxMWIwCi0tLSAvZGV2L251bGwKKysrIGIva2VybmVsL3NjaGVkX2NwdXByaS5oCkBAIC0wLDAgKzEsMzYgQEAKKyNpZm5kZWYgX0xJTlVYX0NQVVBSSV9ICisjZGVmaW5lIF9MSU5VWF9DUFVQUklfSAorCisjaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KKworI2RlZmluZSBDUFVQUklfTlJfUFJJT1JJVElFUwkoTUFYX1JUX1BSSU8gKyAyKQorI2RlZmluZSBDUFVQUklfTlJfUFJJX1dPUkRTCUJJVFNfVE9fTE9OR1MoQ1BVUFJJX05SX1BSSU9SSVRJRVMpCisKKyNkZWZpbmUgQ1BVUFJJX0lOVkFMSUQgLTEKKyNkZWZpbmUgQ1BVUFJJX0lETEUgICAgIDAKKyNkZWZpbmUgQ1BVUFJJX05PUk1BTCAgIDEKKy8qIHZhbHVlcyAyLTEwMSBhcmUgUlQgcHJpb3JpdGllcyAwLTk5ICovCisKK3N0cnVjdCBjcHVwcmlfdmVjIHsKKwlzcGlubG9ja190IGxvY2s7CisJaW50ICAgICAgICBjb3VudDsKKwljcHVtYXNrX3QgIG1hc2s7Cit9OworCitzdHJ1Y3QgY3B1cHJpIHsKKwlzdHJ1Y3QgY3B1cHJpX3ZlYyBwcmlfdG9fY3B1W0NQVVBSSV9OUl9QUklPUklUSUVTXTsKKwlsb25nICAgICAgICAgICAgICBwcmlfYWN0aXZlW0NQVVBSSV9OUl9QUklfV09SRFNdOworCWludCAgICAgICAgICAgICAgIGNwdV90b19wcmlbTlJfQ1BVU107Cit9OworCisjaWZkZWYgQ09ORklHX1NNUAoraW50ICBjcHVwcmlfZmluZChzdHJ1Y3QgY3B1cHJpICpjcCwKKwkJIHN0cnVjdCB0YXNrX3N0cnVjdCAqcCwgY3B1bWFza190ICpsb3dlc3RfbWFzayk7Cit2b2lkIGNwdXByaV9zZXQoc3RydWN0IGNwdXByaSAqY3AsIGludCBjcHUsIGludCBwcmkpOwordm9pZCBjcHVwcmlfaW5pdChzdHJ1Y3QgY3B1cHJpICpjcCk7CisjZWxzZQorI2RlZmluZSBjcHVwcmlfc2V0KGNwLCBjcHUsIHByaSkgZG8geyB9IHdoaWxlICgwKQorI2RlZmluZSBjcHVwcmlfaW5pdCgpIGRvIHsgfSB3aGlsZSAoMCkKKyNlbmRpZgorCisjZW5kaWYgLyogX0xJTlVYX0NQVVBSSV9IICovCmRpZmYgLS1naXQgYS9rZXJuZWwvc2NoZWRfZGVidWcuYyBiL2tlcm5lbC9zY2hlZF9kZWJ1Zy5jCmluZGV4IDhiYjcxMzAuLmJiZTZiMzEgMTAwNjQ0Ci0tLSBhL2tlcm5lbC9zY2hlZF9kZWJ1Zy5jCisrKyBiL2tlcm5lbC9zY2hlZF9kZWJ1Zy5jCkBAIC0xMTksOSArMTE5LDcgQEAKIAlzdHJ1Y3Qgc2NoZWRfZW50aXR5ICpsYXN0OwogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAKLSNpZiAhZGVmaW5lZChDT05GSUdfQ0dST1VQX1NDSEVEKSB8fCAhZGVmaW5lZChDT05GSUdfVVNFUl9TQ0hFRCkKLQlTRVFfcHJpbnRmKG0sICJcbmNmc19ycVslZF06XG4iLCBjcHUpOwotI2Vsc2UKKyNpZiBkZWZpbmVkKENPTkZJR19DR1JPVVBfU0NIRUQpICYmIGRlZmluZWQoQ09ORklHX0ZBSVJfR1JPVVBfU0NIRUQpCiAJY2hhciBwYXRoWzEyOF0gPSAiIjsKIAlzdHJ1Y3QgY2dyb3VwICpjZ3JvdXAgPSBOVUxMOwogCXN0cnVjdCB0YXNrX2dyb3VwICp0ZyA9IGNmc19ycS0+dGc7CkBAIC0xMzMsNiArMTMxLDggQEAKIAkJY2dyb3VwX3BhdGgoY2dyb3VwLCBwYXRoLCBzaXplb2YocGF0aCkpOwogCiAJU0VRX3ByaW50ZihtLCAiXG5jZnNfcnFbJWRdOiVzXG4iLCBjcHUsIHBhdGgpOworI2Vsc2UKKwlTRVFfcHJpbnRmKG0sICJcbmNmc19ycVslZF06XG4iLCBjcHUpOwogI2VuZGlmCiAKIAlTRVFfcHJpbnRmKG0sICIgIC4lLTMwczogJUxkLiUwNmxkXG4iLCAiZXhlY19jbG9jayIsCkBAIC0xNjIsMTEgKzE2Miw2NCBAQAogCVNFUV9wcmludGYobSwgIiAgLiUtMzBzOiAlbGRcbiIsICJucl9ydW5uaW5nIiwgY2ZzX3JxLT5ucl9ydW5uaW5nKTsKIAlTRVFfcHJpbnRmKG0sICIgIC4lLTMwczogJWxkXG4iLCAibG9hZCIsIGNmc19ycS0+bG9hZC53ZWlnaHQpOwogI2lmZGVmIENPTkZJR19TQ0hFRFNUQVRTCi0JU0VRX3ByaW50ZihtLCAiICAuJS0zMHM6ICVkXG4iLCAiYmtsX2NvdW50IiwKLQkJCXJxLT5ia2xfY291bnQpOworI2RlZmluZSBQKG4pIFNFUV9wcmludGYobSwgIiAgLiUtMzBzOiAlZFxuIiwgI24sIHJxLT5uKTsKKworCVAoeWxkX2V4cF9lbXB0eSk7CisJUCh5bGRfYWN0X2VtcHR5KTsKKwlQKHlsZF9ib3RoX2VtcHR5KTsKKwlQKHlsZF9jb3VudCk7CisKKwlQKHNjaGVkX3N3aXRjaCk7CisJUChzY2hlZF9jb3VudCk7CisJUChzY2hlZF9nb2lkbGUpOworCisJUCh0dHd1X2NvdW50KTsKKwlQKHR0d3VfbG9jYWwpOworCisJUChia2xfY291bnQpOworCisjdW5kZWYgUAogI2VuZGlmCiAJU0VRX3ByaW50ZihtLCAiICAuJS0zMHM6ICVsZFxuIiwgIm5yX3NwcmVhZF9vdmVyIiwKIAkJCWNmc19ycS0+bnJfc3ByZWFkX292ZXIpOworI2lmZGVmIENPTkZJR19GQUlSX0dST1VQX1NDSEVECisjaWZkZWYgQ09ORklHX1NNUAorCVNFUV9wcmludGYobSwgIiAgLiUtMzBzOiAlbHVcbiIsICJzaGFyZXMiLCBjZnNfcnEtPnNoYXJlcyk7CisjZW5kaWYKKyNlbmRpZgorfQorCit2b2lkIHByaW50X3J0X3JxKHN0cnVjdCBzZXFfZmlsZSAqbSwgaW50IGNwdSwgc3RydWN0IHJ0X3JxICpydF9ycSkKK3sKKyNpZiBkZWZpbmVkKENPTkZJR19DR1JPVVBfU0NIRUQpICYmIGRlZmluZWQoQ09ORklHX1JUX0dST1VQX1NDSEVEKQorCWNoYXIgcGF0aFsxMjhdID0gIiI7CisJc3RydWN0IGNncm91cCAqY2dyb3VwID0gTlVMTDsKKwlzdHJ1Y3QgdGFza19ncm91cCAqdGcgPSBydF9ycS0+dGc7CisKKwlpZiAodGcpCisJCWNncm91cCA9IHRnLT5jc3MuY2dyb3VwOworCisJaWYgKGNncm91cCkKKwkJY2dyb3VwX3BhdGgoY2dyb3VwLCBwYXRoLCBzaXplb2YocGF0aCkpOworCisJU0VRX3ByaW50ZihtLCAiXG5ydF9ycVslZF06JXNcbiIsIGNwdSwgcGF0aCk7CisjZWxzZQorCVNFUV9wcmludGYobSwgIlxucnRfcnFbJWRdOlxuIiwgY3B1KTsKKyNlbmRpZgorCisKKyNkZWZpbmUgUCh4KSBcCisJU0VRX3ByaW50ZihtLCAiICAuJS0zMHM6ICVMZFxuIiwgI3gsIChsb25nIGxvbmcpKHJ0X3JxLT54KSkKKyNkZWZpbmUgUE4oeCkgXAorCVNFUV9wcmludGYobSwgIiAgLiUtMzBzOiAlTGQuJTA2bGRcbiIsICN4LCBTUExJVF9OUyhydF9ycS0+eCkpCisKKwlQKHJ0X25yX3J1bm5pbmcpOworCVAocnRfdGhyb3R0bGVkKTsKKwlQTihydF90aW1lKTsKKwlQTihydF9ydW50aW1lKTsKKworI3VuZGVmIFBOCisjdW5kZWYgUAogfQogCiBzdGF0aWMgdm9pZCBwcmludF9jcHUoc3RydWN0IHNlcV9maWxlICptLCBpbnQgY3B1KQpAQCAtMjA4LDYgKzI2MSw3IEBACiAjdW5kZWYgUE4KIAogCXByaW50X2Nmc19zdGF0cyhtLCBjcHUpOworCXByaW50X3J0X3N0YXRzKG0sIGNwdSk7CiAKIAlwcmludF9ycShtLCBycSwgY3B1KTsKIH0KZGlmZiAtLWdpdCBhL2tlcm5lbC9zY2hlZF9mYWlyLmMgYi9rZXJuZWwvc2NoZWRfZmFpci5jCmluZGV4IDA4YWU4NDguLmYyYWE5ODcgMTAwNjQ0Ci0tLSBhL2tlcm5lbC9zY2hlZF9mYWlyLmMKKysrIGIva2VybmVsL3NjaGVkX2ZhaXIuYwpAQCAtNjMsMTMgKzYzLDEzIEBACiAKIC8qCiAgKiBTQ0hFRF9PVEhFUiB3YWtlLXVwIGdyYW51bGFyaXR5LgotICogKGRlZmF1bHQ6IDEwIG1zZWMgKiAoMSArIGlsb2cobmNwdXMpKSwgdW5pdHM6IG5hbm9zZWNvbmRzKQorICogKGRlZmF1bHQ6IDUgbXNlYyAqICgxICsgaWxvZyhuY3B1cykpLCB1bml0czogbmFub3NlY29uZHMpCiAgKgogICogVGhpcyBvcHRpb24gZGVsYXlzIHRoZSBwcmVlbXB0aW9uIGVmZmVjdHMgb2YgZGVjb3VwbGVkIHdvcmtsb2FkcwogICogYW5kIHJlZHVjZXMgdGhlaXIgb3Zlci1zY2hlZHVsaW5nLiBTeW5jaHJvbm91cyB3b3JrbG9hZHMgd2lsbCBzdGlsbAogICogaGF2ZSBpbW1lZGlhdGUgd2FrZXVwL3NsZWVwIGxhdGVuY2llcy4KICAqLwotdW5zaWduZWQgaW50IHN5c2N0bF9zY2hlZF93YWtldXBfZ3JhbnVsYXJpdHkgPSAxMDAwMDAwMFVMOwordW5zaWduZWQgaW50IHN5c2N0bF9zY2hlZF93YWtldXBfZ3JhbnVsYXJpdHkgPSA1MDAwMDAwVUw7CiAKIGNvbnN0X2RlYnVnIHVuc2lnbmVkIGludCBzeXNjdGxfc2NoZWRfbWlncmF0aW9uX2Nvc3QgPSA1MDAwMDBVTDsKIApAQCAtMzM0LDYgKzMzNCwzNCBAQAogI2VuZGlmCiAKIC8qCisgKiBkZWx0YSAqPSB3IC8gcncKKyAqLworc3RhdGljIGlubGluZSB1bnNpZ25lZCBsb25nCitjYWxjX2RlbHRhX3dlaWdodCh1bnNpZ25lZCBsb25nIGRlbHRhLCBzdHJ1Y3Qgc2NoZWRfZW50aXR5ICpzZSkKK3sKKwlmb3JfZWFjaF9zY2hlZF9lbnRpdHkoc2UpIHsKKwkJZGVsdGEgPSBjYWxjX2RlbHRhX21pbmUoZGVsdGEsCisJCQkJc2UtPmxvYWQud2VpZ2h0LCAmY2ZzX3JxX29mKHNlKS0+bG9hZCk7CisJfQorCisJcmV0dXJuIGRlbHRhOworfQorCisvKgorICogZGVsdGEgKj0gcncgLyB3CisgKi8KK3N0YXRpYyBpbmxpbmUgdW5zaWduZWQgbG9uZworY2FsY19kZWx0YV9mYWlyKHVuc2lnbmVkIGxvbmcgZGVsdGEsIHN0cnVjdCBzY2hlZF9lbnRpdHkgKnNlKQoreworCWZvcl9lYWNoX3NjaGVkX2VudGl0eShzZSkgeworCQlkZWx0YSA9IGNhbGNfZGVsdGFfbWluZShkZWx0YSwKKwkJCQljZnNfcnFfb2Yoc2UpLT5sb2FkLndlaWdodCwgJnNlLT5sb2FkKTsKKwl9CisKKwlyZXR1cm4gZGVsdGE7Cit9CisKKy8qCiAgKiBUaGUgaWRlYSBpcyB0byBzZXQgYSBwZXJpb2QgaW4gd2hpY2ggZWFjaCB0YXNrIHJ1bnMgb25jZS4KICAqCiAgKiBXaGVuIHRoZXJlIGFyZSB0b28gbWFueSB0YXNrcyAoc3lzY3RsX3NjaGVkX25yX2xhdGVuY3kpIHdlIGhhdmUgdG8gc3RyZXRjaApAQCAtMzYyLDQ3ICszOTAsODAgQEAKICAqLwogc3RhdGljIHU2NCBzY2hlZF9zbGljZShzdHJ1Y3QgY2ZzX3JxICpjZnNfcnEsIHN0cnVjdCBzY2hlZF9lbnRpdHkgKnNlKQogewotCXU2NCBzbGljZSA9IF9fc2NoZWRfcGVyaW9kKGNmc19ycS0+bnJfcnVubmluZyk7Ci0KLQlmb3JfZWFjaF9zY2hlZF9lbnRpdHkoc2UpIHsKLQkJY2ZzX3JxID0gY2ZzX3JxX29mKHNlKTsKLQotCQlzbGljZSAqPSBzZS0+bG9hZC53ZWlnaHQ7Ci0JCWRvX2RpdihzbGljZSwgY2ZzX3JxLT5sb2FkLndlaWdodCk7Ci0JfQotCi0KLQlyZXR1cm4gc2xpY2U7CisJcmV0dXJuIGNhbGNfZGVsdGFfd2VpZ2h0KF9fc2NoZWRfcGVyaW9kKGNmc19ycS0+bnJfcnVubmluZyksIHNlKTsKIH0KIAogLyoKICAqIFdlIGNhbGN1bGF0ZSB0aGUgdnJ1bnRpbWUgc2xpY2Ugb2YgYSB0byBiZSBpbnNlcnRlZCB0YXNrCiAgKgotICogdnMgPSBzL3cgPSBwL3J3CisgKiB2cyA9IHMqcncvdyA9IHAKICAqLwogc3RhdGljIHU2NCBzY2hlZF92c2xpY2VfYWRkKHN0cnVjdCBjZnNfcnEgKmNmc19ycSwgc3RydWN0IHNjaGVkX2VudGl0eSAqc2UpCiB7CiAJdW5zaWduZWQgbG9uZyBucl9ydW5uaW5nID0gY2ZzX3JxLT5ucl9ydW5uaW5nOwotCXVuc2lnbmVkIGxvbmcgd2VpZ2h0OwotCXU2NCB2c2xpY2U7CiAKIAlpZiAoIXNlLT5vbl9ycSkKIAkJbnJfcnVubmluZysrOwogCi0JdnNsaWNlID0gX19zY2hlZF9wZXJpb2QobnJfcnVubmluZyk7CisJcmV0dXJuIF9fc2NoZWRfcGVyaW9kKG5yX3J1bm5pbmcpOworfQorCisvKgorICogVGhlIGdvYWwgb2YgY2FsY19kZWx0YV9hc3ltKCkgaXMgdG8gYmUgYXN5bW1ldHJpY2FsbHkgYXJvdW5kIE5JQ0VfMF9MT0FELCBpbgorICogdGhhdCBpdCBmYXZvdXJzID49MCBvdmVyIDwwLgorICoKKyAqICAgLTIwICAgICAgICAgfAorICogICAgICAgICAgICAgICB8CisgKiAgICAgMCAtLS0tLS0tLSstLS0tLS0tCisgKiAgICAgICAgICAgICAuJworICogICAgMTkgICAgIC4nCisgKgorICovCitzdGF0aWMgdW5zaWduZWQgbG9uZworY2FsY19kZWx0YV9hc3ltKHVuc2lnbmVkIGxvbmcgZGVsdGEsIHN0cnVjdCBzY2hlZF9lbnRpdHkgKnNlKQoreworCXN0cnVjdCBsb2FkX3dlaWdodCBsdyA9IHsKKwkJLndlaWdodCA9IE5JQ0VfMF9MT0FELAorCQkuaW52X3dlaWdodCA9IDFVTCA8PCAoV01VTFRfU0hJRlQtTklDRV8wX1NISUZUKQorCX07CiAKIAlmb3JfZWFjaF9zY2hlZF9lbnRpdHkoc2UpIHsKLQkJY2ZzX3JxID0gY2ZzX3JxX29mKHNlKTsKKwkJc3RydWN0IGxvYWRfd2VpZ2h0ICpzZV9sdyA9ICZzZS0+bG9hZDsKKwkJdW5zaWduZWQgbG9uZyBydyA9IGNmc19ycV9vZihzZSktPmxvYWQud2VpZ2h0OwogCi0JCXdlaWdodCA9IGNmc19ycS0+bG9hZC53ZWlnaHQ7Ci0JCWlmICghc2UtPm9uX3JxKQotCQkJd2VpZ2h0ICs9IHNlLT5sb2FkLndlaWdodDsKKyNpZmRlZiBDT05GSUdfRkFJUl9TQ0hFRF9HUk9VUAorCQlzdHJ1Y3QgY2ZzX3JxICpjZnNfcnEgPSBzZS0+bXlfcTsKKwkJc3RydWN0IHRhc2tfZ3JvdXAgKnRnID0gTlVMTAogCi0JCXZzbGljZSAqPSBOSUNFXzBfTE9BRDsKLQkJZG9fZGl2KHZzbGljZSwgd2VpZ2h0KTsKKwkJaWYgKGNmc19ycSkKKwkJCXRnID0gY2ZzX3JxLT50ZzsKKworCQlpZiAodGcgJiYgdGctPnNoYXJlcyA8IE5JQ0VfMF9MT0FEKSB7CisJCQkvKgorCQkJICogc2NhbGUgc2hhcmVzIHRvIHdoYXQgaXQgd291bGQgaGF2ZSBiZWVuIGhhZAorCQkJICogdGctPndlaWdodCBiZWVuIE5JQ0VfMF9MT0FEOgorCQkJICoKKwkJCSAqICAgd2VpZ2h0ID0gMTAyNCAqIHNoYXJlcyAvIHRnLT53ZWlnaHQKKwkJCSAqLworCQkJbHcud2VpZ2h0ICo9IHNlLT5sb2FkLndlaWdodDsKKwkJCWx3LndlaWdodCAvPSB0Zy0+c2hhcmVzOworCisJCQlsdy5pbnZfd2VpZ2h0ID0gMDsKKworCQkJc2VfbHcgPSAmbHc7CisJCQlydyArPSBsdy53ZWlnaHQgLSBzZS0+bG9hZC53ZWlnaHQ7CisJCX0gZWxzZQorI2VuZGlmCisKKwkJaWYgKHNlLT5sb2FkLndlaWdodCA8IE5JQ0VfMF9MT0FEKSB7CisJCQlzZV9sdyA9ICZsdzsKKwkJCXJ3ICs9IE5JQ0VfMF9MT0FEIC0gc2UtPmxvYWQud2VpZ2h0OworCQl9CisKKwkJZGVsdGEgPSBjYWxjX2RlbHRhX21pbmUoZGVsdGEsIHJ3LCBzZV9sdyk7CiAJfQogCi0JcmV0dXJuIHZzbGljZTsKKwlyZXR1cm4gZGVsdGE7CiB9CiAKIC8qCkBAIC00MTksMTEgKzQ4MCw3IEBACiAKIAljdXJyLT5zdW1fZXhlY19ydW50aW1lICs9IGRlbHRhX2V4ZWM7CiAJc2NoZWRzdGF0X2FkZChjZnNfcnEsIGV4ZWNfY2xvY2ssIGRlbHRhX2V4ZWMpOwotCWRlbHRhX2V4ZWNfd2VpZ2h0ZWQgPSBkZWx0YV9leGVjOwotCWlmICh1bmxpa2VseShjdXJyLT5sb2FkLndlaWdodCAhPSBOSUNFXzBfTE9BRCkpIHsKLQkJZGVsdGFfZXhlY193ZWlnaHRlZCA9IGNhbGNfZGVsdGFfZmFpcihkZWx0YV9leGVjX3dlaWdodGVkLAotCQkJCQkJCSZjdXJyLT5sb2FkKTsKLQl9CisJZGVsdGFfZXhlY193ZWlnaHRlZCA9IGNhbGNfZGVsdGFfZmFpcihkZWx0YV9leGVjLCBjdXJyKTsKIAljdXJyLT52cnVudGltZSArPSBkZWx0YV9leGVjX3dlaWdodGVkOwogfQogCkBAIC01MTAsMTAgKzU2NywyNyBAQAogICogU2NoZWR1bGluZyBjbGFzcyBxdWV1ZWluZyBtZXRob2RzOgogICovCiAKKyNpZiBkZWZpbmVkIENPTkZJR19TTVAgJiYgZGVmaW5lZCBDT05GSUdfRkFJUl9HUk9VUF9TQ0hFRAorc3RhdGljIHZvaWQKK2FkZF9jZnNfdGFza193ZWlnaHQoc3RydWN0IGNmc19ycSAqY2ZzX3JxLCB1bnNpZ25lZCBsb25nIHdlaWdodCkKK3sKKwljZnNfcnEtPnRhc2tfd2VpZ2h0ICs9IHdlaWdodDsKK30KKyNlbHNlCitzdGF0aWMgaW5saW5lIHZvaWQKK2FkZF9jZnNfdGFza193ZWlnaHQoc3RydWN0IGNmc19ycSAqY2ZzX3JxLCB1bnNpZ25lZCBsb25nIHdlaWdodCkKK3sKK30KKyNlbmRpZgorCiBzdGF0aWMgdm9pZAogYWNjb3VudF9lbnRpdHlfZW5xdWV1ZShzdHJ1Y3QgY2ZzX3JxICpjZnNfcnEsIHN0cnVjdCBzY2hlZF9lbnRpdHkgKnNlKQogewogCXVwZGF0ZV9sb2FkX2FkZCgmY2ZzX3JxLT5sb2FkLCBzZS0+bG9hZC53ZWlnaHQpOworCWlmICghcGFyZW50X2VudGl0eShzZSkpCisJCWluY19jcHVfbG9hZChycV9vZihjZnNfcnEpLCBzZS0+bG9hZC53ZWlnaHQpOworCWlmIChlbnRpdHlfaXNfdGFzayhzZSkpCisJCWFkZF9jZnNfdGFza193ZWlnaHQoY2ZzX3JxLCBzZS0+bG9hZC53ZWlnaHQpOwogCWNmc19ycS0+bnJfcnVubmluZysrOwogCXNlLT5vbl9ycSA9IDE7CiAJbGlzdF9hZGQoJnNlLT5ncm91cF9ub2RlLCAmY2ZzX3JxLT50YXNrcyk7CkBAIC01MjMsNiArNTk3LDEwIEBACiBhY2NvdW50X2VudGl0eV9kZXF1ZXVlKHN0cnVjdCBjZnNfcnEgKmNmc19ycSwgc3RydWN0IHNjaGVkX2VudGl0eSAqc2UpCiB7CiAJdXBkYXRlX2xvYWRfc3ViKCZjZnNfcnEtPmxvYWQsIHNlLT5sb2FkLndlaWdodCk7CisJaWYgKCFwYXJlbnRfZW50aXR5KHNlKSkKKwkJZGVjX2NwdV9sb2FkKHJxX29mKGNmc19ycSksIHNlLT5sb2FkLndlaWdodCk7CisJaWYgKGVudGl0eV9pc190YXNrKHNlKSkKKwkJYWRkX2Nmc190YXNrX3dlaWdodChjZnNfcnEsIC1zZS0+bG9hZC53ZWlnaHQpOwogCWNmc19ycS0+bnJfcnVubmluZy0tOwogCXNlLT5vbl9ycSA9IDA7CiAJbGlzdF9kZWxfaW5pdCgmc2UtPmdyb3VwX25vZGUpOwpAQCAtNjA5LDggKzY4NywxNyBAQAogCiAJaWYgKCFpbml0aWFsKSB7CiAJCS8qIHNsZWVwcyB1cHRvIGEgc2luZ2xlIGxhdGVuY3kgZG9uJ3QgY291bnQuICovCi0JCWlmIChzY2hlZF9mZWF0KE5FV19GQUlSX1NMRUVQRVJTKSkKLQkJCXZydW50aW1lIC09IHN5c2N0bF9zY2hlZF9sYXRlbmN5OworCQlpZiAoc2NoZWRfZmVhdChORVdfRkFJUl9TTEVFUEVSUykpIHsKKwkJCXVuc2lnbmVkIGxvbmcgdGhyZXNoID0gc3lzY3RsX3NjaGVkX2xhdGVuY3k7CisKKwkJCS8qCisJCQkgKiBjb252ZXJ0IHRoZSBzbGVlcGVyIHRocmVzaG9sZCBpbnRvIHZpcnR1YWwgdGltZQorCQkJICovCisJCQlpZiAoc2NoZWRfZmVhdChOT1JNQUxJWkVEX1NMRUVQRVIpKQorCQkJCXRocmVzaCA9IGNhbGNfZGVsdGFfZmFpcih0aHJlc2gsIHNlKTsKKworCQkJdnJ1bnRpbWUgLT0gdGhyZXNoOworCQl9CiAKIAkJLyogZW5zdXJlIHdlIG5ldmVyIGdhaW4gdGltZSBieSBiZWluZyBwbGFjZWQgYmFja3dhcmRzLiAqLwogCQl2cnVudGltZSA9IG1heF92cnVudGltZShzZS0+dnJ1bnRpbWUsIHZydW50aW1lKTsKQEAgLTYzOSwyMSArNzI2LDYgQEAKIAkJX19lbnF1ZXVlX2VudGl0eShjZnNfcnEsIHNlKTsKIH0KIAotc3RhdGljIHZvaWQgdXBkYXRlX2F2Zyh1NjQgKmF2ZywgdTY0IHNhbXBsZSkKLXsKLQlzNjQgZGlmZiA9IHNhbXBsZSAtICphdmc7Ci0JKmF2ZyArPSBkaWZmID4+IDM7Ci19Ci0KLXN0YXRpYyB2b2lkIHVwZGF0ZV9hdmdfc3RhdHMoc3RydWN0IGNmc19ycSAqY2ZzX3JxLCBzdHJ1Y3Qgc2NoZWRfZW50aXR5ICpzZSkKLXsKLQlpZiAoIXNlLT5sYXN0X3dha2V1cCkKLQkJcmV0dXJuOwotCi0JdXBkYXRlX2F2Zygmc2UtPmF2Z19vdmVybGFwLCBzZS0+c3VtX2V4ZWNfcnVudGltZSAtIHNlLT5sYXN0X3dha2V1cCk7Ci0Jc2UtPmxhc3Rfd2FrZXVwID0gMDsKLX0KLQogc3RhdGljIHZvaWQKIGRlcXVldWVfZW50aXR5KHN0cnVjdCBjZnNfcnEgKmNmc19ycSwgc3RydWN0IHNjaGVkX2VudGl0eSAqc2UsIGludCBzbGVlcCkKIHsKQEAgLTY2NCw3ICs3MzYsNiBAQAogCiAJdXBkYXRlX3N0YXRzX2RlcXVldWUoY2ZzX3JxLCBzZSk7CiAJaWYgKHNsZWVwKSB7Ci0JCXVwZGF0ZV9hdmdfc3RhdHMoY2ZzX3JxLCBzZSk7CiAjaWZkZWYgQ09ORklHX1NDSEVEU1RBVFMKIAkJaWYgKGVudGl0eV9pc190YXNrKHNlKSkgewogCQkJc3RydWN0IHRhc2tfc3RydWN0ICp0c2sgPSB0YXNrX29mKHNlKTsKQEAgLTcyNiwxNyArNzk3LDE2IEBACiAJc2UtPnByZXZfc3VtX2V4ZWNfcnVudGltZSA9IHNlLT5zdW1fZXhlY19ydW50aW1lOwogfQogCi1zdGF0aWMgaW50Ci13YWtldXBfcHJlZW1wdF9lbnRpdHkoc3RydWN0IHNjaGVkX2VudGl0eSAqY3Vyciwgc3RydWN0IHNjaGVkX2VudGl0eSAqc2UpOwotCiBzdGF0aWMgc3RydWN0IHNjaGVkX2VudGl0eSAqCiBwaWNrX25leHQoc3RydWN0IGNmc19ycSAqY2ZzX3JxLCBzdHJ1Y3Qgc2NoZWRfZW50aXR5ICpzZSkKIHsKLQlpZiAoIWNmc19ycS0+bmV4dCkKLQkJcmV0dXJuIHNlOworCXN0cnVjdCBycSAqcnEgPSBycV9vZihjZnNfcnEpOworCXU2NCBwYWlyX3NsaWNlID0gcnEtPmNsb2NrIC0gY2ZzX3JxLT5wYWlyX3N0YXJ0OwogCi0JaWYgKHdha2V1cF9wcmVlbXB0X2VudGl0eShjZnNfcnEtPm5leHQsIHNlKSAhPSAwKQorCWlmICghY2ZzX3JxLT5uZXh0IHx8IHBhaXJfc2xpY2UgPiBzY2hlZF9zbGljZShjZnNfcnEsIGNmc19ycS0+bmV4dCkpIHsKKwkJY2ZzX3JxLT5wYWlyX3N0YXJ0ID0gcnEtPmNsb2NrOwogCQlyZXR1cm4gc2U7CisJfQogCiAJcmV0dXJuIGNmc19ycS0+bmV4dDsKIH0KQEAgLTgzNSw3ICs5MDUsNyBAQAogCQlocnRpY2tfc3RhcnQocnEsIGRlbHRhLCByZXF1ZXVlKTsKIAl9CiB9Ci0jZWxzZQorI2Vsc2UgLyogIUNPTkZJR19TQ0hFRF9IUlRJQ0sgKi8KIHN0YXRpYyBpbmxpbmUgdm9pZAogaHJ0aWNrX3N0YXJ0X2ZhaXIoc3RydWN0IHJxICpycSwgc3RydWN0IHRhc2tfc3RydWN0ICpwKQogewpAQCAtOTc2LDcgKzEwNDYsNyBAQAogCX0KIAlyZXR1cm4gY3B1OwogfQotI2Vsc2UKKyNlbHNlIC8qICFBUkNIX0hBU19TQ0hFRF9XQUtFX0lETEUqLwogc3RhdGljIGlubGluZSBpbnQgd2FrZV9pZGxlKGludCBjcHUsIHN0cnVjdCB0YXNrX3N0cnVjdCAqcCkKIHsKIAlyZXR1cm4gY3B1OwpAQCAtOTg3LDYgKzEwNTcsODkgQEAKIAogc3RhdGljIGNvbnN0IHN0cnVjdCBzY2hlZF9jbGFzcyBmYWlyX3NjaGVkX2NsYXNzOwogCisjaWZkZWYgQ09ORklHX0ZBSVJfR1JPVVBfU0NIRUQKKy8qCisgKiBlZmZlY3RpdmVfbG9hZCgpIGNhbGN1bGF0ZXMgdGhlIGxvYWQgY2hhbmdlIGFzIHNlZW4gZnJvbSB0aGUgcm9vdF90YXNrX2dyb3VwCisgKgorICogQWRkaW5nIGxvYWQgdG8gYSBncm91cCBkb2Vzbid0IG1ha2UgYSBncm91cCBoZWF2aWVyLCBidXQgY2FuIGNhdXNlIG1vdmVtZW50CisgKiBvZiBncm91cCBzaGFyZXMgYmV0d2VlbiBjcHVzLiBBc3N1bWluZyB0aGUgc2hhcmVzIHdlcmUgcGVyZmVjdGx5IGFsaWduZWQgb25lCisgKiBjYW4gY2FsY3VsYXRlIHRoZSBzaGlmdCBpbiBzaGFyZXMuCisgKgorICogVGhlIHByb2JsZW0gaXMgdGhhdCBwZXJmZWN0bHkgYWxpZ25pbmcgdGhlIHNoYXJlcyBpcyByYXRoZXIgZXhwZW5zaXZlLCBoZW5jZQorICogd2UgdHJ5IHRvIGF2b2lkIGRvaW5nIHRoYXQgdG9vIG9mdGVuIC0gc2VlIHVwZGF0ZV9zaGFyZXMoKSwgd2hpY2ggcmF0ZWxpbWl0cworICogdGhpcyBjaGFuZ2UuCisgKgorICogV2UgY29tcGVuc2F0ZSB0aGlzIGJ5IG5vdCBvbmx5IHRha2luZyB0aGUgY3VycmVudCBkZWx0YSBpbnRvIGFjY291bnQsIGJ1dAorICogYWxzbyBjb25zaWRlcmluZyB0aGUgZGVsdGEgYmV0d2VlbiB3aGVuIHRoZSBzaGFyZXMgd2VyZSBsYXN0IGFkanVzdGVkIGFuZAorICogbm93LgorICoKKyAqIFdlIHN0aWxsIHNhdyBhIHBlcmZvcm1hbmNlIGRpcCwgc29tZSB0cmFjaW5nIGxlYXJuZWQgdXMgdGhhdCBiZXR3ZWVuCisgKiBjZ3JvdXA6LyBhbmQgY2dyb3VwOi9mb28gYmFsYW5jaW5nIHRoZSBudW1iZXIgb2YgYWZmaW5lIHdha2V1cHMgaW5jcmVhc2VkCisgKiBzaWduaWZpY2FudGx5LiBUaGVyZWZvcmUgdHJ5IHRvIGJpYXMgdGhlIGVycm9yIGluIGRpcmVjdGlvbiBvZiBmYWlsaW5nCisgKiB0aGUgYWZmaW5lIHdha2V1cC4KKyAqCisgKi8KK3N0YXRpYyBsb25nIGVmZmVjdGl2ZV9sb2FkKHN0cnVjdCB0YXNrX2dyb3VwICp0ZywgaW50IGNwdSwKKwkJbG9uZyB3bCwgbG9uZyB3ZykKK3sKKwlzdHJ1Y3Qgc2NoZWRfZW50aXR5ICpzZSA9IHRnLT5zZVtjcHVdOworCWxvbmcgbW9yZV93OworCisJaWYgKCF0Zy0+cGFyZW50KQorCQlyZXR1cm4gd2w7CisKKwkvKgorCSAqIEJ5IG5vdCB0YWtpbmcgdGhlIGRlY3JlYXNlIG9mIHNoYXJlcyBvbiB0aGUgb3RoZXIgY3B1IGludG8KKwkgKiBhY2NvdW50IG91ciBlcnJvciBsZWFucyB0b3dhcmRzIHJlZHVjaW5nIHRoZSBhZmZpbmUgd2FrZXVwcy4KKwkgKi8KKwlpZiAoIXdsICYmIHNjaGVkX2ZlYXQoQVNZTV9FRkZfTE9BRCkpCisJCXJldHVybiB3bDsKKworCS8qCisJICogSW5zdGVhZCBvZiB1c2luZyB0aGlzIGluY3JlbWVudCwgYWxzbyBhZGQgdGhlIGRpZmZlcmVuY2UKKwkgKiBiZXR3ZWVuIHdoZW4gdGhlIHNoYXJlcyB3ZXJlIGxhc3QgdXBkYXRlZCBhbmQgbm93LgorCSAqLworCW1vcmVfdyA9IHNlLT5teV9xLT5sb2FkLndlaWdodCAtIHNlLT5teV9xLT5ycV93ZWlnaHQ7CisJd2wgKz0gbW9yZV93OworCXdnICs9IG1vcmVfdzsKKworCWZvcl9lYWNoX3NjaGVkX2VudGl0eShzZSkgeworI2RlZmluZSBEKG4pIChsaWtlbHkobikgPyAobikgOiAxKQorCisJCWxvbmcgUywgcncsIHMsIGEsIGI7CisKKwkJUyA9IHNlLT5teV9xLT50Zy0+c2hhcmVzOworCQlzID0gc2UtPm15X3EtPnNoYXJlczsKKwkJcncgPSBzZS0+bXlfcS0+cnFfd2VpZ2h0OworCisJCWEgPSBTKihydyArIHdsKTsKKwkJYiA9IFMqcncgKyBzKndnOworCisJCXdsID0gcyooYS1iKS9EKGIpOworCQkvKgorCQkgKiBBc3N1bWUgdGhlIGdyb3VwIGlzIGFscmVhZHkgcnVubmluZyBhbmQgd2lsbAorCQkgKiB0aHVzIGFscmVhZHkgYmUgYWNjb3VudGVkIGZvciBpbiB0aGUgd2VpZ2h0LgorCQkgKgorCQkgKiBUaGF0IGlzLCBtb3Zpbmcgc2hhcmVzIGJldHdlZW4gQ1BVcywgZG9lcyBub3QKKwkJICogYWx0ZXIgdGhlIGdyb3VwIHdlaWdodC4KKwkJICovCisJCXdnID0gMDsKKyN1bmRlZiBECisJfQorCisJcmV0dXJuIHdsOworfQorCisjZWxzZQorCitzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGxvbmcgZWZmZWN0aXZlX2xvYWQoc3RydWN0IHRhc2tfZ3JvdXAgKnRnLCBpbnQgY3B1LAorCQl1bnNpZ25lZCBsb25nIHdsLCB1bnNpZ25lZCBsb25nIHdnKQoreworCXJldHVybiB3bDsKK30KKworI2VuZGlmCisKIHN0YXRpYyBpbnQKIHdha2VfYWZmaW5lKHN0cnVjdCBycSAqcnEsIHN0cnVjdCBzY2hlZF9kb21haW4gKnRoaXNfc2QsIHN0cnVjdCBycSAqdGhpc19ycSwKIAkgICAgc3RydWN0IHRhc2tfc3RydWN0ICpwLCBpbnQgcHJldl9jcHUsIGludCB0aGlzX2NwdSwgaW50IHN5bmMsCkBAIC05OTQsOCArMTE0NywxMCBAQAogCSAgICB1bnNpZ25lZCBpbnQgaW1iYWxhbmNlKQogewogCXN0cnVjdCB0YXNrX3N0cnVjdCAqY3VyciA9IHRoaXNfcnEtPmN1cnI7CisJc3RydWN0IHRhc2tfZ3JvdXAgKnRnOwogCXVuc2lnbmVkIGxvbmcgdGwgPSB0aGlzX2xvYWQ7CiAJdW5zaWduZWQgbG9uZyB0bF9wZXJfdGFzazsKKwl1bnNpZ25lZCBsb25nIHdlaWdodDsKIAlpbnQgYmFsYW5jZWQ7CiAKIAlpZiAoISh0aGlzX3NkLT5mbGFncyAmIFNEX1dBS0VfQUZGSU5FKSB8fCAhc2NoZWRfZmVhdChBRkZJTkVfV0FLRVVQUykpCkBAIC0xMDA2LDE5ICsxMTYxLDI4IEBACiAJICogZWZmZWN0IG9mIHRoZSBjdXJyZW50bHkgcnVubmluZyB0YXNrIGZyb20gdGhlIGxvYWQKIAkgKiBvZiB0aGUgY3VycmVudCBDUFU6CiAJICovCi0JaWYgKHN5bmMpCi0JCXRsIC09IGN1cnJlbnQtPnNlLmxvYWQud2VpZ2h0OworCWlmIChzeW5jKSB7CisJCXRnID0gdGFza19ncm91cChjdXJyZW50KTsKKwkJd2VpZ2h0ID0gY3VycmVudC0+c2UubG9hZC53ZWlnaHQ7CiAKLQliYWxhbmNlZCA9IDEwMCoodGwgKyBwLT5zZS5sb2FkLndlaWdodCkgPD0gaW1iYWxhbmNlKmxvYWQ7CisJCXRsICs9IGVmZmVjdGl2ZV9sb2FkKHRnLCB0aGlzX2NwdSwgLXdlaWdodCwgLXdlaWdodCk7CisJCWxvYWQgKz0gZWZmZWN0aXZlX2xvYWQodGcsIHByZXZfY3B1LCAwLCAtd2VpZ2h0KTsKKwl9CisKKwl0ZyA9IHRhc2tfZ3JvdXAocCk7CisJd2VpZ2h0ID0gcC0+c2UubG9hZC53ZWlnaHQ7CisKKwliYWxhbmNlZCA9IDEwMCoodGwgKyBlZmZlY3RpdmVfbG9hZCh0ZywgdGhpc19jcHUsIHdlaWdodCwgd2VpZ2h0KSkgPD0KKwkJaW1iYWxhbmNlKihsb2FkICsgZWZmZWN0aXZlX2xvYWQodGcsIHByZXZfY3B1LCAwLCB3ZWlnaHQpKTsKIAogCS8qCiAJICogSWYgdGhlIGN1cnJlbnRseSBydW5uaW5nIHRhc2sgd2lsbCBzbGVlcCB3aXRoaW4KIAkgKiBhIHJlYXNvbmFibGUgYW1vdW50IG9mIHRpbWUgdGhlbiBhdHRyYWN0IHRoaXMgbmV3bHkKIAkgKiB3b2tlbiB0YXNrOgogCSAqLwotCWlmIChzeW5jICYmIGJhbGFuY2VkICYmIGN1cnItPnNjaGVkX2NsYXNzID09ICZmYWlyX3NjaGVkX2NsYXNzKSB7CisJaWYgKHN5bmMgJiYgYmFsYW5jZWQpIHsKIAkJaWYgKGN1cnItPnNlLmF2Z19vdmVybGFwIDwgc3lzY3RsX3NjaGVkX21pZ3JhdGlvbl9jb3N0ICYmCi0JCQkJcC0+c2UuYXZnX292ZXJsYXAgPCBzeXNjdGxfc2NoZWRfbWlncmF0aW9uX2Nvc3QpCisJCSAgICBwLT5zZS5hdmdfb3ZlcmxhcCA8IHN5c2N0bF9zY2hlZF9taWdyYXRpb25fY29zdCkKIAkJCXJldHVybiAxOwogCX0KIApAQCAtMTExMSwxMSArMTI3NSwxMyBAQAogCXVuc2lnbmVkIGxvbmcgZ3JhbiA9IHN5c2N0bF9zY2hlZF93YWtldXBfZ3JhbnVsYXJpdHk7CiAKIAkvKgotCSAqIE1vcmUgZWFzaWx5IHByZWVtcHQgLSBuaWNlIHRhc2tzLCB3aGlsZSBub3QgbWFraW5nCi0JICogaXQgaGFyZGVyIGZvciArIG5pY2UgdGFza3MuCisJICogTW9yZSBlYXNpbHkgcHJlZW1wdCAtIG5pY2UgdGFza3MsIHdoaWxlIG5vdCBtYWtpbmcgaXQgaGFyZGVyIGZvcgorCSAqICsgbmljZSB0YXNrcy4KIAkgKi8KLQlpZiAodW5saWtlbHkoc2UtPmxvYWQud2VpZ2h0ID4gTklDRV8wX0xPQUQpKQotCQlncmFuID0gY2FsY19kZWx0YV9mYWlyKGdyYW4sICZzZS0+bG9hZCk7CisJaWYgKHNjaGVkX2ZlYXQoQVNZTV9HUkFOKSkKKwkJZ3JhbiA9IGNhbGNfZGVsdGFfYXN5bShzeXNjdGxfc2NoZWRfd2FrZXVwX2dyYW51bGFyaXR5LCBzZSk7CisJZWxzZQorCQlncmFuID0gY2FsY19kZWx0YV9mYWlyKHN5c2N0bF9zY2hlZF93YWtldXBfZ3JhbnVsYXJpdHksIHNlKTsKIAogCXJldHVybiBncmFuOwogfQpAQCAtMTE3Nyw3ICsxMzQzLDYgQEAKIAkJcmV0dXJuOwogCX0KIAotCXNlLT5sYXN0X3dha2V1cCA9IHNlLT5zdW1fZXhlY19ydW50aW1lOwogCWlmICh1bmxpa2VseShzZSA9PSBwc2UpKQogCQlyZXR1cm47CiAKQEAgLTEyNzUsMjMgKzE0NDAsMTggQEAKIAlzdHJ1Y3QgdGFza19zdHJ1Y3QgKnAgPSBOVUxMOwogCXN0cnVjdCBzY2hlZF9lbnRpdHkgKnNlOwogCi0JaWYgKG5leHQgPT0gJmNmc19ycS0+dGFza3MpCi0JCXJldHVybiBOVUxMOwotCi0JLyogU2tpcCBvdmVyIGVudGl0aWVzIHRoYXQgYXJlIG5vdCB0YXNrcyAqLwotCWRvIHsKKwl3aGlsZSAobmV4dCAhPSAmY2ZzX3JxLT50YXNrcykgewogCQlzZSA9IGxpc3RfZW50cnkobmV4dCwgc3RydWN0IHNjaGVkX2VudGl0eSwgZ3JvdXBfbm9kZSk7CiAJCW5leHQgPSBuZXh0LT5uZXh0OwotCX0gd2hpbGUgKG5leHQgIT0gJmNmc19ycS0+dGFza3MgJiYgIWVudGl0eV9pc190YXNrKHNlKSk7CiAKLQlpZiAobmV4dCA9PSAmY2ZzX3JxLT50YXNrcykKLQkJcmV0dXJuIE5VTEw7CisJCS8qIFNraXAgb3ZlciBlbnRpdGllcyB0aGF0IGFyZSBub3QgdGFza3MgKi8KKwkJaWYgKGVudGl0eV9pc190YXNrKHNlKSkgeworCQkJcCA9IHRhc2tfb2Yoc2UpOworCQkJYnJlYWs7CisJCX0KKwl9CiAKIAljZnNfcnEtPmJhbGFuY2VfaXRlcmF0b3IgPSBuZXh0OwotCi0JaWYgKGVudGl0eV9pc190YXNrKHNlKSkKLQkJcCA9IHRhc2tfb2Yoc2UpOwotCiAJcmV0dXJuIHA7CiB9CiAKQEAgLTEzMDksNzUgKzE0NjksODIgQEAKIAlyZXR1cm4gX19sb2FkX2JhbGFuY2VfaXRlcmF0b3IoY2ZzX3JxLCBjZnNfcnEtPmJhbGFuY2VfaXRlcmF0b3IpOwogfQogCi0jaWZkZWYgQ09ORklHX0ZBSVJfR1JPVVBfU0NIRUQKLXN0YXRpYyBpbnQgY2ZzX3JxX2Jlc3RfcHJpbyhzdHJ1Y3QgY2ZzX3JxICpjZnNfcnEpCitzdGF0aWMgdW5zaWduZWQgbG9uZworX19sb2FkX2JhbGFuY2VfZmFpcihzdHJ1Y3QgcnEgKnRoaXNfcnEsIGludCB0aGlzX2NwdSwgc3RydWN0IHJxICpidXNpZXN0LAorCQl1bnNpZ25lZCBsb25nIG1heF9sb2FkX21vdmUsIHN0cnVjdCBzY2hlZF9kb21haW4gKnNkLAorCQllbnVtIGNwdV9pZGxlX3R5cGUgaWRsZSwgaW50ICphbGxfcGlubmVkLCBpbnQgKnRoaXNfYmVzdF9wcmlvLAorCQlzdHJ1Y3QgY2ZzX3JxICpjZnNfcnEpCiB7Ci0Jc3RydWN0IHNjaGVkX2VudGl0eSAqY3VycjsKLQlzdHJ1Y3QgdGFza19zdHJ1Y3QgKnA7CisJc3RydWN0IHJxX2l0ZXJhdG9yIGNmc19ycV9pdGVyYXRvcjsKIAotCWlmICghY2ZzX3JxLT5ucl9ydW5uaW5nIHx8ICFmaXJzdF9mYWlyKGNmc19ycSkpCi0JCXJldHVybiBNQVhfUFJJTzsKKwljZnNfcnFfaXRlcmF0b3Iuc3RhcnQgPSBsb2FkX2JhbGFuY2Vfc3RhcnRfZmFpcjsKKwljZnNfcnFfaXRlcmF0b3IubmV4dCA9IGxvYWRfYmFsYW5jZV9uZXh0X2ZhaXI7CisJY2ZzX3JxX2l0ZXJhdG9yLmFyZyA9IGNmc19ycTsKIAotCWN1cnIgPSBjZnNfcnEtPmN1cnI7Ci0JaWYgKCFjdXJyKQotCQljdXJyID0gX19waWNrX25leHRfZW50aXR5KGNmc19ycSk7Ci0KLQlwID0gdGFza19vZihjdXJyKTsKLQotCXJldHVybiBwLT5wcmlvOworCXJldHVybiBiYWxhbmNlX3Rhc2tzKHRoaXNfcnEsIHRoaXNfY3B1LCBidXNpZXN0LAorCQkJbWF4X2xvYWRfbW92ZSwgc2QsIGlkbGUsIGFsbF9waW5uZWQsCisJCQl0aGlzX2Jlc3RfcHJpbywgJmNmc19ycV9pdGVyYXRvcik7CiB9Ci0jZW5kaWYKIAorI2lmZGVmIENPTkZJR19GQUlSX0dST1VQX1NDSEVECiBzdGF0aWMgdW5zaWduZWQgbG9uZwogbG9hZF9iYWxhbmNlX2ZhaXIoc3RydWN0IHJxICp0aGlzX3JxLCBpbnQgdGhpc19jcHUsIHN0cnVjdCBycSAqYnVzaWVzdCwKIAkJICB1bnNpZ25lZCBsb25nIG1heF9sb2FkX21vdmUsCiAJCSAgc3RydWN0IHNjaGVkX2RvbWFpbiAqc2QsIGVudW0gY3B1X2lkbGVfdHlwZSBpZGxlLAogCQkgIGludCAqYWxsX3Bpbm5lZCwgaW50ICp0aGlzX2Jlc3RfcHJpbykKIHsKLQlzdHJ1Y3QgY2ZzX3JxICpidXN5X2Nmc19ycTsKIAlsb25nIHJlbV9sb2FkX21vdmUgPSBtYXhfbG9hZF9tb3ZlOwotCXN0cnVjdCBycV9pdGVyYXRvciBjZnNfcnFfaXRlcmF0b3I7CisJaW50IGJ1c2llc3RfY3B1ID0gY3B1X29mKGJ1c2llc3QpOworCXN0cnVjdCB0YXNrX2dyb3VwICp0ZzsKIAotCWNmc19ycV9pdGVyYXRvci5zdGFydCA9IGxvYWRfYmFsYW5jZV9zdGFydF9mYWlyOwotCWNmc19ycV9pdGVyYXRvci5uZXh0ID0gbG9hZF9iYWxhbmNlX25leHRfZmFpcjsKKwlyY3VfcmVhZF9sb2NrKCk7CisJdXBkYXRlX2hfbG9hZChidXNpZXN0X2NwdSk7CiAKLQlmb3JfZWFjaF9sZWFmX2Nmc19ycShidXNpZXN0LCBidXN5X2Nmc19ycSkgewotI2lmZGVmIENPTkZJR19GQUlSX0dST1VQX1NDSEVECi0JCXN0cnVjdCBjZnNfcnEgKnRoaXNfY2ZzX3JxOwotCQlsb25nIGltYmFsYW5jZTsKLQkJdW5zaWduZWQgbG9uZyBtYXhsb2FkOworCWxpc3RfZm9yX2VhY2hfZW50cnkodGcsICZ0YXNrX2dyb3VwcywgbGlzdCkgeworCQlzdHJ1Y3QgY2ZzX3JxICpidXNpZXN0X2Nmc19ycSA9IHRnLT5jZnNfcnFbYnVzaWVzdF9jcHVdOworCQl1bnNpZ25lZCBsb25nIGJ1c2llc3RfaF9sb2FkID0gYnVzaWVzdF9jZnNfcnEtPmhfbG9hZDsKKwkJdW5zaWduZWQgbG9uZyBidXNpZXN0X3dlaWdodCA9IGJ1c2llc3RfY2ZzX3JxLT5sb2FkLndlaWdodDsKKwkJdTY0IHJlbV9sb2FkLCBtb3ZlZF9sb2FkOwogCi0JCXRoaXNfY2ZzX3JxID0gY3B1X2Nmc19ycShidXN5X2Nmc19ycSwgdGhpc19jcHUpOwotCi0JCWltYmFsYW5jZSA9IGJ1c3lfY2ZzX3JxLT5sb2FkLndlaWdodCAtIHRoaXNfY2ZzX3JxLT5sb2FkLndlaWdodDsKLQkJLyogRG9uJ3QgcHVsbCBpZiB0aGlzX2Nmc19ycSBoYXMgbW9yZSBsb2FkIHRoYW4gYnVzeV9jZnNfcnEgKi8KLQkJaWYgKGltYmFsYW5jZSA8PSAwKQorCQkvKgorCQkgKiBlbXB0eSBncm91cAorCQkgKi8KKwkJaWYgKCFidXNpZXN0X2Nmc19ycS0+dGFza193ZWlnaHQpCiAJCQljb250aW51ZTsKIAotCQkvKiBEb24ndCBwdWxsIG1vcmUgdGhhbiBpbWJhbGFuY2UvMiAqLwotCQlpbWJhbGFuY2UgLz0gMjsKLQkJbWF4bG9hZCA9IG1pbihyZW1fbG9hZF9tb3ZlLCBpbWJhbGFuY2UpOworCQlyZW1fbG9hZCA9ICh1NjQpcmVtX2xvYWRfbW92ZSAqIGJ1c2llc3Rfd2VpZ2h0OworCQlyZW1fbG9hZCA9IGRpdl91NjQocmVtX2xvYWQsIGJ1c2llc3RfaF9sb2FkICsgMSk7CiAKLQkJKnRoaXNfYmVzdF9wcmlvID0gY2ZzX3JxX2Jlc3RfcHJpbyh0aGlzX2Nmc19ycSk7Ci0jZWxzZQotIyBkZWZpbmUgbWF4bG9hZCByZW1fbG9hZF9tb3ZlCi0jZW5kaWYKLQkJLyoKLQkJICogcGFzcyBidXN5X2Nmc19ycSBhcmd1bWVudCBpbnRvCi0JCSAqIGxvYWRfYmFsYW5jZV9bc3RhcnR8bmV4dF1fZmFpciBpdGVyYXRvcnMKLQkJICovCi0JCWNmc19ycV9pdGVyYXRvci5hcmcgPSBidXN5X2Nmc19ycTsKLQkJcmVtX2xvYWRfbW92ZSAtPSBiYWxhbmNlX3Rhc2tzKHRoaXNfcnEsIHRoaXNfY3B1LCBidXNpZXN0LAotCQkJCQkgICAgICAgbWF4bG9hZCwgc2QsIGlkbGUsIGFsbF9waW5uZWQsCi0JCQkJCSAgICAgICB0aGlzX2Jlc3RfcHJpbywKLQkJCQkJICAgICAgICZjZnNfcnFfaXRlcmF0b3IpOworCQltb3ZlZF9sb2FkID0gX19sb2FkX2JhbGFuY2VfZmFpcih0aGlzX3JxLCB0aGlzX2NwdSwgYnVzaWVzdCwKKwkJCQlyZW1fbG9hZCwgc2QsIGlkbGUsIGFsbF9waW5uZWQsIHRoaXNfYmVzdF9wcmlvLAorCQkJCXRnLT5jZnNfcnFbYnVzaWVzdF9jcHVdKTsKIAotCQlpZiAocmVtX2xvYWRfbW92ZSA8PSAwKQorCQlpZiAoIW1vdmVkX2xvYWQpCisJCQljb250aW51ZTsKKworCQltb3ZlZF9sb2FkICo9IGJ1c2llc3RfaF9sb2FkOworCQltb3ZlZF9sb2FkID0gZGl2X3U2NChtb3ZlZF9sb2FkLCBidXNpZXN0X3dlaWdodCArIDEpOworCisJCXJlbV9sb2FkX21vdmUgLT0gbW92ZWRfbG9hZDsKKwkJaWYgKHJlbV9sb2FkX21vdmUgPCAwKQogCQkJYnJlYWs7CiAJfQorCXJjdV9yZWFkX3VubG9jaygpOwogCiAJcmV0dXJuIG1heF9sb2FkX21vdmUgLSByZW1fbG9hZF9tb3ZlOwogfQorI2Vsc2UKK3N0YXRpYyB1bnNpZ25lZCBsb25nCitsb2FkX2JhbGFuY2VfZmFpcihzdHJ1Y3QgcnEgKnRoaXNfcnEsIGludCB0aGlzX2NwdSwgc3RydWN0IHJxICpidXNpZXN0LAorCQkgIHVuc2lnbmVkIGxvbmcgbWF4X2xvYWRfbW92ZSwKKwkJICBzdHJ1Y3Qgc2NoZWRfZG9tYWluICpzZCwgZW51bSBjcHVfaWRsZV90eXBlIGlkbGUsCisJCSAgaW50ICphbGxfcGlubmVkLCBpbnQgKnRoaXNfYmVzdF9wcmlvKQoreworCXJldHVybiBfX2xvYWRfYmFsYW5jZV9mYWlyKHRoaXNfcnEsIHRoaXNfY3B1LCBidXNpZXN0LAorCQkJbWF4X2xvYWRfbW92ZSwgc2QsIGlkbGUsIGFsbF9waW5uZWQsCisJCQl0aGlzX2Jlc3RfcHJpbywgJmJ1c2llc3QtPmNmcyk7Cit9CisjZW5kaWYKIAogc3RhdGljIGludAogbW92ZV9vbmVfdGFza19mYWlyKHN0cnVjdCBycSAqdGhpc19ycSwgaW50IHRoaXNfY3B1LCBzdHJ1Y3QgcnEgKmJ1c2llc3QsCkBAIC0xNDAyLDcgKzE1NjksNyBAQAogCiAJcmV0dXJuIDA7CiB9Ci0jZW5kaWYKKyNlbmRpZiAvKiBDT05GSUdfU01QICovCiAKIC8qCiAgKiBzY2hlZHVsZXIgdGljayBoaXR0aW5nIGEgdGFzayBvZiBvdXIgc2NoZWR1bGluZyBjbGFzczoKZGlmZiAtLWdpdCBhL2tlcm5lbC9zY2hlZF9mZWF0dXJlcy5oIGIva2VybmVsL3NjaGVkX2ZlYXR1cmVzLmgKaW5kZXggMWM3MjgzYy4uODYyYjA2YiAxMDA2NDQKLS0tIGEva2VybmVsL3NjaGVkX2ZlYXR1cmVzLmgKKysrIGIva2VybmVsL3NjaGVkX2ZlYXR1cmVzLmgKQEAgLTEsNCArMSw1IEBACiBTQ0hFRF9GRUFUKE5FV19GQUlSX1NMRUVQRVJTLCAxKQorU0NIRURfRkVBVChOT1JNQUxJWkVEX1NMRUVQRVIsIDEpCiBTQ0hFRF9GRUFUKFdBS0VVUF9QUkVFTVBULCAxKQogU0NIRURfRkVBVChTVEFSVF9ERUJJVCwgMSkKIFNDSEVEX0ZFQVQoQUZGSU5FX1dBS0VVUFMsIDEpCkBAIC02LDUgKzcsNyBAQAogU0NIRURfRkVBVChTWU5DX1dBS0VVUFMsIDEpCiBTQ0hFRF9GRUFUKEhSVElDSywgMSkKIFNDSEVEX0ZFQVQoRE9VQkxFX1RJQ0ssIDApCi1TQ0hFRF9GRUFUKE5PUk1BTElaRURfU0xFRVBFUiwgMSkKLVNDSEVEX0ZFQVQoREVBRExJTkUsIDEpCitTQ0hFRF9GRUFUKEFTWU1fR1JBTiwgMSkKK1NDSEVEX0ZFQVQoTEJfQklBUywgMCkKK1NDSEVEX0ZFQVQoTEJfV0FLRVVQX1VQREFURSwgMSkKK1NDSEVEX0ZFQVQoQVNZTV9FRkZfTE9BRCwgMSkKZGlmZiAtLWdpdCBhL2tlcm5lbC9zY2hlZF9ydC5jIGIva2VybmVsL3NjaGVkX3J0LmMKaW5kZXggMGYzYzE5MS4uNDdjZWFjOSAxMDA2NDQKLS0tIGEva2VybmVsL3NjaGVkX3J0LmMKKysrIGIva2VybmVsL3NjaGVkX3J0LmMKQEAgLTEyLDYgKzEyLDkgQEAKIAogc3RhdGljIGlubGluZSB2b2lkIHJ0X3NldF9vdmVybG9hZChzdHJ1Y3QgcnEgKnJxKQogeworCWlmICghcnEtPm9ubGluZSkKKwkJcmV0dXJuOworCiAJY3B1X3NldChycS0+Y3B1LCBycS0+cmQtPnJ0b19tYXNrKTsKIAkvKgogCSAqIE1ha2Ugc3VyZSB0aGUgbWFzayBpcyB2aXNpYmxlIGJlZm9yZSB3ZSBzZXQKQEAgLTI2LDYgKzI5LDkgQEAKIAogc3RhdGljIGlubGluZSB2b2lkIHJ0X2NsZWFyX292ZXJsb2FkKHN0cnVjdCBycSAqcnEpCiB7CisJaWYgKCFycS0+b25saW5lKQorCQlyZXR1cm47CisKIAkvKiB0aGUgb3JkZXIgaGVyZSByZWFsbHkgZG9lc24ndCBtYXR0ZXIgKi8KIAlhdG9taWNfZGVjKCZycS0+cmQtPnJ0b19jb3VudCk7CiAJY3B1X2NsZWFyKHJxLT5jcHUsIHJxLT5yZC0+cnRvX21hc2spOwpAQCAtMTU1LDcgKzE2MSw3IEBACiAJcmV0dXJuICZydF9ycS0+dGctPnJ0X2JhbmR3aWR0aDsKIH0KIAotI2Vsc2UKKyNlbHNlIC8qICFDT05GSUdfUlRfR1JPVVBfU0NIRUQgKi8KIAogc3RhdGljIGlubGluZSB1NjQgc2NoZWRfcnRfcnVudGltZShzdHJ1Y3QgcnRfcnEgKnJ0X3JxKQogewpAQCAtMjIwLDcgKzIyNiwxNjAgQEAKIAlyZXR1cm4gJmRlZl9ydF9iYW5kd2lkdGg7CiB9CiAKLSNlbmRpZgorI2VuZGlmIC8qIENPTkZJR19SVF9HUk9VUF9TQ0hFRCAqLworCisjaWZkZWYgQ09ORklHX1NNUAorc3RhdGljIGludCBkb19iYWxhbmNlX3J1bnRpbWUoc3RydWN0IHJ0X3JxICpydF9ycSkKK3sKKwlzdHJ1Y3QgcnRfYmFuZHdpZHRoICpydF9iID0gc2NoZWRfcnRfYmFuZHdpZHRoKHJ0X3JxKTsKKwlzdHJ1Y3Qgcm9vdF9kb21haW4gKnJkID0gY3B1X3JxKHNtcF9wcm9jZXNzb3JfaWQoKSktPnJkOworCWludCBpLCB3ZWlnaHQsIG1vcmUgPSAwOworCXU2NCBydF9wZXJpb2Q7CisKKwl3ZWlnaHQgPSBjcHVzX3dlaWdodChyZC0+c3Bhbik7CisKKwlzcGluX2xvY2soJnJ0X2ItPnJ0X3J1bnRpbWVfbG9jayk7CisJcnRfcGVyaW9kID0ga3RpbWVfdG9fbnMocnRfYi0+cnRfcGVyaW9kKTsKKwlmb3JfZWFjaF9jcHVfbWFzayhpLCByZC0+c3BhbikgeworCQlzdHJ1Y3QgcnRfcnEgKml0ZXIgPSBzY2hlZF9ydF9wZXJpb2RfcnRfcnEocnRfYiwgaSk7CisJCXM2NCBkaWZmOworCisJCWlmIChpdGVyID09IHJ0X3JxKQorCQkJY29udGludWU7CisKKwkJc3Bpbl9sb2NrKCZpdGVyLT5ydF9ydW50aW1lX2xvY2spOworCQlpZiAoaXRlci0+cnRfcnVudGltZSA9PSBSVU5USU1FX0lORikKKwkJCWdvdG8gbmV4dDsKKworCQlkaWZmID0gaXRlci0+cnRfcnVudGltZSAtIGl0ZXItPnJ0X3RpbWU7CisJCWlmIChkaWZmID4gMCkgeworCQkJZG9fZGl2KGRpZmYsIHdlaWdodCk7CisJCQlpZiAocnRfcnEtPnJ0X3J1bnRpbWUgKyBkaWZmID4gcnRfcGVyaW9kKQorCQkJCWRpZmYgPSBydF9wZXJpb2QgLSBydF9ycS0+cnRfcnVudGltZTsKKwkJCWl0ZXItPnJ0X3J1bnRpbWUgLT0gZGlmZjsKKwkJCXJ0X3JxLT5ydF9ydW50aW1lICs9IGRpZmY7CisJCQltb3JlID0gMTsKKwkJCWlmIChydF9ycS0+cnRfcnVudGltZSA9PSBydF9wZXJpb2QpIHsKKwkJCQlzcGluX3VubG9jaygmaXRlci0+cnRfcnVudGltZV9sb2NrKTsKKwkJCQlicmVhazsKKwkJCX0KKwkJfQorbmV4dDoKKwkJc3Bpbl91bmxvY2soJml0ZXItPnJ0X3J1bnRpbWVfbG9jayk7CisJfQorCXNwaW5fdW5sb2NrKCZydF9iLT5ydF9ydW50aW1lX2xvY2spOworCisJcmV0dXJuIG1vcmU7Cit9CisKK3N0YXRpYyB2b2lkIF9fZGlzYWJsZV9ydW50aW1lKHN0cnVjdCBycSAqcnEpCit7CisJc3RydWN0IHJvb3RfZG9tYWluICpyZCA9IHJxLT5yZDsKKwlzdHJ1Y3QgcnRfcnEgKnJ0X3JxOworCisJaWYgKHVubGlrZWx5KCFzY2hlZHVsZXJfcnVubmluZykpCisJCXJldHVybjsKKworCWZvcl9lYWNoX2xlYWZfcnRfcnEocnRfcnEsIHJxKSB7CisJCXN0cnVjdCBydF9iYW5kd2lkdGggKnJ0X2IgPSBzY2hlZF9ydF9iYW5kd2lkdGgocnRfcnEpOworCQlzNjQgd2FudDsKKwkJaW50IGk7CisKKwkJc3Bpbl9sb2NrKCZydF9iLT5ydF9ydW50aW1lX2xvY2spOworCQlzcGluX2xvY2soJnJ0X3JxLT5ydF9ydW50aW1lX2xvY2spOworCQlpZiAocnRfcnEtPnJ0X3J1bnRpbWUgPT0gUlVOVElNRV9JTkYgfHwKKwkJCQlydF9ycS0+cnRfcnVudGltZSA9PSBydF9iLT5ydF9ydW50aW1lKQorCQkJZ290byBiYWxhbmNlZDsKKwkJc3Bpbl91bmxvY2soJnJ0X3JxLT5ydF9ydW50aW1lX2xvY2spOworCisJCXdhbnQgPSBydF9iLT5ydF9ydW50aW1lIC0gcnRfcnEtPnJ0X3J1bnRpbWU7CisKKwkJZm9yX2VhY2hfY3B1X21hc2soaSwgcmQtPnNwYW4pIHsKKwkJCXN0cnVjdCBydF9ycSAqaXRlciA9IHNjaGVkX3J0X3BlcmlvZF9ydF9ycShydF9iLCBpKTsKKwkJCXM2NCBkaWZmOworCisJCQlpZiAoaXRlciA9PSBydF9ycSkKKwkJCQljb250aW51ZTsKKworCQkJc3Bpbl9sb2NrKCZpdGVyLT5ydF9ydW50aW1lX2xvY2spOworCQkJaWYgKHdhbnQgPiAwKSB7CisJCQkJZGlmZiA9IG1pbl90KHM2NCwgaXRlci0+cnRfcnVudGltZSwgd2FudCk7CisJCQkJaXRlci0+cnRfcnVudGltZSAtPSBkaWZmOworCQkJCXdhbnQgLT0gZGlmZjsKKwkJCX0gZWxzZSB7CisJCQkJaXRlci0+cnRfcnVudGltZSAtPSB3YW50OworCQkJCXdhbnQgLT0gd2FudDsKKwkJCX0KKwkJCXNwaW5fdW5sb2NrKCZpdGVyLT5ydF9ydW50aW1lX2xvY2spOworCisJCQlpZiAoIXdhbnQpCisJCQkJYnJlYWs7CisJCX0KKworCQlzcGluX2xvY2soJnJ0X3JxLT5ydF9ydW50aW1lX2xvY2spOworCQlCVUdfT04od2FudCk7CitiYWxhbmNlZDoKKwkJcnRfcnEtPnJ0X3J1bnRpbWUgPSBSVU5USU1FX0lORjsKKwkJc3Bpbl91bmxvY2soJnJ0X3JxLT5ydF9ydW50aW1lX2xvY2spOworCQlzcGluX3VubG9jaygmcnRfYi0+cnRfcnVudGltZV9sb2NrKTsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIGRpc2FibGVfcnVudGltZShzdHJ1Y3QgcnEgKnJxKQoreworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisKKwlzcGluX2xvY2tfaXJxc2F2ZSgmcnEtPmxvY2ssIGZsYWdzKTsKKwlfX2Rpc2FibGVfcnVudGltZShycSk7CisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcnEtPmxvY2ssIGZsYWdzKTsKK30KKworc3RhdGljIHZvaWQgX19lbmFibGVfcnVudGltZShzdHJ1Y3QgcnEgKnJxKQoreworCXN0cnVjdCBydF9ycSAqcnRfcnE7CisKKwlpZiAodW5saWtlbHkoIXNjaGVkdWxlcl9ydW5uaW5nKSkKKwkJcmV0dXJuOworCisJZm9yX2VhY2hfbGVhZl9ydF9ycShydF9ycSwgcnEpIHsKKwkJc3RydWN0IHJ0X2JhbmR3aWR0aCAqcnRfYiA9IHNjaGVkX3J0X2JhbmR3aWR0aChydF9ycSk7CisKKwkJc3Bpbl9sb2NrKCZydF9iLT5ydF9ydW50aW1lX2xvY2spOworCQlzcGluX2xvY2soJnJ0X3JxLT5ydF9ydW50aW1lX2xvY2spOworCQlydF9ycS0+cnRfcnVudGltZSA9IHJ0X2ItPnJ0X3J1bnRpbWU7CisJCXJ0X3JxLT5ydF90aW1lID0gMDsKKwkJc3Bpbl91bmxvY2soJnJ0X3JxLT5ydF9ydW50aW1lX2xvY2spOworCQlzcGluX3VubG9jaygmcnRfYi0+cnRfcnVudGltZV9sb2NrKTsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIGVuYWJsZV9ydW50aW1lKHN0cnVjdCBycSAqcnEpCit7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKworCXNwaW5fbG9ja19pcnFzYXZlKCZycS0+bG9jaywgZmxhZ3MpOworCV9fZW5hYmxlX3J1bnRpbWUocnEpOworCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnJxLT5sb2NrLCBmbGFncyk7Cit9CisKK3N0YXRpYyBpbnQgYmFsYW5jZV9ydW50aW1lKHN0cnVjdCBydF9ycSAqcnRfcnEpCit7CisJaW50IG1vcmUgPSAwOworCisJaWYgKHJ0X3JxLT5ydF90aW1lID4gcnRfcnEtPnJ0X3J1bnRpbWUpIHsKKwkJc3Bpbl91bmxvY2soJnJ0X3JxLT5ydF9ydW50aW1lX2xvY2spOworCQltb3JlID0gZG9fYmFsYW5jZV9ydW50aW1lKHJ0X3JxKTsKKwkJc3Bpbl9sb2NrKCZydF9ycS0+cnRfcnVudGltZV9sb2NrKTsKKwl9CisKKwlyZXR1cm4gbW9yZTsKK30KKyNlbHNlIC8qICFDT05GSUdfU01QICovCitzdGF0aWMgaW5saW5lIGludCBiYWxhbmNlX3J1bnRpbWUoc3RydWN0IHJ0X3JxICpydF9ycSkKK3sKKwlyZXR1cm4gMDsKK30KKyNlbmRpZiAvKiBDT05GSUdfU01QICovCiAKIHN0YXRpYyBpbnQgZG9fc2NoZWRfcnRfcGVyaW9kX3RpbWVyKHN0cnVjdCBydF9iYW5kd2lkdGggKnJ0X2IsIGludCBvdmVycnVuKQogewpAQCAtMjQxLDYgKzQwMCw4IEBACiAJCQl1NjQgcnVudGltZTsKIAogCQkJc3Bpbl9sb2NrKCZydF9ycS0+cnRfcnVudGltZV9sb2NrKTsKKwkJCWlmIChydF9ycS0+cnRfdGhyb3R0bGVkKQorCQkJCWJhbGFuY2VfcnVudGltZShydF9ycSk7CiAJCQlydW50aW1lID0gcnRfcnEtPnJ0X3J1bnRpbWU7CiAJCQlydF9ycS0+cnRfdGltZSAtPSBtaW4ocnRfcnEtPnJ0X3RpbWUsIG92ZXJydW4qcnVudGltZSk7CiAJCQlpZiAocnRfcnEtPnJ0X3Rocm90dGxlZCAmJiBydF9ycS0+cnRfdGltZSA8IHJ1bnRpbWUpIHsKQEAgLTI2MSw0NyArNDIyLDYgQEAKIAlyZXR1cm4gaWRsZTsKIH0KIAotI2lmZGVmIENPTkZJR19TTVAKLXN0YXRpYyBpbnQgYmFsYW5jZV9ydW50aW1lKHN0cnVjdCBydF9ycSAqcnRfcnEpCi17Ci0Jc3RydWN0IHJ0X2JhbmR3aWR0aCAqcnRfYiA9IHNjaGVkX3J0X2JhbmR3aWR0aChydF9ycSk7Ci0Jc3RydWN0IHJvb3RfZG9tYWluICpyZCA9IGNwdV9ycShzbXBfcHJvY2Vzc29yX2lkKCkpLT5yZDsKLQlpbnQgaSwgd2VpZ2h0LCBtb3JlID0gMDsKLQl1NjQgcnRfcGVyaW9kOwotCi0Jd2VpZ2h0ID0gY3B1c193ZWlnaHQocmQtPnNwYW4pOwotCi0Jc3Bpbl9sb2NrKCZydF9iLT5ydF9ydW50aW1lX2xvY2spOwotCXJ0X3BlcmlvZCA9IGt0aW1lX3RvX25zKHJ0X2ItPnJ0X3BlcmlvZCk7Ci0JZm9yX2VhY2hfY3B1X21hc2soaSwgcmQtPnNwYW4pIHsKLQkJc3RydWN0IHJ0X3JxICppdGVyID0gc2NoZWRfcnRfcGVyaW9kX3J0X3JxKHJ0X2IsIGkpOwotCQlzNjQgZGlmZjsKLQotCQlpZiAoaXRlciA9PSBydF9ycSkKLQkJCWNvbnRpbnVlOwotCi0JCXNwaW5fbG9jaygmaXRlci0+cnRfcnVudGltZV9sb2NrKTsKLQkJZGlmZiA9IGl0ZXItPnJ0X3J1bnRpbWUgLSBpdGVyLT5ydF90aW1lOwotCQlpZiAoZGlmZiA+IDApIHsKLQkJCWRvX2RpdihkaWZmLCB3ZWlnaHQpOwotCQkJaWYgKHJ0X3JxLT5ydF9ydW50aW1lICsgZGlmZiA+IHJ0X3BlcmlvZCkKLQkJCQlkaWZmID0gcnRfcGVyaW9kIC0gcnRfcnEtPnJ0X3J1bnRpbWU7Ci0JCQlpdGVyLT5ydF9ydW50aW1lIC09IGRpZmY7Ci0JCQlydF9ycS0+cnRfcnVudGltZSArPSBkaWZmOwotCQkJbW9yZSA9IDE7Ci0JCQlpZiAocnRfcnEtPnJ0X3J1bnRpbWUgPT0gcnRfcGVyaW9kKSB7Ci0JCQkJc3Bpbl91bmxvY2soJml0ZXItPnJ0X3J1bnRpbWVfbG9jayk7Ci0JCQkJYnJlYWs7Ci0JCQl9Ci0JCX0KLQkJc3Bpbl91bmxvY2soJml0ZXItPnJ0X3J1bnRpbWVfbG9jayk7Ci0JfQotCXNwaW5fdW5sb2NrKCZydF9iLT5ydF9ydW50aW1lX2xvY2spOwotCi0JcmV0dXJuIG1vcmU7Ci19Ci0jZW5kaWYKLQogc3RhdGljIGlubGluZSBpbnQgcnRfc2VfcHJpbyhzdHJ1Y3Qgc2NoZWRfcnRfZW50aXR5ICpydF9zZSkKIHsKICNpZmRlZiBDT05GSUdfUlRfR1JPVVBfU0NIRUQKQEAgLTMyNywxOCArNDQ3LDEwIEBACiAJaWYgKHNjaGVkX3J0X3J1bnRpbWUocnRfcnEpID49IHNjaGVkX3J0X3BlcmlvZChydF9ycSkpCiAJCXJldHVybiAwOwogCi0jaWZkZWYgQ09ORklHX1NNUAotCWlmIChydF9ycS0+cnRfdGltZSA+IHJ1bnRpbWUpIHsKLQkJaW50IG1vcmU7Ci0KLQkJc3Bpbl91bmxvY2soJnJ0X3JxLT5ydF9ydW50aW1lX2xvY2spOwotCQltb3JlID0gYmFsYW5jZV9ydW50aW1lKHJ0X3JxKTsKLQkJc3Bpbl9sb2NrKCZydF9ycS0+cnRfcnVudGltZV9sb2NrKTsKLQotCQlpZiAobW9yZSkKLQkJCXJ1bnRpbWUgPSBzY2hlZF9ydF9ydW50aW1lKHJ0X3JxKTsKLQl9Ci0jZW5kaWYKKwliYWxhbmNlX3J1bnRpbWUocnRfcnEpOworCXJ1bnRpbWUgPSBzY2hlZF9ydF9ydW50aW1lKHJ0X3JxKTsKKwlpZiAocnVudGltZSA9PSBSVU5USU1FX0lORikKKwkJcmV0dXJuIDA7CiAKIAlpZiAocnRfcnEtPnJ0X3RpbWUgPiBydW50aW1lKSB7CiAJCXJ0X3JxLT5ydF90aHJvdHRsZWQgPSAxOwpAQCAtMzkyLDEyICs1MDQsMjEgQEAKIAlXQVJOX09OKCFydF9wcmlvKHJ0X3NlX3ByaW8ocnRfc2UpKSk7CiAJcnRfcnEtPnJ0X25yX3J1bm5pbmcrKzsKICNpZiBkZWZpbmVkIENPTkZJR19TTVAgfHwgZGVmaW5lZCBDT05GSUdfUlRfR1JPVVBfU0NIRUQKLQlpZiAocnRfc2VfcHJpbyhydF9zZSkgPCBydF9ycS0+aGlnaGVzdF9wcmlvKQorCWlmIChydF9zZV9wcmlvKHJ0X3NlKSA8IHJ0X3JxLT5oaWdoZXN0X3ByaW8pIHsKKwkJc3RydWN0IHJxICpycSA9IHJxX29mX3J0X3JxKHJ0X3JxKTsKKwogCQlydF9ycS0+aGlnaGVzdF9wcmlvID0gcnRfc2VfcHJpbyhydF9zZSk7CisjaWZkZWYgQ09ORklHX1NNUAorCQlpZiAocnEtPm9ubGluZSkKKwkJCWNwdXByaV9zZXQoJnJxLT5yZC0+Y3B1cHJpLCBycS0+Y3B1LAorCQkJCSAgIHJ0X3NlX3ByaW8ocnRfc2UpKTsKKyNlbmRpZgorCX0KICNlbmRpZgogI2lmZGVmIENPTkZJR19TTVAKIAlpZiAocnRfc2UtPm5yX2NwdXNfYWxsb3dlZCA+IDEpIHsKIAkJc3RydWN0IHJxICpycSA9IHJxX29mX3J0X3JxKHJ0X3JxKTsKKwogCQlycS0+cnQucnRfbnJfbWlncmF0b3J5Kys7CiAJfQogCkBAIC00MTcsNiArNTM4LDEwIEBACiBzdGF0aWMgaW5saW5lCiB2b2lkIGRlY19ydF90YXNrcyhzdHJ1Y3Qgc2NoZWRfcnRfZW50aXR5ICpydF9zZSwgc3RydWN0IHJ0X3JxICpydF9ycSkKIHsKKyNpZmRlZiBDT05GSUdfU01QCisJaW50IGhpZ2hlc3RfcHJpbyA9IHJ0X3JxLT5oaWdoZXN0X3ByaW87CisjZW5kaWYKKwogCVdBUk5fT04oIXJ0X3ByaW8ocnRfc2VfcHJpbyhydF9zZSkpKTsKIAlXQVJOX09OKCFydF9ycS0+cnRfbnJfcnVubmluZyk7CiAJcnRfcnEtPnJ0X25yX3J1bm5pbmctLTsKQEAgLTQ0MCw2ICs1NjUsMTQgQEAKIAkJcnEtPnJ0LnJ0X25yX21pZ3JhdG9yeS0tOwogCX0KIAorCWlmIChydF9ycS0+aGlnaGVzdF9wcmlvICE9IGhpZ2hlc3RfcHJpbykgeworCQlzdHJ1Y3QgcnEgKnJxID0gcnFfb2ZfcnRfcnEocnRfcnEpOworCisJCWlmIChycS0+b25saW5lKQorCQkJY3B1cHJpX3NldCgmcnEtPnJkLT5jcHVwcmksIHJxLT5jcHUsCisJCQkJICAgcnRfcnEtPmhpZ2hlc3RfcHJpbyk7CisJfQorCiAJdXBkYXRlX3J0X21pZ3JhdGlvbihycV9vZl9ydF9ycShydF9ycSkpOwogI2VuZGlmIC8qIENPTkZJR19TTVAgKi8KICNpZmRlZiBDT05GSUdfUlRfR1JPVVBfU0NIRUQKQEAgLTQ1NSw2ICs1ODgsNyBAQAogCXN0cnVjdCBydF9ycSAqcnRfcnEgPSBydF9ycV9vZl9zZShydF9zZSk7CiAJc3RydWN0IHJ0X3ByaW9fYXJyYXkgKmFycmF5ID0gJnJ0X3JxLT5hY3RpdmU7CiAJc3RydWN0IHJ0X3JxICpncm91cF9ycSA9IGdyb3VwX3J0X3JxKHJ0X3NlKTsKKwlzdHJ1Y3QgbGlzdF9oZWFkICpxdWV1ZSA9IGFycmF5LT5xdWV1ZSArIHJ0X3NlX3ByaW8ocnRfc2UpOwogCiAJLyoKIAkgKiBEb24ndCBlbnF1ZXVlIHRoZSBncm91cCBpZiBpdHMgdGhyb3R0bGVkLCBvciB3aGVuIGVtcHR5LgpAQCAtNDY1LDcgKzU5OSwxMSBAQAogCWlmIChncm91cF9ycSAmJiAocnRfcnFfdGhyb3R0bGVkKGdyb3VwX3JxKSB8fCAhZ3JvdXBfcnEtPnJ0X25yX3J1bm5pbmcpKQogCQlyZXR1cm47CiAKLQlsaXN0X2FkZF90YWlsKCZydF9zZS0+cnVuX2xpc3QsIGFycmF5LT5xdWV1ZSArIHJ0X3NlX3ByaW8ocnRfc2UpKTsKKwlpZiAocnRfc2UtPm5yX2NwdXNfYWxsb3dlZCA9PSAxKQorCQlsaXN0X2FkZCgmcnRfc2UtPnJ1bl9saXN0LCBxdWV1ZSk7CisJZWxzZQorCQlsaXN0X2FkZF90YWlsKCZydF9zZS0+cnVuX2xpc3QsIHF1ZXVlKTsKKwogCV9fc2V0X2JpdChydF9zZV9wcmlvKHJ0X3NlKSwgYXJyYXktPmJpdG1hcCk7CiAKIAlpbmNfcnRfdGFza3MocnRfc2UsIHJ0X3JxKTsKQEAgLTUzMiw2ICs2NzAsOCBAQAogCQlydF9zZS0+dGltZW91dCA9IDA7CiAKIAllbnF1ZXVlX3J0X2VudGl0eShydF9zZSk7CisKKwlpbmNfY3B1X2xvYWQocnEsIHAtPnNlLmxvYWQud2VpZ2h0KTsKIH0KIAogc3RhdGljIHZvaWQgZGVxdWV1ZV90YXNrX3J0KHN0cnVjdCBycSAqcnEsIHN0cnVjdCB0YXNrX3N0cnVjdCAqcCwgaW50IHNsZWVwKQpAQCAtNTQwLDYgKzY4MCw4IEBACiAKIAl1cGRhdGVfY3Vycl9ydChycSk7CiAJZGVxdWV1ZV9ydF9lbnRpdHkocnRfc2UpOworCisJZGVjX2NwdV9sb2FkKHJxLCBwLT5zZS5sb2FkLndlaWdodCk7CiB9CiAKIC8qCkBAIC01NTAsMTAgKzY5MiwxMiBAQAogdm9pZCByZXF1ZXVlX3J0X2VudGl0eShzdHJ1Y3QgcnRfcnEgKnJ0X3JxLCBzdHJ1Y3Qgc2NoZWRfcnRfZW50aXR5ICpydF9zZSkKIHsKIAlzdHJ1Y3QgcnRfcHJpb19hcnJheSAqYXJyYXkgPSAmcnRfcnEtPmFjdGl2ZTsKLQlzdHJ1Y3QgbGlzdF9oZWFkICpxdWV1ZSA9IGFycmF5LT5xdWV1ZSArIHJ0X3NlX3ByaW8ocnRfc2UpOwogCi0JaWYgKG9uX3J0X3JxKHJ0X3NlKSkKLQkJbGlzdF9tb3ZlX3RhaWwoJnJ0X3NlLT5ydW5fbGlzdCwgcXVldWUpOworCWlmIChvbl9ydF9ycShydF9zZSkpIHsKKwkJbGlzdF9kZWxfaW5pdCgmcnRfc2UtPnJ1bl9saXN0KTsKKwkJbGlzdF9hZGRfdGFpbCgmcnRfc2UtPnJ1bl9saXN0LAorCQkJICAgICAgYXJyYXktPnF1ZXVlICsgcnRfc2VfcHJpbyhydF9zZSkpOworCX0KIH0KIAogc3RhdGljIHZvaWQgcmVxdWV1ZV90YXNrX3J0KHN0cnVjdCBycSAqcnEsIHN0cnVjdCB0YXNrX3N0cnVjdCAqcCkKQEAgLTYxNiw4ICs3NjAsMzcgQEAKICAqLwogc3RhdGljIHZvaWQgY2hlY2tfcHJlZW1wdF9jdXJyX3J0KHN0cnVjdCBycSAqcnEsIHN0cnVjdCB0YXNrX3N0cnVjdCAqcCkKIHsKLQlpZiAocC0+cHJpbyA8IHJxLT5jdXJyLT5wcmlvKQorCWlmIChwLT5wcmlvIDwgcnEtPmN1cnItPnByaW8pIHsKIAkJcmVzY2hlZF90YXNrKHJxLT5jdXJyKTsKKwkJcmV0dXJuOworCX0KKworI2lmZGVmIENPTkZJR19TTVAKKwkvKgorCSAqIElmOgorCSAqCisJICogLSB0aGUgbmV3bHkgd29rZW4gdGFzayBpcyBvZiBlcXVhbCBwcmlvcml0eSB0byB0aGUgY3VycmVudCB0YXNrCisJICogLSB0aGUgbmV3bHkgd29rZW4gdGFzayBpcyBub24tbWlncmF0YWJsZSB3aGlsZSBjdXJyZW50IGlzIG1pZ3JhdGFibGUKKwkgKiAtIGN1cnJlbnQgd2lsbCBiZSBwcmVlbXB0ZWQgb24gdGhlIG5leHQgcmVzY2hlZHVsZQorCSAqCisJICogd2Ugc2hvdWxkIGNoZWNrIHRvIHNlZSBpZiBjdXJyZW50IGNhbiByZWFkaWx5IG1vdmUgdG8gYSBkaWZmZXJlbnQKKwkgKiBjcHUuICBJZiBzbywgd2Ugd2lsbCByZXNjaGVkdWxlIHRvIGFsbG93IHRoZSBwdXNoIGxvZ2ljIHRvIHRyeQorCSAqIHRvIG1vdmUgY3VycmVudCBzb21ld2hlcmUgZWxzZSwgbWFraW5nIHJvb20gZm9yIG91ciBub24tbWlncmF0YWJsZQorCSAqIHRhc2suCisJICovCisJaWYoKHAtPnByaW8gPT0gcnEtPmN1cnItPnByaW8pCisJICAgJiYgcC0+cnQubnJfY3B1c19hbGxvd2VkID09IDEKKwkgICAmJiBycS0+Y3Vyci0+cnQubnJfY3B1c19hbGxvd2VkICE9IDEpIHsKKwkJY3B1bWFza190IG1hc2s7CisKKwkJaWYgKGNwdXByaV9maW5kKCZycS0+cmQtPmNwdXByaSwgcnEtPmN1cnIsICZtYXNrKSkKKwkJCS8qCisJCQkgKiBUaGVyZSBhcHBlYXJzIHRvIGJlIG90aGVyIGNwdXMgdGhhdCBjYW4gYWNjZXB0CisJCQkgKiBjdXJyZW50LCBzbyBsZXRzIHJlc2NoZWR1bGUgdG8gdHJ5IGFuZCBwdXNoIGl0IGF3YXkKKwkJCSAqLworCQkJcmVzY2hlZF90YXNrKHJxLT5jdXJyKTsKKwl9CisjZW5kaWYKIH0KIAogc3RhdGljIHN0cnVjdCBzY2hlZF9ydF9lbnRpdHkgKnBpY2tfbmV4dF9ydF9lbnRpdHkoc3RydWN0IHJxICpycSwKQEAgLTcyMCw3MyArODkzLDYgQEAKIAogc3RhdGljIERFRklORV9QRVJfQ1BVKGNwdW1hc2tfdCwgbG9jYWxfY3B1X21hc2spOwogCi1zdGF0aWMgaW50IGZpbmRfbG93ZXN0X2NwdXMoc3RydWN0IHRhc2tfc3RydWN0ICp0YXNrLCBjcHVtYXNrX3QgKmxvd2VzdF9tYXNrKQotewotCWludCAgICAgICBsb3dlc3RfcHJpbyA9IC0xOwotCWludCAgICAgICBsb3dlc3RfY3B1ICA9IC0xOwotCWludCAgICAgICBjb3VudCAgICAgICA9IDA7Ci0JaW50ICAgICAgIGNwdTsKLQotCWNwdXNfYW5kKCpsb3dlc3RfbWFzaywgdGFza19ycSh0YXNrKS0+cmQtPm9ubGluZSwgdGFzay0+Y3B1c19hbGxvd2VkKTsKLQotCS8qCi0JICogU2NhbiBlYWNoIHJxIGZvciB0aGUgbG93ZXN0IHByaW8uCi0JICovCi0JZm9yX2VhY2hfY3B1X21hc2soY3B1LCAqbG93ZXN0X21hc2spIHsKLQkJc3RydWN0IHJxICpycSA9IGNwdV9ycShjcHUpOwotCi0JCS8qIFdlIGxvb2sgZm9yIGxvd2VzdCBSVCBwcmlvIG9yIG5vbi1ydCBDUFUgKi8KLQkJaWYgKHJxLT5ydC5oaWdoZXN0X3ByaW8gPj0gTUFYX1JUX1BSSU8pIHsKLQkJCS8qCi0JCQkgKiBpZiB3ZSBhbHJlYWR5IGZvdW5kIGEgbG93IFJUIHF1ZXVlCi0JCQkgKiBhbmQgbm93IHdlIGZvdW5kIHRoaXMgbm9uLXJ0IHF1ZXVlCi0JCQkgKiBjbGVhciB0aGUgbWFzayBhbmQgc2V0IG91ciBiaXQuCi0JCQkgKiBPdGhlcndpc2UganVzdCByZXR1cm4gdGhlIHF1ZXVlIGFzIGlzCi0JCQkgKiBhbmQgdGhlIGNvdW50PT0xIHdpbGwgY2F1c2UgdGhlIGFsZ29yaXRobQotCQkJICogdG8gdXNlIHRoZSBmaXJzdCBiaXQgZm91bmQuCi0JCQkgKi8KLQkJCWlmIChsb3dlc3RfY3B1ICE9IC0xKSB7Ci0JCQkJY3B1c19jbGVhcigqbG93ZXN0X21hc2spOwotCQkJCWNwdV9zZXQocnEtPmNwdSwgKmxvd2VzdF9tYXNrKTsKLQkJCX0KLQkJCXJldHVybiAxOwotCQl9Ci0KLQkJLyogbm8gbG9ja2luZyBmb3Igbm93ICovCi0JCWlmICgocnEtPnJ0LmhpZ2hlc3RfcHJpbyA+IHRhc2stPnByaW8pCi0JCSAgICAmJiAocnEtPnJ0LmhpZ2hlc3RfcHJpbyA+PSBsb3dlc3RfcHJpbykpIHsKLQkJCWlmIChycS0+cnQuaGlnaGVzdF9wcmlvID4gbG93ZXN0X3ByaW8pIHsKLQkJCQkvKiBuZXcgbG93IC0gY2xlYXIgb2xkIGRhdGEgKi8KLQkJCQlsb3dlc3RfcHJpbyA9IHJxLT5ydC5oaWdoZXN0X3ByaW87Ci0JCQkJbG93ZXN0X2NwdSA9IGNwdTsKLQkJCQljb3VudCA9IDA7Ci0JCQl9Ci0JCQljb3VudCsrOwotCQl9IGVsc2UKLQkJCWNwdV9jbGVhcihjcHUsICpsb3dlc3RfbWFzayk7Ci0JfQotCi0JLyoKLQkgKiBDbGVhciBvdXQgYWxsIHRoZSBzZXQgYml0cyB0aGF0IHJlcHJlc2VudAotCSAqIHJ1bnF1ZXVlcyB0aGF0IHdlcmUgb2YgaGlnaGVyIHByaW8gdGhhbgotCSAqIHRoZSBsb3dlc3RfcHJpby4KLQkgKi8KLQlpZiAobG93ZXN0X2NwdSA+IDApIHsKLQkJLyoKLQkJICogUGVyaGFwcyB3ZSBjb3VsZCBhZGQgYW5vdGhlciBjcHVtYXNrIG9wIHRvCi0JCSAqIHplcm8gb3V0IGJpdHMuIExpa2UgY3B1X3plcm9fYml0cyhjcHVtYXNrLCBucmJpdHMpOwotCQkgKiBUaGVuIHRoYXQgY291bGQgYmUgb3B0aW1pemVkIHRvIHVzZSBtZW1zZXQgYW5kIHN1Y2guCi0JCSAqLwotCQlmb3JfZWFjaF9jcHVfbWFzayhjcHUsICpsb3dlc3RfbWFzaykgewotCQkJaWYgKGNwdSA+PSBsb3dlc3RfY3B1KQotCQkJCWJyZWFrOwotCQkJY3B1X2NsZWFyKGNwdSwgKmxvd2VzdF9tYXNrKTsKLQkJfQotCX0KLQotCXJldHVybiBjb3VudDsKLX0KLQogc3RhdGljIGlubGluZSBpbnQgcGlja19vcHRpbWFsX2NwdShpbnQgdGhpc19jcHUsIGNwdW1hc2tfdCAqbWFzaykKIHsKIAlpbnQgZmlyc3Q7CkBAIC04MDgsMTkgKzkxNCwxNCBAQAogCWNwdW1hc2tfdCAqbG93ZXN0X21hc2sgPSAmX19nZXRfY3B1X3Zhcihsb2NhbF9jcHVfbWFzayk7CiAJaW50IHRoaXNfY3B1ID0gc21wX3Byb2Nlc3Nvcl9pZCgpOwogCWludCBjcHUgICAgICA9IHRhc2tfY3B1KHRhc2spOwotCWludCBjb3VudCAgICA9IGZpbmRfbG93ZXN0X2NwdXModGFzaywgbG93ZXN0X21hc2spOwogCi0JaWYgKCFjb3VudCkKKwlpZiAodGFzay0+cnQubnJfY3B1c19hbGxvd2VkID09IDEpCisJCXJldHVybiAtMTsgLyogTm8gb3RoZXIgdGFyZ2V0cyBwb3NzaWJsZSAqLworCisJaWYgKCFjcHVwcmlfZmluZCgmdGFza19ycSh0YXNrKS0+cmQtPmNwdXByaSwgdGFzaywgbG93ZXN0X21hc2spKQogCQlyZXR1cm4gLTE7IC8qIE5vIHRhcmdldHMgZm91bmQgKi8KIAogCS8qCi0JICogVGhlcmUgaXMgbm8gc2Vuc2UgaW4gcGVyZm9ybWluZyBhbiBvcHRpbWFsIHNlYXJjaCBpZiBvbmx5IG9uZQotCSAqIHRhcmdldCBpcyBmb3VuZC4KLQkgKi8KLQlpZiAoY291bnQgPT0gMSkKLQkJcmV0dXJuIGZpcnN0X2NwdSgqbG93ZXN0X21hc2spOwotCi0JLyoKIAkgKiBBdCB0aGlzIHBvaW50IHdlIGhhdmUgYnVpbHQgYSBtYXNrIG9mIGNwdXMgcmVwcmVzZW50aW5nIHRoZQogCSAqIGxvd2VzdCBwcmlvcml0eSB0YXNrcyBpbiB0aGUgc3lzdGVtLiAgTm93IHdlIHdhbnQgdG8gZWxlY3QKIAkgKiB0aGUgYmVzdCBvbmUgYmFzZWQgb24gb3VyIGFmZmluaXR5IGFuZCB0b3BvbG9neS4KQEAgLTExNjMsMTcgKzEyNjQsMjUgQEAKIH0KIAogLyogQXNzdW1lcyBycS0+bG9jayBpcyBoZWxkICovCi1zdGF0aWMgdm9pZCBqb2luX2RvbWFpbl9ydChzdHJ1Y3QgcnEgKnJxKQorc3RhdGljIHZvaWQgcnFfb25saW5lX3J0KHN0cnVjdCBycSAqcnEpCiB7CiAJaWYgKHJxLT5ydC5vdmVybG9hZGVkKQogCQlydF9zZXRfb3ZlcmxvYWQocnEpOworCisJX19lbmFibGVfcnVudGltZShycSk7CisKKwljcHVwcmlfc2V0KCZycS0+cmQtPmNwdXByaSwgcnEtPmNwdSwgcnEtPnJ0LmhpZ2hlc3RfcHJpbyk7CiB9CiAKIC8qIEFzc3VtZXMgcnEtPmxvY2sgaXMgaGVsZCAqLwotc3RhdGljIHZvaWQgbGVhdmVfZG9tYWluX3J0KHN0cnVjdCBycSAqcnEpCitzdGF0aWMgdm9pZCBycV9vZmZsaW5lX3J0KHN0cnVjdCBycSAqcnEpCiB7CiAJaWYgKHJxLT5ydC5vdmVybG9hZGVkKQogCQlydF9jbGVhcl9vdmVybG9hZChycSk7CisKKwlfX2Rpc2FibGVfcnVudGltZShycSk7CisKKwljcHVwcmlfc2V0KCZycS0+cmQtPmNwdXByaSwgcnEtPmNwdSwgQ1BVUFJJX0lOVkFMSUQpOwogfQogCiAvKgpAQCAtMTMzNiw4ICsxNDQ1LDggQEAKIAkubG9hZF9iYWxhbmNlCQk9IGxvYWRfYmFsYW5jZV9ydCwKIAkubW92ZV9vbmVfdGFzawkJPSBtb3ZlX29uZV90YXNrX3J0LAogCS5zZXRfY3B1c19hbGxvd2VkICAgICAgID0gc2V0X2NwdXNfYWxsb3dlZF9ydCwKLQkuam9pbl9kb21haW4gICAgICAgICAgICA9IGpvaW5fZG9tYWluX3J0LAotCS5sZWF2ZV9kb21haW4gICAgICAgICAgID0gbGVhdmVfZG9tYWluX3J0LAorCS5ycV9vbmxpbmUgICAgICAgICAgICAgID0gcnFfb25saW5lX3J0LAorCS5ycV9vZmZsaW5lICAgICAgICAgICAgID0gcnFfb2ZmbGluZV9ydCwKIAkucHJlX3NjaGVkdWxlCQk9IHByZV9zY2hlZHVsZV9ydCwKIAkucG9zdF9zY2hlZHVsZQkJPSBwb3N0X3NjaGVkdWxlX3J0LAogCS50YXNrX3dha2VfdXAJCT0gdGFza193YWtlX3VwX3J0LApAQCAtMTM1MCwzICsxNDU5LDE3IEBACiAJLnByaW9fY2hhbmdlZAkJPSBwcmlvX2NoYW5nZWRfcnQsCiAJLnN3aXRjaGVkX3RvCQk9IHN3aXRjaGVkX3RvX3J0LAogfTsKKworI2lmZGVmIENPTkZJR19TQ0hFRF9ERUJVRworZXh0ZXJuIHZvaWQgcHJpbnRfcnRfcnEoc3RydWN0IHNlcV9maWxlICptLCBpbnQgY3B1LCBzdHJ1Y3QgcnRfcnEgKnJ0X3JxKTsKKworc3RhdGljIHZvaWQgcHJpbnRfcnRfc3RhdHMoc3RydWN0IHNlcV9maWxlICptLCBpbnQgY3B1KQoreworCXN0cnVjdCBydF9ycSAqcnRfcnE7CisKKwlyY3VfcmVhZF9sb2NrKCk7CisJZm9yX2VhY2hfbGVhZl9ydF9ycShydF9ycSwgY3B1X3JxKGNwdSkpCisJCXByaW50X3J0X3JxKG0sIGNwdSwgcnRfcnEpOworCXJjdV9yZWFkX3VubG9jaygpOworfQorI2VuZGlmIC8qIENPTkZJR19TQ0hFRF9ERUJVRyAqLwpkaWZmIC0tZ2l0IGEva2VybmVsL3NjaGVkX3N0YXRzLmggYi9rZXJuZWwvc2NoZWRfc3RhdHMuaAppbmRleCA4MDE3OWVmLi44Mzg1ZDQzIDEwMDY0NAotLS0gYS9rZXJuZWwvc2NoZWRfc3RhdHMuaAorKysgYi9rZXJuZWwvc2NoZWRfc3RhdHMuaApAQCAtMTE4LDYgKzExOCwxMyBAQAogCWlmIChycSkKIAkJcnEtPnJxX3NjaGVkX2luZm8uY3B1X3RpbWUgKz0gZGVsdGE7CiB9CisKK3N0YXRpYyBpbmxpbmUgdm9pZAorcnFfc2NoZWRfaW5mb19kZXF1ZXVlZChzdHJ1Y3QgcnEgKnJxLCB1bnNpZ25lZCBsb25nIGxvbmcgZGVsdGEpCit7CisJaWYgKHJxKQorCQlycS0+cnFfc2NoZWRfaW5mby5ydW5fZGVsYXkgKz0gZGVsdGE7Cit9CiAjIGRlZmluZSBzY2hlZHN0YXRfaW5jKHJxLCBmaWVsZCkJZG8geyAocnEpLT5maWVsZCsrOyB9IHdoaWxlICgwKQogIyBkZWZpbmUgc2NoZWRzdGF0X2FkZChycSwgZmllbGQsIGFtdCkJZG8geyAocnEpLT5maWVsZCArPSAoYW10KTsgfSB3aGlsZSAoMCkKICMgZGVmaW5lIHNjaGVkc3RhdF9zZXQodmFyLCB2YWwpCWRvIHsgdmFyID0gKHZhbCk7IH0gd2hpbGUgKDApCkBAIC0xMjYsNiArMTMzLDkgQEAKIHJxX3NjaGVkX2luZm9fYXJyaXZlKHN0cnVjdCBycSAqcnEsIHVuc2lnbmVkIGxvbmcgbG9uZyBkZWx0YSkKIHt9CiBzdGF0aWMgaW5saW5lIHZvaWQKK3JxX3NjaGVkX2luZm9fZGVxdWV1ZWQoc3RydWN0IHJxICpycSwgdW5zaWduZWQgbG9uZyBsb25nIGRlbHRhKQore30KK3N0YXRpYyBpbmxpbmUgdm9pZAogcnFfc2NoZWRfaW5mb19kZXBhcnQoc3RydWN0IHJxICpycSwgdW5zaWduZWQgbG9uZyBsb25nIGRlbHRhKQoge30KICMgZGVmaW5lIHNjaGVkc3RhdF9pbmMocnEsIGZpZWxkKQlkbyB7IH0gd2hpbGUgKDApCkBAIC0xMzQsNiArMTQ0LDExIEBACiAjZW5kaWYKIAogI2lmIGRlZmluZWQoQ09ORklHX1NDSEVEU1RBVFMpIHx8IGRlZmluZWQoQ09ORklHX1RBU0tfREVMQVlfQUNDVCkKK3N0YXRpYyBpbmxpbmUgdm9pZCBzY2hlZF9pbmZvX3Jlc2V0X2RlcXVldWVkKHN0cnVjdCB0YXNrX3N0cnVjdCAqdCkKK3sKKwl0LT5zY2hlZF9pbmZvLmxhc3RfcXVldWVkID0gMDsKK30KKwogLyoKICAqIENhbGxlZCB3aGVuIGEgcHJvY2VzcyBpcyBkZXF1ZXVlZCBmcm9tIHRoZSBhY3RpdmUgYXJyYXkgYW5kIGdpdmVuCiAgKiB0aGUgY3B1LiAgV2Ugc2hvdWxkIG5vdGUgdGhhdCB3aXRoIHRoZSBleGNlcHRpb24gb2YgaW50ZXJhY3RpdmUKQEAgLTE0MywxNSArMTU4LDIyIEBACiAgKiBhY3RpdmUgcXVldWUsIHRodXMgZGVsYXlpbmcgdGFza3MgaW4gdGhlIGV4cGlyZWQgcXVldWUgZnJvbSBydW5uaW5nOwogICogc2VlIHNjaGVkdWxlcl90aWNrKCkpLgogICoKLSAqIFRoaXMgZnVuY3Rpb24gaXMgb25seSBjYWxsZWQgZnJvbSBzY2hlZF9pbmZvX2Fycml2ZSgpLCByYXRoZXIgdGhhbgotICogZGVxdWV1ZV90YXNrKCkuIEV2ZW4gdGhvdWdoIGEgdGFzayBtYXkgYmUgcXVldWVkIGFuZCBkZXF1ZXVlZCBtdWx0aXBsZQotICogdGltZXMgYXMgaXQgaXMgc2h1ZmZsZWQgYWJvdXQsIHdlJ3JlIHJlYWxseSBpbnRlcmVzdGVkIGluIGtub3dpbmcgaG93Ci0gKiBsb25nIGl0IHdhcyBmcm9tIHRoZSAqZmlyc3QqIHRpbWUgaXQgd2FzIHF1ZXVlZCB0byB0aGUgdGltZSB0aGF0IGl0Ci0gKiBmaW5hbGx5IGhpdCBhIGNwdS4KKyAqIFRob3VnaCB3ZSBhcmUgaW50ZXJlc3RlZCBpbiBrbm93aW5nIGhvdyBsb25nIGl0IHdhcyBmcm9tIHRoZSAqZmlyc3QqIHRpbWUgYQorICogdGFzayB3YXMgcXVldWVkIHRvIHRoZSB0aW1lIHRoYXQgaXQgZmluYWxseSBoaXQgYSBjcHUsIHdlIGNhbGwgdGhpcyByb3V0aW5lCisgKiBmcm9tIGRlcXVldWVfdGFzaygpIHRvIGFjY291bnQgZm9yIHBvc3NpYmxlIHJxLT5jbG9jayBza2V3IGFjcm9zcyBjcHVzLiBUaGUKKyAqIGRlbHRhIHRha2VuIG9uIGVhY2ggY3B1IHdvdWxkIGFubnVsIHRoZSBza2V3LgogICovCiBzdGF0aWMgaW5saW5lIHZvaWQgc2NoZWRfaW5mb19kZXF1ZXVlZChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnQpCiB7Ci0JdC0+c2NoZWRfaW5mby5sYXN0X3F1ZXVlZCA9IDA7CisJdW5zaWduZWQgbG9uZyBsb25nIG5vdyA9IHRhc2tfcnEodCktPmNsb2NrLCBkZWx0YSA9IDA7CisKKwlpZiAodW5saWtlbHkoc2NoZWRfaW5mb19vbigpKSkKKwkJaWYgKHQtPnNjaGVkX2luZm8ubGFzdF9xdWV1ZWQpCisJCQlkZWx0YSA9IG5vdyAtIHQtPnNjaGVkX2luZm8ubGFzdF9xdWV1ZWQ7CisJc2NoZWRfaW5mb19yZXNldF9kZXF1ZXVlZCh0KTsKKwl0LT5zY2hlZF9pbmZvLnJ1bl9kZWxheSArPSBkZWx0YTsKKworCXJxX3NjaGVkX2luZm9fZGVxdWV1ZWQodGFza19ycSh0KSwgZGVsdGEpOwogfQogCiAvKgpAQCAtMTY1LDcgKzE4Nyw3IEBACiAKIAlpZiAodC0+c2NoZWRfaW5mby5sYXN0X3F1ZXVlZCkKIAkJZGVsdGEgPSBub3cgLSB0LT5zY2hlZF9pbmZvLmxhc3RfcXVldWVkOwotCXNjaGVkX2luZm9fZGVxdWV1ZWQodCk7CisJc2NoZWRfaW5mb19yZXNldF9kZXF1ZXVlZCh0KTsKIAl0LT5zY2hlZF9pbmZvLnJ1bl9kZWxheSArPSBkZWx0YTsKIAl0LT5zY2hlZF9pbmZvLmxhc3RfYXJyaXZhbCA9IG5vdzsKIAl0LT5zY2hlZF9pbmZvLnBjb3VudCsrOwpAQCAtMjQyLDcgKzI2NCw5IEBACiAJCV9fc2NoZWRfaW5mb19zd2l0Y2gocHJldiwgbmV4dCk7CiB9CiAjZWxzZQotI2RlZmluZSBzY2hlZF9pbmZvX3F1ZXVlZCh0KQkJZG8geyB9IHdoaWxlICgwKQotI2RlZmluZSBzY2hlZF9pbmZvX3N3aXRjaCh0LCBuZXh0KQlkbyB7IH0gd2hpbGUgKDApCisjZGVmaW5lIHNjaGVkX2luZm9fcXVldWVkKHQpCQkJZG8geyB9IHdoaWxlICgwKQorI2RlZmluZSBzY2hlZF9pbmZvX3Jlc2V0X2RlcXVldWVkKHQpCWRvIHsgfSB3aGlsZSAoMCkKKyNkZWZpbmUgc2NoZWRfaW5mb19kZXF1ZXVlZCh0KQkJCWRvIHsgfSB3aGlsZSAoMCkKKyNkZWZpbmUgc2NoZWRfaW5mb19zd2l0Y2godCwgbmV4dCkJCWRvIHsgfSB3aGlsZSAoMCkKICNlbmRpZiAvKiBDT05GSUdfU0NIRURTVEFUUyB8fCBDT05GSUdfVEFTS19ERUxBWV9BQ0NUICovCiAKZGlmZiAtLWdpdCBhL2tlcm5lbC9zZW1hcGhvcmUuYyBiL2tlcm5lbC9zZW1hcGhvcmUuYwppbmRleCA1YzI5NDJlLi5hYWFlYWU4IDEwMDY0NAotLS0gYS9rZXJuZWwvc2VtYXBob3JlLmMKKysrIGIva2VybmVsL3NlbWFwaG9yZS5jCkBAIC0zMSw2ICszMSw3IEBACiAjaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KICNpbmNsdWRlIDxsaW51eC9zZW1hcGhvcmUuaD4KICNpbmNsdWRlIDxsaW51eC9zcGlubG9jay5oPgorI2luY2x1ZGUgPGxpbnV4L2Z0cmFjZS5oPgogCiBzdGF0aWMgbm9pbmxpbmUgdm9pZCBfX2Rvd24oc3RydWN0IHNlbWFwaG9yZSAqc2VtKTsKIHN0YXRpYyBub2lubGluZSBpbnQgX19kb3duX2ludGVycnVwdGlibGUoc3RydWN0IHNlbWFwaG9yZSAqc2VtKTsKZGlmZiAtLWdpdCBhL2tlcm5lbC9zb2Z0aXJxLmMgYi9rZXJuZWwvc29mdGlycS5jCmluZGV4IDM2ZTA2MTcuLjNlOWU4OTYgMTAwNjQ0Ci0tLSBhL2tlcm5lbC9zb2Z0aXJxLmMKKysrIGIva2VybmVsL3NvZnRpcnEuYwpAQCAtMTMxLDQ4ICsxMzEsMTEgQEAKIAogRVhQT1JUX1NZTUJPTChfbG9jYWxfYmhfZW5hYmxlKTsKIAotdm9pZCBsb2NhbF9iaF9lbmFibGUodm9pZCkKK3N0YXRpYyBpbmxpbmUgdm9pZCBfbG9jYWxfYmhfZW5hYmxlX2lwKHVuc2lnbmVkIGxvbmcgaXApCiB7CisJV0FSTl9PTl9PTkNFKGluX2lycSgpIHx8IGlycXNfZGlzYWJsZWQoKSk7CiAjaWZkZWYgQ09ORklHX1RSQUNFX0lSUUZMQUdTCi0JdW5zaWduZWQgbG9uZyBmbGFnczsKLQotCVdBUk5fT05fT05DRShpbl9pcnEoKSk7Ci0jZW5kaWYKLQlXQVJOX09OX09OQ0UoaXJxc19kaXNhYmxlZCgpKTsKLQotI2lmZGVmIENPTkZJR19UUkFDRV9JUlFGTEFHUwotCWxvY2FsX2lycV9zYXZlKGZsYWdzKTsKLSNlbmRpZgotCS8qCi0JICogQXJlIHNvZnRpcnFzIGdvaW5nIHRvIGJlIHR1cm5lZCBvbiBub3c6Ci0JICovCi0JaWYgKHNvZnRpcnFfY291bnQoKSA9PSBTT0ZUSVJRX09GRlNFVCkKLQkJdHJhY2Vfc29mdGlycXNfb24oKHVuc2lnbmVkIGxvbmcpX19idWlsdGluX3JldHVybl9hZGRyZXNzKDApKTsKLQkvKgotCSAqIEtlZXAgcHJlZW1wdGlvbiBkaXNhYmxlZCB1bnRpbCB3ZSBhcmUgZG9uZSB3aXRoCi0JICogc29mdGlycSBwcm9jZXNzaW5nOgotIAkgKi8KLSAJc3ViX3ByZWVtcHRfY291bnQoU09GVElSUV9PRkZTRVQgLSAxKTsKLQotCWlmICh1bmxpa2VseSghaW5faW50ZXJydXB0KCkgJiYgbG9jYWxfc29mdGlycV9wZW5kaW5nKCkpKQotCQlkb19zb2Z0aXJxKCk7Ci0KLQlkZWNfcHJlZW1wdF9jb3VudCgpOwotI2lmZGVmIENPTkZJR19UUkFDRV9JUlFGTEFHUwotCWxvY2FsX2lycV9yZXN0b3JlKGZsYWdzKTsKLSNlbmRpZgotCXByZWVtcHRfY2hlY2tfcmVzY2hlZCgpOwotfQotRVhQT1JUX1NZTUJPTChsb2NhbF9iaF9lbmFibGUpOwotCi12b2lkIGxvY2FsX2JoX2VuYWJsZV9pcCh1bnNpZ25lZCBsb25nIGlwKQotewotI2lmZGVmIENPTkZJR19UUkFDRV9JUlFGTEFHUwotCXVuc2lnbmVkIGxvbmcgZmxhZ3M7Ci0KLQlXQVJOX09OX09OQ0UoaW5faXJxKCkpOwotCi0JbG9jYWxfaXJxX3NhdmUoZmxhZ3MpOworCWxvY2FsX2lycV9kaXNhYmxlKCk7CiAjZW5kaWYKIAkvKgogCSAqIEFyZSBzb2Z0aXJxcyBnb2luZyB0byBiZSB0dXJuZWQgb24gbm93OgpAQCAtMTkwLDEwICsxNTMsMjEgQEAKIAogCWRlY19wcmVlbXB0X2NvdW50KCk7CiAjaWZkZWYgQ09ORklHX1RSQUNFX0lSUUZMQUdTCi0JbG9jYWxfaXJxX3Jlc3RvcmUoZmxhZ3MpOworCWxvY2FsX2lycV9lbmFibGUoKTsKICNlbmRpZgogCXByZWVtcHRfY2hlY2tfcmVzY2hlZCgpOwogfQorCit2b2lkIGxvY2FsX2JoX2VuYWJsZSh2b2lkKQoreworCV9sb2NhbF9iaF9lbmFibGVfaXAoKHVuc2lnbmVkIGxvbmcpX19idWlsdGluX3JldHVybl9hZGRyZXNzKDApKTsKK30KK0VYUE9SVF9TWU1CT0wobG9jYWxfYmhfZW5hYmxlKTsKKwordm9pZCBsb2NhbF9iaF9lbmFibGVfaXAodW5zaWduZWQgbG9uZyBpcCkKK3sKKwlfbG9jYWxfYmhfZW5hYmxlX2lwKGlwKTsKK30KIEVYUE9SVF9TWU1CT0wobG9jYWxfYmhfZW5hYmxlX2lwKTsKIAogLyoKQEAgLTM0Nyw5ICszMjEsOCBAQAogCWxvY2FsX2lycV9yZXN0b3JlKGZsYWdzKTsKIH0KIAotdm9pZCBvcGVuX3NvZnRpcnEoaW50IG5yLCB2b2lkICgqYWN0aW9uKShzdHJ1Y3Qgc29mdGlycV9hY3Rpb24qKSwgdm9pZCAqZGF0YSkKK3ZvaWQgb3Blbl9zb2Z0aXJxKGludCBuciwgdm9pZCAoKmFjdGlvbikoc3RydWN0IHNvZnRpcnFfYWN0aW9uICopKQogewotCXNvZnRpcnFfdmVjW25yXS5kYXRhID0gZGF0YTsKIAlzb2Z0aXJxX3ZlY1tucl0uYWN0aW9uID0gYWN0aW9uOwogfQogCkBAIC0zNjAsMTAgKzMzMyw4IEBACiAJc3RydWN0IHRhc2tsZXRfc3RydWN0ICoqdGFpbDsKIH07CiAKLS8qIFNvbWUgY29tcGlsZXJzIGRpc29iZXkgc2VjdGlvbiBhdHRyaWJ1dGUgb24gc3RhdGljcyB3aGVuIG5vdAotICAgaW5pdGlhbGl6ZWQgLS0gUlIgKi8KLXN0YXRpYyBERUZJTkVfUEVSX0NQVShzdHJ1Y3QgdGFza2xldF9oZWFkLCB0YXNrbGV0X3ZlYykgPSB7IE5VTEwgfTsKLXN0YXRpYyBERUZJTkVfUEVSX0NQVShzdHJ1Y3QgdGFza2xldF9oZWFkLCB0YXNrbGV0X2hpX3ZlYykgPSB7IE5VTEwgfTsKK3N0YXRpYyBERUZJTkVfUEVSX0NQVShzdHJ1Y3QgdGFza2xldF9oZWFkLCB0YXNrbGV0X3ZlYyk7CitzdGF0aWMgREVGSU5FX1BFUl9DUFUoc3RydWN0IHRhc2tsZXRfaGVhZCwgdGFza2xldF9oaV92ZWMpOwogCiB2b2lkIF9fdGFza2xldF9zY2hlZHVsZShzdHJ1Y3QgdGFza2xldF9zdHJ1Y3QgKnQpCiB7CkBAIC01MDMsOCArNDc0LDggQEAKIAkJCSZwZXJfY3B1KHRhc2tsZXRfaGlfdmVjLCBjcHUpLmhlYWQ7CiAJfQogCi0Jb3Blbl9zb2Z0aXJxKFRBU0tMRVRfU09GVElSUSwgdGFza2xldF9hY3Rpb24sIE5VTEwpOwotCW9wZW5fc29mdGlycShISV9TT0ZUSVJRLCB0YXNrbGV0X2hpX2FjdGlvbiwgTlVMTCk7CisJb3Blbl9zb2Z0aXJxKFRBU0tMRVRfU09GVElSUSwgdGFza2xldF9hY3Rpb24pOworCW9wZW5fc29mdGlycShISV9TT0ZUSVJRLCB0YXNrbGV0X2hpX2FjdGlvbik7CiB9CiAKIHN0YXRpYyBpbnQga3NvZnRpcnFkKHZvaWQgKiBfX2JpbmRfY3B1KQpAQCAtNjQ1LDcgKzYxNiw3IEBACiAKIAkJcCA9IHBlcl9jcHUoa3NvZnRpcnFkLCBob3RjcHUpOwogCQlwZXJfY3B1KGtzb2Z0aXJxZCwgaG90Y3B1KSA9IE5VTEw7Ci0JCXNjaGVkX3NldHNjaGVkdWxlcihwLCBTQ0hFRF9GSUZPLCAmcGFyYW0pOworCQlzY2hlZF9zZXRzY2hlZHVsZXJfbm9jaGVjayhwLCBTQ0hFRF9GSUZPLCAmcGFyYW0pOwogCQlrdGhyZWFkX3N0b3AocCk7CiAJCXRha2VvdmVyX3Rhc2tsZXRzKGhvdGNwdSk7CiAJCWJyZWFrOwpkaWZmIC0tZ2l0IGEva2VybmVsL3NwaW5sb2NrLmMgYi9rZXJuZWwvc3BpbmxvY2suYwppbmRleCBhZTI4YzgyLi5hMWZiNTRjIDEwMDY0NAotLS0gYS9rZXJuZWwvc3BpbmxvY2suYworKysgYi9rZXJuZWwvc3BpbmxvY2suYwpAQCAtNDM2LDcgKzQzNiw3IEBACiB9CiBFWFBPUlRfU1lNQk9MKF9zcGluX3RyeWxvY2tfYmgpOwogCi1pbnQgaW5fbG9ja19mdW5jdGlvbnModW5zaWduZWQgbG9uZyBhZGRyKQorbm90cmFjZSBpbnQgaW5fbG9ja19mdW5jdGlvbnModW5zaWduZWQgbG9uZyBhZGRyKQogewogCS8qIExpbmtlciBhZGRzIHRoZXNlOiBzdGFydCBhbmQgZW5kIG9mIF9fbG9ja2Z1bmMgZnVuY3Rpb25zICovCiAJZXh0ZXJuIGNoYXIgX19sb2NrX3RleHRfc3RhcnRbXSwgX19sb2NrX3RleHRfZW5kW107CmRpZmYgLS1naXQgYS9rZXJuZWwvc3RhY2t0cmFjZS5jIGIva2VybmVsL3N0YWNrdHJhY2UuYwppbmRleCBiNzE4MTZlLi45NGI1MjdlIDEwMDY0NAotLS0gYS9rZXJuZWwvc3RhY2t0cmFjZS5jCisrKyBiL2tlcm5lbC9zdGFja3RyYWNlLmMKQEAgLTYsMTkgKzYsMjEgQEAKICAqICBDb3B5cmlnaHQgKEMpIDIwMDYgUmVkIEhhdCwgSW5jLiwgSW5nbyBNb2xuYXIgPG1pbmdvQHJlZGhhdC5jb20+CiAgKi8KICNpbmNsdWRlIDxsaW51eC9zY2hlZC5oPgorI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogI2luY2x1ZGUgPGxpbnV4L2thbGxzeW1zLmg+CiAjaW5jbHVkZSA8bGludXgvc3RhY2t0cmFjZS5oPgogCiB2b2lkIHByaW50X3N0YWNrX3RyYWNlKHN0cnVjdCBzdGFja190cmFjZSAqdHJhY2UsIGludCBzcGFjZXMpCiB7Ci0JaW50IGksIGo7CisJaW50IGk7CisKKwlpZiAoV0FSTl9PTighdHJhY2UtPmVudHJpZXMpKQorCQlyZXR1cm47CiAKIAlmb3IgKGkgPSAwOyBpIDwgdHJhY2UtPm5yX2VudHJpZXM7IGkrKykgewotCQl1bnNpZ25lZCBsb25nIGlwID0gdHJhY2UtPmVudHJpZXNbaV07Ci0KLQkJZm9yIChqID0gMDsgaiA8IHNwYWNlcyArIDE7IGorKykKLQkJCXByaW50aygiICIpOwotCQlwcmludF9pcF9zeW0oaXApOworCQlwcmludGsoIiUqYyIsIDEgKyBzcGFjZXMsICcgJyk7CisJCXByaW50X2lwX3N5bSh0cmFjZS0+ZW50cmllc1tpXSk7CiAJfQogfQorRVhQT1JUX1NZTUJPTF9HUEwocHJpbnRfc3RhY2tfdHJhY2UpOwogCmRpZmYgLS1naXQgYS9rZXJuZWwvc3RvcF9tYWNoaW5lLmMgYi9rZXJuZWwvc3RvcF9tYWNoaW5lLmMKaW5kZXggYjczNTBiYi4uYmE5YjIwNSAxMDA2NDQKLS0tIGEva2VybmVsL3N0b3BfbWFjaGluZS5jCisrKyBiL2tlcm5lbC9zdG9wX21hY2hpbmUuYwpAQCAtMTg3LDcgKzE4Nyw3IEBACiAJCXN0cnVjdCBzY2hlZF9wYXJhbSBwYXJhbSA9IHsgLnNjaGVkX3ByaW9yaXR5ID0gTUFYX1JUX1BSSU8tMSB9OwogCiAJCS8qIE9uZSBoaWdoLXByaW8gdGhyZWFkIHBlciBjcHUuICBXZSdsbCBkbyB0aGlzIG9uZS4gKi8KLQkJc2NoZWRfc2V0c2NoZWR1bGVyKHAsIFNDSEVEX0ZJRk8sICZwYXJhbSk7CisJCXNjaGVkX3NldHNjaGVkdWxlcl9ub2NoZWNrKHAsIFNDSEVEX0ZJRk8sICZwYXJhbSk7CiAJCWt0aHJlYWRfYmluZChwLCBjcHUpOwogCQl3YWtlX3VwX3Byb2Nlc3MocCk7CiAJCXdhaXRfZm9yX2NvbXBsZXRpb24oJnNtZGF0YS5kb25lKTsKZGlmZiAtLWdpdCBhL2tlcm5lbC9zeXNjdGwuYyBiL2tlcm5lbC9zeXNjdGwuYwppbmRleCAyOTExNjY1Li4wZDU2MmQ2IDEwMDY0NAotLS0gYS9rZXJuZWwvc3lzY3RsLmMKKysrIGIva2VybmVsL3N5c2N0bC5jCkBAIC00Niw2ICs0Niw3IEBACiAjaW5jbHVkZSA8bGludXgvbmZzX2ZzLmg+CiAjaW5jbHVkZSA8bGludXgvYWNwaS5oPgogI2luY2x1ZGUgPGxpbnV4L3JlYm9vdC5oPgorI2luY2x1ZGUgPGxpbnV4L2Z0cmFjZS5oPgogCiAjaW5jbHVkZSA8YXNtL3VhY2Nlc3MuaD4KICNpbmNsdWRlIDxhc20vcHJvY2Vzc29yLmg+CkBAIC0xMzIsOCArMTMzLDYgQEAKIGV4dGVybiBpbnQgc3Bpbl9yZXRyeTsKICNlbmRpZgogCi1leHRlcm4gaW50IHN5c2N0bF9oel90aW1lcjsKLQogI2lmZGVmIENPTkZJR19CU0RfUFJPQ0VTU19BQ0NUCiBleHRlcm4gaW50IGFjY3RfcGFybVtdOwogI2VuZGlmCkBAIC0yNjYsNiArMjY1LDE0IEBACiAJfSwKIAl7CiAJCS5jdGxfbmFtZQk9IENUTF9VTk5VTUJFUkVELAorCQkucHJvY25hbWUJPSAic2NoZWRfc2hhcmVzX3JhdGVsaW1pdCIsCisJCS5kYXRhCQk9ICZzeXNjdGxfc2NoZWRfc2hhcmVzX3JhdGVsaW1pdCwKKwkJLm1heGxlbgkJPSBzaXplb2YodW5zaWduZWQgaW50KSwKKwkJLm1vZGUJCT0gMDY0NCwKKwkJLnByb2NfaGFuZGxlcgk9ICZwcm9jX2RvaW50dmVjLAorCX0sCisJeworCQkuY3RsX25hbWUJPSBDVExfVU5OVU1CRVJFRCwKIAkJLnByb2NuYW1lCT0gInNjaGVkX2NoaWxkX3J1bnNfZmlyc3QiLAogCQkuZGF0YQkJPSAmc3lzY3RsX3NjaGVkX2NoaWxkX3J1bnNfZmlyc3QsCiAJCS5tYXhsZW4JCT0gc2l6ZW9mKHVuc2lnbmVkIGludCksCkBAIC00NTUsNiArNDYyLDE2IEBACiAJCS5tb2RlCQk9IDA2NDQsCiAJCS5wcm9jX2hhbmRsZXIJPSAmcHJvY19kb2ludHZlYywKIAl9LAorI2lmZGVmIENPTkZJR19GVFJBQ0UKKwl7CisJCS5jdGxfbmFtZQk9IENUTF9VTk5VTUJFUkVELAorCQkucHJvY25hbWUJPSAiZnRyYWNlX2VuYWJsZWQiLAorCQkuZGF0YQkJPSAmZnRyYWNlX2VuYWJsZWQsCisJCS5tYXhsZW4JCT0gc2l6ZW9mKGludCksCisJCS5tb2RlCQk9IDA2NDQsCisJCS5wcm9jX2hhbmRsZXIJPSAmZnRyYWNlX2VuYWJsZV9zeXNjdGwsCisJfSwKKyNlbmRpZgogI2lmZGVmIENPTkZJR19LTU9ECiAJewogCQkuY3RsX25hbWUJPSBLRVJOX01PRFBST0JFLApAQCAtNTYzLDE2ICs1ODAsNiBAQAogCQkucHJvY19oYW5kbGVyCT0gJnByb2NfZG9pbnR2ZWMsCiAJfSwKICNlbmRpZgotI2lmZGVmIENPTkZJR19OT19JRExFX0haCi0JewotCQkuY3RsX25hbWUgICAgICAgPSBLRVJOX0haX1RJTUVSLAotCQkucHJvY25hbWUgICAgICAgPSAiaHpfdGltZXIiLAotCQkuZGF0YSAgICAgICAgICAgPSAmc3lzY3RsX2h6X3RpbWVyLAotCQkubWF4bGVuICAgICAgICAgPSBzaXplb2YoaW50KSwKLQkJLm1vZGUgICAgICAgICAgID0gMDY0NCwKLQkJLnByb2NfaGFuZGxlciAgID0gJnByb2NfZG9pbnR2ZWMsCi0JfSwKLSNlbmRpZgogCXsKIAkJLmN0bF9uYW1lCT0gS0VSTl9TMzkwX1VTRVJfREVCVUdfTE9HR0lORywKIAkJLnByb2NuYW1lCT0gInVzZXJwcm9jZXNzX2RlYnVnIiwKZGlmZiAtLWdpdCBhL2tlcm5lbC90aW1lL3RpY2stYnJvYWRjYXN0LmMgYi9rZXJuZWwvdGltZS90aWNrLWJyb2FkY2FzdC5jCmluZGV4IDU3YTFmMDIuLjY3ZjgwYzIgMTAwNjQ0Ci0tLSBhL2tlcm5lbC90aW1lL3RpY2stYnJvYWRjYXN0LmMKKysrIGIva2VybmVsL3RpbWUvdGljay1icm9hZGNhc3QuYwpAQCAtMzAsNiArMzAsNyBAQAogc3RydWN0IHRpY2tfZGV2aWNlIHRpY2tfYnJvYWRjYXN0X2RldmljZTsKIHN0YXRpYyBjcHVtYXNrX3QgdGlja19icm9hZGNhc3RfbWFzazsKIHN0YXRpYyBERUZJTkVfU1BJTkxPQ0sodGlja19icm9hZGNhc3RfbG9jayk7CitzdGF0aWMgaW50IHRpY2tfYnJvYWRjYXN0X2ZvcmNlOwogCiAjaWZkZWYgQ09ORklHX1RJQ0tfT05FU0hPVAogc3RhdGljIHZvaWQgdGlja19icm9hZGNhc3RfY2xlYXJfb25lc2hvdChpbnQgY3B1KTsKQEAgLTIzMiwxMCArMjMzLDExIEBACiAJCQkJCQkgICAgIENMT0NLX0VWVF9NT0RFX1NIVVRET1dOKTsKIAkJfQogCQlpZiAoKnJlYXNvbiA9PSBDTE9DS19FVlRfTk9USUZZX0JST0FEQ0FTVF9GT1JDRSkKLQkJCWRldi0+ZmVhdHVyZXMgfD0gQ0xPQ0tfRVZUX0ZFQVRfRFVNTVk7CisJCQl0aWNrX2Jyb2FkY2FzdF9mb3JjZSA9IDE7CiAJCWJyZWFrOwogCWNhc2UgQ0xPQ0tfRVZUX05PVElGWV9CUk9BRENBU1RfT0ZGOgotCQlpZiAoY3B1X2lzc2V0KGNwdSwgdGlja19icm9hZGNhc3RfbWFzaykpIHsKKwkJaWYgKCF0aWNrX2Jyb2FkY2FzdF9mb3JjZSAmJgorCQkgICAgY3B1X2lzc2V0KGNwdSwgdGlja19icm9hZGNhc3RfbWFzaykpIHsKIAkJCWNwdV9jbGVhcihjcHUsIHRpY2tfYnJvYWRjYXN0X21hc2spOwogCQkJaWYgKHRkLT5tb2RlID09IFRJQ0tERVZfTU9ERV9QRVJJT0RJQykKIAkJCQl0aWNrX3NldHVwX3BlcmlvZGljKGRldiwgMCk7CmRpZmYgLS1naXQgYS9rZXJuZWwvdGltZS90aWNrLXNjaGVkLmMgYi9rZXJuZWwvdGltZS90aWNrLXNjaGVkLmMKaW5kZXggYjg1NGE4OS4uYmVlZjdjYyAxMDA2NDQKLS0tIGEva2VybmVsL3RpbWUvdGljay1zY2hlZC5jCisrKyBiL2tlcm5lbC90aW1lL3RpY2stc2NoZWQuYwpAQCAtNDgsNiArNDgsMTMgQEAKIAl1bnNpZ25lZCBsb25nIHRpY2tzID0gMDsKIAlrdGltZV90IGRlbHRhOwogCisJLyoKKwkgKiBEbyBhIHF1aWNrIGNoZWNrIHdpdGhvdXQgaG9sZGluZyB4dGltZV9sb2NrOgorCSAqLworCWRlbHRhID0ga3RpbWVfc3ViKG5vdywgbGFzdF9qaWZmaWVzX3VwZGF0ZSk7CisJaWYgKGRlbHRhLnR2NjQgPCB0aWNrX3BlcmlvZC50djY0KQorCQlyZXR1cm47CisKIAkvKiBSZWV2YWx1dGUgd2l0aCB4dGltZV9sb2NrIGhlbGQgKi8KIAl3cml0ZV9zZXFsb2NrKCZ4dGltZV9sb2NrKTsKIApAQCAtMjI4LDYgKzIzNSw3IEBACiAJCQkgICAgICAgbG9jYWxfc29mdGlycV9wZW5kaW5nKCkpOwogCQkJcmF0ZWxpbWl0Kys7CiAJCX0KKwkJZ290byBlbmQ7CiAJfQogCiAJdHMtPmlkbGVfY2FsbHMrKzsKQEAgLTI3Niw2ICsyODQsNyBAQAogCQkJdHMtPnRpY2tfc3RvcHBlZCA9IDE7CiAJCQl0cy0+aWRsZV9qaWZmaWVzID0gbGFzdF9qaWZmaWVzOwogCQkJcmN1X2VudGVyX25vaHooKTsKKwkJCXNjaGVkX2Nsb2NrX3RpY2tfc3RvcChjcHUpOwogCQl9CiAKIAkJLyoKQEAgLTM3NSw2ICszODQsNyBAQAogCXNlbGVjdF9ub2h6X2xvYWRfYmFsYW5jZXIoMCk7CiAJbm93ID0ga3RpbWVfZ2V0KCk7CiAJdGlja19kb191cGRhdGVfamlmZmllczY0KG5vdyk7CisJc2NoZWRfY2xvY2tfdGlja19zdGFydChjcHUpOwogCWNwdV9jbGVhcihjcHUsIG5vaHpfY3B1X21hc2spOwogCiAJLyoKZGlmZiAtLWdpdCBhL2tlcm5lbC90aW1lci5jIGIva2VybmVsL3RpbWVyLmMKaW5kZXggY2VhY2M2Ni4uMDNiYzdmMSAxMDA2NDQKLS0tIGEva2VybmVsL3RpbWVyLmMKKysrIGIva2VybmVsL3RpbWVyLmMKQEAgLTgxMiw3ICs4MTIsNyBAQAogCXNwaW5fdW5sb2NrX2lycSgmYmFzZS0+bG9jayk7CiB9CiAKLSNpZiBkZWZpbmVkKENPTkZJR19OT19JRExFX0haKSB8fCBkZWZpbmVkKENPTkZJR19OT19IWikKKyNpZmRlZiBDT05GSUdfTk9fSFoKIC8qCiAgKiBGaW5kIG91dCB3aGVuIHRoZSBuZXh0IHRpbWVyIGV2ZW50IGlzIGR1ZSB0byBoYXBwZW4uIFRoaXMKICAqIGlzIHVzZWQgb24gUy8zOTAgdG8gc3RvcCBhbGwgYWN0aXZpdHkgd2hlbiBhIGNwdXMgaXMgaWRsZS4KQEAgLTk0NywxNCArOTQ3LDYgQEAKIAogCXJldHVybiBjbXBfbmV4dF9ocnRpbWVyX2V2ZW50KG5vdywgZXhwaXJlcyk7CiB9Ci0KLSNpZmRlZiBDT05GSUdfTk9fSURMRV9IWgotdW5zaWduZWQgbG9uZyBuZXh0X3RpbWVyX2ludGVycnVwdCh2b2lkKQotewotCXJldHVybiBnZXRfbmV4dF90aW1lcl9pbnRlcnJ1cHQoamlmZmllcyk7Ci19Ci0jZW5kaWYKLQogI2VuZGlmCiAKICNpZm5kZWYgQ09ORklHX1ZJUlRfQ1BVX0FDQ09VTlRJTkcKQEAgLTE1MDIsNyArMTQ5NCw3IEBACiAKIAlCVUdfT04oZXJyID09IE5PVElGWV9CQUQpOwogCXJlZ2lzdGVyX2NwdV9ub3RpZmllcigmdGltZXJzX25iKTsKLQlvcGVuX3NvZnRpcnEoVElNRVJfU09GVElSUSwgcnVuX3RpbWVyX3NvZnRpcnEsIE5VTEwpOworCW9wZW5fc29mdGlycShUSU1FUl9TT0ZUSVJRLCBydW5fdGltZXJfc29mdGlycSk7CiB9CiAKIC8qKgpkaWZmIC0tZ2l0IGEva2VybmVsL3RyYWNlL0tjb25maWcgYi9rZXJuZWwvdHJhY2UvS2NvbmZpZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNjNlOWU2Ci0tLSAvZGV2L251bGwKKysrIGIva2VybmVsL3RyYWNlL0tjb25maWcKQEAgLTAsMCArMSwxMzUgQEAKKyMKKyMgQXJjaGl0ZWN0dXJlcyB0aGF0IG9mZmVyIGFuIEZUUkFDRSBpbXBsZW1lbnRhdGlvbiBzaG91bGQgc2VsZWN0IEhBVkVfRlRSQUNFOgorIworY29uZmlnIEhBVkVfRlRSQUNFCisJYm9vbAorCitjb25maWcgSEFWRV9EWU5BTUlDX0ZUUkFDRQorCWJvb2wKKworY29uZmlnIFRSQUNFUl9NQVhfVFJBQ0UKKwlib29sCisKK2NvbmZpZyBUUkFDSU5HCisJYm9vbAorCXNlbGVjdCBERUJVR19GUworCXNlbGVjdCBTVEFDS1RSQUNFCisKK2NvbmZpZyBGVFJBQ0UKKwlib29sICJLZXJuZWwgRnVuY3Rpb24gVHJhY2VyIgorCWRlcGVuZHMgb24gSEFWRV9GVFJBQ0UKKwlzZWxlY3QgRlJBTUVfUE9JTlRFUgorCXNlbGVjdCBUUkFDSU5HCisJc2VsZWN0IENPTlRFWFRfU1dJVENIX1RSQUNFUgorCWhlbHAKKwkgIEVuYWJsZSB0aGUga2VybmVsIHRvIHRyYWNlIGV2ZXJ5IGtlcm5lbCBmdW5jdGlvbi4gVGhpcyBpcyBkb25lCisJICBieSB1c2luZyBhIGNvbXBpbGVyIGZlYXR1cmUgdG8gaW5zZXJ0IGEgc21hbGwsIDUtYnl0ZSBOby1PcGVyYXRpb24KKwkgIGluc3RydWN0aW9uIHRvIHRoZSBiZWdpbm5pbmcgb2YgZXZlcnkga2VybmVsIGZ1bmN0aW9uLCB3aGljaCBOT1AKKwkgIHNlcXVlbmNlIGlzIHRoZW4gZHluYW1pY2FsbHkgcGF0Y2hlZCBpbnRvIGEgdHJhY2VyIGNhbGwgd2hlbgorCSAgdHJhY2luZyBpcyBlbmFibGVkIGJ5IHRoZSBhZG1pbmlzdHJhdG9yLiBJZiBpdCdzIHJ1bnRpbWUgZGlzYWJsZWQKKwkgICh0aGUgYm9vdHVwIGRlZmF1bHQpLCB0aGVuIHRoZSBvdmVyaGVhZCBvZiB0aGUgaW5zdHJ1Y3Rpb25zIGlzIHZlcnkKKwkgIHNtYWxsIGFuZCBub3QgbWVhc3VyYWJsZSBldmVuIGluIG1pY3JvLWJlbmNobWFya3MuCisKK2NvbmZpZyBJUlFTT0ZGX1RSQUNFUgorCWJvb2wgIkludGVycnVwdHMtb2ZmIExhdGVuY3kgVHJhY2VyIgorCWRlZmF1bHQgbgorCWRlcGVuZHMgb24gVFJBQ0VfSVJRRkxBR1NfU1VQUE9SVAorCWRlcGVuZHMgb24gR0VORVJJQ19USU1FCisJZGVwZW5kcyBvbiBIQVZFX0ZUUkFDRQorCXNlbGVjdCBUUkFDRV9JUlFGTEFHUworCXNlbGVjdCBUUkFDSU5HCisJc2VsZWN0IFRSQUNFUl9NQVhfVFJBQ0UKKwloZWxwCisJICBUaGlzIG9wdGlvbiBtZWFzdXJlcyB0aGUgdGltZSBzcGVudCBpbiBpcnFzLW9mZiBjcml0aWNhbAorCSAgc2VjdGlvbnMsIHdpdGggbWljcm9zZWNvbmQgYWNjdXJhY3kuCisKKwkgIFRoZSBkZWZhdWx0IG1lYXN1cmVtZW50IG1ldGhvZCBpcyBhIG1heGltdW0gc2VhcmNoLCB3aGljaCBpcworCSAgZGlzYWJsZWQgYnkgZGVmYXVsdCBhbmQgY2FuIGJlIHJ1bnRpbWUgKHJlLSlzdGFydGVkCisJICB2aWE6CisKKwkgICAgICBlY2hvIDAgPiAvZGVidWdmcy90cmFjaW5nL3RyYWNpbmdfbWF4X2xhdGVuY3kKKworCSAgKE5vdGUgdGhhdCBrZXJuZWwgc2l6ZSBhbmQgb3ZlcmhlYWQgaW5jcmVhc2VzIHdpdGggdGhpcyBvcHRpb24KKwkgIGVuYWJsZWQuIFRoaXMgb3B0aW9uIGFuZCB0aGUgcHJlZW1wdC1vZmYgdGltaW5nIG9wdGlvbiBjYW4gYmUKKwkgIHVzZWQgdG9nZXRoZXIgb3Igc2VwYXJhdGVseS4pCisKK2NvbmZpZyBQUkVFTVBUX1RSQUNFUgorCWJvb2wgIlByZWVtcHRpb24tb2ZmIExhdGVuY3kgVHJhY2VyIgorCWRlZmF1bHQgbgorCWRlcGVuZHMgb24gR0VORVJJQ19USU1FCisJZGVwZW5kcyBvbiBQUkVFTVBUCisJZGVwZW5kcyBvbiBIQVZFX0ZUUkFDRQorCXNlbGVjdCBUUkFDSU5HCisJc2VsZWN0IFRSQUNFUl9NQVhfVFJBQ0UKKwloZWxwCisJICBUaGlzIG9wdGlvbiBtZWFzdXJlcyB0aGUgdGltZSBzcGVudCBpbiBwcmVlbXB0aW9uIG9mZiBjcml0aWNhbAorCSAgc2VjdGlvbnMsIHdpdGggbWljcm9zZWNvbmQgYWNjdXJhY3kuCisKKwkgIFRoZSBkZWZhdWx0IG1lYXN1cmVtZW50IG1ldGhvZCBpcyBhIG1heGltdW0gc2VhcmNoLCB3aGljaCBpcworCSAgZGlzYWJsZWQgYnkgZGVmYXVsdCBhbmQgY2FuIGJlIHJ1bnRpbWUgKHJlLSlzdGFydGVkCisJICB2aWE6CisKKwkgICAgICBlY2hvIDAgPiAvZGVidWdmcy90cmFjaW5nL3RyYWNpbmdfbWF4X2xhdGVuY3kKKworCSAgKE5vdGUgdGhhdCBrZXJuZWwgc2l6ZSBhbmQgb3ZlcmhlYWQgaW5jcmVhc2VzIHdpdGggdGhpcyBvcHRpb24KKwkgIGVuYWJsZWQuIFRoaXMgb3B0aW9uIGFuZCB0aGUgaXJxcy1vZmYgdGltaW5nIG9wdGlvbiBjYW4gYmUKKwkgIHVzZWQgdG9nZXRoZXIgb3Igc2VwYXJhdGVseS4pCisKK2NvbmZpZyBTWVNQUk9GX1RSQUNFUgorCWJvb2wgIlN5c3Byb2YgVHJhY2VyIgorCWRlcGVuZHMgb24gWDg2CisJc2VsZWN0IFRSQUNJTkcKKwloZWxwCisJICBUaGlzIHRyYWNlciBwcm92aWRlcyB0aGUgdHJhY2UgbmVlZGVkIGJ5IHRoZSAnU3lzcHJvZicgdXNlcnNwYWNlCisJICB0b29sLgorCitjb25maWcgU0NIRURfVFJBQ0VSCisJYm9vbCAiU2NoZWR1bGluZyBMYXRlbmN5IFRyYWNlciIKKwlkZXBlbmRzIG9uIEhBVkVfRlRSQUNFCisJc2VsZWN0IFRSQUNJTkcKKwlzZWxlY3QgQ09OVEVYVF9TV0lUQ0hfVFJBQ0VSCisJc2VsZWN0IFRSQUNFUl9NQVhfVFJBQ0UKKwloZWxwCisJICBUaGlzIHRyYWNlciB0cmFja3MgdGhlIGxhdGVuY3kgb2YgdGhlIGhpZ2hlc3QgcHJpb3JpdHkgdGFzaworCSAgdG8gYmUgc2NoZWR1bGVkIGluLCBzdGFydGluZyBmcm9tIHRoZSBwb2ludCBpdCBoYXMgd29rZW4gdXAuCisKK2NvbmZpZyBDT05URVhUX1NXSVRDSF9UUkFDRVIKKwlib29sICJUcmFjZSBwcm9jZXNzIGNvbnRleHQgc3dpdGNoZXMiCisJZGVwZW5kcyBvbiBIQVZFX0ZUUkFDRQorCXNlbGVjdCBUUkFDSU5HCisJc2VsZWN0IE1BUktFUlMKKwloZWxwCisJICBUaGlzIHRyYWNlciBnZXRzIGNhbGxlZCBmcm9tIHRoZSBjb250ZXh0IHN3aXRjaCBhbmQgcmVjb3JkcworCSAgYWxsIHN3aXRjaGluZyBvZiB0YXNrcy4KKworY29uZmlnIERZTkFNSUNfRlRSQUNFCisJYm9vbCAiZW5hYmxlL2Rpc2FibGUgZnRyYWNlIHRyYWNlcG9pbnRzIGR5bmFtaWNhbGx5IgorCWRlcGVuZHMgb24gRlRSQUNFCisJZGVwZW5kcyBvbiBIQVZFX0RZTkFNSUNfRlRSQUNFCisJZGVmYXVsdCB5CisJaGVscAorICAgICAgICAgVGhpcyBvcHRpb24gd2lsbCBtb2RpZnkgYWxsIHRoZSBjYWxscyB0byBmdHJhY2UgZHluYW1pY2FsbHkKKwkgKHdpbGwgcGF0Y2ggdGhlbSBvdXQgb2YgdGhlIGJpbmFyeSBpbWFnZSBhbmQgcmVwbGFjZXMgdGhlbQorCSB3aXRoIGEgTm8tT3AgaW5zdHJ1Y3Rpb24pIGFzIHRoZXkgYXJlIGNhbGxlZC4gQSB0YWJsZSBpcworCSBjcmVhdGVkIHRvIGR5bmFtaWNhbGx5IGVuYWJsZSB0aGVtIGFnYWluLgorCisJIFRoaXMgd2F5IGEgQ09ORklHX0ZUUkFDRSBrZXJuZWwgaXMgc2xpZ2h0bHkgbGFyZ2VyLCBidXQgb3RoZXJ3aXNlCisJIGhhcyBuYXRpdmUgcGVyZm9ybWFuY2UgYXMgbG9uZyBhcyBubyB0cmFjaW5nIGlzIGFjdGl2ZS4KKworCSBUaGUgY2hhbmdlcyB0byB0aGUgY29kZSBhcmUgZG9uZSBieSBhIGtlcm5lbCB0aHJlYWQgdGhhdAorCSB3YWtlcyB1cCBvbmNlIGEgc2Vjb25kIGFuZCBjaGVja3MgdG8gc2VlIGlmIGFueSBmdHJhY2UgY2FsbHMKKwkgd2VyZSBtYWRlLiBJZiBzbywgaXQgcnVucyBzdG9wX21hY2hpbmUgKHN0b3BzIGFsbCBDUFVTKQorCSBhbmQgbW9kaWZpZXMgdGhlIGNvZGUgdG8ganVtcCBvdmVyIHRoZSBjYWxsIHRvIGZ0cmFjZS4KKworY29uZmlnIEZUUkFDRV9TRUxGVEVTVAorCWJvb2wKKworY29uZmlnIEZUUkFDRV9TVEFSVFVQX1RFU1QKKwlib29sICJQZXJmb3JtIGEgc3RhcnR1cCB0ZXN0IG9uIGZ0cmFjZSIKKwlkZXBlbmRzIG9uIFRSQUNJTkcKKwlzZWxlY3QgRlRSQUNFX1NFTEZURVNUCisJaGVscAorCSAgVGhpcyBvcHRpb24gcGVyZm9ybXMgYSBzZXJpZXMgb2Ygc3RhcnR1cCB0ZXN0cyBvbiBmdHJhY2UuIE9uIGJvb3R1cAorCSAgYSBzZXJpZXMgb2YgdGVzdHMgYXJlIG1hZGUgdG8gdmVyaWZ5IHRoYXQgdGhlIHRyYWNlciBpcworCSAgZnVuY3Rpb25pbmcgcHJvcGVybHkuIEl0IHdpbGwgZG8gdGVzdHMgb24gYWxsIHRoZSBjb25maWd1cmVkCisJICB0cmFjZXJzIG9mIGZ0cmFjZS4KZGlmZiAtLWdpdCBhL2tlcm5lbC90cmFjZS9NYWtlZmlsZSBiL2tlcm5lbC90cmFjZS9NYWtlZmlsZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MWQxN2RlCi0tLSAvZGV2L251bGwKKysrIGIva2VybmVsL3RyYWNlL01ha2VmaWxlCkBAIC0wLDAgKzEsMjQgQEAKKworIyBEbyBub3QgaW5zdHJ1bWVudCB0aGUgdHJhY2VyIGl0c2VsZjoKKworaWZkZWYgQ09ORklHX0ZUUkFDRQorT1JJR19DRkxBR1MgOj0gJChLQlVJTERfQ0ZMQUdTKQorS0JVSUxEX0NGTEFHUyA9ICQoc3Vic3QgLXBnLCwkKE9SSUdfQ0ZMQUdTKSkKKworIyBzZWxmdGVzdCBuZWVkcyBpbnN0cnVtZW50YXRpb24KK0NGTEFHU190cmFjZV9zZWxmdGVzdF9keW5hbWljLm8gPSAtcGcKK29iai15ICs9IHRyYWNlX3NlbGZ0ZXN0X2R5bmFtaWMubworZW5kaWYKKworb2JqLSQoQ09ORklHX0ZUUkFDRSkgKz0gbGliZnRyYWNlLm8KKworb2JqLSQoQ09ORklHX1RSQUNJTkcpICs9IHRyYWNlLm8KK29iai0kKENPTkZJR19DT05URVhUX1NXSVRDSF9UUkFDRVIpICs9IHRyYWNlX3NjaGVkX3N3aXRjaC5vCitvYmotJChDT05GSUdfU1lTUFJPRl9UUkFDRVIpICs9IHRyYWNlX3N5c3Byb2Yubworb2JqLSQoQ09ORklHX0ZUUkFDRSkgKz0gdHJhY2VfZnVuY3Rpb25zLm8KK29iai0kKENPTkZJR19JUlFTT0ZGX1RSQUNFUikgKz0gdHJhY2VfaXJxc29mZi5vCitvYmotJChDT05GSUdfUFJFRU1QVF9UUkFDRVIpICs9IHRyYWNlX2lycXNvZmYubworb2JqLSQoQ09ORklHX1NDSEVEX1RSQUNFUikgKz0gdHJhY2Vfc2NoZWRfd2FrZXVwLm8KK29iai0kKENPTkZJR19NTUlPVFJBQ0UpICs9IHRyYWNlX21taW90cmFjZS5vCisKK2xpYmZ0cmFjZS15IDo9IGZ0cmFjZS5vCmRpZmYgLS1naXQgYS9rZXJuZWwvdHJhY2UvZnRyYWNlLmMgYi9rZXJuZWwvdHJhY2UvZnRyYWNlLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDIzMWEzZAotLS0gL2Rldi9udWxsCisrKyBiL2tlcm5lbC90cmFjZS9mdHJhY2UuYwpAQCAtMCwwICsxLDE3MjcgQEAKKy8qCisgKiBJbmZyYXN0cnVjdHVyZSBmb3IgcHJvZmlsaW5nIGNvZGUgaW5zZXJ0ZWQgYnkgJ2djYyAtcGcnLgorICoKKyAqIENvcHlyaWdodCAoQykgMjAwNy0yMDA4IFN0ZXZlbiBSb3N0ZWR0IDxzcm9zdGVkdEByZWRoYXQuY29tPgorICogQ29weXJpZ2h0IChDKSAyMDA0LTIwMDggSW5nbyBNb2xuYXIgPG1pbmdvQHJlZGhhdC5jb20+CisgKgorICogT3JpZ2luYWxseSBwb3J0ZWQgZnJvbSB0aGUgLXJ0IHBhdGNoIGJ5OgorICogICBDb3B5cmlnaHQgKEMpIDIwMDcgQXJuYWxkbyBDYXJ2YWxobyBkZSBNZWxvIDxhY21lQHJlZGhhdC5jb20+CisgKgorICogQmFzZWQgb24gY29kZSBpbiB0aGUgbGF0ZW5jeV90cmFjZXIsIHRoYXQgaXM6CisgKgorICogIENvcHlyaWdodCAoQykgMjAwNC0yMDA2IEluZ28gTW9sbmFyCisgKiAgQ29weXJpZ2h0IChDKSAyMDA0IFdpbGxpYW0gTGVlIElyd2luIElJSQorICovCisKKyNpbmNsdWRlIDxsaW51eC9zdG9wX21hY2hpbmUuaD4KKyNpbmNsdWRlIDxsaW51eC9jbG9ja3NvdXJjZS5oPgorI2luY2x1ZGUgPGxpbnV4L2thbGxzeW1zLmg+CisjaW5jbHVkZSA8bGludXgvc2VxX2ZpbGUuaD4KKyNpbmNsdWRlIDxsaW51eC9kZWJ1Z2ZzLmg+CisjaW5jbHVkZSA8bGludXgvaGFyZGlycS5oPgorI2luY2x1ZGUgPGxpbnV4L2t0aHJlYWQuaD4KKyNpbmNsdWRlIDxsaW51eC91YWNjZXNzLmg+CisjaW5jbHVkZSA8bGludXgva3Byb2Jlcy5oPgorI2luY2x1ZGUgPGxpbnV4L2Z0cmFjZS5oPgorI2luY2x1ZGUgPGxpbnV4L3N5c2N0bC5oPgorI2luY2x1ZGUgPGxpbnV4L2N0eXBlLmg+CisjaW5jbHVkZSA8bGludXgvaGFzaC5oPgorI2luY2x1ZGUgPGxpbnV4L2xpc3QuaD4KKworI2luY2x1ZGUgPGFzbS9mdHJhY2UuaD4KKworI2luY2x1ZGUgInRyYWNlLmgiCisKKy8qIGZ0cmFjZV9lbmFibGVkIGlzIGEgbWV0aG9kIHRvIHR1cm4gZnRyYWNlIG9uIG9yIG9mZiAqLworaW50IGZ0cmFjZV9lbmFibGVkIF9fcmVhZF9tb3N0bHk7CitzdGF0aWMgaW50IGxhc3RfZnRyYWNlX2VuYWJsZWQ7CisKKy8qCisgKiBmdHJhY2VfZGlzYWJsZWQgaXMgc2V0IHdoZW4gYW4gYW5vbWFseSBpcyBkaXNjb3ZlcmVkLgorICogZnRyYWNlX2Rpc2FibGVkIGlzIG11Y2ggc3Ryb25nZXIgdGhhbiBmdHJhY2VfZW5hYmxlZC4KKyAqLworc3RhdGljIGludCBmdHJhY2VfZGlzYWJsZWQgX19yZWFkX21vc3RseTsKKworc3RhdGljIERFRklORV9TUElOTE9DSyhmdHJhY2VfbG9jayk7CitzdGF0aWMgREVGSU5FX01VVEVYKGZ0cmFjZV9zeXNjdGxfbG9jayk7CisKK3N0YXRpYyBzdHJ1Y3QgZnRyYWNlX29wcyBmdHJhY2VfbGlzdF9lbmQgX19yZWFkX21vc3RseSA9Cit7CisJLmZ1bmMgPSBmdHJhY2Vfc3R1YiwKK307CisKK3N0YXRpYyBzdHJ1Y3QgZnRyYWNlX29wcyAqZnRyYWNlX2xpc3QgX19yZWFkX21vc3RseSA9ICZmdHJhY2VfbGlzdF9lbmQ7CitmdHJhY2VfZnVuY190IGZ0cmFjZV90cmFjZV9mdW5jdGlvbiBfX3JlYWRfbW9zdGx5ID0gZnRyYWNlX3N0dWI7CisKK3N0YXRpYyB2b2lkIGZ0cmFjZV9saXN0X2Z1bmModW5zaWduZWQgbG9uZyBpcCwgdW5zaWduZWQgbG9uZyBwYXJlbnRfaXApCit7CisJc3RydWN0IGZ0cmFjZV9vcHMgKm9wID0gZnRyYWNlX2xpc3Q7CisKKwkvKiBpbiBjYXNlIHNvbWVvbmUgYWN0dWFsbHkgcG9ydHMgdGhpcyB0byBhbHBoYSEgKi8KKwlyZWFkX2JhcnJpZXJfZGVwZW5kcygpOworCisJd2hpbGUgKG9wICE9ICZmdHJhY2VfbGlzdF9lbmQpIHsKKwkJLyogc2lsbHkgYWxwaGEgKi8KKwkJcmVhZF9iYXJyaWVyX2RlcGVuZHMoKTsKKwkJb3AtPmZ1bmMoaXAsIHBhcmVudF9pcCk7CisJCW9wID0gb3AtPm5leHQ7CisJfTsKK30KKworLyoqCisgKiBjbGVhcl9mdHJhY2VfZnVuY3Rpb24gLSByZXNldCB0aGUgZnRyYWNlIGZ1bmN0aW9uCisgKgorICogVGhpcyBOVUxMcyB0aGUgZnRyYWNlIGZ1bmN0aW9uIGFuZCBpbiBlc3NlbmNlIHN0b3BzCisgKiB0cmFjaW5nLiAgVGhlcmUgbWF5IGJlIGxhZworICovCit2b2lkIGNsZWFyX2Z0cmFjZV9mdW5jdGlvbih2b2lkKQoreworCWZ0cmFjZV90cmFjZV9mdW5jdGlvbiA9IGZ0cmFjZV9zdHViOworfQorCitzdGF0aWMgaW50IF9fcmVnaXN0ZXJfZnRyYWNlX2Z1bmN0aW9uKHN0cnVjdCBmdHJhY2Vfb3BzICpvcHMpCit7CisJLyogU2hvdWxkIG5ldmVyIGJlIGNhbGxlZCBieSBpbnRlcnJ1cHRzICovCisJc3Bpbl9sb2NrKCZmdHJhY2VfbG9jayk7CisKKwlvcHMtPm5leHQgPSBmdHJhY2VfbGlzdDsKKwkvKgorCSAqIFdlIGFyZSBlbnRlcmluZyBvcHMgaW50byB0aGUgZnRyYWNlX2xpc3QgYnV0IGFub3RoZXIKKwkgKiBDUFUgbWlnaHQgYmUgd2Fsa2luZyB0aGF0IGxpc3QuIFdlIG5lZWQgdG8gbWFrZSBzdXJlCisJICogdGhlIG9wcy0+bmV4dCBwb2ludGVyIGlzIHZhbGlkIGJlZm9yZSBhbm90aGVyIENQVSBzZWVzCisJICogdGhlIG9wcyBwb2ludGVyIGluY2x1ZGVkIGludG8gdGhlIGZ0cmFjZV9saXN0LgorCSAqLworCXNtcF93bWIoKTsKKwlmdHJhY2VfbGlzdCA9IG9wczsKKworCWlmIChmdHJhY2VfZW5hYmxlZCkgeworCQkvKgorCQkgKiBGb3Igb25lIGZ1bmMsIHNpbXBseSBjYWxsIGl0IGRpcmVjdGx5LgorCQkgKiBGb3IgbW9yZSB0aGFuIG9uZSBmdW5jLCBjYWxsIHRoZSBjaGFpbi4KKwkJICovCisJCWlmIChvcHMtPm5leHQgPT0gJmZ0cmFjZV9saXN0X2VuZCkKKwkJCWZ0cmFjZV90cmFjZV9mdW5jdGlvbiA9IG9wcy0+ZnVuYzsKKwkJZWxzZQorCQkJZnRyYWNlX3RyYWNlX2Z1bmN0aW9uID0gZnRyYWNlX2xpc3RfZnVuYzsKKwl9CisKKwlzcGluX3VubG9jaygmZnRyYWNlX2xvY2spOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgX191bnJlZ2lzdGVyX2Z0cmFjZV9mdW5jdGlvbihzdHJ1Y3QgZnRyYWNlX29wcyAqb3BzKQoreworCXN0cnVjdCBmdHJhY2Vfb3BzICoqcDsKKwlpbnQgcmV0ID0gMDsKKworCXNwaW5fbG9jaygmZnRyYWNlX2xvY2spOworCisJLyoKKwkgKiBJZiB3ZSBhcmUgcmVtb3ZpbmcgdGhlIGxhc3QgZnVuY3Rpb24sIHRoZW4gc2ltcGx5IHBvaW50CisJICogdG8gdGhlIGZ0cmFjZV9zdHViLgorCSAqLworCWlmIChmdHJhY2VfbGlzdCA9PSBvcHMgJiYgb3BzLT5uZXh0ID09ICZmdHJhY2VfbGlzdF9lbmQpIHsKKwkJZnRyYWNlX3RyYWNlX2Z1bmN0aW9uID0gZnRyYWNlX3N0dWI7CisJCWZ0cmFjZV9saXN0ID0gJmZ0cmFjZV9saXN0X2VuZDsKKwkJZ290byBvdXQ7CisJfQorCisJZm9yIChwID0gJmZ0cmFjZV9saXN0OyAqcCAhPSAmZnRyYWNlX2xpc3RfZW5kOyBwID0gJigqcCktPm5leHQpCisJCWlmICgqcCA9PSBvcHMpCisJCQlicmVhazsKKworCWlmICgqcCAhPSBvcHMpIHsKKwkJcmV0ID0gLTE7CisJCWdvdG8gb3V0OworCX0KKworCSpwID0gKCpwKS0+bmV4dDsKKworCWlmIChmdHJhY2VfZW5hYmxlZCkgeworCQkvKiBJZiB3ZSBvbmx5IGhhdmUgb25lIGZ1bmMgbGVmdCwgdGhlbiBjYWxsIHRoYXQgZGlyZWN0bHkgKi8KKwkJaWYgKGZ0cmFjZV9saXN0ID09ICZmdHJhY2VfbGlzdF9lbmQgfHwKKwkJICAgIGZ0cmFjZV9saXN0LT5uZXh0ID09ICZmdHJhY2VfbGlzdF9lbmQpCisJCQlmdHJhY2VfdHJhY2VfZnVuY3Rpb24gPSBmdHJhY2VfbGlzdC0+ZnVuYzsKKwl9CisKKyBvdXQ6CisJc3Bpbl91bmxvY2soJmZ0cmFjZV9sb2NrKTsKKworCXJldHVybiByZXQ7Cit9CisKKyNpZmRlZiBDT05GSUdfRFlOQU1JQ19GVFJBQ0UKKworc3RhdGljIHN0cnVjdCB0YXNrX3N0cnVjdCAqZnRyYWNlZF90YXNrOworCitlbnVtIHsKKwlGVFJBQ0VfRU5BQkxFX0NBTExTCQk9ICgxIDw8IDApLAorCUZUUkFDRV9ESVNBQkxFX0NBTExTCQk9ICgxIDw8IDEpLAorCUZUUkFDRV9VUERBVEVfVFJBQ0VfRlVOQwk9ICgxIDw8IDIpLAorCUZUUkFDRV9FTkFCTEVfTUNPVU5UCQk9ICgxIDw8IDMpLAorCUZUUkFDRV9ESVNBQkxFX01DT1VOVAkJPSAoMSA8PCA0KSwKK307CisKK3N0YXRpYyBpbnQgZnRyYWNlX2ZpbHRlcmVkOworc3RhdGljIGludCB0cmFjaW5nX29uOworc3RhdGljIGludCBmcm96ZW5fcmVjb3JkX2NvdW50OworCitzdGF0aWMgc3RydWN0IGhsaXN0X2hlYWQgZnRyYWNlX2hhc2hbRlRSQUNFX0hBU0hTSVpFXTsKKworc3RhdGljIERFRklORV9QRVJfQ1BVKGludCwgZnRyYWNlX3NodXRkb3duX2Rpc2FibGVfY3B1KTsKKworc3RhdGljIERFRklORV9TUElOTE9DSyhmdHJhY2Vfc2h1dGRvd25fbG9jayk7CitzdGF0aWMgREVGSU5FX01VVEVYKGZ0cmFjZWRfbG9jayk7CitzdGF0aWMgREVGSU5FX01VVEVYKGZ0cmFjZV9yZWdleF9sb2NrKTsKKworc3RydWN0IGZ0cmFjZV9wYWdlIHsKKwlzdHJ1Y3QgZnRyYWNlX3BhZ2UJKm5leHQ7CisJdW5zaWduZWQgbG9uZwkJaW5kZXg7CisJc3RydWN0IGR5bl9mdHJhY2UJcmVjb3Jkc1tdOworfTsKKworI2RlZmluZSBFTlRSSUVTX1BFUl9QQUdFIFwKKyAgKChQQUdFX1NJWkUgLSBzaXplb2Yoc3RydWN0IGZ0cmFjZV9wYWdlKSkgLyBzaXplb2Yoc3RydWN0IGR5bl9mdHJhY2UpKQorCisvKiBlc3RpbWF0ZSBmcm9tIHJ1bm5pbmcgZGlmZmVyZW50IGtlcm5lbHMgKi8KKyNkZWZpbmUgTlJfVE9fSU5JVAkJMTAwMDAKKworc3RhdGljIHN0cnVjdCBmdHJhY2VfcGFnZQkqZnRyYWNlX3BhZ2VzX3N0YXJ0Oworc3RhdGljIHN0cnVjdCBmdHJhY2VfcGFnZQkqZnRyYWNlX3BhZ2VzOworCitzdGF0aWMgaW50IGZ0cmFjZWRfdHJpZ2dlcjsKK3N0YXRpYyBpbnQgZnRyYWNlZF9zdXNwZW5kOworc3RhdGljIGludCBmdHJhY2VkX3N0b3A7CisKK3N0YXRpYyBpbnQgZnRyYWNlX3JlY29yZF9zdXNwZW5kOworCitzdGF0aWMgc3RydWN0IGR5bl9mdHJhY2UgKmZ0cmFjZV9mcmVlX3JlY29yZHM7CisKKworI2lmZGVmIENPTkZJR19LUFJPQkVTCitzdGF0aWMgaW5saW5lIHZvaWQgZnJlZXplX3JlY29yZChzdHJ1Y3QgZHluX2Z0cmFjZSAqcmVjKQoreworCWlmICghKHJlYy0+ZmxhZ3MgJiBGVFJBQ0VfRkxfRlJPWkVOKSkgeworCQlyZWMtPmZsYWdzIHw9IEZUUkFDRV9GTF9GUk9aRU47CisJCWZyb3plbl9yZWNvcmRfY291bnQrKzsKKwl9Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCB1bmZyZWV6ZV9yZWNvcmQoc3RydWN0IGR5bl9mdHJhY2UgKnJlYykKK3sKKwlpZiAocmVjLT5mbGFncyAmIEZUUkFDRV9GTF9GUk9aRU4pIHsKKwkJcmVjLT5mbGFncyAmPSB+RlRSQUNFX0ZMX0ZST1pFTjsKKwkJZnJvemVuX3JlY29yZF9jb3VudC0tOworCX0KK30KKworc3RhdGljIGlubGluZSBpbnQgcmVjb3JkX2Zyb3plbihzdHJ1Y3QgZHluX2Z0cmFjZSAqcmVjKQoreworCXJldHVybiByZWMtPmZsYWdzICYgRlRSQUNFX0ZMX0ZST1pFTjsKK30KKyNlbHNlCisjIGRlZmluZSBmcmVlemVfcmVjb3JkKHJlYykJCQkoeyAwOyB9KQorIyBkZWZpbmUgdW5mcmVlemVfcmVjb3JkKHJlYykJCQkoeyAwOyB9KQorIyBkZWZpbmUgcmVjb3JkX2Zyb3plbihyZWMpCQkJKHsgMDsgfSkKKyNlbmRpZiAvKiBDT05GSUdfS1BST0JFUyAqLworCitpbnQgc2tpcF90cmFjZSh1bnNpZ25lZCBsb25nIGlwKQoreworCXVuc2lnbmVkIGxvbmcgZmw7CisJc3RydWN0IGR5bl9mdHJhY2UgKnJlYzsKKwlzdHJ1Y3QgaGxpc3Rfbm9kZSAqdDsKKwlzdHJ1Y3QgaGxpc3RfaGVhZCAqaGVhZDsKKworCWlmIChmcm96ZW5fcmVjb3JkX2NvdW50ID09IDApCisJCXJldHVybiAwOworCisJaGVhZCA9ICZmdHJhY2VfaGFzaFtoYXNoX2xvbmcoaXAsIEZUUkFDRV9IQVNIQklUUyldOworCWhsaXN0X2Zvcl9lYWNoX2VudHJ5X3JjdShyZWMsIHQsIGhlYWQsIG5vZGUpIHsKKwkJaWYgKHJlYy0+aXAgPT0gaXApIHsKKwkJCWlmIChyZWNvcmRfZnJvemVuKHJlYykpIHsKKwkJCQlpZiAocmVjLT5mbGFncyAmIEZUUkFDRV9GTF9GQUlMRUQpCisJCQkJCXJldHVybiAxOworCisJCQkJaWYgKCEocmVjLT5mbGFncyAmIEZUUkFDRV9GTF9DT05WRVJURUQpKQorCQkJCQlyZXR1cm4gMTsKKworCQkJCWlmICghdHJhY2luZ19vbiB8fCAhZnRyYWNlX2VuYWJsZWQpCisJCQkJCXJldHVybiAxOworCisJCQkJaWYgKGZ0cmFjZV9maWx0ZXJlZCkgeworCQkJCQlmbCA9IHJlYy0+ZmxhZ3MgJiAoRlRSQUNFX0ZMX0ZJTFRFUiB8CisJCQkJCQkJICAgRlRSQUNFX0ZMX05PVFJBQ0UpOworCQkJCQlpZiAoIWZsIHx8IChmbCAmIEZUUkFDRV9GTF9OT1RSQUNFKSkKKwkJCQkJCXJldHVybiAxOworCQkJCX0KKwkJCX0KKwkJCWJyZWFrOworCQl9CisJfQorCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbmxpbmUgaW50CitmdHJhY2VfaXBfaW5faGFzaCh1bnNpZ25lZCBsb25nIGlwLCB1bnNpZ25lZCBsb25nIGtleSkKK3sKKwlzdHJ1Y3QgZHluX2Z0cmFjZSAqcDsKKwlzdHJ1Y3QgaGxpc3Rfbm9kZSAqdDsKKwlpbnQgZm91bmQgPSAwOworCisJaGxpc3RfZm9yX2VhY2hfZW50cnlfcmN1KHAsIHQsICZmdHJhY2VfaGFzaFtrZXldLCBub2RlKSB7CisJCWlmIChwLT5pcCA9PSBpcCkgeworCQkJZm91bmQgPSAxOworCQkJYnJlYWs7CisJCX0KKwl9CisKKwlyZXR1cm4gZm91bmQ7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZAorZnRyYWNlX2FkZF9oYXNoKHN0cnVjdCBkeW5fZnRyYWNlICpub2RlLCB1bnNpZ25lZCBsb25nIGtleSkKK3sKKwlobGlzdF9hZGRfaGVhZF9yY3UoJm5vZGUtPm5vZGUsICZmdHJhY2VfaGFzaFtrZXldKTsKK30KKworLyogY2FsbGVkIGZyb20ga3N0b3BfbWFjaGluZSAqLworc3RhdGljIGlubGluZSB2b2lkIGZ0cmFjZV9kZWxfaGFzaChzdHJ1Y3QgZHluX2Z0cmFjZSAqbm9kZSkKK3sKKwlobGlzdF9kZWwoJm5vZGUtPm5vZGUpOworfQorCitzdGF0aWMgdm9pZCBmdHJhY2VfZnJlZV9yZWMoc3RydWN0IGR5bl9mdHJhY2UgKnJlYykKK3sKKwkvKiBubyBsb2NraW5nLCBvbmx5IGNhbGxlZCBmcm9tIGtzdG9wX21hY2hpbmUgKi8KKworCXJlYy0+aXAgPSAodW5zaWduZWQgbG9uZylmdHJhY2VfZnJlZV9yZWNvcmRzOworCWZ0cmFjZV9mcmVlX3JlY29yZHMgPSByZWM7CisJcmVjLT5mbGFncyB8PSBGVFJBQ0VfRkxfRlJFRTsKK30KKworc3RhdGljIHN0cnVjdCBkeW5fZnRyYWNlICpmdHJhY2VfYWxsb2NfZHluX25vZGUodW5zaWduZWQgbG9uZyBpcCkKK3sKKwlzdHJ1Y3QgZHluX2Z0cmFjZSAqcmVjOworCisJLyogRmlyc3QgY2hlY2sgZm9yIGZyZWVkIHJlY29yZHMgKi8KKwlpZiAoZnRyYWNlX2ZyZWVfcmVjb3JkcykgeworCQlyZWMgPSBmdHJhY2VfZnJlZV9yZWNvcmRzOworCisJCWlmICh1bmxpa2VseSghKHJlYy0+ZmxhZ3MgJiBGVFJBQ0VfRkxfRlJFRSkpKSB7CisJCQlXQVJOX09OX09OQ0UoMSk7CisJCQlmdHJhY2VfZnJlZV9yZWNvcmRzID0gTlVMTDsKKwkJCWZ0cmFjZV9kaXNhYmxlZCA9IDE7CisJCQlmdHJhY2VfZW5hYmxlZCA9IDA7CisJCQlyZXR1cm4gTlVMTDsKKwkJfQorCisJCWZ0cmFjZV9mcmVlX3JlY29yZHMgPSAodm9pZCAqKXJlYy0+aXA7CisJCW1lbXNldChyZWMsIDAsIHNpemVvZigqcmVjKSk7CisJCXJldHVybiByZWM7CisJfQorCisJaWYgKGZ0cmFjZV9wYWdlcy0+aW5kZXggPT0gRU5UUklFU19QRVJfUEFHRSkgeworCQlpZiAoIWZ0cmFjZV9wYWdlcy0+bmV4dCkKKwkJCXJldHVybiBOVUxMOworCQlmdHJhY2VfcGFnZXMgPSBmdHJhY2VfcGFnZXMtPm5leHQ7CisJfQorCisJcmV0dXJuICZmdHJhY2VfcGFnZXMtPnJlY29yZHNbZnRyYWNlX3BhZ2VzLT5pbmRleCsrXTsKK30KKworc3RhdGljIHZvaWQKK2Z0cmFjZV9yZWNvcmRfaXAodW5zaWduZWQgbG9uZyBpcCkKK3sKKwlzdHJ1Y3QgZHluX2Z0cmFjZSAqbm9kZTsKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCXVuc2lnbmVkIGxvbmcga2V5OworCWludCByZXNjaGVkOworCWludCBhdG9taWM7CisJaW50IGNwdTsKKworCWlmICghZnRyYWNlX2VuYWJsZWQgfHwgZnRyYWNlX2Rpc2FibGVkKQorCQlyZXR1cm47CisKKwlyZXNjaGVkID0gbmVlZF9yZXNjaGVkKCk7CisJcHJlZW1wdF9kaXNhYmxlX25vdHJhY2UoKTsKKworCS8qCisJICogV2Ugc2ltcGx5IG5lZWQgdG8gcHJvdGVjdCBhZ2FpbnN0IHJlY3Vyc2lvbi4KKwkgKiBVc2UgdGhlIHRoZSByYXcgdmVyc2lvbiBvZiBzbXBfcHJvY2Vzc29yX2lkIGFuZCBub3QKKwkgKiBfX2dldF9jcHVfdmFyIHdoaWNoIGNhbiBjYWxsIGRlYnVnIGhvb2tzIHRoYXQgY2FuCisJICogY2F1c2UgYSByZWN1cnNpdmUgY3Jhc2ggaGVyZS4KKwkgKi8KKwljcHUgPSByYXdfc21wX3Byb2Nlc3Nvcl9pZCgpOworCXBlcl9jcHUoZnRyYWNlX3NodXRkb3duX2Rpc2FibGVfY3B1LCBjcHUpKys7CisJaWYgKHBlcl9jcHUoZnRyYWNlX3NodXRkb3duX2Rpc2FibGVfY3B1LCBjcHUpICE9IDEpCisJCWdvdG8gb3V0OworCisJaWYgKHVubGlrZWx5KGZ0cmFjZV9yZWNvcmRfc3VzcGVuZCkpCisJCWdvdG8gb3V0OworCisJa2V5ID0gaGFzaF9sb25nKGlwLCBGVFJBQ0VfSEFTSEJJVFMpOworCisJV0FSTl9PTl9PTkNFKGtleSA+PSBGVFJBQ0VfSEFTSFNJWkUpOworCisJaWYgKGZ0cmFjZV9pcF9pbl9oYXNoKGlwLCBrZXkpKQorCQlnb3RvIG91dDsKKworCWF0b21pYyA9IGlycXNfZGlzYWJsZWQoKTsKKworCXNwaW5fbG9ja19pcnFzYXZlKCZmdHJhY2Vfc2h1dGRvd25fbG9jaywgZmxhZ3MpOworCisJLyogVGhpcyBpcCBtYXkgaGF2ZSBoaXQgdGhlIGhhc2ggYmVmb3JlIHRoZSBsb2NrICovCisJaWYgKGZ0cmFjZV9pcF9pbl9oYXNoKGlwLCBrZXkpKQorCQlnb3RvIG91dF91bmxvY2s7CisKKwlub2RlID0gZnRyYWNlX2FsbG9jX2R5bl9ub2RlKGlwKTsKKwlpZiAoIW5vZGUpCisJCWdvdG8gb3V0X3VubG9jazsKKworCW5vZGUtPmlwID0gaXA7CisKKwlmdHJhY2VfYWRkX2hhc2gobm9kZSwga2V5KTsKKworCWZ0cmFjZWRfdHJpZ2dlciA9IDE7CisKKyBvdXRfdW5sb2NrOgorCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmZ0cmFjZV9zaHV0ZG93bl9sb2NrLCBmbGFncyk7Cisgb3V0OgorCXBlcl9jcHUoZnRyYWNlX3NodXRkb3duX2Rpc2FibGVfY3B1LCBjcHUpLS07CisKKwkvKiBwcmV2ZW50IHJlY3Vyc2lvbiB3aXRoIHNjaGVkdWxlciAqLworCWlmIChyZXNjaGVkKQorCQlwcmVlbXB0X2VuYWJsZV9ub19yZXNjaGVkX25vdHJhY2UoKTsKKwllbHNlCisJCXByZWVtcHRfZW5hYmxlX25vdHJhY2UoKTsKK30KKworI2RlZmluZSBGVFJBQ0VfQUREUiAoKGxvbmcpKGZ0cmFjZV9jYWxsZXIpKQorCitzdGF0aWMgaW50CitfX2Z0cmFjZV9yZXBsYWNlX2NvZGUoc3RydWN0IGR5bl9mdHJhY2UgKnJlYywKKwkJICAgICAgdW5zaWduZWQgY2hhciAqb2xkLCB1bnNpZ25lZCBjaGFyICpuZXcsIGludCBlbmFibGUpCit7CisJdW5zaWduZWQgbG9uZyBpcCwgZmw7CisKKwlpcCA9IHJlYy0+aXA7CisKKwlpZiAoZnRyYWNlX2ZpbHRlcmVkICYmIGVuYWJsZSkgeworCQkvKgorCQkgKiBJZiBmaWx0ZXJpbmcgaXMgb246CisJCSAqCisJCSAqIElmIHRoaXMgcmVjb3JkIGlzIHNldCB0byBiZSBmaWx0ZXJlZCBhbmQKKwkJICogaXMgZW5hYmxlZCB0aGVuIGRvIG5vdGhpbmcuCisJCSAqCisJCSAqIElmIHRoaXMgcmVjb3JkIGlzIHNldCB0byBiZSBmaWx0ZXJlZCBhbmQKKwkJICogaXQgaXMgbm90IGVuYWJsZWQsIGVuYWJsZSBpdC4KKwkJICoKKwkJICogSWYgdGhpcyByZWNvcmQgaXMgbm90IHNldCB0byBiZSBmaWx0ZXJlZAorCQkgKiBhbmQgaXQgaXMgbm90IGVuYWJsZWQgZG8gbm90aGluZy4KKwkJICoKKwkJICogSWYgdGhpcyByZWNvcmQgaXMgc2V0IG5vdCB0byB0cmFjZSB0aGVuCisJCSAqIGRvIG5vdGhpbmcuCisJCSAqCisJCSAqIElmIHRoaXMgcmVjb3JkIGlzIHNldCBub3QgdG8gdHJhY2UgYW5kCisJCSAqIGl0IGlzIGVuYWJsZWQgdGhlbiBkaXNhYmxlIGl0LgorCQkgKgorCQkgKiBJZiB0aGlzIHJlY29yZCBpcyBub3Qgc2V0IHRvIGJlIGZpbHRlcmVkIGFuZAorCQkgKiBpdCBpcyBlbmFibGVkLCBkaXNhYmxlIGl0LgorCQkgKi8KKworCQlmbCA9IHJlYy0+ZmxhZ3MgJiAoRlRSQUNFX0ZMX0ZJTFRFUiB8IEZUUkFDRV9GTF9OT1RSQUNFIHwKKwkJCQkgICBGVFJBQ0VfRkxfRU5BQkxFRCk7CisKKwkJaWYgKChmbCA9PSAgKEZUUkFDRV9GTF9GSUxURVIgfCBGVFJBQ0VfRkxfRU5BQkxFRCkpIHx8CisJCSAgICAoZmwgPT0gIChGVFJBQ0VfRkxfRklMVEVSIHwgRlRSQUNFX0ZMX05PVFJBQ0UpKSB8fAorCQkgICAgIWZsIHx8IChmbCA9PSBGVFJBQ0VfRkxfTk9UUkFDRSkpCisJCQlyZXR1cm4gMDsKKworCQkvKgorCQkgKiBJZiBpdCBpcyBlbmFibGVkIGRpc2FibGUgaXQsCisJCSAqIG90aGVyd2lzZSBlbmFibGUgaXQhCisJCSAqLworCQlpZiAoZmwgJiBGVFJBQ0VfRkxfRU5BQkxFRCkgeworCQkJLyogc3dhcCBuZXcgYW5kIG9sZCAqLworCQkJbmV3ID0gb2xkOworCQkJb2xkID0gZnRyYWNlX2NhbGxfcmVwbGFjZShpcCwgRlRSQUNFX0FERFIpOworCQkJcmVjLT5mbGFncyAmPSB+RlRSQUNFX0ZMX0VOQUJMRUQ7CisJCX0gZWxzZSB7CisJCQluZXcgPSBmdHJhY2VfY2FsbF9yZXBsYWNlKGlwLCBGVFJBQ0VfQUREUik7CisJCQlyZWMtPmZsYWdzIHw9IEZUUkFDRV9GTF9FTkFCTEVEOworCQl9CisJfSBlbHNlIHsKKworCQlpZiAoZW5hYmxlKSB7CisJCQkvKgorCQkJICogSWYgdGhpcyByZWNvcmQgaXMgc2V0IG5vdCB0byB0cmFjZSBhbmQgaXMKKwkJCSAqIG5vdCBlbmFibGVkLCBkbyBub3RoaW5nLgorCQkJICovCisJCQlmbCA9IHJlYy0+ZmxhZ3MgJiAoRlRSQUNFX0ZMX05PVFJBQ0UgfCBGVFJBQ0VfRkxfRU5BQkxFRCk7CisJCQlpZiAoZmwgPT0gRlRSQUNFX0ZMX05PVFJBQ0UpCisJCQkJcmV0dXJuIDA7CisKKwkJCW5ldyA9IGZ0cmFjZV9jYWxsX3JlcGxhY2UoaXAsIEZUUkFDRV9BRERSKTsKKwkJfSBlbHNlCisJCQlvbGQgPSBmdHJhY2VfY2FsbF9yZXBsYWNlKGlwLCBGVFJBQ0VfQUREUik7CisKKwkJaWYgKGVuYWJsZSkgeworCQkJaWYgKHJlYy0+ZmxhZ3MgJiBGVFJBQ0VfRkxfRU5BQkxFRCkKKwkJCQlyZXR1cm4gMDsKKwkJCXJlYy0+ZmxhZ3MgfD0gRlRSQUNFX0ZMX0VOQUJMRUQ7CisJCX0gZWxzZSB7CisJCQlpZiAoIShyZWMtPmZsYWdzICYgRlRSQUNFX0ZMX0VOQUJMRUQpKQorCQkJCXJldHVybiAwOworCQkJcmVjLT5mbGFncyAmPSB+RlRSQUNFX0ZMX0VOQUJMRUQ7CisJCX0KKwl9CisKKwlyZXR1cm4gZnRyYWNlX21vZGlmeV9jb2RlKGlwLCBvbGQsIG5ldyk7Cit9CisKK3N0YXRpYyB2b2lkIGZ0cmFjZV9yZXBsYWNlX2NvZGUoaW50IGVuYWJsZSkKK3sKKwlpbnQgaSwgZmFpbGVkOworCXVuc2lnbmVkIGNoYXIgKm5ldyA9IE5VTEwsICpvbGQgPSBOVUxMOworCXN0cnVjdCBkeW5fZnRyYWNlICpyZWM7CisJc3RydWN0IGZ0cmFjZV9wYWdlICpwZzsKKworCWlmIChlbmFibGUpCisJCW9sZCA9IGZ0cmFjZV9ub3BfcmVwbGFjZSgpOworCWVsc2UKKwkJbmV3ID0gZnRyYWNlX25vcF9yZXBsYWNlKCk7CisKKwlmb3IgKHBnID0gZnRyYWNlX3BhZ2VzX3N0YXJ0OyBwZzsgcGcgPSBwZy0+bmV4dCkgeworCQlmb3IgKGkgPSAwOyBpIDwgcGctPmluZGV4OyBpKyspIHsKKwkJCXJlYyA9ICZwZy0+cmVjb3Jkc1tpXTsKKworCQkJLyogZG9uJ3QgbW9kaWZ5IGNvZGUgdGhhdCBoYXMgYWxyZWFkeSBmYXVsdGVkICovCisJCQlpZiAocmVjLT5mbGFncyAmIEZUUkFDRV9GTF9GQUlMRUQpCisJCQkJY29udGludWU7CisKKwkJCS8qIGlnbm9yZSB1cGRhdGVzIHRvIHRoaXMgcmVjb3JkJ3MgbWNvdW50IHNpdGUgKi8KKwkJCWlmIChnZXRfa3Byb2JlKCh2b2lkICopcmVjLT5pcCkpIHsKKwkJCQlmcmVlemVfcmVjb3JkKHJlYyk7CisJCQkJY29udGludWU7CisJCQl9IGVsc2UgeworCQkJCXVuZnJlZXplX3JlY29yZChyZWMpOworCQkJfQorCisJCQlmYWlsZWQgPSBfX2Z0cmFjZV9yZXBsYWNlX2NvZGUocmVjLCBvbGQsIG5ldywgZW5hYmxlKTsKKwkJCWlmIChmYWlsZWQgJiYgKHJlYy0+ZmxhZ3MgJiBGVFJBQ0VfRkxfQ09OVkVSVEVEKSkgeworCQkJCXJlYy0+ZmxhZ3MgfD0gRlRSQUNFX0ZMX0ZBSUxFRDsKKwkJCQlpZiAoKHN5c3RlbV9zdGF0ZSA9PSBTWVNURU1fQk9PVElORykgfHwKKwkJCQkgICAgIWNvcmVfa2VybmVsX3RleHQocmVjLT5pcCkpIHsKKwkJCQkJZnRyYWNlX2RlbF9oYXNoKHJlYyk7CisJCQkJCWZ0cmFjZV9mcmVlX3JlYyhyZWMpOworCQkJCX0KKwkJCX0KKwkJfQorCX0KK30KKworc3RhdGljIHZvaWQgZnRyYWNlX3NodXRkb3duX3JlcGxlbmlzaCh2b2lkKQoreworCWlmIChmdHJhY2VfcGFnZXMtPm5leHQpCisJCXJldHVybjsKKworCS8qIGFsbG9jYXRlIGFub3RoZXIgcGFnZSAqLworCWZ0cmFjZV9wYWdlcy0+bmV4dCA9ICh2b2lkICopZ2V0X3plcm9lZF9wYWdlKEdGUF9LRVJORUwpOworfQorCitzdGF0aWMgaW50CitmdHJhY2VfY29kZV9kaXNhYmxlKHN0cnVjdCBkeW5fZnRyYWNlICpyZWMpCit7CisJdW5zaWduZWQgbG9uZyBpcDsKKwl1bnNpZ25lZCBjaGFyICpub3AsICpjYWxsOworCWludCBmYWlsZWQ7CisKKwlpcCA9IHJlYy0+aXA7CisKKwlub3AgPSBmdHJhY2Vfbm9wX3JlcGxhY2UoKTsKKwljYWxsID0gZnRyYWNlX2NhbGxfcmVwbGFjZShpcCwgTUNPVU5UX0FERFIpOworCisJZmFpbGVkID0gZnRyYWNlX21vZGlmeV9jb2RlKGlwLCBjYWxsLCBub3ApOworCWlmIChmYWlsZWQpIHsKKwkJcmVjLT5mbGFncyB8PSBGVFJBQ0VfRkxfRkFJTEVEOworCQlyZXR1cm4gMDsKKwl9CisJcmV0dXJuIDE7Cit9CisKK3N0YXRpYyBpbnQgX19mdHJhY2VfdXBkYXRlX2NvZGUodm9pZCAqaWdub3JlKTsKKworc3RhdGljIGludCBfX2Z0cmFjZV9tb2RpZnlfY29kZSh2b2lkICpkYXRhKQoreworCXVuc2lnbmVkIGxvbmcgYWRkcjsKKwlpbnQgKmNvbW1hbmQgPSBkYXRhOworCisJaWYgKCpjb21tYW5kICYgRlRSQUNFX0VOQUJMRV9DQUxMUykgeworCQkvKgorCQkgKiBVcGRhdGUgYW55IHJlY29yZGVkIGlwcyBub3cgdGhhdCB3ZSBoYXZlIHRoZQorCQkgKiBtYWNoaW5lIHN0b3BwZWQKKwkJICovCisJCV9fZnRyYWNlX3VwZGF0ZV9jb2RlKE5VTEwpOworCQlmdHJhY2VfcmVwbGFjZV9jb2RlKDEpOworCQl0cmFjaW5nX29uID0gMTsKKwl9IGVsc2UgaWYgKCpjb21tYW5kICYgRlRSQUNFX0RJU0FCTEVfQ0FMTFMpIHsKKwkJZnRyYWNlX3JlcGxhY2VfY29kZSgwKTsKKwkJdHJhY2luZ19vbiA9IDA7CisJfQorCisJaWYgKCpjb21tYW5kICYgRlRSQUNFX1VQREFURV9UUkFDRV9GVU5DKQorCQlmdHJhY2VfdXBkYXRlX2Z0cmFjZV9mdW5jKGZ0cmFjZV90cmFjZV9mdW5jdGlvbik7CisKKwlpZiAoKmNvbW1hbmQgJiBGVFJBQ0VfRU5BQkxFX01DT1VOVCkgeworCQlhZGRyID0gKHVuc2lnbmVkIGxvbmcpZnRyYWNlX3JlY29yZF9pcDsKKwkJZnRyYWNlX21jb3VudF9zZXQoJmFkZHIpOworCX0gZWxzZSBpZiAoKmNvbW1hbmQgJiBGVFJBQ0VfRElTQUJMRV9NQ09VTlQpIHsKKwkJYWRkciA9ICh1bnNpZ25lZCBsb25nKWZ0cmFjZV9zdHViOworCQlmdHJhY2VfbWNvdW50X3NldCgmYWRkcik7CisJfQorCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIGZ0cmFjZV9ydW5fdXBkYXRlX2NvZGUoaW50IGNvbW1hbmQpCit7CisJc3RvcF9tYWNoaW5lX3J1bihfX2Z0cmFjZV9tb2RpZnlfY29kZSwgJmNvbW1hbmQsIE5SX0NQVVMpOworfQorCit2b2lkIGZ0cmFjZV9kaXNhYmxlX2RhZW1vbih2b2lkKQoreworCS8qIFN0b3AgdGhlIGRhZW1vbiBmcm9tIGNhbGxpbmcga3N0b3BfbWFjaGluZSAqLworCW11dGV4X2xvY2soJmZ0cmFjZWRfbG9jayk7CisJZnRyYWNlZF9zdG9wID0gMTsKKwltdXRleF91bmxvY2soJmZ0cmFjZWRfbG9jayk7CisKKwlmdHJhY2VfZm9yY2VfdXBkYXRlKCk7Cit9CisKK3ZvaWQgZnRyYWNlX2VuYWJsZV9kYWVtb24odm9pZCkKK3sKKwltdXRleF9sb2NrKCZmdHJhY2VkX2xvY2spOworCWZ0cmFjZWRfc3RvcCA9IDA7CisJbXV0ZXhfdW5sb2NrKCZmdHJhY2VkX2xvY2spOworCisJZnRyYWNlX2ZvcmNlX3VwZGF0ZSgpOworfQorCitzdGF0aWMgZnRyYWNlX2Z1bmNfdCBzYXZlZF9mdHJhY2VfZnVuYzsKKworc3RhdGljIHZvaWQgZnRyYWNlX3N0YXJ0dXAodm9pZCkKK3sKKwlpbnQgY29tbWFuZCA9IDA7CisKKwlpZiAodW5saWtlbHkoZnRyYWNlX2Rpc2FibGVkKSkKKwkJcmV0dXJuOworCisJbXV0ZXhfbG9jaygmZnRyYWNlZF9sb2NrKTsKKwlmdHJhY2VkX3N1c3BlbmQrKzsKKwlpZiAoZnRyYWNlZF9zdXNwZW5kID09IDEpCisJCWNvbW1hbmQgfD0gRlRSQUNFX0VOQUJMRV9DQUxMUzsKKworCWlmIChzYXZlZF9mdHJhY2VfZnVuYyAhPSBmdHJhY2VfdHJhY2VfZnVuY3Rpb24pIHsKKwkJc2F2ZWRfZnRyYWNlX2Z1bmMgPSBmdHJhY2VfdHJhY2VfZnVuY3Rpb247CisJCWNvbW1hbmQgfD0gRlRSQUNFX1VQREFURV9UUkFDRV9GVU5DOworCX0KKworCWlmICghY29tbWFuZCB8fCAhZnRyYWNlX2VuYWJsZWQpCisJCWdvdG8gb3V0OworCisJZnRyYWNlX3J1bl91cGRhdGVfY29kZShjb21tYW5kKTsKKyBvdXQ6CisJbXV0ZXhfdW5sb2NrKCZmdHJhY2VkX2xvY2spOworfQorCitzdGF0aWMgdm9pZCBmdHJhY2Vfc2h1dGRvd24odm9pZCkKK3sKKwlpbnQgY29tbWFuZCA9IDA7CisKKwlpZiAodW5saWtlbHkoZnRyYWNlX2Rpc2FibGVkKSkKKwkJcmV0dXJuOworCisJbXV0ZXhfbG9jaygmZnRyYWNlZF9sb2NrKTsKKwlmdHJhY2VkX3N1c3BlbmQtLTsKKwlpZiAoIWZ0cmFjZWRfc3VzcGVuZCkKKwkJY29tbWFuZCB8PSBGVFJBQ0VfRElTQUJMRV9DQUxMUzsKKworCWlmIChzYXZlZF9mdHJhY2VfZnVuYyAhPSBmdHJhY2VfdHJhY2VfZnVuY3Rpb24pIHsKKwkJc2F2ZWRfZnRyYWNlX2Z1bmMgPSBmdHJhY2VfdHJhY2VfZnVuY3Rpb247CisJCWNvbW1hbmQgfD0gRlRSQUNFX1VQREFURV9UUkFDRV9GVU5DOworCX0KKworCWlmICghY29tbWFuZCB8fCAhZnRyYWNlX2VuYWJsZWQpCisJCWdvdG8gb3V0OworCisJZnRyYWNlX3J1bl91cGRhdGVfY29kZShjb21tYW5kKTsKKyBvdXQ6CisJbXV0ZXhfdW5sb2NrKCZmdHJhY2VkX2xvY2spOworfQorCitzdGF0aWMgdm9pZCBmdHJhY2Vfc3RhcnR1cF9zeXNjdGwodm9pZCkKK3sKKwlpbnQgY29tbWFuZCA9IEZUUkFDRV9FTkFCTEVfTUNPVU5UOworCisJaWYgKHVubGlrZWx5KGZ0cmFjZV9kaXNhYmxlZCkpCisJCXJldHVybjsKKworCW11dGV4X2xvY2soJmZ0cmFjZWRfbG9jayk7CisJLyogRm9yY2UgdXBkYXRlIG5leHQgdGltZSAqLworCXNhdmVkX2Z0cmFjZV9mdW5jID0gTlVMTDsKKwkvKiBmdHJhY2VkX3N1c3BlbmQgaXMgdHJ1ZSBpZiB3ZSB3YW50IGZ0cmFjZSBydW5uaW5nICovCisJaWYgKGZ0cmFjZWRfc3VzcGVuZCkKKwkJY29tbWFuZCB8PSBGVFJBQ0VfRU5BQkxFX0NBTExTOworCisJZnRyYWNlX3J1bl91cGRhdGVfY29kZShjb21tYW5kKTsKKwltdXRleF91bmxvY2soJmZ0cmFjZWRfbG9jayk7Cit9CisKK3N0YXRpYyB2b2lkIGZ0cmFjZV9zaHV0ZG93bl9zeXNjdGwodm9pZCkKK3sKKwlpbnQgY29tbWFuZCA9IEZUUkFDRV9ESVNBQkxFX01DT1VOVDsKKworCWlmICh1bmxpa2VseShmdHJhY2VfZGlzYWJsZWQpKQorCQlyZXR1cm47CisKKwltdXRleF9sb2NrKCZmdHJhY2VkX2xvY2spOworCS8qIGZ0cmFjZWRfc3VzcGVuZCBpcyB0cnVlIGlmIGZ0cmFjZSBpcyBydW5uaW5nICovCisJaWYgKGZ0cmFjZWRfc3VzcGVuZCkKKwkJY29tbWFuZCB8PSBGVFJBQ0VfRElTQUJMRV9DQUxMUzsKKworCWZ0cmFjZV9ydW5fdXBkYXRlX2NvZGUoY29tbWFuZCk7CisJbXV0ZXhfdW5sb2NrKCZmdHJhY2VkX2xvY2spOworfQorCitzdGF0aWMgY3ljbGVfdAkJZnRyYWNlX3VwZGF0ZV90aW1lOworc3RhdGljIHVuc2lnbmVkIGxvbmcJZnRyYWNlX3VwZGF0ZV9jbnQ7Cit1bnNpZ25lZCBsb25nCQlmdHJhY2VfdXBkYXRlX3RvdF9jbnQ7CisKK3N0YXRpYyBpbnQgX19mdHJhY2VfdXBkYXRlX2NvZGUodm9pZCAqaWdub3JlKQoreworCWludCBpLCBzYXZlX2Z0cmFjZV9lbmFibGVkOworCWN5Y2xlX3Qgc3RhcnQsIHN0b3A7CisJc3RydWN0IGR5bl9mdHJhY2UgKnA7CisJc3RydWN0IGhsaXN0X25vZGUgKnQsICpuOworCXN0cnVjdCBobGlzdF9oZWFkICpoZWFkLCB0ZW1wX2xpc3Q7CisKKwkvKiBEb24ndCBiZSByZWNvcmRpbmcgZnVuY3Mgbm93ICovCisJZnRyYWNlX3JlY29yZF9zdXNwZW5kKys7CisJc2F2ZV9mdHJhY2VfZW5hYmxlZCA9IGZ0cmFjZV9lbmFibGVkOworCWZ0cmFjZV9lbmFibGVkID0gMDsKKworCXN0YXJ0ID0gZnRyYWNlX25vdyhyYXdfc21wX3Byb2Nlc3Nvcl9pZCgpKTsKKwlmdHJhY2VfdXBkYXRlX2NudCA9IDA7CisKKwkvKiBObyBsb2NrcyBuZWVkZWQsIHRoZSBtYWNoaW5lIGlzIHN0b3BwZWQhICovCisJZm9yIChpID0gMDsgaSA8IEZUUkFDRV9IQVNIU0laRTsgaSsrKSB7CisJCUlOSVRfSExJU1RfSEVBRCgmdGVtcF9saXN0KTsKKwkJaGVhZCA9ICZmdHJhY2VfaGFzaFtpXTsKKworCQkvKiBhbGwgQ1BVUyBhcmUgc3RvcHBlZCwgd2UgYXJlIHNhZmUgdG8gbW9kaWZ5IGNvZGUgKi8KKwkJaGxpc3RfZm9yX2VhY2hfZW50cnlfc2FmZShwLCB0LCBuLCBoZWFkLCBub2RlKSB7CisJCQkvKiBTa2lwIG92ZXIgZmFpbGVkIHJlY29yZHMgd2hpY2ggaGF2ZSBub3QgYmVlbgorCQkJICogZnJlZWQuICovCisJCQlpZiAocC0+ZmxhZ3MgJiBGVFJBQ0VfRkxfRkFJTEVEKQorCQkJCWNvbnRpbnVlOworCisJCQkvKiBVbmNvbnZlcnRlZCByZWNvcmRzIGFyZSBhbHdheXMgYXQgdGhlIGhlYWQgb2YgdGhlCisJCQkgKiBoYXNoIGJ1Y2tldC4gT25jZSB3ZSBlbmNvdW50ZXIgYSBjb252ZXJ0ZWQgcmVjb3JkLAorCQkJICogc2ltcGx5IHNraXAgb3ZlciB0byB0aGUgbmV4dCBidWNrZXQuIFNhdmVzIGZ0cmFjZWQKKwkJCSAqIHNvbWUgcHJvY2Vzc29yIGN5Y2xlcyAoZnRyYWNlIGRvZXMgaXRzIGJpZCBmb3IKKwkJCSAqIGdsb2JhbCB3YXJtaW5nIDotcCApLiAqLworCQkJaWYgKHAtPmZsYWdzICYgKEZUUkFDRV9GTF9DT05WRVJURUQpKQorCQkJCWJyZWFrOworCisJCQkvKiBJZ25vcmUgdXBkYXRlcyB0byB0aGlzIHJlY29yZCdzIG1jb3VudCBzaXRlLgorCQkJICogUmVpbnRyb2R1Y2UgdGhpcyByZWNvcmQgYXQgdGhlIGhlYWQgb2YgdGhpcworCQkJICogYnVja2V0IHRvIGF0dGVtcHQgdG8gImNvbnZlcnQiIGl0IGFnYWluIGlmCisJCQkgKiB0aGUga3Byb2JlIG9uIGl0IGlzIHVucmVnaXN0ZXJlZCBiZWZvcmUgdGhlCisJCQkgKiBuZXh0IHJ1bi4gKi8KKwkJCWlmIChnZXRfa3Byb2JlKCh2b2lkICopcC0+aXApKSB7CisJCQkJZnRyYWNlX2RlbF9oYXNoKHApOworCQkJCUlOSVRfSExJU1RfTk9ERSgmcC0+bm9kZSk7CisJCQkJaGxpc3RfYWRkX2hlYWQoJnAtPm5vZGUsICZ0ZW1wX2xpc3QpOworCQkJCWZyZWV6ZV9yZWNvcmQocCk7CisJCQkJY29udGludWU7CisJCQl9IGVsc2UgeworCQkJCXVuZnJlZXplX3JlY29yZChwKTsKKwkJCX0KKworCQkJLyogY29udmVydCByZWNvcmQgKGkuZSwgcGF0Y2ggbWNvdW50LWNhbGwgd2l0aCBOT1ApICovCisJCQlpZiAoZnRyYWNlX2NvZGVfZGlzYWJsZShwKSkgeworCQkJCXAtPmZsYWdzIHw9IEZUUkFDRV9GTF9DT05WRVJURUQ7CisJCQkJZnRyYWNlX3VwZGF0ZV9jbnQrKzsKKwkJCX0gZWxzZSB7CisJCQkJaWYgKChzeXN0ZW1fc3RhdGUgPT0gU1lTVEVNX0JPT1RJTkcpIHx8CisJCQkJICAgICFjb3JlX2tlcm5lbF90ZXh0KHAtPmlwKSkgeworCQkJCQlmdHJhY2VfZGVsX2hhc2gocCk7CisJCQkJCWZ0cmFjZV9mcmVlX3JlYyhwKTsKKwkJCQl9CisJCQl9CisJCX0KKworCQlobGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZlKHAsIHQsIG4sICZ0ZW1wX2xpc3QsIG5vZGUpIHsKKwkJCWhsaXN0X2RlbCgmcC0+bm9kZSk7CisJCQlJTklUX0hMSVNUX05PREUoJnAtPm5vZGUpOworCQkJaGxpc3RfYWRkX2hlYWQoJnAtPm5vZGUsIGhlYWQpOworCQl9CisJfQorCisJc3RvcCA9IGZ0cmFjZV9ub3cocmF3X3NtcF9wcm9jZXNzb3JfaWQoKSk7CisJZnRyYWNlX3VwZGF0ZV90aW1lID0gc3RvcCAtIHN0YXJ0OworCWZ0cmFjZV91cGRhdGVfdG90X2NudCArPSBmdHJhY2VfdXBkYXRlX2NudDsKKwlmdHJhY2VkX3RyaWdnZXIgPSAwOworCisJZnRyYWNlX2VuYWJsZWQgPSBzYXZlX2Z0cmFjZV9lbmFibGVkOworCWZ0cmFjZV9yZWNvcmRfc3VzcGVuZC0tOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgZnRyYWNlX3VwZGF0ZV9jb2RlKHZvaWQpCit7CisJaWYgKHVubGlrZWx5KGZ0cmFjZV9kaXNhYmxlZCkgfHwKKwkgICAgIWZ0cmFjZV9lbmFibGVkIHx8ICFmdHJhY2VkX3RyaWdnZXIpCisJCXJldHVybiAwOworCisJc3RvcF9tYWNoaW5lX3J1bihfX2Z0cmFjZV91cGRhdGVfY29kZSwgTlVMTCwgTlJfQ1BVUyk7CisKKwlyZXR1cm4gMTsKK30KKworc3RhdGljIGludCBmdHJhY2VkKHZvaWQgKmlnbm9yZSkKK3sKKwl1bnNpZ25lZCBsb25nIHVzZWNzOworCisJd2hpbGUgKCFrdGhyZWFkX3Nob3VsZF9zdG9wKCkpIHsKKworCQlzZXRfY3VycmVudF9zdGF0ZShUQVNLX0lOVEVSUlVQVElCTEUpOworCisJCS8qIGNoZWNrIG9uY2UgYSBzZWNvbmQgKi8KKwkJc2NoZWR1bGVfdGltZW91dChIWik7CisKKwkJaWYgKHVubGlrZWx5KGZ0cmFjZV9kaXNhYmxlZCkpCisJCQljb250aW51ZTsKKworCQltdXRleF9sb2NrKCZmdHJhY2Vfc3lzY3RsX2xvY2spOworCQltdXRleF9sb2NrKCZmdHJhY2VkX2xvY2spOworCQlpZiAoIWZ0cmFjZWRfc3VzcGVuZCAmJiAhZnRyYWNlZF9zdG9wICYmCisJCSAgICBmdHJhY2VfdXBkYXRlX2NvZGUoKSkgeworCQkJdXNlY3MgPSBuc2Vjc190b191c2VjcyhmdHJhY2VfdXBkYXRlX3RpbWUpOworCQkJaWYgKGZ0cmFjZV91cGRhdGVfdG90X2NudCA+IDEwMDAwMCkgeworCQkJCWZ0cmFjZV91cGRhdGVfdG90X2NudCA9IDA7CisJCQkJcHJfaW5mbygiaG0sIGRmdHJhY2Ugb3ZlcmZsb3c6ICVsdSBjaGFuZ2UlcyIKKwkJCQkJIiAoJWx1IHRvdGFsKSBpbiAlbHUgdXNlYyVzXG4iLAorCQkJCQlmdHJhY2VfdXBkYXRlX2NudCwKKwkJCQkJZnRyYWNlX3VwZGF0ZV9jbnQgIT0gMSA/ICJzIiA6ICIiLAorCQkJCQlmdHJhY2VfdXBkYXRlX3RvdF9jbnQsCisJCQkJCXVzZWNzLCB1c2VjcyAhPSAxID8gInMiIDogIiIpOworCQkJCWZ0cmFjZV9kaXNhYmxlZCA9IDE7CisJCQkJV0FSTl9PTl9PTkNFKDEpOworCQkJfQorCQl9CisJCW11dGV4X3VubG9jaygmZnRyYWNlZF9sb2NrKTsKKwkJbXV0ZXhfdW5sb2NrKCZmdHJhY2Vfc3lzY3RsX2xvY2spOworCisJCWZ0cmFjZV9zaHV0ZG93bl9yZXBsZW5pc2goKTsKKwl9CisJX19zZXRfY3VycmVudF9zdGF0ZShUQVNLX1JVTk5JTkcpOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IF9faW5pdCBmdHJhY2VfZHluX3RhYmxlX2FsbG9jKHZvaWQpCit7CisJc3RydWN0IGZ0cmFjZV9wYWdlICpwZzsKKwlpbnQgY250OworCWludCBpOworCisJLyogYWxsb2NhdGUgYSBmZXcgcGFnZXMgKi8KKwlmdHJhY2VfcGFnZXNfc3RhcnQgPSAodm9pZCAqKWdldF96ZXJvZWRfcGFnZShHRlBfS0VSTkVMKTsKKwlpZiAoIWZ0cmFjZV9wYWdlc19zdGFydCkKKwkJcmV0dXJuIC0xOworCisJLyoKKwkgKiBBbGxvY2F0ZSBhIGZldyBtb3JlIHBhZ2VzLgorCSAqCisJICogVE9ETzogaGF2ZSBzb21lIHBhcnNlciBzZWFyY2ggdm1saW51eCBiZWZvcmUKKwkgKiAgIGZpbmFsIGxpbmtpbmcgdG8gZmluZCBhbGwgY2FsbHMgdG8gZnRyYWNlLgorCSAqICAgVGhlbiB3ZSBjYW46CisJICogICAgYSkga25vdyBob3cgbWFueSBwYWdlcyB0byBhbGxvY2F0ZS4KKwkgKiAgICAgYW5kL29yCisJICogICAgYikgc2V0IHVwIHRoZSB0YWJsZSB0aGVuLgorCSAqCisJICogIFRoZSBkeW5hbWljIGNvZGUgaXMgc3RpbGwgbmVjZXNzYXJ5IGZvcgorCSAqICBtb2R1bGVzLgorCSAqLworCisJcGcgPSBmdHJhY2VfcGFnZXMgPSBmdHJhY2VfcGFnZXNfc3RhcnQ7CisKKwljbnQgPSBOUl9UT19JTklUIC8gRU5UUklFU19QRVJfUEFHRTsKKworCWZvciAoaSA9IDA7IGkgPCBjbnQ7IGkrKykgeworCQlwZy0+bmV4dCA9ICh2b2lkICopZ2V0X3plcm9lZF9wYWdlKEdGUF9LRVJORUwpOworCisJCS8qIElmIHdlIGZhaWwsIHdlJ2xsIHRyeSBsYXRlciBhbnl3YXkgKi8KKwkJaWYgKCFwZy0+bmV4dCkKKwkJCWJyZWFrOworCisJCXBnID0gcGctPm5leHQ7CisJfQorCisJcmV0dXJuIDA7Cit9CisKK2VudW0geworCUZUUkFDRV9JVEVSX0ZJTFRFUgk9ICgxIDw8IDApLAorCUZUUkFDRV9JVEVSX0NPTlQJPSAoMSA8PCAxKSwKKwlGVFJBQ0VfSVRFUl9OT1RSQUNFCT0gKDEgPDwgMiksCisJRlRSQUNFX0lURVJfRkFJTFVSRVMJPSAoMSA8PCAzKSwKK307CisKKyNkZWZpbmUgRlRSQUNFX0JVRkZfTUFYIChLU1lNX1NZTUJPTF9MRU4rNCkgLyogcm9vbSBmb3Igd2lsZGNhcmRzICovCisKK3N0cnVjdCBmdHJhY2VfaXRlcmF0b3IgeworCWxvZmZfdAkJCXBvczsKKwlzdHJ1Y3QgZnRyYWNlX3BhZ2UJKnBnOworCXVuc2lnbmVkCQlpZHg7CisJdW5zaWduZWQJCWZsYWdzOworCXVuc2lnbmVkIGNoYXIJCWJ1ZmZlcltGVFJBQ0VfQlVGRl9NQVgrMV07CisJdW5zaWduZWQJCWJ1ZmZlcl9pZHg7CisJdW5zaWduZWQJCWZpbHRlcmVkOworfTsKKworc3RhdGljIHZvaWQgKgordF9uZXh0KHN0cnVjdCBzZXFfZmlsZSAqbSwgdm9pZCAqdiwgbG9mZl90ICpwb3MpCit7CisJc3RydWN0IGZ0cmFjZV9pdGVyYXRvciAqaXRlciA9IG0tPnByaXZhdGU7CisJc3RydWN0IGR5bl9mdHJhY2UgKnJlYyA9IE5VTEw7CisKKwkoKnBvcykrKzsKKworIHJldHJ5OgorCWlmIChpdGVyLT5pZHggPj0gaXRlci0+cGctPmluZGV4KSB7CisJCWlmIChpdGVyLT5wZy0+bmV4dCkgeworCQkJaXRlci0+cGcgPSBpdGVyLT5wZy0+bmV4dDsKKwkJCWl0ZXItPmlkeCA9IDA7CisJCQlnb3RvIHJldHJ5OworCQl9CisJfSBlbHNlIHsKKwkJcmVjID0gJml0ZXItPnBnLT5yZWNvcmRzW2l0ZXItPmlkeCsrXTsKKwkJaWYgKCghKGl0ZXItPmZsYWdzICYgRlRSQUNFX0lURVJfRkFJTFVSRVMpICYmCisJCSAgICAgKHJlYy0+ZmxhZ3MgJiBGVFJBQ0VfRkxfRkFJTEVEKSkgfHwKKworCQkgICAgKChpdGVyLT5mbGFncyAmIEZUUkFDRV9JVEVSX0ZBSUxVUkVTKSAmJgorCQkgICAgICghKHJlYy0+ZmxhZ3MgJiBGVFJBQ0VfRkxfRkFJTEVEKSB8fAorCQkgICAgICAocmVjLT5mbGFncyAmIEZUUkFDRV9GTF9GUkVFKSkpIHx8CisKKwkJICAgICgoaXRlci0+ZmxhZ3MgJiBGVFJBQ0VfSVRFUl9GSUxURVIpICYmCisJCSAgICAgIShyZWMtPmZsYWdzICYgRlRSQUNFX0ZMX0ZJTFRFUikpIHx8CisKKwkJICAgICgoaXRlci0+ZmxhZ3MgJiBGVFJBQ0VfSVRFUl9OT1RSQUNFKSAmJgorCQkgICAgICEocmVjLT5mbGFncyAmIEZUUkFDRV9GTF9OT1RSQUNFKSkpIHsKKwkJCXJlYyA9IE5VTEw7CisJCQlnb3RvIHJldHJ5OworCQl9CisJfQorCisJaXRlci0+cG9zID0gKnBvczsKKworCXJldHVybiByZWM7Cit9CisKK3N0YXRpYyB2b2lkICp0X3N0YXJ0KHN0cnVjdCBzZXFfZmlsZSAqbSwgbG9mZl90ICpwb3MpCit7CisJc3RydWN0IGZ0cmFjZV9pdGVyYXRvciAqaXRlciA9IG0tPnByaXZhdGU7CisJdm9pZCAqcCA9IE5VTEw7CisJbG9mZl90IGwgPSAtMTsKKworCWlmICgqcG9zICE9IGl0ZXItPnBvcykgeworCQlmb3IgKHAgPSB0X25leHQobSwgcCwgJmwpOyBwICYmIGwgPCAqcG9zOyBwID0gdF9uZXh0KG0sIHAsICZsKSkKKwkJCTsKKwl9IGVsc2UgeworCQlsID0gKnBvczsKKwkJcCA9IHRfbmV4dChtLCBwLCAmbCk7CisJfQorCisJcmV0dXJuIHA7Cit9CisKK3N0YXRpYyB2b2lkIHRfc3RvcChzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHZvaWQgKnApCit7Cit9CisKK3N0YXRpYyBpbnQgdF9zaG93KHN0cnVjdCBzZXFfZmlsZSAqbSwgdm9pZCAqdikKK3sKKwlzdHJ1Y3QgZHluX2Z0cmFjZSAqcmVjID0gdjsKKwljaGFyIHN0cltLU1lNX1NZTUJPTF9MRU5dOworCisJaWYgKCFyZWMpCisJCXJldHVybiAwOworCisJa2FsbHN5bXNfbG9va3VwKHJlYy0+aXAsIE5VTEwsIE5VTEwsIE5VTEwsIHN0cik7CisKKwlzZXFfcHJpbnRmKG0sICIlc1xuIiwgc3RyKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgc3RydWN0IHNlcV9vcGVyYXRpb25zIHNob3dfZnRyYWNlX3NlcV9vcHMgPSB7CisJLnN0YXJ0ID0gdF9zdGFydCwKKwkubmV4dCA9IHRfbmV4dCwKKwkuc3RvcCA9IHRfc3RvcCwKKwkuc2hvdyA9IHRfc2hvdywKK307CisKK3N0YXRpYyBpbnQKK2Z0cmFjZV9hdmFpbF9vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQoreworCXN0cnVjdCBmdHJhY2VfaXRlcmF0b3IgKml0ZXI7CisJaW50IHJldDsKKworCWlmICh1bmxpa2VseShmdHJhY2VfZGlzYWJsZWQpKQorCQlyZXR1cm4gLUVOT0RFVjsKKworCWl0ZXIgPSBremFsbG9jKHNpemVvZigqaXRlciksIEdGUF9LRVJORUwpOworCWlmICghaXRlcikKKwkJcmV0dXJuIC1FTk9NRU07CisKKwlpdGVyLT5wZyA9IGZ0cmFjZV9wYWdlc19zdGFydDsKKwlpdGVyLT5wb3MgPSAtMTsKKworCXJldCA9IHNlcV9vcGVuKGZpbGUsICZzaG93X2Z0cmFjZV9zZXFfb3BzKTsKKwlpZiAoIXJldCkgeworCQlzdHJ1Y3Qgc2VxX2ZpbGUgKm0gPSBmaWxlLT5wcml2YXRlX2RhdGE7CisKKwkJbS0+cHJpdmF0ZSA9IGl0ZXI7CisJfSBlbHNlIHsKKwkJa2ZyZWUoaXRlcik7CisJfQorCisJcmV0dXJuIHJldDsKK30KKworaW50IGZ0cmFjZV9hdmFpbF9yZWxlYXNlKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQoreworCXN0cnVjdCBzZXFfZmlsZSAqbSA9IChzdHJ1Y3Qgc2VxX2ZpbGUgKilmaWxlLT5wcml2YXRlX2RhdGE7CisJc3RydWN0IGZ0cmFjZV9pdGVyYXRvciAqaXRlciA9IG0tPnByaXZhdGU7CisKKwlzZXFfcmVsZWFzZShpbm9kZSwgZmlsZSk7CisJa2ZyZWUoaXRlcik7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludAorZnRyYWNlX2ZhaWx1cmVzX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCit7CisJaW50IHJldDsKKwlzdHJ1Y3Qgc2VxX2ZpbGUgKm07CisJc3RydWN0IGZ0cmFjZV9pdGVyYXRvciAqaXRlcjsKKworCXJldCA9IGZ0cmFjZV9hdmFpbF9vcGVuKGlub2RlLCBmaWxlKTsKKwlpZiAoIXJldCkgeworCQltID0gKHN0cnVjdCBzZXFfZmlsZSAqKWZpbGUtPnByaXZhdGVfZGF0YTsKKwkJaXRlciA9IChzdHJ1Y3QgZnRyYWNlX2l0ZXJhdG9yICopbS0+cHJpdmF0ZTsKKwkJaXRlci0+ZmxhZ3MgPSBGVFJBQ0VfSVRFUl9GQUlMVVJFUzsKKwl9CisKKwlyZXR1cm4gcmV0OworfQorCisKK3N0YXRpYyB2b2lkIGZ0cmFjZV9maWx0ZXJfcmVzZXQoaW50IGVuYWJsZSkKK3sKKwlzdHJ1Y3QgZnRyYWNlX3BhZ2UgKnBnOworCXN0cnVjdCBkeW5fZnRyYWNlICpyZWM7CisJdW5zaWduZWQgbG9uZyB0eXBlID0gZW5hYmxlID8gRlRSQUNFX0ZMX0ZJTFRFUiA6IEZUUkFDRV9GTF9OT1RSQUNFOworCXVuc2lnbmVkIGk7CisKKwkvKiBrZWVwIGtzdG9wIG1hY2hpbmUgZnJvbSBydW5uaW5nICovCisJcHJlZW1wdF9kaXNhYmxlKCk7CisJaWYgKGVuYWJsZSkKKwkJZnRyYWNlX2ZpbHRlcmVkID0gMDsKKwlwZyA9IGZ0cmFjZV9wYWdlc19zdGFydDsKKwl3aGlsZSAocGcpIHsKKwkJZm9yIChpID0gMDsgaSA8IHBnLT5pbmRleDsgaSsrKSB7CisJCQlyZWMgPSAmcGctPnJlY29yZHNbaV07CisJCQlpZiAocmVjLT5mbGFncyAmIEZUUkFDRV9GTF9GQUlMRUQpCisJCQkJY29udGludWU7CisJCQlyZWMtPmZsYWdzICY9IH50eXBlOworCQl9CisJCXBnID0gcGctPm5leHQ7CisJfQorCXByZWVtcHRfZW5hYmxlKCk7Cit9CisKK3N0YXRpYyBpbnQKK2Z0cmFjZV9yZWdleF9vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlLCBpbnQgZW5hYmxlKQoreworCXN0cnVjdCBmdHJhY2VfaXRlcmF0b3IgKml0ZXI7CisJaW50IHJldCA9IDA7CisKKwlpZiAodW5saWtlbHkoZnRyYWNlX2Rpc2FibGVkKSkKKwkJcmV0dXJuIC1FTk9ERVY7CisKKwlpdGVyID0ga3phbGxvYyhzaXplb2YoKml0ZXIpLCBHRlBfS0VSTkVMKTsKKwlpZiAoIWl0ZXIpCisJCXJldHVybiAtRU5PTUVNOworCisJbXV0ZXhfbG9jaygmZnRyYWNlX3JlZ2V4X2xvY2spOworCWlmICgoZmlsZS0+Zl9tb2RlICYgRk1PREVfV1JJVEUpICYmCisJICAgICEoZmlsZS0+Zl9mbGFncyAmIE9fQVBQRU5EKSkKKwkJZnRyYWNlX2ZpbHRlcl9yZXNldChlbmFibGUpOworCisJaWYgKGZpbGUtPmZfbW9kZSAmIEZNT0RFX1JFQUQpIHsKKwkJaXRlci0+cGcgPSBmdHJhY2VfcGFnZXNfc3RhcnQ7CisJCWl0ZXItPnBvcyA9IC0xOworCQlpdGVyLT5mbGFncyA9IGVuYWJsZSA/IEZUUkFDRV9JVEVSX0ZJTFRFUiA6CisJCQlGVFJBQ0VfSVRFUl9OT1RSQUNFOworCisJCXJldCA9IHNlcV9vcGVuKGZpbGUsICZzaG93X2Z0cmFjZV9zZXFfb3BzKTsKKwkJaWYgKCFyZXQpIHsKKwkJCXN0cnVjdCBzZXFfZmlsZSAqbSA9IGZpbGUtPnByaXZhdGVfZGF0YTsKKwkJCW0tPnByaXZhdGUgPSBpdGVyOworCQl9IGVsc2UKKwkJCWtmcmVlKGl0ZXIpOworCX0gZWxzZQorCQlmaWxlLT5wcml2YXRlX2RhdGEgPSBpdGVyOworCW11dGV4X3VubG9jaygmZnRyYWNlX3JlZ2V4X2xvY2spOworCisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIGludAorZnRyYWNlX2ZpbHRlcl9vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQoreworCXJldHVybiBmdHJhY2VfcmVnZXhfb3Blbihpbm9kZSwgZmlsZSwgMSk7Cit9CisKK3N0YXRpYyBpbnQKK2Z0cmFjZV9ub3RyYWNlX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCit7CisJcmV0dXJuIGZ0cmFjZV9yZWdleF9vcGVuKGlub2RlLCBmaWxlLCAwKTsKK30KKworc3RhdGljIHNzaXplX3QKK2Z0cmFjZV9yZWdleF9yZWFkKHN0cnVjdCBmaWxlICpmaWxlLCBjaGFyIF9fdXNlciAqdWJ1ZiwKKwkJICAgICAgIHNpemVfdCBjbnQsIGxvZmZfdCAqcHBvcykKK3sKKwlpZiAoZmlsZS0+Zl9tb2RlICYgRk1PREVfUkVBRCkKKwkJcmV0dXJuIHNlcV9yZWFkKGZpbGUsIHVidWYsIGNudCwgcHBvcyk7CisJZWxzZQorCQlyZXR1cm4gLUVQRVJNOworfQorCitzdGF0aWMgbG9mZl90CitmdHJhY2VfcmVnZXhfbHNlZWsoc3RydWN0IGZpbGUgKmZpbGUsIGxvZmZfdCBvZmZzZXQsIGludCBvcmlnaW4pCit7CisJbG9mZl90IHJldDsKKworCWlmIChmaWxlLT5mX21vZGUgJiBGTU9ERV9SRUFEKQorCQlyZXQgPSBzZXFfbHNlZWsoZmlsZSwgb2Zmc2V0LCBvcmlnaW4pOworCWVsc2UKKwkJZmlsZS0+Zl9wb3MgPSByZXQgPSAxOworCisJcmV0dXJuIHJldDsKK30KKworZW51bSB7CisJTUFUQ0hfRlVMTCwKKwlNQVRDSF9GUk9OVF9PTkxZLAorCU1BVENIX01JRERMRV9PTkxZLAorCU1BVENIX0VORF9PTkxZLAorfTsKKworc3RhdGljIHZvaWQKK2Z0cmFjZV9tYXRjaCh1bnNpZ25lZCBjaGFyICpidWZmLCBpbnQgbGVuLCBpbnQgZW5hYmxlKQoreworCWNoYXIgc3RyW0tTWU1fU1lNQk9MX0xFTl07CisJY2hhciAqc2VhcmNoID0gTlVMTDsKKwlzdHJ1Y3QgZnRyYWNlX3BhZ2UgKnBnOworCXN0cnVjdCBkeW5fZnRyYWNlICpyZWM7CisJaW50IHR5cGUgPSBNQVRDSF9GVUxMOworCXVuc2lnbmVkIGxvbmcgZmxhZyA9IGVuYWJsZSA/IEZUUkFDRV9GTF9GSUxURVIgOiBGVFJBQ0VfRkxfTk9UUkFDRTsKKwl1bnNpZ25lZCBpLCBtYXRjaCA9IDAsIHNlYXJjaF9sZW4gPSAwOworCisJZm9yIChpID0gMDsgaSA8IGxlbjsgaSsrKSB7CisJCWlmIChidWZmW2ldID09ICcqJykgeworCQkJaWYgKCFpKSB7CisJCQkJc2VhcmNoID0gYnVmZiArIGkgKyAxOworCQkJCXR5cGUgPSBNQVRDSF9FTkRfT05MWTsKKwkJCQlzZWFyY2hfbGVuID0gbGVuIC0gKGkgKyAxKTsKKwkJCX0gZWxzZSB7CisJCQkJaWYgKHR5cGUgPT0gTUFUQ0hfRU5EX09OTFkpIHsKKwkJCQkJdHlwZSA9IE1BVENIX01JRERMRV9PTkxZOworCQkJCX0gZWxzZSB7CisJCQkJCW1hdGNoID0gaTsKKwkJCQkJdHlwZSA9IE1BVENIX0ZST05UX09OTFk7CisJCQkJfQorCQkJCWJ1ZmZbaV0gPSAwOworCQkJCWJyZWFrOworCQkJfQorCQl9CisJfQorCisJLyoga2VlcCBrc3RvcCBtYWNoaW5lIGZyb20gcnVubmluZyAqLworCXByZWVtcHRfZGlzYWJsZSgpOworCWlmIChlbmFibGUpCisJCWZ0cmFjZV9maWx0ZXJlZCA9IDE7CisJcGcgPSBmdHJhY2VfcGFnZXNfc3RhcnQ7CisJd2hpbGUgKHBnKSB7CisJCWZvciAoaSA9IDA7IGkgPCBwZy0+aW5kZXg7IGkrKykgeworCQkJaW50IG1hdGNoZWQgPSAwOworCQkJY2hhciAqcHRyOworCisJCQlyZWMgPSAmcGctPnJlY29yZHNbaV07CisJCQlpZiAocmVjLT5mbGFncyAmIEZUUkFDRV9GTF9GQUlMRUQpCisJCQkJY29udGludWU7CisJCQlrYWxsc3ltc19sb29rdXAocmVjLT5pcCwgTlVMTCwgTlVMTCwgTlVMTCwgc3RyKTsKKwkJCXN3aXRjaCAodHlwZSkgeworCQkJY2FzZSBNQVRDSF9GVUxMOgorCQkJCWlmIChzdHJjbXAoc3RyLCBidWZmKSA9PSAwKQorCQkJCQltYXRjaGVkID0gMTsKKwkJCQlicmVhazsKKwkJCWNhc2UgTUFUQ0hfRlJPTlRfT05MWToKKwkJCQlpZiAobWVtY21wKHN0ciwgYnVmZiwgbWF0Y2gpID09IDApCisJCQkJCW1hdGNoZWQgPSAxOworCQkJCWJyZWFrOworCQkJY2FzZSBNQVRDSF9NSURETEVfT05MWToKKwkJCQlpZiAoc3Ryc3RyKHN0ciwgc2VhcmNoKSkKKwkJCQkJbWF0Y2hlZCA9IDE7CisJCQkJYnJlYWs7CisJCQljYXNlIE1BVENIX0VORF9PTkxZOgorCQkJCXB0ciA9IHN0cnN0cihzdHIsIHNlYXJjaCk7CisJCQkJaWYgKHB0ciAmJiAocHRyW3NlYXJjaF9sZW5dID09IDApKQorCQkJCQltYXRjaGVkID0gMTsKKwkJCQlicmVhazsKKwkJCX0KKwkJCWlmIChtYXRjaGVkKQorCQkJCXJlYy0+ZmxhZ3MgfD0gZmxhZzsKKwkJfQorCQlwZyA9IHBnLT5uZXh0OworCX0KKwlwcmVlbXB0X2VuYWJsZSgpOworfQorCitzdGF0aWMgc3NpemVfdAorZnRyYWNlX3JlZ2V4X3dyaXRlKHN0cnVjdCBmaWxlICpmaWxlLCBjb25zdCBjaGFyIF9fdXNlciAqdWJ1ZiwKKwkJICAgc2l6ZV90IGNudCwgbG9mZl90ICpwcG9zLCBpbnQgZW5hYmxlKQoreworCXN0cnVjdCBmdHJhY2VfaXRlcmF0b3IgKml0ZXI7CisJY2hhciBjaDsKKwlzaXplX3QgcmVhZCA9IDA7CisJc3NpemVfdCByZXQ7CisKKwlpZiAoIWNudCB8fCBjbnQgPCAwKQorCQlyZXR1cm4gMDsKKworCW11dGV4X2xvY2soJmZ0cmFjZV9yZWdleF9sb2NrKTsKKworCWlmIChmaWxlLT5mX21vZGUgJiBGTU9ERV9SRUFEKSB7CisJCXN0cnVjdCBzZXFfZmlsZSAqbSA9IGZpbGUtPnByaXZhdGVfZGF0YTsKKwkJaXRlciA9IG0tPnByaXZhdGU7CisJfSBlbHNlCisJCWl0ZXIgPSBmaWxlLT5wcml2YXRlX2RhdGE7CisKKwlpZiAoISpwcG9zKSB7CisJCWl0ZXItPmZsYWdzICY9IH5GVFJBQ0VfSVRFUl9DT05UOworCQlpdGVyLT5idWZmZXJfaWR4ID0gMDsKKwl9CisKKwlyZXQgPSBnZXRfdXNlcihjaCwgdWJ1ZisrKTsKKwlpZiAocmV0KQorCQlnb3RvIG91dDsKKwlyZWFkKys7CisJY250LS07CisKKwlpZiAoIShpdGVyLT5mbGFncyAmIH5GVFJBQ0VfSVRFUl9DT05UKSkgeworCQkvKiBza2lwIHdoaXRlIHNwYWNlICovCisJCXdoaWxlIChjbnQgJiYgaXNzcGFjZShjaCkpIHsKKwkJCXJldCA9IGdldF91c2VyKGNoLCB1YnVmKyspOworCQkJaWYgKHJldCkKKwkJCQlnb3RvIG91dDsKKwkJCXJlYWQrKzsKKwkJCWNudC0tOworCQl9CisKKwkJaWYgKGlzc3BhY2UoY2gpKSB7CisJCQlmaWxlLT5mX3BvcyArPSByZWFkOworCQkJcmV0ID0gcmVhZDsKKwkJCWdvdG8gb3V0OworCQl9CisKKwkJaXRlci0+YnVmZmVyX2lkeCA9IDA7CisJfQorCisJd2hpbGUgKGNudCAmJiAhaXNzcGFjZShjaCkpIHsKKwkJaWYgKGl0ZXItPmJ1ZmZlcl9pZHggPCBGVFJBQ0VfQlVGRl9NQVgpCisJCQlpdGVyLT5idWZmZXJbaXRlci0+YnVmZmVyX2lkeCsrXSA9IGNoOworCQllbHNlIHsKKwkJCXJldCA9IC1FSU5WQUw7CisJCQlnb3RvIG91dDsKKwkJfQorCQlyZXQgPSBnZXRfdXNlcihjaCwgdWJ1ZisrKTsKKwkJaWYgKHJldCkKKwkJCWdvdG8gb3V0OworCQlyZWFkKys7CisJCWNudC0tOworCX0KKworCWlmIChpc3NwYWNlKGNoKSkgeworCQlpdGVyLT5maWx0ZXJlZCsrOworCQlpdGVyLT5idWZmZXJbaXRlci0+YnVmZmVyX2lkeF0gPSAwOworCQlmdHJhY2VfbWF0Y2goaXRlci0+YnVmZmVyLCBpdGVyLT5idWZmZXJfaWR4LCBlbmFibGUpOworCQlpdGVyLT5idWZmZXJfaWR4ID0gMDsKKwl9IGVsc2UKKwkJaXRlci0+ZmxhZ3MgfD0gRlRSQUNFX0lURVJfQ09OVDsKKworCisJZmlsZS0+Zl9wb3MgKz0gcmVhZDsKKworCXJldCA9IHJlYWQ7Cisgb3V0OgorCW11dGV4X3VubG9jaygmZnRyYWNlX3JlZ2V4X2xvY2spOworCisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIHNzaXplX3QKK2Z0cmFjZV9maWx0ZXJfd3JpdGUoc3RydWN0IGZpbGUgKmZpbGUsIGNvbnN0IGNoYXIgX191c2VyICp1YnVmLAorCQkgICAgc2l6ZV90IGNudCwgbG9mZl90ICpwcG9zKQoreworCXJldHVybiBmdHJhY2VfcmVnZXhfd3JpdGUoZmlsZSwgdWJ1ZiwgY250LCBwcG9zLCAxKTsKK30KKworc3RhdGljIHNzaXplX3QKK2Z0cmFjZV9ub3RyYWNlX3dyaXRlKHN0cnVjdCBmaWxlICpmaWxlLCBjb25zdCBjaGFyIF9fdXNlciAqdWJ1ZiwKKwkJICAgICBzaXplX3QgY250LCBsb2ZmX3QgKnBwb3MpCit7CisJcmV0dXJuIGZ0cmFjZV9yZWdleF93cml0ZShmaWxlLCB1YnVmLCBjbnQsIHBwb3MsIDApOworfQorCitzdGF0aWMgdm9pZAorZnRyYWNlX3NldF9yZWdleCh1bnNpZ25lZCBjaGFyICpidWYsIGludCBsZW4sIGludCByZXNldCwgaW50IGVuYWJsZSkKK3sKKwlpZiAodW5saWtlbHkoZnRyYWNlX2Rpc2FibGVkKSkKKwkJcmV0dXJuOworCisJbXV0ZXhfbG9jaygmZnRyYWNlX3JlZ2V4X2xvY2spOworCWlmIChyZXNldCkKKwkJZnRyYWNlX2ZpbHRlcl9yZXNldChlbmFibGUpOworCWlmIChidWYpCisJCWZ0cmFjZV9tYXRjaChidWYsIGxlbiwgZW5hYmxlKTsKKwltdXRleF91bmxvY2soJmZ0cmFjZV9yZWdleF9sb2NrKTsKK30KKworLyoqCisgKiBmdHJhY2Vfc2V0X2ZpbHRlciAtIHNldCBhIGZ1bmN0aW9uIHRvIGZpbHRlciBvbiBpbiBmdHJhY2UKKyAqIEBidWYgLSB0aGUgc3RyaW5nIHRoYXQgaG9sZHMgdGhlIGZ1bmN0aW9uIGZpbHRlciB0ZXh0LgorICogQGxlbiAtIHRoZSBsZW5ndGggb2YgdGhlIHN0cmluZy4KKyAqIEByZXNldCAtIG5vbiB6ZXJvIHRvIHJlc2V0IGFsbCBmaWx0ZXJzIGJlZm9yZSBhcHBseWluZyB0aGlzIGZpbHRlci4KKyAqCisgKiBGaWx0ZXJzIGRlbm90ZSB3aGljaCBmdW5jdGlvbnMgc2hvdWxkIGJlIGVuYWJsZWQgd2hlbiB0cmFjaW5nIGlzIGVuYWJsZWQuCisgKiBJZiBAYnVmIGlzIE5VTEwgYW5kIHJlc2V0IGlzIHNldCwgYWxsIGZ1bmN0aW9ucyB3aWxsIGJlIGVuYWJsZWQgZm9yIHRyYWNpbmcuCisgKi8KK3ZvaWQgZnRyYWNlX3NldF9maWx0ZXIodW5zaWduZWQgY2hhciAqYnVmLCBpbnQgbGVuLCBpbnQgcmVzZXQpCit7CisJZnRyYWNlX3NldF9yZWdleChidWYsIGxlbiwgcmVzZXQsIDEpOworfQorCisvKioKKyAqIGZ0cmFjZV9zZXRfbm90cmFjZSAtIHNldCBhIGZ1bmN0aW9uIHRvIG5vdCB0cmFjZSBpbiBmdHJhY2UKKyAqIEBidWYgLSB0aGUgc3RyaW5nIHRoYXQgaG9sZHMgdGhlIGZ1bmN0aW9uIG5vdHJhY2UgdGV4dC4KKyAqIEBsZW4gLSB0aGUgbGVuZ3RoIG9mIHRoZSBzdHJpbmcuCisgKiBAcmVzZXQgLSBub24gemVybyB0byByZXNldCBhbGwgZmlsdGVycyBiZWZvcmUgYXBwbHlpbmcgdGhpcyBmaWx0ZXIuCisgKgorICogTm90cmFjZSBGaWx0ZXJzIGRlbm90ZSB3aGljaCBmdW5jdGlvbnMgc2hvdWxkIG5vdCBiZSBlbmFibGVkIHdoZW4gdHJhY2luZworICogaXMgZW5hYmxlZC4gSWYgQGJ1ZiBpcyBOVUxMIGFuZCByZXNldCBpcyBzZXQsIGFsbCBmdW5jdGlvbnMgd2lsbCBiZSBlbmFibGVkCisgKiBmb3IgdHJhY2luZy4KKyAqLwordm9pZCBmdHJhY2Vfc2V0X25vdHJhY2UodW5zaWduZWQgY2hhciAqYnVmLCBpbnQgbGVuLCBpbnQgcmVzZXQpCit7CisJZnRyYWNlX3NldF9yZWdleChidWYsIGxlbiwgcmVzZXQsIDApOworfQorCitzdGF0aWMgaW50CitmdHJhY2VfcmVnZXhfcmVsZWFzZShzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSwgaW50IGVuYWJsZSkKK3sKKwlzdHJ1Y3Qgc2VxX2ZpbGUgKm0gPSAoc3RydWN0IHNlcV9maWxlICopZmlsZS0+cHJpdmF0ZV9kYXRhOworCXN0cnVjdCBmdHJhY2VfaXRlcmF0b3IgKml0ZXI7CisKKwltdXRleF9sb2NrKCZmdHJhY2VfcmVnZXhfbG9jayk7CisJaWYgKGZpbGUtPmZfbW9kZSAmIEZNT0RFX1JFQUQpIHsKKwkJaXRlciA9IG0tPnByaXZhdGU7CisKKwkJc2VxX3JlbGVhc2UoaW5vZGUsIGZpbGUpOworCX0gZWxzZQorCQlpdGVyID0gZmlsZS0+cHJpdmF0ZV9kYXRhOworCisJaWYgKGl0ZXItPmJ1ZmZlcl9pZHgpIHsKKwkJaXRlci0+ZmlsdGVyZWQrKzsKKwkJaXRlci0+YnVmZmVyW2l0ZXItPmJ1ZmZlcl9pZHhdID0gMDsKKwkJZnRyYWNlX21hdGNoKGl0ZXItPmJ1ZmZlciwgaXRlci0+YnVmZmVyX2lkeCwgZW5hYmxlKTsKKwl9CisKKwltdXRleF9sb2NrKCZmdHJhY2Vfc3lzY3RsX2xvY2spOworCW11dGV4X2xvY2soJmZ0cmFjZWRfbG9jayk7CisJaWYgKGl0ZXItPmZpbHRlcmVkICYmIGZ0cmFjZWRfc3VzcGVuZCAmJiBmdHJhY2VfZW5hYmxlZCkKKwkJZnRyYWNlX3J1bl91cGRhdGVfY29kZShGVFJBQ0VfRU5BQkxFX0NBTExTKTsKKwltdXRleF91bmxvY2soJmZ0cmFjZWRfbG9jayk7CisJbXV0ZXhfdW5sb2NrKCZmdHJhY2Vfc3lzY3RsX2xvY2spOworCisJa2ZyZWUoaXRlcik7CisJbXV0ZXhfdW5sb2NrKCZmdHJhY2VfcmVnZXhfbG9jayk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQKK2Z0cmFjZV9maWx0ZXJfcmVsZWFzZShzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKK3sKKwlyZXR1cm4gZnRyYWNlX3JlZ2V4X3JlbGVhc2UoaW5vZGUsIGZpbGUsIDEpOworfQorCitzdGF0aWMgaW50CitmdHJhY2Vfbm90cmFjZV9yZWxlYXNlKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQoreworCXJldHVybiBmdHJhY2VfcmVnZXhfcmVsZWFzZShpbm9kZSwgZmlsZSwgMCk7Cit9CisKK3N0YXRpYyBzc2l6ZV90CitmdHJhY2VkX3JlYWQoc3RydWN0IGZpbGUgKmZpbHAsIGNoYXIgX191c2VyICp1YnVmLAorCQkgICAgIHNpemVfdCBjbnQsIGxvZmZfdCAqcHBvcykKK3sKKwkvKiBkb24ndCB3b3JyeSBhYm91dCByYWNlcyAqLworCWNoYXIgKmJ1ZiA9IGZ0cmFjZWRfc3RvcCA/ICJkaXNhYmxlZFxuIiA6ICJlbmFibGVkXG4iOworCWludCByID0gc3RybGVuKGJ1Zik7CisKKwlyZXR1cm4gc2ltcGxlX3JlYWRfZnJvbV9idWZmZXIodWJ1ZiwgY250LCBwcG9zLCBidWYsIHIpOworfQorCitzdGF0aWMgc3NpemVfdAorZnRyYWNlZF93cml0ZShzdHJ1Y3QgZmlsZSAqZmlscCwgY29uc3QgY2hhciBfX3VzZXIgKnVidWYsCisJCSAgICAgIHNpemVfdCBjbnQsIGxvZmZfdCAqcHBvcykKK3sKKwljaGFyIGJ1Zls2NF07CisJbG9uZyB2YWw7CisJaW50IHJldDsKKworCWlmIChjbnQgPj0gc2l6ZW9mKGJ1ZikpCisJCXJldHVybiAtRUlOVkFMOworCisJaWYgKGNvcHlfZnJvbV91c2VyKCZidWYsIHVidWYsIGNudCkpCisJCXJldHVybiAtRUZBVUxUOworCisJaWYgKHN0cm5jbXAoYnVmLCAiZW5hYmxlIiwgNikgPT0gMCkKKwkJdmFsID0gMTsKKwllbHNlIGlmIChzdHJuY21wKGJ1ZiwgImRpc2FibGUiLCA3KSA9PSAwKQorCQl2YWwgPSAwOworCWVsc2UgeworCQlidWZbY250XSA9IDA7CisKKwkJcmV0ID0gc3RyaWN0X3N0cnRvdWwoYnVmLCAxMCwgJnZhbCk7CisJCWlmIChyZXQgPCAwKQorCQkJcmV0dXJuIHJldDsKKworCQl2YWwgPSAhIXZhbDsKKwl9CisKKwlpZiAodmFsKQorCQlmdHJhY2VfZW5hYmxlX2RhZW1vbigpOworCWVsc2UKKwkJZnRyYWNlX2Rpc2FibGVfZGFlbW9uKCk7CisKKwlmaWxwLT5mX3BvcyArPSBjbnQ7CisKKwlyZXR1cm4gY250OworfQorCitzdGF0aWMgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyBmdHJhY2VfYXZhaWxfZm9wcyA9IHsKKwkub3BlbiA9IGZ0cmFjZV9hdmFpbF9vcGVuLAorCS5yZWFkID0gc2VxX3JlYWQsCisJLmxsc2VlayA9IHNlcV9sc2VlaywKKwkucmVsZWFzZSA9IGZ0cmFjZV9hdmFpbF9yZWxlYXNlLAorfTsKKworc3RhdGljIHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgZnRyYWNlX2ZhaWx1cmVzX2ZvcHMgPSB7CisJLm9wZW4gPSBmdHJhY2VfZmFpbHVyZXNfb3BlbiwKKwkucmVhZCA9IHNlcV9yZWFkLAorCS5sbHNlZWsgPSBzZXFfbHNlZWssCisJLnJlbGVhc2UgPSBmdHJhY2VfYXZhaWxfcmVsZWFzZSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zIGZ0cmFjZV9maWx0ZXJfZm9wcyA9IHsKKwkub3BlbiA9IGZ0cmFjZV9maWx0ZXJfb3BlbiwKKwkucmVhZCA9IGZ0cmFjZV9yZWdleF9yZWFkLAorCS53cml0ZSA9IGZ0cmFjZV9maWx0ZXJfd3JpdGUsCisJLmxsc2VlayA9IGZ0cmFjZV9yZWdleF9sc2VlaywKKwkucmVsZWFzZSA9IGZ0cmFjZV9maWx0ZXJfcmVsZWFzZSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zIGZ0cmFjZV9ub3RyYWNlX2ZvcHMgPSB7CisJLm9wZW4gPSBmdHJhY2Vfbm90cmFjZV9vcGVuLAorCS5yZWFkID0gZnRyYWNlX3JlZ2V4X3JlYWQsCisJLndyaXRlID0gZnRyYWNlX25vdHJhY2Vfd3JpdGUsCisJLmxsc2VlayA9IGZ0cmFjZV9yZWdleF9sc2VlaywKKwkucmVsZWFzZSA9IGZ0cmFjZV9ub3RyYWNlX3JlbGVhc2UsCit9OworCitzdGF0aWMgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyBmdHJhY2VkX2ZvcHMgPSB7CisJLm9wZW4gPSB0cmFjaW5nX29wZW5fZ2VuZXJpYywKKwkucmVhZCA9IGZ0cmFjZWRfcmVhZCwKKwkud3JpdGUgPSBmdHJhY2VkX3dyaXRlLAorfTsKKworLyoqCisgKiBmdHJhY2VfZm9yY2VfdXBkYXRlIC0gZm9yY2UgYW4gdXBkYXRlIHRvIGFsbCByZWNvcmRpbmcgZnRyYWNlIGZ1bmN0aW9ucworICovCitpbnQgZnRyYWNlX2ZvcmNlX3VwZGF0ZSh2b2lkKQoreworCWludCByZXQgPSAwOworCisJaWYgKHVubGlrZWx5KGZ0cmFjZV9kaXNhYmxlZCkpCisJCXJldHVybiAtRU5PREVWOworCisJbXV0ZXhfbG9jaygmZnRyYWNlX3N5c2N0bF9sb2NrKTsKKwltdXRleF9sb2NrKCZmdHJhY2VkX2xvY2spOworCisJLyoKKwkgKiBJZiBmdHJhY2VkX3RyaWdnZXIgaXMgbm90IHNldCwgdGhlbiB0aGVyZSBpcyBub3RoaW5nCisJICogdG8gdXBkYXRlLgorCSAqLworCWlmIChmdHJhY2VkX3RyaWdnZXIgJiYgIWZ0cmFjZV91cGRhdGVfY29kZSgpKQorCQlyZXQgPSAtRUJVU1k7CisKKwltdXRleF91bmxvY2soJmZ0cmFjZWRfbG9jayk7CisJbXV0ZXhfdW5sb2NrKCZmdHJhY2Vfc3lzY3RsX2xvY2spOworCisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIHZvaWQgZnRyYWNlX2ZvcmNlX3NodXRkb3duKHZvaWQpCit7CisJc3RydWN0IHRhc2tfc3RydWN0ICp0YXNrOworCWludCBjb21tYW5kID0gRlRSQUNFX0RJU0FCTEVfQ0FMTFMgfCBGVFJBQ0VfVVBEQVRFX1RSQUNFX0ZVTkM7CisKKwltdXRleF9sb2NrKCZmdHJhY2VkX2xvY2spOworCXRhc2sgPSBmdHJhY2VkX3Rhc2s7CisJZnRyYWNlZF90YXNrID0gTlVMTDsKKwlmdHJhY2VkX3N1c3BlbmQgPSAtMTsKKwlmdHJhY2VfcnVuX3VwZGF0ZV9jb2RlKGNvbW1hbmQpOworCW11dGV4X3VubG9jaygmZnRyYWNlZF9sb2NrKTsKKworCWlmICh0YXNrKQorCQlrdGhyZWFkX3N0b3AodGFzayk7Cit9CisKK3N0YXRpYyBfX2luaXQgaW50IGZ0cmFjZV9pbml0X2RlYnVnZnModm9pZCkKK3sKKwlzdHJ1Y3QgZGVudHJ5ICpkX3RyYWNlcjsKKwlzdHJ1Y3QgZGVudHJ5ICplbnRyeTsKKworCWRfdHJhY2VyID0gdHJhY2luZ19pbml0X2RlbnRyeSgpOworCisJZW50cnkgPSBkZWJ1Z2ZzX2NyZWF0ZV9maWxlKCJhdmFpbGFibGVfZmlsdGVyX2Z1bmN0aW9ucyIsIDA0NDQsCisJCQkJICAgIGRfdHJhY2VyLCBOVUxMLCAmZnRyYWNlX2F2YWlsX2ZvcHMpOworCWlmICghZW50cnkpCisJCXByX3dhcm5pbmcoIkNvdWxkIG5vdCBjcmVhdGUgZGVidWdmcyAiCisJCQkgICAiJ2F2YWlsYWJsZV9maWx0ZXJfZnVuY3Rpb25zJyBlbnRyeVxuIik7CisKKwllbnRyeSA9IGRlYnVnZnNfY3JlYXRlX2ZpbGUoImZhaWx1cmVzIiwgMDQ0NCwKKwkJCQkgICAgZF90cmFjZXIsIE5VTEwsICZmdHJhY2VfZmFpbHVyZXNfZm9wcyk7CisJaWYgKCFlbnRyeSkKKwkJcHJfd2FybmluZygiQ291bGQgbm90IGNyZWF0ZSBkZWJ1Z2ZzICdmYWlsdXJlcycgZW50cnlcbiIpOworCisJZW50cnkgPSBkZWJ1Z2ZzX2NyZWF0ZV9maWxlKCJzZXRfZnRyYWNlX2ZpbHRlciIsIDA2NDQsIGRfdHJhY2VyLAorCQkJCSAgICBOVUxMLCAmZnRyYWNlX2ZpbHRlcl9mb3BzKTsKKwlpZiAoIWVudHJ5KQorCQlwcl93YXJuaW5nKCJDb3VsZCBub3QgY3JlYXRlIGRlYnVnZnMgIgorCQkJICAgIidzZXRfZnRyYWNlX2ZpbHRlcicgZW50cnlcbiIpOworCisJZW50cnkgPSBkZWJ1Z2ZzX2NyZWF0ZV9maWxlKCJzZXRfZnRyYWNlX25vdHJhY2UiLCAwNjQ0LCBkX3RyYWNlciwKKwkJCQkgICAgTlVMTCwgJmZ0cmFjZV9ub3RyYWNlX2ZvcHMpOworCWlmICghZW50cnkpCisJCXByX3dhcm5pbmcoIkNvdWxkIG5vdCBjcmVhdGUgZGVidWdmcyAiCisJCQkgICAiJ3NldF9mdHJhY2Vfbm90cmFjZScgZW50cnlcbiIpOworCisJZW50cnkgPSBkZWJ1Z2ZzX2NyZWF0ZV9maWxlKCJmdHJhY2VkX2VuYWJsZWQiLCAwNjQ0LCBkX3RyYWNlciwKKwkJCQkgICAgTlVMTCwgJmZ0cmFjZWRfZm9wcyk7CisJaWYgKCFlbnRyeSkKKwkJcHJfd2FybmluZygiQ291bGQgbm90IGNyZWF0ZSBkZWJ1Z2ZzICIKKwkJCSAgICInZnRyYWNlZF9lbmFibGVkJyBlbnRyeVxuIik7CisJcmV0dXJuIDA7Cit9CisKK2ZzX2luaXRjYWxsKGZ0cmFjZV9pbml0X2RlYnVnZnMpOworCitzdGF0aWMgaW50IF9faW5pdCBmdHJhY2VfZHluYW1pY19pbml0KHZvaWQpCit7CisJc3RydWN0IHRhc2tfc3RydWN0ICpwOworCXVuc2lnbmVkIGxvbmcgYWRkcjsKKwlpbnQgcmV0OworCisJYWRkciA9ICh1bnNpZ25lZCBsb25nKWZ0cmFjZV9yZWNvcmRfaXA7CisKKwlzdG9wX21hY2hpbmVfcnVuKGZ0cmFjZV9keW5fYXJjaF9pbml0LCAmYWRkciwgTlJfQ1BVUyk7CisKKwkvKiBmdHJhY2VfZHluX2FyY2hfaW5pdCBwbGFjZXMgdGhlIHJldHVybiBjb2RlIGluIGFkZHIgKi8KKwlpZiAoYWRkcikgeworCQlyZXQgPSAoaW50KWFkZHI7CisJCWdvdG8gZmFpbGVkOworCX0KKworCXJldCA9IGZ0cmFjZV9keW5fdGFibGVfYWxsb2MoKTsKKwlpZiAocmV0KQorCQlnb3RvIGZhaWxlZDsKKworCXAgPSBrdGhyZWFkX3J1bihmdHJhY2VkLCBOVUxMLCAiZnRyYWNlZCIpOworCWlmIChJU19FUlIocCkpIHsKKwkJcmV0ID0gLTE7CisJCWdvdG8gZmFpbGVkOworCX0KKworCWxhc3RfZnRyYWNlX2VuYWJsZWQgPSBmdHJhY2VfZW5hYmxlZCA9IDE7CisJZnRyYWNlZF90YXNrID0gcDsKKworCXJldHVybiAwOworCisgZmFpbGVkOgorCWZ0cmFjZV9kaXNhYmxlZCA9IDE7CisJcmV0dXJuIHJldDsKK30KKworY29yZV9pbml0Y2FsbChmdHJhY2VfZHluYW1pY19pbml0KTsKKyNlbHNlCisjIGRlZmluZSBmdHJhY2Vfc3RhcnR1cCgpCQlkbyB7IH0gd2hpbGUgKDApCisjIGRlZmluZSBmdHJhY2Vfc2h1dGRvd24oKQkJZG8geyB9IHdoaWxlICgwKQorIyBkZWZpbmUgZnRyYWNlX3N0YXJ0dXBfc3lzY3RsKCkJZG8geyB9IHdoaWxlICgwKQorIyBkZWZpbmUgZnRyYWNlX3NodXRkb3duX3N5c2N0bCgpCWRvIHsgfSB3aGlsZSAoMCkKKyMgZGVmaW5lIGZ0cmFjZV9mb3JjZV9zaHV0ZG93bigpCWRvIHsgfSB3aGlsZSAoMCkKKyNlbmRpZiAvKiBDT05GSUdfRFlOQU1JQ19GVFJBQ0UgKi8KKworLyoqCisgKiBmdHJhY2Vfa2lsbF9hdG9taWMgLSBraWxsIGZ0cmFjZSBmcm9tIGNyaXRpY2FsIHNlY3Rpb25zCisgKgorICogVGhpcyBmdW5jdGlvbiBzaG91bGQgYmUgdXNlZCBieSBwYW5pYyBjb2RlLiBJdCBzdG9wcyBmdHJhY2UKKyAqIGJ1dCBpbiBhIG5vdCBzbyBuaWNlIHdheS4gSWYgeW91IG5lZWQgdG8gc2ltcGx5IGtpbGwgZnRyYWNlCisgKiBmcm9tIGEgbm9uLWF0b21pYyBzZWN0aW9uLCB1c2UgZnRyYWNlX2tpbGwuCisgKi8KK3ZvaWQgZnRyYWNlX2tpbGxfYXRvbWljKHZvaWQpCit7CisJZnRyYWNlX2Rpc2FibGVkID0gMTsKKwlmdHJhY2VfZW5hYmxlZCA9IDA7CisjaWZkZWYgQ09ORklHX0RZTkFNSUNfRlRSQUNFCisJZnRyYWNlZF9zdXNwZW5kID0gLTE7CisjZW5kaWYKKwljbGVhcl9mdHJhY2VfZnVuY3Rpb24oKTsKK30KKworLyoqCisgKiBmdHJhY2Vfa2lsbCAtIHRvdGFsbHkgc2h1dGRvd24gZnRyYWNlCisgKgorICogVGhpcyBpcyBhIHNhZmV0eSBtZWFzdXJlLiBJZiBzb21ldGhpbmcgd2FzIGRldGVjdGVkIHRoYXQgc2VlbXMKKyAqIHdyb25nLCBjYWxsaW5nIHRoaXMgZnVuY3Rpb24gd2lsbCBrZWVwIGZ0cmFjZSBmcm9tIGRvaW5nCisgKiBhbnkgbW9yZSBtb2RpZmljYXRpb25zLCBhbmQgdXBkYXRlcy4KKyAqIHVzZWQgd2hlbiBzb21ldGhpbmcgd2VudCB3cm9uZy4KKyAqLwordm9pZCBmdHJhY2Vfa2lsbCh2b2lkKQoreworCW11dGV4X2xvY2soJmZ0cmFjZV9zeXNjdGxfbG9jayk7CisJZnRyYWNlX2Rpc2FibGVkID0gMTsKKwlmdHJhY2VfZW5hYmxlZCA9IDA7CisKKwljbGVhcl9mdHJhY2VfZnVuY3Rpb24oKTsKKwltdXRleF91bmxvY2soJmZ0cmFjZV9zeXNjdGxfbG9jayk7CisKKwkvKiBUcnkgdG8gdG90YWxseSBkaXNhYmxlIGZ0cmFjZSAqLworCWZ0cmFjZV9mb3JjZV9zaHV0ZG93bigpOworfQorCisvKioKKyAqIHJlZ2lzdGVyX2Z0cmFjZV9mdW5jdGlvbiAtIHJlZ2lzdGVyIGEgZnVuY3Rpb24gZm9yIHByb2ZpbGluZworICogQG9wcyAtIG9wcyBzdHJ1Y3R1cmUgdGhhdCBob2xkcyB0aGUgZnVuY3Rpb24gZm9yIHByb2ZpbGluZy4KKyAqCisgKiBSZWdpc3RlciBhIGZ1bmN0aW9uIHRvIGJlIGNhbGxlZCBieSBhbGwgZnVuY3Rpb25zIGluIHRoZQorICoga2VybmVsLgorICoKKyAqIE5vdGU6IEBvcHMtPmZ1bmMgYW5kIGFsbCB0aGUgZnVuY3Rpb25zIGl0IGNhbGxzIG11c3QgYmUgbGFiZWxlZAorICogICAgICAgd2l0aCAibm90cmFjZSIsIG90aGVyd2lzZSBpdCB3aWxsIGdvIGludG8gYQorICogICAgICAgcmVjdXJzaXZlIGxvb3AuCisgKi8KK2ludCByZWdpc3Rlcl9mdHJhY2VfZnVuY3Rpb24oc3RydWN0IGZ0cmFjZV9vcHMgKm9wcykKK3sKKwlpbnQgcmV0OworCisJaWYgKHVubGlrZWx5KGZ0cmFjZV9kaXNhYmxlZCkpCisJCXJldHVybiAtMTsKKworCW11dGV4X2xvY2soJmZ0cmFjZV9zeXNjdGxfbG9jayk7CisJcmV0ID0gX19yZWdpc3Rlcl9mdHJhY2VfZnVuY3Rpb24ob3BzKTsKKwlmdHJhY2Vfc3RhcnR1cCgpOworCW11dGV4X3VubG9jaygmZnRyYWNlX3N5c2N0bF9sb2NrKTsKKworCXJldHVybiByZXQ7Cit9CisKKy8qKgorICogdW5yZWdpc3Rlcl9mdHJhY2VfZnVuY3Rpb24gLSB1bnJlc2dpc3RlciBhIGZ1bmN0aW9uIGZvciBwcm9maWxpbmcuCisgKiBAb3BzIC0gb3BzIHN0cnVjdHVyZSB0aGF0IGhvbGRzIHRoZSBmdW5jdGlvbiB0byB1bnJlZ2lzdGVyCisgKgorICogVW5yZWdpc3RlciBhIGZ1bmN0aW9uIHRoYXQgd2FzIGFkZGVkIHRvIGJlIGNhbGxlZCBieSBmdHJhY2UgcHJvZmlsaW5nLgorICovCitpbnQgdW5yZWdpc3Rlcl9mdHJhY2VfZnVuY3Rpb24oc3RydWN0IGZ0cmFjZV9vcHMgKm9wcykKK3sKKwlpbnQgcmV0OworCisJbXV0ZXhfbG9jaygmZnRyYWNlX3N5c2N0bF9sb2NrKTsKKwlyZXQgPSBfX3VucmVnaXN0ZXJfZnRyYWNlX2Z1bmN0aW9uKG9wcyk7CisJZnRyYWNlX3NodXRkb3duKCk7CisJbXV0ZXhfdW5sb2NrKCZmdHJhY2Vfc3lzY3RsX2xvY2spOworCisJcmV0dXJuIHJldDsKK30KKworaW50CitmdHJhY2VfZW5hYmxlX3N5c2N0bChzdHJ1Y3QgY3RsX3RhYmxlICp0YWJsZSwgaW50IHdyaXRlLAorCQkgICAgIHN0cnVjdCBmaWxlICpmaWxlLCB2b2lkIF9fdXNlciAqYnVmZmVyLCBzaXplX3QgKmxlbnAsCisJCSAgICAgbG9mZl90ICpwcG9zKQoreworCWludCByZXQ7CisKKwlpZiAodW5saWtlbHkoZnRyYWNlX2Rpc2FibGVkKSkKKwkJcmV0dXJuIC1FTk9ERVY7CisKKwltdXRleF9sb2NrKCZmdHJhY2Vfc3lzY3RsX2xvY2spOworCisJcmV0ICA9IHByb2NfZG9pbnR2ZWModGFibGUsIHdyaXRlLCBmaWxlLCBidWZmZXIsIGxlbnAsIHBwb3MpOworCisJaWYgKHJldCB8fCAhd3JpdGUgfHwgKGxhc3RfZnRyYWNlX2VuYWJsZWQgPT0gZnRyYWNlX2VuYWJsZWQpKQorCQlnb3RvIG91dDsKKworCWxhc3RfZnRyYWNlX2VuYWJsZWQgPSBmdHJhY2VfZW5hYmxlZDsKKworCWlmIChmdHJhY2VfZW5hYmxlZCkgeworCisJCWZ0cmFjZV9zdGFydHVwX3N5c2N0bCgpOworCisJCS8qIHdlIGFyZSBzdGFydGluZyBmdHJhY2UgYWdhaW4gKi8KKwkJaWYgKGZ0cmFjZV9saXN0ICE9ICZmdHJhY2VfbGlzdF9lbmQpIHsKKwkJCWlmIChmdHJhY2VfbGlzdC0+bmV4dCA9PSAmZnRyYWNlX2xpc3RfZW5kKQorCQkJCWZ0cmFjZV90cmFjZV9mdW5jdGlvbiA9IGZ0cmFjZV9saXN0LT5mdW5jOworCQkJZWxzZQorCQkJCWZ0cmFjZV90cmFjZV9mdW5jdGlvbiA9IGZ0cmFjZV9saXN0X2Z1bmM7CisJCX0KKworCX0gZWxzZSB7CisJCS8qIHN0b3BwaW5nIGZ0cmFjZSBjYWxscyAoanVzdCBzZW5kIHRvIGZ0cmFjZV9zdHViKSAqLworCQlmdHJhY2VfdHJhY2VfZnVuY3Rpb24gPSBmdHJhY2Vfc3R1YjsKKworCQlmdHJhY2Vfc2h1dGRvd25fc3lzY3RsKCk7CisJfQorCisgb3V0OgorCW11dGV4X3VubG9jaygmZnRyYWNlX3N5c2N0bF9sb2NrKTsKKwlyZXR1cm4gcmV0OworfQpkaWZmIC0tZ2l0IGEva2VybmVsL3RyYWNlL3RyYWNlLmMgYi9rZXJuZWwvdHJhY2UvdHJhY2UuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NjhlMTIxCi0tLSAvZGV2L251bGwKKysrIGIva2VybmVsL3RyYWNlL3RyYWNlLmMKQEAgLTAsMCArMSwzMTYxIEBACisvKgorICogcmluZyBidWZmZXIgYmFzZWQgZnVuY3Rpb24gdHJhY2VyCisgKgorICogQ29weXJpZ2h0IChDKSAyMDA3LTIwMDggU3RldmVuIFJvc3RlZHQgPHNyb3N0ZWR0QHJlZGhhdC5jb20+CisgKiBDb3B5cmlnaHQgKEMpIDIwMDggSW5nbyBNb2xuYXIgPG1pbmdvQHJlZGhhdC5jb20+CisgKgorICogT3JpZ2luYWxseSB0YWtlbiBmcm9tIHRoZSBSVCBwYXRjaCBieToKKyAqICAgIEFybmFsZG8gQ2FydmFsaG8gZGUgTWVsbyA8YWNtZUByZWRoYXQuY29tPgorICoKKyAqIEJhc2VkIG9uIGNvZGUgZnJvbSB0aGUgbGF0ZW5jeV90cmFjZXIsIHRoYXQgaXM6CisgKiAgQ29weXJpZ2h0IChDKSAyMDA0LTIwMDYgSW5nbyBNb2xuYXIKKyAqICBDb3B5cmlnaHQgKEMpIDIwMDQgV2lsbGlhbSBMZWUgSXJ3aW4gSUlJCisgKi8KKyNpbmNsdWRlIDxsaW51eC91dHNyZWxlYXNlLmg+CisjaW5jbHVkZSA8bGludXgva2FsbHN5bXMuaD4KKyNpbmNsdWRlIDxsaW51eC9zZXFfZmlsZS5oPgorI2luY2x1ZGUgPGxpbnV4L2RlYnVnZnMuaD4KKyNpbmNsdWRlIDxsaW51eC9wYWdlbWFwLmg+CisjaW5jbHVkZSA8bGludXgvaGFyZGlycS5oPgorI2luY2x1ZGUgPGxpbnV4L2xpbmthZ2UuaD4KKyNpbmNsdWRlIDxsaW51eC91YWNjZXNzLmg+CisjaW5jbHVkZSA8bGludXgvZnRyYWNlLmg+CisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvcGVyY3B1Lmg+CisjaW5jbHVkZSA8bGludXgvY3R5cGUuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvcG9sbC5oPgorI2luY2x1ZGUgPGxpbnV4L2dmcC5oPgorI2luY2x1ZGUgPGxpbnV4L2ZzLmg+CisjaW5jbHVkZSA8bGludXgva3Byb2Jlcy5oPgorI2luY2x1ZGUgPGxpbnV4L3dyaXRlYmFjay5oPgorCisjaW5jbHVkZSA8bGludXgvc3RhY2t0cmFjZS5oPgorCisjaW5jbHVkZSAidHJhY2UuaCIKKwordW5zaWduZWQgbG9uZyBfX3JlYWRfbW9zdGx5CXRyYWNpbmdfbWF4X2xhdGVuY3kgPSAoY3ljbGVfdClVTE9OR19NQVg7Cit1bnNpZ25lZCBsb25nIF9fcmVhZF9tb3N0bHkJdHJhY2luZ190aHJlc2g7CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIF9fcmVhZF9tb3N0bHkJdHJhY2luZ19ucl9idWZmZXJzOworc3RhdGljIGNwdW1hc2tfdCBfX3JlYWRfbW9zdGx5CQl0cmFjaW5nX2J1ZmZlcl9tYXNrOworCisjZGVmaW5lIGZvcl9lYWNoX3RyYWNpbmdfY3B1KGNwdSkJXAorCWZvcl9lYWNoX2NwdV9tYXNrKGNwdSwgdHJhY2luZ19idWZmZXJfbWFzaykKKworc3RhdGljIGludCB0cmFjZV9hbGxvY19wYWdlKHZvaWQpOworc3RhdGljIGludCB0cmFjZV9mcmVlX3BhZ2Uodm9pZCk7CisKK3N0YXRpYyBpbnQgdHJhY2luZ19kaXNhYmxlZCA9IDE7CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIHRyYWNpbmdfcGFnZXNfYWxsb2NhdGVkOworCitsb25nCituczJ1c2VjcyhjeWNsZV90IG5zZWMpCit7CisJbnNlYyArPSA1MDA7CisJZG9fZGl2KG5zZWMsIDEwMDApOworCXJldHVybiBuc2VjOworfQorCitjeWNsZV90IGZ0cmFjZV9ub3coaW50IGNwdSkKK3sKKwlyZXR1cm4gY3B1X2Nsb2NrKGNwdSk7Cit9CisKKy8qCisgKiBUaGUgZ2xvYmFsX3RyYWNlIGlzIHRoZSBkZXNjcmlwdG9yIHRoYXQgaG9sZHMgdGhlIHRyYWNpbmcKKyAqIGJ1ZmZlcnMgZm9yIHRoZSBsaXZlIHRyYWNpbmcuIEZvciBlYWNoIENQVSwgaXQgY29udGFpbnMKKyAqIGEgbGluayBsaXN0IG9mIHBhZ2VzIHRoYXQgd2lsbCBzdG9yZSB0cmFjZSBlbnRyaWVzLiBUaGUKKyAqIHBhZ2UgZGVzY3JpcHRvciBvZiB0aGUgcGFnZXMgaW4gdGhlIG1lbW9yeSBpcyB1c2VkIHRvIGhvbGQKKyAqIHRoZSBsaW5rIGxpc3QgYnkgbGlua2luZyB0aGUgbHJ1IGl0ZW0gaW4gdGhlIHBhZ2UgZGVzY3JpcHRvcgorICogdG8gZWFjaCBvZiB0aGUgcGFnZXMgaW4gdGhlIGJ1ZmZlciBwZXIgQ1BVLgorICoKKyAqIEZvciBlYWNoIGFjdGl2ZSBDUFUgdGhlcmUgaXMgYSBkYXRhIGZpZWxkIHRoYXQgaG9sZHMgdGhlCisgKiBwYWdlcyBmb3IgdGhlIGJ1ZmZlciBmb3IgdGhhdCBDUFUuIEVhY2ggQ1BVIGhhcyB0aGUgc2FtZSBudW1iZXIKKyAqIG9mIHBhZ2VzIGFsbG9jYXRlZCBmb3IgaXRzIGJ1ZmZlci4KKyAqLworc3RhdGljIHN0cnVjdCB0cmFjZV9hcnJheQlnbG9iYWxfdHJhY2U7CisKK3N0YXRpYyBERUZJTkVfUEVSX0NQVShzdHJ1Y3QgdHJhY2VfYXJyYXlfY3B1LCBnbG9iYWxfdHJhY2VfY3B1KTsKKworLyoKKyAqIFRoZSBtYXhfdHIgaXMgdXNlZCB0byBzbmFwc2hvdCB0aGUgZ2xvYmFsX3RyYWNlIHdoZW4gYSBtYXhpbXVtCisgKiBsYXRlbmN5IGlzIHJlYWNoZWQuIFNvbWUgdHJhY2VycyB3aWxsIHVzZSB0aGlzIHRvIHN0b3JlIGEgbWF4aW11bQorICogdHJhY2Ugd2hpbGUgaXQgY29udGludWVzIGV4YW1pbmluZyBsaXZlIHRyYWNlcy4KKyAqCisgKiBUaGUgYnVmZmVycyBmb3IgdGhlIG1heF90ciBhcmUgc2V0IHVwIHRoZSBzYW1lIGFzIHRoZSBnbG9iYWxfdHJhY2UuCisgKiBXaGVuIGEgc25hcHNob3QgaXMgdGFrZW4sIHRoZSBsaW5rIGxpc3Qgb2YgdGhlIG1heF90ciBpcyBzd2FwcGVkCisgKiB3aXRoIHRoZSBsaW5rIGxpc3Qgb2YgdGhlIGdsb2JhbF90cmFjZSBhbmQgdGhlIGJ1ZmZlcnMgYXJlIHJlc2V0IGZvcgorICogdGhlIGdsb2JhbF90cmFjZSBzbyB0aGUgdHJhY2luZyBjYW4gY29udGludWUuCisgKi8KK3N0YXRpYyBzdHJ1Y3QgdHJhY2VfYXJyYXkJbWF4X3RyOworCitzdGF0aWMgREVGSU5FX1BFUl9DUFUoc3RydWN0IHRyYWNlX2FycmF5X2NwdSwgbWF4X2RhdGEpOworCisvKiB0cmFjZXJfZW5hYmxlZCBpcyB1c2VkIHRvIHRvZ2dsZSBhY3RpdmF0aW9uIG9mIGEgdHJhY2VyICovCitzdGF0aWMgaW50CQkJdHJhY2VyX2VuYWJsZWQgPSAxOworCisvKiBmdW5jdGlvbiB0cmFjaW5nIGVuYWJsZWQgKi8KK2ludAkJCQlmdHJhY2VfZnVuY3Rpb25fZW5hYmxlZDsKKworLyoKKyAqIHRyYWNlX25yX2VudHJpZXMgaXMgdGhlIG51bWJlciBvZiBlbnRyaWVzIHRoYXQgaXMgYWxsb2NhdGVkCisgKiBmb3IgYSBidWZmZXIuIE5vdGUsIHRoZSBudW1iZXIgb2YgZW50cmllcyBpcyBhbHdheXMgcm91bmRlZAorICogdG8gRU5UUklFU19QRVJfUEFHRS4KKyAqLworc3RhdGljIHVuc2lnbmVkIGxvbmcJCXRyYWNlX25yX2VudHJpZXMgPSA2NTUzNlVMOworCisvKiB0cmFjZV90eXBlcyBob2xkcyBhIGxpbmsgbGlzdCBvZiBhdmFpbGFibGUgdHJhY2Vycy4gKi8KK3N0YXRpYyBzdHJ1Y3QgdHJhY2VyCQkqdHJhY2VfdHlwZXMgX19yZWFkX21vc3RseTsKKworLyogY3VycmVudF90cmFjZSBwb2ludHMgdG8gdGhlIHRyYWNlciB0aGF0IGlzIGN1cnJlbnRseSBhY3RpdmUgKi8KK3N0YXRpYyBzdHJ1Y3QgdHJhY2VyCQkqY3VycmVudF90cmFjZSBfX3JlYWRfbW9zdGx5OworCisvKgorICogbWF4X3RyYWNlcl90eXBlX2xlbiBpcyB1c2VkIHRvIHNpbXBsaWZ5IHRoZSBhbGxvY2F0aW5nIG9mCisgKiBidWZmZXJzIHRvIHJlYWQgdXNlcnNwYWNlIHRyYWNlciBuYW1lcy4gV2Uga2VlcCB0cmFjayBvZgorICogdGhlIGxvbmdlc3QgdHJhY2VyIG5hbWUgcmVnaXN0ZXJlZC4KKyAqLworc3RhdGljIGludAkJCW1heF90cmFjZXJfdHlwZV9sZW47CisKKy8qCisgKiB0cmFjZV90eXBlc19sb2NrIGlzIHVzZWQgdG8gcHJvdGVjdCB0aGUgdHJhY2VfdHlwZXMgbGlzdC4KKyAqIFRoaXMgbG9jayBpcyBhbHNvIHVzZWQgdG8ga2VlcCB1c2VyIGFjY2VzcyBzZXJpYWxpemVkLgorICogQWNjZXNzZXMgZnJvbSB1c2Vyc3BhY2Ugd2lsbCBncmFiIHRoaXMgbG9jayB3aGlsZSB1c2Vyc3BhY2UKKyAqIGFjdGl2aXRpZXMgaGFwcGVuIGluc2lkZSB0aGUga2VybmVsLgorICovCitzdGF0aWMgREVGSU5FX01VVEVYKHRyYWNlX3R5cGVzX2xvY2spOworCisvKiB0cmFjZV93YWl0IGlzIGEgd2FpdHF1ZXVlIGZvciB0YXNrcyBibG9ja2VkIG9uIHRyYWNlX3BvbGwgKi8KK3N0YXRpYyBERUNMQVJFX1dBSVRfUVVFVUVfSEVBRCh0cmFjZV93YWl0KTsKKworLyogdHJhY2VfZmxhZ3MgaG9sZHMgaXRlcl9jdHJsIG9wdGlvbnMgKi8KK3Vuc2lnbmVkIGxvbmcgdHJhY2VfZmxhZ3MgPSBUUkFDRV9JVEVSX1BSSU5UX1BBUkVOVDsKKworc3RhdGljIG5vdHJhY2Ugdm9pZCBub190cmFjZV9pbml0KHN0cnVjdCB0cmFjZV9hcnJheSAqdHIpCit7CisJaW50IGNwdTsKKworCWZ0cmFjZV9mdW5jdGlvbl9lbmFibGVkID0gMDsKKwlpZih0ci0+Y3RybCkKKwkJZm9yX2VhY2hfb25saW5lX2NwdShjcHUpCisJCQl0cmFjaW5nX3Jlc2V0KHRyLT5kYXRhW2NwdV0pOworCXRyYWNlcl9lbmFibGVkID0gMDsKK30KKworLyogZHVtbXkgdHJhY2UgdG8gZGlzYWJsZSB0cmFjaW5nICovCitzdGF0aWMgc3RydWN0IHRyYWNlciBub190cmFjZXIgX19yZWFkX21vc3RseSA9IHsKKwkubmFtZQkJPSAibm9uZSIsCisJLmluaXQJCT0gbm9fdHJhY2VfaW5pdAorfTsKKworCisvKioKKyAqIHRyYWNlX3dha2VfdXAgLSB3YWtlIHVwIHRhc2tzIHdhaXRpbmcgZm9yIHRyYWNlIGlucHV0CisgKgorICogU2ltcGx5IHdha2VzIHVwIGFueSB0YXNrIHRoYXQgaXMgYmxvY2tlZCBvbiB0aGUgdHJhY2Vfd2FpdAorICogcXVldWUuIFRoZXNlIGlzIHVzZWQgd2l0aCB0cmFjZV9wb2xsIGZvciB0YXNrcyBwb2xsaW5nIHRoZSB0cmFjZS4KKyAqLwordm9pZCB0cmFjZV93YWtlX3VwKHZvaWQpCit7CisJLyoKKwkgKiBUaGUgcnVucXVldWVfaXNfbG9ja2VkKCkgY2FuIGZhaWwsIGJ1dCB0aGlzIGlzIHRoZSBiZXN0IHdlCisJICogaGF2ZSBmb3Igbm93OgorCSAqLworCWlmICghKHRyYWNlX2ZsYWdzICYgVFJBQ0VfSVRFUl9CTE9DSykgJiYgIXJ1bnF1ZXVlX2lzX2xvY2tlZCgpKQorCQl3YWtlX3VwKCZ0cmFjZV93YWl0KTsKK30KKworI2RlZmluZSBFTlRSSUVTX1BFUl9QQUdFIChQQUdFX1NJWkUgLyBzaXplb2Yoc3RydWN0IHRyYWNlX2VudHJ5KSkKKworc3RhdGljIGludCBfX2luaXQgc2V0X25yX2VudHJpZXMoY2hhciAqc3RyKQoreworCXVuc2lnbmVkIGxvbmcgbnJfZW50cmllczsKKwlpbnQgcmV0OworCisJaWYgKCFzdHIpCisJCXJldHVybiAwOworCXJldCA9IHN0cmljdF9zdHJ0b3VsKHN0ciwgMCwgJm5yX2VudHJpZXMpOworCS8qIG5yX2VudHJpZXMgY2FuIG5vdCBiZSB6ZXJvICovCisJaWYgKHJldCA8IDAgfHwgbnJfZW50cmllcyA9PSAwKQorCQlyZXR1cm4gMDsKKwl0cmFjZV9ucl9lbnRyaWVzID0gbnJfZW50cmllczsKKwlyZXR1cm4gMTsKK30KK19fc2V0dXAoInRyYWNlX2VudHJpZXM9Iiwgc2V0X25yX2VudHJpZXMpOworCit1bnNpZ25lZCBsb25nIG5zZWNzX3RvX3VzZWNzKHVuc2lnbmVkIGxvbmcgbnNlY3MpCit7CisJcmV0dXJuIG5zZWNzIC8gMTAwMDsKK30KKworLyoKKyAqIHRyYWNlX2ZsYWdfdHlwZSBpcyBhbiBlbnVtZXJhdGlvbiB0aGF0IGhvbGRzIGRpZmZlcmVudAorICogc3RhdGVzIHdoZW4gYSB0cmFjZSBvY2N1cnMuIFRoZXNlIGFyZToKKyAqICBJUlFTX09GRgktIGludGVycnVwdHMgd2VyZSBkaXNhYmxlZAorICogIE5FRURfUkVTQ0VEIC0gcmVzY2hlZHVsZSBpcyByZXF1ZXN0ZWQKKyAqICBIQVJESVJRCS0gaW5zaWRlIGFuIGludGVycnVwdCBoYW5kbGVyCisgKiAgU09GVElSUQktIGluc2lkZSBhIHNvZnRpcnEgaGFuZGxlcgorICovCitlbnVtIHRyYWNlX2ZsYWdfdHlwZSB7CisJVFJBQ0VfRkxBR19JUlFTX09GRgkJPSAweDAxLAorCVRSQUNFX0ZMQUdfTkVFRF9SRVNDSEVECQk9IDB4MDIsCisJVFJBQ0VfRkxBR19IQVJESVJRCQk9IDB4MDQsCisJVFJBQ0VfRkxBR19TT0ZUSVJRCQk9IDB4MDgsCit9OworCisvKgorICogVFJBQ0VfSVRFUl9TWU1fTUFTSyBtYXNrcyB0aGUgb3B0aW9ucyBpbiB0cmFjZV9mbGFncyB0aGF0CisgKiBjb250cm9sIHRoZSBvdXRwdXQgb2Yga2VybmVsIHN5bWJvbHMuCisgKi8KKyNkZWZpbmUgVFJBQ0VfSVRFUl9TWU1fTUFTSyBcCisJKFRSQUNFX0lURVJfUFJJTlRfUEFSRU5UfFRSQUNFX0lURVJfU1lNX09GRlNFVHxUUkFDRV9JVEVSX1NZTV9BRERSKQorCisvKiBUaGVzZSBtdXN0IG1hdGNoIHRoZSBiaXQgcG9zdGlvbnMgaW4gdHJhY2VfaXRlcmF0b3JfZmxhZ3MgKi8KK3N0YXRpYyBjb25zdCBjaGFyICp0cmFjZV9vcHRpb25zW10gPSB7CisJInByaW50LXBhcmVudCIsCisJInN5bS1vZmZzZXQiLAorCSJzeW0tYWRkciIsCisJInZlcmJvc2UiLAorCSJyYXciLAorCSJoZXgiLAorCSJiaW4iLAorCSJibG9jayIsCisJInN0YWNrdHJhY2UiLAorCSJzY2hlZC10cmVlIiwKKwlOVUxMCit9OworCisvKgorICogZnRyYWNlX21heF9sb2NrIGlzIHVzZWQgdG8gcHJvdGVjdCB0aGUgc3dhcHBpbmcgb2YgYnVmZmVycworICogd2hlbiB0YWtpbmcgYSBtYXggc25hcHNob3QuIFRoZSBidWZmZXJzIHRoZW1zZWx2ZXMgYXJlCisgKiBwcm90ZWN0ZWQgYnkgcGVyX2NwdSBzcGlubG9ja3MuIEJ1dCB0aGUgYWN0aW9uIG9mIHRoZSBzd2FwCisgKiBuZWVkcyBpdHMgb3duIGxvY2suCisgKgorICogVGhpcyBpcyBkZWZpbmVkIGFzIGEgcmF3X3NwaW5sb2NrX3QgaW4gb3JkZXIgdG8gaGVscAorICogd2l0aCBwZXJmb3JtYW5jZSB3aGVuIGxvY2tkZXAgZGVidWdnaW5nIGlzIGVuYWJsZWQuCisgKi8KK3N0YXRpYyByYXdfc3BpbmxvY2tfdCBmdHJhY2VfbWF4X2xvY2sgPQorCShyYXdfc3BpbmxvY2tfdClfX1JBV19TUElOX0xPQ0tfVU5MT0NLRUQ7CisKKy8qCisgKiBDb3B5IHRoZSBuZXcgbWF4aW11bSB0cmFjZSBpbnRvIHRoZSBzZXBhcmF0ZSBtYXhpbXVtLXRyYWNlCisgKiBzdHJ1Y3R1cmUuICh0aGlzIHdheSB0aGUgbWF4aW11bSB0cmFjZSBpcyBwZXJtYW5lbnRseSBzYXZlZCwKKyAqIGZvciBsYXRlciByZXRyaWV2YWwgdmlhIC9kZWJ1Z2ZzL3RyYWNpbmcvbGF0ZW5jeV90cmFjZSkKKyAqLworc3RhdGljIHZvaWQKK19fdXBkYXRlX21heF90cihzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyLCBzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRzaywgaW50IGNwdSkKK3sKKwlzdHJ1Y3QgdHJhY2VfYXJyYXlfY3B1ICpkYXRhID0gdHItPmRhdGFbY3B1XTsKKworCW1heF90ci5jcHUgPSBjcHU7CisJbWF4X3RyLnRpbWVfc3RhcnQgPSBkYXRhLT5wcmVlbXB0X3RpbWVzdGFtcDsKKworCWRhdGEgPSBtYXhfdHIuZGF0YVtjcHVdOworCWRhdGEtPnNhdmVkX2xhdGVuY3kgPSB0cmFjaW5nX21heF9sYXRlbmN5OworCisJbWVtY3B5KGRhdGEtPmNvbW0sIHRzay0+Y29tbSwgVEFTS19DT01NX0xFTik7CisJZGF0YS0+cGlkID0gdHNrLT5waWQ7CisJZGF0YS0+dWlkID0gdHNrLT51aWQ7CisJZGF0YS0+bmljZSA9IHRzay0+c3RhdGljX3ByaW8gLSAyMCAtIE1BWF9SVF9QUklPOworCWRhdGEtPnBvbGljeSA9IHRzay0+cG9saWN5OworCWRhdGEtPnJ0X3ByaW9yaXR5ID0gdHNrLT5ydF9wcmlvcml0eTsKKworCS8qIHJlY29yZCB0aGlzIHRhc2tzIGNvbW0gKi8KKwl0cmFjaW5nX3JlY29yZF9jbWRsaW5lKGN1cnJlbnQpOworfQorCisjZGVmaW5lIENIRUNLX0NPTkQoY29uZCkJCQlcCisJaWYgKHVubGlrZWx5KGNvbmQpKSB7CQkJXAorCQl0cmFjaW5nX2Rpc2FibGVkID0gMTsJCVwKKwkJV0FSTl9PTigxKTsJCQlcCisJCXJldHVybiAtMTsJCQlcCisJfQorCisvKioKKyAqIGNoZWNrX3BhZ2VzIC0gaW50ZWdyaXR5IGNoZWNrIG9mIHRyYWNlIGJ1ZmZlcnMKKyAqCisgKiBBcyBhIHNhZnR5IG1lYXN1cmUgd2UgY2hlY2sgdG8gbWFrZSBzdXJlIHRoZSBkYXRhIHBhZ2VzIGhhdmUgbm90CisgKiBiZWVuIGNvcnJ1cHRlZC4KKyAqLworaW50IGNoZWNrX3BhZ2VzKHN0cnVjdCB0cmFjZV9hcnJheV9jcHUgKmRhdGEpCit7CisJc3RydWN0IHBhZ2UgKnBhZ2UsICp0bXA7CisKKwlDSEVDS19DT05EKGRhdGEtPnRyYWNlX3BhZ2VzLm5leHQtPnByZXYgIT0gJmRhdGEtPnRyYWNlX3BhZ2VzKTsKKwlDSEVDS19DT05EKGRhdGEtPnRyYWNlX3BhZ2VzLnByZXYtPm5leHQgIT0gJmRhdGEtPnRyYWNlX3BhZ2VzKTsKKworCWxpc3RfZm9yX2VhY2hfZW50cnlfc2FmZShwYWdlLCB0bXAsICZkYXRhLT50cmFjZV9wYWdlcywgbHJ1KSB7CisJCUNIRUNLX0NPTkQocGFnZS0+bHJ1Lm5leHQtPnByZXYgIT0gJnBhZ2UtPmxydSk7CisJCUNIRUNLX0NPTkQocGFnZS0+bHJ1LnByZXYtPm5leHQgIT0gJnBhZ2UtPmxydSk7CisJfQorCisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogaGVhZF9wYWdlIC0gcGFnZSBhZGRyZXNzIG9mIHRoZSBmaXJzdCBwYWdlIGluIHBlcl9jcHUgYnVmZmVyLgorICoKKyAqIGhlYWRfcGFnZSByZXR1cm5zIHRoZSBwYWdlIGFkZHJlc3Mgb2YgdGhlIGZpcnN0IHBhZ2UgaW4KKyAqIGEgcGVyX2NwdSBidWZmZXIuIFRoaXMgYWxzbyBwcmVmb3JtcyB2YXJpb3VzIGNvbnNpc3RlbmN5CisgKiBjaGVja3MgdG8gbWFrZSBzdXJlIHRoZSBidWZmZXIgaGFzIG5vdCBiZWVuIGNvcnJ1cHRlZC4KKyAqLwordm9pZCAqaGVhZF9wYWdlKHN0cnVjdCB0cmFjZV9hcnJheV9jcHUgKmRhdGEpCit7CisJc3RydWN0IHBhZ2UgKnBhZ2U7CisKKwlpZiAobGlzdF9lbXB0eSgmZGF0YS0+dHJhY2VfcGFnZXMpKQorCQlyZXR1cm4gTlVMTDsKKworCXBhZ2UgPSBsaXN0X2VudHJ5KGRhdGEtPnRyYWNlX3BhZ2VzLm5leHQsIHN0cnVjdCBwYWdlLCBscnUpOworCUJVR19PTigmcGFnZS0+bHJ1ID09ICZkYXRhLT50cmFjZV9wYWdlcyk7CisKKwlyZXR1cm4gcGFnZV9hZGRyZXNzKHBhZ2UpOworfQorCisvKioKKyAqIHRyYWNlX3NlcV9wcmludGYgLSBzZXF1ZW5jZSBwcmludGluZyBvZiB0cmFjZSBpbmZvcm1hdGlvbgorICogQHM6IHRyYWNlIHNlcXVlbmNlIGRlc2NyaXB0b3IKKyAqIEBmbXQ6IHByaW50ZiBmb3JtYXQgc3RyaW5nCisgKgorICogVGhlIHRyYWNlciBtYXkgdXNlIGVpdGhlciBzZXF1ZW5jZSBvcGVyYXRpb25zIG9yIGl0cyBvd24KKyAqIGNvcHkgdG8gdXNlciByb3V0aW5lcy4gVG8gc2ltcGxpZnkgZm9ybWF0aW5nIG9mIGEgdHJhY2UKKyAqIHRyYWNlX3NlcV9wcmludGYgaXMgdXNlZCB0byBzdG9yZSBzdHJpbmdzIGludG8gYSBzcGVjaWFsCisgKiBidWZmZXIgKEBzKS4gVGhlbiB0aGUgb3V0cHV0IG1heSBiZSBlaXRoZXIgdXNlZCBieQorICogdGhlIHNlcXVlbmNlciBvciBwdWxsZWQgaW50byBhbm90aGVyIGJ1ZmZlci4KKyAqLworaW50Cit0cmFjZV9zZXFfcHJpbnRmKHN0cnVjdCB0cmFjZV9zZXEgKnMsIGNvbnN0IGNoYXIgKmZtdCwgLi4uKQoreworCWludCBsZW4gPSAoUEFHRV9TSVpFIC0gMSkgLSBzLT5sZW47CisJdmFfbGlzdCBhcDsKKwlpbnQgcmV0OworCisJaWYgKCFsZW4pCisJCXJldHVybiAwOworCisJdmFfc3RhcnQoYXAsIGZtdCk7CisJcmV0ID0gdnNucHJpbnRmKHMtPmJ1ZmZlciArIHMtPmxlbiwgbGVuLCBmbXQsIGFwKTsKKwl2YV9lbmQoYXApOworCisJLyogSWYgd2UgY2FuJ3Qgd3JpdGUgaXQgYWxsLCBkb24ndCBib3RoZXIgd3JpdGluZyBhbnl0aGluZyAqLworCWlmIChyZXQgPj0gbGVuKQorCQlyZXR1cm4gMDsKKworCXMtPmxlbiArPSByZXQ7CisKKwlyZXR1cm4gbGVuOworfQorCisvKioKKyAqIHRyYWNlX3NlcV9wdXRzIC0gdHJhY2Ugc2VxdWVuY2UgcHJpbnRpbmcgb2Ygc2ltcGxlIHN0cmluZworICogQHM6IHRyYWNlIHNlcXVlbmNlIGRlc2NyaXB0b3IKKyAqIEBzdHI6IHNpbXBsZSBzdHJpbmcgdG8gcmVjb3JkCisgKgorICogVGhlIHRyYWNlciBtYXkgdXNlIGVpdGhlciB0aGUgc2VxdWVuY2Ugb3BlcmF0aW9ucyBvciBpdHMgb3duCisgKiBjb3B5IHRvIHVzZXIgcm91dGluZXMuIFRoaXMgZnVuY3Rpb24gcmVjb3JkcyBhIHNpbXBsZSBzdHJpbmcKKyAqIGludG8gYSBzcGVjaWFsIGJ1ZmZlciAoQHMpIGZvciBsYXRlciByZXRyaWV2YWwgYnkgYSBzZXF1ZW5jZXIKKyAqIG9yIG90aGVyIG1lY2hhbmlzbS4KKyAqLworc3RhdGljIGludAordHJhY2Vfc2VxX3B1dHMoc3RydWN0IHRyYWNlX3NlcSAqcywgY29uc3QgY2hhciAqc3RyKQoreworCWludCBsZW4gPSBzdHJsZW4oc3RyKTsKKworCWlmIChsZW4gPiAoKFBBR0VfU0laRSAtIDEpIC0gcy0+bGVuKSkKKwkJcmV0dXJuIDA7CisKKwltZW1jcHkocy0+YnVmZmVyICsgcy0+bGVuLCBzdHIsIGxlbik7CisJcy0+bGVuICs9IGxlbjsKKworCXJldHVybiBsZW47Cit9CisKK3N0YXRpYyBpbnQKK3RyYWNlX3NlcV9wdXRjKHN0cnVjdCB0cmFjZV9zZXEgKnMsIHVuc2lnbmVkIGNoYXIgYykKK3sKKwlpZiAocy0+bGVuID49IChQQUdFX1NJWkUgLSAxKSkKKwkJcmV0dXJuIDA7CisKKwlzLT5idWZmZXJbcy0+bGVuKytdID0gYzsKKworCXJldHVybiAxOworfQorCitzdGF0aWMgaW50Cit0cmFjZV9zZXFfcHV0bWVtKHN0cnVjdCB0cmFjZV9zZXEgKnMsIHZvaWQgKm1lbSwgc2l6ZV90IGxlbikKK3sKKwlpZiAobGVuID4gKChQQUdFX1NJWkUgLSAxKSAtIHMtPmxlbikpCisJCXJldHVybiAwOworCisJbWVtY3B5KHMtPmJ1ZmZlciArIHMtPmxlbiwgbWVtLCBsZW4pOworCXMtPmxlbiArPSBsZW47CisKKwlyZXR1cm4gbGVuOworfQorCisjZGVmaW5lIEhFWF9DSEFSUyAxNworc3RhdGljIGNvbnN0IGNoYXIgaGV4MmFzY1tdID0gIjAxMjM0NTY3ODlhYmNkZWYiOworCitzdGF0aWMgaW50Cit0cmFjZV9zZXFfcHV0bWVtX2hleChzdHJ1Y3QgdHJhY2Vfc2VxICpzLCB2b2lkICptZW0sIHNpemVfdCBsZW4pCit7CisJdW5zaWduZWQgY2hhciBoZXhbSEVYX0NIQVJTXTsKKwl1bnNpZ25lZCBjaGFyICpkYXRhID0gbWVtOworCXVuc2lnbmVkIGNoYXIgYnl0ZTsKKwlpbnQgaSwgajsKKworCUJVR19PTihsZW4gPj0gSEVYX0NIQVJTKTsKKworI2lmZGVmIF9fQklHX0VORElBTgorCWZvciAoaSA9IDAsIGogPSAwOyBpIDwgbGVuOyBpKyspIHsKKyNlbHNlCisJZm9yIChpID0gbGVuLTEsIGogPSAwOyBpID49IDA7IGktLSkgeworI2VuZGlmCisJCWJ5dGUgPSBkYXRhW2ldOworCisJCWhleFtqKytdID0gaGV4MmFzY1tieXRlICYgMHgwZl07CisJCWhleFtqKytdID0gaGV4MmFzY1tieXRlID4+IDRdOworCX0KKwloZXhbaisrXSA9ICcgJzsKKworCXJldHVybiB0cmFjZV9zZXFfcHV0bWVtKHMsIGhleCwgaik7Cit9CisKK3N0YXRpYyB2b2lkCit0cmFjZV9zZXFfcmVzZXQoc3RydWN0IHRyYWNlX3NlcSAqcykKK3sKKwlzLT5sZW4gPSAwOworCXMtPnJlYWRwb3MgPSAwOworfQorCitzc2l6ZV90IHRyYWNlX3NlcV90b191c2VyKHN0cnVjdCB0cmFjZV9zZXEgKnMsIGNoYXIgX191c2VyICp1YnVmLCBzaXplX3QgY250KQoreworCWludCBsZW47CisJaW50IHJldDsKKworCWlmIChzLT5sZW4gPD0gcy0+cmVhZHBvcykKKwkJcmV0dXJuIC1FQlVTWTsKKworCWxlbiA9IHMtPmxlbiAtIHMtPnJlYWRwb3M7CisJaWYgKGNudCA+IGxlbikKKwkJY250ID0gbGVuOworCXJldCA9IGNvcHlfdG9fdXNlcih1YnVmLCBzLT5idWZmZXIgKyBzLT5yZWFkcG9zLCBjbnQpOworCWlmIChyZXQpCisJCXJldHVybiAtRUZBVUxUOworCisJcy0+cmVhZHBvcyArPSBsZW47CisJcmV0dXJuIGNudDsKK30KKworc3RhdGljIHZvaWQKK3RyYWNlX3ByaW50X3NlcShzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHN0cnVjdCB0cmFjZV9zZXEgKnMpCit7CisJaW50IGxlbiA9IHMtPmxlbiA+PSBQQUdFX1NJWkUgPyBQQUdFX1NJWkUgLSAxIDogcy0+bGVuOworCisJcy0+YnVmZmVyW2xlbl0gPSAwOworCXNlcV9wdXRzKG0sIHMtPmJ1ZmZlcik7CisKKwl0cmFjZV9zZXFfcmVzZXQocyk7Cit9CisKKy8qCisgKiBmbGlwIHRoZSB0cmFjZSBidWZmZXJzIGJldHdlZW4gdHdvIHRyYWNlIGRlc2NyaXB0b3JzLgorICogVGhpcyB1c3VhbGx5IGlzIHRoZSBidWZmZXJzIGJldHdlZW4gdGhlIGdsb2JhbF90cmFjZSBhbmQKKyAqIHRoZSBtYXhfdHIgdG8gcmVjb3JkIGEgc25hcHNob3Qgb2YgYSBjdXJyZW50IHRyYWNlLgorICoKKyAqIFRoZSBmdHJhY2VfbWF4X2xvY2sgbXVzdCBiZSBoZWxkLgorICovCitzdGF0aWMgdm9pZAorZmxpcF90cmFjZShzdHJ1Y3QgdHJhY2VfYXJyYXlfY3B1ICp0cjEsIHN0cnVjdCB0cmFjZV9hcnJheV9jcHUgKnRyMikKK3sKKwlzdHJ1Y3QgbGlzdF9oZWFkIGZsaXBfcGFnZXM7CisKKwlJTklUX0xJU1RfSEVBRCgmZmxpcF9wYWdlcyk7CisKKwltZW1jcHkoJnRyMS0+dHJhY2VfaGVhZF9pZHgsICZ0cjItPnRyYWNlX2hlYWRfaWR4LAorCQlzaXplb2Yoc3RydWN0IHRyYWNlX2FycmF5X2NwdSkgLQorCQlvZmZzZXRvZihzdHJ1Y3QgdHJhY2VfYXJyYXlfY3B1LCB0cmFjZV9oZWFkX2lkeCkpOworCisJY2hlY2tfcGFnZXModHIxKTsKKwljaGVja19wYWdlcyh0cjIpOworCWxpc3Rfc3BsaWNlX2luaXQoJnRyMS0+dHJhY2VfcGFnZXMsICZmbGlwX3BhZ2VzKTsKKwlsaXN0X3NwbGljZV9pbml0KCZ0cjItPnRyYWNlX3BhZ2VzLCAmdHIxLT50cmFjZV9wYWdlcyk7CisJbGlzdF9zcGxpY2VfaW5pdCgmZmxpcF9wYWdlcywgJnRyMi0+dHJhY2VfcGFnZXMpOworCUJVR19PTighbGlzdF9lbXB0eSgmZmxpcF9wYWdlcykpOworCWNoZWNrX3BhZ2VzKHRyMSk7CisJY2hlY2tfcGFnZXModHIyKTsKK30KKworLyoqCisgKiB1cGRhdGVfbWF4X3RyIC0gc25hcHNob3QgYWxsIHRyYWNlIGJ1ZmZlcnMgZnJvbSBnbG9iYWxfdHJhY2UgdG8gbWF4X3RyCisgKiBAdHI6IHRyYWNlcgorICogQHRzazogdGhlIHRhc2sgd2l0aCB0aGUgbGF0ZW5jeQorICogQGNwdTogVGhlIGNwdSB0aGF0IGluaXRpYXRlZCB0aGUgdHJhY2UuCisgKgorICogRmxpcCB0aGUgYnVmZmVycyBiZXR3ZWVuIHRoZSBAdHIgYW5kIHRoZSBtYXhfdHIgYW5kIHJlY29yZCBpbmZvcm1hdGlvbgorICogYWJvdXQgd2hpY2ggdGFzayB3YXMgdGhlIGNhdXNlIG9mIHRoaXMgbGF0ZW5jeS4KKyAqLwordm9pZAordXBkYXRlX21heF90cihzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyLCBzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRzaywgaW50IGNwdSkKK3sKKwlzdHJ1Y3QgdHJhY2VfYXJyYXlfY3B1ICpkYXRhOworCWludCBpOworCisJV0FSTl9PTl9PTkNFKCFpcnFzX2Rpc2FibGVkKCkpOworCV9fcmF3X3NwaW5fbG9jaygmZnRyYWNlX21heF9sb2NrKTsKKwkvKiBjbGVhciBvdXQgYWxsIHRoZSBwcmV2aW91cyB0cmFjZXMgKi8KKwlmb3JfZWFjaF90cmFjaW5nX2NwdShpKSB7CisJCWRhdGEgPSB0ci0+ZGF0YVtpXTsKKwkJZmxpcF90cmFjZShtYXhfdHIuZGF0YVtpXSwgZGF0YSk7CisJCXRyYWNpbmdfcmVzZXQoZGF0YSk7CisJfQorCisJX191cGRhdGVfbWF4X3RyKHRyLCB0c2ssIGNwdSk7CisJX19yYXdfc3Bpbl91bmxvY2soJmZ0cmFjZV9tYXhfbG9jayk7Cit9CisKKy8qKgorICogdXBkYXRlX21heF90cl9zaW5nbGUgLSBvbmx5IGNvcHkgb25lIHRyYWNlIG92ZXIsIGFuZCByZXNldCB0aGUgcmVzdAorICogQHRyIC0gdHJhY2VyCisgKiBAdHNrIC0gdGFzayB3aXRoIHRoZSBsYXRlbmN5CisgKiBAY3B1IC0gdGhlIGNwdSBvZiB0aGUgYnVmZmVyIHRvIGNvcHkuCisgKgorICogRmxpcCB0aGUgdHJhY2Ugb2YgYSBzaW5nbGUgQ1BVIGJ1ZmZlciBiZXR3ZWVuIHRoZSBAdHIgYW5kIHRoZSBtYXhfdHIuCisgKi8KK3ZvaWQKK3VwZGF0ZV9tYXhfdHJfc2luZ2xlKHN0cnVjdCB0cmFjZV9hcnJheSAqdHIsIHN0cnVjdCB0YXNrX3N0cnVjdCAqdHNrLCBpbnQgY3B1KQoreworCXN0cnVjdCB0cmFjZV9hcnJheV9jcHUgKmRhdGEgPSB0ci0+ZGF0YVtjcHVdOworCWludCBpOworCisJV0FSTl9PTl9PTkNFKCFpcnFzX2Rpc2FibGVkKCkpOworCV9fcmF3X3NwaW5fbG9jaygmZnRyYWNlX21heF9sb2NrKTsKKwlmb3JfZWFjaF90cmFjaW5nX2NwdShpKQorCQl0cmFjaW5nX3Jlc2V0KG1heF90ci5kYXRhW2ldKTsKKworCWZsaXBfdHJhY2UobWF4X3RyLmRhdGFbY3B1XSwgZGF0YSk7CisJdHJhY2luZ19yZXNldChkYXRhKTsKKworCV9fdXBkYXRlX21heF90cih0ciwgdHNrLCBjcHUpOworCV9fcmF3X3NwaW5fdW5sb2NrKCZmdHJhY2VfbWF4X2xvY2spOworfQorCisvKioKKyAqIHJlZ2lzdGVyX3RyYWNlciAtIHJlZ2lzdGVyIGEgdHJhY2VyIHdpdGggdGhlIGZ0cmFjZSBzeXN0ZW0uCisgKiBAdHlwZSAtIHRoZSBwbHVnaW4gZm9yIHRoZSB0cmFjZXIKKyAqCisgKiBSZWdpc3RlciBhIG5ldyBwbHVnaW4gdHJhY2VyLgorICovCitpbnQgcmVnaXN0ZXJfdHJhY2VyKHN0cnVjdCB0cmFjZXIgKnR5cGUpCit7CisJc3RydWN0IHRyYWNlciAqdDsKKwlpbnQgbGVuOworCWludCByZXQgPSAwOworCisJaWYgKCF0eXBlLT5uYW1lKSB7CisJCXByX2luZm8oIlRyYWNlciBtdXN0IGhhdmUgYSBuYW1lXG4iKTsKKwkJcmV0dXJuIC0xOworCX0KKworCW11dGV4X2xvY2soJnRyYWNlX3R5cGVzX2xvY2spOworCWZvciAodCA9IHRyYWNlX3R5cGVzOyB0OyB0ID0gdC0+bmV4dCkgeworCQlpZiAoc3RyY21wKHR5cGUtPm5hbWUsIHQtPm5hbWUpID09IDApIHsKKwkJCS8qIGFscmVhZHkgZm91bmQgKi8KKwkJCXByX2luZm8oIlRyYWNlICVzIGFscmVhZHkgcmVnaXN0ZXJlZFxuIiwKKwkJCQl0eXBlLT5uYW1lKTsKKwkJCXJldCA9IC0xOworCQkJZ290byBvdXQ7CisJCX0KKwl9CisKKyNpZmRlZiBDT05GSUdfRlRSQUNFX1NUQVJUVVBfVEVTVAorCWlmICh0eXBlLT5zZWxmdGVzdCkgeworCQlzdHJ1Y3QgdHJhY2VyICpzYXZlZF90cmFjZXIgPSBjdXJyZW50X3RyYWNlOworCQlzdHJ1Y3QgdHJhY2VfYXJyYXlfY3B1ICpkYXRhOworCQlzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyID0gJmdsb2JhbF90cmFjZTsKKwkJaW50IHNhdmVkX2N0cmwgPSB0ci0+Y3RybDsKKwkJaW50IGk7CisJCS8qCisJCSAqIFJ1biBhIHNlbGZ0ZXN0IG9uIHRoaXMgdHJhY2VyLgorCQkgKiBIZXJlIHdlIHJlc2V0IHRoZSB0cmFjZSBidWZmZXIsIGFuZCBzZXQgdGhlIGN1cnJlbnQKKwkJICogdHJhY2VyIHRvIGJlIHRoaXMgdHJhY2VyLiBUaGUgdHJhY2VyIGNhbiB0aGVuIHJ1biBzb21lCisJCSAqIGludGVybmFsIHRyYWNpbmcgdG8gdmVyaWZ5IHRoYXQgZXZlcnl0aGluZyBpcyBpbiBvcmRlci4KKwkJICogSWYgd2UgZmFpbCwgd2UgZG8gbm90IHJlZ2lzdGVyIHRoaXMgdHJhY2VyLgorCQkgKi8KKwkJZm9yX2VhY2hfdHJhY2luZ19jcHUoaSkgeworCQkJZGF0YSA9IHRyLT5kYXRhW2ldOworCQkJaWYgKCFoZWFkX3BhZ2UoZGF0YSkpCisJCQkJY29udGludWU7CisJCQl0cmFjaW5nX3Jlc2V0KGRhdGEpOworCQl9CisJCWN1cnJlbnRfdHJhY2UgPSB0eXBlOworCQl0ci0+Y3RybCA9IDA7CisJCS8qIHRoZSB0ZXN0IGlzIHJlc3BvbnNpYmxlIGZvciBpbml0aWFsaXppbmcgYW5kIGVuYWJsaW5nICovCisJCXByX2luZm8oIlRlc3RpbmcgdHJhY2VyICVzOiAiLCB0eXBlLT5uYW1lKTsKKwkJcmV0ID0gdHlwZS0+c2VsZnRlc3QodHlwZSwgdHIpOworCQkvKiB0aGUgdGVzdCBpcyByZXNwb25zaWJsZSBmb3IgcmVzZXR0aW5nIHRvbyAqLworCQljdXJyZW50X3RyYWNlID0gc2F2ZWRfdHJhY2VyOworCQl0ci0+Y3RybCA9IHNhdmVkX2N0cmw7CisJCWlmIChyZXQpIHsKKwkJCXByaW50ayhLRVJOX0NPTlQgIkZBSUxFRCFcbiIpOworCQkJZ290byBvdXQ7CisJCX0KKwkJLyogT25seSByZXNldCBvbiBwYXNzaW5nLCB0byBhdm9pZCB0b3VjaGluZyBjb3JydXB0ZWQgYnVmZmVycyAqLworCQlmb3JfZWFjaF90cmFjaW5nX2NwdShpKSB7CisJCQlkYXRhID0gdHItPmRhdGFbaV07CisJCQlpZiAoIWhlYWRfcGFnZShkYXRhKSkKKwkJCQljb250aW51ZTsKKwkJCXRyYWNpbmdfcmVzZXQoZGF0YSk7CisJCX0KKwkJcHJpbnRrKEtFUk5fQ09OVCAiUEFTU0VEXG4iKTsKKwl9CisjZW5kaWYKKworCXR5cGUtPm5leHQgPSB0cmFjZV90eXBlczsKKwl0cmFjZV90eXBlcyA9IHR5cGU7CisJbGVuID0gc3RybGVuKHR5cGUtPm5hbWUpOworCWlmIChsZW4gPiBtYXhfdHJhY2VyX3R5cGVfbGVuKQorCQltYXhfdHJhY2VyX3R5cGVfbGVuID0gbGVuOworCisgb3V0OgorCW11dGV4X3VubG9jaygmdHJhY2VfdHlwZXNfbG9jayk7CisKKwlyZXR1cm4gcmV0OworfQorCit2b2lkIHVucmVnaXN0ZXJfdHJhY2VyKHN0cnVjdCB0cmFjZXIgKnR5cGUpCit7CisJc3RydWN0IHRyYWNlciAqKnQ7CisJaW50IGxlbjsKKworCW11dGV4X2xvY2soJnRyYWNlX3R5cGVzX2xvY2spOworCWZvciAodCA9ICZ0cmFjZV90eXBlczsgKnQ7IHQgPSAmKCp0KS0+bmV4dCkgeworCQlpZiAoKnQgPT0gdHlwZSkKKwkJCWdvdG8gZm91bmQ7CisJfQorCXByX2luZm8oIlRyYWNlICVzIG5vdCByZWdpc3RlcmVkXG4iLCB0eXBlLT5uYW1lKTsKKwlnb3RvIG91dDsKKworIGZvdW5kOgorCSp0ID0gKCp0KS0+bmV4dDsKKwlpZiAoc3RybGVuKHR5cGUtPm5hbWUpICE9IG1heF90cmFjZXJfdHlwZV9sZW4pCisJCWdvdG8gb3V0OworCisJbWF4X3RyYWNlcl90eXBlX2xlbiA9IDA7CisJZm9yICh0ID0gJnRyYWNlX3R5cGVzOyAqdDsgdCA9ICYoKnQpLT5uZXh0KSB7CisJCWxlbiA9IHN0cmxlbigoKnQpLT5uYW1lKTsKKwkJaWYgKGxlbiA+IG1heF90cmFjZXJfdHlwZV9sZW4pCisJCQltYXhfdHJhY2VyX3R5cGVfbGVuID0gbGVuOworCX0KKyBvdXQ6CisJbXV0ZXhfdW5sb2NrKCZ0cmFjZV90eXBlc19sb2NrKTsKK30KKwordm9pZCB0cmFjaW5nX3Jlc2V0KHN0cnVjdCB0cmFjZV9hcnJheV9jcHUgKmRhdGEpCit7CisJZGF0YS0+dHJhY2VfaWR4ID0gMDsKKwlkYXRhLT5vdmVycnVuID0gMDsKKwlkYXRhLT50cmFjZV9oZWFkID0gZGF0YS0+dHJhY2VfdGFpbCA9IGhlYWRfcGFnZShkYXRhKTsKKwlkYXRhLT50cmFjZV9oZWFkX2lkeCA9IDA7CisJZGF0YS0+dHJhY2VfdGFpbF9pZHggPSAwOworfQorCisjZGVmaW5lIFNBVkVEX0NNRExJTkVTIDEyOAorc3RhdGljIHVuc2lnbmVkIG1hcF9waWRfdG9fY21kbGluZVtQSURfTUFYX0RFRkFVTFQrMV07CitzdGF0aWMgdW5zaWduZWQgbWFwX2NtZGxpbmVfdG9fcGlkW1NBVkVEX0NNRExJTkVTXTsKK3N0YXRpYyBjaGFyIHNhdmVkX2NtZGxpbmVzW1NBVkVEX0NNRExJTkVTXVtUQVNLX0NPTU1fTEVOXTsKK3N0YXRpYyBpbnQgY21kbGluZV9pZHg7CitzdGF0aWMgREVGSU5FX1NQSU5MT0NLKHRyYWNlX2NtZGxpbmVfbG9jayk7CisKKy8qIHRlbXBvcmFyeSBkaXNhYmxlIHJlY29yZGluZyAqLworYXRvbWljX3QgdHJhY2VfcmVjb3JkX2NtZGxpbmVfZGlzYWJsZWQgX19yZWFkX21vc3RseTsKKworc3RhdGljIHZvaWQgdHJhY2VfaW5pdF9jbWRsaW5lcyh2b2lkKQoreworCW1lbXNldCgmbWFwX3BpZF90b19jbWRsaW5lLCAtMSwgc2l6ZW9mKG1hcF9waWRfdG9fY21kbGluZSkpOworCW1lbXNldCgmbWFwX2NtZGxpbmVfdG9fcGlkLCAtMSwgc2l6ZW9mKG1hcF9jbWRsaW5lX3RvX3BpZCkpOworCWNtZGxpbmVfaWR4ID0gMDsKK30KKwordm9pZCB0cmFjZV9zdG9wX2NtZGxpbmVfcmVjb3JkaW5nKHZvaWQpOworCitzdGF0aWMgdm9pZCB0cmFjZV9zYXZlX2NtZGxpbmUoc3RydWN0IHRhc2tfc3RydWN0ICp0c2spCit7CisJdW5zaWduZWQgbWFwOworCXVuc2lnbmVkIGlkeDsKKworCWlmICghdHNrLT5waWQgfHwgdW5saWtlbHkodHNrLT5waWQgPiBQSURfTUFYX0RFRkFVTFQpKQorCQlyZXR1cm47CisKKwkvKgorCSAqIEl0J3Mgbm90IHRoZSBlbmQgb2YgdGhlIHdvcmxkIGlmIHdlIGRvbid0IGdldAorCSAqIHRoZSBsb2NrLCBidXQgd2UgYWxzbyBkb24ndCB3YW50IHRvIHNwaW4KKwkgKiBub3IgZG8gd2Ugd2FudCB0byBkaXNhYmxlIGludGVycnVwdHMsCisJICogc28gaWYgd2UgbWlzcyBoZXJlLCB0aGVuIGJldHRlciBsdWNrIG5leHQgdGltZS4KKwkgKi8KKwlpZiAoIXNwaW5fdHJ5bG9jaygmdHJhY2VfY21kbGluZV9sb2NrKSkKKwkJcmV0dXJuOworCisJaWR4ID0gbWFwX3BpZF90b19jbWRsaW5lW3Rzay0+cGlkXTsKKwlpZiAoaWR4ID49IFNBVkVEX0NNRExJTkVTKSB7CisJCWlkeCA9IChjbWRsaW5lX2lkeCArIDEpICUgU0FWRURfQ01ETElORVM7CisKKwkJbWFwID0gbWFwX2NtZGxpbmVfdG9fcGlkW2lkeF07CisJCWlmIChtYXAgPD0gUElEX01BWF9ERUZBVUxUKQorCQkJbWFwX3BpZF90b19jbWRsaW5lW21hcF0gPSAodW5zaWduZWQpLTE7CisKKwkJbWFwX3BpZF90b19jbWRsaW5lW3Rzay0+cGlkXSA9IGlkeDsKKworCQljbWRsaW5lX2lkeCA9IGlkeDsKKwl9CisKKwltZW1jcHkoJnNhdmVkX2NtZGxpbmVzW2lkeF0sIHRzay0+Y29tbSwgVEFTS19DT01NX0xFTik7CisKKwlzcGluX3VubG9jaygmdHJhY2VfY21kbGluZV9sb2NrKTsKK30KKworc3RhdGljIGNoYXIgKnRyYWNlX2ZpbmRfY21kbGluZShpbnQgcGlkKQoreworCWNoYXIgKmNtZGxpbmUgPSAiPC4uLj4iOworCXVuc2lnbmVkIG1hcDsKKworCWlmICghcGlkKQorCQlyZXR1cm4gIjxpZGxlPiI7CisKKwlpZiAocGlkID4gUElEX01BWF9ERUZBVUxUKQorCQlnb3RvIG91dDsKKworCW1hcCA9IG1hcF9waWRfdG9fY21kbGluZVtwaWRdOworCWlmIChtYXAgPj0gU0FWRURfQ01ETElORVMpCisJCWdvdG8gb3V0OworCisJY21kbGluZSA9IHNhdmVkX2NtZGxpbmVzW21hcF07CisKKyBvdXQ6CisJcmV0dXJuIGNtZGxpbmU7Cit9CisKK3ZvaWQgdHJhY2luZ19yZWNvcmRfY21kbGluZShzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRzaykKK3sKKwlpZiAoYXRvbWljX3JlYWQoJnRyYWNlX3JlY29yZF9jbWRsaW5lX2Rpc2FibGVkKSkKKwkJcmV0dXJuOworCisJdHJhY2Vfc2F2ZV9jbWRsaW5lKHRzayk7Cit9CisKK3N0YXRpYyBpbmxpbmUgc3RydWN0IGxpc3RfaGVhZCAqCit0cmFjZV9uZXh0X2xpc3Qoc3RydWN0IHRyYWNlX2FycmF5X2NwdSAqZGF0YSwgc3RydWN0IGxpc3RfaGVhZCAqbmV4dCkKK3sKKwkvKgorCSAqIFJvdW5kcm9iaW4gLSBidXQgc2tpcCB0aGUgaGVhZCAod2hpY2ggaXMgbm90IGEgcmVhbCBwYWdlKToKKwkgKi8KKwluZXh0ID0gbmV4dC0+bmV4dDsKKwlpZiAodW5saWtlbHkobmV4dCA9PSAmZGF0YS0+dHJhY2VfcGFnZXMpKQorCQluZXh0ID0gbmV4dC0+bmV4dDsKKwlCVUdfT04obmV4dCA9PSAmZGF0YS0+dHJhY2VfcGFnZXMpOworCisJcmV0dXJuIG5leHQ7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCAqCit0cmFjZV9uZXh0X3BhZ2Uoc3RydWN0IHRyYWNlX2FycmF5X2NwdSAqZGF0YSwgdm9pZCAqYWRkcikKK3sKKwlzdHJ1Y3QgbGlzdF9oZWFkICpuZXh0OworCXN0cnVjdCBwYWdlICpwYWdlOworCisJcGFnZSA9IHZpcnRfdG9fcGFnZShhZGRyKTsKKworCW5leHQgPSB0cmFjZV9uZXh0X2xpc3QoZGF0YSwgJnBhZ2UtPmxydSk7CisJcGFnZSA9IGxpc3RfZW50cnkobmV4dCwgc3RydWN0IHBhZ2UsIGxydSk7CisKKwlyZXR1cm4gcGFnZV9hZGRyZXNzKHBhZ2UpOworfQorCitzdGF0aWMgaW5saW5lIHN0cnVjdCB0cmFjZV9lbnRyeSAqCit0cmFjaW5nX2dldF90cmFjZV9lbnRyeShzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyLCBzdHJ1Y3QgdHJhY2VfYXJyYXlfY3B1ICpkYXRhKQoreworCXVuc2lnbmVkIGxvbmcgaWR4LCBpZHhfbmV4dDsKKwlzdHJ1Y3QgdHJhY2VfZW50cnkgKmVudHJ5OworCisJZGF0YS0+dHJhY2VfaWR4Kys7CisJaWR4ID0gZGF0YS0+dHJhY2VfaGVhZF9pZHg7CisJaWR4X25leHQgPSBpZHggKyAxOworCisJQlVHX09OKGlkeCAqIFRSQUNFX0VOVFJZX1NJWkUgPj0gUEFHRV9TSVpFKTsKKworCWVudHJ5ID0gZGF0YS0+dHJhY2VfaGVhZCArIGlkeCAqIFRSQUNFX0VOVFJZX1NJWkU7CisKKwlpZiAodW5saWtlbHkoaWR4X25leHQgPj0gRU5UUklFU19QRVJfUEFHRSkpIHsKKwkJZGF0YS0+dHJhY2VfaGVhZCA9IHRyYWNlX25leHRfcGFnZShkYXRhLCBkYXRhLT50cmFjZV9oZWFkKTsKKwkJaWR4X25leHQgPSAwOworCX0KKworCWlmIChkYXRhLT50cmFjZV9oZWFkID09IGRhdGEtPnRyYWNlX3RhaWwgJiYKKwkgICAgaWR4X25leHQgPT0gZGF0YS0+dHJhY2VfdGFpbF9pZHgpIHsKKwkJLyogb3ZlcnJ1biAqLworCQlkYXRhLT5vdmVycnVuKys7CisJCWRhdGEtPnRyYWNlX3RhaWxfaWR4Kys7CisJCWlmIChkYXRhLT50cmFjZV90YWlsX2lkeCA+PSBFTlRSSUVTX1BFUl9QQUdFKSB7CisJCQlkYXRhLT50cmFjZV90YWlsID0KKwkJCQl0cmFjZV9uZXh0X3BhZ2UoZGF0YSwgZGF0YS0+dHJhY2VfdGFpbCk7CisJCQlkYXRhLT50cmFjZV90YWlsX2lkeCA9IDA7CisJCX0KKwl9CisKKwlkYXRhLT50cmFjZV9oZWFkX2lkeCA9IGlkeF9uZXh0OworCisJcmV0dXJuIGVudHJ5OworfQorCitzdGF0aWMgaW5saW5lIHZvaWQKK3RyYWNpbmdfZ2VuZXJpY19lbnRyeV91cGRhdGUoc3RydWN0IHRyYWNlX2VudHJ5ICplbnRyeSwgdW5zaWduZWQgbG9uZyBmbGFncykKK3sKKwlzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRzayA9IGN1cnJlbnQ7CisJdW5zaWduZWQgbG9uZyBwYzsKKworCXBjID0gcHJlZW1wdF9jb3VudCgpOworCisJZW50cnktPnByZWVtcHRfY291bnQJPSBwYyAmIDB4ZmY7CisJZW50cnktPnBpZAkJPSAodHNrKSA/IHRzay0+cGlkIDogMDsKKwllbnRyeS0+dAkJPSBmdHJhY2Vfbm93KHJhd19zbXBfcHJvY2Vzc29yX2lkKCkpOworCWVudHJ5LT5mbGFncyA9IChpcnFzX2Rpc2FibGVkX2ZsYWdzKGZsYWdzKSA/IFRSQUNFX0ZMQUdfSVJRU19PRkYgOiAwKSB8CisJCSgocGMgJiBIQVJESVJRX01BU0spID8gVFJBQ0VfRkxBR19IQVJESVJRIDogMCkgfAorCQkoKHBjICYgU09GVElSUV9NQVNLKSA/IFRSQUNFX0ZMQUdfU09GVElSUSA6IDApIHwKKwkJKG5lZWRfcmVzY2hlZCgpID8gVFJBQ0VfRkxBR19ORUVEX1JFU0NIRUQgOiAwKTsKK30KKwordm9pZAordHJhY2VfZnVuY3Rpb24oc3RydWN0IHRyYWNlX2FycmF5ICp0ciwgc3RydWN0IHRyYWNlX2FycmF5X2NwdSAqZGF0YSwKKwkgICAgICAgdW5zaWduZWQgbG9uZyBpcCwgdW5zaWduZWQgbG9uZyBwYXJlbnRfaXAsIHVuc2lnbmVkIGxvbmcgZmxhZ3MpCit7CisJc3RydWN0IHRyYWNlX2VudHJ5ICplbnRyeTsKKwl1bnNpZ25lZCBsb25nIGlycV9mbGFnczsKKworCXJhd19sb2NhbF9pcnFfc2F2ZShpcnFfZmxhZ3MpOworCV9fcmF3X3NwaW5fbG9jaygmZGF0YS0+bG9jayk7CisJZW50cnkJCQk9IHRyYWNpbmdfZ2V0X3RyYWNlX2VudHJ5KHRyLCBkYXRhKTsKKwl0cmFjaW5nX2dlbmVyaWNfZW50cnlfdXBkYXRlKGVudHJ5LCBmbGFncyk7CisJZW50cnktPnR5cGUJCT0gVFJBQ0VfRk47CisJZW50cnktPmZuLmlwCQk9IGlwOworCWVudHJ5LT5mbi5wYXJlbnRfaXAJPSBwYXJlbnRfaXA7CisJX19yYXdfc3Bpbl91bmxvY2soJmRhdGEtPmxvY2spOworCXJhd19sb2NhbF9pcnFfcmVzdG9yZShpcnFfZmxhZ3MpOworfQorCit2b2lkCitmdHJhY2Uoc3RydWN0IHRyYWNlX2FycmF5ICp0ciwgc3RydWN0IHRyYWNlX2FycmF5X2NwdSAqZGF0YSwKKyAgICAgICB1bnNpZ25lZCBsb25nIGlwLCB1bnNpZ25lZCBsb25nIHBhcmVudF9pcCwgdW5zaWduZWQgbG9uZyBmbGFncykKK3sKKwlpZiAobGlrZWx5KCFhdG9taWNfcmVhZCgmZGF0YS0+ZGlzYWJsZWQpKSkKKwkJdHJhY2VfZnVuY3Rpb24odHIsIGRhdGEsIGlwLCBwYXJlbnRfaXAsIGZsYWdzKTsKK30KKworI2lmZGVmIENPTkZJR19NTUlPVFJBQ0UKK3ZvaWQgX190cmFjZV9tbWlvdHJhY2Vfcncoc3RydWN0IHRyYWNlX2FycmF5ICp0ciwgc3RydWN0IHRyYWNlX2FycmF5X2NwdSAqZGF0YSwKKwkJCQkJCXN0cnVjdCBtbWlvdHJhY2VfcncgKnJ3KQoreworCXN0cnVjdCB0cmFjZV9lbnRyeSAqZW50cnk7CisJdW5zaWduZWQgbG9uZyBpcnFfZmxhZ3M7CisKKwlyYXdfbG9jYWxfaXJxX3NhdmUoaXJxX2ZsYWdzKTsKKwlfX3Jhd19zcGluX2xvY2soJmRhdGEtPmxvY2spOworCisJZW50cnkJCQk9IHRyYWNpbmdfZ2V0X3RyYWNlX2VudHJ5KHRyLCBkYXRhKTsKKwl0cmFjaW5nX2dlbmVyaWNfZW50cnlfdXBkYXRlKGVudHJ5LCAwKTsKKwllbnRyeS0+dHlwZQkJPSBUUkFDRV9NTUlPX1JXOworCWVudHJ5LT5tbWlvcncJCT0gKnJ3OworCisJX19yYXdfc3Bpbl91bmxvY2soJmRhdGEtPmxvY2spOworCXJhd19sb2NhbF9pcnFfcmVzdG9yZShpcnFfZmxhZ3MpOworCisJdHJhY2Vfd2FrZV91cCgpOworfQorCit2b2lkIF9fdHJhY2VfbW1pb3RyYWNlX21hcChzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyLCBzdHJ1Y3QgdHJhY2VfYXJyYXlfY3B1ICpkYXRhLAorCQkJCQkJc3RydWN0IG1taW90cmFjZV9tYXAgKm1hcCkKK3sKKwlzdHJ1Y3QgdHJhY2VfZW50cnkgKmVudHJ5OworCXVuc2lnbmVkIGxvbmcgaXJxX2ZsYWdzOworCisJcmF3X2xvY2FsX2lycV9zYXZlKGlycV9mbGFncyk7CisJX19yYXdfc3Bpbl9sb2NrKCZkYXRhLT5sb2NrKTsKKworCWVudHJ5CQkJPSB0cmFjaW5nX2dldF90cmFjZV9lbnRyeSh0ciwgZGF0YSk7CisJdHJhY2luZ19nZW5lcmljX2VudHJ5X3VwZGF0ZShlbnRyeSwgMCk7CisJZW50cnktPnR5cGUJCT0gVFJBQ0VfTU1JT19NQVA7CisJZW50cnktPm1taW9tYXAJCT0gKm1hcDsKKworCV9fcmF3X3NwaW5fdW5sb2NrKCZkYXRhLT5sb2NrKTsKKwlyYXdfbG9jYWxfaXJxX3Jlc3RvcmUoaXJxX2ZsYWdzKTsKKworCXRyYWNlX3dha2VfdXAoKTsKK30KKyNlbmRpZgorCit2b2lkIF9fdHJhY2Vfc3RhY2soc3RydWN0IHRyYWNlX2FycmF5ICp0ciwKKwkJICAgc3RydWN0IHRyYWNlX2FycmF5X2NwdSAqZGF0YSwKKwkJICAgdW5zaWduZWQgbG9uZyBmbGFncywKKwkJICAgaW50IHNraXApCit7CisJc3RydWN0IHRyYWNlX2VudHJ5ICplbnRyeTsKKwlzdHJ1Y3Qgc3RhY2tfdHJhY2UgdHJhY2U7CisKKwlpZiAoISh0cmFjZV9mbGFncyAmIFRSQUNFX0lURVJfU1RBQ0tUUkFDRSkpCisJCXJldHVybjsKKworCWVudHJ5CQkJPSB0cmFjaW5nX2dldF90cmFjZV9lbnRyeSh0ciwgZGF0YSk7CisJdHJhY2luZ19nZW5lcmljX2VudHJ5X3VwZGF0ZShlbnRyeSwgZmxhZ3MpOworCWVudHJ5LT50eXBlCQk9IFRSQUNFX1NUQUNLOworCisJbWVtc2V0KCZlbnRyeS0+c3RhY2ssIDAsIHNpemVvZihlbnRyeS0+c3RhY2spKTsKKworCXRyYWNlLm5yX2VudHJpZXMJPSAwOworCXRyYWNlLm1heF9lbnRyaWVzCT0gRlRSQUNFX1NUQUNLX0VOVFJJRVM7CisJdHJhY2Uuc2tpcAkJPSBza2lwOworCXRyYWNlLmVudHJpZXMJCT0gZW50cnktPnN0YWNrLmNhbGxlcjsKKworCXNhdmVfc3RhY2tfdHJhY2UoJnRyYWNlKTsKK30KKwordm9pZAorX190cmFjZV9zcGVjaWFsKHZvaWQgKl9fdHIsIHZvaWQgKl9fZGF0YSwKKwkJdW5zaWduZWQgbG9uZyBhcmcxLCB1bnNpZ25lZCBsb25nIGFyZzIsIHVuc2lnbmVkIGxvbmcgYXJnMykKK3sKKwlzdHJ1Y3QgdHJhY2VfYXJyYXlfY3B1ICpkYXRhID0gX19kYXRhOworCXN0cnVjdCB0cmFjZV9hcnJheSAqdHIgPSBfX3RyOworCXN0cnVjdCB0cmFjZV9lbnRyeSAqZW50cnk7CisJdW5zaWduZWQgbG9uZyBpcnFfZmxhZ3M7CisKKwlyYXdfbG9jYWxfaXJxX3NhdmUoaXJxX2ZsYWdzKTsKKwlfX3Jhd19zcGluX2xvY2soJmRhdGEtPmxvY2spOworCWVudHJ5CQkJPSB0cmFjaW5nX2dldF90cmFjZV9lbnRyeSh0ciwgZGF0YSk7CisJdHJhY2luZ19nZW5lcmljX2VudHJ5X3VwZGF0ZShlbnRyeSwgMCk7CisJZW50cnktPnR5cGUJCT0gVFJBQ0VfU1BFQ0lBTDsKKwllbnRyeS0+c3BlY2lhbC5hcmcxCT0gYXJnMTsKKwllbnRyeS0+c3BlY2lhbC5hcmcyCT0gYXJnMjsKKwllbnRyeS0+c3BlY2lhbC5hcmczCT0gYXJnMzsKKwlfX3RyYWNlX3N0YWNrKHRyLCBkYXRhLCBpcnFfZmxhZ3MsIDQpOworCV9fcmF3X3NwaW5fdW5sb2NrKCZkYXRhLT5sb2NrKTsKKwlyYXdfbG9jYWxfaXJxX3Jlc3RvcmUoaXJxX2ZsYWdzKTsKKworCXRyYWNlX3dha2VfdXAoKTsKK30KKwordm9pZAordHJhY2luZ19zY2hlZF9zd2l0Y2hfdHJhY2Uoc3RydWN0IHRyYWNlX2FycmF5ICp0ciwKKwkJCSAgIHN0cnVjdCB0cmFjZV9hcnJheV9jcHUgKmRhdGEsCisJCQkgICBzdHJ1Y3QgdGFza19zdHJ1Y3QgKnByZXYsCisJCQkgICBzdHJ1Y3QgdGFza19zdHJ1Y3QgKm5leHQsCisJCQkgICB1bnNpZ25lZCBsb25nIGZsYWdzKQoreworCXN0cnVjdCB0cmFjZV9lbnRyeSAqZW50cnk7CisJdW5zaWduZWQgbG9uZyBpcnFfZmxhZ3M7CisKKwlyYXdfbG9jYWxfaXJxX3NhdmUoaXJxX2ZsYWdzKTsKKwlfX3Jhd19zcGluX2xvY2soJmRhdGEtPmxvY2spOworCWVudHJ5CQkJPSB0cmFjaW5nX2dldF90cmFjZV9lbnRyeSh0ciwgZGF0YSk7CisJdHJhY2luZ19nZW5lcmljX2VudHJ5X3VwZGF0ZShlbnRyeSwgZmxhZ3MpOworCWVudHJ5LT50eXBlCQk9IFRSQUNFX0NUWDsKKwllbnRyeS0+Y3R4LnByZXZfcGlkCT0gcHJldi0+cGlkOworCWVudHJ5LT5jdHgucHJldl9wcmlvCT0gcHJldi0+cHJpbzsKKwllbnRyeS0+Y3R4LnByZXZfc3RhdGUJPSBwcmV2LT5zdGF0ZTsKKwllbnRyeS0+Y3R4Lm5leHRfcGlkCT0gbmV4dC0+cGlkOworCWVudHJ5LT5jdHgubmV4dF9wcmlvCT0gbmV4dC0+cHJpbzsKKwllbnRyeS0+Y3R4Lm5leHRfc3RhdGUJPSBuZXh0LT5zdGF0ZTsKKwlfX3RyYWNlX3N0YWNrKHRyLCBkYXRhLCBmbGFncywgNSk7CisJX19yYXdfc3Bpbl91bmxvY2soJmRhdGEtPmxvY2spOworCXJhd19sb2NhbF9pcnFfcmVzdG9yZShpcnFfZmxhZ3MpOworfQorCit2b2lkCit0cmFjaW5nX3NjaGVkX3dha2V1cF90cmFjZShzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyLAorCQkJICAgc3RydWN0IHRyYWNlX2FycmF5X2NwdSAqZGF0YSwKKwkJCSAgIHN0cnVjdCB0YXNrX3N0cnVjdCAqd2FrZWUsCisJCQkgICBzdHJ1Y3QgdGFza19zdHJ1Y3QgKmN1cnIsCisJCQkgICB1bnNpZ25lZCBsb25nIGZsYWdzKQoreworCXN0cnVjdCB0cmFjZV9lbnRyeSAqZW50cnk7CisJdW5zaWduZWQgbG9uZyBpcnFfZmxhZ3M7CisKKwlyYXdfbG9jYWxfaXJxX3NhdmUoaXJxX2ZsYWdzKTsKKwlfX3Jhd19zcGluX2xvY2soJmRhdGEtPmxvY2spOworCWVudHJ5CQkJPSB0cmFjaW5nX2dldF90cmFjZV9lbnRyeSh0ciwgZGF0YSk7CisJdHJhY2luZ19nZW5lcmljX2VudHJ5X3VwZGF0ZShlbnRyeSwgZmxhZ3MpOworCWVudHJ5LT50eXBlCQk9IFRSQUNFX1dBS0U7CisJZW50cnktPmN0eC5wcmV2X3BpZAk9IGN1cnItPnBpZDsKKwllbnRyeS0+Y3R4LnByZXZfcHJpbwk9IGN1cnItPnByaW87CisJZW50cnktPmN0eC5wcmV2X3N0YXRlCT0gY3Vyci0+c3RhdGU7CisJZW50cnktPmN0eC5uZXh0X3BpZAk9IHdha2VlLT5waWQ7CisJZW50cnktPmN0eC5uZXh0X3ByaW8JPSB3YWtlZS0+cHJpbzsKKwllbnRyeS0+Y3R4Lm5leHRfc3RhdGUJPSB3YWtlZS0+c3RhdGU7CisJX190cmFjZV9zdGFjayh0ciwgZGF0YSwgZmxhZ3MsIDYpOworCV9fcmF3X3NwaW5fdW5sb2NrKCZkYXRhLT5sb2NrKTsKKwlyYXdfbG9jYWxfaXJxX3Jlc3RvcmUoaXJxX2ZsYWdzKTsKKworCXRyYWNlX3dha2VfdXAoKTsKK30KKwordm9pZAorZnRyYWNlX3NwZWNpYWwodW5zaWduZWQgbG9uZyBhcmcxLCB1bnNpZ25lZCBsb25nIGFyZzIsIHVuc2lnbmVkIGxvbmcgYXJnMykKK3sKKwlzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyID0gJmdsb2JhbF90cmFjZTsKKwlzdHJ1Y3QgdHJhY2VfYXJyYXlfY3B1ICpkYXRhOworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisJbG9uZyBkaXNhYmxlZDsKKwlpbnQgY3B1OworCisJaWYgKHRyYWNpbmdfZGlzYWJsZWQgfHwgY3VycmVudF90cmFjZSA9PSAmbm9fdHJhY2VyIHx8ICF0ci0+Y3RybCkKKwkJcmV0dXJuOworCisJbG9jYWxfaXJxX3NhdmUoZmxhZ3MpOworCWNwdSA9IHJhd19zbXBfcHJvY2Vzc29yX2lkKCk7CisJZGF0YSA9IHRyLT5kYXRhW2NwdV07CisJZGlzYWJsZWQgPSBhdG9taWNfaW5jX3JldHVybigmZGF0YS0+ZGlzYWJsZWQpOworCisJaWYgKGxpa2VseShkaXNhYmxlZCA9PSAxKSkKKwkJX190cmFjZV9zcGVjaWFsKHRyLCBkYXRhLCBhcmcxLCBhcmcyLCBhcmczKTsKKworCWF0b21pY19kZWMoJmRhdGEtPmRpc2FibGVkKTsKKwlsb2NhbF9pcnFfcmVzdG9yZShmbGFncyk7Cit9CisKKyNpZmRlZiBDT05GSUdfRlRSQUNFCitzdGF0aWMgdm9pZAorZnVuY3Rpb25fdHJhY2VfY2FsbCh1bnNpZ25lZCBsb25nIGlwLCB1bnNpZ25lZCBsb25nIHBhcmVudF9pcCkKK3sKKwlzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyID0gJmdsb2JhbF90cmFjZTsKKwlzdHJ1Y3QgdHJhY2VfYXJyYXlfY3B1ICpkYXRhOworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisJbG9uZyBkaXNhYmxlZDsKKwlpbnQgY3B1OworCisJaWYgKHVubGlrZWx5KCFmdHJhY2VfZnVuY3Rpb25fZW5hYmxlZCkpCisJCXJldHVybjsKKworCWlmIChza2lwX3RyYWNlKGlwKSkKKwkJcmV0dXJuOworCisJbG9jYWxfaXJxX3NhdmUoZmxhZ3MpOworCWNwdSA9IHJhd19zbXBfcHJvY2Vzc29yX2lkKCk7CisJZGF0YSA9IHRyLT5kYXRhW2NwdV07CisJZGlzYWJsZWQgPSBhdG9taWNfaW5jX3JldHVybigmZGF0YS0+ZGlzYWJsZWQpOworCisJaWYgKGxpa2VseShkaXNhYmxlZCA9PSAxKSkKKwkJdHJhY2VfZnVuY3Rpb24odHIsIGRhdGEsIGlwLCBwYXJlbnRfaXAsIGZsYWdzKTsKKworCWF0b21pY19kZWMoJmRhdGEtPmRpc2FibGVkKTsKKwlsb2NhbF9pcnFfcmVzdG9yZShmbGFncyk7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgZnRyYWNlX29wcyB0cmFjZV9vcHMgX19yZWFkX21vc3RseSA9Cit7CisJLmZ1bmMgPSBmdW5jdGlvbl90cmFjZV9jYWxsLAorfTsKKwordm9pZCB0cmFjaW5nX3N0YXJ0X2Z1bmN0aW9uX3RyYWNlKHZvaWQpCit7CisJZnRyYWNlX2Z1bmN0aW9uX2VuYWJsZWQgPSAwOworCXJlZ2lzdGVyX2Z0cmFjZV9mdW5jdGlvbigmdHJhY2Vfb3BzKTsKKwlpZiAodHJhY2VyX2VuYWJsZWQpCisJCWZ0cmFjZV9mdW5jdGlvbl9lbmFibGVkID0gMTsKK30KKwordm9pZCB0cmFjaW5nX3N0b3BfZnVuY3Rpb25fdHJhY2Uodm9pZCkKK3sKKwlmdHJhY2VfZnVuY3Rpb25fZW5hYmxlZCA9IDA7CisJdW5yZWdpc3Rlcl9mdHJhY2VfZnVuY3Rpb24oJnRyYWNlX29wcyk7Cit9CisjZW5kaWYKKworZW51bSB0cmFjZV9maWxlX3R5cGUgeworCVRSQUNFX0ZJTEVfTEFUX0ZNVAk9IDEsCit9OworCitzdGF0aWMgc3RydWN0IHRyYWNlX2VudHJ5ICoKK3RyYWNlX2VudHJ5X2lkeChzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyLCBzdHJ1Y3QgdHJhY2VfYXJyYXlfY3B1ICpkYXRhLAorCQlzdHJ1Y3QgdHJhY2VfaXRlcmF0b3IgKml0ZXIsIGludCBjcHUpCit7CisJc3RydWN0IHBhZ2UgKnBhZ2U7CisJc3RydWN0IHRyYWNlX2VudHJ5ICphcnJheTsKKworCWlmIChpdGVyLT5uZXh0X2lkeFtjcHVdID49IHRyLT5lbnRyaWVzIHx8CisJICAgIGl0ZXItPm5leHRfaWR4W2NwdV0gPj0gZGF0YS0+dHJhY2VfaWR4IHx8CisJICAgIChkYXRhLT50cmFjZV9oZWFkID09IGRhdGEtPnRyYWNlX3RhaWwgJiYKKwkgICAgIGRhdGEtPnRyYWNlX2hlYWRfaWR4ID09IGRhdGEtPnRyYWNlX3RhaWxfaWR4KSkKKwkJcmV0dXJuIE5VTEw7CisKKwlpZiAoIWl0ZXItPm5leHRfcGFnZVtjcHVdKSB7CisJCS8qIEluaXRpYWxpemUgdGhlIGl0ZXJhdG9yIGZvciB0aGlzIGNwdSB0cmFjZSBidWZmZXIgKi8KKwkJV0FSTl9PTighZGF0YS0+dHJhY2VfdGFpbCk7CisJCXBhZ2UgPSB2aXJ0X3RvX3BhZ2UoZGF0YS0+dHJhY2VfdGFpbCk7CisJCWl0ZXItPm5leHRfcGFnZVtjcHVdID0gJnBhZ2UtPmxydTsKKwkJaXRlci0+bmV4dF9wYWdlX2lkeFtjcHVdID0gZGF0YS0+dHJhY2VfdGFpbF9pZHg7CisJfQorCisJcGFnZSA9IGxpc3RfZW50cnkoaXRlci0+bmV4dF9wYWdlW2NwdV0sIHN0cnVjdCBwYWdlLCBscnUpOworCUJVR19PTigmZGF0YS0+dHJhY2VfcGFnZXMgPT0gJnBhZ2UtPmxydSk7CisKKwlhcnJheSA9IHBhZ2VfYWRkcmVzcyhwYWdlKTsKKworCVdBUk5fT04oaXRlci0+bmV4dF9wYWdlX2lkeFtjcHVdID49IEVOVFJJRVNfUEVSX1BBR0UpOworCXJldHVybiAmYXJyYXlbaXRlci0+bmV4dF9wYWdlX2lkeFtjcHVdXTsKK30KKworc3RhdGljIHN0cnVjdCB0cmFjZV9lbnRyeSAqCitmaW5kX25leHRfZW50cnkoc3RydWN0IHRyYWNlX2l0ZXJhdG9yICppdGVyLCBpbnQgKmVudF9jcHUpCit7CisJc3RydWN0IHRyYWNlX2FycmF5ICp0ciA9IGl0ZXItPnRyOworCXN0cnVjdCB0cmFjZV9lbnRyeSAqZW50LCAqbmV4dCA9IE5VTEw7CisJaW50IG5leHRfY3B1ID0gLTE7CisJaW50IGNwdTsKKworCWZvcl9lYWNoX3RyYWNpbmdfY3B1KGNwdSkgeworCQlpZiAoIWhlYWRfcGFnZSh0ci0+ZGF0YVtjcHVdKSkKKwkJCWNvbnRpbnVlOworCQllbnQgPSB0cmFjZV9lbnRyeV9pZHgodHIsIHRyLT5kYXRhW2NwdV0sIGl0ZXIsIGNwdSk7CisJCS8qCisJCSAqIFBpY2sgdGhlIGVudHJ5IHdpdGggdGhlIHNtYWxsZXN0IHRpbWVzdGFtcDoKKwkJICovCisJCWlmIChlbnQgJiYgKCFuZXh0IHx8IGVudC0+dCA8IG5leHQtPnQpKSB7CisJCQluZXh0ID0gZW50OworCQkJbmV4dF9jcHUgPSBjcHU7CisJCX0KKwl9CisKKwlpZiAoZW50X2NwdSkKKwkJKmVudF9jcHUgPSBuZXh0X2NwdTsKKworCXJldHVybiBuZXh0OworfQorCitzdGF0aWMgdm9pZCB0cmFjZV9pdGVyYXRvcl9pbmNyZW1lbnQoc3RydWN0IHRyYWNlX2l0ZXJhdG9yICppdGVyKQoreworCWl0ZXItPmlkeCsrOworCWl0ZXItPm5leHRfaWR4W2l0ZXItPmNwdV0rKzsKKwlpdGVyLT5uZXh0X3BhZ2VfaWR4W2l0ZXItPmNwdV0rKzsKKworCWlmIChpdGVyLT5uZXh0X3BhZ2VfaWR4W2l0ZXItPmNwdV0gPj0gRU5UUklFU19QRVJfUEFHRSkgeworCQlzdHJ1Y3QgdHJhY2VfYXJyYXlfY3B1ICpkYXRhID0gaXRlci0+dHItPmRhdGFbaXRlci0+Y3B1XTsKKworCQlpdGVyLT5uZXh0X3BhZ2VfaWR4W2l0ZXItPmNwdV0gPSAwOworCQlpdGVyLT5uZXh0X3BhZ2VbaXRlci0+Y3B1XSA9CisJCQl0cmFjZV9uZXh0X2xpc3QoZGF0YSwgaXRlci0+bmV4dF9wYWdlW2l0ZXItPmNwdV0pOworCX0KK30KKworc3RhdGljIHZvaWQgdHJhY2VfY29uc3VtZShzdHJ1Y3QgdHJhY2VfaXRlcmF0b3IgKml0ZXIpCit7CisJc3RydWN0IHRyYWNlX2FycmF5X2NwdSAqZGF0YSA9IGl0ZXItPnRyLT5kYXRhW2l0ZXItPmNwdV07CisKKwlkYXRhLT50cmFjZV90YWlsX2lkeCsrOworCWlmIChkYXRhLT50cmFjZV90YWlsX2lkeCA+PSBFTlRSSUVTX1BFUl9QQUdFKSB7CisJCWRhdGEtPnRyYWNlX3RhaWwgPSB0cmFjZV9uZXh0X3BhZ2UoZGF0YSwgZGF0YS0+dHJhY2VfdGFpbCk7CisJCWRhdGEtPnRyYWNlX3RhaWxfaWR4ID0gMDsKKwl9CisKKwkvKiBDaGVjayBpZiB3ZSBlbXB0eSBpdCwgdGhlbiByZXNldCB0aGUgaW5kZXggKi8KKwlpZiAoZGF0YS0+dHJhY2VfaGVhZCA9PSBkYXRhLT50cmFjZV90YWlsICYmCisJICAgIGRhdGEtPnRyYWNlX2hlYWRfaWR4ID09IGRhdGEtPnRyYWNlX3RhaWxfaWR4KQorCQlkYXRhLT50cmFjZV9pZHggPSAwOworfQorCitzdGF0aWMgdm9pZCAqZmluZF9uZXh0X2VudHJ5X2luYyhzdHJ1Y3QgdHJhY2VfaXRlcmF0b3IgKml0ZXIpCit7CisJc3RydWN0IHRyYWNlX2VudHJ5ICpuZXh0OworCWludCBuZXh0X2NwdSA9IC0xOworCisJbmV4dCA9IGZpbmRfbmV4dF9lbnRyeShpdGVyLCAmbmV4dF9jcHUpOworCisJaXRlci0+cHJldl9lbnQgPSBpdGVyLT5lbnQ7CisJaXRlci0+cHJldl9jcHUgPSBpdGVyLT5jcHU7CisKKwlpdGVyLT5lbnQgPSBuZXh0OworCWl0ZXItPmNwdSA9IG5leHRfY3B1OworCisJaWYgKG5leHQpCisJCXRyYWNlX2l0ZXJhdG9yX2luY3JlbWVudChpdGVyKTsKKworCXJldHVybiBuZXh0ID8gaXRlciA6IE5VTEw7Cit9CisKK3N0YXRpYyB2b2lkICpzX25leHQoc3RydWN0IHNlcV9maWxlICptLCB2b2lkICp2LCBsb2ZmX3QgKnBvcykKK3sKKwlzdHJ1Y3QgdHJhY2VfaXRlcmF0b3IgKml0ZXIgPSBtLT5wcml2YXRlOworCXZvaWQgKmxhc3RfZW50ID0gaXRlci0+ZW50OworCWludCBpID0gKGludCkqcG9zOworCXZvaWQgKmVudDsKKworCSgqcG9zKSsrOworCisJLyogY2FuJ3QgZ28gYmFja3dhcmRzICovCisJaWYgKGl0ZXItPmlkeCA+IGkpCisJCXJldHVybiBOVUxMOworCisJaWYgKGl0ZXItPmlkeCA8IDApCisJCWVudCA9IGZpbmRfbmV4dF9lbnRyeV9pbmMoaXRlcik7CisJZWxzZQorCQllbnQgPSBpdGVyOworCisJd2hpbGUgKGVudCAmJiBpdGVyLT5pZHggPCBpKQorCQllbnQgPSBmaW5kX25leHRfZW50cnlfaW5jKGl0ZXIpOworCisJaXRlci0+cG9zID0gKnBvczsKKworCWlmIChsYXN0X2VudCAmJiAhZW50KQorCQlzZXFfcHV0cyhtLCAiXG5cbnZpbTpmdD1oZWxwXG4iKTsKKworCXJldHVybiBlbnQ7Cit9CisKK3N0YXRpYyB2b2lkICpzX3N0YXJ0KHN0cnVjdCBzZXFfZmlsZSAqbSwgbG9mZl90ICpwb3MpCit7CisJc3RydWN0IHRyYWNlX2l0ZXJhdG9yICppdGVyID0gbS0+cHJpdmF0ZTsKKwl2b2lkICpwID0gTlVMTDsKKwlsb2ZmX3QgbCA9IDA7CisJaW50IGk7CisKKwltdXRleF9sb2NrKCZ0cmFjZV90eXBlc19sb2NrKTsKKworCWlmICghY3VycmVudF90cmFjZSB8fCBjdXJyZW50X3RyYWNlICE9IGl0ZXItPnRyYWNlKSB7CisJCW11dGV4X3VubG9jaygmdHJhY2VfdHlwZXNfbG9jayk7CisJCXJldHVybiBOVUxMOworCX0KKworCWF0b21pY19pbmMoJnRyYWNlX3JlY29yZF9jbWRsaW5lX2Rpc2FibGVkKTsKKworCS8qIGxldCB0aGUgdHJhY2VyIGdyYWIgbG9ja3MgaGVyZSBpZiBuZWVkZWQgKi8KKwlpZiAoY3VycmVudF90cmFjZS0+c3RhcnQpCisJCWN1cnJlbnRfdHJhY2UtPnN0YXJ0KGl0ZXIpOworCisJaWYgKCpwb3MgIT0gaXRlci0+cG9zKSB7CisJCWl0ZXItPmVudCA9IE5VTEw7CisJCWl0ZXItPmNwdSA9IDA7CisJCWl0ZXItPmlkeCA9IC0xOworCQlpdGVyLT5wcmV2X2VudCA9IE5VTEw7CisJCWl0ZXItPnByZXZfY3B1ID0gLTE7CisKKwkJZm9yX2VhY2hfdHJhY2luZ19jcHUoaSkgeworCQkJaXRlci0+bmV4dF9pZHhbaV0gPSAwOworCQkJaXRlci0+bmV4dF9wYWdlW2ldID0gTlVMTDsKKwkJfQorCisJCWZvciAocCA9IGl0ZXI7IHAgJiYgbCA8ICpwb3M7IHAgPSBzX25leHQobSwgcCwgJmwpKQorCQkJOworCisJfSBlbHNlIHsKKwkJbCA9ICpwb3MgLSAxOworCQlwID0gc19uZXh0KG0sIHAsICZsKTsKKwl9CisKKwlyZXR1cm4gcDsKK30KKworc3RhdGljIHZvaWQgc19zdG9wKHN0cnVjdCBzZXFfZmlsZSAqbSwgdm9pZCAqcCkKK3sKKwlzdHJ1Y3QgdHJhY2VfaXRlcmF0b3IgKml0ZXIgPSBtLT5wcml2YXRlOworCisJYXRvbWljX2RlYygmdHJhY2VfcmVjb3JkX2NtZGxpbmVfZGlzYWJsZWQpOworCisJLyogbGV0IHRoZSB0cmFjZXIgcmVsZWFzZSBsb2NrcyBoZXJlIGlmIG5lZWRlZCAqLworCWlmIChjdXJyZW50X3RyYWNlICYmIGN1cnJlbnRfdHJhY2UgPT0gaXRlci0+dHJhY2UgJiYgaXRlci0+dHJhY2UtPnN0b3ApCisJCWl0ZXItPnRyYWNlLT5zdG9wKGl0ZXIpOworCisJbXV0ZXhfdW5sb2NrKCZ0cmFjZV90eXBlc19sb2NrKTsKK30KKworI2RlZmluZSBLUkVUUFJPQkVfTVNHICJbdW5rbm93bi9rcmV0cHJvYmUnZF0iCisKKyNpZmRlZiBDT05GSUdfS1JFVFBST0JFUworc3RhdGljIGlubGluZSBpbnQga3JldHByb2JlZCh1bnNpZ25lZCBsb25nIGFkZHIpCit7CisJcmV0dXJuIGFkZHIgPT0gKHVuc2lnbmVkIGxvbmcpa3JldHByb2JlX3RyYW1wb2xpbmU7Cit9CisjZWxzZQorc3RhdGljIGlubGluZSBpbnQga3JldHByb2JlZCh1bnNpZ25lZCBsb25nIGFkZHIpCit7CisJcmV0dXJuIDA7Cit9CisjZW5kaWYgLyogQ09ORklHX0tSRVRQUk9CRVMgKi8KKworc3RhdGljIGludAorc2VxX3ByaW50X3N5bV9zaG9ydChzdHJ1Y3QgdHJhY2Vfc2VxICpzLCBjb25zdCBjaGFyICpmbXQsIHVuc2lnbmVkIGxvbmcgYWRkcmVzcykKK3sKKyNpZmRlZiBDT05GSUdfS0FMTFNZTVMKKwljaGFyIHN0cltLU1lNX1NZTUJPTF9MRU5dOworCisJa2FsbHN5bXNfbG9va3VwKGFkZHJlc3MsIE5VTEwsIE5VTEwsIE5VTEwsIHN0cik7CisKKwlyZXR1cm4gdHJhY2Vfc2VxX3ByaW50ZihzLCBmbXQsIHN0cik7CisjZW5kaWYKKwlyZXR1cm4gMTsKK30KKworc3RhdGljIGludAorc2VxX3ByaW50X3N5bV9vZmZzZXQoc3RydWN0IHRyYWNlX3NlcSAqcywgY29uc3QgY2hhciAqZm10LAorCQkgICAgIHVuc2lnbmVkIGxvbmcgYWRkcmVzcykKK3sKKyNpZmRlZiBDT05GSUdfS0FMTFNZTVMKKwljaGFyIHN0cltLU1lNX1NZTUJPTF9MRU5dOworCisJc3ByaW50X3N5bWJvbChzdHIsIGFkZHJlc3MpOworCXJldHVybiB0cmFjZV9zZXFfcHJpbnRmKHMsIGZtdCwgc3RyKTsKKyNlbmRpZgorCXJldHVybiAxOworfQorCisjaWZuZGVmIENPTkZJR182NEJJVAorIyBkZWZpbmUgSVBfRk1UICIlMDhseCIKKyNlbHNlCisjIGRlZmluZSBJUF9GTVQgIiUwMTZseCIKKyNlbmRpZgorCitzdGF0aWMgaW50CitzZXFfcHJpbnRfaXBfc3ltKHN0cnVjdCB0cmFjZV9zZXEgKnMsIHVuc2lnbmVkIGxvbmcgaXAsIHVuc2lnbmVkIGxvbmcgc3ltX2ZsYWdzKQoreworCWludCByZXQ7CisKKwlpZiAoIWlwKQorCQlyZXR1cm4gdHJhY2Vfc2VxX3ByaW50ZihzLCAiMCIpOworCisJaWYgKHN5bV9mbGFncyAmIFRSQUNFX0lURVJfU1lNX09GRlNFVCkKKwkJcmV0ID0gc2VxX3ByaW50X3N5bV9vZmZzZXQocywgIiVzIiwgaXApOworCWVsc2UKKwkJcmV0ID0gc2VxX3ByaW50X3N5bV9zaG9ydChzLCAiJXMiLCBpcCk7CisKKwlpZiAoIXJldCkKKwkJcmV0dXJuIDA7CisKKwlpZiAoc3ltX2ZsYWdzICYgVFJBQ0VfSVRFUl9TWU1fQUREUikKKwkJcmV0ID0gdHJhY2Vfc2VxX3ByaW50ZihzLCAiIDwiIElQX0ZNVCAiPiIsIGlwKTsKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgdm9pZCBwcmludF9sYXRfaGVscF9oZWFkZXIoc3RydWN0IHNlcV9maWxlICptKQoreworCXNlcV9wdXRzKG0sICIjICAgICAgICAgICAgICAgIF8tLS0tLS09PiBDUFUjICAgICAgICAgICAgXG4iKTsKKwlzZXFfcHV0cyhtLCAiIyAgICAgICAgICAgICAgIC8gXy0tLS0tPT4gaXJxcy1vZmYgICAgICAgIFxuIik7CisJc2VxX3B1dHMobSwgIiMgICAgICAgICAgICAgIHwgLyBfLS0tLT0+IG5lZWQtcmVzY2hlZCAgICBcbiIpOworCXNlcV9wdXRzKG0sICIjICAgICAgICAgICAgICB8fCAvIF8tLS09PiBoYXJkaXJxL3NvZnRpcnEgXG4iKTsKKwlzZXFfcHV0cyhtLCAiIyAgICAgICAgICAgICAgfHx8IC8gXy0tPT4gcHJlZW1wdC1kZXB0aCAgIFxuIik7CisJc2VxX3B1dHMobSwgIiMgICAgICAgICAgICAgIHx8fHwgLyAgICAgICAgICAgICAgICAgICAgICBcbiIpOworCXNlcV9wdXRzKG0sICIjICAgICAgICAgICAgICB8fHx8fCAgICAgZGVsYXkgICAgICAgICAgICAgXG4iKTsKKwlzZXFfcHV0cyhtLCAiIyAgY21kICAgICBwaWQgfHx8fHwgdGltZSAgfCAgIGNhbGxlciAgICAgIFxuIik7CisJc2VxX3B1dHMobSwgIiMgICAgIFxcICAgLyAgICB8fHx8fCAgIFxcICAgfCAgIC8gICAgICAgICAgIFxuIik7Cit9CisKK3N0YXRpYyB2b2lkIHByaW50X2Z1bmNfaGVscF9oZWFkZXIoc3RydWN0IHNlcV9maWxlICptKQoreworCXNlcV9wdXRzKG0sICIjICAgICAgICAgICBUQVNLLVBJRCAgIENQVSMgICAgVElNRVNUQU1QICBGVU5DVElPTlxuIik7CisJc2VxX3B1dHMobSwgIiMgICAgICAgICAgICAgIHwgfCAgICAgIHwgICAgICAgICAgfCAgICAgICAgIHxcbiIpOworfQorCisKK3N0YXRpYyB2b2lkCitwcmludF90cmFjZV9oZWFkZXIoc3RydWN0IHNlcV9maWxlICptLCBzdHJ1Y3QgdHJhY2VfaXRlcmF0b3IgKml0ZXIpCit7CisJdW5zaWduZWQgbG9uZyBzeW1fZmxhZ3MgPSAodHJhY2VfZmxhZ3MgJiBUUkFDRV9JVEVSX1NZTV9NQVNLKTsKKwlzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyID0gaXRlci0+dHI7CisJc3RydWN0IHRyYWNlX2FycmF5X2NwdSAqZGF0YSA9IHRyLT5kYXRhW3RyLT5jcHVdOworCXN0cnVjdCB0cmFjZXIgKnR5cGUgPSBjdXJyZW50X3RyYWNlOworCXVuc2lnbmVkIGxvbmcgdG90YWwgICA9IDA7CisJdW5zaWduZWQgbG9uZyBlbnRyaWVzID0gMDsKKwlpbnQgY3B1OworCWNvbnN0IGNoYXIgKm5hbWUgPSAicHJlZW1wdGlvbiI7CisKKwlpZiAodHlwZSkKKwkJbmFtZSA9IHR5cGUtPm5hbWU7CisKKwlmb3JfZWFjaF90cmFjaW5nX2NwdShjcHUpIHsKKwkJaWYgKGhlYWRfcGFnZSh0ci0+ZGF0YVtjcHVdKSkgeworCQkJdG90YWwgKz0gdHItPmRhdGFbY3B1XS0+dHJhY2VfaWR4OworCQkJaWYgKHRyLT5kYXRhW2NwdV0tPnRyYWNlX2lkeCA+IHRyLT5lbnRyaWVzKQorCQkJCWVudHJpZXMgKz0gdHItPmVudHJpZXM7CisJCQllbHNlCisJCQkJZW50cmllcyArPSB0ci0+ZGF0YVtjcHVdLT50cmFjZV9pZHg7CisJCX0KKwl9CisKKwlzZXFfcHJpbnRmKG0sICIlcyBsYXRlbmN5IHRyYWNlIHYxLjEuNSBvbiAlc1xuIiwKKwkJICAgbmFtZSwgVVRTX1JFTEVBU0UpOworCXNlcV9wdXRzKG0sICItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSIKKwkJICItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIpOworCXNlcV9wcmludGYobSwgIiBsYXRlbmN5OiAlbHUgdXMsICMlbHUvJWx1LCBDUFUjJWQgfCIKKwkJICAgIiAoTTolcyBWUDolZCwgS1A6JWQsIFNQOiVkIEhQOiVkIiwKKwkJICAgbnNlY3NfdG9fdXNlY3MoZGF0YS0+c2F2ZWRfbGF0ZW5jeSksCisJCSAgIGVudHJpZXMsCisJCSAgIHRvdGFsLAorCQkgICB0ci0+Y3B1LAorI2lmIGRlZmluZWQoQ09ORklHX1BSRUVNUFRfTk9ORSkKKwkJICAgInNlcnZlciIsCisjZWxpZiBkZWZpbmVkKENPTkZJR19QUkVFTVBUX1ZPTFVOVEFSWSkKKwkJICAgImRlc2t0b3AiLAorI2VsaWYgZGVmaW5lZChDT05GSUdfUFJFRU1QVCkKKwkJICAgInByZWVtcHQiLAorI2Vsc2UKKwkJICAgInVua25vd24iLAorI2VuZGlmCisJCSAgIC8qIFRoZXNlIGFyZSByZXNlcnZlZCBmb3IgbGF0ZXIgdXNlICovCisJCSAgIDAsIDAsIDAsIDApOworI2lmZGVmIENPTkZJR19TTVAKKwlzZXFfcHJpbnRmKG0sICIgI1A6JWQpXG4iLCBudW1fb25saW5lX2NwdXMoKSk7CisjZWxzZQorCXNlcV9wdXRzKG0sICIpXG4iKTsKKyNlbmRpZgorCXNlcV9wdXRzKG0sICIgICAgLS0tLS0tLS0tLS0tLS0tLS1cbiIpOworCXNlcV9wcmludGYobSwgIiAgICB8IHRhc2s6ICUuMTZzLSVkICIKKwkJICAgIih1aWQ6JWQgbmljZTolbGQgcG9saWN5OiVsZCBydF9wcmlvOiVsZClcbiIsCisJCSAgIGRhdGEtPmNvbW0sIGRhdGEtPnBpZCwgZGF0YS0+dWlkLCBkYXRhLT5uaWNlLAorCQkgICBkYXRhLT5wb2xpY3ksIGRhdGEtPnJ0X3ByaW9yaXR5KTsKKwlzZXFfcHV0cyhtLCAiICAgIC0tLS0tLS0tLS0tLS0tLS0tXG4iKTsKKworCWlmIChkYXRhLT5jcml0aWNhbF9zdGFydCkgeworCQlzZXFfcHV0cyhtLCAiID0+IHN0YXJ0ZWQgYXQ6ICIpOworCQlzZXFfcHJpbnRfaXBfc3ltKCZpdGVyLT5zZXEsIGRhdGEtPmNyaXRpY2FsX3N0YXJ0LCBzeW1fZmxhZ3MpOworCQl0cmFjZV9wcmludF9zZXEobSwgJml0ZXItPnNlcSk7CisJCXNlcV9wdXRzKG0sICJcbiA9PiBlbmRlZCBhdDogICAiKTsKKwkJc2VxX3ByaW50X2lwX3N5bSgmaXRlci0+c2VxLCBkYXRhLT5jcml0aWNhbF9lbmQsIHN5bV9mbGFncyk7CisJCXRyYWNlX3ByaW50X3NlcShtLCAmaXRlci0+c2VxKTsKKwkJc2VxX3B1dHMobSwgIlxuIik7CisJfQorCisJc2VxX3B1dHMobSwgIlxuIik7Cit9CisKK3N0YXRpYyB2b2lkCitsYXRfcHJpbnRfZ2VuZXJpYyhzdHJ1Y3QgdHJhY2Vfc2VxICpzLCBzdHJ1Y3QgdHJhY2VfZW50cnkgKmVudHJ5LCBpbnQgY3B1KQoreworCWludCBoYXJkaXJxLCBzb2Z0aXJxOworCWNoYXIgKmNvbW07CisKKwljb21tID0gdHJhY2VfZmluZF9jbWRsaW5lKGVudHJ5LT5waWQpOworCisJdHJhY2Vfc2VxX3ByaW50ZihzLCAiJTguOHMtJS01ZCAiLCBjb21tLCBlbnRyeS0+cGlkKTsKKwl0cmFjZV9zZXFfcHJpbnRmKHMsICIlZCIsIGNwdSk7CisJdHJhY2Vfc2VxX3ByaW50ZihzLCAiJWMlYyIsCisJCQkoZW50cnktPmZsYWdzICYgVFJBQ0VfRkxBR19JUlFTX09GRikgPyAnZCcgOiAnLicsCisJCQkoKGVudHJ5LT5mbGFncyAmIFRSQUNFX0ZMQUdfTkVFRF9SRVNDSEVEKSA/ICdOJyA6ICcuJykpOworCisJaGFyZGlycSA9IGVudHJ5LT5mbGFncyAmIFRSQUNFX0ZMQUdfSEFSRElSUTsKKwlzb2Z0aXJxID0gZW50cnktPmZsYWdzICYgVFJBQ0VfRkxBR19TT0ZUSVJROworCWlmIChoYXJkaXJxICYmIHNvZnRpcnEpIHsKKwkJdHJhY2Vfc2VxX3B1dGMocywgJ0gnKTsKKwl9IGVsc2UgeworCQlpZiAoaGFyZGlycSkgeworCQkJdHJhY2Vfc2VxX3B1dGMocywgJ2gnKTsKKwkJfSBlbHNlIHsKKwkJCWlmIChzb2Z0aXJxKQorCQkJCXRyYWNlX3NlcV9wdXRjKHMsICdzJyk7CisJCQllbHNlCisJCQkJdHJhY2Vfc2VxX3B1dGMocywgJy4nKTsKKwkJfQorCX0KKworCWlmIChlbnRyeS0+cHJlZW1wdF9jb3VudCkKKwkJdHJhY2Vfc2VxX3ByaW50ZihzLCAiJXgiLCBlbnRyeS0+cHJlZW1wdF9jb3VudCk7CisJZWxzZQorCQl0cmFjZV9zZXFfcHV0cyhzLCAiLiIpOworfQorCit1bnNpZ25lZCBsb25nIHByZWVtcHRfbWFya190aHJlc2ggPSAxMDA7CisKK3N0YXRpYyB2b2lkCitsYXRfcHJpbnRfdGltZXN0YW1wKHN0cnVjdCB0cmFjZV9zZXEgKnMsIHVuc2lnbmVkIGxvbmcgbG9uZyBhYnNfdXNlY3MsCisJCSAgICB1bnNpZ25lZCBsb25nIHJlbF91c2VjcykKK3sKKwl0cmFjZV9zZXFfcHJpbnRmKHMsICIgJTRsbGR1cyIsIGFic191c2Vjcyk7CisJaWYgKHJlbF91c2VjcyA+IHByZWVtcHRfbWFya190aHJlc2gpCisJCXRyYWNlX3NlcV9wdXRzKHMsICIhOiAiKTsKKwllbHNlIGlmIChyZWxfdXNlY3MgPiAxKQorCQl0cmFjZV9zZXFfcHV0cyhzLCAiKzogIik7CisJZWxzZQorCQl0cmFjZV9zZXFfcHV0cyhzLCAiIDogIik7Cit9CisKK3N0YXRpYyBjb25zdCBjaGFyIHN0YXRlX3RvX2NoYXJbXSA9IFRBU0tfU1RBVEVfVE9fQ0hBUl9TVFI7CisKK3N0YXRpYyBpbnQKK3ByaW50X2xhdF9mbXQoc3RydWN0IHRyYWNlX2l0ZXJhdG9yICppdGVyLCB1bnNpZ25lZCBpbnQgdHJhY2VfaWR4LCBpbnQgY3B1KQoreworCXN0cnVjdCB0cmFjZV9zZXEgKnMgPSAmaXRlci0+c2VxOworCXVuc2lnbmVkIGxvbmcgc3ltX2ZsYWdzID0gKHRyYWNlX2ZsYWdzICYgVFJBQ0VfSVRFUl9TWU1fTUFTSyk7CisJc3RydWN0IHRyYWNlX2VudHJ5ICpuZXh0X2VudHJ5ID0gZmluZF9uZXh0X2VudHJ5KGl0ZXIsIE5VTEwpOworCXVuc2lnbmVkIGxvbmcgdmVyYm9zZSA9ICh0cmFjZV9mbGFncyAmIFRSQUNFX0lURVJfVkVSQk9TRSk7CisJc3RydWN0IHRyYWNlX2VudHJ5ICplbnRyeSA9IGl0ZXItPmVudDsKKwl1bnNpZ25lZCBsb25nIGFic191c2VjczsKKwl1bnNpZ25lZCBsb25nIHJlbF91c2VjczsKKwljaGFyICpjb21tOworCWludCBTLCBUOworCWludCBpOworCXVuc2lnbmVkIHN0YXRlOworCisJaWYgKCFuZXh0X2VudHJ5KQorCQluZXh0X2VudHJ5ID0gZW50cnk7CisJcmVsX3VzZWNzID0gbnMydXNlY3MobmV4dF9lbnRyeS0+dCAtIGVudHJ5LT50KTsKKwlhYnNfdXNlY3MgPSBuczJ1c2VjcyhlbnRyeS0+dCAtIGl0ZXItPnRyLT50aW1lX3N0YXJ0KTsKKworCWlmICh2ZXJib3NlKSB7CisJCWNvbW0gPSB0cmFjZV9maW5kX2NtZGxpbmUoZW50cnktPnBpZCk7CisJCXRyYWNlX3NlcV9wcmludGYocywgIiUxNnMgJTVkICVkICVkICUwOHggJTA4eCBbJTA4bHhdIgorCQkJCSAiICVsZC4lMDNsZG1zICgrJWxkLiUwM2xkbXMpOiAiLAorCQkJCSBjb21tLAorCQkJCSBlbnRyeS0+cGlkLCBjcHUsIGVudHJ5LT5mbGFncywKKwkJCQkgZW50cnktPnByZWVtcHRfY291bnQsIHRyYWNlX2lkeCwKKwkJCQkgbnMydXNlY3MoZW50cnktPnQpLAorCQkJCSBhYnNfdXNlY3MvMTAwMCwKKwkJCQkgYWJzX3VzZWNzICUgMTAwMCwgcmVsX3VzZWNzLzEwMDAsCisJCQkJIHJlbF91c2VjcyAlIDEwMDApOworCX0gZWxzZSB7CisJCWxhdF9wcmludF9nZW5lcmljKHMsIGVudHJ5LCBjcHUpOworCQlsYXRfcHJpbnRfdGltZXN0YW1wKHMsIGFic191c2VjcywgcmVsX3VzZWNzKTsKKwl9CisJc3dpdGNoIChlbnRyeS0+dHlwZSkgeworCWNhc2UgVFJBQ0VfRk46CisJCXNlcV9wcmludF9pcF9zeW0ocywgZW50cnktPmZuLmlwLCBzeW1fZmxhZ3MpOworCQl0cmFjZV9zZXFfcHV0cyhzLCAiICgiKTsKKwkJaWYgKGtyZXRwcm9iZWQoZW50cnktPmZuLnBhcmVudF9pcCkpCisJCQl0cmFjZV9zZXFfcHV0cyhzLCBLUkVUUFJPQkVfTVNHKTsKKwkJZWxzZQorCQkJc2VxX3ByaW50X2lwX3N5bShzLCBlbnRyeS0+Zm4ucGFyZW50X2lwLCBzeW1fZmxhZ3MpOworCQl0cmFjZV9zZXFfcHV0cyhzLCAiKVxuIik7CisJCWJyZWFrOworCWNhc2UgVFJBQ0VfQ1RYOgorCWNhc2UgVFJBQ0VfV0FLRToKKwkJVCA9IGVudHJ5LT5jdHgubmV4dF9zdGF0ZSA8IHNpemVvZihzdGF0ZV90b19jaGFyKSA/CisJCQlzdGF0ZV90b19jaGFyW2VudHJ5LT5jdHgubmV4dF9zdGF0ZV0gOiAnWCc7CisKKwkJc3RhdGUgPSBlbnRyeS0+Y3R4LnByZXZfc3RhdGUgPyBfX2ZmcyhlbnRyeS0+Y3R4LnByZXZfc3RhdGUpICsgMSA6IDA7CisJCVMgPSBzdGF0ZSA8IHNpemVvZihzdGF0ZV90b19jaGFyKSAtIDEgPyBzdGF0ZV90b19jaGFyW3N0YXRlXSA6ICdYJzsKKwkJY29tbSA9IHRyYWNlX2ZpbmRfY21kbGluZShlbnRyeS0+Y3R4Lm5leHRfcGlkKTsKKwkJdHJhY2Vfc2VxX3ByaW50ZihzLCAiICU1ZDolM2Q6JWMgJXMgJTVkOiUzZDolYyAlc1xuIiwKKwkJCQkgZW50cnktPmN0eC5wcmV2X3BpZCwKKwkJCQkgZW50cnktPmN0eC5wcmV2X3ByaW8sCisJCQkJIFMsIGVudHJ5LT50eXBlID09IFRSQUNFX0NUWCA/ICI9PT4iIDogIiAgKyIsCisJCQkJIGVudHJ5LT5jdHgubmV4dF9waWQsCisJCQkJIGVudHJ5LT5jdHgubmV4dF9wcmlvLAorCQkJCSBULCBjb21tKTsKKwkJYnJlYWs7CisJY2FzZSBUUkFDRV9TUEVDSUFMOgorCQl0cmFjZV9zZXFfcHJpbnRmKHMsICIjICVsZCAlbGQgJWxkXG4iLAorCQkJCSBlbnRyeS0+c3BlY2lhbC5hcmcxLAorCQkJCSBlbnRyeS0+c3BlY2lhbC5hcmcyLAorCQkJCSBlbnRyeS0+c3BlY2lhbC5hcmczKTsKKwkJYnJlYWs7CisJY2FzZSBUUkFDRV9TVEFDSzoKKwkJZm9yIChpID0gMDsgaSA8IEZUUkFDRV9TVEFDS19FTlRSSUVTOyBpKyspIHsKKwkJCWlmIChpKQorCQkJCXRyYWNlX3NlcV9wdXRzKHMsICIgPD0gIik7CisJCQlzZXFfcHJpbnRfaXBfc3ltKHMsIGVudHJ5LT5zdGFjay5jYWxsZXJbaV0sIHN5bV9mbGFncyk7CisJCX0KKwkJdHJhY2Vfc2VxX3B1dHMocywgIlxuIik7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCXRyYWNlX3NlcV9wcmludGYocywgIlVua25vd24gdHlwZSAlZFxuIiwgZW50cnktPnR5cGUpOworCX0KKwlyZXR1cm4gMTsKK30KKworc3RhdGljIGludCBwcmludF90cmFjZV9mbXQoc3RydWN0IHRyYWNlX2l0ZXJhdG9yICppdGVyKQoreworCXN0cnVjdCB0cmFjZV9zZXEgKnMgPSAmaXRlci0+c2VxOworCXVuc2lnbmVkIGxvbmcgc3ltX2ZsYWdzID0gKHRyYWNlX2ZsYWdzICYgVFJBQ0VfSVRFUl9TWU1fTUFTSyk7CisJc3RydWN0IHRyYWNlX2VudHJ5ICplbnRyeTsKKwl1bnNpZ25lZCBsb25nIHVzZWNfcmVtOworCXVuc2lnbmVkIGxvbmcgbG9uZyB0OworCXVuc2lnbmVkIGxvbmcgc2VjczsKKwljaGFyICpjb21tOworCWludCByZXQ7CisJaW50IFMsIFQ7CisJaW50IGk7CisKKwllbnRyeSA9IGl0ZXItPmVudDsKKworCWNvbW0gPSB0cmFjZV9maW5kX2NtZGxpbmUoaXRlci0+ZW50LT5waWQpOworCisJdCA9IG5zMnVzZWNzKGVudHJ5LT50KTsKKwl1c2VjX3JlbSA9IGRvX2Rpdih0LCAxMDAwMDAwVUxMKTsKKwlzZWNzID0gKHVuc2lnbmVkIGxvbmcpdDsKKworCXJldCA9IHRyYWNlX3NlcV9wcmludGYocywgIiUxNnMtJS01ZCAiLCBjb21tLCBlbnRyeS0+cGlkKTsKKwlpZiAoIXJldCkKKwkJcmV0dXJuIDA7CisJcmV0ID0gdHJhY2Vfc2VxX3ByaW50ZihzLCAiWyUwMmRdICIsIGl0ZXItPmNwdSk7CisJaWYgKCFyZXQpCisJCXJldHVybiAwOworCXJldCA9IHRyYWNlX3NlcV9wcmludGYocywgIiU1bHUuJTA2bHU6ICIsIHNlY3MsIHVzZWNfcmVtKTsKKwlpZiAoIXJldCkKKwkJcmV0dXJuIDA7CisKKwlzd2l0Y2ggKGVudHJ5LT50eXBlKSB7CisJY2FzZSBUUkFDRV9GTjoKKwkJcmV0ID0gc2VxX3ByaW50X2lwX3N5bShzLCBlbnRyeS0+Zm4uaXAsIHN5bV9mbGFncyk7CisJCWlmICghcmV0KQorCQkJcmV0dXJuIDA7CisJCWlmICgoc3ltX2ZsYWdzICYgVFJBQ0VfSVRFUl9QUklOVF9QQVJFTlQpICYmCisJCQkJCQllbnRyeS0+Zm4ucGFyZW50X2lwKSB7CisJCQlyZXQgPSB0cmFjZV9zZXFfcHJpbnRmKHMsICIgPC0iKTsKKwkJCWlmICghcmV0KQorCQkJCXJldHVybiAwOworCQkJaWYgKGtyZXRwcm9iZWQoZW50cnktPmZuLnBhcmVudF9pcCkpCisJCQkJcmV0ID0gdHJhY2Vfc2VxX3B1dHMocywgS1JFVFBST0JFX01TRyk7CisJCQllbHNlCisJCQkJcmV0ID0gc2VxX3ByaW50X2lwX3N5bShzLCBlbnRyeS0+Zm4ucGFyZW50X2lwLAorCQkJCQkJICAgICAgIHN5bV9mbGFncyk7CisJCQlpZiAoIXJldCkKKwkJCQlyZXR1cm4gMDsKKwkJfQorCQlyZXQgPSB0cmFjZV9zZXFfcHJpbnRmKHMsICJcbiIpOworCQlpZiAoIXJldCkKKwkJCXJldHVybiAwOworCQlicmVhazsKKwljYXNlIFRSQUNFX0NUWDoKKwljYXNlIFRSQUNFX1dBS0U6CisJCVMgPSBlbnRyeS0+Y3R4LnByZXZfc3RhdGUgPCBzaXplb2Yoc3RhdGVfdG9fY2hhcikgPworCQkJc3RhdGVfdG9fY2hhcltlbnRyeS0+Y3R4LnByZXZfc3RhdGVdIDogJ1gnOworCQlUID0gZW50cnktPmN0eC5uZXh0X3N0YXRlIDwgc2l6ZW9mKHN0YXRlX3RvX2NoYXIpID8KKwkJCXN0YXRlX3RvX2NoYXJbZW50cnktPmN0eC5uZXh0X3N0YXRlXSA6ICdYJzsKKwkJcmV0ID0gdHJhY2Vfc2VxX3ByaW50ZihzLCAiICU1ZDolM2Q6JWMgJXMgJTVkOiUzZDolY1xuIiwKKwkJCQkgICAgICAgZW50cnktPmN0eC5wcmV2X3BpZCwKKwkJCQkgICAgICAgZW50cnktPmN0eC5wcmV2X3ByaW8sCisJCQkJICAgICAgIFMsCisJCQkJICAgICAgIGVudHJ5LT50eXBlID09IFRSQUNFX0NUWCA/ICI9PT4iIDogIiAgKyIsCisJCQkJICAgICAgIGVudHJ5LT5jdHgubmV4dF9waWQsCisJCQkJICAgICAgIGVudHJ5LT5jdHgubmV4dF9wcmlvLAorCQkJCSAgICAgICBUKTsKKwkJaWYgKCFyZXQpCisJCQlyZXR1cm4gMDsKKwkJYnJlYWs7CisJY2FzZSBUUkFDRV9TUEVDSUFMOgorCQlyZXQgPSB0cmFjZV9zZXFfcHJpbnRmKHMsICIjICVsZCAlbGQgJWxkXG4iLAorCQkJCSBlbnRyeS0+c3BlY2lhbC5hcmcxLAorCQkJCSBlbnRyeS0+c3BlY2lhbC5hcmcyLAorCQkJCSBlbnRyeS0+c3BlY2lhbC5hcmczKTsKKwkJaWYgKCFyZXQpCisJCQlyZXR1cm4gMDsKKwkJYnJlYWs7CisJY2FzZSBUUkFDRV9TVEFDSzoKKwkJZm9yIChpID0gMDsgaSA8IEZUUkFDRV9TVEFDS19FTlRSSUVTOyBpKyspIHsKKwkJCWlmIChpKSB7CisJCQkJcmV0ID0gdHJhY2Vfc2VxX3B1dHMocywgIiA8PSAiKTsKKwkJCQlpZiAoIXJldCkKKwkJCQkJcmV0dXJuIDA7CisJCQl9CisJCQlyZXQgPSBzZXFfcHJpbnRfaXBfc3ltKHMsIGVudHJ5LT5zdGFjay5jYWxsZXJbaV0sCisJCQkJCSAgICAgICBzeW1fZmxhZ3MpOworCQkJaWYgKCFyZXQpCisJCQkJcmV0dXJuIDA7CisJCX0KKwkJcmV0ID0gdHJhY2Vfc2VxX3B1dHMocywgIlxuIik7CisJCWlmICghcmV0KQorCQkJcmV0dXJuIDA7CisJCWJyZWFrOworCX0KKwlyZXR1cm4gMTsKK30KKworc3RhdGljIGludCBwcmludF9yYXdfZm10KHN0cnVjdCB0cmFjZV9pdGVyYXRvciAqaXRlcikKK3sKKwlzdHJ1Y3QgdHJhY2Vfc2VxICpzID0gJml0ZXItPnNlcTsKKwlzdHJ1Y3QgdHJhY2VfZW50cnkgKmVudHJ5OworCWludCByZXQ7CisJaW50IFMsIFQ7CisKKwllbnRyeSA9IGl0ZXItPmVudDsKKworCXJldCA9IHRyYWNlX3NlcV9wcmludGYocywgIiVkICVkICVsbHUgIiwKKwkJZW50cnktPnBpZCwgaXRlci0+Y3B1LCBlbnRyeS0+dCk7CisJaWYgKCFyZXQpCisJCXJldHVybiAwOworCisJc3dpdGNoIChlbnRyeS0+dHlwZSkgeworCWNhc2UgVFJBQ0VfRk46CisJCXJldCA9IHRyYWNlX3NlcV9wcmludGYocywgIiV4ICV4XG4iLAorCQkJCQllbnRyeS0+Zm4uaXAsIGVudHJ5LT5mbi5wYXJlbnRfaXApOworCQlpZiAoIXJldCkKKwkJCXJldHVybiAwOworCQlicmVhazsKKwljYXNlIFRSQUNFX0NUWDoKKwljYXNlIFRSQUNFX1dBS0U6CisJCVMgPSBlbnRyeS0+Y3R4LnByZXZfc3RhdGUgPCBzaXplb2Yoc3RhdGVfdG9fY2hhcikgPworCQkJc3RhdGVfdG9fY2hhcltlbnRyeS0+Y3R4LnByZXZfc3RhdGVdIDogJ1gnOworCQlUID0gZW50cnktPmN0eC5uZXh0X3N0YXRlIDwgc2l6ZW9mKHN0YXRlX3RvX2NoYXIpID8KKwkJCXN0YXRlX3RvX2NoYXJbZW50cnktPmN0eC5uZXh0X3N0YXRlXSA6ICdYJzsKKwkJaWYgKGVudHJ5LT50eXBlID09IFRSQUNFX1dBS0UpCisJCQlTID0gJysnOworCQlyZXQgPSB0cmFjZV9zZXFfcHJpbnRmKHMsICIlZCAlZCAlYyAlZCAlZCAlY1xuIiwKKwkJCQkgICAgICAgZW50cnktPmN0eC5wcmV2X3BpZCwKKwkJCQkgICAgICAgZW50cnktPmN0eC5wcmV2X3ByaW8sCisJCQkJICAgICAgIFMsCisJCQkJICAgICAgIGVudHJ5LT5jdHgubmV4dF9waWQsCisJCQkJICAgICAgIGVudHJ5LT5jdHgubmV4dF9wcmlvLAorCQkJCSAgICAgICBUKTsKKwkJaWYgKCFyZXQpCisJCQlyZXR1cm4gMDsKKwkJYnJlYWs7CisJY2FzZSBUUkFDRV9TUEVDSUFMOgorCWNhc2UgVFJBQ0VfU1RBQ0s6CisJCXJldCA9IHRyYWNlX3NlcV9wcmludGYocywgIiMgJWxkICVsZCAlbGRcbiIsCisJCQkJIGVudHJ5LT5zcGVjaWFsLmFyZzEsCisJCQkJIGVudHJ5LT5zcGVjaWFsLmFyZzIsCisJCQkJIGVudHJ5LT5zcGVjaWFsLmFyZzMpOworCQlpZiAoIXJldCkKKwkJCXJldHVybiAwOworCQlicmVhazsKKwl9CisJcmV0dXJuIDE7Cit9CisKKyNkZWZpbmUgU0VRX1BVVF9GSUVMRF9SRVQocywgeCkJCQkJXAorZG8gewkJCQkJCQlcCisJaWYgKCF0cmFjZV9zZXFfcHV0bWVtKHMsICYoeCksIHNpemVvZih4KSkpCVwKKwkJcmV0dXJuIDA7CQkJCVwKK30gd2hpbGUgKDApCisKKyNkZWZpbmUgU0VRX1BVVF9IRVhfRklFTERfUkVUKHMsIHgpCQkJXAorZG8gewkJCQkJCQlcCisJaWYgKCF0cmFjZV9zZXFfcHV0bWVtX2hleChzLCAmKHgpLCBzaXplb2YoeCkpKQlcCisJCXJldHVybiAwOwkJCQlcCit9IHdoaWxlICgwKQorCitzdGF0aWMgaW50IHByaW50X2hleF9mbXQoc3RydWN0IHRyYWNlX2l0ZXJhdG9yICppdGVyKQoreworCXN0cnVjdCB0cmFjZV9zZXEgKnMgPSAmaXRlci0+c2VxOworCXVuc2lnbmVkIGNoYXIgbmV3bGluZSA9ICdcbic7CisJc3RydWN0IHRyYWNlX2VudHJ5ICplbnRyeTsKKwlpbnQgUywgVDsKKworCWVudHJ5ID0gaXRlci0+ZW50OworCisJU0VRX1BVVF9IRVhfRklFTERfUkVUKHMsIGVudHJ5LT5waWQpOworCVNFUV9QVVRfSEVYX0ZJRUxEX1JFVChzLCBpdGVyLT5jcHUpOworCVNFUV9QVVRfSEVYX0ZJRUxEX1JFVChzLCBlbnRyeS0+dCk7CisKKwlzd2l0Y2ggKGVudHJ5LT50eXBlKSB7CisJY2FzZSBUUkFDRV9GTjoKKwkJU0VRX1BVVF9IRVhfRklFTERfUkVUKHMsIGVudHJ5LT5mbi5pcCk7CisJCVNFUV9QVVRfSEVYX0ZJRUxEX1JFVChzLCBlbnRyeS0+Zm4ucGFyZW50X2lwKTsKKwkJYnJlYWs7CisJY2FzZSBUUkFDRV9DVFg6CisJY2FzZSBUUkFDRV9XQUtFOgorCQlTID0gZW50cnktPmN0eC5wcmV2X3N0YXRlIDwgc2l6ZW9mKHN0YXRlX3RvX2NoYXIpID8KKwkJCXN0YXRlX3RvX2NoYXJbZW50cnktPmN0eC5wcmV2X3N0YXRlXSA6ICdYJzsKKwkJVCA9IGVudHJ5LT5jdHgubmV4dF9zdGF0ZSA8IHNpemVvZihzdGF0ZV90b19jaGFyKSA/CisJCQlzdGF0ZV90b19jaGFyW2VudHJ5LT5jdHgubmV4dF9zdGF0ZV0gOiAnWCc7CisJCWlmIChlbnRyeS0+dHlwZSA9PSBUUkFDRV9XQUtFKQorCQkJUyA9ICcrJzsKKwkJU0VRX1BVVF9IRVhfRklFTERfUkVUKHMsIGVudHJ5LT5jdHgucHJldl9waWQpOworCQlTRVFfUFVUX0hFWF9GSUVMRF9SRVQocywgZW50cnktPmN0eC5wcmV2X3ByaW8pOworCQlTRVFfUFVUX0hFWF9GSUVMRF9SRVQocywgUyk7CisJCVNFUV9QVVRfSEVYX0ZJRUxEX1JFVChzLCBlbnRyeS0+Y3R4Lm5leHRfcGlkKTsKKwkJU0VRX1BVVF9IRVhfRklFTERfUkVUKHMsIGVudHJ5LT5jdHgubmV4dF9wcmlvKTsKKwkJU0VRX1BVVF9IRVhfRklFTERfUkVUKHMsIGVudHJ5LT5mbi5wYXJlbnRfaXApOworCQlTRVFfUFVUX0hFWF9GSUVMRF9SRVQocywgVCk7CisJCWJyZWFrOworCWNhc2UgVFJBQ0VfU1BFQ0lBTDoKKwljYXNlIFRSQUNFX1NUQUNLOgorCQlTRVFfUFVUX0hFWF9GSUVMRF9SRVQocywgZW50cnktPnNwZWNpYWwuYXJnMSk7CisJCVNFUV9QVVRfSEVYX0ZJRUxEX1JFVChzLCBlbnRyeS0+c3BlY2lhbC5hcmcyKTsKKwkJU0VRX1BVVF9IRVhfRklFTERfUkVUKHMsIGVudHJ5LT5zcGVjaWFsLmFyZzMpOworCQlicmVhazsKKwl9CisJU0VRX1BVVF9GSUVMRF9SRVQocywgbmV3bGluZSk7CisKKwlyZXR1cm4gMTsKK30KKworc3RhdGljIGludCBwcmludF9iaW5fZm10KHN0cnVjdCB0cmFjZV9pdGVyYXRvciAqaXRlcikKK3sKKwlzdHJ1Y3QgdHJhY2Vfc2VxICpzID0gJml0ZXItPnNlcTsKKwlzdHJ1Y3QgdHJhY2VfZW50cnkgKmVudHJ5OworCisJZW50cnkgPSBpdGVyLT5lbnQ7CisKKwlTRVFfUFVUX0ZJRUxEX1JFVChzLCBlbnRyeS0+cGlkKTsKKwlTRVFfUFVUX0ZJRUxEX1JFVChzLCBlbnRyeS0+Y3B1KTsKKwlTRVFfUFVUX0ZJRUxEX1JFVChzLCBlbnRyeS0+dCk7CisKKwlzd2l0Y2ggKGVudHJ5LT50eXBlKSB7CisJY2FzZSBUUkFDRV9GTjoKKwkJU0VRX1BVVF9GSUVMRF9SRVQocywgZW50cnktPmZuLmlwKTsKKwkJU0VRX1BVVF9GSUVMRF9SRVQocywgZW50cnktPmZuLnBhcmVudF9pcCk7CisJCWJyZWFrOworCWNhc2UgVFJBQ0VfQ1RYOgorCQlTRVFfUFVUX0ZJRUxEX1JFVChzLCBlbnRyeS0+Y3R4LnByZXZfcGlkKTsKKwkJU0VRX1BVVF9GSUVMRF9SRVQocywgZW50cnktPmN0eC5wcmV2X3ByaW8pOworCQlTRVFfUFVUX0ZJRUxEX1JFVChzLCBlbnRyeS0+Y3R4LnByZXZfc3RhdGUpOworCQlTRVFfUFVUX0ZJRUxEX1JFVChzLCBlbnRyeS0+Y3R4Lm5leHRfcGlkKTsKKwkJU0VRX1BVVF9GSUVMRF9SRVQocywgZW50cnktPmN0eC5uZXh0X3ByaW8pOworCQlTRVFfUFVUX0ZJRUxEX1JFVChzLCBlbnRyeS0+Y3R4Lm5leHRfc3RhdGUpOworCQlicmVhazsKKwljYXNlIFRSQUNFX1NQRUNJQUw6CisJY2FzZSBUUkFDRV9TVEFDSzoKKwkJU0VRX1BVVF9GSUVMRF9SRVQocywgZW50cnktPnNwZWNpYWwuYXJnMSk7CisJCVNFUV9QVVRfRklFTERfUkVUKHMsIGVudHJ5LT5zcGVjaWFsLmFyZzIpOworCQlTRVFfUFVUX0ZJRUxEX1JFVChzLCBlbnRyeS0+c3BlY2lhbC5hcmczKTsKKwkJYnJlYWs7CisJfQorCXJldHVybiAxOworfQorCitzdGF0aWMgaW50IHRyYWNlX2VtcHR5KHN0cnVjdCB0cmFjZV9pdGVyYXRvciAqaXRlcikKK3sKKwlzdHJ1Y3QgdHJhY2VfYXJyYXlfY3B1ICpkYXRhOworCWludCBjcHU7CisKKwlmb3JfZWFjaF90cmFjaW5nX2NwdShjcHUpIHsKKwkJZGF0YSA9IGl0ZXItPnRyLT5kYXRhW2NwdV07CisKKwkJaWYgKGhlYWRfcGFnZShkYXRhKSAmJiBkYXRhLT50cmFjZV9pZHggJiYKKwkJICAgIChkYXRhLT50cmFjZV90YWlsICE9IGRhdGEtPnRyYWNlX2hlYWQgfHwKKwkJICAgICBkYXRhLT50cmFjZV90YWlsX2lkeCAhPSBkYXRhLT50cmFjZV9oZWFkX2lkeCkpCisJCQlyZXR1cm4gMDsKKwl9CisJcmV0dXJuIDE7Cit9CisKK3N0YXRpYyBpbnQgcHJpbnRfdHJhY2VfbGluZShzdHJ1Y3QgdHJhY2VfaXRlcmF0b3IgKml0ZXIpCit7CisJaWYgKGl0ZXItPnRyYWNlICYmIGl0ZXItPnRyYWNlLT5wcmludF9saW5lKQorCQlyZXR1cm4gaXRlci0+dHJhY2UtPnByaW50X2xpbmUoaXRlcik7CisKKwlpZiAodHJhY2VfZmxhZ3MgJiBUUkFDRV9JVEVSX0JJTikKKwkJcmV0dXJuIHByaW50X2Jpbl9mbXQoaXRlcik7CisKKwlpZiAodHJhY2VfZmxhZ3MgJiBUUkFDRV9JVEVSX0hFWCkKKwkJcmV0dXJuIHByaW50X2hleF9mbXQoaXRlcik7CisKKwlpZiAodHJhY2VfZmxhZ3MgJiBUUkFDRV9JVEVSX1JBVykKKwkJcmV0dXJuIHByaW50X3Jhd19mbXQoaXRlcik7CisKKwlpZiAoaXRlci0+aXRlcl9mbGFncyAmIFRSQUNFX0ZJTEVfTEFUX0ZNVCkKKwkJcmV0dXJuIHByaW50X2xhdF9mbXQoaXRlciwgaXRlci0+aWR4LCBpdGVyLT5jcHUpOworCisJcmV0dXJuIHByaW50X3RyYWNlX2ZtdChpdGVyKTsKK30KKworc3RhdGljIGludCBzX3Nob3coc3RydWN0IHNlcV9maWxlICptLCB2b2lkICp2KQoreworCXN0cnVjdCB0cmFjZV9pdGVyYXRvciAqaXRlciA9IHY7CisKKwlpZiAoaXRlci0+ZW50ID09IE5VTEwpIHsKKwkJaWYgKGl0ZXItPnRyKSB7CisJCQlzZXFfcHJpbnRmKG0sICIjIHRyYWNlcjogJXNcbiIsIGl0ZXItPnRyYWNlLT5uYW1lKTsKKwkJCXNlcV9wdXRzKG0sICIjXG4iKTsKKwkJfQorCQlpZiAoaXRlci0+aXRlcl9mbGFncyAmIFRSQUNFX0ZJTEVfTEFUX0ZNVCkgeworCQkJLyogcHJpbnQgbm90aGluZyBpZiB0aGUgYnVmZmVycyBhcmUgZW1wdHkgKi8KKwkJCWlmICh0cmFjZV9lbXB0eShpdGVyKSkKKwkJCQlyZXR1cm4gMDsKKwkJCXByaW50X3RyYWNlX2hlYWRlcihtLCBpdGVyKTsKKwkJCWlmICghKHRyYWNlX2ZsYWdzICYgVFJBQ0VfSVRFUl9WRVJCT1NFKSkKKwkJCQlwcmludF9sYXRfaGVscF9oZWFkZXIobSk7CisJCX0gZWxzZSB7CisJCQlpZiAoISh0cmFjZV9mbGFncyAmIFRSQUNFX0lURVJfVkVSQk9TRSkpCisJCQkJcHJpbnRfZnVuY19oZWxwX2hlYWRlcihtKTsKKwkJfQorCX0gZWxzZSB7CisJCXByaW50X3RyYWNlX2xpbmUoaXRlcik7CisJCXRyYWNlX3ByaW50X3NlcShtLCAmaXRlci0+c2VxKTsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHN0cnVjdCBzZXFfb3BlcmF0aW9ucyB0cmFjZXJfc2VxX29wcyA9IHsKKwkuc3RhcnQJCT0gc19zdGFydCwKKwkubmV4dAkJPSBzX25leHQsCisJLnN0b3AJCT0gc19zdG9wLAorCS5zaG93CQk9IHNfc2hvdywKK307CisKK3N0YXRpYyBzdHJ1Y3QgdHJhY2VfaXRlcmF0b3IgKgorX190cmFjaW5nX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUsIGludCAqcmV0KQoreworCXN0cnVjdCB0cmFjZV9pdGVyYXRvciAqaXRlcjsKKworCWlmICh0cmFjaW5nX2Rpc2FibGVkKSB7CisJCSpyZXQgPSAtRU5PREVWOworCQlyZXR1cm4gTlVMTDsKKwl9CisKKwlpdGVyID0ga3phbGxvYyhzaXplb2YoKml0ZXIpLCBHRlBfS0VSTkVMKTsKKwlpZiAoIWl0ZXIpIHsKKwkJKnJldCA9IC1FTk9NRU07CisJCWdvdG8gb3V0OworCX0KKworCW11dGV4X2xvY2soJnRyYWNlX3R5cGVzX2xvY2spOworCWlmIChjdXJyZW50X3RyYWNlICYmIGN1cnJlbnRfdHJhY2UtPnByaW50X21heCkKKwkJaXRlci0+dHIgPSAmbWF4X3RyOworCWVsc2UKKwkJaXRlci0+dHIgPSBpbm9kZS0+aV9wcml2YXRlOworCWl0ZXItPnRyYWNlID0gY3VycmVudF90cmFjZTsKKwlpdGVyLT5wb3MgPSAtMTsKKworCS8qIFRPRE8gc3RvcCB0cmFjZXIgKi8KKwkqcmV0ID0gc2VxX29wZW4oZmlsZSwgJnRyYWNlcl9zZXFfb3BzKTsKKwlpZiAoISpyZXQpIHsKKwkJc3RydWN0IHNlcV9maWxlICptID0gZmlsZS0+cHJpdmF0ZV9kYXRhOworCQltLT5wcml2YXRlID0gaXRlcjsKKworCQkvKiBzdG9wIHRoZSB0cmFjZSB3aGlsZSBkdW1waW5nICovCisJCWlmIChpdGVyLT50ci0+Y3RybCkgeworCQkJdHJhY2VyX2VuYWJsZWQgPSAwOworCQkJZnRyYWNlX2Z1bmN0aW9uX2VuYWJsZWQgPSAwOworCQl9CisKKwkJaWYgKGl0ZXItPnRyYWNlICYmIGl0ZXItPnRyYWNlLT5vcGVuKQorCQkJaXRlci0+dHJhY2UtPm9wZW4oaXRlcik7CisJfSBlbHNlIHsKKwkJa2ZyZWUoaXRlcik7CisJCWl0ZXIgPSBOVUxMOworCX0KKwltdXRleF91bmxvY2soJnRyYWNlX3R5cGVzX2xvY2spOworCisgb3V0OgorCXJldHVybiBpdGVyOworfQorCitpbnQgdHJhY2luZ19vcGVuX2dlbmVyaWMoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbHApCit7CisJaWYgKHRyYWNpbmdfZGlzYWJsZWQpCisJCXJldHVybiAtRU5PREVWOworCisJZmlscC0+cHJpdmF0ZV9kYXRhID0gaW5vZGUtPmlfcHJpdmF0ZTsKKwlyZXR1cm4gMDsKK30KKworaW50IHRyYWNpbmdfcmVsZWFzZShzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKK3sKKwlzdHJ1Y3Qgc2VxX2ZpbGUgKm0gPSAoc3RydWN0IHNlcV9maWxlICopZmlsZS0+cHJpdmF0ZV9kYXRhOworCXN0cnVjdCB0cmFjZV9pdGVyYXRvciAqaXRlciA9IG0tPnByaXZhdGU7CisKKwltdXRleF9sb2NrKCZ0cmFjZV90eXBlc19sb2NrKTsKKwlpZiAoaXRlci0+dHJhY2UgJiYgaXRlci0+dHJhY2UtPmNsb3NlKQorCQlpdGVyLT50cmFjZS0+Y2xvc2UoaXRlcik7CisKKwkvKiByZWVuYWJsZSB0cmFjaW5nIGlmIGl0IHdhcyBwcmV2aW91c2x5IGVuYWJsZWQgKi8KKwlpZiAoaXRlci0+dHItPmN0cmwpIHsKKwkJdHJhY2VyX2VuYWJsZWQgPSAxOworCQkvKgorCQkgKiBJdCBpcyBzYWZlIHRvIGVuYWJsZSBmdW5jdGlvbiB0cmFjaW5nIGV2ZW4gaWYgaXQKKwkJICogaXNuJ3QgdXNlZAorCQkgKi8KKwkJZnRyYWNlX2Z1bmN0aW9uX2VuYWJsZWQgPSAxOworCX0KKwltdXRleF91bmxvY2soJnRyYWNlX3R5cGVzX2xvY2spOworCisJc2VxX3JlbGVhc2UoaW5vZGUsIGZpbGUpOworCWtmcmVlKGl0ZXIpOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHRyYWNpbmdfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKK3sKKwlpbnQgcmV0OworCisJX190cmFjaW5nX29wZW4oaW5vZGUsIGZpbGUsICZyZXQpOworCisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIGludCB0cmFjaW5nX2x0X29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCit7CisJc3RydWN0IHRyYWNlX2l0ZXJhdG9yICppdGVyOworCWludCByZXQ7CisKKwlpdGVyID0gX190cmFjaW5nX29wZW4oaW5vZGUsIGZpbGUsICZyZXQpOworCisJaWYgKCFyZXQpCisJCWl0ZXItPml0ZXJfZmxhZ3MgfD0gVFJBQ0VfRklMRV9MQVRfRk1UOworCisJcmV0dXJuIHJldDsKK30KKworCitzdGF0aWMgdm9pZCAqCit0X25leHQoc3RydWN0IHNlcV9maWxlICptLCB2b2lkICp2LCBsb2ZmX3QgKnBvcykKK3sKKwlzdHJ1Y3QgdHJhY2VyICp0ID0gbS0+cHJpdmF0ZTsKKworCSgqcG9zKSsrOworCisJaWYgKHQpCisJCXQgPSB0LT5uZXh0OworCisJbS0+cHJpdmF0ZSA9IHQ7CisKKwlyZXR1cm4gdDsKK30KKworc3RhdGljIHZvaWQgKnRfc3RhcnQoc3RydWN0IHNlcV9maWxlICptLCBsb2ZmX3QgKnBvcykKK3sKKwlzdHJ1Y3QgdHJhY2VyICp0ID0gbS0+cHJpdmF0ZTsKKwlsb2ZmX3QgbCA9IDA7CisKKwltdXRleF9sb2NrKCZ0cmFjZV90eXBlc19sb2NrKTsKKwlmb3IgKDsgdCAmJiBsIDwgKnBvczsgdCA9IHRfbmV4dChtLCB0LCAmbCkpCisJCTsKKworCXJldHVybiB0OworfQorCitzdGF0aWMgdm9pZCB0X3N0b3Aoc3RydWN0IHNlcV9maWxlICptLCB2b2lkICpwKQoreworCW11dGV4X3VubG9jaygmdHJhY2VfdHlwZXNfbG9jayk7Cit9CisKK3N0YXRpYyBpbnQgdF9zaG93KHN0cnVjdCBzZXFfZmlsZSAqbSwgdm9pZCAqdikKK3sKKwlzdHJ1Y3QgdHJhY2VyICp0ID0gdjsKKworCWlmICghdCkKKwkJcmV0dXJuIDA7CisKKwlzZXFfcHJpbnRmKG0sICIlcyIsIHQtPm5hbWUpOworCWlmICh0LT5uZXh0KQorCQlzZXFfcHV0YyhtLCAnICcpOworCWVsc2UKKwkJc2VxX3B1dGMobSwgJ1xuJyk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHN0cnVjdCBzZXFfb3BlcmF0aW9ucyBzaG93X3RyYWNlc19zZXFfb3BzID0geworCS5zdGFydAkJPSB0X3N0YXJ0LAorCS5uZXh0CQk9IHRfbmV4dCwKKwkuc3RvcAkJPSB0X3N0b3AsCisJLnNob3cJCT0gdF9zaG93LAorfTsKKworc3RhdGljIGludCBzaG93X3RyYWNlc19vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQoreworCWludCByZXQ7CisKKwlpZiAodHJhY2luZ19kaXNhYmxlZCkKKwkJcmV0dXJuIC1FTk9ERVY7CisKKwlyZXQgPSBzZXFfb3BlbihmaWxlLCAmc2hvd190cmFjZXNfc2VxX29wcyk7CisJaWYgKCFyZXQpIHsKKwkJc3RydWN0IHNlcV9maWxlICptID0gZmlsZS0+cHJpdmF0ZV9kYXRhOworCQltLT5wcml2YXRlID0gdHJhY2VfdHlwZXM7CisJfQorCisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgdHJhY2luZ19mb3BzID0geworCS5vcGVuCQk9IHRyYWNpbmdfb3BlbiwKKwkucmVhZAkJPSBzZXFfcmVhZCwKKwkubGxzZWVrCQk9IHNlcV9sc2VlaywKKwkucmVsZWFzZQk9IHRyYWNpbmdfcmVsZWFzZSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zIHRyYWNpbmdfbHRfZm9wcyA9IHsKKwkub3BlbgkJPSB0cmFjaW5nX2x0X29wZW4sCisJLnJlYWQJCT0gc2VxX3JlYWQsCisJLmxsc2VlawkJPSBzZXFfbHNlZWssCisJLnJlbGVhc2UJPSB0cmFjaW5nX3JlbGVhc2UsCit9OworCitzdGF0aWMgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyBzaG93X3RyYWNlc19mb3BzID0geworCS5vcGVuCQk9IHNob3dfdHJhY2VzX29wZW4sCisJLnJlYWQJCT0gc2VxX3JlYWQsCisJLnJlbGVhc2UJPSBzZXFfcmVsZWFzZSwKK307CisKKy8qCisgKiBPbmx5IHRyYWNlIG9uIGEgQ1BVIGlmIHRoZSBiaXRtYXNrIGlzIHNldDoKKyAqLworc3RhdGljIGNwdW1hc2tfdCB0cmFjaW5nX2NwdW1hc2sgPSBDUFVfTUFTS19BTEw7CisKKy8qCisgKiBXaGVuIHRyYWNpbmcvdHJhY2luZ19jcHVfbWFzayBpcyBtb2RpZmllZCB0aGVuIHRoaXMgaG9sZHMKKyAqIHRoZSBuZXcgYml0bWFzayB3ZSBhcmUgYWJvdXQgdG8gaW5zdGFsbDoKKyAqLworc3RhdGljIGNwdW1hc2tfdCB0cmFjaW5nX2NwdW1hc2tfbmV3OworCisvKgorICogVGhlIHRyYWNlciBpdHNlbGYgd2lsbCBub3QgdGFrZSB0aGlzIGxvY2ssIGJ1dCBzdGlsbCB3ZSB3YW50CisgKiB0byBwcm92aWRlIGEgY29uc2lzdGVudCBjcHVtYXNrIHRvIHVzZXItc3BhY2U6CisgKi8KK3N0YXRpYyBERUZJTkVfTVVURVgodHJhY2luZ19jcHVtYXNrX3VwZGF0ZV9sb2NrKTsKKworLyoKKyAqIFRlbXBvcmFyeSBzdG9yYWdlIGZvciB0aGUgY2hhcmFjdGVyIHJlcHJlc2VudGF0aW9uIG9mIHRoZQorICogQ1BVIGJpdG1hc2sgKGFuZCBvbmUgbW9yZSBieXRlIGZvciB0aGUgbmV3bGluZSk6CisgKi8KK3N0YXRpYyBjaGFyIG1hc2tfc3RyW05SX0NQVVMgKyAxXTsKKworc3RhdGljIHNzaXplX3QKK3RyYWNpbmdfY3B1bWFza19yZWFkKHN0cnVjdCBmaWxlICpmaWxwLCBjaGFyIF9fdXNlciAqdWJ1ZiwKKwkJICAgICBzaXplX3QgY291bnQsIGxvZmZfdCAqcHBvcykKK3sKKwlpbnQgbGVuOworCisJbXV0ZXhfbG9jaygmdHJhY2luZ19jcHVtYXNrX3VwZGF0ZV9sb2NrKTsKKworCWxlbiA9IGNwdW1hc2tfc2NucHJpbnRmKG1hc2tfc3RyLCBjb3VudCwgdHJhY2luZ19jcHVtYXNrKTsKKwlpZiAoY291bnQgLSBsZW4gPCAyKSB7CisJCWNvdW50ID0gLUVJTlZBTDsKKwkJZ290byBvdXRfZXJyOworCX0KKwlsZW4gKz0gc3ByaW50ZihtYXNrX3N0ciArIGxlbiwgIlxuIik7CisJY291bnQgPSBzaW1wbGVfcmVhZF9mcm9tX2J1ZmZlcih1YnVmLCBjb3VudCwgcHBvcywgbWFza19zdHIsIE5SX0NQVVMrMSk7CisKK291dF9lcnI6CisJbXV0ZXhfdW5sb2NrKCZ0cmFjaW5nX2NwdW1hc2tfdXBkYXRlX2xvY2spOworCisJcmV0dXJuIGNvdW50OworfQorCitzdGF0aWMgc3NpemVfdAordHJhY2luZ19jcHVtYXNrX3dyaXRlKHN0cnVjdCBmaWxlICpmaWxwLCBjb25zdCBjaGFyIF9fdXNlciAqdWJ1ZiwKKwkJICAgICAgc2l6ZV90IGNvdW50LCBsb2ZmX3QgKnBwb3MpCit7CisJaW50IGVyciwgY3B1OworCisJbXV0ZXhfbG9jaygmdHJhY2luZ19jcHVtYXNrX3VwZGF0ZV9sb2NrKTsKKwllcnIgPSBjcHVtYXNrX3BhcnNlX3VzZXIodWJ1ZiwgY291bnQsIHRyYWNpbmdfY3B1bWFza19uZXcpOworCWlmIChlcnIpCisJCWdvdG8gZXJyX3VubG9jazsKKworCXJhd19sb2NhbF9pcnFfZGlzYWJsZSgpOworCV9fcmF3X3NwaW5fbG9jaygmZnRyYWNlX21heF9sb2NrKTsKKwlmb3JfZWFjaF90cmFjaW5nX2NwdShjcHUpIHsKKwkJLyoKKwkJICogSW5jcmVhc2UvZGVjcmVhc2UgdGhlIGRpc2FibGVkIGNvdW50ZXIgaWYgd2UgYXJlCisJCSAqIGFib3V0IHRvIGZsaXAgYSBiaXQgaW4gdGhlIGNwdW1hc2s6CisJCSAqLworCQlpZiAoY3B1X2lzc2V0KGNwdSwgdHJhY2luZ19jcHVtYXNrKSAmJgorCQkJCSFjcHVfaXNzZXQoY3B1LCB0cmFjaW5nX2NwdW1hc2tfbmV3KSkgeworCQkJYXRvbWljX2luYygmZ2xvYmFsX3RyYWNlLmRhdGFbY3B1XS0+ZGlzYWJsZWQpOworCQl9CisJCWlmICghY3B1X2lzc2V0KGNwdSwgdHJhY2luZ19jcHVtYXNrKSAmJgorCQkJCWNwdV9pc3NldChjcHUsIHRyYWNpbmdfY3B1bWFza19uZXcpKSB7CisJCQlhdG9taWNfZGVjKCZnbG9iYWxfdHJhY2UuZGF0YVtjcHVdLT5kaXNhYmxlZCk7CisJCX0KKwl9CisJX19yYXdfc3Bpbl91bmxvY2soJmZ0cmFjZV9tYXhfbG9jayk7CisJcmF3X2xvY2FsX2lycV9lbmFibGUoKTsKKworCXRyYWNpbmdfY3B1bWFzayA9IHRyYWNpbmdfY3B1bWFza19uZXc7CisKKwltdXRleF91bmxvY2soJnRyYWNpbmdfY3B1bWFza191cGRhdGVfbG9jayk7CisKKwlyZXR1cm4gY291bnQ7CisKK2Vycl91bmxvY2s6CisJbXV0ZXhfdW5sb2NrKCZ0cmFjaW5nX2NwdW1hc2tfdXBkYXRlX2xvY2spOworCisJcmV0dXJuIGVycjsKK30KKworc3RhdGljIHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgdHJhY2luZ19jcHVtYXNrX2ZvcHMgPSB7CisJLm9wZW4JCT0gdHJhY2luZ19vcGVuX2dlbmVyaWMsCisJLnJlYWQJCT0gdHJhY2luZ19jcHVtYXNrX3JlYWQsCisJLndyaXRlCQk9IHRyYWNpbmdfY3B1bWFza193cml0ZSwKK307CisKK3N0YXRpYyBzc2l6ZV90Cit0cmFjaW5nX2l0ZXJfY3RybF9yZWFkKHN0cnVjdCBmaWxlICpmaWxwLCBjaGFyIF9fdXNlciAqdWJ1ZiwKKwkJICAgICAgIHNpemVfdCBjbnQsIGxvZmZfdCAqcHBvcykKK3sKKwljaGFyICpidWY7CisJaW50IHIgPSAwOworCWludCBsZW4gPSAwOworCWludCBpOworCisJLyogY2FsdWxhdGUgbWF4IHNpemUgKi8KKwlmb3IgKGkgPSAwOyB0cmFjZV9vcHRpb25zW2ldOyBpKyspIHsKKwkJbGVuICs9IHN0cmxlbih0cmFjZV9vcHRpb25zW2ldKTsKKwkJbGVuICs9IDM7IC8qICJubyIgYW5kIHNwYWNlICovCisJfQorCisJLyogKzIgZm9yIFxuIGFuZCBcMCAqLworCWJ1ZiA9IGttYWxsb2MobGVuICsgMiwgR0ZQX0tFUk5FTCk7CisJaWYgKCFidWYpCisJCXJldHVybiAtRU5PTUVNOworCisJZm9yIChpID0gMDsgdHJhY2Vfb3B0aW9uc1tpXTsgaSsrKSB7CisJCWlmICh0cmFjZV9mbGFncyAmICgxIDw8IGkpKQorCQkJciArPSBzcHJpbnRmKGJ1ZiArIHIsICIlcyAiLCB0cmFjZV9vcHRpb25zW2ldKTsKKwkJZWxzZQorCQkJciArPSBzcHJpbnRmKGJ1ZiArIHIsICJubyVzICIsIHRyYWNlX29wdGlvbnNbaV0pOworCX0KKworCXIgKz0gc3ByaW50ZihidWYgKyByLCAiXG4iKTsKKwlXQVJOX09OKHIgPj0gbGVuICsgMik7CisKKwlyID0gc2ltcGxlX3JlYWRfZnJvbV9idWZmZXIodWJ1ZiwgY250LCBwcG9zLCBidWYsIHIpOworCisJa2ZyZWUoYnVmKTsKKworCXJldHVybiByOworfQorCitzdGF0aWMgc3NpemVfdAordHJhY2luZ19pdGVyX2N0cmxfd3JpdGUoc3RydWN0IGZpbGUgKmZpbHAsIGNvbnN0IGNoYXIgX191c2VyICp1YnVmLAorCQkJc2l6ZV90IGNudCwgbG9mZl90ICpwcG9zKQoreworCWNoYXIgYnVmWzY0XTsKKwljaGFyICpjbXAgPSBidWY7CisJaW50IG5lZyA9IDA7CisJaW50IGk7CisKKwlpZiAoY250ID49IHNpemVvZihidWYpKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWlmIChjb3B5X2Zyb21fdXNlcigmYnVmLCB1YnVmLCBjbnQpKQorCQlyZXR1cm4gLUVGQVVMVDsKKworCWJ1ZltjbnRdID0gMDsKKworCWlmIChzdHJuY21wKGJ1ZiwgIm5vIiwgMikgPT0gMCkgeworCQluZWcgPSAxOworCQljbXAgKz0gMjsKKwl9CisKKwlmb3IgKGkgPSAwOyB0cmFjZV9vcHRpb25zW2ldOyBpKyspIHsKKwkJaW50IGxlbiA9IHN0cmxlbih0cmFjZV9vcHRpb25zW2ldKTsKKworCQlpZiAoc3RybmNtcChjbXAsIHRyYWNlX29wdGlvbnNbaV0sIGxlbikgPT0gMCkgeworCQkJaWYgKG5lZykKKwkJCQl0cmFjZV9mbGFncyAmPSB+KDEgPDwgaSk7CisJCQllbHNlCisJCQkJdHJhY2VfZmxhZ3MgfD0gKDEgPDwgaSk7CisJCQlicmVhazsKKwkJfQorCX0KKwkvKgorCSAqIElmIG5vIG9wdGlvbiBjb3VsZCBiZSBzZXQsIHJldHVybiBhbiBlcnJvcjoKKwkgKi8KKwlpZiAoIXRyYWNlX29wdGlvbnNbaV0pCisJCXJldHVybiAtRUlOVkFMOworCisJZmlscC0+Zl9wb3MgKz0gY250OworCisJcmV0dXJuIGNudDsKK30KKworc3RhdGljIHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgdHJhY2luZ19pdGVyX2ZvcHMgPSB7CisJLm9wZW4JCT0gdHJhY2luZ19vcGVuX2dlbmVyaWMsCisJLnJlYWQJCT0gdHJhY2luZ19pdGVyX2N0cmxfcmVhZCwKKwkud3JpdGUJCT0gdHJhY2luZ19pdGVyX2N0cmxfd3JpdGUsCit9OworCitzdGF0aWMgY29uc3QgY2hhciByZWFkbWVfbXNnW10gPQorCSJ0cmFjaW5nIG1pbmktSE9XVE86XG5cbiIKKwkiIyBta2RpciAvZGVidWdcbiIKKwkiIyBtb3VudCAtdCBkZWJ1Z2ZzIG5vZGV2IC9kZWJ1Z1xuXG4iCisJIiMgY2F0IC9kZWJ1Zy90cmFjaW5nL2F2YWlsYWJsZV90cmFjZXJzXG4iCisJIndha2V1cCBwcmVlbXB0aXJxc29mZiBwcmVlbXB0b2ZmIGlycXNvZmYgZnRyYWNlIHNjaGVkX3N3aXRjaCBub25lXG5cbiIKKwkiIyBjYXQgL2RlYnVnL3RyYWNpbmcvY3VycmVudF90cmFjZXJcbiIKKwkibm9uZVxuIgorCSIjIGVjaG8gc2NoZWRfc3dpdGNoID4gL2RlYnVnL3RyYWNpbmcvY3VycmVudF90cmFjZXJcbiIKKwkiIyBjYXQgL2RlYnVnL3RyYWNpbmcvY3VycmVudF90cmFjZXJcbiIKKwkic2NoZWRfc3dpdGNoXG4iCisJIiMgY2F0IC9kZWJ1Zy90cmFjaW5nL2l0ZXJfY3RybFxuIgorCSJub3ByaW50LXBhcmVudCBub3N5bS1vZmZzZXQgbm9zeW0tYWRkciBub3ZlcmJvc2VcbiIKKwkiIyBlY2hvIHByaW50LXBhcmVudCA+IC9kZWJ1Zy90cmFjaW5nL2l0ZXJfY3RybFxuIgorCSIjIGVjaG8gMSA+IC9kZWJ1Zy90cmFjaW5nL3RyYWNpbmdfZW5hYmxlZFxuIgorCSIjIGNhdCAvZGVidWcvdHJhY2luZy90cmFjZSA+IC90bXAvdHJhY2UudHh0XG4iCisJImVjaG8gMCA+IC9kZWJ1Zy90cmFjaW5nL3RyYWNpbmdfZW5hYmxlZFxuIgorOworCitzdGF0aWMgc3NpemVfdAordHJhY2luZ19yZWFkbWVfcmVhZChzdHJ1Y3QgZmlsZSAqZmlscCwgY2hhciBfX3VzZXIgKnVidWYsCisJCSAgICAgICBzaXplX3QgY250LCBsb2ZmX3QgKnBwb3MpCit7CisJcmV0dXJuIHNpbXBsZV9yZWFkX2Zyb21fYnVmZmVyKHVidWYsIGNudCwgcHBvcywKKwkJCQkJcmVhZG1lX21zZywgc3RybGVuKHJlYWRtZV9tc2cpKTsKK30KKworc3RhdGljIHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgdHJhY2luZ19yZWFkbWVfZm9wcyA9IHsKKwkub3BlbgkJPSB0cmFjaW5nX29wZW5fZ2VuZXJpYywKKwkucmVhZAkJPSB0cmFjaW5nX3JlYWRtZV9yZWFkLAorfTsKKworc3RhdGljIHNzaXplX3QKK3RyYWNpbmdfY3RybF9yZWFkKHN0cnVjdCBmaWxlICpmaWxwLCBjaGFyIF9fdXNlciAqdWJ1ZiwKKwkJICBzaXplX3QgY250LCBsb2ZmX3QgKnBwb3MpCit7CisJc3RydWN0IHRyYWNlX2FycmF5ICp0ciA9IGZpbHAtPnByaXZhdGVfZGF0YTsKKwljaGFyIGJ1Zls2NF07CisJaW50IHI7CisKKwlyID0gc3ByaW50ZihidWYsICIlbGRcbiIsIHRyLT5jdHJsKTsKKwlyZXR1cm4gc2ltcGxlX3JlYWRfZnJvbV9idWZmZXIodWJ1ZiwgY250LCBwcG9zLCBidWYsIHIpOworfQorCitzdGF0aWMgc3NpemVfdAordHJhY2luZ19jdHJsX3dyaXRlKHN0cnVjdCBmaWxlICpmaWxwLCBjb25zdCBjaGFyIF9fdXNlciAqdWJ1ZiwKKwkJICAgc2l6ZV90IGNudCwgbG9mZl90ICpwcG9zKQoreworCXN0cnVjdCB0cmFjZV9hcnJheSAqdHIgPSBmaWxwLT5wcml2YXRlX2RhdGE7CisJY2hhciBidWZbNjRdOworCWxvbmcgdmFsOworCWludCByZXQ7CisKKwlpZiAoY250ID49IHNpemVvZihidWYpKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWlmIChjb3B5X2Zyb21fdXNlcigmYnVmLCB1YnVmLCBjbnQpKQorCQlyZXR1cm4gLUVGQVVMVDsKKworCWJ1ZltjbnRdID0gMDsKKworCXJldCA9IHN0cmljdF9zdHJ0b3VsKGJ1ZiwgMTAsICZ2YWwpOworCWlmIChyZXQgPCAwKQorCQlyZXR1cm4gcmV0OworCisJdmFsID0gISF2YWw7CisKKwltdXRleF9sb2NrKCZ0cmFjZV90eXBlc19sb2NrKTsKKwlpZiAodHItPmN0cmwgXiB2YWwpIHsKKwkJaWYgKHZhbCkKKwkJCXRyYWNlcl9lbmFibGVkID0gMTsKKwkJZWxzZQorCQkJdHJhY2VyX2VuYWJsZWQgPSAwOworCisJCXRyLT5jdHJsID0gdmFsOworCisJCWlmIChjdXJyZW50X3RyYWNlICYmIGN1cnJlbnRfdHJhY2UtPmN0cmxfdXBkYXRlKQorCQkJY3VycmVudF90cmFjZS0+Y3RybF91cGRhdGUodHIpOworCX0KKwltdXRleF91bmxvY2soJnRyYWNlX3R5cGVzX2xvY2spOworCisJZmlscC0+Zl9wb3MgKz0gY250OworCisJcmV0dXJuIGNudDsKK30KKworc3RhdGljIHNzaXplX3QKK3RyYWNpbmdfc2V0X3RyYWNlX3JlYWQoc3RydWN0IGZpbGUgKmZpbHAsIGNoYXIgX191c2VyICp1YnVmLAorCQkgICAgICAgc2l6ZV90IGNudCwgbG9mZl90ICpwcG9zKQoreworCWNoYXIgYnVmW21heF90cmFjZXJfdHlwZV9sZW4rMl07CisJaW50IHI7CisKKwltdXRleF9sb2NrKCZ0cmFjZV90eXBlc19sb2NrKTsKKwlpZiAoY3VycmVudF90cmFjZSkKKwkJciA9IHNwcmludGYoYnVmLCAiJXNcbiIsIGN1cnJlbnRfdHJhY2UtPm5hbWUpOworCWVsc2UKKwkJciA9IHNwcmludGYoYnVmLCAiXG4iKTsKKwltdXRleF91bmxvY2soJnRyYWNlX3R5cGVzX2xvY2spOworCisJcmV0dXJuIHNpbXBsZV9yZWFkX2Zyb21fYnVmZmVyKHVidWYsIGNudCwgcHBvcywgYnVmLCByKTsKK30KKworc3RhdGljIHNzaXplX3QKK3RyYWNpbmdfc2V0X3RyYWNlX3dyaXRlKHN0cnVjdCBmaWxlICpmaWxwLCBjb25zdCBjaGFyIF9fdXNlciAqdWJ1ZiwKKwkJCXNpemVfdCBjbnQsIGxvZmZfdCAqcHBvcykKK3sKKwlzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyID0gJmdsb2JhbF90cmFjZTsKKwlzdHJ1Y3QgdHJhY2VyICp0OworCWNoYXIgYnVmW21heF90cmFjZXJfdHlwZV9sZW4rMV07CisJaW50IGk7CisKKwlpZiAoY250ID4gbWF4X3RyYWNlcl90eXBlX2xlbikKKwkJY250ID0gbWF4X3RyYWNlcl90eXBlX2xlbjsKKworCWlmIChjb3B5X2Zyb21fdXNlcigmYnVmLCB1YnVmLCBjbnQpKQorCQlyZXR1cm4gLUVGQVVMVDsKKworCWJ1ZltjbnRdID0gMDsKKworCS8qIHN0cmlwIGVuZGluZyB3aGl0ZXNwYWNlLiAqLworCWZvciAoaSA9IGNudCAtIDE7IGkgPiAwICYmIGlzc3BhY2UoYnVmW2ldKTsgaS0tKQorCQlidWZbaV0gPSAwOworCisJbXV0ZXhfbG9jaygmdHJhY2VfdHlwZXNfbG9jayk7CisJZm9yICh0ID0gdHJhY2VfdHlwZXM7IHQ7IHQgPSB0LT5uZXh0KSB7CisJCWlmIChzdHJjbXAodC0+bmFtZSwgYnVmKSA9PSAwKQorCQkJYnJlYWs7CisJfQorCWlmICghdCB8fCB0ID09IGN1cnJlbnRfdHJhY2UpCisJCWdvdG8gb3V0OworCisJaWYgKGN1cnJlbnRfdHJhY2UgJiYgY3VycmVudF90cmFjZS0+cmVzZXQpCisJCWN1cnJlbnRfdHJhY2UtPnJlc2V0KHRyKTsKKworCWN1cnJlbnRfdHJhY2UgPSB0OworCWlmICh0LT5pbml0KQorCQl0LT5pbml0KHRyKTsKKworIG91dDoKKwltdXRleF91bmxvY2soJnRyYWNlX3R5cGVzX2xvY2spOworCisJZmlscC0+Zl9wb3MgKz0gY250OworCisJcmV0dXJuIGNudDsKK30KKworc3RhdGljIHNzaXplX3QKK3RyYWNpbmdfbWF4X2xhdF9yZWFkKHN0cnVjdCBmaWxlICpmaWxwLCBjaGFyIF9fdXNlciAqdWJ1ZiwKKwkJICAgICBzaXplX3QgY250LCBsb2ZmX3QgKnBwb3MpCit7CisJdW5zaWduZWQgbG9uZyAqcHRyID0gZmlscC0+cHJpdmF0ZV9kYXRhOworCWNoYXIgYnVmWzY0XTsKKwlpbnQgcjsKKworCXIgPSBzbnByaW50ZihidWYsIHNpemVvZihidWYpLCAiJWxkXG4iLAorCQkgICAgICpwdHIgPT0gKHVuc2lnbmVkIGxvbmcpLTEgPyAtMSA6IG5zZWNzX3RvX3VzZWNzKCpwdHIpKTsKKwlpZiAociA+IHNpemVvZihidWYpKQorCQlyID0gc2l6ZW9mKGJ1Zik7CisJcmV0dXJuIHNpbXBsZV9yZWFkX2Zyb21fYnVmZmVyKHVidWYsIGNudCwgcHBvcywgYnVmLCByKTsKK30KKworc3RhdGljIHNzaXplX3QKK3RyYWNpbmdfbWF4X2xhdF93cml0ZShzdHJ1Y3QgZmlsZSAqZmlscCwgY29uc3QgY2hhciBfX3VzZXIgKnVidWYsCisJCSAgICAgIHNpemVfdCBjbnQsIGxvZmZfdCAqcHBvcykKK3sKKwlsb25nICpwdHIgPSBmaWxwLT5wcml2YXRlX2RhdGE7CisJY2hhciBidWZbNjRdOworCWxvbmcgdmFsOworCWludCByZXQ7CisKKwlpZiAoY250ID49IHNpemVvZihidWYpKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWlmIChjb3B5X2Zyb21fdXNlcigmYnVmLCB1YnVmLCBjbnQpKQorCQlyZXR1cm4gLUVGQVVMVDsKKworCWJ1ZltjbnRdID0gMDsKKworCXJldCA9IHN0cmljdF9zdHJ0b3VsKGJ1ZiwgMTAsICZ2YWwpOworCWlmIChyZXQgPCAwKQorCQlyZXR1cm4gcmV0OworCisJKnB0ciA9IHZhbCAqIDEwMDA7CisKKwlyZXR1cm4gY250OworfQorCitzdGF0aWMgYXRvbWljX3QgdHJhY2luZ19yZWFkZXI7CisKK3N0YXRpYyBpbnQgdHJhY2luZ19vcGVuX3BpcGUoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbHApCit7CisJc3RydWN0IHRyYWNlX2l0ZXJhdG9yICppdGVyOworCisJaWYgKHRyYWNpbmdfZGlzYWJsZWQpCisJCXJldHVybiAtRU5PREVWOworCisJLyogV2Ugb25seSBhbGxvdyBmb3IgcmVhZGVyIG9mIHRoZSBwaXBlICovCisJaWYgKGF0b21pY19pbmNfcmV0dXJuKCZ0cmFjaW5nX3JlYWRlcikgIT0gMSkgeworCQlhdG9taWNfZGVjKCZ0cmFjaW5nX3JlYWRlcik7CisJCXJldHVybiAtRUJVU1k7CisJfQorCisJLyogY3JlYXRlIGEgYnVmZmVyIHRvIHN0b3JlIHRoZSBpbmZvcm1hdGlvbiB0byBwYXNzIHRvIHVzZXJzcGFjZSAqLworCWl0ZXIgPSBremFsbG9jKHNpemVvZigqaXRlciksIEdGUF9LRVJORUwpOworCWlmICghaXRlcikKKwkJcmV0dXJuIC1FTk9NRU07CisKKwltdXRleF9sb2NrKCZ0cmFjZV90eXBlc19sb2NrKTsKKwlpdGVyLT50ciA9ICZnbG9iYWxfdHJhY2U7CisJaXRlci0+dHJhY2UgPSBjdXJyZW50X3RyYWNlOworCWZpbHAtPnByaXZhdGVfZGF0YSA9IGl0ZXI7CisKKwlpZiAoaXRlci0+dHJhY2UtPnBpcGVfb3BlbikKKwkJaXRlci0+dHJhY2UtPnBpcGVfb3BlbihpdGVyKTsKKwltdXRleF91bmxvY2soJnRyYWNlX3R5cGVzX2xvY2spOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgdHJhY2luZ19yZWxlYXNlX3BpcGUoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCit7CisJc3RydWN0IHRyYWNlX2l0ZXJhdG9yICppdGVyID0gZmlsZS0+cHJpdmF0ZV9kYXRhOworCisJa2ZyZWUoaXRlcik7CisJYXRvbWljX2RlYygmdHJhY2luZ19yZWFkZXIpOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB1bnNpZ25lZCBpbnQKK3RyYWNpbmdfcG9sbF9waXBlKHN0cnVjdCBmaWxlICpmaWxwLCBwb2xsX3RhYmxlICpwb2xsX3RhYmxlKQoreworCXN0cnVjdCB0cmFjZV9pdGVyYXRvciAqaXRlciA9IGZpbHAtPnByaXZhdGVfZGF0YTsKKworCWlmICh0cmFjZV9mbGFncyAmIFRSQUNFX0lURVJfQkxPQ0spIHsKKwkJLyoKKwkJICogQWx3YXlzIHNlbGVjdCBhcyByZWFkYWJsZSB3aGVuIGluIGJsb2NraW5nIG1vZGUKKwkJICovCisJCXJldHVybiBQT0xMSU4gfCBQT0xMUkROT1JNOworCX0gZWxzZSB7CisJCWlmICghdHJhY2VfZW1wdHkoaXRlcikpCisJCQlyZXR1cm4gUE9MTElOIHwgUE9MTFJETk9STTsKKwkJcG9sbF93YWl0KGZpbHAsICZ0cmFjZV93YWl0LCBwb2xsX3RhYmxlKTsKKwkJaWYgKCF0cmFjZV9lbXB0eShpdGVyKSkKKwkJCXJldHVybiBQT0xMSU4gfCBQT0xMUkROT1JNOworCisJCXJldHVybiAwOworCX0KK30KKworLyoKKyAqIENvbnN1bWVyIHJlYWRlci4KKyAqLworc3RhdGljIHNzaXplX3QKK3RyYWNpbmdfcmVhZF9waXBlKHN0cnVjdCBmaWxlICpmaWxwLCBjaGFyIF9fdXNlciAqdWJ1ZiwKKwkJICBzaXplX3QgY250LCBsb2ZmX3QgKnBwb3MpCit7CisJc3RydWN0IHRyYWNlX2l0ZXJhdG9yICppdGVyID0gZmlscC0+cHJpdmF0ZV9kYXRhOworCXN0cnVjdCB0cmFjZV9hcnJheV9jcHUgKmRhdGE7CisJc3RhdGljIGNwdW1hc2tfdCBtYXNrOworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisjaWZkZWYgQ09ORklHX0ZUUkFDRQorCWludCBmdHJhY2Vfc2F2ZTsKKyNlbmRpZgorCWludCBjcHU7CisJc3NpemVfdCBzcmV0OworCisJLyogcmV0dXJuIGFueSBsZWZ0b3ZlciBkYXRhICovCisJc3JldCA9IHRyYWNlX3NlcV90b191c2VyKCZpdGVyLT5zZXEsIHVidWYsIGNudCk7CisJaWYgKHNyZXQgIT0gLUVCVVNZKQorCQlyZXR1cm4gc3JldDsKKwlzcmV0ID0gMDsKKworCXRyYWNlX3NlcV9yZXNldCgmaXRlci0+c2VxKTsKKworCW11dGV4X2xvY2soJnRyYWNlX3R5cGVzX2xvY2spOworCWlmIChpdGVyLT50cmFjZS0+cmVhZCkgeworCQlzcmV0ID0gaXRlci0+dHJhY2UtPnJlYWQoaXRlciwgZmlscCwgdWJ1ZiwgY250LCBwcG9zKTsKKwkJaWYgKHNyZXQpCisJCQlnb3RvIG91dDsKKwl9CisKKwl3aGlsZSAodHJhY2VfZW1wdHkoaXRlcikpIHsKKworCQlpZiAoKGZpbHAtPmZfZmxhZ3MgJiBPX05PTkJMT0NLKSkgeworCQkJc3JldCA9IC1FQUdBSU47CisJCQlnb3RvIG91dDsKKwkJfQorCisJCS8qCisJCSAqIFRoaXMgaXMgYSBtYWtlLXNoaWZ0IHdhaXRxdWV1ZS4gVGhlIHJlYXNvbiB3ZSBkb24ndCB1c2UKKwkJICogYW4gYWN0dWFsIHdhaXQgcXVldWUgaXMgYmVjYXVzZToKKwkJICogIDEpIHdlIG9ubHkgZXZlciBoYXZlIG9uZSB3YWl0ZXIKKwkJICogIDIpIHRoZSB0cmFjaW5nLCB0cmFjZXMgYWxsIGZ1bmN0aW9ucywgd2UgZG9uJ3Qgd2FudAorCQkgKiAgICAgdGhlIG92ZXJoZWFkIG9mIGNhbGxpbmcgd2FrZV91cCBhbmQgZnJpZW5kcworCQkgKiAgICAgKGFuZCB0cmFjaW5nIHRoZW0gdG9vKQorCQkgKiAgICAgQW55d2F5LCB0aGlzIGlzIHJlYWxseSB2ZXJ5IHByaW1pdGl2ZSB3YWtldXAuCisJCSAqLworCQlzZXRfY3VycmVudF9zdGF0ZShUQVNLX0lOVEVSUlVQVElCTEUpOworCQlpdGVyLT50ci0+d2FpdGVyID0gY3VycmVudDsKKworCQltdXRleF91bmxvY2soJnRyYWNlX3R5cGVzX2xvY2spOworCisJCS8qIHNsZWVwIGZvciAxMDAgbXNlY3MsIGFuZCB0cnkgYWdhaW4uICovCisJCXNjaGVkdWxlX3RpbWVvdXQoSFovMTApOworCisJCW11dGV4X2xvY2soJnRyYWNlX3R5cGVzX2xvY2spOworCisJCWl0ZXItPnRyLT53YWl0ZXIgPSBOVUxMOworCisJCWlmIChzaWduYWxfcGVuZGluZyhjdXJyZW50KSkgeworCQkJc3JldCA9IC1FSU5UUjsKKwkJCWdvdG8gb3V0OworCQl9CisKKwkJaWYgKGl0ZXItPnRyYWNlICE9IGN1cnJlbnRfdHJhY2UpCisJCQlnb3RvIG91dDsKKworCQkvKgorCQkgKiBXZSBibG9jayB1bnRpbCB3ZSByZWFkIHNvbWV0aGluZyBhbmQgdHJhY2luZyBpcyBkaXNhYmxlZC4KKwkJICogV2Ugc3RpbGwgYmxvY2sgaWYgdHJhY2luZyBpcyBkaXNhYmxlZCwgYnV0IHdlIGhhdmUgbmV2ZXIKKwkJICogcmVhZCBhbnl0aGluZy4gVGhpcyBhbGxvd3MgYSB1c2VyIHRvIGNhdCB0aGlzIGZpbGUsIGFuZAorCQkgKiB0aGVuIGVuYWJsZSB0cmFjaW5nLiBCdXQgYWZ0ZXIgd2UgaGF2ZSByZWFkIHNvbWV0aGluZywKKwkJICogd2UgZ2l2ZSBhbiBFT0Ygd2hlbiB0cmFjaW5nIGlzIGFnYWluIGRpc2FibGVkLgorCQkgKgorCQkgKiBpdGVyLT5wb3Mgd2lsbCBiZSAwIGlmIHdlIGhhdmVuJ3QgcmVhZCBhbnl0aGluZy4KKwkJICovCisJCWlmICghdHJhY2VyX2VuYWJsZWQgJiYgaXRlci0+cG9zKQorCQkJYnJlYWs7CisKKwkJY29udGludWU7CisJfQorCisJLyogc3RvcCB3aGVuIHRyYWNpbmcgaXMgZmluaXNoZWQgKi8KKwlpZiAodHJhY2VfZW1wdHkoaXRlcikpCisJCWdvdG8gb3V0OworCisJaWYgKGNudCA+PSBQQUdFX1NJWkUpCisJCWNudCA9IFBBR0VfU0laRSAtIDE7CisKKwkvKiByZXNldCBhbGwgYnV0IHRyLCB0cmFjZSwgYW5kIG92ZXJydW5zICovCisJbWVtc2V0KCZpdGVyLT5zZXEsIDAsCisJICAgICAgIHNpemVvZihzdHJ1Y3QgdHJhY2VfaXRlcmF0b3IpIC0KKwkgICAgICAgb2Zmc2V0b2Yoc3RydWN0IHRyYWNlX2l0ZXJhdG9yLCBzZXEpKTsKKwlpdGVyLT5wb3MgPSAtMTsKKworCS8qCisJICogV2UgbmVlZCB0byBzdG9wIGFsbCB0cmFjaW5nIG9uIGFsbCBDUFVTIHRvIHJlYWQgdGhlCisJICogdGhlIG5leHQgYnVmZmVyLiBUaGlzIGlzIGEgYml0IGV4cGVuc2l2ZSwgYnV0IGlzCisJICogbm90IGRvbmUgb2Z0ZW4uIFdlIGZpbGwgYWxsIHdoYXQgd2UgY2FuIHJlYWQsCisJICogYW5kIHRoZW4gcmVsZWFzZSB0aGUgbG9ja3MgYWdhaW4uCisJICovCisKKwljcHVzX2NsZWFyKG1hc2spOworCWxvY2FsX2lycV9zYXZlKGZsYWdzKTsKKyNpZmRlZiBDT05GSUdfRlRSQUNFCisJZnRyYWNlX3NhdmUgPSBmdHJhY2VfZW5hYmxlZDsKKwlmdHJhY2VfZW5hYmxlZCA9IDA7CisjZW5kaWYKKwlzbXBfd21iKCk7CisJZm9yX2VhY2hfdHJhY2luZ19jcHUoY3B1KSB7CisJCWRhdGEgPSBpdGVyLT50ci0+ZGF0YVtjcHVdOworCisJCWlmICghaGVhZF9wYWdlKGRhdGEpIHx8ICFkYXRhLT50cmFjZV9pZHgpCisJCQljb250aW51ZTsKKworCQlhdG9taWNfaW5jKCZkYXRhLT5kaXNhYmxlZCk7CisJCWNwdV9zZXQoY3B1LCBtYXNrKTsKKwl9CisKKwlmb3JfZWFjaF9jcHVfbWFzayhjcHUsIG1hc2spIHsKKwkJZGF0YSA9IGl0ZXItPnRyLT5kYXRhW2NwdV07CisJCV9fcmF3X3NwaW5fbG9jaygmZGF0YS0+bG9jayk7CisKKwkJaWYgKGRhdGEtPm92ZXJydW4gPiBpdGVyLT5sYXN0X292ZXJydW5bY3B1XSkKKwkJCWl0ZXItPm92ZXJydW5bY3B1XSArPQorCQkJCWRhdGEtPm92ZXJydW4gLSBpdGVyLT5sYXN0X292ZXJydW5bY3B1XTsKKwkJaXRlci0+bGFzdF9vdmVycnVuW2NwdV0gPSBkYXRhLT5vdmVycnVuOworCX0KKworCXdoaWxlIChmaW5kX25leHRfZW50cnlfaW5jKGl0ZXIpICE9IE5VTEwpIHsKKwkJaW50IHJldDsKKwkJaW50IGxlbiA9IGl0ZXItPnNlcS5sZW47CisKKwkJcmV0ID0gcHJpbnRfdHJhY2VfbGluZShpdGVyKTsKKwkJaWYgKCFyZXQpIHsKKwkJCS8qIGRvbid0IHByaW50IHBhcnRpYWwgbGluZXMgKi8KKwkJCWl0ZXItPnNlcS5sZW4gPSBsZW47CisJCQlicmVhazsKKwkJfQorCisJCXRyYWNlX2NvbnN1bWUoaXRlcik7CisKKwkJaWYgKGl0ZXItPnNlcS5sZW4gPj0gY250KQorCQkJYnJlYWs7CisJfQorCisJZm9yX2VhY2hfY3B1X21hc2soY3B1LCBtYXNrKSB7CisJCWRhdGEgPSBpdGVyLT50ci0+ZGF0YVtjcHVdOworCQlfX3Jhd19zcGluX3VubG9jaygmZGF0YS0+bG9jayk7CisJfQorCisJZm9yX2VhY2hfY3B1X21hc2soY3B1LCBtYXNrKSB7CisJCWRhdGEgPSBpdGVyLT50ci0+ZGF0YVtjcHVdOworCQlhdG9taWNfZGVjKCZkYXRhLT5kaXNhYmxlZCk7CisJfQorI2lmZGVmIENPTkZJR19GVFJBQ0UKKwlmdHJhY2VfZW5hYmxlZCA9IGZ0cmFjZV9zYXZlOworI2VuZGlmCisJbG9jYWxfaXJxX3Jlc3RvcmUoZmxhZ3MpOworCisJLyogTm93IGNvcHkgd2hhdCB3ZSBoYXZlIHRvIHRoZSB1c2VyICovCisJc3JldCA9IHRyYWNlX3NlcV90b191c2VyKCZpdGVyLT5zZXEsIHVidWYsIGNudCk7CisJaWYgKGl0ZXItPnNlcS5yZWFkcG9zID49IGl0ZXItPnNlcS5sZW4pCisJCXRyYWNlX3NlcV9yZXNldCgmaXRlci0+c2VxKTsKKwlpZiAoc3JldCA9PSAtRUJVU1kpCisJCXNyZXQgPSAwOworCitvdXQ6CisJbXV0ZXhfdW5sb2NrKCZ0cmFjZV90eXBlc19sb2NrKTsKKworCXJldHVybiBzcmV0OworfQorCitzdGF0aWMgc3NpemVfdAordHJhY2luZ19lbnRyaWVzX3JlYWQoc3RydWN0IGZpbGUgKmZpbHAsIGNoYXIgX191c2VyICp1YnVmLAorCQkgICAgIHNpemVfdCBjbnQsIGxvZmZfdCAqcHBvcykKK3sKKwlzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyID0gZmlscC0+cHJpdmF0ZV9kYXRhOworCWNoYXIgYnVmWzY0XTsKKwlpbnQgcjsKKworCXIgPSBzcHJpbnRmKGJ1ZiwgIiVsdVxuIiwgdHItPmVudHJpZXMpOworCXJldHVybiBzaW1wbGVfcmVhZF9mcm9tX2J1ZmZlcih1YnVmLCBjbnQsIHBwb3MsIGJ1Ziwgcik7Cit9CisKK3N0YXRpYyBzc2l6ZV90Cit0cmFjaW5nX2VudHJpZXNfd3JpdGUoc3RydWN0IGZpbGUgKmZpbHAsIGNvbnN0IGNoYXIgX191c2VyICp1YnVmLAorCQkgICAgICBzaXplX3QgY250LCBsb2ZmX3QgKnBwb3MpCit7CisJdW5zaWduZWQgbG9uZyB2YWw7CisJY2hhciBidWZbNjRdOworCWludCBpLCByZXQ7CisKKwlpZiAoY250ID49IHNpemVvZihidWYpKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWlmIChjb3B5X2Zyb21fdXNlcigmYnVmLCB1YnVmLCBjbnQpKQorCQlyZXR1cm4gLUVGQVVMVDsKKworCWJ1ZltjbnRdID0gMDsKKworCXJldCA9IHN0cmljdF9zdHJ0b3VsKGJ1ZiwgMTAsICZ2YWwpOworCWlmIChyZXQgPCAwKQorCQlyZXR1cm4gcmV0OworCisJLyogbXVzdCBoYXZlIGF0IGxlYXN0IDEgZW50cnkgKi8KKwlpZiAoIXZhbCkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwltdXRleF9sb2NrKCZ0cmFjZV90eXBlc19sb2NrKTsKKworCWlmIChjdXJyZW50X3RyYWNlICE9ICZub190cmFjZXIpIHsKKwkJY250ID0gLUVCVVNZOworCQlwcl9pbmZvKCJmdHJhY2U6IHNldCBjdXJyZW50X3RyYWNlciB0byBub25lIgorCQkJIiBiZWZvcmUgbW9kaWZ5aW5nIGJ1ZmZlciBzaXplXG4iKTsKKwkJZ290byBvdXQ7CisJfQorCisJaWYgKHZhbCA+IGdsb2JhbF90cmFjZS5lbnRyaWVzKSB7CisJCWxvbmcgcGFnZXNfcmVxdWVzdGVkOworCQl1bnNpZ25lZCBsb25nIGZyZWVhYmxlX3BhZ2VzOworCisJCS8qIG1ha2Ugc3VyZSB3ZSBoYXZlIGVub3VnaCBtZW1vcnkgYmVmb3JlIG1hcHBpbmcgKi8KKwkJcGFnZXNfcmVxdWVzdGVkID0KKwkJCSh2YWwgKyAoRU5UUklFU19QRVJfUEFHRS0xKSkgLyBFTlRSSUVTX1BFUl9QQUdFOworCisJCS8qIGFjY291bnQgZm9yIGVhY2ggYnVmZmVyIChhbmQgbWF4X3RyKSAqLworCQlwYWdlc19yZXF1ZXN0ZWQgKj0gdHJhY2luZ19ucl9idWZmZXJzICogMjsKKworCQkvKiBDaGVjayBmb3Igb3ZlcmZsb3cgKi8KKwkJaWYgKHBhZ2VzX3JlcXVlc3RlZCA8IDApIHsKKwkJCWNudCA9IC1FTk9NRU07CisJCQlnb3RvIG91dDsKKwkJfQorCisJCWZyZWVhYmxlX3BhZ2VzID0gZGV0ZXJtaW5lX2RpcnR5YWJsZV9tZW1vcnkoKTsKKworCQkvKiB3ZSBvbmx5IGFsbG93IHRvIHJlcXVlc3QgMS80IG9mIHVzZWFibGUgbWVtb3J5ICovCisJCWlmIChwYWdlc19yZXF1ZXN0ZWQgPgorCQkgICAgKChmcmVlYWJsZV9wYWdlcyArIHRyYWNpbmdfcGFnZXNfYWxsb2NhdGVkKSAvIDQpKSB7CisJCQljbnQgPSAtRU5PTUVNOworCQkJZ290byBvdXQ7CisJCX0KKworCQl3aGlsZSAoZ2xvYmFsX3RyYWNlLmVudHJpZXMgPCB2YWwpIHsKKwkJCWlmICh0cmFjZV9hbGxvY19wYWdlKCkpIHsKKwkJCQljbnQgPSAtRU5PTUVNOworCQkJCWdvdG8gb3V0OworCQkJfQorCQkJLyogZG91YmxlIGNoZWNrIHRoYXQgd2UgZG9uJ3QgZ28gb3ZlciB0aGUga25vd24gcGFnZXMgKi8KKwkJCWlmICh0cmFjaW5nX3BhZ2VzX2FsbG9jYXRlZCA+IHBhZ2VzX3JlcXVlc3RlZCkKKwkJCQlicmVhazsKKwkJfQorCisJfSBlbHNlIHsKKwkJLyogaW5jbHVkZSB0aGUgbnVtYmVyIG9mIGVudHJpZXMgaW4gdmFsIChpbmMgb2YgcGFnZSBlbnRyaWVzKSAqLworCQl3aGlsZSAoZ2xvYmFsX3RyYWNlLmVudHJpZXMgPiB2YWwgKyAoRU5UUklFU19QRVJfUEFHRSAtIDEpKQorCQkJdHJhY2VfZnJlZV9wYWdlKCk7CisJfQorCisJLyogY2hlY2sgaW50ZWdyaXR5ICovCisJZm9yX2VhY2hfdHJhY2luZ19jcHUoaSkKKwkJY2hlY2tfcGFnZXMoZ2xvYmFsX3RyYWNlLmRhdGFbaV0pOworCisJZmlscC0+Zl9wb3MgKz0gY250OworCisJLyogSWYgY2hlY2sgcGFnZXMgZmFpbGVkLCByZXR1cm4gRU5PTUVNICovCisJaWYgKHRyYWNpbmdfZGlzYWJsZWQpCisJCWNudCA9IC1FTk9NRU07Cisgb3V0OgorCW1heF90ci5lbnRyaWVzID0gZ2xvYmFsX3RyYWNlLmVudHJpZXM7CisJbXV0ZXhfdW5sb2NrKCZ0cmFjZV90eXBlc19sb2NrKTsKKworCXJldHVybiBjbnQ7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zIHRyYWNpbmdfbWF4X2xhdF9mb3BzID0geworCS5vcGVuCQk9IHRyYWNpbmdfb3Blbl9nZW5lcmljLAorCS5yZWFkCQk9IHRyYWNpbmdfbWF4X2xhdF9yZWFkLAorCS53cml0ZQkJPSB0cmFjaW5nX21heF9sYXRfd3JpdGUsCit9OworCitzdGF0aWMgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyB0cmFjaW5nX2N0cmxfZm9wcyA9IHsKKwkub3BlbgkJPSB0cmFjaW5nX29wZW5fZ2VuZXJpYywKKwkucmVhZAkJPSB0cmFjaW5nX2N0cmxfcmVhZCwKKwkud3JpdGUJCT0gdHJhY2luZ19jdHJsX3dyaXRlLAorfTsKKworc3RhdGljIHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgc2V0X3RyYWNlcl9mb3BzID0geworCS5vcGVuCQk9IHRyYWNpbmdfb3Blbl9nZW5lcmljLAorCS5yZWFkCQk9IHRyYWNpbmdfc2V0X3RyYWNlX3JlYWQsCisJLndyaXRlCQk9IHRyYWNpbmdfc2V0X3RyYWNlX3dyaXRlLAorfTsKKworc3RhdGljIHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgdHJhY2luZ19waXBlX2ZvcHMgPSB7CisJLm9wZW4JCT0gdHJhY2luZ19vcGVuX3BpcGUsCisJLnBvbGwJCT0gdHJhY2luZ19wb2xsX3BpcGUsCisJLnJlYWQJCT0gdHJhY2luZ19yZWFkX3BpcGUsCisJLnJlbGVhc2UJPSB0cmFjaW5nX3JlbGVhc2VfcGlwZSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zIHRyYWNpbmdfZW50cmllc19mb3BzID0geworCS5vcGVuCQk9IHRyYWNpbmdfb3Blbl9nZW5lcmljLAorCS5yZWFkCQk9IHRyYWNpbmdfZW50cmllc19yZWFkLAorCS53cml0ZQkJPSB0cmFjaW5nX2VudHJpZXNfd3JpdGUsCit9OworCisjaWZkZWYgQ09ORklHX0RZTkFNSUNfRlRSQUNFCisKK3N0YXRpYyBzc2l6ZV90Cit0cmFjaW5nX3JlYWRfbG9uZyhzdHJ1Y3QgZmlsZSAqZmlscCwgY2hhciBfX3VzZXIgKnVidWYsCisJCSAgc2l6ZV90IGNudCwgbG9mZl90ICpwcG9zKQoreworCXVuc2lnbmVkIGxvbmcgKnAgPSBmaWxwLT5wcml2YXRlX2RhdGE7CisJY2hhciBidWZbNjRdOworCWludCByOworCisJciA9IHNwcmludGYoYnVmLCAiJWxkXG4iLCAqcCk7CisKKwlyZXR1cm4gc2ltcGxlX3JlYWRfZnJvbV9idWZmZXIodWJ1ZiwgY250LCBwcG9zLCBidWYsIHIpOworfQorCitzdGF0aWMgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyB0cmFjaW5nX3JlYWRfbG9uZ19mb3BzID0geworCS5vcGVuCQk9IHRyYWNpbmdfb3Blbl9nZW5lcmljLAorCS5yZWFkCQk9IHRyYWNpbmdfcmVhZF9sb25nLAorfTsKKyNlbmRpZgorCitzdGF0aWMgc3RydWN0IGRlbnRyeSAqZF90cmFjZXI7CisKK3N0cnVjdCBkZW50cnkgKnRyYWNpbmdfaW5pdF9kZW50cnkodm9pZCkKK3sKKwlzdGF0aWMgaW50IG9uY2U7CisKKwlpZiAoZF90cmFjZXIpCisJCXJldHVybiBkX3RyYWNlcjsKKworCWRfdHJhY2VyID0gZGVidWdmc19jcmVhdGVfZGlyKCJ0cmFjaW5nIiwgTlVMTCk7CisKKwlpZiAoIWRfdHJhY2VyICYmICFvbmNlKSB7CisJCW9uY2UgPSAxOworCQlwcl93YXJuaW5nKCJDb3VsZCBub3QgY3JlYXRlIGRlYnVnZnMgZGlyZWN0b3J5ICd0cmFjaW5nJ1xuIik7CisJCXJldHVybiBOVUxMOworCX0KKworCXJldHVybiBkX3RyYWNlcjsKK30KKworI2lmZGVmIENPTkZJR19GVFJBQ0VfU0VMRlRFU1QKKy8qIExldCBzZWxmdGVzdCBoYXZlIGFjY2VzcyB0byBzdGF0aWMgZnVuY3Rpb25zIGluIHRoaXMgZmlsZSAqLworI2luY2x1ZGUgInRyYWNlX3NlbGZ0ZXN0LmMiCisjZW5kaWYKKworc3RhdGljIF9faW5pdCB2b2lkIHRyYWNlcl9pbml0X2RlYnVnZnModm9pZCkKK3sKKwlzdHJ1Y3QgZGVudHJ5ICpkX3RyYWNlcjsKKwlzdHJ1Y3QgZGVudHJ5ICplbnRyeTsKKworCWRfdHJhY2VyID0gdHJhY2luZ19pbml0X2RlbnRyeSgpOworCisJZW50cnkgPSBkZWJ1Z2ZzX2NyZWF0ZV9maWxlKCJ0cmFjaW5nX2VuYWJsZWQiLCAwNjQ0LCBkX3RyYWNlciwKKwkJCQkgICAgJmdsb2JhbF90cmFjZSwgJnRyYWNpbmdfY3RybF9mb3BzKTsKKwlpZiAoIWVudHJ5KQorCQlwcl93YXJuaW5nKCJDb3VsZCBub3QgY3JlYXRlIGRlYnVnZnMgJ3RyYWNpbmdfZW5hYmxlZCcgZW50cnlcbiIpOworCisJZW50cnkgPSBkZWJ1Z2ZzX2NyZWF0ZV9maWxlKCJpdGVyX2N0cmwiLCAwNjQ0LCBkX3RyYWNlciwKKwkJCQkgICAgTlVMTCwgJnRyYWNpbmdfaXRlcl9mb3BzKTsKKwlpZiAoIWVudHJ5KQorCQlwcl93YXJuaW5nKCJDb3VsZCBub3QgY3JlYXRlIGRlYnVnZnMgJ2l0ZXJfY3RybCcgZW50cnlcbiIpOworCisJZW50cnkgPSBkZWJ1Z2ZzX2NyZWF0ZV9maWxlKCJ0cmFjaW5nX2NwdW1hc2siLCAwNjQ0LCBkX3RyYWNlciwKKwkJCQkgICAgTlVMTCwgJnRyYWNpbmdfY3B1bWFza19mb3BzKTsKKwlpZiAoIWVudHJ5KQorCQlwcl93YXJuaW5nKCJDb3VsZCBub3QgY3JlYXRlIGRlYnVnZnMgJ3RyYWNpbmdfY3B1bWFzaycgZW50cnlcbiIpOworCisJZW50cnkgPSBkZWJ1Z2ZzX2NyZWF0ZV9maWxlKCJsYXRlbmN5X3RyYWNlIiwgMDQ0NCwgZF90cmFjZXIsCisJCQkJICAgICZnbG9iYWxfdHJhY2UsICZ0cmFjaW5nX2x0X2ZvcHMpOworCWlmICghZW50cnkpCisJCXByX3dhcm5pbmcoIkNvdWxkIG5vdCBjcmVhdGUgZGVidWdmcyAnbGF0ZW5jeV90cmFjZScgZW50cnlcbiIpOworCisJZW50cnkgPSBkZWJ1Z2ZzX2NyZWF0ZV9maWxlKCJ0cmFjZSIsIDA0NDQsIGRfdHJhY2VyLAorCQkJCSAgICAmZ2xvYmFsX3RyYWNlLCAmdHJhY2luZ19mb3BzKTsKKwlpZiAoIWVudHJ5KQorCQlwcl93YXJuaW5nKCJDb3VsZCBub3QgY3JlYXRlIGRlYnVnZnMgJ3RyYWNlJyBlbnRyeVxuIik7CisKKwllbnRyeSA9IGRlYnVnZnNfY3JlYXRlX2ZpbGUoImF2YWlsYWJsZV90cmFjZXJzIiwgMDQ0NCwgZF90cmFjZXIsCisJCQkJICAgICZnbG9iYWxfdHJhY2UsICZzaG93X3RyYWNlc19mb3BzKTsKKwlpZiAoIWVudHJ5KQorCQlwcl93YXJuaW5nKCJDb3VsZCBub3QgY3JlYXRlIGRlYnVnZnMgJ3RyYWNlJyBlbnRyeVxuIik7CisKKwllbnRyeSA9IGRlYnVnZnNfY3JlYXRlX2ZpbGUoImN1cnJlbnRfdHJhY2VyIiwgMDQ0NCwgZF90cmFjZXIsCisJCQkJICAgICZnbG9iYWxfdHJhY2UsICZzZXRfdHJhY2VyX2ZvcHMpOworCWlmICghZW50cnkpCisJCXByX3dhcm5pbmcoIkNvdWxkIG5vdCBjcmVhdGUgZGVidWdmcyAndHJhY2UnIGVudHJ5XG4iKTsKKworCWVudHJ5ID0gZGVidWdmc19jcmVhdGVfZmlsZSgidHJhY2luZ19tYXhfbGF0ZW5jeSIsIDA2NDQsIGRfdHJhY2VyLAorCQkJCSAgICAmdHJhY2luZ19tYXhfbGF0ZW5jeSwKKwkJCQkgICAgJnRyYWNpbmdfbWF4X2xhdF9mb3BzKTsKKwlpZiAoIWVudHJ5KQorCQlwcl93YXJuaW5nKCJDb3VsZCBub3QgY3JlYXRlIGRlYnVnZnMgIgorCQkJICAgIid0cmFjaW5nX21heF9sYXRlbmN5JyBlbnRyeVxuIik7CisKKwllbnRyeSA9IGRlYnVnZnNfY3JlYXRlX2ZpbGUoInRyYWNpbmdfdGhyZXNoIiwgMDY0NCwgZF90cmFjZXIsCisJCQkJICAgICZ0cmFjaW5nX3RocmVzaCwgJnRyYWNpbmdfbWF4X2xhdF9mb3BzKTsKKwlpZiAoIWVudHJ5KQorCQlwcl93YXJuaW5nKCJDb3VsZCBub3QgY3JlYXRlIGRlYnVnZnMgIgorCQkJICAgIid0cmFjaW5nX3RocmVhc2gnIGVudHJ5XG4iKTsKKwllbnRyeSA9IGRlYnVnZnNfY3JlYXRlX2ZpbGUoIlJFQURNRSIsIDA2NDQsIGRfdHJhY2VyLAorCQkJCSAgICBOVUxMLCAmdHJhY2luZ19yZWFkbWVfZm9wcyk7CisJaWYgKCFlbnRyeSkKKwkJcHJfd2FybmluZygiQ291bGQgbm90IGNyZWF0ZSBkZWJ1Z2ZzICdSRUFETUUnIGVudHJ5XG4iKTsKKworCWVudHJ5ID0gZGVidWdmc19jcmVhdGVfZmlsZSgidHJhY2VfcGlwZSIsIDA2NDQsIGRfdHJhY2VyLAorCQkJCSAgICBOVUxMLCAmdHJhY2luZ19waXBlX2ZvcHMpOworCWlmICghZW50cnkpCisJCXByX3dhcm5pbmcoIkNvdWxkIG5vdCBjcmVhdGUgZGVidWdmcyAiCisJCQkgICAiJ3RyYWNpbmdfdGhyZWFzaCcgZW50cnlcbiIpOworCisJZW50cnkgPSBkZWJ1Z2ZzX2NyZWF0ZV9maWxlKCJ0cmFjZV9lbnRyaWVzIiwgMDY0NCwgZF90cmFjZXIsCisJCQkJICAgICZnbG9iYWxfdHJhY2UsICZ0cmFjaW5nX2VudHJpZXNfZm9wcyk7CisJaWYgKCFlbnRyeSkKKwkJcHJfd2FybmluZygiQ291bGQgbm90IGNyZWF0ZSBkZWJ1Z2ZzICIKKwkJCSAgICIndHJhY2luZ190aHJlYXNoJyBlbnRyeVxuIik7CisKKyNpZmRlZiBDT05GSUdfRFlOQU1JQ19GVFJBQ0UKKwllbnRyeSA9IGRlYnVnZnNfY3JlYXRlX2ZpbGUoImR5bl9mdHJhY2VfdG90YWxfaW5mbyIsIDA0NDQsIGRfdHJhY2VyLAorCQkJCSAgICAmZnRyYWNlX3VwZGF0ZV90b3RfY250LAorCQkJCSAgICAmdHJhY2luZ19yZWFkX2xvbmdfZm9wcyk7CisJaWYgKCFlbnRyeSkKKwkJcHJfd2FybmluZygiQ291bGQgbm90IGNyZWF0ZSBkZWJ1Z2ZzICIKKwkJCSAgICInZHluX2Z0cmFjZV90b3RhbF9pbmZvJyBlbnRyeVxuIik7CisjZW5kaWYKKyNpZmRlZiBDT05GSUdfU1lTUFJPRl9UUkFDRVIKKwlpbml0X3RyYWNlcl9zeXNwcm9mX2RlYnVnZnMoZF90cmFjZXIpOworI2VuZGlmCit9CisKK3N0YXRpYyBpbnQgdHJhY2VfYWxsb2NfcGFnZSh2b2lkKQoreworCXN0cnVjdCB0cmFjZV9hcnJheV9jcHUgKmRhdGE7CisJc3RydWN0IHBhZ2UgKnBhZ2UsICp0bXA7CisJTElTVF9IRUFEKHBhZ2VzKTsKKwl2b2lkICphcnJheTsKKwl1bnNpZ25lZCBwYWdlc19hbGxvY2F0ZWQgPSAwOworCWludCBpOworCisJLyogZmlyc3QgYWxsb2NhdGUgYSBwYWdlIGZvciBlYWNoIENQVSAqLworCWZvcl9lYWNoX3RyYWNpbmdfY3B1KGkpIHsKKwkJYXJyYXkgPSAodm9pZCAqKV9fZ2V0X2ZyZWVfcGFnZShHRlBfS0VSTkVMKTsKKwkJaWYgKGFycmF5ID09IE5VTEwpIHsKKwkJCXByaW50ayhLRVJOX0VSUiAidHJhY2VyOiBmYWlsZWQgdG8gYWxsb2NhdGUgcGFnZSIKKwkJCSAgICAgICAiZm9yIHRyYWNlIGJ1ZmZlciFcbiIpOworCQkJZ290byBmcmVlX3BhZ2VzOworCQl9CisKKwkJcGFnZXNfYWxsb2NhdGVkKys7CisJCXBhZ2UgPSB2aXJ0X3RvX3BhZ2UoYXJyYXkpOworCQlsaXN0X2FkZCgmcGFnZS0+bHJ1LCAmcGFnZXMpOworCisvKiBPbmx5IGFsbG9jYXRlIGlmIHdlIGFyZSBhY3R1YWxseSB1c2luZyB0aGUgbWF4IHRyYWNlICovCisjaWZkZWYgQ09ORklHX1RSQUNFUl9NQVhfVFJBQ0UKKwkJYXJyYXkgPSAodm9pZCAqKV9fZ2V0X2ZyZWVfcGFnZShHRlBfS0VSTkVMKTsKKwkJaWYgKGFycmF5ID09IE5VTEwpIHsKKwkJCXByaW50ayhLRVJOX0VSUiAidHJhY2VyOiBmYWlsZWQgdG8gYWxsb2NhdGUgcGFnZSIKKwkJCSAgICAgICAiZm9yIHRyYWNlIGJ1ZmZlciFcbiIpOworCQkJZ290byBmcmVlX3BhZ2VzOworCQl9CisJCXBhZ2VzX2FsbG9jYXRlZCsrOworCQlwYWdlID0gdmlydF90b19wYWdlKGFycmF5KTsKKwkJbGlzdF9hZGQoJnBhZ2UtPmxydSwgJnBhZ2VzKTsKKyNlbmRpZgorCX0KKworCS8qIE5vdyB0aGF0IHdlIHN1Y2Nlc3NmdWxseSBhbGxvY2F0ZSBhIHBhZ2UgcGVyIENQVSwgYWRkIHRoZW0gKi8KKwlmb3JfZWFjaF90cmFjaW5nX2NwdShpKSB7CisJCWRhdGEgPSBnbG9iYWxfdHJhY2UuZGF0YVtpXTsKKwkJcGFnZSA9IGxpc3RfZW50cnkocGFnZXMubmV4dCwgc3RydWN0IHBhZ2UsIGxydSk7CisJCWxpc3RfZGVsX2luaXQoJnBhZ2UtPmxydSk7CisJCWxpc3RfYWRkX3RhaWwoJnBhZ2UtPmxydSwgJmRhdGEtPnRyYWNlX3BhZ2VzKTsKKwkJQ2xlYXJQYWdlTFJVKHBhZ2UpOworCisjaWZkZWYgQ09ORklHX1RSQUNFUl9NQVhfVFJBQ0UKKwkJZGF0YSA9IG1heF90ci5kYXRhW2ldOworCQlwYWdlID0gbGlzdF9lbnRyeShwYWdlcy5uZXh0LCBzdHJ1Y3QgcGFnZSwgbHJ1KTsKKwkJbGlzdF9kZWxfaW5pdCgmcGFnZS0+bHJ1KTsKKwkJbGlzdF9hZGRfdGFpbCgmcGFnZS0+bHJ1LCAmZGF0YS0+dHJhY2VfcGFnZXMpOworCQlTZXRQYWdlTFJVKHBhZ2UpOworI2VuZGlmCisJfQorCXRyYWNpbmdfcGFnZXNfYWxsb2NhdGVkICs9IHBhZ2VzX2FsbG9jYXRlZDsKKwlnbG9iYWxfdHJhY2UuZW50cmllcyArPSBFTlRSSUVTX1BFUl9QQUdFOworCisJcmV0dXJuIDA7CisKKyBmcmVlX3BhZ2VzOgorCWxpc3RfZm9yX2VhY2hfZW50cnlfc2FmZShwYWdlLCB0bXAsICZwYWdlcywgbHJ1KSB7CisJCWxpc3RfZGVsX2luaXQoJnBhZ2UtPmxydSk7CisJCV9fZnJlZV9wYWdlKHBhZ2UpOworCX0KKwlyZXR1cm4gLUVOT01FTTsKK30KKworc3RhdGljIGludCB0cmFjZV9mcmVlX3BhZ2Uodm9pZCkKK3sKKwlzdHJ1Y3QgdHJhY2VfYXJyYXlfY3B1ICpkYXRhOworCXN0cnVjdCBwYWdlICpwYWdlOworCXN0cnVjdCBsaXN0X2hlYWQgKnA7CisJaW50IGk7CisJaW50IHJldCA9IDA7CisKKwkvKiBmcmVlIG9uZSBwYWdlIGZyb20gZWFjaCBidWZmZXIgKi8KKwlmb3JfZWFjaF90cmFjaW5nX2NwdShpKSB7CisJCWRhdGEgPSBnbG9iYWxfdHJhY2UuZGF0YVtpXTsKKwkJcCA9IGRhdGEtPnRyYWNlX3BhZ2VzLm5leHQ7CisJCWlmIChwID09ICZkYXRhLT50cmFjZV9wYWdlcykgeworCQkJLyogc2hvdWxkIG5ldmVyIGhhcHBlbiAqLworCQkJV0FSTl9PTigxKTsKKwkJCXRyYWNpbmdfZGlzYWJsZWQgPSAxOworCQkJcmV0ID0gLTE7CisJCQlicmVhazsKKwkJfQorCQlwYWdlID0gbGlzdF9lbnRyeShwLCBzdHJ1Y3QgcGFnZSwgbHJ1KTsKKwkJQ2xlYXJQYWdlTFJVKHBhZ2UpOworCQlsaXN0X2RlbCgmcGFnZS0+bHJ1KTsKKwkJdHJhY2luZ19wYWdlc19hbGxvY2F0ZWQtLTsKKwkJdHJhY2luZ19wYWdlc19hbGxvY2F0ZWQtLTsKKwkJX19mcmVlX3BhZ2UocGFnZSk7CisKKwkJdHJhY2luZ19yZXNldChkYXRhKTsKKworI2lmZGVmIENPTkZJR19UUkFDRVJfTUFYX1RSQUNFCisJCWRhdGEgPSBtYXhfdHIuZGF0YVtpXTsKKwkJcCA9IGRhdGEtPnRyYWNlX3BhZ2VzLm5leHQ7CisJCWlmIChwID09ICZkYXRhLT50cmFjZV9wYWdlcykgeworCQkJLyogc2hvdWxkIG5ldmVyIGhhcHBlbiAqLworCQkJV0FSTl9PTigxKTsKKwkJCXRyYWNpbmdfZGlzYWJsZWQgPSAxOworCQkJcmV0ID0gLTE7CisJCQlicmVhazsKKwkJfQorCQlwYWdlID0gbGlzdF9lbnRyeShwLCBzdHJ1Y3QgcGFnZSwgbHJ1KTsKKwkJQ2xlYXJQYWdlTFJVKHBhZ2UpOworCQlsaXN0X2RlbCgmcGFnZS0+bHJ1KTsKKwkJX19mcmVlX3BhZ2UocGFnZSk7CisKKwkJdHJhY2luZ19yZXNldChkYXRhKTsKKyNlbmRpZgorCX0KKwlnbG9iYWxfdHJhY2UuZW50cmllcyAtPSBFTlRSSUVTX1BFUl9QQUdFOworCisJcmV0dXJuIHJldDsKK30KKworX19pbml0IHN0YXRpYyBpbnQgdHJhY2VyX2FsbG9jX2J1ZmZlcnModm9pZCkKK3sKKwlzdHJ1Y3QgdHJhY2VfYXJyYXlfY3B1ICpkYXRhOworCXZvaWQgKmFycmF5OworCXN0cnVjdCBwYWdlICpwYWdlOworCWludCBwYWdlcyA9IDA7CisJaW50IHJldCA9IC1FTk9NRU07CisJaW50IGk7CisKKwkvKiBUT0RPOiBtYWtlIHRoZSBudW1iZXIgb2YgYnVmZmVycyBob3QgcGx1Z2dhYmxlIHdpdGggQ1BVUyAqLworCXRyYWNpbmdfbnJfYnVmZmVycyA9IG51bV9wb3NzaWJsZV9jcHVzKCk7CisJdHJhY2luZ19idWZmZXJfbWFzayA9IGNwdV9wb3NzaWJsZV9tYXA7CisKKwkvKiBBbGxvY2F0ZSB0aGUgZmlyc3QgcGFnZSBmb3IgYWxsIGJ1ZmZlcnMgKi8KKwlmb3JfZWFjaF90cmFjaW5nX2NwdShpKSB7CisJCWRhdGEgPSBnbG9iYWxfdHJhY2UuZGF0YVtpXSA9ICZwZXJfY3B1KGdsb2JhbF90cmFjZV9jcHUsIGkpOworCQltYXhfdHIuZGF0YVtpXSA9ICZwZXJfY3B1KG1heF9kYXRhLCBpKTsKKworCQlhcnJheSA9ICh2b2lkICopX19nZXRfZnJlZV9wYWdlKEdGUF9LRVJORUwpOworCQlpZiAoYXJyYXkgPT0gTlVMTCkgeworCQkJcHJpbnRrKEtFUk5fRVJSICJ0cmFjZXI6IGZhaWxlZCB0byBhbGxvY2F0ZSBwYWdlIgorCQkJICAgICAgICJmb3IgdHJhY2UgYnVmZmVyIVxuIik7CisJCQlnb3RvIGZyZWVfYnVmZmVyczsKKwkJfQorCisJCS8qIHNldCB0aGUgYXJyYXkgdG8gdGhlIGxpc3QgKi8KKwkJSU5JVF9MSVNUX0hFQUQoJmRhdGEtPnRyYWNlX3BhZ2VzKTsKKwkJcGFnZSA9IHZpcnRfdG9fcGFnZShhcnJheSk7CisJCWxpc3RfYWRkKCZwYWdlLT5scnUsICZkYXRhLT50cmFjZV9wYWdlcyk7CisJCS8qIHVzZSB0aGUgTFJVIGZsYWcgdG8gZGlmZmVyZW50aWF0ZSB0aGUgdHdvIGJ1ZmZlcnMgKi8KKwkJQ2xlYXJQYWdlTFJVKHBhZ2UpOworCisJCWRhdGEtPmxvY2sgPSAocmF3X3NwaW5sb2NrX3QpX19SQVdfU1BJTl9MT0NLX1VOTE9DS0VEOworCQltYXhfdHIuZGF0YVtpXS0+bG9jayA9IChyYXdfc3BpbmxvY2tfdClfX1JBV19TUElOX0xPQ0tfVU5MT0NLRUQ7CisKKy8qIE9ubHkgYWxsb2NhdGUgaWYgd2UgYXJlIGFjdHVhbGx5IHVzaW5nIHRoZSBtYXggdHJhY2UgKi8KKyNpZmRlZiBDT05GSUdfVFJBQ0VSX01BWF9UUkFDRQorCQlhcnJheSA9ICh2b2lkICopX19nZXRfZnJlZV9wYWdlKEdGUF9LRVJORUwpOworCQlpZiAoYXJyYXkgPT0gTlVMTCkgeworCQkJcHJpbnRrKEtFUk5fRVJSICJ0cmFjZXI6IGZhaWxlZCB0byBhbGxvY2F0ZSBwYWdlIgorCQkJICAgICAgICJmb3IgdHJhY2UgYnVmZmVyIVxuIik7CisJCQlnb3RvIGZyZWVfYnVmZmVyczsKKwkJfQorCisJCUlOSVRfTElTVF9IRUFEKCZtYXhfdHIuZGF0YVtpXS0+dHJhY2VfcGFnZXMpOworCQlwYWdlID0gdmlydF90b19wYWdlKGFycmF5KTsKKwkJbGlzdF9hZGQoJnBhZ2UtPmxydSwgJm1heF90ci5kYXRhW2ldLT50cmFjZV9wYWdlcyk7CisJCVNldFBhZ2VMUlUocGFnZSk7CisjZW5kaWYKKwl9CisKKwkvKgorCSAqIFNpbmNlIHdlIGFsbG9jYXRlIGJ5IG9yZGVycyBvZiBwYWdlcywgd2UgbWF5IGJlIGFibGUgdG8KKwkgKiByb3VuZCB1cCBhIGJpdC4KKwkgKi8KKwlnbG9iYWxfdHJhY2UuZW50cmllcyA9IEVOVFJJRVNfUEVSX1BBR0U7CisJcGFnZXMrKzsKKworCXdoaWxlIChnbG9iYWxfdHJhY2UuZW50cmllcyA8IHRyYWNlX25yX2VudHJpZXMpIHsKKwkJaWYgKHRyYWNlX2FsbG9jX3BhZ2UoKSkKKwkJCWJyZWFrOworCQlwYWdlcysrOworCX0KKwltYXhfdHIuZW50cmllcyA9IGdsb2JhbF90cmFjZS5lbnRyaWVzOworCisJcHJfaW5mbygidHJhY2VyOiAlZCBwYWdlcyBhbGxvY2F0ZWQgZm9yICVsZCBlbnRyaWVzIG9mICVsZCBieXRlc1xuIiwKKwkJcGFnZXMsIHRyYWNlX25yX2VudHJpZXMsIChsb25nKVRSQUNFX0VOVFJZX1NJWkUpOworCXByX2luZm8oIiAgIGFjdHVhbCBlbnRyaWVzICVsZFxuIiwgZ2xvYmFsX3RyYWNlLmVudHJpZXMpOworCisJdHJhY2VyX2luaXRfZGVidWdmcygpOworCisJdHJhY2VfaW5pdF9jbWRsaW5lcygpOworCisJcmVnaXN0ZXJfdHJhY2VyKCZub190cmFjZXIpOworCWN1cnJlbnRfdHJhY2UgPSAmbm9fdHJhY2VyOworCisJLyogQWxsIHNlZW1zIE9LLCBlbmFibGUgdHJhY2luZyAqLworCWdsb2JhbF90cmFjZS5jdHJsID0gdHJhY2VyX2VuYWJsZWQ7CisJdHJhY2luZ19kaXNhYmxlZCA9IDA7CisKKwlyZXR1cm4gMDsKKworIGZyZWVfYnVmZmVyczoKKwlmb3IgKGktLSA7IGkgPj0gMDsgaS0tKSB7CisJCXN0cnVjdCBwYWdlICpwYWdlLCAqdG1wOworCQlzdHJ1Y3QgdHJhY2VfYXJyYXlfY3B1ICpkYXRhID0gZ2xvYmFsX3RyYWNlLmRhdGFbaV07CisKKwkJaWYgKGRhdGEpIHsKKwkJCWxpc3RfZm9yX2VhY2hfZW50cnlfc2FmZShwYWdlLCB0bXAsCisJCQkJCQkgJmRhdGEtPnRyYWNlX3BhZ2VzLCBscnUpIHsKKwkJCQlsaXN0X2RlbF9pbml0KCZwYWdlLT5scnUpOworCQkJCV9fZnJlZV9wYWdlKHBhZ2UpOworCQkJfQorCQl9CisKKyNpZmRlZiBDT05GSUdfVFJBQ0VSX01BWF9UUkFDRQorCQlkYXRhID0gbWF4X3RyLmRhdGFbaV07CisJCWlmIChkYXRhKSB7CisJCQlsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUocGFnZSwgdG1wLAorCQkJCQkJICZkYXRhLT50cmFjZV9wYWdlcywgbHJ1KSB7CisJCQkJbGlzdF9kZWxfaW5pdCgmcGFnZS0+bHJ1KTsKKwkJCQlfX2ZyZWVfcGFnZShwYWdlKTsKKwkJCX0KKwkJfQorI2VuZGlmCisJfQorCXJldHVybiByZXQ7Cit9Citmc19pbml0Y2FsbCh0cmFjZXJfYWxsb2NfYnVmZmVycyk7CmRpZmYgLS1naXQgYS9rZXJuZWwvdHJhY2UvdHJhY2UuaCBiL2tlcm5lbC90cmFjZS90cmFjZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY2OWY4NjcKLS0tIC9kZXYvbnVsbAorKysgYi9rZXJuZWwvdHJhY2UvdHJhY2UuaApAQCAtMCwwICsxLDMzOSBAQAorI2lmbmRlZiBfTElOVVhfS0VSTkVMX1RSQUNFX0gKKyNkZWZpbmUgX0xJTlVYX0tFUk5FTF9UUkFDRV9ICisKKyNpbmNsdWRlIDxsaW51eC9mcy5oPgorI2luY2x1ZGUgPGFzbS9hdG9taWMuaD4KKyNpbmNsdWRlIDxsaW51eC9zY2hlZC5oPgorI2luY2x1ZGUgPGxpbnV4L2Nsb2Nrc291cmNlLmg+CisjaW5jbHVkZSA8bGludXgvbW1pb3RyYWNlLmg+CisKK2VudW0gdHJhY2VfdHlwZSB7CisJX19UUkFDRV9GSVJTVF9UWVBFID0gMCwKKworCVRSQUNFX0ZOLAorCVRSQUNFX0NUWCwKKwlUUkFDRV9XQUtFLAorCVRSQUNFX1NUQUNLLAorCVRSQUNFX1NQRUNJQUwsCisJVFJBQ0VfTU1JT19SVywKKwlUUkFDRV9NTUlPX01BUCwKKworCV9fVFJBQ0VfTEFTVF9UWVBFCit9OworCisvKgorICogRnVuY3Rpb24gdHJhY2UgZW50cnkgLSBmdW5jdGlvbiBhZGRyZXNzIGFuZCBwYXJlbnQgZnVuY3Rpb24gYWRkcmVzOgorICovCitzdHJ1Y3QgZnRyYWNlX2VudHJ5IHsKKwl1bnNpZ25lZCBsb25nCQlpcDsKKwl1bnNpZ25lZCBsb25nCQlwYXJlbnRfaXA7Cit9OworCisvKgorICogQ29udGV4dCBzd2l0Y2ggdHJhY2UgZW50cnkgLSB3aGljaCB0YXNrIChhbmQgcHJpbykgd2Ugc3dpdGNoZWQgZnJvbS90bzoKKyAqLworc3RydWN0IGN0eF9zd2l0Y2hfZW50cnkgeworCXVuc2lnbmVkIGludAkJcHJldl9waWQ7CisJdW5zaWduZWQgY2hhcgkJcHJldl9wcmlvOworCXVuc2lnbmVkIGNoYXIJCXByZXZfc3RhdGU7CisJdW5zaWduZWQgaW50CQluZXh0X3BpZDsKKwl1bnNpZ25lZCBjaGFyCQluZXh0X3ByaW87CisJdW5zaWduZWQgY2hhcgkJbmV4dF9zdGF0ZTsKK307CisKKy8qCisgKiBTcGVjaWFsIChmcmVlLWZvcm0pIHRyYWNlIGVudHJ5OgorICovCitzdHJ1Y3Qgc3BlY2lhbF9lbnRyeSB7CisJdW5zaWduZWQgbG9uZwkJYXJnMTsKKwl1bnNpZ25lZCBsb25nCQlhcmcyOworCXVuc2lnbmVkIGxvbmcJCWFyZzM7Cit9OworCisvKgorICogU3RhY2stdHJhY2UgZW50cnk6CisgKi8KKworI2RlZmluZSBGVFJBQ0VfU1RBQ0tfRU5UUklFUwk4CisKK3N0cnVjdCBzdGFja19lbnRyeSB7CisJdW5zaWduZWQgbG9uZwkJY2FsbGVyW0ZUUkFDRV9TVEFDS19FTlRSSUVTXTsKK307CisKKy8qCisgKiBUaGUgdHJhY2UgZW50cnkgLSB0aGUgbW9zdCBiYXNpYyB1bml0IG9mIHRyYWNpbmcuIFRoaXMgaXMgd2hhdAorICogaXMgcHJpbnRlZCBpbiB0aGUgZW5kIGFzIGEgc2luZ2xlIGxpbmUgaW4gdGhlIHRyYWNlIG91dHB1dCwgc3VjaCBhczoKKyAqCisgKiAgICAgYmFzaC0xNTgxNiBbMDFdICAgMjM1LjE5NzU4NTogaWRsZV9jcHUgPC0gaXJxX2VudGVyCisgKi8KK3N0cnVjdCB0cmFjZV9lbnRyeSB7CisJY2hhcgkJCXR5cGU7CisJY2hhcgkJCWNwdTsKKwljaGFyCQkJZmxhZ3M7CisJY2hhcgkJCXByZWVtcHRfY291bnQ7CisJaW50CQkJcGlkOworCWN5Y2xlX3QJCQl0OworCXVuaW9uIHsKKwkJc3RydWN0IGZ0cmFjZV9lbnRyeQkJZm47CisJCXN0cnVjdCBjdHhfc3dpdGNoX2VudHJ5CQljdHg7CisJCXN0cnVjdCBzcGVjaWFsX2VudHJ5CQlzcGVjaWFsOworCQlzdHJ1Y3Qgc3RhY2tfZW50cnkJCXN0YWNrOworCQlzdHJ1Y3QgbW1pb3RyYWNlX3J3CQltbWlvcnc7CisJCXN0cnVjdCBtbWlvdHJhY2VfbWFwCQltbWlvbWFwOworCX07Cit9OworCisjZGVmaW5lIFRSQUNFX0VOVFJZX1NJWkUJc2l6ZW9mKHN0cnVjdCB0cmFjZV9lbnRyeSkKKworLyoKKyAqIFRoZSBDUFUgdHJhY2UgYXJyYXkgLSBpdCBjb25zaXN0cyBvZiB0aG91c2FuZHMgb2YgdHJhY2UgZW50cmllcworICogcGx1cyBzb21lIG90aGVyIGRlc2NyaXB0b3IgZGF0YTogKGZvciBleGFtcGxlIHdoaWNoIHRhc2sgc3RhcnRlZAorICogdGhlIHRyYWNlLCBldGMuKQorICovCitzdHJ1Y3QgdHJhY2VfYXJyYXlfY3B1IHsKKwlzdHJ1Y3QgbGlzdF9oZWFkCXRyYWNlX3BhZ2VzOworCWF0b21pY190CQlkaXNhYmxlZDsKKwlyYXdfc3BpbmxvY2tfdAkJbG9jazsKKwlzdHJ1Y3QgbG9ja19jbGFzc19rZXkJbG9ja19rZXk7CisKKwkvKiB0aGVzZSBmaWVsZHMgZ2V0IGNvcGllZCBpbnRvIG1heC10cmFjZTogKi8KKwl1bnNpZ25lZAkJdHJhY2VfaGVhZF9pZHg7CisJdW5zaWduZWQJCXRyYWNlX3RhaWxfaWR4OworCXZvaWQJCQkqdHJhY2VfaGVhZDsgLyogcHJvZHVjZXIgKi8KKwl2b2lkCQkJKnRyYWNlX3RhaWw7IC8qIGNvbnN1bWVyICovCisJdW5zaWduZWQgbG9uZwkJdHJhY2VfaWR4OworCXVuc2lnbmVkIGxvbmcJCW92ZXJydW47CisJdW5zaWduZWQgbG9uZwkJc2F2ZWRfbGF0ZW5jeTsKKwl1bnNpZ25lZCBsb25nCQljcml0aWNhbF9zdGFydDsKKwl1bnNpZ25lZCBsb25nCQljcml0aWNhbF9lbmQ7CisJdW5zaWduZWQgbG9uZwkJY3JpdGljYWxfc2VxdWVuY2U7CisJdW5zaWduZWQgbG9uZwkJbmljZTsKKwl1bnNpZ25lZCBsb25nCQlwb2xpY3k7CisJdW5zaWduZWQgbG9uZwkJcnRfcHJpb3JpdHk7CisJY3ljbGVfdAkJCXByZWVtcHRfdGltZXN0YW1wOworCXBpZF90CQkJcGlkOworCXVpZF90CQkJdWlkOworCWNoYXIJCQljb21tW1RBU0tfQ09NTV9MRU5dOworfTsKKworc3RydWN0IHRyYWNlX2l0ZXJhdG9yOworCisvKgorICogVGhlIHRyYWNlIGFycmF5IC0gYW4gYXJyYXkgb2YgcGVyLUNQVSB0cmFjZSBhcnJheXMuIFRoaXMgaXMgdGhlCisgKiBoaWdoZXN0IGxldmVsIGRhdGEgc3RydWN0dXJlIHRoYXQgaW5kaXZpZHVhbCB0cmFjZXJzIGRlYWwgd2l0aC4KKyAqIFRoZXkgaGF2ZSBvbi9vZmYgc3RhdGUgYXMgd2VsbDoKKyAqLworc3RydWN0IHRyYWNlX2FycmF5IHsKKwl1bnNpZ25lZCBsb25nCQllbnRyaWVzOworCWxvbmcJCQljdHJsOworCWludAkJCWNwdTsKKwljeWNsZV90CQkJdGltZV9zdGFydDsKKwlzdHJ1Y3QgdGFza19zdHJ1Y3QJKndhaXRlcjsKKwlzdHJ1Y3QgdHJhY2VfYXJyYXlfY3B1CSpkYXRhW05SX0NQVVNdOworfTsKKworLyoKKyAqIEEgc3BlY2lmaWMgdHJhY2VyLCByZXByZXNlbnRlZCBieSBtZXRob2RzIHRoYXQgb3BlcmF0ZSBvbiBhIHRyYWNlIGFycmF5OgorICovCitzdHJ1Y3QgdHJhY2VyIHsKKwljb25zdCBjaGFyCQkqbmFtZTsKKwl2b2lkCQkJKCppbml0KShzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyKTsKKwl2b2lkCQkJKCpyZXNldCkoc3RydWN0IHRyYWNlX2FycmF5ICp0cik7CisJdm9pZAkJCSgqb3Blbikoc3RydWN0IHRyYWNlX2l0ZXJhdG9yICppdGVyKTsKKwl2b2lkCQkJKCpwaXBlX29wZW4pKHN0cnVjdCB0cmFjZV9pdGVyYXRvciAqaXRlcik7CisJdm9pZAkJCSgqY2xvc2UpKHN0cnVjdCB0cmFjZV9pdGVyYXRvciAqaXRlcik7CisJdm9pZAkJCSgqc3RhcnQpKHN0cnVjdCB0cmFjZV9pdGVyYXRvciAqaXRlcik7CisJdm9pZAkJCSgqc3RvcCkoc3RydWN0IHRyYWNlX2l0ZXJhdG9yICppdGVyKTsKKwlzc2l6ZV90CQkJKCpyZWFkKShzdHJ1Y3QgdHJhY2VfaXRlcmF0b3IgKml0ZXIsCisJCQkJCXN0cnVjdCBmaWxlICpmaWxwLCBjaGFyIF9fdXNlciAqdWJ1ZiwKKwkJCQkJc2l6ZV90IGNudCwgbG9mZl90ICpwcG9zKTsKKwl2b2lkCQkJKCpjdHJsX3VwZGF0ZSkoc3RydWN0IHRyYWNlX2FycmF5ICp0cik7CisjaWZkZWYgQ09ORklHX0ZUUkFDRV9TVEFSVFVQX1RFU1QKKwlpbnQJCQkoKnNlbGZ0ZXN0KShzdHJ1Y3QgdHJhY2VyICp0cmFjZSwKKwkJCQkJICAgIHN0cnVjdCB0cmFjZV9hcnJheSAqdHIpOworI2VuZGlmCisJaW50CQkJKCpwcmludF9saW5lKShzdHJ1Y3QgdHJhY2VfaXRlcmF0b3IgKml0ZXIpOworCXN0cnVjdCB0cmFjZXIJCSpuZXh0OworCWludAkJCXByaW50X21heDsKK307CisKK3N0cnVjdCB0cmFjZV9zZXEgeworCXVuc2lnbmVkIGNoYXIJCWJ1ZmZlcltQQUdFX1NJWkVdOworCXVuc2lnbmVkIGludAkJbGVuOworCXVuc2lnbmVkIGludAkJcmVhZHBvczsKK307CisKKy8qCisgKiBUcmFjZSBpdGVyYXRvciAtIHVzZWQgYnkgcHJpbnRvdXQgcm91dGluZXMgd2hvIHByZXNlbnQgdHJhY2UKKyAqIHJlc3VsdHMgdG8gdXNlcnMgYW5kIHdoaWNoIHJvdXRpbmVzIG1pZ2h0IHNsZWVwLCBldGM6CisgKi8KK3N0cnVjdCB0cmFjZV9pdGVyYXRvciB7CisJc3RydWN0IHRyYWNlX2FycmF5CSp0cjsKKwlzdHJ1Y3QgdHJhY2VyCQkqdHJhY2U7CisJdm9pZAkJCSpwcml2YXRlOworCWxvbmcJCQlsYXN0X292ZXJydW5bTlJfQ1BVU107CisJbG9uZwkJCW92ZXJydW5bTlJfQ1BVU107CisKKwkvKiBUaGUgYmVsb3cgaXMgemVyb2VkIG91dCBpbiBwaXBlX3JlYWQgKi8KKwlzdHJ1Y3QgdHJhY2Vfc2VxCXNlcTsKKwlzdHJ1Y3QgdHJhY2VfZW50cnkJKmVudDsKKwlpbnQJCQljcHU7CisKKwlzdHJ1Y3QgdHJhY2VfZW50cnkJKnByZXZfZW50OworCWludAkJCXByZXZfY3B1OworCisJdW5zaWduZWQgbG9uZwkJaXRlcl9mbGFnczsKKwlsb2ZmX3QJCQlwb3M7CisJdW5zaWduZWQgbG9uZwkJbmV4dF9pZHhbTlJfQ1BVU107CisJc3RydWN0IGxpc3RfaGVhZAkqbmV4dF9wYWdlW05SX0NQVVNdOworCXVuc2lnbmVkCQluZXh0X3BhZ2VfaWR4W05SX0NQVVNdOworCWxvbmcJCQlpZHg7Cit9OworCit2b2lkIHRyYWNpbmdfcmVzZXQoc3RydWN0IHRyYWNlX2FycmF5X2NwdSAqZGF0YSk7CitpbnQgdHJhY2luZ19vcGVuX2dlbmVyaWMoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbHApOworc3RydWN0IGRlbnRyeSAqdHJhY2luZ19pbml0X2RlbnRyeSh2b2lkKTsKK3ZvaWQgaW5pdF90cmFjZXJfc3lzcHJvZl9kZWJ1Z2ZzKHN0cnVjdCBkZW50cnkgKmRfdHJhY2VyKTsKKwordm9pZCBmdHJhY2Uoc3RydWN0IHRyYWNlX2FycmF5ICp0ciwKKwkJCSAgICBzdHJ1Y3QgdHJhY2VfYXJyYXlfY3B1ICpkYXRhLAorCQkJICAgIHVuc2lnbmVkIGxvbmcgaXAsCisJCQkgICAgdW5zaWduZWQgbG9uZyBwYXJlbnRfaXAsCisJCQkgICAgdW5zaWduZWQgbG9uZyBmbGFncyk7Cit2b2lkIHRyYWNpbmdfc2NoZWRfc3dpdGNoX3RyYWNlKHN0cnVjdCB0cmFjZV9hcnJheSAqdHIsCisJCQkJc3RydWN0IHRyYWNlX2FycmF5X2NwdSAqZGF0YSwKKwkJCQlzdHJ1Y3QgdGFza19zdHJ1Y3QgKnByZXYsCisJCQkJc3RydWN0IHRhc2tfc3RydWN0ICpuZXh0LAorCQkJCXVuc2lnbmVkIGxvbmcgZmxhZ3MpOwordm9pZCB0cmFjaW5nX3JlY29yZF9jbWRsaW5lKHN0cnVjdCB0YXNrX3N0cnVjdCAqdHNrKTsKKwordm9pZCB0cmFjaW5nX3NjaGVkX3dha2V1cF90cmFjZShzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyLAorCQkJCXN0cnVjdCB0cmFjZV9hcnJheV9jcHUgKmRhdGEsCisJCQkJc3RydWN0IHRhc2tfc3RydWN0ICp3YWtlZSwKKwkJCQlzdHJ1Y3QgdGFza19zdHJ1Y3QgKmN1ciwKKwkJCQl1bnNpZ25lZCBsb25nIGZsYWdzKTsKK3ZvaWQgdHJhY2Vfc3BlY2lhbChzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyLAorCQkgICBzdHJ1Y3QgdHJhY2VfYXJyYXlfY3B1ICpkYXRhLAorCQkgICB1bnNpZ25lZCBsb25nIGFyZzEsCisJCSAgIHVuc2lnbmVkIGxvbmcgYXJnMiwKKwkJICAgdW5zaWduZWQgbG9uZyBhcmczKTsKK3ZvaWQgdHJhY2VfZnVuY3Rpb24oc3RydWN0IHRyYWNlX2FycmF5ICp0ciwKKwkJICAgIHN0cnVjdCB0cmFjZV9hcnJheV9jcHUgKmRhdGEsCisJCSAgICB1bnNpZ25lZCBsb25nIGlwLAorCQkgICAgdW5zaWduZWQgbG9uZyBwYXJlbnRfaXAsCisJCSAgICB1bnNpZ25lZCBsb25nIGZsYWdzKTsKKwordm9pZCB0cmFjaW5nX3N0YXJ0X2NtZGxpbmVfcmVjb3JkKHZvaWQpOwordm9pZCB0cmFjaW5nX3N0b3BfY21kbGluZV9yZWNvcmQodm9pZCk7CitpbnQgcmVnaXN0ZXJfdHJhY2VyKHN0cnVjdCB0cmFjZXIgKnR5cGUpOwordm9pZCB1bnJlZ2lzdGVyX3RyYWNlcihzdHJ1Y3QgdHJhY2VyICp0eXBlKTsKKworZXh0ZXJuIHVuc2lnbmVkIGxvbmcgbnNlY3NfdG9fdXNlY3ModW5zaWduZWQgbG9uZyBuc2Vjcyk7CisKK2V4dGVybiB1bnNpZ25lZCBsb25nIHRyYWNpbmdfbWF4X2xhdGVuY3k7CitleHRlcm4gdW5zaWduZWQgbG9uZyB0cmFjaW5nX3RocmVzaDsKKwordm9pZCB1cGRhdGVfbWF4X3RyKHN0cnVjdCB0cmFjZV9hcnJheSAqdHIsIHN0cnVjdCB0YXNrX3N0cnVjdCAqdHNrLCBpbnQgY3B1KTsKK3ZvaWQgdXBkYXRlX21heF90cl9zaW5nbGUoc3RydWN0IHRyYWNlX2FycmF5ICp0ciwKKwkJCSAgc3RydWN0IHRhc2tfc3RydWN0ICp0c2ssIGludCBjcHUpOworCitleHRlcm4gY3ljbGVfdCBmdHJhY2Vfbm93KGludCBjcHUpOworCisjaWZkZWYgQ09ORklHX0ZUUkFDRQordm9pZCB0cmFjaW5nX3N0YXJ0X2Z1bmN0aW9uX3RyYWNlKHZvaWQpOwordm9pZCB0cmFjaW5nX3N0b3BfZnVuY3Rpb25fdHJhY2Uodm9pZCk7CisjZWxzZQorIyBkZWZpbmUgdHJhY2luZ19zdGFydF9mdW5jdGlvbl90cmFjZSgpCQlkbyB7IH0gd2hpbGUgKDApCisjIGRlZmluZSB0cmFjaW5nX3N0b3BfZnVuY3Rpb25fdHJhY2UoKQkJZG8geyB9IHdoaWxlICgwKQorI2VuZGlmCisKKyNpZmRlZiBDT05GSUdfQ09OVEVYVF9TV0lUQ0hfVFJBQ0VSCit0eXBlZGVmIHZvaWQKKygqdHJhY2VyX3N3aXRjaF9mdW5jX3QpKHZvaWQgKnByaXZhdGUsCisJCQl2b2lkICpfX3JxLAorCQkJc3RydWN0IHRhc2tfc3RydWN0ICpwcmV2LAorCQkJc3RydWN0IHRhc2tfc3RydWN0ICpuZXh0KTsKKworc3RydWN0IHRyYWNlcl9zd2l0Y2hfb3BzIHsKKwl0cmFjZXJfc3dpdGNoX2Z1bmNfdAkJZnVuYzsKKwl2b2lkCQkJCSpwcml2YXRlOworCXN0cnVjdCB0cmFjZXJfc3dpdGNoX29wcwkqbmV4dDsKK307CisKKyNlbmRpZiAvKiBDT05GSUdfQ09OVEVYVF9TV0lUQ0hfVFJBQ0VSICovCisKKyNpZmRlZiBDT05GSUdfRFlOQU1JQ19GVFJBQ0UKK2V4dGVybiB1bnNpZ25lZCBsb25nIGZ0cmFjZV91cGRhdGVfdG90X2NudDsKKyNkZWZpbmUgRFlOX0ZUUkFDRV9URVNUX05BTUUgdHJhY2Vfc2VsZnRlc3RfZHluYW1pY190ZXN0X2Z1bmMKK2V4dGVybiBpbnQgRFlOX0ZUUkFDRV9URVNUX05BTUUodm9pZCk7CisjZW5kaWYKKworI2lmZGVmIENPTkZJR19NTUlPVFJBQ0UKK2V4dGVybiB2b2lkIF9fdHJhY2VfbW1pb3RyYWNlX3J3KHN0cnVjdCB0cmFjZV9hcnJheSAqdHIsCisJCQkJc3RydWN0IHRyYWNlX2FycmF5X2NwdSAqZGF0YSwKKwkJCQlzdHJ1Y3QgbW1pb3RyYWNlX3J3ICpydyk7CitleHRlcm4gdm9pZCBfX3RyYWNlX21taW90cmFjZV9tYXAoc3RydWN0IHRyYWNlX2FycmF5ICp0ciwKKwkJCQlzdHJ1Y3QgdHJhY2VfYXJyYXlfY3B1ICpkYXRhLAorCQkJCXN0cnVjdCBtbWlvdHJhY2VfbWFwICptYXApOworI2VuZGlmCisKKyNpZmRlZiBDT05GSUdfRlRSQUNFX1NUQVJUVVBfVEVTVAorI2lmZGVmIENPTkZJR19GVFJBQ0UKK2V4dGVybiBpbnQgdHJhY2Vfc2VsZnRlc3Rfc3RhcnR1cF9mdW5jdGlvbihzdHJ1Y3QgdHJhY2VyICp0cmFjZSwKKwkJCQkJICAgc3RydWN0IHRyYWNlX2FycmF5ICp0cik7CisjZW5kaWYKKyNpZmRlZiBDT05GSUdfSVJRU09GRl9UUkFDRVIKK2V4dGVybiBpbnQgdHJhY2Vfc2VsZnRlc3Rfc3RhcnR1cF9pcnFzb2ZmKHN0cnVjdCB0cmFjZXIgKnRyYWNlLAorCQkJCQkgIHN0cnVjdCB0cmFjZV9hcnJheSAqdHIpOworI2VuZGlmCisjaWZkZWYgQ09ORklHX1BSRUVNUFRfVFJBQ0VSCitleHRlcm4gaW50IHRyYWNlX3NlbGZ0ZXN0X3N0YXJ0dXBfcHJlZW1wdG9mZihzdHJ1Y3QgdHJhY2VyICp0cmFjZSwKKwkJCQkJICAgICBzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyKTsKKyNlbmRpZgorI2lmIGRlZmluZWQoQ09ORklHX0lSUVNPRkZfVFJBQ0VSKSAmJiBkZWZpbmVkKENPTkZJR19QUkVFTVBUX1RSQUNFUikKK2V4dGVybiBpbnQgdHJhY2Vfc2VsZnRlc3Rfc3RhcnR1cF9wcmVlbXB0aXJxc29mZihzdHJ1Y3QgdHJhY2VyICp0cmFjZSwKKwkJCQkJCSBzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyKTsKKyNlbmRpZgorI2lmZGVmIENPTkZJR19TQ0hFRF9UUkFDRVIKK2V4dGVybiBpbnQgdHJhY2Vfc2VsZnRlc3Rfc3RhcnR1cF93YWtldXAoc3RydWN0IHRyYWNlciAqdHJhY2UsCisJCQkJCSBzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyKTsKKyNlbmRpZgorI2lmZGVmIENPTkZJR19DT05URVhUX1NXSVRDSF9UUkFDRVIKK2V4dGVybiBpbnQgdHJhY2Vfc2VsZnRlc3Rfc3RhcnR1cF9zY2hlZF9zd2l0Y2goc3RydWN0IHRyYWNlciAqdHJhY2UsCisJCQkJCSAgICAgICBzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyKTsKKyNlbmRpZgorI2lmZGVmIENPTkZJR19TWVNQUk9GX1RSQUNFUgorZXh0ZXJuIGludCB0cmFjZV9zZWxmdGVzdF9zdGFydHVwX3N5c3Byb2Yoc3RydWN0IHRyYWNlciAqdHJhY2UsCisJCQkJCSAgICAgICBzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyKTsKKyNlbmRpZgorI2VuZGlmIC8qIENPTkZJR19GVFJBQ0VfU1RBUlRVUF9URVNUICovCisKK2V4dGVybiB2b2lkICpoZWFkX3BhZ2Uoc3RydWN0IHRyYWNlX2FycmF5X2NwdSAqZGF0YSk7CitleHRlcm4gaW50IHRyYWNlX3NlcV9wcmludGYoc3RydWN0IHRyYWNlX3NlcSAqcywgY29uc3QgY2hhciAqZm10LCAuLi4pOworZXh0ZXJuIHNzaXplX3QgdHJhY2Vfc2VxX3RvX3VzZXIoc3RydWN0IHRyYWNlX3NlcSAqcywgY2hhciBfX3VzZXIgKnVidWYsCisJCQkJIHNpemVfdCBjbnQpOworZXh0ZXJuIGxvbmcgbnMydXNlY3MoY3ljbGVfdCBuc2VjKTsKKworZXh0ZXJuIHVuc2lnbmVkIGxvbmcgdHJhY2VfZmxhZ3M7CisKKy8qCisgKiB0cmFjZV9pdGVyYXRvcl9mbGFncyBpcyBhbiBlbnVtZXJhdGlvbiB0aGF0IGRlZmluZXMgYml0CisgKiBwb3NpdGlvbnMgaW50byB0cmFjZV9mbGFncyB0aGF0IGNvbnRyb2xzIHRoZSBvdXRwdXQuCisgKgorICogTk9URTogVGhlc2UgYml0cyBtdXN0IG1hdGNoIHRoZSB0cmFjZV9vcHRpb25zIGFycmF5IGluCisgKiAgICAgICB0cmFjZS5jLgorICovCitlbnVtIHRyYWNlX2l0ZXJhdG9yX2ZsYWdzIHsKKwlUUkFDRV9JVEVSX1BSSU5UX1BBUkVOVAkJPSAweDAxLAorCVRSQUNFX0lURVJfU1lNX09GRlNFVAkJPSAweDAyLAorCVRSQUNFX0lURVJfU1lNX0FERFIJCT0gMHgwNCwKKwlUUkFDRV9JVEVSX1ZFUkJPU0UJCT0gMHgwOCwKKwlUUkFDRV9JVEVSX1JBVwkJCT0gMHgxMCwKKwlUUkFDRV9JVEVSX0hFWAkJCT0gMHgyMCwKKwlUUkFDRV9JVEVSX0JJTgkJCT0gMHg0MCwKKwlUUkFDRV9JVEVSX0JMT0NLCQk9IDB4ODAsCisJVFJBQ0VfSVRFUl9TVEFDS1RSQUNFCQk9IDB4MTAwLAorCVRSQUNFX0lURVJfU0NIRURfVFJFRQkJPSAweDIwMCwKK307CisKKyNlbmRpZiAvKiBfTElOVVhfS0VSTkVMX1RSQUNFX0ggKi8KZGlmZiAtLWdpdCBhL2tlcm5lbC90cmFjZS90cmFjZV9mdW5jdGlvbnMuYyBiL2tlcm5lbC90cmFjZS90cmFjZV9mdW5jdGlvbnMuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMTIxNDQ4Ci0tLSAvZGV2L251bGwKKysrIGIva2VybmVsL3RyYWNlL3RyYWNlX2Z1bmN0aW9ucy5jCkBAIC0wLDAgKzEsODEgQEAKKy8qCisgKiByaW5nIGJ1ZmZlciBiYXNlZCBmdW5jdGlvbiB0cmFjZXIKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDctMjAwOCBTdGV2ZW4gUm9zdGVkdCA8c3Jvc3RlZHRAcmVkaGF0LmNvbT4KKyAqIENvcHlyaWdodCAoQykgMjAwOCBJbmdvIE1vbG5hciA8bWluZ29AcmVkaGF0LmNvbT4KKyAqCisgKiBCYXNlZCBvbiBjb2RlIGZyb20gdGhlIGxhdGVuY3lfdHJhY2VyLCB0aGF0IGlzOgorICoKKyAqICBDb3B5cmlnaHQgKEMpIDIwMDQtMjAwNiBJbmdvIE1vbG5hcgorICogIENvcHlyaWdodCAoQykgMjAwNCBXaWxsaWFtIExlZSBJcndpbiBJSUkKKyAqLworI2luY2x1ZGUgPGxpbnV4L2RlYnVnZnMuaD4KKyNpbmNsdWRlIDxsaW51eC91YWNjZXNzLmg+CisjaW5jbHVkZSA8bGludXgvZnRyYWNlLmg+CisjaW5jbHVkZSA8bGludXgvZnMuaD4KKworI2luY2x1ZGUgInRyYWNlLmgiCisKK3N0YXRpYyB2b2lkIGZ1bmN0aW9uX3Jlc2V0KHN0cnVjdCB0cmFjZV9hcnJheSAqdHIpCit7CisJaW50IGNwdTsKKworCXRyLT50aW1lX3N0YXJ0ID0gZnRyYWNlX25vdyh0ci0+Y3B1KTsKKworCWZvcl9lYWNoX29ubGluZV9jcHUoY3B1KQorCQl0cmFjaW5nX3Jlc2V0KHRyLT5kYXRhW2NwdV0pOworfQorCitzdGF0aWMgdm9pZCBzdGFydF9mdW5jdGlvbl90cmFjZShzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyKQoreworCXRyLT5jcHUgPSBnZXRfY3B1KCk7CisJZnVuY3Rpb25fcmVzZXQodHIpOworCXB1dF9jcHUoKTsKKworCXRyYWNpbmdfc3RhcnRfY21kbGluZV9yZWNvcmQoKTsKKwl0cmFjaW5nX3N0YXJ0X2Z1bmN0aW9uX3RyYWNlKCk7Cit9CisKK3N0YXRpYyB2b2lkIHN0b3BfZnVuY3Rpb25fdHJhY2Uoc3RydWN0IHRyYWNlX2FycmF5ICp0cikKK3sKKwl0cmFjaW5nX3N0b3BfZnVuY3Rpb25fdHJhY2UoKTsKKwl0cmFjaW5nX3N0b3BfY21kbGluZV9yZWNvcmQoKTsKK30KKworc3RhdGljIHZvaWQgZnVuY3Rpb25fdHJhY2VfaW5pdChzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyKQoreworCWlmICh0ci0+Y3RybCkKKwkJc3RhcnRfZnVuY3Rpb25fdHJhY2UodHIpOworfQorCitzdGF0aWMgdm9pZCBmdW5jdGlvbl90cmFjZV9yZXNldChzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyKQoreworCWlmICh0ci0+Y3RybCkKKwkJc3RvcF9mdW5jdGlvbl90cmFjZSh0cik7Cit9CisKK3N0YXRpYyB2b2lkIGZ1bmN0aW9uX3RyYWNlX2N0cmxfdXBkYXRlKHN0cnVjdCB0cmFjZV9hcnJheSAqdHIpCit7CisJaWYgKHRyLT5jdHJsKQorCQlzdGFydF9mdW5jdGlvbl90cmFjZSh0cik7CisJZWxzZQorCQlzdG9wX2Z1bmN0aW9uX3RyYWNlKHRyKTsKK30KKworc3RhdGljIHN0cnVjdCB0cmFjZXIgZnVuY3Rpb25fdHJhY2UgX19yZWFkX21vc3RseSA9Cit7CisJLm5hbWUJICAgICA9ICJmdHJhY2UiLAorCS5pbml0CSAgICAgPSBmdW5jdGlvbl90cmFjZV9pbml0LAorCS5yZXNldAkgICAgID0gZnVuY3Rpb25fdHJhY2VfcmVzZXQsCisJLmN0cmxfdXBkYXRlID0gZnVuY3Rpb25fdHJhY2VfY3RybF91cGRhdGUsCisjaWZkZWYgQ09ORklHX0ZUUkFDRV9TRUxGVEVTVAorCS5zZWxmdGVzdCAgICA9IHRyYWNlX3NlbGZ0ZXN0X3N0YXJ0dXBfZnVuY3Rpb24sCisjZW5kaWYKK307CisKK3N0YXRpYyBfX2luaXQgaW50IGluaXRfZnVuY3Rpb25fdHJhY2Uodm9pZCkKK3sKKwlyZXR1cm4gcmVnaXN0ZXJfdHJhY2VyKCZmdW5jdGlvbl90cmFjZSk7Cit9CisKK2RldmljZV9pbml0Y2FsbChpbml0X2Z1bmN0aW9uX3RyYWNlKTsKZGlmZiAtLWdpdCBhL2tlcm5lbC90cmFjZS90cmFjZV9pcnFzb2ZmLmMgYi9rZXJuZWwvdHJhY2UvdHJhY2VfaXJxc29mZi5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQyMWQ2ZmUKLS0tIC9kZXYvbnVsbAorKysgYi9rZXJuZWwvdHJhY2UvdHJhY2VfaXJxc29mZi5jCkBAIC0wLDAgKzEsNDg2IEBACisvKgorICogdHJhY2UgaXJxcyBvZmYgY3JpdGljYWxsIHRpbWluZ3MKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDctMjAwOCBTdGV2ZW4gUm9zdGVkdCA8c3Jvc3RlZHRAcmVkaGF0LmNvbT4KKyAqIENvcHlyaWdodCAoQykgMjAwOCBJbmdvIE1vbG5hciA8bWluZ29AcmVkaGF0LmNvbT4KKyAqCisgKiBGcm9tIGNvZGUgaW4gdGhlIGxhdGVuY3lfdHJhY2VyLCB0aGF0IGlzOgorICoKKyAqICBDb3B5cmlnaHQgKEMpIDIwMDQtMjAwNiBJbmdvIE1vbG5hcgorICogIENvcHlyaWdodCAoQykgMjAwNCBXaWxsaWFtIExlZSBJcndpbiBJSUkKKyAqLworI2luY2x1ZGUgPGxpbnV4L2thbGxzeW1zLmg+CisjaW5jbHVkZSA8bGludXgvZGVidWdmcy5oPgorI2luY2x1ZGUgPGxpbnV4L3VhY2Nlc3MuaD4KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9mdHJhY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9mcy5oPgorCisjaW5jbHVkZSAidHJhY2UuaCIKKworc3RhdGljIHN0cnVjdCB0cmFjZV9hcnJheQkJKmlycXNvZmZfdHJhY2UgX19yZWFkX21vc3RseTsKK3N0YXRpYyBpbnQJCQkJdHJhY2VyX2VuYWJsZWQgX19yZWFkX21vc3RseTsKKworc3RhdGljIERFRklORV9QRVJfQ1BVKGludCwgdHJhY2luZ19jcHUpOworCitzdGF0aWMgREVGSU5FX1NQSU5MT0NLKG1heF90cmFjZV9sb2NrKTsKKworZW51bSB7CisJVFJBQ0VSX0lSUVNfT0ZGCQk9ICgxIDw8IDEpLAorCVRSQUNFUl9QUkVFTVBUX09GRgk9ICgxIDw8IDIpLAorfTsKKworc3RhdGljIGludCB0cmFjZV90eXBlIF9fcmVhZF9tb3N0bHk7CisKKyNpZmRlZiBDT05GSUdfUFJFRU1QVF9UUkFDRVIKK3N0YXRpYyBpbmxpbmUgaW50CitwcmVlbXB0X3RyYWNlKHZvaWQpCit7CisJcmV0dXJuICgodHJhY2VfdHlwZSAmIFRSQUNFUl9QUkVFTVBUX09GRikgJiYgcHJlZW1wdF9jb3VudCgpKTsKK30KKyNlbHNlCisjIGRlZmluZSBwcmVlbXB0X3RyYWNlKCkgKDApCisjZW5kaWYKKworI2lmZGVmIENPTkZJR19JUlFTT0ZGX1RSQUNFUgorc3RhdGljIGlubGluZSBpbnQKK2lycV90cmFjZSh2b2lkKQoreworCXJldHVybiAoKHRyYWNlX3R5cGUgJiBUUkFDRVJfSVJRU19PRkYpICYmCisJCWlycXNfZGlzYWJsZWQoKSk7Cit9CisjZWxzZQorIyBkZWZpbmUgaXJxX3RyYWNlKCkgKDApCisjZW5kaWYKKworLyoKKyAqIFNlcXVlbmNlIGNvdW50IC0gd2UgcmVjb3JkIGl0IHdoZW4gc3RhcnRpbmcgYSBtZWFzdXJlbWVudCBhbmQKKyAqIHNraXAgdGhlIGxhdGVuY3kgaWYgdGhlIHNlcXVlbmNlIGhhcyBjaGFuZ2VkIC0gc29tZSBvdGhlciBzZWN0aW9uCisgKiBkaWQgYSBtYXhpbXVtIGFuZCBjb3VsZCBkaXN0dXJiIG91ciBtZWFzdXJlbWVudCB3aXRoIHNlcmlhbCBjb25zb2xlCisgKiBwcmludG91dHMsIGV0Yy4gVHJ1bHkgY29pbmNpZGluZyBtYXhpbXVtIGxhdGVuY2llcyBzaG91bGQgYmUgcmFyZQorICogYW5kIHdoYXQgaGFwcGVucyB0b2dldGhlciBoYXBwZW5zIHNlcGFyYXRlbHkgYXMgd2VsbCwgc28gdGhpcyBkb2VzbnQKKyAqIGRlY3JlYXNlIHRoZSB2YWxpZGl0eSBvZiB0aGUgbWF4aW11bSBmb3VuZDoKKyAqLworc3RhdGljIF9fY2FjaGVsaW5lX2FsaWduZWRfaW5fc21wCXVuc2lnbmVkIGxvbmcgbWF4X3NlcXVlbmNlOworCisjaWZkZWYgQ09ORklHX0ZUUkFDRQorLyoKKyAqIGlycXNvZmYgdXNlcyBpdHMgb3duIHRyYWNlciBmdW5jdGlvbiB0byBrZWVwIHRoZSBvdmVyaGVhZCBkb3duOgorICovCitzdGF0aWMgdm9pZAoraXJxc29mZl90cmFjZXJfY2FsbCh1bnNpZ25lZCBsb25nIGlwLCB1bnNpZ25lZCBsb25nIHBhcmVudF9pcCkKK3sKKwlzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyID0gaXJxc29mZl90cmFjZTsKKwlzdHJ1Y3QgdHJhY2VfYXJyYXlfY3B1ICpkYXRhOworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisJbG9uZyBkaXNhYmxlZDsKKwlpbnQgY3B1OworCisJLyoKKwkgKiBEb2VzIG5vdCBtYXR0ZXIgaWYgd2UgcHJlZW1wdC4gV2UgdGVzdCB0aGUgZmxhZ3MKKwkgKiBhZnRlcndhcmQsIHRvIHNlZSBpZiBpcnFzIGFyZSBkaXNhYmxlZCBvciBub3QuCisJICogSWYgd2UgcHJlZW1wdCBhbmQgZ2V0IGEgZmFsc2UgcG9zaXRpdmUsIHRoZSBmbGFncworCSAqIHRlc3Qgd2lsbCBmYWlsLgorCSAqLworCWNwdSA9IHJhd19zbXBfcHJvY2Vzc29yX2lkKCk7CisJaWYgKGxpa2VseSghcGVyX2NwdSh0cmFjaW5nX2NwdSwgY3B1KSkpCisJCXJldHVybjsKKworCWxvY2FsX3NhdmVfZmxhZ3MoZmxhZ3MpOworCS8qIHNsaWdodCBjaGFuY2UgdG8gZ2V0IGEgZmFsc2UgcG9zaXRpdmUgb24gdHJhY2luZ19jcHUgKi8KKwlpZiAoIWlycXNfZGlzYWJsZWRfZmxhZ3MoZmxhZ3MpKQorCQlyZXR1cm47CisKKwlkYXRhID0gdHItPmRhdGFbY3B1XTsKKwlkaXNhYmxlZCA9IGF0b21pY19pbmNfcmV0dXJuKCZkYXRhLT5kaXNhYmxlZCk7CisKKwlpZiAobGlrZWx5KGRpc2FibGVkID09IDEpKQorCQl0cmFjZV9mdW5jdGlvbih0ciwgZGF0YSwgaXAsIHBhcmVudF9pcCwgZmxhZ3MpOworCisJYXRvbWljX2RlYygmZGF0YS0+ZGlzYWJsZWQpOworfQorCitzdGF0aWMgc3RydWN0IGZ0cmFjZV9vcHMgdHJhY2Vfb3BzIF9fcmVhZF9tb3N0bHkgPQoreworCS5mdW5jID0gaXJxc29mZl90cmFjZXJfY2FsbCwKK307CisjZW5kaWYgLyogQ09ORklHX0ZUUkFDRSAqLworCisvKgorICogU2hvdWxkIHRoaXMgbmV3IGxhdGVuY3kgYmUgcmVwb3J0ZWQvcmVjb3JkZWQ/CisgKi8KK3N0YXRpYyBpbnQgcmVwb3J0X2xhdGVuY3koY3ljbGVfdCBkZWx0YSkKK3sKKwlpZiAodHJhY2luZ190aHJlc2gpIHsKKwkJaWYgKGRlbHRhIDwgdHJhY2luZ190aHJlc2gpCisJCQlyZXR1cm4gMDsKKwl9IGVsc2UgeworCQlpZiAoZGVsdGEgPD0gdHJhY2luZ19tYXhfbGF0ZW5jeSkKKwkJCXJldHVybiAwOworCX0KKwlyZXR1cm4gMTsKK30KKworc3RhdGljIHZvaWQKK2NoZWNrX2NyaXRpY2FsX3RpbWluZyhzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyLAorCQkgICAgICBzdHJ1Y3QgdHJhY2VfYXJyYXlfY3B1ICpkYXRhLAorCQkgICAgICB1bnNpZ25lZCBsb25nIHBhcmVudF9pcCwKKwkJICAgICAgaW50IGNwdSkKK3sKKwl1bnNpZ25lZCBsb25nIGxhdGVuY3ksIHQwLCB0MTsKKwljeWNsZV90IFQwLCBUMSwgZGVsdGE7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKworCS8qCisJICogdXNlY3MgY29udmVyc2lvbiBpcyBzbG93IHNvIHdlIHRyeSB0byBkZWxheSB0aGUgY29udmVyc2lvbgorCSAqIGFzIGxvbmcgYXMgcG9zc2libGU6CisJICovCisJVDAgPSBkYXRhLT5wcmVlbXB0X3RpbWVzdGFtcDsKKwlUMSA9IGZ0cmFjZV9ub3coY3B1KTsKKwlkZWx0YSA9IFQxLVQwOworCisJbG9jYWxfc2F2ZV9mbGFncyhmbGFncyk7CisKKwlpZiAoIXJlcG9ydF9sYXRlbmN5KGRlbHRhKSkKKwkJZ290byBvdXQ7CisKKwlzcGluX2xvY2tfaXJxc2F2ZSgmbWF4X3RyYWNlX2xvY2ssIGZsYWdzKTsKKworCS8qIGNoZWNrIGlmIHdlIGFyZSBzdGlsbCB0aGUgbWF4IGxhdGVuY3kgKi8KKwlpZiAoIXJlcG9ydF9sYXRlbmN5KGRlbHRhKSkKKwkJZ290byBvdXRfdW5sb2NrOworCisJdHJhY2VfZnVuY3Rpb24odHIsIGRhdGEsIENBTExFUl9BRERSMCwgcGFyZW50X2lwLCBmbGFncyk7CisKKwlsYXRlbmN5ID0gbnNlY3NfdG9fdXNlY3MoZGVsdGEpOworCisJaWYgKGRhdGEtPmNyaXRpY2FsX3NlcXVlbmNlICE9IG1heF9zZXF1ZW5jZSkKKwkJZ290byBvdXRfdW5sb2NrOworCisJdHJhY2luZ19tYXhfbGF0ZW5jeSA9IGRlbHRhOworCXQwID0gbnNlY3NfdG9fdXNlY3MoVDApOworCXQxID0gbnNlY3NfdG9fdXNlY3MoVDEpOworCisJZGF0YS0+Y3JpdGljYWxfZW5kID0gcGFyZW50X2lwOworCisJdXBkYXRlX21heF90cl9zaW5nbGUodHIsIGN1cnJlbnQsIGNwdSk7CisKKwltYXhfc2VxdWVuY2UrKzsKKworb3V0X3VubG9jazoKKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZtYXhfdHJhY2VfbG9jaywgZmxhZ3MpOworCitvdXQ6CisJZGF0YS0+Y3JpdGljYWxfc2VxdWVuY2UgPSBtYXhfc2VxdWVuY2U7CisJZGF0YS0+cHJlZW1wdF90aW1lc3RhbXAgPSBmdHJhY2Vfbm93KGNwdSk7CisJdHJhY2luZ19yZXNldChkYXRhKTsKKwl0cmFjZV9mdW5jdGlvbih0ciwgZGF0YSwgQ0FMTEVSX0FERFIwLCBwYXJlbnRfaXAsIGZsYWdzKTsKK30KKworc3RhdGljIGlubGluZSB2b2lkCitzdGFydF9jcml0aWNhbF90aW1pbmcodW5zaWduZWQgbG9uZyBpcCwgdW5zaWduZWQgbG9uZyBwYXJlbnRfaXApCit7CisJaW50IGNwdTsKKwlzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyID0gaXJxc29mZl90cmFjZTsKKwlzdHJ1Y3QgdHJhY2VfYXJyYXlfY3B1ICpkYXRhOworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisKKwlpZiAobGlrZWx5KCF0cmFjZXJfZW5hYmxlZCkpCisJCXJldHVybjsKKworCWNwdSA9IHJhd19zbXBfcHJvY2Vzc29yX2lkKCk7CisKKwlpZiAocGVyX2NwdSh0cmFjaW5nX2NwdSwgY3B1KSkKKwkJcmV0dXJuOworCisJZGF0YSA9IHRyLT5kYXRhW2NwdV07CisKKwlpZiAodW5saWtlbHkoIWRhdGEpIHx8IGF0b21pY19yZWFkKCZkYXRhLT5kaXNhYmxlZCkpCisJCXJldHVybjsKKworCWF0b21pY19pbmMoJmRhdGEtPmRpc2FibGVkKTsKKworCWRhdGEtPmNyaXRpY2FsX3NlcXVlbmNlID0gbWF4X3NlcXVlbmNlOworCWRhdGEtPnByZWVtcHRfdGltZXN0YW1wID0gZnRyYWNlX25vdyhjcHUpOworCWRhdGEtPmNyaXRpY2FsX3N0YXJ0ID0gcGFyZW50X2lwID8gOiBpcDsKKwl0cmFjaW5nX3Jlc2V0KGRhdGEpOworCisJbG9jYWxfc2F2ZV9mbGFncyhmbGFncyk7CisKKwl0cmFjZV9mdW5jdGlvbih0ciwgZGF0YSwgaXAsIHBhcmVudF9pcCwgZmxhZ3MpOworCisJcGVyX2NwdSh0cmFjaW5nX2NwdSwgY3B1KSA9IDE7CisKKwlhdG9taWNfZGVjKCZkYXRhLT5kaXNhYmxlZCk7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZAorc3RvcF9jcml0aWNhbF90aW1pbmcodW5zaWduZWQgbG9uZyBpcCwgdW5zaWduZWQgbG9uZyBwYXJlbnRfaXApCit7CisJaW50IGNwdTsKKwlzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyID0gaXJxc29mZl90cmFjZTsKKwlzdHJ1Y3QgdHJhY2VfYXJyYXlfY3B1ICpkYXRhOworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisKKwljcHUgPSByYXdfc21wX3Byb2Nlc3Nvcl9pZCgpOworCS8qIEFsd2F5cyBjbGVhciB0aGUgdHJhY2luZyBjcHUgb24gc3RvcHBpbmcgdGhlIHRyYWNlICovCisJaWYgKHVubGlrZWx5KHBlcl9jcHUodHJhY2luZ19jcHUsIGNwdSkpKQorCQlwZXJfY3B1KHRyYWNpbmdfY3B1LCBjcHUpID0gMDsKKwllbHNlCisJCXJldHVybjsKKworCWlmICghdHJhY2VyX2VuYWJsZWQpCisJCXJldHVybjsKKworCWRhdGEgPSB0ci0+ZGF0YVtjcHVdOworCisJaWYgKHVubGlrZWx5KCFkYXRhKSB8fCB1bmxpa2VseSghaGVhZF9wYWdlKGRhdGEpKSB8fAorCSAgICAhZGF0YS0+Y3JpdGljYWxfc3RhcnQgfHwgYXRvbWljX3JlYWQoJmRhdGEtPmRpc2FibGVkKSkKKwkJcmV0dXJuOworCisJYXRvbWljX2luYygmZGF0YS0+ZGlzYWJsZWQpOworCisJbG9jYWxfc2F2ZV9mbGFncyhmbGFncyk7CisJdHJhY2VfZnVuY3Rpb24odHIsIGRhdGEsIGlwLCBwYXJlbnRfaXAsIGZsYWdzKTsKKwljaGVja19jcml0aWNhbF90aW1pbmcodHIsIGRhdGEsIHBhcmVudF9pcCA/IDogaXAsIGNwdSk7CisJZGF0YS0+Y3JpdGljYWxfc3RhcnQgPSAwOworCWF0b21pY19kZWMoJmRhdGEtPmRpc2FibGVkKTsKK30KKworLyogc3RhcnQgYW5kIHN0b3AgY3JpdGljYWwgdGltaW5ncyB1c2VkIHRvIGZvciBzdG9wcGFnZSAoaW4gaWRsZSkgKi8KK3ZvaWQgc3RhcnRfY3JpdGljYWxfdGltaW5ncyh2b2lkKQoreworCWlmIChwcmVlbXB0X3RyYWNlKCkgfHwgaXJxX3RyYWNlKCkpCisJCXN0YXJ0X2NyaXRpY2FsX3RpbWluZyhDQUxMRVJfQUREUjAsIENBTExFUl9BRERSMSk7Cit9CisKK3ZvaWQgc3RvcF9jcml0aWNhbF90aW1pbmdzKHZvaWQpCit7CisJaWYgKHByZWVtcHRfdHJhY2UoKSB8fCBpcnFfdHJhY2UoKSkKKwkJc3RvcF9jcml0aWNhbF90aW1pbmcoQ0FMTEVSX0FERFIwLCBDQUxMRVJfQUREUjEpOworfQorCisjaWZkZWYgQ09ORklHX0lSUVNPRkZfVFJBQ0VSCisjaWZkZWYgQ09ORklHX1BST1ZFX0xPQ0tJTkcKK3ZvaWQgdGltZV9oYXJkaXJxc19vbih1bnNpZ25lZCBsb25nIGEwLCB1bnNpZ25lZCBsb25nIGExKQoreworCWlmICghcHJlZW1wdF90cmFjZSgpICYmIGlycV90cmFjZSgpKQorCQlzdG9wX2NyaXRpY2FsX3RpbWluZyhhMCwgYTEpOworfQorCit2b2lkIHRpbWVfaGFyZGlycXNfb2ZmKHVuc2lnbmVkIGxvbmcgYTAsIHVuc2lnbmVkIGxvbmcgYTEpCit7CisJaWYgKCFwcmVlbXB0X3RyYWNlKCkgJiYgaXJxX3RyYWNlKCkpCisJCXN0YXJ0X2NyaXRpY2FsX3RpbWluZyhhMCwgYTEpOworfQorCisjZWxzZSAvKiAhQ09ORklHX1BST1ZFX0xPQ0tJTkcgKi8KKworLyoKKyAqIFN0dWJzOgorICovCisKK3ZvaWQgZWFybHlfYm9vdF9pcnFzX29mZih2b2lkKQoreworfQorCit2b2lkIGVhcmx5X2Jvb3RfaXJxc19vbih2b2lkKQoreworfQorCit2b2lkIHRyYWNlX3NvZnRpcnFzX29uKHVuc2lnbmVkIGxvbmcgaXApCit7Cit9CisKK3ZvaWQgdHJhY2Vfc29mdGlycXNfb2ZmKHVuc2lnbmVkIGxvbmcgaXApCit7Cit9CisKK2lubGluZSB2b2lkIHByaW50X2lycXRyYWNlX2V2ZW50cyhzdHJ1Y3QgdGFza19zdHJ1Y3QgKmN1cnIpCit7Cit9CisKKy8qCisgKiBXZSBhcmUgb25seSBpbnRlcmVzdGVkIGluIGhhcmRpcnEgb24vb2ZmIGV2ZW50czoKKyAqLwordm9pZCB0cmFjZV9oYXJkaXJxc19vbih2b2lkKQoreworCWlmICghcHJlZW1wdF90cmFjZSgpICYmIGlycV90cmFjZSgpKQorCQlzdG9wX2NyaXRpY2FsX3RpbWluZyhDQUxMRVJfQUREUjAsIENBTExFUl9BRERSMSk7Cit9CitFWFBPUlRfU1lNQk9MKHRyYWNlX2hhcmRpcnFzX29uKTsKKwordm9pZCB0cmFjZV9oYXJkaXJxc19vZmYodm9pZCkKK3sKKwlpZiAoIXByZWVtcHRfdHJhY2UoKSAmJiBpcnFfdHJhY2UoKSkKKwkJc3RhcnRfY3JpdGljYWxfdGltaW5nKENBTExFUl9BRERSMCwgQ0FMTEVSX0FERFIxKTsKK30KK0VYUE9SVF9TWU1CT0wodHJhY2VfaGFyZGlycXNfb2ZmKTsKKwordm9pZCB0cmFjZV9oYXJkaXJxc19vbl9jYWxsZXIodW5zaWduZWQgbG9uZyBjYWxsZXJfYWRkcikKK3sKKwlpZiAoIXByZWVtcHRfdHJhY2UoKSAmJiBpcnFfdHJhY2UoKSkKKwkJc3RvcF9jcml0aWNhbF90aW1pbmcoQ0FMTEVSX0FERFIwLCBjYWxsZXJfYWRkcik7Cit9CitFWFBPUlRfU1lNQk9MKHRyYWNlX2hhcmRpcnFzX29uX2NhbGxlcik7CisKK3ZvaWQgdHJhY2VfaGFyZGlycXNfb2ZmX2NhbGxlcih1bnNpZ25lZCBsb25nIGNhbGxlcl9hZGRyKQoreworCWlmICghcHJlZW1wdF90cmFjZSgpICYmIGlycV90cmFjZSgpKQorCQlzdGFydF9jcml0aWNhbF90aW1pbmcoQ0FMTEVSX0FERFIwLCBjYWxsZXJfYWRkcik7Cit9CitFWFBPUlRfU1lNQk9MKHRyYWNlX2hhcmRpcnFzX29mZl9jYWxsZXIpOworCisjZW5kaWYgLyogQ09ORklHX1BST1ZFX0xPQ0tJTkcgKi8KKyNlbmRpZiAvKiAgQ09ORklHX0lSUVNPRkZfVFJBQ0VSICovCisKKyNpZmRlZiBDT05GSUdfUFJFRU1QVF9UUkFDRVIKK3ZvaWQgdHJhY2VfcHJlZW1wdF9vbih1bnNpZ25lZCBsb25nIGEwLCB1bnNpZ25lZCBsb25nIGExKQoreworCXN0b3BfY3JpdGljYWxfdGltaW5nKGEwLCBhMSk7Cit9CisKK3ZvaWQgdHJhY2VfcHJlZW1wdF9vZmYodW5zaWduZWQgbG9uZyBhMCwgdW5zaWduZWQgbG9uZyBhMSkKK3sKKwlzdGFydF9jcml0aWNhbF90aW1pbmcoYTAsIGExKTsKK30KKyNlbmRpZiAvKiBDT05GSUdfUFJFRU1QVF9UUkFDRVIgKi8KKworc3RhdGljIHZvaWQgc3RhcnRfaXJxc29mZl90cmFjZXIoc3RydWN0IHRyYWNlX2FycmF5ICp0cikKK3sKKwlyZWdpc3Rlcl9mdHJhY2VfZnVuY3Rpb24oJnRyYWNlX29wcyk7CisJdHJhY2VyX2VuYWJsZWQgPSAxOworfQorCitzdGF0aWMgdm9pZCBzdG9wX2lycXNvZmZfdHJhY2VyKHN0cnVjdCB0cmFjZV9hcnJheSAqdHIpCit7CisJdHJhY2VyX2VuYWJsZWQgPSAwOworCXVucmVnaXN0ZXJfZnRyYWNlX2Z1bmN0aW9uKCZ0cmFjZV9vcHMpOworfQorCitzdGF0aWMgdm9pZCBfX2lycXNvZmZfdHJhY2VyX2luaXQoc3RydWN0IHRyYWNlX2FycmF5ICp0cikKK3sKKwlpcnFzb2ZmX3RyYWNlID0gdHI7CisJLyogbWFrZSBzdXJlIHRoYXQgdGhlIHRyYWNlciBpcyB2aXNpYmxlICovCisJc21wX3dtYigpOworCisJaWYgKHRyLT5jdHJsKQorCQlzdGFydF9pcnFzb2ZmX3RyYWNlcih0cik7Cit9CisKK3N0YXRpYyB2b2lkIGlycXNvZmZfdHJhY2VyX3Jlc2V0KHN0cnVjdCB0cmFjZV9hcnJheSAqdHIpCit7CisJaWYgKHRyLT5jdHJsKQorCQlzdG9wX2lycXNvZmZfdHJhY2VyKHRyKTsKK30KKworc3RhdGljIHZvaWQgaXJxc29mZl90cmFjZXJfY3RybF91cGRhdGUoc3RydWN0IHRyYWNlX2FycmF5ICp0cikKK3sKKwlpZiAodHItPmN0cmwpCisJCXN0YXJ0X2lycXNvZmZfdHJhY2VyKHRyKTsKKwllbHNlCisJCXN0b3BfaXJxc29mZl90cmFjZXIodHIpOworfQorCitzdGF0aWMgdm9pZCBpcnFzb2ZmX3RyYWNlcl9vcGVuKHN0cnVjdCB0cmFjZV9pdGVyYXRvciAqaXRlcikKK3sKKwkvKiBzdG9wIHRoZSB0cmFjZSB3aGlsZSBkdW1waW5nICovCisJaWYgKGl0ZXItPnRyLT5jdHJsKQorCQlzdG9wX2lycXNvZmZfdHJhY2VyKGl0ZXItPnRyKTsKK30KKworc3RhdGljIHZvaWQgaXJxc29mZl90cmFjZXJfY2xvc2Uoc3RydWN0IHRyYWNlX2l0ZXJhdG9yICppdGVyKQoreworCWlmIChpdGVyLT50ci0+Y3RybCkKKwkJc3RhcnRfaXJxc29mZl90cmFjZXIoaXRlci0+dHIpOworfQorCisjaWZkZWYgQ09ORklHX0lSUVNPRkZfVFJBQ0VSCitzdGF0aWMgdm9pZCBpcnFzb2ZmX3RyYWNlcl9pbml0KHN0cnVjdCB0cmFjZV9hcnJheSAqdHIpCit7CisJdHJhY2VfdHlwZSA9IFRSQUNFUl9JUlFTX09GRjsKKworCV9faXJxc29mZl90cmFjZXJfaW5pdCh0cik7Cit9CitzdGF0aWMgc3RydWN0IHRyYWNlciBpcnFzb2ZmX3RyYWNlciBfX3JlYWRfbW9zdGx5ID0KK3sKKwkubmFtZQkJPSAiaXJxc29mZiIsCisJLmluaXQJCT0gaXJxc29mZl90cmFjZXJfaW5pdCwKKwkucmVzZXQJCT0gaXJxc29mZl90cmFjZXJfcmVzZXQsCisJLm9wZW4JCT0gaXJxc29mZl90cmFjZXJfb3BlbiwKKwkuY2xvc2UJCT0gaXJxc29mZl90cmFjZXJfY2xvc2UsCisJLmN0cmxfdXBkYXRlCT0gaXJxc29mZl90cmFjZXJfY3RybF91cGRhdGUsCisJLnByaW50X21heAk9IDEsCisjaWZkZWYgQ09ORklHX0ZUUkFDRV9TRUxGVEVTVAorCS5zZWxmdGVzdCAgICA9IHRyYWNlX3NlbGZ0ZXN0X3N0YXJ0dXBfaXJxc29mZiwKKyNlbmRpZgorfTsKKyMgZGVmaW5lIHJlZ2lzdGVyX2lycXNvZmYodHJhY2UpIHJlZ2lzdGVyX3RyYWNlcigmdHJhY2UpCisjZWxzZQorIyBkZWZpbmUgcmVnaXN0ZXJfaXJxc29mZih0cmFjZSkgZG8geyB9IHdoaWxlICgwKQorI2VuZGlmCisKKyNpZmRlZiBDT05GSUdfUFJFRU1QVF9UUkFDRVIKK3N0YXRpYyB2b2lkIHByZWVtcHRvZmZfdHJhY2VyX2luaXQoc3RydWN0IHRyYWNlX2FycmF5ICp0cikKK3sKKwl0cmFjZV90eXBlID0gVFJBQ0VSX1BSRUVNUFRfT0ZGOworCisJX19pcnFzb2ZmX3RyYWNlcl9pbml0KHRyKTsKK30KKworc3RhdGljIHN0cnVjdCB0cmFjZXIgcHJlZW1wdG9mZl90cmFjZXIgX19yZWFkX21vc3RseSA9Cit7CisJLm5hbWUJCT0gInByZWVtcHRvZmYiLAorCS5pbml0CQk9IHByZWVtcHRvZmZfdHJhY2VyX2luaXQsCisJLnJlc2V0CQk9IGlycXNvZmZfdHJhY2VyX3Jlc2V0LAorCS5vcGVuCQk9IGlycXNvZmZfdHJhY2VyX29wZW4sCisJLmNsb3NlCQk9IGlycXNvZmZfdHJhY2VyX2Nsb3NlLAorCS5jdHJsX3VwZGF0ZQk9IGlycXNvZmZfdHJhY2VyX2N0cmxfdXBkYXRlLAorCS5wcmludF9tYXgJPSAxLAorI2lmZGVmIENPTkZJR19GVFJBQ0VfU0VMRlRFU1QKKwkuc2VsZnRlc3QgICAgPSB0cmFjZV9zZWxmdGVzdF9zdGFydHVwX3ByZWVtcHRvZmYsCisjZW5kaWYKK307CisjIGRlZmluZSByZWdpc3Rlcl9wcmVlbXB0b2ZmKHRyYWNlKSByZWdpc3Rlcl90cmFjZXIoJnRyYWNlKQorI2Vsc2UKKyMgZGVmaW5lIHJlZ2lzdGVyX3ByZWVtcHRvZmYodHJhY2UpIGRvIHsgfSB3aGlsZSAoMCkKKyNlbmRpZgorCisjaWYgZGVmaW5lZChDT05GSUdfSVJRU09GRl9UUkFDRVIpICYmIFwKKwlkZWZpbmVkKENPTkZJR19QUkVFTVBUX1RSQUNFUikKKworc3RhdGljIHZvaWQgcHJlZW1wdGlycXNvZmZfdHJhY2VyX2luaXQoc3RydWN0IHRyYWNlX2FycmF5ICp0cikKK3sKKwl0cmFjZV90eXBlID0gVFJBQ0VSX0lSUVNfT0ZGIHwgVFJBQ0VSX1BSRUVNUFRfT0ZGOworCisJX19pcnFzb2ZmX3RyYWNlcl9pbml0KHRyKTsKK30KKworc3RhdGljIHN0cnVjdCB0cmFjZXIgcHJlZW1wdGlycXNvZmZfdHJhY2VyIF9fcmVhZF9tb3N0bHkgPQoreworCS5uYW1lCQk9ICJwcmVlbXB0aXJxc29mZiIsCisJLmluaXQJCT0gcHJlZW1wdGlycXNvZmZfdHJhY2VyX2luaXQsCisJLnJlc2V0CQk9IGlycXNvZmZfdHJhY2VyX3Jlc2V0LAorCS5vcGVuCQk9IGlycXNvZmZfdHJhY2VyX29wZW4sCisJLmNsb3NlCQk9IGlycXNvZmZfdHJhY2VyX2Nsb3NlLAorCS5jdHJsX3VwZGF0ZQk9IGlycXNvZmZfdHJhY2VyX2N0cmxfdXBkYXRlLAorCS5wcmludF9tYXgJPSAxLAorI2lmZGVmIENPTkZJR19GVFJBQ0VfU0VMRlRFU1QKKwkuc2VsZnRlc3QgICAgPSB0cmFjZV9zZWxmdGVzdF9zdGFydHVwX3ByZWVtcHRpcnFzb2ZmLAorI2VuZGlmCit9OworCisjIGRlZmluZSByZWdpc3Rlcl9wcmVlbXB0aXJxc29mZih0cmFjZSkgcmVnaXN0ZXJfdHJhY2VyKCZ0cmFjZSkKKyNlbHNlCisjIGRlZmluZSByZWdpc3Rlcl9wcmVlbXB0aXJxc29mZih0cmFjZSkgZG8geyB9IHdoaWxlICgwKQorI2VuZGlmCisKK19faW5pdCBzdGF0aWMgaW50IGluaXRfaXJxc29mZl90cmFjZXIodm9pZCkKK3sKKwlyZWdpc3Rlcl9pcnFzb2ZmKGlycXNvZmZfdHJhY2VyKTsKKwlyZWdpc3Rlcl9wcmVlbXB0b2ZmKHByZWVtcHRvZmZfdHJhY2VyKTsKKwlyZWdpc3Rlcl9wcmVlbXB0aXJxc29mZihwcmVlbXB0aXJxc29mZl90cmFjZXIpOworCisJcmV0dXJuIDA7Cit9CitkZXZpY2VfaW5pdGNhbGwoaW5pdF9pcnFzb2ZmX3RyYWNlcik7CmRpZmYgLS1naXQgYS9rZXJuZWwvdHJhY2UvdHJhY2VfbW1pb3RyYWNlLmMgYi9rZXJuZWwvdHJhY2UvdHJhY2VfbW1pb3RyYWNlLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjEzZGMxOQotLS0gL2Rldi9udWxsCisrKyBiL2tlcm5lbC90cmFjZS90cmFjZV9tbWlvdHJhY2UuYwpAQCAtMCwwICsxLDI5NSBAQAorLyoKKyAqIE1lbW9yeSBtYXBwZWQgSS9PIHRyYWNpbmcKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggUGVra2EgUGFhbGFuZW4gPHBxQGlraS5maT4KKyAqLworCisjZGVmaW5lIERFQlVHIDEKKworI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L21taW90cmFjZS5oPgorI2luY2x1ZGUgPGxpbnV4L3BjaS5oPgorCisjaW5jbHVkZSAidHJhY2UuaCIKKworc3RydWN0IGhlYWRlcl9pdGVyIHsKKwlzdHJ1Y3QgcGNpX2RldiAqZGV2OworfTsKKworc3RhdGljIHN0cnVjdCB0cmFjZV9hcnJheSAqbW1pb190cmFjZV9hcnJheTsKK3N0YXRpYyBib29sIG92ZXJydW5fZGV0ZWN0ZWQ7CisKK3N0YXRpYyB2b2lkIG1taW9fcmVzZXRfZGF0YShzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyKQoreworCWludCBjcHU7CisKKwlvdmVycnVuX2RldGVjdGVkID0gZmFsc2U7CisJdHItPnRpbWVfc3RhcnQgPSBmdHJhY2Vfbm93KHRyLT5jcHUpOworCisJZm9yX2VhY2hfb25saW5lX2NwdShjcHUpCisJCXRyYWNpbmdfcmVzZXQodHItPmRhdGFbY3B1XSk7Cit9CisKK3N0YXRpYyB2b2lkIG1taW9fdHJhY2VfaW5pdChzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyKQoreworCXByX2RlYnVnKCJpbiAlc1xuIiwgX19mdW5jX18pOworCW1taW9fdHJhY2VfYXJyYXkgPSB0cjsKKwlpZiAodHItPmN0cmwpIHsKKwkJbW1pb19yZXNldF9kYXRhKHRyKTsKKwkJZW5hYmxlX21taW90cmFjZSgpOworCX0KK30KKworc3RhdGljIHZvaWQgbW1pb190cmFjZV9yZXNldChzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyKQoreworCXByX2RlYnVnKCJpbiAlc1xuIiwgX19mdW5jX18pOworCWlmICh0ci0+Y3RybCkKKwkJZGlzYWJsZV9tbWlvdHJhY2UoKTsKKwltbWlvX3Jlc2V0X2RhdGEodHIpOworCW1taW9fdHJhY2VfYXJyYXkgPSBOVUxMOworfQorCitzdGF0aWMgdm9pZCBtbWlvX3RyYWNlX2N0cmxfdXBkYXRlKHN0cnVjdCB0cmFjZV9hcnJheSAqdHIpCit7CisJcHJfZGVidWcoImluICVzXG4iLCBfX2Z1bmNfXyk7CisJaWYgKHRyLT5jdHJsKSB7CisJCW1taW9fcmVzZXRfZGF0YSh0cik7CisJCWVuYWJsZV9tbWlvdHJhY2UoKTsKKwl9IGVsc2UgeworCQlkaXNhYmxlX21taW90cmFjZSgpOworCX0KK30KKworc3RhdGljIGludCBtbWlvX3ByaW50X3BjaWRldihzdHJ1Y3QgdHJhY2Vfc2VxICpzLCBjb25zdCBzdHJ1Y3QgcGNpX2RldiAqZGV2KQoreworCWludCByZXQgPSAwOworCWludCBpOworCXJlc291cmNlX3NpemVfdCBzdGFydCwgZW5kOworCWNvbnN0IHN0cnVjdCBwY2lfZHJpdmVyICpkcnYgPSBwY2lfZGV2X2RyaXZlcihkZXYpOworCisJLyogWFhYOiBpbmNvbXBsZXRlIGNoZWNrcyBmb3IgdHJhY2Vfc2VxX3ByaW50ZigpIHJldHVybiB2YWx1ZSAqLworCXJldCArPSB0cmFjZV9zZXFfcHJpbnRmKHMsICJQQ0lERVYgJTAyeCUwMnggJTA0eCUwNHggJXgiLAorCQkJCWRldi0+YnVzLT5udW1iZXIsIGRldi0+ZGV2Zm4sCisJCQkJZGV2LT52ZW5kb3IsIGRldi0+ZGV2aWNlLCBkZXYtPmlycSk7CisJLyoKKwkgKiBYWFg6IGlzIHBjaV9yZXNvdXJjZV90b191c2VyKCkgYXBwcm9wcmlhdGUsIHNpbmNlIHdlIGFyZQorCSAqIHN1cHBvc2VkIHRvIGludGVycHJldCB0aGUgX19pb3JlbWFwKCkgcGh5c19hZGRyIGFyZ3VtZW50IGJhc2VkIG9uCisJICogdGhlc2UgcHJpbnRlZCB2YWx1ZXM/CisJICovCisJZm9yIChpID0gMDsgaSA8IDc7IGkrKykgeworCQlwY2lfcmVzb3VyY2VfdG9fdXNlcihkZXYsIGksICZkZXYtPnJlc291cmNlW2ldLCAmc3RhcnQsICZlbmQpOworCQlyZXQgKz0gdHJhY2Vfc2VxX3ByaW50ZihzLCAiICVsbHgiLAorCQkJKHVuc2lnbmVkIGxvbmcgbG9uZykoc3RhcnQgfAorCQkJKGRldi0+cmVzb3VyY2VbaV0uZmxhZ3MgJiBQQ0lfUkVHSU9OX0ZMQUdfTUFTSykpKTsKKwl9CisJZm9yIChpID0gMDsgaSA8IDc7IGkrKykgeworCQlwY2lfcmVzb3VyY2VfdG9fdXNlcihkZXYsIGksICZkZXYtPnJlc291cmNlW2ldLCAmc3RhcnQsICZlbmQpOworCQlyZXQgKz0gdHJhY2Vfc2VxX3ByaW50ZihzLCAiICVsbHgiLAorCQkJZGV2LT5yZXNvdXJjZVtpXS5zdGFydCA8IGRldi0+cmVzb3VyY2VbaV0uZW5kID8KKwkJCSh1bnNpZ25lZCBsb25nIGxvbmcpKGVuZCAtIHN0YXJ0KSArIDEgOiAwKTsKKwl9CisJaWYgKGRydikKKwkJcmV0ICs9IHRyYWNlX3NlcV9wcmludGYocywgIiAlc1xuIiwgZHJ2LT5uYW1lKTsKKwllbHNlCisJCXJldCArPSB0cmFjZV9zZXFfcHJpbnRmKHMsICIgXG4iKTsKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgdm9pZCBkZXN0cm95X2hlYWRlcl9pdGVyKHN0cnVjdCBoZWFkZXJfaXRlciAqaGl0ZXIpCit7CisJaWYgKCFoaXRlcikKKwkJcmV0dXJuOworCXBjaV9kZXZfcHV0KGhpdGVyLT5kZXYpOworCWtmcmVlKGhpdGVyKTsKK30KKworc3RhdGljIHZvaWQgbW1pb19waXBlX29wZW4oc3RydWN0IHRyYWNlX2l0ZXJhdG9yICppdGVyKQoreworCXN0cnVjdCBoZWFkZXJfaXRlciAqaGl0ZXI7CisJc3RydWN0IHRyYWNlX3NlcSAqcyA9ICZpdGVyLT5zZXE7CisKKwl0cmFjZV9zZXFfcHJpbnRmKHMsICJWRVJTSU9OIDIwMDcwODI0XG4iKTsKKworCWhpdGVyID0ga3phbGxvYyhzaXplb2YoKmhpdGVyKSwgR0ZQX0tFUk5FTCk7CisJaWYgKCFoaXRlcikKKwkJcmV0dXJuOworCisJaGl0ZXItPmRldiA9IHBjaV9nZXRfZGV2aWNlKFBDSV9BTllfSUQsIFBDSV9BTllfSUQsIE5VTEwpOworCWl0ZXItPnByaXZhdGUgPSBoaXRlcjsKK30KKworLyogWFhYOiBUaGlzIGlzIG5vdCBjYWxsZWQgd2hlbiB0aGUgcGlwZSBpcyBjbG9zZWQhICovCitzdGF0aWMgdm9pZCBtbWlvX2Nsb3NlKHN0cnVjdCB0cmFjZV9pdGVyYXRvciAqaXRlcikKK3sKKwlzdHJ1Y3QgaGVhZGVyX2l0ZXIgKmhpdGVyID0gaXRlci0+cHJpdmF0ZTsKKwlkZXN0cm95X2hlYWRlcl9pdGVyKGhpdGVyKTsKKwlpdGVyLT5wcml2YXRlID0gTlVMTDsKK30KKworc3RhdGljIHVuc2lnbmVkIGxvbmcgY291bnRfb3ZlcnJ1bnMoc3RydWN0IHRyYWNlX2l0ZXJhdG9yICppdGVyKQoreworCWludCBjcHU7CisJdW5zaWduZWQgbG9uZyBjbnQgPSAwOworCWZvcl9lYWNoX29ubGluZV9jcHUoY3B1KSB7CisJCWNudCArPSBpdGVyLT5vdmVycnVuW2NwdV07CisJCWl0ZXItPm92ZXJydW5bY3B1XSA9IDA7CisJfQorCXJldHVybiBjbnQ7Cit9CisKK3N0YXRpYyBzc2l6ZV90IG1taW9fcmVhZChzdHJ1Y3QgdHJhY2VfaXRlcmF0b3IgKml0ZXIsIHN0cnVjdCBmaWxlICpmaWxwLAorCQkJCWNoYXIgX191c2VyICp1YnVmLCBzaXplX3QgY250LCBsb2ZmX3QgKnBwb3MpCit7CisJc3NpemVfdCByZXQ7CisJc3RydWN0IGhlYWRlcl9pdGVyICpoaXRlciA9IGl0ZXItPnByaXZhdGU7CisJc3RydWN0IHRyYWNlX3NlcSAqcyA9ICZpdGVyLT5zZXE7CisJdW5zaWduZWQgbG9uZyBuOworCisJbiA9IGNvdW50X292ZXJydW5zKGl0ZXIpOworCWlmIChuKSB7CisJCS8qIFhYWDogVGhpcyBpcyBsYXRlciB0aGFuIHdoZXJlIGV2ZW50cyB3ZXJlIGxvc3QuICovCisJCXRyYWNlX3NlcV9wcmludGYocywgIk1BUksgMC4wMDAwMDAgTG9zdCAlbHUgZXZlbnRzLlxuIiwgbik7CisJCWlmICghb3ZlcnJ1bl9kZXRlY3RlZCkKKwkJCXByX3dhcm5pbmcoIm1taW90cmFjZSBoYXMgbG9zdCBldmVudHMuXG4iKTsKKwkJb3ZlcnJ1bl9kZXRlY3RlZCA9IHRydWU7CisJCWdvdG8gcHJpbnRfb3V0OworCX0KKworCWlmICghaGl0ZXIpCisJCXJldHVybiAwOworCisJbW1pb19wcmludF9wY2lkZXYocywgaGl0ZXItPmRldik7CisJaGl0ZXItPmRldiA9IHBjaV9nZXRfZGV2aWNlKFBDSV9BTllfSUQsIFBDSV9BTllfSUQsIGhpdGVyLT5kZXYpOworCisJaWYgKCFoaXRlci0+ZGV2KSB7CisJCWRlc3Ryb3lfaGVhZGVyX2l0ZXIoaGl0ZXIpOworCQlpdGVyLT5wcml2YXRlID0gTlVMTDsKKwl9CisKK3ByaW50X291dDoKKwlyZXQgPSB0cmFjZV9zZXFfdG9fdXNlcihzLCB1YnVmLCBjbnQpOworCXJldHVybiAocmV0ID09IC1FQlVTWSkgPyAwIDogcmV0OworfQorCitzdGF0aWMgaW50IG1taW9fcHJpbnRfcncoc3RydWN0IHRyYWNlX2l0ZXJhdG9yICppdGVyKQoreworCXN0cnVjdCB0cmFjZV9lbnRyeSAqZW50cnkgPSBpdGVyLT5lbnQ7CisJc3RydWN0IG1taW90cmFjZV9ydyAqcncJPSAmZW50cnktPm1taW9ydzsKKwlzdHJ1Y3QgdHJhY2Vfc2VxICpzCT0gJml0ZXItPnNlcTsKKwl1bnNpZ25lZCBsb25nIGxvbmcgdAk9IG5zMnVzZWNzKGVudHJ5LT50KTsKKwl1bnNpZ25lZCBsb25nIHVzZWNfcmVtCT0gZG9fZGl2KHQsIDEwMDAwMDBVTEwpOworCXVuc2lnbmVkIHNlY3MJCT0gKHVuc2lnbmVkIGxvbmcpdDsKKwlpbnQgcmV0ID0gMTsKKworCXN3aXRjaCAoZW50cnktPm1taW9ydy5vcGNvZGUpIHsKKwljYXNlIE1NSU9fUkVBRDoKKwkJcmV0ID0gdHJhY2Vfc2VxX3ByaW50ZihzLAorCQkJIlIgJWQgJWx1LiUwNmx1ICVkIDB4JWxseCAweCVseCAweCVseCAlZFxuIiwKKwkJCXJ3LT53aWR0aCwgc2VjcywgdXNlY19yZW0sIHJ3LT5tYXBfaWQsCisJCQkodW5zaWduZWQgbG9uZyBsb25nKXJ3LT5waHlzLAorCQkJcnctPnZhbHVlLCBydy0+cGMsIDApOworCQlicmVhazsKKwljYXNlIE1NSU9fV1JJVEU6CisJCXJldCA9IHRyYWNlX3NlcV9wcmludGYocywKKwkJCSJXICVkICVsdS4lMDZsdSAlZCAweCVsbHggMHglbHggMHglbHggJWRcbiIsCisJCQlydy0+d2lkdGgsIHNlY3MsIHVzZWNfcmVtLCBydy0+bWFwX2lkLAorCQkJKHVuc2lnbmVkIGxvbmcgbG9uZylydy0+cGh5cywKKwkJCXJ3LT52YWx1ZSwgcnctPnBjLCAwKTsKKwkJYnJlYWs7CisJY2FzZSBNTUlPX1VOS05PV05fT1A6CisJCXJldCA9IHRyYWNlX3NlcV9wcmludGYocywKKwkJCSJVTktOT1dOICVsdS4lMDZsdSAlZCAweCVsbHggJTAyeCwlMDJ4LCUwMnggMHglbHggJWRcbiIsCisJCQlzZWNzLCB1c2VjX3JlbSwgcnctPm1hcF9pZCwKKwkJCSh1bnNpZ25lZCBsb25nIGxvbmcpcnctPnBoeXMsCisJCQkocnctPnZhbHVlID4+IDE2KSAmIDB4ZmYsIChydy0+dmFsdWUgPj4gOCkgJiAweGZmLAorCQkJKHJ3LT52YWx1ZSA+PiAwKSAmIDB4ZmYsIHJ3LT5wYywgMCk7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCXJldCA9IHRyYWNlX3NlcV9wcmludGYocywgInJ3IHdoYXQ/XG4iKTsKKwkJYnJlYWs7CisJfQorCWlmIChyZXQpCisJCXJldHVybiAxOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IG1taW9fcHJpbnRfbWFwKHN0cnVjdCB0cmFjZV9pdGVyYXRvciAqaXRlcikKK3sKKwlzdHJ1Y3QgdHJhY2VfZW50cnkgKmVudHJ5ID0gaXRlci0+ZW50OworCXN0cnVjdCBtbWlvdHJhY2VfbWFwICptCT0gJmVudHJ5LT5tbWlvbWFwOworCXN0cnVjdCB0cmFjZV9zZXEgKnMJPSAmaXRlci0+c2VxOworCXVuc2lnbmVkIGxvbmcgbG9uZyB0CT0gbnMydXNlY3MoZW50cnktPnQpOworCXVuc2lnbmVkIGxvbmcgdXNlY19yZW0JPSBkb19kaXYodCwgMTAwMDAwMFVMTCk7CisJdW5zaWduZWQgc2VjcwkJPSAodW5zaWduZWQgbG9uZyl0OworCWludCByZXQgPSAxOworCisJc3dpdGNoIChlbnRyeS0+bW1pb3J3Lm9wY29kZSkgeworCWNhc2UgTU1JT19QUk9CRToKKwkJcmV0ID0gdHJhY2Vfc2VxX3ByaW50ZihzLAorCQkJIk1BUCAlbHUuJTA2bHUgJWQgMHglbGx4IDB4JWx4IDB4JWx4IDB4JWx4ICVkXG4iLAorCQkJc2VjcywgdXNlY19yZW0sIG0tPm1hcF9pZCwKKwkJCSh1bnNpZ25lZCBsb25nIGxvbmcpbS0+cGh5cywgbS0+dmlydCwgbS0+bGVuLAorCQkJMFVMLCAwKTsKKwkJYnJlYWs7CisJY2FzZSBNTUlPX1VOUFJPQkU6CisJCXJldCA9IHRyYWNlX3NlcV9wcmludGYocywKKwkJCSJVTk1BUCAlbHUuJTA2bHUgJWQgMHglbHggJWRcbiIsCisJCQlzZWNzLCB1c2VjX3JlbSwgbS0+bWFwX2lkLCAwVUwsIDApOworCQlicmVhazsKKwlkZWZhdWx0OgorCQlyZXQgPSB0cmFjZV9zZXFfcHJpbnRmKHMsICJtYXAgd2hhdD9cbiIpOworCQlicmVhazsKKwl9CisJaWYgKHJldCkKKwkJcmV0dXJuIDE7CisJcmV0dXJuIDA7Cit9CisKKy8qIHJldHVybiAwIHRvIGFib3J0IHByaW50aW5nIHdpdGhvdXQgY29uc3VtaW5nIGN1cnJlbnQgZW50cnkgaW4gcGlwZSBtb2RlICovCitzdGF0aWMgaW50IG1taW9fcHJpbnRfbGluZShzdHJ1Y3QgdHJhY2VfaXRlcmF0b3IgKml0ZXIpCit7CisJc3dpdGNoIChpdGVyLT5lbnQtPnR5cGUpIHsKKwljYXNlIFRSQUNFX01NSU9fUlc6CisJCXJldHVybiBtbWlvX3ByaW50X3J3KGl0ZXIpOworCWNhc2UgVFJBQ0VfTU1JT19NQVA6CisJCXJldHVybiBtbWlvX3ByaW50X21hcChpdGVyKTsKKwlkZWZhdWx0OgorCQlyZXR1cm4gMTsgLyogaWdub3JlIHVua25vd24gZW50cmllcyAqLworCX0KK30KKworc3RhdGljIHN0cnVjdCB0cmFjZXIgbW1pb190cmFjZXIgX19yZWFkX21vc3RseSA9Cit7CisJLm5hbWUJCT0gIm1taW90cmFjZSIsCisJLmluaXQJCT0gbW1pb190cmFjZV9pbml0LAorCS5yZXNldAkJPSBtbWlvX3RyYWNlX3Jlc2V0LAorCS5waXBlX29wZW4JPSBtbWlvX3BpcGVfb3BlbiwKKwkuY2xvc2UJCT0gbW1pb19jbG9zZSwKKwkucmVhZAkJPSBtbWlvX3JlYWQsCisJLmN0cmxfdXBkYXRlCT0gbW1pb190cmFjZV9jdHJsX3VwZGF0ZSwKKwkucHJpbnRfbGluZQk9IG1taW9fcHJpbnRfbGluZSwKK307CisKK19faW5pdCBzdGF0aWMgaW50IGluaXRfbW1pb190cmFjZSh2b2lkKQoreworCXJldHVybiByZWdpc3Rlcl90cmFjZXIoJm1taW9fdHJhY2VyKTsKK30KK2RldmljZV9pbml0Y2FsbChpbml0X21taW9fdHJhY2UpOworCit2b2lkIG1taW9fdHJhY2Vfcncoc3RydWN0IG1taW90cmFjZV9ydyAqcncpCit7CisJc3RydWN0IHRyYWNlX2FycmF5ICp0ciA9IG1taW9fdHJhY2VfYXJyYXk7CisJc3RydWN0IHRyYWNlX2FycmF5X2NwdSAqZGF0YSA9IHRyLT5kYXRhW3NtcF9wcm9jZXNzb3JfaWQoKV07CisJX190cmFjZV9tbWlvdHJhY2VfcncodHIsIGRhdGEsIHJ3KTsKK30KKwordm9pZCBtbWlvX3RyYWNlX21hcHBpbmcoc3RydWN0IG1taW90cmFjZV9tYXAgKm1hcCkKK3sKKwlzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyID0gbW1pb190cmFjZV9hcnJheTsKKwlzdHJ1Y3QgdHJhY2VfYXJyYXlfY3B1ICpkYXRhOworCisJcHJlZW1wdF9kaXNhYmxlKCk7CisJZGF0YSA9IHRyLT5kYXRhW3NtcF9wcm9jZXNzb3JfaWQoKV07CisJX190cmFjZV9tbWlvdHJhY2VfbWFwKHRyLCBkYXRhLCBtYXApOworCXByZWVtcHRfZW5hYmxlKCk7Cit9CmRpZmYgLS1naXQgYS9rZXJuZWwvdHJhY2UvdHJhY2Vfc2NoZWRfc3dpdGNoLmMgYi9rZXJuZWwvdHJhY2UvdHJhY2Vfc2NoZWRfc3dpdGNoLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2I4MTdhMgotLS0gL2Rldi9udWxsCisrKyBiL2tlcm5lbC90cmFjZS90cmFjZV9zY2hlZF9zd2l0Y2guYwpAQCAtMCwwICsxLDI4NiBAQAorLyoKKyAqIHRyYWNlIGNvbnRleHQgc3dpdGNoCisgKgorICogQ29weXJpZ2h0IChDKSAyMDA3IFN0ZXZlbiBSb3N0ZWR0IDxzcm9zdGVkdEByZWRoYXQuY29tPgorICoKKyAqLworI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L2ZzLmg+CisjaW5jbHVkZSA8bGludXgvZGVidWdmcy5oPgorI2luY2x1ZGUgPGxpbnV4L2thbGxzeW1zLmg+CisjaW5jbHVkZSA8bGludXgvdWFjY2Vzcy5oPgorI2luY2x1ZGUgPGxpbnV4L21hcmtlci5oPgorI2luY2x1ZGUgPGxpbnV4L2Z0cmFjZS5oPgorCisjaW5jbHVkZSAidHJhY2UuaCIKKworc3RhdGljIHN0cnVjdCB0cmFjZV9hcnJheQkqY3R4X3RyYWNlOworc3RhdGljIGludCBfX3JlYWRfbW9zdGx5CXRyYWNlcl9lbmFibGVkOworc3RhdGljIGF0b21pY190CQkJc2NoZWRfcmVmOworCitzdGF0aWMgdm9pZAorc2NoZWRfc3dpdGNoX2Z1bmModm9pZCAqcHJpdmF0ZSwgdm9pZCAqX19ycSwgc3RydWN0IHRhc2tfc3RydWN0ICpwcmV2LAorCQkJc3RydWN0IHRhc2tfc3RydWN0ICpuZXh0KQoreworCXN0cnVjdCB0cmFjZV9hcnJheSAqKnB0ciA9IHByaXZhdGU7CisJc3RydWN0IHRyYWNlX2FycmF5ICp0ciA9ICpwdHI7CisJc3RydWN0IHRyYWNlX2FycmF5X2NwdSAqZGF0YTsKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCWxvbmcgZGlzYWJsZWQ7CisJaW50IGNwdTsKKworCXRyYWNpbmdfcmVjb3JkX2NtZGxpbmUocHJldik7CisJdHJhY2luZ19yZWNvcmRfY21kbGluZShuZXh0KTsKKworCWlmICghdHJhY2VyX2VuYWJsZWQpCisJCXJldHVybjsKKworCWxvY2FsX2lycV9zYXZlKGZsYWdzKTsKKwljcHUgPSByYXdfc21wX3Byb2Nlc3Nvcl9pZCgpOworCWRhdGEgPSB0ci0+ZGF0YVtjcHVdOworCWRpc2FibGVkID0gYXRvbWljX2luY19yZXR1cm4oJmRhdGEtPmRpc2FibGVkKTsKKworCWlmIChsaWtlbHkoZGlzYWJsZWQgPT0gMSkpCisJCXRyYWNpbmdfc2NoZWRfc3dpdGNoX3RyYWNlKHRyLCBkYXRhLCBwcmV2LCBuZXh0LCBmbGFncyk7CisKKwlhdG9taWNfZGVjKCZkYXRhLT5kaXNhYmxlZCk7CisJbG9jYWxfaXJxX3Jlc3RvcmUoZmxhZ3MpOworfQorCitzdGF0aWMgbm90cmFjZSB2b2lkCitzY2hlZF9zd2l0Y2hfY2FsbGJhY2sodm9pZCAqcHJvYmVfZGF0YSwgdm9pZCAqY2FsbF9kYXRhLAorCQkgICAgICBjb25zdCBjaGFyICpmb3JtYXQsIHZhX2xpc3QgKmFyZ3MpCit7CisJc3RydWN0IHRhc2tfc3RydWN0ICpwcmV2OworCXN0cnVjdCB0YXNrX3N0cnVjdCAqbmV4dDsKKwlzdHJ1Y3QgcnEgKl9fcnE7CisKKwlpZiAoIWF0b21pY19yZWFkKCZzY2hlZF9yZWYpKQorCQlyZXR1cm47CisKKwkvKiBza2lwIHByZXZfcGlkICVkIG5leHRfcGlkICVkIHByZXZfc3RhdGUgJWxkICovCisJKHZvaWQpdmFfYXJnKCphcmdzLCBpbnQpOworCSh2b2lkKXZhX2FyZygqYXJncywgaW50KTsKKwkodm9pZCl2YV9hcmcoKmFyZ3MsIGxvbmcpOworCV9fcnEgPSB2YV9hcmcoKmFyZ3MsIHR5cGVvZihfX3JxKSk7CisJcHJldiA9IHZhX2FyZygqYXJncywgdHlwZW9mKHByZXYpKTsKKwluZXh0ID0gdmFfYXJnKCphcmdzLCB0eXBlb2YobmV4dCkpOworCisJLyoKKwkgKiBJZiB0cmFjZXJfc3dpdGNoX2Z1bmMgb25seSBwb2ludHMgdG8gdGhlIGxvY2FsCisJICogc3dpdGNoIGZ1bmMsIGl0IHN0aWxsIG5lZWRzIHRoZSBwdHIgcGFzc2VkIHRvIGl0LgorCSAqLworCXNjaGVkX3N3aXRjaF9mdW5jKHByb2JlX2RhdGEsIF9fcnEsIHByZXYsIG5leHQpOworfQorCitzdGF0aWMgdm9pZAord2FrZXVwX2Z1bmModm9pZCAqcHJpdmF0ZSwgdm9pZCAqX19ycSwgc3RydWN0IHRhc2tfc3RydWN0ICp3YWtlZSwgc3RydWN0CisJCQl0YXNrX3N0cnVjdCAqY3VycikKK3sKKwlzdHJ1Y3QgdHJhY2VfYXJyYXkgKipwdHIgPSBwcml2YXRlOworCXN0cnVjdCB0cmFjZV9hcnJheSAqdHIgPSAqcHRyOworCXN0cnVjdCB0cmFjZV9hcnJheV9jcHUgKmRhdGE7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKwlsb25nIGRpc2FibGVkOworCWludCBjcHU7CisKKwlpZiAoIXRyYWNlcl9lbmFibGVkKQorCQlyZXR1cm47CisKKwl0cmFjaW5nX3JlY29yZF9jbWRsaW5lKGN1cnIpOworCisJbG9jYWxfaXJxX3NhdmUoZmxhZ3MpOworCWNwdSA9IHJhd19zbXBfcHJvY2Vzc29yX2lkKCk7CisJZGF0YSA9IHRyLT5kYXRhW2NwdV07CisJZGlzYWJsZWQgPSBhdG9taWNfaW5jX3JldHVybigmZGF0YS0+ZGlzYWJsZWQpOworCisJaWYgKGxpa2VseShkaXNhYmxlZCA9PSAxKSkKKwkJdHJhY2luZ19zY2hlZF93YWtldXBfdHJhY2UodHIsIGRhdGEsIHdha2VlLCBjdXJyLCBmbGFncyk7CisKKwlhdG9taWNfZGVjKCZkYXRhLT5kaXNhYmxlZCk7CisJbG9jYWxfaXJxX3Jlc3RvcmUoZmxhZ3MpOworfQorCitzdGF0aWMgbm90cmFjZSB2b2lkCit3YWtlX3VwX2NhbGxiYWNrKHZvaWQgKnByb2JlX2RhdGEsIHZvaWQgKmNhbGxfZGF0YSwKKwkJIGNvbnN0IGNoYXIgKmZvcm1hdCwgdmFfbGlzdCAqYXJncykKK3sKKwlzdHJ1Y3QgdGFza19zdHJ1Y3QgKmN1cnI7CisJc3RydWN0IHRhc2tfc3RydWN0ICp0YXNrOworCXN0cnVjdCBycSAqX19ycTsKKworCWlmIChsaWtlbHkoIXRyYWNlcl9lbmFibGVkKSkKKwkJcmV0dXJuOworCisJLyogU2tpcCBwaWQgJWQgc3RhdGUgJWxkICovCisJKHZvaWQpdmFfYXJnKCphcmdzLCBpbnQpOworCSh2b2lkKXZhX2FyZygqYXJncywgbG9uZyk7CisJLyogbm93IGdldCB0aGUgbWVhdDogInJxICVwIHRhc2sgJXAgcnEtPmN1cnIgJXAiICovCisJX19ycSA9IHZhX2FyZygqYXJncywgdHlwZW9mKF9fcnEpKTsKKwl0YXNrID0gdmFfYXJnKCphcmdzLCB0eXBlb2YodGFzaykpOworCWN1cnIgPSB2YV9hcmcoKmFyZ3MsIHR5cGVvZihjdXJyKSk7CisKKwl0cmFjaW5nX3JlY29yZF9jbWRsaW5lKHRhc2spOworCXRyYWNpbmdfcmVjb3JkX2NtZGxpbmUoY3Vycik7CisKKwl3YWtldXBfZnVuYyhwcm9iZV9kYXRhLCBfX3JxLCB0YXNrLCBjdXJyKTsKK30KKworc3RhdGljIHZvaWQgc2NoZWRfc3dpdGNoX3Jlc2V0KHN0cnVjdCB0cmFjZV9hcnJheSAqdHIpCit7CisJaW50IGNwdTsKKworCXRyLT50aW1lX3N0YXJ0ID0gZnRyYWNlX25vdyh0ci0+Y3B1KTsKKworCWZvcl9lYWNoX29ubGluZV9jcHUoY3B1KQorCQl0cmFjaW5nX3Jlc2V0KHRyLT5kYXRhW2NwdV0pOworfQorCitzdGF0aWMgaW50IHRyYWNpbmdfc2NoZWRfcmVnaXN0ZXIodm9pZCkKK3sKKwlpbnQgcmV0OworCisJcmV0ID0gbWFya2VyX3Byb2JlX3JlZ2lzdGVyKCJrZXJuZWxfc2NoZWRfd2FrZXVwIiwKKwkJCSJwaWQgJWQgc3RhdGUgJWxkICMjIHJxICVwIHRhc2sgJXAgcnEtPmN1cnIgJXAiLAorCQkJd2FrZV91cF9jYWxsYmFjaywKKwkJCSZjdHhfdHJhY2UpOworCWlmIChyZXQpIHsKKwkJcHJfaW5mbygid2FrZXVwIHRyYWNlOiBDb3VsZG4ndCBhZGQgbWFya2VyIgorCQkJIiBwcm9iZSB0byBrZXJuZWxfc2NoZWRfd2FrZXVwXG4iKTsKKwkJcmV0dXJuIHJldDsKKwl9CisKKwlyZXQgPSBtYXJrZXJfcHJvYmVfcmVnaXN0ZXIoImtlcm5lbF9zY2hlZF93YWtldXBfbmV3IiwKKwkJCSJwaWQgJWQgc3RhdGUgJWxkICMjIHJxICVwIHRhc2sgJXAgcnEtPmN1cnIgJXAiLAorCQkJd2FrZV91cF9jYWxsYmFjaywKKwkJCSZjdHhfdHJhY2UpOworCWlmIChyZXQpIHsKKwkJcHJfaW5mbygid2FrZXVwIHRyYWNlOiBDb3VsZG4ndCBhZGQgbWFya2VyIgorCQkJIiBwcm9iZSB0byBrZXJuZWxfc2NoZWRfd2FrZXVwX25ld1xuIik7CisJCWdvdG8gZmFpbF9kZXByb2JlOworCX0KKworCXJldCA9IG1hcmtlcl9wcm9iZV9yZWdpc3Rlcigia2VybmVsX3NjaGVkX3NjaGVkdWxlIiwKKwkJInByZXZfcGlkICVkIG5leHRfcGlkICVkIHByZXZfc3RhdGUgJWxkICIKKwkJIiMjIHJxICVwIHByZXYgJXAgbmV4dCAlcCIsCisJCXNjaGVkX3N3aXRjaF9jYWxsYmFjaywKKwkJJmN0eF90cmFjZSk7CisJaWYgKHJldCkgeworCQlwcl9pbmZvKCJzY2hlZCB0cmFjZTogQ291bGRuJ3QgYWRkIG1hcmtlciIKKwkJCSIgcHJvYmUgdG8ga2VybmVsX3NjaGVkX3NjaGVkdWxlXG4iKTsKKwkJZ290byBmYWlsX2RlcHJvYmVfd2FrZV9uZXc7CisJfQorCisJcmV0dXJuIHJldDsKK2ZhaWxfZGVwcm9iZV93YWtlX25ldzoKKwltYXJrZXJfcHJvYmVfdW5yZWdpc3Rlcigia2VybmVsX3NjaGVkX3dha2V1cF9uZXciLAorCQkJCXdha2VfdXBfY2FsbGJhY2ssCisJCQkJJmN0eF90cmFjZSk7CitmYWlsX2RlcHJvYmU6CisJbWFya2VyX3Byb2JlX3VucmVnaXN0ZXIoImtlcm5lbF9zY2hlZF93YWtldXAiLAorCQkJCXdha2VfdXBfY2FsbGJhY2ssCisJCQkJJmN0eF90cmFjZSk7CisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIHZvaWQgdHJhY2luZ19zY2hlZF91bnJlZ2lzdGVyKHZvaWQpCit7CisJbWFya2VyX3Byb2JlX3VucmVnaXN0ZXIoImtlcm5lbF9zY2hlZF9zY2hlZHVsZSIsCisJCQkJc2NoZWRfc3dpdGNoX2NhbGxiYWNrLAorCQkJCSZjdHhfdHJhY2UpOworCW1hcmtlcl9wcm9iZV91bnJlZ2lzdGVyKCJrZXJuZWxfc2NoZWRfd2FrZXVwX25ldyIsCisJCQkJd2FrZV91cF9jYWxsYmFjaywKKwkJCQkmY3R4X3RyYWNlKTsKKwltYXJrZXJfcHJvYmVfdW5yZWdpc3Rlcigia2VybmVsX3NjaGVkX3dha2V1cCIsCisJCQkJd2FrZV91cF9jYWxsYmFjaywKKwkJCQkmY3R4X3RyYWNlKTsKK30KKworc3RhdGljIHZvaWQgdHJhY2luZ19zdGFydF9zY2hlZF9zd2l0Y2godm9pZCkKK3sKKwlsb25nIHJlZjsKKworCXJlZiA9IGF0b21pY19pbmNfcmV0dXJuKCZzY2hlZF9yZWYpOworCWlmIChyZWYgPT0gMSkKKwkJdHJhY2luZ19zY2hlZF9yZWdpc3RlcigpOworfQorCitzdGF0aWMgdm9pZCB0cmFjaW5nX3N0b3Bfc2NoZWRfc3dpdGNoKHZvaWQpCit7CisJbG9uZyByZWY7CisKKwlyZWYgPSBhdG9taWNfZGVjX2FuZF90ZXN0KCZzY2hlZF9yZWYpOworCWlmIChyZWYpCisJCXRyYWNpbmdfc2NoZWRfdW5yZWdpc3RlcigpOworfQorCit2b2lkIHRyYWNpbmdfc3RhcnRfY21kbGluZV9yZWNvcmQodm9pZCkKK3sKKwl0cmFjaW5nX3N0YXJ0X3NjaGVkX3N3aXRjaCgpOworfQorCit2b2lkIHRyYWNpbmdfc3RvcF9jbWRsaW5lX3JlY29yZCh2b2lkKQoreworCXRyYWNpbmdfc3RvcF9zY2hlZF9zd2l0Y2goKTsKK30KKworc3RhdGljIHZvaWQgc3RhcnRfc2NoZWRfdHJhY2Uoc3RydWN0IHRyYWNlX2FycmF5ICp0cikKK3sKKwlzY2hlZF9zd2l0Y2hfcmVzZXQodHIpOworCXRyYWNpbmdfc3RhcnRfY21kbGluZV9yZWNvcmQoKTsKKwl0cmFjZXJfZW5hYmxlZCA9IDE7Cit9CisKK3N0YXRpYyB2b2lkIHN0b3Bfc2NoZWRfdHJhY2Uoc3RydWN0IHRyYWNlX2FycmF5ICp0cikKK3sKKwl0cmFjZXJfZW5hYmxlZCA9IDA7CisJdHJhY2luZ19zdG9wX2NtZGxpbmVfcmVjb3JkKCk7Cit9CisKK3N0YXRpYyB2b2lkIHNjaGVkX3N3aXRjaF90cmFjZV9pbml0KHN0cnVjdCB0cmFjZV9hcnJheSAqdHIpCit7CisJY3R4X3RyYWNlID0gdHI7CisKKwlpZiAodHItPmN0cmwpCisJCXN0YXJ0X3NjaGVkX3RyYWNlKHRyKTsKK30KKworc3RhdGljIHZvaWQgc2NoZWRfc3dpdGNoX3RyYWNlX3Jlc2V0KHN0cnVjdCB0cmFjZV9hcnJheSAqdHIpCit7CisJaWYgKHRyLT5jdHJsKQorCQlzdG9wX3NjaGVkX3RyYWNlKHRyKTsKK30KKworc3RhdGljIHZvaWQgc2NoZWRfc3dpdGNoX3RyYWNlX2N0cmxfdXBkYXRlKHN0cnVjdCB0cmFjZV9hcnJheSAqdHIpCit7CisJLyogV2hlbiBzdGFydGluZyBhIG5ldyB0cmFjZSwgcmVzZXQgdGhlIGJ1ZmZlcnMgKi8KKwlpZiAodHItPmN0cmwpCisJCXN0YXJ0X3NjaGVkX3RyYWNlKHRyKTsKKwllbHNlCisJCXN0b3Bfc2NoZWRfdHJhY2UodHIpOworfQorCitzdGF0aWMgc3RydWN0IHRyYWNlciBzY2hlZF9zd2l0Y2hfdHJhY2UgX19yZWFkX21vc3RseSA9Cit7CisJLm5hbWUJCT0gInNjaGVkX3N3aXRjaCIsCisJLmluaXQJCT0gc2NoZWRfc3dpdGNoX3RyYWNlX2luaXQsCisJLnJlc2V0CQk9IHNjaGVkX3N3aXRjaF90cmFjZV9yZXNldCwKKwkuY3RybF91cGRhdGUJPSBzY2hlZF9zd2l0Y2hfdHJhY2VfY3RybF91cGRhdGUsCisjaWZkZWYgQ09ORklHX0ZUUkFDRV9TRUxGVEVTVAorCS5zZWxmdGVzdCAgICA9IHRyYWNlX3NlbGZ0ZXN0X3N0YXJ0dXBfc2NoZWRfc3dpdGNoLAorI2VuZGlmCit9OworCitfX2luaXQgc3RhdGljIGludCBpbml0X3NjaGVkX3N3aXRjaF90cmFjZSh2b2lkKQoreworCWludCByZXQgPSAwOworCisJaWYgKGF0b21pY19yZWFkKCZzY2hlZF9yZWYpKQorCQlyZXQgPSB0cmFjaW5nX3NjaGVkX3JlZ2lzdGVyKCk7CisJaWYgKHJldCkgeworCQlwcl9pbmZvKCJlcnJvciByZWdpc3RlcmluZyBzY2hlZHVsZXIgdHJhY2VcbiIpOworCQlyZXR1cm4gcmV0OworCX0KKwlyZXR1cm4gcmVnaXN0ZXJfdHJhY2VyKCZzY2hlZF9zd2l0Y2hfdHJhY2UpOworfQorZGV2aWNlX2luaXRjYWxsKGluaXRfc2NoZWRfc3dpdGNoX3RyYWNlKTsKZGlmZiAtLWdpdCBhL2tlcm5lbC90cmFjZS90cmFjZV9zY2hlZF93YWtldXAuYyBiL2tlcm5lbC90cmFjZS90cmFjZV9zY2hlZF93YWtldXAuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYzhkNjFkCi0tLSAvZGV2L251bGwKKysrIGIva2VybmVsL3RyYWNlL3RyYWNlX3NjaGVkX3dha2V1cC5jCkBAIC0wLDAgKzEsNDQ4IEBACisvKgorICogdHJhY2UgdGFzayB3YWtldXAgdGltaW5ncworICoKKyAqIENvcHlyaWdodCAoQykgMjAwNy0yMDA4IFN0ZXZlbiBSb3N0ZWR0IDxzcm9zdGVkdEByZWRoYXQuY29tPgorICogQ29weXJpZ2h0IChDKSAyMDA4IEluZ28gTW9sbmFyIDxtaW5nb0ByZWRoYXQuY29tPgorICoKKyAqIEJhc2VkIG9uIGNvZGUgZnJvbSB0aGUgbGF0ZW5jeV90cmFjZXIsIHRoYXQgaXM6CisgKgorICogIENvcHlyaWdodCAoQykgMjAwNC0yMDA2IEluZ28gTW9sbmFyCisgKiAgQ29weXJpZ2h0IChDKSAyMDA0IFdpbGxpYW0gTGVlIElyd2luIElJSQorICovCisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvZnMuaD4KKyNpbmNsdWRlIDxsaW51eC9kZWJ1Z2ZzLmg+CisjaW5jbHVkZSA8bGludXgva2FsbHN5bXMuaD4KKyNpbmNsdWRlIDxsaW51eC91YWNjZXNzLmg+CisjaW5jbHVkZSA8bGludXgvZnRyYWNlLmg+CisjaW5jbHVkZSA8bGludXgvbWFya2VyLmg+CisKKyNpbmNsdWRlICJ0cmFjZS5oIgorCitzdGF0aWMgc3RydWN0IHRyYWNlX2FycmF5CSp3YWtldXBfdHJhY2U7CitzdGF0aWMgaW50IF9fcmVhZF9tb3N0bHkJdHJhY2VyX2VuYWJsZWQ7CisKK3N0YXRpYyBzdHJ1Y3QgdGFza19zdHJ1Y3QJKndha2V1cF90YXNrOworc3RhdGljIGludAkJCXdha2V1cF9jcHU7CitzdGF0aWMgdW5zaWduZWQJCQl3YWtldXBfcHJpbyA9IC0xOworCitzdGF0aWMgREVGSU5FX1NQSU5MT0NLKHdha2V1cF9sb2NrKTsKKworc3RhdGljIHZvaWQgX193YWtldXBfcmVzZXQoc3RydWN0IHRyYWNlX2FycmF5ICp0cik7CisKKyNpZmRlZiBDT05GSUdfRlRSQUNFCisvKgorICogaXJxc29mZiB1c2VzIGl0cyBvd24gdHJhY2VyIGZ1bmN0aW9uIHRvIGtlZXAgdGhlIG92ZXJoZWFkIGRvd246CisgKi8KK3N0YXRpYyB2b2lkCit3YWtldXBfdHJhY2VyX2NhbGwodW5zaWduZWQgbG9uZyBpcCwgdW5zaWduZWQgbG9uZyBwYXJlbnRfaXApCit7CisJc3RydWN0IHRyYWNlX2FycmF5ICp0ciA9IHdha2V1cF90cmFjZTsKKwlzdHJ1Y3QgdHJhY2VfYXJyYXlfY3B1ICpkYXRhOworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisJbG9uZyBkaXNhYmxlZDsKKwlpbnQgcmVzY2hlZDsKKwlpbnQgY3B1OworCisJaWYgKGxpa2VseSghd2FrZXVwX3Rhc2spKQorCQlyZXR1cm47CisKKwlyZXNjaGVkID0gbmVlZF9yZXNjaGVkKCk7CisJcHJlZW1wdF9kaXNhYmxlX25vdHJhY2UoKTsKKworCWNwdSA9IHJhd19zbXBfcHJvY2Vzc29yX2lkKCk7CisJZGF0YSA9IHRyLT5kYXRhW2NwdV07CisJZGlzYWJsZWQgPSBhdG9taWNfaW5jX3JldHVybigmZGF0YS0+ZGlzYWJsZWQpOworCWlmICh1bmxpa2VseShkaXNhYmxlZCAhPSAxKSkKKwkJZ290byBvdXQ7CisKKwlzcGluX2xvY2tfaXJxc2F2ZSgmd2FrZXVwX2xvY2ssIGZsYWdzKTsKKworCWlmICh1bmxpa2VseSghd2FrZXVwX3Rhc2spKQorCQlnb3RvIHVubG9jazsKKworCS8qCisJICogVGhlIHRhc2sgY2FuJ3QgZGlzYXBwZWFyIGJlY2F1c2UgaXQgbmVlZHMgdG8KKwkgKiB3YWtlIHVwIGZpcnN0LCBhbmQgd2UgaGF2ZSB0aGUgd2FrZXVwX2xvY2suCisJICovCisJaWYgKHRhc2tfY3B1KHdha2V1cF90YXNrKSAhPSBjcHUpCisJCWdvdG8gdW5sb2NrOworCisJdHJhY2VfZnVuY3Rpb24odHIsIGRhdGEsIGlwLCBwYXJlbnRfaXAsIGZsYWdzKTsKKworIHVubG9jazoKKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZ3YWtldXBfbG9jaywgZmxhZ3MpOworCisgb3V0OgorCWF0b21pY19kZWMoJmRhdGEtPmRpc2FibGVkKTsKKworCS8qCisJICogVG8gcHJldmVudCByZWN1cnNpb24gZnJvbSB0aGUgc2NoZWR1bGVyLCBpZiB0aGUKKwkgKiByZXNjaGVkIGZsYWcgd2FzIHNldCBiZWZvcmUgd2UgZW50ZXJlZCwgdGhlbgorCSAqIGRvbid0IHJlc2NoZWR1bGUuCisJICovCisJaWYgKHJlc2NoZWQpCisJCXByZWVtcHRfZW5hYmxlX25vX3Jlc2NoZWRfbm90cmFjZSgpOworCWVsc2UKKwkJcHJlZW1wdF9lbmFibGVfbm90cmFjZSgpOworfQorCitzdGF0aWMgc3RydWN0IGZ0cmFjZV9vcHMgdHJhY2Vfb3BzIF9fcmVhZF9tb3N0bHkgPQoreworCS5mdW5jID0gd2FrZXVwX3RyYWNlcl9jYWxsLAorfTsKKyNlbmRpZiAvKiBDT05GSUdfRlRSQUNFICovCisKKy8qCisgKiBTaG91bGQgdGhpcyBuZXcgbGF0ZW5jeSBiZSByZXBvcnRlZC9yZWNvcmRlZD8KKyAqLworc3RhdGljIGludCByZXBvcnRfbGF0ZW5jeShjeWNsZV90IGRlbHRhKQoreworCWlmICh0cmFjaW5nX3RocmVzaCkgeworCQlpZiAoZGVsdGEgPCB0cmFjaW5nX3RocmVzaCkKKwkJCXJldHVybiAwOworCX0gZWxzZSB7CisJCWlmIChkZWx0YSA8PSB0cmFjaW5nX21heF9sYXRlbmN5KQorCQkJcmV0dXJuIDA7CisJfQorCXJldHVybiAxOworfQorCitzdGF0aWMgdm9pZCBub3RyYWNlCit3YWtldXBfc2NoZWRfc3dpdGNoKHZvaWQgKnByaXZhdGUsIHZvaWQgKnJxLCBzdHJ1Y3QgdGFza19zdHJ1Y3QgKnByZXYsCisJc3RydWN0IHRhc2tfc3RydWN0ICpuZXh0KQoreworCXVuc2lnbmVkIGxvbmcgbGF0ZW5jeSA9IDAsIHQwID0gMCwgdDEgPSAwOworCXN0cnVjdCB0cmFjZV9hcnJheSAqKnB0ciA9IHByaXZhdGU7CisJc3RydWN0IHRyYWNlX2FycmF5ICp0ciA9ICpwdHI7CisJc3RydWN0IHRyYWNlX2FycmF5X2NwdSAqZGF0YTsKKwljeWNsZV90IFQwLCBUMSwgZGVsdGE7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKwlsb25nIGRpc2FibGVkOworCWludCBjcHU7CisKKwlpZiAodW5saWtlbHkoIXRyYWNlcl9lbmFibGVkKSkKKwkJcmV0dXJuOworCisJLyoKKwkgKiBXaGVuIHdlIHN0YXJ0IGEgbmV3IHRyYWNlLCB3ZSBzZXQgd2FrZXVwX3Rhc2sgdG8gTlVMTAorCSAqIGFuZCB0aGVuIHNldCB0cmFjZXJfZW5hYmxlZCA9IDEuIFdlIHdhbnQgdG8gbWFrZSBzdXJlCisJICogdGhhdCBhbm90aGVyIENQVSBkb2VzIG5vdCBzZWUgdGhlIHRyYWNlcl9lbmFibGVkID0gMQorCSAqIGFuZCB0aGUgd2FrZXVwX3Rhc2sgd2l0aCBhbiBvbGRlciB0YXNrLCB0aGF0IG1pZ2h0CisJICogYWN0dWFsbHkgYmUgdGhlIHNhbWUgYXMgbmV4dC4KKwkgKi8KKwlzbXBfcm1iKCk7CisKKwlpZiAobmV4dCAhPSB3YWtldXBfdGFzaykKKwkJcmV0dXJuOworCisJLyogVGhlIHRhc2sgd2UgYXJlIHdhaXRpbmcgZm9yIGlzIHdha2luZyB1cCAqLworCWRhdGEgPSB0ci0+ZGF0YVt3YWtldXBfY3B1XTsKKworCS8qIGRpc2FibGUgbG9jYWwgZGF0YSwgbm90IHdha2V1cF9jcHUgZGF0YSAqLworCWNwdSA9IHJhd19zbXBfcHJvY2Vzc29yX2lkKCk7CisJZGlzYWJsZWQgPSBhdG9taWNfaW5jX3JldHVybigmdHItPmRhdGFbY3B1XS0+ZGlzYWJsZWQpOworCWlmIChsaWtlbHkoZGlzYWJsZWQgIT0gMSkpCisJCWdvdG8gb3V0OworCisJc3Bpbl9sb2NrX2lycXNhdmUoJndha2V1cF9sb2NrLCBmbGFncyk7CisKKwkvKiBXZSBjb3VsZCByYWNlIHdpdGggZ3JhYmJpbmcgd2FrZXVwX2xvY2sgKi8KKwlpZiAodW5saWtlbHkoIXRyYWNlcl9lbmFibGVkIHx8IG5leHQgIT0gd2FrZXVwX3Rhc2spKQorCQlnb3RvIG91dF91bmxvY2s7CisKKwl0cmFjZV9mdW5jdGlvbih0ciwgZGF0YSwgQ0FMTEVSX0FERFIxLCBDQUxMRVJfQUREUjIsIGZsYWdzKTsKKworCS8qCisJICogdXNlY3MgY29udmVyc2lvbiBpcyBzbG93IHNvIHdlIHRyeSB0byBkZWxheSB0aGUgY29udmVyc2lvbgorCSAqIGFzIGxvbmcgYXMgcG9zc2libGU6CisJICovCisJVDAgPSBkYXRhLT5wcmVlbXB0X3RpbWVzdGFtcDsKKwlUMSA9IGZ0cmFjZV9ub3coY3B1KTsKKwlkZWx0YSA9IFQxLVQwOworCisJaWYgKCFyZXBvcnRfbGF0ZW5jeShkZWx0YSkpCisJCWdvdG8gb3V0X3VubG9jazsKKworCWxhdGVuY3kgPSBuc2Vjc190b191c2VjcyhkZWx0YSk7CisKKwl0cmFjaW5nX21heF9sYXRlbmN5ID0gZGVsdGE7CisJdDAgPSBuc2Vjc190b191c2VjcyhUMCk7CisJdDEgPSBuc2Vjc190b191c2VjcyhUMSk7CisKKwl1cGRhdGVfbWF4X3RyKHRyLCB3YWtldXBfdGFzaywgd2FrZXVwX2NwdSk7CisKK291dF91bmxvY2s6CisJX193YWtldXBfcmVzZXQodHIpOworCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJndha2V1cF9sb2NrLCBmbGFncyk7CitvdXQ6CisJYXRvbWljX2RlYygmdHItPmRhdGFbY3B1XS0+ZGlzYWJsZWQpOworfQorCitzdGF0aWMgbm90cmFjZSB2b2lkCitzY2hlZF9zd2l0Y2hfY2FsbGJhY2sodm9pZCAqcHJvYmVfZGF0YSwgdm9pZCAqY2FsbF9kYXRhLAorCQkgICAgICBjb25zdCBjaGFyICpmb3JtYXQsIHZhX2xpc3QgKmFyZ3MpCit7CisJc3RydWN0IHRhc2tfc3RydWN0ICpwcmV2OworCXN0cnVjdCB0YXNrX3N0cnVjdCAqbmV4dDsKKwlzdHJ1Y3QgcnEgKl9fcnE7CisKKwkvKiBza2lwIHByZXZfcGlkICVkIG5leHRfcGlkICVkIHByZXZfc3RhdGUgJWxkICovCisJKHZvaWQpdmFfYXJnKCphcmdzLCBpbnQpOworCSh2b2lkKXZhX2FyZygqYXJncywgaW50KTsKKwkodm9pZCl2YV9hcmcoKmFyZ3MsIGxvbmcpOworCV9fcnEgPSB2YV9hcmcoKmFyZ3MsIHR5cGVvZihfX3JxKSk7CisJcHJldiA9IHZhX2FyZygqYXJncywgdHlwZW9mKHByZXYpKTsKKwluZXh0ID0gdmFfYXJnKCphcmdzLCB0eXBlb2YobmV4dCkpOworCisJdHJhY2luZ19yZWNvcmRfY21kbGluZShwcmV2KTsKKworCS8qCisJICogSWYgdHJhY2VyX3N3aXRjaF9mdW5jIG9ubHkgcG9pbnRzIHRvIHRoZSBsb2NhbAorCSAqIHN3aXRjaCBmdW5jLCBpdCBzdGlsbCBuZWVkcyB0aGUgcHRyIHBhc3NlZCB0byBpdC4KKwkgKi8KKwl3YWtldXBfc2NoZWRfc3dpdGNoKHByb2JlX2RhdGEsIF9fcnEsIHByZXYsIG5leHQpOworfQorCitzdGF0aWMgdm9pZCBfX3dha2V1cF9yZXNldChzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyKQoreworCXN0cnVjdCB0cmFjZV9hcnJheV9jcHUgKmRhdGE7CisJaW50IGNwdTsKKworCWFzc2VydF9zcGluX2xvY2tlZCgmd2FrZXVwX2xvY2spOworCisJZm9yX2VhY2hfcG9zc2libGVfY3B1KGNwdSkgeworCQlkYXRhID0gdHItPmRhdGFbY3B1XTsKKwkJdHJhY2luZ19yZXNldChkYXRhKTsKKwl9CisKKwl3YWtldXBfY3B1ID0gLTE7CisJd2FrZXVwX3ByaW8gPSAtMTsKKworCWlmICh3YWtldXBfdGFzaykKKwkJcHV0X3Rhc2tfc3RydWN0KHdha2V1cF90YXNrKTsKKworCXdha2V1cF90YXNrID0gTlVMTDsKK30KKworc3RhdGljIHZvaWQgd2FrZXVwX3Jlc2V0KHN0cnVjdCB0cmFjZV9hcnJheSAqdHIpCit7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKworCXNwaW5fbG9ja19pcnFzYXZlKCZ3YWtldXBfbG9jaywgZmxhZ3MpOworCV9fd2FrZXVwX3Jlc2V0KHRyKTsKKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZ3YWtldXBfbG9jaywgZmxhZ3MpOworfQorCitzdGF0aWMgdm9pZAord2FrZXVwX2NoZWNrX3N0YXJ0KHN0cnVjdCB0cmFjZV9hcnJheSAqdHIsIHN0cnVjdCB0YXNrX3N0cnVjdCAqcCwKKwkJICAgc3RydWN0IHRhc2tfc3RydWN0ICpjdXJyKQoreworCWludCBjcHUgPSBzbXBfcHJvY2Vzc29yX2lkKCk7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKwlsb25nIGRpc2FibGVkOworCisJaWYgKGxpa2VseSghcnRfdGFzayhwKSkgfHwKKwkJCXAtPnByaW8gPj0gd2FrZXVwX3ByaW8gfHwKKwkJCXAtPnByaW8gPj0gY3Vyci0+cHJpbykKKwkJcmV0dXJuOworCisJZGlzYWJsZWQgPSBhdG9taWNfaW5jX3JldHVybigmdHItPmRhdGFbY3B1XS0+ZGlzYWJsZWQpOworCWlmICh1bmxpa2VseShkaXNhYmxlZCAhPSAxKSkKKwkJZ290byBvdXQ7CisKKwkvKiBpbnRlcnJ1cHRzIHNob3VsZCBiZSBvZmYgZnJvbSB0cnlfdG9fd2FrZV91cCAqLworCXNwaW5fbG9jaygmd2FrZXVwX2xvY2spOworCisJLyogY2hlY2sgZm9yIHJhY2VzLiAqLworCWlmICghdHJhY2VyX2VuYWJsZWQgfHwgcC0+cHJpbyA+PSB3YWtldXBfcHJpbykKKwkJZ290byBvdXRfbG9ja2VkOworCisJLyogcmVzZXQgdGhlIHRyYWNlICovCisJX193YWtldXBfcmVzZXQodHIpOworCisJd2FrZXVwX2NwdSA9IHRhc2tfY3B1KHApOworCXdha2V1cF9wcmlvID0gcC0+cHJpbzsKKworCXdha2V1cF90YXNrID0gcDsKKwlnZXRfdGFza19zdHJ1Y3Qod2FrZXVwX3Rhc2spOworCisJbG9jYWxfc2F2ZV9mbGFncyhmbGFncyk7CisKKwl0ci0+ZGF0YVt3YWtldXBfY3B1XS0+cHJlZW1wdF90aW1lc3RhbXAgPSBmdHJhY2Vfbm93KGNwdSk7CisJdHJhY2VfZnVuY3Rpb24odHIsIHRyLT5kYXRhW3dha2V1cF9jcHVdLAorCQkgICAgICAgQ0FMTEVSX0FERFIxLCBDQUxMRVJfQUREUjIsIGZsYWdzKTsKKworb3V0X2xvY2tlZDoKKwlzcGluX3VubG9jaygmd2FrZXVwX2xvY2spOworb3V0OgorCWF0b21pY19kZWMoJnRyLT5kYXRhW2NwdV0tPmRpc2FibGVkKTsKK30KKworc3RhdGljIG5vdHJhY2Ugdm9pZAord2FrZV91cF9jYWxsYmFjayh2b2lkICpwcm9iZV9kYXRhLCB2b2lkICpjYWxsX2RhdGEsCisJCSBjb25zdCBjaGFyICpmb3JtYXQsIHZhX2xpc3QgKmFyZ3MpCit7CisJc3RydWN0IHRyYWNlX2FycmF5ICoqcHRyID0gcHJvYmVfZGF0YTsKKwlzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyID0gKnB0cjsKKwlzdHJ1Y3QgdGFza19zdHJ1Y3QgKmN1cnI7CisJc3RydWN0IHRhc2tfc3RydWN0ICp0YXNrOworCXN0cnVjdCBycSAqX19ycTsKKworCWlmIChsaWtlbHkoIXRyYWNlcl9lbmFibGVkKSkKKwkJcmV0dXJuOworCisJLyogU2tpcCBwaWQgJWQgc3RhdGUgJWxkICovCisJKHZvaWQpdmFfYXJnKCphcmdzLCBpbnQpOworCSh2b2lkKXZhX2FyZygqYXJncywgbG9uZyk7CisJLyogbm93IGdldCB0aGUgbWVhdDogInJxICVwIHRhc2sgJXAgcnEtPmN1cnIgJXAiICovCisJX19ycSA9IHZhX2FyZygqYXJncywgdHlwZW9mKF9fcnEpKTsKKwl0YXNrID0gdmFfYXJnKCphcmdzLCB0eXBlb2YodGFzaykpOworCWN1cnIgPSB2YV9hcmcoKmFyZ3MsIHR5cGVvZihjdXJyKSk7CisKKwl0cmFjaW5nX3JlY29yZF9jbWRsaW5lKHRhc2spOworCXRyYWNpbmdfcmVjb3JkX2NtZGxpbmUoY3Vycik7CisKKwl3YWtldXBfY2hlY2tfc3RhcnQodHIsIHRhc2ssIGN1cnIpOworfQorCitzdGF0aWMgdm9pZCBzdGFydF93YWtldXBfdHJhY2VyKHN0cnVjdCB0cmFjZV9hcnJheSAqdHIpCit7CisJaW50IHJldDsKKworCXJldCA9IG1hcmtlcl9wcm9iZV9yZWdpc3Rlcigia2VybmVsX3NjaGVkX3dha2V1cCIsCisJCQkicGlkICVkIHN0YXRlICVsZCAjIyBycSAlcCB0YXNrICVwIHJxLT5jdXJyICVwIiwKKwkJCXdha2VfdXBfY2FsbGJhY2ssCisJCQkmd2FrZXVwX3RyYWNlKTsKKwlpZiAocmV0KSB7CisJCXByX2luZm8oIndha2V1cCB0cmFjZTogQ291bGRuJ3QgYWRkIG1hcmtlciIKKwkJCSIgcHJvYmUgdG8ga2VybmVsX3NjaGVkX3dha2V1cFxuIik7CisJCXJldHVybjsKKwl9CisKKwlyZXQgPSBtYXJrZXJfcHJvYmVfcmVnaXN0ZXIoImtlcm5lbF9zY2hlZF93YWtldXBfbmV3IiwKKwkJCSJwaWQgJWQgc3RhdGUgJWxkICMjIHJxICVwIHRhc2sgJXAgcnEtPmN1cnIgJXAiLAorCQkJd2FrZV91cF9jYWxsYmFjaywKKwkJCSZ3YWtldXBfdHJhY2UpOworCWlmIChyZXQpIHsKKwkJcHJfaW5mbygid2FrZXVwIHRyYWNlOiBDb3VsZG4ndCBhZGQgbWFya2VyIgorCQkJIiBwcm9iZSB0byBrZXJuZWxfc2NoZWRfd2FrZXVwX25ld1xuIik7CisJCWdvdG8gZmFpbF9kZXByb2JlOworCX0KKworCXJldCA9IG1hcmtlcl9wcm9iZV9yZWdpc3Rlcigia2VybmVsX3NjaGVkX3NjaGVkdWxlIiwKKwkJInByZXZfcGlkICVkIG5leHRfcGlkICVkIHByZXZfc3RhdGUgJWxkICIKKwkJIiMjIHJxICVwIHByZXYgJXAgbmV4dCAlcCIsCisJCXNjaGVkX3N3aXRjaF9jYWxsYmFjaywKKwkJJndha2V1cF90cmFjZSk7CisJaWYgKHJldCkgeworCQlwcl9pbmZvKCJzY2hlZCB0cmFjZTogQ291bGRuJ3QgYWRkIG1hcmtlciIKKwkJCSIgcHJvYmUgdG8ga2VybmVsX3NjaGVkX3NjaGVkdWxlXG4iKTsKKwkJZ290byBmYWlsX2RlcHJvYmVfd2FrZV9uZXc7CisJfQorCisJd2FrZXVwX3Jlc2V0KHRyKTsKKworCS8qCisJICogRG9uJ3QgbGV0IHRoZSB0cmFjZXJfZW5hYmxlZCA9IDEgc2hvdyB1cCBiZWZvcmUKKwkgKiB0aGUgd2FrZXVwX3Rhc2sgaXMgcmVzZXQuIFRoaXMgbWF5IGJlIG92ZXJraWxsIHNpbmNlCisJICogd2FrZXVwX3Jlc2V0IGRvZXMgYSBzcGluX3VubG9jayBhZnRlciBzZXR0aW5nIHRoZQorCSAqIHdha2V1cF90YXNrIHRvIE5VTEwsIGJ1dCBJIHdhbnQgdG8gYmUgc2FmZS4KKwkgKiBUaGlzIGlzIGEgc2xvdyBwYXRoIGFueXdheS4KKwkgKi8KKwlzbXBfd21iKCk7CisKKwlyZWdpc3Rlcl9mdHJhY2VfZnVuY3Rpb24oJnRyYWNlX29wcyk7CisKKwl0cmFjZXJfZW5hYmxlZCA9IDE7CisKKwlyZXR1cm47CitmYWlsX2RlcHJvYmVfd2FrZV9uZXc6CisJbWFya2VyX3Byb2JlX3VucmVnaXN0ZXIoImtlcm5lbF9zY2hlZF93YWtldXBfbmV3IiwKKwkJCQl3YWtlX3VwX2NhbGxiYWNrLAorCQkJCSZ3YWtldXBfdHJhY2UpOworZmFpbF9kZXByb2JlOgorCW1hcmtlcl9wcm9iZV91bnJlZ2lzdGVyKCJrZXJuZWxfc2NoZWRfd2FrZXVwIiwKKwkJCQl3YWtlX3VwX2NhbGxiYWNrLAorCQkJCSZ3YWtldXBfdHJhY2UpOworfQorCitzdGF0aWMgdm9pZCBzdG9wX3dha2V1cF90cmFjZXIoc3RydWN0IHRyYWNlX2FycmF5ICp0cikKK3sKKwl0cmFjZXJfZW5hYmxlZCA9IDA7CisJdW5yZWdpc3Rlcl9mdHJhY2VfZnVuY3Rpb24oJnRyYWNlX29wcyk7CisJbWFya2VyX3Byb2JlX3VucmVnaXN0ZXIoImtlcm5lbF9zY2hlZF9zY2hlZHVsZSIsCisJCQkJc2NoZWRfc3dpdGNoX2NhbGxiYWNrLAorCQkJCSZ3YWtldXBfdHJhY2UpOworCW1hcmtlcl9wcm9iZV91bnJlZ2lzdGVyKCJrZXJuZWxfc2NoZWRfd2FrZXVwX25ldyIsCisJCQkJd2FrZV91cF9jYWxsYmFjaywKKwkJCQkmd2FrZXVwX3RyYWNlKTsKKwltYXJrZXJfcHJvYmVfdW5yZWdpc3Rlcigia2VybmVsX3NjaGVkX3dha2V1cCIsCisJCQkJd2FrZV91cF9jYWxsYmFjaywKKwkJCQkmd2FrZXVwX3RyYWNlKTsKK30KKworc3RhdGljIHZvaWQgd2FrZXVwX3RyYWNlcl9pbml0KHN0cnVjdCB0cmFjZV9hcnJheSAqdHIpCit7CisJd2FrZXVwX3RyYWNlID0gdHI7CisKKwlpZiAodHItPmN0cmwpCisJCXN0YXJ0X3dha2V1cF90cmFjZXIodHIpOworfQorCitzdGF0aWMgdm9pZCB3YWtldXBfdHJhY2VyX3Jlc2V0KHN0cnVjdCB0cmFjZV9hcnJheSAqdHIpCit7CisJaWYgKHRyLT5jdHJsKSB7CisJCXN0b3Bfd2FrZXVwX3RyYWNlcih0cik7CisJCS8qIG1ha2Ugc3VyZSB3ZSBwdXQgYmFjayBhbnkgdGFza3Mgd2UgYXJlIHRyYWNpbmcgKi8KKwkJd2FrZXVwX3Jlc2V0KHRyKTsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIHdha2V1cF90cmFjZXJfY3RybF91cGRhdGUoc3RydWN0IHRyYWNlX2FycmF5ICp0cikKK3sKKwlpZiAodHItPmN0cmwpCisJCXN0YXJ0X3dha2V1cF90cmFjZXIodHIpOworCWVsc2UKKwkJc3RvcF93YWtldXBfdHJhY2VyKHRyKTsKK30KKworc3RhdGljIHZvaWQgd2FrZXVwX3RyYWNlcl9vcGVuKHN0cnVjdCB0cmFjZV9pdGVyYXRvciAqaXRlcikKK3sKKwkvKiBzdG9wIHRoZSB0cmFjZSB3aGlsZSBkdW1waW5nICovCisJaWYgKGl0ZXItPnRyLT5jdHJsKQorCQlzdG9wX3dha2V1cF90cmFjZXIoaXRlci0+dHIpOworfQorCitzdGF0aWMgdm9pZCB3YWtldXBfdHJhY2VyX2Nsb3NlKHN0cnVjdCB0cmFjZV9pdGVyYXRvciAqaXRlcikKK3sKKwkvKiBmb3JnZXQgYWJvdXQgYW55IHByb2Nlc3NlcyB3ZSB3ZXJlIHJlY29yZGluZyAqLworCWlmIChpdGVyLT50ci0+Y3RybCkKKwkJc3RhcnRfd2FrZXVwX3RyYWNlcihpdGVyLT50cik7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgdHJhY2VyIHdha2V1cF90cmFjZXIgX19yZWFkX21vc3RseSA9Cit7CisJLm5hbWUJCT0gIndha2V1cCIsCisJLmluaXQJCT0gd2FrZXVwX3RyYWNlcl9pbml0LAorCS5yZXNldAkJPSB3YWtldXBfdHJhY2VyX3Jlc2V0LAorCS5vcGVuCQk9IHdha2V1cF90cmFjZXJfb3BlbiwKKwkuY2xvc2UJCT0gd2FrZXVwX3RyYWNlcl9jbG9zZSwKKwkuY3RybF91cGRhdGUJPSB3YWtldXBfdHJhY2VyX2N0cmxfdXBkYXRlLAorCS5wcmludF9tYXgJPSAxLAorI2lmZGVmIENPTkZJR19GVFJBQ0VfU0VMRlRFU1QKKwkuc2VsZnRlc3QgICAgPSB0cmFjZV9zZWxmdGVzdF9zdGFydHVwX3dha2V1cCwKKyNlbmRpZgorfTsKKworX19pbml0IHN0YXRpYyBpbnQgaW5pdF93YWtldXBfdHJhY2VyKHZvaWQpCit7CisJaW50IHJldDsKKworCXJldCA9IHJlZ2lzdGVyX3RyYWNlcigmd2FrZXVwX3RyYWNlcik7CisJaWYgKHJldCkKKwkJcmV0dXJuIHJldDsKKworCXJldHVybiAwOworfQorZGV2aWNlX2luaXRjYWxsKGluaXRfd2FrZXVwX3RyYWNlcik7CmRpZmYgLS1naXQgYS9rZXJuZWwvdHJhY2UvdHJhY2Vfc2VsZnRlc3QuYyBiL2tlcm5lbC90cmFjZS90cmFjZV9zZWxmdGVzdC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA5MTFiN2UKLS0tIC9kZXYvbnVsbAorKysgYi9rZXJuZWwvdHJhY2UvdHJhY2Vfc2VsZnRlc3QuYwpAQCAtMCwwICsxLDU2MyBAQAorLyogSW5jbHVkZSBpbiB0cmFjZS5jICovCisKKyNpbmNsdWRlIDxsaW51eC9rdGhyZWFkLmg+CisjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KKworc3RhdGljIGlubGluZSBpbnQgdHJhY2VfdmFsaWRfZW50cnkoc3RydWN0IHRyYWNlX2VudHJ5ICplbnRyeSkKK3sKKwlzd2l0Y2ggKGVudHJ5LT50eXBlKSB7CisJY2FzZSBUUkFDRV9GTjoKKwljYXNlIFRSQUNFX0NUWDoKKwljYXNlIFRSQUNFX1dBS0U6CisJY2FzZSBUUkFDRV9TVEFDSzoKKwljYXNlIFRSQUNFX1NQRUNJQUw6CisJCXJldHVybiAxOworCX0KKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludAordHJhY2VfdGVzdF9idWZmZXJfY3B1KHN0cnVjdCB0cmFjZV9hcnJheSAqdHIsIHN0cnVjdCB0cmFjZV9hcnJheV9jcHUgKmRhdGEpCit7CisJc3RydWN0IHRyYWNlX2VudHJ5ICplbnRyaWVzOworCXN0cnVjdCBwYWdlICpwYWdlOworCWludCBpZHggPSAwOworCWludCBpOworCisJQlVHX09OKGxpc3RfZW1wdHkoJmRhdGEtPnRyYWNlX3BhZ2VzKSk7CisJcGFnZSA9IGxpc3RfZW50cnkoZGF0YS0+dHJhY2VfcGFnZXMubmV4dCwgc3RydWN0IHBhZ2UsIGxydSk7CisJZW50cmllcyA9IHBhZ2VfYWRkcmVzcyhwYWdlKTsKKworCWNoZWNrX3BhZ2VzKGRhdGEpOworCWlmIChoZWFkX3BhZ2UoZGF0YSkgIT0gZW50cmllcykKKwkJZ290byBmYWlsZWQ7CisKKwkvKgorCSAqIFRoZSBzdGFydGluZyB0cmFjZSBidWZmZXIgYWx3YXlzIGhhcyB2YWxpZCBlbGVtZW50cywKKwkgKiBpZiBhbnkgZWxlbWVudCBleGlzdHMuCisJICovCisJZW50cmllcyA9IGhlYWRfcGFnZShkYXRhKTsKKworCWZvciAoaSA9IDA7IGkgPCB0ci0+ZW50cmllczsgaSsrKSB7CisKKwkJaWYgKGkgPCBkYXRhLT50cmFjZV9pZHggJiYgIXRyYWNlX3ZhbGlkX2VudHJ5KCZlbnRyaWVzW2lkeF0pKSB7CisJCQlwcmludGsoS0VSTl9DT05UICIuLiBpbnZhbGlkIGVudHJ5ICVkICIsCisJCQkJZW50cmllc1tpZHhdLnR5cGUpOworCQkJZ290byBmYWlsZWQ7CisJCX0KKworCQlpZHgrKzsKKwkJaWYgKGlkeCA+PSBFTlRSSUVTX1BFUl9QQUdFKSB7CisJCQlwYWdlID0gdmlydF90b19wYWdlKGVudHJpZXMpOworCQkJaWYgKHBhZ2UtPmxydS5uZXh0ID09ICZkYXRhLT50cmFjZV9wYWdlcykgeworCQkJCWlmIChpICE9IHRyLT5lbnRyaWVzIC0gMSkgeworCQkJCQlwcmludGsoS0VSTl9DT05UICIuLiBlbnRyaWVzIGJ1ZmZlciBtaXNtYXRjaCIpOworCQkJCQlnb3RvIGZhaWxlZDsKKwkJCQl9CisJCQl9IGVsc2UgeworCQkJCXBhZ2UgPSBsaXN0X2VudHJ5KHBhZ2UtPmxydS5uZXh0LCBzdHJ1Y3QgcGFnZSwgbHJ1KTsKKwkJCQllbnRyaWVzID0gcGFnZV9hZGRyZXNzKHBhZ2UpOworCQkJfQorCQkJaWR4ID0gMDsKKwkJfQorCX0KKworCXBhZ2UgPSB2aXJ0X3RvX3BhZ2UoZW50cmllcyk7CisJaWYgKHBhZ2UtPmxydS5uZXh0ICE9ICZkYXRhLT50cmFjZV9wYWdlcykgeworCQlwcmludGsoS0VSTl9DT05UICIuLiB0b28gbWFueSBlbnRyaWVzIik7CisJCWdvdG8gZmFpbGVkOworCX0KKworCXJldHVybiAwOworCisgZmFpbGVkOgorCS8qIGRpc2FibGUgdHJhY2luZyAqLworCXRyYWNpbmdfZGlzYWJsZWQgPSAxOworCXByaW50ayhLRVJOX0NPTlQgIi4uIGNvcnJ1cHRlZCB0cmFjZSBidWZmZXIgLi4gIik7CisJcmV0dXJuIC0xOworfQorCisvKgorICogVGVzdCB0aGUgdHJhY2UgYnVmZmVyIHRvIHNlZSBpZiBhbGwgdGhlIGVsZW1lbnRzCisgKiBhcmUgc3RpbGwgc2FuZS4KKyAqLworc3RhdGljIGludCB0cmFjZV90ZXN0X2J1ZmZlcihzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyLCB1bnNpZ25lZCBsb25nICpjb3VudCkKK3sKKwl1bnNpZ25lZCBsb25nIGZsYWdzLCBjbnQgPSAwOworCWludCBjcHUsIHJldCA9IDA7CisKKwkvKiBEb24ndCBhbGxvdyBmbGlwcGluZyBvZiBtYXggdHJhY2VzIG5vdyAqLworCXJhd19sb2NhbF9pcnFfc2F2ZShmbGFncyk7CisJX19yYXdfc3Bpbl9sb2NrKCZmdHJhY2VfbWF4X2xvY2spOworCWZvcl9lYWNoX3Bvc3NpYmxlX2NwdShjcHUpIHsKKwkJaWYgKCFoZWFkX3BhZ2UodHItPmRhdGFbY3B1XSkpCisJCQljb250aW51ZTsKKworCQljbnQgKz0gdHItPmRhdGFbY3B1XS0+dHJhY2VfaWR4OworCisJCXJldCA9IHRyYWNlX3Rlc3RfYnVmZmVyX2NwdSh0ciwgdHItPmRhdGFbY3B1XSk7CisJCWlmIChyZXQpCisJCQlicmVhazsKKwl9CisJX19yYXdfc3Bpbl91bmxvY2soJmZ0cmFjZV9tYXhfbG9jayk7CisJcmF3X2xvY2FsX2lycV9yZXN0b3JlKGZsYWdzKTsKKworCWlmIChjb3VudCkKKwkJKmNvdW50ID0gY250OworCisJcmV0dXJuIHJldDsKK30KKworI2lmZGVmIENPTkZJR19GVFJBQ0UKKworI2lmZGVmIENPTkZJR19EWU5BTUlDX0ZUUkFDRQorCisjZGVmaW5lIF9fU1RSKHgpICN4CisjZGVmaW5lIFNUUih4KSBfX1NUUih4KQorCisvKiBUZXN0IGR5bmFtaWMgY29kZSBtb2RpZmljYXRpb24gYW5kIGZ0cmFjZSBmaWx0ZXJzICovCitpbnQgdHJhY2Vfc2VsZnRlc3Rfc3RhcnR1cF9keW5hbWljX3RyYWNpbmcoc3RydWN0IHRyYWNlciAqdHJhY2UsCisJCQkJCSAgIHN0cnVjdCB0cmFjZV9hcnJheSAqdHIsCisJCQkJCSAgIGludCAoKmZ1bmMpKHZvaWQpKQoreworCXVuc2lnbmVkIGxvbmcgY291bnQ7CisJaW50IHJldDsKKwlpbnQgc2F2ZV9mdHJhY2VfZW5hYmxlZCA9IGZ0cmFjZV9lbmFibGVkOworCWludCBzYXZlX3RyYWNlcl9lbmFibGVkID0gdHJhY2VyX2VuYWJsZWQ7CisJY2hhciAqZnVuY19uYW1lOworCisJLyogVGhlIGZ0cmFjZSB0ZXN0IFBBU1NFRCAqLworCXByaW50ayhLRVJOX0NPTlQgIlBBU1NFRFxuIik7CisJcHJfaW5mbygiVGVzdGluZyBkeW5hbWljIGZ0cmFjZTogIik7CisKKwkvKiBlbmFibGUgdHJhY2luZywgYW5kIHJlY29yZCB0aGUgZmlsdGVyIGZ1bmN0aW9uICovCisJZnRyYWNlX2VuYWJsZWQgPSAxOworCXRyYWNlcl9lbmFibGVkID0gMTsKKworCS8qIHBhc3NlZCBpbiBieSBwYXJhbWV0ZXIgdG8gZm9vbCBnY2MgZnJvbSBvcHRpbWl6aW5nICovCisJZnVuYygpOworCisJLyogdXBkYXRlIHRoZSByZWNvcmRzICovCisJcmV0ID0gZnRyYWNlX2ZvcmNlX3VwZGF0ZSgpOworCWlmIChyZXQpIHsKKwkJcHJpbnRrKEtFUk5fQ09OVCAiLi4gZnRyYWNlZCBmYWlsZWQgLi4gIik7CisJCXJldHVybiByZXQ7CisJfQorCisJLyoKKwkgKiBTb21lIGFyY2hzICpjb3VnaCpQb3dlclBDKmNvdWdoKiBhZGQgY2hhcmFjaHRlcnMgdG8gdGhlCisJICogc3RhcnQgb2YgdGhlIGZ1bmN0aW9uIG5hbWVzLiBXZSBzaW1wbHkgcHV0IGEgJyonIHRvCisJICogYWNjb21vZGF0ZSB0aGVtLgorCSAqLworCWZ1bmNfbmFtZSA9ICIqIiBTVFIoRFlOX0ZUUkFDRV9URVNUX05BTUUpOworCisJLyogZmlsdGVyIG9ubHkgb24gb3VyIGZ1bmN0aW9uICovCisJZnRyYWNlX3NldF9maWx0ZXIoZnVuY19uYW1lLCBzdHJsZW4oZnVuY19uYW1lKSwgMSk7CisKKwkvKiBlbmFibGUgdHJhY2luZyAqLworCXRyLT5jdHJsID0gMTsKKwl0cmFjZS0+aW5pdCh0cik7CisJLyogU2xlZXAgZm9yIGEgMS8xMCBvZiBhIHNlY29uZCAqLworCW1zbGVlcCgxMDApOworCisJLyogd2Ugc2hvdWxkIGhhdmUgbm90aGluZyBpbiB0aGUgYnVmZmVyICovCisJcmV0ID0gdHJhY2VfdGVzdF9idWZmZXIodHIsICZjb3VudCk7CisJaWYgKHJldCkKKwkJZ290byBvdXQ7CisKKwlpZiAoY291bnQpIHsKKwkJcmV0ID0gLTE7CisJCXByaW50ayhLRVJOX0NPTlQgIi4uIGZpbHRlciBkaWQgbm90IGZpbHRlciAuLiAiKTsKKwkJZ290byBvdXQ7CisJfQorCisJLyogY2FsbCBvdXIgZnVuY3Rpb24gYWdhaW4gKi8KKwlmdW5jKCk7CisKKwkvKiBzbGVlcCBhZ2FpbiAqLworCW1zbGVlcCgxMDApOworCisJLyogc3RvcCB0aGUgdHJhY2luZy4gKi8KKwl0ci0+Y3RybCA9IDA7CisJdHJhY2UtPmN0cmxfdXBkYXRlKHRyKTsKKwlmdHJhY2VfZW5hYmxlZCA9IDA7CisKKwkvKiBjaGVjayB0aGUgdHJhY2UgYnVmZmVyICovCisJcmV0ID0gdHJhY2VfdGVzdF9idWZmZXIodHIsICZjb3VudCk7CisJdHJhY2UtPnJlc2V0KHRyKTsKKworCS8qIHdlIHNob3VsZCBvbmx5IGhhdmUgb25lIGl0ZW0gKi8KKwlpZiAoIXJldCAmJiBjb3VudCAhPSAxKSB7CisJCXByaW50ayhLRVJOX0NPTlQgIi4uIGZpbHRlciBmYWlsZWQgY291bnQ9JWxkIC4uIiwgY291bnQpOworCQlyZXQgPSAtMTsKKwkJZ290byBvdXQ7CisJfQorIG91dDoKKwlmdHJhY2VfZW5hYmxlZCA9IHNhdmVfZnRyYWNlX2VuYWJsZWQ7CisJdHJhY2VyX2VuYWJsZWQgPSBzYXZlX3RyYWNlcl9lbmFibGVkOworCisJLyogRW5hYmxlIHRyYWNpbmcgb24gYWxsIGZ1bmN0aW9ucyBhZ2FpbiAqLworCWZ0cmFjZV9zZXRfZmlsdGVyKE5VTEwsIDAsIDEpOworCisJcmV0dXJuIHJldDsKK30KKyNlbHNlCisjIGRlZmluZSB0cmFjZV9zZWxmdGVzdF9zdGFydHVwX2R5bmFtaWNfdHJhY2luZyh0cmFjZSwgdHIsIGZ1bmMpICh7IDA7IH0pCisjZW5kaWYgLyogQ09ORklHX0RZTkFNSUNfRlRSQUNFICovCisvKgorICogU2ltcGxlIHZlcmlmaWNhdGlvbiB0ZXN0IG9mIGZ0cmFjZSBmdW5jdGlvbiB0cmFjZXIuCisgKiBFbmFibGUgZnRyYWNlLCBzbGVlcCAxLzEwIHNlY29uZCwgYW5kIHRoZW4gcmVhZCB0aGUgdHJhY2UKKyAqIGJ1ZmZlciB0byBzZWUgaWYgYWxsIGlzIGluIG9yZGVyLgorICovCitpbnQKK3RyYWNlX3NlbGZ0ZXN0X3N0YXJ0dXBfZnVuY3Rpb24oc3RydWN0IHRyYWNlciAqdHJhY2UsIHN0cnVjdCB0cmFjZV9hcnJheSAqdHIpCit7CisJdW5zaWduZWQgbG9uZyBjb3VudDsKKwlpbnQgcmV0OworCWludCBzYXZlX2Z0cmFjZV9lbmFibGVkID0gZnRyYWNlX2VuYWJsZWQ7CisJaW50IHNhdmVfdHJhY2VyX2VuYWJsZWQgPSB0cmFjZXJfZW5hYmxlZDsKKworCS8qIG1ha2Ugc3VyZSBtc2xlZXAgaGFzIGJlZW4gcmVjb3JkZWQgKi8KKwltc2xlZXAoMSk7CisKKwkvKiBmb3JjZSB0aGUgcmVjb3JkZWQgZnVuY3Rpb25zIHRvIGJlIHRyYWNlZCAqLworCXJldCA9IGZ0cmFjZV9mb3JjZV91cGRhdGUoKTsKKwlpZiAocmV0KSB7CisJCXByaW50ayhLRVJOX0NPTlQgIi4uIGZ0cmFjZWQgZmFpbGVkIC4uICIpOworCQlyZXR1cm4gcmV0OworCX0KKworCS8qIHN0YXJ0IHRoZSB0cmFjaW5nICovCisJZnRyYWNlX2VuYWJsZWQgPSAxOworCXRyYWNlcl9lbmFibGVkID0gMTsKKworCXRyLT5jdHJsID0gMTsKKwl0cmFjZS0+aW5pdCh0cik7CisJLyogU2xlZXAgZm9yIGEgMS8xMCBvZiBhIHNlY29uZCAqLworCW1zbGVlcCgxMDApOworCS8qIHN0b3AgdGhlIHRyYWNpbmcuICovCisJdHItPmN0cmwgPSAwOworCXRyYWNlLT5jdHJsX3VwZGF0ZSh0cik7CisJZnRyYWNlX2VuYWJsZWQgPSAwOworCisJLyogY2hlY2sgdGhlIHRyYWNlIGJ1ZmZlciAqLworCXJldCA9IHRyYWNlX3Rlc3RfYnVmZmVyKHRyLCAmY291bnQpOworCXRyYWNlLT5yZXNldCh0cik7CisKKwlpZiAoIXJldCAmJiAhY291bnQpIHsKKwkJcHJpbnRrKEtFUk5fQ09OVCAiLi4gbm8gZW50cmllcyBmb3VuZCAuLiIpOworCQlyZXQgPSAtMTsKKwkJZ290byBvdXQ7CisJfQorCisJcmV0ID0gdHJhY2Vfc2VsZnRlc3Rfc3RhcnR1cF9keW5hbWljX3RyYWNpbmcodHJhY2UsIHRyLAorCQkJCQkJICAgICBEWU5fRlRSQUNFX1RFU1RfTkFNRSk7CisKKyBvdXQ6CisJZnRyYWNlX2VuYWJsZWQgPSBzYXZlX2Z0cmFjZV9lbmFibGVkOworCXRyYWNlcl9lbmFibGVkID0gc2F2ZV90cmFjZXJfZW5hYmxlZDsKKworCS8qIGtpbGwgZnRyYWNlIHRvdGFsbHkgaWYgd2UgZmFpbGVkICovCisJaWYgKHJldCkKKwkJZnRyYWNlX2tpbGwoKTsKKworCXJldHVybiByZXQ7Cit9CisjZW5kaWYgLyogQ09ORklHX0ZUUkFDRSAqLworCisjaWZkZWYgQ09ORklHX0lSUVNPRkZfVFJBQ0VSCitpbnQKK3RyYWNlX3NlbGZ0ZXN0X3N0YXJ0dXBfaXJxc29mZihzdHJ1Y3QgdHJhY2VyICp0cmFjZSwgc3RydWN0IHRyYWNlX2FycmF5ICp0cikKK3sKKwl1bnNpZ25lZCBsb25nIHNhdmVfbWF4ID0gdHJhY2luZ19tYXhfbGF0ZW5jeTsKKwl1bnNpZ25lZCBsb25nIGNvdW50OworCWludCByZXQ7CisKKwkvKiBzdGFydCB0aGUgdHJhY2luZyAqLworCXRyLT5jdHJsID0gMTsKKwl0cmFjZS0+aW5pdCh0cik7CisJLyogcmVzZXQgdGhlIG1heCBsYXRlbmN5ICovCisJdHJhY2luZ19tYXhfbGF0ZW5jeSA9IDA7CisJLyogZGlzYWJsZSBpbnRlcnJ1cHRzIGZvciBhIGJpdCAqLworCWxvY2FsX2lycV9kaXNhYmxlKCk7CisJdWRlbGF5KDEwMCk7CisJbG9jYWxfaXJxX2VuYWJsZSgpOworCS8qIHN0b3AgdGhlIHRyYWNpbmcuICovCisJdHItPmN0cmwgPSAwOworCXRyYWNlLT5jdHJsX3VwZGF0ZSh0cik7CisJLyogY2hlY2sgYm90aCB0cmFjZSBidWZmZXJzICovCisJcmV0ID0gdHJhY2VfdGVzdF9idWZmZXIodHIsIE5VTEwpOworCWlmICghcmV0KQorCQlyZXQgPSB0cmFjZV90ZXN0X2J1ZmZlcigmbWF4X3RyLCAmY291bnQpOworCXRyYWNlLT5yZXNldCh0cik7CisKKwlpZiAoIXJldCAmJiAhY291bnQpIHsKKwkJcHJpbnRrKEtFUk5fQ09OVCAiLi4gbm8gZW50cmllcyBmb3VuZCAuLiIpOworCQlyZXQgPSAtMTsKKwl9CisKKwl0cmFjaW5nX21heF9sYXRlbmN5ID0gc2F2ZV9tYXg7CisKKwlyZXR1cm4gcmV0OworfQorI2VuZGlmIC8qIENPTkZJR19JUlFTT0ZGX1RSQUNFUiAqLworCisjaWZkZWYgQ09ORklHX1BSRUVNUFRfVFJBQ0VSCitpbnQKK3RyYWNlX3NlbGZ0ZXN0X3N0YXJ0dXBfcHJlZW1wdG9mZihzdHJ1Y3QgdHJhY2VyICp0cmFjZSwgc3RydWN0IHRyYWNlX2FycmF5ICp0cikKK3sKKwl1bnNpZ25lZCBsb25nIHNhdmVfbWF4ID0gdHJhY2luZ19tYXhfbGF0ZW5jeTsKKwl1bnNpZ25lZCBsb25nIGNvdW50OworCWludCByZXQ7CisKKwkvKiBzdGFydCB0aGUgdHJhY2luZyAqLworCXRyLT5jdHJsID0gMTsKKwl0cmFjZS0+aW5pdCh0cik7CisJLyogcmVzZXQgdGhlIG1heCBsYXRlbmN5ICovCisJdHJhY2luZ19tYXhfbGF0ZW5jeSA9IDA7CisJLyogZGlzYWJsZSBwcmVlbXB0aW9uIGZvciBhIGJpdCAqLworCXByZWVtcHRfZGlzYWJsZSgpOworCXVkZWxheSgxMDApOworCXByZWVtcHRfZW5hYmxlKCk7CisJLyogc3RvcCB0aGUgdHJhY2luZy4gKi8KKwl0ci0+Y3RybCA9IDA7CisJdHJhY2UtPmN0cmxfdXBkYXRlKHRyKTsKKwkvKiBjaGVjayBib3RoIHRyYWNlIGJ1ZmZlcnMgKi8KKwlyZXQgPSB0cmFjZV90ZXN0X2J1ZmZlcih0ciwgTlVMTCk7CisJaWYgKCFyZXQpCisJCXJldCA9IHRyYWNlX3Rlc3RfYnVmZmVyKCZtYXhfdHIsICZjb3VudCk7CisJdHJhY2UtPnJlc2V0KHRyKTsKKworCWlmICghcmV0ICYmICFjb3VudCkgeworCQlwcmludGsoS0VSTl9DT05UICIuLiBubyBlbnRyaWVzIGZvdW5kIC4uIik7CisJCXJldCA9IC0xOworCX0KKworCXRyYWNpbmdfbWF4X2xhdGVuY3kgPSBzYXZlX21heDsKKworCXJldHVybiByZXQ7Cit9CisjZW5kaWYgLyogQ09ORklHX1BSRUVNUFRfVFJBQ0VSICovCisKKyNpZiBkZWZpbmVkKENPTkZJR19JUlFTT0ZGX1RSQUNFUikgJiYgZGVmaW5lZChDT05GSUdfUFJFRU1QVF9UUkFDRVIpCitpbnQKK3RyYWNlX3NlbGZ0ZXN0X3N0YXJ0dXBfcHJlZW1wdGlycXNvZmYoc3RydWN0IHRyYWNlciAqdHJhY2UsIHN0cnVjdCB0cmFjZV9hcnJheSAqdHIpCit7CisJdW5zaWduZWQgbG9uZyBzYXZlX21heCA9IHRyYWNpbmdfbWF4X2xhdGVuY3k7CisJdW5zaWduZWQgbG9uZyBjb3VudDsKKwlpbnQgcmV0OworCisJLyogc3RhcnQgdGhlIHRyYWNpbmcgKi8KKwl0ci0+Y3RybCA9IDE7CisJdHJhY2UtPmluaXQodHIpOworCisJLyogcmVzZXQgdGhlIG1heCBsYXRlbmN5ICovCisJdHJhY2luZ19tYXhfbGF0ZW5jeSA9IDA7CisKKwkvKiBkaXNhYmxlIHByZWVtcHRpb24gYW5kIGludGVycnVwdHMgZm9yIGEgYml0ICovCisJcHJlZW1wdF9kaXNhYmxlKCk7CisJbG9jYWxfaXJxX2Rpc2FibGUoKTsKKwl1ZGVsYXkoMTAwKTsKKwlwcmVlbXB0X2VuYWJsZSgpOworCS8qIHJldmVyc2UgdGhlIG9yZGVyIG9mIHByZWVtcHQgdnMgaXJxcyAqLworCWxvY2FsX2lycV9lbmFibGUoKTsKKworCS8qIHN0b3AgdGhlIHRyYWNpbmcuICovCisJdHItPmN0cmwgPSAwOworCXRyYWNlLT5jdHJsX3VwZGF0ZSh0cik7CisJLyogY2hlY2sgYm90aCB0cmFjZSBidWZmZXJzICovCisJcmV0ID0gdHJhY2VfdGVzdF9idWZmZXIodHIsIE5VTEwpOworCWlmIChyZXQpCisJCWdvdG8gb3V0OworCisJcmV0ID0gdHJhY2VfdGVzdF9idWZmZXIoJm1heF90ciwgJmNvdW50KTsKKwlpZiAocmV0KQorCQlnb3RvIG91dDsKKworCWlmICghcmV0ICYmICFjb3VudCkgeworCQlwcmludGsoS0VSTl9DT05UICIuLiBubyBlbnRyaWVzIGZvdW5kIC4uIik7CisJCXJldCA9IC0xOworCQlnb3RvIG91dDsKKwl9CisKKwkvKiBkbyB0aGUgdGVzdCBieSBkaXNhYmxpbmcgaW50ZXJydXB0cyBmaXJzdCB0aGlzIHRpbWUgKi8KKwl0cmFjaW5nX21heF9sYXRlbmN5ID0gMDsKKwl0ci0+Y3RybCA9IDE7CisJdHJhY2UtPmN0cmxfdXBkYXRlKHRyKTsKKwlwcmVlbXB0X2Rpc2FibGUoKTsKKwlsb2NhbF9pcnFfZGlzYWJsZSgpOworCXVkZWxheSgxMDApOworCXByZWVtcHRfZW5hYmxlKCk7CisJLyogcmV2ZXJzZSB0aGUgb3JkZXIgb2YgcHJlZW1wdCB2cyBpcnFzICovCisJbG9jYWxfaXJxX2VuYWJsZSgpOworCisJLyogc3RvcCB0aGUgdHJhY2luZy4gKi8KKwl0ci0+Y3RybCA9IDA7CisJdHJhY2UtPmN0cmxfdXBkYXRlKHRyKTsKKwkvKiBjaGVjayBib3RoIHRyYWNlIGJ1ZmZlcnMgKi8KKwlyZXQgPSB0cmFjZV90ZXN0X2J1ZmZlcih0ciwgTlVMTCk7CisJaWYgKHJldCkKKwkJZ290byBvdXQ7CisKKwlyZXQgPSB0cmFjZV90ZXN0X2J1ZmZlcigmbWF4X3RyLCAmY291bnQpOworCisJaWYgKCFyZXQgJiYgIWNvdW50KSB7CisJCXByaW50ayhLRVJOX0NPTlQgIi4uIG5vIGVudHJpZXMgZm91bmQgLi4iKTsKKwkJcmV0ID0gLTE7CisJCWdvdG8gb3V0OworCX0KKworIG91dDoKKwl0cmFjZS0+cmVzZXQodHIpOworCXRyYWNpbmdfbWF4X2xhdGVuY3kgPSBzYXZlX21heDsKKworCXJldHVybiByZXQ7Cit9CisjZW5kaWYgLyogQ09ORklHX0lSUVNPRkZfVFJBQ0VSICYmIENPTkZJR19QUkVFTVBUX1RSQUNFUiAqLworCisjaWZkZWYgQ09ORklHX1NDSEVEX1RSQUNFUgorc3RhdGljIGludCB0cmFjZV93YWtldXBfdGVzdF90aHJlYWQodm9pZCAqZGF0YSkKK3sKKwkvKiBNYWtlIHRoaXMgYSBSVCB0aHJlYWQsIGRvZXNuJ3QgbmVlZCB0byBiZSB0b28gaGlnaCAqLworCXN0cnVjdCBzY2hlZF9wYXJhbSBwYXJhbSA9IHsgLnNjaGVkX3ByaW9yaXR5ID0gNSB9OworCXN0cnVjdCBjb21wbGV0aW9uICp4ID0gZGF0YTsKKworCXNjaGVkX3NldHNjaGVkdWxlcihjdXJyZW50LCBTQ0hFRF9GSUZPLCAmcGFyYW0pOworCisJLyogTWFrZSBpdCBrbm93IHdlIGhhdmUgYSBuZXcgcHJpbyAqLworCWNvbXBsZXRlKHgpOworCisJLyogbm93IGdvIHRvIHNsZWVwIGFuZCBsZXQgdGhlIHRlc3Qgd2FrZSB1cyB1cCAqLworCXNldF9jdXJyZW50X3N0YXRlKFRBU0tfSU5URVJSVVBUSUJMRSk7CisJc2NoZWR1bGUoKTsKKworCS8qIHdlIGFyZSBhd2FrZSwgbm93IHdhaXQgdG8gZGlzYXBwZWFyICovCisJd2hpbGUgKCFrdGhyZWFkX3Nob3VsZF9zdG9wKCkpIHsKKwkJLyoKKwkJICogVGhpcyBpcyBhbiBSVCB0YXNrLCBkbyBzaG9ydCBzbGVlcHMgdG8gbGV0CisJCSAqIG90aGVycyBydW4uCisJCSAqLworCQltc2xlZXAoMTAwKTsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworaW50Cit0cmFjZV9zZWxmdGVzdF9zdGFydHVwX3dha2V1cChzdHJ1Y3QgdHJhY2VyICp0cmFjZSwgc3RydWN0IHRyYWNlX2FycmF5ICp0cikKK3sKKwl1bnNpZ25lZCBsb25nIHNhdmVfbWF4ID0gdHJhY2luZ19tYXhfbGF0ZW5jeTsKKwlzdHJ1Y3QgdGFza19zdHJ1Y3QgKnA7CisJc3RydWN0IGNvbXBsZXRpb24gaXNydDsKKwl1bnNpZ25lZCBsb25nIGNvdW50OworCWludCByZXQ7CisKKwlpbml0X2NvbXBsZXRpb24oJmlzcnQpOworCisJLyogY3JlYXRlIGEgaGlnaCBwcmlvIHRocmVhZCAqLworCXAgPSBrdGhyZWFkX3J1bih0cmFjZV93YWtldXBfdGVzdF90aHJlYWQsICZpc3J0LCAiZnRyYWNlLXRlc3QiKTsKKwlpZiAoSVNfRVJSKHApKSB7CisJCXByaW50ayhLRVJOX0NPTlQgIkZhaWxlZCB0byBjcmVhdGUgZnRyYWNlIHdha2V1cCB0ZXN0IHRocmVhZCAiKTsKKwkJcmV0dXJuIC0xOworCX0KKworCS8qIG1ha2Ugc3VyZSB0aGUgdGhyZWFkIGlzIHJ1bm5pbmcgYXQgYW4gUlQgcHJpbyAqLworCXdhaXRfZm9yX2NvbXBsZXRpb24oJmlzcnQpOworCisJLyogc3RhcnQgdGhlIHRyYWNpbmcgKi8KKwl0ci0+Y3RybCA9IDE7CisJdHJhY2UtPmluaXQodHIpOworCS8qIHJlc2V0IHRoZSBtYXggbGF0ZW5jeSAqLworCXRyYWNpbmdfbWF4X2xhdGVuY3kgPSAwOworCisJLyogc2xlZXAgdG8gbGV0IHRoZSBSVCB0aHJlYWQgc2xlZXAgdG9vICovCisJbXNsZWVwKDEwMCk7CisKKwkvKgorCSAqIFllcyB0aGlzIGlzIHNsaWdodGx5IHJhY3kuIEl0IGlzIHBvc3NpYmxlIHRoYXQgZm9yIHNvbWUKKwkgKiBzdHJhbmdlIHJlYXNvbiB0aGF0IHRoZSBSVCB0aHJlYWQgd2UgY3JlYXRlZCwgZGlkIG5vdAorCSAqIGNhbGwgc2NoZWR1bGUgZm9yIDEwMG1zIGFmdGVyIGRvaW5nIHRoZSBjb21wbGV0aW9uLAorCSAqIGFuZCB3ZSBkbyBhIHdha2V1cCBvbiBhIHRhc2sgdGhhdCBhbHJlYWR5IGlzIGF3YWtlLgorCSAqIEJ1dCB0aGF0IGlzIGV4dHJlbWVseSB1bmxpa2VseSwgYW5kIHRoZSB3b3JzdCB0aGluZyB0aGF0CisJICogaGFwcGVucyBpbiBzdWNoIGEgY2FzZSwgaXMgdGhhdCB3ZSBkaXNhYmxlIHRyYWNpbmcuCisJICogSG9uZXN0bHksIGlmIHRoaXMgcmFjZSBkb2VzIGhhcHBlbiBzb21ldGhpbmcgaXMgaG9ycmlibGUKKwkgKiB3cm9uZyB3aXRoIHRoZSBzeXN0ZW0uCisJICovCisKKwl3YWtlX3VwX3Byb2Nlc3MocCk7CisKKwkvKiBzdG9wIHRoZSB0cmFjaW5nLiAqLworCXRyLT5jdHJsID0gMDsKKwl0cmFjZS0+Y3RybF91cGRhdGUodHIpOworCS8qIGNoZWNrIGJvdGggdHJhY2UgYnVmZmVycyAqLworCXJldCA9IHRyYWNlX3Rlc3RfYnVmZmVyKHRyLCBOVUxMKTsKKwlpZiAoIXJldCkKKwkJcmV0ID0gdHJhY2VfdGVzdF9idWZmZXIoJm1heF90ciwgJmNvdW50KTsKKworCisJdHJhY2UtPnJlc2V0KHRyKTsKKworCXRyYWNpbmdfbWF4X2xhdGVuY3kgPSBzYXZlX21heDsKKworCS8qIGtpbGwgdGhlIHRocmVhZCAqLworCWt0aHJlYWRfc3RvcChwKTsKKworCWlmICghcmV0ICYmICFjb3VudCkgeworCQlwcmludGsoS0VSTl9DT05UICIuLiBubyBlbnRyaWVzIGZvdW5kIC4uIik7CisJCXJldCA9IC0xOworCX0KKworCXJldHVybiByZXQ7Cit9CisjZW5kaWYgLyogQ09ORklHX1NDSEVEX1RSQUNFUiAqLworCisjaWZkZWYgQ09ORklHX0NPTlRFWFRfU1dJVENIX1RSQUNFUgoraW50Cit0cmFjZV9zZWxmdGVzdF9zdGFydHVwX3NjaGVkX3N3aXRjaChzdHJ1Y3QgdHJhY2VyICp0cmFjZSwgc3RydWN0IHRyYWNlX2FycmF5ICp0cikKK3sKKwl1bnNpZ25lZCBsb25nIGNvdW50OworCWludCByZXQ7CisKKwkvKiBzdGFydCB0aGUgdHJhY2luZyAqLworCXRyLT5jdHJsID0gMTsKKwl0cmFjZS0+aW5pdCh0cik7CisJLyogU2xlZXAgZm9yIGEgMS8xMCBvZiBhIHNlY29uZCAqLworCW1zbGVlcCgxMDApOworCS8qIHN0b3AgdGhlIHRyYWNpbmcuICovCisJdHItPmN0cmwgPSAwOworCXRyYWNlLT5jdHJsX3VwZGF0ZSh0cik7CisJLyogY2hlY2sgdGhlIHRyYWNlIGJ1ZmZlciAqLworCXJldCA9IHRyYWNlX3Rlc3RfYnVmZmVyKHRyLCAmY291bnQpOworCXRyYWNlLT5yZXNldCh0cik7CisKKwlpZiAoIXJldCAmJiAhY291bnQpIHsKKwkJcHJpbnRrKEtFUk5fQ09OVCAiLi4gbm8gZW50cmllcyBmb3VuZCAuLiIpOworCQlyZXQgPSAtMTsKKwl9CisKKwlyZXR1cm4gcmV0OworfQorI2VuZGlmIC8qIENPTkZJR19DT05URVhUX1NXSVRDSF9UUkFDRVIgKi8KKworI2lmZGVmIENPTkZJR19TWVNQUk9GX1RSQUNFUgoraW50Cit0cmFjZV9zZWxmdGVzdF9zdGFydHVwX3N5c3Byb2Yoc3RydWN0IHRyYWNlciAqdHJhY2UsIHN0cnVjdCB0cmFjZV9hcnJheSAqdHIpCit7CisJdW5zaWduZWQgbG9uZyBjb3VudDsKKwlpbnQgcmV0OworCisJLyogc3RhcnQgdGhlIHRyYWNpbmcgKi8KKwl0ci0+Y3RybCA9IDE7CisJdHJhY2UtPmluaXQodHIpOworCS8qIFNsZWVwIGZvciBhIDEvMTAgb2YgYSBzZWNvbmQgKi8KKwltc2xlZXAoMTAwKTsKKwkvKiBzdG9wIHRoZSB0cmFjaW5nLiAqLworCXRyLT5jdHJsID0gMDsKKwl0cmFjZS0+Y3RybF91cGRhdGUodHIpOworCS8qIGNoZWNrIHRoZSB0cmFjZSBidWZmZXIgKi8KKwlyZXQgPSB0cmFjZV90ZXN0X2J1ZmZlcih0ciwgJmNvdW50KTsKKwl0cmFjZS0+cmVzZXQodHIpOworCisJcmV0dXJuIHJldDsKK30KKyNlbmRpZiAvKiBDT05GSUdfU1lTUFJPRl9UUkFDRVIgKi8KZGlmZiAtLWdpdCBhL2tlcm5lbC90cmFjZS90cmFjZV9zZWxmdGVzdF9keW5hbWljLmMgYi9rZXJuZWwvdHJhY2UvdHJhY2Vfc2VsZnRlc3RfZHluYW1pYy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU0ZGQ3N2MKLS0tIC9kZXYvbnVsbAorKysgYi9rZXJuZWwvdHJhY2UvdHJhY2Vfc2VsZnRlc3RfZHluYW1pYy5jCkBAIC0wLDAgKzEsNyBAQAorI2luY2x1ZGUgInRyYWNlLmgiCisKK2ludCBEWU5fRlRSQUNFX1RFU1RfTkFNRSh2b2lkKQoreworCS8qIHVzZWQgdG8gY2FsbCBtY291bnQgKi8KKwlyZXR1cm4gMDsKK30KZGlmZiAtLWdpdCBhL2tlcm5lbC90cmFjZS90cmFjZV9zeXNwcm9mLmMgYi9rZXJuZWwvdHJhY2UvdHJhY2Vfc3lzcHJvZi5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIzMDFlMWUKLS0tIC9kZXYvbnVsbAorKysgYi9rZXJuZWwvdHJhY2UvdHJhY2Vfc3lzcHJvZi5jCkBAIC0wLDAgKzEsMzYzIEBACisvKgorICogdHJhY2Ugc3RhY2sgdHJhY2VzCisgKgorICogQ29weXJpZ2h0IChDKSAyMDA0LTIwMDgsIFNvZXJlbiBTYW5kbWFubgorICogQ29weXJpZ2h0IChDKSAyMDA3IFN0ZXZlbiBSb3N0ZWR0IDxzcm9zdGVkdEByZWRoYXQuY29tPgorICogQ29weXJpZ2h0IChDKSAyMDA4IEluZ28gTW9sbmFyIDxtaW5nb0ByZWRoYXQuY29tPgorICovCisjaW5jbHVkZSA8bGludXgva2FsbHN5bXMuaD4KKyNpbmNsdWRlIDxsaW51eC9kZWJ1Z2ZzLmg+CisjaW5jbHVkZSA8bGludXgvaHJ0aW1lci5oPgorI2luY2x1ZGUgPGxpbnV4L3VhY2Nlc3MuaD4KKyNpbmNsdWRlIDxsaW51eC9mdHJhY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9pcnEuaD4KKyNpbmNsdWRlIDxsaW51eC9mcy5oPgorCisjaW5jbHVkZSA8YXNtL3N0YWNrdHJhY2UuaD4KKworI2luY2x1ZGUgInRyYWNlLmgiCisKK3N0YXRpYyBzdHJ1Y3QgdHJhY2VfYXJyYXkJKnN5c3Byb2ZfdHJhY2U7CitzdGF0aWMgaW50IF9fcmVhZF9tb3N0bHkJdHJhY2VyX2VuYWJsZWQ7CisKKy8qCisgKiAxIG1zZWMgc2FtcGxlIGludGVydmFsIGJ5IGRlZmF1bHQ6CisgKi8KK3N0YXRpYyB1bnNpZ25lZCBsb25nIHNhbXBsZV9wZXJpb2QgPSAxMDAwMDAwOworc3RhdGljIGNvbnN0IHVuc2lnbmVkIGludCBzYW1wbGVfbWF4X2RlcHRoID0gNTEyOworCitzdGF0aWMgREVGSU5FX01VVEVYKHNhbXBsZV90aW1lcl9sb2NrKTsKKy8qCisgKiBQZXIgQ1BVIGhydGltZXJzIHRoYXQgZG8gdGhlIHByb2ZpbGluZzoKKyAqLworc3RhdGljIERFRklORV9QRVJfQ1BVKHN0cnVjdCBocnRpbWVyLCBzdGFja190cmFjZV9ocnRpbWVyKTsKKworc3RydWN0IHN0YWNrX2ZyYW1lIHsKKwljb25zdCB2b2lkIF9fdXNlcgkqbmV4dF9mcDsKKwl1bnNpZ25lZCBsb25nCQlyZXR1cm5fYWRkcmVzczsKK307CisKK3N0YXRpYyBpbnQgY29weV9zdGFja19mcmFtZShjb25zdCB2b2lkIF9fdXNlciAqZnAsIHN0cnVjdCBzdGFja19mcmFtZSAqZnJhbWUpCit7CisJaW50IHJldDsKKworCWlmICghYWNjZXNzX29rKFZFUklGWV9SRUFELCBmcCwgc2l6ZW9mKCpmcmFtZSkpKQorCQlyZXR1cm4gMDsKKworCXJldCA9IDE7CisJcGFnZWZhdWx0X2Rpc2FibGUoKTsKKwlpZiAoX19jb3B5X2Zyb21fdXNlcl9pbmF0b21pYyhmcmFtZSwgZnAsIHNpemVvZigqZnJhbWUpKSkKKwkJcmV0ID0gMDsKKwlwYWdlZmF1bHRfZW5hYmxlKCk7CisKKwlyZXR1cm4gcmV0OworfQorCitzdHJ1Y3QgYmFja3RyYWNlX2luZm8geworCXN0cnVjdCB0cmFjZV9hcnJheV9jcHUJKmRhdGE7CisJc3RydWN0IHRyYWNlX2FycmF5CSp0cjsKKwlpbnQJCQlwb3M7Cit9OworCitzdGF0aWMgdm9pZAorYmFja3RyYWNlX3dhcm5pbmdfc3ltYm9sKHZvaWQgKmRhdGEsIGNoYXIgKm1zZywgdW5zaWduZWQgbG9uZyBzeW1ib2wpCit7CisJLyogSWdub3JlIHdhcm5pbmdzICovCit9CisKK3N0YXRpYyB2b2lkIGJhY2t0cmFjZV93YXJuaW5nKHZvaWQgKmRhdGEsIGNoYXIgKm1zZykKK3sKKwkvKiBJZ25vcmUgd2FybmluZ3MgKi8KK30KKworc3RhdGljIGludCBiYWNrdHJhY2Vfc3RhY2sodm9pZCAqZGF0YSwgY2hhciAqbmFtZSkKK3sKKwkvKiBEb24ndCBib3RoZXIgd2l0aCBJUlEgc3RhY2tzIGZvciBub3cgKi8KKwlyZXR1cm4gLTE7Cit9CisKK3N0YXRpYyB2b2lkIGJhY2t0cmFjZV9hZGRyZXNzKHZvaWQgKmRhdGEsIHVuc2lnbmVkIGxvbmcgYWRkciwgaW50IHJlbGlhYmxlKQoreworCXN0cnVjdCBiYWNrdHJhY2VfaW5mbyAqaW5mbyA9IGRhdGE7CisKKwlpZiAoaW5mby0+cG9zIDwgc2FtcGxlX21heF9kZXB0aCAmJiByZWxpYWJsZSkgeworCQlfX3RyYWNlX3NwZWNpYWwoaW5mby0+dHIsIGluZm8tPmRhdGEsIDEsIGFkZHIsIDApOworCisJCWluZm8tPnBvcysrOworCX0KK30KKworY29uc3Qgc3RhdGljIHN0cnVjdCBzdGFja3RyYWNlX29wcyBiYWNrdHJhY2Vfb3BzID0geworCS53YXJuaW5nCQk9IGJhY2t0cmFjZV93YXJuaW5nLAorCS53YXJuaW5nX3N5bWJvbAkJPSBiYWNrdHJhY2Vfd2FybmluZ19zeW1ib2wsCisJLnN0YWNrCQkJPSBiYWNrdHJhY2Vfc3RhY2ssCisJLmFkZHJlc3MJCT0gYmFja3RyYWNlX2FkZHJlc3MsCit9OworCitzdGF0aWMgaW50Cit0cmFjZV9rZXJuZWwoc3RydWN0IHB0X3JlZ3MgKnJlZ3MsIHN0cnVjdCB0cmFjZV9hcnJheSAqdHIsCisJICAgICBzdHJ1Y3QgdHJhY2VfYXJyYXlfY3B1ICpkYXRhKQoreworCXN0cnVjdCBiYWNrdHJhY2VfaW5mbyBpbmZvOworCXVuc2lnbmVkIGxvbmcgYnA7CisJY2hhciAqc3RhY2s7CisKKwlpbmZvLnRyID0gdHI7CisJaW5mby5kYXRhID0gZGF0YTsKKwlpbmZvLnBvcyA9IDE7CisKKwlfX3RyYWNlX3NwZWNpYWwoaW5mby50ciwgaW5mby5kYXRhLCAxLCByZWdzLT5pcCwgMCk7CisKKwlzdGFjayA9ICgoY2hhciAqKXJlZ3MgKyBzaXplb2Yoc3RydWN0IHB0X3JlZ3MpKTsKKyNpZmRlZiBDT05GSUdfRlJBTUVfUE9JTlRFUgorCWJwID0gcmVncy0+YnA7CisjZWxzZQorCWJwID0gMDsKKyNlbmRpZgorCisJZHVtcF90cmFjZShOVUxMLCByZWdzLCAodm9pZCAqKXN0YWNrLCBicCwgJmJhY2t0cmFjZV9vcHMsICZpbmZvKTsKKworCXJldHVybiBpbmZvLnBvczsKK30KKworc3RhdGljIHZvaWQgdGltZXJfbm90aWZ5KHN0cnVjdCBwdF9yZWdzICpyZWdzLCBpbnQgY3B1KQoreworCXN0cnVjdCB0cmFjZV9hcnJheV9jcHUgKmRhdGE7CisJc3RydWN0IHN0YWNrX2ZyYW1lIGZyYW1lOworCXN0cnVjdCB0cmFjZV9hcnJheSAqdHI7CisJY29uc3Qgdm9pZCBfX3VzZXIgKmZwOworCWludCBpc191c2VyOworCWludCBpOworCisJaWYgKCFyZWdzKQorCQlyZXR1cm47CisKKwl0ciA9IHN5c3Byb2ZfdHJhY2U7CisJZGF0YSA9IHRyLT5kYXRhW2NwdV07CisJaXNfdXNlciA9IHVzZXJfbW9kZShyZWdzKTsKKworCWlmICghY3VycmVudCB8fCBjdXJyZW50LT5waWQgPT0gMCkKKwkJcmV0dXJuOworCisJaWYgKGlzX3VzZXIgJiYgY3VycmVudC0+c3RhdGUgIT0gVEFTS19SVU5OSU5HKQorCQlyZXR1cm47CisKKwlfX3RyYWNlX3NwZWNpYWwodHIsIGRhdGEsIDAsIDAsIGN1cnJlbnQtPnBpZCk7CisKKwlpZiAoIWlzX3VzZXIpCisJCWkgPSB0cmFjZV9rZXJuZWwocmVncywgdHIsIGRhdGEpOworCWVsc2UKKwkJaSA9IDA7CisKKwkvKgorCSAqIFRyYWNlIHVzZXIgc3RhY2sgaWYgd2UgYXJlIG5vdCBhIGtlcm5lbCB0aHJlYWQKKwkgKi8KKwlpZiAoY3VycmVudC0+bW0gJiYgaSA8IHNhbXBsZV9tYXhfZGVwdGgpIHsKKwkJcmVncyA9IChzdHJ1Y3QgcHRfcmVncyAqKWN1cnJlbnQtPnRocmVhZC5zcDAgLSAxOworCisJCWZwID0gKHZvaWQgX191c2VyICopcmVncy0+YnA7CisKKwkJX190cmFjZV9zcGVjaWFsKHRyLCBkYXRhLCAyLCByZWdzLT5pcCwgMCk7CisKKwkJd2hpbGUgKGkgPCBzYW1wbGVfbWF4X2RlcHRoKSB7CisJCQlmcmFtZS5uZXh0X2ZwID0gMDsKKwkJCWZyYW1lLnJldHVybl9hZGRyZXNzID0gMDsKKwkJCWlmICghY29weV9zdGFja19mcmFtZShmcCwgJmZyYW1lKSkKKwkJCQlicmVhazsKKwkJCWlmICgodW5zaWduZWQgbG9uZylmcCA8IHJlZ3MtPnNwKQorCQkJCWJyZWFrOworCisJCQlfX3RyYWNlX3NwZWNpYWwodHIsIGRhdGEsIDIsIGZyYW1lLnJldHVybl9hZGRyZXNzLAorCQkJCQkodW5zaWduZWQgbG9uZylmcCk7CisJCQlmcCA9IGZyYW1lLm5leHRfZnA7CisKKwkJCWkrKzsKKwkJfQorCisJfQorCisJLyoKKwkgKiBTcGVjaWFsIHRyYWNlIGVudHJ5IGlmIHdlIG92ZXJmbG93IHRoZSBtYXggZGVwdGg6CisJICovCisJaWYgKGkgPT0gc2FtcGxlX21heF9kZXB0aCkKKwkJX190cmFjZV9zcGVjaWFsKHRyLCBkYXRhLCAtMSwgLTEsIC0xKTsKKworCV9fdHJhY2Vfc3BlY2lhbCh0ciwgZGF0YSwgMywgY3VycmVudC0+cGlkLCBpKTsKK30KKworc3RhdGljIGVudW0gaHJ0aW1lcl9yZXN0YXJ0IHN0YWNrX3RyYWNlX3RpbWVyX2ZuKHN0cnVjdCBocnRpbWVyICpocnRpbWVyKQoreworCS8qIHRyYWNlIGhlcmUgKi8KKwl0aW1lcl9ub3RpZnkoZ2V0X2lycV9yZWdzKCksIHNtcF9wcm9jZXNzb3JfaWQoKSk7CisKKwlocnRpbWVyX2ZvcndhcmRfbm93KGhydGltZXIsIG5zX3RvX2t0aW1lKHNhbXBsZV9wZXJpb2QpKTsKKworCXJldHVybiBIUlRJTUVSX1JFU1RBUlQ7Cit9CisKK3N0YXRpYyB2b2lkIHN0YXJ0X3N0YWNrX3RpbWVyKGludCBjcHUpCit7CisJc3RydWN0IGhydGltZXIgKmhydGltZXIgPSAmcGVyX2NwdShzdGFja190cmFjZV9ocnRpbWVyLCBjcHUpOworCisJaHJ0aW1lcl9pbml0KGhydGltZXIsIENMT0NLX01PTk9UT05JQywgSFJUSU1FUl9NT0RFX1JFTCk7CisJaHJ0aW1lci0+ZnVuY3Rpb24gPSBzdGFja190cmFjZV90aW1lcl9mbjsKKwlocnRpbWVyLT5jYl9tb2RlID0gSFJUSU1FUl9DQl9JUlFTQUZFX05PX1NPRlRJUlE7CisKKwlocnRpbWVyX3N0YXJ0KGhydGltZXIsIG5zX3RvX2t0aW1lKHNhbXBsZV9wZXJpb2QpLCBIUlRJTUVSX01PREVfUkVMKTsKK30KKworc3RhdGljIHZvaWQgc3RhcnRfc3RhY2tfdGltZXJzKHZvaWQpCit7CisJY3B1bWFza190IHNhdmVkX21hc2sgPSBjdXJyZW50LT5jcHVzX2FsbG93ZWQ7CisJaW50IGNwdTsKKworCWZvcl9lYWNoX29ubGluZV9jcHUoY3B1KSB7CisJCXNldF9jcHVzX2FsbG93ZWRfcHRyKGN1cnJlbnQsICZjcHVtYXNrX29mX2NwdShjcHUpKTsKKwkJc3RhcnRfc3RhY2tfdGltZXIoY3B1KTsKKwl9CisJc2V0X2NwdXNfYWxsb3dlZF9wdHIoY3VycmVudCwgJnNhdmVkX21hc2spOworfQorCitzdGF0aWMgdm9pZCBzdG9wX3N0YWNrX3RpbWVyKGludCBjcHUpCit7CisJc3RydWN0IGhydGltZXIgKmhydGltZXIgPSAmcGVyX2NwdShzdGFja190cmFjZV9ocnRpbWVyLCBjcHUpOworCisJaHJ0aW1lcl9jYW5jZWwoaHJ0aW1lcik7Cit9CisKK3N0YXRpYyB2b2lkIHN0b3Bfc3RhY2tfdGltZXJzKHZvaWQpCit7CisJaW50IGNwdTsKKworCWZvcl9lYWNoX29ubGluZV9jcHUoY3B1KQorCQlzdG9wX3N0YWNrX3RpbWVyKGNwdSk7Cit9CisKK3N0YXRpYyB2b2lkIHN0YWNrX3Jlc2V0KHN0cnVjdCB0cmFjZV9hcnJheSAqdHIpCit7CisJaW50IGNwdTsKKworCXRyLT50aW1lX3N0YXJ0ID0gZnRyYWNlX25vdyh0ci0+Y3B1KTsKKworCWZvcl9lYWNoX29ubGluZV9jcHUoY3B1KQorCQl0cmFjaW5nX3Jlc2V0KHRyLT5kYXRhW2NwdV0pOworfQorCitzdGF0aWMgdm9pZCBzdGFydF9zdGFja190cmFjZShzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyKQoreworCW11dGV4X2xvY2soJnNhbXBsZV90aW1lcl9sb2NrKTsKKwlzdGFja19yZXNldCh0cik7CisJc3RhcnRfc3RhY2tfdGltZXJzKCk7CisJdHJhY2VyX2VuYWJsZWQgPSAxOworCW11dGV4X3VubG9jaygmc2FtcGxlX3RpbWVyX2xvY2spOworfQorCitzdGF0aWMgdm9pZCBzdG9wX3N0YWNrX3RyYWNlKHN0cnVjdCB0cmFjZV9hcnJheSAqdHIpCit7CisJbXV0ZXhfbG9jaygmc2FtcGxlX3RpbWVyX2xvY2spOworCXN0b3Bfc3RhY2tfdGltZXJzKCk7CisJdHJhY2VyX2VuYWJsZWQgPSAwOworCW11dGV4X3VubG9jaygmc2FtcGxlX3RpbWVyX2xvY2spOworfQorCitzdGF0aWMgdm9pZCBzdGFja190cmFjZV9pbml0KHN0cnVjdCB0cmFjZV9hcnJheSAqdHIpCit7CisJc3lzcHJvZl90cmFjZSA9IHRyOworCisJaWYgKHRyLT5jdHJsKQorCQlzdGFydF9zdGFja190cmFjZSh0cik7Cit9CisKK3N0YXRpYyB2b2lkIHN0YWNrX3RyYWNlX3Jlc2V0KHN0cnVjdCB0cmFjZV9hcnJheSAqdHIpCit7CisJaWYgKHRyLT5jdHJsKQorCQlzdG9wX3N0YWNrX3RyYWNlKHRyKTsKK30KKworc3RhdGljIHZvaWQgc3RhY2tfdHJhY2VfY3RybF91cGRhdGUoc3RydWN0IHRyYWNlX2FycmF5ICp0cikKK3sKKwkvKiBXaGVuIHN0YXJ0aW5nIGEgbmV3IHRyYWNlLCByZXNldCB0aGUgYnVmZmVycyAqLworCWlmICh0ci0+Y3RybCkKKwkJc3RhcnRfc3RhY2tfdHJhY2UodHIpOworCWVsc2UKKwkJc3RvcF9zdGFja190cmFjZSh0cik7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgdHJhY2VyIHN0YWNrX3RyYWNlIF9fcmVhZF9tb3N0bHkgPQoreworCS5uYW1lCQk9ICJzeXNwcm9mIiwKKwkuaW5pdAkJPSBzdGFja190cmFjZV9pbml0LAorCS5yZXNldAkJPSBzdGFja190cmFjZV9yZXNldCwKKwkuY3RybF91cGRhdGUJPSBzdGFja190cmFjZV9jdHJsX3VwZGF0ZSwKKyNpZmRlZiBDT05GSUdfRlRSQUNFX1NFTEZURVNUCisJLnNlbGZ0ZXN0ICAgID0gdHJhY2Vfc2VsZnRlc3Rfc3RhcnR1cF9zeXNwcm9mLAorI2VuZGlmCit9OworCitfX2luaXQgc3RhdGljIGludCBpbml0X3N0YWNrX3RyYWNlKHZvaWQpCit7CisJcmV0dXJuIHJlZ2lzdGVyX3RyYWNlcigmc3RhY2tfdHJhY2UpOworfQorZGV2aWNlX2luaXRjYWxsKGluaXRfc3RhY2tfdHJhY2UpOworCisjZGVmaW5lIE1BWF9MT05HX0RJR0lUUyAyMgorCitzdGF0aWMgc3NpemVfdAorc3lzcHJvZl9zYW1wbGVfcmVhZChzdHJ1Y3QgZmlsZSAqZmlscCwgY2hhciBfX3VzZXIgKnVidWYsCisJCSAgICBzaXplX3QgY250LCBsb2ZmX3QgKnBwb3MpCit7CisJY2hhciBidWZbTUFYX0xPTkdfRElHSVRTXTsKKwlpbnQgcjsKKworCXIgPSBzcHJpbnRmKGJ1ZiwgIiVsZFxuIiwgbnNlY3NfdG9fdXNlY3Moc2FtcGxlX3BlcmlvZCkpOworCisJcmV0dXJuIHNpbXBsZV9yZWFkX2Zyb21fYnVmZmVyKHVidWYsIGNudCwgcHBvcywgYnVmLCByKTsKK30KKworc3RhdGljIHNzaXplX3QKK3N5c3Byb2Zfc2FtcGxlX3dyaXRlKHN0cnVjdCBmaWxlICpmaWxwLCBjb25zdCBjaGFyIF9fdXNlciAqdWJ1ZiwKKwkJICAgICBzaXplX3QgY250LCBsb2ZmX3QgKnBwb3MpCit7CisJY2hhciBidWZbTUFYX0xPTkdfRElHSVRTXTsKKwl1bnNpZ25lZCBsb25nIHZhbDsKKworCWlmIChjbnQgPiBNQVhfTE9OR19ESUdJVFMtMSkKKwkJY250ID0gTUFYX0xPTkdfRElHSVRTLTE7CisKKwlpZiAoY29weV9mcm9tX3VzZXIoJmJ1ZiwgdWJ1ZiwgY250KSkKKwkJcmV0dXJuIC1FRkFVTFQ7CisKKwlidWZbY250XSA9IDA7CisKKwl2YWwgPSBzaW1wbGVfc3RydG91bChidWYsIE5VTEwsIDEwKTsKKwkvKgorCSAqIEVuZm9yY2UgYSBtaW5pbXVtIHNhbXBsZSBwZXJpb2Qgb2YgMTAwIHVzZWNzOgorCSAqLworCWlmICh2YWwgPCAxMDApCisJCXZhbCA9IDEwMDsKKworCW11dGV4X2xvY2soJnNhbXBsZV90aW1lcl9sb2NrKTsKKwlzdG9wX3N0YWNrX3RpbWVycygpOworCXNhbXBsZV9wZXJpb2QgPSB2YWwgKiAxMDAwOworCXN0YXJ0X3N0YWNrX3RpbWVycygpOworCW11dGV4X3VubG9jaygmc2FtcGxlX3RpbWVyX2xvY2spOworCisJcmV0dXJuIGNudDsKK30KKworc3RhdGljIHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgc3lzcHJvZl9zYW1wbGVfZm9wcyA9IHsKKwkucmVhZAkJPSBzeXNwcm9mX3NhbXBsZV9yZWFkLAorCS53cml0ZQkJPSBzeXNwcm9mX3NhbXBsZV93cml0ZSwKK307CisKK3ZvaWQgaW5pdF90cmFjZXJfc3lzcHJvZl9kZWJ1Z2ZzKHN0cnVjdCBkZW50cnkgKmRfdHJhY2VyKQoreworCXN0cnVjdCBkZW50cnkgKmVudHJ5OworCisJZW50cnkgPSBkZWJ1Z2ZzX2NyZWF0ZV9maWxlKCJzeXNwcm9mX3NhbXBsZV9wZXJpb2QiLCAwNjQ0LAorCQkJZF90cmFjZXIsIE5VTEwsICZzeXNwcm9mX3NhbXBsZV9mb3BzKTsKKwlpZiAoZW50cnkpCisJCXJldHVybjsKKwlwcl93YXJuaW5nKCJDb3VsZCBub3QgY3JlYXRlIGRlYnVnZnMgJ2R5bl9mdHJhY2VfdG90YWxfaW5mbycgZW50cnlcbiIpOworfQpkaWZmIC0tZ2l0IGEvbGliL0tjb25maWcuZGVidWcgYi9saWIvS2NvbmZpZy5kZWJ1ZwppbmRleCBkMjA5OWY0Li5jNDU5ZTg1IDEwMDY0NAotLS0gYS9saWIvS2NvbmZpZy5kZWJ1ZworKysgYi9saWIvS2NvbmZpZy5kZWJ1ZwpAQCAtNDE5LDcgKzQxOSw2IEBACiAKIGNvbmZpZyBTVEFDS1RSQUNFCiAJYm9vbAotCWRlcGVuZHMgb24gREVCVUdfS0VSTkVMCiAJZGVwZW5kcyBvbiBTVEFDS1RSQUNFX1NVUFBPUlQKIAogY29uZmlnIERFQlVHX0tPQkpFQ1QKQEAgLTU2Myw2ICs1NjIsOSBAQAogCSAgZm9yIGRpc3RyaWJ1dGlvbnMgb3IgZ2VuZXJhbCBrZXJuZWxzLCBidXQgb25seSBmb3Iga2VybmVsCiAJICBkZXZlbG9wZXJzIHdvcmtpbmcgb24gYXJjaGl0ZWN0dXJlIGNvZGUuCiAKKwkgIE5vdGUgdGhhdCBpZiB5b3Ugd2FudCB0byBhbHNvIHRlc3Qgc2F2ZWQgYmFja3RyYWNlcywgeW91IHdpbGwKKwkgIGhhdmUgdG8gZW5hYmxlIFNUQUNLVFJBQ0UgYXMgd2VsbC4KKwogCSAgU2F5IE4gaWYgeW91IGFyZSB1bnN1cmUuCiAKIGNvbmZpZyBMS0RUTQpAQCAtNjM0LDYgKzYzNiw4IEBACiAJICBFbmFibGUgdGhpcyBvcHRpb24gaWYgeW91IHdhbnQgdG8gdXNlIHRoZSBMYXRlbmN5VE9QIHRvb2wKIAkgIHRvIGZpbmQgb3V0IHdoaWNoIHVzZXJzcGFjZSBpcyBibG9ja2luZyBvbiB3aGF0IGtlcm5lbCBvcGVyYXRpb25zLgogCitzb3VyY2Uga2VybmVsL3RyYWNlL0tjb25maWcKKwogY29uZmlnIFBST1ZJREVfT0hDSTEzOTRfRE1BX0lOSVQKIAlib29sICJSZW1vdGUgZGVidWdnaW5nIG92ZXIgRmlyZVdpcmUgZWFybHkgb24gYm9vdCIKIAlkZXBlbmRzIG9uIFBDSSAmJiBYODYKZGlmZiAtLWdpdCBhL2xpYi9NYWtlZmlsZSBiL2xpYi9NYWtlZmlsZQppbmRleCA3NGIwY2ZiLi40YjgzNmE1IDEwMDY0NAotLS0gYS9saWIvTWFrZWZpbGUKKysrIGIvbGliL01ha2VmaWxlCkBAIC04LDYgKzgsMTUgQEAKIAkgc2hhMS5vIGlycV9yZWdzLm8gcmVjaXByb2NhbF9kaXYubyBhcmd2X3NwbGl0Lm8gXAogCSBwcm9wb3J0aW9ucy5vIHByaW9faGVhcC5vIHJhdGVsaW1pdC5vCiAKK2lmZGVmIENPTkZJR19GVFJBQ0UKKyMgRG8gbm90IHByb2ZpbGUgc3RyaW5nLm8sIHNpbmNlIGl0IG1heSBiZSB1c2VkIGluIGVhcmx5IGJvb3Qgb3IgdmRzbworQ0ZMQUdTX1JFTU9WRV9zdHJpbmcubyA9IC1wZworIyBBbHNvIGRvIG5vdCBwcm9maWxlIGFueSBkZWJ1ZyB1dGlsaXRpZXMKK0NGTEFHU19SRU1PVkVfc3BpbmxvY2tfZGVidWcubyA9IC1wZworQ0ZMQUdTX1JFTU9WRV9saXN0X2RlYnVnLm8gPSAtcGcKK0NGTEFHU19SRU1PVkVfZGVidWdvYmplY3RzLm8gPSAtcGcKK2VuZGlmCisKIGxpYi0kKENPTkZJR19NTVUpICs9IGlvcmVtYXAubwogbGliLSQoQ09ORklHX1NNUCkgKz0gY3B1bWFzay5vCiAKZGlmZiAtLWdpdCBhL2xpYi9wZXJjcHVfY291bnRlci5jIGIvbGliL3BlcmNwdV9jb3VudGVyLmMKaW5kZXggMTE5MTc0NC4uNGE4YmE0YiAxMDA2NDQKLS0tIGEvbGliL3BlcmNwdV9jb3VudGVyLmMKKysrIGIvbGliL3BlcmNwdV9jb3VudGVyLmMKQEAgLTUyLDcgKzUyLDcgQEAKICAqIEFkZCB1cCBhbGwgdGhlIHBlci1jcHUgY291bnRzLCByZXR1cm4gdGhlIHJlc3VsdC4gIFRoaXMgaXMgYSBtb3JlIGFjY3VyYXRlCiAgKiBidXQgbXVjaCBzbG93ZXIgdmVyc2lvbiBvZiBwZXJjcHVfY291bnRlcl9yZWFkX3Bvc2l0aXZlKCkKICAqLwotczY0IF9fcGVyY3B1X2NvdW50ZXJfc3VtKHN0cnVjdCBwZXJjcHVfY291bnRlciAqZmJjKQorczY0IF9fcGVyY3B1X2NvdW50ZXJfc3VtKHN0cnVjdCBwZXJjcHVfY291bnRlciAqZmJjLCBpbnQgc2V0KQogewogCXM2NCByZXQ7CiAJaW50IGNwdTsKQEAgLTYyLDcgKzYyLDEyIEBACiAJZm9yX2VhY2hfb25saW5lX2NwdShjcHUpIHsKIAkJczMyICpwY291bnQgPSBwZXJfY3B1X3B0cihmYmMtPmNvdW50ZXJzLCBjcHUpOwogCQlyZXQgKz0gKnBjb3VudDsKKwkJaWYgKHNldCkKKwkJCSpwY291bnQgPSAwOwogCX0KKwlpZiAoc2V0KQorCQlmYmMtPmNvdW50ID0gcmV0OworCiAJc3Bpbl91bmxvY2soJmZiYy0+bG9jayk7CiAJcmV0dXJuIHJldDsKIH0KZGlmZiAtLWdpdCBhL2xpYi9zbXBfcHJvY2Vzc29yX2lkLmMgYi9saWIvc21wX3Byb2Nlc3Nvcl9pZC5jCmluZGV4IDZjOTBmYjkuLjNiNGRjMDkgMTAwNjQ0Ci0tLSBhL2xpYi9zbXBfcHJvY2Vzc29yX2lkLmMKKysrIGIvbGliL3NtcF9wcm9jZXNzb3JfaWQuYwpAQCAtNyw3ICs3LDcgQEAKICNpbmNsdWRlIDxsaW51eC9rYWxsc3ltcy5oPgogI2luY2x1ZGUgPGxpbnV4L3NjaGVkLmg+CiAKLXVuc2lnbmVkIGludCBkZWJ1Z19zbXBfcHJvY2Vzc29yX2lkKHZvaWQpCitub3RyYWNlIHVuc2lnbmVkIGludCBkZWJ1Z19zbXBfcHJvY2Vzc29yX2lkKHZvaWQpCiB7CiAJdW5zaWduZWQgbG9uZyBwcmVlbXB0X2NvdW50ID0gcHJlZW1wdF9jb3VudCgpOwogCWludCB0aGlzX2NwdSA9IHJhd19zbXBfcHJvY2Vzc29yX2lkKCk7CkBAIC0zNyw3ICszNyw3IEBACiAJLyoKIAkgKiBBdm9pZCByZWN1cnNpb246CiAJICovCi0JcHJlZW1wdF9kaXNhYmxlKCk7CisJcHJlZW1wdF9kaXNhYmxlX25vdHJhY2UoKTsKIAogCWlmICghcHJpbnRrX3JhdGVsaW1pdCgpKQogCQlnb3RvIG91dF9lbmFibGU7CkBAIC00OSw3ICs0OSw3IEBACiAJZHVtcF9zdGFjaygpOwogCiBvdXRfZW5hYmxlOgotCXByZWVtcHRfZW5hYmxlX25vX3Jlc2NoZWQoKTsKKwlwcmVlbXB0X2VuYWJsZV9ub19yZXNjaGVkX25vdHJhY2UoKTsKIG91dDoKIAlyZXR1cm4gdGhpc19jcHU7CiB9CmRpZmYgLS1naXQgYS9tbS9LY29uZmlnIGIvbW0vS2NvbmZpZwppbmRleCAzYWE4MTlkLi5jNGRlODUyIDEwMDY0NAotLS0gYS9tbS9LY29uZmlnCisrKyBiL21tL0tjb25maWcKQEAgLTEyOSw3ICsxMjksNyBAQAogCWJvb2wgIkFsbG93IGZvciBtZW1vcnkgaG90LWFkZCIKIAlkZXBlbmRzIG9uIFNQQVJTRU1FTSB8fCBYODZfNjRfQUNQSV9OVU1BCiAJZGVwZW5kcyBvbiBIT1RQTFVHICYmICFISUJFUk5BVElPTiAmJiBBUkNIX0VOQUJMRV9NRU1PUllfSE9UUExVRwotCWRlcGVuZHMgb24gKElBNjQgfHwgWDg2IHx8IFBQQzY0IHx8IFNVUEVSSCkKKwlkZXBlbmRzIG9uIChJQTY0IHx8IFg4NiB8fCBQUEM2NCB8fCBTVVBFUkggfHwgUzM5MCkKIAogY29tbWVudCAiTWVtb3J5IGhvdHBsdWcgaXMgY3VycmVudGx5IGluY29tcGF0aWJsZSB3aXRoIFNvZnR3YXJlIFN1c3BlbmQiCiAJZGVwZW5kcyBvbiBTUEFSU0VNRU0gJiYgSE9UUExVRyAmJiBISUJFUk5BVElPTgpAQCAtMTk5LDcgKzE5OSw3IEBACiBjb25maWcgTlJfUVVJQ0sKIAlpbnQKIAlkZXBlbmRzIG9uIFFVSUNLTElTVAotCWRlZmF1bHQgIjIiIGlmIFNVUEVSSAorCWRlZmF1bHQgIjIiIGlmIFNVUEVSSCB8fCBBVlIzMgogCWRlZmF1bHQgIjEiCiAKIGNvbmZpZyBWSVJUX1RPX0JVUwpkaWZmIC0tZ2l0IGEvbW0vZmlsZW1hcC5jIGIvbW0vZmlsZW1hcC5jCmluZGV4IDFlNmE3ZDMuLjY1ZDlkOWUgMTAwNjQ0Ci0tLSBhL21tL2ZpbGVtYXAuYworKysgYi9tbS9maWxlbWFwLmMKQEAgLTIzNiwxMSArMjM2LDEyIEBACiB9CiBFWFBPUlRfU1lNQk9MKGZpbGVtYXBfZmRhdGF3cml0ZSk7CiAKLXN0YXRpYyBpbnQgZmlsZW1hcF9mZGF0YXdyaXRlX3JhbmdlKHN0cnVjdCBhZGRyZXNzX3NwYWNlICptYXBwaW5nLCBsb2ZmX3Qgc3RhcnQsCitpbnQgZmlsZW1hcF9mZGF0YXdyaXRlX3JhbmdlKHN0cnVjdCBhZGRyZXNzX3NwYWNlICptYXBwaW5nLCBsb2ZmX3Qgc3RhcnQsCiAJCQkJbG9mZl90IGVuZCkKIHsKIAlyZXR1cm4gX19maWxlbWFwX2ZkYXRhd3JpdGVfcmFuZ2UobWFwcGluZywgc3RhcnQsIGVuZCwgV0JfU1lOQ19BTEwpOwogfQorRVhQT1JUX1NZTUJPTChmaWxlbWFwX2ZkYXRhd3JpdGVfcmFuZ2UpOwogCiAvKioKICAqIGZpbGVtYXBfZmx1c2ggLSBtb3N0bHkgYSBub24tYmxvY2tpbmcgZmx1c2gKZGlmZiAtLWdpdCBhL21tL21wcm90ZWN0LmMgYi9tbS9tcHJvdGVjdC5jCmluZGV4IGE1YmYzMWMuLmFjZmU3YzggMTAwNjQ0Ci0tLSBhL21tL21wcm90ZWN0LmMKKysrIGIvbW0vbXByb3RlY3QuYwpAQCAtNDcsMTkgKzQ3LDE3IEBACiAJCWlmIChwdGVfcHJlc2VudChvbGRwdGUpKSB7CiAJCQlwdGVfdCBwdGVudDsKIAotCQkJLyogQXZvaWQgYW4gU01QIHJhY2Ugd2l0aCBoYXJkd2FyZSB1cGRhdGVkIGRpcnR5L2NsZWFuCi0JCQkgKiBiaXRzIGJ5IHdpcGluZyB0aGUgcHRlIGFuZCB0aGVuIHNldHRpbmcgdGhlIG5ldyBwdGUKLQkJCSAqIGludG8gcGxhY2UuCi0JCQkgKi8KLQkJCXB0ZW50ID0gcHRlcF9nZXRfYW5kX2NsZWFyKG1tLCBhZGRyLCBwdGUpOworCQkJcHRlbnQgPSBwdGVwX21vZGlmeV9wcm90X3N0YXJ0KG1tLCBhZGRyLCBwdGUpOwogCQkJcHRlbnQgPSBwdGVfbW9kaWZ5KHB0ZW50LCBuZXdwcm90KTsKKwogCQkJLyoKIAkJCSAqIEF2b2lkIHRha2luZyB3cml0ZSBmYXVsdHMgZm9yIHBhZ2VzIHdlIGtub3cgdG8gYmUKIAkJCSAqIGRpcnR5LgogCQkJICovCiAJCQlpZiAoZGlydHlfYWNjb3VudGFibGUgJiYgcHRlX2RpcnR5KHB0ZW50KSkKIAkJCQlwdGVudCA9IHB0ZV9ta3dyaXRlKHB0ZW50KTsKLQkJCXNldF9wdGVfYXQobW0sIGFkZHIsIHB0ZSwgcHRlbnQpOworCisJCQlwdGVwX21vZGlmeV9wcm90X2NvbW1pdChtbSwgYWRkciwgcHRlLCBwdGVudCk7CiAjaWZkZWYgQ09ORklHX01JR1JBVElPTgogCQl9IGVsc2UgaWYgKCFwdGVfZmlsZShvbGRwdGUpKSB7CiAJCQlzd3BfZW50cnlfdCBlbnRyeSA9IHB0ZV90b19zd3BfZW50cnkob2xkcHRlKTsKZGlmZiAtLWdpdCBhL21tL3BhZ2Utd3JpdGViYWNrLmMgYi9tbS9wYWdlLXdyaXRlYmFjay5jCmluZGV4IDc4OWI2YWQuLjk0YzZkODkgMTAwNjQ0Ci0tLSBhL21tL3BhZ2Utd3JpdGViYWNrLmMKKysrIGIvbW0vcGFnZS13cml0ZWJhY2suYwpAQCAtMTI2LDggKzEyNiw2IEBACiBzdGF0aWMgc3RydWN0IHByb3BfZGVzY3JpcHRvciB2bV9jb21wbGV0aW9uczsKIHN0YXRpYyBzdHJ1Y3QgcHJvcF9kZXNjcmlwdG9yIHZtX2RpcnRpZXM7CiAKLXN0YXRpYyB1bnNpZ25lZCBsb25nIGRldGVybWluZV9kaXJ0eWFibGVfbWVtb3J5KHZvaWQpOwotCiAvKgogICogY291cGxlIHRoZSBwZXJpb2QgdG8gdGhlIGRpcnR5X3JhdGlvOgogICoKQEAgLTM0Nyw3ICszNDUsMTMgQEAKICNlbmRpZgogfQogCi1zdGF0aWMgdW5zaWduZWQgbG9uZyBkZXRlcm1pbmVfZGlydHlhYmxlX21lbW9yeSh2b2lkKQorLyoqCisgKiBkZXRlcm1pbmVfZGlydHlhYmxlX21lbW9yeSAtIGFtb3VudCBvZiBtZW1vcnkgdGhhdCBtYXkgYmUgdXNlZAorICoKKyAqIFJldHVybnMgdGhlIG51bWViciBvZiBwYWdlcyB0aGF0IGNhbiBjdXJyZW50bHkgYmUgZnJlZWQgYW5kIHVzZWQKKyAqIGJ5IHRoZSBrZXJuZWwgZm9yIGRpcmVjdCBtYXBwaW5ncy4KKyAqLwordW5zaWduZWQgbG9uZyBkZXRlcm1pbmVfZGlydHlhYmxlX21lbW9yeSh2b2lkKQogewogCXVuc2lnbmVkIGxvbmcgeDsKIApAQCAtOTU2LDYgKzk2MCw5IEBACiAJfQogCWlmICh3YmMtPnJhbmdlX2N5Y2xpYyB8fCAocmFuZ2Vfd2hvbGUgJiYgd2JjLT5ucl90b193cml0ZSA+IDApKQogCQltYXBwaW5nLT53cml0ZWJhY2tfaW5kZXggPSBpbmRleDsKKworCWlmICh3YmMtPnJhbmdlX2NvbnQpCisJCXdiYy0+cmFuZ2Vfc3RhcnQgPSBpbmRleCA8PCBQQUdFX0NBQ0hFX1NISUZUOwogCXJldHVybiByZXQ7CiB9CiBFWFBPUlRfU1lNQk9MKHdyaXRlX2NhY2hlX3BhZ2VzKTsKZGlmZiAtLWdpdCBhL21tL3BhZ2VfYWxsb2MuYyBiL21tL3BhZ2VfYWxsb2MuYwppbmRleCBmMzJmYWUzLi5mMDI0YjliIDEwMDY0NAotLS0gYS9tbS9wYWdlX2FsbG9jLmMKKysrIGIvbW0vcGFnZV9hbGxvYy5jCkBAIC0yOTI5LDYgKzI5MjksMTggQEAKIAl9CiB9CiAKK3ZvaWQgX19pbml0IHdvcmtfd2l0aF9hY3RpdmVfcmVnaW9ucyhpbnQgbmlkLCB3b3JrX2ZuX3Qgd29ya19mbiwgdm9pZCAqZGF0YSkKK3sKKwlpbnQgaTsKKwlpbnQgcmV0OworCisJZm9yX2VhY2hfYWN0aXZlX3JhbmdlX2luZGV4X2luX25pZChpLCBuaWQpIHsKKwkJcmV0ID0gd29ya19mbihlYXJseV9ub2RlX21hcFtpXS5zdGFydF9wZm4sCisJCQkgICAgICBlYXJseV9ub2RlX21hcFtpXS5lbmRfcGZuLCBkYXRhKTsKKwkJaWYgKHJldCkKKwkJCWJyZWFrOworCX0KK30KIC8qKgogICogc3BhcnNlX21lbW9yeV9wcmVzZW50X3dpdGhfYWN0aXZlX3JlZ2lvbnMgLSBDYWxsIG1lbW9yeV9wcmVzZW50IGZvciBlYWNoIGFjdGl2ZSByYW5nZQogICogQG5pZDogVGhlIG5vZGUgdG8gY2FsbCBtZW1vcnlfcHJlc2VudCBmb3IuIElmIE1BWF9OVU1OT0RFUywgYWxsIG5vZGVzIHdpbGwgYmUgdXNlZC4KQEAgLTM0NjEsNiArMzQ3MywxMSBAQAogCWNhbGN1bGF0ZV9ub2RlX3RvdGFscGFnZXMocGdkYXQsIHpvbmVzX3NpemUsIHpob2xlc19zaXplKTsKIAogCWFsbG9jX25vZGVfbWVtX21hcChwZ2RhdCk7CisjaWZkZWYgQ09ORklHX0ZMQVRfTk9ERV9NRU1fTUFQCisJcHJpbnRrKEtFUk5fREVCVUcgImZyZWVfYXJlYV9pbml0X25vZGU6IG5vZGUgJWQsIHBnZGF0ICUwOGx4LCBub2RlX21lbV9tYXAgJTA4bHhcbiIsCisJCW5pZCwgKHVuc2lnbmVkIGxvbmcpcGdkYXQsCisJCSh1bnNpZ25lZCBsb25nKXBnZGF0LT5ub2RlX21lbV9tYXApOworI2VuZGlmCiAKIAlmcmVlX2FyZWFfaW5pdF9jb3JlKHBnZGF0LCB6b25lc19zaXplLCB6aG9sZXNfc2l6ZSk7CiB9CkBAIC0zNTAzLDcgKzM1MjAsNyBAQAogewogCWludCBpOwogCi0JcHJpbnRrKEtFUk5fREVCVUcgIkVudGVyaW5nIGFkZF9hY3RpdmVfcmFuZ2UoJWQsICVsdSwgJWx1KSAiCisJcHJpbnRrKEtFUk5fREVCVUcgIkVudGVyaW5nIGFkZF9hY3RpdmVfcmFuZ2UoJWQsICUjbHgsICUjbHgpICIKIAkJCSAgIiVkIGVudHJpZXMgb2YgJWQgdXNlZFxuIiwKIAkJCSAgbmlkLCBzdGFydF9wZm4sIGVuZF9wZm4sCiAJCQkgIG5yX25vZGVtYXBfZW50cmllcywgTUFYX0FDVElWRV9SRUdJT05TKTsKQEAgLTM1NDcsMjcgKzM1NjQsNjggQEAKIH0KIAogLyoqCi0gKiBzaHJpbmtfYWN0aXZlX3JhbmdlIC0gU2hyaW5rIGFuIGV4aXN0aW5nIHJlZ2lzdGVyZWQgcmFuZ2Ugb2YgUEZOcworICogcmVtb3ZlX2FjdGl2ZV9yYW5nZSAtIFNocmluayBhbiBleGlzdGluZyByZWdpc3RlcmVkIHJhbmdlIG9mIFBGTnMKICAqIEBuaWQ6IFRoZSBub2RlIGlkIHRoZSByYW5nZSBpcyBvbiB0aGF0IHNob3VsZCBiZSBzaHJ1bmsKLSAqIEBvbGRfZW5kX3BmbjogVGhlIG9sZCBlbmQgUEZOIG9mIHRoZSByYW5nZQotICogQG5ld19lbmRfcGZuOiBUaGUgbmV3IFBGTiBvZiB0aGUgcmFuZ2UKKyAqIEBzdGFydF9wZm46IFRoZSBuZXcgUEZOIG9mIHRoZSByYW5nZQorICogQGVuZF9wZm46IFRoZSBuZXcgUEZOIG9mIHRoZSByYW5nZQogICoKICAqIGkzODYgd2l0aCBOVU1BIHVzZSBhbGxvY19yZW1hcCgpIHRvIHN0b3JlIGEgbm9kZV9tZW1fbWFwIG9uIGEgbG9jYWwgbm9kZS4KLSAqIFRoZSBtYXAgaXMga2VwdCBhdCB0aGUgZW5kIHBoeXNpY2FsIHBhZ2UgcmFuZ2UgdGhhdCBoYXMgYWxyZWFkeSBiZWVuCi0gKiByZWdpc3RlcmVkIHdpdGggYWRkX2FjdGl2ZV9yYW5nZSgpLiBUaGlzIGZ1bmN0aW9uIGFsbG93cyBhbiBhcmNoIHRvIHNocmluawotICogYW4gZXhpc3RpbmcgcmVnaXN0ZXJlZCByYW5nZS4KKyAqIFRoZSBtYXAgaXMga2VwdCBuZWFyIHRoZSBlbmQgcGh5c2ljYWwgcGFnZSByYW5nZSB0aGF0IGhhcyBhbHJlYWR5IGJlZW4KKyAqIHJlZ2lzdGVyZWQuIFRoaXMgZnVuY3Rpb24gYWxsb3dzIGFuIGFyY2ggdG8gc2hyaW5rIGFuIGV4aXN0aW5nIHJlZ2lzdGVyZWQKKyAqIHJhbmdlLgogICovCi12b2lkIF9faW5pdCBzaHJpbmtfYWN0aXZlX3JhbmdlKHVuc2lnbmVkIGludCBuaWQsIHVuc2lnbmVkIGxvbmcgb2xkX2VuZF9wZm4sCi0JCQkJCQl1bnNpZ25lZCBsb25nIG5ld19lbmRfcGZuKQordm9pZCBfX2luaXQgcmVtb3ZlX2FjdGl2ZV9yYW5nZSh1bnNpZ25lZCBpbnQgbmlkLCB1bnNpZ25lZCBsb25nIHN0YXJ0X3BmbiwKKwkJCQl1bnNpZ25lZCBsb25nIGVuZF9wZm4pCiB7Ci0JaW50IGk7CisJaW50IGksIGo7CisJaW50IHJlbW92ZWQgPSAwOworCisJcHJpbnRrKEtFUk5fREVCVUcgInJlbW92ZV9hY3RpdmVfcmFuZ2UgKCVkLCAlbHUsICVsdSlcbiIsCisJCQkgIG5pZCwgc3RhcnRfcGZuLCBlbmRfcGZuKTsKIAogCS8qIEZpbmQgdGhlIG9sZCBhY3RpdmUgcmVnaW9uIGVuZCBhbmQgc2hyaW5rICovCi0JZm9yX2VhY2hfYWN0aXZlX3JhbmdlX2luZGV4X2luX25pZChpLCBuaWQpCi0JCWlmIChlYXJseV9ub2RlX21hcFtpXS5lbmRfcGZuID09IG9sZF9lbmRfcGZuKSB7Ci0JCQllYXJseV9ub2RlX21hcFtpXS5lbmRfcGZuID0gbmV3X2VuZF9wZm47Ci0JCQlicmVhazsKKwlmb3JfZWFjaF9hY3RpdmVfcmFuZ2VfaW5kZXhfaW5fbmlkKGksIG5pZCkgeworCQlpZiAoZWFybHlfbm9kZV9tYXBbaV0uc3RhcnRfcGZuID49IHN0YXJ0X3BmbiAmJgorCQkgICAgZWFybHlfbm9kZV9tYXBbaV0uZW5kX3BmbiA8PSBlbmRfcGZuKSB7CisJCQkvKiBjbGVhciBpdCAqLworCQkJZWFybHlfbm9kZV9tYXBbaV0uc3RhcnRfcGZuID0gMDsKKwkJCWVhcmx5X25vZGVfbWFwW2ldLmVuZF9wZm4gPSAwOworCQkJcmVtb3ZlZCA9IDE7CisJCQljb250aW51ZTsKIAkJfQorCQlpZiAoZWFybHlfbm9kZV9tYXBbaV0uc3RhcnRfcGZuIDwgc3RhcnRfcGZuICYmCisJCSAgICBlYXJseV9ub2RlX21hcFtpXS5lbmRfcGZuID4gc3RhcnRfcGZuKSB7CisJCQl1bnNpZ25lZCBsb25nIHRlbXBfZW5kX3BmbiA9IGVhcmx5X25vZGVfbWFwW2ldLmVuZF9wZm47CisJCQllYXJseV9ub2RlX21hcFtpXS5lbmRfcGZuID0gc3RhcnRfcGZuOworCQkJaWYgKHRlbXBfZW5kX3BmbiA+IGVuZF9wZm4pCisJCQkJYWRkX2FjdGl2ZV9yYW5nZShuaWQsIGVuZF9wZm4sIHRlbXBfZW5kX3Bmbik7CisJCQljb250aW51ZTsKKwkJfQorCQlpZiAoZWFybHlfbm9kZV9tYXBbaV0uc3RhcnRfcGZuID49IHN0YXJ0X3BmbiAmJgorCQkgICAgZWFybHlfbm9kZV9tYXBbaV0uZW5kX3BmbiA+IGVuZF9wZm4gJiYKKwkJICAgIGVhcmx5X25vZGVfbWFwW2ldLnN0YXJ0X3BmbiA8IGVuZF9wZm4pIHsKKwkJCWVhcmx5X25vZGVfbWFwW2ldLnN0YXJ0X3BmbiA9IGVuZF9wZm47CisJCQljb250aW51ZTsKKwkJfQorCX0KKworCWlmICghcmVtb3ZlZCkKKwkJcmV0dXJuOworCisJLyogcmVtb3ZlIHRoZSBibGFuayBvbmVzICovCisJZm9yIChpID0gbnJfbm9kZW1hcF9lbnRyaWVzIC0gMTsgaSA+IDA7IGktLSkgeworCQlpZiAoZWFybHlfbm9kZV9tYXBbaV0ubmlkICE9IG5pZCkKKwkJCWNvbnRpbnVlOworCQlpZiAoZWFybHlfbm9kZV9tYXBbaV0uZW5kX3BmbikKKwkJCWNvbnRpbnVlOworCQkvKiB3ZSBmb3VuZCBpdCwgZ2V0IHJpZCBvZiBpdCAqLworCQlmb3IgKGogPSBpOyBqIDwgbnJfbm9kZW1hcF9lbnRyaWVzIC0gMTsgaisrKQorCQkJbWVtY3B5KCZlYXJseV9ub2RlX21hcFtqXSwgJmVhcmx5X25vZGVfbWFwW2orMV0sCisJCQkJc2l6ZW9mKGVhcmx5X25vZGVfbWFwW2pdKSk7CisJCWogPSBucl9ub2RlbWFwX2VudHJpZXMgLSAxOworCQltZW1zZXQoJmVhcmx5X25vZGVfbWFwW2pdLCAwLCBzaXplb2YoZWFybHlfbm9kZV9tYXBbal0pKTsKKwkJbnJfbm9kZW1hcF9lbnRyaWVzLS07CisJfQogfQogCiAvKioKQEAgLTM2MTEsNyArMzY2OSw3IEBACiB9CiAKIC8qIEZpbmQgdGhlIGxvd2VzdCBwZm4gZm9yIGEgbm9kZSAqLwotdW5zaWduZWQgbG9uZyBfX2luaXQgZmluZF9taW5fcGZuX2Zvcl9ub2RlKHVuc2lnbmVkIGxvbmcgbmlkKQordW5zaWduZWQgbG9uZyBfX2luaXQgZmluZF9taW5fcGZuX2Zvcl9ub2RlKGludCBuaWQpCiB7CiAJaW50IGk7CiAJdW5zaWduZWQgbG9uZyBtaW5fcGZuID0gVUxPTkdfTUFYOwpAQCAtMzYyMiw3ICszNjgwLDcgQEAKIAogCWlmIChtaW5fcGZuID09IFVMT05HX01BWCkgewogCQlwcmludGsoS0VSTl9XQVJOSU5HCi0JCQkiQ291bGQgbm90IGZpbmQgc3RhcnRfcGZuIGZvciBub2RlICVsdVxuIiwgbmlkKTsKKwkJCSJDb3VsZCBub3QgZmluZCBzdGFydF9wZm4gZm9yIG5vZGUgJWRcbiIsIG5pZCk7CiAJCXJldHVybiAwOwogCX0KIApAQCAtMzg3OCw3ICszOTM2LDcgQEAKIAlmb3IgKGkgPSAwOyBpIDwgTUFYX05SX1pPTkVTOyBpKyspIHsKIAkJaWYgKGkgPT0gWk9ORV9NT1ZBQkxFKQogCQkJY29udGludWU7Ci0JCXByaW50aygiICAlLThzICU4bHUgLT4gJThsdVxuIiwKKwkJcHJpbnRrKCIgICUtOHMgJTAjMTBseCAtPiAlMCMxMGx4XG4iLAogCQkJCXpvbmVfbmFtZXNbaV0sCiAJCQkJYXJjaF96b25lX2xvd2VzdF9wb3NzaWJsZV9wZm5baV0sCiAJCQkJYXJjaF96b25lX2hpZ2hlc3RfcG9zc2libGVfcGZuW2ldKTsKQEAgLTM4OTQsNyArMzk1Miw3IEBACiAJLyogUHJpbnQgb3V0IHRoZSBlYXJseV9ub2RlX21hcFtdICovCiAJcHJpbnRrKCJlYXJseV9ub2RlX21hcFslZF0gYWN0aXZlIFBGTiByYW5nZXNcbiIsIG5yX25vZGVtYXBfZW50cmllcyk7CiAJZm9yIChpID0gMDsgaSA8IG5yX25vZGVtYXBfZW50cmllczsgaSsrKQotCQlwcmludGsoIiAgJTNkOiAlOGx1IC0+ICU4bHVcbiIsIGVhcmx5X25vZGVfbWFwW2ldLm5pZCwKKwkJcHJpbnRrKCIgICUzZDogJTAjMTBseCAtPiAlMCMxMGx4XG4iLCBlYXJseV9ub2RlX21hcFtpXS5uaWQsCiAJCQkJCQllYXJseV9ub2RlX21hcFtpXS5zdGFydF9wZm4sCiAJCQkJCQllYXJseV9ub2RlX21hcFtpXS5lbmRfcGZuKTsKIApkaWZmIC0tZ2l0IGEvbW0vc2xhYi5jIGIvbW0vc2xhYi5jCmluZGV4IDA0NjYwN2YuLmI0YWE0YzggMTAwNjQ0Ci0tLSBhL21tL3NsYWIuYworKysgYi9tbS9zbGFiLmMKQEAgLTE5MDEsMTUgKzE5MDEsNyBAQAogI2VuZGlmCiAKICNpZiBERUJVRwotLyoqCi0gKiBzbGFiX2Rlc3Ryb3lfb2JqcyAtIGRlc3Ryb3kgYSBzbGFiIGFuZCBpdHMgb2JqZWN0cwotICogQGNhY2hlcDogY2FjaGUgcG9pbnRlciBiZWluZyBkZXN0cm95ZWQKLSAqIEBzbGFicDogc2xhYiBwb2ludGVyIGJlaW5nIGRlc3Ryb3llZAotICoKLSAqIENhbGwgdGhlIHJlZ2lzdGVyZWQgZGVzdHJ1Y3RvciBmb3IgZWFjaCBvYmplY3QgaW4gYSBzbGFiIHRoYXQgaXMgYmVpbmcKLSAqIGRlc3Ryb3llZC4KLSAqLwotc3RhdGljIHZvaWQgc2xhYl9kZXN0cm95X29ianMoc3RydWN0IGttZW1fY2FjaGUgKmNhY2hlcCwgc3RydWN0IHNsYWIgKnNsYWJwKQorc3RhdGljIHZvaWQgc2xhYl9kZXN0cm95X2RlYnVnY2hlY2soc3RydWN0IGttZW1fY2FjaGUgKmNhY2hlcCwgc3RydWN0IHNsYWIgKnNsYWJwKQogewogCWludCBpOwogCWZvciAoaSA9IDA7IGkgPCBjYWNoZXAtPm51bTsgaSsrKSB7CkBAIC0xOTM4LDcgKzE5MzAsNyBAQAogCX0KIH0KICNlbHNlCi1zdGF0aWMgdm9pZCBzbGFiX2Rlc3Ryb3lfb2JqcyhzdHJ1Y3Qga21lbV9jYWNoZSAqY2FjaGVwLCBzdHJ1Y3Qgc2xhYiAqc2xhYnApCitzdGF0aWMgdm9pZCBzbGFiX2Rlc3Ryb3lfZGVidWdjaGVjayhzdHJ1Y3Qga21lbV9jYWNoZSAqY2FjaGVwLCBzdHJ1Y3Qgc2xhYiAqc2xhYnApCiB7CiB9CiAjZW5kaWYKQEAgLTE5NTYsNyArMTk0OCw3IEBACiB7CiAJdm9pZCAqYWRkciA9IHNsYWJwLT5zX21lbSAtIHNsYWJwLT5jb2xvdXJvZmY7CiAKLQlzbGFiX2Rlc3Ryb3lfb2JqcyhjYWNoZXAsIHNsYWJwKTsKKwlzbGFiX2Rlc3Ryb3lfZGVidWdjaGVjayhjYWNoZXAsIHNsYWJwKTsKIAlpZiAodW5saWtlbHkoY2FjaGVwLT5mbGFncyAmIFNMQUJfREVTVFJPWV9CWV9SQ1UpKSB7CiAJCXN0cnVjdCBzbGFiX3JjdSAqc2xhYl9yY3U7CiAKZGlmZiAtLWdpdCBhL21tL3NsdWIuYyBiL21tL3NsdWIuYwppbmRleCAzMTVjMzkyLi40ODg0MDBkIDEwMDY0NAotLS0gYS9tbS9zbHViLmMKKysrIGIvbW0vc2x1Yi5jCkBAIC00MTEsNyArNDExLDcgQEAKIAlpZiAoYWRkcikgewogCQlwLT5hZGRyID0gYWRkcjsKIAkJcC0+Y3B1ID0gc21wX3Byb2Nlc3Nvcl9pZCgpOwotCQlwLT5waWQgPSBjdXJyZW50ID8gY3VycmVudC0+cGlkIDogLTE7CisJCXAtPnBpZCA9IGN1cnJlbnQtPnBpZDsKIAkJcC0+d2hlbiA9IGppZmZpZXM7CiAJfSBlbHNlCiAJCW1lbXNldChwLCAwLCBzaXplb2Yoc3RydWN0IHRyYWNrKSk7CkBAIC00MzEsOSArNDMxLDggQEAKIAlpZiAoIXQtPmFkZHIpCiAJCXJldHVybjsKIAotCXByaW50ayhLRVJOX0VSUiAiSU5GTzogJXMgaW4gIiwgcyk7Ci0JX19wcmludF9zeW1ib2woIiVzIiwgKHVuc2lnbmVkIGxvbmcpdC0+YWRkcik7Ci0JcHJpbnRrKCIgYWdlPSVsdSBjcHU9JXUgcGlkPSVkXG4iLCBqaWZmaWVzIC0gdC0+d2hlbiwgdC0+Y3B1LCB0LT5waWQpOworCXByaW50ayhLRVJOX0VSUiAiSU5GTzogJXMgaW4gJXBTIGFnZT0lbHUgY3B1PSV1IHBpZD0lZFxuIiwKKwkJcywgdC0+YWRkciwgamlmZmllcyAtIHQtPndoZW4sIHQtPmNwdSwgdC0+cGlkKTsKIH0KIAogc3RhdGljIHZvaWQgcHJpbnRfdHJhY2tpbmcoc3RydWN0IGttZW1fY2FjaGUgKnMsIHZvaWQgKm9iamVjdCkKQEAgLTI3NjcsNiArMjc2Niw3IEBACiAKIAlwYWdlID0gdmlydF90b19oZWFkX3BhZ2UoeCk7CiAJaWYgKHVubGlrZWx5KCFQYWdlU2xhYihwYWdlKSkpIHsKKwkJQlVHX09OKCFQYWdlQ29tcG91bmQocGFnZSkpOwogCQlwdXRfcGFnZShwYWdlKTsKIAkJcmV0dXJuOwogCX0KZGlmZiAtLWdpdCBhL25ldC9jb3JlL2Rldi5jIGIvbmV0L2NvcmUvZGV2LmMKaW5kZXggZmNhMjNhMy4uODIxY2IxNiAxMDA2NDQKLS0tIGEvbmV0L2NvcmUvZGV2LmMKKysrIGIvbmV0L2NvcmUvZGV2LmMKQEAgLTQ1ODUsOCArNDU4NSw4IEBACiAKIAlkZXZfYm9vdF9waGFzZSA9IDA7CiAKLQlvcGVuX3NvZnRpcnEoTkVUX1RYX1NPRlRJUlEsIG5ldF90eF9hY3Rpb24sIE5VTEwpOwotCW9wZW5fc29mdGlycShORVRfUlhfU09GVElSUSwgbmV0X3J4X2FjdGlvbiwgTlVMTCk7CisJb3Blbl9zb2Z0aXJxKE5FVF9UWF9TT0ZUSVJRLCBuZXRfdHhfYWN0aW9uKTsKKwlvcGVuX3NvZnRpcnEoTkVUX1JYX1NPRlRJUlEsIG5ldF9yeF9hY3Rpb24pOwogCiAJaG90Y3B1X25vdGlmaWVyKGRldl9jcHVfY2FsbGJhY2ssIDApOwogCWRzdF9pbml0KCk7CmRpZmYgLS1naXQgYS9uZXQvaXJkYS9pcm5ldC9pcm5ldC5oIGIvbmV0L2lyZGEvaXJuZXQvaXJuZXQuaAppbmRleCBiMDAxYzM2Li5iY2NmNGQwIDEwMDY0NAotLS0gYS9uZXQvaXJkYS9pcm5ldC9pcm5ldC5oCisrKyBiL25ldC9pcmRhL2lybmV0L2lybmV0LmgKQEAgLTI0MSw2ICsyNDEsNyBAQAogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogCiAjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxsaW51eC9za2J1ZmYuaD4KICNpbmNsdWRlIDxsaW51eC90dHkuaD4KICNpbmNsdWRlIDxsaW51eC9wcm9jX2ZzLmg+CmRpZmYgLS1naXQgYS9uZXQvaXJkYS9pcm5ldC9pcm5ldF9wcHAuYyBiL25ldC9pcmRhL2lybmV0L2lybmV0X3BwcC5jCmluZGV4IGUwZWFiNTkuLmU4NGE3MGQgMTAwNjQ0Ci0tLSBhL25ldC9pcmRhL2lybmV0L2lybmV0X3BwcC5jCisrKyBiL25ldC9pcmRhL2lybmV0L2lybmV0X3BwcC5jCkBAIC00NzksNiArNDc5LDcgQEAKICAgYXAgPSBremFsbG9jKHNpemVvZigqYXApLCBHRlBfS0VSTkVMKTsKICAgREFCT1JUKGFwID09IE5VTEwsIC1FTk9NRU0sIEZTX0VSUk9SLCAiQ2FuJ3QgYWxsb2NhdGUgc3RydWN0IGlybmV0Li4uXG4iKTsKIAorICBsb2NrX2tlcm5lbCgpOwogICAvKiBpbml0aWFsaXplIHRoZSBpcm5ldCBzdHJ1Y3R1cmUgKi8KICAgYXAtPmZpbGUgPSBmaWxlOwogCkBAIC01MDAsNiArNTAxLDcgQEAKICAgICB7CiAgICAgICBERVJST1IoRlNfRVJST1IsICJDYW4ndCBzZXR1cCBJckRBIGxpbmsuLi5cbiIpOwogICAgICAga2ZyZWUoYXApOworICAgICAgdW5sb2NrX2tlcm5lbCgpOwogICAgICAgcmV0dXJuIGVycjsKICAgICB9CiAKQEAgLTUxMCw2ICs1MTIsNyBAQAogICBmaWxlLT5wcml2YXRlX2RhdGEgPSBhcDsKIAogICBERVhJVChGU19UUkFDRSwgIiAtIGFwPTB4JXBcbiIsIGFwKTsKKyAgdW5sb2NrX2tlcm5lbCgpOwogICByZXR1cm4gMDsKIH0KIApkaWZmIC0tZ2l0IGEvbmV0L2l1Y3YvYWZfaXVjdi5jIGIvbmV0L2l1Y3YvYWZfaXVjdi5jCmluZGV4IDdiMDAzOGYuLmJkYTcxMDEgMTAwNjQ0Ci0tLSBhL25ldC9pdWN2L2FmX2l1Y3YuYworKysgYi9uZXQvaXVjdi9hZl9pdWN2LmMKQEAgLTExMzUsOCArMTEzNSw3IEBACiAJCWlmICh0aGlzKQogCQkJa2ZyZWVfc2tiKHRoaXMpOwogCX0KLQlpZiAoIXRoaXMpCi0JCXByaW50ayhLRVJOX0VSUiAiQUZfSVVDViBtc2cgdGFnICV1IG5vdCBmb3VuZFxuIiwgbXNnLT50YWcpOworCUJVR19PTighdGhpcyk7CiAKIAlpZiAoc2stPnNrX3N0YXRlID09IElVQ1ZfQ0xPU0lORykgewogCQlpZiAoc2tiX3F1ZXVlX2VtcHR5KCZpdWN2X3NrKHNrKS0+c2VuZF9za2JfcSkpIHsKQEAgLTExOTYsNyArMTE5NSw3IEBACiAJfQogCWNwY21kKCJRVUVSWSBVU0VSSUQiLCBpdWN2X3VzZXJpZCwgc2l6ZW9mKGl1Y3ZfdXNlcmlkKSwgJmVycik7CiAJaWYgKHVubGlrZWx5KGVycikpIHsKLQkJcHJpbnRrKEtFUk5fRVJSICJBRl9JVUNWIG5lZWRzIHRoZSBWTSB1c2VyaWRcbiIpOworCQlXQVJOX09OKGVycik7CiAJCWVyciA9IC1FUFJPVE9OT1NVUFBPUlQ7CiAJCWdvdG8gb3V0OwogCX0KQEAgLTEyMTAsNyArMTIwOSw2IEBACiAJZXJyID0gc29ja19yZWdpc3RlcigmaXVjdl9zb2NrX2ZhbWlseV9vcHMpOwogCWlmIChlcnIpCiAJCWdvdG8gb3V0X3Byb3RvOwotCXByaW50ayhLRVJOX0lORk8gIkFGX0lVQ1YgbG93bGV2ZWwgZHJpdmVyIGluaXRpYWxpemVkXG4iKTsKIAlyZXR1cm4gMDsKIAogb3V0X3Byb3RvOgpAQCAtMTIyNiw4ICsxMjI0LDYgQEAKIAlzb2NrX3VucmVnaXN0ZXIoUEZfSVVDVik7CiAJcHJvdG9fdW5yZWdpc3RlcigmaXVjdl9wcm90byk7CiAJaXVjdl91bnJlZ2lzdGVyKCZhZl9pdWN2X2hhbmRsZXIsIDApOwotCi0JcHJpbnRrKEtFUk5fSU5GTyAiQUZfSVVDViBsb3dsZXZlbCBkcml2ZXIgdW5sb2FkZWRcbiIpOwogfQogCiBtb2R1bGVfaW5pdChhZml1Y3ZfaW5pdCk7CmRpZmYgLS1naXQgYS9uZXQvaXVjdi9pdWN2LmMgYi9uZXQvaXVjdi9pdWN2LmMKaW5kZXggOTE4OTcwNy4uN2Y4MmI3NiAxMDA2NDQKLS0tIGEvbmV0L2l1Y3YvaXVjdi5jCisrKyBiL25ldC9pdWN2L2l1Y3YuYwpAQCAtMTU1OSwxNiArMTU1OSwxMSBAQAogCiAJcCA9IGl1Y3ZfaXJxX2RhdGFbc21wX3Byb2Nlc3Nvcl9pZCgpXTsKIAlpZiAocC0+aXBwYXRoaWQgPj0gaXVjdl9tYXhfcGF0aGlkKSB7Ci0JCXByaW50ayhLRVJOX1dBUk5JTkcgIml1Y3ZfZG9faW50OiBHb3QgaW50ZXJydXB0IHdpdGggIgotCQkgICAgICAgInBhdGhpZCAlZCA+IG1heF9jb25uZWN0aW9ucyAoJWxkKVxuIiwKLQkJICAgICAgIHAtPmlwcGF0aGlkLCBpdWN2X21heF9wYXRoaWQgLSAxKTsKKwkJV0FSTl9PTihwLT5pcHBhdGhpZCA+PSBpdWN2X21heF9wYXRoaWQpOwogCQlpdWN2X3NldmVyX3BhdGhpZChwLT5pcHBhdGhpZCwgaXVjdl9lcnJvcl9ub19saXN0ZW5lcik7CiAJCXJldHVybjsKIAl9Ci0JaWYgKHAtPmlwdHlwZSAgPCAweDAxIHx8IHAtPmlwdHlwZSA+IDB4MDkpIHsKLQkJcHJpbnRrKEtFUk5fRVJSICJpdWN2X2RvX2ludDogdW5rbm93biBpdWN2IGludGVycnVwdFxuIik7Ci0JCXJldHVybjsKLQl9CisJQlVHX09OKHAtPmlwdHlwZSAgPCAweDAxIHx8IHAtPmlwdHlwZSA+IDB4MDkpOwogCXdvcmsgPSBrbWFsbG9jKHNpemVvZihzdHJ1Y3QgaXVjdl9pcnFfbGlzdCksIEdGUF9BVE9NSUMpOwogCWlmICghd29yaykgewogCQlwcmludGsoS0VSTl9XQVJOSU5HICJpdWN2X2V4dGVybmFsX2ludGVycnVwdDogb3V0IG9mIG1lbW9yeVxuIik7CmRpZmYgLS1naXQgYS9zY3JpcHRzL01ha2VmaWxlLmZ3aW5zdCBiL3NjcmlwdHMvTWFrZWZpbGUuZndpbnN0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNkMmY0NjAKLS0tIC9kZXYvbnVsbAorKysgYi9zY3JpcHRzL01ha2VmaWxlLmZ3aW5zdApAQCAtMCwwICsxLDQ1IEBACisjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisjIEluc3RhbGxpbmcgZmlybXdhcmUKKyMKKyMgV2UgZG9uJ3QgaW5jbHVkZSB0aGUgLmNvbmZpZywgc28gYWxsIGZpcm13YXJlIGZpbGVzIGFyZSBpbiAkKGZ3LXNoaXBwZWQtKQorIyByYXRoZXIgdGhhbiBpbiAkKGZ3LXNoaXBwZWQteSkgb3IgJChmdy1zaGlwcGVkLW4pLgorIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorCitJTlNUQUxMIDo9IGluc3RhbGwKK3NyYyA6PSAkKG9iaikKKworIyBGb3IgbW9kdWxlc19pbnN0YWxsIGluc3RhbGxpbmcgZmlybXdhcmUsIHdlIHdhbnQgdG8gc2VlIC5jb25maWcKKyMgQnV0IGZvciBmaXJtd2FyZV9pbnN0YWxsLCB3ZSBkb24ndCBjYXJlLCBidXQgZG9uJ3Qgd2FudCB0byByZXF1aXJlIGl0LgorLWluY2x1ZGUgJChvYmp0cmVlKS8uY29uZmlnCisKK2luY2x1ZGUgc2NyaXB0cy9LYnVpbGQuaW5jbHVkZQoraW5jbHVkZSAkKHNyY3RyZWUpLyQob2JqKS9NYWtlZmlsZQorCitpbmNsdWRlIHNjcmlwdHMvTWFrZWZpbGUuaG9zdAorCittb2QtZncgOj0gJChhZGRwcmVmaXggJChJTlNUQUxMX0ZXX1BBVEgpLywkKGZ3LXNoaXBwZWQtbSkpCisKKyMgSWYgQ09ORklHX0ZJUk1XQVJFX0lOX0tFUk5FTCBpc24ndCBzZXQsIHRoZW4gaW5zdGFsbCB0aGUgCisjIGZpcm13YXJlIGZvciBpbi1rZXJuZWwgZHJpdmVycyB0b28uCitpZm5kZWYgQ09ORklHX0ZJUk1XQVJFX0lOX0tFUk5FTAorbW9kLWZ3ICs9ICQoYWRkcHJlZml4ICQoSU5TVEFMTF9GV19QQVRIKS8sJChmdy1zaGlwcGVkLXkpKQorZW5kaWYKKworaW5zdGFsbGVkLWZ3IDo9ICQoYWRkcHJlZml4ICQoSU5TVEFMTF9GV19QQVRIKS8sJChmdy1zaGlwcGVkLWFsbCkpCitpbnN0YWxsZWQtZnctZGlycyA6PSAkKHNvcnQgJChkaXIgJChpbnN0YWxsZWQtZncpKSkgJChJTlNUQUxMX0ZXX1BBVEgpLy4KKworcXVpZXRfY21kX2luc3RhbGwgPSBJTlNUQUxMICQoc3Vic3QgJChzcmN0cmVlKS8sLCRAKQorICAgICAgY21kX2luc3RhbGwgPSAkKElOU1RBTEwpIC1tMDY0NCAkPCAkQAorCiskKGluc3RhbGxlZC1mdy1kaXJzKToKKwkkKGNhbGwgY21kLG1rZGlyKQorCiskKGluc3RhbGxlZC1mdyk6ICQoSU5TVEFMTF9GV19QQVRIKS8lOiAkKG9iaikvJSB8ICQoSU5TVEFMTF9GV19QQVRIKS8kJChkaXIgJSkvCisJJChjYWxsIGNtZCxpbnN0YWxsKQorCisuUEhPTlk6IF9fZndfaW5zdGFsbCBfX2Z3X21vZGluc3QgRk9SQ0UKKworX19md19pbnN0YWxsOiAkKGluc3RhbGxlZC1mdykKK19fZndfbW9kaW5zdDogJChtb2QtZncpCisKK0ZPUkNFOgpkaWZmIC0tZ2l0IGEvc2NyaXB0cy9NYWtlZmlsZS5saWIgYi9zY3JpcHRzL01ha2VmaWxlLmxpYgppbmRleCA4ZTQ0MDIzLi5lYTQ4YjgyIDEwMDY0NAotLS0gYS9zY3JpcHRzL01ha2VmaWxlLmxpYgorKysgYi9zY3JpcHRzL01ha2VmaWxlLmxpYgpAQCAtOTYsNyArOTYsOCBAQAogbW9kbmFtZV9mbGFncyAgPSAkKGlmICQoZmlsdGVyIDEsJCh3b3JkcyAkKG1vZG5hbWUpKSksXAogICAgICAgICAgICAgICAgICAtRCJLQlVJTERfTU9ETkFNRT1LQlVJTERfU1RSKCQoY2FsbCBuYW1lLWZpeCwkKG1vZG5hbWUpKSkiKQogCi1fY19mbGFncyAgICAgICA9ICQoS0JVSUxEX0NGTEFHUykgJChjY2ZsYWdzLXkpICQoQ0ZMQUdTXyQoYmFzZXRhcmdldCkubykKK29yaWdfY19mbGFncyAgID0gJChLQlVJTERfQ0ZMQUdTKSAkKGNjZmxhZ3MteSkgJChDRkxBR1NfJChiYXNldGFyZ2V0KS5vKQorX2NfZmxhZ3MgICAgICAgPSAkKGZpbHRlci1vdXQgJChDRkxBR1NfUkVNT1ZFXyQoYmFzZXRhcmdldCkubyksICQob3JpZ19jX2ZsYWdzKSkKIF9hX2ZsYWdzICAgICAgID0gJChLQlVJTERfQUZMQUdTKSAkKGFzZmxhZ3MteSkgJChBRkxBR1NfJChiYXNldGFyZ2V0KS5vKQogX2NwcF9mbGFncyAgICAgPSAkKEtCVUlMRF9DUFBGTEFHUykgJChjcHBmbGFncy15KSAkKENQUEZMQUdTXyQoQEYpKQogCmRpZmYgLS1naXQgYS9zY3JpcHRzL21vZC9maWxlMmFsaWFzLmMgYi9zY3JpcHRzL21vZC9maWxlMmFsaWFzLmMKaW5kZXggY2VhNGE3OS4uMzdkNWMzNiAxMDA2NDQKLS0tIGEvc2NyaXB0cy9tb2QvZmlsZTJhbGlhcy5jCisrKyBiL3NjcmlwdHMvbW9kL2ZpbGUyYWxpYXMuYwpAQCAtMzA0LDYgKzMwNCwxNCBAQAogCXJldHVybiAxOwogfQogCisvKiBsb29rcyBsaWtlOiAiY3NzOnROIiAqLworc3RhdGljIGludCBkb19jc3NfZW50cnkoY29uc3QgY2hhciAqZmlsZW5hbWUsCisJCQlzdHJ1Y3QgY3NzX2RldmljZV9pZCAqaWQsIGNoYXIgKmFsaWFzKQoreworCXNwcmludGYoYWxpYXMsICJjc3M6dCUwMVgiLCBpZC0+dHlwZSk7CisJcmV0dXJuIDE7Cit9CisKIC8qIExvb2tzIGxpa2U6ICJzZXJpbzp0eU5wck5pZE5leE4iICovCiBzdGF0aWMgaW50IGRvX3NlcmlvX2VudHJ5KGNvbnN0IGNoYXIgKmZpbGVuYW1lLAogCQkJICBzdHJ1Y3Qgc2VyaW9fZGV2aWNlX2lkICppZCwgY2hhciAqYWxpYXMpCkBAIC02ODAsNiArNjg4LDEwIEBACiAJCWRvX3RhYmxlKHN5bXZhbCwgc3ltLT5zdF9zaXplLAogCQkJIHNpemVvZihzdHJ1Y3QgYXBfZGV2aWNlX2lkKSwgImFwIiwKIAkJCSBkb19hcF9lbnRyeSwgbW9kKTsKKwllbHNlIGlmIChzeW1faXMoc3ltbmFtZSwgIl9fbW9kX2Nzc19kZXZpY2VfdGFibGUiKSkKKwkJZG9fdGFibGUoc3ltdmFsLCBzeW0tPnN0X3NpemUsCisJCQkgc2l6ZW9mKHN0cnVjdCBjc3NfZGV2aWNlX2lkKSwgImNzcyIsCisJCQkgZG9fY3NzX2VudHJ5LCBtb2QpOwogCWVsc2UgaWYgKHN5bV9pcyhzeW1uYW1lLCAiX19tb2Rfc2VyaW9fZGV2aWNlX3RhYmxlIikpCiAJCWRvX3RhYmxlKHN5bXZhbCwgc3ltLT5zdF9zaXplLAogCQkJIHNpemVvZihzdHJ1Y3Qgc2VyaW9fZGV2aWNlX2lkKSwgInNlcmlvIiwKZGlmZiAtLWdpdCBhL3NlY3VyaXR5L0tjb25maWcgYi9zZWN1cml0eS9LY29uZmlnCmluZGV4IDQ5YjUxZjkuLjYyZWQ0NzEgMTAwNjQ0Ci0tLSBhL3NlY3VyaXR5L0tjb25maWcKKysrIGIvc2VjdXJpdHkvS2NvbmZpZwpAQCAtNzMsMTcgKzczLDkgQEAKIAkgIElQU2VjLgogCSAgSWYgeW91IGFyZSB1bnN1cmUgaG93IHRvIGFuc3dlciB0aGlzIHF1ZXN0aW9uLCBhbnN3ZXIgTi4KIAotY29uZmlnIFNFQ1VSSVRZX0NBUEFCSUxJVElFUwotCWJvb2wgIkRlZmF1bHQgTGludXggQ2FwYWJpbGl0aWVzIgotCWRlcGVuZHMgb24gU0VDVVJJVFkKLQlkZWZhdWx0IHkKLQloZWxwCi0JICBUaGlzIGVuYWJsZXMgdGhlICJkZWZhdWx0IiBMaW51eCBjYXBhYmlsaXRpZXMgZnVuY3Rpb25hbGl0eS4KLQkgIElmIHlvdSBhcmUgdW5zdXJlIGhvdyB0byBhbnN3ZXIgdGhpcyBxdWVzdGlvbiwgYW5zd2VyIFkuCi0KIGNvbmZpZyBTRUNVUklUWV9GSUxFX0NBUEFCSUxJVElFUwogCWJvb2wgIkZpbGUgUE9TSVggQ2FwYWJpbGl0aWVzIChFWFBFUklNRU5UQUwpIgotCWRlcGVuZHMgb24gKFNFQ1VSSVRZPW4gfHwgU0VDVVJJVFlfQ0FQQUJJTElUSUVTIT1uKSAmJiBFWFBFUklNRU5UQUwKKwlkZXBlbmRzIG9uIEVYUEVSSU1FTlRBTAogCWRlZmF1bHQgbgogCWhlbHAKIAkgIFRoaXMgZW5hYmxlcyBmaWxlc3lzdGVtIGNhcGFiaWxpdGllcywgYWxsb3dpbmcgeW91IHRvIGdpdmUKZGlmZiAtLWdpdCBhL3NlY3VyaXR5L01ha2VmaWxlIGIvc2VjdXJpdHkvTWFrZWZpbGUKaW5kZXggN2VmMTEwNy4uZjY1NDI2MCAxMDA2NDQKLS0tIGEvc2VjdXJpdHkvTWFrZWZpbGUKKysrIGIvc2VjdXJpdHkvTWFrZWZpbGUKQEAgLTYsMTYgKzYsMTMgQEAKIHN1YmRpci0kKENPTkZJR19TRUNVUklUWV9TRUxJTlVYKQkrPSBzZWxpbnV4CiBzdWJkaXItJChDT05GSUdfU0VDVVJJVFlfU01BQ0spCQkrPSBzbWFjawogCi0jIGlmIHdlIGRvbid0IHNlbGVjdCBhIHNlY3VyaXR5IG1vZGVsLCB1c2UgdGhlIGRlZmF1bHQgY2FwYWJpbGl0aWVzCi1pZm5lcSAoJChDT05GSUdfU0VDVVJJVFkpLHkpCisjIGFsd2F5cyBlbmFibGUgZGVmYXVsdCBjYXBhYmlsaXRpZXMKIG9iai15CQkrPSBjb21tb25jYXAubwotZW5kaWYKIAogIyBPYmplY3QgZmlsZSBsaXN0cwotb2JqLSQoQ09ORklHX1NFQ1VSSVRZKQkJCSs9IHNlY3VyaXR5Lm8gZHVtbXkubyBpbm9kZS5vCitvYmotJChDT05GSUdfU0VDVVJJVFkpCQkJKz0gc2VjdXJpdHkubyBjYXBhYmlsaXR5Lm8gaW5vZGUubwogIyBNdXN0IHByZWNlZGUgY2FwYWJpbGl0eS5vIGluIG9yZGVyIHRvIHN0YWNrIHByb3Blcmx5Lgogb2JqLSQoQ09ORklHX1NFQ1VSSVRZX1NFTElOVVgpCQkrPSBzZWxpbnV4L2J1aWx0LWluLm8KLW9iai0kKENPTkZJR19TRUNVUklUWV9TTUFDSykJCSs9IGNvbW1vbmNhcC5vIHNtYWNrL2J1aWx0LWluLm8KLW9iai0kKENPTkZJR19TRUNVUklUWV9DQVBBQklMSVRJRVMpCSs9IGNvbW1vbmNhcC5vIGNhcGFiaWxpdHkubwotb2JqLSQoQ09ORklHX1NFQ1VSSVRZX1JPT1RQTFVHKQkJKz0gY29tbW9uY2FwLm8gcm9vdF9wbHVnLm8KK29iai0kKENPTkZJR19TRUNVUklUWV9TTUFDSykJCSs9IHNtYWNrL2J1aWx0LWluLm8KK29iai0kKENPTkZJR19TRUNVUklUWV9ST09UUExVRykJCSs9IHJvb3RfcGx1Zy5vCiBvYmotJChDT05GSUdfQ0dST1VQX0RFVklDRSkJCSs9IGRldmljZV9jZ3JvdXAubwpkaWZmIC0tZ2l0IGEvc2VjdXJpdHkvY2FwYWJpbGl0eS5jIGIvc2VjdXJpdHkvY2FwYWJpbGl0eS5jCmluZGV4IDM4YWM1NGUuLjViMDFjMGIgMTAwNjQ0Ci0tLSBhL3NlY3VyaXR5L2NhcGFiaWxpdHkuYworKysgYi9zZWN1cml0eS9jYXBhYmlsaXR5LmMKQEAgLTEsNiArMSw4IEBACiAvKgogICogIENhcGFiaWxpdGllcyBMaW51eCBTZWN1cml0eSBNb2R1bGUKICAqCisgKiAgVGhpcyBpcyB0aGUgZGVmYXVsdCBzZWN1cml0eSBtb2R1bGUgaW4gY2FzZSBubyBvdGhlciBtb2R1bGUgaXMgbG9hZGVkLgorICoKICAqCVRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiAgKglpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQogICoJdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKQEAgLTgsNzUgKzEwLDk4OCBAQAogICoKICAqLwogCi0jaW5jbHVkZSA8bGludXgvaW5pdC5oPgotI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgogI2luY2x1ZGUgPGxpbnV4L3NlY3VyaXR5Lmg+Ci0jaW5jbHVkZSA8bGludXgvZmlsZS5oPgotI2luY2x1ZGUgPGxpbnV4L21tLmg+Ci0jaW5jbHVkZSA8bGludXgvbW1hbi5oPgotI2luY2x1ZGUgPGxpbnV4L3BhZ2VtYXAuaD4KLSNpbmNsdWRlIDxsaW51eC9zd2FwLmg+Ci0jaW5jbHVkZSA8bGludXgvc2tidWZmLmg+Ci0jaW5jbHVkZSA8bGludXgvbmV0bGluay5oPgotI2luY2x1ZGUgPGxpbnV4L3B0cmFjZS5oPgotI2luY2x1ZGUgPGxpbnV4L21vZHVsZXBhcmFtLmg+CiAKLXN0YXRpYyBzdHJ1Y3Qgc2VjdXJpdHlfb3BlcmF0aW9ucyBjYXBhYmlsaXR5X29wcyA9IHsKLQkucHRyYWNlID0JCQljYXBfcHRyYWNlLAotCS5jYXBnZXQgPQkJCWNhcF9jYXBnZXQsCi0JLmNhcHNldF9jaGVjayA9CQkJY2FwX2NhcHNldF9jaGVjaywKLQkuY2Fwc2V0X3NldCA9CQkJY2FwX2NhcHNldF9zZXQsCi0JLmNhcGFibGUgPQkJCWNhcF9jYXBhYmxlLAotCS5zZXR0aW1lID0JCQljYXBfc2V0dGltZSwKLQkubmV0bGlua19zZW5kID0JCQljYXBfbmV0bGlua19zZW5kLAotCS5uZXRsaW5rX3JlY3YgPQkJCWNhcF9uZXRsaW5rX3JlY3YsCi0KLQkuYnBybV9hcHBseV9jcmVkcyA9CQljYXBfYnBybV9hcHBseV9jcmVkcywKLQkuYnBybV9zZXRfc2VjdXJpdHkgPQkJY2FwX2Jwcm1fc2V0X3NlY3VyaXR5LAotCS5icHJtX3NlY3VyZWV4ZWMgPQkJY2FwX2Jwcm1fc2VjdXJlZXhlYywKLQotCS5pbm9kZV9zZXR4YXR0ciA9CQljYXBfaW5vZGVfc2V0eGF0dHIsCi0JLmlub2RlX3JlbW92ZXhhdHRyID0JCWNhcF9pbm9kZV9yZW1vdmV4YXR0ciwKLQkuaW5vZGVfbmVlZF9raWxscHJpdiA9CQljYXBfaW5vZGVfbmVlZF9raWxscHJpdiwKLQkuaW5vZGVfa2lsbHByaXYgPQkJY2FwX2lub2RlX2tpbGxwcml2LAotCi0JLnRhc2tfc2V0c2NoZWR1bGVyID0JCWNhcF90YXNrX3NldHNjaGVkdWxlciwKLQkudGFza19zZXRpb3ByaW8gPQkJY2FwX3Rhc2tfc2V0aW9wcmlvLAotCS50YXNrX3NldG5pY2UgPQkJCWNhcF90YXNrX3NldG5pY2UsCi0JLnRhc2tfcG9zdF9zZXR1aWQgPQkJY2FwX3Rhc2tfcG9zdF9zZXR1aWQsCi0JLnRhc2tfcHJjdGwgPSAgICAgICAgICAgICAgICAgICBjYXBfdGFza19wcmN0bCwKLQkudGFza19yZXBhcmVudF90b19pbml0ID0JY2FwX3Rhc2tfcmVwYXJlbnRfdG9faW5pdCwKLQotCS5zeXNsb2cgPSAgICAgICAgICAgICAgICAgICAgICAgY2FwX3N5c2xvZywKLQotCS52bV9lbm91Z2hfbWVtb3J5ID0gICAgICAgICAgICAgY2FwX3ZtX2Vub3VnaF9tZW1vcnksCi19OwotCi0vKiBmbGFnIHRvIGtlZXAgdHJhY2sgb2YgaG93IHdlIHdlcmUgcmVnaXN0ZXJlZCAqLwotc3RhdGljIGludCBzZWNvbmRhcnk7Ci0KLXN0YXRpYyBpbnQgY2FwYWJpbGl0eV9kaXNhYmxlOwotbW9kdWxlX3BhcmFtX25hbWVkKGRpc2FibGUsIGNhcGFiaWxpdHlfZGlzYWJsZSwgaW50LCAwKTsKLQotc3RhdGljIGludCBfX2luaXQgY2FwYWJpbGl0eV9pbml0ICh2b2lkKQorc3RhdGljIGludCBjYXBfYWNjdChzdHJ1Y3QgZmlsZSAqZmlsZSkKIHsKLQlpZiAoY2FwYWJpbGl0eV9kaXNhYmxlKSB7Ci0JCXByaW50ayhLRVJOX0lORk8gIkNhcGFiaWxpdGllcyBkaXNhYmxlZCBhdCBpbml0aWFsaXphdGlvblxuIik7Ci0JCXJldHVybiAwOwotCX0KLQkvKiByZWdpc3RlciBvdXJzZWx2ZXMgd2l0aCB0aGUgc2VjdXJpdHkgZnJhbWV3b3JrICovCi0JaWYgKHJlZ2lzdGVyX3NlY3VyaXR5ICgmY2FwYWJpbGl0eV9vcHMpKSB7Ci0JCS8qIHRyeSByZWdpc3RlcmluZyB3aXRoIHByaW1hcnkgbW9kdWxlICovCi0JCWlmIChtb2RfcmVnX3NlY3VyaXR5IChLQlVJTERfTU9ETkFNRSwgJmNhcGFiaWxpdHlfb3BzKSkgewotCQkJcHJpbnRrIChLRVJOX0lORk8gIkZhaWx1cmUgcmVnaXN0ZXJpbmcgY2FwYWJpbGl0aWVzICIKLQkJCQkid2l0aCBwcmltYXJ5IHNlY3VyaXR5IG1vZHVsZS5cbiIpOwotCQkJcmV0dXJuIC1FSU5WQUw7Ci0JCX0KLQkJc2Vjb25kYXJ5ID0gMTsKLQl9Ci0JcHJpbnRrIChLRVJOX0lORk8gIkNhcGFiaWxpdHkgTFNNIGluaXRpYWxpemVkJXNcbiIsCi0JCXNlY29uZGFyeSA/ICIgYXMgc2Vjb25kYXJ5IiA6ICIiKTsKIAlyZXR1cm4gMDsKIH0KIAotc2VjdXJpdHlfaW5pdGNhbGwgKGNhcGFiaWxpdHlfaW5pdCk7CitzdGF0aWMgaW50IGNhcF9zeXNjdGwoY3RsX3RhYmxlICp0YWJsZSwgaW50IG9wKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF9xdW90YWN0bChpbnQgY21kcywgaW50IHR5cGUsIGludCBpZCwgc3RydWN0IHN1cGVyX2Jsb2NrICpzYikKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfcXVvdGFfb24oc3RydWN0IGRlbnRyeSAqZGVudHJ5KQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF9icHJtX2FsbG9jX3NlY3VyaXR5KHN0cnVjdCBsaW51eF9iaW5wcm0gKmJwcm0pCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIGNhcF9icHJtX2ZyZWVfc2VjdXJpdHkoc3RydWN0IGxpbnV4X2JpbnBybSAqYnBybSkKK3sKK30KKworc3RhdGljIHZvaWQgY2FwX2Jwcm1fcG9zdF9hcHBseV9jcmVkcyhzdHJ1Y3QgbGludXhfYmlucHJtICpicHJtKQoreworfQorCitzdGF0aWMgaW50IGNhcF9icHJtX2NoZWNrX3NlY3VyaXR5KHN0cnVjdCBsaW51eF9iaW5wcm0gKmJwcm0pCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX3NiX2FsbG9jX3NlY3VyaXR5KHN0cnVjdCBzdXBlcl9ibG9jayAqc2IpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIGNhcF9zYl9mcmVlX3NlY3VyaXR5KHN0cnVjdCBzdXBlcl9ibG9jayAqc2IpCit7Cit9CisKK3N0YXRpYyBpbnQgY2FwX3NiX2NvcHlfZGF0YShjaGFyICpvcmlnLCBjaGFyICpjb3B5KQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF9zYl9rZXJuX21vdW50KHN0cnVjdCBzdXBlcl9ibG9jayAqc2IsIHZvaWQgKmRhdGEpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX3NiX3Nob3dfb3B0aW9ucyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHN0cnVjdCBzdXBlcl9ibG9jayAqc2IpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX3NiX3N0YXRmcyhzdHJ1Y3QgZGVudHJ5ICpkZW50cnkpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX3NiX21vdW50KGNoYXIgKmRldl9uYW1lLCBzdHJ1Y3QgcGF0aCAqcGF0aCwgY2hhciAqdHlwZSwKKwkJCXVuc2lnbmVkIGxvbmcgZmxhZ3MsIHZvaWQgKmRhdGEpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX3NiX2NoZWNrX3NiKHN0cnVjdCB2ZnNtb3VudCAqbW50LCBzdHJ1Y3QgcGF0aCAqcGF0aCkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfc2JfdW1vdW50KHN0cnVjdCB2ZnNtb3VudCAqbW50LCBpbnQgZmxhZ3MpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIGNhcF9zYl91bW91bnRfY2xvc2Uoc3RydWN0IHZmc21vdW50ICptbnQpCit7Cit9CisKK3N0YXRpYyB2b2lkIGNhcF9zYl91bW91bnRfYnVzeShzdHJ1Y3QgdmZzbW91bnQgKm1udCkKK3sKK30KKworc3RhdGljIHZvaWQgY2FwX3NiX3Bvc3RfcmVtb3VudChzdHJ1Y3QgdmZzbW91bnQgKm1udCwgdW5zaWduZWQgbG9uZyBmbGFncywKKwkJCQl2b2lkICpkYXRhKQoreworfQorCitzdGF0aWMgdm9pZCBjYXBfc2JfcG9zdF9hZGRtb3VudChzdHJ1Y3QgdmZzbW91bnQgKm1udCwgc3RydWN0IHBhdGggKnBhdGgpCit7Cit9CisKK3N0YXRpYyBpbnQgY2FwX3NiX3Bpdm90cm9vdChzdHJ1Y3QgcGF0aCAqb2xkX3BhdGgsIHN0cnVjdCBwYXRoICpuZXdfcGF0aCkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgY2FwX3NiX3Bvc3RfcGl2b3Ryb290KHN0cnVjdCBwYXRoICpvbGRfcGF0aCwgc3RydWN0IHBhdGggKm5ld19wYXRoKQoreworfQorCitzdGF0aWMgaW50IGNhcF9zYl9zZXRfbW50X29wdHMoc3RydWN0IHN1cGVyX2Jsb2NrICpzYiwKKwkJCSAgICAgICBzdHJ1Y3Qgc2VjdXJpdHlfbW50X29wdHMgKm9wdHMpCit7CisJaWYgKHVubGlrZWx5KG9wdHMtPm51bV9tbnRfb3B0cykpCisJCXJldHVybiAtRU9QTk9UU1VQUDsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgY2FwX3NiX2Nsb25lX21udF9vcHRzKGNvbnN0IHN0cnVjdCBzdXBlcl9ibG9jayAqb2xkc2IsCisJCQkJICBzdHJ1Y3Qgc3VwZXJfYmxvY2sgKm5ld3NiKQoreworfQorCitzdGF0aWMgaW50IGNhcF9zYl9wYXJzZV9vcHRzX3N0cihjaGFyICpvcHRpb25zLCBzdHJ1Y3Qgc2VjdXJpdHlfbW50X29wdHMgKm9wdHMpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX2lub2RlX2FsbG9jX3NlY3VyaXR5KHN0cnVjdCBpbm9kZSAqaW5vZGUpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIGNhcF9pbm9kZV9mcmVlX3NlY3VyaXR5KHN0cnVjdCBpbm9kZSAqaW5vZGUpCit7Cit9CisKK3N0YXRpYyBpbnQgY2FwX2lub2RlX2luaXRfc2VjdXJpdHkoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGlub2RlICpkaXIsCisJCQkJICAgY2hhciAqKm5hbWUsIHZvaWQgKip2YWx1ZSwgc2l6ZV90ICpsZW4pCit7CisJcmV0dXJuIC1FT1BOT1RTVVBQOworfQorCitzdGF0aWMgaW50IGNhcF9pbm9kZV9jcmVhdGUoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGRlbnRyeSAqZGVudHJ5LAorCQkJICAgIGludCBtYXNrKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF9pbm9kZV9saW5rKHN0cnVjdCBkZW50cnkgKm9sZF9kZW50cnksIHN0cnVjdCBpbm9kZSAqaW5vZGUsCisJCQkgIHN0cnVjdCBkZW50cnkgKm5ld19kZW50cnkpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX2lub2RlX3VubGluayhzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZGVudHJ5ICpkZW50cnkpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX2lub2RlX3N5bWxpbmsoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGRlbnRyeSAqZGVudHJ5LAorCQkJICAgICBjb25zdCBjaGFyICpuYW1lKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF9pbm9kZV9ta2RpcihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZGVudHJ5ICpkZW50cnksCisJCQkgICBpbnQgbWFzaykKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfaW5vZGVfcm1kaXIoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGRlbnRyeSAqZGVudHJ5KQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF9pbm9kZV9ta25vZChzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZGVudHJ5ICpkZW50cnksCisJCQkgICBpbnQgbW9kZSwgZGV2X3QgZGV2KQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF9pbm9kZV9yZW5hbWUoc3RydWN0IGlub2RlICpvbGRfaW5vZGUsIHN0cnVjdCBkZW50cnkgKm9sZF9kZW50cnksCisJCQkgICAgc3RydWN0IGlub2RlICpuZXdfaW5vZGUsIHN0cnVjdCBkZW50cnkgKm5ld19kZW50cnkpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX2lub2RlX3JlYWRsaW5rKHN0cnVjdCBkZW50cnkgKmRlbnRyeSkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfaW5vZGVfZm9sbG93X2xpbmsoc3RydWN0IGRlbnRyeSAqZGVudHJ5LAorCQkJCSBzdHJ1Y3QgbmFtZWlkYXRhICpuYW1laWRhdGEpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX2lub2RlX3Blcm1pc3Npb24oc3RydWN0IGlub2RlICppbm9kZSwgaW50IG1hc2ssCisJCQkJc3RydWN0IG5hbWVpZGF0YSAqbmQpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX2lub2RlX3NldGF0dHIoc3RydWN0IGRlbnRyeSAqZGVudHJ5LCBzdHJ1Y3QgaWF0dHIgKmlhdHRyKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF9pbm9kZV9nZXRhdHRyKHN0cnVjdCB2ZnNtb3VudCAqbW50LCBzdHJ1Y3QgZGVudHJ5ICpkZW50cnkpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIGNhcF9pbm9kZV9kZWxldGUoc3RydWN0IGlub2RlICppbm8pCit7Cit9CisKK3N0YXRpYyB2b2lkIGNhcF9pbm9kZV9wb3N0X3NldHhhdHRyKHN0cnVjdCBkZW50cnkgKmRlbnRyeSwgY29uc3QgY2hhciAqbmFtZSwKKwkJCQkgICAgY29uc3Qgdm9pZCAqdmFsdWUsIHNpemVfdCBzaXplLCBpbnQgZmxhZ3MpCit7Cit9CisKK3N0YXRpYyBpbnQgY2FwX2lub2RlX2dldHhhdHRyKHN0cnVjdCBkZW50cnkgKmRlbnRyeSwgY29uc3QgY2hhciAqbmFtZSkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfaW5vZGVfbGlzdHhhdHRyKHN0cnVjdCBkZW50cnkgKmRlbnRyeSkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfaW5vZGVfZ2V0c2VjdXJpdHkoY29uc3Qgc3RydWN0IGlub2RlICppbm9kZSwgY29uc3QgY2hhciAqbmFtZSwKKwkJCQkgdm9pZCAqKmJ1ZmZlciwgYm9vbCBhbGxvYykKK3sKKwlyZXR1cm4gLUVPUE5PVFNVUFA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX2lub2RlX3NldHNlY3VyaXR5KHN0cnVjdCBpbm9kZSAqaW5vZGUsIGNvbnN0IGNoYXIgKm5hbWUsCisJCQkJIGNvbnN0IHZvaWQgKnZhbHVlLCBzaXplX3Qgc2l6ZSwgaW50IGZsYWdzKQoreworCXJldHVybiAtRU9QTk9UU1VQUDsKK30KKworc3RhdGljIGludCBjYXBfaW5vZGVfbGlzdHNlY3VyaXR5KHN0cnVjdCBpbm9kZSAqaW5vZGUsIGNoYXIgKmJ1ZmZlciwKKwkJCQkgIHNpemVfdCBidWZmZXJfc2l6ZSkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgY2FwX2lub2RlX2dldHNlY2lkKGNvbnN0IHN0cnVjdCBpbm9kZSAqaW5vZGUsIHUzMiAqc2VjaWQpCit7CisJKnNlY2lkID0gMDsKK30KKworc3RhdGljIGludCBjYXBfZmlsZV9wZXJtaXNzaW9uKHN0cnVjdCBmaWxlICpmaWxlLCBpbnQgbWFzaykKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfZmlsZV9hbGxvY19zZWN1cml0eShzdHJ1Y3QgZmlsZSAqZmlsZSkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgY2FwX2ZpbGVfZnJlZV9zZWN1cml0eShzdHJ1Y3QgZmlsZSAqZmlsZSkKK3sKK30KKworc3RhdGljIGludCBjYXBfZmlsZV9pb2N0bChzdHJ1Y3QgZmlsZSAqZmlsZSwgdW5zaWduZWQgaW50IGNvbW1hbmQsCisJCQkgIHVuc2lnbmVkIGxvbmcgYXJnKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF9maWxlX21tYXAoc3RydWN0IGZpbGUgKmZpbGUsIHVuc2lnbmVkIGxvbmcgcmVxcHJvdCwKKwkJCSB1bnNpZ25lZCBsb25nIHByb3QsIHVuc2lnbmVkIGxvbmcgZmxhZ3MsCisJCQkgdW5zaWduZWQgbG9uZyBhZGRyLCB1bnNpZ25lZCBsb25nIGFkZHJfb25seSkKK3sKKwlpZiAoKGFkZHIgPCBtbWFwX21pbl9hZGRyKSAmJiAhY2FwYWJsZShDQVBfU1lTX1JBV0lPKSkKKwkJcmV0dXJuIC1FQUNDRVM7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX2ZpbGVfbXByb3RlY3Qoc3RydWN0IHZtX2FyZWFfc3RydWN0ICp2bWEsIHVuc2lnbmVkIGxvbmcgcmVxcHJvdCwKKwkJCSAgICAgdW5zaWduZWQgbG9uZyBwcm90KQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF9maWxlX2xvY2soc3RydWN0IGZpbGUgKmZpbGUsIHVuc2lnbmVkIGludCBjbWQpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX2ZpbGVfZmNudGwoc3RydWN0IGZpbGUgKmZpbGUsIHVuc2lnbmVkIGludCBjbWQsCisJCQkgIHVuc2lnbmVkIGxvbmcgYXJnKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF9maWxlX3NldF9mb3duZXIoc3RydWN0IGZpbGUgKmZpbGUpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX2ZpbGVfc2VuZF9zaWdpb3Rhc2soc3RydWN0IHRhc2tfc3RydWN0ICp0c2ssCisJCQkJICAgc3RydWN0IGZvd25fc3RydWN0ICpmb3duLCBpbnQgc2lnKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF9maWxlX3JlY2VpdmUoc3RydWN0IGZpbGUgKmZpbGUpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX2RlbnRyeV9vcGVuKHN0cnVjdCBmaWxlICpmaWxlKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF90YXNrX2NyZWF0ZSh1bnNpZ25lZCBsb25nIGNsb25lX2ZsYWdzKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF90YXNrX2FsbG9jX3NlY3VyaXR5KHN0cnVjdCB0YXNrX3N0cnVjdCAqcCkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgY2FwX3Rhc2tfZnJlZV9zZWN1cml0eShzdHJ1Y3QgdGFza19zdHJ1Y3QgKnApCit7Cit9CisKK3N0YXRpYyBpbnQgY2FwX3Rhc2tfc2V0dWlkKHVpZF90IGlkMCwgdWlkX3QgaWQxLCB1aWRfdCBpZDIsIGludCBmbGFncykKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfdGFza19zZXRnaWQoZ2lkX3QgaWQwLCBnaWRfdCBpZDEsIGdpZF90IGlkMiwgaW50IGZsYWdzKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF90YXNrX3NldHBnaWQoc3RydWN0IHRhc2tfc3RydWN0ICpwLCBwaWRfdCBwZ2lkKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF90YXNrX2dldHBnaWQoc3RydWN0IHRhc2tfc3RydWN0ICpwKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF90YXNrX2dldHNpZChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnApCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIGNhcF90YXNrX2dldHNlY2lkKHN0cnVjdCB0YXNrX3N0cnVjdCAqcCwgdTMyICpzZWNpZCkKK3sKKwkqc2VjaWQgPSAwOworfQorCitzdGF0aWMgaW50IGNhcF90YXNrX3NldGdyb3VwcyhzdHJ1Y3QgZ3JvdXBfaW5mbyAqZ3JvdXBfaW5mbykKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfdGFza19nZXRpb3ByaW8oc3RydWN0IHRhc2tfc3RydWN0ICpwKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF90YXNrX3NldHJsaW1pdCh1bnNpZ25lZCBpbnQgcmVzb3VyY2UsIHN0cnVjdCBybGltaXQgKm5ld19ybGltKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF90YXNrX2dldHNjaGVkdWxlcihzdHJ1Y3QgdGFza19zdHJ1Y3QgKnApCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX3Rhc2tfbW92ZW1lbW9yeShzdHJ1Y3QgdGFza19zdHJ1Y3QgKnApCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX3Rhc2tfd2FpdChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnApCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX3Rhc2tfa2lsbChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnAsIHN0cnVjdCBzaWdpbmZvICppbmZvLAorCQkJIGludCBzaWcsIHUzMiBzZWNpZCkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgY2FwX3Rhc2tfdG9faW5vZGUoc3RydWN0IHRhc2tfc3RydWN0ICpwLCBzdHJ1Y3QgaW5vZGUgKmlub2RlKQoreworfQorCitzdGF0aWMgaW50IGNhcF9pcGNfcGVybWlzc2lvbihzdHJ1Y3Qga2Vybl9pcGNfcGVybSAqaXBjcCwgc2hvcnQgZmxhZykKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgY2FwX2lwY19nZXRzZWNpZChzdHJ1Y3Qga2Vybl9pcGNfcGVybSAqaXBjcCwgdTMyICpzZWNpZCkKK3sKKwkqc2VjaWQgPSAwOworfQorCitzdGF0aWMgaW50IGNhcF9tc2dfbXNnX2FsbG9jX3NlY3VyaXR5KHN0cnVjdCBtc2dfbXNnICptc2cpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIGNhcF9tc2dfbXNnX2ZyZWVfc2VjdXJpdHkoc3RydWN0IG1zZ19tc2cgKm1zZykKK3sKK30KKworc3RhdGljIGludCBjYXBfbXNnX3F1ZXVlX2FsbG9jX3NlY3VyaXR5KHN0cnVjdCBtc2dfcXVldWUgKm1zcSkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgY2FwX21zZ19xdWV1ZV9mcmVlX3NlY3VyaXR5KHN0cnVjdCBtc2dfcXVldWUgKm1zcSkKK3sKK30KKworc3RhdGljIGludCBjYXBfbXNnX3F1ZXVlX2Fzc29jaWF0ZShzdHJ1Y3QgbXNnX3F1ZXVlICptc3EsIGludCBtc3FmbGcpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX21zZ19xdWV1ZV9tc2djdGwoc3RydWN0IG1zZ19xdWV1ZSAqbXNxLCBpbnQgY21kKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF9tc2dfcXVldWVfbXNnc25kKHN0cnVjdCBtc2dfcXVldWUgKm1zcSwgc3RydWN0IG1zZ19tc2cgKm1zZywKKwkJCQlpbnQgbXNnZmxnKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF9tc2dfcXVldWVfbXNncmN2KHN0cnVjdCBtc2dfcXVldWUgKm1zcSwgc3RydWN0IG1zZ19tc2cgKm1zZywKKwkJCQlzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRhcmdldCwgbG9uZyB0eXBlLCBpbnQgbW9kZSkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfc2htX2FsbG9jX3NlY3VyaXR5KHN0cnVjdCBzaG1pZF9rZXJuZWwgKnNocCkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgY2FwX3NobV9mcmVlX3NlY3VyaXR5KHN0cnVjdCBzaG1pZF9rZXJuZWwgKnNocCkKK3sKK30KKworc3RhdGljIGludCBjYXBfc2htX2Fzc29jaWF0ZShzdHJ1Y3Qgc2htaWRfa2VybmVsICpzaHAsIGludCBzaG1mbGcpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX3NobV9zaG1jdGwoc3RydWN0IHNobWlkX2tlcm5lbCAqc2hwLCBpbnQgY21kKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF9zaG1fc2htYXQoc3RydWN0IHNobWlkX2tlcm5lbCAqc2hwLCBjaGFyIF9fdXNlciAqc2htYWRkciwKKwkJCSBpbnQgc2htZmxnKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF9zZW1fYWxsb2Nfc2VjdXJpdHkoc3RydWN0IHNlbV9hcnJheSAqc21hKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBjYXBfc2VtX2ZyZWVfc2VjdXJpdHkoc3RydWN0IHNlbV9hcnJheSAqc21hKQoreworfQorCitzdGF0aWMgaW50IGNhcF9zZW1fYXNzb2NpYXRlKHN0cnVjdCBzZW1fYXJyYXkgKnNtYSwgaW50IHNlbWZsZykKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfc2VtX3NlbWN0bChzdHJ1Y3Qgc2VtX2FycmF5ICpzbWEsIGludCBjbWQpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX3NlbV9zZW1vcChzdHJ1Y3Qgc2VtX2FycmF5ICpzbWEsIHN0cnVjdCBzZW1idWYgKnNvcHMsCisJCQkgdW5zaWduZWQgbnNvcHMsIGludCBhbHRlcikKK3sKKwlyZXR1cm4gMDsKK30KKworI2lmZGVmIENPTkZJR19TRUNVUklUWV9ORVRXT1JLCitzdGF0aWMgaW50IGNhcF91bml4X3N0cmVhbV9jb25uZWN0KHN0cnVjdCBzb2NrZXQgKnNvY2ssIHN0cnVjdCBzb2NrZXQgKm90aGVyLAorCQkJCSAgIHN0cnVjdCBzb2NrICpuZXdzaykKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfdW5peF9tYXlfc2VuZChzdHJ1Y3Qgc29ja2V0ICpzb2NrLCBzdHJ1Y3Qgc29ja2V0ICpvdGhlcikKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfc29ja2V0X2NyZWF0ZShpbnQgZmFtaWx5LCBpbnQgdHlwZSwgaW50IHByb3RvY29sLCBpbnQga2VybikKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfc29ja2V0X3Bvc3RfY3JlYXRlKHN0cnVjdCBzb2NrZXQgKnNvY2ssIGludCBmYW1pbHksIGludCB0eXBlLAorCQkJCSAgaW50IHByb3RvY29sLCBpbnQga2VybikKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfc29ja2V0X2JpbmQoc3RydWN0IHNvY2tldCAqc29jaywgc3RydWN0IHNvY2thZGRyICphZGRyZXNzLAorCQkJICAgaW50IGFkZHJsZW4pCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX3NvY2tldF9jb25uZWN0KHN0cnVjdCBzb2NrZXQgKnNvY2ssIHN0cnVjdCBzb2NrYWRkciAqYWRkcmVzcywKKwkJCSAgICAgIGludCBhZGRybGVuKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF9zb2NrZXRfbGlzdGVuKHN0cnVjdCBzb2NrZXQgKnNvY2ssIGludCBiYWNrbG9nKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF9zb2NrZXRfYWNjZXB0KHN0cnVjdCBzb2NrZXQgKnNvY2ssIHN0cnVjdCBzb2NrZXQgKm5ld3NvY2spCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIGNhcF9zb2NrZXRfcG9zdF9hY2NlcHQoc3RydWN0IHNvY2tldCAqc29jaywgc3RydWN0IHNvY2tldCAqbmV3c29jaykKK3sKK30KKworc3RhdGljIGludCBjYXBfc29ja2V0X3NlbmRtc2coc3RydWN0IHNvY2tldCAqc29jaywgc3RydWN0IG1zZ2hkciAqbXNnLCBpbnQgc2l6ZSkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfc29ja2V0X3JlY3Ztc2coc3RydWN0IHNvY2tldCAqc29jaywgc3RydWN0IG1zZ2hkciAqbXNnLAorCQkJICAgICAgaW50IHNpemUsIGludCBmbGFncykKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfc29ja2V0X2dldHNvY2tuYW1lKHN0cnVjdCBzb2NrZXQgKnNvY2spCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX3NvY2tldF9nZXRwZWVybmFtZShzdHJ1Y3Qgc29ja2V0ICpzb2NrKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF9zb2NrZXRfc2V0c29ja29wdChzdHJ1Y3Qgc29ja2V0ICpzb2NrLCBpbnQgbGV2ZWwsIGludCBvcHRuYW1lKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF9zb2NrZXRfZ2V0c29ja29wdChzdHJ1Y3Qgc29ja2V0ICpzb2NrLCBpbnQgbGV2ZWwsIGludCBvcHRuYW1lKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF9zb2NrZXRfc2h1dGRvd24oc3RydWN0IHNvY2tldCAqc29jaywgaW50IGhvdykKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfc29ja2V0X3NvY2tfcmN2X3NrYihzdHJ1Y3Qgc29jayAqc2ssIHN0cnVjdCBza19idWZmICpza2IpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX3NvY2tldF9nZXRwZWVyc2VjX3N0cmVhbShzdHJ1Y3Qgc29ja2V0ICpzb2NrLAorCQkJCQljaGFyIF9fdXNlciAqb3B0dmFsLAorCQkJCQlpbnQgX191c2VyICpvcHRsZW4sIHVuc2lnbmVkIGxlbikKK3sKKwlyZXR1cm4gLUVOT1BST1RPT1BUOworfQorCitzdGF0aWMgaW50IGNhcF9zb2NrZXRfZ2V0cGVlcnNlY19kZ3JhbShzdHJ1Y3Qgc29ja2V0ICpzb2NrLAorCQkJCSAgICAgICBzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCB1MzIgKnNlY2lkKQoreworCXJldHVybiAtRU5PUFJPVE9PUFQ7Cit9CisKK3N0YXRpYyBpbnQgY2FwX3NrX2FsbG9jX3NlY3VyaXR5KHN0cnVjdCBzb2NrICpzaywgaW50IGZhbWlseSwgZ2ZwX3QgcHJpb3JpdHkpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIGNhcF9za19mcmVlX3NlY3VyaXR5KHN0cnVjdCBzb2NrICpzaykKK3sKK30KKworc3RhdGljIHZvaWQgY2FwX3NrX2Nsb25lX3NlY3VyaXR5KGNvbnN0IHN0cnVjdCBzb2NrICpzaywgc3RydWN0IHNvY2sgKm5ld3NrKQoreworfQorCitzdGF0aWMgdm9pZCBjYXBfc2tfZ2V0c2VjaWQoc3RydWN0IHNvY2sgKnNrLCB1MzIgKnNlY2lkKQoreworfQorCitzdGF0aWMgdm9pZCBjYXBfc29ja19ncmFmdChzdHJ1Y3Qgc29jayAqc2ssIHN0cnVjdCBzb2NrZXQgKnBhcmVudCkKK3sKK30KKworc3RhdGljIGludCBjYXBfaW5ldF9jb25uX3JlcXVlc3Qoc3RydWN0IHNvY2sgKnNrLCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiLAorCQkJCSBzdHJ1Y3QgcmVxdWVzdF9zb2NrICpyZXEpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIGNhcF9pbmV0X2Nza19jbG9uZShzdHJ1Y3Qgc29jayAqbmV3c2ssCisJCQkgICAgICAgY29uc3Qgc3RydWN0IHJlcXVlc3Rfc29jayAqcmVxKQoreworfQorCitzdGF0aWMgdm9pZCBjYXBfaW5ldF9jb25uX2VzdGFibGlzaGVkKHN0cnVjdCBzb2NrICpzaywgc3RydWN0IHNrX2J1ZmYgKnNrYikKK3sKK30KKworc3RhdGljIHZvaWQgY2FwX3JlcV9jbGFzc2lmeV9mbG93KGNvbnN0IHN0cnVjdCByZXF1ZXN0X3NvY2sgKnJlcSwKKwkJCQkgIHN0cnVjdCBmbG93aSAqZmwpCit7Cit9CisjZW5kaWYJLyogQ09ORklHX1NFQ1VSSVRZX05FVFdPUksgKi8KKworI2lmZGVmIENPTkZJR19TRUNVUklUWV9ORVRXT1JLX1hGUk0KK3N0YXRpYyBpbnQgY2FwX3hmcm1fcG9saWN5X2FsbG9jX3NlY3VyaXR5KHN0cnVjdCB4ZnJtX3NlY19jdHggKipjdHhwLAorCQkJCQkgIHN0cnVjdCB4ZnJtX3VzZXJfc2VjX2N0eCAqc2VjX2N0eCkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfeGZybV9wb2xpY3lfY2xvbmVfc2VjdXJpdHkoc3RydWN0IHhmcm1fc2VjX2N0eCAqb2xkX2N0eCwKKwkJCQkJICBzdHJ1Y3QgeGZybV9zZWNfY3R4ICoqbmV3X2N0eHApCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIGNhcF94ZnJtX3BvbGljeV9mcmVlX3NlY3VyaXR5KHN0cnVjdCB4ZnJtX3NlY19jdHggKmN0eCkKK3sKK30KKworc3RhdGljIGludCBjYXBfeGZybV9wb2xpY3lfZGVsZXRlX3NlY3VyaXR5KHN0cnVjdCB4ZnJtX3NlY19jdHggKmN0eCkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfeGZybV9zdGF0ZV9hbGxvY19zZWN1cml0eShzdHJ1Y3QgeGZybV9zdGF0ZSAqeCwKKwkJCQkJIHN0cnVjdCB4ZnJtX3VzZXJfc2VjX2N0eCAqc2VjX2N0eCwKKwkJCQkJIHUzMiBzZWNpZCkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgY2FwX3hmcm1fc3RhdGVfZnJlZV9zZWN1cml0eShzdHJ1Y3QgeGZybV9zdGF0ZSAqeCkKK3sKK30KKworc3RhdGljIGludCBjYXBfeGZybV9zdGF0ZV9kZWxldGVfc2VjdXJpdHkoc3RydWN0IHhmcm1fc3RhdGUgKngpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX3hmcm1fcG9saWN5X2xvb2t1cChzdHJ1Y3QgeGZybV9zZWNfY3R4ICpjdHgsIHUzMiBza19zaWQsIHU4IGRpcikKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfeGZybV9zdGF0ZV9wb2xfZmxvd19tYXRjaChzdHJ1Y3QgeGZybV9zdGF0ZSAqeCwKKwkJCQkJIHN0cnVjdCB4ZnJtX3BvbGljeSAqeHAsCisJCQkJCSBzdHJ1Y3QgZmxvd2kgKmZsKQoreworCXJldHVybiAxOworfQorCitzdGF0aWMgaW50IGNhcF94ZnJtX2RlY29kZV9zZXNzaW9uKHN0cnVjdCBza19idWZmICpza2IsIHUzMiAqZmwsIGludCBja2FsbCkKK3sKKwlyZXR1cm4gMDsKK30KKworI2VuZGlmIC8qIENPTkZJR19TRUNVUklUWV9ORVRXT1JLX1hGUk0gKi8KK3N0YXRpYyB2b2lkIGNhcF9kX2luc3RhbnRpYXRlKHN0cnVjdCBkZW50cnkgKmRlbnRyeSwgc3RydWN0IGlub2RlICppbm9kZSkKK3sKK30KKworc3RhdGljIGludCBjYXBfZ2V0cHJvY2F0dHIoc3RydWN0IHRhc2tfc3RydWN0ICpwLCBjaGFyICpuYW1lLCBjaGFyICoqdmFsdWUpCit7CisJcmV0dXJuIC1FSU5WQUw7Cit9CisKK3N0YXRpYyBpbnQgY2FwX3NldHByb2NhdHRyKHN0cnVjdCB0YXNrX3N0cnVjdCAqcCwgY2hhciAqbmFtZSwgdm9pZCAqdmFsdWUsCisJCQkgICBzaXplX3Qgc2l6ZSkKK3sKKwlyZXR1cm4gLUVJTlZBTDsKK30KKworc3RhdGljIGludCBjYXBfc2VjaWRfdG9fc2VjY3R4KHUzMiBzZWNpZCwgY2hhciAqKnNlY2RhdGEsIHUzMiAqc2VjbGVuKQoreworCXJldHVybiAtRU9QTk9UU1VQUDsKK30KKworc3RhdGljIGludCBjYXBfc2VjY3R4X3RvX3NlY2lkKGNvbnN0IGNoYXIgKnNlY2RhdGEsIHUzMiBzZWNsZW4sIHUzMiAqc2VjaWQpCit7CisJcmV0dXJuIC1FT1BOT1RTVVBQOworfQorCitzdGF0aWMgdm9pZCBjYXBfcmVsZWFzZV9zZWNjdHgoY2hhciAqc2VjZGF0YSwgdTMyIHNlY2xlbikKK3sKK30KKworI2lmZGVmIENPTkZJR19LRVlTCitzdGF0aWMgaW50IGNhcF9rZXlfYWxsb2Moc3RydWN0IGtleSAqa2V5LCBzdHJ1Y3QgdGFza19zdHJ1Y3QgKmN0eCwKKwkJCSB1bnNpZ25lZCBsb25nIGZsYWdzKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBjYXBfa2V5X2ZyZWUoc3RydWN0IGtleSAqa2V5KQoreworfQorCitzdGF0aWMgaW50IGNhcF9rZXlfcGVybWlzc2lvbihrZXlfcmVmX3Qga2V5X3JlZiwgc3RydWN0IHRhc2tfc3RydWN0ICpjb250ZXh0LAorCQkJICAgICAga2V5X3Blcm1fdCBwZXJtKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF9rZXlfZ2V0c2VjdXJpdHkoc3RydWN0IGtleSAqa2V5LCBjaGFyICoqX2J1ZmZlcikKK3sKKwkqX2J1ZmZlciA9IE5VTEw7CisJcmV0dXJuIDA7Cit9CisKKyNlbmRpZiAvKiBDT05GSUdfS0VZUyAqLworCisjaWZkZWYgQ09ORklHX0FVRElUCitzdGF0aWMgaW50IGNhcF9hdWRpdF9ydWxlX2luaXQodTMyIGZpZWxkLCB1MzIgb3AsIGNoYXIgKnJ1bGVzdHIsIHZvaWQgKipsc21ydWxlKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF9hdWRpdF9ydWxlX2tub3duKHN0cnVjdCBhdWRpdF9rcnVsZSAqa3J1bGUpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX2F1ZGl0X3J1bGVfbWF0Y2godTMyIHNlY2lkLCB1MzIgZmllbGQsIHUzMiBvcCwgdm9pZCAqbHNtcnVsZSwKKwkJCQlzdHJ1Y3QgYXVkaXRfY29udGV4dCAqYWN0eCkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgY2FwX2F1ZGl0X3J1bGVfZnJlZSh2b2lkICpsc21ydWxlKQoreworfQorI2VuZGlmIC8qIENPTkZJR19BVURJVCAqLworCitzdHJ1Y3Qgc2VjdXJpdHlfb3BlcmF0aW9ucyBkZWZhdWx0X3NlY3VyaXR5X29wcyA9IHsKKwkubmFtZQk9ICJkZWZhdWx0IiwKK307CisKKyNkZWZpbmUgc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgZnVuY3Rpb24pCQkJCVwKKwlkbyB7CQkJCQkJCQlcCisJCWlmICghb3BzLT5mdW5jdGlvbikgewkJCQkJXAorCQkJb3BzLT5mdW5jdGlvbiA9IGNhcF8jI2Z1bmN0aW9uOwkJCVwKKwkJCXByX2RlYnVnKCJIYWQgdG8gb3ZlcnJpZGUgdGhlICIgI2Z1bmN0aW9uCVwKKwkJCQkgIiBzZWN1cml0eSBvcGVyYXRpb24gd2l0aCB0aGUgZGVmYXVsdC5cbiIpO1wKKwkJCX0JCQkJCQlcCisJfSB3aGlsZSAoMCkKKwordm9pZCBzZWN1cml0eV9maXh1cF9vcHMoc3RydWN0IHNlY3VyaXR5X29wZXJhdGlvbnMgKm9wcykKK3sKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBwdHJhY2UpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGNhcGdldCk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgY2Fwc2V0X2NoZWNrKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBjYXBzZXRfc2V0KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBhY2N0KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBjYXBhYmxlKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBxdW90YWN0bCk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgcXVvdGFfb24pOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHN5c2N0bCk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgc3lzbG9nKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBzZXR0aW1lKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCB2bV9lbm91Z2hfbWVtb3J5KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBicHJtX2FsbG9jX3NlY3VyaXR5KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBicHJtX2ZyZWVfc2VjdXJpdHkpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGJwcm1fYXBwbHlfY3JlZHMpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGJwcm1fcG9zdF9hcHBseV9jcmVkcyk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgYnBybV9zZXRfc2VjdXJpdHkpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGJwcm1fY2hlY2tfc2VjdXJpdHkpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGJwcm1fc2VjdXJlZXhlYyk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgc2JfYWxsb2Nfc2VjdXJpdHkpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHNiX2ZyZWVfc2VjdXJpdHkpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHNiX2NvcHlfZGF0YSk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgc2Jfa2Vybl9tb3VudCk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgc2Jfc2hvd19vcHRpb25zKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBzYl9zdGF0ZnMpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHNiX21vdW50KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBzYl9jaGVja19zYik7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgc2JfdW1vdW50KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBzYl91bW91bnRfY2xvc2UpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHNiX3Vtb3VudF9idXN5KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBzYl9wb3N0X3JlbW91bnQpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHNiX3Bvc3RfYWRkbW91bnQpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHNiX3Bpdm90cm9vdCk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgc2JfcG9zdF9waXZvdHJvb3QpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHNiX3NldF9tbnRfb3B0cyk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgc2JfY2xvbmVfbW50X29wdHMpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHNiX3BhcnNlX29wdHNfc3RyKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBpbm9kZV9hbGxvY19zZWN1cml0eSk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgaW5vZGVfZnJlZV9zZWN1cml0eSk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgaW5vZGVfaW5pdF9zZWN1cml0eSk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgaW5vZGVfY3JlYXRlKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBpbm9kZV9saW5rKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBpbm9kZV91bmxpbmspOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGlub2RlX3N5bWxpbmspOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGlub2RlX21rZGlyKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBpbm9kZV9ybWRpcik7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgaW5vZGVfbWtub2QpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGlub2RlX3JlbmFtZSk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgaW5vZGVfcmVhZGxpbmspOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGlub2RlX2ZvbGxvd19saW5rKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBpbm9kZV9wZXJtaXNzaW9uKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBpbm9kZV9zZXRhdHRyKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBpbm9kZV9nZXRhdHRyKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBpbm9kZV9kZWxldGUpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGlub2RlX3NldHhhdHRyKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBpbm9kZV9wb3N0X3NldHhhdHRyKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBpbm9kZV9nZXR4YXR0cik7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgaW5vZGVfbGlzdHhhdHRyKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBpbm9kZV9yZW1vdmV4YXR0cik7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgaW5vZGVfbmVlZF9raWxscHJpdik7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgaW5vZGVfa2lsbHByaXYpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGlub2RlX2dldHNlY3VyaXR5KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBpbm9kZV9zZXRzZWN1cml0eSk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgaW5vZGVfbGlzdHNlY3VyaXR5KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBpbm9kZV9nZXRzZWNpZCk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgZmlsZV9wZXJtaXNzaW9uKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBmaWxlX2FsbG9jX3NlY3VyaXR5KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBmaWxlX2ZyZWVfc2VjdXJpdHkpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGZpbGVfaW9jdGwpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGZpbGVfbW1hcCk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgZmlsZV9tcHJvdGVjdCk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgZmlsZV9sb2NrKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBmaWxlX2ZjbnRsKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBmaWxlX3NldF9mb3duZXIpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGZpbGVfc2VuZF9zaWdpb3Rhc2spOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGZpbGVfcmVjZWl2ZSk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgZGVudHJ5X29wZW4pOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHRhc2tfY3JlYXRlKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCB0YXNrX2FsbG9jX3NlY3VyaXR5KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCB0YXNrX2ZyZWVfc2VjdXJpdHkpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHRhc2tfc2V0dWlkKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCB0YXNrX3Bvc3Rfc2V0dWlkKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCB0YXNrX3NldGdpZCk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgdGFza19zZXRwZ2lkKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCB0YXNrX2dldHBnaWQpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHRhc2tfZ2V0c2lkKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCB0YXNrX2dldHNlY2lkKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCB0YXNrX3NldGdyb3Vwcyk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgdGFza19zZXRuaWNlKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCB0YXNrX3NldGlvcHJpbyk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgdGFza19nZXRpb3ByaW8pOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHRhc2tfc2V0cmxpbWl0KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCB0YXNrX3NldHNjaGVkdWxlcik7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgdGFza19nZXRzY2hlZHVsZXIpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHRhc2tfbW92ZW1lbW9yeSk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgdGFza193YWl0KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCB0YXNrX2tpbGwpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHRhc2tfcHJjdGwpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHRhc2tfcmVwYXJlbnRfdG9faW5pdCk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgdGFza190b19pbm9kZSk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgaXBjX3Blcm1pc3Npb24pOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGlwY19nZXRzZWNpZCk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgbXNnX21zZ19hbGxvY19zZWN1cml0eSk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgbXNnX21zZ19mcmVlX3NlY3VyaXR5KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBtc2dfcXVldWVfYWxsb2Nfc2VjdXJpdHkpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIG1zZ19xdWV1ZV9mcmVlX3NlY3VyaXR5KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBtc2dfcXVldWVfYXNzb2NpYXRlKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBtc2dfcXVldWVfbXNnY3RsKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBtc2dfcXVldWVfbXNnc25kKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBtc2dfcXVldWVfbXNncmN2KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBzaG1fYWxsb2Nfc2VjdXJpdHkpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHNobV9mcmVlX3NlY3VyaXR5KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBzaG1fYXNzb2NpYXRlKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBzaG1fc2htY3RsKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBzaG1fc2htYXQpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHNlbV9hbGxvY19zZWN1cml0eSk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgc2VtX2ZyZWVfc2VjdXJpdHkpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHNlbV9hc3NvY2lhdGUpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHNlbV9zZW1jdGwpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHNlbV9zZW1vcCk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgbmV0bGlua19zZW5kKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBuZXRsaW5rX3JlY3YpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGRfaW5zdGFudGlhdGUpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGdldHByb2NhdHRyKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBzZXRwcm9jYXR0cik7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgc2VjaWRfdG9fc2VjY3R4KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBzZWNjdHhfdG9fc2VjaWQpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHJlbGVhc2Vfc2VjY3R4KTsKKyNpZmRlZiBDT05GSUdfU0VDVVJJVFlfTkVUV09SSworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHVuaXhfc3RyZWFtX2Nvbm5lY3QpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHVuaXhfbWF5X3NlbmQpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHNvY2tldF9jcmVhdGUpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHNvY2tldF9wb3N0X2NyZWF0ZSk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgc29ja2V0X2JpbmQpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHNvY2tldF9jb25uZWN0KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBzb2NrZXRfbGlzdGVuKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBzb2NrZXRfYWNjZXB0KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBzb2NrZXRfcG9zdF9hY2NlcHQpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHNvY2tldF9zZW5kbXNnKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBzb2NrZXRfcmVjdm1zZyk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgc29ja2V0X2dldHNvY2tuYW1lKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBzb2NrZXRfZ2V0cGVlcm5hbWUpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHNvY2tldF9zZXRzb2Nrb3B0KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBzb2NrZXRfZ2V0c29ja29wdCk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgc29ja2V0X3NodXRkb3duKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBzb2NrZXRfc29ja19yY3Zfc2tiKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBzb2NrZXRfZ2V0cGVlcnNlY19zdHJlYW0pOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHNvY2tldF9nZXRwZWVyc2VjX2RncmFtKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBza19hbGxvY19zZWN1cml0eSk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgc2tfZnJlZV9zZWN1cml0eSk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgc2tfY2xvbmVfc2VjdXJpdHkpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHNrX2dldHNlY2lkKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBzb2NrX2dyYWZ0KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBpbmV0X2Nvbm5fcmVxdWVzdCk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgaW5ldF9jc2tfY2xvbmUpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGluZXRfY29ubl9lc3RhYmxpc2hlZCk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgcmVxX2NsYXNzaWZ5X2Zsb3cpOworI2VuZGlmCS8qIENPTkZJR19TRUNVUklUWV9ORVRXT1JLICovCisjaWZkZWYgQ09ORklHX1NFQ1VSSVRZX05FVFdPUktfWEZSTQorCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHhmcm1fcG9saWN5X2FsbG9jX3NlY3VyaXR5KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCB4ZnJtX3BvbGljeV9jbG9uZV9zZWN1cml0eSk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgeGZybV9wb2xpY3lfZnJlZV9zZWN1cml0eSk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgeGZybV9wb2xpY3lfZGVsZXRlX3NlY3VyaXR5KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCB4ZnJtX3N0YXRlX2FsbG9jX3NlY3VyaXR5KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCB4ZnJtX3N0YXRlX2ZyZWVfc2VjdXJpdHkpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHhmcm1fc3RhdGVfZGVsZXRlX3NlY3VyaXR5KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCB4ZnJtX3BvbGljeV9sb29rdXApOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHhmcm1fc3RhdGVfcG9sX2Zsb3dfbWF0Y2gpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHhmcm1fZGVjb2RlX3Nlc3Npb24pOworI2VuZGlmCS8qIENPTkZJR19TRUNVUklUWV9ORVRXT1JLX1hGUk0gKi8KKyNpZmRlZiBDT05GSUdfS0VZUworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGtleV9hbGxvYyk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywga2V5X2ZyZWUpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGtleV9wZXJtaXNzaW9uKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBrZXlfZ2V0c2VjdXJpdHkpOworI2VuZGlmCS8qIENPTkZJR19LRVlTICovCisjaWZkZWYgQ09ORklHX0FVRElUCisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgYXVkaXRfcnVsZV9pbml0KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBhdWRpdF9ydWxlX2tub3duKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBhdWRpdF9ydWxlX21hdGNoKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBhdWRpdF9ydWxlX2ZyZWUpOworI2VuZGlmCit9CmRpZmYgLS1naXQgYS9zZWN1cml0eS9jb21tb25jYXAuYyBiL3NlY3VyaXR5L2NvbW1vbmNhcC5jCmluZGV4IDMzZDM0MzMuLjBiNjUzN2EgMTAwNjQ0Ci0tLSBhL3NlY3VyaXR5L2NvbW1vbmNhcC5jCisrKyBiL3NlY3VyaXR5L2NvbW1vbmNhcC5jCkBAIC02Myw3ICs2Myw4IEBACiAJcmV0dXJuIDA7CiB9CiAKLWludCBjYXBfcHRyYWNlIChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnBhcmVudCwgc3RydWN0IHRhc2tfc3RydWN0ICpjaGlsZCkKK2ludCBjYXBfcHRyYWNlIChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnBhcmVudCwgc3RydWN0IHRhc2tfc3RydWN0ICpjaGlsZCwKKwkJdW5zaWduZWQgaW50IG1vZGUpCiB7CiAJLyogRGVyaXZlZCBmcm9tIGFyY2gvaTM4Ni9rZXJuZWwvcHRyYWNlLmM6c3lzX3B0cmFjZS4gKi8KIAlpZiAoIWNhcF9pc3N1YnNldChjaGlsZC0+Y2FwX3Blcm1pdHRlZCwgcGFyZW50LT5jYXBfcGVybWl0dGVkKSAmJgpkaWZmIC0tZ2l0IGEvc2VjdXJpdHkvZHVtbXkuYyBiL3NlY3VyaXR5L2R1bW15LmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI4OTE2ODguLjAwMDAwMDAKLS0tIGEvc2VjdXJpdHkvZHVtbXkuYworKysgL2Rldi9udWxsCkBAIC0xLDEyNTEgKzAsMCBAQAotLyoKLSAqIFN0dWIgZnVuY3Rpb25zIGZvciB0aGUgZGVmYXVsdCBzZWN1cml0eSBmdW5jdGlvbiBwb2ludGVycyBpbiBjYXNlIG5vCi0gKiBzZWN1cml0eSBtb2RlbCBpcyBsb2FkZWQuCi0gKgotICogQ29weXJpZ2h0IChDKSAyMDAxIFdpcmVYIENvbW11bmljYXRpb25zLCBJbmMgPGNocmlzQHdpcmV4LmNvbT4KLSAqIENvcHlyaWdodCAoQykgMjAwMS0yMDAyICBHcmVnIEtyb2FoLUhhcnRtYW4gPGdyZWdAa3JvYWguY29tPgotICogQ29weXJpZ2h0IChDKSAyMDAxIE5ldHdvcmtzIEFzc29jaWF0ZXMgVGVjaG5vbG9neSwgSW5jIDxzc21hbGxleUBuYWkuY29tPgotICoKLSAqCVRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0gKglpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotICoJdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKLSAqCShhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0gKi8KLQotI3VuZGVmIERFQlVHCi0KLSNpbmNsdWRlIDxsaW51eC9jYXBhYmlsaXR5Lmg+Ci0jaW5jbHVkZSA8bGludXgva2VybmVsLmg+Ci0jaW5jbHVkZSA8bGludXgvbW1hbi5oPgotI2luY2x1ZGUgPGxpbnV4L3BhZ2VtYXAuaD4KLSNpbmNsdWRlIDxsaW51eC9zd2FwLmg+Ci0jaW5jbHVkZSA8bGludXgvc2VjdXJpdHkuaD4KLSNpbmNsdWRlIDxsaW51eC9za2J1ZmYuaD4KLSNpbmNsdWRlIDxsaW51eC9uZXRsaW5rLmg+Ci0jaW5jbHVkZSA8bmV0L3NvY2suaD4KLSNpbmNsdWRlIDxsaW51eC94YXR0ci5oPgotI2luY2x1ZGUgPGxpbnV4L2h1Z2V0bGIuaD4KLSNpbmNsdWRlIDxsaW51eC9wdHJhY2UuaD4KLSNpbmNsdWRlIDxsaW51eC9maWxlLmg+Ci0jaW5jbHVkZSA8bGludXgvcHJjdGwuaD4KLSNpbmNsdWRlIDxsaW51eC9zZWN1cmViaXRzLmg+Ci0KLXN0YXRpYyBpbnQgZHVtbXlfcHRyYWNlIChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnBhcmVudCwgc3RydWN0IHRhc2tfc3RydWN0ICpjaGlsZCkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9jYXBnZXQgKHN0cnVjdCB0YXNrX3N0cnVjdCAqdGFyZ2V0LCBrZXJuZWxfY2FwX3QgKiBlZmZlY3RpdmUsCi0JCQkga2VybmVsX2NhcF90ICogaW5oZXJpdGFibGUsIGtlcm5lbF9jYXBfdCAqIHBlcm1pdHRlZCkKLXsKLQlpZiAodGFyZ2V0LT5ldWlkID09IDApIHsKLQkJY2FwX3NldF9mdWxsKCpwZXJtaXR0ZWQpOwotCQljYXBfc2V0X2luaXRfZWZmKCplZmZlY3RpdmUpOwotCX0gZWxzZSB7Ci0JCWNhcF9jbGVhcigqcGVybWl0dGVkKTsKLQkJY2FwX2NsZWFyKCplZmZlY3RpdmUpOwotCX0KLQotCWNhcF9jbGVhcigqaW5oZXJpdGFibGUpOwotCi0JaWYgKHRhcmdldC0+ZnN1aWQgIT0gMCkgewotCQkqcGVybWl0dGVkID0gY2FwX2Ryb3BfZnNfc2V0KCpwZXJtaXR0ZWQpOwotCQkqZWZmZWN0aXZlID0gY2FwX2Ryb3BfZnNfc2V0KCplZmZlY3RpdmUpOwotCX0KLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9jYXBzZXRfY2hlY2sgKHN0cnVjdCB0YXNrX3N0cnVjdCAqdGFyZ2V0LAotCQkJICAgICAgIGtlcm5lbF9jYXBfdCAqIGVmZmVjdGl2ZSwKLQkJCSAgICAgICBrZXJuZWxfY2FwX3QgKiBpbmhlcml0YWJsZSwKLQkJCSAgICAgICBrZXJuZWxfY2FwX3QgKiBwZXJtaXR0ZWQpCi17Ci0JcmV0dXJuIC1FUEVSTTsKLX0KLQotc3RhdGljIHZvaWQgZHVtbXlfY2Fwc2V0X3NldCAoc3RydWN0IHRhc2tfc3RydWN0ICp0YXJnZXQsCi0JCQkgICAgICBrZXJuZWxfY2FwX3QgKiBlZmZlY3RpdmUsCi0JCQkgICAgICBrZXJuZWxfY2FwX3QgKiBpbmhlcml0YWJsZSwKLQkJCSAgICAgIGtlcm5lbF9jYXBfdCAqIHBlcm1pdHRlZCkKLXsKLQlyZXR1cm47Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfYWNjdCAoc3RydWN0IGZpbGUgKmZpbGUpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfY2FwYWJsZSAoc3RydWN0IHRhc2tfc3RydWN0ICp0c2ssIGludCBjYXApCi17Ci0JaWYgKGNhcF9yYWlzZWQgKHRzay0+Y2FwX2VmZmVjdGl2ZSwgY2FwKSkKLQkJcmV0dXJuIDA7Ci0JcmV0dXJuIC1FUEVSTTsKLX0KLQotc3RhdGljIGludCBkdW1teV9zeXNjdGwgKGN0bF90YWJsZSAqIHRhYmxlLCBpbnQgb3ApCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfcXVvdGFjdGwgKGludCBjbWRzLCBpbnQgdHlwZSwgaW50IGlkLCBzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3F1b3RhX29uIChzdHJ1Y3QgZGVudHJ5ICpkZW50cnkpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfc3lzbG9nIChpbnQgdHlwZSkKLXsKLQlpZiAoKHR5cGUgIT0gMyAmJiB0eXBlICE9IDEwKSAmJiBjdXJyZW50LT5ldWlkKQotCQlyZXR1cm4gLUVQRVJNOwotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3NldHRpbWUoc3RydWN0IHRpbWVzcGVjICp0cywgc3RydWN0IHRpbWV6b25lICp0eikKLXsKLQlpZiAoIWNhcGFibGUoQ0FQX1NZU19USU1FKSkKLQkJcmV0dXJuIC1FUEVSTTsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV92bV9lbm91Z2hfbWVtb3J5KHN0cnVjdCBtbV9zdHJ1Y3QgKm1tLCBsb25nIHBhZ2VzKQotewotCWludCBjYXBfc3lzX2FkbWluID0gMDsKLQotCWlmIChkdW1teV9jYXBhYmxlKGN1cnJlbnQsIENBUF9TWVNfQURNSU4pID09IDApCi0JCWNhcF9zeXNfYWRtaW4gPSAxOwotCXJldHVybiBfX3ZtX2Vub3VnaF9tZW1vcnkobW0sIHBhZ2VzLCBjYXBfc3lzX2FkbWluKTsKLX0KLQotc3RhdGljIGludCBkdW1teV9icHJtX2FsbG9jX3NlY3VyaXR5IChzdHJ1Y3QgbGludXhfYmlucHJtICpicHJtKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgdm9pZCBkdW1teV9icHJtX2ZyZWVfc2VjdXJpdHkgKHN0cnVjdCBsaW51eF9iaW5wcm0gKmJwcm0pCi17Ci0JcmV0dXJuOwotfQotCi1zdGF0aWMgdm9pZCBkdW1teV9icHJtX2FwcGx5X2NyZWRzIChzdHJ1Y3QgbGludXhfYmlucHJtICpicHJtLCBpbnQgdW5zYWZlKQotewotCWlmIChicHJtLT5lX3VpZCAhPSBjdXJyZW50LT51aWQgfHwgYnBybS0+ZV9naWQgIT0gY3VycmVudC0+Z2lkKSB7Ci0JCXNldF9kdW1wYWJsZShjdXJyZW50LT5tbSwgc3VpZF9kdW1wYWJsZSk7Ci0KLQkJaWYgKCh1bnNhZmUgJiB+TFNNX1VOU0FGRV9QVFJBQ0VfQ0FQKSAmJiAhY2FwYWJsZShDQVBfU0VUVUlEKSkgewotCQkJYnBybS0+ZV91aWQgPSBjdXJyZW50LT51aWQ7Ci0JCQlicHJtLT5lX2dpZCA9IGN1cnJlbnQtPmdpZDsKLQkJfQotCX0KLQotCWN1cnJlbnQtPnN1aWQgPSBjdXJyZW50LT5ldWlkID0gY3VycmVudC0+ZnN1aWQgPSBicHJtLT5lX3VpZDsKLQljdXJyZW50LT5zZ2lkID0gY3VycmVudC0+ZWdpZCA9IGN1cnJlbnQtPmZzZ2lkID0gYnBybS0+ZV9naWQ7Ci0KLQlkdW1teV9jYXBnZXQoY3VycmVudCwgJmN1cnJlbnQtPmNhcF9lZmZlY3RpdmUsICZjdXJyZW50LT5jYXBfaW5oZXJpdGFibGUsICZjdXJyZW50LT5jYXBfcGVybWl0dGVkKTsKLX0KLQotc3RhdGljIHZvaWQgZHVtbXlfYnBybV9wb3N0X2FwcGx5X2NyZWRzIChzdHJ1Y3QgbGludXhfYmlucHJtICpicHJtKQotewotCXJldHVybjsKLX0KLQotc3RhdGljIGludCBkdW1teV9icHJtX3NldF9zZWN1cml0eSAoc3RydWN0IGxpbnV4X2JpbnBybSAqYnBybSkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9icHJtX2NoZWNrX3NlY3VyaXR5IChzdHJ1Y3QgbGludXhfYmlucHJtICpicHJtKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X2Jwcm1fc2VjdXJlZXhlYyAoc3RydWN0IGxpbnV4X2JpbnBybSAqYnBybSkKLXsKLQkvKiBUaGUgbmV3IHVzZXJsYW5kIHdpbGwgc2ltcGx5IHVzZSB0aGUgdmFsdWUgcHJvdmlkZWQKLQkgICBpbiB0aGUgQVRfU0VDVVJFIGZpZWxkIHRvIGRlY2lkZSB3aGV0aGVyIHNlY3VyZSBtb2RlCi0JICAgaXMgcmVxdWlyZWQuICBIZW5jZSwgdGhpcyBsb2dpYyBpcyByZXF1aXJlZCB0byBwcmVzZXJ2ZQotCSAgIHRoZSBsZWdhY3kgZGVjaXNpb24gYWxnb3JpdGhtIHVzZWQgYnkgdGhlIG9sZCB1c2VybGFuZC4gKi8KLQlyZXR1cm4gKGN1cnJlbnQtPmV1aWQgIT0gY3VycmVudC0+dWlkIHx8Ci0JCWN1cnJlbnQtPmVnaWQgIT0gY3VycmVudC0+Z2lkKTsKLX0KLQotc3RhdGljIGludCBkdW1teV9zYl9hbGxvY19zZWN1cml0eSAoc3RydWN0IHN1cGVyX2Jsb2NrICpzYikKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIHZvaWQgZHVtbXlfc2JfZnJlZV9zZWN1cml0eSAoc3RydWN0IHN1cGVyX2Jsb2NrICpzYikKLXsKLQlyZXR1cm47Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfc2JfY29weV9kYXRhIChjaGFyICpvcmlnLCBjaGFyICpjb3B5KQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3NiX2tlcm5fbW91bnQgKHN0cnVjdCBzdXBlcl9ibG9jayAqc2IsIHZvaWQgKmRhdGEpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfc2Jfc3RhdGZzIChzdHJ1Y3QgZGVudHJ5ICpkZW50cnkpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfc2JfbW91bnQgKGNoYXIgKmRldl9uYW1lLCBzdHJ1Y3QgcGF0aCAqcGF0aCwgY2hhciAqdHlwZSwKLQkJCSAgIHVuc2lnbmVkIGxvbmcgZmxhZ3MsIHZvaWQgKmRhdGEpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfc2JfY2hlY2tfc2IgKHN0cnVjdCB2ZnNtb3VudCAqbW50LCBzdHJ1Y3QgcGF0aCAqcGF0aCkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9zYl91bW91bnQgKHN0cnVjdCB2ZnNtb3VudCAqbW50LCBpbnQgZmxhZ3MpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyB2b2lkIGR1bW15X3NiX3Vtb3VudF9jbG9zZSAoc3RydWN0IHZmc21vdW50ICptbnQpCi17Ci0JcmV0dXJuOwotfQotCi1zdGF0aWMgdm9pZCBkdW1teV9zYl91bW91bnRfYnVzeSAoc3RydWN0IHZmc21vdW50ICptbnQpCi17Ci0JcmV0dXJuOwotfQotCi1zdGF0aWMgdm9pZCBkdW1teV9zYl9wb3N0X3JlbW91bnQgKHN0cnVjdCB2ZnNtb3VudCAqbW50LCB1bnNpZ25lZCBsb25nIGZsYWdzLAotCQkJCSAgIHZvaWQgKmRhdGEpCi17Ci0JcmV0dXJuOwotfQotCi0KLXN0YXRpYyB2b2lkIGR1bW15X3NiX3Bvc3RfYWRkbW91bnQgKHN0cnVjdCB2ZnNtb3VudCAqbW50LCBzdHJ1Y3QgcGF0aCAqcGF0aCkKLXsKLQlyZXR1cm47Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfc2JfcGl2b3Ryb290IChzdHJ1Y3QgcGF0aCAqb2xkX3BhdGgsIHN0cnVjdCBwYXRoICpuZXdfcGF0aCkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIHZvaWQgZHVtbXlfc2JfcG9zdF9waXZvdHJvb3QgKHN0cnVjdCBwYXRoICpvbGRfcGF0aCwgc3RydWN0IHBhdGggKm5ld19wYXRoKQotewotCXJldHVybjsKLX0KLQotc3RhdGljIGludCBkdW1teV9zYl9nZXRfbW50X29wdHMoY29uc3Qgc3RydWN0IHN1cGVyX2Jsb2NrICpzYiwKLQkJCQkgc3RydWN0IHNlY3VyaXR5X21udF9vcHRzICpvcHRzKQotewotCXNlY3VyaXR5X2luaXRfbW50X29wdHMob3B0cyk7Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfc2Jfc2V0X21udF9vcHRzKHN0cnVjdCBzdXBlcl9ibG9jayAqc2IsCi0JCQkJIHN0cnVjdCBzZWN1cml0eV9tbnRfb3B0cyAqb3B0cykKLXsKLQlpZiAodW5saWtlbHkob3B0cy0+bnVtX21udF9vcHRzKSkKLQkJcmV0dXJuIC1FT1BOT1RTVVBQOwotCXJldHVybiAwOwotfQotCi1zdGF0aWMgdm9pZCBkdW1teV9zYl9jbG9uZV9tbnRfb3B0cyhjb25zdCBzdHJ1Y3Qgc3VwZXJfYmxvY2sgKm9sZHNiLAotCQkJCSAgICBzdHJ1Y3Qgc3VwZXJfYmxvY2sgKm5ld3NiKQotewotCXJldHVybjsKLX0KLQotc3RhdGljIGludCBkdW1teV9zYl9wYXJzZV9vcHRzX3N0cihjaGFyICpvcHRpb25zLCBzdHJ1Y3Qgc2VjdXJpdHlfbW50X29wdHMgKm9wdHMpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfaW5vZGVfYWxsb2Nfc2VjdXJpdHkgKHN0cnVjdCBpbm9kZSAqaW5vZGUpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyB2b2lkIGR1bW15X2lub2RlX2ZyZWVfc2VjdXJpdHkgKHN0cnVjdCBpbm9kZSAqaW5vZGUpCi17Ci0JcmV0dXJuOwotfQotCi1zdGF0aWMgaW50IGR1bW15X2lub2RlX2luaXRfc2VjdXJpdHkgKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBpbm9kZSAqZGlyLAotCQkJCSAgICAgIGNoYXIgKipuYW1lLCB2b2lkICoqdmFsdWUsIHNpemVfdCAqbGVuKQotewotCXJldHVybiAtRU9QTk9UU1VQUDsKLX0KLQotc3RhdGljIGludCBkdW1teV9pbm9kZV9jcmVhdGUgKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBkZW50cnkgKmRlbnRyeSwKLQkJCSAgICAgICBpbnQgbWFzaykKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9pbm9kZV9saW5rIChzdHJ1Y3QgZGVudHJ5ICpvbGRfZGVudHJ5LCBzdHJ1Y3QgaW5vZGUgKmlub2RlLAotCQkJICAgICBzdHJ1Y3QgZGVudHJ5ICpuZXdfZGVudHJ5KQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X2lub2RlX3VubGluayAoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGRlbnRyeSAqZGVudHJ5KQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X2lub2RlX3N5bWxpbmsgKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBkZW50cnkgKmRlbnRyeSwKLQkJCQljb25zdCBjaGFyICpuYW1lKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X2lub2RlX21rZGlyIChzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZGVudHJ5ICpkZW50cnksCi0JCQkgICAgICBpbnQgbWFzaykKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9pbm9kZV9ybWRpciAoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGRlbnRyeSAqZGVudHJ5KQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X2lub2RlX21rbm9kIChzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZGVudHJ5ICpkZW50cnksCi0JCQkgICAgICBpbnQgbW9kZSwgZGV2X3QgZGV2KQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X2lub2RlX3JlbmFtZSAoc3RydWN0IGlub2RlICpvbGRfaW5vZGUsCi0JCQkgICAgICAgc3RydWN0IGRlbnRyeSAqb2xkX2RlbnRyeSwKLQkJCSAgICAgICBzdHJ1Y3QgaW5vZGUgKm5ld19pbm9kZSwKLQkJCSAgICAgICBzdHJ1Y3QgZGVudHJ5ICpuZXdfZGVudHJ5KQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X2lub2RlX3JlYWRsaW5rIChzdHJ1Y3QgZGVudHJ5ICpkZW50cnkpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfaW5vZGVfZm9sbG93X2xpbmsgKHN0cnVjdCBkZW50cnkgKmRlbnRyeSwKLQkJCQkgICAgc3RydWN0IG5hbWVpZGF0YSAqbmFtZWlkYXRhKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X2lub2RlX3Blcm1pc3Npb24gKHN0cnVjdCBpbm9kZSAqaW5vZGUsIGludCBtYXNrLCBzdHJ1Y3QgbmFtZWlkYXRhICpuZCkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9pbm9kZV9zZXRhdHRyIChzdHJ1Y3QgZGVudHJ5ICpkZW50cnksIHN0cnVjdCBpYXR0ciAqaWF0dHIpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfaW5vZGVfZ2V0YXR0ciAoc3RydWN0IHZmc21vdW50ICptbnQsIHN0cnVjdCBkZW50cnkgKmRlbnRyeSkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIHZvaWQgZHVtbXlfaW5vZGVfZGVsZXRlIChzdHJ1Y3QgaW5vZGUgKmlubykKLXsKLQlyZXR1cm47Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfaW5vZGVfc2V0eGF0dHIgKHN0cnVjdCBkZW50cnkgKmRlbnRyeSwgY29uc3QgY2hhciAqbmFtZSwKLQkJCQkgY29uc3Qgdm9pZCAqdmFsdWUsIHNpemVfdCBzaXplLCBpbnQgZmxhZ3MpCi17Ci0JaWYgKCFzdHJuY21wKG5hbWUsIFhBVFRSX1NFQ1VSSVRZX1BSRUZJWCwKLQkJICAgICBzaXplb2YoWEFUVFJfU0VDVVJJVFlfUFJFRklYKSAtIDEpICYmCi0JICAgICFjYXBhYmxlKENBUF9TWVNfQURNSU4pKQotCQlyZXR1cm4gLUVQRVJNOwotCXJldHVybiAwOwotfQotCi1zdGF0aWMgdm9pZCBkdW1teV9pbm9kZV9wb3N0X3NldHhhdHRyIChzdHJ1Y3QgZGVudHJ5ICpkZW50cnksIGNvbnN0IGNoYXIgKm5hbWUsCi0JCQkJICAgICAgIGNvbnN0IHZvaWQgKnZhbHVlLCBzaXplX3Qgc2l6ZSwKLQkJCQkgICAgICAgaW50IGZsYWdzKQotewotfQotCi1zdGF0aWMgaW50IGR1bW15X2lub2RlX2dldHhhdHRyIChzdHJ1Y3QgZGVudHJ5ICpkZW50cnksIGNvbnN0IGNoYXIgKm5hbWUpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfaW5vZGVfbGlzdHhhdHRyIChzdHJ1Y3QgZGVudHJ5ICpkZW50cnkpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfaW5vZGVfcmVtb3ZleGF0dHIgKHN0cnVjdCBkZW50cnkgKmRlbnRyeSwgY29uc3QgY2hhciAqbmFtZSkKLXsKLQlpZiAoIXN0cm5jbXAobmFtZSwgWEFUVFJfU0VDVVJJVFlfUFJFRklYLAotCQkgICAgIHNpemVvZihYQVRUUl9TRUNVUklUWV9QUkVGSVgpIC0gMSkgJiYKLQkgICAgIWNhcGFibGUoQ0FQX1NZU19BRE1JTikpCi0JCXJldHVybiAtRVBFUk07Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfaW5vZGVfbmVlZF9raWxscHJpdihzdHJ1Y3QgZGVudHJ5ICpkZW50cnkpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfaW5vZGVfa2lsbHByaXYoc3RydWN0IGRlbnRyeSAqZGVudHJ5KQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X2lub2RlX2dldHNlY3VyaXR5KGNvbnN0IHN0cnVjdCBpbm9kZSAqaW5vZGUsIGNvbnN0IGNoYXIgKm5hbWUsIHZvaWQgKipidWZmZXIsIGJvb2wgYWxsb2MpCi17Ci0JcmV0dXJuIC1FT1BOT1RTVVBQOwotfQotCi1zdGF0aWMgaW50IGR1bW15X2lub2RlX3NldHNlY3VyaXR5KHN0cnVjdCBpbm9kZSAqaW5vZGUsIGNvbnN0IGNoYXIgKm5hbWUsIGNvbnN0IHZvaWQgKnZhbHVlLCBzaXplX3Qgc2l6ZSwgaW50IGZsYWdzKQotewotCXJldHVybiAtRU9QTk9UU1VQUDsKLX0KLQotc3RhdGljIGludCBkdW1teV9pbm9kZV9saXN0c2VjdXJpdHkoc3RydWN0IGlub2RlICppbm9kZSwgY2hhciAqYnVmZmVyLCBzaXplX3QgYnVmZmVyX3NpemUpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyB2b2lkIGR1bW15X2lub2RlX2dldHNlY2lkKGNvbnN0IHN0cnVjdCBpbm9kZSAqaW5vZGUsIHUzMiAqc2VjaWQpCi17Ci0JKnNlY2lkID0gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9maWxlX3Blcm1pc3Npb24gKHN0cnVjdCBmaWxlICpmaWxlLCBpbnQgbWFzaykKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9maWxlX2FsbG9jX3NlY3VyaXR5IChzdHJ1Y3QgZmlsZSAqZmlsZSkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIHZvaWQgZHVtbXlfZmlsZV9mcmVlX3NlY3VyaXR5IChzdHJ1Y3QgZmlsZSAqZmlsZSkKLXsKLQlyZXR1cm47Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfZmlsZV9pb2N0bCAoc3RydWN0IGZpbGUgKmZpbGUsIHVuc2lnbmVkIGludCBjb21tYW5kLAotCQkJICAgICB1bnNpZ25lZCBsb25nIGFyZykKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9maWxlX21tYXAgKHN0cnVjdCBmaWxlICpmaWxlLCB1bnNpZ25lZCBsb25nIHJlcXByb3QsCi0JCQkgICAgdW5zaWduZWQgbG9uZyBwcm90LAotCQkJICAgIHVuc2lnbmVkIGxvbmcgZmxhZ3MsCi0JCQkgICAgdW5zaWduZWQgbG9uZyBhZGRyLAotCQkJICAgIHVuc2lnbmVkIGxvbmcgYWRkcl9vbmx5KQotewotCWlmICgoYWRkciA8IG1tYXBfbWluX2FkZHIpICYmICFjYXBhYmxlKENBUF9TWVNfUkFXSU8pKQotCQlyZXR1cm4gLUVBQ0NFUzsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9maWxlX21wcm90ZWN0IChzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZtYSwKLQkJCQl1bnNpZ25lZCBsb25nIHJlcXByb3QsCi0JCQkJdW5zaWduZWQgbG9uZyBwcm90KQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X2ZpbGVfbG9jayAoc3RydWN0IGZpbGUgKmZpbGUsIHVuc2lnbmVkIGludCBjbWQpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfZmlsZV9mY250bCAoc3RydWN0IGZpbGUgKmZpbGUsIHVuc2lnbmVkIGludCBjbWQsCi0JCQkgICAgIHVuc2lnbmVkIGxvbmcgYXJnKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X2ZpbGVfc2V0X2Zvd25lciAoc3RydWN0IGZpbGUgKmZpbGUpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfZmlsZV9zZW5kX3NpZ2lvdGFzayAoc3RydWN0IHRhc2tfc3RydWN0ICp0c2ssCi0JCQkJICAgICAgc3RydWN0IGZvd25fc3RydWN0ICpmb3duLCBpbnQgc2lnKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X2ZpbGVfcmVjZWl2ZSAoc3RydWN0IGZpbGUgKmZpbGUpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfZGVudHJ5X29wZW4gKHN0cnVjdCBmaWxlICpmaWxlKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3Rhc2tfY3JlYXRlICh1bnNpZ25lZCBsb25nIGNsb25lX2ZsYWdzKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3Rhc2tfYWxsb2Nfc2VjdXJpdHkgKHN0cnVjdCB0YXNrX3N0cnVjdCAqcCkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIHZvaWQgZHVtbXlfdGFza19mcmVlX3NlY3VyaXR5IChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnApCi17Ci0JcmV0dXJuOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3Rhc2tfc2V0dWlkICh1aWRfdCBpZDAsIHVpZF90IGlkMSwgdWlkX3QgaWQyLCBpbnQgZmxhZ3MpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfdGFza19wb3N0X3NldHVpZCAodWlkX3QgaWQwLCB1aWRfdCBpZDEsIHVpZF90IGlkMiwgaW50IGZsYWdzKQotewotCWR1bW15X2NhcGdldChjdXJyZW50LCAmY3VycmVudC0+Y2FwX2VmZmVjdGl2ZSwgJmN1cnJlbnQtPmNhcF9pbmhlcml0YWJsZSwgJmN1cnJlbnQtPmNhcF9wZXJtaXR0ZWQpOwotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3Rhc2tfc2V0Z2lkIChnaWRfdCBpZDAsIGdpZF90IGlkMSwgZ2lkX3QgaWQyLCBpbnQgZmxhZ3MpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfdGFza19zZXRwZ2lkIChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnAsIHBpZF90IHBnaWQpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfdGFza19nZXRwZ2lkIChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnApCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfdGFza19nZXRzaWQgKHN0cnVjdCB0YXNrX3N0cnVjdCAqcCkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIHZvaWQgZHVtbXlfdGFza19nZXRzZWNpZCAoc3RydWN0IHRhc2tfc3RydWN0ICpwLCB1MzIgKnNlY2lkKQotewotCSpzZWNpZCA9IDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfdGFza19zZXRncm91cHMgKHN0cnVjdCBncm91cF9pbmZvICpncm91cF9pbmZvKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3Rhc2tfc2V0bmljZSAoc3RydWN0IHRhc2tfc3RydWN0ICpwLCBpbnQgbmljZSkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV90YXNrX3NldGlvcHJpbyAoc3RydWN0IHRhc2tfc3RydWN0ICpwLCBpbnQgaW9wcmlvKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3Rhc2tfZ2V0aW9wcmlvIChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnApCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfdGFza19zZXRybGltaXQgKHVuc2lnbmVkIGludCByZXNvdXJjZSwgc3RydWN0IHJsaW1pdCAqbmV3X3JsaW0pCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfdGFza19zZXRzY2hlZHVsZXIgKHN0cnVjdCB0YXNrX3N0cnVjdCAqcCwgaW50IHBvbGljeSwKLQkJCQkgICAgc3RydWN0IHNjaGVkX3BhcmFtICpscCkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV90YXNrX2dldHNjaGVkdWxlciAoc3RydWN0IHRhc2tfc3RydWN0ICpwKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3Rhc2tfbW92ZW1lbW9yeSAoc3RydWN0IHRhc2tfc3RydWN0ICpwKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3Rhc2tfd2FpdCAoc3RydWN0IHRhc2tfc3RydWN0ICpwKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3Rhc2tfa2lsbCAoc3RydWN0IHRhc2tfc3RydWN0ICpwLCBzdHJ1Y3Qgc2lnaW5mbyAqaW5mbywKLQkJCSAgICBpbnQgc2lnLCB1MzIgc2VjaWQpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfdGFza19wcmN0bCAoaW50IG9wdGlvbiwgdW5zaWduZWQgbG9uZyBhcmcyLCB1bnNpZ25lZCBsb25nIGFyZzMsCi0JCQkgICAgIHVuc2lnbmVkIGxvbmcgYXJnNCwgdW5zaWduZWQgbG9uZyBhcmc1LCBsb25nICpyY19wKQotewotCXN3aXRjaCAob3B0aW9uKSB7Ci0JY2FzZSBQUl9DQVBCU0VUX1JFQUQ6Ci0JCSpyY19wID0gKGNhcF92YWxpZChhcmcyKSA/IDEgOiAtRUlOVkFMKTsKLQkJYnJlYWs7Ci0JY2FzZSBQUl9HRVRfS0VFUENBUFM6Ci0JCSpyY19wID0gaXNzZWN1cmUoU0VDVVJFX0tFRVBfQ0FQUyk7Ci0JCWJyZWFrOwotCWNhc2UgUFJfU0VUX0tFRVBDQVBTOgotCQlpZiAoYXJnMiA+IDEpCi0JCQkqcmNfcCA9IC1FSU5WQUw7Ci0JCWVsc2UgaWYgKGFyZzIpCi0JCQljdXJyZW50LT5zZWN1cmViaXRzIHw9IGlzc2VjdXJlX21hc2soU0VDVVJFX0tFRVBfQ0FQUyk7Ci0JCWVsc2UKLQkJCWN1cnJlbnQtPnNlY3VyZWJpdHMgJj0KLQkJCQl+aXNzZWN1cmVfbWFzayhTRUNVUkVfS0VFUF9DQVBTKTsKLQkJYnJlYWs7Ci0JZGVmYXVsdDoKLQkJcmV0dXJuIDA7Ci0JfQotCi0JcmV0dXJuIDE7Ci19Ci0KLXN0YXRpYyB2b2lkIGR1bW15X3Rhc2tfcmVwYXJlbnRfdG9faW5pdCAoc3RydWN0IHRhc2tfc3RydWN0ICpwKQotewotCXAtPmV1aWQgPSBwLT5mc3VpZCA9IDA7Ci0JcmV0dXJuOwotfQotCi1zdGF0aWMgdm9pZCBkdW1teV90YXNrX3RvX2lub2RlKHN0cnVjdCB0YXNrX3N0cnVjdCAqcCwgc3RydWN0IGlub2RlICppbm9kZSkKLXsgfQotCi1zdGF0aWMgaW50IGR1bW15X2lwY19wZXJtaXNzaW9uIChzdHJ1Y3Qga2Vybl9pcGNfcGVybSAqaXBjcCwgc2hvcnQgZmxhZykKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIHZvaWQgZHVtbXlfaXBjX2dldHNlY2lkKHN0cnVjdCBrZXJuX2lwY19wZXJtICppcGNwLCB1MzIgKnNlY2lkKQotewotCSpzZWNpZCA9IDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfbXNnX21zZ19hbGxvY19zZWN1cml0eSAoc3RydWN0IG1zZ19tc2cgKm1zZykKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIHZvaWQgZHVtbXlfbXNnX21zZ19mcmVlX3NlY3VyaXR5IChzdHJ1Y3QgbXNnX21zZyAqbXNnKQotewotCXJldHVybjsKLX0KLQotc3RhdGljIGludCBkdW1teV9tc2dfcXVldWVfYWxsb2Nfc2VjdXJpdHkgKHN0cnVjdCBtc2dfcXVldWUgKm1zcSkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIHZvaWQgZHVtbXlfbXNnX3F1ZXVlX2ZyZWVfc2VjdXJpdHkgKHN0cnVjdCBtc2dfcXVldWUgKm1zcSkKLXsKLQlyZXR1cm47Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfbXNnX3F1ZXVlX2Fzc29jaWF0ZSAoc3RydWN0IG1zZ19xdWV1ZSAqbXNxLCAKLQkJCQkgICAgICBpbnQgbXNxZmxnKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X21zZ19xdWV1ZV9tc2djdGwgKHN0cnVjdCBtc2dfcXVldWUgKm1zcSwgaW50IGNtZCkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9tc2dfcXVldWVfbXNnc25kIChzdHJ1Y3QgbXNnX3F1ZXVlICptc3EsIHN0cnVjdCBtc2dfbXNnICptc2csCi0JCQkJICAgaW50IG1zZ2ZsZykKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9tc2dfcXVldWVfbXNncmN2IChzdHJ1Y3QgbXNnX3F1ZXVlICptc3EsIHN0cnVjdCBtc2dfbXNnICptc2csCi0JCQkJICAgc3RydWN0IHRhc2tfc3RydWN0ICp0YXJnZXQsIGxvbmcgdHlwZSwKLQkJCQkgICBpbnQgbW9kZSkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9zaG1fYWxsb2Nfc2VjdXJpdHkgKHN0cnVjdCBzaG1pZF9rZXJuZWwgKnNocCkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIHZvaWQgZHVtbXlfc2htX2ZyZWVfc2VjdXJpdHkgKHN0cnVjdCBzaG1pZF9rZXJuZWwgKnNocCkKLXsKLQlyZXR1cm47Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfc2htX2Fzc29jaWF0ZSAoc3RydWN0IHNobWlkX2tlcm5lbCAqc2hwLCBpbnQgc2htZmxnKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3NobV9zaG1jdGwgKHN0cnVjdCBzaG1pZF9rZXJuZWwgKnNocCwgaW50IGNtZCkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9zaG1fc2htYXQgKHN0cnVjdCBzaG1pZF9rZXJuZWwgKnNocCwgY2hhciBfX3VzZXIgKnNobWFkZHIsCi0JCQkgICAgaW50IHNobWZsZykKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9zZW1fYWxsb2Nfc2VjdXJpdHkgKHN0cnVjdCBzZW1fYXJyYXkgKnNtYSkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIHZvaWQgZHVtbXlfc2VtX2ZyZWVfc2VjdXJpdHkgKHN0cnVjdCBzZW1fYXJyYXkgKnNtYSkKLXsKLQlyZXR1cm47Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfc2VtX2Fzc29jaWF0ZSAoc3RydWN0IHNlbV9hcnJheSAqc21hLCBpbnQgc2VtZmxnKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3NlbV9zZW1jdGwgKHN0cnVjdCBzZW1fYXJyYXkgKnNtYSwgaW50IGNtZCkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9zZW1fc2Vtb3AgKHN0cnVjdCBzZW1fYXJyYXkgKnNtYSwgCi0JCQkgICAgc3RydWN0IHNlbWJ1ZiAqc29wcywgdW5zaWduZWQgbnNvcHMsIGludCBhbHRlcikKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9uZXRsaW5rX3NlbmQgKHN0cnVjdCBzb2NrICpzaywgc3RydWN0IHNrX2J1ZmYgKnNrYikKLXsKLQlORVRMSU5LX0NCKHNrYikuZWZmX2NhcCA9IGN1cnJlbnQtPmNhcF9lZmZlY3RpdmU7Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfbmV0bGlua19yZWN2IChzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBpbnQgY2FwKQotewotCWlmICghY2FwX3JhaXNlZCAoTkVUTElOS19DQiAoc2tiKS5lZmZfY2FwLCBjYXApKQotCQlyZXR1cm4gLUVQRVJNOwotCXJldHVybiAwOwotfQotCi0jaWZkZWYgQ09ORklHX1NFQ1VSSVRZX05FVFdPUksKLXN0YXRpYyBpbnQgZHVtbXlfdW5peF9zdHJlYW1fY29ubmVjdCAoc3RydWN0IHNvY2tldCAqc29jaywKLQkJCQkgICAgICBzdHJ1Y3Qgc29ja2V0ICpvdGhlciwKLQkJCQkgICAgICBzdHJ1Y3Qgc29jayAqbmV3c2spCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfdW5peF9tYXlfc2VuZCAoc3RydWN0IHNvY2tldCAqc29jaywKLQkJCQlzdHJ1Y3Qgc29ja2V0ICpvdGhlcikKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9zb2NrZXRfY3JlYXRlIChpbnQgZmFtaWx5LCBpbnQgdHlwZSwKLQkJCQlpbnQgcHJvdG9jb2wsIGludCBrZXJuKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3NvY2tldF9wb3N0X2NyZWF0ZSAoc3RydWN0IHNvY2tldCAqc29jaywgaW50IGZhbWlseSwgaW50IHR5cGUsCi0JCQkJICAgICBpbnQgcHJvdG9jb2wsIGludCBrZXJuKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3NvY2tldF9iaW5kIChzdHJ1Y3Qgc29ja2V0ICpzb2NrLCBzdHJ1Y3Qgc29ja2FkZHIgKmFkZHJlc3MsCi0JCQkgICAgICBpbnQgYWRkcmxlbikKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9zb2NrZXRfY29ubmVjdCAoc3RydWN0IHNvY2tldCAqc29jaywgc3RydWN0IHNvY2thZGRyICphZGRyZXNzLAotCQkJCSBpbnQgYWRkcmxlbikKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9zb2NrZXRfbGlzdGVuIChzdHJ1Y3Qgc29ja2V0ICpzb2NrLCBpbnQgYmFja2xvZykKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9zb2NrZXRfYWNjZXB0IChzdHJ1Y3Qgc29ja2V0ICpzb2NrLCBzdHJ1Y3Qgc29ja2V0ICpuZXdzb2NrKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgdm9pZCBkdW1teV9zb2NrZXRfcG9zdF9hY2NlcHQgKHN0cnVjdCBzb2NrZXQgKnNvY2ssIAotCQkJCSAgICAgIHN0cnVjdCBzb2NrZXQgKm5ld3NvY2spCi17Ci0JcmV0dXJuOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3NvY2tldF9zZW5kbXNnIChzdHJ1Y3Qgc29ja2V0ICpzb2NrLCBzdHJ1Y3QgbXNnaGRyICptc2csCi0JCQkJIGludCBzaXplKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3NvY2tldF9yZWN2bXNnIChzdHJ1Y3Qgc29ja2V0ICpzb2NrLCBzdHJ1Y3QgbXNnaGRyICptc2csCi0JCQkJIGludCBzaXplLCBpbnQgZmxhZ3MpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfc29ja2V0X2dldHNvY2tuYW1lIChzdHJ1Y3Qgc29ja2V0ICpzb2NrKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3NvY2tldF9nZXRwZWVybmFtZSAoc3RydWN0IHNvY2tldCAqc29jaykKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9zb2NrZXRfc2V0c29ja29wdCAoc3RydWN0IHNvY2tldCAqc29jaywgaW50IGxldmVsLCBpbnQgb3B0bmFtZSkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9zb2NrZXRfZ2V0c29ja29wdCAoc3RydWN0IHNvY2tldCAqc29jaywgaW50IGxldmVsLCBpbnQgb3B0bmFtZSkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9zb2NrZXRfc2h1dGRvd24gKHN0cnVjdCBzb2NrZXQgKnNvY2ssIGludCBob3cpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfc29ja2V0X3NvY2tfcmN2X3NrYiAoc3RydWN0IHNvY2sgKnNrLCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3NvY2tldF9nZXRwZWVyc2VjX3N0cmVhbShzdHJ1Y3Qgc29ja2V0ICpzb2NrLCBjaGFyIF9fdXNlciAqb3B0dmFsLAotCQkJCQkgIGludCBfX3VzZXIgKm9wdGxlbiwgdW5zaWduZWQgbGVuKQotewotCXJldHVybiAtRU5PUFJPVE9PUFQ7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfc29ja2V0X2dldHBlZXJzZWNfZGdyYW0oc3RydWN0IHNvY2tldCAqc29jaywgc3RydWN0IHNrX2J1ZmYgKnNrYiwgdTMyICpzZWNpZCkKLXsKLQlyZXR1cm4gLUVOT1BST1RPT1BUOwotfQotCi1zdGF0aWMgaW5saW5lIGludCBkdW1teV9za19hbGxvY19zZWN1cml0eSAoc3RydWN0IHNvY2sgKnNrLCBpbnQgZmFtaWx5LCBnZnBfdCBwcmlvcml0eSkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGlubGluZSB2b2lkIGR1bW15X3NrX2ZyZWVfc2VjdXJpdHkgKHN0cnVjdCBzb2NrICpzaykKLXsKLX0KLQotc3RhdGljIGlubGluZSB2b2lkIGR1bW15X3NrX2Nsb25lX3NlY3VyaXR5IChjb25zdCBzdHJ1Y3Qgc29jayAqc2ssIHN0cnVjdCBzb2NrICpuZXdzaykKLXsKLX0KLQotc3RhdGljIGlubGluZSB2b2lkIGR1bW15X3NrX2dldHNlY2lkKHN0cnVjdCBzb2NrICpzaywgdTMyICpzZWNpZCkKLXsKLX0KLQotc3RhdGljIGlubGluZSB2b2lkIGR1bW15X3NvY2tfZ3JhZnQoc3RydWN0IHNvY2sqIHNrLCBzdHJ1Y3Qgc29ja2V0ICpwYXJlbnQpCi17Ci19Ci0KLXN0YXRpYyBpbmxpbmUgaW50IGR1bW15X2luZXRfY29ubl9yZXF1ZXN0KHN0cnVjdCBzb2NrICpzaywKLQkJCXN0cnVjdCBza19idWZmICpza2IsIHN0cnVjdCByZXF1ZXN0X3NvY2sgKnJlcSkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGlubGluZSB2b2lkIGR1bW15X2luZXRfY3NrX2Nsb25lKHN0cnVjdCBzb2NrICpuZXdzaywKLQkJCWNvbnN0IHN0cnVjdCByZXF1ZXN0X3NvY2sgKnJlcSkKLXsKLX0KLQotc3RhdGljIGlubGluZSB2b2lkIGR1bW15X2luZXRfY29ubl9lc3RhYmxpc2hlZChzdHJ1Y3Qgc29jayAqc2ssCi0JCQlzdHJ1Y3Qgc2tfYnVmZiAqc2tiKQotewotfQotCi1zdGF0aWMgaW5saW5lIHZvaWQgZHVtbXlfcmVxX2NsYXNzaWZ5X2Zsb3coY29uc3Qgc3RydWN0IHJlcXVlc3Rfc29jayAqcmVxLAotCQkJc3RydWN0IGZsb3dpICpmbCkKLXsKLX0KLSNlbmRpZgkvKiBDT05GSUdfU0VDVVJJVFlfTkVUV09SSyAqLwotCi0jaWZkZWYgQ09ORklHX1NFQ1VSSVRZX05FVFdPUktfWEZSTQotc3RhdGljIGludCBkdW1teV94ZnJtX3BvbGljeV9hbGxvY19zZWN1cml0eShzdHJ1Y3QgeGZybV9zZWNfY3R4ICoqY3R4cCwKLQkJCQkJICAgIHN0cnVjdCB4ZnJtX3VzZXJfc2VjX2N0eCAqc2VjX2N0eCkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGlubGluZSBpbnQgZHVtbXlfeGZybV9wb2xpY3lfY2xvbmVfc2VjdXJpdHkoc3RydWN0IHhmcm1fc2VjX2N0eCAqb2xkX2N0eCwKLQkJCQkJICAgc3RydWN0IHhmcm1fc2VjX2N0eCAqKm5ld19jdHhwKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgdm9pZCBkdW1teV94ZnJtX3BvbGljeV9mcmVlX3NlY3VyaXR5KHN0cnVjdCB4ZnJtX3NlY19jdHggKmN0eCkKLXsKLX0KLQotc3RhdGljIGludCBkdW1teV94ZnJtX3BvbGljeV9kZWxldGVfc2VjdXJpdHkoc3RydWN0IHhmcm1fc2VjX2N0eCAqY3R4KQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3hmcm1fc3RhdGVfYWxsb2Nfc2VjdXJpdHkoc3RydWN0IHhmcm1fc3RhdGUgKngsCi0Jc3RydWN0IHhmcm1fdXNlcl9zZWNfY3R4ICpzZWNfY3R4LCB1MzIgc2VjaWQpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyB2b2lkIGR1bW15X3hmcm1fc3RhdGVfZnJlZV9zZWN1cml0eShzdHJ1Y3QgeGZybV9zdGF0ZSAqeCkKLXsKLX0KLQotc3RhdGljIGludCBkdW1teV94ZnJtX3N0YXRlX2RlbGV0ZV9zZWN1cml0eShzdHJ1Y3QgeGZybV9zdGF0ZSAqeCkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV94ZnJtX3BvbGljeV9sb29rdXAoc3RydWN0IHhmcm1fc2VjX2N0eCAqY3R4LAotCQkJCSAgICB1MzIgc2tfc2lkLCB1OCBkaXIpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfeGZybV9zdGF0ZV9wb2xfZmxvd19tYXRjaChzdHJ1Y3QgeGZybV9zdGF0ZSAqeCwKLQkJCQlzdHJ1Y3QgeGZybV9wb2xpY3kgKnhwLCBzdHJ1Y3QgZmxvd2kgKmZsKQotewotCXJldHVybiAxOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3hmcm1fZGVjb2RlX3Nlc3Npb24oc3RydWN0IHNrX2J1ZmYgKnNrYiwgdTMyICpmbCwgaW50IGNrYWxsKQotewotCXJldHVybiAwOwotfQotCi0jZW5kaWYgLyogQ09ORklHX1NFQ1VSSVRZX05FVFdPUktfWEZSTSAqLwotc3RhdGljIGludCBkdW1teV9yZWdpc3Rlcl9zZWN1cml0eSAoY29uc3QgY2hhciAqbmFtZSwgc3RydWN0IHNlY3VyaXR5X29wZXJhdGlvbnMgKm9wcykKLXsKLQlyZXR1cm4gLUVJTlZBTDsKLX0KLQotc3RhdGljIHZvaWQgZHVtbXlfZF9pbnN0YW50aWF0ZSAoc3RydWN0IGRlbnRyeSAqZGVudHJ5LCBzdHJ1Y3QgaW5vZGUgKmlub2RlKQotewotCXJldHVybjsKLX0KLQotc3RhdGljIGludCBkdW1teV9nZXRwcm9jYXR0cihzdHJ1Y3QgdGFza19zdHJ1Y3QgKnAsIGNoYXIgKm5hbWUsIGNoYXIgKip2YWx1ZSkKLXsKLQlyZXR1cm4gLUVJTlZBTDsKLX0KLQotc3RhdGljIGludCBkdW1teV9zZXRwcm9jYXR0cihzdHJ1Y3QgdGFza19zdHJ1Y3QgKnAsIGNoYXIgKm5hbWUsIHZvaWQgKnZhbHVlLCBzaXplX3Qgc2l6ZSkKLXsKLQlyZXR1cm4gLUVJTlZBTDsKLX0KLQotc3RhdGljIGludCBkdW1teV9zZWNpZF90b19zZWNjdHgodTMyIHNlY2lkLCBjaGFyICoqc2VjZGF0YSwgdTMyICpzZWNsZW4pCi17Ci0JcmV0dXJuIC1FT1BOT1RTVVBQOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3NlY2N0eF90b19zZWNpZChjb25zdCBjaGFyICpzZWNkYXRhLCB1MzIgc2VjbGVuLCB1MzIgKnNlY2lkKQotewotCXJldHVybiAtRU9QTk9UU1VQUDsKLX0KLQotc3RhdGljIHZvaWQgZHVtbXlfcmVsZWFzZV9zZWNjdHgoY2hhciAqc2VjZGF0YSwgdTMyIHNlY2xlbikKLXsKLX0KLQotI2lmZGVmIENPTkZJR19LRVlTCi1zdGF0aWMgaW5saW5lIGludCBkdW1teV9rZXlfYWxsb2Moc3RydWN0IGtleSAqa2V5LCBzdHJ1Y3QgdGFza19zdHJ1Y3QgKmN0eCwKLQkJCQkgIHVuc2lnbmVkIGxvbmcgZmxhZ3MpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgdm9pZCBkdW1teV9rZXlfZnJlZShzdHJ1Y3Qga2V5ICprZXkpCi17Ci19Ci0KLXN0YXRpYyBpbmxpbmUgaW50IGR1bW15X2tleV9wZXJtaXNzaW9uKGtleV9yZWZfdCBrZXlfcmVmLAotCQkJCSAgICAgICBzdHJ1Y3QgdGFza19zdHJ1Y3QgKmNvbnRleHQsCi0JCQkJICAgICAgIGtleV9wZXJtX3QgcGVybSkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9rZXlfZ2V0c2VjdXJpdHkoc3RydWN0IGtleSAqa2V5LCBjaGFyICoqX2J1ZmZlcikKLXsKLQkqX2J1ZmZlciA9IE5VTEw7Ci0JcmV0dXJuIDA7Ci19Ci0KLSNlbmRpZiAvKiBDT05GSUdfS0VZUyAqLwotCi0jaWZkZWYgQ09ORklHX0FVRElUCi1zdGF0aWMgaW5saW5lIGludCBkdW1teV9hdWRpdF9ydWxlX2luaXQodTMyIGZpZWxkLCB1MzIgb3AsIGNoYXIgKnJ1bGVzdHIsCi0JCQkJCXZvaWQgKipsc21ydWxlKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW5saW5lIGludCBkdW1teV9hdWRpdF9ydWxlX2tub3duKHN0cnVjdCBhdWRpdF9rcnVsZSAqa3J1bGUpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgaW50IGR1bW15X2F1ZGl0X3J1bGVfbWF0Y2godTMyIHNlY2lkLCB1MzIgZmllbGQsIHUzMiBvcCwKLQkJCQkJIHZvaWQgKmxzbXJ1bGUsCi0JCQkJCSBzdHJ1Y3QgYXVkaXRfY29udGV4dCAqYWN0eCkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGlubGluZSB2b2lkIGR1bW15X2F1ZGl0X3J1bGVfZnJlZSh2b2lkICpsc21ydWxlKQoteyB9Ci0KLSNlbmRpZiAvKiBDT05GSUdfQVVESVQgKi8KLQotc3RydWN0IHNlY3VyaXR5X29wZXJhdGlvbnMgZHVtbXlfc2VjdXJpdHlfb3BzID0gewotCS5uYW1lID0gImR1bW15IiwKLX07Ci0KLSNkZWZpbmUgc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBmdW5jdGlvbikJCQkJXAotCWRvIHsJCQkJCQkJCVwKLQkJaWYgKCFvcHMtPmZ1bmN0aW9uKSB7CQkJCQlcCi0JCQlvcHMtPmZ1bmN0aW9uID0gZHVtbXlfIyNmdW5jdGlvbjsJCVwKLQkJCXByX2RlYnVnKCJIYWQgdG8gb3ZlcnJpZGUgdGhlICIgI2Z1bmN0aW9uCVwKLQkJCQkgIiBzZWN1cml0eSBvcGVyYXRpb24gd2l0aCB0aGUgZHVtbXkgb25lLlxuIik7XAotCQkJfQkJCQkJCVwKLQl9IHdoaWxlICgwKQotCi12b2lkIHNlY3VyaXR5X2ZpeHVwX29wcyAoc3RydWN0IHNlY3VyaXR5X29wZXJhdGlvbnMgKm9wcykKLXsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHB0cmFjZSk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBjYXBnZXQpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgY2Fwc2V0X2NoZWNrKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGNhcHNldF9zZXQpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgYWNjdCk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBjYXBhYmxlKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHF1b3RhY3RsKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHF1b3RhX29uKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHN5c2N0bCk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBzeXNsb2cpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgc2V0dGltZSk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCB2bV9lbm91Z2hfbWVtb3J5KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGJwcm1fYWxsb2Nfc2VjdXJpdHkpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgYnBybV9mcmVlX3NlY3VyaXR5KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGJwcm1fYXBwbHlfY3JlZHMpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgYnBybV9wb3N0X2FwcGx5X2NyZWRzKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGJwcm1fc2V0X3NlY3VyaXR5KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGJwcm1fY2hlY2tfc2VjdXJpdHkpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgYnBybV9zZWN1cmVleGVjKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHNiX2FsbG9jX3NlY3VyaXR5KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHNiX2ZyZWVfc2VjdXJpdHkpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgc2JfY29weV9kYXRhKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHNiX2tlcm5fbW91bnQpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgc2Jfc3RhdGZzKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHNiX21vdW50KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHNiX2NoZWNrX3NiKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHNiX3Vtb3VudCk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBzYl91bW91bnRfY2xvc2UpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgc2JfdW1vdW50X2J1c3kpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgc2JfcG9zdF9yZW1vdW50KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHNiX3Bvc3RfYWRkbW91bnQpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgc2JfcGl2b3Ryb290KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHNiX3Bvc3RfcGl2b3Ryb290KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHNiX2dldF9tbnRfb3B0cyk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBzYl9zZXRfbW50X29wdHMpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgc2JfY2xvbmVfbW50X29wdHMpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgc2JfcGFyc2Vfb3B0c19zdHIpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgaW5vZGVfYWxsb2Nfc2VjdXJpdHkpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgaW5vZGVfZnJlZV9zZWN1cml0eSk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBpbm9kZV9pbml0X3NlY3VyaXR5KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGlub2RlX2NyZWF0ZSk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBpbm9kZV9saW5rKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGlub2RlX3VubGluayk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBpbm9kZV9zeW1saW5rKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGlub2RlX21rZGlyKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGlub2RlX3JtZGlyKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGlub2RlX21rbm9kKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGlub2RlX3JlbmFtZSk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBpbm9kZV9yZWFkbGluayk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBpbm9kZV9mb2xsb3dfbGluayk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBpbm9kZV9wZXJtaXNzaW9uKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGlub2RlX3NldGF0dHIpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgaW5vZGVfZ2V0YXR0cik7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBpbm9kZV9kZWxldGUpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgaW5vZGVfc2V0eGF0dHIpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgaW5vZGVfcG9zdF9zZXR4YXR0cik7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBpbm9kZV9nZXR4YXR0cik7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBpbm9kZV9saXN0eGF0dHIpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgaW5vZGVfcmVtb3ZleGF0dHIpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgaW5vZGVfbmVlZF9raWxscHJpdik7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBpbm9kZV9raWxscHJpdik7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBpbm9kZV9nZXRzZWN1cml0eSk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBpbm9kZV9zZXRzZWN1cml0eSk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBpbm9kZV9saXN0c2VjdXJpdHkpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgaW5vZGVfZ2V0c2VjaWQpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgZmlsZV9wZXJtaXNzaW9uKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGZpbGVfYWxsb2Nfc2VjdXJpdHkpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgZmlsZV9mcmVlX3NlY3VyaXR5KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGZpbGVfaW9jdGwpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgZmlsZV9tbWFwKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGZpbGVfbXByb3RlY3QpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgZmlsZV9sb2NrKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGZpbGVfZmNudGwpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgZmlsZV9zZXRfZm93bmVyKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGZpbGVfc2VuZF9zaWdpb3Rhc2spOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgZmlsZV9yZWNlaXZlKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGRlbnRyeV9vcGVuKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHRhc2tfY3JlYXRlKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHRhc2tfYWxsb2Nfc2VjdXJpdHkpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgdGFza19mcmVlX3NlY3VyaXR5KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHRhc2tfc2V0dWlkKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHRhc2tfcG9zdF9zZXR1aWQpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgdGFza19zZXRnaWQpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgdGFza19zZXRwZ2lkKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHRhc2tfZ2V0cGdpZCk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCB0YXNrX2dldHNpZCk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCB0YXNrX2dldHNlY2lkKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHRhc2tfc2V0Z3JvdXBzKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHRhc2tfc2V0bmljZSk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCB0YXNrX3NldGlvcHJpbyk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCB0YXNrX2dldGlvcHJpbyk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCB0YXNrX3NldHJsaW1pdCk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCB0YXNrX3NldHNjaGVkdWxlcik7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCB0YXNrX2dldHNjaGVkdWxlcik7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCB0YXNrX21vdmVtZW1vcnkpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgdGFza193YWl0KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHRhc2tfa2lsbCk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCB0YXNrX3ByY3RsKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHRhc2tfcmVwYXJlbnRfdG9faW5pdCk7Ci0gCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgdGFza190b19pbm9kZSk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBpcGNfcGVybWlzc2lvbik7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBpcGNfZ2V0c2VjaWQpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgbXNnX21zZ19hbGxvY19zZWN1cml0eSk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBtc2dfbXNnX2ZyZWVfc2VjdXJpdHkpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgbXNnX3F1ZXVlX2FsbG9jX3NlY3VyaXR5KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIG1zZ19xdWV1ZV9mcmVlX3NlY3VyaXR5KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIG1zZ19xdWV1ZV9hc3NvY2lhdGUpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgbXNnX3F1ZXVlX21zZ2N0bCk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBtc2dfcXVldWVfbXNnc25kKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIG1zZ19xdWV1ZV9tc2dyY3YpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgc2htX2FsbG9jX3NlY3VyaXR5KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHNobV9mcmVlX3NlY3VyaXR5KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHNobV9hc3NvY2lhdGUpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgc2htX3NobWN0bCk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBzaG1fc2htYXQpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgc2VtX2FsbG9jX3NlY3VyaXR5KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHNlbV9mcmVlX3NlY3VyaXR5KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHNlbV9hc3NvY2lhdGUpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgc2VtX3NlbWN0bCk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBzZW1fc2Vtb3ApOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgbmV0bGlua19zZW5kKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIG5ldGxpbmtfcmVjdik7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCByZWdpc3Rlcl9zZWN1cml0eSk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBkX2luc3RhbnRpYXRlKTsKLSAJc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBnZXRwcm9jYXR0cik7Ci0gCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgc2V0cHJvY2F0dHIpOwotIAlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHNlY2lkX3RvX3NlY2N0eCk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBzZWNjdHhfdG9fc2VjaWQpOwotIAlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHJlbGVhc2Vfc2VjY3R4KTsKLSNpZmRlZiBDT05GSUdfU0VDVVJJVFlfTkVUV09SSwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgdW5peF9zdHJlYW1fY29ubmVjdCk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCB1bml4X21heV9zZW5kKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHNvY2tldF9jcmVhdGUpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgc29ja2V0X3Bvc3RfY3JlYXRlKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHNvY2tldF9iaW5kKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHNvY2tldF9jb25uZWN0KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHNvY2tldF9saXN0ZW4pOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgc29ja2V0X2FjY2VwdCk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBzb2NrZXRfcG9zdF9hY2NlcHQpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgc29ja2V0X3NlbmRtc2cpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgc29ja2V0X3JlY3Ztc2cpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgc29ja2V0X2dldHNvY2tuYW1lKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHNvY2tldF9nZXRwZWVybmFtZSk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBzb2NrZXRfc2V0c29ja29wdCk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBzb2NrZXRfZ2V0c29ja29wdCk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBzb2NrZXRfc2h1dGRvd24pOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgc29ja2V0X3NvY2tfcmN2X3NrYik7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBzb2NrZXRfZ2V0cGVlcnNlY19zdHJlYW0pOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgc29ja2V0X2dldHBlZXJzZWNfZGdyYW0pOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgc2tfYWxsb2Nfc2VjdXJpdHkpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgc2tfZnJlZV9zZWN1cml0eSk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBza19jbG9uZV9zZWN1cml0eSk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBza19nZXRzZWNpZCk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBzb2NrX2dyYWZ0KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGluZXRfY29ubl9yZXF1ZXN0KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGluZXRfY3NrX2Nsb25lKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGluZXRfY29ubl9lc3RhYmxpc2hlZCk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCByZXFfY2xhc3NpZnlfZmxvdyk7Ci0gI2VuZGlmCS8qIENPTkZJR19TRUNVUklUWV9ORVRXT1JLICovCi0jaWZkZWYgIENPTkZJR19TRUNVUklUWV9ORVRXT1JLX1hGUk0KLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHhmcm1fcG9saWN5X2FsbG9jX3NlY3VyaXR5KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHhmcm1fcG9saWN5X2Nsb25lX3NlY3VyaXR5KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHhmcm1fcG9saWN5X2ZyZWVfc2VjdXJpdHkpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgeGZybV9wb2xpY3lfZGVsZXRlX3NlY3VyaXR5KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHhmcm1fc3RhdGVfYWxsb2Nfc2VjdXJpdHkpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgeGZybV9zdGF0ZV9mcmVlX3NlY3VyaXR5KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHhmcm1fc3RhdGVfZGVsZXRlX3NlY3VyaXR5KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHhmcm1fcG9saWN5X2xvb2t1cCk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCB4ZnJtX3N0YXRlX3BvbF9mbG93X21hdGNoKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHhmcm1fZGVjb2RlX3Nlc3Npb24pOwotI2VuZGlmCS8qIENPTkZJR19TRUNVUklUWV9ORVRXT1JLX1hGUk0gKi8KLSNpZmRlZiBDT05GSUdfS0VZUwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywga2V5X2FsbG9jKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGtleV9mcmVlKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGtleV9wZXJtaXNzaW9uKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGtleV9nZXRzZWN1cml0eSk7Ci0jZW5kaWYJLyogQ09ORklHX0tFWVMgKi8KLSNpZmRlZiBDT05GSUdfQVVESVQKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGF1ZGl0X3J1bGVfaW5pdCk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBhdWRpdF9ydWxlX2tub3duKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGF1ZGl0X3J1bGVfbWF0Y2gpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgYXVkaXRfcnVsZV9mcmVlKTsKLSNlbmRpZgotfQotCmRpZmYgLS1naXQgYS9zZWN1cml0eS9yb290X3BsdWcuYyBiL3NlY3VyaXR5L3Jvb3RfcGx1Zy5jCmluZGV4IGE0MWNmNDIuLmJlMGViZWMgMTAwNjQ0Ci0tLSBhL3NlY3VyaXR5L3Jvb3RfcGx1Zy5jCisrKyBiL3NlY3VyaXR5L3Jvb3RfcGx1Zy5jCkBAIC0yOCw5ICsyOCw2IEBACiAjaW5jbHVkZSA8bGludXgvdXNiLmg+CiAjaW5jbHVkZSA8bGludXgvbW9kdWxlcGFyYW0uaD4KIAotLyogZmxhZyB0byBrZWVwIHRyYWNrIG9mIGhvdyB3ZSB3ZXJlIHJlZ2lzdGVyZWQgKi8KLXN0YXRpYyBpbnQgc2Vjb25kYXJ5OwotCiAvKiBkZWZhdWx0IGlzIGEgZ2VuZXJpYyB0eXBlIG9mIHVzYiB0byBzZXJpYWwgY29udmVydGVyICovCiBzdGF0aWMgaW50IHZlbmRvcl9pZCA9IDB4MDU1NzsKIHN0YXRpYyBpbnQgcHJvZHVjdF9pZCA9IDB4MjAwODsKQEAgLTk3LDEzICs5NCw3IEBACiAJaWYgKHJlZ2lzdGVyX3NlY3VyaXR5ICgmcm9vdHBsdWdfc2VjdXJpdHlfb3BzKSkgewogCQlwcmludGsgKEtFUk5fSU5GTyAKIAkJCSJGYWlsdXJlIHJlZ2lzdGVyaW5nIFJvb3QgUGx1ZyBtb2R1bGUgd2l0aCB0aGUga2VybmVsXG4iKTsKLQkJLyogdHJ5IHJlZ2lzdGVyaW5nIHdpdGggcHJpbWFyeSBtb2R1bGUgKi8KLQkJaWYgKG1vZF9yZWdfc2VjdXJpdHkgKE1ZX05BTUUsICZyb290cGx1Z19zZWN1cml0eV9vcHMpKSB7Ci0JCQlwcmludGsgKEtFUk5fSU5GTyAiRmFpbHVyZSByZWdpc3RlcmluZyBSb290IFBsdWcgIgotCQkJCSIgbW9kdWxlIHdpdGggcHJpbWFyeSBzZWN1cml0eSBtb2R1bGUuXG4iKTsKIAkJCXJldHVybiAtRUlOVkFMOwotCQl9Ci0JCXNlY29uZGFyeSA9IDE7CiAJfQogCXByaW50ayAoS0VSTl9JTkZPICJSb290IFBsdWcgbW9kdWxlIGluaXRpYWxpemVkLCAiCiAJCSJ2ZW5kb3JfaWQgPSAlNC40eCwgcHJvZHVjdCBpZCA9ICU0LjR4XG4iLCB2ZW5kb3JfaWQsIHByb2R1Y3RfaWQpOwpkaWZmIC0tZ2l0IGEvc2VjdXJpdHkvc2VjdXJpdHkuYyBiL3NlY3VyaXR5L3NlY3VyaXR5LmMKaW5kZXggNTk4MzhhOS4uNTlmMjNiNSAxMDA2NDQKLS0tIGEvc2VjdXJpdHkvc2VjdXJpdHkuYworKysgYi9zZWN1cml0eS9zZWN1cml0eS5jCkBAIC0yMCw4ICsyMCw4IEBACiAvKiBCb290LXRpbWUgTFNNIHVzZXIgY2hvaWNlICovCiBzdGF0aWMgX19pbml0ZGF0YSBjaGFyIGNob3Nlbl9sc21bU0VDVVJJVFlfTkFNRV9NQVggKyAxXTsKIAotLyogdGhpbmdzIHRoYXQgbGl2ZSBpbiBkdW1teS5jICovCi1leHRlcm4gc3RydWN0IHNlY3VyaXR5X29wZXJhdGlvbnMgZHVtbXlfc2VjdXJpdHlfb3BzOworLyogdGhpbmdzIHRoYXQgbGl2ZSBpbiBjYXBhYmlsaXR5LmMgKi8KK2V4dGVybiBzdHJ1Y3Qgc2VjdXJpdHlfb3BlcmF0aW9ucyBkZWZhdWx0X3NlY3VyaXR5X29wczsKIGV4dGVybiB2b2lkIHNlY3VyaXR5X2ZpeHVwX29wcyhzdHJ1Y3Qgc2VjdXJpdHlfb3BlcmF0aW9ucyAqb3BzKTsKIAogc3RydWN0IHNlY3VyaXR5X29wZXJhdGlvbnMgKnNlY3VyaXR5X29wczsJLyogSW5pdGlhbGl6ZWQgdG8gTlVMTCAqLwpAQCAtNTcsMTMgKzU3LDggQEAKIHsKIAlwcmludGsoS0VSTl9JTkZPICJTZWN1cml0eSBGcmFtZXdvcmsgaW5pdGlhbGl6ZWRcbiIpOwogCi0JaWYgKHZlcmlmeSgmZHVtbXlfc2VjdXJpdHlfb3BzKSkgewotCQlwcmludGsoS0VSTl9FUlIgIiVzIGNvdWxkIG5vdCB2ZXJpZnkgIgotCQkgICAgICAgImR1bW15X3NlY3VyaXR5X29wcyBzdHJ1Y3R1cmUuXG4iLCBfX2Z1bmNfXyk7Ci0JCXJldHVybiAtRUlPOwotCX0KLQotCXNlY3VyaXR5X29wcyA9ICZkdW1teV9zZWN1cml0eV9vcHM7CisJc2VjdXJpdHlfZml4dXBfb3BzKCZkZWZhdWx0X3NlY3VyaXR5X29wcyk7CisJc2VjdXJpdHlfb3BzID0gJmRlZmF1bHRfc2VjdXJpdHlfb3BzOwogCWRvX3NlY3VyaXR5X2luaXRjYWxscygpOwogCiAJcmV0dXJuIDA7CkBAIC0xMjIsNyArMTE3LDcgQEAKIAkJcmV0dXJuIC1FSU5WQUw7CiAJfQogCi0JaWYgKHNlY3VyaXR5X29wcyAhPSAmZHVtbXlfc2VjdXJpdHlfb3BzKQorCWlmIChzZWN1cml0eV9vcHMgIT0gJmRlZmF1bHRfc2VjdXJpdHlfb3BzKQogCQlyZXR1cm4gLUVBR0FJTjsKIAogCXNlY3VyaXR5X29wcyA9IG9wczsKQEAgLTEzMCw0MCArMTI1LDEyIEBACiAJcmV0dXJuIDA7CiB9CiAKLS8qKgotICogbW9kX3JlZ19zZWN1cml0eSAtIGFsbG93cyBzZWN1cml0eSBtb2R1bGVzIHRvIGJlICJzdGFja2VkIgotICogQG5hbWU6IGEgcG9pbnRlciB0byBhIHN0cmluZyB3aXRoIHRoZSBuYW1lIG9mIHRoZSBzZWN1cml0eV9vcHRpb25zIHRvIGJlIHJlZ2lzdGVyZWQKLSAqIEBvcHM6IGEgcG9pbnRlciB0byB0aGUgc3RydWN0IHNlY3VyaXR5X29wdGlvbnMgdGhhdCBpcyB0byBiZSByZWdpc3RlcmVkCi0gKgotICogVGhpcyBmdW5jdGlvbiBhbGxvd3Mgc2VjdXJpdHkgbW9kdWxlcyB0byBiZSBzdGFja2VkIGlmIHRoZSBjdXJyZW50bHkgbG9hZGVkCi0gKiBzZWN1cml0eSBtb2R1bGUgYWxsb3dzIHRoaXMgdG8gaGFwcGVuLiAgSXQgcGFzc2VzIHRoZSBAbmFtZSBhbmQgQG9wcyB0byB0aGUKLSAqIHJlZ2lzdGVyX3NlY3VyaXR5IGZ1bmN0aW9uIG9mIHRoZSBjdXJyZW50bHkgbG9hZGVkIHNlY3VyaXR5IG1vZHVsZS4KLSAqCi0gKiBUaGUgcmV0dXJuIHZhbHVlIGRlcGVuZHMgb24gdGhlIGN1cnJlbnRseSBsb2FkZWQgc2VjdXJpdHkgbW9kdWxlLCB3aXRoIDAgYXMKLSAqIHN1Y2Nlc3MuCi0gKi8KLWludCBtb2RfcmVnX3NlY3VyaXR5KGNvbnN0IGNoYXIgKm5hbWUsIHN0cnVjdCBzZWN1cml0eV9vcGVyYXRpb25zICpvcHMpCi17Ci0JaWYgKHZlcmlmeShvcHMpKSB7Ci0JCXByaW50ayhLRVJOX0lORk8gIiVzIGNvdWxkIG5vdCB2ZXJpZnkgIgotCQkgICAgICAgInNlY3VyaXR5IG9wZXJhdGlvbnMuXG4iLCBfX2Z1bmNfXyk7Ci0JCXJldHVybiAtRUlOVkFMOwotCX0KLQotCWlmIChvcHMgPT0gc2VjdXJpdHlfb3BzKSB7Ci0JCXByaW50ayhLRVJOX0lORk8gIiVzIHNlY3VyaXR5IG9wZXJhdGlvbnMgIgotCQkgICAgICAgImFscmVhZHkgcmVnaXN0ZXJlZC5cbiIsIF9fZnVuY19fKTsKLQkJcmV0dXJuIC1FSU5WQUw7Ci0JfQotCi0JcmV0dXJuIHNlY3VyaXR5X29wcy0+cmVnaXN0ZXJfc2VjdXJpdHkobmFtZSwgb3BzKTsKLX0KLQogLyogU2VjdXJpdHkgb3BlcmF0aW9ucyAqLwogCi1pbnQgc2VjdXJpdHlfcHRyYWNlKHN0cnVjdCB0YXNrX3N0cnVjdCAqcGFyZW50LCBzdHJ1Y3QgdGFza19zdHJ1Y3QgKmNoaWxkKQoraW50IHNlY3VyaXR5X3B0cmFjZShzdHJ1Y3QgdGFza19zdHJ1Y3QgKnBhcmVudCwgc3RydWN0IHRhc2tfc3RydWN0ICpjaGlsZCwKKwkJICAgIHVuc2lnbmVkIGludCBtb2RlKQogewotCXJldHVybiBzZWN1cml0eV9vcHMtPnB0cmFjZShwYXJlbnQsIGNoaWxkKTsKKwlyZXR1cm4gc2VjdXJpdHlfb3BzLT5wdHJhY2UocGFyZW50LCBjaGlsZCwgbW9kZSk7CiB9CiAKIGludCBzZWN1cml0eV9jYXBnZXQoc3RydWN0IHRhc2tfc3RydWN0ICp0YXJnZXQsCkBAIC0yOTEsNiArMjU4LDExIEBACiAJcmV0dXJuIHNlY3VyaXR5X29wcy0+c2Jfa2Vybl9tb3VudChzYiwgZGF0YSk7CiB9CiAKK2ludCBzZWN1cml0eV9zYl9zaG93X29wdGlvbnMoc3RydWN0IHNlcV9maWxlICptLCBzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiKQoreworCXJldHVybiBzZWN1cml0eV9vcHMtPnNiX3Nob3dfb3B0aW9ucyhtLCBzYik7Cit9CisKIGludCBzZWN1cml0eV9zYl9zdGF0ZnMoc3RydWN0IGRlbnRyeSAqZGVudHJ5KQogewogCXJldHVybiBzZWN1cml0eV9vcHMtPnNiX3N0YXRmcyhkZW50cnkpOwpAQCAtMzQyLDEyICszMTQsNiBAQAogCXNlY3VyaXR5X29wcy0+c2JfcG9zdF9waXZvdHJvb3Qob2xkX3BhdGgsIG5ld19wYXRoKTsKIH0KIAotaW50IHNlY3VyaXR5X3NiX2dldF9tbnRfb3B0cyhjb25zdCBzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiLAotCQkJCXN0cnVjdCBzZWN1cml0eV9tbnRfb3B0cyAqb3B0cykKLXsKLQlyZXR1cm4gc2VjdXJpdHlfb3BzLT5zYl9nZXRfbW50X29wdHMoc2IsIG9wdHMpOwotfQotCiBpbnQgc2VjdXJpdHlfc2Jfc2V0X21udF9vcHRzKHN0cnVjdCBzdXBlcl9ibG9jayAqc2IsCiAJCQkJc3RydWN0IHNlY3VyaXR5X21udF9vcHRzICpvcHRzKQogewpAQCAtODk0LDcgKzg2MCw3IEBACiAKIHZvaWQgc2VjdXJpdHlfcmVsZWFzZV9zZWNjdHgoY2hhciAqc2VjZGF0YSwgdTMyIHNlY2xlbikKIHsKLQlyZXR1cm4gc2VjdXJpdHlfb3BzLT5yZWxlYXNlX3NlY2N0eChzZWNkYXRhLCBzZWNsZW4pOworCXNlY3VyaXR5X29wcy0+cmVsZWFzZV9zZWNjdHgoc2VjZGF0YSwgc2VjbGVuKTsKIH0KIEVYUE9SVF9TWU1CT0woc2VjdXJpdHlfcmVsZWFzZV9zZWNjdHgpOwogCkBAIC0xMDExLDEyICs5NzcsMTIgQEAKIAogdm9pZCBzZWN1cml0eV9za19mcmVlKHN0cnVjdCBzb2NrICpzaykKIHsKLQlyZXR1cm4gc2VjdXJpdHlfb3BzLT5za19mcmVlX3NlY3VyaXR5KHNrKTsKKwlzZWN1cml0eV9vcHMtPnNrX2ZyZWVfc2VjdXJpdHkoc2spOwogfQogCiB2b2lkIHNlY3VyaXR5X3NrX2Nsb25lKGNvbnN0IHN0cnVjdCBzb2NrICpzaywgc3RydWN0IHNvY2sgKm5ld3NrKQogewotCXJldHVybiBzZWN1cml0eV9vcHMtPnNrX2Nsb25lX3NlY3VyaXR5KHNrLCBuZXdzayk7CisJc2VjdXJpdHlfb3BzLT5za19jbG9uZV9zZWN1cml0eShzaywgbmV3c2spOwogfQogCiB2b2lkIHNlY3VyaXR5X3NrX2NsYXNzaWZ5X2Zsb3coc3RydWN0IHNvY2sgKnNrLCBzdHJ1Y3QgZmxvd2kgKmZsKQpkaWZmIC0tZ2l0IGEvc2VjdXJpdHkvc2VsaW51eC9ob29rcy5jIGIvc2VjdXJpdHkvc2VsaW51eC9ob29rcy5jCmluZGV4IDFjODY0YzAuLjYzZjEzMWYgMTAwNjQ0Ci0tLSBhL3NlY3VyaXR5L3NlbGludXgvaG9va3MuYworKysgYi9zZWN1cml0eS9zZWxpbnV4L2hvb2tzLmMKQEAgLTksNyArOSw4IEBACiAgKgkgICAgICBKYW1lcyBNb3JyaXMgPGptb3JyaXNAcmVkaGF0LmNvbT4KICAqCiAgKiAgQ29weXJpZ2h0IChDKSAyMDAxLDIwMDIgTmV0d29ya3MgQXNzb2NpYXRlcyBUZWNobm9sb2d5LCBJbmMuCi0gKiAgQ29weXJpZ2h0IChDKSAyMDAzIFJlZCBIYXQsIEluYy4sIEphbWVzIE1vcnJpcyA8am1vcnJpc0ByZWRoYXQuY29tPgorICogIENvcHlyaWdodCAoQykgMjAwMy0yMDA4IFJlZCBIYXQsIEluYy4sIEphbWVzIE1vcnJpcyA8am1vcnJpc0ByZWRoYXQuY29tPgorICoJCQkJCSAgIEVyaWMgUGFyaXMgPGVwYXJpc0ByZWRoYXQuY29tPgogICogIENvcHlyaWdodCAoQykgMjAwNC0yMDA1IFRydXN0ZWQgQ29tcHV0ZXIgU29sdXRpb25zLCBJbmMuCiAgKgkJCSAgICA8ZGdvZWRkZWxAdHJ1c3RlZGNzLmNvbT4KICAqICBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDcgSGV3bGV0dC1QYWNrYXJkIERldmVsb3BtZW50IENvbXBhbnksIEwuUC4KQEAgLTQyLDkgKzQzLDcgQEAKICNpbmNsdWRlIDxsaW51eC9mZHRhYmxlLmg+CiAjaW5jbHVkZSA8bGludXgvbmFtZWkuaD4KICNpbmNsdWRlIDxsaW51eC9tb3VudC5oPgotI2luY2x1ZGUgPGxpbnV4L2V4dDJfZnMuaD4KICNpbmNsdWRlIDxsaW51eC9wcm9jX2ZzLmg+Ci0jaW5jbHVkZSA8bGludXgva2QuaD4KICNpbmNsdWRlIDxsaW51eC9uZXRmaWx0ZXJfaXB2NC5oPgogI2luY2x1ZGUgPGxpbnV4L25ldGZpbHRlcl9pcHY2Lmg+CiAjaW5jbHVkZSA8bGludXgvdHR5Lmg+CkBAIC01Myw3ICs1Miw3IEBACiAjaW5jbHVkZSA8bmV0L3RjcC5oPgkJLyogc3RydWN0IG9yX2NhbGxhYmxlIHVzZWQgaW4gc29ja19yY3Zfc2tiICovCiAjaW5jbHVkZSA8bmV0L25ldF9uYW1lc3BhY2UuaD4KICNpbmNsdWRlIDxuZXQvbmV0bGFiZWwuaD4KLSNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgorI2luY2x1ZGUgPGxpbnV4L3VhY2Nlc3MuaD4KICNpbmNsdWRlIDxhc20vaW9jdGxzLmg+CiAjaW5jbHVkZSA8YXNtL2F0b21pYy5oPgogI2luY2x1ZGUgPGxpbnV4L2JpdG9wcy5oPgpAQCAtMTA0LDcgKzEwMyw5IEBACiAKIHN0YXRpYyBpbnQgX19pbml0IGVuZm9yY2luZ19zZXR1cChjaGFyICpzdHIpCiB7Ci0Jc2VsaW51eF9lbmZvcmNpbmcgPSBzaW1wbGVfc3RydG9sKHN0ciwgTlVMTCwgMCk7CisJdW5zaWduZWQgbG9uZyBlbmZvcmNpbmc7CisJaWYgKCFzdHJpY3Rfc3RydG91bChzdHIsIDAsICZlbmZvcmNpbmcpKQorCQlzZWxpbnV4X2VuZm9yY2luZyA9IGVuZm9yY2luZyA/IDEgOiAwOwogCXJldHVybiAxOwogfQogX19zZXR1cCgiZW5mb3JjaW5nPSIsIGVuZm9yY2luZ19zZXR1cCk7CkBAIC0xMTUsNyArMTE2LDkgQEAKIAogc3RhdGljIGludCBfX2luaXQgc2VsaW51eF9lbmFibGVkX3NldHVwKGNoYXIgKnN0cikKIHsKLQlzZWxpbnV4X2VuYWJsZWQgPSBzaW1wbGVfc3RydG9sKHN0ciwgTlVMTCwgMCk7CisJdW5zaWduZWQgbG9uZyBlbmFibGVkOworCWlmICghc3RyaWN0X3N0cnRvdWwoc3RyLCAwLCAmZW5hYmxlZCkpCisJCXNlbGludXhfZW5hYmxlZCA9IGVuYWJsZWQgPyAxIDogMDsKIAlyZXR1cm4gMTsKIH0KIF9fc2V0dXAoInNlbGludXg9Iiwgc2VsaW51eF9lbmFibGVkX3NldHVwKTsKQEAgLTEyMywxMyArMTI2LDExIEBACiBpbnQgc2VsaW51eF9lbmFibGVkID0gMTsKICNlbmRpZgogCi0vKiBPcmlnaW5hbCAoZHVtbXkpIHNlY3VyaXR5IG1vZHVsZS4gKi8KLXN0YXRpYyBzdHJ1Y3Qgc2VjdXJpdHlfb3BlcmF0aW9ucyAqb3JpZ2luYWxfb3BzOwogCi0vKiBNaW5pbWFsIHN1cHBvcnQgZm9yIGEgc2Vjb25kYXJ5IHNlY3VyaXR5IG1vZHVsZSwKLSAgIGp1c3QgdG8gYWxsb3cgdGhlIHVzZSBvZiB0aGUgZHVtbXkgb3IgY2FwYWJpbGl0eSBtb2R1bGVzLgotICAgVGhlIG93bHNtIG1vZHVsZSBjYW4gYWx0ZXJuYXRpdmVseSBiZSB1c2VkIGFzIGEgc2Vjb25kYXJ5Ci0gICBtb2R1bGUgYXMgbG9uZyBhcyBDT05GSUdfT1dMU01fRkQgaXMgbm90IGVuYWJsZWQuICovCisvKgorICogTWluaW1hbCBzdXBwb3J0IGZvciBhIHNlY29uZGFyeSBzZWN1cml0eSBtb2R1bGUsCisgKiBqdXN0IHRvIGFsbG93IHRoZSB1c2Ugb2YgdGhlIGNhcGFiaWxpdHkgbW9kdWxlLgorICovCiBzdGF0aWMgc3RydWN0IHNlY3VyaXR5X29wZXJhdGlvbnMgKnNlY29uZGFyeV9vcHM7CiAKIC8qIExpc3RzIG9mIGlub2RlIGFuZCBzdXBlcmJsb2NrIHNlY3VyaXR5IHN0cnVjdHVyZXMgaW5pdGlhbGl6ZWQKQEAgLTU5NCw3ICs1OTUsNyBAQAogCSAqLwogCWlmIChzYnNlYy0+aW5pdGlhbGl6ZWQgJiYgKHNiLT5zX3R5cGUtPmZzX2ZsYWdzICYgRlNfQklOQVJZX01PVU5UREFUQSkKIAkgICAgJiYgKG51bV9vcHRzID09IDApKQotCSAgICAgICAgZ290byBvdXQ7CisJCWdvdG8gb3V0OwogCiAJLyoKIAkgKiBwYXJzZSB0aGUgbW91bnQgb3B0aW9ucywgY2hlY2sgaWYgdGhleSBhcmUgdmFsaWQgc2lkcy4KQEAgLTk1Niw2ICs5NTcsNTcgQEAKIAlyZXR1cm4gcmM7CiB9CiAKK3ZvaWQgc2VsaW51eF93cml0ZV9vcHRzKHN0cnVjdCBzZXFfZmlsZSAqbSwgc3RydWN0IHNlY3VyaXR5X21udF9vcHRzICpvcHRzKQoreworCWludCBpOworCWNoYXIgKnByZWZpeDsKKworCWZvciAoaSA9IDA7IGkgPCBvcHRzLT5udW1fbW50X29wdHM7IGkrKykgeworCQljaGFyICpoYXNfY29tbWEgPSBzdHJjaHIob3B0cy0+bW50X29wdHNbaV0sICcsJyk7CisKKwkJc3dpdGNoIChvcHRzLT5tbnRfb3B0c19mbGFnc1tpXSkgeworCQljYXNlIENPTlRFWFRfTU5UOgorCQkJcHJlZml4ID0gQ09OVEVYVF9TVFI7CisJCQlicmVhazsKKwkJY2FzZSBGU0NPTlRFWFRfTU5UOgorCQkJcHJlZml4ID0gRlNDT05URVhUX1NUUjsKKwkJCWJyZWFrOworCQljYXNlIFJPT1RDT05URVhUX01OVDoKKwkJCXByZWZpeCA9IFJPT1RDT05URVhUX1NUUjsKKwkJCWJyZWFrOworCQljYXNlIERFRkNPTlRFWFRfTU5UOgorCQkJcHJlZml4ID0gREVGQ09OVEVYVF9TVFI7CisJCQlicmVhazsKKwkJZGVmYXVsdDoKKwkJCUJVRygpOworCQl9OworCQkvKiB3ZSBuZWVkIGEgY29tbWEgYmVmb3JlIGVhY2ggb3B0aW9uICovCisJCXNlcV9wdXRjKG0sICcsJyk7CisJCXNlcV9wdXRzKG0sIHByZWZpeCk7CisJCWlmIChoYXNfY29tbWEpCisJCQlzZXFfcHV0YyhtLCAnXCInKTsKKwkJc2VxX3B1dHMobSwgb3B0cy0+bW50X29wdHNbaV0pOworCQlpZiAoaGFzX2NvbW1hKQorCQkJc2VxX3B1dGMobSwgJ1wiJyk7CisJfQorfQorCitzdGF0aWMgaW50IHNlbGludXhfc2Jfc2hvd19vcHRpb25zKHN0cnVjdCBzZXFfZmlsZSAqbSwgc3RydWN0IHN1cGVyX2Jsb2NrICpzYikKK3sKKwlzdHJ1Y3Qgc2VjdXJpdHlfbW50X29wdHMgb3B0czsKKwlpbnQgcmM7CisKKwlyYyA9IHNlbGludXhfZ2V0X21udF9vcHRzKHNiLCAmb3B0cyk7CisJaWYgKHJjKQorCQlyZXR1cm4gcmM7CisKKwlzZWxpbnV4X3dyaXRlX29wdHMobSwgJm9wdHMpOworCisJc2VjdXJpdHlfZnJlZV9tbnRfb3B0cygmb3B0cyk7CisKKwlyZXR1cm4gcmM7Cit9CisKIHN0YXRpYyBpbmxpbmUgdTE2IGlub2RlX21vZGVfdG9fc2VjdXJpdHlfY2xhc3ModW1vZGVfdCBtb2RlKQogewogCXN3aXRjaCAobW9kZSAmIFNfSUZNVCkgewpAQCAtMTY4MiwxNCArMTczNCwyMyBAQAogCiAvKiBIb29rIGZ1bmN0aW9ucyBiZWdpbiBoZXJlLiAqLwogCi1zdGF0aWMgaW50IHNlbGludXhfcHRyYWNlKHN0cnVjdCB0YXNrX3N0cnVjdCAqcGFyZW50LCBzdHJ1Y3QgdGFza19zdHJ1Y3QgKmNoaWxkKQorc3RhdGljIGludCBzZWxpbnV4X3B0cmFjZShzdHJ1Y3QgdGFza19zdHJ1Y3QgKnBhcmVudCwKKwkJCSAgc3RydWN0IHRhc2tfc3RydWN0ICpjaGlsZCwKKwkJCSAgdW5zaWduZWQgaW50IG1vZGUpCiB7CiAJaW50IHJjOwogCi0JcmMgPSBzZWNvbmRhcnlfb3BzLT5wdHJhY2UocGFyZW50LCBjaGlsZCk7CisJcmMgPSBzZWNvbmRhcnlfb3BzLT5wdHJhY2UocGFyZW50LCBjaGlsZCwgbW9kZSk7CiAJaWYgKHJjKQogCQlyZXR1cm4gcmM7CiAKKwlpZiAobW9kZSA9PSBQVFJBQ0VfTU9ERV9SRUFEKSB7CisJCXN0cnVjdCB0YXNrX3NlY3VyaXR5X3N0cnVjdCAqdHNlYyA9IHBhcmVudC0+c2VjdXJpdHk7CisJCXN0cnVjdCB0YXNrX3NlY3VyaXR5X3N0cnVjdCAqY3NlYyA9IGNoaWxkLT5zZWN1cml0eTsKKwkJcmV0dXJuIGF2Y19oYXNfcGVybSh0c2VjLT5zaWQsIGNzZWMtPnNpZCwKKwkJCQkgICAgU0VDQ0xBU1NfRklMRSwgRklMRV9fUkVBRCwgTlVMTCk7CisJfQorCiAJcmV0dXJuIHRhc2tfaGFzX3Blcm0ocGFyZW50LCBjaGlsZCwgUFJPQ0VTU19fUFRSQUNFKTsKIH0KIApAQCAtMjQ5NSw3ICsyNTU2LDcgQEAKIAl9CiAKIAlpZiAodmFsdWUgJiYgbGVuKSB7Ci0JCXJjID0gc2VjdXJpdHlfc2lkX3RvX2NvbnRleHQobmV3c2lkLCAmY29udGV4dCwgJmNsZW4pOworCQlyYyA9IHNlY3VyaXR5X3NpZF90b19jb250ZXh0X2ZvcmNlKG5ld3NpZCwgJmNvbnRleHQsICZjbGVuKTsKIAkJaWYgKHJjKSB7CiAJCQlrZnJlZShuYW1lcCk7CiAJCQlyZXR1cm4gcmM7CkBAIC0yNjY5LDYgKzI3MzAsMTEgQEAKIAkJcmV0dXJuIHJjOwogCiAJcmMgPSBzZWN1cml0eV9jb250ZXh0X3RvX3NpZCh2YWx1ZSwgc2l6ZSwgJm5ld3NpZCk7CisJaWYgKHJjID09IC1FSU5WQUwpIHsKKwkJaWYgKCFjYXBhYmxlKENBUF9NQUNfQURNSU4pKQorCQkJcmV0dXJuIHJjOworCQlyYyA9IHNlY3VyaXR5X2NvbnRleHRfdG9fc2lkX2ZvcmNlKHZhbHVlLCBzaXplLCAmbmV3c2lkKTsKKwl9CiAJaWYgKHJjKQogCQlyZXR1cm4gcmM7CiAKQEAgLTI2OTAsNyArMjc1Niw3IEBACiB9CiAKIHN0YXRpYyB2b2lkIHNlbGludXhfaW5vZGVfcG9zdF9zZXR4YXR0cihzdHJ1Y3QgZGVudHJ5ICpkZW50cnksIGNvbnN0IGNoYXIgKm5hbWUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgdm9pZCAqdmFsdWUsIHNpemVfdCBzaXplLAorCQkJCQljb25zdCB2b2lkICp2YWx1ZSwgc2l6ZV90IHNpemUsCiAJCQkJCWludCBmbGFncykKIHsKIAlzdHJ1Y3QgaW5vZGUgKmlub2RlID0gZGVudHJ5LT5kX2lub2RlOwpAQCAtMjcwMywxMCArMjc2OSwxMSBAQAogCQlyZXR1cm47CiAJfQogCi0JcmMgPSBzZWN1cml0eV9jb250ZXh0X3RvX3NpZCh2YWx1ZSwgc2l6ZSwgJm5ld3NpZCk7CisJcmMgPSBzZWN1cml0eV9jb250ZXh0X3RvX3NpZF9mb3JjZSh2YWx1ZSwgc2l6ZSwgJm5ld3NpZCk7CiAJaWYgKHJjKSB7Ci0JCXByaW50ayhLRVJOX1dBUk5JTkcgIiVzOiAgdW5hYmxlIHRvIG9idGFpbiBTSUQgZm9yIGNvbnRleHQgIgotCQkgICAgICAgIiVzLCByYz0lZFxuIiwgX19mdW5jX18sIChjaGFyICopdmFsdWUsIC1yYyk7CisJCXByaW50ayhLRVJOX0VSUiAiU0VMaW51eDogIHVuYWJsZSB0byBtYXAgY29udGV4dCB0byBTSUQiCisJCSAgICAgICAiZm9yICglcywgJWx1KSwgcmM9JWRcbiIsCisJCSAgICAgICBpbm9kZS0+aV9zYi0+c19pZCwgaW5vZGUtPmlfaW5vLCAtcmMpOwogCQlyZXR1cm47CiAJfQogCkBAIC0yNzM1LDkgKzI4MDIsNyBAQAogfQogCiAvKgotICogQ29weSB0aGUgaW4tY29yZSBpbm9kZSBzZWN1cml0eSBjb250ZXh0IHZhbHVlIHRvIHRoZSB1c2VyLiAgSWYgdGhlCi0gKiBnZXR4YXR0cigpIHByaW9yIHRvIHRoaXMgc3VjY2VlZGVkLCBjaGVjayB0byBzZWUgaWYgd2UgbmVlZCB0bwotICogY2Fub25pY2FsaXplIHRoZSB2YWx1ZSB0byBiZSBmaW5hbGx5IHJldHVybmVkIHRvIHRoZSB1c2VyLgorICogQ29weSB0aGUgaW5vZGUgc2VjdXJpdHkgY29udGV4dCB2YWx1ZSB0byB0aGUgdXNlci4KICAqCiAgKiBQZXJtaXNzaW9uIGNoZWNrIGlzIGhhbmRsZWQgYnkgc2VsaW51eF9pbm9kZV9nZXR4YXR0ciBob29rLgogICovCkBAIC0yNzQ2LDEyICsyODExLDMzIEBACiAJdTMyIHNpemU7CiAJaW50IGVycm9yOwogCWNoYXIgKmNvbnRleHQgPSBOVUxMOworCXN0cnVjdCB0YXNrX3NlY3VyaXR5X3N0cnVjdCAqdHNlYyA9IGN1cnJlbnQtPnNlY3VyaXR5OwogCXN0cnVjdCBpbm9kZV9zZWN1cml0eV9zdHJ1Y3QgKmlzZWMgPSBpbm9kZS0+aV9zZWN1cml0eTsKIAogCWlmIChzdHJjbXAobmFtZSwgWEFUVFJfU0VMSU5VWF9TVUZGSVgpKQogCQlyZXR1cm4gLUVPUE5PVFNVUFA7CiAKLQllcnJvciA9IHNlY3VyaXR5X3NpZF90b19jb250ZXh0KGlzZWMtPnNpZCwgJmNvbnRleHQsICZzaXplKTsKKwkvKgorCSAqIElmIHRoZSBjYWxsZXIgaGFzIENBUF9NQUNfQURNSU4sIHRoZW4gZ2V0IHRoZSByYXcgY29udGV4dAorCSAqIHZhbHVlIGV2ZW4gaWYgaXQgaXMgbm90IGRlZmluZWQgYnkgY3VycmVudCBwb2xpY3k7IG90aGVyd2lzZSwKKwkgKiB1c2UgdGhlIGluLWNvcmUgdmFsdWUgdW5kZXIgY3VycmVudCBwb2xpY3kuCisJICogVXNlIHRoZSBub24tYXVkaXRpbmcgZm9ybXMgb2YgdGhlIHBlcm1pc3Npb24gY2hlY2tzIHNpbmNlCisJICogZ2V0eGF0dHIgbWF5IGJlIGNhbGxlZCBieSB1bnByaXZpbGVnZWQgcHJvY2Vzc2VzIGNvbW1vbmx5CisJICogYW5kIGxhY2sgb2YgcGVybWlzc2lvbiBqdXN0IG1lYW5zIHRoYXQgd2UgZmFsbCBiYWNrIHRvIHRoZQorCSAqIGluLWNvcmUgY29udGV4dCB2YWx1ZSwgbm90IGEgZGVuaWFsLgorCSAqLworCWVycm9yID0gc2Vjb25kYXJ5X29wcy0+Y2FwYWJsZShjdXJyZW50LCBDQVBfTUFDX0FETUlOKTsKKwlpZiAoIWVycm9yKQorCQllcnJvciA9IGF2Y19oYXNfcGVybV9ub2F1ZGl0KHRzZWMtPnNpZCwgdHNlYy0+c2lkLAorCQkJCQkgICAgIFNFQ0NMQVNTX0NBUEFCSUxJVFkyLAorCQkJCQkgICAgIENBUEFCSUxJVFkyX19NQUNfQURNSU4sCisJCQkJCSAgICAgMCwKKwkJCQkJICAgICBOVUxMKTsKKwlpZiAoIWVycm9yKQorCQllcnJvciA9IHNlY3VyaXR5X3NpZF90b19jb250ZXh0X2ZvcmNlKGlzZWMtPnNpZCwgJmNvbnRleHQsCisJCQkJCQkgICAgICAmc2l6ZSk7CisJZWxzZQorCQllcnJvciA9IHNlY3VyaXR5X3NpZF90b19jb250ZXh0KGlzZWMtPnNpZCwgJmNvbnRleHQsICZzaXplKTsKIAlpZiAoZXJyb3IpCiAJCXJldHVybiBlcnJvcjsKIAllcnJvciA9IHNpemU7CkBAIC0yODY1LDQ2ICsyOTUxLDE2IEBACiBzdGF0aWMgaW50IHNlbGludXhfZmlsZV9pb2N0bChzdHJ1Y3QgZmlsZSAqZmlsZSwgdW5zaWduZWQgaW50IGNtZCwKIAkJCSAgICAgIHVuc2lnbmVkIGxvbmcgYXJnKQogewotCWludCBlcnJvciA9IDA7CisJdTMyIGF2ID0gMDsKIAotCXN3aXRjaCAoY21kKSB7Ci0JY2FzZSBGSU9OUkVBRDoKLQkvKiBmYWxsIHRocm91Z2ggKi8KLQljYXNlIEZJQk1BUDoKLQkvKiBmYWxsIHRocm91Z2ggKi8KLQljYXNlIEZJR0VUQlNaOgotCS8qIGZhbGwgdGhyb3VnaCAqLwotCWNhc2UgRVhUMl9JT0NfR0VURkxBR1M6Ci0JLyogZmFsbCB0aHJvdWdoICovCi0JY2FzZSBFWFQyX0lPQ19HRVRWRVJTSU9OOgotCQllcnJvciA9IGZpbGVfaGFzX3Blcm0oY3VycmVudCwgZmlsZSwgRklMRV9fR0VUQVRUUik7Ci0JCWJyZWFrOworCWlmIChfSU9DX0RJUihjbWQpICYgX0lPQ19XUklURSkKKwkJYXYgfD0gRklMRV9fV1JJVEU7CisJaWYgKF9JT0NfRElSKGNtZCkgJiBfSU9DX1JFQUQpCisJCWF2IHw9IEZJTEVfX1JFQUQ7CisJaWYgKCFhdikKKwkJYXYgPSBGSUxFX19JT0NUTDsKIAotCWNhc2UgRVhUMl9JT0NfU0VURkxBR1M6Ci0JLyogZmFsbCB0aHJvdWdoICovCi0JY2FzZSBFWFQyX0lPQ19TRVRWRVJTSU9OOgotCQllcnJvciA9IGZpbGVfaGFzX3Blcm0oY3VycmVudCwgZmlsZSwgRklMRV9fU0VUQVRUUik7Ci0JCWJyZWFrOwotCi0JLyogc3lzX2lvY3RsKCkgY2hlY2tzICovCi0JY2FzZSBGSU9OQklPOgotCS8qIGZhbGwgdGhyb3VnaCAqLwotCWNhc2UgRklPQVNZTkM6Ci0JCWVycm9yID0gZmlsZV9oYXNfcGVybShjdXJyZW50LCBmaWxlLCAwKTsKLQkJYnJlYWs7Ci0KLQljYXNlIEtEU0tCRU5UOgotCWNhc2UgS0RTS0JTRU5UOgotCQllcnJvciA9IHRhc2tfaGFzX2NhcGFiaWxpdHkoY3VycmVudCwgQ0FQX1NZU19UVFlfQ09ORklHKTsKLQkJYnJlYWs7Ci0KLQkvKiBkZWZhdWx0IGNhc2UgYXNzdW1lcyB0aGF0IHRoZSBjb21tYW5kIHdpbGwgZ28KLQkgKiB0byB0aGUgZmlsZSdzIGlvY3RsKCkgZnVuY3Rpb24uCi0JICovCi0JZGVmYXVsdDoKLQkJZXJyb3IgPSBmaWxlX2hhc19wZXJtKGN1cnJlbnQsIGZpbGUsIEZJTEVfX0lPQ1RMKTsKLQl9Ci0JcmV0dXJuIGVycm9yOworCXJldHVybiBmaWxlX2hhc19wZXJtKGN1cnJlbnQsIGZpbGUsIGF2KTsKIH0KIAogc3RhdGljIGludCBmaWxlX21hcF9wcm90X2NoZWNrKHN0cnVjdCBmaWxlICpmaWxlLCB1bnNpZ25lZCBsb25nIHByb3QsIGludCBzaGFyZWQpCkBAIC0zNjYzLDcgKzM3MTksNyBAQAogCQlzdHJ1Y3Qgc29ja2FkZHJfaW42ICphZGRyNiA9IE5VTEw7CiAJCXVuc2lnbmVkIHNob3J0IHNudW07CiAJCXN0cnVjdCBzb2NrICpzayA9IHNvY2stPnNrOwotCQl1MzIgc2lkLCBub2RlX3Blcm0sIGFkZHJsZW47CisJCXUzMiBzaWQsIG5vZGVfcGVybTsKIAogCQl0c2VjID0gY3VycmVudC0+c2VjdXJpdHk7CiAJCWlzZWMgPSBTT0NLX0lOT0RFKHNvY2spLT5pX3NlY3VyaXR5OwpAQCAtMzY3MSwxMiArMzcyNywxMCBAQAogCQlpZiAoZmFtaWx5ID09IFBGX0lORVQpIHsKIAkJCWFkZHI0ID0gKHN0cnVjdCBzb2NrYWRkcl9pbiAqKWFkZHJlc3M7CiAJCQlzbnVtID0gbnRvaHMoYWRkcjQtPnNpbl9wb3J0KTsKLQkJCWFkZHJsZW4gPSBzaXplb2YoYWRkcjQtPnNpbl9hZGRyLnNfYWRkcik7CiAJCQlhZGRycCA9IChjaGFyICopJmFkZHI0LT5zaW5fYWRkci5zX2FkZHI7CiAJCX0gZWxzZSB7CiAJCQlhZGRyNiA9IChzdHJ1Y3Qgc29ja2FkZHJfaW42ICopYWRkcmVzczsKIAkJCXNudW0gPSBudG9ocyhhZGRyNi0+c2luNl9wb3J0KTsKLQkJCWFkZHJsZW4gPSBzaXplb2YoYWRkcjYtPnNpbjZfYWRkci5zNl9hZGRyKTsKIAkJCWFkZHJwID0gKGNoYXIgKikmYWRkcjYtPnNpbjZfYWRkci5zNl9hZGRyOwogCQl9CiAKQEAgLTUwNDcsMjQgKzUxMDEsNiBAQAogCSpzZWNpZCA9IGlzZWMtPnNpZDsKIH0KIAotLyogbW9kdWxlIHN0YWNraW5nIG9wZXJhdGlvbnMgKi8KLXN0YXRpYyBpbnQgc2VsaW51eF9yZWdpc3Rlcl9zZWN1cml0eShjb25zdCBjaGFyICpuYW1lLCBzdHJ1Y3Qgc2VjdXJpdHlfb3BlcmF0aW9ucyAqb3BzKQotewotCWlmIChzZWNvbmRhcnlfb3BzICE9IG9yaWdpbmFsX29wcykgewotCQlwcmludGsoS0VSTl9FUlIgIiVzOiAgVGhlcmUgaXMgYWxyZWFkeSBhIHNlY29uZGFyeSBzZWN1cml0eSAiCi0JCSAgICAgICAibW9kdWxlIHJlZ2lzdGVyZWQuXG4iLCBfX2Z1bmNfXyk7Ci0JCXJldHVybiAtRUlOVkFMOwotCX0KLQotCXNlY29uZGFyeV9vcHMgPSBvcHM7Ci0KLQlwcmludGsoS0VSTl9JTkZPICIlczogIFJlZ2lzdGVyaW5nIHNlY29uZGFyeSBtb2R1bGUgJXNcbiIsCi0JICAgICAgIF9fZnVuY19fLAotCSAgICAgICBuYW1lKTsKLQotCXJldHVybiAwOwotfQotCiBzdGF0aWMgdm9pZCBzZWxpbnV4X2RfaW5zdGFudGlhdGUoc3RydWN0IGRlbnRyeSAqZGVudHJ5LCBzdHJ1Y3QgaW5vZGUgKmlub2RlKQogewogCWlmIChpbm9kZSkKQEAgLTUxNTMsNiArNTE4OSwxMiBAQAogCQkJc2l6ZS0tOwogCQl9CiAJCWVycm9yID0gc2VjdXJpdHlfY29udGV4dF90b19zaWQodmFsdWUsIHNpemUsICZzaWQpOworCQlpZiAoZXJyb3IgPT0gLUVJTlZBTCAmJiAhc3RyY21wKG5hbWUsICJmc2NyZWF0ZSIpKSB7CisJCQlpZiAoIWNhcGFibGUoQ0FQX01BQ19BRE1JTikpCisJCQkJcmV0dXJuIGVycm9yOworCQkJZXJyb3IgPSBzZWN1cml0eV9jb250ZXh0X3RvX3NpZF9mb3JjZSh2YWx1ZSwgc2l6ZSwKKwkJCQkJCQkgICAgICAmc2lkKTsKKwkJfQogCQlpZiAoZXJyb3IpCiAJCQlyZXR1cm4gZXJyb3I7CiAJfQpAQCAtNTE4NiwxMiArNTIyOCwxMiBAQAogCQkJc3RydWN0IHRhc2tfc3RydWN0ICpnLCAqdDsKIAkJCXN0cnVjdCBtbV9zdHJ1Y3QgKm1tID0gcC0+bW07CiAJCQlyZWFkX2xvY2soJnRhc2tsaXN0X2xvY2spOwotCQkJZG9fZWFjaF90aHJlYWQoZywgdCkKKwkJCWRvX2VhY2hfdGhyZWFkKGcsIHQpIHsKIAkJCQlpZiAodC0+bW0gPT0gbW0gJiYgdCAhPSBwKSB7CiAJCQkJCXJlYWRfdW5sb2NrKCZ0YXNrbGlzdF9sb2NrKTsKIAkJCQkJcmV0dXJuIC1FUEVSTTsKIAkJCQl9Ci0JCQl3aGlsZV9lYWNoX3RocmVhZChnLCB0KTsKKwkJCX0gd2hpbGVfZWFjaF90aHJlYWQoZywgdCk7CiAJCQlyZWFkX3VubG9jaygmdGFza2xpc3RfbG9jayk7CiAJCX0KIApAQCAtNTM0MywxMCArNTM4NSwxMCBAQAogCS5zYl9mcmVlX3NlY3VyaXR5ID0JCXNlbGludXhfc2JfZnJlZV9zZWN1cml0eSwKIAkuc2JfY29weV9kYXRhID0JCQlzZWxpbnV4X3NiX2NvcHlfZGF0YSwKIAkuc2Jfa2Vybl9tb3VudCA9CQlzZWxpbnV4X3NiX2tlcm5fbW91bnQsCisJLnNiX3Nob3dfb3B0aW9ucyA9CQlzZWxpbnV4X3NiX3Nob3dfb3B0aW9ucywKIAkuc2Jfc3RhdGZzID0JCQlzZWxpbnV4X3NiX3N0YXRmcywKIAkuc2JfbW91bnQgPQkJCXNlbGludXhfbW91bnQsCiAJLnNiX3Vtb3VudCA9CQkJc2VsaW51eF91bW91bnQsCi0JLnNiX2dldF9tbnRfb3B0cyA9CQlzZWxpbnV4X2dldF9tbnRfb3B0cywKIAkuc2Jfc2V0X21udF9vcHRzID0JCXNlbGludXhfc2V0X21udF9vcHRzLAogCS5zYl9jbG9uZV9tbnRfb3B0cyA9CQlzZWxpbnV4X3NiX2Nsb25lX21udF9vcHRzLAogCS5zYl9wYXJzZV9vcHRzX3N0ciA9IAkJc2VsaW51eF9wYXJzZV9vcHRzX3N0ciwKQEAgLTUzNzgsNyArNTQyMCw3IEBACiAJLmlub2RlX2xpc3RzZWN1cml0eSA9CQlzZWxpbnV4X2lub2RlX2xpc3RzZWN1cml0eSwKIAkuaW5vZGVfbmVlZF9raWxscHJpdiA9CQlzZWxpbnV4X2lub2RlX25lZWRfa2lsbHByaXYsCiAJLmlub2RlX2tpbGxwcml2ID0JCXNlbGludXhfaW5vZGVfa2lsbHByaXYsCi0JLmlub2RlX2dldHNlY2lkID0gICAgICAgICAgICAgICBzZWxpbnV4X2lub2RlX2dldHNlY2lkLAorCS5pbm9kZV9nZXRzZWNpZCA9CQlzZWxpbnV4X2lub2RlX2dldHNlY2lkLAogCiAJLmZpbGVfcGVybWlzc2lvbiA9CQlzZWxpbnV4X2ZpbGVfcGVybWlzc2lvbiwKIAkuZmlsZV9hbGxvY19zZWN1cml0eSA9CQlzZWxpbnV4X2ZpbGVfYWxsb2Nfc2VjdXJpdHksCkBAIC01NDE5LDcgKzU0NjEsNyBAQAogCS50YXNrX3RvX2lub2RlID0JCXNlbGludXhfdGFza190b19pbm9kZSwKIAogCS5pcGNfcGVybWlzc2lvbiA9CQlzZWxpbnV4X2lwY19wZXJtaXNzaW9uLAotCS5pcGNfZ2V0c2VjaWQgPSAgICAgICAgICAgICAgICAgc2VsaW51eF9pcGNfZ2V0c2VjaWQsCisJLmlwY19nZXRzZWNpZCA9CQkJc2VsaW51eF9pcGNfZ2V0c2VjaWQsCiAKIAkubXNnX21zZ19hbGxvY19zZWN1cml0eSA9CXNlbGludXhfbXNnX21zZ19hbGxvY19zZWN1cml0eSwKIAkubXNnX21zZ19mcmVlX3NlY3VyaXR5ID0Jc2VsaW51eF9tc2dfbXNnX2ZyZWVfc2VjdXJpdHksCkBAIC01NDQzLDggKzU0ODUsNiBAQAogCS5zZW1fc2VtY3RsID0JCQlzZWxpbnV4X3NlbV9zZW1jdGwsCiAJLnNlbV9zZW1vcCA9CQkJc2VsaW51eF9zZW1fc2Vtb3AsCiAKLQkucmVnaXN0ZXJfc2VjdXJpdHkgPQkJc2VsaW51eF9yZWdpc3Rlcl9zZWN1cml0eSwKLQogCS5kX2luc3RhbnRpYXRlID0JCXNlbGludXhfZF9pbnN0YW50aWF0ZSwKIAogCS5nZXRwcm9jYXR0ciA9CQkJc2VsaW51eF9nZXRwcm9jYXR0ciwKQEAgLTU1MzgsNyArNTU3OCw3IEBACiAJCQkJCSAgICAwLCBTTEFCX1BBTklDLCBOVUxMKTsKIAlhdmNfaW5pdCgpOwogCi0Jb3JpZ2luYWxfb3BzID0gc2Vjb25kYXJ5X29wcyA9IHNlY3VyaXR5X29wczsKKwlzZWNvbmRhcnlfb3BzID0gc2VjdXJpdHlfb3BzOwogCWlmICghc2Vjb25kYXJ5X29wcykKIAkJcGFuaWMoIlNFTGludXg6IE5vIGluaXRpYWwgc2VjdXJpdHkgb3BlcmF0aW9uc1xuIik7CiAJaWYgKHJlZ2lzdGVyX3NlY3VyaXR5KCZzZWxpbnV4X29wcykpCmRpZmYgLS1naXQgYS9zZWN1cml0eS9zZWxpbnV4L2luY2x1ZGUvYXVkaXQuaCBiL3NlY3VyaXR5L3NlbGludXgvaW5jbHVkZS9hdWRpdC5oCmluZGV4IDZjOGI5ZWYuLjFiZGY5NzMgMTAwNjQ0Ci0tLSBhL3NlY3VyaXR5L3NlbGludXgvaW5jbHVkZS9hdWRpdC5oCisrKyBiL3NlY3VyaXR5L3NlbGludXgvaW5jbHVkZS9hdWRpdC5oCkBAIC0xLDcgKzEsNyBAQAogLyoKICAqIFNFTGludXggc3VwcG9ydCBmb3IgdGhlIEF1ZGl0IExTTSBob29rcwogICoKLSAqIE1vc3Qgb2YgYmVsb3cgaGVhZGVyIHdhcyBtb3ZlZCBmcm9tIGluY2x1ZGUvbGludXgvc2VsaW51eC5oIHdoaWNoIAorICogTW9zdCBvZiBiZWxvdyBoZWFkZXIgd2FzIG1vdmVkIGZyb20gaW5jbHVkZS9saW51eC9zZWxpbnV4Lmggd2hpY2gKICAqIGlzIHJlbGVhc2VkIHVuZGVyIGJlbG93IGNvcHlyaWdodHM6CiAgKgogICogQXV0aG9yOiBKYW1lcyBNb3JyaXMgPGptb3JyaXNAcmVkaGF0LmNvbT4KQEAgLTUyLDcgKzUyLDcgQEAKICAqCS1lcnJubyBvbiBmYWlsdXJlLgogICovCiBpbnQgc2VsaW51eF9hdWRpdF9ydWxlX21hdGNoKHUzMiBzaWQsIHUzMiBmaWVsZCwgdTMyIG9wLCB2b2lkICpydWxlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgYXVkaXRfY29udGV4dCAqYWN0eCk7CisJCQkgICAgIHN0cnVjdCBhdWRpdF9jb250ZXh0ICphY3R4KTsKIAogLyoqCiAgKglzZWxpbnV4X2F1ZGl0X3J1bGVfa25vd24gLSBjaGVjayB0byBzZWUgaWYgcnVsZSBjb250YWlucyBzZWxpbnV4IGZpZWxkcy4KZGlmZiAtLWdpdCBhL3NlY3VyaXR5L3NlbGludXgvaW5jbHVkZS9hdmMuaCBiL3NlY3VyaXR5L3NlbGludXgvaW5jbHVkZS9hdmMuaAppbmRleCA4ZTIzZDdhLi43Yjk3NjlmIDEwMDY0NAotLS0gYS9zZWN1cml0eS9zZWxpbnV4L2luY2x1ZGUvYXZjLmgKKysrIGIvc2VjdXJpdHkvc2VsaW51eC9pbmNsdWRlL2F2Yy5oCkBAIC03NSwxMyArNzUsMTIgQEAKIAogLyogSW5pdGlhbGl6ZSBhbiBBVkMgYXVkaXQgZGF0YSBzdHJ1Y3R1cmUuICovCiAjZGVmaW5lIEFWQ19BVURJVF9EQVRBX0lOSVQoX2QsX3QpIFwKLSAgICAgICAgeyBtZW1zZXQoKF9kKSwgMCwgc2l6ZW9mKHN0cnVjdCBhdmNfYXVkaXRfZGF0YSkpOyAoX2QpLT50eXBlID0gQVZDX0FVRElUX0RBVEFfIyNfdDsgfQorCXsgbWVtc2V0KChfZCksIDAsIHNpemVvZihzdHJ1Y3QgYXZjX2F1ZGl0X2RhdGEpKTsgKF9kKS0+dHlwZSA9IEFWQ19BVURJVF9EQVRBXyMjX3Q7IH0KIAogLyoKICAqIEFWQyBzdGF0aXN0aWNzCiAgKi8KLXN0cnVjdCBhdmNfY2FjaGVfc3RhdHMKLXsKK3N0cnVjdCBhdmNfY2FjaGVfc3RhdHMgewogCXVuc2lnbmVkIGludCBsb29rdXBzOwogCXVuc2lnbmVkIGludCBoaXRzOwogCXVuc2lnbmVkIGludCBtaXNzZXM7CkBAIC05Nyw4ICs5Niw4IEBACiB2b2lkIF9faW5pdCBhdmNfaW5pdCh2b2lkKTsKIAogdm9pZCBhdmNfYXVkaXQodTMyIHNzaWQsIHUzMiB0c2lkLAotICAgICAgICAgICAgICAgdTE2IHRjbGFzcywgdTMyIHJlcXVlc3RlZCwKLSAgICAgICAgICAgICAgIHN0cnVjdCBhdl9kZWNpc2lvbiAqYXZkLCBpbnQgcmVzdWx0LCBzdHJ1Y3QgYXZjX2F1ZGl0X2RhdGEgKmF1ZGl0ZGF0YSk7CisJICAgICAgIHUxNiB0Y2xhc3MsIHUzMiByZXF1ZXN0ZWQsCisJICAgICAgIHN0cnVjdCBhdl9kZWNpc2lvbiAqYXZkLCBpbnQgcmVzdWx0LCBzdHJ1Y3QgYXZjX2F1ZGl0X2RhdGEgKmF1ZGl0ZGF0YSk7CiAKICNkZWZpbmUgQVZDX1NUUklDVCAxIC8qIElnbm9yZSBwZXJtaXNzaXZlIG1vZGUuICovCiBpbnQgYXZjX2hhc19wZXJtX25vYXVkaXQodTMyIHNzaWQsIHUzMiB0c2lkLApAQCAtMTA3LDggKzEwNiw4IEBACiAJCQkgc3RydWN0IGF2X2RlY2lzaW9uICphdmQpOwogCiBpbnQgYXZjX2hhc19wZXJtKHUzMiBzc2lkLCB1MzIgdHNpZCwKLSAgICAgICAgICAgICAgICAgdTE2IHRjbGFzcywgdTMyIHJlcXVlc3RlZCwKLSAgICAgICAgICAgICAgICAgc3RydWN0IGF2Y19hdWRpdF9kYXRhICphdWRpdGRhdGEpOworCQkgdTE2IHRjbGFzcywgdTMyIHJlcXVlc3RlZCwKKwkJIHN0cnVjdCBhdmNfYXVkaXRfZGF0YSAqYXVkaXRkYXRhKTsKIAogdTMyIGF2Y19wb2xpY3lfc2Vxbm8odm9pZCk7CiAKQEAgLTEyMiw3ICsxMjEsNyBAQAogI2RlZmluZSBBVkNfQ0FMTEJBQ0tfQVVESVRERU5ZX0RJU0FCTEUJMTI4CiAKIGludCBhdmNfYWRkX2NhbGxiYWNrKGludCAoKmNhbGxiYWNrKSh1MzIgZXZlbnQsIHUzMiBzc2lkLCB1MzIgdHNpZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1MTYgdGNsYXNzLCB1MzIgcGVybXMsCisJCQkJICAgICB1MTYgdGNsYXNzLCB1MzIgcGVybXMsCiAJCQkJICAgICB1MzIgKm91dF9yZXRhaW5lZCksCiAJCSAgICAgdTMyIGV2ZW50cywgdTMyIHNzaWQsIHUzMiB0c2lkLAogCQkgICAgIHUxNiB0Y2xhc3MsIHUzMiBwZXJtcyk7CmRpZmYgLS1naXQgYS9zZWN1cml0eS9zZWxpbnV4L2luY2x1ZGUvb2Jqc2VjLmggYi9zZWN1cml0eS9zZWxpbnV4L2luY2x1ZGUvb2Jqc2VjLmgKaW5kZXggMDMyYzIzNS4uOTEwNzBhYiAxMDA2NDQKLS0tIGEvc2VjdXJpdHkvc2VsaW51eC9pbmNsdWRlL29ianNlYy5oCisrKyBiL3NlY3VyaXR5L3NlbGludXgvaW5jbHVkZS9vYmpzZWMuaApAQCAtNDQsNyArNDQsNiBAQAogCXUxNiBzY2xhc3M7CQkvKiBzZWN1cml0eSBjbGFzcyBvZiB0aGlzIG9iamVjdCAqLwogCXVuc2lnbmVkIGNoYXIgaW5pdGlhbGl6ZWQ7CS8qIGluaXRpYWxpemF0aW9uIGZsYWcgKi8KIAlzdHJ1Y3QgbXV0ZXggbG9jazsKLQl1bnNpZ25lZCBjaGFyIGluaGVyaXQ7CS8qIGluaGVyaXQgU0lEIGZyb20gcGFyZW50IGVudHJ5ICovCiB9OwogCiBzdHJ1Y3QgZmlsZV9zZWN1cml0eV9zdHJ1Y3QgewpkaWZmIC0tZ2l0IGEvc2VjdXJpdHkvc2VsaW51eC9pbmNsdWRlL3NlY3VyaXR5LmggYi9zZWN1cml0eS9zZWxpbnV4L2luY2x1ZGUvc2VjdXJpdHkuaAppbmRleCBhZDMwYWM0Li43YzU0MzAwIDEwMDY0NAotLS0gYS9zZWN1cml0eS9zZWxpbnV4L2luY2x1ZGUvc2VjdXJpdHkuaAorKysgYi9zZWN1cml0eS9zZWxpbnV4L2luY2x1ZGUvc2VjdXJpdHkuaApAQCAtOTMsMTIgKzkzLDE3IEBACiBpbnQgc2VjdXJpdHlfc2lkX3RvX2NvbnRleHQodTMyIHNpZCwgY2hhciAqKnNjb250ZXh0LAogCXUzMiAqc2NvbnRleHRfbGVuKTsKIAoraW50IHNlY3VyaXR5X3NpZF90b19jb250ZXh0X2ZvcmNlKHUzMiBzaWQsIGNoYXIgKipzY29udGV4dCwgdTMyICpzY29udGV4dF9sZW4pOworCiBpbnQgc2VjdXJpdHlfY29udGV4dF90b19zaWQoY29uc3QgY2hhciAqc2NvbnRleHQsIHUzMiBzY29udGV4dF9sZW4sCiAJdTMyICpvdXRfc2lkKTsKIAogaW50IHNlY3VyaXR5X2NvbnRleHRfdG9fc2lkX2RlZmF1bHQoY29uc3QgY2hhciAqc2NvbnRleHQsIHUzMiBzY29udGV4dF9sZW4sCiAJCQkJICAgIHUzMiAqb3V0X3NpZCwgdTMyIGRlZl9zaWQsIGdmcF90IGdmcF9mbGFncyk7CiAKK2ludCBzZWN1cml0eV9jb250ZXh0X3RvX3NpZF9mb3JjZShjb25zdCBjaGFyICpzY29udGV4dCwgdTMyIHNjb250ZXh0X2xlbiwKKwkJCQkgIHUzMiAqc2lkKTsKKwogaW50IHNlY3VyaXR5X2dldF91c2VyX3NpZHModTMyIGNhbGxzaWQsIGNoYXIgKnVzZXJuYW1lLAogCQkJICAgdTMyICoqc2lkcywgdTMyICpuZWwpOwogCmRpZmYgLS1naXQgYS9zZWN1cml0eS9zZWxpbnV4L25ldG5vZGUuYyBiL3NlY3VyaXR5L3NlbGludXgvbmV0bm9kZS5jCmluZGV4IGI2Y2NkMDkzLi43MTAwMDcyIDEwMDY0NAotLS0gYS9zZWN1cml0eS9zZWxpbnV4L25ldG5vZGUuYworKysgYi9zZWN1cml0eS9zZWxpbnV4L25ldG5vZGUuYwpAQCAtMzgsNyArMzgsNiBAQAogI2luY2x1ZGUgPGxpbnV4L2lwdjYuaD4KICNpbmNsdWRlIDxuZXQvaXAuaD4KICNpbmNsdWRlIDxuZXQvaXB2Ni5oPgotI2luY2x1ZGUgPGFzbS9idWcuaD4KIAogI2luY2x1ZGUgIm5ldG5vZGUuaCIKICNpbmNsdWRlICJvYmpzZWMuaCIKZGlmZiAtLWdpdCBhL3NlY3VyaXR5L3NlbGludXgvbmV0cG9ydC5jIGIvc2VjdXJpdHkvc2VsaW51eC9uZXRwb3J0LmMKaW5kZXggOTBiNGNmZi4uZmU3ZmJhNiAxMDA2NDQKLS0tIGEvc2VjdXJpdHkvc2VsaW51eC9uZXRwb3J0LmMKKysrIGIvc2VjdXJpdHkvc2VsaW51eC9uZXRwb3J0LmMKQEAgLTM3LDcgKzM3LDYgQEAKICNpbmNsdWRlIDxsaW51eC9pcHY2Lmg+CiAjaW5jbHVkZSA8bmV0L2lwLmg+CiAjaW5jbHVkZSA8bmV0L2lwdjYuaD4KLSNpbmNsdWRlIDxhc20vYnVnLmg+CiAKICNpbmNsdWRlICJuZXRwb3J0LmgiCiAjaW5jbHVkZSAib2Jqc2VjLmgiCkBAIC0yNzIsNyArMjcxLDcgQEAKIAl9CiAKIAlyZXQgPSBhdmNfYWRkX2NhbGxiYWNrKHNlbF9uZXRwb3J0X2F2Y19jYWxsYmFjaywgQVZDX0NBTExCQUNLX1JFU0VULAotCSAgICAgICAgICAgICAgICAgICAgICAgU0VDU0lEX05VTEwsIFNFQ1NJRF9OVUxMLCBTRUNDTEFTU19OVUxMLCAwKTsKKwkJCSAgICAgICBTRUNTSURfTlVMTCwgU0VDU0lEX05VTEwsIFNFQ0NMQVNTX05VTEwsIDApOwogCWlmIChyZXQgIT0gMCkKIAkJcGFuaWMoImF2Y19hZGRfY2FsbGJhY2soKSBmYWlsZWQsIGVycm9yICVkXG4iLCByZXQpOwogCmRpZmYgLS1naXQgYS9zZWN1cml0eS9zZWxpbnV4L3NlbGludXhmcy5jIGIvc2VjdXJpdHkvc2VsaW51eC9zZWxpbnV4ZnMuYwppbmRleCBhYzFjY2MxLi42OWM5ZGNjIDEwMDY0NAotLS0gYS9zZWN1cml0eS9zZWxpbnV4L3NlbGludXhmcy5jCisrKyBiL3NlY3VyaXR5L3NlbGludXgvc2VsaW51eGZzLmMKQEAgLTI3LDcgKzI3LDcgQEAKICNpbmNsdWRlIDxsaW51eC9zZXFfZmlsZS5oPgogI2luY2x1ZGUgPGxpbnV4L3BlcmNwdS5oPgogI2luY2x1ZGUgPGxpbnV4L2F1ZGl0Lmg+Ci0jaW5jbHVkZSA8YXNtL3VhY2Nlc3MuaD4KKyNpbmNsdWRlIDxsaW51eC91YWNjZXNzLmg+CiAKIC8qIHNlbGludXhmcyBwc2V1ZG8gZmlsZXN5c3RlbSBmb3IgZXhwb3J0aW5nIHRoZSBzZWN1cml0eSBwb2xpY3kgQVBJLgogICAgQmFzZWQgb24gdGhlIHByb2MgY29kZSBhbmQgdGhlIGZzL25mc2QvbmZzY3RsLmMgY29kZS4gKi8KQEAgLTU3LDE0ICs1NywxOCBAQAogCiBzdGF0aWMgaW50IF9faW5pdCBjaGVja3JlcXByb3Rfc2V0dXAoY2hhciAqc3RyKQogewotCXNlbGludXhfY2hlY2tyZXFwcm90ID0gc2ltcGxlX3N0cnRvdWwoc3RyLCBOVUxMLCAwKSA/IDEgOiAwOworCXVuc2lnbmVkIGxvbmcgY2hlY2tyZXFwcm90OworCWlmICghc3RyaWN0X3N0cnRvdWwoc3RyLCAwLCAmY2hlY2tyZXFwcm90KSkKKwkJc2VsaW51eF9jaGVja3JlcXByb3QgPSBjaGVja3JlcXByb3QgPyAxIDogMDsKIAlyZXR1cm4gMTsKIH0KIF9fc2V0dXAoImNoZWNrcmVxcHJvdD0iLCBjaGVja3JlcXByb3Rfc2V0dXApOwogCiBzdGF0aWMgaW50IF9faW5pdCBzZWxpbnV4X2NvbXBhdF9uZXRfc2V0dXAoY2hhciAqc3RyKQogewotCXNlbGludXhfY29tcGF0X25ldCA9IHNpbXBsZV9zdHJ0b3VsKHN0ciwgTlVMTCwgMCkgPyAxIDogMDsKKwl1bnNpZ25lZCBsb25nIGNvbXBhdF9uZXQ7CisJaWYgKCFzdHJpY3Rfc3RydG91bChzdHIsIDAsICZjb21wYXRfbmV0KSkKKwkJc2VsaW51eF9jb21wYXRfbmV0ID0gY29tcGF0X25ldCA/IDEgOiAwOwogCXJldHVybiAxOwogfQogX19zZXR1cCgic2VsaW51eF9jb21wYXRfbmV0PSIsIHNlbGludXhfY29tcGF0X25ldF9zZXR1cCk7CkBAIC0zNTIsMTEgKzM1Niw2IEBACiAJCWxlbmd0aCA9IGNvdW50OwogCiBvdXQxOgotCi0JcHJpbnRrKEtFUk5fSU5GTyAiU0VMaW51eDogcG9saWN5IGxvYWRlZCB3aXRoIGhhbmRsZV91bmtub3duPSVzXG4iLAotCSAgICAgICAoc2VjdXJpdHlfZ2V0X3JlamVjdF91bmtub3duKCkgPyAicmVqZWN0IiA6Ci0JCShzZWN1cml0eV9nZXRfYWxsb3dfdW5rbm93bigpID8gImFsbG93IiA6ICJkZW55IikpKTsKLQogCWF1ZGl0X2xvZyhjdXJyZW50LT5hdWRpdF9jb250ZXh0LCBHRlBfS0VSTkVMLCBBVURJVF9NQUNfUE9MSUNZX0xPQUQsCiAJCSJwb2xpY3kgbG9hZGVkIGF1aWQ9JXUgc2VzPSV1IiwKIAkJYXVkaXRfZ2V0X2xvZ2ludWlkKGN1cnJlbnQpLApkaWZmIC0tZ2l0IGEvc2VjdXJpdHkvc2VsaW51eC9zcy9hdnRhYi5jIGIvc2VjdXJpdHkvc2VsaW51eC9zcy9hdnRhYi5jCmluZGV4IDllNjYyNjMuLmExYmU5N2YgMTAwNjQ0Ci0tLSBhL3NlY3VyaXR5L3NlbGludXgvc3MvYXZ0YWIuYworKysgYi9zZWN1cml0eS9zZWxpbnV4L3NzL2F2dGFiLmMKQEAgLTMxMSw3ICszMTEsNyBAQAogCX0KIAogCXByaW50ayhLRVJOX0RFQlVHICJTRUxpbnV4OiAlczogICVkIGVudHJpZXMgYW5kICVkLyVkIGJ1Y2tldHMgdXNlZCwgIgotCSAgICAgICAibG9uZ2VzdCBjaGFpbiBsZW5ndGggJWQgc3VtIG9mIGNoYWluIGxlbmd0aF4yICVMdVxuIiwKKwkgICAgICAgImxvbmdlc3QgY2hhaW4gbGVuZ3RoICVkIHN1bSBvZiBjaGFpbiBsZW5ndGheMiAlbGx1XG4iLAogCSAgICAgICB0YWcsIGgtPm5lbCwgc2xvdHNfdXNlZCwgaC0+bnNsb3QsIG1heF9jaGFpbl9sZW4sCiAJICAgICAgIGNoYWluMl9sZW5fc3VtKTsKIH0KZGlmZiAtLWdpdCBhL3NlY3VyaXR5L3NlbGludXgvc3MvY29udGV4dC5oIGIvc2VjdXJpdHkvc2VsaW51eC9zcy9jb250ZXh0LmgKaW5kZXggYjlhNmY3Zi4uNjU4YzJiZCAxMDA2NDQKLS0tIGEvc2VjdXJpdHkvc2VsaW51eC9zcy9jb250ZXh0LmgKKysrIGIvc2VjdXJpdHkvc2VsaW51eC9zcy9jb250ZXh0LmgKQEAgLTI4LDYgKzI4LDggQEAKIAl1MzIgcm9sZTsKIAl1MzIgdHlwZTsKIAlzdHJ1Y3QgbWxzX3JhbmdlIHJhbmdlOworCWNoYXIgKnN0cjsJLyogc3RyaW5nIHJlcHJlc2VudGF0aW9uIGlmIGNvbnRleHQgY2Fubm90IGJlIG1hcHBlZC4gKi8KKwl1MzIgbGVuOyAgICAgICAgLyogbGVuZ3RoIG9mIHN0cmluZyBpbiBieXRlcyAqLwogfTsKIAogc3RhdGljIGlubGluZSB2b2lkIG1sc19jb250ZXh0X2luaXQoc3RydWN0IGNvbnRleHQgKmMpCkBAIC0xMDYsMjAgKzEwOCw0MyBAQAogCiBzdGF0aWMgaW5saW5lIGludCBjb250ZXh0X2NweShzdHJ1Y3QgY29udGV4dCAqZHN0LCBzdHJ1Y3QgY29udGV4dCAqc3JjKQogeworCWludCByYzsKKwogCWRzdC0+dXNlciA9IHNyYy0+dXNlcjsKIAlkc3QtPnJvbGUgPSBzcmMtPnJvbGU7CiAJZHN0LT50eXBlID0gc3JjLT50eXBlOwotCXJldHVybiBtbHNfY29udGV4dF9jcHkoZHN0LCBzcmMpOworCWlmIChzcmMtPnN0cikgeworCQlkc3QtPnN0ciA9IGtzdHJkdXAoc3JjLT5zdHIsIEdGUF9BVE9NSUMpOworCQlpZiAoIWRzdC0+c3RyKQorCQkJcmV0dXJuIC1FTk9NRU07CisJCWRzdC0+bGVuID0gc3JjLT5sZW47CisJfSBlbHNlIHsKKwkJZHN0LT5zdHIgPSBOVUxMOworCQlkc3QtPmxlbiA9IDA7CisJfQorCXJjID0gbWxzX2NvbnRleHRfY3B5KGRzdCwgc3JjKTsKKwlpZiAocmMpIHsKKwkJa2ZyZWUoZHN0LT5zdHIpOworCQlyZXR1cm4gcmM7CisJfQorCXJldHVybiAwOwogfQogCiBzdGF0aWMgaW5saW5lIHZvaWQgY29udGV4dF9kZXN0cm95KHN0cnVjdCBjb250ZXh0ICpjKQogewogCWMtPnVzZXIgPSBjLT5yb2xlID0gYy0+dHlwZSA9IDA7CisJa2ZyZWUoYy0+c3RyKTsKKwljLT5zdHIgPSBOVUxMOworCWMtPmxlbiA9IDA7CiAJbWxzX2NvbnRleHRfZGVzdHJveShjKTsKIH0KIAogc3RhdGljIGlubGluZSBpbnQgY29udGV4dF9jbXAoc3RydWN0IGNvbnRleHQgKmMxLCBzdHJ1Y3QgY29udGV4dCAqYzIpCiB7CisJaWYgKGMxLT5sZW4gJiYgYzItPmxlbikKKwkJcmV0dXJuIChjMS0+bGVuID09IGMyLT5sZW4gJiYgIXN0cmNtcChjMS0+c3RyLCBjMi0+c3RyKSk7CisJaWYgKGMxLT5sZW4gfHwgYzItPmxlbikKKwkJcmV0dXJuIDA7CiAJcmV0dXJuICgoYzEtPnVzZXIgPT0gYzItPnVzZXIpICYmCiAJCShjMS0+cm9sZSA9PSBjMi0+cm9sZSkgJiYKIAkJKGMxLT50eXBlID09IGMyLT50eXBlKSAmJgpkaWZmIC0tZ2l0IGEvc2VjdXJpdHkvc2VsaW51eC9zcy9tbHMuYyBiL3NlY3VyaXR5L3NlbGludXgvc3MvbWxzLmMKaW5kZXggOGIxNzA2Yi4uNzdkNzQ1ZCAxMDA2NDQKLS0tIGEvc2VjdXJpdHkvc2VsaW51eC9zcy9tbHMuYworKysgYi9zZWN1cml0eS9zZWxpbnV4L3NzL21scy5jCkBAIC0yMzksNyArMjM5LDggQEAKICAqIFBvbGljeSByZWFkLWxvY2sgbXVzdCBiZSBoZWxkIGZvciBzaWR0YWIgbG9va3VwLgogICoKICAqLwotaW50IG1sc19jb250ZXh0X3RvX3NpZChjaGFyIG9sZGMsCitpbnQgbWxzX2NvbnRleHRfdG9fc2lkKHN0cnVjdCBwb2xpY3lkYiAqcG9sLAorCQkgICAgICAgY2hhciBvbGRjLAogCQkgICAgICAgY2hhciAqKnNjb250ZXh0LAogCQkgICAgICAgc3RydWN0IGNvbnRleHQgKmNvbnRleHQsCiAJCSAgICAgICBzdHJ1Y3Qgc2lkdGFiICpzLApAQCAtMjg2LDcgKzI4Nyw3IEBACiAJCSpwKysgPSAwOwogCiAJZm9yIChsID0gMDsgbCA8IDI7IGwrKykgewotCQlsZXZkYXR1bSA9IGhhc2h0YWJfc2VhcmNoKHBvbGljeWRiLnBfbGV2ZWxzLnRhYmxlLCBzY29udGV4dHApOworCQlsZXZkYXR1bSA9IGhhc2h0YWJfc2VhcmNoKHBvbC0+cF9sZXZlbHMudGFibGUsIHNjb250ZXh0cCk7CiAJCWlmICghbGV2ZGF0dW0pIHsKIAkJCXJjID0gLUVJTlZBTDsKIAkJCWdvdG8gb3V0OwpAQCAtMzExLDcgKzMxMiw3IEBACiAJCQkJCSpybmdwdHIrKyA9IDA7CiAJCQkJfQogCi0JCQkJY2F0ZGF0dW0gPSBoYXNodGFiX3NlYXJjaChwb2xpY3lkYi5wX2NhdHMudGFibGUsCisJCQkJY2F0ZGF0dW0gPSBoYXNodGFiX3NlYXJjaChwb2wtPnBfY2F0cy50YWJsZSwKIAkJCQkJCQkgIHNjb250ZXh0cCk7CiAJCQkJaWYgKCFjYXRkYXR1bSkgewogCQkJCQlyYyA9IC1FSU5WQUw7CkBAIC0zMjcsNyArMzI4LDcgQEAKIAkJCQlpZiAocm5ncHRyKSB7CiAJCQkJCWludCBpOwogCi0JCQkJCXJuZ2RhdHVtID0gaGFzaHRhYl9zZWFyY2gocG9saWN5ZGIucF9jYXRzLnRhYmxlLCBybmdwdHIpOworCQkJCQlybmdkYXR1bSA9IGhhc2h0YWJfc2VhcmNoKHBvbC0+cF9jYXRzLnRhYmxlLCBybmdwdHIpOwogCQkJCQlpZiAoIXJuZ2RhdHVtKSB7CiAJCQkJCQlyYyA9IC1FSU5WQUw7CiAJCQkJCQlnb3RvIG91dDsKQEAgLTM5NSw3ICszOTYsNyBAQAogCWlmICghdG1wc3RyKSB7CiAJCXJjID0gLUVOT01FTTsKIAl9IGVsc2UgewotCQlyYyA9IG1sc19jb250ZXh0X3RvX3NpZCgnOicsICZ0bXBzdHIsIGNvbnRleHQsCisJCXJjID0gbWxzX2NvbnRleHRfdG9fc2lkKCZwb2xpY3lkYiwgJzonLCAmdG1wc3RyLCBjb250ZXh0LAogCQkJCQlOVUxMLCBTRUNTSURfTlVMTCk7CiAJCWtmcmVlKGZyZWVzdHIpOwogCX0KQEAgLTQzNiwxMyArNDM3LDEzIEBACiAJCXN0cnVjdCBtbHNfbGV2ZWwgKnVzZXJjb25fY2xyID0gJih1c2VyY29uLT5yYW5nZS5sZXZlbFsxXSk7CiAKIAkJLyogSG9ub3IgdGhlIHVzZXIncyBkZWZhdWx0IGxldmVsIGlmIHdlIGNhbiAqLwotCQlpZiAobWxzX2xldmVsX2JldHdlZW4odXNlcl9kZWYsIGZyb21jb25fc2VuLCBmcm9tY29uX2NscikpIHsKKwkJaWYgKG1sc19sZXZlbF9iZXR3ZWVuKHVzZXJfZGVmLCBmcm9tY29uX3NlbiwgZnJvbWNvbl9jbHIpKQogCQkJKnVzZXJjb25fc2VuID0gKnVzZXJfZGVmOwotCQl9IGVsc2UgaWYgKG1sc19sZXZlbF9iZXR3ZWVuKGZyb21jb25fc2VuLCB1c2VyX2RlZiwgdXNlcl9jbHIpKSB7CisJCWVsc2UgaWYgKG1sc19sZXZlbF9iZXR3ZWVuKGZyb21jb25fc2VuLCB1c2VyX2RlZiwgdXNlcl9jbHIpKQogCQkJKnVzZXJjb25fc2VuID0gKmZyb21jb25fc2VuOwotCQl9IGVsc2UgaWYgKG1sc19sZXZlbF9iZXR3ZWVuKGZyb21jb25fY2xyLCB1c2VyX2xvdywgdXNlcl9kZWYpKSB7CisJCWVsc2UgaWYgKG1sc19sZXZlbF9iZXR3ZWVuKGZyb21jb25fY2xyLCB1c2VyX2xvdywgdXNlcl9kZWYpKQogCQkJKnVzZXJjb25fc2VuID0gKnVzZXJfbG93OwotCQl9IGVsc2UKKwkJZWxzZQogCQkJcmV0dXJuIC1FSU5WQUw7CiAKIAkJLyogTG93ZXIgdGhlIGNsZWFyYW5jZSBvZiBhdmFpbGFibGUgY29udGV4dHMKZGlmZiAtLWdpdCBhL3NlY3VyaXR5L3NlbGludXgvc3MvbWxzLmggYi9zZWN1cml0eS9zZWxpbnV4L3NzL21scy5oCmluZGV4IDBmZGY2MjUuLjEyNzY3MTUgMTAwNjQ0Ci0tLSBhL3NlY3VyaXR5L3NlbGludXgvc3MvbWxzLmgKKysrIGIvc2VjdXJpdHkvc2VsaW51eC9zcy9tbHMuaApAQCAtMzAsNyArMzAsOCBAQAogaW50IG1sc19yYW5nZV9pc3ZhbGlkKHN0cnVjdCBwb2xpY3lkYiAqcCwgc3RydWN0IG1sc19yYW5nZSAqcik7CiBpbnQgbWxzX2xldmVsX2lzdmFsaWQoc3RydWN0IHBvbGljeWRiICpwLCBzdHJ1Y3QgbWxzX2xldmVsICpsKTsKIAotaW50IG1sc19jb250ZXh0X3RvX3NpZChjaGFyIG9sZGMsCitpbnQgbWxzX2NvbnRleHRfdG9fc2lkKHN0cnVjdCBwb2xpY3lkYiAqcCwKKwkJICAgICAgIGNoYXIgb2xkYywKIAkJICAgICAgIGNoYXIgKipzY29udGV4dCwKIAkJICAgICAgIHN0cnVjdCBjb250ZXh0ICpjb250ZXh0LAogCQkgICAgICAgc3RydWN0IHNpZHRhYiAqcywKZGlmZiAtLWdpdCBhL3NlY3VyaXR5L3NlbGludXgvc3MvcG9saWN5ZGIuYyBiL3NlY3VyaXR5L3NlbGludXgvc3MvcG9saWN5ZGIuYwppbmRleCA4NGY4Y2M3Li4yMzkxNzYxIDEwMDY0NAotLS0gYS9zZWN1cml0eS9zZWxpbnV4L3NzL3BvbGljeWRiLmMKKysrIGIvc2VjdXJpdHkvc2VsaW51eC9zcy9wb2xpY3lkYi5jCkBAIC0xNDc4LDcgKzE0NzgsOCBAQAogCXN0cnVjdCBvY29udGV4dCAqbCwgKmMsICpuZXdjOwogCXN0cnVjdCBnZW5mcyAqZ2VuZnNfcCwgKmdlbmZzLCAqbmV3Z2VuZnM7CiAJaW50IGksIGosIHJjOwotCV9fbGUzMiBidWZbOF07CisJX19sZTMyIGJ1Zls0XTsKKwl1MzIgbm9kZWJ1Zls4XTsKIAl1MzIgbGVuLCBsZW4yLCBjb25maWcsIG5wcmltLCBuZWwsIG5lbDI7CiAJY2hhciAqcG9saWN5ZGJfc3RyOwogCXN0cnVjdCBwb2xpY3lkYl9jb21wYXRfaW5mbyAqaW5mbzsKQEAgLTE3NDksMTEgKzE3NTAsMTEgQEAKIAkJCQkJZ290byBiYWQ7CiAJCQkJYnJlYWs7CiAJCQljYXNlIE9DT05fTk9ERToKLQkJCQlyYyA9IG5leHRfZW50cnkoYnVmLCBmcCwgc2l6ZW9mKHUzMikgKiAyKTsKKwkJCQlyYyA9IG5leHRfZW50cnkobm9kZWJ1ZiwgZnAsIHNpemVvZih1MzIpICogMik7CiAJCQkJaWYgKHJjIDwgMCkKIAkJCQkJZ290byBiYWQ7Ci0JCQkJYy0+dS5ub2RlLmFkZHIgPSBsZTMyX3RvX2NwdShidWZbMF0pOwotCQkJCWMtPnUubm9kZS5tYXNrID0gbGUzMl90b19jcHUoYnVmWzFdKTsKKwkJCQljLT51Lm5vZGUuYWRkciA9IG5vZGVidWZbMF07IC8qIG5ldHdvcmsgb3JkZXIgKi8KKwkJCQljLT51Lm5vZGUubWFzayA9IG5vZGVidWZbMV07IC8qIG5ldHdvcmsgb3JkZXIgKi8KIAkJCQlyYyA9IGNvbnRleHRfcmVhZF9hbmRfdmFsaWRhdGUoJmMtPmNvbnRleHRbMF0sIHAsIGZwKTsKIAkJCQlpZiAocmMpCiAJCQkJCWdvdG8gYmFkOwpAQCAtMTc4MiwxMyArMTc4MywxMyBAQAogCQkJY2FzZSBPQ09OX05PREU2OiB7CiAJCQkJaW50IGs7CiAKLQkJCQlyYyA9IG5leHRfZW50cnkoYnVmLCBmcCwgc2l6ZW9mKHUzMikgKiA4KTsKKwkJCQlyYyA9IG5leHRfZW50cnkobm9kZWJ1ZiwgZnAsIHNpemVvZih1MzIpICogOCk7CiAJCQkJaWYgKHJjIDwgMCkKIAkJCQkJZ290byBiYWQ7CiAJCQkJZm9yIChrID0gMDsgayA8IDQ7IGsrKykKLQkJCQkJYy0+dS5ub2RlNi5hZGRyW2tdID0gbGUzMl90b19jcHUoYnVmW2tdKTsKKwkJCQkJYy0+dS5ub2RlNi5hZGRyW2tdID0gbm9kZWJ1ZltrXTsKIAkJCQlmb3IgKGsgPSAwOyBrIDwgNDsgaysrKQotCQkJCQljLT51Lm5vZGU2Lm1hc2tba10gPSBsZTMyX3RvX2NwdShidWZbays0XSk7CisJCQkJCWMtPnUubm9kZTYubWFza1trXSA9IG5vZGVidWZbays0XTsKIAkJCQlpZiAoY29udGV4dF9yZWFkX2FuZF92YWxpZGF0ZSgmYy0+Y29udGV4dFswXSwgcCwgZnApKQogCQkJCQlnb3RvIGJhZDsKIAkJCQlicmVhazsKZGlmZiAtLWdpdCBhL3NlY3VyaXR5L3NlbGludXgvc3Mvc2VydmljZXMuYyBiL3NlY3VyaXR5L3NlbGludXgvc3Mvc2VydmljZXMuYwppbmRleCBkY2MyZTFjLi5iNTJmOTIzIDEwMDY0NAotLS0gYS9zZWN1cml0eS9zZWxpbnV4L3NzL3NlcnZpY2VzLmMKKysrIGIvc2VjdXJpdHkvc2VsaW51eC9zcy9zZXJ2aWNlcy5jCkBAIC03MSwxNCArNzEsNiBAQAogZXh0ZXJuIGNvbnN0IHN0cnVjdCBzZWxpbnV4X2NsYXNzX3Blcm0gc2VsaW51eF9jbGFzc19wZXJtOwogCiBzdGF0aWMgREVGSU5FX1JXTE9DSyhwb2xpY3lfcndsb2NrKTsKLSNkZWZpbmUgUE9MSUNZX1JETE9DSyByZWFkX2xvY2soJnBvbGljeV9yd2xvY2spCi0jZGVmaW5lIFBPTElDWV9XUkxPQ0sgd3JpdGVfbG9ja19pcnEoJnBvbGljeV9yd2xvY2spCi0jZGVmaW5lIFBPTElDWV9SRFVOTE9DSyByZWFkX3VubG9jaygmcG9saWN5X3J3bG9jaykKLSNkZWZpbmUgUE9MSUNZX1dSVU5MT0NLIHdyaXRlX3VubG9ja19pcnEoJnBvbGljeV9yd2xvY2spCi0KLXN0YXRpYyBERUZJTkVfTVVURVgobG9hZF9tdXRleCk7Ci0jZGVmaW5lIExPQURfTE9DSyBtdXRleF9sb2NrKCZsb2FkX211dGV4KQotI2RlZmluZSBMT0FEX1VOTE9DSyBtdXRleF91bmxvY2soJmxvYWRfbXV0ZXgpCiAKIHN0YXRpYyBzdHJ1Y3Qgc2lkdGFiIHNpZHRhYjsKIHN0cnVjdCBwb2xpY3lkYiBwb2xpY3lkYjsKQEAgLTMzMiw3ICszMjQsNyBAQAogCQlnb3RvIGludmFsX2NsYXNzOwogCWlmICh1bmxpa2VseSh0Y2xhc3MgPiBwb2xpY3lkYi5wX2NsYXNzZXMubnByaW0pKQogCQlpZiAodGNsYXNzID4ga2RlZnMtPmN0c19sZW4gfHwKLQkJICAgICFrZGVmcy0+Y2xhc3NfdG9fc3RyaW5nW3RjbGFzcyAtIDFdIHx8CisJCSAgICAha2RlZnMtPmNsYXNzX3RvX3N0cmluZ1t0Y2xhc3NdIHx8CiAJCSAgICAhcG9saWN5ZGIuYWxsb3dfdW5rbm93bikKIAkJCWdvdG8gaW52YWxfY2xhc3M7CiAKQEAgLTQxNSw5ICs0MDcsMTkgQEAKIAlyZXR1cm4gMDsKIAogaW52YWxfY2xhc3M6Ci0JcHJpbnRrKEtFUk5fRVJSICJTRUxpbnV4OiAlczogIHVucmVjb2duaXplZCBjbGFzcyAlZFxuIiwgX19mdW5jX18sCi0JCXRjbGFzcyk7Ci0JcmV0dXJuIC1FSU5WQUw7CisJaWYgKCF0Y2xhc3MgfHwgdGNsYXNzID4ga2RlZnMtPmN0c19sZW4gfHwKKwkgICAgIWtkZWZzLT5jbGFzc190b19zdHJpbmdbdGNsYXNzXSkgeworCQlpZiAocHJpbnRrX3JhdGVsaW1pdCgpKQorCQkJcHJpbnRrKEtFUk5fRVJSICJTRUxpbnV4OiAlczogIHVucmVjb2duaXplZCBjbGFzcyAlZFxuIiwKKwkJCSAgICAgICBfX2Z1bmNfXywgdGNsYXNzKTsKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCisJLyoKKwkgKiBLbm93biB0byB0aGUga2VybmVsLCBidXQgbm90IHRvIHRoZSBwb2xpY3kuCisJICogSGFuZGxlIGFzIGEgZGVuaWFsIChhbGxvd2VkIGlzIDApLgorCSAqLworCXJldHVybiAwOwogfQogCiAvKgpAQCAtNDI5LDcgKzQzMSw3IEBACiAJdTMyIHR5cGU7CiAJaW50IHJjOwogCi0JUE9MSUNZX1JETE9DSzsKKwlyZWFkX2xvY2soJnBvbGljeV9yd2xvY2spOwogCiAJY29udGV4dCA9IHNpZHRhYl9zZWFyY2goJnNpZHRhYiwgc2lkKTsKIAlCVUdfT04oIWNvbnRleHQpOwpAQCAtNDQxLDcgKzQ0Myw3IEBACiAJICovCiAJcmMgPSBlYml0bWFwX2dldF9iaXQoJnBvbGljeWRiLnBlcm1pc3NpdmVfbWFwLCB0eXBlKTsKIAotCVBPTElDWV9SRFVOTE9DSzsKKwlyZWFkX3VubG9jaygmcG9saWN5X3J3bG9jayk7CiAJcmV0dXJuIHJjOwogfQogCkBAIC00ODYsNyArNDg4LDcgQEAKIAlpZiAoIXNzX2luaXRpYWxpemVkKQogCQlyZXR1cm4gMDsKIAotCVBPTElDWV9SRExPQ0s7CisJcmVhZF9sb2NrKCZwb2xpY3lfcndsb2NrKTsKIAogCS8qCiAJICogUmVtYXAgZXh0ZW5kZWQgTmV0bGluayBjbGFzc2VzIGZvciBvbGQgcG9saWN5IHZlcnNpb25zLgpAQCAtNTQzLDcgKzU0NSw3IEBACiAJfQogCiBvdXQ6Ci0JUE9MSUNZX1JEVU5MT0NLOworCXJlYWRfdW5sb2NrKCZwb2xpY3lfcndsb2NrKTsKIAlyZXR1cm4gcmM7CiB9CiAKQEAgLTU3OCw3ICs1ODAsNyBAQAogCQlyZXR1cm4gMDsKIAl9CiAKLQlQT0xJQ1lfUkRMT0NLOworCXJlYWRfbG9jaygmcG9saWN5X3J3bG9jayk7CiAKIAlzY29udGV4dCA9IHNpZHRhYl9zZWFyY2goJnNpZHRhYiwgc3NpZCk7CiAJaWYgKCFzY29udGV4dCkgewpAQCAtNTk4LDcgKzYwMCw3IEBACiAJcmMgPSBjb250ZXh0X3N0cnVjdF9jb21wdXRlX2F2KHNjb250ZXh0LCB0Y29udGV4dCwgdGNsYXNzLAogCQkJCSAgICAgICByZXF1ZXN0ZWQsIGF2ZCk7CiBvdXQ6Ci0JUE9MSUNZX1JEVU5MT0NLOworCXJlYWRfdW5sb2NrKCZwb2xpY3lfcndsb2NrKTsKIAlyZXR1cm4gcmM7CiB9CiAKQEAgLTYxNiw2ICs2MTgsMTQgQEAKIAkqc2NvbnRleHQgPSBOVUxMOwogCSpzY29udGV4dF9sZW4gPSAwOwogCisJaWYgKGNvbnRleHQtPmxlbikgeworCQkqc2NvbnRleHRfbGVuID0gY29udGV4dC0+bGVuOworCQkqc2NvbnRleHQgPSBrc3RyZHVwKGNvbnRleHQtPnN0ciwgR0ZQX0FUT01JQyk7CisJCWlmICghKCpzY29udGV4dCkpCisJCQlyZXR1cm4gLUVOT01FTTsKKwkJcmV0dXJuIDA7CisJfQorCiAJLyogQ29tcHV0ZSB0aGUgc2l6ZSBvZiB0aGUgY29udGV4dC4gKi8KIAkqc2NvbnRleHRfbGVuICs9IHN0cmxlbihwb2xpY3lkYi5wX3VzZXJfdmFsX3RvX25hbWVbY29udGV4dC0+dXNlciAtIDFdKSArIDE7CiAJKnNjb250ZXh0X2xlbiArPSBzdHJsZW4ocG9saWN5ZGIucF9yb2xlX3ZhbF90b19uYW1lW2NvbnRleHQtPnJvbGUgLSAxXSkgKyAxOwpAQCAtNjU1LDE3ICs2NjUsOCBAQAogCXJldHVybiBpbml0aWFsX3NpZF90b19zdHJpbmdbc2lkXTsKIH0KIAotLyoqCi0gKiBzZWN1cml0eV9zaWRfdG9fY29udGV4dCAtIE9idGFpbiBhIGNvbnRleHQgZm9yIGEgZ2l2ZW4gU0lELgotICogQHNpZDogc2VjdXJpdHkgaWRlbnRpZmllciwgU0lECi0gKiBAc2NvbnRleHQ6IHNlY3VyaXR5IGNvbnRleHQKLSAqIEBzY29udGV4dF9sZW46IGxlbmd0aCBpbiBieXRlcwotICoKLSAqIFdyaXRlIHRoZSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhlIGNvbnRleHQgYXNzb2NpYXRlZCB3aXRoIEBzaWQKLSAqIGludG8gYSBkeW5hbWljYWxseSBhbGxvY2F0ZWQgc3RyaW5nIG9mIHRoZSBjb3JyZWN0IHNpemUuICBTZXQgQHNjb250ZXh0Ci0gKiB0byBwb2ludCB0byB0aGlzIHN0cmluZyBhbmQgc2V0IEBzY29udGV4dF9sZW4gdG8gdGhlIGxlbmd0aCBvZiB0aGUgc3RyaW5nLgotICovCi1pbnQgc2VjdXJpdHlfc2lkX3RvX2NvbnRleHQodTMyIHNpZCwgY2hhciAqKnNjb250ZXh0LCB1MzIgKnNjb250ZXh0X2xlbikKK3N0YXRpYyBpbnQgc2VjdXJpdHlfc2lkX3RvX2NvbnRleHRfY29yZSh1MzIgc2lkLCBjaGFyICoqc2NvbnRleHQsCisJCQkJCXUzMiAqc2NvbnRleHRfbGVuLCBpbnQgZm9yY2UpCiB7CiAJc3RydWN0IGNvbnRleHQgKmNvbnRleHQ7CiAJaW50IHJjID0gMDsKQEAgLTY5Miw4ICs2OTMsMTEgQEAKIAkJcmMgPSAtRUlOVkFMOwogCQlnb3RvIG91dDsKIAl9Ci0JUE9MSUNZX1JETE9DSzsKLQljb250ZXh0ID0gc2lkdGFiX3NlYXJjaCgmc2lkdGFiLCBzaWQpOworCXJlYWRfbG9jaygmcG9saWN5X3J3bG9jayk7CisJaWYgKGZvcmNlKQorCQljb250ZXh0ID0gc2lkdGFiX3NlYXJjaF9mb3JjZSgmc2lkdGFiLCBzaWQpOworCWVsc2UKKwkJY29udGV4dCA9IHNpZHRhYl9zZWFyY2goJnNpZHRhYiwgc2lkKTsKIAlpZiAoIWNvbnRleHQpIHsKIAkJcHJpbnRrKEtFUk5fRVJSICJTRUxpbnV4OiAlczogIHVucmVjb2duaXplZCBTSUQgJWRcbiIsCiAJCQlfX2Z1bmNfXywgc2lkKTsKQEAgLTcwMiw1OSArNzA2LDU0IEBACiAJfQogCXJjID0gY29udGV4dF9zdHJ1Y3RfdG9fc3RyaW5nKGNvbnRleHQsIHNjb250ZXh0LCBzY29udGV4dF9sZW4pOwogb3V0X3VubG9jazoKLQlQT0xJQ1lfUkRVTkxPQ0s7CisJcmVhZF91bmxvY2soJnBvbGljeV9yd2xvY2spOwogb3V0OgogCXJldHVybiByYzsKIAogfQogCi1zdGF0aWMgaW50IHNlY3VyaXR5X2NvbnRleHRfdG9fc2lkX2NvcmUoY29uc3QgY2hhciAqc2NvbnRleHQsIHUzMiBzY29udGV4dF9sZW4sCi0JCQkJCXUzMiAqc2lkLCB1MzIgZGVmX3NpZCwgZ2ZwX3QgZ2ZwX2ZsYWdzKQorLyoqCisgKiBzZWN1cml0eV9zaWRfdG9fY29udGV4dCAtIE9idGFpbiBhIGNvbnRleHQgZm9yIGEgZ2l2ZW4gU0lELgorICogQHNpZDogc2VjdXJpdHkgaWRlbnRpZmllciwgU0lECisgKiBAc2NvbnRleHQ6IHNlY3VyaXR5IGNvbnRleHQKKyAqIEBzY29udGV4dF9sZW46IGxlbmd0aCBpbiBieXRlcworICoKKyAqIFdyaXRlIHRoZSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhlIGNvbnRleHQgYXNzb2NpYXRlZCB3aXRoIEBzaWQKKyAqIGludG8gYSBkeW5hbWljYWxseSBhbGxvY2F0ZWQgc3RyaW5nIG9mIHRoZSBjb3JyZWN0IHNpemUuICBTZXQgQHNjb250ZXh0CisgKiB0byBwb2ludCB0byB0aGlzIHN0cmluZyBhbmQgc2V0IEBzY29udGV4dF9sZW4gdG8gdGhlIGxlbmd0aCBvZiB0aGUgc3RyaW5nLgorICovCitpbnQgc2VjdXJpdHlfc2lkX3RvX2NvbnRleHQodTMyIHNpZCwgY2hhciAqKnNjb250ZXh0LCB1MzIgKnNjb250ZXh0X2xlbikKIHsKLQljaGFyICpzY29udGV4dDI7Ci0Jc3RydWN0IGNvbnRleHQgY29udGV4dDsKKwlyZXR1cm4gc2VjdXJpdHlfc2lkX3RvX2NvbnRleHRfY29yZShzaWQsIHNjb250ZXh0LCBzY29udGV4dF9sZW4sIDApOworfQorCitpbnQgc2VjdXJpdHlfc2lkX3RvX2NvbnRleHRfZm9yY2UodTMyIHNpZCwgY2hhciAqKnNjb250ZXh0LCB1MzIgKnNjb250ZXh0X2xlbikKK3sKKwlyZXR1cm4gc2VjdXJpdHlfc2lkX3RvX2NvbnRleHRfY29yZShzaWQsIHNjb250ZXh0LCBzY29udGV4dF9sZW4sIDEpOworfQorCisvKgorICogQ2F2ZWF0OiAgTXV0YXRlcyBzY29udGV4dC4KKyAqLworc3RhdGljIGludCBzdHJpbmdfdG9fY29udGV4dF9zdHJ1Y3Qoc3RydWN0IHBvbGljeWRiICpwb2wsCisJCQkJICAgIHN0cnVjdCBzaWR0YWIgKnNpZHRhYnAsCisJCQkJICAgIGNoYXIgKnNjb250ZXh0LAorCQkJCSAgICB1MzIgc2NvbnRleHRfbGVuLAorCQkJCSAgICBzdHJ1Y3QgY29udGV4dCAqY3R4LAorCQkJCSAgICB1MzIgZGVmX3NpZCkKK3sKIAlzdHJ1Y3Qgcm9sZV9kYXR1bSAqcm9sZTsKIAlzdHJ1Y3QgdHlwZV9kYXR1bSAqdHlwZGF0dW07CiAJc3RydWN0IHVzZXJfZGF0dW0gKnVzcmRhdHVtOwogCWNoYXIgKnNjb250ZXh0cCwgKnAsIG9sZGM7CiAJaW50IHJjID0gMDsKIAotCWlmICghc3NfaW5pdGlhbGl6ZWQpIHsKLQkJaW50IGk7Ci0KLQkJZm9yIChpID0gMTsgaSA8IFNFQ0lOSVRTSURfTlVNOyBpKyspIHsKLQkJCWlmICghc3RyY21wKGluaXRpYWxfc2lkX3RvX3N0cmluZ1tpXSwgc2NvbnRleHQpKSB7Ci0JCQkJKnNpZCA9IGk7Ci0JCQkJZ290byBvdXQ7Ci0JCQl9Ci0JCX0KLQkJKnNpZCA9IFNFQ0lOSVRTSURfS0VSTkVMOwotCQlnb3RvIG91dDsKLQl9Ci0JKnNpZCA9IFNFQ1NJRF9OVUxMOwotCi0JLyogQ29weSB0aGUgc3RyaW5nIHNvIHRoYXQgd2UgY2FuIG1vZGlmeSB0aGUgY29weSBhcyB3ZSBwYXJzZSBpdC4KLQkgICBUaGUgc3RyaW5nIHNob3VsZCBhbHJlYWR5IGJ5IG51bGwgdGVybWluYXRlZCwgYnV0IHdlIGFwcGVuZCBhCi0JICAgbnVsbCBzdWZmaXggdG8gdGhlIGNvcHkgdG8gYXZvaWQgcHJvYmxlbXMgd2l0aCB0aGUgZXhpc3RpbmcKLQkgICBhdHRyIHBhY2thZ2UsIHdoaWNoIGRvZXNuJ3QgdmlldyB0aGUgbnVsbCB0ZXJtaW5hdG9yIGFzIHBhcnQKLQkgICBvZiB0aGUgYXR0cmlidXRlIHZhbHVlLiAqLwotCXNjb250ZXh0MiA9IGttYWxsb2Moc2NvbnRleHRfbGVuKzEsIGdmcF9mbGFncyk7Ci0JaWYgKCFzY29udGV4dDIpIHsKLQkJcmMgPSAtRU5PTUVNOwotCQlnb3RvIG91dDsKLQl9Ci0JbWVtY3B5KHNjb250ZXh0Miwgc2NvbnRleHQsIHNjb250ZXh0X2xlbik7Ci0Jc2NvbnRleHQyW3Njb250ZXh0X2xlbl0gPSAwOwotCi0JY29udGV4dF9pbml0KCZjb250ZXh0KTsKLQkqc2lkID0gU0VDU0lEX05VTEw7Ci0KLQlQT0xJQ1lfUkRMT0NLOworCWNvbnRleHRfaW5pdChjdHgpOwogCiAJLyogUGFyc2UgdGhlIHNlY3VyaXR5IGNvbnRleHQuICovCiAKIAlyYyA9IC1FSU5WQUw7Ci0Jc2NvbnRleHRwID0gKGNoYXIgKikgc2NvbnRleHQyOworCXNjb250ZXh0cCA9IChjaGFyICopIHNjb250ZXh0OwogCiAJLyogRXh0cmFjdCB0aGUgdXNlci4gKi8KIAlwID0gc2NvbnRleHRwOwpAQCAtNzYyLDE1ICs3NjEsMTUgQEAKIAkJcCsrOwogCiAJaWYgKCpwID09IDApCi0JCWdvdG8gb3V0X3VubG9jazsKKwkJZ290byBvdXQ7CiAKIAkqcCsrID0gMDsKIAotCXVzcmRhdHVtID0gaGFzaHRhYl9zZWFyY2gocG9saWN5ZGIucF91c2Vycy50YWJsZSwgc2NvbnRleHRwKTsKKwl1c3JkYXR1bSA9IGhhc2h0YWJfc2VhcmNoKHBvbC0+cF91c2Vycy50YWJsZSwgc2NvbnRleHRwKTsKIAlpZiAoIXVzcmRhdHVtKQotCQlnb3RvIG91dF91bmxvY2s7CisJCWdvdG8gb3V0OwogCi0JY29udGV4dC51c2VyID0gdXNyZGF0dW0tPnZhbHVlOworCWN0eC0+dXNlciA9IHVzcmRhdHVtLT52YWx1ZTsKIAogCS8qIEV4dHJhY3Qgcm9sZS4gKi8KIAlzY29udGV4dHAgPSBwOwpAQCAtNzc4LDE0ICs3NzcsMTQgQEAKIAkJcCsrOwogCiAJaWYgKCpwID09IDApCi0JCWdvdG8gb3V0X3VubG9jazsKKwkJZ290byBvdXQ7CiAKIAkqcCsrID0gMDsKIAotCXJvbGUgPSBoYXNodGFiX3NlYXJjaChwb2xpY3lkYi5wX3JvbGVzLnRhYmxlLCBzY29udGV4dHApOworCXJvbGUgPSBoYXNodGFiX3NlYXJjaChwb2wtPnBfcm9sZXMudGFibGUsIHNjb250ZXh0cCk7CiAJaWYgKCFyb2xlKQotCQlnb3RvIG91dF91bmxvY2s7Ci0JY29udGV4dC5yb2xlID0gcm9sZS0+dmFsdWU7CisJCWdvdG8gb3V0OworCWN0eC0+cm9sZSA9IHJvbGUtPnZhbHVlOwogCiAJLyogRXh0cmFjdCB0eXBlLiAqLwogCXNjb250ZXh0cCA9IHA7CkBAIC03OTQsMzYgKzc5Myw5MCBAQAogCW9sZGMgPSAqcDsKIAkqcCsrID0gMDsKIAotCXR5cGRhdHVtID0gaGFzaHRhYl9zZWFyY2gocG9saWN5ZGIucF90eXBlcy50YWJsZSwgc2NvbnRleHRwKTsKKwl0eXBkYXR1bSA9IGhhc2h0YWJfc2VhcmNoKHBvbC0+cF90eXBlcy50YWJsZSwgc2NvbnRleHRwKTsKIAlpZiAoIXR5cGRhdHVtKQotCQlnb3RvIG91dF91bmxvY2s7CisJCWdvdG8gb3V0OwogCi0JY29udGV4dC50eXBlID0gdHlwZGF0dW0tPnZhbHVlOworCWN0eC0+dHlwZSA9IHR5cGRhdHVtLT52YWx1ZTsKIAotCXJjID0gbWxzX2NvbnRleHRfdG9fc2lkKG9sZGMsICZwLCAmY29udGV4dCwgJnNpZHRhYiwgZGVmX3NpZCk7CisJcmMgPSBtbHNfY29udGV4dF90b19zaWQocG9sLCBvbGRjLCAmcCwgY3R4LCBzaWR0YWJwLCBkZWZfc2lkKTsKIAlpZiAocmMpCi0JCWdvdG8gb3V0X3VubG9jazsKKwkJZ290byBvdXQ7CiAKLQlpZiAoKHAgLSBzY29udGV4dDIpIDwgc2NvbnRleHRfbGVuKSB7CisJaWYgKChwIC0gc2NvbnRleHQpIDwgc2NvbnRleHRfbGVuKSB7CiAJCXJjID0gLUVJTlZBTDsKLQkJZ290byBvdXRfdW5sb2NrOworCQlnb3RvIG91dDsKIAl9CiAKIAkvKiBDaGVjayB0aGUgdmFsaWRpdHkgb2YgdGhlIG5ldyBjb250ZXh0LiAqLwotCWlmICghcG9saWN5ZGJfY29udGV4dF9pc3ZhbGlkKCZwb2xpY3lkYiwgJmNvbnRleHQpKSB7CisJaWYgKCFwb2xpY3lkYl9jb250ZXh0X2lzdmFsaWQocG9sLCBjdHgpKSB7CiAJCXJjID0gLUVJTlZBTDsKLQkJZ290byBvdXRfdW5sb2NrOworCQljb250ZXh0X2Rlc3Ryb3koY3R4KTsKKwkJZ290byBvdXQ7CiAJfQotCS8qIE9idGFpbiB0aGUgbmV3IHNpZC4gKi8KLQlyYyA9IHNpZHRhYl9jb250ZXh0X3RvX3NpZCgmc2lkdGFiLCAmY29udGV4dCwgc2lkKTsKLW91dF91bmxvY2s6Ci0JUE9MSUNZX1JEVU5MT0NLOwotCWNvbnRleHRfZGVzdHJveSgmY29udGV4dCk7Ci0Ja2ZyZWUoc2NvbnRleHQyKTsKKwlyYyA9IDA7CiBvdXQ6CiAJcmV0dXJuIHJjOwogfQogCitzdGF0aWMgaW50IHNlY3VyaXR5X2NvbnRleHRfdG9fc2lkX2NvcmUoY29uc3QgY2hhciAqc2NvbnRleHQsIHUzMiBzY29udGV4dF9sZW4sCisJCQkJCXUzMiAqc2lkLCB1MzIgZGVmX3NpZCwgZ2ZwX3QgZ2ZwX2ZsYWdzLAorCQkJCQlpbnQgZm9yY2UpCit7CisJY2hhciAqc2NvbnRleHQyLCAqc3RyID0gTlVMTDsKKwlzdHJ1Y3QgY29udGV4dCBjb250ZXh0OworCWludCByYyA9IDA7CisKKwlpZiAoIXNzX2luaXRpYWxpemVkKSB7CisJCWludCBpOworCisJCWZvciAoaSA9IDE7IGkgPCBTRUNJTklUU0lEX05VTTsgaSsrKSB7CisJCQlpZiAoIXN0cmNtcChpbml0aWFsX3NpZF90b19zdHJpbmdbaV0sIHNjb250ZXh0KSkgeworCQkJCSpzaWQgPSBpOworCQkJCXJldHVybiAwOworCQkJfQorCQl9CisJCSpzaWQgPSBTRUNJTklUU0lEX0tFUk5FTDsKKwkJcmV0dXJuIDA7CisJfQorCSpzaWQgPSBTRUNTSURfTlVMTDsKKworCS8qIENvcHkgdGhlIHN0cmluZyBzbyB0aGF0IHdlIGNhbiBtb2RpZnkgdGhlIGNvcHkgYXMgd2UgcGFyc2UgaXQuICovCisJc2NvbnRleHQyID0ga21hbGxvYyhzY29udGV4dF9sZW4rMSwgZ2ZwX2ZsYWdzKTsKKwlpZiAoIXNjb250ZXh0MikKKwkJcmV0dXJuIC1FTk9NRU07CisJbWVtY3B5KHNjb250ZXh0Miwgc2NvbnRleHQsIHNjb250ZXh0X2xlbik7CisJc2NvbnRleHQyW3Njb250ZXh0X2xlbl0gPSAwOworCisJaWYgKGZvcmNlKSB7CisJCS8qIFNhdmUgYW5vdGhlciBjb3B5IGZvciBzdG9yaW5nIGluIHVuaW50ZXJwcmV0ZWQgZm9ybSAqLworCQlzdHIgPSBrc3RyZHVwKHNjb250ZXh0MiwgZ2ZwX2ZsYWdzKTsKKwkJaWYgKCFzdHIpIHsKKwkJCWtmcmVlKHNjb250ZXh0Mik7CisJCQlyZXR1cm4gLUVOT01FTTsKKwkJfQorCX0KKworCXJlYWRfbG9jaygmcG9saWN5X3J3bG9jayk7CisJcmMgPSBzdHJpbmdfdG9fY29udGV4dF9zdHJ1Y3QoJnBvbGljeWRiLCAmc2lkdGFiLAorCQkJCSAgICAgIHNjb250ZXh0Miwgc2NvbnRleHRfbGVuLAorCQkJCSAgICAgICZjb250ZXh0LCBkZWZfc2lkKTsKKwlpZiAocmMgPT0gLUVJTlZBTCAmJiBmb3JjZSkgeworCQljb250ZXh0LnN0ciA9IHN0cjsKKwkJY29udGV4dC5sZW4gPSBzY29udGV4dF9sZW47CisJCXN0ciA9IE5VTEw7CisJfSBlbHNlIGlmIChyYykKKwkJZ290byBvdXQ7CisJcmMgPSBzaWR0YWJfY29udGV4dF90b19zaWQoJnNpZHRhYiwgJmNvbnRleHQsIHNpZCk7CisJaWYgKHJjKQorCQljb250ZXh0X2Rlc3Ryb3koJmNvbnRleHQpOworb3V0OgorCXJlYWRfdW5sb2NrKCZwb2xpY3lfcndsb2NrKTsKKwlrZnJlZShzY29udGV4dDIpOworCWtmcmVlKHN0cik7CisJcmV0dXJuIHJjOworfQorCiAvKioKICAqIHNlY3VyaXR5X2NvbnRleHRfdG9fc2lkIC0gT2J0YWluIGEgU0lEIGZvciBhIGdpdmVuIHNlY3VyaXR5IGNvbnRleHQuCiAgKiBAc2NvbnRleHQ6IHNlY3VyaXR5IGNvbnRleHQKQEAgLTgzOCw3ICs4OTEsNyBAQAogaW50IHNlY3VyaXR5X2NvbnRleHRfdG9fc2lkKGNvbnN0IGNoYXIgKnNjb250ZXh0LCB1MzIgc2NvbnRleHRfbGVuLCB1MzIgKnNpZCkKIHsKIAlyZXR1cm4gc2VjdXJpdHlfY29udGV4dF90b19zaWRfY29yZShzY29udGV4dCwgc2NvbnRleHRfbGVuLAotCQkJCQkgICAgc2lkLCBTRUNTSURfTlVMTCwgR0ZQX0tFUk5FTCk7CisJCQkJCSAgICBzaWQsIFNFQ1NJRF9OVUxMLCBHRlBfS0VSTkVMLCAwKTsKIH0KIAogLyoqCkBAIC04NTUsNiArOTA4LDcgQEAKICAqIFRoZSBkZWZhdWx0IFNJRCBpcyBwYXNzZWQgdG8gdGhlIE1MUyBsYXllciB0byBiZSB1c2VkIHRvIGFsbG93CiAgKiBrZXJuZWwgbGFiZWxpbmcgb2YgdGhlIE1MUyBmaWVsZCBpZiB0aGUgTUxTIGZpZWxkIGlzIG5vdCBwcmVzZW50CiAgKiAoZm9yIHVwZ3JhZGluZyB0byBNTFMgd2l0aG91dCBmdWxsIHJlbGFiZWwpLgorICogSW1wbGljaXRseSBmb3JjZXMgYWRkaW5nIG9mIHRoZSBjb250ZXh0IGV2ZW4gaWYgaXQgY2Fubm90IGJlIG1hcHBlZCB5ZXQuCiAgKiBSZXR1cm5zIC0lRUlOVkFMIGlmIHRoZSBjb250ZXh0IGlzIGludmFsaWQsIC0lRU5PTUVNIGlmIGluc3VmZmljaWVudAogICogbWVtb3J5IGlzIGF2YWlsYWJsZSwgb3IgMCBvbiBzdWNjZXNzLgogICovCkBAIC04NjIsNyArOTE2LDE0IEBACiAJCQkJICAgIHUzMiAqc2lkLCB1MzIgZGVmX3NpZCwgZ2ZwX3QgZ2ZwX2ZsYWdzKQogewogCXJldHVybiBzZWN1cml0eV9jb250ZXh0X3RvX3NpZF9jb3JlKHNjb250ZXh0LCBzY29udGV4dF9sZW4sCi0JCQkJCSAgICBzaWQsIGRlZl9zaWQsIGdmcF9mbGFncyk7CisJCQkJCSAgICBzaWQsIGRlZl9zaWQsIGdmcF9mbGFncywgMSk7Cit9CisKK2ludCBzZWN1cml0eV9jb250ZXh0X3RvX3NpZF9mb3JjZShjb25zdCBjaGFyICpzY29udGV4dCwgdTMyIHNjb250ZXh0X2xlbiwKKwkJCQkgIHUzMiAqc2lkKQoreworCXJldHVybiBzZWN1cml0eV9jb250ZXh0X3RvX3NpZF9jb3JlKHNjb250ZXh0LCBzY29udGV4dF9sZW4sCisJCQkJCSAgICBzaWQsIFNFQ1NJRF9OVUxMLCBHRlBfS0VSTkVMLCAxKTsKIH0KIAogc3RhdGljIGludCBjb21wdXRlX3NpZF9oYW5kbGVfaW52YWxpZF9jb250ZXh0KApAQCAtOTIyLDcgKzk4Myw3IEBACiAKIAljb250ZXh0X2luaXQoJm5ld2NvbnRleHQpOwogCi0JUE9MSUNZX1JETE9DSzsKKwlyZWFkX2xvY2soJnBvbGljeV9yd2xvY2spOwogCiAJc2NvbnRleHQgPSBzaWR0YWJfc2VhcmNoKCZzaWR0YWIsIHNzaWQpOwogCWlmICghc2NvbnRleHQpIHsKQEAgLTEwMjcsNyArMTA4OCw3IEBACiAJLyogT2J0YWluIHRoZSBzaWQgZm9yIHRoZSBjb250ZXh0LiAqLwogCXJjID0gc2lkdGFiX2NvbnRleHRfdG9fc2lkKCZzaWR0YWIsICZuZXdjb250ZXh0LCBvdXRfc2lkKTsKIG91dF91bmxvY2s6Ci0JUE9MSUNZX1JEVU5MT0NLOworCXJlYWRfdW5sb2NrKCZwb2xpY3lfcndsb2NrKTsKIAljb250ZXh0X2Rlc3Ryb3koJm5ld2NvbnRleHQpOwogb3V0OgogCXJldHVybiByYzsKQEAgLTExMTAsNiArMTE3MSw3IEBACiAJY29uc3Qgc3RydWN0IHNlbGludXhfY2xhc3NfcGVybSAqa2RlZnMgPSAmc2VsaW51eF9jbGFzc19wZXJtOwogCWNvbnN0IGNoYXIgKmRlZl9jbGFzcywgKmRlZl9wZXJtLCAqcG9sX2NsYXNzOwogCXN0cnVjdCBzeW10YWIgKnBlcm1zOworCWJvb2wgcHJpbnRfdW5rbm93bl9oYW5kbGUgPSAwOwogCiAJaWYgKHAtPmFsbG93X3Vua25vd24pIHsKIAkJdTMyIG51bV9jbGFzc2VzID0ga2RlZnMtPmN0c19sZW47CkBAIC0xMTMwLDYgKzExOTIsNyBAQAogCQkJCXJldHVybiAtRUlOVkFMOwogCQkJaWYgKHAtPmFsbG93X3Vua25vd24pCiAJCQkJcC0+dW5kZWZpbmVkX3Blcm1zW2ktMV0gPSB+MFU7CisJCQlwcmludF91bmtub3duX2hhbmRsZSA9IDE7CiAJCQljb250aW51ZTsKIAkJfQogCQlwb2xfY2xhc3MgPSBwLT5wX2NsYXNzX3ZhbF90b19uYW1lW2ktMV07CkBAIC0xMTU5LDYgKzEyMjIsNyBAQAogCQkJCXJldHVybiAtRUlOVkFMOwogCQkJaWYgKHAtPmFsbG93X3Vua25vd24pCiAJCQkJcC0+dW5kZWZpbmVkX3Blcm1zW2NsYXNzX3ZhbC0xXSB8PSBwZXJtX3ZhbDsKKwkJCXByaW50X3Vua25vd25faGFuZGxlID0gMTsKIAkJCWNvbnRpbnVlOwogCQl9CiAJCXBlcmRhdHVtID0gaGFzaHRhYl9zZWFyY2gocGVybXMtPnRhYmxlLCBkZWZfcGVybSk7CkBAIC0xMjA2LDYgKzEyNzAsNyBAQAogCQkJCQlyZXR1cm4gLUVJTlZBTDsKIAkJCQlpZiAocC0+YWxsb3dfdW5rbm93bikKIAkJCQkJcC0+dW5kZWZpbmVkX3Blcm1zW2NsYXNzX3ZhbC0xXSB8PSAoMSA8PCBqKTsKKwkJCQlwcmludF91bmtub3duX2hhbmRsZSA9IDE7CiAJCQkJY29udGludWU7CiAJCQl9CiAJCQlwZXJkYXR1bSA9IGhhc2h0YWJfc2VhcmNoKHBlcm1zLT50YWJsZSwgZGVmX3Blcm0pOwpAQCAtMTIyMyw2ICsxMjg4LDkgQEAKIAkJCX0KIAkJfQogCX0KKwlpZiAocHJpbnRfdW5rbm93bl9oYW5kbGUpCisJCXByaW50ayhLRVJOX0lORk8gIlNFTGludXg6IHRoZSBhYm92ZSB1bmtub3duIGNsYXNzZXMgYW5kIHBlcm1pc3Npb25zIHdpbGwgYmUgJXNcbiIsCisJCQkoc2VjdXJpdHlfZ2V0X2FsbG93X3Vua25vd24oKSA/ICJhbGxvd2VkIiA6ICJkZW5pZWQiKSk7CiAJcmV0dXJuIDA7CiB9CiAKQEAgLTEyNDYsOSArMTMxNCwxMiBAQAogCQljaGFyICpzOwogCQl1MzIgbGVuOwogCi0JCWNvbnRleHRfc3RydWN0X3RvX3N0cmluZyhjb250ZXh0LCAmcywgJmxlbik7Ci0JCXByaW50ayhLRVJOX0VSUiAiU0VMaW51eDogIGNvbnRleHQgJXMgaXMgaW52YWxpZFxuIiwgcyk7Ci0JCWtmcmVlKHMpOworCQlpZiAoIWNvbnRleHRfc3RydWN0X3RvX3N0cmluZyhjb250ZXh0LCAmcywgJmxlbikpIHsKKwkJCXByaW50ayhLRVJOX1dBUk5JTkcKKwkJICAgICAgICJTRUxpbnV4OiAgQ29udGV4dCAlcyB3b3VsZCBiZSBpbnZhbGlkIGlmIGVuZm9yY2luZ1xuIiwKKwkJCSAgICAgICBzKTsKKwkJCWtmcmVlKHMpOworCQl9CiAJfQogCXJldHVybiByYzsKIH0KQEAgLTEyODAsNiArMTM1MSwzNyBAQAogCiAJYXJncyA9IHA7CiAKKwlpZiAoYy0+c3RyKSB7CisJCXN0cnVjdCBjb250ZXh0IGN0eDsKKwkJcyA9IGtzdHJkdXAoYy0+c3RyLCBHRlBfS0VSTkVMKTsKKwkJaWYgKCFzKSB7CisJCQlyYyA9IC1FTk9NRU07CisJCQlnb3RvIG91dDsKKwkJfQorCQlyYyA9IHN0cmluZ190b19jb250ZXh0X3N0cnVjdChhcmdzLT5uZXdwLCBOVUxMLCBzLAorCQkJCQkgICAgICBjLT5sZW4sICZjdHgsIFNFQ1NJRF9OVUxMKTsKKwkJa2ZyZWUocyk7CisJCWlmICghcmMpIHsKKwkJCXByaW50ayhLRVJOX0lORk8KKwkJICAgICAgICJTRUxpbnV4OiAgQ29udGV4dCAlcyBiZWNhbWUgdmFsaWQgKG1hcHBlZCkuXG4iLAorCQkJICAgICAgIGMtPnN0cik7CisJCQkvKiBSZXBsYWNlIHN0cmluZyB3aXRoIG1hcHBlZCByZXByZXNlbnRhdGlvbi4gKi8KKwkJCWtmcmVlKGMtPnN0cik7CisJCQltZW1jcHkoYywgJmN0eCwgc2l6ZW9mKCpjKSk7CisJCQlnb3RvIG91dDsKKwkJfSBlbHNlIGlmIChyYyA9PSAtRUlOVkFMKSB7CisJCQkvKiBSZXRhaW4gc3RyaW5nIHJlcHJlc2VudGF0aW9uIGZvciBsYXRlciBtYXBwaW5nLiAqLworCQkJcmMgPSAwOworCQkJZ290byBvdXQ7CisJCX0gZWxzZSB7CisJCQkvKiBPdGhlciBlcnJvciBjb25kaXRpb24sIGUuZy4gRU5PTUVNLiAqLworCQkJcHJpbnRrKEtFUk5fRVJSCisJCSAgICAgICAiU0VMaW51eDogICBVbmFibGUgdG8gbWFwIGNvbnRleHQgJXMsIHJjID0gJWQuXG4iLAorCQkJICAgICAgIGMtPnN0ciwgLXJjKTsKKwkJCWdvdG8gb3V0OworCQl9CisJfQorCiAJcmMgPSBjb250ZXh0X2NweSgmb2xkYywgYyk7CiAJaWYgKHJjKQogCQlnb3RvIG91dDsKQEAgLTEzMTksMTMgKzE0MjEsMjEgQEAKIAl9CiAKIAljb250ZXh0X2Rlc3Ryb3koJm9sZGMpOworCXJjID0gMDsKIG91dDoKIAlyZXR1cm4gcmM7CiBiYWQ6Ci0JY29udGV4dF9zdHJ1Y3RfdG9fc3RyaW5nKCZvbGRjLCAmcywgJmxlbik7CisJLyogTWFwIG9sZCByZXByZXNlbnRhdGlvbiB0byBzdHJpbmcgYW5kIHNhdmUgaXQuICovCisJaWYgKGNvbnRleHRfc3RydWN0X3RvX3N0cmluZygmb2xkYywgJnMsICZsZW4pKQorCQlyZXR1cm4gLUVOT01FTTsKIAljb250ZXh0X2Rlc3Ryb3koJm9sZGMpOwotCXByaW50ayhLRVJOX0VSUiAiU0VMaW51eDogIGludmFsaWRhdGluZyBjb250ZXh0ICVzXG4iLCBzKTsKLQlrZnJlZShzKTsKKwljb250ZXh0X2Rlc3Ryb3koYyk7CisJYy0+c3RyID0gczsKKwljLT5sZW4gPSBsZW47CisJcHJpbnRrKEtFUk5fSU5GTworCSAgICAgICAiU0VMaW51eDogIENvbnRleHQgJXMgYmVjYW1lIGludmFsaWQgKHVubWFwcGVkKS5cbiIsCisJICAgICAgIGMtPnN0cik7CisJcmMgPSAwOwogCWdvdG8gb3V0OwogfQogCkBAIC0xMzU5LDE3ICsxNDY5LDEzIEBACiAJaW50IHJjID0gMDsKIAlzdHJ1Y3QgcG9saWN5X2ZpbGUgZmlsZSA9IHsgZGF0YSwgbGVuIH0sICpmcCA9ICZmaWxlOwogCi0JTE9BRF9MT0NLOwotCiAJaWYgKCFzc19pbml0aWFsaXplZCkgewogCQlhdnRhYl9jYWNoZV9pbml0KCk7CiAJCWlmIChwb2xpY3lkYl9yZWFkKCZwb2xpY3lkYiwgZnApKSB7Ci0JCQlMT0FEX1VOTE9DSzsKIAkJCWF2dGFiX2NhY2hlX2Rlc3Ryb3koKTsKIAkJCXJldHVybiAtRUlOVkFMOwogCQl9CiAJCWlmIChwb2xpY3lkYl9sb2FkX2lzaWRzKCZwb2xpY3lkYiwgJnNpZHRhYikpIHsKLQkJCUxPQURfVU5MT0NLOwogCQkJcG9saWN5ZGJfZGVzdHJveSgmcG9saWN5ZGIpOwogCQkJYXZ0YWJfY2FjaGVfZGVzdHJveSgpOwogCQkJcmV0dXJuIC1FSU5WQUw7CkBAIC0xMzc4LDcgKzE0ODQsNiBAQAogCQlpZiAodmFsaWRhdGVfY2xhc3NlcygmcG9saWN5ZGIpKSB7CiAJCQlwcmludGsoS0VSTl9FUlIKIAkJCSAgICAgICAiU0VMaW51eDogIHRoZSBkZWZpbml0aW9uIG9mIGEgY2xhc3MgaXMgaW5jb3JyZWN0XG4iKTsKLQkJCUxPQURfVU5MT0NLOwogCQkJc2lkdGFiX2Rlc3Ryb3koJnNpZHRhYik7CiAJCQlwb2xpY3lkYl9kZXN0cm95KCZwb2xpY3lkYik7CiAJCQlhdnRhYl9jYWNoZV9kZXN0cm95KCk7CkBAIC0xMzg4LDcgKzE0OTMsNiBAQAogCQlwb2xpY3lkYl9sb2FkZWRfdmVyc2lvbiA9IHBvbGljeWRiLnBvbGljeXZlcnM7CiAJCXNzX2luaXRpYWxpemVkID0gMTsKIAkJc2Vxbm8gPSArK2xhdGVzdF9ncmFudGluZzsKLQkJTE9BRF9VTkxPQ0s7CiAJCXNlbGludXhfY29tcGxldGVfaW5pdCgpOwogCQlhdmNfc3NfcmVzZXQoc2Vxbm8pOwogCQlzZWxubF9ub3RpZnlfcG9saWN5bG9hZChzZXFubyk7CkBAIC0xNDAxLDEyICsxNTA1LDEzIEBACiAJc2lkdGFiX2hhc2hfZXZhbCgmc2lkdGFiLCAic2lkcyIpOwogI2VuZGlmCiAKLQlpZiAocG9saWN5ZGJfcmVhZCgmbmV3cG9saWN5ZGIsIGZwKSkgewotCQlMT0FEX1VOTE9DSzsKKwlpZiAocG9saWN5ZGJfcmVhZCgmbmV3cG9saWN5ZGIsIGZwKSkKIAkJcmV0dXJuIC1FSU5WQUw7Ci0JfQogCi0Jc2lkdGFiX2luaXQoJm5ld3NpZHRhYik7CisJaWYgKHNpZHRhYl9pbml0KCZuZXdzaWR0YWIpKSB7CisJCXBvbGljeWRiX2Rlc3Ryb3koJm5ld3BvbGljeWRiKTsKKwkJcmV0dXJuIC1FTk9NRU07CisJfQogCiAJLyogVmVyaWZ5IHRoYXQgdGhlIGtlcm5lbCBkZWZpbmVkIGNsYXNzZXMgYXJlIGNvcnJlY3QuICovCiAJaWYgKHZhbGlkYXRlX2NsYXNzZXMoJm5ld3BvbGljeWRiKSkgewpAQCAtMTQyOSwyNSArMTUzNCwyOCBAQAogCQlnb3RvIGVycjsKIAl9CiAKLQkvKiBDb252ZXJ0IHRoZSBpbnRlcm5hbCByZXByZXNlbnRhdGlvbnMgb2YgY29udGV4dHMKLQkgICBpbiB0aGUgbmV3IFNJRCB0YWJsZSBhbmQgcmVtb3ZlIGludmFsaWQgU0lEcy4gKi8KKwkvKgorCSAqIENvbnZlcnQgdGhlIGludGVybmFsIHJlcHJlc2VudGF0aW9ucyBvZiBjb250ZXh0cworCSAqIGluIHRoZSBuZXcgU0lEIHRhYmxlLgorCSAqLwogCWFyZ3Mub2xkcCA9ICZwb2xpY3lkYjsKIAlhcmdzLm5ld3AgPSAmbmV3cG9saWN5ZGI7Ci0Jc2lkdGFiX21hcF9yZW1vdmVfb25fZXJyb3IoJm5ld3NpZHRhYiwgY29udmVydF9jb250ZXh0LCAmYXJncyk7CisJcmMgPSBzaWR0YWJfbWFwKCZuZXdzaWR0YWIsIGNvbnZlcnRfY29udGV4dCwgJmFyZ3MpOworCWlmIChyYykKKwkJZ290byBlcnI7CiAKIAkvKiBTYXZlIHRoZSBvbGQgcG9saWN5ZGIgYW5kIFNJRCB0YWJsZSB0byBmcmVlIGxhdGVyLiAqLwogCW1lbWNweSgmb2xkcG9saWN5ZGIsICZwb2xpY3lkYiwgc2l6ZW9mIHBvbGljeWRiKTsKIAlzaWR0YWJfc2V0KCZvbGRzaWR0YWIsICZzaWR0YWIpOwogCiAJLyogSW5zdGFsbCB0aGUgbmV3IHBvbGljeWRiIGFuZCBTSUQgdGFibGUuICovCi0JUE9MSUNZX1dSTE9DSzsKKwl3cml0ZV9sb2NrX2lycSgmcG9saWN5X3J3bG9jayk7CiAJbWVtY3B5KCZwb2xpY3lkYiwgJm5ld3BvbGljeWRiLCBzaXplb2YgcG9saWN5ZGIpOwogCXNpZHRhYl9zZXQoJnNpZHRhYiwgJm5ld3NpZHRhYik7CiAJc2VjdXJpdHlfbG9hZF9wb2xpY3ljYXBzKCk7CiAJc2Vxbm8gPSArK2xhdGVzdF9ncmFudGluZzsKIAlwb2xpY3lkYl9sb2FkZWRfdmVyc2lvbiA9IHBvbGljeWRiLnBvbGljeXZlcnM7Ci0JUE9MSUNZX1dSVU5MT0NLOwotCUxPQURfVU5MT0NLOworCXdyaXRlX3VubG9ja19pcnEoJnBvbGljeV9yd2xvY2spOwogCiAJLyogRnJlZSB0aGUgb2xkIHBvbGljeWRiIGFuZCBTSUQgdGFibGUuICovCiAJcG9saWN5ZGJfZGVzdHJveSgmb2xkcG9saWN5ZGIpOwpAQCAtMTQ2MSw3ICsxNTY5LDYgQEAKIAlyZXR1cm4gMDsKIAogZXJyOgotCUxPQURfVU5MT0NLOwogCXNpZHRhYl9kZXN0cm95KCZuZXdzaWR0YWIpOwogCXBvbGljeWRiX2Rlc3Ryb3koJm5ld3BvbGljeWRiKTsKIAlyZXR1cm4gcmM7CkBAIC0xNDc5LDcgKzE1ODYsNyBAQAogCXN0cnVjdCBvY29udGV4dCAqYzsKIAlpbnQgcmMgPSAwOwogCi0JUE9MSUNZX1JETE9DSzsKKwlyZWFkX2xvY2soJnBvbGljeV9yd2xvY2spOwogCiAJYyA9IHBvbGljeWRiLm9jb250ZXh0c1tPQ09OX1BPUlRdOwogCXdoaWxlIChjKSB7CkBAIC0xNTA0LDcgKzE2MTEsNyBAQAogCX0KIAogb3V0OgotCVBPTElDWV9SRFVOTE9DSzsKKwlyZWFkX3VubG9jaygmcG9saWN5X3J3bG9jayk7CiAJcmV0dXJuIHJjOwogfQogCkBAIC0xNTE4LDcgKzE2MjUsNyBAQAogCWludCByYyA9IDA7CiAJc3RydWN0IG9jb250ZXh0ICpjOwogCi0JUE9MSUNZX1JETE9DSzsKKwlyZWFkX2xvY2soJnBvbGljeV9yd2xvY2spOwogCiAJYyA9IHBvbGljeWRiLm9jb250ZXh0c1tPQ09OX05FVElGXTsKIAl3aGlsZSAoYykgewpAQCAtMTU0NSw3ICsxNjUyLDcgQEAKIAkJKmlmX3NpZCA9IFNFQ0lOSVRTSURfTkVUSUY7CiAKIG91dDoKLQlQT0xJQ1lfUkRVTkxPQ0s7CisJcmVhZF91bmxvY2soJnBvbGljeV9yd2xvY2spOwogCXJldHVybiByYzsKIH0KIApAQCAtMTU3Nyw3ICsxNjg0LDcgQEAKIAlpbnQgcmMgPSAwOwogCXN0cnVjdCBvY29udGV4dCAqYzsKIAotCVBPTElDWV9SRExPQ0s7CisJcmVhZF9sb2NrKCZwb2xpY3lfcndsb2NrKTsKIAogCXN3aXRjaCAoZG9tYWluKSB7CiAJY2FzZSBBRl9JTkVUOiB7CkBAIC0xNjMyLDcgKzE3MzksNyBAQAogCX0KIAogb3V0OgotCVBPTElDWV9SRFVOTE9DSzsKKwlyZWFkX3VubG9jaygmcG9saWN5X3J3bG9jayk7CiAJcmV0dXJuIHJjOwogfQogCkBAIC0xNjcxLDcgKzE3NzgsOSBAQAogCWlmICghc3NfaW5pdGlhbGl6ZWQpCiAJCWdvdG8gb3V0OwogCi0JUE9MSUNZX1JETE9DSzsKKwlyZWFkX2xvY2soJnBvbGljeV9yd2xvY2spOworCisJY29udGV4dF9pbml0KCZ1c2VyY29uKTsKIAogCWZyb21jb24gPSBzaWR0YWJfc2VhcmNoKCZzaWR0YWIsIGZyb21zaWQpOwogCWlmICghZnJvbWNvbikgewpAQCAtMTcyMiw3ICsxODMxLDcgQEAKIAl9CiAKIG91dF91bmxvY2s6Ci0JUE9MSUNZX1JEVU5MT0NLOworCXJlYWRfdW5sb2NrKCZwb2xpY3lfcndsb2NrKTsKIAlpZiAocmMgfHwgIW15bmVsKSB7CiAJCWtmcmVlKG15c2lkcyk7CiAJCWdvdG8gb3V0OwpAQCAtMTc3NSw3ICsxODg0LDcgQEAKIAl3aGlsZSAocGF0aFswXSA9PSAnLycgJiYgcGF0aFsxXSA9PSAnLycpCiAJCXBhdGgrKzsKIAotCVBPTElDWV9SRExPQ0s7CisJcmVhZF9sb2NrKCZwb2xpY3lfcndsb2NrKTsKIAogCWZvciAoZ2VuZnMgPSBwb2xpY3lkYi5nZW5mczsgZ2VuZnM7IGdlbmZzID0gZ2VuZnMtPm5leHQpIHsKIAkJY21wID0gc3RyY21wKGZzdHlwZSwgZ2VuZnMtPmZzdHlwZSk7CkBAIC0xODEyLDcgKzE5MjEsNyBAQAogCiAJKnNpZCA9IGMtPnNpZFswXTsKIG91dDoKLQlQT0xJQ1lfUkRVTkxPQ0s7CisJcmVhZF91bmxvY2soJnBvbGljeV9yd2xvY2spOwogCXJldHVybiByYzsKIH0KIApAQCAtMTgzMCw3ICsxOTM5LDcgQEAKIAlpbnQgcmMgPSAwOwogCXN0cnVjdCBvY29udGV4dCAqYzsKIAotCVBPTElDWV9SRExPQ0s7CisJcmVhZF9sb2NrKCZwb2xpY3lfcndsb2NrKTsKIAogCWMgPSBwb2xpY3lkYi5vY29udGV4dHNbT0NPTl9GU1VTRV07CiAJd2hpbGUgKGMpIHsKQEAgLTE4NjAsNyArMTk2OSw3IEBACiAJfQogCiBvdXQ6Ci0JUE9MSUNZX1JEVU5MT0NLOworCXJlYWRfdW5sb2NrKCZwb2xpY3lfcndsb2NrKTsKIAlyZXR1cm4gcmM7CiB9CiAKQEAgLTE4NjgsNyArMTk3Nyw3IEBACiB7CiAJaW50IGksIHJjID0gLUVOT01FTTsKIAotCVBPTElDWV9SRExPQ0s7CisJcmVhZF9sb2NrKCZwb2xpY3lfcndsb2NrKTsKIAkqbmFtZXMgPSBOVUxMOwogCSp2YWx1ZXMgPSBOVUxMOwogCkBAIC0xODk4LDcgKzIwMDcsNyBAQAogCX0KIAlyYyA9IDA7CiBvdXQ6Ci0JUE9MSUNZX1JEVU5MT0NLOworCXJlYWRfdW5sb2NrKCZwb2xpY3lfcndsb2NrKTsKIAlyZXR1cm4gcmM7CiBlcnI6CiAJaWYgKCpuYW1lcykgewpAQCAtMTkxNiw3ICsyMDI1LDcgQEAKIAlpbnQgbGVucCwgc2Vxbm8gPSAwOwogCXN0cnVjdCBjb25kX25vZGUgKmN1cjsKIAotCVBPTElDWV9XUkxPQ0s7CisJd3JpdGVfbG9ja19pcnEoJnBvbGljeV9yd2xvY2spOwogCiAJbGVucCA9IHBvbGljeWRiLnBfYm9vbHMubnByaW07CiAJaWYgKGxlbiAhPSBsZW5wKSB7CkBAIC0xOTUwLDcgKzIwNTksNyBAQAogCXNlcW5vID0gKytsYXRlc3RfZ3JhbnRpbmc7CiAKIG91dDoKLQlQT0xJQ1lfV1JVTkxPQ0s7CisJd3JpdGVfdW5sb2NrX2lycSgmcG9saWN5X3J3bG9jayk7CiAJaWYgKCFyYykgewogCQlhdmNfc3NfcmVzZXQoc2Vxbm8pOwogCQlzZWxubF9ub3RpZnlfcG9saWN5bG9hZChzZXFubyk7CkBAIC0xOTY0LDcgKzIwNzMsNyBAQAogCWludCByYyA9IDA7CiAJaW50IGxlbjsKIAotCVBPTElDWV9SRExPQ0s7CisJcmVhZF9sb2NrKCZwb2xpY3lfcndsb2NrKTsKIAogCWxlbiA9IHBvbGljeWRiLnBfYm9vbHMubnByaW07CiAJaWYgKGJvb2wgPj0gbGVuKSB7CkBAIC0xOTc0LDcgKzIwODMsNyBAQAogCiAJcmMgPSBwb2xpY3lkYi5ib29sX3ZhbF90b19zdHJ1Y3RbYm9vbF0tPnN0YXRlOwogb3V0OgotCVBPTElDWV9SRFVOTE9DSzsKKwlyZWFkX3VubG9jaygmcG9saWN5X3J3bG9jayk7CiAJcmV0dXJuIHJjOwogfQogCkBAIC0yMDI5LDcgKzIxMzgsNyBAQAogCiAJY29udGV4dF9pbml0KCZuZXdjb24pOwogCi0JUE9MSUNZX1JETE9DSzsKKwlyZWFkX2xvY2soJnBvbGljeV9yd2xvY2spOwogCWNvbnRleHQxID0gc2lkdGFiX3NlYXJjaCgmc2lkdGFiLCBzaWQpOwogCWlmICghY29udGV4dDEpIHsKIAkJcHJpbnRrKEtFUk5fRVJSICJTRUxpbnV4OiAlczogIHVucmVjb2duaXplZCBTSUQgJWRcbiIsCkBAIC0yMDcxLDcgKzIxODAsNyBAQAogCX0KIAogb3V0X3VubG9jazoKLQlQT0xJQ1lfUkRVTkxPQ0s7CisJcmVhZF91bmxvY2soJnBvbGljeV9yd2xvY2spOwogCWNvbnRleHRfZGVzdHJveSgmbmV3Y29uKTsKIG91dDoKIAlyZXR1cm4gcmM7CkBAIC0yMTI4LDcgKzIyMzcsNyBAQAogCQlyZXR1cm4gMDsKIAl9CiAKLQlQT0xJQ1lfUkRMT0NLOworCXJlYWRfbG9jaygmcG9saWN5X3J3bG9jayk7CiAKIAlubGJsX2N0eCA9IHNpZHRhYl9zZWFyY2goJnNpZHRhYiwgbmxibF9zaWQpOwogCWlmICghbmxibF9jdHgpIHsKQEAgLTIxNDcsNyArMjI1Niw3IEBACiAJcmMgPSAobWxzX2NvbnRleHRfY21wKG5sYmxfY3R4LCB4ZnJtX2N0eCkgPyAwIDogLUVBQ0NFUyk7CiAKIG91dF9zbG93cGF0aDoKLQlQT0xJQ1lfUkRVTkxPQ0s7CisJcmVhZF91bmxvY2soJnBvbGljeV9yd2xvY2spOwogCWlmIChyYyA9PSAwKQogCQkvKiBhdCBwcmVzZW50IE5ldExhYmVsIFNJRHMvbGFiZWxzIHJlYWxseSBvbmx5IGNhcnJ5IE1MUwogCQkgKiBpbmZvcm1hdGlvbiBzbyBpZiB0aGUgTUxTIHBvcnRpb24gb2YgdGhlIE5ldExhYmVsIFNJRApAQCAtMjE3Nyw3ICsyMjg2LDcgQEAKIHsKIAlpbnQgcmMgPSAtRU5PTUVNOwogCi0JUE9MSUNZX1JETE9DSzsKKwlyZWFkX2xvY2soJnBvbGljeV9yd2xvY2spOwogCiAJKm5jbGFzc2VzID0gcG9saWN5ZGIucF9jbGFzc2VzLm5wcmltOwogCSpjbGFzc2VzID0ga2NhbGxvYygqbmNsYXNzZXMsIHNpemVvZigqY2xhc3NlcyksIEdGUF9BVE9NSUMpOwpAQCAtMjE5NCw3ICsyMzAzLDcgQEAKIAl9CiAKIG91dDoKLQlQT0xJQ1lfUkRVTkxPQ0s7CisJcmVhZF91bmxvY2soJnBvbGljeV9yd2xvY2spOwogCXJldHVybiByYzsKIH0KIApAQCAtMjIxNiw3ICsyMzI1LDcgQEAKIAlpbnQgcmMgPSAtRU5PTUVNLCBpOwogCXN0cnVjdCBjbGFzc19kYXR1bSAqbWF0Y2g7CiAKLQlQT0xJQ1lfUkRMT0NLOworCXJlYWRfbG9jaygmcG9saWN5X3J3bG9jayk7CiAKIAltYXRjaCA9IGhhc2h0YWJfc2VhcmNoKHBvbGljeWRiLnBfY2xhc3Nlcy50YWJsZSwgY2xhc3MpOwogCWlmICghbWF0Y2gpIHsKQEAgLTIyNDQsMTEgKzIzNTMsMTEgQEAKIAkJZ290byBlcnI7CiAKIG91dDoKLQlQT0xJQ1lfUkRVTkxPQ0s7CisJcmVhZF91bmxvY2soJnBvbGljeV9yd2xvY2spOwogCXJldHVybiByYzsKIAogZXJyOgotCVBPTElDWV9SRFVOTE9DSzsKKwlyZWFkX3VubG9jaygmcG9saWN5X3J3bG9jayk7CiAJZm9yIChpID0gMDsgaSA8ICpucGVybXM7IGkrKykKIAkJa2ZyZWUoKCpwZXJtcylbaV0pOwogCWtmcmVlKCpwZXJtcyk7CkBAIC0yMjc5LDkgKzIzODgsOSBAQAogewogCWludCByYzsKIAotCVBPTElDWV9SRExPQ0s7CisJcmVhZF9sb2NrKCZwb2xpY3lfcndsb2NrKTsKIAlyYyA9IGViaXRtYXBfZ2V0X2JpdCgmcG9saWN5ZGIucG9saWN5Y2FwcywgcmVxX2NhcCk7Ci0JUE9MSUNZX1JEVU5MT0NLOworCXJlYWRfdW5sb2NrKCZwb2xpY3lfcndsb2NrKTsKIAogCXJldHVybiByYzsKIH0KQEAgLTIzNDUsNyArMjQ1NCw3IEBACiAKIAljb250ZXh0X2luaXQoJnRtcHJ1bGUtPmF1X2N0eHQpOwogCi0JUE9MSUNZX1JETE9DSzsKKwlyZWFkX2xvY2soJnBvbGljeV9yd2xvY2spOwogCiAJdG1wcnVsZS0+YXVfc2Vxbm8gPSBsYXRlc3RfZ3JhbnRpbmc7CiAKQEAgLTIzODIsNyArMjQ5MSw3IEBACiAJCWJyZWFrOwogCX0KIAotCVBPTElDWV9SRFVOTE9DSzsKKwlyZWFkX3VubG9jaygmcG9saWN5X3J3bG9jayk7CiAKIAlpZiAocmMpIHsKIAkJc2VsaW51eF9hdWRpdF9ydWxlX2ZyZWUodG1wcnVsZSk7CkBAIC0yNDIwLDcgKzI1MjksNyBAQAogfQogCiBpbnQgc2VsaW51eF9hdWRpdF9ydWxlX21hdGNoKHUzMiBzaWQsIHUzMiBmaWVsZCwgdTMyIG9wLCB2b2lkICp2cnVsZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGF1ZGl0X2NvbnRleHQgKmFjdHgpCisJCQkgICAgIHN0cnVjdCBhdWRpdF9jb250ZXh0ICphY3R4KQogewogCXN0cnVjdCBjb250ZXh0ICpjdHh0OwogCXN0cnVjdCBtbHNfbGV2ZWwgKmxldmVsOwpAQCAtMjQzMyw3ICsyNTQyLDcgQEAKIAkJcmV0dXJuIC1FTk9FTlQ7CiAJfQogCi0JUE9MSUNZX1JETE9DSzsKKwlyZWFkX2xvY2soJnBvbGljeV9yd2xvY2spOwogCiAJaWYgKHJ1bGUtPmF1X3NlcW5vIDwgbGF0ZXN0X2dyYW50aW5nKSB7CiAJCWF1ZGl0X2xvZyhhY3R4LCBHRlBfQVRPTUlDLCBBVURJVF9TRUxJTlVYX0VSUiwKQEAgLTI1MjcsMTQgKzI2MzYsMTQgQEAKIAl9CiAKIG91dDoKLQlQT0xJQ1lfUkRVTkxPQ0s7CisJcmVhZF91bmxvY2soJnBvbGljeV9yd2xvY2spOwogCXJldHVybiBtYXRjaDsKIH0KIAogc3RhdGljIGludCAoKmF1cnVsZV9jYWxsYmFjaykodm9pZCkgPSBhdWRpdF91cGRhdGVfbHNtX3J1bGVzOwogCiBzdGF0aWMgaW50IGF1cnVsZV9hdmNfY2FsbGJhY2sodTMyIGV2ZW50LCB1MzIgc3NpZCwgdTMyIHRzaWQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdTE2IGNsYXNzLCB1MzIgcGVybXMsIHUzMiAqcmV0YWluZWQpCisJCQkgICAgICAgdTE2IGNsYXNzLCB1MzIgcGVybXMsIHUzMiAqcmV0YWluZWQpCiB7CiAJaW50IGVyciA9IDA7CiAKQEAgLTI2MTUsNyArMjcyNCw3IEBACiAJCXJldHVybiAwOwogCX0KIAotCVBPTElDWV9SRExPQ0s7CisJcmVhZF9sb2NrKCZwb2xpY3lfcndsb2NrKTsKIAogCWlmIChzZWNhdHRyLT5mbGFncyAmIE5FVExCTF9TRUNBVFRSX0NBQ0hFKSB7CiAJCSpzaWQgPSAqKHUzMiAqKXNlY2F0dHItPmNhY2hlLT5kYXRhOwpAQCAtMjY2MCw3ICsyNzY5LDcgQEAKIAl9CiAKIG5ldGxibF9zZWNhdHRyX3RvX3NpZF9yZXR1cm46Ci0JUE9MSUNZX1JEVU5MT0NLOworCXJlYWRfdW5sb2NrKCZwb2xpY3lfcndsb2NrKTsKIAlyZXR1cm4gcmM7CiBuZXRsYmxfc2VjYXR0cl90b19zaWRfcmV0dXJuX2NsZWFudXA6CiAJZWJpdG1hcF9kZXN0cm95KCZjdHhfbmV3LnJhbmdlLmxldmVsWzBdLmNhdCk7CkBAIC0yNjg1LDcgKzI3OTQsNyBAQAogCWlmICghc3NfaW5pdGlhbGl6ZWQpCiAJCXJldHVybiAwOwogCi0JUE9MSUNZX1JETE9DSzsKKwlyZWFkX2xvY2soJnBvbGljeV9yd2xvY2spOwogCWN0eCA9IHNpZHRhYl9zZWFyY2goJnNpZHRhYiwgc2lkKTsKIAlpZiAoY3R4ID09IE5VTEwpCiAJCWdvdG8gbmV0bGJsX3NpZF90b19zZWNhdHRyX2ZhaWx1cmU7CkBAIC0yNjk2LDEyICsyODA1LDEyIEBACiAJcmMgPSBtbHNfZXhwb3J0X25ldGxibF9jYXQoY3R4LCBzZWNhdHRyKTsKIAlpZiAocmMgIT0gMCkKIAkJZ290byBuZXRsYmxfc2lkX3RvX3NlY2F0dHJfZmFpbHVyZTsKLQlQT0xJQ1lfUkRVTkxPQ0s7CisJcmVhZF91bmxvY2soJnBvbGljeV9yd2xvY2spOwogCiAJcmV0dXJuIDA7CiAKIG5ldGxibF9zaWRfdG9fc2VjYXR0cl9mYWlsdXJlOgotCVBPTElDWV9SRFVOTE9DSzsKKwlyZWFkX3VubG9jaygmcG9saWN5X3J3bG9jayk7CiAJcmV0dXJuIHJjOwogfQogI2VuZGlmIC8qIENPTkZJR19ORVRMQUJFTCAqLwpkaWZmIC0tZ2l0IGEvc2VjdXJpdHkvc2VsaW51eC9zcy9zaWR0YWIuYyBiL3NlY3VyaXR5L3NlbGludXgvc3Mvc2lkdGFiLmMKaW5kZXggNGE1MTZmZi4uYTgxZGVkMSAxMDA2NDQKLS0tIGEvc2VjdXJpdHkvc2VsaW51eC9zcy9zaWR0YWIuYworKysgYi9zZWN1cml0eS9zZWxpbnV4L3NzL3NpZHRhYi5jCkBAIC0xNCwxMCArMTQsNiBAQAogI2RlZmluZSBTSURUQUJfSEFTSChzaWQpIFwKIChzaWQgJiBTSURUQUJfSEFTSF9NQVNLKQogCi0jZGVmaW5lIElOSVRfU0lEVEFCX0xPQ0socykgc3Bpbl9sb2NrX2luaXQoJnMtPmxvY2spCi0jZGVmaW5lIFNJRFRBQl9MT0NLKHMsIHgpIHNwaW5fbG9ja19pcnFzYXZlKCZzLT5sb2NrLCB4KQotI2RlZmluZSBTSURUQUJfVU5MT0NLKHMsIHgpIHNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnMtPmxvY2ssIHgpCi0KIGludCBzaWR0YWJfaW5pdChzdHJ1Y3Qgc2lkdGFiICpzKQogewogCWludCBpOwpAQCAtMzAsNyArMjYsNyBAQAogCXMtPm5lbCA9IDA7CiAJcy0+bmV4dF9zaWQgPSAxOwogCXMtPnNodXRkb3duID0gMDsKLQlJTklUX1NJRFRBQl9MT0NLKHMpOworCXNwaW5fbG9ja19pbml0KCZzLT5sb2NrKTsKIAlyZXR1cm4gMDsKIH0KIApAQCAtODYsNyArODIsNyBAQAogCXJldHVybiByYzsKIH0KIAotc3RydWN0IGNvbnRleHQgKnNpZHRhYl9zZWFyY2goc3RydWN0IHNpZHRhYiAqcywgdTMyIHNpZCkKK3N0YXRpYyBzdHJ1Y3QgY29udGV4dCAqc2lkdGFiX3NlYXJjaF9jb3JlKHN0cnVjdCBzaWR0YWIgKnMsIHUzMiBzaWQsIGludCBmb3JjZSkKIHsKIAlpbnQgaHZhbHVlOwogCXN0cnVjdCBzaWR0YWJfbm9kZSAqY3VyOwpAQCAtOTksNyArOTUsMTAgQEAKIAl3aGlsZSAoY3VyICE9IE5VTEwgJiYgc2lkID4gY3VyLT5zaWQpCiAJCWN1ciA9IGN1ci0+bmV4dDsKIAotCWlmIChjdXIgPT0gTlVMTCB8fCBzaWQgIT0gY3VyLT5zaWQpIHsKKwlpZiAoZm9yY2UgJiYgY3VyICYmIHNpZCA9PSBjdXItPnNpZCAmJiBjdXItPmNvbnRleHQubGVuKQorCQlyZXR1cm4gJmN1ci0+Y29udGV4dDsKKworCWlmIChjdXIgPT0gTlVMTCB8fCBzaWQgIT0gY3VyLT5zaWQgfHwgY3VyLT5jb250ZXh0LmxlbikgewogCQkvKiBSZW1hcCBpbnZhbGlkIFNJRHMgdG8gdGhlIHVubGFiZWxlZCBTSUQuICovCiAJCXNpZCA9IFNFQ0lOSVRTSURfVU5MQUJFTEVEOwogCQlodmFsdWUgPSBTSURUQUJfSEFTSChzaWQpOwpAQCAtMTEzLDYgKzExMiwxNiBAQAogCXJldHVybiAmY3VyLT5jb250ZXh0OwogfQogCitzdHJ1Y3QgY29udGV4dCAqc2lkdGFiX3NlYXJjaChzdHJ1Y3Qgc2lkdGFiICpzLCB1MzIgc2lkKQoreworCXJldHVybiBzaWR0YWJfc2VhcmNoX2NvcmUocywgc2lkLCAwKTsKK30KKworc3RydWN0IGNvbnRleHQgKnNpZHRhYl9zZWFyY2hfZm9yY2Uoc3RydWN0IHNpZHRhYiAqcywgdTMyIHNpZCkKK3sKKwlyZXR1cm4gc2lkdGFiX3NlYXJjaF9jb3JlKHMsIHNpZCwgMSk7Cit9CisKIGludCBzaWR0YWJfbWFwKHN0cnVjdCBzaWR0YWIgKnMsCiAJICAgICAgIGludCAoKmFwcGx5KSAodTMyIHNpZCwKIAkJCSAgICAgc3RydWN0IGNvbnRleHQgKmNvbnRleHQsCkBAIC0xMzgsNDMgKzE0Nyw2IEBACiAJcmV0dXJuIHJjOwogfQogCi12b2lkIHNpZHRhYl9tYXBfcmVtb3ZlX29uX2Vycm9yKHN0cnVjdCBzaWR0YWIgKnMsCi0JCQkJaW50ICgqYXBwbHkpICh1MzIgc2lkLAotCQkJCQkgICAgICBzdHJ1Y3QgY29udGV4dCAqY29udGV4dCwKLQkJCQkJICAgICAgdm9pZCAqYXJncyksCi0JCQkJdm9pZCAqYXJncykKLXsKLQlpbnQgaSwgcmV0OwotCXN0cnVjdCBzaWR0YWJfbm9kZSAqbGFzdCwgKmN1ciwgKnRlbXA7Ci0KLQlpZiAoIXMpCi0JCXJldHVybjsKLQotCWZvciAoaSA9IDA7IGkgPCBTSURUQUJfU0laRTsgaSsrKSB7Ci0JCWxhc3QgPSBOVUxMOwotCQljdXIgPSBzLT5odGFibGVbaV07Ci0JCXdoaWxlIChjdXIgIT0gTlVMTCkgewotCQkJcmV0ID0gYXBwbHkoY3VyLT5zaWQsICZjdXItPmNvbnRleHQsIGFyZ3MpOwotCQkJaWYgKHJldCkgewotCQkJCWlmIChsYXN0KQotCQkJCQlsYXN0LT5uZXh0ID0gY3VyLT5uZXh0OwotCQkJCWVsc2UKLQkJCQkJcy0+aHRhYmxlW2ldID0gY3VyLT5uZXh0OwotCQkJCXRlbXAgPSBjdXI7Ci0JCQkJY3VyID0gY3VyLT5uZXh0OwotCQkJCWNvbnRleHRfZGVzdHJveSgmdGVtcC0+Y29udGV4dCk7Ci0JCQkJa2ZyZWUodGVtcCk7Ci0JCQkJcy0+bmVsLS07Ci0JCQl9IGVsc2UgewotCQkJCWxhc3QgPSBjdXI7Ci0JCQkJY3VyID0gY3VyLT5uZXh0OwotCQkJfQotCQl9Ci0JfQotCi0JcmV0dXJuOwotfQotCiBzdGF0aWMgaW5saW5lIHUzMiBzaWR0YWJfc2VhcmNoX2NvbnRleHQoc3RydWN0IHNpZHRhYiAqcywKIAkJCQkJCSAgc3RydWN0IGNvbnRleHQgKmNvbnRleHQpCiB7CkBAIC0yMDQsNyArMTc2LDcgQEAKIAogCXNpZCA9IHNpZHRhYl9zZWFyY2hfY29udGV4dChzLCBjb250ZXh0KTsKIAlpZiAoIXNpZCkgewotCQlTSURUQUJfTE9DSyhzLCBmbGFncyk7CisJCXNwaW5fbG9ja19pcnFzYXZlKCZzLT5sb2NrLCBmbGFncyk7CiAJCS8qIFJlc2NhbiBub3cgdGhhdCB3ZSBob2xkIHRoZSBsb2NrLiAqLwogCQlzaWQgPSBzaWR0YWJfc2VhcmNoX2NvbnRleHQocywgY29udGV4dCk7CiAJCWlmIChzaWQpCkBAIC0yMTUsMTEgKzE4NywxNSBAQAogCQkJZ290byB1bmxvY2tfb3V0OwogCQl9CiAJCXNpZCA9IHMtPm5leHRfc2lkKys7CisJCWlmIChjb250ZXh0LT5sZW4pCisJCQlwcmludGsoS0VSTl9JTkZPCisJCSAgICAgICAiU0VMaW51eDogIENvbnRleHQgJXMgaXMgbm90IHZhbGlkIChsZWZ0IHVubWFwcGVkKS5cbiIsCisJCQkgICAgICAgY29udGV4dC0+c3RyKTsKIAkJcmV0ID0gc2lkdGFiX2luc2VydChzLCBzaWQsIGNvbnRleHQpOwogCQlpZiAocmV0KQogCQkJcy0+bmV4dF9zaWQtLTsKIHVubG9ja19vdXQ6Ci0JCVNJRFRBQl9VTkxPQ0socywgZmxhZ3MpOworCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZzLT5sb2NrLCBmbGFncyk7CiAJfQogCiAJaWYgKHJldCkKQEAgLTI4NCwxOSArMjYwLDE5IEBACiB7CiAJdW5zaWduZWQgbG9uZyBmbGFnczsKIAotCVNJRFRBQl9MT0NLKHNyYywgZmxhZ3MpOworCXNwaW5fbG9ja19pcnFzYXZlKCZzcmMtPmxvY2ssIGZsYWdzKTsKIAlkc3QtPmh0YWJsZSA9IHNyYy0+aHRhYmxlOwogCWRzdC0+bmVsID0gc3JjLT5uZWw7CiAJZHN0LT5uZXh0X3NpZCA9IHNyYy0+bmV4dF9zaWQ7CiAJZHN0LT5zaHV0ZG93biA9IDA7Ci0JU0lEVEFCX1VOTE9DSyhzcmMsIGZsYWdzKTsKKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZzcmMtPmxvY2ssIGZsYWdzKTsKIH0KIAogdm9pZCBzaWR0YWJfc2h1dGRvd24oc3RydWN0IHNpZHRhYiAqcykKIHsKIAl1bnNpZ25lZCBsb25nIGZsYWdzOwogCi0JU0lEVEFCX0xPQ0socywgZmxhZ3MpOworCXNwaW5fbG9ja19pcnFzYXZlKCZzLT5sb2NrLCBmbGFncyk7CiAJcy0+c2h1dGRvd24gPSAxOwotCVNJRFRBQl9VTkxPQ0socywgZmxhZ3MpOworCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnMtPmxvY2ssIGZsYWdzKTsKIH0KZGlmZiAtLWdpdCBhL3NlY3VyaXR5L3NlbGludXgvc3Mvc2lkdGFiLmggYi9zZWN1cml0eS9zZWxpbnV4L3NzL3NpZHRhYi5oCmluZGV4IDJmZTlkZmEuLjY0ZWE1YjEgMTAwNjQ0Ci0tLSBhL3NlY3VyaXR5L3NlbGludXgvc3Mvc2lkdGFiLmgKKysrIGIvc2VjdXJpdHkvc2VsaW51eC9zcy9zaWR0YWIuaApAQCAtMzIsNiArMzIsNyBAQAogaW50IHNpZHRhYl9pbml0KHN0cnVjdCBzaWR0YWIgKnMpOwogaW50IHNpZHRhYl9pbnNlcnQoc3RydWN0IHNpZHRhYiAqcywgdTMyIHNpZCwgc3RydWN0IGNvbnRleHQgKmNvbnRleHQpOwogc3RydWN0IGNvbnRleHQgKnNpZHRhYl9zZWFyY2goc3RydWN0IHNpZHRhYiAqcywgdTMyIHNpZCk7CitzdHJ1Y3QgY29udGV4dCAqc2lkdGFiX3NlYXJjaF9mb3JjZShzdHJ1Y3Qgc2lkdGFiICpzLCB1MzIgc2lkKTsKIAogaW50IHNpZHRhYl9tYXAoc3RydWN0IHNpZHRhYiAqcywKIAkgICAgICAgaW50ICgqYXBwbHkpICh1MzIgc2lkLApAQCAtMzksMTIgKzQwLDYgQEAKIAkJCSAgICAgdm9pZCAqYXJncyksCiAJICAgICAgIHZvaWQgKmFyZ3MpOwogCi12b2lkIHNpZHRhYl9tYXBfcmVtb3ZlX29uX2Vycm9yKHN0cnVjdCBzaWR0YWIgKnMsCi0JCQkJaW50ICgqYXBwbHkpICh1MzIgc2lkLAotCQkJCQkgICAgICBzdHJ1Y3QgY29udGV4dCAqY29udGV4dCwKLQkJCQkJICAgICAgdm9pZCAqYXJncyksCi0JCQkJdm9pZCAqYXJncyk7Ci0KIGludCBzaWR0YWJfY29udGV4dF90b19zaWQoc3RydWN0IHNpZHRhYiAqcywKIAkJCSAgc3RydWN0IGNvbnRleHQgKmNvbnRleHQsCiAJCQkgIHUzMiAqc2lkKTsKZGlmZiAtLWdpdCBhL3NlY3VyaXR5L3NtYWNrL3NtYWNrX2xzbS5jIGIvc2VjdXJpdHkvc21hY2svc21hY2tfbHNtLmMKaW5kZXggNGEwOTI5My4uZWU1YTUxYyAxMDA2NDQKLS0tIGEvc2VjdXJpdHkvc21hY2svc21hY2tfbHNtLmMKKysrIGIvc2VjdXJpdHkvc21hY2svc21hY2tfbHNtLmMKQEAgLTk1LDExICs5NSwxMiBAQAogICoKICAqIERvIHRoZSBjYXBhYmlsaXR5IGNoZWNrcywgYW5kIHJlcXVpcmUgcmVhZCBhbmQgd3JpdGUuCiAgKi8KLXN0YXRpYyBpbnQgc21hY2tfcHRyYWNlKHN0cnVjdCB0YXNrX3N0cnVjdCAqcHRwLCBzdHJ1Y3QgdGFza19zdHJ1Y3QgKmN0cCkKK3N0YXRpYyBpbnQgc21hY2tfcHRyYWNlKHN0cnVjdCB0YXNrX3N0cnVjdCAqcHRwLCBzdHJ1Y3QgdGFza19zdHJ1Y3QgKmN0cCwKKwkJCXVuc2lnbmVkIGludCBtb2RlKQogewogCWludCByYzsKIAotCXJjID0gY2FwX3B0cmFjZShwdHAsIGN0cCk7CisJcmMgPSBjYXBfcHRyYWNlKHB0cCwgY3RwLCBtb2RlKTsKIAlpZiAocmMgIT0gMCkKIAkJcmV0dXJuIHJjOwogCkBAIC0xODIxLDI3ICsxODIyLDYgQEAKIAkqc2VjaWQgPSBzbWFja190b19zZWNpZChzbWFjayk7CiB9CiAKLS8qIG1vZHVsZSBzdGFja2luZyBvcGVyYXRpb25zICovCi0KLS8qKgotICogc21hY2tfcmVnaXN0ZXJfc2VjdXJpdHkgLSBzdGFjayBjYXBhYmlsaXR5IG1vZHVsZQotICogQG5hbWU6IG1vZHVsZSBuYW1lCi0gKiBAb3BzOiBtb2R1bGUgb3BlcmF0aW9ucyAtIGlnbm9yZWQKLSAqCi0gKiBBbGxvdyB0aGUgY2FwYWJpbGl0eSBtb2R1bGUgdG8gcmVnaXN0ZXIuCi0gKi8KLXN0YXRpYyBpbnQgc21hY2tfcmVnaXN0ZXJfc2VjdXJpdHkoY29uc3QgY2hhciAqbmFtZSwKLQkJCQkgICBzdHJ1Y3Qgc2VjdXJpdHlfb3BlcmF0aW9ucyAqb3BzKQotewotCWlmIChzdHJjbXAobmFtZSwgImNhcGFiaWxpdHkiKSAhPSAwKQotCQlyZXR1cm4gLUVJTlZBTDsKLQotCXByaW50ayhLRVJOX0lORk8gIiVzOiAgUmVnaXN0ZXJpbmcgc2Vjb25kYXJ5IG1vZHVsZSAlc1xuIiwKLQkgICAgICAgX19mdW5jX18sIG5hbWUpOwotCi0JcmV0dXJuIDA7Ci19Ci0KIC8qKgogICogc21hY2tfZF9pbnN0YW50aWF0ZSAtIE1ha2Ugc3VyZSB0aGUgYmxvYiBpcyBjb3JyZWN0IG9uIGFuIGlub2RlCiAgKiBAb3B0X2RlbnRyeTogdW51c2VkCkBAIC0yNjcyLDggKzI2NTIsNiBAQAogCS5uZXRsaW5rX3NlbmQgPQkJCWNhcF9uZXRsaW5rX3NlbmQsCiAJLm5ldGxpbmtfcmVjdiA9IAkJY2FwX25ldGxpbmtfcmVjdiwKIAotCS5yZWdpc3Rlcl9zZWN1cml0eSA9IAkJc21hY2tfcmVnaXN0ZXJfc2VjdXJpdHksCi0KIAkuZF9pbnN0YW50aWF0ZSA9IAkJc21hY2tfZF9pbnN0YW50aWF0ZSwKIAogCS5nZXRwcm9jYXR0ciA9IAkJCXNtYWNrX2dldHByb2NhdHRyLApkaWZmIC0tZ2l0IGEvc291bmQvS2NvbmZpZyBiL3NvdW5kL0tjb25maWcKaW5kZXggNDI0NzQwNi4uYTM3YmVlMCAxMDA2NDQKLS0tIGEvc291bmQvS2NvbmZpZworKysgYi9zb3VuZC9LY29uZmlnCkBAIC0xLDExICsxLDkgQEAKICMgc291bmQvQ29uZmlnLmluCiAjCiAKLW1lbnUgIlNvdW5kIgotCWRlcGVuZHMgb24gSEFTX0lPTUVNCi0KLWNvbmZpZyBTT1VORAorbWVudWNvbmZpZyBTT1VORAogCXRyaXN0YXRlICJTb3VuZCBjYXJkIHN1cHBvcnQiCisJZGVwZW5kcyBvbiBIQVNfSU9NRU0KIAloZWxwCiAJICBJZiB5b3UgaGF2ZSBhIHNvdW5kIGNhcmQgaW4geW91ciBjb21wdXRlciwgaS5lLiBpZiBpdCBjYW4gc2F5IG1vcmUKIAkgIHRoYW4gYW4gb2NjYXNpb25hbCBiZWVwLCBzYXkgWS4gIEJlIHN1cmUgdG8gaGF2ZSBhbGwgdGhlIGluZm9ybWF0aW9uCkBAIC0yOCwyMiArMjYsMjIgQEAKIAkgIGFuZCByZWFkIDxmaWxlOkRvY3VtZW50YXRpb24vc291bmQvb3NzL1JFQURNRS5tb2R1bGVzPjsgdGhlIG1vZHVsZQogCSAgd2lsbCBiZSBjYWxsZWQgc291bmRjb3JlLgogCitpZiBTT1VORAorCiBzb3VyY2UgInNvdW5kL29zcy9kbWFzb3VuZC9LY29uZmlnIgogCiBpZiAhTTY4SwogCi1tZW51ICJBZHZhbmNlZCBMaW51eCBTb3VuZCBBcmNoaXRlY3R1cmUiCi0JZGVwZW5kcyBvbiBTT1VORCE9bgotCi1jb25maWcgU05ECittZW51Y29uZmlnIFNORAogCXRyaXN0YXRlICJBZHZhbmNlZCBMaW51eCBTb3VuZCBBcmNoaXRlY3R1cmUiCi0JZGVwZW5kcyBvbiBTT1VORAogCWhlbHAKIAkgIFNheSAnWScgb3IgJ00nIHRvIGVuYWJsZSBBTFNBIChBZHZhbmNlZCBMaW51eCBTb3VuZCBBcmNoaXRlY3R1cmUpLAogCSAgdGhlIG5ldyBiYXNlIHNvdW5kIHN5c3RlbS4KIAogCSAgRm9yIG1vcmUgaW5mb3JtYXRpb24sIHNlZSA8aHR0cDovL3d3dy5hbHNhLXByb2plY3Qub3JnLz4KIAoraWYgU05ECisKIHNvdXJjZSAic291bmQvY29yZS9LY29uZmlnIgogCiBzb3VyY2UgInNvdW5kL2RyaXZlcnMvS2NvbmZpZyIKQEAgLTU4LDkgKzU2LDcgQEAKIAogc291cmNlICJzb3VuZC9hcm0vS2NvbmZpZyIKIAotaWYgU1BJCiBzb3VyY2UgInNvdW5kL3NwaS9LY29uZmlnIgotZW5kaWYKIAogc291cmNlICJzb3VuZC9taXBzL0tjb25maWciCiAKQEAgLTgwLDIyICs3NiwyMCBAQAogCiBzb3VyY2UgInNvdW5kL3NvYy9LY29uZmlnIgogCi1lbmRtZW51CitlbmRpZiAjIFNORAogCi1tZW51ICJPcGVuIFNvdW5kIFN5c3RlbSIKLQlkZXBlbmRzIG9uIFNPVU5EIT1uCi0KLWNvbmZpZyBTT1VORF9QUklNRQorbWVudWNvbmZpZyBTT1VORF9QUklNRQogCXRyaXN0YXRlICJPcGVuIFNvdW5kIFN5c3RlbSAoREVQUkVDQVRFRCkiCi0JZGVwZW5kcyBvbiBTT1VORAogCWhlbHAKIAkgIFNheSAnWScgb3IgJ00nIHRvIGVuYWJsZSBPcGVuIFNvdW5kIFN5c3RlbSBkcml2ZXJzLgogCitpZiBTT1VORF9QUklNRQorCiBzb3VyY2UgInNvdW5kL29zcy9LY29uZmlnIgogCi1lbmRtZW51CitlbmRpZiAjIFNPVU5EX1BSSU1FCiAKLWVuZGlmCitlbmRpZiAjICFNNjhLCiAKIGNvbmZpZyBBQzk3X0JVUwogCXRyaXN0YXRlCkBAIC0xMDUsNCArOTksNCBAQAogCSAgc291bmQgYWx0aG91Z2ggdGhleSdyZSBzaGFyaW5nIHRoZSBBQzk3IGJ1cy4gQ29uY2VybmVkIGRyaXZlcnMKIAkgIHNob3VsZCAic2VsZWN0IiB0aGlzLgogCi1lbmRtZW51CitlbmRpZiAjIFNPVU5ECmRpZmYgLS1naXQgYS9zb3VuZC9hb2EvS2NvbmZpZyBiL3NvdW5kL2FvYS9LY29uZmlnCmluZGV4IDVkNTgxM2MuLmMwODFlMTggMTAwNjQ0Ci0tLSBhL3NvdW5kL2FvYS9LY29uZmlnCisrKyBiL3NvdW5kL2FvYS9LY29uZmlnCkBAIC0xLDE4ICsxLDE3IEBACi1tZW51ICJBcHBsZSBPbmJvYXJkIEF1ZGlvIGRyaXZlciIKLQlkZXBlbmRzIG9uIFNORCE9biAmJiBQUENfUE1BQwotCi1jb25maWcgU05EX0FPQQorbWVudWNvbmZpZyBTTkRfQU9BCiAJdHJpc3RhdGUgIkFwcGxlIE9uYm9hcmQgQXVkaW8gZHJpdmVyIgotCWRlcGVuZHMgb24gU05ECisJZGVwZW5kcyBvbiBQUENfUE1BQwogCXNlbGVjdCBTTkRfUENNCiAJLS0taGVscC0tLQogCVRoaXMgb3B0aW9uIGVuYWJsZXMgdGhlIG5ldyBkcml2ZXIgZm9yIHRoZSB2YXJpb3VzCiAJQXBwbGUgT25ib2FyZCBBdWRpbyBjb21wb25lbnRzLgogCitpZiBTTkRfQU9BCisKIHNvdXJjZSAic291bmQvYW9hL2ZhYnJpY3MvS2NvbmZpZyIKIAogc291cmNlICJzb3VuZC9hb2EvY29kZWNzL0tjb25maWciCiAKIHNvdXJjZSAic291bmQvYW9hL3NvdW5kYnVzL0tjb25maWciCiAKLWVuZG1lbnUKK2VuZGlmCSMgU05EX0FPQQpkaWZmIC0tZ2l0IGEvc291bmQvYW9hL2NvZGVjcy9LY29uZmlnIGIvc291bmQvYW9hL2NvZGVjcy9LY29uZmlnCmluZGV4IGQ1ZmJkNjAuLjgwOGViMTEgMTAwNjQ0Ci0tLSBhL3NvdW5kL2FvYS9jb2RlY3MvS2NvbmZpZworKysgYi9zb3VuZC9hb2EvY29kZWNzL0tjb25maWcKQEAgLTEsNiArMSw1IEBACiBjb25maWcgU05EX0FPQV9PTllYCiAJdHJpc3RhdGUgInN1cHBvcnQgT255eCBjaGlwIgotCWRlcGVuZHMgb24gU05EX0FPQQogCXNlbGVjdCBJMkMKIAlzZWxlY3QgSTJDX1BPV0VSTUFDCiAJLS0taGVscC0tLQpAQCAtMTAsNyArOSw2IEBACiAKICNjb25maWcgU05EX0FPQV9UT1BBWgogIwl0cmlzdGF0ZSAic3VwcG9ydCBUb3BheiBjaGlwcyIKLSMJZGVwZW5kcyBvbiBTTkRfQU9BCiAjCS0tLWhlbHAtLS0KICMJVGhpcyBvcHRpb24gZW5hYmxlcyBzdXBwb3J0IGZvciB0aGUgVG9wYXogKENTODR4eCkKICMJY29kZWMgY2hpcHMgZm91bmQgaW4gdGhlIGxhdGVzdCBBcHBsZSBtYWNoaW5lcywKQEAgLTE5LDcgKzE3LDYgQEAKIAogY29uZmlnIFNORF9BT0FfVEFTCiAJdHJpc3RhdGUgInN1cHBvcnQgVEFTIGNoaXBzIgotCWRlcGVuZHMgb24gU05EX0FPQQogCXNlbGVjdCBJMkMKIAlzZWxlY3QgSTJDX1BPV0VSTUFDCiAJLS0taGVscC0tLQpAQCAtMjksNyArMjYsNiBAQAogCiBjb25maWcgU05EX0FPQV9UT09OSUUKIAl0cmlzdGF0ZSAic3VwcG9ydCBUb29uaWUgY2hpcCIKLQlkZXBlbmRzIG9uIFNORF9BT0EKIAktLS1oZWxwLS0tCiAJVGhpcyBvcHRpb24gZW5hYmxlcyBzdXBwb3J0IGZvciB0aGUgdG9vbmllIGNvZGVjCiAJZm91bmQgaW4gdGhlIE1hYyBNaW5pLiBJZiB5b3UgaGF2ZSBhIE1hYyBNaW5pIGFuZApkaWZmIC0tZ2l0IGEvc291bmQvYW9hL2ZhYnJpY3MvS2NvbmZpZyBiL3NvdW5kL2FvYS9mYWJyaWNzL0tjb25maWcKaW5kZXggNTBkNzAyMS4uM2NhNDc1YSAxMDA2NDQKLS0tIGEvc291bmQvYW9hL2ZhYnJpY3MvS2NvbmZpZworKysgYi9zb3VuZC9hb2EvZmFicmljcy9LY29uZmlnCkBAIC0xLDYgKzEsNSBAQAogY29uZmlnIFNORF9BT0FfRkFCUklDX0xBWU9VVAogCXRyaXN0YXRlICJsYXlvdXQtaWQgZmFicmljIgotCWRlcGVuZHMgb24gU05EX0FPQQogCXNlbGVjdCBTTkRfQU9BX1NPVU5EQlVTCiAJc2VsZWN0IFNORF9BT0FfU09VTkRCVVNfSTJTCiAJLS0taGVscC0tLQpkaWZmIC0tZ2l0IGEvc291bmQvYW9hL3NvdW5kYnVzL0tjb25maWcgYi9zb3VuZC9hb2Evc291bmRidXMvS2NvbmZpZwppbmRleCA3MzY4YjdkLi44MzlkMTEzIDEwMDY0NAotLS0gYS9zb3VuZC9hb2Evc291bmRidXMvS2NvbmZpZworKysgYi9zb3VuZC9hb2Evc291bmRidXMvS2NvbmZpZwpAQCAtMSw2ICsxLDUgQEAKIGNvbmZpZyBTTkRfQU9BX1NPVU5EQlVTCiAJdHJpc3RhdGUgIkFwcGxlIFNvdW5kYnVzIHN1cHBvcnQiCi0JZGVwZW5kcyBvbiBTT1VORAogCXNlbGVjdCBTTkRfUENNCiAJLS0taGVscC0tLQogCVRoaXMgb3B0aW9uIGVuYWJsZXMgdGhlIGdlbmVyaWMgZHJpdmVyIGZvciB0aGUgc291bmRidXMKZGlmZiAtLWdpdCBhL3NvdW5kL2FybS9LY29uZmlnIGIvc291bmQvYXJtL0tjb25maWcKaW5kZXggMmU0YTVlMC4uMzUxZTE5ZSAxMDA2NDQKLS0tIGEvc291bmQvYXJtL0tjb25maWcKKysrIGIvc291bmQvYXJtL0tjb25maWcKQEAgLTEsMTEgKzEsMTkgQEAKICMgQUxTQSBBUk0gZHJpdmVycwogCi1tZW51ICJBTFNBIEFSTSBkZXZpY2VzIgotCWRlcGVuZHMgb24gU05EIT1uICYmIEFSTQorbWVudWNvbmZpZyBTTkRfQVJNCisJYm9vbCAiQVJNIHNvdW5kIGRldmljZXMiCisJZGVwZW5kcyBvbiBBUk0KKwlkZWZhdWx0IHkKKwloZWxwCisJICBTdXBwb3J0IGZvciBzb3VuZCBkZXZpY2VzIHNwZWNpZmljIHRvIEFSTSBhcmNoaXRlY3R1cmVzLgorCSAgRHJpdmVycyB0aGF0IGFyZSBpbXBsZW1lbnRlZCBvbiBBU29DIGNhbiBiZSBmb3VuZCBpbgorCSAgIkFMU0EgZm9yIFNvQyBhdWRpbyBzdXBwb3J0IiBzZWN0aW9uLgorCitpZiBTTkRfQVJNCiAKIGNvbmZpZyBTTkRfU0ExMVhYX1VEQTEzNDEKIAl0cmlzdGF0ZSAiU0ExMXh4IFVEQTEzNDFUUyBkcml2ZXIgKGlQYXEgSDM2MDApIgotCWRlcGVuZHMgb24gQVJDSF9TQTExMDAgJiYgU05EICYmIEwzCisJZGVwZW5kcyBvbiBBUkNIX1NBMTEwMCAmJiBMMwogCXNlbGVjdCBTTkRfUENNCiAJaGVscAogCSAgU2F5IFkgaGVyZSBpZiB5b3UgaGF2ZSBhIENvbXBhcSBpUGFxIEgzeDAwIGhhbmRoZWxkIGNvbXB1dGVyCkBAIC0xNiw3ICsyNCw3IEBACiAKIGNvbmZpZyBTTkRfQVJNQUFDSQogCXRyaXN0YXRlICJBUk0gUHJpbWVDZWxsIFBMMDQxIEFDIExpbmsgc3VwcG9ydCIKLQlkZXBlbmRzIG9uIFNORCAmJiBBUk1fQU1CQQorCWRlcGVuZHMgb24gQVJNX0FNQkEKIAlzZWxlY3QgU05EX1BDTQogCXNlbGVjdCBTTkRfQUM5N19DT0RFQwogCkBAIC0yNiwxMSArMzQsMTIgQEAKIAogY29uZmlnIFNORF9QWEEyWFhfQUM5NwogCXRyaXN0YXRlICJBQzk3IGRyaXZlciBmb3IgdGhlIEludGVsIFBYQTJ4eCBjaGlwIgotCWRlcGVuZHMgb24gQVJDSF9QWEEgJiYgU05ECisJZGVwZW5kcyBvbiBBUkNIX1BYQQogCXNlbGVjdCBTTkRfUFhBMlhYX1BDTQogCXNlbGVjdCBTTkRfQUM5N19DT0RFQwogCWhlbHAKIAkgIFNheSBZIG9yIE0gaWYgeW91IHdhbnQgdG8gc3VwcG9ydCBhbnkgQUM5NyBjb2RlYyBhdHRhY2hlZCB0bwogCSAgdGhlIFBYQTJ4eCBBQzk3IGludGVyZmFjZS4KIAotZW5kbWVudQorZW5kaWYJIyBTTkRfQVJNCisKZGlmZiAtLWdpdCBhL3NvdW5kL2FybS9zYTExeHgtdWRhMTM0MS5jIGIvc291bmQvYXJtL3NhMTF4eC11ZGExMzQxLmMKaW5kZXggMGVmZjMzYy4uZmFlZGRmMyAxMDA2NDQKLS0tIGEvc291bmQvYXJtL3NhMTF4eC11ZGExMzQxLmMKKysrIGIvc291bmQvYXJtL3NhMTF4eC11ZGExMzQxLmMKQEAgLTIxLDggKzIxLDYgQEAKICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVyZ2VkIEhBTCBsYXllciAocGF0Y2hlcyBmcm9tIEJyaWFuKQogICovCiAKLS8qICRJZDogc2ExMXh4LXVkYTEzNDEuYyx2IDEuMjcgMjAwNS8xMi8wNyAwOToxMzo0MiBjbGFkaXNjaCBFeHAgJCAqLwotCiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAqCiAqIFRvIHVuZGVyc3RhbmQgd2hhdCBBbHNhIERyaXZlcnMgc2hvdWxkIGJlIGRvaW5nIGxvb2sgYXQgIldyaXRpbmcgYW4gQWxzYSBEcml2ZXIiIGJ5IFRha2FzaGkgSXdhaQpkaWZmIC0tZ2l0IGEvc291bmQvY29yZS9LY29uZmlnIGIvc291bmQvY29yZS9LY29uZmlnCmluZGV4IGE4ZDcxYzYuLjMzNWQ0NWUgMTAwNjQ0Ci0tLSBhL3NvdW5kL2NvcmUvS2NvbmZpZworKysgYi9zb3VuZC9jb3JlL0tjb25maWcKQEAgLTEsMjQgKzEsMTkgQEAKICMgQUxTQSBzb3VuZGNhcmQtY29uZmlndXJhdGlvbgogY29uZmlnIFNORF9USU1FUgogCXRyaXN0YXRlCi0JZGVwZW5kcyBvbiBTTkQKIAogY29uZmlnIFNORF9QQ00KIAl0cmlzdGF0ZQogCXNlbGVjdCBTTkRfVElNRVIKLQlkZXBlbmRzIG9uIFNORAogCiBjb25maWcgU05EX0hXREVQCiAJdHJpc3RhdGUKLQlkZXBlbmRzIG9uIFNORAogCiBjb25maWcgU05EX1JBV01JREkKIAl0cmlzdGF0ZQotCWRlcGVuZHMgb24gU05ECiAKIGNvbmZpZyBTTkRfU0VRVUVOQ0VSCiAJdHJpc3RhdGUgIlNlcXVlbmNlciBzdXBwb3J0IgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9USU1FUgogCWhlbHAKIAkgIFNheSBZIG9yIE0gdG8gZW5hYmxlIE1JREkgc2VxdWVuY2VyIGFuZCByb3V0ZXIgc3VwcG9ydC4gIFRoaXMKQEAgLTQ0LDExICszOSw5IEBACiAKIGNvbmZpZyBTTkRfT1NTRU1VTAogCWJvb2wKLQlkZXBlbmRzIG9uIFNORAogCiBjb25maWcgU05EX01JWEVSX09TUwogCXRyaXN0YXRlICJPU1MgTWl4ZXIgQVBJIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9PU1NFTVVMCiAJaGVscAogCSAgVG8gZW5hYmxlIE9TUyBtaXhlciBBUEkgZW11bGF0aW9uICgvZGV2L21peGVyKiksIHNheSBZIGhlcmUKQEAgLTYxLDcgKzU0LDYgQEAKIAogY29uZmlnIFNORF9QQ01fT1NTCiAJdHJpc3RhdGUgIk9TUyBQQ00gKGRpZ2l0YWwgYXVkaW8pIEFQSSIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfT1NTRU1VTAogCXNlbGVjdCBTTkRfUENNCiAJaGVscApAQCAtODQsNyArNzYsNyBAQAogCiBjb25maWcgU05EX1NFUVVFTkNFUl9PU1MKIAlib29sICJPU1MgU2VxdWVuY2VyIEFQSSIKLQlkZXBlbmRzIG9uIFNORCAmJiBTTkRfU0VRVUVOQ0VSCisJZGVwZW5kcyBvbiBTTkRfU0VRVUVOQ0VSCiAJc2VsZWN0IFNORF9PU1NFTVVMCiAJaGVscAogCSAgU2F5IFkgaGVyZSB0byBlbmFibGUgT1NTIHNlcXVlbmNlciBlbXVsYXRpb24gKGJvdGgKQEAgLTk4LDcgKzkwLDcgQEAKIAogY29uZmlnIFNORF9SVENUSU1FUgogCXRyaXN0YXRlICJSVEMgVGltZXIgc3VwcG9ydCIKLQlkZXBlbmRzIG9uIFNORCAmJiBSVEMKKwlkZXBlbmRzIG9uIFJUQwogCXNlbGVjdCBTTkRfVElNRVIKIAloZWxwCiAJICBTYXkgWSBoZXJlIHRvIGVuYWJsZSBSVEMgdGltZXIgc3VwcG9ydCBmb3IgQUxTQS4gIEFMU0EgdXNlcwpAQCAtMTIzLDcgKzExNSw2IEBACiAKIGNvbmZpZyBTTkRfRFlOQU1JQ19NSU5PUlMKIAlib29sICJEeW5hbWljIGRldmljZSBmaWxlIG1pbm9yIG51bWJlcnMiCi0JZGVwZW5kcyBvbiBTTkQKIAloZWxwCiAJICBJZiB5b3Ugc2F5IFkgaGVyZSwgdGhlIG1pbm9yIG51bWJlcnMgb2YgQUxTQSBkZXZpY2UgZmlsZXMgaW4KIAkgIC9kZXYvc25kLyBhcmUgYWxsb2NhdGVkIGR5bmFtaWNhbGx5LiAgVGhpcyBhbGxvd3MgeW91IHRvIGhhdmUKQEAgLTEzNCw3ICsxMjUsNiBAQAogCiBjb25maWcgU05EX1NVUFBPUlRfT0xEX0FQSQogCWJvb2wgIlN1cHBvcnQgb2xkIEFMU0EgQVBJIgotCWRlcGVuZHMgb24gU05ECiAJZGVmYXVsdCB5CiAJaGVscAogCSAgU2F5IFkgaGVyZSB0byBzdXBwb3J0IHRoZSBvYnNvbGV0ZSBBTFNBIFBDTSBBUEkgKHZlci4wLjkuMCByYzMKQEAgLTE0Miw3ICsxMzIsNyBAQAogCiBjb25maWcgU05EX1ZFUkJPU0VfUFJPQ0ZTCiAJYm9vbCAiVmVyYm9zZSBwcm9jZnMgY29udGVudHMiCi0JZGVwZW5kcyBvbiBTTkQgJiYgUFJPQ19GUworCWRlcGVuZHMgb24gUFJPQ19GUwogCWRlZmF1bHQgeQogCWhlbHAKIAkgIFNheSBZIGhlcmUgdG8gaW5jbHVkZSBjb2RlIGZvciB2ZXJib3NlIHByb2NmcyBjb250ZW50cyAocHJvdmlkZXMKQEAgLTE1MSw3ICsxNDEsNiBAQAogCiBjb25maWcgU05EX1ZFUkJPU0VfUFJJTlRLCiAJYm9vbCAiVmVyYm9zZSBwcmludGsiCi0JZGVwZW5kcyBvbiBTTkQKIAloZWxwCiAJICBTYXkgWSBoZXJlIHRvIGVuYWJsZSB2ZXJib3NlIGxvZyBtZXNzYWdlcy4gIFRoZXNlIG1lc3NhZ2VzCiAJICB3aWxsIGhlbHAgdG8gaWRlbnRpZnkgc291cmNlIGZpbGUgYW5kIHBvc2l0aW9uIGNvbnRhaW5pbmcKQEAgLTE2MSwxNiArMTUwLDE3IEBACiAKIGNvbmZpZyBTTkRfREVCVUcKIAlib29sICJEZWJ1ZyIKLQlkZXBlbmRzIG9uIFNORAogCWhlbHAKIAkgIFNheSBZIGhlcmUgdG8gZW5hYmxlIEFMU0EgZGVidWcgY29kZS4KIAotY29uZmlnIFNORF9ERUJVR19ERVRFQ1QKLQlib29sICJEZWJ1ZyBkZXRlY3Rpb24iCitjb25maWcgU05EX0RFQlVHX1ZFUkJPU0UKKwlib29sICJNb3JlIHZlcmJvc2UgZGVidWciCiAJZGVwZW5kcyBvbiBTTkRfREVCVUcKIAloZWxwCi0JICBTYXkgWSBoZXJlIHRvIGVuYWJsZSBleHRyYS12ZXJib3NlIGxvZyBtZXNzYWdlcyBwcmludGVkIHdoZW4KLQkgIGRldGVjdGluZyBkZXZpY2VzLgorCSAgU2F5IFkgaGVyZSB0byBlbmFibGUgZXh0cmEtdmVyYm9zZSBkZWJ1Z2dpbmcgbWVzc2FnZXMuCisJICAKKwkgIExldCBtZSByZXBlYXQ6IGl0IGVuYWJsZXMgRVhUUkEtVkVSQk9TRSBERUJVR0dJTkcgbWVzc2FnZXMuCisJICBTbywgc2F5IFkgb25seSBpZiB5b3UgYXJlIHJlYWR5IHRvIGJlIGFubm95ZWQuCiAKIGNvbmZpZyBTTkRfUENNX1hSVU5fREVCVUcKIAlib29sICJFbmFibGUgUENNIHJpbmcgYnVmZmVyIG92ZXJydW4vdW5kZXJydW4gZGVidWdnaW5nIgpAQCAtMTg0LDQgKzE3NCwzIEBACiAKIGNvbmZpZyBTTkRfVk1BU1RFUgogCWJvb2wKLQlkZXBlbmRzIG9uIFNORApkaWZmIC0tZ2l0IGEvc291bmQvY29yZS9jb250cm9sLmMgYi9zb3VuZC9jb3JlL2NvbnRyb2wuYwppbmRleCAwMWExYTVhLi4yODFiMmUyIDEwMDY0NAotLS0gYS9zb3VuZC9jb3JlL2NvbnRyb2wuYworKysgYi9zb3VuZC9jb3JlL2NvbnRyb2wuYwpAQCAtNjg0LDcgKzY4NCw4IEBACiAJcmV0dXJuIHJlc3VsdDsKIH0KIAotaW50IHNuZF9jdGxfZWxlbV9yZWFkKHN0cnVjdCBzbmRfY2FyZCAqY2FyZCwgc3RydWN0IHNuZF9jdGxfZWxlbV92YWx1ZSAqY29udHJvbCkKK3N0YXRpYyBpbnQgc25kX2N0bF9lbGVtX3JlYWQoc3RydWN0IHNuZF9jYXJkICpjYXJkLAorCQkJICAgICBzdHJ1Y3Qgc25kX2N0bF9lbGVtX3ZhbHVlICpjb250cm9sKQogewogCXN0cnVjdCBzbmRfa2NvbnRyb2wgKmtjdGw7CiAJc3RydWN0IHNuZF9rY29udHJvbF92b2xhdGlsZSAqdmQ7CkBAIC03MzQsOCArNzM1LDggQEAKIAlyZXR1cm4gcmVzdWx0OwogfQogCi1pbnQgc25kX2N0bF9lbGVtX3dyaXRlKHN0cnVjdCBzbmRfY2FyZCAqY2FyZCwgc3RydWN0IHNuZF9jdGxfZmlsZSAqZmlsZSwKLQkJICAgICAgIHN0cnVjdCBzbmRfY3RsX2VsZW1fdmFsdWUgKmNvbnRyb2wpCitzdGF0aWMgaW50IHNuZF9jdGxfZWxlbV93cml0ZShzdHJ1Y3Qgc25kX2NhcmQgKmNhcmQsIHN0cnVjdCBzbmRfY3RsX2ZpbGUgKmZpbGUsCisJCQkgICAgICBzdHJ1Y3Qgc25kX2N0bF9lbGVtX3ZhbHVlICpjb250cm9sKQogewogCXN0cnVjdCBzbmRfa2NvbnRyb2wgKmtjdGw7CiAJc3RydWN0IHNuZF9rY29udHJvbF92b2xhdGlsZSAqdmQ7CmRpZmYgLS1naXQgYS9zb3VuZC9jb3JlL2luaXQuYyBiL3NvdW5kL2NvcmUvaW5pdC5jCmluZGV4IGFjMDU3MzQuLjVjMjU0ZDQgMTAwNjQ0Ci0tLSBhL3NvdW5kL2NvcmUvaW5pdC5jCisrKyBiL3NvdW5kL2NvcmUvaW5pdC5jCkBAIC00NiwxNyArNDYsMjQgQEAKIG1vZHVsZV9wYXJhbV9hcnJheShzbG90cywgY2hhcnAsIE5VTEwsIDA0NDQpOwogTU9EVUxFX1BBUk1fREVTQyhzbG90cywgIk1vZHVsZSBuYW1lcyBhc3NpZ25lZCB0byB0aGUgc2xvdHMuIik7CiAKLS8qIHJldHVybiBub24temVybyBpZiB0aGUgZ2l2ZW4gaW5kZXggaXMgYWxyZWFkeSByZXNlcnZlZCBmb3IgYW5vdGhlcgorLyogcmV0dXJuIG5vbi16ZXJvIGlmIHRoZSBnaXZlbiBpbmRleCBpcyByZXNlcnZlZCBmb3IgdGhlIGdpdmVuCiAgKiBtb2R1bGUgdmlhIHNsb3RzIG9wdGlvbgogICovCi1zdGF0aWMgaW50IG1vZHVsZV9zbG90X21pc21hdGNoKHN0cnVjdCBtb2R1bGUgKm1vZHVsZSwgaW50IGlkeCkKK3N0YXRpYyBpbnQgbW9kdWxlX3Nsb3RfbWF0Y2goc3RydWN0IG1vZHVsZSAqbW9kdWxlLCBpbnQgaWR4KQogeworCWludCBtYXRjaCA9IDE7CiAjaWZkZWYgTU9EVUxFCi0JY2hhciAqczEsICpzMjsKKwljb25zdCBjaGFyICpzMSwgKnMyOworCiAJaWYgKCFtb2R1bGUgfHwgIW1vZHVsZS0+bmFtZSB8fCAhc2xvdHNbaWR4XSkKIAkJcmV0dXJuIDA7Ci0JczEgPSBzbG90c1tpZHhdOwotCXMyID0gbW9kdWxlLT5uYW1lOworCisJczEgPSBtb2R1bGUtPm5hbWU7CisJczIgPSBzbG90c1tpZHhdOworCWlmICgqczIgPT0gJyEnKSB7CisJCW1hdGNoID0gMDsgLyogbmVnYXRpdmUgbWF0Y2ggKi8KKwkJczIrKzsKKwl9CiAJLyogY29tcGFyZSBtb2R1bGUgbmFtZSBzdHJpbmdzCiAJICogaHlwaGVucyBhcmUgaGFuZGxlZCBhcyBlcXVpdmFsZW50IHdpdGggdW5kZXJzY29yZQogCSAqLwpAQCAtNjgsMTIgKzc1LDEyIEBACiAJCWlmIChjMiA9PSAnLScpCiAJCQljMiA9ICdfJzsKIAkJaWYgKGMxICE9IGMyKQotCQkJcmV0dXJuIDE7CisJCQlyZXR1cm4gIW1hdGNoOwogCQlpZiAoIWMxKQogCQkJYnJlYWs7CiAJfQotI2VuZGlmCi0JcmV0dXJuIDA7CisjZW5kaWYgLyogTU9EVUxFICovCisJcmV0dXJuIG1hdGNoOwogfQogCiAjaWYgZGVmaW5lZChDT05GSUdfU05EX01JWEVSX09TUykgfHwgZGVmaW5lZChDT05GSUdfU05EX01JWEVSX09TU19NT0RVTEUpCkBAIC0xMjksNyArMTM2LDcgQEAKIAkJCSBzdHJ1Y3QgbW9kdWxlICptb2R1bGUsIGludCBleHRyYV9zaXplKQogewogCXN0cnVjdCBzbmRfY2FyZCAqY2FyZDsKLQlpbnQgZXJyOworCWludCBlcnIsIGlkeDI7CiAKIAlpZiAoZXh0cmFfc2l6ZSA8IDApCiAJCWV4dHJhX3NpemUgPSAwOwpAQCAtMTQ0LDM1ICsxNTEsNDEgQEAKIAllcnIgPSAwOwogCW11dGV4X2xvY2soJnNuZF9jYXJkX211dGV4KTsKIAlpZiAoaWR4IDwgMCkgewotCQlpbnQgaWR4MjsKIAkJZm9yIChpZHgyID0gMDsgaWR4MiA8IFNORFJWX0NBUkRTOyBpZHgyKyspCiAJCQkvKiBpZHggPT0gLTEgPT0gMHhmZmZmIG1lYW5zOiB0YWtlIGFueSBmcmVlIHNsb3QgKi8KIAkJCWlmICh+c25kX2NhcmRzX2xvY2sgJiBpZHggJiAxPDxpZHgyKSB7Ci0JCQkJaWYgKG1vZHVsZV9zbG90X21pc21hdGNoKG1vZHVsZSwgaWR4MikpCi0JCQkJCWNvbnRpbnVlOwotCQkJCWlkeCA9IGlkeDI7Ci0JCQkJaWYgKGlkeCA+PSBzbmRfZWNhcmRzX2xpbWl0KQotCQkJCQlzbmRfZWNhcmRzX2xpbWl0ID0gaWR4ICsgMTsKLQkJCQlicmVhazsKKwkJCQlpZiAobW9kdWxlX3Nsb3RfbWF0Y2gobW9kdWxlLCBpZHgyKSkgeworCQkJCQlpZHggPSBpZHgyOworCQkJCQlicmVhazsKKwkJCQl9CiAJCQl9Ci0JfSBlbHNlIHsKLQkJIGlmIChpZHggPCBzbmRfZWNhcmRzX2xpbWl0KSB7Ci0JCQlpZiAoc25kX2NhcmRzX2xvY2sgJiAoMSA8PCBpZHgpKQotCQkJCWVyciA9IC1FQlVTWTsJLyogaW52YWxpZCAqLwotCQl9IGVsc2UgewotCQkJaWYgKGlkeCA8IFNORFJWX0NBUkRTKQotCQkJCXNuZF9lY2FyZHNfbGltaXQgPSBpZHggKyAxOyAvKiBpbmNyZWFzZSB0aGUgbGltaXQgKi8KLQkJCWVsc2UKLQkJCQllcnIgPSAtRU5PREVWOwotCQl9CiAJfQotCWlmIChpZHggPCAwIHx8IGVyciA8IDApIHsKKwlpZiAoaWR4IDwgMCkgeworCQlmb3IgKGlkeDIgPSAwOyBpZHgyIDwgU05EUlZfQ0FSRFM7IGlkeDIrKykKKwkJCS8qIGlkeCA9PSAtMSA9PSAweGZmZmYgbWVhbnM6IHRha2UgYW55IGZyZWUgc2xvdCAqLworCQkJaWYgKH5zbmRfY2FyZHNfbG9jayAmIGlkeCAmIDE8PGlkeDIpIHsKKwkJCQlpZiAoIXNsb3RzW2lkeDJdIHx8ICEqc2xvdHNbaWR4Ml0pIHsKKwkJCQkJaWR4ID0gaWR4MjsKKwkJCQkJYnJlYWs7CisJCQkJfQorCQkJfQorCX0KKwlpZiAoaWR4IDwgMCkKKwkJZXJyID0gLUVOT0RFVjsKKwllbHNlIGlmIChpZHggPCBzbmRfZWNhcmRzX2xpbWl0KSB7CisJCWlmIChzbmRfY2FyZHNfbG9jayAmICgxIDw8IGlkeCkpCisJCQllcnIgPSAtRUJVU1k7CS8qIGludmFsaWQgKi8KKwl9IGVsc2UgaWYgKGlkeCA+PSBTTkRSVl9DQVJEUykKKwkJZXJyID0gLUVOT0RFVjsKKwlpZiAoZXJyIDwgMCkgewogCQltdXRleF91bmxvY2soJnNuZF9jYXJkX211dGV4KTsKIAkJc25kX3ByaW50ayhLRVJOX0VSUiAiY2Fubm90IGZpbmQgdGhlIHNsb3QgZm9yIGluZGV4ICVkIChyYW5nZSAwLSVpKSwgZXJyb3I6ICVkXG4iLAogCQkJIGlkeCwgc25kX2VjYXJkc19saW1pdCAtIDEsIGVycik7CiAJCWdvdG8gX19lcnJvcjsKIAl9CiAJc25kX2NhcmRzX2xvY2sgfD0gMSA8PCBpZHg7CQkvKiBsb2NrIGl0ICovCisJaWYgKGlkeCA+PSBzbmRfZWNhcmRzX2xpbWl0KQorCQlzbmRfZWNhcmRzX2xpbWl0ID0gaWR4ICsgMTsgLyogaW5jcmVhc2UgdGhlIGxpbWl0ICovCiAJbXV0ZXhfdW5sb2NrKCZzbmRfY2FyZF9tdXRleCk7CiAJY2FyZC0+bnVtYmVyID0gaWR4OwogCWNhcmQtPm1vZHVsZSA9IG1vZHVsZTsKZGlmZiAtLWdpdCBhL3NvdW5kL2NvcmUvbWVtYWxsb2MuYyBiL3NvdW5kL2NvcmUvbWVtYWxsb2MuYwppbmRleCAyM2I3YmMwLi5mNWQ2ZDhkIDEwMDY0NAotLS0gYS9zb3VuZC9jb3JlL21lbWFsbG9jLmMKKysrIGIvc291bmQvY29yZS9tZW1hbGxvYy5jCkBAIC04MCw2OCArODAsNiBAQAogI2VuZGlmCiAKIC8qCi0gKiAgSGFja3MKLSAqLwotCi0jaWYgZGVmaW5lZChfX2kzODZfXykKLS8qCi0gKiBBIGhhY2sgdG8gYWxsb2NhdGUgbGFyZ2UgYnVmZmVycyB2aWEgZG1hX2FsbG9jX2NvaGVyZW50KCkKLSAqCi0gKiBzaW5jZSBkbWFfYWxsb2NfY29oZXJlbnQgYWx3YXlzIHRyaWVzIEdGUF9ETUEgd2hlbiB0aGUgcmVxdWVzdGVkCi0gKiBwY2kgbWVtb3J5IHJlZ2lvbiBpcyBiZWxvdyAzMmJpdCwgaXQgaGFwcGVucyBxdWl0ZSBvZnRlbiB0aGF0IGV2ZW4KLSAqIDIgb3JkZXIgb2YgcGFnZXMgY2Fubm90IGJlIGFsbG9jYXRlZC4KLSAqCi0gKiBzbyBpbiB0aGUgZm9sbG93aW5nLCB3ZSBhbGxvY2F0ZSBhdCBmaXJzdCB3aXRob3V0IGRtYV9tYXNrLCBzbyB0aGF0Ci0gKiBhbGxvY2F0aW9uIHdpbGwgYmUgZG9uZSB3aXRob3V0IEdGUF9ETUEuICBpZiB0aGUgYXJlYSBkb2Vzbid0IG1hdGNoCi0gKiB3aXRoIHRoZSByZXF1ZXN0ZWQgcmVnaW9uLCB0aGVuIHJlYWxsb2F0ZSB3aXRoIHRoZSBvcmlnaW5hbCBkbWFfbWFzawotICogYWdhaW4uCi0gKgotICogUmVhbGx5LCB3ZSB3YW50IHRvIG1vdmUgdGhpcyB0eXBlIG9mIHRoaW5nIGludG8gZG1hX2FsbG9jX2NvaGVyZW50KCkKLSAqIHNvIGRtYV9tYXNrIGRvZXNuJ3QgaGF2ZSB0byBiZSBtZXNzZWQgd2l0aC4KLSAqLwotCi1zdGF0aWMgdm9pZCAqc25kX2RtYV9oYWNrX2FsbG9jX2NvaGVyZW50KHN0cnVjdCBkZXZpY2UgKmRldiwgc2l6ZV90IHNpemUsCi0JCQkJCSBkbWFfYWRkcl90ICpkbWFfaGFuZGxlLAotCQkJCQkgZ2ZwX3QgZmxhZ3MpCi17Ci0Jdm9pZCAqcmV0OwotCXU2NCBkbWFfbWFzaywgY29oZXJlbnRfZG1hX21hc2s7Ci0KLQlpZiAoZGV2ID09IE5VTEwgfHwgIWRldi0+ZG1hX21hc2spCi0JCXJldHVybiBkbWFfYWxsb2NfY29oZXJlbnQoZGV2LCBzaXplLCBkbWFfaGFuZGxlLCBmbGFncyk7Ci0JZG1hX21hc2sgPSAqZGV2LT5kbWFfbWFzazsKLQljb2hlcmVudF9kbWFfbWFzayA9IGRldi0+Y29oZXJlbnRfZG1hX21hc2s7Ci0JKmRldi0+ZG1hX21hc2sgPSAweGZmZmZmZmZmOyAJLyogZG8gd2l0aG91dCBtYXNraW5nICovCi0JZGV2LT5jb2hlcmVudF9kbWFfbWFzayA9IDB4ZmZmZmZmZmY7IAkvKiBkbyB3aXRob3V0IG1hc2tpbmcgKi8KLQlyZXQgPSBkbWFfYWxsb2NfY29oZXJlbnQoZGV2LCBzaXplLCBkbWFfaGFuZGxlLCBmbGFncyk7Ci0JKmRldi0+ZG1hX21hc2sgPSBkbWFfbWFzazsJLyogcmVzdG9yZSAqLwotCWRldi0+Y29oZXJlbnRfZG1hX21hc2sgPSBjb2hlcmVudF9kbWFfbWFzazsJLyogcmVzdG9yZSAqLwotCWlmIChyZXQpIHsKLQkJLyogb2J0YWluZWQgYWRkcmVzcyBpcyBvdXQgb2YgcmFuZ2U/ICovCi0JCWlmICgoKHVuc2lnbmVkIGxvbmcpKmRtYV9oYW5kbGUgKyBzaXplIC0gMSkgJiB+ZG1hX21hc2spIHsKLQkJCS8qIHJlYWxsb2NhdGUgd2l0aCB0aGUgcHJvcGVyIG1hc2sgKi8KLQkJCWRtYV9mcmVlX2NvaGVyZW50KGRldiwgc2l6ZSwgcmV0LCAqZG1hX2hhbmRsZSk7Ci0JCQlyZXQgPSBkbWFfYWxsb2NfY29oZXJlbnQoZGV2LCBzaXplLCBkbWFfaGFuZGxlLCBmbGFncyk7Ci0JCX0KLQl9IGVsc2UgewotCQkvKiB3aXNoIHRvIHN1Y2Nlc3Mgbm93IHdpdGggdGhlIHByb3BlciBtYXNrLi4uICovCi0JCWlmIChkbWFfbWFzayAhPSAweGZmZmZmZmZmVUwpIHsKLQkJCS8qIGFsbG9jYXRpb24gd2l0aCBHRlBfQVRPTUlDIHRvIGF2b2lkIHRoZSBsb25nIHN0YWxsICovCi0JCQlmbGFncyAmPSB+R0ZQX0tFUk5FTDsKLQkJCWZsYWdzIHw9IEdGUF9BVE9NSUM7Ci0JCQlyZXQgPSBkbWFfYWxsb2NfY29oZXJlbnQoZGV2LCBzaXplLCBkbWFfaGFuZGxlLCBmbGFncyk7Ci0JCX0KLQl9Ci0JcmV0dXJuIHJldDsKLX0KLQotLyogcmVkZWZpbmUgZG1hX2FsbG9jX2NvaGVyZW50IGZvciBzb21lIGFyY2hpdGVjdHVyZXMgKi8KLSN1bmRlZiBkbWFfYWxsb2NfY29oZXJlbnQKLSNkZWZpbmUgZG1hX2FsbG9jX2NvaGVyZW50IHNuZF9kbWFfaGFja19hbGxvY19jb2hlcmVudAotCi0jZW5kaWYgLyogYXJjaCAqLwotCi0vKgogICoKICAqICBHZW5lcmljIG1lbW9yeSBhbGxvY2F0b3JzCiAgKgpkaWZmIC0tZ2l0IGEvc291bmQvY29yZS9wY21fbmF0aXZlLmMgYi9zb3VuZC9jb3JlL3BjbV9uYXRpdmUuYwppbmRleCA2MWY1ZDQyLi5jNDliOWQ5IDEwMDY0NAotLS0gYS9zb3VuZC9jb3JlL3BjbV9uYXRpdmUuYworKysgYi9zb3VuZC9jb3JlL3BjbV9uYXRpdmUuYwpAQCAtMjIsNiArMjIsNyBAQAogI2luY2x1ZGUgPGxpbnV4L21tLmg+CiAjaW5jbHVkZSA8bGludXgvZmlsZS5oPgogI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L3RpbWUuaD4KICNpbmNsdWRlIDxsaW51eC9wbV9xb3NfcGFyYW1zLmg+CiAjaW5jbHVkZSA8bGludXgvdWlvLmg+CkBAIC0zMjQ5LDE0ICszMjUwLDE3IEBACiAJc3RydWN0IHNuZF9wY21fZmlsZSAqIHBjbV9maWxlOwogCXN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtOwogCXN0cnVjdCBzbmRfcGNtX3J1bnRpbWUgKnJ1bnRpbWU7Ci0JaW50IGVycjsKKwlpbnQgZXJyID0gLUVOWElPOwogCisJbG9ja19rZXJuZWwoKTsKIAlwY21fZmlsZSA9IGZpbGUtPnByaXZhdGVfZGF0YTsKIAlzdWJzdHJlYW0gPSBwY21fZmlsZS0+c3Vic3RyZWFtOwotCXNuZF9hc3NlcnQoc3Vic3RyZWFtICE9IE5VTEwsIHJldHVybiAtRU5YSU8pOworCXNuZF9hc3NlcnQoc3Vic3RyZWFtICE9IE5VTEwsIGdvdG8gb3V0KTsKIAlydW50aW1lID0gc3Vic3RyZWFtLT5ydW50aW1lOwogCiAJZXJyID0gZmFzeW5jX2hlbHBlcihmZCwgZmlsZSwgb24sICZydW50aW1lLT5mYXN5bmMpOworb3V0OgorCXVubG9ja19rZXJuZWwoKTsKIAlpZiAoZXJyIDwgMCkKIAkJcmV0dXJuIGVycjsKIAlyZXR1cm4gMDsKZGlmZiAtLWdpdCBhL3NvdW5kL2NvcmUvc2VxL3NlcV9jbGllbnRtZ3IuYyBiL3NvdW5kL2NvcmUvc2VxL3NlcV9jbGllbnRtZ3IuYwppbmRleCA0N2NmYTUxLi43YTE1NDVkIDEwMDY0NAotLS0gYS9zb3VuZC9jb3JlL3NlcS9zZXFfY2xpZW50bWdyLmMKKysrIGIvc291bmQvY29yZS9zZXEvc2VxX2NsaWVudG1nci5jCkBAIC0xNDgsNyArMTQ4LDcgQEAKIAkJcmV0dXJuIE5VTEw7CiAJfQogCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmNsaWVudHNfbG9jaywgZmxhZ3MpOwotI2lmZGVmIENPTkZJR19LTU9ECisjaWZkZWYgQ09ORklHX01PRFVMRVMKIAlpZiAoIWluX2ludGVycnVwdCgpKSB7CiAJCXN0YXRpYyBjaGFyIGNsaWVudF9yZXF1ZXN0ZWRbU05EUlZfU0VRX0dMT0JBTF9DTElFTlRTXTsKIAkJc3RhdGljIGNoYXIgY2FyZF9yZXF1ZXN0ZWRbU05EUlZfQ0FSRFNdOwpkaWZmIC0tZ2l0IGEvc291bmQvY29yZS9zZXEvc2VxX2RldmljZS5jIGIvc291bmQvY29yZS9zZXEvc2VxX2RldmljZS5jCmluZGV4IDJmMDBhZDIuLjA1NDEwZTUgMTAwNjQ0Ci0tLSBhL3NvdW5kL2NvcmUvc2VxL3NlcV9kZXZpY2UuYworKysgYi9zb3VuZC9jb3JlL3NlcS9zZXFfZGV2aWNlLmMKQEAgLTEyNCw3ICsxMjQsNyBAQAogICogbG9hZCBhbGwgcmVnaXN0ZXJlZCBkcml2ZXJzIChjYWxsZWQgZnJvbSBzZXFfY2xpZW50bWdyLmMpCiAgKi8KIAotI2lmZGVmIENPTkZJR19LTU9ECisjaWZkZWYgQ09ORklHX01PRFVMRVMKIC8qIGF2b2lkIGF1dG8tbG9hZGluZyBkdXJpbmcgbW9kdWxlX2luaXQoKSAqLwogc3RhdGljIGludCBzbmRfc2VxX2luX2luaXQ7CiB2b2lkIHNuZF9zZXFfYXV0b2xvYWRfbG9jayh2b2lkKQpAQCAtMTQwLDcgKzE0MCw3IEBACiAKIHZvaWQgc25kX3NlcV9kZXZpY2VfbG9hZF9kcml2ZXJzKHZvaWQpCiB7Ci0jaWZkZWYgQ09ORklHX0tNT0QKKyNpZmRlZiBDT05GSUdfTU9EVUxFUwogCXN0cnVjdCBvcHNfbGlzdCAqb3BzOwogCiAJLyogQ2FsbGluZyByZXF1ZXN0X21vZHVsZSBkdXJpbmcgbW9kdWxlX2luaXQoKQpAQCAtNTY2LDcgKzU2Niw1IEBACiBFWFBPUlRfU1lNQk9MKHNuZF9zZXFfZGV2aWNlX25ldyk7CiBFWFBPUlRfU1lNQk9MKHNuZF9zZXFfZGV2aWNlX3JlZ2lzdGVyX2RyaXZlcik7CiBFWFBPUlRfU1lNQk9MKHNuZF9zZXFfZGV2aWNlX3VucmVnaXN0ZXJfZHJpdmVyKTsKLSNpZmRlZiBDT05GSUdfS01PRAogRVhQT1JUX1NZTUJPTChzbmRfc2VxX2F1dG9sb2FkX2xvY2spOwogRVhQT1JUX1NZTUJPTChzbmRfc2VxX2F1dG9sb2FkX3VubG9jayk7Ci0jZW5kaWYKZGlmZiAtLWdpdCBhL3NvdW5kL2NvcmUvc291bmQuYyBiL3NvdW5kL2NvcmUvc291bmQuYwppbmRleCA2YzhhYjQ4Li4xMDAzYWUzIDEwMDY0NAotLS0gYS9zb3VuZC9jb3JlL3NvdW5kLmMKKysrIGIvc291bmQvY29yZS9zb3VuZC5jCkBAIC0yMSw2ICsyMSw3IEBACiAKICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAjaW5jbHVkZSA8bGludXgvc2xhYi5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvdGltZS5oPgogI2luY2x1ZGUgPGxpbnV4L2RldmljZS5oPgogI2luY2x1ZGUgPGxpbnV4L21vZHVsZXBhcmFtLmg+CkBAIC02MCwxNCArNjEsMTQgQEAKIHN0YXRpYyBzdHJ1Y3Qgc25kX21pbm9yICpzbmRfbWlub3JzW1NORFJWX09TX01JTk9SU107CiBzdGF0aWMgREVGSU5FX01VVEVYKHNvdW5kX211dGV4KTsKIAotI2lmZGVmIENPTkZJR19LTU9ECisjaWZkZWYgQ09ORklHX01PRFVMRVMKIAogLyoqCiAgKiBzbmRfcmVxdWVzdF9jYXJkIC0gdHJ5IHRvIGxvYWQgdGhlIGNhcmQgbW9kdWxlCiAgKiBAY2FyZDogdGhlIGNhcmQgbnVtYmVyCiAgKgogICogVHJpZXMgdG8gbG9hZCB0aGUgbW9kdWxlICJzbmQtY2FyZC1YIiBmb3IgdGhlIGdpdmVuIGNhcmQgbnVtYmVyCi0gKiB2aWEgS01PRC4gIFJldHVybnMgaW1tZWRpYXRlbHkgaWYgYWxyZWFkeSBsb2FkZWQuCisgKiB2aWEgcmVxdWVzdF9tb2R1bGUuICBSZXR1cm5zIGltbWVkaWF0ZWx5IGlmIGFscmVhZHkgbG9hZGVkLgogICovCiB2b2lkIHNuZF9yZXF1ZXN0X2NhcmQoaW50IGNhcmQpCiB7CkBAIC05Miw3ICs5Myw3IEBACiAJcmVxdWVzdF9tb2R1bGUoc3RyKTsKIH0KIAotI2VuZGlmCQkJCS8qIHJlcXVlc3RfbW9kdWxlIHN1cHBvcnQgKi8KKyNlbmRpZgkvKiBtb2R1bGFyIGtlcm5lbCAqLwogCiAvKioKICAqIHNuZF9sb29rdXBfbWlub3JfZGF0YSAtIGdldCB1c2VyIGRhdGEgb2YgYSByZWdpc3RlcmVkIGRldmljZQpAQCAtMTIxLDcgKzEyMiw3IEBACiAKIEVYUE9SVF9TWU1CT0woc25kX2xvb2t1cF9taW5vcl9kYXRhKTsKIAotc3RhdGljIGludCBzbmRfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKK3N0YXRpYyBpbnQgX19zbmRfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKIHsKIAl1bnNpZ25lZCBpbnQgbWlub3IgPSBpbWlub3IoaW5vZGUpOwogCXN0cnVjdCBzbmRfbWlub3IgKm1wdHIgPSBOVUxMOwpAQCAtMTMyLDcgKzEzMyw3IEBACiAJCXJldHVybiAtRU5PREVWOwogCW1wdHIgPSBzbmRfbWlub3JzW21pbm9yXTsKIAlpZiAobXB0ciA9PSBOVUxMKSB7Ci0jaWZkZWYgQ09ORklHX0tNT0QKKyNpZmRlZiBDT05GSUdfTU9EVUxFUwogCQlpbnQgZGV2ID0gU05EUlZfTUlOT1JfREVWSUNFKG1pbm9yKTsKIAkJaWYgKGRldiA9PSBTTkRSVl9NSU5PUl9DT05UUk9MKSB7CiAJCQkvKiAvZGV2L2Fsb2FkQz8gKi8KQEAgLTE2Myw2ICsxNjQsMTggQEAKIAlyZXR1cm4gZXJyOwogfQogCisKKy8qIEJLTCBwdXNoZG93bjogbmFzdHkgI2lmZGVmIGF2b2lkYW5jZSB3cmFwcGVyICovCitzdGF0aWMgaW50IHNuZF9vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQoreworCWludCByZXQ7CisKKwlsb2NrX2tlcm5lbCgpOworCXJldCA9IF9fc25kX29wZW4oaW5vZGUsIGZpbGUpOworCXVubG9ja19rZXJuZWwoKTsKKwlyZXR1cm4gcmV0OworfQorCiBzdGF0aWMgY29uc3Qgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyBzbmRfZm9wcyA9CiB7CiAJLm93bmVyID0JVEhJU19NT0RVTEUsCmRpZmYgLS1naXQgYS9zb3VuZC9jb3JlL3RpbWVyLmMgYi9zb3VuZC9jb3JlL3RpbWVyLmMKaW5kZXggOWQ4MTg0YS4uMGFmMzM3ZSAxMDA2NDQKLS0tIGEvc291bmQvY29yZS90aW1lci5jCisrKyBiL3NvdW5kL2NvcmUvdGltZXIuYwpAQCAtMTQ2LDcgKzE0Niw3IEBACiAJcmV0dXJuIE5VTEw7CiB9CiAKLSNpZmRlZiBDT05GSUdfS01PRAorI2lmZGVmIENPTkZJR19NT0RVTEVTCiAKIHN0YXRpYyB2b2lkIHNuZF90aW1lcl9yZXF1ZXN0KHN0cnVjdCBzbmRfdGltZXJfaWQgKnRpZCkKIHsKQEAgLTI1OSw4ICsyNTksOCBAQAogCS8qIG9wZW4gYSBtYXN0ZXIgaW5zdGFuY2UgKi8KIAltdXRleF9sb2NrKCZyZWdpc3Rlcl9tdXRleCk7CiAJdGltZXIgPSBzbmRfdGltZXJfZmluZCh0aWQpOwotI2lmZGVmIENPTkZJR19LTU9ECi0JaWYgKHRpbWVyID09IE5VTEwpIHsKKyNpZmRlZiBDT05GSUdfTU9EVUxFUworCWlmICghdGltZXIpIHsKIAkJbXV0ZXhfdW5sb2NrKCZyZWdpc3Rlcl9tdXRleCk7CiAJCXNuZF90aW1lcl9yZXF1ZXN0KHRpZCk7CiAJCW11dGV4X2xvY2soJnJlZ2lzdGVyX211dGV4KTsKZGlmZiAtLWdpdCBhL3NvdW5kL2RyaXZlcnMvS2NvbmZpZyBiL3NvdW5kL2RyaXZlcnMvS2NvbmZpZwppbmRleCA2MDJiNThlLi4yNTVmZDE4IDEwMDY0NAotLS0gYS9zb3VuZC9kcml2ZXJzL0tjb25maWcKKysrIGIvc291bmQvZHJpdmVycy9LY29uZmlnCkBAIC0xLDE1ICsxLDQxIEBACi0jIEFMU0EgZ2VuZXJpYyBkcml2ZXJzCitjb25maWcgU05EX01QVTQwMV9VQVJUCisgICAgICAgIHRyaXN0YXRlCisgICAgICAgIHNlbGVjdCBTTkRfUkFXTUlESQogCi1tZW51ICJHZW5lcmljIGRldmljZXMiCi0JZGVwZW5kcyBvbiBTTkQhPW4KK2NvbmZpZyBTTkRfT1BMM19MSUIKKwl0cmlzdGF0ZQorCXNlbGVjdCBTTkRfVElNRVIKKwlzZWxlY3QgU05EX0hXREVQCiAKK2NvbmZpZyBTTkRfT1BMNF9MSUIKKwl0cmlzdGF0ZQorCXNlbGVjdCBTTkRfVElNRVIKKwlzZWxlY3QgU05EX0hXREVQCisKK2NvbmZpZyBTTkRfVlhfTElCCisJdHJpc3RhdGUKKwlzZWxlY3QgU05EX0hXREVQCisJc2VsZWN0IFNORF9QQ00KKworY29uZmlnIFNORF9BQzk3X0NPREVDCisJdHJpc3RhdGUKKwlzZWxlY3QgU05EX1BDTQorCXNlbGVjdCBBQzk3X0JVUworCXNlbGVjdCBTTkRfVk1BU1RFUgorCittZW51Y29uZmlnIFNORF9EUklWRVJTCisJYm9vbCAiR2VuZXJpYyBzb3VuZCBkZXZpY2VzIgorCWRlZmF1bHQgeQorCWhlbHAKKwkgIFN1cHBvcnQgZm9yIGdlbmVyaWMgc291bmQgZGV2aWNlcy4KKyAgCitpZiBTTkRfRFJJVkVSUwogCiBjb25maWcgU05EX1BDU1AKIAl0cmlzdGF0ZSAiUEMtU3BlYWtlciBzdXBwb3J0IChSRUFEIEhFTFAhKSIKIAlkZXBlbmRzIG9uIFBDU1BLUl9QTEFURk9STSAmJiBYODZfUEMgJiYgSElHSF9SRVNfVElNRVJTCiAJZGVwZW5kcyBvbiBJTlBVVAogCWRlcGVuZHMgb24gRVhQRVJJTUVOVEFMCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX1BDTQogCWhlbHAKIAkgIElmIHlvdSBkb24ndCBoYXZlIGEgc291bmQgY2FyZCBpbiB5b3VyIGNvbXB1dGVyLCB5b3UgY2FuIGluY2x1ZGUgYQpAQCAtMzUsMzMgKzYxLDggQEAKIAkgIFNheSBNIGlmIHlvdSBkb24ndC4KIAkgIFNheSBZIG9ubHkgaWYgeW91IHJlYWxseSBrbm93IHdoYXQgeW91IGRvLgogCi1jb25maWcgU05EX01QVTQwMV9VQVJUCi0gICAgICAgIHRyaXN0YXRlCi0gICAgICAgIHNlbGVjdCBTTkRfUkFXTUlESQotCi1jb25maWcgU05EX09QTDNfTElCCi0JdHJpc3RhdGUKLQlzZWxlY3QgU05EX1RJTUVSCi0Jc2VsZWN0IFNORF9IV0RFUAotCi1jb25maWcgU05EX09QTDRfTElCCi0JdHJpc3RhdGUKLQlzZWxlY3QgU05EX1RJTUVSCi0Jc2VsZWN0IFNORF9IV0RFUAotCi1jb25maWcgU05EX1ZYX0xJQgotCXRyaXN0YXRlCi0Jc2VsZWN0IFNORF9IV0RFUAotCXNlbGVjdCBTTkRfUENNCi0KLWNvbmZpZyBTTkRfQUM5N19DT0RFQwotCXRyaXN0YXRlCi0Jc2VsZWN0IFNORF9QQ00KLQlzZWxlY3QgQUM5N19CVVMKLQogY29uZmlnIFNORF9EVU1NWQogCXRyaXN0YXRlICJEdW1teSAoL2Rldi9udWxsKSBzb3VuZGNhcmQiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX1BDTQogCWhlbHAKIAkgIFNheSBZIGhlcmUgdG8gaW5jbHVkZSB0aGUgZHVtbXkgZHJpdmVyLiAgVGhpcyBkcml2ZXIgZG9lcwpAQCAtOTAsNyArOTEsNiBAQAogCiBjb25maWcgU05EX01UUEFWCiAJdHJpc3RhdGUgIk1PVFUgTWlkaVRpbWVQaWVjZSBBViBtdWx0aXBvcnQgTUlESSIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfUkFXTUlESQogCWhlbHAKIAkgIFRvIHVzZSBhIE1PVFUgTWlkaVRpbWVQaWVjZSBBViBtdWx0aXBvcnQgTUlESSBhZGFwdGVyCkBAIC0xMDIsNyArMTAyLDcgQEAKIAogY29uZmlnIFNORF9NVFM2NAogCXRyaXN0YXRlICJFU0kgTWlkaXRlcm1pbmFsIDQxNDAgZHJpdmVyIgotCWRlcGVuZHMgb24gU05EICYmIFBBUlBPUlQKKwlkZXBlbmRzIG9uIFBBUlBPUlQKIAlzZWxlY3QgU05EX1JBV01JREkKIAloZWxwCiAJICBUaGUgRVNJIE1pZGl0ZXJtaW5hbCA0MTQwIGlzIGEgNCBJbiA0IE91dCBNSURJIEludGVyZmFjZSB3aXRoIApAQCAtMTE1LDcgKzExNSw2IEBACiAKIGNvbmZpZyBTTkRfU0VSSUFMX1UxNjU1MAogCXRyaXN0YXRlICJVQVJUMTY1NTAgc2VyaWFsIE1JREkgZHJpdmVyIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9SQVdNSURJCiAJaGVscAogCSAgVG8gaW5jbHVkZSBzdXBwb3J0IGZvciBNSURJIHNlcmlhbCBwb3J0IGludGVyZmFjZXMsIHNheSBZIGhlcmUKQEAgLTEzMSw3ICsxMzAsNiBAQAogCiBjb25maWcgU05EX01QVTQwMQogCXRyaXN0YXRlICJHZW5lcmljIE1QVS00MDEgVUFSVCBkcml2ZXIiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX01QVTQwMV9VQVJUCiAJaGVscAogCSAgU2F5IFkgaGVyZSB0byBpbmNsdWRlIHN1cHBvcnQgZm9yIE1JREkgcG9ydHMgY29tcGF0aWJsZSB3aXRoCkBAIC0xNDIsNyArMTQwLDcgQEAKIAogY29uZmlnIFNORF9QT1JUTUFOMlg0CiAJdHJpc3RhdGUgIlBvcnRtYW4gMng0IGRyaXZlciIKLQlkZXBlbmRzIG9uIFNORCAmJiBQQVJQT1JUCisJZGVwZW5kcyBvbiBQQVJQT1JUCiAJc2VsZWN0IFNORF9SQVdNSURJCiAJaGVscAogCSAgU2F5IFkgaGVyZSB0byBpbmNsdWRlIHN1cHBvcnQgZm9yIE1pZGltYW4gUG9ydG1hbiAyeDQgcGFyYWxsZWwKQEAgLTE1Myw3ICsxNTEsNyBAQAogCiBjb25maWcgU05EX01MNDAzX0FDOTdDUgogCXRyaXN0YXRlICJYaWxpbnggTUw0MDMgQUM5NyBDb250cm9sbGVyIFJlZmVyZW5jZSIKLQlkZXBlbmRzIG9uIFNORCAmJiBYSUxJTlhfVklSVEVYCisJZGVwZW5kcyBvbiBYSUxJTlhfVklSVEVYCiAJc2VsZWN0IFNORF9BQzk3X0NPREVDCiAJaGVscAogCSAgU2F5IFkgaGVyZSB0byBpbmNsdWRlIHN1cHBvcnQgZm9yIHRoZQpAQCAtMTYzLDQgKzE2MSwyNSBAQAogCSAgVG8gY29tcGlsZSB0aGlzIGRyaXZlciBhcyBhIG1vZHVsZSwgY2hvb3NlIE0gaGVyZTogdGhlIG1vZHVsZQogCSAgd2lsbCBiZSBjYWxsZWQgc25kLW1sNDAzX2FjOTdjci4KIAotZW5kbWVudQorY29uZmlnIFNORF9BQzk3X1BPV0VSX1NBVkUKKwlib29sICJBQzk3IFBvd2VyLVNhdmluZyBNb2RlIgorCWRlcGVuZHMgb24gU05EX0FDOTdfQ09ERUMgJiYgRVhQRVJJTUVOVEFMCisJZGVmYXVsdCBuCisJaGVscAorCSAgU2F5IFkgaGVyZSB0byBlbmFibGUgdGhlIGFnZ3Jlc3NpdmUgcG93ZXItc2F2aW5nIHN1cHBvcnQgb2YKKwkgIEFDOTcgY29kZWNzLiAgSW4gdGhpcyBtb2RlLCB0aGUgcG93ZXItbW9kZSBpcyBkeW5hbWljYWxseQorCSAgY29udHJvbGxlZCBhdCBlYWNoIG9wZW4vY2xvc2UuCisKKwkgIFRoZSBtb2RlIGlzIGFjdGl2YXRlZCBieSBwYXNzaW5nIHBvd2VyX3NhdmU9MSBvcHRpb24gdG8KKwkgIHNuZC1hYzk3LWNvZGVjIGRyaXZlci4gIFlvdSBjYW4gdG9nZ2xlIGl0IGR5bmFtaWNhbGx5IG92ZXIKKwkgIHN5c2ZzLCB0b28uCisKK2NvbmZpZyBTTkRfQUM5N19QT1dFUl9TQVZFX0RFRkFVTFQKKwlpbnQgIkRlZmF1bHQgdGltZS1vdXQgZm9yIEFDOTcgcG93ZXItc2F2ZSBtb2RlIgorCWRlcGVuZHMgb24gU05EX0FDOTdfUE9XRVJfU0FWRQorCWRlZmF1bHQgMAorCWhlbHAKKwkgIFRoZSBkZWZhdWx0IHRpbWUtb3V0IHZhbHVlIGluIHNlY29uZHMgZm9yIEFDOTcgYXV0b21hdGljCisJICBwb3dlci1zYXZlIG1vZGUuICAwIG1lYW5zIHRvIGRpc2FibGUgdGhlIHBvd2VyLXNhdmUgbW9kZS4KKworZW5kaWYJIyBTTkRfRFJJVkVSUwpkaWZmIC0tZ2l0IGEvc291bmQvZHJpdmVycy92eC92eF9jb3JlLmMgYi9zb3VuZC9kcml2ZXJzL3Z4L3Z4X2NvcmUuYwppbmRleCA5OTUzODg2Li41ODVhZjJlIDEwMDY0NAotLS0gYS9zb3VuZC9kcml2ZXJzL3Z4L3Z4X2NvcmUuYworKysgYi9zb3VuZC9kcml2ZXJzL3Z4L3Z4X2NvcmUuYwpAQCAtNDUzLDcgKzQ1Myw3IEBACiAJCQl2eF9vdXRiKGNoaXAsIFRYTSwgMCk7CiAJCQl2eF9vdXRiKGNoaXAsIFRYTCwgMCk7CiAJCX0gZWxzZSB7Ci0JCQl1bnNpZ25lZCBjaGFyICppbWFnZSA9IGJvb3QtPmRhdGEgKyBpOworCQkJY29uc3QgdW5zaWduZWQgY2hhciAqaW1hZ2UgPSBib290LT5kYXRhICsgaTsKIAkJCWlmICh2eF93YWl0X2lzcl9iaXQoY2hpcCwgSVNSX1RYX0VNUFRZKSA8IDApIHsKIAkJCQlzbmRfcHJpbnRrKEtFUk5fRVJSICJkc3AgYm9vdCBmYWlsZWQgYXQgJWRcbiIsIGkpOwogCQkJCXJldHVybiAtRUlPOwpAQCAtNjcxLDcgKzY3MSw3IEBACiAJdW5zaWduZWQgaW50IGk7CiAJaW50IGVycjsKIAl1bnNpZ25lZCBpbnQgY3N1bSA9IDA7Ci0JdW5zaWduZWQgY2hhciAqaW1hZ2UsICpjcHRyOworCWNvbnN0IHVuc2lnbmVkIGNoYXIgKmltYWdlLCAqY3B0cjsKIAogCXNuZF9hc3NlcnQoZHNwLT5zaXplICUgMyA9PSAwLCByZXR1cm4gLUVJTlZBTCk7CiAKZGlmZiAtLWdpdCBhL3NvdW5kL2RyaXZlcnMvdngvdnhfaHdkZXAuYyBiL3NvdW5kL2RyaXZlcnMvdngvdnhfaHdkZXAuYwppbmRleCAxZGZlNjk0Li5lZmQyMmU5IDEwMDY0NAotLS0gYS9zb3VuZC9kcml2ZXJzL3Z4L3Z4X2h3ZGVwLmMKKysrIGIvc291bmQvZHJpdmVycy92eC92eF9od2RlcC5jCkBAIC0xODMsNyArMTgzLDcgQEAKIAkJa2ZyZWUoZncpOwogCQlyZXR1cm4gLUVOT01FTTsKIAl9Ci0JaWYgKGNvcHlfZnJvbV91c2VyKGZ3LT5kYXRhLCBkc3AtPmltYWdlLCBkc3AtPmxlbmd0aCkpIHsKKwlpZiAoY29weV9mcm9tX3VzZXIoKHZvaWQgKilmdy0+ZGF0YSwgZHNwLT5pbWFnZSwgZHNwLT5sZW5ndGgpKSB7CiAJCWZyZWVfZncoZncpOwogCQlyZXR1cm4gLUVGQVVMVDsKIAl9CmRpZmYgLS1naXQgYS9zb3VuZC9pMmMvY3M4NDI3LmMgYi9zb3VuZC9pMmMvY3M4NDI3LmMKaW5kZXggZTU3ZTljYi4uOWMzZDM2MSAxMDA2NDQKLS0tIGEvc291bmQvaTJjL2NzODQyNy5jCisrKyBiL3NvdW5kL2kyYy9jczg0MjcuYwpAQCAtMjMsNiArMjMsNyBAQAogI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KICNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxhc20vdW5hbGlnbmVkLmg+CiAjaW5jbHVkZSA8c291bmQvY29yZS5oPgogI2luY2x1ZGUgPHNvdW5kL2NvbnRyb2wuaD4KICNpbmNsdWRlIDxzb3VuZC9wY20uaD4KQEAgLTI2NCwxMCArMjY1LDcgQEAKIAkJZ290byBfX2ZhaWw7CiAJfQogCS8qIHdyaXRlIGRlZmF1bHQgY2hhbm5lbCBzdGF0dXMgYnl0ZXMgKi8KLQlidWZbMF0gPSAoKHVuc2lnbmVkIGNoYXIpKFNORFJWX1BDTV9ERUZBVUxUX0NPTl9TUERJRiA+PiAwKSk7Ci0JYnVmWzFdID0gKCh1bnNpZ25lZCBjaGFyKShTTkRSVl9QQ01fREVGQVVMVF9DT05fU1BESUYgPj4gOCkpOwotCWJ1ZlsyXSA9ICgodW5zaWduZWQgY2hhcikoU05EUlZfUENNX0RFRkFVTFRfQ09OX1NQRElGID4+IDE2KSk7Ci0JYnVmWzNdID0gKCh1bnNpZ25lZCBjaGFyKShTTkRSVl9QQ01fREVGQVVMVF9DT05fU1BESUYgPj4gMjQpKTsKKwlwdXRfdW5hbGlnbmVkX2xlMzIoU05EUlZfUENNX0RFRkFVTFRfQ09OX1NQRElGLCBidWYpOwogCW1lbXNldChidWYgKyA0LCAwLCAyNCAtIDQpOwogCWlmIChzbmRfY3M4NDI3X3NlbmRfY29ydWRhdGEoZGV2aWNlLCAwLCBidWYsIDI0KSA8IDApCiAJCWdvdG8gX19mYWlsOwpkaWZmIC0tZ2l0IGEvc291bmQvaTJjL2wzL3VkYTEzNDEuYyBiL3NvdW5kL2kyYy9sMy91ZGExMzQxLmMKaW5kZXggYmZhNWQyYy4uMWY0OTQyZSAxMDA2NDQKLS0tIGEvc291bmQvaTJjL2wzL3VkYTEzNDEuYworKysgYi9zb3VuZC9pMmMvbDMvdWRhMTM0MS5jCkBAIC0xNyw4ICsxNyw2IEBACiAgKiAyMDAyLTA1LTEyICAgVG9tYXMgS2FzcGFyZWsgIGFub3RoZXIgY29kZSBjbGVhbnVwCiAgKi8KIAotLyogJElkOiB1ZGExMzQxLmMsdiAxLjE4IDIwMDUvMTEvMTcgMTQ6MTc6MjEgdGl3YWkgRXhwICQgKi8KLQogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgpkaWZmIC0tZ2l0IGEvc291bmQvaXNhL0tjb25maWcgYi9zb3VuZC9pc2EvS2NvbmZpZwppbmRleCAyNjM5YTZhLi41NzY5YTEzIDEwMDY0NAotLS0gYS9zb3VuZC9pc2EvS2NvbmZpZworKysgYi9zb3VuZC9pc2EvS2NvbmZpZwpAQCAtMjEsMTIgKzIxLDE3IEBACiAgICAgICAgIHNlbGVjdCBTTkRfUENNCiAgICAgICAgIHNlbGVjdCBTTkRfU0JfQ09NTU9OCiAKLW1lbnUgIklTQSBkZXZpY2VzIgotCWRlcGVuZHMgb24gU05EIT1uICYmIElTQSAmJiBJU0FfRE1BX0FQSQorbWVudWNvbmZpZyBTTkRfSVNBCisJYm9vbCAiSVNBIHNvdW5kIGRldmljZXMiCisJZGVwZW5kcyBvbiBJU0EgJiYgSVNBX0RNQV9BUEkKKwlkZWZhdWx0IHkKKwloZWxwCisJICBTdXBwb3J0IGZvciBzb3VuZCBkZXZpY2VzIGNvbm5lY3RlZCB2aWEgdGhlIElTQSBidXMuCisKK2lmIFNORF9JU0EKIAogY29uZmlnIFNORF9BRExJQgogCXRyaXN0YXRlICJBZExpYiBGTSBjYXJkIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9PUEwzX0xJQgogCWhlbHAKIAkgIFNheSBZIGhlcmUgdG8gaW5jbHVkZSBzdXBwb3J0IGZvciBBZExpYiBGTSBjYXJkcy4KQEAgLTM2LDcgKzQxLDcgQEAKIAogY29uZmlnIFNORF9BRDE4MTZBCiAJdHJpc3RhdGUgIkFuYWxvZyBEZXZpY2VzIFNvdW5kUG9ydCBBRDE4MTZBIgotCWRlcGVuZHMgb24gU05EICYmIFBOUCAmJiBJU0EKKwlkZXBlbmRzIG9uIFBOUAogCXNlbGVjdCBJU0FQTlAKIAlzZWxlY3QgU05EX09QTDNfTElCCiAJc2VsZWN0IFNORF9NUFU0MDFfVUFSVApAQCAtNTAsNyArNTUsNiBAQAogCiBjb25maWcgU05EX0FEMTg0OAogCXRyaXN0YXRlICJHZW5lcmljIEFEMTg0OC9DUzQyNDggZHJpdmVyIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9BRDE4NDhfTElCCiAJaGVscAogCSAgU2F5IFkgaGVyZSB0byBpbmNsdWRlIHN1cHBvcnQgZm9yIEFEMTg0OCAoQW5hbG9nIERldmljZXMpIG9yCkBAIC02NCw3ICs2OCw3IEBACiAKIGNvbmZpZyBTTkRfQUxTMTAwCiAJdHJpc3RhdGUgIkF2YW5jZSBMb2dpYyBBTFMxMDAvQUxTMTIwIgotCWRlcGVuZHMgb24gU05EICYmIFBOUCAmJiBJU0EKKwlkZXBlbmRzIG9uIFBOUAogCXNlbGVjdCBJU0FQTlAKIAlzZWxlY3QgU05EX09QTDNfTElCCiAJc2VsZWN0IFNORF9NUFU0MDFfVUFSVApAQCAtNzgsNyArODIsNyBAQAogCiBjb25maWcgU05EX0FaVDIzMjAKIAl0cmlzdGF0ZSAiQXp0ZWNoIFN5c3RlbXMgQVpUMjMyMCIKLQlkZXBlbmRzIG9uIFNORCAmJiBQTlAgJiYgSVNBCisJZGVwZW5kcyBvbiBQTlAKIAlzZWxlY3QgSVNBUE5QCiAJc2VsZWN0IFNORF9PUEwzX0xJQgogCXNlbGVjdCBTTkRfTVBVNDAxX1VBUlQKQEAgLTkyLDcgKzk2LDYgQEAKIAogY29uZmlnIFNORF9DTUk4MzMwCiAJdHJpc3RhdGUgIkMtTWVkaWEgQ01JODMzMCIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfQUQxODQ4X0xJQgogCXNlbGVjdCBTTkRfU0IxNl9EU1AKIAloZWxwCkBAIC0xMDQsNyArMTA3LDYgQEAKIAogY29uZmlnIFNORF9DUzQyMzEKIAl0cmlzdGF0ZSAiR2VuZXJpYyBDaXJydXMgTG9naWMgQ1M0MjMxIGRyaXZlciIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfTVBVNDAxX1VBUlQKIAlzZWxlY3QgU05EX0NTNDIzMV9MSUIKIAloZWxwCkBAIC0xMTYsNyArMTE4LDYgQEAKIAogY29uZmlnIFNORF9DUzQyMzIKIAl0cmlzdGF0ZSAiR2VuZXJpYyBDaXJydXMgTG9naWMgQ1M0MjMyIGRyaXZlciIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfT1BMM19MSUIKIAlzZWxlY3QgU05EX01QVTQwMV9VQVJUCiAJc2VsZWN0IFNORF9DUzQyMzFfTElCCkBAIC0xMjksNyArMTMwLDYgQEAKIAogY29uZmlnIFNORF9DUzQyMzYKIAl0cmlzdGF0ZSAiR2VuZXJpYyBDaXJydXMgTG9naWMgQ1M0MjM2KyBkcml2ZXIiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX09QTDNfTElCCiAJc2VsZWN0IFNORF9NUFU0MDFfVUFSVAogCXNlbGVjdCBTTkRfQ1M0MjMxX0xJQgpAQCAtMTQyLDcgKzE0Miw3IEBACiAKIGNvbmZpZyBTTkRfRFQwMTlYCiAJdHJpc3RhdGUgIkRpYW1vbmQgVGVjaG5vbG9naWVzIERULTAxOVgsIEF2YW5jZSBMb2dpYyBBTFMtMDA3IgotCWRlcGVuZHMgb24gU05EICYmIFBOUCAmJiBJU0EKKwlkZXBlbmRzIG9uIFBOUAogCXNlbGVjdCBJU0FQTlAKIAlzZWxlY3QgU05EX09QTDNfTElCCiAJc2VsZWN0IFNORF9NUFU0MDFfVUFSVApAQCAtMTU2LDcgKzE1Niw3IEBACiAKIGNvbmZpZyBTTkRfRVM5NjgKIAl0cmlzdGF0ZSAiR2VuZXJpYyBFU1MgRVM5NjggZHJpdmVyIgotCWRlcGVuZHMgb24gU05EICYmIFBOUCAmJiBJU0EKKwlkZXBlbmRzIG9uIFBOUAogCXNlbGVjdCBJU0FQTlAKIAlzZWxlY3QgU05EX01QVTQwMV9VQVJUCiAJc2VsZWN0IFNORF9TQjhfRFNQCkBAIC0xNjgsNyArMTY4LDYgQEAKIAogY29uZmlnIFNORF9FUzE2ODgKIAl0cmlzdGF0ZSAiR2VuZXJpYyBFU1MgRVM2ODgvRVMxNjg4IGRyaXZlciIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfT1BMM19MSUIKIAlzZWxlY3QgU05EX01QVTQwMV9VQVJUCiAJc2VsZWN0IFNORF9QQ00KQEAgLTE4MSw3ICsxODAsNiBAQAogCiBjb25maWcgU05EX0VTMThYWAogCXRyaXN0YXRlICJHZW5lcmljIEVTUyBFUzE4eHggZHJpdmVyIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9PUEwzX0xJQgogCXNlbGVjdCBTTkRfTVBVNDAxX1VBUlQKIAlzZWxlY3QgU05EX1BDTQpAQCAtMTkzLDcgKzE5MSw3IEBACiAKIGNvbmZpZyBTTkRfU0M2MDAwCiAJdHJpc3RhdGUgIkdhbGxhbnQgU0MtNjAwMCwgQXVkaW8gRXhjZWwgRFNQIDE2IgotCWRlcGVuZHMgb24gU05EICYmIEhBU19JT1BPUlQKKwlkZXBlbmRzIG9uIEhBU19JT1BPUlQKIAlzZWxlY3QgU05EX0FEMTg0OF9MSUIKIAlzZWxlY3QgU05EX09QTDNfTElCCiAJc2VsZWN0IFNORF9NUFU0MDFfVUFSVApAQCAtMjA0LDE1ICsyMDIsMTAgQEAKIAkgIFRvIGNvbXBpbGUgdGhpcyBkcml2ZXIgYXMgYSBtb2R1bGUsIGNob29zZSBNIGhlcmU6IHRoZSBtb2R1bGUKIAkgIHdpbGwgYmUgY2FsbGVkIHNuZC1zYzYwMDAuCiAKLWNvbmZpZyBTTkRfR1VTX1NZTlRICi0JdHJpc3RhdGUKLQogY29uZmlnIFNORF9HVVNDTEFTU0lDCiAJdHJpc3RhdGUgIkdyYXZpcyBVbHRyYVNvdW5kIENsYXNzaWMiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX1JBV01JREkKIAlzZWxlY3QgU05EX1BDTQotCXNlbGVjdCBTTkRfR1VTX1NZTlRICiAJaGVscAogCSAgU2F5IFkgaGVyZSB0byBpbmNsdWRlIHN1cHBvcnQgZm9yIEdyYXZpcyBVbHRyYVNvdW5kIENsYXNzaWMKIAkgIHNvdW5kY2FyZHMuCkBAIC0yMjIsMTEgKzIxNSw5IEBACiAKIGNvbmZpZyBTTkRfR1VTRVhUUkVNRQogCXRyaXN0YXRlICJHcmF2aXMgVWx0cmFTb3VuZCBFeHRyZW1lIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9IV0RFUAogCXNlbGVjdCBTTkRfTVBVNDAxX1VBUlQKIAlzZWxlY3QgU05EX1BDTQotCXNlbGVjdCBTTkRfR1VTX1NZTlRICiAJaGVscAogCSAgU2F5IFkgaGVyZSB0byBpbmNsdWRlIHN1cHBvcnQgZm9yIEdyYXZpcyBVbHRyYVNvdW5kIEV4dHJlbWUKIAkgIHNvdW5kY2FyZHMuCkBAIC0yMzYsMTAgKzIyNyw4IEBACiAKIGNvbmZpZyBTTkRfR1VTTUFYCiAJdHJpc3RhdGUgIkdyYXZpcyBVbHRyYVNvdW5kIE1BWCIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfUkFXTUlESQogCXNlbGVjdCBTTkRfQ1M0MjMxX0xJQgotCXNlbGVjdCBTTkRfR1VTX1NZTlRICiAJaGVscAogCSAgU2F5IFkgaGVyZSB0byBpbmNsdWRlIHN1cHBvcnQgZm9yIEdyYXZpcyBVbHRyYVNvdW5kIE1BWAogCSAgc291bmRjYXJkcy4KQEAgLTI0OSwxMCArMjM4LDkgQEAKIAogY29uZmlnIFNORF9JTlRFUldBVkUKIAl0cmlzdGF0ZSAiQU1EIEludGVyV2F2ZSwgR3JhdmlzIFVsdHJhU291bmQgUG5QIgotCWRlcGVuZHMgb24gU05EICYmIFBOUCAmJiBJU0EKKwlkZXBlbmRzIG9uIFBOUAogCXNlbGVjdCBTTkRfUkFXTUlESQogCXNlbGVjdCBTTkRfQ1M0MjMxX0xJQgotCXNlbGVjdCBTTkRfR1VTX1NZTlRICiAJaGVscAogCSAgU2F5IFkgaGVyZSB0byBpbmNsdWRlIHN1cHBvcnQgZm9yIEFNRCBJbnRlcldhdmUgYmFzZWQKIAkgIHNvdW5kY2FyZHMgKEdyYXZpcyBVbHRyYVNvdW5kIFBsdWcgJiBQbGF5LCBTVEIgU291bmRSYWdlMzIsCkBAIC0yNjMsMTAgKzI1MSw5IEBACiAKIGNvbmZpZyBTTkRfSU5URVJXQVZFX1NUQgogCXRyaXN0YXRlICJBTUQgSW50ZXJXYXZlICsgVEVBNjMzMFQgKFVsdHJhU291bmQgMzItUHJvKSIKLQlkZXBlbmRzIG9uIFNORCAmJiBQTlAgJiYgSVNBCisJZGVwZW5kcyBvbiBQTlAKIAlzZWxlY3QgU05EX1JBV01JREkKIAlzZWxlY3QgU05EX0NTNDIzMV9MSUIKLQlzZWxlY3QgU05EX0dVU19TWU5USAogCWhlbHAKIAkgIFNheSBZIGhlcmUgdG8gaW5jbHVkZSBzdXBwb3J0IGZvciBBTUQgSW50ZXJXYXZlIGJhc2VkCiAJICBzb3VuZGNhcmRzIHdpdGggYSBURUE2MzMwVCBiYXNzIGFuZCB0cmVibGUgcmVndWxhdG9yCkBAIC0yNzcsNyArMjY0LDYgQEAKIAogY29uZmlnIFNORF9PUEwzU0EyCiAJdHJpc3RhdGUgIllhbWFoYSBPUEwzLVNBMi9TQTMiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX09QTDNfTElCCiAJc2VsZWN0IFNORF9NUFU0MDFfVUFSVAogCXNlbGVjdCBTTkRfQ1M0MjMxX0xJQgpAQCAtMjkwLDcgKzI3Niw2IEBACiAKIGNvbmZpZyBTTkRfT1BUSTkyWF9BRDE4NDgKIAl0cmlzdGF0ZSAiT1BUaSA4MkM5MnggLSBBRDE4NDgiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX09QTDNfTElCCiAJc2VsZWN0IFNORF9PUEw0X0xJQgogCXNlbGVjdCBTTkRfTVBVNDAxX1VBUlQKQEAgLTMwNCw3ICsyODksNiBAQAogCiBjb25maWcgU05EX09QVEk5MlhfQ1M0MjMxCiAJdHJpc3RhdGUgIk9QVGkgODJDOTJ4IC0gQ1M0MjMxIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9PUEwzX0xJQgogCXNlbGVjdCBTTkRfT1BMNF9MSUIKIAlzZWxlY3QgU05EX01QVTQwMV9VQVJUCkBAIC0zMTgsMTAgKzMwMiw5IEBACiAKIGNvbmZpZyBTTkRfT1BUSTkzWAogCXRyaXN0YXRlICJPUFRpIDgyQzkzeCIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfT1BMM19MSUIKIAlzZWxlY3QgU05EX01QVTQwMV9VQVJUCi0Jc2VsZWN0IFNORF9QQ00KKwlzZWxlY3QgU05EX0NTNDIzMV9MSUIKIAloZWxwCiAJICBTYXkgWSBoZXJlIHRvIGluY2x1ZGUgc3VwcG9ydCBmb3Igc291bmRjYXJkcyBiYXNlZCBvbiBPcHRpCiAJICA4MkM5M3ggY2hpcHMuCkBAIC0zMzEsNyArMzE0LDYgQEAKIAogY29uZmlnIFNORF9NSVJPCiAJdHJpc3RhdGUgIk1pcm8gbWlyb1NPVU5EIFBDTTFwcm8vUENNMTIvUENNMjByYWRpbyBkcml2ZXIiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX09QTDRfTElCCiAJc2VsZWN0IFNORF9DUzQyMzFfTElCCiAJc2VsZWN0IFNORF9NUFU0MDFfVUFSVApAQCAtMzQ1LDcgKzMyNyw2IEBACiAKIGNvbmZpZyBTTkRfU0I4CiAJdHJpc3RhdGUgIlNvdW5kIEJsYXN0ZXIgMS4wLzIuMC9Qcm8gKDgtYml0KSIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfT1BMM19MSUIKIAlzZWxlY3QgU05EX1JBV01JREkKIAlzZWxlY3QgU05EX1NCOF9EU1AKQEAgLTM1OCw3ICszMzksNiBAQAogCiBjb25maWcgU05EX1NCMTYKIAl0cmlzdGF0ZSAiU291bmQgQmxhc3RlciAxNiAoUG5QKSIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfT1BMM19MSUIKIAlzZWxlY3QgU05EX01QVTQwMV9VQVJUCiAJc2VsZWN0IFNORF9TQjE2X0RTUApAQCAtMzcxLDcgKzM1MSw2IEBACiAKIGNvbmZpZyBTTkRfU0JBV0UKIAl0cmlzdGF0ZSAiU291bmQgQmxhc3RlciBBV0UgKDMyLDY0KSAoUG5QKSIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfT1BMM19MSUIKIAlzZWxlY3QgU05EX01QVTQwMV9VQVJUCiAJc2VsZWN0IFNORF9TQjE2X0RTUApAQCAtMzkxLDE4ICszNzAsOCBAQAogCSAgY29wcm9jZXNzb3IgY2FuIGRvIHZhcmlhYmxlIHRhc2tzIGxpa2UgdmFyaW91cyBjb21wcmVzc2lvbiBhbmQKIAkgIGRlY29tcHJlc3Npb24gYWxnb3JpdGhtcy4KIAotY29uZmlnIFNORF9TQjE2X0NTUF9GSVJNV0FSRV9JTl9LRVJORUwKLQlib29sICJJbi1rZXJuZWwgZmlybXdhcmUgZm9yIFNCMTYgQ1NQIgotCWRlcGVuZHMgb24gU05EX1NCMTZfQ1NQCi0JZGVmYXVsdCB5Ci0JaGVscAotCSAgU2F5IFkgaGVyZSB0byBpbmNsdWRlIHRoZSBzdGF0aWMgZmlybXdhcmUgYnVpbHQgaW4gdGhlIGtlcm5lbAotCSAgZm9yIHRoZSBTQjE2IENTUCBjb250cm9sbGVyLiAgSWYgeW91IGNob29zZSBOIGhlcmUsIHlvdSBuZWVkCi0JICB0byBpbnN0YWxsIHRoZSBmaXJtd2FyZSBmaWxlcyBmcm9tIHRoZSBhbHNhLWZpcm13YXJlIHBhY2thZ2UuCi0KIGNvbmZpZyBTTkRfU0dBTEFYWQogCXRyaXN0YXRlICJBenRlY2ggU291bmQgR2FsYXh5IgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9BRDE4NDhfTElCCiAJaGVscAogCSAgU2F5IFkgaGVyZSB0byBpbmNsdWRlIHN1cHBvcnQgZm9yIEF6dGVjaCBTb3VuZCBHYWxheHkKQEAgLTQxMyw3ICszODIsNiBAQAogCiBjb25maWcgU05EX1NTQ0FQRQogCXRyaXN0YXRlICJFbnNvbmlxIFNvdW5kU2NhcGUgUG5QIGRyaXZlciIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfSFdERVAKIAlzZWxlY3QgU05EX01QVTQwMV9VQVJUCiAJc2VsZWN0IFNORF9DUzQyMzFfTElCCkBAIC00MjYsNyArMzk0LDYgQEAKIAogY29uZmlnIFNORF9XQVZFRlJPTlQKIAl0cmlzdGF0ZSAiVHVydGxlIEJlYWNoIE1hdWksVHJvcGV6LFRyb3BleisgKFdhdmVmcm9udCkiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgRldfTE9BREVSCiAJc2VsZWN0IFNORF9PUEwzX0xJQgogCXNlbGVjdCBTTkRfTVBVNDAxX1VBUlQKQEAgLTQ0OCw0ICs0MTUsNSBAQAogCSAgeW91IG5lZWQgdG8gaW5zdGFsbCB0aGUgZmlybXdhcmUgZmlsZXMgZnJvbSB0aGUKIAkgIGFsc2EtZmlybXdhcmUgcGFja2FnZS4KIAotZW5kbWVudQorZW5kaWYJIyBTTkRfSVNBCisKZGlmZiAtLWdpdCBhL3NvdW5kL2lzYS9jczQyM3gvY3M0MjMxX2xpYi5jIGIvc291bmQvaXNhL2NzNDIzeC9jczQyMzFfbGliLmMKaW5kZXggMGFhODY0OS4uNTIxZGI3MCAxMDA2NDQKLS0tIGEvc291bmQvaXNhL2NzNDIzeC9jczQyMzFfbGliLmMKKysrIGIvc291bmQvaXNhL2NzNDIzeC9jczQyMzFfbGliLmMKQEAgLTExOSw2ICsxMTksNDIgQEAKIAkweDAwLAkJCS8qIDFmLzMxIC0gY2JybCAqLwogfTsKIAorc3RhdGljIHVuc2lnbmVkIGNoYXIgc25kX29wdGk5M3hfb3JpZ2luYWxfaW1hZ2VbMzJdID0KK3sKKwkweDAwLAkJLyogMDAvMDAgLSBsX21peG91dF9vdXRjdHJsICovCisJMHgwMCwJCS8qIDAxLzAxIC0gcl9taXhvdXRfb3V0Y3RybCAqLworCTB4ODgsCQkvKiAwMi8wMiAtIGxfY2RfaW5jdHJsICovCisJMHg4OCwJCS8qIDAzLzAzIC0gcl9jZF9pbmN0cmwgKi8KKwkweDg4LAkJLyogMDQvMDQgLSBsX2ExL2ZtX2luY3RybCAqLworCTB4ODgsCQkvKiAwNS8wNSAtIHJfYTEvZm1faW5jdHJsICovCisJMHg4MCwJCS8qIDA2LzA2IC0gbF9kYWNfaW5jdHJsICovCisJMHg4MCwJCS8qIDA3LzA3IC0gcl9kYWNfaW5jdHJsICovCisJMHgwMCwJCS8qIDA4LzA4IC0gcGx5X2RhdGFmb3JtX3JlZyAqLworCTB4MDAsCQkvKiAwOS8wOSAtIGlmX2NvbmYgKi8KKwkweDAwLAkJLyogMGEvMTAgLSBwaW5fY3RybCAqLworCTB4MDAsCQkvKiAwYi8xMSAtIGVycl9pbml0X3JlZyAqLworCTB4MGEsCQkvKiAwYy8xMiAtIGlkX3JlZyAqLworCTB4MDAsCQkvKiAwZC8xMyAtIHJlc2VydmVkICovCisJMHgwMCwJCS8qIDBlLzE0IC0gcGx5X3VwY291bnRfcmVnICovCisJMHgwMCwJCS8qIDBmLzE1IC0gcGx5X2xvd2NvdW50X3JlZyAqLworCTB4ODgsCQkvKiAxMC8xNiAtIHJlc2VydmVkL2xfYTFfaW5jdHJsICovCisJMHg4OCwJCS8qIDExLzE3IC0gcmVzZXJ2ZWQvcl9hMV9pbmN0cmwgKi8KKwkweDg4LAkJLyogMTIvMTggLSBsX2xpbmVfaW5jdHJsICovCisJMHg4OCwJCS8qIDEzLzE5IC0gcl9saW5lX2luY3RybCAqLworCTB4ODgsCQkvKiAxNC8yMCAtIGxfbWljX2luY3RybCAqLworCTB4ODgsCQkvKiAxNS8yMSAtIHJfbWljX2luY3RybCAqLworCTB4ODAsCQkvKiAxNi8yMiAtIGxfb3V0X291dGN0cmwgKi8KKwkweDgwLAkJLyogMTcvMjMgLSByX291dF9vdXRjdHJsICovCisJMHgwMCwJCS8qIDE4LzI0IC0gcmVzZXJ2ZWQgKi8KKwkweDAwLAkJLyogMTkvMjUgLSByZXNlcnZlZCAqLworCTB4MDAsCQkvKiAxYS8yNiAtIHJlc2VydmVkICovCisJMHgwMCwJCS8qIDFiLzI3IC0gcmVzZXJ2ZWQgKi8KKwkweDAwLAkJLyogMWMvMjggLSBjYXBfZGF0YWZvcm1fcmVnICovCisJMHgwMCwJCS8qIDFkLzI5IC0gcmVzZXJ2ZWQgKi8KKwkweDAwLAkJLyogMWUvMzAgLSBjYXBfdXBjb3VudF9yZWcgKi8KKwkweDAwCQkvKiAxZi8zMSAtIGNhcF9sb3djb3VudF9yZWcgKi8KK307CisKIC8qCiAgKiAgQmFzaWMgSS9PIGZ1bmN0aW9ucwogICovCkBAIC04OTUsNyArOTMxLDcgQEAKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIHZvaWQgc25kX2NzNDIzMV9vdmVycmFuZ2Uoc3RydWN0IHNuZF9jczQyMzEgKmNoaXApCit2b2lkIHNuZF9jczQyMzFfb3ZlcnJhbmdlKHN0cnVjdCBzbmRfY3M0MjMxICpjaGlwKQogewogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAJdW5zaWduZWQgY2hhciByZXM7CkBAIC0xMDU0LDggKzEwOTAsMTEgQEAKIAljaGlwLT5pbWFnZVtDUzQyMzFfSUZBQ0VfQ1RSTF0gPQogCSAgICAoY2hpcC0+aW1hZ2VbQ1M0MjMxX0lGQUNFX0NUUkxdICYgfkNTNDIzMV9TSU5HTEVfRE1BKSB8CiAJICAgIChjaGlwLT5zaW5nbGVfZG1hID8gQ1M0MjMxX1NJTkdMRV9ETUEgOiAwKTsKLQljaGlwLT5pbWFnZVtDUzQyMzFfQUxUX0ZFQVRVUkVfMV0gPSAweDgwOwotCWNoaXAtPmltYWdlW0NTNDIzMV9BTFRfRkVBVFVSRV8yXSA9IGNoaXAtPmhhcmR3YXJlID09IENTNDIzMV9IV19JTlRFUldBVkUgPyAweGMyIDogMHgwMTsKKwlpZiAoY2hpcC0+aGFyZHdhcmUgIT0gQ1M0MjMxX0hXX09QVEk5M1gpIHsKKwkJY2hpcC0+aW1hZ2VbQ1M0MjMxX0FMVF9GRUFUVVJFXzFdID0gMHg4MDsKKwkJY2hpcC0+aW1hZ2VbQ1M0MjMxX0FMVF9GRUFUVVJFXzJdID0KKwkJCWNoaXAtPmhhcmR3YXJlID09IENTNDIzMV9IV19JTlRFUldBVkUgPyAweGMyIDogMHgwMTsKKwl9CiAJcHRyID0gKHVuc2lnbmVkIGNoYXIgKikgJmNoaXAtPmltYWdlOwogCXNuZF9jczQyMzFfbWNlX2Rvd24oY2hpcCk7CiAJc3Bpbl9sb2NrX2lycXNhdmUoJmNoaXAtPnJlZ19sb2NrLCBmbGFncyk7CkBAIC0xMzc2LDYgKzE0MTUsNyBAQAogCWNhc2UgQ1M0MjMxX0hXX0lOVEVSV0FWRTogcmV0dXJuICJBTUQgSW50ZXJXYXZlIjsKIAljYXNlIENTNDIzMV9IV19PUEwzU0EyOiByZXR1cm4gY2hpcC0+Y2FyZC0+c2hvcnRuYW1lOwogCWNhc2UgQ1M0MjMxX0hXX0FEMTg0NTogcmV0dXJuICJBRDE4NDUiOworCWNhc2UgQ1M0MjMxX0hXX09QVEk5M1g6IHJldHVybiAiT1BUaSA5M3giOwogCWRlZmF1bHQ6IHJldHVybiAiPz8/IjsKIAl9CiB9CkBAIC0xNDAxLDggKzE0NDEsMTMgQEAKIAljaGlwLT5yYXRlX2NvbnN0cmFpbnQgPSBzbmRfY3M0MjMxX3hyYXRlOwogCWNoaXAtPnNldF9wbGF5YmFja19mb3JtYXQgPSBzbmRfY3M0MjMxX3BsYXliYWNrX2Zvcm1hdDsKIAljaGlwLT5zZXRfY2FwdHVyZV9mb3JtYXQgPSBzbmRfY3M0MjMxX2NhcHR1cmVfZm9ybWF0OwotICAgICAgICBtZW1jcHkoJmNoaXAtPmltYWdlLCAmc25kX2NzNDIzMV9vcmlnaW5hbF9pbWFnZSwgc2l6ZW9mKHNuZF9jczQyMzFfb3JpZ2luYWxfaW1hZ2UpKTsKLSAgICAgICAgCisJaWYgKGNoaXAtPmhhcmR3YXJlID09IENTNDIzMV9IV19PUFRJOTNYKQorCQltZW1jcHkoJmNoaXAtPmltYWdlLCAmc25kX29wdGk5M3hfb3JpZ2luYWxfaW1hZ2UsCisJCSAgICAgICBzaXplb2Yoc25kX29wdGk5M3hfb3JpZ2luYWxfaW1hZ2UpKTsKKwllbHNlCisJCW1lbWNweSgmY2hpcC0+aW1hZ2UsICZzbmRfY3M0MjMxX29yaWdpbmFsX2ltYWdlLAorCQkgICAgICAgc2l6ZW9mKHNuZF9jczQyMzFfb3JpZ2luYWxfaW1hZ2UpKTsKKwogICAgICAgICAqcmNoaXAgPSBjaGlwOwogICAgICAgICByZXR1cm4gMDsKIH0KQEAgLTE3OTAsNiArMTgzNSw0OCBAQAogQ1M0MjMxX1NJTkdMRSgiTG9vcGJhY2sgQ2FwdHVyZSBWb2x1bWUiLCAwLCBDUzQyMzFfTE9PUEJBQ0ssIDIsIDYzLCAxKQogfTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKK3N0YXRpYyBzdHJ1Y3Qgc25kX2tjb250cm9sX25ldyBzbmRfb3B0aTkzeF9jb250cm9sc1tdID0geworQ1M0MjMxX0RPVUJMRSgiTWFzdGVyIFBsYXliYWNrIFN3aXRjaCIsIDAsCisJICAgICAgT1BUaTkzWF9PVVRfTEVGVCwgT1BUaTkzWF9PVVRfUklHSFQsIDcsIDcsIDEsIDEpLAorQ1M0MjMxX0RPVUJMRSgiTWFzdGVyIFBsYXliYWNrIFZvbHVtZSIsIDAsCisJICAgICAgT1BUaTkzWF9PVVRfTEVGVCwgT1BUaTkzWF9PVVRfUklHSFQsIDEsIDEsIDMxLCAxKSwKK0NTNDIzMV9ET1VCTEUoIlBDTSBQbGF5YmFjayBTd2l0Y2giLCAwLAorCSAgICAgIENTNDIzMV9MRUZUX09VVFBVVCwgQ1M0MjMxX1JJR0hUX09VVFBVVCwgNywgNywgMSwgMSksCitDUzQyMzFfRE9VQkxFKCJQQ00gUGxheWJhY2sgVm9sdW1lIiwgMCwKKwkgICAgICBDUzQyMzFfTEVGVF9PVVRQVVQsIENTNDIzMV9SSUdIVF9PVVRQVVQsIDAsIDAsIDMxLCAxKSwKK0NTNDIzMV9ET1VCTEUoIkZNIFBsYXliYWNrIFN3aXRjaCIsIDAsCisJICAgICAgQ1M0MjMxX0FVWDJfTEVGVF9JTlBVVCwgQ1M0MjMxX0FVWDJfUklHSFRfSU5QVVQsIDcsIDcsIDEsIDEpLAorQ1M0MjMxX0RPVUJMRSgiRk0gUGxheWJhY2sgVm9sdW1lIiwgMCwKKwkgICAgICBDUzQyMzFfQVVYMl9MRUZUX0lOUFVULCBDUzQyMzFfQVVYMl9SSUdIVF9JTlBVVCwgMSwgMSwgMTUsIDEpLAorQ1M0MjMxX0RPVUJMRSgiTGluZSBQbGF5YmFjayBTd2l0Y2giLCAwLAorCSAgICAgIENTNDIzMV9MRUZUX0xJTkVfSU4sIENTNDIzMV9SSUdIVF9MSU5FX0lOLCA3LCA3LCAxLCAxKSwKK0NTNDIzMV9ET1VCTEUoIkxpbmUgUGxheWJhY2sgVm9sdW1lIiwgMCwKKwkgICAgICBDUzQyMzFfTEVGVF9MSU5FX0lOLCBDUzQyMzFfUklHSFRfTElORV9JTiwgMCwgMCwgMTUsIDEpLAorQ1M0MjMxX0RPVUJMRSgiTWljIFBsYXliYWNrIFN3aXRjaCIsIDAsCisJICAgICAgT1BUaTkzWF9NSUNfTEVGVF9JTlBVVCwgT1BUaTkzWF9NSUNfUklHSFRfSU5QVVQsIDcsIDcsIDEsIDEpLAorQ1M0MjMxX0RPVUJMRSgiTWljIFBsYXliYWNrIFZvbHVtZSIsIDAsCisJICAgICAgT1BUaTkzWF9NSUNfTEVGVF9JTlBVVCwgT1BUaTkzWF9NSUNfUklHSFRfSU5QVVQsIDEsIDEsIDE1LCAxKSwKK0NTNDIzMV9ET1VCTEUoIk1pYyBCb29zdCIsIDAsCisJICAgICAgQ1M0MjMxX0xFRlRfSU5QVVQsIENTNDIzMV9SSUdIVF9JTlBVVCwgNSwgNSwgMSwgMCksCitDUzQyMzFfRE9VQkxFKCJDRCBQbGF5YmFjayBTd2l0Y2giLCAwLAorCSAgICAgIENTNDIzMV9BVVgxX0xFRlRfSU5QVVQsIENTNDIzMV9BVVgxX1JJR0hUX0lOUFVULCA3LCA3LCAxLCAxKSwKK0NTNDIzMV9ET1VCTEUoIkNEIFBsYXliYWNrIFZvbHVtZSIsIDAsCisJICAgICAgQ1M0MjMxX0FVWDFfTEVGVF9JTlBVVCwgQ1M0MjMxX0FVWDFfUklHSFRfSU5QVVQsIDEsIDEsIDE1LCAxKSwKK0NTNDIzMV9ET1VCTEUoIkF1eCBQbGF5YmFjayBTd2l0Y2giLCAwLAorCSAgICAgIE9QVGk5MzFfQVVYX0xFRlRfSU5QVVQsIE9QVGk5MzFfQVVYX1JJR0hUX0lOUFVULCA3LCA3LCAxLCAxKSwKK0NTNDIzMV9ET1VCTEUoIkF1eCBQbGF5YmFjayBWb2x1bWUiLCAwLAorCSAgICAgIE9QVGk5MzFfQVVYX0xFRlRfSU5QVVQsIE9QVGk5MzFfQVVYX1JJR0hUX0lOUFVULCAxLCAxLCAxNSwgMSksCitDUzQyMzFfRE9VQkxFKCJDYXB0dXJlIFZvbHVtZSIsIDAsCisJICAgICAgQ1M0MjMxX0xFRlRfSU5QVVQsIENTNDIzMV9SSUdIVF9JTlBVVCwgMCwgMCwgMTUsIDApLAoreworCS5pZmFjZSA9IFNORFJWX0NUTF9FTEVNX0lGQUNFX01JWEVSLAorCS5uYW1lID0gIkNhcHR1cmUgU291cmNlIiwKKwkuaW5mbyA9IHNuZF9jczQyMzFfaW5mb19tdXgsCisJLmdldCA9IHNuZF9jczQyMzFfZ2V0X211eCwKKwkucHV0ID0gc25kX2NzNDIzMV9wdXRfbXV4LAorfQorfTsKKwogaW50IHNuZF9jczQyMzFfbWl4ZXIoc3RydWN0IHNuZF9jczQyMzEgKmNoaXApCiB7CiAJc3RydWN0IHNuZF9jYXJkICpjYXJkOwpAQCAtMTgwMiwxMCArMTg4OSwyMiBAQAogCiAJc3RyY3B5KGNhcmQtPm1peGVybmFtZSwgY2hpcC0+cGNtLT5uYW1lKTsKIAotCWZvciAoaWR4ID0gMDsgaWR4IDwgQVJSQVlfU0laRShzbmRfY3M0MjMxX2NvbnRyb2xzKTsgaWR4KyspIHsKLQkJaWYgKChlcnIgPSBzbmRfY3RsX2FkZChjYXJkLCBzbmRfY3RsX25ldzEoJnNuZF9jczQyMzFfY29udHJvbHNbaWR4XSwgY2hpcCkpKSA8IDApCi0JCQlyZXR1cm4gZXJyOwotCX0KKwlpZiAoY2hpcC0+aGFyZHdhcmUgPT0gQ1M0MjMxX0hXX09QVEk5M1gpCisJCWZvciAoaWR4ID0gMDsgaWR4IDwgQVJSQVlfU0laRShzbmRfb3B0aTkzeF9jb250cm9scyk7IGlkeCsrKSB7CisJCQllcnIgPSBzbmRfY3RsX2FkZChjYXJkLAorCQkJCQlzbmRfY3RsX25ldzEoJnNuZF9vcHRpOTN4X2NvbnRyb2xzW2lkeF0sCisJCQkJCQkgICAgIGNoaXApKTsKKwkJCWlmIChlcnIgPCAwKQorCQkJCXJldHVybiBlcnI7CisJCX0KKwllbHNlCisJCWZvciAoaWR4ID0gMDsgaWR4IDwgQVJSQVlfU0laRShzbmRfY3M0MjMxX2NvbnRyb2xzKTsgaWR4KyspIHsKKwkJCWVyciA9IHNuZF9jdGxfYWRkKGNhcmQsCisJCQkJCXNuZF9jdGxfbmV3MSgmc25kX2NzNDIzMV9jb250cm9sc1tpZHhdLAorCQkJCQkJICAgICBjaGlwKSk7CisJCQlpZiAoZXJyIDwgMCkKKwkJCQlyZXR1cm4gZXJyOworCQl9CiAJcmV0dXJuIDA7CiB9CiAKQEAgLTE4MTUsNiArMTkxNCw3IEBACiBFWFBPUlRfU1lNQk9MKHNuZF9jczQyMzZfZXh0X2luKTsKIEVYUE9SVF9TWU1CT0woc25kX2NzNDIzMV9tY2VfdXApOwogRVhQT1JUX1NZTUJPTChzbmRfY3M0MjMxX21jZV9kb3duKTsKK0VYUE9SVF9TWU1CT0woc25kX2NzNDIzMV9vdmVycmFuZ2UpOwogRVhQT1JUX1NZTUJPTChzbmRfY3M0MjMxX2ludGVycnVwdCk7CiBFWFBPUlRfU1lNQk9MKHNuZF9jczQyMzFfY2hpcF9pZCk7CiBFWFBPUlRfU1lNQk9MKHNuZF9jczQyMzFfY3JlYXRlKTsKZGlmZiAtLWdpdCBhL3NvdW5kL2lzYS9vcHRpOXh4L29wdGk5MngtYWQxODQ4LmMgYi9zb3VuZC9pc2Evb3B0aTl4eC9vcHRpOTJ4LWFkMTg0OC5jCmluZGV4IGZlMWFmYzEuLjQxYzA0N2UgMTAwNjQ0Ci0tLSBhL3NvdW5kL2lzYS9vcHRpOXh4L29wdGk5MngtYWQxODQ4LmMKKysrIGIvc291bmQvaXNhL29wdGk5eHgvb3B0aTkyeC1hZDE4NDguYwpAQCAtMzMsMTUgKzMzLDEwIEBACiAjaW5jbHVkZSA8YXNtL2lvLmg+CiAjaW5jbHVkZSA8YXNtL2RtYS5oPgogI2luY2x1ZGUgPHNvdW5kL2NvcmUuaD4KLSNpZmRlZiBDUzQyMzEKKyNpZiBkZWZpbmVkKENTNDIzMSkgfHwgZGVmaW5lZChPUFRpOTNYKQogI2luY2x1ZGUgPHNvdW5kL2NzNDIzMS5oPgogI2Vsc2UKLSNpZm5kZWYgT1BUaTkzWAogI2luY2x1ZGUgPHNvdW5kL2FkMTg0OC5oPgotI2Vsc2UKLSNpbmNsdWRlIDxzb3VuZC9jb250cm9sLmg+Ci0jaW5jbHVkZSA8c291bmQvcGNtLmg+Ci0jZW5kaWYJLyogT1BUaTkzWCAqLwogI2VuZGlmCS8qIENTNDIzMSAqLwogI2luY2x1ZGUgPHNvdW5kL21wdTQwMS5oPgogI2luY2x1ZGUgPHNvdW5kL29wbDMuaD4KQEAgLTEwOSw3ICsxMDQsNiBAQAogTU9EVUxFX1BBUk1fREVTQyhkbWEyLCAiMm5kIGRtYSAjIGZvciBvcHRpOXh4IGRyaXZlci4iKTsKICNlbmRpZgkvKiBDUzQyMzEgfHwgT1BUaTkzWCAqLwogCi0jZGVmaW5lIE9QVGk5WFhfSFdfREVURUNUCTAKICNkZWZpbmUgT1BUaTlYWF9IV184MkM5MjgJMQogI2RlZmluZSBPUFRpOVhYX0hXXzgyQzkyOQkyCiAjZGVmaW5lIE9QVGk5WFhfSFdfODJDOTI0CTMKQEAgLTEyMywxMDUgKzExNywxMiBAQAogCiAjaWZkZWYgT1BUaTkzWAogCi0jZGVmaW5lIE9QVGk5M1hfSU5ERVgJCQkweDAwCi0jZGVmaW5lIE9QVGk5M1hfREFUQQkJCTB4MDEKICNkZWZpbmUgT1BUaTkzWF9TVEFUVVMJCQkweDAyCi0jZGVmaW5lIE9QVGk5M1hfRERBVEEJCQkweDAzCiAjZGVmaW5lIE9QVGk5M1hfUE9SVChjaGlwLCByKQkJKChjaGlwKS0+cG9ydCArIE9QVGk5M1hfIyNyKQogCi0jZGVmaW5lIE9QVGk5M1hfTUlYT1VUX0xFRlQJCTB4MDAKLSNkZWZpbmUgT1BUaTkzWF9NSVhPVVRfUklHSFQJCTB4MDEKLSNkZWZpbmUgT1BUaTkzWF9DRF9MRUZUX0lOUFVUCQkweDAyCi0jZGVmaW5lIE9QVGk5M1hfQ0RfUklHSFRfSU5QVVQJCTB4MDMKLSNkZWZpbmUgT1BUaTkzMF9BVVhfTEVGVF9JTlBVVAkJMHgwNAotI2RlZmluZSBPUFRpOTMwX0FVWF9SSUdIVF9JTlBVVAkJMHgwNQotI2RlZmluZSBPUFRpOTMxX0ZNX0xFRlRfSU5QVVQJCTB4MDQKLSNkZWZpbmUgT1BUaTkzMV9GTV9SSUdIVF9JTlBVVAkJMHgwNQotI2RlZmluZSBPUFRpOTNYX0RBQ19MRUZUCQkweDA2Ci0jZGVmaW5lIE9QVGk5M1hfREFDX1JJR0hUCQkweDA3Ci0jZGVmaW5lIE9QVGk5M1hfUExBWV9GT1JNQVQJCTB4MDgKLSNkZWZpbmUgT1BUaTkzWF9JRkFDRV9DT05GCQkweDA5Ci0jZGVmaW5lIE9QVGk5M1hfUElOX0NUUkwJCTB4MGEKLSNkZWZpbmUgT1BUaTkzWF9FUlJfSU5JVAkJMHgwYgotI2RlZmluZSBPUFRpOTNYX0lECQkJMHgwYwotI2RlZmluZSBPUFRpOTNYX1BMQVlfVVBSX0NOVAkJMHgwZQotI2RlZmluZSBPUFRpOTNYX1BMQVlfTFdSX0NOVAkJMHgwZgotI2RlZmluZSBPUFRpOTMxX0FVWF9MRUZUX0lOUFVUCQkweDEwCi0jZGVmaW5lIE9QVGk5MzFfQVVYX1JJR0hUX0lOUFVUCQkweDExCi0jZGVmaW5lIE9QVGk5M1hfTElORV9MRUZUX0lOUFVUCQkweDEyCi0jZGVmaW5lIE9QVGk5M1hfTElORV9SSUdIVF9JTlBVVAkweDEzCi0jZGVmaW5lIE9QVGk5M1hfTUlDX0xFRlRfSU5QVVQJCTB4MTQKLSNkZWZpbmUgT1BUaTkzWF9NSUNfUklHSFRfSU5QVVQJCTB4MTUKLSNkZWZpbmUgT1BUaTkzWF9PVVRfTEVGVAkJMHgxNgotI2RlZmluZSBPUFRpOTNYX09VVF9SSUdIVAkJMHgxNwotI2RlZmluZSBPUFRpOTNYX0NBUFRfRk9STUFUCQkweDFjCi0jZGVmaW5lIE9QVGk5M1hfQ0FQVF9VUFJfQ05UCQkweDFlCi0jZGVmaW5lIE9QVGk5M1hfQ0FQVF9MV1JfQ05UCQkweDFmCi0KLSNkZWZpbmUgT1BUaTkzWF9UUkQJCQkweDIwCi0jZGVmaW5lIE9QVGk5M1hfTUNFCQkJMHg0MAotI2RlZmluZSBPUFRpOTNYX0lOSVQJCQkweDgwCi0KLSNkZWZpbmUgT1BUaTkzWF9NSVhPVVRfTUlDX0dBSU4JCTB4MjAKLSNkZWZpbmUgT1BUaTkzWF9NSVhPVVRfTElORQkJMHgwMAotI2RlZmluZSBPUFRpOTNYX01JWE9VVF9DRAkJMHg0MAotI2RlZmluZSBPUFRpOTNYX01JWE9VVF9NSUMJCTB4ODAKLSNkZWZpbmUgT1BUaTkzWF9NSVhPVVRfTUlYRVIJCTB4YzAKLQotI2RlZmluZSBPUFRpOTNYX1NURVJFTwkJCTB4MTAKLSNkZWZpbmUgT1BUaTkzWF9MSU5FQVJfOAkJMHgwMAotI2RlZmluZSBPUFRpOTNYX1VMQVdfOAkJCTB4MjAKLSNkZWZpbmUgT1BUaTkzWF9MSU5FQVJfMTZfTElUCQkweDQwCi0jZGVmaW5lIE9QVGk5M1hfQUxBV184CQkJMHg2MAotI2RlZmluZSBPUFRpOTNYX0FEUENNXzE2CQkweGEwCi0jZGVmaW5lIE9QVGk5M1hfTElORUFSXzE2X0JJRwkJMHhjMAotCi0jZGVmaW5lIE9QVGk5M1hfQ0FQVFVSRV9QSU8JCTB4ODAKLSNkZWZpbmUgT1BUaTkzWF9QTEFZQkFDS19QSU8JCTB4NDAKLSNkZWZpbmUgT1BUaTkzWF9BVVRPQ0FMSUIJCTB4MDgKLSNkZWZpbmUgT1BUaTkzWF9TSU5HTEVfRE1BCQkweDA0Ci0jZGVmaW5lIE9QVGk5M1hfQ0FQVFVSRV9FTkFCTEUJCTB4MDIKLSNkZWZpbmUgT1BUaTkzWF9QTEFZQkFDS19FTkFCTEUJCTB4MDEKLQotI2RlZmluZSBPUFRpOTNYX0lSUV9FTkFCTEUJCTB4MDIKLQotI2RlZmluZSBPUFRpOTNYX0RNQV9SRVFVRVNUCQkweDEwCi0jZGVmaW5lIE9QVGk5M1hfQ0FMSUJfSU5fUFJPR1JFU1MJMHgyMAotCiAjZGVmaW5lIE9QVGk5M1hfSVJRX1BMQVlCQUNLCQkweDA0CiAjZGVmaW5lIE9QVGk5M1hfSVJRX0NBUFRVUkUJCTB4MDgKIAotCi1zdHJ1Y3Qgc25kX29wdGk5M3ggewotCXVuc2lnbmVkIGxvbmcgcG9ydDsKLQlzdHJ1Y3QgcmVzb3VyY2UgKnJlc19wb3J0OwotCWludCBpcnE7Ci0JaW50IGRtYTE7Ci0JaW50IGRtYTI7Ci0KLQlzdHJ1Y3Qgc25kX29wdGk5eHggKmNoaXA7Ci0JdW5zaWduZWQgc2hvcnQgaGFyZHdhcmU7Ci0JdW5zaWduZWQgY2hhciBpbWFnZVszMl07Ci0KLQl1bnNpZ25lZCBjaGFyIG1jZV9iaXQ7Ci0JdW5zaWduZWQgc2hvcnQgbW9kZTsKLQlpbnQgbXV0ZTsKLQotCXNwaW5sb2NrX3QgbG9jazsKLQotCXN0cnVjdCBzbmRfY2FyZCAqY2FyZDsKLQlzdHJ1Y3Qgc25kX3BjbSAqcGNtOwotCXN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqcGxheWJhY2tfc3Vic3RyZWFtOwotCXN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqY2FwdHVyZV9zdWJzdHJlYW07Ci0JdW5zaWduZWQgaW50IHBfZG1hX3NpemU7Ci0JdW5zaWduZWQgaW50IGNfZG1hX3NpemU7Ci19OwotCi0jZGVmaW5lIE9QVGk5M1hfTU9ERV9OT05FCTB4MDAKLSNkZWZpbmUgT1BUaTkzWF9NT0RFX1BMQVkJMHgwMQotI2RlZmluZSBPUFRpOTNYX01PREVfQ0FQVFVSRQkweDAyCi0jZGVmaW5lIE9QVGk5M1hfTU9ERV9PUEVOCShPUFRpOTNYX01PREVfUExBWSB8IE9QVGk5M1hfTU9ERV9DQVBUVVJFKQotCiAjZW5kaWYgLyogT1BUaTkzWCAqLwogCiBzdHJ1Y3Qgc25kX29wdGk5eHggewpAQCAtMjM0LDYgKzEzNSw3IEBACiAJdW5zaWduZWQgbG9uZyBtY19iYXNlX3NpemU7CiAjaWZkZWYgT1BUaTkzWAogCXVuc2lnbmVkIGxvbmcgbWNfaW5kaXJfaW5kZXg7CisJc3RydWN0IHNuZF9jczQyMzEgKmNvZGVjOwogI2VuZGlmCS8qIE9QVGk5M1ggKi8KIAl1bnNpZ25lZCBsb25nIHB3ZF9yZWc7CiAKQEAgLTQ5MSwxNiArMzkzLDkgQEAKIAkJYnJlYWs7CiAKICNlbHNlCS8qIE9QVGk5M1ggKi8KLQljYXNlIE9QVGk5WFhfSFdfODJDOTMwOgogCWNhc2UgT1BUaTlYWF9IV184MkM5MzE6CiAJY2FzZSBPUFRpOVhYX0hXXzgyQzkzMzoKLQkJc25kX29wdGk5eHhfd3JpdGVfbWFzayhjaGlwLCBPUFRpOVhYX01DX1JFRyg2KSwgMHgwMiwgMHgwMyk7Ci0JCXNuZF9vcHRpOXh4X3dyaXRlX21hc2soY2hpcCwgT1BUaTlYWF9NQ19SRUcoMyksIDB4MDAsIDB4ZmYpOwotCQlzbmRfb3B0aTl4eF93cml0ZV9tYXNrKGNoaXAsIE9QVGk5WFhfTUNfUkVHKDQpLCAweDEwIHwKLQkJCShjaGlwLT5oYXJkd2FyZSA9PSBPUFRpOVhYX0hXXzgyQzkzMCA/IDB4MDAgOiAweDA0KSwKLQkJCTB4MzQpOwotCQlzbmRfb3B0aTl4eF93cml0ZV9tYXNrKGNoaXAsIE9QVGk5WFhfTUNfUkVHKDUpLCAweDIwLCAweGJmKTsKLQkJLyogCisJCS8qCiAJCSAqIFRoZSBCVEMgMTgxN0RXIGhhcyBRUzEwMDAgd2F2ZXRhYmxlIHdoaWNoIGlzIGNvbm5lY3RlZAogCQkgKiB0byB0aGUgc2VyaWFsIGRpZ2l0YWwgaW5wdXQgb2YgdGhlIE9QVEk5MzEuCiAJCSAqLwpAQCAtNTEwLDYgKzQwNSwxMyBAQAogCQkgKiBvciBkaWdpdGFsIGlucHV0IHNpZ25hbC4KIAkJICovCiAJCXNuZF9vcHRpOXh4X3dyaXRlX21hc2soY2hpcCwgT1BUaTlYWF9NQ19SRUcoMjYpLCAweDAxLCAweDAxKTsKKwljYXNlIE9QVGk5WFhfSFdfODJDOTMwOiAvKiBGQUxMIFRIUk9VR0ggKi8KKwkJc25kX29wdGk5eHhfd3JpdGVfbWFzayhjaGlwLCBPUFRpOVhYX01DX1JFRyg2KSwgMHgwMiwgMHgwMyk7CisJCXNuZF9vcHRpOXh4X3dyaXRlX21hc2soY2hpcCwgT1BUaTlYWF9NQ19SRUcoMyksIDB4MDAsIDB4ZmYpOworCQlzbmRfb3B0aTl4eF93cml0ZV9tYXNrKGNoaXAsIE9QVGk5WFhfTUNfUkVHKDQpLCAweDEwIHwKKwkJCShjaGlwLT5oYXJkd2FyZSA9PSBPUFRpOVhYX0hXXzgyQzkzMCA/IDB4MDAgOiAweDA0KSwKKwkJCTB4MzQpOworCQlzbmRfb3B0aTl4eF93cml0ZV9tYXNrKGNoaXAsIE9QVGk5WFhfTUNfUkVHKDUpLCAweDIwLCAweGJmKTsKIAkJYnJlYWs7CiAjZW5kaWYJLyogT1BUaTkzWCAqLwogCkBAIC02NTQsOTc5ICs1NTYsMjMgQEAKIAogI2lmZGVmIE9QVGk5M1gKIAotc3RhdGljIHVuc2lnbmVkIGNoYXIgc25kX29wdGk5M3hfZGVmYXVsdF9pbWFnZVszMl0gPQotewotCTB4MDAsCQkvKiAwMC8wMCAtIGxfbWl4b3V0X291dGN0cmwgKi8KLQkweDAwLAkJLyogMDEvMDEgLSByX21peG91dF9vdXRjdHJsICovCi0JMHg4OCwJCS8qIDAyLzAyIC0gbF9jZF9pbmN0cmwgKi8KLQkweDg4LAkJLyogMDMvMDMgLSByX2NkX2luY3RybCAqLwotCTB4ODgsCQkvKiAwNC8wNCAtIGxfYTEvZm1faW5jdHJsICovCi0JMHg4OCwJCS8qIDA1LzA1IC0gcl9hMS9mbV9pbmN0cmwgKi8KLQkweDgwLAkJLyogMDYvMDYgLSBsX2RhY19pbmN0cmwgKi8KLQkweDgwLAkJLyogMDcvMDcgLSByX2RhY19pbmN0cmwgKi8KLQkweDAwLAkJLyogMDgvMDggLSBwbHlfZGF0YWZvcm1fcmVnICovCi0JMHgwMCwJCS8qIDA5LzA5IC0gaWZfY29uZiAqLwotCTB4MDAsCQkvKiAwYS8xMCAtIHBpbl9jdHJsICovCi0JMHgwMCwJCS8qIDBiLzExIC0gZXJyX2luaXRfcmVnICovCi0JMHgwYSwJCS8qIDBjLzEyIC0gaWRfcmVnICovCi0JMHgwMCwJCS8qIDBkLzEzIC0gcmVzZXJ2ZWQgKi8KLQkweDAwLAkJLyogMGUvMTQgLSBwbHlfdXBjb3VudF9yZWcgKi8KLQkweDAwLAkJLyogMGYvMTUgLSBwbHlfbG93Y291bnRfcmVnICovCi0JMHg4OCwJCS8qIDEwLzE2IC0gcmVzZXJ2ZWQvbF9hMV9pbmN0cmwgKi8KLQkweDg4LAkJLyogMTEvMTcgLSByZXNlcnZlZC9yX2ExX2luY3RybCAqLwotCTB4ODgsCQkvKiAxMi8xOCAtIGxfbGluZV9pbmN0cmwgKi8KLQkweDg4LAkJLyogMTMvMTkgLSByX2xpbmVfaW5jdHJsICovCi0JMHg4OCwJCS8qIDE0LzIwIC0gbF9taWNfaW5jdHJsICovCi0JMHg4OCwJCS8qIDE1LzIxIC0gcl9taWNfaW5jdHJsICovCi0JMHg4MCwJCS8qIDE2LzIyIC0gbF9vdXRfb3V0Y3RybCAqLwotCTB4ODAsCQkvKiAxNy8yMyAtIHJfb3V0X291dGN0cmwgKi8KLQkweDAwLAkJLyogMTgvMjQgLSByZXNlcnZlZCAqLwotCTB4MDAsCQkvKiAxOS8yNSAtIHJlc2VydmVkICovCi0JMHgwMCwJCS8qIDFhLzI2IC0gcmVzZXJ2ZWQgKi8KLQkweDAwLAkJLyogMWIvMjcgLSByZXNlcnZlZCAqLwotCTB4MDAsCQkvKiAxYy8yOCAtIGNhcF9kYXRhZm9ybV9yZWcgKi8KLQkweDAwLAkJLyogMWQvMjkgLSByZXNlcnZlZCAqLwotCTB4MDAsCQkvKiAxZS8zMCAtIGNhcF91cGNvdW50X3JlZyAqLwotCTB4MDAJCS8qIDFmLzMxIC0gY2FwX2xvd2NvdW50X3JlZyAqLwotfTsKLQotCi1zdGF0aWMgaW50IHNuZF9vcHRpOTN4X2J1c3lfd2FpdChzdHJ1Y3Qgc25kX29wdGk5M3ggKmNoaXApCi17Ci0JaW50IHRpbWVvdXQ7Ci0KLQlmb3IgKHRpbWVvdXQgPSAyNTA7IHRpbWVvdXQtLSA+IDA7IHVkZWxheSgxMCkpCi0JCWlmICghKGluYihPUFRpOTNYX1BPUlQoY2hpcCwgSU5ERVgpKSAmIE9QVGk5M1hfSU5JVCkpCi0JCQlyZXR1cm4gMDsKLQotCXNuZF9wcmludGsoImNoaXAgc3RpbGwgYnVzeS5cbiIpOwotCXJldHVybiAtRUJVU1k7Ci19Ci0KLXN0YXRpYyB1bnNpZ25lZCBjaGFyIHNuZF9vcHRpOTN4X2luKHN0cnVjdCBzbmRfb3B0aTkzeCAqY2hpcCwgdW5zaWduZWQgY2hhciByZWcpCi17Ci0Jc25kX29wdGk5M3hfYnVzeV93YWl0KGNoaXApOwotCW91dGIoY2hpcC0+bWNlX2JpdCB8IChyZWcgJiAweDFmKSwgT1BUaTkzWF9QT1JUKGNoaXAsIElOREVYKSk7Ci0JcmV0dXJuIGluYihPUFRpOTNYX1BPUlQoY2hpcCwgREFUQSkpOwotfQotCi1zdGF0aWMgdm9pZCBzbmRfb3B0aTkzeF9vdXQoc3RydWN0IHNuZF9vcHRpOTN4ICpjaGlwLCB1bnNpZ25lZCBjaGFyIHJlZywKLQkJCSAgICB1bnNpZ25lZCBjaGFyIHZhbHVlKQotewotCXNuZF9vcHRpOTN4X2J1c3lfd2FpdChjaGlwKTsKLQlvdXRiKGNoaXAtPm1jZV9iaXQgfCAocmVnICYgMHgxZiksIE9QVGk5M1hfUE9SVChjaGlwLCBJTkRFWCkpOwotCW91dGIodmFsdWUsIE9QVGk5M1hfUE9SVChjaGlwLCBEQVRBKSk7Ci19Ci0KLXN0YXRpYyB2b2lkIHNuZF9vcHRpOTN4X291dF9pbWFnZShzdHJ1Y3Qgc25kX29wdGk5M3ggKmNoaXAsIHVuc2lnbmVkIGNoYXIgcmVnLAotCQkJCSAgdW5zaWduZWQgY2hhciB2YWx1ZSkKLXsKLQlzbmRfb3B0aTkzeF9vdXQoY2hpcCwgcmVnLCBjaGlwLT5pbWFnZVtyZWddID0gdmFsdWUpOwotfQotCi1zdGF0aWMgdm9pZCBzbmRfb3B0aTkzeF9vdXRfbWFzayhzdHJ1Y3Qgc25kX29wdGk5M3ggKmNoaXAsIHVuc2lnbmVkIGNoYXIgcmVnLAotCQkJCSB1bnNpZ25lZCBjaGFyIG1hc2ssIHVuc2lnbmVkIGNoYXIgdmFsdWUpCi17Ci0Jc25kX29wdGk5M3hfb3V0X2ltYWdlKGNoaXAsIHJlZywKLQkJKGNoaXAtPmltYWdlW3JlZ10gJiB+bWFzaykgfCAodmFsdWUgJiBtYXNrKSk7Ci19Ci0KLQotc3RhdGljIHZvaWQgc25kX29wdGk5M3hfbWNlX3VwKHN0cnVjdCBzbmRfb3B0aTkzeCAqY2hpcCkKLXsKLQlzbmRfb3B0aTkzeF9idXN5X3dhaXQoY2hpcCk7Ci0KLQljaGlwLT5tY2VfYml0ID0gT1BUaTkzWF9NQ0U7Ci0JaWYgKCEoaW5iKE9QVGk5M1hfUE9SVChjaGlwLCBJTkRFWCkpICYgT1BUaTkzWF9NQ0UpKQotCQlvdXRiKGNoaXAtPm1jZV9iaXQsIE9QVGk5M1hfUE9SVChjaGlwLCBJTkRFWCkpOwotfQotCi1zdGF0aWMgdm9pZCBzbmRfb3B0aTkzeF9tY2VfZG93bihzdHJ1Y3Qgc25kX29wdGk5M3ggKmNoaXApCi17Ci0Jc25kX29wdGk5M3hfYnVzeV93YWl0KGNoaXApOwotCi0JY2hpcC0+bWNlX2JpdCA9IDA7Ci0JaWYgKGluYihPUFRpOTNYX1BPUlQoY2hpcCwgSU5ERVgpKSAmIE9QVGk5M1hfTUNFKQotCQlvdXRiKGNoaXAtPm1jZV9iaXQsIE9QVGk5M1hfUE9SVChjaGlwLCBJTkRFWCkpOwotfQotCi0jZGVmaW5lIHNuZF9vcHRpOTN4X211dGVfcmVnKGNoaXAsIHJlZywgbXV0ZSkJXAotCXNuZF9vcHRpOTN4X291dChjaGlwLCByZWcsIG11dGUgPyAweDgwIDogY2hpcC0+aW1hZ2VbcmVnXSk7Ci0KLXN0YXRpYyB2b2lkIHNuZF9vcHRpOTN4X211dGUoc3RydWN0IHNuZF9vcHRpOTN4ICpjaGlwLCBpbnQgbXV0ZSkKLXsKLQltdXRlID0gbXV0ZSA/IDEgOiAwOwotCWlmIChjaGlwLT5tdXRlID09IG11dGUpCi0JCXJldHVybjsKLQotCWNoaXAtPm11dGUgPSBtdXRlOwotCi0Jc25kX29wdGk5M3hfbXV0ZV9yZWcoY2hpcCwgT1BUaTkzWF9DRF9MRUZUX0lOUFVULCBtdXRlKTsKLQlzbmRfb3B0aTkzeF9tdXRlX3JlZyhjaGlwLCBPUFRpOTNYX0NEX1JJR0hUX0lOUFVULCBtdXRlKTsKLQlzd2l0Y2ggKGNoaXAtPmhhcmR3YXJlKSB7Ci0JY2FzZSBPUFRpOVhYX0hXXzgyQzkzMDoKLQkJc25kX29wdGk5M3hfbXV0ZV9yZWcoY2hpcCwgT1BUaTkzMF9BVVhfTEVGVF9JTlBVVCwgbXV0ZSk7Ci0JCXNuZF9vcHRpOTN4X211dGVfcmVnKGNoaXAsIE9QVGk5MzBfQVVYX1JJR0hUX0lOUFVULCBtdXRlKTsKLQkJYnJlYWs7Ci0JY2FzZSBPUFRpOVhYX0hXXzgyQzkzMToKLQljYXNlIE9QVGk5WFhfSFdfODJDOTMzOgotCQlzbmRfb3B0aTkzeF9tdXRlX3JlZyhjaGlwLCBPUFRpOTMxX0ZNX0xFRlRfSU5QVVQsIG11dGUpOwotCQlzbmRfb3B0aTkzeF9tdXRlX3JlZyhjaGlwLCBPUFRpOTMxX0ZNX1JJR0hUX0lOUFVULCBtdXRlKTsKLQkJc25kX29wdGk5M3hfbXV0ZV9yZWcoY2hpcCwgT1BUaTkzMV9BVVhfTEVGVF9JTlBVVCwgbXV0ZSk7Ci0JCXNuZF9vcHRpOTN4X211dGVfcmVnKGNoaXAsIE9QVGk5MzFfQVVYX1JJR0hUX0lOUFVULCBtdXRlKTsKLQl9Ci0Jc25kX29wdGk5M3hfbXV0ZV9yZWcoY2hpcCwgT1BUaTkzWF9EQUNfTEVGVCwgbXV0ZSk7Ci0Jc25kX29wdGk5M3hfbXV0ZV9yZWcoY2hpcCwgT1BUaTkzWF9EQUNfUklHSFQsIG11dGUpOwotCXNuZF9vcHRpOTN4X211dGVfcmVnKGNoaXAsIE9QVGk5M1hfTElORV9MRUZUX0lOUFVULCBtdXRlKTsKLQlzbmRfb3B0aTkzeF9tdXRlX3JlZyhjaGlwLCBPUFRpOTNYX0xJTkVfUklHSFRfSU5QVVQsIG11dGUpOwotCXNuZF9vcHRpOTN4X211dGVfcmVnKGNoaXAsIE9QVGk5M1hfTUlDX0xFRlRfSU5QVVQsIG11dGUpOwotCXNuZF9vcHRpOTN4X211dGVfcmVnKGNoaXAsIE9QVGk5M1hfTUlDX1JJR0hUX0lOUFVULCBtdXRlKTsKLQlzbmRfb3B0aTkzeF9tdXRlX3JlZyhjaGlwLCBPUFRpOTNYX09VVF9MRUZULCBtdXRlKTsKLQlzbmRfb3B0aTkzeF9tdXRlX3JlZyhjaGlwLCBPUFRpOTNYX09VVF9SSUdIVCwgbXV0ZSk7Ci19Ci0KLQotc3RhdGljIHVuc2lnbmVkIGludCBzbmRfb3B0aTkzeF9nZXRfY291bnQodW5zaWduZWQgY2hhciBmb3JtYXQsCi0JCQkJCSAgdW5zaWduZWQgaW50IHNpemUpCi17Ci0Jc3dpdGNoIChmb3JtYXQgJiAweGUwKSB7Ci0JY2FzZSBPUFRpOTNYX0xJTkVBUl8xNl9MSVQ6Ci0JY2FzZSBPUFRpOTNYX0xJTkVBUl8xNl9CSUc6Ci0JCXNpemUgPj49IDE7Ci0JCWJyZWFrOwotCWNhc2UgT1BUaTkzWF9BRFBDTV8xNjoKLQkJcmV0dXJuIHNpemUgPj4gMjsKLQl9Ci0JcmV0dXJuIChmb3JtYXQgJiBPUFRpOTNYX1NURVJFTykgPyAoc2l6ZSA+PiAxKSA6IHNpemU7Ci19Ci0KLXN0YXRpYyB1bnNpZ25lZCBpbnQgcmF0ZXNbXSA9IHsgIDU1MTIsICA2NjE1LCAgODAwMCwgIDk2MDAsIDExMDI1LCAxNjAwMCwgCi0JCQkJMTg5MDAsIDIyMDUwLCAyNzQyOCwgMzIwMDAsIDMzMDc1LCAzNzgwMCwKLQkJCQk0NDEwMCwgNDgwMDAgfTsKLSNkZWZpbmUgUkFURVMgQVJSQVlfU0laRShyYXRlcykKLQotc3RhdGljIHN0cnVjdCBzbmRfcGNtX2h3X2NvbnN0cmFpbnRfbGlzdCBod19jb25zdHJhaW50c19yYXRlcyA9IHsKLQkuY291bnQgPSBSQVRFUywKLQkubGlzdCA9IHJhdGVzLAotCS5tYXNrID0gMCwKLX07Ci0KLXN0YXRpYyB1bnNpZ25lZCBjaGFyIGJpdHNbXSA9IHsgIDB4MDEsICAweDBmLCAgMHgwMCwgIDB4MGUsICAweDAzLCAgMHgwMiwKLQkJCQkgMHgwNSwgIDB4MDcsICAweDA0LCAgMHgwNiwgIDB4MGQsICAweDA5LAotCQkJCSAweDBiLCAgMHgwY307Ci0KLXN0YXRpYyB1bnNpZ25lZCBjaGFyIHNuZF9vcHRpOTN4X2dldF9mcmVxKHVuc2lnbmVkIGludCByYXRlKQotewotCXVuc2lnbmVkIGludCBpOwotCi0JZm9yIChpID0gMDsgaSA8IFJBVEVTOyBpKyspIHsKLQkJaWYgKHJhdGUgPT0gcmF0ZXNbaV0pCi0JCQlyZXR1cm4gYml0c1tpXTsKLQl9Ci0Jc25kX0JVRygpOwotCXJldHVybiBiaXRzW1JBVEVTLTFdOwotfQotCi1zdGF0aWMgdW5zaWduZWQgY2hhciBzbmRfb3B0aTkzeF9nZXRfZm9ybWF0KHN0cnVjdCBzbmRfb3B0aTkzeCAqY2hpcCwKLQkJCQkJICAgIHVuc2lnbmVkIGludCBmb3JtYXQsIGludCBjaGFubmVscykKLXsKLQl1bnNpZ25lZCBjaGFyIHJldHZhbCA9IE9QVGk5M1hfTElORUFSXzg7Ci0KLQlzd2l0Y2ggKGZvcm1hdCkgewotCWNhc2UgU05EUlZfUENNX0ZPUk1BVF9NVV9MQVc6Ci0JCXJldHZhbCA9IE9QVGk5M1hfVUxBV184OwotCQlicmVhazsKLQljYXNlIFNORFJWX1BDTV9GT1JNQVRfQV9MQVc6Ci0JCXJldHZhbCA9IE9QVGk5M1hfQUxBV184OwotCQlicmVhazsKLQljYXNlIFNORFJWX1BDTV9GT1JNQVRfUzE2X0xFOgotCQlyZXR2YWwgPSBPUFRpOTNYX0xJTkVBUl8xNl9MSVQ7Ci0JCWJyZWFrOwotCWNhc2UgU05EUlZfUENNX0ZPUk1BVF9TMTZfQkU6Ci0JCXJldHZhbCA9IE9QVGk5M1hfTElORUFSXzE2X0JJRzsKLQkJYnJlYWs7Ci0JY2FzZSBTTkRSVl9QQ01fRk9STUFUX0lNQV9BRFBDTToKLQkJcmV0dmFsID0gT1BUaTkzWF9BRFBDTV8xNjsKLQl9Ci0JcmV0dXJuIChjaGFubmVscyA+IDEpID8gKHJldHZhbCB8IE9QVGk5M1hfU1RFUkVPKSA6IHJldHZhbDsKLX0KLQotCi1zdGF0aWMgdm9pZCBzbmRfb3B0aTkzeF9wbGF5YmFja19mb3JtYXQoc3RydWN0IHNuZF9vcHRpOTN4ICpjaGlwLCB1bnNpZ25lZCBjaGFyIGZtdCkKLXsKLQl1bnNpZ25lZCBjaGFyIG1hc2s7Ci0KLQlzbmRfb3B0aTkzeF9tdXRlKGNoaXAsIDEpOwotCi0Jc25kX29wdGk5M3hfbWNlX3VwKGNoaXApOwotCW1hc2sgPSAoY2hpcC0+bW9kZSAmIE9QVGk5M1hfTU9ERV9DQVBUVVJFKSA/IDB4ZjAgOiAweGZmOwotCXNuZF9vcHRpOTN4X291dF9tYXNrKGNoaXAsIE9QVGk5M1hfUExBWV9GT1JNQVQsIG1hc2ssIGZtdCk7Ci0Jc25kX29wdGk5M3hfbWNlX2Rvd24oY2hpcCk7Ci0KLQlzbmRfb3B0aTkzeF9tdXRlKGNoaXAsIDApOwotfQotCi1zdGF0aWMgdm9pZCBzbmRfb3B0aTkzeF9jYXB0dXJlX2Zvcm1hdChzdHJ1Y3Qgc25kX29wdGk5M3ggKmNoaXAsIHVuc2lnbmVkIGNoYXIgZm10KQotewotCXNuZF9vcHRpOTN4X211dGUoY2hpcCwgMSk7Ci0KLQlzbmRfb3B0aTkzeF9tY2VfdXAoY2hpcCk7Ci0JaWYgKCEoY2hpcC0+bW9kZSAmIE9QVGk5M1hfTU9ERV9QTEFZKSkKLQkJc25kX29wdGk5M3hfb3V0X21hc2soY2hpcCwgT1BUaTkzWF9QTEFZX0ZPUk1BVCwgMHgwZiwgZm10KTsKLQllbHNlCi0JCWZtdCA9IGNoaXAtPmltYWdlW09QVGk5M1hfUExBWV9GT1JNQVRdICYgMHhmMDsKLQlzbmRfb3B0aTkzeF9vdXRfaW1hZ2UoY2hpcCwgT1BUaTkzWF9DQVBUX0ZPUk1BVCwgZm10KTsKLQlzbmRfb3B0aTkzeF9tY2VfZG93bihjaGlwKTsKLQotCXNuZF9vcHRpOTN4X211dGUoY2hpcCwgMCk7Ci19Ci0KLQotc3RhdGljIGludCBzbmRfb3B0aTkzeF9vcGVuKHN0cnVjdCBzbmRfb3B0aTkzeCAqY2hpcCwgdW5zaWduZWQgaW50IG1vZGUpCi17Ci0JdW5zaWduZWQgbG9uZyBmbGFnczsKLQotCXNwaW5fbG9ja19pcnFzYXZlKCZjaGlwLT5sb2NrLCBmbGFncyk7Ci0KLQlpZiAoY2hpcC0+bW9kZSAmIG1vZGUpIHsKLQkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmY2hpcC0+bG9jaywgZmxhZ3MpOwotCQlyZXR1cm4gLUVBR0FJTjsKLQl9Ci0KLQlpZiAoIShjaGlwLT5tb2RlICYgT1BUaTkzWF9NT0RFX09QRU4pKSB7Ci0JCW91dGIoMHgwMCwgT1BUaTkzWF9QT1JUKGNoaXAsIFNUQVRVUykpOwotCQlzbmRfb3B0aTkzeF9vdXRfbWFzayhjaGlwLCBPUFRpOTNYX1BJTl9DVFJMLAotCQkJT1BUaTkzWF9JUlFfRU5BQkxFLCBPUFRpOTNYX0lSUV9FTkFCTEUpOwotCQljaGlwLT5tb2RlID0gbW9kZTsKLQl9Ci0JZWxzZQotCQljaGlwLT5tb2RlIHw9IG1vZGU7Ci0KLQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZjaGlwLT5sb2NrLCBmbGFncyk7Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyB2b2lkIHNuZF9vcHRpOTN4X2Nsb3NlKHN0cnVjdCBzbmRfb3B0aTkzeCAqY2hpcCwgdW5zaWduZWQgaW50IG1vZGUpCi17Ci0JdW5zaWduZWQgbG9uZyBmbGFnczsKLQotCXNwaW5fbG9ja19pcnFzYXZlKCZjaGlwLT5sb2NrLCBmbGFncyk7Ci0KLQljaGlwLT5tb2RlICY9IH5tb2RlOwotCWlmIChjaGlwLT5tb2RlICYgT1BUaTkzWF9NT0RFX09QRU4pIHsKLQkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmY2hpcC0+bG9jaywgZmxhZ3MpOwotCQlyZXR1cm47Ci0JfQotCi0Jc25kX29wdGk5M3hfbXV0ZShjaGlwLCAxKTsKLQotCW91dGIoMCwgT1BUaTkzWF9QT1JUKGNoaXAsIFNUQVRVUykpOwotCXNuZF9vcHRpOTN4X291dF9tYXNrKGNoaXAsIE9QVGk5M1hfUElOX0NUUkwsIE9QVGk5M1hfSVJRX0VOQUJMRSwKLQkJfk9QVGk5M1hfSVJRX0VOQUJMRSk7Ci0KLQlzbmRfb3B0aTkzeF9tY2VfdXAoY2hpcCk7Ci0Jc25kX29wdGk5M3hfb3V0X2ltYWdlKGNoaXAsIE9QVGk5M1hfSUZBQ0VfQ09ORiwgMHgwMCk7Ci0Jc25kX29wdGk5M3hfbWNlX2Rvd24oY2hpcCk7Ci0JY2hpcC0+bW9kZSA9IDA7Ci0KLQlzbmRfb3B0aTkzeF9tdXRlKGNoaXAsIDApOwotCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmNoaXAtPmxvY2ssIGZsYWdzKTsKLX0KLQotc3RhdGljIGludCBzbmRfb3B0aTkzeF90cmlnZ2VyKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtLCAKLQkJCSAgICAgICB1bnNpZ25lZCBjaGFyIHdoYXQsIGludCBjbWQpCi17Ci0Jc3RydWN0IHNuZF9vcHRpOTN4ICpjaGlwID0gc25kX3BjbV9zdWJzdHJlYW1fY2hpcChzdWJzdHJlYW0pOwotCi0Jc3dpdGNoIChjbWQpIHsKLQljYXNlIFNORFJWX1BDTV9UUklHR0VSX1NUQVJUOgotCWNhc2UgU05EUlZfUENNX1RSSUdHRVJfU1RPUDoKLQl7Ci0JCXVuc2lnbmVkIGludCB3aGF0ID0gMDsKLQkJc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzOwotCQlzbmRfcGNtX2dyb3VwX2Zvcl9lYWNoX2VudHJ5KHMsIHN1YnN0cmVhbSkgewotCQkJaWYgKHMgPT0gY2hpcC0+cGxheWJhY2tfc3Vic3RyZWFtKSB7Ci0JCQkJd2hhdCB8PSBPUFRpOTNYX1BMQVlCQUNLX0VOQUJMRTsKLQkJCQlzbmRfcGNtX3RyaWdnZXJfZG9uZShzLCBzdWJzdHJlYW0pOwotCQkJfSBlbHNlIGlmIChzID09IGNoaXAtPmNhcHR1cmVfc3Vic3RyZWFtKSB7Ci0JCQkJd2hhdCB8PSBPUFRpOTNYX0NBUFRVUkVfRU5BQkxFOwotCQkJCXNuZF9wY21fdHJpZ2dlcl9kb25lKHMsIHN1YnN0cmVhbSk7Ci0JCQl9Ci0JCX0KLQkJc3Bpbl9sb2NrKCZjaGlwLT5sb2NrKTsKLQkJaWYgKGNtZCA9PSBTTkRSVl9QQ01fVFJJR0dFUl9TVEFSVCkgewotCQkJc25kX29wdGk5M3hfb3V0X21hc2soY2hpcCwgT1BUaTkzWF9JRkFDRV9DT05GLCB3aGF0LCB3aGF0KTsKLQkJCWlmICh3aGF0ICYgT1BUaTkzWF9DQVBUVVJFX0VOQUJMRSkKLQkJCQl1ZGVsYXkoNTApOwotCQl9IGVsc2UKLQkJCXNuZF9vcHRpOTN4X291dF9tYXNrKGNoaXAsIE9QVGk5M1hfSUZBQ0VfQ09ORiwgd2hhdCwgMHgwMCk7Ci0JCXNwaW5fdW5sb2NrKCZjaGlwLT5sb2NrKTsKLQkJYnJlYWs7Ci0JfQotCWRlZmF1bHQ6Ci0JCXJldHVybiAtRUlOVkFMOwotCX0KLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBzbmRfb3B0aTkzeF9wbGF5YmFja190cmlnZ2VyKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtLCBpbnQgY21kKQotewotCXJldHVybiBzbmRfb3B0aTkzeF90cmlnZ2VyKHN1YnN0cmVhbSwKLQkJCQkgICBPUFRpOTNYX1BMQVlCQUNLX0VOQUJMRSwgY21kKTsKLX0KLQotc3RhdGljIGludCBzbmRfb3B0aTkzeF9jYXB0dXJlX3RyaWdnZXIoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0sIGludCBjbWQpCi17Ci0JcmV0dXJuIHNuZF9vcHRpOTN4X3RyaWdnZXIoc3Vic3RyZWFtLAotCQkJCSAgIE9QVGk5M1hfQ0FQVFVSRV9FTkFCTEUsIGNtZCk7Ci19Ci0KLXN0YXRpYyBpbnQgc25kX29wdGk5M3hfaHdfcGFyYW1zKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtLAotCQkJCSBzdHJ1Y3Qgc25kX3BjbV9od19wYXJhbXMgKmh3X3BhcmFtcykKLXsKLQlyZXR1cm4gc25kX3BjbV9saWJfbWFsbG9jX3BhZ2VzKHN1YnN0cmVhbSwgcGFyYW1zX2J1ZmZlcl9ieXRlcyhod19wYXJhbXMpKTsKLX0KLQotCi1zdGF0aWMgaW50IHNuZF9vcHRpOTN4X2h3X2ZyZWUoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0pCi17Ci0Jc25kX3BjbV9saWJfZnJlZV9wYWdlcyhzdWJzdHJlYW0pOwotCXJldHVybiAwOwotfQotCi0KLXN0YXRpYyBpbnQgc25kX29wdGk5M3hfcGxheWJhY2tfcHJlcGFyZShzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSkKLXsKLQlzdHJ1Y3Qgc25kX29wdGk5M3ggKmNoaXAgPSBzbmRfcGNtX3N1YnN0cmVhbV9jaGlwKHN1YnN0cmVhbSk7Ci0Jc3RydWN0IHNuZF9wY21fcnVudGltZSAqcnVudGltZSA9IHN1YnN0cmVhbS0+cnVudGltZTsKLQl1bnNpZ25lZCBsb25nIGZsYWdzOwotCXVuc2lnbmVkIGNoYXIgZm9ybWF0OwotCXVuc2lnbmVkIGludCBjb3VudCA9IHNuZF9wY21fbGliX3BlcmlvZF9ieXRlcyhzdWJzdHJlYW0pOwotCXVuc2lnbmVkIGludCBzaXplID0gc25kX3BjbV9saWJfYnVmZmVyX2J5dGVzKHN1YnN0cmVhbSk7Ci0KLQlzcGluX2xvY2tfaXJxc2F2ZSgmY2hpcC0+bG9jaywgZmxhZ3MpOwotCi0JY2hpcC0+cF9kbWFfc2l6ZSA9IHNpemU7Ci0Jc25kX29wdGk5M3hfb3V0X21hc2soY2hpcCwgT1BUaTkzWF9JRkFDRV9DT05GLAotCQlPUFRpOTNYX1BMQVlCQUNLX0VOQUJMRSB8IE9QVGk5M1hfUExBWUJBQ0tfUElPLAotCQl+KE9QVGk5M1hfUExBWUJBQ0tfRU5BQkxFIHwgT1BUaTkzWF9QTEFZQkFDS19QSU8pKTsKLQotCXNuZF9kbWFfcHJvZ3JhbShjaGlwLT5kbWExLCBydW50aW1lLT5kbWFfYWRkciwgc2l6ZSwKLQkJRE1BX01PREVfV1JJVEUgfCBETUFfQVVUT0lOSVQpOwotCi0JZm9ybWF0ID0gc25kX29wdGk5M3hfZ2V0X2ZyZXEocnVudGltZS0+cmF0ZSk7Ci0JZm9ybWF0IHw9IHNuZF9vcHRpOTN4X2dldF9mb3JtYXQoY2hpcCwgcnVudGltZS0+Zm9ybWF0LAotCQlydW50aW1lLT5jaGFubmVscyk7Ci0Jc25kX29wdGk5M3hfcGxheWJhY2tfZm9ybWF0KGNoaXAsIGZvcm1hdCk7Ci0JZm9ybWF0ID0gY2hpcC0+aW1hZ2VbT1BUaTkzWF9QTEFZX0ZPUk1BVF07Ci0KLQljb3VudCA9IHNuZF9vcHRpOTN4X2dldF9jb3VudChmb3JtYXQsIGNvdW50KSAtIDE7Ci0Jc25kX29wdGk5M3hfb3V0X2ltYWdlKGNoaXAsIE9QVGk5M1hfUExBWV9MV1JfQ05ULCBjb3VudCk7Ci0Jc25kX29wdGk5M3hfb3V0X2ltYWdlKGNoaXAsIE9QVGk5M1hfUExBWV9VUFJfQ05ULCBjb3VudCA+PiA4KTsKLQotCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmNoaXAtPmxvY2ssIGZsYWdzKTsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBzbmRfb3B0aTkzeF9jYXB0dXJlX3ByZXBhcmUoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0pCi17Ci0Jc3RydWN0IHNuZF9vcHRpOTN4ICpjaGlwID0gc25kX3BjbV9zdWJzdHJlYW1fY2hpcChzdWJzdHJlYW0pOwotCXN0cnVjdCBzbmRfcGNtX3J1bnRpbWUgKnJ1bnRpbWUgPSBzdWJzdHJlYW0tPnJ1bnRpbWU7Ci0JdW5zaWduZWQgbG9uZyBmbGFnczsKLQl1bnNpZ25lZCBjaGFyIGZvcm1hdDsKLQl1bnNpZ25lZCBpbnQgY291bnQgPSBzbmRfcGNtX2xpYl9wZXJpb2RfYnl0ZXMoc3Vic3RyZWFtKTsKLQl1bnNpZ25lZCBpbnQgc2l6ZSA9IHNuZF9wY21fbGliX2J1ZmZlcl9ieXRlcyhzdWJzdHJlYW0pOwotCi0Jc3Bpbl9sb2NrX2lycXNhdmUoJmNoaXAtPmxvY2ssIGZsYWdzKTsKLQotCWNoaXAtPmNfZG1hX3NpemUgPSBzaXplOwotCXNuZF9vcHRpOTN4X291dF9tYXNrKGNoaXAsIE9QVGk5M1hfSUZBQ0VfQ09ORiwKLQkJT1BUaTkzWF9DQVBUVVJFX0VOQUJMRSB8IE9QVGk5M1hfQ0FQVFVSRV9QSU8sIDApOwotCi0Jc25kX2RtYV9wcm9ncmFtKGNoaXAtPmRtYTIsIHJ1bnRpbWUtPmRtYV9hZGRyLCBzaXplLAotCQlETUFfTU9ERV9SRUFEIHwgRE1BX0FVVE9JTklUKTsKLQotCWZvcm1hdCA9IHNuZF9vcHRpOTN4X2dldF9mcmVxKHJ1bnRpbWUtPnJhdGUpOwotCWZvcm1hdCB8PSBzbmRfb3B0aTkzeF9nZXRfZm9ybWF0KGNoaXAsIHJ1bnRpbWUtPmZvcm1hdCwKLQkJcnVudGltZS0+Y2hhbm5lbHMpOwotCXNuZF9vcHRpOTN4X2NhcHR1cmVfZm9ybWF0KGNoaXAsIGZvcm1hdCk7Ci0JZm9ybWF0ID0gY2hpcC0+aW1hZ2VbT1BUaTkzWF9DQVBUX0ZPUk1BVF07Ci0KLQljb3VudCA9IHNuZF9vcHRpOTN4X2dldF9jb3VudChmb3JtYXQsIGNvdW50KSAtIDE7Ci0Jc25kX29wdGk5M3hfb3V0X2ltYWdlKGNoaXAsIE9QVGk5M1hfQ0FQVF9MV1JfQ05ULCBjb3VudCk7Ci0Jc25kX29wdGk5M3hfb3V0X2ltYWdlKGNoaXAsIE9QVGk5M1hfQ0FQVF9VUFJfQ05ULCBjb3VudCA+PiA4KTsKLQotCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmNoaXAtPmxvY2ssIGZsYWdzKTsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIHNuZF9wY21fdWZyYW1lc190IHNuZF9vcHRpOTN4X3BsYXliYWNrX3BvaW50ZXIoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0pCi17Ci0Jc3RydWN0IHNuZF9vcHRpOTN4ICpjaGlwID0gc25kX3BjbV9zdWJzdHJlYW1fY2hpcChzdWJzdHJlYW0pOwotCXNpemVfdCBwdHI7Ci0KLQlpZiAoIShjaGlwLT5pbWFnZVtPUFRpOTNYX0lGQUNFX0NPTkZdICYgT1BUaTkzWF9QTEFZQkFDS19FTkFCTEUpKQotCQlyZXR1cm4gMDsKLQotCXB0ciA9IHNuZF9kbWFfcG9pbnRlcihjaGlwLT5kbWExLCBjaGlwLT5wX2RtYV9zaXplKTsKLQlyZXR1cm4gYnl0ZXNfdG9fZnJhbWVzKHN1YnN0cmVhbS0+cnVudGltZSwgcHRyKTsKLX0KLQotc3RhdGljIHNuZF9wY21fdWZyYW1lc190IHNuZF9vcHRpOTN4X2NhcHR1cmVfcG9pbnRlcihzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSkKLXsKLQlzdHJ1Y3Qgc25kX29wdGk5M3ggKmNoaXAgPSBzbmRfcGNtX3N1YnN0cmVhbV9jaGlwKHN1YnN0cmVhbSk7Ci0Jc2l6ZV90IHB0cjsKLQkKLQlpZiAoIShjaGlwLT5pbWFnZVtPUFRpOTNYX0lGQUNFX0NPTkZdICYgT1BUaTkzWF9DQVBUVVJFX0VOQUJMRSkpCi0JCXJldHVybiAwOwotCi0JcHRyID0gc25kX2RtYV9wb2ludGVyKGNoaXAtPmRtYTIsIGNoaXAtPmNfZG1hX3NpemUpOwotCXJldHVybiBieXRlc190b19mcmFtZXMoc3Vic3RyZWFtLT5ydW50aW1lLCBwdHIpOwotfQotCi0KLXN0YXRpYyB2b2lkIHNuZF9vcHRpOTN4X292ZXJyYW5nZShzdHJ1Y3Qgc25kX29wdGk5M3ggKmNoaXApCi17Ci0JdW5zaWduZWQgbG9uZyBmbGFnczsKLQotCXNwaW5fbG9ja19pcnFzYXZlKCZjaGlwLT5sb2NrLCBmbGFncyk7Ci0KLQlpZiAoc25kX29wdGk5M3hfaW4oY2hpcCwgT1BUaTkzWF9FUlJfSU5JVCkgJiAoMHgwOCB8IDB4MDIpKQotCQljaGlwLT5jYXB0dXJlX3N1YnN0cmVhbS0+cnVudGltZS0+b3ZlcnJhbmdlKys7Ci0KLQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZjaGlwLT5sb2NrLCBmbGFncyk7Ci19Ci0KIHN0YXRpYyBpcnFyZXR1cm5fdCBzbmRfb3B0aTkzeF9pbnRlcnJ1cHQoaW50IGlycSwgdm9pZCAqZGV2X2lkKQogewotCXN0cnVjdCBzbmRfb3B0aTkzeCAqY29kZWMgPSBkZXZfaWQ7CisJc3RydWN0IHNuZF9jczQyMzEgKmNvZGVjID0gZGV2X2lkOworCXN0cnVjdCBzbmRfb3B0aTl4eCAqY2hpcCA9IGNvZGVjLT5jYXJkLT5wcml2YXRlX2RhdGE7CiAJdW5zaWduZWQgY2hhciBzdGF0dXM7CiAKLQlzdGF0dXMgPSBzbmRfb3B0aTl4eF9yZWFkKGNvZGVjLT5jaGlwLCBPUFRpOVhYX01DX1JFRygxMSkpOworCXN0YXR1cyA9IHNuZF9vcHRpOXh4X3JlYWQoY2hpcCwgT1BUaTlYWF9NQ19SRUcoMTEpKTsKIAlpZiAoKHN0YXR1cyAmIE9QVGk5M1hfSVJRX1BMQVlCQUNLKSAmJiBjb2RlYy0+cGxheWJhY2tfc3Vic3RyZWFtKQogCQlzbmRfcGNtX3BlcmlvZF9lbGFwc2VkKGNvZGVjLT5wbGF5YmFja19zdWJzdHJlYW0pOwogCWlmICgoc3RhdHVzICYgT1BUaTkzWF9JUlFfQ0FQVFVSRSkgJiYgY29kZWMtPmNhcHR1cmVfc3Vic3RyZWFtKSB7Ci0JCXNuZF9vcHRpOTN4X292ZXJyYW5nZShjb2RlYyk7CisJCXNuZF9jczQyMzFfb3ZlcnJhbmdlKGNvZGVjKTsKIAkJc25kX3BjbV9wZXJpb2RfZWxhcHNlZChjb2RlYy0+Y2FwdHVyZV9zdWJzdHJlYW0pOwogCX0KIAlvdXRiKDB4MDAsIE9QVGk5M1hfUE9SVChjb2RlYywgU1RBVFVTKSk7CiAJcmV0dXJuIElSUV9IQU5ETEVEOwogfQogCi0KLXN0YXRpYyBzdHJ1Y3Qgc25kX3BjbV9oYXJkd2FyZSBzbmRfb3B0aTkzeF9wbGF5YmFjayA9IHsKLQkuaW5mbyA9CQkJKFNORFJWX1BDTV9JTkZPX01NQVAgfCBTTkRSVl9QQ01fSU5GT19JTlRFUkxFQVZFRCB8Ci0JCQkJIFNORFJWX1BDTV9JTkZPX01NQVBfVkFMSUQgfCBTTkRSVl9QQ01fSU5GT19TWU5DX1NUQVJUKSwKLQkuZm9ybWF0cyA9CQkoU05EUlZfUENNX0ZNVEJJVF9NVV9MQVcgfCBTTkRSVl9QQ01fRk1UQklUX0FfTEFXIHwgU05EUlZfUENNX0ZNVEJJVF9JTUFfQURQQ00gfAotCQkJCSBTTkRSVl9QQ01fRk1UQklUX1U4IHwgU05EUlZfUENNX0ZNVEJJVF9TMTZfTEUgfCBTTkRSVl9QQ01fRk1UQklUX1MxNl9CRSksCi0JLnJhdGVzID0JCVNORFJWX1BDTV9SQVRFX0tOT1QgfCBTTkRSVl9QQ01fUkFURV84MDAwXzQ4MDAwLAotCS5yYXRlX21pbiA9CQk1NTEyLAotCS5yYXRlX21heCA9CQk0ODAwMCwKLQkuY2hhbm5lbHNfbWluID0JCTEsCi0JLmNoYW5uZWxzX21heCA9CQkyLAotCS5idWZmZXJfYnl0ZXNfbWF4ID0JKDEyOCoxMDI0KSwKLQkucGVyaW9kX2J5dGVzX21pbiA9CTY0LAotCS5wZXJpb2RfYnl0ZXNfbWF4ID0JKDEyOCoxMDI0KSwKLQkucGVyaW9kc19taW4gPQkJMSwKLQkucGVyaW9kc19tYXggPQkJMTAyNCwKLQkuZmlmb19zaXplID0JCTAsCi19OwotCi1zdGF0aWMgc3RydWN0IHNuZF9wY21faGFyZHdhcmUgc25kX29wdGk5M3hfY2FwdHVyZSA9IHsKLQkuaW5mbyA9CQkJKFNORFJWX1BDTV9JTkZPX01NQVAgfCBTTkRSVl9QQ01fSU5GT19JTlRFUkxFQVZFRCB8Ci0JCQkJIFNORFJWX1BDTV9JTkZPX01NQVBfVkFMSUQgfCBTTkRSVl9QQ01fSU5GT19TWU5DX1NUQVJUKSwKLQkuZm9ybWF0cyA9CQkoU05EUlZfUENNX0ZNVEJJVF9NVV9MQVcgfCBTTkRSVl9QQ01fRk1UQklUX0FfTEFXIHwgU05EUlZfUENNX0ZNVEJJVF9JTUFfQURQQ00gfAotCQkJCSBTTkRSVl9QQ01fRk1UQklUX1U4IHwgU05EUlZfUENNX0ZNVEJJVF9TMTZfTEUgfCBTTkRSVl9QQ01fRk1UQklUX1MxNl9CRSksCi0JLnJhdGVzID0JCVNORFJWX1BDTV9SQVRFXzgwMDBfNDgwMDAsCi0JLnJhdGVfbWluID0JCTU1MTIsCi0JLnJhdGVfbWF4ID0JCTQ4MDAwLAotCS5jaGFubmVsc19taW4gPQkJMSwKLQkuY2hhbm5lbHNfbWF4ID0JCTIsCi0JLmJ1ZmZlcl9ieXRlc19tYXggPQkoMTI4KjEwMjQpLAotCS5wZXJpb2RfYnl0ZXNfbWluID0JNjQsCi0JLnBlcmlvZF9ieXRlc19tYXggPQkoMTI4KjEwMjQpLAotCS5wZXJpb2RzX21pbiA9CQkxLAotCS5wZXJpb2RzX21heCA9CQkxMDI0LAotCS5maWZvX3NpemUgPQkJMCwKLX07Ci0KLXN0YXRpYyBpbnQgc25kX29wdGk5M3hfcGxheWJhY2tfb3BlbihzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSkKLXsKLQlpbnQgZXJyb3I7Ci0Jc3RydWN0IHNuZF9vcHRpOTN4ICpjaGlwID0gc25kX3BjbV9zdWJzdHJlYW1fY2hpcChzdWJzdHJlYW0pOwotCXN0cnVjdCBzbmRfcGNtX3J1bnRpbWUgKnJ1bnRpbWUgPSBzdWJzdHJlYW0tPnJ1bnRpbWU7Ci0KLQlpZiAoKGVycm9yID0gc25kX29wdGk5M3hfb3BlbihjaGlwLCBPUFRpOTNYX01PREVfUExBWSkpIDwgMCkKLQkJcmV0dXJuIGVycm9yOwotCXNuZF9wY21fc2V0X3N5bmMoc3Vic3RyZWFtKTsKLQljaGlwLT5wbGF5YmFja19zdWJzdHJlYW0gPSBzdWJzdHJlYW07Ci0JcnVudGltZS0+aHcgPSBzbmRfb3B0aTkzeF9wbGF5YmFjazsKLQlzbmRfcGNtX2xpbWl0X2lzYV9kbWFfc2l6ZShjaGlwLT5kbWExLCAmcnVudGltZS0+aHcuYnVmZmVyX2J5dGVzX21heCk7Ci0Jc25kX3BjbV9od19jb25zdHJhaW50X2xpc3QocnVudGltZSwgMCwgU05EUlZfUENNX0hXX1BBUkFNX1JBVEUsICZod19jb25zdHJhaW50c19yYXRlcyk7Ci0JcmV0dXJuIGVycm9yOwotfQotCi1zdGF0aWMgaW50IHNuZF9vcHRpOTN4X2NhcHR1cmVfb3BlbihzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSkKLXsKLQlpbnQgZXJyb3I7Ci0Jc3RydWN0IHNuZF9vcHRpOTN4ICpjaGlwID0gc25kX3BjbV9zdWJzdHJlYW1fY2hpcChzdWJzdHJlYW0pOwotCXN0cnVjdCBzbmRfcGNtX3J1bnRpbWUgKnJ1bnRpbWUgPSBzdWJzdHJlYW0tPnJ1bnRpbWU7Ci0KLQlpZiAoKGVycm9yID0gc25kX29wdGk5M3hfb3BlbihjaGlwLCBPUFRpOTNYX01PREVfQ0FQVFVSRSkpIDwgMCkKLQkJcmV0dXJuIGVycm9yOwotCXJ1bnRpbWUtPmh3ID0gc25kX29wdGk5M3hfY2FwdHVyZTsKLQlzbmRfcGNtX3NldF9zeW5jKHN1YnN0cmVhbSk7Ci0JY2hpcC0+Y2FwdHVyZV9zdWJzdHJlYW0gPSBzdWJzdHJlYW07Ci0Jc25kX3BjbV9saW1pdF9pc2FfZG1hX3NpemUoY2hpcC0+ZG1hMiwgJnJ1bnRpbWUtPmh3LmJ1ZmZlcl9ieXRlc19tYXgpOwotCXNuZF9wY21faHdfY29uc3RyYWludF9saXN0KHJ1bnRpbWUsIDAsIFNORFJWX1BDTV9IV19QQVJBTV9SQVRFLCAmaHdfY29uc3RyYWludHNfcmF0ZXMpOwotCXJldHVybiBlcnJvcjsKLX0KLQotc3RhdGljIGludCBzbmRfb3B0aTkzeF9wbGF5YmFja19jbG9zZShzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSkKLXsKLQlzdHJ1Y3Qgc25kX29wdGk5M3ggKmNoaXAgPSBzbmRfcGNtX3N1YnN0cmVhbV9jaGlwKHN1YnN0cmVhbSk7Ci0KLQljaGlwLT5wbGF5YmFja19zdWJzdHJlYW0gPSBOVUxMOwotCXNuZF9vcHRpOTN4X2Nsb3NlKGNoaXAsIE9QVGk5M1hfTU9ERV9QTEFZKTsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBzbmRfb3B0aTkzeF9jYXB0dXJlX2Nsb3NlKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtKQotewotCXN0cnVjdCBzbmRfb3B0aTkzeCAqY2hpcCA9IHNuZF9wY21fc3Vic3RyZWFtX2NoaXAoc3Vic3RyZWFtKTsKLQotCWNoaXAtPmNhcHR1cmVfc3Vic3RyZWFtID0gTlVMTDsKLQlzbmRfb3B0aTkzeF9jbG9zZShjaGlwLCBPUFRpOTNYX01PREVfQ0FQVFVSRSk7Ci0JcmV0dXJuIDA7Ci19Ci0KLQotc3RhdGljIHZvaWQgc25kX29wdGk5M3hfaW5pdChzdHJ1Y3Qgc25kX29wdGk5M3ggKmNoaXApCi17Ci0JdW5zaWduZWQgbG9uZyBmbGFnczsKLQlpbnQgaTsKLQotCXNwaW5fbG9ja19pcnFzYXZlKCZjaGlwLT5sb2NrLCBmbGFncyk7Ci0Jc25kX29wdGk5M3hfbWNlX3VwKGNoaXApOwotCi0JZm9yIChpID0gMDsgaSA8IDMyOyBpKyspCi0JCXNuZF9vcHRpOTN4X291dF9pbWFnZShjaGlwLCBpLCBzbmRfb3B0aTkzeF9kZWZhdWx0X2ltYWdlW2ldKTsKLQotCXNuZF9vcHRpOTN4X21jZV9kb3duKGNoaXApOwotCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmNoaXAtPmxvY2ssIGZsYWdzKTsKLX0KLQotc3RhdGljIGludCBzbmRfb3B0aTkzeF9wcm9iZShzdHJ1Y3Qgc25kX29wdGk5M3ggKmNoaXApCi17Ci0JdW5zaWduZWQgbG9uZyBmbGFnczsKLQl1bnNpZ25lZCBjaGFyIHZhbDsKLQotCXNwaW5fbG9ja19pcnFzYXZlKCZjaGlwLT5sb2NrLCBmbGFncyk7Ci0JdmFsID0gc25kX29wdGk5M3hfaW4oY2hpcCwgT1BUaTkzWF9JRCkgJiAweDBmOwotCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmNoaXAtPmxvY2ssIGZsYWdzKTsKLQotCXJldHVybiAodmFsID09IDB4MGEpID8gMCA6IC1FTk9ERVY7Ci19Ci0KLXN0YXRpYyBpbnQgc25kX29wdGk5M3hfZnJlZShzdHJ1Y3Qgc25kX29wdGk5M3ggKmNoaXApCi17Ci0JcmVsZWFzZV9hbmRfZnJlZV9yZXNvdXJjZShjaGlwLT5yZXNfcG9ydCk7Ci0JaWYgKGNoaXAtPmRtYTEgPj0gMCkgewotCQlkaXNhYmxlX2RtYShjaGlwLT5kbWExKTsKLQkJZnJlZV9kbWEoY2hpcC0+ZG1hMSk7Ci0JfQotCWlmIChjaGlwLT5kbWEyID49IDApIHsKLQkJZGlzYWJsZV9kbWEoY2hpcC0+ZG1hMik7Ci0JCWZyZWVfZG1hKGNoaXAtPmRtYTIpOwotCX0KLQlpZiAoY2hpcC0+aXJxID49IDApIHsKLQkgIGZyZWVfaXJxKGNoaXAtPmlycSwgY2hpcCk7Ci0JfQotCWtmcmVlKGNoaXApOwotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IHNuZF9vcHRpOTN4X2Rldl9mcmVlKHN0cnVjdCBzbmRfZGV2aWNlICpkZXZpY2UpCi17Ci0Jc3RydWN0IHNuZF9vcHRpOTN4ICpjaGlwID0gZGV2aWNlLT5kZXZpY2VfZGF0YTsKLQlyZXR1cm4gc25kX29wdGk5M3hfZnJlZShjaGlwKTsKLX0KLQotc3RhdGljIGNvbnN0IGNoYXIgKnNuZF9vcHRpOTN4X2NoaXBfaWQoc3RydWN0IHNuZF9vcHRpOTN4ICpjb2RlYykKLXsKLQlzd2l0Y2ggKGNvZGVjLT5oYXJkd2FyZSkgewotCWNhc2UgT1BUaTlYWF9IV184MkM5MzA6IHJldHVybiAiODJDOTMwIjsKLQljYXNlIE9QVGk5WFhfSFdfODJDOTMxOiByZXR1cm4gIjgyQzkzMSI7Ci0JY2FzZSBPUFRpOVhYX0hXXzgyQzkzMzogcmV0dXJuICI4MkM5MzMiOwotCWRlZmF1bHQ6CQlyZXR1cm4gIj8/PyI7Ci0JfQotfQotCi1zdGF0aWMgaW50IHNuZF9vcHRpOTN4X2NyZWF0ZShzdHJ1Y3Qgc25kX2NhcmQgKmNhcmQsIHN0cnVjdCBzbmRfb3B0aTl4eCAqY2hpcCwKLQkJCSAgICAgIGludCBkbWExLCBpbnQgZG1hMiwKLQkJCSAgICAgIHN0cnVjdCBzbmRfb3B0aTkzeCAqKnJjb2RlYykKLXsKLQlzdGF0aWMgc3RydWN0IHNuZF9kZXZpY2Vfb3BzIG9wcyA9IHsKLQkJLmRldl9mcmVlID0Jc25kX29wdGk5M3hfZGV2X2ZyZWUsCi0JfTsKLQlpbnQgZXJyb3I7Ci0Jc3RydWN0IHNuZF9vcHRpOTN4ICpjb2RlYzsKLQotCSpyY29kZWMgPSBOVUxMOwotCWNvZGVjID0ga3phbGxvYyhzaXplb2YoKmNvZGVjKSwgR0ZQX0tFUk5FTCk7Ci0JaWYgKGNvZGVjID09IE5VTEwpCi0JCXJldHVybiAtRU5PTUVNOwotCWNvZGVjLT5pcnEgPSAtMTsKLQljb2RlYy0+ZG1hMSA9IC0xOwotCWNvZGVjLT5kbWEyID0gLTE7Ci0KLQlpZiAoKGNvZGVjLT5yZXNfcG9ydCA9IHJlcXVlc3RfcmVnaW9uKGNoaXAtPndzc19iYXNlICsgNCwgNCwgIk9QVEk5M3ggQ09ERUMiKSkgPT0gTlVMTCkgewotCQlzbmRfcHJpbnRrKEtFUk5fRVJSICJvcHRpOXh4OiBjYW4ndCBncmFiIHBvcnQgMHglbHhcbiIsIGNoaXAtPndzc19iYXNlICsgNCk7Ci0JCXNuZF9vcHRpOTN4X2ZyZWUoY29kZWMpOwotCQlyZXR1cm4gLUVCVVNZOwotCX0KLQlpZiAocmVxdWVzdF9kbWEoZG1hMSwgIk9QVEk5M3ggLSAxIikpIHsKLQkJc25kX3ByaW50ayhLRVJOX0VSUiAib3B0aTl4eDogY2FuJ3QgZ3JhYiBETUExICVkXG4iLCBkbWExKTsKLQkJc25kX29wdGk5M3hfZnJlZShjb2RlYyk7Ci0JCXJldHVybiAtRUJVU1k7Ci0JfQotCWNvZGVjLT5kbWExID0gY2hpcC0+ZG1hMTsKLQlpZiAocmVxdWVzdF9kbWEoZG1hMiwgIk9QVEk5M3ggLSAyIikpIHsKLQkJc25kX3ByaW50ayhLRVJOX0VSUiAib3B0aTl4eDogY2FuJ3QgZ3JhYiBETUEyICVkXG4iLCBkbWEyKTsKLQkJc25kX29wdGk5M3hfZnJlZShjb2RlYyk7Ci0JCXJldHVybiAtRUJVU1k7Ci0JfQotCWNvZGVjLT5kbWEyID0gY2hpcC0+ZG1hMjsKLQotCWlmIChyZXF1ZXN0X2lycShjaGlwLT5pcnEsIHNuZF9vcHRpOTN4X2ludGVycnVwdCwgSVJRRl9ESVNBQkxFRCwgREVWX05BTUUiIC0gV1NTIiwgY29kZWMpKSB7Ci0JCXNuZF9wcmludGsoS0VSTl9FUlIgIm9wdGk5eHg6IGNhbid0IGdyYWIgSVJRICVkXG4iLCBjaGlwLT5pcnEpOwotCQlzbmRfb3B0aTkzeF9mcmVlKGNvZGVjKTsKLQkJcmV0dXJuIC1FQlVTWTsKLQl9Ci0KLQljb2RlYy0+Y2FyZCA9IGNhcmQ7Ci0JY29kZWMtPnBvcnQgPSBjaGlwLT53c3NfYmFzZSArIDQ7Ci0JY29kZWMtPmlycSA9IGNoaXAtPmlycTsKLQotCXNwaW5fbG9ja19pbml0KCZjb2RlYy0+bG9jayk7Ci0JY29kZWMtPmhhcmR3YXJlID0gY2hpcC0+aGFyZHdhcmU7Ci0JY29kZWMtPmNoaXAgPSBjaGlwOwotCi0JaWYgKChlcnJvciA9IHNuZF9vcHRpOTN4X3Byb2JlKGNvZGVjKSkpIHsKLQkJc25kX29wdGk5M3hfZnJlZShjb2RlYyk7Ci0JCXJldHVybiBlcnJvcjsKLQl9Ci0KLQlzbmRfb3B0aTkzeF9pbml0KGNvZGVjKTsKLQotCS8qIFJlZ2lzdGVyIGRldmljZSAqLwotCWlmICgoZXJyb3IgPSBzbmRfZGV2aWNlX25ldyhjYXJkLCBTTkRSVl9ERVZfTE9XTEVWRUwsIGNvZGVjLCAmb3BzKSkgPCAwKSB7Ci0JCXNuZF9vcHRpOTN4X2ZyZWUoY29kZWMpOwotCQlyZXR1cm4gZXJyb3I7Ci0JfQotCi0JKnJjb2RlYyA9IGNvZGVjOwotCXJldHVybiAwOwotfQotCi1zdGF0aWMgc3RydWN0IHNuZF9wY21fb3BzIHNuZF9vcHRpOTN4X3BsYXliYWNrX29wcyA9IHsKLQkub3BlbiA9CQlzbmRfb3B0aTkzeF9wbGF5YmFja19vcGVuLAotCS5jbG9zZSA9CXNuZF9vcHRpOTN4X3BsYXliYWNrX2Nsb3NlLAotCS5pb2N0bCA9CXNuZF9wY21fbGliX2lvY3RsLAotCS5od19wYXJhbXMgPQlzbmRfb3B0aTkzeF9od19wYXJhbXMsCi0JLmh3X2ZyZWUgPQlzbmRfb3B0aTkzeF9od19mcmVlLAotCS5wcmVwYXJlID0Jc25kX29wdGk5M3hfcGxheWJhY2tfcHJlcGFyZSwKLQkudHJpZ2dlciA9CXNuZF9vcHRpOTN4X3BsYXliYWNrX3RyaWdnZXIsCi0JLnBvaW50ZXIgPQlzbmRfb3B0aTkzeF9wbGF5YmFja19wb2ludGVyLAotfTsKLQotc3RhdGljIHN0cnVjdCBzbmRfcGNtX29wcyBzbmRfb3B0aTkzeF9jYXB0dXJlX29wcyA9IHsKLQkub3BlbiA9CQlzbmRfb3B0aTkzeF9jYXB0dXJlX29wZW4sCi0JLmNsb3NlID0Jc25kX29wdGk5M3hfY2FwdHVyZV9jbG9zZSwKLQkuaW9jdGwgPQlzbmRfcGNtX2xpYl9pb2N0bCwKLQkuaHdfcGFyYW1zID0Jc25kX29wdGk5M3hfaHdfcGFyYW1zLAotCS5od19mcmVlID0Jc25kX29wdGk5M3hfaHdfZnJlZSwKLQkucHJlcGFyZSA9CXNuZF9vcHRpOTN4X2NhcHR1cmVfcHJlcGFyZSwKLQkudHJpZ2dlciA9CXNuZF9vcHRpOTN4X2NhcHR1cmVfdHJpZ2dlciwKLQkucG9pbnRlciA9CXNuZF9vcHRpOTN4X2NhcHR1cmVfcG9pbnRlciwKLX07Ci0KLXN0YXRpYyBpbnQgc25kX29wdGk5M3hfcGNtKHN0cnVjdCBzbmRfb3B0aTkzeCAqY29kZWMsIGludCBkZXZpY2UsIHN0cnVjdCBzbmRfcGNtICoqcnBjbSkKLXsKLQlpbnQgZXJyb3I7Ci0Jc3RydWN0IHNuZF9wY20gKnBjbTsKLQotCWlmICgoZXJyb3IgPSBzbmRfcGNtX25ldyhjb2RlYy0+Y2FyZCwgIk9QVGkgODJDOTNYIiwgZGV2aWNlLCAxLCAxLCAmcGNtKSkgPCAwKQotCQlyZXR1cm4gZXJyb3I7Ci0KLQlzbmRfcGNtX3NldF9vcHMocGNtLCBTTkRSVl9QQ01fU1RSRUFNX1BMQVlCQUNLLCAmc25kX29wdGk5M3hfcGxheWJhY2tfb3BzKTsKLQlzbmRfcGNtX3NldF9vcHMocGNtLCBTTkRSVl9QQ01fU1RSRUFNX0NBUFRVUkUsICZzbmRfb3B0aTkzeF9jYXB0dXJlX29wcyk7Ci0KLQlwY20tPnByaXZhdGVfZGF0YSA9IGNvZGVjOwotCXBjbS0+aW5mb19mbGFncyA9IFNORFJWX1BDTV9JTkZPX0pPSU5UX0RVUExFWDsKLQotCXN0cmNweShwY20tPm5hbWUsIHNuZF9vcHRpOTN4X2NoaXBfaWQoY29kZWMpKTsKLQotCXNuZF9wY21fbGliX3ByZWFsbG9jYXRlX3BhZ2VzX2Zvcl9hbGwocGNtLCBTTkRSVl9ETUFfVFlQRV9ERVYsCi0JCQkJCSAgICAgIHNuZF9kbWFfaXNhX2RhdGEoKSwKLQkJCQkJICAgICAgNjQqMTAyNCwgY29kZWMtPmRtYTEgPiAzIHx8IGNvZGVjLT5kbWEyID4gMyA/IDEyOCoxMDI0IDogNjQqMTAyNCk7Ci0KLQljb2RlYy0+cGNtID0gcGNtOwotCWlmIChycGNtKQotCQkqcnBjbSA9IHBjbTsKLQlyZXR1cm4gMDsKLX0KLQotLyoKLSAqICBNSVhFUiBwYXJ0Ci0gKi8KLQotc3RhdGljIGludCBzbmRfb3B0aTkzeF9pbmZvX211eChzdHJ1Y3Qgc25kX2tjb250cm9sICprY29udHJvbCwgc3RydWN0IHNuZF9jdGxfZWxlbV9pbmZvICp1aW5mbykKLXsKLQlzdGF0aWMgY2hhciAqdGV4dHNbNF0gPSB7Ci0JCSJMaW5lMSIsICJBdXgiLCAiTWljIiwgIk1peCIKLQl9OwotCi0JdWluZm8tPnR5cGUgPSBTTkRSVl9DVExfRUxFTV9UWVBFX0VOVU1FUkFURUQ7Ci0JdWluZm8tPmNvdW50ID0gMjsKLQl1aW5mby0+dmFsdWUuZW51bWVyYXRlZC5pdGVtcyA9IDQ7Ci0JaWYgKHVpbmZvLT52YWx1ZS5lbnVtZXJhdGVkLml0ZW0gPiAzKQotCQl1aW5mby0+dmFsdWUuZW51bWVyYXRlZC5pdGVtID0gMzsKLQlzdHJjcHkodWluZm8tPnZhbHVlLmVudW1lcmF0ZWQubmFtZSwgdGV4dHNbdWluZm8tPnZhbHVlLmVudW1lcmF0ZWQuaXRlbV0pOwotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IHNuZF9vcHRpOTN4X2dldF9tdXgoc3RydWN0IHNuZF9rY29udHJvbCAqa2NvbnRyb2wsIHN0cnVjdCBzbmRfY3RsX2VsZW1fdmFsdWUgKnVjb250cm9sKQotewotCXN0cnVjdCBzbmRfb3B0aTkzeCAqY2hpcCA9IHNuZF9rY29udHJvbF9jaGlwKGtjb250cm9sKTsKLQl1bnNpZ25lZCBsb25nIGZsYWdzOwotCQotCXNwaW5fbG9ja19pcnFzYXZlKCZjaGlwLT5sb2NrLCBmbGFncyk7Ci0JdWNvbnRyb2wtPnZhbHVlLmVudW1lcmF0ZWQuaXRlbVswXSA9IChjaGlwLT5pbWFnZVtPUFRpOTNYX01JWE9VVF9MRUZUXSAmIE9QVGk5M1hfTUlYT1VUX01JWEVSKSA+PiA2OwotCXVjb250cm9sLT52YWx1ZS5lbnVtZXJhdGVkLml0ZW1bMV0gPSAoY2hpcC0+aW1hZ2VbT1BUaTkzWF9NSVhPVVRfUklHSFRdICYgT1BUaTkzWF9NSVhPVVRfTUlYRVIpID4+IDY7Ci0Jc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmY2hpcC0+bG9jaywgZmxhZ3MpOwotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IHNuZF9vcHRpOTN4X3B1dF9tdXgoc3RydWN0IHNuZF9rY29udHJvbCAqa2NvbnRyb2wsIHN0cnVjdCBzbmRfY3RsX2VsZW1fdmFsdWUgKnVjb250cm9sKQotewotCXN0cnVjdCBzbmRfb3B0aTkzeCAqY2hpcCA9IHNuZF9rY29udHJvbF9jaGlwKGtjb250cm9sKTsKLQl1bnNpZ25lZCBsb25nIGZsYWdzOwotCXVuc2lnbmVkIHNob3J0IGxlZnQsIHJpZ2h0OwotCWludCBjaGFuZ2U7Ci0JCi0JaWYgKHVjb250cm9sLT52YWx1ZS5lbnVtZXJhdGVkLml0ZW1bMF0gPiAzIHx8Ci0JICAgIHVjb250cm9sLT52YWx1ZS5lbnVtZXJhdGVkLml0ZW1bMV0gPiAzKQotCQlyZXR1cm4gLUVJTlZBTDsKLQlsZWZ0ID0gdWNvbnRyb2wtPnZhbHVlLmVudW1lcmF0ZWQuaXRlbVswXSA8PCA2OwotCXJpZ2h0ID0gdWNvbnRyb2wtPnZhbHVlLmVudW1lcmF0ZWQuaXRlbVsxXSA8PCA2OwotCXNwaW5fbG9ja19pcnFzYXZlKCZjaGlwLT5sb2NrLCBmbGFncyk7Ci0JbGVmdCA9IChjaGlwLT5pbWFnZVtPUFRpOTNYX01JWE9VVF9MRUZUXSAmIH5PUFRpOTNYX01JWE9VVF9NSVhFUikgfCBsZWZ0OwotCXJpZ2h0ID0gKGNoaXAtPmltYWdlW09QVGk5M1hfTUlYT1VUX1JJR0hUXSAmIH5PUFRpOTNYX01JWE9VVF9NSVhFUikgfCByaWdodDsKLQljaGFuZ2UgPSBsZWZ0ICE9IGNoaXAtPmltYWdlW09QVGk5M1hfTUlYT1VUX0xFRlRdIHx8Ci0JICAgICAgICAgcmlnaHQgIT0gY2hpcC0+aW1hZ2VbT1BUaTkzWF9NSVhPVVRfUklHSFRdOwotCXNuZF9vcHRpOTN4X291dF9pbWFnZShjaGlwLCBPUFRpOTNYX01JWE9VVF9MRUZULCBsZWZ0KTsKLQlzbmRfb3B0aTkzeF9vdXRfaW1hZ2UoY2hpcCwgT1BUaTkzWF9NSVhPVVRfUklHSFQsIHJpZ2h0KTsKLQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZjaGlwLT5sb2NrLCBmbGFncyk7Ci0JcmV0dXJuIGNoYW5nZTsKLX0KLQotI2lmIDAKLQotI2RlZmluZSBPUFRpOTNYX1NJTkdMRSh4bmFtZSwgeGluZGV4LCByZWcsIHNoaWZ0LCBtYXNrLCBpbnZlcnQpIFwKLXsgLmlmYWNlID0gU05EUlZfQ1RMX0VMRU1fSUZBQ0VfTUlYRVIsIC5uYW1lID0geG5hbWUsIC5pbmRleCA9IHhpbmRleCwgXAotICAuaW5mbyA9IHNuZF9vcHRpOTN4X2luZm9fc2luZ2xlLCBcCi0gIC5nZXQgPSBzbmRfb3B0aTkzeF9nZXRfc2luZ2xlLCAucHV0ID0gc25kX29wdGk5M3hfcHV0X3NpbmdsZSwgXAotICAucHJpdmF0ZV92YWx1ZSA9IHJlZyB8IChzaGlmdCA8PCA4KSB8IChtYXNrIDw8IDE2KSB8IChpbnZlcnQgPDwgMjQpIH0KLQotc3RhdGljIGludCBzbmRfb3B0aTkzeF9pbmZvX3NpbmdsZShzdHJ1Y3Qgc25kX2tjb250cm9sICprY29udHJvbCwgc3RydWN0IHNuZF9jdGxfZWxlbV9pbmZvICp1aW5mbykKLXsKLQlpbnQgbWFzayA9IChrY29udHJvbC0+cHJpdmF0ZV92YWx1ZSA+PiAxNikgJiAweGZmOwotCi0JdWluZm8tPnR5cGUgPSBtYXNrID09IDEgPyBTTkRSVl9DVExfRUxFTV9UWVBFX0JPT0xFQU4gOiBTTkRSVl9DVExfRUxFTV9UWVBFX0lOVEVHRVI7Ci0JdWluZm8tPmNvdW50ID0gMTsKLQl1aW5mby0+dmFsdWUuaW50ZWdlci5taW4gPSAwOwotCXVpbmZvLT52YWx1ZS5pbnRlZ2VyLm1heCA9IG1hc2s7Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgc25kX29wdGk5M3hfZ2V0X3NpbmdsZShzdHJ1Y3Qgc25kX2tjb250cm9sICprY29udHJvbCwgc3RydWN0IHNuZF9jdGxfZWxlbV92YWx1ZSAqdWNvbnRyb2wpCi17Ci0Jc3RydWN0IHNuZF9vcHRpOTN4ICpjaGlwID0gc25kX2tjb250cm9sX2NoaXAoa2NvbnRyb2wpOwotCXVuc2lnbmVkIGxvbmcgZmxhZ3M7Ci0JaW50IHJlZyA9IGtjb250cm9sLT5wcml2YXRlX3ZhbHVlICYgMHhmZjsKLQlpbnQgc2hpZnQgPSAoa2NvbnRyb2wtPnByaXZhdGVfdmFsdWUgPj4gOCkgJiAweGZmOwotCWludCBtYXNrID0gKGtjb250cm9sLT5wcml2YXRlX3ZhbHVlID4+IDE2KSAmIDB4ZmY7Ci0JaW50IGludmVydCA9IChrY29udHJvbC0+cHJpdmF0ZV92YWx1ZSA+PiAyNCkgJiAweGZmOwotCQotCXNwaW5fbG9ja19pcnFzYXZlKCZjaGlwLT5sb2NrLCBmbGFncyk7Ci0JdWNvbnRyb2wtPnZhbHVlLmludGVnZXIudmFsdWVbMF0gPSAoY2hpcC0+aW1hZ2VbcmVnXSA+PiBzaGlmdCkgJiBtYXNrOwotCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmNoaXAtPmxvY2ssIGZsYWdzKTsKLQlpZiAoaW52ZXJ0KQotCQl1Y29udHJvbC0+dmFsdWUuaW50ZWdlci52YWx1ZVswXSA9IG1hc2sgLSB1Y29udHJvbC0+dmFsdWUuaW50ZWdlci52YWx1ZVswXTsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBzbmRfb3B0aTkzeF9wdXRfc2luZ2xlKHN0cnVjdCBzbmRfa2NvbnRyb2wgKmtjb250cm9sLCBzdHJ1Y3Qgc25kX2N0bF9lbGVtX3ZhbHVlICp1Y29udHJvbCkKLXsKLQlzdHJ1Y3Qgc25kX29wdGk5M3ggKmNoaXAgPSBzbmRfa2NvbnRyb2xfY2hpcChrY29udHJvbCk7Ci0JdW5zaWduZWQgbG9uZyBmbGFnczsKLQlpbnQgcmVnID0ga2NvbnRyb2wtPnByaXZhdGVfdmFsdWUgJiAweGZmOwotCWludCBzaGlmdCA9IChrY29udHJvbC0+cHJpdmF0ZV92YWx1ZSA+PiA4KSAmIDB4ZmY7Ci0JaW50IG1hc2sgPSAoa2NvbnRyb2wtPnByaXZhdGVfdmFsdWUgPj4gMTYpICYgMHhmZjsKLQlpbnQgaW52ZXJ0ID0gKGtjb250cm9sLT5wcml2YXRlX3ZhbHVlID4+IDI0KSAmIDB4ZmY7Ci0JaW50IGNoYW5nZTsKLQl1bnNpZ25lZCBzaG9ydCB2YWw7Ci0JCi0JdmFsID0gKHVjb250cm9sLT52YWx1ZS5pbnRlZ2VyLnZhbHVlWzBdICYgbWFzayk7Ci0JaWYgKGludmVydCkKLQkJdmFsID0gbWFzayAtIHZhbDsKLQl2YWwgPDw9IHNoaWZ0OwotCXNwaW5fbG9ja19pcnFzYXZlKCZjaGlwLT5sb2NrLCBmbGFncyk7Ci0JdmFsID0gKGNoaXAtPmltYWdlW3JlZ10gJiB+KG1hc2sgPDwgc2hpZnQpKSB8IHZhbDsKLQljaGFuZ2UgPSB2YWwgIT0gY2hpcC0+aW1hZ2VbcmVnXTsKLQlzbmRfb3B0aTkzeF9vdXQoY2hpcCwgcmVnLCB2YWwpOwotCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmNoaXAtPmxvY2ssIGZsYWdzKTsKLQlyZXR1cm4gY2hhbmdlOwotfQotCi0jZW5kaWYgLyogc2luZ2xlICovCi0KLSNkZWZpbmUgT1BUaTkzWF9ET1VCTEUoeG5hbWUsIHhpbmRleCwgbGVmdF9yZWcsIHJpZ2h0X3JlZywgc2hpZnRfbGVmdCwgc2hpZnRfcmlnaHQsIG1hc2ssIGludmVydCkgXAoteyAuaWZhY2UgPSBTTkRSVl9DVExfRUxFTV9JRkFDRV9NSVhFUiwgLm5hbWUgPSB4bmFtZSwgLmluZGV4ID0geGluZGV4LCBcCi0gIC5pbmZvID0gc25kX29wdGk5M3hfaW5mb19kb3VibGUsIFwKLSAgLmdldCA9IHNuZF9vcHRpOTN4X2dldF9kb3VibGUsIC5wdXQgPSBzbmRfb3B0aTkzeF9wdXRfZG91YmxlLCBcCi0gIC5wcml2YXRlX3ZhbHVlID0gbGVmdF9yZWcgfCAocmlnaHRfcmVnIDw8IDgpIHwgKHNoaWZ0X2xlZnQgPDwgMTYpIHwgKHNoaWZ0X3JpZ2h0IDw8IDE5KSB8IChtYXNrIDw8IDI0KSB8IChpbnZlcnQgPDwgMjIpIH0KLQotI2RlZmluZSBPUFRpOTNYX0RPVUJMRV9JTlZFUlRfSU5WRVJUKHhjdGwpIFwKLQlkbyB7IHhjdGwucHJpdmF0ZV92YWx1ZSBePSAyMjsgfSB3aGlsZSAoMCkKLSNkZWZpbmUgT1BUaTkzWF9ET1VCTEVfQ0hBTkdFX1JFR1MoeGN0bCwgbGVmdF9yZWcsIHJpZ2h0X3JlZykgXAotCWRvIHsgeGN0bC5wcml2YXRlX3ZhbHVlICY9IH4weDAwMDBmZmZmOyBcCi0JICAgICB4Y3RsLnByaXZhdGVfdmFsdWUgfD0gbGVmdF9yZWcgfCAocmlnaHRfcmVnIDw8IDgpOyB9IHdoaWxlICgwKQotCi1zdGF0aWMgaW50IHNuZF9vcHRpOTN4X2luZm9fZG91YmxlKHN0cnVjdCBzbmRfa2NvbnRyb2wgKmtjb250cm9sLCBzdHJ1Y3Qgc25kX2N0bF9lbGVtX2luZm8gKnVpbmZvKQotewotCWludCBtYXNrID0gKGtjb250cm9sLT5wcml2YXRlX3ZhbHVlID4+IDI0KSAmIDB4ZmY7Ci0KLQl1aW5mby0+dHlwZSA9IG1hc2sgPT0gMSA/IFNORFJWX0NUTF9FTEVNX1RZUEVfQk9PTEVBTiA6IFNORFJWX0NUTF9FTEVNX1RZUEVfSU5URUdFUjsKLQl1aW5mby0+Y291bnQgPSAyOwotCXVpbmZvLT52YWx1ZS5pbnRlZ2VyLm1pbiA9IDA7Ci0JdWluZm8tPnZhbHVlLmludGVnZXIubWF4ID0gbWFzazsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBzbmRfb3B0aTkzeF9nZXRfZG91YmxlKHN0cnVjdCBzbmRfa2NvbnRyb2wgKmtjb250cm9sLCBzdHJ1Y3Qgc25kX2N0bF9lbGVtX3ZhbHVlICp1Y29udHJvbCkKLXsKLQlzdHJ1Y3Qgc25kX29wdGk5M3ggKmNoaXAgPSBzbmRfa2NvbnRyb2xfY2hpcChrY29udHJvbCk7Ci0JdW5zaWduZWQgbG9uZyBmbGFnczsKLQlpbnQgbGVmdF9yZWcgPSBrY29udHJvbC0+cHJpdmF0ZV92YWx1ZSAmIDB4ZmY7Ci0JaW50IHJpZ2h0X3JlZyA9IChrY29udHJvbC0+cHJpdmF0ZV92YWx1ZSA+PiA4KSAmIDB4ZmY7Ci0JaW50IHNoaWZ0X2xlZnQgPSAoa2NvbnRyb2wtPnByaXZhdGVfdmFsdWUgPj4gMTYpICYgMHgwNzsKLQlpbnQgc2hpZnRfcmlnaHQgPSAoa2NvbnRyb2wtPnByaXZhdGVfdmFsdWUgPj4gMTkpICYgMHgwNzsKLQlpbnQgbWFzayA9IChrY29udHJvbC0+cHJpdmF0ZV92YWx1ZSA+PiAyNCkgJiAweGZmOwotCWludCBpbnZlcnQgPSAoa2NvbnRyb2wtPnByaXZhdGVfdmFsdWUgPj4gMjIpICYgMTsKLQkKLQlzcGluX2xvY2tfaXJxc2F2ZSgmY2hpcC0+bG9jaywgZmxhZ3MpOwotCXVjb250cm9sLT52YWx1ZS5pbnRlZ2VyLnZhbHVlWzBdID0gKGNoaXAtPmltYWdlW2xlZnRfcmVnXSA+PiBzaGlmdF9sZWZ0KSAmIG1hc2s7Ci0JdWNvbnRyb2wtPnZhbHVlLmludGVnZXIudmFsdWVbMV0gPSAoY2hpcC0+aW1hZ2VbcmlnaHRfcmVnXSA+PiBzaGlmdF9yaWdodCkgJiBtYXNrOwotCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmNoaXAtPmxvY2ssIGZsYWdzKTsKLQlpZiAoaW52ZXJ0KSB7Ci0JCXVjb250cm9sLT52YWx1ZS5pbnRlZ2VyLnZhbHVlWzBdID0gbWFzayAtIHVjb250cm9sLT52YWx1ZS5pbnRlZ2VyLnZhbHVlWzBdOwotCQl1Y29udHJvbC0+dmFsdWUuaW50ZWdlci52YWx1ZVsxXSA9IG1hc2sgLSB1Y29udHJvbC0+dmFsdWUuaW50ZWdlci52YWx1ZVsxXTsKLQl9Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgc25kX29wdGk5M3hfcHV0X2RvdWJsZShzdHJ1Y3Qgc25kX2tjb250cm9sICprY29udHJvbCwgc3RydWN0IHNuZF9jdGxfZWxlbV92YWx1ZSAqdWNvbnRyb2wpCi17Ci0Jc3RydWN0IHNuZF9vcHRpOTN4ICpjaGlwID0gc25kX2tjb250cm9sX2NoaXAoa2NvbnRyb2wpOwotCXVuc2lnbmVkIGxvbmcgZmxhZ3M7Ci0JaW50IGxlZnRfcmVnID0ga2NvbnRyb2wtPnByaXZhdGVfdmFsdWUgJiAweGZmOwotCWludCByaWdodF9yZWcgPSAoa2NvbnRyb2wtPnByaXZhdGVfdmFsdWUgPj4gOCkgJiAweGZmOwotCWludCBzaGlmdF9sZWZ0ID0gKGtjb250cm9sLT5wcml2YXRlX3ZhbHVlID4+IDE2KSAmIDB4MDc7Ci0JaW50IHNoaWZ0X3JpZ2h0ID0gKGtjb250cm9sLT5wcml2YXRlX3ZhbHVlID4+IDE5KSAmIDB4MDc7Ci0JaW50IG1hc2sgPSAoa2NvbnRyb2wtPnByaXZhdGVfdmFsdWUgPj4gMjQpICYgMHhmZjsKLQlpbnQgaW52ZXJ0ID0gKGtjb250cm9sLT5wcml2YXRlX3ZhbHVlID4+IDIyKSAmIDE7Ci0JaW50IGNoYW5nZTsKLQl1bnNpZ25lZCBzaG9ydCB2YWwxLCB2YWwyOwotCQotCXZhbDEgPSB1Y29udHJvbC0+dmFsdWUuaW50ZWdlci52YWx1ZVswXSAmIG1hc2s7Ci0JdmFsMiA9IHVjb250cm9sLT52YWx1ZS5pbnRlZ2VyLnZhbHVlWzFdICYgbWFzazsKLQlpZiAoaW52ZXJ0KSB7Ci0JCXZhbDEgPSBtYXNrIC0gdmFsMTsKLQkJdmFsMiA9IG1hc2sgLSB2YWwyOwotCX0KLQl2YWwxIDw8PSBzaGlmdF9sZWZ0OwotCXZhbDIgPDw9IHNoaWZ0X3JpZ2h0OwotCXNwaW5fbG9ja19pcnFzYXZlKCZjaGlwLT5sb2NrLCBmbGFncyk7Ci0JdmFsMSA9IChjaGlwLT5pbWFnZVtsZWZ0X3JlZ10gJiB+KG1hc2sgPDwgc2hpZnRfbGVmdCkpIHwgdmFsMTsKLQl2YWwyID0gKGNoaXAtPmltYWdlW3JpZ2h0X3JlZ10gJiB+KG1hc2sgPDwgc2hpZnRfcmlnaHQpKSB8IHZhbDI7Ci0JY2hhbmdlID0gdmFsMSAhPSBjaGlwLT5pbWFnZVtsZWZ0X3JlZ10gfHwgdmFsMiAhPSBjaGlwLT5pbWFnZVtyaWdodF9yZWddOwotCXNuZF9vcHRpOTN4X291dF9pbWFnZShjaGlwLCBsZWZ0X3JlZywgdmFsMSk7Ci0Jc25kX29wdGk5M3hfb3V0X2ltYWdlKGNoaXAsIHJpZ2h0X3JlZywgdmFsMik7Ci0Jc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmY2hpcC0+bG9jaywgZmxhZ3MpOwotCXJldHVybiBjaGFuZ2U7Ci19Ci0KLXN0YXRpYyBzdHJ1Y3Qgc25kX2tjb250cm9sX25ldyBzbmRfb3B0aTkzeF9jb250cm9sc1tdIF9fZGV2aW5pdGRhdGEgPSB7Ci1PUFRpOTNYX0RPVUJMRSgiTWFzdGVyIFBsYXliYWNrIFN3aXRjaCIsIDAsIE9QVGk5M1hfT1VUX0xFRlQsIE9QVGk5M1hfT1VUX1JJR0hULCA3LCA3LCAxLCAxKSwKLU9QVGk5M1hfRE9VQkxFKCJNYXN0ZXIgUGxheWJhY2sgVm9sdW1lIiwgMCwgT1BUaTkzWF9PVVRfTEVGVCwgT1BUaTkzWF9PVVRfUklHSFQsIDEsIDEsIDMxLCAxKSwgCi1PUFRpOTNYX0RPVUJMRSgiUENNIFBsYXliYWNrIFN3aXRjaCIsIDAsIE9QVGk5M1hfREFDX0xFRlQsIE9QVGk5M1hfREFDX1JJR0hULCA3LCA3LCAxLCAxKSwKLU9QVGk5M1hfRE9VQkxFKCJQQ00gUGxheWJhY2sgVm9sdW1lIiwgMCwgT1BUaTkzWF9EQUNfTEVGVCwgT1BUaTkzWF9EQUNfUklHSFQsIDAsIDAsIDMxLCAxKSwKLU9QVGk5M1hfRE9VQkxFKCJGTSBQbGF5YmFjayBTd2l0Y2giLCAwLCBPUFRpOTMxX0ZNX0xFRlRfSU5QVVQsIE9QVGk5MzFfRk1fUklHSFRfSU5QVVQsIDcsIDcsIDEsIDEpLAotT1BUaTkzWF9ET1VCTEUoIkZNIFBsYXliYWNrIFZvbHVtZSIsIDAsIE9QVGk5MzFfRk1fTEVGVF9JTlBVVCwgT1BUaTkzMV9GTV9SSUdIVF9JTlBVVCwgMSwgMSwgMTUsIDEpLAotT1BUaTkzWF9ET1VCTEUoIkxpbmUgUGxheWJhY2sgU3dpdGNoIiwgMCwgT1BUaTkzWF9MSU5FX0xFRlRfSU5QVVQsIE9QVGk5M1hfTElORV9SSUdIVF9JTlBVVCwgNywgNywgMSwgMSksCi1PUFRpOTNYX0RPVUJMRSgiTGluZSBQbGF5YmFjayBWb2x1bWUiLCAwLCBPUFRpOTNYX0xJTkVfTEVGVF9JTlBVVCwgT1BUaTkzWF9MSU5FX1JJR0hUX0lOUFVULCAxLCAxLCAxNSwgMSksIAotT1BUaTkzWF9ET1VCTEUoIk1pYyBQbGF5YmFjayBTd2l0Y2giLCAwLCBPUFRpOTNYX01JQ19MRUZUX0lOUFVULCBPUFRpOTNYX01JQ19SSUdIVF9JTlBVVCwgNywgNywgMSwgMSksCi1PUFRpOTNYX0RPVUJMRSgiTWljIFBsYXliYWNrIFZvbHVtZSIsIDAsIE9QVGk5M1hfTUlDX0xFRlRfSU5QVVQsIE9QVGk5M1hfTUlDX1JJR0hUX0lOUFVULCAxLCAxLCAxNSwgMSksIAotT1BUaTkzWF9ET1VCTEUoIk1pYyBCb29zdCIsIDAsIE9QVGk5M1hfTUlYT1VUX0xFRlQsIE9QVGk5M1hfTUlYT1VUX1JJR0hULCA1LCA1LCAxLCAxKSwKLU9QVGk5M1hfRE9VQkxFKCJDRCBQbGF5YmFjayBTd2l0Y2giLCAwLCBPUFRpOTNYX0NEX0xFRlRfSU5QVVQsIE9QVGk5M1hfQ0RfUklHSFRfSU5QVVQsIDcsIDcsIDEsIDEpLAotT1BUaTkzWF9ET1VCTEUoIkNEIFBsYXliYWNrIFZvbHVtZSIsIDAsIE9QVGk5M1hfQ0RfTEVGVF9JTlBVVCwgT1BUaTkzWF9DRF9SSUdIVF9JTlBVVCwgMSwgMSwgMTUsIDEpLAotT1BUaTkzWF9ET1VCTEUoIkF1eCBQbGF5YmFjayBTd2l0Y2giLCAwLCBPUFRpOTMxX0FVWF9MRUZUX0lOUFVULCBPUFRpOTMxX0FVWF9SSUdIVF9JTlBVVCwgNywgNywgMSwgMSksCi1PUFRpOTNYX0RPVUJMRSgiQXV4IFBsYXliYWNrIFZvbHVtZSIsIDAsIE9QVGk5MzFfQVVYX0xFRlRfSU5QVVQsIE9QVGk5MzFfQVVYX1JJR0hUX0lOUFVULCAxLCAxLCAxNSwgMSksIAotT1BUaTkzWF9ET1VCTEUoIkNhcHR1cmUgVm9sdW1lIiwgMCwgT1BUaTkzWF9NSVhPVVRfTEVGVCwgT1BUaTkzWF9NSVhPVVRfUklHSFQsIDAsIDAsIDE1LCAwKSwKLXsKLQkuaWZhY2UgPSBTTkRSVl9DVExfRUxFTV9JRkFDRV9NSVhFUiwKLQkubmFtZSA9ICJDYXB0dXJlIFNvdXJjZSIsCi0JLmluZm8gPSBzbmRfb3B0aTkzeF9pbmZvX211eCwKLQkuZ2V0ID0gc25kX29wdGk5M3hfZ2V0X211eCwKLQkucHV0ID0gc25kX29wdGk5M3hfcHV0X211eCwKLX0KLX07Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCi1zdGF0aWMgaW50IF9fZGV2aW5pdCBzbmRfb3B0aTkzeF9taXhlcihzdHJ1Y3Qgc25kX29wdGk5M3ggKmNoaXApCi17Ci0Jc3RydWN0IHNuZF9jYXJkICpjYXJkOwotCXN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IGtuZXc7Ci0JaW50IGVycjsKLQl1bnNpZ25lZCBpbnQgaWR4OwotCi0Jc25kX2Fzc2VydChjaGlwICE9IE5VTEwgJiYgY2hpcC0+Y2FyZCAhPSBOVUxMLCByZXR1cm4gLUVJTlZBTCk7Ci0KLQljYXJkID0gY2hpcC0+Y2FyZDsKLQotCXN0cmNweShjYXJkLT5taXhlcm5hbWUsIHNuZF9vcHRpOTN4X2NoaXBfaWQoY2hpcCkpOwotCi0JZm9yIChpZHggPSAwOyBpZHggPCBBUlJBWV9TSVpFKHNuZF9vcHRpOTN4X2NvbnRyb2xzKTsgaWR4KyspIHsKLQkJa25ldyA9IHNuZF9vcHRpOTN4X2NvbnRyb2xzW2lkeF07Ci0JCWlmIChjaGlwLT5oYXJkd2FyZSA9PSBPUFRpOVhYX0hXXzgyQzkzMCkgewotCQkJaWYgKHN0cnN0cihrbmV3Lm5hbWUsICJGTSIpKQkvKiBza2lwIEZNIGNvbnRyb2xzICovCi0JCQkJY29udGludWU7Ci0JCQllbHNlIGlmIChzdHJjbXAoa25ldy5uYW1lLCAiTWljIFBsYXliYWNrIFZvbHVtZSIpKQotCQkJCU9QVGk5M1hfRE9VQkxFX0lOVkVSVF9JTlZFUlQoa25ldyk7Ci0JCQllbHNlIGlmIChzdHJzdHIoa25ldy5uYW1lLCAiQXV4IikpCi0JCQkJT1BUaTkzWF9ET1VCTEVfQ0hBTkdFX1JFR1Moa25ldywgT1BUaTkzMF9BVVhfTEVGVF9JTlBVVCwgT1BUaTkzMF9BVVhfUklHSFRfSU5QVVQpOwotCQkJZWxzZSBpZiAoc3RyY21wKGtuZXcubmFtZSwgIlBDTSBQbGF5YmFjayBWb2x1bWUiKSkKLQkJCQlPUFRpOTNYX0RPVUJMRV9JTlZFUlRfSU5WRVJUKGtuZXcpOwotCQkJZWxzZSBpZiAoc3RyY21wKGtuZXcubmFtZSwgIk1hc3RlciBQbGF5YmFjayBWb2x1bWUiKSkKLQkJCQlPUFRpOTNYX0RPVUJMRV9JTlZFUlRfSU5WRVJUKGtuZXcpOwotCQl9Ci0JCWlmICgoZXJyID0gc25kX2N0bF9hZGQoY2FyZCwgc25kX2N0bF9uZXcxKCZzbmRfb3B0aTkzeF9jb250cm9sc1tpZHhdLCBjaGlwKSkpIDwgMCkKLQkJCXJldHVybiBlcnI7Ci0JfQotCXJldHVybiAwOwotfQotCiAjZW5kaWYgLyogT1BUaTkzWCAqLwogCiBzdGF0aWMgaW50IF9fZGV2aW5pdCBzbmRfY2FyZF9vcHRpOXh4X2RldGVjdChzdHJ1Y3Qgc25kX2NhcmQgKmNhcmQsCkBAIC0xNzM5LDggKzY4NSwxNiBAQAogewogCXN0cnVjdCBzbmRfb3B0aTl4eCAqY2hpcCA9IGNhcmQtPnByaXZhdGVfZGF0YTsKICAgICAgICAgCi0JaWYgKGNoaXApCisJaWYgKGNoaXApIHsKKyNpZmRlZiBPUFRpOTNYCisJCXN0cnVjdCBzbmRfY3M0MjMxICpjb2RlYyA9IGNoaXAtPmNvZGVjOworCQlpZiAoY29kZWMtPmlycSA+IDApIHsKKwkJCWRpc2FibGVfaXJxKGNvZGVjLT5pcnEpOworCQkJZnJlZV9pcnEoY29kZWMtPmlycSwgY29kZWMpOworCQl9CisjZW5kaWYKIAkJcmVsZWFzZV9hbmRfZnJlZV9yZXNvdXJjZShjaGlwLT5yZXNfbWNfYmFzZSk7CisJfQogfQogCiBzdGF0aWMgaW50IF9fZGV2aW5pdCBzbmRfb3B0aTl4eF9wcm9iZShzdHJ1Y3Qgc25kX2NhcmQgKmNhcmQpCkBAIC0xNzQ4LDExICs3MDIsMTEgQEAKIAlzdGF0aWMgbG9uZyBwb3NzaWJsZV9wb3J0c1tdID0gezB4NTMwLCAweGU4MCwgMHhmNDAsIDB4NjA0LCAtMX07CiAJaW50IGVycm9yOwogCXN0cnVjdCBzbmRfb3B0aTl4eCAqY2hpcCA9IGNhcmQtPnByaXZhdGVfZGF0YTsKLSNpZiBkZWZpbmVkKE9QVGk5M1gpCi0Jc3RydWN0IHNuZF9vcHRpOTN4ICpjb2RlYzsKLSNlbGlmIGRlZmluZWQoQ1M0MjMxKQorI2lmIGRlZmluZWQoQ1M0MjMxKSB8fCBkZWZpbmVkKE9QVGk5M1gpCiAJc3RydWN0IHNuZF9jczQyMzEgKmNvZGVjOworI2lmZGVmIENTNDIzMQogCXN0cnVjdCBzbmRfdGltZXIgKnRpbWVyOworI2VuZGlmCiAjZWxzZQogCXN0cnVjdCBzbmRfYWQxODQ4ICpjb2RlYzsKICNlbmRpZgpAQCAtMTc4NCwyNiArNzM4LDM0IEBACiAJaWYgKChlcnJvciA9IHNuZF9vcHRpOXh4X2NvbmZpZ3VyZShjaGlwKSkpCiAJCXJldHVybiBlcnJvcjsKIAotI2lmIGRlZmluZWQoT1BUaTkzWCkKLQlpZiAoKGVycm9yID0gc25kX29wdGk5M3hfY3JlYXRlKGNhcmQsIGNoaXAsIGNoaXAtPmRtYTEsIGNoaXAtPmRtYTIsICZjb2RlYykpKQotCQlyZXR1cm4gZXJyb3I7Ci0JaWYgKChlcnJvciA9IHNuZF9vcHRpOTN4X3BjbShjb2RlYywgMCwgJnBjbSkpIDwgMCkKLQkJcmV0dXJuIGVycm9yOwotCWlmICgoZXJyb3IgPSBzbmRfb3B0aTkzeF9taXhlcihjb2RlYykpIDwgMCkKLQkJcmV0dXJuIGVycm9yOwotI2VsaWYgZGVmaW5lZChDUzQyMzEpCisjaWYgZGVmaW5lZChDUzQyMzEpIHx8IGRlZmluZWQoT1BUaTkzWCkKIAlpZiAoKGVycm9yID0gc25kX2NzNDIzMV9jcmVhdGUoY2FyZCwgY2hpcC0+d3NzX2Jhc2UgKyA0LCAtMSwKIAkJCQkgICAgICAgY2hpcC0+aXJxLCBjaGlwLT5kbWExLCBjaGlwLT5kbWEyLAotCQkJCSAgICAgICBDUzQyMzFfSFdfREVURUNULAotCQkJCSAgICAgICAwLAorI2lmZGVmIENTNDIzMQorCQkJCSAgICAgICBDUzQyMzFfSFdfREVURUNULCAwLAorI2Vsc2UgLyogT1BUaTkzeCAqLworCQkJCSAgICAgICBDUzQyMzFfSFdfT1BUSTkzWCwgQ1M0MjMxX0hXU0hBUkVfSVJRLAorI2VuZGlmCiAJCQkJICAgICAgICZjb2RlYykpIDwgMCkKIAkJcmV0dXJuIGVycm9yOworI2lmZGVmIE9QVGk5M1gKKwljaGlwLT5jb2RlYyA9IGNvZGVjOworI2VuZGlmCiAJaWYgKChlcnJvciA9IHNuZF9jczQyMzFfcGNtKGNvZGVjLCAwLCAmcGNtKSkgPCAwKQogCQlyZXR1cm4gZXJyb3I7CiAJaWYgKChlcnJvciA9IHNuZF9jczQyMzFfbWl4ZXIoY29kZWMpKSA8IDApCiAJCXJldHVybiBlcnJvcjsKKyNpZmRlZiBDUzQyMzEKIAlpZiAoKGVycm9yID0gc25kX2NzNDIzMV90aW1lcihjb2RlYywgMCwgJnRpbWVyKSkgPCAwKQogCQlyZXR1cm4gZXJyb3I7CisjZWxzZSAvKiBPUFRJOTNYICovCisJZXJyb3IgPSByZXF1ZXN0X2lycShjaGlwLT5pcnEsIHNuZF9vcHRpOTN4X2ludGVycnVwdCwKKwkJCSAgICBJUlFGX0RJU0FCTEVELCBERVZfTkFNRSIgLSBXU1MiLCBjb2RlYyk7CisJaWYgKGVycm9yIDwgMCkgeworCQlzbmRfcHJpbnRrKEtFUk5fRVJSICJvcHRpOXh4OiBjYW4ndCBncmFiIElSUSAlZFxuIiwgY2hpcC0+aXJxKTsKKwkJcmV0dXJuIGVycm9yOworCX0KKyNlbmRpZgogI2Vsc2UKIAlpZiAoKGVycm9yID0gc25kX2FkMTg0OF9jcmVhdGUoY2FyZCwgY2hpcC0+d3NzX2Jhc2UgKyA0LAogCQkJCSAgICAgICBjaGlwLT5pcnEsIGNoaXAtPmRtYTEsCmRpZmYgLS1naXQgYS9zb3VuZC9pc2Evc2IvTWFrZWZpbGUgYi9zb3VuZC9pc2Evc2IvTWFrZWZpbGUKaW5kZXggYzlkMWM5OC4uMTA5OGE1NiAxMDA2NDQKLS0tIGEvc291bmQvaXNhL3NiL01ha2VmaWxlCisrKyBiL3NvdW5kL2lzYS9zYi9NYWtlZmlsZQpAQCAtMzQsNSArMzQsMyBAQAogICBvYmotJChDT05GSUdfU05EX1NCQVdFKSArPSBzbmQtc2IxNi1jc3AubwogZW5kaWYKIG9iai0kKGNhbGwgc2VxdWVuY2VyLCQoQ09ORklHX1NORF9TQkFXRSkpICs9IHNuZC1lbXU4MDAwLXN5bnRoLm8KLQotb2JqLW0gOj0gJChzb3J0ICQob2JqLW0pKQpkaWZmIC0tZ2l0IGEvc291bmQvaXNhL3NiL3NiMTZfY3NwLmMgYi9zb3VuZC9pc2Evc2Ivc2IxNl9jc3AuYwppbmRleCBmM2ZkN2I0Li4zNWYzZDdiIDEwMDY0NAotLS0gYS9zb3VuZC9pc2Evc2Ivc2IxNl9jc3AuYworKysgYi9zb3VuZC9pc2Evc2Ivc2IxNl9jc3AuYwpAQCAtMzUsMTMgKzM1LDExIEBACiBNT0RVTEVfQVVUSE9SKCJVcm9zIEJpemphayA8dXJvc0Brc3MtbG9rYS5zaT4iKTsKIE1PRFVMRV9ERVNDUklQVElPTigiQUxTQSBkcml2ZXIgZm9yIFNCMTYgQ3JlYXRpdmUgU2lnbmFsIFByb2Nlc3NvciIpOwogTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOwotI2lmbmRlZiBDT05GSUdfU05EX1NCMTZfQ1NQX0ZJUk1XQVJFX0lOX0tFUk5FTAogTU9EVUxFX0ZJUk1XQVJFKCJzYjE2L211bGF3X21haW4uY3NwIik7CiBNT0RVTEVfRklSTVdBUkUoInNiMTYvYWxhd19tYWluLmNzcCIpOwogTU9EVUxFX0ZJUk1XQVJFKCJzYjE2L2ltYV9hZHBjbV9pbml0LmNzcCIpOwogTU9EVUxFX0ZJUk1XQVJFKCJzYjE2L2ltYV9hZHBjbV9wbGF5YmFjay5jc3AiKTsKIE1PRFVMRV9GSVJNV0FSRSgic2IxNi9pbWFfYWRwY21fY2FwdHVyZS5jc3AiKTsKLSNlbmRpZgogCiAjaWZkZWYgU05EUlZfTElUVExFX0VORElBTgogI2RlZmluZSBDU1BfSERSX1ZBTFVFKGEsYixjLGQpCSgoYSkgfCAoKGIpPDw4KSB8ICgoYyk8PDE2KSB8ICgoZCk8PDI0KSkKQEAgLTE2OCwxNyArMTY2LDEzIEBACiAgKi8KIHN0YXRpYyB2b2lkIHNuZF9zYl9jc3BfZnJlZShzdHJ1Y3Qgc25kX2h3ZGVwICpod2RlcCkKIHsKLSNpZm5kZWYgQ09ORklHX1NORF9TQjE2X0NTUF9GSVJNV0FSRV9JTl9LRVJORUwKIAlpbnQgaTsKLSNlbmRpZgogCXN0cnVjdCBzbmRfc2JfY3NwICpwID0gaHdkZXAtPnByaXZhdGVfZGF0YTsKIAlpZiAocCkgewogCQlpZiAocC0+cnVubmluZyAmIFNORFJWX1NCX0NTUF9TVF9SVU5OSU5HKQogCQkJc25kX3NiX2NzcF9zdG9wKHApOwotI2lmbmRlZiBDT05GSUdfU05EX1NCMTZfQ1NQX0ZJUk1XQVJFX0lOX0tFUk5FTAogCQlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShwLT5jc3BfcHJvZ3JhbXMpOyArK2kpCiAJCQlyZWxlYXNlX2Zpcm13YXJlKHAtPmNzcF9wcm9ncmFtc1tpXSk7Ci0jZW5kaWYKIAkJa2ZyZWUocCk7CiAJfQogfQpAQCAtNzAxLDE4ICs2OTUsNiBAQAogCXJldHVybiBlcnI7CiB9CiAKLSNpZmRlZiBDT05GSUdfU05EX1NCMTZfQ1NQX0ZJUk1XQVJFX0lOX0tFUk5FTAotI2luY2x1ZGUgInNiMTZfY3NwX2NvZGVjcy5oIgotCi1zdGF0aWMgY29uc3Qgc3RydWN0IGZpcm13YXJlIHNuZF9zYl9jc3Bfc3RhdGljX3Byb2dyYW1zW10gPSB7Ci0JeyAuZGF0YSA9IG11bGF3X21haW4sIC5zaXplID0gc2l6ZW9mIG11bGF3X21haW4gfSwKLQl7IC5kYXRhID0gYWxhd19tYWluLCAuc2l6ZSA9IHNpemVvZiBhbGF3X21haW4gfSwKLQl7IC5kYXRhID0gaW1hX2FkcGNtX2luaXQsIC5zaXplID0gc2l6ZW9mIGltYV9hZHBjbV9pbml0IH0sCi0JeyAuZGF0YSA9IGltYV9hZHBjbV9wbGF5YmFjaywgLnNpemUgPSBzaXplb2YgaW1hX2FkcGNtX3BsYXliYWNrIH0sCi0JeyAuZGF0YSA9IGltYV9hZHBjbV9jYXB0dXJlLCAuc2l6ZSA9IHNpemVvZiBpbWFfYWRwY21fY2FwdHVyZSB9LAotfTsKLSNlbmRpZgotCiBzdGF0aWMgaW50IHNuZF9zYl9jc3BfZmlybXdhcmVfbG9hZChzdHJ1Y3Qgc25kX3NiX2NzcCAqcCwgaW50IGluZGV4LCBpbnQgZmxhZ3MpCiB7CiAJc3RhdGljIGNvbnN0IGNoYXIgKmNvbnN0IG5hbWVzW10gPSB7CkBAIC03MjcsMTQgKzcwOSwxMCBAQAogCUJVSUxEX0JVR19PTihBUlJBWV9TSVpFKG5hbWVzKSAhPSBDU1BfUFJPR1JBTV9DT1VOVCk7CiAJcHJvZ3JhbSA9IHAtPmNzcF9wcm9ncmFtc1tpbmRleF07CiAJaWYgKCFwcm9ncmFtKSB7Ci0jaWZkZWYgQ09ORklHX1NORF9TQjE2X0NTUF9GSVJNV0FSRV9JTl9LRVJORUwKLQkJcHJvZ3JhbSA9ICZzbmRfc2JfY3NwX3N0YXRpY19wcm9ncmFtc1tpbmRleF07Ci0jZWxzZQogCQlpbnQgZXJyID0gcmVxdWVzdF9maXJtd2FyZSgmcHJvZ3JhbSwgbmFtZXNbaW5kZXhdLAogCQkJCSAgICAgICBwLT5jaGlwLT5jYXJkLT5kZXYpOwogCQlpZiAoZXJyIDwgMCkKIAkJCXJldHVybiBlcnI7Ci0jZW5kaWYKIAkJcC0+Y3NwX3Byb2dyYW1zW2luZGV4XSA9IHByb2dyYW07CiAJfQogCXJldHVybiBzbmRfc2JfY3NwX2xvYWQocCwgcHJvZ3JhbS0+ZGF0YSwgcHJvZ3JhbS0+c2l6ZSwgZmxhZ3MpOwpkaWZmIC0tZ2l0IGEvc291bmQvaXNhL3NiL3NiMTZfY3NwX2NvZGVjcy5oIGIvc291bmQvaXNhL3NiL3NiMTZfY3NwX2NvZGVjcy5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmMGU4YjBkLi4wMDAwMDAwCi0tLSBhL3NvdW5kL2lzYS9zYi9zYjE2X2NzcF9jb2RlY3MuaAorKysgL2Rldi9udWxsCkBAIC0xLDk0OSArMCwwIEBACi0vKgotICogIENvcHlyaWdodCAoYykgMTk5NCBDcmVhdGl2ZSBUZWNobm9sb2d5IEx0ZC4KLSAqICBNaWNyb2NvZGUgZmlsZXMgZm9yIFNCMTYgQWR2YW5jZWQgU2lnbmFsIFByb2Nlc3NvcgotICoKLSAqICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKLSAqICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLSAqICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKLSAqICAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICogICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICogICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCi0gKiAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gKgotICogICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICogICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQotICogICBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAgMDIxMTEtMTMwNyBVU0EKLSAqCi0gKi8KLQotc3RhdGljIHVuc2lnbmVkIGNoYXIgbXVsYXdfbWFpbltdID0gewotCTB4MDAsIDB4MTAsIDB4MDAsIDB4NDQsIDB4MDgsIDB4MDAsIDB4MDAsIDB4NDQsCi0JMHgwMCwgMHhiMSwgMHgwMCwgMHg0NCwgMHgwMCwgMHg2MSwgMHgwMCwgMHg0NCwKLQkweDA4LCAweDUwLCAweDAwLCAweDQ0LCAweDBkLCAweGYyLCAweDYxLCAweGE4LAotCTB4NDQsIDB4MDQsIDB4MDQsIDB4MTksIDB4MDAsIDB4MDAsIDB4NDAsIDB4NDUsCi0JMHg0MCwgMHg0OSwgMHgzOSwgMHhhYywgMHg1NSwgMHg1NSwgMHg3MSwgMHg4YiwKLQkweDUwLCAweDA1LCAweDYzLCAweDgwLCAweDAwLCAweDAwLCAweDA2LCAweDM5LAotCTB4ZmYsIDB4MmUsIDB4MjEsIDB4NDksIDB4ZmYsIDB4MGYsIDB4ZDQsIDB4NDksCi0JMHgyMCwgMHgwMSwgMHgwOSwgMHgwZSwgMHgyMCwgMHgwMCwgMHg3MSwgMHg4YiwKLQkweGE4LCAweDAxLCAweGE4LCAweDgwLCAweDg4LCAweDAxLCAweGE4LCAweDgwLAotCTB4YTgsIDB4MDAsIDB4MDAsIDB4ODAsIDB4ZDIsIDB4MDAsIDB4NzEsIDB4OGIsCi0JMHg4OCwgMHgwMCwgMHhhOCwgMHg4MCwgMHhhOCwgMHgwNCwgMHhiMywgMHg4MCwKLQkweDIwLCAweDA3LCAweGIzLCAweDgwLCAweDg4LCAweDAzLCAweGIxLCAweDgwLAotCTB4YzAsIDB4MDAsIDB4MDksIDB4NWMsIDB4YzIsIDB4MDEsIDB4MDAsIDB4ODIsCi0JMHhhMSwgMHgwMCwgMHg3MSwgMHg4YiwgMHhjZCwgMHgwMCwgMHgwNCwgMHgxOSwKLQkweGEyLCAweDIwLCAweDcxLCAweDhiLCAweGNmLCAweDAwLCAweDA0LCAweDE5LAotCTB4MDAsIDB4MDAsIDB4YjEsIDB4ODAsIDB4YzIsIDB4MDAsIDB4MDQsIDB4MTksCi0JMHgwMCwgMHg0MCwgMHgwMCwgMHgxNCwgMHgwOCwgMHg0MCwgMHgwNCwgMHgyNCwKLQkweDAwLCAweDAwLCAweDM0LCAweDQ5LCAweDBjLCAweDQwLCAweDAwLCAweDQ0LAotCTB4NDQsIDB4MDQsIDB4MDQsIDB4MzksIDB4MDAsIDB4MDAsIDB4NDAsIDB4NDUsCi0JMHgzMiwgMHgwMCwgMHgwOSwgMHg1YywgMHgwMCwgMHgwMCwgMHgwYywgMHgzOSwKLQkweDAwLCAweDAwLCAweDQwLCAweDQ1LCAweDQwLCAweDQwLCAweDA5LCAweGVmLAotCTB4ZmYsIDB4MjAsIDB4MDksIDB4Y2YsIDB4MDAsIDB4MDQsIDB4NjMsIDB4YTEsCi0JMHg1MCwgMHgwMywgMHgzMywgMHg4MCwgMHgwMCwgMHgwNCwgMHhhMywgMHg4MCwKLQkweDAwLCAweGZmLCAweGMyLCAweDhiLCAweDAwLCAweGQwLCAweDA0LCAweDU0LAotCTB4MDQsIDB4ZTAsIDB4MDAsIDB4YzQsIDB4MjAsIDB4MDMsIDB4ODAsIDB4YzAsCi0JMHgzMCwgMHgwMCwgMHgwMCwgMHg4OCwgMHgwMCwgMHgwMCwgMHg3YSwgMHgwYSwKLQkweGQwLCAweDAxLCAweDAwLCAweDgyLCAweDAwLCAweDYwLCAweDAwLCAweDQ0LAotCTB4YzAsIDB4MDAsIDB4MDAsIDB4OTksIDB4MDAsIDB4NjAsIDB4MDAsIDB4NDQsCi0JMHgwMCwgMHhmZiwgMHhjMiwgMHg4YiwgMHgyMCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweDAwLCAweDBkLCAweDQyLCAweDhiLCAweDA4LCAweDMyLCAweDAwLCAweGM0LAotCTB4MDAsIDB4MGUsIDB4NDIsIDB4OGIsIDB4MDAsIDB4YTIsIDB4MDAsIDB4YzQsCi0JMHgwMCwgMHgxZSwgMHg0MiwgMHg4YiwgMHgwYywgMHhiMiwgMHgwMCwgMHhjNCwKLQkweDAwLCAweDhlLCAweDQyLCAweDhiLCAweDAwLCAweDYyLCAweDAwLCAweGM0LAotCTB4MDAsIDB4OWUsIDB4NDIsIDB4OGIsIDB4MDgsIDB4NTIsIDB4MDAsIDB4YzQsCi0JMHgwMCwgMHhiZSwgMHg0MiwgMHg4YiwgMHgwOCwgMHg1MiwgMHgwMCwgMHhjNCwKLQkweDAwLCAweDA0LCAweDQyLCAweDhiLCAweDA0LCAweDcyLCAweDAwLCAweGM0LAotCTB4MDAsIDB4MjQsIDB4NDIsIDB4OGIsIDB4MDAsIDB4ZDIsIDB4MDAsIDB4YzQsCi0JMHgwMCwgMHg1NSwgMHg0MiwgMHg4YiwgMHgwMCwgMHg2MCwgMHgwMCwgMHhjNCwKLQkweDAwLCAweDAwLCAweDQwLCAweDQ1LCAweDIwLCAweDAxLCAweDc5LCAweDgwLAotCTB4MDAsIDB4MzAsIDB4NDIsIDB4OGIsIDB4MDgsIDB4ODIsIDB4MDAsIDB4YzQsCi0JMHgwMCwgMHgwMCwgMHg0MCwgMHg0NSwgMHgwMCwgMHgwMCwgMHg3MSwgMHg4YiwKLQkweDQwLCAweDAxLCAweDAwLCAweDgwLCAweDAwLCAweDYwLCAweDAwLCAweDQ0LAotCTB4ZmYsIDB4MDAsIDB4ZTIsIDB4YWIsIDB4MDAsIDB4YjIsIDB4MDAsIDB4YzQsCi0JMHgwZiwgMHhmMiwgMHhhOCwgMHhhOCwgMHgyMCwgMHgwMCwgMHhiMSwgMHg4OCwKLQkweDAwLCAweDAwLCAweDQxLCAweDAyLCAweDRkLCAweGYyLCAweDAwLCAweDM5LAotCTB4YzAsIDB4MDEsIDB4MDAsIDB4ODIsIDB4MDAsIDB4NjAsIDB4MDAsIDB4NDQsCi0JMHgwZCwgMHhmMiwgMHhhMywgMHhhOCwgMHg0ZCwgMHhmMiwgMHgwMCwgMHgzOSwKLQkweDAwLCAweDYwLCAweDAwLCAweDQ0LCAweGZmLCAweDAwLCAweGUyLCAweGFiLAotCTB4MjAsIDB4MDAsIDB4MDAsIDB4ODgsIDB4MDAsIDB4MDAsIDB4NjEsIDB4MDIsCi0JMHg0ZCwgMHhmMiwgMHgwNCwgMHgxOSwgMHgwMCwgMHg2MCwgMHgwMCwgMHg0NCwKLQkweGZmLCAweDAwLCAweGUyLCAweGFiLCAweGEwLCAweDAwLCAweDAwLCAweDg4LAotCTB4MDAsIDB4MDAsIDB4NjEsIDB4MTAsIDB4NGQsIDB4ZjIsIDB4MDQsIDB4MTksCi0JMHgwMCwgMHg2MCwgMHgwMCwgMHg0NCwgMHhmZiwgMHgyMCwgMHhlMiwgMHhhYiwKLQkweDYwLCAweDAwLCAweDAwLCAweDg4LCAweDAwLCAweDAwLCAweDcxLCAweGMwLAotCTB4NGQsIDB4ZjIsIDB4MDQsIDB4MTksIDB4MDAsIDB4NjAsIDB4MDAsIDB4NDQsCi0JMHgwMCwgMHgwMCwgMHg3OSwgMHg4MCwgMHgwMCwgMHhlMiwgMHgwMCwgMHg4NCwKLQkweDAzLCAweDAzLCAweDA0LCAweDQ5LCAweDA4LCAweGMyLCAweDAwLCAweDU0LAotCTB4MDAsIDB4NjAsIDB4MDQsIDB4NjQsIDB4MDAsIDB4NjAsIDB4MDAsIDB4NDQsCi0JMHgwMCwgMHgwMCwgMHg2MywgMHg4MCwgMHgwMCwgMHgwMCwgMHgwNiwgMHgxOSwKLQkweDAzLCAweDAwLCAweDA0LCAweDQ5LCAweDAwLCAweDYwLCAweDAwLCAweDQ0LAotCTB4MjAsIDB4MDEsIDB4NjMsIDB4ODAsIDB4MDAsIDB4MDAsIDB4MDYsIDB4MTksCi0JMHgwMCwgMHgyMCwgMHhlMiwgMHg4YiwgMHgwYywgMHhmMiwgMHgwMCwgMHg4NCwKLQkweDNlLCAweDAwLCAweDUxLCAweDhiLCAweGMwLCAweDIwLCAweDAwLCAweDM5LAotCTB4MDgsIDB4MDEsIDB4MDAsIDB4NDQsIDB4NmMsIDB4MDAsIDB4NTEsIDB4OGIsCi0JMHhjMCwgMHgyMCwgMHgwMCwgMHgzOSwgMHgwMCwgMHgwMiwgMHhlMiwgMHg4YiwKLQkweDA0LCAweDIxLCAweDAwLCAweDg0LCAweGZkLCAweDAwLCAweDUxLCAweDhiLAotCTB4YzIsIDB4MjAsIDB4MDAsIDB4MzksIDB4MDAsIDB4MTEsIDB4MDAsIDB4NDQsCi0JMHhmZSwgMHgwMCwgMHg1MSwgMHg4YiwgMHhjMiwgMHgyMCwgMHgwMCwgMHgzOSwKLQkweGU1LCAweDAwLCAweDcxLCAweDhiLCAweGNkLCAweDAwLCAweDAwLCAweDM5LAotCTB4MDAsIDB4MDAsIDB4YjEsIDB4ODAsIDB4YzksIDB4MjAsIDB4MDQsIDB4MTksCi0JMHhjYiwgMHgyMCwgMHgwNCwgMHgxOSwgMHhjMSwgMHgyMCwgMHgwNCwgMHgxOSwKLQkweGMzLCAweDIwLCAweDA0LCAweDE5LCAweDEwLCAweDAwLCAweDcxLCAweDhiLAotCTB4YzcsIDB4MjAsIDB4MDQsIDB4MTksIDB4NWUsIDB4MDAsIDB4NzEsIDB4OGIsCi0JMHhjZiwgMHgwMCwgMHgwMCwgMHgzOSwgMHgwMCwgMHgwMCwgMHhiMSwgMHg4MCwKLQkweGM0LCAweDIwLCAweDA0LCAweDE5LCAweGM2LCAweDIwLCAweDA0LCAweDE5LAotCTB4YzgsIDB4MjAsIDB4MDQsIDB4MTksIDB4Y2EsIDB4MjAsIDB4MDQsIDB4MTksCi0JMHgyMCwgMHgwMCwgMHg3MSwgMHg4YiwgMHhjYywgMHgyMCwgMHgwNCwgMHgxOSwKLQkweDAzLCAweDAwLCAweDA0LCAweDQ5LCAweDAwLCAweDYwLCAweDAwLCAweDQ0LAotCTB4MDksIDB4MDQsIDB4NjEsIDB4YTgsIDB4YzEsIDB4MDAsIDB4MDQsIDB4MTksCi0JMHgwYiwgMHgwNCwgMHg2MSwgMHhhOCwgMHhjYSwgMHgwMCwgMHgwNCwgMHgxOSwKLQkweDA0LCAweDYwLCAweDAwLCAweGQ0LCAweDBkLCAweDAwLCAweDYxLCAweDBhLAotCTB4OTAsIDB4NDAsIDB4MDksIDB4OGYsIDB4MDAsIDB4MDEsIDB4MDAsIDB4NDUsCi0JMHgwZiwgMHgwMCwgMHg2MSwgMHgwYSwgMHgwMCwgMHg0MCwgMHgwOSwgMHg4ZiwKLQkweDAwLCAweDAxLCAweDAwLCAweDQ1LCAweDgyLCAweDAwLCAweDA5LCAweDJlLAotCTB4ODAsIDB4NDAsIDB4MDksIDB4Y2YsIDB4MDIsIDB4MDAsIDB4NjEsIDB4MjIsCi0JMHg0MywgMHgyNSwgMHg2MSwgMHgyMiwgMHg0MCwgMHgzMywgMHgwMCwgMHg4MCwKLQkweDA4LCAweGE4LCAweDAwLCAweDQ0LCAweDIwLCAweDMxLCAweDQ5LCAweDVjLAotCTB4OTIsIDB4MDAsIDB4MDksIDB4NGUsIDB4MDIsIDB4MDMsIDB4MDksIDB4MmUsCi0JMHgwMCwgMHgwMCwgMHhhMywgMHgwMiwgMHhjMCwgMHgwMCwgMHg3MSwgMHhjMCwKLQkweDIwLCAweDAwLCAweGViLCAweDgwLCAweDAwLCAweDA0LCAweGMyLCAweDhiLAotCTB4MjAsIDB4MDQsIDB4NjEsIDB4ODAsIDB4MDAsIDB4MDQsIDB4N2EsIDB4MDIsCi0JMHhjYiwgMHgwMCwgMHhhOCwgMHg1OCwgMHhiMCwgMHgwNSwgMHhmMywgMHg4MCwKLQkweDIwLCAweDA0LCAweGE4LCAweDEwLCAweDAwLCAweDAwLCAweDEwLCAweDM5LAotCTB4YjAsIDB4MDAsIDB4ZTAsIDB4OGIsIDB4MjAsIDB4MDEsIDB4MDAsIDB4ODAsCi0JMHgwMCwgMHgwMCwgMHg2MywgMHhjYiwgMHgwMCwgMHgwMCwgMHg3YSwgMHgwMiwKLQkweDQwLCAweDAwLCAweDAxLCAweDViLCAweDIwLCAweDAwLCAweDAwLCAweDgwLAotCTB4MDAsIDB4MDAsIDB4NGEsIDB4Y2IsIDB4MjAsIDB4MDAsIDB4MTMsIDB4ODAsCi0JMHgyMCwgMHgwMCwgMHg3YSwgMHg4MCwgMHhlMCwgMHgyMSwgMHgwMCwgMHhjMCwKLQkweDA4LCAweDAwLCAweDA4LCAweDQ5LCAweDEwLCAweDQxLCAweDA5LCAweDhlLAotCTB4ZmYsIDB4ZmYsIDB4NjIsIDB4OGIsIDB4MDAsIDB4MDQsIDB4NjEsIDB4MjIsCi0JMHgwMCwgMHgwMywgMHgwMCwgMHg0NSwgMHgyMiwgMHgwMSwgMHgzMywgMHg4MCwKLQkweDIwLCAweDAxLCAweGEzLCAweDAyLCAweDAwLCAweDAwLCAweDdhLCAweDgwLAotCTB4YzAsIDB4MDAsIDB4MDAsIDB4ODIsIDB4MDcsIDB4MjAsIDB4NDAsIDB4MGEsCi0JMHgwOCwgMHg4MywgMHgwMCwgMHg4NCwgMHg0MCwgMHgyMSwgMHgwMCwgMHg4MCwKLQkweDQwLCAweDA1LCAweDkzLCAweDEwLCAweGM3LCAweDIwLCAweDAwLCAweDM5LAotCTB4MDAsIDB4MDAsIDB4NDAsIDB4NDUsIDB4MDcsIDB4MjAsIDB4NDAsIDB4MGEsCi0JMHgwYywgMHhhMywgMHgwMCwgMHg4NCwgMHgwOCwgMHgwMCwgMHgwMCwgMHg4MiwKLQkweDBjLCAweDI0LCAweDYxLCAweDUwLCAweDQwLCAweDAxLCAweDAwLCAweDgwLAotCTB4YzcsIDB4MjAsIDB4MDAsIDB4MzksIDB4MDAsIDB4MDAsIDB4NDAsIDB4NDUsCi0JMHgwMCwgMHgwNCwgMHg2MywgMHg4MCwgMHgwMCwgMHgwMCwgMHgwNiwgMHgzOSwKLQkweDQyLCAweDAxLCAweDA5LCAweDBlLCAweDAyLCAweDIwLCAweDYxLCAweDBhLAotCTB4MDAsIDB4MDEsIDB4MDAsIDB4NDUsIDB4MGMsIDB4MjAsIDB4NjAsIDB4MGEsCi0JMHgwMCwgMHg3MywgMHgwMCwgMHg4NCwgMHgwMCwgMHgwNCwgMHhiMSwgMHg4MCwKLQkweDAwLCAweDAwLCAweDA2LCAweDM5LCAweDBjLCAweDYxLCAweDA0LCAweGQ0LAotCTB4MDAsIDB4MjQsIDB4NzEsIDB4YzAsIDB4MjAsIDB4MzMsIDB4MzMsIDB4YzAsCi0JMHhlMCwgMHgwMSwgMHhhMywgMHg4MiwgMHgyMiwgMHgwMywgMHg3YSwgMHgwMiwKLQkweGMzLCAweDAxLCAweGEzLCAweDgyLCAweDIwLCAweDAxLCAweDMzLCAweDgwLAotCTB4MDAsIDB4MDAsIDB4N2EsIDB4ODAsIDB4YzIsIDB4MDEsIDB4YjMsIDB4NTAsCi0JMHhjYywgMHgyMCwgMHgwMCwgMHgzOSwgMHgwMCwgMHgwMCwgMHg3MSwgMHg4MCwKLQkweDAwLCAweGYzLCAweDAwLCAweDQ0LCAweDBjLCAweDIwLCAweDYwLCAweDBhLAotCTB4MDAsIDB4ZDMsIDB4MDAsIDB4ODQsIDB4MDAsIDB4MDQsIDB4YjEsIDB4ODAsCi0JMHgwMCwgMHgwMCwgMHgwNiwgMHgzOSwgMHgwYywgMHg2MSwgMHgwNCwgMHhkNCwKLQkweDAwLCAweDAwLCAweGIzLCAweDEwLCAweGNjLCAweDIwLCAweDAwLCAweDM5LAotCTB4MDAsIDB4MDAsIDB4NzEsIDB4YzAsIDB4MDAsIDB4ZjMsIDB4MDAsIDB4NDQsCi0JMHhjYywgMHgyMCwgMHgwMCwgMHgzOSwgMHgwMCwgMHgyMCwgMHg3MSwgMHhjMCwKLQkweDAwLCAweDMwLCAweDcxLCAweGMwLCAweDAwLCAweGYzLCAweDAwLCAweDQ0LAotCTB4MjAsIDB4MDEsIDB4MDAsIDB4ODAsIDB4ZmYsIDB4ZmYsIDB4NjIsIDB4OGIsCi0JMHgyMCwgMHgwMSwgMHgzMywgMHg4MCwgMHgwMCwgMHgwMCwgMHg4MywgMHg4MCwKLQkweDIwLCAweDAwLCAweDdhLCAweDgwLCAweDIwLCAweGUxLCAweDA5LCAweDVjLAotCTB4ODIsIDB4MDAsIDB4MDksIDB4MmYsIDB4ODAsIDB4NGEsIDB4MDksIDB4OGUsCi0JMHhlMCwgMHgwMSwgMHhiMywgMHg4MiwgMHgyMCwgMHgwNCwgMHhhMywgMHg4MCwKLQkweDAwLCAweDAwLCAweDdhLCAweGNiLCAweDAzLCAweDAwLCAweGE4LCAweDE4LAotCTB4MDAsIDB4MDAsIDB4MTAsIDB4MzksIDB4MDgsIDB4MDQsIDB4ZWEsIDB4MTAsCi0JMHgwOCwgMHgwNCwgMHg3YSwgMHgxMCwgMHgyMCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweDQwLCAweDAwLCAweDIxLCAweGNiLCAweDBjLCAweDAwLCAweGU4LCAweDEwLAotCTB4MDAsIDB4MDAsIDB4NDEsIDB4MDIsIDB4MGMsIDB4MDAsIDB4ZWIsIDB4MTAsCi0JMHhmMiwgMHgwMSwgMHgwMCwgMHg4MiwgMHg0MCwgMHgyMSwgMHgzMywgMHgwMiwKLQkweDA4LCAweDIwLCAweDYxLCAweDBhLCAweGM0LCAweDAwLCAweDA0LCAweDE5LAotCTB4YzcsIDB4MDAsIDB4MDAsIDB4OTksIDB4MDIsIDB4MDAsIDB4NjEsIDB4MGEsCi0JMHgwYywgMHhlOCwgMHgwNCwgMHgxNCwgMHgwMSwgMHgwMCwgMHg2MSwgMHgwYSwKLQkweDAzLCAweDAwLCAweDQ4LCAweDBhLCAweDAwLCAweGI4LCAweDA0LCAweDU0LAotCTB4YzMsIDB4MDAsIDB4MDQsIDB4MTksIDB4MGMsIDB4YjgsIDB4MDAsIDB4NDQsCi0JMHgwOCwgMHgwMCwgMHhjOCwgMHgwYSwgMHgwYywgMHhiOCwgMHgwNCwgMHg1NCwKLQkweGM4LCAweDAwLCAweDA0LCAweDE5LCAweDBhLCAweDAwLCAweDYxLCAweDBhLAotCTB4MDksIDB4MDAsIDB4NDgsIDB4MGEsIDB4MDAsIDB4NjgsIDB4MDQsIDB4NTQsCi0JMHhjOSwgMHgwMCwgMHgwNCwgMHgxOSwgMHgwYywgMHg2OCwgMHgwMCwgMHg0NCwKLQkweDBiLCAweDAwLCAweGM4LCAweDBhLCAweDBjLCAweDY4LCAweDA0LCAweDU0LAotCTB4Y2IsIDB4MDAsIDB4MDQsIDB4MTksIDB4MDQsIDB4MDAsIDB4NjEsIDB4MGEsCi0JMHgwNiwgMHgwMCwgMHg0OCwgMHgwYSwgMHgwMCwgMHg3OCwgMHgwNCwgMHg1NCwKLQkweGM2LCAweDAwLCAweDA0LCAweDE5LCAweDBjLCAweDc4LCAweDAwLCAweDQ0LAotCTB4MDUsIDB4MDAsIDB4YzgsIDB4MGEsIDB4MGMsIDB4NzgsIDB4MDQsIDB4NTQsCi0JMHhjNSwgMHgwMCwgMHgwNCwgMHgxOSwgMHgwNywgMHgwMCwgMHg2MSwgMHgwYSwKLQkweDBjLCAweDAwLCAweDQ4LCAweDBhLCAweDAwLCAweGU4LCAweDA0LCAweDU0LAotCTB4Y2MsIDB4MDAsIDB4MDQsIDB4MTksIDB4MGMsIDB4ZTgsIDB4MDAsIDB4NDQsCi0JMHgwZSwgMHgwMCwgMHhjOCwgMHgwYSwgMHgwYywgMHhlOCwgMHgwNCwgMHg1NCwKLQkweGNlLCAweDAwLCAweDA0LCAweDE5LCAweDAwLCAweDAwLCAweDQwLCAweDQ1LAotCTB4MjAsIDB4MTAsIDB4NzEsIDB4OGIsIDB4MDksIDB4M2YsIDB4MDcsIDB4MDAKLX07Ci0KLXN0YXRpYyB1bnNpZ25lZCBjaGFyIGFsYXdfbWFpbltdID0gewotCTB4MDAsIDB4MTAsIDB4MDAsIDB4NDQsIDB4MDgsIDB4MDAsIDB4MDAsIDB4NDQsCi0JMHgwMCwgMHhiMSwgMHgwMCwgMHg0NCwgMHgwMCwgMHg2MSwgMHgwMCwgMHg0NCwKLQkweDA4LCAweDUwLCAweDAwLCAweDQ0LCAweDBkLCAweGYyLCAweDYxLCAweGE4LAotCTB4NDQsIDB4MDQsIDB4MDQsIDB4MTksIDB4MDAsIDB4MDAsIDB4NDAsIDB4NDUsCi0JMHg0MCwgMHg0OSwgMHgzOSwgMHhhYywgMHg1NSwgMHg1NSwgMHg3MSwgMHg4YiwKLQkweDUwLCAweDA1LCAweDYzLCAweDgwLCAweDAwLCAweDAwLCAweDA2LCAweDM5LAotCTB4ZmYsIDB4MmUsIDB4MjEsIDB4NDksIDB4ZmYsIDB4MGYsIDB4ZDQsIDB4NDksCi0JMHgyMCwgMHgwMSwgMHgwOSwgMHgwZSwgMHgyMCwgMHgwMCwgMHg3MSwgMHg4YiwKLQkweGE4LCAweDAxLCAweGE4LCAweDgwLCAweDg4LCAweDAxLCAweGE4LCAweDgwLAotCTB4YTgsIDB4MDAsIDB4MDAsIDB4ODAsIDB4ZDIsIDB4MDAsIDB4NzEsIDB4OGIsCi0JMHg4OCwgMHgwMCwgMHhhOCwgMHg4MCwgMHhhOCwgMHgwNCwgMHhiMywgMHg4MCwKLQkweDIwLCAweDA3LCAweGIzLCAweDgwLCAweDg4LCAweDAzLCAweGIxLCAweDgwLAotCTB4YzAsIDB4MDAsIDB4MDksIDB4NWMsIDB4YzIsIDB4MDEsIDB4MDAsIDB4ODIsCi0JMHhhMSwgMHgwMCwgMHg3MSwgMHg4YiwgMHhjZCwgMHgwMCwgMHgwNCwgMHgxOSwKLQkweDIxLCAweDIwLCAweDcxLCAweDhiLCAweGNmLCAweDAwLCAweDA0LCAweDE5LAotCTB4MDAsIDB4MDAsIDB4YjEsIDB4ODAsIDB4YzIsIDB4MDAsIDB4MDQsIDB4MTksCi0JMHgwMCwgMHg0MCwgMHgwMCwgMHgxNCwgMHgwOCwgMHg0MCwgMHgwNCwgMHgyNCwKLQkweDAwLCAweDAwLCAweDM0LCAweDQ5LCAweDBjLCAweDQwLCAweDAwLCAweDQ0LAotCTB4NDQsIDB4MDQsIDB4MDQsIDB4MzksIDB4MDAsIDB4MDAsIDB4NDAsIDB4NDUsCi0JMHgzMiwgMHgwMCwgMHgwOSwgMHg1YywgMHgwMCwgMHgwMCwgMHgwYywgMHgzOSwKLQkweDAwLCAweDAwLCAweDQwLCAweDQ1LCAweDQwLCAweDQwLCAweDA5LCAweGVmLAotCTB4ZmYsIDB4MjAsIDB4MDksIDB4Y2YsIDB4MDAsIDB4MDQsIDB4NjMsIDB4YTEsCi0JMHg1MCwgMHgwMywgMHgzMywgMHg4MCwgMHgwMCwgMHgwNCwgMHhhMywgMHg4MCwKLQkweDAwLCAweGZmLCAweGMyLCAweDhiLCAweDAwLCAweGQwLCAweDA0LCAweDU0LAotCTB4MDQsIDB4ZTAsIDB4MDAsIDB4YzQsIDB4MjAsIDB4MDMsIDB4ODAsIDB4YzAsCi0JMHgzMCwgMHgwMCwgMHgwMCwgMHg4OCwgMHgwMCwgMHgwMCwgMHg3YSwgMHgwYSwKLQkweGQwLCAweDAxLCAweDAwLCAweDgyLCAweDAwLCAweDYwLCAweDAwLCAweDQ0LAotCTB4YzAsIDB4MDAsIDB4MDAsIDB4OTksIDB4MDAsIDB4NjAsIDB4MDAsIDB4NDQsCi0JMHgwMCwgMHhmZiwgMHhjMiwgMHg4YiwgMHgyMCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweDAwLCAweDBkLCAweDQyLCAweDhiLCAweDA4LCAweDMyLCAweDAwLCAweGM0LAotCTB4MDAsIDB4MGUsIDB4NDIsIDB4OGIsIDB4MDAsIDB4YTIsIDB4MDAsIDB4YzQsCi0JMHgwMCwgMHgxZSwgMHg0MiwgMHg4YiwgMHgwYywgMHhiMiwgMHgwMCwgMHhjNCwKLQkweDAwLCAweDhlLCAweDQyLCAweDhiLCAweDAwLCAweDYyLCAweDAwLCAweGM0LAotCTB4MDAsIDB4OWUsIDB4NDIsIDB4OGIsIDB4MDgsIDB4NTIsIDB4MDAsIDB4YzQsCi0JMHgwMCwgMHhiZSwgMHg0MiwgMHg4YiwgMHgwOCwgMHg1MiwgMHgwMCwgMHhjNCwKLQkweDAwLCAweDA0LCAweDQyLCAweDhiLCAweDA0LCAweDcyLCAweDAwLCAweGM0LAotCTB4MDAsIDB4MjQsIDB4NDIsIDB4OGIsIDB4MDAsIDB4ZDIsIDB4MDAsIDB4YzQsCi0JMHgwMCwgMHg1NSwgMHg0MiwgMHg4YiwgMHgwMCwgMHg2MCwgMHgwMCwgMHhjNCwKLQkweDAwLCAweDAwLCAweDQwLCAweDQ1LCAweDIwLCAweDAxLCAweDc5LCAweDgwLAotCTB4MDAsIDB4MzAsIDB4NDIsIDB4OGIsIDB4MDgsIDB4ODIsIDB4MDAsIDB4YzQsCi0JMHgwMCwgMHgwMCwgMHg0MCwgMHg0NSwgMHgwMCwgMHgwMCwgMHg3MSwgMHg4YiwKLQkweDQwLCAweDAxLCAweDAwLCAweDgwLCAweDAwLCAweDYwLCAweDAwLCAweDQ0LAotCTB4ZmYsIDB4MDAsIDB4ZTIsIDB4YWIsIDB4MDAsIDB4YjIsIDB4MDAsIDB4YzQsCi0JMHgwZiwgMHhmMiwgMHhhOCwgMHhhOCwgMHgyMCwgMHgwMCwgMHhiMSwgMHg4OCwKLQkweDAwLCAweDAwLCAweDQxLCAweDAyLCAweDRkLCAweGYyLCAweDAwLCAweDM5LAotCTB4YzAsIDB4MDEsIDB4MDAsIDB4ODIsIDB4MDAsIDB4NjAsIDB4MDAsIDB4NDQsCi0JMHgwZCwgMHhmMiwgMHhhMywgMHhhOCwgMHg0ZCwgMHhmMiwgMHgwMCwgMHgzOSwKLQkweDAwLCAweDYwLCAweDAwLCAweDQ0LCAweGZmLCAweDAwLCAweGUyLCAweGFiLAotCTB4MjAsIDB4MDAsIDB4MDAsIDB4ODgsIDB4MDAsIDB4MDAsIDB4NjEsIDB4MDIsCi0JMHg0ZCwgMHhmMiwgMHgwNCwgMHgxOSwgMHgwMCwgMHg2MCwgMHgwMCwgMHg0NCwKLQkweGZmLCAweDAwLCAweGUyLCAweGFiLCAweGEwLCAweDAwLCAweDAwLCAweDg4LAotCTB4MDAsIDB4MDAsIDB4NjEsIDB4MTAsIDB4NGQsIDB4ZjIsIDB4MDQsIDB4MTksCi0JMHgwMCwgMHg2MCwgMHgwMCwgMHg0NCwgMHhmZiwgMHgyMCwgMHhlMiwgMHhhYiwKLQkweDYwLCAweDAwLCAweDAwLCAweDg4LCAweDAwLCAweDAwLCAweDcxLCAweGMwLAotCTB4NGQsIDB4ZjIsIDB4MDQsIDB4MTksIDB4MDAsIDB4NjAsIDB4MDAsIDB4NDQsCi0JMHgwMCwgMHgwMCwgMHg3OSwgMHg4MCwgMHgwMCwgMHhlMiwgMHgwMCwgMHg4NCwKLQkweDAzLCAweDAzLCAweDA0LCAweDQ5LCAweDA0LCAweGMyLCAweDAwLCAweDU0LAotCTB4MDAsIDB4NjAsIDB4MDQsIDB4NjQsIDB4MDAsIDB4NjAsIDB4MDAsIDB4NDQsCi0JMHgwMCwgMHgwMCwgMHg2MywgMHg4MCwgMHgwMCwgMHgwMCwgMHgwNiwgMHgxOSwKLQkweDAzLCAweDAwLCAweDA0LCAweDQ5LCAweDAwLCAweDYwLCAweDAwLCAweDQ0LAotCTB4MjAsIDB4MDEsIDB4NjMsIDB4ODAsIDB4MDAsIDB4MDAsIDB4MDYsIDB4MTksCi0JMHgwMCwgMHgyMCwgMHhlMiwgMHg4YiwgMHgwYywgMHhmMiwgMHgwMCwgMHg4NCwKLQkweGJlLCAweDAwLCAweDUxLCAweDhiLCAweGMwLCAweDIwLCAweDAwLCAweDM5LAotCTB4MDgsIDB4MDEsIDB4MDAsIDB4NDQsIDB4ZWMsIDB4MDAsIDB4NTEsIDB4OGIsCi0JMHhjMCwgMHgyMCwgMHgwMCwgMHgzOSwgMHgwMCwgMHgwMiwgMHhlMiwgMHg4YiwKLQkweDA0LCAweDIxLCAweDAwLCAweDg0LCAweDNmLCAweDAwLCAweDUxLCAweDhiLAotCTB4YzIsIDB4MjAsIDB4MDAsIDB4MzksIDB4MDAsIDB4MTEsIDB4MDAsIDB4NDQsCi0JMHgzZCwgMHgwMCwgMHg1MSwgMHg4YiwgMHhjMiwgMHgyMCwgMHgwMCwgMHgzOSwKLQkweGU1LCAweDAwLCAweDcxLCAweDhiLCAweGNkLCAweDAwLCAweDAwLCAweDM5LAotCTB4MDAsIDB4MDAsIDB4YjEsIDB4ODAsIDB4YzksIDB4MjAsIDB4MDQsIDB4MTksCi0JMHhjYiwgMHgyMCwgMHgwNCwgMHgxOSwgMHhjMSwgMHgyMCwgMHgwNCwgMHgxOSwKLQkweGMzLCAweDIwLCAweDA0LCAweDE5LCAweDEwLCAweDAwLCAweDcxLCAweDhiLAotCTB4YzcsIDB4MjAsIDB4MDQsIDB4MTksIDB4ZGUsIDB4MDAsIDB4NTEsIDB4OGIsCi0JMHhjZiwgMHgwMCwgMHgwMCwgMHgzOSwgMHgwMCwgMHgwMSwgMHhiMSwgMHg4MCwKLQkweGM0LCAweDIwLCAweDA0LCAweDE5LCAweGM2LCAweDIwLCAweDA0LCAweDE5LAotCTB4YzgsIDB4MjAsIDB4MDQsIDB4MTksIDB4Y2EsIDB4MjAsIDB4MDQsIDB4MTksCi0JMHgyMCwgMHgwMCwgMHg3MSwgMHg4YiwgMHhjYywgMHgyMCwgMHgwNCwgMHgxOSwKLQkweDAzLCAweDAwLCAweDA0LCAweDQ5LCAweDAwLCAweDYwLCAweDAwLCAweDQ0LAotCTB4MDksIDB4MDQsIDB4NjEsIDB4YTgsIDB4YzEsIDB4MDAsIDB4MDQsIDB4MTksCi0JMHgwYiwgMHgwNCwgMHg2MSwgMHhhOCwgMHhjYSwgMHgwMCwgMHgwNCwgMHgxOSwKLQkweDA0LCAweDYwLCAweDAwLCAweGQ0LCAweDBkLCAweDAwLCAweDYxLCAweDBhLAotCTB4OTAsIDB4NDAsIDB4MDksIDB4OGYsIDB4MDAsIDB4MDEsIDB4MDAsIDB4NDUsCi0JMHgwZiwgMHgwMCwgMHg2MSwgMHgwYSwgMHgwMCwgMHg0MCwgMHgwOSwgMHg4ZiwKLQkweDAwLCAweDAxLCAweDAwLCAweDQ1LCAweDgyLCAweDAwLCAweDA5LCAweDJlLAotCTB4ODAsIDB4NDAsIDB4MDksIDB4Y2YsIDB4MDIsIDB4MDAsIDB4NjEsIDB4MjIsCi0JMHg0MywgMHgyNSwgMHg2MSwgMHgyMiwgMHg0MCwgMHgzMywgMHgwMCwgMHg4MCwKLQkweDA4LCAweDQ4LCAweDAwLCAweDQ0LCAweDIwLCAweGIxLCAweDQ5LCAweDVjLAotCTB4OTIsIDB4MDAsIDB4MDksIDB4NGUsIDB4MDIsIDB4MDMsIDB4MDksIDB4MmUsCi0JMHgwMCwgMHgwMCwgMHhhMywgMHgwMiwgMHhjMCwgMHgwMCwgMHg3MSwgMHhjMCwKLQkweDIwLCAweDAwLCAweGViLCAweDgwLCAweDAwLCAweDA0LCAweGMyLCAweDhiLAotCTB4MjAsIDB4MDQsIDB4NjEsIDB4ODAsIDB4MDAsIDB4MDQsIDB4N2EsIDB4MDIsCi0JMHhjMCwgMHgwMCwgMHgwMCwgMHg4MiwgMHgwYywgMHhjMywgMHgwOCwgMHg0OSwKLQkweGIwLCAweDAxLCAweGYzLCAweDgwLCAweDAwLCAweDAwLCAweDEwLCAweDM5LAotCTB4MjAsIDB4MDAsIDB4MGMsIDB4ODksIDB4MGMsIDB4ODgsIDB4MDgsIDB4NDksCi0JMHgwMywgMHgwMCwgMHhhOCwgMHgxOCwgMHgwMCwgMHgwMCwgMHgxMCwgMHgzOSwKLQkweGJkLCAweGZmLCAweDYyLCAweDhiLCAweDIwLCAweDAxLCAweDAwLCAweDgwLAotCTB4MDAsIDB4MDAsIDB4NjMsIDB4Y2IsIDB4MDAsIDB4MDAsIDB4N2EsIDB4MDIsCi0JMHg0MCwgMHgwMCwgMHgwMSwgMHg1YiwgMHgyMCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweDAwLCAweDAwLCAweDRhLCAweGNiLCAweDIwLCAweDAwLCAweDEzLCAweDgwLAotCTB4MjAsIDB4MDAsIDB4N2EsIDB4ODAsIDB4ZTAsIDB4MjEsIDB4MDAsIDB4YzAsCi0JMHgwOCwgMHgwMCwgMHgwOCwgMHg0OSwgMHgxMCwgMHg0MSwgMHgwOSwgMHg4ZSwKLQkweGFlLCAweGFlLCAweDYyLCAweDhiLCAweDAwLCAweDA0LCAweDYxLCAweDIyLAotCTB4MDAsIDB4MDMsIDB4MDAsIDB4NDUsIDB4MjIsIDB4MDEsIDB4MzMsIDB4ODAsCi0JMHgyMCwgMHgwMSwgMHhhMywgMHgwMiwgMHgwMCwgMHgwMCwgMHg3YSwgMHg4MCwKLQkweGMwLCAweDAwLCAweDAwLCAweDgyLCAweDA3LCAweDIwLCAweDQwLCAweDBhLAotCTB4MDgsIDB4YTMsIDB4MDAsIDB4ODQsIDB4NDAsIDB4MjEsIDB4MDAsIDB4ODAsCi0JMHg0MCwgMHgwNSwgMHg5MywgMHgxMCwgMHhjNywgMHgyMCwgMHgwMCwgMHgzOSwKLQkweDAwLCAweDAwLCAweDQwLCAweDQ1LCAweDA3LCAweDIwLCAweDQwLCAweDBhLAotCTB4MGMsIDB4OTMsIDB4MDAsIDB4ODQsIDB4MDgsIDB4MDAsIDB4MDAsIDB4ODIsCi0JMHgwYywgMHgyNCwgMHg2MSwgMHg1MCwgMHg0MCwgMHgwMSwgMHgwMCwgMHg4MCwKLQkweGM3LCAweDIwLCAweDAwLCAweDM5LCAweDAwLCAweDAwLCAweDQwLCAweDQ1LAotCTB4MDAsIDB4MDQsIDB4NjMsIDB4ODAsIDB4MDAsIDB4MDAsIDB4MDYsIDB4MzksCi0JMHg0MiwgMHgwMSwgMHgwOSwgMHgwZSwgMHgwMiwgMHgyMCwgMHg2MSwgMHgwYSwKLQkweDAwLCAweDAxLCAweDAwLCAweDQ1LCAweDBjLCAweDIwLCAweDYwLCAweDBhLAotCTB4MDAsIDB4YzMsIDB4MDAsIDB4ODQsIDB4MDAsIDB4MDQsIDB4YjEsIDB4ODAsCi0JMHgwMCwgMHgwMCwgMHgwNiwgMHgzOSwgMHgwYywgMHg2MSwgMHgwNCwgMHhkNCwKLQkweDAwLCAweDI0LCAweDcxLCAweGMwLCAweDIwLCAweDMzLCAweDMzLCAweGMwLAotCTB4ZTAsIDB4MDEsIDB4YTMsIDB4ODIsIDB4MjIsIDB4MDMsIDB4N2EsIDB4MDIsCi0JMHhjMywgMHgwMSwgMHhhMywgMHg4MiwgMHgyMCwgMHgwMSwgMHgzMywgMHg4MCwKLQkweDAwLCAweDAwLCAweDdhLCAweDgwLCAweGMyLCAweDAxLCAweGIzLCAweDUwLAotCTB4Y2MsIDB4MjAsIDB4MDAsIDB4MzksIDB4MDAsIDB4MDAsIDB4NzEsIDB4ODAsCi0JMHgwMCwgMHgwOCwgMHgwMCwgMHg0NCwgMHgwYywgMHgyMCwgMHg2MCwgMHgwYSwKLQkweDAwLCAweGYzLCAweDAwLCAweDg0LCAweDAwLCAweDA0LCAweGIxLCAweDgwLAotCTB4MDAsIDB4MDAsIDB4MDYsIDB4MzksIDB4MGMsIDB4NjEsIDB4MDQsIDB4ZDQsCi0JMHgwMCwgMHgwMCwgMHg3MSwgMHhjMCwgMHgwMCwgMHgwMCwgMHg5MywgMHgxMCwKLQkweGNjLCAweDIwLCAweDAwLCAweDM5LCAweDAwLCAweDA4LCAweDAwLCAweDQ0LAotCTB4Y2MsIDB4MjAsIDB4MDAsIDB4MzksIDB4MDAsIDB4MjAsIDB4MDAsIDB4YzAsCi0JMHgwMCwgMHgzMCwgMHg3MSwgMHhjMCwgMHgwMCwgMHgwOCwgMHgwMCwgMHg0NCwKLQkweDIwLCAweDAxLCAweDAwLCAweDgwLCAweGFlLCAweGFlLCAweDYyLCAweDhiLAotCTB4MjAsIDB4MDEsIDB4MzMsIDB4ODAsIDB4MDAsIDB4MDAsIDB4ODMsIDB4ODAsCi0JMHgyMCwgMHgwMCwgMHg3YSwgMHg4MCwgMHgyMCwgMHhhMSwgMHg0OSwgMHg1YywKLQkweDgyLCAweDAwLCAweDA5LCAweDZlLCAweDgwLCAweDRhLCAweDA5LCAweDhlLAotCTB4ZTAsIDB4MDEsIDB4YjMsIDB4ODIsIDB4MjAsIDB4MDQsIDB4YTMsIDB4ODAsCi0JMHgwMCwgMHgwMCwgMHg3YSwgMHhjYiwgMHgyOCwgMHgwNCwgMHhlYSwgMHgxMCwKLQkweDBjLCAweDA0LCAweDdhLCAweDEwLCAweDcwLCAweDAwLCAweGMwLCAweDhiLAotCTB4MDAsIDB4MDAsIDB4MTAsIDB4MzksIDB4OTAsIDB4MDMsIDB4MDAsIDB4ODAsCi0JMHg0MCwgMHgwMCwgMHgyMSwgMHg1YiwgMHg5MCwgMHgwMCwgMHg2MSwgMHg4MCwKLQkweDBjLCAweDhhLCAweDA4LCAweDQ5LCAweDAwLCAweDAwLCAweDFjLCAweDE5LAotCTB4NDAsIDB4MDAsIDB4MDgsIDB4NWIsIDB4MDgsIDB4MDAsIDB4MDgsIDB4NDksCi0JMHgyMCwgMHgwMiwgMHgwMCwgMHg4MCwgMHgwMywgMHgwMCwgMHhhOCwgMHgxOCwKLQkweDAwLCAweDAwLCAweDE0LCAweDE5LCAweDQwLCAweDAwLCAweDIxLCAweGNiLAotCTB4MDAsIDB4MDAsIDB4NDEsIDB4MDIsIDB4MDAsIDB4MDAsIDB4ZWIsIDB4ODAsCi0JMHhmMiwgMHgwMSwgMHgwMCwgMHg4MiwgMHg0MCwgMHgyMSwgMHgzMywgMHgwMiwKLQkweDA4LCAweDIwLCAweDYxLCAweDBhLCAweGM0LCAweDAwLCAweDA0LCAweDE5LAotCTB4YzcsIDB4MDAsIDB4MDAsIDB4OTksIDB4MDIsIDB4MDAsIDB4NjEsIDB4MGEsCi0JMHgwYywgMHgwYSwgMHgwNCwgMHgxNCwgMHgwMSwgMHgwMCwgMHg2MSwgMHgwYSwKLQkweDAzLCAweDAwLCAweDQ4LCAweDBhLCAweDAwLCAweDU4LCAweDA0LCAweDU0LAotCTB4YzMsIDB4MDAsIDB4MDQsIDB4MTksIDB4MGMsIDB4NTgsIDB4MDAsIDB4NDQsCi0JMHgwOCwgMHgwMCwgMHhjOCwgMHgwYSwgMHgwYywgMHg1OCwgMHgwNCwgMHg1NCwKLQkweGM4LCAweDAwLCAweDA0LCAweDE5LCAweDBhLCAweDAwLCAweDYxLCAweDBhLAotCTB4MDksIDB4MDAsIDB4NDgsIDB4MGEsIDB4MDAsIDB4YzgsIDB4MDQsIDB4NTQsCi0JMHhjOSwgMHgwMCwgMHgwNCwgMHgxOSwgMHgwYywgMHhjOCwgMHgwMCwgMHg0NCwKLQkweDBiLCAweDAwLCAweGM4LCAweDBhLCAweDBjLCAweGM4LCAweDA0LCAweDU0LAotCTB4Y2IsIDB4MDAsIDB4MDQsIDB4MTksIDB4MDQsIDB4MDAsIDB4NjEsIDB4MGEsCi0JMHgwNiwgMHgwMCwgMHg0OCwgMHgwYSwgMHgwMCwgMHhkOCwgMHgwNCwgMHg1NCwKLQkweGM2LCAweDAwLCAweDA0LCAweDE5LCAweDBjLCAweGQ4LCAweDAwLCAweDQ0LAotCTB4MDUsIDB4MDAsIDB4YzgsIDB4MGEsIDB4MGMsIDB4ZDgsIDB4MDQsIDB4NTQsCi0JMHhjNSwgMHgwMCwgMHgwNCwgMHgxOSwgMHgwNywgMHgwMCwgMHg2MSwgMHgwYSwKLQkweDBjLCAweDAwLCAweDQ4LCAweDBhLCAweDAwLCAweDBhLCAweDA0LCAweDU0LAotCTB4Y2MsIDB4MDAsIDB4MDQsIDB4MTksIDB4MGMsIDB4MGEsIDB4MDAsIDB4NDQsCi0JMHgwZSwgMHgwMCwgMHhjOCwgMHgwYSwgMHgwYywgMHgwYSwgMHgwNCwgMHg1NCwKLQkweGNlLCAweDAwLCAweDA0LCAweDE5LCAweDAwLCAweDAwLCAweDQwLCAweDQ1LAotCTB4MjAsIDB4MTAsIDB4NzEsIDB4OGIsIDB4MDgsIDB4NDIsIDB4MDYsIDB4MDAKLX07Ci0KLQotc3RhdGljIHVuc2lnbmVkIGNoYXIgaW1hX2FkcGNtX2luaXRbXSA9IHsKLQkweDAwLCAweDEwLCAweDAwLCAweDQ0LCAweDAwLCAweDAwLCAweDQwLCAweDQ1LAotCTB4MDAsIDB4MDAsIDB4NDAsIDB4NDUsIDB4MDAsIDB4MDAsIDB4NDAsIDB4NDUsCi0JMHgwMCwgMHgwMCwgMHg0MCwgMHg0NSwgMHhhYSwgMHhhYSwgMHg3MSwgMHg4YiwKLQkweDQ0LCAweDA0LCAweDA0LCAweDE5LCAweDAwLCAweDAwLCAweDQwLCAweDQ1LAotCTB4ZmYsIDB4NmUsIDB4MjEsIDB4NDksIDB4ZmYsIDB4MGYsIDB4ZDQsIDB4NDksCi0JMHg0MCwgMHg0OSwgMHgzOSwgMHhhYywgMHg1NSwgMHg1NSwgMHg3MSwgMHg4YiwKLQkweDUwLCAweDA1LCAweGIxLCAweDgwLCAweDYyLCAweDAwLCAweDE5LCAweDBlLAotCTB4MjEsIDB4MDAsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHhiMCwgMHgwMCwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweDQwLCAweDAwLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4NjAsIDB4MDAsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHg1MCwgMHgwMCwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweDcwLCAweDAwLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4YzAsIDB4MDAsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHhlMCwgMHgwMCwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweGQwLCAweDAwLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4MDIsIDB4MDAsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHgyMiwgMHgwMCwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweDMyLCAweDAwLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4YTIsIDB4MDAsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHhiMiwgMHgwMCwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweDYyLCAweDAwLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4YzIsIDB4MDAsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHhmMiwgMHgwMCwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweDExLCAweDAwLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4YTEsIDB4MDAsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHg2MSwgMHgwMCwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweGUxLCAweDAwLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4MTMsIDB4MDAsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHhiMywgMHgwMCwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweGMzLCAweDAwLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4MTgsIDB4MDAsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHg2OCwgMHgwMCwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweDBhLCAweDAwLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4NGEsIDB4MDAsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHgyOSwgMHgwMCwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweDc5LCAweDAwLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4OWIsIDB4MDAsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHgxNCwgMHgwMCwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweGY0LCAweDAwLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4ZTYsIDB4MDAsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHhlNSwgMHgwMCwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweGQ3LCAweDAwLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4MmUsIDB4MDAsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHg5ZCwgMHgwMCwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweGVmLCAweDAwLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4YjIsIDB4MjAsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHgzMywgMHgyMCwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweDJhLCAweDIwLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4M2IsIDB4MjAsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHg0NiwgMHgyMCwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweDJjLCAweDIwLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4ZGQsIDB4MjAsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHgwMSwgMHgxMCwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweDlhLCAweDEwLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4MTYsIDB4MTAsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHg4ZSwgMHgxMCwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweGMyLCAweDMwLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4YzksIDB4MzAsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHgzYywgMHgzMCwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweDgxLCAweDgwLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4ZDQsIDB4ODAsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHgxMCwgMHhhMCwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweDM0LCAweGEwLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4MDIsIDB4OTAsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHg3NSwgMHg5MCwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweDlhLCAweGIwLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4MTIsIDB4NDAsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHgwZCwgMHg0MCwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweDNjLCAweDYwLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4ZTcsIDB4NTAsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHgwZSwgMHg3MCwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweGZmLCAweGMwLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4YzgsIDB4ZDAsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHg1NywgMHhmMCwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweGM4LCAweDIyLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4YjAsIDB4MzIsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHhkZCwgMHg4MiwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweDkwLCAweGIyLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4OGEsIDB4NjIsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHhjZSwgMHg3MiwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweGE1LCAweGQyLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4OTcsIDB4MjEsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHhhMiwgMHhhMSwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweDVjLCAweDQxLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4ZmUsIDB4YzEsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHg3YSwgMHgyMywgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweDc4LCAweDkzLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4NjcsIDB4NzMsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHgxNywgMHgyOCwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweDg4LCAweDQ4LCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4ZGIsIDB4ZjgsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHgyYiwgMHhiYSwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweGYxLCAweDA5LCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4ZGMsIDB4NjksIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHgxOSwgMHg4YiwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweGZmLCAweGZiLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4MjAsIDB4MDAsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHg1MiwgMHgwMCwgMHg3MSwgMHg4YiwgMHhjMiwgMHgwMCwgMHgwMCwgMHg4MiwKLQkweGZmLCAweGZmLCAweDcxLCAweDhiLCAweGMyLCAweDAwLCAweDAwLCAweDgyLAotCTB4YzIsIDB4MDAsIDB4MDAsIDB4ODIsIDB4YzIsIDB4MDAsIDB4MDAsIDB4ODIsCi0JMHhjMiwgMHgwMCwgMHgwMCwgMHg4MiwgMHgxMCwgMHgwMCwgMHg3MSwgMHg4YiwKLQkweGMyLCAweDAwLCAweDAwLCAweDgyLCAweDgwLCAweDAwLCAweDcxLCAweDhiLAotCTB4YzIsIDB4MDAsIDB4MDAsIDB4ODIsIDB4OTAsIDB4MDAsIDB4NzEsIDB4OGIsCi0JMHhjMiwgMHgwMCwgMHgwMCwgMHg4MiwgMHg0MCwgMHgwMCwgMHg3MSwgMHg4YiwKLQkweGMyLCAweDAwLCAweDAwLCAweDgyLCAweGZmLCAweGZmLCAweDcxLCAweDhiLAotCTB4YzIsIDB4MDAsIDB4MDAsIDB4ODIsIDB4YzIsIDB4MDAsIDB4MDAsIDB4ODIsCi0JMHhjMiwgMHgwMCwgMHgwMCwgMHg4MiwgMHhjMiwgMHgwMCwgMHgwMCwgMHg4MiwKLQkweDEwLCAweDAwLCAweDcxLCAweDhiLCAweGMyLCAweDAwLCAweDAwLCAweDgyLAotCTB4ODAsIDB4MDAsIDB4NzEsIDB4OGIsIDB4YzIsIDB4MDAsIDB4MDAsIDB4ODIsCi0JMHg5MCwgMHgwMCwgMHg3MSwgMHg4YiwgMHhjMiwgMHgwMCwgMHgwMCwgMHg4MiwKLQkweDQwLCAweDAwLCAweDcxLCAweDhiLCAweGMyLCAweDAwLCAweDAwLCAweDgyLAotCTB4ZmYsIDB4ZmIsIDB4NzEsIDB4OGIsIDB4YzIsIDB4MDAsIDB4MDAsIDB4ODIsCi0JMHgwMCwgMHgwNCwgMHg3MSwgMHg4YiwgMHhjMiwgMHgwMCwgMHgwMCwgMHg4MiwKLQkweDRhLCAweDAwLCAweDcxLCAweDhiLCAweGMyLCAweDAwLCAweDAwLCAweDgyLAotCTB4MDAsIDB4MDAsIDB4NzEsIDB4OGIsIDB4YzIsIDB4MDAsIDB4MDAsIDB4ODIsCi0JMHgwMCwgMHgwMCwgMHg3MSwgMHg4YiwgMHhjMiwgMHgwMCwgMHgwMCwgMHg4MiwKLQkweGMyLCAweDAwLCAweDAwLCAweDgyLCAweGMyLCAweDMwLCAweDA0LCAweDE5LAotCTB4MTAsIDB4MDAsIDB4MDksIDB4NGYsIDB4YzIsIDB4MDEsIDB4MDAsIDB4ODIsCi0JMHhjMiwgMHgwMSwgMHgwMCwgMHg4MiwgMHhjMiwgMHgwMSwgMHgwMCwgMHg4MiwKLQkweGMyLCAweDAxLCAweDAwLCAweDgyLCAweGMyLCAweDAxLCAweDAwLCAweDgyLAotCTB4YzIsIDB4MDEsIDB4MDAsIDB4ODIsIDB4YzIsIDB4MDEsIDB4MDAsIDB4ODIsCi0JMHhjMiwgMHgwMSwgMHgwMCwgMHg4MiwgMHhjMiwgMHgwMSwgMHgwMCwgMHg4MiwKLQkweGMyLCAweDAxLCAweDAwLCAweDgyLCAweGMyLCAweDAxLCAweDAwLCAweDgyLAotCTB4YzIsIDB4MDEsIDB4MDAsIDB4ODIsIDB4YzIsIDB4MDEsIDB4MDAsIDB4ODIsCi0JMHgwMCwgMHgxMCwgMHg3MSwgMHg4YiwgMHhjMSwgMHgzMCwgMHgwNCwgMHgxOSwKLQkweDkzLCAweDAwLCAweDAxLCAweDRmLCAweGNkLCAweDMwLCAweDAwLCAweDA5LAotCTB4Y2YsIDB4MzAsIDB4MDAsIDB4MDksIDB4MDAsIDB4MDAsIDB4MzQsIDB4NDksCi0JMHgwMCwgMHgwOCwgMHgwMCwgMHg0NCwgMHhjOCwgMHg1NCwgMHgxMSwgMHgwMAotfTsKLQotc3RhdGljIHVuc2lnbmVkIGNoYXIgaW1hX2FkcGNtX3BsYXliYWNrW10gPSB7Ci0JMHgwMCwgMHgxMCwgMHgwMCwgMHg0NCwgMHgwOCwgMHgwMCwgMHgwMCwgMHg0NCwKLQkweDBjLCAweDUwLCAweDAwLCAweDQ0LCAweDAwLCAweDcwLCAweDAwLCAweDQ0LAotCTB4MDQsIDB4NzAsIDB4MDAsIDB4NDQsIDB4MGQsIDB4ZjIsIDB4NjEsIDB4YTgsCi0JMHg0NCwgMHgwNCwgMHgwNCwgMHgxOSwgMHgwMCwgMHgwMCwgMHg0MCwgMHg0NSwKLQkweDAwLCAweDA0LCAweDYzLCAweDgwLCAweDAwLCAweDAwLCAweDA2LCAweDM5LAotCTB4ZmYsIDB4MmUsIDB4MjEsIDB4NDksIDB4ZmYsIDB4MGQsIDB4ZDQsIDB4NDksCi0JMHg0MCwgMHg0OSwgMHgzOSwgMHhhYywgMHg1NSwgMHg1NSwgMHg3MSwgMHg4YiwKLQkweDUwLCAweDAxLCAweGIxLCAweDgwLCAweDAwLCAweDAxLCAweGIxLCAweDgwLAotCTB4YzksIDB4MjAsIDB4MDQsIDB4MTksIDB4NTEsIDB4MDAsIDB4NzEsIDB4OGIsCi0JMHhjZCwgMHgwMCwgMHgwNCwgMHgxOSwgMHhlNCwgMHgyMCwgMHg3MSwgMHg4YiwKLQkweGNmLCAweDAwLCAweDA0LCAweDE5LCAweDgwLCAweDAwLCAweDcxLCAweDhiLAotCTB4Y2IsIDB4MjAsIDB4MDQsIDB4MTksIDB4MTAsIDB4MDAsIDB4NzEsIDB4OGIsCi0JMHhjNCwgMHgyMCwgMHgwNCwgMHgxOSwgMHg2NSwgMHgwMCwgMHg1MSwgMHg4YiwKLQkweGMyLCAweDIwLCAweDAwLCAweDM5LCAweDAwLCAweDAwLCAweGIxLCAweDgwLAotCTB4YzIsIDB4MzAsIDB4MDQsIDB4MTksIDB4MDAsIDB4MDAsIDB4NjMsIDB4ODAsCi0JMHhjMSwgMHhhMCwgMHgwNCwgMHgxOSwgMHg5MywgMHgwMCwgMHgwMSwgMHg0ZiwKLQkweGNkLCAweDMwLCAweDAwLCAweDA5LCAweGNmLCAweDMwLCAweDAwLCAweDA5LAotCTB4MDQsIDB4NDAsIDB4MDAsIDB4MTQsIDB4MGMsIDB4NDAsIDB4MDAsIDB4MTQsCi0JMHgwMCwgMHgwNCwgMHg2MSwgMHhhOCwgMHgwMiwgMHgwNCwgMHg2MSwgMHhhOCwKLQkweDA0LCAweDYwLCAweDA0LCAweDI0LCAweDAwLCAweDAwLCAweDM0LCAweDQ5LAotCTB4MDAsIDB4NTAsIDB4MDAsIDB4NDQsIDB4NDQsIDB4MDQsIDB4MDQsIDB4MzksCi0JMHgwMCwgMHgwMCwgMHg0MCwgMHg0NSwgMHgwMCwgMHgwMCwgMHg0MCwgMHg0NSwKLQkweDBmLCAweDAwLCAweDYxLCAweDBhLCAweDAwLCAweDAxLCAweDAwLCAweDQ1LAotCTB4NDAsIDB4NDAsIDB4MDksIDB4ZWYsIDB4ZmYsIDB4MjAsIDB4MDksIDB4Y2YsCi0JMHgwMCwgMHgwNCwgMHg2MywgMHhhMSwgMHg1MCwgMHgwMywgMHgzMywgMHg4MCwKLQkweDAwLCAweDA0LCAweGEzLCAweDgwLCAweDAwLCAweGZmLCAweGMyLCAweDhiLAotCTB4MDgsIDB4ZjAsIDB4MDQsIDB4NTQsIDB4MGMsIDB4ZDAsIDB4MDAsIDB4YzQsCi0JMHgyMCwgMHgwMywgMHg4MCwgMHhjMCwgMHgzMCwgMHgwMCwgMHgwMCwgMHg4OCwKLQkweDAwLCAweDAwLCAweDdhLCAweDBhLCAweGQwLCAweDAxLCAweDAwLCAweDgyLAotCTB4MDgsIDB4NTAsIDB4MDAsIDB4NDQsIDB4YzAsIDB4MDAsIDB4MDAsIDB4OTksCi0JMHgwOCwgMHg1MCwgMHgwMCwgMHg0NCwgMHgwMCwgMHhmZiwgMHhjMiwgMHg4YiwKLQkweDIwLCAweDAwLCAweDAwLCAweDgwLCAweDAwLCAweDBkLCAweDQyLCAweDhiLAotCTB4MDAsIDB4YTIsIDB4MDAsIDB4YzQsIDB4MDAsIDB4MGUsIDB4NDIsIDB4OGIsCi0JMHgwYywgMHg5MiwgMHgwMCwgMHhjNCwgMHgwMCwgMHgxZSwgMHg0MiwgMHg4YiwKLQkweDA0LCAweDYyLCAweDAwLCAweGM0LCAweDAwLCAweDhlLCAweDQyLCAweDhiLAotCTB4MGMsIDB4NTIsIDB4MDAsIDB4YzQsIDB4MDAsIDB4OWUsIDB4NDIsIDB4OGIsCi0JMHgwMCwgMHhjMiwgMHgwMCwgMHhjNCwgMHgwMCwgMHhiZSwgMHg0MiwgMHg4YiwKLQkweDAwLCAweGMyLCAweDAwLCAweGM0LCAweDAwLCAweDA0LCAweDQyLCAweDhiLAotCTB4MDAsIDB4ZjIsIDB4MDAsIDB4YzQsIDB4MDAsIDB4MjQsIDB4NDIsIDB4OGIsCi0JMHgwMCwgMHg5MSwgMHgwMCwgMHhjNCwgMHgwMCwgMHg1NSwgMHg0MiwgMHg4YiwKLQkweDA4LCAweDUwLCAweDAwLCAweGM0LCAweDAwLCAweDNmLCAweDQyLCAweDhiLAotCTB4MDgsIDB4ZTIsIDB4MDAsIDB4YzQsIDB4MDAsIDB4MDAsIDB4NDAsIDB4NDUsCi0JMHgyMCwgMHgwMSwgMHg3OSwgMHg4MCwgMHgwMCwgMHgzMCwgMHg0MiwgMHg4YiwKLQkweDAwLCAweDkyLCAweDAwLCAweGM0LCAweDAwLCAweDAwLCAweDQwLCAweDQ1LAotCTB4MDAsIDB4MDAsIDB4NzEsIDB4OGIsIDB4NDAsIDB4MDEsIDB4MDAsIDB4ODAsCi0JMHgwOCwgMHg1MCwgMHgwMCwgMHg0NCwgMHhmZiwgMHgwMCwgMHhlMiwgMHhhYiwKLQkweDBjLCAweDQyLCAweDAwLCAweGM0LCAweDBmLCAweGYyLCAweGE4LCAweGE4LAotCTB4MjAsIDB4MDAsIDB4YjEsIDB4ODgsIDB4MDAsIDB4MDAsIDB4NDEsIDB4MDIsCi0JMHg0ZCwgMHhmMiwgMHgwMCwgMHgzOSwgMHhjMCwgMHgwMSwgMHgwMCwgMHg4MiwKLQkweDA4LCAweDUwLCAweDAwLCAweDQ0LCAweDBkLCAweGYyLCAweGEzLCAweGE4LAotCTB4NGQsIDB4ZjIsIDB4MDAsIDB4MzksIDB4MDgsIDB4NTAsIDB4MDAsIDB4NDQsCi0JMHhmZiwgMHgwMCwgMHhlMiwgMHhhYiwgMHgyMCwgMHgwMCwgMHgwMCwgMHg4OCwKLQkweDAwLCAweDAwLCAweDYxLCAweDAyLCAweDRkLCAweGYyLCAweDA0LCAweDE5LAotCTB4MDgsIDB4NTAsIDB4MDAsIDB4NDQsIDB4ZmYsIDB4MDAsIDB4ZTIsIDB4YWIsCi0JMHhhMCwgMHgwMCwgMHgwMCwgMHg4OCwgMHgwMCwgMHgwMCwgMHg2MSwgMHgxMCwKLQkweDRkLCAweGYyLCAweDA0LCAweDE5LCAweDA4LCAweDUwLCAweDAwLCAweDQ0LAotCTB4ZmYsIDB4MjAsIDB4ZTIsIDB4YWIsIDB4NjAsIDB4MDAsIDB4MDAsIDB4ODgsCi0JMHgwMCwgMHgwMCwgMHg3MSwgMHhjMCwgMHg0ZCwgMHhmMiwgMHgwNCwgMHgxOSwKLQkweDA4LCAweDUwLCAweDAwLCAweDQ0LCAweDAwLCAweDAwLCAweDdhLCAweDBhLAotCTB4MjAsIDB4MDEsIDB4ZjAsIDB4ODAsIDB4MDEsIDB4YTAsIDB4NDEsIDB4MGEsCi0JMHgwNCwgMHhkMiwgMHgwMCwgMHhjNCwgMHgyMCwgMHgwMSwgMHhmMCwgMHg4MCwKLQkweGMxLCAweDMwLCAweDA0LCAweDE5LCAweDA4LCAweDUwLCAweDAwLCAweDQ0LAotCTB4MDAsIDB4MDAsIDB4NzksIDB4ODAsIDB4MDAsIDB4YTEsIDB4MDAsIDB4ODQsCi0JMHhiNSwgMHgwMCwgMHg1MSwgMHg4YiwgMHhjZiwgMHgwMCwgMHgwMCwgMHgzOSwKLQkweDAwLCAweDAxLCAweGIxLCAweDgwLCAweDg4LCAweDAwLCAweDA0LCAweDE5LAotCTB4OGEsIDB4MDAsIDB4MDQsIDB4MTksIDB4YzgsIDB4MjAsIDB4MDQsIDB4MTksCi0JMHhjYSwgMHgyMCwgMHgwNCwgMHgxOSwgMHhjMiwgMHgzMCwgMHgwNCwgMHgxOSwKLQkweGNkLCAweDEwLCAweDA0LCAweDE5LCAweGNmLCAweDEwLCAweDA0LCAweDE5LAotCTB4YjAsIDB4MDAsIDB4NzEsIDB4OGIsIDB4OGMsIDB4MDAsIDB4MDQsIDB4MTksCi0JMHg4ZSwgMHgwMCwgMHgwNCwgMHgxOSwgMHgxMCwgMHgwMCwgMHg3MSwgMHg4YiwKLQkweGM0LCAweDIwLCAweDA0LCAweDE5LCAweDkzLCAweDAwLCAweDAxLCAweDRmLAotCTB4Y2QsIDB4MzAsIDB4MDAsIDB4MDksIDB4Y2YsIDB4MzAsIDB4MDAsIDB4MDksCi0JMHgwMywgMHgwMywgMHgwNCwgMHg0OSwgMHgwNCwgMHg4MSwgMHgwMCwgMHg1NCwKLQkweDA4LCAweDUwLCAweDA0LCAweDY0LCAweDA4LCAweDUwLCAweDAwLCAweDQ0LAotCTB4MDAsIDB4MDAsIDB4NjMsIDB4ODAsIDB4MDAsIDB4MDAsIDB4MDYsIDB4MTksCi0JMHgwMywgMHgwMCwgMHgwNCwgMHg0OSwgMHgwOCwgMHg1MCwgMHgwMCwgMHg0NCwKLQkweDIwLCAweDAxLCAweDYzLCAweDgwLCAweDAwLCAweDAwLCAweDA2LCAweDE5LAotCTB4MDAsIDB4MDIsIDB4ZTIsIDB4OGIsIDB4MDgsIDB4NDEsIDB4MDAsIDB4ODQsCi0JMHg2NSwgMHgwMCwgMHg1MSwgMHg4YiwgMHhjMiwgMHgyMCwgMHgwMCwgMHgzOSwKLQkweDAwLCAweDAwLCAweDYzLCAweDgwLCAweGMxLCAweGEwLCAweDA0LCAweDE5LAotCTB4MDgsIDB4NjEsIDB4MDAsIDB4NDQsIDB4MmQsIDB4MDAsIDB4NTEsIDB4OGIsCi0JMHhjMiwgMHgyMCwgMHgwMCwgMHgzOSwgMHgwMCwgMHgwMCwgMHhiMSwgMHg4MCwKLQkweGMxLCAweGEwLCAweDA0LCAweDE5LCAweDAzLCAweDAwLCAweDA0LCAweDQ5LAotCTB4MDgsIDB4NTAsIDB4MDAsIDB4NDQsIDB4MDIsIDB4MjAsIDB4NjEsIDB4MGEsCi0JMHgwMCwgMHgwMSwgMHgwMCwgMHg0NSwgMHgwMiwgMHgzMCwgMHg2MSwgMHgwYSwKLQkweDA0LCAweDAzLCAweDAwLCAweGM0LCAweDA1LCAweGIwLCAweGM4LCAweDE4LAotCTB4MDQsIDB4NzEsIDB4MDAsIDB4YzQsIDB4MDAsIDB4MTMsIDB4MDAsIDB4NDQsCi0JMHgwMCwgMHg3OSwgMHgwOCwgMHg0NCwgMHgwMCwgMHgwNCwgMHg3OSwgMHg4MCwKLQkweDAwLCAweDQ5LCAweDAwLCAweGM0LCAweGNhLCAweDIwLCAweDA0LCAweDE5LAotCTB4NGEsIDB4MDQsIDB4MDQsIDB4MTksIDB4ZmYsIDB4MDAsIDB4ZTIsIDB4OGIsCi0JMHgwYywgMHhmOSwgMHgwOCwgMHg0NCwgMHhjZiwgMHgxMCwgMHgwNCwgMHgxOSwKLQkweDBjLCAweDJiLCAweDA4LCAweDQ0LCAweDhlLCAweDAwLCAweDA0LCAweDE5LAotCTB4MDMsIDB4MzAsIDB4NjEsIDB4MGEsIDB4YzgsIDB4MjAsIDB4MDAsIDB4MzksCi0JMHg0OCwgMHgwNCwgMHgwMCwgMHgzOSwgMHgwYSwgMHgzMCwgMHg2MSwgMHgwYSwKLQkweDBjLCAweGY5LCAweDA4LCAweDQ0LCAweGNkLCAweDEwLCAweDA0LCAweDE5LAotCTB4MGMsIDB4MmIsIDB4MDgsIDB4NDQsIDB4OGMsIDB4MDAsIDB4MDQsIDB4MTksCi0JMHgwYywgMHhkOSwgMHgwOCwgMHg0NCwgMHgwYywgMHg1YSwgMHgwMCwgMHg0NCwKLQkweDAwLCAweDc5LCAweDA4LCAweDQ0LCAweDAwLCAweDA0LCAweDc5LCAweDgwLAotCTB4MDAsIDB4NDksIDB4MDAsIDB4YzQsIDB4YzMsIDB4MzAsIDB4MDQsIDB4MTksCi0JMHhjYSwgMHgzMCwgMHgwMCwgMHg5OSwgMHgwYywgMHhkOSwgMHgwOCwgMHg0NCwKLQkweDQyLCAweDBhLCAweDA5LCAweDBlLCAweDAwLCAweDAxLCAweDMzLCAweDExLAotCTB4OGMsIDB4MDEsIDB4YTMsIDB4ODAsIDB4MDAsIDB4MDEsIDB4N2EsIDB4MTAsCi0JMHg4MCwgMHgwNSwgMHhiMSwgMHg4MCwgMHgwNSwgMHhiMCwgMHhlMCwgMHgxOCwKLQkweDAwLCAweDkzLCAweDAwLCAweDg0LCAweDAwLCAweDc5LCAweDA4LCAweDQ0LAotCTB4MDAsIDB4MDQsIDB4NzksIDB4ODAsIDB4MDAsIDB4NDksIDB4MDAsIDB4YzQsCi0JMHgwYywgMHgxYiwgMHgwOCwgMHg0NCwgMHg4OCwgMHgwMCwgMHgwNCwgMHgxOSwKLQkweDhhLCAweDAwLCAweDAwLCAweDk5LCAweDBjLCAweGQ5LCAweDA4LCAweDQ0LAotCTB4NDIsIDB4MGEsIDB4MDksIDB4MGUsIDB4ODAsIDB4MDAsIDB4NzEsIDB4OGIsCi0JMHhjMCwgMHgwNCwgMHhiMSwgMHg4MiwgMHgxMCwgMHgwMCwgMHhlMCwgMHgwYiwKLQkweDAwLCAweDQzLCAweDAwLCAweDg0LCAweDAyLCAweDMwLCAweDYxLCAweDBhLAotCTB4MDEsIDB4MzAsIDB4YzgsIDB4MGEsIDB4MDAsIDB4NDMsIDB4MDAsIDB4ODQsCi0JMHgwMCwgMHgwMCwgMHhiMSwgMHg4MCwgMHhjMiwgMHgzMCwgMHgwNCwgMHgxOSwKLQkweDBjLCAweGE4LCAweDAwLCAweDQ0LCAweDAyLCAweDMwLCAweDYxLCAweDBhLAotCTB4MDAsIDB4ZDMsIDB4MDAsIDB4YzQsIDB4MDUsIDB4YjAsIDB4YzgsIDB4MTgsCi0JMHgwNCwgMHg2MywgMHgwMCwgMHhjNCwgMHgwOCwgMHhmMywgMHgwMCwgMHg0NCwKLQkweDAwLCAweDc5LCAweDA4LCAweDQ0LCAweDAwLCAweDA0LCAweDc5LCAweDgwLAotCTB4MDAsIDB4NDksIDB4MDAsIDB4YzQsIDB4MjAsIDB4MDAsIDB4MDQsIDB4MTksCi0JMHhmZiwgMHgwMCwgMHhlMiwgMHg4YiwgMHgwYywgMHhmOSwgMHgwOCwgMHg0NCwKLQkweGNkLCAweDEwLCAweDA0LCAweDE5LCAweGNmLCAweDEwLCAweDA0LCAweDE5LAotCTB4MGMsIDB4MmIsIDB4MDgsIDB4NDQsIDB4OGMsIDB4MDAsIDB4MDQsIDB4MTksCi0JMHg4ZSwgMHgwMCwgMHgwNCwgMHgxOSwgMHgwMywgMHgzMCwgMHg2MSwgMHgwYSwKLQkweGM4LCAweDIwLCAweDAwLCAweDM5LCAweGNhLCAweDIwLCAweDAwLCAweDM5LAotCTB4NDgsIDB4MDQsIDB4MDAsIDB4MzksIDB4NGEsIDB4MDQsIDB4MDAsIDB4MzksCi0JMHgwYywgMHhkOSwgMHgwOCwgMHg0NCwgMHgwYywgMHg1YSwgMHgwMCwgMHg0NCwKLQkweDAwLCAweDc5LCAweDA4LCAweDQ0LCAweDAwLCAweDA0LCAweDc5LCAweDgwLAotCTB4MDAsIDB4NDksIDB4MDAsIDB4YzQsIDB4YzMsIDB4MzAsIDB4MDQsIDB4MTksCi0JMHgwYywgMHhkOSwgMHgwOCwgMHg0NCwgMHg0MiwgMHgwYSwgMHgwOSwgMHgwZSwKLQkweDA1LCAweGIwLCAweGUwLCAweDE4LCAweDAwLCAweDE4LCAweDAwLCAweDg0LAotCTB4MDAsIDB4NzksIDB4MDgsIDB4NDQsIDB4MDAsIDB4MDQsIDB4NzksIDB4ODAsCi0JMHgwMCwgMHg0OSwgMHgwMCwgMHhjNCwgMHgwYywgMHgxYiwgMHgwOCwgMHg0NCwKLQkweDgwLCAweDAxLCAweDAwLCAweDgwLCAweDBjLCAweGQ5LCAweDA4LCAweDQ0LAotCTB4NDIsIDB4MGEsIDB4MDksIDB4MGUsIDB4ODAsIDB4MDAsIDB4NzEsIDB4OGIsCi0JMHhjMCwgMHgwNCwgMHhiMSwgMHg4MiwgMHgxMCwgMHgwMCwgMHhlMCwgMHgwYiwKLQkweDAwLCAweDg4LCAweDAwLCAweDg0LCAweDAyLCAweDMwLCAweDYxLCAweDBhLAotCTB4MDEsIDB4MzAsIDB4YzgsIDB4MGEsIDB4MDAsIDB4ODgsIDB4MDAsIDB4ODQsCi0JMHgwMCwgMHgwMCwgMHhiMSwgMHg4MCwgMHhjMiwgMHgzMCwgMHgwNCwgMHgxOSwKLQkweDAwLCAweDAxLCAweDAwLCAweDExLCAweDAwLCAweDBmLCAweGUyLCAweDhiLAotCTB4MDAsIDB4MDAsIDB4NDEsIDB4Y2IsIDB4OGMsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHgwMCwgMHgwMCwgMHg0OCwgMHhjYiwgMHgyMCwgMHgwMCwgMHg3YSwgMHg4MCwKLQkweDgwLCAweDAxLCAweDAwLCAweDgwLCAweDgyLCAweDBjLCAweDA5LCAweDZlLAotCTB4MDMsIDB4MDgsIDB4MDksIDB4MGUsIDB4ODAsIDB4NDAsIDB4MDksIDB4Y2YsCi0JMHgwMCwgMHgwMSwgMHg3MSwgMHhjMiwgMHgwMCwgMHgwOCwgMHhjMiwgMHgxYiwKLQkweDA0LCAweGI4LCAweDAwLCAweGM0LCAweDIwLCAweDA1LCAweGE4LCAweDgwLAotCTB4MjAsIDB4MDEsIDB4ZjAsIDB4ODAsIDB4MDAsIDB4MDEsIDB4YzIsIDB4MWIsCi0JMHgwNCwgMHg0OCwgMHgwMCwgMHhjNCwgMHgyMCwgMHgwNSwgMHhhOCwgMHg4MCwKLQkweDIwLCAweDAxLCAweGYwLCAweDgwLCAweDAwLCAweDAyLCAweGMyLCAweDFiLAotCTB4MDQsIDB4NjgsIDB4MDAsIDB4YzQsIDB4MjAsIDB4MDUsIDB4YTgsIDB4ODAsCi0JMHgyMCwgMHgwMSwgMHhmMCwgMHg4MCwgMHgyMCwgMHgwMywgMHhhOCwgMHg4MCwKLQkweDAwLCAweDAxLCAweDAwLCAweDExLCAweDAwLCAweDA0LCAweGMyLCAweDhiLAotCTB4MDgsIDB4NzgsIDB4MDAsIDB4YzQsIDB4MDAsIDB4MDAsIDB4ZTksIDB4ODAsCi0JMHgwNSwgMHhiMCwgMHhhOCwgMHgxOCwgMHgwMCwgMHgwMCwgMHg0YSwgMHhjYiwKLQkweDIwLCAweDAwLCAweGE4LCAweDIyLCAweGQwLCAweDAxLCAweDAwLCAweDgyLAotCTB4NDAsIDB4MDEsIDB4MDAsIDB4ODAsIDB4YzQsIDB4MDAsIDB4MDQsIDB4MTksCi0JMHhiMCwgMHgwMCwgMHhlMiwgMHg4YiwgMHgwNiwgMHgyMCwgMHhhOCwgMHgwYSwKLQkweDJkLCAweDEwLCAweDYxLCAweDBhLCAweGQxLCAweDA4LCAweDA5LCAweDJlLAotCTB4MDAsIDB4MDEsIDB4YTgsIDB4MDIsIDB4MGMsIDB4ZjksIDB4MDgsIDB4NDQsCi0JMHhjZCwgMHgxMCwgMHgwNCwgMHgxOSwgMHgwYywgMHgyYiwgMHgwOCwgMHg0NCwKLQkweDAzLCAweDA4LCAweDA5LCAweDBlLCAweDlhLCAweDI1LCAweGIxLCAweDYwLAotCTB4YTIsIDB4MGUsIDB4MDksIDB4NmUsIDB4MDMsIDB4MDAsIDB4MDksIDB4MGYsCi0JMHgwMCwgMHgwMSwgMHg3MSwgMHg4MiwgMHgyMCwgMHgwMSwgMHgwMCwgMHg4MCwKLQkweDAwLCAweDAwLCAweDYxLCAweGNiLCAweDgwLCAweDAxLCAweDAwLCAweDgwLAotCTB4MDMsIDB4MDAsIDB4MDksIDB4MGYsIDB4MDAsIDB4MDEsIDB4NzEsIDB4YzIsCi0JMHgwMCwgMHgwOCwgMHhjMiwgMHgxYiwgMHgwYywgMHgyYSwgMHgwMCwgMHhjNCwKLQkweDIwLCAweDA1LCAweGE4LCAweDgwLCAweDIwLCAweDAxLCAweGYwLCAweDgwLAotCTB4MDAsIDB4MDEsIDB4YzIsIDB4MWIsIDB4MGMsIDB4MWEsIDB4MDAsIDB4YzQsCi0JMHgyMCwgMHgwNSwgMHhhOCwgMHg4MCwgMHgyMCwgMHgwMSwgMHhmMCwgMHg4MCwKLQkweDAwLCAweDAyLCAweGMyLCAweDFiLCAweDBjLCAweDNhLCAweDAwLCAweGM0LAotCTB4MjAsIDB4MDUsIDB4YTgsIDB4ODAsIDB4MjAsIDB4MDEsIDB4ZjAsIDB4ODAsCi0JMHgyMCwgMHgwMywgMHhhOCwgMHg4MCwgMHgwMCwgMHgwMSwgMHgwMCwgMHgxMSwKLQkweDAwLCAweDA0LCAweGMyLCAweDhiLCAweDA0LCAweGFhLCAweDAwLCAweGM0LAotCTB4MDAsIDB4MDAsIDB4ZTksIDB4ODAsIDB4MDUsIDB4YjAsIDB4YTgsIDB4MTgsCi0JMHgwMCwgMHgwMCwgMHg0YSwgMHhjYiwgMHgyMCwgMHgwMCwgMHhhOCwgMHgyMiwKLQkweGQwLCAweDAxLCAweDAwLCAweDgyLCAweDQwLCAweDAxLCAweDAwLCAweDgwLAotCTB4YzcsIDB4MDAsIDB4MDQsIDB4MTksIDB4YjAsIDB4MDAsIDB4ZTIsIDB4OGIsCi0JMHgwNiwgMHgyMCwgMHhhOCwgMHgwYSwgMHgyZiwgMHgxMCwgMHg2MSwgMHgwYSwKLQkweGYxLCAweDA4LCAweDA5LCAweDJlLCAweDAwLCAweDAxLCAweGE4LCAweDAyLAotCTB4MGMsIDB4ZjksIDB4MDgsIDB4NDQsIDB4Y2YsIDB4MTAsIDB4MDQsIDB4MTksCi0JMHgwYywgMHgyYiwgMHgwOCwgMHg0NCwgMHg5ZiwgMHgzNSwgMHhiMSwgMHg2MCwKLQkweDAzLCAweDA4LCAweDA5LCAweDBlLCAweDAwLCAweDAxLCAweDcxLCAweDgyLAotCTB4MjAsIDB4MDEsIDB4MDAsIDB4ODAsIDB4MDAsIDB4MDAsIDB4NjEsIDB4Y2IsCi0JMHg4MCwgMHgwMSwgMHgwMCwgMHg4MCwgMHhlNCwgMHgyMCwgMHg3MSwgMHg4YiwKLQkweDAwLCAweDAxLCAweDAwLCAweDQ1LCAweDkwLCAweDQwLCAweDA5LCAweDhmLAotCTB4MDAsIDB4MDUsIDB4NjMsIDB4ODAsIDB4MDAsIDB4MDAsIDB4MDYsIDB4MzksCi0JMHgwOCwgMHgxOSwgMHgwNCwgMHhkNCwgMHg5MywgMHgwMCwgMHgwMSwgMHg0ZiwKLQkweGU3LCAweDAwLCAweDAxLCAweDZmLCAweDBkLCAweDMwLCAweDYxLCAweDBhLAotCTB4MjAsIDB4MDQsIDB4NjEsIDB4YTgsIDB4YzIsIDB4MDAsIDB4MDAsIDB4ODIsCi0JMHgwMiwgMHgwNCwgMHg2MSwgMHhhOCwgMHhjMiwgMHgwMCwgMHgwMCwgMHg4MiwKLQkweGNkLCAweDMwLCAweDAwLCAweDA5LCAweDAyLCAweDAwLCAweDAwLCAweDAyLAotCTB4MDIsIDB4MDAsIDB4MDAsIDB4MDIsIDB4YzAsIDB4ODAsIDB4MDAsIDB4MDksCi0JMHgyMCwgMHgwMCwgMHgwOSwgMHg0OSwgMHgwZiwgMHgzMCwgMHg2MSwgMHgwYSwKLQkweDBkLCAweDMwLCAweGM4LCAweDBhLCAweDAwLCAweDI5LCAweDAwLCAweGM0LAotCTB4MDAsIDB4ODAsIDB4YzgsIDB4MGEsIDB4MDAsIDB4MjksIDB4MDAsIDB4YzQsCi0JMHgwMCwgMHgwNCwgMHhiMSwgMHg4MCwgMHgwMCwgMHgwMCwgMHgwNiwgMHgzOSwKLQkweGM5LCAweDIwLCAweDA0LCAweDM5LCAweDAwLCAweDM5LCAweDAwLCAweDQ0LAotCTB4MDAsIDB4MDQsIDB4NjMsIDB4ODAsIDB4MDAsIDB4MDAsIDB4MDYsIDB4MzksCi0JMHgwMCwgMHgwNCwgMHhiMSwgMHg4MCwgMHhjOSwgMHgyMCwgMHgwNCwgMHgzOSwKLQkweDAwLCAweDM5LCAweDAwLCAweDQ0LCAweDA5LCAweDIwLCAweDIzLCAweDBhLAotCTB4MDAsIDB4MDAsIDB4MDYsIDB4MTksIDB4YzksIDB4MjAsIDB4MDQsIDB4MTksCi0JMHgwMCwgMHgwMCwgMHg0MCwgMHg0NSwgMHgwMiwgMHgwMCwgMHg2MSwgMHgwYSwKLQkweDBjLCAweGI5LCAweDA0LCAweDE0LCAweDA0LCAweDAwLCAweDYxLCAweDBhLAotCTB4MDYsIDB4MDAsIDB4NDgsIDB4MGEsIDB4MDAsIDB4YTksIDB4MDQsIDB4NTQsCi0JMHhjNiwgMHgwMCwgMHgwNCwgMHgxOSwgMHgwYywgMHhhOSwgMHgwMCwgMHg0NCwKLQkweDA1LCAweDAwLCAweGM4LCAweDBhLCAweDBjLCAweGE5LCAweDA0LCAweDU0LAotCTB4YzUsIDB4MDAsIDB4MDQsIDB4MTksIDB4MDcsIDB4MDAsIDB4NjEsIDB4MGEsCi0JMHgwYywgMHgwMCwgMHg0OCwgMHgwYSwgMHgwMCwgMHhiOSwgMHgwNCwgMHg1NCwKLQkweGNjLCAweDAwLCAweDA0LCAweDE5LCAweDBjLCAweGI5LCAweDAwLCAweDQ0LAotCTB4MGUsIDB4MDAsIDB4YzgsIDB4MGEsIDB4MGMsIDB4YjksIDB4MDQsIDB4NTQsCi0JMHhjZSwgMHgwMCwgMHgwNCwgMHgxOSwgMHgwYywgMHg1YSwgMHgwMCwgMHg0NCwKLQkweDgyLCAweDBkLCAweDA5LCAweDJlLCAweDgwLCAweDQwLCAweDA5LCAweGNmLAotCTB4MDAsIDB4ZGYsIDB4NzEsIDB4OGIsIDB4ODAsIDB4MDEsIDB4MDAsIDB4ODAsCi0JMHgwMiwgMHhjMSwgMHgwMCwgMHgyMiwgMHgwMywgMHhjMSwgMHgwMCwgMHgyMiwKLQkweDAwLCAweDAxLCAweDY1LCAweDgwLCAweGQyLCAweDA1LCAweDY1LCAweDgyLAotCTB4NDAsIDB4MjEsIDB4MDAsIDB4ODAsIDB4ZDMsIDB4MDMsIDB4MDAsIDB4ODIsCi0JMHg0MCwgMHgzMywgMHgwMCwgMHg4MCwgMHgwYywgMHg1YSwgMHgwMCwgMHg0NCwKLQkweDBmLCAweDMwLCAweDYxLCAweDBhLCAweDBkLCAweDMwLCAweGM4LCAweDBhLAotCTB4MDgsIDB4ZDksIDB4MDAsIDB4YzQsIDB4OTMsIDB4MDAsIDB4MDEsIDB4NGYsCi0JMHhlNywgMHgwMCwgMHgwMSwgMHg2ZiwgMHgwZiwgMHgzMCwgMHg2MSwgMHgwYSwKLQkweDIwLCAweDAwLCAweDAwLCAweDg4LCAweDAyLCAweDAwLCAweDYxLCAweDAyLAotCTB4MDIsIDB4MDAsIDB4MDAsIDB4MDMsIDB4Y2YsIDB4MzAsIDB4MDAsIDB4MDksCi0JMHgyMCwgMHgwMCwgMHgwOSwgMHg0OSwgMHgwMCwgMHgwNCwgMHg2MywgMHg4MCwKLQkweDA0LCAweGQ5LCAweDAwLCAweDQ0LCAweDAwLCAweDA0LCAweGIxLCAweDgwLAotCTB4MDAsIDB4MDAsIDB4MDAsIDB4NDYsIDB4MDIsIDB4MzAsIDB4NjEsIDB4MGEsCi0JMHgwNSwgMHhiMCwgMHhhOCwgMHgxOCwgMHhjMiwgMHgzMCwgMHgwNCwgMHgxOSwKLQkweDAwLCAweDAwLCAweDAwLCAweDQ2LCAweDBlLCAweDEwLCAweGM4LCAweDBhLAotCTB4MGMsIDB4MGIsIDB4MDQsIDB4MTQsIDB4MGUsIDB4MTAsIDB4NjEsIDB4MGEsCi0JMHgwNCwgMHgyYiwgMHgwMCwgMHg0NCwgMHgwYywgMHgxMCwgMHhjOCwgMHgwYSwKLQkweDA0LCAweDJiLCAweDA0LCAweDU0LCAweDBjLCAweDEwLCAweDYxLCAweDBhLAotCTB4MDAsIDB4MDAsIDB4MDAsIDB4NDYsIDB4MDAsIDB4MTAsIDB4YTgsIDB4MTgsCi0JMHhhMCwgMHgwMCwgMHgwMCwgMHg4OCwgMHgwMCwgMHgwMSwgMHg3MSwgMHg4MiwKLQkweDAwLCAweDAwLCAweDAwLCAweDQ2LCAweDAwLCAweDA0LCAweDMzLCAweDgwLAotCTB4MDAsIDB4MDAsIDB4ODMsIDB4ODAsIDB4MjAsIDB4MDQsIDB4N2EsIDB4ODAsCi0JMHgyMCwgMHgwMSwgMHgzMywgMHg4MCwgMHgwMCwgMHgwMCwgMHg4MywgMHg4MCwKLQkweDIwLCAweDAwLCAweDdhLCAweDgwLCAweDIwLCAweDAzLCAweDAwLCAweDgwLAotCTB4MDAsIDB4MDAsIDB4MDAsIDB4NDYsIDB4MTYsIDB4Y2UsIDB4MTEsIDB4MDAKLX07Ci0KLXN0YXRpYyB1bnNpZ25lZCBjaGFyIGltYV9hZHBjbV9jYXB0dXJlW10gPSB7Ci0JMHgwMCwgMHgxMCwgMHgwMCwgMHg0NCwgMHgwOCwgMHgwMCwgMHgwMCwgMHg0NCwKLQkweDAwLCAweDcwLCAweDAwLCAweDQ0LCAweDA4LCAweGQwLCAweDAwLCAweDQ0LAotCTB4MDAsIDB4ZjAsIDB4MDAsIDB4NDQsIDB4MGQsIDB4ZjIsIDB4NjEsIDB4YTgsCi0JMHg0NCwgMHgwNCwgMHgwNCwgMHgxOSwgMHgwMCwgMHgwMCwgMHg0MCwgMHg0NSwKLQkweDAwLCAweDA0LCAweDYzLCAweDgwLCAweDAwLCAweDAwLCAweDA2LCAweDM5LAotCTB4ZmYsIDB4MmUsIDB4MjEsIDB4NDksIDB4ZmYsIDB4MGMsIDB4ZDQsIDB4NDksCi0JMHg0MCwgMHg0OSwgMHgzOSwgMHhhYywgMHg1NSwgMHg1NSwgMHg3MSwgMHg4YiwKLQkweDUwLCAweDAxLCAweGIxLCAweDgwLCAweDAwLCAweDAwLCAweDcxLCAweDhiLAotCTB4YzIsIDB4MzAsIDB4MDQsIDB4MTksIDB4YzAsIDB4YTAsIDB4MDQsIDB4MTksCi0JMHhjMiwgMHhhMCwgMHgwNCwgMHgxOSwgMHg4OSwgMHgwMCwgMHg3MSwgMHg4YiwKLQkweGM4LCAweDMwLCAweDA0LCAweDE5LCAweDcxLCAweDAwLCAweDcxLCAweDhiLAotCTB4Y2QsIDB4MDAsIDB4MDQsIDB4MTksIDB4Y2YsIDB4MDAsIDB4MDQsIDB4MTksCi0JMHg4MCwgMHgwMCwgMHg3MSwgMHg4YiwgMHhjYiwgMHgyMCwgMHgwNCwgMHgxOSwKLQkweDIwLCAweDAwLCAweDcxLCAweDhiLCAweGM0LCAweDIwLCAweDA0LCAweDE5LAotCTB4NDcsIDB4MDAsIDB4NTEsIDB4OGIsIDB4YzAsIDB4MjAsIDB4MDAsIDB4MzksCi0JMHgwMCwgMHgwMCwgMHg2MywgMHg4MCwgMHhjMSwgMHhhMCwgMHgwNCwgMHgxOSwKLQkweDkzLCAweDAwLCAweDAxLCAweDRmLCAweGNkLCAweDMwLCAweDAwLCAweDA5LAotCTB4Y2YsIDB4MzAsIDB4MDAsIDB4MDksIDB4MGMsIDB4NDAsIDB4MDAsIDB4MTQsCi0JMHgwMCwgMHg2MCwgMHgwMCwgMHgxNCwgMHgwMCwgMHgwNCwgMHg2MSwgMHhhOCwKLQkweDAyLCAweDA0LCAweDYxLCAweGE4LCAweDBjLCAweDYwLCAweDA0LCAweDI0LAotCTB4MDAsIDB4MDAsIDB4MzQsIDB4NDksIDB4MDgsIDB4NTAsIDB4MDAsIDB4NDQsCi0JMHg0NCwgMHgwNCwgMHgwNCwgMHgzOSwgMHgwMCwgMHgwMCwgMHg0MCwgMHg0NSwKLQkweDA4LCAweDMwLCAweDYxLCAweDBhLCAweDA1LCAweGIwLCAweGU4LCAweDE4LAotCTB4MGMsIDB4YzAsIDB4MDQsIDB4NTQsIDB4YzgsIDB4MzAsIDB4MDQsIDB4MTksCi0JMHgwOSwgMHgwNCwgMHgwMCwgMHhhOCwgMHgwYiwgMHgwNCwgMHgwMCwgMHhhOCwKLQkweDAwLCAweDAwLCAweDQwLCAweDQ1LCAweDA5LCAweDA0LCAweDYxLCAweGE4LAotCTB4YzEsIDB4MDAsIDB4MDQsIDB4MTksIDB4MGIsIDB4MDQsIDB4NjEsIDB4YTgsCi0JMHhjYSwgMHgwMCwgMHgwNCwgMHgxOSwgMHgwZCwgMHgwMCwgMHg2MSwgMHgwYSwKLQkweDAwLCAweDAxLCAweDAwLCAweDQ1LCAweDBmLCAweDAwLCAweDYxLCAweDBhLAotCTB4MDAsIDB4NDAsIDB4MDksIDB4OGYsIDB4MDAsIDB4MDEsIDB4MDAsIDB4NDUsCi0JMHg0MCwgMHg0MCwgMHgwOSwgMHhlZiwgMHhmZiwgMHgyMCwgMHgwOSwgMHhjZiwKLQkweDAwLCAweDA0LCAweDYzLCAweGExLCAweDUwLCAweDAzLCAweDMzLCAweDgwLAotCTB4MDAsIDB4MDQsIDB4YTMsIDB4ODAsIDB4MDAsIDB4ZmYsIDB4YzIsIDB4OGIsCi0JMHgwYywgMHgxMiwgMHgwNCwgMHg1NCwgMHgwOCwgMHgxMiwgMHgwMCwgMHhjNCwKLQkweDIwLCAweDAzLCAweDgwLCAweGMwLCAweDMwLCAweDAwLCAweDAwLCAweDg4LAotCTB4MDAsIDB4MDAsIDB4N2EsIDB4MGEsIDB4ZDAsIDB4MDEsIDB4MDAsIDB4ODIsCi0JMHgwNCwgMHg1MCwgMHgwMCwgMHg0NCwgMHhjMCwgMHgwMCwgMHgwMCwgMHg5OSwKLQkweDA0LCAweDUwLCAweDAwLCAweDQ0LCAweDAwLCAweGZmLCAweGMyLCAweDhiLAotCTB4MjAsIDB4MDAsIDB4MDAsIDB4ODAsIDB4MDAsIDB4MGQsIDB4NDIsIDB4OGIsCi0JMHgwNCwgMHg0MiwgMHgwMCwgMHhjNCwgMHgwMCwgMHgwZSwgMHg0MiwgMHg4YiwKLQkweDA4LCAweDUyLCAweDAwLCAweGM0LCAweDAwLCAweDFlLCAweDQyLCAweDhiLAotCTB4MDAsIDB4ZTIsIDB4MDAsIDB4YzQsIDB4MDAsIDB4OGUsIDB4NDIsIDB4OGIsCi0JMHgwOCwgMHhkMiwgMHgwMCwgMHhjNCwgMHgwMCwgMHg5ZSwgMHg0MiwgMHg4YiwKLQkweDA0LCAweGYyLCAweDAwLCAweGM0LCAweDAwLCAweGJlLCAweDQyLCAweDhiLAotCTB4MDQsIDB4ZjIsIDB4MDAsIDB4YzQsIDB4MDAsIDB4MDQsIDB4NDIsIDB4OGIsCi0JMHgwNCwgMHgxMSwgMHgwMCwgMHhjNCwgMHgwMCwgMHgyNCwgMHg0MiwgMHg4YiwKLQkweDBjLCAweDYxLCAweDAwLCAweGM0LCAweDAwLCAweDU1LCAweDQyLCAweDhiLAotCTB4MDQsIDB4NTAsIDB4MDAsIDB4YzQsIDB4MDAsIDB4M2YsIDB4NDIsIDB4OGIsCi0JMHgwYywgMHgwMSwgMHgwMCwgMHhjNCwgMHgwMCwgMHgwMCwgMHg0MCwgMHg0NSwKLQkweDIwLCAweDAxLCAweDc5LCAweDgwLCAweDAwLCAweDMwLCAweDQyLCAweDhiLAotCTB4MDQsIDB4NjIsIDB4MDAsIDB4YzQsIDB4MDAsIDB4MDAsIDB4NDAsIDB4NDUsCi0JMHgwMCwgMHgwMCwgMHg3MSwgMHg4YiwgMHg0MCwgMHgwMSwgMHgwMCwgMHg4MCwKLQkweDA0LCAweDUwLCAweDAwLCAweDQ0LCAweGZmLCAweDAwLCAweGUyLCAweGFiLAotCTB4MDgsIDB4YzIsIDB4MDAsIDB4YzQsIDB4MGYsIDB4ZjIsIDB4YTgsIDB4YTgsCi0JMHgyMCwgMHgwMCwgMHhiMSwgMHg4OCwgMHgwMCwgMHgwMCwgMHg0MSwgMHgwMiwKLQkweDRkLCAweGYyLCAweDAwLCAweDM5LCAweGMwLCAweDAxLCAweDAwLCAweDgyLAotCTB4MDQsIDB4NTAsIDB4MDAsIDB4NDQsIDB4MGQsIDB4ZjIsIDB4YTMsIDB4YTgsCi0JMHg0ZCwgMHhmMiwgMHgwMCwgMHgzOSwgMHgwNCwgMHg1MCwgMHgwMCwgMHg0NCwKLQkweGZmLCAweDAwLCAweGUyLCAweGFiLCAweDIwLCAweDAwLCAweDAwLCAweDg4LAotCTB4MDAsIDB4MDAsIDB4NjEsIDB4MDIsIDB4NGQsIDB4ZjIsIDB4MDQsIDB4MTksCi0JMHgwNCwgMHg1MCwgMHgwMCwgMHg0NCwgMHhmZiwgMHgwMCwgMHhlMiwgMHhhYiwKLQkweGEwLCAweDAwLCAweDAwLCAweDg4LCAweDAwLCAweDAwLCAweDYxLCAweDEwLAotCTB4NGQsIDB4ZjIsIDB4MDQsIDB4MTksIDB4MDQsIDB4NTAsIDB4MDAsIDB4NDQsCi0JMHhmZiwgMHgyMCwgMHhlMiwgMHhhYiwgMHg2MCwgMHgwMCwgMHgwMCwgMHg4OCwKLQkweDAwLCAweDAwLCAweDcxLCAweGMwLCAweDRkLCAweGYyLCAweDA0LCAweDE5LAotCTB4MDQsIDB4NTAsIDB4MDAsIDB4NDQsIDB4MDAsIDB4MDAsIDB4N2EsIDB4MGEsCi0JMHgyMCwgMHgwMSwgMHhmMCwgMHg4MCwgMHgwMSwgMHhhMCwgMHg0MSwgMHgwYSwKLQkweDAwLCAweDExLCAweDAwLCAweGM0LCAweDIwLCAweDAxLCAweGYwLCAweDgwLAotCTB4YzEsIDB4MzAsIDB4MDQsIDB4MTksIDB4MDQsIDB4NTAsIDB4MDAsIDB4NDQsCi0JMHgwMCwgMHgwMCwgMHg3OSwgMHg4MCwgMHgwYywgMHg0MSwgMHgwMCwgMHg4NCwKLQkweDg5LCAweDAwLCAweDcxLCAweDhiLCAweGM4LCAweDMwLCAweDA0LCAweDE5LAotCTB4OTcsIDB4MDAsIDB4NzEsIDB4OGIsIDB4Y2QsIDB4MDAsIDB4MDAsIDB4MzksCi0JMHgwMCwgMHgwMSwgMHhiMSwgMHg4MCwgMHg4MCwgMHgwMCwgMHgwNCwgMHgxOSwKLQkweDgyLCAweDAwLCAweDA0LCAweDE5LCAweGMxLCAweDIwLCAweDA0LCAweDE5LAotCTB4YzMsIDB4MjAsIDB4MDQsIDB4MTksIDB4YzIsIDB4MzAsIDB4MDQsIDB4MTksCi0JMHhjZCwgMHgxMCwgMHgwNCwgMHgxOSwgMHhjZiwgMHgxMCwgMHgwNCwgMHgxOSwKLQkweGIwLCAweDAwLCAweDcxLCAweDhiLCAweDg0LCAweDAwLCAweDA0LCAweDE5LAotCTB4ODYsIDB4MDAsIDB4MDQsIDB4MTksIDB4ODAsIDB4MDAsIDB4NzEsIDB4OGIsCi0JMHhjYiwgMHgyMCwgMHgwNCwgMHgxOSwgMHg5MywgMHgwMCwgMHgwMSwgMHg0ZiwKLQkweGNkLCAweDMwLCAweDAwLCAweDA5LCAweGNmLCAweDMwLCAweDAwLCAweDA5LAotCTB4MDMsIDB4MDIsIDB4MDQsIDB4NDksIDB4MDgsIDB4NDEsIDB4MDAsIDB4MTQsCi0JMHgwNCwgMHg1MCwgMHgwMCwgMHg0NCwgMHgwMCwgMHgwMCwgMHg2MywgMHg4MCwKLQkweDAwLCAweDAwLCAweDA2LCAweDE5LCAweDAzLCAweDAwLCAweDA0LCAweDQ5LAotCTB4MDQsIDB4NTAsIDB4MDAsIDB4NDQsIDB4MjAsIDB4MDEsIDB4NjMsIDB4ODAsCi0JMHgwMCwgMHgwMCwgMHgwNiwgMHgxOSwgMHgwMCwgMHgyMCwgMHhlMiwgMHg4YiwKLQkweDAwLCAweGMxLCAweDAwLCAweDg0LCAweDQ3LCAweDAwLCAweDUxLCAweDhiLAotCTB4YzAsIDB4MjAsIDB4MDAsIDB4MzksIDB4MDAsIDB4MDAsIDB4NjMsIDB4ODAsCi0JMHhjMSwgMHhhMCwgMHgwNCwgMHgxOSwgMHgwMCwgMHhlMSwgMHgwMCwgMHg0NCwKLQkweGJkLCAweDAwLCAweDUxLCAweDhiLCAweGMwLCAweDIwLCAweDAwLCAweDM5LAotCTB4MDAsIDB4MDAsIDB4YjEsIDB4ODAsIDB4YzEsIDB4YTAsIDB4MDQsIDB4MTksCi0JMHgwMywgMHgwMCwgMHgwNCwgMHg0OSwgMHgwNCwgMHg1MCwgMHgwMCwgMHg0NCwKLQkweDAwLCAweDIwLCAweDYxLCAweDBhLCAweDAwLCAweDAxLCAweDAwLCAweDQ1LAotCTB4MDIsIDB4MzAsIDB4NjEsIDB4MGEsIDB4MGMsIDB4ODMsIDB4MDAsIDB4YzQsCi0JMHgwYywgMHg3OCwgMHgwOCwgMHg0NCwgMHgwNCwgMHg1YSwgMHgwOCwgMHg0NCwKLQkweGIyLCAweDAwLCAweDA5LCAweDRmLCAweDEwLCAweDQyLCAweDA5LCAweDhlLAotCTB4MDUsIDB4YjAsIDB4ZTAsIDB4MTgsIDB4MDQsIDB4MjMsIDB4MDAsIDB4ODQsCi0JMHgwYywgMHgwMSwgMHgwMCwgMHgxMSwgMHgwOCwgMHgwNSwgMHg2MSwgMHgxMCwKLQkweDAwLCAweDQ5LCAweDA4LCAweDQ0LCAweDAwLCAweDQ4LCAweDA4LCAweDQ0LAotCTB4YjIsIDB4MDAsIDB4MDksIDB4NGYsIDB4ODAsIDB4MDAsIDB4NzEsIDB4OGIsCi0JMHhjMCwgMHgwMCwgMHgwMCwgMHg4MiwgMHgwYywgMHgwMSwgMHgzMywgMHgxMCwKLQkweDI4LCAweDAxLCAweGEzLCAweDEwLCAweDAwLCAweDAxLCAweDdhLCAweDgwLAotCTB4OGMsIDB4MDEsIDB4MDAsIDB4ODAsIDB4MDIsIDB4MzAsIDB4NjEsIDB4MGEsCi0JMHgyMCwgMHgwMCwgMHgwNCwgMHgxOSwgMHgwYywgMHg4MywgMHgwMCwgMHhjNCwKLQkweDA1LCAweGIwLCAweGM4LCAweDE4LCAweDA4LCAweDQzLCAweDAwLCAweGM0LAotCTB4MDEsIDB4MzAsIDB4YzgsIDB4MGEsIDB4MGMsIDB4MzgsIDB4MDAsIDB4YzQsCi0JMHgwOCwgMHg4OCwgMHgwMCwgMHg0NCwgMHgwYywgMHg3OCwgMHgwOCwgMHg0NCwKLQkweDA0LCAweDVhLCAweDA4LCAweDQ0LCAweDAwLCAweDAwLCAweGEzLCAweDE4LAotCTB4ODAsIDB4MDAsIDB4MDQsIDB4MTksIDB4MGIsIDB4MDQsIDB4NjEsIDB4YTgsCi0JMHhjMywgMHgyMCwgMHgwMCwgMHgzOSwgMHhjMywgMHgzMCwgMHgwNCwgMHgxOSwKLQkweDBmLCAweDEwLCAweDYxLCAweDBhLCAweGNhLCAweDMwLCAweDA0LCAweDE5LAotCTB4MDksIDB4MDQsIDB4NDEsIDB4YTgsIDB4ZTEsIDB4MjAsIDB4MDAsIDB4MzksCi0JMHhkMSwgMHgwMCwgMHgwOSwgMHg0ZiwgMHgwMCwgMHgwNCwgMHg2MSwgMHgwMiwKLQkweDA4LCAweDYzLCAweDAwLCAweDQ0LCAweDAzLCAweDMwLCAweDQxLCAweDBhLAotCTB4MjAsIDB4MDAsIDB4MDAsIDB4MzksIDB4YTMsIDB4MDAsIDB4MDksIDB4NGYsCi0JMHgwMCwgMHgwNCwgMHg2MSwgMHgwMiwgMHgwMCwgMHg0OCwgMHgwOCwgMHg0NCwKLQkweDA4LCAweDg4LCAweDAwLCAweDQ0LCAweDAyLCAweDMwLCAweDYxLCAweDBhLAotCTB4MDAsIDB4MDgsIDB4MDAsIDB4YzQsIDB4MGMsIDB4NzgsIDB4MDgsIDB4NDQsCi0JMHgwNCwgMHg1YSwgMHgwOCwgMHg0NCwgMHhiMiwgMHgwMCwgMHgwOSwgMHgwZiwKLQkweDEwLCAweDQwLCAweDA5LCAweDhlLCAweDAwLCAweDAwLCAweDY4LCAweDViLAotCTB4MjAsIDB4MDQsIDB4YjEsIDB4ODAsIDB4MDIsIDB4MDAsIDB4NjEsIDB4NWIsCi0JMHg4OCwgMHgwMywgMHg3YSwgMHg4MCwgMHhhYywgMHgwMSwgMHgwMCwgMHg4MCwKLQkweDA1LCAweGIwLCAweGUwLCAweDE4LCAweDAwLCAweGQzLCAweDAwLCAweDg0LAotCTB4MDAsIDB4NDksIDB4MDgsIDB4NDQsIDB4MDAsIDB4NDgsIDB4MDgsIDB4NDQsCi0JMHhiMiwgMHgwMCwgMHgwOSwgMHgwZiwgMHg4MCwgMHgwMCwgMHg3MSwgMHg4YiwKLQkweGMwLCAweDAwLCAweDAwLCAweDgyLCAweDAyLCAweDMwLCAweDYxLCAweDBhLAotCTB4MDAsIDB4MDgsIDB4MDAsIDB4YzQsIDB4MDUsIDB4YjAsIDB4YzgsIDB4MTgsCi0JMHgwYywgMHgxOCwgMHgwMCwgMHhjNCwgMHgwMSwgMHgzMCwgMHhjOCwgMHgwYSwKLQkweDBjLCAweDM4LCAweDAwLCAweGM0LCAweDA4LCAweDg4LCAweDAwLCAweDQ0LAotCTB4MGMsIDB4NzgsIDB4MDgsIDB4NDQsIDB4MDAsIDB4MDAsIDB4NjEsIDB4MTgsCi0JMHgyMCwgMHgwNSwgMHhiMSwgMHg4MCwgMHgwMCwgMHgwMCwgMHg2OCwgMHhjYiwKLQkweDgwLCAweDAwLCAweDA0LCAweDE5LCAweDBkLCAweDEwLCAweDYxLCAweDBhLAotCTB4YzMsIDB4MzAsIDB4MDQsIDB4MTksIDB4MGIsIDB4MDQsIDB4NDEsIDB4YTgsCi0JMHgwOSwgMHgwNCwgMHg0MSwgMHhhOCwgMHhlMSwgMHgyMCwgMHgwMCwgMHgzOSwKLQkweDA4LCAweDM4LCAweDAwLCAweDQ0LCAweDAzLCAweDMwLCAweDQxLCAweDBhLAotCTB4MjAsIDB4MDQsIDB4YjEsIDB4ODAsIDB4MDAsIDB4NDgsIDB4MDgsIDB4NDQsCi0JMHgwOCwgMHg4OCwgMHgwMCwgMHg0NCwgMHgwMCwgMHgwMCwgMHhiMSwgMHg4MCwKLQkweGMyLCAweDMwLCAweDA0LCAweDE5LCAweDBjLCAweGI4LCAweDAwLCAweGQ0LAotCTB4MGYsIDB4MzAsIDB4NjEsIDB4MGEsIDB4MGQsIDB4MzAsIDB4YzgsIDB4MGEsCi0JMHgwYywgMHhiOCwgMHgwMCwgMHhjNCwgMHg5MywgMHgwMCwgMHgwMSwgMHg0ZiwKLQkweGU3LCAweDAwLCAweDAxLCAweDZmLCAweDBmLCAweDMwLCAweDYxLCAweDBhLAotCTB4MjAsIDB4MDAsIDB4MDAsIDB4ODgsIDB4MDIsIDB4MDAsIDB4NjEsIDB4MDIsCi0JMHg0MSwgMHgwNCwgMHgwNCwgMHgxOSwgMHgwMiwgMHgwNCwgMHg2MSwgMHgwMiwKLQkweDQzLCAweDA0LCAweDA0LCAweDM5LCAweGNmLCAweDMwLCAweDAwLCAweDA5LAotCTB4MjAsIDB4MDAsIDB4MDksIDB4NDksIDB4MDAsIDB4NTksIDB4MDAsIDB4NDQsCi0JMHg5MywgMHgwMCwgMHgwMSwgMHg0ZiwgMHhlNywgMHgwMCwgMHgwMSwgMHg2ZiwKLQkweDBkLCAweDMwLCAweDYxLCAweDBhLCAweDIwLCAweDAwLCAweDYxLCAweDg4LAotCTB4YzIsIDB4MDAsIDB4MDAsIDB4ODIsIDB4YzIsIDB4MDMsIDB4MDAsIDB4ODIsCi0JMHhjZCwgMHgzMCwgMHgwMCwgMHgwOSwgMHgyMCwgMHgwMCwgMHgwOSwgMHg0OSwKLQkweDBmLCAweDMwLCAweDYxLCAweDBhLCAweDBkLCAweDMwLCAweGM4LCAweDBhLAotCTB4MGMsIDB4NTgsIDB4MDAsIDB4ODQsIDB4MDIsIDB4MzAsIDB4NjEsIDB4MGEsCi0JMHgwNSwgMHhiMCwgMHhhOCwgMHgxOCwgMHhjMiwgMHgzMCwgMHgwNCwgMHgxOSwKLQkweDAwLCAweDAwLCAweDAwLCAweDQ2LCAweDkwLCAweDQwLCAweDA5LCAweDhmLAotCTB4MTIsIDB4MDQsIDB4MDksIDB4NmUsIDB4MDMsIDB4MDAsIDB4MDksIDB4MGUsCi0JMHgwMCwgMHgwMSwgMHg3MSwgMHg4MiwgMHgyMCwgMHgwMSwgMHgwMCwgMHg4MCwKLQkweDAwLCAweDAwLCAweDYxLCAweGNiLCAweDgwLCAweDA0LCAweGIxLCAweDgwLAotCTB4MDAsIDB4MDEsIDB4ZTAsIDB4NjAsIDB4MGMsIDB4ZDgsIDB4MDQsIDB4MTQsCi0JMHgwMCwgMHgwMSwgMHhlYiwgMHg4MCwgMHg0MCwgMHgwMCwgMHg1MiwgMHgxYiwKLQkweDgwLCAweDAwLCAweDc5LCAweDgwLCAweGMwLCAweDAxLCAweDcxLCAweGMyLAotCTB4MjAsIDB4MDAsIDB4YzAsIDB4ODAsIDB4MDgsIDB4MGEsIDB4MDQsIDB4NTQsCi0JMHhjMCwgMHgwNCwgMHhhOCwgMHg4MiwgMHg4MCwgMHgwMCwgMHg3MiwgMHgxYiwKLQkweDgwLCAweDAwLCAweDAwLCAweDgwLCAweDAwLCAweDAxLCAweGYwLCAweDgwLAotCTB4MjAsIDB4MDAsIDB4YzAsIDB4ODAsIDB4MGMsIDB4MmEsIDB4MDQsIDB4NTQsCi0JMHhjMCwgMHgwNCwgMHhhOCwgMHg4MiwgMHgxMCwgMHgwMCwgMHg3MiwgMHgxYiwKLQkweDgwLCAweDAwLCAweDAwLCAweDgwLCAweDAwLCAweDAxLCAweGYwLCAweDgwLAotCTB4MjAsIDB4MDAsIDB4YzAsIDB4ODAsIDB4MDgsIDB4M2EsIDB4MDQsIDB4NTQsCi0JMHhjMCwgMHgwNCwgMHhhOCwgMHg4MiwgMHgyMCwgMHgwMCwgMHg3MiwgMHgxYiwKLQkweDgwLCAweDAwLCAweDAwLCAweDgwLCAweGMwLCAweDAzLCAweGYwLCAweDgyLAotCTB4MjAsIDB4MDAsIDB4YTAsIDB4ODAsIDB4MDAsIDB4MDEsIDB4MDAsIDB4MTEsCi0JMHg0MCwgMHgwMCwgMHhjMiwgMHg4YiwgMHgwMCwgMHhhYSwgMHgwMCwgMHhjNCwKLQkweDAwLCAweDAwLCAweGU5LCAweDgwLCAweDA1LCAweGIwLCAweGE4LCAweDE4LAotCTB4MDAsIDB4MDEsIDB4YTgsIDB4MjIsIDB4ZDAsIDB4MDEsIDB4MDAsIDB4ODIsCi0JMHhmMCwgMHgwMCwgMHhlMiwgMHgxYiwgMHgwNiwgMHgyMCwgMHhhOCwgMHgwYSwKLQkweDJkLCAweDEwLCAweDYxLCAweDBhLCAweGQxLCAweDAwLCAweDA5LCAweDJlLAotCTB4MDAsIDB4MDEsIDB4YTgsIDB4MDIsIDB4MGUsIDB4MTAsIDB4YzgsIDB4MGEsCi0JMHgwYywgMHhiYSwgMHgwNCwgMHgxNCwgMHgwZSwgMHgxMCwgMHg2MSwgMHgwYSwKLQkweDA0LCAweDRhLCAweDAwLCAweDQ0LCAweDBjLCAweDEwLCAweGM4LCAweDBhLAotCTB4MDQsIDB4NGEsIDB4MDQsIDB4NTQsIDB4MGMsIDB4MTAsIDB4NjEsIDB4MGEsCi0JMHhkMCwgMHgwMSwgMHgwMCwgMHg4MiwgMHgwMCwgMHgxMCwgMHhhOCwgMHgxOCwKLQkweGEwLCAweDAwLCAweDAwLCAweDg4LCAweDAwLCAweDAxLCAweDcxLCAweDgyLAotCTB4MDMsIDB4MDAsIDB4MDksIDB4MGUsIDB4OWEsIDB4MDEsIDB4MDAsIDB4NjAsCi0JMHgzMiwgMHgwMCwgMHgwOSwgMHgyZSwgMHgwMCwgMHgwMCwgMHgwMCwgMHg0NiwKLQkweDAwLCAweDAxLCAweDcxLCAweDgyLCAweDIwLCAweDAxLCAweDAwLCAweDgwLAotCTB4MDAsIDB4MDAsIDB4NjEsIDB4Y2IsIDB4ODAsIDB4MjQsIDB4YjEsIDB4YzAsCi0JMHgwMCwgMHgzMSwgMHhlMCwgMHg2MCwgMHgwYywgMHhjYSwgMHgwNCwgMHgxNCwKLQkweDAwLCAweDAxLCAweGViLCAweDgwLCAweDQwLCAweDAwLCAweDUyLCAweDFiLAotCTB4ODAsIDB4MDAsIDB4NzksIDB4ODAsIDB4YzAsIDB4MDEsIDB4NzEsIDB4YzIsCi0JMHgyMCwgMHgwMCwgMHhjMCwgMHg4MCwgMHgwOCwgMHhkYSwgMHgwNCwgMHg1NCwKLQkweGMwLCAweDA0LCAweGE4LCAweDgyLCAweDgwLCAweDAwLCAweDcyLCAweDFiLAotCTB4ODAsIDB4MDAsIDB4MDAsIDB4ODAsIDB4MDAsIDB4MDEsIDB4ZjAsIDB4ODAsCi0JMHgyMCwgMHgwMCwgMHhjMCwgMHg4MCwgMHgwYywgMHhmYSwgMHgwNCwgMHg1NCwKLQkweGMwLCAweDA0LCAweGE4LCAweDgyLCAweDEwLCAweDAwLCAweDcyLCAweDFiLAotCTB4ODAsIDB4MDAsIDB4MDAsIDB4ODAsIDB4MDAsIDB4MDEsIDB4ZjAsIDB4ODAsCi0JMHgyMCwgMHgwMCwgMHhjMCwgMHg4MCwgMHgwOCwgMHgyOSwgMHgwNCwgMHg1NCwKLQkweGMwLCAweDA0LCAweGE4LCAweDgyLCAweDIwLCAweDAwLCAweDcyLCAweDFiLAotCTB4ODAsIDB4MDAsIDB4MDAsIDB4ODAsIDB4YzAsIDB4MDMsIDB4ZjAsIDB4ODIsCi0JMHgyMCwgMHgwMCwgMHhhMCwgMHg4MCwgMHgwMCwgMHgwMSwgMHgwMCwgMHgxMSwKLQkweDQwLCAweDAwLCAweGMyLCAweDhiLCAweDAwLCAweDM5LCAweDAwLCAweGM0LAotCTB4MDAsIDB4MDAsIDB4ZTksIDB4ODAsIDB4MDUsIDB4YjAsIDB4YTgsIDB4MTgsCi0JMHgwMCwgMHgwMSwgMHhhOCwgMHgyMiwgMHhkMCwgMHgwMSwgMHgwMCwgMHg4MiwKLQkweGIwLCAweDAwLCAweGUyLCAweDFiLCAweDA2LCAweDIwLCAweGE4LCAweDBhLAotCTB4MmYsIDB4MTAsIDB4NjEsIDB4MGEsIDB4ZjEsIDB4MDAsIDB4MDksIDB4MmUsCi0JMHgwMCwgMHgwMSwgMHhhOCwgMHgwMiwgMHgwZSwgMHgxMCwgMHhjOCwgMHgwYSwKLQkweDBjLCAweGE5LCAweDA0LCAweDE0LCAweDBlLCAweDEwLCAweDYxLCAweDBhLAotCTB4MDQsIDB4OTksIDB4MDAsIDB4NDQsIDB4MGMsIDB4MTAsIDB4YzgsIDB4MGEsCi0JMHgwNCwgMHg5OSwgMHgwNCwgMHg1NCwgMHgwYywgMHgxMCwgMHg2MSwgMHgwYSwKLQkweGQwLCAweDAxLCAweDAwLCAweDgyLCAweDAwLCAweDEwLCAweGE4LCAweDE4LAotCTB4YTAsIDB4MDAsIDB4MDAsIDB4ODgsIDB4MDAsIDB4MDEsIDB4NzEsIDB4ODIsCi0JMHg5ZiwgMHgwMSwgMHgwMCwgMHg2MCwgMHgwMCwgMHgwMCwgMHgwMCwgMHg0NiwKLQkweDAwLCAweDAwLCAweDMzLCAweDgwLCAweDAwLCAweDAwLCAweDgzLCAweDgwLAotCTB4MjAsIDB4MDAsIDB4N2EsIDB4ODAsIDB4MjAsIDB4MDcsIDB4MzMsIDB4ODAsCi0JMHgwMCwgMHgwMCwgMHg4MywgMHg4MCwgMHgyMCwgMHgwNCwgMHg3YSwgMHg4MCwKLQkweDIwLCAweDAxLCAweDAwLCAweDgwLCAweDAwLCAweDAwLCAweDAwLCAweDQ2LAotCTB4MDIsIDB4MDAsIDB4NjEsIDB4MGEsIDB4MDQsIDB4MWIsIDB4MDQsIDB4MTQsCi0JMHgwMSwgMHgwMCwgMHg2MSwgMHgwYSwgMHgwMywgMHgwMCwgMHg0OCwgMHgwYSwKLQkweDBjLCAweDc5LCAweDA0LCAweDU0LCAweGMzLCAweDAwLCAweDA0LCAweDE5LAotCTB4MDQsIDB4YzksIDB4MDAsIDB4NDQsIDB4MDgsIDB4MDAsIDB4YzgsIDB4MGEsCi0JMHgwNCwgMHhjOSwgMHgwNCwgMHg1NCwgMHhjOCwgMHgwMCwgMHgwNCwgMHgxOSwKLQkweDBhLCAweDAwLCAweDYxLCAweDBhLCAweDA5LCAweDAwLCAweDQ4LCAweDBhLAotCTB4MGMsIDB4ZTksIDB4MDQsIDB4NTQsIDB4YzksIDB4MDAsIDB4MDQsIDB4MTksCi0JMHgwNCwgMHhkOSwgMHgwMCwgMHg0NCwgMHgwYiwgMHgwMCwgMHhjOCwgMHgwYSwKLQkweDA0LCAweGQ5LCAweDA0LCAweDU0LCAweGNiLCAweDAwLCAweDA0LCAweDE5LAotCTB4MDQsIDB4MDAsIDB4NjEsIDB4MGEsIDB4MDYsIDB4MDAsIDB4NDgsIDB4MGEsCi0JMHgwYywgMHhmOSwgMHgwNCwgMHg1NCwgMHhjNiwgMHgwMCwgMHgwNCwgMHgxOSwKLQkweDA0LCAweDBiLCAweDAwLCAweDQ0LCAweDA1LCAweDAwLCAweGM4LCAweDBhLAotCTB4MDQsIDB4MGIsIDB4MDQsIDB4NTQsIDB4YzUsIDB4MDAsIDB4MDQsIDB4MTksCi0JMHgwNywgMHgwMCwgMHg2MSwgMHgwYSwgMHgwYywgMHgwMCwgMHg0OCwgMHgwYSwKLQkweDBjLCAweDJiLCAweDA0LCAweDU0LCAweGNjLCAweDAwLCAweDA0LCAweDE5LAotCTB4MDQsIDB4MWIsIDB4MDAsIDB4NDQsIDB4MGUsIDB4MDAsIDB4YzgsIDB4MGEsCi0JMHgwNCwgMHgxYiwgMHgwNCwgMHg1NCwgMHhjZSwgMHgwMCwgMHgwNCwgMHgxOSwKLQkweDAwLCAweDAwLCAweDQwLCAweDQ1LCAweDkyLCAweDIwLCAweDcxLCAweDhiLAotCTB4YTYsIDB4YzUsIDB4MTEsIDB4MDAKLX07CmRpZmYgLS1naXQgYS9zb3VuZC9pc2Evd2F2ZWZyb250L3dhdmVmcm9udF9zeW50aC5jIGIvc291bmQvaXNhL3dhdmVmcm9udC93YXZlZnJvbnRfc3ludGguYwppbmRleCA5NWVlY2ExLi4wYmI5YjkyIDEwMDY0NAotLS0gYS9zb3VuZC9pc2Evd2F2ZWZyb250L3dhdmVmcm9udF9zeW50aC5jCisrKyBiL3NvdW5kL2lzYS93YXZlZnJvbnQvd2F2ZWZyb250X3N5bnRoLmMKQEAgLTE5MzksNyArMTkzOSw3IEBACiB3YXZlZnJvbnRfZG93bmxvYWRfZmlybXdhcmUgKHNuZF93YXZlZnJvbnRfdCAqZGV2LCBjaGFyICpwYXRoKQogCiB7Ci0JdW5zaWduZWQgY2hhciAqYnVmOworCWNvbnN0IHVuc2lnbmVkIGNoYXIgKmJ1ZjsKIAlpbnQgbGVuLCBlcnI7CiAJaW50IHNlY3Rpb25fY250X2Rvd25sb2FkZWQgPSAwOwogCWNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqZmlybXdhcmU7CmRpZmYgLS1naXQgYS9zb3VuZC9taXBzL0tjb25maWcgYi9zb3VuZC9taXBzL0tjb25maWcKaW5kZXggNTMxZjhiYS4uYTk4MjNmYSAxMDA2NDQKLS0tIGEvc291bmQvbWlwcy9LY29uZmlnCisrKyBiL3NvdW5kL21pcHMvS2NvbmZpZwpAQCAtMSwxNSArMSwzNCBAQAogIyBBTFNBIE1JUFMgZHJpdmVycwogCi1tZW51ICJBTFNBIE1JUFMgZGV2aWNlcyIKLQlkZXBlbmRzIG9uIFNORCE9biAmJiBNSVBTCittZW51Y29uZmlnIFNORF9NSVBTCisJYm9vbCAiTUlQUyBzb3VuZCBkZXZpY2VzIgorCWRlcGVuZHMgb24gTUlQUworCWRlZmF1bHQgeQorCWhlbHAKKwkgIFN1cHBvcnQgZm9yIHNvdW5kIGRldmljZXMgb2YgTUlQUyBhcmNoaXRlY3R1cmVzLgorCitpZiBTTkRfTUlQUworCitjb25maWcgU05EX1NHSV9PMgorCXRyaXN0YXRlICJTR0kgTzIgQXVkaW8iCisJZGVwZW5kcyBvbiBTR0lfSVAzMgorICAgICAgICBoZWxwCisgICAgICAgICAgICAgICAgU291bmQgc3VwcG9ydCBmb3IgdGhlIFNHSSBPMiBXb3Jrc3RhdGlvbi4gCisKK2NvbmZpZyBTTkRfU0dJX0hBTDIKKyAgICAgICAgdHJpc3RhdGUgIlNHSSBIQUwyIEF1ZGlvIgorICAgICAgICBkZXBlbmRzIG9uIFNHSV9IQVNfSEFMMgorICAgICAgICBoZWxwCisgICAgICAgICAgICAgICAgU291bmQgc3VwcG9ydCBmb3IgdGhlIFNHSSBJbmR5IGFuZCBJbmRpZ28yIFdvcmtzdGF0aW9uLgorCiAKIGNvbmZpZyBTTkRfQVUxWDAwCiAJdHJpc3RhdGUgIkF1MXgwMCBBQzk3IFBvcnQgRHJpdmVyIgotCWRlcGVuZHMgb24gKFNPQ19BVTEwMDAgfHwgU09DX0FVMTEwMCB8fCBTT0NfQVUxNTAwKSAmJiBTTkQKKwlkZXBlbmRzIG9uIFNPQ19BVTEwMDAgfHwgU09DX0FVMTEwMCB8fCBTT0NfQVUxNTAwCiAJc2VsZWN0IFNORF9QQ00KIAlzZWxlY3QgU05EX0FDOTdfQ09ERUMKIAloZWxwCiAJICBBTFNBIFNvdW5kIGRyaXZlciBmb3IgdGhlIEF1MXgwMCdzIEFDOTcgcG9ydC4KIAotZW5kbWVudQorZW5kaWYJIyBTTkRfTUlQUwogCmRpZmYgLS1naXQgYS9zb3VuZC9taXBzL01ha2VmaWxlIGIvc291bmQvbWlwcy9NYWtlZmlsZQppbmRleCA0N2FmZWQ5Li44NjFlYzBhIDEwMDY0NAotLS0gYS9zb3VuZC9taXBzL01ha2VmaWxlCisrKyBiL3NvdW5kL21pcHMvTWFrZWZpbGUKQEAgLTMsNiArMywxMCBAQAogIwogCiBzbmQtYXUxeDAwLW9ianMgOj0gYXUxeDAwLm8KK3NuZC1zZ2ktbzItb2JqcyA6PSBzZ2lvMmF1ZGlvLm8gYWQxODQzLm8KK3NuZC1zZ2ktaGFsMi1vYmpzIDo9IGhhbDIubwogCiAjIFRvcGxldmVsIE1vZHVsZSBEZXBlbmRlbmN5CiBvYmotJChDT05GSUdfU05EX0FVMVgwMCkgKz0gc25kLWF1MXgwMC5vCitvYmotJChDT05GSUdfU05EX1NHSV9PMikgKz0gc25kLXNnaS1vMi5vCitvYmotJChDT05GSUdfU05EX1NHSV9IQUwyKSArPSBzbmQtc2dpLWhhbDIubwpkaWZmIC0tZ2l0IGEvc291bmQvbWlwcy9hZDE4NDMuYyBiL3NvdW5kL21pcHMvYWQxODQzLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzYyNDUxMAotLS0gL2Rldi9udWxsCisrKyBiL3NvdW5kL21pcHMvYWQxODQzLmMKQEAgLTAsMCArMSw1NjEgQEAKKy8qCisgKiAgIEFEMTg0MyBsb3cgbGV2ZWwgZHJpdmVyCisgKgorICogICBDb3B5cmlnaHQgMjAwMyBWaXZpZW4gQ2hhcHBlbGllciA8dml2aWVuLmNoYXBwZWxpZXJAbGludXgtbWlwcy5vcmc+CisgKiAgIENvcHlyaWdodCAyMDA4IFRob21hcyBCb2dlbmRvZXJmZXIgPHRzYm9nZW5kQGFscGhhLmZyYW5rZW4uZGU+CisgKgorICogICBpbnNwaXJlZCBmcm9tIHZ3c25kLmMgKFNHSSBWVyBhdWRpbyBkcml2ZXIpCisgKiAgICAgQ29weXJpZ2h0IDE5OTkgU2lsaWNvbiBHcmFwaGljcywgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgKiAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisgKiAgIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqICAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqICAgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgVVNBCisgKgorICovCisKKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KKyNpbmNsdWRlIDxsaW51eC9lcnJuby5oPgorI2luY2x1ZGUgPHNvdW5kL2NvcmUuaD4KKyNpbmNsdWRlIDxzb3VuZC9wY20uaD4KKyNpbmNsdWRlIDxzb3VuZC9hZDE4NDMuaD4KKworLyoKKyAqIEFEMTg0MyBiaXRmaWVsZCBkZWZpbml0aW9ucy4gIEFsbCBhcmUgbmFtZWQgYXMgaW4gdGhlIEFEMTg0MyBkYXRhCisgKiBzaGVldCwgd2l0aCBhZDE4NDNfIHByZXBlbmRlZCBhbmQgaW5kaXZpZHVhbCBiaXQgbnVtYmVycyByZW1vdmVkLgorICoKKyAqIEUuZy4sIGJpdHMgTFNTMCB0aHJvdWdoIExTUzIgYmVjb21lIGFkMTg0M19MU1MuCisgKgorICogT25seSB0aGUgYml0ZmllbGRzIHdlIG5lZWQgYXJlIGRlZmluZWQuCisgKi8KKworc3RydWN0IGFkMTg0M19iaXRmaWVsZCB7CisJY2hhciByZWc7CisJY2hhciBsb19iaXQ7CisJY2hhciBuYml0czsKK307CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgYWQxODQzX2JpdGZpZWxkCisJYWQxODQzX1BETk8gICA9IHsgIDAsIDE0LCAgMSB9LAkvKiBDb252ZXJ0ZXIgUG93ZXItRG93biBGbGFnICovCisJYWQxODQzX0lOSVQgICA9IHsgIDAsIDE1LCAgMSB9LAkvKiBDbG9jayBJbml0aWFsaXphdGlvbiBGbGFnICovCisJYWQxODQzX1JJRyAgICA9IHsgIDIsICAwLCAgNCB9LAkvKiBSaWdodCBBREMgSW5wdXQgR2FpbiAqLworCWFkMTg0M19STUdFICAgPSB7ICAyLCAgNCwgIDEgfSwJLyogUmlnaHQgQURDIE1pYyBHYWluIEVuYWJsZSAqLworCWFkMTg0M19SU1MgICAgPSB7ICAyLCAgNSwgIDMgfSwJLyogUmlnaHQgQURDIFNvdXJjZSBTZWxlY3QgKi8KKwlhZDE4NDNfTElHICAgID0geyAgMiwgIDgsICA0IH0sCS8qIExlZnQgQURDIElucHV0IEdhaW4gKi8KKwlhZDE4NDNfTE1HRSAgID0geyAgMiwgMTIsICAxIH0sCS8qIExlZnQgQURDIE1pYyBHYWluIEVuYWJsZSAqLworCWFkMTg0M19MU1MgICAgPSB7ICAyLCAxMywgIDMgfSwJLyogTGVmdCBBREMgU291cmNlIFNlbGVjdCAqLworCWFkMTg0M19SRDJNICAgPSB7ICAzLCAgMCwgIDUgfSwJLyogUmlnaHQgREFDIDIgTWl4IEdhaW4vQXR0ZW4gKi8KKwlhZDE4NDNfUkQyTU0gID0geyAgMywgIDcsICAxIH0sCS8qIFJpZ2h0IERBQyAyIE1peCBNdXRlICovCisJYWQxODQzX0xEMk0gICA9IHsgIDMsICA4LCAgNSB9LAkvKiBMZWZ0IERBQyAyIE1peCBHYWluL0F0dGVuICovCisJYWQxODQzX0xEMk1NICA9IHsgIDMsIDE1LCAgMSB9LAkvKiBMZWZ0IERBQyAyIE1peCBNdXRlICovCisJYWQxODQzX1JYMU0gICA9IHsgIDQsICAwLCAgNSB9LAkvKiBSaWdodCBBdXggMSBNaXggR2Fpbi9BdHRlbiAqLworCWFkMTg0M19SWDFNTSAgPSB7ICA0LCAgNywgIDEgfSwJLyogUmlnaHQgQXV4IDEgTWl4IE11dGUgKi8KKwlhZDE4NDNfTFgxTSAgID0geyAgNCwgIDgsICA1IH0sCS8qIExlZnQgQXV4IDEgTWl4IEdhaW4vQXR0ZW4gKi8KKwlhZDE4NDNfTFgxTU0gID0geyAgNCwgMTUsICAxIH0sCS8qIExlZnQgQXV4IDEgTWl4IE11dGUgKi8KKwlhZDE4NDNfUlgyTSAgID0geyAgNSwgIDAsICA1IH0sCS8qIFJpZ2h0IEF1eCAyIE1peCBHYWluL0F0dGVuICovCisJYWQxODQzX1JYMk1NICA9IHsgIDUsICA3LCAgMSB9LAkvKiBSaWdodCBBdXggMiBNaXggTXV0ZSAqLworCWFkMTg0M19MWDJNICAgPSB7ICA1LCAgOCwgIDUgfSwJLyogTGVmdCBBdXggMiBNaXggR2Fpbi9BdHRlbiAqLworCWFkMTg0M19MWDJNTSAgPSB7ICA1LCAxNSwgIDEgfSwJLyogTGVmdCBBdXggMiBNaXggTXV0ZSAqLworCWFkMTg0M19STUNNICAgPSB7ICA3LCAgMCwgIDUgfSwJLyogUmlnaHQgTWljIE1peCBHYWluL0F0dGVuICovCisJYWQxODQzX1JNQ01NICA9IHsgIDcsICA3LCAgMSB9LAkvKiBSaWdodCBNaWMgTWl4IE11dGUgKi8KKwlhZDE4NDNfTE1DTSAgID0geyAgNywgIDgsICA1IH0sCS8qIExlZnQgTWljIE1peCBHYWluL0F0dGVuICovCisJYWQxODQzX0xNQ01NICA9IHsgIDcsIDE1LCAgMSB9LAkvKiBMZWZ0IE1pYyBNaXggTXV0ZSAqLworCWFkMTg0M19IUE9TICAgPSB7ICA4LCAgNCwgIDEgfSwJLyogSGVhZHBob25lIE91dHB1dCBWb2x0YWdlIFN3aW5nICovCisJYWQxODQzX0hQT00gICA9IHsgIDgsICA1LCAgMSB9LAkvKiBIZWFkcGhvbmUgT3V0cHV0IE11dGUgKi8KKwlhZDE4NDNfTVBPTSAgID0geyAgOCwgIDYsICAxIH0sCS8qIE1vbm8gT3V0cHV0IE11dGUgKi8KKwlhZDE4NDNfUkRBMUcgID0geyAgOSwgIDAsICA2IH0sCS8qIFJpZ2h0IERBQzEgQW5hbG9nL0RpZ2l0YWwgR2FpbiAqLworCWFkMTg0M19SREExR00gPSB7ICA5LCAgNywgIDEgfSwJLyogUmlnaHQgREFDMSBBbmFsb2cgTXV0ZSAqLworCWFkMTg0M19MREExRyAgPSB7ICA5LCAgOCwgIDYgfSwJLyogTGVmdCBEQUMxIEFuYWxvZy9EaWdpdGFsIEdhaW4gKi8KKwlhZDE4NDNfTERBMUdNID0geyAgOSwgMTUsICAxIH0sCS8qIExlZnQgREFDMSBBbmFsb2cgTXV0ZSAqLworCWFkMTg0M19SREEyRyAgPSB7IDEwLCAgMCwgIDYgfSwJLyogUmlnaHQgREFDMiBBbmFsb2cvRGlnaXRhbCBHYWluICovCisJYWQxODQzX1JEQTJHTSA9IHsgMTAsICA3LCAgMSB9LAkvKiBSaWdodCBEQUMyIEFuYWxvZyBNdXRlICovCisJYWQxODQzX0xEQTJHICA9IHsgMTAsICA4LCAgNiB9LAkvKiBMZWZ0IERBQzIgQW5hbG9nL0RpZ2l0YWwgR2FpbiAqLworCWFkMTg0M19MREEyR00gPSB7IDEwLCAxNSwgIDEgfSwJLyogTGVmdCBEQUMyIEFuYWxvZyBNdXRlICovCisJYWQxODQzX1JEQTFBTSA9IHsgMTEsICA3LCAgMSB9LAkvKiBSaWdodCBEQUMxIERpZ2l0YWwgTXV0ZSAqLworCWFkMTg0M19MREExQU0gPSB7IDExLCAxNSwgIDEgfSwJLyogTGVmdCBEQUMxIERpZ2l0YWwgTXV0ZSAqLworCWFkMTg0M19SREEyQU0gPSB7IDEyLCAgNywgIDEgfSwJLyogUmlnaHQgREFDMiBEaWdpdGFsIE11dGUgKi8KKwlhZDE4NDNfTERBMkFNID0geyAxMiwgMTUsICAxIH0sCS8qIExlZnQgREFDMiBEaWdpdGFsIE11dGUgKi8KKwlhZDE4NDNfQURMQyAgID0geyAxNSwgIDAsICAyIH0sCS8qIEFEQyBMZWZ0IFNhbXBsZSBSYXRlIFNvdXJjZSAqLworCWFkMTg0M19BRFJDICAgPSB7IDE1LCAgMiwgIDIgfSwJLyogQURDIFJpZ2h0IFNhbXBsZSBSYXRlIFNvdXJjZSAqLworCWFkMTg0M19EQTFDICAgPSB7IDE1LCAgOCwgIDIgfSwJLyogREFDMSBTYW1wbGUgUmF0ZSBTb3VyY2UgKi8KKwlhZDE4NDNfREEyQyAgID0geyAxNSwgMTAsICAyIH0sCS8qIERBQzIgU2FtcGxlIFJhdGUgU291cmNlICovCisJYWQxODQzX0MxQyAgICA9IHsgMTcsICAwLCAxNiB9LAkvKiBDbG9jayAxIFNhbXBsZSBSYXRlIFNlbGVjdCAqLworCWFkMTg0M19DMkMgICAgPSB7IDIwLCAgMCwgMTYgfSwJLyogQ2xvY2sgMiBTYW1wbGUgUmF0ZSBTZWxlY3QgKi8KKwlhZDE4NDNfQzNDICAgID0geyAyMywgIDAsIDE2IH0sCS8qIENsb2NrIDMgU2FtcGxlIFJhdGUgU2VsZWN0ICovCisJYWQxODQzX0RBQURMICA9IHsgMjUsICA0LCAgMiB9LAkvKiBEaWdpdGFsIEFEQyBMZWZ0IFNvdXJjZSBTZWxlY3QgKi8KKwlhZDE4NDNfREFBRFIgID0geyAyNSwgIDYsICAyIH0sCS8qIERpZ2l0YWwgQURDIFJpZ2h0IFNvdXJjZSBTZWxlY3QgKi8KKwlhZDE4NDNfREFNSVggID0geyAyNSwgMTQsICAxIH0sCS8qIERBQyBEaWdpdGFsIE1peCBFbmFibGUgKi8KKwlhZDE4NDNfRFJTRkxUID0geyAyNSwgMTUsICAxIH0sCS8qIERpZ2l0YWwgUmVhbXBsZXIgRmlsdGVyIE1vZGUgKi8KKwlhZDE4NDNfQURMRiAgID0geyAyNiwgIDAsICAyIH0sIC8qIEFEQyBMZWZ0IENoYW5uZWwgRGF0YSBGb3JtYXQgKi8KKwlhZDE4NDNfQURSRiAgID0geyAyNiwgIDIsICAyIH0sIC8qIEFEQyBSaWdodCBDaGFubmVsIERhdGEgRm9ybWF0ICovCisJYWQxODQzX0FEVExLICA9IHsgMjYsICA0LCAgMSB9LAkvKiBBREMgVHJhbnNtaXQgTG9jayBNb2RlIFNlbGVjdCAqLworCWFkMTg0M19TQ0YgICAgPSB7IDI2LCAgNywgIDEgfSwJLyogU0NMSyBGcmVxdWVuY3kgU2VsZWN0ICovCisJYWQxODQzX0RBMUYgICA9IHsgMjYsICA4LCAgMiB9LAkvKiBEQUMxIERhdGEgRm9ybWF0IFNlbGVjdCAqLworCWFkMTg0M19EQTJGICAgPSB7IDI2LCAxMCwgIDIgfSwJLyogREFDMiBEYXRhIEZvcm1hdCBTZWxlY3QgKi8KKwlhZDE4NDNfREExU00gID0geyAyNiwgMTQsICAxIH0sCS8qIERBQzEgU3RlcmVvL01vbm8gTW9kZSBTZWxlY3QgKi8KKwlhZDE4NDNfREEyU00gID0geyAyNiwgMTUsICAxIH0sCS8qIERBQzIgU3RlcmVvL01vbm8gTW9kZSBTZWxlY3QgKi8KKwlhZDE4NDNfQURMRU4gID0geyAyNywgIDAsICAxIH0sCS8qIEFEQyBMZWZ0IENoYW5uZWwgRW5hYmxlICovCisJYWQxODQzX0FEUkVOICA9IHsgMjcsICAxLCAgMSB9LAkvKiBBREMgUmlnaHQgQ2hhbm5lbCBFbmFibGUgKi8KKwlhZDE4NDNfQUFNRU4gID0geyAyNywgIDQsICAxIH0sCS8qIEFuYWxvZyB0byBBbmFsb2cgTWl4IEVuYWJsZSAqLworCWFkMTg0M19BTkFFTiAgPSB7IDI3LCAgNywgIDEgfSwJLyogQW5hbG9nIENoYW5uZWwgRW5hYmxlICovCisJYWQxODQzX0RBMUVOICA9IHsgMjcsICA4LCAgMSB9LAkvKiBEQUMxIEVuYWJsZSAqLworCWFkMTg0M19EQTJFTiAgPSB7IDI3LCAgOSwgIDEgfSwJLyogREFDMiBFbmFibGUgKi8KKwlhZDE4NDNfRERNRU4gID0geyAyNywgMTIsICAxIH0sCS8qIERBQzIgdG8gREFDMSBNaXggIEVuYWJsZSAqLworCWFkMTg0M19DMUVOICAgPSB7IDI4LCAxMSwgIDEgfSwJLyogQ2xvY2sgR2VuZXJhdG9yIDEgRW5hYmxlICovCisJYWQxODQzX0MyRU4gICA9IHsgMjgsIDEyLCAgMSB9LAkvKiBDbG9jayBHZW5lcmF0b3IgMiBFbmFibGUgKi8KKwlhZDE4NDNfQzNFTiAgID0geyAyOCwgMTMsICAxIH0sCS8qIENsb2NrIEdlbmVyYXRvciAzIEVuYWJsZSAqLworCWFkMTg0M19QRE5JICAgPSB7IDI4LCAxNSwgIDEgfTsJLyogQ29udmVydGVyIFBvd2VyIERvd24gKi8KKworLyoKKyAqIFRoZSB2YXJpb3VzIHJlZ2lzdGVycyBvZiB0aGUgQUQxODQzIHVzZSB0aHJlZSBkaWZmZXJlbnQgZm9ybWF0cyBmb3IKKyAqIHNwZWNpZnlpbmcgZ2Fpbi4gIFRoZSBhZDE4NDNfZ2FpbiBzdHJ1Y3R1cmUgcGFyYW1ldGVyaXplcyB0aGUKKyAqIGZvcm1hdHMuCisgKi8KKworc3RydWN0IGFkMTg0M19nYWluIHsKKwlpbnQJbmVnYXRpdmU7CQkvKiBub256ZXJvIGlmIGdhaW4gaXMgbmVnYXRpdmUuICovCisJY29uc3Qgc3RydWN0IGFkMTg0M19iaXRmaWVsZCAqbGZpZWxkOworCWNvbnN0IHN0cnVjdCBhZDE4NDNfYml0ZmllbGQgKnJmaWVsZDsKKwljb25zdCBzdHJ1Y3QgYWQxODQzX2JpdGZpZWxkICpsbXV0ZTsKKwljb25zdCBzdHJ1Y3QgYWQxODQzX2JpdGZpZWxkICpybXV0ZTsKK307CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgYWQxODQzX2dhaW4gYWQxODQzX2dhaW5fUkVDTEVWID0geworCS5uZWdhdGl2ZSA9IDAsCisJLmxmaWVsZCAgID0gJmFkMTg0M19MSUcsCisJLnJmaWVsZCAgID0gJmFkMTg0M19SSUcKK307CitzdGF0aWMgY29uc3Qgc3RydWN0IGFkMTg0M19nYWluIGFkMTg0M19nYWluX0xJTkUgPSB7CisJLm5lZ2F0aXZlID0gMSwKKwkubGZpZWxkICAgPSAmYWQxODQzX0xYMU0sCisJLnJmaWVsZCAgID0gJmFkMTg0M19SWDFNLAorCS5sbXV0ZSAgICA9ICZhZDE4NDNfTFgxTU0sCisJLnJtdXRlICAgID0gJmFkMTg0M19SWDFNTQorfTsKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgYWQxODQzX2dhaW4gYWQxODQzX2dhaW5fTElORV8yID0geworCS5uZWdhdGl2ZSA9IDEsCisJLmxmaWVsZCAgID0gJmFkMTg0M19MREEyRywKKwkucmZpZWxkICAgPSAmYWQxODQzX1JEQTJHLAorCS5sbXV0ZSAgICA9ICZhZDE4NDNfTERBMkdNLAorCS5ybXV0ZSAgICA9ICZhZDE4NDNfUkRBMkdNCit9Oworc3RhdGljIGNvbnN0IHN0cnVjdCBhZDE4NDNfZ2FpbiBhZDE4NDNfZ2Fpbl9NSUMgPSB7CisJLm5lZ2F0aXZlID0gMSwKKwkubGZpZWxkICAgPSAmYWQxODQzX0xNQ00sCisJLnJmaWVsZCAgID0gJmFkMTg0M19STUNNLAorCS5sbXV0ZSAgICA9ICZhZDE4NDNfTE1DTU0sCisJLnJtdXRlICAgID0gJmFkMTg0M19STUNNTQorfTsKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgYWQxODQzX2dhaW4gYWQxODQzX2dhaW5fUENNXzAgPSB7CisJLm5lZ2F0aXZlID0gMSwKKwkubGZpZWxkICAgPSAmYWQxODQzX0xEQTFHLAorCS5yZmllbGQgICA9ICZhZDE4NDNfUkRBMUcsCisJLmxtdXRlICAgID0gJmFkMTg0M19MREExR00sCisJLnJtdXRlICAgID0gJmFkMTg0M19SREExR00KK307CitzdGF0aWMgY29uc3Qgc3RydWN0IGFkMTg0M19nYWluIGFkMTg0M19nYWluX1BDTV8xID0geworCS5uZWdhdGl2ZSA9IDEsCisJLmxmaWVsZCAgID0gJmFkMTg0M19MRDJNLAorCS5yZmllbGQgICA9ICZhZDE4NDNfUkQyTSwKKwkubG11dGUgICAgPSAmYWQxODQzX0xEMk1NLAorCS5ybXV0ZSAgICA9ICZhZDE4NDNfUkQyTU0KK307CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgYWQxODQzX2dhaW4gKmFkMTg0M19nYWluW0FEMTg0M19HQUlOX1NJWkVdID0KK3sKKwkmYWQxODQzX2dhaW5fUkVDTEVWLAorCSZhZDE4NDNfZ2Fpbl9MSU5FLAorCSZhZDE4NDNfZ2Fpbl9MSU5FXzIsCisJJmFkMTg0M19nYWluX01JQywKKwkmYWQxODQzX2dhaW5fUENNXzAsCisJJmFkMTg0M19nYWluX1BDTV8xLAorfTsKKworLyogcmVhZCB0aGUgY3VycmVudCB2YWx1ZSBvZiBhbiBBRDE4NDMgYml0ZmllbGQuICovCisKK3N0YXRpYyBpbnQgYWQxODQzX3JlYWRfYml0cyhzdHJ1Y3Qgc25kX2FkMTg0MyAqYWQxODQzLAorCQkJICAgIGNvbnN0IHN0cnVjdCBhZDE4NDNfYml0ZmllbGQgKmZpZWxkKQoreworCWludCB3OworCisJdyA9IGFkMTg0My0+cmVhZChhZDE4NDMtPmNoaXAsIGZpZWxkLT5yZWcpOworCXJldHVybiB3ID4+IGZpZWxkLT5sb19iaXQgJiAoKDEgPDwgZmllbGQtPm5iaXRzKSAtIDEpOworfQorCisvKgorICogd3JpdGUgYSBuZXcgdmFsdWUgdG8gYW4gQUQxODQzIGJpdGZpZWxkIGFuZCByZXR1cm4gdGhlIG9sZCB2YWx1ZS4KKyAqLworCitzdGF0aWMgaW50IGFkMTg0M193cml0ZV9iaXRzKHN0cnVjdCBzbmRfYWQxODQzICphZDE4NDMsCisJCQkgICAgIGNvbnN0IHN0cnVjdCBhZDE4NDNfYml0ZmllbGQgKmZpZWxkLAorCQkJICAgICBpbnQgbmV3dmFsKQoreworCWludCB3LCBtYXNrLCBvbGR2YWwsIG5ld2JpdHM7CisKKwl3ID0gYWQxODQzLT5yZWFkKGFkMTg0My0+Y2hpcCwgZmllbGQtPnJlZyk7CisJbWFzayA9ICgoMSA8PCBmaWVsZC0+bmJpdHMpIC0gMSkgPDwgZmllbGQtPmxvX2JpdDsKKwlvbGR2YWwgPSAodyAmIG1hc2spID4+IGZpZWxkLT5sb19iaXQ7CisJbmV3Yml0cyA9IChuZXd2YWwgPDwgZmllbGQtPmxvX2JpdCkgJiBtYXNrOworCXcgPSAodyAmIH5tYXNrKSB8IG5ld2JpdHM7CisJYWQxODQzLT53cml0ZShhZDE4NDMtPmNoaXAsIGZpZWxkLT5yZWcsIHcpOworCisJcmV0dXJuIG9sZHZhbDsKK30KKworLyoKKyAqIGFkMTg0M19yZWFkX211bHRpIHJlYWRzIG11bHRpcGxlIGJpdGZpZWxkcyBmcm9tIHRoZSBzYW1lIEFEMTg0MworICogcmVnaXN0ZXIuICBJdCB1c2VzIGEgc2luZ2xlIHJlYWQgY3ljbGUgdG8gZG8gaXQuICAoUmVhZGluZyB0aGUKKyAqIGFkMTg0MyByZXF1aXJlcyAyNTYgYml0IHRpbWVzIGF0IDEyLjI4OCBNSHosIG9yIG5lYXJseSAyMAorICogbWljcm9zZWNvbmRzLikKKyAqCisgKiBDYWxsZWQgbGlrZSB0aGlzLgorICoKKyAqICBhZDE4NDNfcmVhZF9tdWx0aShhZDE4NDMsIG5maWVsZHMsCisgKgkJICAgICAgJmFkMTg0M19GSUVMRDEsICZ2YWwxLAorICoJCSAgICAgICZhZDE4NDNfRklFTEQyLCAmdmFsMiwgLi4uKTsKKyAqLworCitzdGF0aWMgdm9pZCBhZDE4NDNfcmVhZF9tdWx0aShzdHJ1Y3Qgc25kX2FkMTg0MyAqYWQxODQzLCBpbnQgYXJnY291bnQsIC4uLikKK3sKKwl2YV9saXN0IGFwOworCWNvbnN0IHN0cnVjdCBhZDE4NDNfYml0ZmllbGQgKmZwOworCWludCB3ID0gMCwgbWFzaywgKnZhbHVlLCByZWcgPSAtMTsKKworCXZhX3N0YXJ0KGFwLCBhcmdjb3VudCk7CisJd2hpbGUgKC0tYXJnY291bnQgPj0gMCkgeworCQlmcCA9IHZhX2FyZyhhcCwgY29uc3Qgc3RydWN0IGFkMTg0M19iaXRmaWVsZCAqKTsKKwkJdmFsdWUgPSB2YV9hcmcoYXAsIGludCAqKTsKKwkJaWYgKHJlZyA9PSAtMSkgeworCQkJcmVnID0gZnAtPnJlZzsKKwkJCXcgPSBhZDE4NDMtPnJlYWQoYWQxODQzLT5jaGlwLCByZWcpOworCQl9CisKKwkJbWFzayA9ICgxIDw8IGZwLT5uYml0cykgLSAxOworCQkqdmFsdWUgPSB3ID4+IGZwLT5sb19iaXQgJiBtYXNrOworCX0KKwl2YV9lbmQoYXApOworfQorCisvKgorICogYWQxODQzX3dyaXRlX211bHRpIHN0b3JlcyBtdWx0aXBsZSBiaXRmaWVsZHMgaW50byB0aGUgc2FtZSBBRDE4NDMKKyAqIHJlZ2lzdGVyLiAgSXQgdXNlcyBvbmUgcmVhZCBhbmQgb25lIHdyaXRlIGN5Y2xlIHRvIGRvIGl0LgorICoKKyAqIENhbGxlZCBsaWtlIHRoaXMuCisgKgorICogIGFkMTg0M193cml0ZV9tdWx0aShhZDE4NDMsIG5maWVsZHMsCisgKgkJICAgICAgICZhZDE4NDNfRklFTEQxLCB2YWwxLAorICoJCSAgICAgICAmYWQxODQzX0ZJRUxGMiwgdmFsMiwgLi4uKTsKKyAqLworCitzdGF0aWMgdm9pZCBhZDE4NDNfd3JpdGVfbXVsdGkoc3RydWN0IHNuZF9hZDE4NDMgKmFkMTg0MywgaW50IGFyZ2NvdW50LCAuLi4pCit7CisJdmFfbGlzdCBhcDsKKwlpbnQgcmVnOworCWNvbnN0IHN0cnVjdCBhZDE4NDNfYml0ZmllbGQgKmZwOworCWludCB2YWx1ZTsKKwlpbnQgdywgbSwgbWFzaywgYml0czsKKworCW1hc2sgPSAwOworCWJpdHMgPSAwOworCXJlZyA9IC0xOworCisJdmFfc3RhcnQoYXAsIGFyZ2NvdW50KTsKKwl3aGlsZSAoLS1hcmdjb3VudCA+PSAwKSB7CisJCWZwID0gdmFfYXJnKGFwLCBjb25zdCBzdHJ1Y3QgYWQxODQzX2JpdGZpZWxkICopOworCQl2YWx1ZSA9IHZhX2FyZyhhcCwgaW50KTsKKwkJaWYgKHJlZyA9PSAtMSkKKwkJCXJlZyA9IGZwLT5yZWc7CisJCWVsc2UKKwkJCUJVR19PTihyZWcgIT0gZnAtPnJlZyk7CisJCW0gPSAoKDEgPDwgZnAtPm5iaXRzKSAtIDEpIDw8IGZwLT5sb19iaXQ7CisJCW1hc2sgfD0gbTsKKwkJYml0cyB8PSAodmFsdWUgPDwgZnAtPmxvX2JpdCkgJiBtOworCX0KKwl2YV9lbmQoYXApOworCisJaWYgKH5tYXNrICYgMHhGRkZGKQorCQl3ID0gYWQxODQzLT5yZWFkKGFkMTg0My0+Y2hpcCwgcmVnKTsKKwllbHNlCisJCXcgPSAwOworCXcgPSAodyAmIH5tYXNrKSB8IGJpdHM7CisJYWQxODQzLT53cml0ZShhZDE4NDMtPmNoaXAsIHJlZywgdyk7Cit9CisKK2ludCBhZDE4NDNfZ2V0X2dhaW5fbWF4KHN0cnVjdCBzbmRfYWQxODQzICphZDE4NDMsIGludCBpZCkKK3sKKwljb25zdCBzdHJ1Y3QgYWQxODQzX2dhaW4gKmdwID0gYWQxODQzX2dhaW5baWRdOworCWludCByZXQ7CisKKwlyZXQgPSAoMSA8PCBncC0+bGZpZWxkLT5uYml0cyk7CisJaWYgKCFncC0+bG11dGUpCisJCXJldCAtPSAxOworCXJldHVybiByZXQ7Cit9CisKKy8qCisgKiBhZDE4NDNfZ2V0X2dhaW4gcmVhZHMgdGhlIHNwZWNpZmllZCByZWdpc3RlciBhbmQgZXh0cmFjdHMgdGhlIGdhaW4gdmFsdWUKKyAqIHVzaW5nIHRoZSBzdXBwbGllZCBnYWluIHR5cGUuCisgKi8KKworaW50IGFkMTg0M19nZXRfZ2FpbihzdHJ1Y3Qgc25kX2FkMTg0MyAqYWQxODQzLCBpbnQgaWQpCit7CisJaW50IGxnLCByZywgbG0sIHJtOworCWNvbnN0IHN0cnVjdCBhZDE4NDNfZ2FpbiAqZ3AgPSBhZDE4NDNfZ2FpbltpZF07CisJdW5zaWduZWQgc2hvcnQgbWFzayA9ICgxIDw8IGdwLT5sZmllbGQtPm5iaXRzKSAtIDE7CisKKwlhZDE4NDNfcmVhZF9tdWx0aShhZDE4NDMsIDIsIGdwLT5sZmllbGQsICZsZywgZ3AtPnJmaWVsZCwgJnJnKTsKKwlpZiAoZ3AtPm5lZ2F0aXZlKSB7CisJCWxnID0gbWFzayAtIGxnOworCQlyZyA9IG1hc2sgLSByZzsKKwl9CisJaWYgKGdwLT5sbXV0ZSkgeworCQlhZDE4NDNfcmVhZF9tdWx0aShhZDE4NDMsIDIsIGdwLT5sbXV0ZSwgJmxtLCBncC0+cm11dGUsICZybSk7CisJCWlmIChsbSkKKwkJCWxnID0gMDsKKwkJaWYgKHJtKQorCQkJcmcgPSAwOworCX0KKwlyZXR1cm4gbGcgPDwgMCB8IHJnIDw8IDg7Cit9CisKKy8qCisgKiBTZXQgYW4gYXVkaW8gY2hhbm5lbCdzIGdhaW4uCisgKgorICogUmV0dXJucyB0aGUgbmV3IGdhaW4sIHdoaWNoIG1heSBiZSBsb3dlciB0aGFuIHRoZSBvbGQgZ2Fpbi4KKyAqLworCitpbnQgYWQxODQzX3NldF9nYWluKHN0cnVjdCBzbmRfYWQxODQzICphZDE4NDMsIGludCBpZCwgaW50IG5ld3ZhbCkKK3sKKwljb25zdCBzdHJ1Y3QgYWQxODQzX2dhaW4gKmdwID0gYWQxODQzX2dhaW5baWRdOworCXVuc2lnbmVkIHNob3J0IG1hc2sgPSAoMSA8PCBncC0+bGZpZWxkLT5uYml0cykgLSAxOworCisJaW50IGxnID0gKG5ld3ZhbCA+PiAwKSAmIG1hc2s7CisJaW50IHJnID0gKG5ld3ZhbCA+PiA4KSAmIG1hc2s7CisJaW50IGxtID0gKGxnID09IDApID8gMSA6IDA7CisJaW50IHJtID0gKHJnID09IDApID8gMSA6IDA7CisKKwlpZiAoZ3AtPm5lZ2F0aXZlKSB7CisJCWxnID0gbWFzayAtIGxnOworCQlyZyA9IG1hc2sgLSByZzsKKwl9CisJaWYgKGdwLT5sbXV0ZSkKKwkJYWQxODQzX3dyaXRlX211bHRpKGFkMTg0MywgMiwgZ3AtPmxtdXRlLCBsbSwgZ3AtPnJtdXRlLCBybSk7CisJYWQxODQzX3dyaXRlX211bHRpKGFkMTg0MywgMiwgZ3AtPmxmaWVsZCwgbGcsIGdwLT5yZmllbGQsIHJnKTsKKwlyZXR1cm4gYWQxODQzX2dldF9nYWluKGFkMTg0MywgaWQpOworfQorCisvKiBSZXR1cm5zIHRoZSBjdXJyZW50IHJlY29yZGluZyBzb3VyY2UgKi8KKworaW50IGFkMTg0M19nZXRfcmVjc3JjKHN0cnVjdCBzbmRfYWQxODQzICphZDE4NDMpCit7CisJaW50IHZhbCA9IGFkMTg0M19yZWFkX2JpdHMoYWQxODQzLCAmYWQxODQzX0xTUyk7CisKKwlpZiAodmFsIDwgMCB8fCB2YWwgPiAyKSB7CisJCXZhbCA9IDI7CisJCWFkMTg0M193cml0ZV9tdWx0aShhZDE4NDMsIDIsCisJCQkJICAgJmFkMTg0M19MU1MsIHZhbCwgJmFkMTg0M19SU1MsIHZhbCk7CisJfQorCXJldHVybiB2YWw7Cit9CisKKy8qCisgKiBTZXQgcmVjb3JkaW5nIHNvdXJjZS4KKyAqCisgKiBSZXR1cm5zIG5ld3NyYyBvbiBzdWNjZXNzLCAtZXJybm8gb24gZmFpbHVyZS4KKyAqLworCitpbnQgYWQxODQzX3NldF9yZWNzcmMoc3RydWN0IHNuZF9hZDE4NDMgKmFkMTg0MywgaW50IG5ld3NyYykKK3sKKwlpZiAobmV3c3JjIDwgMCB8fCBuZXdzcmMgPiAyKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWFkMTg0M193cml0ZV9tdWx0aShhZDE4NDMsIDIsICZhZDE4NDNfTFNTLCBuZXdzcmMsICZhZDE4NDNfUlNTLCBuZXdzcmMpOworCXJldHVybiBuZXdzcmM7Cit9CisKKy8qIFNldHVwIGFkMTg0MyBmb3IgRC9BIGNvbnZlcnNpb24uICovCisKK3ZvaWQgYWQxODQzX3NldHVwX2RhYyhzdHJ1Y3Qgc25kX2FkMTg0MyAqYWQxODQzLAorCQkgICAgICB1bnNpZ25lZCBpbnQgaWQsCisJCSAgICAgIHVuc2lnbmVkIGludCBmcmFtZXJhdGUsCisJCSAgICAgIHNuZF9wY21fZm9ybWF0X3QgZm10LAorCQkgICAgICB1bnNpZ25lZCBpbnQgY2hhbm5lbHMpCit7CisJaW50IGFkX2ZtdCA9IDAsIGFkX21vZGUgPSAwOworCisJc3dpdGNoIChmbXQpIHsKKwljYXNlIFNORFJWX1BDTV9GT1JNQVRfUzg6CisJCWFkX2ZtdCA9IDA7CisJCWJyZWFrOworCWNhc2UgU05EUlZfUENNX0ZPUk1BVF9VODoKKwkJYWRfZm10ID0gMDsKKwkJYnJlYWs7CisJY2FzZSBTTkRSVl9QQ01fRk9STUFUX1MxNl9MRToKKwkJYWRfZm10ID0gMTsKKwkJYnJlYWs7CisJY2FzZSBTTkRSVl9QQ01fRk9STUFUX01VX0xBVzoKKwkJYWRfZm10ID0gMjsKKwkJYnJlYWs7CisJY2FzZSBTTkRSVl9QQ01fRk9STUFUX0FfTEFXOgorCQlhZF9mbXQgPSAzOworCQlicmVhazsKKwlkZWZhdWx0OgorCQlicmVhazsKKwl9CisKKwlzd2l0Y2ggKGNoYW5uZWxzKSB7CisJY2FzZSAyOgorCQlhZF9tb2RlID0gMDsKKwkJYnJlYWs7CisJY2FzZSAxOgorCQlhZF9tb2RlID0gMTsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJYnJlYWs7CisJfQorCisJaWYgKGlkKSB7CisJCWFkMTg0M193cml0ZV9iaXRzKGFkMTg0MywgJmFkMTg0M19DMkMsIGZyYW1lcmF0ZSk7CisJCWFkMTg0M193cml0ZV9tdWx0aShhZDE4NDMsIDIsCisJCQkJICAgJmFkMTg0M19EQTJTTSwgYWRfbW9kZSwKKwkJCQkgICAmYWQxODQzX0RBMkYsIGFkX2ZtdCk7CisJfSBlbHNlIHsKKwkJYWQxODQzX3dyaXRlX2JpdHMoYWQxODQzLCAmYWQxODQzX0MxQywgZnJhbWVyYXRlKTsKKwkJYWQxODQzX3dyaXRlX211bHRpKGFkMTg0MywgMiwKKwkJCQkgICAmYWQxODQzX0RBMVNNLCBhZF9tb2RlLAorCQkJCSAgICZhZDE4NDNfREExRiwgYWRfZm10KTsKKwl9Cit9CisKK3ZvaWQgYWQxODQzX3NodXRkb3duX2RhYyhzdHJ1Y3Qgc25kX2FkMTg0MyAqYWQxODQzLCB1bnNpZ25lZCBpbnQgaWQpCit7CisJaWYgKGlkKQorCQlhZDE4NDNfd3JpdGVfYml0cyhhZDE4NDMsICZhZDE4NDNfREEyRiwgMSk7CisJZWxzZQorCQlhZDE4NDNfd3JpdGVfYml0cyhhZDE4NDMsICZhZDE4NDNfREExRiwgMSk7Cit9CisKK3ZvaWQgYWQxODQzX3NldHVwX2FkYyhzdHJ1Y3Qgc25kX2FkMTg0MyAqYWQxODQzLAorCQkgICAgICB1bnNpZ25lZCBpbnQgZnJhbWVyYXRlLAorCQkgICAgICBzbmRfcGNtX2Zvcm1hdF90IGZtdCwKKwkJICAgICAgdW5zaWduZWQgaW50IGNoYW5uZWxzKQoreworCWludCBkYV9mbXQgPSAwOworCisJc3dpdGNoIChmbXQpIHsKKwljYXNlIFNORFJWX1BDTV9GT1JNQVRfUzg6CWRhX2ZtdCA9IDA7IGJyZWFrOworCWNhc2UgU05EUlZfUENNX0ZPUk1BVF9VODoJZGFfZm10ID0gMDsgYnJlYWs7CisJY2FzZSBTTkRSVl9QQ01fRk9STUFUX1MxNl9MRToJZGFfZm10ID0gMTsgYnJlYWs7CisJY2FzZSBTTkRSVl9QQ01fRk9STUFUX01VX0xBVzoJZGFfZm10ID0gMjsgYnJlYWs7CisJY2FzZSBTTkRSVl9QQ01fRk9STUFUX0FfTEFXOglkYV9mbXQgPSAzOyBicmVhazsKKwlkZWZhdWx0OgkJYnJlYWs7CisJfQorCisJYWQxODQzX3dyaXRlX2JpdHMoYWQxODQzLCAmYWQxODQzX0MzQywgZnJhbWVyYXRlKTsKKwlhZDE4NDNfd3JpdGVfbXVsdGkoYWQxODQzLCAyLAorCQkJICAgJmFkMTg0M19BRExGLCBkYV9mbXQsICZhZDE4NDNfQURSRiwgZGFfZm10KTsKK30KKwordm9pZCBhZDE4NDNfc2h1dGRvd25fYWRjKHN0cnVjdCBzbmRfYWQxODQzICphZDE4NDMpCit7CisJLyogbm90aGluZyB0byBkbyAqLworfQorCisvKgorICogRnVsbHkgaW5pdGlhbGl6ZSB0aGUgYWQxODQzLiAgQXMgZGVzY3JpYmVkIGluIHRoZSBBRDE4NDMgZGF0YQorICogc2hlZXQsIHNlY3Rpb24gIlNUQVJULVVQIFNFUVVFTkNFIi4gIFRoZSBudW1iZXJlZCBjb21tZW50cyBhcmUKKyAqIHN1YnNlY3Rpb24gaGVhZGluZ3MgZnJvbSB0aGUgZGF0YSBzaGVldC4gIFNlZSB0aGUgZGF0YSBzaGVldCwgcGFnZXMKKyAqIDUyLTU0LCBmb3IgbW9yZSBpbmZvLgorICoKKyAqIHJldHVybiAwIG9uIHN1Y2Nlc3MsIC1lcnJubyBvbiBmYWlsdXJlLiAgKi8KKworaW50IGFkMTg0M19pbml0KHN0cnVjdCBzbmRfYWQxODQzICphZDE4NDMpCit7CisJdW5zaWduZWQgbG9uZyBsYXRlcjsKKworCWlmIChhZDE4NDNfcmVhZF9iaXRzKGFkMTg0MywgJmFkMTg0M19JTklUKSAhPSAwKSB7CisJCXByaW50ayhLRVJOX0VSUiAiYWQxODQzOiBBRDE4NDMgd29uJ3QgaW5pdGlhbGl6ZVxuIik7CisJCXJldHVybiAtRUlPOworCX0KKworCWFkMTg0M193cml0ZV9iaXRzKGFkMTg0MywgJmFkMTg0M19TQ0YsIDEpOworCisJLyogNC4gUHV0IHRoZSBjb252ZXJzaW9uIHJlc291cmNlcyBpbnRvIHN0YW5kYnkuICovCisJYWQxODQzX3dyaXRlX2JpdHMoYWQxODQzLCAmYWQxODQzX1BETkksIDApOworCWxhdGVyID0gamlmZmllcyArIG1zZWNzX3RvX2ppZmZpZXMoNTAwKTsKKworCXdoaWxlIChhZDE4NDNfcmVhZF9iaXRzKGFkMTg0MywgJmFkMTg0M19QRE5PKSkgeworCQlpZiAodGltZV9hZnRlcihqaWZmaWVzLCBsYXRlcikpIHsKKwkJCXByaW50ayhLRVJOX0VSUgorCQkJICAgICAgICJhZDE4NDM6IEFEMTg0MyB3b24ndCBwb3dlciB1cFxuIik7CisJCQlyZXR1cm4gLUVJTzsKKwkJfQorCQlzY2hlZHVsZV90aW1lb3V0X2ludGVycnVwdGlibGUoNSk7CisJfQorCisJLyogNS4gUG93ZXIgdXAgdGhlIGNsb2NrIGdlbmVyYXRvcnMgYW5kIGVuYWJsZSBjbG9jayBvdXRwdXQgcGlucy4gKi8KKwlhZDE4NDNfd3JpdGVfbXVsdGkoYWQxODQzLCAzLAorCQkJICAgJmFkMTg0M19DMUVOLCAxLAorCQkJICAgJmFkMTg0M19DMkVOLCAxLAorCQkJICAgJmFkMTg0M19DM0VOLCAxKTsKKworCS8qIDYuIENvbmZpZ3VyZSBjb252ZXJzaW9uIHJlc291cmNlcyB3aGlsZSB0aGV5IGFyZSBpbiBzdGFuZGJ5LiAqLworCisJLyogREFDMS8yIHVzZSBjbG9jayAxLzIgYXMgc291cmNlLCBBREMgdXNlcyBjbG9jayAzLiAgQWx3YXlzLiAqLworCWFkMTg0M193cml0ZV9tdWx0aShhZDE4NDMsIDQsCisJCQkgICAmYWQxODQzX0RBMUMsIDEsCisJCQkgICAmYWQxODQzX0RBMkMsIDIsCisJCQkgICAmYWQxODQzX0FETEMsIDMsCisJCQkgICAmYWQxODQzX0FEUkMsIDMpOworCisJLyogNy4gRW5hYmxlIGNvbnZlcnNpb24gcmVzb3VyY2VzLiAqLworCWFkMTg0M193cml0ZV9iaXRzKGFkMTg0MywgJmFkMTg0M19BRFRMSywgMSk7CisJYWQxODQzX3dyaXRlX211bHRpKGFkMTg0MywgNywKKwkJCSAgICZhZDE4NDNfQU5BRU4sIDEsCisJCQkgICAmYWQxODQzX0FBTUVOLCAxLAorCQkJICAgJmFkMTg0M19EQTFFTiwgMSwKKwkJCSAgICZhZDE4NDNfREEyRU4sIDEsCisJCQkgICAmYWQxODQzX0RETUVOLCAxLAorCQkJICAgJmFkMTg0M19BRExFTiwgMSwKKwkJCSAgICZhZDE4NDNfQURSRU4sIDEpOworCisJLyogOC4gQ29uZmlndXJlIGNvbnZlcnNpb24gcmVzb3VyY2VzIHdoaWxlIHRoZXkgYXJlIGVuYWJsZWQuICovCisKKwkvKiBzZXQgZ2FpbiB0byAwIGZvciBhbGwgY2hhbm5lbHMgKi8KKwlhZDE4NDNfc2V0X2dhaW4oYWQxODQzLCBBRDE4NDNfR0FJTl9SRUNMRVYsIDApOworCWFkMTg0M19zZXRfZ2FpbihhZDE4NDMsIEFEMTg0M19HQUlOX0xJTkUsIDApOworCWFkMTg0M19zZXRfZ2FpbihhZDE4NDMsIEFEMTg0M19HQUlOX0xJTkVfMiwgMCk7CisJYWQxODQzX3NldF9nYWluKGFkMTg0MywgQUQxODQzX0dBSU5fTUlDLCAwKTsKKwlhZDE4NDNfc2V0X2dhaW4oYWQxODQzLCBBRDE4NDNfR0FJTl9QQ01fMCwgMCk7CisJYWQxODQzX3NldF9nYWluKGFkMTg0MywgQUQxODQzX0dBSU5fUENNXzEsIDApOworCisJLyogVW5tdXRlIGFsbCBjaGFubmVscy4gKi8KKwkvKiBEQUMxICovCisJYWQxODQzX3dyaXRlX211bHRpKGFkMTg0MywgMiwgJmFkMTg0M19MREExR00sIDAsICZhZDE4NDNfUkRBMUdNLCAwKTsKKwkvKiBEQUMyICovCisJYWQxODQzX3dyaXRlX211bHRpKGFkMTg0MywgMiwgJmFkMTg0M19MREEyR00sIDAsICZhZDE4NDNfUkRBMkdNLCAwKTsKKworCS8qIFNldCBkZWZhdWx0IHJlY29yZGluZyBzb3VyY2UgdG8gTGluZSBJbiBhbmQgc2V0CisJICogbWljIGdhaW4gdG8gKzIwIGRCLgorCSAqLworCWFkMTg0M19zZXRfcmVjc3JjKGFkMTg0MywgMik7CisJYWQxODQzX3dyaXRlX211bHRpKGFkMTg0MywgMiwgJmFkMTg0M19MTUdFLCAxLCAmYWQxODQzX1JNR0UsIDEpOworCisJLyogU2V0IFNwZWFrZXIgT3V0IGxldmVsIHRvICsvLSA0ViBhbmQgdW5tdXRlIGl0LiAqLworCWFkMTg0M193cml0ZV9tdWx0aShhZDE4NDMsIDMsCisJCQkgICAmYWQxODQzX0hQT1MsIDEsCisJCQkgICAmYWQxODQzX0hQT00sIDAsCisJCQkgICAmYWQxODQzX01QT00sIDApOworCisJcmV0dXJuIDA7Cit9CmRpZmYgLS1naXQgYS9zb3VuZC9taXBzL2hhbDIuYyBiL3NvdW5kL21pcHMvaGFsMi5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRiNDk1YmUKLS0tIC9kZXYvbnVsbAorKysgYi9zb3VuZC9taXBzL2hhbDIuYwpAQCAtMCwwICsxLDk0NyBAQAorLyoKKyAqICBEcml2ZXIgZm9yIEEyIGF1ZGlvIHN5c3RlbSB1c2VkIGluIFNHSSBtYWNoaW5lcworICogIENvcHlyaWdodCAoYykgMjAwOCBUaG9tYXMgQm9nZW5kb2VyZmVyIDx0c2JvZ2VuZEBhbHBoYS5mYW5rZW4uZGU+CisgKgorICogIEJhc2VkIG9uIE9TUyBjb2RlIGZyb20gTGFkaXNsYXYgTWljaGwgPGxhZGlzQGxpbnV4LW1pcHMub3JnPiwgd2hpY2gKKyAqICB3YXMgYmFzZWQgb24gY29kZSBmcm9tIFVsZiBDYXJsc3NvbgorICoKKyAqICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCisgKiAgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisgKgorICogIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqICBGb3VuZGF0aW9uLCBJbmMuLCA2NzUgTWFzcyBBdmUsIENhbWJyaWRnZSwgTUEgMDIxMzksIFVTQS4KKyAqCisgKi8KKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+CisjaW5jbHVkZSA8bGludXgvZG1hLW1hcHBpbmcuaD4KKyNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9pby5oPgorCisjaW5jbHVkZSA8YXNtL3NnaS9ocGMzLmg+CisjaW5jbHVkZSA8YXNtL3NnaS9pcDIyLmg+CisKKyNpbmNsdWRlIDxzb3VuZC9jb3JlLmg+CisjaW5jbHVkZSA8c291bmQvY29udHJvbC5oPgorI2luY2x1ZGUgPHNvdW5kL3BjbS5oPgorI2luY2x1ZGUgPHNvdW5kL3BjbS1pbmRpcmVjdC5oPgorI2luY2x1ZGUgPHNvdW5kL2luaXR2YWwuaD4KKworI2luY2x1ZGUgImhhbDIuaCIKKworc3RhdGljIGludCBpbmRleCA9IFNORFJWX0RFRkFVTFRfSURYMTsgIC8qIEluZGV4IDAtTUFYICovCitzdGF0aWMgY2hhciAqaWQgPSBTTkRSVl9ERUZBVUxUX1NUUjE7ICAgLyogSUQgZm9yIHRoaXMgY2FyZCAqLworCittb2R1bGVfcGFyYW0oaW5kZXgsIGludCwgMDQ0NCk7CitNT0RVTEVfUEFSTV9ERVNDKGluZGV4LCAiSW5kZXggdmFsdWUgZm9yIFNHSSBIQUwyIHNvdW5kY2FyZC4iKTsKK21vZHVsZV9wYXJhbShpZCwgY2hhcnAsIDA0NDQpOworTU9EVUxFX1BBUk1fREVTQyhpZCwgIklEIHN0cmluZyBmb3IgU0dJIEhBTDIgc291bmRjYXJkLiIpOworTU9EVUxFX0RFU0NSSVBUSU9OKCJBTFNBIGRyaXZlciBmb3IgU0dJIEhBTDIgYXVkaW8iKTsKK01PRFVMRV9BVVRIT1IoIlRob21hcyBCb2dlbmRvZXJmZXIiKTsKK01PRFVMRV9MSUNFTlNFKCJHUEwiKTsKKworCisjZGVmaW5lIEgyX0JMT0NLX1NJWkUJMTAyNAorI2RlZmluZSBIMl9CVUZfU0laRQkxNjM4NAorCitzdHJ1Y3QgaGFsMl9wYnVzIHsKKwlzdHJ1Y3QgaHBjM19wYnVzX2RtYWNyZWdzICpwYnVzOworCWludCBwYnVzbnI7CisJdW5zaWduZWQgaW50IGN0cmw7CQkvKiBDdXJyZW50IHN0YXRlIG9mIHBidXMtPnBiZG1hX2N0cmwgKi8KK307CisKK3N0cnVjdCBoYWwyX2Rlc2MgeworCXN0cnVjdCBocGNfZG1hX2Rlc2MgZGVzYzsKKwl1MzIgcGFkOwkJCS8qIHBhZGRpbmcgKi8KK307CisKK3N0cnVjdCBoYWwyX2NvZGVjIHsKKwlzdHJ1Y3Qgc25kX3BjbV9pbmRpcmVjdCBwY21faW5kaXJlY3Q7CisJc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW07CisKKwl1bnNpZ25lZCBjaGFyICpidWZmZXI7CisJZG1hX2FkZHJfdCBidWZmZXJfZG1hOworCXN0cnVjdCBoYWwyX2Rlc2MgKmRlc2M7CisJZG1hX2FkZHJfdCBkZXNjX2RtYTsKKwlpbnQgZGVzY19jb3VudDsKKwlzdHJ1Y3QgaGFsMl9wYnVzIHBidXM7CisJaW50IHZvaWNlczsJCQkvKiBtb25vL3N0ZXJlbyAqLworCXVuc2lnbmVkIGludCBzYW1wbGVfcmF0ZTsKKwl1bnNpZ25lZCBpbnQgbWFzdGVyOwkJLyogTWFzdGVyIGZyZXF1ZW5jeSAqLworCXVuc2lnbmVkIHNob3J0IG1vZDsJCS8qIE1PRCB2YWx1ZSAqLworCXVuc2lnbmVkIHNob3J0IGluYzsJCS8qIElOQyB2YWx1ZSAqLworfTsKKworI2RlZmluZSBIMl9NSVhfT1VUUFVUX0FUVAkwCisjZGVmaW5lIEgyX01JWF9JTlBVVF9HQUlOCTEKKworc3RydWN0IHNuZF9oYWwyIHsKKwlzdHJ1Y3Qgc25kX2NhcmQgKmNhcmQ7CisKKwlzdHJ1Y3QgaGFsMl9jdGxfcmVncyAqY3RsX3JlZ3M7CS8qIEhBTDIgY3RsIHJlZ2lzdGVycyAqLworCXN0cnVjdCBoYWwyX2Flc19yZWdzICphZXNfcmVnczsJLyogSEFMMiBhZXMgcmVnaXN0ZXJzICovCisJc3RydWN0IGhhbDJfdm9sX3JlZ3MgKnZvbF9yZWdzOwkvKiBIQUwyIHZvbCByZWdpc3RlcnMgKi8KKwlzdHJ1Y3QgaGFsMl9zeW5fcmVncyAqc3luX3JlZ3M7CS8qIEhBTDIgc3luIHJlZ2lzdGVycyAqLworCisJc3RydWN0IGhhbDJfY29kZWMgZGFjOworCXN0cnVjdCBoYWwyX2NvZGVjIGFkYzsKK307CisKKyNkZWZpbmUgSDJfSU5ESVJFQ1RfV0FJVChyZWdzKQl3aGlsZSAoaGFsMl9yZWFkKCZyZWdzLT5pc3IpICYgSDJfSVNSX1RTVEFUVVMpOworCisjZGVmaW5lIEgyX1JFQURfQUREUihhZGRyKQkoYWRkciB8ICgxPDw3KSkKKyNkZWZpbmUgSDJfV1JJVEVfQUREUihhZGRyKQkoYWRkcikKKworc3RhdGljIGlubGluZSB1MzIgaGFsMl9yZWFkKHUzMiAqcmVnKQoreworCXJldHVybiBfX3Jhd19yZWFkbChyZWcpOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgaGFsMl93cml0ZSh1MzIgdmFsLCB1MzIgKnJlZykKK3sKKwlfX3Jhd193cml0ZWwodmFsLCByZWcpOworfQorCisKK3N0YXRpYyB1MzIgaGFsMl9pX3JlYWQzMihzdHJ1Y3Qgc25kX2hhbDIgKmhhbDIsIHUxNiBhZGRyKQoreworCXUzMiByZXQ7CisJc3RydWN0IGhhbDJfY3RsX3JlZ3MgKnJlZ3MgPSBoYWwyLT5jdGxfcmVnczsKKworCWhhbDJfd3JpdGUoSDJfUkVBRF9BRERSKGFkZHIpLCAmcmVncy0+aWFyKTsKKwlIMl9JTkRJUkVDVF9XQUlUKHJlZ3MpOworCXJldCA9IGhhbDJfcmVhZCgmcmVncy0+aWRyMCkgJiAweGZmZmY7CisJaGFsMl93cml0ZShIMl9SRUFEX0FERFIoYWRkcikgfCAweDEsICZyZWdzLT5pYXIpOworCUgyX0lORElSRUNUX1dBSVQocmVncyk7CisJcmV0IHw9IChoYWwyX3JlYWQoJnJlZ3MtPmlkcjApICYgMHhmZmZmKSA8PCAxNjsKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgdm9pZCBoYWwyX2lfd3JpdGUxNihzdHJ1Y3Qgc25kX2hhbDIgKmhhbDIsIHUxNiBhZGRyLCB1MTYgdmFsKQoreworCXN0cnVjdCBoYWwyX2N0bF9yZWdzICpyZWdzID0gaGFsMi0+Y3RsX3JlZ3M7CisKKwloYWwyX3dyaXRlKHZhbCwgJnJlZ3MtPmlkcjApOworCWhhbDJfd3JpdGUoMCwgJnJlZ3MtPmlkcjEpOworCWhhbDJfd3JpdGUoMCwgJnJlZ3MtPmlkcjIpOworCWhhbDJfd3JpdGUoMCwgJnJlZ3MtPmlkcjMpOworCWhhbDJfd3JpdGUoSDJfV1JJVEVfQUREUihhZGRyKSwgJnJlZ3MtPmlhcik7CisJSDJfSU5ESVJFQ1RfV0FJVChyZWdzKTsKK30KKworc3RhdGljIHZvaWQgaGFsMl9pX3dyaXRlMzIoc3RydWN0IHNuZF9oYWwyICpoYWwyLCB1MTYgYWRkciwgdTMyIHZhbCkKK3sKKwlzdHJ1Y3QgaGFsMl9jdGxfcmVncyAqcmVncyA9IGhhbDItPmN0bF9yZWdzOworCisJaGFsMl93cml0ZSh2YWwgJiAweGZmZmYsICZyZWdzLT5pZHIwKTsKKwloYWwyX3dyaXRlKHZhbCA+PiAxNiwgJnJlZ3MtPmlkcjEpOworCWhhbDJfd3JpdGUoMCwgJnJlZ3MtPmlkcjIpOworCWhhbDJfd3JpdGUoMCwgJnJlZ3MtPmlkcjMpOworCWhhbDJfd3JpdGUoSDJfV1JJVEVfQUREUihhZGRyKSwgJnJlZ3MtPmlhcik7CisJSDJfSU5ESVJFQ1RfV0FJVChyZWdzKTsKK30KKworc3RhdGljIHZvaWQgaGFsMl9pX3NldGJpdDE2KHN0cnVjdCBzbmRfaGFsMiAqaGFsMiwgdTE2IGFkZHIsIHUxNiBiaXQpCit7CisJc3RydWN0IGhhbDJfY3RsX3JlZ3MgKnJlZ3MgPSBoYWwyLT5jdGxfcmVnczsKKworCWhhbDJfd3JpdGUoSDJfUkVBRF9BRERSKGFkZHIpLCAmcmVncy0+aWFyKTsKKwlIMl9JTkRJUkVDVF9XQUlUKHJlZ3MpOworCWhhbDJfd3JpdGUoKGhhbDJfcmVhZCgmcmVncy0+aWRyMCkgJiAweGZmZmYpIHwgYml0LCAmcmVncy0+aWRyMCk7CisJaGFsMl93cml0ZSgwLCAmcmVncy0+aWRyMSk7CisJaGFsMl93cml0ZSgwLCAmcmVncy0+aWRyMik7CisJaGFsMl93cml0ZSgwLCAmcmVncy0+aWRyMyk7CisJaGFsMl93cml0ZShIMl9XUklURV9BRERSKGFkZHIpLCAmcmVncy0+aWFyKTsKKwlIMl9JTkRJUkVDVF9XQUlUKHJlZ3MpOworfQorCitzdGF0aWMgdm9pZCBoYWwyX2lfY2xlYXJiaXQxNihzdHJ1Y3Qgc25kX2hhbDIgKmhhbDIsIHUxNiBhZGRyLCB1MTYgYml0KQoreworCXN0cnVjdCBoYWwyX2N0bF9yZWdzICpyZWdzID0gaGFsMi0+Y3RsX3JlZ3M7CisKKwloYWwyX3dyaXRlKEgyX1JFQURfQUREUihhZGRyKSwgJnJlZ3MtPmlhcik7CisJSDJfSU5ESVJFQ1RfV0FJVChyZWdzKTsKKwloYWwyX3dyaXRlKChoYWwyX3JlYWQoJnJlZ3MtPmlkcjApICYgMHhmZmZmKSAmIH5iaXQsICZyZWdzLT5pZHIwKTsKKwloYWwyX3dyaXRlKDAsICZyZWdzLT5pZHIxKTsKKwloYWwyX3dyaXRlKDAsICZyZWdzLT5pZHIyKTsKKwloYWwyX3dyaXRlKDAsICZyZWdzLT5pZHIzKTsKKwloYWwyX3dyaXRlKEgyX1dSSVRFX0FERFIoYWRkciksICZyZWdzLT5pYXIpOworCUgyX0lORElSRUNUX1dBSVQocmVncyk7Cit9CisKK3N0YXRpYyBpbnQgaGFsMl9nYWluX2luZm8oc3RydWN0IHNuZF9rY29udHJvbCAqa2NvbnRyb2wsCisJCQkgICAgICAgc3RydWN0IHNuZF9jdGxfZWxlbV9pbmZvICp1aW5mbykKK3sKKwl1aW5mby0+dHlwZSA9IFNORFJWX0NUTF9FTEVNX1RZUEVfSU5URUdFUjsKKwl1aW5mby0+Y291bnQgPSAyOworCXVpbmZvLT52YWx1ZS5pbnRlZ2VyLm1pbiA9IDA7CisJc3dpdGNoICgoaW50KWtjb250cm9sLT5wcml2YXRlX3ZhbHVlKSB7CisJY2FzZSBIMl9NSVhfT1VUUFVUX0FUVDoKKwkJdWluZm8tPnZhbHVlLmludGVnZXIubWF4ID0gMzE7CisJCWJyZWFrOworCWNhc2UgSDJfTUlYX0lOUFVUX0dBSU46CisJCXVpbmZvLT52YWx1ZS5pbnRlZ2VyLm1heCA9IDE1OworCQlicmVhazsKKwl9CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgaGFsMl9nYWluX2dldChzdHJ1Y3Qgc25kX2tjb250cm9sICprY29udHJvbCwKKwkJCSAgICAgICBzdHJ1Y3Qgc25kX2N0bF9lbGVtX3ZhbHVlICp1Y29udHJvbCkKK3sKKwlzdHJ1Y3Qgc25kX2hhbDIgKmhhbDIgPSBzbmRfa2NvbnRyb2xfY2hpcChrY29udHJvbCk7CisJdTMyIHRtcDsKKwlpbnQgbCwgcjsKKworCXN3aXRjaCAoKGludClrY29udHJvbC0+cHJpdmF0ZV92YWx1ZSkgeworCWNhc2UgSDJfTUlYX09VVFBVVF9BVFQ6CisJCXRtcCA9IGhhbDJfaV9yZWFkMzIoaGFsMiwgSDJJX0RBQ19DMik7CisJCWlmICh0bXAgJiBIMklfQzJfTVVURSkgeworCQkJbCA9IDA7CisJCQlyID0gMDsKKwkJfSBlbHNlIHsKKwkJCWwgPSAzMSAtICgodG1wID4+IEgySV9DMl9MX0FUVF9TSElGVCkgJiAzMSk7CisJCQlyID0gMzEgLSAoKHRtcCA+PiBIMklfQzJfUl9BVFRfU0hJRlQpICYgMzEpOworCQl9CisJCWJyZWFrOworCWNhc2UgSDJfTUlYX0lOUFVUX0dBSU46CisJCXRtcCA9IGhhbDJfaV9yZWFkMzIoaGFsMiwgSDJJX0FEQ19DMik7CisJCWwgPSAodG1wID4+IEgySV9DMl9MX0dBSU5fU0hJRlQpICYgMTU7CisJCXIgPSAodG1wID4+IEgySV9DMl9SX0dBSU5fU0hJRlQpICYgMTU7CisJCWJyZWFrOworCX0KKwl1Y29udHJvbC0+dmFsdWUuaW50ZWdlci52YWx1ZVswXSA9IGw7CisJdWNvbnRyb2wtPnZhbHVlLmludGVnZXIudmFsdWVbMV0gPSByOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgaGFsMl9nYWluX3B1dChzdHJ1Y3Qgc25kX2tjb250cm9sICprY29udHJvbCwKKwkJCSBzdHJ1Y3Qgc25kX2N0bF9lbGVtX3ZhbHVlICp1Y29udHJvbCkKK3sKKwlzdHJ1Y3Qgc25kX2hhbDIgKmhhbDIgPSBzbmRfa2NvbnRyb2xfY2hpcChrY29udHJvbCk7CisJdTMyIG9sZCwgbmV3OworCWludCBsLCByOworCisJbCA9IHVjb250cm9sLT52YWx1ZS5pbnRlZ2VyLnZhbHVlWzBdOworCXIgPSB1Y29udHJvbC0+dmFsdWUuaW50ZWdlci52YWx1ZVsxXTsKKworCXN3aXRjaCAoKGludClrY29udHJvbC0+cHJpdmF0ZV92YWx1ZSkgeworCWNhc2UgSDJfTUlYX09VVFBVVF9BVFQ6CisJCW9sZCA9IGhhbDJfaV9yZWFkMzIoaGFsMiwgSDJJX0RBQ19DMik7CisJCW5ldyA9IG9sZCAmIH4oSDJJX0MyX0xfQVRUX00gfCBIMklfQzJfUl9BVFRfTSB8IEgySV9DMl9NVVRFKTsKKwkJaWYgKGwgfCByKSB7CisJCQlsID0gMzEgLSBsOworCQkJciA9IDMxIC0gcjsKKwkJCW5ldyB8PSAobCA8PCBIMklfQzJfTF9BVFRfU0hJRlQpOworCQkJbmV3IHw9IChyIDw8IEgySV9DMl9SX0FUVF9TSElGVCk7CisJCX0gZWxzZQorCQkJbmV3IHw9IEgySV9DMl9MX0FUVF9NIHwgSDJJX0MyX1JfQVRUX00gfCBIMklfQzJfTVVURTsKKwkJaGFsMl9pX3dyaXRlMzIoaGFsMiwgSDJJX0RBQ19DMiwgbmV3KTsKKwkJYnJlYWs7CisJY2FzZSBIMl9NSVhfSU5QVVRfR0FJTjoKKwkJb2xkID0gaGFsMl9pX3JlYWQzMihoYWwyLCBIMklfQURDX0MyKTsKKwkJbmV3ID0gb2xkICYgfihIMklfQzJfTF9HQUlOX00gfCBIMklfQzJfUl9HQUlOX00pOworCQluZXcgfD0gKGwgPDwgSDJJX0MyX0xfR0FJTl9TSElGVCk7CisJCW5ldyB8PSAociA8PCBIMklfQzJfUl9HQUlOX1NISUZUKTsKKwkJaGFsMl9pX3dyaXRlMzIoaGFsMiwgSDJJX0FEQ19DMiwgbmV3KTsKKwkJYnJlYWs7CisJfQorCXJldHVybiBvbGQgIT0gbmV3OworfQorCitzdGF0aWMgc3RydWN0IHNuZF9rY29udHJvbF9uZXcgaGFsMl9jdHJsX2hlYWRwaG9uZSBfX2RldmluaXRkYXRhID0geworCS5pZmFjZSAgICAgICAgICA9IFNORFJWX0NUTF9FTEVNX0lGQUNFX01JWEVSLAorCS5uYW1lICAgICAgICAgICA9ICJIZWFkcGhvbmUgUGxheWJhY2sgVm9sdW1lIiwKKwkuYWNjZXNzICAgICAgICAgPSBTTkRSVl9DVExfRUxFTV9BQ0NFU1NfUkVBRFdSSVRFLAorCS5wcml2YXRlX3ZhbHVlICA9IEgyX01JWF9PVVRQVVRfQVRULAorCS5pbmZvICAgICAgICAgICA9IGhhbDJfZ2Fpbl9pbmZvLAorCS5nZXQgICAgICAgICAgICA9IGhhbDJfZ2Fpbl9nZXQsCisJLnB1dCAgICAgICAgICAgID0gaGFsMl9nYWluX3B1dCwKK307CisKK3N0YXRpYyBzdHJ1Y3Qgc25kX2tjb250cm9sX25ldyBoYWwyX2N0cmxfbWljIF9fZGV2aW5pdGRhdGEgPSB7CisJLmlmYWNlICAgICAgICAgID0gU05EUlZfQ1RMX0VMRU1fSUZBQ0VfTUlYRVIsCisJLm5hbWUgICAgICAgICAgID0gIk1pYyBDYXB0dXJlIFZvbHVtZSIsCisJLmFjY2VzcyAgICAgICAgID0gU05EUlZfQ1RMX0VMRU1fQUNDRVNTX1JFQURXUklURSwKKwkucHJpdmF0ZV92YWx1ZSAgPSBIMl9NSVhfSU5QVVRfR0FJTiwKKwkuaW5mbyAgICAgICAgICAgPSBoYWwyX2dhaW5faW5mbywKKwkuZ2V0ICAgICAgICAgICAgPSBoYWwyX2dhaW5fZ2V0LAorCS5wdXQgICAgICAgICAgICA9IGhhbDJfZ2Fpbl9wdXQsCit9OworCitzdGF0aWMgaW50IF9fZGV2aW5pdCBoYWwyX21peGVyX2NyZWF0ZShzdHJ1Y3Qgc25kX2hhbDIgKmhhbDIpCit7CisJaW50IGVycjsKKworCS8qIG11dGUgREFDICovCisJaGFsMl9pX3dyaXRlMzIoaGFsMiwgSDJJX0RBQ19DMiwKKwkJICAgICAgIEgySV9DMl9MX0FUVF9NIHwgSDJJX0MyX1JfQVRUX00gfCBIMklfQzJfTVVURSk7CisJLyogbXV0ZSBBREMgKi8KKwloYWwyX2lfd3JpdGUzMihoYWwyLCBIMklfQURDX0MyLCAwKTsKKworCWVyciA9IHNuZF9jdGxfYWRkKGhhbDItPmNhcmQsCisJCQkgIHNuZF9jdGxfbmV3MSgmaGFsMl9jdHJsX2hlYWRwaG9uZSwgaGFsMikpOworCWlmIChlcnIgPCAwKQorCQlyZXR1cm4gZXJyOworCisJZXJyID0gc25kX2N0bF9hZGQoaGFsMi0+Y2FyZCwKKwkJCSAgc25kX2N0bF9uZXcxKCZoYWwyX2N0cmxfbWljLCBoYWwyKSk7CisJaWYgKGVyciA8IDApCisJCXJldHVybiBlcnI7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGlycXJldHVybl90IGhhbDJfaW50ZXJydXB0KGludCBpcnEsIHZvaWQgKmRldl9pZCkKK3sKKwlzdHJ1Y3Qgc25kX2hhbDIgKmhhbDIgPSBkZXZfaWQ7CisJaXJxcmV0dXJuX3QgcmV0ID0gSVJRX05PTkU7CisKKwkvKiBkZWNpZGUgd2hhdCBjYXVzZWQgdGhpcyBpbnRlcnJ1cHQgKi8KKwlpZiAoaGFsMi0+ZGFjLnBidXMucGJ1cy0+cGJkbWFfY3RybCAmIEhQQzNfUERNQUNUUkxfSU5UKSB7CisJCXNuZF9wY21fcGVyaW9kX2VsYXBzZWQoaGFsMi0+ZGFjLnN1YnN0cmVhbSk7CisJCXJldCA9IElSUV9IQU5ETEVEOworCX0KKwlpZiAoaGFsMi0+YWRjLnBidXMucGJ1cy0+cGJkbWFfY3RybCAmIEhQQzNfUERNQUNUUkxfSU5UKSB7CisJCXNuZF9wY21fcGVyaW9kX2VsYXBzZWQoaGFsMi0+YWRjLnN1YnN0cmVhbSk7CisJCXJldCA9IElSUV9IQU5ETEVEOworCX0KKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgaW50IGhhbDJfY29tcHV0ZV9yYXRlKHN0cnVjdCBoYWwyX2NvZGVjICpjb2RlYywgdW5zaWduZWQgaW50IHJhdGUpCit7CisJdW5zaWduZWQgc2hvcnQgbW9kOworCisJaWYgKDQ0MTAwICUgcmF0ZSA8IDQ4MDAwICUgcmF0ZSkgeworCQltb2QgPSA0ICogNDQxMDAgLyByYXRlOworCQljb2RlYy0+bWFzdGVyID0gNDQxMDA7CisJfSBlbHNlIHsKKwkJbW9kID0gNCAqIDQ4MDAwIC8gcmF0ZTsKKwkJY29kZWMtPm1hc3RlciA9IDQ4MDAwOworCX0KKworCWNvZGVjLT5pbmMgPSA0OworCWNvZGVjLT5tb2QgPSBtb2Q7CisJcmF0ZSA9IDQgKiBjb2RlYy0+bWFzdGVyIC8gbW9kOworCisJcmV0dXJuIHJhdGU7Cit9CisKK3N0YXRpYyB2b2lkIGhhbDJfc2V0X2RhY19yYXRlKHN0cnVjdCBzbmRfaGFsMiAqaGFsMikKK3sKKwl1bnNpZ25lZCBpbnQgbWFzdGVyID0gaGFsMi0+ZGFjLm1hc3RlcjsKKwlpbnQgaW5jID0gaGFsMi0+ZGFjLmluYzsKKwlpbnQgbW9kID0gaGFsMi0+ZGFjLm1vZDsKKworCWhhbDJfaV93cml0ZTE2KGhhbDIsIEgySV9CUkVTMV9DMSwgKG1hc3RlciA9PSA0NDEwMCkgPyAxIDogMCk7CisJaGFsMl9pX3dyaXRlMzIoaGFsMiwgSDJJX0JSRVMxX0MyLAorCQkgICAgICAgKCgweGZmZmYgJiAoaW5jIC0gbW9kIC0gMSkpIDw8IDE2KSB8IGluYyk7Cit9CisKK3N0YXRpYyB2b2lkIGhhbDJfc2V0X2FkY19yYXRlKHN0cnVjdCBzbmRfaGFsMiAqaGFsMikKK3sKKwl1bnNpZ25lZCBpbnQgbWFzdGVyID0gaGFsMi0+YWRjLm1hc3RlcjsKKwlpbnQgaW5jID0gaGFsMi0+YWRjLmluYzsKKwlpbnQgbW9kID0gaGFsMi0+YWRjLm1vZDsKKworCWhhbDJfaV93cml0ZTE2KGhhbDIsIEgySV9CUkVTMl9DMSwgKG1hc3RlciA9PSA0NDEwMCkgPyAxIDogMCk7CisJaGFsMl9pX3dyaXRlMzIoaGFsMiwgSDJJX0JSRVMyX0MyLAorCQkgICAgICAgKCgweGZmZmYgJiAoaW5jIC0gbW9kIC0gMSkpIDw8IDE2KSB8IGluYyk7Cit9CisKK3N0YXRpYyB2b2lkIGhhbDJfc2V0dXBfZGFjKHN0cnVjdCBzbmRfaGFsMiAqaGFsMikKK3sKKwl1bnNpZ25lZCBpbnQgZmlmb2JlZywgZmlmb2VuZCwgaGlnaHdhdGVyLCBzYW1wbGVfc2l6ZTsKKwlzdHJ1Y3QgaGFsMl9wYnVzICpwYnVzID0gJmhhbDItPmRhYy5wYnVzOworCisJLyogTm93IHdlIHNldCB1cCBzb21lIFBCVVMgaW5mb3JtYXRpb24uIFRoZSBQQlVTIG5lZWRzIGluZm9ybWF0aW9uIGFib3V0CisJICogd2hhdCBwb3J0aW9uIG9mIHRoZSBmaWZvIGl0IHdpbGwgdXNlLiBJZiBpdCdzIHJlY2VpdmluZyBvcgorCSAqIHRyYW5zbWl0dGluZywgYW5kIGZpbmFsbHkgd2hldGhlciB0aGUgc3RyZWFtIGlzIGxpdHRsZSBlbmRpYW4gb3IgYmlnCisJICogZW5kaWFuLiBUaGUgaW5mb3JtYXRpb24gaXMgd3JpdHRlbiBsYXRlciwgb24gdGhlIHN0YXJ0IGNhbGwuCisJICovCisJc2FtcGxlX3NpemUgPSAyICogaGFsMi0+ZGFjLnZvaWNlczsKKwkvKiBGaWZvIHNob3VsZCBiZSBzZXQgdG8gaG9sZCBleGFjdGx5IGZvdXIgc2FtcGxlcy4gSGlnaHdhdGVyIG1hcmsKKwkgKiBzaG91bGQgYmUgc2V0IHRvIHR3byBzYW1wbGVzLiAqLworCWhpZ2h3YXRlciA9IChzYW1wbGVfc2l6ZSAqIDIpID4+IDE7CS8qIGhhbGZ3b3JkcyAqLworCWZpZm9iZWcgPSAwOwkJCQkvKiBwbGF5YmFjayBpcyBmaXJzdCAqLworCWZpZm9lbmQgPSAoc2FtcGxlX3NpemUgKiA0KSA+PiAzOwkvKiBkb3VibGV3b3JkcyAqLworCXBidXMtPmN0cmwgPSBIUEMzX1BETUFDVFJMX1JUIHwgSFBDM19QRE1BQ1RSTF9MRCB8CisJCSAgICAgKGhpZ2h3YXRlciA8PCA4KSB8IChmaWZvYmVnIDw8IDE2KSB8IChmaWZvZW5kIDw8IDI0KTsKKwkvKiBXZSBkaXNhYmxlIGV2ZXJ5dGhpbmcgYmVmb3JlIHdlIGRvIGFueXRoaW5nIGF0IGFsbCAqLworCXBidXMtPnBidXMtPnBiZG1hX2N0cmwgPSBIUEMzX1BETUFDVFJMX0xEOworCWhhbDJfaV9jbGVhcmJpdDE2KGhhbDIsIEgySV9ETUFfUE9SVF9FTiwgSDJJX0RNQV9QT1JUX0VOX0NPREVDVFgpOworCS8qIFNldHVwIHRoZSBIQUwyIGZvciBwbGF5YmFjayAqLworCWhhbDJfc2V0X2RhY19yYXRlKGhhbDIpOworCS8qIFNldCBlbmRpYW5lc3MgKi8KKwloYWwyX2lfY2xlYXJiaXQxNihoYWwyLCBIMklfRE1BX0VORCwgSDJJX0RNQV9FTkRfQ09ERUNUWCk7CisJLyogU2V0IERNQSBidXMgKi8KKwloYWwyX2lfc2V0Yml0MTYoaGFsMiwgSDJJX0RNQV9EUlYsICgxIDw8IHBidXMtPnBidXNucikpOworCS8qIFdlIGFyZSB1c2luZyAxc3QgQnJlc2VuaGFtIGNsb2NrIGdlbmVyYXRvciBmb3IgcGxheWJhY2sgKi8KKwloYWwyX2lfd3JpdGUxNihoYWwyLCBIMklfREFDX0MxLCAocGJ1cy0+cGJ1c25yIDw8IEgySV9DMV9ETUFfU0hJRlQpCisJCQl8ICgxIDw8IEgySV9DMV9DTEtJRF9TSElGVCkKKwkJCXwgKGhhbDItPmRhYy52b2ljZXMgPDwgSDJJX0MxX0RBVEFUX1NISUZUKSk7Cit9CisKK3N0YXRpYyB2b2lkIGhhbDJfc2V0dXBfYWRjKHN0cnVjdCBzbmRfaGFsMiAqaGFsMikKK3sKKwl1bnNpZ25lZCBpbnQgZmlmb2JlZywgZmlmb2VuZCwgaGlnaHdhdGVyLCBzYW1wbGVfc2l6ZTsKKwlzdHJ1Y3QgaGFsMl9wYnVzICpwYnVzID0gJmhhbDItPmFkYy5wYnVzOworCisJc2FtcGxlX3NpemUgPSAyICogaGFsMi0+YWRjLnZvaWNlczsKKwloaWdod2F0ZXIgPSAoc2FtcGxlX3NpemUgKiAyKSA+PiAxOwkJLyogaGFsZndvcmRzICovCisJZmlmb2JlZyA9ICg0ICogNCkgPj4gMzsJCQkJLyogcmVjb3JkIGlzIHNlY29uZCAqLworCWZpZm9lbmQgPSAoNCAqIDQgKyBzYW1wbGVfc2l6ZSAqIDQpID4+IDM7CS8qIGRvdWJsZXdvcmRzICovCisJcGJ1cy0+Y3RybCA9IEhQQzNfUERNQUNUUkxfUlQgfCBIUEMzX1BETUFDVFJMX1JDViB8IEhQQzNfUERNQUNUUkxfTEQgfAorCQkgICAgIChoaWdod2F0ZXIgPDwgOCkgfCAoZmlmb2JlZyA8PCAxNikgfCAoZmlmb2VuZCA8PCAyNCk7CisJcGJ1cy0+cGJ1cy0+cGJkbWFfY3RybCA9IEhQQzNfUERNQUNUUkxfTEQ7CisJaGFsMl9pX2NsZWFyYml0MTYoaGFsMiwgSDJJX0RNQV9QT1JUX0VOLCBIMklfRE1BX1BPUlRfRU5fQ09ERUNSKTsKKwkvKiBTZXR1cCB0aGUgSEFMMiBmb3IgcmVjb3JkICovCisJaGFsMl9zZXRfYWRjX3JhdGUoaGFsMik7CisJLyogU2V0IGVuZGlhbmVzcyAqLworCWhhbDJfaV9jbGVhcmJpdDE2KGhhbDIsIEgySV9ETUFfRU5ELCBIMklfRE1BX0VORF9DT0RFQ1IpOworCS8qIFNldCBETUEgYnVzICovCisJaGFsMl9pX3NldGJpdDE2KGhhbDIsIEgySV9ETUFfRFJWLCAoMSA8PCBwYnVzLT5wYnVzbnIpKTsKKwkvKiBXZSBhcmUgdXNpbmcgMm5kIEJyZXNlbmhhbSBjbG9jayBnZW5lcmF0b3IgZm9yIHJlY29yZCAqLworCWhhbDJfaV93cml0ZTE2KGhhbDIsIEgySV9BRENfQzEsIChwYnVzLT5wYnVzbnIgPDwgSDJJX0MxX0RNQV9TSElGVCkKKwkJCXwgKDIgPDwgSDJJX0MxX0NMS0lEX1NISUZUKQorCQkJfCAoaGFsMi0+YWRjLnZvaWNlcyA8PCBIMklfQzFfREFUQVRfU0hJRlQpKTsKK30KKworc3RhdGljIHZvaWQgaGFsMl9zdGFydF9kYWMoc3RydWN0IHNuZF9oYWwyICpoYWwyKQoreworCXN0cnVjdCBoYWwyX3BidXMgKnBidXMgPSAmaGFsMi0+ZGFjLnBidXM7CisKKwlwYnVzLT5wYnVzLT5wYmRtYV9kcHRyID0gaGFsMi0+ZGFjLmRlc2NfZG1hOworCXBidXMtPnBidXMtPnBiZG1hX2N0cmwgPSBwYnVzLT5jdHJsIHwgSFBDM19QRE1BQ1RSTF9BQ1Q7CisJLyogZW5hYmxlIERBQyAqLworCWhhbDJfaV9zZXRiaXQxNihoYWwyLCBIMklfRE1BX1BPUlRfRU4sIEgySV9ETUFfUE9SVF9FTl9DT0RFQ1RYKTsKK30KKworc3RhdGljIHZvaWQgaGFsMl9zdGFydF9hZGMoc3RydWN0IHNuZF9oYWwyICpoYWwyKQoreworCXN0cnVjdCBoYWwyX3BidXMgKnBidXMgPSAmaGFsMi0+YWRjLnBidXM7CisKKwlwYnVzLT5wYnVzLT5wYmRtYV9kcHRyID0gaGFsMi0+YWRjLmRlc2NfZG1hOworCXBidXMtPnBidXMtPnBiZG1hX2N0cmwgPSBwYnVzLT5jdHJsIHwgSFBDM19QRE1BQ1RSTF9BQ1Q7CisJLyogZW5hYmxlIEFEQyAqLworCWhhbDJfaV9zZXRiaXQxNihoYWwyLCBIMklfRE1BX1BPUlRfRU4sIEgySV9ETUFfUE9SVF9FTl9DT0RFQ1IpOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgaGFsMl9zdG9wX2RhYyhzdHJ1Y3Qgc25kX2hhbDIgKmhhbDIpCit7CisJaGFsMi0+ZGFjLnBidXMucGJ1cy0+cGJkbWFfY3RybCA9IEhQQzNfUERNQUNUUkxfTEQ7CisJLyogVGhlIEhBTDIgaXRzZWxmIG1heSByZW1haW4gZW5hYmxlZCBzYWZlbHkgKi8KK30KKworc3RhdGljIGlubGluZSB2b2lkIGhhbDJfc3RvcF9hZGMoc3RydWN0IHNuZF9oYWwyICpoYWwyKQoreworCWhhbDItPmFkYy5wYnVzLnBidXMtPnBiZG1hX2N0cmwgPSBIUEMzX1BETUFDVFJMX0xEOworfQorCitzdGF0aWMgaW50IGhhbDJfYWxsb2NfZG1hYnVmKHN0cnVjdCBoYWwyX2NvZGVjICpjb2RlYykKK3sKKwlzdHJ1Y3QgaGFsMl9kZXNjICpkZXNjOworCWRtYV9hZGRyX3QgZGVzY19kbWEsIGJ1ZmZlcl9kbWE7CisJaW50IGNvdW50ID0gSDJfQlVGX1NJWkUgLyBIMl9CTE9DS19TSVpFOworCWludCBpOworCisJY29kZWMtPmJ1ZmZlciA9IGRtYV9hbGxvY19ub25jb2hlcmVudChOVUxMLCBIMl9CVUZfU0laRSwKKwkJCQkJICAgICAgJmJ1ZmZlcl9kbWEsIEdGUF9LRVJORUwpOworCWlmICghY29kZWMtPmJ1ZmZlcikKKwkJcmV0dXJuIC1FTk9NRU07CisJZGVzYyA9IGRtYV9hbGxvY19ub25jb2hlcmVudChOVUxMLCBjb3VudCAqIHNpemVvZihzdHJ1Y3QgaGFsMl9kZXNjKSwKKwkJCQkgICAgICZkZXNjX2RtYSwgR0ZQX0tFUk5FTCk7CisJaWYgKCFkZXNjKSB7CisJCWRtYV9mcmVlX25vbmNvaGVyZW50KE5VTEwsIEgyX0JVRl9TSVpFLAorCQkJCSAgICAgY29kZWMtPmJ1ZmZlciwgYnVmZmVyX2RtYSk7CisJCXJldHVybiAtRU5PTUVNOworCX0KKwljb2RlYy0+YnVmZmVyX2RtYSA9IGJ1ZmZlcl9kbWE7CisJY29kZWMtPmRlc2NfZG1hID0gZGVzY19kbWE7CisJY29kZWMtPmRlc2MgPSBkZXNjOworCWZvciAoaSA9IDA7IGkgPCBjb3VudDsgaSsrKSB7CisJCWRlc2MtPmRlc2MucGJ1ZiA9IGJ1ZmZlcl9kbWEgKyBpICogSDJfQkxPQ0tfU0laRTsKKwkJZGVzYy0+ZGVzYy5jbnRpbmZvID0gSFBDRE1BX1hJRSB8IEgyX0JMT0NLX1NJWkU7CisJCWRlc2MtPmRlc2MucG5leHQgPSAoaSA9PSBjb3VudCAtIDEpID8KKwkJICAgICAgZGVzY19kbWEgOiBkZXNjX2RtYSArIChpICsgMSkgKiBzaXplb2Yoc3RydWN0IGhhbDJfZGVzYyk7CisJCWRlc2MrKzsKKwl9CisJZG1hX2NhY2hlX3N5bmMoTlVMTCwgY29kZWMtPmRlc2MsIGNvdW50ICogc2l6ZW9mKHN0cnVjdCBoYWwyX2Rlc2MpLAorCQkgICAgICAgRE1BX1RPX0RFVklDRSk7CisJY29kZWMtPmRlc2NfY291bnQgPSBjb3VudDsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgaGFsMl9mcmVlX2RtYWJ1ZihzdHJ1Y3QgaGFsMl9jb2RlYyAqY29kZWMpCit7CisJZG1hX2ZyZWVfbm9uY29oZXJlbnQoTlVMTCwgY29kZWMtPmRlc2NfY291bnQgKiBzaXplb2Yoc3RydWN0IGhhbDJfZGVzYyksCisJCQkgICAgIGNvZGVjLT5kZXNjLCBjb2RlYy0+ZGVzY19kbWEpOworCWRtYV9mcmVlX25vbmNvaGVyZW50KE5VTEwsIEgyX0JVRl9TSVpFLCBjb2RlYy0+YnVmZmVyLAorCQkJICAgICBjb2RlYy0+YnVmZmVyX2RtYSk7Cit9CisKK3N0YXRpYyBzdHJ1Y3Qgc25kX3BjbV9oYXJkd2FyZSBoYWwyX3BjbV9odyA9IHsKKwkuaW5mbyA9IChTTkRSVl9QQ01fSU5GT19NTUFQIHwKKwkJIFNORFJWX1BDTV9JTkZPX01NQVBfVkFMSUQgfAorCQkgU05EUlZfUENNX0lORk9fSU5URVJMRUFWRUQgfAorCQkgU05EUlZfUENNX0lORk9fQkxPQ0tfVFJBTlNGRVIpLAorCS5mb3JtYXRzID0gICAgICAgICAgU05EUlZfUENNX0ZNVEJJVF9TMTZfQkUsCisJLnJhdGVzID0gICAgICAgICAgICBTTkRSVl9QQ01fUkFURV84MDAwXzQ4MDAwLAorCS5yYXRlX21pbiA9ICAgICAgICAgODAwMCwKKwkucmF0ZV9tYXggPSAgICAgICAgIDQ4MDAwLAorCS5jaGFubmVsc19taW4gPSAgICAgMiwKKwkuY2hhbm5lbHNfbWF4ID0gICAgIDIsCisJLmJ1ZmZlcl9ieXRlc19tYXggPSA2NTUzNiwKKwkucGVyaW9kX2J5dGVzX21pbiA9IDEwMjQsCisJLnBlcmlvZF9ieXRlc19tYXggPSA2NTUzNiwKKwkucGVyaW9kc19taW4gPSAgICAgIDIsCisJLnBlcmlvZHNfbWF4ID0gICAgICAxMDI0LAorfTsKKworc3RhdGljIGludCBoYWwyX3BjbV9od19wYXJhbXMoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0sCisJCQkgICAgICBzdHJ1Y3Qgc25kX3BjbV9od19wYXJhbXMgKnBhcmFtcykKK3sKKwlpbnQgZXJyOworCisJZXJyID0gc25kX3BjbV9saWJfbWFsbG9jX3BhZ2VzKHN1YnN0cmVhbSwgcGFyYW1zX2J1ZmZlcl9ieXRlcyhwYXJhbXMpKTsKKwlpZiAoZXJyIDwgMCkKKwkJcmV0dXJuIGVycjsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGhhbDJfcGNtX2h3X2ZyZWUoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0pCit7CisJcmV0dXJuIHNuZF9wY21fbGliX2ZyZWVfcGFnZXMoc3Vic3RyZWFtKTsKK30KKworc3RhdGljIGludCBoYWwyX3BsYXliYWNrX29wZW4oc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0pCit7CisJc3RydWN0IHNuZF9wY21fcnVudGltZSAqcnVudGltZSA9IHN1YnN0cmVhbS0+cnVudGltZTsKKwlzdHJ1Y3Qgc25kX2hhbDIgKmhhbDIgPSBzbmRfcGNtX3N1YnN0cmVhbV9jaGlwKHN1YnN0cmVhbSk7CisJaW50IGVycjsKKworCXJ1bnRpbWUtPmh3ID0gaGFsMl9wY21faHc7CisKKwllcnIgPSBoYWwyX2FsbG9jX2RtYWJ1ZigmaGFsMi0+ZGFjKTsKKwlpZiAoZXJyKQorCQlyZXR1cm4gZXJyOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGhhbDJfcGxheWJhY2tfY2xvc2Uoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0pCit7CisJc3RydWN0IHNuZF9oYWwyICpoYWwyID0gc25kX3BjbV9zdWJzdHJlYW1fY2hpcChzdWJzdHJlYW0pOworCisJaGFsMl9mcmVlX2RtYWJ1ZigmaGFsMi0+ZGFjKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBoYWwyX3BsYXliYWNrX3ByZXBhcmUoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0pCit7CisJc3RydWN0IHNuZF9oYWwyICpoYWwyID0gc25kX3BjbV9zdWJzdHJlYW1fY2hpcChzdWJzdHJlYW0pOworCXN0cnVjdCBzbmRfcGNtX3J1bnRpbWUgKnJ1bnRpbWUgPSBzdWJzdHJlYW0tPnJ1bnRpbWU7CisJc3RydWN0IGhhbDJfY29kZWMgKmRhYyA9ICZoYWwyLT5kYWM7CisKKwlkYWMtPnZvaWNlcyA9IHJ1bnRpbWUtPmNoYW5uZWxzOworCWRhYy0+c2FtcGxlX3JhdGUgPSBoYWwyX2NvbXB1dGVfcmF0ZShkYWMsIHJ1bnRpbWUtPnJhdGUpOworCW1lbXNldCgmZGFjLT5wY21faW5kaXJlY3QsIDAsIHNpemVvZihkYWMtPnBjbV9pbmRpcmVjdCkpOworCWRhYy0+cGNtX2luZGlyZWN0Lmh3X2J1ZmZlcl9zaXplID0gSDJfQlVGX1NJWkU7CisJZGFjLT5wY21faW5kaXJlY3Quc3dfYnVmZmVyX3NpemUgPSBzbmRfcGNtX2xpYl9idWZmZXJfYnl0ZXMoc3Vic3RyZWFtKTsKKwlkYWMtPnN1YnN0cmVhbSA9IHN1YnN0cmVhbTsKKwloYWwyX3NldHVwX2RhYyhoYWwyKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBoYWwyX3BsYXliYWNrX3RyaWdnZXIoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0sIGludCBjbWQpCit7CisJc3RydWN0IHNuZF9oYWwyICpoYWwyID0gc25kX3BjbV9zdWJzdHJlYW1fY2hpcChzdWJzdHJlYW0pOworCisJc3dpdGNoIChjbWQpIHsKKwljYXNlIFNORFJWX1BDTV9UUklHR0VSX1NUQVJUOgorCQloYWwyLT5kYWMucGNtX2luZGlyZWN0Lmh3X2lvID0gaGFsMi0+ZGFjLmJ1ZmZlcl9kbWE7CisJCWhhbDItPmRhYy5wY21faW5kaXJlY3QuaHdfZGF0YSA9IDA7CisJCXN1YnN0cmVhbS0+b3BzLT5hY2soc3Vic3RyZWFtKTsKKwkJaGFsMl9zdGFydF9kYWMoaGFsMik7CisJCWJyZWFrOworCWNhc2UgU05EUlZfUENNX1RSSUdHRVJfU1RPUDoKKwkJaGFsMl9zdG9wX2RhYyhoYWwyKTsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCXJldHVybiAwOworfQorCitzdGF0aWMgc25kX3BjbV91ZnJhbWVzX3QKK2hhbDJfcGxheWJhY2tfcG9pbnRlcihzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSkKK3sKKwlzdHJ1Y3Qgc25kX2hhbDIgKmhhbDIgPSBzbmRfcGNtX3N1YnN0cmVhbV9jaGlwKHN1YnN0cmVhbSk7CisJc3RydWN0IGhhbDJfY29kZWMgKmRhYyA9ICZoYWwyLT5kYWM7CisKKwlyZXR1cm4gc25kX3BjbV9pbmRpcmVjdF9wbGF5YmFja19wb2ludGVyKHN1YnN0cmVhbSwgJmRhYy0+cGNtX2luZGlyZWN0LAorCQkJCQkJIGRhYy0+cGJ1cy5wYnVzLT5wYmRtYV9icHRyKTsKK30KKworc3RhdGljIHZvaWQgaGFsMl9wbGF5YmFja190cmFuc2ZlcihzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSwKKwkJCQkgICBzdHJ1Y3Qgc25kX3BjbV9pbmRpcmVjdCAqcmVjLCBzaXplX3QgYnl0ZXMpCit7CisJc3RydWN0IHNuZF9oYWwyICpoYWwyID0gc25kX3BjbV9zdWJzdHJlYW1fY2hpcChzdWJzdHJlYW0pOworCXVuc2lnbmVkIGNoYXIgKmJ1ZiA9IGhhbDItPmRhYy5idWZmZXIgKyByZWMtPmh3X2RhdGE7CisKKwltZW1jcHkoYnVmLCBzdWJzdHJlYW0tPnJ1bnRpbWUtPmRtYV9hcmVhICsgcmVjLT5zd19kYXRhLCBieXRlcyk7CisJZG1hX2NhY2hlX3N5bmMoTlVMTCwgYnVmLCBieXRlcywgRE1BX1RPX0RFVklDRSk7CisKK30KKworc3RhdGljIGludCBoYWwyX3BsYXliYWNrX2FjayhzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSkKK3sKKwlzdHJ1Y3Qgc25kX2hhbDIgKmhhbDIgPSBzbmRfcGNtX3N1YnN0cmVhbV9jaGlwKHN1YnN0cmVhbSk7CisJc3RydWN0IGhhbDJfY29kZWMgKmRhYyA9ICZoYWwyLT5kYWM7CisKKwlkYWMtPnBjbV9pbmRpcmVjdC5od19xdWV1ZV9zaXplID0gSDJfQlVGX1NJWkUgLyAyOworCXNuZF9wY21faW5kaXJlY3RfcGxheWJhY2tfdHJhbnNmZXIoc3Vic3RyZWFtLAorCQkJCQkgICAmZGFjLT5wY21faW5kaXJlY3QsCisJCQkJCSAgIGhhbDJfcGxheWJhY2tfdHJhbnNmZXIpOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGhhbDJfY2FwdHVyZV9vcGVuKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtKQoreworCXN0cnVjdCBzbmRfcGNtX3J1bnRpbWUgKnJ1bnRpbWUgPSBzdWJzdHJlYW0tPnJ1bnRpbWU7CisJc3RydWN0IHNuZF9oYWwyICpoYWwyID0gc25kX3BjbV9zdWJzdHJlYW1fY2hpcChzdWJzdHJlYW0pOworCXN0cnVjdCBoYWwyX2NvZGVjICphZGMgPSAmaGFsMi0+YWRjOworCWludCBlcnI7CisKKwlydW50aW1lLT5odyA9IGhhbDJfcGNtX2h3OworCisJZXJyID0gaGFsMl9hbGxvY19kbWFidWYoYWRjKTsKKwlpZiAoZXJyKQorCQlyZXR1cm4gZXJyOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGhhbDJfY2FwdHVyZV9jbG9zZShzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSkKK3sKKwlzdHJ1Y3Qgc25kX2hhbDIgKmhhbDIgPSBzbmRfcGNtX3N1YnN0cmVhbV9jaGlwKHN1YnN0cmVhbSk7CisKKwloYWwyX2ZyZWVfZG1hYnVmKCZoYWwyLT5hZGMpOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGhhbDJfY2FwdHVyZV9wcmVwYXJlKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtKQoreworCXN0cnVjdCBzbmRfaGFsMiAqaGFsMiA9IHNuZF9wY21fc3Vic3RyZWFtX2NoaXAoc3Vic3RyZWFtKTsKKwlzdHJ1Y3Qgc25kX3BjbV9ydW50aW1lICpydW50aW1lID0gc3Vic3RyZWFtLT5ydW50aW1lOworCXN0cnVjdCBoYWwyX2NvZGVjICphZGMgPSAmaGFsMi0+YWRjOworCisJYWRjLT52b2ljZXMgPSBydW50aW1lLT5jaGFubmVsczsKKwlhZGMtPnNhbXBsZV9yYXRlID0gaGFsMl9jb21wdXRlX3JhdGUoYWRjLCBydW50aW1lLT5yYXRlKTsKKwltZW1zZXQoJmFkYy0+cGNtX2luZGlyZWN0LCAwLCBzaXplb2YoYWRjLT5wY21faW5kaXJlY3QpKTsKKwlhZGMtPnBjbV9pbmRpcmVjdC5od19idWZmZXJfc2l6ZSA9IEgyX0JVRl9TSVpFOworCWFkYy0+cGNtX2luZGlyZWN0Lmh3X3F1ZXVlX3NpemUgPSBIMl9CVUZfU0laRSAvIDI7CisJYWRjLT5wY21faW5kaXJlY3Quc3dfYnVmZmVyX3NpemUgPSBzbmRfcGNtX2xpYl9idWZmZXJfYnl0ZXMoc3Vic3RyZWFtKTsKKwlhZGMtPnN1YnN0cmVhbSA9IHN1YnN0cmVhbTsKKwloYWwyX3NldHVwX2FkYyhoYWwyKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBoYWwyX2NhcHR1cmVfdHJpZ2dlcihzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSwgaW50IGNtZCkKK3sKKwlzdHJ1Y3Qgc25kX2hhbDIgKmhhbDIgPSBzbmRfcGNtX3N1YnN0cmVhbV9jaGlwKHN1YnN0cmVhbSk7CisKKwlzd2l0Y2ggKGNtZCkgeworCWNhc2UgU05EUlZfUENNX1RSSUdHRVJfU1RBUlQ6CisJCWhhbDItPmFkYy5wY21faW5kaXJlY3QuaHdfaW8gPSBoYWwyLT5hZGMuYnVmZmVyX2RtYTsKKwkJaGFsMi0+YWRjLnBjbV9pbmRpcmVjdC5od19kYXRhID0gMDsKKwkJcHJpbnRrKEtFUk5fREVCVUcgImJ1ZmZlcl9kbWEgJXhcbiIsIGhhbDItPmFkYy5idWZmZXJfZG1hKTsKKwkJaGFsMl9zdGFydF9hZGMoaGFsMik7CisJCWJyZWFrOworCWNhc2UgU05EUlZfUENNX1RSSUdHRVJfU1RPUDoKKwkJaGFsMl9zdG9wX2FkYyhoYWwyKTsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCXJldHVybiAwOworfQorCitzdGF0aWMgc25kX3BjbV91ZnJhbWVzX3QKK2hhbDJfY2FwdHVyZV9wb2ludGVyKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtKQoreworCXN0cnVjdCBzbmRfaGFsMiAqaGFsMiA9IHNuZF9wY21fc3Vic3RyZWFtX2NoaXAoc3Vic3RyZWFtKTsKKwlzdHJ1Y3QgaGFsMl9jb2RlYyAqYWRjID0gJmhhbDItPmFkYzsKKworCXJldHVybiBzbmRfcGNtX2luZGlyZWN0X2NhcHR1cmVfcG9pbnRlcihzdWJzdHJlYW0sICZhZGMtPnBjbV9pbmRpcmVjdCwKKwkJCQkJCWFkYy0+cGJ1cy5wYnVzLT5wYmRtYV9icHRyKTsKK30KKworc3RhdGljIHZvaWQgaGFsMl9jYXB0dXJlX3RyYW5zZmVyKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtLAorCQkJCSAgc3RydWN0IHNuZF9wY21faW5kaXJlY3QgKnJlYywgc2l6ZV90IGJ5dGVzKQoreworCXN0cnVjdCBzbmRfaGFsMiAqaGFsMiA9IHNuZF9wY21fc3Vic3RyZWFtX2NoaXAoc3Vic3RyZWFtKTsKKwl1bnNpZ25lZCBjaGFyICpidWYgPSBoYWwyLT5hZGMuYnVmZmVyICsgcmVjLT5od19kYXRhOworCisJZG1hX2NhY2hlX3N5bmMoTlVMTCwgYnVmLCBieXRlcywgRE1BX0ZST01fREVWSUNFKTsKKwltZW1jcHkoc3Vic3RyZWFtLT5ydW50aW1lLT5kbWFfYXJlYSArIHJlYy0+c3dfZGF0YSwgYnVmLCBieXRlcyk7Cit9CisKK3N0YXRpYyBpbnQgaGFsMl9jYXB0dXJlX2FjayhzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSkKK3sKKwlzdHJ1Y3Qgc25kX2hhbDIgKmhhbDIgPSBzbmRfcGNtX3N1YnN0cmVhbV9jaGlwKHN1YnN0cmVhbSk7CisJc3RydWN0IGhhbDJfY29kZWMgKmFkYyA9ICZoYWwyLT5hZGM7CisKKwlzbmRfcGNtX2luZGlyZWN0X2NhcHR1cmVfdHJhbnNmZXIoc3Vic3RyZWFtLAorCQkJCQkgICZhZGMtPnBjbV9pbmRpcmVjdCwKKwkJCQkJICBoYWwyX2NhcHR1cmVfdHJhbnNmZXIpOworCXJldHVybiAwOworfQorCitzdGF0aWMgc3RydWN0IHNuZF9wY21fb3BzIGhhbDJfcGxheWJhY2tfb3BzID0geworCS5vcGVuID0gICAgICAgIGhhbDJfcGxheWJhY2tfb3BlbiwKKwkuY2xvc2UgPSAgICAgICBoYWwyX3BsYXliYWNrX2Nsb3NlLAorCS5pb2N0bCA9ICAgICAgIHNuZF9wY21fbGliX2lvY3RsLAorCS5od19wYXJhbXMgPSAgIGhhbDJfcGNtX2h3X3BhcmFtcywKKwkuaHdfZnJlZSA9ICAgICBoYWwyX3BjbV9od19mcmVlLAorCS5wcmVwYXJlID0gICAgIGhhbDJfcGxheWJhY2tfcHJlcGFyZSwKKwkudHJpZ2dlciA9ICAgICBoYWwyX3BsYXliYWNrX3RyaWdnZXIsCisJLnBvaW50ZXIgPSAgICAgaGFsMl9wbGF5YmFja19wb2ludGVyLAorCS5hY2sgPSAgICAgICAgIGhhbDJfcGxheWJhY2tfYWNrLAorfTsKKworc3RhdGljIHN0cnVjdCBzbmRfcGNtX29wcyBoYWwyX2NhcHR1cmVfb3BzID0geworCS5vcGVuID0gICAgICAgIGhhbDJfY2FwdHVyZV9vcGVuLAorCS5jbG9zZSA9ICAgICAgIGhhbDJfY2FwdHVyZV9jbG9zZSwKKwkuaW9jdGwgPSAgICAgICBzbmRfcGNtX2xpYl9pb2N0bCwKKwkuaHdfcGFyYW1zID0gICBoYWwyX3BjbV9od19wYXJhbXMsCisJLmh3X2ZyZWUgPSAgICAgaGFsMl9wY21faHdfZnJlZSwKKwkucHJlcGFyZSA9ICAgICBoYWwyX2NhcHR1cmVfcHJlcGFyZSwKKwkudHJpZ2dlciA9ICAgICBoYWwyX2NhcHR1cmVfdHJpZ2dlciwKKwkucG9pbnRlciA9ICAgICBoYWwyX2NhcHR1cmVfcG9pbnRlciwKKwkuYWNrID0gICAgICAgICBoYWwyX2NhcHR1cmVfYWNrLAorfTsKKworc3RhdGljIGludCBfX2RldmluaXQgaGFsMl9wY21fY3JlYXRlKHN0cnVjdCBzbmRfaGFsMiAqaGFsMikKK3sKKwlzdHJ1Y3Qgc25kX3BjbSAqcGNtOworCWludCBlcnI7CisKKwkvKiBjcmVhdGUgZmlyc3QgcGNtIGRldmljZSB3aXRoIG9uZSBvdXRwdXRzIGFuZCBvbmUgaW5wdXQgKi8KKwllcnIgPSBzbmRfcGNtX25ldyhoYWwyLT5jYXJkLCAiU0dJIEhBTDIgQXVkaW8iLCAwLCAxLCAxLCAmcGNtKTsKKwlpZiAoZXJyIDwgMCkKKwkJcmV0dXJuIGVycjsKKworCXBjbS0+cHJpdmF0ZV9kYXRhID0gaGFsMjsKKwlzdHJjcHkocGNtLT5uYW1lLCAiU0dJIEhBTDIiKTsKKworCS8qIHNldCBvcGVyYXRvcnMgKi8KKwlzbmRfcGNtX3NldF9vcHMocGNtLCBTTkRSVl9QQ01fU1RSRUFNX1BMQVlCQUNLLAorCQkJJmhhbDJfcGxheWJhY2tfb3BzKTsKKwlzbmRfcGNtX3NldF9vcHMocGNtLCBTTkRSVl9QQ01fU1RSRUFNX0NBUFRVUkUsCisJCQkmaGFsMl9jYXB0dXJlX29wcyk7CisJc25kX3BjbV9saWJfcHJlYWxsb2NhdGVfcGFnZXNfZm9yX2FsbChwY20sIFNORFJWX0RNQV9UWVBFX0NPTlRJTlVPVVMsCisJCQkJCSAgIHNuZF9kbWFfY29udGludW91c19kYXRhKEdGUF9LRVJORUwpLAorCQkJCQkgICAwLCAxMDI0ICogMTAyNCk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBoYWwyX2Rldl9mcmVlKHN0cnVjdCBzbmRfZGV2aWNlICpkZXZpY2UpCit7CisJc3RydWN0IHNuZF9oYWwyICpoYWwyID0gZGV2aWNlLT5kZXZpY2VfZGF0YTsKKworCWZyZWVfaXJxKFNHSV9IUENETUFfSVJRLCBoYWwyKTsKKwlrZnJlZShoYWwyKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHN0cnVjdCBzbmRfZGV2aWNlX29wcyBoYWwyX29wcyA9IHsKKwkuZGV2X2ZyZWUgPSBoYWwyX2Rldl9mcmVlLAorfTsKKworc3RhdGljIHZvaWQgaGFsMl9pbml0X2NvZGVjKHN0cnVjdCBoYWwyX2NvZGVjICpjb2RlYywgc3RydWN0IGhwYzNfcmVncyAqaHBjMywKKwkJCSAgICBpbnQgaW5kZXgpCit7CisJY29kZWMtPnBidXMucGJ1c25yID0gaW5kZXg7CisJY29kZWMtPnBidXMucGJ1cyA9ICZocGMzLT5wYmRtYVtpbmRleF07Cit9CisKK3N0YXRpYyBpbnQgaGFsMl9kZXRlY3Qoc3RydWN0IHNuZF9oYWwyICpoYWwyKQoreworCXVuc2lnbmVkIHNob3J0IGJvYXJkLCBtYWpvciwgbWlub3I7CisJdW5zaWduZWQgc2hvcnQgcmV2OworCisJLyogcmVzZXQgSEFMMiAqLworCWhhbDJfd3JpdGUoMCwgJmhhbDItPmN0bF9yZWdzLT5pc3IpOworCisJLyogcmVsZWFzZSByZXNldCAqLworCWhhbDJfd3JpdGUoSDJfSVNSX0dMT0JBTF9SRVNFVF9OIHwgSDJfSVNSX0NPREVDX1JFU0VUX04sCisJCSAgICZoYWwyLT5jdGxfcmVncy0+aXNyKTsKKworCisJaGFsMl9pX3dyaXRlMTYoaGFsMiwgSDJJX1JFTEFZX0MsIEgySV9SRUxBWV9DX1NUQVRFKTsKKwlyZXYgPSBoYWwyX3JlYWQoJmhhbDItPmN0bF9yZWdzLT5yZXYpOworCWlmIChyZXYgJiBIMl9SRVZfQVVESU9fUFJFU0VOVCkKKwkJcmV0dXJuIC1FTk9ERVY7CisKKwlib2FyZCA9IChyZXYgJiBIMl9SRVZfQk9BUkRfTSkgPj4gMTI7CisJbWFqb3IgPSAocmV2ICYgSDJfUkVWX01BSk9SX0NISVBfTSkgPj4gNDsKKwltaW5vciA9IChyZXYgJiBIMl9SRVZfTUlOT1JfQ0hJUF9NKTsKKworCXByaW50ayhLRVJOX0lORk8gIlNHSSBIQUwyIHJldmlzaW9uICVpLiVpLiVpXG4iLAorCSAgICAgICBib2FyZCwgbWFqb3IsIG1pbm9yKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGhhbDJfY3JlYXRlKHN0cnVjdCBzbmRfY2FyZCAqY2FyZCwgc3RydWN0IHNuZF9oYWwyICoqcmNoaXApCit7CisJc3RydWN0IHNuZF9oYWwyICpoYWwyOworCXN0cnVjdCBocGMzX3JlZ3MgKmhwYzMgPSBocGMzYzA7CisJaW50IGVycjsKKworCWhhbDIgPSBremFsbG9jKHNpemVvZihzdHJ1Y3Qgc25kX2hhbDIpLCBHRlBfS0VSTkVMKTsKKwlpZiAoIWhhbDIpCisJCXJldHVybiAtRU5PTUVNOworCisJaGFsMi0+Y2FyZCA9IGNhcmQ7CisKKwlpZiAocmVxdWVzdF9pcnEoU0dJX0hQQ0RNQV9JUlEsIGhhbDJfaW50ZXJydXB0LCBJUlFGX1NIQVJFRCwKKwkJCSJTR0kgSEFMMiIsIGhhbDIpKSB7CisJCXByaW50ayhLRVJOX0VSUiAiSEFMMjogQ2FuJ3QgZ2V0IGlycSAlZFxuIiwgU0dJX0hQQ0RNQV9JUlEpOworCQlrZnJlZShoYWwyKTsKKwkJcmV0dXJuIC1FQUdBSU47CisJfQorCisJaGFsMi0+Y3RsX3JlZ3MgPSAoc3RydWN0IGhhbDJfY3RsX3JlZ3MgKilocGMzLT5wYnVzX2V4dHJlZ3NbMF07CisJaGFsMi0+YWVzX3JlZ3MgPSAoc3RydWN0IGhhbDJfYWVzX3JlZ3MgKilocGMzLT5wYnVzX2V4dHJlZ3NbMV07CisJaGFsMi0+dm9sX3JlZ3MgPSAoc3RydWN0IGhhbDJfdm9sX3JlZ3MgKilocGMzLT5wYnVzX2V4dHJlZ3NbMl07CisJaGFsMi0+c3luX3JlZ3MgPSAoc3RydWN0IGhhbDJfc3luX3JlZ3MgKilocGMzLT5wYnVzX2V4dHJlZ3NbM107CisKKwlpZiAoaGFsMl9kZXRlY3QoaGFsMikgPCAwKSB7CisJCWtmcmVlKGhhbDIpOworCQlyZXR1cm4gLUVOT0RFVjsKKwl9CisKKwloYWwyX2luaXRfY29kZWMoJmhhbDItPmRhYywgaHBjMywgMCk7CisJaGFsMl9pbml0X2NvZGVjKCZoYWwyLT5hZGMsIGhwYzMsIDEpOworCisJLyoKKwkgKiBBbGwgRE1BIGNoYW5uZWwgaW50ZXJmYWNlcyBpbiBIQUwyIGFyZSBkZXNpZ25lZCB0byBvcGVyYXRlIHdpdGgKKwkgKiBQQlVTIHByb2dyYW1tZWQgZm9yIDIgY3ljbGVzIGluIEQzLCAyIGN5Y2xlcyBpbiBENCBhbmQgMiBjeWNsZXMKKwkgKiBpbiBENS4gSEFMMiBpcyBhIDE2LWJpdCBkZXZpY2Ugd2hpY2ggY2FuIGFjY2VwdCBib3RoIGJpZyBhbmQgbGl0dGxlCisJICogZW5kaWFuIGZvcm1hdC4gSXQgYXNzdW1lcyB0aGF0IGV2ZW4gYWRkcmVzcyBieXRlcyBhcmUgb24gaGlnaAorCSAqIHBvcnRpb24gb2YgUEJVUyAoMTU6OCkgYW5kIGFzc3VtZXMgdGhhdCBIUEMzIGlzIHByb2dyYW1tZWQgdG8KKwkgKiBhY2NlcHQgYSBsaXZlICh1bnN5bmNocm9uaXplZCkgdmVyc2lvbiBvZiBQX0RSRVFfTiBmcm9tIEhBTDIuCisJICovCisjZGVmaW5lIEhBTDJfUEJVU19ETUFDRkcgKCgwIDw8IEhQQzNfRE1BQ0ZHX0QzUl9TSElGVCkgfCBcCisJCQkgICgyIDw8IEhQQzNfRE1BQ0ZHX0Q0Ul9TSElGVCkgfCBcCisJCQkgICgyIDw8IEhQQzNfRE1BQ0ZHX0Q1Ul9TSElGVCkgfCBcCisJCQkgICgwIDw8IEhQQzNfRE1BQ0ZHX0QzV19TSElGVCkgfCBcCisJCQkgICgyIDw8IEhQQzNfRE1BQ0ZHX0Q0V19TSElGVCkgfCBcCisJCQkgICgyIDw8IEhQQzNfRE1BQ0ZHX0Q1V19TSElGVCkgfCBcCisJCQkJSFBDM19ETUFDRkdfRFMxNiB8IFwKKwkJCQlIUEMzX0RNQUNGR19FVkVOSEkgfCBcCisJCQkJSFBDM19ETUFDRkdfUlRJTUUgfCBcCisJCQkgICg4IDw8IEhQQzNfRE1BQ0ZHX0JVUlNUX1NISUZUKSB8IFwKKwkJCQlIUEMzX0RNQUNGR19EUlFMSVZFKQorCS8qCisJICogSWdub3JlIHdoYXQncyBtZW50aW9uZWQgaW4gdGhlIHNwZWNpZmljYXRpb24gYW5kIHdyaXRlIHZhbHVlIHdoaWNoCisJICogd29ya3MgaW4gVGhlIFJlYWwgV29ybGQgKFRNKQorCSAqLworCWhwYzMtPnBidXNfZG1hY2ZnW2hhbDItPmRhYy5wYnVzLnBidXNucl1bMF0gPSAweDgyMDg4NDQ7CisJaHBjMy0+cGJ1c19kbWFjZmdbaGFsMi0+YWRjLnBidXMucGJ1c25yXVswXSA9IDB4ODIwODg0NDsKKworCWVyciA9IHNuZF9kZXZpY2VfbmV3KGNhcmQsIFNORFJWX0RFVl9MT1dMRVZFTCwgaGFsMiwgJmhhbDJfb3BzKTsKKwlpZiAoZXJyIDwgMCkgeworCQlmcmVlX2lycShTR0lfSFBDRE1BX0lSUSwgaGFsMik7CisJCWtmcmVlKGhhbDIpOworCQlyZXR1cm4gZXJyOworCX0KKwkqcmNoaXAgPSBoYWwyOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IF9fZGV2aW5pdCBoYWwyX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCit7CisJc3RydWN0IHNuZF9jYXJkICpjYXJkOworCXN0cnVjdCBzbmRfaGFsMiAqY2hpcDsKKwlpbnQgZXJyOworCisJY2FyZCA9IHNuZF9jYXJkX25ldyhpbmRleCwgaWQsIFRISVNfTU9EVUxFLCAwKTsKKwlpZiAoY2FyZCA9PSBOVUxMKQorCQlyZXR1cm4gLUVOT01FTTsKKworCWVyciA9IGhhbDJfY3JlYXRlKGNhcmQsICZjaGlwKTsKKwlpZiAoZXJyIDwgMCkgeworCQlzbmRfY2FyZF9mcmVlKGNhcmQpOworCQlyZXR1cm4gZXJyOworCX0KKwlzbmRfY2FyZF9zZXRfZGV2KGNhcmQsICZwZGV2LT5kZXYpOworCisJZXJyID0gaGFsMl9wY21fY3JlYXRlKGNoaXApOworCWlmIChlcnIgPCAwKSB7CisJCXNuZF9jYXJkX2ZyZWUoY2FyZCk7CisJCXJldHVybiBlcnI7CisJfQorCWVyciA9IGhhbDJfbWl4ZXJfY3JlYXRlKGNoaXApOworCWlmIChlcnIgPCAwKSB7CisJCXNuZF9jYXJkX2ZyZWUoY2FyZCk7CisJCXJldHVybiBlcnI7CisJfQorCisJc3RyY3B5KGNhcmQtPmRyaXZlciwgIlNHSSBIQUwyIEF1ZGlvIik7CisJc3RyY3B5KGNhcmQtPnNob3J0bmFtZSwgIlNHSSBIQUwyIEF1ZGlvIik7CisJc3ByaW50ZihjYXJkLT5sb25nbmFtZSwgIiVzIGlycSAlaSIsCisJCWNhcmQtPnNob3J0bmFtZSwKKwkJU0dJX0hQQ0RNQV9JUlEpOworCisJZXJyID0gc25kX2NhcmRfcmVnaXN0ZXIoY2FyZCk7CisJaWYgKGVyciA8IDApIHsKKwkJc25kX2NhcmRfZnJlZShjYXJkKTsKKwkJcmV0dXJuIGVycjsKKwl9CisJcGxhdGZvcm1fc2V0X2RydmRhdGEocGRldiwgY2FyZCk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgX19leGl0IGhhbDJfcmVtb3ZlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCit7CisJc3RydWN0IHNuZF9jYXJkICpjYXJkID0gcGxhdGZvcm1fZ2V0X2RydmRhdGEocGRldik7CisKKwlzbmRfY2FyZF9mcmVlKGNhcmQpOworCXBsYXRmb3JtX3NldF9kcnZkYXRhKHBkZXYsIE5VTEwpOworCXJldHVybiAwOworfQorCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RyaXZlciBoYWwyX2RyaXZlciA9IHsKKwkucHJvYmUJPSBoYWwyX3Byb2JlLAorCS5yZW1vdmUJPSBfX2RldmV4aXRfcChoYWwyX3JlbW92ZSksCisJLmRyaXZlciA9IHsKKwkJLm5hbWUJPSAic2dpaGFsMiIsCisJCS5vd25lcgk9IFRISVNfTU9EVUxFLAorCX0KK307CisKK3N0YXRpYyBpbnQgX19pbml0IGFsc2FfY2FyZF9oYWwyX2luaXQodm9pZCkKK3sKKwlyZXR1cm4gcGxhdGZvcm1fZHJpdmVyX3JlZ2lzdGVyKCZoYWwyX2RyaXZlcik7Cit9CisKK3N0YXRpYyB2b2lkIF9fZXhpdCBhbHNhX2NhcmRfaGFsMl9leGl0KHZvaWQpCit7CisJcGxhdGZvcm1fZHJpdmVyX3VucmVnaXN0ZXIoJmhhbDJfZHJpdmVyKTsKK30KKworbW9kdWxlX2luaXQoYWxzYV9jYXJkX2hhbDJfaW5pdCk7Cittb2R1bGVfZXhpdChhbHNhX2NhcmRfaGFsMl9leGl0KTsKZGlmZiAtLWdpdCBhL3NvdW5kL21pcHMvaGFsMi5oIGIvc291bmQvbWlwcy9oYWwyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjE5ODI4YgotLS0gL2Rldi9udWxsCisrKyBiL3NvdW5kL21pcHMvaGFsMi5oCkBAIC0wLDAgKzEsMjQ1IEBACisjaWZuZGVmIF9fSEFMMl9ICisjZGVmaW5lIF9fSEFMMl9ICisKKy8qCisgKiAgRHJpdmVyIGZvciBIQUwyIHNvdW5kIHByb2Nlc3NvcnMKKyAqICBDb3B5cmlnaHQgKGMpIDE5OTkgVWxmIENhcmxzc29uIDx1bGZjQGJ1bi5mYWxrZW5iZXJnLnNlPgorICogIENvcHlyaWdodCAoYykgMjAwMSwgMjAwMiwgMjAwMyBMYWRpc2xhdiBNaWNobCA8bGFkaXNAbGludXgtbWlwcy5vcmc+CisgKgorICogIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMKKyAqICBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyAqCisgKiAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogIEZvdW5kYXRpb24sIEluYy4sIDY3NSBNYXNzIEF2ZSwgQ2FtYnJpZGdlLCBNQSAwMjEzOSwgVVNBLgorICoKKyAqLworCisjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KKworLyogSW5kaXJlY3Qgc3RhdHVzIHJlZ2lzdGVyICovCisKKyNkZWZpbmUgSDJfSVNSX1RTVEFUVVMJCTB4MDEJLyogUk86IHRyYW5zYWN0aW9uIHN0YXR1cyAxPWJ1c3kgKi8KKyNkZWZpbmUgSDJfSVNSX1VTVEFUVVMJCTB4MDIJLyogUk86IHV0aW1lIHN0YXR1cyBiaXQgMT1hcm1lZCAqLworI2RlZmluZSBIMl9JU1JfUVVBRF9NT0RFCTB4MDQJLyogY29kZWMgbW9kZSAwPWluZGlnbyAxPXF1YWQgKi8KKyNkZWZpbmUgSDJfSVNSX0dMT0JBTF9SRVNFVF9OCTB4MDgJLyogY2hpcCBnbG9iYWwgcmVzZXQgMD1yZXNldCAqLworI2RlZmluZSBIMl9JU1JfQ09ERUNfUkVTRVRfTgkweDEwCS8qIGNvZGVjL3N5bnRoIHJlc2V0IDA9cmVzZXQgICovCisKKy8qIFJldmlzaW9uIHJlZ2lzdGVyICovCisKKyNkZWZpbmUgSDJfUkVWX0FVRElPX1BSRVNFTlQJMHg4MDAwCS8qIFJPOiBhdWRpbyBwcmVzZW50IDA9cHJlc2VudCAqLworI2RlZmluZSBIMl9SRVZfQk9BUkRfTQkJMHg3MDAwCS8qIFJPOiBiaXRzIDE0OjEyLCBib2FyZCByZXZpc2lvbiAqLworI2RlZmluZSBIMl9SRVZfTUFKT1JfQ0hJUF9NCTB4MDBGMAkvKiBSTzogYml0cyA3OjQsIG1ham9yIGNoaXAgcmV2aXNpb24gKi8KKyNkZWZpbmUgSDJfUkVWX01JTk9SX0NISVBfTQkweDAwMEYJLyogUk86IGJpdHMgMzowLCBtaW5vciBjaGlwIHJldmlzaW9uICovCisKKy8qIEluZGlyZWN0IGFkZHJlc3MgcmVnaXN0ZXIgKi8KKworLyoKKyAqIEFkZHJlc3Mgb2YgaW5kaXJlY3QgaW50ZXJuYWwgcmVnaXN0ZXIgdG8gYmUgYWNjZXNzZWQuIEEgd3JpdGUgdG8gdGhpcworICogcmVnaXN0ZXIgaW5pdGlhdGVzIHJlYWQgb3Igd3JpdGUgYWNjZXNzIHRvIHRoZSBpbmRpcmVjdCByZWdpc3RlcnMgaW4gdGhlCisgKiBIQUwyLiBOb3RlIHRoYXQgdGhlcmUgYWYgZm91ciBpbmRpcmVjdCBkYXRhIHJlZ2lzdGVycyBmb3Igd3JpdGUgYWNjZXNzIHRvCisgKiByZWdpc3RlcnMgbGFyZ2VyIHRoYW4gMTYgYnl0ZS4KKyAqLworCisjZGVmaW5lIEgyX0lBUl9UWVBFX00JCTB4RjAwMAkvKiBiaXRzIDE1OjEyLCB0eXBlIG9mIGZ1bmN0aW9uYWwgKi8KKwkJCQkJLyogYmxvY2sgdGhlIHJlZ2lzdGVyIHJlc2lkZXMgaW4gKi8KKwkJCQkJLyogMT1ETUEgUG9ydCAqLworCQkJCQkvKiA5PUdsb2JhbCBETUEgQ29udHJvbCAqLworCQkJCQkvKiAyPUJyZXNlbmhhbSAqLworCQkJCQkvKiAzPVVuaXggVGltZXIgKi8KKyNkZWZpbmUgSDJfSUFSX05VTV9NCQkweDBGMDAJLyogYml0cyAxMTo4IGluc3RhbmNlIG9mIHRoZSAqLworCQkJCQkvKiBibG9ja2luIHdoaWNoIHRoZSBpbmRpcmVjdCAqLworCQkJCQkvKiByZWdpc3RlciByZXNpZGVzICovCisJCQkJCS8qIElmIElBUl9UWVBFX009RE1BIFBvcnQ6ICovCisJCQkJCS8qIDE9U3ludGggSW4gKi8KKwkJCQkJLyogMj1BRVMgSW4gKi8KKwkJCQkJLyogMz1BRVMgT3V0ICovCisJCQkJCS8qIDQ9REFDIE91dCAqLworCQkJCQkvKiA1PUFEQyBPdXQgKi8KKwkJCQkJLyogNj1TeW50aCBDb250cm9sICovCisJCQkJCS8qIElmIElBUl9UWVBFX009R2xvYmFsIERNQSBDb250cm9sOiAqLworCQkJCQkvKiAxPUNvbnRyb2wgKi8KKwkJCQkJLyogSWYgSUFSX1RZUEVfTT1CcmVzZW5oYW06ICovCisJCQkJCS8qIDE9QnJlc2VuaGFtIENsb2NrIEdlbiAxICovCisJCQkJCS8qIDI9QnJlc2VuaGFtIENsb2NrIEdlbiAyICovCisJCQkJCS8qIDM9QnJlc2VuaGFtIENsb2NrIEdlbiAzICovCisJCQkJCS8qIElmIElBUl9UWVBFX009VW5peCBUaW1lcjogKi8KKwkJCQkJLyogMT1Vbml4IFRpbWVyICovCisjZGVmaW5lIEgyX0lBUl9BQ0NFU1NfU0VMRUNUCTB4MDA4MAkvKiAxPXJlYWQgMD13cml0ZSAqLworI2RlZmluZSBIMl9JQVJfUEFSQU0JCTB4MDAwQwkvKiBQYXJhbWV0ZXIgU2VsZWN0ICovCisjZGVmaW5lIEgyX0lBUl9SQl9JTkRFWF9NCTB4MDAwMwkvKiBSZWFkIEJhY2sgSW5kZXggKi8KKwkJCQkJLyogMDA6d29yZDAgKi8KKwkJCQkJLyogMDE6d29yZDEgKi8KKwkJCQkJLyogMTA6d29yZDIgKi8KKwkJCQkJLyogMTE6d29yZDMgKi8KKy8qCisgKiBIQUwyIGludGVybmFsIGFkZHJlc3NpbmcKKyAqCisgKiBUaGUgSEFMMiBoYXMgImluZGlyZWN0IHJlZ2lzdGVycyIgKGlkcikgd2hpY2ggYXJlIGFjY2Vzc2VkIGJ5IHdyaXRpbmcgdG8gdGhlCisgKiBJbmRpcmVjdCBEYXRhIHJlZ2lzdGVycy4gV3JpdGUgdGhlIGFkZHJlc3MgdG8gdGhlIEluZGlyZWN0IEFkZHJlc3MgcmVnaXN0ZXIKKyAqIHRvIHRyYW5zZmVyIHRoZSBkYXRhLgorICoKKyAqIFdlIGRlZmluZSB0aGUgSDJJUl8qIHRvIHRoZSByZWFkIGFkZHJlc3MgYW5kIEgySVdfKiB0byB0aGUgd3JpdGUgYWRkcmVzcyBhbmQKKyAqIEgySV8qIHRvIGJlIGZpZWxkcyBpbiB3aGF0ZXZlciByZWdpc3RlciBpcyByZWZlcnJlZCB0by4KKyAqCisgKiBXaGVuIHdlIHdyaXRlIHRvIGluZGlyZWN0IHJlZ2lzdGVycyB3aGljaCBhcmUgbGFyZ2VyIHRoYW4gb25lIHdvcmQgKDE2IGJpdCkKKyAqIHdlIGhhdmUgdG8gZmlsbCBtb3JlIHRoYW4gb25lIGluZGlyZWN0IHJlZ2lzdGVyIGJlZm9yZSB3cml0aW5nLiBXaGVuIHdlIHJlYWQKKyAqIGJhY2sgaG93ZXZlciB3ZSBoYXZlIHRvIHJlYWQgc2V2ZXJhbCB0aW1lcywgZWFjaCB0aW1lIHdpdGggZGlmZmVyZW50IFJlYWQKKyAqIEJhY2sgSW5kZXhlcyAodGhlcmUgYXJlIGRlZnMgZm9yIGRvaW5nIHRoaXMgZWFzaWx5KS4KKyAqLworCisvKgorICogUmVsYXkgQ29udHJvbAorICovCisjZGVmaW5lIEgySV9SRUxBWV9DCQkweDkxMDAKKyNkZWZpbmUgSDJJX1JFTEFZX0NfU1RBVEUJMHgwMQkJLyogc3RhdGUgb2YgUkVMQVkgcGluIHNpZ25hbCAqLworCisvKiBETUEgcG9ydCBlbmFibGUgKi8KKworI2RlZmluZSBIMklfRE1BX1BPUlRfRU4JCTB4OTEwNAorI2RlZmluZSBIMklfRE1BX1BPUlRfRU5fU1lfSU4JMHgwMQkJLyogU3ludGhfaW4gRE1BIHBvcnQgKi8KKyNkZWZpbmUgSDJJX0RNQV9QT1JUX0VOX0FFU1JYCTB4MDIJCS8qIEFFUyByZWNlaXZlciBETUEgcG9ydCAqLworI2RlZmluZSBIMklfRE1BX1BPUlRfRU5fQUVTVFgJMHgwNAkJLyogQUVTIHRyYW5zbWl0dGVyIERNQSBwb3J0ICovCisjZGVmaW5lIEgySV9ETUFfUE9SVF9FTl9DT0RFQ1RYCTB4MDgJCS8qIENPREVDIHRyYW5zbWl0IERNQSBwb3J0ICovCisjZGVmaW5lIEgySV9ETUFfUE9SVF9FTl9DT0RFQ1IJMHgxMAkJLyogQ09ERUMgcmVjZWl2ZSBETUEgcG9ydCAqLworCisjZGVmaW5lIEgySV9ETUFfRU5ECQkweDkxMDggCQkvKiBnbG9iYWwgZG1hIGVuZGlhbiBzZWxlY3QgKi8KKyNkZWZpbmUgSDJJX0RNQV9FTkRfU1lfSU4JMHgwMQkJLyogU3ludGhfaW4gRE1BIHBvcnQgKi8KKyNkZWZpbmUgSDJJX0RNQV9FTkRfQUVTUlgJMHgwMgkJLyogQUVTIHJlY2VpdmVyIERNQSBwb3J0ICovCisjZGVmaW5lIEgySV9ETUFfRU5EX0FFU1RYCTB4MDQJCS8qIEFFUyB0cmFuc21pdHRlciBETUEgcG9ydCAqLworI2RlZmluZSBIMklfRE1BX0VORF9DT0RFQ1RYCTB4MDgJCS8qIENPREVDIHRyYW5zbWl0IERNQSBwb3J0ICovCisjZGVmaW5lIEgySV9ETUFfRU5EX0NPREVDUgkweDEwCQkvKiBDT0RFQyByZWNlaXZlIERNQSBwb3J0ICovCisJCQkJCQkvKiAwPWJfZW5kIDE9bF9lbmQgKi8KKworI2RlZmluZSBIMklfRE1BX0RSVgkJMHg5MTBDICAJLyogZ2xvYmFsIFBCVVMgRE1BIGVuYWJsZSAqLworCisjZGVmaW5lIEgySV9TWU5USF9DCQkweDExMDQJCS8qIFN5bnRoIERNQSBjb250cm9sICovCisKKyNkZWZpbmUgSDJJX0FFU1JYX0MJCTB4MTIwNAkgCS8qIEFFUyBSWCBkbWEgY29udHJvbCAqLworCisjZGVmaW5lIEgySV9DX1RTX0VOCQkweDIwCQkvKiBUaW1lc3RhbXAgZW5hYmxlICovCisjZGVmaW5lIEgySV9DX1RTX0ZSTVQJCTB4NDAJCS8qIFRpbWVzdGFtcCBmb3JtYXQgKi8KKyNkZWZpbmUgSDJJX0NfTkFVRElPCQkweDgwCQkvKiBTaWduIGV4dGVuZCAqLworCisvKiBBRVNSWCBDVEwsIDE2IGJpdCAqLworCisjZGVmaW5lIEgySV9BRVNUWF9DCQkweDEzMDQJCS8qIEFFUyBUWCBETUEgY29udHJvbCAqLworI2RlZmluZSBIMklfQUVTVFhfQ19DTEtJRF9TSElGVAkzCQkvKiBCcmVzZW5oYW0gQ2xvY2sgR2VuIDEtMyAqLworI2RlZmluZSBIMklfQUVTVFhfQ19DTEtJRF9NCTB4MTgKKyNkZWZpbmUgSDJJX0FFU1RYX0NfREFUQVRfU0hJRlQJOAkJLyogMT1tb25vIDI9c3RlcmVvICgzPXF1YWQpICovCisjZGVmaW5lIEgySV9BRVNUWF9DX0RBVEFUX00JMHgzMDAKKworLyogQ09ERUMgcmVnaXN0ZXJzICovCisKKyNkZWZpbmUgSDJJX0RBQ19DMQkJMHgxNDA0IAkJLyogREFDIERNQSBjb250cm9sLCAxNiBiaXQgKi8KKyNkZWZpbmUgSDJJX0RBQ19DMgkJMHgxNDA4CQkvKiBEQUMgRE1BIGNvbnRyb2wsIDMyIGJpdCAqLworI2RlZmluZSBIMklfQURDX0MxCQkweDE1MDQgCQkvKiBBREMgRE1BIGNvbnRyb2wsIDE2IGJpdCAqLworI2RlZmluZSBIMklfQURDX0MyCQkweDE1MDgJCS8qIEFEQyBETUEgY29udHJvbCwgMzIgYml0ICovCisKKy8qIEJpdHMgaW4gQ1RMMSByZWdpc3RlciAqLworCisjZGVmaW5lIEgySV9DMV9ETUFfU0hJRlQJMAkJLyogRE1BIGNoYW5uZWwgKi8KKyNkZWZpbmUgSDJJX0MxX0RNQV9NCQkweDcKKyNkZWZpbmUgSDJJX0MxX0NMS0lEX1NISUZUCTMJCS8qIEJyZXNlbmhhbSBDbG9jayBHZW4gMS0zICovCisjZGVmaW5lIEgySV9DMV9DTEtJRF9NCQkweDE4CisjZGVmaW5lIEgySV9DMV9EQVRBVF9TSElGVAk4CQkvKiAxPW1vbm8gMj1zdGVyZW8gKDM9cXVhZCkgKi8KKyNkZWZpbmUgSDJJX0MxX0RBVEFUX00JCTB4MzAwCisKKy8qIEJpdHMgaW4gQ1RMMiByZWdpc3RlciAqLworCisjZGVmaW5lIEgySV9DMl9SX0dBSU5fU0hJRlQJMAkJLyogcmlnaHQgYS9kIGlucHV0IGdhaW4gKi8KKyNkZWZpbmUgSDJJX0MyX1JfR0FJTl9NCQkweGYKKyNkZWZpbmUgSDJJX0MyX0xfR0FJTl9TSElGVAk0CQkvKiBsZWZ0IGEvZCBpbnB1dCBnYWluICovCisjZGVmaW5lIEgySV9DMl9MX0dBSU5fTQkJMHhmMAorI2RlZmluZSBIMklfQzJfUl9TRUwJCTB4MTAwCQkvKiByaWdodCBpbnB1dCBzZWxlY3QgKi8KKyNkZWZpbmUgSDJJX0MyX0xfU0VMCQkweDIwMAkJLyogbGVmdCBpbnB1dCBzZWxlY3QgKi8KKyNkZWZpbmUgSDJJX0MyX01VVEUJCTB4NDAwCQkvKiBtdXRlICovCisjZGVmaW5lIEgySV9DMl9ETzEJCTB4MDAwMTAwMDAJLyogZGlnaXRhbCBvdXRwdXQgcG9ydCBiaXQgMCAqLworI2RlZmluZSBIMklfQzJfRE8yCQkweDAwMDIwMDAwCS8qIGRpZ2l0YWwgb3V0cHV0IHBvcnQgYml0IDEgKi8KKyNkZWZpbmUgSDJJX0MyX1JfQVRUX1NISUZUCTE4CQkvKiByaWdodCBkL2Egb3V0cHV0IC0gKi8KKyNkZWZpbmUgSDJJX0MyX1JfQVRUX00JCTB4MDA3YzAwMDAJLyogYXR0ZW51YXRpb24gKi8KKyNkZWZpbmUgSDJJX0MyX0xfQVRUX1NISUZUCTIzCQkvKiBsZWZ0IGQvYSBvdXRwdXQgLSAqLworI2RlZmluZSBIMklfQzJfTF9BVFRfTQkJMHgwZjgwMDAwMAkvKiBhdHRlbnVhdGlvbiAqLworCisjZGVmaW5lIEgySV9TWU5USF9NQVBfQwkJMHgxMTA0CQkvKiBzeW50aCBkbWEgaGFuZHNoYWtlIGN0cmwgKi8KKworLyogQ2xvY2sgZ2VuZXJhdG9yIENUTCAxLCAxNiBiaXQgKi8KKworI2RlZmluZSBIMklfQlJFUzFfQzEJCTB4MjEwNAorI2RlZmluZSBIMklfQlJFUzJfQzEJCTB4MjIwNAorI2RlZmluZSBIMklfQlJFUzNfQzEJCTB4MjMwNAorCisjZGVmaW5lIEgySV9CUkVTX0MxX1NISUZUCTAJCS8qIDA9NDguMCAxPTQ0LjEgMj1hZXNfcnggKi8KKyNkZWZpbmUgSDJJX0JSRVNfQzFfTQkJMHgwMworCisvKiBDbG9jayBnZW5lcmF0b3IgQ1RMIDIsIDMyIGJpdCAqLworCisjZGVmaW5lIEgySV9CUkVTMV9DMgkJMHgyMTA4CisjZGVmaW5lIEgySV9CUkVTMl9DMgkJMHgyMjA4CisjZGVmaW5lIEgySV9CUkVTM19DMgkJMHgyMzA4CisKKyNkZWZpbmUgSDJJX0JSRVNfQzJfSU5DX1NISUZUCTAJCS8qIGluY3JlbWVudCB2YWx1ZSAqLworI2RlZmluZSBIMklfQlJFU19DMl9JTkNfTQkweGZmZmYKKyNkZWZpbmUgSDJJX0JSRVNfQzJfTU9EX1NISUZUCTE2CQkvKiBtb2Rjb250cm9sIHZhbHVlICovCisjZGVmaW5lIEgySV9CUkVTX0MyX01PRF9NCTB4ZmZmZjAwMDAJLyogbW9kY3RybD0weGZmZmYmKG1vZGluYy0xKSAqLworCisvKiBVbml4IHRpbWVyLCA2NCBiaXQgKi8KKworI2RlZmluZSBIMklfVVRJTUUJCTB4MzEwNAorI2RlZmluZSBIMklfVVRJTUVfMF9MRAkJMHhmZmZmCQkvKiBtaWNyb3NlY29uZHMsIExTQidzICovCisjZGVmaW5lIEgySV9VVElNRV8xX0xEMAkJMHgwZgkJLyogbWljcm9zZWNvbmRzLCBNU0IncyAqLworI2RlZmluZSBIMklfVVRJTUVfMV9MRDEJCTB4ZjAJCS8qIHRlbnRocyBvZiBtaWNyb3NlY29uZHMgKi8KKyNkZWZpbmUgSDJJX1VUSU1FXzJfTEQJCTB4ZmZmZgkJLyogc2Vjb25kcywgTFNCJ3MgKi8KKyNkZWZpbmUgSDJJX1VUSU1FXzNfTEQJCTB4ZmZmZgkJLyogc2Vjb25kcywgTVNCJ3MgKi8KKworc3RydWN0IGhhbDJfY3RsX3JlZ3MgeworCXUzMiBfdW51c2VkMFs0XTsKKwl1MzIgaXNyOwkJLyogMHgxMCBTdGF0dXMgUmVnaXN0ZXIgKi8KKwl1MzIgX3VudXNlZDFbM107CisJdTMyIHJldjsJCS8qIDB4MjAgUmV2aXNpb24gUmVnaXN0ZXIgKi8KKwl1MzIgX3VudXNlZDJbM107CisJdTMyIGlhcjsJCS8qIDB4MzAgSW5kaXJlY3QgQWRkcmVzcyBSZWdpc3RlciAqLworCXUzMiBfdW51c2VkM1szXTsKKwl1MzIgaWRyMDsJCS8qIDB4NDAgSW5kaXJlY3QgRGF0YSBSZWdpc3RlciAwICovCisJdTMyIF91bnVzZWQ0WzNdOworCXUzMiBpZHIxOwkJLyogMHg1MCBJbmRpcmVjdCBEYXRhIFJlZ2lzdGVyIDEgKi8KKwl1MzIgX3VudXNlZDVbM107CisJdTMyIGlkcjI7CQkvKiAweDYwIEluZGlyZWN0IERhdGEgUmVnaXN0ZXIgMiAqLworCXUzMiBfdW51c2VkNlszXTsKKwl1MzIgaWRyMzsJCS8qIDB4NzAgSW5kaXJlY3QgRGF0YSBSZWdpc3RlciAzICovCit9OworCitzdHJ1Y3QgaGFsMl9hZXNfcmVncyB7CisJdTMyIHJ4X3N0YXRbMl07CS8qIFN0YXR1cyByZWdpc3RlcnMgKi8KKwl1MzIgcnhfY3JbMl07CQkvKiBDb250cm9sIHJlZ2lzdGVycyAqLworCXUzMiByeF91ZFs0XTsJCS8qIFVzZXIgZGF0YSB3aW5kb3cgKi8KKwl1MzIgcnhfc3RbMjRdOwkJLyogQ2hhbm5lbCBzdGF0dXMgZGF0YSAqLworCisJdTMyIHR4X3N0YXRbMV07CS8qIFN0YXR1cyByZWdpc3RlciAqLworCXUzMiB0eF9jclszXTsJCS8qIENvbnRyb2wgcmVnaXN0ZXJzICovCisJdTMyIHR4X3VkWzRdOwkJLyogVXNlciBkYXRhIHdpbmRvdyAqLworCXUzMiB0eF9zdFsyNF07CQkvKiBDaGFubmVsIHN0YXR1cyBkYXRhICovCit9OworCitzdHJ1Y3QgaGFsMl92b2xfcmVncyB7CisJdTMyIHJpZ2h0OwkJLyogUmlnaHQgdm9sdW1lICovCisJdTMyIGxlZnQ7CQkvKiBMZWZ0IHZvbHVtZSAqLworfTsKKworc3RydWN0IGhhbDJfc3luX3JlZ3MgeworCXUzMiBfdW51c2VkMFsyXTsKKwl1MzIgcGFnZTsJCS8qIERPQyBQYWdlIHJlZ2lzdGVyICovCisJdTMyIHJlZ3NlbDsJCS8qIERPQyBSZWdpc3RlciBzZWxlY3Rpb24gKi8KKwl1MzIgZGxvdzsJCS8qIERPQyBEYXRhIGxvdyAqLworCXUzMiBkaGlnaDsJCS8qIERPQyBEYXRhIGhpZ2ggKi8KKwl1MzIgaXJxOwkJLyogSVJRIFN0YXR1cyAqLworCXUzMiBkcmFtOwkJLyogRFJBTSBBY2Nlc3MgKi8KK307CisKKyNlbmRpZgkvKiBfX0hBTDJfSCAqLwpkaWZmIC0tZ2l0IGEvc291bmQvbWlwcy9zZ2lvMmF1ZGlvLmMgYi9zb3VuZC9taXBzL3NnaW8yYXVkaW8uYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40YzYzNTA0Ci0tLSAvZGV2L251bGwKKysrIGIvc291bmQvbWlwcy9zZ2lvMmF1ZGlvLmMKQEAgLTAsMCArMSwxMDA2IEBACisvKgorICogICBTb3VuZCBkcml2ZXIgZm9yIFNpbGljb24gR3JhcGhpY3MgTzIgV29ya3N0YXRpb25zIEEvViBib2FyZCBhdWRpby4KKyAqCisgKiAgIENvcHlyaWdodCAyMDAzIFZpdmllbiBDaGFwcGVsaWVyIDx2aXZpZW4uY2hhcHBlbGllckBsaW51eC1taXBzLm9yZz4KKyAqICAgQ29weXJpZ2h0IDIwMDggVGhvbWFzIEJvZ2VuZG9lcmZlciA8dHNib2dlbmRAYWxwaGEuZnJhbmtlbi5kZT4KKyAqICAgTXhpZXIgcGFydCB0YWtlbiBmcm9tIG1hY2VfYXVkaW8uYzoKKyAqICAgQ29weXJpZ2h0IDIwMDcgVGhvcmJlbiBKw6RuZGxpbmcgPHRqLnRyZXZlbHlhbkBnbWFpbC5jb20+CisgKgorICogICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICogICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorICogICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqICAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiAgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiAgIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3IFVTQQorICoKKyAqLworCisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+CisjaW5jbHVkZSA8bGludXgvc3BpbmxvY2suaD4KKyNpbmNsdWRlIDxsaW51eC9nZnAuaD4KKyNpbmNsdWRlIDxsaW51eC92bWFsbG9jLmg+CisjaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+CisjaW5jbHVkZSA8bGludXgvZG1hLW1hcHBpbmcuaD4KKyNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9pby5oPgorCisjaW5jbHVkZSA8YXNtL2lwMzIvaXAzMl9pbnRzLmg+CisjaW5jbHVkZSA8YXNtL2lwMzIvbWFjZS5oPgorCisjaW5jbHVkZSA8c291bmQvY29yZS5oPgorI2luY2x1ZGUgPHNvdW5kL2NvbnRyb2wuaD4KKyNpbmNsdWRlIDxzb3VuZC9wY20uaD4KKyNkZWZpbmUgU05EUlZfR0VUX0lECisjaW5jbHVkZSA8c291bmQvaW5pdHZhbC5oPgorI2luY2x1ZGUgPHNvdW5kL2FkMTg0My5oPgorCisKK01PRFVMRV9BVVRIT1IoIlZpdmllbiBDaGFwcGVsaWVyIDx2aXZpZW4uY2hhcHBlbGllckBsaW51eC1taXBzLm9yZz4iKTsKK01PRFVMRV9ERVNDUklQVElPTigiU0dJIE8yIEF1ZGlvIik7CitNT0RVTEVfTElDRU5TRSgiR1BMIik7CitNT0RVTEVfU1VQUE9SVEVEX0RFVklDRSgie3tTaWxpY29uIEdyYXBoaWNzLCBPMiBBdWRpb319Iik7CisKK3N0YXRpYyBpbnQgaW5kZXggPSBTTkRSVl9ERUZBVUxUX0lEWDE7ICAvKiBJbmRleCAwLU1BWCAqLworc3RhdGljIGNoYXIgKmlkID0gU05EUlZfREVGQVVMVF9TVFIxOyAgIC8qIElEIGZvciB0aGlzIGNhcmQgKi8KKworbW9kdWxlX3BhcmFtKGluZGV4LCBpbnQsIDA0NDQpOworTU9EVUxFX1BBUk1fREVTQyhpbmRleCwgIkluZGV4IHZhbHVlIGZvciBTR0kgTzIgc291bmRjYXJkLiIpOworbW9kdWxlX3BhcmFtKGlkLCBjaGFycCwgMDQ0NCk7CitNT0RVTEVfUEFSTV9ERVNDKGlkLCAiSUQgc3RyaW5nIGZvciBTR0kgTzIgc291bmRjYXJkLiIpOworCisKKyNkZWZpbmUgQVVESU9fQ09OVFJPTF9SRVNFVCAgICAgICAgICAgICAgQklUKDApIC8qIDE6IHJlc2V0IGF1ZGlvIGludGVyZmFjZSAqLworI2RlZmluZSBBVURJT19DT05UUk9MX0NPREVDX1BSRVNFTlQgICAgICBCSVQoMSkgLyogMTogY29kZWMgZGV0ZWN0ZWQgKi8KKworI2RlZmluZSBDT0RFQ19DT05UUk9MX1dPUkRfU0hJRlQgICAgICAgIDAKKyNkZWZpbmUgQ09ERUNfQ09OVFJPTF9SRUFEICAgICAgICAgICAgICBCSVQoMTYpCisjZGVmaW5lIENPREVDX0NPTlRST0xfQUREUkVTU19TSElGVCAgICAgMTcKKworI2RlZmluZSBDSEFOTkVMX0NPTlRST0xfUkVTRVQgICAgICAgICAgIEJJVCgxMCkgLyogMTogcmVzZXQgY2hhbm5lbCAqLworI2RlZmluZSBDSEFOTkVMX0RNQV9FTkFCTEUgICAgICAgICAgICAgIEJJVCg5KSAgLyogMTogZW5hYmxlIERNQSB0cmFuc2ZlciAqLworI2RlZmluZSBDSEFOTkVMX0lOVF9USFJFU0hPTERfRElTQUJMRUQgICgwIDw8IDUpIC8qIGludGVycnVwdCBkaXNhYmxlZCAqLworI2RlZmluZSBDSEFOTkVMX0lOVF9USFJFU0hPTERfMjUgICAgICAgICgxIDw8IDUpIC8qIGludCBvbiBidWZmZXIgPjI1JSBmdWxsICovCisjZGVmaW5lIENIQU5ORUxfSU5UX1RIUkVTSE9MRF81MCAgICAgICAgKDIgPDwgNSkgLyogaW50IG9uIGJ1ZmZlciA+NTAlIGZ1bGwgKi8KKyNkZWZpbmUgQ0hBTk5FTF9JTlRfVEhSRVNIT0xEXzc1ICAgICAgICAoMyA8PCA1KSAvKiBpbnQgb24gYnVmZmVyID43NSUgZnVsbCAqLworI2RlZmluZSBDSEFOTkVMX0lOVF9USFJFU0hPTERfRU1QVFkgICAgICg0IDw8IDUpIC8qIGludCBvbiBidWZmZXIgZW1wdHkgKi8KKyNkZWZpbmUgQ0hBTk5FTF9JTlRfVEhSRVNIT0xEX05PVF9FTVBUWSAoNSA8PCA1KSAvKiBpbnQgb24gYnVmZmVyICFlbXB0eSAqLworI2RlZmluZSBDSEFOTkVMX0lOVF9USFJFU0hPTERfRlVMTCAgICAgICg2IDw8IDUpIC8qIGludCBvbiBidWZmZXIgZW1wdHkgKi8KKyNkZWZpbmUgQ0hBTk5FTF9JTlRfVEhSRVNIT0xEX05PVF9GVUxMICAoNyA8PCA1KSAvKiBpbnQgb24gYnVmZmVyICFlbXB0eSAqLworCisjZGVmaW5lIENIQU5ORUxfUklOR19TSElGVCAgICAgICAgICAgICAgMTIKKyNkZWZpbmUgQ0hBTk5FTF9SSU5HX1NJWkUgICAgICAgICAgICAgICAoMSA8PCBDSEFOTkVMX1JJTkdfU0hJRlQpCisjZGVmaW5lIENIQU5ORUxfUklOR19NQVNLICAgICAgICAgICAgICAgKENIQU5ORUxfUklOR19TSVpFIC0gMSkKKworI2RlZmluZSBDSEFOTkVMX0xFRlRfU0hJRlQgNDAKKyNkZWZpbmUgQ0hBTk5FTF9SSUdIVF9TSElGVCA4CisKK3N0cnVjdCBzbmRfc2dpbzJhdWRpb19jaGFuIHsKKwlpbnQgaWR4OworCXN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtOworCWludCBwb3M7CisJc25kX3BjbV91ZnJhbWVzX3Qgc2l6ZTsKKwlzcGlubG9ja190IGxvY2s7Cit9OworCisvKiBkZWZpbml0aW9uIG9mIHRoZSBjaGlwLXNwZWNpZmljIHJlY29yZCAqLworc3RydWN0IHNuZF9zZ2lvMmF1ZGlvIHsKKwlzdHJ1Y3Qgc25kX2NhcmQgKmNhcmQ7CisKKwkvKiBjb2RlYyAqLworCXN0cnVjdCBzbmRfYWQxODQzIGFkMTg0MzsKKwlzcGlubG9ja190IGFkMTg0M19sb2NrOworCisJLyogY2hhbm5lbHMgKi8KKwlzdHJ1Y3Qgc25kX3NnaW8yYXVkaW9fY2hhbiBjaGFubmVsWzNdOworCisJLyogcmVzb3VyY2VzICovCisJdm9pZCAqcmluZ19iYXNlOworCWRtYV9hZGRyX3QgcmluZ19iYXNlX2RtYTsKK307CisKKy8qIEFEMTg0MyBhY2Nlc3MgKi8KKworLyoKKyAqIHJlYWRfYWQxODQzX3JlZyByZXR1cm5zIHRoZSBjdXJyZW50IGNvbnRlbnRzIG9mIGEgMTYgYml0IEFEMTg0MyByZWdpc3Rlci4KKyAqCisgKiBSZXR1cm5zIHVuc2lnbmVkIHJlZ2lzdGVyIHZhbHVlIG9uIHN1Y2Nlc3MsIC1lcnJubyBvbiBmYWlsdXJlLgorICovCitzdGF0aWMgaW50IHJlYWRfYWQxODQzX3JlZyh2b2lkICpwcml2LCBpbnQgcmVnKQoreworCXN0cnVjdCBzbmRfc2dpbzJhdWRpbyAqY2hpcCA9IHByaXY7CisJaW50IHZhbDsKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCisJc3Bpbl9sb2NrX2lycXNhdmUoJmNoaXAtPmFkMTg0M19sb2NrLCBmbGFncyk7CisKKwl3cml0ZXEoKHJlZyA8PCBDT0RFQ19DT05UUk9MX0FERFJFU1NfU0hJRlQpIHwKKwkgICAgICAgQ09ERUNfQ09OVFJPTF9SRUFELCAmbWFjZS0+cGVyaWYuYXVkaW8uY29kZWNfY29udHJvbCk7CisJd21iKCk7CisJdmFsID0gcmVhZHEoJm1hY2UtPnBlcmlmLmF1ZGlvLmNvZGVjX2NvbnRyb2wpOyAvKiBmbHVzaCBidXMgKi8KKwl1ZGVsYXkoMjAwKTsKKworCXZhbCA9IHJlYWRxKCZtYWNlLT5wZXJpZi5hdWRpby5jb2RlY19yZWFkKTsKKworCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmNoaXAtPmFkMTg0M19sb2NrLCBmbGFncyk7CisJcmV0dXJuIHZhbDsKK30KKworLyoKKyAqIHdyaXRlX2FkMTg0M19yZWcgd3JpdGVzIHRoZSBzcGVjaWZpZWQgdmFsdWUgdG8gYSAxNiBiaXQgQUQxODQzIHJlZ2lzdGVyLgorICovCitzdGF0aWMgaW50IHdyaXRlX2FkMTg0M19yZWcodm9pZCAqcHJpdiwgaW50IHJlZywgaW50IHdvcmQpCit7CisJc3RydWN0IHNuZF9zZ2lvMmF1ZGlvICpjaGlwID0gcHJpdjsKKwlpbnQgdmFsOworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisKKwlzcGluX2xvY2tfaXJxc2F2ZSgmY2hpcC0+YWQxODQzX2xvY2ssIGZsYWdzKTsKKworCXdyaXRlcSgocmVnIDw8IENPREVDX0NPTlRST0xfQUREUkVTU19TSElGVCkgfAorCSAgICAgICAod29yZCA8PCBDT0RFQ19DT05UUk9MX1dPUkRfU0hJRlQpLAorCSAgICAgICAmbWFjZS0+cGVyaWYuYXVkaW8uY29kZWNfY29udHJvbCk7CisJd21iKCk7CisJdmFsID0gcmVhZHEoJm1hY2UtPnBlcmlmLmF1ZGlvLmNvZGVjX2NvbnRyb2wpOyAvKiBmbHVzaCBidXMgKi8KKwl1ZGVsYXkoMjAwKTsKKworCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmNoaXAtPmFkMTg0M19sb2NrLCBmbGFncyk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgc2dpbzJhdWRpb19nYWluX2luZm8oc3RydWN0IHNuZF9rY29udHJvbCAqa2NvbnRyb2wsCisJCQkgICAgICAgc3RydWN0IHNuZF9jdGxfZWxlbV9pbmZvICp1aW5mbykKK3sKKwlzdHJ1Y3Qgc25kX3NnaW8yYXVkaW8gKmNoaXAgPSBzbmRfa2NvbnRyb2xfY2hpcChrY29udHJvbCk7CisKKwl1aW5mby0+dHlwZSA9IFNORFJWX0NUTF9FTEVNX1RZUEVfSU5URUdFUjsKKwl1aW5mby0+Y291bnQgPSAyOworCXVpbmZvLT52YWx1ZS5pbnRlZ2VyLm1pbiA9IDA7CisJdWluZm8tPnZhbHVlLmludGVnZXIubWF4ID0gYWQxODQzX2dldF9nYWluX21heCgmY2hpcC0+YWQxODQzLAorCQkJCQkgICAgIChpbnQpa2NvbnRyb2wtPnByaXZhdGVfdmFsdWUpOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHNnaW8yYXVkaW9fZ2Fpbl9nZXQoc3RydWN0IHNuZF9rY29udHJvbCAqa2NvbnRyb2wsCisJCQkgICAgICAgc3RydWN0IHNuZF9jdGxfZWxlbV92YWx1ZSAqdWNvbnRyb2wpCit7CisJc3RydWN0IHNuZF9zZ2lvMmF1ZGlvICpjaGlwID0gc25kX2tjb250cm9sX2NoaXAoa2NvbnRyb2wpOworCWludCB2b2w7CisKKwl2b2wgPSBhZDE4NDNfZ2V0X2dhaW4oJmNoaXAtPmFkMTg0MywgKGludClrY29udHJvbC0+cHJpdmF0ZV92YWx1ZSk7CisKKwl1Y29udHJvbC0+dmFsdWUuaW50ZWdlci52YWx1ZVswXSA9ICh2b2wgPj4gOCkgJiAweEZGOworCXVjb250cm9sLT52YWx1ZS5pbnRlZ2VyLnZhbHVlWzFdID0gdm9sICYgMHhGRjsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHNnaW8yYXVkaW9fZ2Fpbl9wdXQoc3RydWN0IHNuZF9rY29udHJvbCAqa2NvbnRyb2wsCisJCQlzdHJ1Y3Qgc25kX2N0bF9lbGVtX3ZhbHVlICp1Y29udHJvbCkKK3sKKwlzdHJ1Y3Qgc25kX3NnaW8yYXVkaW8gKmNoaXAgPSBzbmRfa2NvbnRyb2xfY2hpcChrY29udHJvbCk7CisJaW50IG5ld3ZvbCwgb2xkdm9sOworCisJb2xkdm9sID0gYWQxODQzX2dldF9nYWluKCZjaGlwLT5hZDE4NDMsIGtjb250cm9sLT5wcml2YXRlX3ZhbHVlKTsKKwluZXd2b2wgPSAodWNvbnRyb2wtPnZhbHVlLmludGVnZXIudmFsdWVbMF0gPDwgOCkgfAorCQl1Y29udHJvbC0+dmFsdWUuaW50ZWdlci52YWx1ZVsxXTsKKworCW5ld3ZvbCA9IGFkMTg0M19zZXRfZ2FpbigmY2hpcC0+YWQxODQzLCBrY29udHJvbC0+cHJpdmF0ZV92YWx1ZSwKKwkJbmV3dm9sKTsKKworCXJldHVybiBuZXd2b2wgIT0gb2xkdm9sOworfQorCitzdGF0aWMgaW50IHNnaW8yYXVkaW9fc291cmNlX2luZm8oc3RydWN0IHNuZF9rY29udHJvbCAqa2NvbnRyb2wsCisJCQkgICAgICAgc3RydWN0IHNuZF9jdGxfZWxlbV9pbmZvICp1aW5mbykKK3sKKwlzdGF0aWMgY29uc3QgY2hhciAqdGV4dHNbM10gPSB7CisJCSJDYW0gTWljIiwgIk1pYyIsICJMaW5lIgorCX07CisJdWluZm8tPnR5cGUgPSBTTkRSVl9DVExfRUxFTV9UWVBFX0VOVU1FUkFURUQ7CisJdWluZm8tPmNvdW50ID0gMTsKKwl1aW5mby0+dmFsdWUuZW51bWVyYXRlZC5pdGVtcyA9IDM7CisJaWYgKHVpbmZvLT52YWx1ZS5lbnVtZXJhdGVkLml0ZW0gPj0gMykKKwkJdWluZm8tPnZhbHVlLmVudW1lcmF0ZWQuaXRlbSA9IDE7CisJc3RyY3B5KHVpbmZvLT52YWx1ZS5lbnVtZXJhdGVkLm5hbWUsCisJICAgICAgIHRleHRzW3VpbmZvLT52YWx1ZS5lbnVtZXJhdGVkLml0ZW1dKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBzZ2lvMmF1ZGlvX3NvdXJjZV9nZXQoc3RydWN0IHNuZF9rY29udHJvbCAqa2NvbnRyb2wsCisJCQkgICAgICAgc3RydWN0IHNuZF9jdGxfZWxlbV92YWx1ZSAqdWNvbnRyb2wpCit7CisJc3RydWN0IHNuZF9zZ2lvMmF1ZGlvICpjaGlwID0gc25kX2tjb250cm9sX2NoaXAoa2NvbnRyb2wpOworCisJdWNvbnRyb2wtPnZhbHVlLmVudW1lcmF0ZWQuaXRlbVswXSA9IGFkMTg0M19nZXRfcmVjc3JjKCZjaGlwLT5hZDE4NDMpOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHNnaW8yYXVkaW9fc291cmNlX3B1dChzdHJ1Y3Qgc25kX2tjb250cm9sICprY29udHJvbCwKKwkJCXN0cnVjdCBzbmRfY3RsX2VsZW1fdmFsdWUgKnVjb250cm9sKQoreworCXN0cnVjdCBzbmRfc2dpbzJhdWRpbyAqY2hpcCA9IHNuZF9rY29udHJvbF9jaGlwKGtjb250cm9sKTsKKwlpbnQgbmV3c3JjLCBvbGRzcmM7CisKKwlvbGRzcmMgPSBhZDE4NDNfZ2V0X3JlY3NyYygmY2hpcC0+YWQxODQzKTsKKwluZXdzcmMgPSBhZDE4NDNfc2V0X3JlY3NyYygmY2hpcC0+YWQxODQzLAorCQkJCSAgIHVjb250cm9sLT52YWx1ZS5lbnVtZXJhdGVkLml0ZW1bMF0pOworCisJcmV0dXJuIG5ld3NyYyAhPSBvbGRzcmM7Cit9CisKKy8qIGRhYzEvcGNtMCBtaXhlciBjb250cm9sICovCitzdGF0aWMgc3RydWN0IHNuZF9rY29udHJvbF9uZXcgc2dpbzJhdWRpb19jdHJsX3BjbTAgX19kZXZpbml0ZGF0YSA9IHsKKwkuaWZhY2UgICAgICAgICAgPSBTTkRSVl9DVExfRUxFTV9JRkFDRV9NSVhFUiwKKwkubmFtZSAgICAgICAgICAgPSAiUENNIFBsYXliYWNrIFZvbHVtZSIsCisJLmluZGV4ICAgICAgICAgID0gMCwKKwkuYWNjZXNzICAgICAgICAgPSBTTkRSVl9DVExfRUxFTV9BQ0NFU1NfUkVBRFdSSVRFLAorCS5wcml2YXRlX3ZhbHVlICA9IEFEMTg0M19HQUlOX1BDTV8wLAorCS5pbmZvICAgICAgICAgICA9IHNnaW8yYXVkaW9fZ2Fpbl9pbmZvLAorCS5nZXQgICAgICAgICAgICA9IHNnaW8yYXVkaW9fZ2Fpbl9nZXQsCisJLnB1dCAgICAgICAgICAgID0gc2dpbzJhdWRpb19nYWluX3B1dCwKK307CisKKy8qIGRhYzIvcGNtMSBtaXhlciBjb250cm9sICovCitzdGF0aWMgc3RydWN0IHNuZF9rY29udHJvbF9uZXcgc2dpbzJhdWRpb19jdHJsX3BjbTEgX19kZXZpbml0ZGF0YSA9IHsKKwkuaWZhY2UgICAgICAgICAgPSBTTkRSVl9DVExfRUxFTV9JRkFDRV9NSVhFUiwKKwkubmFtZSAgICAgICAgICAgPSAiUENNIFBsYXliYWNrIFZvbHVtZSIsCisJLmluZGV4ICAgICAgICAgID0gMSwKKwkuYWNjZXNzICAgICAgICAgPSBTTkRSVl9DVExfRUxFTV9BQ0NFU1NfUkVBRFdSSVRFLAorCS5wcml2YXRlX3ZhbHVlICA9IEFEMTg0M19HQUlOX1BDTV8xLAorCS5pbmZvICAgICAgICAgICA9IHNnaW8yYXVkaW9fZ2Fpbl9pbmZvLAorCS5nZXQgICAgICAgICAgICA9IHNnaW8yYXVkaW9fZ2Fpbl9nZXQsCisJLnB1dCAgICAgICAgICAgID0gc2dpbzJhdWRpb19nYWluX3B1dCwKK307CisKKy8qIHJlY29yZCBsZXZlbCBtaXhlciBjb250cm9sICovCitzdGF0aWMgc3RydWN0IHNuZF9rY29udHJvbF9uZXcgc2dpbzJhdWRpb19jdHJsX3JlY2xldmVsIF9fZGV2aW5pdGRhdGEgPSB7CisJLmlmYWNlICAgICAgICAgID0gU05EUlZfQ1RMX0VMRU1fSUZBQ0VfTUlYRVIsCisJLm5hbWUgICAgICAgICAgID0gIkNhcHR1cmUgVm9sdW1lIiwKKwkuYWNjZXNzICAgICAgICAgPSBTTkRSVl9DVExfRUxFTV9BQ0NFU1NfUkVBRFdSSVRFLAorCS5wcml2YXRlX3ZhbHVlICA9IEFEMTg0M19HQUlOX1JFQ0xFViwKKwkuaW5mbyAgICAgICAgICAgPSBzZ2lvMmF1ZGlvX2dhaW5faW5mbywKKwkuZ2V0ICAgICAgICAgICAgPSBzZ2lvMmF1ZGlvX2dhaW5fZ2V0LAorCS5wdXQgICAgICAgICAgICA9IHNnaW8yYXVkaW9fZ2Fpbl9wdXQsCit9OworCisvKiByZWNvcmQgbGV2ZWwgc291cmNlIGNvbnRyb2wgKi8KK3N0YXRpYyBzdHJ1Y3Qgc25kX2tjb250cm9sX25ldyBzZ2lvMmF1ZGlvX2N0cmxfcmVjc291cmNlIF9fZGV2aW5pdGRhdGEgPSB7CisJLmlmYWNlICAgICAgICAgID0gU05EUlZfQ1RMX0VMRU1fSUZBQ0VfTUlYRVIsCisJLm5hbWUgICAgICAgICAgID0gIkNhcHR1cmUgU291cmNlIiwKKwkuYWNjZXNzICAgICAgICAgPSBTTkRSVl9DVExfRUxFTV9BQ0NFU1NfUkVBRFdSSVRFLAorCS5pbmZvICAgICAgICAgICA9IHNnaW8yYXVkaW9fc291cmNlX2luZm8sCisJLmdldCAgICAgICAgICAgID0gc2dpbzJhdWRpb19zb3VyY2VfZ2V0LAorCS5wdXQgICAgICAgICAgICA9IHNnaW8yYXVkaW9fc291cmNlX3B1dCwKK307CisKKy8qIGxpbmUgbWl4ZXIgY29udHJvbCAqLworc3RhdGljIHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IHNnaW8yYXVkaW9fY3RybF9saW5lIF9fZGV2aW5pdGRhdGEgPSB7CisJLmlmYWNlICAgICAgICAgID0gU05EUlZfQ1RMX0VMRU1fSUZBQ0VfTUlYRVIsCisJLm5hbWUgICAgICAgICAgID0gIkxpbmUgUGxheWJhY2sgVm9sdW1lIiwKKwkuaW5kZXggICAgICAgICAgPSAwLAorCS5hY2Nlc3MgICAgICAgICA9IFNORFJWX0NUTF9FTEVNX0FDQ0VTU19SRUFEV1JJVEUsCisJLnByaXZhdGVfdmFsdWUgID0gQUQxODQzX0dBSU5fTElORSwKKwkuaW5mbyAgICAgICAgICAgPSBzZ2lvMmF1ZGlvX2dhaW5faW5mbywKKwkuZ2V0ICAgICAgICAgICAgPSBzZ2lvMmF1ZGlvX2dhaW5fZ2V0LAorCS5wdXQgICAgICAgICAgICA9IHNnaW8yYXVkaW9fZ2Fpbl9wdXQsCit9OworCisvKiBjZCBtaXhlciBjb250cm9sICovCitzdGF0aWMgc3RydWN0IHNuZF9rY29udHJvbF9uZXcgc2dpbzJhdWRpb19jdHJsX2NkIF9fZGV2aW5pdGRhdGEgPSB7CisJLmlmYWNlICAgICAgICAgID0gU05EUlZfQ1RMX0VMRU1fSUZBQ0VfTUlYRVIsCisJLm5hbWUgICAgICAgICAgID0gIkxpbmUgUGxheWJhY2sgVm9sdW1lIiwKKwkuaW5kZXggICAgICAgICAgPSAxLAorCS5hY2Nlc3MgICAgICAgICA9IFNORFJWX0NUTF9FTEVNX0FDQ0VTU19SRUFEV1JJVEUsCisJLnByaXZhdGVfdmFsdWUgID0gQUQxODQzX0dBSU5fTElORV8yLAorCS5pbmZvICAgICAgICAgICA9IHNnaW8yYXVkaW9fZ2Fpbl9pbmZvLAorCS5nZXQgICAgICAgICAgICA9IHNnaW8yYXVkaW9fZ2Fpbl9nZXQsCisJLnB1dCAgICAgICAgICAgID0gc2dpbzJhdWRpb19nYWluX3B1dCwKK307CisKKy8qIG1pYyBtaXhlciBjb250cm9sICovCitzdGF0aWMgc3RydWN0IHNuZF9rY29udHJvbF9uZXcgc2dpbzJhdWRpb19jdHJsX21pYyBfX2RldmluaXRkYXRhID0geworCS5pZmFjZSAgICAgICAgICA9IFNORFJWX0NUTF9FTEVNX0lGQUNFX01JWEVSLAorCS5uYW1lICAgICAgICAgICA9ICJNaWMgUGxheWJhY2sgVm9sdW1lIiwKKwkuYWNjZXNzICAgICAgICAgPSBTTkRSVl9DVExfRUxFTV9BQ0NFU1NfUkVBRFdSSVRFLAorCS5wcml2YXRlX3ZhbHVlICA9IEFEMTg0M19HQUlOX01JQywKKwkuaW5mbyAgICAgICAgICAgPSBzZ2lvMmF1ZGlvX2dhaW5faW5mbywKKwkuZ2V0ICAgICAgICAgICAgPSBzZ2lvMmF1ZGlvX2dhaW5fZ2V0LAorCS5wdXQgICAgICAgICAgICA9IHNnaW8yYXVkaW9fZ2Fpbl9wdXQsCit9OworCisKK3N0YXRpYyBpbnQgX19kZXZpbml0IHNuZF9zZ2lvMmF1ZGlvX25ld19taXhlcihzdHJ1Y3Qgc25kX3NnaW8yYXVkaW8gKmNoaXApCit7CisJaW50IGVycjsKKworCWVyciA9IHNuZF9jdGxfYWRkKGNoaXAtPmNhcmQsCisJCQkgIHNuZF9jdGxfbmV3MSgmc2dpbzJhdWRpb19jdHJsX3BjbTAsIGNoaXApKTsKKwlpZiAoZXJyIDwgMCkKKwkJcmV0dXJuIGVycjsKKworCWVyciA9IHNuZF9jdGxfYWRkKGNoaXAtPmNhcmQsCisJCQkgIHNuZF9jdGxfbmV3MSgmc2dpbzJhdWRpb19jdHJsX3BjbTEsIGNoaXApKTsKKwlpZiAoZXJyIDwgMCkKKwkJcmV0dXJuIGVycjsKKworCWVyciA9IHNuZF9jdGxfYWRkKGNoaXAtPmNhcmQsCisJCQkgIHNuZF9jdGxfbmV3MSgmc2dpbzJhdWRpb19jdHJsX3JlY2xldmVsLCBjaGlwKSk7CisJaWYgKGVyciA8IDApCisJCXJldHVybiBlcnI7CisKKwllcnIgPSBzbmRfY3RsX2FkZChjaGlwLT5jYXJkLAorCQkJICBzbmRfY3RsX25ldzEoJnNnaW8yYXVkaW9fY3RybF9yZWNzb3VyY2UsIGNoaXApKTsKKwlpZiAoZXJyIDwgMCkKKwkJcmV0dXJuIGVycjsKKwllcnIgPSBzbmRfY3RsX2FkZChjaGlwLT5jYXJkLAorCQkJICBzbmRfY3RsX25ldzEoJnNnaW8yYXVkaW9fY3RybF9saW5lLCBjaGlwKSk7CisJaWYgKGVyciA8IDApCisJCXJldHVybiBlcnI7CisKKwllcnIgPSBzbmRfY3RsX2FkZChjaGlwLT5jYXJkLAorCQkJICBzbmRfY3RsX25ldzEoJnNnaW8yYXVkaW9fY3RybF9jZCwgY2hpcCkpOworCWlmIChlcnIgPCAwKQorCQlyZXR1cm4gZXJyOworCisJZXJyID0gc25kX2N0bF9hZGQoY2hpcC0+Y2FyZCwKKwkJCSAgc25kX2N0bF9uZXcxKCZzZ2lvMmF1ZGlvX2N0cmxfbWljLCBjaGlwKSk7CisJaWYgKGVyciA8IDApCisJCXJldHVybiBlcnI7CisKKwlyZXR1cm4gMDsKK30KKworLyogbG93LWxldmVsIGF1ZGlvIGludGVyZmFjZSBETUEgKi8KKworLyogZ2V0IGRhdGEgb3V0IG9mIGJvdW5jZSBidWZmZXIsIGNvdW50IG11c3QgYmUgYSBtdWx0aXBsZSBvZiAzMiAqLworLyogcmV0dXJucyAxIGlmIGEgcGVyaW9kIGhhcyBlbGFwc2VkICovCitzdGF0aWMgaW50IHNuZF9zZ2lvMmF1ZGlvX2RtYV9wdWxsX2ZyYWcoc3RydWN0IHNuZF9zZ2lvMmF1ZGlvICpjaGlwLAorCQkJCQl1bnNpZ25lZCBpbnQgY2gsIHVuc2lnbmVkIGludCBjb3VudCkKK3sKKwlpbnQgcmV0OworCXVuc2lnbmVkIGxvbmcgc3JjX2Jhc2UsIHNyY19wb3MsIGRzdF9tYXNrOworCXVuc2lnbmVkIGNoYXIgKmRzdF9iYXNlOworCWludCBkc3RfcG9zOworCXU2NCAqc3JjOworCXMxNiAqZHN0OworCXU2NCB4OworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisJc3RydWN0IHNuZF9wY21fcnVudGltZSAqcnVudGltZSA9IGNoaXAtPmNoYW5uZWxbY2hdLnN1YnN0cmVhbS0+cnVudGltZTsKKworCXNwaW5fbG9ja19pcnFzYXZlKCZjaGlwLT5jaGFubmVsW2NoXS5sb2NrLCBmbGFncyk7CisKKwlzcmNfYmFzZSA9ICh1bnNpZ25lZCBsb25nKSBjaGlwLT5yaW5nX2Jhc2UgfCAoY2ggPDwgQ0hBTk5FTF9SSU5HX1NISUZUKTsKKwlzcmNfcG9zID0gcmVhZHEoJm1hY2UtPnBlcmlmLmF1ZGlvLmNoYW5bY2hdLnJlYWRfcHRyKTsKKwlkc3RfYmFzZSA9IHJ1bnRpbWUtPmRtYV9hcmVhOworCWRzdF9wb3MgPSBjaGlwLT5jaGFubmVsW2NoXS5wb3M7CisJZHN0X21hc2sgPSBmcmFtZXNfdG9fYnl0ZXMocnVudGltZSwgcnVudGltZS0+YnVmZmVyX3NpemUpIC0gMTsKKworCS8qIGNoZWNrIGlmIGEgcGVyaW9kIGhhcyBlbGFwc2VkICovCisJY2hpcC0+Y2hhbm5lbFtjaF0uc2l6ZSArPSAoY291bnQgPj4gMyk7IC8qIGluIGZyYW1lcyAqLworCXJldCA9IGNoaXAtPmNoYW5uZWxbY2hdLnNpemUgPj0gcnVudGltZS0+cGVyaW9kX3NpemU7CisJY2hpcC0+Y2hhbm5lbFtjaF0uc2l6ZSAlPSBydW50aW1lLT5wZXJpb2Rfc2l6ZTsKKworCXdoaWxlIChjb3VudCkgeworCQlzcmMgPSAodTY0ICopKHNyY19iYXNlICsgc3JjX3Bvcyk7CisJCWRzdCA9IChzMTYgKikoZHN0X2Jhc2UgKyBkc3RfcG9zKTsKKworCQl4ID0gKnNyYzsKKwkJZHN0WzBdID0gKHggPj4gQ0hBTk5FTF9MRUZUX1NISUZUKSAmIDB4ZmZmZjsKKwkJZHN0WzFdID0gKHggPj4gQ0hBTk5FTF9SSUdIVF9TSElGVCkgJiAweGZmZmY7CisKKwkJc3JjX3BvcyA9IChzcmNfcG9zICsgc2l6ZW9mKHU2NCkpICYgQ0hBTk5FTF9SSU5HX01BU0s7CisJCWRzdF9wb3MgPSAoZHN0X3BvcyArIDIgKiBzaXplb2YoczE2KSkgJiBkc3RfbWFzazsKKwkJY291bnQgLT0gc2l6ZW9mKHU2NCk7CisJfQorCisJd3JpdGVxKHNyY19wb3MsICZtYWNlLT5wZXJpZi5hdWRpby5jaGFuW2NoXS5yZWFkX3B0cik7IC8qIGluIGJ5dGVzICovCisJY2hpcC0+Y2hhbm5lbFtjaF0ucG9zID0gZHN0X3BvczsKKworCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmNoaXAtPmNoYW5uZWxbY2hdLmxvY2ssIGZsYWdzKTsKKwlyZXR1cm4gcmV0OworfQorCisvKiBwdXQgc29tZSBETUEgZGF0YSBpbiBib3VuY2UgYnVmZmVyLCBjb3VudCBtdXN0IGJlIGEgbXVsdGlwbGUgb2YgMzIgKi8KKy8qIHJldHVybnMgMSBpZiBhIHBlcmlvZCBoYXMgZWxhcHNlZCAqLworc3RhdGljIGludCBzbmRfc2dpbzJhdWRpb19kbWFfcHVzaF9mcmFnKHN0cnVjdCBzbmRfc2dpbzJhdWRpbyAqY2hpcCwKKwkJCQkJdW5zaWduZWQgaW50IGNoLCB1bnNpZ25lZCBpbnQgY291bnQpCit7CisJaW50IHJldDsKKwlzNjQgbCwgcjsKKwl1bnNpZ25lZCBsb25nIGRzdF9iYXNlLCBkc3RfcG9zLCBzcmNfbWFzazsKKwl1bnNpZ25lZCBjaGFyICpzcmNfYmFzZTsKKwlpbnQgc3JjX3BvczsKKwl1NjQgKmRzdDsKKwlzMTYgKnNyYzsKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCXN0cnVjdCBzbmRfcGNtX3J1bnRpbWUgKnJ1bnRpbWUgPSBjaGlwLT5jaGFubmVsW2NoXS5zdWJzdHJlYW0tPnJ1bnRpbWU7CisKKwlzcGluX2xvY2tfaXJxc2F2ZSgmY2hpcC0+Y2hhbm5lbFtjaF0ubG9jaywgZmxhZ3MpOworCisJZHN0X2Jhc2UgPSAodW5zaWduZWQgbG9uZyljaGlwLT5yaW5nX2Jhc2UgfCAoY2ggPDwgQ0hBTk5FTF9SSU5HX1NISUZUKTsKKwlkc3RfcG9zID0gcmVhZHEoJm1hY2UtPnBlcmlmLmF1ZGlvLmNoYW5bY2hdLndyaXRlX3B0cik7CisJc3JjX2Jhc2UgPSBydW50aW1lLT5kbWFfYXJlYTsKKwlzcmNfcG9zID0gY2hpcC0+Y2hhbm5lbFtjaF0ucG9zOworCXNyY19tYXNrID0gZnJhbWVzX3RvX2J5dGVzKHJ1bnRpbWUsIHJ1bnRpbWUtPmJ1ZmZlcl9zaXplKSAtIDE7CisKKwkvKiBjaGVjayBpZiBhIHBlcmlvZCBoYXMgZWxhcHNlZCAqLworCWNoaXAtPmNoYW5uZWxbY2hdLnNpemUgKz0gKGNvdW50ID4+IDMpOyAvKiBpbiBmcmFtZXMgKi8KKwlyZXQgPSBjaGlwLT5jaGFubmVsW2NoXS5zaXplID49IHJ1bnRpbWUtPnBlcmlvZF9zaXplOworCWNoaXAtPmNoYW5uZWxbY2hdLnNpemUgJT0gcnVudGltZS0+cGVyaW9kX3NpemU7CisKKwl3aGlsZSAoY291bnQpIHsKKwkJc3JjID0gKHMxNiAqKShzcmNfYmFzZSArIHNyY19wb3MpOworCQlkc3QgPSAodTY0ICopKGRzdF9iYXNlICsgZHN0X3Bvcyk7CisKKwkJbCA9IHNyY1swXTsgLyogc2lnbiBleHRlbmQgKi8KKwkJciA9IHNyY1sxXTsgLyogc2lnbiBleHRlbmQgKi8KKworCQkqZHN0ID0gKChsICYgMHgwMGZmZmZmZikgPDwgQ0hBTk5FTF9MRUZUX1NISUZUKSB8CisJCQkoKHIgJiAweDAwZmZmZmZmKSA8PCBDSEFOTkVMX1JJR0hUX1NISUZUKTsKKworCQlkc3RfcG9zID0gKGRzdF9wb3MgKyBzaXplb2YodTY0KSkgJiBDSEFOTkVMX1JJTkdfTUFTSzsKKwkJc3JjX3BvcyA9IChzcmNfcG9zICsgMiAqIHNpemVvZihzMTYpKSAmIHNyY19tYXNrOworCQljb3VudCAtPSBzaXplb2YodTY0KTsKKwl9CisKKwl3cml0ZXEoZHN0X3BvcywgJm1hY2UtPnBlcmlmLmF1ZGlvLmNoYW5bY2hdLndyaXRlX3B0cik7IC8qIGluIGJ5dGVzICovCisJY2hpcC0+Y2hhbm5lbFtjaF0ucG9zID0gc3JjX3BvczsKKworCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmNoaXAtPmNoYW5uZWxbY2hdLmxvY2ssIGZsYWdzKTsKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgaW50IHNuZF9zZ2lvMmF1ZGlvX2RtYV9zdGFydChzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSkKK3sKKwlzdHJ1Y3Qgc25kX3NnaW8yYXVkaW8gKmNoaXAgPSBzbmRfcGNtX3N1YnN0cmVhbV9jaGlwKHN1YnN0cmVhbSk7CisJc3RydWN0IHNuZF9zZ2lvMmF1ZGlvX2NoYW4gKmNoYW4gPSBzdWJzdHJlYW0tPnJ1bnRpbWUtPnByaXZhdGVfZGF0YTsKKwlpbnQgY2ggPSBjaGFuLT5pZHg7CisKKwkvKiByZXNldCBETUEgY2hhbm5lbCAqLworCXdyaXRlcShDSEFOTkVMX0NPTlRST0xfUkVTRVQsICZtYWNlLT5wZXJpZi5hdWRpby5jaGFuW2NoXS5jb250cm9sKTsKKwl1ZGVsYXkoMTApOworCXdyaXRlcSgwLCAmbWFjZS0+cGVyaWYuYXVkaW8uY2hhbltjaF0uY29udHJvbCk7CisKKwlpZiAoc3Vic3RyZWFtLT5zdHJlYW0gPT0gU05EUlZfUENNX1NUUkVBTV9QTEFZQkFDSykgeworCQkvKiBwdXNoIGEgZnVsbCBidWZmZXIgKi8KKwkJc25kX3NnaW8yYXVkaW9fZG1hX3B1c2hfZnJhZyhjaGlwLCBjaCwgQ0hBTk5FTF9SSU5HX1NJWkUgLSAzMik7CisJfQorCS8qIHNldCBETUEgdG8gd2FrZSBvbiA1MCUgZW1wdHkgYW5kIGVuYWJsZSBpbnRlcnJ1cHQgKi8KKwl3cml0ZXEoQ0hBTk5FTF9ETUFfRU5BQkxFIHwgQ0hBTk5FTF9JTlRfVEhSRVNIT0xEXzUwLAorCSAgICAgICAmbWFjZS0+cGVyaWYuYXVkaW8uY2hhbltjaF0uY29udHJvbCk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgc25kX3NnaW8yYXVkaW9fZG1hX3N0b3Aoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0pCit7CisJc3RydWN0IHNuZF9zZ2lvMmF1ZGlvX2NoYW4gKmNoYW4gPSBzdWJzdHJlYW0tPnJ1bnRpbWUtPnByaXZhdGVfZGF0YTsKKworCXdyaXRlcSgwLCAmbWFjZS0+cGVyaWYuYXVkaW8uY2hhbltjaGFuLT5pZHhdLmNvbnRyb2wpOworCXJldHVybiAwOworfQorCitzdGF0aWMgaXJxcmV0dXJuX3Qgc25kX3NnaW8yYXVkaW9fZG1hX2luX2lzcihpbnQgaXJxLCB2b2lkICpkZXZfaWQpCit7CisJc3RydWN0IHNuZF9zZ2lvMmF1ZGlvX2NoYW4gKmNoYW4gPSBkZXZfaWQ7CisJc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW07CisJc3RydWN0IHNuZF9zZ2lvMmF1ZGlvICpjaGlwOworCWludCBjb3VudCwgY2g7CisKKwlzdWJzdHJlYW0gPSBjaGFuLT5zdWJzdHJlYW07CisJY2hpcCA9IHNuZF9wY21fc3Vic3RyZWFtX2NoaXAoc3Vic3RyZWFtKTsKKwljaCA9IGNoYW4tPmlkeDsKKworCS8qIGVtcHR5IHRoZSByaW5nICovCisJY291bnQgPSBDSEFOTkVMX1JJTkdfU0laRSAtCisJCXJlYWRxKCZtYWNlLT5wZXJpZi5hdWRpby5jaGFuW2NoXS5kZXB0aCkgLSAzMjsKKwlpZiAoc25kX3NnaW8yYXVkaW9fZG1hX3B1bGxfZnJhZyhjaGlwLCBjaCwgY291bnQpKQorCQlzbmRfcGNtX3BlcmlvZF9lbGFwc2VkKHN1YnN0cmVhbSk7CisKKwlyZXR1cm4gSVJRX0hBTkRMRUQ7Cit9CisKK3N0YXRpYyBpcnFyZXR1cm5fdCBzbmRfc2dpbzJhdWRpb19kbWFfb3V0X2lzcihpbnQgaXJxLCB2b2lkICpkZXZfaWQpCit7CisJc3RydWN0IHNuZF9zZ2lvMmF1ZGlvX2NoYW4gKmNoYW4gPSBkZXZfaWQ7CisJc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW07CisJc3RydWN0IHNuZF9zZ2lvMmF1ZGlvICpjaGlwOworCWludCBjb3VudCwgY2g7CisKKwlzdWJzdHJlYW0gPSBjaGFuLT5zdWJzdHJlYW07CisJY2hpcCA9IHNuZF9wY21fc3Vic3RyZWFtX2NoaXAoc3Vic3RyZWFtKTsKKwljaCA9IGNoYW4tPmlkeDsKKwkvKiBmaWxsIHRoZSByaW5nICovCisJY291bnQgPSBDSEFOTkVMX1JJTkdfU0laRSAtCisJCXJlYWRxKCZtYWNlLT5wZXJpZi5hdWRpby5jaGFuW2NoXS5kZXB0aCkgLSAzMjsKKwlpZiAoc25kX3NnaW8yYXVkaW9fZG1hX3B1c2hfZnJhZyhjaGlwLCBjaCwgY291bnQpKQorCQlzbmRfcGNtX3BlcmlvZF9lbGFwc2VkKHN1YnN0cmVhbSk7CisKKwlyZXR1cm4gSVJRX0hBTkRMRUQ7Cit9CisKK3N0YXRpYyBpcnFyZXR1cm5fdCBzbmRfc2dpbzJhdWRpb19lcnJvcl9pc3IoaW50IGlycSwgdm9pZCAqZGV2X2lkKQoreworCXN0cnVjdCBzbmRfc2dpbzJhdWRpb19jaGFuICpjaGFuID0gZGV2X2lkOworCXN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtOworCisJc3Vic3RyZWFtID0gY2hhbi0+c3Vic3RyZWFtOworCXNuZF9zZ2lvMmF1ZGlvX2RtYV9zdG9wKHN1YnN0cmVhbSk7CisJc25kX3NnaW8yYXVkaW9fZG1hX3N0YXJ0KHN1YnN0cmVhbSk7CisJcmV0dXJuIElSUV9IQU5ETEVEOworfQorCisvKiBQQ00gcGFydCAqLworLyogUENNIGhhcmR3YXJlIGRlZmluaXRpb24gKi8KK3N0YXRpYyBzdHJ1Y3Qgc25kX3BjbV9oYXJkd2FyZSBzbmRfc2dpbzJhdWRpb19wY21faHcgPSB7CisJLmluZm8gPSAoU05EUlZfUENNX0lORk9fTU1BUCB8CisJCSBTTkRSVl9QQ01fSU5GT19NTUFQX1ZBTElEIHwKKwkJIFNORFJWX1BDTV9JTkZPX0lOVEVSTEVBVkVEIHwKKwkJIFNORFJWX1BDTV9JTkZPX0JMT0NLX1RSQU5TRkVSKSwKKwkuZm9ybWF0cyA9ICAgICAgICAgIFNORFJWX1BDTV9GTVRCSVRfUzE2X0JFLAorCS5yYXRlcyA9ICAgICAgICAgICAgU05EUlZfUENNX1JBVEVfODAwMF80ODAwMCwKKwkucmF0ZV9taW4gPSAgICAgICAgIDgwMDAsCisJLnJhdGVfbWF4ID0gICAgICAgICA0ODAwMCwKKwkuY2hhbm5lbHNfbWluID0gICAgIDIsCisJLmNoYW5uZWxzX21heCA9ICAgICAyLAorCS5idWZmZXJfYnl0ZXNfbWF4ID0gNjU1MzYsCisJLnBlcmlvZF9ieXRlc19taW4gPSAzMjc2OCwKKwkucGVyaW9kX2J5dGVzX21heCA9IDY1NTM2LAorCS5wZXJpb2RzX21pbiA9ICAgICAgMSwKKwkucGVyaW9kc19tYXggPSAgICAgIDEwMjQsCit9OworCisvKiBQQ00gcGxheWJhY2sgb3BlbiBjYWxsYmFjayAqLworc3RhdGljIGludCBzbmRfc2dpbzJhdWRpb19wbGF5YmFjazFfb3BlbihzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSkKK3sKKwlzdHJ1Y3Qgc25kX3NnaW8yYXVkaW8gKmNoaXAgPSBzbmRfcGNtX3N1YnN0cmVhbV9jaGlwKHN1YnN0cmVhbSk7CisJc3RydWN0IHNuZF9wY21fcnVudGltZSAqcnVudGltZSA9IHN1YnN0cmVhbS0+cnVudGltZTsKKworCXJ1bnRpbWUtPmh3ID0gc25kX3NnaW8yYXVkaW9fcGNtX2h3OworCXJ1bnRpbWUtPnByaXZhdGVfZGF0YSA9ICZjaGlwLT5jaGFubmVsWzFdOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHNuZF9zZ2lvMmF1ZGlvX3BsYXliYWNrMl9vcGVuKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtKQoreworCXN0cnVjdCBzbmRfc2dpbzJhdWRpbyAqY2hpcCA9IHNuZF9wY21fc3Vic3RyZWFtX2NoaXAoc3Vic3RyZWFtKTsKKwlzdHJ1Y3Qgc25kX3BjbV9ydW50aW1lICpydW50aW1lID0gc3Vic3RyZWFtLT5ydW50aW1lOworCisJcnVudGltZS0+aHcgPSBzbmRfc2dpbzJhdWRpb19wY21faHc7CisJcnVudGltZS0+cHJpdmF0ZV9kYXRhID0gJmNoaXAtPmNoYW5uZWxbMl07CisJcmV0dXJuIDA7Cit9CisKKy8qIFBDTSBjYXB0dXJlIG9wZW4gY2FsbGJhY2sgKi8KK3N0YXRpYyBpbnQgc25kX3NnaW8yYXVkaW9fY2FwdHVyZV9vcGVuKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtKQoreworCXN0cnVjdCBzbmRfc2dpbzJhdWRpbyAqY2hpcCA9IHNuZF9wY21fc3Vic3RyZWFtX2NoaXAoc3Vic3RyZWFtKTsKKwlzdHJ1Y3Qgc25kX3BjbV9ydW50aW1lICpydW50aW1lID0gc3Vic3RyZWFtLT5ydW50aW1lOworCisJcnVudGltZS0+aHcgPSBzbmRfc2dpbzJhdWRpb19wY21faHc7CisJcnVudGltZS0+cHJpdmF0ZV9kYXRhID0gJmNoaXAtPmNoYW5uZWxbMF07CisJcmV0dXJuIDA7Cit9CisKKy8qIFBDTSBjbG9zZSBjYWxsYmFjayAqLworc3RhdGljIGludCBzbmRfc2dpbzJhdWRpb19wY21fY2xvc2Uoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0pCit7CisJc3RydWN0IHNuZF9wY21fcnVudGltZSAqcnVudGltZSA9IHN1YnN0cmVhbS0+cnVudGltZTsKKworCXJ1bnRpbWUtPnByaXZhdGVfZGF0YSA9IE5VTEw7CisJcmV0dXJuIDA7Cit9CisKKworLyogaHdfcGFyYW1zIGNhbGxiYWNrICovCitzdGF0aWMgaW50IHNuZF9zZ2lvMmF1ZGlvX3BjbV9od19wYXJhbXMoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0sCisJCQkJCXN0cnVjdCBzbmRfcGNtX2h3X3BhcmFtcyAqaHdfcGFyYW1zKQoreworCXN0cnVjdCBzbmRfcGNtX3J1bnRpbWUgKnJ1bnRpbWUgPSBzdWJzdHJlYW0tPnJ1bnRpbWU7CisJaW50IHNpemUgPSBwYXJhbXNfYnVmZmVyX2J5dGVzKGh3X3BhcmFtcyk7CisKKwkvKiBhbGxvYyB2aXJ0dWFsICdkbWEnIGFyZWEgKi8KKwlpZiAocnVudGltZS0+ZG1hX2FyZWEpCisJCXZmcmVlKHJ1bnRpbWUtPmRtYV9hcmVhKTsKKwlydW50aW1lLT5kbWFfYXJlYSA9IHZtYWxsb2Moc2l6ZSk7CisJaWYgKHJ1bnRpbWUtPmRtYV9hcmVhID09IE5VTEwpCisJCXJldHVybiAtRU5PTUVNOworCXJ1bnRpbWUtPmRtYV9ieXRlcyA9IHNpemU7CisJcmV0dXJuIDA7Cit9CisKKy8qIGh3X2ZyZWUgY2FsbGJhY2sgKi8KK3N0YXRpYyBpbnQgc25kX3NnaW8yYXVkaW9fcGNtX2h3X2ZyZWUoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0pCit7CisJaWYgKHN1YnN0cmVhbS0+cnVudGltZS0+ZG1hX2FyZWEpCisJCXZmcmVlKHN1YnN0cmVhbS0+cnVudGltZS0+ZG1hX2FyZWEpOworCXN1YnN0cmVhbS0+cnVudGltZS0+ZG1hX2FyZWEgPSBOVUxMOworCXJldHVybiAwOworfQorCisvKiBwcmVwYXJlIGNhbGxiYWNrICovCitzdGF0aWMgaW50IHNuZF9zZ2lvMmF1ZGlvX3BjbV9wcmVwYXJlKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtKQoreworCXN0cnVjdCBzbmRfc2dpbzJhdWRpbyAqY2hpcCA9IHNuZF9wY21fc3Vic3RyZWFtX2NoaXAoc3Vic3RyZWFtKTsKKwlzdHJ1Y3Qgc25kX3BjbV9ydW50aW1lICpydW50aW1lID0gc3Vic3RyZWFtLT5ydW50aW1lOworCXN0cnVjdCBzbmRfc2dpbzJhdWRpb19jaGFuICpjaGFuID0gc3Vic3RyZWFtLT5ydW50aW1lLT5wcml2YXRlX2RhdGE7CisJaW50IGNoID0gY2hhbi0+aWR4OworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisKKwlzcGluX2xvY2tfaXJxc2F2ZSgmY2hpcC0+Y2hhbm5lbFtjaF0ubG9jaywgZmxhZ3MpOworCisJLyogU2V0dXAgdGhlIHBzZXVkby1kbWEgdHJhbnNmZXIgcG9pbnRlcnMuICAqLworCWNoaXAtPmNoYW5uZWxbY2hdLnBvcyA9IDA7CisJY2hpcC0+Y2hhbm5lbFtjaF0uc2l6ZSA9IDA7CisJY2hpcC0+Y2hhbm5lbFtjaF0uc3Vic3RyZWFtID0gc3Vic3RyZWFtOworCisJLyogc2V0IEFEMTg0MyBmb3JtYXQgKi8KKwkvKiBoYXJkd2FyZSBmb3JtYXQgaXMgYWx3YXlzIFMxNl9MRSAqLworCXN3aXRjaCAoc3Vic3RyZWFtLT5zdHJlYW0pIHsKKwljYXNlIFNORFJWX1BDTV9TVFJFQU1fUExBWUJBQ0s6CisJCWFkMTg0M19zZXR1cF9kYWMoJmNoaXAtPmFkMTg0MywKKwkJCQkgY2ggLSAxLAorCQkJCSBydW50aW1lLT5yYXRlLAorCQkJCSBTTkRSVl9QQ01fRk9STUFUX1MxNl9MRSwKKwkJCQkgcnVudGltZS0+Y2hhbm5lbHMpOworCQlicmVhazsKKwljYXNlIFNORFJWX1BDTV9TVFJFQU1fQ0FQVFVSRToKKwkJYWQxODQzX3NldHVwX2FkYygmY2hpcC0+YWQxODQzLAorCQkJCSBydW50aW1lLT5yYXRlLAorCQkJCSBTTkRSVl9QQ01fRk9STUFUX1MxNl9MRSwKKwkJCQkgcnVudGltZS0+Y2hhbm5lbHMpOworCQlicmVhazsKKwl9CisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmY2hpcC0+Y2hhbm5lbFtjaF0ubG9jaywgZmxhZ3MpOworCXJldHVybiAwOworfQorCisvKiB0cmlnZ2VyIGNhbGxiYWNrICovCitzdGF0aWMgaW50IHNuZF9zZ2lvMmF1ZGlvX3BjbV90cmlnZ2VyKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtLAorCQkJCSAgICAgIGludCBjbWQpCit7CisJc3dpdGNoIChjbWQpIHsKKwljYXNlIFNORFJWX1BDTV9UUklHR0VSX1NUQVJUOgorCQkvKiBzdGFydCB0aGUgUENNIGVuZ2luZSAqLworCQlzbmRfc2dpbzJhdWRpb19kbWFfc3RhcnQoc3Vic3RyZWFtKTsKKwkJYnJlYWs7CisJY2FzZSBTTkRSVl9QQ01fVFJJR0dFUl9TVE9QOgorCQkvKiBzdG9wIHRoZSBQQ00gZW5naW5lICovCisJCXNuZF9zZ2lvMmF1ZGlvX2RtYV9zdG9wKHN1YnN0cmVhbSk7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCXJldHVybiAtRUlOVkFMOworCX0KKwlyZXR1cm4gMDsKK30KKworLyogcG9pbnRlciBjYWxsYmFjayAqLworc3RhdGljIHNuZF9wY21fdWZyYW1lc190CitzbmRfc2dpbzJhdWRpb19wY21fcG9pbnRlcihzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSkKK3sKKwlzdHJ1Y3Qgc25kX3NnaW8yYXVkaW8gKmNoaXAgPSBzbmRfcGNtX3N1YnN0cmVhbV9jaGlwKHN1YnN0cmVhbSk7CisJc3RydWN0IHNuZF9zZ2lvMmF1ZGlvX2NoYW4gKmNoYW4gPSBzdWJzdHJlYW0tPnJ1bnRpbWUtPnByaXZhdGVfZGF0YTsKKworCS8qIGdldCB0aGUgY3VycmVudCBoYXJkd2FyZSBwb2ludGVyICovCisJcmV0dXJuIGJ5dGVzX3RvX2ZyYW1lcyhzdWJzdHJlYW0tPnJ1bnRpbWUsCisJCQkgICAgICAgY2hpcC0+Y2hhbm5lbFtjaGFuLT5pZHhdLnBvcyk7Cit9CisKKy8qIGdldCB0aGUgcGh5c2ljYWwgcGFnZSBwb2ludGVyIG9uIHRoZSBnaXZlbiBvZmZzZXQgKi8KK3N0YXRpYyBzdHJ1Y3QgcGFnZSAqc25kX3NnaW8yYXVkaW9fcGFnZShzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSwKKwkJCQkJdW5zaWduZWQgbG9uZyBvZmZzZXQpCit7CisJcmV0dXJuIHZtYWxsb2NfdG9fcGFnZShzdWJzdHJlYW0tPnJ1bnRpbWUtPmRtYV9hcmVhICsgb2Zmc2V0KTsKK30KKworLyogb3BlcmF0b3JzICovCitzdGF0aWMgc3RydWN0IHNuZF9wY21fb3BzIHNuZF9zZ2lvMmF1ZGlvX3BsYXliYWNrMV9vcHMgPSB7CisJLm9wZW4gPSAgICAgICAgc25kX3NnaW8yYXVkaW9fcGxheWJhY2sxX29wZW4sCisJLmNsb3NlID0gICAgICAgc25kX3NnaW8yYXVkaW9fcGNtX2Nsb3NlLAorCS5pb2N0bCA9ICAgICAgIHNuZF9wY21fbGliX2lvY3RsLAorCS5od19wYXJhbXMgPSAgIHNuZF9zZ2lvMmF1ZGlvX3BjbV9od19wYXJhbXMsCisJLmh3X2ZyZWUgPSAgICAgc25kX3NnaW8yYXVkaW9fcGNtX2h3X2ZyZWUsCisJLnByZXBhcmUgPSAgICAgc25kX3NnaW8yYXVkaW9fcGNtX3ByZXBhcmUsCisJLnRyaWdnZXIgPSAgICAgc25kX3NnaW8yYXVkaW9fcGNtX3RyaWdnZXIsCisJLnBvaW50ZXIgPSAgICAgc25kX3NnaW8yYXVkaW9fcGNtX3BvaW50ZXIsCisJLnBhZ2UgPSAgICAgICAgc25kX3NnaW8yYXVkaW9fcGFnZSwKK307CisKK3N0YXRpYyBzdHJ1Y3Qgc25kX3BjbV9vcHMgc25kX3NnaW8yYXVkaW9fcGxheWJhY2syX29wcyA9IHsKKwkub3BlbiA9ICAgICAgICBzbmRfc2dpbzJhdWRpb19wbGF5YmFjazJfb3BlbiwKKwkuY2xvc2UgPSAgICAgICBzbmRfc2dpbzJhdWRpb19wY21fY2xvc2UsCisJLmlvY3RsID0gICAgICAgc25kX3BjbV9saWJfaW9jdGwsCisJLmh3X3BhcmFtcyA9ICAgc25kX3NnaW8yYXVkaW9fcGNtX2h3X3BhcmFtcywKKwkuaHdfZnJlZSA9ICAgICBzbmRfc2dpbzJhdWRpb19wY21faHdfZnJlZSwKKwkucHJlcGFyZSA9ICAgICBzbmRfc2dpbzJhdWRpb19wY21fcHJlcGFyZSwKKwkudHJpZ2dlciA9ICAgICBzbmRfc2dpbzJhdWRpb19wY21fdHJpZ2dlciwKKwkucG9pbnRlciA9ICAgICBzbmRfc2dpbzJhdWRpb19wY21fcG9pbnRlciwKKwkucGFnZSA9ICAgICAgICBzbmRfc2dpbzJhdWRpb19wYWdlLAorfTsKKworc3RhdGljIHN0cnVjdCBzbmRfcGNtX29wcyBzbmRfc2dpbzJhdWRpb19jYXB0dXJlX29wcyA9IHsKKwkub3BlbiA9ICAgICAgICBzbmRfc2dpbzJhdWRpb19jYXB0dXJlX29wZW4sCisJLmNsb3NlID0gICAgICAgc25kX3NnaW8yYXVkaW9fcGNtX2Nsb3NlLAorCS5pb2N0bCA9ICAgICAgIHNuZF9wY21fbGliX2lvY3RsLAorCS5od19wYXJhbXMgPSAgIHNuZF9zZ2lvMmF1ZGlvX3BjbV9od19wYXJhbXMsCisJLmh3X2ZyZWUgPSAgICAgc25kX3NnaW8yYXVkaW9fcGNtX2h3X2ZyZWUsCisJLnByZXBhcmUgPSAgICAgc25kX3NnaW8yYXVkaW9fcGNtX3ByZXBhcmUsCisJLnRyaWdnZXIgPSAgICAgc25kX3NnaW8yYXVkaW9fcGNtX3RyaWdnZXIsCisJLnBvaW50ZXIgPSAgICAgc25kX3NnaW8yYXVkaW9fcGNtX3BvaW50ZXIsCisJLnBhZ2UgPSAgICAgICAgc25kX3NnaW8yYXVkaW9fcGFnZSwKK307CisKKy8qCisgKiAgZGVmaW5pdGlvbnMgb2YgY2FwdHVyZSBhcmUgb21pdHRlZCBoZXJlLi4uCisgKi8KKworLyogY3JlYXRlIGEgcGNtIGRldmljZSAqLworc3RhdGljIGludCBfX2RldmluaXQgc25kX3NnaW8yYXVkaW9fbmV3X3BjbShzdHJ1Y3Qgc25kX3NnaW8yYXVkaW8gKmNoaXApCit7CisJc3RydWN0IHNuZF9wY20gKnBjbTsKKwlpbnQgZXJyOworCisJLyogY3JlYXRlIGZpcnN0IHBjbSBkZXZpY2Ugd2l0aCBvbmUgb3V0cHV0cyBhbmQgb25lIGlucHV0ICovCisJZXJyID0gc25kX3BjbV9uZXcoY2hpcC0+Y2FyZCwgIlNHSSBPMiBBdWRpbyIsIDAsIDEsIDEsICZwY20pOworCWlmIChlcnIgPCAwKQorCQlyZXR1cm4gZXJyOworCisJcGNtLT5wcml2YXRlX2RhdGEgPSBjaGlwOworCXN0cmNweShwY20tPm5hbWUsICJTR0kgTzIgREFDMSIpOworCisJLyogc2V0IG9wZXJhdG9ycyAqLworCXNuZF9wY21fc2V0X29wcyhwY20sIFNORFJWX1BDTV9TVFJFQU1fUExBWUJBQ0ssCisJCQkmc25kX3NnaW8yYXVkaW9fcGxheWJhY2sxX29wcyk7CisJc25kX3BjbV9zZXRfb3BzKHBjbSwgU05EUlZfUENNX1NUUkVBTV9DQVBUVVJFLAorCQkJJnNuZF9zZ2lvMmF1ZGlvX2NhcHR1cmVfb3BzKTsKKworCS8qIGNyZWF0ZSBzZWNvbmQgIHBjbSBkZXZpY2Ugd2l0aCBvbmUgb3V0cHV0cyBhbmQgbm8gaW5wdXQgKi8KKwllcnIgPSBzbmRfcGNtX25ldyhjaGlwLT5jYXJkLCAiU0dJIE8yIEF1ZGlvIiwgMSwgMSwgMCwgJnBjbSk7CisJaWYgKGVyciA8IDApCisJCXJldHVybiBlcnI7CisKKwlwY20tPnByaXZhdGVfZGF0YSA9IGNoaXA7CisJc3RyY3B5KHBjbS0+bmFtZSwgIlNHSSBPMiBEQUMyIik7CisKKwkvKiBzZXQgb3BlcmF0b3JzICovCisJc25kX3BjbV9zZXRfb3BzKHBjbSwgU05EUlZfUENNX1NUUkVBTV9QTEFZQkFDSywKKwkJCSZzbmRfc2dpbzJhdWRpb19wbGF5YmFjazJfb3BzKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgc3RydWN0IHsKKwlpbnQgaWR4OworCWludCBpcnE7CisJaXJxcmV0dXJuX3QgKCppc3IpKGludCwgdm9pZCAqKTsKKwljb25zdCBjaGFyICpkZXNjOworfSBzbmRfc2dpbzJfaXNyX3RhYmxlW10gPSB7CisJeworCQkuaWR4ID0gMCwKKwkJLmlycSA9IE1BQ0VJU0FfQVVESU8xX0RNQVRfSVJRLAorCQkuaXNyID0gc25kX3NnaW8yYXVkaW9fZG1hX2luX2lzciwKKwkJLmRlc2MgPSAiQ2FwdHVyZSBETUEgQ2hhbm5lbCAwIgorCX0sIHsKKwkJLmlkeCA9IDAsCisJCS5pcnEgPSBNQUNFSVNBX0FVRElPMV9PRl9JUlEsCisJCS5pc3IgPSBzbmRfc2dpbzJhdWRpb19lcnJvcl9pc3IsCisJCS5kZXNjID0gIkNhcHR1cmUgT3ZlcmZsb3ciCisJfSwgeworCQkuaWR4ID0gMSwKKwkJLmlycSA9IE1BQ0VJU0FfQVVESU8yX0RNQVRfSVJRLAorCQkuaXNyID0gc25kX3NnaW8yYXVkaW9fZG1hX291dF9pc3IsCisJCS5kZXNjID0gIlBsYXliYWNrIERNQSBDaGFubmVsIDEiCisJfSwgeworCQkuaWR4ID0gMSwKKwkJLmlycSA9IE1BQ0VJU0FfQVVESU8yX01FUlJfSVJRLAorCQkuaXNyID0gc25kX3NnaW8yYXVkaW9fZXJyb3JfaXNyLAorCQkuZGVzYyA9ICJNZW1vcnkgRXJyb3IgQ2hhbm5lbCAxIgorCX0sIHsKKwkJLmlkeCA9IDIsCisJCS5pcnEgPSBNQUNFSVNBX0FVRElPM19ETUFUX0lSUSwKKwkJLmlzciA9IHNuZF9zZ2lvMmF1ZGlvX2RtYV9vdXRfaXNyLAorCQkuZGVzYyA9ICJQbGF5YmFjayBETUEgQ2hhbm5lbCAyIgorCX0sIHsKKwkJLmlkeCA9IDIsCisJCS5pcnEgPSBNQUNFSVNBX0FVRElPM19NRVJSX0lSUSwKKwkJLmlzciA9IHNuZF9zZ2lvMmF1ZGlvX2Vycm9yX2lzciwKKwkJLmRlc2MgPSAiTWVtb3J5IEVycm9yIENoYW5uZWwgMiIKKwl9Cit9OworCisvKiBBTFNBIGRyaXZlciAqLworCitzdGF0aWMgaW50IHNuZF9zZ2lvMmF1ZGlvX2ZyZWUoc3RydWN0IHNuZF9zZ2lvMmF1ZGlvICpjaGlwKQoreworCWludCBpOworCisJLyogcmVzZXQgaW50ZXJmYWNlICovCisJd3JpdGVxKEFVRElPX0NPTlRST0xfUkVTRVQsICZtYWNlLT5wZXJpZi5hdWRpby5jb250cm9sKTsKKwl1ZGVsYXkoMSk7CisJd3JpdGVxKDAsICZtYWNlLT5wZXJpZi5hdWRpby5jb250cm9sKTsKKworCS8qIHJlbGVhc2UgSVJRJ3MgKi8KKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShzbmRfc2dpbzJfaXNyX3RhYmxlKTsgaSsrKQorCQlmcmVlX2lycShzbmRfc2dpbzJfaXNyX3RhYmxlW2ldLmlycSwKKwkJCSAmY2hpcC0+Y2hhbm5lbFtzbmRfc2dpbzJfaXNyX3RhYmxlW2ldLmlkeF0pOworCisJZG1hX2ZyZWVfY29oZXJlbnQoTlVMTCwgTUFDRUlTQV9SSU5HQlVGRkVSU19TSVpFLAorCQkJICBjaGlwLT5yaW5nX2Jhc2UsIGNoaXAtPnJpbmdfYmFzZV9kbWEpOworCisJLyogcmVsZWFzZSBjYXJkIGRhdGEgKi8KKwlrZnJlZShjaGlwKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBzbmRfc2dpbzJhdWRpb19kZXZfZnJlZShzdHJ1Y3Qgc25kX2RldmljZSAqZGV2aWNlKQoreworCXN0cnVjdCBzbmRfc2dpbzJhdWRpbyAqY2hpcCA9IGRldmljZS0+ZGV2aWNlX2RhdGE7CisKKwlyZXR1cm4gc25kX3NnaW8yYXVkaW9fZnJlZShjaGlwKTsKK30KKworc3RhdGljIHN0cnVjdCBzbmRfZGV2aWNlX29wcyBvcHMgPSB7CisJLmRldl9mcmVlID0gc25kX3NnaW8yYXVkaW9fZGV2X2ZyZWUsCit9OworCitzdGF0aWMgaW50IF9fZGV2aW5pdCBzbmRfc2dpbzJhdWRpb19jcmVhdGUoc3RydWN0IHNuZF9jYXJkICpjYXJkLAorCQkJCQkgICBzdHJ1Y3Qgc25kX3NnaW8yYXVkaW8gKipyY2hpcCkKK3sKKwlzdHJ1Y3Qgc25kX3NnaW8yYXVkaW8gKmNoaXA7CisJaW50IGksIGVycjsKKworCSpyY2hpcCA9IE5VTEw7CisKKwkvKiBjaGVjayBpZiBhIGNvZGVjIGlzIGF0dGFjaGVkIHRvIHRoZSBpbnRlcmZhY2UgKi8KKwkvKiAoQXVkaW8gb3IgQXVkaW8vVmlkZW8gYm9hcmQgcHJlc2VudCkgKi8KKwlpZiAoIShyZWFkcSgmbWFjZS0+cGVyaWYuYXVkaW8uY29udHJvbCkgJiBBVURJT19DT05UUk9MX0NPREVDX1BSRVNFTlQpKQorCQlyZXR1cm4gLUVOT0VOVDsKKworCWNoaXAgPSBremFsbG9jKHNpemVvZihzdHJ1Y3Qgc25kX3NnaW8yYXVkaW8pLCBHRlBfS0VSTkVMKTsKKwlpZiAoY2hpcCA9PSBOVUxMKQorCQlyZXR1cm4gLUVOT01FTTsKKworCWNoaXAtPmNhcmQgPSBjYXJkOworCisJY2hpcC0+cmluZ19iYXNlID0gZG1hX2FsbG9jX2NvaGVyZW50KE5VTEwsIE1BQ0VJU0FfUklOR0JVRkZFUlNfU0laRSwKKwkJCQkJICAgICAmY2hpcC0+cmluZ19iYXNlX2RtYSwgR0ZQX1VTRVIpOworCWlmIChjaGlwLT5yaW5nX2Jhc2UgPT0gTlVMTCkgeworCQlwcmludGsoS0VSTl9FUlIKKwkJICAgICAgICJzZ2lvMmF1ZGlvOiBjb3VsZCBub3QgYWxsb2NhdGUgcmluZyBidWZmZXJzXG4iKTsKKwkJa2ZyZWUoY2hpcCk7CisJCXJldHVybiAtRU5PTUVNOworCX0KKworCXNwaW5fbG9ja19pbml0KCZjaGlwLT5hZDE4NDNfbG9jayk7CisKKwkvKiBpbml0aWFsaXplIGNoYW5uZWxzICovCisJZm9yIChpID0gMDsgaSA8IDM7IGkrKykgeworCQlzcGluX2xvY2tfaW5pdCgmY2hpcC0+Y2hhbm5lbFtpXS5sb2NrKTsKKwkJY2hpcC0+Y2hhbm5lbFtpXS5pZHggPSBpOworCX0KKworCS8qIGFsbG9jYXRlIElSUXMgKi8KKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShzbmRfc2dpbzJfaXNyX3RhYmxlKTsgaSsrKSB7CisJCWlmIChyZXF1ZXN0X2lycShzbmRfc2dpbzJfaXNyX3RhYmxlW2ldLmlycSwKKwkJCQlzbmRfc2dpbzJfaXNyX3RhYmxlW2ldLmlzciwKKwkJCQkwLAorCQkJCXNuZF9zZ2lvMl9pc3JfdGFibGVbaV0uZGVzYywKKwkJCQkmY2hpcC0+Y2hhbm5lbFtzbmRfc2dpbzJfaXNyX3RhYmxlW2ldLmlkeF0pKSB7CisJCQlzbmRfc2dpbzJhdWRpb19mcmVlKGNoaXApOworCQkJcHJpbnRrKEtFUk5fRVJSICJzZ2lvMmF1ZGlvOiBjYW5ub3QgYWxsb2NhdGUgaXJxICVkXG4iLAorCQkJICAgICAgIHNuZF9zZ2lvMl9pc3JfdGFibGVbaV0uaXJxKTsKKwkJCXJldHVybiAtRUJVU1k7CisJCX0KKwl9CisKKwkvKiByZXNldCB0aGUgaW50ZXJmYWNlICovCisJd3JpdGVxKEFVRElPX0NPTlRST0xfUkVTRVQsICZtYWNlLT5wZXJpZi5hdWRpby5jb250cm9sKTsKKwl1ZGVsYXkoMSk7CisJd3JpdGVxKDAsICZtYWNlLT5wZXJpZi5hdWRpby5jb250cm9sKTsKKwltc2xlZXBfaW50ZXJydXB0aWJsZSgxKTsgLyogZ2l2ZSB0aW1lIHRvIHJlY292ZXIgKi8KKworCS8qIHNldCByaW5nIGJhc2UgKi8KKwl3cml0ZXEoY2hpcC0+cmluZ19iYXNlX2RtYSwgJm1hY2UtPnBlcmlmLmN0cmwucmluZ2Jhc2UpOworCisJLyogYXR0YWNoIHRoZSBBRDE4NDMgY29kZWMgKi8KKwljaGlwLT5hZDE4NDMucmVhZCA9IHJlYWRfYWQxODQzX3JlZzsKKwljaGlwLT5hZDE4NDMud3JpdGUgPSB3cml0ZV9hZDE4NDNfcmVnOworCWNoaXAtPmFkMTg0My5jaGlwID0gY2hpcDsKKworCS8qIGluaXRpYWxpemUgdGhlIEFEMTg0MyBjb2RlYyAqLworCWVyciA9IGFkMTg0M19pbml0KCZjaGlwLT5hZDE4NDMpOworCWlmIChlcnIgPCAwKSB7CisJCXNuZF9zZ2lvMmF1ZGlvX2ZyZWUoY2hpcCk7CisJCXJldHVybiBlcnI7CisJfQorCisJZXJyID0gc25kX2RldmljZV9uZXcoY2FyZCwgU05EUlZfREVWX0xPV0xFVkVMLCBjaGlwLCAmb3BzKTsKKwlpZiAoZXJyIDwgMCkgeworCQlzbmRfc2dpbzJhdWRpb19mcmVlKGNoaXApOworCQlyZXR1cm4gZXJyOworCX0KKwkqcmNoaXAgPSBjaGlwOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IF9fZGV2aW5pdCBzbmRfc2dpbzJhdWRpb19wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQoreworCXN0cnVjdCBzbmRfY2FyZCAqY2FyZDsKKwlzdHJ1Y3Qgc25kX3NnaW8yYXVkaW8gKmNoaXA7CisJaW50IGVycjsKKworCWNhcmQgPSBzbmRfY2FyZF9uZXcoaW5kZXgsIGlkLCBUSElTX01PRFVMRSwgMCk7CisJaWYgKGNhcmQgPT0gTlVMTCkKKwkJcmV0dXJuIC1FTk9NRU07CisKKwllcnIgPSBzbmRfc2dpbzJhdWRpb19jcmVhdGUoY2FyZCwgJmNoaXApOworCWlmIChlcnIgPCAwKSB7CisJCXNuZF9jYXJkX2ZyZWUoY2FyZCk7CisJCXJldHVybiBlcnI7CisJfQorCXNuZF9jYXJkX3NldF9kZXYoY2FyZCwgJnBkZXYtPmRldik7CisKKwllcnIgPSBzbmRfc2dpbzJhdWRpb19uZXdfcGNtKGNoaXApOworCWlmIChlcnIgPCAwKSB7CisJCXNuZF9jYXJkX2ZyZWUoY2FyZCk7CisJCXJldHVybiBlcnI7CisJfQorCWVyciA9IHNuZF9zZ2lvMmF1ZGlvX25ld19taXhlcihjaGlwKTsKKwlpZiAoZXJyIDwgMCkgeworCQlzbmRfY2FyZF9mcmVlKGNhcmQpOworCQlyZXR1cm4gZXJyOworCX0KKworCXN0cmNweShjYXJkLT5kcml2ZXIsICJTR0kgTzIgQXVkaW8iKTsKKwlzdHJjcHkoY2FyZC0+c2hvcnRuYW1lLCAiU0dJIE8yIEF1ZGlvIik7CisJc3ByaW50ZihjYXJkLT5sb25nbmFtZSwgIiVzIGlycSAlaS0laSIsCisJCWNhcmQtPnNob3J0bmFtZSwKKwkJTUFDRUlTQV9BVURJTzFfRE1BVF9JUlEsCisJCU1BQ0VJU0FfQVVESU8zX01FUlJfSVJRKTsKKworCWVyciA9IHNuZF9jYXJkX3JlZ2lzdGVyKGNhcmQpOworCWlmIChlcnIgPCAwKSB7CisJCXNuZF9jYXJkX2ZyZWUoY2FyZCk7CisJCXJldHVybiBlcnI7CisJfQorCXBsYXRmb3JtX3NldF9kcnZkYXRhKHBkZXYsIGNhcmQpOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IF9fZXhpdCBzbmRfc2dpbzJhdWRpb19yZW1vdmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKK3sKKwlzdHJ1Y3Qgc25kX2NhcmQgKmNhcmQgPSBwbGF0Zm9ybV9nZXRfZHJ2ZGF0YShwZGV2KTsKKworCXNuZF9jYXJkX2ZyZWUoY2FyZCk7CisJcGxhdGZvcm1fc2V0X2RydmRhdGEocGRldiwgTlVMTCk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVyIHNnaW8yYXVkaW9fZHJpdmVyID0geworCS5wcm9iZQk9IHNuZF9zZ2lvMmF1ZGlvX3Byb2JlLAorCS5yZW1vdmUJPSBfX2RldmV4aXRfcChzbmRfc2dpbzJhdWRpb19yZW1vdmUpLAorCS5kcml2ZXIgPSB7CisJCS5uYW1lCT0gInNnaW8yYXVkaW8iLAorCQkub3duZXIJPSBUSElTX01PRFVMRSwKKwl9Cit9OworCitzdGF0aWMgaW50IF9faW5pdCBhbHNhX2NhcmRfc2dpbzJhdWRpb19pbml0KHZvaWQpCit7CisJcmV0dXJuIHBsYXRmb3JtX2RyaXZlcl9yZWdpc3Rlcigmc2dpbzJhdWRpb19kcml2ZXIpOworfQorCitzdGF0aWMgdm9pZCBfX2V4aXQgYWxzYV9jYXJkX3NnaW8yYXVkaW9fZXhpdCh2b2lkKQoreworCXBsYXRmb3JtX2RyaXZlcl91bnJlZ2lzdGVyKCZzZ2lvMmF1ZGlvX2RyaXZlcik7Cit9CisKK21vZHVsZV9pbml0KGFsc2FfY2FyZF9zZ2lvMmF1ZGlvX2luaXQpCittb2R1bGVfZXhpdChhbHNhX2NhcmRfc2dpbzJhdWRpb19leGl0KQpkaWZmIC0tZ2l0IGEvc291bmQvb3NzL0tjb25maWcgYi9zb3VuZC9vc3MvS2NvbmZpZwppbmRleCAzYmUyZGMxLi4zMzk0MDEzIDEwMDY0NAotLS0gYS9zb3VuZC9vc3MvS2NvbmZpZworKysgYi9zb3VuZC9vc3MvS2NvbmZpZwpAQCAtNyw3ICs3LDcgQEAKIAogY29uZmlnIFNPVU5EX0JDTV9DUzQyOTdBCiAJdHJpc3RhdGUgIkNyeXN0YWwgU291bmQgQ1M0Mjk3YSAoZm9yIFN3YXJtKSIKLQlkZXBlbmRzIG9uIFNPVU5EX1BSSU1FICYmIFNJQllURV9TV0FSTQorCWRlcGVuZHMgb24gU0lCWVRFX1NXQVJNCiAJaGVscAogCSAgVGhlIEJDTTkxMjUwQSBoYXMgYSBDcnlzdGFsIENTNDI5N2Egb24gc3luY2hyb25vdXMgc2VyaWFsCiAJICBwb3J0IEIgKGluIGFkZGl0aW9uIHRvIHRoZSBEQi05IHNlcmlhbCBwb3J0KS4gIFNheSBZIG9yIE0KQEAgLTE3LDcgKzE3LDcgQEAKIAogY29uZmlnIFNPVU5EX1ZXU05ECiAJdHJpc3RhdGUgIlNHSSBWaXN1YWwgV29ya3N0YXRpb24gU291bmQiCi0JZGVwZW5kcyBvbiBTT1VORF9QUklNRSAmJiBYODZfVklTV1MKKwlkZXBlbmRzIG9uIFg4Nl9WSVNXUwogCWhlbHAKIAkgIFNheSBZIG9yIE0gaWYgeW91IGhhdmUgYW4gU0dJIFZpc3VhbCBXb3Jrc3RhdGlvbiBhbmQgeW91IHdhbnQgdG8gYmUKIAkgIGFibGUgdG8gdXNlIGl0cyBvbi1ib2FyZCBhdWRpby4gIFJlYWQKQEAgLTI2LDE5ICsyNiwxOCBAQAogCiBjb25maWcgU09VTkRfSEFMMgogCXRyaXN0YXRlICJTR0kgSEFMMiBzb3VuZCAoRVhQRVJJTUVOVEFMKSIKLQlkZXBlbmRzIG9uIFNPVU5EX1BSSU1FICYmIFNHSV9JUDIyICYmIEVYUEVSSU1FTlRBTAorCWRlcGVuZHMgb24gU0dJX0lQMjIgJiYgRVhQRVJJTUVOVEFMCiAJaGVscAogCSAgU2F5IFkgb3IgTSBpZiB5b3UgaGF2ZSBhbiBTR0kgSW5keSBvciBJbmRpZ28yIHN5c3RlbSBhbmQgd2FudCB0byBiZSBhYmxlIHRvCiAJICB1c2UgaXRzIG9uLWJvYXJkIEEyIGF1ZGlvIHN5c3RlbS4KIAogY29uZmlnIFNPVU5EX0FVMTU1MF9BQzk3CiAJdHJpc3RhdGUgIkF1MTU1MC9BdTEyMDAgQUM5NyBTb3VuZCIKLQlzZWxlY3QgU05EX0FDOTdfQ09ERUMKLQlkZXBlbmRzIG9uIFNPVU5EX1BSSU1FICYmIChTT0NfQVUxNTUwIHx8IFNPQ19BVTEyMDApCisJZGVwZW5kcyBvbiBTT0NfQVUxNTUwIHx8IFNPQ19BVTEyMDAKIAogY29uZmlnIFNPVU5EX1RSSURFTlQKIAl0cmlzdGF0ZSAiVHJpZGVudCA0RFdhdmUgRFgvTlgsIFNpUyA3MDE4IG9yIEFMaSA1NDUxIFBDSSBBdWRpbyBDb3JlIgotCWRlcGVuZHMgb24gU09VTkRfUFJJTUUgJiYgUENJCisJZGVwZW5kcyBvbiBQQ0kKIAktLS1oZWxwLS0tCiAJICBTYXkgWSBvciBNIGlmIHlvdSBoYXZlIGEgUENJIHNvdW5kIGNhcmQgdXRpbGl6aW5nIHRoZSBUcmlkZW50CiAJICA0RFdhdmUtRFgvTlggY2hpcHNldCBvciB5b3VyIG1vdGhlciBib2FyZCBjaGlwc2V0IGhhcyBTaVMgNzAxOApAQCAtNzksNyArNzgsNyBAQAogCiBjb25maWcgU09VTkRfTVNORENMQVMKIAl0cmlzdGF0ZSAiU3VwcG9ydCBmb3IgVHVydGxlIEJlYWNoIE11bHRpU291bmQgQ2xhc3NpYywgVGFoaXRpLCBNb250ZXJleSIKLQlkZXBlbmRzIG9uIFNPVU5EX1BSSU1FICYmIChtIHx8ICFTVEFOREFMT05FKSAmJiBJU0EKKwlkZXBlbmRzIG9uIChtIHx8ICFTVEFOREFMT05FKSAmJiBJU0EKIAloZWxwCiAJICBTYXkgTSBoZXJlIGlmIHlvdSBoYXZlIGEgVHVydGxlIEJlYWNoIE11bHRpU291bmQgQ2xhc3NpYywgVGFoaXRpIG9yCiAJICBNb250ZXJleSAobm90IGZvciB0aGUgUGlubmFjbGUgb3IgRmlqaSkuCkBAIC0xNDMsNyArMTQyLDcgQEAKIAogY29uZmlnIFNPVU5EX01TTkRQSU4KIAl0cmlzdGF0ZSAiU3VwcG9ydCBmb3IgVHVydGxlIEJlYWNoIE11bHRpU291bmQgUGlubmFjbGUsIEZpamkiCi0JZGVwZW5kcyBvbiBTT1VORF9QUklNRSAmJiAobSB8fCAhU1RBTkRBTE9ORSkgJiYgSVNBCisJZGVwZW5kcyBvbiAobSB8fCAhU1RBTkRBTE9ORSkgJiYgSVNBCiAJaGVscAogCSAgU2F5IE0gaGVyZSBpZiB5b3UgaGF2ZSBhIFR1cnRsZSBCZWFjaCBNdWx0aVNvdW5kIFBpbm5hY2xlIG9yIEZpamkuCiAJICBTZWUgPGZpbGU6RG9jdW1lbnRhdGlvbi9zb3VuZC9vc3MvTXVsdGlTb3VuZD4gZm9yIGltcG9ydGFudCBpbmZvcm1hdGlvbgpAQCAtMjI5LDcgKzIyOCw3IEBACiAJICBjb25maWd1cmUgdGhlIGNhcmQncyByZXNvdXJjZXMuCiAKIGNvbW1lbnQgIk1TTkQgUGlubmFjbGUgRFNQIHNlY3Rpb24gd2lsbCBiZSBjb25maWd1cmVkIHRvIGFib3ZlIHBhcmFtZXRlcnMuIgotCWRlcGVuZHMgb24gU09VTkRfUFJJTUUgJiYgU09VTkRfTVNORFBJTj15ICYmIE1TTkRQSU5fTk9OUE5QCisJZGVwZW5kcyBvbiBTT1VORF9NU05EUElOPXkgJiYgTVNORFBJTl9OT05QTlAKIAogY29uZmlnIE1TTkRQSU5fQ0ZHCiAJaGV4ICJNU05EIFBpbm5hY2xlIGNvbmZpZyBwb3J0IDI1MCwyNjAsMjcwIgpAQCAtMjQyLDcgKzI0MSw3IEBACiAJICBNb2RlIi4KIAogY29tbWVudCAiUGlubmFjbGUtc3BlY2lmaWMgRGV2aWNlIENvbmZpZ3VyYXRpb24gKDAgZGlzYWJsZXMpIgotCWRlcGVuZHMgb24gU09VTkRfUFJJTUUgJiYgU09VTkRfTVNORFBJTj15ICYmIE1TTkRQSU5fTk9OUE5QCisJZGVwZW5kcyBvbiBTT1VORF9NU05EUElOPXkgJiYgTVNORFBJTl9OT05QTlAKIAogY29uZmlnIE1TTkRQSU5fTVBVX0lPCiAJaGV4ICJNU05EIFBpbm5hY2xlIE1QVSBJL08gKGUuZy4gMzMwKSIKQEAgLTI5NCw3ICsyOTMsNyBAQAogCiBjb25maWcgTVNORF9GSUZPU0laRQogCWludCAiTVNORCBidWZmZXIgc2l6ZSAoa0IpIgotCWRlcGVuZHMgb24gU09VTkRfUFJJTUUgJiYgKFNPVU5EX01TTkRQSU49eSB8fCBTT1VORF9NU05EQ0xBUz15KQorCWRlcGVuZHMgb24gU09VTkRfTVNORFBJTj15IHx8IFNPVU5EX01TTkRDTEFTPXkKIAlkZWZhdWx0ICIxMjgiCiAJaGVscAogCSAgQ29uZmlndXJlcyB0aGUgc2l6ZSBvZiBlYWNoIGF1ZGlvIGJ1ZmZlciwgaW4ga2lsb2J5dGVzLCBmb3IKQEAgLTMwMiw5ICszMDEsOSBAQAogCSAgYW5kIFBpbm5hY2xlKS4gTGFyZ2VyIHZhbHVlcyByZWR1Y2UgdGhlIGNoYW5jZSBvZiBkYXRhIG92ZXJydW5zIGF0CiAJICB0aGUgZXhwZW5zZSBvZiBvdmVyYWxsIGxhdGVuY3kuIElmIHVuc3VyZSwgdXNlIHRoZSBkZWZhdWx0LgogCi1jb25maWcgU09VTkRfT1NTCittZW51Y29uZmlnIFNPVU5EX09TUwogCXRyaXN0YXRlICJPU1Mgc291bmQgbW9kdWxlcyIKLQlkZXBlbmRzIG9uIFNPVU5EX1BSSU1FICYmIElTQV9ETUFfQVBJICYmIFZJUlRfVE9fQlVTCisJZGVwZW5kcyBvbiBJU0FfRE1BX0FQSSAmJiBWSVJUX1RPX0JVUwogCWhlbHAKIAkgIE9TUyBpcyB0aGUgT3BlbiBTb3VuZCBTeXN0ZW0gc3VpdGUgb2Ygc291bmQgY2FyZCBkcml2ZXJzLiAgVGhleSBtYWtlCiAJICBzb3VuZCBwcm9ncmFtbWluZyBlYXNpZXIgc2luY2UgdGhleSBwcm92aWRlIGEgY29tbW9uIEFQSS4gIFNheSBZIG9yCkBAIC0zMTIsMTYgKzMxMSwxNiBAQAogCSAgZHJpdmVyIGZvciB5b3VyIHNvdW5kIGNhcmQgYWJvdmUsIHRoZW4gcGljayB5b3VyIGRyaXZlciBmcm9tIHRoZQogCSAgbGlzdCBiZWxvdy4KIAoraWYgU09VTkRfT1NTCisKIGNvbmZpZyBTT1VORF9UUkFDRUlOSVQKIAlib29sICJWZXJib3NlIGluaXRpYWxpc2F0aW9uIgotCWRlcGVuZHMgb24gU09VTkRfT1NTCiAJaGVscAogCSAgVmVyYm9zZSBzb3VuZGNhcmQgaW5pdGlhbGl6YXRpb24gLS0gYWZmZWN0cyB0aGUgZm9ybWF0IG9mIGF1dG9wcm9iZQogCSAgYW5kIGluaXRpYWxpemF0aW9uIG1lc3NhZ2VzIGF0IGJvb3QgdGltZS4KIAogY29uZmlnIFNPVU5EX0RNQVAKIAlib29sICJQZXJzaXN0ZW50IERNQSBidWZmZXJzIgotCWRlcGVuZHMgb24gU09VTkRfT1NTCiAJLS0taGVscC0tLQogCSAgTGludXggY2FuIG9mdGVuIGhhdmUgcHJvYmxlbXMgYWxsb2NhdGluZyBETUEgYnVmZmVycyBmb3IgSVNBIHNvdW5kCiAJICBjYXJkcyBvbiBtYWNoaW5lcyB3aXRoIG1vcmUgdGhhbiAxNk1CIG9mIFJBTS4gVGhpcyBpcyBiZWNhdXNlIElTQQpAQCAtMzM4LDggKzMzNyw2IEBACiAKIGNvbmZpZyBTT1VORF9TU0NBUEUKIAl0cmlzdGF0ZSAiRW5zb25pcSBTb3VuZFNjYXBlIHN1cHBvcnQiCi0JZGVwZW5kcyBvbiBTT1VORF9PU1MKLQlkZXBlbmRzIG9uIFZJUlRfVE9fQlVTCiAJaGVscAogCSAgQW5zd2VyIFkgaWYgeW91IGhhdmUgYSBzb3VuZCBjYXJkIGJhc2VkIG9uIHRoZSBFbnNvbmlxIFNvdW5kU2NhcGUKIAkgIGNoaXBzZXQuIFN1Y2ggY2FyZHMgYXJlIGJlaW5nIG1hbnVmYWN0dXJlZCBhdCBsZWFzdCBieSBFbnNvbmlxLCBTcGVhCkBAIC0zNTIsMTMgKzM0OSwxMSBAQAogCiBjb25maWcgU09VTkRfVk1JREkKIAl0cmlzdGF0ZSAiTG9vcGJhY2sgTUlESSBkZXZpY2Ugc3VwcG9ydCIKLQlkZXBlbmRzIG9uIFNPVU5EX09TUwogCWhlbHAKIAkgIFN1cHBvcnQgZm9yIE1JREkgbG9vcGJhY2sgb24gcG9ydCAxIG9yIDIuCiAKIGNvbmZpZyBTT1VORF9UUklYCiAJdHJpc3RhdGUgIk1lZGlhVHJpeCBBdWRpb1RyaXggUHJvIHN1cHBvcnQiCi0JZGVwZW5kcyBvbiBTT1VORF9PU1MKIAloZWxwCiAJICBBbnN3ZXIgWSBpZiB5b3UgaGF2ZSB0aGUgQXVkaW9UcmlYIFBybyBzb3VuZCBjYXJkIG1hbnVmYWN0dXJlZAogCSAgYnkgTWVkaWFUcml4LgpAQCAtMzgyLDcgKzM3Nyw2IEBACiAKIGNvbmZpZyBTT1VORF9NU1MKIAl0cmlzdGF0ZSAiTWljcm9zb2Z0IFNvdW5kIFN5c3RlbSBzdXBwb3J0IgotCWRlcGVuZHMgb24gU09VTkRfT1NTCiAJLS0taGVscC0tLQogCSAgQWdhaW4gdGhpbmsgY2FyZWZ1bGx5IGJlZm9yZSBhbnN3ZXJpbmcgWSB0byB0aGlzIHF1ZXN0aW9uLiAgSXQncwogCSAgc2FmZSB0byBhbnN3ZXIgWSBpZiB5b3UgaGF2ZSB0aGUgb3JpZ2luYWwgV2luZG93cyBTb3VuZCBTeXN0ZW0gY2FyZApAQCAtNDE0LDcgKzQwOCw2IEBACiAKIGNvbmZpZyBTT1VORF9NUFU0MDEKIAl0cmlzdGF0ZSAiTVBVLTQwMSBzdXBwb3J0IChOT1QgZm9yIFNCMTYpIgotCWRlcGVuZHMgb24gU09VTkRfT1NTCiAJLS0taGVscC0tLQogCSAgQmUgY2FyZWZ1bCB3aXRoIHRoaXMgcXVlc3Rpb24uICBUaGUgTVBVNDAxIGludGVyZmFjZSBpcyBzdXBwb3J0ZWQgYnkKIAkgIGFsbCBzb3VuZCBjYXJkcy4gIEhvd2V2ZXIsIHNvbWUgbmF0aXZlbHkgc3VwcG9ydGVkIGNhcmRzIGhhdmUgdGhlaXIKQEAgLTQzMCw3ICs0MjMsNiBAQAogCiBjb25maWcgU09VTkRfUEFTCiAJdHJpc3RhdGUgIlByb0F1ZGlvU3BlY3RydW0gMTYgc3VwcG9ydCIKLQlkZXBlbmRzIG9uIFNPVU5EX09TUwogCS0tLWhlbHAtLS0KIAkgIEFuc3dlciBZIG9ubHkgaWYgeW91IGhhdmUgYSBQcm8gQXVkaW8gU3BlY3RydW0gMTYsIFByb0F1ZGlvIFN0dWRpbwogCSAgMTYgb3IgTG9naXRlY2ggU291bmRNYW4gMTYgc291bmQgY2FyZC4gQW5zd2VyIE4gaWYgeW91IGhhdmUgc29tZQpAQCAtNDUyLDcgKzQ0NCw2IEBACiAKIGNvbmZpZyBTT1VORF9QU1MKIAl0cmlzdGF0ZSAiUFNTIChBRDE4NDgsIEFEU1AtMjExNSwgRVNDNjE0KSBzdXBwb3J0IgotCWRlcGVuZHMgb24gU09VTkRfT1NTCiAJaGVscAogCSAgQW5zd2VyIFkgb3IgTSBpZiB5b3UgaGF2ZSBhbiBPcmNoaWQgU1czMiwgQ2FyZGluYWwgRFNQMTYsIEJlZXRob3ZlbgogCSAgQURTUC0xNiBvciBzb21lIG90aGVyIGNhcmQgYmFzZWQgb24gdGhlIFBTUyBjaGlwc2V0IChBRDE4NDggY29kZWMgKwpAQCAtNDk1LDcgKzQ4Niw2IEBACiAKIGNvbmZpZyBTT1VORF9TQgogCXRyaXN0YXRlICIxMDAlIFNvdW5kIEJsYXN0ZXIgY29tcGF0aWJsZXMgKFNCMTYvMzIvNjQsIEVTUywgSmF6ejE2KSBzdXBwb3J0IgotCWRlcGVuZHMgb24gU09VTkRfT1NTCiAJLS0taGVscC0tLQogCSAgQW5zd2VyIFkgaWYgeW91IGhhdmUgYW4gb3JpZ2luYWwgU291bmQgQmxhc3RlciBjYXJkIG1hZGUgYnkgQ3JlYXRpdmUKIAkgIExhYnMgb3IgYSAxMDAlIGhhcmR3YXJlIGNvbXBhdGlibGUgY2xvbmUgKGxpa2UgdGhlIFRodW5kZXJib2FyZCBvcgpAQCAtNTIyLDcgKzUxMiw2IEBACiAKIGNvbmZpZyBTT1VORF9ZTTM4MTIKIAl0cmlzdGF0ZSAiWWFtYWhhIEZNIHN5bnRoZXNpemVyIChZTTM4MTIvT1BMLTMpIHN1cHBvcnQiCi0JZGVwZW5kcyBvbiBTT1VORF9PU1MKIAktLS1oZWxwLS0tCiAJICBBbnN3ZXIgWSBpZiB5b3VyIGNhcmQgaGFzIGEgRk0gY2hpcCBtYWRlIGJ5IFlhbWFoYSAoT1BMMi9PUEwzL09QTDQpLgogCSAgQW5zd2VyaW5nIFkgaXMgdXN1YWxseSBhIHNhZmUgYW5kIHJlY29tbWVuZGVkIGNob2ljZSwgaG93ZXZlciBzb21lCkBAIC01MzgsNyArNTI3LDYgQEAKIAogY29uZmlnIFNPVU5EX1VBUlQ2ODUwCiAJdHJpc3RhdGUgIjY4NTAgVUFSVCBzdXBwb3J0IgotCWRlcGVuZHMgb24gU09VTkRfT1NTCiAJaGVscAogCSAgVGhpcyBvcHRpb24gZW5hYmxlcyBzdXBwb3J0IGZvciBNSURJIGludGVyZmFjZXMgYmFzZWQgb24gdGhlIDY4NTAKIAkgIFVBUlQgY2hpcC4gVGhpcyBpbnRlcmZhY2UgaXMgcmFyZWx5IGZvdW5kIG9uIHNvdW5kIGNhcmRzLiBJdCdzIHNhZmUKQEAgLTU0OSw3ICs1MzcsNiBAQAogCiBjb25maWcgU09VTkRfQUVEU1AxNgogCXRyaXN0YXRlICJHYWxsYW50IEF1ZGlvIENhcmRzIChTQy02MDAwIGFuZCBTQy02NjAwIGJhc2VkKSIKLQlkZXBlbmRzIG9uIFNPVU5EX09TUwogCS0tLWhlbHAtLS0KIAkgIEFuc3dlciBZIGlmIHlvdSBoYXZlIGEgR2FsbGFudCdzIEF1ZGlvIEV4Y2VsIERTUCAxNiBjYXJkLiBUaGlzCiAJICBkcml2ZXIgc3VwcG9ydHMgQXVkaW8gRXhjZWwgRFNQIDE2IGJ1dCBub3QgdGhlIElJSSBub3IgUG5QIHZlcnNpb25zCkBAIC02MzAsMTQgKzYxNywxNCBAQAogCiBjb25maWcgU09VTkRfVklEQwogCXRyaXN0YXRlICJWSURDIDE2LWJpdCBzb3VuZCIKLQlkZXBlbmRzIG9uIEFSTSAmJiAoQVJDSF9BQ09STiB8fCBBUkNIX0NMUFM3NTAwKSAmJiBTT1VORF9PU1MKKwlkZXBlbmRzIG9uIEFSTSAmJiAoQVJDSF9BQ09STiB8fCBBUkNIX0NMUFM3NTAwKQogCWhlbHAKIAkgIDE2LWJpdCBzdXBwb3J0IGZvciB0aGUgVklEQyBvbmJvYXJkIHNvdW5kIGhhcmR3YXJlIGZvdW5kIG9uIEFjb3JuCiAJICBtYWNoaW5lcy4KIAogY29uZmlnIFNPVU5EX1dBVkVBUlRJU1QKIAl0cmlzdGF0ZSAiTmV0d2luZGVyIFdhdmVBcnRpc3QiCi0JZGVwZW5kcyBvbiBBUk0gJiYgU09VTkRfT1NTICYmIEFSQ0hfTkVUV0lOREVSCisJZGVwZW5kcyBvbiBBUk0gJiYgQVJDSF9ORVRXSU5ERVIKIAloZWxwCiAJICBTYXkgWSBoZXJlIHRvIGluY2x1ZGUgc3VwcG9ydCBmb3IgdGhlIFJvY2t3ZWxsIFdhdmVBcnRpc3Qgc291bmQKIAkgIHN5c3RlbS4gIFRoaXMgZHJpdmVyIGlzIG1haW5seSBmb3IgdGhlIE5ldFdpbmRlci4KQEAgLTY0Niw5ICs2MzMsMTEgQEAKIAl0cmlzdGF0ZSAiWHByZXNzQXVkaW8gU291bmQgQmxhc3RlciBlbXVsYXRpb24iCiAJZGVwZW5kcyBvbiBTT1VORF9TQgogCitlbmRpZgkjIFNPVU5EX09TUworCiBjb25maWcgU09VTkRfU0hfREFDX0FVRElPCiAJdHJpc3RhdGUgIlN1cGVySCBEQUMgYXVkaW8gc3VwcG9ydCIKLQlkZXBlbmRzIG9uIFNPVU5EX1BSSU1FICYmIENQVV9TSDMKKwlkZXBlbmRzIG9uIENQVV9TSDMKIAogY29uZmlnIFNPVU5EX1NIX0RBQ19BVURJT19DSEFOTkVMCiAJaW50ICJEQUMgY2hhbm5lbCIKZGlmZiAtLWdpdCBhL3NvdW5kL29zcy9kbWFzb3VuZC9kbWFzb3VuZF9jb3JlLmMgYi9zb3VuZC9vc3MvZG1hc291bmQvZG1hc291bmRfY29yZS5jCmluZGV4IGEwMDNjMGUuLjk1ZmM1YzYgMTAwNjQ0Ci0tLSBhL3NvdW5kL29zcy9kbWFzb3VuZC9kbWFzb3VuZF9jb3JlLmMKKysrIGIvc291bmQvb3NzL2RtYXNvdW5kL2RtYXNvdW5kX2NvcmUuYwpAQCAtMjExLDEwICsyMTEsNiBAQAogc3RhdGljIGludCBpcnFfaW5zdGFsbGVkOwogI2VuZGlmIC8qIE1PRFVMRSAqLwogCi0vKiBzb2Z0d2FyZSBpbXBsZW1lbnRlZCByZWNvcmRpbmcgdm9sdW1lISAqLwotdWludCBzb2Z0d2FyZV9pbnB1dF92b2x1bWUgPSBTV19JTlBVVF9WT0xVTUVfU0NBTEUgKiBTV19JTlBVVF9WT0xVTUVfREVGQVVMVDsKLUVYUE9SVF9TWU1CT0woc29mdHdhcmVfaW5wdXRfdm9sdW1lKTsKLQogLyogY29udHJvbCBvdmVyIHdobyBjYW4gbW9kaWZ5IHJlc291cmNlcyBzaGFyZWQgYmV0d2VlbiBwbGF5L3JlY29yZCAqLwogc3RhdGljIG1vZGVfdCBzaGFyZWRfcmVzb3VyY2Vfb3duZXI7CiBzdGF0aWMgaW50IHNoYXJlZF9yZXNvdXJjZXNfaW5pdGlhbGlzZWQ7CkBAIC0xMTg4LDcgKzExODQsNyBAQAogCiAvKiBwdWJsaXNoIHRoaXMgZnVuY3Rpb24gZm9yIHVzZSBieSBsb3ctbGV2ZWwgY29kZSwgaWYgcmVxdWlyZWQgKi8KIAotY2hhciAqZ2V0X2FmbXRfc3RyaW5nKGludCBhZm10KQorc3RhdGljIGNoYXIgKmdldF9hZm10X3N0cmluZyhpbnQgYWZtdCkKIHsKICAgICAgICAgc3dpdGNoKGFmbXQpIHsKICAgICAgICAgICAgIGNhc2UgQUZNVF9NVV9MQVc6CkBAIC0xNTUxLDQgKzE1NDcsMyBAQAogRVhQT1JUX1NZTUJPTChkbWFzb3VuZF91bGF3MmRtYTgpOwogRVhQT1JUX1NZTUJPTChkbWFzb3VuZF9hbGF3MmRtYTgpOwogI2VuZGlmCi1FWFBPUlRfU1lNQk9MKGdldF9hZm10X3N0cmluZykgOwpkaWZmIC0tZ2l0IGEvc291bmQvb3NzL2RtYXNvdW5kL2RtYXNvdW5kX3BhdWxhLmMgYi9zb3VuZC9vc3MvZG1hc291bmQvZG1hc291bmRfcGF1bGEuYwppbmRleCAyMDJlODEwLi4wNmU5ZTg4IDEwMDY0NAotLS0gYS9zb3VuZC9vc3MvZG1hc291bmQvZG1hc291bmRfcGF1bGEuYworKysgYi9zb3VuZC9vc3MvZG1hc291bmQvZG1hc291bmRfcGF1bGEuYwpAQCAtNzEwLDcgKzcxMCw3IEBACiAvKioqIENvbmZpZyAmIFNldHVwICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAKIAotaW50IF9faW5pdCBkbWFzb3VuZF9wYXVsYV9pbml0KHZvaWQpCitzdGF0aWMgaW50IF9faW5pdCBkbWFzb3VuZF9wYXVsYV9pbml0KHZvaWQpCiB7CiAJaW50IGVycjsKIApkaWZmIC0tZ2l0IGEvc291bmQvb3NzL2RtYXNvdW5kL2RtYXNvdW5kX3E0MC5jIGIvc291bmQvb3NzL2RtYXNvdW5kL2RtYXNvdW5kX3E0MC5jCmluZGV4IGIzMzc5ZGQuLjE4NTViMTQgMTAwNjQ0Ci0tLSBhL3NvdW5kL29zcy9kbWFzb3VuZC9kbWFzb3VuZF9xNDAuYworKysgYi9zb3VuZC9vc3MvZG1hc291bmQvZG1hc291bmRfcTQwLmMKQEAgLTYxMSw3ICs2MTEsNyBAQAogLyoqKiBDb25maWcgJiBTZXR1cCAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogCiAKLWludCBfX2luaXQgZG1hc291bmRfcTQwX2luaXQodm9pZCkKK3N0YXRpYyBpbnQgX19pbml0IGRtYXNvdW5kX3E0MF9pbml0KHZvaWQpCiB7CiAJaWYgKE1BQ0hfSVNfUTQwKSB7CiAJICAgIGRtYXNvdW5kLm1hY2ggPSBtYWNoUTQwOwpkaWZmIC0tZ2l0IGEvc291bmQvb3NzL21zbmQuYyBiL3NvdW5kL29zcy9tc25kLmMKaW5kZXggYmEzOGQ2Mi4uZTQyODJkOSAxMDA2NDQKLS0tIGEvc291bmQvb3NzL21zbmQuYworKysgYi9zb3VuZC9vc3MvbXNuZC5jCkBAIC0yMCw4ICsyMCw2IEBACiAgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogICogRm91bmRhdGlvbiwgSW5jLiwgNjc1IE1hc3MgQXZlLCBDYW1icmlkZ2UsIE1BIDAyMTM5LCBVU0EuCiAgKgotICogJElkOiBtc25kLmMsdiAxLjE3IDE5OTkvMDMvMjEgMTY6NTA6MDkgYW5kcmV3dHYgRXhwICQKLSAqCiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAKICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KZGlmZiAtLWdpdCBhL3NvdW5kL29zcy9tc25kLmggYi9zb3VuZC9vc3MvbXNuZC5oCmluZGV4IGQwY2E1ODIuLjYxYjM5NTUgMTAwNjQ0Ci0tLSBhL3NvdW5kL29zcy9tc25kLmgKKysrIGIvc291bmQvb3NzL21zbmQuaApAQCAtMjQsOCArMjQsNiBAQAogICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKICAqIEZvdW5kYXRpb24sIEluYy4sIDY3NSBNYXNzIEF2ZSwgQ2FtYnJpZGdlLCBNQSAwMjEzOSwgVVNBLgogICoKLSAqICRJZDogbXNuZC5oLHYgMS4zNiAxOTk5LzAzLzIxIDE3OjA1OjQyIGFuZHJld3R2IEV4cCAkCi0gKgogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogI2lmbmRlZiBfX01TTkRfSAogI2RlZmluZSBfX01TTkRfSApkaWZmIC0tZ2l0IGEvc291bmQvb3NzL21zbmRfY2xhc3NpYy5oIGIvc291bmQvb3NzL21zbmRfY2xhc3NpYy5oCmluZGV4IDdmZmVhNTIuLjFhMTdkZGUgMTAwNjQ0Ci0tLSBhL3NvdW5kL29zcy9tc25kX2NsYXNzaWMuaAorKysgYi9zb3VuZC9vc3MvbXNuZF9jbGFzc2ljLmgKQEAgLTI0LDggKzI0LDYgQEAKICAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiAgKiBGb3VuZGF0aW9uLCBJbmMuLCA2NzUgTWFzcyBBdmUsIENhbWJyaWRnZSwgTUEgMDIxMzksIFVTQS4KICAqIAotICogJElkOiBtc25kX2NsYXNzaWMuaCx2IDEuMTAgMTk5OS8wMy8yMSAxNzozNjowOSBhbmRyZXd0diBFeHAgJAotICoKICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KICNpZm5kZWYgX19NU05EX0NMQVNTSUNfSAogI2RlZmluZSBfX01TTkRfQ0xBU1NJQ19ICmRpZmYgLS1naXQgYS9zb3VuZC9vc3MvbXNuZF9waW5uYWNsZS5jIGIvc291bmQvb3NzL21zbmRfcGlubmFjbGUuYwppbmRleCBmMWY0OWViLi5iZjI3ZTAwIDEwMDY0NAotLS0gYS9zb3VuZC9vc3MvbXNuZF9waW5uYWNsZS5jCisrKyBiL3NvdW5kL29zcy9tc25kX3Bpbm5hY2xlLmMKQEAgLTI5LDEzICsyOSw4IEBACiAgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogICogRm91bmRhdGlvbiwgSW5jLiwgNjc1IE1hc3MgQXZlLCBDYW1icmlkZ2UsIE1BIDAyMTM5LCBVU0EuCiAgKgotICogJElkOiBtc25kX3Bpbm5hY2xlLmMsdiAxLjggMjAwMC8xMi8zMCAwMDozMzoyMSBzeWNhbW9yZSBFeHAgJAotICoKICAqIDEyLTMtMjAwMCAgTW9kaWZpZWQgSU8gcG9ydCB2YWxpZGF0aW9uICBTdGV2ZSBTeWNhbW9yZQogICoKLSAqCi0gKiAkJCQ6IG1zbmRfcGlubmFjbGUuYyx2IDEuNzUgMTk5OS8wMy8yMSAxNjo1MDowOSBhbmRyZXd0diAkJCQgJAotICoKICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KIAogI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgpkaWZmIC0tZ2l0IGEvc291bmQvb3NzL21zbmRfcGlubmFjbGUuaCBiL3NvdW5kL29zcy9tc25kX3Bpbm5hY2xlLmgKaW5kZXggY2NlOTExNC4uYzE4ZDY2YyAxMDA2NDQKLS0tIGEvc291bmQvb3NzL21zbmRfcGlubmFjbGUuaAorKysgYi9zb3VuZC9vc3MvbXNuZF9waW5uYWNsZS5oCkBAIC0yNCw4ICsyNCw2IEBACiAgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogICogRm91bmRhdGlvbiwgSW5jLiwgNjc1IE1hc3MgQXZlLCBDYW1icmlkZ2UsIE1BIDAyMTM5LCBVU0EuCiAgKgotICogJElkOiBtc25kX3Bpbm5hY2xlLmgsdiAxLjExIDE5OTkvMDMvMjEgMTc6MzY6MDkgYW5kcmV3dHYgRXhwICQKLSAqCiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAjaWZuZGVmIF9fTVNORF9QSU5OQUNMRV9ICiAjZGVmaW5lIF9fTVNORF9QSU5OQUNMRV9ICmRpZmYgLS1naXQgYS9zb3VuZC9vc3MvdndzbmQuYyBiL3NvdW5kL29zcy92d3NuZC5jCmluZGV4IDJjNWFhYTUuLmRjYmIzZjcgMTAwNjQ0Ci0tLSBhL3NvdW5kL29zcy92d3NuZC5jCisrKyBiL3NvdW5kL29zcy92d3NuZC5jCkBAIC0xNTAsNyArMTUwLDcgQEAKICNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KICNpbmNsdWRlIDxsaW51eC9tdXRleC5oPgogCi0jaW5jbHVkZSA8YXNtL21hY2gtdmlzd3MvY29iYWx0Lmg+CisjaW5jbHVkZSA8YXNtL3Zpc3dzL2NvYmFsdC5oPgogCiAjaW5jbHVkZSAic291bmRfY29uZmlnLmgiCiAKZGlmZiAtLWdpdCBhL3NvdW5kL3BhcmlzYy9LY29uZmlnIGIvc291bmQvcGFyaXNjL0tjb25maWcKaW5kZXggYTVhN2Y5ZC4uOWI2MWQ5NSAxMDA2NDQKLS0tIGEvc291bmQvcGFyaXNjL0tjb25maWcKKysrIGIvc291bmQvcGFyaXNjL0tjb25maWcKQEAgLTEsMTUgKzEsMjAgQEAKICMgQUxTQSBQQS1SSVNDIGRyaXZlcnMKIAotbWVudSAiR1NDIGRldmljZXMiCi0JZGVwZW5kcyBvbiBTTkQhPW4gJiYgR1NDCittZW51Y29uZmlnIFNORF9HU0MKKwlib29sICJHU0Mgc291bmQgZGV2aWNlcyIKKwlkZXBlbmRzIG9uIEdTQworCWRlZmF1bHQgeQorCWhlbHAKKwkgIFN1cHBvcnQgZm9yIEdTQyBzb3VuZCBkZXZpY2VzIG9uIFBBLVJJU0MgYXJjaGl0ZWN0dXJlcy4KKworaWYgU05EX0dTQwogCiBjb25maWcgU05EX0hBUk1PTlkKIAl0cmlzdGF0ZSAiSGFybW9ueS9WaXZhY2Ugc291bmQgY2hpcCIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfUENNCiAJaGVscAogCSAgU2F5ICdZJyBvciAnTScgdG8gaW5jbHVkZSBzdXBwb3J0IGZvciB0aGUgSGFybW9ueS9WaXZhY2Ugc291bmQKIAkgIGNoaXAgZm91bmQgaW4gbW9zdCBHU0MtYmFzZWQgUEEtUklTQyB3b3Jrc3RhdGlvbnMuICBJdCdzIGZyZXF1ZW50bHkKIAkgIHByb3ZpZGVkIGFzIHBhcnQgb2YgdGhlIExhc2kgbXVsdGktZnVuY3Rpb24gSUMuCiAKLWVuZG1lbnUKK2VuZGlmCSMgU05EX0dTQwpkaWZmIC0tZ2l0IGEvc291bmQvcGNpL0tjb25maWcgYi9zb3VuZC9wY2kvS2NvbmZpZwppbmRleCA3ZTQ3NDIxLi5mN2Q5NWIyIDEwMDY0NAotLS0gYS9zb3VuZC9wY2kvS2NvbmZpZworKysgYi9zb3VuZC9wY2kvS2NvbmZpZwpAQCAtMSwxMSArMSwxNiBAQAogIyBBTFNBIFBDSSBkcml2ZXJzCiAKLW1lbnUgIlBDSSBkZXZpY2VzIgotCWRlcGVuZHMgb24gU05EIT1uICYmIFBDSQorbWVudWNvbmZpZyBTTkRfUENJCisJYm9vbCAiUENJIHNvdW5kIGRldmljZXMiCisJZGVwZW5kcyBvbiBQQ0kKKwlkZWZhdWx0IHkKKwloZWxwCisJICBTdXBwb3J0IGZvciBzb3VuZCBkZXZpY2VzIGNvbm5lY3RlZCB2aWEgdGhlIFBDSSBidXMuCisKK2lmIFNORF9QQ0kKIAogY29uZmlnIFNORF9BRDE4ODkKIAl0cmlzdGF0ZSAiQW5hbG9nIERldmljZXMgQUQxODg5IgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9BQzk3X0NPREVDCiAJaGVscAogCSAgU2F5IFkgaGVyZSB0byBpbmNsdWRlIHN1cHBvcnQgZm9yIHRoZSBpbnRlZ3JhdGVkIEFDOTcgc291bmQKQEAgLTE3LDcgKzIyLDYgQEAKIAogY29uZmlnIFNORF9BTFMzMDAKIAl0cmlzdGF0ZSAiQXZhbmNlIExvZ2ljIEFMUzMwMC9BTFMzMDArIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9QQ00KIAlzZWxlY3QgU05EX0FDOTdfQ09ERUMKIAlzZWxlY3QgU05EX09QTDNfTElCCkBAIC0yOSw3ICszMyw3IEBACiAKIGNvbmZpZyBTTkRfQUxTNDAwMAogCXRyaXN0YXRlICJBdmFuY2UgTG9naWMgQUxTNDAwMCIKLQlkZXBlbmRzIG9uIFNORCAmJiBJU0FfRE1BX0FQSQorCWRlcGVuZHMgb24gSVNBX0RNQV9BUEkKIAlzZWxlY3QgU05EX09QTDNfTElCCiAJc2VsZWN0IFNORF9NUFU0MDFfVUFSVAogCXNlbGVjdCBTTkRfUENNCkBAIC00Myw3ICs0Nyw2IEBACiAKIGNvbmZpZyBTTkRfQUxJNTQ1MQogCXRyaXN0YXRlICJBTGkgTTU0NTEgUENJIEF1ZGlvIENvbnRyb2xsZXIiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX01QVTQwMV9VQVJUCiAJc2VsZWN0IFNORF9BQzk3X0NPREVDCiAJaGVscApAQCAtNTcsNyArNjAsNiBAQAogCiBjb25maWcgU05EX0FUSUlYUAogCXRyaXN0YXRlICJBVEkgSVhQIEFDOTcgQ29udHJvbGxlciIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfQUM5N19DT0RFQwogCWhlbHAKIAkgIFNheSBZIGhlcmUgdG8gaW5jbHVkZSBzdXBwb3J0IGZvciB0aGUgaW50ZWdyYXRlZCBBQzk3IHNvdW5kCkBAIC02OSw3ICs3MSw2IEBACiAKIGNvbmZpZyBTTkRfQVRJSVhQX01PREVNCiAJdHJpc3RhdGUgIkFUSSBJWFAgTW9kZW0iCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX0FDOTdfQ09ERUMKIAloZWxwCiAJICBTYXkgWSBoZXJlIHRvIGluY2x1ZGUgc3VwcG9ydCBmb3IgdGhlIGludGVncmF0ZWQgTUM5NyBtb2RlbSBvbgpAQCAtODAsNyArODEsNiBAQAogCiBjb25maWcgU05EX0FVODgxMAogCXRyaXN0YXRlICJBdXJlYWwgQWR2YW50YWdlIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9NUFU0MDFfVUFSVAogCXNlbGVjdCBTTkRfQUM5N19DT0RFQwogCWhlbHAKQEAgLTk1LDcgKzk1LDYgQEAKIAogY29uZmlnIFNORF9BVTg4MjAKIAl0cmlzdGF0ZSAiQXVyZWFsIFZvcnRleCIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfTVBVNDAxX1VBUlQKIAlzZWxlY3QgU05EX0FDOTdfQ09ERUMKIAloZWxwCkBAIC0xMDksNyArMTA4LDYgQEAKIAogY29uZmlnIFNORF9BVTg4MzAKIAl0cmlzdGF0ZSAiQXVyZWFsIFZvcnRleCAyIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9NUFU0MDFfVUFSVAogCXNlbGVjdCBTTkRfQUM5N19DT0RFQwogCWhlbHAKQEAgLTEyNCw3ICsxMjIsNiBAQAogCiBjb25maWcgU05EX0FXMgogCXRyaXN0YXRlICJFbWFnaWMgQXVkaW93ZXJrIDIiCi0JZGVwZW5kcyBvbiBTTkQKIAloZWxwCiAJICBTYXkgWSBoZXJlIHRvIGluY2x1ZGUgc3VwcG9ydCBmb3IgRW1hZ2ljIEF1ZGlvd2VyayAyIHNvdW5kY2FyZHMuCiAKQEAgLTEzOSw3ICsxMzYsNyBAQAogCiBjb25maWcgU05EX0FaVDMzMjgKIAl0cmlzdGF0ZSAiQXp0ZWNoIEFaRjMzMjggLyBQQ0kxNjggKEVYUEVSSU1FTlRBTCkiCi0JZGVwZW5kcyBvbiBTTkQgJiYgRVhQRVJJTUVOVEFMCisJZGVwZW5kcyBvbiBFWFBFUklNRU5UQUwKIAlzZWxlY3QgU05EX09QTDNfTElCCiAJc2VsZWN0IFNORF9NUFU0MDFfVUFSVAogCXNlbGVjdCBTTkRfUENNCkBAIC0xNTIsNyArMTQ5LDYgQEAKIAogY29uZmlnIFNORF9CVDg3WAogCXRyaXN0YXRlICJCdDg3eCBBdWRpbyBDYXB0dXJlIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9QQ00KIAloZWxwCiAJICBJZiB5b3Ugd2FudCB0byByZWNvcmQgYXVkaW8gZnJvbSBUViBjYXJkcyBiYXNlZCBvbgpAQCAtMTc0LDcgKzE3MCw2IEBACiAKIGNvbmZpZyBTTkRfQ0EwMTA2CiAJdHJpc3RhdGUgIlNCIEF1ZGlneSBMUyAvIExpdmUgMjRiaXQiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX0FDOTdfQ09ERUMKIAlzZWxlY3QgU05EX1JBV01JREkKIAlzZWxlY3QgU05EX1ZNQVNURVIKQEAgLTE4Nyw3ICsxODIsNiBAQAogCiBjb25maWcgU05EX0NNSVBDSQogCXRyaXN0YXRlICJDLU1lZGlhIDgzMzgsIDg3MzgsIDg3NjgsIDg3NzAiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX09QTDNfTElCCiAJc2VsZWN0IFNORF9NUFU0MDFfVUFSVAogCXNlbGVjdCBTTkRfUENNCkBAIC0yMDEsMTMgKzE5NSwxMSBAQAogCiBjb25maWcgU05EX09YWUdFTl9MSUIKICAgICAgICAgdHJpc3RhdGUKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfUENNCiAJc2VsZWN0IFNORF9NUFU0MDFfVUFSVAogCiBjb25maWcgU05EX09YWUdFTgogCXRyaXN0YXRlICJDLU1lZGlhIDg3ODggKE94eWdlbikiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX09YWUdFTl9MSUIKIAloZWxwCiAJICBTYXkgWSBoZXJlIHRvIGluY2x1ZGUgc3VwcG9ydCBmb3Igc291bmQgY2FyZHMgYmFzZWQgb24gdGhlCkBAIC0yMjUsNyArMjE3LDYgQEAKIAogY29uZmlnIFNORF9DUzQyODEKIAl0cmlzdGF0ZSAiQ2lycnVzIExvZ2ljIChTb3VuZCBGdXNpb24pIENTNDI4MSIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfT1BMM19MSUIKIAlzZWxlY3QgU05EX1JBV01JREkKIAlzZWxlY3QgU05EX0FDOTdfQ09ERUMKQEAgLTIzNyw3ICsyMjgsNiBAQAogCiBjb25maWcgU05EX0NTNDZYWAogCXRyaXN0YXRlICJDaXJydXMgTG9naWMgKFNvdW5kIEZ1c2lvbikgQ1M0MjgwL0NTNDYxeC9DUzQ2MngvQ1M0NjN4IgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9SQVdNSURJCiAJc2VsZWN0IFNORF9BQzk3X0NPREVDCiAJaGVscApAQCAtMjU4LDcgKzI0OCw3IEBACiAKIGNvbmZpZyBTTkRfQ1M1NTMwCiAJdHJpc3RhdGUgIkNTNTUzMCBBdWRpbyIKLQlkZXBlbmRzIG9uIFNORCAmJiBJU0FfRE1BX0FQSQorCWRlcGVuZHMgb24gSVNBX0RNQV9BUEkKIAlzZWxlY3QgU05EX1NCMTZfRFNQCiAJaGVscAogCSAgU2F5IFkgaGVyZSB0byBpbmNsdWRlIHN1cHBvcnQgZm9yIGF1ZGlvIG9uIEN5cml4L05hdFNlbWkgQ1M1NTMwIGNoaXBzLgpAQCAtMjY4LDcgKzI1OCw3IEBACiAKIGNvbmZpZyBTTkRfQ1M1NTM1QVVESU8KIAl0cmlzdGF0ZSAiQ1M1NTM1L0NTNTUzNiBBdWRpbyIKLQlkZXBlbmRzIG9uIFNORCAmJiBYODYgJiYgIVg4Nl82NAorCWRlcGVuZHMgb24gWDg2ICYmICFYODZfNjQKIAlzZWxlY3QgU05EX1BDTQogCXNlbGVjdCBTTkRfQUM5N19DT0RFQwogCWhlbHAKQEAgLTI4Niw3ICsyNzYsNiBAQAogCiBjb25maWcgU05EX0RBUkxBMjAKIAl0cmlzdGF0ZSAiKEVjaG9hdWRpbykgRGFybGEyMCIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBGV19MT0FERVIKIAlzZWxlY3QgU05EX1BDTQogCWhlbHAKQEAgLTI5Nyw3ICsyODYsNiBAQAogCiBjb25maWcgU05EX0dJTkEyMAogCXRyaXN0YXRlICIoRWNob2F1ZGlvKSBHaW5hMjAiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgRldfTE9BREVSCiAJc2VsZWN0IFNORF9QQ00KIAloZWxwCkBAIC0zMDgsNyArMjk2LDYgQEAKIAogY29uZmlnIFNORF9MQVlMQTIwCiAJdHJpc3RhdGUgIihFY2hvYXVkaW8pIExheWxhMjAiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgRldfTE9BREVSCiAJc2VsZWN0IFNORF9SQVdNSURJCiAJc2VsZWN0IFNORF9QQ00KQEAgLTMyMCw3ICszMDcsNiBAQAogCiBjb25maWcgU05EX0RBUkxBMjQKIAl0cmlzdGF0ZSAiKEVjaG9hdWRpbykgRGFybGEyNCIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBGV19MT0FERVIKIAlzZWxlY3QgU05EX1BDTQogCWhlbHAKQEAgLTMzMSw3ICszMTcsNiBAQAogCiBjb25maWcgU05EX0dJTkEyNAogCXRyaXN0YXRlICIoRWNob2F1ZGlvKSBHaW5hMjQiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgRldfTE9BREVSCiAJc2VsZWN0IFNORF9QQ00KIAloZWxwCkBAIC0zNDIsNyArMzI3LDYgQEAKIAogY29uZmlnIFNORF9MQVlMQTI0CiAJdHJpc3RhdGUgIihFY2hvYXVkaW8pIExheWxhMjQiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgRldfTE9BREVSCiAJc2VsZWN0IFNORF9SQVdNSURJCiAJc2VsZWN0IFNORF9QQ00KQEAgLTM1NCw3ICszMzgsNiBAQAogCiBjb25maWcgU05EX01PTkEKIAl0cmlzdGF0ZSAiKEVjaG9hdWRpbykgTW9uYSIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBGV19MT0FERVIKIAlzZWxlY3QgU05EX1JBV01JREkKIAlzZWxlY3QgU05EX1BDTQpAQCAtMzY2LDcgKzM0OSw2IEBACiAKIGNvbmZpZyBTTkRfTUlBCiAJdHJpc3RhdGUgIihFY2hvYXVkaW8pIE1pYSIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBGV19MT0FERVIKIAlzZWxlY3QgU05EX1JBV01JREkKIAlzZWxlY3QgU05EX1BDTQpAQCAtMzc4LDcgKzM2MCw2IEBACiAKIGNvbmZpZyBTTkRfRUNITzNHCiAJdHJpc3RhdGUgIihFY2hvYXVkaW8pIDNHIGNhcmRzIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IEZXX0xPQURFUgogCXNlbGVjdCBTTkRfUkFXTUlESQogCXNlbGVjdCBTTkRfUENNCkBAIC0zOTAsNyArMzcxLDYgQEAKIAogY29uZmlnIFNORF9JTkRJR08KIAl0cmlzdGF0ZSAiKEVjaG9hdWRpbykgSW5kaWdvIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IEZXX0xPQURFUgogCXNlbGVjdCBTTkRfUENNCiAJaGVscApAQCAtNDAxLDcgKzM4MSw2IEBACiAKIGNvbmZpZyBTTkRfSU5ESUdPSU8KIAl0cmlzdGF0ZSAiKEVjaG9hdWRpbykgSW5kaWdvIElPIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IEZXX0xPQURFUgogCXNlbGVjdCBTTkRfUENNCiAJaGVscApAQCAtNDEyLDcgKzM5MSw2IEBACiAKIGNvbmZpZyBTTkRfSU5ESUdPREoKIAl0cmlzdGF0ZSAiKEVjaG9hdWRpbykgSW5kaWdvIERKIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IEZXX0xPQURFUgogCXNlbGVjdCBTTkRfUENNCiAJaGVscApAQCAtNDIzLDcgKzQwMSw2IEBACiAKIGNvbmZpZyBTTkRfRU1VMTBLMQogCXRyaXN0YXRlICJFbXUxMGsxIChTQiBMaXZlISwgQXVkaWd5LCBFLW11IEFQUykiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgRldfTE9BREVSCiAJc2VsZWN0IFNORF9IV0RFUAogCXNlbGVjdCBTTkRfUkFXTUlESQpAQCAtNDQxLDcgKzQxOCw2IEBACiAKIGNvbmZpZyBTTkRfRU1VMTBLMVgKIAl0cmlzdGF0ZSAiRW11MTBrMVggKERlbGwgT0VNIFZlcnNpb24pIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9BQzk3X0NPREVDCiAJc2VsZWN0IFNORF9SQVdNSURJCiAJaGVscApAQCAtNDUzLDcgKzQyOSw2IEBACiAKIGNvbmZpZyBTTkRfRU5TMTM3MAogCXRyaXN0YXRlICIoQ3JlYXRpdmUpIEVuc29uaXEgQXVkaW9QQ0kgMTM3MCIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfUkFXTUlESQogCXNlbGVjdCBTTkRfUENNCiAJaGVscApAQCAtNDY0LDcgKzQzOSw2IEBACiAKIGNvbmZpZyBTTkRfRU5TMTM3MQogCXRyaXN0YXRlICIoQ3JlYXRpdmUpIEVuc29uaXEgQXVkaW9QQ0kgMTM3MS8xMzczIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9SQVdNSURJCiAJc2VsZWN0IFNORF9BQzk3X0NPREVDCiAJaGVscApAQCAtNDc2LDcgKzQ1MCw2IEBACiAKIGNvbmZpZyBTTkRfRVMxOTM4CiAJdHJpc3RhdGUgIkVTUyBFUzE5MzgvMTk0Ni8xOTY5IChTb2xvLTEpIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9PUEwzX0xJQgogCXNlbGVjdCBTTkRfTVBVNDAxX1VBUlQKIAlzZWxlY3QgU05EX0FDOTdfQ09ERUMKQEAgLTQ4OSw3ICs0NjIsNiBAQAogCiBjb25maWcgU05EX0VTMTk2OAogCXRyaXN0YXRlICJFU1MgRVMxOTY4LzE5NzggKE1hZXN0cm8tMS8yLzJFKSIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfTVBVNDAxX1VBUlQKIAlzZWxlY3QgU05EX0FDOTdfQ09ERUMKIAloZWxwCkBAIC01MDEsNyArNDczLDYgQEAKIAogY29uZmlnIFNORF9GTTgwMQogCXRyaXN0YXRlICJGb3J0ZU1lZGlhIEZNODAxIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9PUEwzX0xJQgogCXNlbGVjdCBTTkRfTVBVNDAxX1VBUlQKIAlzZWxlY3QgU05EX0FDOTdfQ09ERUMKQEAgLTUyOCw3ICs0OTksNiBAQAogCiBjb25maWcgU05EX0hEQV9JTlRFTAogCXRyaXN0YXRlICJJbnRlbCBIRCBBdWRpbyIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfUENNCiAJc2VsZWN0IFNORF9WTUFTVEVSCiAJaGVscApAQCAtNjM3LDcgKzYwNyw2IEBACiAKIGNvbmZpZyBTTkRfSERTUAogCXRyaXN0YXRlICJSTUUgSGFtbWVyZmFsbCBEU1AgQXVkaW8iCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX0hXREVQCiAJc2VsZWN0IFNORF9SQVdNSURJCiAJc2VsZWN0IFNORF9QQ00KQEAgLTY1MCw3ICs2MTksNiBAQAogCiBjb25maWcgU05EX0hEU1BNCiAJdHJpc3RhdGUgIlJNRSBIYW1tZXJmYWxsIERTUCBNQURJIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9IV0RFUAogCXNlbGVjdCBTTkRfUkFXTUlESQogCXNlbGVjdCBTTkRfUENNCkBAIC02NjMsNyArNjMxLDYgQEAKIAogY29uZmlnIFNORF9ISUZJRVIKIAl0cmlzdGF0ZSAiVGVtcG9UZWMgSGlGaWVyIEZhbnRhc2lhIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9PWFlHRU5fTElCCiAJaGVscAogCSAgU2F5IFkgaGVyZSB0byBpbmNsdWRlIHN1cHBvcnQgZm9yIHRoZSBNZWRpYVRlay9UZW1wb1RlYyBIaUZpZXIKQEAgLTY3NCw3ICs2NDEsNiBAQAogCiBjb25maWcgU05EX0lDRTE3MTIKIAl0cmlzdGF0ZSAiSUNFbnNlbWJsZSBJQ0UxNzEyIChFbnZ5MjQpIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9NUFU0MDFfVUFSVAogCXNlbGVjdCBTTkRfQUM5N19DT0RFQwogCWhlbHAKQEAgLTY5MSw4ICs2NTcsNyBAQAogCiBjb25maWcgU05EX0lDRTE3MjQKIAl0cmlzdGF0ZSAiSUNFL1ZUMTcyNC8xNzIwIChFbnZ5MjRIVC9QVCkiCi0JZGVwZW5kcyBvbiBTTkQKLQlzZWxlY3QgU05EX01QVTQwMV9VQVJUCisJc2VsZWN0IFNORF9SQVdNSURJCiAJc2VsZWN0IFNORF9BQzk3X0NPREVDCiAJc2VsZWN0IFNORF9WTUFTVEVSCiAJaGVscApAQCAtNzA5LDcgKzY3NCw2IEBACiAKIGNvbmZpZyBTTkRfSU5URUw4WDAKIAl0cmlzdGF0ZSAiSW50ZWwvU2lTL25WaWRpYS9BTUQvQUxpIEFDOTcgQ29udHJvbGxlciIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfQUM5N19DT0RFQwogCWhlbHAKIAkgIFNheSBZIGhlcmUgdG8gaW5jbHVkZSBzdXBwb3J0IGZvciB0aGUgaW50ZWdyYXRlZCBBQzk3IHNvdW5kCkBAIC03MjIsNyArNjg2LDYgQEAKIAogY29uZmlnIFNORF9JTlRFTDhYME0KIAl0cmlzdGF0ZSAiSW50ZWwvU2lTL25WaWRpYS9BTUQgTUM5NyBNb2RlbSIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfQUM5N19DT0RFQwogCWhlbHAKIAkgIFNheSBZIGhlcmUgdG8gaW5jbHVkZSBzdXBwb3J0IGZvciB0aGUgaW50ZWdyYXRlZCBNQzk3IG1vZGVtIG9uCkBAIC03MzMsOCArNjk2LDYgQEAKIAogY29uZmlnIFNORF9LT1JHMTIxMgogCXRyaXN0YXRlICJLb3JnIDEyMTIgSU8iCi0JZGVwZW5kcyBvbiBTTkQKLQlzZWxlY3QgRldfTE9BREVSIGlmICFTTkRfS09SRzEyMTJfRklSTVdBUkVfSU5fS0VSTkVMCiAJc2VsZWN0IFNORF9QQ00KIAloZWxwCiAJICBTYXkgWSBoZXJlIHRvIGluY2x1ZGUgc3VwcG9ydCBmb3IgS29yZyAxMjEySU8gc291bmRjYXJkcy4KQEAgLTc0MiwxOSArNzAzLDggQEAKIAkgIFRvIGNvbXBpbGUgdGhpcyBkcml2ZXIgYXMgYSBtb2R1bGUsIGNob29zZSBNIGhlcmU6IHRoZSBtb2R1bGUKIAkgIHdpbGwgYmUgY2FsbGVkIHNuZC1rb3JnMTIxMi4KIAotY29uZmlnIFNORF9LT1JHMTIxMl9GSVJNV0FSRV9JTl9LRVJORUwKLQlib29sICJJbi1rZXJuZWwgZmlybXdhcmUgZm9yIEtvcmcxMjEyIGRyaXZlciIKLQlkZXBlbmRzIG9uIFNORF9LT1JHMTIxMgotCWRlZmF1bHQgeQotCWhlbHAKLQkgIFNheSBZIGhlcmUgdG8gaW5jbHVkZSB0aGUgc3RhdGljIGZpcm13YXJlIGJ1aWx0IGluIHRoZSBrZXJuZWwKLQkgIGZvciB0aGUgS29yZzEyMTIgZHJpdmVyLiAgSWYgeW91IGNob29zZSBOIGhlcmUsIHlvdSBuZWVkIHRvCi0JICBpbnN0YWxsIHRoZSBmaXJtd2FyZSBmaWxlcyBmcm9tIHRoZSBhbHNhLWZpcm13YXJlIHBhY2thZ2UuCi0KIGNvbmZpZyBTTkRfTUFFU1RSTzMKIAl0cmlzdGF0ZSAiRVNTIEFsbGVncm8vTWFlc3RybzMiCi0JZGVwZW5kcyBvbiBTTkQKLQlzZWxlY3QgRldfTE9BREVSIGlmICFTTkRfTUFFU1RSTzNfRklSTVdBUkVfSU5fS0VSTkVMCiAJc2VsZWN0IFNORF9BQzk3X0NPREVDCiAJaGVscAogCSAgU2F5IFkgaGVyZSB0byBpbmNsdWRlIHN1cHBvcnQgZm9yIHNvdW5kY2FyZHMgYmFzZWQgb24gRVNTIE1hZXN0cm8gMwpAQCAtNzYzLDE4ICs3MTMsOCBAQAogCSAgVG8gY29tcGlsZSB0aGlzIGRyaXZlciBhcyBhIG1vZHVsZSwgY2hvb3NlIE0gaGVyZTogdGhlIG1vZHVsZQogCSAgd2lsbCBiZSBjYWxsZWQgc25kLW1hZXN0cm8zLgogCi1jb25maWcgU05EX01BRVNUUk8zX0ZJUk1XQVJFX0lOX0tFUk5FTAotCWJvb2wgIkluLWtlcm5lbCBmaXJtd2FyZSBmb3IgTWFlc3RybzMgZHJpdmVyIgotCWRlcGVuZHMgb24gU05EX01BRVNUUk8zCi0JZGVmYXVsdCB5Ci0JaGVscAotCSAgU2F5IFkgaGVyZSB0byBpbmNsdWRlIHRoZSBzdGF0aWMgZmlybXdhcmUgYnVpbHQgaW4gdGhlIGtlcm5lbAotCSAgZm9yIHRoZSBNYWVzdHJvMyBkcml2ZXIuICBJZiB5b3UgY2hvb3NlIE4gaGVyZSwgeW91IG5lZWQgdG8KLQkgIGluc3RhbGwgdGhlIGZpcm13YXJlIGZpbGVzIGZyb20gdGhlIGFsc2EtZmlybXdhcmUgcGFja2FnZS4KLQogY29uZmlnIFNORF9NSVhBUlQKIAl0cmlzdGF0ZSAiRGlnaWdyYW0gbWlYYXJ0IgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9IV0RFUAogCXNlbGVjdCBTTkRfUENNCiAJaGVscApAQCAtNzg2LDcgKzcyNiw2IEBACiAKIGNvbmZpZyBTTkRfTk0yNTYKIAl0cmlzdGF0ZSAiTmVvTWFnaWMgTk0yNTZBVi9aWCIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfQUM5N19DT0RFQwogCWhlbHAKIAkgIFNheSBZIGhlcmUgdG8gaW5jbHVkZSBzdXBwb3J0IGZvciBOZW9NYWdpYyBOTTI1NkFWL1pYIGNoaXBzLgpAQCAtNzk2LDcgKzczNSw2IEBACiAKIGNvbmZpZyBTTkRfUENYSFIKIAl0cmlzdGF0ZSAiRGlnaWdyYW0gUENYSFIiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX1BDTQogCXNlbGVjdCBTTkRfSFdERVAKIAloZWxwCkBAIC04MDcsNyArNzQ1LDYgQEAKIAogY29uZmlnIFNORF9SSVBUSURFCiAJdHJpc3RhdGUgIkNvbmV4YW50IFJpcHRpZGUiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgRldfTE9BREVSCiAJc2VsZWN0IFNORF9PUEwzX0xJQgogCXNlbGVjdCBTTkRfTVBVNDAxX1VBUlQKQEAgLTgyMCw3ICs3NTcsNiBAQAogCiBjb25maWcgU05EX1JNRTMyCiAJdHJpc3RhdGUgIlJNRSBEaWdpMzIsIDMyLzgsIDMyIFBSTyIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfUENNCiAJaGVscAogCSAgU2F5IFkgdG8gaW5jbHVkZSBzdXBwb3J0IGZvciBSTUUgRGlnaTMyLCBEaWdpMzIgUFJPIGFuZApAQCAtODMyLDcgKzc2OCw2IEBACiAKIGNvbmZpZyBTTkRfUk1FOTYKIAl0cmlzdGF0ZSAiUk1FIERpZ2k5NiwgOTYvOCwgOTYvOCBQUk8iCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX1BDTQogCWhlbHAKIAkgIFNheSBZIGhlcmUgdG8gaW5jbHVkZSBzdXBwb3J0IGZvciBSTUUgRGlnaTk2LCBEaWdpOTYvOCBhbmQKQEAgLTg0Myw3ICs3NzgsNiBAQAogCiBjb25maWcgU05EX1JNRTk2NTIKIAl0cmlzdGF0ZSAiUk1FIERpZ2k5NjUyIChIYW1tZXJmYWxsKSIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfUENNCiAJaGVscAogCSAgU2F5IFkgaGVyZSB0byBpbmNsdWRlIHN1cHBvcnQgZm9yIFJNRSBIYW1tZXJmYWxsIChSTUUKQEAgLTg1NCw3ICs3ODgsNyBAQAogCiBjb25maWcgU05EX1NJUzcwMTkKIAl0cmlzdGF0ZSAiU2lTIDcwMTkgQXVkaW8gQWNjZWxlcmF0b3IiCi0JZGVwZW5kcyBvbiBTTkQgJiYgWDg2ICYmICFYODZfNjQKKwlkZXBlbmRzIG9uIFg4NiAmJiAhWDg2XzY0CiAJc2VsZWN0IFNORF9BQzk3X0NPREVDCiAJaGVscAogCSAgU2F5IFkgaGVyZSB0byBpbmNsdWRlIHN1cHBvcnQgZm9yIHRoZSBTaVMgNzAxOSBBdWRpbyBBY2NlbGVyYXRvci4KQEAgLTg2NCw3ICs3OTgsNiBAQAogCiBjb25maWcgU05EX1NPTklDVklCRVMKIAl0cmlzdGF0ZSAiUzMgU29uaWNWaWJlcyIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfT1BMM19MSUIKIAlzZWxlY3QgU05EX01QVTQwMV9VQVJUCiAJc2VsZWN0IFNORF9BQzk3X0NPREVDCkBAIC04NzcsNyArODEwLDYgQEAKIAogY29uZmlnIFNORF9UUklERU5UCiAJdHJpc3RhdGUgIlRyaWRlbnQgNEQtV2F2ZSBEWC9OWDsgU2lTIDcwMTgiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX01QVTQwMV9VQVJUCiAJc2VsZWN0IFNORF9BQzk3X0NPREVDCiAJaGVscApAQCAtODg5LDcgKzgyMSw2IEBACiAKIGNvbmZpZyBTTkRfVklBODJYWAogCXRyaXN0YXRlICJWSUEgODJDNjg2QS9CLCA4MjMzLzgyMzUgQUM5NyBDb250cm9sbGVyIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9NUFU0MDFfVUFSVAogCXNlbGVjdCBTTkRfQUM5N19DT0RFQwogCWhlbHAKQEAgLTkwMSw3ICs4MzIsNiBAQAogCiBjb25maWcgU05EX1ZJQTgyWFhfTU9ERU0KIAl0cmlzdGF0ZSAiVklBIDgyQzY4NkEvQiwgODIzMyBiYXNlZCBNb2RlbXMiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX0FDOTdfQ09ERUMKIAloZWxwCiAJICBTYXkgWSBoZXJlIHRvIGluY2x1ZGUgc3VwcG9ydCBmb3IgdGhlIGludGVncmF0ZWQgTUM5NyBtb2RlbSBvbgpAQCAtOTEyLDcgKzg0Miw2IEBACiAKIGNvbmZpZyBTTkRfVklSVFVPU08KIAl0cmlzdGF0ZSAiQXN1cyBWaXJ0dW9zbyAxMDAvMjAwIChYb25hcikiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX09YWUdFTl9MSUIKIAloZWxwCiAJICBTYXkgWSBoZXJlIHRvIGluY2x1ZGUgc3VwcG9ydCBmb3Igc291bmQgY2FyZHMgYmFzZWQgb24gdGhlCkBAIC05MjMsNyArODUyLDYgQEAKIAogY29uZmlnIFNORF9WWDIyMgogCXRyaXN0YXRlICJEaWdpZ3JhbSBWWDIyMiIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfVlhfTElCCiAJaGVscAogCSAgU2F5IFkgaGVyZSB0byBpbmNsdWRlIHN1cHBvcnQgZm9yIERpZ2lncmFtIFZYMjIyIHNvdW5kY2FyZHMuCkBAIC05MzMsOCArODYxLDYgQEAKIAogY29uZmlnIFNORF9ZTUZQQ0kKIAl0cmlzdGF0ZSAiWWFtYWhhIFlNRjcyNC83NDAvNzQ0Lzc1NCIKLQlkZXBlbmRzIG9uIFNORAotCXNlbGVjdCBGV19MT0FERVIgaWYgIVNORF9ZTUZQQ0lfRklSTVdBUkVfSU5fS0VSTkVMCiAJc2VsZWN0IFNORF9PUEwzX0xJQgogCXNlbGVjdCBTTkRfTVBVNDAxX1VBUlQKIAlzZWxlY3QgU05EX0FDOTdfQ09ERUMKQEAgLTk0NSwzNCArODcxLDQgQEAKIAkgIFRvIGNvbXBpbGUgdGhpcyBkcml2ZXIgYXMgYSBtb2R1bGUsIGNob29zZSBNIGhlcmU6IHRoZSBtb2R1bGUKIAkgIHdpbGwgYmUgY2FsbGVkIHNuZC15bWZwY2kuCiAKLWNvbmZpZyBTTkRfWU1GUENJX0ZJUk1XQVJFX0lOX0tFUk5FTAotCWJvb2wgIkluLWtlcm5lbCBmaXJtd2FyZSBmb3IgWU1GUENJIGRyaXZlciIKLQlkZXBlbmRzIG9uIFNORF9ZTUZQQ0kKLQlkZWZhdWx0IHkKLQloZWxwCi0JICBTYXkgWSBoZXJlIHRvIGluY2x1ZGUgdGhlIHN0YXRpYyBmaXJtd2FyZSBidWlsdCBpbiB0aGUga2VybmVsCi0JICBmb3IgdGhlIFlNRlBDSSBkcml2ZXIuICBJZiB5b3UgY2hvb3NlIE4gaGVyZSwgeW91IG5lZWQgdG8KLQkgIGluc3RhbGwgdGhlIGZpcm13YXJlIGZpbGVzIGZyb20gdGhlIGFsc2EtZmlybXdhcmUgcGFja2FnZS4KLQotY29uZmlnIFNORF9BQzk3X1BPV0VSX1NBVkUKLQlib29sICJBQzk3IFBvd2VyLVNhdmluZyBNb2RlIgotCWRlcGVuZHMgb24gU05EX0FDOTdfQ09ERUMgJiYgRVhQRVJJTUVOVEFMCi0JZGVmYXVsdCBuCi0JaGVscAotCSAgU2F5IFkgaGVyZSB0byBlbmFibGUgdGhlIGFnZ3Jlc3NpdmUgcG93ZXItc2F2aW5nIHN1cHBvcnQgb2YKLQkgIEFDOTcgY29kZWNzLiAgSW4gdGhpcyBtb2RlLCB0aGUgcG93ZXItbW9kZSBpcyBkeW5hbWljYWxseQotCSAgY29udHJvbGxlZCBhdCBlYWNoIG9wZW4vY2xvc2UuCi0KLQkgIFRoZSBtb2RlIGlzIGFjdGl2YXRlZCBieSBwYXNzaW5nIHBvd2VyX3NhdmU9MSBvcHRpb24gdG8KLQkgIHNuZC1hYzk3LWNvZGVjIGRyaXZlci4gIFlvdSBjYW4gdG9nZ2xlIGl0IGR5bmFtaWNhbGx5IG92ZXIKLQkgIHN5c2ZzLCB0b28uCi0KLWNvbmZpZyBTTkRfQUM5N19QT1dFUl9TQVZFX0RFRkFVTFQKLQlpbnQgIkRlZmF1bHQgdGltZS1vdXQgZm9yIEFDOTcgcG93ZXItc2F2ZSBtb2RlIgotCWRlcGVuZHMgb24gU05EX0FDOTdfUE9XRVJfU0FWRQotCWRlZmF1bHQgMAotCWhlbHAKLQkgIFRoZSBkZWZhdWx0IHRpbWUtb3V0IHZhbHVlIGluIHNlY29uZHMgZm9yIEFDOTcgYXV0b21hdGljCi0JICBwb3dlci1zYXZlIG1vZGUuICAwIG1lYW5zIHRvIGRpc2FibGUgdGhlIHBvd2VyLXNhdmUgbW9kZS4KLQotZW5kbWVudQorZW5kaWYJIyBTTkRfUENJCmRpZmYgLS1naXQgYS9zb3VuZC9wY2kvTWFrZWZpbGUgYi9zb3VuZC9wY2kvTWFrZWZpbGUKaW5kZXggODVlZjE0Yi4uNjViMjVkMiAxMDA2NDQKLS0tIGEvc291bmQvcGNpL01ha2VmaWxlCisrKyBiL3NvdW5kL3BjaS9NYWtlZmlsZQpAQCAtMTMsNyArMTMsNyBAQAogc25kLWNtaXBjaS1vYmpzIDo9IGNtaXBjaS5vCiBzbmQtY3M0MjgxLW9ianMgOj0gY3M0MjgxLm8KIHNuZC1jczU1MzAtb2JqcyA6PSBjczU1MzAubwotc25kLWVuczEzNzAtb2JqcyA6PSBlbnMxMzcwLm8KK3NuZC1lbnMxMzcwLW9ianMgOj0gZW5zMTM3MC5vIGFrNDUzMV9jb2RlYy5vCiBzbmQtZW5zMTM3MS1vYmpzIDo9IGVuczEzNzEubwogc25kLWVzMTkzOC1vYmpzIDo9IGVzMTkzOC5vCiBzbmQtZXMxOTY4LW9ianMgOj0gZXMxOTY4Lm8KZGlmZiAtLWdpdCBhL3NvdW5kL3BjaS9hYzk3L01ha2VmaWxlIGIvc291bmQvcGNpL2FjOTcvTWFrZWZpbGUKaW5kZXggMGJlNDhiMS4uNDFmYTMyMiAxMDA2NDQKLS0tIGEvc291bmQvcGNpL2FjOTcvTWFrZWZpbGUKKysrIGIvc291bmQvcGNpL2FjOTcvTWFrZWZpbGUKQEAgLTMsMTYgKzMsOCBAQAogIyBDb3B5cmlnaHQgKGMpIDIwMDEgYnkgSmFyb3NsYXYgS3lzZWxhIDxwZXJleEBwZXJleC5jej4KICMKIAotc25kLWFjOTctY29kZWMtb2JqcyA6PSBhYzk3X2NvZGVjLm8gYWM5N19wY20ubwotCi1pZm5lcSAoJChDT05GSUdfUFJPQ19GUyksKQotc25kLWFjOTctY29kZWMtb2JqcyArPSBhYzk3X3Byb2MubwotZW5kaWYKLQotc25kLWFrNDUzMS1jb2RlYy1vYmpzIDo9IGFrNDUzMV9jb2RlYy5vCitzbmQtYWM5Ny1jb2RlYy15IDo9IGFjOTdfY29kZWMubyBhYzk3X3BjbS5vCitzbmQtYWM5Ny1jb2RlYy0kKENPTkZJR19QUk9DX0ZTKSArPSBhYzk3X3Byb2MubwogCiAjIFRvcGxldmVsIE1vZHVsZSBEZXBlbmRlbmN5CiBvYmotJChDT05GSUdfU05EX0FDOTdfQ09ERUMpICs9IHNuZC1hYzk3LWNvZGVjLm8KLW9iai0kKENPTkZJR19TTkRfRU5TMTM3MCkgKz0gc25kLWFrNDUzMS1jb2RlYy5vCi0KLW9iai1tIDo9ICQoc29ydCAkKG9iai1tKSkKZGlmZiAtLWdpdCBhL3NvdW5kL3BjaS9hYzk3L2FjOTdfY29kZWMuYyBiL3NvdW5kL3BjaS9hYzk3L2FjOTdfY29kZWMuYwppbmRleCA0NWZkMjkwLi4wNzM2NGMwIDEwMDY0NAotLS0gYS9zb3VuZC9wY2kvYWM5Ny9hYzk3X2NvZGVjLmMKKysrIGIvc291bmQvcGNpL2FjOTcvYWM5N19jb2RlYy5jCkBAIC00OSw4ICs0OSw5IEBACiAKICNpZmRlZiBDT05GSUdfU05EX0FDOTdfUE9XRVJfU0FWRQogc3RhdGljIGludCBwb3dlcl9zYXZlID0gQ09ORklHX1NORF9BQzk3X1BPV0VSX1NBVkVfREVGQVVMVDsKLW1vZHVsZV9wYXJhbShwb3dlcl9zYXZlLCBib29sLCAwNjQ0KTsKLU1PRFVMRV9QQVJNX0RFU0MocG93ZXJfc2F2ZSwgIkVuYWJsZSBBQzk3IHBvd2VyLXNhdmluZyBjb250cm9sIik7Cittb2R1bGVfcGFyYW0ocG93ZXJfc2F2ZSwgaW50LCAwNjQ0KTsKK01PRFVMRV9QQVJNX0RFU0MocG93ZXJfc2F2ZSwgIkF1dG9tYXRpYyBwb3dlci1zYXZpbmcgdGltZW91dCAiCisJCSAiKGluIHNlY29uZCwgMCA9IGRpc2FibGUpLiIpOwogI2VuZGlmCiAvKgogCkBAIC0yMjk0LDkgKzIyOTUsMTEgQEAKIAlwb3dlciB8PSBBQzk3X1BEX1BSMCB8IEFDOTdfUERfUFIxOwkvKiBBREMgJiBEQUMgcG93ZXJkb3duICovCiAJc25kX2FjOTdfd3JpdGUoYWM5NywgQUM5N19QT1dFUkRPV04sIHBvd2VyKTsKIAl1ZGVsYXkoMTAwKTsKLQlwb3dlciB8PSBBQzk3X1BEX1BSMiB8IEFDOTdfUERfUFIzOwkvKiBBbmFsb2cgTWl4ZXIgcG93ZXJkb3duICovCisJcG93ZXIgfD0gQUM5N19QRF9QUjI7CS8qIEFuYWxvZyBNaXhlciBwb3dlcmRvd24gKFZyZWYgb24pICovCiAJc25kX2FjOTdfd3JpdGUoYWM5NywgQUM5N19QT1dFUkRPV04sIHBvd2VyKTsKIAlpZiAoYWM5N19pc19wb3dlcl9zYXZlX21vZGUoYWM5NykpIHsKKwkJcG93ZXIgfD0gQUM5N19QRF9QUjM7CS8qIEFuYWxvZyBNaXhlciBwb3dlcmRvd24gKi8KKwkJc25kX2FjOTdfd3JpdGUoYWM5NywgQUM5N19QT1dFUkRPV04sIHBvd2VyKTsKIAkJdWRlbGF5KDEwMCk7CiAJCS8qIEFDLWxpbmsgcG93ZXJkb3duLCBpbnRlcm5hbCBDbGsgZGlzYWJsZSAqLwogCQkvKiBGSVhNRTogdGhpcyBtYXkgY2F1c2UgY2xpY2sgbm9pc2VzIG9uIHNvbWUgYm9hcmRzICovCkBAIC0yMzYyLDcgKzIzNjUsNyBAQAogCQkgKiAgdGhhdCBvcGVuL2Nsb3NlIGZyZXF1ZW50bHkpCiAJCSAqLwogCQlzY2hlZHVsZV9kZWxheWVkX3dvcmsoJmFjOTctPnBvd2VyX3dvcmssCi0JCQkJICAgICAgbXNlY3NfdG9famlmZmllcygyMDAwKSk7CisJCQkJICAgICAgbXNlY3NfdG9famlmZmllcyhwb3dlcl9zYXZlICogMTAwMCkpOwogCWVsc2UgewogCQljYW5jZWxfZGVsYXllZF93b3JrKCZhYzk3LT5wb3dlcl93b3JrKTsKIAkJdXBkYXRlX3Bvd2VyX3JlZ3MoYWM5Nyk7CmRpZmYgLS1naXQgYS9zb3VuZC9wY2kvYWM5Ny9hYzk3X3BhdGNoLmMgYi9zb3VuZC9wY2kvYWM5Ny9hYzk3X3BhdGNoLmMKaW5kZXggMTI5MmRjZS4uMDc0NmU5YyAxMDA2NDQKLS0tIGEvc291bmQvcGNpL2FjOTcvYWM5N19wYXRjaC5jCisrKyBiL3NvdW5kL3BjaS9hYzk3L2FjOTdfcGF0Y2guYwpAQCAtNjY5LDYgKzY2OSw3IEBACiBBQzk3X1NJTkdMRSgiTWljIDIgVm9sdW1lIiwgQUM5N19NSUMsIDAsIDMxLCAxKSwKIEFDOTdfU0lOR0xFKCJNaWMgMjBkQiBCb29zdCBTd2l0Y2giLCBBQzk3X01JQywgNywgMSwgMCksCiAKK0FDOTdfU0lOR0xFKCJNYXN0ZXIgTGVmdCBJbnYgU3dpdGNoIiwgQUM5N19NQVNURVIsIDYsIDEsIDApLAogQUM5N19TSU5HTEUoIk1hc3RlciBaQyBTd2l0Y2giLCBBQzk3X01BU1RFUiwgNywgMSwgMCksCiBBQzk3X1NJTkdMRSgiSGVhZHBob25lIFpDIFN3aXRjaCIsIEFDOTdfSEVBRFBIT05FLCA3LCAxLCAwKSwKIEFDOTdfU0lOR0xFKCJNb25vIFpDIFN3aXRjaCIsIEFDOTdfTUFTVEVSX01PTk8sIDcsIDEsIDApLApAQCAtMzM1Miw4ICszMzUzLDY2IEBACiBBQzk3X1NJTkdMRSgiRG93bm1peCBTdXJyb3VuZCB0byBGcm9udCIsIDB4NWEsIDExLCAxLCAwKSwKIH07CiAKK3N0YXRpYyBjb25zdCBjaGFyICpzbGF2ZV92b2xzX3Z0MTYxNltdID0geworCSJGcm9udCBQbGF5YmFjayBWb2x1bWUiLAorCSJTdXJyb3VuZCBQbGF5YmFjayBWb2x1bWUiLAorCSJDZW50ZXIgUGxheWJhY2sgVm9sdW1lIiwKKwkiTEZFIFBsYXliYWNrIFZvbHVtZSIsCisJTlVMTAorfTsKKworc3RhdGljIGNvbnN0IGNoYXIgKnNsYXZlX3N3c192dDE2MTZbXSA9IHsKKwkiRnJvbnQgUGxheWJhY2sgU3dpdGNoIiwKKwkiU3Vycm91bmQgUGxheWJhY2sgU3dpdGNoIiwKKwkiQ2VudGVyIFBsYXliYWNrIFN3aXRjaCIsCisJIkxGRSBQbGF5YmFjayBTd2l0Y2giLAorCU5VTEwKK307CisKKy8qIGZpbmQgYSBtaXhlciBjb250cm9sIGVsZW1lbnQgd2l0aCB0aGUgZ2l2ZW4gbmFtZSAqLworc3RhdGljIHN0cnVjdCBzbmRfa2NvbnRyb2wgKnNuZF9hYzk3X2ZpbmRfbWl4ZXJfY3RsKHN0cnVjdCBzbmRfYWM5NyAqYWM5NywKKwkJCQkJCSAgICBjb25zdCBjaGFyICpuYW1lKQoreworCXN0cnVjdCBzbmRfY3RsX2VsZW1faWQgaWQ7CisJbWVtc2V0KCZpZCwgMCwgc2l6ZW9mKGlkKSk7CisJaWQuaWZhY2UgPSBTTkRSVl9DVExfRUxFTV9JRkFDRV9NSVhFUjsKKwlzdHJjcHkoaWQubmFtZSwgbmFtZSk7CisJcmV0dXJuIHNuZF9jdGxfZmluZF9pZChhYzk3LT5idXMtPmNhcmQsICZpZCk7Cit9CisKKy8qIGNyZWF0ZSBhIHZpcnR1YWwgbWFzdGVyIGNvbnRyb2wgYW5kIGFkZCBzbGF2ZXMgKi8KK2ludCBzbmRfYWM5N19hZGRfdm1hc3RlcihzdHJ1Y3Qgc25kX2FjOTcgKmFjOTcsIGNoYXIgKm5hbWUsCisJCQkgY29uc3QgdW5zaWduZWQgaW50ICp0bHYsIGNvbnN0IGNoYXIgKipzbGF2ZXMpCit7CisJc3RydWN0IHNuZF9rY29udHJvbCAqa2N0bDsKKwljb25zdCBjaGFyICoqczsKKwlpbnQgZXJyOworCisJa2N0bCA9IHNuZF9jdGxfbWFrZV92aXJ0dWFsX21hc3RlcihuYW1lLCB0bHYpOworCWlmICgha2N0bCkKKwkJcmV0dXJuIC1FTk9NRU07CisJZXJyID0gc25kX2N0bF9hZGQoYWM5Ny0+YnVzLT5jYXJkLCBrY3RsKTsKKwlpZiAoZXJyIDwgMCkKKwkJcmV0dXJuIGVycjsKKworCWZvciAocyA9IHNsYXZlczsgKnM7IHMrKykgeworCQlzdHJ1Y3Qgc25kX2tjb250cm9sICpzY3RsOworCisJCXNjdGwgPSBzbmRfYWM5N19maW5kX21peGVyX2N0bChhYzk3LCAqcyk7CisJCWlmICghc2N0bCkgeworCQkJc25kX3ByaW50ZGQoIkNhbm5vdCBmaW5kIHNsYXZlICVzLCBza2lwcGVkXG4iLCAqcyk7CisJCQljb250aW51ZTsKKwkJfQorCQllcnIgPSBzbmRfY3RsX2FkZF9zbGF2ZShrY3RsLCBzY3RsKTsKKwkJaWYgKGVyciA8IDApCisJCQlyZXR1cm4gZXJyOworCX0KKwlyZXR1cm4gMDsKK30KKwogc3RhdGljIGludCBwYXRjaF92dDE2MTZfc3BlY2lmaWMoc3RydWN0IHNuZF9hYzk3ICogYWM5NykKIHsKKwlzdHJ1Y3Qgc25kX2tjb250cm9sICprY3RsOwogCWludCBlcnI7CiAKIAlpZiAoc25kX2FjOTdfdHJ5X2JpdChhYzk3LCAweDVhLCA5KSkKQEAgLTMzNjEsNiArMzQyMCwyNCBAQAogCQkJcmV0dXJuIGVycjsKIAlpZiAoKGVyciA9IHBhdGNoX2J1aWxkX2NvbnRyb2xzKGFjOTcsICZzbmRfYWM5N19jb250cm9sc192dDE2MTZbMV0sIEFSUkFZX1NJWkUoc25kX2FjOTdfY29udHJvbHNfdnQxNjE2KSAtIDEpKSA8IDApCiAJCXJldHVybiBlcnI7CisKKwkvKiBUaGVyZSBpcyBhbHJlYWR5IGEgbWlzbmFtZWQgbWFzdGVyIHN3aXRjaC4gIFJlbmFtZSBpdC4gICovCisJa2N0bCA9IHNuZF9hYzk3X2ZpbmRfbWl4ZXJfY3RsKGFjOTcsICJNYXN0ZXIgUGxheWJhY2sgVm9sdW1lIik7CisJaWYgKCFrY3RsKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCXNuZF9hYzk3X3JlbmFtZV92b2xfY3RsKGFjOTcsICJNYXN0ZXIgUGxheWJhY2siLCAiRnJvbnQgUGxheWJhY2siKTsKKworCWVyciA9IHNuZF9hYzk3X2FkZF92bWFzdGVyKGFjOTcsICJNYXN0ZXIgUGxheWJhY2sgVm9sdW1lIiwKKwkJCQkgICBrY3RsLT50bHYucCwgc2xhdmVfdm9sc192dDE2MTYpOworCWlmIChlcnIgPCAwKQorCQlyZXR1cm4gZXJyOworCisJZXJyID0gc25kX2FjOTdfYWRkX3ZtYXN0ZXIoYWM5NywgIk1hc3RlciBQbGF5YmFjayBTd2l0Y2giLAorCQkJCSAgIE5VTEwsIHNsYXZlX3N3c192dDE2MTYpOworCWlmIChlcnIgPCAwKQorCQlyZXR1cm4gZXJyOworCiAJcmV0dXJuIDA7CiB9CiAKQEAgLTM2MzMsNyArMzcxMCw3IEBACiB7CiAJYWM5Ny0+YnVpbGRfb3BzID0gJnBhdGNoX3VjYjE0MDBfb3BzOwogCS8qIGVuYWJsZSBoZWFkcGhvbmUgZHJpdmVyIGFuZCBzbWFydCBsb3cgcG93ZXIgbW9kZSBieSBkZWZhdWx0ICovCi0Jc25kX2FjOTdfd3JpdGUoYWM5NywgMHg2YSwgMHgwMDUwKTsKLQlzbmRfYWM5N193cml0ZShhYzk3LCAweDZjLCAweDAwMzApOworCXNuZF9hYzk3X3dyaXRlX2NhY2hlKGFjOTcsIDB4NmEsIDB4MDA1MCk7CisJc25kX2FjOTdfd3JpdGVfY2FjaGUoYWM5NywgMHg2YywgMHgwMDMwKTsKIAlyZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL3NvdW5kL3BjaS9hYzk3L2FrNDUzMV9jb2RlYy5jIGIvc291bmQvcGNpL2FrNDUzMV9jb2RlYy5jCnNpbWlsYXJpdHkgaW5kZXggOTYlCnJlbmFtZSBmcm9tIHNvdW5kL3BjaS9hYzk3L2FrNDUzMV9jb2RlYy5jCnJlbmFtZSB0byBzb3VuZC9wY2kvYWs0NTMxX2NvZGVjLmMKaW5kZXggYzBjMTYzMzkuLjMzZDM3YjEgMTAwNjQ0Ci0tLSBhL3NvdW5kL3BjaS9hYzk3L2FrNDUzMV9jb2RlYy5jCisrKyBiL3NvdW5kL3BjaS9hazQ1MzFfY29kZWMuYwpAQCAtMjgsOSArMjgsMTEgQEAKICNpbmNsdWRlIDxzb3VuZC9hazQ1MzFfY29kZWMuaD4KICNpbmNsdWRlIDxzb3VuZC90bHYuaD4KIAorLyoKIE1PRFVMRV9BVVRIT1IoIkphcm9zbGF2IEt5c2VsYSA8cGVyZXhAcGVyZXguY3o+Iik7CiBNT0RVTEVfREVTQ1JJUFRJT04oIlVuaXZlcnNhbCByb3V0aW5lcyBmb3IgQUs0NTMxIGNvZGVjIik7CiBNT0RVTEVfTElDRU5TRSgiR1BMIik7CisqLwogCiAjaWZkZWYgQ09ORklHX1BST0NfRlMKIHN0YXRpYyB2b2lkIHNuZF9hazQ1MzFfcHJvY19pbml0KHN0cnVjdCBzbmRfY2FyZCAqY2FyZCwgc3RydWN0IHNuZF9hazQ1MzEgKmFrNDUzMSk7CkBAIC0yNzAsNyArMjcyLDcgQEAKIHN0YXRpYyBjb25zdCBERUNMQVJFX1RMVl9EQl9TQ0FMRShkYl9zY2FsZV9tb25vLCAtMjgwMCwgNDAwLCAwKTsKIHN0YXRpYyBjb25zdCBERUNMQVJFX1RMVl9EQl9TQ0FMRShkYl9zY2FsZV9pbnB1dCwgLTUwMDAsIDIwMCwgMCk7CiAKLXN0YXRpYyBzdHJ1Y3Qgc25kX2tjb250cm9sX25ldyBzbmRfYWs0NTMxX2NvbnRyb2xzW10gPSB7CitzdGF0aWMgc3RydWN0IHNuZF9rY29udHJvbF9uZXcgc25kX2FrNDUzMV9jb250cm9sc1tdIF9fZGV2aW5pdGRhdGEgPSB7CiAKIEFLNDUzMV9ET1VCTEVfVExWKCJNYXN0ZXIgUGxheWJhY2sgU3dpdGNoIiwgMCwKIAkJICBBSzQ1MzFfTE1BU1RFUiwgQUs0NTMxX1JNQVNURVIsIDcsIDcsIDEsIDEsCkBAIC0zNzksOCArMzgxLDkgQEAKIAkweDAxCQkvKiAxOTogTWljIEFtcCBTZXR1cCAqLwogfTsKIAotaW50IHNuZF9hazQ1MzFfbWl4ZXIoc3RydWN0IHNuZF9jYXJkICpjYXJkLCBzdHJ1Y3Qgc25kX2FrNDUzMSAqX2FrNDUzMSwKLQkJICAgICBzdHJ1Y3Qgc25kX2FrNDUzMSAqKnJhazQ1MzEpCitpbnQgX19kZXZpbml0IHNuZF9hazQ1MzFfbWl4ZXIoc3RydWN0IHNuZF9jYXJkICpjYXJkLAorCQkJICAgICAgIHN0cnVjdCBzbmRfYWs0NTMxICpfYWs0NTMxLAorCQkJICAgICAgIHN0cnVjdCBzbmRfYWs0NTMxICoqcmFrNDUzMSkKIHsKIAl1bnNpZ25lZCBpbnQgaWR4OwogCWludCBlcnI7CkBAIC00NzYsNyArNDc5LDggQEAKIAkJICAgIGFrNDUzMS0+cmVnc1tBSzQ1MzFfTUlDX0dBSU5dICYgMSA/ICIrMzBkQiIgOiAiKzBkQiIpOwogfQogCi1zdGF0aWMgdm9pZCBzbmRfYWs0NTMxX3Byb2NfaW5pdChzdHJ1Y3Qgc25kX2NhcmQgKmNhcmQsIHN0cnVjdCBzbmRfYWs0NTMxICphazQ1MzEpCitzdGF0aWMgdm9pZCBfX2RldmluaXQKK3NuZF9hazQ1MzFfcHJvY19pbml0KHN0cnVjdCBzbmRfY2FyZCAqY2FyZCwgc3RydWN0IHNuZF9hazQ1MzEgKmFrNDUzMSkKIHsKIAlzdHJ1Y3Qgc25kX2luZm9fZW50cnkgKmVudHJ5OwogCkBAIC00ODQsMjUgKzQ4OCwzIEBACiAJCXNuZF9pbmZvX3NldF90ZXh0X29wcyhlbnRyeSwgYWs0NTMxLCBzbmRfYWs0NTMxX3Byb2NfcmVhZCk7CiB9CiAjZW5kaWYKLQotRVhQT1JUX1NZTUJPTChzbmRfYWs0NTMxX21peGVyKTsKLSNpZmRlZiBDT05GSUdfUE0KLUVYUE9SVF9TWU1CT0woc25kX2FrNDUzMV9zdXNwZW5kKTsKLUVYUE9SVF9TWU1CT0woc25kX2FrNDUzMV9yZXN1bWUpOwotI2VuZGlmCi0KLS8qCi0gKiAgSU5JVCBwYXJ0Ci0gKi8KLQotc3RhdGljIGludCBfX2luaXQgYWxzYV9hazQ1MzFfaW5pdCh2b2lkKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgdm9pZCBfX2V4aXQgYWxzYV9hazQ1MzFfZXhpdCh2b2lkKQotewotfQotCi1tb2R1bGVfaW5pdChhbHNhX2FrNDUzMV9pbml0KQotbW9kdWxlX2V4aXQoYWxzYV9hazQ1MzFfZXhpdCkKZGlmZiAtLWdpdCBhL3NvdW5kL3BjaS9hdTg4eDAvYXU4OHgwX2dhbWUuYyBiL3NvdW5kL3BjaS9hdTg4eDAvYXU4OHgwX2dhbWUuYwppbmRleCBiYzIxMmY0Li5lMjkxYWE1IDEwMDY0NAotLS0gYS9zb3VuZC9wY2kvYXU4OHgwL2F1ODh4MF9nYW1lLmMKKysrIGIvc291bmQvcGNpL2F1ODh4MC9hdTg4eDBfZ2FtZS5jCkBAIC0xLDYgKzEsNCBAQAogLyoKLSAqICRJZDogYXU4OHgwX2dhbWUuYyx2IDEuOSAyMDAzLzA5LzIyIDAzOjUxOjI4IG1qYW5kZXIgRXhwICQKLSAqCiAgKiAgTWFudWVsIEphbmRlci4KICAqCiAgKiAgQmFzZWQgb24gdGhlIHdvcmsgb2Y6CmRpZmYgLS1naXQgYS9zb3VuZC9wY2kvYXp0MzMyOC5jIGIvc291bmQvcGNpL2F6dDMzMjguYwppbmRleCA1ZjYzYWY2Li4yMmYxOGYzIDEwMDY0NAotLS0gYS9zb3VuZC9wY2kvYXp0MzMyOC5jCisrKyBiL3NvdW5kL3BjaS9henQzMzI4LmMKQEAgLTEsNiArMSw2IEBACiAvKgogICogIGF6dDMzMjguYyAtIGRyaXZlciBmb3IgQXp0ZWNoIEFaRjMzMjggYmFzZWQgc291bmRjYXJkcyAoZS5nLiBQQ0kxNjgpLgotICogIENvcHlyaWdodCAoQykgMjAwMiwgMjAwNSwgMjAwNiwgMjAwNyBieSBBbmRyZWFzIE1vaHIgPGFuZGkgQVQgbGlzYXMuZGU+CisgKiAgQ29weXJpZ2h0IChDKSAyMDAyLCAyMDA1IC0gMjAwOCBieSBBbmRyZWFzIE1vaHIgPGFuZGkgQVQgbGlzYXMuZGU+CiAgKgogICogIEZyYW1ld29yayBib3Jyb3dlZCBmcm9tIEJhcnQgSGFydGdlcnMncyBhbHM0MDAwLmMuCiAgKiAgRHJpdmVyIGRldmVsb3BlZCBvbiBQQ0kxNjggQVAoVykgdmVyc2lvbiAoUENJIHJldi4gMTAsIHN1YnN5c3RlbSBJRCAxODAxKSwKQEAgLTM1LDkgKzM1LDIwIEBACiAgKiAgKDMgd2Vla3MnIHdvcnRoIG9mIGV2ZW5pbmdzIGZpbGxlZCB3aXRoIGRyaXZlciB3b3JrKS4KICAqICAoYW5kIG5vLCBJIGRpZCBOT1QgZ28gdGhlIGVhc3kgd2F5OiB0byBwaWNrIHVwIGEgU0IgUENJMTI4IGZvciA5IEV1cm9zKQogICoKLSAqICBUaGUgQVpGMzMyOCBjaGlwIChub3RlOiBBWkYzMzI4LCAqbm90KiBBWlQzMzI4LCB0aGF0J3MganVzdCB0aGUgZHJpdmVyIG5hbWUKLSAqICBmb3IgY29tcGF0aWJpbGl0eSByZWFzb25zKSBoYXMgdGhlIGZvbGxvd2luZyBmZWF0dXJlczoKKyAqICBJdCBpcyBxdWl0ZSBsaWtlbHkgdGhhdCB0aGUgQVpGMzMyOCBjaGlwIGlzIHRoZSBQQ0kgY291c2luIG9mIHRoZQorICogIEFaRjMzMTggKCJhenQxMDIwIHBucCIsICJNTSBQcm8gMTYiKSBJU0EgY2hpcCwgZ2l2ZW4gdmVyeSBzaW1pbGFyIHNwZWNzLgogICoKKyAqICBUaGUgQVpGMzMyOCBjaGlwIChub3RlOiBBWkYzMzI4LCAqbm90KiBBWlQzMzI4LCB0aGF0J3MganVzdCB0aGUgZHJpdmVyIG5hbWUKKyAqICBmb3IgY29tcGF0aWJpbGl0eSByZWFzb25zKSBmcm9tIEF6ZmluIChqb2ludC12ZW50dXJlIG9mIEF6dGVjaCBhbmQgRmluY2l0ZWMsCisgKiAgRmluY2l0ZWMgYWNxdWlyZWQgYnkgTmF0aW9uYWwgU2VtaWNvbmR1Y3RvciBpbiAyMDAyLCB0b2dldGhlciB3aXRoIHRoZQorICogIEZpbmNpdGVjLXJlbGF0ZWQgY29tcGFueSBBUlNtaWtybykgaGFzIHRoZSBmb2xsb3dpbmcgZmVhdHVyZXM6CisgKgorICogIC0gY29tcGF0aWJpbGl0eSAmIGNvbXBsaWFuY2U6CisgKiAgICAtIE1pY3Jvc29mdCBQQyA5NyAoIlBDIDk3IEhhcmR3YXJlIERlc2lnbiBHdWlkZSIsCisgKiAgICAgICAgICAgICAgICAgICAgICAgaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3doZGMvYXJjaGl2ZS9wY2d1aWRlcy5tc3B4KQorICogICAgLSBNaWNyb3NvZnQgUEMgOTggQmFzZWxpbmUgQXVkaW8KKyAqICAgIC0gTVBVNDAxIFVBUlQKKyAqICAgIC0gU291bmQgQmxhc3RlciBFbXVsYXRpb24gKERPUyBCb3gpCiAgKiAgLSBidWlsdGluIEFDOTcgY29uZm9ybWFudCBjb2RlYyAoU05SIG92ZXIgODBkQikKICAqICAgIE5vdGUgdGhhdCAiY29uZm9ybWFudCIgIT0gImNvbXBsaWFudCIhISB0aGlzIGNoaXAncyBtaXhlciByZWdpc3RlciBsYXlvdXQKICAqICAgICpkaWZmZXJzKiBmcm9tIHRoZSBzdGFuZGFyZCBBQzk3IGxheW91dDoKQEAgLTQ4LDIxICs1OSwyOCBAQAogICogICAgYWRkcmVzc2VzIGlsbGVnYWxseS4gU28gZmFyIHVuZm9ydHVuYXRlbHkgaXQgbG9va3MgbGlrZSB0aGUgdmVyeSBmbGV4aWJsZQogICogICAgQUxTQSBBQzk3IHN1cHBvcnQgaXMgc3RpbGwgbm90IGVub3VnaCB0byBlYXNpbHkgY29tcGVuc2F0ZSBmb3Igc3VjaCBhCiAgKiAgICBncmF2ZSBsYXlvdXQgdmlvbGF0aW9uIGRlc3BpdGUgYWxsIHR3ZWFrcyBhbmQgcXVpcmtzIG1lY2hhbmlzbXMgaXQgb2ZmZXJzLgotICogIC0gYnVpbHRpbiBnZW51aW5lIE9QTDMKKyAqICAtIGJ1aWx0aW4gZ2VudWluZSBPUEwzIC0gdmVyaWZpZWQgdG8gd29yayBmaW5lLCAyMDA4MDUwNgogICogIC0gZnVsbCBkdXBsZXggMTZiaXQgcGxheWJhY2svcmVjb3JkIGF0IGluZGVwZW5kZW50IHNhbXBsaW5nIHJhdGUKLSAqICAtIE1QVTQwMSAoKyBsZWdhY3kgYWRkcmVzcyBzdXBwb3J0KSBGSVhNRTogaG93IHRvIGVuYWJsZSBsZWdhY3kgYWRkcj8/CisgKiAgLSBNUFU0MDEgKCsgbGVnYWN5IGFkZHJlc3Mgc3VwcG9ydCwgY2xhaW1lZCBieSBvbmUgb2ZmaWNpYWwgc3BlYyBzaGVldCkKKyAqICAgIEZJWE1FOiBob3cgdG8gZW5hYmxlIGxlZ2FjeSBhZGRyPz8KICAqICAtIGdhbWUgcG9ydCAobGVnYWN5IGFkZHJlc3Mgc3VwcG9ydCkKLSAqICAtIGJ1aWx0aW4gM0QgZW5oYW5jZW1lbnQgKHNhaWQgdG8gYmUgWUFNQUhBIFltZXJzaW9uKQogICogIC0gYnVpbHRpbiBEaXJlY3RJbnB1dCBzdXBwb3J0LCBoZWxwcyByZWR1Y2UgQ1BVIG92ZXJoZWFkIChpbnRlcnJ1cHQtZHJpdmVuCi0gKiAgICBmZWF0dXJlcyBzdXBwb3J0ZWQpCisgKiAgICBmZWF0dXJlcyBzdXBwb3J0ZWQpLiAtIFNlZSBjb21tb24gdGVybSAiRGlnaXRhbCBFbmhhbmNlZCBHYW1lIFBvcnQiLi4uCisgKiAgICAocHJvYmFibHkgRGlyZWN0SW5wdXQgMy4wIHNwZWMgLSBjb25maXJtKQorICogIC0gYnVpbHRpbiAzRCBlbmhhbmNlbWVudCAoc2FpZCB0byBiZSBZQU1BSEEgWW1lcnNpb24pCiAgKiAgLSBidWlsdC1pbiBHZW5lcmFsIERpcmVjdFggdGltZXIgaGF2aW5nIGEgMjAgYml0cyBjb3VudGVyCiAgKiAgICB3aXRoIDF1cyByZXNvbHV0aW9uIChzZWUgYmVsb3chKQotICogIC0gSTJTIHNlcmlhbCBwb3J0IGZvciBleHRlcm5hbCBEQUMKKyAqICAtIEkyUyBzZXJpYWwgb3V0cHV0IHBvcnQgZm9yIGV4dGVybmFsIERBQwogICogIC0gc3VwcG9ydHMgMzNNSHogUENJIHNwZWMgMi4xLCBQQ0kgcG93ZXIgbWFuYWdlbWVudCAxLjAsIGNvbXBsaWFudCB3aXRoIEFDUEkKICAqICAtIHN1cHBvcnRzIGhhcmR3YXJlIHZvbHVtZSBjb250cm9sCiAgKiAgLSBzaW5nbGUgY2hpcCBsb3cgY29zdCBzb2x1dGlvbiAoMTI4IHBpbiBRRlApCiAgKiAgLSBzdXBwb3J0cyBwcm9ncmFtbWFibGUgU3ViLXZlbmRvciBhbmQgU3ViLXN5c3RlbSBJRAogICogICAgcmVxdWlyZWQgZm9yIE1pY3Jvc29mdCdzIGxvZ28gY29tcGxpYW5jZSAoRklYTUU6IHdoZXJlPykKKyAqICAgIEF0IGxlYXN0IHRoZSBUcmlkZW50IDREIFdhdmUgRFggaGFzIG9uZSBiaXQgc29tZXdoZXJlCisgKiAgICB0byBlbmFibGUgd3JpdGVzIHRvIFBDSSBzdWJzeXN0ZW0gVklEIHJlZ2lzdGVycywgdGhhdCBzaG91bGQgYmUgaXQuCisgKiAgICBUaGlzIG1pZ2h0IGVhc2lseSBiZSBpbiBleHRlbmRlZCBQQ0kgcmVnIHNwYWNlLCBzaW5jZSBQQ0kxNjggYWxzbyBoYXMKKyAqICAgIHNvbWUgY3VzdG9tIGRhdGEgc3RhcnRpbmcgYXQgMHg4MC4gV2hhdCBraW5kIG9mIGNvbmZpZyBzZXR0aW5ncworICogICAgYXJlIGxvY2F0ZWQgaW4gb3VyIGV4dGVuZGVkIFBDSSBzcGFjZSBhbnl3YXk/PwogICogIC0gUENJMTY4IEFQKFcpIGNhcmQ6IHBvd2VyIGFtcGxpZmllciB3aXRoIDQgV2F0dHMvY2hhbm5lbCBhdCA0IE9obXMKICAqCiAgKiAgTm90ZSB0aGF0IHRoaXMgZHJpdmVyIG5vdyBpcyBhY3R1YWxseSAqYmV0dGVyKiB0aGFuIHRoZSBXaW5kb3dzIGRyaXZlciwKQEAgLTc0LDYgKzkyLDI0IEBACiAgKiAgLSAidGltaWRpdHkgLWlBdiAtQjIsOCAtT3MgLUVGcmV2ZXJiPTAiCiAgKiAgLSAicG1pZGkgLXAgMTI4OjAgamF6ei5taWQiCiAgKgorICogIE9QTDMgaGFyZHdhcmUgcGxheWJhY2sgdGVzdGluZywgdHJ5IHNvbWV0aGluZyBsaWtlOgorICogIGNhdCAvcHJvYy9hc291bmQvaHdkZXAKKyAqICBhbmQKKyAqICBhY29ubmVjdCAtbworICogIFRoZW4gdXNlCisgKiAgc2JpbG9hZCAtRGh3OngseSAtLW9wbDMgL3Vzci9zaGFyZS9zb3VuZHMvb3BsMy9zdGQubzMgLi4uLi4uLi9kcnVtcy5vMworICogIHdoZXJlIHgseSBpcyB0aGUgeHgteXkgbnVtYmVyIGFzIGdpdmVuIGluIGh3ZGVwLgorICogIFRoZW4gdHJ5CisgKiAgcG1pZGkgLXAgYTpiIGphenoubWlkCisgKiAgd2hlcmUgYTpiIGlzIHRoZSBjbGllbnQgbnVtYmVyIHBsdXMgMCB1c3VhbGx5LCBhcyBnaXZlbiBieSBhY29ubmVjdCBhYm92ZS4KKyAqICBPaCwgYW5kIG1ha2Ugc3VyZSB0byB1bm11dGUgdGhlIEZNIG1peGVyIGNvbnRyb2wgKGRvaCEpCisgKiAgTk9URTogcG93ZXIgdXNlIGR1cmluZyBPUEwzIHBsYXliYWNrIGlzIF9WRVJZXyBoaWdoICg3MFcgLS0+IDkwVyEpCisgKiAgZGVzcGl0ZSBubyBDUFUgYWN0aXZpdHksIHBvc3NpYmx5IGR1ZSB0byBoaW5kZXJpbmcgQUNQSSBpZGxpbmcgc29tZWhvdy4KKyAqICBTaG91bGRuJ3QgYmUgYSBwcm9ibGVtIG9mIHRoZSBBWkYzMzI4IGNoaXAgaXRzZWxmLCBJJ2QgaG9wZS4KKyAqICBIaWdoZXIgUENNIC8gRk0gbWl4ZXIgbGV2ZWxzIHNlZW0gdG8gY29uZmxpY3QgKGNhdXNlcyBjcmFja2xpbmcpLAorICogIGF0IGxlYXN0IHNvbWV0aW1lcy4gICBNYXliZSBldmVuIHVzZSB3aXRoIGhhcmR3YXJlIHNlcXVlbmNlciB0aW1lciBhYm92ZSA6KQorICogIGFkcGxheS9hZHBsdWctdXRpbHMgbWlnaHQgc29vbiBvZmZlciBoYXJkd2FyZS1iYXNlZCBPUEwzIHBsYXliYWNrLCB0b28uCisgKgogICogIENlcnRhaW4gUENJIHZlcnNpb25zIG9mIHRoaXMgY2FyZCBhcmUgc3VzY2VwdGlibGUgdG8gRE1BIHRyYWZmaWMgdW5kZXJydW5zCiAgKiAgaW4gc29tZSBzeXN0ZW1zIChyZXN1bHRpbmcgaW4gc291bmQgY3JhY2tsaW5nL2NsaWNraW5nL3BvcHBpbmcpLAogICogIHByb2JhYmx5IGJlY2F1c2UgdGhleSBkb24ndCBoYXZlIGEgRE1BIEZJRk8gYnVmZmVyIG9yIHNvLgpAQCAtODcsNiArMTIzLDggQEAKICAqICBiZXR0ZXIgdGhhbiBhIFZJQSwgeWV0IGlyb25pY2FsbHkgSSBzdGlsbCBnZXQgY3JhY2tsaW5nLCBsaWtlIG1hbnkgb3RoZXIKICAqICBwZW9wbGUgd2l0aCB0aGUgc2FtZSBjaGlwc2V0LgogICogIFBvc3NpYmxlIHJlbWVkaWVzOgorICogIC0gdXNlIHNwZWFrZXIgKGFtcGxpZmllcikgb3V0cHV0IGluc3RlYWQgb2YgaGVhZHBob25lIG91dHB1dAorICogICAgKGluIGNhc2UgY3JhY2tsaW5nIGlzIGR1ZSB0byBvdmVybG9hZGVkIG91dHB1dCBjbGlwcGluZykKICAqICAtIHBsdWcgY2FyZCBpbnRvIGEgZGlmZmVyZW50IFBDSSBzbG90LCBwcmVmZXJyYWJseSBvbmUgdGhhdCBpc24ndCBzaGFyZWQKICAqICAgIHRvbyBtdWNoICh0aGlzIGhlbHBzIGEgbG90LCBidXQgbm90IGNvbXBsZXRlbHkhKQogICogIC0gZ2V0IHJpZCBvZiBQQ0kgVkdBIGNhcmQsIHVzZSBBR1AgaW5zdGVhZApAQCAtOTQsMTggKzEzMiwyMyBAQAogICogIC0gZmlkZGxlIHdpdGggUENJIGxhdGVuY3kgc2V0dGluZ3MgKHNldHBjaSAtdiAtcyBCVVNJRCBsYXRlbmN5X3RpbWVyPVhYKQogICogICAgTm90IHRvbyBoZWxwZnVsLgogICogIC0gRGlzYWJsZSBBQ1BJL3Bvd2VyIG1hbmFnZW1lbnQvIkF1dG8gRGV0ZWN0IFJBTS9QQ0kgQ2xrIiBpbiBCSU9TCi0gKiAKKyAqCiAgKiBCVUdTCi0gKiAgLSBmdWxsLWR1cGxleCBtaWdodCAqc3RpbGwqIGJlIHByb2JsZW1hdGljLCBub3QgZnVsbHkgdGVzdGVkIHJlY2VudGx5CisgKiAgLSBmdWxsLWR1cGxleCBtaWdodCAqc3RpbGwqIGJlIHByb2JsZW1hdGljLCBob3dldmVyIGEgcmVjZW50IHRlc3Qgd2FzIGZpbmUKICAqICAtIChub24tYnVnKSAiQmFzcy9UcmVibGUgb3IgM0Qgc2V0dGluZ3MgZG9uJ3Qgd29yayIgLSB0aGV5IGRvIGdldCBldmFsdWF0ZWQKICAqICAgIGlmIHlvdSBzZXQgUENNIG91dHB1dCBzd2l0Y2ggdG8gInByZSAzRCIgaW5zdGVhZCBvZiAicG9zdCAzRCIuCiAgKiAgICBJZiB0aGlzIGNhbid0IGJlIHNldCwgdGhlbiBnZXQgYSBtaXhlciBhcHBsaWNhdGlvbiB0aGF0IElzbid0IFN0dXBpZCAodG0pCiAgKiAgICAoZS5nLiBrbWl4LCBnYW1peCkgLSB1bmZvcnR1bmF0ZWx5IHNldmVyYWwgYXJlISEKLSAqIAorICogIC0gbG9ja2luZyBpcyBub3QgZW50aXJlbHkgY2xlYW4sIGVzcGVjaWFsbHkgdGhlIGF1ZGlvIHN0cmVhbSBhY3Rpdml0eQorICogICAgaW50cyAtLT4gbWF5IGJlIHJhY3kKKyAqICAtIGFuIF91bmNvbm5lY3RlZF8gc2Vjb25kYXJ5IGpveXN0aWNrIGF0IHRoZSBnYW1lcG9ydCB3aWxsIGJlIHJlcG9ydGVkCisgKiAgICB0byBiZSAiYWN0aXZlIiAoZmxvYXRpbmcgdmFsdWVzLCBub3QgcHJlY2lzZWx5IC0xKSBkdWUgdG8gdGhlIHdheSB3ZSBuZWVkCisgKiAgICB0byByZWFkIHRoZSBEaWdpdGFsIEVuaGFuY2VkIEdhbWUgUG9ydC4gTm90IHN1cmUgd2hldGhlciBpdCBpcyBmaXhhYmxlLgorICoKICAqIFRPRE8KICAqICAtIHRlc3QgTVBVNDAxIE1JREkgcGxheWJhY2sgZXRjLgotICogIC0gYWRkIHNvbWUgcG93ZXIgbWljcm8tbWFuYWdlbWVudCAoZGlzYWJsZSB2YXJpb3VzIHVuaXRzIG9mIHRoZSBjYXJkCi0gKiAgICBhcyBsb25nIGFzIHRoZXkncmUgdW51c2VkKS4gSG93ZXZlciB0aGlzIHJlcXVpcmVzIEkvTyBwb3J0cyB3aGljaCBJCisgKiAgLSBhZGQgbW9yZSBwb3dlciBtaWNyby1tYW5hZ2VtZW50IChkaXNhYmxlIHZhcmlvdXMgdW5pdHMgb2YgdGhlIGNhcmQKKyAqICAgIGFzIGxvbmcgYXMgdGhleSdyZSB1bnVzZWQpLiBIb3dldmVyIHRoaXMgcmVxdWlyZXMgbW9yZSBJL08gcG9ydHMgd2hpY2ggSQogICogICAgaGF2ZW4ndCBmaWd1cmVkIG91dCB5ZXQgYW5kIHdoaWNoIHRodXMgbWlnaHQgbm90IGV2ZW4gZXhpc3QuLi4KICAqICAgIFRoZSBzdGFuZGFyZCBzdXNwZW5kL3Jlc3VtZSBmdW5jdGlvbmFsaXR5IGNvdWxkIHByb2JhYmx5IG1ha2UgdXNlIG9mCiAgKiAgICBzb21lIGltcHJvdmVtZW50LCB0b28uLi4KQEAgLTExMyw2ICsxNTYsNyBAQAogICogIC0gZmlndXJlIG91dCBzb21lIGNsZXZlcmx5IGV2aWwgc2NoZW1lIHRvIHBvc3NpYmx5IG1ha2UgQUxTQSBBQzk3IGNvZGUKICAqICAgIGZ1bGx5IGFjY2VwdCBvdXIgcXVpdGUgaW5jb21wYXRpYmxlICIiQUM5NyIiIG1peGVyIGFuZCB0aHVzIHNhdmUgc29tZQogICogICAgY29kZSAoYnV0IEknbSBub3QgdG9vIG9wdGltaXN0aWMgdGhhdCBkb2luZyB0aGlzIGlzIHBvc3NpYmxlIGF0IGFsbCkKKyAqICAtIHVzZSBNTUlPIChtZW1vcnktbWFwcGVkIEkvTyk/IFNsaWdodGx5IGZhc3RlciBhY2Nlc3MsIGUuZy4gZm9yIGdhbWVwb3J0LgogICovCiAKICNpbmNsdWRlIDxhc20vaW8uaD4KQEAgLTEzOCw3ICsxODIsNyBAQAogTU9EVUxFX1NVUFBPUlRFRF9ERVZJQ0UoInt7QXp0ZWNoLEFaRjMzMjh9fSIpOwogCiAjaWYgZGVmaW5lZChDT05GSUdfR0FNRVBPUlQpIHx8IChkZWZpbmVkKE1PRFVMRSkgJiYgZGVmaW5lZChDT05GSUdfR0FNRVBPUlRfTU9EVUxFKSkKLSNkZWZpbmUgU1VQUE9SVF9KT1lTVElDSyAxCisjZGVmaW5lIFNVUFBPUlRfR0FNRVBPUlQgMQogI2VuZGlmCiAKICNkZWZpbmUgREVCVUdfTUlTQwkwCkBAIC0xNDcsMTMgKzE5MSwxNCBAQAogI2RlZmluZSBERUJVR19QTEFZX1JFQwkwCiAjZGVmaW5lIERFQlVHX0lPCTAKICNkZWZpbmUgREVCVUdfVElNRVIJMAorI2RlZmluZSBERUJVR19HQU1FCTAKICNkZWZpbmUgTUlYRVJfVEVTVElORwkwCiAKICNpZiBERUJVR19NSVNDCiAjZGVmaW5lIHNuZF9hemYzMzI4X2RiZ21pc2MoZm9ybWF0LCBhcmdzLi4uKSBwcmludGsoS0VSTl9FUlIgZm9ybWF0LCAjI2FyZ3MpCiAjZWxzZQogI2RlZmluZSBzbmRfYXpmMzMyOF9kYmdtaXNjKGZvcm1hdCwgYXJncy4uLikKLSNlbmRpZgkJCisjZW5kaWYKIAogI2lmIERFQlVHX0NBTExTCiAjZGVmaW5lIHNuZF9hemYzMzI4X2RiZ2NhbGxzKGZvcm1hdCwgYXJncy4uLikgcHJpbnRrKGZvcm1hdCwgIyNhcmdzKQpAQCAtMTYzLDI1ICsyMDgsMzEgQEAKICNkZWZpbmUgc25kX2F6ZjMzMjhfZGJnY2FsbHMoZm9ybWF0LCBhcmdzLi4uKQogI2RlZmluZSBzbmRfYXpmMzMyOF9kYmdjYWxsZW50ZXIoKQogI2RlZmluZSBzbmRfYXpmMzMyOF9kYmdjYWxsbGVhdmUoKQotI2VuZGlmCQkKKyNlbmRpZgogCiAjaWYgREVCVUdfTUlYRVIKICNkZWZpbmUgc25kX2F6ZjMzMjhfZGJnbWl4ZXIoZm9ybWF0LCBhcmdzLi4uKSBwcmludGsoZm9ybWF0LCAjI2FyZ3MpCiAjZWxzZQogI2RlZmluZSBzbmRfYXpmMzMyOF9kYmdtaXhlcihmb3JtYXQsIGFyZ3MuLi4pCi0jZW5kaWYJCQorI2VuZGlmCiAKICNpZiBERUJVR19QTEFZX1JFQwogI2RlZmluZSBzbmRfYXpmMzMyOF9kYmdwbGF5KGZvcm1hdCwgYXJncy4uLikgcHJpbnRrKEtFUk5fRVJSIGZvcm1hdCwgIyNhcmdzKQogI2Vsc2UKICNkZWZpbmUgc25kX2F6ZjMzMjhfZGJncGxheShmb3JtYXQsIGFyZ3MuLi4pCi0jZW5kaWYJCQorI2VuZGlmCiAKICNpZiBERUJVR19NSVNDCiAjZGVmaW5lIHNuZF9hemYzMzI4X2RiZ3RpbWVyKGZvcm1hdCwgYXJncy4uLikgcHJpbnRrKEtFUk5fRVJSIGZvcm1hdCwgIyNhcmdzKQogI2Vsc2UKICNkZWZpbmUgc25kX2F6ZjMzMjhfZGJndGltZXIoZm9ybWF0LCBhcmdzLi4uKQotI2VuZGlmCQkKKyNlbmRpZgorCisjaWYgREVCVUdfR0FNRQorI2RlZmluZSBzbmRfYXpmMzMyOF9kYmdnYW1lKGZvcm1hdCwgYXJncy4uLikgcHJpbnRrKEtFUk5fRVJSIGZvcm1hdCwgIyNhcmdzKQorI2Vsc2UKKyNkZWZpbmUgc25kX2F6ZjMzMjhfZGJnZ2FtZShmb3JtYXQsIGFyZ3MuLi4pCisjZW5kaWYKIAogc3RhdGljIGludCBpbmRleFtTTkRSVl9DQVJEU10gPSBTTkRSVl9ERUZBVUxUX0lEWDsJLyogSW5kZXggMC1NQVggKi8KIG1vZHVsZV9wYXJhbV9hcnJheShpbmRleCwgaW50LCBOVUxMLCAwNDQ0KTsKQEAgLTE5NSw1MSArMjQ2LDYyIEBACiBtb2R1bGVfcGFyYW1fYXJyYXkoZW5hYmxlLCBib29sLCBOVUxMLCAwNDQ0KTsKIE1PRFVMRV9QQVJNX0RFU0MoZW5hYmxlLCAiRW5hYmxlIEFaRjMzMjggc291bmRjYXJkLiIpOwogCi0jaWZkZWYgU1VQUE9SVF9KT1lTVElDSwotc3RhdGljIGludCBqb3lzdGlja1tTTkRSVl9DQVJEU107Ci1tb2R1bGVfcGFyYW1fYXJyYXkoam95c3RpY2ssIGJvb2wsIE5VTEwsIDA0NDQpOwotTU9EVUxFX1BBUk1fREVTQyhqb3lzdGljaywgIkVuYWJsZSBqb3lzdGljayBmb3IgQVpGMzMyOCBzb3VuZGNhcmQuIik7Ci0jZW5kaWYKLQogc3RhdGljIGludCBzZXF0aW1lcl9zY2FsaW5nID0gMTI4OwogbW9kdWxlX3BhcmFtKHNlcXRpbWVyX3NjYWxpbmcsIGludCwgMDQ0NCk7CiBNT0RVTEVfUEFSTV9ERVNDKHNlcXRpbWVyX3NjYWxpbmcsICJTZXQgMTAyNDAwMEh6IHNlcXVlbmNlciB0aW1lciBzY2FsZSBmYWN0b3IgKGxvY2t1cCBkYW5nZXIhKS4gRGVmYXVsdCAxMjguIik7CiAKK3N0cnVjdCBzbmRfYXpmMzMyOF9hdWRpb19zdHJlYW0geworCXN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtOworCWludCBlbmFibGVkOworCWludCBydW5uaW5nOworCXVuc2lnbmVkIGxvbmcgcG9ydGJhc2U7Cit9OworCitlbnVtIHNuZF9hemYzMzI4X3N0cmVhbV9pbmRleCB7CisgIEFaRl9QTEFZQkFDSyA9IDAsCisgIEFaRl9DQVBUVVJFID0gMSwKK307CisKIHN0cnVjdCBzbmRfYXpmMzMyOCB7CiAJLyogb2Z0ZW4tdXNlZCBmaWVsZHMgdG93YXJkcyBiZWdpbm5pbmcsIHRoZW4gZ3JvdXBlZCAqLwotCXVuc2lnbmVkIGxvbmcgY29kZWNfcG9ydDsKLQl1bnNpZ25lZCBsb25nIGlvMl9wb3J0OwotCXVuc2lnbmVkIGxvbmcgbXB1X3BvcnQ7Ci0JdW5zaWduZWQgbG9uZyBzeW50aF9wb3J0OwotCXVuc2lnbmVkIGxvbmcgbWl4ZXJfcG9ydDsKKworCXVuc2lnbmVkIGxvbmcgY29kZWNfaW87IC8qIHVzdWFsbHkgMHhiMDAwLCBzaXplIDEyOCAqLworCXVuc2lnbmVkIGxvbmcgZ2FtZV9pbzsgIC8qIHVzdWFsbHkgMHhiNDAwLCBzaXplIDggKi8KKwl1bnNpZ25lZCBsb25nIG1wdV9pbzsgICAvKiB1c3VhbGx5IDB4YjgwMCwgc2l6ZSA0ICovCisJdW5zaWduZWQgbG9uZyBvcGwzX2lvOyAvKiB1c3VhbGx5IDB4YmMwMCwgc2l6ZSA4ICovCisJdW5zaWduZWQgbG9uZyBtaXhlcl9pbzsgLyogdXN1YWxseSAweGMwMDAsIHNpemUgNjQgKi8KIAogCXNwaW5sb2NrX3QgcmVnX2xvY2s7CiAKIAlzdHJ1Y3Qgc25kX3RpbWVyICp0aW1lcjsKLQkKKwogCXN0cnVjdCBzbmRfcGNtICpwY207Ci0Jc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpwbGF5YmFja19zdWJzdHJlYW07Ci0Jc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpjYXB0dXJlX3N1YnN0cmVhbTsKLQl1bnNpZ25lZCBpbnQgaXNfcGxheWluZzsKLQl1bnNpZ25lZCBpbnQgaXNfcmVjb3JkaW5nOworCXN0cnVjdCBzbmRfYXpmMzMyOF9hdWRpb19zdHJlYW0gYXVkaW9fc3RyZWFtWzJdOwogCiAJc3RydWN0IHNuZF9jYXJkICpjYXJkOwogCXN0cnVjdCBzbmRfcmF3bWlkaSAqcm1pZGk7CiAKLSNpZmRlZiBTVVBQT1JUX0pPWVNUSUNLCisjaWZkZWYgU1VQUE9SVF9HQU1FUE9SVAogCXN0cnVjdCBnYW1lcG9ydCAqZ2FtZXBvcnQ7CisJaW50IGF4ZXNbNF07CiAjZW5kaWYKIAogCXN0cnVjdCBwY2lfZGV2ICpwY2k7CiAJaW50IGlycTsKIAorCS8qIHJlZ2lzdGVyIDB4NmEgaXMgd3JpdGUtb25seSwgdGh1cyBuZWVkIHRvIHJlbWVtYmVyIHNldHRpbmcuCisJICogSWYgd2UgbmVlZCB0byBhZGQgbW9yZSByZWdpc3RlcnMgaGVyZSwgdGhlbiB3ZSBtaWdodCB0cnkgdG8gZm9sZCB0aGlzCisJICogaW50byBzb21lIHRyYW5zcGFyZW50IGNvbWJpbmVkIHNoYWRvdyByZWdpc3RlciBoYW5kbGluZyB3aXRoCisJICogQ09ORklHX1BNIHJlZ2lzdGVyIHN0b3JhZ2UgYmVsb3csIGJ1dCB0aGF0J3Mgc2xpZ2h0bHkgZGlmZmljdWx0LiAqLworCXUxNiBzaGFkb3dfcmVnX2NvZGVjXzZBSDsKKwogI2lmZGVmIENPTkZJR19QTQogCS8qIHJlZ2lzdGVyIHZhbHVlIGNvbnRhaW5lcnMgZm9yIHBvd2VyIG1hbmFnZW1lbnQKIAkgKiBOb3RlOiBub3QgYWx3YXlzIGZ1bGwgSS9PIHJhbmdlIHByZXNlcnZlZCAoanVzdCBsaWtlIFdpbiBkcml2ZXIhKSAqLwotCXUxNiBzYXZlZF9yZWdzX2NvZGVjIFtBWkZfSU9fU0laRV9DT0RFQ19QTSAvIDJdOwotCXUxNiBzYXZlZF9yZWdzX2lvMiAgIFtBWkZfSU9fU0laRV9JTzJfUE0gLyAyXTsKLQl1MTYgc2F2ZWRfcmVnc19tcHUgICBbQVpGX0lPX1NJWkVfTVBVX1BNIC8gMl07Ci0JdTE2IHNhdmVkX3JlZ3Nfc3ludGhbQVpGX0lPX1NJWkVfU1lOVEhfUE0gLyAyXTsKKwl1MTYgc2F2ZWRfcmVnc19jb2RlY1tBWkZfSU9fU0laRV9DT0RFQ19QTSAvIDJdOworCXUxNiBzYXZlZF9yZWdzX2dhbWUgW0FaRl9JT19TSVpFX0dBTUVfUE0gLyAyXTsKKwl1MTYgc2F2ZWRfcmVnc19tcHUgIFtBWkZfSU9fU0laRV9NUFVfUE0gLyAyXTsKKwl1MTYgc2F2ZWRfcmVnc19vcGwzIFtBWkZfSU9fU0laRV9PUEwzX1BNIC8gMl07CiAJdTE2IHNhdmVkX3JlZ3NfbWl4ZXJbQVpGX0lPX1NJWkVfTUlYRVJfUE0gLyAyXTsKICNlbmRpZgogfTsKQEAgLTI1MiwxMjYgKzMxNCwxNjYgQEAKIAogTU9EVUxFX0RFVklDRV9UQUJMRShwY2ksIHNuZF9hemYzMzI4X2lkcyk7CiAKLXN0YXRpYyBpbmxpbmUgdm9pZAotc25kX2F6ZjMzMjhfY29kZWNfb3V0Yihjb25zdCBzdHJ1Y3Qgc25kX2F6ZjMzMjggKmNoaXAsIGludCByZWcsIHU4IHZhbHVlKQorCitzdGF0aWMgaW50CitzbmRfYXpmMzMyOF9pb19yZWdfc2V0Yih1bnNpZ25lZCByZWcsIHU4IG1hc2ssIGludCBkb19zZXQpCiB7Ci0Jb3V0Yih2YWx1ZSwgY2hpcC0+Y29kZWNfcG9ydCArIHJlZyk7CisJdTggcHJldiA9IGluYihyZWcpLCBuZXc7CisKKwluZXcgPSAoZG9fc2V0KSA/IChwcmV2fG1hc2spIDogKHByZXYgJiB+bWFzayk7CisJLyogd2UgbmVlZCB0byBhbHdheXMgd3JpdGUgdGhlIG5ldyB2YWx1ZSBubyBtYXR0ZXIgd2hldGhlciBpdCBkaWZmZXJzCisJICogb3Igbm90LCBzaW5jZSBzb21lIHJlZ2lzdGVyIGJpdHMgZG9uJ3QgaW5kaWNhdGUgdGhlaXIgc2V0dGluZyAqLworCW91dGIobmV3LCByZWcpOworCWlmIChuZXcgIT0gcHJldikKKwkJcmV0dXJuIDE7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGlubGluZSB2b2lkCitzbmRfYXpmMzMyOF9jb2RlY19vdXRiKGNvbnN0IHN0cnVjdCBzbmRfYXpmMzMyOCAqY2hpcCwgdW5zaWduZWQgcmVnLCB1OCB2YWx1ZSkKK3sKKwlvdXRiKHZhbHVlLCBjaGlwLT5jb2RlY19pbyArIHJlZyk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgdTgKLXNuZF9hemYzMzI4X2NvZGVjX2luYihjb25zdCBzdHJ1Y3Qgc25kX2F6ZjMzMjggKmNoaXAsIGludCByZWcpCitzbmRfYXpmMzMyOF9jb2RlY19pbmIoY29uc3Qgc3RydWN0IHNuZF9hemYzMzI4ICpjaGlwLCB1bnNpZ25lZCByZWcpCiB7Ci0JcmV0dXJuIGluYihjaGlwLT5jb2RlY19wb3J0ICsgcmVnKTsKKwlyZXR1cm4gaW5iKGNoaXAtPmNvZGVjX2lvICsgcmVnKTsKIH0KIAogc3RhdGljIGlubGluZSB2b2lkCi1zbmRfYXpmMzMyOF9jb2RlY19vdXR3KGNvbnN0IHN0cnVjdCBzbmRfYXpmMzMyOCAqY2hpcCwgaW50IHJlZywgdTE2IHZhbHVlKQorc25kX2F6ZjMzMjhfY29kZWNfb3V0dyhjb25zdCBzdHJ1Y3Qgc25kX2F6ZjMzMjggKmNoaXAsIHVuc2lnbmVkIHJlZywgdTE2IHZhbHVlKQogewotCW91dHcodmFsdWUsIGNoaXAtPmNvZGVjX3BvcnQgKyByZWcpOworCW91dHcodmFsdWUsIGNoaXAtPmNvZGVjX2lvICsgcmVnKTsKIH0KIAogc3RhdGljIGlubGluZSB1MTYKLXNuZF9hemYzMzI4X2NvZGVjX2ludyhjb25zdCBzdHJ1Y3Qgc25kX2F6ZjMzMjggKmNoaXAsIGludCByZWcpCitzbmRfYXpmMzMyOF9jb2RlY19pbncoY29uc3Qgc3RydWN0IHNuZF9hemYzMzI4ICpjaGlwLCB1bnNpZ25lZCByZWcpCiB7Ci0JcmV0dXJuIGludyhjaGlwLT5jb2RlY19wb3J0ICsgcmVnKTsKKwlyZXR1cm4gaW53KGNoaXAtPmNvZGVjX2lvICsgcmVnKTsKIH0KIAogc3RhdGljIGlubGluZSB2b2lkCi1zbmRfYXpmMzMyOF9jb2RlY19vdXRsKGNvbnN0IHN0cnVjdCBzbmRfYXpmMzMyOCAqY2hpcCwgaW50IHJlZywgdTMyIHZhbHVlKQorc25kX2F6ZjMzMjhfY29kZWNfb3V0bChjb25zdCBzdHJ1Y3Qgc25kX2F6ZjMzMjggKmNoaXAsIHVuc2lnbmVkIHJlZywgdTMyIHZhbHVlKQogewotCW91dGwodmFsdWUsIGNoaXAtPmNvZGVjX3BvcnQgKyByZWcpOworCW91dGwodmFsdWUsIGNoaXAtPmNvZGVjX2lvICsgcmVnKTsKK30KKworc3RhdGljIGlubGluZSB1MzIKK3NuZF9hemYzMzI4X2NvZGVjX2lubChjb25zdCBzdHJ1Y3Qgc25kX2F6ZjMzMjggKmNoaXAsIHVuc2lnbmVkIHJlZykKK3sKKwlyZXR1cm4gaW5sKGNoaXAtPmNvZGVjX2lvICsgcmVnKTsKIH0KIAogc3RhdGljIGlubGluZSB2b2lkCi1zbmRfYXpmMzMyOF9pbzJfb3V0Yihjb25zdCBzdHJ1Y3Qgc25kX2F6ZjMzMjggKmNoaXAsIGludCByZWcsIHU4IHZhbHVlKQorc25kX2F6ZjMzMjhfZ2FtZV9vdXRiKGNvbnN0IHN0cnVjdCBzbmRfYXpmMzMyOCAqY2hpcCwgdW5zaWduZWQgcmVnLCB1OCB2YWx1ZSkKIHsKLQlvdXRiKHZhbHVlLCBjaGlwLT5pbzJfcG9ydCArIHJlZyk7CisJb3V0Yih2YWx1ZSwgY2hpcC0+Z2FtZV9pbyArIHJlZyk7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZAorc25kX2F6ZjMzMjhfZ2FtZV9vdXR3KGNvbnN0IHN0cnVjdCBzbmRfYXpmMzMyOCAqY2hpcCwgdW5zaWduZWQgcmVnLCB1MTYgdmFsdWUpCit7CisJb3V0dyh2YWx1ZSwgY2hpcC0+Z2FtZV9pbyArIHJlZyk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgdTgKLXNuZF9hemYzMzI4X2lvMl9pbmIoY29uc3Qgc3RydWN0IHNuZF9hemYzMzI4ICpjaGlwLCBpbnQgcmVnKQorc25kX2F6ZjMzMjhfZ2FtZV9pbmIoY29uc3Qgc3RydWN0IHNuZF9hemYzMzI4ICpjaGlwLCB1bnNpZ25lZCByZWcpCiB7Ci0JcmV0dXJuIGluYihjaGlwLT5pbzJfcG9ydCArIHJlZyk7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgdm9pZAotc25kX2F6ZjMzMjhfbWl4ZXJfb3V0dyhjb25zdCBzdHJ1Y3Qgc25kX2F6ZjMzMjggKmNoaXAsIGludCByZWcsIHUxNiB2YWx1ZSkKLXsKLQlvdXR3KHZhbHVlLCBjaGlwLT5taXhlcl9wb3J0ICsgcmVnKTsKKwlyZXR1cm4gaW5iKGNoaXAtPmdhbWVfaW8gKyByZWcpOwogfQogCiBzdGF0aWMgaW5saW5lIHUxNgotc25kX2F6ZjMzMjhfbWl4ZXJfaW53KGNvbnN0IHN0cnVjdCBzbmRfYXpmMzMyOCAqY2hpcCwgaW50IHJlZykKK3NuZF9hemYzMzI4X2dhbWVfaW53KGNvbnN0IHN0cnVjdCBzbmRfYXpmMzMyOCAqY2hpcCwgdW5zaWduZWQgcmVnKQogewotCXJldHVybiBpbncoY2hpcC0+bWl4ZXJfcG9ydCArIHJlZyk7CisJcmV0dXJuIGludyhjaGlwLT5nYW1lX2lvICsgcmVnKTsKIH0KIAotc3RhdGljIHZvaWQKLXNuZF9hemYzMzI4X21peGVyX3NldF9tdXRlKGNvbnN0IHN0cnVjdCBzbmRfYXpmMzMyOCAqY2hpcCwgaW50IHJlZywgaW50IGRvX211dGUpCitzdGF0aWMgaW5saW5lIHZvaWQKK3NuZF9hemYzMzI4X21peGVyX291dHcoY29uc3Qgc3RydWN0IHNuZF9hemYzMzI4ICpjaGlwLCB1bnNpZ25lZCByZWcsIHUxNiB2YWx1ZSkKIHsKLQl1bnNpZ25lZCBsb25nIHBvcnRiYXNlID0gY2hpcC0+bWl4ZXJfcG9ydCArIHJlZyArIDE7Ci0JdW5zaWduZWQgY2hhciBvbGR2YWw7CisJb3V0dyh2YWx1ZSwgY2hpcC0+bWl4ZXJfaW8gKyByZWcpOworfQorCitzdGF0aWMgaW5saW5lIHUxNgorc25kX2F6ZjMzMjhfbWl4ZXJfaW53KGNvbnN0IHN0cnVjdCBzbmRfYXpmMzMyOCAqY2hpcCwgdW5zaWduZWQgcmVnKQoreworCXJldHVybiBpbncoY2hpcC0+bWl4ZXJfaW8gKyByZWcpOworfQorCisjZGVmaW5lIEFaRl9NVVRFX0JJVCAweDgwCisKK3N0YXRpYyBpbnQKK3NuZF9hemYzMzI4X21peGVyX3NldF9tdXRlKGNvbnN0IHN0cnVjdCBzbmRfYXpmMzMyOCAqY2hpcCwKKwkJCSAgIHVuc2lnbmVkIHJlZywgaW50IGRvX211dGUKKykKK3sKKwl1bnNpZ25lZCBsb25nIHBvcnRiYXNlID0gY2hpcC0+bWl4ZXJfaW8gKyByZWcgKyAxOworCWludCB1cGRhdGVkOwogCiAJLyogdGhlIG11dGUgYml0IGlzIG9uIHRoZSAqc2Vjb25kKiAoaS5lLiByaWdodCkgcmVnaXN0ZXIgb2YgYQogCSAqIGxlZnQvcmlnaHQgY2hhbm5lbCBzZXR0aW5nICovCi0Jb2xkdmFsID0gaW5iKHBvcnRiYXNlKTsKLQlpZiAoZG9fbXV0ZSkKLQkJb2xkdmFsIHw9IDB4ODA7Ci0JZWxzZQotCQlvbGR2YWwgJj0gfjB4ODA7Ci0Jb3V0YihvbGR2YWwsIHBvcnRiYXNlKTsKKwl1cGRhdGVkID0gc25kX2F6ZjMzMjhfaW9fcmVnX3NldGIocG9ydGJhc2UsIEFaRl9NVVRFX0JJVCwgZG9fbXV0ZSk7CisKKwkvKiBpbmRpY2F0ZSB3aGV0aGVyIGl0IHdhcyBtdXRlZCBiZWZvcmUgKi8KKwlyZXR1cm4gKGRvX211dGUpID8gIXVwZGF0ZWQgOiB1cGRhdGVkOwogfQogCiBzdGF0aWMgdm9pZAotc25kX2F6ZjMzMjhfbWl4ZXJfd3JpdGVfdm9sdW1lX2dyYWR1YWxseShjb25zdCBzdHJ1Y3Qgc25kX2F6ZjMzMjggKmNoaXAsIGludCByZWcsIHVuc2lnbmVkIGNoYXIgZHN0X3ZvbF9sZWZ0LCB1bnNpZ25lZCBjaGFyIGRzdF92b2xfcmlnaHQsIGludCBjaGFuX3NlbCwgaW50IGRlbGF5KQorc25kX2F6ZjMzMjhfbWl4ZXJfd3JpdGVfdm9sdW1lX2dyYWR1YWxseShjb25zdCBzdHJ1Y3Qgc25kX2F6ZjMzMjggKmNoaXAsCisJCQkJCSB1bnNpZ25lZCByZWcsCisJCQkJCSB1bnNpZ25lZCBjaGFyIGRzdF92b2xfbGVmdCwKKwkJCQkJIHVuc2lnbmVkIGNoYXIgZHN0X3ZvbF9yaWdodCwKKwkJCQkJIGludCBjaGFuX3NlbCwgaW50IGRlbGF5CispCiB7Ci0JdW5zaWduZWQgbG9uZyBwb3J0YmFzZSA9IGNoaXAtPm1peGVyX3BvcnQgKyByZWc7CisJdW5zaWduZWQgbG9uZyBwb3J0YmFzZSA9IGNoaXAtPm1peGVyX2lvICsgcmVnOwogCXVuc2lnbmVkIGNoYXIgY3Vycl92b2xfbGVmdCA9IDAsIGN1cnJfdm9sX3JpZ2h0ID0gMDsKLQlpbnQgbGVmdF9kb25lID0gMCwgcmlnaHRfZG9uZSA9IDA7Ci0JCisJaW50IGxlZnRfY2hhbmdlID0gMCwgcmlnaHRfY2hhbmdlID0gMDsKKwogCXNuZF9hemYzMzI4X2RiZ2NhbGxlbnRlcigpOwotCWlmIChjaGFuX3NlbCAmIFNFVF9DSEFOX0xFRlQpCisKKwlpZiAoY2hhbl9zZWwgJiBTRVRfQ0hBTl9MRUZUKSB7CiAJCWN1cnJfdm9sX2xlZnQgID0gaW5iKHBvcnRiYXNlICsgMSk7Ci0JZWxzZQotCQlsZWZ0X2RvbmUgPSAxOwotCWlmIChjaGFuX3NlbCAmIFNFVF9DSEFOX1JJR0hUKQorCisJCS8qIHRha2UgY2FyZSBvZiBtdXRpbmcgZmxhZyBjb250YWluZWQgaW4gbGVmdCBjaGFubmVsICovCisJCWlmIChjdXJyX3ZvbF9sZWZ0ICYgQVpGX01VVEVfQklUKQorCQkJZHN0X3ZvbF9sZWZ0IHw9IEFaRl9NVVRFX0JJVDsKKwkJZWxzZQorCQkJZHN0X3ZvbF9sZWZ0ICY9IH5BWkZfTVVURV9CSVQ7CisKKwkJbGVmdF9jaGFuZ2UgPSAoY3Vycl92b2xfbGVmdCA+IGRzdF92b2xfbGVmdCkgPyAtMSA6IDE7CisJfQorCisJaWYgKGNoYW5fc2VsICYgU0VUX0NIQU5fUklHSFQpIHsKIAkJY3Vycl92b2xfcmlnaHQgPSBpbmIocG9ydGJhc2UgKyAwKTsKLQllbHNlCi0JCXJpZ2h0X2RvbmUgPSAxOwotCQotCS8qIHRha2UgY2FyZSBvZiBtdXRpbmcgZmxhZyAoMHg4MCkgY29udGFpbmVkIGluIGxlZnQgY2hhbm5lbCAqLwotCWlmIChjdXJyX3ZvbF9sZWZ0ICYgMHg4MCkKLQkJZHN0X3ZvbF9sZWZ0IHw9IDB4ODA7Ci0JZWxzZQotCQlkc3Rfdm9sX2xlZnQgJj0gfjB4ODA7CisKKwkJcmlnaHRfY2hhbmdlID0gKGN1cnJfdm9sX3JpZ2h0ID4gZHN0X3ZvbF9yaWdodCkgPyAtMSA6IDE7CisJfQogCiAJZG8gewotCQlpZiAoIWxlZnRfZG9uZSkgewotCQkJaWYgKGN1cnJfdm9sX2xlZnQgPiBkc3Rfdm9sX2xlZnQpCi0JCQkJY3Vycl92b2xfbGVmdC0tOwotCQkJZWxzZQotCQkJaWYgKGN1cnJfdm9sX2xlZnQgPCBkc3Rfdm9sX2xlZnQpCi0JCQkJY3Vycl92b2xfbGVmdCsrOwotCQkJZWxzZQotCQkJICAgIGxlZnRfZG9uZSA9IDE7Ci0JCQlvdXRiKGN1cnJfdm9sX2xlZnQsIHBvcnRiYXNlICsgMSk7CisJCWlmIChsZWZ0X2NoYW5nZSkgeworCQkJaWYgKGN1cnJfdm9sX2xlZnQgIT0gZHN0X3ZvbF9sZWZ0KSB7CisJCQkJY3Vycl92b2xfbGVmdCArPSBsZWZ0X2NoYW5nZTsKKwkJCQlvdXRiKGN1cnJfdm9sX2xlZnQsIHBvcnRiYXNlICsgMSk7CisJCQl9IGVsc2UKKwkJCSAgICBsZWZ0X2NoYW5nZSA9IDA7CiAJCX0KLQkJaWYgKCFyaWdodF9kb25lKSB7Ci0JCQlpZiAoY3Vycl92b2xfcmlnaHQgPiBkc3Rfdm9sX3JpZ2h0KQotCQkJCWN1cnJfdm9sX3JpZ2h0LS07Ci0JCQllbHNlCi0JCQlpZiAoY3Vycl92b2xfcmlnaHQgPCBkc3Rfdm9sX3JpZ2h0KQotCQkJCWN1cnJfdm9sX3JpZ2h0Kys7Ci0JCQllbHNlCi0JCQkgICAgcmlnaHRfZG9uZSA9IDE7CisJCWlmIChyaWdodF9jaGFuZ2UpIHsKKwkJCWlmIChjdXJyX3ZvbF9yaWdodCAhPSBkc3Rfdm9sX3JpZ2h0KSB7CisJCQkJY3Vycl92b2xfcmlnaHQgKz0gcmlnaHRfY2hhbmdlOworCiAJCQkvKiBkdXJpbmcgdm9sdW1lIGNoYW5nZSwgdGhlIHJpZ2h0IGNoYW5uZWwgaXMgY3JhY2tsaW5nCiAJCQkgKiBzb21ld2hhdCBtb3JlIHRoYW4gdGhlIGxlZnQgY2hhbm5lbCwgdW5mb3J0dW5hdGVseS4KIAkJCSAqIFRoaXMgc2VlbXMgdG8gYmUgYSBoYXJkd2FyZSBpc3N1ZS4gKi8KLQkJCW91dGIoY3Vycl92b2xfcmlnaHQsIHBvcnRiYXNlICsgMCk7CisJCQkJb3V0YihjdXJyX3ZvbF9yaWdodCwgcG9ydGJhc2UgKyAwKTsKKwkJCX0gZWxzZQorCQkJICAgIHJpZ2h0X2NoYW5nZSA9IDA7CiAJCX0KIAkJaWYgKGRlbGF5KQogCQkJbWRlbGF5KGRlbGF5KTsKLQl9IHdoaWxlICgoIWxlZnRfZG9uZSkgfHwgKCFyaWdodF9kb25lKSk7CisJfSB3aGlsZSAoKGxlZnRfY2hhbmdlKSB8fCAocmlnaHRfY2hhbmdlKSk7CiAJc25kX2F6ZjMzMjhfZGJnY2FsbGxlYXZlKCk7CiB9CiAKQEAgLTM3OSw3ICs0ODEsNyBAQAogICogZ2VuZXJhbCBtaXhlciBlbGVtZW50CiAgKi8KIHN0cnVjdCBhemYzMzI4X21peGVyX3JlZyB7Ci0JdW5zaWduZWQgaW50IHJlZzsKKwl1bnNpZ25lZCByZWc7CiAJdW5zaWduZWQgaW50IGxjaGFuX3NoaWZ0LCByY2hhbl9zaGlmdDsKIAl1bnNpZ25lZCBpbnQgbWFzazsKIAl1bnNpZ25lZCBpbnQgaW52ZXJ0OiAxOwpAQCAtNTQ0LDEzICs2NDYsMTQgQEAKIAkJIk1peCIsICJNaWMiCiAJfTsKIAlzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IHRleHRzM1tdID0gewotICAgICAgICAgICAgICAgICJNaWMiLCAiQ0QiLCAiVmlkZW8iLCAiQXV4IiwKKwkJIk1pYyIsICJDRCIsICJWaWRlbyIsICJBdXgiLAogCQkiTGluZSIsICJNaXgiLCAiTWl4IE1vbm8iLCAiUGhvbmUiCiAgICAgICAgIH07CiAJc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCB0ZXh0czRbXSA9IHsKIAkJInByZSAzRCIsICJwb3N0IDNEIgogICAgICAgICB9OwogCXN0cnVjdCBhemYzMzI4X21peGVyX3JlZyByZWc7CisJY29uc3QgY2hhciAqIGNvbnN0ICpwID0gTlVMTDsKIAogCXNuZF9hemYzMzI4X21peGVyX3JlZ19kZWNvZGUoJnJlZywga2NvbnRyb2wtPnByaXZhdGVfdmFsdWUpOwogICAgICAgICB1aW5mby0+dHlwZSA9IFNORFJWX0NUTF9FTEVNX1RZUEVfRU5VTUVSQVRFRDsKQEAgLTU2MSwxOCArNjY0LDIwIEBACiAJaWYgKHJlZy5yZWcgPT0gSURYX01JWEVSX0FEVkNUTDIpIHsKIAkJc3dpdGNoKHJlZy5sY2hhbl9zaGlmdCkgewogCQljYXNlIDg6IC8qIG1vZGVtIG91dCBzZWwgKi8KLQkJCXN0cmNweSh1aW5mby0+dmFsdWUuZW51bWVyYXRlZC5uYW1lLCB0ZXh0czFbdWluZm8tPnZhbHVlLmVudW1lcmF0ZWQuaXRlbV0pOworCQkJcCA9IHRleHRzMTsKIAkJCWJyZWFrOwogCQljYXNlIDk6IC8qIG1vbm8gc2VsIHNvdXJjZSAqLwotCQkJc3RyY3B5KHVpbmZvLT52YWx1ZS5lbnVtZXJhdGVkLm5hbWUsIHRleHRzMlt1aW5mby0+dmFsdWUuZW51bWVyYXRlZC5pdGVtXSk7CisJCQlwID0gdGV4dHMyOwogCQkJYnJlYWs7CiAJCWNhc2UgMTU6IC8qIFBDTSBPdXQgUGF0aCAqLwotCQkJc3RyY3B5KHVpbmZvLT52YWx1ZS5lbnVtZXJhdGVkLm5hbWUsIHRleHRzNFt1aW5mby0+dmFsdWUuZW51bWVyYXRlZC5pdGVtXSk7CisJCQlwID0gdGV4dHM0OwogCQkJYnJlYWs7CiAJCX0KIAl9IGVsc2UKLSAgICAgICAgCXN0cmNweSh1aW5mby0+dmFsdWUuZW51bWVyYXRlZC5uYW1lLCB0ZXh0czNbdWluZm8tPnZhbHVlLmVudW1lcmF0ZWQuaXRlbV0KLSk7CisJaWYgKHJlZy5yZWcgPT0gSURYX01JWEVSX1JFQ19TRUxFQ1QpCisJCXAgPSB0ZXh0czM7CisKKwlzdHJjcHkodWluZm8tPnZhbHVlLmVudW1lcmF0ZWQubmFtZSwgcFt1aW5mby0+dmFsdWUuZW51bWVyYXRlZC5pdGVtXSk7CiAgICAgICAgIHJldHVybiAwOwogfQogCkBAIC01ODMsNyArNjg4LDcgQEAKICAgICAgICAgc3RydWN0IHNuZF9hemYzMzI4ICpjaGlwID0gc25kX2tjb250cm9sX2NoaXAoa2NvbnRyb2wpOwogCXN0cnVjdCBhemYzMzI4X21peGVyX3JlZyByZWc7CiAgICAgICAgIHVuc2lnbmVkIHNob3J0IHZhbDsKLSAgICAgICAgCisKIAlzbmRfYXpmMzMyOF9taXhlcl9yZWdfZGVjb2RlKCZyZWcsIGtjb250cm9sLT5wcml2YXRlX3ZhbHVlKTsKIAl2YWwgPSBzbmRfYXpmMzMyOF9taXhlcl9pbncoY2hpcCwgcmVnLnJlZyk7CiAJaWYgKHJlZy5yZWcgPT0gSURYX01JWEVSX1JFQ19TRUxFQ1QpIHsKQEAgLTYwNSw3ICs3MTAsNyBAQAogICAgICAgICBzdHJ1Y3Qgc25kX2F6ZjMzMjggKmNoaXAgPSBzbmRfa2NvbnRyb2xfY2hpcChrY29udHJvbCk7CiAJc3RydWN0IGF6ZjMzMjhfbWl4ZXJfcmVnIHJlZzsKIAl1bnNpZ25lZCBpbnQgb3JlZywgbnJlZywgdmFsOwotICAgICAgICAKKwogCXNuZF9hemYzMzI4X21peGVyX3JlZ19kZWNvZGUoJnJlZywga2NvbnRyb2wtPnByaXZhdGVfdmFsdWUpOwogCW9yZWcgPSBzbmRfYXpmMzMyOF9taXhlcl9pbncoY2hpcCwgcmVnLnJlZyk7CiAJdmFsID0gb3JlZzsKQEAgLTYzMSw5ICs3MzYsMTEgQEAKIHN0YXRpYyBzdHJ1Y3Qgc25kX2tjb250cm9sX25ldyBzbmRfYXpmMzMyOF9taXhlcl9jb250cm9sc1tdIF9fZGV2aW5pdGRhdGEgPSB7CiAJQVpGMzMyOF9NSVhFUl9TV0lUQ0goIk1hc3RlciBQbGF5YmFjayBTd2l0Y2giLCBJRFhfTUlYRVJfUExBWV9NQVNURVIsIDE1LCAxKSwKIAlBWkYzMzI4X01JWEVSX1ZPTF9TVEVSRU8oIk1hc3RlciBQbGF5YmFjayBWb2x1bWUiLCBJRFhfTUlYRVJfUExBWV9NQVNURVIsIDB4MWYsIDEpLAotCUFaRjMzMjhfTUlYRVJfU1dJVENIKCJXYXZlIFBsYXliYWNrIFN3aXRjaCIsIElEWF9NSVhFUl9XQVZFT1VULCAxNSwgMSksCi0JQVpGMzMyOF9NSVhFUl9WT0xfU1RFUkVPKCJXYXZlIFBsYXliYWNrIFZvbHVtZSIsIElEWF9NSVhFUl9XQVZFT1VULCAweDFmLCAxKSwKLQlBWkYzMzI4X01JWEVSX1NXSVRDSCgiV2F2ZSAzRCBCeXBhc3MgUGxheWJhY2sgU3dpdGNoIiwgSURYX01JWEVSX0FEVkNUTDIsIDcsIDEpLAorCUFaRjMzMjhfTUlYRVJfU1dJVENIKCJQQ00gUGxheWJhY2sgU3dpdGNoIiwgSURYX01JWEVSX1dBVkVPVVQsIDE1LCAxKSwKKwlBWkYzMzI4X01JWEVSX1ZPTF9TVEVSRU8oIlBDTSBQbGF5YmFjayBWb2x1bWUiLAorCQkJCQlJRFhfTUlYRVJfV0FWRU9VVCwgMHgxZiwgMSksCisJQVpGMzMyOF9NSVhFUl9TV0lUQ0goIlBDTSAzRCBCeXBhc3MgUGxheWJhY2sgU3dpdGNoIiwKKwkJCQkJSURYX01JWEVSX0FEVkNUTDIsIDcsIDEpLAogCUFaRjMzMjhfTUlYRVJfU1dJVENIKCJGTSBQbGF5YmFjayBTd2l0Y2giLCBJRFhfTUlYRVJfRk1TWU5USCwgMTUsIDEpLAogCUFaRjMzMjhfTUlYRVJfVk9MX1NURVJFTygiRk0gUGxheWJhY2sgVm9sdW1lIiwgSURYX01JWEVSX0ZNU1lOVEgsIDB4MWYsIDEpLAogCUFaRjMzMjhfTUlYRVJfU1dJVENIKCJDRCBQbGF5YmFjayBTd2l0Y2giLCBJRFhfTUlYRVJfQ0RBVURJTywgMTUsIDEpLApAQCAtNzE3LDE1ICs4MjQsMTYgQEAKIAlzbmRfYXpmMzMyOF9taXhlcl9vdXR3KGNoaXAsIElEWF9NSVhFUl9SRVNFVCwgMHgwMDAwKTsKIAogCS8qIG11dGUgYW5kIHplcm8gdm9sdW1lIGNoYW5uZWxzICovCi0JZm9yIChpZHggPSAwOyBpZHggPCBBUlJBWV9TSVpFKHNuZF9hemYzMzI4X2luaXRfdmFsdWVzKTsgaWR4KyspIHsKKwlmb3IgKGlkeCA9IDA7IGlkeCA8IEFSUkFZX1NJWkUoc25kX2F6ZjMzMjhfaW5pdF92YWx1ZXMpOyArK2lkeCkgewogCQlzbmRfYXpmMzMyOF9taXhlcl9vdXR3KGNoaXAsCiAJCQlzbmRfYXpmMzMyOF9pbml0X3ZhbHVlc1tpZHhdWzBdLAogCQkJc25kX2F6ZjMzMjhfaW5pdF92YWx1ZXNbaWR4XVsxXSk7CiAJfQotCQorCiAJLyogYWRkIG1peGVyIGNvbnRyb2xzICovCiAJc3cgPSBzbmRfYXpmMzMyOF9taXhlcl9jb250cm9sczsKLQlmb3IgKGlkeCA9IDA7IGlkeCA8IEFSUkFZX1NJWkUoc25kX2F6ZjMzMjhfbWl4ZXJfY29udHJvbHMpOyBpZHgrKywgc3crKykgeworCWZvciAoaWR4ID0gMDsgaWR4IDwgQVJSQVlfU0laRShzbmRfYXpmMzMyOF9taXhlcl9jb250cm9scyk7CisJCQkrK2lkeCwgKytzdykgewogCQlpZiAoKGVyciA9IHNuZF9jdGxfYWRkKGNoaXAtPmNhcmQsIHNuZF9jdGxfbmV3MShzdywgY2hpcCkpKSA8IDApCiAJCQlyZXR1cm4gZXJyOwogCX0KQEAgLTc1Nyw5ICs4NjUsOSBAQAogfQogCiBzdGF0aWMgdm9pZAotc25kX2F6ZjMzMjhfc2V0Zm10KHN0cnVjdCBzbmRfYXpmMzMyOCAqY2hpcCwKLQkJCSAgICAgICB1bnNpZ25lZCBpbnQgcmVnLAotCQkJICAgICAgIHVuc2lnbmVkIGludCBiaXRyYXRlLAorc25kX2F6ZjMzMjhfY29kZWNfc2V0Zm10KHN0cnVjdCBzbmRfYXpmMzMyOCAqY2hpcCwKKwkJCSAgICAgICB1bnNpZ25lZCByZWcsCisJCQkgICAgICAgZW51bSBhemZfZnJlcV90IGJpdHJhdGUsCiAJCQkgICAgICAgdW5zaWduZWQgaW50IGZvcm1hdF93aWR0aCwKIAkJCSAgICAgICB1bnNpZ25lZCBpbnQgY2hhbm5lbHMKICkKQEAgLTc2OSwyNCArODc3LDI1IEBACiAKIAlzbmRfYXpmMzMyOF9kYmdjYWxsZW50ZXIoKTsKIAlzd2l0Y2ggKGJpdHJhdGUpIHsKLQljYXNlICA0MDAwOiB2YWwgfD0gU09VTkRGT1JNQVRfRlJFUV9TVVNQRUNURURfNDAwMDsgYnJlYWs7Ci0JY2FzZSAgNDgwMDogdmFsIHw9IFNPVU5ERk9STUFUX0ZSRVFfU1VTUEVDVEVEXzQ4MDA7IGJyZWFrOwotCWNhc2UgIDU1MTI6IHZhbCB8PSBTT1VOREZPUk1BVF9GUkVRXzU1MTA7IGJyZWFrOyAvKiB0aGUgQVpGMzMyOCBuYW1lcyBpdCAiNTUxMCIgZm9yIHNvbWUgc3RyYW5nZSByZWFzb24gKi8KLQljYXNlICA2NjIwOiB2YWwgfD0gU09VTkRGT1JNQVRfRlJFUV82NjIwOyBicmVhazsKLQljYXNlICA4MDAwOiB2YWwgfD0gU09VTkRGT1JNQVRfRlJFUV84MDAwOyBicmVhazsKLQljYXNlICA5NjAwOiB2YWwgfD0gU09VTkRGT1JNQVRfRlJFUV85NjAwOyBicmVhazsKLQljYXNlIDExMDI1OiB2YWwgfD0gU09VTkRGT1JNQVRfRlJFUV8xMTAyNTsgYnJlYWs7Ci0JY2FzZSAxMzI0MDogdmFsIHw9IFNPVU5ERk9STUFUX0ZSRVFfU1VTUEVDVEVEXzEzMjQwOyBicmVhazsKLQljYXNlIDE2MDAwOiB2YWwgfD0gU09VTkRGT1JNQVRfRlJFUV8xNjAwMDsgYnJlYWs7Ci0JY2FzZSAyMjA1MDogdmFsIHw9IFNPVU5ERk9STUFUX0ZSRVFfMjIwNTA7IGJyZWFrOwotCWNhc2UgMzIwMDA6IHZhbCB8PSBTT1VOREZPUk1BVF9GUkVRXzMyMDAwOyBicmVhazsKLQljYXNlIDQ0MTAwOiB2YWwgfD0gU09VTkRGT1JNQVRfRlJFUV80NDEwMDsgYnJlYWs7Ci0JY2FzZSA0ODAwMDogdmFsIHw9IFNPVU5ERk9STUFUX0ZSRVFfNDgwMDA7IGJyZWFrOwotCWNhc2UgNjYyMDA6IHZhbCB8PSBTT1VOREZPUk1BVF9GUkVRX1NVU1BFQ1RFRF82NjIwMDsgYnJlYWs7CisJY2FzZSBBWkZfRlJFUV80MDAwOiAgdmFsIHw9IFNPVU5ERk9STUFUX0ZSRVFfU1VTUEVDVEVEXzQwMDA7IGJyZWFrOworCWNhc2UgQVpGX0ZSRVFfNDgwMDogIHZhbCB8PSBTT1VOREZPUk1BVF9GUkVRX1NVU1BFQ1RFRF80ODAwOyBicmVhazsKKwljYXNlIEFaRl9GUkVRXzU1MTI6CisJCS8qIHRoZSBBWkYzMzI4IG5hbWVzIGl0ICI1NTEwIiBmb3Igc29tZSBzdHJhbmdlIHJlYXNvbiAqLworCQkJICAgICB2YWwgfD0gU09VTkRGT1JNQVRfRlJFUV81NTEwOyBicmVhazsKKwljYXNlIEFaRl9GUkVRXzY2MjA6ICB2YWwgfD0gU09VTkRGT1JNQVRfRlJFUV82NjIwOyBicmVhazsKKwljYXNlIEFaRl9GUkVRXzgwMDA6ICB2YWwgfD0gU09VTkRGT1JNQVRfRlJFUV84MDAwOyBicmVhazsKKwljYXNlIEFaRl9GUkVRXzk2MDA6ICB2YWwgfD0gU09VTkRGT1JNQVRfRlJFUV85NjAwOyBicmVhazsKKwljYXNlIEFaRl9GUkVRXzExMDI1OiB2YWwgfD0gU09VTkRGT1JNQVRfRlJFUV8xMTAyNTsgYnJlYWs7CisJY2FzZSBBWkZfRlJFUV8xMzI0MDogdmFsIHw9IFNPVU5ERk9STUFUX0ZSRVFfU1VTUEVDVEVEXzEzMjQwOyBicmVhazsKKwljYXNlIEFaRl9GUkVRXzE2MDAwOiB2YWwgfD0gU09VTkRGT1JNQVRfRlJFUV8xNjAwMDsgYnJlYWs7CisJY2FzZSBBWkZfRlJFUV8yMjA1MDogdmFsIHw9IFNPVU5ERk9STUFUX0ZSRVFfMjIwNTA7IGJyZWFrOworCWNhc2UgQVpGX0ZSRVFfMzIwMDA6IHZhbCB8PSBTT1VOREZPUk1BVF9GUkVRXzMyMDAwOyBicmVhazsKIAlkZWZhdWx0OgogCQlzbmRfcHJpbnRrKEtFUk5fV0FSTklORyAidW5rbm93biBiaXRyYXRlICVkLCBhc3N1bWluZyA0NC4xa0h6IVxuIiwgYml0cmF0ZSk7Ci0JCXZhbCB8PSBTT1VOREZPUk1BVF9GUkVRXzQ0MTAwOwotCQlicmVhazsKKwkJLyogZmFsbC10aHJvdWdoICovCisJY2FzZSBBWkZfRlJFUV80NDEwMDogdmFsIHw9IFNPVU5ERk9STUFUX0ZSRVFfNDQxMDA7IGJyZWFrOworCWNhc2UgQVpGX0ZSRVFfNDgwMDA6IHZhbCB8PSBTT1VOREZPUk1BVF9GUkVRXzQ4MDAwOyBicmVhazsKKwljYXNlIEFaRl9GUkVRXzY2MjAwOiB2YWwgfD0gU09VTkRGT1JNQVRfRlJFUV9TVVNQRUNURURfNjYyMDA7IGJyZWFrOwogCX0KIAkvKiB2YWwgPSAweGZmMDc7IDNtMjcuOTkzcyAoNjUzMDFIejsgLT4gNjQwMDBIej8/PykgaG1tLCA2NjEyMCwgNjU5NjcsIDY2MTIzICovCiAJLyogdmFsID0gMHhmZjA5OyAxN20xNS4wOThzICgxMzEyMyw0NzhIejsgLT4gMTIwMDBIej8/PykgaG1tLCAxMzIzNy4ySHo/ICovCkBAIC04MDUsMTAgKzkxNCwxMCBAQAogCQl2YWwgfD0gU09VTkRGT1JNQVRfRkxBR18xNkJJVDsKIAogCXNwaW5fbG9ja19pcnFzYXZlKCZjaGlwLT5yZWdfbG9jaywgZmxhZ3MpOwotCQorCiAJLyogc2V0IGJpdHJhdGUvZm9ybWF0ICovCiAJc25kX2F6ZjMzMjhfY29kZWNfb3V0dyhjaGlwLCByZWcsIHZhbCk7Ci0JCisKIAkvKiBjaGFuZ2luZyB0aGUgYml0cmF0ZS9mb3JtYXQgc2V0dGluZ3Mgc3dpdGNoZXMgb2ZmIHRoZQogCSAqIGF1ZGlvIG91dHB1dCB3aXRoIGFuIGFubm95aW5nIGNsaWNrIGluIGNhc2Ugb2YgOC8xNmJpdCBmb3JtYXQgY2hhbmdlCiAJICogKG1heWJlIHNodXR0aW5nIGRvd24gREFDL0FEQz8pLCB0aHVzIGltbWVkaWF0ZWx5CkBAIC04MzAsMzEgKzkzOSw5NSBAQAogCXNuZF9hemYzMzI4X2RiZ2NhbGxsZWF2ZSgpOwogfQogCitzdGF0aWMgaW5saW5lIHZvaWQKK3NuZF9hemYzMzI4X2NvZGVjX3NldGZtdF9sb3dwb3dlcihzdHJ1Y3Qgc25kX2F6ZjMzMjggKmNoaXAsCisJCQkgICAgdW5zaWduZWQgcmVnCispCit7CisJLyogY2hvb3NlIGxvd2VzdCBmcmVxdWVuY3kgZm9yIGxvdyBwb3dlciBjb25zdW1wdGlvbi4KKwkgKiBXaGlsZSB0aGlzIHdpbGwgY2F1c2UgbG91ZGVyIG5vaXNlIGR1ZSB0byByYXRoZXIgY29hcnNlIGZyZXF1ZW5jeSwKKwkgKiBpdCBzaG91bGQgbmV2ZXIgbWF0dGVyIHNpbmNlIG91dHB1dCBzaG91bGQgYWx3YXlzCisJICogZ2V0IGRpc2FibGVkIHByb3Blcmx5IHdoZW4gaWRsZSBhbnl3YXkuICovCisJc25kX2F6ZjMzMjhfY29kZWNfc2V0Zm10KGNoaXAsIHJlZywgQVpGX0ZSRVFfNDAwMCwgOCwgMSk7Cit9CisKK3N0YXRpYyB2b2lkCitzbmRfYXpmMzMyOF9jb2RlY19yZWdfNkFIX3VwZGF0ZShzdHJ1Y3Qgc25kX2F6ZjMzMjggKmNoaXAsCisJCQkJCXVuc2lnbmVkIGJpdG1hc2ssCisJCQkJCWludCBlbmFibGUKKykKK3sKKwlpZiAoZW5hYmxlKQorCQljaGlwLT5zaGFkb3dfcmVnX2NvZGVjXzZBSCAmPSB+Yml0bWFzazsKKwllbHNlCisJCWNoaXAtPnNoYWRvd19yZWdfY29kZWNfNkFIIHw9IGJpdG1hc2s7CisJc25kX2F6ZjMzMjhfZGJncGxheSgiNkFIX3VwZGF0ZSBtYXNrIDB4JTA0eCBlbmFibGUgJWQ6IHZhbCAweCUwNHhcbiIsCisJCQliaXRtYXNrLCBlbmFibGUsIGNoaXAtPnNoYWRvd19yZWdfY29kZWNfNkFIKTsKKwlzbmRfYXpmMzMyOF9jb2RlY19vdXR3KGNoaXAsIElEWF9JT182QUgsIGNoaXAtPnNoYWRvd19yZWdfY29kZWNfNkFIKTsKK30KKworc3RhdGljIGlubGluZSB2b2lkCitzbmRfYXpmMzMyOF9jb2RlY19lbmFibGUoc3RydWN0IHNuZF9hemYzMzI4ICpjaGlwLCBpbnQgZW5hYmxlKQoreworCXNuZF9hemYzMzI4X2RiZ3BsYXkoImNvZGVjX2VuYWJsZSAlZFxuIiwgZW5hYmxlKTsKKwkvKiBubyBpZGVhIHdoYXQgZXhhY3RseSBpcyBiZWluZyBkb25lIGhlcmUsIGJ1dCBJIHN0cm9uZ2x5IGFzc3VtZSBpdCdzCisJICogUE0gcmVsYXRlZCAqLworCXNuZF9hemYzMzI4X2NvZGVjX3JlZ182QUhfdXBkYXRlKAorCQljaGlwLCBJT182QV9QQVVTRV9QTEFZQkFDS19CSVQ4LCBlbmFibGUKKwkpOworfQorCitzdGF0aWMgdm9pZAorc25kX2F6ZjMzMjhfY29kZWNfYWN0aXZpdHkoc3RydWN0IHNuZF9hemYzMzI4ICpjaGlwLAorCQkJCWVudW0gc25kX2F6ZjMzMjhfc3RyZWFtX2luZGV4IHN0cmVhbV90eXBlLAorCQkJCWludCBlbmFibGUKKykKK3sKKwlpbnQgbmVlZF9jaGFuZ2UgPSAoY2hpcC0+YXVkaW9fc3RyZWFtW3N0cmVhbV90eXBlXS5ydW5uaW5nICE9IGVuYWJsZSk7CisKKwlzbmRfYXpmMzMyOF9kYmdwbGF5KAorCQkiY29kZWNfYWN0aXZpdHk6IHR5cGUgJWQsIGVuYWJsZSAlZCwgbmVlZF9jaGFuZ2UgJWRcbiIsCisJCQkJc3RyZWFtX3R5cGUsIGVuYWJsZSwgbmVlZF9jaGFuZ2UKKwkpOworCWlmIChuZWVkX2NoYW5nZSkgeworCQllbnVtIHNuZF9hemYzMzI4X3N0cmVhbV9pbmRleCBvdGhlciA9CisJCQkoc3RyZWFtX3R5cGUgPT0gQVpGX1BMQVlCQUNLKSA/CisJCQkJQVpGX0NBUFRVUkUgOiBBWkZfUExBWUJBQ0s7CisJCS8qIHNtYWxsIGNoZWNrIHRvIHByZXZlbnQgc2h1dHRpbmcgZG93biB0aGUgb3RoZXIgcGFydHkKKwkJICogaW4gY2FzZSBpdCdzIGFjdGl2ZSAqLworCQlpZiAoKGVuYWJsZSkgfHwgIShjaGlwLT5hdWRpb19zdHJlYW1bb3RoZXJdLnJ1bm5pbmcpKQorCQkJc25kX2F6ZjMzMjhfY29kZWNfZW5hYmxlKGNoaXAsIGVuYWJsZSk7CisKKwkJLyogLi4uYW5kIGFkanVzdCBjbG9jaywgdG9vCisJCSAqIChyZWR1Y2Ugbm9pc2UgYW5kIHBvd2VyIGNvbnN1bXB0aW9uKSAqLworCQlpZiAoIWVuYWJsZSkKKwkJCXNuZF9hemYzMzI4X2NvZGVjX3NldGZtdF9sb3dwb3dlcigKKwkJCQljaGlwLAorCQkJCWNoaXAtPmF1ZGlvX3N0cmVhbVtzdHJlYW1fdHlwZV0ucG9ydGJhc2UKKwkJCQkJKyBJRFhfSU9fUExBWV9TT1VOREZPUk1BVAorCQkJKTsKKwl9CisJY2hpcC0+YXVkaW9fc3RyZWFtW3N0cmVhbV90eXBlXS5ydW5uaW5nID0gZW5hYmxlOworfQorCiBzdGF0aWMgdm9pZAogc25kX2F6ZjMzMjhfc2V0ZG1hYShzdHJ1Y3Qgc25kX2F6ZjMzMjggKmNoaXAsCiAJCQkJbG9uZyB1bnNpZ25lZCBpbnQgYWRkciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IGNvdW50LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgc2l6ZSwKLQkJCQlpbnQgZG9fcmVjb3JkaW5nKQorCQkJCWVudW0gc25kX2F6ZjMzMjhfc3RyZWFtX2luZGV4IHN0cmVhbV90eXBlCispCiB7Ci0JdW5zaWduZWQgbG9uZyBmbGFncywgcG9ydGJhc2U7Ci0JdW5zaWduZWQgaW50IGlzX3J1bm5pbmc7Ci0KIAlzbmRfYXpmMzMyOF9kYmdjYWxsZW50ZXIoKTsKLQlpZiAoZG9fcmVjb3JkaW5nKSB7Ci0JCS8qIGFjY2VzcyBjYXB0dXJlIHJlZ2lzdGVycywgaS5lLiBza2lwIHBsYXliYWNrIHJlZyBzZWN0aW9uICovCi0JCXBvcnRiYXNlID0gY2hpcC0+Y29kZWNfcG9ydCArIDB4MjA7Ci0JCWlzX3J1bm5pbmcgPSBjaGlwLT5pc19yZWNvcmRpbmc7Ci0JfSBlbHNlIHsKLQkJLyogYWNjZXNzIHRoZSBwbGF5YmFjayByZWdpc3RlciBzZWN0aW9uICovCi0JCXBvcnRiYXNlID0gY2hpcC0+Y29kZWNfcG9ydCArIDB4MDA7Ci0JCWlzX3J1bm5pbmcgPSBjaGlwLT5pc19wbGF5aW5nOwotCX0KKwlpZiAoIWNoaXAtPmF1ZGlvX3N0cmVhbVtzdHJlYW1fdHlwZV0ucnVubmluZykgeworCQkvKiBBWkYzMzI4IHVzZXMgYSB0d28gYnVmZmVyIHBvaW50ZXIgRE1BIHBsYXliYWNrIGFwcHJvYWNoICovCiAKLQkvKiBBWkYzMzI4IHVzZXMgYSB0d28gYnVmZmVyIHBvaW50ZXIgRE1BIHBsYXliYWNrIGFwcHJvYWNoICovCi0JaWYgKCFpc19ydW5uaW5nKSB7Ci0JCXVuc2lnbmVkIGxvbmcgYWRkcl9hcmVhMjsKLQkJdW5zaWduZWQgbG9uZyBjb3VudF9hcmVhcywgY291bnRfdG1wOyAvKiB3aWR0aCAzMmJpdCAtLSBvdmVyZmxvdyEhICovCisJCXVuc2lnbmVkIGxvbmcgZmxhZ3MsIHBvcnRiYXNlLCBhZGRyX2FyZWEyOworCisJCS8qIHdpZHRoIDMyYml0IChwcmV2ZW50IG92ZXJmbG93KTogKi8KKwkJdW5zaWduZWQgbG9uZyBjb3VudF9hcmVhcywgY291bnRfdG1wOworCisJCXBvcnRiYXNlID0gY2hpcC0+YXVkaW9fc3RyZWFtW3N0cmVhbV90eXBlXS5wb3J0YmFzZTsKIAkJY291bnRfYXJlYXMgPSBzaXplLzI7CiAJCWFkZHJfYXJlYTIgPSBhZGRyK2NvdW50X2FyZWFzOwogCQljb3VudF9hcmVhcy0tOyAvKiBtYXguIGluZGV4ICovCkBAIC04ODQsMTEgKzEwNTcsMTEgQEAKIAogCXNuZF9hemYzMzI4X2RiZ2NhbGxlbnRlcigpOwogI2lmIDAKLQlzbmRfYXpmMzMyOF9zZXRmbXQoY2hpcCwgSURYX0lPX1BMQVlfU09VTkRGT1JNQVQsCisJc25kX2F6ZjMzMjhfY29kZWNfc2V0Zm10KGNoaXAsIElEWF9JT19QTEFZX1NPVU5ERk9STUFULAogCQlydW50aW1lLT5yYXRlLAogCQlzbmRfcGNtX2Zvcm1hdF93aWR0aChydW50aW1lLT5mb3JtYXQpLAogCQlydW50aW1lLT5jaGFubmVscyk7Ci0Jc25kX2F6ZjMzMjhfc2V0ZG1hYShjaGlwLCBydW50aW1lLT5kbWFfYWRkciwgY291bnQsIHNpemUsIDApOworCXNuZF9hemYzMzI4X3NldGRtYWEoY2hpcCwgcnVudGltZS0+ZG1hX2FkZHIsIGNvdW50LCBzaXplLCBBWkZfUExBWUJBQ0spOwogI2VuZGlmCiAJc25kX2F6ZjMzMjhfZGJnY2FsbGxlYXZlKCk7CiAJcmV0dXJuIDA7CkBAIC05MDYsMTEgKzEwNzksMTEgQEAKIAogCXNuZF9hemYzMzI4X2RiZ2NhbGxlbnRlcigpOwogI2lmIDAKLQlzbmRfYXpmMzMyOF9zZXRmbXQoY2hpcCwgSURYX0lPX1JFQ19TT1VOREZPUk1BVCwKKwlzbmRfYXpmMzMyOF9jb2RlY19zZXRmbXQoY2hpcCwgSURYX0lPX1JFQ19TT1VOREZPUk1BVCwKIAkJcnVudGltZS0+cmF0ZSwKIAkJc25kX3BjbV9mb3JtYXRfd2lkdGgocnVudGltZS0+Zm9ybWF0KSwKIAkJcnVudGltZS0+Y2hhbm5lbHMpOwotCXNuZF9hemYzMzI4X3NldGRtYWEoY2hpcCwgcnVudGltZS0+ZG1hX2FkZHIsIGNvdW50LCBzaXplLCAxKTsKKwlzbmRfYXpmMzMyOF9zZXRkbWFhKGNoaXAsIHJ1bnRpbWUtPmRtYV9hZGRyLCBjb3VudCwgc2l6ZSwgQVpGX0NBUFRVUkUpOwogI2VuZGlmCiAJc25kX2F6ZjMzMjhfZGJnY2FsbGxlYXZlKCk7CiAJcmV0dXJuIDA7CkBAIC05MjMsNiArMTA5Niw3IEBACiAJc3RydWN0IHNuZF9wY21fcnVudGltZSAqcnVudGltZSA9IHN1YnN0cmVhbS0+cnVudGltZTsKIAlpbnQgcmVzdWx0ID0gMDsKIAl1bnNpZ25lZCBpbnQgc3RhdHVzMTsKKwlpbnQgcHJldmlvdXNseV9tdXRlZDsKIAogCXNuZF9hemYzMzI4X2RiZ2NhbGxzKCJzbmRfYXpmMzMyOF9wbGF5YmFja190cmlnZ2VyIGNtZCAlZFxuIiwgY21kKTsKIApAQCAtOTMwLDIwICsxMTA0LDIzIEBACiAJY2FzZSBTTkRSVl9QQ01fVFJJR0dFUl9TVEFSVDoKIAkJc25kX2F6ZjMzMjhfZGJncGxheSgiU1RBUlQgUExBWUJBQ0tcbiIpOwogCi0JCS8qIG11dGUgV2F2ZU91dCAqLwotCQlzbmRfYXpmMzMyOF9taXhlcl9zZXRfbXV0ZShjaGlwLCBJRFhfTUlYRVJfV0FWRU9VVCwgMSk7CisJCS8qIG11dGUgV2F2ZU91dCAoYXZvaWQgY2xpY2tpbmcgZHVyaW5nIHNldHVwKSAqLworCQlwcmV2aW91c2x5X211dGVkID0KKwkJCXNuZF9hemYzMzI4X21peGVyX3NldF9tdXRlKGNoaXAsIElEWF9NSVhFUl9XQVZFT1VULCAxKTsKIAotCQlzbmRfYXpmMzMyOF9zZXRmbXQoY2hpcCwgSURYX0lPX1BMQVlfU09VTkRGT1JNQVQsCisJCXNuZF9hemYzMzI4X2NvZGVjX3NldGZtdChjaGlwLCBJRFhfSU9fUExBWV9TT1VOREZPUk1BVCwKIAkJCXJ1bnRpbWUtPnJhdGUsCiAJCQlzbmRfcGNtX2Zvcm1hdF93aWR0aChydW50aW1lLT5mb3JtYXQpLAogCQkJcnVudGltZS0+Y2hhbm5lbHMpOwogCiAJCXNwaW5fbG9jaygmY2hpcC0+cmVnX2xvY2spOwotCQkvKiBzdG9wIHBsYXliYWNrICovCisJCS8qIGZpcnN0LCByZW1lbWJlciBjdXJyZW50IHZhbHVlOiAqLwogCQlzdGF0dXMxID0gc25kX2F6ZjMzMjhfY29kZWNfaW53KGNoaXAsIElEWF9JT19QTEFZX0ZMQUdTKTsKKworCQkvKiBzdG9wIHBsYXliYWNrICovCiAJCXN0YXR1czEgJj0gfkRNQV9SRVNVTUU7CiAJCXNuZF9hemYzMzI4X2NvZGVjX291dHcoY2hpcCwgSURYX0lPX1BMQVlfRkxBR1MsIHN0YXR1czEpOwotCSAgICAKKwogCQkvKiBGSVhNRTogY2xlYXIgaW50ZXJydXB0cyBvciB3aGF0Pz8/ICovCiAJCXNuZF9hemYzMzI4X2NvZGVjX291dHcoY2hpcCwgSURYX0lPX1BMQVlfSVJRVFlQRSwgMHhmZmZmKTsKIAkJc3Bpbl91bmxvY2soJmNoaXAtPnJlZ19sb2NrKTsKQEAgLTk1MSw3ICsxMTI4LDcgQEAKIAkJc25kX2F6ZjMzMjhfc2V0ZG1hYShjaGlwLCBydW50aW1lLT5kbWFfYWRkciwKIAkJCXNuZF9wY21fbGliX3BlcmlvZF9ieXRlcyhzdWJzdHJlYW0pLAogCQkJc25kX3BjbV9saWJfYnVmZmVyX2J5dGVzKHN1YnN0cmVhbSksCi0JCQkwKTsKKwkJCUFaRl9QTEFZQkFDSyk7CiAKIAkJc3Bpbl9sb2NrKCZjaGlwLT5yZWdfbG9jayk7CiAjaWZkZWYgV0lOOVgKQEAgLTk3OCwzMCArMTE1NSwzNSBAQAogCQkJRE1BX1NPTUVUSElOR19FTFNFKTsKICNlbmRpZgogCQlzcGluX3VubG9jaygmY2hpcC0+cmVnX2xvY2spOworCQlzbmRfYXpmMzMyOF9jb2RlY19hY3Rpdml0eShjaGlwLCBBWkZfUExBWUJBQ0ssIDEpOwogCiAJCS8qIG5vdyB1bm11dGUgV2F2ZU91dCAqLwotCQlzbmRfYXpmMzMyOF9taXhlcl9zZXRfbXV0ZShjaGlwLCBJRFhfTUlYRVJfV0FWRU9VVCwgMCk7CisJCWlmICghcHJldmlvdXNseV9tdXRlZCkKKwkJCXNuZF9hemYzMzI4X21peGVyX3NldF9tdXRlKGNoaXAsIElEWF9NSVhFUl9XQVZFT1VULCAwKTsKIAotCQljaGlwLT5pc19wbGF5aW5nID0gMTsKIAkJc25kX2F6ZjMzMjhfZGJncGxheSgiU1RBUlRFRCBQTEFZQkFDS1xuIik7CiAJCWJyZWFrOwogCWNhc2UgU05EUlZfUENNX1RSSUdHRVJfUkVTVU1FOgogCQlzbmRfYXpmMzMyOF9kYmdwbGF5KCJSRVNVTUUgUExBWUJBQ0tcbiIpOwogCQkvKiByZXN1bWUgcGxheWJhY2sgaWYgd2Ugd2VyZSBhY3RpdmUgKi8KLQkJaWYgKGNoaXAtPmlzX3BsYXlpbmcpCisJCXNwaW5fbG9jaygmY2hpcC0+cmVnX2xvY2spOworCQlpZiAoY2hpcC0+YXVkaW9fc3RyZWFtW0FaRl9QTEFZQkFDS10ucnVubmluZykKIAkJCXNuZF9hemYzMzI4X2NvZGVjX291dHcoY2hpcCwgSURYX0lPX1BMQVlfRkxBR1MsCiAJCQkJc25kX2F6ZjMzMjhfY29kZWNfaW53KGNoaXAsIElEWF9JT19QTEFZX0ZMQUdTKSB8IERNQV9SRVNVTUUpOworCQlzcGluX3VubG9jaygmY2hpcC0+cmVnX2xvY2spOwogCQlicmVhazsKIAljYXNlIFNORFJWX1BDTV9UUklHR0VSX1NUT1A6CiAJCXNuZF9hemYzMzI4X2RiZ3BsYXkoIlNUT1AgUExBWUJBQ0tcbiIpOwogCi0JCS8qIG11dGUgV2F2ZU91dCAqLwotCQlzbmRfYXpmMzMyOF9taXhlcl9zZXRfbXV0ZShjaGlwLCBJRFhfTUlYRVJfV0FWRU9VVCwgMSk7CisJCS8qIG11dGUgV2F2ZU91dCAoYXZvaWQgY2xpY2tpbmcgZHVyaW5nIHNldHVwKSAqLworCQlwcmV2aW91c2x5X211dGVkID0KKwkJCXNuZF9hemYzMzI4X21peGVyX3NldF9tdXRlKGNoaXAsIElEWF9NSVhFUl9XQVZFT1VULCAxKTsKIAogCQlzcGluX2xvY2soJmNoaXAtPnJlZ19sb2NrKTsKLQkJLyogc3RvcCBwbGF5YmFjayAqLworCQkvKiBmaXJzdCwgcmVtZW1iZXIgY3VycmVudCB2YWx1ZTogKi8KIAkJc3RhdHVzMSA9IHNuZF9hemYzMzI4X2NvZGVjX2ludyhjaGlwLCBJRFhfSU9fUExBWV9GTEFHUyk7CiAKKwkJLyogc3RvcCBwbGF5YmFjayAqLwogCQlzdGF0dXMxICY9IH5ETUFfUkVTVU1FOwogCQlzbmRfYXpmMzMyOF9jb2RlY19vdXR3KGNoaXAsIElEWF9JT19QTEFZX0ZMQUdTLCBzdGF0dXMxKTsKIApAQCAtMTAxMywxMCArMTE5NSwxMiBAQAogCQlzdGF0dXMxICY9IH5ETUFfUExBWV9TT01FVEhJTkcxOwogCQlzbmRfYXpmMzMyOF9jb2RlY19vdXR3KGNoaXAsIElEWF9JT19QTEFZX0ZMQUdTLCBzdGF0dXMxKTsKIAkJc3Bpbl91bmxvY2soJmNoaXAtPnJlZ19sb2NrKTsKLQkgICAgCisJCXNuZF9hemYzMzI4X2NvZGVjX2FjdGl2aXR5KGNoaXAsIEFaRl9QTEFZQkFDSywgMCk7CisKIAkJLyogbm93IHVubXV0ZSBXYXZlT3V0ICovCi0JCXNuZF9hemYzMzI4X21peGVyX3NldF9tdXRlKGNoaXAsIElEWF9NSVhFUl9XQVZFT1VULCAwKTsKLQkJY2hpcC0+aXNfcGxheWluZyA9IDA7CisJCWlmICghcHJldmlvdXNseV9tdXRlZCkKKwkJCXNuZF9hemYzMzI4X21peGVyX3NldF9tdXRlKGNoaXAsIElEWF9NSVhFUl9XQVZFT1VULCAwKTsKKwogCQlzbmRfYXpmMzMyOF9kYmdwbGF5KCJTVE9QUEVEIFBMQVlCQUNLXG4iKTsKIAkJYnJlYWs7CiAJY2FzZSBTTkRSVl9QQ01fVFJJR0dFUl9TVVNQRU5EOgpAQCAtMTAzNSw3ICsxMjE5LDcgQEAKIAkJcHJpbnRrKEtFUk5fRVJSICJGSVhNRTogdW5rbm93biB0cmlnZ2VyIG1vZGUhXG4iKTsKICAgICAgICAgICAgICAgICByZXR1cm4gLUVJTlZBTDsKIAl9Ci0JCisKIAlzbmRfYXpmMzMyOF9kYmdjYWxsbGVhdmUoKTsKIAlyZXR1cm4gcmVzdWx0OwogfQpAQCAtMTA1NywxNyArMTI0MSwxOSBAQAogCiAJCXNuZF9hemYzMzI4X2RiZ3BsYXkoIlNUQVJUIENBUFRVUkVcbiIpOwogCi0JCXNuZF9hemYzMzI4X3NldGZtdChjaGlwLCBJRFhfSU9fUkVDX1NPVU5ERk9STUFULAorCQlzbmRfYXpmMzMyOF9jb2RlY19zZXRmbXQoY2hpcCwgSURYX0lPX1JFQ19TT1VOREZPUk1BVCwKIAkJCXJ1bnRpbWUtPnJhdGUsCiAJCQlzbmRfcGNtX2Zvcm1hdF93aWR0aChydW50aW1lLT5mb3JtYXQpLAogCQkJcnVudGltZS0+Y2hhbm5lbHMpOwogCiAJCXNwaW5fbG9jaygmY2hpcC0+cmVnX2xvY2spOwotCQkvKiBzdG9wIHJlY29yZGluZyAqLworCQkvKiBmaXJzdCwgcmVtZW1iZXIgY3VycmVudCB2YWx1ZTogKi8KIAkJc3RhdHVzMSA9IHNuZF9hemYzMzI4X2NvZGVjX2ludyhjaGlwLCBJRFhfSU9fUkVDX0ZMQUdTKTsKKworCQkvKiBzdG9wIHJlY29yZGluZyAqLwogCQlzdGF0dXMxICY9IH5ETUFfUkVTVU1FOwogCQlzbmRfYXpmMzMyOF9jb2RlY19vdXR3KGNoaXAsIElEWF9JT19SRUNfRkxBR1MsIHN0YXR1czEpOwotCSAgICAKKwogCQkvKiBGSVhNRTogY2xlYXIgaW50ZXJydXB0cyBvciB3aGF0Pz8/ICovCiAJCXNuZF9hemYzMzI4X2NvZGVjX291dHcoY2hpcCwgSURYX0lPX1JFQ19JUlFUWVBFLCAweGZmZmYpOwogCQlzcGluX3VubG9jaygmY2hpcC0+cmVnX2xvY2spOwpAQCAtMTA3NSw3ICsxMjYxLDcgQEAKIAkJc25kX2F6ZjMzMjhfc2V0ZG1hYShjaGlwLCBydW50aW1lLT5kbWFfYWRkciwKIAkJCXNuZF9wY21fbGliX3BlcmlvZF9ieXRlcyhzdWJzdHJlYW0pLAogCQkJc25kX3BjbV9saWJfYnVmZmVyX2J5dGVzKHN1YnN0cmVhbSksCi0JCQkxKTsKKwkJCUFaRl9DQVBUVVJFKTsKIAogCQlzcGluX2xvY2soJmNoaXAtPnJlZ19sb2NrKTsKICNpZmRlZiBXSU45WApAQCAtMTEwMiwyNCArMTI4OCwyNyBAQAogCQkJRE1BX1NPTUVUSElOR19FTFNFKTsKICNlbmRpZgogCQlzcGluX3VubG9jaygmY2hpcC0+cmVnX2xvY2spOworCQlzbmRfYXpmMzMyOF9jb2RlY19hY3Rpdml0eShjaGlwLCBBWkZfQ0FQVFVSRSwgMSk7CiAKLQkJY2hpcC0+aXNfcmVjb3JkaW5nID0gMTsKIAkJc25kX2F6ZjMzMjhfZGJncGxheSgiU1RBUlRFRCBDQVBUVVJFXG4iKTsKIAkJYnJlYWs7CiAJY2FzZSBTTkRSVl9QQ01fVFJJR0dFUl9SRVNVTUU6CiAJCXNuZF9hemYzMzI4X2RiZ3BsYXkoIlJFU1VNRSBDQVBUVVJFXG4iKTsKIAkJLyogcmVzdW1lIHJlY29yZGluZyBpZiB3ZSB3ZXJlIGFjdGl2ZSAqLwotCQlpZiAoY2hpcC0+aXNfcmVjb3JkaW5nKQorCQlzcGluX2xvY2soJmNoaXAtPnJlZ19sb2NrKTsKKwkJaWYgKGNoaXAtPmF1ZGlvX3N0cmVhbVtBWkZfQ0FQVFVSRV0ucnVubmluZykKIAkJCXNuZF9hemYzMzI4X2NvZGVjX291dHcoY2hpcCwgSURYX0lPX1JFQ19GTEFHUywKIAkJCQlzbmRfYXpmMzMyOF9jb2RlY19pbncoY2hpcCwgSURYX0lPX1JFQ19GTEFHUykgfCBETUFfUkVTVU1FKTsKKwkJc3Bpbl91bmxvY2soJmNoaXAtPnJlZ19sb2NrKTsKIAkJYnJlYWs7CiAgICAgICAgIGNhc2UgU05EUlZfUENNX1RSSUdHRVJfU1RPUDoKIAkJc25kX2F6ZjMzMjhfZGJncGxheSgiU1RPUCBDQVBUVVJFXG4iKTsKIAogCQlzcGluX2xvY2soJmNoaXAtPnJlZ19sb2NrKTsKLQkJLyogc3RvcCByZWNvcmRpbmcgKi8KKwkJLyogZmlyc3QsIHJlbWVtYmVyIGN1cnJlbnQgdmFsdWU6ICovCiAJCXN0YXR1czEgPSBzbmRfYXpmMzMyOF9jb2RlY19pbncoY2hpcCwgSURYX0lPX1JFQ19GTEFHUyk7CiAKKwkJLyogc3RvcCByZWNvcmRpbmcgKi8KIAkJc3RhdHVzMSAmPSB+RE1BX1JFU1VNRTsKIAkJc25kX2F6ZjMzMjhfY29kZWNfb3V0dyhjaGlwLCBJRFhfSU9fUkVDX0ZMQUdTLCBzdGF0dXMxKTsKIApAQCAtMTEyOSw4ICsxMzE4LDggQEAKIAkJc3RhdHVzMSAmPSB+RE1BX1BMQVlfU09NRVRISU5HMTsKIAkJc25kX2F6ZjMzMjhfY29kZWNfb3V0dyhjaGlwLCBJRFhfSU9fUkVDX0ZMQUdTLCBzdGF0dXMxKTsKIAkJc3Bpbl91bmxvY2soJmNoaXAtPnJlZ19sb2NrKTsKLQkgICAgCi0JCWNoaXAtPmlzX3JlY29yZGluZyA9IDA7CisJCXNuZF9hemYzMzI4X2NvZGVjX2FjdGl2aXR5KGNoaXAsIEFaRl9DQVBUVVJFLCAwKTsKKwogCQlzbmRfYXpmMzMyOF9kYmdwbGF5KCJTVE9QUEVEIENBUFRVUkVcbiIpOwogCQlicmVhazsKIAljYXNlIFNORFJWX1BDTV9UUklHR0VSX1NVU1BFTkQ6CkBAIC0xMTQ5LDcgKzEzMzgsNyBAQAogCQlwcmludGsoS0VSTl9FUlIgIkZJWE1FOiB1bmtub3duIHRyaWdnZXIgbW9kZSFcbiIpOwogICAgICAgICAgICAgICAgIHJldHVybiAtRUlOVkFMOwogCX0KLQkKKwogCXNuZF9hemYzMzI4X2RiZ2NhbGxsZWF2ZSgpOwogCXJldHVybiByZXN1bHQ7CiB9CkBAIC0xMTYyLDExICsxMzUxLDExIEBACiAJc25kX3BjbV91ZnJhbWVzX3QgZnJtcmVzOwogCiAjaWZkZWYgUVVFUllfSEFSRFdBUkUKLQlidWZwdHIgPSBpbmwoY2hpcC0+Y29kZWNfcG9ydCtJRFhfSU9fUExBWV9ETUFfU1RBUlRfMSk7CisJYnVmcHRyID0gc25kX2F6ZjMzMjhfY29kZWNfaW5sKGNoaXAsIElEWF9JT19QTEFZX0RNQV9TVEFSVF8xKTsKICNlbHNlCiAJYnVmcHRyID0gc3Vic3RyZWFtLT5ydW50aW1lLT5kbWFfYWRkcjsKICNlbmRpZgotCXJlc3VsdCA9IGlubChjaGlwLT5jb2RlY19wb3J0K0lEWF9JT19QTEFZX0RNQV9DVVJSUE9TKTsKKwlyZXN1bHQgPSBzbmRfYXpmMzMyOF9jb2RlY19pbmwoY2hpcCwgSURYX0lPX1BMQVlfRE1BX0NVUlJQT1MpOwogCiAJLyogY2FsY3VsYXRlIG9mZnNldCAqLwogCXJlc3VsdCAtPSBidWZwdHI7CkBAIC0xMTgzLDExICsxMzcyLDExIEBACiAJc25kX3BjbV91ZnJhbWVzX3QgZnJtcmVzOwogCiAjaWZkZWYgUVVFUllfSEFSRFdBUkUKLQlidWZwdHIgPSBpbmwoY2hpcC0+Y29kZWNfcG9ydCtJRFhfSU9fUkVDX0RNQV9TVEFSVF8xKTsKKwlidWZwdHIgPSBzbmRfYXpmMzMyOF9jb2RlY19pbmwoY2hpcCwgSURYX0lPX1JFQ19ETUFfU1RBUlRfMSk7CiAjZWxzZQogCWJ1ZnB0ciA9IHN1YnN0cmVhbS0+cnVudGltZS0+ZG1hX2FkZHI7CiAjZW5kaWYKLQlyZXN1bHQgPSBpbmwoY2hpcC0+Y29kZWNfcG9ydCtJRFhfSU9fUkVDX0RNQV9DVVJSUE9TKTsKKwlyZXN1bHQgPSBzbmRfYXpmMzMyOF9jb2RlY19pbmwoY2hpcCwgSURYX0lPX1JFQ19ETUFfQ1VSUlBPUyk7CiAKIAkvKiBjYWxjdWxhdGUgb2Zmc2V0ICovCiAJcmVzdWx0IC09IGJ1ZnB0cjsKQEAgLTExOTYsMjcgKzEzODUsMjQxIEBACiAJcmV0dXJuIGZybXJlczsKIH0KIAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2lmZGVmIFNVUFBPUlRfR0FNRVBPUlQKK3N0YXRpYyBpbmxpbmUgdm9pZAorc25kX2F6ZjMzMjhfZ2FtZXBvcnRfaXJxX2VuYWJsZShzdHJ1Y3Qgc25kX2F6ZjMzMjggKmNoaXAsIGludCBlbmFibGUpCit7CisJc25kX2F6ZjMzMjhfaW9fcmVnX3NldGIoCisJCWNoaXAtPmdhbWVfaW8rSURYX0dBTUVfSFdDT05GSUcsCisJCUdBTUVfSFdDRkdfSVJRX0VOQUJMRSwKKwkJZW5hYmxlCisJKTsKK30KKworc3RhdGljIGlubGluZSB2b2lkCitzbmRfYXpmMzMyOF9nYW1lcG9ydF9sZWdhY3lfYWRkcmVzc19lbmFibGUoc3RydWN0IHNuZF9hemYzMzI4ICpjaGlwLCBpbnQgZW5hYmxlKQoreworCXNuZF9hemYzMzI4X2lvX3JlZ19zZXRiKAorCQljaGlwLT5nYW1lX2lvK0lEWF9HQU1FX0hXQ09ORklHLAorCQlHQU1FX0hXQ0ZHX0xFR0FDWV9BRERSRVNTX0VOQUJMRSwKKwkJZW5hYmxlCisJKTsKK30KKworc3RhdGljIGlubGluZSB2b2lkCitzbmRfYXpmMzMyOF9nYW1lcG9ydF9heGlzX2NpcmN1aXRfZW5hYmxlKHN0cnVjdCBzbmRfYXpmMzMyOCAqY2hpcCwgaW50IGVuYWJsZSkKK3sKKwlzbmRfYXpmMzMyOF9jb2RlY19yZWdfNkFIX3VwZGF0ZSgKKwkJY2hpcCwgSU9fNkFfU09NRVRISU5HMl9HQU1FUE9SVCwgZW5hYmxlCisJKTsKK30KKworc3RhdGljIGlubGluZSB2b2lkCitzbmRfYXpmMzMyOF9nYW1lcG9ydF9pbnRlcnJ1cHQoc3RydWN0IHNuZF9hemYzMzI4ICpjaGlwKQoreworCS8qCisJICogc2tlbGV0b24gaGFuZGxlciBvbmx5CisJICogKHdlIGRvIG5vdCB3YW50IGF4aXMgcmVhZGluZyBpbiBpbnRlcnJ1cHQgaGFuZGxlciAtIHRvbyBtdWNoIGxvYWQhKQorCSAqLworCXNuZF9hemYzMzI4X2RiZ2dhbWUoImdhbWVwb3J0IGlycVxuIik7CisKKwkgLyogdGhpcyBzaG91bGQgQUNLIHRoZSBnYW1lcG9ydCBJUlEgcHJvcGVybHksIGhvcGVmdWxseS4gKi8KKwlzbmRfYXpmMzMyOF9nYW1lX2ludyhjaGlwLCBJRFhfR0FNRV9BWElTX1ZBTFVFKTsKK30KKworc3RhdGljIGludAorc25kX2F6ZjMzMjhfZ2FtZXBvcnRfb3BlbihzdHJ1Y3QgZ2FtZXBvcnQgKmdhbWVwb3J0LCBpbnQgbW9kZSkKK3sKKwlzdHJ1Y3Qgc25kX2F6ZjMzMjggKmNoaXAgPSBnYW1lcG9ydF9nZXRfcG9ydF9kYXRhKGdhbWVwb3J0KTsKKwlpbnQgcmVzOworCisJc25kX2F6ZjMzMjhfZGJnZ2FtZSgiZ2FtZXBvcnRfb3BlbiwgbW9kZSAlZFxuIiwgbW9kZSk7CisJc3dpdGNoIChtb2RlKSB7CisJY2FzZSBHQU1FUE9SVF9NT0RFX0NPT0tFRDoKKwljYXNlIEdBTUVQT1JUX01PREVfUkFXOgorCQlyZXMgPSAwOworCQlicmVhazsKKwlkZWZhdWx0OgorCQlyZXMgPSAtMTsKKwkJYnJlYWs7CisJfQorCisJc25kX2F6ZjMzMjhfZ2FtZXBvcnRfYXhpc19jaXJjdWl0X2VuYWJsZShjaGlwLCAocmVzID09IDApKTsKKworCXJldHVybiByZXM7Cit9CisKK3N0YXRpYyB2b2lkCitzbmRfYXpmMzMyOF9nYW1lcG9ydF9jbG9zZShzdHJ1Y3QgZ2FtZXBvcnQgKmdhbWVwb3J0KQoreworCXN0cnVjdCBzbmRfYXpmMzMyOCAqY2hpcCA9IGdhbWVwb3J0X2dldF9wb3J0X2RhdGEoZ2FtZXBvcnQpOworCisJc25kX2F6ZjMzMjhfZGJnZ2FtZSgiZ2FtZXBvcnRfY2xvc2VcbiIpOworCXNuZF9hemYzMzI4X2dhbWVwb3J0X2F4aXNfY2lyY3VpdF9lbmFibGUoY2hpcCwgMCk7Cit9CisKK3N0YXRpYyBpbnQKK3NuZF9hemYzMzI4X2dhbWVwb3J0X2Nvb2tlZF9yZWFkKHN0cnVjdCBnYW1lcG9ydCAqZ2FtZXBvcnQsCisJCQkJIGludCAqYXhlcywKKwkJCQkgaW50ICpidXR0b25zCispCit7CisJc3RydWN0IHNuZF9hemYzMzI4ICpjaGlwID0gZ2FtZXBvcnRfZ2V0X3BvcnRfZGF0YShnYW1lcG9ydCk7CisJaW50IGk7CisJdTggdmFsOworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisKKwlzbmRfYXNzZXJ0KGNoaXAsIHJldHVybiAwKTsKKworCXNwaW5fbG9ja19pcnFzYXZlKCZjaGlwLT5yZWdfbG9jaywgZmxhZ3MpOworCXZhbCA9IHNuZF9hemYzMzI4X2dhbWVfaW5iKGNoaXAsIElEWF9HQU1FX0xFR0FDWV9DT01QQVRJQkxFKTsKKwkqYnV0dG9ucyA9ICh+KHZhbCkgPj4gNCkgJiAweGY7CisKKwkvKiBvaywgdGhpcyBvbmUgaXMgYSBiaXQgZGlydHk6IGNvb2tlZF9yZWFkIGlzIGJlaW5nIHBvbGxlZCBieSBhIHRpbWVyLAorCSAqIHRodXMgd2UncmUgYXRvbWljIGFuZCBjYW5ub3QgYWN0aXZlbHkgd2FpdCBpbiBoZXJlCisJICogKHdoaWNoIHdvdWxkIGJlIHVzZWZ1bCBmb3IgdXMgc2luY2UgaXQgcHJvYmFibHkgd291bGQgYmUgYmV0dGVyCisJICogdG8gdHJpZ2dlciBhIG1lYXN1cmVtZW50IGluIGhlcmUsIHRoZW4gd2FpdCBhIHNob3J0IGFtb3VudCBvZgorCSAqIHRpbWUgdW50aWwgaXQncyBmaW5pc2hlZCwgdGhlbiByZWFkIHZhbHVlcyBvZiBfdGhpc18gbWVhc3VyZW1lbnQpLgorCSAqCisJICogVGh1cyB3ZSBzaW1wbHkgcmVzb3J0IHRvIHJlYWRpbmcgdmFsdWVzIGlmIHRoZXkncmUgYXZhaWxhYmxlIGFscmVhZHkKKwkgKiBhbmQgdHJpZ2dlciB0aGUgbmV4dCBtZWFzdXJlbWVudC4KKwkgKi8KKworCXZhbCA9IHNuZF9hemYzMzI4X2dhbWVfaW5iKGNoaXAsIElEWF9HQU1FX0FYRVNfQ09ORklHKTsKKwlpZiAodmFsICYgR0FNRV9BWEVTX1NBTVBMSU5HX1JFQURZKSB7CisJCWZvciAoaSA9IDA7IGkgPCA0OyArK2kpIHsKKwkJCS8qIGNvbmZpZ3VyZSB0aGUgYXhpcyB0byByZWFkICovCisJCQl2YWwgPSAoaSA8PCA0KSB8IDB4MGY7CisJCQlzbmRfYXpmMzMyOF9nYW1lX291dGIoY2hpcCwgSURYX0dBTUVfQVhFU19DT05GSUcsIHZhbCk7CisKKwkJCWNoaXAtPmF4ZXNbaV0gPSBzbmRfYXpmMzMyOF9nYW1lX2ludygKKwkJCQkJCWNoaXAsIElEWF9HQU1FX0FYSVNfVkFMVUUKKwkJCQkJKTsKKwkJfQorCX0KKworCS8qIHRyaWdnZXIgbmV4dCBheGVzIHNhbXBsaW5nLCB0byBiZSBldmFsdWF0ZWQgdGhlIG5leHQgdGltZSB3ZQorCSAqIGVudGVyIHRoaXMgZnVuY3Rpb24gKi8KKworCS8qIGZvciBzb21lIHZlcnksIHZlcnkgc3RyYW5nZSByZWFzb24gd2UgY2Fubm90IGVuYWJsZQorCSAqIE1lYXN1cmVtZW50IFJlYWR5IG1vbml0b3JpbmcgZm9yIGFsbCBheGVzIGhlcmUsCisJICogYXQgbGVhc3Qgbm90IHdoZW4gb25seSBvbmUgam95c3RpY2sgY29ubmVjdGVkICovCisJdmFsID0gMHgwMzsgLyogd2UncmUgYWJsZSB0byBtb25pdG9yIGF4ZXMgMSBhbmQgMiBvbmx5ICovCisJc25kX2F6ZjMzMjhfZ2FtZV9vdXRiKGNoaXAsIElEWF9HQU1FX0FYRVNfQ09ORklHLCB2YWwpOworCisJc25kX2F6ZjMzMjhfZ2FtZV9vdXR3KGNoaXAsIElEWF9HQU1FX0FYSVNfVkFMVUUsIDB4ZmZmZik7CisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmY2hpcC0+cmVnX2xvY2ssIGZsYWdzKTsKKworCWZvciAoaSA9IDA7IGkgPCA0OyBpKyspIHsKKwkJYXhlc1tpXSA9IGNoaXAtPmF4ZXNbaV07CisJCWlmIChheGVzW2ldID09IDB4ZmZmZikKKwkJCWF4ZXNbaV0gPSAtMTsKKwl9CisKKwlzbmRfYXpmMzMyOF9kYmdnYW1lKCJjb29rZWRfcmVhZDogYXhlcyAlZCAlZCAlZCAlZCBidXR0b25zICVkXG4iLAorCQlheGVzWzBdLCBheGVzWzFdLCBheGVzWzJdLCBheGVzWzNdLCAqYnV0dG9ucworCSk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBfX2RldmluaXQKK3NuZF9hemYzMzI4X2dhbWVwb3J0KHN0cnVjdCBzbmRfYXpmMzMyOCAqY2hpcCwgaW50IGRldikKK3sKKwlzdHJ1Y3QgZ2FtZXBvcnQgKmdwOworCisJY2hpcC0+Z2FtZXBvcnQgPSBncCA9IGdhbWVwb3J0X2FsbG9jYXRlX3BvcnQoKTsKKwlpZiAoIWdwKSB7CisJCXByaW50ayhLRVJOX0VSUiAiYXp0MzMyODogY2Fubm90IGFsbG9jIG1lbW9yeSBmb3IgZ2FtZXBvcnRcbiIpOworCQlyZXR1cm4gLUVOT01FTTsKKwl9CisKKwlnYW1lcG9ydF9zZXRfbmFtZShncCwgIkFaRjMzMjggR2FtZXBvcnQiKTsKKwlnYW1lcG9ydF9zZXRfcGh5cyhncCwgInBjaSVzL2dhbWVwb3J0MCIsIHBjaV9uYW1lKGNoaXAtPnBjaSkpOworCWdhbWVwb3J0X3NldF9kZXZfcGFyZW50KGdwLCAmY2hpcC0+cGNpLT5kZXYpOworCWdwLT5pbyA9IGNoaXAtPmdhbWVfaW87CisJZ2FtZXBvcnRfc2V0X3BvcnRfZGF0YShncCwgY2hpcCk7CisKKwlncC0+b3BlbiA9IHNuZF9hemYzMzI4X2dhbWVwb3J0X29wZW47CisJZ3AtPmNsb3NlID0gc25kX2F6ZjMzMjhfZ2FtZXBvcnRfY2xvc2U7CisJZ3AtPmZ1enogPSAxNjsgLyogc2VlbXMgb2sgKi8KKwlncC0+Y29va2VkX3JlYWQgPSBzbmRfYXpmMzMyOF9nYW1lcG9ydF9jb29rZWRfcmVhZDsKKworCS8qIERJU0FCTEUgbGVnYWN5IGFkZHJlc3M6IHdlIGRvbid0IG5lZWQgaXQhICovCisJc25kX2F6ZjMzMjhfZ2FtZXBvcnRfbGVnYWN5X2FkZHJlc3NfZW5hYmxlKGNoaXAsIDApOworCisJc25kX2F6ZjMzMjhfZ2FtZXBvcnRfYXhpc19jaXJjdWl0X2VuYWJsZShjaGlwLCAwKTsKKworCWdhbWVwb3J0X3JlZ2lzdGVyX3BvcnQoY2hpcC0+Z2FtZXBvcnQpOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkCitzbmRfYXpmMzMyOF9nYW1lcG9ydF9mcmVlKHN0cnVjdCBzbmRfYXpmMzMyOCAqY2hpcCkKK3sKKwlpZiAoY2hpcC0+Z2FtZXBvcnQpIHsKKwkJZ2FtZXBvcnRfdW5yZWdpc3Rlcl9wb3J0KGNoaXAtPmdhbWVwb3J0KTsKKwkJY2hpcC0+Z2FtZXBvcnQgPSBOVUxMOworCX0KKwlzbmRfYXpmMzMyOF9nYW1lcG9ydF9pcnFfZW5hYmxlKGNoaXAsIDApOworfQorI2Vsc2UKK3N0YXRpYyBpbmxpbmUgaW50CitzbmRfYXpmMzMyOF9nYW1lcG9ydChzdHJ1Y3Qgc25kX2F6ZjMzMjggKmNoaXAsIGludCBkZXYpIHsgcmV0dXJuIC1FTk9TWVM7IH0KK3N0YXRpYyBpbmxpbmUgdm9pZAorc25kX2F6ZjMzMjhfZ2FtZXBvcnRfZnJlZShzdHJ1Y3Qgc25kX2F6ZjMzMjggKmNoaXApIHsgfQorc3RhdGljIGlubGluZSB2b2lkCitzbmRfYXpmMzMyOF9nYW1lcG9ydF9pbnRlcnJ1cHQoc3RydWN0IHNuZF9hemYzMzI4ICpjaGlwKQoreworCXByaW50ayhLRVJOX1dBUk5JTkcgImh1aCwgZ2FtZSBwb3J0IElSUSBvY2N1cnJlZCE/XG4iKTsKK30KKyNlbmRpZiAvKiBTVVBQT1JUX0dBTUVQT1JUICovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKK3N0YXRpYyBpbmxpbmUgdm9pZAorc25kX2F6ZjMzMjhfaXJxX2xvZ191bmtub3duX3R5cGUodTggd2hpY2gpCit7CisJc25kX2F6ZjMzMjhfZGJncGxheSgKKwkiYXp0MzMyODogdW5rbm93biBJUlEgdHlwZSAoJXgpIG9jY3VycmVkLCBwbGVhc2UgcmVwb3J0IVxuIiwKKwkJd2hpY2gKKwkpOworfQorCiBzdGF0aWMgaXJxcmV0dXJuX3QKIHNuZF9hemYzMzI4X2ludGVycnVwdChpbnQgaXJxLCB2b2lkICpkZXZfaWQpCiB7CiAJc3RydWN0IHNuZF9hemYzMzI4ICpjaGlwID0gZGV2X2lkOwogCXU4IHN0YXR1cywgd2hpY2g7CisjaWYgREVCVUdfUExBWV9SRUMKIAlzdGF0aWMgdW5zaWduZWQgbG9uZyBpcnFfY291bnQ7CisjZW5kaWYKIAogCXN0YXR1cyA9IHNuZF9hemYzMzI4X2NvZGVjX2luYihjaGlwLCBJRFhfSU9fSVJRU1RBVFVTKTsKIAogICAgICAgICAvKiBmYXN0IHBhdGggb3V0LCB0byBlYXNlIGludGVycnVwdCBzaGFyaW5nICovCi0JaWYgKCEoc3RhdHVzICYgKElSUV9QTEFZQkFDS3xJUlFfUkVDT1JESU5HfElSUV9NUFU0MDF8SVJRX1RJTUVSKSkpCisJaWYgKCEoc3RhdHVzICYKKwkJKElSUV9QTEFZQkFDS3xJUlFfUkVDT1JESU5HfElSUV9HQU1FUE9SVHxJUlFfTVBVNDAxfElSUV9USU1FUikKKwkpKQogCQlyZXR1cm4gSVJRX05PTkU7IC8qIG11c3QgYmUgaW50ZXJydXB0IGZvciBhbm90aGVyIGRldmljZSAqLwogCi0Jc25kX2F6ZjMzMjhfZGJncGxheSgiSW50ZXJydXB0ICVsZCFcbklEWF9JT19QTEFZX0ZMQUdTICUwNHgsIElEWF9JT19QTEFZX0lSUVRZUEUgJTA0eCwgSURYX0lPX0lSUVNUQVRVUyAlMDR4XG4iLAotCQlpcnFfY291bnQsCi0JCXNuZF9hemYzMzI4X2NvZGVjX2ludyhjaGlwLCBJRFhfSU9fUExBWV9GTEFHUyksCi0JCXNuZF9hemYzMzI4X2NvZGVjX2ludyhjaGlwLCBJRFhfSU9fUExBWV9JUlFUWVBFKSwKLQkJc3RhdHVzKTsKLQkJCisJc25kX2F6ZjMzMjhfZGJncGxheSgKKwkJImlycV9jb3VudCAlbGQhIElEWF9JT19QTEFZX0ZMQUdTICUwNHgsICIKKwkJIklEWF9JT19QTEFZX0lSUVRZUEUgJTA0eCwgSURYX0lPX0lSUVNUQVRVUyAlMDR4XG4iLAorCQkJaXJxX2NvdW50KysgLyogZGVidWctb25seSAqLywKKwkJCXNuZF9hemYzMzI4X2NvZGVjX2ludyhjaGlwLCBJRFhfSU9fUExBWV9GTEFHUyksCisJCQlzbmRfYXpmMzMyOF9jb2RlY19pbncoY2hpcCwgSURYX0lPX1BMQVlfSVJRVFlQRSksCisJCQlzdGF0dXMKKwkpOworCiAJaWYgKHN0YXR1cyAmIElSUV9USU1FUikgewotCQkvKiBzbmRfYXpmMzMyOF9kYmdwbGF5KCJ0aW1lciAlbGRcbiIsIGlubChjaGlwLT5jb2RlY19wb3J0K0lEWF9JT19USU1FUl9WQUxVRSkgJiBUSU1FUl9WQUxVRV9NQVNLKTsgKi8KKwkJLyogc25kX2F6ZjMzMjhfZGJncGxheSgidGltZXIgJWxkXG4iLAorCQkJc25kX2F6ZjMzMjhfY29kZWNfaW5sKGNoaXAsIElEWF9JT19USU1FUl9WQUxVRSkKKwkJCQkmIFRJTUVSX1ZBTFVFX01BU0sKKwkJKTsgKi8KIAkJaWYgKGNoaXAtPnRpbWVyKQogCQkJc25kX3RpbWVyX2ludGVycnVwdChjaGlwLT50aW1lciwgY2hpcC0+dGltZXItPnN0aWNrcyk7CiAJCS8qIEFDSyB0aW1lciAqLwpAQCAtMTIzMiwxNSArMTYzNSwyMCBAQAogCQlzbmRfYXpmMzMyOF9jb2RlY19vdXRiKGNoaXAsIElEWF9JT19QTEFZX0lSUVRZUEUsIHdoaWNoKTsKICAgICAgICAgICAgICAgIAlzcGluX3VubG9jaygmY2hpcC0+cmVnX2xvY2spOwogCi0JCWlmIChjaGlwLT5wY20gJiYgY2hpcC0+cGxheWJhY2tfc3Vic3RyZWFtKSB7Ci0JCQlzbmRfcGNtX3BlcmlvZF9lbGFwc2VkKGNoaXAtPnBsYXliYWNrX3N1YnN0cmVhbSk7CisJCWlmIChjaGlwLT5wY20gJiYgY2hpcC0+YXVkaW9fc3RyZWFtW0FaRl9QTEFZQkFDS10uc3Vic3RyZWFtKSB7CisJCQlzbmRfcGNtX3BlcmlvZF9lbGFwc2VkKAorCQkJCWNoaXAtPmF1ZGlvX3N0cmVhbVtBWkZfUExBWUJBQ0tdLnN1YnN0cmVhbQorCQkJKTsKIAkJCXNuZF9hemYzMzI4X2RiZ3BsYXkoIlBMQVkgcGVyaW9kIGRvbmUgKCMleCksIEAgJXhcbiIsCiAJCQkJd2hpY2gsCi0JCQkJaW5sKGNoaXAtPmNvZGVjX3BvcnQrSURYX0lPX1BMQVlfRE1BX0NVUlJQT1MpKTsKKwkJCQlzbmRfYXpmMzMyOF9jb2RlY19pbmwoCisJCQkJCWNoaXAsIElEWF9JT19QTEFZX0RNQV9DVVJSUE9TCisJCQkJKQorCQkJKTsKIAkJfSBlbHNlCi0JCQlzbmRfYXpmMzMyOF9kYmdwbGF5KCJhenQzMzI4OiBvdWNoLCBpcnEgaGFuZGxlciBwcm9ibGVtIVxuIik7CisJCQlwcmludGsoS0VSTl9XQVJOSU5HICJhenQzMzI4OiBpcnEgaGFuZGxlciBwcm9ibGVtIVxuIik7CiAJCWlmICh3aGljaCAmIElSUV9QTEFZX1NPTUVUSElORykKLQkJCXNuZF9hemYzMzI4X2RiZ3BsYXkoImF6dDMzMjg6IHVua25vd24gcGxheSBJUlEgdHlwZSBvY2N1cnJlZCwgcGxlYXNlIHJlcG9ydCFcbiIpOworCQkJc25kX2F6ZjMzMjhfaXJxX2xvZ191bmtub3duX3R5cGUod2hpY2gpOwogCX0KIAlpZiAoc3RhdHVzICYgSVJRX1JFQ09SRElORykgewogICAgICAgICAgICAgICAgIHNwaW5fbG9jaygmY2hpcC0+cmVnX2xvY2spOwpAQCAtMTI0OSwxNiArMTY1NywyMyBAQAogCQlzbmRfYXpmMzMyOF9jb2RlY19vdXRiKGNoaXAsIElEWF9JT19SRUNfSVJRVFlQRSwgd2hpY2gpOwogCQlzcGluX3VubG9jaygmY2hpcC0+cmVnX2xvY2spOwogCi0JCWlmIChjaGlwLT5wY20gJiYgY2hpcC0+Y2FwdHVyZV9zdWJzdHJlYW0pIHsKLQkJCXNuZF9wY21fcGVyaW9kX2VsYXBzZWQoY2hpcC0+Y2FwdHVyZV9zdWJzdHJlYW0pOworCQlpZiAoY2hpcC0+cGNtICYmIGNoaXAtPmF1ZGlvX3N0cmVhbVtBWkZfQ0FQVFVSRV0uc3Vic3RyZWFtKSB7CisJCQlzbmRfcGNtX3BlcmlvZF9lbGFwc2VkKAorCQkJCWNoaXAtPmF1ZGlvX3N0cmVhbVtBWkZfQ0FQVFVSRV0uc3Vic3RyZWFtCisJCQkpOwogCQkJc25kX2F6ZjMzMjhfZGJncGxheSgiUkVDICBwZXJpb2QgZG9uZSAoIyV4KSwgQCAleFxuIiwKIAkJCQl3aGljaCwKLQkJCQlpbmwoY2hpcC0+Y29kZWNfcG9ydCtJRFhfSU9fUkVDX0RNQV9DVVJSUE9TKSk7CisJCQkJc25kX2F6ZjMzMjhfY29kZWNfaW5sKAorCQkJCQljaGlwLCBJRFhfSU9fUkVDX0RNQV9DVVJSUE9TCisJCQkJKQorCQkJKTsKIAkJfSBlbHNlCi0JCQlzbmRfYXpmMzMyOF9kYmdwbGF5KCJhenQzMzI4OiBvdWNoLCBpcnEgaGFuZGxlciBwcm9ibGVtIVxuIik7CisJCQlwcmludGsoS0VSTl9XQVJOSU5HICJhenQzMzI4OiBpcnEgaGFuZGxlciBwcm9ibGVtIVxuIik7CiAJCWlmICh3aGljaCAmIElSUV9SRUNfU09NRVRISU5HKQotCQkJc25kX2F6ZjMzMjhfZGJncGxheSgiYXp0MzMyODogdW5rbm93biByZWMgSVJRIHR5cGUgb2NjdXJyZWQsIHBsZWFzZSByZXBvcnQhXG4iKTsKKwkJCXNuZF9hemYzMzI4X2lycV9sb2dfdW5rbm93bl90eXBlKHdoaWNoKTsKIAl9CisJaWYgKHN0YXR1cyAmIElSUV9HQU1FUE9SVCkKKwkJc25kX2F6ZjMzMjhfZ2FtZXBvcnRfaW50ZXJydXB0KGNoaXApOwogCS8qIE1QVTQwMSBoYXMgbGVzcyBjcml0aWNhbCBJUlEgcmVxdWlyZW1lbnRzCiAJICogdGhhbiB0aW1lciBhbmQgcGxheWJhY2svcmVjb3JkaW5nLCByaWdodD8gKi8KIAlpZiAoc3RhdHVzICYgSVJRX01QVTQwMSkgewpAQCAtMTI2OCw3ICsxNjgzLDYgQEAKIAkJICogSWYgc28sIHRoZW4gSSBkb24ndCBrbm93IGhvdy4uLiAqLwogCQlzbmRfYXpmMzMyOF9kYmdwbGF5KCJhenQzMzI4OiBNUFU0MDEgSVJRXG4iKTsKIAl9Ci0JaXJxX2NvdW50Kys7CiAJcmV0dXJuIElSUV9IQU5ETEVEOwogfQogCkBAIC0xMjg3LDggKzE3MDEsOCBAQAogCS5yYXRlcyA9CQlTTkRSVl9QQ01fUkFURV81NTEyIHwKIAkJCQlTTkRSVl9QQ01fUkFURV84MDAwXzQ4MDAwIHwKIAkJCQlTTkRSVl9QQ01fUkFURV9LTk9ULAotCS5yYXRlX21pbiA9CQk0MDAwLAotCS5yYXRlX21heCA9CQk2NjIwMCwKKwkucmF0ZV9taW4gPQkJQVpGX0ZSRVFfNDAwMCwKKwkucmF0ZV9tYXggPQkJQVpGX0ZSRVFfNjYyMDAsCiAJLmNoYW5uZWxzX21pbiA9CQkxLAogCS5jaGFubmVsc19tYXggPQkJMiwKIAkuYnVmZmVyX2J5dGVzX21heCA9CTY1NTM2LApAQCAtMTMxNSw4ICsxNzI5LDggQEAKIAkucmF0ZXMgPQkJU05EUlZfUENNX1JBVEVfNTUxMiB8CiAJCQkJU05EUlZfUENNX1JBVEVfODAwMF80ODAwMCB8CiAJCQkJU05EUlZfUENNX1JBVEVfS05PVCwKLQkucmF0ZV9taW4gPQkJNDAwMCwKLQkucmF0ZV9tYXggPQkJNjYyMDAsCisJLnJhdGVfbWluID0JCUFaRl9GUkVRXzQwMDAsCisJLnJhdGVfbWF4ID0JCUFaRl9GUkVRXzY2MjAwLAogCS5jaGFubmVsc19taW4gPQkJMSwKIAkuY2hhbm5lbHNfbWF4ID0JCTIsCiAJLmJ1ZmZlcl9ieXRlc19tYXggPQk2NTUzNiwKQEAgLTEzMjksMTAgKzE3NDMsMjQgQEAKIAogCiBzdGF0aWMgdW5zaWduZWQgaW50IHNuZF9hemYzMzI4X2ZpeGVkX3JhdGVzW10gPSB7Ci0JNDAwMCwgNDgwMCwgNTUxMiwgNjYyMCwgODAwMCwgOTYwMCwgMTEwMjUsIDEzMjQwLCAxNjAwMCwgMjIwNTAsIDMyMDAwLAotCTQ0MTAwLCA0ODAwMCwgNjYyMDAgfTsKKwlBWkZfRlJFUV80MDAwLAorCUFaRl9GUkVRXzQ4MDAsCisJQVpGX0ZSRVFfNTUxMiwKKwlBWkZfRlJFUV82NjIwLAorCUFaRl9GUkVRXzgwMDAsCisJQVpGX0ZSRVFfOTYwMCwKKwlBWkZfRlJFUV8xMTAyNSwKKwlBWkZfRlJFUV8xMzI0MCwKKwlBWkZfRlJFUV8xNjAwMCwKKwlBWkZfRlJFUV8yMjA1MCwKKwlBWkZfRlJFUV8zMjAwMCwKKwlBWkZfRlJFUV80NDEwMCwKKwlBWkZfRlJFUV80ODAwMCwKKwlBWkZfRlJFUV82NjIwMAorfTsKKwogc3RhdGljIHN0cnVjdCBzbmRfcGNtX2h3X2NvbnN0cmFpbnRfbGlzdCBzbmRfYXpmMzMyOF9od19jb25zdHJhaW50c19yYXRlcyA9IHsKLQkuY291bnQgPSBBUlJBWV9TSVpFKHNuZF9hemYzMzI4X2ZpeGVkX3JhdGVzKSwgCisJLmNvdW50ID0gQVJSQVlfU0laRShzbmRfYXpmMzMyOF9maXhlZF9yYXRlcyksCiAJLmxpc3QgPSBzbmRfYXpmMzMyOF9maXhlZF9yYXRlcywKIAkubWFzayA9IDAsCiB9OwpAQCAtMTM0Niw3ICsxNzc0LDcgQEAKIAlzdHJ1Y3Qgc25kX3BjbV9ydW50aW1lICpydW50aW1lID0gc3Vic3RyZWFtLT5ydW50aW1lOwogCiAJc25kX2F6ZjMzMjhfZGJnY2FsbGVudGVyKCk7Ci0JY2hpcC0+cGxheWJhY2tfc3Vic3RyZWFtID0gc3Vic3RyZWFtOworCWNoaXAtPmF1ZGlvX3N0cmVhbVtBWkZfUExBWUJBQ0tdLnN1YnN0cmVhbSA9IHN1YnN0cmVhbTsKIAlydW50aW1lLT5odyA9IHNuZF9hemYzMzI4X3BsYXliYWNrOwogCXNuZF9wY21faHdfY29uc3RyYWludF9saXN0KHJ1bnRpbWUsIDAsIFNORFJWX1BDTV9IV19QQVJBTV9SQVRFLAogCQkJCSAgICZzbmRfYXpmMzMyOF9od19jb25zdHJhaW50c19yYXRlcyk7CkBAIC0xMzYxLDcgKzE3ODksNyBAQAogCXN0cnVjdCBzbmRfcGNtX3J1bnRpbWUgKnJ1bnRpbWUgPSBzdWJzdHJlYW0tPnJ1bnRpbWU7CiAKIAlzbmRfYXpmMzMyOF9kYmdjYWxsZW50ZXIoKTsKLQljaGlwLT5jYXB0dXJlX3N1YnN0cmVhbSA9IHN1YnN0cmVhbTsKKwljaGlwLT5hdWRpb19zdHJlYW1bQVpGX0NBUFRVUkVdLnN1YnN0cmVhbSA9IHN1YnN0cmVhbTsKIAlydW50aW1lLT5odyA9IHNuZF9hemYzMzI4X2NhcHR1cmU7CiAJc25kX3BjbV9od19jb25zdHJhaW50X2xpc3QocnVudGltZSwgMCwgU05EUlZfUENNX0hXX1BBUkFNX1JBVEUsCiAJCQkJICAgJnNuZF9hemYzMzI4X2h3X2NvbnN0cmFpbnRzX3JhdGVzKTsKQEAgLTEzNzUsNyArMTgwMyw3IEBACiAJc3RydWN0IHNuZF9hemYzMzI4ICpjaGlwID0gc25kX3BjbV9zdWJzdHJlYW1fY2hpcChzdWJzdHJlYW0pOwogCiAJc25kX2F6ZjMzMjhfZGJnY2FsbGVudGVyKCk7Ci0JY2hpcC0+cGxheWJhY2tfc3Vic3RyZWFtID0gTlVMTDsKKwljaGlwLT5hdWRpb19zdHJlYW1bQVpGX1BMQVlCQUNLXS5zdWJzdHJlYW0gPSBOVUxMOwogCXNuZF9hemYzMzI4X2RiZ2NhbGxsZWF2ZSgpOwogCXJldHVybiAwOwogfQpAQCAtMTM4Niw3ICsxODE0LDcgQEAKIAlzdHJ1Y3Qgc25kX2F6ZjMzMjggKmNoaXAgPSBzbmRfcGNtX3N1YnN0cmVhbV9jaGlwKHN1YnN0cmVhbSk7CiAKIAlzbmRfYXpmMzMyOF9kYmdjYWxsZW50ZXIoKTsKLQljaGlwLT5jYXB0dXJlX3N1YnN0cmVhbSA9IE5VTEw7CisJY2hpcC0+YXVkaW9fc3RyZWFtW0FaRl9DQVBUVVJFXS5zdWJzdHJlYW0gPSBOVUxMOwogCXNuZF9hemYzMzI4X2RiZ2NhbGxsZWF2ZSgpOwogCXJldHVybiAwOwogfQpAQCAtMTQ0MSwxMDIgKzE4NjksOCBAQAogCiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogCi0jaWZkZWYgU1VQUE9SVF9KT1lTVElDSwotc3RhdGljIGludCBfX2RldmluaXQKLXNuZF9hemYzMzI4X2NvbmZpZ19qb3lzdGljayhzdHJ1Y3Qgc25kX2F6ZjMzMjggKmNoaXAsIGludCBkZXYpCi17Ci0Jc3RydWN0IGdhbWVwb3J0ICpncDsKLQlzdHJ1Y3QgcmVzb3VyY2UgKnI7Ci0KLQlpZiAoIWpveXN0aWNrW2Rldl0pCi0JCXJldHVybiAtRU5PREVWOwotCi0JaWYgKCEociA9IHJlcXVlc3RfcmVnaW9uKDB4MjAwLCA4LCAiQVpGMzMyOCBnYW1lcG9ydCIpKSkgewotCQlwcmludGsoS0VSTl9XQVJOSU5HICJhenQzMzI4OiBjYW5ub3QgcmVzZXJ2ZSBqb3lzdGljayBwb3J0c1xuIik7Ci0JCXJldHVybiAtRUJVU1k7Ci0JfQotCi0JY2hpcC0+Z2FtZXBvcnQgPSBncCA9IGdhbWVwb3J0X2FsbG9jYXRlX3BvcnQoKTsKLQlpZiAoIWdwKSB7Ci0JCXByaW50ayhLRVJOX0VSUiAiYXp0MzMyODogY2Fubm90IGFsbG9jYXRlIG1lbW9yeSBmb3IgZ2FtZXBvcnRcbiIpOwotCQlyZWxlYXNlX2FuZF9mcmVlX3Jlc291cmNlKHIpOwotCQlyZXR1cm4gLUVOT01FTTsKLQl9Ci0KLQlnYW1lcG9ydF9zZXRfbmFtZShncCwgIkFaRjMzMjggR2FtZXBvcnQiKTsKLQlnYW1lcG9ydF9zZXRfcGh5cyhncCwgInBjaSVzL2dhbWVwb3J0MCIsIHBjaV9uYW1lKGNoaXAtPnBjaSkpOwotCWdhbWVwb3J0X3NldF9kZXZfcGFyZW50KGdwLCAmY2hpcC0+cGNpLT5kZXYpOwotCWdwLT5pbyA9IDB4MjAwOwotCWdhbWVwb3J0X3NldF9wb3J0X2RhdGEoZ3AsIHIpOwotCi0Jc25kX2F6ZjMzMjhfaW8yX291dGIoY2hpcCwgSURYX0lPMl9MRUdBQ1lfQUREUiwKLQkJCSAgICAgIHNuZF9hemYzMzI4X2lvMl9pbmIoY2hpcCwgSURYX0lPMl9MRUdBQ1lfQUREUikgfCBMRUdBQ1lfSk9ZKTsKLQotCWdhbWVwb3J0X3JlZ2lzdGVyX3BvcnQoY2hpcC0+Z2FtZXBvcnQpOwotCi0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyB2b2lkCi1zbmRfYXpmMzMyOF9mcmVlX2pveXN0aWNrKHN0cnVjdCBzbmRfYXpmMzMyOCAqY2hpcCkKLXsKLQlpZiAoY2hpcC0+Z2FtZXBvcnQpIHsKLQkJc3RydWN0IHJlc291cmNlICpyID0gZ2FtZXBvcnRfZ2V0X3BvcnRfZGF0YShjaGlwLT5nYW1lcG9ydCk7Ci0KLQkJZ2FtZXBvcnRfdW5yZWdpc3Rlcl9wb3J0KGNoaXAtPmdhbWVwb3J0KTsKLQkJY2hpcC0+Z2FtZXBvcnQgPSBOVUxMOwotCQkvKiBkaXNhYmxlIGdhbWVwb3J0ICovCi0JCXNuZF9hemYzMzI4X2lvMl9vdXRiKGNoaXAsIElEWF9JTzJfTEVHQUNZX0FERFIsCi0JCQkJICAgICAgc25kX2F6ZjMzMjhfaW8yX2luYihjaGlwLCBJRFhfSU8yX0xFR0FDWV9BRERSKSAmIH5MRUdBQ1lfSk9ZKTsKLQkJcmVsZWFzZV9hbmRfZnJlZV9yZXNvdXJjZShyKTsKLQl9Ci19Ci0jZWxzZQotc3RhdGljIGlubGluZSBpbnQKLXNuZF9hemYzMzI4X2NvbmZpZ19qb3lzdGljayhzdHJ1Y3Qgc25kX2F6ZjMzMjggKmNoaXAsIGludCBkZXYpIHsgcmV0dXJuIC1FTk9TWVM7IH0KLXN0YXRpYyBpbmxpbmUgdm9pZAotc25kX2F6ZjMzMjhfZnJlZV9qb3lzdGljayhzdHJ1Y3Qgc25kX2F6ZjMzMjggKmNoaXApIHsgfQotI2VuZGlmCi0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi0KLXN0YXRpYyBpbnQKLXNuZF9hemYzMzI4X2ZyZWUoc3RydWN0IHNuZF9hemYzMzI4ICpjaGlwKQotewotICAgICAgICBpZiAoY2hpcC0+aXJxIDwgMCkKLSAgICAgICAgICAgICAgICBnb3RvIF9fZW5kX2h3OwotCi0JLyogcmVzZXQgKGNsb3NlKSBtaXhlciAqLwotCXNuZF9hemYzMzI4X21peGVyX3NldF9tdXRlKGNoaXAsIElEWF9NSVhFUl9QTEFZX01BU1RFUiwgMSk7IC8qIGZpcnN0IG11dGUgbWFzdGVyIHZvbHVtZSAqLwotCXNuZF9hemYzMzI4X21peGVyX291dHcoY2hpcCwgSURYX01JWEVSX1JFU0VULCAweDAwMDApOwotCi0gICAgICAgIC8qIGludGVycnVwdCBzZXR1cCAtIG1hc2sgZXZlcnl0aGluZyAoRklYTUUhKSAqLwotCS8qIHdlbGwsIGF0IGxlYXN0IHdlIGtub3cgaG93IHRvIGRpc2FibGUgdGhlIHRpbWVyIElSUSAqLwotCXNuZF9hemYzMzI4X2NvZGVjX291dGIoY2hpcCwgSURYX0lPX1RJTUVSX1ZBTFVFICsgMywgMHgwMCk7Ci0KLQlpZiAoY2hpcC0+aXJxID49IDApCi0gICAgICAgIAlzeW5jaHJvbml6ZV9pcnEoY2hpcC0+aXJxKTsKLV9fZW5kX2h3OgotCXNuZF9hemYzMzI4X2ZyZWVfam95c3RpY2soY2hpcCk7Ci0gICAgICAgIGlmIChjaGlwLT5pcnEgPj0gMCkKLQkJZnJlZV9pcnEoY2hpcC0+aXJxLCBjaGlwKTsKLQlwY2lfcmVsZWFzZV9yZWdpb25zKGNoaXAtPnBjaSk7Ci0JcGNpX2Rpc2FibGVfZGV2aWNlKGNoaXAtPnBjaSk7Ci0KLSAgICAgICAga2ZyZWUoY2hpcCk7Ci0gICAgICAgIHJldHVybiAwOwotfQotCi1zdGF0aWMgaW50Ci1zbmRfYXpmMzMyOF9kZXZfZnJlZShzdHJ1Y3Qgc25kX2RldmljZSAqZGV2aWNlKQotewotCXN0cnVjdCBzbmRfYXpmMzMyOCAqY2hpcCA9IGRldmljZS0+ZGV2aWNlX2RhdGE7Ci0JcmV0dXJuIHNuZF9hemYzMzI4X2ZyZWUoY2hpcCk7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi0KLS8qKiogTk9URTogdGhlIHBoeXNpY2FsIHRpbWVyIHJlc29sdXRpb24gYWN0dWFsbHkgaXMgMTAyNDAwMCB0aWNrcyBwZXIgc2Vjb25kLAorLyoqKiBOT1RFOiB0aGUgcGh5c2ljYWwgdGltZXIgcmVzb2x1dGlvbiBhY3R1YWxseSBpcyAxMDI0MDAwIHRpY2tzIHBlciBzZWNvbmQKKyAqKiogKHByb2JhYmx5IGRlcml2ZWQgZnJvbSBtYWluIGNyeXN0YWwgdmlhIGEgZGl2aWRlciBvZiAyNCksCiAgKioqIGJ1dCBhbm5vdW5jaW5nIHRob3NlIGF0dHJpYnV0ZXMgdG8gdXNlci1zcGFjZSB3b3VsZCBtYWtlIHByb2dyYW1zCiAgKioqIGNvbmZpZ3VyZSB0aGUgdGltZXIgdG8gYSAxIHRpY2sgdmFsdWUsIHJlc3VsdGluZyBpbiBhbiBhYnNvbHV0ZWx5IGZhdGFsCiAgKioqIHRpbWVyIElSUSBzdG9ybS4KQEAgLTE1NjQsNyArMTg5OCw3IEBACiAJCWRlbGF5ID0gNDk7IC8qIG1pbmltdW0gdGltZSBpcyA0OSB0aWNrcyAqLwogCX0KIAlzbmRfYXpmMzMyOF9kYmd0aW1lcigic2V0dGluZyB0aW1lciBjb3VudGRvd24gdmFsdWUgJWQsIGFkZCBDT1VOVERPV058SVJRXG4iLCBkZWxheSk7Ci0JZGVsYXkgfD0gVElNRVJfRU5BQkxFX0NPVU5URE9XTiB8IFRJTUVSX0VOQUJMRV9JUlE7CisJZGVsYXkgfD0gVElNRVJfQ09VTlRET1dOX0VOQUJMRSB8IFRJTUVSX0lSUV9FTkFCTEU7CiAJc3Bpbl9sb2NrX2lycXNhdmUoJmNoaXAtPnJlZ19sb2NrLCBmbGFncyk7CiAJc25kX2F6ZjMzMjhfY29kZWNfb3V0bChjaGlwLCBJRFhfSU9fVElNRVJfVkFMVUUsIGRlbGF5KTsKIAlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZjaGlwLT5yZWdfbG9jaywgZmxhZ3MpOwpAQCAtMTU4Miw3ICsxOTE2LDcgQEAKIAljaGlwID0gc25kX3RpbWVyX2NoaXAodGltZXIpOwogCXNwaW5fbG9ja19pcnFzYXZlKCZjaGlwLT5yZWdfbG9jaywgZmxhZ3MpOwogCS8qIGRpc2FibGUgdGltZXIgY291bnRkb3duIGFuZCBpbnRlcnJ1cHQgKi8KLQkvKiBGSVhNRTogc2hvdWxkIHdlIHdyaXRlIFRJTUVSX0FDS19JUlEgaGVyZT8gKi8KKwkvKiBGSVhNRTogc2hvdWxkIHdlIHdyaXRlIFRJTUVSX0lSUV9BQ0sgaGVyZT8gKi8KIAlzbmRfYXpmMzMyOF9jb2RlY19vdXRiKGNoaXAsIElEWF9JT19USU1FUl9WQUxVRSArIDMsIDApOwogCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmNoaXAtPnJlZ19sb2NrLCBmbGFncyk7CiAJc25kX2F6ZjMzMjhfZGJnY2FsbGxlYXZlKCk7CkBAIC0xNjI2LDkgKzE5NjAsMTAgQEAKIAogCXNuZF9hemYzMzI4X3RpbWVyX2h3LnJlc29sdXRpb24gKj0gc2VxdGltZXJfc2NhbGluZzsKIAlzbmRfYXpmMzMyOF90aW1lcl9ody50aWNrcyAvPSBzZXF0aW1lcl9zY2FsaW5nOwotCWlmICgoZXJyID0gc25kX3RpbWVyX25ldyhjaGlwLT5jYXJkLCAiQVpGMzMyOCIsICZ0aWQsICZ0aW1lcikpIDwgMCkgeworCisJZXJyID0gc25kX3RpbWVyX25ldyhjaGlwLT5jYXJkLCAiQVpGMzMyOCIsICZ0aWQsICZ0aW1lcik7CisJaWYgKGVyciA8IDApCiAJCWdvdG8gb3V0OwotCX0KIAogCXN0cmNweSh0aW1lci0+bmFtZSwgIkFaRjMzMjggdGltZXIiKTsKIAl0aW1lci0+cHJpdmF0ZV9kYXRhID0gY2hpcDsKQEAgLTE2MzYsNiArMTk3MSw4IEBACiAKIAljaGlwLT50aW1lciA9IHRpbWVyOwogCisJc25kX2F6ZjMzMjhfdGltZXJfc3RvcCh0aW1lcik7CisKIAllcnIgPSAwOwogCiBvdXQ6CkBAIC0xNjQ1LDEwICsxOTgyLDQ0IEBACiAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAKK3N0YXRpYyBpbnQKK3NuZF9hemYzMzI4X2ZyZWUoc3RydWN0IHNuZF9hemYzMzI4ICpjaGlwKQoreworCWlmIChjaGlwLT5pcnEgPCAwKQorCQlnb3RvIF9fZW5kX2h3OworCisJLyogcmVzZXQgKGNsb3NlKSBtaXhlcjoKKwkgKiBmaXJzdCBtdXRlIG1hc3RlciB2b2x1bWUsIHRoZW4gcmVzZXQKKwkgKi8KKwlzbmRfYXpmMzMyOF9taXhlcl9zZXRfbXV0ZShjaGlwLCBJRFhfTUlYRVJfUExBWV9NQVNURVIsIDEpOworCXNuZF9hemYzMzI4X21peGVyX291dHcoY2hpcCwgSURYX01JWEVSX1JFU0VULCAweDAwMDApOworCisJc25kX2F6ZjMzMjhfdGltZXJfc3RvcChjaGlwLT50aW1lcik7CisJc25kX2F6ZjMzMjhfZ2FtZXBvcnRfZnJlZShjaGlwKTsKKworCWlmIChjaGlwLT5pcnEgPj0gMCkKKwkJc3luY2hyb25pemVfaXJxKGNoaXAtPmlycSk7CitfX2VuZF9odzoKKwlpZiAoY2hpcC0+aXJxID49IDApCisJCWZyZWVfaXJxKGNoaXAtPmlycSwgY2hpcCk7CisJcGNpX3JlbGVhc2VfcmVnaW9ucyhjaGlwLT5wY2kpOworCXBjaV9kaXNhYmxlX2RldmljZShjaGlwLT5wY2kpOworCisJa2ZyZWUoY2hpcCk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQKK3NuZF9hemYzMzI4X2Rldl9mcmVlKHN0cnVjdCBzbmRfZGV2aWNlICpkZXZpY2UpCit7CisJc3RydWN0IHNuZF9hemYzMzI4ICpjaGlwID0gZGV2aWNlLT5kZXZpY2VfZGF0YTsKKwlyZXR1cm4gc25kX2F6ZjMzMjhfZnJlZShjaGlwKTsKK30KKwogI2lmIDAKIC8qIGNoZWNrIHdoZXRoZXIgYSBiaXQgY2FuIGJlIG1vZGlmaWVkICovCiBzdGF0aWMgdm9pZAotc25kX2F6ZjMzMjhfdGVzdF9iaXQodW5zaWduZWQgaW50IHJlZywgaW50IGJpdCkKK3NuZF9hemYzMzI4X3Rlc3RfYml0KHVuc2lnbmVkIHVuc2lnbmVkIHJlZywgaW50IGJpdCkKIHsKIAl1bnNpZ25lZCBjaGFyIHZhbCwgdmFsb2ZmLCB2YWxvbjsKIApAQCAtMTY1OSw0MiArMjAzMCw3NCBAQAogCiAJb3V0Yih2YWx8KDEgPDwgYml0KSwgcmVnKTsKIAl2YWxvbiA9IGluYihyZWcpOwotCQorCiAJb3V0Yih2YWwsIHJlZyk7CiAKLQlwcmludGsoS0VSTl9FUlIgInJlZyAlMDR4IGJpdCAlZDogJTAyeCAlMDJ4ICUwMnhcbiIsIHJlZywgYml0LCB2YWwsIHZhbG9mZiwgdmFsb24pOworCXByaW50ayhLRVJOX0VSUiAicmVnICUwNHggYml0ICVkOiAlMDJ4ICUwMnggJTAyeFxuIiwKKwkJCQlyZWcsIGJpdCwgdmFsLCB2YWxvZmYsIHZhbG9uCisJKTsKIH0KICNlbmRpZgogCi0jaWYgREVCVUdfTUlTQwotc3RhdGljIHZvaWQKK3N0YXRpYyBpbmxpbmUgdm9pZAogc25kX2F6ZjMzMjhfZGVidWdfc2hvd19wb3J0cyhjb25zdCBzdHJ1Y3Qgc25kX2F6ZjMzMjggKmNoaXApCiB7CisjaWYgREVCVUdfTUlTQwogCXUxNiB0bXA7CiAKLQlzbmRfYXpmMzMyOF9kYmdtaXNjKCJjb2RlY19wb3J0IDB4JWx4LCBpbzJfcG9ydCAweCVseCwgbXB1X3BvcnQgMHglbHgsIHN5bnRoX3BvcnQgMHglbHgsIG1peGVyX3BvcnQgMHglbHgsIGlycSAlZFxuIiwgY2hpcC0+Y29kZWNfcG9ydCwgY2hpcC0+aW8yX3BvcnQsIGNoaXAtPm1wdV9wb3J0LCBjaGlwLT5zeW50aF9wb3J0LCBjaGlwLT5taXhlcl9wb3J0LCBjaGlwLT5pcnEpOworCXNuZF9hemYzMzI4X2RiZ21pc2MoCisJCSJjb2RlY19pbyAweCVseCwgZ2FtZV9pbyAweCVseCwgbXB1X2lvIDB4JWx4LCAiCisJCSJvcGwzX2lvIDB4JWx4LCBtaXhlcl9pbyAweCVseCwgaXJxICVkXG4iLAorCQljaGlwLT5jb2RlY19pbywgY2hpcC0+Z2FtZV9pbywgY2hpcC0+bXB1X2lvLAorCQljaGlwLT5vcGwzX2lvLCBjaGlwLT5taXhlcl9pbywgY2hpcC0+aXJxCisJKTsKIAotCXNuZF9hemYzMzI4X2RiZ21pc2MoImlvMiAlMDJ4ICUwMnggJTAyeCAlMDJ4ICUwMnggJTAyeFxuIiwgc25kX2F6ZjMzMjhfaW8yX2luYihjaGlwLCAwKSwgc25kX2F6ZjMzMjhfaW8yX2luYihjaGlwLCAxKSwgc25kX2F6ZjMzMjhfaW8yX2luYihjaGlwLCAyKSwgc25kX2F6ZjMzMjhfaW8yX2luYihjaGlwLCAzKSwgc25kX2F6ZjMzMjhfaW8yX2luYihjaGlwLCA0KSwgc25kX2F6ZjMzMjhfaW8yX2luYihjaGlwLCA1KSk7CisJc25kX2F6ZjMzMjhfZGJnbWlzYygiZ2FtZSAlMDJ4ICUwMnggJTAyeCAlMDJ4ICUwMnggJTAyeFxuIiwKKwkJc25kX2F6ZjMzMjhfZ2FtZV9pbmIoY2hpcCwgMCksCisJCXNuZF9hemYzMzI4X2dhbWVfaW5iKGNoaXAsIDEpLAorCQlzbmRfYXpmMzMyOF9nYW1lX2luYihjaGlwLCAyKSwKKwkJc25kX2F6ZjMzMjhfZ2FtZV9pbmIoY2hpcCwgMyksCisJCXNuZF9hemYzMzI4X2dhbWVfaW5iKGNoaXAsIDQpLAorCQlzbmRfYXpmMzMyOF9nYW1lX2luYihjaGlwLCA1KQorCSk7CiAKLQlmb3IgKHRtcD0wOyB0bXAgPD0gMHgwMTsgdG1wICs9IDEpCi0JCXNuZF9hemYzMzI4X2RiZ21pc2MoIjB4JTAyeDogb3BsIDB4JTA0eCwgbXB1MzAwIDB4JTA0eCwgbXB1MzEwIDB4JTA0eCwgbXB1MzIwIDB4JTA0eCwgbXB1MzMwIDB4JTA0eFxuIiwgdG1wLCBpbmIoMHgzODggKyB0bXApLCBpbmIoMHgzMDAgKyB0bXApLCBpbmIoMHgzMTAgKyB0bXApLCBpbmIoMHgzMjAgKyB0bXApLCBpbmIoMHgzMzAgKyB0bXApKTsKKwlmb3IgKHRtcCA9IDA7IHRtcCA8IDB4MDc7IHRtcCArPSAxKQorCQlzbmRfYXpmMzMyOF9kYmdtaXNjKCJtcHVfaW8gMHglMDR4XG4iLCBpbmIoY2hpcC0+bXB1X2lvICsgdG1wKSk7CisKKwlmb3IgKHRtcCA9IDA7IHRtcCA8PSAweDA3OyB0bXAgKz0gMSkKKwkJc25kX2F6ZjMzMjhfZGJnbWlzYygiMHglMDJ4OiBnYW1lMjAwIDB4JTA0eCwgZ2FtZTIwOCAweCUwNHhcbiIsCisJCQl0bXAsIGluYigweDIwMCArIHRtcCksIGluYigweDIwOCArIHRtcCkpOworCisJZm9yICh0bXAgPSAwOyB0bXAgPD0gMHgwMTsgdG1wICs9IDEpCisJCXNuZF9hemYzMzI4X2RiZ21pc2MoCisJCQkiMHglMDJ4OiBtcHUzMDAgMHglMDR4LCBtcHUzMTAgMHglMDR4LCBtcHUzMjAgMHglMDR4LCAiCisJCQkibXB1MzMwIDB4JTA0eCBvcGwzODggMHglMDR4IG9wbDM4YyAweCUwNHhcbiIsCisJCQkJdG1wLAorCQkJCWluYigweDMwMCArIHRtcCksCisJCQkJaW5iKDB4MzEwICsgdG1wKSwKKwkJCQlpbmIoMHgzMjAgKyB0bXApLAorCQkJCWluYigweDMzMCArIHRtcCksCisJCQkJaW5iKDB4Mzg4ICsgdG1wKSwKKwkJCQlpbmIoMHgzOGMgKyB0bXApCisJCSk7CiAKIAlmb3IgKHRtcCA9IDA7IHRtcCA8IEFaRl9JT19TSVpFX0NPREVDOyB0bXAgKz0gMikKLQkJc25kX2F6ZjMzMjhfZGJnbWlzYygiY29kZWMgMHglMDJ4OiAweCUwNHhcbiIsIHRtcCwgc25kX2F6ZjMzMjhfY29kZWNfaW53KGNoaXAsIHRtcCkpOworCQlzbmRfYXpmMzMyOF9kYmdtaXNjKCJjb2RlYyAweCUwMng6IDB4JTA0eFxuIiwKKwkJCXRtcCwgc25kX2F6ZjMzMjhfY29kZWNfaW53KGNoaXAsIHRtcCkKKwkJKTsKIAogCWZvciAodG1wID0gMDsgdG1wIDwgQVpGX0lPX1NJWkVfTUlYRVI7IHRtcCArPSAyKQotCQlzbmRfYXpmMzMyOF9kYmdtaXNjKCJtaXhlciAweCUwMng6IDB4JTA0eFxuIiwgdG1wLCBzbmRfYXpmMzMyOF9taXhlcl9pbncoY2hpcCwgdG1wKSk7CisJCXNuZF9hemYzMzI4X2RiZ21pc2MoIm1peGVyIDB4JTAyeDogMHglMDR4XG4iLAorCQkJdG1wLCBzbmRfYXpmMzMyOF9taXhlcl9pbncoY2hpcCwgdG1wKQorCQkpOworI2VuZGlmIC8qIERFQlVHX01JU0MgKi8KIH0KLSNlbHNlCi1zdGF0aWMgaW5saW5lIHZvaWQKLXNuZF9hemYzMzI4X2RlYnVnX3Nob3dfcG9ydHMoY29uc3Qgc3RydWN0IHNuZF9hemYzMzI4ICpjaGlwKSB7fQotI2VuZGlmCiAKIHN0YXRpYyBpbnQgX19kZXZpbml0CiBzbmRfYXpmMzMyOF9jcmVhdGUoc3RydWN0IHNuZF9jYXJkICpjYXJkLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgcGNpX2RldiAqcGNpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIGRldmljZV90eXBlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3Qgc25kX2F6ZjMzMjggKiogcmNoaXApCisJCSAgIHN0cnVjdCBwY2lfZGV2ICpwY2ksCisJCSAgIHVuc2lnbmVkIGxvbmcgZGV2aWNlX3R5cGUsCisJCSAgIHN0cnVjdCBzbmRfYXpmMzMyOCAqKnJjaGlwKQogewogCXN0cnVjdCBzbmRfYXpmMzMyOCAqY2hpcDsKIAlpbnQgZXJyOwpAQCAtMTcwNSw3ICsyMTA4LDggQEAKIAogCSpyY2hpcCA9IE5VTEw7CiAKLQlpZiAoKGVyciA9IHBjaV9lbmFibGVfZGV2aWNlKHBjaSkpIDwgMCkKKwllcnIgPSBwY2lfZW5hYmxlX2RldmljZShwY2kpOworCWlmIChlcnIgPCAwKQogCQlyZXR1cm4gZXJyOwogCiAJY2hpcCA9IGt6YWxsb2Moc2l6ZW9mKCpjaGlwKSwgR0ZQX0tFUk5FTCk7CkBAIC0xNzIxLDIwICsyMTI1LDI1IEBACiAJLyogY2hlY2sgaWYgd2UgY2FuIHJlc3RyaWN0IFBDSSBETUEgdHJhbnNmZXJzIHRvIDI0IGJpdHMgKi8KIAlpZiAocGNpX3NldF9kbWFfbWFzayhwY2ksIERNQV8yNEJJVF9NQVNLKSA8IDAgfHwKIAkgICAgcGNpX3NldF9jb25zaXN0ZW50X2RtYV9tYXNrKHBjaSwgRE1BXzI0QklUX01BU0spIDwgMCkgewotCQlzbmRfcHJpbnRrKEtFUk5fRVJSICJhcmNoaXRlY3R1cmUgZG9lcyBub3Qgc3VwcG9ydCAyNGJpdCBQQ0kgYnVzbWFzdGVyIERNQVxuIik7CisJCXNuZF9wcmludGsoS0VSTl9FUlIgImFyY2hpdGVjdHVyZSBkb2VzIG5vdCBzdXBwb3J0ICIKKwkJCQkJIjI0Yml0IFBDSSBidXNtYXN0ZXIgRE1BXG4iCisJCSk7CiAJCWVyciA9IC1FTlhJTzsKIAkJZ290byBvdXRfZXJyOwogCX0KIAotCWlmICgoZXJyID0gcGNpX3JlcXVlc3RfcmVnaW9ucyhwY2ksICJBenRlY2ggQVpGMzMyOCIpKSA8IDApIHsKKwllcnIgPSBwY2lfcmVxdWVzdF9yZWdpb25zKHBjaSwgIkF6dGVjaCBBWkYzMzI4Iik7CisJaWYgKGVyciA8IDApCiAJCWdvdG8gb3V0X2VycjsKLQl9CiAKLQljaGlwLT5jb2RlY19wb3J0ID0gcGNpX3Jlc291cmNlX3N0YXJ0KHBjaSwgMCk7Ci0JY2hpcC0+aW8yX3BvcnQgICA9IHBjaV9yZXNvdXJjZV9zdGFydChwY2ksIDEpOwotCWNoaXAtPm1wdV9wb3J0ICAgPSBwY2lfcmVzb3VyY2Vfc3RhcnQocGNpLCAyKTsKLQljaGlwLT5zeW50aF9wb3J0ID0gcGNpX3Jlc291cmNlX3N0YXJ0KHBjaSwgMyk7Ci0JY2hpcC0+bWl4ZXJfcG9ydCA9IHBjaV9yZXNvdXJjZV9zdGFydChwY2ksIDQpOworCWNoaXAtPmNvZGVjX2lvID0gcGNpX3Jlc291cmNlX3N0YXJ0KHBjaSwgMCk7CisJY2hpcC0+Z2FtZV9pbyAgPSBwY2lfcmVzb3VyY2Vfc3RhcnQocGNpLCAxKTsKKwljaGlwLT5tcHVfaW8gICA9IHBjaV9yZXNvdXJjZV9zdGFydChwY2ksIDIpOworCWNoaXAtPm9wbDNfaW8gPSBwY2lfcmVzb3VyY2Vfc3RhcnQocGNpLCAzKTsKKwljaGlwLT5taXhlcl9pbyA9IHBjaV9yZXNvdXJjZV9zdGFydChwY2ksIDQpOworCisJY2hpcC0+YXVkaW9fc3RyZWFtW0FaRl9QTEFZQkFDS10ucG9ydGJhc2UgPSBjaGlwLT5jb2RlY19pbyArIDB4MDA7CisJY2hpcC0+YXVkaW9fc3RyZWFtW0FaRl9DQVBUVVJFXS5wb3J0YmFzZSAgID0gY2hpcC0+Y29kZWNfaW8gKyAweDIwOwogCiAJaWYgKHJlcXVlc3RfaXJxKHBjaS0+aXJxLCBzbmRfYXpmMzMyOF9pbnRlcnJ1cHQsCiAJCQlJUlFGX1NIQVJFRCwgY2FyZC0+c2hvcnRuYW1lLCBjaGlwKSkgewpAQCAtMTc0NywyOSArMjE1NiwyOSBAQAogCXN5bmNocm9uaXplX2lycShjaGlwLT5pcnEpOwogCiAJc25kX2F6ZjMzMjhfZGVidWdfc2hvd19wb3J0cyhjaGlwKTsKLQkKLQlpZiAoKGVyciA9IHNuZF9kZXZpY2VfbmV3KGNhcmQsIFNORFJWX0RFVl9MT1dMRVZFTCwgY2hpcCwgJm9wcykpIDwgMCkgeworCisJZXJyID0gc25kX2RldmljZV9uZXcoY2FyZCwgU05EUlZfREVWX0xPV0xFVkVMLCBjaGlwLCAmb3BzKTsKKwlpZiAoZXJyIDwgMCkKIAkJZ290byBvdXRfZXJyOwotCX0KIAogCS8qIGNyZWF0ZSBtaXhlciBpbnRlcmZhY2UgJiBzd2l0Y2hlcyAqLwotCWlmICgoZXJyID0gc25kX2F6ZjMzMjhfbWl4ZXJfbmV3KGNoaXApKSA8IDApCisJZXJyID0gc25kX2F6ZjMzMjhfbWl4ZXJfbmV3KGNoaXApOworCWlmIChlcnIgPCAwKQogCQlnb3RvIG91dF9lcnI7CiAKLSNpZiAwCi0JLyogc2V0IHZlcnkgbG93IGJpdHJhdGUgdG8gcmVkdWNlIG5vaXNlIGFuZCBwb3dlciBjb25zdW1wdGlvbj8gKi8KLQlzbmRfYXpmMzMyOF9zZXRmbXQoY2hpcCwgSURYX0lPX1BMQVlfU09VTkRGT1JNQVQsIDU1MTIsIDgsIDEpOwotI2VuZGlmCisJLyogc2h1dGRvd24gY29kZWNzIHRvIHNhdmUgcG93ZXIgKi8KKwkJLyogaGF2ZSBzbmRfYXpmMzMyOF9jb2RlY19hY3Rpdml0eSgpIGFjdCBwcm9wZXJseSAqLworCWNoaXAtPmF1ZGlvX3N0cmVhbVtBWkZfUExBWUJBQ0tdLnJ1bm5pbmcgPSAxOworCXNuZF9hemYzMzI4X2NvZGVjX2FjdGl2aXR5KGNoaXAsIEFaRl9QTEFZQkFDSywgMCk7CiAKIAkvKiBzdGFuZGFyZCBjaGlwIGluaXQgc3R1ZmYgKi8KLQkvKiBkZWZhdWx0IElSUSBpbml0IHZhbHVlICovCisJCS8qIGRlZmF1bHQgSVJRIGluaXQgdmFsdWUgKi8KIAl0bXAgPSBETUFfUExBWV9TT01FVEhJTkcyfERNQV9FUElMT0dVRV9TT01FVEhJTkd8RE1BX1NPTUVUSElOR19FTFNFOwogCiAJc3Bpbl9sb2NrX2lycSgmY2hpcC0+cmVnX2xvY2spOwogCXNuZF9hemYzMzI4X2NvZGVjX291dGIoY2hpcCwgSURYX0lPX1BMQVlfRkxBR1MsIHRtcCk7CiAJc25kX2F6ZjMzMjhfY29kZWNfb3V0YihjaGlwLCBJRFhfSU9fUkVDX0ZMQUdTLCB0bXApOwogCXNuZF9hemYzMzI4X2NvZGVjX291dGIoY2hpcCwgSURYX0lPX1NPTUVUSElOR19GTEFHUywgdG1wKTsKLQlzbmRfYXpmMzMyOF9jb2RlY19vdXRiKGNoaXAsIElEWF9JT19USU1FUl9WQUxVRSArIDMsIDB4MDApOyAvKiBkaXNhYmxlIHRpbWVyICovCiAJc3Bpbl91bmxvY2tfaXJxKCZjaGlwLT5yZWdfbG9jayk7CiAKIAlzbmRfY2FyZF9zZXRfZGV2KGNhcmQsICZwY2ktPmRldik7CkBAIC0xODA1LDUyICsyMjE0LDYxIEBACiAJCXJldHVybiAtRU5PRU5UOwogCX0KIAotCWNhcmQgPSBzbmRfY2FyZF9uZXcoaW5kZXhbZGV2XSwgaWRbZGV2XSwgVEhJU19NT0RVTEUsIDAgKTsKKwljYXJkID0gc25kX2NhcmRfbmV3KGluZGV4W2Rldl0sIGlkW2Rldl0sIFRISVNfTU9EVUxFLCAwKTsKIAlpZiAoY2FyZCA9PSBOVUxMKQogCQlyZXR1cm4gLUVOT01FTTsKIAogCXN0cmNweShjYXJkLT5kcml2ZXIsICJBWkYzMzI4Iik7CiAJc3RyY3B5KGNhcmQtPnNob3J0bmFtZSwgIkF6dGVjaCBBWkYzMzI4IChQQ0kxNjgpIik7CiAKLSAgICAgICAgaWYgKChlcnIgPSBzbmRfYXpmMzMyOF9jcmVhdGUoY2FyZCwgcGNpLCBwY2lfaWQtPmRyaXZlcl9kYXRhLCAmY2hpcCkpIDwgMCkgeworCWVyciA9IHNuZF9hemYzMzI4X2NyZWF0ZShjYXJkLCBwY2ksIHBjaV9pZC0+ZHJpdmVyX2RhdGEsICZjaGlwKTsKKwlpZiAoZXJyIDwgMCkKIAkJZ290byBvdXRfZXJyOwotCX0KIAogCWNhcmQtPnByaXZhdGVfZGF0YSA9IGNoaXA7CiAKLQlpZiAoKGVyciA9IHNuZF9tcHU0MDFfdWFydF9uZXcoIGNhcmQsIDAsIE1QVTQwMV9IV19NUFU0MDEsCi0JCQkJICAgICAgICBjaGlwLT5tcHVfcG9ydCwgTVBVNDAxX0lORk9fSU5URUdSQVRFRCwKLQkJCQkJcGNpLT5pcnEsIDAsICZjaGlwLT5ybWlkaSkpIDwgMCkgewotCQlzbmRfcHJpbnRrKEtFUk5fRVJSICJhemYzMzI4OiBubyBNUFUtNDAxIGRldmljZSBhdCAweCVseD9cbiIsIGNoaXAtPm1wdV9wb3J0KTsKKwllcnIgPSBzbmRfbXB1NDAxX3VhcnRfbmV3KAorCQljYXJkLCAwLCBNUFU0MDFfSFdfTVBVNDAxLCBjaGlwLT5tcHVfaW8sIE1QVTQwMV9JTkZPX0lOVEVHUkFURUQsCisJCXBjaS0+aXJxLCAwLCAmY2hpcC0+cm1pZGkKKwkpOworCWlmIChlcnIgPCAwKSB7CisJCXNuZF9wcmludGsoS0VSTl9FUlIgImF6ZjMzMjg6IG5vIE1QVS00MDEgZGV2aWNlIGF0IDB4JWx4P1xuIiwKKwkJCQljaGlwLT5tcHVfaW8KKwkJKTsKIAkJZ290byBvdXRfZXJyOwogCX0KIAotCWlmICgoZXJyID0gc25kX2F6ZjMzMjhfdGltZXIoY2hpcCwgMCkpIDwgMCkgeworCWVyciA9IHNuZF9hemYzMzI4X3RpbWVyKGNoaXAsIDApOworCWlmIChlcnIgPCAwKQogCQlnb3RvIG91dF9lcnI7Ci0JfQogCi0JaWYgKChlcnIgPSBzbmRfYXpmMzMyOF9wY20oY2hpcCwgMCkpIDwgMCkgeworCWVyciA9IHNuZF9hemYzMzI4X3BjbShjaGlwLCAwKTsKKwlpZiAoZXJyIDwgMCkKIAkJZ290byBvdXRfZXJyOwotCX0KIAotCWlmIChzbmRfb3BsM19jcmVhdGUoY2FyZCwgY2hpcC0+c3ludGhfcG9ydCwgY2hpcC0+c3ludGhfcG9ydCsyLAorCWlmIChzbmRfb3BsM19jcmVhdGUoY2FyZCwgY2hpcC0+b3BsM19pbywgY2hpcC0+b3BsM19pbysyLAogCQkJICAgIE9QTDNfSFdfQVVUTywgMSwgJm9wbDMpIDwgMCkgewogCQlzbmRfcHJpbnRrKEtFUk5fRVJSICJhemYzMzI4OiBubyBPUEwzIGRldmljZSBhdCAweCVseC0weCVseD9cbiIsCi0JCQkgICBjaGlwLT5zeW50aF9wb3J0LCBjaGlwLT5zeW50aF9wb3J0KzIgKTsKKwkJCSAgIGNoaXAtPm9wbDNfaW8sIGNoaXAtPm9wbDNfaW8rMgorCQkpOwogCX0gZWxzZSB7Ci0JCWlmICgoZXJyID0gc25kX29wbDNfaHdkZXBfbmV3KG9wbDMsIDAsIDEsIE5VTEwpKSA8IDApIHsKKwkJLyogbmVlZCB0byB1c2UgSURzIDEsIDIgc2luY2UgSUQgMCBpcyBzbmRfYXpmMzMyOF90aW1lciBhYm92ZSAqLworCQllcnIgPSBzbmRfb3BsM190aW1lcl9uZXcob3BsMywgMSwgMik7CisJCWlmIChlcnIgPCAwKQogCQkJZ290byBvdXRfZXJyOwotCQl9CisJCWVyciA9IHNuZF9vcGwzX2h3ZGVwX25ldyhvcGwzLCAwLCAxLCBOVUxMKTsKKwkJaWYgKGVyciA8IDApCisJCQlnb3RvIG91dF9lcnI7CiAJfQogCiAJb3BsMy0+cHJpdmF0ZV9kYXRhID0gY2hpcDsKIAogCXNwcmludGYoY2FyZC0+bG9uZ25hbWUsICIlcyBhdCAweCVseCwgaXJxICVpIiwKLQkJY2FyZC0+c2hvcnRuYW1lLCBjaGlwLT5jb2RlY19wb3J0LCBjaGlwLT5pcnEpOworCQljYXJkLT5zaG9ydG5hbWUsIGNoaXAtPmNvZGVjX2lvLCBjaGlwLT5pcnEpOwogCi0JaWYgKChlcnIgPSBzbmRfY2FyZF9yZWdpc3RlcihjYXJkKSkgPCAwKSB7CisJZXJyID0gc25kX2NhcmRfcmVnaXN0ZXIoY2FyZCk7CisJaWYgKGVyciA8IDApCiAJCWdvdG8gb3V0X2VycjsKLQl9CiAKICNpZmRlZiBNT0RVTEUKIAlwcmludGsoCkBAIC0xODYxLDE5ICsyMjc5LDE4IEBACiAJMTAyNDAwMCAvIHNlcXRpbWVyX3NjYWxpbmcsIHNlcXRpbWVyX3NjYWxpbmcpOwogI2VuZGlmCiAKLQlpZiAoc25kX2F6ZjMzMjhfY29uZmlnX2pveXN0aWNrKGNoaXAsIGRldikgPCAwKQotCQlzbmRfYXpmMzMyOF9pbzJfb3V0YihjaGlwLCBJRFhfSU8yX0xFR0FDWV9BRERSLAotCQkJICAgICAgc25kX2F6ZjMzMjhfaW8yX2luYihjaGlwLCBJRFhfSU8yX0xFR0FDWV9BRERSKSAmIH5MRUdBQ1lfSk9ZKTsKKwlzbmRfYXpmMzMyOF9nYW1lcG9ydChjaGlwLCBkZXYpOwogCiAJcGNpX3NldF9kcnZkYXRhKHBjaSwgY2FyZCk7CiAJZGV2Kys7CiAKIAllcnIgPSAwOwogCWdvdG8gb3V0OwotCQorCiBvdXRfZXJyOgorCXNuZF9wcmludGsoS0VSTl9FUlIgImF6ZjMzMjg6IHNvbWV0aGluZyBmYWlsZWQsIGV4aXRpbmdcbiIpOwogCXNuZF9jYXJkX2ZyZWUoY2FyZCk7Ci0JCisKIG91dDoKIAlzbmRfYXpmMzMyOF9kYmdjYWxsbGVhdmUoKTsKIAlyZXR1cm4gZXJyOwpAQCAtMTg5NCwyNyArMjMxMSwzMSBAQAogewogCXN0cnVjdCBzbmRfY2FyZCAqY2FyZCA9IHBjaV9nZXRfZHJ2ZGF0YShwY2kpOwogCXN0cnVjdCBzbmRfYXpmMzMyOCAqY2hpcCA9IGNhcmQtPnByaXZhdGVfZGF0YTsKLQlpbnQgcmVnOworCXVuc2lnbmVkIHJlZzsKIAogCXNuZF9wb3dlcl9jaGFuZ2Vfc3RhdGUoY2FyZCwgU05EUlZfQ1RMX1BPV0VSX0QzaG90KTsKLQkKKwogCXNuZF9wY21fc3VzcGVuZF9hbGwoY2hpcC0+cGNtKTsKIAotCWZvciAocmVnID0gMDsgcmVnIDwgQVpGX0lPX1NJWkVfTUlYRVJfUE0gLyAyOyByZWcrKykKLQkJY2hpcC0+c2F2ZWRfcmVnc19taXhlcltyZWddID0gaW53KGNoaXAtPm1peGVyX3BvcnQgKyByZWcgKiAyKTsKKwlmb3IgKHJlZyA9IDA7IHJlZyA8IEFaRl9JT19TSVpFX01JWEVSX1BNIC8gMjsgKytyZWcpCisJCWNoaXAtPnNhdmVkX3JlZ3NfbWl4ZXJbcmVnXSA9IGludyhjaGlwLT5taXhlcl9pbyArIHJlZyAqIDIpOwogCiAJLyogbWFrZSBzdXJlIHRvIGRpc2FibGUgbWFzdGVyIHZvbHVtZSBldGMuIHRvIHByZXZlbnQgbG9vcGluZyBzb3VuZCAqLwogCXNuZF9hemYzMzI4X21peGVyX3NldF9tdXRlKGNoaXAsIElEWF9NSVhFUl9QTEFZX01BU1RFUiwgMSk7CiAJc25kX2F6ZjMzMjhfbWl4ZXJfc2V0X211dGUoY2hpcCwgSURYX01JWEVSX1dBVkVPVVQsIDEpOwotCQotCWZvciAocmVnID0gMDsgcmVnIDwgQVpGX0lPX1NJWkVfQ09ERUNfUE0gLyAyOyByZWcrKykKLQkJY2hpcC0+c2F2ZWRfcmVnc19jb2RlY1tyZWddID0gaW53KGNoaXAtPmNvZGVjX3BvcnQgKyByZWcgKiAyKTsKLQlmb3IgKHJlZyA9IDA7IHJlZyA8IEFaRl9JT19TSVpFX0lPMl9QTSAvIDI7IHJlZysrKQotCQljaGlwLT5zYXZlZF9yZWdzX2lvMltyZWddID0gaW53KGNoaXAtPmlvMl9wb3J0ICsgcmVnICogMik7Ci0JZm9yIChyZWcgPSAwOyByZWcgPCBBWkZfSU9fU0laRV9NUFVfUE0gLyAyOyByZWcrKykKLQkJY2hpcC0+c2F2ZWRfcmVnc19tcHVbcmVnXSA9IGludyhjaGlwLT5tcHVfcG9ydCArIHJlZyAqIDIpOwotCWZvciAocmVnID0gMDsgcmVnIDwgQVpGX0lPX1NJWkVfU1lOVEhfUE0gLyAyOyByZWcrKykKLQkJY2hpcC0+c2F2ZWRfcmVnc19zeW50aFtyZWddID0gaW53KGNoaXAtPnN5bnRoX3BvcnQgKyByZWcgKiAyKTsKKworCWZvciAocmVnID0gMDsgcmVnIDwgQVpGX0lPX1NJWkVfQ09ERUNfUE0gLyAyOyArK3JlZykKKwkJY2hpcC0+c2F2ZWRfcmVnc19jb2RlY1tyZWddID0gaW53KGNoaXAtPmNvZGVjX2lvICsgcmVnICogMik7CisKKwkvKiBtYW51YWxseSBzdG9yZSB0aGUgb25lIGN1cnJlbnRseSByZWxldmFudCB3cml0ZS1vbmx5IHJlZywgdG9vICovCisJY2hpcC0+c2F2ZWRfcmVnc19jb2RlY1tJRFhfSU9fNkFIIC8gMl0gPSBjaGlwLT5zaGFkb3dfcmVnX2NvZGVjXzZBSDsKKworCWZvciAocmVnID0gMDsgcmVnIDwgQVpGX0lPX1NJWkVfR0FNRV9QTSAvIDI7ICsrcmVnKQorCQljaGlwLT5zYXZlZF9yZWdzX2dhbWVbcmVnXSA9IGludyhjaGlwLT5nYW1lX2lvICsgcmVnICogMik7CisJZm9yIChyZWcgPSAwOyByZWcgPCBBWkZfSU9fU0laRV9NUFVfUE0gLyAyOyArK3JlZykKKwkJY2hpcC0+c2F2ZWRfcmVnc19tcHVbcmVnXSA9IGludyhjaGlwLT5tcHVfaW8gKyByZWcgKiAyKTsKKwlmb3IgKHJlZyA9IDA7IHJlZyA8IEFaRl9JT19TSVpFX09QTDNfUE0gLyAyOyArK3JlZykKKwkJY2hpcC0+c2F2ZWRfcmVnc19vcGwzW3JlZ10gPSBpbncoY2hpcC0+b3BsM19pbyArIHJlZyAqIDIpOwogCiAJcGNpX2Rpc2FibGVfZGV2aWNlKHBjaSk7CiAJcGNpX3NhdmVfc3RhdGUocGNpKTsKQEAgLTE5MjcsNyArMjM0OCw3IEBACiB7CiAJc3RydWN0IHNuZF9jYXJkICpjYXJkID0gcGNpX2dldF9kcnZkYXRhKHBjaSk7CiAJc3RydWN0IHNuZF9hemYzMzI4ICpjaGlwID0gY2FyZC0+cHJpdmF0ZV9kYXRhOwotCWludCByZWc7CisJdW5zaWduZWQgcmVnOwogCiAJcGNpX3NldF9wb3dlcl9zdGF0ZShwY2ksIFBDSV9EMCk7CiAJcGNpX3Jlc3RvcmVfc3RhdGUocGNpKTsKQEAgLTE5MzksMjMgKzIzNjAsMjEgQEAKIAl9CiAJcGNpX3NldF9tYXN0ZXIocGNpKTsKIAotCWZvciAocmVnID0gMDsgcmVnIDwgQVpGX0lPX1NJWkVfSU8yX1BNIC8gMjsgcmVnKyspCi0JCW91dHcoY2hpcC0+c2F2ZWRfcmVnc19pbzJbcmVnXSwgY2hpcC0+aW8yX3BvcnQgKyByZWcgKiAyKTsKLQlmb3IgKHJlZyA9IDA7IHJlZyA8IEFaRl9JT19TSVpFX01QVV9QTSAvIDI7IHJlZysrKQotCQlvdXR3KGNoaXAtPnNhdmVkX3JlZ3NfbXB1W3JlZ10sIGNoaXAtPm1wdV9wb3J0ICsgcmVnICogMik7Ci0JZm9yIChyZWcgPSAwOyByZWcgPCBBWkZfSU9fU0laRV9TWU5USF9QTSAvIDI7IHJlZysrKQotCQlvdXR3KGNoaXAtPnNhdmVkX3JlZ3Nfc3ludGhbcmVnXSwgY2hpcC0+c3ludGhfcG9ydCArIHJlZyAqIDIpOwotCWZvciAocmVnID0gMDsgcmVnIDwgQVpGX0lPX1NJWkVfTUlYRVJfUE0gLyAyOyByZWcrKykKLQkJb3V0dyhjaGlwLT5zYXZlZF9yZWdzX21peGVyW3JlZ10sIGNoaXAtPm1peGVyX3BvcnQgKyByZWcgKiAyKTsKLQlmb3IgKHJlZyA9IDA7IHJlZyA8IEFaRl9JT19TSVpFX0NPREVDX1BNIC8gMjsgcmVnKyspCi0JCW91dHcoY2hpcC0+c2F2ZWRfcmVnc19jb2RlY1tyZWddLCBjaGlwLT5jb2RlY19wb3J0ICsgcmVnICogMik7CisJZm9yIChyZWcgPSAwOyByZWcgPCBBWkZfSU9fU0laRV9HQU1FX1BNIC8gMjsgKytyZWcpCisJCW91dHcoY2hpcC0+c2F2ZWRfcmVnc19nYW1lW3JlZ10sIGNoaXAtPmdhbWVfaW8gKyByZWcgKiAyKTsKKwlmb3IgKHJlZyA9IDA7IHJlZyA8IEFaRl9JT19TSVpFX01QVV9QTSAvIDI7ICsrcmVnKQorCQlvdXR3KGNoaXAtPnNhdmVkX3JlZ3NfbXB1W3JlZ10sIGNoaXAtPm1wdV9pbyArIHJlZyAqIDIpOworCWZvciAocmVnID0gMDsgcmVnIDwgQVpGX0lPX1NJWkVfT1BMM19QTSAvIDI7ICsrcmVnKQorCQlvdXR3KGNoaXAtPnNhdmVkX3JlZ3Nfb3BsM1tyZWddLCBjaGlwLT5vcGwzX2lvICsgcmVnICogMik7CisJZm9yIChyZWcgPSAwOyByZWcgPCBBWkZfSU9fU0laRV9NSVhFUl9QTSAvIDI7ICsrcmVnKQorCQlvdXR3KGNoaXAtPnNhdmVkX3JlZ3NfbWl4ZXJbcmVnXSwgY2hpcC0+bWl4ZXJfaW8gKyByZWcgKiAyKTsKKwlmb3IgKHJlZyA9IDA7IHJlZyA8IEFaRl9JT19TSVpFX0NPREVDX1BNIC8gMjsgKytyZWcpCisJCW91dHcoY2hpcC0+c2F2ZWRfcmVnc19jb2RlY1tyZWddLCBjaGlwLT5jb2RlY19pbyArIHJlZyAqIDIpOwogCiAJc25kX3Bvd2VyX2NoYW5nZV9zdGF0ZShjYXJkLCBTTkRSVl9DVExfUE9XRVJfRDApOwogCXJldHVybiAwOwogfQotI2VuZGlmCi0KLQorI2VuZGlmIC8qIENPTkZJR19QTSAqLwogCiAKIHN0YXRpYyBzdHJ1Y3QgcGNpX2RyaXZlciBkcml2ZXIgPSB7CmRpZmYgLS1naXQgYS9zb3VuZC9wY2kvYXp0MzMyOC5oIGIvc291bmQvcGNpL2F6dDMzMjguaAppbmRleCA2NzlmYTk5Li43ZTNlODk0IDEwMDY0NAotLS0gYS9zb3VuZC9wY2kvYXp0MzMyOC5oCisrKyBiL3NvdW5kL3BjaS9henQzMzI4LmgKQEAgLTEsNyArMSw4IEBACiAjaWZuZGVmIF9fU09VTkRfQVpUMzMyOF9ICiAjZGVmaW5lIF9fU09VTkRfQVpUMzMyOF9ICiAKLS8qICJQVSIgPT0gInBvd2VyLXVwIHZhbHVlIiwgYXMgdGVzdGVkIG9uIFBDSTE2OCBQQ0kgcmV2LiAxMCAqLworLyogIlBVIiA9PSAicG93ZXItdXAgdmFsdWUiLCBhcyB0ZXN0ZWQgb24gUENJMTY4IFBDSSByZXYuIDEwCisgKiAiV1JJVEVfT05MWSIgID09IHJlZ2lzdGVyIGRvZXMgbm90IGluZGljYXRlIGFjdHVhbCBiaXQgdmFsdWVzICovCiAKIC8qKiogbWFpbiBJL08gYXJlYSBwb3J0IGluZGljZXMgKioqLwogLyogKG9ubHkgMHg3MCBvZiAweDgwIGJ5dGVzIHNhdmVkL3Jlc3RvcmVkIGJ5IFdpbmRvd3MgZHJpdmVyKSAqLwpAQCAtNTQsNyArNTUsMTAgQEAKICAgI2RlZmluZSBTT1VOREZPUk1BVF9YVEFMMQkJMHgwMAogICAjZGVmaW5lIFNPVU5ERk9STUFUX1hUQUwyCQkweDAxCiAgICAgLyogYWxsIF9TVVNQRUNURURfIHZhbHVlcyBhcmUgbm90IHVzZWQgYnkgV2luZG93cyBkcml2ZXJzLCBzbyB3ZSBkb24ndAotICAgICAqIGhhdmUgYW55IGhhcmQgZmFjdHMsIG9ubHkgcm91Z2ggbWVhc3VyZW1lbnRzICovCisgICAgICogaGF2ZSBhbnkgaGFyZCBmYWN0cywgb25seSByb3VnaCBtZWFzdXJlbWVudHMuCisgICAgICogQWxsIHdlIGtub3cgaXMgdGhhdCB0aGUgY3J5c3RhbCB1c2VkIG9uIHRoZSBib2FyZCBoYXMgMjQuNTc2TUh6LAorICAgICAqIGxpa2UgbWFueSBzb3VuZGNhcmRzICh3aGljaCByZXN1bHRzIGluIHRoZSBmcmVxdWVuY2llcyBiZWxvdyB3aGVuCisgICAgICogdXNpbmcgY2VydGFpbiBkaXZpZGVyIHZhbHVlcyBzZWxlY3RlZCBieSB0aGUgdmFsdWVzIGJlbG93KSAqLwogICAgICNkZWZpbmUgU09VTkRGT1JNQVRfRlJFUV9TVVNQRUNURURfNDAwMAkweDBjIHwgU09VTkRGT1JNQVRfWFRBTDEKICAgICAjZGVmaW5lIFNPVU5ERk9STUFUX0ZSRVFfU1VTUEVDVEVEXzQ4MDAJMHgwYSB8IFNPVU5ERk9STUFUX1hUQUwxCiAgICAgI2RlZmluZSBTT1VOREZPUk1BVF9GUkVRXzU1MTAJCTB4MGMgfCBTT1VOREZPUk1BVF9YVEFMMgpAQCAtNzIsNiArNzYsMjYgQEAKICAgI2RlZmluZSBTT1VOREZPUk1BVF9GTEFHXzE2QklUCTB4MDAxMAogICAjZGVmaW5lIFNPVU5ERk9STUFUX0ZMQUdfMkNIQU5ORUxTCTB4MDAyMAogCisvKiBkZWZpbmUgZnJlcXVlbmN5IGhlbHBlcnMsIGZvciBtYXhpbXVtIHZhbHVlIHNhZmV0eSAqLworZW51bSBhemZfZnJlcV90IHsKKyNkZWZpbmUgQVpGX0ZSRVEocmF0ZSkgQVpGX0ZSRVFfIyNyYXRlID0gcmF0ZQorICBBWkZfRlJFUSg0MDAwKSwKKyAgQVpGX0ZSRVEoNDgwMCksCisgIEFaRl9GUkVRKDU1MTIpLAorICBBWkZfRlJFUSg2NjIwKSwKKyAgQVpGX0ZSRVEoODAwMCksCisgIEFaRl9GUkVRKDk2MDApLAorICBBWkZfRlJFUSgxMTAyNSksCisgIEFaRl9GUkVRKDEzMjQwKSwKKyAgQVpGX0ZSRVEoMTYwMDApLAorICBBWkZfRlJFUSgyMjA1MCksCisgIEFaRl9GUkVRKDMyMDAwKSwKKyAgQVpGX0ZSRVEoNDQxMDApLAorICBBWkZfRlJFUSg0ODAwMCksCisgIEFaRl9GUkVRKDY2MjAwKSwKKyN1bmRlZiBBWkZfRlJFUQorfSBBWkZfRlJFUVVFTkNJRVM7CisKIC8qKiByZWNvcmRpbmcgYXJlYSAoc2VlIGFsc286IHBsYXliYWNrIGJpdCBmbGFnIGRlZmluaXRpb25zKSAqKi8KICNkZWZpbmUgSURYX0lPX1JFQ19GTEFHUwkweDIwIC8qID8/LCBQVToweDAwMDAgKi8KICNkZWZpbmUgSURYX0lPX1JFQ19JUlFUWVBFCTB4MjIgLyogPz8sIFBVOjB4MDAwMCAqLwpAQCAtOTcsNDAgKzEyMSwxNzEgQEAKIAogLyoqIERpcmVjdFggdGltZXIsIG1haW4gaW50ZXJydXB0IGFyZWEgKEZJWE1FOiBhbmQgc29tZXRoaW5nIGVsc2U/KSAqKi8gCiAjZGVmaW5lIElEWF9JT19USU1FUl9WQUxVRQkweDYwIC8qIGZvdW5kIHRoaXMgdGltZXIgYXJlYSBieSBwdXJlIGx1Y2sgOi0pICovCi0gICNkZWZpbmUgVElNRVJfVkFMVUVfTUFTSwkJMHgwMDBmZmZmZlVMIC8qIHRpbWVyIGNvdW50ZG93biB2YWx1ZTsgdHJpZ2dlcnMgSVJRIHdoZW4gdGltZXIgaXMgZmluaXNoZWQgKi8KLSAgI2RlZmluZSBUSU1FUl9FTkFCTEVfQ09VTlRET1dOCTB4MDEwMDAwMDBVTCAvKiBhY3RpdmF0ZSB0aGUgdGltZXIgY291bnRkb3duICovCi0gICNkZWZpbmUgVElNRVJfRU5BQkxFX0lSUQkJMHgwMjAwMDAwMFVMIC8qIHRyaWdnZXIgdGltZXIgSVJRIG9uIHplcm8gdHJhbnNpdGlvbiAqLwotICAjZGVmaW5lIFRJTUVSX0FDS19JUlEJCQkweDA0MDAwMDAwVUwgLyogYmVpbmcgc2V0IGluIElSUSBoYW5kbGVyIGluIGNhc2UgcG9ydCAweDAwIChobW0sIG5vdCBwb3J0IDB4NjQhPyE/KSBoYWQgMHgwMDIwIHNldCB1cG9uIElSUSBoYW5kbGVyICovCisgIC8qIHRpbWVyIGNvdW50ZG93biB2YWx1ZTsgdHJpZ2dlcnMgSVJRIHdoZW4gdGltZXIgaXMgZmluaXNoZWQgKi8KKyAgI2RlZmluZSBUSU1FUl9WQUxVRV9NQVNLCQkweDAwMGZmZmZmVUwKKyAgLyogYWN0aXZhdGUgdGltZXIgY291bnRkb3duICovCisgICNkZWZpbmUgVElNRVJfQ09VTlRET1dOX0VOQUJMRQkweDAxMDAwMDAwVUwKKyAgLyogdHJpZ2dlciB0aW1lciBJUlEgb24gemVybyB0cmFuc2l0aW9uICovCisgICNkZWZpbmUgVElNRVJfSVJRX0VOQUJMRQkJMHgwMjAwMDAwMFVMCisgIC8qIGJlaW5nIHNldCBpbiBJUlEgaGFuZGxlciBpbiBjYXNlIHBvcnQgMHgwMCAoaG1tLCBub3QgcG9ydCAweDY0IT8hPykKKyAgICogaGFkIDB4MDAyMCBzZXQgdXBvbiBJUlEgaGFuZGxlciAqLworICAjZGVmaW5lIFRJTUVSX0lSUV9BQ0sJCQkweDA0MDAwMDAwVUwKICNkZWZpbmUgSURYX0lPX0lSUVNUQVRVUyAgICAgICAgMHg2NAotICAjZGVmaW5lIElSUV9QTEFZQkFDSwkJCTB4MDAwMQotICAjZGVmaW5lIElSUV9SRUNPUkRJTkcJCQkweDAwMDIKLSAgI2RlZmluZSBJUlFfTVBVNDAxCQkJMHgwMDEwCi0gICNkZWZpbmUgSVJRX1RJTUVSCQkJMHgwMDIwIC8qIERpcmVjdFggdGltZXIgKi8KLSAgI2RlZmluZSBJUlFfVU5LTk9XTjEJCQkweDAwNDAgLyogcHJvYmFibHkgdW51c2VkLCBvciBwb3NzaWJseSBJMlMgcG9ydD8gb3IgZ2FtZXBvcnQgSVJRPyAqLwotICAjZGVmaW5lIElSUV9VTktOT1dOMgkJCTB4MDA4MCAvKiBwcm9iYWJseSB1bnVzZWQsIG9yIHBvc3NpYmx5IEkyUyBwb3J0PyBvciBnYW1lcG9ydCBJUlE/ICovCisgIC8qIHNvbWUgSVJRIGJpdCBpbiBoZXJlIG1pZ2h0IGFsc28gYmUgdXNlZCB0byBzaWduYWwgYSBwb3dlci1tYW5hZ2VtZW50IHRpbWVyCisgICAqIHRpbWVvdXQsIHRvIHJlcXVlc3Qgc2h1dGRvd24gb2YgdGhlIGNoaXAgKGUuZy4gQUQxODE1SlMgaGFzIHN1Y2ggYSB0aGluZykuCisgICAqIFNvbWUgT1BMMyBoYXJkd2FyZSAoZS5nLiBpbiBMTTQ1NjApIGhhcyBzb21lIHNwZWNpYWwgdGltZXIgaGFyZHdhcmUgd2hpY2gKKyAgICogY2FuIHRyaWdnZXIgYW4gT1BMMyB0aW1lciBJUlEsIHNvIG1heWJlIHRoZXJlJ3Mgc3VjaCBhIHRoaW5nIGFzIHdlbGwuLi4gKi8KKworICAjZGVmaW5lIElSUV9QTEFZQkFDSwkweDAwMDEKKyAgI2RlZmluZSBJUlFfUkVDT1JESU5HCTB4MDAwMgorICAjZGVmaW5lIElSUV9VTktOT1dOMQkweDAwMDQgLyogbW9zdCBwcm9iYWJseSBJMlMgcG9ydCAqLworICAjZGVmaW5lIElSUV9HQU1FUE9SVAkweDAwMDggLyogSW50ZXJydXB0IG9mIERpZ2l0YWwobHkpIEVuaGFuY2VkIEdhbWUgUG9ydCAqLworICAjZGVmaW5lIElSUV9NUFU0MDEJMHgwMDEwCisgICNkZWZpbmUgSVJRX1RJTUVSCTB4MDAyMCAvKiBEaXJlY3RYIHRpbWVyICovCisgICNkZWZpbmUgSVJRX1VOS05PV04yCTB4MDA0MCAvKiBwcm9iYWJseSB1bnVzZWQsIG9yIHBvc3NpYmx5IEkyUyBwb3J0PyAqLworICAjZGVmaW5lIElSUV9VTktOT1dOMwkweDAwODAgLyogcHJvYmFibHkgdW51c2VkLCBvciBwb3NzaWJseSBJMlMgcG9ydD8gKi8KICNkZWZpbmUgSURYX0lPXzY2SAkJMHg2NiAgICAvKiB3cml0aW5nIDB4ZmZmZiByZXR1cm5zIDB4MDAwMCAqLwotI2RlZmluZSBJRFhfSU9fU09NRV9WQUxVRQkweDY4CS8qIHRoaXMgaXMgc2V0IHRvIGUuZy4gMHgzZmYgb3IgMHgzMDAsIGFuZCB3cml0YWJsZTsgbWF5YmUgc29tZSBidWZmZXIgbGltaXQsIGJ1dCBJIGNvdWxkbid0IGZpbmQgb3V0IG1vcmUsIFBVOjB4MDBmZiAqLwotI2RlZmluZSBJRFhfSU9fNkFICQkweDZBCS8qIHRoaXMgV09SRCBjYW4gYmUgc2V0IHRvIGhhdmUgYml0cyAweDAwMjggYWN0aXZhdGVkIChGSVhNRTogY29ycmVjdD8/KTsgYWN0dWFsbHkgaW5oaWJpdHMgUENNIHBsYXliYWNrISEhIG1heWJlIHBvd2VyIG1hbmFnZW1lbnQ/PyAqLwotICAjZGVmaW5lIElPXzZBX1BBVVNFX1BMQVlCQUNLCQkweDAyMDAgLyogYml0IDk7IHN1cmUsIHRoaXMgcGF1c2VzIHBsYXliYWNrLCBidXQgd2hhdCB0aGUgaGVjayBpcyB0aGlzIHJlYWxseSBhYm91dD8/ICovCi0jZGVmaW5lIElEWF9JT182Q0gJCTB4NkMKLSNkZWZpbmUgSURYX0lPXzZFSAkJMHg2RQkvKiB3cml0aW5nIDB4ZmZmZiByZXR1cm5zIDB4ODNmZSAqLwotLyogZnVydGhlciBJL08gaW5kaWNlcyBub3Qgc2F2ZWQvcmVzdG9yZWQsIHNvIHByb2JhYmx5IG5vdCB1c2VkICovCisgIC8qIHRoaXMgaXMgc2V0IHRvIGUuZy4gMHgzZmYgb3IgMHgzMDAsIGFuZCB3cml0YWJsZTsKKyAgICogbWF5YmUgc29tZSBidWZmZXIgbGltaXQsIGJ1dCBJIGNvdWxkbid0IGZpbmQgb3V0IG1vcmUsIFBVOjB4MDBmZjogKi8KKyNkZWZpbmUgSURYX0lPX1NPTUVfVkFMVUUJMHg2OAorICAjZGVmaW5lIElPXzY4X1JBTkRPTV9UT0dHTEUxCTB4MDEwMAkvKiB0b2dnbGVzIHJhbmRvbWx5ICovCisgICNkZWZpbmUgSU9fNjhfUkFORE9NX1RPR0dMRTIJMHgwMjAwCS8qIHRvZ2dsZXMgcmFuZG9tbHkgKi8KKyAgLyogdW1tLCBub3BlLCBiZWhhdmlvdXIgb2YgdGhlc2UgYml0cyBjaGFuZ2VzIGRlcGVuZGluZyBvbiB3aGF0IHdlIHdyb3RlCisgICAqIHRvIDB4NmIhIQorICAgKiBBbmQgdGhleSBjaGFuZ2UgdXBvbiBwbGF5YmFjay9zdG9wLCB0b286CisgICAqIFdyaXRpbmcgYSB2YWx1ZSB0byAweDY4IHdpbGwgZGlzcGxheSB0aGlzIGV4YWN0IHZhbHVlIGR1cmluZyBwbGF5YmFjaywKKyAgICogdG9vIGJ1dCB3aGVuIHN0b3BwZWQgaXQgY2FuIGZhbGwgYmFjayB0byBhIHJhdGhlciBkaWZmZXJlbnQKKyAgICogc2VlbWluZ2x5IHJhbmRvbSB2YWx1ZSkuIEhtbSwgcG9zc2libHkgdGhpcyBpcyBhIHJlZ2lzdGVyIHdoaWNoCisgICAqIGhhcyBhIHJlbW90ZSBzaGFkb3cgd2hpY2ggbmVlZHMgcHJvcGVyIGRldmljZSBzdXBwbHkgd2hpY2ggb25seSBleGlzdHMKKyAgICogaW4gY2FzZSBwbGF5YmFjayBpcyBhY3RpdmU/IE9yIGlzIHRoaXMgZHJpdmVyLWluZHVjZWQ/CisgICAqLworCisvKiB0aGlzIFdPUkQgY2FuIGJlIHNldCB0byBoYXZlIGJpdHMgMHgwMDI4IGFjdGl2YXRlZCAoRklYTUU6IGNvcnJlY3Q/Pyk7CisgKiBhY3R1YWxseSBpbmhpYml0cyBQQ00gcGxheWJhY2shISEgbWF5YmUgcG93ZXIgbWFuYWdlbWVudD8/OiAqLworI2RlZmluZSBJRFhfSU9fNkFICQkweDZBIC8qIFdSSVRFX09OTFkhICovCisgIC8qIGJpdCA1OiBlbmFibGluZyB0aGlzIHdpbGwgYWN0aXZhdGUgcGVybWFuZW50IGNvdW50aW5nIG9mIGJ5dGVzIDIvMworICAgKiBhdCBnYW1lcG9ydCBJL08gKDB4YjQwMi8zKSAoZXF1YWwgdmFsdWVzIGVhY2gpIGFuZCBjYXVzZQorICAgKiBnYW1lcG9ydCBsZWdhY3kgSS9PIGF0IDB4MDIwMCB0byBiZSBfRElTQUJMRURfIQorICAgKiBJcyB0aGlzIERpZ2l0YWwgRW5oYW5jZWQgR2FtZSBQb3J0IEVuYWJsZT8/PyBPciBtYXliZSBpdCdzIFRlc3Rtb2RlCisgICAqIGZvciBFbmhhbmNlZCBEaWdpdGFsIEdhbWVwb3J0IChzZWUgNEQgV2F2ZSBEWCBjYXJkKTogKi8KKyAgI2RlZmluZSBJT182QV9TT01FVEhJTkcxX0dBTUVQT1JUCTB4MDAyMAorICAvKiBiaXQgODsgc3VyZSwgdGhpcyBfcGF1c2VzXyBwbGF5YmFjayAobGF0ZXIgcmVzdW1lcyBhdCBzYW1lIHNwb3QhKSwKKyAgICogYnV0IHdoYXQgdGhlIGhlY2sgaXMgdGhpcyByZWFsbHkgYWJvdXQ/PzogKi8KKyAgI2RlZmluZSBJT182QV9QQVVTRV9QTEFZQkFDS19CSVQ4CTB4MDEwMAorICAvKiBiaXQgOTsgc3VyZSwgdGhpcyBfcGF1c2VzXyBwbGF5YmFjayAobGF0ZXIgcmVzdW1lcyBhdCBzYW1lIHNwb3QhKSwKKyAgICogYnV0IHdoYXQgdGhlIGhlY2sgaXMgdGhpcyByZWFsbHkgYWJvdXQ/PzogKi8KKyAgI2RlZmluZSBJT182QV9QQVVTRV9QTEFZQkFDS19CSVQ5CTB4MDIwMAorCS8qIEJJVDggYW5kIEJJVDkgYXJlIF9OT1RfIGFibGUgdG8gYWZmZWN0IE9QTDMgTUlESSBwbGF5YmFjaywKKwkgKiB0aHVzIGl0IHN1Z2dlc3RzIGluZmx1ZW5jZSBvbiBQQ00gb25seSEhCisJICogSG93ZXZlciBPVE9IIHRoZXJlIHNlZW1zIHRvIGJlIG5vIGJpdCBhbnl3aGVyZSBhcm91bmQgaGVyZQorCSAqIHdoaWNoIGlzIGFibGUgdG8gZGlzYWJsZSBPUEwzLi4uICovCisgIC8qIGJpdCAxMDogZW5hYmxpbmcgdGhpcyBhY3R1YWxseSBjaGFuZ2VzIHZhbHVlcyBhdCBsZWdhY3kgZ2FtZXBvcnQKKyAgICogSS9PIGFkZHJlc3MgKDB4MjAwKTsgaXMgdGhpcyBlbmFibGluZyBvZiB0aGUgRGlnaXRhbCBFbmhhbmNlZCBHYW1lIFBvcnQ/Pz8KKyAgICogT3IgbWF5YmUgdGhpcyBzaW1wbHkgc3dpdGNoZXMgb2ZmIHRoZSBORTU1OCBjaXJjdWl0LCBzaW5jZSBlbmFibGluZyB0aGlzCisgICAqIHN0aWxsIGxldHMgdXMgZXZhbHVhdGUgYnV0dG9uIHN0YXRlcywgYnV0IG5vdCBheGlzIHN0YXRlcyAqLworICAjZGVmaW5lIElPXzZBX1NPTUVUSElORzJfR0FNRVBPUlQgICAgICAweDA0MDAKKwkvKiB3cml0aW5nIDB4MDMwMDogY2F1c2VzIHF1aXRlIHNvbWUgY3JhY2tsaW5nIGR1cmluZworCSAqIFBDIGFjdGl2aXR5IHN1Y2ggYXMgc3dpdGNoaW5nIHdpbmRvd3MgKFBDSSB0cmFmZmljPz8KKwkgKiAtLT4gRklGTy90aW1pbmcgc2V0dGluZ3M/Pz8pICovCisJLyogd3JpdGluZyAweDAxMDAgcGx1cy9vciAweDAyMDAgaW5oaWJpdHMgcGxheWJhY2sgKi8KKwkvKiBzaW5jZSB0aGUgV2luZG93cyAuSU5GIGZpbGUgaGFzIEZsYWdfRW5hYmxlX0pveVN0aWNrIGFuZAorCSAqIEZsYWdfRW5hYmxlX1NCX0RPU19FbXVsYXRpb24gZGlyZWN0bHkgdG9nZXRoZXIsIGl0IHN0YW5kcyB0byByZWFzb24KKwkgKiB0aGF0IHNvbWUgb3RoZXIgYml0IGluIHRoaXMgc2FtZSByZWdpc3RlciBtaWdodCBiZSByZXNwb25zaWJsZQorCSAqIGZvciBTQiBET1MgRW11bGF0aW9uIGFjdGl2YXRpb24gKG5vdGUgdGhhdCB0aGUgZmlsZSBkaWQgTk9UIGRlZmluZQorCSAqIGEgc3dpdGNoIGZvciBPUEwzISkgKi8KKyNkZWZpbmUgSURYX0lPXzZDSAkJMHg2QwkvKiB1bmtub3duOyBmdWxseSByZWFkLXdyaXRhYmxlICovCisjZGVmaW5lIElEWF9JT182RUgJCTB4NkUKKwkvKiB3cml0aW5nIDB4ZmZmZiByZXR1cm5zIDB4ODNmZSAob3IgMHgwM2ZlIG9ubHkpLgorCSAqIHdyaXRpbmcgMHg4MyAoYW5kIG9ubHkgMHg4MyEhKSB0byAweDZmIHdpbGwgY2F1c2UgMHg2YyB0byBzd2l0Y2gKKwkgKiBmcm9tIDAwMDAgdG8gZmZmZi4gKi8KKworLyogZnVydGhlciBJL08gaW5kaWNlcyBub3Qgc2F2ZWQvcmVzdG9yZWQgYW5kIG5vdCByZWFkYWJsZSBhZnRlciB3cml0aW5nLAorICogc28gcHJvYmFibHkgbm90IHVzZWQgKi8KIAogCi0vKioqIEkvTyAyIGFyZWEgcG9ydCBpbmRpY2VzICoqKi8KKy8qKiogR2FtZXBvcnQgYXJlYSBwb3J0IGluZGljZXMgKioqLwogLyogKG9ubHkgMHgwNiBvZiAweDA4IGJ5dGVzIHNhdmVkL3Jlc3RvcmVkIGJ5IFdpbmRvd3MgZHJpdmVyKSAqLyAKLSNkZWZpbmUgQVpGX0lPX1NJWkVfSU8yCQkweDA4Ci0jZGVmaW5lIEFaRl9JT19TSVpFX0lPMl9QTQkweDA2CisjZGVmaW5lIEFaRl9JT19TSVpFX0dBTUUJCTB4MDgKKyNkZWZpbmUgQVpGX0lPX1NJWkVfR0FNRV9QTQkweDA2CiAKLSNkZWZpbmUgSURYX0lPMl9MRUdBQ1lfQUREUgkweDA0Ci0gICNkZWZpbmUgTEVHQUNZX1NPTUVUSElORwkJMHgwMSAvKiBPUEwzPz8gKi8KLSAgI2RlZmluZSBMRUdBQ1lfSk9ZCQkJMHgwOAorZW51bSB7CisJQVpGX0dBTUVfTEVHQUNZX0lPX1BPUlQgPSAweDIwMAorfSBBWkZfR0FNRV9DT05GSUdTOwogCisjZGVmaW5lIElEWF9HQU1FX0xFR0FDWV9DT01QQVRJQkxFCTB4MDAKKwkvKiBpbiBzb21lIG9wZXJhdGlvbiBtb2RlLCB3cml0aW5nIGFueXRoaW5nIHRvIHRoaXMgcG9ydAorCSAqIHRyaWdnZXJzIGFuIGludGVycnVwdDoKKwkgKiB5dXAsIHRoYXQncyBpbiBjYXNlIElEWF9HQU1FXzAxSCBoYXMgb25lIG9mIHRoZQorCSAqIGF4aXMgbWVhc3VyZW1lbnQgYml0cyBlbmFibGVkCisJICogKGFuZCBvZiBjb3Vyc2Ugb25lIG5lZWRzIHRvIGhhdmUgR0FNRV9IV0NGR19JUlFfRU5BQkxFLCB0b28pICovCisKKyNkZWZpbmUgSURYX0dBTUVfQVhFU19DT05GSUcgICAgICAgICAgICAweDAxCisJLyogTk9URTogbGF5b3V0IG9mIHRoaXMgcmVnaXN0ZXIgYXdmdWxseSBzaW1pbGFyIChyZWFkOiAiaWRlbnRpY2FsPz8iKQorCSAqIHRvIEFEMTgxNUpTLnBkZiAocC4yOSkgKi8KKworICAvKiBlbmFibGVzIGF4aXMgMSAoWCBheGlzKSBtZWFzdXJlbWVudDogKi8KKyAgI2RlZmluZSBHQU1FX0FYRVNfRU5BQkxFXzEJCTB4MDEKKyAgLyogZW5hYmxlcyBheGlzIDIgKFkgYXhpcykgbWVhc3VyZW1lbnQ6ICovCisgICNkZWZpbmUgR0FNRV9BWEVTX0VOQUJMRV8yCQkweDAyCisgIC8qIGVuYWJsZXMgYXhpcyAzIChYIGF4aXMpIG1lYXN1cmVtZW50OiAqLworICAjZGVmaW5lIEdBTUVfQVhFU19FTkFCTEVfMwkJMHgwNAorICAvKiBlbmFibGVzIGF4aXMgNCAoWSBheGlzKSBtZWFzdXJlbWVudDogKi8KKyAgI2RlZmluZSBHQU1FX0FYRVNfRU5BQkxFXzQJCTB4MDgKKyAgLyogc2VsZWN0cyB0aGUgY3VycmVudCBheGlzIHRvIHJlYWQgdGhlIG1lYXN1cmVkIHZhbHVlIG9mCisgICAqIChhdCBJRFhfR0FNRV9BWElTX1ZBTFVFKToKKyAgICogMDAgPSBheGlzIDEsIDAxID0gYXhpcyAyLCAxMCA9IGF4aXMgMywgMTEgPSBheGlzIDQ6ICovCisgICNkZWZpbmUgR0FNRV9BWEVTX1JFQURfTUFTSwkJMHgzMAorICAvKiBlbmFibGUgdG8gaGF2ZSB0aGUgbGF0Y2ggY29udGludW91c2x5IGFjY2VwdCBBREMgdmFsdWVzCisgICAqIChhbmQgY29udGludW91c2x5IGNhdXNlIGludGVycnVwdHMgaW4gY2FzZSBpbnRlcnJ1cHRzIGFyZSBlbmFibGVkKTsKKyAgICogQUQxODE1SlMucGRmIHNheXMgaXQncyB+MTZtcyBpbnRlcnZhbCB0aGVyZTogKi8KKyAgI2RlZmluZSBHQU1FX0FYRVNfTEFUQ0hfRU5BQkxFCTB4NDAKKyAgLyogam95c3RpY2sgZGF0YSAobWVhc3VyZWQgYXhlcykgcmVhZHkgZm9yIHJlYWRpbmc6ICovCisgICNkZWZpbmUgR0FNRV9BWEVTX1NBTVBMSU5HX1JFQURZCTB4ODAKKworICAvKiBOT1RFOiBvdGhlciBjYXJkIHNwZWNzIChTaVM5NjAgYW5kIG90aGVycyEpIHN0YXRlIHRoYXQgdGhlCisgICAqIGdhbWUgcG9zaXRpb24gbGF0Y2hlcyBzaG91bGQgYmUgZnJvemVuIHdoZW4gcmVhZGluZyBhbmQgYmUgZnJlZWQKKyAgICogKD09IHJlc2V0PykgYWZ0ZXIgcmVhZGluZyEhIQorICAgKiBGcmVlemluZyBtb3N0IGxpa2VseSBtZWFucyBkaXNhYmxpbmcgMHg0MCAoR0FNRV9BWEVTX0xBVENIX0VOQUJMRSksCisgICAqICBidXQgaG93IHRvIGZyZWUgdGhlIHZhbHVlPyAqLworICAvKiBBbiBpbnRlcm5ldCBzZWFyY2ggZm9yICJnYW1lcG9ydCBsYXRjaCBBREMiIHNob3VsZCBwcm92aWRlIHNvbWUgaW5zaWdodAorICAgKiBpbnRvIGhvdyB0byBwcm9ncmFtIHN1Y2ggYSBnYW1lcG9ydCBzeXN0ZW0uICovCisKKyAgLyogd3JpdGluZyAweGYwIHRvIDAxSCBvbmNlIHJlc2V0IGJvdGggY291bnRlcnMgdG8gMCwgaW4gc29tZSBzcGVjaWFsIG1vZGUhPworICAgKiB5dXAsIGluIGNhc2UgNkFIIDB4MjAgaXMgbm90IGVuYWJsZWQKKyAgICogKGFuZCAweDQwIGlzIHN1ZmZpY2llbnQsIDB4ZjAgaXMgbm90IG5lZWRlZCkgKi8KKworI2RlZmluZSBJRFhfR0FNRV9BWElTX1ZBTFVFCTB4MDIKKwkvKiBSOiB2YWx1ZSBvZiBjdXJyZW50bHkgY29uZmlndXJlZCBheGlzICh3b3JkIHZhbHVlISk7CisJICogVzogdHJpZ2dlciBheGlzIG1lYXN1cmVtZW50ICovCisKKyNkZWZpbmUgSURYX0dBTUVfSFdDT05GSUcJMHgwNAorCS8qIG5vdGU6IGJpdHMgNCB0byA3IGFyZSBuZXZlciBzZXQgKD09IDApIHdoZW4gcmVhZGluZyEKKwkgKiAtLT4gcmVzZXJ2ZWQgYml0cz8gKi8KKyAgLyogZW5hYmxlcyBJUlEgbm90aWZpY2F0aW9uIHVwb24gYXhlcyBtZWFzdXJlbWVudCByZWFkeTogKi8KKyAgI2RlZmluZSBHQU1FX0hXQ0ZHX0lSUV9FTkFCTEUJCQkweDAxCisgIC8qIHRoZXNlIGJpdHMgY2hvb3NlIGEgZGlmZmVyZW50IGZyZXF1ZW5jeSBmb3IgdGhlCisgICAqICBpbnRlcm5hbCBBREMgY291bnRlciBpbmNyZW1lbnQuCisgICAqIGhtbSwgc2VlbXMgdG8gYmUgYSBjb21ibyBvZiBiaXRzOgorICAgKiAwMCAtLT4gc3RhbmRhcmQgZnJlcXVlbmN5CisgICAqIDEwIC0tPiAxLzIKKyAgICogMDEgLS0+IDEvMjAKKyAgICogMTEgLS0+IDEvMjAwOiAqLworICAjZGVmaW5lIEdBTUVfSFdDRkdfQURDX0NPVU5URVJfRlJFUV9NQVNLCTB4MDYKKworICAvKiBlbmFibGUgZ2FtZXBvcnQgbGVnYWN5IEkvTyBhZGRyZXNzICgweDIwMCkKKyAgICogSSB3YXMgdW5hYmxlIHRvIGxvY2F0ZSBhbnkgY29uZmlndXJhYmlsaXR5IGZvciBhIGRpZmZlcmVudCBhZGRyZXNzOiAqLworICAjZGVmaW5lIEdBTUVfSFdDRkdfTEVHQUNZX0FERFJFU1NfRU5BQkxFCTB4MDgKKworLyoqKiBNUFU0MDEgKioqLwogI2RlZmluZSBBWkZfSU9fU0laRV9NUFUJCTB4MDQKICNkZWZpbmUgQVpGX0lPX1NJWkVfTVBVX1BNCTB4MDQKIAotI2RlZmluZSBBWkZfSU9fU0laRV9TWU5USAkweDA4Ci0jZGVmaW5lIEFaRl9JT19TSVpFX1NZTlRIX1BNCTB4MDYKKy8qKiogT1BMMyBzeW50aCAqKiovCisjZGVmaW5lIEFaRl9JT19TSVpFX09QTDMJMHgwOAorI2RlZmluZSBBWkZfSU9fU0laRV9PUEwzX1BNCTB4MDYKKy8qIGhtbSwgZ2l2ZW4gdGhhdCBhIHN0YW5kYXJkIE9QTDMgaGFzIDQgcmVnaXN0ZXJzIG9ubHksCisgKiB0aGVyZSBtaWdodCBiZSBzb21lIGVuaGFuY2VkIGZ1bmN0aW9uYWxpdHkgbHVya2luZyBhdCB0aGUgZW5kCisgKiAoZXNwZWNpYWxseSBzaW5jZSByZWdpc3RlciAweDA0IGhhcyBhICJub24tZW1wdHkiIHZhbHVlIDB4ZmUpICovCiAKIC8qKiogbWl4ZXIgSS9PIGFyZWEgcG9ydCBpbmRpY2VzICoqKi8KIC8qIChvbmx5IDB4MjIgb2YgMHg0MCBieXRlcyBzYXZlZC9yZXN0b3JlZCBieSBXaW5kb3dzIGRyaXZlcikKZGlmZiAtLWdpdCBhL3NvdW5kL3BjaS9jYTAxMDYvY2EwMTA2X21haW4uYyBiL3NvdW5kL3BjaS9jYTAxMDYvY2EwMTA2X21haW4uYwppbmRleCBlY2JlNzliLi4yZjhiMjhhIDEwMDY0NAotLS0gYS9zb3VuZC9wY2kvY2EwMTA2L2NhMDEwNl9tYWluLmMKKysrIGIvc291bmQvcGNpL2NhMDEwNi9jYTAxMDZfbWFpbi5jCkBAIC0yNDksNiArMjQ5LDExIEBACiAJICAgLm5hbWUgICA9ICJNU0kgSzhOIERpYW1vbmQgTUIgW1NCMDQzOF0iLAogCSAgIC5ncGlvX3R5cGUgPSAyLAogCSAgIC5pMmNfYWRjID0gMSB9ICwKKwkgLyogQW5vdGhlciBNU0kgSzhOIERpYW1vbmQgTUIsIHdoaWNoIGhhcyBhcHByZW50bHkgYSBkaWZmZXJlbnQgU1NJRCAqLworCSB7IC5zZXJpYWwgPSAweDEwMDkxMTAyLAorCSAgIC5uYW1lICAgPSAiTVNJIEs4TiBEaWFtb25kIE1CIiwKKwkgICAuZ3Bpb190eXBlID0gMiwKKwkgICAuaTJjX2FkYyA9IDEgfSAsCiAJIC8qIFNodXR0bGUgWFBDIFNEMzFQIHdoaWNoIGhhcyBhbiBvbmJvYXJkIENyZWF0aXZlIExhYnMKIAkgICogU291bmQgQmxhc3RlciBMaXZlISAyNC1iaXQgRUFYCiAJICAqIGhpZ2gtZGVmaW5pdGlvbiA3LjEgYXVkaW8gcHJvY2Vzc29yIi4KZGlmZiAtLWdpdCBhL3NvdW5kL3BjaS9lbXUxMGsxL2VtdTEwazFfbWFpbi5jIGIvc291bmQvcGNpL2VtdTEwazEvZW11MTBrMV9tYWluLmMKaW5kZXggNTQ4YzljYy4uMmYyODNlYSAxMDA2NDQKLS0tIGEvc291bmQvcGNpL2VtdTEwazEvZW11MTBrMV9tYWluLmMKKysrIGIvc291bmQvcGNpL2VtdTEwazEvZW11MTBrMV9tYWluLmMKQEAgLTE1MjgsNiArMTUyOCw3IEBACiAJIC5jYTAxNTFfY2hpcCA9IDEsCiAJIC5zcGs3MSA9IDEsCiAJIC5zcGRpZl9idWcgPSAxLAorCSAuaW52ZXJ0X3NoYXJlZF9zcGRpZiA9IDEsCS8qIGRpZ2l0YWwvYW5hbG9nIHN3aXRjaCBzd2FwcGVkICovCiAJIC5hZGNfMTM2MXQgPSAxLCAgLyogMjQgYml0IGNhcHR1cmUgaW5zdGVhZCBvZiAxNmJpdC4gRml4ZXMgQUxTQSBidWcjMzI0ICovCiAJIC5hYzk3X2NoaXAgPSAxfSAsCiAJey52ZW5kb3IgPSAweDExMDIsIC5kZXZpY2UgPSAweDAwMDQsIC5yZXZpc2lvbiA9IDB4MDQsCmRpZmYgLS1naXQgYS9zb3VuZC9wY2kvZW11MTBrMS9lbXVtaXhlci5jIGIvc291bmQvcGNpL2VtdTEwazEvZW11bWl4ZXIuYwppbmRleCBmZDIyMTIwLi5mMzRiYmZiIDEwMDY0NAotLS0gYS9zb3VuZC9wY2kvZW11MTBrMS9lbXVtaXhlci5jCisrKyBiL3NvdW5kL3BjaS9lbXUxMGsxL2VtdW1peGVyLmMKQEAgLTE1NzgsNiArMTU3OCwxMCBAQAogCQl1Y29udHJvbC0+dmFsdWUuaW50ZWdlci52YWx1ZVswXSA9IGlubChlbXUtPnBvcnQgKyBBX0lPQ0ZHKSAmIEFfSU9DRkdfR1BPVVQwID8gMSA6IDA7CiAJZWxzZQogCQl1Y29udHJvbC0+dmFsdWUuaW50ZWdlci52YWx1ZVswXSA9IGlubChlbXUtPnBvcnQgKyBIQ0ZHKSAmIEhDRkdfR1BPVVQwID8gMSA6IDA7CisJaWYgKGVtdS0+Y2FyZF9jYXBhYmlsaXRpZXMtPmludmVydF9zaGFyZWRfc3BkaWYpCisJCXVjb250cm9sLT52YWx1ZS5pbnRlZ2VyLnZhbHVlWzBdID0KKwkJCSF1Y29udHJvbC0+dmFsdWUuaW50ZWdlci52YWx1ZVswXTsKKwkJCiAJcmV0dXJuIDA7CiB9CiAKQEAgLTE1ODYsMTUgKzE1OTAsMTggQEAKIHsKIAl1bnNpZ25lZCBsb25nIGZsYWdzOwogCXN0cnVjdCBzbmRfZW11MTBrMSAqZW11ID0gc25kX2tjb250cm9sX2NoaXAoa2NvbnRyb2wpOwotCXVuc2lnbmVkIGludCByZWcsIHZhbDsKKwl1bnNpZ25lZCBpbnQgcmVnLCB2YWwsIHN3OwogCWludCBjaGFuZ2UgPSAwOwogCisJc3cgPSB1Y29udHJvbC0+dmFsdWUuaW50ZWdlci52YWx1ZVswXTsKKwlpZiAoZW11LT5jYXJkX2NhcGFiaWxpdGllcy0+aW52ZXJ0X3NoYXJlZF9zcGRpZikKKwkJc3cgPSAhc3c7CiAJc3Bpbl9sb2NrX2lycXNhdmUoJmVtdS0+cmVnX2xvY2ssIGZsYWdzKTsKIAlpZiAoIGVtdS0+Y2FyZF9jYXBhYmlsaXRpZXMtPmkyY19hZGMpIHsKIAkJLyogRG8gbm90aGluZyBmb3IgQXVkaWd5IDIgWlMgTm90ZWJvb2sgKi8KIAl9IGVsc2UgaWYgKGVtdS0+YXVkaWd5KSB7CiAJCXJlZyA9IGlubChlbXUtPnBvcnQgKyBBX0lPQ0ZHKTsKLQkJdmFsID0gdWNvbnRyb2wtPnZhbHVlLmludGVnZXIudmFsdWVbMF0gPyBBX0lPQ0ZHX0dQT1VUMCA6IDA7CisJCXZhbCA9IHN3ID8gQV9JT0NGR19HUE9VVDAgOiAwOwogCQljaGFuZ2UgPSAocmVnICYgQV9JT0NGR19HUE9VVDApICE9IHZhbDsKIAkJaWYgKGNoYW5nZSkgewogCQkJcmVnICY9IH5BX0lPQ0ZHX0dQT1VUMDsKQEAgLTE2MDMsNyArMTYxMCw3IEBACiAJCX0KIAl9CiAJcmVnID0gaW5sKGVtdS0+cG9ydCArIEhDRkcpOwotCXZhbCA9IHVjb250cm9sLT52YWx1ZS5pbnRlZ2VyLnZhbHVlWzBdID8gSENGR19HUE9VVDAgOiAwOworCXZhbCA9IHN3ID8gSENGR19HUE9VVDAgOiAwOwogCWNoYW5nZSB8PSAocmVnICYgSENGR19HUE9VVDApICE9IHZhbDsKIAlpZiAoY2hhbmdlKSB7CiAJCXJlZyAmPSB+SENGR19HUE9VVDA7CmRpZmYgLS1naXQgYS9zb3VuZC9wY2kvZW11MTBrMS9tZW1vcnkuYyBiL3NvdW5kL3BjaS9lbXUxMGsxL21lbW9yeS5jCmluZGV4IDkxNmMxZGIuLjdkMzc5ZjUgMTAwNjQ0Ci0tLSBhL3NvdW5kL3BjaS9lbXUxMGsxL21lbW9yeS5jCisrKyBiL3NvdW5kL3BjaS9lbXUxMGsxL21lbW9yeS5jCkBAIC00MzcsNDMgKzQzNyw0OSBAQAogCSpsYXN0X3BhZ2VfcmV0ID0gbGFzdF9wYWdlOwogfQogCisvKiByZWxlYXNlIGFsbG9jYXRlZCBwYWdlcyAqLworc3RhdGljIHZvaWQgX19zeW50aF9mcmVlX3BhZ2VzKHN0cnVjdCBzbmRfZW11MTBrMSAqZW11LCBpbnQgZmlyc3RfcGFnZSwKKwkJCSAgICAgICBpbnQgbGFzdF9wYWdlKQoreworCWludCBwYWdlOworCisJZm9yIChwYWdlID0gZmlyc3RfcGFnZTsgcGFnZSA8PSBsYXN0X3BhZ2U7IHBhZ2UrKykgeworCQlmcmVlX3BhZ2UoKHVuc2lnbmVkIGxvbmcpZW11LT5wYWdlX3B0cl90YWJsZVtwYWdlXSk7CisJCWVtdS0+cGFnZV9hZGRyX3RhYmxlW3BhZ2VdID0gMDsKKwkJZW11LT5wYWdlX3B0cl90YWJsZVtwYWdlXSA9IE5VTEw7CisJfQorfQorCiAvKgogICogYWxsb2NhdGUga2VybmVsIHBhZ2VzCiAgKi8KIHN0YXRpYyBpbnQgc3ludGhfYWxsb2NfcGFnZXMoc3RydWN0IHNuZF9lbXUxMGsxICplbXUsIHN0cnVjdCBzbmRfZW11MTBrMV9tZW1ibGsgKmJsaykKIHsKIAlpbnQgcGFnZSwgZmlyc3RfcGFnZSwgbGFzdF9wYWdlOwotCXN0cnVjdCBzbmRfZG1hX2J1ZmZlciBkbWFiOwogCiAJZW11MTBrMV9tZW1ibGtfaW5pdChibGspOwogCWdldF9zaW5nbGVfcGFnZV9yYW5nZShlbXUtPm1lbWhkciwgYmxrLCAmZmlyc3RfcGFnZSwgJmxhc3RfcGFnZSk7CiAJLyogYWxsb2NhdGUga2VybmVsIHBhZ2VzICovCiAJZm9yIChwYWdlID0gZmlyc3RfcGFnZTsgcGFnZSA8PSBsYXN0X3BhZ2U7IHBhZ2UrKykgewotCQlpZiAoc25kX2RtYV9hbGxvY19wYWdlcyhTTkRSVl9ETUFfVFlQRV9ERVYsIHNuZF9kbWFfcGNpX2RhdGEoZW11LT5wY2kpLAotCQkJCQlQQUdFX1NJWkUsICZkbWFiKSA8IDApCi0JCQlnb3RvIF9fZmFpbDsKLQkJaWYgKCEgaXNfdmFsaWRfcGFnZShlbXUsIGRtYWIuYWRkcikpIHsKLQkJCXNuZF9kbWFfZnJlZV9wYWdlcygmZG1hYik7Ci0JCQlnb3RvIF9fZmFpbDsKKwkJLyogZmlyc3QgdHJ5IHRvIGFsbG9jYXRlIGZyb20gPDRHQiB6b25lICovCisJCXN0cnVjdCBwYWdlICpwID0gYWxsb2NfcGFnZShHRlBfS0VSTkVMIHwgR0ZQX0RNQTMyIHwKKwkJCQkJICAgIF9fR0ZQX05PV0FSTik7CisJCWlmICghcCB8fCAocGFnZV90b19wZm4ocCkgJiB+KGVtdS0+ZG1hX21hc2sgPj4gUEFHRV9TSElGVCkpKSB7CisJCQlpZiAocCkKKwkJCQlfX2ZyZWVfcGFnZShwKTsKKwkJCS8qIHRyeSB0byBhbGxvY2F0ZSBmcm9tIDwxNk1CIHpvbmUgKi8KKwkJCXAgPSBhbGxvY19wYWdlKEdGUF9BVE9NSUMgfCBHRlBfRE1BIHwKKwkJCQkgICAgICAgX19HRlBfTk9SRVRSWSB8IC8qIG5vIE9PTS1raWxsZXIgKi8KKwkJCQkgICAgICAgX19HRlBfTk9XQVJOKTsKIAkJfQotCQllbXUtPnBhZ2VfYWRkcl90YWJsZVtwYWdlXSA9IGRtYWIuYWRkcjsKLQkJZW11LT5wYWdlX3B0cl90YWJsZVtwYWdlXSA9IGRtYWIuYXJlYTsKKwkJaWYgKCFwKSB7CisJCQlfX3N5bnRoX2ZyZWVfcGFnZXMoZW11LCBmaXJzdF9wYWdlLCBwYWdlIC0gMSk7CisJCQlyZXR1cm4gLUVOT01FTTsKKwkJfQorCQllbXUtPnBhZ2VfYWRkcl90YWJsZVtwYWdlXSA9IHBhZ2VfdG9fcGh5cyhwKTsKKwkJZW11LT5wYWdlX3B0cl90YWJsZVtwYWdlXSA9IHBhZ2VfYWRkcmVzcyhwKTsKIAl9CiAJcmV0dXJuIDA7Ci0KLV9fZmFpbDoKLQkvKiByZWxlYXNlIGFsbG9jYXRlZCBwYWdlcyAqLwotCWxhc3RfcGFnZSA9IHBhZ2UgLSAxOwotCWZvciAocGFnZSA9IGZpcnN0X3BhZ2U7IHBhZ2UgPD0gbGFzdF9wYWdlOyBwYWdlKyspIHsKLQkJZG1hYi5hcmVhID0gZW11LT5wYWdlX3B0cl90YWJsZVtwYWdlXTsKLQkJZG1hYi5hZGRyID0gZW11LT5wYWdlX2FkZHJfdGFibGVbcGFnZV07Ci0JCWRtYWIuYnl0ZXMgPSBQQUdFX1NJWkU7Ci0JCXNuZF9kbWFfZnJlZV9wYWdlcygmZG1hYik7Ci0JCWVtdS0+cGFnZV9hZGRyX3RhYmxlW3BhZ2VdID0gMDsKLQkJZW11LT5wYWdlX3B0cl90YWJsZVtwYWdlXSA9IE5VTEw7Ci0JfQotCi0JcmV0dXJuIC1FTk9NRU07CiB9CiAKIC8qCkBAIC00ODEsMjMgKzQ4NywxMCBAQAogICovCiBzdGF0aWMgaW50IHN5bnRoX2ZyZWVfcGFnZXMoc3RydWN0IHNuZF9lbXUxMGsxICplbXUsIHN0cnVjdCBzbmRfZW11MTBrMV9tZW1ibGsgKmJsaykKIHsKLQlpbnQgcGFnZSwgZmlyc3RfcGFnZSwgbGFzdF9wYWdlOwotCXN0cnVjdCBzbmRfZG1hX2J1ZmZlciBkbWFiOworCWludCBmaXJzdF9wYWdlLCBsYXN0X3BhZ2U7CiAKIAlnZXRfc2luZ2xlX3BhZ2VfcmFuZ2UoZW11LT5tZW1oZHIsIGJsaywgJmZpcnN0X3BhZ2UsICZsYXN0X3BhZ2UpOwotCWRtYWIuZGV2LnR5cGUgPSBTTkRSVl9ETUFfVFlQRV9ERVY7Ci0JZG1hYi5kZXYuZGV2ID0gc25kX2RtYV9wY2lfZGF0YShlbXUtPnBjaSk7Ci0JZm9yIChwYWdlID0gZmlyc3RfcGFnZTsgcGFnZSA8PSBsYXN0X3BhZ2U7IHBhZ2UrKykgewotCQlpZiAoZW11LT5wYWdlX3B0cl90YWJsZVtwYWdlXSA9PSBOVUxMKQotCQkJY29udGludWU7Ci0JCWRtYWIuYXJlYSA9IGVtdS0+cGFnZV9wdHJfdGFibGVbcGFnZV07Ci0JCWRtYWIuYWRkciA9IGVtdS0+cGFnZV9hZGRyX3RhYmxlW3BhZ2VdOwotCQlkbWFiLmJ5dGVzID0gUEFHRV9TSVpFOwotCQlzbmRfZG1hX2ZyZWVfcGFnZXMoJmRtYWIpOwotCQllbXUtPnBhZ2VfYWRkcl90YWJsZVtwYWdlXSA9IDA7Ci0JCWVtdS0+cGFnZV9wdHJfdGFibGVbcGFnZV0gPSBOVUxMOwotCX0KLQorCV9fc3ludGhfZnJlZV9wYWdlcyhlbXUsIGZpcnN0X3BhZ2UsIGxhc3RfcGFnZSk7CiAJcmV0dXJuIDA7CiB9CiAKZGlmZiAtLWdpdCBhL3NvdW5kL3BjaS9oZGEvaGRhX2NvZGVjLmMgYi9zb3VuZC9wY2kvaGRhL2hkYV9jb2RlYy5jCmluZGV4IGE2YmU2ZTMuLmQyZTEwOTMgMTAwNjQ0Ci0tLSBhL3NvdW5kL3BjaS9oZGEvaGRhX2NvZGVjLmMKKysrIGIvc291bmQvcGNpL2hkYS9oZGFfY29kZWMuYwpAQCAtMjMzNSw3ICsyMzM1LDcgQEAKIAlpZiAoIXRibCkKIAkJcmV0dXJuIC0xOwogCWlmICh0YmwtPnZhbHVlID49IDAgJiYgdGJsLT52YWx1ZSA8IG51bV9jb25maWdzKSB7Ci0jaWZkZWYgQ09ORklHX1NORF9ERUJVR19ERVRFQ1QKKyNpZmRlZiBDT05GSUdfU05EX0RFQlVHX1ZFUkJPU0UKIAkJY2hhciB0bXBbMTBdOwogCQljb25zdCBjaGFyICptb2RlbCA9IE5VTEw7CiAJCWlmIChtb2RlbHMpCmRpZmYgLS1naXQgYS9zb3VuZC9wY2kvaGRhL2hkYV9jb2RlYy5oIGIvc291bmQvcGNpL2hkYS9oZGFfY29kZWMuaAppbmRleCBkY2QzOTBiLi5lZmM2ODI4IDEwMDY0NAotLS0gYS9zb3VuZC9wY2kvaGRhL2hkYV9jb2RlYy5oCisrKyBiL3NvdW5kL3BjaS9oZGEvaGRhX2NvZGVjLmgKQEAgLTc4LDcgKzc4LDcgQEAKICNkZWZpbmUgQUNfVkVSQl9HRVRfQkVFUF9DT05UUk9MCQkweDBmMGEKICNkZWZpbmUgQUNfVkVSQl9HRVRfRUFQRF9CVExFTkFCTEUJCTB4MGYwYwogI2RlZmluZSBBQ19WRVJCX0dFVF9ESUdJX0NPTlZFUlRfMQkJMHgwZjBkCi0jZGVmaW5lIEFDX1ZFUkJfR0VUX0RJR0lfQ09OVkVSVF8yCQkweDBmMGUKKyNkZWZpbmUgQUNfVkVSQl9HRVRfRElHSV9DT05WRVJUXzIJCTB4MGYwZSAvKiB1bnVzZWQgKi8KICNkZWZpbmUgQUNfVkVSQl9HRVRfVk9MVU1FX0tOT0JfQ09OVFJPTAkJMHgwZjBmCiAvKiBmMTAtZjFhOiBHUElPICovCiAjZGVmaW5lIEFDX1ZFUkJfR0VUX0dQSU9fREFUQQkJCTB4MGYxNQpkaWZmIC0tZ2l0IGEvc291bmQvcGNpL2hkYS9oZGFfaHdkZXAuYyBiL3NvdW5kL3BjaS9oZGEvaGRhX2h3ZGVwLmMKaW5kZXggMjE3N2Q5YS4uNmUxOGE0MiAxMDA2NDQKLS0tIGEvc291bmQvcGNpL2hkYS9oZGFfaHdkZXAuYworKysgYi9zb3VuZC9wY2kvaGRhL2hkYV9od2RlcC5jCkBAIC04OCw3ICs4OCw3IEBACiAKIHN0YXRpYyBpbnQgaGRhX2h3ZGVwX29wZW4oc3RydWN0IHNuZF9od2RlcCAqaHcsIHN0cnVjdCBmaWxlICpmaWxlKQogewotI2lmbmRlZiBDT05GSUdfU05EX0RFQlVHX0RFVEVDVAorI2lmbmRlZiBDT05GSUdfU05EX0RFQlVHX1ZFUkJPU0UKIAlpZiAoIWNhcGFibGUoQ0FQX1NZU19SQVdJTykpCiAJCXJldHVybiAtRUFDQ0VTOwogI2VuZGlmCmRpZmYgLS1naXQgYS9zb3VuZC9wY2kvaGRhL2hkYV9pbnRlbC5jIGIvc291bmQvcGNpL2hkYS9oZGFfaW50ZWwuYwppbmRleCBiM2E2MThlLi4xNjcxNWE2IDEwMDY0NAotLS0gYS9zb3VuZC9wY2kvaGRhL2hkYV9pbnRlbC5jCisrKyBiL3NvdW5kL3BjaS9oZGEvaGRhX2ludGVsLmMKQEAgLTU1LDYgKzU1LDcgQEAKIHN0YXRpYyBpbnQgZW5hYmxlW1NORFJWX0NBUkRTXSA9IFNORFJWX0RFRkFVTFRfRU5BQkxFX1BOUDsKIHN0YXRpYyBjaGFyICptb2RlbFtTTkRSVl9DQVJEU107CiBzdGF0aWMgaW50IHBvc2l0aW9uX2ZpeFtTTkRSVl9DQVJEU107CitzdGF0aWMgaW50IGJkbF9wb3NfYWRqW1NORFJWX0NBUkRTXSA9IHtbMCAuLi4gKFNORFJWX0NBUkRTLTEpXSA9IC0xfTsKIHN0YXRpYyBpbnQgcHJvYmVfbWFza1tTTkRSVl9DQVJEU10gPSB7WzAgLi4uIChTTkRSVl9DQVJEUy0xKV0gPSAtMX07CiBzdGF0aWMgaW50IHNpbmdsZV9jbWQ7CiBzdGF0aWMgaW50IGVuYWJsZV9tc2k7CkBAIC02OSw3ICs3MCw5IEBACiBNT0RVTEVfUEFSTV9ERVNDKG1vZGVsLCAiVXNlIHRoZSBnaXZlbiBib2FyZCBtb2RlbC4iKTsKIG1vZHVsZV9wYXJhbV9hcnJheShwb3NpdGlvbl9maXgsIGludCwgTlVMTCwgMDQ0NCk7CiBNT0RVTEVfUEFSTV9ERVNDKHBvc2l0aW9uX2ZpeCwgIkZpeCBETUEgcG9pbnRlciAiCi0JCSAiKDAgPSBhdXRvLCAxID0gbm9uZSwgMiA9IFBPU0JVRiwgMyA9IEZJRk8gc2l6ZSkuIik7CisJCSAiKDAgPSBhdXRvLCAxID0gbm9uZSwgMiA9IFBPU0JVRikuIik7Cittb2R1bGVfcGFyYW1fYXJyYXkoYmRsX3Bvc19hZGosIGludCwgTlVMTCwgMDY0NCk7CitNT0RVTEVfUEFSTV9ERVNDKGJkbF9wb3NfYWRqLCAiQkRMIHBvc2l0aW9uIGFkanVzdG1lbnQgb2Zmc2V0LiIpOwogbW9kdWxlX3BhcmFtX2FycmF5KHByb2JlX21hc2ssIGludCwgTlVMTCwgMDQ0NCk7CiBNT0RVTEVfUEFSTV9ERVNDKHByb2JlX21hc2ssICJCaXRtYXNrIHRvIHByb2JlIGNvZGVjcyAoZGVmYXVsdCA9IC0xKS4iKTsKIG1vZHVsZV9wYXJhbShzaW5nbGVfY21kLCBib29sLCAwNDQ0KTsKQEAgLTE5Nyw2ICsyMDAsMTAgQEAKICNkZWZpbmUgQVRJSERNSV9OVU1fQ0FQVFVSRQkwCiAjZGVmaW5lIEFUSUhETUlfTlVNX1BMQVlCQUNLCTEKIAorLyogVEVSQSBoYXMgNCBwbGF5YmFjayBhbmQgMyBjYXB0dXJlICovCisjZGVmaW5lIFRFUkFfTlVNX0NBUFRVUkUJMworI2RlZmluZSBURVJBX05VTV9QTEFZQkFDSwk0CisKIC8qIHRoaXMgbnVtYmVyIGlzIHN0YXRpY2FsbHkgZGVmaW5lZCBmb3Igc2ltcGxpY2l0eSAqLwogI2RlZmluZSBNQVhfQVpYX0RFVgkJMTYKIApAQCAtMjU5LDkgKzI2Niw4IEBACiAvKiBwb3NpdGlvbiBmaXggbW9kZSAqLwogZW51bSB7CiAJUE9TX0ZJWF9BVVRPLAotCVBPU19GSVhfTk9ORSwKKwlQT1NfRklYX0xQSUIsCiAJUE9TX0ZJWF9QT1NCVUYsCi0JUE9TX0ZJWF9GSUZPLAogfTsKIAogLyogRGVmaW5lcyBmb3IgQVRJIEhEIEF1ZGlvIHN1cHBvcnQgaW4gU0I0NTAgc291dGggYnJpZGdlICovCkBAIC0yODUsNiArMjkxLDcgQEAKIAl1MzIgKnBvc2J1ZjsJCS8qIHBvc2l0aW9uIGJ1ZmZlciBwb2ludGVyICovCiAKIAl1bnNpZ25lZCBpbnQgYnVmc2l6ZTsJLyogc2l6ZSBvZiB0aGUgcGxheSBidWZmZXIgaW4gYnl0ZXMgKi8KKwl1bnNpZ25lZCBpbnQgcGVyaW9kX2J5dGVzOyAvKiBzaXplIG9mIHRoZSBwZXJpb2QgaW4gYnl0ZXMgKi8KIAl1bnNpZ25lZCBpbnQgZnJhZ3M7CS8qIG51bWJlciBmb3IgcGVyaW9kIGluIHRoZSBwbGF5IGJ1ZmZlciAqLwogCXVuc2lnbmVkIGludCBmaWZvX3NpemU7CS8qIEZJRk8gc2l6ZSAqLwogCkBAIC0zMDEsMTEgKzMwOCwxMSBAQAogCQkJCQkgKi8KIAl1bnNpZ25lZCBjaGFyIHN0cmVhbV90YWc7CS8qIGFzc2lnbmVkIHN0cmVhbSAqLwogCXVuc2lnbmVkIGNoYXIgaW5kZXg7CQkvKiBzdHJlYW0gaW5kZXggKi8KLQkvKiBmb3Igc2FuaXR5IGNoZWNrIG9mIHBvc2l0aW9uIGJ1ZmZlciAqLwotCXVuc2lnbmVkIGludCBwZXJpb2RfaW50cjsKIAogCXVuc2lnbmVkIGludCBvcGVuZWQgOjE7CiAJdW5zaWduZWQgaW50IHJ1bm5pbmcgOjE7CisJdW5zaWduZWQgaW50IGlycV9wZW5kaW5nIDoxOworCXVuc2lnbmVkIGludCBpcnFfaWdub3JlIDoxOwogfTsKIAogLyogQ09SQi9SSVJCICovCkBAIC0zMjMsNiArMzMwLDcgQEAKIHN0cnVjdCBhenggewogCXN0cnVjdCBzbmRfY2FyZCAqY2FyZDsKIAlzdHJ1Y3QgcGNpX2RldiAqcGNpOworCWludCBkZXZfaW5kZXg7CiAKIAkvKiBjaGlwIHR5cGUgc3BlY2lmaWMgKi8KIAlpbnQgZHJpdmVyX3R5cGU7CkBAIC0zNjYsOSArMzc0LDEzIEBACiAJdW5zaWduZWQgaW50IHNpbmdsZV9jbWQgOjE7CiAJdW5zaWduZWQgaW50IHBvbGxpbmdfbW9kZSA6MTsKIAl1bnNpZ25lZCBpbnQgbXNpIDoxOworCXVuc2lnbmVkIGludCBpcnFfcGVuZGluZ193YXJuZWQgOjE7CiAKIAkvKiBmb3IgZGVidWdnaW5nICovCiAJdW5zaWduZWQgaW50IGxhc3RfY21kOwkvKiBsYXN0IGlzc3VlZCBjb21tYW5kICh0byBzeW5jKSAqLworCisJLyogZm9yIHBlbmRpbmcgaXJxcyAqLworCXN0cnVjdCB3b3JrX3N0cnVjdCBpcnFfcGVuZGluZ193b3JrOwogfTsKIAogLyogZHJpdmVyIHR5cGVzICovCkBAIC0zODEsNiArMzkzLDcgQEAKIAlBWlhfRFJJVkVSX1NJUywKIAlBWlhfRFJJVkVSX1VMSSwKIAlBWlhfRFJJVkVSX05WSURJQSwKKwlBWlhfRFJJVkVSX1RFUkEsCiB9OwogCiBzdGF0aWMgY2hhciAqZHJpdmVyX3Nob3J0X25hbWVzW10gX19kZXZpbml0ZGF0YSA9IHsKQEAgLTM5Miw2ICs0MDUsNyBAQAogCVtBWlhfRFJJVkVSX1NJU10gPSAiSERBIFNJUzk2NiIsCiAJW0FaWF9EUklWRVJfVUxJXSA9ICJIREEgVUxJIE01NDYxIiwKIAlbQVpYX0RSSVZFUl9OVklESUFdID0gIkhEQSBOVmlkaWEiLAorCVtBWlhfRFJJVkVSX1RFUkFdID0gIkhEQSBUZXJhZGljaSIsIAogfTsKIAogLyoKQEAgLTQyNiwxMSArNDQwLDYgQEAKIC8qIGZvciBwY20gc3VwcG9ydCAqLwogI2RlZmluZSBnZXRfYXp4X2RldihzdWJzdHJlYW0pIChzdWJzdHJlYW0tPnJ1bnRpbWUtPnByaXZhdGVfZGF0YSkKIAotLyogR2V0IHRoZSB1cHBlciAzMmJpdCBvZiB0aGUgZ2l2ZW4gZG1hX2FkZHJfdAotICogQ29tcGlsZXIgc2hvdWxkIG9wdGltaXplIGFuZCBlbGltaW5hdGUgdGhlIGNvZGUgaWYgZG1hX2FkZHJfdCBpcyAzMmJpdAotICovCi0jZGVmaW5lIHVwcGVyXzMyYml0KGFkZHIpIChzaXplb2YoYWRkcikgPiA0ID8gKHUzMikoKGFkZHIpID4+IDMyKSA6ICh1MzIpMCkKLQogc3RhdGljIGludCBhenhfYWNxdWlyZV9pcnEoc3RydWN0IGF6eCAqY2hpcCwgaW50IGRvX2Rpc2Nvbm5lY3QpOwogCiAvKgpAQCAtNDYxLDcgKzQ3MCw3IEBACiAJY2hpcC0+Y29yYi5hZGRyID0gY2hpcC0+cmIuYWRkcjsKIAljaGlwLT5jb3JiLmJ1ZiA9ICh1MzIgKiljaGlwLT5yYi5hcmVhOwogCWF6eF93cml0ZWwoY2hpcCwgQ09SQkxCQVNFLCAodTMyKWNoaXAtPmNvcmIuYWRkcik7Ci0JYXp4X3dyaXRlbChjaGlwLCBDT1JCVUJBU0UsIHVwcGVyXzMyYml0KGNoaXAtPmNvcmIuYWRkcikpOworCWF6eF93cml0ZWwoY2hpcCwgQ09SQlVCQVNFLCB1cHBlcl8zMl9iaXRzKGNoaXAtPmNvcmIuYWRkcikpOwogCiAJLyogc2V0IHRoZSBjb3JiIHNpemUgdG8gMjU2IGVudHJpZXMgKFVMSSByZXF1aXJlcyBleHBsaWNpdGx5KSAqLwogCWF6eF93cml0ZWIoY2hpcCwgQ09SQlNJWkUsIDB4MDIpOwpAQCAtNDc2LDcgKzQ4NSw3IEBACiAJY2hpcC0+cmlyYi5hZGRyID0gY2hpcC0+cmIuYWRkciArIDIwNDg7CiAJY2hpcC0+cmlyYi5idWYgPSAodTMyICopKGNoaXAtPnJiLmFyZWEgKyAyMDQ4KTsKIAlhenhfd3JpdGVsKGNoaXAsIFJJUkJMQkFTRSwgKHUzMiljaGlwLT5yaXJiLmFkZHIpOwotCWF6eF93cml0ZWwoY2hpcCwgUklSQlVCQVNFLCB1cHBlcl8zMmJpdChjaGlwLT5yaXJiLmFkZHIpKTsKKwlhenhfd3JpdGVsKGNoaXAsIFJJUkJVQkFTRSwgdXBwZXJfMzJfYml0cyhjaGlwLT5yaXJiLmFkZHIpKTsKIAogCS8qIHNldCB0aGUgcmlyYiBzaXplIHRvIDI1NiBlbnRyaWVzIChVTEkgcmVxdWlyZXMgZXhwbGljaXRseSkgKi8KIAlhenhfd3JpdGViKGNoaXAsIFJJUkJTSVpFLCAweDAyKTsKQEAgLTg0Nyw3ICs4NTYsNyBAQAogCiAJLyogcHJvZ3JhbSB0aGUgcG9zaXRpb24gYnVmZmVyICovCiAJYXp4X3dyaXRlbChjaGlwLCBEUExCQVNFLCAodTMyKWNoaXAtPnBvc2J1Zi5hZGRyKTsKLQlhenhfd3JpdGVsKGNoaXAsIERQVUJBU0UsIHVwcGVyXzMyYml0KGNoaXAtPnBvc2J1Zi5hZGRyKSk7CisJYXp4X3dyaXRlbChjaGlwLCBEUFVCQVNFLCB1cHBlcl8zMl9iaXRzKGNoaXAtPnBvc2J1Zi5hZGRyKSk7CiAKIAljaGlwLT5pbml0aWFsaXplZCA9IDE7CiB9CkBAIC05MDgsNiArOTE3LDggQEAKIH0KIAogCitzdGF0aWMgaW50IGF6eF9wb3NpdGlvbl9vayhzdHJ1Y3QgYXp4ICpjaGlwLCBzdHJ1Y3QgYXp4X2RldiAqYXp4X2Rldik7CisKIC8qCiAgKiBpbnRlcnJ1cHQgaGFuZGxlcgogICovCkBAIC05MzAsMTEgKzk0MSwyMyBAQAogCQlhenhfZGV2ID0gJmNoaXAtPmF6eF9kZXZbaV07CiAJCWlmIChzdGF0dXMgJiBhenhfZGV2LT5zZF9pbnRfc3RhX21hc2spIHsKIAkJCWF6eF9zZF93cml0ZWIoYXp4X2RldiwgU0RfU1RTLCBTRF9JTlRfTUFTSyk7Ci0JCQlpZiAoYXp4X2Rldi0+c3Vic3RyZWFtICYmIGF6eF9kZXYtPnJ1bm5pbmcpIHsKLQkJCQlhenhfZGV2LT5wZXJpb2RfaW50cisrOworCQkJaWYgKCFhenhfZGV2LT5zdWJzdHJlYW0gfHwgIWF6eF9kZXYtPnJ1bm5pbmcpCisJCQkJY29udGludWU7CisJCQkvKiBpZ25vcmUgdGhlIGZpcnN0IGR1bW15IElSUSAoZHVlIHRvIHBvc19hZGopICovCisJCQlpZiAoYXp4X2Rldi0+aXJxX2lnbm9yZSkgeworCQkJCWF6eF9kZXYtPmlycV9pZ25vcmUgPSAwOworCQkJCWNvbnRpbnVlOworCQkJfQorCQkJLyogY2hlY2sgd2hldGhlciB0aGlzIElSUSBpcyByZWFsbHkgYWNjZXB0YWJsZSAqLworCQkJaWYgKGF6eF9wb3NpdGlvbl9vayhjaGlwLCBhenhfZGV2KSkgeworCQkJCWF6eF9kZXYtPmlycV9wZW5kaW5nID0gMDsKIAkJCQlzcGluX3VubG9jaygmY2hpcC0+cmVnX2xvY2spOwogCQkJCXNuZF9wY21fcGVyaW9kX2VsYXBzZWQoYXp4X2Rldi0+c3Vic3RyZWFtKTsKIAkJCQlzcGluX2xvY2soJmNoaXAtPnJlZ19sb2NrKTsKKwkJCX0gZWxzZSB7CisJCQkJLyogYm9ndXMgSVJRLCBwcm9jZXNzIGl0IGxhdGVyICovCisJCQkJYXp4X2Rldi0+aXJxX3BlbmRpbmcgPSAxOworCQkJCXNjaGVkdWxlX3dvcmsoJmNoaXAtPmlycV9wZW5kaW5nX3dvcmspOwogCQkJfQogCQl9CiAJfQpAQCAtOTU5LDU5ICs5ODIsMTA3IEBACiAKIAogLyoKLSAqIHNldCB1cCBCREwgZW50cmllcworICogc2V0IHVwIGEgQkRMIGVudHJ5CiAgKi8KLXN0YXRpYyBpbnQgYXp4X3NldHVwX3BlcmlvZHMoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0sCi0JCQkgICAgIHN0cnVjdCBhenhfZGV2ICphenhfZGV2KQorc3RhdGljIGludCBzZXR1cF9iZGxlKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtLAorCQkgICAgICBzdHJ1Y3QgYXp4X2RldiAqYXp4X2RldiwgdTMyICoqYmRscCwKKwkJICAgICAgaW50IG9mcywgaW50IHNpemUsIGludCB3aXRoX2lvYykKIHsKIAlzdHJ1Y3Qgc25kX3NnX2J1ZiAqc2didWYgPSBzbmRfcGNtX3N1YnN0cmVhbV9zZ2J1ZihzdWJzdHJlYW0pOworCXUzMiAqYmRsID0gKmJkbHA7CisKKwl3aGlsZSAoc2l6ZSA+IDApIHsKKwkJZG1hX2FkZHJfdCBhZGRyOworCQlpbnQgY2h1bms7CisKKwkJaWYgKGF6eF9kZXYtPmZyYWdzID49IEFaWF9NQVhfQkRMX0VOVFJJRVMpCisJCQlyZXR1cm4gLUVJTlZBTDsKKworCQlhZGRyID0gc25kX3BjbV9zZ2J1Zl9nZXRfYWRkcihzZ2J1Ziwgb2ZzKTsKKwkJLyogcHJvZ3JhbSB0aGUgYWRkcmVzcyBmaWVsZCBvZiB0aGUgQkRMIGVudHJ5ICovCisJCWJkbFswXSA9IGNwdV90b19sZTMyKCh1MzIpYWRkcik7CisJCWJkbFsxXSA9IGNwdV90b19sZTMyKHVwcGVyXzMyX2JpdHMoYWRkcikpOworCQkvKiBwcm9ncmFtIHRoZSBzaXplIGZpZWxkIG9mIHRoZSBCREwgZW50cnkgKi8KKwkJY2h1bmsgPSBQQUdFX1NJWkUgLSAob2ZzICUgUEFHRV9TSVpFKTsKKwkJaWYgKHNpemUgPCBjaHVuaykKKwkJCWNodW5rID0gc2l6ZTsKKwkJYmRsWzJdID0gY3B1X3RvX2xlMzIoY2h1bmspOworCQkvKiBwcm9ncmFtIHRoZSBJT0MgdG8gZW5hYmxlIGludGVycnVwdAorCQkgKiBvbmx5IHdoZW4gdGhlIHdob2xlIGZyYWdtZW50IGlzIHByb2Nlc3NlZAorCQkgKi8KKwkJc2l6ZSAtPSBjaHVuazsKKwkJYmRsWzNdID0gKHNpemUgfHwgIXdpdGhfaW9jKSA/IDAgOiBjcHVfdG9fbGUzMigweDAxKTsKKwkJYmRsICs9IDQ7CisJCWF6eF9kZXYtPmZyYWdzKys7CisJCW9mcyArPSBjaHVuazsKKwl9CisJKmJkbHAgPSBiZGw7CisJcmV0dXJuIG9mczsKK30KKworLyoKKyAqIHNldCB1cCBCREwgZW50cmllcworICovCitzdGF0aWMgaW50IGF6eF9zZXR1cF9wZXJpb2RzKHN0cnVjdCBhenggKmNoaXAsCisJCQkgICAgIHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtLAorCQkJICAgICBzdHJ1Y3QgYXp4X2RldiAqYXp4X2RldikKK3sKIAl1MzIgKmJkbDsKIAlpbnQgaSwgb2ZzLCBwZXJpb2RzLCBwZXJpb2RfYnl0ZXM7CisJaW50IHBvc19hZGo7CiAKIAkvKiByZXNldCBCREwgYWRkcmVzcyAqLwogCWF6eF9zZF93cml0ZWwoYXp4X2RldiwgU0RfQkRMUEwsIDApOwogCWF6eF9zZF93cml0ZWwoYXp4X2RldiwgU0RfQkRMUFUsIDApOwogCiAJcGVyaW9kX2J5dGVzID0gc25kX3BjbV9saWJfcGVyaW9kX2J5dGVzKHN1YnN0cmVhbSk7CisJYXp4X2Rldi0+cGVyaW9kX2J5dGVzID0gcGVyaW9kX2J5dGVzOwogCXBlcmlvZHMgPSBhenhfZGV2LT5idWZzaXplIC8gcGVyaW9kX2J5dGVzOwogCiAJLyogcHJvZ3JhbSB0aGUgaW5pdGlhbCBCREwgZW50cmllcyAqLwogCWJkbCA9ICh1MzIgKilhenhfZGV2LT5iZGwuYXJlYTsKIAlvZnMgPSAwOwogCWF6eF9kZXYtPmZyYWdzID0gMDsKLQlmb3IgKGkgPSAwOyBpIDwgcGVyaW9kczsgaSsrKSB7Ci0JCWludCBzaXplLCByZXN0OwotCQlpZiAoaSA+PSBBWlhfTUFYX0JETF9FTlRSSUVTKSB7Ci0JCQlzbmRfcHJpbnRrKEtFUk5fRVJSICJUb28gbWFueSBCREwgZW50cmllczogIgotCQkJCSAgICJidWZmZXI9JWQsIHBlcmlvZD0lZFxuIiwKLQkJCQkgICBhenhfZGV2LT5idWZzaXplLCBwZXJpb2RfYnl0ZXMpOwotCQkJLyogcmVzZXQgKi8KLQkJCWF6eF9zZF93cml0ZWwoYXp4X2RldiwgU0RfQkRMUEwsIDApOwotCQkJYXp4X3NkX3dyaXRlbChhenhfZGV2LCBTRF9CRExQVSwgMCk7Ci0JCQlyZXR1cm4gLUVJTlZBTDsKKwlhenhfZGV2LT5pcnFfaWdub3JlID0gMDsKKwlwb3NfYWRqID0gYmRsX3Bvc19hZGpbY2hpcC0+ZGV2X2luZGV4XTsKKwlpZiAocG9zX2FkaiA+IDApIHsKKwkJc3RydWN0IHNuZF9wY21fcnVudGltZSAqcnVudGltZSA9IHN1YnN0cmVhbS0+cnVudGltZTsKKwkJcG9zX2FkaiA9IChwb3NfYWRqICogcnVudGltZS0+cmF0ZSArIDQ3OTk5KSAvIDQ4MDAwOworCQlpZiAoIXBvc19hZGopCisJCQlwb3NfYWRqID0gMTsKKwkJcG9zX2FkaiA9IGZyYW1lc190b19ieXRlcyhydW50aW1lLCBwb3NfYWRqKTsKKwkJaWYgKHBvc19hZGogPj0gcGVyaW9kX2J5dGVzKSB7CisJCQlzbmRfcHJpbnRrKEtFUk5fV0FSTklORyAiVG9vIGJpZyBhZGp1c3RtZW50ICVkXG4iLAorCQkJCSAgIGJkbF9wb3NfYWRqW2NoaXAtPmRldl9pbmRleF0pOworCQkJcG9zX2FkaiA9IDA7CisJCX0gZWxzZSB7CisJCQlvZnMgPSBzZXR1cF9iZGxlKHN1YnN0cmVhbSwgYXp4X2RldiwKKwkJCQkJICZiZGwsIG9mcywgcG9zX2FkaiwgMSk7CisJCQlpZiAob2ZzIDwgMCkKKwkJCQlnb3RvIGVycm9yOworCQkJYXp4X2Rldi0+aXJxX2lnbm9yZSA9IDE7CiAJCX0KLQkJcmVzdCA9IHBlcmlvZF9ieXRlczsKLQkJZG8gewotCQkJZG1hX2FkZHJfdCBhZGRyID0gc25kX3BjbV9zZ2J1Zl9nZXRfYWRkcihzZ2J1Ziwgb2ZzKTsKLQkJCS8qIHByb2dyYW0gdGhlIGFkZHJlc3MgZmllbGQgb2YgdGhlIEJETCBlbnRyeSAqLwotCQkJYmRsWzBdID0gY3B1X3RvX2xlMzIoKHUzMilhZGRyKTsKLQkJCWJkbFsxXSA9IGNwdV90b19sZTMyKHVwcGVyXzMyYml0KGFkZHIpKTsKLQkJCS8qIHByb2dyYW0gdGhlIHNpemUgZmllbGQgb2YgdGhlIEJETCBlbnRyeSAqLwotCQkJc2l6ZSA9IFBBR0VfU0laRSAtIChvZnMgJSBQQUdFX1NJWkUpOwotCQkJaWYgKHJlc3QgPCBzaXplKQotCQkJCXNpemUgPSByZXN0OwotCQkJYmRsWzJdID0gY3B1X3RvX2xlMzIoc2l6ZSk7Ci0JCQkvKiBwcm9ncmFtIHRoZSBJT0MgdG8gZW5hYmxlIGludGVycnVwdAotCQkJICogb25seSB3aGVuIHRoZSB3aG9sZSBmcmFnbWVudCBpcyBwcm9jZXNzZWQKLQkJCSAqLwotCQkJcmVzdCAtPSBzaXplOwotCQkJYmRsWzNdID0gcmVzdCA/IDAgOiBjcHVfdG9fbGUzMigweDAxKTsKLQkJCWJkbCArPSA0OwotCQkJYXp4X2Rldi0+ZnJhZ3MrKzsKLQkJCW9mcyArPSBzaXplOwotCQl9IHdoaWxlIChyZXN0ID4gMCk7CisJfSBlbHNlCisJCXBvc19hZGogPSAwOworCWZvciAoaSA9IDA7IGkgPCBwZXJpb2RzOyBpKyspIHsKKwkJaWYgKGkgPT0gcGVyaW9kcyAtIDEgJiYgcG9zX2FkaikKKwkJCW9mcyA9IHNldHVwX2JkbGUoc3Vic3RyZWFtLCBhenhfZGV2LCAmYmRsLCBvZnMsCisJCQkJCSBwZXJpb2RfYnl0ZXMgLSBwb3NfYWRqLCAwKTsKKwkJZWxzZQorCQkJb2ZzID0gc2V0dXBfYmRsZShzdWJzdHJlYW0sIGF6eF9kZXYsICZiZGwsIG9mcywKKwkJCQkJIHBlcmlvZF9ieXRlcywgMSk7CisJCWlmIChvZnMgPCAwKQorCQkJZ290byBlcnJvcjsKIAl9CiAJcmV0dXJuIDA7CisKKyBlcnJvcjoKKwlzbmRfcHJpbnRrKEtFUk5fRVJSICJUb28gbWFueSBCREwgZW50cmllczogYnVmZmVyPSVkLCBwZXJpb2Q9JWRcbiIsCisJCSAgIGF6eF9kZXYtPmJ1ZnNpemUsIHBlcmlvZF9ieXRlcyk7CisJLyogcmVzZXQgKi8KKwlhenhfc2Rfd3JpdGVsKGF6eF9kZXYsIFNEX0JETFBMLCAwKTsKKwlhenhfc2Rfd3JpdGVsKGF6eF9kZXYsIFNEX0JETFBVLCAwKTsKKwlyZXR1cm4gLUVJTlZBTDsKIH0KIAogLyoKQEAgLTEwNjIsNyArMTEzMyw3IEBACiAJLyogbG93ZXIgQkRMIGFkZHJlc3MgKi8KIAlhenhfc2Rfd3JpdGVsKGF6eF9kZXYsIFNEX0JETFBMLCAodTMyKWF6eF9kZXYtPmJkbC5hZGRyKTsKIAkvKiB1cHBlciBCREwgYWRkcmVzcyAqLwotCWF6eF9zZF93cml0ZWwoYXp4X2RldiwgU0RfQkRMUFUsIHVwcGVyXzMyYml0KGF6eF9kZXYtPmJkbC5hZGRyKSk7CisJYXp4X3NkX3dyaXRlbChhenhfZGV2LCBTRF9CRExQVSwgdXBwZXJfMzJfYml0cyhhenhfZGV2LT5iZGwuYWRkcikpOwogCiAJLyogZW5hYmxlIHRoZSBwb3NpdGlvbiBidWZmZXIgKi8KIAlpZiAoY2hpcC0+cG9zaXRpb25fZml4ID09IFBPU19GSVhfUE9TQlVGIHx8CkBAIC0xMDg1LDcgKzExNTYsNyBAQAogICovCiAKIHN0YXRpYyB1bnNpZ25lZCBpbnQgYXp4X21heF9jb2RlY3NbXSBfX2RldmluaXRkYXRhID0gewotCVtBWlhfRFJJVkVSX0lDSF0gPSAzLAorCVtBWlhfRFJJVkVSX0lDSF0gPSA0LAkJLyogU29tZSBJQ0g5IGJvYXJkcyB1c2UgU0QzICovCiAJW0FaWF9EUklWRVJfU0NIXSA9IDMsCiAJW0FaWF9EUklWRVJfQVRJXSA9IDQsCiAJW0FaWF9EUklWRVJfQVRJSERNSV0gPSA0LApAQCAtMTA5Myw2ICsxMTY0LDcgQEAKIAlbQVpYX0RSSVZFUl9TSVNdID0gMywJCS8qIEZJWE1FOiBjb3JyZWN0PyAqLwogCVtBWlhfRFJJVkVSX1VMSV0gPSAzLAkJLyogRklYTUU6IGNvcnJlY3Q/ICovCiAJW0FaWF9EUklWRVJfTlZJRElBXSA9IDMsCS8qIEZJWE1FOiBjb3JyZWN0PyAqLworCVtBWlhfRFJJVkVSX1RFUkFdID0gMSwKIH07CiAKIHN0YXRpYyBpbnQgX19kZXZpbml0IGF6eF9jb2RlY19jcmVhdGUoc3RydWN0IGF6eCAqY2hpcCwgY29uc3QgY2hhciAqbW9kZWwsCkBAIC0xMzE2LDcgKzEzODgsNyBAQAogCiAJc25kX3ByaW50ZGQoImF6eF9wY21fcHJlcGFyZTogYnVmc2l6ZT0weCV4LCBmb3JtYXQ9MHgleFxuIiwKIAkJICAgIGF6eF9kZXYtPmJ1ZnNpemUsIGF6eF9kZXYtPmZvcm1hdF92YWwpOwotCWlmIChhenhfc2V0dXBfcGVyaW9kcyhzdWJzdHJlYW0sIGF6eF9kZXYpIDwgMCkKKwlpZiAoYXp4X3NldHVwX3BlcmlvZHMoY2hpcCwgc3Vic3RyZWFtLCBhenhfZGV2KSA8IDApCiAJCXJldHVybiAtRUlOVkFMOwogCWF6eF9zZXR1cF9jb250cm9sbGVyKGNoaXAsIGF6eF9kZXYpOwogCWlmIChzdWJzdHJlYW0tPnN0cmVhbSA9PSBTTkRSVl9QQ01fU1RSRUFNX1BMQVlCQUNLKQpAQCAtMTQyMSwzNSArMTQ5MywxMTMgQEAKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIHNuZF9wY21fdWZyYW1lc190IGF6eF9wY21fcG9pbnRlcihzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSkKK3N0YXRpYyB1bnNpZ25lZCBpbnQgYXp4X2dldF9wb3NpdGlvbihzdHJ1Y3QgYXp4ICpjaGlwLAorCQkJCSAgICAgc3RydWN0IGF6eF9kZXYgKmF6eF9kZXYpCiB7Ci0Jc3RydWN0IGF6eF9wY20gKmFwY20gPSBzbmRfcGNtX3N1YnN0cmVhbV9jaGlwKHN1YnN0cmVhbSk7Ci0Jc3RydWN0IGF6eCAqY2hpcCA9IGFwY20tPmNoaXA7Ci0Jc3RydWN0IGF6eF9kZXYgKmF6eF9kZXYgPSBnZXRfYXp4X2RldihzdWJzdHJlYW0pOwogCXVuc2lnbmVkIGludCBwb3M7CiAKIAlpZiAoY2hpcC0+cG9zaXRpb25fZml4ID09IFBPU19GSVhfUE9TQlVGIHx8CiAJICAgIGNoaXAtPnBvc2l0aW9uX2ZpeCA9PSBQT1NfRklYX0FVVE8pIHsKIAkJLyogdXNlIHRoZSBwb3NpdGlvbiBidWZmZXIgKi8KIAkJcG9zID0gbGUzMl90b19jcHUoKmF6eF9kZXYtPnBvc2J1Zik7Ci0JCWlmIChjaGlwLT5wb3NpdGlvbl9maXggPT0gUE9TX0ZJWF9BVVRPICYmCi0JCSAgICBhenhfZGV2LT5wZXJpb2RfaW50ciA9PSAxICYmICFwb3MpIHsKLQkJCXByaW50ayhLRVJOX1dBUk5JTkcKLQkJCSAgICAgICAiaGRhLWludGVsOiBJbnZhbGlkIHBvc2l0aW9uIGJ1ZmZlciwgIgotCQkJICAgICAgICJ1c2luZyBMUElCIHJlYWQgbWV0aG9kIGluc3RlYWQuXG4iKTsKLQkJCWNoaXAtPnBvc2l0aW9uX2ZpeCA9IFBPU19GSVhfTk9ORTsKLQkJCWdvdG8gcmVhZF9scGliOwotCQl9CiAJfSBlbHNlIHsKLQlyZWFkX2xwaWI6CiAJCS8qIHJlYWQgTFBJQiAqLwogCQlwb3MgPSBhenhfc2RfcmVhZGwoYXp4X2RldiwgU0RfTFBJQik7Ci0JCWlmIChjaGlwLT5wb3NpdGlvbl9maXggPT0gUE9TX0ZJWF9GSUZPKQotCQkJcG9zICs9IGF6eF9kZXYtPmZpZm9fc2l6ZTsKIAl9CiAJaWYgKHBvcyA+PSBhenhfZGV2LT5idWZzaXplKQogCQlwb3MgPSAwOwotCXJldHVybiBieXRlc190b19mcmFtZXMoc3Vic3RyZWFtLT5ydW50aW1lLCBwb3MpOworCXJldHVybiBwb3M7Cit9CisKK3N0YXRpYyBzbmRfcGNtX3VmcmFtZXNfdCBhenhfcGNtX3BvaW50ZXIoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0pCit7CisJc3RydWN0IGF6eF9wY20gKmFwY20gPSBzbmRfcGNtX3N1YnN0cmVhbV9jaGlwKHN1YnN0cmVhbSk7CisJc3RydWN0IGF6eCAqY2hpcCA9IGFwY20tPmNoaXA7CisJc3RydWN0IGF6eF9kZXYgKmF6eF9kZXYgPSBnZXRfYXp4X2RldihzdWJzdHJlYW0pOworCXJldHVybiBieXRlc190b19mcmFtZXMoc3Vic3RyZWFtLT5ydW50aW1lLAorCQkJICAgICAgIGF6eF9nZXRfcG9zaXRpb24oY2hpcCwgYXp4X2RldikpOworfQorCisvKgorICogQ2hlY2sgd2hldGhlciB0aGUgY3VycmVudCBETUEgcG9zaXRpb24gaXMgYWNjZXB0YWJsZSBmb3IgdXBkYXRpbmcKKyAqIHBlcmlvZHMuICBSZXR1cm5zIG5vbi16ZXJvIGlmIGl0J3MgT0suCisgKgorICogTWFueSBIRC1hdWRpbyBjb250cm9sbGVycyBhcHBlYXIgcHJldHR5IGluYWNjdXJhdGUgYWJvdXQKKyAqIHRoZSB1cGRhdGUtSVJRIHRpbWluZy4gIFRoZSBJUlEgaXMgaXNzdWVkIGJlZm9yZSBhY3R1YWxseSB0aGUKKyAqIGRhdGEgaXMgcHJvY2Vzc2VkLiAgU28sIHdlIG5lZWQgdG8gcHJvY2VzcyBpdCBhZnRlcndvcmRzIGluIGEKKyAqIHdvcmtxdWV1ZS4KKyAqLworc3RhdGljIGludCBhenhfcG9zaXRpb25fb2soc3RydWN0IGF6eCAqY2hpcCwgc3RydWN0IGF6eF9kZXYgKmF6eF9kZXYpCit7CisJdW5zaWduZWQgaW50IHBvczsKKworCXBvcyA9IGF6eF9nZXRfcG9zaXRpb24oY2hpcCwgYXp4X2Rldik7CisJaWYgKGNoaXAtPnBvc2l0aW9uX2ZpeCA9PSBQT1NfRklYX0FVVE8pIHsKKwkJaWYgKCFwb3MpIHsKKwkJCXByaW50ayhLRVJOX1dBUk5JTkcKKwkJCSAgICAgICAiaGRhLWludGVsOiBJbnZhbGlkIHBvc2l0aW9uIGJ1ZmZlciwgIgorCQkJICAgICAgICJ1c2luZyBMUElCIHJlYWQgbWV0aG9kIGluc3RlYWQuXG4iKTsKKwkJCWNoaXAtPnBvc2l0aW9uX2ZpeCA9IFBPU19GSVhfTFBJQjsKKwkJCXBvcyA9IGF6eF9nZXRfcG9zaXRpb24oY2hpcCwgYXp4X2Rldik7CisJCX0gZWxzZQorCQkJY2hpcC0+cG9zaXRpb25fZml4ID0gUE9TX0ZJWF9QT1NCVUY7CisJfQorCisJaWYgKHBvcyAlIGF6eF9kZXYtPnBlcmlvZF9ieXRlcyA+IGF6eF9kZXYtPnBlcmlvZF9ieXRlcyAvIDIpCisJCXJldHVybiAwOyAvKiBORyAtIGl0J3MgYmVsb3cgdGhlIHBlcmlvZCBib3VuZGFyeSAqLworCXJldHVybiAxOyAvKiBPSywgaXQncyBmaW5lICovCit9CisKKy8qCisgKiBUaGUgd29yayBmb3IgcGVuZGluZyBQQ00gcGVyaW9kIHVwZGF0ZXMuCisgKi8KK3N0YXRpYyB2b2lkIGF6eF9pcnFfcGVuZGluZ193b3JrKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykKK3sKKwlzdHJ1Y3QgYXp4ICpjaGlwID0gY29udGFpbmVyX29mKHdvcmssIHN0cnVjdCBhengsIGlycV9wZW5kaW5nX3dvcmspOworCWludCBpLCBwZW5kaW5nOworCisJaWYgKCFjaGlwLT5pcnFfcGVuZGluZ193YXJuZWQpIHsKKwkJcHJpbnRrKEtFUk5fV0FSTklORworCQkgICAgICAgImhkYS1pbnRlbDogSVJRIHRpbWluZyB3b3JrYXJvdW5kIGlzIGFjdGl2YXRlZCAiCisJCSAgICAgICAiZm9yIGNhcmQgIyVkLiBTdWdnZXN0IGEgYmlnZ2VyIGJkbF9wb3NfYWRqLlxuIiwKKwkJICAgICAgIGNoaXAtPmNhcmQtPm51bWJlcik7CisJCWNoaXAtPmlycV9wZW5kaW5nX3dhcm5lZCA9IDE7CisJfQorCisJZm9yICg7OykgeworCQlwZW5kaW5nID0gMDsKKwkJc3Bpbl9sb2NrX2lycSgmY2hpcC0+cmVnX2xvY2spOworCQlmb3IgKGkgPSAwOyBpIDwgY2hpcC0+bnVtX3N0cmVhbXM7IGkrKykgeworCQkJc3RydWN0IGF6eF9kZXYgKmF6eF9kZXYgPSAmY2hpcC0+YXp4X2RldltpXTsKKwkJCWlmICghYXp4X2Rldi0+aXJxX3BlbmRpbmcgfHwKKwkJCSAgICAhYXp4X2Rldi0+c3Vic3RyZWFtIHx8CisJCQkgICAgIWF6eF9kZXYtPnJ1bm5pbmcpCisJCQkJY29udGludWU7CisJCQlpZiAoYXp4X3Bvc2l0aW9uX29rKGNoaXAsIGF6eF9kZXYpKSB7CisJCQkJYXp4X2Rldi0+aXJxX3BlbmRpbmcgPSAwOworCQkJCXNwaW5fdW5sb2NrKCZjaGlwLT5yZWdfbG9jayk7CisJCQkJc25kX3BjbV9wZXJpb2RfZWxhcHNlZChhenhfZGV2LT5zdWJzdHJlYW0pOworCQkJCXNwaW5fbG9jaygmY2hpcC0+cmVnX2xvY2spOworCQkJfSBlbHNlCisJCQkJcGVuZGluZysrOworCQl9CisJCXNwaW5fdW5sb2NrX2lycSgmY2hpcC0+cmVnX2xvY2spOworCQlpZiAoIXBlbmRpbmcpCisJCQlyZXR1cm47CisJCWNvbmRfcmVzY2hlZCgpOworCX0KK30KKworLyogY2xlYXIgaXJxX3BlbmRpbmcgZmxhZ3MgYW5kIGFzc3VyZSBubyBvbi1nb2luZyB3b3JrcSAqLworc3RhdGljIHZvaWQgYXp4X2NsZWFyX2lycV9wZW5kaW5nKHN0cnVjdCBhenggKmNoaXApCit7CisJaW50IGk7CisKKwlzcGluX2xvY2tfaXJxKCZjaGlwLT5yZWdfbG9jayk7CisJZm9yIChpID0gMDsgaSA8IGNoaXAtPm51bV9zdHJlYW1zOyBpKyspCisJCWNoaXAtPmF6eF9kZXZbaV0uaXJxX3BlbmRpbmcgPSAwOworCXNwaW5fdW5sb2NrX2lycSgmY2hpcC0+cmVnX2xvY2spOworCWZsdXNoX3NjaGVkdWxlZF93b3JrKCk7CiB9CiAKIHN0YXRpYyBzdHJ1Y3Qgc25kX3BjbV9vcHMgYXp4X3BjbV9vcHMgPSB7CkBAIC0xNjc2LDYgKzE4MjYsNyBAQAogCWludCBpOwogCiAJc25kX3Bvd2VyX2NoYW5nZV9zdGF0ZShjYXJkLCBTTkRSVl9DVExfUE9XRVJfRDNob3QpOworCWF6eF9jbGVhcl9pcnFfcGVuZGluZyhjaGlwKTsKIAlmb3IgKGkgPSAwOyBpIDwgQVpYX01BWF9QQ01TOyBpKyspCiAJCXNuZF9wY21fc3VzcGVuZF9hbGwoY2hpcC0+cGNtW2ldKTsKIAlpZiAoY2hpcC0+aW5pdGlhbGl6ZWQpCkBAIC0xNzMyLDYgKzE4ODMsNyBAQAogCWludCBpOwogCiAJaWYgKGNoaXAtPmluaXRpYWxpemVkKSB7CisJCWF6eF9jbGVhcl9pcnFfcGVuZGluZyhjaGlwKTsKIAkJZm9yIChpID0gMDsgaSA8IGNoaXAtPm51bV9zdHJlYW1zOyBpKyspCiAJCQlhenhfc3RyZWFtX3N0b3AoY2hpcCwgJmNoaXAtPmF6eF9kZXZbaV0pOwogCQlhenhfc3RvcF9jaGlwKGNoaXApOwpAQCAtMTc3MCw5ICsxOTIyLDkgQEAKICAqIHdoaXRlL2JsYWNrLWxpc3RpbmcgZm9yIHBvc2l0aW9uX2ZpeAogICovCiBzdGF0aWMgc3RydWN0IHNuZF9wY2lfcXVpcmsgcG9zaXRpb25fZml4X2xpc3RbXSBfX2RldmluaXRkYXRhID0gewotCVNORF9QQ0lfUVVJUksoMHgxMDI4LCAweDAxY2MsICJEZWxsIEQ4MjAiLCBQT1NfRklYX05PTkUpLAotCVNORF9QQ0lfUVVJUksoMHgxMDI4LCAweDAxZGUsICJEZWxsIFByZWNpc2lvbiAzOTAiLCBQT1NfRklYX05PTkUpLAotCVNORF9QQ0lfUVVJUksoMHgxMDQzLCAweDgxM2QsICJBU1VTIFA1QUQyIiwgUE9TX0ZJWF9OT05FKSwKKwlTTkRfUENJX1FVSVJLKDB4MTAyOCwgMHgwMWNjLCAiRGVsbCBEODIwIiwgUE9TX0ZJWF9MUElCKSwKKwlTTkRfUENJX1FVSVJLKDB4MTAyOCwgMHgwMWRlLCAiRGVsbCBQcmVjaXNpb24gMzkwIiwgUE9TX0ZJWF9MUElCKSwKKwlTTkRfUENJX1FVSVJLKDB4MTA0MywgMHg4MTNkLCAiQVNVUyBQNUFEMiIsIFBPU19GSVhfTFBJQiksCiAJe30KIH07CiAKQEAgLTE4NTcsMTIgKzIwMDksMjUgQEAKIAljaGlwLT5pcnEgPSAtMTsKIAljaGlwLT5kcml2ZXJfdHlwZSA9IGRyaXZlcl90eXBlOwogCWNoaXAtPm1zaSA9IGVuYWJsZV9tc2k7CisJY2hpcC0+ZGV2X2luZGV4ID0gZGV2OworCUlOSVRfV09SSygmY2hpcC0+aXJxX3BlbmRpbmdfd29yaywgYXp4X2lycV9wZW5kaW5nX3dvcmspOwogCiAJY2hpcC0+cG9zaXRpb25fZml4ID0gY2hlY2tfcG9zaXRpb25fZml4KGNoaXAsIHBvc2l0aW9uX2ZpeFtkZXZdKTsKIAljaGVja19wcm9iZV9tYXNrKGNoaXAsIGRldik7CiAKIAljaGlwLT5zaW5nbGVfY21kID0gc2luZ2xlX2NtZDsKIAorCWlmIChiZGxfcG9zX2FkaltkZXZdIDwgMCkgeworCQlzd2l0Y2ggKGNoaXAtPmRyaXZlcl90eXBlKSB7CisJCWNhc2UgQVpYX0RSSVZFUl9JQ0g6CisJCQliZGxfcG9zX2FkaltkZXZdID0gMTsKKwkJCWJyZWFrOworCQlkZWZhdWx0OgorCQkJYmRsX3Bvc19hZGpbZGV2XSA9IDMyOworCQkJYnJlYWs7CisJCX0KKwl9CisKICNpZiBCSVRTX1BFUl9MT05HICE9IDY0CiAJLyogRml4IHVwIGJhc2UgYWRkcmVzcyBvbiBVTEkgTTU0NjEgKi8KIAlpZiAoY2hpcC0+ZHJpdmVyX3R5cGUgPT0gQVpYX0RSSVZFUl9VTEkpIHsKQEAgLTIwODksNiArMjI1NCw3IEBACiAJeyBQQ0lfREVWSUNFKDB4ODA4NiwgMHgyN2Q4KSwgLmRyaXZlcl9kYXRhID0gQVpYX0RSSVZFUl9JQ0ggfSwKIAl7IFBDSV9ERVZJQ0UoMHg4MDg2LCAweDI2OWEpLCAuZHJpdmVyX2RhdGEgPSBBWlhfRFJJVkVSX0lDSCB9LAogCXsgUENJX0RFVklDRSgweDgwODYsIDB4Mjg0YiksIC5kcml2ZXJfZGF0YSA9IEFaWF9EUklWRVJfSUNIIH0sCisJeyBQQ0lfREVWSUNFKDB4ODA4NiwgMHgyOTExKSwgLmRyaXZlcl9kYXRhID0gQVpYX0RSSVZFUl9JQ0ggfSwKIAl7IFBDSV9ERVZJQ0UoMHg4MDg2LCAweDI5M2UpLCAuZHJpdmVyX2RhdGEgPSBBWlhfRFJJVkVSX0lDSCB9LAogCXsgUENJX0RFVklDRSgweDgwODYsIDB4MjkzZiksIC5kcml2ZXJfZGF0YSA9IEFaWF9EUklWRVJfSUNIIH0sCiAJeyBQQ0lfREVWSUNFKDB4ODA4NiwgMHgzYTNlKSwgLmRyaXZlcl9kYXRhID0gQVpYX0RSSVZFUl9JQ0ggfSwKQEAgLTIxNDEsNiArMjMwNyw4IEBACiAJeyBQQ0lfREVWSUNFKDB4MTBkZSwgMHgwYmQ1KSwgLmRyaXZlcl9kYXRhID0gQVpYX0RSSVZFUl9OVklESUEgfSwKIAl7IFBDSV9ERVZJQ0UoMHgxMGRlLCAweDBiZDYpLCAuZHJpdmVyX2RhdGEgPSBBWlhfRFJJVkVSX05WSURJQSB9LAogCXsgUENJX0RFVklDRSgweDEwZGUsIDB4MGJkNyksIC5kcml2ZXJfZGF0YSA9IEFaWF9EUklWRVJfTlZJRElBIH0sCisJLyogVGVyYWRpY2kgKi8KKwl7IFBDSV9ERVZJQ0UoMHg2NTQ5LCAweDEyMDApLCAuZHJpdmVyX2RhdGEgPSBBWlhfRFJJVkVSX1RFUkEgfSwKIAl7IDAsIH0KIH07CiBNT0RVTEVfREVWSUNFX1RBQkxFKHBjaSwgYXp4X2lkcyk7CmRpZmYgLS1naXQgYS9zb3VuZC9wY2kvaGRhL2hkYV9wcm9jLmMgYi9zb3VuZC9wY2kvaGRhL2hkYV9wcm9jLmMKaW5kZXggNTYzM2Y3Ny4uMWU1YWZmNSAxMDA2NDQKLS0tIGEvc291bmQvcGNpL2hkYS9oZGFfcHJvYy5jCisrKyBiL3NvdW5kL3BjaS9oZGEvaGRhX3Byb2MuYwpAQCAtMzY2LDggKzM2Niw2IEBACiB7CiAJdW5zaWduZWQgaW50IGRpZ2kxID0gc25kX2hkYV9jb2RlY19yZWFkKGNvZGVjLCBuaWQsIDAsCiAJCQkJCQlBQ19WRVJCX0dFVF9ESUdJX0NPTlZFUlRfMSwgMCk7Ci0JdW5zaWduZWQgaW50IGRpZ2kyID0gc25kX2hkYV9jb2RlY19yZWFkKGNvZGVjLCBuaWQsIDAsCi0JCQkJCQlBQ19WRVJCX0dFVF9ESUdJX0NPTlZFUlRfMiwgMCk7CiAJc25kX2lwcmludGYoYnVmZmVyLCAiICBEaWdpdGFsOiIpOwogCWlmIChkaWdpMSAmIEFDX0RJRzFfRU5BQkxFKQogCQlzbmRfaXByaW50ZihidWZmZXIsICIgRW5hYmxlZCIpOwpAQCAtMzg2LDcgKzM4NCw4IEBACiAJaWYgKGRpZ2kxICYgQUNfRElHMV9MRVZFTCkKIAkJc25kX2lwcmludGYoYnVmZmVyLCAiIEdlbkxldmVsIik7CiAJc25kX2lwcmludGYoYnVmZmVyLCAiXG4iKTsKLQlzbmRfaXByaW50ZihidWZmZXIsICIgIERpZ2l0YWwgY2F0ZWdvcnk6IDB4JXhcbiIsIGRpZ2kyICYgQUNfRElHMl9DQyk7CisJc25kX2lwcmludGYoYnVmZmVyLCAiICBEaWdpdGFsIGNhdGVnb3J5OiAweCV4XG4iLAorCQkgICAgKGRpZ2kxID4+IDgpICYgQUNfRElHMl9DQyk7CiB9CiAKIHN0YXRpYyBjb25zdCBjaGFyICpnZXRfcHdyX3N0YXRlKHUzMiBzdGF0ZSkKZGlmZiAtLWdpdCBhL3NvdW5kL3BjaS9oZGEvcGF0Y2hfYW5hbG9nLmMgYi9zb3VuZC9wY2kvaGRhL3BhdGNoX2FuYWxvZy5jCmluZGV4IGE5OWU4NmQuLmU4MDAzZDkgMTAwNjQ0Ci0tLSBhL3NvdW5kL3BjaS9oZGEvcGF0Y2hfYW5hbG9nLmMKKysrIGIvc291bmQvcGNpL2hkYS9wYXRjaF9hbmFsb2cuYwpAQCAtMjMsNyArMjMsNiBAQAogI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+CiAjaW5jbHVkZSA8bGludXgvc2xhYi5oPgogI2luY2x1ZGUgPGxpbnV4L3BjaS5oPgotI2luY2x1ZGUgPGxpbnV4L211dGV4Lmg+CiAKICNpbmNsdWRlIDxzb3VuZC9jb3JlLmg+CiAjaW5jbHVkZSAiaGRhX2NvZGVjLmgiCkBAIC02NCw3ICs2Myw2IEBACiAJLyogUENNIGluZm9ybWF0aW9uICovCiAJc3RydWN0IGhkYV9wY20gcGNtX3JlY1szXTsJLyogdXNlZCBpbiBhbGNfYnVpbGRfcGNtcygpICovCiAKLQlzdHJ1Y3QgbXV0ZXggYW1wX211dGV4OwkvKiBQQ00gdm9sdW1lL211dGUgY29udHJvbCBtdXRleCAqLwogCXVuc2lnbmVkIGludCBzcGRpZl9yb3V0ZTsKIAogCS8qIGR5bmFtaWMgY29udHJvbHMsIGluaXRfdmVyYnMgYW5kIGlucHV0X211eCAqLwpAQCAtMTYxOCw2ICsxNjE2LDcgQEAKIAogc3RhdGljIHN0cnVjdCBzbmRfcGNpX3F1aXJrIGFkMTk4MV9jZmdfdGJsW10gPSB7CiAJU05EX1BDSV9RVUlSSygweDEwMTQsIDB4MDU5NywgIkxlbm92byBaNjAiLCBBRDE5ODFfVEhJTktQQUQpLAorCVNORF9QQ0lfUVVJUksoMHgxMDE0LCAweDA1YjcsICJMZW5vdm8gWjYwbSIsIEFEMTk4MV9USElOS1BBRCksCiAJLyogQWxsIEhQIG1vZGVscyAqLwogCVNORF9QQ0lfUVVJUksoMHgxMDNjLCAwLCAiSFAgbngiLCBBRDE5ODFfSFApLAogCVNORF9QQ0lfUVVJUksoMHgxMTc5LCAweDAwMDEsICJUb3NoaWJhIFUyMDUiLCBBRDE5ODFfVE9TSElCQSksCkBAIC0yNjIzLDcgKzI2MjIsNyBAQAogewogCXN0cnVjdCBhZDE5OHhfc3BlYyAqc3BlYyA9IGNvZGVjLT5zcGVjOwogCWhkYV9uaWRfdCBuaWQ7Ci0JaW50IGlkeCwgZXJyOworCWludCBpLCBpZHgsIGVycjsKIAljaGFyIG5hbWVbMzJdOwogCiAJaWYgKCEgcGluKQpAQCAtMjYzMSwxNiArMjYzMCwyNiBAQAogCiAJaWR4ID0gYWQxOTg4X3Bpbl9pZHgocGluKTsKIAluaWQgPSBhZDE5ODhfaWR4X3RvX2RhYyhjb2RlYywgaWR4KTsKLQkvKiBzcGVjaWZ5IHRoZSBEQUMgYXMgdGhlIGV4dHJhIG91dHB1dCAqLwotCWlmICghIHNwZWMtPm11bHRpb3V0LmhwX25pZCkKLQkJc3BlYy0+bXVsdGlvdXQuaHBfbmlkID0gbmlkOwotCWVsc2UKLQkJc3BlYy0+bXVsdGlvdXQuZXh0cmFfb3V0X25pZFswXSA9IG5pZDsKLQkvKiBjb250cm9sIEhQIHZvbHVtZS9zd2l0Y2ggb24gdGhlIG91dHB1dCBtaXhlciBhbXAgKi8KLQlzcHJpbnRmKG5hbWUsICIlcyBQbGF5YmFjayBWb2x1bWUiLCBwZngpOwotCWlmICgoZXJyID0gYWRkX2NvbnRyb2woc3BlYywgQURfQ1RMX1dJREdFVF9WT0wsIG5hbWUsCi0JCQkgICAgICAgSERBX0NPTVBPU0VfQU1QX1ZBTChuaWQsIDMsIDAsIEhEQV9PVVRQVVQpKSkgPCAwKQotCQlyZXR1cm4gZXJyOworCS8qIGNoZWNrIHdoZXRoZXIgdGhlIGNvcnJlc3BvbmRpbmcgREFDIHdhcyBhbHJlYWR5IHRha2VuICovCisJZm9yIChpID0gMDsgaSA8IHNwZWMtPmF1dG9jZmcubGluZV9vdXRzOyBpKyspIHsKKwkJaGRhX25pZF90IHBpbiA9IHNwZWMtPmF1dG9jZmcubGluZV9vdXRfcGluc1tpXTsKKwkJaGRhX25pZF90IGRhYyA9IGFkMTk4OF9pZHhfdG9fZGFjKGNvZGVjLCBhZDE5ODhfcGluX2lkeChwaW4pKTsKKwkJaWYgKGRhYyA9PSBuaWQpCisJCQlicmVhazsKKwl9CisJaWYgKGkgPj0gc3BlYy0+YXV0b2NmZy5saW5lX291dHMpIHsKKwkJLyogc3BlY2lmeSB0aGUgREFDIGFzIHRoZSBleHRyYSBvdXRwdXQgKi8KKwkJaWYgKCFzcGVjLT5tdWx0aW91dC5ocF9uaWQpCisJCQlzcGVjLT5tdWx0aW91dC5ocF9uaWQgPSBuaWQ7CisJCWVsc2UKKwkJCXNwZWMtPm11bHRpb3V0LmV4dHJhX291dF9uaWRbMF0gPSBuaWQ7CisJCS8qIGNvbnRyb2wgSFAgdm9sdW1lL3N3aXRjaCBvbiB0aGUgb3V0cHV0IG1peGVyIGFtcCAqLworCQlzcHJpbnRmKG5hbWUsICIlcyBQbGF5YmFjayBWb2x1bWUiLCBwZngpOworCQllcnIgPSBhZGRfY29udHJvbChzcGVjLCBBRF9DVExfV0lER0VUX1ZPTCwgbmFtZSwKKwkJCQkgIEhEQV9DT01QT1NFX0FNUF9WQUwobmlkLCAzLCAwLCBIREFfT1VUUFVUKSk7CisJCWlmIChlcnIgPCAwKQorCQkJcmV0dXJuIGVycjsKKwl9CiAJbmlkID0gYWQxOTg4X21peGVyX25pZHNbaWR4XTsKIAlzcHJpbnRmKG5hbWUsICIlcyBQbGF5YmFjayBTd2l0Y2giLCBwZngpOwogCWlmICgoZXJyID0gYWRkX2NvbnRyb2woc3BlYywgQURfQ1RMX0JJTkRfTVVURSwgbmFtZSwKQEAgLTMxNzcsNyArMzE4Niw2IEBACiAJaWYgKHNwZWMgPT0gTlVMTCkKIAkJcmV0dXJuIC1FTk9NRU07CiAKLQltdXRleF9pbml0KCZzcGVjLT5hbXBfbXV0ZXgpOwogCWNvZGVjLT5zcGVjID0gc3BlYzsKIAogCXNwZWMtPm11bHRpb3V0Lm1heF9jaGFubmVscyA9IDI7CkBAIC0zODQ3LDcgKzM4NTUsNiBAQAogCWlmIChzcGVjID09IE5VTEwpCiAJCXJldHVybiAtRU5PTUVNOwogCi0JbXV0ZXhfaW5pdCgmc3BlYy0+YW1wX211dGV4KTsKIAljb2RlYy0+c3BlYyA9IHNwZWM7CiAKIAlzcGVjLT5tdWx0aW91dC5tYXhfY2hhbm5lbHMgPSAyOwpAQCAtNDE1Miw3ICs0MTU5LDYgQEAKIAlpZiAoc3BlYyA9PSBOVUxMKQogCQlyZXR1cm4gLUVOT01FTTsKIAotCW11dGV4X2luaXQoJnNwZWMtPmFtcF9tdXRleCk7CiAJY29kZWMtPnNwZWMgPSBzcGVjOwogCiAJc3BlYy0+bXVsdGlvdXQubWF4X2NoYW5uZWxzID0gNjsKZGlmZiAtLWdpdCBhL3NvdW5kL3BjaS9oZGEvcGF0Y2hfY29uZXhhbnQuYyBiL3NvdW5kL3BjaS9oZGEvcGF0Y2hfY29uZXhhbnQuYwppbmRleCAzNmZkODUyLi43YzFlYjIzIDEwMDY0NAotLS0gYS9zb3VuZC9wY2kvaGRhL3BhdGNoX2NvbmV4YW50LmMKKysrIGIvc291bmQvcGNpL2hkYS9wYXRjaF9jb25leGFudC5jCkBAIC04Miw3ICs4Miw2IEBACiAJLyogUENNIGluZm9ybWF0aW9uICovCiAJc3RydWN0IGhkYV9wY20gcGNtX3JlY1syXTsJLyogdXNlZCBpbiBidWlsZF9wY21zKCkgKi8KIAotCXN0cnVjdCBtdXRleCBhbXBfbXV0ZXg7CS8qIFBDTSB2b2x1bWUvbXV0ZSBjb250cm9sIG11dGV4ICovCiAJdW5zaWduZWQgaW50IHNwZGlmX3JvdXRlOwogCiAJLyogZHluYW1pYyBjb250cm9scywgaW5pdF92ZXJicyBhbmQgaW5wdXRfbXV4ICovCkBAIC02ODcsNyArNjg2LDcgQEAKIAogc3RhdGljIHN0cnVjdCBoZGFfdmVyYiBjeHQ1MDQ1X2luaXRfdmVyYnNbXSA9IHsKIAkvKiBMaW5lIGluLCBNaWMgKi8KLQl7MHgxMiwgQUNfVkVSQl9TRVRfUElOX1dJREdFVF9DT05UUk9MLCBQSU5fSU4gfSwKKwl7MHgxMiwgQUNfVkVSQl9TRVRfUElOX1dJREdFVF9DT05UUk9MLCBQSU5fSU58QUNfUElOQ1RMX1ZSRUZfODAgfSwKIAl7MHgxNCwgQUNfVkVSQl9TRVRfUElOX1dJREdFVF9DT05UUk9MLCBQSU5fSU58QUNfUElOQ1RMX1ZSRUZfODAgfSwKIAkvKiBIUCwgQW1wICAqLwogCXsweDEwLCBBQ19WRVJCX1NFVF9QSU5fV0lER0VUX0NPTlRST0wsIFBJTl9PVVR9LApAQCAtOTA3LDEwICs5MDYsMTIgQEAKIAlTTkRfUENJX1FVSVJLKDB4MTAzYywgMHgzMGNmLCAiSFAgRFY5NTMzRUciLCBDWFQ1MDQ1X0xBUFRPUF9IUFNFTlNFKSwKIAlTTkRfUENJX1FVSVJLKDB4MTAzYywgMHgzMGQ1LCAiSFAgNTMwIiwgQ1hUNTA0NV9MQVBUT1BfSFA1MzApLAogCVNORF9QQ0lfUVVJUksoMHgxMDNjLCAweDMwZDksICJIUCBTcGFydGFuIiwgQ1hUNTA0NV9MQVBUT1BfSFBTRU5TRSksCisJU05EX1BDSV9RVUlSSygweDExNzksIDB4ZmYzMSwgIlRvc2hpYmEgUDEwNSIsIENYVDUwNDVfTEFQVE9QX01JQ1NFTlNFKSwKIAlTTkRfUENJX1FVSVJLKDB4MTUyZCwgMHgwNzUzLCAiQmVucSBSNTVFIiwgQ1hUNTA0NV9CRU5RKSwKIAlTTkRfUENJX1FVSVJLKDB4MTczNCwgMHgxMGFkLCAiRnVqaXRzdSBTaTE1MjAiLCBDWFQ1MDQ1X0xBUFRPUF9NSUNTRU5TRSksCiAJU05EX1BDSV9RVUlSSygweDE3MzQsIDB4MTBjYiwgIkZ1aml0c3UgU2kzNTE1IiwgQ1hUNTA0NV9MQVBUT1BfSFBNSUNTRU5TRSksCi0JU05EX1BDSV9RVUlSSygweDE3MzQsIDB4MTEwZSwgIkZ1aml0c3UgVjU1MDUiLCBDWFQ1MDQ1X0xBUFRPUF9IUFNFTlNFKSwKKwlTTkRfUENJX1FVSVJLKDB4MTczNCwgMHgxMTBlLCAiRnVqaXRzdSBWNTUwNSIsCisJCSAgICAgIENYVDUwNDVfTEFQVE9QX0hQTUlDU0VOU0UpLAogCVNORF9QQ0lfUVVJUksoMHgxNTA5LCAweDFlNDAsICJGSUMiLCBDWFQ1MDQ1X0xBUFRPUF9IUE1JQ1NFTlNFKSwKIAlTTkRfUENJX1FVSVJLKDB4MTUwOSwgMHgyZjA1LCAiRklDIiwgQ1hUNTA0NV9MQVBUT1BfSFBNSUNTRU5TRSksCiAJU05EX1BDSV9RVUlSSygweDE1MDksIDB4MmYwNiwgIkZJQyIsIENYVDUwNDVfTEFQVE9QX0hQTUlDU0VOU0UpLApAQCAtOTI4LDcgKzkyOSw2IEBACiAJc3BlYyA9IGt6YWxsb2Moc2l6ZW9mKCpzcGVjKSwgR0ZQX0tFUk5FTCk7CiAJaWYgKCFzcGVjKQogCQlyZXR1cm4gLUVOT01FTTsKLQltdXRleF9pbml0KCZzcGVjLT5hbXBfbXV0ZXgpOwogCWNvZGVjLT5zcGVjID0gc3BlYzsKIAogCXNwZWMtPm11bHRpb3V0Lm1heF9jaGFubmVscyA9IDI7CkBAIC05NjMsNiArOTYzLDcgQEAKIAkJY29kZWMtPnBhdGNoX29wcy5pbml0ID0gY3h0NTA0NV9pbml0OwogCQlicmVhazsKIAljYXNlIENYVDUwNDVfTEFQVE9QX01JQ1NFTlNFOgorCQljb2RlYy0+cGF0Y2hfb3BzLnVuc29sX2V2ZW50ID0gY3h0NTA0NV9ocF91bnNvbF9ldmVudDsKIAkJc3BlYy0+aW5wdXRfbXV4ID0gJmN4dDUwNDVfY2FwdHVyZV9zb3VyY2U7CiAJCXNwZWMtPm51bV9pbml0X3ZlcmJzID0gMjsKIAkJc3BlYy0+aW5pdF92ZXJic1sxXSA9IGN4dDUwNDVfbWljX3NlbnNlX2luaXRfdmVyYnM7CkBAIC0xMDA3LDE1ICsxMDA4LDE5IEBACiAjZW5kaWYJCiAJfQogCi0JLyoKLQkgKiBGaXggbWF4IFBDTSBsZXZlbCB0byAwIGRCCi0JICogKG9yaWdpbmFsbCBpdCBoYXMgMHgyYiBzdGVwcyB3aXRoIDBkQiBvZmZzZXQgMHgxNCkKLQkgKi8KLQlzbmRfaGRhX292ZXJyaWRlX2FtcF9jYXBzKGNvZGVjLCAweDE3LCBIREFfSU5QVVQsCi0JCQkJICAoMHgxNCA8PCBBQ19BTVBDQVBfT0ZGU0VUX1NISUZUKSB8Ci0JCQkJICAoMHgxNCA8PCBBQ19BTVBDQVBfTlVNX1NURVBTX1NISUZUKSB8Ci0JCQkJICAoMHgwNSA8PCBBQ19BTVBDQVBfU1RFUF9TSVpFX1NISUZUKSB8Ci0JCQkJICAoMSA8PCBBQ19BTVBDQVBfTVVURV9TSElGVCkpOworCXN3aXRjaCAoY29kZWMtPnN1YnN5c3RlbV9pZCA+PiAxNikgeworCWNhc2UgMHgxMDNjOgorCQkvKiBIUCBsYXB0b3AgaGFzIGEgcmVhbGx5IGJhZCBzb3VuZCBvdmVyIDBkQiBvbiBOSUQgMHgxNy4KKwkJICogRml4IG1heCBQQ00gbGV2ZWwgdG8gMCBkQgorCQkgKiAob3JpZ2luYWxsIGl0IGhhcyAweDJiIHN0ZXBzIHdpdGggMGRCIG9mZnNldCAweDE0KQorCQkgKi8KKwkJc25kX2hkYV9vdmVycmlkZV9hbXBfY2Fwcyhjb2RlYywgMHgxNywgSERBX0lOUFVULAorCQkJCQkgICgweDE0IDw8IEFDX0FNUENBUF9PRkZTRVRfU0hJRlQpIHwKKwkJCQkJICAoMHgxNCA8PCBBQ19BTVBDQVBfTlVNX1NURVBTX1NISUZUKSB8CisJCQkJCSAgKDB4MDUgPDwgQUNfQU1QQ0FQX1NURVBfU0laRV9TSElGVCkgfAorCQkJCQkgICgxIDw8IEFDX0FNUENBUF9NVVRFX1NISUZUKSk7CisJCWJyZWFrOworCX0KIAogCXJldHVybiAwOwogfQpAQCAtMTQ3Nyw3ICsxNDgyLDYgQEAKIAlzcGVjID0ga3phbGxvYyhzaXplb2YoKnNwZWMpLCBHRlBfS0VSTkVMKTsKIAlpZiAoIXNwZWMpCiAJCXJldHVybiAtRU5PTUVNOwotCW11dGV4X2luaXQoJnNwZWMtPmFtcF9tdXRleCk7CiAJY29kZWMtPnNwZWMgPSBzcGVjOwogCiAJc3BlYy0+bXVsdGlvdXQubWF4X2NoYW5uZWxzID0gMjsKQEAgLTE3MzYsNyArMTc0MCw2IEBACiAJc3BlYyA9IGt6YWxsb2Moc2l6ZW9mKCpzcGVjKSwgR0ZQX0tFUk5FTCk7CiAJaWYgKCFzcGVjKQogCQlyZXR1cm4gLUVOT01FTTsKLQltdXRleF9pbml0KCZzcGVjLT5hbXBfbXV0ZXgpOwogCWNvZGVjLT5zcGVjID0gc3BlYzsKIAogCWNvZGVjLT5wYXRjaF9vcHMgPSBjb25leGFudF9wYXRjaF9vcHM7CmRpZmYgLS1naXQgYS9zb3VuZC9wY2kvaGRhL3BhdGNoX3JlYWx0ZWsuYyBiL3NvdW5kL3BjaS9oZGEvcGF0Y2hfcmVhbHRlay5jCmluZGV4IGIwYTJhMjYuLjI4MDdiYzggMTAwNjQ0Ci0tLSBhL3NvdW5kL3BjaS9oZGEvcGF0Y2hfcmVhbHRlay5jCisrKyBiL3NvdW5kL3BjaS9oZGEvcGF0Y2hfcmVhbHRlay5jCkBAIC0xNjMsNiArMTYzLDEwIEBACiAJQUxDNjYyX0xFTk9WT18xMDFFLAogCUFMQzY2Ml9BU1VTX0VFRVBDX1A3MDEsCiAJQUxDNjYyX0FTVVNfRUVFUENfRVAyMCwKKwlBTEM2NjNfQVNVU19NNTFWQSwKKwlBTEM2NjNfQVNVU19HNzFWLAorCUFMQzY2M19BU1VTX0gxMywKKwlBTEM2NjNfQVNVU19HNTBWLAogCUFMQzY2Ml9BVVRPLAogCUFMQzY2Ml9NT0RFTF9MQVNULAogfTsKQEAgLTIwNSw2ICsyMDksNyBAQAogCUFMQzg4M19NSVRBQywKIAlBTEM4ODNfQ0xFVk9fTTcyMCwKIAlBTEM4ODNfRlVKSVRTVV9QSTI1MTUsCisJQUxDODgzXzNTVF82Y2hfSU5URUwsCiAJQUxDODgzX0FVVE8sCiAJQUxDODgzX01PREVMX0xBU1QsCiB9OwpAQCAtMjgwLDYgKzI4NSwxMCBAQAogI2lmZGVmIENPTkZJR19TTkRfSERBX1BPV0VSX1NBVkUKIAlzdHJ1Y3QgaGRhX2xvb3BiYWNrX2NoZWNrIGxvb3BiYWNrOwogI2VuZGlmCisKKwkvKiBmb3IgUExMIGZpeCAqLworCWhkYV9uaWRfdCBwbGxfbmlkOworCXVuc2lnbmVkIGludCBwbGxfY29lZl9pZHgsIHBsbF9jb2VmX2JpdDsKIH07CiAKIC8qCkBAIC03NDcsNiArNzU2LDM4IEBACiAJeyB9CiB9OwogCisvKgorICogRml4IGhhcmR3YXJlIFBMTCBpc3N1ZQorICogT24gc29tZSBjb2RlY3MsIHRoZSBhbmFsb2cgUExMIGdhdGluZyBjb250cm9sIG11c3QgYmUgb2ZmIHdoaWxlCisgKiB0aGUgZGVmYXVsdCB2YWx1ZSBpcyAxLgorICovCitzdGF0aWMgdm9pZCBhbGNfZml4X3BsbChzdHJ1Y3QgaGRhX2NvZGVjICpjb2RlYykKK3sKKwlzdHJ1Y3QgYWxjX3NwZWMgKnNwZWMgPSBjb2RlYy0+c3BlYzsKKwl1bnNpZ25lZCBpbnQgdmFsOworCisJaWYgKCFzcGVjLT5wbGxfbmlkKQorCQlyZXR1cm47CisJc25kX2hkYV9jb2RlY193cml0ZShjb2RlYywgc3BlYy0+cGxsX25pZCwgMCwgQUNfVkVSQl9TRVRfQ09FRl9JTkRFWCwKKwkJCSAgICBzcGVjLT5wbGxfY29lZl9pZHgpOworCXZhbCA9IHNuZF9oZGFfY29kZWNfcmVhZChjb2RlYywgc3BlYy0+cGxsX25pZCwgMCwKKwkJCQkgQUNfVkVSQl9HRVRfUFJPQ19DT0VGLCAwKTsKKwlzbmRfaGRhX2NvZGVjX3dyaXRlKGNvZGVjLCBzcGVjLT5wbGxfbmlkLCAwLCBBQ19WRVJCX1NFVF9DT0VGX0lOREVYLAorCQkJICAgIHNwZWMtPnBsbF9jb2VmX2lkeCk7CisJc25kX2hkYV9jb2RlY193cml0ZShjb2RlYywgc3BlYy0+cGxsX25pZCwgMCwgQUNfVkVSQl9TRVRfUFJPQ19DT0VGLAorCQkJICAgIHZhbCAmIH4oMSA8PCBzcGVjLT5wbGxfY29lZl9iaXQpKTsKK30KKworc3RhdGljIHZvaWQgYWxjX2ZpeF9wbGxfaW5pdChzdHJ1Y3QgaGRhX2NvZGVjICpjb2RlYywgaGRhX25pZF90IG5pZCwKKwkJCSAgICAgdW5zaWduZWQgaW50IGNvZWZfaWR4LCB1bnNpZ25lZCBpbnQgY29lZl9iaXQpCit7CisJc3RydWN0IGFsY19zcGVjICpzcGVjID0gY29kZWMtPnNwZWM7CisJc3BlYy0+cGxsX25pZCA9IG5pZDsKKwlzcGVjLT5wbGxfY29lZl9pZHggPSBjb2VmX2lkeDsKKwlzcGVjLT5wbGxfY29lZl9iaXQgPSBjb2VmX2JpdDsKKwlhbGNfZml4X3BsbChjb2RlYyk7Cit9CisKIHN0YXRpYyB2b2lkIGFsY19za3VfYXV0b211dGUoc3RydWN0IGhkYV9jb2RlYyAqY29kZWMpCiB7CiAJc3RydWN0IGFsY19zcGVjICpzcGVjID0gY29kZWMtPnNwZWM7CkBAIC03NzYsNiArODE3LDI0IEBACiAJYWxjX3NrdV9hdXRvbXV0ZShjb2RlYyk7CiB9CiAKKy8qIGFkZGl0aW9uYWwgaW5pdGlhbGl6YXRpb24gZm9yIEFMQzg4OCB2YXJpYW50cyAqLworc3RhdGljIHZvaWQgYWxjODg4X2NvZWZfaW5pdChzdHJ1Y3QgaGRhX2NvZGVjICpjb2RlYykKK3sKKwl1bnNpZ25lZCBpbnQgdG1wOworCisJc25kX2hkYV9jb2RlY193cml0ZShjb2RlYywgMHgyMCwgMCwgQUNfVkVSQl9TRVRfQ09FRl9JTkRFWCwgMCk7CisJdG1wID0gc25kX2hkYV9jb2RlY19yZWFkKGNvZGVjLCAweDIwLCAwLCBBQ19WRVJCX0dFVF9QUk9DX0NPRUYsIDApOworCXNuZF9oZGFfY29kZWNfd3JpdGUoY29kZWMsIDB4MjAsIDAsIEFDX1ZFUkJfU0VUX0NPRUZfSU5ERVgsIDcpOworCWlmICgodG1wICYgMHhmMCkgPT0gMikKKwkJLyogYWxjODg4Uy1WQyAqLworCQlzbmRfaGRhX2NvZGVjX3JlYWQoY29kZWMsIDB4MjAsIDAsCisJCQkJICAgQUNfVkVSQl9TRVRfUFJPQ19DT0VGLCAweDgzMCk7CisJIGVsc2UKKwkJIC8qIGFsYzg4OC1WQiAqLworCQkgc25kX2hkYV9jb2RlY19yZWFkKGNvZGVjLCAweDIwLCAwLAorCQkJCSAgICBBQ19WRVJCX1NFVF9QUk9DX0NPRUYsIDB4MzAzMCk7Cit9CisKIC8qIDMyLWJpdCBzdWJzeXN0ZW0gSUQgZm9yIEJJT1MgbG9hZGluZyBpbiBIRCBBdWRpbyBjb2RlYy4KICAqCTMxIH4gMTYgOglNYW51ZmFjdHVyZSBJRAogICoJMTUgfiA4CToJU0tVIElECkBAIC04NTEsOCArOTEwLDEwIEBACiAJCWNhc2UgMHgxMGVjMDI2NzoKIAkJY2FzZSAweDEwZWMwMjY4OgogCQljYXNlIDB4MTBlYzAyNjk6CisJCWNhc2UgMHgxMGVjMDY2MDoKKwkJY2FzZSAweDEwZWMwNjYyOgorCQljYXNlIDB4MTBlYzA2NjM6CiAJCWNhc2UgMHgxMGVjMDg2MjoKLQkJY2FzZSAweDEwZWMwNjYyOgkKIAkJY2FzZSAweDEwZWMwODg5OgogCQkJc25kX2hkYV9jb2RlY193cml0ZShjb2RlYywgMHgxNCwgMCwKIAkJCQkJICAgIEFDX1ZFUkJfU0VUX0VBUERfQlRMRU5BQkxFLCAyKTsKQEAgLTg3Nyw3ICs5MzgsNiBAQAogCQljYXNlIDB4MTBlYzA4ODI6CiAJCWNhc2UgMHgxMGVjMDg4MzoKIAkJY2FzZSAweDEwZWMwODg1OgotCQljYXNlIDB4MTBlYzA4ODg6CiAJCWNhc2UgMHgxMGVjMDg4OToKIAkJCXNuZF9oZGFfY29kZWNfd3JpdGUoY29kZWMsIDB4MjAsIDAsCiAJCQkJCSAgICBBQ19WRVJCX1NFVF9DT0VGX0lOREVYLCA3KTsKQEAgLTg4OSw2ICs5NDksOSBAQAogCQkJCQkgICAgQUNfVkVSQl9TRVRfUFJPQ19DT0VGLAogCQkJCQkgICAgdG1wIHwgMHgyMDEwKTsKIAkJCWJyZWFrOworCQljYXNlIDB4MTBlYzA4ODg6CisJCQlhbGM4ODhfY29lZl9pbml0KGNvZGVjKTsKKwkJCWJyZWFrOwogCQljYXNlIDB4MTBlYzAyNjc6CiAJCWNhc2UgMHgxMGVjMDI2ODoKIAkJCXNuZF9oZGFfY29kZWNfd3JpdGUoY29kZWMsIDB4MjAsIDAsCkBAIC0yMzczLDYgKzI0MzYsOCBAQAogCXN0cnVjdCBhbGNfc3BlYyAqc3BlYyA9IGNvZGVjLT5zcGVjOwogCXVuc2lnbmVkIGludCBpOwogCisJYWxjX2ZpeF9wbGwoY29kZWMpOworCiAJZm9yIChpID0gMDsgaSA8IHNwZWMtPm51bV9pbml0X3ZlcmJzOyBpKyspCiAJCXNuZF9oZGFfc2VxdWVuY2Vfd3JpdGUoY29kZWMsIHNwZWMtPmluaXRfdmVyYnNbaV0pOwogCkBAIC0zMDA5LDYgKzMwNzQsNyBAQAogCVNORF9QQ0lfUVVJUksoMHgxNjk1LCAweDQwMGQsICJFUG9YIiwgQUxDODgwXzVTVF9ESUcpLAogCVNORF9QQ0lfUVVJUksoMHgxNjk1LCAweDQwMTIsICJFUG94IEVQLTVMREEiLCBBTEM4ODBfNVNUX0RJRyksCiAJU05EX1BDSV9RVUlSSygweDE3MzQsIDB4MTA3YywgIkZTQyBGMTczNCIsIEFMQzg4MF9GMTczNCksCisJU05EX1BDSV9RVUlSSygweDE3MzQsIDB4MTA5NCwgIkZTQyBBbWlsbyBNMTQ1MUciLCBBTEM4ODBfRlVKSVRTVSksCiAJU05EX1BDSV9RVUlSSygweDE3MzQsIDB4MTBhYywgIkZTQyIsIEFMQzg4MF9VTklXSUxMKSwKIAlTTkRfUENJX1FVSVJLKDB4MTczNCwgMHgxMGIwLCAiRnVqaXRzdSIsIEFMQzg4MF9GVUpJVFNVKSwKIAlTTkRfUENJX1FVSVJLKDB4MTg1NCwgMHgwMDE4LCAiTEcgTFcyMCIsIEFMQzg4MF9MR19MVyksCkBAIC01MTAxLDcgKzUxNjcsNyBAQAogCVNORF9QQ0lfUVVJUksoMHgxMDNjLCAweDI4MDgsICJIUCBkNTcwMCIsIEFMQzI2MF9IUF8zMDEzKSwKIAlTTkRfUENJX1FVSVJLKDB4MTAzYywgMHgyODBhLCAiSFAgZDU3NTAiLCBBTEMyNjBfSFBfMzAxMyksCiAJU05EX1BDSV9RVUlSSygweDEwM2MsIDB4MzAxMCwgIkhQIiwgQUxDMjYwX0hQXzMwMTMpLAotCVNORF9QQ0lfUVVJUksoMHgxMDNjLCAweDMwMTEsICJIUCIsIEFMQzI2MF9IUCksCisJU05EX1BDSV9RVUlSSygweDEwM2MsIDB4MzAxMSwgIkhQIiwgQUxDMjYwX0hQXzMwMTMpLAogCVNORF9QQ0lfUVVJUksoMHgxMDNjLCAweDMwMTIsICJIUCIsIEFMQzI2MF9IUF8zMDEzKSwKIAlTTkRfUENJX1FVSVJLKDB4MTAzYywgMHgzMDEzLCAiSFAiLCBBTEMyNjBfSFBfMzAxMyksCiAJU05EX1BDSV9RVUlSSygweDEwM2MsIDB4MzAxNCwgIkhQIiwgQUxDMjYwX0hQKSwKQEAgLTYxMjcsNiArNjE5Myw3IEBACiAJU05EX1BDSV9RVUlSSygweDEwNDMsIDB4ODE3ZiwgIkFzdXMgUDVMRDIiLCBBTEM4ODJfNlNUX0RJRyksCiAJU05EX1BDSV9RVUlSSygweDEwNDMsIDB4ODFkOCwgIkFzdXMgUDVXRCIsIEFMQzg4Ml82U1RfRElHKSwKIAlTTkRfUENJX1FVSVJLKDB4MTA1YiwgMHg2NjY4LCAiRm94Y29ubiIsIEFMQzg4Ml82U1RfRElHKSwKKwlTTkRfUENJX1FVSVJLKDB4MTA2YiwgMHgwMGEwLCAiQXBwbGUgaU1hYyAyNCcnIiwgQUxDODg1X0lNQUMyNCksCiAJU05EX1BDSV9RVUlSSygweDE0NTgsIDB4YTAwMiwgIkdpZ2FieXRlIFAzNSBEUzNSIiwgQUxDODgyXzZTVF9ESUcpLAogCVNORF9QQ0lfUVVJUksoMHgxNDYyLCAweDI4ZmIsICJUYXJnYSBUOCIsIEFMQzg4Ml9UQVJHQSksIC8qIE1TSS0xMDQ5IFQ4ICAqLwogCVNORF9QQ0lfUVVJUksoMHgxNDYyLCAweDY2NjgsICJNU0kiLCBBTEM4ODJfNlNUX0RJRyksCkBAIC02MzUzLDcgKzY0MjAsOSBAQAogCQkJY29udGludWU7CiAJCXZyZWYgPSBQSU5fSU47CiAJCWlmICgxIC8qaSA8PSBBVVRPX1BJTl9GUk9OVF9NSUMqLykgewotCQkJaWYgKHNuZF9oZGFfcGFyYW1fcmVhZChjb2RlYywgbmlkLCBBQ19QQVJfUElOX0NBUCkgJgorCQkJdW5zaWduZWQgaW50IHBpbmNhcDsKKwkJCXBpbmNhcCA9IHNuZF9oZGFfcGFyYW1fcmVhZChjb2RlYywgbmlkLCBBQ19QQVJfUElOX0NBUCk7CisJCQlpZiAoKHBpbmNhcCA+PiBBQ19QSU5DQVBfVlJFRl9TSElGVCkgJgogCQkJICAgIEFDX1BJTkNBUF9WUkVGXzgwKQogCQkJCXZyZWYgPSBQSU5fVlJFRjgwOwogCQl9CkBAIC02NDUwLDggKzY1MTksOSBAQAogCQljYXNlIDB4MTA2YjEwMDA6IC8qIGlNYWMgMjQgKi8KIAkJCWJvYXJkX2NvbmZpZyA9IEFMQzg4NV9JTUFDMjQ7CiAJCQlicmVhazsKLQkJY2FzZSAweDEwNmIwMGExOiAvKiBNYWNib29rICovCisJCWNhc2UgMHgxMDZiMDBhMTogLyogTWFjYm9vayAobWlnaHQgYmUgd3JvbmcgLSBQQ0kgU1NJRD8pICovCiAJCWNhc2UgMHgxMDZiMmMwMDogLyogTWFjYm9vayBQcm8gcmV2MyAqLworCQljYXNlIDB4MTA2YjM2MDA6IC8qIE1hY2Jvb2sgMy4xICovCiAJCQlib2FyZF9jb25maWcgPSBBTEM4ODVfTUJQMzsKIAkJCWJyZWFrOwogCQlkZWZhdWx0OgpAQCAtNjQ4NSwxNCArNjU1NSwyMCBAQAogCWlmIChib2FyZF9jb25maWcgIT0gQUxDODgyX0FVVE8pCiAJCXNldHVwX3ByZXNldChzcGVjLCAmYWxjODgyX3ByZXNldHNbYm9hcmRfY29uZmlnXSk7CiAKLQlzcGVjLT5zdHJlYW1fbmFtZV9hbmFsb2cgPSAiQUxDODgyIEFuYWxvZyI7CisJaWYgKGNvZGVjLT52ZW5kb3JfaWQgPT0gMHgxMGVjMDg4NSkgeworCQlzcGVjLT5zdHJlYW1fbmFtZV9hbmFsb2cgPSAiQUxDODg1IEFuYWxvZyI7CisJCXNwZWMtPnN0cmVhbV9uYW1lX2RpZ2l0YWwgPSAiQUxDODg1IERpZ2l0YWwiOworCX0gZWxzZSB7CisJCXNwZWMtPnN0cmVhbV9uYW1lX2FuYWxvZyA9ICJBTEM4ODIgQW5hbG9nIjsKKwkJc3BlYy0+c3RyZWFtX25hbWVfZGlnaXRhbCA9ICJBTEM4ODIgRGlnaXRhbCI7CisJfQorCiAJc3BlYy0+c3RyZWFtX2FuYWxvZ19wbGF5YmFjayA9ICZhbGM4ODJfcGNtX2FuYWxvZ19wbGF5YmFjazsKIAlzcGVjLT5zdHJlYW1fYW5hbG9nX2NhcHR1cmUgPSAmYWxjODgyX3BjbV9hbmFsb2dfY2FwdHVyZTsKIAkvKiBGSVhNRTogc2V0dXAgREFDNSAqLwogCS8qc3BlYy0+c3RyZWFtX2FuYWxvZ19hbHRfcGxheWJhY2sgPSAmYWxjODgwX3BjbV9hbmFsb2dfYWx0X3BsYXliYWNrOyovCiAJc3BlYy0+c3RyZWFtX2FuYWxvZ19hbHRfY2FwdHVyZSA9ICZhbGM4ODBfcGNtX2FuYWxvZ19hbHRfY2FwdHVyZTsKIAotCXNwZWMtPnN0cmVhbV9uYW1lX2RpZ2l0YWwgPSAiQUxDODgyIERpZ2l0YWwiOwogCXNwZWMtPnN0cmVhbV9kaWdpdGFsX3BsYXliYWNrID0gJmFsYzg4Ml9wY21fZGlnaXRhbF9wbGF5YmFjazsKIAlzcGVjLT5zdHJlYW1fZGlnaXRhbF9jYXB0dXJlID0gJmFsYzg4Ml9wY21fZGlnaXRhbF9jYXB0dXJlOwogCkBAIC02NTY5LDYgKzY2NDUsMTYgQEAKIAl9LAogfTsKIAorc3RhdGljIHN0cnVjdCBoZGFfaW5wdXRfbXV4IGFsYzg4M18zc3RhY2tfNmNoX2ludGVsID0geworCS5udW1faXRlbXMgPSA0LAorCS5pdGVtcyA9IHsKKwkJeyAiTWljIiwgMHgxIH0sCisJCXsgIkZyb250IE1pYyIsIDB4MCB9LAorCQl7ICJMaW5lIiwgMHgyIH0sCisJCXsgIkNEIiwgMHg0IH0sCisJfSwKK307CisKIHN0YXRpYyBzdHJ1Y3QgaGRhX2lucHV0X211eCBhbGM4ODNfbGVub3ZvXzEwMWVfY2FwdHVyZV9zb3VyY2UgPSB7CiAJLm51bV9pdGVtcyA9IDIsCiAJLml0ZW1zID0gewpAQCAtNjY1MCw2ICs2NzM2LDQ4IEBACiB9OwogCiAvKgorICogMmNoIG1vZGUKKyAqLworc3RhdGljIHN0cnVjdCBoZGFfdmVyYiBhbGM4ODNfM1NUX2NoMl9pbnRlbF9pbml0W10gPSB7CisJeyAweDE5LCBBQ19WRVJCX1NFVF9QSU5fV0lER0VUX0NPTlRST0wsIFBJTl9WUkVGODAgfSwKKwl7IDB4MTksIEFDX1ZFUkJfU0VUX0FNUF9HQUlOX01VVEUsIEFNUF9PVVRfTVVURSB9LAorCXsgMHgxYSwgQUNfVkVSQl9TRVRfUElOX1dJREdFVF9DT05UUk9MLCBQSU5fSU4gfSwKKwl7IDB4MWEsIEFDX1ZFUkJfU0VUX0FNUF9HQUlOX01VVEUsIEFNUF9PVVRfTVVURSB9LAorCXsgfSAvKiBlbmQgKi8KK307CisKKy8qCisgKiA0Y2ggbW9kZQorICovCitzdGF0aWMgc3RydWN0IGhkYV92ZXJiIGFsYzg4M18zU1RfY2g0X2ludGVsX2luaXRbXSA9IHsKKwl7IDB4MTksIEFDX1ZFUkJfU0VUX1BJTl9XSURHRVRfQ09OVFJPTCwgUElOX1ZSRUY4MCB9LAorCXsgMHgxOSwgQUNfVkVSQl9TRVRfQU1QX0dBSU5fTVVURSwgQU1QX09VVF9NVVRFIH0sCisJeyAweDFhLCBBQ19WRVJCX1NFVF9QSU5fV0lER0VUX0NPTlRST0wsIFBJTl9PVVQgfSwKKwl7IDB4MWEsIEFDX1ZFUkJfU0VUX0FNUF9HQUlOX01VVEUsIEFNUF9PVVRfVU5NVVRFIH0sCisJeyAweDFhLCBBQ19WRVJCX1NFVF9DT05ORUNUX1NFTCwgMHgwMSB9LAorCXsgfSAvKiBlbmQgKi8KK307CisKKy8qCisgKiA2Y2ggbW9kZQorICovCitzdGF0aWMgc3RydWN0IGhkYV92ZXJiIGFsYzg4M18zU1RfY2g2X2ludGVsX2luaXRbXSA9IHsKKwl7IDB4MTksIEFDX1ZFUkJfU0VUX1BJTl9XSURHRVRfQ09OVFJPTCwgUElOX09VVCB9LAorCXsgMHgxOSwgQUNfVkVSQl9TRVRfQU1QX0dBSU5fTVVURSwgQU1QX09VVF9VTk1VVEUgfSwKKwl7IDB4MTksIEFDX1ZFUkJfU0VUX0NPTk5FQ1RfU0VMLCAweDAyIH0sCisJeyAweDFhLCBBQ19WRVJCX1NFVF9QSU5fV0lER0VUX0NPTlRST0wsIFBJTl9PVVQgfSwKKwl7IDB4MWEsIEFDX1ZFUkJfU0VUX0FNUF9HQUlOX01VVEUsIEFNUF9PVVRfVU5NVVRFIH0sCisJeyAweDFhLCBBQ19WRVJCX1NFVF9DT05ORUNUX1NFTCwgMHgwMSB9LAorCXsgfSAvKiBlbmQgKi8KK307CisKK3N0YXRpYyBzdHJ1Y3QgaGRhX2NoYW5uZWxfbW9kZSBhbGM4ODNfM1NUXzZjaF9pbnRlbF9tb2Rlc1szXSA9IHsKKwl7IDIsIGFsYzg4M18zU1RfY2gyX2ludGVsX2luaXQgfSwKKwl7IDQsIGFsYzg4M18zU1RfY2g0X2ludGVsX2luaXQgfSwKKwl7IDYsIGFsYzg4M18zU1RfY2g2X2ludGVsX2luaXQgfSwKK307CisKKy8qCiAgKiA2Y2ggbW9kZQogICovCiBzdGF0aWMgc3RydWN0IGhkYV92ZXJiIGFsYzg4M19zaXhzdGFja19jaDZfaW5pdFtdID0gewpAQCAtNjg4MSwxNSArNzAwOSw1NCBAQAogCXsgfSAvKiBlbmQgKi8KIH07CiAKK3N0YXRpYyBzdHJ1Y3Qgc25kX2tjb250cm9sX25ldyBhbGM4ODNfM1NUXzZjaF9pbnRlbF9taXhlcltdID0geworCUhEQV9DT0RFQ19WT0xVTUUoIkZyb250IFBsYXliYWNrIFZvbHVtZSIsIDB4MGMsIDB4MCwgSERBX09VVFBVVCksCisJSERBX0JJTkRfTVVURSgiRnJvbnQgUGxheWJhY2sgU3dpdGNoIiwgMHgwYywgMiwgSERBX0lOUFVUKSwKKwlIREFfQ09ERUNfVk9MVU1FKCJTdXJyb3VuZCBQbGF5YmFjayBWb2x1bWUiLCAweDBkLCAweDAsIEhEQV9PVVRQVVQpLAorCUhEQV9CSU5EX01VVEUoIlN1cnJvdW5kIFBsYXliYWNrIFN3aXRjaCIsIDB4MGQsIDIsIEhEQV9JTlBVVCksCisJSERBX0NPREVDX1ZPTFVNRV9NT05PKCJDZW50ZXIgUGxheWJhY2sgVm9sdW1lIiwgMHgwZSwgMSwgMHgwLAorCQkJICAgICAgSERBX09VVFBVVCksCisJSERBX0NPREVDX1ZPTFVNRV9NT05PKCJMRkUgUGxheWJhY2sgVm9sdW1lIiwgMHgwZSwgMiwgMHgwLCBIREFfT1VUUFVUKSwKKwlIREFfQklORF9NVVRFX01PTk8oIkNlbnRlciBQbGF5YmFjayBTd2l0Y2giLCAweDBlLCAxLCAyLCBIREFfSU5QVVQpLAorCUhEQV9CSU5EX01VVEVfTU9OTygiTEZFIFBsYXliYWNrIFN3aXRjaCIsIDB4MGUsIDIsIDIsIEhEQV9JTlBVVCksCisJSERBX0NPREVDX01VVEUoIkhlYWRwaG9uZSBQbGF5YmFjayBTd2l0Y2giLCAweDE1LCAweDAsIEhEQV9PVVRQVVQpLAorCUhEQV9DT0RFQ19WT0xVTUUoIkNEIFBsYXliYWNrIFZvbHVtZSIsIDB4MGIsIDB4MDQsIEhEQV9JTlBVVCksCisJSERBX0NPREVDX01VVEUoIkNEIFBsYXliYWNrIFN3aXRjaCIsIDB4MGIsIDB4MDQsIEhEQV9JTlBVVCksCisJSERBX0NPREVDX1ZPTFVNRSgiTGluZSBQbGF5YmFjayBWb2x1bWUiLCAweDBiLCAweDAyLCBIREFfSU5QVVQpLAorCUhEQV9DT0RFQ19NVVRFKCJMaW5lIFBsYXliYWNrIFN3aXRjaCIsIDB4MGIsIDB4MDIsIEhEQV9JTlBVVCksCisJSERBX0NPREVDX1ZPTFVNRSgiTWljIFBsYXliYWNrIFZvbHVtZSIsIDB4MGIsIDB4MSwgSERBX0lOUFVUKSwKKwlIREFfQ09ERUNfVk9MVU1FKCJNaWMgQm9vc3QiLCAweDE5LCAwLCBIREFfSU5QVVQpLAorCUhEQV9DT0RFQ19NVVRFKCJNaWMgUGxheWJhY2sgU3dpdGNoIiwgMHgwYiwgMHgxLCBIREFfSU5QVVQpLAorCUhEQV9DT0RFQ19WT0xVTUUoIkZyb250IE1pYyBQbGF5YmFjayBWb2x1bWUiLCAweDBiLCAweDAsIEhEQV9JTlBVVCksCisJSERBX0NPREVDX1ZPTFVNRSgiRnJvbnQgTWljIEJvb3N0IiwgMHgxOCwgMCwgSERBX0lOUFVUKSwKKwlIREFfQ09ERUNfTVVURSgiRnJvbnQgTWljIFBsYXliYWNrIFN3aXRjaCIsIDB4MGIsIDB4MCwgSERBX0lOUFVUKSwKKwlIREFfQ09ERUNfVk9MVU1FKCJQQyBTcGVha2VyIFBsYXliYWNrIFZvbHVtZSIsIDB4MGIsIDB4MDUsIEhEQV9JTlBVVCksCisJSERBX0NPREVDX01VVEUoIlBDIFNwZWFrZXIgUGxheWJhY2sgU3dpdGNoIiwgMHgwYiwgMHgwNSwgSERBX0lOUFVUKSwKKwlIREFfQ09ERUNfVk9MVU1FKCJDYXB0dXJlIFZvbHVtZSIsIDB4MDgsIDB4MCwgSERBX0lOUFVUKSwKKwlIREFfQ09ERUNfTVVURSgiQ2FwdHVyZSBTd2l0Y2giLCAweDA4LCAweDAsIEhEQV9JTlBVVCksCisJSERBX0NPREVDX1ZPTFVNRV9JRFgoIkNhcHR1cmUgVm9sdW1lIiwgMSwgMHgwOSwgMHgwLCBIREFfSU5QVVQpLAorCUhEQV9DT0RFQ19NVVRFX0lEWCgiQ2FwdHVyZSBTd2l0Y2giLCAxLCAweDA5LCAweDAsIEhEQV9JTlBVVCksCisJeworCQkuaWZhY2UgPSBTTkRSVl9DVExfRUxFTV9JRkFDRV9NSVhFUiwKKwkJLyogLm5hbWUgPSAiQ2FwdHVyZSBTb3VyY2UiLCAqLworCQkubmFtZSA9ICJJbnB1dCBTb3VyY2UiLAorCQkuY291bnQgPSAyLAorCQkuaW5mbyA9IGFsYzg4M19tdXhfZW51bV9pbmZvLAorCQkuZ2V0ID0gYWxjODgzX211eF9lbnVtX2dldCwKKwkJLnB1dCA9IGFsYzg4M19tdXhfZW51bV9wdXQsCisJfSwKKwl7IH0gLyogZW5kICovCit9OworCiBzdGF0aWMgc3RydWN0IHNuZF9rY29udHJvbF9uZXcgYWxjODgzX2ZpdmVzdGFja19taXhlcltdID0gewogCUhEQV9DT0RFQ19WT0xVTUUoIkZyb250IFBsYXliYWNrIFZvbHVtZSIsIDB4MGMsIDB4MCwgSERBX09VVFBVVCksCi0JSERBX0NPREVDX01VVEUoIkZyb250IFBsYXliYWNrIFN3aXRjaCIsIDB4MTQsIDB4MCwgSERBX09VVFBVVCksCisJSERBX0JJTkRfTVVURSgiRnJvbnQgUGxheWJhY2sgU3dpdGNoIiwgMHgwYywgMiwgSERBX0lOUFVUKSwKIAlIREFfQ09ERUNfVk9MVU1FKCJTdXJyb3VuZCBQbGF5YmFjayBWb2x1bWUiLCAweDBkLCAweDAsIEhEQV9PVVRQVVQpLAotCUhEQV9DT0RFQ19NVVRFKCJTdXJyb3VuZCBQbGF5YmFjayBTd2l0Y2giLCAweDE1LCAweDAsIEhEQV9PVVRQVVQpLAorCUhEQV9CSU5EX01VVEUoIlN1cnJvdW5kIFBsYXliYWNrIFN3aXRjaCIsIDB4MGQsIDIsIEhEQV9JTlBVVCksCiAJSERBX0NPREVDX1ZPTFVNRV9NT05PKCJDZW50ZXIgUGxheWJhY2sgVm9sdW1lIiwgMHgwZSwgMSwgMHgwLCBIREFfT1VUUFVUKSwKIAlIREFfQ09ERUNfVk9MVU1FX01PTk8oIkxGRSBQbGF5YmFjayBWb2x1bWUiLCAweDBlLCAyLCAweDAsIEhEQV9PVVRQVVQpLAotCUhEQV9DT0RFQ19NVVRFX01PTk8oIkNlbnRlciBQbGF5YmFjayBTd2l0Y2giLCAweDE2LCAxLCAweDAsIEhEQV9PVVRQVVQpLAotCUhEQV9DT0RFQ19NVVRFX01PTk8oIkxGRSBQbGF5YmFjayBTd2l0Y2giLCAweDE2LCAyLCAweDAsIEhEQV9PVVRQVVQpLAorCUhEQV9CSU5EX01VVEVfTU9OTygiQ2VudGVyIFBsYXliYWNrIFN3aXRjaCIsIDB4MGUsIDEsIDIsIEhEQV9JTlBVVCksCisJSERBX0JJTkRfTVVURV9NT05PKCJMRkUgUGxheWJhY2sgU3dpdGNoIiwgMHgwZSwgMiwgMiwgSERBX0lOUFVUKSwKIAlIREFfQ09ERUNfTVVURSgiSGVhZHBob25lIFBsYXliYWNrIFN3aXRjaCIsIDB4MWIsIDB4MCwgSERBX09VVFBVVCksCiAJSERBX0NPREVDX1ZPTFVNRSgiQ0QgUGxheWJhY2sgVm9sdW1lIiwgMHgwYiwgMHgwNCwgSERBX0lOUFVUKSwKIAlIREFfQ09ERUNfTVVURSgiQ0QgUGxheWJhY2sgU3dpdGNoIiwgMHgwYiwgMHgwNCwgSERBX0lOUFVUKSwKQEAgLTc3MjksNiArNzg5Niw3IEBACiAJW0FMQzg4M19NSVRBQ10JCT0gIm1pdGFjIiwKIAlbQUxDODgzX0NMRVZPX003MjBdCT0gImNsZXZvLW03MjAiLAogCVtBTEM4ODNfRlVKSVRTVV9QSTI1MTVdID0gImZ1aml0c3UtcGkyNTE1IiwKKwlbQUxDODgzXzNTVF82Y2hfSU5URUxdCT0gIjNzdGFjay02Y2gtaW50ZWwiLAogCVtBTEM4ODNfQVVUT10JCT0gImF1dG8iLAogfTsKIApAQCAtNzc4Niw2ICs3OTU0LDggQEAKIAlTTkRfUENJX1FVSVJLKDB4MTdjMCwgMHg0MDcxLCAiTUVESU9OIE1EMiIsIEFMQzg4M19NRURJT05fTUQyKSwKIAlTTkRfUENJX1FVSVJLKDB4MTdmMiwgMHg1MDAwLCAiQWxiYXRyb24gS0k2OTAtQU0yIiwgQUxDODgzXzZTVF9ESUcpLAogCVNORF9QQ0lfUVVJUksoMHgxOTkxLCAweDU2MjUsICJIYWllciBXNjYiLCBBTEM4ODNfSEFJRVJfVzY2KSwKKwlTTkRfUENJX1FVSVJLKDB4ODA4NiwgMHgwMDAxLCAiREczM0JVQyIsIEFMQzg4M18zU1RfNmNoX0lOVEVMKSwKKwlTTkRfUENJX1FVSVJLKDB4ODA4NiwgMHgwMDAyLCAiREczM0ZCQyIsIEFMQzg4M18zU1RfNmNoX0lOVEVMKSwKIAlTTkRfUENJX1FVSVJLKDB4ODA4NiwgMHhkNjAxLCAiRDEwMkdHQyIsIEFMQzg4M18zU1RfNmNoKSwKIAl7fQogfTsKQEAgLTc4MjQsNiArNzk5NCwxOCBAQAogCQkubmVlZF9kYWNfZml4ID0gMSwKIAkJLmlucHV0X211eCA9ICZhbGM4ODNfY2FwdHVyZV9zb3VyY2UsCiAJfSwKKwlbQUxDODgzXzNTVF82Y2hfSU5URUxdID0geworCQkubWl4ZXJzID0geyBhbGM4ODNfM1NUXzZjaF9pbnRlbF9taXhlciwgYWxjODgzX2NobW9kZV9taXhlciB9LAorCQkuaW5pdF92ZXJicyA9IHsgYWxjODgzX2luaXRfdmVyYnMgfSwKKwkJLm51bV9kYWNzID0gQVJSQVlfU0laRShhbGM4ODNfZGFjX25pZHMpLAorCQkuZGFjX25pZHMgPSBhbGM4ODNfZGFjX25pZHMsCisJCS5kaWdfb3V0X25pZCA9IEFMQzg4M19ESUdPVVRfTklELAorCQkuZGlnX2luX25pZCA9IEFMQzg4M19ESUdJTl9OSUQsCisJCS5udW1fY2hhbm5lbF9tb2RlID0gQVJSQVlfU0laRShhbGM4ODNfM1NUXzZjaF9pbnRlbF9tb2RlcyksCisJCS5jaGFubmVsX21vZGUgPSBhbGM4ODNfM1NUXzZjaF9pbnRlbF9tb2RlcywKKwkJLm5lZWRfZGFjX2ZpeCA9IDEsCisJCS5pbnB1dF9tdXggPSAmYWxjODgzXzNzdGFja182Y2hfaW50ZWwsCisJfSwKIAlbQUxDODgzXzZTVF9ESUddID0gewogCQkubWl4ZXJzID0geyBhbGM4ODNfYmFzZV9taXhlciwgYWxjODgzX2NobW9kZV9taXhlciB9LAogCQkuaW5pdF92ZXJicyA9IHsgYWxjODgzX2luaXRfdmVyYnMgfSwKQEAgLTgxNDUsNiArODMyNyw4IEBACiAKIAljb2RlYy0+c3BlYyA9IHNwZWM7CiAKKwlhbGNfZml4X3BsbF9pbml0KGNvZGVjLCAweDIwLCAweDBhLCAxMCk7CisKIAlib2FyZF9jb25maWcgPSBzbmRfaGRhX2NoZWNrX2JvYXJkX2NvbmZpZyhjb2RlYywgQUxDODgzX01PREVMX0xBU1QsCiAJCQkJCQkgIGFsYzg4M19tb2RlbHMsCiAJCQkJCQkgIGFsYzg4M19jZmdfdGJsKTsKQEAgLTgxNzEsMTIgKzgzNTUsMjUgQEAKIAlpZiAoYm9hcmRfY29uZmlnICE9IEFMQzg4M19BVVRPKQogCQlzZXR1cF9wcmVzZXQoc3BlYywgJmFsYzg4M19wcmVzZXRzW2JvYXJkX2NvbmZpZ10pOwogCi0Jc3BlYy0+c3RyZWFtX25hbWVfYW5hbG9nID0gIkFMQzg4MyBBbmFsb2ciOworCXN3aXRjaCAoY29kZWMtPnZlbmRvcl9pZCkgeworCWNhc2UgMHgxMGVjMDg4ODoKKwkJc3BlYy0+c3RyZWFtX25hbWVfYW5hbG9nID0gIkFMQzg4OCBBbmFsb2ciOworCQlzcGVjLT5zdHJlYW1fbmFtZV9kaWdpdGFsID0gIkFMQzg4OCBEaWdpdGFsIjsKKwkJYnJlYWs7CisJY2FzZSAweDEwZWMwODg5OgorCQlzcGVjLT5zdHJlYW1fbmFtZV9hbmFsb2cgPSAiQUxDODg5IEFuYWxvZyI7CisJCXNwZWMtPnN0cmVhbV9uYW1lX2RpZ2l0YWwgPSAiQUxDODg5IERpZ2l0YWwiOworCQlicmVhazsKKwlkZWZhdWx0OgorCQlzcGVjLT5zdHJlYW1fbmFtZV9hbmFsb2cgPSAiQUxDODgzIEFuYWxvZyI7CisJCXNwZWMtPnN0cmVhbV9uYW1lX2RpZ2l0YWwgPSAiQUxDODgzIERpZ2l0YWwiOworCQlicmVhazsKKwl9CisKIAlzcGVjLT5zdHJlYW1fYW5hbG9nX3BsYXliYWNrID0gJmFsYzg4M19wY21fYW5hbG9nX3BsYXliYWNrOwogCXNwZWMtPnN0cmVhbV9hbmFsb2dfY2FwdHVyZSA9ICZhbGM4ODNfcGNtX2FuYWxvZ19jYXB0dXJlOwogCXNwZWMtPnN0cmVhbV9hbmFsb2dfYWx0X2NhcHR1cmUgPSAmYWxjODgzX3BjbV9hbmFsb2dfYWx0X2NhcHR1cmU7CiAKLQlzcGVjLT5zdHJlYW1fbmFtZV9kaWdpdGFsID0gIkFMQzg4MyBEaWdpdGFsIjsKIAlzcGVjLT5zdHJlYW1fZGlnaXRhbF9wbGF5YmFjayA9ICZhbGM4ODNfcGNtX2RpZ2l0YWxfcGxheWJhY2s7CiAJc3BlYy0+c3RyZWFtX2RpZ2l0YWxfY2FwdHVyZSA9ICZhbGM4ODNfcGNtX2RpZ2l0YWxfY2FwdHVyZTsKIApAQCAtODE4OSw2ICs4Mzg2LDkgQEAKIAljb2RlYy0+cGF0Y2hfb3BzID0gYWxjX3BhdGNoX29wczsKIAlpZiAoYm9hcmRfY29uZmlnID09IEFMQzg4M19BVVRPKQogCQlzcGVjLT5pbml0X2hvb2sgPSBhbGM4ODNfYXV0b19pbml0OworCWVsc2UgaWYgKGNvZGVjLT52ZW5kb3JfaWQgPT0gMHgxMGVjMDg4OCkKKwkJc3BlYy0+aW5pdF9ob29rID0gYWxjODg4X2NvZWZfaW5pdDsKKwogI2lmZGVmIENPTkZJR19TTkRfSERBX1BPV0VSX1NBVkUKIAlpZiAoIXNwZWMtPmxvb3BiYWNrLmFtcGxpc3QpCiAJCXNwZWMtPmxvb3BiYWNrLmFtcGxpc3QgPSBhbGM4ODNfbG9vcGJhY2tzOwpAQCAtOTUyMiw2ICs5NzIyLDggQEAKIAlTTkRfUENJX1FVSVJLKDB4MTA0ZCwgMHg4MjBmLCAiU29ueSBBU1NBTUQiLCBBTEMyNjJfU09OWV9BU1NBTUQpLAogCVNORF9QQ0lfUVVJUksoMHgxMDRkLCAweDkwMGUsICJTb255IEFTU0FNRCIsIEFMQzI2Ml9TT05ZX0FTU0FNRCksCiAJU05EX1BDSV9RVUlSSygweDEwNGQsIDB4OTAxNSwgIlNvbnkgMHg5MDE1IiwgQUxDMjYyX1NPTllfQVNTQU1EKSwKKwlTTkRfUENJX1FVSVJLKDB4MTE3OSwgMHgwMDAxLCAiVG9zaGliYSBkeW5hYm9vayBTUyBSWDEiLAorCQkgICAgICBBTEMyNjJfU09OWV9BU1NBTUQpLAogCVNORF9QQ0lfUVVJUksoMHgxMGNmLCAweDEzOTcsICJGdWppdHN1IiwgQUxDMjYyX0ZVSklUU1UpLAogCVNORF9QQ0lfUVVJUksoMHgxMGNmLCAweDE0MmQsICJGdWppdHN1IExpZmVib29rIEU4NDEwIiwgQUxDMjYyX0ZVSklUU1UpLAogCVNORF9QQ0lfUVVJUksoMHgxNDRkLCAweGMwMzIsICJTYW1zdW5nIFExIFVsdHJhIiwgQUxDMjYyX1VMVFJBKSwKQEAgLTk3MjksNiArOTkzMSw4IEBACiAJfQogI2VuZGlmCiAKKwlhbGNfZml4X3BsbF9pbml0KGNvZGVjLCAweDIwLCAweDBhLCAxMCk7CisKIAlib2FyZF9jb25maWcgPSBzbmRfaGRhX2NoZWNrX2JvYXJkX2NvbmZpZyhjb2RlYywgQUxDMjYyX01PREVMX0xBU1QsCiAJCQkJCQkgIGFsYzI2Ml9tb2RlbHMsCiAJCQkJCQkgIGFsYzI2Ml9jZmdfdGJsKTsKQEAgLTEwNjc0LDEyICsxMDg3OCwxOCBAQAogCWlmIChib2FyZF9jb25maWcgIT0gQUxDMjY4X0FVVE8pCiAJCXNldHVwX3ByZXNldChzcGVjLCAmYWxjMjY4X3ByZXNldHNbYm9hcmRfY29uZmlnXSk7CiAKLQlzcGVjLT5zdHJlYW1fbmFtZV9hbmFsb2cgPSAiQUxDMjY4IEFuYWxvZyI7CisJaWYgKGNvZGVjLT52ZW5kb3JfaWQgPT0gMHgxMGVjMDI2NykgeworCQlzcGVjLT5zdHJlYW1fbmFtZV9hbmFsb2cgPSAiQUxDMjY3IEFuYWxvZyI7CisJCXNwZWMtPnN0cmVhbV9uYW1lX2RpZ2l0YWwgPSAiQUxDMjY3IERpZ2l0YWwiOworCX0gZWxzZSB7CisJCXNwZWMtPnN0cmVhbV9uYW1lX2FuYWxvZyA9ICJBTEMyNjggQW5hbG9nIjsKKwkJc3BlYy0+c3RyZWFtX25hbWVfZGlnaXRhbCA9ICJBTEMyNjggRGlnaXRhbCI7CisJfQorCiAJc3BlYy0+c3RyZWFtX2FuYWxvZ19wbGF5YmFjayA9ICZhbGMyNjhfcGNtX2FuYWxvZ19wbGF5YmFjazsKIAlzcGVjLT5zdHJlYW1fYW5hbG9nX2NhcHR1cmUgPSAmYWxjMjY4X3BjbV9hbmFsb2dfY2FwdHVyZTsKIAlzcGVjLT5zdHJlYW1fYW5hbG9nX2FsdF9jYXB0dXJlID0gJmFsYzI2OF9wY21fYW5hbG9nX2FsdF9jYXB0dXJlOwogCi0Jc3BlYy0+c3RyZWFtX25hbWVfZGlnaXRhbCA9ICJBTEMyNjggRGlnaXRhbCI7CiAJc3BlYy0+c3RyZWFtX2RpZ2l0YWxfcGxheWJhY2sgPSAmYWxjMjY4X3BjbV9kaWdpdGFsX3BsYXliYWNrOwogCiAJaWYgKCFxdWVyeV9hbXBfY2Fwcyhjb2RlYywgMHgxZCwgSERBX0lOUFVUKSkKQEAgLTExMDMzLDYgKzExMjQzLDggQEAKIAogCWNvZGVjLT5zcGVjID0gc3BlYzsKIAorCWFsY19maXhfcGxsX2luaXQoY29kZWMsIDB4MjAsIDB4MDQsIDE1KTsKKwogCWJvYXJkX2NvbmZpZyA9IHNuZF9oZGFfY2hlY2tfYm9hcmRfY29uZmlnKGNvZGVjLCBBTEMyNjlfTU9ERUxfTEFTVCwKIAkJCQkJCSAgYWxjMjY5X21vZGVscywKIAkJCQkJCSAgYWxjMjY5X2NmZ190YmwpOwpAQCAtMTI2MzEsNiArMTI4NDMsMTIgQEAKIAl7IH0KIH07CiAKK3N0YXRpYyBzdHJ1Y3QgaGRhX3ZlcmIgYWxjNjYwdmRfZWFwZF92ZXJic1tdID0geworCXsweDE0LCBBQ19WRVJCX1NFVF9FQVBEX0JUTEVOQUJMRSwgMn0sCisJezB4MTUsIEFDX1ZFUkJfU0VUX0VBUERfQlRMRU5BQkxFLCAyfSwKKwl7IH0KK307CisKIHN0YXRpYyBzdHJ1Y3QgaGRhX3ZlcmIgYWxjODYxdmRfbGVub3ZvX3Vuc29sX3ZlcmJzW10gPSB7CiAJezB4MGMsIEFDX1ZFUkJfU0VUX0FNUF9HQUlOX01VVEUsIEFNUF9JTl9VTk1VVEUoMCl9LAogCXsweDBjLCBBQ19WRVJCX1NFVF9BTVBfR0FJTl9NVVRFLCBBTVBfSU5fVU5NVVRFKDEpfSwKQEAgLTEyNzg2LDYgKzEzMDA0LDcgQEAKIAlTTkRfUENJX1FVSVJLKDB4MTU2NSwgMHg4MjBkLCAiQmlvc3RhciBORjYxUyBTRSIsIEFMQzg2MVZEXzZTVF9ESUcpLAogCVNORF9QQ0lfUVVJUksoMHgxN2FhLCAweDIwNjYsICJMZW5vdm8iLCBBTEM4NjFWRF9MRU5PVk8pLAogCVNORF9QQ0lfUVVJUksoMHgxN2FhLCAweDM4MDIsICJMZW5vdm8gMzAwMCBDMjAwIiwgQUxDODYxVkRfTEVOT1ZPKSwKKwlTTkRfUENJX1FVSVJLKDB4MTdhYSwgMHgzODRlLCAiTGVub3ZvIDMwMDAgTjIwMCIsIEFMQzg2MVZEX0xFTk9WTyksCiAJU05EX1BDSV9RVUlSSygweDE4NDksIDB4MDg2MiwgIkFTUm9jayBLOE5GNkctVlNUQSIsIEFMQzg2MVZEXzZTVF9ESUcpLAogCXt9CiB9OwpAQCAtMTMxNjgsMTEgKzEzMzg3LDE5IEBACiAJaWYgKGJvYXJkX2NvbmZpZyAhPSBBTEM4NjFWRF9BVVRPKQogCQlzZXR1cF9wcmVzZXQoc3BlYywgJmFsYzg2MXZkX3ByZXNldHNbYm9hcmRfY29uZmlnXSk7CiAKLQlzcGVjLT5zdHJlYW1fbmFtZV9hbmFsb2cgPSAiQUxDODYxVkQgQW5hbG9nIjsKKwlpZiAoY29kZWMtPnZlbmRvcl9pZCA9PSAweDEwZWMwNjYwKSB7CisJCXNwZWMtPnN0cmVhbV9uYW1lX2FuYWxvZyA9ICJBTEM2NjAtVkQgQW5hbG9nIjsKKwkJc3BlYy0+c3RyZWFtX25hbWVfZGlnaXRhbCA9ICJBTEM2NjAtVkQgRGlnaXRhbCI7CisJCS8qIGFsd2F5cyB0dXJuIG9uIEVBUEQgKi8KKwkJc3BlYy0+aW5pdF92ZXJic1tzcGVjLT5udW1faW5pdF92ZXJicysrXSA9IGFsYzY2MHZkX2VhcGRfdmVyYnM7CisJfSBlbHNlIHsKKwkJc3BlYy0+c3RyZWFtX25hbWVfYW5hbG9nID0gIkFMQzg2MVZEIEFuYWxvZyI7CisJCXNwZWMtPnN0cmVhbV9uYW1lX2RpZ2l0YWwgPSAiQUxDODYxVkQgRGlnaXRhbCI7CisJfQorCiAJc3BlYy0+c3RyZWFtX2FuYWxvZ19wbGF5YmFjayA9ICZhbGM4NjF2ZF9wY21fYW5hbG9nX3BsYXliYWNrOwogCXNwZWMtPnN0cmVhbV9hbmFsb2dfY2FwdHVyZSA9ICZhbGM4NjF2ZF9wY21fYW5hbG9nX2NhcHR1cmU7CiAKLQlzcGVjLT5zdHJlYW1fbmFtZV9kaWdpdGFsID0gIkFMQzg2MVZEIERpZ2l0YWwiOwogCXNwZWMtPnN0cmVhbV9kaWdpdGFsX3BsYXliYWNrID0gJmFsYzg2MXZkX3BjbV9kaWdpdGFsX3BsYXliYWNrOwogCXNwZWMtPnN0cmVhbV9kaWdpdGFsX2NhcHR1cmUgPSAmYWxjODYxdmRfcGNtX2RpZ2l0YWxfY2FwdHVyZTsKIApAQCAtMTMyNTEsNiArMTM0NzgsMjMgQEAKIAl9LAogfTsKIAorc3RhdGljIHN0cnVjdCBoZGFfaW5wdXRfbXV4IGFsYzY2M19jYXB0dXJlX3NvdXJjZSA9IHsKKwkubnVtX2l0ZW1zID0gMywKKwkuaXRlbXMgPSB7CisJCXsgIk1pYyIsIDB4MCB9LAorCQl7ICJGcm9udCBNaWMiLCAweDEgfSwKKwkJeyAiTGluZSIsIDB4MiB9LAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IGhkYV9pbnB1dF9tdXggYWxjNjYzX201MXZhX2NhcHR1cmVfc291cmNlID0geworCS5udW1faXRlbXMgPSAyLAorCS5pdGVtcyA9IHsKKwkJeyAiRXh0LU1pYyIsIDB4MCB9LAorCQl7ICJELU1pYyIsIDB4OSB9LAorCX0sCit9OworCiAjZGVmaW5lIGFsYzY2Ml9tdXhfZW51bV9pbmZvIGFsY19tdXhfZW51bV9pbmZvCiAjZGVmaW5lIGFsYzY2Ml9tdXhfZW51bV9nZXQgYWxjX211eF9lbnVtX2dldAogI2RlZmluZSBhbGM2NjJfbXV4X2VudW1fcHV0IGFsYzg4Ml9tdXhfZW51bV9wdXQKQEAgLTEzNDMxLDYgKzEzNjc1LDQ0IEBACiAJeyB9IC8qIGVuZCAqLwogfTsKIAorc3RhdGljIHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IGFsYzY2M19tNTF2YV9taXhlcltdID0geworCUhEQV9DT0RFQ19WT0xVTUUoIlNwZWFrZXIgUGxheWJhY2sgVm9sdW1lIiwgMHgwMiwgMHgwLCBIREFfT1VUUFVUKSwKKwlIREFfQ09ERUNfTVVURSgiU3BlYWtlciBQbGF5YmFjayBTd2l0Y2giLCAweDE0LCAweDAsIEhEQV9PVVRQVVQpLAorCUhEQV9DT0RFQ19NVVRFKCJIZWFkcGhvbmUgUGxheWJhY2sgU3dpdGNoIiwgMHgyMSwgMHgwLCBIREFfT1VUUFVUKSwKKwlIREFfQ09ERUNfVk9MVU1FKCJNaWMgUGxheWJhY2sgVm9sdW1lIiwgMHgwYiwgMHgwLCBIREFfSU5QVVQpLAorCUhEQV9DT0RFQ19NVVRFKCJNaWMgUGxheWJhY2sgU3dpdGNoIiwgMHgwYiwgMHgwLCBIREFfSU5QVVQpLAorCUhEQV9DT0RFQ19NVVRFKCJETWljIFBsYXliYWNrIFN3aXRjaCIsIDB4MjMsIDB4OSwgSERBX0lOUFVUKSwKKwl7IH0gLyogZW5kICovCit9OworCitzdGF0aWMgc3RydWN0IHNuZF9rY29udHJvbF9uZXcgYWxjNjYzX2c3MXZfbWl4ZXJbXSA9IHsKKwlIREFfQ09ERUNfVk9MVU1FKCJTcGVha2VyIFBsYXliYWNrIFZvbHVtZSIsIDB4MDIsIDB4MCwgSERBX09VVFBVVCksCisJSERBX0NPREVDX01VVEUoIlNwZWFrZXIgUGxheWJhY2sgU3dpdGNoIiwgMHgxNCwgMHgwLCBIREFfT1VUUFVUKSwKKwlIREFfQ09ERUNfVk9MVU1FKCJGcm9udCBQbGF5YmFjayBWb2x1bWUiLCAweDAzLCAweDAsIEhEQV9PVVRQVVQpLAorCUhEQV9DT0RFQ19NVVRFKCJGcm9udCBQbGF5YmFjayBTd2l0Y2giLCAweDE1LCAweDAsIEhEQV9PVVRQVVQpLAorCUhEQV9DT0RFQ19NVVRFKCJIZWFkcGhvbmUgUGxheWJhY2sgU3dpdGNoIiwgMHgyMSwgMHgwLCBIREFfT1VUUFVUKSwKKworCUhEQV9DT0RFQ19WT0xVTUUoIk1pYyBQbGF5YmFjayBWb2x1bWUiLCAweDBiLCAweDAsIEhEQV9JTlBVVCksCisJSERBX0NPREVDX01VVEUoIk1pYyBQbGF5YmFjayBTd2l0Y2giLCAweDBiLCAweDAsIEhEQV9JTlBVVCksCisJSERBX0NPREVDX1ZPTFVNRSgiaS1NaWMgUGxheWJhY2sgVm9sdW1lIiwgMHgwYiwgMHgxLCBIREFfSU5QVVQpLAorCUhEQV9DT0RFQ19NVVRFKCJpLU1pYyBQbGF5YmFjayBTd2l0Y2giLCAweDBiLCAweDEsIEhEQV9JTlBVVCksCisJeyB9IC8qIGVuZCAqLworfTsKKworc3RhdGljIHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IGFsYzY2M19nNTB2X21peGVyW10gPSB7CisJSERBX0NPREVDX1ZPTFVNRSgiU3BlYWtlciBQbGF5YmFjayBWb2x1bWUiLCAweDAyLCAweDAsIEhEQV9PVVRQVVQpLAorCUhEQV9DT0RFQ19NVVRFKCJTcGVha2VyIFBsYXliYWNrIFN3aXRjaCIsIDB4MTQsIDB4MCwgSERBX09VVFBVVCksCisJSERBX0NPREVDX01VVEUoIkhlYWRwaG9uZSBQbGF5YmFjayBTd2l0Y2giLCAweDIxLCAweDAsIEhEQV9PVVRQVVQpLAorCisJSERBX0NPREVDX1ZPTFVNRSgiTWljIFBsYXliYWNrIFZvbHVtZSIsIDB4MGIsIDB4MCwgSERBX0lOUFVUKSwKKwlIREFfQ09ERUNfTVVURSgiTWljIFBsYXliYWNrIFN3aXRjaCIsIDB4MGIsIDB4MCwgSERBX0lOUFVUKSwKKwlIREFfQ09ERUNfVk9MVU1FKCJpLU1pYyBQbGF5YmFjayBWb2x1bWUiLCAweDBiLCAweDEsIEhEQV9JTlBVVCksCisJSERBX0NPREVDX01VVEUoImktTWljIFBsYXliYWNrIFN3aXRjaCIsIDB4MGIsIDB4MSwgSERBX0lOUFVUKSwKKwlIREFfQ09ERUNfVk9MVU1FKCJMaW5lIFBsYXliYWNrIFZvbHVtZSIsIDB4MGIsIDB4MDIsIEhEQV9JTlBVVCksCisJSERBX0NPREVDX01VVEUoIkxpbmUgUGxheWJhY2sgU3dpdGNoIiwgMHgwYiwgMHgwMiwgSERBX0lOUFVUKSwKKwl7IH0gLyogZW5kICovCit9OworCiBzdGF0aWMgc3RydWN0IHNuZF9rY29udHJvbF9uZXcgYWxjNjYyX2NobW9kZV9taXhlcltdID0gewogCXsKIAkJLmlmYWNlID0gU05EUlZfQ1RMX0VMRU1fSUZBQ0VfTUlYRVIsCkBAIC0xMzUwMSw2ICsxMzc4MywxMSBAQAogCXsweDIzLCBBQ19WRVJCX1NFVF9BTVBfR0FJTl9NVVRFLCBBTVBfSU5fVU5NVVRFKDEpfSwKIAl7MHgyMywgQUNfVkVSQl9TRVRfQU1QX0dBSU5fTVVURSwgQU1QX0lOX1VOTVVURSgyKX0sCiAJezB4MjMsIEFDX1ZFUkJfU0VUX0FNUF9HQUlOX01VVEUsIEFNUF9JTl9VTk1VVEUoNCl9LAorCisJLyogYWx3YXlzIHRydW4gb24gRUFQRCAqLworCXsweDE0LCBBQ19WRVJCX1NFVF9FQVBEX0JUTEVOQUJMRSwgMn0sCisJezB4MTUsIEFDX1ZFUkJfU0VUX0VBUERfQlRMRU5BQkxFLCAyfSwKKwogCXsgfQogfTsKIApAQCAtMTM1NzEsNiArMTM4NTgsNDMgQEAKIAl7IH0KIH07CiAKK3N0YXRpYyBzdHJ1Y3QgaGRhX3ZlcmIgYWxjNjYzX201MXZhX2luaXRfdmVyYnNbXSA9IHsKKwl7MHgyMSwgQUNfVkVSQl9TRVRfUElOX1dJREdFVF9DT05UUk9MLCBQSU5fSFB9LAorCXsweDIxLCBBQ19WRVJCX1NFVF9BTVBfR0FJTl9NVVRFLCBBTVBfT1VUX1VOTVVURX0sCisJezB4MjEsIEFDX1ZFUkJfU0VUX0NPTk5FQ1RfU0VMLCAweDAwfSwJLyogSGVhZHBob25lICovCisKKwl7MHgyMywgQUNfVkVSQl9TRVRfQU1QX0dBSU5fTVVURSwgQU1QX0lOX1VOTVVURSg5KX0sCisKKwl7MHgxOCwgQUNfVkVSQl9TRVRfVU5TT0xJQ0lURURfRU5BQkxFLCBBQ19VU1JTUF9FTiB8IEFMQzg4MF9NSUNfRVZFTlR9LAorCXsweDIxLCBBQ19WRVJCX1NFVF9VTlNPTElDSVRFRF9FTkFCTEUsIEFDX1VTUlNQX0VOIHwgQUxDODgwX0hQX0VWRU5UfSwKKwl7fQorfTsKKworc3RhdGljIHN0cnVjdCBoZGFfdmVyYiBhbGM2NjNfZzcxdl9pbml0X3ZlcmJzW10gPSB7CisJezB4MTUsIEFDX1ZFUkJfU0VUX1BJTl9XSURHRVRfQ09OVFJPTCwgUElOX0hQfSwKKwkvKiB7MHgxNSwgQUNfVkVSQl9TRVRfQU1QX0dBSU5fTVVURSwgQU1QX09VVF9VTk1VVEV9LCAqLworCS8qIHsweDE1LCBBQ19WRVJCX1NFVF9DT05ORUNUX1NFTCwgMHgwMX0sICovIC8qIEhlYWRwaG9uZSAqLworCisJezB4MjEsIEFDX1ZFUkJfU0VUX1BJTl9XSURHRVRfQ09OVFJPTCwgUElOX0hQfSwKKwl7MHgyMSwgQUNfVkVSQl9TRVRfQU1QX0dBSU5fTVVURSwgQU1QX09VVF9VTk1VVEV9LAorCXsweDIxLCBBQ19WRVJCX1NFVF9DT05ORUNUX1NFTCwgMHgwMH0sCS8qIEhlYWRwaG9uZSAqLworCisJezB4MTUsIEFDX1ZFUkJfU0VUX1VOU09MSUNJVEVEX0VOQUJMRSwgQUNfVVNSU1BfRU58QUxDODgwX0ZST05UX0VWRU5UfSwKKwl7MHgxOCwgQUNfVkVSQl9TRVRfVU5TT0xJQ0lURURfRU5BQkxFLCBBQ19VU1JTUF9FTnxBTEM4ODBfTUlDX0VWRU5UfSwKKwl7MHgyMSwgQUNfVkVSQl9TRVRfVU5TT0xJQ0lURURfRU5BQkxFLCBBQ19VU1JTUF9FTnxBTEM4ODBfSFBfRVZFTlR9LAorCXt9Cit9OworCitzdGF0aWMgc3RydWN0IGhkYV92ZXJiIGFsYzY2M19nNTB2X2luaXRfdmVyYnNbXSA9IHsKKwl7MHgyMSwgQUNfVkVSQl9TRVRfUElOX1dJREdFVF9DT05UUk9MLCBQSU5fSFB9LAorCXsweDIxLCBBQ19WRVJCX1NFVF9BTVBfR0FJTl9NVVRFLCBBTVBfT1VUX1VOTVVURX0sCisJezB4MjEsIEFDX1ZFUkJfU0VUX0NPTk5FQ1RfU0VMLCAweDAwfSwJLyogSGVhZHBob25lICovCisKKwl7MHgxOCwgQUNfVkVSQl9TRVRfVU5TT0xJQ0lURURfRU5BQkxFLCBBQ19VU1JTUF9FTiB8IEFMQzg4MF9NSUNfRVZFTlR9LAorCXsweDIxLCBBQ19WRVJCX1NFVF9VTlNPTElDSVRFRF9FTkFCTEUsIEFDX1VTUlNQX0VOIHwgQUxDODgwX0hQX0VWRU5UfSwKKwl7fQorfTsKKwogLyogY2FwdHVyZSBtaXhlciBlbGVtZW50cyAqLwogc3RhdGljIHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IGFsYzY2Ml9jYXB0dXJlX21peGVyW10gPSB7CiAJSERBX0NPREVDX1ZPTFVNRSgiQ2FwdHVyZSBWb2x1bWUiLCAweDA5LCAweDAsIEhEQV9JTlBVVCksCkBAIC0xMzY5Miw2ICsxNDAxNiwxMjUgQEAKIAlhbGM2NjJfZWVlcGNfZXAyMF9hdXRvbXV0ZShjb2RlYyk7CiB9CiAKK3N0YXRpYyB2b2lkIGFsYzY2M19tNTF2YV9zcGVha2VyX2F1dG9tdXRlKHN0cnVjdCBoZGFfY29kZWMgKmNvZGVjKQoreworCXVuc2lnbmVkIGludCBwcmVzZW50OworCXVuc2lnbmVkIGNoYXIgYml0czsKKworCXByZXNlbnQgPSBzbmRfaGRhX2NvZGVjX3JlYWQoY29kZWMsIDB4MjEsIDAsCisJCQkJICAgICBBQ19WRVJCX0dFVF9QSU5fU0VOU0UsIDApCisJCSYgQUNfUElOU0VOU0VfUFJFU0VOQ0U7CisJYml0cyA9IHByZXNlbnQgPyBIREFfQU1QX01VVEUgOiAwOworCXNuZF9oZGFfY29kZWNfYW1wX3N0ZXJlbyhjb2RlYywgMHgxNCwgSERBX09VVFBVVCwgMCwKKwkJCQkgSERBX0FNUF9NVVRFLCBiaXRzKTsKK30KKworc3RhdGljIHZvaWQgYWxjNjYzX201MXZhX21pY19hdXRvbXV0ZShzdHJ1Y3QgaGRhX2NvZGVjICpjb2RlYykKK3sKKwl1bnNpZ25lZCBpbnQgcHJlc2VudDsKKworCXByZXNlbnQgPSBzbmRfaGRhX2NvZGVjX3JlYWQoY29kZWMsIDB4MTgsIDAsCisJCQkJICAgICBBQ19WRVJCX0dFVF9QSU5fU0VOU0UsIDApCisJCSYgQUNfUElOU0VOU0VfUFJFU0VOQ0U7CisJc25kX2hkYV9jb2RlY193cml0ZV9jYWNoZShjb2RlYywgMHgyMiwgMCwgQUNfVkVSQl9TRVRfQU1QX0dBSU5fTVVURSwKKwkJCSAgICAweDcwMDAgfCAoMHgwMCA8PCA4KSB8IChwcmVzZW50ID8gMCA6IDB4ODApKTsKKwlzbmRfaGRhX2NvZGVjX3dyaXRlX2NhY2hlKGNvZGVjLCAweDIzLCAwLCBBQ19WRVJCX1NFVF9BTVBfR0FJTl9NVVRFLAorCQkJICAgIDB4NzAwMCB8ICgweDAwIDw8IDgpIHwgKHByZXNlbnQgPyAwIDogMHg4MCkpOworCXNuZF9oZGFfY29kZWNfd3JpdGVfY2FjaGUoY29kZWMsIDB4MjIsIDAsIEFDX1ZFUkJfU0VUX0FNUF9HQUlOX01VVEUsCisJCQkgICAgMHg3MDAwIHwgKDB4MDkgPDwgOCkgfCAocHJlc2VudCA/IDB4ODAgOiAwKSk7CisJc25kX2hkYV9jb2RlY193cml0ZV9jYWNoZShjb2RlYywgMHgyMywgMCwgQUNfVkVSQl9TRVRfQU1QX0dBSU5fTVVURSwKKwkJCSAgICAweDcwMDAgfCAoMHgwOSA8PCA4KSB8IChwcmVzZW50ID8gMHg4MCA6IDApKTsKK30KKworc3RhdGljIHZvaWQgYWxjNjYzX201MXZhX3Vuc29sX2V2ZW50KHN0cnVjdCBoZGFfY29kZWMgKmNvZGVjLAorCQkJCQkgICB1bnNpZ25lZCBpbnQgcmVzKQoreworCXN3aXRjaCAocmVzID4+IDI2KSB7CisJY2FzZSBBTEM4ODBfSFBfRVZFTlQ6CisJCWFsYzY2M19tNTF2YV9zcGVha2VyX2F1dG9tdXRlKGNvZGVjKTsKKwkJYnJlYWs7CisJY2FzZSBBTEM4ODBfTUlDX0VWRU5UOgorCQlhbGM2NjNfbTUxdmFfbWljX2F1dG9tdXRlKGNvZGVjKTsKKwkJYnJlYWs7CisJfQorfQorCitzdGF0aWMgdm9pZCBhbGM2NjNfbTUxdmFfaW5pdGhvb2soc3RydWN0IGhkYV9jb2RlYyAqY29kZWMpCit7CisJYWxjNjYzX201MXZhX3NwZWFrZXJfYXV0b211dGUoY29kZWMpOworCWFsYzY2M19tNTF2YV9taWNfYXV0b211dGUoY29kZWMpOworfQorCitzdGF0aWMgdm9pZCBhbGM2NjNfZzcxdl9ocF9hdXRvbXV0ZShzdHJ1Y3QgaGRhX2NvZGVjICpjb2RlYykKK3sKKwl1bnNpZ25lZCBpbnQgcHJlc2VudDsKKwl1bnNpZ25lZCBjaGFyIGJpdHM7CisKKwlwcmVzZW50ID0gc25kX2hkYV9jb2RlY19yZWFkKGNvZGVjLCAweDIxLCAwLAorCQkJCSAgICAgQUNfVkVSQl9HRVRfUElOX1NFTlNFLCAwKQorCQkmIEFDX1BJTlNFTlNFX1BSRVNFTkNFOworCWJpdHMgPSBwcmVzZW50ID8gSERBX0FNUF9NVVRFIDogMDsKKwlzbmRfaGRhX2NvZGVjX2FtcF9zdGVyZW8oY29kZWMsIDB4MTUsIEhEQV9PVVRQVVQsIDAsCisJCQkJIEhEQV9BTVBfTVVURSwgYml0cyk7CisJc25kX2hkYV9jb2RlY19hbXBfc3RlcmVvKGNvZGVjLCAweDE0LCBIREFfT1VUUFVULCAwLAorCQkJCSBIREFfQU1QX01VVEUsIGJpdHMpOworfQorCitzdGF0aWMgdm9pZCBhbGM2NjNfZzcxdl9mcm9udF9hdXRvbXV0ZShzdHJ1Y3QgaGRhX2NvZGVjICpjb2RlYykKK3sKKwl1bnNpZ25lZCBpbnQgcHJlc2VudDsKKwl1bnNpZ25lZCBjaGFyIGJpdHM7CisKKwlwcmVzZW50ID0gc25kX2hkYV9jb2RlY19yZWFkKGNvZGVjLCAweDE1LCAwLAorCQkJCSAgICAgQUNfVkVSQl9HRVRfUElOX1NFTlNFLCAwKQorCQkmIEFDX1BJTlNFTlNFX1BSRVNFTkNFOworCWJpdHMgPSBwcmVzZW50ID8gSERBX0FNUF9NVVRFIDogMDsKKwlzbmRfaGRhX2NvZGVjX2FtcF9zdGVyZW8oY29kZWMsIDB4MTQsIEhEQV9PVVRQVVQsIDAsCisJCQkJIEhEQV9BTVBfTVVURSwgYml0cyk7Cit9CisKK3N0YXRpYyB2b2lkIGFsYzY2M19nNzF2X3Vuc29sX2V2ZW50KHN0cnVjdCBoZGFfY29kZWMgKmNvZGVjLAorCQkJCQkgICB1bnNpZ25lZCBpbnQgcmVzKQoreworCXN3aXRjaCAocmVzID4+IDI2KSB7CisJY2FzZSBBTEM4ODBfSFBfRVZFTlQ6CisJCWFsYzY2M19nNzF2X2hwX2F1dG9tdXRlKGNvZGVjKTsKKwkJYnJlYWs7CisJY2FzZSBBTEM4ODBfRlJPTlRfRVZFTlQ6CisJCWFsYzY2M19nNzF2X2Zyb250X2F1dG9tdXRlKGNvZGVjKTsKKwkJYnJlYWs7CisJY2FzZSBBTEM4ODBfTUlDX0VWRU5UOgorCQlhbGM2NjJfZWVlcGNfbWljX2F1dG9tdXRlKGNvZGVjKTsKKwkJYnJlYWs7CisJfQorfQorCitzdGF0aWMgdm9pZCBhbGM2NjNfZzcxdl9pbml0aG9vayhzdHJ1Y3QgaGRhX2NvZGVjICpjb2RlYykKK3sKKwlhbGM2NjNfZzcxdl9mcm9udF9hdXRvbXV0ZShjb2RlYyk7CisJYWxjNjYzX2c3MXZfaHBfYXV0b211dGUoY29kZWMpOworCWFsYzY2Ml9lZWVwY19taWNfYXV0b211dGUoY29kZWMpOworfQorCitzdGF0aWMgdm9pZCBhbGM2NjNfZzUwdl91bnNvbF9ldmVudChzdHJ1Y3QgaGRhX2NvZGVjICpjb2RlYywKKwkJCQkJICAgdW5zaWduZWQgaW50IHJlcykKK3sKKwlzd2l0Y2ggKHJlcyA+PiAyNikgeworCWNhc2UgQUxDODgwX0hQX0VWRU5UOgorCQlhbGM2NjNfbTUxdmFfc3BlYWtlcl9hdXRvbXV0ZShjb2RlYyk7CisJCWJyZWFrOworCWNhc2UgQUxDODgwX01JQ19FVkVOVDoKKwkJYWxjNjYyX2VlZXBjX21pY19hdXRvbXV0ZShjb2RlYyk7CisJCWJyZWFrOworCX0KK30KKworc3RhdGljIHZvaWQgYWxjNjYzX2c1MHZfaW5pdGhvb2soc3RydWN0IGhkYV9jb2RlYyAqY29kZWMpCit7CisJYWxjNjYzX201MXZhX3NwZWFrZXJfYXV0b211dGUoY29kZWMpOworCWFsYzY2Ml9lZWVwY19taWNfYXV0b211dGUoY29kZWMpOworfQorCiAjaWZkZWYgQ09ORklHX1NORF9IREFfUE9XRVJfU0FWRQogI2RlZmluZSBhbGM2NjJfbG9vcGJhY2tzCWFsYzg4MF9sb29wYmFja3MKICNlbmRpZgpAQCAtMTM3MTQsMTQgKzE0MTU3LDI0IEBACiAJW0FMQzY2Ml9MRU5PVk9fMTAxRV0JPSAibGVub3ZvLTEwMWUiLAogCVtBTEM2NjJfQVNVU19FRUVQQ19QNzAxXSA9ICJlZWVwYy1wNzAxIiwKIAlbQUxDNjYyX0FTVVNfRUVFUENfRVAyMF0gPSAiZWVlcGMtZXAyMCIsCisJW0FMQzY2M19BU1VTX001MVZBXSA9ICJtNTF2YSIsCisJW0FMQzY2M19BU1VTX0c3MVZdID0gImc3MXYiLAorCVtBTEM2NjNfQVNVU19IMTNdID0gImgxMyIsCisJW0FMQzY2M19BU1VTX0c1MFZdID0gImc1MHYiLAogCVtBTEM2NjJfQVVUT10JCT0gImF1dG8iLAogfTsKIAogc3RhdGljIHN0cnVjdCBzbmRfcGNpX3F1aXJrIGFsYzY2Ml9jZmdfdGJsW10gPSB7CisJU05EX1BDSV9RVUlSSygweDEwNDMsIDB4MTFjMywgIkFTVVMgRzcxViIsIEFMQzY2M19BU1VTX0c3MVYpLAorCVNORF9QQ0lfUVVJUksoMHgxMDQzLCAweDE4NzgsICJBU1VTIE01MVZBIiwgQUxDNjYzX0FTVVNfTTUxVkEpLAorCVNORF9QQ0lfUVVJUksoMHgxMDQzLCAweDE5YTMsICJBU1VTIE01MVZBIiwgQUxDNjYzX0FTVVNfRzUwViksCiAJU05EX1BDSV9RVUlSSygweDEwNDMsIDB4ODI5MCwgIkFTVVMgUDVHQy1NWCIsIEFMQzY2Ml8zU1RfNmNoX0RJRyksCiAJU05EX1BDSV9RVUlSSygweDEwNDMsIDB4ODJhMSwgIkFTVVMgRWVlcGMiLCBBTEM2NjJfQVNVU19FRUVQQ19QNzAxKSwKIAlTTkRfUENJX1FVSVJLKDB4MTA0MywgMHg4MmQxLCAiQVNVUyBFZWVwYyBFUDIwIiwgQUxDNjYyX0FTVVNfRUVFUENfRVAyMCksCiAJU05EX1BDSV9RVUlSSygweDE3YWEsIDB4MTAxZSwgIkxlbm92byIsIEFMQzY2Ml9MRU5PVk9fMTAxRSksCisJU05EX1BDSV9RVUlSSygweDE4NTQsIDB4MjAwMCwgIkFTVVMgSDEzLTIwMDAiLCBBTEM2NjNfQVNVU19IMTMpLAorCVNORF9QQ0lfUVVJUksoMHgxODU0LCAweDIwMDEsICJBU1VTIEgxMy0yMDAxIiwgQUxDNjYzX0FTVVNfSDEzKSwKKwlTTkRfUENJX1FVSVJLKDB4MTg1NCwgMHgyMDAyLCAiQVNVUyBIMTMtMjAwMiIsIEFMQzY2M19BU1VTX0gxMyksCiAJe30KIH07CiAKQEAgLTEzODA5LDcgKzE0MjYyLDUzIEBACiAJCS51bnNvbF9ldmVudCA9IGFsYzY2Ml9lZWVwY19lcDIwX3Vuc29sX2V2ZW50LAogCQkuaW5pdF9ob29rID0gYWxjNjYyX2VlZXBjX2VwMjBfaW5pdGhvb2ssCiAJfSwKLQorCVtBTEM2NjNfQVNVU19NNTFWQV0gPSB7CisJCS5taXhlcnMgPSB7IGFsYzY2M19tNTF2YV9taXhlciwgYWxjNjYyX2NhcHR1cmVfbWl4ZXJ9LAorCQkuaW5pdF92ZXJicyA9IHsgYWxjNjYyX2luaXRfdmVyYnMsIGFsYzY2M19tNTF2YV9pbml0X3ZlcmJzIH0sCisJCS5udW1fZGFjcyA9IEFSUkFZX1NJWkUoYWxjNjYyX2RhY19uaWRzKSwKKwkJLmRhY19uaWRzID0gYWxjNjYyX2RhY19uaWRzLAorCQkuZGlnX291dF9uaWQgPSBBTEM2NjJfRElHT1VUX05JRCwKKwkJLm51bV9jaGFubmVsX21vZGUgPSBBUlJBWV9TSVpFKGFsYzY2Ml8zU1RfMmNoX21vZGVzKSwKKwkJLmNoYW5uZWxfbW9kZSA9IGFsYzY2Ml8zU1RfMmNoX21vZGVzLAorCQkuaW5wdXRfbXV4ID0gJmFsYzY2M19tNTF2YV9jYXB0dXJlX3NvdXJjZSwKKwkJLnVuc29sX2V2ZW50ID0gYWxjNjYzX201MXZhX3Vuc29sX2V2ZW50LAorCQkuaW5pdF9ob29rID0gYWxjNjYzX201MXZhX2luaXRob29rLAorCX0sCisJW0FMQzY2M19BU1VTX0c3MVZdID0geworCQkubWl4ZXJzID0geyBhbGM2NjNfZzcxdl9taXhlciwgYWxjNjYyX2NhcHR1cmVfbWl4ZXJ9LAorCQkuaW5pdF92ZXJicyA9IHsgYWxjNjYyX2luaXRfdmVyYnMsIGFsYzY2M19nNzF2X2luaXRfdmVyYnMgfSwKKwkJLm51bV9kYWNzID0gQVJSQVlfU0laRShhbGM2NjJfZGFjX25pZHMpLAorCQkuZGFjX25pZHMgPSBhbGM2NjJfZGFjX25pZHMsCisJCS5kaWdfb3V0X25pZCA9IEFMQzY2Ml9ESUdPVVRfTklELAorCQkubnVtX2NoYW5uZWxfbW9kZSA9IEFSUkFZX1NJWkUoYWxjNjYyXzNTVF8yY2hfbW9kZXMpLAorCQkuY2hhbm5lbF9tb2RlID0gYWxjNjYyXzNTVF8yY2hfbW9kZXMsCisJCS5pbnB1dF9tdXggPSAmYWxjNjYyX2VlZXBjX2NhcHR1cmVfc291cmNlLAorCQkudW5zb2xfZXZlbnQgPSBhbGM2NjNfZzcxdl91bnNvbF9ldmVudCwKKwkJLmluaXRfaG9vayA9IGFsYzY2M19nNzF2X2luaXRob29rLAorCX0sCisJW0FMQzY2M19BU1VTX0gxM10gPSB7CisJCS5taXhlcnMgPSB7IGFsYzY2M19tNTF2YV9taXhlciwgYWxjNjYyX2NhcHR1cmVfbWl4ZXJ9LAorCQkuaW5pdF92ZXJicyA9IHsgYWxjNjYyX2luaXRfdmVyYnMsIGFsYzY2M19tNTF2YV9pbml0X3ZlcmJzIH0sCisJCS5udW1fZGFjcyA9IEFSUkFZX1NJWkUoYWxjNjYyX2RhY19uaWRzKSwKKwkJLmRhY19uaWRzID0gYWxjNjYyX2RhY19uaWRzLAorCQkubnVtX2NoYW5uZWxfbW9kZSA9IEFSUkFZX1NJWkUoYWxjNjYyXzNTVF8yY2hfbW9kZXMpLAorCQkuY2hhbm5lbF9tb2RlID0gYWxjNjYyXzNTVF8yY2hfbW9kZXMsCisJCS5pbnB1dF9tdXggPSAmYWxjNjYzX201MXZhX2NhcHR1cmVfc291cmNlLAorCQkudW5zb2xfZXZlbnQgPSBhbGM2NjNfbTUxdmFfdW5zb2xfZXZlbnQsCisJCS5pbml0X2hvb2sgPSBhbGM2NjNfbTUxdmFfaW5pdGhvb2ssCisJfSwKKwlbQUxDNjYzX0FTVVNfRzUwVl0gPSB7CisJCS5taXhlcnMgPSB7IGFsYzY2M19nNTB2X21peGVyLCBhbGM2NjJfY2FwdHVyZV9taXhlcn0sCisJCS5pbml0X3ZlcmJzID0geyBhbGM2NjJfaW5pdF92ZXJicywgYWxjNjYzX2c1MHZfaW5pdF92ZXJicyB9LAorCQkubnVtX2RhY3MgPSBBUlJBWV9TSVpFKGFsYzY2Ml9kYWNfbmlkcyksCisJCS5kYWNfbmlkcyA9IGFsYzY2Ml9kYWNfbmlkcywKKwkJLmRpZ19vdXRfbmlkID0gQUxDNjYyX0RJR09VVF9OSUQsCisJCS5udW1fY2hhbm5lbF9tb2RlID0gQVJSQVlfU0laRShhbGM2NjJfM1NUXzZjaF9tb2RlcyksCisJCS5jaGFubmVsX21vZGUgPSBhbGM2NjJfM1NUXzZjaF9tb2RlcywKKwkJLmlucHV0X211eCA9ICZhbGM2NjNfY2FwdHVyZV9zb3VyY2UsCisJCS51bnNvbF9ldmVudCA9IGFsYzY2M19nNTB2X3Vuc29sX2V2ZW50LAorCQkuaW5pdF9ob29rID0gYWxjNjYzX2c1MHZfaW5pdGhvb2ssCisJfSwKIH07CiAKIApAQCAtMTQwODIsNiArMTQ1ODEsOCBAQAogCiAJY29kZWMtPnNwZWMgPSBzcGVjOwogCisJYWxjX2ZpeF9wbGxfaW5pdChjb2RlYywgMHgyMCwgMHgwNCwgMTUpOworCiAJYm9hcmRfY29uZmlnID0gc25kX2hkYV9jaGVja19ib2FyZF9jb25maWcoY29kZWMsIEFMQzY2Ml9NT0RFTF9MQVNULAogCQkJCQkJICBhbGM2NjJfbW9kZWxzLAogCQkJICAJICAgICAgICAgICAgICAgICAgYWxjNjYyX2NmZ190YmwpOwpAQCAtMTQxMDgsMTEgKzE0NjA5LDE3IEBACiAJaWYgKGJvYXJkX2NvbmZpZyAhPSBBTEM2NjJfQVVUTykKIAkJc2V0dXBfcHJlc2V0KHNwZWMsICZhbGM2NjJfcHJlc2V0c1tib2FyZF9jb25maWddKTsKIAotCXNwZWMtPnN0cmVhbV9uYW1lX2FuYWxvZyA9ICJBTEM2NjIgQW5hbG9nIjsKKwlpZiAoY29kZWMtPnZlbmRvcl9pZCA9PSAweDEwZWMwNjYzKSB7CisJCXNwZWMtPnN0cmVhbV9uYW1lX2FuYWxvZyA9ICJBTEM2NjMgQW5hbG9nIjsKKwkJc3BlYy0+c3RyZWFtX25hbWVfZGlnaXRhbCA9ICJBTEM2NjMgRGlnaXRhbCI7CisJfSBlbHNlIHsKKwkJc3BlYy0+c3RyZWFtX25hbWVfYW5hbG9nID0gIkFMQzY2MiBBbmFsb2ciOworCQlzcGVjLT5zdHJlYW1fbmFtZV9kaWdpdGFsID0gIkFMQzY2MiBEaWdpdGFsIjsKKwl9CisKIAlzcGVjLT5zdHJlYW1fYW5hbG9nX3BsYXliYWNrID0gJmFsYzY2Ml9wY21fYW5hbG9nX3BsYXliYWNrOwogCXNwZWMtPnN0cmVhbV9hbmFsb2dfY2FwdHVyZSA9ICZhbGM2NjJfcGNtX2FuYWxvZ19jYXB0dXJlOwogCi0Jc3BlYy0+c3RyZWFtX25hbWVfZGlnaXRhbCA9ICJBTEM2NjIgRGlnaXRhbCI7CiAJc3BlYy0+c3RyZWFtX2RpZ2l0YWxfcGxheWJhY2sgPSAmYWxjNjYyX3BjbV9kaWdpdGFsX3BsYXliYWNrOwogCXNwZWMtPnN0cmVhbV9kaWdpdGFsX2NhcHR1cmUgPSAmYWxjNjYyX3BjbV9kaWdpdGFsX2NhcHR1cmU7CiAKQEAgLTE0MTUxLDYgKzE0NjU4LDcgQEAKIAkgIC5wYXRjaCA9IHBhdGNoX2FsYzg4MyB9LAogCXsgLmlkID0gMHgxMGVjMDY2MiwgLnJldiA9IDB4MTAwMTAxLCAubmFtZSA9ICJBTEM2NjIgcmV2MSIsCiAJICAucGF0Y2ggPSBwYXRjaF9hbGM2NjIgfSwKKwl7IC5pZCA9IDB4MTBlYzA2NjMsIC5uYW1lID0gIkFMQzY2MyIsIC5wYXRjaCA9IHBhdGNoX2FsYzY2MiB9LAogCXsgLmlkID0gMHgxMGVjMDg4MCwgLm5hbWUgPSAiQUxDODgwIiwgLnBhdGNoID0gcGF0Y2hfYWxjODgwIH0sCiAJeyAuaWQgPSAweDEwZWMwODgyLCAubmFtZSA9ICJBTEM4ODIiLCAucGF0Y2ggPSBwYXRjaF9hbGM4ODIgfSwKIAl7IC5pZCA9IDB4MTBlYzA4ODMsIC5uYW1lID0gIkFMQzg4MyIsIC5wYXRjaCA9IHBhdGNoX2FsYzg4MyB9LApkaWZmIC0tZ2l0IGEvc291bmQvcGNpL2hkYS9wYXRjaF9zaWdtYXRlbC5jIGIvc291bmQvcGNpL2hkYS9wYXRjaF9zaWdtYXRlbC5jCmluZGV4IGE0ZjQ0YTAuLjA4Y2I3N2YgMTAwNjQ0Ci0tLSBhL3NvdW5kL3BjaS9oZGEvcGF0Y2hfc2lnbWF0ZWwuYworKysgYi9zb3VuZC9wY2kvaGRhL3BhdGNoX3NpZ21hdGVsLmMKQEAgLTYzNiwyMSArNjM2LDI4IEBACiAJeyAweDBmLCBBQ19WRVJCX1NFVF9BTVBfR0FJTl9NVVRFLCBBTVBfSU5fVU5NVVRFKDApfSwKIH07CiAKKyNkZWZpbmUgSERfRElTQUJMRV9QT1JURiAzCiBzdGF0aWMgc3RydWN0IGhkYV92ZXJiIHN0YWM5MmhkNzFieHhfYW5hbG9nX2NvcmVfaW5pdFtdID0geworCS8qIHN0YXJ0IG9mIGNvbmZpZyAjMSAqLworCisJLyogY29ubmVjdCBwb3J0IDBmIHRvIGF1ZGlvIG1peGVyICovCisJeyAweDBmLCBBQ19WRVJCX1NFVF9DT05ORUNUX1NFTCwgMHgyfSwKKwl7IDB4MGYsIEFDX1ZFUkJfU0VUX1BJTl9XSURHRVRfQ09OVFJPTCwgUElOX09VVH0sIC8qIFNwZWFrZXIgKi8KKwkvKiB1bm11dGUgcmlnaHQgYW5kIGxlZnQgY2hhbm5lbHMgZm9yIG5vZGUgMHgwZiAqLworCXsgMHgwZiwgQUNfVkVSQl9TRVRfQU1QX0dBSU5fTVVURSwgQU1QX0lOX1VOTVVURSgwKX0sCisJLyogc3RhcnQgb2YgY29uZmlnICMyICovCisKIAkvKiBzZXQgbWFzdGVyIHZvbHVtZSBhbmQgZGlyZWN0IGNvbnRyb2wgKi8KIAl7IDB4MjgsIEFDX1ZFUkJfU0VUX1ZPTFVNRV9LTk9CX0NPTlRST0wsIDB4ZmZ9LAogCS8qIGNvbm5lY3QgaGVhZHBob25lIGphY2sgdG8gZGFjMSAqLwogCXsgMHgwYSwgQUNfVkVSQl9TRVRfQ09OTkVDVF9TRUwsIDB4MDF9LAotCS8qIGNvbm5lY3QgcG9ydHMgMGQgYW5kIDBmIHRvIGF1ZGlvIG1peGVyICovCisJLyogY29ubmVjdCBwb3J0IDBkIHRvIGF1ZGlvIG1peGVyICovCiAJeyAweDBkLCBBQ19WRVJCX1NFVF9DT05ORUNUX1NFTCwgMHgyfSwKLQl7IDB4MGYsIEFDX1ZFUkJfU0VUX0NPTk5FQ1RfU0VMLCAweDJ9LAotCXsgMHgwZiwgQUNfVkVSQl9TRVRfUElOX1dJREdFVF9DT05UUk9MLCBQSU5fT1VUfSwgLyogU3BlYWtlciAqLwogCS8qIHVubXV0ZSBkYWMwIGlucHV0IGluIGF1ZGlvIG1peGVyICovCiAJeyAweDE3LCBBQ19WRVJCX1NFVF9BTVBfR0FJTl9NVVRFLCAweDcwMWZ9LAotCS8qIHVubXV0ZSByaWdodCBhbmQgbGVmdCBjaGFubmVscyBmb3Igbm9kZXMgMHgwYSwgMHhkLCAweDBmICovCisJLyogdW5tdXRlIHJpZ2h0IGFuZCBsZWZ0IGNoYW5uZWxzIGZvciBub2RlcyAweDBhLCAweGQgKi8KIAl7IDB4MGEsIEFDX1ZFUkJfU0VUX0FNUF9HQUlOX01VVEUsIEFNUF9JTl9VTk1VVEUoMCl9LAogCXsgMHgwZCwgQUNfVkVSQl9TRVRfQU1QX0dBSU5fTVVURSwgQU1QX0lOX1VOTVVURSgwKX0sCi0JeyAweDBmLCBBQ19WRVJCX1NFVF9BTVBfR0FJTl9NVVRFLCBBTVBfSU5fVU5NVVRFKDApfSwKIAl7fQogfTsKIApAQCAtODE4LDYgKzgyNSw5IEBACiAJSERBX0NPREVDX01VVEVfSURYKCJDYXB0dXJlIFN3aXRjaCIsIDB4MSwgMHgxZCwgMHgwLCBIREFfT1VUUFVUKSwKIAlIREFfQ09ERUNfVk9MVU1FX0lEWCgiQ2FwdHVyZSBNdXggVm9sdW1lIiwgMHgxLCAweDFiLCAweDAsIEhEQV9PVVRQVVQpLAogCisJSERBX0NPREVDX1ZPTFVNRSgiUEMgQmVlcCBWb2x1bWUiLCAweDE3LCAweDIsIEhEQV9JTlBVVCksCisJSERBX0NPREVDX01VVEUoIlBDIEJlZXAgU3dpdGNoIiwgMHgxNywgMHgyLCBIREFfSU5QVVQpLAorCiAJSERBX0NPREVDX01VVEUoIkFuYWxvZyBMb29wYmFjayAxIiwgMHgxNywgMHgzLCBIREFfSU5QVVQpLAogCUhEQV9DT0RFQ19NVVRFKCJBbmFsb2cgTG9vcGJhY2sgMiIsIDB4MTcsIDB4NCwgSERBX0lOUFVUKSwKIAl7IH0gLyogZW5kICovCkBAIC0xMzE3LDEzICsxMzI3LDEzIEBACiAJMHg5MGEwMDBmMCwgMHgwMTQ1MjA1MCwKIH07CiAKLXN0YXRpYyB1bnNpZ25lZCBpbnQgZGVsbF9tNF8xX3Bpbl9jb25maWdzWzEzXSA9IHsKK3N0YXRpYyB1bnNpZ25lZCBpbnQgZGVsbF9tNF8xX3Bpbl9jb25maWdzWzEwXSA9IHsKIAkweDA0MjExMDFmLCAweDA0YTExMjIxLCAweDQwZjAwMGYwLCAweDkwMTcwMTEwLAogCTB4MjNhMTkwMmUsIDB4MjMwMTQyNTAsIDB4NDBmMDAwZjAsIDB4OTBhMDAwZjAsCiAJMHg0MGYwMDBmMCwgMHg0ZjAwMDBmMCwKIH07CiAKLXN0YXRpYyB1bnNpZ25lZCBpbnQgZGVsbF9tNF8yX3Bpbl9jb25maWdzWzEzXSA9IHsKK3N0YXRpYyB1bnNpZ25lZCBpbnQgZGVsbF9tNF8yX3Bpbl9jb25maWdzWzEwXSA9IHsKIAkweDA0MjExMDFmLCAweDA0YTExMjIxLCAweDkwYTcwMzMwLCAweDkwMTcwMTEwLAogCTB4MjNhMTkwMmUsIDB4MjMwMTQyNTAsIDB4NDBmMDAwZjAsIDB4NDBmMDAwZjAsCiAJMHg0MGYwMDBmMCwgMHgwNDQ0MTNiMCwKQEAgLTE3NTQsMTIgKzE3NjQsOCBAQAogCQkgICAgICAidW5rbm93biBEZWxsIiwgU1RBQ185MjA1X0RFTExfTTQyKSwKIAlTTkRfUENJX1FVSVJLKFBDSV9WRU5ET1JfSURfREVMTCwgMHgwMWY4LAogCQkgICAgICAiRGVsbCBQcmVjaXNpb24iLCBTVEFDXzkyMDVfREVMTF9NNDMpLAotCVNORF9QQ0lfUVVJUksoUENJX1ZFTkRPUl9JRF9ERUxMLCAweDAyMWMsCi0JCQkgICJEZWxsIFByZWNpc2lvbiIsIFNUQUNfOTIwNV9ERUxMX000MyksCiAJU05EX1BDSV9RVUlSSyhQQ0lfVkVORE9SX0lEX0RFTEwsIDB4MDFmOSwKIAkJICAgICAgIkRlbGwgUHJlY2lzaW9uIiwgU1RBQ185MjA1X0RFTExfTTQzKSwKLQlTTkRfUENJX1FVSVJLKFBDSV9WRU5ET1JfSURfREVMTCwgMHgwMjFiLAotCQkgICAgICAiRGVsbCBQcmVjaXNpb24iLCBTVEFDXzkyMDVfREVMTF9NNDMpLAogCVNORF9QQ0lfUVVJUksoUENJX1ZFTkRPUl9JRF9ERUxMLCAweDAxZmEsCiAJCSAgICAgICJEZWxsIFByZWNpc2lvbiIsIFNUQUNfOTIwNV9ERUxMX000MyksCiAJU05EX1BDSV9RVUlSSyhQQ0lfVkVORE9SX0lEX0RFTEwsIDB4MDFmYywKQEAgLTE3NzAsMTggKzE3NzYsMTQgQEAKIAkJICAgICAgIkRlbGwgUHJlY2lzaW9uIiwgU1RBQ185MjA1X0RFTExfTTQzKSwKIAlTTkRfUENJX1FVSVJLKFBDSV9WRU5ET1JfSURfREVMTCwgMHgwMWZmLAogCQkgICAgICAiRGVsbCBQcmVjaXNpb24gTTQzMDAiLCBTVEFDXzkyMDVfREVMTF9NNDMpLAotCVNORF9QQ0lfUVVJUksoUENJX1ZFTkRPUl9JRF9ERUxMLCAweDAyMDYsCi0JCSAgICAgICJEZWxsIFByZWNpc2lvbiIsIFNUQUNfOTIwNV9ERUxMX000MyksCi0JU05EX1BDSV9RVUlSSyhQQ0lfVkVORE9SX0lEX0RFTEwsIDB4MDFmMSwKLQkJICAgICAgIkRlbGwgSW5zcGlyb24iLCBTVEFDXzkyMDVfREVMTF9NNDQpLAotCVNORF9QQ0lfUVVJUksoUENJX1ZFTkRPUl9JRF9ERUxMLCAweDAxZjIsCi0JCSAgICAgICJEZWxsIEluc3Bpcm9uIiwgU1RBQ185MjA1X0RFTExfTTQ0KSwKLQlTTkRfUENJX1FVSVJLKFBDSV9WRU5ET1JfSURfREVMTCwgMHgwMWZjLAotCQkgICAgICAiRGVsbCBJbnNwaXJvbiIsIFNUQUNfOTIwNV9ERUxMX000NCksCi0JU05EX1BDSV9RVUlSSyhQQ0lfVkVORE9SX0lEX0RFTEwsIDB4MDFmZCwKLQkJICAgICAgIkRlbGwgSW5zcGlyb24iLCBTVEFDXzkyMDVfREVMTF9NNDQpLAogCVNORF9QQ0lfUVVJUksoUENJX1ZFTkRPUl9JRF9ERUxMLCAweDAyMDQsCiAJCSAgICAgICJ1bmtub3duIERlbGwiLCBTVEFDXzkyMDVfREVMTF9NNDIpLAorCVNORF9QQ0lfUVVJUksoUENJX1ZFTkRPUl9JRF9ERUxMLCAweDAyMDYsCisJCSAgICAgICJEZWxsIFByZWNpc2lvbiIsIFNUQUNfOTIwNV9ERUxMX000MyksCisJU05EX1BDSV9RVUlSSyhQQ0lfVkVORE9SX0lEX0RFTEwsIDB4MDIxYiwKKwkJICAgICAgIkRlbGwgUHJlY2lzaW9uIiwgU1RBQ185MjA1X0RFTExfTTQzKSwKKwlTTkRfUENJX1FVSVJLKFBDSV9WRU5ET1JfSURfREVMTCwgMHgwMjFjLAorCQkgICAgICAiRGVsbCBQcmVjaXNpb24iLCBTVEFDXzkyMDVfREVMTF9NNDMpLAogCVNORF9QQ0lfUVVJUksoUENJX1ZFTkRPUl9JRF9ERUxMLCAweDAyMWYsCiAJCSAgICAgICJEZWxsIEluc3Bpcm9uIiwgU1RBQ185MjA1X0RFTExfTTQ0KSwKIAlTTkRfUENJX1FVSVJLKFBDSV9WRU5ET1JfSURfREVMTCwgMHgwMjI4LApAQCAtMzEwMywxMyArMzEwNSwxNiBAQAogCQkJCQkwLCBBQ19WRVJCX0dFVF9QSU5fV0lER0VUX0NPTlRST0wsIDApOwogCQlpbnQgZGVmX2NvbmYgPSBzbmRfaGRhX2NvZGVjX3JlYWQoY29kZWMsIHNwZWMtPnB3cl9uaWRzW2ldLAogCQkJCQkwLCBBQ19WRVJCX0dFVF9DT05GSUdfREVGQVVMVCwgMCk7CisJCWRlZl9jb25mID0gZ2V0X2RlZmNmZ19jb25uZWN0KGRlZl9jb25mKTsKIAkJLyogb3V0cHV0cyBhcmUgb25seSBwb3J0cyBjYXBhYmxlIG9mIHBvd2VyIG1hbmFnZW1lbnQKIAkJICogYW55IGF0dGVtcHRzIG9uIHBvd2VyaW5nIGRvd24gYSBpbnB1dCBwb3J0IGNhdXNlIHRoZQogCQkgKiByZWZlcmVuY2VkIFZSRUYgdG8gYWN0IHF1aXJreS4KIAkJICovCiAJCWlmIChwaW5jdGwgJiBBQ19QSU5DVExfSU5fRU4pCiAJCQljb250aW51ZTsKLQkJaWYgKGdldF9kZWZjZmdfY29ubmVjdChkZWZfY29uZikgIT0gQUNfSkFDS19QT1JUX0ZJWEVEKQorCQkvKiBza2lwIGFueSBwb3J0cyB0aGF0IGRvbid0IGhhdmUgamFja3Mgc2luY2UgcHJlc2VuY2UKKyAJCSAqIGRldGVjdGlvbiBpcyB1c2VsZXNzICovCisJCWlmIChkZWZfY29uZiAmJiBkZWZfY29uZiAhPSBBQ19KQUNLX1BPUlRfRklYRUQpCiAJCQljb250aW51ZTsKIAkJZW5hYmxlX3Bpbl9kZXRlY3QoY29kZWMsIHNwZWMtPnB3cl9uaWRzW2ldLCBldmVudCB8IGkpOwogCQljb2RlYy0+cGF0Y2hfb3BzLnVuc29sX2V2ZW50KGNvZGVjLCAoZXZlbnQgfCBpKSA8PCAyNik7CkBAIC0zNjE0LDYgKzM2MTksNyBAQAogCiAJY29kZWMtPnNwZWMgPSBzcGVjOwogCXNwZWMtPm51bV9waW5zID0gQVJSQVlfU0laRShzdGFjOTJoZDcxYnh4X3Bpbl9uaWRzKTsKKwlzcGVjLT5udW1fcHdycyA9IEFSUkFZX1NJWkUoc3RhYzkyaGQ3MWJ4eF9wd3Jfbmlkcyk7CiAJc3BlYy0+cGluX25pZHMgPSBzdGFjOTJoZDcxYnh4X3Bpbl9uaWRzOwogCXNwZWMtPmJvYXJkX2NvbmZpZyA9IHNuZF9oZGFfY2hlY2tfYm9hcmRfY29uZmlnKGNvZGVjLAogCQkJCQkJCVNUQUNfOTJIRDcxQlhYX01PREVMUywKQEAgLTM2NDIsNiArMzY0OCwxOSBAQAogCQlzcGVjLT5taXhlciA9IHN0YWM5MmhkNzFieHhfbWl4ZXI7CiAJCXNwZWMtPmluaXQgPSBzdGFjOTJoZDcxYnh4X2NvcmVfaW5pdDsKIAkJYnJlYWs7CisJY2FzZSAweDExMWQ3NjA4OiAvKiA1IFBvcnQgd2l0aCBBbmFsb2cgTWl4ZXIgKi8KKwkJLyogbm8gb3V0cHV0IGFtcHMgKi8KKwkJc3BlYy0+bnVtX3B3cnMgPSAwOworCQlzcGVjLT5taXhlciA9IHN0YWM5MmhkNzFieHhfYW5hbG9nX21peGVyOworCisJCS8qIGRpc2FibGUgVlNXICovCisJCXNwZWMtPmluaXQgPSAmc3RhYzkyaGQ3MWJ4eF9hbmFsb2dfY29yZV9pbml0W0hEX0RJU0FCTEVfUE9SVEZdOworCQlzdGFjOTJ4eF9zZXRfY29uZmlnX3JlZyhjb2RlYywgMHhmLCAweDQwZjAwMGYwKTsKKwkJYnJlYWs7CisJY2FzZSAweDExMWQ3NjAzOiAvKiA2IFBvcnQgd2l0aCBBbmFsb2cgTWl4ZXIgKi8KKwkJLyogbm8gb3V0cHV0IGFtcHMgKi8KKwkJc3BlYy0+bnVtX3B3cnMgPSAwOworCQkvKiBmYWxsdGhydSAqLwogCWRlZmF1bHQ6CiAJCXNwZWMtPm1peGVyID0gc3RhYzkyaGQ3MWJ4eF9hbmFsb2dfbWl4ZXI7CiAJCXNwZWMtPmluaXQgPSBzdGFjOTJoZDcxYnh4X2FuYWxvZ19jb3JlX2luaXQ7CkBAIC0zNjUzLDIyICszNjcyLDE5IEBACiAJLyogR1BJTzAgSGlnaCA9IEVBUEQgKi8KIAlzcGVjLT5ncGlvX21hc2sgPSAweDAxOwogCXNwZWMtPmdwaW9fZGlyID0gMHgwMTsKLQlzcGVjLT5ncGlvX21hc2sgPSAweDAxOwogCXNwZWMtPmdwaW9fZGF0YSA9IDB4MDE7CiAKIAlzcGVjLT5tdXhfbmlkcyA9IHN0YWM5MmhkNzFieHhfbXV4X25pZHM7CiAJc3BlYy0+YWRjX25pZHMgPSBzdGFjOTJoZDcxYnh4X2FkY19uaWRzOwogCXNwZWMtPmRtaWNfbmlkcyA9IHN0YWM5MmhkNzFieHhfZG1pY19uaWRzOwogCXNwZWMtPmRtdXhfbmlkcyA9IHN0YWM5MmhkNzFieHhfZG11eF9uaWRzOworCXNwZWMtPnB3cl9uaWRzID0gc3RhYzkyaGQ3MWJ4eF9wd3JfbmlkczsKIAogCXNwZWMtPm51bV9tdXhlcyA9IEFSUkFZX1NJWkUoc3RhYzkyaGQ3MWJ4eF9tdXhfbmlkcyk7CiAJc3BlYy0+bnVtX2FkY3MgPSBBUlJBWV9TSVpFKHN0YWM5MmhkNzFieHhfYWRjX25pZHMpOwogCXNwZWMtPm51bV9kbWljcyA9IFNUQUM5MkhENzFCWFhfTlVNX0RNSUNTOwogCXNwZWMtPm51bV9kbXV4ZXMgPSBBUlJBWV9TSVpFKHN0YWM5MmhkNzFieHhfZG11eF9uaWRzKTsKIAotCXNwZWMtPm51bV9wd3JzID0gQVJSQVlfU0laRShzdGFjOTJoZDcxYnh4X3B3cl9uaWRzKTsKLQlzcGVjLT5wd3JfbmlkcyA9IHN0YWM5MmhkNzFieHhfcHdyX25pZHM7Ci0KIAlzcGVjLT5tdWx0aW91dC5udW1fZGFjcyA9IDE7CiAJc3BlYy0+bXVsdGlvdXQuaHBfbmlkID0gMHgxMTsKIAlzcGVjLT5tdWx0aW91dC5kYWNfbmlkcyA9IHN0YWM5MmhkNzFieHhfZGFjX25pZHM7CkBAIC00MzA2LDEwICs0MzIyLDExIEBACiAgCXsgLmlkID0gMHg4Mzg0NzZhNSwgLm5hbWUgPSAiU1RBQzkyNTVEIiwgLnBhdGNoID0gcGF0Y2hfc3RhYzkyMDUgfSwKICAJeyAuaWQgPSAweDgzODQ3NmE2LCAubmFtZSA9ICJTVEFDOTI1NCIsIC5wYXRjaCA9IHBhdGNoX3N0YWM5MjA1IH0sCiAgCXsgLmlkID0gMHg4Mzg0NzZhNywgLm5hbWUgPSAiU1RBQzkyNTREIiwgLnBhdGNoID0gcGF0Y2hfc3RhYzkyMDUgfSwKKwl7IC5pZCA9IDB4MTExZDc2MDMsIC5uYW1lID0gIjkySEQ3NUIzWDUiLCAucGF0Y2ggPSBwYXRjaF9zdGFjOTJoZDcxYnh4fSwKKwl7IC5pZCA9IDB4MTExZDc2MDgsIC5uYW1lID0gIjkySEQ3NUIyWDUiLCAucGF0Y2ggPSBwYXRjaF9zdGFjOTJoZDcxYnh4fSwKIAl7IC5pZCA9IDB4MTExZDc2NzQsIC5uYW1lID0gIjkySEQ3M0QxWDUiLCAucGF0Y2ggPSBwYXRjaF9zdGFjOTJoZDczeHggfSwKIAl7IC5pZCA9IDB4MTExZDc2NzUsIC5uYW1lID0gIjkySEQ3M0MxWDUiLCAucGF0Y2ggPSBwYXRjaF9zdGFjOTJoZDczeHggfSwKIAl7IC5pZCA9IDB4MTExZDc2NzYsIC5uYW1lID0gIjkySEQ3M0UxWDUiLCAucGF0Y2ggPSBwYXRjaF9zdGFjOTJoZDczeHggfSwKLQl7IC5pZCA9IDB4MTExZDc2MDgsIC5uYW1lID0gIjkySEQ3MUJYWCIsIC5wYXRjaCA9IHBhdGNoX3N0YWM5MmhkNzFieHggfSwKIAl7IC5pZCA9IDB4MTExZDc2YjAsIC5uYW1lID0gIjkySEQ3MUI4WCIsIC5wYXRjaCA9IHBhdGNoX3N0YWM5MmhkNzFieHggfSwKIAl7IC5pZCA9IDB4MTExZDc2YjEsIC5uYW1lID0gIjkySEQ3MUI4WCIsIC5wYXRjaCA9IHBhdGNoX3N0YWM5MmhkNzFieHggfSwKIAl7IC5pZCA9IDB4MTExZDc2YjIsIC5uYW1lID0gIjkySEQ3MUI3WCIsIC5wYXRjaCA9IHBhdGNoX3N0YWM5MmhkNzFieHggfSwKZGlmZiAtLWdpdCBhL3NvdW5kL3BjaS9pY2UxNzEyL2VudnkyNGh0LmggYi9zb3VuZC9wY2kvaWNlMTcxMi9lbnZ5MjRodC5oCmluZGV4IDQzYjllM2UuLmEwYzVlMDAgMTAwNjQ0Ci0tLSBhL3NvdW5kL3BjaS9pY2UxNzEyL2VudnkyNGh0LmgKKysrIGIvc291bmQvcGNpL2ljZTE3MTIvZW52eTI0aHQuaApAQCAtOTMsOSArOTMsMTMgQEAKICNkZWZpbmUgVlQxNzI0X1JFR19NUFVfVFhGSUZPCQkweDBhCS8qYnl0ZSByby4gbnVtYmVyIG9mIGJ5dGVzIGluIFRYIGZpZm8qLwogI2RlZmluZSBWVDE3MjRfUkVHX01QVV9SWEZJRk8JCTB4MGIJLypieXRlIHJvLiBudW1iZXIgb2YgYnl0ZXMgaW4gUlggZmlmbyovCiAKLS8vYXJlIHRoZXNlIDIgdGhlIHdyb25nIHdheSBhcm91bmQ/IHRoZXkgZG9uJ3Qgc2VlbSB0byBiZSB1c2VkIHlldCBhbnl3YXkKLSNkZWZpbmUgVlQxNzI0X1JFR19NUFVfQ1RSTAkJMHgwYwkvKiBieXRlICovCi0jZGVmaW5lIFZUMTcyNF9SRUdfTVBVX0RBVEEJCTB4MGQJLyogYnl0ZSAqLworI2RlZmluZSBWVDE3MjRfUkVHX01QVV9EQVRBCQkweDBjCS8qIGJ5dGUgKi8KKyNkZWZpbmUgVlQxNzI0X1JFR19NUFVfQ1RSTAkJMHgwZAkvKiBieXRlICovCisjZGVmaW5lICAgVlQxNzI0X01QVV9VQVJUCTB4MDEKKyNkZWZpbmUgICBWVDE3MjRfTVBVX1RYX0VNUFRZCTB4MDIKKyNkZWZpbmUgICBWVDE3MjRfTVBVX1RYX0ZVTEwJMHgwNAorI2RlZmluZSAgIFZUMTcyNF9NUFVfUlhfRU1QVFkJMHgwOAorI2RlZmluZSAgIFZUMTcyNF9NUFVfUlhfRlVMTAkweDEwCiAKICNkZWZpbmUgVlQxNzI0X1JFR19NUFVfRklGT19XTQkweDBlCS8qYnl0ZSBzZXQgdGhlIGhpZ2gvbG93IHdhdGVybWFya3MgZm9yIFJYL1RYIGZpZm9zKi8KICNkZWZpbmUgICBWVDE3MjRfTVBVX1JYX0ZJRk8JMHgyMAkvLzE9cnggZmlmbyB3YXRlcm1hcmsgMD10eCBmaWZvIHdhdGVybWFyawpkaWZmIC0tZ2l0IGEvc291bmQvcGNpL2ljZTE3MTIvaWNlMTcxMi5oIGIvc291bmQvcGNpL2ljZTE3MTIvaWNlMTcxMi5oCmluZGV4IDMyMDg5MDEuLjc2MmZiZDcgMTAwNjQ0Ci0tLSBhL3NvdW5kL3BjaS9pY2UxNzEyL2ljZTE3MTIuaAorKysgYi9zb3VuZC9wY2kvaWNlMTcxMi9pY2UxNzEyLmgKQEAgLTMzMyw2ICszMzMsOCBAQAogCXVuc2lnbmVkIGludCBoYXNfc3BkaWY6IDE7CS8qIFZUMTcyMC80IC0gaGFzIFNQRElGIEkvTyAqLwogCXVuc2lnbmVkIGludCBmb3JjZV9wZG1hNDogMTsJLyogVlQxNzIwLzQgLSBQRE1BNCBhcyBub24tc3BkaWYgKi8KIAl1bnNpZ25lZCBpbnQgZm9yY2VfcmRtYTE6IDE7CS8qIFZUMTcyMC80IC0gUkRNQTEgYXMgbm9uLXNwZGlmICovCisJdW5zaWduZWQgaW50IG1pZGlfb3V0cHV0OiAxOwkvKiBWVDE3MjAvNDogTUlESSBvdXRwdXQgdHJpZ2dlcmVkICovCisJdW5zaWduZWQgaW50IG1pZGlfaW5wdXQ6IDE7CS8qIFZUMTcyMC80OiBNSURJIGlucHV0IHRyaWdnZXJlZCAqLwogCXVuc2lnbmVkIGludCBudW1fdG90YWxfZGFjczsJLyogdG90YWwgREFDcyAqLwogCXVuc2lnbmVkIGludCBudW1fdG90YWxfYWRjczsJLyogdG90YWwgQURDcyAqLwogCXVuc2lnbmVkIGludCBjdXJfcmF0ZTsJCS8qIGN1cnJlbnQgcmF0ZSAqLwpkaWZmIC0tZ2l0IGEvc291bmQvcGNpL2ljZTE3MTIvaWNlMTcyNC5jIGIvc291bmQvcGNpL2ljZTE3MTIvaWNlMTcyNC5jCmluZGV4IDY3MzUwOTAuLmU1OTZkNzcgMTAwNjQ0Ci0tLSBhL3NvdW5kL3BjaS9pY2UxNzEyL2ljZTE3MjQuYworKysgYi9zb3VuZC9wY2kvaWNlMTcxMi9pY2UxNzI0LmMKQEAgLTMyLDcgKzMyLDcgQEAKICNpbmNsdWRlIDxsaW51eC9tdXRleC5oPgogI2luY2x1ZGUgPHNvdW5kL2NvcmUuaD4KICNpbmNsdWRlIDxzb3VuZC9pbmZvLmg+Ci0jaW5jbHVkZSA8c291bmQvbXB1NDAxLmg+CisjaW5jbHVkZSA8c291bmQvcmF3bWlkaS5oPgogI2luY2x1ZGUgPHNvdW5kL2luaXR2YWwuaD4KIAogI2luY2x1ZGUgPHNvdW5kL2Fzb3VuZGVmLmg+CkBAIC0yMjMsMzAgKzIyMywxNTMgQEAKIH0KIAogLyoKLSAqIE1QVTQwMSBhY2Nlc3NvcgorICogTUlESQogICovCi1zdGF0aWMgdW5zaWduZWQgY2hhciBzbmRfdnQxNzI0X21wdTQwMV9yZWFkKHN0cnVjdCBzbmRfbXB1NDAxICptcHUsCi0JCQkJCSAgICB1bnNpZ25lZCBsb25nIGFkZHIpCisKK3N0YXRpYyB2b2lkIHZ0MTcyNF9taWRpX2NsZWFyX3J4KHN0cnVjdCBzbmRfaWNlMTcxMiAqaWNlKQogewotCS8qIGZpeCBzdGF0dXMgYml0cyB0byB0aGUgc3RhbmRhcmQgcG9zaXRpb24gKi8KLQkvKiBvbmx5IFJYX0VNUFRZIGFuZCBUWF9GVUxMIGFyZSBjaGVja2VkICovCi0JaWYgKGFkZHIgPT0gTVBVNDAxQyhtcHUpKQotCQlyZXR1cm4gKGluYihhZGRyKSAmIDB4MGMpIDw8IDQ7Ci0JZWxzZQotCQlyZXR1cm4gaW5iKGFkZHIpOworCXVuc2lnbmVkIGludCBjb3VudDsKKworCWZvciAoY291bnQgPSBpbmIoSUNFUkVHMTcyNChpY2UsIE1QVV9SWEZJRk8pKTsgY291bnQgPiAwOyAtLWNvdW50KQorCQlpbmIoSUNFUkVHMTcyNChpY2UsIE1QVV9EQVRBKSk7CiB9CiAKLXN0YXRpYyB2b2lkIHNuZF92dDE3MjRfbXB1NDAxX3dyaXRlKHN0cnVjdCBzbmRfbXB1NDAxICptcHUsCi0JCQkJICAgIHVuc2lnbmVkIGNoYXIgZGF0YSwgdW5zaWduZWQgbG9uZyBhZGRyKQorc3RhdGljIGlubGluZSBzdHJ1Y3Qgc25kX3Jhd21pZGlfc3Vic3RyZWFtICoKK2dldF9yYXdtaWRpX3N1YnN0cmVhbShzdHJ1Y3Qgc25kX2ljZTE3MTIgKmljZSwgdW5zaWduZWQgaW50IHN0cmVhbSkKIHsKLQlpZiAoYWRkciA9PSBNUFU0MDFDKG1wdSkpIHsKLQkJaWYgKGRhdGEgPT0gTVBVNDAxX0VOVEVSX1VBUlQpCi0JCQlvdXRiKDB4MDEsIGFkZHIpOwotCQkvKiB3aGF0IGVsc2U/ICovCi0JfSBlbHNlCi0JCW91dGIoZGF0YSwgYWRkcik7CisJcmV0dXJuIGxpc3RfZmlyc3RfZW50cnkoJmljZS0+cm1pZGlbMF0tPnN0cmVhbXNbc3RyZWFtXS5zdWJzdHJlYW1zLAorCQkJCXN0cnVjdCBzbmRfcmF3bWlkaV9zdWJzdHJlYW0sIGxpc3QpOwogfQogCitzdGF0aWMgdm9pZCB2dDE3MjRfbWlkaV93cml0ZShzdHJ1Y3Qgc25kX2ljZTE3MTIgKmljZSkKK3sKKwlzdHJ1Y3Qgc25kX3Jhd21pZGlfc3Vic3RyZWFtICpzOworCWludCBjb3VudCwgaTsKKwl1OCBidWZmZXJbMzJdOworCisJcyA9IGdldF9yYXdtaWRpX3N1YnN0cmVhbShpY2UsIFNORFJWX1JBV01JRElfU1RSRUFNX09VVFBVVCk7CisJY291bnQgPSAzMSAtIGluYihJQ0VSRUcxNzI0KGljZSwgTVBVX1RYRklGTykpOworCWlmIChjb3VudCA+IDApIHsKKwkJY291bnQgPSBzbmRfcmF3bWlkaV90cmFuc21pdChzLCBidWZmZXIsIGNvdW50KTsKKwkJZm9yIChpID0gMDsgaSA8IGNvdW50OyArK2kpCisJCQlvdXRiKGJ1ZmZlcltpXSwgSUNFUkVHMTcyNChpY2UsIE1QVV9EQVRBKSk7CisJfQorfQorCitzdGF0aWMgdm9pZCB2dDE3MjRfbWlkaV9yZWFkKHN0cnVjdCBzbmRfaWNlMTcxMiAqaWNlKQoreworCXN0cnVjdCBzbmRfcmF3bWlkaV9zdWJzdHJlYW0gKnM7CisJaW50IGNvdW50LCBpOworCXU4IGJ1ZmZlclszMl07CisKKwlzID0gZ2V0X3Jhd21pZGlfc3Vic3RyZWFtKGljZSwgU05EUlZfUkFXTUlESV9TVFJFQU1fSU5QVVQpOworCWNvdW50ID0gaW5iKElDRVJFRzE3MjQoaWNlLCBNUFVfUlhGSUZPKSk7CisJaWYgKGNvdW50ID4gMCkgeworCQljb3VudCA9IG1pbihjb3VudCwgMzIpOworCQlmb3IgKGkgPSAwOyBpIDwgY291bnQ7ICsraSkKKwkJCWJ1ZmZlcltpXSA9IGluYihJQ0VSRUcxNzI0KGljZSwgTVBVX0RBVEEpKTsKKwkJc25kX3Jhd21pZGlfcmVjZWl2ZShzLCBidWZmZXIsIGNvdW50KTsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIHZ0MTcyNF9lbmFibGVfbWlkaV9pcnEoc3RydWN0IHNuZF9yYXdtaWRpX3N1YnN0cmVhbSAqc3Vic3RyZWFtLAorCQkJCSAgIHU4IGZsYWcsIGludCBlbmFibGUpCit7CisJc3RydWN0IHNuZF9pY2UxNzEyICppY2UgPSBzdWJzdHJlYW0tPnJtaWRpLT5wcml2YXRlX2RhdGE7CisJdTggbWFzazsKKworCXNwaW5fbG9ja19pcnEoJmljZS0+cmVnX2xvY2spOworCW1hc2sgPSBpbmIoSUNFUkVHMTcyNChpY2UsIElSUU1BU0spKTsKKwlpZiAoZW5hYmxlKQorCQltYXNrICY9IH5mbGFnOworCWVsc2UKKwkJbWFzayB8PSBmbGFnOworCW91dGIobWFzaywgSUNFUkVHMTcyNChpY2UsIElSUU1BU0spKTsKKwlzcGluX3VubG9ja19pcnEoJmljZS0+cmVnX2xvY2spOworfQorCitzdGF0aWMgaW50IHZ0MTcyNF9taWRpX291dHB1dF9vcGVuKHN0cnVjdCBzbmRfcmF3bWlkaV9zdWJzdHJlYW0gKnMpCit7CisJdnQxNzI0X2VuYWJsZV9taWRpX2lycShzLCBWVDE3MjRfSVJRX01QVV9UWCwgMSk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgdnQxNzI0X21pZGlfb3V0cHV0X2Nsb3NlKHN0cnVjdCBzbmRfcmF3bWlkaV9zdWJzdHJlYW0gKnMpCit7CisJdnQxNzI0X2VuYWJsZV9taWRpX2lycShzLCBWVDE3MjRfSVJRX01QVV9UWCwgMCk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIHZ0MTcyNF9taWRpX291dHB1dF90cmlnZ2VyKHN0cnVjdCBzbmRfcmF3bWlkaV9zdWJzdHJlYW0gKnMsIGludCB1cCkKK3sKKwlzdHJ1Y3Qgc25kX2ljZTE3MTIgKmljZSA9IHMtPnJtaWRpLT5wcml2YXRlX2RhdGE7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKworCXNwaW5fbG9ja19pcnFzYXZlKCZpY2UtPnJlZ19sb2NrLCBmbGFncyk7CisJaWYgKHVwKSB7CisJCWljZS0+bWlkaV9vdXRwdXQgPSAxOworCQl2dDE3MjRfbWlkaV93cml0ZShpY2UpOworCX0gZWxzZSB7CisJCWljZS0+bWlkaV9vdXRwdXQgPSAwOworCX0KKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZpY2UtPnJlZ19sb2NrLCBmbGFncyk7Cit9CisKK3N0YXRpYyB2b2lkIHZ0MTcyNF9taWRpX291dHB1dF9kcmFpbihzdHJ1Y3Qgc25kX3Jhd21pZGlfc3Vic3RyZWFtICpzKQoreworCXN0cnVjdCBzbmRfaWNlMTcxMiAqaWNlID0gcy0+cm1pZGktPnByaXZhdGVfZGF0YTsKKwl1bnNpZ25lZCBsb25nIHRpbWVvdXQ7CisKKwkvKiAzMiBieXRlcyBzaG91bGQgYmUgdHJhbnNtaXR0ZWQgaW4gbGVzcyB0aGFuIGFib3V0IDEyIG1zICovCisJdGltZW91dCA9IGppZmZpZXMgKyBtc2Vjc190b19qaWZmaWVzKDE1KTsKKwlkbyB7CisJCWlmIChpbmIoSUNFUkVHMTcyNChpY2UsIE1QVV9DVFJMKSkgJiBWVDE3MjRfTVBVX1RYX0VNUFRZKQorCQkJYnJlYWs7CisJCXNjaGVkdWxlX3RpbWVvdXRfdW5pbnRlcnJ1cHRpYmxlKDEpOworCX0gd2hpbGUgKHRpbWVfYWZ0ZXIodGltZW91dCwgamlmZmllcykpOworfQorCitzdGF0aWMgc3RydWN0IHNuZF9yYXdtaWRpX29wcyB2dDE3MjRfbWlkaV9vdXRwdXRfb3BzID0geworCS5vcGVuID0gdnQxNzI0X21pZGlfb3V0cHV0X29wZW4sCisJLmNsb3NlID0gdnQxNzI0X21pZGlfb3V0cHV0X2Nsb3NlLAorCS50cmlnZ2VyID0gdnQxNzI0X21pZGlfb3V0cHV0X3RyaWdnZXIsCisJLmRyYWluID0gdnQxNzI0X21pZGlfb3V0cHV0X2RyYWluLAorfTsKKworc3RhdGljIGludCB2dDE3MjRfbWlkaV9pbnB1dF9vcGVuKHN0cnVjdCBzbmRfcmF3bWlkaV9zdWJzdHJlYW0gKnMpCit7CisJdnQxNzI0X21pZGlfY2xlYXJfcngocy0+cm1pZGktPnByaXZhdGVfZGF0YSk7CisJdnQxNzI0X2VuYWJsZV9taWRpX2lycShzLCBWVDE3MjRfSVJRX01QVV9SWCwgMSk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgdnQxNzI0X21pZGlfaW5wdXRfY2xvc2Uoc3RydWN0IHNuZF9yYXdtaWRpX3N1YnN0cmVhbSAqcykKK3sKKwl2dDE3MjRfZW5hYmxlX21pZGlfaXJxKHMsIFZUMTcyNF9JUlFfTVBVX1JYLCAwKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgdnQxNzI0X21pZGlfaW5wdXRfdHJpZ2dlcihzdHJ1Y3Qgc25kX3Jhd21pZGlfc3Vic3RyZWFtICpzLCBpbnQgdXApCit7CisJc3RydWN0IHNuZF9pY2UxNzEyICppY2UgPSBzLT5ybWlkaS0+cHJpdmF0ZV9kYXRhOworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisKKwlzcGluX2xvY2tfaXJxc2F2ZSgmaWNlLT5yZWdfbG9jaywgZmxhZ3MpOworCWlmICh1cCkgeworCQlpY2UtPm1pZGlfaW5wdXQgPSAxOworCQl2dDE3MjRfbWlkaV9yZWFkKGljZSk7CisJfSBlbHNlIHsKKwkJaWNlLT5taWRpX2lucHV0ID0gMDsKKwl9CisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmaWNlLT5yZWdfbG9jaywgZmxhZ3MpOworfQorCitzdGF0aWMgc3RydWN0IHNuZF9yYXdtaWRpX29wcyB2dDE3MjRfbWlkaV9pbnB1dF9vcHMgPSB7CisJLm9wZW4gPSB2dDE3MjRfbWlkaV9pbnB1dF9vcGVuLAorCS5jbG9zZSA9IHZ0MTcyNF9taWRpX2lucHV0X2Nsb3NlLAorCS50cmlnZ2VyID0gdnQxNzI0X21pZGlfaW5wdXRfdHJpZ2dlciwKK307CisKIAogLyoKICAqICBJbnRlcnJ1cHQgaGFuZGxlcgpAQCAtMjc4LDEzICs0MDEsMTAgQEAKICNlbmRpZgogCQloYW5kbGVkID0gMTsJCQogCQlpZiAoc3RhdHVzICYgVlQxNzI0X0lSUV9NUFVfVFgpIHsKLQkJCWlmIChpY2UtPnJtaWRpWzBdKQotCQkJCXNuZF9tcHU0MDFfdWFydF9pbnRlcnJ1cHRfdHgoaXJxLAotCQkJCQlpY2UtPnJtaWRpWzBdLT5wcml2YXRlX2RhdGEpOwotCQkJZWxzZSAvKiBkaXNhYmxlIFRYIHRvIGJlIHN1cmUgKi8KLQkJCQlvdXRiKGluYihJQ0VSRUcxNzI0KGljZSwgSVJRTUFTSykpIHwKLQkJCQkgICAgIFZUMTcyNF9JUlFfTVBVX1RYLAotCQkJCSAgICAgSUNFUkVHMTcyNChpY2UsIElSUU1BU0spKTsKKwkJCXNwaW5fbG9jaygmaWNlLT5yZWdfbG9jayk7CisJCQlpZiAoaWNlLT5taWRpX291dHB1dCkKKwkJCQl2dDE3MjRfbWlkaV93cml0ZShpY2UpOworCQkJc3Bpbl91bmxvY2soJmljZS0+cmVnX2xvY2spOwogCQkJLyogRHVlIHRvIG15c3RlcmljYWwgcmVhc29ucywgTVBVX1RYIGlzIGFsd2F5cwogCQkJICogZ2VuZXJhdGVkIChhbmQgY2FuJ3QgYmUgY2xlYXJlZCkgd2hlbiBhIFBDTQogCQkJICogcGxheWJhY2sgaXMgZ29pbmcuICBTbyBsZXQncyBpZ25vcmUgYXQgdGhlCkBAIC0yOTMsMTMgKzQxMywxMiBAQAogCQkJc3RhdHVzX21hc2sgJj0gflZUMTcyNF9JUlFfTVBVX1RYOwogCQl9CiAJCWlmIChzdGF0dXMgJiBWVDE3MjRfSVJRX01QVV9SWCkgewotCQkJaWYgKGljZS0+cm1pZGlbMF0pCi0JCQkJc25kX21wdTQwMV91YXJ0X2ludGVycnVwdChpcnEsCi0JCQkJCWljZS0+cm1pZGlbMF0tPnByaXZhdGVfZGF0YSk7Ci0JCQllbHNlIC8qIGRpc2FibGUgUlggdG8gYmUgc3VyZSAqLwotCQkJCW91dGIoaW5iKElDRVJFRzE3MjQoaWNlLCBJUlFNQVNLKSkgfAotCQkJCSAgICAgVlQxNzI0X0lSUV9NUFVfUlgsCi0JCQkJICAgICBJQ0VSRUcxNzI0KGljZSwgSVJRTUFTSykpOworCQkJc3Bpbl9sb2NrKCZpY2UtPnJlZ19sb2NrKTsKKwkJCWlmIChpY2UtPm1pZGlfaW5wdXQpCisJCQkJdnQxNzI0X21pZGlfcmVhZChpY2UpOworCQkJZWxzZQorCQkJCXZ0MTcyNF9taWRpX2NsZWFyX3J4KGljZSk7CisJCQlzcGluX3VubG9jaygmaWNlLT5yZWdfbG9jayk7CiAJCX0KIAkJLyogYWNrIE1QVSBpcnEgKi8KIAkJb3V0YihzdGF0dXMsIElDRVJFRzE3MjQoaWNlLCBJUlFTVEFUKSk7CkBAIC0yNDI1LDI4ICsyNTQ0LDMwIEBACiAKIAlpZiAoISBjLT5ub19tcHU0MDEpIHsKIAkJaWYgKGljZS0+ZWVwcm9tLmRhdGFbSUNFX0VFUDJfU1lTQ09ORl0gJiBWVDE3MjRfQ0ZHX01QVTQwMSkgewotCQkJc3RydWN0IHNuZF9tcHU0MDEgKm1wdTsKLQkJCWlmICgoZXJyID0gc25kX21wdTQwMV91YXJ0X25ldyhjYXJkLCAwLCBNUFU0MDFfSFdfSUNFMTcxMiwKLQkJCQkJCSAgICAgICBJQ0VSRUcxNzI0KGljZSwgTVBVX0NUUkwpLAotCQkJCQkJICAgICAgIChNUFU0MDFfSU5GT19JTlRFR1JBVEVEIHwKLQkJCQkJCQlNUFU0MDFfSU5GT19OT19BQ0sgfAotCQkJCQkJCU1QVTQwMV9JTkZPX1RYX0lSUSksCi0JCQkJCQkgICAgICAgaWNlLT5pcnEsIDAsCi0JCQkJCQkgICAgICAgJmljZS0+cm1pZGlbMF0pKSA8IDApIHsKKwkJCXN0cnVjdCBzbmRfcmF3bWlkaSAqcm1pZGk7CisKKwkJCWVyciA9IHNuZF9yYXdtaWRpX25ldyhjYXJkLCAiTUlESSIsIDAsIDEsIDEsICZybWlkaSk7CisJCQlpZiAoZXJyIDwgMCkgewogCQkJCXNuZF9jYXJkX2ZyZWUoY2FyZCk7CiAJCQkJcmV0dXJuIGVycjsKIAkJCX0KLQkJCW1wdSA9IGljZS0+cm1pZGlbMF0tPnByaXZhdGVfZGF0YTsKLQkJCW1wdS0+cmVhZCA9IHNuZF92dDE3MjRfbXB1NDAxX3JlYWQ7Ci0JCQltcHUtPndyaXRlID0gc25kX3Z0MTcyNF9tcHU0MDFfd3JpdGU7Ci0JCQkvKiB1bm1hc2sgTVBVIFJYL1RYIGlycXMgKi8KLQkJCW91dGIoaW5iKElDRVJFRzE3MjQoaWNlLCBJUlFNQVNLKSkgJgotCQkJICAgICB+KFZUMTcyNF9JUlFfTVBVX1JYIHwgVlQxNzI0X0lSUV9NUFVfVFgpLAotCQkJICAgICBJQ0VSRUcxNzI0KGljZSwgSVJRTUFTSykpOworCQkJaWNlLT5ybWlkaVswXSA9IHJtaWRpOworCQkJcm1pZGktPnByaXZhdGVfZGF0YSA9IGljZTsKKwkJCXN0cmNweShybWlkaS0+bmFtZSwgIklDRTE3MjQgTUlESSIpOworCQkJcm1pZGktPmluZm9fZmxhZ3MgPSBTTkRSVl9SQVdNSURJX0lORk9fT1VUUFVUIHwKKwkJCQkJICAgIFNORFJWX1JBV01JRElfSU5GT19JTlBVVCB8CisJCQkJCSAgICBTTkRSVl9SQVdNSURJX0lORk9fRFVQTEVYOworCQkJc25kX3Jhd21pZGlfc2V0X29wcyhybWlkaSwgU05EUlZfUkFXTUlESV9TVFJFQU1fT1VUUFVULAorCQkJCQkgICAgJnZ0MTcyNF9taWRpX291dHB1dF9vcHMpOworCQkJc25kX3Jhd21pZGlfc2V0X29wcyhybWlkaSwgU05EUlZfUkFXTUlESV9TVFJFQU1fSU5QVVQsCisJCQkJCSAgICAmdnQxNzI0X21pZGlfaW5wdXRfb3BzKTsKKwogCQkJLyogc2V0IHdhdGVybWFya3MgKi8KIAkJCW91dGIoVlQxNzI0X01QVV9SWF9GSUZPIHwgMHgxLAogCQkJICAgICBJQ0VSRUcxNzI0KGljZSwgTVBVX0ZJRk9fV00pKTsKIAkJCW91dGIoMHgxLCBJQ0VSRUcxNzI0KGljZSwgTVBVX0ZJRk9fV00pKTsKKwkJCS8qIHNldCBVQVJUIG1vZGUgKi8KKwkJCW91dGIoVlQxNzI0X01QVV9VQVJULCBJQ0VSRUcxNzI0KGljZSwgTVBVX0NUUkwpKTsKIAkJfQogCX0KIApkaWZmIC0tZ2l0IGEvc291bmQvcGNpL2tvcmcxMjEyL2tvcmcxMjEyLWZpcm13YXJlLmggYi9zb3VuZC9wY2kva29yZzEyMTIva29yZzEyMTItZmlybXdhcmUuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjZmNWI5MS4uMDAwMDAwMAotLS0gYS9zb3VuZC9wY2kva29yZzEyMTIva29yZzEyMTItZmlybXdhcmUuaAorKysgL2Rldi9udWxsCkBAIC0xLDk4NyArMCwwIEBACi1zdGF0aWMgY2hhciBkc3BDb2RlIFtdID0gewotMHgwMSwweGZmLDB4MTgsMHhmZiwweGY1LDB4ZmYsMHhjZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDI2LDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MWYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgxZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDFmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MzgsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4ZGYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgxZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAzLDB4ZmYsMHgzYywweGZmLDB4ZmYsMHhmZiwweGZjLDB4ZmYsMHg2NywweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHhjMCwweGZmLAotMHhmZiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHhlMCwweGZmLDB4MDAsMHhmZiwweDBjLDB4ZmYsMHhmZiwweGZmLDB4MGMsMHhmZiwKLTB4MGMsMHhmZiwweDBjLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDMwLDB4ZmYsMHgwYywweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDBmLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweGY0LDB4ZmYsMHg0NywweGZmLDB4ODAsMHhmZiwweGZmLDB4ZmYsMHgwYSwweGZmLAotMHg4MiwweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4OGQsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4N2EsMHhmZiwKLTB4OGQsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4NzAsMHhmZiwweDQ3LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHg0OCwweGZmLDB4ZmYsMHhmZiwweDA0LDB4ZmYsMHhhMCwweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHg0NiwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg2YSwweGZmLDB4MDAsMHhmZiwweDBjLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwKLTB4MDAsMHhmZiwweDA0LDB4ZmYsMHhmZiwweGZmLDB4MWMsMHhmZiwweDAwLDB4ZmYsMHgwNCwweGZmLDB4ZmYsMHhmZiwweDFjLDB4ZmYsCi0weDAwLDB4ZmYsMHgwNCwweGZmLDB4ZmYsMHhmZiwweDFjLDB4ZmYsMHgwMCwweGZmLDB4MDQsMHhmZiwweGZmLDB4ZmYsMHgxYywweGZmLAotMHgwMCwweGZmLDB4MDQsMHhmZiwweGZmLDB4ZmYsMHgxMCwweGZmLDB4MDAsMHhmZiwweDA0LDB4ZmYsMHhmZiwweGZmLDB4MTAsMHhmZiwKLTB4MDAsMHhmZiwweDA0LDB4ZmYsMHhmZiwweGZmLDB4MTAsMHhmZiwweDAwLDB4ZmYsMHgwNCwweGZmLDB4ZmYsMHhmZiwweDEwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwNCwweGZmLDB4ZmYsMHhmZiwweDEwLDB4ZmYsMHgwMCwweGZmLDB4MDQsMHhmZiwweGZmLDB4ZmYsMHgxMCwweGZmLAotMHgwMCwweGZmLDB4MDQsMHhmZiwweGZmLDB4ZmYsMHgxMCwweGZmLDB4MDAsMHhmZiwweDA0LDB4ZmYsMHhmZiwweGZmLDB4MTAsMHhmZiwKLTB4MDAsMHhmZiwweDA0LDB4ZmYsMHhmZiwweGZmLDB4MTAsMHhmZiwweDAwLDB4ZmYsMHgwNCwweGZmLDB4ZmYsMHhmZiwweDEwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwNCwweGZmLDB4ZmYsMHhmZiwweDEwLDB4ZmYsMHgwMCwweGZmLDB4MDQsMHhmZiwweGZmLDB4ZmYsMHgxMCwweGZmLAotMHg3MiwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHg1ZiwweGZmLDB4MDIsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4NDAsMHhmZiwKLTB4MTEsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwweDAwLDB4ZmYsMHg0OCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDhiLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHg4NiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLDB4OGIsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4MzAsMHhmZiwKLTB4OGQsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4NDAsMHhmZiwweDAyLDB4ZmYsMHg5MSwweGZmLDB4ZmYsMHhmZiwweDgwLDB4ZmYsCi0weDAyLDB4ZmYsMHg5MSwweGZmLDB4ZmYsMHhmZiwweDkwLDB4ZmYsMHg4ZCwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHhjMCwweGZmLAotMHg0NiwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLDB4OGQsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4ZDAsMHhmZiwKLTB4MDAsMHhmZiwweDQ4LDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDhiLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDQwLDB4ZmYsCi0weGZmLDB4ZmYsMHg0NywweGZmLDB4ZmYsMHhmZiwweGYwLDB4ZmYsMHg4ZCwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHhlMCwweGZmLAotMHgwMCwweGZmLDB4MzQsMHhmZiwweGZmLDB4ZmYsMHgxNywweGZmLDB4MDAsMHhmZiwweDM4LDB4ZmYsMHhmZiwweGZmLDB4MTcsMHhmZiwKLTB4ODAsMHhmZiwweDM3LDB4ZmYsMHhmZiwweGZmLDB4MDIsMHhmZiwweDg0LDB4ZmYsMHgzYiwweGZmLDB4ZmYsMHhmZiwweDAyLDB4ZmYsCi0weDAyLDB4ZmYsMHgzNCwweGZmLDB4ZmYsMHhmZiwweDRhLDB4ZmYsMHgwMiwweGZmLDB4MzgsMHhmZiwweGZmLDB4ZmYsMHg0YSwweGZmLAotMHgwMSwweGZmLDB4MzQsMHhmZiwweGZmLDB4ZmYsMHgyYiwweGZmLDB4MDEsMHhmZiwweDM4LDB4ZmYsMHhmZiwweGZmLDB4MmIsMHhmZiwKLTB4ODAsMHhmZiwweDQzLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDgyLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDUwLDB4ZmYsCi0weDgxLDB4ZmYsMHg0MywweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsMHg4MiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHg2MCwweGZmLAotMHg4NCwweGZmLDB4NDMsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4ODIsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4NzAsMHhmZiwKLTB4ODUsMHhmZiwweDQzLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwweDgzLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGMwLDB4ZmYsCi0weDgyLDB4ZmYsMHgzNywweGZmLDB4ZmYsMHhmZiwweDgxLDB4ZmYsMHgwMCwweGZmLDB4MzQsMHhmZiwweGZmLDB4ZmYsMHg4OSwweGZmLAotMHg4OCwweGZmLDB4NDMsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDY4LDB4ZmYsMHhmZiwweGZmLDB4MDcsMHhmZiwKLTB4ODIsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4NjAsMHhmZiwweDAwLDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweDA3LDB4ZmYsCi0weDhjLDB4ZmYsMHg0MywweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4NjgsMHhmZiwweGZmLDB4ZmYsMHgwNywweGZmLAotMHg4MywweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHhjMCwweGZmLDB4MDAsMHhmZiwweDY4LDB4ZmYsMHhmZiwweGZmLDB4MDcsMHhmZiwKLTB4OGEsMHhmZiwweDQzLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweDA3LDB4ZmYsCi0weDgyLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDUwLDB4ZmYsMHgwMCwweGZmLDB4NjgsMHhmZiwweGZmLDB4ZmYsMHgwNywweGZmLAotMHg4ZSwweGZmLDB4NDMsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDY4LDB4ZmYsMHhmZiwweGZmLDB4MDcsMHhmZiwKLTB4ODIsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4NzAsMHhmZiwweDAwLDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweDA3LDB4ZmYsCi0weDgzLDB4ZmYsMHgzNywweGZmLDB4ZmYsMHhmZiwweDAxLDB4ZmYsMHgwMCwweGZmLDB4MzQsMHhmZiwweGZmLDB4ZmYsMHg4OSwweGZmLAotMHgwMCwweGZmLDB4MzQsMHhmZiwweGZmLDB4ZmYsMHgyNiwweGZmLDB4MzAsMHhmZiwweDBjLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MjYsMHhmZiwweDIwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDA0LDB4ZmYsCi0weDgwLDB4ZmYsMHg0MSwweGZmLDB4ZmYsMHhmZiwweDAyLDB4ZmYsMHhlMCwweGZmLDB4MjAsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgwMCwweGZmLDB4NjgsMHhmZiwweGZmLDB4ZmYsMHhiNiwweGZmLDB4NjMsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4NjIsMHhmZiwweDZhLDB4ZmYsMHhmZiwweGZmLDB4YTYsMHhmZiwweDYyLDB4ZmYsMHg2YSwweGZmLDB4ZmYsMHhmZiwweGE2LDB4ZmYsCi0weDAwLDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweGE2LDB4ZmYsMHgwMCwweGZmLDB4MDksMHhmZiwweGZmLDB4ZmYsMHgwNywweGZmLAotMHg0MCwweGZmLDB4NDEsMHhmZiwweGZmLDB4ZmYsMHgwMiwweGZmLDB4ZTAsMHhmZiwweDIwLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MDAsMHhmZiwweDY4LDB4ZmYsMHhmZiwweGZmLDB4YjYsMHhmZiwweDYzLDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDYyLDB4ZmYsMHg2YSwweGZmLDB4ZmYsMHhmZiwweGE2LDB4ZmYsMHg2MiwweGZmLDB4NmEsMHhmZiwweGZmLDB4ZmYsMHhhNiwweGZmLAotMHgwMCwweGZmLDB4NjgsMHhmZiwweGZmLDB4ZmYsMHhhNiwweGZmLDB4MDUsMHhmZiwweDQxLDB4ZmYsMHhmZiwweGZmLDB4MDIsMHhmZiwKLTB4ZTAsMHhmZiwweDIwLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDhiLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGJiLDB4ZmYsCi0weDAyLDB4ZmYsMHg0MSwweGZmLDB4ZmYsMHhmZiwweDgyLDB4ZmYsMHhlMCwweGZmLDB4MjAsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHg4YiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHhjYiwweGZmLDB4MDUsMHhmZiwweDQxLDB4ZmYsMHhmZiwweGZmLDB4ZTIsMHhmZiwKLTB4ZTAsMHhmZiwweDIwLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDhiLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGRiLDB4ZmYsCi0weDIwLDB4ZmYsMHgwYywweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgzMCwweGZmLDB4MGMsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgyNiwweGZmLDB4MDAsMHhmZiwweDQxLDB4ZmYsMHhmZiwweGZmLDB4MDIsMHhmZiwKLTB4ZTAsMHhmZiwweDIwLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDgzLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDgyLDB4ZmYsCi0weDgzLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDliLDB4ZmYsMHgwMywweGZmLDB4NDEsMHhmZiwweGZmLDB4ZmYsMHgwMiwweGZmLAotMHhlMCwweGZmLDB4MjAsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4ODMsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4YTIsMHhmZiwKLTB4ODMsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4YmIsMHhmZiwweDIwLDB4ZmYsMHgwYywweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHg0NCwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg2MCwweGZmLAotMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MjEsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4NjAsMHhmZiwweDQwLDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsCi0weDAyLDB4ZmYsMHgzNSwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MzQsMHhmZiwweGZmLDB4ZmYsMHgwOCwweGZmLAotMHgwMCwweGZmLDB4M2MsMHhmZiwweGZmLDB4ZmYsMHg4NSwweGZmLDB4MGEsMHhmZiwweDE0LDB4ZmYsMHhmZiwweGZmLDB4YWUsMHhmZiwKLTB4MDAsMHhmZiwweGEwLDB4ZmYsMHhmZiwweGZmLDB4MDMsMHhmZiwweDAwLDB4ZmYsMHgzNSwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgzNCwweGZmLDB4ZmYsMHhmZiwweDA4LDB4ZmYsMHgwMiwweGZmLDB4M2MsMHhmZiwweGZmLDB4ZmYsMHgwNSwweGZmLAotMHgwYSwweGZmLDB4MTQsMHhmZiwweGZmLDB4ZmYsMHhmZSwweGZmLDB4MDAsMHhmZiwweGEwLDB4ZmYsMHhmZiwweGZmLDB4MDMsMHhmZiwKLTB4MDMsMHhmZiwweDM1LDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgzNCwweGZmLDB4ZmYsMHhmZiwweDA4LDB4ZmYsCi0weDAyLDB4ZmYsMHgzYywweGZmLDB4ZmYsMHhmZiwweDA1LDB4ZmYsMHgwYiwweGZmLDB4MTQsMHhmZiwweGZmLDB4ZmYsMHg0ZSwweGZmLAotMHgwMCwweGZmLDB4YTAsMHhmZiwweGZmLDB4ZmYsMHgwMywweGZmLDB4MDAsMHhmZiwweDM1LDB4ZmYsMHhmZiwweGZmLDB4MDEsMHhmZiwKLTB4NzgsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4NWYsMHhmZiwweDAzLDB4ZmYsMHgzNSwweGZmLDB4ZmYsMHhmZiwweDAxLDB4ZmYsCi0weDc4LDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweDVmLDB4ZmYsMHg1YiwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHhmMCwweGZmLAotMHhmZiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHgzMCwweGZmLDB4ODAsMHhmZiwweDQyLDB4ZmYsMHhmZiwweGZmLDB4NzAsMHhmZiwKLTB4ZmYsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4NjAsMHhmZiwweGRmLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweGYwLDB4ZmYsCi0weGZlLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGYwLDB4ZmYsMHg4MCwweGZmLDB4NDIsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLAotMHhmZiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLDB4YzEsMHhmZiwweDQxLDB4ZmYsMHhmZiwweGZmLDB4ODAsMHhmZiwKLTB4ZmYsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4ZjAsMHhmZiwweDAzLDB4ZmYsMHgzYywweGZmLDB4ZmYsMHhmZiwweGZjLDB4ZmYsCi0weDAwLDB4ZmYsMHgzYywweGZmLDB4ZmYsMHhmZiwweDA0LDB4ZmYsMHgwMiwweGZmLDB4M2MsMHhmZiwweGZmLDB4ZmYsMHgyMywweGZmLAotMHgwMCwweGZmLDB4NDgsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4OGIsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwKLTB4NTksMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4ZGYsMHhmZiwweDAwLDB4ZmYsMHg0OCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDhiLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsMHgxOCwweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgwYywweGZmLDB4MTQsMHhmZiwweGZmLDB4ZmYsMHhlNCwweGZmLDB4OGIsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4MjQsMHhmZiwKLTB4MDAsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDBkLDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDhiLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgxNCwweGZmLAotMHhlMCwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MTAsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4ZDAsMHhmZiwKLTB4OGIsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwweDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDI0LDB4ZmYsCi0weGUwLDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgxMCwweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHgzMCwweGZmLAotMHg4YiwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLDB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4NDQsMHhmZiwKLTB4ZTAsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDIyLDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweDkwLDB4ZmYsCi0weDhiLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHg4NCwweGZmLAotMHhlMCwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MjIsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4OTAsMHhmZiwKLTB4MGMsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4NmYsMHhmZiwweDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDg2LDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsMHg3NiwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHg5ZiwweGZmLAotMHg4NiwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg1MCwweGZmLDB4ODYsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4NjQsMHhmZiwKLTB4NjAsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDc0LDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweDgxLDB4ZmYsCi0weDAwLDB4ZmYsMHgzNSwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHg2MCwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHg3ZiwweGZmLAotMHg2MSwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHhhZiwweGZmLDB4NzcsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4YWYsMHhmZiwKLTB4NjMsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4NGYsMHhmZiwweDA1LDB4ZmYsMHgzNSwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDkyLDB4ZmYsMHgzYiwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MzQsMHhmZiwweGZmLDB4ZmYsMHgwOCwweGZmLAotMHgwMCwweGZmLDB4MzgsMHhmZiwweGZmLDB4ZmYsMHgwOCwweGZmLDB4MDAsMHhmZiwweDNjLDB4ZmYsMHhmZiwweGZmLDB4NjUsMHhmZiwKLTB4MGYsMHhmZiwweDE0LDB4ZmYsMHhmZiwweGZmLDB4NmUsMHhmZiwweDAwLDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDAzLDB4ZmYsCi0weDAwLDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDEzLDB4ZmYsMHgwMCwweGZmLDB4NzgsMHhmZiwweGZmLDB4ZmYsMHgxMywweGZmLAotMHgwMCwweGZmLDB4NzgsMHhmZiwweGZmLDB4ZmYsMHgwMywweGZmLDB4MDUsMHhmZiwweDM1LDB4ZmYsMHhmZiwweGZmLDB4ZTAsMHhmZiwKLTB4N2YsMHhmZiwweDM4LDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgzNCwweGZmLDB4ZmYsMHhmZiwweDA4LDB4ZmYsCi0weDAwLDB4ZmYsMHgzOCwweGZmLDB4ZmYsMHhmZiwweDA4LDB4ZmYsMHgwMCwweGZmLDB4M2MsMHhmZiwweGZmLDB4ZmYsMHg2NSwweGZmLAotMHgxMCwweGZmLDB4MTQsMHhmZiwweGZmLDB4ZmYsMHgwZSwweGZmLDB4MDAsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MDMsMHhmZiwKLTB4MDAsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MTMsMHhmZiwweDAwLDB4ZmYsMHg1OCwweGZmLDB4ZmYsMHhmZiwweDEzLDB4ZmYsCi0weDAwLDB4ZmYsMHg1OCwweGZmLDB4ZmYsMHhmZiwweDAzLDB4ZmYsMHg3OSwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHhmZiwweGZmLAotMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MGUsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4MWYsMHhmZiwKLTB4OGQsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4ZTAsMHhmZiwweDc4LDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDE1LDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweDg1LDB4ZmYsMHg3NSwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHg4ZiwweGZmLAotMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHg0MCwweGZmLDB4OGIsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4ODAsMHhmZiwKLTB4MDIsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4NjAsMHhmZiwweDExLDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsCi0weDE2LDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweDFmLDB4ZmYsMHgwZSwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHgxZiwweGZmLAotMHg3NSwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHg4ZiwweGZmLDB4ODAsMHhmZiwweDM1LDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDM0LDB4ZmYsMHhmZiwweGZmLDB4MDgsMHhmZiwweDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDQwLDB4ZmYsMHgzYywweGZmLDB4ZmYsMHhmZiwweDA1LDB4ZmYsMHgxMSwweGZmLDB4MTQsMHhmZiwweGZmLDB4ZmYsMHg0ZSwweGZmLAotMHgwMCwweGZmLDB4NjgsMHhmZiwweGZmLDB4ZmYsMHgwMywweGZmLDB4ODcsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4ZjAsMHhmZiwKLTB4ODYsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4ODAsMHhmZiwweDkwLDB4ZmYsMHgzNywweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAyLDB4ZmYsMHgzNCwweGZmLDB4ZmYsMHhmZiwweDA4LDB4ZmYsMHgwMCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHgwMywweGZmLAotMHg4OSwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLDB4MDAsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MDMsMHhmZiwKLTB4ODksMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4MzAsMHhmZiwweDAwLDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDAzLDB4ZmYsCi0weDg5LDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDQwLDB4ZmYsMHgwMCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHgwMywweGZmLAotMHg4OSwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHg1MCwweGZmLDB4ODYsMHhmZiwweDk3LDB4ZmYsMHhmZiwweGZmLDB4OTAsMHhmZiwKLTB4MDMsMHhmZiwweDM1LDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDYwLDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweDdmLDB4ZmYsCi0weDYzLDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweDdmLDB4ZmYsMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHg4ZCwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHg2MCwweGZmLDB4ODIsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4NDAsMHhmZiwKLTB4ODYsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4YTAsMHhmZiwweDgzLDB4ZmYsMHgzNywweGZmLDB4ZmYsMHhmZiwweDgwLDB4ZmYsCi0weDc1LDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweDFmLDB4ZmYsMHg4MywweGZmLDB4NDMsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHg4NywweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHhlMCwweGZmLDB4NmEsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4NDAsMHhmZiwweDQxLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDhiLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDkwLDB4ZmYsCi0weDgwLDB4ZmYsMHg0MSwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHg4YiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHhhMCwweGZmLAotMHg4YiwweGZmLDB4ODcsMHhmZiwweGZmLDB4ZmYsMHg5MCwweGZmLDB4N2UsMHhmZiwweDM4LDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4NDAsMHhmZiwweDM0LDB4ZmYsMHhmZiwweGZmLDB4MDgsMHhmZiwweDAwLDB4ZmYsMHgzOCwweGZmLDB4ZmYsMHhmZiwweDA4LDB4ZmYsCi0weDAwLDB4ZmYsMHgzYywweGZmLDB4ZmYsMHhmZiwweDU1LDB4ZmYsMHgxMywweGZmLDB4MTQsMHhmZiwweGZmLDB4ZmYsMHhiZSwweGZmLAotMHgwMCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHgwMywweGZmLDB4MDAsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MTMsMHhmZiwKLTB4MDAsMHhmZiwweDU4LDB4ZmYsMHhmZiwweGZmLDB4MTMsMHhmZiwweDAwLDB4ZmYsMHg1OCwweGZmLDB4ZmYsMHhmZiwweDAzLDB4ZmYsCi0weDAwLDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDAzLDB4ZmYsMHgwMCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHgxMywweGZmLAotMHgwMCwweGZmLDB4NTgsMHhmZiwweGZmLDB4ZmYsMHgxMywweGZmLDB4MDAsMHhmZiwweDU4LDB4ZmYsMHhmZiwweGZmLDB4MDMsMHhmZiwKLTB4MDAsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MDMsMHhmZiwweDAwLDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDEzLDB4ZmYsCi0weDAwLDB4ZmYsMHg1OCwweGZmLDB4ZmYsMHhmZiwweDEzLDB4ZmYsMHgwMCwweGZmLDB4NTgsMHhmZiwweGZmLDB4ZmYsMHgwMywweGZmLAotMHgwMCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHgwMywweGZmLDB4MDAsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MDMsMHhmZiwKLTB4OGIsMHhmZiwweDk3LDB4ZmYsMHhmZiwweGZmLDB4OTAsMHhmZiwweDA1LDB4ZmYsMHg0MSwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDkyLDB4ZmYsMHg0MywweGZmLDB4ZmYsMHhmZiwweDAxLDB4ZmYsMHg4NiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHhmMCwweGZmLAotMHg4NiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHhlMSwweGZmLDB4OGQsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4ZTAsMHhmZiwKLTB4NzgsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDE1LDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweDg1LDB4ZmYsCi0weDc1LDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweDhmLDB4ZmYsMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg0MCwweGZmLAotMHg3OCwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4NTMsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4YjQsMHhmZiwKLTB4NzIsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDhiLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDMwLDB4ZmYsMHgwMiwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHg2MCwweGZmLAotMHgxMSwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLDB4MTYsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4NGYsMHhmZiwKLTB4MzgsMHhmZiwweDQyLDB4ZmYsMHhmZiwweGZmLDB4NTAsMHhmZiwweDQ4LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweGEwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MzAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDQ3LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDUwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgxZSwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgyMCwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHhjZiwweGZmLDB4MTYsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4MWYsMHhmZiwKLTB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDQ2LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsCi0weDE4LDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweGVmLDB4ZmYsMHg2YSwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHhiZiwweGZmLAotMHg1YywweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHg3ZiwweGZmLDB4MTgsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4ZWYsMHhmZiwKLTB4NjcsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4M2YsMHhmZiwweDVjLDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweDdmLDB4ZmYsCi0weDA4LDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHg0NiwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLAotMHgxOCwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHhlZiwweGZmLDB4NjksMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4NWQsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4MmYsMHhmZiwweDE4LDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweGVmLDB4ZmYsCi0weDc5LDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweDFmLDB4ZmYsMHg1YywweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHg3ZiwweGZmLAotMHgxOCwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHhlZiwweGZmLDB4NWMsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4N2YsMHhmZiwKLTB4MTgsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4ZWYsMHhmZiwweDVjLDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweDdmLDB4ZmYsCi0weDE4LDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweGVmLDB4ZmYsMHg1ZCwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHgyZiwweGZmLAotMHgxOCwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHhlZiwweGZmLDB4NWMsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4N2YsMHhmZiwKLTB4MTgsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4ZWYsMHhmZiwweDVjLDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweDdmLDB4ZmYsCi0weDE4LDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweGVmLDB4ZmYsMHg1YywweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHg3ZiwweGZmLAotMHgxOCwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHhlZiwweGZmLDB4NWQsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4MmYsMHhmZiwKLTB4MTgsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4ZWYsMHhmZiwweDVjLDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweDdmLDB4ZmYsCi0weDE4LDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweGVmLDB4ZmYsMHg1YywweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHg3ZiwweGZmLAotMHgxOCwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHhlZiwweGZmLDB4NWMsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4N2YsMHhmZiwKLTB4MTgsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4ZWYsMHhmZiwweDVkLDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweDJmLDB4ZmYsCi0weDE4LDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweGVmLDB4ZmYsMHg2NiwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHgxZiwweGZmLAotMHg1YywweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHg3ZiwweGZmLDB4MTYsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4NGYsMHhmZiwKLTB4OGIsMHhmZiwweDg3LDB4ZmYsMHhmZiwweGZmLDB4NjEsMHhmZiwweDAwLDB4ZmYsMHgzNCwweGZmLDB4ZmYsMHhmZiwweDg5LDB4ZmYsCi0weDAwLDB4ZmYsMHgzNCwweGZmLDB4ZmYsMHhmZiwweDI2LDB4ZmYsMHgwMCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHgwNiwweGZmLAotMHg4MywweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHhkMCwweGZmLDB4MDAsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MDYsMHhmZiwKLTB4ODMsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4ZTAsMHhmZiwweDM4LDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDE5LDB4ZmYsMHgxNCwweGZmLDB4ZmYsMHhmZiwweDg1LDB4ZmYsMHg4YiwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg1MCwweGZmLAotMHg3OCwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MDAsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MDcsMHhmZiwKLTB4MDQsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4MzAsMHhmZiwweDAwLDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDA3LDB4ZmYsCi0weDgzLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGYwLDB4ZmYsMHgwMCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHgwNywweGZmLAotMHgwOCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHgzMCwweGZmLDB4MDAsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MDcsMHhmZiwKLTB4ODYsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4NDAsMHhmZiwweDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDAxLDB4ZmYsCi0weDhiLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDUxLDB4ZmYsMHgwMCwweGZmLDB4MzQsMHhmZiwweGZmLDB4ZmYsMHg0NiwweGZmLAotMHgwMCwweGZmLDB4MDksMHhmZiwweGZmLDB4ZmYsMHgwNiwweGZmLDB4OGIsMHhmZiwweDk3LDB4ZmYsMHhmZiwweGZmLDB4NjEsMHhmZiwKLTB4ODMsMHhmZiwweDhiLDB4ZmYsMHhmZiwweGZmLDB4ZDAsMHhmZiwweDgzLDB4ZmYsMHg4YiwweGZmLDB4ZmYsMHhmZiwweGUxLDB4ZmYsCi0weDg3LDB4ZmYsMHgzNywweGZmLDB4ZmYsMHhmZiwweDAxLDB4ZmYsMHg2ZSwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHhiZiwweGZmLAotMHg4NywweGZmLDB4MzcsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4OTIsMHhmZiwweDM3LDB4ZmYsMHhmZiwweGZmLDB4MDEsMHhmZiwKLTB4N2YsMHhmZiwweDM4LDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDdlLDB4ZmYsMHgzOCwweGZmLDB4ZmYsMHhmZiwweDAxLDB4ZmYsCi0weDIzLDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweGZmLDB4ZmYsMHg3ZSwweGZmLDB4MzgsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHg4MywweGZmLDB4ODcsMHhmZiwweGZmLDB4ZmYsMHhmMSwweGZmLDB4ODYsMHhmZiwweDhiLDB4ZmYsMHhmZiwweGZmLDB4NDEsMHhmZiwKLTB4NmMsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4MmYsMHhmZiwweDg3LDB4ZmYsMHgzNywweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDhiLDB4ZmYsMHg4YiwweGZmLDB4ZmYsMHhmZiwweGEwLDB4ZmYsMHgwMCwweGZmLDB4MzQsMHhmZiwweGZmLDB4ZmYsMHgwOCwweGZmLAotMHg0MCwweGZmLDB4MzgsMHhmZiwweGZmLDB4ZmYsMHgwOCwweGZmLDB4MDAsMHhmZiwweDNjLDB4ZmYsMHhmZiwweGZmLDB4NTUsMHhmZiwKLTB4MWIsMHhmZiwweDE0LDB4ZmYsMHhmZiwweGZmLDB4Y2UsMHhmZiwweDAwLDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDAzLDB4ZmYsCi0weDAwLDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDEzLDB4ZmYsMHgwMCwweGZmLDB4NzgsMHhmZiwweGZmLDB4ZmYsMHgxMywweGZmLAotMHgwMCwweGZmLDB4NzgsMHhmZiwweGZmLDB4ZmYsMHgwMywweGZmLDB4MDAsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MDMsMHhmZiwKLTB4MDAsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MTMsMHhmZiwweDAwLDB4ZmYsMHg3OCwweGZmLDB4ZmYsMHhmZiwweDEzLDB4ZmYsCi0weDAwLDB4ZmYsMHg3OCwweGZmLDB4ZmYsMHhmZiwweDAzLDB4ZmYsMHgwMCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHgwMywweGZmLAotMHgwMCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHgxMywweGZmLDB4MDAsMHhmZiwweDc4LDB4ZmYsMHhmZiwweGZmLDB4MTMsMHhmZiwKLTB4MDAsMHhmZiwweDc4LDB4ZmYsMHhmZiwweGZmLDB4MDMsMHhmZiwweDhiLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweGUxLDB4ZmYsCi0weDhiLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweGYwLDB4ZmYsMHgwMCwweGZmLDB4NzgsMHhmZiwweGZmLDB4ZmYsMHgxMywweGZmLAotMHgwMCwweGZmLDB4NzgsMHhmZiwweGZmLDB4ZmYsMHgwMywweGZmLDB4OGIsMHhmZiwweDliLDB4ZmYsMHhmZiwweGZmLDB4YTAsMHhmZiwKLTB4OGIsMHhmZiwweDg3LDB4ZmYsMHhmZiwweGZmLDB4OTAsMHhmZiwweDdlLDB4ZmYsMHgzOCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDQwLDB4ZmYsMHgzNCwweGZmLDB4ZmYsMHhmZiwweDA4LDB4ZmYsMHgwMCwweGZmLDB4MzgsMHhmZiwweGZmLDB4ZmYsMHgwOCwweGZmLAotMHgwMCwweGZmLDB4M2MsMHhmZiwweGZmLDB4ZmYsMHg1NSwweGZmLDB4MWQsMHhmZiwweDE0LDB4ZmYsMHhmZiwweGZmLDB4M2UsMHhmZiwKLTB4MDAsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MDMsMHhmZiwweDAwLDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDEzLDB4ZmYsCi0weDAwLDB4ZmYsMHg1OCwweGZmLDB4ZmYsMHhmZiwweDEzLDB4ZmYsMHgwMCwweGZmLDB4NTgsMHhmZiwweGZmLDB4ZmYsMHgwMywweGZmLAotMHgwMCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHgwMywweGZmLDB4MDAsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MTMsMHhmZiwKLTB4MDAsMHhmZiwweDU4LDB4ZmYsMHhmZiwweGZmLDB4MTMsMHhmZiwweDAwLDB4ZmYsMHg1OCwweGZmLDB4ZmYsMHhmZiwweDAzLDB4ZmYsCi0weDAwLDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDAzLDB4ZmYsMHgwMCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHgxMywweGZmLAotMHgwMCwweGZmLDB4NTgsMHhmZiwweGZmLDB4ZmYsMHgxMywweGZmLDB4MDAsMHhmZiwweDU4LDB4ZmYsMHhmZiwweGZmLDB4MDMsMHhmZiwKLTB4MDAsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MDMsMHhmZiwweDAwLDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDAzLDB4ZmYsCi0weDhiLDB4ZmYsMHg5NywweGZmLDB4ZmYsMHhmZiwweDkwLDB4ZmYsMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHg4YiwweGZmLDB4ODcsMHhmZiwweGZmLDB4ZmYsMHg2MSwweGZmLDB4MDAsMHhmZiwweDM0LDB4ZmYsMHhmZiwweGZmLDB4ODksMHhmZiwKLTB4MDAsMHhmZiwweDM0LDB4ZmYsMHhmZiwweGZmLDB4MjYsMHhmZiwweDAwLDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDA2LDB4ZmYsCi0weDgzLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGQwLDB4ZmYsMHgwMCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHgwNiwweGZmLAotMHg4MywweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHhlMCwweGZmLDB4OGIsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4NTEsMHhmZiwKLTB4NzksMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDc0LDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweGI0LDB4ZmYsCi0weDM4LDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgxZSwweGZmLDB4MTQsMHhmZiwweGZmLDB4ZmYsMHhkNSwweGZmLAotMHg4YiwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg1MCwweGZmLDB4NzgsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MDAsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MDcsMHhmZiwweDA0LDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDMwLDB4ZmYsCi0weDAwLDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDA3LDB4ZmYsMHg4MywweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHhmMCwweGZmLAotMHgwMCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHgwNywweGZmLDB4MDgsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4MzAsMHhmZiwKLTB4MDAsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MDcsMHhmZiwweDg2LDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDQwLDB4ZmYsCi0weDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDAxLDB4ZmYsMHg4YiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHg1MSwweGZmLAotMHgwMCwweGZmLDB4MzQsMHhmZiwweGZmLDB4ZmYsMHg0NiwweGZmLDB4MDAsMHhmZiwweDA5LDB4ZmYsMHhmZiwweGZmLDB4MDYsMHhmZiwKLTB4OGIsMHhmZiwweDk3LDB4ZmYsMHhmZiwweGZmLDB4NjEsMHhmZiwweDgzLDB4ZmYsMHg4YiwweGZmLDB4ZmYsMHhmZiwweGQwLDB4ZmYsCi0weDgzLDB4ZmYsMHg4YiwweGZmLDB4ZmYsMHhmZiwweGUxLDB4ZmYsMHg4NywweGZmLDB4MzcsMHhmZiwweGZmLDB4ZmYsMHgwMSwweGZmLAotMHg2ZSwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHhiZiwweGZmLDB4ODcsMHhmZiwweDM3LDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4OTIsMHhmZiwweDM3LDB4ZmYsMHhmZiwweGZmLDB4MDEsMHhmZiwweDdmLDB4ZmYsMHgzOCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDIzLDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweGZmLDB4ZmYsMHg3ZSwweGZmLDB4MzgsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHg4MywweGZmLDB4ODcsMHhmZiwweGZmLDB4ZmYsMHhmMSwweGZmLDB4ODYsMHhmZiwweDhiLDB4ZmYsMHhmZiwweGZmLDB4NDEsMHhmZiwKLTB4NmMsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4MmYsMHhmZiwweDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDhkLDB4ZmYsMHg4ZiwweGZmLDB4ZmYsMHhmZiwweGM1LDB4ZmYsMHgyMCwweGZmLDB4MTQsMHhmZiwweGZmLDB4ZmYsMHhhZSwweGZmLAotMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4OGIsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4ODQsMHhmZiwweDAwLDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDhiLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDhhLDB4ZmYsMHg2NCwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHhlMCwweGZmLAotMHg3ZSwweGZmLDB4MzgsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDM4LDB4ZmYsMHhmZiwweGZmLDB4MDgsMHhmZiwKLTB4MDAsMHhmZiwweDNjLDB4ZmYsMHhmZiwweGZmLDB4ZTUsMHhmZiwweDIxLDB4ZmYsMHgxNCwweGZmLDB4ZmYsMHhmZiwweDVlLDB4ZmYsCi0weDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4NTgsMHhmZiwweGZmLDB4ZmYsMHgwMywweGZmLAotMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MDgsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MTAsMHhmZiwKLTB4NDcsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwweDAwLDB4ZmYsMHgwNCwweGZmLDB4ZmYsMHhmZiwweDFjLDB4ZmYsCi0weDAwLDB4ZmYsMHgwNCwweGZmLDB4ZmYsMHhmZiwweDFjLDB4ZmYsMHgwMCwweGZmLDB4MDQsMHhmZiwweGZmLDB4ZmYsMHgxYywweGZmLAotMHgwMCwweGZmLDB4MDQsMHhmZiwweGZmLDB4ZmYsMHgxYywweGZmLDB4MDAsMHhmZiwweDA0LDB4ZmYsMHhmZiwweGZmLDB4MTAsMHhmZiwKLTB4MDAsMHhmZiwweDA0LDB4ZmYsMHhmZiwweGZmLDB4MTAsMHhmZiwweDAwLDB4ZmYsMHgwNCwweGZmLDB4ZmYsMHhmZiwweDEwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwNCwweGZmLDB4ZmYsMHhmZiwweDEwLDB4ZmYsMHgwMCwweGZmLDB4MDQsMHhmZiwweGZmLDB4ZmYsMHgxMCwweGZmLAotMHgwMCwweGZmLDB4MDQsMHhmZiwweGZmLDB4ZmYsMHgxMCwweGZmLDB4MDAsMHhmZiwweDA0LDB4ZmYsMHhmZiwweGZmLDB4MTAsMHhmZiwKLTB4MDAsMHhmZiwweDA0LDB4ZmYsMHhmZiwweGZmLDB4MTAsMHhmZiwweDAwLDB4ZmYsMHgwNCwweGZmLDB4ZmYsMHhmZiwweDEwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwNCwweGZmLDB4ZmYsMHhmZiwweDEwLDB4ZmYsMHgwMCwweGZmLDB4MDQsMHhmZiwweGZmLDB4ZmYsMHgxMCwweGZmLAotMHgwMCwweGZmLDB4MDQsMHhmZiwweGZmLDB4ZmYsMHgxMCwweGZmLDB4MDIsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4NDAsMHhmZiwKLTB4MTEsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwweDc4LDB4ZmYsMHg0MiwweGZmLDB4ZmYsMHhmZiwweDUwLDB4ZmYsCi0weDQ4LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweGEwLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weGIwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHg0NywweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg1MCwweGZmLAotMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4OGQsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4NDAsMHhmZiwKLTB4OGQsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4NTAsMHhmZiwweDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDAxLDB4ZmYsCi0weDhiLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDUxLDB4ZmYsMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHg0NiwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLDB4OGQsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4ZDAsMHhmZiwKLTB4NzgsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDBjLDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweDkwLDB4ZmYsCi0weDBjLDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweDZmLDB4ZmYsMHgyMCwweGZmLDB4MGMsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MzQsMHhmZiwweGZmLDB4ZmYsMHgwOSwweGZmLDB4MDAsMHhmZiwweDM0LDB4ZmYsMHhmZiwweGZmLDB4MDgsMHhmZiwKLTB4MDAsMHhmZiwweDM4LDB4ZmYsMHhmZiwweGZmLDB4MDgsMHhmZiwweDAwLDB4ZmYsMHgzOCwweGZmLDB4ZmYsMHhmZiwweDA5LDB4ZmYsCi0weDAwLDB4ZmYsMHgzOCwweGZmLDB4ZmYsMHhmZiwweDA2LDB4ZmYsMHgwMCwweGZmLDB4MzQsMHhmZiwweGZmLDB4ZmYsMHgyNiwweGZmLAotMHg5OCwweGZmLDB4Y2MsMHhmZiwweGZmLDB4ZmYsMHgzNywweGZmLDB4MDAsMHhmZiwweDNjLDB4ZmYsMHhmZiwweGZmLDB4YTUsMHhmZiwKLTB4MjQsMHhmZiwweDE0LDB4ZmYsMHhmZiwweGZmLDB4ZmUsMHhmZiwweDAwLDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDczLDB4ZmYsCi0weDA4LDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDE0LDB4ZmYsMHg5OCwweGZmLDB4MjAsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgwMCwweGZmLDB4NTAsMHhmZiwweGZmLDB4ZmYsMHhjNiwweGZmLDB4NjksMHhmZiwweGNjLDB4ZmYsMHhmZiwweGZmLDB4MzcsMHhmZiwKLTB4MDAsMHhmZiwweDA1LDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHg1OCwweGZmLDB4ZmYsMHhmZiwweGM2LDB4ZmYsCi0weDk4LDB4ZmYsMHgyMCwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgwMCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHg3MiwweGZmLAotMHgwOCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHgxNCwweGZmLDB4MDAsMHhmZiwweDUwLDB4ZmYsMHhmZiwweGZmLDB4YzYsMHhmZiwKLTB4NjksMHhmZiwweGNjLDB4ZmYsMHhmZiwweGZmLDB4MzcsMHhmZiwweDAwLDB4ZmYsMHgwNSwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHg1OCwweGZmLDB4ZmYsMHhmZiwweGM2LDB4ZmYsMHg5OCwweGZmLDB4MjAsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgwMCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHg3MywweGZmLDB4MDgsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4MTQsMHhmZiwKLTB4MDAsMHhmZiwweDUwLDB4ZmYsMHhmZiwweGZmLDB4YzYsMHhmZiwweDY5LDB4ZmYsMHgyMCwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDAwLDB4ZmYsMHgwNSwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4NTgsMHhmZiwweGZmLDB4ZmYsMHhjNiwweGZmLAotMHgzMCwweGZmLDB4MGMsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MDAsMHhmZiwweDBjLDB4ZmYsMHhmZiwweGZmLDB4MzAsMHhmZiwweDQ3LDB4ZmYsMHg4MCwweGZmLDB4ZmYsMHhmZiwweDU4LDB4ZmYsCi0weDEwLDB4ZmYsMHgwZiwweGZmLDB4ZmYsMHhmZiwweDAxLDB4ZmYsMHg2NiwweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgyNiwweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHg5NCwweGZmLDB4MDAsMHhmZiwweDQ4LDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4OGIsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4NDAsMHhmZiwweDgwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDQ5LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDQwLDB4ZmYsMHgxNiwweGZmLDB4MGYsMHhmZiwweGZmLDB4ZmYsMHgwMiwweGZmLAotMHg2NiwweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MzgsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4YjQsMHhmZiwKLTB4MGYsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4ZjQsMHhmZiwweDQ3LDB4ZmYsMHg4MCwweGZmLDB4ZmYsMHhmZiwweDBhLDB4ZmYsCi0weDgyLDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg4ZCwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHg3YSwweGZmLAotMHg3YSwweGZmLDB4MjYsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MTAsMHhmZiwweDI3LDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MzgsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4YjQsMHhmZiwweDI3LDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweGQyLDB4ZmYsCi0weDAwLDB4ZmYsMHg0OCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHg4YiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHgzMCwweGZmLAotMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLDB4NDcsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDQ4LDB4ZmYsMHhmZiwweGZmLDB4MDQsMHhmZiwweGEwLDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDQ2LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDZhLDB4ZmYsMHgwMCwweGZmLDB4MGMsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLAotMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgxZiwweGZmLDB4MTAsMHhmZiwweDI3LDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MjksMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4OTIsMHhmZiwweDQ2LDB4ZmYsMHg4MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDhiLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLAotMHg0NywweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDQ4LDB4ZmYsMHhmZiwweGZmLDB4MDQsMHhmZiwKLTB4YTAsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDQ2LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDZhLDB4ZmYsCi0weDAwLDB4ZmYsMHgwYywweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsMHgwMCwweGZmLDB4MDQsMHhmZiwweGZmLDB4ZmYsMHgxYywweGZmLAotMHgwMCwweGZmLDB4MDQsMHhmZiwweGZmLDB4ZmYsMHgxYywweGZmLDB4MDAsMHhmZiwweDA0LDB4ZmYsMHhmZiwweGZmLDB4MWMsMHhmZiwKLTB4MDAsMHhmZiwweDA0LDB4ZmYsMHhmZiwweGZmLDB4MWMsMHhmZiwweDAwLDB4ZmYsMHgwNCwweGZmLDB4ZmYsMHhmZiwweDEwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwNCwweGZmLDB4ZmYsMHhmZiwweDEwLDB4ZmYsMHgwMCwweGZmLDB4MDQsMHhmZiwweGZmLDB4ZmYsMHgxMCwweGZmLAotMHgwMCwweGZmLDB4MDQsMHhmZiwweGZmLDB4ZmYsMHgxMCwweGZmLDB4MDAsMHhmZiwweDA0LDB4ZmYsMHhmZiwweGZmLDB4MTAsMHhmZiwKLTB4MDAsMHhmZiwweDA0LDB4ZmYsMHhmZiwweGZmLDB4MTAsMHhmZiwweDAwLDB4ZmYsMHgwNCwweGZmLDB4ZmYsMHhmZiwweDEwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwNCwweGZmLDB4ZmYsMHhmZiwweDEwLDB4ZmYsMHgwMCwweGZmLDB4MDQsMHhmZiwweGZmLDB4ZmYsMHgxMCwweGZmLAotMHgwMCwweGZmLDB4MDQsMHhmZiwweGZmLDB4ZmYsMHgxMCwweGZmLDB4MDAsMHhmZiwweDA0LDB4ZmYsMHhmZiwweGZmLDB4MTAsMHhmZiwKLTB4MDAsMHhmZiwweDA0LDB4ZmYsMHhmZiwweGZmLDB4MTAsMHhmZiwweDAwLDB4ZmYsMHgwNCwweGZmLDB4ZmYsMHhmZiwweDAzLDB4ZmYsCi0weDBkLDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgxMCwweGZmLDB4MjcsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgzMSwweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHgxMiwweGZmLDB4MzAsMHhmZiwweDBjLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDgsMHhmZiwweDBjLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHg0ZiwweGZmLDB4ZmYsMHhmZiwweDg5LDB4ZmYsCi0weDkwLDB4ZmYsMHgzNywweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMiwweGZmLDB4MzQsMHhmZiwweGZmLDB4ZmYsMHgwOCwweGZmLAotMHgwMCwweGZmLDB4MzQsMHhmZiwweGZmLDB4ZmYsMHgzNCwweGZmLDB4MDAsMHhmZiwweDM0LDB4ZmYsMHhmZiwweGZmLDB4NTUsMHhmZiwKLTB4NDYsMHhmZiwweDgwLDB4ZmYsMHhmZiwweGZmLDB4MDgsMHhmZiwweDAwLDB4ZmYsMHgwZSwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDAwLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDRlLDB4ZmYsMHhhNywweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgwMCwweGZmLDB4NjgsMHhmZiwweGZmLDB4ZmYsMHhhMywweGZmLDB4MDAsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4NGEsMHhmZiwKLTB4NDYsMHhmZiwweDgwLDB4ZmYsMHhmZiwweGZmLDB4MTgsMHhmZiwweDAwLDB4ZmYsMHgwZSwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDAwLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDVlLDB4ZmYsMHhhZiwweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgwMCwweGZmLDB4NjgsMHhmZiwweGZmLDB4ZmYsMHhhMCwweGZmLDB4MDAsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4NWEsMHhmZiwKLTB4NDYsMHhmZiwweDgwLDB4ZmYsMHhmZiwweGZmLDB4NDgsMHhmZiwweDEwLDB4ZmYsMHgwZiwweGZmLDB4ZmYsMHhmZiwweGZlLDB4ZmYsCi0weDg3LDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGZlLDB4ZmYsMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHgyZSwweGZmLAotMHgwMiwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgwNiwweGZmLDB4ZTAsMHhmZiwweDIwLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MDEsMHhmZiwweDYzLDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDAwLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDRhLDB4ZmYsMHg0OSwweGZmLDB4NmEsMHhmZiwweGZmLDB4ZmYsMHhhMywweGZmLAotMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHg1YSwweGZmLDB4MDAsMHhmZiwweDY4LDB4ZmYsMHhmZiwweGZmLDB4YTAsMHhmZiwKLTB4MDAsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4NWEsMHhmZiwweDYzLDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDAwLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDRhLDB4ZmYsMHg0OSwweGZmLDB4NmEsMHhmZiwweGZmLDB4ZmYsMHhhMywweGZmLAotMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHg1YSwweGZmLDB4MDAsMHhmZiwweDY4LDB4ZmYsMHhmZiwweGZmLDB4YTAsMHhmZiwKLTB4NjMsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDAwLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDRhLDB4ZmYsCi0weDQ5LDB4ZmYsMHg2YSwweGZmLDB4ZmYsMHhmZiwweGEzLDB4ZmYsMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHg1YSwweGZmLAotMHgwMCwweGZmLDB4NjgsMHhmZiwweGZmLDB4ZmYsMHhhMCwweGZmLDB4NjMsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MDAsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4NGEsMHhmZiwweDQ5LDB4ZmYsMHg2YSwweGZmLDB4ZmYsMHhmZiwweGEzLDB4ZmYsCi0weDAwLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDVhLDB4ZmYsMHgwMCwweGZmLDB4NjgsMHhmZiwweGZmLDB4ZmYsMHhhMCwweGZmLAotMHg2MywweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MDAsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4NGEsMHhmZiwKLTB4NDksMHhmZiwweDZhLDB4ZmYsMHhmZiwweGZmLDB4YTMsMHhmZiwweDAwLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDVhLDB4ZmYsCi0weDAwLDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweGEwLDB4ZmYsMHg2MywweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHg0YSwweGZmLDB4NDksMHhmZiwweDZhLDB4ZmYsMHhmZiwweGZmLDB4YTMsMHhmZiwKLTB4MDAsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4NWEsMHhmZiwweDAwLDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweGEwLDB4ZmYsCi0weDYzLDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHg0YSwweGZmLAotMHg0OSwweGZmLDB4NmEsMHhmZiwweGZmLDB4ZmYsMHhhMywweGZmLDB4MDAsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4NWEsMHhmZiwKLTB4MDAsMHhmZiwweDY4LDB4ZmYsMHhmZiwweGZmLDB4YTEsMHhmZiwweDQ2LDB4ZmYsMHg4MCwweGZmLDB4ZmYsMHhmZiwweDI4LDB4ZmYsCi0weDAwLDB4ZmYsMHgwZSwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHg0ZSwweGZmLAotMHhhNywweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MDAsMHhmZiwweDY4LDB4ZmYsMHhmZiwweGZmLDB4YTMsMHhmZiwKLTB4MDAsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4NGEsMHhmZiwweDQ2LDB4ZmYsMHg4MCwweGZmLDB4ZmYsMHhmZiwweDM4LDB4ZmYsCi0weDAwLDB4ZmYsMHgwZSwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHg1ZSwweGZmLAotMHhhZiwweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MDAsMHhmZiwweDY4LDB4ZmYsMHhmZiwweGZmLDB4YTAsMHhmZiwKLTB4MDAsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4NWEsMHhmZiwweDYzLDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDAwLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDRhLDB4ZmYsMHg0OSwweGZmLDB4NmEsMHhmZiwweGZmLDB4ZmYsMHhhMywweGZmLAotMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHg1YSwweGZmLDB4MDAsMHhmZiwweDY4LDB4ZmYsMHhmZiwweGZmLDB4YTAsMHhmZiwKLTB4NjMsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDAwLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDRhLDB4ZmYsCi0weDQ5LDB4ZmYsMHg2YSwweGZmLDB4ZmYsMHhmZiwweGEzLDB4ZmYsMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHg1YSwweGZmLAotMHgwMCwweGZmLDB4NjgsMHhmZiwweGZmLDB4ZmYsMHhhMCwweGZmLDB4NjMsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MDAsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4NGEsMHhmZiwweDQ5LDB4ZmYsMHg2YSwweGZmLDB4ZmYsMHhmZiwweGEzLDB4ZmYsCi0weDAwLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDVhLDB4ZmYsMHgwMCwweGZmLDB4NjgsMHhmZiwweGZmLDB4ZmYsMHhhMCwweGZmLAotMHg2MywweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MDAsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4NGEsMHhmZiwKLTB4NDksMHhmZiwweDZhLDB4ZmYsMHhmZiwweGZmLDB4YTMsMHhmZiwweDAwLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDVhLDB4ZmYsCi0weDAwLDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweGEwLDB4ZmYsMHg2MywweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHg0YSwweGZmLDB4NDksMHhmZiwweDZhLDB4ZmYsMHhmZiwweGZmLDB4YTMsMHhmZiwKLTB4MDAsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4NWEsMHhmZiwweDAwLDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweGEwLDB4ZmYsCi0weDYzLDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHg0YSwweGZmLAotMHg0OSwweGZmLDB4NmEsMHhmZiwweGZmLDB4ZmYsMHhhMywweGZmLDB4MDAsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4NWEsMHhmZiwKLTB4MDAsMHhmZiwweDY4LDB4ZmYsMHhmZiwweGZmLDB4YTAsMHhmZiwweDYzLDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDAwLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDRhLDB4ZmYsMHg0OSwweGZmLDB4NmEsMHhmZiwweGZmLDB4ZmYsMHhhMywweGZmLAotMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHg1YSwweGZmLDB4MDAsMHhmZiwweDY4LDB4ZmYsMHhmZiwweGZmLDB4YTMsMHhmZiwKLTB4ZmYsMHhmZiwweDRmLDB4ZmYsMHhmZiwweGZmLDB4ZjAsMHhmZiwweDg2LDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDUwLDB4ZmYsCi0weDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsMHg0NywweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4NDgsMHhmZiwweGZmLDB4ZmYsMHgwNCwweGZmLDB4YTAsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4NDYsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NmEsMHhmZiwweDAwLDB4ZmYsMHgwYywweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDFmLDB4ZmYsMHgxMCwweGZmLDB4MjcsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgzMiwweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHg0MiwweGZmLDB4OGIsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4ZTQsMHhmZiwKLTB4OGIsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4ZjUsMHhmZiwweDQ2LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDQ0LDB4ZmYsCi0weDA4LDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHhmZiwweGZmLDB4NGYsMHhmZiwweGZmLDB4ZmYsMHg4OSwweGZmLAotMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHg4YSwweGZmLDB4MDAsMHhmZiwweDBlLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MDAsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4NGUsMHhmZiwweGE3LDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDQ2LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDVhLDB4ZmYsMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLAotMHg0NywweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDQ4LDB4ZmYsMHhmZiwweGZmLDB4MDQsMHhmZiwKLTB4YTAsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDQ2LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDZhLDB4ZmYsCi0weDAwLDB4ZmYsMHgwYywweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgxZiwweGZmLAotMHgxMCwweGZmLDB4MjcsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MzUsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4ZDIsMHhmZiwKLTB4MDAsMHhmZiwweDRjLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDBiLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDgwLDB4ZmYsMHgxMSwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHhmMCwweGZmLAotMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgxMCwweGZmLDB4MTEsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4ZTAsMHhmZiwKLTB4NDYsMHhmZiwweDgwLDB4ZmYsMHhmZiwweGZmLDB4MGEsMHhmZiwweDdhLDB4ZmYsMHgyNiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDM1LDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweDI0LDB4ZmYsMHgxMCwweGZmLDB4MjcsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgzMywweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHhjNSwweGZmLDB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4YzAsMHhmZiwKLTB4MTEsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NjAsMHhmZiwweDhkLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGQwLDB4ZmYsCi0weDAwLDB4ZmYsMHg0OCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLAotMHg0NywweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDQ4LDB4ZmYsMHhmZiwweGZmLDB4MDQsMHhmZiwKLTB4YTAsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDQ2LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDZhLDB4ZmYsCi0weDAwLDB4ZmYsMHgwYywweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgxZiwweGZmLAotMHgxMCwweGZmLDB4MjcsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MzQsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4ODUsMHhmZiwKLTB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4NDAsMHhmZiwweDExLDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDYwLDB4ZmYsCi0weDhkLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGQwLDB4ZmYsMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLAotMHg0NywweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDQ4LDB4ZmYsMHhmZiwweGZmLDB4MDQsMHhmZiwKLTB4YTAsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDQ2LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDZhLDB4ZmYsCi0weDAwLDB4ZmYsMHgwYywweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgxZiwweGZmLAotMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MTEsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NjAsMHhmZiwKLTB4OGQsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4ZDAsMHhmZiwweDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsCi0weDQ3LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4NDgsMHhmZiwweGZmLDB4ZmYsMHgwNCwweGZmLAotMHhhMCwweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4NDYsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NmEsMHhmZiwKLTB4MDAsMHhmZiwweDBjLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwweDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDFmLDB4ZmYsCi0weDAwLDB4ZmYsMHg0OCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHg4ZCwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHg4MCwweGZmLAotMHgwMCwweGZmLDB4NDgsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MGQsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4ZjAsMHhmZiwweDExLDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweGYwLDB4ZmYsCi0weDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDEwLDB4ZmYsMHgxMSwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHhlMCwweGZmLAotMHhmZiwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHhmMCwweGZmLDB4OTAsMHhmZiwweDI3LDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDEwLDB4ZmYsMHgyNywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDM3LDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweDQyLDB4ZmYsMHg0NiwweGZmLDB4ODAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHg4OSwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHhhMCwweGZmLDB4NDYsMHhmZiwweDgwLDB4ZmYsMHhmZiwweGZmLDB4MTAsMHhmZiwKLTB4ODksMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4YjAsMHhmZiwweDQ2LDB4ZmYsMHg4MCwweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsCi0weDg5LDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGMwLDB4ZmYsMHg0NiwweGZmLDB4ODAsMHhmZiwweGZmLDB4ZmYsMHgzMCwweGZmLAotMHg4OSwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHhkMCwweGZmLDB4NDYsMHhmZiwweDgwLDB4ZmYsMHhmZiwweGZmLDB4NDAsMHhmZiwKLTB4ODksMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4ZTAsMHhmZiwweDQ2LDB4ZmYsMHg4MCwweGZmLDB4ZmYsMHhmZiwweDUwLDB4ZmYsCi0weDg5LDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGYwLDB4ZmYsMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgxMCwweGZmLAotMHg4NiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHg2MCwweGZmLDB4OGQsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4NzAsMHhmZiwKLTB4NDcsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHg0OCwweGZmLDB4ZmYsMHhmZiwweDA0LDB4ZmYsCi0weGEwLDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg0NiwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg2YSwweGZmLAotMHgwMCwweGZmLDB4MGMsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLDB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MWYsMHhmZiwKLTB4MTAsMHhmZiwweDI3LDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDM5LDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweDIyLDB4ZmYsCi0weDQ2LDB4ZmYsMHg4MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHg4ZCwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLAotMHg0NiwweGZmLDB4ODAsMHhmZiwweGZmLDB4ZmYsMHgxMCwweGZmLDB4OGQsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4MzAsMHhmZiwKLTB4NDYsMHhmZiwweDgwLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwweDc4LDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDM4LDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweDg0LDB4ZmYsMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHg0NiwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLDB4MDAsMHhmZiwweDQ4LDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4OGQsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4NDAsMHhmZiwweDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsCi0weDQ3LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4NDgsMHhmZiwweGZmLDB4ZmYsMHgwNCwweGZmLAotMHhhMCwweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4NDYsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NmEsMHhmZiwKLTB4MDAsMHhmZiwweDBjLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwweDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDFmLDB4ZmYsCi0weDAwLDB4ZmYsMHg0OCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHg4ZCwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHg1MCwweGZmLAotMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MDAsMHhmZiwweDBjLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwKLTB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MWYsMHhmZiwweDAwLDB4ZmYsMHgwYywweGZmLDB4ZmYsMHhmZiwweDMwLDB4ZmYsCi0weDAwLDB4ZmYsMHg0OCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHg4YiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHg1MCwweGZmLAotMHgwMCwweGZmLDB4MGMsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLDB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MWYsMHhmZiwKLTB4OGQsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4NzAsMHhmZiwweDBmLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweGY0LDB4ZmYsCi0weGUwLDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg0MSwweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHgzMCwweGZmLAotMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLDB4MGYsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4ZTQsMHhmZiwKLTB4ZTAsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDQyLDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweDQwLDB4ZmYsCi0weDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsMHgwZiwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHhkNCwweGZmLAotMHhlMCwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4NDcsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4YTAsMHhmZiwKLTB4OGQsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4NzAsMHhmZiwweDBmLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweGM0LDB4ZmYsCi0weGUwLDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg0NiwweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHhkMCwweGZmLAotMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLDB4MGYsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4YjQsMHhmZiwKLTB4ZTAsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDQ4LDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweGUwLDB4ZmYsCi0weDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsMHgwZiwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHhhNCwweGZmLAotMHhlMCwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4NGEsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4NjAsMHhmZiwKLTB4OGQsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4NzAsMHhmZiwweDBmLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDk0LDB4ZmYsCi0weGUwLDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg0YywweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLDB4MGYsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4ODQsMHhmZiwKLTB4ZTAsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDRkLDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweGUwLDB4ZmYsCi0weDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsMHgwZiwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHg3NCwweGZmLAotMHhlMCwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4NGYsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwKLTB4OGQsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4NzAsMHhmZiwweDBmLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDY0LDB4ZmYsCi0weGUwLDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg0ZiwweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHhmMCwweGZmLAotMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLDB4MGUsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4ZjQsMHhmZiwKLTB4ZTAsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDQ0LDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweDQwLDB4ZmYsCi0weDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsMHgwZSwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHhlNCwweGZmLAotMHhlMCwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4NDUsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4NTAsMHhmZiwKLTB4OGQsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4NzAsMHhmZiwweDBhLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDA0LDB4ZmYsCi0weGUwLDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgzZCwweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHhkMCwweGZmLAotMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLDB4MGEsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MTQsMHhmZiwKLTB4ZTAsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDNmLDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweDEwLDB4ZmYsCi0weDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsMHgwYSwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgyNCwweGZmLAotMHhlMCwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4M2YsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4ODAsMHhmZiwKLTB4OGQsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4NzAsMHhmZiwweDBhLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDM0LDB4ZmYsCi0weGUwLDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgzZiwweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHhmMCwweGZmLAotMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLDB4MGEsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4NDQsMHhmZiwKLTB4ZTAsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDQwLDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweDYwLDB4ZmYsCi0weDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsMHg0NywweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4NDgsMHhmZiwweGZmLDB4ZmYsMHgwNCwweGZmLDB4YTAsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4NDYsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NmEsMHhmZiwweDAwLDB4ZmYsMHgwYywweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDFmLDB4ZmYsMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLAotMHg0NywweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDQ4LDB4ZmYsMHhmZiwweGZmLDB4MDQsMHhmZiwKLTB4YTAsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDQ2LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDZhLDB4ZmYsCi0weDAwLDB4ZmYsMHgwYywweGZmLDB4ZmYsMHhmZiwweDA4LDB4ZmYsMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHhmZiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHhmMCwweGZmLDB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4NDQsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NjAsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgyMSwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHg4MCwweGZmLAotMHhmZiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHhmMCwweGZmLDB4OGQsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4NzAsMHhmZiwKLTB4NDcsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHg0OCwweGZmLDB4ZmYsMHhmZiwweDA0LDB4ZmYsCi0weGEwLDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg0NiwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg2YSwweGZmLAotMHgyNSwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHg4MCwweGZmLDB4ZmYsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4ZjAsMHhmZiwKLTB4OGQsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4NzAsMHhmZiwweDQ3LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHg0OCwweGZmLDB4ZmYsMHhmZiwweDA0LDB4ZmYsMHhhMCwweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHg0NiwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg2YSwweGZmLDB4ZTksMHhmZiwweDQxLDB4ZmYsMHhmZiwweGZmLDB4ODAsMHhmZiwKLTB4ZmYsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4ZjAsMHhmZiwweDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsCi0weDQ3LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4NDgsMHhmZiwweGZmLDB4ZmYsMHgwNCwweGZmLAotMHhhMCwweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4NDYsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NmEsMHhmZiwKLTB4ZWQsMHhmZiwweDQxLDB4ZmYsMHhmZiwweGZmLDB4ODAsMHhmZiwweGZmLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGYwLDB4ZmYsCi0weDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsMHg0NywweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4NDgsMHhmZiwweGZmLDB4ZmYsMHgwNCwweGZmLDB4YTAsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4NDYsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NmEsMHhmZiwweDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDQ0LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDYwLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweGYxLDB4ZmYsMHg0MSwweGZmLDB4ZmYsMHhmZiwweDgwLDB4ZmYsCi0weGZmLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGYwLDB4ZmYsMHg0NiwweGZmLDB4ODQsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MzQsMHhmZiwweGZmLDB4ZmYsMHgwOCwweGZmLDB4MDAsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MDMsMHhmZiwKLTB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHg0NiwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg2MCwweGZmLDB4ZjcsMHhmZiwweDRmLDB4ZmYsMHhmZiwweGZmLDB4ZjQsMHhmZiwKLTB4NDYsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NzQsMHhmZiwweDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsCi0weDQ3LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4NDgsMHhmZiwweGZmLDB4ZmYsMHgwNCwweGZmLAotMHhhMCwweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4NDYsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NmEsMHhmZiwKLTB4MDAsMHhmZiwweDBjLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwweDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDFmLDB4ZmYsCi0weDQ2LDB4ZmYsMHg4NCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MzQsMHhmZiwweGZmLDB4ZmYsMHgwOCwweGZmLAotMHgwMCwweGZmLDB4MzQsMHhmZiwweGZmLDB4ZmYsMHgwNiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHg0NiwweGZmLDB4ODAsMHhmZiwweGZmLDB4ZmYsMHgxMCwweGZmLAotMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweDAyLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDIyLDB4ZmYsCi0weDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4NDYsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NjIsMHhmZiwweGY3LDB4ZmYsMHg0ZiwweGZmLDB4ZmYsMHhmZiwweGY0LDB4ZmYsCi0weDQ2LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDc0LDB4ZmYsMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLAotMHg0NywweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDQ4LDB4ZmYsMHhmZiwweGZmLDB4MDQsMHhmZiwKLTB4YTAsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDQ2LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDZhLDB4ZmYsCi0weDAwLDB4ZmYsMHgwYywweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgxZiwweGZmLAotMHg0NiwweGZmLDB4ODgsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDM4LDB4ZmYsMHhmZiwweGZmLDB4MDgsMHhmZiwKLTB4MDAsMHhmZiwweDUwLDB4ZmYsMHhmZiwweGZmLDB4MDMsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4NDYsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NjAsMHhmZiwKLTB4ZjcsMHhmZiwweDRmLDB4ZmYsMHhmZiwweGZmLDB4ZjQsMHhmZiwweDQ2LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDc0LDB4ZmYsCi0weDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsMHg0NywweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4NDgsMHhmZiwweGZmLDB4ZmYsMHgwNCwweGZmLDB4YTAsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4NDYsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NmEsMHhmZiwweDAwLDB4ZmYsMHgwYywweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDFmLDB4ZmYsMHg0NiwweGZmLDB4ODgsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MzgsMHhmZiwweGZmLDB4ZmYsMHgwOCwweGZmLDB4MDAsMHhmZiwweDM4LDB4ZmYsMHhmZiwweGZmLDB4MDQsMHhmZiwKLTB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHg0NiwweGZmLDB4ODAsMHhmZiwweGZmLDB4ZmYsMHgxMCwweGZmLDB4MDAsMHhmZiwweDU4LDB4ZmYsMHhmZiwweGZmLDB4MDMsMHhmZiwKLTB4MDAsMHhmZiwweDUwLDB4ZmYsMHhmZiwweGZmLDB4MjMsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4NDYsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NjIsMHhmZiwKLTB4ZjcsMHhmZiwweDRmLDB4ZmYsMHhmZiwweGZmLDB4ZjQsMHhmZiwweDQ2LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDc0LDB4ZmYsCi0weDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsMHg0NywweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4NDgsMHhmZiwweGZmLDB4ZmYsMHgwNCwweGZmLDB4YTAsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4NDYsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NmEsMHhmZiwweDAwLDB4ZmYsMHgwYywweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDFmLDB4ZmYsMHg0NiwweGZmLDB4ODAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHhmZiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHhlMCwweGZmLDB4ZmYsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4ZTIsMHhmZiwKLTB4NDYsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NjIsMHhmZiwweGY3LDB4ZmYsMHg0ZiwweGZmLDB4ZmYsMHhmZiwweGY0LDB4ZmYsCi0weDQ2LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDc0LDB4ZmYsMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLAotMHg0NywweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDQ4LDB4ZmYsMHhmZiwweGZmLDB4MDQsMHhmZiwKLTB4YTAsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDQ2LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDZhLDB4ZmYsCi0weDAwLDB4ZmYsMHgwYywweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgxZiwweGZmLAotMHgwMywweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHg0NiwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg2MCwweGZmLAotMHgwYywweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHhmMCwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHhmNywweGZmLDB4NGYsMHhmZiwweGZmLDB4ZmYsMHhmNCwweGZmLAotMHg0NiwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg3NCwweGZmLDB4OGQsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4NzAsMHhmZiwKLTB4NDcsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHg0OCwweGZmLDB4ZmYsMHhmZiwweDA0LDB4ZmYsCi0weGEwLDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg0NiwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg2YSwweGZmLAotMHgwMCwweGZmLDB4MGMsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLDB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MWYsMHhmZiwKLTB4NDYsMHhmZiwweDgwLDB4ZmYsMHhmZiwweGZmLDB4MDIsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHg0NiwweGZmLDB4ODAsMHhmZiwweGZmLDB4ZmYsMHgxMywweGZmLAotMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MTEsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NjAsMHhmZiwKLTB4OGQsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4ZDAsMHhmZiwweDExLDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweGYyLDB4ZmYsCi0weDExLDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweGUzLDB4ZmYsMHhmNywweGZmLDB4NGYsMHhmZiwweGZmLDB4ZmYsMHhmNCwweGZmLAotMHg0NiwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg3NCwweGZmLDB4OGQsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4NzAsMHhmZiwKLTB4NDcsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHg0OCwweGZmLDB4ZmYsMHhmZiwweDA0LDB4ZmYsCi0weGEwLDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg0NiwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg2YSwweGZmLAotMHgwMCwweGZmLDB4MGMsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLDB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MWYsMHhmZiwKLTB4NDYsMHhmZiwweDg0LDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgzNCwweGZmLDB4ZmYsMHhmZiwweDA4LDB4ZmYsCi0weDAwLDB4ZmYsMHgzNCwweGZmLDB4ZmYsMHhmZiwweDA2LDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDQ2LDB4ZmYsMHg4MCwweGZmLDB4ZmYsMHhmZiwweDEwLDB4ZmYsCi0weGZmLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGUwLDB4ZmYsMHgwMCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHgyMiwweGZmLAotMHg2NywweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4ZTAsMHhmZiwKLTB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHg0NiwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg2MiwweGZmLDB4ZjcsMHhmZiwweDRmLDB4ZmYsMHhmZiwweGZmLDB4ZjQsMHhmZiwKLTB4NDYsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NzQsMHhmZiwweDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsCi0weDQ3LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4NDgsMHhmZiwweGZmLDB4ZmYsMHgwNCwweGZmLAotMHhhMCwweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4NDYsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NmEsMHhmZiwKLTB4MDAsMHhmZiwweDBjLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwweDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDFmLDB4ZmYsCi0weDQ2LDB4ZmYsMHg4NCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MzQsMHhmZiwweGZmLDB4ZmYsMHgwOCwweGZmLAotMHgwMCwweGZmLDB4MzQsMHhmZiwweGZmLDB4ZmYsMHgwNiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDQ2LDB4ZmYsMHg4MCwweGZmLDB4ZmYsMHhmZiwweDEwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4NDYsMHhmZiwweDgwLDB4ZmYsMHhmZiwweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGUwLDB4ZmYsCi0weDAwLDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweDMyLDB4ZmYsMHgwMCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHg3MiwweGZmLAotMHg2NywweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4ZTAsMHhmZiwKLTB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHg0NiwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg2NywweGZmLDB4ZjcsMHhmZiwweDRmLDB4ZmYsMHhmZiwweGZmLDB4ZjQsMHhmZiwKLTB4NDYsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NzQsMHhmZiwweDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsCi0weDQ3LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4NDgsMHhmZiwweGZmLDB4ZmYsMHgwNCwweGZmLAotMHhhMCwweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4NDYsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NmEsMHhmZiwKLTB4MDAsMHhmZiwweDBjLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwweDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDFmLDB4ZmYsCi0weDQ2LDB4ZmYsMHg4MCwweGZmLDB4ZmYsMHhmZiwweDA1LDB4ZmYsMHgwMywweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDBjLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweGY1LDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweGY3LDB4ZmYsMHg0ZiwweGZmLDB4ZmYsMHhmZiwweGY0LDB4ZmYsCi0weDQ2LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDc0LDB4ZmYsMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLAotMHg0NywweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDQ4LDB4ZmYsMHhmZiwweGZmLDB4MDQsMHhmZiwKLTB4YTAsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDQ2LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDZhLDB4ZmYsCi0weDAwLDB4ZmYsMHgwYywweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgxZiwweGZmLAotMHg0NiwweGZmLDB4ODAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4OGQsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4YzAsMHhmZiwKLTB4OGQsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4YzcsMHhmZiwweDQ2LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDY3LDB4ZmYsCi0weGY3LDB4ZmYsMHg0ZiwweGZmLDB4ZmYsMHhmZiwweGY0LDB4ZmYsMHg0NiwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg3NCwweGZmLAotMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLDB4NDcsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDQ4LDB4ZmYsMHhmZiwweGZmLDB4MDQsMHhmZiwweGEwLDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDQ2LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDZhLDB4ZmYsMHgwMCwweGZmLDB4MGMsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLAotMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgxZiwweGZmLDB4NDYsMHhmZiwweDgwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4OGQsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4ZTAsMHhmZiwweDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweGU3LDB4ZmYsCi0weDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4NDYsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NjcsMHhmZiwweGY3LDB4ZmYsMHg0ZiwweGZmLDB4ZmYsMHhmZiwweGY0LDB4ZmYsCi0weDQ2LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDc0LDB4ZmYsMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLAotMHg0NywweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDQ4LDB4ZmYsMHhmZiwweGZmLDB4MDQsMHhmZiwKLTB4YTAsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDQ2LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDZhLDB4ZmYsCi0weDAwLDB4ZmYsMHgwYywweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgxZiwweGZmLAotMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHhkMCwweGZmLDB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MjQsMHhmZiwKLTB4YTAsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDExLDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDZhLDB4ZmYsCi0weDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDE0LDB4ZmYsMHgxOCwweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHg1MSwweGZmLDB4MTQsMHhmZiwweGZmLDB4ZmYsMHg4MSwweGZmLDB4OTAsMHhmZiwweDgwLDB4ZmYsMHhmZiwweGZmLDB4NjAsMHhmZiwKLTB4ODAsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweGQwLDB4ZmYsCi0weDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDE0LDB4ZmYsMHhhMCwweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgxMSwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg2YSwweGZmLDB4MzAsMHhmZiwweDBjLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MTYsMHhmZiwweDEwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDA3LDB4ZmYsCi0weDkwLDB4ZmYsMHgzNCwweGZmLDB4ZmYsMHhmZiwweDcxLDB4ZmYsMHgwMCwweGZmLDB4MzQsMHhmZiwweGZmLDB4ZmYsMHgwOSwweGZmLAotMHgwZiwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHhmNSwweGZmLDB4MDAsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MDcsMHhmZiwKLTB4ODgsMHhmZiwweDYzLDB4ZmYsMHhmZiwweGZmLDB4MjcsMHhmZiwweGU4LDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDA3LDB4ZmYsCi0weDYyLDB4ZmYsMHg2MSwweGZmLDB4ZmYsMHhmZiwweDI3LDB4ZmYsMHg4OCwweGZmLDB4MmIsMHhmZiwweGZmLDB4ZmYsMHg4YiwweGZmLAotMHhlOCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHgwNywweGZmLDB4NjIsMHhmZiwweDYxLDB4ZmYsMHhmZiwweGZmLDB4MTcsMHhmZiwKLTB4ODgsMHhmZiwweDJmLDB4ZmYsMHhmZiwweGZmLDB4ZmIsMHhmZiwweDg5LDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDk4LDB4ZmYsMHgyMCwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHhlYSwweGZmLDB4MjAsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHhhYiwweGZmLDB4MDAsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4YjgsMHhmZiwKLTB4MDAsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4Y2YsMHhmZiwweDYyLDB4ZmYsMHgyMSwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDEwLDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg2MiwweGZmLDB4MjEsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgyNCwweGZmLDB4OTAsMHhmZiwweDgwLDB4ZmYsMHhmZiwweGZmLDB4NjAsMHhmZiwKLTB4ODAsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDUxLDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDhiLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGViLDB4ZmYsMHg4YiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHhmYywweGZmLAotMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4NTEsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4OGQsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4YWMsMHhmZiwweDgyLDB4ZmYsMHgzYywweGZmLDB4ZmYsMHhmZiwweDQ1LDB4ZmYsCi0weDU0LDB4ZmYsMHgxNCwweGZmLDB4ZmYsMHhmZiwweDJlLDB4ZmYsMHhmZiwweGZmLDB4M2YsMHhmZiwweGZmLDB4ZmYsMHhmNSwweGZmLAotMHg1NCwweGZmLDB4MTQsMHhmZiwweGZmLDB4ZmYsMHgxZSwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDUxLDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDAwLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDBjLDB4ZmYsMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHhhNCwweGZmLAotMHhlMCwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4NTMsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4YjMsMHhmZiwKLTB4OGQsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4ZDAsMHhmZiwweDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDI0LDB4ZmYsCi0weGEwLDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHhiYSwweGZmLAotMHg4YiwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHhmNSwweGZmLDB4MTEsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NmIsMHhmZiwKLTB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MTQsMHhmZiwweDE4LDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDU1LDB4ZmYsMHgxNCwweGZmLDB4ZmYsMHhmZiwweDIxLDB4ZmYsMHg5MCwweGZmLDB4ODAsMHhmZiwweGZmLDB4ZmYsMHg2MCwweGZmLAotMHg4MCwweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwKLTB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MDEsMHhmZiwweDhiLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweGU0LDB4ZmYsCi0weDhiLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweGY1LDB4ZmYsMHgwOCwweGZmLDB4MGMsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHg2MCwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4NDksMHhmZiwweDJhLDB4ZmYsMHhmZiwweGZmLDB4ZWEsMHhmZiwKLTB4MDAsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4NGUsMHhmZiwweDhiLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGVlLDB4ZmYsCi0weDAwLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDVhLDB4ZmYsMHg4YiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHhmYSwweGZmLAotMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLDB4OGQsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4MzEsMHhmZiwKLTB4ZTAsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweGM5LDB4ZmYsMHgyYSwweGZmLDB4ZmYsMHhmZiwweGVhLDB4ZmYsCi0weDU0LDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweGQ1LDB4ZmYsMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHg0ZSwweGZmLAotMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHg1YSwweGZmLDB4ODIsMHhmZiwweDRmLDB4ZmYsMHhmZiwweGZmLDB4ZjAsMHhmZiwKLTB4ZmYsMHhmZiwweDRmLDB4ZmYsMHhmZiwweGZmLDB4ZjEsMHhmZiwweGUwLDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weGM5LDB4ZmYsMHgyYSwweGZmLDB4ZmYsMHhmZiwweGVhLDB4ZmYsMHg1NiwweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHhiNCwweGZmLAotMHg1NCwweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHhkZiwweGZmLDB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwKLTB4NDcsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwweDBjLDB4ZmYsMHgwYywweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAyLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDYwLDB4ZmYsMHgxMSwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLAotMHgxNiwweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHg0ZiwweGZmLDB4OGQsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4ZDAsMHhmZiwKLTB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MjQsMHhmZiwweGEwLDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDExLDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDZhLDB4ZmYsMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgxNCwweGZmLAotMHgxOCwweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4NTcsMHhmZiwweDE0LDB4ZmYsMHhmZiwweGZmLDB4OTEsMHhmZiwKLTB4OTAsMHhmZiwweDgwLDB4ZmYsMHhmZiwweGZmLDB4NjAsMHhmZiwweDgwLDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweGQwLDB4ZmYsMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgxNCwweGZmLAotMHhhMCwweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MTEsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NmEsMHhmZiwKLTB4MzAsMHhmZiwweDBjLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDE2LDB4ZmYsCi0weDEwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDA3LDB4ZmYsMHg5MCwweGZmLDB4MzQsMHhmZiwweGZmLDB4ZmYsMHg3MSwweGZmLAotMHgwMCwweGZmLDB4MzQsMHhmZiwweGZmLDB4ZmYsMHgwOSwweGZmLDB4MGYsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4ZjUsMHhmZiwKLTB4MDAsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MDcsMHhmZiwweDg4LDB4ZmYsMHg2MywweGZmLDB4ZmYsMHhmZiwweDI3LDB4ZmYsCi0weGU4LDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDA3LDB4ZmYsMHg2MiwweGZmLDB4NjEsMHhmZiwweGZmLDB4ZmYsMHgyNywweGZmLAotMHg4OCwweGZmLDB4MmIsMHhmZiwweGZmLDB4ZmYsMHg4YiwweGZmLDB4ZTgsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MDcsMHhmZiwKLTB4NjIsMHhmZiwweDYxLDB4ZmYsMHhmZiwweGZmLDB4MTcsMHhmZiwweDg4LDB4ZmYsMHgyZiwweGZmLDB4ZmYsMHhmZiwweGZiLDB4ZmYsCi0weDg5LDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg5OCwweGZmLDB4MjAsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHhlYSwweGZmLDB4MjAsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MDAsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4YWIsMHhmZiwKLTB4MDAsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4YjgsMHhmZiwweDAwLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweGNmLDB4ZmYsCi0weDYyLDB4ZmYsMHgyMSwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgxMCwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHg2MiwweGZmLDB4MjEsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MjQsMHhmZiwKLTB4OTAsMHhmZiwweDgwLDB4ZmYsMHhmZiwweGZmLDB4NjAsMHhmZiwweDgwLDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDU3LDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweDEwLDB4ZmYsMHg4YiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHhlYiwweGZmLAotMHg4YiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHhmYywweGZmLDB4NWMsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4M2YsMHhmZiwKLTB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDU3LDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweDFmLDB4ZmYsCi0weDhkLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGFjLDB4ZmYsMHg4MiwweGZmLDB4M2MsMHhmZiwweGZmLDB4ZmYsMHg0NSwweGZmLAotMHg1YSwweGZmLDB4MTQsMHhmZiwweGZmLDB4ZmYsMHg0ZSwweGZmLDB4ZmYsMHhmZiwweDNmLDB4ZmYsMHhmZiwweGZmLDB4ZjUsMHhmZiwKLTB4NWEsMHhmZiwweDE0LDB4ZmYsMHhmZiwweGZmLDB4M2UsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHg1NywweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHgxZiwweGZmLAotMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHgwYywweGZmLDB4OGQsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4YTQsMHhmZiwKLTB4ZTAsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDU5LDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweGQzLDB4ZmYsCi0weDVjLDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweDNmLDB4ZmYsMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHhkMCwweGZmLAotMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgyNCwweGZmLDB4YTAsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MDAsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4YmEsMHhmZiwweDhiLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweGY1LDB4ZmYsCi0weDVjLDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweDNmLDB4ZmYsMHgxMSwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg2YiwweGZmLAotMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgxNCwweGZmLDB4MTgsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4NWIsMHhmZiwweDE0LDB4ZmYsMHhmZiwweGZmLDB4NjEsMHhmZiwweDkwLDB4ZmYsMHg4MCwweGZmLDB4ZmYsMHhmZiwweDYwLDB4ZmYsCi0weDgwLDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLAotMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgwMSwweGZmLDB4OGIsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4ZTQsMHhmZiwKLTB4OGIsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4ZjUsMHhmZiwweDA4LDB4ZmYsMHgwYywweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDYwLDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg0OSwweGZmLDB4MmEsMHhmZiwweGZmLDB4ZmYsMHhlYSwweGZmLAotMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHg0ZSwweGZmLDB4OGIsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4ZWUsMHhmZiwKLTB4OGIsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4ZmEsMHhmZiwweDVlLDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDViLDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg4YiwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLAotMHg3OCwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MGQsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4MDUsMHhmZiwKLTB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDA4LDB4ZmYsMHgwYywweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDE0LDB4ZmYsMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgwNSwweGZmLAotMHg4YiwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHhlMCwweGZmLDB4OGIsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4ZjEsMHhmZiwKLTB4NjAsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDQ5LDB4ZmYsMHgyYSwweGZmLDB4ZmYsMHhmZiwweGVhLDB4ZmYsCi0weDhiLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGZhLDB4ZmYsMHg4YiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHhlZSwweGZmLAotMHgwYywweGZmLDB4MGMsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MDgsMHhmZiwweDBjLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDE0LDB4ZmYsCi0weDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDA1LDB4ZmYsMHg4YiwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHhlMCwweGZmLAotMHg4YiwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHhmMSwweGZmLDB4NjAsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4NDksMHhmZiwweDJhLDB4ZmYsMHhmZiwweGZmLDB4ZWEsMHhmZiwweDhiLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGZhLDB4ZmYsCi0weDhiLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGVlLDB4ZmYsMHgwYywweGZmLDB4MGMsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg0MCwweGZmLDB4NzgsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4NWUsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4MDQsMHhmZiwweDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDA4LDB4ZmYsMHgwYywweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg1MCwweGZmLAotMHg3OCwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4NWYsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4NTQsMHhmZiwKLTB4MGYsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4ZjUsMHhmZiwweDkwLDB4ZmYsMHg4MCwweGZmLDB4ZmYsMHhmZiwweGE4LDB4ZmYsCi0weDEwLDB4ZmYsMHgwZiwweGZmLDB4ZmYsMHhmZiwweDA4LDB4ZmYsMHg5MCwweGZmLDB4ODAsMHhmZiwweGZmLDB4ZmYsMHg5MCwweGZmLAotMHg4OCwweGZmLDB4MjcsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4YjYsMHhmZiwweDI3LDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4OGIsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4ZmEsMHhmZiwweGYyLDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDAwLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDBhLDB4ZmYsMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgxNCwweGZmLAotMHhlMiwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4NzQsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4ZTIsMHhmZiwKLTB4MzgsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDI0LDB4ZmYsCi0weGUyLDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg3NCwweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHhlMiwweGZmLAotMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MGYsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4ZjUsMHhmZiwKLTB4OTAsMHhmZiwweDgwLDB4ZmYsMHhmZiwweGZmLDB4ODAsMHhmZiwweDhiLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweGUyLDB4ZmYsCi0weDg4LDB4ZmYsMHgyNywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg5OCwweGZmLDB4MjAsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgxMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgwNywweGZmLDB4ZTgsMHhmZiwweDIwLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MDAsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4YWMsMHhmZiwweGYyLDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDAwLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDBhLDB4ZmYsMHgwMSwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgwNCwweGZmLAotMHhlMiwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4NzQsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4ZTIsMHhmZiwKLTB4MzgsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDAyLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDA0LDB4ZmYsCi0weGUyLDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg3NCwweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHhlMiwweGZmLAotMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MDAsMHhmZiwweDM0LDB4ZmYsMHhmZiwweGZmLDB4MDgsMHhmZiwKLTB4MDAsMHhmZiwweDM0LDB4ZmYsMHhmZiwweGZmLDB4ZDQsMHhmZiwweDAwLDB4ZmYsMHgzNCwweGZmLDB4ZmYsMHhmZiwweDg1LDB4ZmYsCi0weGZmLDB4ZmYsMHg0ZiwweGZmLDB4ZmYsMHhmZiwweDg5LDB4ZmYsMHgwMCwweGZmLDB4MDksMHhmZiwweGZmLDB4ZmYsMHgwMSwweGZmLAotMHg4OSwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHhiOCwweGZmLDB4MDAsMHhmZiwweDBlLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MDAsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4NGUsMHhmZiwweGE3LDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDAwLDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweGEzLDB4ZmYsMHg4OSwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHhhOCwweGZmLAotMHgwMCwweGZmLDB4MGUsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MDAsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4NGUsMHhmZiwKLTB4YTcsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDAwLDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweGEzLDB4ZmYsCi0weDAwLDB4ZmYsMHgwOSwweGZmLDB4ZmYsMHhmZiwweDAzLDB4ZmYsMHg4YiwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHhiMCwweGZmLAotMHgwMCwweGZmLDB4NjgsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MDIsMHhmZiwweDM1LDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgzNCwweGZmLDB4ZmYsMHhmZiwweDA4LDB4ZmYsCi0weDAwLDB4ZmYsMHgzNCwweGZmLDB4ZmYsMHhmZiwweDI2LDB4ZmYsMHg4OSwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHhkOCwweGZmLAotMHgwMCwweGZmLDB4MGUsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MDAsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4NGUsMHhmZiwKLTB4YTcsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDAwLDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweGEzLDB4ZmYsCi0weDg5LDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweGM4LDB4ZmYsMHgwMCwweGZmLDB4MGUsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHg0ZSwweGZmLDB4YTcsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MDAsMHhmZiwweDY4LDB4ZmYsMHhmZiwweGZmLDB4YTMsMHhmZiwweDAwLDB4ZmYsMHgwOSwweGZmLDB4ZmYsMHhmZiwweDAzLDB4ZmYsCi0weDhiLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweGQwLDB4ZmYsMHgwMCwweGZmLDB4NjgsMHhmZiwweGZmLDB4ZmYsMHgwMiwweGZmLAotMHgwMSwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHg4MCwweGZmLDB4MDAsMHhmZiwweDY4LDB4ZmYsMHhmZiwweGZmLDB4MDIsMHhmZiwKLTB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwweDAwLDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweDAzLDB4ZmYsCi0weDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgxMCwweGZmLAotMHg4YiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHg0MCwweGZmLDB4MzAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4NDksMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NDAsMHhmZiwweDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDYwLDB4ZmYsMHgwMCwweGZmLDB4OTEsMHhmZiwweGZmLDB4ZmYsMHhmMCwweGZmLAotMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MDEsMHhmZiwweDQyLDB4ZmYsMHhmZiwweGZmLDB4ODAsMHhmZiwKLTB4MDAsMHhmZiwweDkxLDB4ZmYsMHhmZiwweGZmLDB4NzAsMHhmZiwweDA3LDB4ZmYsMHg0MiwweGZmLDB4ZmYsMHhmZiwweDgwLDB4ZmYsCi0weDAzLDB4ZmYsMHg5MSwweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsMHgwMiwweGZmLDB4NDIsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4OTEsMHhmZiwweGZmLDB4ZmYsMHhmMCwweGZmLDB4MDgsMHhmZiwweDQyLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDMsMHhmZiwweDkxLDB4ZmYsMHhmZiwweGZmLDB4ZjAsMHhmZiwweDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsCi0weDAxLDB4ZmYsMHg5MSwweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLAotMHgwNCwweGZmLDB4OTEsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLDB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MDQsMHhmZiwweDQyLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDQ5LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsCi0weDYyLDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLDB4MDAsMHhmZiwweDkxLDB4ZmYsMHhmZiwweGZmLDB4ZjAsMHhmZiwKLTB4MDEsMHhmZiwweDQyLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDQ5LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsCi0weDYyLDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHg0MCwweGZmLDB4OGIsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4ODAsMHhmZiwKLTB4MDUsMHhmZiwweDM1LDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDkyLDB4ZmYsMHgzYiwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgzNCwweGZmLDB4ZmYsMHhmZiwweDA4LDB4ZmYsMHgwMCwweGZmLDB4MzgsMHhmZiwweGZmLDB4ZmYsMHgwOCwweGZmLAotMHgwMCwweGZmLDB4M2MsMHhmZiwweGZmLDB4ZmYsMHg2NSwweGZmLDB4NjUsMHhmZiwweDE0LDB4ZmYsMHhmZiwweGZmLDB4OWUsMHhmZiwKLTB4MDAsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MDMsMHhmZiwweDAwLDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDEzLDB4ZmYsCi0weDAwLDB4ZmYsMHg3OCwweGZmLDB4ZmYsMHhmZiwweDEzLDB4ZmYsMHgwMCwweGZmLDB4NzgsMHhmZiwweGZmLDB4ZmYsMHgwMywweGZmLAotMHgwMSwweGZmLDB4NDIsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4NDksMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwKLTB4NjIsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4ZmYsMHhmZiwweDA1LDB4ZmYsMHg4MSwweGZmLDB4ZmYsMHhmZiwweGMwLDB4ZmYsCi0weDc4LDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgyMSwweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHg3MSwweGZmLAotMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4NDksMHhmZiwweDgwLDB4ZmYsMHhmZiwweGZmLDB4NDgsMHhmZiwKLTB4MTAsMHhmZiwweDBmLDB4ZmYsMHhmZiwweGZmLDB4MDMsMHhmZiwweDY2LDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDc0LDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweDU0LDB4ZmYsMHg4NiwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHhjMCwweGZmLAotMHg0OSwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLDB4NjIsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4ZmYsMHhmZiwKLTB4ODYsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4ODAsMHhmZiwweDAxLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDA0LDB4ZmYsCi0weGUwLDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg4NiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHg4YSwweGZmLAotMHg2NywweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4ODYsMHhmZiwweDg3LDB4ZmYsMHhmZiwweGZmLDB4ZDAsMHhmZiwKLTB4NzUsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4MWYsMHhmZiwweDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDAwLDB4ZmYsMHg0OCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHg4MiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHg0MCwweGZmLAotMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MDgsMHhmZiwweDBjLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4ODYsMHhmZiwweDhiLDB4ZmYsMHhmZiwweGZmLDB4YjAsMHhmZiwweDAwLDB4ZmYsMHgzOCwweGZmLDB4ZmYsMHhmZiwweDA4LDB4ZmYsCi0weDAwLDB4ZmYsMHgzOCwweGZmLDB4ZmYsMHhmZiwweGY0LDB4ZmYsMHhmZiwweGZmLDB4NGYsMHhmZiwweGZmLDB4ZmYsMHg4OSwweGZmLAotMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg2MCwweGZmLDB4ODksMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4NDQsMHhmZiwKLTB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MDEsMHhmZiwweDg5LDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDU1LDB4ZmYsCi0weDYwLDB4ZmYsMHgyNiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg0OSwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgwMCwweGZmLDB4NzgsMHhmZiwweGZmLDB4ZmYsMHhhMywweGZmLDB4MTAsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MDAsMHhmZiwweDc4LDB4ZmYsMHhmZiwweGZmLDB4YTAsMHhmZiwweDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDYwLDB4ZmYsCi0weDg5LDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDI0LDB4ZmYsMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgwMSwweGZmLAotMHg4OSwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHgzNSwweGZmLDB4NjAsMHhmZiwweDI2LDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4NDksMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDAwLDB4ZmYsMHg3OCwweGZmLDB4ZmYsMHhmZiwweGEzLDB4ZmYsCi0weDEwLDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgwMCwweGZmLDB4NzgsMHhmZiwweGZmLDB4ZmYsMHhhMywweGZmLAotMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg2MCwweGZmLDB4MjAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MDQsMHhmZiwKLTB4NjAsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDhkLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDZhLDB4ZmYsCi0weDBjLDB4ZmYsMHgwYywweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgwOCwweGZmLDB4MGMsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4ODYsMHhmZiwweDg3LDB4ZmYsMHhmZiwweGZmLDB4YjAsMHhmZiwKLTB4MDAsMHhmZiwweDM0LDB4ZmYsMHhmZiwweGZmLDB4MDgsMHhmZiwweDAxLDB4ZmYsMHgzNCwweGZmLDB4ZmYsMHhmZiwweDA0LDB4ZmYsCi0weDAwLDB4ZmYsMHgzNCwweGZmLDB4ZmYsMHhmZiwweDM1LDB4ZmYsMHhmZiwweGZmLDB4NGYsMHhmZiwweGZmLDB4ZmYsMHg4OSwweGZmLAotMHgwMCwweGZmLDB4MDksMHhmZiwweGZmLDB4ZmYsMHgwMSwweGZmLDB4ODcsMHhmZiwweDhiLDB4ZmYsMHhmZiwweGZmLDB4ZTAsMHhmZiwKLTB4MDAsMHhmZiwweDM4LDB4ZmYsMHhmZiwweGZmLDB4ODgsMHhmZiwweDAwLDB4ZmYsMHg3MCwweGZmLDB4ZmYsMHhmZiwweDAzLDB4ZmYsCi0weDAwLDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4NzAsMHhmZiwweGZmLDB4ZmYsMHgwMywweGZmLAotMHgwMCwweGZmLDB4NjgsMHhmZiwweGZmLDB4ZmYsMHgwMywweGZmLDB4ODcsMHhmZiwweDliLDB4ZmYsMHhmZiwweGZmLDB4ZTAsMHhmZiwKLTB4MGMsMHhmZiwweDBjLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDAxLDB4ZmYsMHgzYywweGZmLDB4ZmYsMHhmZiwweDA1LDB4ZmYsMHg2YSwweGZmLDB4MTQsMHhmZiwweGZmLDB4ZmYsMHg5ZSwweGZmLAotMHg2NywweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHgzZiwweGZmLDB4NjksMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4NjYsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4MWYsMHhmZiwweDM4LDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDZhLDB4ZmYsMHgxNCwweGZmLDB4ZmYsMHhmZiwweDg1LDB4ZmYsMHg4YiwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg0MCwweGZmLAotMHg3OCwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDgyLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDQwLDB4ZmYsCi0weDc4LDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg2YSwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHhmNCwweGZmLAotMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MTAsMHhmZiwKLTB4NDcsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwweDg3LDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweGYwLDB4ZmYsCi0weDg2LDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDgwLDB4ZmYsMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHg4ZCwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHg2MCwweGZmLDB4ODIsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4NDAsMHhmZiwKLTB4ODYsMHhmZiwweDg3LDB4ZmYsMHhmZiwweGZmLDB4OTAsMHhmZiwweDAyLDB4ZmYsMHgzNCwweGZmLDB4ZmYsMHhmZiwweDA4LDB4ZmYsCi0weDAwLDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDAzLDB4ZmYsMHg4OSwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLAotMHgwMCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHgwMywweGZmLDB4ODksMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4MzAsMHhmZiwKLTB4MDAsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MDMsMHhmZiwweDg5LDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDQwLDB4ZmYsCi0weDAwLDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDAzLDB4ZmYsMHg4OSwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHg1MCwweGZmLAotMHg4NiwweGZmLDB4OTcsMHhmZiwweGZmLDB4ZmYsMHg5MCwweGZmLDB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MDAsMHhmZiwweDM0LDB4ZmYsMHhmZiwweGZmLDB4NjQsMHhmZiwweDAwLDB4ZmYsMHgzNCwweGZmLDB4ZmYsMHhmZiwweDM1LDB4ZmYsCi0weDAxLDB4ZmYsMHgzNCwweGZmLDB4ZmYsMHhmZiwweDk2LDB4ZmYsMHgwMCwweGZmLDB4MzgsMHhmZiwweGZmLDB4ZmYsMHgzNCwweGZmLAotMHgwMCwweGZmLDB4MzgsMHhmZiwweGZmLDB4ZmYsMHg2NSwweGZmLDB4MDEsMHhmZiwweDM4LDB4ZmYsMHhmZiwweGZmLDB4OTYsMHhmZiwKLTB4MDAsMHhmZiwweDM4LDB4ZmYsMHhmZiwweGZmLDB4MDgsMHhmZiwweDAyLDB4ZmYsMHgzNCwweGZmLDB4ZmYsMHhmZiwweDQ5LDB4ZmYsCi0weDAyLDB4ZmYsMHgzOCwweGZmLDB4ZmYsMHhmZiwweDQ5LDB4ZmYsMHgxMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgwNiwweGZmLAotMHgxMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgwMiwweGZmLDB4MzAsMHhmZiwweDBjLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDNjLDB4ZmYsMHhmZiwweGZmLDB4MjUsMHhmZiwweDZkLDB4ZmYsMHgxNCwweGZmLDB4ZmYsMHhmZiwweGJlLDB4ZmYsCi0weDk4LDB4ZmYsMHg1MCwweGZmLDB4ZmYsMHhmZiwweDczLDB4ZmYsMHg4OCwweGZmLDB4NTAsMHhmZiwweGZmLDB4ZmYsMHg3MywweGZmLAotMHg4MywweGZmLDB4NjgsMHhmZiwweGZmLDB4ZmYsMHhjNSwweGZmLDB4ODgsMHhmZiwweDY4LDB4ZmYsMHhmZiwweGZmLDB4YzQsMHhmZiwKLTB4ODMsMHhmZiwweDY4LDB4ZmYsMHhmZiwweGZmLDB4YzUsMHhmZiwweDAwLDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweGM2LDB4ZmYsCi0weDk4LDB4ZmYsMHg1MCwweGZmLDB4ZmYsMHhmZiwweDczLDB4ZmYsMHg4OCwweGZmLDB4NTAsMHhmZiwweGZmLDB4ZmYsMHg3MywweGZmLAotMHg4MywweGZmLDB4NzgsMHhmZiwweGZmLDB4ZmYsMHhjNCwweGZmLDB4ODgsMHhmZiwweDc4LDB4ZmYsMHhmZiwweGZmLDB4YzUsMHhmZiwKLTB4ODMsMHhmZiwweDc4LDB4ZmYsMHhmZiwweGZmLDB4YzQsMHhmZiwweDAwLDB4ZmYsMHg3OCwweGZmLDB4ZmYsMHhmZiwweGM2LDB4ZmYsCi0weDk4LDB4ZmYsMHg1MCwweGZmLDB4ZmYsMHhmZiwweDczLDB4ZmYsMHg4OCwweGZmLDB4NTAsMHhmZiwweGZmLDB4ZmYsMHg3MywweGZmLAotMHg4MywweGZmLDB4NjgsMHhmZiwweGZmLDB4ZmYsMHhjNSwweGZmLDB4ODgsMHhmZiwweDY4LDB4ZmYsMHhmZiwweGZmLDB4YzQsMHhmZiwKLTB4ODMsMHhmZiwweDY4LDB4ZmYsMHhmZiwweGZmLDB4YzUsMHhmZiwweDAwLDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweGM2LDB4ZmYsCi0weDAwLDB4ZmYsMHgzYywweGZmLDB4ZmYsMHhmZiwweDI1LDB4ZmYsMHg2ZSwweGZmLDB4MTQsMHhmZiwweGZmLDB4ZmYsMHg4ZSwweGZmLAotMHg5OCwweGZmLDB4NTAsMHhmZiwweGZmLDB4ZmYsMHg3MywweGZmLDB4ODgsMHhmZiwweDUwLDB4ZmYsMHhmZiwweGZmLDB4NzMsMHhmZiwKLTB4ODMsMHhmZiwweDc4LDB4ZmYsMHhmZiwweGZmLDB4YzQsMHhmZiwweDg4LDB4ZmYsMHg3OCwweGZmLDB4ZmYsMHhmZiwweGM0LDB4ZmYsCi0weDAwLDB4ZmYsMHg3OCwweGZmLDB4ZmYsMHhmZiwweGM0LDB4ZmYsMHgyMCwweGZmLDB4MGMsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MDAsMHhmZiwweDM0LDB4ZmYsMHhmZiwweGZmLDB4ZTksMHhmZiwKLTB4MDEsMHhmZiwweDM4LDB4ZmYsMHhmZiwweGZmLDB4MjgsMHhmZiwweDAxLDB4ZmYsMHgzOCwweGZmLDB4ZmYsMHhmZiwweDI5LDB4ZmYsCi0weDAwLDB4ZmYsMHgzOCwweGZmLDB4ZmYsMHhmZiwweDY2LDB4ZmYsMHgwMCwweGZmLDB4MzgsMHhmZiwweGZmLDB4ZmYsMHgzNCwweGZmLAotMHgwMCwweGZmLDB4MzgsMHhmZiwweGZmLDB4ZmYsMHg3NSwweGZmLDB4MTAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MDYsMHhmZiwKLTB4MDAsMHhmZiwweDQxLDB4ZmYsMHhmZiwweGZmLDB4MDcsMHhmZiwweDMwLDB4ZmYsMHgwYywweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDk4LDB4ZmYsMHg3MCwweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsMHgwMCwweGZmLDB4M2MsMHhmZiwweGZmLDB4ZmYsMHgyNSwweGZmLAotMHg3MCwweGZmLDB4MTQsMHhmZiwweGZmLDB4ZmYsMHgyZSwweGZmLDB4ODAsMHhmZiwweDcwLDB4ZmYsMHhmZiwweGZmLDB4NDIsMHhmZiwKLTB4NjMsMHhmZiwweDcyLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwweDgwLDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweGE3LDB4ZmYsCi0weDAwLDB4ZmYsMHg3MCwweGZmLDB4ZmYsMHhmZiwweDQxLDB4ZmYsMHg2MywweGZmLDB4NzIsMHhmZiwweGZmLDB4ZmYsMHgyNCwweGZmLAotMHg4MCwweGZmLDB4NjgsMHhmZiwweGZmLDB4ZmYsMHhhNywweGZmLDB4MDAsMHhmZiwweDcwLDB4ZmYsMHhmZiwweGZmLDB4NDYsMHhmZiwKLTB4NjMsMHhmZiwweDcyLDB4ZmYsMHhmZiwweGZmLDB4MjQsMHhmZiwweDgwLDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweGE3LDB4ZmYsCi0weDAwLDB4ZmYsMHg3MCwweGZmLDB4ZmYsMHhmZiwweDQ1LDB4ZmYsMHg2MywweGZmLDB4NzIsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLAotMHgwMCwweGZmLDB4NjgsMHhmZiwweGZmLDB4ZmYsMHhhNywweGZmLDB4ODAsMHhmZiwweDcwLDB4ZmYsMHhmZiwweGZmLDB4NDIsMHhmZiwKLTB4NjMsMHhmZiwweDcyLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwweDgwLDB4ZmYsMHg3MCwweGZmLDB4ZmYsMHhmZiwweDQxLDB4ZmYsCi0weDYzLDB4ZmYsMHg2YSwweGZmLDB4ZmYsMHhmZiwweGE3LDB4ZmYsMHgwMCwweGZmLDB4NzAsMHhmZiwweGZmLDB4ZmYsMHgyNCwweGZmLAotMHg4MCwweGZmLDB4NjgsMHhmZiwweGZmLDB4ZmYsMHhhNywweGZmLDB4MDAsMHhmZiwweDcwLDB4ZmYsMHhmZiwweGZmLDB4NDQsMHhmZiwKLTB4NjMsMHhmZiwweDcyLDB4ZmYsMHhmZiwweGZmLDB4MjQsMHhmZiwweDgwLDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweGE3LDB4ZmYsCi0weGYwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDA1LDB4ZmYsMHgwMCwweGZmLDB4NGYsMHhmZiwweGZmLDB4ZmYsMHgwNCwweGZmLAotMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHgwYiwweGZmLDB4ODAsMHhmZiwweDI3LDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4ODgsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweGVhLDB4ZmYsMHgyMCwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDc0LDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgwMCwweGZmLDB4NjgsMHhmZiwweGZmLDB4ZmYsMHhhNywweGZmLAotMHgwMCwweGZmLDB4NzAsMHhmZiwweGZmLDB4ZmYsMHgyNCwweGZmLDB4ODAsMHhmZiwweDcwLDB4ZmYsMHhmZiwweGZmLDB4NDQsMHhmZiwKLTB4NjMsMHhmZiwweDcyLDB4ZmYsMHhmZiwweGZmLDB4MjQsMHhmZiwweDgwLDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweGE3LDB4ZmYsCi0weDAwLDB4ZmYsMHg0ZiwweGZmLDB4ZmYsMHhmZiwweDA0LDB4ZmYsMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHgwYiwweGZmLAotMHg4MCwweGZmLDB4MjcsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4ODgsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4ZWEsMHhmZiwweDIwLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDc0LDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDAwLDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweGE3LDB4ZmYsMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgzOCwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4NzIsMHhmZiwweDE0LDB4ZmYsMHhmZiwweGZmLDB4MzUsMHhmZiwKLTB4OGIsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4MzAsMHhmZiwweDc4LDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgwZSwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgxMCwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHgxMCwweGZmLDB4MDgsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MTAsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4OTAsMHhmZiwweDAyLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDQwLDB4ZmYsCi0weDExLDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgxMCwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHhiMCwweGZmLDB4YjAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4NDcsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NTAsMHhmZiwweDMwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDQ3LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDQwLDB4ZmYsMHg3OCwweGZmLDB4NDIsMHhmZiwweGZmLDB4ZmYsMHg1MCwweGZmLAotMHg0OCwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHhhMCwweGZmLDB4NDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4NDksMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NzAsMHhmZiwweDE4LDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDQ3LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsMHgxOCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgxMCwweGZmLAotMHg0NywweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLDB4MTgsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4NDcsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NzAsMHhmZiwweDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDExLDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDYwLDB4ZmYsMHg4ZCwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHhkMCwweGZmLAotMHgwYiwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHg4MCwweGZmLDB4MTEsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4ZjAsMHhmZiwKLTB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MTAsMHhmZiwweDExLDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweGUwLDB4ZmYsCi0weDAwLDB4ZmYsMHg0OCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MDgsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4NDcsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwweDIyLDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweDlmLDB4ZmYsCi0weDAwLDB4ZmYsMHg0OCwweGZmLDB4ZmYsMHhmZiwweDEwLDB4ZmYsMHg4NiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLAotMHgyMiwweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHg5ZiwweGZmLDB4MDAsMHhmZiwweDQ4LDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4ODYsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4NzAsMHhmZiwweDIyLDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweDlmLDB4ZmYsCi0weDAwLDB4ZmYsMHg0OCwweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsMHg4NiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLAotMHgyMiwweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHg5ZiwweGZmLDB4MDAsMHhmZiwweDM0LDB4ZmYsMHhmZiwweGZmLDB4NDgsMHhmZiwKLTB4MDAsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MDMsMHhmZiwweDg2LDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGIwLDB4ZmYsCi0weDAwLDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDAzLDB4ZmYsMHg4NiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHhjMCwweGZmLAotMHg4NiwweGZmLDB4OTcsMHhmZiwweGZmLDB4ZmYsMHhkMCwweGZmLDB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4ODAsMHhmZiwweDM3LDB4ZmYsMHhmZiwweGZmLDB4MDIsMHhmZiwweDg0LDB4ZmYsMHgzYiwweGZmLDB4ZmYsMHhmZiwweDAyLDB4ZmYsCi0weDAwLDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDBiLDB4ZmYsMHgwYywweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHg5MCwweGZmLAotMHgwMCwweGZmLDB4NzAsMHhmZiwweGZmLDB4ZmYsMHgwYiwweGZmLDB4MGMsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4YjAsMHhmZiwKLTB4ODgsMHhmZiwweDM3LDB4ZmYsMHhmZiwweGZmLDB4MDMsMHhmZiwweDhjLDB4ZmYsMHgzYiwweGZmLDB4ZmYsMHhmZiwweDAzLDB4ZmYsCi0weDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDAxLDB4ZmYsMHg4YiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHg1MSwweGZmLAotMHg4MiwweGZmLDB4NDMsMHhmZiwweGZmLDB4ZmYsMHg4MCwweGZmLDB4OGIsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4NjAsMHhmZiwKLTB4MDAsMHhmZiwweDM0LDB4ZmYsMHhmZiwweGZmLDB4ODksMHhmZiwweDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDBjLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDgwLDB4ZmYsMHgwYywweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHhhMCwweGZmLAotMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4ODAsMHhmZiwweDM3LDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDM0LDB4ZmYsMHhmZiwweGZmLDB4MDgsMHhmZiwweDAyLDB4ZmYsMHgzYywweGZmLDB4ZmYsMHhmZiwweDQ1LDB4ZmYsCi0weDc2LDB4ZmYsMHgxNCwweGZmLDB4ZmYsMHhmZiwweGRlLDB4ZmYsMHgwMCwweGZmLDB4YTAsMHhmZiwweGZmLDB4ZmYsMHgwMywweGZmLAotMHg4NCwweGZmLDB4MzcsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDM0LDB4ZmYsMHhmZiwweGZmLDB4MDgsMHhmZiwKLTB4MDIsMHhmZiwweDNjLDB4ZmYsMHhmZiwweGZmLDB4NDUsMHhmZiwweDc3LDB4ZmYsMHgxNCwweGZmLDB4ZmYsMHhmZiwweDJlLDB4ZmYsCi0weDAwLDB4ZmYsMHhhMCwweGZmLDB4ZmYsMHhmZiwweDAzLDB4ZmYsMHg3ZSwweGZmLDB4MzgsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MzgsMHhmZiwweGZmLDB4ZmYsMHgwOCwweGZmLDB4MDAsMHhmZiwweDNjLDB4ZmYsMHhmZiwweGZmLDB4ZTUsMHhmZiwKLTB4NzcsMHhmZiwweDE0LDB4ZmYsMHhmZiwweGZmLDB4OGUsMHhmZiwweDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHg1OCwweGZmLDB4ZmYsMHhmZiwweDAzLDB4ZmYsMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHg2NCwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHg0ZiwweGZmLDB4MzgsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4NzcsMHhmZiwweDE0LDB4ZmYsMHhmZiwweGZmLDB4ZTUsMHhmZiwweDhiLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDQwLDB4ZmYsCi0weDc4LDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg2NCwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHg4ZiwweGZmLAotMHgzOCwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4NzgsMHhmZiwweDE0LDB4ZmYsMHhmZiwweGZmLDB4MzUsMHhmZiwKLTB4OGIsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4NDAsMHhmZiwweDc4LDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgwMCwweGZmLDB4MzQsMHhmZiwweGZmLDB4ZmYsMHgwOSwweGZmLAotMHgwMCwweGZmLDB4MzQsMHhmZiwweGZmLDB4ZmYsMHg4NSwweGZmLDB4MDAsMHhmZiwweDM0LDB4ZmYsMHhmZiwweGZmLDB4NTYsMHhmZiwKLTB4MDAsMHhmZiwweDA5LDB4ZmYsMHhmZiwweGZmLDB4MDYsMHhmZiwweDIwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAxLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweGMxLDB4ZmYsMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHg0NCwweGZmLAotMHgwMCwweGZmLDB4NjgsMHhmZiwweGZmLDB4ZmYsMHgwNSwweGZmLDB4MDAsMHhmZiwweDY4LDB4ZmYsMHhmZiwweGZmLDB4MTUsMHhmZiwKLTB4MDAsMHhmZiwweDY4LDB4ZmYsMHhmZiwweGZmLDB4MDUsMHhmZiwweDAwLDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweDQ1LDB4ZmYsCi0weDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg4NiwweGZmLDB4ODcsMHhmZiwweGZmLDB4ZmYsMHhmMCwweGZmLAotMHg4NiwweGZmLDB4OGIsMHhmZiwweGZmLDB4ZmYsMHhlMCwweGZmLDB4MDAsMHhmZiwweDM0LDB4ZmYsMHhmZiwweGZmLDB4YzgsMHhmZiwKLTB4MDAsMHhmZiwweDM4LDB4ZmYsMHhmZiwweGZmLDB4YzgsMHhmZiwweDAwLDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDAzLDB4ZmYsCi0weDAwLDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDEzLDB4ZmYsMHgwMCwweGZmLDB4NzgsMHhmZiwweGZmLDB4ZmYsMHgxMywweGZmLAotMHgwMCwweGZmLDB4NzgsMHhmZiwweGZmLDB4ZmYsMHgwMywweGZmLDB4ODYsMHhmZiwweDk3LDB4ZmYsMHhmZiwweGZmLDB4ZjAsMHhmZiwKLTB4ODYsMHhmZiwweDliLDB4ZmYsMHhmZiwweGZmLDB4ZTAsMHhmZiwweDA1LDB4ZmYsMHg4MSwweGZmLDB4ZmYsMHhmZiwweGMwLDB4ZmYsCi0weDc4LDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgyMSwweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHg3MSwweGZmLAotMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4N2YsMHhmZiwweDM4LDB4ZmYsMHhmZiwweGZmLDB4MDEsMHhmZiwKLTB4MDAsMHhmZiwweDM4LDB4ZmYsMHhmZiwweGZmLDB4MDksMHhmZiwweDAwLDB4ZmYsMHgzOCwweGZmLDB4ZmYsMHhmZiwweDA2LDB4ZmYsCi0weDdlLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHhiMSwweGZmLAotMHgwOCwweGZmLDB4MGMsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDNjLDB4ZmYsMHhmZiwweGZmLDB4YzUsMHhmZiwKLTB4N2EsMHhmZiwweDE0LDB4ZmYsMHhmZiwweGZmLDB4YmUsMHhmZiwweDAwLDB4ZmYsMHg1MCwweGZmLDB4ZmYsMHhmZiwweDQ2LDB4ZmYsCi0weGUxLDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg3YSwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHhlMCwweGZmLAotMHg2MCwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MDAsMHhmZiwweDU4LDB4ZmYsMHhmZiwweGZmLDB4YTcsMHhmZiwKLTB4MGMsMHhmZiwweDBjLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweGM0LDB4ZmYsMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHhmZiwweGZmLDB4ZmYsMHhmZiwweGZmLDB4ZmYsMHhmZiwweGZmLDB4ZmYsMHhmZiwweGZmLDB4ZmYsMHhmZiwweGZmLDB4ZmYsMHhmZiwKLTB4ZmYsMHhmZiwweGZmLDB4ZmYgfTsKZGlmZiAtLWdpdCBhL3NvdW5kL3BjaS9rb3JnMTIxMi9rb3JnMTIxMi5jIGIvc291bmQvcGNpL2tvcmcxMjEyL2tvcmcxMjEyLmMKaW5kZXggZjRjODViNS4uNGE0NGMwZiAxMDA2NDQKLS0tIGEvc291bmQvcGNpL2tvcmcxMjEyL2tvcmcxMjEyLmMKKysrIGIvc291bmQvcGNpL2tvcmcxMjEyL2tvcmcxMjEyLmMKQEAgLTI2MCwxNCArMjYwLDYgQEAKICNkZWZpbmUgQ09NTUFORF9BQ0tfREVMQVkgICAxMyAgICAgICAgIC8vIG51bWJlciBvZiBSVEMgdGlja3MgdG8gd2FpdCBmb3IgYW4gYWNrbm93bGVkZ2VtZW50CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAgICBmcm9tIHRoZSBjYXJkIGFmdGVyIHNlbmRpbmcgYSBjb21tYW5kLgogCi0jaWZkZWYgQ09ORklHX1NORF9LT1JHMTIxMl9GSVJNV0FSRV9JTl9LRVJORUwKLSNpbmNsdWRlICJrb3JnMTIxMi1maXJtd2FyZS5oIgotc3RhdGljIGNvbnN0IHN0cnVjdCBmaXJtd2FyZSBzdGF0aWNfZHNwX2NvZGUgPSB7Ci0JLmRhdGEgPSAodTggKilkc3BDb2RlLAotCS5zaXplID0gc2l6ZW9mIGRzcENvZGUKLX07Ci0jZW5kaWYKLQogZW51bSBDbG9ja1NvdXJjZUluZGV4IHsKICAgIEsxMjEyX0NMS0lEWF9BZGF0QXQ0NF8xSyA9IDAsICAgIC8vIHNlbGVjdHMgc291cmNlIGFzIEFEQVQgYXQgNDQuMSBrSHoKICAgIEsxMjEyX0NMS0lEWF9BZGF0QXQ0OEssICAgICAgICAgIC8vIHNlbGVjdHMgc291cmNlIGFzIEFEQVQgYXQgNDgga0h6CkBAIC00MTIsOSArNDA0LDcgQEAKIE1PRFVMRV9ERVNDUklQVElPTigia29yZzEyMTIiKTsKIE1PRFVMRV9MSUNFTlNFKCJHUEwiKTsKIE1PRFVMRV9TVVBQT1JURURfREVWSUNFKCJ7e0tPUkcsa29yZzEyMTJ9fSIpOwotI2lmbmRlZiBDT05GSUdfU05EX0tPUkcxMjEyX0ZJUk1XQVJFX0lOX0tFUk5FTAogTU9EVUxFX0ZJUk1XQVJFKCJrb3JnL2sxMjEyLmRzcCIpOwotI2VuZGlmCiAKIHN0YXRpYyBpbnQgaW5kZXhbU05EUlZfQ0FSRFNdID0gU05EUlZfREVGQVVMVF9JRFg7ICAgICAvKiBJbmRleCAwLU1BWCAqLwogc3RhdGljIGNoYXIgKmlkW1NORFJWX0NBUkRTXSA9IFNORFJWX0RFRkFVTFRfU1RSOwkgICAvKiBJRCBmb3IgdGhpcyBjYXJkICovCkBAIC0yMzQ4LDkgKzIzMzgsNiBAQAogICAgICAgICBrb3JnMTIxMi0+QWRhdFRpbWVDb2RlUGh5ID0ga29yZzEyMTItPnNoYXJlZEJ1ZmZlclBoeSArCiAJCW9mZnNldG9mKHN0cnVjdCBLb3JnU2hhcmVkQnVmZmVyLCBBZGF0VGltZUNvZGUpOwogCi0jaWZkZWYgQ09ORklHX1NORF9LT1JHMTIxMl9GSVJNV0FSRV9JTl9LRVJORUwKLQlkc3BfY29kZSA9ICZzdGF0aWNfZHNwX2NvZGU7Ci0jZWxzZQogCWVyciA9IHJlcXVlc3RfZmlybXdhcmUoJmRzcF9jb2RlLCAia29yZy9rMTIxMi5kc3AiLCAmcGNpLT5kZXYpOwogCWlmIChlcnIgPCAwKSB7CiAJCXJlbGVhc2VfZmlybXdhcmUoZHNwX2NvZGUpOwpAQCAtMjM1OCwxNSArMjM0NSwxMiBAQAogCQlzbmRfa29yZzEyMTJfZnJlZShrb3JnMTIxMik7CiAJCXJldHVybiBlcnI7CiAJfQotI2VuZGlmCiAKIAlpZiAoc25kX2RtYV9hbGxvY19wYWdlcyhTTkRSVl9ETUFfVFlQRV9ERVYsIHNuZF9kbWFfcGNpX2RhdGEocGNpKSwKIAkJCQlkc3BfY29kZS0+c2l6ZSwgJmtvcmcxMjEyLT5kbWFfZHNwKSA8IDApIHsKIAkJc25kX3ByaW50ayhLRVJOX0VSUiAia29yZzEyMTI6IGNhbm5vdCBhbGxvY2F0ZSBkc3AgY29kZSBtZW1vcnkgKCV6ZCBieXRlcylcbiIsIGRzcF9jb2RlLT5zaXplKTsKICAgICAgICAgICAgICAgICBzbmRfa29yZzEyMTJfZnJlZShrb3JnMTIxMik7Ci0jaWZuZGVmIENPTkZJR19TTkRfS09SRzEyMTJfRklSTVdBUkVfSU5fS0VSTkVMCiAJCXJlbGVhc2VfZmlybXdhcmUoZHNwX2NvZGUpOwotI2VuZGlmCiAgICAgICAgICAgICAgICAgcmV0dXJuIC1FTk9NRU07CiAgICAgICAgIH0KIApAQCAtMjM3Niw5ICsyMzYwLDcgQEAKIAogCW1lbWNweShrb3JnMTIxMi0+ZG1hX2RzcC5hcmVhLCBkc3BfY29kZS0+ZGF0YSwgZHNwX2NvZGUtPnNpemUpOwogCi0jaWZuZGVmIENPTkZJR19TTkRfS09SRzEyMTJfRklSTVdBUkVfSU5fS0VSTkVMCiAJcmVsZWFzZV9maXJtd2FyZShkc3BfY29kZSk7Ci0jZW5kaWYKIAogCXJjID0gc25kX2tvcmcxMjEyX1NlbmQxMjEyQ29tbWFuZChrb3JnMTIxMiwgSzEyMTJfREJfUmVib290Q2FyZCwgMCwgMCwgMCwgMCk7CiAKZGlmZiAtLWdpdCBhL3NvdW5kL3BjaS9tYWVzdHJvMy5jIGIvc291bmQvcGNpL21hZXN0cm8zLmMKaW5kZXggYTUzNmM1OS4uMDAzN2JlNyAxMDA2NDQKLS0tIGEvc291bmQvcGNpL21hZXN0cm8zLmMKKysrIGIvc291bmQvcGNpL21hZXN0cm8zLmMKQEAgLTU4LDEwICs1OCw4IEBACiAJCSJ7RVNTLEFsbGVncm8gUENJfSwiCiAJCSJ7RVNTLEFsbGVncm8tMSBQQ0l9LCIKIAkgICAgICAgICJ7RVNTLENhbnlvbjNELTIvTEUgUENJfX0iKTsKLSNpZm5kZWYgQ09ORklHX1NORF9NQUVTVFJPM19GSVJNV0FSRV9JTl9LRVJORUwKIE1PRFVMRV9GSVJNV0FSRSgiZXNzL21hZXN0cm8zX2Fzc3Bfa2VybmVsLmZ3Iik7CiBNT0RVTEVfRklSTVdBUkUoImVzcy9tYWVzdHJvM19hc3NwX21pbmlzcmMuZnciKTsKLSNlbmRpZgogCiBzdGF0aWMgaW50IGluZGV4W1NORFJWX0NBUkRTXSA9IFNORFJWX0RFRkFVTFRfSURYOwkvKiBJbmRleCAwLU1BWCAqLwogc3RhdGljIGNoYXIgKmlkW1NORFJWX0NBUkRTXSA9IFNORFJWX0RFRkFVTFRfU1RSOwkvKiBJRCBmb3IgdGhpcyBjYXJkICovCkBAIC0yMTAxLDE2MyArMjA5OSw2IEBACiB9CiAKIAotI2lmZGVmIENPTkZJR19TTkRfTUFFU1RSTzNfRklSTVdBUkVfSU5fS0VSTkVMCi0KLS8qCi0gKiBEU1AgQ29kZSBpbWFnZXMKLSAqLwotCi1zdGF0aWMgY29uc3QgdTE2IGFzc3Bfa2VybmVsX2ltYWdlW10gPSB7Ci0gICAgMHg3OTgwLCAweDAwMzAsIDB4Nzk4MCwgMHgwM0I0LCAweDc5ODAsIDB4MDNCNCwgMHg3OTgwLCAweDAwRkIsIDB4Nzk4MCwgMHgwMERELCAweDc5ODAsIDB4MDNCNCwgCi0gICAgMHg3OTgwLCAweDAzMzIsIDB4Nzk4MCwgMHgwMjg3LCAweDc5ODAsIDB4MDNCNCwgMHg3OTgwLCAweDAzQjQsIDB4Nzk4MCwgMHgwM0I0LCAweDc5ODAsIDB4MDNCNCwgCi0gICAgMHg3OTgwLCAweDAzMUEsIDB4Nzk4MCwgMHgwM0I0LCAweDc5ODAsIDB4MDIyRiwgMHg3OTgwLCAweDAzQjQsIDB4Nzk4MCwgMHgwM0I0LCAweDc5ODAsIDB4MDNCNCwgCi0gICAgMHg3OTgwLCAweDAzQjQsIDB4Nzk4MCwgMHgwM0I0LCAweDc5ODAsIDB4MDA2MywgMHg3OTgwLCAweDAwNkIsIDB4Nzk4MCwgMHgwM0I0LCAweDc5ODAsIDB4MDNCNCwgCi0gICAgMHhCRjgwLCAweDJDN0MsIDB4ODgwNiwgMHg4ODA0LCAweEJFNDAsIDB4QkMyMCwgMHhBRTA5LCAweDEwMDAsIDB4QUUwQSwgMHgwMDAxLCAweDY5MzgsIDB4RUIwOCwgCi0gICAgMHgwMDUzLCAweDY5NUEsIDB4RUIwOCwgMHgwMEQ2LCAweDAwMDksIDB4OEI4OCwgMHg2OTgwLCAweEUzODgsIDB4MDAzNiwgMHhCRTMwLCAweEJDMjAsIDB4NjkwOSwgCi0gICAgMHhCODAxLCAweDkwMDksIDB4QkU0MSwgMHhCRTQxLCAweDY5MjgsIDB4RUI4OCwgMHgwMDc4LCAweEJFNDEsIDB4QkU0MCwgMHg3OTgwLCAweDAwMzgsIDB4QkU0MSwgCi0gICAgMHhCRTQxLCAweDkwM0EsIDB4NjkzOCwgMHhFMzA4LCAweDAwNTYsIDB4OTAzQSwgMHhCRTQxLCAweEJFNDAsIDB4RUYwMCwgMHg5MDNBLCAweDY5MzksIDB4RTMwOCwgCi0gICAgMHgwMDVFLCAweDkwM0EsIDB4RUYwMCwgMHg2OTBCLCAweDY2MEMsIDB4RUY4QywgMHg2OTBBLCAweDY2MEMsIDB4NjIwQiwgMHg2NjA5LCAweEVGMDAsIDB4NjkxMCwgCi0gICAgMHg2NjBGLCAweEVGMDQsIDB4RTM4OCwgMHgwMDc1LCAweDY5MEUsIDB4NjYwRiwgMHg2MjEwLCAweDY2MEQsIDB4RUYwMCwgMHg2OTBFLCAweDY2MEQsIDB4RUYwMCwgCi0gICAgMHhBRTcwLCAweDAwMDEsIDB4QkMyMCwgMHhBRTI3LCAweDAwMDEsIDB4NjkzOSwgMHhFQjA4LCAweDAwNUQsIDB4NjkyNiwgMHhCODAxLCAweDkwMjYsIDB4MDAyNiwgCi0gICAgMHg4Qjg4LCAweDY5ODAsIDB4RTM4OCwgMHgwMENCLCAweDkwMjgsIDB4MEQyOCwgMHg0MjExLCAweEUxMDAsIDB4MDA3QSwgMHg0NzExLCAweEUxMDAsIDB4MDBBMCwgCi0gICAgMHg3QTgwLCAweDAwNjMsIDB4QjgxMSwgMHg2NjBBLCAweDYyMDksIDB4RTMwNCwgMHgwMDdBLCAweDBDMEIsIDB4NDAwNSwgMHgxMDBBLCAweEJBMDEsIDB4OTAxMiwgCi0gICAgMHgwQzEyLCAweDQwMDIsIDB4Nzk4MCwgMHgwMEFGLCAweDdBODAsIDB4MDA2QiwgMHhCRTAyLCAweDYyMEUsIDB4NjYwRCwgMHhCQTEwLCAweEUzNDQsIDB4MDA3QSwgCi0gICAgMHgwQzEwLCAweDQwMDUsIDB4MTAwRSwgMHhCQTAxLCAweDkwMTIsIDB4MEMxMiwgMHg0MDAyLCAweDEwMDMsIDB4QkEwMiwgMHg5MDEyLCAweDBDMTIsIDB4NDAwMCwgCi0gICAgMHgxMDAzLCAweEUzODgsIDB4MDBCQSwgMHgxMDA0LCAweDc5ODAsIDB4MDBCQywgMHgxMDA0LCAweEJBMDEsIDB4OTAxMiwgMHgwQzEyLCAweDQwMDEsIDB4MEMwNSwgCi0gICAgMHg0MDAzLCAweDBDMDYsIDB4NDAwNCwgMHgxMDExLCAweEJGQjAsIDB4MDFGRiwgMHg5MDEyLCAweDBDMTIsIDB4NDAwNiwgMHhCQzIwLCAweEVGMDAsIDB4QUUyNiwgCi0gICAgMHgxMDI4LCAweDY5NzAsIDB4QkZEMCwgMHgwMDAxLCAweDkwNzAsIDB4RTM4OCwgMHgwMDdBLCAweEFFMjgsIDB4MDAwMCwgMHhFRjAwLCAweEFFNzAsIDB4MDMwMCwgCi0gICAgMHgwQzcwLCAweEIwMEMsIDB4QUU1QSwgMHgwMDAwLCAweEVGMDAsIDB4N0E4MCwgMHgwMzhBLCAweDY5N0YsIDB4QjgwMSwgMHg5MDdGLCAweDAwNTYsIDB4OEI4OCwgCi0gICAgMHgwQ0EwLCAweEIwMDgsIDB4QUY3MSwgMHhCMDAwLCAweDRFNzEsIDB4RTIwMCwgMHgwMEYzLCAweEFFNTYsIDB4MTA1NywgMHgwMDU2LCAweDBDQTAsIDB4QjAwOCwgCi0gICAgMHg4MDU2LCAweDc5ODAsIDB4MDNBMSwgMHgwODEwLCAweEJGQTAsIDB4MTA1OSwgMHhFMzA0LCAweDAzQTEsIDB4ODA1NiwgMHg3OTgwLCAweDAzQTEsIDB4N0E4MCwgCi0gICAgMHgwMzhBLCAweEJGMDEsIDB4QkU0MywgMHhCRTU5LCAweDkwN0MsIDB4NjkzNywgMHhFMzg4LCAweDAxMEQsIDB4QkEwMSwgMHhFMzA4LCAweDAxMEMsIDB4QUU3MSwgCi0gICAgMHgwMDA0LCAweDBDNzEsIDB4NTAwMCwgMHg2OTM2LCAweDkwMzcsIDB4QkYwQSwgMHgxMDlFLCAweDhCOEEsIDB4QUY4MCwgMHg4MDE0LCAweDRDODAsIDB4QkYwQSwgCi0gICAgMHgwNTYwLCAweEY1MDAsIDB4QkYwQSwgMHgwNTIwLCAweEI5MDAsIDB4QkIxNywgMHg5MEEwLCAweDY5MTcsIDB4RTM4OCwgMHgwMTQ4LCAweDBEMTcsIDB4RTEwMCwgCi0gICAgMHgwMTI3LCAweEJGMEMsIDB4MDU3OCwgMHhCRjBELCAweDA1N0MsIDB4Nzk4MCwgMHgwMTJCLCAweEJGMEMsIDB4MDUzOCwgMHhCRjBELCAweDA1M0MsIDB4NjkwMCwgCi0gICAgMHhFMzA4LCAweDAxMzUsIDB4OEI4QywgMHhCRTU5LCAweEJCMDcsIDB4OTBBMCwgMHhCQzIwLCAweDc5ODAsIDB4MDE1NywgMHgwMzBDLCAweDhCOEIsIDB4QjkwMywgCi0gICAgMHg4ODA5LCAweEJFQzYsIDB4MDEzRSwgMHg2OUFDLCAweDkwQUIsIDB4NjlBRCwgMHg5MEFCLCAweDA4MTMsIDB4NjYwQSwgMHhFMzQ0LCAweDAxNDQsIDB4MDMwOSwgCi0gICAgMHg4MzBDLCAweEJDMjAsIDB4Nzk4MCwgMHgwMTU3LCAweDY5NTUsIDB4RTM4OCwgMHgwMTU3LCAweDdDMzgsIDB4QkYwQiwgMHgwNTc4LCAweEY1MDAsIDB4QkYwQiwgCi0gICAgMHgwNTM4LCAweEI5MDcsIDB4ODgwOSwgMHhCRUM2LCAweDAxNTYsIDB4MTBBQiwgMHg5MEFBLCAweDY5NzQsIDB4RTM4OCwgMHgwMTYzLCAweEFFNzIsIDB4MDU0MCwgCi0gICAgMHhGNTAwLCAweEFFNzIsIDB4MDUwMCwgMHhBRTYxLCAweDEwM0IsIDB4N0E4MCwgMHgwMkY2LCAweDY5NzgsIDB4RTM4OCwgMHgwMTgyLCAweDhCOEMsIDB4QkYwQywgCi0gICAgMHgwNTYwLCAweEU1MDAsIDB4N0M0MCwgMHgwODE0LCAweEJBMjAsIDB4ODgxMiwgMHg3MzNELCAweDdBODAsIDB4MDM4MCwgMHg3MzNFLCAweDdBODAsIDB4MDM4MCwgCi0gICAgMHg4QjhDLCAweEJGMEMsIDB4MDU2QywgMHhFNTAwLCAweDdDNDAsIDB4MDgxNCwgMHhCQTJDLCAweDg4MTIsIDB4NzMzRiwgMHg3QTgwLCAweDAzODAsIDB4NzM0MCwgCi0gICAgMHg3QTgwLCAweDAzODAsIDB4Njk3NSwgMHhFMzg4LCAweDAxOEUsIDB4QUU3MiwgMHgwNTQ4LCAweEY1MDAsIDB4QUU3MiwgMHgwNTA4LCAweEFFNjEsIDB4MTA0MSwgCi0gICAgMHg3QTgwLCAweDAyRjYsIDB4Njk3OSwgMHhFMzg4LCAweDAxQUQsIDB4OEI4QywgMHhCRjBDLCAweDA1NjAsIDB4RTUwMCwgMHg3QzQwLCAweDA4MTQsIDB4QkExOCwgCi0gICAgMHg4ODEyLCAweDczNDMsIDB4N0E4MCwgMHgwMzgwLCAweDczNDQsIDB4N0E4MCwgMHgwMzgwLCAweDhCOEMsIDB4QkYwQywgMHgwNTZDLCAweEU1MDAsIDB4N0M0MCwgCi0gICAgMHgwODE0LCAweEJBMjQsIDB4ODgxMiwgMHg3MzQ1LCAweDdBODAsIDB4MDM4MCwgMHg3MzQ2LCAweDdBODAsIDB4MDM4MCwgMHg2OTc2LCAweEUzODgsIDB4MDFCOSwgCi0gICAgMHhBRTcyLCAweDA1NTgsIDB4RjUwMCwgMHhBRTcyLCAweDA1MTgsIDB4QUU2MSwgMHgxMDQ3LCAweDdBODAsIDB4MDJGNiwgMHg2OTdBLCAweEUzODgsIDB4MDFEOCwgCi0gICAgMHg4QjhDLCAweEJGMEMsIDB4MDU2MCwgMHhFNTAwLCAweDdDNDAsIDB4MDgxNCwgMHhCQTA4LCAweDg4MTIsIDB4NzM0OSwgMHg3QTgwLCAweDAzODAsIDB4NzM0QSwgCi0gICAgMHg3QTgwLCAweDAzODAsIDB4OEI4QywgMHhCRjBDLCAweDA1NkMsIDB4RTUwMCwgMHg3QzQwLCAweDA4MTQsIDB4QkExNCwgMHg4ODEyLCAweDczNEIsIDB4N0E4MCwgCi0gICAgMHgwMzgwLCAweDczNEMsIDB4N0E4MCwgMHgwMzgwLCAweEJDMjEsIDB4QUUxQywgMHgxMDkwLCAweDhCOEEsIDB4QkYwQSwgMHgwNTYwLCAweEU1MDAsIDB4N0M0MCwgCi0gICAgMHgwODEyLCAweEI4MDQsIDB4ODgxMywgMHg4QjhELCAweEJGMEQsIDB4MDU2QywgMHhFNTAwLCAweDdDNDAsIDB4MDgxNSwgMHhCODA0LCAweDg4MTEsIDB4N0E4MCwgCi0gICAgMHgwMzRBLCAweDhCOEEsIDB4QkYwQSwgMHgwNTYwLCAweEU1MDAsIDB4N0M0MCwgMHg3MzFGLCAweEI5MDMsIDB4ODgwOSwgMHhCRUM2LCAweDAxRjksIDB4NTQ4QSwgCi0gICAgMHhCRTAzLCAweDk4QTAsIDB4NzMyMCwgMHhCOTAzLCAweDg4MDksIDB4QkVDNiwgMHgwMjAxLCAweDU0OEEsIDB4QkUwMywgMHg5OEEwLCAweDFGMjAsIDB4MkYxRiwgCi0gICAgMHg5ODI2LCAweEJDMjAsIDB4NjkzNSwgMHhFMzg4LCAweDAzQTEsIDB4NjkzMywgMHhCODAxLCAweDkwMzMsIDB4QkZBMCwgMHgwMkVFLCAweEUzMDgsIDB4MDNBMSwgCi0gICAgMHg5MDMzLCAweEJGMDAsIDB4Njk1MSwgMHhFMzg4LCAweDAyMUYsIDB4NzMzNCwgMHhCRTgwLCAweDU3NjAsIDB4QkUwMywgMHg5RjdFLCAweEJFNTksIDB4OTAzNCwgCi0gICAgMHg2OTdFLCAweDBENTEsIDB4OTAxMywgMHhCQzIwLCAweDY5NUMsIDB4RTM4OCwgMHgwM0ExLCAweDczNUUsIDB4QkU4MCwgMHg1NzYwLCAweEJFMDMsIDB4OUY3RSwgCi0gICAgMHhCRTU5LCAweDkwNUUsIDB4Njk3RSwgMHgwRDVDLCAweDkwMTMsIDB4Nzk4MCwgMHgwM0ExLCAweDdBODAsIDB4MDM4QSwgMHhCRjAxLCAweEJFNDMsIDB4Njk3NywgCi0gICAgMHhFMzg4LCAweDAyNEUsIDB4QUU2MSwgMHgxMDRELCAweDAwNjEsIDB4OEI4OCwgMHg2OTgwLCAweEUzODgsIDB4MDI0RSwgMHg5MDcxLCAweDBENzEsIDB4MDAwQiwgCi0gICAgMHhBRkEwLCAweDgwMTAsIDB4QUZBMCwgMHg4MDEwLCAweDA4MTAsIDB4NjYwQSwgMHhFMzA4LCAweDAyNDksIDB4MDAwOSwgMHgwODEwLCAweDY2MEMsIDB4RTM4OCwgCi0gICAgMHgwMjRFLCAweDgwMEIsIDB4QkMyMCwgMHg2OTdCLCAweEUzODgsIDB4MDNBMSwgMHhCRjBBLCAweDEwOUUsIDB4OEI4QSwgMHhBRjgwLCAweDgwMTQsIDB4NEM4MCwgCi0gICAgMHhFMTAwLCAweDAyNjYsIDB4Njk3QywgMHhCRjkwLCAweDA1NjAsIDB4OTA3MiwgMHgwMzcyLCAweDY5N0MsIDB4QkY5MCwgMHgwNTY0LCAweDkwNzMsIDB4MDQ3MywgCi0gICAgMHg3OTgwLCAweDAyNzAsIDB4Njk3QywgMHhCRjkwLCAweDA1MjAsIDB4OTA3MiwgMHgwMzcyLCAweDY5N0MsIDB4QkY5MCwgMHgwNTI0LCAweDkwNzMsIDB4MDQ3MywgCi0gICAgMHg2OTdDLCAweEI4MDEsIDB4OTA3QywgMHhCRjBBLCAweDEwRkQsIDB4OEI4QSwgMHhBRjgwLCAweDgwMTAsIDB4NzM0RiwgMHg1NDhBLCAweEJFMDMsIDB4OTg4MCwgCi0gICAgMHhCQzIxLCAweDczMjYsIDB4NTQ4QiwgMHhCRTAzLCAweDYxOEIsIDB4OTg4QywgMHhCRTAzLCAweDYxODAsIDB4OTg4MCwgMHg3OTgwLCAweDAzQTEsIDB4N0E4MCwgCi0gICAgMHgwMzhBLCAweDBEMjgsIDB4NDcxMSwgMHhFMTAwLCAweDAyQkUsIDB4QUYxMiwgMHg0MDA2LCAweDY5MTIsIDB4QkZCMCwgMHgwQzAwLCAweEUzODgsIDB4MDJCNiwgCi0gICAgMHhCRkEwLCAweDA4MDAsIDB4RTM4OCwgMHgwMkIyLCAweDY5MTIsIDB4QkZCMCwgMHgwQzAwLCAweEJGQTAsIDB4MDQwMCwgMHhFMzg4LCAweDAyQTMsIDB4NjkwOSwgCi0gICAgMHg5MDBCLCAweDc5ODAsIDB4MDJBNSwgMHhBRjBCLCAweDQwMDUsIDB4NjkwMSwgMHg5MDA1LCAweDY5MDIsIDB4OTAwNiwgMHg0MzExLCAweEUxMDAsIDB4MDJFRCwgCi0gICAgMHg2OTExLCAweEJGQzAsIDB4MjAwMCwgMHg5MDExLCAweDc5ODAsIDB4MDJFRCwgMHg2OTA5LCAweDkwMEIsIDB4Nzk4MCwgMHgwMkI4LCAweEFGMEIsIDB4NDAwNSwgCi0gICAgMHhBRjA1LCAweDQwMDMsIDB4QUYwNiwgMHg0MDA0LCAweDc5ODAsIDB4MDJFRCwgMHhBRjEyLCAweDQwMDYsIDB4NjkxMiwgMHhCRkIwLCAweDBDMDAsIDB4RTM4OCwgCi0gICAgMHgwMkU3LCAweEJGQTAsIDB4MDgwMCwgMHhFMzg4LCAweDAyRTMsIDB4NjkxMiwgMHhCRkIwLCAweDBDMDAsIDB4QkZBMCwgMHgwNDAwLCAweEUzODgsIDB4MDJENCwgCi0gICAgMHg2OTBELCAweDkwMTAsIDB4Nzk4MCwgMHgwMkQ2LCAweEFGMTAsIDB4NDAwNSwgMHg2OTAxLCAweDkwMDUsIDB4NjkwMiwgMHg5MDA2LCAweDQzMTEsIDB4RTEwMCwgCi0gICAgMHgwMkVELCAweDY5MTEsIDB4QkZDMCwgMHgyMDAwLCAweDkwMTEsIDB4Nzk4MCwgMHgwMkVELCAweDY5MEQsIDB4OTAxMCwgMHg3OTgwLCAweDAyRTksIDB4QUYxMCwgCi0gICAgMHg0MDA1LCAweEFGMDUsIDB4NDAwMywgMHhBRjA2LCAweDQwMDQsIDB4QkMyMCwgMHg2OTcwLCAweDkwNzEsIDB4N0E4MCwgMHgwMDc4LCAweDY5NzEsIDB4OTA3MCwgCi0gICAgMHg3OTgwLCAweDAzQTEsIDB4QkMyMCwgMHgwMzYxLCAweDhCOEIsIDB4Njk4MCwgMHhFRjg4LCAweDAyNzIsIDB4MDM3MiwgMHg3ODA0LCAweDkwNzEsIDB4MEQ3MSwgCi0gICAgMHg4QjhBLCAweDAwMEIsIDB4QjkwMywgMHg4ODA5LCAweEJFQzYsIDB4MDMwOSwgMHg2OUE4LCAweDkwQUIsIDB4NjlBOCwgMHg5MEFBLCAweDA4MTAsIDB4NjYwQSwgCi0gICAgMHhFMzQ0LCAweDAzMEYsIDB4MDAwOSwgMHgwODEwLCAweDY2MEMsIDB4RTM4OCwgMHgwMzE0LCAweDgwMEIsIDB4QkMyMCwgMHg2OTYxLCAweEI4MDEsIDB4OTA2MSwgCi0gICAgMHg3OTgwLCAweDAyRjcsIDB4N0E4MCwgMHgwMzhBLCAweDVEMzUsIDB4MDAwMSwgMHg2OTM0LCAweEI4MDEsIDB4OTAzNCwgMHhCRjBBLCAweDEwOUUsIDB4OEI4QSwgCi0gICAgMHhBRjgwLCAweDgwMTQsIDB4NDg4MCwgMHhBRTcyLCAweDA1NTAsIDB4RjUwMCwgMHhBRTcyLCAweDA1MTAsIDB4QUU2MSwgMHgxMDUxLCAweDdBODAsIDB4MDJGNiwgCi0gICAgMHg3OTgwLCAweDAzQTEsIDB4N0E4MCwgMHgwMzhBLCAweDVEMzUsIDB4MDAwMiwgMHg2OTVFLCAweEI4MDEsIDB4OTA1RSwgMHhCRjBBLCAweDEwOUUsIDB4OEI4QSwgCi0gICAgMHhBRjgwLCAweDgwMTQsIDB4NDc4MCwgMHhBRTcyLCAweDA1NTgsIDB4RjUwMCwgMHhBRTcyLCAweDA1MTgsIDB4QUU2MSwgMHgxMDVDLCAweDdBODAsIDB4MDJGNiwgCi0gICAgMHg3OTgwLCAweDAzQTEsIDB4MDAxQywgMHg4Qjg4LCAweDY5ODAsIDB4RUY4OCwgMHg5MDFELCAweDBEMUQsIDB4MTAwRiwgMHg2NjEwLCAweEUzOEMsIDB4MDM1OCwgCi0gICAgMHg2OTBFLCAweDY2MTAsIDB4NjIwRiwgMHg2NjBELCAweEJBMEYsIDB4RTMwMSwgMHgwMzdBLCAweDA0MTAsIDB4OEI4QSwgMHhCOTAzLCAweDg4MDksIDB4QkVDNiwgCi0gICAgMHgwMzZDLCAweDZBOEMsIDB4NjFBQSwgMHg5OEFCLCAweDZBOEMsIDB4NjFBQiwgMHg5OEFELCAweDZBOEMsIDB4NjFBRCwgMHg5OEE5LCAweDZBOEMsIDB4NjFBOSwgCi0gICAgMHg5OEFBLCAweDdDMDQsIDB4OEI4QiwgMHg3QzA0LCAweDhCOEQsIDB4N0MwNCwgMHg4Qjg5LCAweDdDMDQsIDB4MDgxNCwgMHg2NjBFLCAweEUzMDgsIDB4MDM3OSwgCi0gICAgMHgwNDBELCAweDg0MTAsIDB4QkMyMSwgMHg2OTFDLCAweEI4MDEsIDB4OTAxQywgMHg3OTgwLCAweDAzNEEsIDB4QjkwMywgMHg4ODA5LCAweDhCOEEsIDB4QkVDNiwgCi0gICAgMHgwMzg4LCAweDU0QUMsIDB4QkUwMywgMHg2MThDLCAweDk4QUEsIDB4RUYwMCwgMHhCQzIwLCAweEJFNDYsIDB4MDgwOSwgMHg5MDZCLCAweDA4MEEsIDB4OTA2QywgCi0gICAgMHgwODBCLCAweDkwNkQsIDB4MDgxQSwgMHg5MDYyLCAweDA4MUIsIDB4OTA2MywgMHgwODFFLCAweDkwNjQsIDB4QkU1OSwgMHg4ODFFLCAweDgwNjUsIDB4ODE2NiwgCi0gICAgMHg4MjY3LCAweDgzNjgsIDB4ODQ2OSwgMHg4NTZBLCAweEVGMDAsIDB4QkMyMCwgMHg2OTZCLCAweDg4MDksIDB4Njk2QywgMHg4ODBBLCAweDY5NkQsIDB4ODgwQiwgCi0gICAgMHg2OTYyLCAweDg4MUEsIDB4Njk2MywgMHg4ODFCLCAweDY5NjQsIDB4ODgxRSwgMHgwMDY1LCAweDAxNjYsIDB4MDI2NywgMHgwMzY4LCAweDA0NjksIDB4MDU2QSwgCi0gICAgMHhCRTNBLCAKLX07Ci0KLS8qCi0gKiBNaW5pIHNhbXBsZSByYXRlIGNvbnZlcnRlciBjb2RlIGltYWdlCi0gKiB0aGF0IGlzIHRvIGJlIGxvYWRlZCBhdCAweDQwMCBvbiB0aGUgRFNQLgotICovCi1zdGF0aWMgY29uc3QgdTE2IGFzc3BfbWluaXNyY19pbWFnZVtdID0gewotCi0gICAgMHhCRjgwLCAweDEwMUUsIDB4OTA2RSwgMHgwMDZFLCAweDhCODgsIDB4Njk4MCwgMHhFRjg4LCAweDkwNkYsIDB4MEQ2RiwgMHg2OTAwLCAweEVCMDgsIDB4MDQxMiwgCi0gICAgMHhCQzIwLCAweDY5NkUsIDB4QjgwMSwgMHg5MDZFLCAweDc5ODAsIDB4MDQwMywgMHhCOTBFLCAweDg4MDcsIDB4QkU0MywgMHhCRjAxLCAweEJFNDcsIDB4QkU0MSwgCi0gICAgMHg3QTgwLCAweDAwMkEsIDB4QkU0MCwgMHgzMDI5LCAweEVGQ0MsIDB4QkU0MSwgMHg3QTgwLCAweDAwMjgsIDB4QkU0MCwgMHgzMDI4LCAweEVGQ0MsIDB4NjkwNywgCi0gICAgMHhFMzA4LCAweDA0MkEsIDB4NjkwOSwgMHg5MDJDLCAweDc5ODAsIDB4MDQyQywgMHg2OTBELCAweDkwMkMsIDB4MTAwOSwgMHg4ODFBLCAweDEwMEEsIDB4QkEwMSwgCi0gICAgMHg4ODFCLCAweDEwMEQsIDB4ODgxQywgMHgxMDBFLCAweEJBMDEsIDB4ODgxRCwgMHhCRjgwLCAweDAwRUQsIDB4ODgxRSwgMHgwNTBDLCAweDAxMjQsIDB4QjkwNCwgCi0gICAgMHg5MDI3LCAweDY5MTgsIDB4RTMwOCwgMHgwNEIzLCAweDkwMkQsIDB4NjkxMywgMHhCRkEwLCAweDc1OTgsIDB4RjcwNCwgMHhBRTJELCAweDAwRkYsIDB4OEI4RCwgCi0gICAgMHg2OTE5LCAweEUzMDgsIDB4MDQ2MywgMHg2OTFBLCAweEUzMDgsIDB4MDQ1NiwgMHhCOTA3LCAweDg4MDksIDB4QkVDNiwgMHgwNDUzLCAweDEwQTksIDB4OTBBRCwgCi0gICAgMHg3OTgwLCAweDA0N0MsIDB4QjkwMywgMHg4ODA5LCAweEJFQzYsIDB4MDQ2MCwgMHgxODg5LCAweDZDMjIsIDB4OTBBRCwgMHgxMEE5LCAweDZFMjMsIDB4NkMyMiwgCi0gICAgMHg5MEFELCAweDc5ODAsIDB4MDQ3QywgMHgxMDFBLCAweEUzMDgsIDB4MDQ2RiwgMHhCOTAzLCAweDg4MDksIDB4QkVDNiwgMHgwNDZDLCAweDEwQTksIDB4OTBBMCwgCi0gICAgMHg5MEFELCAweDc5ODAsIDB4MDQ3QywgMHhCOTAxLCAweDg4MDksIDB4QkVDNiwgMHgwNDdCLCAweDE4ODksIDB4NkMyMiwgMHg5MEEwLCAweDkwQUQsIDB4MTBBOSwgCi0gICAgMHg2RTIzLCAweDZDMjIsIDB4OTBBMCwgMHg5MEFELCAweDY5MkQsIDB4RTMwOCwgMHgwNDlDLCAweDAxMjQsIDB4QjcwMywgMHhCOTAyLCAweDg4MTgsIDB4OEI4OSwgCi0gICAgMHgwMjJDLCAweDEwOEEsIDB4N0MwNCwgMHg5MEEwLCAweDY5MkIsIDB4ODgxRiwgMHg3RTgwLCAweDA1NUIsIDB4NjkyQSwgMHg4ODA5LCAweDhCODksIDB4OTlBMCwgCi0gICAgMHgxMDhBLCAweDkwQTAsIDB4NjkyQiwgMHg4ODFGLCAweDdFODAsIDB4MDU1QiwgMHg2OTJBLCAweDg4MDksIDB4OEI4OSwgMHg5OUFGLCAweDdCOTksIDB4MDQ4NCwgCi0gICAgMHgwMTI0LCAweDA2MEYsIDB4MTAxQiwgMHgyMDEzLCAweDkwMUIsIDB4QkZBMCwgMHg3RkZGLCAweEUzNDQsIDB4MDRBQywgMHg5MDFCLCAweDhCODksIDB4N0E4MCwgCi0gICAgMHgwNTFBLCAweDY5MjcsIDB4QkEwMSwgMHg5MDI3LCAweDdBODAsIDB4MDUyMywgMHg2OTI3LCAweEUzMDgsIDB4MDQ5RSwgMHg3OTgwLCAweDA1MEYsIDB4MDYyNCwgCi0gICAgMHgxMDI2LCAweDIwMTMsIDB4OTAyNiwgMHhCRkEwLCAweDdGRkYsIDB4RTMwNCwgMHgwNEMwLCAweDhCOEQsIDB4N0E4MCwgMHgwNTFBLCAweDc5ODAsIDB4MDRCNCwgCi0gICAgMHg5MDI2LCAweDEwMTMsIDB4MzAyNiwgMHg5MDFCLCAweDhCOEQsIDB4N0E4MCwgMHgwNTFBLCAweDdBODAsIDB4MDUyMywgMHgxMDI3LCAweEJBMDEsIDB4OTAyNywgCi0gICAgMHhFMzA4LCAweDA0QjQsIDB4MDEyNCwgMHgwNjBGLCAweDhCODksIDB4NjkxQSwgMHhFMzA4LCAweDA0RUEsIDB4NjkxOSwgMHhFMzg4LCAweDA0RTAsIDB4QjkwMywgCi0gICAgMHg4ODA5LCAweEJFQzYsIDB4MDRERCwgMHgxRkEwLCAweDJGQUUsIDB4OThBOSwgMHg3OTgwLCAweDA1MEYsIDB4QjkwMSwgMHg4ODE4LCAweEI5MDcsIDB4ODgwOSwgCi0gICAgMHhCRUM2LCAweDA0RTcsIDB4MTBFRSwgMHg5MEE5LCAweDc5ODAsIDB4MDUwRiwgMHg2OTE5LCAweEUzMDgsIDB4MDRGRSwgMHhCOTAzLCAweDg4MDksIDB4QkU0NiwgCi0gICAgMHhCRUM2LCAweDA0RkEsIDB4MTdBMCwgMHhCRTFFLCAweDFGQUUsIDB4QkZCRiwgMHhGRjAwLCAweEJFMTMsIDB4QkZERiwgMHg4MDgwLCAweDk5QTksIDB4QkU0NywgCi0gICAgMHg3OTgwLCAweDA1MEYsIDB4QjkwMSwgMHg4ODA5LCAweEJFQzYsIDB4MDUwRSwgMHgxNkEwLCAweDI2QTAsIDB4QkZCNywgMHhGRjAwLCAweEJFMUUsIDB4MUVBMCwgCi0gICAgMHgyRUFFLCAweEJGQkYsIDB4RkYwMCwgMHhCRTEzLCAweEJGREYsIDB4ODA4MCwgMHg5OUE5LCAweDg1MEMsIDB4ODYwRiwgMHg2OTA3LCAweEUzODgsIDB4MDUxNiwgCi0gICAgMHgwRDA3LCAweDg1MTAsIDB4QkU1OSwgMHg4ODFFLCAweEJFNEEsIDB4RUYwMCwgMHgxMDFFLCAweDkwMUMsIDB4MTAxRiwgMHg5MDFELCAweDEwQTAsIDB4OTAxRSwgCi0gICAgMHgxMEEwLCAweDkwMUYsIDB4RUYwMCwgMHgxMDFFLCAweDMwMUMsIDB4OTAyMCwgMHg3MzFCLCAweDU0MjAsIDB4QkUwMywgMHg5ODI1LCAweDEwMjUsIDB4MjAxQywgCi0gICAgMHg5MDI1LCAweDczMjUsIDB4NTQxNCwgMHhCRTAzLCAweDhCOEUsIDB4OTg4MCwgMHg2OTJGLCAweEUzODgsIDB4MDUzOSwgMHhCRTU5LCAweEJCMDcsIDB4NjE4MCwgCi0gICAgMHg5ODgwLCAweDhCQTAsIDB4MTAxRiwgMHgzMDFELCAweDkwMjEsIDB4NzMxQiwgMHg1NDIxLCAweEJFMDMsIDB4OTgyRSwgMHgxMDJFLCAweDIwMUQsIDB4OTAyRSwgCi0gICAgMHg3MzJFLCAweDU0MTUsIDB4QkUwMywgMHg5ODgwLCAweDY5MkYsIDB4RTM4OCwgMHgwNTRGLCAweEJFNTksIDB4QkIwNywgMHg2MTgwLCAweDk4ODAsIDB4OEJBMCwgCi0gICAgMHg2OTE4LCAweEVGMDgsIDB4NzMyNSwgMHg1NDE2LCAweEJFMDMsIDB4OThBMCwgMHg3MzJFLCAweDU0MTcsIDB4QkUwMywgMHg5OEEwLCAweEVGMDAsIDB4OEJBMCwgCi0gICAgMHhCRUM2LCAweDA1NkIsIDB4QkU1OSwgMHhCQjA0LCAweEFBOTAsIDB4QkUwNCwgMHhCRTFFLCAweDk5RTAsIDB4OEJFMCwgMHg2OUEwLCAweDkwRDAsIDB4NjlBMCwgCi0gICAgMHg5MEQwLCAweDA4MUYsIDB4QjgwNSwgMHg4ODFGLCAweDhCOTAsIDB4NjlBMCwgMHg5MEQwLCAweDY5QTAsIDB4OTA5MCwgMHg4QkQwLCAweDhCRDgsIDB4QkUxRiwgCi0gICAgMHhFRjAwLCAweDAwMDAsIDB4MDAwMCwgMHgwMDAwLCAweDAwMDAsIDB4MDAwMCwgMHgwMDAwLCAweDAwMDAsIDB4MDAwMCwgMHgwMDAwLCAweDAwMDAsIDB4MDAwMCwgCi0gICAgMHgwMDAwLCAweDAwMDAsIDB4MDAwMCwgMHgwMDAwLCAweDAwMDAsIDB4MDAwMCwgMHgwMDAwLCAweDAwMDAsIDB4MDAwMCwgCi19OwotCi1zdGF0aWMgY29uc3Qgc3RydWN0IGZpcm13YXJlIGFzc3Bfa2VybmVsID0gewotCS5kYXRhID0gKHU4ICopYXNzcF9rZXJuZWxfaW1hZ2UsCi0JLnNpemUgPSBzaXplb2YgYXNzcF9rZXJuZWxfaW1hZ2UKLX07Ci1zdGF0aWMgY29uc3Qgc3RydWN0IGZpcm13YXJlIGFzc3BfbWluaXNyYyA9IHsKLQkuZGF0YSA9ICh1OCAqKWFzc3BfbWluaXNyY19pbWFnZSwKLQkuc2l6ZSA9IHNpemVvZiBhc3NwX21pbmlzcmNfaW1hZ2UKLX07Ci0KLSNlbHNlIC8qIENPTkZJR19TTkRfTUFFU1RSTzNfRklSTVdBUkVfSU5fS0VSTkVMICovCi0KLSNpZmRlZiBfX0xJVFRMRV9FTkRJQU4KLXN0YXRpYyBpbmxpbmUgdm9pZCBzbmRfbTNfY29udmVydF9mcm9tX2xlKGNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqZncpIHsgfQotI2Vsc2UKLXN0YXRpYyB2b2lkIHNuZF9tM19jb252ZXJ0X2Zyb21fbGUoY29uc3Qgc3RydWN0IGZpcm13YXJlICpmdykKLXsKLQlpbnQgaTsKLQl1MTYgKmRhdGEgPSAodTE2ICopZnctPmRhdGE7Ci0KLQlmb3IgKGkgPSAwOyBpIDwgZnctPnNpemUgLyAyOyArK2kpCi0JCWxlMTZfdG9fY3B1cygmZGF0YVtpXSk7Ci19Ci0jZW5kaWYKLQotI2VuZGlmIC8qIENPTkZJR19TTkRfTUFFU1RSTzNfRklSTVdBUkVfSU5fS0VSTkVMICovCi0KLQogLyoKICAqIGluaXRpYWxpemUgQVNTUAogICovCkBAIC0yMjcxLDcgKzIxMTIsNyBAQAogc3RhdGljIHZvaWQgc25kX20zX2Fzc3BfaW5pdChzdHJ1Y3Qgc25kX20zICpjaGlwKQogewogCXVuc2lnbmVkIGludCBpOwotCXUxNiAqZGF0YTsKKwljb25zdCB1MTYgKmRhdGE7CiAKIAkvKiB6ZXJvIGtlcm5lbCBkYXRhICovCiAJZm9yIChpID0gMDsgaSA8IChSRVZfQl9EQVRBX01FTU9SWV9VTklUX0xFTkdUSCAqIE5VTV9VTklUU19LRVJORUxfREFUQSkgLyAyOyBpKyspCkBAIC0yMjg5LDEwICsyMTMwLDExIEBACiAJCQkgIEtEQVRBX0RNQV9YRkVSMCk7CiAKIAkvKiB3cml0ZSBrZXJuZWwgaW50byBjb2RlIG1lbW9yeS4uICovCi0JZGF0YSA9ICh1MTYgKiljaGlwLT5hc3NwX2tlcm5lbF9pbWFnZS0+ZGF0YTsKKwlkYXRhID0gKGNvbnN0IHUxNiAqKWNoaXAtPmFzc3Bfa2VybmVsX2ltYWdlLT5kYXRhOwogCWZvciAoaSA9IDAgOyBpICogMiA8IGNoaXAtPmFzc3Bfa2VybmVsX2ltYWdlLT5zaXplOyBpKyspIHsKIAkJc25kX20zX2Fzc3Bfd3JpdGUoY2hpcCwgTUVNVFlQRV9JTlRFUk5BTF9DT0RFLCAKLQkJCQkgIFJFVl9CX0NPREVfTUVNT1JZX0JFR0lOICsgaSwgZGF0YVtpXSk7CisJCQkJICBSRVZfQl9DT0RFX01FTU9SWV9CRUdJTiArIGksCisJCQkJICBsZTE2X3RvX2NwdShkYXRhW2ldKSk7CiAJfQogCiAJLyoKQEAgLTIzMDEsMTAgKzIxNDMsMTAgQEAKIAkgKiBkcm9wIGl0IHRoZXJlLiAgSXQgc2VlbXMgdGhhdCB0aGUgbWluaXNyYyBkb2Vzbid0CiAJICogbmVlZCB2ZWN0b3JzLCBzbyB3ZSB3b24ndCBib3RoZXIgd2l0aCB0aGVtLi4KIAkgKi8KLQlkYXRhID0gKHUxNiAqKWNoaXAtPmFzc3BfbWluaXNyY19pbWFnZS0+ZGF0YTsKKwlkYXRhID0gKGNvbnN0IHUxNiAqKWNoaXAtPmFzc3BfbWluaXNyY19pbWFnZS0+ZGF0YTsKIAlmb3IgKGkgPSAwOyBpICogMiA8IGNoaXAtPmFzc3BfbWluaXNyY19pbWFnZS0+c2l6ZTsgaSsrKSB7CiAJCXNuZF9tM19hc3NwX3dyaXRlKGNoaXAsIE1FTVRZUEVfSU5URVJOQUxfQ09ERSwgCi0JCQkJICAweDQwMCArIGksIGRhdGFbaV0pOworCQkJCSAgMHg0MDAgKyBpLCBsZTE2X3RvX2NwdShkYXRhW2ldKSk7CiAJfQogCiAJLyoKQEAgLTI0MjcsNiArMjI2OSwyOSBAQAogCW91dHcoMHhmZmZmLCBpbyArIEdQSU9fTUFTSyk7CiB9CiAKK3N0YXRpYyB2b2lkCitzbmRfbTNfaHZfaW5pdChzdHJ1Y3Qgc25kX20zICpjaGlwKQoreworCXVuc2lnbmVkIGxvbmcgaW8gPSBjaGlwLT5pb2Jhc2U7CisJdTE2IHZhbCA9IEdQSV9WT0xfRE9XTiB8IEdQSV9WT0xfVVA7CisKKwlpZiAoIWNoaXAtPmlzX29tbmlib29rKQorCQlyZXR1cm47CisKKwkvKgorCSAqIFZvbHVtZSBidXR0b25zIG9uIHNvbWUgSFAgT21uaUJvb2sgbGFwdG9wcworCSAqIHJlcXVpcmUgc29tZSBHUElPIG1hZ2ljIHRvIHdvcmsgY29ycmVjdGx5LgorCSAqLworCW91dHcoMHhmZmZmLCBpbyArIEdQSU9fTUFTSyk7CisJb3V0dygweDAwMDAsIGlvICsgR1BJT19EQVRBKTsKKworCW91dHcofnZhbCwgaW8gKyBHUElPX01BU0spOworCW91dHcoaW53KGlvICsgR1BJT19ESVJFQ1RJT04pICYgfnZhbCwgaW8gKyBHUElPX0RJUkVDVElPTik7CisJb3V0dyh2YWwsIGlvICsgR1BJT19NQVNLKTsKKworCW91dHcoMHhmZmZmLCBpbyArIEdQSU9fTUFTSyk7Cit9CisKIHN0YXRpYyBpbnQKIHNuZF9tM19jaGlwX2luaXQoc3RydWN0IHNuZF9tMyAqY2hpcCkKIHsKQEAgLTI0NDIsMjEgKzIzMDcsNiBAQAogCSAgICAgICBESVNBQkxFX0xFR0FDWSk7CiAJcGNpX3dyaXRlX2NvbmZpZ193b3JkKHBjaWRldiwgUENJX0xFR0FDWV9BVURJT19DVFJMLCB3KTsKIAotCWlmIChjaGlwLT5pc19vbW5pYm9vaykgewotCQkvKgotCQkgKiBWb2x1bWUgYnV0dG9ucyBvbiBzb21lIEhQIE9tbmlCb29rIGxhcHRvcHMgZG9uJ3Qgd29yawotCQkgKiBjb3JyZWN0bHkuIFRoaXMgbWFrZXMgdGhlbSB3b3JrIGZvciB0aGUgbW9zdCBwYXJ0LgotCQkgKgotCQkgKiBWb2x1bWUgdXAgYW5kIGRvd24gYnV0dG9ucyBvbiB0aGUgbGFwdG9wIHNpZGUgd29yay4KLQkJICogRm4rY3Vyc29yX3VwICh2b2xtZSB1cCkgd29ya3MuCi0JCSAqIEZuK2N1cnNvcl9kb3duICh2b2x1bWUgZG93bikgZG9lc24ndCB3b3JrLgotCQkgKiBGbitGNyAobXV0ZSkgd29ya3MgYWN0cyBhcyB2b2x1bWUgdXAuCi0JCSAqLwotCQlvdXR3KH4oR1BJX1ZPTF9ET1dOfEdQSV9WT0xfVVApLCBpbyArIEdQSU9fTUFTSyk7Ci0JCW91dHcoaW53KGlvICsgR1BJT19ESVJFQ1RJT04pICYgfihHUElfVk9MX0RPV058R1BJX1ZPTF9VUCksIGlvICsgR1BJT19ESVJFQ1RJT04pOwotCQlvdXR3KChHUElfVk9MX0RPV058R1BJX1ZPTF9VUCksIGlvICsgR1BJT19EQVRBKTsKLQkJb3V0dygweGZmZmYsIGlvICsgR1BJT19NQVNLKTsKLQl9CiAJcGNpX3JlYWRfY29uZmlnX2R3b3JkKHBjaWRldiwgUENJX0FMTEVHUk9fQ09ORklHLCAmbik7CiAJbiAmPSB+KEhWX0NUUkxfRU5BQkxFIHwgUkVEVUNFRF9ERUJPVU5DRSB8IEhWX0JVVFRPTl9GUk9NX0dEKTsKIAluIHw9IGNoaXAtPmh2X2NvbmZpZzsKQEAgLTI1NDgsMTAgKzIzOTgsOCBAQAogCWlmIChjaGlwLT5pb2Jhc2UpCiAJCXBjaV9yZWxlYXNlX3JlZ2lvbnMoY2hpcC0+cGNpKTsKIAotI2lmbmRlZiBDT05GSUdfU05EX01BRVNUUk8zX0ZJUk1XQVJFX0lOX0tFUk5FTAogCXJlbGVhc2VfZmlybXdhcmUoY2hpcC0+YXNzcF9rZXJuZWxfaW1hZ2UpOwogCXJlbGVhc2VfZmlybXdhcmUoY2hpcC0+YXNzcF9taW5pc3JjX2ltYWdlKTsKLSNlbmRpZgogCiAJcGNpX2Rpc2FibGVfZGV2aWNlKGNoaXAtPnBjaSk7CiAJa2ZyZWUoY2hpcCk7CkBAIC0yNjQyLDYgKzI0OTAsOCBAQAogCXNuZF9tM19lbmFibGVfaW50cyhjaGlwKTsKIAlzbmRfbTNfYW1wX2VuYWJsZShjaGlwLCAxKTsKIAorCXNuZF9tM19odl9pbml0KGNoaXApOworCiAJc25kX3Bvd2VyX2NoYW5nZV9zdGF0ZShjYXJkLCBTTkRSVl9DVExfUE9XRVJfRDApOwogCXJldHVybiAwOwogfQpAQCAtMjc0MSwyOSArMjU5MSwxOSBAQAogCQlyZXR1cm4gLUVOT01FTTsKIAl9CiAKLSNpZmRlZiBDT05GSUdfU05EX01BRVNUUk8zX0ZJUk1XQVJFX0lOX0tFUk5FTAotCWNoaXAtPmFzc3Bfa2VybmVsX2ltYWdlID0gJmFzc3Bfa2VybmVsOwotI2Vsc2UKIAllcnIgPSByZXF1ZXN0X2Zpcm13YXJlKCZjaGlwLT5hc3NwX2tlcm5lbF9pbWFnZSwKIAkJCSAgICAgICAiZXNzL21hZXN0cm8zX2Fzc3Bfa2VybmVsLmZ3IiwgJnBjaS0+ZGV2KTsKIAlpZiAoZXJyIDwgMCkgewogCQlzbmRfbTNfZnJlZShjaGlwKTsKIAkJcmV0dXJuIGVycjsKLQl9IGVsc2UKLQkJc25kX20zX2NvbnZlcnRfZnJvbV9sZShjaGlwLT5hc3NwX2tlcm5lbF9pbWFnZSk7Ci0jZW5kaWYKKwl9CiAKLSNpZmRlZiBDT05GSUdfU05EX01BRVNUUk8zX0ZJUk1XQVJFX0lOX0tFUk5FTAotCWNoaXAtPmFzc3BfbWluaXNyY19pbWFnZSA9ICZhc3NwX21pbmlzcmM7Ci0jZWxzZQogCWVyciA9IHJlcXVlc3RfZmlybXdhcmUoJmNoaXAtPmFzc3BfbWluaXNyY19pbWFnZSwKIAkJCSAgICAgICAiZXNzL21hZXN0cm8zX2Fzc3BfbWluaXNyYy5mdyIsICZwY2ktPmRldik7CiAJaWYgKGVyciA8IDApIHsKIAkJc25kX20zX2ZyZWUoY2hpcCk7CiAJCXJldHVybiBlcnI7Ci0JfSBlbHNlCi0JCXNuZF9tM19jb252ZXJ0X2Zyb21fbGUoY2hpcC0+YXNzcF9taW5pc3JjX2ltYWdlKTsKLSNlbmRpZgorCX0KIAogCWlmICgoZXJyID0gcGNpX3JlcXVlc3RfcmVnaW9ucyhwY2ksIGNhcmQtPmRyaXZlcikpIDwgMCkgewogCQlzbmRfbTNfZnJlZShjaGlwKTsKQEAgLTI3ODEsNiArMjYyMSw4IEBACiAKIAlzbmRfbTNfYW1wX2VuYWJsZShjaGlwLCAxKTsKIAorCXNuZF9tM19odl9pbml0KGNoaXApOworCiAJdGFza2xldF9pbml0KCZjaGlwLT5od3ZvbF90cSwgc25kX20zX3VwZGF0ZV9od192b2x1bWUsICh1bnNpZ25lZCBsb25nKWNoaXApOwogCiAJaWYgKHJlcXVlc3RfaXJxKHBjaS0+aXJxLCBzbmRfbTNfaW50ZXJydXB0LCBJUlFGX1NIQVJFRCwKZGlmZiAtLWdpdCBhL3NvdW5kL3BjaS9taXhhcnQvbWl4YXJ0X2h3ZGVwLmMgYi9zb3VuZC9wY2kvbWl4YXJ0L21peGFydF9od2RlcC5jCmluZGV4IDEyMmMyOGUuLmY5ODYwMzEgMTAwNjQ0Ci0tLSBhL3NvdW5kL3BjaS9taXhhcnQvbWl4YXJ0X2h3ZGVwLmMKKysrIGIvc291bmQvcGNpL21peGFydC9taXhhcnRfaHdkZXAuYwpAQCAtNjEzLDcgKzYxMyw3IEBACiAJCQkgICAoaW50KWRzcC0+bGVuZ3RoKTsKIAkJcmV0dXJuIC1FTk9NRU07CiAJfQotCWlmIChjb3B5X2Zyb21fdXNlcihmdy5kYXRhLCBkc3AtPmltYWdlLCBkc3AtPmxlbmd0aCkpIHsKKwlpZiAoY29weV9mcm9tX3VzZXIoKHZvaWQgKikgZncuZGF0YSwgZHNwLT5pbWFnZSwgZHNwLT5sZW5ndGgpKSB7CiAJCXZmcmVlKGZ3LmRhdGEpOwogCQlyZXR1cm4gLUVGQVVMVDsKIAl9CmRpZmYgLS1naXQgYS9zb3VuZC9wY2kvbm0yNTYvbm0yNTYuYyBiL3NvdW5kL3BjaS9ubTI1Ni9ubTI1Ni5jCmluZGV4IDdlZmI4MzguLjA2ZDEzZTcgMTAwNjQ0Ci0tLSBhL3NvdW5kL3BjaS9ubTI1Ni9ubTI1Ni5jCisrKyBiL3NvdW5kL3BjaS9ubTI1Ni9ubTI1Ni5jCkBAIC0xMzAyLDggKzEzMDIsOCBAQAogCQkucmVhZCA9IHNuZF9ubTI1Nl9hYzk3X3JlYWQsCiAJfTsKIAotCWNoaXAtPmFjOTdfcmVncyA9IGtjYWxsb2Moc2l6ZW9mKHNob3J0KSwKLQkJCQkgIEFSUkFZX1NJWkUobm0yNTZfYWM5N19pbml0X3ZhbCksIEdGUF9LRVJORUwpOworCWNoaXAtPmFjOTdfcmVncyA9IGtjYWxsb2MoQVJSQVlfU0laRShubTI1Nl9hYzk3X2luaXRfdmFsKSwKKwkJCQkgIHNpemVvZihzaG9ydCksIEdGUF9LRVJORUwpOwogCWlmICghIGNoaXAtPmFjOTdfcmVncykKIAkJcmV0dXJuIC1FTk9NRU07CiAKZGlmZiAtLWdpdCBhL3NvdW5kL3BjaS9veHlnZW4vaGlmaWVyLmMgYi9zb3VuZC9wY2kvb3h5Z2VuL2hpZmllci5jCmluZGV4IDA5MGRkNDMuLjc0NDI0NjAgMTAwNjQ0Ci0tLSBhL3NvdW5kL3BjaS9veHlnZW4vaGlmaWVyLmMKKysrIGIvc291bmQvcGNpL294eWdlbi9oaWZpZXIuYwpAQCAtMjgsNyArMjgsNyBAQAogCiBNT0RVTEVfQVVUSE9SKCJDbGVtZW5zIExhZGlzY2ggPGNsZW1lbnNAbGFkaXNjaC5kZT4iKTsKIE1PRFVMRV9ERVNDUklQVElPTigiVGVtcG9UZWMgSGlGaWVyIGRyaXZlciIpOwotTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOworTU9EVUxFX0xJQ0VOU0UoIkdQTCB2MiIpOwogCiBzdGF0aWMgaW50IGluZGV4W1NORFJWX0NBUkRTXSA9IFNORFJWX0RFRkFVTFRfSURYOwogc3RhdGljIGNoYXIgKmlkW1NORFJWX0NBUkRTXSA9IFNORFJWX0RFRkFVTFRfU1RSOwpAQCAtNjIsMTYgKzYyLDI4IEBACiAJCQkgQUs0Mzk2X1dSSVRFIHwgKHJlZyA8PCA4KSB8IHZhbHVlKTsKIH0KIAorc3RhdGljIHZvaWQgdXBkYXRlX2FrNDM5Nl92b2x1bWUoc3RydWN0IG94eWdlbiAqY2hpcCkKK3sKKwlhazQzOTZfd3JpdGUoY2hpcCwgQUs0Mzk2X0xDSF9BVFQsIGNoaXAtPmRhY192b2x1bWVbMF0pOworCWFrNDM5Nl93cml0ZShjaGlwLCBBSzQzOTZfUkNIX0FUVCwgY2hpcC0+ZGFjX3ZvbHVtZVsxXSk7Cit9CisKK3N0YXRpYyB2b2lkIGhpZmllcl9yZWdpc3RlcnNfaW5pdChzdHJ1Y3Qgb3h5Z2VuICpjaGlwKQoreworCXN0cnVjdCBoaWZpZXJfZGF0YSAqZGF0YSA9IGNoaXAtPm1vZGVsX2RhdGE7CisKKwlhazQzOTZfd3JpdGUoY2hpcCwgQUs0Mzk2X0NPTlRST0xfMSwgQUs0Mzk2X0RJRl8yNF9NU0IgfCBBSzQzOTZfUlNUTik7CisJYWs0Mzk2X3dyaXRlKGNoaXAsIEFLNDM5Nl9DT05UUk9MXzIsIGRhdGEtPmFrNDM5Nl9jdGwyKTsKKwlhazQzOTZfd3JpdGUoY2hpcCwgQUs0Mzk2X0NPTlRST0xfMywgQUs0Mzk2X1BDTSk7CisJdXBkYXRlX2FrNDM5Nl92b2x1bWUoY2hpcCk7Cit9CisKIHN0YXRpYyB2b2lkIGhpZmllcl9pbml0KHN0cnVjdCBveHlnZW4gKmNoaXApCiB7CiAJc3RydWN0IGhpZmllcl9kYXRhICpkYXRhID0gY2hpcC0+bW9kZWxfZGF0YTsKIAogCWRhdGEtPmFrNDM5Nl9jdGwyID0gQUs0Mzk2X1NNVVRFIHwgQUs0Mzk2X0RFTV9PRkYgfCBBSzQzOTZfREZTX05PUk1BTDsKLQlhazQzOTZfd3JpdGUoY2hpcCwgQUs0Mzk2X0NPTlRST0xfMSwgQUs0Mzk2X0RJRl8yNF9NU0IgfCBBSzQzOTZfUlNUTik7Ci0JYWs0Mzk2X3dyaXRlKGNoaXAsIEFLNDM5Nl9DT05UUk9MXzIsIGRhdGEtPmFrNDM5Nl9jdGwyKTsKLQlhazQzOTZfd3JpdGUoY2hpcCwgQUs0Mzk2X0NPTlRST0xfMywgQUs0Mzk2X1BDTSk7Ci0JYWs0Mzk2X3dyaXRlKGNoaXAsIEFLNDM5Nl9MQ0hfQVRULCAwKTsKLQlhazQzOTZfd3JpdGUoY2hpcCwgQUs0Mzk2X1JDSF9BVFQsIDApOworCWhpZmllcl9yZWdpc3RlcnNfaW5pdChjaGlwKTsKIAogCXNuZF9jb21wb25lbnRfYWRkKGNoaXAtPmNhcmQsICJBSzQzOTYiKTsKIAlzbmRfY29tcG9uZW50X2FkZChjaGlwLT5jYXJkLCAiQ1M1MzQwIik7CkBAIC0xMDAsMTIgKzExMiw2IEBACiAJYWs0Mzk2X3dyaXRlKGNoaXAsIEFLNDM5Nl9DT05UUk9MXzEsIEFLNDM5Nl9ESUZfMjRfTVNCIHwgQUs0Mzk2X1JTVE4pOwogfQogCi1zdGF0aWMgdm9pZCB1cGRhdGVfYWs0Mzk2X3ZvbHVtZShzdHJ1Y3Qgb3h5Z2VuICpjaGlwKQotewotCWFrNDM5Nl93cml0ZShjaGlwLCBBSzQzOTZfTENIX0FUVCwgY2hpcC0+ZGFjX3ZvbHVtZVswXSk7Ci0JYWs0Mzk2X3dyaXRlKGNoaXAsIEFLNDM5Nl9SQ0hfQVRULCBjaGlwLT5kYWNfdm9sdW1lWzFdKTsKLX0KLQogc3RhdGljIHZvaWQgdXBkYXRlX2FrNDM5Nl9tdXRlKHN0cnVjdCBveHlnZW4gKmNoaXApCiB7CiAJc3RydWN0IGhpZmllcl9kYXRhICpkYXRhID0gY2hpcC0+bW9kZWxfZGF0YTsKQEAgLTE0MCw2ICsxNDYsNyBAQAogCS5pbml0ID0gaGlmaWVyX2luaXQsCiAJLmNvbnRyb2xfZmlsdGVyID0gaGlmaWVyX2NvbnRyb2xfZmlsdGVyLAogCS5jbGVhbnVwID0gaGlmaWVyX2NsZWFudXAsCisJLnJlc3VtZSA9IGhpZmllcl9yZWdpc3RlcnNfaW5pdCwKIAkuc2V0X2RhY19wYXJhbXMgPSBzZXRfYWs0Mzk2X3BhcmFtcywKIAkuc2V0X2FkY19wYXJhbXMgPSBzZXRfY3M1MzQwX3BhcmFtcywKIAkudXBkYXRlX2RhY192b2x1bWUgPSB1cGRhdGVfYWs0Mzk2X3ZvbHVtZSwKQEAgLTE4MCw2ICsxODcsMTAgQEAKIAkuaWRfdGFibGUgPSBoaWZpZXJfaWRzLAogCS5wcm9iZSA9IGhpZmllcl9wcm9iZSwKIAkucmVtb3ZlID0gX19kZXZleGl0X3Aob3h5Z2VuX3BjaV9yZW1vdmUpLAorI2lmZGVmIENPTkZJR19QTQorCS5zdXNwZW5kID0gb3h5Z2VuX3BjaV9zdXNwZW5kLAorCS5yZXN1bWUgPSBveHlnZW5fcGNpX3Jlc3VtZSwKKyNlbmRpZgogfTsKIAogc3RhdGljIGludCBfX2luaXQgYWxzYV9jYXJkX2hpZmllcl9pbml0KHZvaWQpCmRpZmYgLS1naXQgYS9zb3VuZC9wY2kvb3h5Z2VuL294eWdlbi5jIGIvc291bmQvcGNpL294eWdlbi9veHlnZW4uYwppbmRleCA2M2YxODVjLi43YzhhZTMxIDEwMDY0NAotLS0gYS9zb3VuZC9wY2kvb3h5Z2VuL294eWdlbi5jCisrKyBiL3NvdW5kL3BjaS9veHlnZW4vb3h5Z2VuLmMKQEAgLTQzLDcgKzQzLDcgQEAKIAogTU9EVUxFX0FVVEhPUigiQ2xlbWVucyBMYWRpc2NoIDxjbGVtZW5zQGxhZGlzY2guZGU+Iik7CiBNT0RVTEVfREVTQ1JJUFRJT04oIkMtTWVkaWEgQ01JODc4OCBkcml2ZXIiKTsKLU1PRFVMRV9MSUNFTlNFKCJHUEwiKTsKK01PRFVMRV9MSUNFTlNFKCJHUEwgdjIiKTsKIE1PRFVMRV9TVVBQT1JURURfREVWSUNFKCJ7e0MtTWVkaWEsQ01JODc4OH19Iik7CiAKIHN0YXRpYyBpbnQgaW5kZXhbU05EUlZfQ0FSRFNdID0gU05EUlZfREVGQVVMVF9JRFg7CkBAIC04MCw2ICs4MCw3IEBACiAKIHN0cnVjdCBnZW5lcmljX2RhdGEgewogCXU4IGFrNDM5Nl9jdGwyOworCXUxNiBzYXZlZF93bTg3ODVfcmVnaXN0ZXJzWzJdOwogfTsKIAogc3RhdGljIHZvaWQgYWs0Mzk2X3dyaXRlKHN0cnVjdCBveHlnZW4gKmNoaXAsIHVuc2lnbmVkIGludCBjb2RlYywKQEAgLTk5LDIwICsxMDAsMzUgQEAKIAogc3RhdGljIHZvaWQgd204Nzg1X3dyaXRlKHN0cnVjdCBveHlnZW4gKmNoaXAsIHU4IHJlZywgdW5zaWduZWQgaW50IHZhbHVlKQogeworCXN0cnVjdCBnZW5lcmljX2RhdGEgKmRhdGEgPSBjaGlwLT5tb2RlbF9kYXRhOworCiAJb3h5Z2VuX3dyaXRlX3NwaShjaGlwLCBPWFlHRU5fU1BJX1RSSUdHRVIgfAogCQkJIE9YWUdFTl9TUElfREFUQV9MRU5HVEhfMiB8CiAJCQkgT1hZR0VOX1NQSV9DTE9DS18xNjAgfAogCQkJICgzIDw8IE9YWUdFTl9TUElfQ09ERUNfU0hJRlQpIHwKIAkJCSBPWFlHRU5fU1BJX0NFTl9MQVRDSF9DTE9DS19MTywKIAkJCSAocmVnIDw8IDkpIHwgdmFsdWUpOworCWlmIChyZWcgPCBBUlJBWV9TSVpFKGRhdGEtPnNhdmVkX3dtODc4NV9yZWdpc3RlcnMpKQorCQlkYXRhLT5zYXZlZF93bTg3ODVfcmVnaXN0ZXJzW3JlZ10gPSB2YWx1ZTsKIH0KIAotc3RhdGljIHZvaWQgYWs0Mzk2X2luaXQoc3RydWN0IG94eWdlbiAqY2hpcCkKK3N0YXRpYyB2b2lkIHVwZGF0ZV9hazQzOTZfdm9sdW1lKHN0cnVjdCBveHlnZW4gKmNoaXApCit7CisJdW5zaWduZWQgaW50IGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgNDsgKytpKSB7CisJCWFrNDM5Nl93cml0ZShjaGlwLCBpLAorCQkJICAgICBBSzQzOTZfTENIX0FUVCwgY2hpcC0+ZGFjX3ZvbHVtZVtpICogMl0pOworCQlhazQzOTZfd3JpdGUoY2hpcCwgaSwKKwkJCSAgICAgQUs0Mzk2X1JDSF9BVFQsIGNoaXAtPmRhY192b2x1bWVbaSAqIDIgKyAxXSk7CisJfQorfQorCitzdGF0aWMgdm9pZCBhazQzOTZfcmVnaXN0ZXJzX2luaXQoc3RydWN0IG94eWdlbiAqY2hpcCkKIHsKIAlzdHJ1Y3QgZ2VuZXJpY19kYXRhICpkYXRhID0gY2hpcC0+bW9kZWxfZGF0YTsKIAl1bnNpZ25lZCBpbnQgaTsKIAotCWRhdGEtPmFrNDM5Nl9jdGwyID0gQUs0Mzk2X1NNVVRFIHwgQUs0Mzk2X0RFTV9PRkYgfCBBSzQzOTZfREZTX05PUk1BTDsKIAlmb3IgKGkgPSAwOyBpIDwgNDsgKytpKSB7CiAJCWFrNDM5Nl93cml0ZShjaGlwLCBpLAogCQkJICAgICBBSzQzOTZfQ09OVFJPTF8xLCBBSzQzOTZfRElGXzI0X01TQiB8IEFLNDM5Nl9SU1ROKTsKQEAgLTEyMCw5ICsxMzYsMTYgQEAKIAkJCSAgICAgQUs0Mzk2X0NPTlRST0xfMiwgZGF0YS0+YWs0Mzk2X2N0bDIpOwogCQlhazQzOTZfd3JpdGUoY2hpcCwgaSwKIAkJCSAgICAgQUs0Mzk2X0NPTlRST0xfMywgQUs0Mzk2X1BDTSk7Ci0JCWFrNDM5Nl93cml0ZShjaGlwLCBpLCBBSzQzOTZfTENIX0FUVCwgMCk7Ci0JCWFrNDM5Nl93cml0ZShjaGlwLCBpLCBBSzQzOTZfUkNIX0FUVCwgMCk7CiAJfQorCXVwZGF0ZV9hazQzOTZfdm9sdW1lKGNoaXApOworfQorCitzdGF0aWMgdm9pZCBhazQzOTZfaW5pdChzdHJ1Y3Qgb3h5Z2VuICpjaGlwKQoreworCXN0cnVjdCBnZW5lcmljX2RhdGEgKmRhdGEgPSBjaGlwLT5tb2RlbF9kYXRhOworCisJZGF0YS0+YWs0Mzk2X2N0bDIgPSBBSzQzOTZfU01VVEUgfCBBSzQzOTZfREVNX09GRiB8IEFLNDM5Nl9ERlNfTk9STUFMOworCWFrNDM5Nl9yZWdpc3RlcnNfaW5pdChjaGlwKTsKIAlzbmRfY29tcG9uZW50X2FkZChjaGlwLT5jYXJkLCAiQUs0Mzk2Iik7CiB9CiAKQEAgLTEzMywxMiArMTU2LDIzIEBACiAJc25kX2NvbXBvbmVudF9hZGQoY2hpcC0+Y2FyZCwgIkFLNTM4NSIpOwogfQogCitzdGF0aWMgdm9pZCB3bTg3ODVfcmVnaXN0ZXJzX2luaXQoc3RydWN0IG94eWdlbiAqY2hpcCkKK3sKKwlzdHJ1Y3QgZ2VuZXJpY19kYXRhICpkYXRhID0gY2hpcC0+bW9kZWxfZGF0YTsKKworCXdtODc4NV93cml0ZShjaGlwLCBXTTg3ODVfUjcsIDApOworCXdtODc4NV93cml0ZShjaGlwLCBXTTg3ODVfUjAsIGRhdGEtPnNhdmVkX3dtODc4NV9yZWdpc3RlcnNbMF0pOworCXdtODc4NV93cml0ZShjaGlwLCBXTTg3ODVfUjEsIGRhdGEtPnNhdmVkX3dtODc4NV9yZWdpc3RlcnNbMV0pOworfQorCiBzdGF0aWMgdm9pZCB3bTg3ODVfaW5pdChzdHJ1Y3Qgb3h5Z2VuICpjaGlwKQogewotCXdtODc4NV93cml0ZShjaGlwLCBXTTg3ODVfUjcsIDApOwotCXdtODc4NV93cml0ZShjaGlwLCBXTTg3ODVfUjAsIFdNODc4NV9NQ1JfU0xBVkUgfAotCQkgICAgIFdNODc4NV9PU1JfU0lOR0xFIHwgV004Nzg1X0ZPUk1BVF9MSlVTVCk7Ci0Jd204Nzg1X3dyaXRlKGNoaXAsIFdNODc4NV9SMSwgV004Nzg1X1dMXzI0KTsKKwlzdHJ1Y3QgZ2VuZXJpY19kYXRhICpkYXRhID0gY2hpcC0+bW9kZWxfZGF0YTsKKworCWRhdGEtPnNhdmVkX3dtODc4NV9yZWdpc3RlcnNbMF0gPSBXTTg3ODVfTUNSX1NMQVZFIHwKKwkJV004Nzg1X09TUl9TSU5HTEUgfCBXTTg3ODVfRk9STUFUX0xKVVNUOworCWRhdGEtPnNhdmVkX3dtODc4NV9yZWdpc3RlcnNbMV0gPSBXTTg3ODVfV0xfMjQ7CisJd204Nzg1X3JlZ2lzdGVyc19pbml0KGNoaXApOwogCXNuZF9jb21wb25lbnRfYWRkKGNoaXAtPmNhcmQsICJXTTg3ODUiKTsKIH0KIApAQCAtMTU4LDYgKzE5MiwxMiBAQAogewogfQogCitzdGF0aWMgdm9pZCBnZW5lcmljX3Jlc3VtZShzdHJ1Y3Qgb3h5Z2VuICpjaGlwKQoreworCWFrNDM5Nl9yZWdpc3RlcnNfaW5pdChjaGlwKTsKKwl3bTg3ODVfcmVnaXN0ZXJzX2luaXQoY2hpcCk7Cit9CisKIHN0YXRpYyB2b2lkIHNldF9hazQzOTZfcGFyYW1zKHN0cnVjdCBveHlnZW4gKmNoaXAsCiAJCQkgICAgICBzdHJ1Y3Qgc25kX3BjbV9od19wYXJhbXMgKnBhcmFtcykKIHsKQEAgLTE4MywxOCArMjIzLDYgQEAKIAl9CiB9CiAKLXN0YXRpYyB2b2lkIHVwZGF0ZV9hazQzOTZfdm9sdW1lKHN0cnVjdCBveHlnZW4gKmNoaXApCi17Ci0JdW5zaWduZWQgaW50IGk7Ci0KLQlmb3IgKGkgPSAwOyBpIDwgNDsgKytpKSB7Ci0JCWFrNDM5Nl93cml0ZShjaGlwLCBpLAotCQkJICAgICBBSzQzOTZfTENIX0FUVCwgY2hpcC0+ZGFjX3ZvbHVtZVtpICogMl0pOwotCQlhazQzOTZfd3JpdGUoY2hpcCwgaSwKLQkJCSAgICAgQUs0Mzk2X1JDSF9BVFQsIGNoaXAtPmRhY192b2x1bWVbaSAqIDIgKyAxXSk7Ci0JfQotfQotCiBzdGF0aWMgdm9pZCB1cGRhdGVfYWs0Mzk2X211dGUoc3RydWN0IG94eWdlbiAqY2hpcCkKIHsKIAlzdHJ1Y3QgZ2VuZXJpY19kYXRhICpkYXRhID0gY2hpcC0+bW9kZWxfZGF0YTsKQEAgLTI1Niw2ICsyODQsNyBAQAogCS5vd25lciA9IFRISVNfTU9EVUxFLAogCS5pbml0ID0gZ2VuZXJpY19pbml0LAogCS5jbGVhbnVwID0gZ2VuZXJpY19jbGVhbnVwLAorCS5yZXN1bWUgPSBnZW5lcmljX3Jlc3VtZSwKIAkuc2V0X2RhY19wYXJhbXMgPSBzZXRfYWs0Mzk2X3BhcmFtcywKIAkuc2V0X2FkY19wYXJhbXMgPSBzZXRfd204Nzg1X3BhcmFtcywKIAkudXBkYXRlX2RhY192b2x1bWUgPSB1cGRhdGVfYWs0Mzk2X3ZvbHVtZSwKQEAgLTI4Myw2ICszMTIsNyBAQAogCS5vd25lciA9IFRISVNfTU9EVUxFLAogCS5pbml0ID0gbWVyaWRpYW5faW5pdCwKIAkuY2xlYW51cCA9IGdlbmVyaWNfY2xlYW51cCwKKwkucmVzdW1lID0gYWs0Mzk2X3JlZ2lzdGVyc19pbml0LAogCS5zZXRfZGFjX3BhcmFtcyA9IHNldF9hazQzOTZfcGFyYW1zLAogCS5zZXRfYWRjX3BhcmFtcyA9IHNldF9hazUzODVfcGFyYW1zLAogCS51cGRhdGVfZGFjX3ZvbHVtZSA9IHVwZGF0ZV9hazQzOTZfdm9sdW1lLApAQCAtMzMxLDYgKzM2MSwxMCBAQAogCS5pZF90YWJsZSA9IG94eWdlbl9pZHMsCiAJLnByb2JlID0gZ2VuZXJpY19veHlnZW5fcHJvYmUsCiAJLnJlbW92ZSA9IF9fZGV2ZXhpdF9wKG94eWdlbl9wY2lfcmVtb3ZlKSwKKyNpZmRlZiBDT05GSUdfUE0KKwkuc3VzcGVuZCA9IG94eWdlbl9wY2lfc3VzcGVuZCwKKwkucmVzdW1lID0gb3h5Z2VuX3BjaV9yZXN1bWUsCisjZW5kaWYKIH07CiAKIHN0YXRpYyBpbnQgX19pbml0IGFsc2FfY2FyZF9veHlnZW5faW5pdCh2b2lkKQpkaWZmIC0tZ2l0IGEvc291bmQvcGNpL294eWdlbi9veHlnZW4uaCBiL3NvdW5kL3BjaS9veHlnZW4vb3h5Z2VuLmgKaW5kZXggYTcxYzZlMC4uNzRhNjQ0OCAxMDA2NDQKLS0tIGEvc291bmQvcGNpL294eWdlbi9veHlnZW4uaAorKysgYi9zb3VuZC9wY2kvb3h5Z2VuL294eWdlbi5oCkBAIC0xNiw2ICsxNiw4IEBACiAjZGVmaW5lIFBDTV9BQzk3CTUKICNkZWZpbmUgUENNX0NPVU5UCTYKIAorI2RlZmluZSBPWFlHRU5fSU9fU0laRQkweDEwMAorCiAvKiBtb2RlbC1zcGVjaWZpYyBjb25maWd1cmF0aW9uIG9mIG91dHB1dHMvaW5wdXRzICovCiAjZGVmaW5lIFBMQVlCQUNLXzBfVE9fSTJTCTB4MDAxCiAjZGVmaW5lIFBMQVlCQUNLXzFfVE9fU1BESUYJMHgwMDQKQEAgLTc4LDYgKzgwLDEyIEBACiAJc3RydWN0IHdvcmtfc3RydWN0IHNwZGlmX2lucHV0X2JpdHNfd29yazsKIAlzdHJ1Y3Qgd29ya19zdHJ1Y3QgZ3Bpb193b3JrOwogCXdhaXRfcXVldWVfaGVhZF90IGFjOTdfd2FpdHF1ZXVlOworCXVuaW9uIHsKKwkJdTggXzhbT1hZR0VOX0lPX1NJWkVdOworCQlfX2xlMTYgXzE2W09YWUdFTl9JT19TSVpFIC8gMl07CisJCV9fbGUzMiBfMzJbT1hZR0VOX0lPX1NJWkUgLyA0XTsKKwl9IHNhdmVkX3JlZ2lzdGVyczsKKwl1MTYgc2F2ZWRfYWM5N19yZWdpc3RlcnNbMl1bMHg0MF07CiB9OwogCiBzdHJ1Y3Qgb3h5Z2VuX21vZGVsIHsKQEAgLTg5LDYgKzk3LDggQEAKIAlpbnQgKCpjb250cm9sX2ZpbHRlcikoc3RydWN0IHNuZF9rY29udHJvbF9uZXcgKnRlbXBsYXRlKTsKIAlpbnQgKCptaXhlcl9pbml0KShzdHJ1Y3Qgb3h5Z2VuICpjaGlwKTsKIAl2b2lkICgqY2xlYW51cCkoc3RydWN0IG94eWdlbiAqY2hpcCk7CisJdm9pZCAoKnN1c3BlbmQpKHN0cnVjdCBveHlnZW4gKmNoaXApOworCXZvaWQgKCpyZXN1bWUpKHN0cnVjdCBveHlnZW4gKmNoaXApOwogCXZvaWQgKCpwY21faGFyZHdhcmVfZmlsdGVyKSh1bnNpZ25lZCBpbnQgY2hhbm5lbCwKIAkJCQkgICAgc3RydWN0IHNuZF9wY21faGFyZHdhcmUgKmhhcmR3YXJlKTsKIAl2b2lkICgqc2V0X2RhY19wYXJhbXMpKHN0cnVjdCBveHlnZW4gKmNoaXAsCkBAIC0xMTcsNiArMTI3LDEwIEBACiBpbnQgb3h5Z2VuX3BjaV9wcm9iZShzdHJ1Y3QgcGNpX2RldiAqcGNpLCBpbnQgaW5kZXgsIGNoYXIgKmlkLAogCQkgICAgIGNvbnN0IHN0cnVjdCBveHlnZW5fbW9kZWwgKm1vZGVsKTsKIHZvaWQgb3h5Z2VuX3BjaV9yZW1vdmUoc3RydWN0IHBjaV9kZXYgKnBjaSk7CisjaWZkZWYgQ09ORklHX1BNCitpbnQgb3h5Z2VuX3BjaV9zdXNwZW5kKHN0cnVjdCBwY2lfZGV2ICpwY2ksIHBtX21lc3NhZ2VfdCBzdGF0ZSk7CitpbnQgb3h5Z2VuX3BjaV9yZXN1bWUoc3RydWN0IHBjaV9kZXYgKnBjaSk7CisjZW5kaWYKIAogLyogb3h5Z2VuX21peGVyLmMgKi8KIApkaWZmIC0tZ2l0IGEvc291bmQvcGNpL294eWdlbi9veHlnZW5faW8uYyBiL3NvdW5kL3BjaS9veHlnZW4vb3h5Z2VuX2lvLmMKaW5kZXggNTU2OTYwNi4uODNmMTM1ZiAxMDA2NDQKLS0tIGEvc291bmQvcGNpL294eWdlbi9veHlnZW5faW8uYworKysgYi9zb3VuZC9wY2kvb3h5Z2VuL294eWdlbl9pby5jCkBAIC00NCwxOCArNDQsMjEgQEAKIHZvaWQgb3h5Z2VuX3dyaXRlOChzdHJ1Y3Qgb3h5Z2VuICpjaGlwLCB1bnNpZ25lZCBpbnQgcmVnLCB1OCB2YWx1ZSkKIHsKIAlvdXRiKHZhbHVlLCBjaGlwLT5hZGRyICsgcmVnKTsKKwljaGlwLT5zYXZlZF9yZWdpc3RlcnMuXzhbcmVnXSA9IHZhbHVlOwogfQogRVhQT1JUX1NZTUJPTChveHlnZW5fd3JpdGU4KTsKIAogdm9pZCBveHlnZW5fd3JpdGUxNihzdHJ1Y3Qgb3h5Z2VuICpjaGlwLCB1bnNpZ25lZCBpbnQgcmVnLCB1MTYgdmFsdWUpCiB7CiAJb3V0dyh2YWx1ZSwgY2hpcC0+YWRkciArIHJlZyk7CisJY2hpcC0+c2F2ZWRfcmVnaXN0ZXJzLl8xNltyZWcgLyAyXSA9IGNwdV90b19sZTE2KHZhbHVlKTsKIH0KIEVYUE9SVF9TWU1CT0wob3h5Z2VuX3dyaXRlMTYpOwogCiB2b2lkIG94eWdlbl93cml0ZTMyKHN0cnVjdCBveHlnZW4gKmNoaXAsIHVuc2lnbmVkIGludCByZWcsIHUzMiB2YWx1ZSkKIHsKIAlvdXRsKHZhbHVlLCBjaGlwLT5hZGRyICsgcmVnKTsKKwljaGlwLT5zYXZlZF9yZWdpc3RlcnMuXzMyW3JlZyAvIDRdID0gY3B1X3RvX2xlMzIodmFsdWUpOwogfQogRVhQT1JUX1NZTUJPTChveHlnZW5fd3JpdGUzMik7CiAKQEAgLTYzLDcgKzY2LDEwIEBACiAJCQkgIHU4IHZhbHVlLCB1OCBtYXNrKQogewogCXU4IHRtcCA9IGluYihjaGlwLT5hZGRyICsgcmVnKTsKLQlvdXRiKCh0bXAgJiB+bWFzaykgfCAodmFsdWUgJiBtYXNrKSwgY2hpcC0+YWRkciArIHJlZyk7CisJdG1wICY9IH5tYXNrOworCXRtcCB8PSB2YWx1ZSAmIG1hc2s7CisJb3V0Yih0bXAsIGNoaXAtPmFkZHIgKyByZWcpOworCWNoaXAtPnNhdmVkX3JlZ2lzdGVycy5fOFtyZWddID0gdG1wOwogfQogRVhQT1JUX1NZTUJPTChveHlnZW5fd3JpdGU4X21hc2tlZCk7CiAKQEAgLTcxLDcgKzc3LDEwIEBACiAJCQkgICB1MTYgdmFsdWUsIHUxNiBtYXNrKQogewogCXUxNiB0bXAgPSBpbncoY2hpcC0+YWRkciArIHJlZyk7Ci0Jb3V0dygodG1wICYgfm1hc2spIHwgKHZhbHVlICYgbWFzayksIGNoaXAtPmFkZHIgKyByZWcpOworCXRtcCAmPSB+bWFzazsKKwl0bXAgfD0gdmFsdWUgJiBtYXNrOworCW91dHcodG1wLCBjaGlwLT5hZGRyICsgcmVnKTsKKwljaGlwLT5zYXZlZF9yZWdpc3RlcnMuXzE2W3JlZyAvIDJdID0gY3B1X3RvX2xlMTYodG1wKTsKIH0KIEVYUE9SVF9TWU1CT0wob3h5Z2VuX3dyaXRlMTZfbWFza2VkKTsKIApAQCAtNzksNyArODgsMTAgQEAKIAkJCSAgIHUzMiB2YWx1ZSwgdTMyIG1hc2spCiB7CiAJdTMyIHRtcCA9IGlubChjaGlwLT5hZGRyICsgcmVnKTsKLQlvdXRsKCh0bXAgJiB+bWFzaykgfCAodmFsdWUgJiBtYXNrKSwgY2hpcC0+YWRkciArIHJlZyk7CisJdG1wICY9IH5tYXNrOworCXRtcCB8PSB2YWx1ZSAmIG1hc2s7CisJb3V0bCh0bXAsIGNoaXAtPmFkZHIgKyByZWcpOworCWNoaXAtPnNhdmVkX3JlZ2lzdGVycy5fMzJbcmVnIC8gNF0gPSBjcHVfdG9fbGUzMih0bXApOwogfQogRVhQT1JUX1NZTUJPTChveHlnZW5fd3JpdGUzMl9tYXNrZWQpOwogCkBAIC0xMjgsOCArMTQwLDEwIEBACiAJCW94eWdlbl93cml0ZTMyKGNoaXAsIE9YWUdFTl9BQzk3X1JFR1MsIHJlZyk7CiAJCS8qIHJlcXVpcmUgdHdvICJjb21wbGV0ZWQiIHdyaXRlcywganVzdCB0byBiZSBzdXJlICovCiAJCWlmIChveHlnZW5fYWM5N193YWl0KGNoaXAsIE9YWUdFTl9BQzk3X0lOVF9XUklURV9ET05FKSA+PSAwICYmCi0JCSAgICArK3N1Y2NlZWRlZCA+PSAyKQorCQkgICAgKytzdWNjZWVkZWQgPj0gMikgeworCQkJY2hpcC0+c2F2ZWRfYWM5N19yZWdpc3RlcnNbY29kZWNdW2luZGV4IC8gMl0gPSBkYXRhOwogCQkJcmV0dXJuOworCQl9CiAJfQogCXNuZF9wcmludGsoS0VSTl9FUlIgIkFDJzk3IHdyaXRlIHRpbWVvdXRcbiIpOwogfQpkaWZmIC0tZ2l0IGEvc291bmQvcGNpL294eWdlbi9veHlnZW5fbGliLmMgYi9zb3VuZC9wY2kvb3h5Z2VuL294eWdlbl9saWIuYwppbmRleCA4OTc2OTdkLi4yMmYzNzg1IDEwMDY0NAotLS0gYS9zb3VuZC9wY2kvb3h5Z2VuL294eWdlbl9saWIuYworKysgYi9zb3VuZC9wY2kvb3h5Z2VuL294eWdlbl9saWIuYwpAQCAtMzIsNyArMzIsNyBAQAogCiBNT0RVTEVfQVVUSE9SKCJDbGVtZW5zIExhZGlzY2ggPGNsZW1lbnNAbGFkaXNjaC5kZT4iKTsKIE1PRFVMRV9ERVNDUklQVElPTigiQy1NZWRpYSBDTUk4Nzg4IGhlbHBlciBsaWJyYXJ5Iik7Ci1NT0RVTEVfTElDRU5TRSgiR1BMIik7CitNT0RVTEVfTElDRU5TRSgiR1BMIHYyIik7CiAKIAogc3RhdGljIGlycXJldHVybl90IG94eWdlbl9pbnRlcnJ1cHQoaW50IGR1bW15LCB2b2lkICpkZXZfaWQpCkBAIC0xNzMsNyArMTczLDcgQEAKIAlpbnQgaSwgajsKIAogCXNuZF9pcHJpbnRmKGJ1ZmZlciwgIkNNSTg3ODhcblxuIik7Ci0JZm9yIChpID0gMDsgaSA8IDB4MTAwOyBpICs9IDB4MTApIHsKKwlmb3IgKGkgPSAwOyBpIDwgT1hZR0VOX0lPX1NJWkU7IGkgKz0gMHgxMCkgewogCQlzbmRfaXByaW50ZihidWZmZXIsICIlMDJ4OiIsIGkpOwogCQlmb3IgKGogPSAwOyBqIDwgMHgxMDsgKytqKQogCQkJc25kX2lwcmludGYoYnVmZmVyLCAiICUwMngiLCBveHlnZW5fcmVhZDgoY2hpcCwgaSArIGopKTsKQEAgLTMxNCw2ICszMTQsMTAgQEAKIAkJCQkgICAgT1hZR0VOX1NQRElGX0xPQ0tfTUFTSyB8CiAJCQkJICAgIE9YWUdFTl9TUERJRl9SQVRFX01BU0spOwogCW94eWdlbl93cml0ZTMyKGNoaXAsIE9YWUdFTl9TUERJRl9PVVRQVVRfQklUUywgY2hpcC0+c3BkaWZfYml0cyk7CisJb3h5Z2VuX3dyaXRlMTYoY2hpcCwgT1hZR0VOXzJXSVJFX0JVU19TVEFUVVMsCisJCSAgICAgICBPWFlHRU5fMldJUkVfTEVOR1RIXzggfAorCQkgICAgICAgT1hZR0VOXzJXSVJFX0lOVEVSUlVQVF9NQVNLIHwKKwkJICAgICAgIE9YWUdFTl8yV0lSRV9TUEVFRF9TVEFOREFSRCk7CiAJb3h5Z2VuX2NsZWFyX2JpdHM4KGNoaXAsIE9YWUdFTl9NUFU0MDFfQ09OVFJPTCwgT1hZR0VOX01QVTQwMV9MT09QQkFDSyk7CiAJb3h5Z2VuX3dyaXRlOChjaGlwLCBPWFlHRU5fR1BJX0lOVEVSUlVQVF9NQVNLLCAwKTsKIAlveHlnZW5fd3JpdGUxNihjaGlwLCBPWFlHRU5fR1BJT19JTlRFUlJVUFRfTUFTSywgMCk7CkBAIC00NTUsNyArNDU5LDcgQEAKIAl9CiAKIAlpZiAoIShwY2lfcmVzb3VyY2VfZmxhZ3MocGNpLCAwKSAmIElPUkVTT1VSQ0VfSU8pIHx8Ci0JICAgIHBjaV9yZXNvdXJjZV9sZW4ocGNpLCAwKSA8IDB4MTAwKSB7CisJICAgIHBjaV9yZXNvdXJjZV9sZW4ocGNpLCAwKSA8IE9YWUdFTl9JT19TSVpFKSB7CiAJCXNuZF9wcmludGsoS0VSTl9FUlIgImludmFsaWQgUENJIEkvTyByYW5nZVxuIik7CiAJCWVyciA9IC1FTlhJTzsKIAkJZ290byBlcnJfcGNpX3JlZ2lvbnM7CkBAIC01MzQsMyArNTM4LDk5IEBACiAJcGNpX3NldF9kcnZkYXRhKHBjaSwgTlVMTCk7CiB9CiBFWFBPUlRfU1lNQk9MKG94eWdlbl9wY2lfcmVtb3ZlKTsKKworI2lmZGVmIENPTkZJR19QTQoraW50IG94eWdlbl9wY2lfc3VzcGVuZChzdHJ1Y3QgcGNpX2RldiAqcGNpLCBwbV9tZXNzYWdlX3Qgc3RhdGUpCit7CisJc3RydWN0IHNuZF9jYXJkICpjYXJkID0gcGNpX2dldF9kcnZkYXRhKHBjaSk7CisJc3RydWN0IG94eWdlbiAqY2hpcCA9IGNhcmQtPnByaXZhdGVfZGF0YTsKKwl1bnNpZ25lZCBpbnQgaSwgc2F2ZWRfaW50ZXJydXB0X21hc2s7CisKKwlzbmRfcG93ZXJfY2hhbmdlX3N0YXRlKGNhcmQsIFNORFJWX0NUTF9QT1dFUl9EM2hvdCk7CisKKwlmb3IgKGkgPSAwOyBpIDwgUENNX0NPVU5UOyArK2kpCisJCWlmIChjaGlwLT5zdHJlYW1zW2ldKQorCQkJc25kX3BjbV9zdXNwZW5kKGNoaXAtPnN0cmVhbXNbaV0pOworCisJaWYgKGNoaXAtPm1vZGVsLT5zdXNwZW5kKQorCQljaGlwLT5tb2RlbC0+c3VzcGVuZChjaGlwKTsKKworCXNwaW5fbG9ja19pcnEoJmNoaXAtPnJlZ19sb2NrKTsKKwlzYXZlZF9pbnRlcnJ1cHRfbWFzayA9IGNoaXAtPmludGVycnVwdF9tYXNrOworCWNoaXAtPmludGVycnVwdF9tYXNrID0gMDsKKwlveHlnZW5fd3JpdGUxNihjaGlwLCBPWFlHRU5fRE1BX1NUQVRVUywgMCk7CisJb3h5Z2VuX3dyaXRlMTYoY2hpcCwgT1hZR0VOX0lOVEVSUlVQVF9NQVNLLCAwKTsKKwlzcGluX3VubG9ja19pcnEoJmNoaXAtPnJlZ19sb2NrKTsKKworCXN5bmNocm9uaXplX2lycShjaGlwLT5pcnEpOworCWZsdXNoX3NjaGVkdWxlZF93b3JrKCk7CisJY2hpcC0+aW50ZXJydXB0X21hc2sgPSBzYXZlZF9pbnRlcnJ1cHRfbWFzazsKKworCXBjaV9kaXNhYmxlX2RldmljZShwY2kpOworCXBjaV9zYXZlX3N0YXRlKHBjaSk7CisJcGNpX3NldF9wb3dlcl9zdGF0ZShwY2ksIHBjaV9jaG9vc2Vfc3RhdGUocGNpLCBzdGF0ZSkpOworCXJldHVybiAwOworfQorRVhQT1JUX1NZTUJPTChveHlnZW5fcGNpX3N1c3BlbmQpOworCitzdGF0aWMgY29uc3QgdTMyIHJlZ2lzdGVyc190b19yZXN0b3JlW09YWUdFTl9JT19TSVpFIC8gMzJdID0geworCTB4ZmZmZmZmZmYsIDB4MDBmZjA3N2YsIDB4MDAwMTFkMDgsIDB4MDA3ZjAwZmYsCisJMHgwMDMwMDAwMCwgMHgwMDAwMGZlNCwgMHgwZmY3MDAxZiwgMHgwMDAwMDAwMAorfTsKK3N0YXRpYyBjb25zdCB1MzIgYWM5N19yZWdpc3RlcnNfdG9fcmVzdG9yZVsyXVsweDQwIC8gMzJdID0geworCXsgMHgxODI4NGZhMiwgMHgwMzA2MDAwMCB9LAorCXsgMHgwMDAwN2ZhNiwgMHgwMDIwMDAwMCB9Cit9OworCitzdGF0aWMgaW5saW5lIGludCBpc19iaXRfc2V0KGNvbnN0IHUzMiAqYml0bWFwLCB1bnNpZ25lZCBpbnQgYml0KQoreworCXJldHVybiBiaXRtYXBbYml0IC8gMzJdICYgKDEgPDwgKGJpdCAmIDMxKSk7Cit9CisKK3N0YXRpYyB2b2lkIG94eWdlbl9yZXN0b3JlX2FjOTcoc3RydWN0IG94eWdlbiAqY2hpcCwgdW5zaWduZWQgaW50IGNvZGVjKQoreworCXVuc2lnbmVkIGludCBpOworCisJb3h5Z2VuX3dyaXRlX2FjOTcoY2hpcCwgY29kZWMsIEFDOTdfUkVTRVQsIDApOworCW1zbGVlcCgxKTsKKwlmb3IgKGkgPSAxOyBpIDwgMHg0MDsgKytpKQorCQlpZiAoaXNfYml0X3NldChhYzk3X3JlZ2lzdGVyc190b19yZXN0b3JlW2NvZGVjXSwgaSkpCisJCQlveHlnZW5fd3JpdGVfYWM5NyhjaGlwLCBjb2RlYywgaSAqIDIsCisJCQkJCSAgY2hpcC0+c2F2ZWRfYWM5N19yZWdpc3RlcnNbY29kZWNdW2ldKTsKK30KKworaW50IG94eWdlbl9wY2lfcmVzdW1lKHN0cnVjdCBwY2lfZGV2ICpwY2kpCit7CisJc3RydWN0IHNuZF9jYXJkICpjYXJkID0gcGNpX2dldF9kcnZkYXRhKHBjaSk7CisJc3RydWN0IG94eWdlbiAqY2hpcCA9IGNhcmQtPnByaXZhdGVfZGF0YTsKKwl1bnNpZ25lZCBpbnQgaTsKKworCXBjaV9zZXRfcG93ZXJfc3RhdGUocGNpLCBQQ0lfRDApOworCXBjaV9yZXN0b3JlX3N0YXRlKHBjaSk7CisJaWYgKHBjaV9lbmFibGVfZGV2aWNlKHBjaSkgPCAwKSB7CisJCXNuZF9wcmludGsoS0VSTl9FUlIgImNhbm5vdCByZWVuYWJsZSBkZXZpY2UiKTsKKwkJc25kX2NhcmRfZGlzY29ubmVjdChjYXJkKTsKKwkJcmV0dXJuIC1FSU87CisJfQorCXBjaV9zZXRfbWFzdGVyKHBjaSk7CisKKwlveHlnZW5fd3JpdGUxNihjaGlwLCBPWFlHRU5fRE1BX1NUQVRVUywgMCk7CisJb3h5Z2VuX3dyaXRlMTYoY2hpcCwgT1hZR0VOX0lOVEVSUlVQVF9NQVNLLCAwKTsKKwlmb3IgKGkgPSAwOyBpIDwgT1hZR0VOX0lPX1NJWkU7ICsraSkKKwkJaWYgKGlzX2JpdF9zZXQocmVnaXN0ZXJzX3RvX3Jlc3RvcmUsIGkpKQorCQkJb3h5Z2VuX3dyaXRlOChjaGlwLCBpLCBjaGlwLT5zYXZlZF9yZWdpc3RlcnMuXzhbaV0pOworCWlmIChjaGlwLT5oYXNfYWM5N18wKQorCQlveHlnZW5fcmVzdG9yZV9hYzk3KGNoaXAsIDApOworCWlmIChjaGlwLT5oYXNfYWM5N18xKQorCQlveHlnZW5fcmVzdG9yZV9hYzk3KGNoaXAsIDEpOworCisJaWYgKGNoaXAtPm1vZGVsLT5yZXN1bWUpCisJCWNoaXAtPm1vZGVsLT5yZXN1bWUoY2hpcCk7CisKKwlveHlnZW5fd3JpdGUxNihjaGlwLCBPWFlHRU5fSU5URVJSVVBUX01BU0ssIGNoaXAtPmludGVycnVwdF9tYXNrKTsKKworCXNuZF9wb3dlcl9jaGFuZ2Vfc3RhdGUoY2FyZCwgU05EUlZfQ1RMX1BPV0VSX0QwKTsKKwlyZXR1cm4gMDsKK30KK0VYUE9SVF9TWU1CT0wob3h5Z2VuX3BjaV9yZXN1bWUpOworI2VuZGlmIC8qIENPTkZJR19QTSAqLwpkaWZmIC0tZ2l0IGEvc291bmQvcGNpL294eWdlbi9veHlnZW5fcGNtLmMgYi9zb3VuZC9wY2kvb3h5Z2VuL294eWdlbl9wY20uYwppbmRleCBiMTdjNDA1Li5jNGFkNjVhIDEwMDY0NAotLS0gYS9zb3VuZC9wY2kvb3h5Z2VuL294eWdlbl9wY20uYworKysgYi9zb3VuZC9wY2kvb3h5Z2VuL294eWdlbl9wY20uYwpAQCAtMjQsNiArMjQsMTYgQEAKICNpbmNsdWRlIDxzb3VuZC9wY21fcGFyYW1zLmg+CiAjaW5jbHVkZSAib3h5Z2VuLmgiCiAKKy8qIG1vc3QgRE1BIGNoYW5uZWxzIGhhdmUgYSAxNi1iaXQgY291bnRlciBmb3IgMzItYml0IHdvcmRzICovCisjZGVmaW5lIEJVRkZFUl9CWVRFU19NQVgJCSgoMSA8PCAxNikgKiA0KQorLyogdGhlIG11bHRpY2hhbm5lbCBETUEgY2hhbm5lbCBoYXMgYSAyNC1iaXQgY291bnRlciAqLworI2RlZmluZSBCVUZGRVJfQllURVNfTUFYX01VTFRJQ0gJKCgxIDw8IDI0KSAqIDQpCisKKyNkZWZpbmUgUEVSSU9EX0JZVEVTX01JTgkJNjQKKworI2RlZmluZSBERUZBVUxUX0JVRkZFUl9CWVRFUwkJKEJVRkZFUl9CWVRFU19NQVggLyAyKQorI2RlZmluZSBERUZBVUxUX0JVRkZFUl9CWVRFU19NVUxUSUNICSgxMDI0ICogMTAyNCkKKwogc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfcGNtX2hhcmR3YXJlIG94eWdlbl9zdGVyZW9faGFyZHdhcmUgPSB7CiAJLmluZm8gPSBTTkRSVl9QQ01fSU5GT19NTUFQIHwKIAkJU05EUlZfUENNX0lORk9fTU1BUF9WQUxJRCB8CkBAIC00NCwxMSArNTQsMTEgQEAKIAkucmF0ZV9tYXggPSAxOTIwMDAsCiAJLmNoYW5uZWxzX21pbiA9IDIsCiAJLmNoYW5uZWxzX21heCA9IDIsCi0JLmJ1ZmZlcl9ieXRlc19tYXggPSAyNTYgKiAxMDI0LAotCS5wZXJpb2RfYnl0ZXNfbWluID0gMTI4LAotCS5wZXJpb2RfYnl0ZXNfbWF4ID0gMTI4ICogMTAyNCwKKwkuYnVmZmVyX2J5dGVzX21heCA9IEJVRkZFUl9CWVRFU19NQVgsCisJLnBlcmlvZF9ieXRlc19taW4gPSBQRVJJT0RfQllURVNfTUlOLAorCS5wZXJpb2RfYnl0ZXNfbWF4ID0gQlVGRkVSX0JZVEVTX01BWCAvIDIsCiAJLnBlcmlvZHNfbWluID0gMiwKLQkucGVyaW9kc19tYXggPSAyMDQ4LAorCS5wZXJpb2RzX21heCA9IEJVRkZFUl9CWVRFU19NQVggLyBQRVJJT0RfQllURVNfTUlOLAogfTsKIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX3BjbV9oYXJkd2FyZSBveHlnZW5fbXVsdGljaGFubmVsX2hhcmR3YXJlID0gewogCS5pbmZvID0gU05EUlZfUENNX0lORk9fTU1BUCB8CkBAIC03MCwxMSArODAsMTEgQEAKIAkucmF0ZV9tYXggPSAxOTIwMDAsCiAJLmNoYW5uZWxzX21pbiA9IDIsCiAJLmNoYW5uZWxzX21heCA9IDgsCi0JLmJ1ZmZlcl9ieXRlc19tYXggPSAyMDQ4ICogMTAyNCwKLQkucGVyaW9kX2J5dGVzX21pbiA9IDEyOCwKLQkucGVyaW9kX2J5dGVzX21heCA9IDI1NiAqIDEwMjQsCisJLmJ1ZmZlcl9ieXRlc19tYXggPSBCVUZGRVJfQllURVNfTUFYX01VTFRJQ0gsCisJLnBlcmlvZF9ieXRlc19taW4gPSBQRVJJT0RfQllURVNfTUlOLAorCS5wZXJpb2RfYnl0ZXNfbWF4ID0gQlVGRkVSX0JZVEVTX01BWF9NVUxUSUNIIC8gMiwKIAkucGVyaW9kc19taW4gPSAyLAotCS5wZXJpb2RzX21heCA9IDE2Mzg0LAorCS5wZXJpb2RzX21heCA9IEJVRkZFUl9CWVRFU19NQVhfTVVMVElDSCAvIFBFUklPRF9CWVRFU19NSU4sCiB9Owogc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfcGNtX2hhcmR3YXJlIG94eWdlbl9hYzk3X2hhcmR3YXJlID0gewogCS5pbmZvID0gU05EUlZfUENNX0lORk9fTU1BUCB8CkBAIC04OCwxMSArOTgsMTEgQEAKIAkucmF0ZV9tYXggPSA0ODAwMCwKIAkuY2hhbm5lbHNfbWluID0gMiwKIAkuY2hhbm5lbHNfbWF4ID0gMiwKLQkuYnVmZmVyX2J5dGVzX21heCA9IDI1NiAqIDEwMjQsCi0JLnBlcmlvZF9ieXRlc19taW4gPSAxMjgsCi0JLnBlcmlvZF9ieXRlc19tYXggPSAxMjggKiAxMDI0LAorCS5idWZmZXJfYnl0ZXNfbWF4ID0gQlVGRkVSX0JZVEVTX01BWCwKKwkucGVyaW9kX2J5dGVzX21pbiA9IFBFUklPRF9CWVRFU19NSU4sCisJLnBlcmlvZF9ieXRlc19tYXggPSBCVUZGRVJfQllURVNfTUFYIC8gMiwKIAkucGVyaW9kc19taW4gPSAyLAotCS5wZXJpb2RzX21heCA9IDIwNDgsCisJLnBlcmlvZHNfbWF4ID0gQlVGRkVSX0JZVEVTX01BWCAvIFBFUklPRF9CWVRFU19NSU4sCiB9OwogCiBzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9wY21faGFyZHdhcmUgKmNvbnN0IG94eWdlbl9oYXJkd2FyZVtQQ01fQ09VTlRdID0gewpAQCAtMTU1LDYgKzE2NSwxMiBAQAogCQlpZiAoZXJyIDwgMCkKIAkJCXJldHVybiBlcnI7CiAJfQorCWlmIChjaGFubmVsID09IFBDTV9NVUxUSUNIKSB7CisJCWVyciA9IHNuZF9wY21faHdfY29uc3RyYWludF9taW5tYXgKKwkJCShydW50aW1lLCBTTkRSVl9QQ01fSFdfUEFSQU1fUEVSSU9EX1RJTUUsIDAsIDgxOTIwMDApOworCQlpZiAoZXJyIDwgMCkKKwkJCXJldHVybiBlcnI7CisJfQogCXNuZF9wY21fc2V0X3N5bmMoc3Vic3RyZWFtKTsKIAljaGlwLT5zdHJlYW1zW2NoYW5uZWxdID0gc3Vic3RyZWFtOwogCkBAIC01MTcsNiArNTMzLDcgQEAKIAlzd2l0Y2ggKGNtZCkgewogCWNhc2UgU05EUlZfUENNX1RSSUdHRVJfU1RPUDoKIAljYXNlIFNORFJWX1BDTV9UUklHR0VSX1NUQVJUOgorCWNhc2UgU05EUlZfUENNX1RSSUdHRVJfU1VTUEVORDoKIAkJcGF1c2luZyA9IDA7CiAJCWJyZWFrOwogCWNhc2UgU05EUlZfUENNX1RSSUdHRVJfUEFVU0VfUFVTSDoKQEAgLTY2MywxMiArNjgwLDE0IEBACiAJCQlzbmRfcGNtX2xpYl9wcmVhbGxvY2F0ZV9wYWdlcyhwY20tPnN0cmVhbXNbU05EUlZfUENNX1NUUkVBTV9QTEFZQkFDS10uc3Vic3RyZWFtLAogCQkJCQkJICAgICAgU05EUlZfRE1BX1RZUEVfREVWLAogCQkJCQkJICAgICAgc25kX2RtYV9wY2lfZGF0YShjaGlwLT5wY2kpLAotCQkJCQkJICAgICAgNTEyICogMTAyNCwgMjA0OCAqIDEwMjQpOworCQkJCQkJICAgICAgREVGQVVMVF9CVUZGRVJfQllURVNfTVVMVElDSCwKKwkJCQkJCSAgICAgIEJVRkZFUl9CWVRFU19NQVhfTVVMVElDSCk7CiAJCWlmIChpbnMpCiAJCQlzbmRfcGNtX2xpYl9wcmVhbGxvY2F0ZV9wYWdlcyhwY20tPnN0cmVhbXNbU05EUlZfUENNX1NUUkVBTV9DQVBUVVJFXS5zdWJzdHJlYW0sCiAJCQkJCQkgICAgICBTTkRSVl9ETUFfVFlQRV9ERVYsCiAJCQkJCQkgICAgICBzbmRfZG1hX3BjaV9kYXRhKGNoaXAtPnBjaSksCi0JCQkJCQkgICAgICAxMjggKiAxMDI0LCAyNTYgKiAxMDI0KTsKKwkJCQkJCSAgICAgIERFRkFVTFRfQlVGRkVSX0JZVEVTLAorCQkJCQkJICAgICAgQlVGRkVSX0JZVEVTX01BWCk7CiAJfQogCiAJb3V0cyA9ICEhKGNoaXAtPm1vZGVsLT5wY21fZGV2X2NmZyAmIFBMQVlCQUNLXzFfVE9fU1BESUYpOwpAQCAtNjg4LDcgKzcwNyw4IEBACiAJCXN0cmNweShwY20tPm5hbWUsICJEaWdpdGFsIik7CiAJCXNuZF9wY21fbGliX3ByZWFsbG9jYXRlX3BhZ2VzX2Zvcl9hbGwocGNtLCBTTkRSVl9ETUFfVFlQRV9ERVYsCiAJCQkJCQkgICAgICBzbmRfZG1hX3BjaV9kYXRhKGNoaXAtPnBjaSksCi0JCQkJCQkgICAgICAxMjggKiAxMDI0LCAyNTYgKiAxMDI0KTsKKwkJCQkJCSAgICAgIERFRkFVTFRfQlVGRkVSX0JZVEVTLAorCQkJCQkJICAgICAgQlVGRkVSX0JZVEVTX01BWCk7CiAJfQogCiAJaWYgKGNoaXAtPmhhc19hYzk3XzEpIHsKQEAgLTcxOCw3ICs3MzgsOCBAQAogCQlzdHJjcHkocGNtLT5uYW1lLCBvdXRzID8gIkZyb250IFBhbmVsIiA6ICJBbmFsb2cgMiIpOwogCQlzbmRfcGNtX2xpYl9wcmVhbGxvY2F0ZV9wYWdlc19mb3JfYWxsKHBjbSwgU05EUlZfRE1BX1RZUEVfREVWLAogCQkJCQkJICAgICAgc25kX2RtYV9wY2lfZGF0YShjaGlwLT5wY2kpLAotCQkJCQkJICAgICAgMTI4ICogMTAyNCwgMjU2ICogMTAyNCk7CisJCQkJCQkgICAgICBERUZBVUxUX0JVRkZFUl9CWVRFUywKKwkJCQkJCSAgICAgIEJVRkZFUl9CWVRFU19NQVgpOwogCX0KIAlyZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL3NvdW5kL3BjaS9veHlnZW4vdmlydHVvc28uYyBiL3NvdW5kL3BjaS9veHlnZW4vdmlydHVvc28uYwppbmRleCA3Zjg0ZmE1Li45YTJjMTZiIDEwMDY0NAotLS0gYS9zb3VuZC9wY2kvb3h5Z2VuL3ZpcnR1b3NvLmMKKysrIGIvc291bmQvcGNpL294eWdlbi92aXJ0dW9zby5jCkBAIC03OSw3ICs3OSw3IEBACiAKIE1PRFVMRV9BVVRIT1IoIkNsZW1lbnMgTGFkaXNjaCA8Y2xlbWVuc0BsYWRpc2NoLmRlPiIpOwogTU9EVUxFX0RFU0NSSVBUSU9OKCJBc3VzIEFWeDAwIGRyaXZlciIpOwotTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOworTU9EVUxFX0xJQ0VOU0UoIkdQTCB2MiIpOwogTU9EVUxFX1NVUFBPUlRFRF9ERVZJQ0UoInt7QXN1cyxBVjEwMH0se0FzdXMsQVYyMDB9fSIpOwogCiBzdGF0aWMgaW50IGluZGV4W1NORFJWX0NBUkRTXSA9IFNORFJWX0RFRkFVTFRfSURYOwpAQCAtMTMyLDYgKzEzMiw5IEBACiAJdTggZXh0X3Bvd2VyX2ludF9yZWc7CiAJdTggZXh0X3Bvd2VyX2JpdDsKIAl1OCBoYXNfcG93ZXI7CisJdTggcGNtMTc5Nl9vdmVyc2FtcGxpbmc7CisJdTggY3M0Mzk4X2ZtOworCXU4IGNzNDM2MmFfZm07CiB9OwogCiBzdGF0aWMgdm9pZCBwY20xNzk2X3dyaXRlKHN0cnVjdCBveHlnZW4gKmNoaXAsIHVuc2lnbmVkIGludCBjb2RlYywKQEAgLTE1OSw2ICsxNjIsMTQgQEAKIAlveHlnZW5fd3JpdGVfaTJjKGNoaXAsIEkyQ19ERVZJQ0VfQ1M0MzYyQSwgcmVnLCB2YWx1ZSk7CiB9CiAKK3N0YXRpYyB2b2lkIHhvbmFyX2VuYWJsZV9vdXRwdXQoc3RydWN0IG94eWdlbiAqY2hpcCkKK3sKKwlzdHJ1Y3QgeG9uYXJfZGF0YSAqZGF0YSA9IGNoaXAtPm1vZGVsX2RhdGE7CisKKwltc2xlZXAoZGF0YS0+YW50aV9wb3BfZGVsYXkpOworCW94eWdlbl9zZXRfYml0czE2KGNoaXAsIE9YWUdFTl9HUElPX0RBVEEsIGRhdGEtPm91dHB1dF9lbmFibGVfYml0KTsKK30KKwogc3RhdGljIHZvaWQgeG9uYXJfY29tbW9uX2luaXQoc3RydWN0IG94eWdlbiAqY2hpcCkKIHsKIAlzdHJ1Y3QgeG9uYXJfZGF0YSAqZGF0YSA9IGNoaXAtPm1vZGVsX2RhdGE7CkBAIC0xNzAsMzIgKzE4MSw1OSBAQAogCQlkYXRhLT5oYXNfcG93ZXIgPSAhIShveHlnZW5fcmVhZDgoY2hpcCwgZGF0YS0+ZXh0X3Bvd2VyX3JlZykKIAkJCQkgICAgICYgZGF0YS0+ZXh0X3Bvd2VyX2JpdCk7CiAJfQotCW94eWdlbl9zZXRfYml0czE2KGNoaXAsIE9YWUdFTl9HUElPX0NPTlRST0wsIEdQSU9fQ1M1M3gxX01fTUFTSyk7CisJb3h5Z2VuX3NldF9iaXRzMTYoY2hpcCwgT1hZR0VOX0dQSU9fQ09OVFJPTCwKKwkJCSAgR1BJT19DUzUzeDFfTV9NQVNLIHwgZGF0YS0+b3V0cHV0X2VuYWJsZV9iaXQpOwogCW94eWdlbl93cml0ZTE2X21hc2tlZChjaGlwLCBPWFlHRU5fR1BJT19EQVRBLAogCQkJICAgICAgR1BJT19DUzUzeDFfTV9TSU5HTEUsIEdQSU9fQ1M1M3gxX01fTUFTSyk7CiAJb3h5Z2VuX2FjOTdfc2V0X2JpdHMoY2hpcCwgMCwgQ005NzgwX0pBQ0ssIENNOTc4MF9GTUlDMk1JQyk7Ci0JbXNsZWVwKGRhdGEtPmFudGlfcG9wX2RlbGF5KTsKLQlveHlnZW5fc2V0X2JpdHMxNihjaGlwLCBPWFlHRU5fR1BJT19DT05UUk9MLCBkYXRhLT5vdXRwdXRfZW5hYmxlX2JpdCk7Ci0Jb3h5Z2VuX3NldF9iaXRzMTYoY2hpcCwgT1hZR0VOX0dQSU9fREFUQSwgZGF0YS0+b3V0cHV0X2VuYWJsZV9iaXQpOworCXhvbmFyX2VuYWJsZV9vdXRwdXQoY2hpcCk7Cit9CisKK3N0YXRpYyB2b2lkIHVwZGF0ZV9wY20xNzk2X3ZvbHVtZShzdHJ1Y3Qgb3h5Z2VuICpjaGlwKQoreworCXVuc2lnbmVkIGludCBpOworCisJZm9yIChpID0gMDsgaSA8IDQ7ICsraSkgeworCQlwY20xNzk2X3dyaXRlKGNoaXAsIGksIDE2LCBjaGlwLT5kYWNfdm9sdW1lW2kgKiAyXSk7CisJCXBjbTE3OTZfd3JpdGUoY2hpcCwgaSwgMTcsIGNoaXAtPmRhY192b2x1bWVbaSAqIDIgKyAxXSk7CisJfQorfQorCitzdGF0aWMgdm9pZCB1cGRhdGVfcGNtMTc5Nl9tdXRlKHN0cnVjdCBveHlnZW4gKmNoaXApCit7CisJdW5zaWduZWQgaW50IGk7CisJdTggdmFsdWU7CisKKwl2YWx1ZSA9IFBDTTE3OTZfRE1GX0RJU0FCTEVEIHwgUENNMTc5Nl9GTVRfMjRfTEpVU1QgfCBQQ00xNzk2X0FUTEQ7CisJaWYgKGNoaXAtPmRhY19tdXRlKQorCQl2YWx1ZSB8PSBQQ00xNzk2X01VVEU7CisJZm9yIChpID0gMDsgaSA8IDQ7ICsraSkKKwkJcGNtMTc5Nl93cml0ZShjaGlwLCBpLCAxOCwgdmFsdWUpOworfQorCitzdGF0aWMgdm9pZCBwY20xNzk2X2luaXQoc3RydWN0IG94eWdlbiAqY2hpcCkKK3sKKwlzdHJ1Y3QgeG9uYXJfZGF0YSAqZGF0YSA9IGNoaXAtPm1vZGVsX2RhdGE7CisJdW5zaWduZWQgaW50IGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgNDsgKytpKSB7CisJCXBjbTE3OTZfd3JpdGUoY2hpcCwgaSwgMTksIFBDTTE3OTZfRkxUX1NIQVJQIHwgUENNMTc5Nl9BVFNfMSk7CisJCXBjbTE3OTZfd3JpdGUoY2hpcCwgaSwgMjAsIGRhdGEtPnBjbTE3OTZfb3ZlcnNhbXBsaW5nKTsKKwkJcGNtMTc5Nl93cml0ZShjaGlwLCBpLCAyMSwgMCk7CisJfQorCXVwZGF0ZV9wY20xNzk2X211dGUoY2hpcCk7IC8qIHNldCBBVExEIGJlZm9yZSBBVEwvQVRSICovCisJdXBkYXRlX3BjbTE3OTZfdm9sdW1lKGNoaXApOwogfQogCiBzdGF0aWMgdm9pZCB4b25hcl9kMl9pbml0KHN0cnVjdCBveHlnZW4gKmNoaXApCiB7CiAJc3RydWN0IHhvbmFyX2RhdGEgKmRhdGEgPSBjaGlwLT5tb2RlbF9kYXRhOwotCXVuc2lnbmVkIGludCBpOwogCiAJZGF0YS0+YW50aV9wb3BfZGVsYXkgPSAzMDA7CiAJZGF0YS0+b3V0cHV0X2VuYWJsZV9iaXQgPSBHUElPX0QyX09VVFBVVF9FTkFCTEU7CisJZGF0YS0+cGNtMTc5Nl9vdmVyc2FtcGxpbmcgPSBQQ00xNzk2X09TXzY0OwogCi0JZm9yIChpID0gMDsgaSA8IDQ7ICsraSkgewotCQlwY20xNzk2X3dyaXRlKGNoaXAsIGksIDE4LCBQQ00xNzk2X01VVEUgfCBQQ00xNzk2X0RNRl9ESVNBQkxFRCB8Ci0JCQkgICAgICBQQ00xNzk2X0ZNVF8yNF9MSlVTVCB8IFBDTTE3OTZfQVRMRCk7Ci0JCXBjbTE3OTZfd3JpdGUoY2hpcCwgaSwgMTksIFBDTTE3OTZfRkxUX1NIQVJQIHwgUENNMTc5Nl9BVFNfMSk7Ci0JCXBjbTE3OTZfd3JpdGUoY2hpcCwgaSwgMjAsIFBDTTE3OTZfT1NfNjQpOwotCQlwY20xNzk2X3dyaXRlKGNoaXAsIGksIDIxLCAwKTsKLQkJcGNtMTc5Nl93cml0ZShjaGlwLCBpLCAxNiwgMHgwZik7IC8qIHNldCBBVEwvQVRSIGFmdGVyIEFUTEQgKi8KLQkJcGNtMTc5Nl93cml0ZShjaGlwLCBpLCAxNywgMHgwZik7Ci0JfQorCXBjbTE3OTZfaW5pdChjaGlwKTsKIAogCW94eWdlbl9zZXRfYml0czE2KGNoaXAsIE9YWUdFTl9HUElPX0NPTlRST0wsIEdQSU9fRDJfQUxUKTsKIAlveHlnZW5fY2xlYXJfYml0czE2KGNoaXAsIE9YWUdFTl9HUElPX0RBVEEsIEdQSU9fRDJfQUxUKTsKQEAgLTIxNywxNTEgKzI1NSw2IEBACiAJeG9uYXJfZDJfaW5pdChjaGlwKTsKIH0KIAotc3RhdGljIHZvaWQgeG9uYXJfZHhfaW5pdChzdHJ1Y3Qgb3h5Z2VuICpjaGlwKQotewotCXN0cnVjdCB4b25hcl9kYXRhICpkYXRhID0gY2hpcC0+bW9kZWxfZGF0YTsKLQotCWRhdGEtPmFudGlfcG9wX2RlbGF5ID0gODAwOwotCWRhdGEtPm91dHB1dF9lbmFibGVfYml0ID0gR1BJT19EWF9PVVRQVVRfRU5BQkxFOwotCWRhdGEtPmV4dF9wb3dlcl9yZWcgPSBPWFlHRU5fR1BJX0RBVEE7Ci0JZGF0YS0+ZXh0X3Bvd2VyX2ludF9yZWcgPSBPWFlHRU5fR1BJX0lOVEVSUlVQVF9NQVNLOwotCWRhdGEtPmV4dF9wb3dlcl9iaXQgPSBHUElfRFhfRVhUX1BPV0VSOwotCi0Jb3h5Z2VuX3dyaXRlMTYoY2hpcCwgT1hZR0VOXzJXSVJFX0JVU19TVEFUVVMsCi0JCSAgICAgICBPWFlHRU5fMldJUkVfTEVOR1RIXzggfAotCQkgICAgICAgT1hZR0VOXzJXSVJFX0lOVEVSUlVQVF9NQVNLIHwKLQkJICAgICAgIE9YWUdFTl8yV0lSRV9TUEVFRF9GQVNUKTsKLQotCS8qIHNldCBDUEVOIChjb250cm9sIHBvcnQgbW9kZSkgYW5kIHBvd2VyIGRvd24gKi8KLQljczQzOThfd3JpdGUoY2hpcCwgOCwgQ1M0Mzk4X0NQRU4gfCBDUzQzOThfUEROKTsKLQljczQzNjJhX3dyaXRlKGNoaXAsIDB4MDEsIENTNDM2MkFfUEROIHwgQ1M0MzYyQV9DUEVOKTsKLQkvKiBjb25maWd1cmUgKi8KLQljczQzOThfd3JpdGUoY2hpcCwgMiwgQ1M0Mzk4X0ZNX1NJTkdMRSB8Ci0JCSAgICAgQ1M0Mzk4X0RFTV9OT05FIHwgQ1M0Mzk4X0RJRl9MSlVTVCk7Ci0JY3M0Mzk4X3dyaXRlKGNoaXAsIDMsIENTNDM5OF9BVEFQSV9CX1IgfCBDUzQzOThfQVRBUElfQV9MKTsKLQljczQzOThfd3JpdGUoY2hpcCwgNCwgQ1M0Mzk4X01VVEVQX0xPVyB8IENTNDM5OF9QQU1VVEUpOwotCWNzNDM5OF93cml0ZShjaGlwLCA1LCAweGZlKTsKLQljczQzOThfd3JpdGUoY2hpcCwgNiwgMHhmZSk7Ci0JY3M0Mzk4X3dyaXRlKGNoaXAsIDcsIENTNDM5OF9STVBfRE4gfCBDUzQzOThfUk1QX1VQIHwKLQkJICAgICBDUzQzOThfWkVST19DUk9TUyB8IENTNDM5OF9TT0ZUX1JBTVApOwotCWNzNDM2MmFfd3JpdGUoY2hpcCwgMHgwMiwgQ1M0MzYyQV9ESUZfTEpVU1QpOwotCWNzNDM2MmFfd3JpdGUoY2hpcCwgMHgwMywgQ1M0MzYyQV9NVVRFQ182IHwgQ1M0MzYyQV9BTVVURSB8Ci0JCSAgICAgIENTNDM2MkFfUk1QX1VQIHwgQ1M0MzYyQV9aRVJPX0NST1NTIHwgQ1M0MzYyQV9TT0ZUX1JBTVApOwotCWNzNDM2MmFfd3JpdGUoY2hpcCwgMHgwNCwgQ1M0MzYyQV9STVBfRE4gfCBDUzQzNjJBX0RFTV9OT05FKTsKLQljczQzNjJhX3dyaXRlKGNoaXAsIDB4MDUsIDApOwotCWNzNDM2MmFfd3JpdGUoY2hpcCwgMHgwNiwgQ1M0MzYyQV9GTV9TSU5HTEUgfAotCQkgICAgICBDUzQzNjJBX0FUQVBJX0JfUiB8IENTNDM2MkFfQVRBUElfQV9MKTsKLQljczQzNjJhX3dyaXRlKGNoaXAsIDB4MDcsIDB4N2YgfCBDUzQzNjJBX01VVEUpOwotCWNzNDM2MmFfd3JpdGUoY2hpcCwgMHgwOCwgMHg3ZiB8IENTNDM2MkFfTVVURSk7Ci0JY3M0MzYyYV93cml0ZShjaGlwLCAweDA5LCBDUzQzNjJBX0ZNX1NJTkdMRSB8Ci0JCSAgICAgIENTNDM2MkFfQVRBUElfQl9SIHwgQ1M0MzYyQV9BVEFQSV9BX0wpOwotCWNzNDM2MmFfd3JpdGUoY2hpcCwgMHgwYSwgMHg3ZiB8IENTNDM2MkFfTVVURSk7Ci0JY3M0MzYyYV93cml0ZShjaGlwLCAweDBiLCAweDdmIHwgQ1M0MzYyQV9NVVRFKTsKLQljczQzNjJhX3dyaXRlKGNoaXAsIDB4MGMsIENTNDM2MkFfRk1fU0lOR0xFIHwKLQkJICAgICAgQ1M0MzYyQV9BVEFQSV9CX1IgfCBDUzQzNjJBX0FUQVBJX0FfTCk7Ci0JY3M0MzYyYV93cml0ZShjaGlwLCAweDBkLCAweDdmIHwgQ1M0MzYyQV9NVVRFKTsKLQljczQzNjJhX3dyaXRlKGNoaXAsIDB4MGUsIDB4N2YgfCBDUzQzNjJBX01VVEUpOwotCS8qIGNsZWFyIHBvd2VyIGRvd24gKi8KLQljczQzOThfd3JpdGUoY2hpcCwgOCwgQ1M0Mzk4X0NQRU4pOwotCWNzNDM2MmFfd3JpdGUoY2hpcCwgMHgwMSwgQ1M0MzYyQV9DUEVOKTsKLQotCW94eWdlbl9zZXRfYml0czE2KGNoaXAsIE9YWUdFTl9HUElPX0NPTlRST0wsCi0JCQkgIEdQSU9fRFhfRlJPTlRfUEFORUwgfCBHUElPX0RYX0lOUFVUX1JPVVRFKTsKLQlveHlnZW5fY2xlYXJfYml0czE2KGNoaXAsIE9YWUdFTl9HUElPX0RBVEEsCi0JCQkgICAgR1BJT19EWF9GUk9OVF9QQU5FTCB8IEdQSU9fRFhfSU5QVVRfUk9VVEUpOwotCi0JeG9uYXJfY29tbW9uX2luaXQoY2hpcCk7Ci0KLQlzbmRfY29tcG9uZW50X2FkZChjaGlwLT5jYXJkLCAiQ1M0Mzk4Iik7Ci0Jc25kX2NvbXBvbmVudF9hZGQoY2hpcC0+Y2FyZCwgIkNTNDM2MkEiKTsKLQlzbmRfY29tcG9uZW50X2FkZChjaGlwLT5jYXJkLCAiQ1M1MzYxIik7Ci19Ci0KLXN0YXRpYyB2b2lkIHhvbmFyX2NsZWFudXAoc3RydWN0IG94eWdlbiAqY2hpcCkKLXsKLQlzdHJ1Y3QgeG9uYXJfZGF0YSAqZGF0YSA9IGNoaXAtPm1vZGVsX2RhdGE7Ci0KLQlveHlnZW5fY2xlYXJfYml0czE2KGNoaXAsIE9YWUdFTl9HUElPX0RBVEEsIGRhdGEtPm91dHB1dF9lbmFibGVfYml0KTsKLX0KLQotc3RhdGljIHZvaWQgeG9uYXJfZHhfY2xlYW51cChzdHJ1Y3Qgb3h5Z2VuICpjaGlwKQotewotCXhvbmFyX2NsZWFudXAoY2hpcCk7Ci0JY3M0MzYyYV93cml0ZShjaGlwLCAweDAxLCBDUzQzNjJBX1BETiB8IENTNDM2MkFfQ1BFTik7Ci0Jb3h5Z2VuX2NsZWFyX2JpdHM4KGNoaXAsIE9YWUdFTl9GVU5DVElPTiwgT1hZR0VOX0ZVTkNUSU9OX1JFU0VUX0NPREVDKTsKLX0KLQotc3RhdGljIHZvaWQgc2V0X3BjbTE3OTZfcGFyYW1zKHN0cnVjdCBveHlnZW4gKmNoaXAsCi0JCQkgICAgICAgc3RydWN0IHNuZF9wY21faHdfcGFyYW1zICpwYXJhbXMpCi17Ci0JdW5zaWduZWQgaW50IGk7Ci0JdTggdmFsdWU7Ci0KLQl2YWx1ZSA9IHBhcmFtc19yYXRlKHBhcmFtcykgPj0gOTYwMDAgPyBQQ00xNzk2X09TXzMyIDogUENNMTc5Nl9PU182NDsKLQlmb3IgKGkgPSAwOyBpIDwgNDsgKytpKQotCQlwY20xNzk2X3dyaXRlKGNoaXAsIGksIDIwLCB2YWx1ZSk7Ci19Ci0KLXN0YXRpYyB2b2lkIHVwZGF0ZV9wY20xNzk2X3ZvbHVtZShzdHJ1Y3Qgb3h5Z2VuICpjaGlwKQotewotCXVuc2lnbmVkIGludCBpOwotCi0JZm9yIChpID0gMDsgaSA8IDQ7ICsraSkgewotCQlwY20xNzk2X3dyaXRlKGNoaXAsIGksIDE2LCBjaGlwLT5kYWNfdm9sdW1lW2kgKiAyXSk7Ci0JCXBjbTE3OTZfd3JpdGUoY2hpcCwgaSwgMTcsIGNoaXAtPmRhY192b2x1bWVbaSAqIDIgKyAxXSk7Ci0JfQotfQotCi1zdGF0aWMgdm9pZCB1cGRhdGVfcGNtMTc5Nl9tdXRlKHN0cnVjdCBveHlnZW4gKmNoaXApCi17Ci0JdW5zaWduZWQgaW50IGk7Ci0JdTggdmFsdWU7Ci0KLQl2YWx1ZSA9IFBDTTE3OTZfRk1UXzI0X0xKVVNUIHwgUENNMTc5Nl9BVExEOwotCWlmIChjaGlwLT5kYWNfbXV0ZSkKLQkJdmFsdWUgfD0gUENNMTc5Nl9NVVRFOwotCWZvciAoaSA9IDA7IGkgPCA0OyArK2kpCi0JCXBjbTE3OTZfd3JpdGUoY2hpcCwgaSwgMTgsIHZhbHVlKTsKLX0KLQotc3RhdGljIHZvaWQgc2V0X2NzNTN4MV9wYXJhbXMoc3RydWN0IG94eWdlbiAqY2hpcCwKLQkJCSAgICAgIHN0cnVjdCBzbmRfcGNtX2h3X3BhcmFtcyAqcGFyYW1zKQotewotCXVuc2lnbmVkIGludCB2YWx1ZTsKLQotCWlmIChwYXJhbXNfcmF0ZShwYXJhbXMpIDw9IDU0MDAwKQotCQl2YWx1ZSA9IEdQSU9fQ1M1M3gxX01fU0lOR0xFOwotCWVsc2UgaWYgKHBhcmFtc19yYXRlKHBhcmFtcykgPD0gMTA4MDAwKQotCQl2YWx1ZSA9IEdQSU9fQ1M1M3gxX01fRE9VQkxFOwotCWVsc2UKLQkJdmFsdWUgPSBHUElPX0NTNTN4MV9NX1FVQUQ7Ci0Jb3h5Z2VuX3dyaXRlMTZfbWFza2VkKGNoaXAsIE9YWUdFTl9HUElPX0RBVEEsCi0JCQkgICAgICB2YWx1ZSwgR1BJT19DUzUzeDFfTV9NQVNLKTsKLX0KLQotc3RhdGljIHZvaWQgc2V0X2NzNDN4eF9wYXJhbXMoc3RydWN0IG94eWdlbiAqY2hpcCwKLQkJCSAgICAgIHN0cnVjdCBzbmRfcGNtX2h3X3BhcmFtcyAqcGFyYW1zKQotewotCXU4IGZtX2NzNDM5OCwgZm1fY3M0MzYyYTsKLQotCWZtX2NzNDM5OCA9IENTNDM5OF9ERU1fTk9ORSB8IENTNDM5OF9ESUZfTEpVU1Q7Ci0JZm1fY3M0MzYyYSA9IENTNDM2MkFfQVRBUElfQl9SIHwgQ1M0MzYyQV9BVEFQSV9BX0w7Ci0JaWYgKHBhcmFtc19yYXRlKHBhcmFtcykgPD0gNTAwMDApIHsKLQkJZm1fY3M0Mzk4IHw9IENTNDM5OF9GTV9TSU5HTEU7Ci0JCWZtX2NzNDM2MmEgfD0gQ1M0MzYyQV9GTV9TSU5HTEU7Ci0JfSBlbHNlIGlmIChwYXJhbXNfcmF0ZShwYXJhbXMpIDw9IDEwMDAwMCkgewotCQlmbV9jczQzOTggfD0gQ1M0Mzk4X0ZNX0RPVUJMRTsKLQkJZm1fY3M0MzYyYSB8PSBDUzQzNjJBX0ZNX0RPVUJMRTsKLQl9IGVsc2UgewotCQlmbV9jczQzOTggfD0gQ1M0Mzk4X0ZNX1FVQUQ7Ci0JCWZtX2NzNDM2MmEgfD0gQ1M0MzYyQV9GTV9RVUFEOwotCX0KLQljczQzOThfd3JpdGUoY2hpcCwgMiwgZm1fY3M0Mzk4KTsKLQljczQzNjJhX3dyaXRlKGNoaXAsIDB4MDYsIGZtX2NzNDM2MmEpOwotCWNzNDM2MmFfd3JpdGUoY2hpcCwgMHgwOSwgZm1fY3M0MzYyYSk7Ci0JY3M0MzYyYV93cml0ZShjaGlwLCAweDBjLCBmbV9jczQzNjJhKTsKLX0KLQogc3RhdGljIHZvaWQgdXBkYXRlX2NzNDM2MmFfdm9sdW1lcyhzdHJ1Y3Qgb3h5Z2VuICpjaGlwKQogewogCXU4IG11dGU7CkBAIC0zOTMsNiArMjg2LDE0MSBAQAogCXVwZGF0ZV9jczQzNjJhX3ZvbHVtZXMoY2hpcCk7CiB9CiAKK3N0YXRpYyB2b2lkIGNzNDN4eF9pbml0KHN0cnVjdCBveHlnZW4gKmNoaXApCit7CisJc3RydWN0IHhvbmFyX2RhdGEgKmRhdGEgPSBjaGlwLT5tb2RlbF9kYXRhOworCisJLyogc2V0IENQRU4gKGNvbnRyb2wgcG9ydCBtb2RlKSBhbmQgcG93ZXIgZG93biAqLworCWNzNDM5OF93cml0ZShjaGlwLCA4LCBDUzQzOThfQ1BFTiB8IENTNDM5OF9QRE4pOworCWNzNDM2MmFfd3JpdGUoY2hpcCwgMHgwMSwgQ1M0MzYyQV9QRE4gfCBDUzQzNjJBX0NQRU4pOworCS8qIGNvbmZpZ3VyZSAqLworCWNzNDM5OF93cml0ZShjaGlwLCAyLCBkYXRhLT5jczQzOThfZm0pOworCWNzNDM5OF93cml0ZShjaGlwLCAzLCBDUzQzOThfQVRBUElfQl9SIHwgQ1M0Mzk4X0FUQVBJX0FfTCk7CisJY3M0Mzk4X3dyaXRlKGNoaXAsIDcsIENTNDM5OF9STVBfRE4gfCBDUzQzOThfUk1QX1VQIHwKKwkJICAgICBDUzQzOThfWkVST19DUk9TUyB8IENTNDM5OF9TT0ZUX1JBTVApOworCWNzNDM2MmFfd3JpdGUoY2hpcCwgMHgwMiwgQ1M0MzYyQV9ESUZfTEpVU1QpOworCWNzNDM2MmFfd3JpdGUoY2hpcCwgMHgwMywgQ1M0MzYyQV9NVVRFQ182IHwgQ1M0MzYyQV9BTVVURSB8CisJCSAgICAgIENTNDM2MkFfUk1QX1VQIHwgQ1M0MzYyQV9aRVJPX0NST1NTIHwgQ1M0MzYyQV9TT0ZUX1JBTVApOworCWNzNDM2MmFfd3JpdGUoY2hpcCwgMHgwNCwgQ1M0MzYyQV9STVBfRE4gfCBDUzQzNjJBX0RFTV9OT05FKTsKKwljczQzNjJhX3dyaXRlKGNoaXAsIDB4MDUsIDApOworCWNzNDM2MmFfd3JpdGUoY2hpcCwgMHgwNiwgZGF0YS0+Y3M0MzYyYV9mbSk7CisJY3M0MzYyYV93cml0ZShjaGlwLCAweDA5LCBkYXRhLT5jczQzNjJhX2ZtKTsKKwljczQzNjJhX3dyaXRlKGNoaXAsIDB4MGMsIGRhdGEtPmNzNDM2MmFfZm0pOworCXVwZGF0ZV9jczQzeHhfdm9sdW1lKGNoaXApOworCXVwZGF0ZV9jczQzeHhfbXV0ZShjaGlwKTsKKwkvKiBjbGVhciBwb3dlciBkb3duICovCisJY3M0Mzk4X3dyaXRlKGNoaXAsIDgsIENTNDM5OF9DUEVOKTsKKwljczQzNjJhX3dyaXRlKGNoaXAsIDB4MDEsIENTNDM2MkFfQ1BFTik7Cit9CisKK3N0YXRpYyB2b2lkIHhvbmFyX2R4X2luaXQoc3RydWN0IG94eWdlbiAqY2hpcCkKK3sKKwlzdHJ1Y3QgeG9uYXJfZGF0YSAqZGF0YSA9IGNoaXAtPm1vZGVsX2RhdGE7CisKKwlkYXRhLT5hbnRpX3BvcF9kZWxheSA9IDgwMDsKKwlkYXRhLT5vdXRwdXRfZW5hYmxlX2JpdCA9IEdQSU9fRFhfT1VUUFVUX0VOQUJMRTsKKwlkYXRhLT5leHRfcG93ZXJfcmVnID0gT1hZR0VOX0dQSV9EQVRBOworCWRhdGEtPmV4dF9wb3dlcl9pbnRfcmVnID0gT1hZR0VOX0dQSV9JTlRFUlJVUFRfTUFTSzsKKwlkYXRhLT5leHRfcG93ZXJfYml0ID0gR1BJX0RYX0VYVF9QT1dFUjsKKwlkYXRhLT5jczQzOThfZm0gPSBDUzQzOThfRk1fU0lOR0xFIHwgQ1M0Mzk4X0RFTV9OT05FIHwgQ1M0Mzk4X0RJRl9MSlVTVDsKKwlkYXRhLT5jczQzNjJhX2ZtID0gQ1M0MzYyQV9GTV9TSU5HTEUgfAorCQlDUzQzNjJBX0FUQVBJX0JfUiB8IENTNDM2MkFfQVRBUElfQV9MOworCisJb3h5Z2VuX3dyaXRlMTYoY2hpcCwgT1hZR0VOXzJXSVJFX0JVU19TVEFUVVMsCisJCSAgICAgICBPWFlHRU5fMldJUkVfTEVOR1RIXzggfAorCQkgICAgICAgT1hZR0VOXzJXSVJFX0lOVEVSUlVQVF9NQVNLIHwKKwkJICAgICAgIE9YWUdFTl8yV0lSRV9TUEVFRF9GQVNUKTsKKworCWNzNDN4eF9pbml0KGNoaXApOworCisJb3h5Z2VuX3NldF9iaXRzMTYoY2hpcCwgT1hZR0VOX0dQSU9fQ09OVFJPTCwKKwkJCSAgR1BJT19EWF9GUk9OVF9QQU5FTCB8IEdQSU9fRFhfSU5QVVRfUk9VVEUpOworCW94eWdlbl9jbGVhcl9iaXRzMTYoY2hpcCwgT1hZR0VOX0dQSU9fREFUQSwKKwkJCSAgICBHUElPX0RYX0ZST05UX1BBTkVMIHwgR1BJT19EWF9JTlBVVF9ST1VURSk7CisKKwl4b25hcl9jb21tb25faW5pdChjaGlwKTsKKworCXNuZF9jb21wb25lbnRfYWRkKGNoaXAtPmNhcmQsICJDUzQzOTgiKTsKKwlzbmRfY29tcG9uZW50X2FkZChjaGlwLT5jYXJkLCAiQ1M0MzYyQSIpOworCXNuZF9jb21wb25lbnRfYWRkKGNoaXAtPmNhcmQsICJDUzUzNjEiKTsKK30KKworc3RhdGljIHZvaWQgeG9uYXJfY2xlYW51cChzdHJ1Y3Qgb3h5Z2VuICpjaGlwKQoreworCXN0cnVjdCB4b25hcl9kYXRhICpkYXRhID0gY2hpcC0+bW9kZWxfZGF0YTsKKworCW94eWdlbl9jbGVhcl9iaXRzMTYoY2hpcCwgT1hZR0VOX0dQSU9fREFUQSwgZGF0YS0+b3V0cHV0X2VuYWJsZV9iaXQpOworfQorCitzdGF0aWMgdm9pZCB4b25hcl9keF9jbGVhbnVwKHN0cnVjdCBveHlnZW4gKmNoaXApCit7CisJeG9uYXJfY2xlYW51cChjaGlwKTsKKwljczQzNjJhX3dyaXRlKGNoaXAsIDB4MDEsIENTNDM2MkFfUEROIHwgQ1M0MzYyQV9DUEVOKTsKKwlveHlnZW5fY2xlYXJfYml0czgoY2hpcCwgT1hZR0VOX0ZVTkNUSU9OLCBPWFlHRU5fRlVOQ1RJT05fUkVTRVRfQ09ERUMpOworfQorCitzdGF0aWMgdm9pZCB4b25hcl9kMl9yZXN1bWUoc3RydWN0IG94eWdlbiAqY2hpcCkKK3sKKwlwY20xNzk2X2luaXQoY2hpcCk7CisJeG9uYXJfZW5hYmxlX291dHB1dChjaGlwKTsKK30KKworc3RhdGljIHZvaWQgeG9uYXJfZHhfcmVzdW1lKHN0cnVjdCBveHlnZW4gKmNoaXApCit7CisJY3M0M3h4X2luaXQoY2hpcCk7CisJeG9uYXJfZW5hYmxlX291dHB1dChjaGlwKTsKK30KKworc3RhdGljIHZvaWQgc2V0X3BjbTE3OTZfcGFyYW1zKHN0cnVjdCBveHlnZW4gKmNoaXAsCisJCQkgICAgICAgc3RydWN0IHNuZF9wY21faHdfcGFyYW1zICpwYXJhbXMpCit7CisJc3RydWN0IHhvbmFyX2RhdGEgKmRhdGEgPSBjaGlwLT5tb2RlbF9kYXRhOworCXVuc2lnbmVkIGludCBpOworCisJZGF0YS0+cGNtMTc5Nl9vdmVyc2FtcGxpbmcgPQorCQlwYXJhbXNfcmF0ZShwYXJhbXMpID49IDk2MDAwID8gUENNMTc5Nl9PU18zMiA6IFBDTTE3OTZfT1NfNjQ7CisJZm9yIChpID0gMDsgaSA8IDQ7ICsraSkKKwkJcGNtMTc5Nl93cml0ZShjaGlwLCBpLCAyMCwgZGF0YS0+cGNtMTc5Nl9vdmVyc2FtcGxpbmcpOworfQorCitzdGF0aWMgdm9pZCBzZXRfY3M1M3gxX3BhcmFtcyhzdHJ1Y3Qgb3h5Z2VuICpjaGlwLAorCQkJICAgICAgc3RydWN0IHNuZF9wY21faHdfcGFyYW1zICpwYXJhbXMpCit7CisJdW5zaWduZWQgaW50IHZhbHVlOworCisJaWYgKHBhcmFtc19yYXRlKHBhcmFtcykgPD0gNTQwMDApCisJCXZhbHVlID0gR1BJT19DUzUzeDFfTV9TSU5HTEU7CisJZWxzZSBpZiAocGFyYW1zX3JhdGUocGFyYW1zKSA8PSAxMDgwMDApCisJCXZhbHVlID0gR1BJT19DUzUzeDFfTV9ET1VCTEU7CisJZWxzZQorCQl2YWx1ZSA9IEdQSU9fQ1M1M3gxX01fUVVBRDsKKwlveHlnZW5fd3JpdGUxNl9tYXNrZWQoY2hpcCwgT1hZR0VOX0dQSU9fREFUQSwKKwkJCSAgICAgIHZhbHVlLCBHUElPX0NTNTN4MV9NX01BU0spOworfQorCitzdGF0aWMgdm9pZCBzZXRfY3M0M3h4X3BhcmFtcyhzdHJ1Y3Qgb3h5Z2VuICpjaGlwLAorCQkJICAgICAgc3RydWN0IHNuZF9wY21faHdfcGFyYW1zICpwYXJhbXMpCit7CisJc3RydWN0IHhvbmFyX2RhdGEgKmRhdGEgPSBjaGlwLT5tb2RlbF9kYXRhOworCisJZGF0YS0+Y3M0Mzk4X2ZtID0gQ1M0Mzk4X0RFTV9OT05FIHwgQ1M0Mzk4X0RJRl9MSlVTVDsKKwlkYXRhLT5jczQzNjJhX2ZtID0gQ1M0MzYyQV9BVEFQSV9CX1IgfCBDUzQzNjJBX0FUQVBJX0FfTDsKKwlpZiAocGFyYW1zX3JhdGUocGFyYW1zKSA8PSA1MDAwMCkgeworCQlkYXRhLT5jczQzOThfZm0gfD0gQ1M0Mzk4X0ZNX1NJTkdMRTsKKwkJZGF0YS0+Y3M0MzYyYV9mbSB8PSBDUzQzNjJBX0ZNX1NJTkdMRTsKKwl9IGVsc2UgaWYgKHBhcmFtc19yYXRlKHBhcmFtcykgPD0gMTAwMDAwKSB7CisJCWRhdGEtPmNzNDM5OF9mbSB8PSBDUzQzOThfRk1fRE9VQkxFOworCQlkYXRhLT5jczQzNjJhX2ZtIHw9IENTNDM2MkFfRk1fRE9VQkxFOworCX0gZWxzZSB7CisJCWRhdGEtPmNzNDM5OF9mbSB8PSBDUzQzOThfRk1fUVVBRDsKKwkJZGF0YS0+Y3M0MzYyYV9mbSB8PSBDUzQzNjJBX0ZNX1FVQUQ7CisJfQorCWNzNDM5OF93cml0ZShjaGlwLCAyLCBkYXRhLT5jczQzOThfZm0pOworCWNzNDM2MmFfd3JpdGUoY2hpcCwgMHgwNiwgZGF0YS0+Y3M0MzYyYV9mbSk7CisJY3M0MzYyYV93cml0ZShjaGlwLCAweDA5LCBkYXRhLT5jczQzNjJhX2ZtKTsKKwljczQzNjJhX3dyaXRlKGNoaXAsIDB4MGMsIGRhdGEtPmNzNDM2MmFfZm0pOworfQorCiBzdGF0aWMgdm9pZCB4b25hcl9ncGlvX2NoYW5nZWQoc3RydWN0IG94eWdlbiAqY2hpcCkKIHsKIAlzdHJ1Y3QgeG9uYXJfZGF0YSAqZGF0YSA9IGNoaXAtPm1vZGVsX2RhdGE7CkBAIC01MzUsNiArNTYzLDggQEAKIAkJLmNvbnRyb2xfZmlsdGVyID0geG9uYXJfZDJfY29udHJvbF9maWx0ZXIsCiAJCS5taXhlcl9pbml0ID0geG9uYXJfbWl4ZXJfaW5pdCwKIAkJLmNsZWFudXAgPSB4b25hcl9jbGVhbnVwLAorCQkuc3VzcGVuZCA9IHhvbmFyX2NsZWFudXAsCisJCS5yZXN1bWUgPSB4b25hcl9kMl9yZXN1bWUsCiAJCS5zZXRfZGFjX3BhcmFtcyA9IHNldF9wY20xNzk2X3BhcmFtcywKIAkJLnNldF9hZGNfcGFyYW1zID0gc2V0X2NzNTN4MV9wYXJhbXMsCiAJCS51cGRhdGVfZGFjX3ZvbHVtZSA9IHVwZGF0ZV9wY20xNzk2X3ZvbHVtZSwKQEAgLTU2Myw2ICs1OTMsOCBAQAogCQkuY29udHJvbF9maWx0ZXIgPSB4b25hcl9kMl9jb250cm9sX2ZpbHRlciwKIAkJLm1peGVyX2luaXQgPSB4b25hcl9taXhlcl9pbml0LAogCQkuY2xlYW51cCA9IHhvbmFyX2NsZWFudXAsCisJCS5zdXNwZW5kID0geG9uYXJfY2xlYW51cCwKKwkJLnJlc3VtZSA9IHhvbmFyX2QyX3Jlc3VtZSwKIAkJLnNldF9kYWNfcGFyYW1zID0gc2V0X3BjbTE3OTZfcGFyYW1zLAogCQkuc2V0X2FkY19wYXJhbXMgPSBzZXRfY3M1M3gxX3BhcmFtcywKIAkJLnVwZGF0ZV9kYWNfdm9sdW1lID0gdXBkYXRlX3BjbTE3OTZfdm9sdW1lLApAQCAtNTkyLDYgKzYyNCw4IEBACiAJCS5jb250cm9sX2ZpbHRlciA9IHhvbmFyX2R4X2NvbnRyb2xfZmlsdGVyLAogCQkubWl4ZXJfaW5pdCA9IHhvbmFyX2R4X21peGVyX2luaXQsCiAJCS5jbGVhbnVwID0geG9uYXJfZHhfY2xlYW51cCwKKwkJLnN1c3BlbmQgPSB4b25hcl9keF9jbGVhbnVwLAorCQkucmVzdW1lID0geG9uYXJfZHhfcmVzdW1lLAogCQkuc2V0X2RhY19wYXJhbXMgPSBzZXRfY3M0M3h4X3BhcmFtcywKIAkJLnNldF9hZGNfcGFyYW1zID0gc2V0X2NzNTN4MV9wYXJhbXMsCiAJCS51cGRhdGVfZGFjX3ZvbHVtZSA9IHVwZGF0ZV9jczQzeHhfdm9sdW1lLApAQCAtNjM2LDYgKzY3MCwxMCBAQAogCS5pZF90YWJsZSA9IHhvbmFyX2lkcywKIAkucHJvYmUgPSB4b25hcl9wcm9iZSwKIAkucmVtb3ZlID0gX19kZXZleGl0X3Aob3h5Z2VuX3BjaV9yZW1vdmUpLAorI2lmZGVmIENPTkZJR19QTQorCS5zdXNwZW5kID0gb3h5Z2VuX3BjaV9zdXNwZW5kLAorCS5yZXN1bWUgPSBveHlnZW5fcGNpX3Jlc3VtZSwKKyNlbmRpZgogfTsKIAogc3RhdGljIGludCBfX2luaXQgYWxzYV9jYXJkX3hvbmFyX2luaXQodm9pZCkKZGlmZiAtLWdpdCBhL3NvdW5kL3BjaS9wY3hoci9wY3hoci5jIGIvc291bmQvcGNpL3BjeGhyL3BjeGhyLmMKaW5kZXggN2ZkY2RjOC4uMmM3ZTI1MyAxMDA2NDQKLS0tIGEvc291bmQvcGNpL3BjeGhyL3BjeGhyLmMKKysrIGIvc291bmQvcGNpL3BjeGhyL3BjeGhyLmMKQEAgLTUxNiw3ICs1MTYsNyBAQAogCWludCBjYXB0dXJlX21hc2sgPSAwOwogCWludCBwbGF5YmFja19tYXNrID0gMDsKIAotI2lmZGVmIENPTkZJR19TTkRfREVCVUdfREVURUNUCisjaWZkZWYgQ09ORklHX1NORF9ERUJVR19WRVJCT1NFCiAJc3RydWN0IHRpbWV2YWwgbXlfdHYxLCBteV90djI7CiAJZG9fZ2V0dGltZW9mZGF5KCZteV90djEpOwogI2VuZGlmCkBAIC02MjMsNyArNjIzLDcgQEAKIAogCW11dGV4X3VubG9jaygmbWdyLT5zZXR1cF9tdXRleCk7CiAKLSNpZmRlZiBDT05GSUdfU05EX0RFQlVHX0RFVEVDVAorI2lmZGVmIENPTkZJR19TTkRfREVCVUdfVkVSQk9TRQogCWRvX2dldHRpbWVvZmRheSgmbXlfdHYyKTsKIAlzbmRfcHJpbnRkZCgiKioqVFJJR0dFUiBUQVNLTEVUKioqIFRJTUUgPSAlbGQgKGVyciA9ICV4KVxuIiwKIAkJICAgIChsb25nKShteV90djIudHZfdXNlYyAtIG15X3R2MS50dl91c2VjKSwgZXJyKTsKZGlmZiAtLWdpdCBhL3NvdW5kL3BjaS9wY3hoci9wY3hocl9jb3JlLmMgYi9zb3VuZC9wY2kvcGN4aHIvcGN4aHJfY29yZS5jCmluZGV4IDc4YWE4MWYuLjAwMGU2ZmUgMTAwNjQ0Ci0tLSBhL3NvdW5kL3BjaS9wY3hoci9wY3hocl9jb3JlLmMKKysrIGIvc291bmQvcGNpL3BjeGhyL3BjeGhyX2NvcmUuYwpAQCAtMjY5LDcgKzI2OSw3IEBACiAJdW5zaWduZWQgaW50IGNoaXBzYzsKIAl1bnNpZ25lZCBjaGFyIGRhdGE7CiAJdW5zaWduZWQgY2hhciBtYXNrOwotCXVuc2lnbmVkIGNoYXIgKmltYWdlOworCWNvbnN0IHVuc2lnbmVkIGNoYXIgKmltYWdlOwogCiAJLyogdGVzdCBmaXJzdCB4aWxpbnggKi8KIAljaGlwc2MgPSBQQ1hIUl9JTlBMKG1nciwgUENYSFJfUExYX0NISVBTQyk7CkBAIC0zMTYsNyArMzE2LDcgQEAKIAlpbnQgZXJyOwogCXVuc2lnbmVkIGludCBpOwogCXVuc2lnbmVkIGludCBsZW47Ci0JdW5zaWduZWQgY2hhciAqZGF0YTsKKwljb25zdCB1bnNpZ25lZCBjaGFyICpkYXRhOwogCXVuc2lnbmVkIGNoYXIgZHVtbXk7CiAJLyogY2hlY2sgdGhlIGxlbmd0aCBvZiBib290IGltYWdlICovCiAJc25kX2Fzc2VydChkc3AtPnNpemUgPiAwLCByZXR1cm4gLUVJTlZBTCk7CkBAIC00NzMsNyArNDczLDcgQEAKIFtDTURfQVVESU9fTEVWRUxfQURKVVNUXSA9CQl7IDB4YzIyMDAwLCAwLCBSTUhfU1NJWkVfRklYRUQgfSwKIH07CiAKLSNpZmRlZiBDT05GSUdfU05EX0RFQlVHX0RFVEVDVAorI2lmZGVmIENPTkZJR19TTkRfREVCVUdfVkVSQk9TRQogc3RhdGljIGNoYXIqIGNtZF9uYW1lc1tdID0gewogW0NNRF9WRVJTSU9OXSA9CQkJCSJDTURfVkVSU0lPTiIsCiBbQ01EX1NVUFBPUlRFRF0gPQkJCSJDTURfU1VQUE9SVEVEIiwKQEAgLTU0OSw3ICs1NDksNyBAQAogCQkJCX0KIAkJCX0KIAkJfQotI2lmZGVmIENPTkZJR19TTkRfREVCVUdfREVURUNUCisjaWZkZWYgQ09ORklHX1NORF9ERUJVR19WRVJCT1NFCiAJCWlmIChybWgtPmNtZF9pZHggPCBDTURfTEFTVF9JTkRFWCkKIAkJCXNuZF9wcmludGRkKCIgICAgc3RhdFslZF09JXhcbiIsIGksIGRhdGEpOwogI2VuZGlmCkBAIC01OTcsNyArNTk3LDcgQEAKIAkJZGF0YSB8PSAweDAwODAwMDsJLyogTUFTS19NT1JFX1RIQU5fMV9XT1JEX0NPTU1BTkQgKi8KIAllbHNlCiAJCWRhdGEgJj0gMHhmZjdmZmY7CS8qIE1BU0tfMV9XT1JEX0NPTU1BTkQgKi8KLSNpZmRlZiBDT05GSUdfU05EX0RFQlVHX0RFVEVDVAorI2lmZGVmIENPTkZJR19TTkRfREVCVUdfVkVSQk9TRQogCWlmIChybWgtPmNtZF9pZHggPCBDTURfTEFTVF9JTkRFWCkKIAkJc25kX3ByaW50ZGQoIk1TRyBjbWRbMF09JXggKCVzKVxuIiwgZGF0YSwgY21kX25hbWVzW3JtaC0+Y21kX2lkeF0pOwogI2VuZGlmCkBAIC02MjQsNyArNjI0LDcgQEAKIAkJZm9yIChpPTE7IGkgPCBybWgtPmNtZF9sZW47IGkrKykgewogCQkJLyogc2VuZCBvdGhlciB3b3JkcyAqLwogCQkJZGF0YSA9IHJtaC0+Y21kW2ldOwotI2lmZGVmIENPTkZJR19TTkRfREVCVUdfREVURUNUCisjaWZkZWYgQ09ORklHX1NORF9ERUJVR19WRVJCT1NFCiAJCQlpZiAocm1oLT5jbWRfaWR4IDwgQ01EX0xBU1RfSU5ERVgpCiAJCQkJc25kX3ByaW50ZGQoIiAgICBjbWRbJWRdPSV4XG4iLCBpLCBkYXRhKTsKICNlbmRpZgpAQCAtODQ3LDcgKzg0Nyw3IEBACiAJaW50IHN0YXRlLCBpLCBlcnI7CiAJaW50IGF1ZGlvX21hc2s7CiAKLSNpZmRlZiBDT05GSUdfU05EX0RFQlVHX0RFVEVDVAorI2lmZGVmIENPTkZJR19TTkRfREVCVUdfVkVSQk9TRQogCXN0cnVjdCB0aW1ldmFsIG15X3R2MSwgbXlfdHYyOwogCWRvX2dldHRpbWVvZmRheSgmbXlfdHYxKTsKICNlbmRpZgpAQCAtODk0LDcgKzg5NCw3IEBACiAJCWlmIChlcnIpCiAJCQlyZXR1cm4gZXJyOwogCX0KLSNpZmRlZiBDT05GSUdfU05EX0RFQlVHX0RFVEVDVAorI2lmZGVmIENPTkZJR19TTkRfREVCVUdfVkVSQk9TRQogCWRvX2dldHRpbWVvZmRheSgmbXlfdHYyKTsKIAlzbmRfcHJpbnRkZCgiKioqU0VUIFBJUEUgU1RBVEUqKiogVElNRSA9ICVsZCAoZXJyID0gJXgpXG4iLAogCQkgICAgKGxvbmcpKG15X3R2Mi50dl91c2VjIC0gbXlfdHYxLnR2X3VzZWMpLCBlcnIpOwpAQCAtOTUxLDcgKzk1MSw3IEBACiAJCQkJICBlbnVtIHBjeGhyX2FzeW5jX2Vycl9zcmMgZXJyX3NyYywgaW50IHBpcGUsCiAJCQkJICBpbnQgaXNfY2FwdHVyZSkKIHsKLSNpZmRlZiBDT05GSUdfU05EX0RFQlVHX0RFVEVDVAorI2lmZGVmIENPTkZJR19TTkRfREVCVUdfVkVSQk9TRQogCXN0YXRpYyBjaGFyKiBlcnJfc3JjX25hbWVbXSA9IHsKIAkJW1BDWEhSX0VSUl9QSVBFXQk9ICJQaXBlIiwKIAkJW1BDWEhSX0VSUl9TVFJFQU1dCT0gIlN0cmVhbSIsCkBAIC0xMTY5LDcgKzExNjksNyBAQAogCQkJCSAgICBtZ3ItPmRzcF90aW1lX2xhc3QsIGRzcF90aW1lX25ldyk7CiAJCQltZ3ItPmRzcF90aW1lX2VycisrOwogCQl9Ci0jaWZkZWYgQ09ORklHX1NORF9ERUJVR19ERVRFQ1QKKyNpZmRlZiBDT05GSUdfU05EX0RFQlVHX1ZFUkJPU0UKIAkJaWYgKGRzcF90aW1lX2RpZmYgPT0gMCkKIAkJCXNuZF9wcmludGRkKCJFUlJPUiBEU1AgVElNRSBOTyBESUZGIHRpbWUoJWQpXG4iLCBkc3BfdGltZV9uZXcpOwogCQllbHNlIGlmIChkc3BfdGltZV9kaWZmID49ICgyKlBDWEhSX0dSQU5VTEFSSVRZKSkKQEAgLTEyMDgsNyArMTIwOCw3IEBACiAJCW1nci0+c3JjX2l0X2RzcCA9IHJlZzsKIAkJdGFza2xldF9oaV9zY2hlZHVsZSgmbWdyLT5tc2dfdGFza3EpOwogCX0KLSNpZmRlZiBDT05GSUdfU05EX0RFQlVHX0RFVEVDVAorI2lmZGVmIENPTkZJR19TTkRfREVCVUdfVkVSQk9TRQogCWlmIChyZWcgJiBQQ1hIUl9GQVRBTF9EU1BfRVJSKQogCQlzbmRfcHJpbnRkZCgiRkFUQUwgRFNQIEVSUk9SIDogJXhcbiIsIHJlZyk7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL3NvdW5kL3BjaS9wY3hoci9wY3hocl9od2RlcC5jIGIvc291bmQvcGNpL3BjeGhyL3BjeGhyX2h3ZGVwLmMKaW5kZXggZTZhNGJmYi4uZDJmMDQzMiAxMDA2NDQKLS0tIGEvc291bmQvcGNpL3BjeGhyL3BjeGhyX2h3ZGVwLmMKKysrIGIvc291bmQvcGNpL3BjeGhyL3BjeGhyX2h3ZGVwLmMKQEAgLTM5NCw3ICszOTQsNyBAQAogCQkJICAgKHVuc2lnbmVkIGxvbmcpZncuc2l6ZSk7CiAJCXJldHVybiAtRU5PTUVNOwogCX0KLQlpZiAoY29weV9mcm9tX3VzZXIoZncuZGF0YSwgZHNwLT5pbWFnZSwgZHNwLT5sZW5ndGgpKSB7CisJaWYgKGNvcHlfZnJvbV91c2VyKCh2b2lkICopZncuZGF0YSwgZHNwLT5pbWFnZSwgZHNwLT5sZW5ndGgpKSB7CiAJCXZmcmVlKGZ3LmRhdGEpOwogCQlyZXR1cm4gLUVGQVVMVDsKIAl9CmRpZmYgLS1naXQgYS9zb3VuZC9wY2kvcmlwdGlkZS9yaXB0aWRlLmMgYi9zb3VuZC9wY2kvcmlwdGlkZS9yaXB0aWRlLmMKaW5kZXggOTc5ZjdkYS4uNmEzNTk2MiAxMDA2NDQKLS0tIGEvc291bmQvcGNpL3JpcHRpZGUvcmlwdGlkZS5jCisrKyBiL3NvdW5kL3BjaS9yaXB0aWRlL3JpcHRpZGUuYwpAQCAtNjgyLDcgKzY4Miw3IEBACiAJfSwKIH07CiAKLXN0YXRpYyB1MzIgYXRvaCh1bnNpZ25lZCBjaGFyICppbiwgdW5zaWduZWQgaW50IGxlbikKK3N0YXRpYyB1MzIgYXRvaChjb25zdCB1bnNpZ25lZCBjaGFyICppbiwgdW5zaWduZWQgaW50IGxlbikKIHsKIAl1MzIgc3VtID0gMDsKIAl1bnNpZ25lZCBpbnQgbXVsdCA9IDE7CkBAIC03MDIsMTIgKzcwMiwxMiBAQAogCXJldHVybiBzdW07CiB9CiAKLXN0YXRpYyBpbnQgc2VuZGRhdGEoc3RydWN0IGNtZGlmICpjaWYsIHVuc2lnbmVkIGNoYXIgKmluLCB1MzIgb2Zmc2V0KQorc3RhdGljIGludCBzZW5kZGF0YShzdHJ1Y3QgY21kaWYgKmNpZiwgY29uc3QgdW5zaWduZWQgY2hhciAqaW4sIHUzMiBvZmZzZXQpCiB7CiAJdTMyIGFkZHI7CiAJdTMyIGRhdGE7CiAJdTMyIGk7Ci0JdW5zaWduZWQgY2hhciAqcDsKKwljb25zdCB1bnNpZ25lZCBjaGFyICpwOwogCiAJaSA9IGF0b2goJmluWzFdLCAyKTsKIAlhZGRyID0gb2Zmc2V0ICsgYXRvaCgmaW5bM10sIDQpOwpAQCAtNzI2LDEwICs3MjYsMTAgQEAKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIGludCBsb2FkZmlybXdhcmUoc3RydWN0IGNtZGlmICpjaWYsIHVuc2lnbmVkIGNoYXIgKmltZywKK3N0YXRpYyBpbnQgbG9hZGZpcm13YXJlKHN0cnVjdCBjbWRpZiAqY2lmLCBjb25zdCB1bnNpZ25lZCBjaGFyICppbWcsCiAJCQl1bnNpZ25lZCBpbnQgc2l6ZSkKIHsKLQl1bnNpZ25lZCBjaGFyICppbjsKKwljb25zdCB1bnNpZ25lZCBjaGFyICppbjsKIAl1MzIgbGFkZHIsIHNhZGRyLCB0LCB2YWw7CiAJaW50IGVyciA9IDA7CiAKZGlmZiAtLWdpdCBhL3NvdW5kL3BjaS90cmlkZW50L3RyaWRlbnRfbWFpbi5jIGIvc291bmQvcGNpL3RyaWRlbnQvdHJpZGVudF9tYWluLmMKaW5kZXggYmJjZWUyYy4uYTY5YjQyMCAxMDA2NDQKLS0tIGEvc291bmQvcGNpL3RyaWRlbnQvdHJpZGVudF9tYWluLmMKKysrIGIvc291bmQvcGNpL3RyaWRlbnQvdHJpZGVudF9tYWluLmMKQEAgLTE1OTAsNyArMTU5MCwxMCBAQAogCWlmIChzcGRpZl9mbGFnKSB7CiAJCWlmICh0cmlkZW50LT5kZXZpY2UgIT0gVFJJREVOVF9ERVZJQ0VfSURfU0k3MDE4KSB7CiAJCQlvdXRsKHRyaWRlbnQtPnNwZGlmX3BjbV9iaXRzLCBUUklEX1JFRyh0cmlkZW50LCBOWF9TUENTVEFUVVMpKTsKLQkJCW91dGIodHJpZGVudC0+c3BkaWZfcGNtX2N0cmwsIFRSSURfUkVHKHRyaWRlbnQsIE5YX1NQQ1RSTF9TUENTTyArIDMpKTsKKwkJCXZhbCA9IHRyaWRlbnQtPnNwZGlmX3BjbV9jdHJsOworCQkJaWYgKCFnbykKKwkJCQl2YWwgJj0gfigweDI4KTsKKwkJCW91dGIodmFsLCBUUklEX1JFRyh0cmlkZW50LCBOWF9TUENUUkxfU1BDU08gKyAzKSk7CiAJCX0gZWxzZSB7CiAJCQlvdXRsKHRyaWRlbnQtPnNwZGlmX3BjbV9iaXRzLCBUUklEX1JFRyh0cmlkZW50LCBTSV9TUERJRl9DUykpOwogCQkJdmFsID0gaW5sKFRSSURfUkVHKHRyaWRlbnQsIFNJX1NFUklBTF9JTlRGX0NUUkwpKSB8IFNQRElGX0VOOwpkaWZmIC0tZ2l0IGEvc291bmQvcGNpL3RyaWRlbnQvdHJpZGVudF9tZW1vcnkuYyBiL3NvdW5kL3BjaS90cmlkZW50L3RyaWRlbnRfbWVtb3J5LmMKaW5kZXggZGY5YjQ4Ny4uM2ZkN2YxYiAxMDA2NDQKLS0tIGEvc291bmQvcGNpL3RyaWRlbnQvdHJpZGVudF9tZW1vcnkuYworKysgYi9zb3VuZC9wY2kvdHJpZGVudC90cmlkZW50X21lbW9yeS5jCkBAIC0zMTAsMTgxICszMTAsMyBAQAogCW11dGV4X3VubG9jaygmaGRyLT5ibG9ja19tdXRleCk7CiAJcmV0dXJuIDA7CiB9Ci0KLQotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gKiBtZW1vcnkgYWxsb2NhdGlvbiB1c2luZyBtdWx0aXBsZSBwYWdlcyAoZm9yIHN5bnRoKQotICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gKiBVbmxpa2UgdGhlIERNQSBhbGxvY2F0aW9uIGFib3ZlLCBub24tY29udGlndW91cyBwYWdlcyBhcmUKLSAqIGFzc2lnbmVkIHRvIFRMQi4KLSAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCi0KLS8qCi0gKi8KLXN0YXRpYyBpbnQgc3ludGhfYWxsb2NfcGFnZXMoc3RydWN0IHNuZF90cmlkZW50ICpodywgc3RydWN0IHNuZF91dGlsX21lbWJsayAqYmxrKTsKLXN0YXRpYyBpbnQgc3ludGhfZnJlZV9wYWdlcyhzdHJ1Y3Qgc25kX3RyaWRlbnQgKmh3LCBzdHJ1Y3Qgc25kX3V0aWxfbWVtYmxrICpibGspOwotCi0vKgotICogYWxsb2NhdGUgYSBzeW50aCBzYW1wbGUgYXJlYQotICovCi1zdHJ1Y3Qgc25kX3V0aWxfbWVtYmxrICoKLXNuZF90cmlkZW50X3N5bnRoX2FsbG9jKHN0cnVjdCBzbmRfdHJpZGVudCAqaHcsIHVuc2lnbmVkIGludCBzaXplKQotewotCXN0cnVjdCBzbmRfdXRpbF9tZW1ibGsgKmJsazsKLQlzdHJ1Y3Qgc25kX3V0aWxfbWVtaGRyICpoZHIgPSBody0+dGxiLm1lbWhkcjsgCi0KLQltdXRleF9sb2NrKCZoZHItPmJsb2NrX211dGV4KTsKLQlibGsgPSBfX3NuZF91dGlsX21lbV9hbGxvYyhoZHIsIHNpemUpOwotCWlmIChibGsgPT0gTlVMTCkgewotCQltdXRleF91bmxvY2soJmhkci0+YmxvY2tfbXV0ZXgpOwotCQlyZXR1cm4gTlVMTDsKLQl9Ci0JaWYgKHN5bnRoX2FsbG9jX3BhZ2VzKGh3LCBibGspKSB7Ci0JCV9fc25kX3V0aWxfbWVtX2ZyZWUoaGRyLCBibGspOwotCQltdXRleF91bmxvY2soJmhkci0+YmxvY2tfbXV0ZXgpOwotCQlyZXR1cm4gTlVMTDsKLQl9Ci0JbXV0ZXhfdW5sb2NrKCZoZHItPmJsb2NrX211dGV4KTsKLQlyZXR1cm4gYmxrOwotfQotCi1FWFBPUlRfU1lNQk9MKHNuZF90cmlkZW50X3N5bnRoX2FsbG9jKTsKLQotLyoKLSAqIGZyZWUgYSBzeW50aCBzYW1wbGUgYXJlYQotICovCi1pbnQKLXNuZF90cmlkZW50X3N5bnRoX2ZyZWUoc3RydWN0IHNuZF90cmlkZW50ICpodywgc3RydWN0IHNuZF91dGlsX21lbWJsayAqYmxrKQotewotCXN0cnVjdCBzbmRfdXRpbF9tZW1oZHIgKmhkciA9IGh3LT50bGIubWVtaGRyOyAKLQotCW11dGV4X2xvY2soJmhkci0+YmxvY2tfbXV0ZXgpOwotCXN5bnRoX2ZyZWVfcGFnZXMoaHcsIGJsayk7Ci0JIF9fc25kX3V0aWxfbWVtX2ZyZWUoaGRyLCBibGspOwotCW11dGV4X3VubG9jaygmaGRyLT5ibG9ja19tdXRleCk7Ci0JcmV0dXJuIDA7Ci19Ci0KLUVYUE9SVF9TWU1CT0woc25kX3RyaWRlbnRfc3ludGhfZnJlZSk7Ci0KLS8qCi0gKiByZXNldCBUTEIgZW50cnkgYW5kIGZyZWUga2VybmVsIHBhZ2UKLSAqLwotc3RhdGljIHZvaWQgY2xlYXJfdGxiKHN0cnVjdCBzbmRfdHJpZGVudCAqdHJpZGVudCwgaW50IHBhZ2UpCi17Ci0Jdm9pZCAqcHRyID0gcGFnZV90b19wdHIodHJpZGVudCwgcGFnZSk7Ci0JZG1hX2FkZHJfdCBhZGRyID0gcGFnZV90b19hZGRyKHRyaWRlbnQsIHBhZ2UpOwotCXNldF9zaWxlbnRfdGxiKHRyaWRlbnQsIHBhZ2UpOwotCWlmIChwdHIpIHsKLQkJc3RydWN0IHNuZF9kbWFfYnVmZmVyIGRtYWI7Ci0JCWRtYWIuZGV2LnR5cGUgPSBTTkRSVl9ETUFfVFlQRV9ERVY7Ci0JCWRtYWIuZGV2LmRldiA9IHNuZF9kbWFfcGNpX2RhdGEodHJpZGVudC0+cGNpKTsKLQkJZG1hYi5hcmVhID0gcHRyOwotCQlkbWFiLmFkZHIgPSBhZGRyOwotCQlkbWFiLmJ5dGVzID0gQUxJR05fUEFHRV9TSVpFOwotCQlzbmRfZG1hX2ZyZWVfcGFnZXMoJmRtYWIpOwotCX0KLX0KLQotLyogY2hlY2sgbmV3IGFsbG9jYXRpb24gcmFuZ2UgKi8KLXN0YXRpYyB2b2lkIGdldF9zaW5nbGVfcGFnZV9yYW5nZShzdHJ1Y3Qgc25kX3V0aWxfbWVtaGRyICpoZHIsCi0JCQkJICBzdHJ1Y3Qgc25kX3V0aWxfbWVtYmxrICpibGssCi0JCQkJICBpbnQgKmZpcnN0X3BhZ2VfcmV0LCBpbnQgKmxhc3RfcGFnZV9yZXQpCi17Ci0Jc3RydWN0IGxpc3RfaGVhZCAqcDsKLQlzdHJ1Y3Qgc25kX3V0aWxfbWVtYmxrICpxOwotCWludCBmaXJzdF9wYWdlLCBsYXN0X3BhZ2U7Ci0JZmlyc3RfcGFnZSA9IGZpcnN0cGcoYmxrKTsKLQlpZiAoKHAgPSBibGstPmxpc3QucHJldikgIT0gJmhkci0+YmxvY2spIHsKLQkJcSA9IGxpc3RfZW50cnkocCwgc3RydWN0IHNuZF91dGlsX21lbWJsaywgbGlzdCk7Ci0JCWlmIChsYXN0cGcocSkgPT0gZmlyc3RfcGFnZSkKLQkJCWZpcnN0X3BhZ2UrKzsgIC8qIGZpcnN0IHBhZ2Ugd2FzIGFscmVhZHkgYWxsb2NhdGVkICovCi0JfQotCWxhc3RfcGFnZSA9IGxhc3RwZyhibGspOwotCWlmICgocCA9IGJsay0+bGlzdC5uZXh0KSAhPSAmaGRyLT5ibG9jaykgewotCQlxID0gbGlzdF9lbnRyeShwLCBzdHJ1Y3Qgc25kX3V0aWxfbWVtYmxrLCBsaXN0KTsKLQkJaWYgKGZpcnN0cGcocSkgPT0gbGFzdF9wYWdlKQotCQkJbGFzdF9wYWdlLS07IC8qIGxhc3QgcGFnZSB3YXMgYWxyZWFkeSBhbGxvY2F0ZWQgKi8KLQl9Ci0JKmZpcnN0X3BhZ2VfcmV0ID0gZmlyc3RfcGFnZTsKLQkqbGFzdF9wYWdlX3JldCA9IGxhc3RfcGFnZTsKLX0KLQotLyoKLSAqIGFsbG9jYXRlIGtlcm5lbCBwYWdlcyBhbmQgYXNzaWduIHRoZW0gdG8gVExCCi0gKi8KLXN0YXRpYyBpbnQgc3ludGhfYWxsb2NfcGFnZXMoc3RydWN0IHNuZF90cmlkZW50ICpodywgc3RydWN0IHNuZF91dGlsX21lbWJsayAqYmxrKQotewotCWludCBwYWdlLCBmaXJzdF9wYWdlLCBsYXN0X3BhZ2U7Ci0Jc3RydWN0IHNuZF9kbWFfYnVmZmVyIGRtYWI7Ci0KLQlmaXJzdHBnKGJsaykgPSBnZXRfYWxpZ25lZF9wYWdlKGJsay0+b2Zmc2V0KTsKLQlsYXN0cGcoYmxrKSA9IGdldF9hbGlnbmVkX3BhZ2UoYmxrLT5vZmZzZXQgKyBibGstPnNpemUgLSAxKTsKLQlnZXRfc2luZ2xlX3BhZ2VfcmFuZ2UoaHctPnRsYi5tZW1oZHIsIGJsaywgJmZpcnN0X3BhZ2UsICZsYXN0X3BhZ2UpOwotCi0JLyogYWxsb2NhdGUgYSBrZXJuZWwgcGFnZSBmb3IgZWFjaCBUcmlkZW50IHBhZ2UgLQotCSAqIGZvcnR1bmF0ZWx5IFRyaWRlbnQgcGFnZSBzaXplIGFuZCBrZXJuZWwgUEFHRV9TSVpFIGlzIGlkZW50aWNhbCEKLQkgKi8KLQlmb3IgKHBhZ2UgPSBmaXJzdF9wYWdlOyBwYWdlIDw9IGxhc3RfcGFnZTsgcGFnZSsrKSB7Ci0JCWlmIChzbmRfZG1hX2FsbG9jX3BhZ2VzKFNORFJWX0RNQV9UWVBFX0RFViwgc25kX2RtYV9wY2lfZGF0YShody0+cGNpKSwKLQkJCQkJQUxJR05fUEFHRV9TSVpFLCAmZG1hYikgPCAwKQotCQkJZ290byBfX2ZhaWw7Ci0JCWlmICghIGlzX3ZhbGlkX3BhZ2UoZG1hYi5hZGRyKSkgewotCQkJc25kX2RtYV9mcmVlX3BhZ2VzKCZkbWFiKTsKLQkJCWdvdG8gX19mYWlsOwotCQl9Ci0JCXNldF90bGJfYnVzKGh3LCBwYWdlLCAodW5zaWduZWQgbG9uZylkbWFiLmFyZWEsIGRtYWIuYWRkcik7Ci0JfQotCXJldHVybiAwOwotCi1fX2ZhaWw6Ci0JLyogcmVsZWFzZSBhbGxvY2F0ZWQgcGFnZXMgKi8KLQlsYXN0X3BhZ2UgPSBwYWdlIC0gMTsKLQlmb3IgKHBhZ2UgPSBmaXJzdF9wYWdlOyBwYWdlIDw9IGxhc3RfcGFnZTsgcGFnZSsrKQotCQljbGVhcl90bGIoaHcsIHBhZ2UpOwotCi0JcmV0dXJuIC1FTk9NRU07Ci19Ci0KLS8qCi0gKiBmcmVlIHBhZ2VzCi0gKi8KLXN0YXRpYyBpbnQgc3ludGhfZnJlZV9wYWdlcyhzdHJ1Y3Qgc25kX3RyaWRlbnQgKnRyaWRlbnQsIHN0cnVjdCBzbmRfdXRpbF9tZW1ibGsgKmJsaykKLXsKLQlpbnQgcGFnZSwgZmlyc3RfcGFnZSwgbGFzdF9wYWdlOwotCi0JZ2V0X3NpbmdsZV9wYWdlX3JhbmdlKHRyaWRlbnQtPnRsYi5tZW1oZHIsIGJsaywgJmZpcnN0X3BhZ2UsICZsYXN0X3BhZ2UpOwotCWZvciAocGFnZSA9IGZpcnN0X3BhZ2U7IHBhZ2UgPD0gbGFzdF9wYWdlOyBwYWdlKyspCi0JCWNsZWFyX3RsYih0cmlkZW50LCBwYWdlKTsKLQotCXJldHVybiAwOwotfQotCi0vKgotICogY29weV9mcm9tX3VzZXIoYmxrICsgb2Zmc2V0LCBkYXRhLCBzaXplKQotICovCi1pbnQgc25kX3RyaWRlbnRfc3ludGhfY29weV9mcm9tX3VzZXIoc3RydWN0IHNuZF90cmlkZW50ICp0cmlkZW50LAotCQkJCSAgICAgc3RydWN0IHNuZF91dGlsX21lbWJsayAqYmxrLAotCQkJCSAgICAgaW50IG9mZnNldCwgY29uc3QgY2hhciBfX3VzZXIgKmRhdGEsIGludCBzaXplKQotewotCWludCBwYWdlLCBuZXh0b2ZzLCBlbmRfb2Zmc2V0LCB0ZW1wLCB0ZW1wMTsKLQotCW9mZnNldCArPSBibGstPm9mZnNldDsKLQllbmRfb2Zmc2V0ID0gb2Zmc2V0ICsgc2l6ZTsKLQlwYWdlID0gZ2V0X2FsaWduZWRfcGFnZShvZmZzZXQpICsgMTsKLQlkbyB7Ci0JCW5leHRvZnMgPSBhbGlnbmVkX3BhZ2Vfb2Zmc2V0KHBhZ2UpOwotCQl0ZW1wID0gbmV4dG9mcyAtIG9mZnNldDsKLQkJdGVtcDEgPSBlbmRfb2Zmc2V0IC0gb2Zmc2V0OwotCQlpZiAodGVtcDEgPCB0ZW1wKQotCQkJdGVtcCA9IHRlbXAxOwotCQlpZiAoY29weV9mcm9tX3VzZXIob2Zmc2V0X3B0cih0cmlkZW50LCBvZmZzZXQpLCBkYXRhLCB0ZW1wKSkKLQkJCXJldHVybiAtRUZBVUxUOwotCQlvZmZzZXQgPSBuZXh0b2ZzOwotCQlkYXRhICs9IHRlbXA7Ci0JCXBhZ2UrKzsKLQl9IHdoaWxlIChvZmZzZXQgPCBlbmRfb2Zmc2V0KTsKLQlyZXR1cm4gMDsKLX0KLQotRVhQT1JUX1NZTUJPTChzbmRfdHJpZGVudF9zeW50aF9jb3B5X2Zyb21fdXNlcik7CmRpZmYgLS1naXQgYS9zb3VuZC9wY2kvdmlhODJ4eC5jIGIvc291bmQvcGNpL3ZpYTgyeHguYwppbmRleCBiNTg1Y2MzLi42NzgxYmU5IDEwMDY0NAotLS0gYS9zb3VuZC9wY2kvdmlhODJ4eC5jCisrKyBiL3NvdW5kL3BjaS92aWE4Mnh4LmMKQEAgLTE3NTcsNiArMTc1NywxMiBAQAogCQkudHlwZSA9IEFDOTdfVFVORV9IUF9PTkxZCiAJfSwKIAl7CisJCS5zdWJ2ZW5kb3IgPSAweDEwMTksCisJCS5zdWJkZXZpY2UgPSAweDE4NDEsCisJCS5uYW1lID0gIkVDUyBLN1ZUQTMiLAorCQkudHlwZSA9IEFDOTdfVFVORV9IUF9PTkxZCisJfSwKKwl7CiAJCS5zdWJ2ZW5kb3IgPSAweDE4NDksCiAJCS5zdWJkZXZpY2UgPSAweDMwNTksCiAJCS5uYW1lID0gIkFTUm9jayBLN1ZNMiIsCmRpZmYgLS1naXQgYS9zb3VuZC9wY2kvdngyMjIvdngyMjJfb3BzLmMgYi9zb3VuZC9wY2kvdngyMjIvdngyMjJfb3BzLmMKaW5kZXggYjRiZmMxYS4uNjMxZjNhNiAxMDA2NDQKLS0tIGEvc291bmQvcGNpL3Z4MjIyL3Z4MjIyX29wcy5jCisrKyBiL3NvdW5kL3BjaS92eDIyMi92eDIyMl9vcHMuYwpAQCAtMzU5LDcgKzM1OSw3IEBACiB7CiAJdW5zaWduZWQgaW50IGk7CiAJdW5zaWduZWQgaW50IHBvcnQ7Ci0JdW5zaWduZWQgY2hhciAqaW1hZ2U7CisJY29uc3QgdW5zaWduZWQgY2hhciAqaW1hZ2U7CiAKIAkvKiBYSUxJTlggcmVzZXQgKHdhaXQgYXQgbGVhc3QgMSBtaWxpc2Vjb25kIGJldHdlZW4gcmVzZXQgb24gYW5kIG9mZikuICovCiAJdnhfb3V0bChjaGlwLCBDTlRSTCwgVlhfQ05UUkxfUkVHSVNURVJfVkFMVUUgfCBWWF9YSUxJTlhfUkVTRVRfTUFTSyk7CmRpZmYgLS1naXQgYS9zb3VuZC9wY2kveW1mcGNpL3ltZnBjaV9pbWFnZS5oIGIvc291bmQvcGNpL3ltZnBjaS95bWZwY2lfaW1hZ2UuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTEyZjJmZi4uMDAwMDAwMAotLS0gYS9zb3VuZC9wY2kveW1mcGNpL3ltZnBjaV9pbWFnZS5oCisrKyAvZGV2L251bGwKQEAgLTEsMTU2NSArMCwwIEBACi0jaWZuZGVmIF9IV01DT0RFXwotI2RlZmluZSBfSFdNQ09ERV8KLQotc3RhdGljIHUzMiBEc3BJbnN0W1lEU1hHX0RTUExFTkdUSCAvIDRdID0gewotCTB4MDAwMDAwODEsIDB4MDAwMDAxYTQsIDB4MDAwMDAwMGEsIDB4MDAwMDAwMmYsCi0JMHgwMDA4MDI1MywgMHgwMTgwMDMxNywgMHgwMDAwNDA3YiwgMHgwMDAwODQzZiwKLQkweDAwMDE0ODNjLCAweDAwMDE5NDNjLCAweDAwMDVkODNjLCAweDAwMDAxYzNjLAotCTB4MDAwMGMwN2IsIDB4MDAwNTBjM2YsIDB4MDEyMTUwM2MsIDB4MDAwMDAwMDAsCi0JMHgwMDAwMDAwMCwgMHgwMDAwMDAwMCwgMHgwMDAwMDAwMCwgMHgwMDAwMDAwMCwKLQkweDAwMDAwMDAwLCAweDAwMDAwMDAwLCAweDAwMDAwMDAwLCAweDAwMDAwMDAwLAotCTB4MDAwMDAwMDAsIDB4MDAwMDAwMDAsIDB4MDAwMDAwMDAsIDB4MDAwMDAwMDAsCi0JMHgwMDAwMDAwMCwgMHgwMDAwMDAwMCwgMHgwMDAwMDAwMCwgMHgwMDAwMDAwMAotfTsKLQotc3RhdGljIHUzMiBDbnRybEluc3RbWURTWEdfQ1RSTExFTkdUSCAvIDRdID0gewotCTB4MDAwMDA3LCAweDI0MDAwNywgMHgwQzAwMDcsIDB4MUMwMDA3LAotCTB4MDYwMDA3LCAweDcwMDAwMiwgMHgwMDAwMjAsIDB4MDMwMDQwLAotCTB4MDA3MTA0LCAweDAwNDI4NiwgMHgwMzAwNDAsIDB4MDAwRjBELAotCTB4MDAwODEwLCAweDIwMDQzQSwgMHgwMDAyODIsIDB4MDAwMjBELAotCTB4MDAwODEwLCAweDIwMDQzQSwgMHgwMDEyODIsIDB4MjAwRTgyLAotCTB4MDAxQTgyLCAweDAzMkQwRCwgMHgwMDA4MTAsIDB4MTAwNDNBLAotCTB4MDJEMzhELCAweDAwMDgxMCwgMHgxODA0M0EsIDB4MDAwMTBELAotCTB4MDIwMDE1LCAweDAwMDBGRCwgMHgwMDAwMjAsIDB4MDM4ODYwLAotCTB4MDM5MDYwLCAweDAzODA2MCwgMHgwMzgwNDAsIDB4MDM4MDQwLAotCTB4MDM4MDQwLCAweDAxODA0MCwgMHgwMDBBN0QsIDB4MDM4MDQwLAotCTB4MDM4MDQwLCAweDAxODA0MCwgMHgyMDA0MDIsIDB4MDAwODgyLAotCTB4MDgwMDFBLCAweDAwMDkwNCwgMHgwMTU5ODYsIDB4MDAwMDA3LAotCTB4MjYwMDA3LCAweDAwMDAwNywgMHgwMDAwMDcsIDB4MDE4QTA2LAotCTB4MDAwMDA3LCAweDAzMEM4RCwgMHgwMDA4MTAsIDB4MTgwNDNBLAotCTB4MjYwMDA3LCAweDAwMDg3RCwgMHgwMTgwNDIsIDB4MDAxNjBBLAotCTB4MDRBMjA2LCAweDAwMDAwNywgMHgwMDIxOEQsIDB4MDAwODEwLAotCTB4MDgwNDNBLCAweDIxQzIwNiwgMHgwMDAwMDcsIDB4MDAwN0ZELAotCTB4MDE4MDQyLCAweDA4MDAwQSwgMHgwMDA5MDQsIDB4MDI5Mzg2LAotCTB4MDAwMTk1LCAweDA5MEQwNCwgMHgwMDAwMDcsIDB4MDAwODIwLAotCTB4MDAwMEY1LCAweDAwMEI3RCwgMHgwMUYwNjAsIDB4MDAwMEZELAotCTB4MDMyMjA2LCAweDAxODA0MCwgMHgwMDBBN0QsIDB4MDM4MDQyLAotCTB4MTM4MDRBLCAweDE4MDAwQSwgMHgwMDE4MjAsIDB4MDU5MDYwLAotCTB4MDU4ODYwLCAweDAxODA0MCwgMHgwMDAwRkQsIDB4MDE4MDQyLAotCTB4NzAwMDBBLCAweDAwMDExNSwgMHgwNzExNDQsIDB4MDMyMzg2LAotCTB4MDMwMDAwLCAweDAwNzAyMCwgMHgwMzRBMDYsIDB4MDE4MDQwLAotCTB4MDAzNDhELCAweDAwMDgxMCwgMHgwODA0M0EsIDB4MjFFQTA2LAotCTB4MDAwMDA3LCAweDAyRDM4RCwgMHgwMDA4MTAsIDB4MTgwNDNBLAotCTB4MDE4MjA2LCAweDAwMDAwNywgMHgyNDAwMDcsIDB4MDAwRjhELAotCTB4MDAwODEwLCAweDAwMTYzQSwgMHgwMDI0MDIsIDB4MDA1QzAyLAotCTB4MDAyOEZELCAweDAwMDAyMCwgMHgwMTgwNDAsIDB4MDgwMDBELAotCTB4MDAwODE1LCAweDUxMDk4NCwgMHgwMDAwMDcsIDB4MDAwMDRELAotCTB4MDAwRTVELCAweDAwMEUwMiwgMHgwMDQxOEQsIDB4MDAwODEwLAotCTB4MDgwNDNBLCAweDJDOEEwNiwgMHgwMDAwMDcsIDB4MDAwMDhELAotCTB4MDAwOTI0LCAweDAwMEYwMiwgMHgwMDQ1OEQsIDB4MDAwODEwLAotCTB4MDgwNDNBLCAweDJDOEEwNiwgMHgwMDAwMDcsIDB4MDAzODdELAotCTB4MDE4MDQyLCAweDA4MDAwQSwgMHgwMDEwMTUsIDB4MDEwOTg0LAotCTB4MDE4Mzg2LCAweDAwMDAwNywgMHgwMUFBMDYsIDB4MDAwMDA3LAotCTB4MDAwOEZELCAweDAxODA0MiwgMHgxODAwMEEsIDB4MDAxOTA0LAotCTB4MjE4MDg2LCAweDI4MDAwNywgMHgwMDE4MTAsIDB4MjgwNDNBLAotCTB4MjgwQzAyLCAweDAwMDAwRCwgMHgwMDA4MTAsIDB4MjgxNDNBLAotCTB4MDg4MDhELCAweDAwMDgyMCwgMHgwMDAyRkQsIDB4MDE4MDQwLAotCTB4MjAwMDA3LCAweDAwMDIwRCwgMHgxODk5MDQsIDB4MDAwMDA3LAotCTB4MDA0MDJELCAweDAwMDBCRCwgMHgwMDAyRkQsIDB4MDE4MDQyLAotCTB4MDgwMDBBLCAweDAwMDkwNCwgMHgwNTVBODYsIDB4MDAwMDA3LAotCTB4MDAwMTAwLCAweDAwMEEyMCwgMHgwMDA0N0QsIDB4MDE4MDQwLAotCTB4MDE4MDQyLCAweDIwMDAwQSwgMHgwMDMwMTUsIDB4MDEyMTQ0LAotCTB4MDM0OTg2LCAweDAwMDAwNywgMHgwMDIxMDQsIDB4MDM0OTg2LAotCTB4MDAwMDA3LCAweDAwMEY4RCwgMHgwMDA4MTAsIDB4MjgwQzNBLAotCTB4MDIzOTQ0LCAweDA2Qzk4NiwgMHgwMDAwMDcsIDB4MDAxODEwLAotCTB4MjgwNDNBLCAweDA4ODEwRCwgMHgwMDA4MjAsIDB4MDAwMkZELAotCTB4MDE4MDQwLCAweDIwMDAwNywgMHgwMDI4MTAsIDB4NzgwMDNBLAotCTB4MDA2ODhELCAweDAwMDgxMCwgMHgwODA0M0EsIDB4Mjg4QTA2LAotCTB4MDAwMDA3LCAweDAwNDAwRCwgMHgwMDEwMTUsIDB4MTg5OTA0LAotCTB4MjkyOTA0LCAweDM5MzkwNCwgMHgwMDAwMDcsIDB4MDYwMjA2LAotCTB4MDAwMDA3LCAweDAwMDRGNSwgMHgwMDAwN0QsIDB4MDAwMDIwLAotCTB4MDAwMDhELCAweDAxMDg2MCwgMHgwMTgwNDAsIDB4MDAwNDdELAotCTB4MDM4MDQyLCAweDIxODA0QSwgMHgxODAwMEEsIDB4MDIxOTQ0LAotCTB4MjE1ODg2LCAweDAwMDAwNywgMHgwMDQwNzUsIDB4NzFGMTA0LAotCTB4MDAwMDA3LCAweDAxMDA0MiwgMHgyODAwMEEsIDB4MDAyOTA0LAotCTB4MjEyMDg2LCAweDAwMDAwNywgMHgwMDNDMEQsIDB4MzBBOTA0LAotCTB4MDAwMDA3LCAweDAwMDc3RCwgMHgwMTgwNDIsIDB4MDgwMDBBLAotCTB4MDAwOTA0LCAweDA3REE4NiwgMHgwMDA1N0QsIDB4MDAyODIwLAotCTB4MDNCMDYwLCAweDA3RjIwNiwgMHgwMTgwNDAsIDB4MDAzMDIwLAotCTB4MDNBODYwLCAweDAxODA0MCwgMHgwMDAyRkQsIDB4MDE4MDQyLAotCTB4MDgwMDBBLCAweDAwMDkwNCwgMHgwN0ZBODYsIDB4MDAwMDA3LAotCTB4MDAwNTdELCAweDAxODA0MiwgMHgyODA0MEEsIDB4MDAwRThELAotCTB4MDAwODEwLCAweDI4MEMzQSwgMHgwMDAwMEQsIDB4MDAwODEwLAotCTB4MjgxNDNBLCAweDA5MDAwRCwgMHgwMDA4MjAsIDB4MDAwMkZELAotCTB4MDE4MDQwLCAweDIwMDAwNywgMHgwMDNERkQsIDB4MDAwMDIwLAotCTB4MDE4MDQwLCAweDAwMTA3RCwgMHgwMDhEOEQsIDB4MDAwODEwLAotCTB4MDgwNDNBLCAweDI4OEEwNiwgMHgwMDAwMDcsIDB4MDAwODE1LAotCTB4MDgwMDFBLCAweDAxMDk4NCwgMHgwOTUxODYsIDB4MDAxMzdELAotCTB4MjAwNTAwLCAweDI4MEYyMCwgMHgzMzhGNjAsIDB4M0I4RjYwLAotCTB4NDM4RjYwLCAweDRCOEY2MCwgMHg1MzhGNjAsIDB4NUI4RjYwLAotCTB4MDM4QTYwLCAweDAxODA0MCwgMHgwMDdGQkQsIDB4MzgzREM0LAotCTB4MDAwMDA3LCAweDAwMUE3RCwgMHgwMDEzNzUsIDB4MDE4MDQyLAotCTB4MDkwMDRBLCAweDEwMDAwQSwgMHgwQjhEMDQsIDB4MTM5NTA0LAotCTB4MDAwMDA3LCAweDAwMDgyMCwgMHgwMTkwNjAsIDB4MDAxMTA0LAotCTB4MjEyMDg2LCAweDAxMDA0MCwgMHgwMDE3RkQsIDB4MDE4MDQyLAotCTB4MDgwMDBBLCAweDAwMDkwNCwgMHgyMTIyODYsIDB4MDAwMDA3LAotCTB4MDAxOTdELCAweDAzODA0MiwgMHgwOTgwNEEsIDB4MTAwMDBBLAotCTB4MDAwOTI0LCAweDAwMTY2NCwgMHgwMDExRkQsIDB4MDM4MDQyLAotCTB4MkI4MDRBLCAweDE5ODA0QSwgMHgwMDAwOEQsIDB4MjE4OTQ0LAotCTB4MDAwMDA3LCAweDAwMjI0NCwgMHgwQUUxODYsIDB4MDAwMDA3LAotCTB4MDAxQTY0LCAweDAwMkEyNCwgMHgwMDE5N0QsIDB4MDgwMTAyLAotCTB4MTAwMTIyLCAweDAwMDgyMCwgMHgwMzkwNjAsIDB4MDE4MDQwLAotCTB4MDAzREZELCAweDAwMDA4RCwgMHgwMDA4MjAsIDB4MDE4MDQwLAotCTB4MDAxMzc1LCAweDAwMUE3RCwgMHgwMTAwNDIsIDB4MDk4MDRBLAotCTB4MTAwMDBBLCAweDAwMDIxRCwgMHgwMTg5RTQsIDB4Mjk5MkU0LAotCTB4MzA5MTQ0LCAweDAwMDAwNywgMHgwMDA2MEQsIDB4MDAwQTE1LAotCTB4MDAwQzFELCAweDAwMTAyNSwgMHgwMEE5RTQsIDB4MDEyQkU0LAotCTB4MDAwNDY0LCAweDAxQjNFNCwgMHgwMjMyRTQsIDB4MDAwNDY0LAotCTB4MDAwNDY0LCAweDAwMDQ2NCwgMHgwMDA0NjQsIDB4MDAwNDBELAotCTB4MDhCMUM0LCAweDAwMDAwNywgMHgwMDA4MjAsIDB4MDAwQkY1LAotCTB4MDMwMDQwLCAweDAwMTk3RCwgMHgwMzgwNDIsIDB4MDk4MDRBLAotCTB4MDAwQTI0LCAweDA4MDAwQSwgMHgwODBFNjQsIDB4MDAwMDA3LAotCTB4MTAwMTIyLCAweDAwMDgyMCwgMHgwMzEwNjAsIDB4MDEwMDQwLAotCTB4MDA2NEFDLCAweDAwMDI3RCwgMHgwMDAwMjAsIDB4MDE4MDQwLAotCTB4MDAxMDdELCAweDAxODA0MiwgMHgwMDExRkQsIDB4M0I4MDRBLAotCTB4MDk4MDRBLCAweDIwMDAwQSwgMHgwMDAwOTUsIDB4MUExMTQ0LAotCTB4MDBBMTQ0LCAweDBEMjA4NiwgMHgwMDA0MEQsIDB4MDBCOTg0LAotCTB4MEQyMTg2LCAweDAwMThGRCwgMHgwMTgwNDIsIDB4MDAxMEZELAotCTB4MDk4MDRBLCAweDI4MDAwQSwgMHgwMDAwOTUsIDB4MDEwOTI0LAotCTB4MDAyQTY0LCAweDBEMTE4NiwgMHgwMDAwMDcsIDB4MDAyOTA0LAotCTB4MEQyMjg2LCAweDAwMDAwNywgMHgwRDJBMDYsIDB4MDgwMDAyLAotCTB4MDAwMDhELCAweDAwMzg3RCwgMHgwMDA4MjAsIDB4MDE4MDQwLAotCTB4MDAxMjdELCAweDAxODA0MiwgMHgxMDAwMEEsIDB4MDAzOTA0LAotCTB4MEREMTg2LCAweDAwMDgwRCwgMHg3RkZGQjUsIDB4MDBCOTg0LAotCTB4MERBMTg2LCAweDAwMDAyNSwgMHgwRTdBMDYsIDB4MDAwMDJELAotCTB4MDAwMDE1LCAweDAwMDgyRCwgMHgwMkM3OEQsIDB4MDAwODIwLAotCTB4MEVDMjA2LCAweDAwMDAwRCwgMHg3RjgwMzUsIDB4MDBCOTg0LAotCTB4MEU3MTg2LCAweDQwMDAyNSwgMHgwMDAwOEQsIDB4MTEwOTQ0LAotCTB4MDAwMDA3LCAweDAwMDE4RCwgMHgxMDk1MDQsIDB4MDAwMDA3LAotCTB4MDA5MTY0LCAweDAwMDQyNCwgMHgwMDA0MjQsIDB4MDAwNDI0LAotCTB4MTAwMTAyLCAweDI4MDAwMiwgMHgwMkM2OEQsIDB4MDAwODIwLAotCTB4MEVDMjA2LCAweDAwMDE4RCwgMHgwMDA0MkQsIDB4MDAwMDhELAotCTB4MTA5NTA0LCAweDAwMDAwNywgMHgwMDAyMEQsIDB4MTA5MTg0LAotCTB4MDAwMDA3LCAweDAyQzcwRCwgMHgwMDA4MjAsIDB4MDAwMDhELAotCTB4MDAzOEZELCAweDAxODA0MCwgMHgwMDNCRkQsIDB4MDAxMDIwLAotCTB4MDNBODYwLCAweDAwMDgxNSwgMHgzMTMxODQsIDB4MjEyMTg0LAotCTB4MDAwMDA3LCAweDAzQjA2MCwgMHgwM0EwNjAsIDB4MDE4MDQwLAotCTB4MDAyMkZELCAweDAwMDA5NSwgMHgwMTA5MjQsIDB4MDAwNDI0LAotCTB4MDAwNDI0LCAweDAwMTI2NCwgMHgxMDAxMDIsIDB4MDAwODIwLAotCTB4MDM5MDYwLCAweDAxODA0MCwgMHgwMDE5MjQsIDB4MDBGQjhELAotCTB4MDAzOTdELCAweDAwMDgyMCwgMHgwNTgwNDAsIDB4MDM4MDQyLAotCTB4MDk4NDRBLCAweDAwMDYwNiwgMHgwODA0MEEsIDB4MDAwNDI0LAotCTB4MDAwNDI0LCAweDAwMTE3RCwgMHgwMTgwNDIsIDB4MDgwMDBBLAotCTB4MDAwQTI0LCAweDI4MDUwMiwgMHgyODBDMDIsIDB4MDk4MDBELAotCTB4MDAwODIwLCAweDAwMDJGRCwgMHgwMTgwNDAsIDB4MjAwMDA3LAotCTB4MDAyMkZELCAweDAxODA0MiwgMHgwODAwMEEsIDB4MDAwMDk1LAotCTB4MjgwREM0LCAweDAxMTkyNCwgMHgwMDE5N0QsIDB4MDE4MDQyLAotCTB4MDAxMUZELCAweDA5ODA0QSwgMHgxMDAwMEEsIDB4MDAwMEI1LAotCTB4MTEzMTQ0LCAweDBBOEQwNCwgMHgwMDAwMDcsIDB4MDgwQTQ0LAotCTB4MTI5NTA0LCAweDAwMDAwNywgMHgwMDIzRkQsIDB4MDAxMDIwLAotCTB4MDM4MDQwLCAweDEwMTI0NCwgMHgwMDAwMDcsIDB4MDAwODIwLAotCTB4MDM5MDYwLCAweDAxODA0MCwgMHgwMDAyRkQsIDB4MDE4MDQyLAotCTB4MDgwMDBBLCAweDAwMDkwNCwgMHgxMEZBODYsIDB4MDAwMDA3LAotCTB4MDAzQkZELCAweDAwMDEwMCwgMHgwMDBBMTAsIDB4MEI4MDdBLAotCTB4MTM4MDRBLCAweDA5MDk4NCwgMHgwMDAwMDcsIDB4MDAwMDk1LAotCTB4MDEzRDA0LCAweDExODA4NiwgMHgxMDAwMEEsIDB4MTAwMDAyLAotCTB4MDkwOTg0LCAweDAwMDAwNywgMHgwMzgwNDIsIDB4MTE4MDRBLAotCTB4MDkwRDA0LCAweDAwMDAwNywgMHgxMDAwMEEsIDB4MDkwRDg0LAotCTB4MDAwMDA3LCAweDAwMjU3RCwgMHgwMDA4MjAsIDB4MDE4MDQwLAotCTB4MDAwMTBELCAweDAwMDgxMCwgMHgyODE0M0EsIDB4MDAxMjdELAotCTB4MDE4MDQyLCAweDIwMDAwQSwgMHgwMDE5N0QsIDB4MDE4MDQyLAotCTB4MDAxMTdELCAweDMxODA0QSwgMHgxMDAwMEEsIDB4MDAzMTI0LAotCTB4MDEyODBELCAweDAwMzk3RCwgMHgwMDA4MjAsIDB4MDU4MDQwLAotCTB4MDM4MDQyLCAweDA5ODQ0QSwgMHgwMDA2MDYsIDB4MDgwNDBBLAotCTB4MzAwMTAyLCAweDAwMzEyNCwgMHgwMDA0MjQsIDB4MDAwNDI0LAotCTB4MDAxMjI0LCAweDI4MDUwMiwgMHgwMDFBNEMsIDB4MTMwMTg2LAotCTB4NzAwMDAyLCAweDAwMDAyRCwgMHgwMzAwMDAsIDB4MDAzODdELAotCTB4MDE4MDQyLCAweDEwMDAwQSwgMHgxMzJBMDYsIDB4MDAyMTI0LAotCTB4MDAwMEFELCAweDEwMDAwMiwgMHgwMDAxMEQsIDB4MDAwOTI0LAotCTB4MDA2QjI0LCAweDAxMzY4RCwgMHgwMDM5N0QsIDB4MDAwODIwLAotCTB4MDU4MDQwLCAweDAzODA0MiwgMHgwOTg0NEEsIDB4MDAwNjA2LAotCTB4MDgwNDBBLCAweDAwMzI2NCwgMHgwMDAwOEQsIDB4MDAwQTI0LAotCTB4MDAxMDIwLCAweDAwMjI3RCwgMHgwMTgwNDAsIDB4MDEzQzBELAotCTB4MDAwODEwLCAweDA4MDQzQSwgMHgyOUQyMDYsIDB4MDAwMDA3LAotCTB4MDAyODIwLCAweDAwMjA3RCwgMHgwMTgwNDAsIDB4MDAxMTdELAotCTB4MDM4MDQyLCAweDEzODA0QSwgMHgzMzgwMEEsIDB4MDAzODdELAotCTB4MDE4MDQyLCAweDA4MDAwQSwgMHgwMDA5MDQsIDB4MTYzQTg2LAotCTB4MDAwMDA3LCAweDAwMDA4RCwgMHgwMzA5NjQsIDB4MDE0NzhELAotCTB4MDAzOTdELCAweDAwMDgyMCwgMHgwNTgwNDAsIDB4MDM4MDQyLAotCTB4MDk4NDRBLCAweDAwMDYwNiwgMHgwODA0MEEsIDB4MzgwMTAyLAotCTB4MDAwNDI0LCAweDAwMDQyNCwgMHgwMDEyMjQsIDB4MDAwMkZELAotCTB4MDE4MDQyLCAweDA4MDAwQSwgMHgwMDA5MDQsIDB4MTRBMjg2LAotCTB4MDAwMDA3LCAweDI4MDUwMiwgMHgwMDFBNEMsIDB4MTYzOTg2LAotCTB4MDAwMDA3LCAweDAzMjE2NCwgMHgwMDYzMkMsIDB4MDAzREZELAotCTB4MDE4MDQyLCAweDA4MDAwQSwgMHgwMDAwOTUsIDB4MDkwOTA0LAotCTB4MDAwMDA3LCAweDAwMDgyMCwgMHgwMDFBNEMsIDB4MTU2MTg2LAotCTB4MDE4MDQwLCAweDAzMDAwMCwgMHgxNTdBMDYsIDB4MDAyMTI0LAotCTB4MDAwMTBELCAweDAwMDkyNCwgMHgwMDZCMjQsIDB4MDE1QjhELAotCTB4MDAzOTdELCAweDAwMDgyMCwgMHgwNTgwNDAsIDB4MDM4MDQyLAotCTB4MDk4NDRBLCAweDAwMDYwNiwgMHgwODA0MEEsIDB4MDAzQTY0LAotCTB4MDAwMDk1LCAweDAwMTIyNCwgMHgwMDAyRkQsIDB4MDE4MDQyLAotCTB4MDgwMDBBLCAweDAwMDkwNCwgMHgxNURBODYsIDB4MDAwMDA3LAotCTB4MDE2MjhELCAweDAwMDgxMCwgMHgwODA0M0EsIDB4MjlEMjA2LAotCTB4MDAwMDA3LCAweDE0RDIwNiwgMHgwMDAwMDcsIDB4MDA3MDIwLAotCTB4MDgwMTBBLCAweDEwMDEyQSwgMHgwMDIwRkQsIDB4MDM4ODYwLAotCTB4MDM5MDYwLCAweDAxODA0MCwgMHgwMDIyN0QsIDB4MDE4MDQyLAotCTB4MDAzREZELCAweDA4MDAwQSwgMHgzMTg0NEEsIDB4MDAwOTA0LAotCTB4MTZEODg2LCAweDE4MDA4QiwgMHgwMDAwOEQsIDB4MTg5OTA0LAotCTB4MDAzMTJDLCAweDE3QUEwNiwgMHgwMDAwMDcsIDB4MDAzMjRDLAotCTB4MTczMzg2LCAweDAwMDAwNywgMHgwMDE5MDQsIDB4MTczMDg2LAotCTB4MDAwMDA3LCAweDAwMDA5NSwgMHgxOTkxNDQsIDB4MDAyMjJDLAotCTB4MDAzMTI0LCAweDAwNjM2QywgMHgwMDBFM0QsIDB4MDAxMzc1LAotCTB4MDAwQkZELCAweDAxMDA0MiwgMHgwOTgwNEEsIDB4MTAwMDBBLAotCTB4MDM4QUVDLCAweDAzOTNFQywgMHgwMDIyNEMsIDB4MTdBOTg2LAotCTB4MDAwMDA3LCAweDAwMDA4RCwgMHgxODk5MDQsIDB4MDAyMjZDLAotCTB4MDAzMjJDLCAweDMwMDUwQSwgMHgzMDFEQUIsIDB4MDAyMDgzLAotCTB4MDAxOEZELCAweDAxODA0MiwgMHgwODAwMEEsIDB4MDE4OTI0LAotCTB4MzAwNTAyLCAweDAwMTA4MywgMHgwMDE4NzUsIDB4MDEwMDQyLAotCTB4MTAwMDBBLCAweDAwMDA4RCwgMHgwMTA5MjQsIDB4MDAxMzc1LAotCTB4MzMwNTQyLCAweDMzMENDQiwgMHgzMzJDQ0IsIDB4MzMzNENCLAotCTB4MzMzQ0NCLCAweDMzNDRDQiwgMHgzMzRDQ0IsIDB4MzM1NENCLAotCTB4MzA1QzhCLCAweDAwNjA4MywgMHgwMDAyRjUsIDB4MDEwMDQyLAotCTB4MDgwMDBBLCAweDAwMDkwNCwgMHgxODdBODYsIDB4MDAwMDA3LAotCTB4MDAxRTJELCAweDAwMDVGRCwgMHgwMTgwNDIsIDB4MDgwMDBBLAotCTB4MDI4OTI0LCAweDI4MDUwMiwgMHgwMDA2MEQsIDB4MDAwODEwLAotCTB4MjgwQzNBLCAweDAwMDA4RCwgMHgwMDA4MTAsIDB4MjgxNDNBLAotCTB4MEE4MDhELCAweDAwMDgyMCwgMHgwMDAyRjUsIDB4MDEwMDQwLAotCTB4MjIwMDA3LCAweDAwMTI3NSwgMHgwMzAwNDIsIDB4MjEwMDRBLAotCTB4MDAwMDhELCAweDFBMDk0NCwgMHgwMDAwMDcsIDB4MDE5ODBELAotCTB4MDAwODEwLCAweDA4MDQzQSwgMHgyQjIyMDYsIDB4MDAwMDA3LAotCTB4MDAwMUY1LCAweDAzMDA0MiwgMHgwRDAwNEEsIDB4MTAwMDBBLAotCTB4MDg5MTQ0LCAweDAwMDAwNywgMHgwMDA4MjAsIDB4MDEwMDQwLAotCTB4MDAyNUY1LCAweDBBMzE0NCwgMHgwMDAwMDcsIDB4MDAwODIwLAotCTB4MDMyODYwLCAweDAzMDA0MCwgMHgwMDIxN0QsIDB4MDM4MDQyLAotCTB4MEI4MDRBLCAweDEwMDAwQSwgMHgwMDA4MjAsIDB4MDMxMDYwLAotCTB4MDMwMDQwLCAweDAwMDA4RCwgMHgwMDAxMjQsIDB4MDAwMTJDLAotCTB4MDAwRTY0LCAweDAwMUE2NCwgMHgwMDYzNkMsIDB4MDgwMTBBLAotCTB4MTAwMTJBLCAweDAwMDgyMCwgMHgwMzEwNjAsIDB4MDMwMDQwLAotCTB4MDAyMEZELCAweDAxODA0MiwgMHgwODAwMEEsIDB4MDAyMjdELAotCTB4MDE4MDQyLCAweDEwMDAwQSwgMHgwMDA4MjAsIDB4MDMxMDYwLAotCTB4MDMwMDQwLCAweDAwMTk3RCwgMHgwMTgwNDIsIDB4MDgwMDBBLAotCTB4MDAyMkZELCAweDAzODA0MiwgMHgxMDAwMEEsIDB4MDAwODIwLAotCTB4MDMxMDYwLCAweDAzMDA0MCwgMHgwOTBEMDQsIDB4MDAwMDA3LAotCTB4MDAwODIwLCAweDAzMDA0MCwgMHgwMzgwNDIsIDB4MEI4MDRBLAotCTB4MTAwMDBBLCAweDAwMDgyMCwgMHgwMzEwNjAsIDB4MDMwMDQwLAotCTB4MDM4MDQyLCAweDEzODA0QSwgMHgxOTgwNEEsIDB4MTEwRDA0LAotCTB4MTk4RDA0LCAweDAwMDAwNywgMHgwODAwMEEsIDB4MDAxMDIwLAotCTB4MDMxODYwLCAweDAzMDg2MCwgMHgwMzAwNDAsIDB4MDAwMDhELAotCTB4MEIwOTQ0LCAweDAwMDAwNywgMHgwMDA4MjAsIDB4MDEwMDQwLAotCTB4MDAwNUY1LCAweDAzMDA0MiwgMHgwODAwMEEsIDB4MDAwODIwLAotCTB4MDEwMDQwLCAweDAwMDBGNSwgMHgwMTAwNDIsIDB4MDgwMDBBLAotCTB4MDAwOTA0LCAweDFDNjA4NiwgMHgwMDFFNzUsIDB4MDMwMDQyLAotCTB4MDEwNDRBLCAweDAwMEMwQSwgMHgxQzcyMDYsIDB4MDAwMDA3LAotCTB4MDAwNDAyLCAweDAwMEMwMiwgMHgwMDE3N0QsIDB4MDAxQUY1LAotCTB4MDE4MDQyLCAweDAzMTQ0QSwgMHgwMzFDNEEsIDB4MDMyNDRBLAotCTB4MDMyQzRBLCAweDAzMzQ0QSwgMHgwMzNDNEEsIDB4MDM0NDRBLAotCTB4MDA0QzBBLCAweDAwMDQzRCwgMHgwMDEzRjUsIDB4MDAxQUZELAotCTB4MDMwMDQyLCAweDBCMDA0QSwgMHgxQjgwNEEsIDB4MTM4MDRBLAotCTB4MjAwMDBBLCAweDA4OTE0NCwgMHgxOUExNDQsIDB4MDM4OUU0LAotCTB4MDM5OUVDLCAweDAwNTUwMiwgMHgwMDVEMEEsIDB4MDMwMDQyLAotCTB4MEIwMDRBLCAweDFCODA0QSwgMHgxMzgwNEEsIDB4MjAwMDBBLAotCTB4MDg5MTQ0LCAweDE5QTE0NCwgMHgwMzg5RTQsIDB4MDM5OUVDLAotCTB4MDA2NTAyLCAweDAwNkQwQSwgMHgwMzAwNDIsIDB4MEIwMDRBLAotCTB4MTkwMDRBLCAweDJCODA0QSwgMHgxMzgwNEEsIDB4MjE4MDRBLAotCTB4MzAwMDBBLCAweDA4OTE0NCwgMHgxOUExNDQsIDB4MkFCMTQ0LAotCTB4MDM4OUU0LCAweDAzOTlFQywgMHgwMDc1MDIsIDB4MDA3RDBBLAotCTB4MDNBOUU0LCAweDAwMDcwMiwgMHgwMDEwN0QsIDB4MDAwNDE1LAotCTB4MDE4MDQyLCAweDA4MDAwQSwgMHgwMTA5RTQsIDB4MDAwRjAyLAotCTB4MDAyQUY1LCAweDAwMTlGRCwgMHgwMTAwNDIsIDB4MDk4MDRBLAotCTB4MTAwMDBBLCAweDAwMDkzNCwgMHgwMDE2NzQsIDB4MDAyOUY1LAotCTB4MDEwMDQyLCAweDEwMDAwQSwgMHgwMDkxN0MsIDB4MDAyMDc1LAotCTB4MDEwMDQyLCAweDA4MDAwQSwgMHgwMDA5MDQsIDB4MUVEMjg2LAotCTB4MDAyNkY1LCAweDAwMjdGNSwgMHgwMzAwNDIsIDB4MDkwMDRBLAotCTB4MTAwMDBBLCAweDAwMEEzQywgMHgwMDE2N0MsIDB4MDAxQTc1LAotCTB4MDAwQkZELCAweDAxMDA0MiwgMHg1MTgwNEEsIDB4NDgwMDBBLAotCTB4MTYwMDA3LCAweDAwMTA3NSwgMHgwMTAwNDIsIDB4MjgyQzBBLAotCTB4MjgxRDEyLCAweDI4MjUxMiwgMHgwMDFGMzIsIDB4MUUwMDA3LAotCTB4MEUwMDA3LCAweDAwMTk3NSwgMHgwMTAwNDIsIDB4MDAyREY1LAotCTB4MEQwMDRBLCAweDEwMDAwQSwgMHgwMDkxNDQsIDB4MUZCMjg2LAotCTB4MDEwMDQyLCAweDI4MzQwQSwgMHgwMDBFNUQsIDB4MDAwMDhELAotCTB4MDAwMzc1LCAweDAwMDgyMCwgMHgwMTAwNDAsIDB4MDVEMkY0LAotCTB4NTREMTA0LCAweDAwNzM1QywgMHgyMDUzODYsIDB4MDAwMDA3LAotCTB4MEMwMDA3LCAweDA4MDAwNywgMHgwQTAwMDcsIDB4MDIwNDBELAotCTB4MDAwODEwLCAweDA4MDQzQSwgMHgzMzIyMDYsIDB4MDAwMDA3LAotCTB4MjA1QTA2LCAweDAwMDAwNywgMHgwODAwMDcsIDB4MDAyMjc1LAotCTB4MDEwMDQyLCAweDIwMDAwQSwgMHgwMDIxMDQsIDB4MjEyMDg2LAotCTB4MDAxRTJELCAweDAwMDJGNSwgMHgwMTAwNDIsIDB4MDgwMDBBLAotCTB4MDAwOTA0LCAweDIwOTI4NiwgMHgwMDAwMDcsIDB4MDAyMDEwLAotCTB4MzAwNDNBLCAweDAwMDU3RCwgMHgwMTgwQzMsIDB4MDgwMDBBLAotCTB4MDI4OTI0LCAweDI4MDUwMiwgMHgyODBDMDIsIDB4MEE4MTBELAotCTB4MDAwODIwLCAweDAwMDJGNSwgMHgwMTAwNDAsIDB4MjIwMDA3LAotCTB4MDAwNEZELCAweDAxODA0MiwgMHg3MDAwMEEsIDB4MDMwMDAwLAotCTB4MDA3MDIwLCAweDA2RkEwNiwgMHgwMTgwNDAsIDB4MDIxODBELAotCTB4MDAwODEwLCAweDA4MDQzQSwgMHgyQjIyMDYsIDB4MDAwMDA3LAotCTB4MDAwMkZELCAweDAxODA0MiwgMHgwODAwMEEsIDB4MDAwOTA0LAotCTB4MjE4QTg2LCAweDAwMDAwNywgMHgwMUYyMDYsIDB4MDAwMDA3LAotCTB4MDAwODc1LCAweDAwMDlGRCwgMHgwMDAxMEQsIDB4MjIwQTA2LAotCTB4MDAwMjk1LCAweDAwMEI3NSwgMHgwMDA5N0QsIDB4MDAwMDBELAotCTB4MDAwNTE1LCAweDAxMDA0MiwgMHgxODAwMEEsIDB4MDAxOTA0LAotCTB4Mjg3ODg2LCAweDAwMDZGNSwgMHgwMDEwMjAsIDB4MDEwMDQwLAotCTB4MDAwNEY1LCAweDAwMDgyMCwgMHgwMTAwNDAsIDB4MDAwNzc1LAotCTB4MDEwMDQyLCAweDA5ODA0QSwgMHgxMDAwMEEsIDB4MDAxMTI0LAotCTB4MDAwOTA0LCAweDIyQkE4NiwgMHgwMDA4MTUsIDB4MDgwMTAyLAotCTB4MTAxMjA0LCAweDIyREEwNiwgMHgwMDA1NzUsIDB4MDgxMjA0LAotCTB4MDAwMDA3LCAweDEwMDEwMiwgMHgwMDA1NzUsIDB4MDAwNDI1LAotCTB4MDIxMTI0LCAweDEwMDEwMiwgMHgwMDA4MjAsIDB4MDMxMDYwLAotCTB4MDEwMDQwLCAweDAwMTkyNCwgMHgyODc4ODYsIDB4MDAwMDhELAotCTB4MDAwNDY0LCAweDAwOUQwNCwgMHgyNzg4ODYsIDB4MTgwMTAyLAotCTB4MDAwNTc1LCAweDAxMDA0MiwgMHgyODA0MEEsIDB4MDAwMThELAotCTB4MDAwOTI0LCAweDI4MEQwMiwgMHgwMDAwMEQsIDB4MDAwOTI0LAotCTB4MjgxNTAyLCAweDEwMDAwRCwgMHgwMDA4MjAsIDB4MDAwMkY1LAotCTB4MDEwMDQwLCAweDIwMDAwNywgMHgwMDExNzUsIDB4MDAwMkZELAotCTB4MDE4MDQyLCAweDA4MDAwQSwgMHgwMDA5MDQsIDB4MjNDMjg2LAotCTB4MDAwMDA3LCAweDAwMDEwMCwgMHgwODBCMjAsIDB4MTMwQjYwLAotCTB4MUIwQjYwLCAweDAzMEE2MCwgMHgwMTAwNDAsIDB4MDUwMDQyLAotCTB4M0QwMDRBLCAweDM1MDA0QSwgMHgyRDAwNEEsIDB4MjAwMDBBLAotCTB4MDAwNkY1LCAweDAxMDA0MiwgMHgyODE0MEEsIDB4MDAwNEY1LAotCTB4MDEwMDQyLCAweDA4MDAwQSwgMHgwMDAzMTUsIDB4MDEwRDA0LAotCTB4MjRDQTg2LCAweDAwNDAxNSwgMHgwMDAwOTUsIDB4MDEwRDA0LAotCTB4MjRCODg2LCAweDEwMDAyMiwgMHgxMDAwMkEsIDB4MjRFMjA2LAotCTB4MDAwMDA3LCAweDMzMzEwNCwgMHgyQUE5MDQsIDB4MDAwMDA3LAotCTB4MDMyMTI0LCAweDI4MDUwMiwgMHgwMDExMjQsIDB4MDAwNDI0LAotCTB4MDAwNDI0LCAweDAwMzIyNCwgMHgwMDI5MkMsIDB4MDA2MzZDLAotCTB4MjVGMzg2LCAweDAwMDAwNywgMHgwMkIxNjQsIDB4MDAwNDY0LAotCTB4MDAwNDY0LCAweDAwMDA4RCwgMHgwMDBBNjQsIDB4MjgwRDAyLAotCTB4MTAwMDhELCAweDAwMDgyMCwgMHgwMDAyRjUsIDB4MDEwMDQwLAotCTB4MjIwMDA3LCAweDAwMDA4RCwgMHgzOEI5MDQsIDB4MDAwMDA3LAotCTB4MDMyOTZDLCAweDMwMDEwQSwgMHgwMDAyRjUsIDB4MDEwMDQyLAotCTB4MDgwMDBBLCAweDAwMDkwNCwgMHgyNUJBODYsIDB4MDAwMDA3LAotCTB4MDIzMTJDLCAweDI4MDUwQSwgMHgwMDAwOEQsIDB4MDEwOTZDLAotCTB4MjgwRDBBLCAweDEwMDEwRCwgMHgwMDA4MjAsIDB4MDAwMkY1LAotCTB4MDEwMDQwLCAweDIyMDAwNywgMHgwMDExMjQsIDB4MDAwNDI0LAotCTB4MDAwNDI0LCAweDAwMzIyNCwgMHgzMDAxMDIsIDB4MDMyOTQ0LAotCTB4MjY3QTg2LCAweDAwMDAwNywgMHgzMDAwMDIsIDB4MDAwNEY1LAotCTB4MDEwMDQyLCAweDA4MDAwQSwgMHgwMDAzMTUsIDB4MDEwRDA0LAotCTB4MjZDMDg2LCAweDAwMzEyNCwgMHgwMDA0NjQsIDB4MzAwMTAyLAotCTB4MDAwMkY1LCAweDAxMDA0MiwgMHgwODAwMEEsIDB4MDAwOTA0LAotCTB4MjZDQTg2LCAweDAwMDAwNywgMHgwMDMxMjQsIDB4MzAwNTAyLAotCTB4MDAzOTI0LCAweDMwMDU4MywgMHgwMDA4ODMsIDB4MDAwNUY1LAotCTB4MDEwMDQyLCAweDI4MDQwQSwgMHgwMDAwOEQsIDB4MDA4MTI0LAotCTB4MjgwRDAyLCAweDAwMDA4RCwgMHgwMDgxMjQsIDB4MjgxNTAyLAotCTB4MTAwMThELCAweDAwMDgyMCwgMHgwMDAyRjUsIDB4MDEwMDQwLAotCTB4MjIwMDA3LCAweDAwMTAyNSwgMHgwMDA1NzUsIDB4MDMwMDQyLAotCTB4MDkwMDRBLCAweDEwMDAwQSwgMHgwQTA5MDQsIDB4MTIxMTA0LAotCTB4MDAwMDA3LCAweDAwMTAyMCwgMHgwNTA4NjAsIDB4MDUwMDQwLAotCTB4MDAwNkZELCAweDAxODA0MiwgMHgwOTAwNEEsIDB4MTAwMDBBLAotCTB4MDAwMEE1LCAweDBBMDkwNCwgMHgxMjExMDQsIDB4MDAwMDA3LAotCTB4MDAwODIwLCAweDAxOTA2MCwgMHgwMTAwNDAsIDB4MDAwMkY1LAotCTB4MDEwMDQyLCAweDA4MDAwQSwgMHgwMDA5MDQsIDB4Mjg0Mjg2LAotCTB4MDAwMDA3LCAweDIzMEEwNiwgMHgwMDAwMDcsIDB4MDAwNjA2LAotCTB4MDAwMDA3LCAweDAwMDJGNSwgMHgwMTAwNDIsIDB4MDgwMDBBLAotCTB4MDAwOTA0LCAweDI4OTI4NiwgMHgwMDAwMDcsIDB4MDAwMTAwLAotCTB4MDgwQjIwLCAweDEzOEI2MCwgMHgxQjhCNjAsIDB4MjM4QjYwLAotCTB4MkI4QjYwLCAweDMzOEI2MCwgMHgzQjhCNjAsIDB4NDM4QjYwLAotCTB4NEI4QjYwLCAweDUzOEI2MCwgMHg1QjhCNjAsIDB4NjM4QjYwLAotCTB4NkI4QjYwLCAweDczOEI2MCwgMHg3QjhCNjAsIDB4MDM4RjYwLAotCTB4MEI4RjYwLCAweDEzOEY2MCwgMHgxQjhGNjAsIDB4MjM4RjYwLAotCTB4MkI4RjYwLCAweDMzOEY2MCwgMHgzQjhGNjAsIDB4NDM4RjYwLAotCTB4NEI4RjYwLCAweDUzOEY2MCwgMHg1QjhGNjAsIDB4NjM4RjYwLAotCTB4NkI4RjYwLCAweDczOEY2MCwgMHg3QjhGNjAsIDB4MDM4QTYwLAotCTB4MDAwNjA2LCAweDAxODA0MCwgMHgwMDAwOEQsIDB4MDAwQTY0LAotCTB4MjgwRDAyLCAweDAwMEEyNCwgMHgwMDAyN0QsIDB4MDE4MDQyLAotCTB4MTAwMDBBLCAweDAwMTIyNCwgMHgwMDAzRkQsIDB4MDE4MDQyLAotCTB4MDgwMDBBLCAweDAwMDkwNCwgMHgyQTgyODYsIDB4MDAwMDA3LAotCTB4MDAwMThELCAweDAwMEEyNCwgMHgwMDA0NjQsIDB4MDAwNDY0LAotCTB4MDgwMTAyLCAweDAwMDkyNCwgMHgwMDA0MjQsIDB4MDAwNDI0LAotCTB4MTAwMTAyLCAweDAyMDAwRCwgMHgwMDkxNDQsIDB4MkFEOTg2LAotCTB4MDAwMDA3LCAweDAwMDFGRCwgMHgwMTgwNDIsIDB4MDgwMDBBLAotCTB4MDAwQTQ0LCAweDJBQkI4NiwgMHgwMTgwNDIsIDB4MEEwMDBELAotCTB4MDAwODIwLCAweDAwMDJGRCwgMHgwMTgwNDAsIDB4MjAwMDA3LAotCTB4MDAwMjdELCAweDAwMTAyMCwgMHgwMDA2MDYsIDB4MDE4MDQwLAotCTB4MDAwMkY1LCAweDAxMDA0MiwgMHgwODAwMEEsIDB4MDAwOTA0LAotCTB4MkIyQTg2LCAweDAwMDAwNywgMHgwMDAzN0QsIDB4MDE4MDQyLAotCTB4MDgwMDBBLCAweDAwMDkwNCwgMHgyQjVBODYsIDB4MDAwMDA3LAotCTB4MDAwMDc1LCAweDAwMkU3RCwgMHgwMTAwNDIsIDB4MEI4MDRBLAotCTB4MDAwMDIwLCAweDAwMDkwNCwgMHgwMDA2ODYsIDB4MDEwMDQwLAotCTB4MzE4NDRBLCAweDMwMDQ4QiwgMHgwMDA4ODMsIDB4MDAwMDhELAotCTB4MDAwODEwLCAweDI4MTQzQSwgMHgwMDAwOEQsIDB4MDAwODEwLAotCTB4MjgwQzNBLCAweDAwMDY3NSwgMHgwMTAwNDIsIDB4MDgwMDBBLAotCTB4MDAzODE1LCAweDAxMDkyNCwgMHgyODA1MDIsIDB4MEIwMDBELAotCTB4MDAwODIwLCAweDAwMDJGNSwgMHgwMTAwNDAsIDB4MDAwNjA2LAotCTB4MjIwMDA3LCAweDAwMDQ2NCwgMHgwMDA0NjQsIDB4MDAwNjA2LAotCTB4MDAwMDA3LCAweDAwMDEzNCwgMHgwMDdGOEQsIDB4MDAwOTNDLAotCTB4MjgxRDEyLCAweDI4MjUxMiwgMHgwMDFGMzIsIDB4MEUwMDA3LAotCTB4MDAwMTBELCAweDAwMDM3RCwgMHgwMDA4MjAsIDB4MDE4MDQwLAotCTB4MDVEMkY0LCAweDAwMDAwNywgMHgwODAwMDcsIDB4MDAwMzdELAotCTB4MDE4MDQyLCAweDA4MDAwQSwgMHgwMDA5MDQsIDB4MkQwMjg2LAotCTB4MDAwMDA3LCAweDAwMDYwNiwgMHgwMDAwMDcsIDB4MDAwMDA3LAotCTB4MDAwMDEyLCAweDEwMDAwNywgMHgzMjAwMDcsIDB4NjAwMDA3LAotCTB4MTAwMDgwLCAweDQ4MDAxQSwgMHgwMDQ5MDQsIDB4MkQ2MTg2LAotCTB4MDAwMDA3LCAweDAwMTIxMCwgMHg1ODAwM0EsIDB4MDAwMTQ1LAotCTB4NUM1RDA0LCAweDAwMDAwNywgMHgwMDAwODAsIDB4NDgwMDFBLAotCTB4MDA0OTA0LCAweDJEQjE4NiwgMHgwMDAwMDcsIDB4MDAxMjEwLAotCTB4NTAwMDNBLCAweDAwNTkwNCwgMHgyRTA4ODYsIDB4MDAwMDQ1LAotCTB4MDAwMEM1LCAweDdGRkZGNSwgMHg3RkZGN0QsIDB4MDdENTI0LAotCTB4MDA0MjI0LCAweDUwMDEwMiwgMHgyMDA1MDIsIDB4MDAwMDgyLAotCTB4NDAwMDFBLCAweDAwNDEwNCwgMHgyRTM5ODYsIDB4MDAwMDA3LAotCTB4MDAzODY1LCAweDQwMDAxQSwgMHgwMDQwMjAsIDB4MDAxMDRELAotCTB4MDRDMTg0LCAweDMwMUI4NiwgMHgwMDAwNDAsIDB4MDQwMDA3LAotCTB4MDAwMTY1LCAweDAwMDE0NSwgMHgwMDQwMjAsIDB4MDAwMDQwLAotCTB4MDAwNzY1LCAweDA4MDA4MCwgMHg0MDAwMUEsIDB4MDA0MTA0LAotCTB4MkVDOTg2LCAweDAwMDAwNywgMHgwMDEyMTAsIDB4NDAwMDNBLAotCTB4MDA0MTA0LCAweDJGMjI4NiwgMHgwMDAwNEQsIDB4MDAwMENELAotCTB4MDA0ODEwLCAweDIwMDQzQSwgMHgwMDA4ODIsIDB4NDAwMDFBLAotCTB4MDA0MTA0LCAweDJGMzE4NiwgMHgwMDAwMDcsIDB4MDA0ODIwLAotCTB4MDA1OTA0LCAweDMwMDg4NiwgMHgwMDAwNDAsIDB4MDAwN0U1LAotCTB4MjAwNDgwLCAweDI4MTZBMCwgMHgzMjE2RTAsIDB4M0ExNkUwLAotCTB4NDIxNkUwLCAweDAyMTI2MCwgMHgwMDAwNDAsIDB4MDAwMDMyLAotCTB4NDAwMDc1LCAweDAwMDA3RCwgMHgwN0Q1NzQsIDB4MjAwNTEyLAotCTB4MDAwMDgyLCAweDQwMDAxQSwgMHgwMDQxMDQsIDB4MkZFMTg2LAotCTB4MDAwMDA3LCAweDAzNzIwNiwgMHg2NDAwMDcsIDB4MDYwMDA3LAotCTB4MDAwMEU1LCAweDAwMDAyMCwgMHgwMDAwNDAsIDB4MDAwQTY1LAotCTB4MDAwMDIwLCAweDAyMDA0MCwgMHgwMjAwNDAsIDB4MDAwMDQwLAotCTB4MDAwMTY1LCAweDAwMDA0MiwgMHg3MDAwMEEsIDB4MDA3MTA0LAotCTB4MzBBMjg2LCAweDAwMDAwNywgMHgwMTgyMDYsIDB4NjQwMDA3LAotCTB4MDUwMDAwLCAweDAwNzAyMCwgMHgwMDAwNDAsIDB4MDM3MjA2LAotCTB4NjQwMDA3LCAweDAwMDAwNywgMHgwMDMwNkQsIDB4MDI4ODYwLAotCTB4MDI5MDYwLCAweDA4MDAwQSwgMHgwMjg4NjAsIDB4MDA4MDQwLAotCTB4MTAwMDEyLCAweDAwMTAwRCwgMHgwMDkxODQsIDB4MzE0MTg2LAotCTB4MDAwRTBELCAweDAwOTE4NCwgMHgzMjUxODYsIDB4MDAwMDA3LAotCTB4MzAwMDA3LCAweDAwMTAyMCwgMHgwMDNCNkQsIDB4MDA4MDQwLAotCTB4MDAwMDgwLCAweDA4MDAxQSwgMHgwMDA5MDQsIDB4MzE2MTg2LAotCTB4MDAwMDA3LCAweDAwMTIyMCwgMHgwMDBERUQsIDB4MDA4MDQwLAotCTB4MDA4MDQyLCAweDEwMDAwQSwgMHg0MDAwMEQsIDB4MTA5NTQ0LAotCTB4MDAwMDA3LCAweDAwMTAyMCwgMHgwMDBERUQsIDB4MDA4MDQwLAotCTB4MDA4MDQyLCAweDIwMDQwQSwgMHgwMDAwODIsIDB4MDgwMDFBLAotCTB4MDAwOTA0LCAweDMxRjE4NiwgMHgwMDAwMDcsIDB4MDAzQjZELAotCTB4MDA4MDQyLCAweDA4MDAwQSwgMHgwMDBFMTUsIDB4MDEwOTg0LAotCTB4MzI5Qjg2LCAweDYwMDAwNywgMHgwODAwMUEsIDB4MDAwQzE1LAotCTB4MDEwOTg0LCAweDMyODM4NiwgMHgwMDAwMjAsIDB4MUEwMDA3LAotCTB4MDAwMkVELCAweDAwODA0MCwgMHg2MjAwMDcsIDB4MDAzMDZELAotCTB4MDI4MDQyLCAweDBBODA0QSwgMHgwMDA4MjAsIDB4MEE4MDRBLAotCTB4MDAwNjA2LCAweDEwODA0QSwgMHgwMDAwMDcsIDB4MjgyNTEyLAotCTB4MDAxRjMyLCAweDA1RDJGNCwgMHg1NEQxMDQsIDB4MDA3MzVDLAotCTB4MDAwNzg2LCAweDAwMDAwNywgMHgwQzAwMDcsIDB4MEEwMDA3LAotCTB4MUMwMDA3LCAweDAwMzQ2NSwgMHgwMjAwNDAsIDB4MDA0ODIwLAotCTB4MDI1MDYwLCAweDQwMDAwQSwgMHgwMjQwNjAsIDB4MDAwMDQwLAotCTB4NDU0OTQ0LCAweDAwMDAwNywgMHgwMDQwMjAsIDB4MDAzQUU1LAotCTB4MDAwMDQwLCAweDAwMjhFNSwgMHgwMDAwNDIsIDB4NDgwMDBBLAotCTB4MDA0OTA0LCAweDM4Njg4NiwgMHgwMDJDNjUsIDB4MDAwMDQyLAotCTB4NDAwMDBBLCAweDAwMDBENSwgMHg0NTQxMDQsIDB4MDAwMDA3LAotCTB4MDAwNjU1LCAweDA1NDUwNCwgMHgzNEYyODYsIDB4MDAwMUQ1LAotCTB4MDU0NTA0LCAweDM0RjA4NiwgMHgwMDJCNjUsIDB4MDAwMDQyLAotCTB4MDAzQUU1LCAweDUwMDA0QSwgMHg0MDAwMEEsIDB4NDVDM0Q0LAotCTB4MDAwMDA3LCAweDQ1NDUwNCwgMHgwMDAwMDcsIDB4MDAwMENELAotCTB4NDQ0OTQ0LCAweDAwMDAwNywgMHg0NTQ1MDQsIDB4MDAwMDA3LAotCTB4MDAwMTRELCAweDU1NDk0NCwgMHgwMDAwMDcsIDB4MDQ1MTQ0LAotCTB4MzRFOTg2LCAweDAwMkM2NSwgMHgwMDAwNDIsIDB4NDgwMDBBLAotCTB4NENEMTA0LCAweDAwMDAwNywgMHgwNEMxNDQsIDB4MzRGMzg2LAotCTB4MDAwMDA3LCAweDE2MDAwNywgMHgwMDJDRTUsIDB4MDQwMDQyLAotCTB4NDAwMDBBLCAweDAwNDAyMCwgMHgwMDAwNDAsIDB4MDAyOTY1LAotCTB4MDAwMDQyLCAweDQwMDAwQSwgMHgwMDQxMDQsIDB4MzU2MDg2LAotCTB4MDAwMDA3LCAweDAwMjQwMiwgMHgzNkEyMDYsIDB4MDA1QzAyLAotCTB4MDAyNUU1LCAweDAwMDA0MiwgMHg0MDAwMEEsIDB4MDA0Mjc0LAotCTB4MDAyQUU1LCAweDAwMDA0MiwgMHg0MDAwMEEsIDB4MDA0Mjc0LAotCTB4NTAwMTEyLCAweDAwMjlFNSwgMHgwMDAwNDIsIDB4NDAwMDBBLAotCTB4MDA0MjM0LCAweDQ1NDEwNCwgMHgwMDAwMDcsIDB4MDA0MDIwLAotCTB4MDAwMDQwLCAweDAwM0VFNSwgMHgwMDAwMjAsIDB4MDAwMDQwLAotCTB4MDAyREU1LCAweDQwMDE1MiwgMHg1MDAwMEEsIDB4MDQ1MTQ0LAotCTB4MzY0QTg2LCAweDAwMDBDNSwgMHgwMDNFRTUsIDB4MDA0MDIwLAotCTB4MDAwMDQwLCAweDAwMkJFNSwgMHgwMDAwNDIsIDB4NDAwMDBBLAotCTB4NDA0MjU0LCAweDAwMDAwNywgMHgwMDJBRTUsIDB4MDA0MDIwLAotCTB4MDAwMDQwLCAweDUwMDEzMiwgMHgwNDAxMzQsIDB4MDA1Njc0LAotCTB4MDAyOUU1LCAweDAyMDA0MiwgMHg0MjAwMEEsIDB4MDAwMDQyLAotCTB4NTAwMDBBLCAweDA1NDE3QywgMHgwMDI4RTUsIDB4MDAwMDQyLAotCTB4NDgwMDBBLCAweDAwMDBDNSwgMHg0Q0MxNDQsIDB4MzcxMDg2LAotCTB4MDAyNkU1LCAweDAwMjdFNSwgMHgwMjAwNDIsIDB4NDAwMDRBLAotCTB4NTAwMDBBLCAweDAwNDIzQywgMHgwMDU2N0MsIDB4MDAyOEU1LAotCTB4MDA0ODIwLCAweDAwMDA0MCwgMHgyODFEMTIsIDB4MjgyNTEyLAotCTB4MDAxRjcyLCAweDAwMjk2NSwgMHgwMDAwNDIsIDB4NDAwMDBBLAotCTB4MDA0MTA0LCAweDM3QUE4NiwgMHgwRTAwMDcsIDB4MTYwMDA3LAotCTB4MUUwMDA3LCAweDAwM0VFNSwgMHgwMDAwNDIsIDB4NDAwMDBBLAotCTB4MDA0MTA0LCAweDM3RTg4NiwgMHgwMDJENjUsIDB4MDAwMDQyLAotCTB4MjgzNDBBLCAweDAwMzQ2NSwgMHgwMjAwNDIsIDB4NDIwMDRBLAotCTB4MDA0MDIwLCAweDRBMDA0QSwgMHg1MDAwNEEsIDB4MDVEMkY0LAotCTB4NTREMTA0LCAweDAwNzM1QywgMHgzODUxODYsIDB4MDAwMDA3LAotCTB4MDAwNjA2LCAweDA4MDAwNywgMHgwQzAwMDcsIDB4MDgwMDA3LAotCTB4MEEwMDA3LCAweDAwMDFFNSwgMHgwMjAwNDUsIDB4MDA0MDIwLAotCTB4MDAwMDYwLCAweDAwMDM2NSwgMHgwMDAwNDAsIDB4MDAyRTY1LAotCTB4MDAxQTIwLCAweDBBMUE2MCwgMHgwMDAwNDAsIDB4MDAzNDY1LAotCTB4MDIwMDQyLCAweDQyMDA0QSwgMHgwMDQwMjAsIDB4NEEwMDRBLAotCTB4MDAwNjA2LCAweDUwMDA0QSwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwCi19OwotCi0vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotLy8gIERTLTFFIENvbnRyb2xsZXIgSW5zdHJ1Y3Rpb25SQU0gQ29kZQotLy8JMTk5OS8wNi8yMQotLy8JQnVmNDQxIHNsb3QgaXMgRW5hYmxlZC4KLS8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0vLyAwNC8wOSAgY3JlYXQKLS8vIDA0LzEyICBzdG9wIG5pc2UgZml4Ci0vLyAwNi8yMSAgV29ya2luZ09mZiB0aW1taW5nCi1zdGF0aWMgdTMyIENudHJsSW5zdDFFW1lEU1hHX0NUUkxMRU5HVEggLyA0XSA9IHsKLQkweDAwMDAwNywgMHgyNDAwMDcsIDB4MEMwMDA3LCAweDFDMDAwNywKLQkweDA2MDAwNywgMHg3MDAwMDIsIDB4MDAwMDIwLCAweDAzMDA0MCwKLQkweDAwNzEwNCwgMHgwMDQyODYsIDB4MDMwMDQwLCAweDAwMEYwRCwKLQkweDAwMDgxMCwgMHgyMDA0M0EsIDB4MDAwMjgyLCAweDAwMDIwRCwKLQkweDAwMDgxMCwgMHgyMDA0M0EsIDB4MDAxMjgyLCAweDIwMEU4MiwKLQkweDAwODAwRCwgMHgwMDA4MTAsIDB4MjAwNDNBLCAweDAwMUE4MiwKLQkweDAzNDYwRCwgMHgwMDA4MTAsIDB4MTAwNDNBLCAweDAyRUMwRCwKLQkweDAwMDgxMCwgMHgxODA0M0EsIDB4MDAwMTBELCAweDAyMDAxNSwKLQkweDAwMDBGRCwgMHgwMDAwMjAsIDB4MDM4ODYwLCAweDAzOTA2MCwKLQkweDAzODA2MCwgMHgwMzgwNDAsIDB4MDM4MDQwLCAweDAzODA0MCwKLQkweDAxODA0MCwgMHgwMDBBN0QsIDB4MDM4MDQwLCAweDAzODA0MCwKLQkweDAxODA0MCwgMHgyMDA0MDIsIDB4MDAwODgyLCAweDA4MDAxQSwKLQkweDAwMDkwNCwgMHgwMTcxODYsIDB4MDAwMDA3LCAweDI2MDAwNywKLQkweDQwMDAwNywgMHgwMDAwMDcsIDB4MDMyNThELCAweDAwMDgxMCwKLQkweDE4MDQzQSwgMHgyNjAwMDcsIDB4Mjg0NDAyLCAweDAwMDg3RCwKLQkweDAxODA0MiwgMHgwMDE2MEEsIDB4MDVBMjA2LCAweDAwMDAwNywKLQkweDQ0MDAwNywgMHgwMDIzMEQsIDB4MDAwODEwLCAweDA4MDQzQSwKLQkweDIyRkEwNiwgMHgwMDAwMDcsIDB4MDAwN0ZELCAweDAxODA0MiwKLQkweDA4MDAwQSwgMHgwMDA5MDQsIDB4MDJBQjg2LCAweDAwMDE5NSwKLQkweDA5MEQwNCwgMHgwMDAwMDcsIDB4MDAwODIwLCAweDAwMDBGNSwKLQkweDAwMEI3RCwgMHgwMUYwNjAsIDB4MDAwMEZELCAweDAzM0EwNiwKLQkweDAxODA0MCwgMHgwMDBBN0QsIDB4MDM4MDQyLCAweDEzODA0QSwKLQkweDE4MDAwQSwgMHgwMDE4MjAsIDB4MDU5MDYwLCAweDA1ODg2MCwKLQkweDAxODA0MCwgMHgwMDAwRkQsIDB4MDE4MDQyLCAweDcwMDAwQSwKLQkweDAwMDExNSwgMHgwNzExNDQsIDB4MDMzQjg2LCAweDAzMDAwMCwKLQkweDAwNzAyMCwgMHgwMzYyMDYsIDB4MDE4MDQwLCAweDAwMzYwRCwKLQkweDAwMDgxMCwgMHgwODA0M0EsIDB4MjMyMjA2LCAweDAwMDAwNywKLQkweDAyRUMwRCwgMHgwMDA4MTAsIDB4MTgwNDNBLCAweDAxOUEwNiwKLQkweDAwMDAwNywgMHgyNDAwMDcsIDB4MDAwRjhELCAweDAwMDgxMCwKLQkweDAwMTYzQSwgMHgwMDI0MDIsIDB4MDA1QzAyLCAweDAwMjhGRCwKLQkweDAwMDAyMCwgMHgwMTgwNDAsIDB4MDgwMDBELCAweDAwMDgxNSwKLQkweDUxMDk4NCwgMHgwMDAwMDcsIDB4MDAwMDRELCAweDAwMEU1RCwKLQkweDAwMEUwMiwgMHgwMDQzMEQsIDB4MDAwODEwLCAweDA4MDQzQSwKLQkweDJFMTIwNiwgMHgwMDAwMDcsIDB4MDAwMDhELCAweDAwMDkyNCwKLQkweDAwMEYwMiwgMHgwMDQ3MEQsIDB4MDAwODEwLCAweDA4MDQzQSwKLQkweDJFMTIwNiwgMHgwMDAwMDcsIDB4NDgwNDgwLCAweDAwMTIxMCwKLQkweDI4MDQzQSwgMHgwMDc3OEQsIDB4MDAwODEwLCAweDI4MEMzQSwKLQkweDAwMDY4RCwgMHgwMDA4MTAsIDB4MjgxNDNBLCAweDI4NDQwMiwKLQkweDAzMjU4RCwgMHgwMDA4MTAsIDB4MTgwNDNBLCAweDA3RkY4RCwKLQkweDAwMDgyMCwgMHgwMDAyRkQsIDB4MDE4MDQwLCAweDI2MDAwNywKLQkweDIwMDAwNywgMHgwMDAyRkQsIDB4MDE4MDQyLCAweDA4MDAwQSwKLQkweDAwMDkwNCwgMHgwNTEyODYsIDB4MDAwMDA3LCAweDI0MDAwNywKLQkweDAyRUMwRCwgMHgwMDA4MTAsIDB4MTgwNDNBLCAweDAwMzg3RCwKLQkweDAxODA0MiwgMHgwODAwMEEsIDB4MDAxMDE1LCAweDAxMDk4NCwKLQkweDAxOUI4NiwgMHgwMDAwMDcsIDB4MDFCMjA2LCAweDAwMDAwNywKLQkweDAwMDhGRCwgMHgwMTgwNDIsIDB4MTgwMDBBLCAweDAwMTkwNCwKLQkweDIyQjg4NiwgMHgyODAwMDcsIDB4MDAxODEwLCAweDI4MDQzQSwKLQkweDI4MEMwMiwgMHgwMDAwMEQsIDB4MDAwODEwLCAweDI4MTQzQSwKLQkweDA4ODA4RCwgMHgwMDA4MjAsIDB4MDAwMkZELCAweDAxODA0MCwKLQkweDIwMDAwNywgMHgwMDAyMEQsIDB4MTg5OTA0LCAweDAwMDAwNywKLQkweDAwNDAyRCwgMHgwMDAwQkQsIDB4MDAwMkZELCAweDAxODA0MiwKLQkweDA4MDAwQSwgMHgwMDA5MDQsIDB4MDY1QTg2LCAweDAwMDAwNywKLQkweDAwMDEwMCwgMHgwMDBBMjAsIDB4MDAwNDdELCAweDAxODA0MCwKLQkweDAxODA0MiwgMHgyMDAwMEEsIDB4MDAzMDE1LCAweDAxMjE0NCwKLQkweDAzNjE4NiwgMHgwMDAwMDcsIDB4MDAyMTA0LCAweDAzNjE4NiwKLQkweDAwMDAwNywgMHgwMDBGOEQsIDB4MDAwODEwLCAweDI4MEMzQSwKLQkweDAyMzk0NCwgMHgwN0M5ODYsIDB4MDAwMDA3LCAweDAwMTgxMCwKLQkweDI4MDQzQSwgMHgwODgxMEQsIDB4MDAwODIwLCAweDAwMDJGRCwKLQkweDAxODA0MCwgMHgyMDAwMDcsIDB4MDAyODEwLCAweDc4MDAzQSwKLQkweDAwNzg4RCwgMHgwMDA4MTAsIDB4MDgwNDNBLCAweDJBMTIwNiwKLQkweDAwMDAwNywgMHgwMDQwMEQsIDB4MDAxMDE1LCAweDE4OTkwNCwKLQkweDI5MjkwNCwgMHgzOTM5MDQsIDB4MDAwMDA3LCAweDA3MDIwNiwKLQkweDAwMDAwNywgMHgwMDA0RjUsIDB4MDAwMDdELCAweDAwMDAyMCwKLQkweDAwMDA4RCwgMHgwMTA4NjAsIDB4MDE4MDQwLCAweDAwMDQ3RCwKLQkweDAzODA0MiwgMHgyMTgwNEEsIDB4MTgwMDBBLCAweDAyMTk0NCwKLQkweDIyOTA4NiwgMHgwMDAwMDcsIDB4MDA0MDc1LCAweDcxRjEwNCwKLQkweDAwMDAwNywgMHgwMTAwNDIsIDB4MjgwMDBBLCAweDAwMjkwNCwKLQkweDIyNTg4NiwgMHgwMDAwMDcsIDB4MDAzQzBELCAweDMwQTkwNCwKLQkweDAwMDAwNywgMHgwMDA3N0QsIDB4MDE4MDQyLCAweDA4MDAwQSwKLQkweDAwMDkwNCwgMHgwOERBODYsIDB4MDAwNTdELCAweDAwMjgyMCwKLQkweDAzQjA2MCwgMHgwOEYyMDYsIDB4MDE4MDQwLCAweDAwMzAyMCwKLQkweDAzQTg2MCwgMHgwMTgwNDAsIDB4MDAwMkZELCAweDAxODA0MiwKLQkweDA4MDAwQSwgMHgwMDA5MDQsIDB4MDhGQTg2LCAweDAwMDAwNywKLQkweDAwMDU3RCwgMHgwMTgwNDIsIDB4MjgwNDBBLCAweDAwMEU4RCwKLQkweDAwMDgxMCwgMHgyODBDM0EsIDB4MDAwMDBELCAweDAwMDgxMCwKLQkweDI4MTQzQSwgMHgwOTAwMEQsIDB4MDAwODIwLCAweDAwMDJGRCwKLQkweDAxODA0MCwgMHgyMDAwMDcsIDB4MDAzREZELCAweDAwMDAyMCwKLQkweDAxODA0MCwgMHgwMDEwN0QsIDB4MDA5RDhELCAweDAwMDgxMCwKLQkweDA4MDQzQSwgMHgyQTEyMDYsIDB4MDAwMDA3LCAweDAwMDgxNSwKLQkweDA4MDAxQSwgMHgwMTA5ODQsIDB4MEE1MTg2LCAweDAwMTM3RCwKLQkweDIwMDUwMCwgMHgyODBGMjAsIDB4MzM4RjYwLCAweDNCOEY2MCwKLQkweDQzOEY2MCwgMHg0QjhGNjAsIDB4NTM4RjYwLCAweDVCOEY2MCwKLQkweDAzOEE2MCwgMHgwMTgwNDAsIDB4MDAxMDdELCAweDAxODA0MiwKLQkweDA4MDAwQSwgMHgwMDAyMTUsIDB4MDEwOTg0LCAweDNBODE4NiwKLQkweDAwMDAwNywgMHgwMDdGQkQsIDB4MzgzREM0LCAweDAwMDAwNywKLQkweDAwMUE3RCwgMHgwMDEzNzUsIDB4MDE4MDQyLCAweDA5MDA0QSwKLQkweDEwMDAwQSwgMHgwQjhEMDQsIDB4MTM5NTA0LCAweDAwMDAwNywKLQkweDAwMDgyMCwgMHgwMTkwNjAsIDB4MDAxMTA0LCAweDIyNTg4NiwKLQkweDAxMDA0MCwgMHgwMDE3RkQsIDB4MDE4MDQyLCAweDA4MDAwQSwKLQkweDAwMDkwNCwgMHgyMjVBODYsIDB4MDAwMDA3LCAweDAwMTk3RCwKLQkweDAzODA0MiwgMHgwOTgwNEEsIDB4MTAwMDBBLCAweDAwMDkyNCwKLQkweDAwMTY2NCwgMHgwMDExRkQsIDB4MDM4MDQyLCAweDJCODA0QSwKLQkweDE5ODA0QSwgMHgwMDAwOEQsIDB4MjE4OTQ0LCAweDAwMDAwNywKLQkweDAwMjI0NCwgMHgwQzE5ODYsIDB4MDAwMDA3LCAweDAwMUE2NCwKLQkweDAwMkEyNCwgMHgwMDE5N0QsIDB4MDgwMTAyLCAweDEwMDEyMiwKLQkweDAwMDgyMCwgMHgwMzkwNjAsIDB4MDE4MDQwLCAweDAwM0RGRCwKLQkweDAwMDA4RCwgMHgwMDA4MjAsIDB4MDE4MDQwLCAweDAwMTM3NSwKLQkweDAwMUE3RCwgMHgwMTAwNDIsIDB4MDk4MDRBLCAweDEwMDAwQSwKLQkweDAwMDIxRCwgMHgwMTg5RTQsIDB4Mjk5MkU0LCAweDMwOTE0NCwKLQkweDAwMDAwNywgMHgwMDA2MEQsIDB4MDAwQTE1LCAweDAwMEMxRCwKLQkweDAwMTAyNSwgMHgwMEE5RTQsIDB4MDEyQkU0LCAweDAwMDQ2NCwKLQkweDAxQjNFNCwgMHgwMjMyRTQsIDB4MDAwNDY0LCAweDAwMDQ2NCwKLQkweDAwMDQ2NCwgMHgwMDA0NjQsIDB4MDAwNDBELCAweDA4QjFDNCwKLQkweDAwMDAwNywgMHgwMDA4MjAsIDB4MDAwQkY1LCAweDAzMDA0MCwKLQkweDAwMTk3RCwgMHgwMzgwNDIsIDB4MDk4MDRBLCAweDAwMEEyNCwKLQkweDA4MDAwQSwgMHgwODBFNjQsIDB4MDAwMDA3LCAweDEwMDEyMiwKLQkweDAwMDgyMCwgMHgwMzEwNjAsIDB4MDEwMDQwLCAweDAwNjRBQywKLQkweDAwMDI3RCwgMHgwMDAwMjAsIDB4MDE4MDQwLCAweDAwMTA3RCwKLQkweDAxODA0MiwgMHgwMDExRkQsIDB4M0I4MDRBLCAweDA5ODA0QSwKLQkweDIwMDAwQSwgMHgwMDAwOTUsIDB4MUExMTQ0LCAweDAwQTE0NCwKLQkweDBFNTg4NiwgMHgwMDA0MEQsIDB4MDBCOTg0LCAweDBFNTk4NiwKLQkweDAwMThGRCwgMHgwMTgwNDIsIDB4MDAxMEZELCAweDA5ODA0QSwKLQkweDI4MDAwQSwgMHgwMDAwOTUsIDB4MDEwOTI0LCAweDAwMkE2NCwKLQkweDBFNDk4NiwgMHgwMDAwMDcsIDB4MDAyOTA0LCAweDBFNUE4NiwKLQkweDAwMDAwNywgMHgwRTYyMDYsIDB4MDgwMDAyLCAweDAwMDA4RCwKLQkweDAwMzg3RCwgMHgwMDA4MjAsIDB4MDE4MDQwLCAweDAwMTI3RCwKLQkweDAxODA0MiwgMHgxMDAwMEEsIDB4MDAzOTA0LCAweDBGMDk4NiwKLQkweDAwMDgwRCwgMHg3RkZGQjUsIDB4MDBCOTg0LCAweDBFRDk4NiwKLQkweDAwMDAyNSwgMHgwRkIyMDYsIDB4MDAwMDJELCAweDAwMDAxNSwKLQkweDAwMDgyRCwgMHgwMkUwMEQsIDB4MDAwODIwLCAweDBGRkEwNiwKLQkweDAwMDAwRCwgMHg3RjgwMzUsIDB4MDBCOTg0LCAweDBGQTk4NiwKLQkweDQwMDAyNSwgMHgwMDAwOEQsIDB4MTEwOTQ0LCAweDAwMDAwNywKLQkweDAwMDE4RCwgMHgxMDk1MDQsIDB4MDAwMDA3LCAweDAwOTE2NCwKLQkweDAwMDQyNCwgMHgwMDA0MjQsIDB4MDAwNDI0LCAweDEwMDEwMiwKLQkweDI4MDAwMiwgMHgwMkRGMEQsIDB4MDAwODIwLCAweDBGRkEwNiwKLQkweDAwMDE4RCwgMHgwMDA0MkQsIDB4MDAwMDhELCAweDEwOTUwNCwKLQkweDAwMDAwNywgMHgwMDAyMEQsIDB4MTA5MTg0LCAweDAwMDAwNywKLQkweDAyREY4RCwgMHgwMDA4MjAsIDB4MDAwMDhELCAweDAwMzhGRCwKLQkweDAxODA0MCwgMHgwMDNCRkQsIDB4MDAxMDIwLCAweDAzQTg2MCwKLQkweDAwMDgxNSwgMHgzMTMxODQsIDB4MjEyMTg0LCAweDAwMDAwNywKLQkweDAzQjA2MCwgMHgwM0EwNjAsIDB4MDE4MDQwLCAweDAwMjJGRCwKLQkweDAwMDA5NSwgMHgwMTA5MjQsIDB4MDAwNDI0LCAweDAwMDQyNCwKLQkweDAwMTI2NCwgMHgxMDAxMDIsIDB4MDAwODIwLCAweDAzOTA2MCwKLQkweDAxODA0MCwgMHgwMDE5MjQsIDB4MDEwRjBELCAweDAwMzk3RCwKLQkweDAwMDgyMCwgMHgwNTgwNDAsIDB4MDM4MDQyLCAweDA5ODQ0QSwKLQkweDAwMDYwNiwgMHgwODA0MEEsIDB4MDAwNDI0LCAweDAwMDQyNCwKLQkweDAwMTE3RCwgMHgwMTgwNDIsIDB4MDgwMDBBLCAweDAwMEEyNCwKLQkweDI4MDUwMiwgMHgyODBDMDIsIDB4MDk4MDBELCAweDAwMDgyMCwKLQkweDAwMDJGRCwgMHgwMTgwNDAsIDB4MjAwMDA3LCAweDAwMjJGRCwKLQkweDAxODA0MiwgMHgwODAwMEEsIDB4MDAwMDk1LCAweDI4MERDNCwKLQkweDAxMTkyNCwgMHgwMDE5N0QsIDB4MDE4MDQyLCAweDAwMTFGRCwKLQkweDA5ODA0QSwgMHgxMDAwMEEsIDB4MDAwMEI1LCAweDExMzE0NCwKLQkweDBBOEQwNCwgMHgwMDAwMDcsIDB4MDgwQTQ0LCAweDEyOTUwNCwKLQkweDAwMDAwNywgMHgwMDIzRkQsIDB4MDAxMDIwLCAweDAzODA0MCwKLQkweDEwMTI0NCwgMHgwMDAwMDcsIDB4MDAwODIwLCAweDAzOTA2MCwKLQkweDAxODA0MCwgMHgwMDAyRkQsIDB4MDE4MDQyLCAweDA4MDAwQSwKLQkweDAwMDkwNCwgMHgxMjMyODYsIDB4MDAwMDA3LCAweDAwM0JGRCwKLQkweDAwMDEwMCwgMHgwMDBBMTAsIDB4MEI4MDdBLCAweDEzODA0QSwKLQkweDA5MDk4NCwgMHgwMDAwMDcsIDB4MDAwMDk1LCAweDAxM0QwNCwKLQkweDEyQjg4NiwgMHgxMDAwMEEsIDB4MTAwMDAyLCAweDA5MDk4NCwKLQkweDAwMDAwNywgMHgwMzgwNDIsIDB4MTE4MDRBLCAweDA5MEQwNCwKLQkweDAwMDAwNywgMHgxMDAwMEEsIDB4MDkwRDg0LCAweDAwMDAwNywKLQkweDAwMjU3RCwgMHgwMDA4MjAsIDB4MDE4MDQwLCAweDAwMDEwRCwKLQkweDAwMDgxMCwgMHgyODE0M0EsIDB4MDAxMjdELCAweDAxODA0MiwKLQkweDIwMDAwQSwgMHgwMDE5N0QsIDB4MDE4MDQyLCAweDAwMTE3RCwKLQkweDMxODA0QSwgMHgxMDAwMEEsIDB4MDAzMTI0LCAweDAxM0I4RCwKLQkweDAwMzk3RCwgMHgwMDA4MjAsIDB4MDU4MDQwLCAweDAzODA0MiwKLQkweDA5ODQ0QSwgMHgwMDA2MDYsIDB4MDgwNDBBLCAweDMwMDEwMiwKLQkweDAwMzEyNCwgMHgwMDA0MjQsIDB4MDAwNDI0LCAweDAwMTIyNCwKLQkweDI4MDUwMiwgMHgwMDFBNEMsIDB4MTQzOTg2LCAweDcwMDAwMiwKLQkweDAwMDAyRCwgMHgwMzAwMDAsIDB4MDAzODdELCAweDAxODA0MiwKLQkweDEwMDAwQSwgMHgxNDYyMDYsIDB4MDAyMTI0LCAweDAwMDBBRCwKLQkweDEwMDAwMiwgMHgwMDAxMEQsIDB4MDAwOTI0LCAweDAwNkIyNCwKLQkweDAxNEEwRCwgMHgwMDM5N0QsIDB4MDAwODIwLCAweDA1ODA0MCwKLQkweDAzODA0MiwgMHgwOTg0NEEsIDB4MDAwNjA2LCAweDA4MDQwQSwKLQkweDAwMzI2NCwgMHgwMDAwOEQsIDB4MDAwQTI0LCAweDAwMTAyMCwKLQkweDAwMjI3RCwgMHgwMTgwNDAsIDB4MDE0RjhELCAweDAwMDgxMCwKLQkweDA4MDQzQSwgMHgyQjVBMDYsIDB4MDAwMDA3LCAweDAwMjgyMCwKLQkweDAwMjA3RCwgMHgwMTgwNDAsIDB4MDAxMTdELCAweDAzODA0MiwKLQkweDEzODA0QSwgMHgzMzgwMEEsIDB4MDAzODdELCAweDAxODA0MiwKLQkweDA4MDAwQSwgMHgwMDA5MDQsIDB4MTc3Mjg2LCAweDAwMDAwNywKLQkweDAwMDA4RCwgMHgwMzA5NjQsIDB4MDE1QjBELCAweDAwMzk3RCwKLQkweDAwMDgyMCwgMHgwNTgwNDAsIDB4MDM4MDQyLCAweDA5ODQ0QSwKLQkweDAwMDYwNiwgMHgwODA0MEEsIDB4MzgwMTAyLCAweDAwMDQyNCwKLQkweDAwMDQyNCwgMHgwMDEyMjQsIDB4MDAwMkZELCAweDAxODA0MiwKLQkweDA4MDAwQSwgMHgwMDA5MDQsIDB4MTVEQTg2LCAweDAwMDAwNywKLQkweDI4MDUwMiwgMHgwMDFBNEMsIDB4MTc3MTg2LCAweDAwMDAwNywKLQkweDAzMjE2NCwgMHgwMDYzMkMsIDB4MDAzREZELCAweDAxODA0MiwKLQkweDA4MDAwQSwgMHgwMDAwOTUsIDB4MDkwOTA0LCAweDAwMDAwNywKLQkweDAwMDgyMCwgMHgwMDFBNEMsIDB4MTY5OTg2LCAweDAxODA0MCwKLQkweDAzMDAwMCwgMHgxNkIyMDYsIDB4MDAyMTI0LCAweDAwMDEwRCwKLQkweDAwMDkyNCwgMHgwMDZCMjQsIDB4MDE2RjBELCAweDAwMzk3RCwKLQkweDAwMDgyMCwgMHgwNTgwNDAsIDB4MDM4MDQyLCAweDA5ODQ0QSwKLQkweDAwMDYwNiwgMHgwODA0MEEsIDB4MDAzQTY0LCAweDAwMDA5NSwKLQkweDAwMTIyNCwgMHgwMDAyRkQsIDB4MDE4MDQyLCAweDA4MDAwQSwKLQkweDAwMDkwNCwgMHgxNzEyODYsIDB4MDAwMDA3LCAweDAxNzYwRCwKLQkweDAwMDgxMCwgMHgwODA0M0EsIDB4MkI1QTA2LCAweDAwMDAwNywKLQkweDE2MEEwNiwgMHgwMDAwMDcsIDB4MDA3MDIwLCAweDA4MDEwQSwKLQkweDEwMDEyQSwgMHgwMDIwRkQsIDB4MDM4ODYwLCAweDAzOTA2MCwKLQkweDAxODA0MCwgMHgwMDIyN0QsIDB4MDE4MDQyLCAweDAwM0RGRCwKLQkweDA4MDAwQSwgMHgzMTg0NEEsIDB4MDAwOTA0LCAweDE4MTA4NiwKLQkweDE4MDA4QiwgMHgwMDAwOEQsIDB4MTg5OTA0LCAweDAwMzEyQywKLQkweDE4RTIwNiwgMHgwMDAwMDcsIDB4MDAzMjRDLCAweDE4NkI4NiwKLQkweDAwMDAwNywgMHgwMDE5MDQsIDB4MTg2ODg2LCAweDAwMDAwNywKLQkweDAwMDA5NSwgMHgxOTkxNDQsIDB4MDAyMjJDLCAweDAwMzEyNCwKLQkweDAwNjM2QywgMHgwMDBFM0QsIDB4MDAxMzc1LCAweDAwMEJGRCwKLQkweDAxMDA0MiwgMHgwOTgwNEEsIDB4MTAwMDBBLCAweDAzOEFFQywKLQkweDAzOTNFQywgMHgwMDIyNEMsIDB4MThFMTg2LCAweDAwMDAwNywKLQkweDAwMDA4RCwgMHgxODk5MDQsIDB4MDAyMjZDLCAweDAwMzIyQywKLQkweDMwMDUwQSwgMHgzMDFEQUIsIDB4MDAyMDgzLCAweDAwMThGRCwKLQkweDAxODA0MiwgMHgwODAwMEEsIDB4MDE4OTI0LCAweDMwMDUwMiwKLQkweDAwMTA4MywgMHgwMDE4NzUsIDB4MDEwMDQyLCAweDEwMDAwQSwKLQkweDAwMDA4RCwgMHgwMTA5MjQsIDB4MDAxMzc1LCAweDMzMDU0MiwKLQkweDMzMENDQiwgMHgzMzJDQ0IsIDB4MzMzNENCLCAweDMzM0NDQiwKLQkweDMzNDRDQiwgMHgzMzRDQ0IsIDB4MzM1NENCLCAweDMwNUM4QiwKLQkweDAwNjA4MywgMHgwMDAyRjUsIDB4MDEwMDQyLCAweDA4MDAwQSwKLQkweDAwMDkwNCwgMHgxOUIyODYsIDB4MDAwMDA3LCAweDAwMUUyRCwKLQkweDAwMDVGRCwgMHgwMTgwNDIsIDB4MDgwMDBBLCAweDAyODkyNCwKLQkweDI4MDUwMiwgMHgwMDA2MEQsIDB4MDAwODEwLCAweDI4MEMzQSwKLQkweDAwMDA4RCwgMHgwMDA4MTAsIDB4MjgxNDNBLCAweDBBODA4RCwKLQkweDAwMDgyMCwgMHgwMDAyRjUsIDB4MDEwMDQwLCAweDIyMDAwNywKLQkweDAwMTI3NSwgMHgwMzAwNDIsIDB4MjEwMDRBLCAweDAwMDA4RCwKLQkweDFBMDk0NCwgMHgwMDAwMDcsIDB4MDFBQjhELCAweDAwMDgxMCwKLQkweDA4MDQzQSwgMHgyQ0FBMDYsIDB4MDAwMDA3LCAweDAwMDFGNSwKLQkweDAzMDA0MiwgMHgwRDAwNEEsIDB4MTAwMDBBLCAweDA4OTE0NCwKLQkweDAwMDAwNywgMHgwMDA4MjAsIDB4MDEwMDQwLCAweDAwMjVGNSwKLQkweDBBMzE0NCwgMHgwMDAwMDcsIDB4MDAwODIwLCAweDAzMjg2MCwKLQkweDAzMDA0MCwgMHgwMDIxN0QsIDB4MDM4MDQyLCAweDBCODA0QSwKLQkweDEwMDAwQSwgMHgwMDA4MjAsIDB4MDMxMDYwLCAweDAzMDA0MCwKLQkweDAwMDA4RCwgMHgwMDAxMjQsIDB4MDAwMTJDLCAweDAwMEU2NCwKLQkweDAwMUE2NCwgMHgwMDYzNkMsIDB4MDgwMTBBLCAweDEwMDEyQSwKLQkweDAwMDgyMCwgMHgwMzEwNjAsIDB4MDMwMDQwLCAweDAwMjBGRCwKLQkweDAxODA0MiwgMHgwODAwMEEsIDB4MDAyMjdELCAweDAxODA0MiwKLQkweDEwMDAwQSwgMHgwMDA4MjAsIDB4MDMxMDYwLCAweDAzMDA0MCwKLQkweDAwMTk3RCwgMHgwMTgwNDIsIDB4MDgwMDBBLCAweDAwMjJGRCwKLQkweDAzODA0MiwgMHgxMDAwMEEsIDB4MDAwODIwLCAweDAzMTA2MCwKLQkweDAzMDA0MCwgMHgwOTBEMDQsIDB4MDAwMDA3LCAweDAwMDgyMCwKLQkweDAzMDA0MCwgMHgwMzgwNDIsIDB4MEI4MDRBLCAweDEwMDAwQSwKLQkweDAwMDgyMCwgMHgwMzEwNjAsIDB4MDMwMDQwLCAweDAzODA0MiwKLQkweDEzODA0QSwgMHgxOTgwNEEsIDB4MTEwRDA0LCAweDE5OEQwNCwKLQkweDAwMDAwNywgMHgwODAwMEEsIDB4MDAxMDIwLCAweDAzMTg2MCwKLQkweDAzMDg2MCwgMHgwMzAwNDAsIDB4MDAwMDhELCAweDBCMDk0NCwKLQkweDAwMDAwNywgMHgwMDA4MjAsIDB4MDEwMDQwLCAweDAwMDVGNSwKLQkweDAzMDA0MiwgMHgwODAwMEEsIDB4MDAwODIwLCAweDAxMDA0MCwKLQkweDAwMDBGNSwgMHgwMTAwNDIsIDB4MDgwMDBBLCAweDAwMDkwNCwKLQkweDFEOTg4NiwgMHgwMDFFNzUsIDB4MDMwMDQyLCAweDAxMDQ0QSwKLQkweDAwMEMwQSwgMHgxREFBMDYsIDB4MDAwMDA3LCAweDAwMDQwMiwKLQkweDAwMEMwMiwgMHgwMDE3N0QsIDB4MDAxQUY1LCAweDAxODA0MiwKLQkweDAzMTQ0QSwgMHgwMzFDNEEsIDB4MDMyNDRBLCAweDAzMkM0QSwKLQkweDAzMzQ0QSwgMHgwMzNDNEEsIDB4MDM0NDRBLCAweDAwNEMwQSwKLQkweDAwMDQzRCwgMHgwMDEzRjUsIDB4MDAxQUZELCAweDAzMDA0MiwKLQkweDBCMDA0QSwgMHgxQjgwNEEsIDB4MTM4MDRBLCAweDIwMDAwQSwKLQkweDA4OTE0NCwgMHgxOUExNDQsIDB4MDM4OUU0LCAweDAzOTlFQywKLQkweDAwNTUwMiwgMHgwMDVEMEEsIDB4MDMwMDQyLCAweDBCMDA0QSwKLQkweDFCODA0QSwgMHgxMzgwNEEsIDB4MjAwMDBBLCAweDA4OTE0NCwKLQkweDE5QTE0NCwgMHgwMzg5RTQsIDB4MDM5OUVDLCAweDAwNjUwMiwKLQkweDAwNkQwQSwgMHgwMzAwNDIsIDB4MEIwMDRBLCAweDE5MDA0QSwKLQkweDJCODA0QSwgMHgxMzgwNEEsIDB4MjE4MDRBLCAweDMwMDAwQSwKLQkweDA4OTE0NCwgMHgxOUExNDQsIDB4MkFCMTQ0LCAweDAzODlFNCwKLQkweDAzOTlFQywgMHgwMDc1MDIsIDB4MDA3RDBBLCAweDAzQTlFNCwKLQkweDAwMDcwMiwgMHgwMDEwN0QsIDB4MDAwNDE1LCAweDAxODA0MiwKLQkweDA4MDAwQSwgMHgwMTA5RTQsIDB4MDAwRjAyLCAweDAwMkFGNSwKLQkweDAwMTlGRCwgMHgwMTAwNDIsIDB4MDk4MDRBLCAweDEwMDAwQSwKLQkweDAwMDkzNCwgMHgwMDE2NzQsIDB4MDAyOUY1LCAweDAxMDA0MiwKLQkweDEwMDAwQSwgMHgwMDkxN0MsIDB4MDAyMDc1LCAweDAxMDA0MiwKLQkweDA4MDAwQSwgMHgwMDA5MDQsIDB4MjAwQTg2LCAweDAwMjZGNSwKLQkweDAwMjdGNSwgMHgwMzAwNDIsIDB4MDkwMDRBLCAweDEwMDAwQSwKLQkweDAwMEEzQywgMHgwMDE2N0MsIDB4MDAxQTc1LCAweDAwMEJGRCwKLQkweDAxMDA0MiwgMHg1MTgwNEEsIDB4NDgwMDBBLCAweDE2MDAwNywKLQkweDAwMTA3NSwgMHgwMTAwNDIsIDB4MjgyQzBBLCAweDI4MUQxMiwKLQkweDI4MjUxMiwgMHgwMDFGMzIsIDB4MUUwMDA3LCAweDBFMDAwNywKLQkweDAwMTk3NSwgMHgwMTAwNDIsIDB4MDAyREY1LCAweDBEMDA0QSwKLQkweDEwMDAwQSwgMHgwMDkxNDQsIDB4MjBFQTg2LCAweDAxMDA0MiwKLQkweDI4MzQwQSwgMHgwMDBFNUQsIDB4MDAwMDhELCAweDAwMDM3NSwKLQkweDAwMDgyMCwgMHgwMTAwNDAsIDB4MDVEMkY0LCAweDU0RDEwNCwKLQkweDAwNzM1QywgMHgyMThCODYsIDB4MDAwMDA3LCAweDBDMDAwNywKLQkweDA4MDAwNywgMHgwQTAwMDcsIDB4MDIxNzhELCAweDAwMDgxMCwKLQkweDA4MDQzQSwgMHgzNEIyMDYsIDB4MDAwMDA3LCAweDIxOTIwNiwKLQkweDAwMDAwNywgMHgwODAwMDcsIDB4MDAyMjc1LCAweDAxMDA0MiwKLQkweDIwMDAwQSwgMHgwMDIxMDQsIDB4MjI1ODg2LCAweDAwMUUyRCwKLQkweDAwMDJGNSwgMHgwMTAwNDIsIDB4MDgwMDBBLCAweDAwMDkwNCwKLQkweDIxQ0E4NiwgMHgwMDAwMDcsIDB4MDAyMDEwLCAweDMwMDQzQSwKLQkweDAwMDU3RCwgMHgwMTgwQzMsIDB4MDgwMDBBLCAweDAyODkyNCwKLQkweDI4MDUwMiwgMHgyODBDMDIsIDB4MEE4MTBELCAweDAwMDgyMCwKLQkweDAwMDJGNSwgMHgwMTAwNDAsIDB4MjIwMDA3LCAweDAwMDRGRCwKLQkweDAxODA0MiwgMHg3MDAwMEEsIDB4MDMwMDAwLCAweDAwNzAyMCwKLQkweDA3RkEwNiwgMHgwMTgwNDAsIDB4MDIyQjhELCAweDAwMDgxMCwKLQkweDA4MDQzQSwgMHgyQ0FBMDYsIDB4MDAwMDA3LCAweDAwMDJGRCwKLQkweDAxODA0MiwgMHgwODAwMEEsIDB4MDAwOTA0LCAweDIyQzI4NiwKLQkweDAwMDAwNywgMHgwMjAyMDYsIDB4MDAwMDA3LCAweDAwMDg3NSwKLQkweDAwMDlGRCwgMHgwMDAxMEQsIDB4MjM0MjA2LCAweDAwMDI5NSwKLQkweDAwMEI3NSwgMHgwMDA5N0QsIDB4MDAwMDBELCAweDAwMDUxNSwKLQkweDAxMDA0MiwgMHgxODAwMEEsIDB4MDAxOTA0LCAweDJBMDA4NiwKLQkweDAwMDZGNSwgMHgwMDEwMjAsIDB4MDEwMDQwLCAweDAwMDRGNSwKLQkweDAwMDgyMCwgMHgwMTAwNDAsIDB4MDAwNzc1LCAweDAxMDA0MiwKLQkweDA5ODA0QSwgMHgxMDAwMEEsIDB4MDAxMTI0LCAweDAwMDkwNCwKLQkweDIzRjI4NiwgMHgwMDA4MTUsIDB4MDgwMTAyLCAweDEwMTIwNCwKLQkweDI0MTIwNiwgMHgwMDA1NzUsIDB4MDgxMjA0LCAweDAwMDAwNywKLQkweDEwMDEwMiwgMHgwMDA1NzUsIDB4MDAwNDI1LCAweDAyMTEyNCwKLQkweDEwMDEwMiwgMHgwMDA4MjAsIDB4MDMxMDYwLCAweDAxMDA0MCwKLQkweDAwMTkyNCwgMHgyQTAwODYsIDB4MDAwMDhELCAweDAwMDQ2NCwKLQkweDAwOUQwNCwgMHgyOTEwODYsIDB4MTgwMTAyLCAweDAwMDU3NSwKLQkweDAxMDA0MiwgMHgyODA0MEEsIDB4MDAwMThELCAweDAwMDkyNCwKLQkweDI4MEQwMiwgMHgwMDAwMEQsIDB4MDAwOTI0LCAweDI4MTUwMiwKLQkweDEwMDAwRCwgMHgwMDA4MjAsIDB4MDAwMkY1LCAweDAxMDA0MCwKLQkweDIwMDAwNywgMHgwMDExNzUsIDB4MDAwMkZELCAweDAxODA0MiwKLQkweDA4MDAwQSwgMHgwMDA5MDQsIDB4MjRGQTg2LCAweDAwMDAwNywKLQkweDAwMDEwMCwgMHgwODBCMjAsIDB4MTMwQjYwLCAweDFCMEI2MCwKLQkweDAzMEE2MCwgMHgwMTAwNDAsIDB4MDUwMDQyLCAweDNEMDA0QSwKLQkweDM1MDA0QSwgMHgyRDAwNEEsIDB4MjAwMDBBLCAweDAwMDZGNSwKLQkweDAxMDA0MiwgMHgyODE0MEEsIDB4MDAwNEY1LCAweDAxMDA0MiwKLQkweDA4MDAwQSwgMHgwMDAzMTUsIDB4MDEwRDA0LCAweDI2MDI4NiwKLQkweDAwNDAxNSwgMHgwMDAwOTUsIDB4MDEwRDA0LCAweDI1RjA4NiwKLQkweDEwMDAyMiwgMHgxMDAwMkEsIDB4MjYxQTA2LCAweDAwMDAwNywKLQkweDMzMzEwNCwgMHgyQUE5MDQsIDB4MDAwMDA3LCAweDAzMjEyNCwKLQkweDI4MDUwMiwgMHgyODQ0MDIsIDB4MDAxMTI0LCAweDQwMDEwMiwKLQkweDAwMDQyNCwgMHgwMDA0MjQsIDB4MDAzMjI0LCAweDAwMjkyQywKLQkweDAwNjM2QywgMHgyNzczODYsIDB4MDAwMDA3LCAweDAyQjE2NCwKLQkweDAwMDQ2NCwgMHgwMDA0NjQsIDB4MDAwMDhELCAweDAwMEE2NCwKLQkweDI4MEQwMiwgMHgxMDAwOEQsIDB4MDAwODIwLCAweDAwMDJGNSwKLQkweDAxMDA0MCwgMHgyMjAwMDcsIDB4MDAwMDhELCAweDM4QjkwNCwKLQkweDAwMDAwNywgMHgwMzI5NkMsIDB4MzAwMTBBLCAweDAwMDJGNSwKLQkweDAxMDA0MiwgMHgwODAwMEEsIDB4MDAwOTA0LCAweDI3MDI4NiwKLQkweDAwMDAwNywgMHgwMDIxMkMsIDB4MjgwNTBBLCAweDAwMzE2QywKLQkweDAwMDQ2QywgMHgwMDA0NkMsIDB4Mjg0NTBBLCAweDAwMTEyNCwKLQkweDAwNkI2NCwgMHgxMDAxMDIsIDB4MDAwMDhELCAweDAxMDk2QywKLQkweDI4MEQwQSwgMHgxMDAxMEQsIDB4MDAwODIwLCAweDAwMDJGNSwKLQkweDAxMDA0MCwgMHgyMjAwMDcsIDB4MDA0MTI0LCAweDAwMDQyNCwKLQkweDAwMDQyNCwgMHgwMDMyMjQsIDB4MzAwMTAyLCAweDAzMjk0NCwKLQkweDI3RkE4NiwgMHgwMDAwMDcsIDB4MzAwMDAyLCAweDAwMDRGNSwKLQkweDAxMDA0MiwgMHgwODAwMEEsIDB4MDAwMzE1LCAweDAxMEQwNCwKLQkweDI4NDA4NiwgMHgwMDMxMjQsIDB4MDAwNDY0LCAweDMwMDEwMiwKLQkweDAwMDJGNSwgMHgwMTAwNDIsIDB4MDgwMDBBLCAweDAwMDkwNCwKLQkweDI4NEE4NiwgMHgwMDAwMDcsIDB4Mjg0NDAyLCAweDAwMzEyNCwKLQkweDMwMDUwMiwgMHgwMDM5MjQsIDB4MzAwNTgzLCAweDAwMDg4MywKLQkweDAwMDVGNSwgMHgwMTAwNDIsIDB4MjgwNDBBLCAweDAwMDA4RCwKLQkweDAwODEyNCwgMHgyODBEMDIsIDB4MDAwMDhELCAweDAwODEyNCwKLQkweDI4MTUwMiwgMHgxMDAxOEQsIDB4MDAwODIwLCAweDAwMDJGNSwKLQkweDAxMDA0MCwgMHgyMjAwMDcsIDB4MDAxMDI1LCAweDAwMDU3NSwKLQkweDAzMDA0MiwgMHgwOTAwNEEsIDB4MTAwMDBBLCAweDBBMDkwNCwKLQkweDEyMTEwNCwgMHgwMDAwMDcsIDB4MDAxMDIwLCAweDA1MDg2MCwKLQkweDA1MDA0MCwgMHgwMDA2RkQsIDB4MDE4MDQyLCAweDA5MDA0QSwKLQkweDEwMDAwQSwgMHgwMDAwQTUsIDB4MEEwOTA0LCAweDEyMTEwNCwKLQkweDAwMDAwNywgMHgwMDA4MjAsIDB4MDE5MDYwLCAweDAxMDA0MCwKLQkweDAwMDJGNSwgMHgwMTAwNDIsIDB4MDgwMDBBLCAweDAwMDkwNCwKLQkweDI5Q0E4NiwgMHgwMDAwMDcsIDB4MjQ0MjA2LCAweDAwMDAwNywKLQkweDAwMDYwNiwgMHgwMDAwMDcsIDB4MDAwMkY1LCAweDAxMDA0MiwKLQkweDA4MDAwQSwgMHgwMDA5MDQsIDB4MkExQTg2LCAweDAwMDAwNywKLQkweDAwMDEwMCwgMHgwODBCMjAsIDB4MTM4QjYwLCAweDFCOEI2MCwKLQkweDIzOEI2MCwgMHgyQjhCNjAsIDB4MzM4QjYwLCAweDNCOEI2MCwKLQkweDQzOEI2MCwgMHg0QjhCNjAsIDB4NTM4QjYwLCAweDVCOEI2MCwKLQkweDYzOEI2MCwgMHg2QjhCNjAsIDB4NzM4QjYwLCAweDdCOEI2MCwKLQkweDAzOEY2MCwgMHgwQjhGNjAsIDB4MTM4RjYwLCAweDFCOEY2MCwKLQkweDIzOEY2MCwgMHgyQjhGNjAsIDB4MzM4RjYwLCAweDNCOEY2MCwKLQkweDQzOEY2MCwgMHg0QjhGNjAsIDB4NTM4RjYwLCAweDVCOEY2MCwKLQkweDYzOEY2MCwgMHg2QjhGNjAsIDB4NzM4RjYwLCAweDdCOEY2MCwKLQkweDAzOEE2MCwgMHgwMDA2MDYsIDB4MDE4MDQwLCAweDAwMDA4RCwKLQkweDAwMEE2NCwgMHgyODBEMDIsIDB4MDAwQTI0LCAweDAwMDI3RCwKLQkweDAxODA0MiwgMHgxMDAwMEEsIDB4MDAxMjI0LCAweDAwMDNGRCwKLQkweDAxODA0MiwgMHgwODAwMEEsIDB4MDAwOTA0LCAweDJDMEE4NiwKLQkweDAwMDAwNywgMHgwMDAxOEQsIDB4MDAwQTI0LCAweDAwMDQ2NCwKLQkweDAwMDQ2NCwgMHgwODAxMDIsIDB4MDAwOTI0LCAweDAwMDQyNCwKLQkweDAwMDQyNCwgMHgxMDAxMDIsIDB4MDIwMDBELCAweDAwOTE0NCwKLQkweDJDNjE4NiwgMHgwMDAwMDcsIDB4MDAwMUZELCAweDAxODA0MiwKLQkweDA4MDAwQSwgMHgwMDBBNDQsIDB4MkM0Mzg2LCAweDAxODA0MiwKLQkweDBBMDAwRCwgMHgwMDA4MjAsIDB4MDAwMkZELCAweDAxODA0MCwKLQkweDIwMDAwNywgMHgwMDAyN0QsIDB4MDAxMDIwLCAweDAwMDYwNiwKLQkweDAxODA0MCwgMHgwMDAyRjUsIDB4MDEwMDQyLCAweDA4MDAwQSwKLQkweDAwMDkwNCwgMHgyQ0IyODYsIDB4MDAwMDA3LCAweDAwMDM3RCwKLQkweDAxODA0MiwgMHgwODAwMEEsIDB4MDAwOTA0LCAweDJDRTI4NiwKLQkweDAwMDAwNywgMHgwMDAwNzUsIDB4MDAyRTdELCAweDAxMDA0MiwKLQkweDBCODA0QSwgMHgwMDAwMjAsIDB4MDAwOTA0LCAweDAwMDY4NiwKLQkweDAxMDA0MCwgMHgzMTg0NEEsIDB4MzAwNDhCLCAweDAwMDg4MywKLQkweDAwMDA4RCwgMHgwMDA4MTAsIDB4MjgxNDNBLCAweDAwMDA4RCwKLQkweDAwMDgxMCwgMHgyODBDM0EsIDB4MDAwNjc1LCAweDAxMDA0MiwKLQkweDA4MDAwQSwgMHgwMDM4MTUsIDB4MDEwOTI0LCAweDI4MDUwMiwKLQkweDBCMDAwRCwgMHgwMDA4MjAsIDB4MDAwMkY1LCAweDAxMDA0MCwKLQkweDAwMDYwNiwgMHgyMjAwMDcsIDB4MDAwNDY0LCAweDAwMDQ2NCwKLQkweDAwMDYwNiwgMHgwMDAwMDcsIDB4MDAwMTM0LCAweDAwN0Y4RCwKLQkweDAwMDkzQywgMHgyODFEMTIsIDB4MjgyNTEyLCAweDAwMUYzMiwKLQkweDBFMDAwNywgMHgwMDAxMEQsIDB4MDAwMzdELCAweDAwMDgyMCwKLQkweDAxODA0MCwgMHgwNUQyRjQsIDB4MDAwMDA3LCAweDA4MDAwNywKLQkweDAwMDM3RCwgMHgwMTgwNDIsIDB4MDgwMDBBLCAweDAwMDkwNCwKLQkweDJFOEE4NiwgMHgwMDAwMDcsIDB4MDAwNjA2LCAweDAwMDAwNywKLQkweDAwMDAwNywgMHgwMDAwMTIsIDB4MTAwMDA3LCAweDMyMDAwNywKLQkweDYwMDAwNywgMHg0NjAwMDcsIDB4MTAwMDgwLCAweDQ4MDAxQSwKLQkweDAwNDkwNCwgMHgyRUYxODYsIDB4MDAwMDA3LCAweDAwMTIxMCwKLQkweDU4MDAzQSwgMHgwMDAxNDUsIDB4NUM1RDA0LCAweDAwMDAwNywKLQkweDAwMDA4MCwgMHg0ODAwMUEsIDB4MDA0OTA0LCAweDJGNDE4NiwKLQkweDAwMDAwNywgMHgwMDEyMTAsIDB4NTAwMDNBLCAweDAwNTkwNCwKLQkweDJGOTg4NiwgMHgwMDAwNDUsIDB4MDAwMEM1LCAweDdGRkZGNSwKLQkweDdGRkY3RCwgMHgwN0Q1MjQsIDB4MDA0MjI0LCAweDUwMDEwMiwKLQkweDIwMDUwMiwgMHgwMDAwODIsIDB4NDAwMDFBLCAweDAwNDEwNCwKLQkweDJGQzk4NiwgMHgwMDAwMDcsIDB4MDAzODY1LCAweDQwMDAxQSwKLQkweDAwNDAyMCwgMHgwMDEwNEQsIDB4MDRDMTg0LCAweDMxQUI4NiwKLQkweDAwMDA0MCwgMHgwNDAwMDcsIDB4MDAwMTY1LCAweDAwMDE0NSwKLQkweDAwNDAyMCwgMHgwMDAwNDAsIDB4MDAwNzY1LCAweDA4MDA4MCwKLQkweDQwMDAxQSwgMHgwMDQxMDQsIDB4MzA1OTg2LCAweDAwMDAwNywKLQkweDAwMTIxMCwgMHg0MDAwM0EsIDB4MDA0MTA0LCAweDMwQjI4NiwKLQkweDAwMDA0RCwgMHgwMDAwQ0QsIDB4MDA0ODEwLCAweDIwMDQzQSwKLQkweDAwMDg4MiwgMHg0MDAwMUEsIDB4MDA0MTA0LCAweDMwQzE4NiwKLQkweDAwMDAwNywgMHgwMDQ4MjAsIDB4MDA1OTA0LCAweDMxOTg4NiwKLQkweDAwMDA0MCwgMHgwMDA3RTUsIDB4MjAwNDgwLCAweDI4MTZBMCwKLQkweDMyMTZFMCwgMHgzQTE2RTAsIDB4NDIxNkUwLCAweDAyMTI2MCwKLQkweDAwMDA0MCwgMHgwMDAwMzIsIDB4NDAwMDc1LCAweDAwMDA3RCwKLQkweDA3RDU3NCwgMHgyMDA1MTIsIDB4MDAwMDgyLCAweDQwMDAxQSwKLQkweDAwNDEwNCwgMHgzMTcxODYsIDB4MDAwMDA3LCAweDAzOEEwNiwKLQkweDY0MDAwNywgMHgwMDAwRTUsIDB4MDAwMDIwLCAweDAwMDA0MCwKLQkweDAwMEE2NSwgMHgwMDAwMjAsIDB4MDIwMDQwLCAweDAyMDA0MCwKLQkweDAwMDA0MCwgMHgwMDAxNjUsIDB4MDAwMDQyLCAweDcwMDAwQSwKLQkweDAwNzEwNCwgMHgzMjMyODYsIDB4MDAwMDA3LCAweDA2MDAwNywKLQkweDAxOUEwNiwgMHg2NDAwMDcsIDB4MDUwMDAwLCAweDAwNzAyMCwKLQkweDAwMDA0MCwgMHgwMzhBMDYsIDB4NjQwMDA3LCAweDAwMDAwNywKLQkweDAwMzA2RCwgMHgwMjg4NjAsIDB4MDI5MDYwLCAweDA4MDAwQSwKLQkweDAyODg2MCwgMHgwMDgwNDAsIDB4MTAwMDEyLCAweDAwMTAwRCwKLQkweDAwOTE4NCwgMHgzMkQxODYsIDB4MDAwRTBELCAweDAwOTE4NCwKLQkweDMzRTE4NiwgMHgwMDAwMDcsIDB4MzAwMDA3LCAweDAwMTAyMCwKLQkweDAwM0I2RCwgMHgwMDgwNDAsIDB4MDAwMDgwLCAweDA4MDAxQSwKLQkweDAwMDkwNCwgMHgzMkYxODYsIDB4MDAwMDA3LCAweDAwMTIyMCwKLQkweDAwMERFRCwgMHgwMDgwNDAsIDB4MDA4MDQyLCAweDEwMDAwQSwKLQkweDQwMDAwRCwgMHgxMDk1NDQsIDB4MDAwMDA3LCAweDAwMTAyMCwKLQkweDAwMERFRCwgMHgwMDgwNDAsIDB4MDA4MDQyLCAweDIwMDQwQSwKLQkweDAwMDA4MiwgMHgwODAwMUEsIDB4MDAwOTA0LCAweDMzODE4NiwKLQkweDAwMDAwNywgMHgwMDNCNkQsIDB4MDA4MDQyLCAweDA4MDAwQSwKLQkweDAwMEUxNSwgMHgwMTA5ODQsIDB4MzQyQjg2LCAweDYwMDAwNywKLQkweDA4MDAxQSwgMHgwMDBDMTUsIDB4MDEwOTg0LCAweDM0MTM4NiwKLQkweDAwMDAyMCwgMHgxQTAwMDcsIDB4MDAwMkVELCAweDAwODA0MCwKLQkweDYyMDAwNywgMHgwMDMwNkQsIDB4MDI4MDQyLCAweDBBODA0QSwKLQkweDAwMDgyMCwgMHgwQTgwNEEsIDB4MDAwNjA2LCAweDEwODA0QSwKLQkweDAwMDAwNywgMHgyODI1MTIsIDB4MDAxRjMyLCAweDA1RDJGNCwKLQkweDU0RDEwNCwgMHgwMDczNUMsIDB4MDAwNzg2LCAweDAwMDAwNywKLQkweDBDMDAwNywgMHgwQTAwMDcsIDB4MUMwMDA3LCAweDAwMzQ2NSwKLQkweDAyMDA0MCwgMHgwMDQ4MjAsIDB4MDI1MDYwLCAweDQwMDAwQSwKLQkweDAyNDA2MCwgMHgwMDAwNDAsIDB4NDU0OTQ0LCAweDAwMDAwNywKLQkweDAwNDAyMCwgMHgwMDNBRTUsIDB4MDAwMDQwLCAweDAwMjhFNSwKLQkweDAwMDA0MiwgMHg0ODAwMEEsIDB4MDA0OTA0LCAweDM5Rjg4NiwKLQkweDAwMkM2NSwgMHgwMDAwNDIsIDB4NDAwMDBBLCAweDAwMDBENSwKLQkweDQ1NDEwNCwgMHgwMDAwMDcsIDB4MDAwNjU1LCAweDA1NDUwNCwKLQkweDM2ODI4NiwgMHgwMDAxRDUsIDB4MDU0NTA0LCAweDM2ODA4NiwKLQkweDAwMkI2NSwgMHgwMDAwNDIsIDB4MDAzQUU1LCAweDUwMDA0QSwKLQkweDQwMDAwQSwgMHg0NUMzRDQsIDB4MDAwMDA3LCAweDQ1NDUwNCwKLQkweDAwMDAwNywgMHgwMDAwQ0QsIDB4NDQ0OTQ0LCAweDAwMDAwNywKLQkweDQ1NDUwNCwgMHgwMDAwMDcsIDB4MDAwMTRELCAweDU1NDk0NCwKLQkweDAwMDAwNywgMHgwNDUxNDQsIDB4MzY3OTg2LCAweDAwMkM2NSwKLQkweDAwMDA0MiwgMHg0ODAwMEEsIDB4NENEMTA0LCAweDAwMDAwNywKLQkweDA0QzE0NCwgMHgzNjgzODYsIDB4MDAwMDA3LCAweDE2MDAwNywKLQkweDAwMkNFNSwgMHgwNDAwNDIsIDB4NDAwMDBBLCAweDAwNDAyMCwKLQkweDAwMDA0MCwgMHgwMDI5NjUsIDB4MDAwMDQyLCAweDQwMDAwQSwKLQkweDAwNDEwNCwgMHgzNkYwODYsIDB4MDAwMDA3LCAweDAwMjQwMiwKLQkweDM4MzIwNiwgMHgwMDVDMDIsIDB4MDAyNUU1LCAweDAwMDA0MiwKLQkweDQwMDAwQSwgMHgwMDQyNzQsIDB4MDAyQUU1LCAweDAwMDA0MiwKLQkweDQwMDAwQSwgMHgwMDQyNzQsIDB4NTAwMTEyLCAweDAwMjlFNSwKLQkweDAwMDA0MiwgMHg0MDAwMEEsIDB4MDA0MjM0LCAweDQ1NDEwNCwKLQkweDAwMDAwNywgMHgwMDQwMjAsIDB4MDAwMDQwLCAweDAwM0VFNSwKLQkweDAwMDAyMCwgMHgwMDAwNDAsIDB4MDAyREU1LCAweDQwMDE1MiwKLQkweDUwMDAwQSwgMHgwNDUxNDQsIDB4MzdEQTg2LCAweDAwMDBDNSwKLQkweDAwM0VFNSwgMHgwMDQwMjAsIDB4MDAwMDQwLCAweDAwMkJFNSwKLQkweDAwMDA0MiwgMHg0MDAwMEEsIDB4NDA0MjU0LCAweDAwMDAwNywKLQkweDAwMkFFNSwgMHgwMDQwMjAsIDB4MDAwMDQwLCAweDUwMDEzMiwKLQkweDA0MDEzNCwgMHgwMDU2NzQsIDB4MDAyOUU1LCAweDAyMDA0MiwKLQkweDQyMDAwQSwgMHgwMDAwNDIsIDB4NTAwMDBBLCAweDA1NDE3QywKLQkweDAwMjhFNSwgMHgwMDAwNDIsIDB4NDgwMDBBLCAweDAwMDBDNSwKLQkweDRDQzE0NCwgMHgzOEEwODYsIDB4MDAyNkU1LCAweDAwMjdFNSwKLQkweDAyMDA0MiwgMHg0MDAwNEEsIDB4NTAwMDBBLCAweDAwNDIzQywKLQkweDAwNTY3QywgMHgwMDI4RTUsIDB4MDA0ODIwLCAweDAwMDA0MCwKLQkweDI4MUQxMiwgMHgyODI1MTIsIDB4MDAxRjcyLCAweDAwMjk2NSwKLQkweDAwMDA0MiwgMHg0MDAwMEEsIDB4MDA0MTA0LCAweDM5M0E4NiwKLQkweDBFMDAwNywgMHgxNjAwMDcsIDB4MUUwMDA3LCAweDAwM0VFNSwKLQkweDAwMDA0MiwgMHg0MDAwMEEsIDB4MDA0MTA0LCAweDM5Nzg4NiwKLQkweDAwMkQ2NSwgMHgwMDAwNDIsIDB4MjgzNDBBLCAweDAwMzQ2NSwKLQkweDAyMDA0MiwgMHg0MjAwNEEsIDB4MDA0MDIwLCAweDRBMDA0QSwKLQkweDUwMDA0QSwgMHgwNUQyRjQsIDB4NTREMTA0LCAweDAwNzM1QywKLQkweDM5RTE4NiwgMHgwMDAwMDcsIDB4MDAwNjA2LCAweDA4MDAwNywKLQkweDBDMDAwNywgMHgwODAwMDcsIDB4MEEwMDA3LCAweDAwMDFFNSwKLQkweDAyMDA0NSwgMHgwMDQwMjAsIDB4MDAwMDYwLCAweDAwMDM2NSwKLQkweDAwMDA0MCwgMHgwMDJFNjUsIDB4MDAxQTIwLCAweDBBMUE2MCwKLQkweDAwMDA0MCwgMHgwMDM0NjUsIDB4MDIwMDQyLCAweDQyMDA0QSwKLQkweDAwNDAyMCwgMHg0QTAwNEEsIDB4MDAwNjA2LCAweDUwMDA0QSwKLQkweDAwMTdGRCwgMHgwMTgwNDIsIDB4MDgwMDBBLCAweDAwMDkwNCwKLQkweDIyNUE4NiwgMHgwMDAwMDcsIDB4MDAxMDdELCAweDAxODA0MiwKLQkweDAwMTFGRCwgMHgzMzgwNEEsIDB4MTk4MDRBLCAweDIwMDAwQSwKLQkweDAwMDA5NSwgMHgyQTExNDQsIDB4MDFBMTQ0LCAweDNCOTA4NiwKLQkweDAwMDQwRCwgMHgwMEIxODQsIDB4M0I5MTg2LCAweDAwMThGRCwKLQkweDAxODA0MiwgMHgwMDEwRkQsIDB4MDk4MDRBLCAweDM4MDAwQSwKLQkweDAwMDA5NSwgMHgwMTA5MjQsIDB4MDAzQTY0LCAweDNCODE4NiwKLQkweDAwMDAwNywgMHgwMDM5MDQsIDB4M0I5Mjg2LCAweDAwMDAwNywKLQkweDNCOUEwNiwgMHgwMDAwMEQsIDB4MDAwMDhELCAweDAwMDgyMCwKLQkweDAwMzg3RCwgMHgwMTgwNDAsIDB4NzAwMDAyLCAweDAwMTE3RCwKLQkweDAxODA0MiwgMHgwMDE5N0QsIDB4Mjk4MDRBLCAweDMwMDAwQSwKLQkweDM4MDAwMiwgMHgwMDMxMjQsIDB4MDAwNDI0LCAweDAwMDQyNCwKLQkweDAwMkEyNCwgMHgyODA1MDIsIDB4MDAwNjhELCAweDAwMDgxMCwKLQkweDI4MTQzQSwgMHgwMDc1MEQsIDB4MDBCMTI0LCAweDAwMjI2NCwKLQkweDNEMDM4NiwgMHgyODQ0MDIsIDB4MDAwODEwLCAweDI4MEMzQSwKLQkweDBCODAwRCwgMHgwMDA4MjAsIDB4MDAwMkZELCAweDAxODA0MCwKLQkweDIwMDAwNywgMHgwMDc1OEQsIDB4MDBCMTI0LCAweDEwMDEwMiwKLQkweDAxMjE0NCwgMHgzRTQ5ODYsIDB4MDAxODEwLCAweDEwMDAzQSwKLQkweDAwMzg3RCwgMHgwMTgwNDIsIDB4MDgwMDBBLCAweDAwMDkwNCwKLQkweDNFNDg4NiwgMHgwMzAwMDAsIDB4M0U0QTA2LCAweDAwMDBCRCwKLQkweDAwMDA4RCwgMHgwMjMxNjQsIDB4MDAwQTY0LCAweDI4MEQwMiwKLQkweDBCODA4RCwgMHgwMDA4MjAsIDB4MDAwMkZELCAweDAxODA0MCwKLQkweDIwMDAwNywgMHgwMDM4N0QsIDB4MDE4MDQyLCAweDA4MDAwQSwKLQkweDAwMDkwNCwgMHgzRTMyODYsIDB4MDMwMDAwLCAweDAwMDJGRCwKLQkweDAxODA0MiwgMHgwODAwMEEsIDB4MDAwOTA0LCAweDNEODI4NiwKLQkweDAwMDAwNywgMHgwMDI4MTAsIDB4MjgwNDNBLCAweDAwNzUwRCwKLQkweDAzMDkyNCwgMHgwMDIyNjQsIDB4MjgwRDAyLCAweDAyMzE2QywKLQkweDI4NDUwQSwgMHgwQjgxMEQsIDB4MDAwODIwLCAweDAwMDJGRCwKLQkweDAxODA0MCwgMHgyMDAwMDcsIDB4MDAwMDhELCAweDAwMEEyNCwKLQkweDNFNEEwNiwgMHgxMDAxMDIsIDB4MDAxODEwLCAweDEwMDAzQSwKLQkweDAwMDBCRCwgMHgwMDM4MTAsIDB4MzAwNDNBLCAweDAwMTg3RCwKLQkweDAxODA0MiwgMHgwMDE4RkQsIDB4MDk4MDRBLCAweDIwMDAwQSwKLQkweDAwMDBBRCwgMHgwMjg5MjQsIDB4MDcyMTJDLCAweDAwMTAxMCwKLQkweDMwMDU4MywgMHgzMDBEOEIsIDB4MzAxNEJCLCAweDMwMUM4MywKLQkweDAwMjA4MywgMHgwMDEzN0QsIDB4MDM4MDQyLCAweDMzODQ0QSwKLQkweDMzQUNDQiwgMHgzM0I0Q0IsIDB4MzNCQ0NCLCAweDMzQzRDQiwKLQkweDMzQ0NDQiwgMHgzM0Q0Q0IsIDB4MzA1QzhCLCAweDAwNjA4MywKLQkweDAwMUUwRCwgMHgwMDA1RkQsIDB4MDE4MDQyLCAweDIwMDAwQSwKLQkweDAyMDkyNCwgMHgwMDA2OEQsIDB4MDBBOTZDLCAweDAwMDA5RCwKLQkweDAwMDJGRCwgMHgwMTgwNDIsIDB4MDgwMDBBLCAweDAwMDkwNCwKLQkweDNGNkE4NiwgMHgwMDAwMDcsIDB4MjgwNTAyLCAweDI4MEQwQSwKLQkweDI4NDQwMiwgMHgwMDE4MTAsIDB4MjgxNDNBLCAweDBDMDA4RCwKLQkweDAwMDgyMCwgMHgwMDAyRkQsIDB4MDE4MDQwLCAweDIyMDAwNywKLQkweDAwMzkwNCwgMHgyMjU4ODYsIDB4MDAxRTBELCAweDAwMDU3RCwKLQkweDAxODA0MiwgMHgyMDAwMEEsIDB4MDIwOTI0LCAweDAwMDBBNSwKLQkweDAwMDJGRCwgMHgwMTgwNDIsIDB4MDgwMDBBLCAweDAwMDkwNCwKLQkweDQwMkE4NiwgMHgwMDAwMDcsIDB4MjgwNTAyLCAweDI4MEMwMiwKLQkweDAwMjAxMCwgMHgyODE0M0EsIDB4MEMwMTBELCAweDAwMDgyMCwKLQkweDAwMDJGRCwgMHgwMTgwNDAsIDB4MjI1QTA2LCAweDIyMDAwNywKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMAotfTsKLQotI2VuZGlmCS8vX0hXTUNPREVfCmRpZmYgLS1naXQgYS9zb3VuZC9wY2kveW1mcGNpL3ltZnBjaV9tYWluLmMgYi9zb3VuZC9wY2kveW1mcGNpL3ltZnBjaV9tYWluLmMKaW5kZXggMjliMzA1Ni4uOTJkNDlhYSAxMDA2NDQKLS0tIGEvc291bmQvcGNpL3ltZnBjaS95bWZwY2lfbWFpbi5jCisrKyBiL3NvdW5kL3BjaS95bWZwY2kveW1mcGNpX21haW4uYwpAQCAtMjYsNiArMjYsNyBAQAogI2luY2x1ZGUgPGxpbnV4L3NjaGVkLmg+CiAjaW5jbHVkZSA8bGludXgvc2xhYi5oPgogI2luY2x1ZGUgPGxpbnV4L3ZtYWxsb2MuaD4KKyNpbmNsdWRlIDxsaW51eC9tdXRleC5oPgogCiAjaW5jbHVkZSA8c291bmQvY29yZS5oPgogI2luY2x1ZGUgPHNvdW5kL2NvbnRyb2wuaD4KQEAgLTE5OTMsNTUgKzE5OTQsNiBAQAogCX0KIH0KIAotI2lmZGVmIENPTkZJR19TTkRfWU1GUENJX0ZJUk1XQVJFX0lOX0tFUk5FTAotCi0jaW5jbHVkZSAieW1mcGNpX2ltYWdlLmgiCi0KLXN0YXRpYyBzdHJ1Y3QgZmlybXdhcmUgc25kX3ltZnBjaV9kc3BfbWljcm9jb2RlID0gewotCS5zaXplID0gWURTWEdfRFNQTEVOR1RILAotCS5kYXRhID0gKHU4ICopRHNwSW5zdCwKLX07Ci1zdGF0aWMgc3RydWN0IGZpcm13YXJlIHNuZF95bWZwY2lfY29udHJvbGxlcl9taWNyb2NvZGUgPSB7Ci0JLnNpemUgPSBZRFNYR19DVFJMTEVOR1RILAotCS5kYXRhID0gKHU4ICopQ250cmxJbnN0LAotfTsKLXN0YXRpYyBzdHJ1Y3QgZmlybXdhcmUgc25kX3ltZnBjaV9jb250cm9sbGVyXzFlX21pY3JvY29kZSA9IHsKLQkuc2l6ZSA9IFlEU1hHX0NUUkxMRU5HVEgsCi0JLmRhdGEgPSAodTggKilDbnRybEluc3QxRSwKLX07Ci0jZW5kaWYKLQotI2lmZGVmIENPTkZJR19TTkRfWU1GUENJX0ZJUk1XQVJFX0lOX0tFUk5FTAotc3RhdGljIGludCBzbmRfeW1mcGNpX3JlcXVlc3RfZmlybXdhcmUoc3RydWN0IHNuZF95bWZwY2kgKmNoaXApCi17Ci0JY2hpcC0+ZHNwX21pY3JvY29kZSA9ICZzbmRfeW1mcGNpX2RzcF9taWNyb2NvZGU7Ci0JaWYgKGNoaXAtPmRldmljZV9pZCA9PSBQQ0lfREVWSUNFX0lEX1lBTUFIQV83MjRGIHx8Ci0JICAgIGNoaXAtPmRldmljZV9pZCA9PSBQQ0lfREVWSUNFX0lEX1lBTUFIQV83NDBDIHx8Ci0JICAgIGNoaXAtPmRldmljZV9pZCA9PSBQQ0lfREVWSUNFX0lEX1lBTUFIQV83NDQgfHwKLQkgICAgY2hpcC0+ZGV2aWNlX2lkID09IFBDSV9ERVZJQ0VfSURfWUFNQUhBXzc1NCkKLQkJY2hpcC0+Y29udHJvbGxlcl9taWNyb2NvZGUgPQotCQkJJnNuZF95bWZwY2lfY29udHJvbGxlcl8xZV9taWNyb2NvZGU7Ci0JZWxzZQotCQljaGlwLT5jb250cm9sbGVyX21pY3JvY29kZSA9Ci0JCQkmc25kX3ltZnBjaV9jb250cm9sbGVyX21pY3JvY29kZTsKLQlyZXR1cm4gMDsKLX0KLQotI2Vsc2UgLyogdXNlIGZ3X2xvYWRlciAqLwotCi0jaWZkZWYgX19MSVRUTEVfRU5ESUFOCi1zdGF0aWMgaW5saW5lIHZvaWQgc25kX3ltZnBjaV9jb252ZXJ0X2Zyb21fbGUoY29uc3Qgc3RydWN0IGZpcm13YXJlICpmdykgeyB9Ci0jZWxzZQotc3RhdGljIHZvaWQgc25kX3ltZnBjaV9jb252ZXJ0X2Zyb21fbGUoY29uc3Qgc3RydWN0IGZpcm13YXJlICpmdykKLXsKLQlpbnQgaTsKLQl1MzIgKmRhdGEgPSAodTMyICopZnctPmRhdGE7Ci0KLQlmb3IgKGkgPSAwOyBpIDwgZnctPnNpemUgLyA0OyArK2kpCi0JCWxlMzJfdG9fY3B1cygmZGF0YVtpXSk7Ci19Ci0jZW5kaWYKLQogc3RhdGljIGludCBzbmRfeW1mcGNpX3JlcXVlc3RfZmlybXdhcmUoc3RydWN0IHNuZF95bWZwY2kgKmNoaXApCiB7CiAJaW50IGVyciwgaXNfMWU7CkBAIC0yMDUwLDkgKzIwMDIsNyBAQAogCWVyciA9IHJlcXVlc3RfZmlybXdhcmUoJmNoaXAtPmRzcF9taWNyb2NvZGUsICJ5YW1haGEvZHMxX2RzcC5mdyIsCiAJCQkgICAgICAgJmNoaXAtPnBjaS0+ZGV2KTsKIAlpZiAoZXJyID49IDApIHsKLQkJaWYgKGNoaXAtPmRzcF9taWNyb2NvZGUtPnNpemUgPT0gWURTWEdfRFNQTEVOR1RIKQotCQkJc25kX3ltZnBjaV9jb252ZXJ0X2Zyb21fbGUoY2hpcC0+ZHNwX21pY3JvY29kZSk7Ci0JCWVsc2UgeworCQlpZiAoY2hpcC0+ZHNwX21pY3JvY29kZS0+c2l6ZSAhPSBZRFNYR19EU1BMRU5HVEgpIHsKIAkJCXNuZF9wcmludGsoS0VSTl9FUlIgIkRTUCBtaWNyb2NvZGUgaGFzIHdyb25nIHNpemVcbiIpOwogCQkJZXJyID0gLUVJTlZBTDsKIAkJfQpAQCAtMjA2Nyw5ICsyMDE3LDcgQEAKIAllcnIgPSByZXF1ZXN0X2Zpcm13YXJlKCZjaGlwLT5jb250cm9sbGVyX21pY3JvY29kZSwgbmFtZSwKIAkJCSAgICAgICAmY2hpcC0+cGNpLT5kZXYpOwogCWlmIChlcnIgPj0gMCkgewotCQlpZiAoY2hpcC0+Y29udHJvbGxlcl9taWNyb2NvZGUtPnNpemUgPT0gWURTWEdfQ1RSTExFTkdUSCkKLQkJCXNuZF95bWZwY2lfY29udmVydF9mcm9tX2xlKGNoaXAtPmNvbnRyb2xsZXJfbWljcm9jb2RlKTsKLQkJZWxzZSB7CisJCWlmIChjaGlwLT5jb250cm9sbGVyX21pY3JvY29kZS0+c2l6ZSAhPSBZRFNYR19DVFJMTEVOR1RIKSB7CiAJCQlzbmRfcHJpbnRrKEtFUk5fRVJSICJjb250cm9sbGVyIG1pY3JvY29kZSIKIAkJCQkgICAiIGhhcyB3cm9uZyBzaXplXG4iKTsKIAkJCWVyciA9IC1FSU5WQUw7CkBAIC0yMDg0LDEzICsyMDMyLDExIEBACiBNT0RVTEVfRklSTVdBUkUoInlhbWFoYS9kczFfY3RybC5mdyIpOwogTU9EVUxFX0ZJUk1XQVJFKCJ5YW1haGEvZHMxZV9jdHJsLmZ3Iik7CiAKLSNlbmRpZgotCiBzdGF0aWMgdm9pZCBzbmRfeW1mcGNpX2Rvd25sb2FkX2ltYWdlKHN0cnVjdCBzbmRfeW1mcGNpICpjaGlwKQogewogCWludCBpOwogCXUxNiBjdHJsOwotCXUzMiAqaW5zdDsKKwljb25zdCBfX2xlMzIgKmluc3Q7CiAKIAlzbmRfeW1mcGNpX3dyaXRlbChjaGlwLCBZRFNYR1JfTkFUSVZFREFDT1VUVk9MLCAweDAwMDAwMDAwKTsKIAlzbmRfeW1mcGNpX2Rpc2FibGVfZHNwKGNoaXApOwpAQCAtMjEwNSwxNCArMjA1MSwxNiBAQAogCXNuZF95bWZwY2lfd3JpdGV3KGNoaXAsIFlEU1hHUl9HTE9CQUxDVFJMLCBjdHJsICYgfjB4MDAwNyk7CiAKIAkvKiBzZXR1cCBEU1AgaW5zdHJ1Y3Rpb24gY29kZSAqLwotCWluc3QgPSAodTMyICopY2hpcC0+ZHNwX21pY3JvY29kZS0+ZGF0YTsKKwlpbnN0ID0gKGNvbnN0IF9fbGUzMiAqKWNoaXAtPmRzcF9taWNyb2NvZGUtPmRhdGE7CiAJZm9yIChpID0gMDsgaSA8IFlEU1hHX0RTUExFTkdUSCAvIDQ7IGkrKykKLQkJc25kX3ltZnBjaV93cml0ZWwoY2hpcCwgWURTWEdSX0RTUElOU1RSQU0gKyAoaSA8PCAyKSwgaW5zdFtpXSk7CisJCXNuZF95bWZwY2lfd3JpdGVsKGNoaXAsIFlEU1hHUl9EU1BJTlNUUkFNICsgKGkgPDwgMiksCisJCQkJICBsZTMyX3RvX2NwdShpbnN0W2ldKSk7CiAKIAkvKiBzZXR1cCBjb250cm9sIGluc3RydWN0aW9uIGNvZGUgKi8KLQlpbnN0ID0gKHUzMiAqKWNoaXAtPmNvbnRyb2xsZXJfbWljcm9jb2RlLT5kYXRhOworCWluc3QgPSAoY29uc3QgX19sZTMyICopY2hpcC0+Y29udHJvbGxlcl9taWNyb2NvZGUtPmRhdGE7CiAJZm9yIChpID0gMDsgaSA8IFlEU1hHX0NUUkxMRU5HVEggLyA0OyBpKyspCi0JCXNuZF95bWZwY2lfd3JpdGVsKGNoaXAsIFlEU1hHUl9DVFJMSU5TVFJBTSArIChpIDw8IDIpLCBpbnN0W2ldKTsKKwkJc25kX3ltZnBjaV93cml0ZWwoY2hpcCwgWURTWEdSX0NUUkxJTlNUUkFNICsgKGkgPDwgMiksCisJCQkJICBsZTMyX3RvX2NwdShpbnN0W2ldKSk7CiAKIAlzbmRfeW1mcGNpX2VuYWJsZV9kc3AoY2hpcCk7CiB9CkBAIC0yMjA1LDYgKzIxNTMsNyBAQAogCWZvciAocmVnID0gMHg4MDsgcmVnIDwgMHhjMDsgcmVnICs9IDQpCiAJCXNuZF95bWZwY2lfd3JpdGVsKGNoaXAsIHJlZywgMCk7CiAJc25kX3ltZnBjaV93cml0ZWwoY2hpcCwgWURTWEdSX05BVElWRURBQ09VVFZPTCwgMHgzZmZmM2ZmZik7CisJc25kX3ltZnBjaV93cml0ZWwoY2hpcCwgWURTWEdSX0JVRjQ0MU9VVFZPTCwgMHgzZmZmM2ZmZik7CiAJc25kX3ltZnBjaV93cml0ZWwoY2hpcCwgWURTWEdSX1pWT1VUVk9MLCAweDNmZmYzZmZmKTsKIAlzbmRfeW1mcGNpX3dyaXRlbChjaGlwLCBZRFNYR1JfU1BESUZPVVRWT0wsIDB4M2ZmZjNmZmYpOwogCXNuZF95bWZwY2lfd3JpdGVsKGNoaXAsIFlEU1hHUl9OQVRJVkVBRENJTlZPTCwgMHgzZmZmM2ZmZik7CkBAIC0yMjY0LDEwICsyMjEzLDggQEAKIAlwY2lfd3JpdGVfY29uZmlnX3dvcmQoY2hpcC0+cGNpLCAweDQwLCBjaGlwLT5vbGRfbGVnYWN5X2N0cmwpOwogCQogCXBjaV9kaXNhYmxlX2RldmljZShjaGlwLT5wY2kpOwotI2lmbmRlZiBDT05GSUdfU05EX1lNRlBDSV9GSVJNV0FSRV9JTl9LRVJORUwKIAlyZWxlYXNlX2Zpcm13YXJlKGNoaXAtPmRzcF9taWNyb2NvZGUpOwogCXJlbGVhc2VfZmlybXdhcmUoY2hpcC0+Y29udHJvbGxlcl9taWNyb2NvZGUpOwotI2VuZGlmCiAJa2ZyZWUoY2hpcCk7CiAJcmV0dXJuIDA7CiB9CkBAIC0yMzI0LDYgKzIyNzEsNyBAQAogCQljaGlwLT5zYXZlZF9yZWdzW2ldID0gc25kX3ltZnBjaV9yZWFkbChjaGlwLCBzYXZlZF9yZWdzX2luZGV4W2ldKTsKIAljaGlwLT5zYXZlZF95ZHN4Z3JfbW9kZSA9IHNuZF95bWZwY2lfcmVhZGwoY2hpcCwgWURTWEdSX01PREUpOwogCXNuZF95bWZwY2lfd3JpdGVsKGNoaXAsIFlEU1hHUl9OQVRJVkVEQUNPVVRWT0wsIDApOworCXNuZF95bWZwY2lfd3JpdGVsKGNoaXAsIFlEU1hHUl9CVUY0NDFPVVRWT0wsIDApOwogCXNuZF95bWZwY2lfZGlzYWJsZV9kc3AoY2hpcCk7CiAJcGNpX2Rpc2FibGVfZGV2aWNlKHBjaSk7CiAJcGNpX3NhdmVfc3RhdGUocGNpKTsKZGlmZiAtLWdpdCBhL3NvdW5kL3BjbWNpYS9LY29uZmlnIGIvc291bmQvcGNtY2lhL0tjb25maWcKaW5kZXggYzlmYTFhMi4uN2ZiYjE5MCAxMDA2NDQKLS0tIGEvc291bmQvcGNtY2lhL0tjb25maWcKKysrIGIvc291bmQvcGNtY2lhL0tjb25maWcKQEAgLTEsMTEgKzEsMTYgQEAKICMgQUxTQSBQQ01DSUEgZHJpdmVycwogCi1tZW51ICJQQ01DSUEgZGV2aWNlcyIKLQlkZXBlbmRzIG9uIFNORCE9biAmJiBQQ01DSUEKK21lbnVjb25maWcgU05EX1BDTUNJQQorCWJvb2wgIlBDTUNJQSBzb3VuZCBkZXZpY2VzIgorCWRlcGVuZHMgb24gUENNQ0lBCisJZGVmYXVsdCB5CisJaGVscAorCSAgU3VwcG9ydCBmb3Igc291bmQgZGV2aWNlcyBjb25uZWN0ZWQgdmlhIHRoZSBQQ01DSUEgYnVzLgorCitpZiBTTkRfUENNQ0lBICYmIFBDTUNJQQogCiBjb25maWcgU05EX1ZYUE9DS0VUCiAJdHJpc3RhdGUgIkRpZ2lncmFtIFZYcG9ja2V0IgotCWRlcGVuZHMgb24gU05EICYmIFBDTUNJQQogCXNlbGVjdCBTTkRfVlhfTElCCiAJaGVscAogCSAgU2F5IFkgaGVyZSB0byBpbmNsdWRlIHN1cHBvcnQgZm9yIERpZ2lncmFtIFZYcG9ja2V0IGFuZApAQCAtMTYsNyArMjEsNiBAQAogCiBjb25maWcgU05EX1BEQVVESU9DRgogCXRyaXN0YXRlICJTb3VuZCBDb3JlIFBEQXVkaW9DRiIKLQlkZXBlbmRzIG9uIFNORCAmJiBQQ01DSUEKIAlzZWxlY3QgU05EX1BDTQogCWhlbHAKIAkgIFNheSBZIGhlcmUgdG8gaW5jbHVkZSBzdXBwb3J0IGZvciBTb3VuZCBDb3JlIFBEQXVkaW9DRgpAQCAtMjUsNCArMjksNSBAQAogCSAgVG8gY29tcGlsZSB0aGlzIGRyaXZlciBhcyBhIG1vZHVsZSwgY2hvb3NlIE0gaGVyZTogdGhlIG1vZHVsZQogCSAgd2lsbCBiZSBjYWxsZWQgc25kLXBkYXVkaW9jZi4KIAotZW5kbWVudQorZW5kaWYJIyBTTkRfUENNQ0lBCisKZGlmZiAtLWdpdCBhL3NvdW5kL3BjbWNpYS92eC92eHBfb3BzLmMgYi9zb3VuZC9wY21jaWEvdngvdnhwX29wcy5jCmluZGV4IDE1N2IwYjUuLjk5YmYyYTYgMTAwNjQ0Ci0tLSBhL3NvdW5kL3BjbWNpYS92eC92eHBfb3BzLmMKKysrIGIvc291bmQvcGNtY2lhL3Z4L3Z4cF9vcHMuYwpAQCAtMTUxLDcgKzE1MSw3IEBACiAJdW5zaWduZWQgaW50IGk7CiAJaW50IGM7CiAJaW50IHJlZ0NTVUVSLCByZWdSVUVSOwotCXVuc2lnbmVkIGNoYXIgKmltYWdlOworCWNvbnN0IHVuc2lnbmVkIGNoYXIgKmltYWdlOwogCXVuc2lnbmVkIGNoYXIgZGF0YTsKIAogCS8qIFN3aXRjaCB0byBwcm9ncmFtbWF0aW9uIG1vZGUgKi8KZGlmZiAtLWdpdCBhL3NvdW5kL3BwYy9LY29uZmlnIGIvc291bmQvcHBjL0tjb25maWcKaW5kZXggY2FjYjBiMS4uNzc3ZGUyYiAxMDA2NDQKLS0tIGEvc291bmQvcHBjL0tjb25maWcKKysrIGIvc291bmQvcHBjL0tjb25maWcKQEAgLTEsMTcgKzEsMTcgQEAKICMgQUxTQSBQb3dlck1hYyBkcml2ZXJzCiAKLW1lbnUgIkFMU0EgUG93ZXJNYWMgZGV2aWNlcyIKLQlkZXBlbmRzIG9uIFNORCE9biAmJiBQUEMKK21lbnVjb25maWcgU05EX1BQQworCWJvb2wgIlBvd2VyUEMgc291bmQgZGV2aWNlcyIKKwlkZXBlbmRzIG9uIFBQQzY0IHx8IFBQQzMyCisJZGVmYXVsdCB5CisJaGVscAorCSAgU3VwcG9ydCBmb3Igc291bmQgZGV2aWNlcyBzcGVjaWZpYyB0byBQb3dlclBDIGFyY2hpdGVjdHVyZXMuCiAKLWNvbW1lbnQgIkFMU0EgUG93ZXJNYWMgcmVxdWlyZXMgSTJDIgotCWRlcGVuZHMgb24gU05EICYmIEkyQz1uCi0KLWNvbW1lbnQgIkFMU0EgUG93ZXJNYWMgcmVxdWlyZXMgSU5QVVQiCi0JZGVwZW5kcyBvbiBTTkQgJiYgSU5QVVQ9bgoraWYgU05EX1BQQwogCiBjb25maWcgU05EX1BPV0VSTUFDCiAJdHJpc3RhdGUgIlBvd2VyTWFjIChBV0FDUywgREFDQSwgQnVyZ3VuZHksIFR1bWJsZXIsIEtleXdlc3QpIgotCWRlcGVuZHMgb24gU05EICYmIEkyQyAmJiBJTlBVVCAmJiBQUENfUE1BQworCWRlcGVuZHMgb24gSTJDICYmIElOUFVUICYmIFBQQ19QTUFDCiAJc2VsZWN0IFNORF9QQ00KIAloZWxwCiAJICBTYXkgWSBoZXJlIHRvIGluY2x1ZGUgc3VwcG9ydCBmb3IgdGhlIGludGVncmF0ZWQgc291bmQgZGV2aWNlLgpAQCAtMzIsMTQgKzMyLDkgQEAKIAkgIE5vdGUgdGhhdCB5b3UgY2FuIHR1cm4gb24vb2ZmIERSQyBtYW51YWxseSBldmVuIHdpdGhvdXQgdGhpcwogCSAgb3B0aW9uLgogCi1lbmRtZW51Ci0KLW1lbnUgIkFMU0EgUG93ZXJQQyBkZXZpY2VzIgotCWRlcGVuZHMgb24gU05EIT1uICYmICggUFBDNjQgfHwgUFBDMzIgKQotCiBjb25maWcgU05EX1BTMwogCXRyaXN0YXRlICJQUzMgQXVkaW8gc3VwcG9ydCIKLQlkZXBlbmRzIG9uIFNORCAmJiBQUzNfUFMzQVYKKwlkZXBlbmRzIG9uIFBTM19QUzNBVgogCXNlbGVjdCBTTkRfUENNCiAJZGVmYXVsdCBtCiAJaGVscApAQCAtNTIsNCArNDcsNSBAQAogCWludCAiU3RhcnR1cCBkZWxheSB0aW1lIGluIG1zIgogCWRlcGVuZHMgb24gU05EX1BTMwogCWRlZmF1bHQgIjIwMDAiCi1lbmRtZW51CisKK2VuZGlmCSMgU05EX1BQQwpkaWZmIC0tZ2l0IGEvc291bmQvcHBjL2RhY2EuYyBiL3NvdW5kL3BwYy9kYWNhLmMKaW5kZXggY2E5NDUyOS4uOGE1YjI5MCAxMDA2NDQKLS0tIGEvc291bmQvcHBjL2RhY2EuYworKysgYi9zb3VuZC9wcGMvZGFjYS5jCkBAIC0yNDksOSArMjQ5LDcgQEAKIAlpbnQgaSwgZXJyOwogCXN0cnVjdCBwbWFjX2RhY2EgKm1peDsKIAotI2lmZGVmIENPTkZJR19LTU9ECiAJcmVxdWVzdF9tb2R1bGUoImkyYy1wb3dlcm1hYyIpOwotI2VuZGlmIC8qIENPTkZJR19LTU9EICovCiAKIAltaXggPSBremFsbG9jKHNpemVvZigqbWl4KSwgR0ZQX0tFUk5FTCk7CiAJaWYgKCEgbWl4KQpkaWZmIC0tZ2l0IGEvc291bmQvcHBjL3R1bWJsZXIuYyBiL3NvdW5kL3BwYy90dW1ibGVyLmMKaW5kZXggM2Y4ZDcxNi4uMDA5ZGY4ZCAxMDA2NDQKLS0tIGEvc291bmQvcHBjL3R1bWJsZXIuYworKysgYi9zb3VuZC9wcGMvdHVtYmxlci5jCkBAIC0xMzUwLDkgKzEzNTAsNyBAQAogCXN0cnVjdCBkZXZpY2Vfbm9kZSAqdGFzX25vZGUsICpucDsKIAljaGFyICpjaGlwbmFtZTsKIAotI2lmZGVmIENPTkZJR19LTU9ECiAJcmVxdWVzdF9tb2R1bGUoImkyYy1wb3dlcm1hYyIpOwotI2VuZGlmIC8qIENPTkZJR19LTU9EICovCiAKIAltaXggPSBremFsbG9jKHNpemVvZigqbWl4KSwgR0ZQX0tFUk5FTCk7CiAJaWYgKCEgbWl4KQpkaWZmIC0tZ2l0IGEvc291bmQvc2gvS2NvbmZpZyBiL3NvdW5kL3NoL0tjb25maWcKaW5kZXggYjdlMDhlZi4uY2ZjMTQzOSAxMDA2NDQKLS0tIGEvc291bmQvc2gvS2NvbmZpZworKysgYi9zb3VuZC9zaC9LY29uZmlnCkBAIC0xLDE0ICsxLDIyIEBACiAjIEFMU0EgU0ggZHJpdmVycwogCi1tZW51ICJTVVBFUkggZGV2aWNlcyIKLQlkZXBlbmRzIG9uIFNORCE9biAmJiBTVVBFUkgKK21lbnVjb25maWcgU05EX1NVUEVSSAorCWJvb2wgIlNVUEVSSCBzb3VuZCBkZXZpY2VzIgorCWRlcGVuZHMgb24gU1VQRVJICisJZGVmYXVsdCB5CisJaGVscAorCSAgU3VwcG9ydCBmb3Igc291bmQgZGV2aWNlcyBzcGVjaWZpYyB0byBTVVBFUkggYXJjaGl0ZWN0dXJlcy4KKwkgIERyaXZlcnMgdGhhdCBhcmUgaW1wbGVtZW50ZWQgb24gQVNvQyBjYW4gYmUgZm91bmQgaW4KKwkgICJBTFNBIGZvciBTb0MgYXVkaW8gc3VwcG9ydCIgc2VjdGlvbi4KKworaWYgU05EX1NVUEVSSAogCiBjb25maWcgU05EX0FJQ0EKIAl0cmlzdGF0ZSAiRHJlYW1jYXN0IFlhbWFoYSBBSUNBIHNvdW5kIgotCWRlcGVuZHMgb24gU0hfRFJFQU1DQVNUICYmIFNORAorCWRlcGVuZHMgb24gU0hfRFJFQU1DQVNUCiAJc2VsZWN0IFNORF9QQ00KIAloZWxwCiAJICBBTFNBIFNvdW5kIGRyaXZlciBmb3IgdGhlIFNFR0EgRHJlYW1jYXN0IGNvbnNvbGUuCiAKLWVuZG1lbnUKK2VuZGlmCSMgU05EX1NVUEVSSAogCmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvS2NvbmZpZyBiL3NvdW5kL3NvYy9LY29uZmlnCmluZGV4IDE4ZjI4YWMuLmY3NDM1MzAgMTAwNjQ0Ci0tLSBhL3NvdW5kL3NvYy9LY29uZmlnCisrKyBiL3NvdW5kL3NvYy9LY29uZmlnCkBAIC0yLDE1ICsyLDggQEAKICMgU29DIGF1ZGlvIGNvbmZpZ3VyYXRpb24KICMKIAotbWVudSAiU3lzdGVtIG9uIENoaXAgYXVkaW8gc3VwcG9ydCIKLQlkZXBlbmRzIG9uIFNORCE9bgotCi1jb25maWcgU05EX1NPQ19BQzk3X0JVUwotCWJvb2wKLQotY29uZmlnIFNORF9TT0MKK21lbnVjb25maWcgU05EX1NPQwogCXRyaXN0YXRlICJBTFNBIGZvciBTb0MgYXVkaW8gc3VwcG9ydCIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfUENNCiAJLS0taGVscC0tLQogCkBAIC0yMyw4ICsxNiwxNSBAQAogCSAgVGhpcyBBU29DIGF1ZGlvIHN1cHBvcnQgY2FuIGFsc28gYmUgYnVpbHQgYXMgYSBtb2R1bGUuICBJZiBzbywgdGhlIG1vZHVsZQogCSAgd2lsbCBiZSBjYWxsZWQgc25kLXNvYy1jb3JlLgogCitpZiBTTkRfU09DCisKK2NvbmZpZyBTTkRfU09DX0FDOTdfQlVTCisJYm9vbAorCiAjIEFsbCB0aGUgc3VwcG9ydGVkIFNvYydzCitzb3VyY2UgInNvdW5kL3NvYy9hdDMyL0tjb25maWciCiBzb3VyY2UgInNvdW5kL3NvYy9hdDkxL0tjb25maWciCitzb3VyY2UgInNvdW5kL3NvYy9hdTF4L0tjb25maWciCiBzb3VyY2UgInNvdW5kL3NvYy9weGEvS2NvbmZpZyIKIHNvdXJjZSAic291bmQvc29jL3MzYzI0eHgvS2NvbmZpZyIKIHNvdXJjZSAic291bmQvc29jL3NoL0tjb25maWciCkBAIC0zNSw0ICszNSw1IEBACiAjIFN1cHBvcnRlZCBjb2RlY3MKIHNvdXJjZSAic291bmQvc29jL2NvZGVjcy9LY29uZmlnIgogCi1lbmRtZW51CitlbmRpZgkjIFNORF9TT0MKKwpkaWZmIC0tZ2l0IGEvc291bmQvc29jL01ha2VmaWxlIGIvc291bmQvc29jL01ha2VmaWxlCmluZGV4IDc4MmRiMjEuLjkzM2E2NmQgMTAwNjQ0Ci0tLSBhL3NvdW5kL3NvYy9NYWtlZmlsZQorKysgYi9zb3VuZC9zb2MvTWFrZWZpbGUKQEAgLTEsNCArMSw1IEBACiBzbmQtc29jLWNvcmUtb2JqcyA6PSBzb2MtY29yZS5vIHNvYy1kYXBtLm8KIAogb2JqLSQoQ09ORklHX1NORF9TT0MpCSs9IHNuZC1zb2MtY29yZS5vCi1vYmotJChDT05GSUdfU05EX1NPQykJKz0gY29kZWNzLyBhdDkxLyBweGEvIHMzYzI0eHgvIHNoLyBmc2wvIGRhdmluY2kvIG9tYXAvCitvYmotJChDT05GSUdfU05EX1NPQykJKz0gY29kZWNzLyBhdDMyLyBhdDkxLyBweGEvIHMzYzI0eHgvIHNoLyBmc2wvIGRhdmluY2kvCitvYmotJChDT05GSUdfU05EX1NPQykJKz0gb21hcC8gYXUxeC8KZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9hdDMyL0tjb25maWcgYi9zb3VuZC9zb2MvYXQzMi9LY29uZmlnCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIwNzY1ZTgKLS0tIC9kZXYvbnVsbAorKysgYi9zb3VuZC9zb2MvYXQzMi9LY29uZmlnCkBAIC0wLDAgKzEsMzQgQEAKK2NvbmZpZyBTTkRfQVQzMl9TT0MKKyAgICAgICAgdHJpc3RhdGUgIlNvQyBBdWRpbyBmb3IgdGhlIEF0bWVsIEFUMzIgU3lzdGVtLW9uLWEtQ2hpcCIKKyAgICAgICAgZGVwZW5kcyBvbiBBVlIzMiAmJiBTTkRfU09DCisgICAgICAgIGhlbHAKKyAgICAgICAgICBTYXkgWSBvciBNIGlmIHlvdSB3YW50IHRvIGFkZCBzdXBwb3J0IGZvciBjb2RlY3MgYXR0YWNoZWQgdG8gCisgICAgICAgICAgdGhlIEFUMzIgU1NDIGludGVyZmFjZS4gIFlvdSB3aWxsIGFsc28gbmVlZCB0bworICAgICAgICAgIHRvIHNlbGVjdCB0aGUgYXVkaW8gaW50ZXJmYWNlcyB0byBzdXBwb3J0IGJlbG93LgorCisKK2NvbmZpZyBTTkRfQVQzMl9TT0NfU1NDCisgICAgICAgIHRyaXN0YXRlCisKKworCitjb25maWcgU05EX0FUMzJfU09DX1BMQVlQQVEKKyAgICAgICAgdHJpc3RhdGUgIlNvQyBBdWRpbyBzdXBwb3J0IGZvciBQbGF5UGFxIHdpdGggV004NTEwIgorICAgICAgICBkZXBlbmRzIG9uIFNORF9BVDMyX1NPQyAmJiBCT0FSRF9QTEFZUEFRCisgICAgICAgIHNlbGVjdCBTTkRfQVQzMl9TT0NfU1NDCisgICAgICAgIHNlbGVjdCBTTkRfU09DX1dNODUxMAorICAgICAgICBoZWxwCisgICAgICAgICAgU2F5IFkgb3IgTSBoZXJlIGlmIHlvdSB3YW50IHRvIGFkZCBzdXBwb3J0IGZvciBTb0MgYXVkaW8KKyAgICAgICAgICBvbiB0aGUgTFJTIFBsYXlQYXEuCisKKworCitjb25maWcgU05EX0FUMzJfU09DX1BMQVlQQVFfU0xBVkUKKyAgICAgICAgYm9vbCAiUnVuIENPREVDIG9uIFBsYXlQYXEgaW4gc2xhdmUgbW9kZSIKKyAgICAgICAgZGVwZW5kcyBvbiBTTkRfQVQzMl9TT0NfUExBWVBBUQorICAgICAgICBkZWZhdWx0IG4KKyAgICAgICAgaGVscAorICAgICAgICAgIFNheSBZIGlmIHlvdSB3YW50IHRvIHJ1biB3aXRoIHRoZSBBVDMyIFNTQyBnZW5lcmF0aW5nIHRoZSBCQ0xLCisgICAgICAgICAgYW5kIEZSQU1FIHNpZ25hbHMgb24gdGhlIFBsYXlQYXEuICBVbmxlc3MgeW91IHdhbnQgdG8gcGxheQorICAgICAgICAgIHdpdGggdGhlIEFUMzIgYXMgdGhlIFNTQyBtYXN0ZXIsIHlvdSBwcm9iYWJseSB3YW50IHRvIHNheSBOIGhlcmUsCisgICAgICAgICAgYXMgdGhpcyB3aWxsIGdpdmUgeW91IGJldHRlciBzb3VuZCBxdWFsaXR5LgpkaWZmIC0tZ2l0IGEvc291bmQvc29jL2F0MzIvTWFrZWZpbGUgYi9zb3VuZC9zb2MvYXQzMi9NYWtlZmlsZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMDNlNTVlCi0tLSAvZGV2L251bGwKKysrIGIvc291bmQvc29jL2F0MzIvTWFrZWZpbGUKQEAgLTAsMCArMSwxMSBAQAorIyBBVDMyIFBsYXRmb3JtIFN1cHBvcnQKK3NuZC1zb2MtYXQzMi1vYmpzIDo9IGF0MzItcGNtLm8KK3NuZC1zb2MtYXQzMi1zc2Mtb2JqcyA6PSBhdDMyLXNzYy5vCisKK29iai0kKENPTkZJR19TTkRfQVQzMl9TT0MpICs9IHNuZC1zb2MtYXQzMi5vCitvYmotJChDT05GSUdfU05EX0FUMzJfU09DX1NTQykgKz0gc25kLXNvYy1hdDMyLXNzYy5vCisKKyMgQVQzMiBNYWNoaW5lIFN1cHBvcnQKK3NuZC1zb2MtcGxheXBhcS1vYmpzIDo9IHBsYXlwYXFfd204NTEwLm8KKworb2JqLSQoQ09ORklHX1NORF9BVDMyX1NPQ19QTEFZUEFRKSArPSBzbmQtc29jLXBsYXlwYXEubwpkaWZmIC0tZ2l0IGEvc291bmQvc29jL2F0MzIvYXQzMi1wY20uYyBiL3NvdW5kL3NvYy9hdDMyL2F0MzItcGNtLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDM1ZjFkYQotLS0gL2Rldi9udWxsCisrKyBiL3NvdW5kL3NvYy9hdDMyL2F0MzItcGNtLmMKQEAgLTAsMCArMSw0OTEgQEAKKy8qIHNvdW5kL3NvYy9hdDMyL2F0MzItcGNtLmMKKyAqIEFTb0MgUENNIGludGVyZmFjZSBmb3IgQXRtZWwgQVQzMiBTb0MKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggTG9uZyBSYW5nZSBTeXN0ZW1zCisgKiAgICBHZW9mZnJleSBXb3NzdW0gPGd3b3NzdW1AYWNtLm9yZz4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMKKyAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorICoKKyAqIE5vdGUgdGhhdCB0aGlzIGlzIGJhc2ljYWxseSBhIHBvcnQgb2YgdGhlIHNvdW5kL3NvYy9hdDkxLXBjbS5jIHRvCisgKiB0aGUgQVZSMzIga2VybmVsLiAgVGhhbmtzIHRvIEZyYW5rIE1hbmRhcmlubyBmb3IgdGhhdCBjb2RlLgorICovCisKKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CisjaW5jbHVkZSA8bGludXgvc2xhYi5oPgorI2luY2x1ZGUgPGxpbnV4L2RtYS1tYXBwaW5nLmg+CisjaW5jbHVkZSA8bGludXgvYXRtZWxfcGRjLmg+CisKKyNpbmNsdWRlIDxzb3VuZC9jb3JlLmg+CisjaW5jbHVkZSA8c291bmQvcGNtLmg+CisjaW5jbHVkZSA8c291bmQvcGNtX3BhcmFtcy5oPgorI2luY2x1ZGUgPHNvdW5kL3NvYy5oPgorCisjaW5jbHVkZSAiYXQzMi1wY20uaCIKKworCisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXAorICogSGFyZHdhcmUgZGVmaW5pdGlvbgorXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisvKiBUT0RPOiBUaGVzZSB2YWx1ZXMgd2VyZSB0YWtlbiBmcm9tIHRoZSBBVDkxIHBsYXRmb3JtIGRyaXZlciwgY2hlY2sKKyAqCSB0aGVtIGFnYWluc3QgcmVhbCB2YWx1ZXMgZm9yIEFUMzIKKyAqLworc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfcGNtX2hhcmR3YXJlIGF0MzJfcGNtX2hhcmR3YXJlID0geworCS5pbmZvID0gKFNORFJWX1BDTV9JTkZPX01NQVAgfAorCQkgU05EUlZfUENNX0lORk9fTU1BUF9WQUxJRCB8CisJCSBTTkRSVl9QQ01fSU5GT19JTlRFUkxFQVZFRCB8CisJCSBTTkRSVl9QQ01fSU5GT19CTE9DS19UUkFOU0ZFUiB8CisJCSBTTkRSVl9QQ01fSU5GT19QQVVTRSksCisKKwkuZm9ybWF0cyA9IFNORFJWX1BDTV9GTVRCSVRfUzE2LAorCS5wZXJpb2RfYnl0ZXNfbWluID0gMzIsCisJLnBlcmlvZF9ieXRlc19tYXggPSA4MTkyLAkvKiA1MTIgZnJhbWVzICogMTYgYnl0ZXMgLyBmcmFtZSAqLworCS5wZXJpb2RzX21pbiA9IDIsCisJLnBlcmlvZHNfbWF4ID0gMTAyNCwKKwkuYnVmZmVyX2J5dGVzX21heCA9IDMyICogMTAyNCwKK307CisKKworCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlwKKyAqIERhdGEgdHlwZXMKK1wqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworc3RydWN0IGF0MzJfcnVudGltZV9kYXRhIHsKKwlzdHJ1Y3QgYXQzMl9wY21fZG1hX3BhcmFtcyAqcGFyYW1zOworCWRtYV9hZGRyX3QgZG1hX2J1ZmZlcjsJLyogcGh5c2ljYWwgYWRkcmVzcyBvZiBETUEgYnVmZmVyICovCisJZG1hX2FkZHJfdCBkbWFfYnVmZmVyX2VuZDsgLyogZmlyc3QgYWRkcmVzcyBiZXlvbmQgRE1BIGJ1ZmZlciAqLworCXNpemVfdCBwZXJpb2Rfc2l6ZTsKKworCWRtYV9hZGRyX3QgcGVyaW9kX3B0cjsJLyogcGh5c2ljYWwgYWRkcmVzcyBvZiBuZXh0IHBlcmlvZCAqLworCWludCBwZXJpb2RzOwkJLyogcGVyaW9kIGluZGV4IG9mIHBlcmlvZF9wdHIgKi8KKworCS8qIFNhdmUgUERDIHJlZ2lzdGVycyAoZm9yIHBvd2VyIG1hbmFnZW1lbnQpICovCisJdTMyIHBkY194cHJfc2F2ZTsKKwl1MzIgcGRjX3hjcl9zYXZlOworCXUzMiBwZGNfeG5wcl9zYXZlOworCXUzMiBwZGNfeG5jcl9zYXZlOworfTsKKworCisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXAorICogSGVscGVyIGZ1bmN0aW9ucworXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCitzdGF0aWMgaW50IGF0MzJfcGNtX3ByZWFsbG9jYXRlX2RtYV9idWZmZXIoc3RydWN0IHNuZF9wY20gKnBjbSwgaW50IHN0cmVhbSkKK3sKKwlzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSA9IHBjbS0+c3RyZWFtc1tzdHJlYW1dLnN1YnN0cmVhbTsKKwlzdHJ1Y3Qgc25kX2RtYV9idWZmZXIgKmRtYWJ1ZiA9ICZzdWJzdHJlYW0tPmRtYV9idWZmZXI7CisJc2l6ZV90IHNpemUgPSBhdDMyX3BjbV9oYXJkd2FyZS5idWZmZXJfYnl0ZXNfbWF4OworCisJZG1hYnVmLT5kZXYudHlwZSA9IFNORFJWX0RNQV9UWVBFX0RFVjsKKwlkbWFidWYtPmRldi5kZXYgPSBwY20tPmNhcmQtPmRldjsKKwlkbWFidWYtPnByaXZhdGVfZGF0YSA9IE5VTEw7CisJZG1hYnVmLT5hcmVhID0gZG1hX2FsbG9jX2NvaGVyZW50KHBjbS0+Y2FyZC0+ZGV2LCBzaXplLAorCQkJCQkgICZkbWFidWYtPmFkZHIsIEdGUF9LRVJORUwpOworCXByX2RlYnVnKCJhdDMyX3BjbTogcHJlYWxsb2NhdGVfZG1hX2J1ZmZlcjogIgorCQkgImFyZWE9JXAsIGFkZHI9JXAsIHNpemU9JWxkXG4iLAorCQkgKHZvaWQgKilkbWFidWYtPmFyZWEsICh2b2lkICopZG1hYnVmLT5hZGRyLCBzaXplKTsKKworCWlmICghZG1hYnVmLT5hcmVhKQorCQlyZXR1cm4gLUVOT01FTTsKKworCWRtYWJ1Zi0+Ynl0ZXMgPSBzaXplOworCXJldHVybiAwOworfQorCisKKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcCisgKiBJU1IKK1wqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworc3RhdGljIHZvaWQgYXQzMl9wY21fZG1hX2lycSh1MzIgc3NjX3NyLCBzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSkKK3sKKwlzdHJ1Y3Qgc25kX3BjbV9ydW50aW1lICpydGQgPSBzdWJzdHJlYW0tPnJ1bnRpbWU7CisJc3RydWN0IGF0MzJfcnVudGltZV9kYXRhICpwcnRkID0gcnRkLT5wcml2YXRlX2RhdGE7CisJc3RydWN0IGF0MzJfcGNtX2RtYV9wYXJhbXMgKnBhcmFtcyA9IHBydGQtPnBhcmFtczsKKwlzdGF0aWMgaW50IGNvdW50OworCisJY291bnQrKzsKKwlpZiAoc3NjX3NyICYgcGFyYW1zLT5tYXNrLT5zc2NfZW5kYnVmKSB7CisJCXByX3dhcm5pbmcoImF0MzItcGNtOiBidWZmZXIgJXMgb24gJXMgKFNTQ19TUj0lI3gsIGNvdW50PSVkKVxuIiwKKwkJCSAgIHN1YnN0cmVhbS0+c3RyZWFtID09IFNORFJWX1BDTV9TVFJFQU1fUExBWUJBQ0sgPworCQkJICAgInVuZGVycnVuIiA6ICJvdmVycnVuIiwgcGFyYW1zLT5uYW1lLCBzc2Nfc3IsIGNvdW50KTsKKworCQkvKiByZS1zdGFydCB0aGUgUERDICovCisJCXNzY193cml0ZXgocGFyYW1zLT5zc2MtPnJlZ3MsIEFUTUVMX1BEQ19QVENSLAorCQkJICAgcGFyYW1zLT5tYXNrLT5wZGNfZGlzYWJsZSk7CisJCXBydGQtPnBlcmlvZF9wdHIgKz0gcHJ0ZC0+cGVyaW9kX3NpemU7CisJCWlmIChwcnRkLT5wZXJpb2RfcHRyID49IHBydGQtPmRtYV9idWZmZXJfZW5kKQorCQkJcHJ0ZC0+cGVyaW9kX3B0ciA9IHBydGQtPmRtYV9idWZmZXI7CisKKworCQlzc2Nfd3JpdGV4KHBhcmFtcy0+c3NjLT5yZWdzLCBwYXJhbXMtPnBkYy0+eHByLAorCQkJICAgcHJ0ZC0+cGVyaW9kX3B0cik7CisJCXNzY193cml0ZXgocGFyYW1zLT5zc2MtPnJlZ3MsIHBhcmFtcy0+cGRjLT54Y3IsCisJCQkgICBwcnRkLT5wZXJpb2Rfc2l6ZSAvIHBhcmFtcy0+cGRjX3hmZXJfc2l6ZSk7CisJCXNzY193cml0ZXgocGFyYW1zLT5zc2MtPnJlZ3MsIEFUTUVMX1BEQ19QVENSLAorCQkJICAgcGFyYW1zLT5tYXNrLT5wZGNfZW5hYmxlKTsKKwl9CisKKworCWlmIChzc2Nfc3IgJiBwYXJhbXMtPm1hc2stPnNzY19lbmR4KSB7CisJCS8qIExvYWQgdGhlIFBEQyBuZXh0IHBvaW50ZXIgYW5kIGNvdW50ZXIgcmVnaXN0ZXJzICovCisJCXBydGQtPnBlcmlvZF9wdHIgKz0gcHJ0ZC0+cGVyaW9kX3NpemU7CisJCWlmIChwcnRkLT5wZXJpb2RfcHRyID49IHBydGQtPmRtYV9idWZmZXJfZW5kKQorCQkJcHJ0ZC0+cGVyaW9kX3B0ciA9IHBydGQtPmRtYV9idWZmZXI7CisJCXNzY193cml0ZXgocGFyYW1zLT5zc2MtPnJlZ3MsIHBhcmFtcy0+cGRjLT54bnByLAorCQkJICAgcHJ0ZC0+cGVyaW9kX3B0cik7CisJCXNzY193cml0ZXgocGFyYW1zLT5zc2MtPnJlZ3MsIHBhcmFtcy0+cGRjLT54bmNyLAorCQkJICAgcHJ0ZC0+cGVyaW9kX3NpemUgLyBwYXJhbXMtPnBkY194ZmVyX3NpemUpOworCX0KKworCisJc25kX3BjbV9wZXJpb2RfZWxhcHNlZChzdWJzdHJlYW0pOworfQorCisKKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcCisgKiBQQ00gb3BlcmF0aW9ucworXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCitzdGF0aWMgaW50IGF0MzJfcGNtX2h3X3BhcmFtcyhzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSwKKwkJCSAgICAgIHN0cnVjdCBzbmRfcGNtX2h3X3BhcmFtcyAqcGFyYW1zKQoreworCXN0cnVjdCBzbmRfcGNtX3J1bnRpbWUgKnJ1bnRpbWUgPSBzdWJzdHJlYW0tPnJ1bnRpbWU7CisJc3RydWN0IGF0MzJfcnVudGltZV9kYXRhICpwcnRkID0gcnVudGltZS0+cHJpdmF0ZV9kYXRhOworCXN0cnVjdCBzbmRfc29jX3BjbV9ydW50aW1lICpydGQgPSBzdWJzdHJlYW0tPnByaXZhdGVfZGF0YTsKKworCS8qIHRoaXMgbWF5IGdldCBjYWxsZWQgc2V2ZXJhbCB0aW1lcyBieSBvc3MgZW11bGF0aW9uCisJICogd2l0aCBkaWZmZXJlbnQgcGFyYW1zCisJICovCisJc25kX3BjbV9zZXRfcnVudGltZV9idWZmZXIoc3Vic3RyZWFtLCAmc3Vic3RyZWFtLT5kbWFfYnVmZmVyKTsKKwlydW50aW1lLT5kbWFfYnl0ZXMgPSBwYXJhbXNfYnVmZmVyX2J5dGVzKHBhcmFtcyk7CisKKwlwcnRkLT5wYXJhbXMgPSBydGQtPmRhaS0+Y3B1X2RhaS0+ZG1hX2RhdGE7CisJcHJ0ZC0+cGFyYW1zLT5kbWFfaW50cl9oYW5kbGVyID0gYXQzMl9wY21fZG1hX2lycTsKKworCXBydGQtPmRtYV9idWZmZXIgPSBydW50aW1lLT5kbWFfYWRkcjsKKwlwcnRkLT5kbWFfYnVmZmVyX2VuZCA9IHJ1bnRpbWUtPmRtYV9hZGRyICsgcnVudGltZS0+ZG1hX2J5dGVzOworCXBydGQtPnBlcmlvZF9zaXplID0gcGFyYW1zX3BlcmlvZF9ieXRlcyhwYXJhbXMpOworCisJcHJfZGVidWcoImh3X3BhcmFtczogRE1BIGZvciAlcyBpbml0aWFsaXplZCAiCisJCSAiKGRtYV9ieXRlcz0lbGQsIHBlcmlvZF9zaXplPSVsZClcbiIsCisJCSBwcnRkLT5wYXJhbXMtPm5hbWUsIHJ1bnRpbWUtPmRtYV9ieXRlcywgcHJ0ZC0+cGVyaW9kX3NpemUpOworCisJcmV0dXJuIDA7Cit9CisKKworCitzdGF0aWMgaW50IGF0MzJfcGNtX2h3X2ZyZWUoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0pCit7CisJc3RydWN0IGF0MzJfcnVudGltZV9kYXRhICpwcnRkID0gc3Vic3RyZWFtLT5ydW50aW1lLT5wcml2YXRlX2RhdGE7CisJc3RydWN0IGF0MzJfcGNtX2RtYV9wYXJhbXMgKnBhcmFtcyA9IHBydGQtPnBhcmFtczsKKworCWlmIChwYXJhbXMgIT0gTlVMTCkgeworCQlzc2Nfd3JpdGV4KHBhcmFtcy0+c3NjLT5yZWdzLCBTU0NfUERDX1BUQ1IsCisJCQkgICBwYXJhbXMtPm1hc2stPnBkY19kaXNhYmxlKTsKKwkJcHJ0ZC0+cGFyYW1zLT5kbWFfaW50cl9oYW5kbGVyID0gTlVMTDsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworCisKK3N0YXRpYyBpbnQgYXQzMl9wY21fcHJlcGFyZShzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSkKK3sKKwlzdHJ1Y3QgYXQzMl9ydW50aW1lX2RhdGEgKnBydGQgPSBzdWJzdHJlYW0tPnJ1bnRpbWUtPnByaXZhdGVfZGF0YTsKKwlzdHJ1Y3QgYXQzMl9wY21fZG1hX3BhcmFtcyAqcGFyYW1zID0gcHJ0ZC0+cGFyYW1zOworCisJc3NjX3dyaXRleChwYXJhbXMtPnNzYy0+cmVncywgU1NDX0lEUiwKKwkJICAgcGFyYW1zLT5tYXNrLT5zc2NfZW5keCB8IHBhcmFtcy0+bWFzay0+c3NjX2VuZGJ1Zik7CisJc3NjX3dyaXRleChwYXJhbXMtPnNzYy0+cmVncywgQVRNRUxfUERDX1BUQ1IsCisJCSAgIHBhcmFtcy0+bWFzay0+cGRjX2Rpc2FibGUpOworCisJcmV0dXJuIDA7Cit9CisKKworc3RhdGljIGludCBhdDMyX3BjbV90cmlnZ2VyKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtLCBpbnQgY21kKQoreworCXN0cnVjdCBzbmRfcGNtX3J1bnRpbWUgKnJ0ZCA9IHN1YnN0cmVhbS0+cnVudGltZTsKKwlzdHJ1Y3QgYXQzMl9ydW50aW1lX2RhdGEgKnBydGQgPSBydGQtPnByaXZhdGVfZGF0YTsKKwlzdHJ1Y3QgYXQzMl9wY21fZG1hX3BhcmFtcyAqcGFyYW1zID0gcHJ0ZC0+cGFyYW1zOworCWludCByZXQgPSAwOworCisJcHJfZGVidWcoImF0MzJfcGNtX3RyaWdnZXI6IGJ1ZmZlcl9zaXplID0gJWxkLCAiCisJCSAiZG1hX2FyZWEgPSAlcCwgZG1hX2J5dGVzID0gJWxkXG4iLAorCQkgcnRkLT5idWZmZXJfc2l6ZSwgcnRkLT5kbWFfYXJlYSwgcnRkLT5kbWFfYnl0ZXMpOworCisJc3dpdGNoIChjbWQpIHsKKwljYXNlIFNORFJWX1BDTV9UUklHR0VSX1NUQVJUOgorCQlwcnRkLT5wZXJpb2RfcHRyID0gcHJ0ZC0+ZG1hX2J1ZmZlcjsKKworCQlzc2Nfd3JpdGV4KHBhcmFtcy0+c3NjLT5yZWdzLCBwYXJhbXMtPnBkYy0+eHByLAorCQkJICAgcHJ0ZC0+cGVyaW9kX3B0cik7CisJCXNzY193cml0ZXgocGFyYW1zLT5zc2MtPnJlZ3MsIHBhcmFtcy0+cGRjLT54Y3IsCisJCQkgICBwcnRkLT5wZXJpb2Rfc2l6ZSAvIHBhcmFtcy0+cGRjX3hmZXJfc2l6ZSk7CisKKwkJcHJ0ZC0+cGVyaW9kX3B0ciArPSBwcnRkLT5wZXJpb2Rfc2l6ZTsKKwkJc3NjX3dyaXRleChwYXJhbXMtPnNzYy0+cmVncywgcGFyYW1zLT5wZGMtPnhucHIsCisJCQkgICBwcnRkLT5wZXJpb2RfcHRyKTsKKwkJc3NjX3dyaXRleChwYXJhbXMtPnNzYy0+cmVncywgcGFyYW1zLT5wZGMtPnhuY3IsCisJCQkgICBwcnRkLT5wZXJpb2Rfc2l6ZSAvIHBhcmFtcy0+cGRjX3hmZXJfc2l6ZSk7CisKKwkJcHJfZGVidWcoInRyaWdnZXI6IHBlcmlvZF9wdHI9JWx4LCB4cHI9JXgsICIKKwkJCSAieGNyPSVkLCB4bnByPSV4LCB4bmNyPSVkXG4iLAorCQkJICh1bnNpZ25lZCBsb25nKXBydGQtPnBlcmlvZF9wdHIsCisJCQkgc3NjX3JlYWR4KHBhcmFtcy0+c3NjLT5yZWdzLCBwYXJhbXMtPnBkYy0+eHByKSwKKwkJCSBzc2NfcmVhZHgocGFyYW1zLT5zc2MtPnJlZ3MsIHBhcmFtcy0+cGRjLT54Y3IpLAorCQkJIHNzY19yZWFkeChwYXJhbXMtPnNzYy0+cmVncywgcGFyYW1zLT5wZGMtPnhucHIpLAorCQkJIHNzY19yZWFkeChwYXJhbXMtPnNzYy0+cmVncywgcGFyYW1zLT5wZGMtPnhuY3IpKTsKKworCQlzc2Nfd3JpdGV4KHBhcmFtcy0+c3NjLT5yZWdzLCBTU0NfSUVSLAorCQkJICAgcGFyYW1zLT5tYXNrLT5zc2NfZW5keCB8IHBhcmFtcy0+bWFzay0+c3NjX2VuZGJ1Zik7CisJCXNzY193cml0ZXgocGFyYW1zLT5zc2MtPnJlZ3MsIFNTQ19QRENfUFRDUiwKKwkJCSAgIHBhcmFtcy0+bWFzay0+cGRjX2VuYWJsZSk7CisKKwkJcHJfZGVidWcoInNyPSV4LCBpbXI9JXhcbiIsCisJCQkgc3NjX3JlYWR4KHBhcmFtcy0+c3NjLT5yZWdzLCBTU0NfU1IpLAorCQkJIHNzY19yZWFkeChwYXJhbXMtPnNzYy0+cmVncywgU1NDX0lFUikpOworCQlicmVhazsJCS8qIFNORFJWX1BDTV9UUklHR0VSX1NUQVJUICovCisKKworCisJY2FzZSBTTkRSVl9QQ01fVFJJR0dFUl9TVE9QOgorCWNhc2UgU05EUlZfUENNX1RSSUdHRVJfU1VTUEVORDoKKwljYXNlIFNORFJWX1BDTV9UUklHR0VSX1BBVVNFX1BVU0g6CisJCXNzY193cml0ZXgocGFyYW1zLT5zc2MtPnJlZ3MsIEFUTUVMX1BEQ19QVENSLAorCQkJICAgcGFyYW1zLT5tYXNrLT5wZGNfZGlzYWJsZSk7CisJCWJyZWFrOworCisKKwljYXNlIFNORFJWX1BDTV9UUklHR0VSX1JFU1VNRToKKwljYXNlIFNORFJWX1BDTV9UUklHR0VSX1BBVVNFX1JFTEVBU0U6CisJCXNzY193cml0ZXgocGFyYW1zLT5zc2MtPnJlZ3MsIEFUTUVMX1BEQ19QVENSLAorCQkJICAgcGFyYW1zLT5tYXNrLT5wZGNfZW5hYmxlKTsKKwkJYnJlYWs7CisKKwlkZWZhdWx0OgorCQlyZXQgPSAtRUlOVkFMOworCX0KKworCXJldHVybiByZXQ7Cit9CisKKworCitzdGF0aWMgc25kX3BjbV91ZnJhbWVzX3QgYXQzMl9wY21fcG9pbnRlcihzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSkKK3sKKwlzdHJ1Y3Qgc25kX3BjbV9ydW50aW1lICpydW50aW1lID0gc3Vic3RyZWFtLT5ydW50aW1lOworCXN0cnVjdCBhdDMyX3J1bnRpbWVfZGF0YSAqcHJ0ZCA9IHJ1bnRpbWUtPnByaXZhdGVfZGF0YTsKKwlzdHJ1Y3QgYXQzMl9wY21fZG1hX3BhcmFtcyAqcGFyYW1zID0gcHJ0ZC0+cGFyYW1zOworCWRtYV9hZGRyX3QgcHRyOworCXNuZF9wY21fdWZyYW1lc190IHg7CisKKwlwdHIgPSAoZG1hX2FkZHJfdCkgc3NjX3JlYWR4KHBhcmFtcy0+c3NjLT5yZWdzLCBwYXJhbXMtPnBkYy0+eHByKTsKKwl4ID0gYnl0ZXNfdG9fZnJhbWVzKHJ1bnRpbWUsIHB0ciAtIHBydGQtPmRtYV9idWZmZXIpOworCisJaWYgKHggPT0gcnVudGltZS0+YnVmZmVyX3NpemUpCisJCXggPSAwOworCisJcmV0dXJuIHg7Cit9CisKKworCitzdGF0aWMgaW50IGF0MzJfcGNtX29wZW4oc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0pCit7CisJc3RydWN0IHNuZF9wY21fcnVudGltZSAqcnVudGltZSA9IHN1YnN0cmVhbS0+cnVudGltZTsKKwlzdHJ1Y3QgYXQzMl9ydW50aW1lX2RhdGEgKnBydGQ7CisJaW50IHJldCA9IDA7CisKKwlzbmRfc29jX3NldF9ydW50aW1lX2h3cGFyYW1zKHN1YnN0cmVhbSwgJmF0MzJfcGNtX2hhcmR3YXJlKTsKKworCS8qIGVuc3VyZSB0aGF0IGJ1ZmZlciBzaXplIGlzIGEgbXVsdGlwbGUgb2YgcGVyaW9kIHNpemUgKi8KKwlyZXQgPSBzbmRfcGNtX2h3X2NvbnN0cmFpbnRfaW50ZWdlcihydW50aW1lLAorCQkJCQkgICAgU05EUlZfUENNX0hXX1BBUkFNX1BFUklPRFMpOworCWlmIChyZXQgPCAwKQorCQlnb3RvIG91dDsKKworCXBydGQgPSBremFsbG9jKHNpemVvZigqcHJ0ZCksIEdGUF9LRVJORUwpOworCWlmIChwcnRkID09IE5VTEwpIHsKKwkJcmV0ID0gLUVOT01FTTsKKwkJZ290byBvdXQ7CisJfQorCXJ1bnRpbWUtPnByaXZhdGVfZGF0YSA9IHBydGQ7CisKKworb3V0OgorCXJldHVybiByZXQ7Cit9CisKKworCitzdGF0aWMgaW50IGF0MzJfcGNtX2Nsb3NlKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtKQoreworCXN0cnVjdCBhdDMyX3J1bnRpbWVfZGF0YSAqcHJ0ZCA9IHN1YnN0cmVhbS0+cnVudGltZS0+cHJpdmF0ZV9kYXRhOworCisJa2ZyZWUocHJ0ZCk7CisJcmV0dXJuIDA7Cit9CisKKworc3RhdGljIGludCBhdDMyX3BjbV9tbWFwKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtLAorCQkJIHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hKQoreworCXJldHVybiByZW1hcF9wZm5fcmFuZ2Uodm1hLCB2bWEtPnZtX3N0YXJ0LAorCQkJICAgICAgIHN1YnN0cmVhbS0+ZG1hX2J1ZmZlci5hZGRyID4+IFBBR0VfU0hJRlQsCisJCQkgICAgICAgdm1hLT52bV9lbmQgLSB2bWEtPnZtX3N0YXJ0LCB2bWEtPnZtX3BhZ2VfcHJvdCk7Cit9CisKKworCitzdGF0aWMgc3RydWN0IHNuZF9wY21fb3BzIGF0MzJfcGNtX29wcyA9IHsKKwkub3BlbiA9IGF0MzJfcGNtX29wZW4sCisJLmNsb3NlID0gYXQzMl9wY21fY2xvc2UsCisJLmlvY3RsID0gc25kX3BjbV9saWJfaW9jdGwsCisJLmh3X3BhcmFtcyA9IGF0MzJfcGNtX2h3X3BhcmFtcywKKwkuaHdfZnJlZSA9IGF0MzJfcGNtX2h3X2ZyZWUsCisJLnByZXBhcmUgPSBhdDMyX3BjbV9wcmVwYXJlLAorCS50cmlnZ2VyID0gYXQzMl9wY21fdHJpZ2dlciwKKwkucG9pbnRlciA9IGF0MzJfcGNtX3BvaW50ZXIsCisJLm1tYXAgPSBhdDMyX3BjbV9tbWFwLAorfTsKKworCisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXAorICogQVNvQyBwbGF0Zm9ybSBkcml2ZXIKK1wqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworc3RhdGljIHU2NCBhdDMyX3BjbV9kbWFtYXNrID0gMHhmZmZmZmZmZjsKKworc3RhdGljIGludCBhdDMyX3BjbV9uZXcoc3RydWN0IHNuZF9jYXJkICpjYXJkLAorCQkJc3RydWN0IHNuZF9zb2NfZGFpICpkYWksCisJCQlzdHJ1Y3Qgc25kX3BjbSAqcGNtKQoreworCWludCByZXQgPSAwOworCisJaWYgKCFjYXJkLT5kZXYtPmRtYV9tYXNrKQorCQljYXJkLT5kZXYtPmRtYV9tYXNrID0gJmF0MzJfcGNtX2RtYW1hc2s7CisJaWYgKCFjYXJkLT5kZXYtPmNvaGVyZW50X2RtYV9tYXNrKQorCQljYXJkLT5kZXYtPmNvaGVyZW50X2RtYV9tYXNrID0gMHhmZmZmZmZmZjsKKworCWlmIChkYWktPnBsYXliYWNrLmNoYW5uZWxzX21pbikgeworCQlyZXQgPSBhdDMyX3BjbV9wcmVhbGxvY2F0ZV9kbWFfYnVmZmVyKAorCQkJICBwY20sIFNORFJWX1BDTV9TVFJFQU1fUExBWUJBQ0spOworCQlpZiAocmV0KQorCQkJZ290byBvdXQ7CisJfQorCisJaWYgKGRhaS0+Y2FwdHVyZS5jaGFubmVsc19taW4pIHsKKwkJcHJfZGVidWcoImF0MzItcGNtOiBBbGxvY2F0aW5nIFBDTSBjYXB0dXJlIERNQSBidWZmZXJcbiIpOworCQlyZXQgPSBhdDMyX3BjbV9wcmVhbGxvY2F0ZV9kbWFfYnVmZmVyKAorCQkJICBwY20sIFNORFJWX1BDTV9TVFJFQU1fQ0FQVFVSRSk7CisJCWlmIChyZXQpCisJCQlnb3RvIG91dDsKKwl9CisKKworb3V0OgorCXJldHVybiByZXQ7Cit9CisKKworCitzdGF0aWMgdm9pZCBhdDMyX3BjbV9mcmVlX2RtYV9idWZmZXJzKHN0cnVjdCBzbmRfcGNtICpwY20pCit7CisJc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW07CisJc3RydWN0IHNuZF9kbWFfYnVmZmVyICpidWY7CisJaW50IHN0cmVhbTsKKworCWZvciAoc3RyZWFtID0gMDsgc3RyZWFtIDwgMjsgc3RyZWFtKyspIHsKKwkJc3Vic3RyZWFtID0gcGNtLT5zdHJlYW1zW3N0cmVhbV0uc3Vic3RyZWFtOworCQlpZiAoc3Vic3RyZWFtID09IE5VTEwpCisJCQljb250aW51ZTsKKworCQlidWYgPSAmc3Vic3RyZWFtLT5kbWFfYnVmZmVyOworCQlpZiAoIWJ1Zi0+YXJlYSkKKwkJCWNvbnRpbnVlOworCQlkbWFfZnJlZV9jb2hlcmVudChwY20tPmNhcmQtPmRldiwgYnVmLT5ieXRlcywKKwkJCQkgIGJ1Zi0+YXJlYSwgYnVmLT5hZGRyKTsKKwkJYnVmLT5hcmVhID0gTlVMTDsKKwl9Cit9CisKKworCisjaWZkZWYgQ09ORklHX1BNCitzdGF0aWMgaW50IGF0MzJfcGNtX3N1c3BlbmQoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwKKwkJCSAgICBzdHJ1Y3Qgc25kX3NvY19kYWkgKmRhaSkKK3sKKwlzdHJ1Y3Qgc25kX3BjbV9ydW50aW1lICpydW50aW1lID0gZGFpLT5ydW50aW1lOworCXN0cnVjdCBhdDMyX3J1bnRpbWVfZGF0YSAqcHJ0ZDsKKwlzdHJ1Y3QgYXQzMl9wY21fZG1hX3BhcmFtcyAqcGFyYW1zOworCisJaWYgKHJ1bnRpbWUgPT0gTlVMTCkKKwkJcmV0dXJuIDA7CisJcHJ0ZCA9IHJ1bnRpbWUtPnByaXZhdGVfZGF0YTsKKwlwYXJhbXMgPSBwcnRkLT5wYXJhbXM7CisKKwkvKiBEaXNhYmxlIHRoZSBQREMgYW5kIHNhdmUgdGhlIFBEQyByZWdpc3RlcnMgKi8KKwlzc2Nfd3JpdGV4KHBhcmFtcy0+c3NjLT5yZWdzLCBQRENfUFRDUiwgcGFyYW1zLT5tYXNrLT5wZGNfZGlzYWJsZSk7CisKKwlwcnRkLT5wZGNfeHByX3NhdmUgPSBzc2NfcmVhZHgocGFyYW1zLT5zc2MtPnJlZ3MsIHBhcmFtcy0+cGRjLT54cHIpOworCXBydGQtPnBkY194Y3Jfc2F2ZSA9IHNzY19yZWFkeChwYXJhbXMtPnNzYy0+cmVncywgcGFyYW1zLT5wZGMtPnhjcik7CisJcHJ0ZC0+cGRjX3hucHJfc2F2ZSA9IHNzY19yZWFkeChwYXJhbXMtPnNzYy0+cmVncywgcGFyYW1zLT5wZGMtPnhucHIpOworCXBydGQtPnBkY194bmNyX3NhdmUgPSBzc2NfcmVhZHgocGFyYW1zLT5zc2MtPnJlZ3MsIHBhcmFtcy0+cGRjLT54bmNyKTsKKworCXJldHVybiAwOworfQorCisKKworc3RhdGljIGludCBhdDMyX3BjbV9yZXN1bWUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwKKwkJCSAgIHN0cnVjdCBzbmRfc29jX2RhaSAqZGFpKQoreworCXN0cnVjdCBzbmRfcGNtX3J1bnRpbWUgKnJ1bnRpbWUgPSBkYWktPnJ1bnRpbWU7CisJc3RydWN0IGF0MzJfcnVudGltZV9kYXRhICpwcnRkOworCXN0cnVjdCBhdDMyX3BjbV9kbWFfcGFyYW1zICpwYXJhbXM7CisKKwlpZiAocnVudGltZSA9PSBOVUxMKQorCQlyZXR1cm4gMDsKKwlwcnRkID0gcnVudGltZS0+cHJpdmF0ZV9kYXRhOworCXBhcmFtcyA9IHBydGQtPnBhcmFtczsKKworCS8qIFJlc3RvcmUgdGhlIFBEQyByZWdpc3RlcnMgYW5kIGVuYWJsZSB0aGUgUERDICovCisJc3NjX3dyaXRleChwYXJhbXMtPnNzYy0+cmVncywgcGFyYW1zLT5wZGMtPnhwciwgcHJ0ZC0+cGRjX3hwcl9zYXZlKTsKKwlzc2Nfd3JpdGV4KHBhcmFtcy0+c3NjLT5yZWdzLCBwYXJhbXMtPnBkYy0+eGNyLCBwcnRkLT5wZGNfeGNyX3NhdmUpOworCXNzY193cml0ZXgocGFyYW1zLT5zc2MtPnJlZ3MsIHBhcmFtcy0+cGRjLT54bnByLCBwcnRkLT5wZGNfeG5wcl9zYXZlKTsKKwlzc2Nfd3JpdGV4KHBhcmFtcy0+c3NjLT5yZWdzLCBwYXJhbXMtPnBkYy0+eG5jciwgcHJ0ZC0+cGRjX3huY3Jfc2F2ZSk7CisKKwlzc2Nfd3JpdGV4KHBhcmFtcy0+c3NjLT5yZWdzLCBQRENfUFRDUiwgcGFyYW1zLT5tYXNrLT5wZGNfZW5hYmxlKTsKKwlyZXR1cm4gMDsKK30KKyNlbHNlIC8qIENPTkZJR19QTSAqLworIyAgZGVmaW5lIGF0MzJfcGNtX3N1c3BlbmQJTlVMTAorIyAgZGVmaW5lIGF0MzJfcGNtX3Jlc3VtZQlOVUxMCisjZW5kaWYgLyogQ09ORklHX1BNICovCisKKworCitzdHJ1Y3Qgc25kX3NvY19wbGF0Zm9ybSBhdDMyX3NvY19wbGF0Zm9ybSA9IHsKKwkubmFtZSA9ICJhdDMyLWF1ZGlvIiwKKwkucGNtX29wcyA9ICZhdDMyX3BjbV9vcHMsCisJLnBjbV9uZXcgPSBhdDMyX3BjbV9uZXcsCisJLnBjbV9mcmVlID0gYXQzMl9wY21fZnJlZV9kbWFfYnVmZmVycywKKwkuc3VzcGVuZCA9IGF0MzJfcGNtX3N1c3BlbmQsCisJLnJlc3VtZSA9IGF0MzJfcGNtX3Jlc3VtZSwKK307CitFWFBPUlRfU1lNQk9MX0dQTChhdDMyX3NvY19wbGF0Zm9ybSk7CisKKworCitNT0RVTEVfQVVUSE9SKCJHZW9mZnJleSBXb3NzdW0gPGd3b3NzdW1AYWNtLm9yZz4iKTsKK01PRFVMRV9ERVNDUklQVElPTigiQXRtZWwgQVQzMiBQQ00gbW9kdWxlIik7CitNT0RVTEVfTElDRU5TRSgiR1BMIik7CmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvYXQzMi9hdDMyLXBjbS5oIGIvc291bmQvc29jL2F0MzIvYXQzMi1wY20uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yYTUyNDMwCi0tLSAvZGV2L251bGwKKysrIGIvc291bmQvc29jL2F0MzIvYXQzMi1wY20uaApAQCAtMCwwICsxLDc5IEBACisvKiBzb3VuZC9zb2MvYXQzMi9hdDMyLXBjbS5oCisgKiBBU29DIFBDTSBpbnRlcmZhY2UgZm9yIEF0bWVsIEFUMzIgU29DCisgKgorICogQ29weXJpZ2h0IChDKSAyMDA4IExvbmcgUmFuZ2UgU3lzdGVtcworICogICAgR2VvZmZyZXkgV29zc3VtIDxnd29zc3VtQGFjbS5vcmc+CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCisgKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyAqLworCisjaWZuZGVmIF9fU09VTkRfU09DX0FUMzJfQVQzMl9QQ01fSAorI2RlZmluZSBfX1NPVU5EX1NPQ19BVDMyX0FUMzJfUENNX0ggX19GSUxFX18KKworI2luY2x1ZGUgPGxpbnV4L2F0bWVsLXNzYy5oPgorCisKKy8qCisgKiBSZWdpc3RlcnMgYW5kIHN0YXR1cyBiaXRzIHRoYXQgYXJlIHJlcXVpcmVkIGJ5IHRoZSBQQ00gZHJpdmVyCisgKiBUT0RPOiBJcyBwdGNyIHJlYWxseSB1c2VkPworICovCitzdHJ1Y3QgYXQzMl9wZGNfcmVncyB7CisJdTMyIHhwcjsJCS8qIFBEQyBSWC9UWCBwb2ludGVyICovCisJdTMyIHhjcjsJCS8qIFBEQyBSWC9UWCBjb3VudGVyICovCisJdTMyIHhucHI7CQkvKiBQREMgbmV4dCBSWC9UWCBwb2ludGVyICovCisJdTMyIHhuY3I7CQkvKiBQREMgbmV4dCBSWC9UWCBjb3VudGVyICovCisJdTMyIHB0Y3I7CQkvKiBQREMgdHJhbnNmZXIgY29udHJvbCAqLworfTsKKworCisKKy8qCisgKiBTU0MgbWFzayBpbmZvCisgKi8KK3N0cnVjdCBhdDMyX3NzY19tYXNrIHsKKwl1MzIgc3NjX2VuYWJsZTsJCS8qIFNTQyBSWC9UWCBlbmFibGUgKi8KKwl1MzIgc3NjX2Rpc2FibGU7CS8qIFNTQyBSWC9UWCBkaXNhYmxlICovCisJdTMyIHNzY19lbmR4OwkJLyogU1NDIEVORFRYIG9yIEVORFJYICovCisJdTMyIHNzY19lbmRidWY7CQkvKiBTU0MgVFhCVUZGIG9yIFJYQlVGRiAqLworCXUzMiBwZGNfZW5hYmxlOwkJLyogUERDIFJYL1RYIGVuYWJsZSAqLworCXUzMiBwZGNfZGlzYWJsZTsJLyogUERDIFJYL1RYIGRpc2FibGUgKi8KK307CisKKworCisvKgorICogVGhpcyBzdHJ1Y3R1cmUsIHNoYXJlZCBiZXR3ZWVuIHRoZSBQQ00gZHJpdmVyIGFuZCB0aGUgaW50ZXJmYWNlLAorICogY29udGFpbnMgYWxsIGluZm9ybWF0aW9uIHJlcXVpcmVkIGJ5IHRoZSBQQ00gZHJpdmVyIHRvIHBlcmZvcm0gdGhlCisgKiBQREMgRE1BIG9wZXJhdGlvbi4gIEFsbCBmaWVsZHMgZXhjZXB0IGRtYV9pbnRyX2hhbmRsZXIoKSBhcmUgaW5pdGlhbGl6ZWQKKyAqIGJ5IHRoZSBpbnRlcmZhY2UuICBUaGUgZG1zX2ludHJfaGFuZGxlcigpIHBvaW50ZXIgaXMgc2V0IGJ5IHRoZSBQQ00KKyAqIGRyaXZlciBhbmQgY2FsbGVkIGJ5IHRoZSBpbnRlcmZhY2UgU1NDIGludGVycnVwdCBoYW5kbGVyIGlmIGl0IGlzCisgKiBub24tTlVMTC4KKyAqLworc3RydWN0IGF0MzJfcGNtX2RtYV9wYXJhbXMgeworCWNoYXIgKm5hbWU7CQkvKiBzdHJlYW0gaWRlbnRpZmllciAqLworCWludCBwZGNfeGZlcl9zaXplOwkvKiBQREMgY291bnRlciBpbmNyZW1lbnQgaW4gYnl0ZXMgKi8KKwlzdHJ1Y3Qgc3NjX2RldmljZSAqc3NjOwkvKiBTU0MgZGV2aWNlIGZvciBzdHJlYW0gKi8KKwlzdHJ1Y3QgYXQzMl9wZGNfcmVncyAqcGRjOwkvKiBQREMgcmVnaXN0ZXIgaW5mbyAqLworCXN0cnVjdCBhdDMyX3NzY19tYXNrICptYXNrOwkvKiBTU0MgbWFzayBpbmZvICovCisJc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW07CisJdm9pZCAoKmRtYV9pbnRyX2hhbmRsZXIpICh1MzIsIHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqKTsKK307CisKKworCisvKgorICogVGhlIEFUMzIgQVNvQyBwbGF0Zm9ybSBkcml2ZXIKKyAqLworZXh0ZXJuIHN0cnVjdCBzbmRfc29jX3BsYXRmb3JtIGF0MzJfc29jX3BsYXRmb3JtOworCisKKworLyoKKyAqIFNTQyByZWdpc3RlciBhY2Nlc3MgKHNpbmNlIHNzY193cml0ZWwoKSAvIHNzY19yZWFkbCgpIHJlcXVpcmUgbGl0ZXJhbCBuYW1lKQorICovCisjZGVmaW5lIHNzY19yZWFkeChiYXNlLCByZWcpICAgICAgICAgICAgKF9fcmF3X3JlYWRsKChiYXNlKSArIChyZWcpKSkKKyNkZWZpbmUgc3NjX3dyaXRleChiYXNlLCByZWcsIHZhbHVlKSAgICBfX3Jhd193cml0ZWwoKHZhbHVlKSwgKGJhc2UpICsgKHJlZykpCisKKyNlbmRpZiAvKiBfX1NPVU5EX1NPQ19BVDMyX0FUMzJfUENNX0ggKi8KZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9hdDMyL2F0MzItc3NjLmMgYi9zb3VuZC9zb2MvYXQzMi9hdDMyLXNzYy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRlZjY0OTIKLS0tIC9kZXYvbnVsbAorKysgYi9zb3VuZC9zb2MvYXQzMi9hdDMyLXNzYy5jCkBAIC0wLDAgKzEsODQ5IEBACisvKiBzb3VuZC9zb2MvYXQzMi9hdDMyLXNzYy5jCisgKiBBU29DIHBsYXRmb3JtIGRyaXZlciBmb3IgQVQzMiB1c2luZyBTU0MgYXMgREFJCisgKgorICogQ29weXJpZ2h0IChDKSAyMDA4IExvbmcgUmFuZ2UgU3lzdGVtcworICogICAgR2VvZmZyZXkgV29zc3VtIDxnd29zc3VtQGFjbS5vcmc+CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCisgKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyAqCisgKiBOb3RlIHRoYXQgdGhpcyBpcyBiYXNpY2FsbHkgYSBwb3J0IG9mIHRoZSBzb3VuZC9zb2MvYXQ5MS1zc2MuYyB0bworICogdGhlIEFWUjMyIGtlcm5lbC4gIFRoYW5rcyB0byBGcmFuayBNYW5kYXJpbm8gZm9yIHRoYXQgY29kZS4KKyAqLworCisvKiAjZGVmaW5lIERFQlVHICovCisKKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+CisjaW5jbHVkZSA8bGludXgvZGV2aWNlLmg+CisjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KKyNpbmNsdWRlIDxsaW51eC9jbGsuaD4KKyNpbmNsdWRlIDxsaW51eC9pby5oPgorI2luY2x1ZGUgPGxpbnV4L2F0bWVsX3BkYy5oPgorI2luY2x1ZGUgPGxpbnV4L2F0bWVsLXNzYy5oPgorCisjaW5jbHVkZSA8c291bmQvY29yZS5oPgorI2luY2x1ZGUgPHNvdW5kL3BjbS5oPgorI2luY2x1ZGUgPHNvdW5kL3BjbV9wYXJhbXMuaD4KKyNpbmNsdWRlIDxzb3VuZC9pbml0dmFsLmg+CisjaW5jbHVkZSA8c291bmQvc29jLmg+CisKKyNpbmNsdWRlICJhdDMyLXBjbS5oIgorI2luY2x1ZGUgImF0MzItc3NjLmgiCisKKworCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXAorICogQ29uc3RhbnRzCitcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworI2RlZmluZSBOVU1fU1NDX0RFVklDRVMJCTMKKworLyoKKyAqIFNTQyBkaXJlY3Rpb24gbWFza3MKKyAqLworI2RlZmluZSBTU0NfRElSX01BU0tfVU5VU0VECTAKKyNkZWZpbmUgU1NDX0RJUl9NQVNLX1BMQVlCQUNLCTEKKyNkZWZpbmUgU1NDX0RJUl9NQVNLX0NBUFRVUkUJMgorCisvKgorICogU1NDIHJlZ2lzdGVyIHZhbHVlcyB0aGF0IEF0bWVsIGxlZnQgb3V0IG9mIDxsaW51eC9hdG1lbC1zc2MuaD4uICBUaGVzZQorICogYXJlIGV4cGVjdGVkIHRvIGJlIHVzZWQgd2l0aCBTU0NfQkYKKyAqLworLyogU1RBUlQgYml0IGZpZWxkIHZhbHVlcyAqLworI2RlZmluZSBTU0NfU1RBUlRfQ09OVElOVU9VUwkwCisjZGVmaW5lIFNTQ19TVEFSVF9UWF9SWAkJMQorI2RlZmluZSBTU0NfU1RBUlRfTE9XX1JGCTIKKyNkZWZpbmUgU1NDX1NUQVJUX0hJR0hfUkYJMworI2RlZmluZSBTU0NfU1RBUlRfRkFMTElOR19SRgk0CisjZGVmaW5lIFNTQ19TVEFSVF9SSVNJTkdfUkYJNQorI2RlZmluZSBTU0NfU1RBUlRfTEVWRUxfUkYJNgorI2RlZmluZSBTU0NfU1RBUlRfRURHRV9SRgk3CisjZGVmaW5lIFNTU19TVEFSVF9DT01QQVJFXzAJOAorCisvKiBDS0kgYml0IGZpZWxkIHZhbHVlcyAqLworI2RlZmluZSBTU0NfQ0tJX0ZBTExJTkcJCTAKKyNkZWZpbmUgU1NDX0NLSV9SSVNJTkcJCTEKKworLyogQ0tPIGJpdCBmaWVsZCB2YWx1ZXMgKi8KKyNkZWZpbmUgU1NDX0NLT19OT05FCQkwCisjZGVmaW5lIFNTQ19DS09fQ09OVElOVU9VUwkxCisjZGVmaW5lIFNTQ19DS09fVFJBTlNGRVIJMgorCisvKiBDS1MgYml0IGZpZWxkIHZhbHVlcyAqLworI2RlZmluZSBTU0NfQ0tTX0RJVgkJMAorI2RlZmluZSBTU0NfQ0tTX0NMT0NLCQkxCisjZGVmaW5lIFNTQ19DS1NfUElOCQkyCisKKy8qIEZTRURHRSBiaXQgZmllbGQgdmFsdWVzICovCisjZGVmaW5lIFNTQ19GU0VER0VfUE9TSVRJVkUJMAorI2RlZmluZSBTU0NfRlNFREdFX05FR0FUSVZFCTEKKworLyogRlNPUyBiaXQgZmllbGQgdmFsdWVzICovCisjZGVmaW5lIFNTQ19GU09TX05PTkUJCTAKKyNkZWZpbmUgU1NDX0ZTT1NfTkVHQVRJVkUJMQorI2RlZmluZSBTU0NfRlNPU19QT1NJVElWRQkyCisjZGVmaW5lIFNTQ19GU09TX0xPVwkJMworI2RlZmluZSBTU0NfRlNPU19ISUdICQk0CisjZGVmaW5lIFNTQ19GU09TX1RPR0dMRQkJNQorCisjZGVmaW5lIFNUQVJUX0RFTEFZCQkxCisKKworCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXAorICogTW9kdWxlIGRhdGEKK1wqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisvKgorICogU1NDIFBEQyByZWdpc3RlcmVkIHJlcXVpcmVkIGJ5IHRoZSBQQ00gRE1BIGVuZ2luZQorICovCitzdGF0aWMgc3RydWN0IGF0MzJfcGRjX3JlZ3MgcGRjX3R4X3JlZyA9IHsKKwkueHByID0gU1NDX1BEQ19UUFIsCisJLnhjciA9IFNTQ19QRENfVENSLAorCS54bnByID0gU1NDX1BEQ19UTlBSLAorCS54bmNyID0gU1NDX1BEQ19UTkNSLAorfTsKKworCisKK3N0YXRpYyBzdHJ1Y3QgYXQzMl9wZGNfcmVncyBwZGNfcnhfcmVnID0geworCS54cHIgPSBTU0NfUERDX1JQUiwKKwkueGNyID0gU1NDX1BEQ19SQ1IsCisJLnhucHIgPSBTU0NfUERDX1JOUFIsCisJLnhuY3IgPSBTU0NfUERDX1JOQ1IsCit9OworCisKKworLyoKKyAqIFNTQyBhbmQgUERDIHN0YXR1cyBiaXRzIGZvciB0cmFuc21pdCBhbmQgcmVjZWl2ZQorICovCitzdGF0aWMgc3RydWN0IGF0MzJfc3NjX21hc2sgc3NjX3R4X21hc2sgPSB7CisJLnNzY19lbmFibGUgPSBTU0NfQklUKENSX1RYRU4pLAorCS5zc2NfZGlzYWJsZSA9IFNTQ19CSVQoQ1JfVFhESVMpLAorCS5zc2NfZW5keCA9IFNTQ19CSVQoU1JfRU5EVFgpLAorCS5zc2NfZW5kYnVmID0gU1NDX0JJVChTUl9UWEJVRkUpLAorCS5wZGNfZW5hYmxlID0gU1NDX0JJVChQRENfUFRDUl9UWFRFTiksCisJLnBkY19kaXNhYmxlID0gU1NDX0JJVChQRENfUFRDUl9UWFRESVMpLAorfTsKKworCisKK3N0YXRpYyBzdHJ1Y3QgYXQzMl9zc2NfbWFzayBzc2NfcnhfbWFzayA9IHsKKwkuc3NjX2VuYWJsZSA9IFNTQ19CSVQoQ1JfUlhFTiksCisJLnNzY19kaXNhYmxlID0gU1NDX0JJVChDUl9SWERJUyksCisJLnNzY19lbmR4ID0gU1NDX0JJVChTUl9FTkRSWCksCisJLnNzY19lbmRidWYgPSBTU0NfQklUKFNSX1JYQlVGRiksCisJLnBkY19lbmFibGUgPSBTU0NfQklUKFBEQ19QVENSX1JYVEVOKSwKKwkucGRjX2Rpc2FibGUgPSBTU0NfQklUKFBEQ19QVENSX1JYVERJUyksCit9OworCisKKworLyoKKyAqIERNQSBwYXJhbWV0ZXJzIGZvciBlYWNoIFNTQworICovCitzdGF0aWMgc3RydWN0IGF0MzJfcGNtX2RtYV9wYXJhbXMgc3NjX2RtYV9wYXJhbXNbTlVNX1NTQ19ERVZJQ0VTXVsyXSA9IHsKKwl7CisJIHsKKwkgIC5uYW1lID0gIlNTQzAgUENNIG91dCIsCisJICAucGRjID0gJnBkY190eF9yZWcsCisJICAubWFzayA9ICZzc2NfdHhfbWFzaywKKwkgIH0sCisJIHsKKwkgIC5uYW1lID0gIlNTQzAgUENNIGluIiwKKwkgIC5wZGMgPSAmcGRjX3J4X3JlZywKKwkgIC5tYXNrID0gJnNzY19yeF9tYXNrLAorCSAgfSwKKwkgfSwKKwl7CisJIHsKKwkgIC5uYW1lID0gIlNTQzEgUENNIG91dCIsCisJICAucGRjID0gJnBkY190eF9yZWcsCisJICAubWFzayA9ICZzc2NfdHhfbWFzaywKKwkgIH0sCisJIHsKKwkgIC5uYW1lID0gIlNTQzEgUENNIGluIiwKKwkgIC5wZGMgPSAmcGRjX3J4X3JlZywKKwkgIC5tYXNrID0gJnNzY19yeF9tYXNrLAorCSAgfSwKKwkgfSwKKwl7CisJIHsKKwkgIC5uYW1lID0gIlNTQzIgUENNIG91dCIsCisJICAucGRjID0gJnBkY190eF9yZWcsCisJICAubWFzayA9ICZzc2NfdHhfbWFzaywKKwkgIH0sCisJIHsKKwkgIC5uYW1lID0gIlNTQzIgUENNIGluIiwKKwkgIC5wZGMgPSAmcGRjX3J4X3JlZywKKwkgIC5tYXNrID0gJnNzY19yeF9tYXNrLAorCSAgfSwKKwkgfSwKK307CisKKworCitzdGF0aWMgc3RydWN0IGF0MzJfc3NjX2luZm8gc3NjX2luZm9bTlVNX1NTQ19ERVZJQ0VTXSA9IHsKKwl7CisJIC5uYW1lID0gInNzYzAiLAorCSAubG9jayA9IF9fU1BJTl9MT0NLX1VOTE9DS0VEKHNzY19pbmZvWzBdLmxvY2spLAorCSAuZGlyX21hc2sgPSBTU0NfRElSX01BU0tfVU5VU0VELAorCSAuaW5pdGlhbGl6ZWQgPSAwLAorCSB9LAorCXsKKwkgLm5hbWUgPSAic3NjMSIsCisJIC5sb2NrID0gX19TUElOX0xPQ0tfVU5MT0NLRUQoc3NjX2luZm9bMV0ubG9jayksCisJIC5kaXJfbWFzayA9IFNTQ19ESVJfTUFTS19VTlVTRUQsCisJIC5pbml0aWFsaXplZCA9IDAsCisJIH0sCisJeworCSAubmFtZSA9ICJzc2MyIiwKKwkgLmxvY2sgPSBfX1NQSU5fTE9DS19VTkxPQ0tFRChzc2NfaW5mb1syXS5sb2NrKSwKKwkgLmRpcl9tYXNrID0gU1NDX0RJUl9NQVNLX1VOVVNFRCwKKwkgLmluaXRpYWxpemVkID0gMCwKKwkgfSwKK307CisKKworCisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcCisgKiBJU1IKK1wqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisvKgorICogU1NDIGludGVycnVwdCBoYW5kbGVyLiAgUGFzc2VzIFBEQyBpbnRlcnJ1cHRzIHRvIHRoZSBETUEgaW50ZXJydXB0CisgKiBoYW5kbGVyIGluIHRoZSBQQ00gZHJpdmVyLgorICovCitzdGF0aWMgaXJxcmV0dXJuX3QgYXQzMl9zc2NfaW50ZXJydXB0KGludCBpcnEsIHZvaWQgKmRldl9pZCkKK3sKKwlzdHJ1Y3QgYXQzMl9zc2NfaW5mbyAqc3NjX3AgPSBkZXZfaWQ7CisJc3RydWN0IGF0MzJfcGNtX2RtYV9wYXJhbXMgKmRtYV9wYXJhbXM7CisJdTMyIHNzY19zcjsKKwl1MzIgc3NjX3N1YnN0cmVhbV9tYXNrOworCWludCBpOworCisJc3NjX3NyID0gKHNzY19yZWFkbChzc2NfcC0+c3NjLT5yZWdzLCBTUikgJgorCQkgIHNzY19yZWFkbChzc2NfcC0+c3NjLT5yZWdzLCBJTVIpKTsKKworCS8qCisJICogTG9vcCB0aHJvdWdoIHN1YnN0cmVhbXMgYXR0YWNoZWQgdG8gdGhpcyBTU0MuICBJZiBhIERNQS1yZWxhdGVkCisJICogaW50ZXJydXB0IG9jY3VyZWQgb24gdGhhdCBzdWJzdHJlYW0sIGNhbGwgdGhlIERNQSBpbnRlcnJ1cHQKKwkgKiBoYW5kbGVyIGZ1bmN0aW9uLCBpZiBvbmUgaGFzIGJlZW4gcmVnaXN0ZXJlZCBpbiB0aGUgZG1hX3BhcmFtCisJICogc3RydWN0dXJlIGJ5IHRoZSBQQ00gZHJpdmVyLgorCSAqLworCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKHNzY19wLT5kbWFfcGFyYW1zKTsgaSsrKSB7CisJCWRtYV9wYXJhbXMgPSBzc2NfcC0+ZG1hX3BhcmFtc1tpXTsKKworCQlpZiAoKGRtYV9wYXJhbXMgIT0gTlVMTCkgJiYKKwkJICAgIChkbWFfcGFyYW1zLT5kbWFfaW50cl9oYW5kbGVyICE9IE5VTEwpKSB7CisJCQlzc2Nfc3Vic3RyZWFtX21hc2sgPSAoZG1hX3BhcmFtcy0+bWFzay0+c3NjX2VuZHggfAorCQkJCQkgICAgICBkbWFfcGFyYW1zLT5tYXNrLT5zc2NfZW5kYnVmKTsKKwkJCWlmIChzc2Nfc3IgJiBzc2Nfc3Vic3RyZWFtX21hc2spIHsKKwkJCQlkbWFfcGFyYW1zLT5kbWFfaW50cl9oYW5kbGVyKHNzY19zciwKKwkJCQkJCQkgICAgIGRtYV9wYXJhbXMtPgorCQkJCQkJCSAgICAgc3Vic3RyZWFtKTsKKwkJCX0KKwkJfQorCX0KKworCisJcmV0dXJuIElSUV9IQU5ETEVEOworfQorCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXAorICogREFJIGZ1bmN0aW9ucworXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKy8qCisgKiBTdGFydHVwLiAgT25seSB0aGF0IG9uZSBzdWJzdHJlYW0gYWxsb3dlZCBpbiBlYWNoIGRpcmVjdGlvbi4KKyAqLworc3RhdGljIGludCBhdDMyX3NzY19zdGFydHVwKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtKQoreworCXN0cnVjdCBzbmRfc29jX3BjbV9ydW50aW1lICpydGQgPSBzdWJzdHJlYW0tPnByaXZhdGVfZGF0YTsKKwlzdHJ1Y3QgYXQzMl9zc2NfaW5mbyAqc3NjX3AgPSAmc3NjX2luZm9bcnRkLT5kYWktPmNwdV9kYWktPmlkXTsKKwlpbnQgZGlyX21hc2s7CisKKwlkaXJfbWFzayA9ICgoc3Vic3RyZWFtLT5zdHJlYW0gPT0gU05EUlZfUENNX1NUUkVBTV9QTEFZQkFDSykgPworCQkgICAgU1NDX0RJUl9NQVNLX1BMQVlCQUNLIDogU1NDX0RJUl9NQVNLX0NBUFRVUkUpOworCisJc3Bpbl9sb2NrX2lycSgmc3NjX3AtPmxvY2spOworCWlmIChzc2NfcC0+ZGlyX21hc2sgJiBkaXJfbWFzaykgeworCQlzcGluX3VubG9ja19pcnEoJnNzY19wLT5sb2NrKTsKKwkJcmV0dXJuIC1FQlVTWTsKKwl9CisJc3NjX3AtPmRpcl9tYXNrIHw9IGRpcl9tYXNrOworCXNwaW5fdW5sb2NrX2lycSgmc3NjX3AtPmxvY2spOworCisJcmV0dXJuIDA7Cit9CisKKworCisvKgorICogU2h1dGRvd24uICBDbGVhciBETUEgcGFyYW1ldGVycyBhbmQgc2h1dGRvd24gdGhlIFNTQyBpZiB0aGVyZQorICogYXJlIG5vIG90aGVyIHN1YnN0cmVhbXMgb3Blbi4KKyAqLworc3RhdGljIHZvaWQgYXQzMl9zc2Nfc2h1dGRvd24oc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0pCit7CisJc3RydWN0IHNuZF9zb2NfcGNtX3J1bnRpbWUgKnJ0ZCA9IHN1YnN0cmVhbS0+cHJpdmF0ZV9kYXRhOworCXN0cnVjdCBhdDMyX3NzY19pbmZvICpzc2NfcCA9ICZzc2NfaW5mb1tydGQtPmRhaS0+Y3B1X2RhaS0+aWRdOworCXN0cnVjdCBhdDMyX3BjbV9kbWFfcGFyYW1zICpkbWFfcGFyYW1zOworCWludCBkaXJfbWFzazsKKworCWRtYV9wYXJhbXMgPSBzc2NfcC0+ZG1hX3BhcmFtc1tzdWJzdHJlYW0tPnN0cmVhbV07CisKKwlpZiAoZG1hX3BhcmFtcyAhPSBOVUxMKSB7CisJCXNzY193cml0ZWwoZG1hX3BhcmFtcy0+c3NjLT5yZWdzLCBDUiwKKwkJCSAgIGRtYV9wYXJhbXMtPm1hc2stPnNzY19kaXNhYmxlKTsKKwkJcHJfZGVidWcoIiVzIGRpc2FibGVkIFNTQ19TUj0weCUwOHhcbiIsCisJCQkgKHN1YnN0cmVhbS0+c3RyZWFtID8gInJlY2VpdmVyIiA6ICJ0cmFuc21pdCIpLAorCQkJIHNzY19yZWFkbChzc2NfcC0+c3NjLT5yZWdzLCBTUikpOworCisJCWRtYV9wYXJhbXMtPnNzYyA9IE5VTEw7CisJCWRtYV9wYXJhbXMtPnN1YnN0cmVhbSA9IE5VTEw7CisJCXNzY19wLT5kbWFfcGFyYW1zW3N1YnN0cmVhbS0+c3RyZWFtXSA9IE5VTEw7CisJfQorCisKKwlkaXJfbWFzayA9IDEgPDwgc3Vic3RyZWFtLT5zdHJlYW07CisJc3Bpbl9sb2NrX2lycSgmc3NjX3AtPmxvY2spOworCXNzY19wLT5kaXJfbWFzayAmPSB+ZGlyX21hc2s7CisJaWYgKCFzc2NfcC0+ZGlyX21hc2spIHsKKwkJLyogU2h1dGRvd24gdGhlIFNTQyBjbG9jayAqLworCQlwcl9kZWJ1ZygiYXQzMi1zc2M6IFN0b3BwaW5nIHVzZXIgJWQgY2xvY2tcbiIsCisJCQkgc3NjX3AtPnNzYy0+dXNlcik7CisJCWNsa19kaXNhYmxlKHNzY19wLT5zc2MtPmNsayk7CisKKwkJaWYgKHNzY19wLT5pbml0aWFsaXplZCkgeworCQkJZnJlZV9pcnEoc3NjX3AtPnNzYy0+aXJxLCBzc2NfcCk7CisJCQlzc2NfcC0+aW5pdGlhbGl6ZWQgPSAwOworCQl9CisKKwkJLyogUmVzZXQgdGhlIFNTQyAqLworCQlzc2Nfd3JpdGVsKHNzY19wLT5zc2MtPnJlZ3MsIENSLCBTU0NfQklUKENSX1NXUlNUKSk7CisKKwkJLyogY2xlYXIgdGhlIFNTQyBkaXZpZGVycyAqLworCQlzc2NfcC0+Y21yX2RpdiA9IDA7CisJCXNzY19wLT50Y21yX3BlcmlvZCA9IDA7CisJCXNzY19wLT5yY21yX3BlcmlvZCA9IDA7CisJfQorCXNwaW5fdW5sb2NrX2lycSgmc3NjX3AtPmxvY2spOworfQorCisKKworLyoKKyAqIFNldCB0aGUgU1NDIHN5c3RlbSBjbG9jayByYXRlCisgKi8KK3N0YXRpYyBpbnQgYXQzMl9zc2Nfc2V0X2RhaV9zeXNjbGsoc3RydWN0IHNuZF9zb2NfZGFpICpjcHVfZGFpLAorCQkJCSAgIGludCBjbGtfaWQsIHVuc2lnbmVkIGludCBmcmVxLCBpbnQgZGlyKQoreworCS8qIFRPRE86IFdoYXQgdGhlIGhlY2sgZG8gSSBkbyBoZXJlPyAqLworCXJldHVybiAwOworfQorCisKKworLyoKKyAqIFJlY29yZCBEQUkgZm9ybWF0IGZvciB1c2UgYnkgaHdfcGFyYW1zKCkKKyAqLworc3RhdGljIGludCBhdDMyX3NzY19zZXRfZGFpX2ZtdChzdHJ1Y3Qgc25kX3NvY19kYWkgKmNwdV9kYWksCisJCQkJdW5zaWduZWQgaW50IGZtdCkKK3sKKwlzdHJ1Y3QgYXQzMl9zc2NfaW5mbyAqc3NjX3AgPSAmc3NjX2luZm9bY3B1X2RhaS0+aWRdOworCisJc3NjX3AtPmRhaWZtdCA9IGZtdDsKKwlyZXR1cm4gMDsKK30KKworCisKKy8qCisgKiBSZWNvcmQgU1NDIGNsb2NrIGRpdmlkZXJzIGZvciB1c2UgaW4gaHdfcGFyYW1zKCkKKyAqLworc3RhdGljIGludCBhdDMyX3NzY19zZXRfZGFpX2Nsa2RpdihzdHJ1Y3Qgc25kX3NvY19kYWkgKmNwdV9kYWksCisJCQkJICAgaW50IGRpdl9pZCwgaW50IGRpdikKK3sKKwlzdHJ1Y3QgYXQzMl9zc2NfaW5mbyAqc3NjX3AgPSAmc3NjX2luZm9bY3B1X2RhaS0+aWRdOworCisJc3dpdGNoIChkaXZfaWQpIHsKKwljYXNlIEFUMzJfU1NDX0NNUl9ESVY6CisJCS8qCisJCSAqIFRoZSBzYW1lIG1hc3RlciBjbG9jayBkaXZpZGVyIGlzIHVzZWQgZm9yIGJvdGgKKwkJICogdHJhbnNtaXQgYW5kIHJlY2VpdmUsIHNvIGlmIGEgdmFsdWUgaGFzIGFscmVhZHkKKwkJICogYmVlbiBzZXQsIGl0IG11c3QgbWF0Y2ggdGhpcyB2YWx1ZQorCQkgKi8KKwkJaWYgKHNzY19wLT5jbXJfZGl2ID09IDApCisJCQlzc2NfcC0+Y21yX2RpdiA9IGRpdjsKKwkJZWxzZSBpZiAoZGl2ICE9IHNzY19wLT5jbXJfZGl2KQorCQkJcmV0dXJuIC1FQlVTWTsKKwkJYnJlYWs7CisKKwljYXNlIEFUMzJfU1NDX1RDTVJfUEVSSU9EOgorCQlzc2NfcC0+dGNtcl9wZXJpb2QgPSBkaXY7CisJCWJyZWFrOworCisJY2FzZSBBVDMyX1NTQ19SQ01SX1BFUklPRDoKKwkJc3NjX3AtPnJjbXJfcGVyaW9kID0gZGl2OworCQlicmVhazsKKworCWRlZmF1bHQ6CisJCXJldHVybiAtRUlOVkFMOworCX0KKworCXJldHVybiAwOworfQorCisKKworLyoKKyAqIENvbmZpZ3VyZSB0aGUgU1NDCisgKi8KK3N0YXRpYyBpbnQgYXQzMl9zc2NfaHdfcGFyYW1zKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtLAorCQkJICAgICAgc3RydWN0IHNuZF9wY21faHdfcGFyYW1zICpwYXJhbXMpCit7CisJc3RydWN0IHNuZF9zb2NfcGNtX3J1bnRpbWUgKnJ0ZCA9IHN1YnN0cmVhbS0+cHJpdmF0ZV9kYXRhOworCWludCBpZCA9IHJ0ZC0+ZGFpLT5jcHVfZGFpLT5pZDsKKwlzdHJ1Y3QgYXQzMl9zc2NfaW5mbyAqc3NjX3AgPSAmc3NjX2luZm9baWRdOworCXN0cnVjdCBhdDMyX3BjbV9kbWFfcGFyYW1zICpkbWFfcGFyYW1zOworCWludCBjaGFubmVscywgYml0czsKKwl1MzIgdGZtciwgcmZtciwgdGNtciwgcmNtcjsKKwlpbnQgc3RhcnRfZXZlbnQ7CisJaW50IHJldDsKKworCisJLyoKKwkgKiBDdXJyZW50bHksIHRoZXJlIGlzIG9ubHkgb25lIHNldCBvZiBkbWFfcGFyYW1zIGZvciBlYWNoIGRpcmVjdGlvbi4KKwkgKiBJZiBtb3JlIGFyZSBhZGRlZCwgdGhpcyBjb2RlIHdpbGwgaGF2ZSB0byBiZSBjaGFuZ2VkIHRvIHNlbGVjdAorCSAqIHRoZSBwcm9wZXIgc2V0CisJICovCisJZG1hX3BhcmFtcyA9ICZzc2NfZG1hX3BhcmFtc1tpZF1bc3Vic3RyZWFtLT5zdHJlYW1dOworCWRtYV9wYXJhbXMtPnNzYyA9IHNzY19wLT5zc2M7CisJZG1hX3BhcmFtcy0+c3Vic3RyZWFtID0gc3Vic3RyZWFtOworCisJc3NjX3AtPmRtYV9wYXJhbXNbc3Vic3RyZWFtLT5zdHJlYW1dID0gZG1hX3BhcmFtczsKKworCisJLyoKKwkgKiBUaGUgY3B1X2RhaS0+ZG1hX2RhdGEgZmllbGQgaXMgb25seSB1c2VkIHRvIGNvbW11bmljYXRlIHRoZQorCSAqIGFwcHJvcHJpYXRlIERNQSBwYXJhbWV0ZXJzIHRvIHRoZSBQQ00gZHJpdmVyJ3MgaHdfcGFyYW1zKCkKKwkgKiBmdW5jdGlvbi4gIEl0IHNob3VsZCBub3QgYmUgdXNlZCBmb3Igb3RoZXIgcHVycG9zZXMgYXMgaXQKKwkgKiBpcyBjb21tb24gdG8gYWxsIHN1YnN0cmVhbXMuCisJICovCisJcnRkLT5kYWktPmNwdV9kYWktPmRtYV9kYXRhID0gZG1hX3BhcmFtczsKKworCWNoYW5uZWxzID0gcGFyYW1zX2NoYW5uZWxzKHBhcmFtcyk7CisKKworCS8qCisJICogRGV0ZXJtaW5lIHNhbXBsZSBzaXplIGluIGJpdHMgYW5kIHRoZSBQREMgaW5jcmVtZW50CisJICovCisJc3dpdGNoIChwYXJhbXNfZm9ybWF0KHBhcmFtcykpIHsKKwljYXNlIFNORFJWX1BDTV9GT1JNQVRfUzg6CisJCWJpdHMgPSA4OworCQlkbWFfcGFyYW1zLT5wZGNfeGZlcl9zaXplID0gMTsKKwkJYnJlYWs7CisKKwljYXNlIFNORFJWX1BDTV9GT1JNQVRfUzE2OgorCQliaXRzID0gMTY7CisJCWRtYV9wYXJhbXMtPnBkY194ZmVyX3NpemUgPSAyOworCQlicmVhazsKKworCWNhc2UgU05EUlZfUENNX0ZPUk1BVF9TMjQ6CisJCWJpdHMgPSAyNDsKKwkJZG1hX3BhcmFtcy0+cGRjX3hmZXJfc2l6ZSA9IDQ7CisJCWJyZWFrOworCisJY2FzZSBTTkRSVl9QQ01fRk9STUFUX1MzMjoKKwkJYml0cyA9IDMyOworCQlkbWFfcGFyYW1zLT5wZGNfeGZlcl9zaXplID0gNDsKKwkJYnJlYWs7CisKKwlkZWZhdWx0OgorCQlwcl93YXJuaW5nKCJhdDMyLXNzYzogVW5zdXBwb3J0ZWQgUENNIGZvcm1hdCAlZCIsCisJCQkgICBwYXJhbXNfZm9ybWF0KHBhcmFtcykpOworCQlyZXR1cm4gLUVJTlZBTDsKKwl9CisJcHJfZGVidWcoImF0MzItc3NjOiBiaXRzID0gJWQsIHBkY194ZmVyX3NpemUgPSAlZCwgY2hhbm5lbHMgPSAlZFxuIiwKKwkJIGJpdHMsIGRtYV9wYXJhbXMtPnBkY194ZmVyX3NpemUsIGNoYW5uZWxzKTsKKworCisJLyoKKwkgKiBUaGUgU1NDIG9ubHkgc3VwcG9ydHMgdXAgdG8gMTYtYml0IHNhbXBsZXMgaW4gSTJTIGZvcm1hdCwgZHVlCisJICogdG8gdGhlIHNpemUgb2YgdGhlIEZyYW1lIE1vZGUgUmVnaXN0ZXIgRlNMRU4gZmllbGQuCisJICovCisJaWYgKChzc2NfcC0+ZGFpZm10ICYgU05EX1NPQ19EQUlGTVRfRk9STUFUX01BU0spID09IFNORF9TT0NfREFJRk1UX0kyUykKKwkJaWYgKGJpdHMgPiAxNikgeworCQkJcHJfd2FybmluZygiYXQzMi1zc2M6ICIKKwkJCQkgICAic2FtcGxlIHNpemUgJWQgaXMgdG9vIGxhcmdlIGZvciBJMlNcbiIsCisJCQkJICAgYml0cyk7CisJCQlyZXR1cm4gLUVJTlZBTDsKKwkJfQorCisKKwkvKgorCSAqIENvbXB1dGUgdGhlIFNTQyByZWdpc3RlciBzZXR0aW5ncworCSAqLworCXN3aXRjaCAoc3NjX3AtPmRhaWZtdCAmIChTTkRfU09DX0RBSUZNVF9GT1JNQVRfTUFTSyB8CisJCQkJIFNORF9TT0NfREFJRk1UX01BU1RFUl9NQVNLKSkgeworCWNhc2UgU05EX1NPQ19EQUlGTVRfSTJTIHwgU05EX1NPQ19EQUlGTVRfQ0JTX0NGUzoKKwkJLyoKKwkJICogSTJTIGZvcm1hdCwgU1NDIHByb3ZpZGVzIEJDTEsgYW5kIExSUyBjbG9ja3MuCisJCSAqCisJCSAqIFRoZSBTU0MgdHJhbnNtaXQgYW5kIHJlY2VpdmUgY2xvY2tzIGFyZSBnZW5lcmF0ZWQgZnJvbSB0aGUKKwkJICogTUNLIGRpdmlkZXIsIGFuZCB0aGUgQkNMSyBzaWduYWwgaXMgb3V0cHV0IG9uIHRoZSBTU0MgVEsgbGluZQorCQkgKi8KKwkJcHJfZGVidWcoImF0MzItc3NjOiBTU0MgbW9kZSBpcyBJMlMgQkNMSyAvIEZSQU1FIG1hc3RlclxuIik7CisJCXJjbXIgPSAoU1NDX0JGKFJDTVJfUEVSSU9ELCBzc2NfcC0+cmNtcl9wZXJpb2QpIHwKKwkJCVNTQ19CRihSQ01SX1NUVERMWSwgU1RBUlRfREVMQVkpIHwKKwkJCVNTQ19CRihSQ01SX1NUQVJULCBTU0NfU1RBUlRfRkFMTElOR19SRikgfAorCQkJU1NDX0JGKFJDTVJfQ0tJLCBTU0NfQ0tJX1JJU0lORykgfAorCQkJU1NDX0JGKFJDTVJfQ0tPLCBTU0NfQ0tPX05PTkUpIHwKKwkJCVNTQ19CRihSQ01SX0NLUywgU1NDX0NLU19ESVYpKTsKKworCQlyZm1yID0gKFNTQ19CRihSRk1SX0ZTRURHRSwgU1NDX0ZTRURHRV9QT1NJVElWRSkgfAorCQkJU1NDX0JGKFJGTVJfRlNPUywgU1NDX0ZTT1NfTkVHQVRJVkUpIHwKKwkJCVNTQ19CRihSRk1SX0ZTTEVOLCBiaXRzIC0gMSkgfAorCQkJU1NDX0JGKFJGTVJfREFUTkIsIGNoYW5uZWxzIC0gMSkgfAorCQkJU1NDX0JJVChSRk1SX01TQkYpIHwgU1NDX0JGKFJGTVJfREFUTEVOLCBiaXRzIC0gMSkpOworCisJCXRjbXIgPSAoU1NDX0JGKFRDTVJfUEVSSU9ELCBzc2NfcC0+dGNtcl9wZXJpb2QpIHwKKwkJCVNTQ19CRihUQ01SX1NUVERMWSwgU1RBUlRfREVMQVkpIHwKKwkJCVNTQ19CRihUQ01SX1NUQVJULCBTU0NfU1RBUlRfRkFMTElOR19SRikgfAorCQkJU1NDX0JGKFRDTVJfQ0tJLCBTU0NfQ0tJX0ZBTExJTkcpIHwKKwkJCVNTQ19CRihUQ01SX0NLTywgU1NDX0NLT19DT05USU5VT1VTKSB8CisJCQlTU0NfQkYoVENNUl9DS1MsIFNTQ19DS1NfRElWKSk7CisKKwkJdGZtciA9IChTU0NfQkYoVEZNUl9GU0VER0UsIFNTQ19GU0VER0VfUE9TSVRJVkUpIHwKKwkJCVNTQ19CRihURk1SX0ZTT1MsIFNTQ19GU09TX05FR0FUSVZFKSB8CisJCQlTU0NfQkYoVEZNUl9GU0xFTiwgYml0cyAtIDEpIHwKKwkJCVNTQ19CRihURk1SX0RBVE5CLCBjaGFubmVscyAtIDEpIHwgU1NDX0JJVChURk1SX01TQkYpIHwKKwkJCVNTQ19CRihURk1SX0RBVExFTiwgYml0cyAtIDEpKTsKKwkJYnJlYWs7CisKKworCWNhc2UgU05EX1NPQ19EQUlGTVRfSTJTIHwgU05EX1NPQ19EQUlGTVRfQ0JNX0NGTToKKwkJLyoKKwkJICogSTJTIGZvcm1hdCwgQ09ERUMgc3VwcGxpZXMgQkNMSyBhbmQgTFJDIGNsb2NrLgorCQkgKgorCQkgKiBUaGUgU1NDIHRyYW5zbWl0IGNsb2NrIGlzIG9idGFpbmVkIGZyb20gdGhlIEJDTEsgc2lnbmFsCisJCSAqIG9uIHRoZSBUSyBsaW5lLCBhbmQgdGhlIFNTQyByZWNlaXZlIGNsb2NrIGlzIGdlbmVyYXRlZCBmcm9tCisJCSAqIHRoZSB0cmFuc21pdCBjbG9jay4KKwkJICoKKwkJICogRm9yIHNpbmdsZSBjaGFubmVsIGRhdGEsIG9uZSBzYW1wbGUgaXMgdHJhbnNmZXJyZWQgb24gdGhlCisJCSAqIGZhbGxpbmcgZWRnZSBvZiB0aGUgTFJDIGNsb2NrLiAgRm9yIHR3byBjaGFubmVsIGRhdGEsIG9uZQorCQkgKiBzYW1wbGUgaXMgdHJhbnNmZXJyZWQgb24gYm90aCBlZGdlcyBvZiB0aGUgTFJDIGNsb2NrLgorCQkgKi8KKwkJcHJfZGVidWcoImF0MzItc3NjOiBTU0MgbW9kZSBpcyBJMlMgQkNMSyAvIEZSQU1FIHNsYXZlXG4iKTsKKwkJc3RhcnRfZXZlbnQgPSAoKGNoYW5uZWxzID09IDEpID8KKwkJCSAgICAgICBTU0NfU1RBUlRfRkFMTElOR19SRiA6IFNTQ19TVEFSVF9FREdFX1JGKTsKKworCQlyY21yID0gKFNTQ19CRihSQ01SX1NUVERMWSwgU1RBUlRfREVMQVkpIHwKKwkJCVNTQ19CRihSQ01SX1NUQVJULCBzdGFydF9ldmVudCkgfAorCQkJU1NDX0JGKFJDTVJfQ0tJLCBTU0NfQ0tJX1JJU0lORykgfAorCQkJU1NDX0JGKFJDTVJfQ0tPLCBTU0NfQ0tPX05PTkUpIHwKKwkJCVNTQ19CRihSQ01SX0NLUywgU1NDX0NLU19DTE9DSykpOworCisJCXJmbXIgPSAoU1NDX0JGKFJGTVJfRlNFREdFLCBTU0NfRlNFREdFX1BPU0lUSVZFKSB8CisJCQlTU0NfQkYoUkZNUl9GU09TLCBTU0NfRlNPU19OT05FKSB8CisJCQlTU0NfQklUKFJGTVJfTVNCRikgfCBTU0NfQkYoUkZNUl9EQVRMRU4sIGJpdHMgLSAxKSk7CisKKwkJdGNtciA9IChTU0NfQkYoVENNUl9TVFRETFksIFNUQVJUX0RFTEFZKSB8CisJCQlTU0NfQkYoVENNUl9TVEFSVCwgc3RhcnRfZXZlbnQpIHwKKwkJCVNTQ19CRihUQ01SX0NLSSwgU1NDX0NLSV9GQUxMSU5HKSB8CisJCQlTU0NfQkYoVENNUl9DS08sIFNTQ19DS09fTk9ORSkgfAorCQkJU1NDX0JGKFRDTVJfQ0tTLCBTU0NfQ0tTX1BJTikpOworCisJCXRmbXIgPSAoU1NDX0JGKFRGTVJfRlNFREdFLCBTU0NfRlNFREdFX1BPU0lUSVZFKSB8CisJCQlTU0NfQkYoVEZNUl9GU09TLCBTU0NfRlNPU19OT05FKSB8CisJCQlTU0NfQklUKFRGTVJfTVNCRikgfCBTU0NfQkYoVEZNUl9EQVRMRU4sIGJpdHMgLSAxKSk7CisJCWJyZWFrOworCisKKwljYXNlIFNORF9TT0NfREFJRk1UX0RTUF9BIHwgU05EX1NPQ19EQUlGTVRfQ0JTX0NGUzoKKwkJLyoKKwkJICogRFNQL1BDTSBNb2RlIEEgZm9ybWF0LCBTU0MgcHJvdmlkZXMgQkNMSyBhbmQgTFJDIGNsb2Nrcy4KKwkJICoKKwkJICogVGhlIFNTQyB0cmFuc21pdCBhbmQgcmVjZWl2ZSBjbG9ja3MgYXJlIGdlbmVyYXRlZCBmcm9tIHRoZQorCQkgKiBNQ0sgZGl2aWRlciwgYW5kIHRoZSBCQ0xLIHNpZ25hbCBpcyBvdXRwdXQgb24gdGhlIFNTQyBUSyBsaW5lCisJCSAqLworCQlwcl9kZWJ1ZygiYXQzMi1zc2M6IFNTQyBtb2RlIGlzIERTUCBBIEJDTEsgLyBGUkFNRSBtYXN0ZXJcbiIpOworCQlyY21yID0gKFNTQ19CRihSQ01SX1BFUklPRCwgc3NjX3AtPnJjbXJfcGVyaW9kKSB8CisJCQlTU0NfQkYoUkNNUl9TVFRETFksIDEpIHwKKwkJCVNTQ19CRihSQ01SX1NUQVJULCBTU0NfU1RBUlRfUklTSU5HX1JGKSB8CisJCQlTU0NfQkYoUkNNUl9DS0ksIFNTQ19DS0lfUklTSU5HKSB8CisJCQlTU0NfQkYoUkNNUl9DS08sIFNTQ19DS09fTk9ORSkgfAorCQkJU1NDX0JGKFJDTVJfQ0tTLCBTU0NfQ0tTX0RJVikpOworCisJCXJmbXIgPSAoU1NDX0JGKFJGTVJfRlNFREdFLCBTU0NfRlNFREdFX1BPU0lUSVZFKSB8CisJCQlTU0NfQkYoUkZNUl9GU09TLCBTU0NfRlNPU19QT1NJVElWRSkgfAorCQkJU1NDX0JGKFJGTVJfREFUTkIsIGNoYW5uZWxzIC0gMSkgfAorCQkJU1NDX0JJVChSRk1SX01TQkYpIHwgU1NDX0JGKFJGTVJfREFUTEVOLCBiaXRzIC0gMSkpOworCisJCXRjbXIgPSAoU1NDX0JGKFRDTVJfUEVSSU9ELCBzc2NfcC0+dGNtcl9wZXJpb2QpIHwKKwkJCVNTQ19CRihUQ01SX1NUVERMWSwgMSkgfAorCQkJU1NDX0JGKFRDTVJfU1RBUlQsIFNTQ19TVEFSVF9SSVNJTkdfUkYpIHwKKwkJCVNTQ19CRihUQ01SX0NLSSwgU1NDX0NLSV9SSVNJTkcpIHwKKwkJCVNTQ19CRihUQ01SX0NLTywgU1NDX0NLT19DT05USU5VT1VTKSB8CisJCQlTU0NfQkYoVENNUl9DS1MsIFNTQ19DS1NfRElWKSk7CisKKwkJdGZtciA9IChTU0NfQkYoVEZNUl9GU0VER0UsIFNTQ19GU0VER0VfUE9TSVRJVkUpIHwKKwkJCVNTQ19CRihURk1SX0ZTT1MsIFNTQ19GU09TX1BPU0lUSVZFKSB8CisJCQlTU0NfQkYoVEZNUl9EQVROQiwgY2hhbm5lbHMgLSAxKSB8CisJCQlTU0NfQklUKFRGTVJfTVNCRikgfCBTU0NfQkYoVEZNUl9EQVRMRU4sIGJpdHMgLSAxKSk7CisJCWJyZWFrOworCisKKwljYXNlIFNORF9TT0NfREFJRk1UX0RTUF9BIHwgU05EX1NPQ19EQUlGTVRfQ0JNX0NGTToKKwlkZWZhdWx0OgorCQlwcl93YXJuaW5nKCJhdDMyLXNzYzogdW5zdXBwb3J0ZWQgREFJIGZvcm1hdCAweCV4XG4iLAorCQkJICAgc3NjX3AtPmRhaWZtdCk7CisJCXJldHVybiAtRUlOVkFMOworCQlicmVhazsKKwl9CisJcHJfZGVidWcoImF0MzItc3NjOiBSQ01SPSUwOHggUkZNUj0lMDh4IFRDTVI9JTA4eCBURk1SPSUwOHhcbiIsCisJCSByY21yLCByZm1yLCB0Y21yLCB0Zm1yKTsKKworCisJaWYgKCFzc2NfcC0+aW5pdGlhbGl6ZWQpIHsKKwkJLyogZW5hYmxlIHBlcmlwaGVyYWwgY2xvY2sgKi8KKwkJcHJfZGVidWcoImF0MzItc3NjOiBTdGFydGluZyBjbG9ja1xuIik7CisJCWNsa19lbmFibGUoc3NjX3AtPnNzYy0+Y2xrKTsKKworCQkvKiBSZXNldCB0aGUgU1NDIGFuZCBpdHMgUERDIHJlZ2lzdGVycyAqLworCQlzc2Nfd3JpdGVsKHNzY19wLT5zc2MtPnJlZ3MsIENSLCBTU0NfQklUKENSX1NXUlNUKSk7CisKKwkJc3NjX3dyaXRlbChzc2NfcC0+c3NjLT5yZWdzLCBQRENfUlBSLCAwKTsKKwkJc3NjX3dyaXRlbChzc2NfcC0+c3NjLT5yZWdzLCBQRENfUkNSLCAwKTsKKwkJc3NjX3dyaXRlbChzc2NfcC0+c3NjLT5yZWdzLCBQRENfUk5QUiwgMCk7CisJCXNzY193cml0ZWwoc3NjX3AtPnNzYy0+cmVncywgUERDX1JOQ1IsIDApOworCisJCXNzY193cml0ZWwoc3NjX3AtPnNzYy0+cmVncywgUERDX1RQUiwgMCk7CisJCXNzY193cml0ZWwoc3NjX3AtPnNzYy0+cmVncywgUERDX1RDUiwgMCk7CisJCXNzY193cml0ZWwoc3NjX3AtPnNzYy0+cmVncywgUERDX1ROUFIsIDApOworCQlzc2Nfd3JpdGVsKHNzY19wLT5zc2MtPnJlZ3MsIFBEQ19UTkNSLCAwKTsKKworCQlyZXQgPSByZXF1ZXN0X2lycShzc2NfcC0+c3NjLT5pcnEsIGF0MzJfc3NjX2ludGVycnVwdCwgMCwKKwkJCQkgIHNzY19wLT5uYW1lLCBzc2NfcCk7CisJCWlmIChyZXQgPCAwKSB7CisJCQlwcl93YXJuaW5nKCJhdDMyLXNzYzogcmVxdWVzdCBpcnEgZmFpbGVkICglZClcbiIsIHJldCk7CisJCQlwcl9kZWJ1ZygiYXQzMi1zc2M6IFN0b3BwaW5nIGNsb2NrXG4iKTsKKwkJCWNsa19kaXNhYmxlKHNzY19wLT5zc2MtPmNsayk7CisJCQlyZXR1cm4gcmV0OworCQl9CisKKwkJc3NjX3AtPmluaXRpYWxpemVkID0gMTsKKwl9CisKKwkvKiBTZXQgU1NDIGNsb2NrIG1vZGUgcmVnaXN0ZXIgKi8KKwlzc2Nfd3JpdGVsKHNzY19wLT5zc2MtPnJlZ3MsIENNUiwgc3NjX3AtPmNtcl9kaXYpOworCisJLyogc2V0IHJlY2VpdmUgY2xvY2sgbW9kZSBhbmQgZm9ybWF0ICovCisJc3NjX3dyaXRlbChzc2NfcC0+c3NjLT5yZWdzLCBSQ01SLCByY21yKTsKKwlzc2Nfd3JpdGVsKHNzY19wLT5zc2MtPnJlZ3MsIFJGTVIsIHJmbXIpOworCisJLyogc2V0IHRyYW5zbWl0IGNsb2NrIG1vZGUgYW5kIGZvcm1hdCAqLworCXNzY193cml0ZWwoc3NjX3AtPnNzYy0+cmVncywgVENNUiwgdGNtcik7CisJc3NjX3dyaXRlbChzc2NfcC0+c3NjLT5yZWdzLCBURk1SLCB0Zm1yKTsKKworCXByX2RlYnVnKCJhdDMyLXNzYzogU1NDIGluaXRpYWxpemVkXG4iKTsKKwlyZXR1cm4gMDsKK30KKworCisKK3N0YXRpYyBpbnQgYXQzMl9zc2NfcHJlcGFyZShzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSkKK3sKKwlzdHJ1Y3Qgc25kX3NvY19wY21fcnVudGltZSAqcnRkID0gc3Vic3RyZWFtLT5wcml2YXRlX2RhdGE7CisJc3RydWN0IGF0MzJfc3NjX2luZm8gKnNzY19wID0gJnNzY19pbmZvW3J0ZC0+ZGFpLT5jcHVfZGFpLT5pZF07CisJc3RydWN0IGF0MzJfcGNtX2RtYV9wYXJhbXMgKmRtYV9wYXJhbXM7CisKKwlkbWFfcGFyYW1zID0gc3NjX3AtPmRtYV9wYXJhbXNbc3Vic3RyZWFtLT5zdHJlYW1dOworCisJc3NjX3dyaXRlbChkbWFfcGFyYW1zLT5zc2MtPnJlZ3MsIENSLCBkbWFfcGFyYW1zLT5tYXNrLT5zc2NfZW5hYmxlKTsKKworCXJldHVybiAwOworfQorCisKKworI2lmZGVmIENPTkZJR19QTQorc3RhdGljIGludCBhdDMyX3NzY19zdXNwZW5kKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsCisJCQkgICAgc3RydWN0IHNuZF9zb2NfZGFpICpjcHVfZGFpKQoreworCXN0cnVjdCBhdDMyX3NzY19pbmZvICpzc2NfcDsKKworCWlmICghY3B1X2RhaS0+YWN0aXZlKQorCQlyZXR1cm4gMDsKKworCXNzY19wID0gJnNzY19pbmZvW2NwdV9kYWktPmlkXTsKKworCS8qIFNhdmUgdGhlIHN0YXR1cyByZWdpc3RlciBiZWZvcmUgZGlzYWJsaW5nIHRyYW5zbWl0IGFuZCByZWNlaXZlICovCisJc3NjX3AtPnNzY19zdGF0ZS5zc2Nfc3IgPSBzc2NfcmVhZGwoc3NjX3AtPnNzYy0+cmVncywgU1IpOworCXNzY193cml0ZWwoc3NjX3AtPnNzYy0+cmVncywgQ1IsIFNTQ19CSVQoQ1JfVFhESVMpIHwgU1NDX0JJVChDUl9SWERJUykpOworCisJLyogU2F2ZSB0aGUgY3VycmVudCBpbnRlcnJ1cHQgbWFzaywgdGhlbiBkaXNhYmxlIHVubWFza2VkIGludGVycnVwdHMgKi8KKwlzc2NfcC0+c3NjX3N0YXRlLnNzY19pbXIgPSBzc2NfcmVhZGwoc3NjX3AtPnNzYy0+cmVncywgSU1SKTsKKwlzc2Nfd3JpdGVsKHNzY19wLT5zc2MtPnJlZ3MsIElEUiwgc3NjX3AtPnNzY19zdGF0ZS5zc2NfaW1yKTsKKworCXNzY19wLT5zc2Nfc3RhdGUuc3NjX2NtciA9IHNzY19yZWFkbChzc2NfcC0+c3NjLT5yZWdzLCBDTVIpOworCXNzY19wLT5zc2Nfc3RhdGUuc3NjX3JjbXIgPSBzc2NfcmVhZGwoc3NjX3AtPnNzYy0+cmVncywgUkNNUik7CisJc3NjX3AtPnNzY19zdGF0ZS5zc2NfcmZtciA9IHNzY19yZWFkbChzc2NfcC0+c3NjLT5yZWdzLCBSRk1SKTsKKwlzc2NfcC0+c3NjX3N0YXRlLnNzY190Y21yID0gc3NjX3JlYWRsKHNzY19wLT5zc2MtPnJlZ3MsIFRDTVIpOworCXNzY19wLT5zc2Nfc3RhdGUuc3NjX3RmbXIgPSBzc2NfcmVhZGwoc3NjX3AtPnNzYy0+cmVncywgVEZNUik7CisKKwlyZXR1cm4gMDsKK30KKworCisKK3N0YXRpYyBpbnQgYXQzMl9zc2NfcmVzdW1lKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsCisJCQkgICBzdHJ1Y3Qgc25kX3NvY19kYWkgKmNwdV9kYWkpCit7CisJc3RydWN0IGF0MzJfc3NjX2luZm8gKnNzY19wOworCXUzMiBjcjsKKworCWlmICghY3B1X2RhaS0+YWN0aXZlKQorCQlyZXR1cm4gMDsKKworCXNzY19wID0gJnNzY19pbmZvW2NwdV9kYWktPmlkXTsKKworCS8qIHJlc3RvcmUgU1NDIHJlZ2lzdGVyIHNldHRpbmdzICovCisJc3NjX3dyaXRlbChzc2NfcC0+c3NjLT5yZWdzLCBURk1SLCBzc2NfcC0+c3NjX3N0YXRlLnNzY190Zm1yKTsKKwlzc2Nfd3JpdGVsKHNzY19wLT5zc2MtPnJlZ3MsIFRDTVIsIHNzY19wLT5zc2Nfc3RhdGUuc3NjX3RjbXIpOworCXNzY193cml0ZWwoc3NjX3AtPnNzYy0+cmVncywgUkZNUiwgc3NjX3AtPnNzY19zdGF0ZS5zc2NfcmZtcik7CisJc3NjX3dyaXRlbChzc2NfcC0+c3NjLT5yZWdzLCBSQ01SLCBzc2NfcC0+c3NjX3N0YXRlLnNzY19yY21yKTsKKwlzc2Nfd3JpdGVsKHNzY19wLT5zc2MtPnJlZ3MsIENNUiwgc3NjX3AtPnNzY19zdGF0ZS5zc2NfY21yKTsKKworCS8qIHJlLWVuYWJsZSBpbnRlcnJ1cHRzICovCisJc3NjX3dyaXRlbChzc2NfcC0+c3NjLT5yZWdzLCBJRVIsIHNzY19wLT5zc2Nfc3RhdGUuc3NjX2ltcik7CisKKwkvKiBSZS1lbmFibGUgcmVjaWV2ZSBhbmQgdHJhbnNtaXQgYXMgYXBwcm9wcmlhdGUgKi8KKwljciA9IDA7CisJY3IgfD0KKwkgICAgKHNzY19wLT5zc2Nfc3RhdGUuc3NjX3NyICYgU1NDX0JJVChTUl9SWEVOKSkgPyBTU0NfQklUKENSX1JYRU4pIDogMDsKKwljciB8PQorCSAgICAoc3NjX3AtPnNzY19zdGF0ZS5zc2Nfc3IgJiBTU0NfQklUKFNSX1RYRU4pKSA/IFNTQ19CSVQoQ1JfVFhFTikgOiAwOworCXNzY193cml0ZWwoc3NjX3AtPnNzYy0+cmVncywgQ1IsIGNyKTsKKworCXJldHVybiAwOworfQorI2Vsc2UgLyogQ09ORklHX1BNICovCisjICBkZWZpbmUgYXQzMl9zc2Nfc3VzcGVuZAlOVUxMCisjICBkZWZpbmUgYXQzMl9zc2NfcmVzdW1lCU5VTEwKKyNlbmRpZiAvKiBDT05GSUdfUE0gKi8KKworCisjZGVmaW5lIEFUMzJfU1NDX1JBVEVTIFwKKyAgICAoU05EUlZfUENNX1JBVEVfODAwMCAgfCBTTkRSVl9QQ01fUkFURV8xMTAyNSB8IFNORFJWX1BDTV9SQVRFXzE2MDAwIHwgXAorICAgICBTTkRSVl9QQ01fUkFURV8yMjA1MCB8IFNORFJWX1BDTV9SQVRFXzMyMDAwIHwgU05EUlZfUENNX1JBVEVfNDQxMDAgfCBcCisgICAgIFNORFJWX1BDTV9SQVRFXzQ4MDAwIHwgU05EUlZfUENNX1JBVEVfODgyMDAgfCBTTkRSVl9QQ01fUkFURV85NjAwMCkKKworCisjZGVmaW5lIEFUMzJfU1NDX0ZPUk1BVFMgXAorICAgIChTTkRSVl9QQ01fRk1UQklUX1M4ICB8IFNORFJWX1BDTV9GTVRCSVRfUzE2IHwgXAorICAgICBTTkRSVl9QQ01fRk1UQklUX1MyNCB8IFNORFJWX1BDTV9GTVRCSVRfUzMyKQorCisKK3N0cnVjdCBzbmRfc29jX2RhaSBhdDMyX3NzY19kYWlbTlVNX1NTQ19ERVZJQ0VTXSA9IHsKKwl7CisJIC5uYW1lID0gImF0MzItc3NjMCIsCisJIC5pZCA9IDAsCisJIC50eXBlID0gU05EX1NPQ19EQUlfUENNLAorCSAuc3VzcGVuZCA9IGF0MzJfc3NjX3N1c3BlbmQsCisJIC5yZXN1bWUgPSBhdDMyX3NzY19yZXN1bWUsCisJIC5wbGF5YmFjayA9IHsKKwkJICAgICAgLmNoYW5uZWxzX21pbiA9IDEsCisJCSAgICAgIC5jaGFubmVsc19tYXggPSAyLAorCQkgICAgICAucmF0ZXMgPSBBVDMyX1NTQ19SQVRFUywKKwkJICAgICAgLmZvcm1hdHMgPSBBVDMyX1NTQ19GT1JNQVRTLAorCQkgICAgICB9LAorCSAuY2FwdHVyZSA9IHsKKwkJICAgICAuY2hhbm5lbHNfbWluID0gMSwKKwkJICAgICAuY2hhbm5lbHNfbWF4ID0gMiwKKwkJICAgICAucmF0ZXMgPSBBVDMyX1NTQ19SQVRFUywKKwkJICAgICAuZm9ybWF0cyA9IEFUMzJfU1NDX0ZPUk1BVFMsCisJCSAgICAgfSwKKwkgLm9wcyA9IHsKKwkJIC5zdGFydHVwID0gYXQzMl9zc2Nfc3RhcnR1cCwKKwkJIC5zaHV0ZG93biA9IGF0MzJfc3NjX3NodXRkb3duLAorCQkgLnByZXBhcmUgPSBhdDMyX3NzY19wcmVwYXJlLAorCQkgLmh3X3BhcmFtcyA9IGF0MzJfc3NjX2h3X3BhcmFtcywKKwkJIH0sCisJIC5kYWlfb3BzID0geworCQkgICAgIC5zZXRfc3lzY2xrID0gYXQzMl9zc2Nfc2V0X2RhaV9zeXNjbGssCisJCSAgICAgLnNldF9mbXQgPSBhdDMyX3NzY19zZXRfZGFpX2ZtdCwKKwkJICAgICAuc2V0X2Nsa2RpdiA9IGF0MzJfc3NjX3NldF9kYWlfY2xrZGl2LAorCQkgICAgIH0sCisJIC5wcml2YXRlX2RhdGEgPSAmc3NjX2luZm9bMF0sCisJIH0sCisJeworCSAubmFtZSA9ICJhdDMyLXNzYzEiLAorCSAuaWQgPSAxLAorCSAudHlwZSA9IFNORF9TT0NfREFJX1BDTSwKKwkgLnN1c3BlbmQgPSBhdDMyX3NzY19zdXNwZW5kLAorCSAucmVzdW1lID0gYXQzMl9zc2NfcmVzdW1lLAorCSAucGxheWJhY2sgPSB7CisJCSAgICAgIC5jaGFubmVsc19taW4gPSAxLAorCQkgICAgICAuY2hhbm5lbHNfbWF4ID0gMiwKKwkJICAgICAgLnJhdGVzID0gQVQzMl9TU0NfUkFURVMsCisJCSAgICAgIC5mb3JtYXRzID0gQVQzMl9TU0NfRk9STUFUUywKKwkJICAgICAgfSwKKwkgLmNhcHR1cmUgPSB7CisJCSAgICAgLmNoYW5uZWxzX21pbiA9IDEsCisJCSAgICAgLmNoYW5uZWxzX21heCA9IDIsCisJCSAgICAgLnJhdGVzID0gQVQzMl9TU0NfUkFURVMsCisJCSAgICAgLmZvcm1hdHMgPSBBVDMyX1NTQ19GT1JNQVRTLAorCQkgICAgIH0sCisJIC5vcHMgPSB7CisJCSAuc3RhcnR1cCA9IGF0MzJfc3NjX3N0YXJ0dXAsCisJCSAuc2h1dGRvd24gPSBhdDMyX3NzY19zaHV0ZG93biwKKwkJIC5wcmVwYXJlID0gYXQzMl9zc2NfcHJlcGFyZSwKKwkJIC5od19wYXJhbXMgPSBhdDMyX3NzY19od19wYXJhbXMsCisJCSB9LAorCSAuZGFpX29wcyA9IHsKKwkJICAgICAuc2V0X3N5c2NsayA9IGF0MzJfc3NjX3NldF9kYWlfc3lzY2xrLAorCQkgICAgIC5zZXRfZm10ID0gYXQzMl9zc2Nfc2V0X2RhaV9mbXQsCisJCSAgICAgLnNldF9jbGtkaXYgPSBhdDMyX3NzY19zZXRfZGFpX2Nsa2RpdiwKKwkJICAgICB9LAorCSAucHJpdmF0ZV9kYXRhID0gJnNzY19pbmZvWzFdLAorCSB9LAorCXsKKwkgLm5hbWUgPSAiYXQzMi1zc2MyIiwKKwkgLmlkID0gMiwKKwkgLnR5cGUgPSBTTkRfU09DX0RBSV9QQ00sCisJIC5zdXNwZW5kID0gYXQzMl9zc2Nfc3VzcGVuZCwKKwkgLnJlc3VtZSA9IGF0MzJfc3NjX3Jlc3VtZSwKKwkgLnBsYXliYWNrID0geworCQkgICAgICAuY2hhbm5lbHNfbWluID0gMSwKKwkJICAgICAgLmNoYW5uZWxzX21heCA9IDIsCisJCSAgICAgIC5yYXRlcyA9IEFUMzJfU1NDX1JBVEVTLAorCQkgICAgICAuZm9ybWF0cyA9IEFUMzJfU1NDX0ZPUk1BVFMsCisJCSAgICAgIH0sCisJIC5jYXB0dXJlID0geworCQkgICAgIC5jaGFubmVsc19taW4gPSAxLAorCQkgICAgIC5jaGFubmVsc19tYXggPSAyLAorCQkgICAgIC5yYXRlcyA9IEFUMzJfU1NDX1JBVEVTLAorCQkgICAgIC5mb3JtYXRzID0gQVQzMl9TU0NfRk9STUFUUywKKwkJICAgICB9LAorCSAub3BzID0geworCQkgLnN0YXJ0dXAgPSBhdDMyX3NzY19zdGFydHVwLAorCQkgLnNodXRkb3duID0gYXQzMl9zc2Nfc2h1dGRvd24sCisJCSAucHJlcGFyZSA9IGF0MzJfc3NjX3ByZXBhcmUsCisJCSAuaHdfcGFyYW1zID0gYXQzMl9zc2NfaHdfcGFyYW1zLAorCQkgfSwKKwkgLmRhaV9vcHMgPSB7CisJCSAgICAgLnNldF9zeXNjbGsgPSBhdDMyX3NzY19zZXRfZGFpX3N5c2NsaywKKwkJICAgICAuc2V0X2ZtdCA9IGF0MzJfc3NjX3NldF9kYWlfZm10LAorCQkgICAgIC5zZXRfY2xrZGl2ID0gYXQzMl9zc2Nfc2V0X2RhaV9jbGtkaXYsCisJCSAgICAgfSwKKwkgLnByaXZhdGVfZGF0YSA9ICZzc2NfaW5mb1syXSwKKwkgfSwKK307CitFWFBPUlRfU1lNQk9MX0dQTChhdDMyX3NzY19kYWkpOworCisKK01PRFVMRV9BVVRIT1IoIkdlb2ZmcmV5IFdvc3N1bSA8Z3dvc3N1bUBhY20ub3JnPiIpOworTU9EVUxFX0RFU0NSSVBUSU9OKCJBVDMyIFNTQyBBU29DIEludGVyZmFjZSIpOworTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOwpkaWZmIC0tZ2l0IGEvc291bmQvc29jL2F0MzIvYXQzMi1zc2MuaCBiL3NvdW5kL3NvYy9hdDMyL2F0MzItc3NjLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2MwNTJkYgotLS0gL2Rldi9udWxsCisrKyBiL3NvdW5kL3NvYy9hdDMyL2F0MzItc3NjLmgKQEAgLTAsMCArMSw1OSBAQAorLyogc291bmQvc29jL2F0MzIvYXQzMi1zc2MuaAorICogQVNvQyBTU0MgaW50ZXJmYWNlIGZvciBBdG1lbCBBVDMyIFNvQworICoKKyAqIENvcHlyaWdodCAoQykgMjAwOCBMb25nIFJhbmdlIFN5c3RlbXMKKyAqICAgIEdlb2ZmcmV5IFdvc3N1bSA8Z3dvc3N1bUBhY20ub3JnPgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcworICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisgKi8KKworI2lmbmRlZiBfX1NPVU5EX1NPQ19BVDMyX0FUMzJfU1NDX0gKKyNkZWZpbmUgX19TT1VORF9TT0NfQVQzMl9BVDMyX1NTQ19IIF9fRklMRV9fCisKKyNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgorI2luY2x1ZGUgPGxpbnV4L2F0bWVsLXNzYy5oPgorCisjaW5jbHVkZSAiYXQzMi1wY20uaCIKKworCisKK3N0cnVjdCBhdDMyX3NzY19zdGF0ZSB7CisJdTMyIHNzY19jbXI7CisJdTMyIHNzY19yY21yOworCXUzMiBzc2NfcmZtcjsKKwl1MzIgc3NjX3RjbXI7CisJdTMyIHNzY190Zm1yOworCXUzMiBzc2Nfc3I7CisJdTMyIHNzY19pbXI7Cit9OworCisKKworc3RydWN0IGF0MzJfc3NjX2luZm8geworCWNoYXIgKm5hbWU7CisJc3RydWN0IHNzY19kZXZpY2UgKnNzYzsKKwlzcGlubG9ja190IGxvY2s7CS8qIGxvY2sgZm9yIGRpcl9tYXNrICovCisJdW5zaWduZWQgc2hvcnQgZGlyX21hc2s7CS8qIDA9dW51c2VkLCAxPXBsYXliYWNrLCAyPWNhcHR1cmUgKi8KKwl1bnNpZ25lZCBzaG9ydCBpbml0aWFsaXplZDsJLyogdHJ1ZSBpZiBTU0MgaGFzIGJlZW4gaW5pdGlhbGl6ZWQgKi8KKwl1bnNpZ25lZCBzaG9ydCBkYWlmbXQ7CisJdW5zaWduZWQgc2hvcnQgY21yX2RpdjsKKwl1bnNpZ25lZCBzaG9ydCB0Y21yX3BlcmlvZDsKKwl1bnNpZ25lZCBzaG9ydCByY21yX3BlcmlvZDsKKwlzdHJ1Y3QgYXQzMl9wY21fZG1hX3BhcmFtcyAqZG1hX3BhcmFtc1syXTsKKwlzdHJ1Y3QgYXQzMl9zc2Nfc3RhdGUgc3NjX3N0YXRlOworfTsKKworCisvKiBTU0MgZGl2aWRlciBpZHMgKi8KKyNkZWZpbmUgQVQzMl9TU0NfQ01SX0RJViAgICAgICAgMAkvKiBNQ0sgZGl2aWRlciBmb3IgQkNMSyAqLworI2RlZmluZSBBVDMyX1NTQ19UQ01SX1BFUklPRCAgICAxCS8qIEJDTEsgZGl2aWRlciBmb3IgdHJhbnNtaXQgRlMgKi8KKyNkZWZpbmUgQVQzMl9TU0NfUkNNUl9QRVJJT0QgICAgMgkvKiBCQ0xLIGRpdmlkZXIgZm9yIHJlY2VpdmUgRlMgKi8KKworCitleHRlcm4gc3RydWN0IHNuZF9zb2NfZGFpIGF0MzJfc3NjX2RhaVtdOworCisKKworI2VuZGlmIC8qIF9fU09VTkRfU09DX0FUMzJfQVQzMl9TU0NfSCAqLwpkaWZmIC0tZ2l0IGEvc291bmQvc29jL2F0MzIvcGxheXBhcV93bTg1MTAuYyBiL3NvdW5kL3NvYy9hdDMyL3BsYXlwYXFfd204NTEwLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmVlNWY4ZQotLS0gL2Rldi9udWxsCisrKyBiL3NvdW5kL3NvYy9hdDMyL3BsYXlwYXFfd204NTEwLmMKQEAgLTAsMCArMSw1MjIgQEAKKy8qIHNvdW5kL3NvYy9hdDMyL3BsYXlwYXFfd204NTEwLmMKKyAqIEFTb0MgbWFjaGluZSBkcml2ZXIgZm9yIFBsYXlQYXEgdXNpbmcgV004NTEwIGNvZGVjCisgKgorICogQ29weXJpZ2h0IChDKSAyMDA4IExvbmcgUmFuZ2UgU3lzdGVtcworICogICAgR2VvZmZyZXkgV29zc3VtIDxnd29zc3VtQGFjbS5vcmc+CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCisgKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyAqCisgKiBUaGlzIGNvZGUgaXMgbGFyZ2VseSBpbnNwaXJlZCBieSBzb3VuZC9zb2MvYXQ5MS9ldGlfYjFfd204NzMxLmMKKyAqCisgKiBOT1RFOiBJZiB5b3UgZG9uJ3QgaGF2ZSB0aGUgQVQzMiBlbmhhbmNlZCBwb3J0bXV4IGNvbmZpZ3VyZWQgKHdoaWNoCisgKiBpc24ndCBjdXJyZW50bHkgaW4gdGhlIG1haW5saW5lIG9yIEF0bWVsIHBhdGNoZWQga2VybmVsKSwgeW91IHdpbGwKKyAqIG5lZWQgdG8gc2V0IHRoZSBNQ0xLIHBpbiAoUEEzMCkgdG8gcGVyaXBoZXJhbCBBIGluIHlvdXIgYm9hcmQgaW5pdGlhbGl6YXRpb24KKyAqIGNvZGUuICBTb21ldGhpbmcgbGlrZToKKyAqCWF0MzJfc2VsZWN0X3BlcmlwaChHUElPX1BJTl9QQSgzMCksIEdQSU9fUEVSSVBIX0EsIDApOworICoKKyAqLworCisvKiAjZGVmaW5lIERFQlVHICovCisKKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGVwYXJhbS5oPgorI2luY2x1ZGUgPGxpbnV4L3ZlcnNpb24uaD4KKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9lcnJuby5oPgorI2luY2x1ZGUgPGxpbnV4L2Nsay5oPgorI2luY2x1ZGUgPGxpbnV4L3RpbWVyLmg+CisjaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+CisjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CisKKyNpbmNsdWRlIDxzb3VuZC9jb3JlLmg+CisjaW5jbHVkZSA8c291bmQvcGNtLmg+CisjaW5jbHVkZSA8c291bmQvcGNtX3BhcmFtcy5oPgorI2luY2x1ZGUgPHNvdW5kL3NvYy5oPgorI2luY2x1ZGUgPHNvdW5kL3NvYy1kYXBtLmg+CisKKyNpbmNsdWRlIDxhc20vYXJjaC9hdDMyYXA3MDB4Lmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvcG9ydG11eC5oPgorCisjaW5jbHVkZSAiLi4vY29kZWNzL3dtODUxMC5oIgorI2luY2x1ZGUgImF0MzItcGNtLmgiCisjaW5jbHVkZSAiYXQzMi1zc2MuaCIKKworCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXAorICogY29uc3RhbnRzCitcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworI2RlZmluZSBNQ0xLX1BJTgkJR1BJT19QSU5fUEEoMzApCisjZGVmaW5lIE1DTEtfUEVSSVBICQlHUElPX1BFUklQSF9BCisKKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlwKKyAqIGRhdGEgdHlwZXMKK1wqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisvKiBTU0MgY2xvY2tpbmcgZGF0YSAqLworc3RydWN0IHNzY19jbG9ja19kYXRhIHsKKwkvKiBDTVIgZGl2ICovCisJdW5zaWduZWQgaW50IGNtcl9kaXY7CisKKwkvKiBGcmFtZSBwZXJpb2QgKGFzIG5lZWRlZCBieSB4Q01SLlBFUklPRCkgKi8KKwl1bnNpZ25lZCBpbnQgcGVyaW9kOworCisJLyogVGhlIFNTQyBjbG9jayByYXRlIHRoZXNlIHNldHRpbmdzIHdoZXJlIGNhbGN1bGF0ZWQgZm9yICovCisJdW5zaWduZWQgbG9uZyBzc2NfcmF0ZTsKK307CisKKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlwKKyAqIG1vZHVsZSBkYXRhCitcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworc3RhdGljIHN0cnVjdCBjbGsgKl9nY2xrMDsKK3N0YXRpYyBzdHJ1Y3QgY2xrICpfcGxsMDsKKworI2RlZmluZSBDT0RFQ19DTEsgKF9nY2xrMCkKKworCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXAorICogU291bmQgU09DIG9wZXJhdGlvbnMKK1wqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisjaWYgZGVmaW5lZCBDT05GSUdfU05EX0FUMzJfU09DX1BMQVlQQVFfU0xBVkUKK3N0YXRpYyBzdHJ1Y3Qgc3NjX2Nsb2NrX2RhdGEgcGxheXBhcV93bTg1MTBfY2FsY19zc2NfY2xvY2soCisJc3RydWN0IHNuZF9wY21faHdfcGFyYW1zICpwYXJhbXMsCisJc3RydWN0IHNuZF9zb2NfZGFpICpjcHVfZGFpKQoreworCXN0cnVjdCBhdDMyX3NzY19pbmZvICpzc2NfcCA9IGNwdV9kYWktPnByaXZhdGVfZGF0YTsKKwlzdHJ1Y3Qgc3NjX2RldmljZSAqc3NjID0gc3NjX3AtPnNzYzsKKwlzdHJ1Y3Qgc3NjX2Nsb2NrX2RhdGEgY2Q7CisJdW5zaWduZWQgaW50IHJhdGUsIHdpZHRoX2JpdHMsIGNoYW5uZWxzOworCXVuc2lnbmVkIGludCBiaXRyYXRlLCBzc2NfZGl2OworCXVuc2lnbmVkIGFjdHVhbF9yYXRlOworCisKKwkvKgorCSAqIEZpZ3VyZSBvdXQgcmVxdWlyZWQgYml0cmF0ZQorCSAqLworCXJhdGUgPSBwYXJhbXNfcmF0ZShwYXJhbXMpOworCWNoYW5uZWxzID0gcGFyYW1zX2NoYW5uZWxzKHBhcmFtcyk7CisJd2lkdGhfYml0cyA9IHNuZF9wY21fZm9ybWF0X3BoeXNpY2FsX3dpZHRoKHBhcmFtc19mb3JtYXQocGFyYW1zKSk7CisJYml0cmF0ZSA9IHJhdGUgKiB3aWR0aF9iaXRzICogY2hhbm5lbHM7CisKKworCS8qCisJICogRmlndXJlIG91dCByZXF1aXJlZCBTU0MgZGl2aWRlciBhbmQgcGVyaW9kIGZvciByZXF1aXJlZCBiaXRyYXRlCisJICovCisJY2Quc3NjX3JhdGUgPSBjbGtfZ2V0X3JhdGUoc3NjLT5jbGspOworCXNzY19kaXYgPSBjZC5zc2NfcmF0ZSAvIGJpdHJhdGU7CisJY2QuY21yX2RpdiA9IHNzY19kaXYgLyAyOworCWlmIChzc2NfZGl2ICYgMSkgeworCQkvKiByb3VuZCBjbXJfZGl2IHVwICovCisJCWNkLmNtcl9kaXYrKzsKKwl9CisJY2QucGVyaW9kID0gd2lkdGhfYml0cyAtIDE7CisKKworCS8qCisJICogRmluZCBhY3R1YWwgcmF0ZSwgY29tcGFyZSB0byByZXF1ZXN0ZWQgcmF0ZQorCSAqLworCWFjdHVhbF9yYXRlID0gKGNkLnNzY19yYXRlIC8gKGNkLmNtcl9kaXYgKiAyKSkgLyAoMiAqIChjZC5wZXJpb2QgKyAxKSk7CisJcHJfZGVidWcoInBsYXlwYXFfd204NTEwOiBSZXF1ZXN0IHJhdGUgPSAlZCwgYWN0dWFsIHJhdGUgPSAlZFxuIiwKKwkJIHJhdGUsIGFjdHVhbF9yYXRlKTsKKworCisJcmV0dXJuIGNkOworfQorI2VuZGlmIC8qIENPTkZJR19TTkRfQVQzMl9TT0NfUExBWVBBUV9TTEFWRSAqLworCisKKworc3RhdGljIGludCBwbGF5cGFxX3dtODUxMF9od19wYXJhbXMoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0sCisJCQkJICAgIHN0cnVjdCBzbmRfcGNtX2h3X3BhcmFtcyAqcGFyYW1zKQoreworCXN0cnVjdCBzbmRfc29jX3BjbV9ydW50aW1lICpydGQgPSBzdWJzdHJlYW0tPnByaXZhdGVfZGF0YTsKKwlzdHJ1Y3Qgc25kX3NvY19kYWkgKmNvZGVjX2RhaSA9IHJ0ZC0+ZGFpLT5jb2RlY19kYWk7CisJc3RydWN0IHNuZF9zb2NfZGFpICpjcHVfZGFpID0gcnRkLT5kYWktPmNwdV9kYWk7CisJc3RydWN0IGF0MzJfc3NjX2luZm8gKnNzY19wID0gY3B1X2RhaS0+cHJpdmF0ZV9kYXRhOworCXN0cnVjdCBzc2NfZGV2aWNlICpzc2MgPSBzc2NfcC0+c3NjOworCXVuc2lnbmVkIGludCBwbGxfb3V0ID0gMCwgYmNsayA9IDAsIG1jbGtfZGl2ID0gMDsKKwlpbnQgcmV0OworCisKKwkvKiBEdWUgdG8gZGlmZmljdWx0aWVzIHdpdGggZ2V0dGluZyB0aGUgY29ycmVjdCBjbG9ja3MgZnJvbSB0aGUgQVQzMidzCisJICogUExMMCwgd2UncmUgZ29pbmcgdG8gbGV0IHRoZSBDT0RFQyBiZSBpbiBjaGFyZ2Ugb2YgYWxsIHRoZSBjbG9ja3MKKwkgKi8KKyNpZiAhZGVmaW5lZCBDT05GSUdfU05EX0FUMzJfU09DX1BMQVlQQVFfU0xBVkUKKwljb25zdCB1bnNpZ25lZCBpbnQgZm10ID0gKFNORF9TT0NfREFJRk1UX0kyUyB8CisJCQkJICBTTkRfU09DX0RBSUZNVF9OQl9ORiB8CisJCQkJICBTTkRfU09DX0RBSUZNVF9DQk1fQ0ZNKTsKKyNlbHNlCisJc3RydWN0IHNzY19jbG9ja19kYXRhIGNkOworCWNvbnN0IHVuc2lnbmVkIGludCBmbXQgPSAoU05EX1NPQ19EQUlGTVRfSTJTIHwKKwkJCQkgIFNORF9TT0NfREFJRk1UX05CX05GIHwKKwkJCQkgIFNORF9TT0NfREFJRk1UX0NCU19DRlMpOworI2VuZGlmCisKKwlpZiAoc3NjID09IE5VTEwpIHsKKwkJcHJfd2FybmluZygicGxheXBhcV93bTg1MTBfaHdfcGFyYW1zOiBzc2MgaXMgTlVMTCFcbiIpOworCQlyZXR1cm4gLUVJTlZBTDsKKwl9CisKKworCS8qCisJICogRmlndXJlIG91dCBQTEwgYW5kIEJDTEsgZGl2aWRlcnMgZm9yIFdNODUxMAorCSAqLworCXN3aXRjaCAocGFyYW1zX3JhdGUocGFyYW1zKSkgeworCWNhc2UgNDgwMDA6CisJCXBsbF9vdXQgPSAxMjI4ODAwMDsKKwkJbWNsa19kaXYgPSBXTTg1MTBfTUNMS0RJVl8xOworCQliY2xrID0gV004NTEwX0JDTEtESVZfODsKKwkJYnJlYWs7CisKKwljYXNlIDQ0MTAwOgorCQlwbGxfb3V0ID0gMTEyODk2MDA7CisJCW1jbGtfZGl2ID0gV004NTEwX01DTEtESVZfMTsKKwkJYmNsayA9IFdNODUxMF9CQ0xLRElWXzg7CisJCWJyZWFrOworCisJY2FzZSAyMjA1MDoKKwkJcGxsX291dCA9IDExMjg5NjAwOworCQltY2xrX2RpdiA9IFdNODUxMF9NQ0xLRElWXzI7CisJCWJjbGsgPSBXTTg1MTBfQkNMS0RJVl84OworCQlicmVhazsKKworCWNhc2UgMTYwMDA6CisJCXBsbF9vdXQgPSAxMjI4ODAwMDsKKwkJbWNsa19kaXYgPSBXTTg1MTBfTUNMS0RJVl8zOworCQliY2xrID0gV004NTEwX0JDTEtESVZfODsKKwkJYnJlYWs7CisKKwljYXNlIDExMDI1OgorCQlwbGxfb3V0ID0gMTEyODk2MDA7CisJCW1jbGtfZGl2ID0gV004NTEwX01DTEtESVZfNDsKKwkJYmNsayA9IFdNODUxMF9CQ0xLRElWXzg7CisJCWJyZWFrOworCisJY2FzZSA4MDAwOgorCQlwbGxfb3V0ID0gMTIyODgwMDA7CisJCW1jbGtfZGl2ID0gV004NTEwX01DTEtESVZfNjsKKwkJYmNsayA9IFdNODUxMF9CQ0xLRElWXzg7CisJCWJyZWFrOworCisJZGVmYXVsdDoKKwkJcHJfd2FybmluZygicGxheXBhcV93bTg1MTA6IFVuc3VwcG9ydGVkIHNhbXBsZSByYXRlICVkXG4iLAorCQkJICAgcGFyYW1zX3JhdGUocGFyYW1zKSk7CisJCXJldHVybiAtRUlOVkFMOworCX0KKworCisJLyoKKwkgKiBzZXQgQ1BVIGFuZCBDT0RFQyBEQUkgY29uZmlndXJhdGlvbgorCSAqLworCXJldCA9IHNuZF9zb2NfZGFpX3NldF9mbXQoY29kZWNfZGFpLCBmbXQpOworCWlmIChyZXQgPCAwKSB7CisJCXByX3dhcm5pbmcoInBsYXlwYXFfd204NTEwOiAiCisJCQkgICAiRmFpbGVkIHRvIHNldCBDT0RFQyBEQUkgZm9ybWF0ICglZClcbiIsCisJCQkgICByZXQpOworCQlyZXR1cm4gcmV0OworCX0KKwlyZXQgPSBzbmRfc29jX2RhaV9zZXRfZm10KGNwdV9kYWksIGZtdCk7CisJaWYgKHJldCA8IDApIHsKKwkJcHJfd2FybmluZygicGxheXBhcV93bTg1MTA6ICIKKwkJCSAgICJGYWlsZWQgdG8gc2V0IENQVSBEQUkgZm9ybWF0ICglZClcbiIsCisJCQkgICByZXQpOworCQlyZXR1cm4gcmV0OworCX0KKworCisJLyoKKwkgKiBTZXQgQ1BVIGNsb2NrIGNvbmZpZ3VyYXRpb24KKwkgKi8KKyNpZiBkZWZpbmVkIENPTkZJR19TTkRfQVQzMl9TT0NfUExBWVBBUV9TTEFWRQorCWNkID0gcGxheXBhcV93bTg1MTBfY2FsY19zc2NfY2xvY2socGFyYW1zLCBjcHVfZGFpKTsKKwlwcl9kZWJ1ZygicGxheXBhcV93bTg1MTA6IGNtcl9kaXYgPSAlZCwgcGVyaW9kID0gJWRcbiIsCisJCSBjZC5jbXJfZGl2LCBjZC5wZXJpb2QpOworCXJldCA9IHNuZF9zb2NfZGFpX3NldF9jbGtkaXYoY3B1X2RhaSwgQVQzMl9TU0NfQ01SX0RJViwgY2QuY21yX2Rpdik7CisJaWYgKHJldCA8IDApIHsKKwkJcHJfd2FybmluZygicGxheXBhcV93bTg1MTA6IEZhaWxlZCB0byBzZXQgQ1BVIENNUl9ESVYgKCVkKVxuIiwKKwkJCSAgIHJldCk7CisJCXJldHVybiByZXQ7CisJfQorCXJldCA9IHNuZF9zb2NfZGFpX3NldF9jbGtkaXYoY3B1X2RhaSwgQVQzMl9TU0NfVENNUl9QRVJJT0QsCisJCQkJCSAgY2QucGVyaW9kKTsKKwlpZiAocmV0IDwgMCkgeworCQlwcl93YXJuaW5nKCJwbGF5cGFxX3dtODUxMDogIgorCQkJICAgIkZhaWxlZCB0byBzZXQgQ1BVIHRyYW5zbWl0IHBlcmlvZCAoJWQpXG4iLAorCQkJICAgcmV0KTsKKwkJcmV0dXJuIHJldDsKKwl9CisjZW5kaWYgLyogQ09ORklHX1NORF9BVDMyX1NPQ19QTEFZUEFRX1NMQVZFICovCisKKworCS8qCisJICogU2V0IENPREVDIGNsb2NrIGNvbmZpZ3VyYXRpb24KKwkgKi8KKwlwcl9kZWJ1ZygicGxheXBhcV93bTg1MTA6ICIKKwkJICJwbGxfaW4gPSAlbGQsIHBsbF9vdXQgPSAldSwgYmNsayA9ICV4LCBtY2xrID0gJXhcbiIsCisJCSBjbGtfZ2V0X3JhdGUoQ09ERUNfQ0xLKSwgcGxsX291dCwgYmNsaywgbWNsa19kaXYpOworCisKKyNpZiAhZGVmaW5lZCBDT05GSUdfU05EX0FUMzJfU09DX1BMQVlQQVFfU0xBVkUKKwlyZXQgPSBzbmRfc29jX2RhaV9zZXRfY2xrZGl2KGNvZGVjX2RhaSwgV004NTEwX0JDTEtESVYsIGJjbGspOworCWlmIChyZXQgPCAwKSB7CisJCXByX3dhcm5pbmcKKwkJICAgICgicGxheXBhcV93bTg1MTA6IEZhaWxlZCB0byBzZXQgQ09ERUMgREFJIEJDTEtESVYgKCVkKVxuIiwKKwkJICAgICByZXQpOworCQlyZXR1cm4gcmV0OworCX0KKyNlbmRpZiAvKiBDT05GSUdfU05EX0FUMzJfU09DX1BMQVlQQVFfU0xBVkUgKi8KKworCisJcmV0ID0gc25kX3NvY19kYWlfc2V0X3BsbChjb2RlY19kYWksIDAsCisJCQkJCSBjbGtfZ2V0X3JhdGUoQ09ERUNfQ0xLKSwgcGxsX291dCk7CisJaWYgKHJldCA8IDApIHsKKwkJcHJfd2FybmluZygicGxheXBhcV93bTg1MTA6IEZhaWxlZCB0byBzZXQgQ09ERUMgREFJIFBMTCAoJWQpXG4iLAorCQkJICAgcmV0KTsKKwkJcmV0dXJuIHJldDsKKwl9CisKKworCXJldCA9IHNuZF9zb2NfZGFpX3NldF9jbGtkaXYoY29kZWNfZGFpLCBXTTg1MTBfTUNMS0RJViwgbWNsa19kaXYpOworCWlmIChyZXQgPCAwKSB7CisJCXByX3dhcm5pbmcoInBsYXlwYXFfd204NTEwOiBGYWlsZWQgdG8gc2V0IENPREVDIE1DTEtESVYgKCVkKVxuIiwKKwkJCSAgIHJldCk7CisJCXJldHVybiByZXQ7CisJfQorCisKKwlyZXR1cm4gMDsKK30KKworCisKK3N0YXRpYyBzdHJ1Y3Qgc25kX3NvY19vcHMgcGxheXBhcV93bTg1MTBfb3BzID0geworCS5od19wYXJhbXMgPSBwbGF5cGFxX3dtODUxMF9od19wYXJhbXMsCit9OworCisKKworc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfc29jX2RhcG1fd2lkZ2V0IHBsYXlwYXFfZGFwbV93aWRnZXRzW10gPSB7CisJU05EX1NPQ19EQVBNX01JQygiSW50IE1pYyIsIE5VTEwpLAorCVNORF9TT0NfREFQTV9TUEsoIkV4dCBTcGsiLCBOVUxMKSwKK307CisKKworCitzdGF0aWMgY29uc3QgY2hhciAqaW50ZXJjb25bXVszXSA9IHsKKwkvKiBzcGVha2VyIGNvbm5lY3RlZCB0byBTUEtPVVQgKi8KKwl7IkV4dCBTcGsiLCBOVUxMLCAiU1BLT1VUUCJ9LAorCXsiRXh0IFNwayIsIE5VTEwsICJTUEtPVVROIn0sCisKKwl7Ik1pYyBCaWFzIiwgTlVMTCwgIkludCBNaWMifSwKKwl7Ik1JQ04iLCBOVUxMLCAiTWljIEJpYXMifSwKKwl7Ik1JQ1AiLCBOVUxMLCAiTWljIEJpYXMifSwKKworCS8qIFRlcm1pbmF0b3IgKi8KKwl7TlVMTCwgTlVMTCwgTlVMTH0sCit9OworCisKKworc3RhdGljIGludCBwbGF5cGFxX3dtODUxMF9pbml0KHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYykKK3sKKwlpbnQgaTsKKworCS8qCisJICogQWRkIERBUE0gd2lkZ2V0cworCSAqLworCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKHBsYXlwYXFfZGFwbV93aWRnZXRzKTsgaSsrKQorCQlzbmRfc29jX2RhcG1fbmV3X2NvbnRyb2woY29kZWMsICZwbGF5cGFxX2RhcG1fd2lkZ2V0c1tpXSk7CisKKworCisJLyoKKwkgKiBTZXR1cCBhdWRpbyBwYXRoIGludGVyY29ubmVjdHMKKwkgKi8KKwlmb3IgKGkgPSAwOyBpbnRlcmNvbltpXVswXSAhPSBOVUxMOyBpKyspIHsKKwkJc25kX3NvY19kYXBtX2Nvbm5lY3RfaW5wdXQoY29kZWMsCisJCQkJCSAgIGludGVyY29uW2ldWzBdLAorCQkJCQkgICBpbnRlcmNvbltpXVsxXSwgaW50ZXJjb25baV1bMl0pOworCX0KKworCisJLyogYWx3YXlzIGNvbm5lY3RlZCBwaW5zICovCisJc25kX3NvY19kYXBtX2VuYWJsZV9waW4oY29kZWMsICJJbnQgTWljIik7CisJc25kX3NvY19kYXBtX2VuYWJsZV9waW4oY29kZWMsICJFeHQgU3BrIik7CisJc25kX3NvY19kYXBtX3N5bmMoY29kZWMpOworCisKKworCS8qIE1ha2UgQ1NCIHNob3cgUExMIHJhdGUgKi8KKwlzbmRfc29jX2RhaV9zZXRfY2xrZGl2KGNvZGVjLT5kYWksIFdNODUxMF9PUENMS0RJViwKKwkJCQkgICAgICAgV004NTEwX09QQ0xLRElWXzEgfCA0KTsKKworCXJldHVybiAwOworfQorCisKKworc3RhdGljIHN0cnVjdCBzbmRfc29jX2RhaV9saW5rIHBsYXlwYXFfd204NTEwX2RhaSA9IHsKKwkubmFtZSA9ICJXTTg1MTAiLAorCS5zdHJlYW1fbmFtZSA9ICJXTTg1MTAgUENNIiwKKwkuY3B1X2RhaSA9ICZhdDMyX3NzY19kYWlbMF0sCisJLmNvZGVjX2RhaSA9ICZ3bTg1MTBfZGFpLAorCS5pbml0ID0gcGxheXBhcV93bTg1MTBfaW5pdCwKKwkub3BzID0gJnBsYXlwYXFfd204NTEwX29wcywKK307CisKKworCitzdGF0aWMgc3RydWN0IHNuZF9zb2NfbWFjaGluZSBzbmRfc29jX21hY2hpbmVfcGxheXBhcSA9IHsKKwkubmFtZSA9ICJMUlNfUGxheVBhcV9XTTg1MTAiLAorCS5kYWlfbGluayA9ICZwbGF5cGFxX3dtODUxMF9kYWksCisJLm51bV9saW5rcyA9IDEsCit9OworCisKKworc3RhdGljIHN0cnVjdCB3bTg1MTBfc2V0dXBfZGF0YSBwbGF5cGFxX3dtODUxMF9zZXR1cCA9IHsKKwkuaTJjX2FkZHJlc3MgPSAweDFhLAorfTsKKworCisKK3N0YXRpYyBzdHJ1Y3Qgc25kX3NvY19kZXZpY2UgcGxheXBhcV93bTg1MTBfc25kX2RldmRhdGEgPSB7CisJLm1hY2hpbmUgPSAmc25kX3NvY19tYWNoaW5lX3BsYXlwYXEsCisJLnBsYXRmb3JtID0gJmF0MzJfc29jX3BsYXRmb3JtLAorCS5jb2RlY19kZXYgPSAmc29jX2NvZGVjX2Rldl93bTg1MTAsCisJLmNvZGVjX2RhdGEgPSAmcGxheXBhcV93bTg1MTBfc2V0dXAsCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGxheXBhcV9zbmRfZGV2aWNlOworCisKK3N0YXRpYyBpbnQgX19pbml0IHBsYXlwYXFfYXNvY19pbml0KHZvaWQpCit7CisJaW50IHJldCA9IDA7CisJc3RydWN0IGF0MzJfc3NjX2luZm8gKnNzY19wID0gcGxheXBhcV93bTg1MTBfZGFpLmNwdV9kYWktPnByaXZhdGVfZGF0YTsKKwlzdHJ1Y3Qgc3NjX2RldmljZSAqc3NjID0gTlVMTDsKKworCisJLyoKKwkgKiBSZXF1ZXN0IFNTQyBkZXZpY2UKKwkgKi8KKwlzc2MgPSBzc2NfcmVxdWVzdCgwKTsKKwlpZiAoSVNfRVJSKHNzYykpIHsKKwkJcmV0ID0gUFRSX0VSUihzc2MpOworCQlzc2MgPSBOVUxMOworCQlnb3RvIGVycl9zc2M7CisJfQorCXNzY19wLT5zc2MgPSBzc2M7CisKKworCS8qCisJICogQ29uZmlndXJlIE1DTEsgZm9yIFdNODUxMAorCSAqLworCV9nY2xrMCA9IGNsa19nZXQoTlVMTCwgImdjbGswIik7CisJaWYgKElTX0VSUihfZ2NsazApKSB7CisJCV9nY2xrMCA9IE5VTEw7CisJCWdvdG8gZXJyX2djbGswOworCX0KKwlfcGxsMCA9IGNsa19nZXQoTlVMTCwgInBsbDAiKTsKKwlpZiAoSVNfRVJSKF9wbGwwKSkgeworCQlfcGxsMCA9IE5VTEw7CisJCWdvdG8gZXJyX3BsbDA7CisJfQorCWlmIChjbGtfc2V0X3BhcmVudChfZ2NsazAsIF9wbGwwKSkgeworCQlwcl93YXJuaW5nKCJzbmQtc29jLXBsYXlwYXE6ICIKKwkJCSAgICJGYWlsZWQgdG8gc2V0IFBMTDAgYXMgcGFyZW50IGZvciBEQUMgY2xvY2tcbiIpOworCQlnb3RvIGVycl9zZXRfY2xrOworCX0KKwljbGtfc2V0X3JhdGUoQ09ERUNfQ0xLLCAxMjAwMDAwMCk7CisJY2xrX2VuYWJsZShDT0RFQ19DTEspOworCisjaWYgZGVmaW5lZCBDT05GSUdfQVQzMl9FTkhBTkNFRF9QT1JUTVVYCisJYXQzMl9zZWxlY3RfcGVyaXBoKE1DTEtfUElOLCBNQ0xLX1BFUklQSCwgMCk7CisjZW5kaWYKKworCisJLyoKKwkgKiBDcmVhdGUgYW5kIHJlZ2lzdGVyIHBsYXRmb3JtIGRldmljZQorCSAqLworCXBsYXlwYXFfc25kX2RldmljZSA9IHBsYXRmb3JtX2RldmljZV9hbGxvYygic29jLWF1ZGlvIiwgMCk7CisJaWYgKHBsYXlwYXFfc25kX2RldmljZSA9PSBOVUxMKSB7CisJCXJldCA9IC1FTk9NRU07CisJCWdvdG8gZXJyX2RldmljZV9hbGxvYzsKKwl9CisKKwlwbGF0Zm9ybV9zZXRfZHJ2ZGF0YShwbGF5cGFxX3NuZF9kZXZpY2UsICZwbGF5cGFxX3dtODUxMF9zbmRfZGV2ZGF0YSk7CisJcGxheXBhcV93bTg1MTBfc25kX2RldmRhdGEuZGV2ID0gJnBsYXlwYXFfc25kX2RldmljZS0+ZGV2OworCisJcmV0ID0gcGxhdGZvcm1fZGV2aWNlX2FkZChwbGF5cGFxX3NuZF9kZXZpY2UpOworCWlmIChyZXQpIHsKKwkJcHJfd2FybmluZygicGxheXBhcV93bTg1MTA6IHBsYXRmb3JtX2RldmljZV9hZGQgZmFpbGVkICglZClcbiIsCisJCQkgICByZXQpOworCQlnb3RvIGVycl9kZXZpY2VfYWRkOworCX0KKworCXJldHVybiAwOworCisKK2Vycl9kZXZpY2VfYWRkOgorCWlmIChwbGF5cGFxX3NuZF9kZXZpY2UgIT0gTlVMTCkgeworCQlwbGF0Zm9ybV9kZXZpY2VfcHV0KHBsYXlwYXFfc25kX2RldmljZSk7CisJCXBsYXlwYXFfc25kX2RldmljZSA9IE5VTEw7CisJfQorZXJyX2RldmljZV9hbGxvYzoKK2Vycl9zZXRfY2xrOgorCWlmIChfcGxsMCAhPSBOVUxMKSB7CisJCWNsa19wdXQoX3BsbDApOworCQlfcGxsMCA9IE5VTEw7CisJfQorZXJyX3BsbDA6CisJaWYgKF9nY2xrMCAhPSBOVUxMKSB7CisJCWNsa19wdXQoX2djbGswKTsKKwkJX2djbGswID0gTlVMTDsKKwl9CitlcnJfZ2NsazA6CisJaWYgKHNzYyAhPSBOVUxMKSB7CisJCXNzY19mcmVlKHNzYyk7CisJCXNzYyA9IE5VTEw7CisJfQorZXJyX3NzYzoKKwlyZXR1cm4gcmV0OworfQorCisKK3N0YXRpYyB2b2lkIF9fZXhpdCBwbGF5cGFxX2Fzb2NfZXhpdCh2b2lkKQoreworCXN0cnVjdCBhdDMyX3NzY19pbmZvICpzc2NfcCA9IHBsYXlwYXFfd204NTEwX2RhaS5jcHVfZGFpLT5wcml2YXRlX2RhdGE7CisJc3RydWN0IHNzY19kZXZpY2UgKnNzYzsKKworCWlmIChzc2NfcCAhPSBOVUxMKSB7CisJCXNzYyA9IHNzY19wLT5zc2M7CisJCWlmIChzc2MgIT0gTlVMTCkKKwkJCXNzY19mcmVlKHNzYyk7CisJCXNzY19wLT5zc2MgPSBOVUxMOworCX0KKworCWlmIChfZ2NsazAgIT0gTlVMTCkgeworCQljbGtfcHV0KF9nY2xrMCk7CisJCV9nY2xrMCA9IE5VTEw7CisJfQorCWlmIChfcGxsMCAhPSBOVUxMKSB7CisJCWNsa19wdXQoX3BsbDApOworCQlfcGxsMCA9IE5VTEw7CisJfQorCisjaWYgZGVmaW5lZCBDT05GSUdfQVQzMl9FTkhBTkNFRF9QT1JUTVVYCisJYXQzMl9mcmVlX3BpbihNQ0xLX1BJTik7CisjZW5kaWYKKworCXBsYXRmb3JtX2RldmljZV91bnJlZ2lzdGVyKHBsYXlwYXFfc25kX2RldmljZSk7CisJcGxheXBhcV9zbmRfZGV2aWNlID0gTlVMTDsKK30KKworbW9kdWxlX2luaXQocGxheXBhcV9hc29jX2luaXQpOworbW9kdWxlX2V4aXQocGxheXBhcV9hc29jX2V4aXQpOworCitNT0RVTEVfQVVUSE9SKCJHZW9mZnJleSBXb3NzdW0gPGd3b3NzdW1AYWNtLm9yZz4iKTsKK01PRFVMRV9ERVNDUklQVElPTigiQVNvQyBtYWNoaW5lIGRyaXZlciBmb3IgTFJTIFBsYXlQYXEiKTsKK01PRFVMRV9MSUNFTlNFKCJHUEwiKTsKZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9hdDkxL0tjb25maWcgYi9zb3VuZC9zb2MvYXQ5MS9LY29uZmlnCmluZGV4IDVjYjkzZmQuLjkwNTE4NjUgMTAwNjQ0Ci0tLSBhL3NvdW5kL3NvYy9hdDkxL0tjb25maWcKKysrIGIvc291bmQvc29jL2F0OTEvS2NvbmZpZwpAQCAtMSw2ICsxLDYgQEAKIGNvbmZpZyBTTkRfQVQ5MV9TT0MKIAl0cmlzdGF0ZSAiU29DIEF1ZGlvIGZvciB0aGUgQXRtZWwgQVQ5MSBTeXN0ZW0tb24tQ2hpcCIKLQlkZXBlbmRzIG9uIEFSQ0hfQVQ5MSAmJiBTTkRfU09DCisJZGVwZW5kcyBvbiBBUkNIX0FUOTEKIAloZWxwCiAJICBTYXkgWSBvciBNIGlmIHlvdSB3YW50IHRvIGFkZCBzdXBwb3J0IGZvciBjb2RlY3MgYXR0YWNoZWQgdG8KIAkgIHRoZSBBVDkxIFNTQyBpbnRlcmZhY2UuIFlvdSB3aWxsIGFsc28gbmVlZApkaWZmIC0tZ2l0IGEvc291bmQvc29jL2F0OTEvYXQ5MS1wY20uYyBiL3NvdW5kL3NvYy9hdDkxL2F0OTEtcGNtLmMKaW5kZXggY2NhYzZiZC4uZDQ3NDkyYiAxMDA2NDQKLS0tIGEvc291bmQvc29jL2F0OTEvYXQ5MS1wY20uYworKysgYi9zb3VuZC9zb2MvYXQ5MS9hdDkxLXBjbS5jCkBAIC0zMTgsNyArMzE4LDcgQEAKIHN0YXRpYyB1NjQgYXQ5MV9wY21fZG1hbWFzayA9IDB4ZmZmZmZmZmY7CiAKIHN0YXRpYyBpbnQgYXQ5MV9wY21fbmV3KHN0cnVjdCBzbmRfY2FyZCAqY2FyZCwKLQlzdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgKmRhaSwgc3RydWN0IHNuZF9wY20gKnBjbSkKKwlzdHJ1Y3Qgc25kX3NvY19kYWkgKmRhaSwgc3RydWN0IHNuZF9wY20gKnBjbSkKIHsKIAlpbnQgcmV0ID0gMDsKIApAQCAtMzY3LDcgKzM2Nyw3IEBACiAKICNpZmRlZiBDT05GSUdfUE0KIHN0YXRpYyBpbnQgYXQ5MV9wY21fc3VzcGVuZChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LAotCXN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmRhaSkKKwlzdHJ1Y3Qgc25kX3NvY19kYWkgKmRhaSkKIHsKIAlzdHJ1Y3Qgc25kX3BjbV9ydW50aW1lICpydW50aW1lID0gZGFpLT5ydW50aW1lOwogCXN0cnVjdCBhdDkxX3J1bnRpbWVfZGF0YSAqcHJ0ZDsKQEAgLTM5Miw3ICszOTIsNyBAQAogfQogCiBzdGF0aWMgaW50IGF0OTFfcGNtX3Jlc3VtZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LAotCXN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmRhaSkKKwlzdHJ1Y3Qgc25kX3NvY19kYWkgKmRhaSkKIHsKIAlzdHJ1Y3Qgc25kX3BjbV9ydW50aW1lICpydW50aW1lID0gZGFpLT5ydW50aW1lOwogCXN0cnVjdCBhdDkxX3J1bnRpbWVfZGF0YSAqcHJ0ZDsKZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9hdDkxL2F0OTEtc3NjLmMgYi9zb3VuZC9zb2MvYXQ5MS9hdDkxLXNzYy5jCmluZGV4IGJjMzVkMDAuLjA5MGU2MDcgMTAwNjQ0Ci0tLSBhL3NvdW5kL3NvYy9hdDkxL2F0OTEtc3NjLmMKKysrIGIvc291bmQvc29jL2F0OTEvYXQ5MS1zc2MuYwpAQCAtNDEsNyArNDEsNyBAQAogI2RlZmluZQlEQkcoeC4uLikKICNlbmRpZgogCi0jaWYgZGVmaW5lZChDT05GSUdfQVJDSF9BVDkxU0FNOTI2MCkKKyNpZiBkZWZpbmVkKENPTkZJR19BUkNIX0FUOTFTQU05MjYwKSB8fCBkZWZpbmVkKENPTkZJR19BUkNIX0FUOTFTQU05RzIwKQogI2RlZmluZSBOVU1fU1NDX0RFVklDRVMJCTEKICNlbHNlCiAjZGVmaW5lIE5VTV9TU0NfREVWSUNFUwkJMwpAQCAtMjgxLDcgKzI4MSw3IEBACiAvKgogICogUmVjb3JkIHRoZSBTU0Mgc3lzdGVtIGNsb2NrIHJhdGUuCiAgKi8KLXN0YXRpYyBpbnQgYXQ5MV9zc2Nfc2V0X2RhaV9zeXNjbGsoc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqY3B1X2RhaSwKK3N0YXRpYyBpbnQgYXQ5MV9zc2Nfc2V0X2RhaV9zeXNjbGsoc3RydWN0IHNuZF9zb2NfZGFpICpjcHVfZGFpLAogCQlpbnQgY2xrX2lkLCB1bnNpZ25lZCBpbnQgZnJlcSwgaW50IGRpcikKIHsKIAkvKgpAQCAtMzAzLDcgKzMwMyw3IEBACiAvKgogICogUmVjb3JkIHRoZSBEQUkgZm9ybWF0IGZvciB1c2UgaW4gaHdfcGFyYW1zKCkuCiAgKi8KLXN0YXRpYyBpbnQgYXQ5MV9zc2Nfc2V0X2RhaV9mbXQoc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqY3B1X2RhaSwKK3N0YXRpYyBpbnQgYXQ5MV9zc2Nfc2V0X2RhaV9mbXQoc3RydWN0IHNuZF9zb2NfZGFpICpjcHVfZGFpLAogCQl1bnNpZ25lZCBpbnQgZm10KQogewogCXN0cnVjdCBhdDkxX3NzY19pbmZvICpzc2NfcCA9ICZzc2NfaW5mb1tjcHVfZGFpLT5pZF07CkBAIC0zMTUsNyArMzE1LDcgQEAKIC8qCiAgKiBSZWNvcmQgU1NDIGNsb2NrIGRpdmlkZXJzIGZvciB1c2UgaW4gaHdfcGFyYW1zKCkuCiAgKi8KLXN0YXRpYyBpbnQgYXQ5MV9zc2Nfc2V0X2RhaV9jbGtkaXYoc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqY3B1X2RhaSwKK3N0YXRpYyBpbnQgYXQ5MV9zc2Nfc2V0X2RhaV9jbGtkaXYoc3RydWN0IHNuZF9zb2NfZGFpICpjcHVfZGFpLAogCWludCBkaXZfaWQsIGludCBkaXYpCiB7CiAJc3RydWN0IGF0OTFfc3NjX2luZm8gKnNzY19wID0gJnNzY19pbmZvW2NwdV9kYWktPmlkXTsKQEAgLTYzNCw3ICs2MzQsNyBAQAogCiAjaWZkZWYgQ09ORklHX1BNCiBzdGF0aWMgaW50IGF0OTFfc3NjX3N1c3BlbmQoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwKLQlzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpjcHVfZGFpKQorCXN0cnVjdCBzbmRfc29jX2RhaSAqY3B1X2RhaSkKIHsKIAlzdHJ1Y3QgYXQ5MV9zc2NfaW5mbyAqc3NjX3A7CiAKQEAgLTY2Miw3ICs2NjIsNyBAQAogfQogCiBzdGF0aWMgaW50IGF0OTFfc3NjX3Jlc3VtZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LAotCXN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmNwdV9kYWkpCisJc3RydWN0IHNuZF9zb2NfZGFpICpjcHVfZGFpKQogewogCXN0cnVjdCBhdDkxX3NzY19pbmZvICpzc2NfcDsKIApAQCAtNzAwLDcgKzcwMCw3IEBACiAjZGVmaW5lIEFUOTFfU1NDX0ZPUk1BVFMgKFNORFJWX1BDTV9GTVRCSVRfUzggICAgIHwgU05EUlZfUENNX0ZNVEJJVF9TMTZfTEUgfFwKIAkJCSAgU05EUlZfUENNX0ZNVEJJVF9TMjRfTEUgfCBTTkRSVl9QQ01fRk1UQklUX1MzMl9MRSkKIAotc3RydWN0IHNuZF9zb2NfY3B1X2RhaSBhdDkxX3NzY19kYWlbTlVNX1NTQ19ERVZJQ0VTXSA9IHsKK3N0cnVjdCBzbmRfc29jX2RhaSBhdDkxX3NzY19kYWlbTlVNX1NTQ19ERVZJQ0VTXSA9IHsKIAl7CS5uYW1lID0gImF0OTEtc3NjMCIsCiAJCS5pZCA9IDAsCiAJCS50eXBlID0gU05EX1NPQ19EQUlfUENNLApkaWZmIC0tZ2l0IGEvc291bmQvc29jL2F0OTEvYXQ5MS1zc2MuaCBiL3NvdW5kL3NvYy9hdDkxL2F0OTEtc3NjLmgKaW5kZXggYjE4OGY5Ny4uNmI3YmYzOCAxMDA2NDQKLS0tIGEvc291bmQvc29jL2F0OTEvYXQ5MS1zc2MuaAorKysgYi9zb3VuZC9zb2MvYXQ5MS9hdDkxLXNzYy5oCkBAIC0yMSw3ICsyMSw3IEBACiAjZGVmaW5lIEFUOTFTU0NfVENNUl9QRVJJT0QJMSAvKiBCQ0xLIGRpdmlkZXIgZm9yIHRyYW5zbWl0IEZTICovCiAjZGVmaW5lIEFUOTFTU0NfUkNNUl9QRVJJT0QJMiAvKiBCQ0xLIGRpdmlkZXIgZm9yIHJlY2VpdmUgRlMgKi8KIAotZXh0ZXJuIHN0cnVjdCBzbmRfc29jX2NwdV9kYWkgYXQ5MV9zc2NfZGFpW107CitleHRlcm4gc3RydWN0IHNuZF9zb2NfZGFpIGF0OTFfc3NjX2RhaVtdOwogCiAjZW5kaWYgLyogX0FUOTFfU1NDX0ggKi8KIApkaWZmIC0tZ2l0IGEvc291bmQvc29jL2F0OTEvZXRpX2IxX3dtODczMS5jIGIvc291bmQvc29jL2F0OTEvZXRpX2IxX3dtODczMS5jCmluZGV4IDEzNDdkY2YuLmQ1MzJkZTkgMTAwNjQ0Ci0tLSBhL3NvdW5kL3NvYy9hdDkxL2V0aV9iMV93bTg3MzEuYworKysgYi9zb3VuZC9zb2MvYXQ5MS9ldGlfYjFfd204NzMxLmMKQEAgLTUzLDE4ICs1MywxOCBAQAogc3RhdGljIGludCBldGlfYjFfc3RhcnR1cChzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSkKIHsKIAlzdHJ1Y3Qgc25kX3NvY19wY21fcnVudGltZSAqcnRkID0gc3Vic3RyZWFtLT5wcml2YXRlX2RhdGE7Ci0Jc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpICpjb2RlY19kYWkgPSBydGQtPmRhaS0+Y29kZWNfZGFpOwotCXN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmNwdV9kYWkgPSBydGQtPmRhaS0+Y3B1X2RhaTsKKwlzdHJ1Y3Qgc25kX3NvY19kYWkgKmNvZGVjX2RhaSA9IHJ0ZC0+ZGFpLT5jb2RlY19kYWk7CisJc3RydWN0IHNuZF9zb2NfZGFpICpjcHVfZGFpID0gcnRkLT5kYWktPmNwdV9kYWk7CiAJaW50IHJldDsKIAogCS8qIGNwdSBjbG9jayBpcyB0aGUgQVQ5MSBtYXN0ZXIgY2xvY2sgc2VudCB0byB0aGUgU1NDICovCi0JcmV0ID0gY3B1X2RhaS0+ZGFpX29wcy5zZXRfc3lzY2xrKGNwdV9kYWksIEFUOTFfU1lTQ0xLX01DSywKKwlyZXQgPSBzbmRfc29jX2RhaV9zZXRfc3lzY2xrKGNwdV9kYWksIEFUOTFfU1lTQ0xLX01DSywKIAkJNjAwMDAwMDAsIFNORF9TT0NfQ0xPQ0tfSU4pOwogCWlmIChyZXQgPCAwKQogCQlyZXR1cm4gcmV0OwogCiAJLyogY29kZWMgc3lzdGVtIGNsb2NrIGlzIHN1cHBsaWVkIGJ5IFBDSzEsIHNldCB0byAxMk1IeiAqLwotCXJldCA9IGNvZGVjX2RhaS0+ZGFpX29wcy5zZXRfc3lzY2xrKGNvZGVjX2RhaSwgV004NzMxX1NZU0NMSywKKwlyZXQgPSBzbmRfc29jX2RhaV9zZXRfc3lzY2xrKGNvZGVjX2RhaSwgV004NzMxX1NZU0NMSywKIAkJMTIwMDAwMDAsIFNORF9TT0NfQ0xPQ0tfSU4pOwogCWlmIChyZXQgPCAwKQogCQlyZXR1cm4gcmV0OwpAQCAtODcsOCArODcsOCBAQAogCXN0cnVjdCBzbmRfcGNtX2h3X3BhcmFtcyAqcGFyYW1zKQogewogCXN0cnVjdCBzbmRfc29jX3BjbV9ydW50aW1lICpydGQgPSBzdWJzdHJlYW0tPnByaXZhdGVfZGF0YTsKLQlzdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgKmNvZGVjX2RhaSA9IHJ0ZC0+ZGFpLT5jb2RlY19kYWk7Ci0Jc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqY3B1X2RhaSA9IHJ0ZC0+ZGFpLT5jcHVfZGFpOworCXN0cnVjdCBzbmRfc29jX2RhaSAqY29kZWNfZGFpID0gcnRkLT5kYWktPmNvZGVjX2RhaTsKKwlzdHJ1Y3Qgc25kX3NvY19kYWkgKmNwdV9kYWkgPSBydGQtPmRhaS0+Y3B1X2RhaTsKIAlpbnQgcmV0OwogCiAjaWZkZWYgQ09ORklHX1NORF9BVDkxX1NPQ19FVElfU0xBVkUKQEAgLTk2LDEzICs5NiwxMyBAQAogCWludCBjbXJfZGl2LCBwZXJpb2Q7CiAKIAkvKiBzZXQgY29kZWMgREFJIGNvbmZpZ3VyYXRpb24gKi8KLQlyZXQgPSBjb2RlY19kYWktPmRhaV9vcHMuc2V0X2ZtdChjb2RlY19kYWksIFNORF9TT0NfREFJRk1UX0kyUyB8CisJcmV0ID0gc25kX3NvY19kYWlfc2V0X2ZtdChjb2RlY19kYWksIFNORF9TT0NfREFJRk1UX0kyUyB8CiAJCVNORF9TT0NfREFJRk1UX05CX05GIHwgU05EX1NPQ19EQUlGTVRfQ0JTX0NGUyk7CiAJaWYgKHJldCA8IDApCiAJCXJldHVybiByZXQ7CiAKIAkvKiBzZXQgY3B1IERBSSBjb25maWd1cmF0aW9uICovCi0JcmV0ID0gY3B1X2RhaS0+ZGFpX29wcy5zZXRfZm10KGNwdV9kYWksIFNORF9TT0NfREFJRk1UX0kyUyB8CisJcmV0ID0gc25kX3NvY19kYWlfc2V0X2ZtdChjcHVfZGFpLCBTTkRfU09DX0RBSUZNVF9JMlMgfAogCQlTTkRfU09DX0RBSUZNVF9OQl9ORiB8IFNORF9TT0NfREFJRk1UX0NCU19DRlMpOwogCWlmIChyZXQgPCAwKQogCQlyZXR1cm4gcmV0OwpAQCAtMTQxLDE3ICsxNDEsMTcgQEAKIAl9CiAKIAkvKiBzZXQgdGhlIE1DSyBkaXZpZGVyIGZvciBCQ0xLICovCi0JcmV0ID0gY3B1X2RhaS0+ZGFpX29wcy5zZXRfY2xrZGl2KGNwdV9kYWksIEFUOTFTU0NfQ01SX0RJViwgY21yX2Rpdik7CisJcmV0ID0gc25kX3NvY19kYWlfc2V0X2Nsa2RpdihjcHVfZGFpLCBBVDkxU1NDX0NNUl9ESVYsIGNtcl9kaXYpOwogCWlmIChyZXQgPCAwKQogCQlyZXR1cm4gcmV0OwogCiAJaWYgKHN1YnN0cmVhbS0+c3RyZWFtID09IFNORFJWX1BDTV9TVFJFQU1fUExBWUJBQ0spIHsKIAkJLyogc2V0IHRoZSBCQ0xLIGRpdmlkZXIgZm9yIERBQ0xSQyAqLwotCQlyZXQgPSBjcHVfZGFpLT5kYWlfb3BzLnNldF9jbGtkaXYoY3B1X2RhaSwKKwkJcmV0ID0gc25kX3NvY19kYWlfc2V0X2Nsa2RpdihjcHVfZGFpLAogCQkJCQkJQVQ5MVNTQ19UQ01SX1BFUklPRCwgcGVyaW9kKTsKIAl9IGVsc2UgewogCQkvKiBzZXQgdGhlIEJDTEsgZGl2aWRlciBmb3IgQURDTFJDICovCi0JCXJldCA9IGNwdV9kYWktPmRhaV9vcHMuc2V0X2Nsa2RpdihjcHVfZGFpLAorCQlyZXQgPSBzbmRfc29jX2RhaV9zZXRfY2xrZGl2KGNwdV9kYWksCiAJCQkJCQlBVDkxU1NDX1JDTVJfUEVSSU9ELCBwZXJpb2QpOwogCX0KIAlpZiAocmV0IDwgMCkKQEAgLTE2MywxMyArMTYzLDEzIEBACiAJICovCiAKIAkvKiBzZXQgY29kZWMgREFJIGNvbmZpZ3VyYXRpb24gKi8KLQlyZXQgPSBjb2RlY19kYWktPmRhaV9vcHMuc2V0X2ZtdChjb2RlY19kYWksIFNORF9TT0NfREFJRk1UX0kyUyB8CisJcmV0ID0gc25kX3NvY19kYWlfc2V0X2ZtdChjb2RlY19kYWksIFNORF9TT0NfREFJRk1UX0kyUyB8CiAJCVNORF9TT0NfREFJRk1UX05CX05GIHwgU05EX1NPQ19EQUlGTVRfQ0JNX0NGTSk7CiAJaWYgKHJldCA8IDApCiAJCXJldHVybiByZXQ7CiAKIAkvKiBzZXQgY3B1IERBSSBjb25maWd1cmF0aW9uICovCi0JcmV0ID0gY3B1X2RhaS0+ZGFpX29wcy5zZXRfZm10KGNwdV9kYWksIFNORF9TT0NfREFJRk1UX0kyUyB8CisJcmV0ID0gc25kX3NvY19kYWlfc2V0X2ZtdChjcHVfZGFpLCBTTkRfU09DX0RBSUZNVF9JMlMgfAogCQlTTkRfU09DX0RBSUZNVF9OQl9ORiB8IFNORF9TT0NfREFJRk1UX0NCTV9DRk0pOwogCWlmIChyZXQgPCAwKQogCQlyZXR1cm4gcmV0OwpAQCAtMTkxLDcgKzE5MSw3IEBACiAJU05EX1NPQ19EQVBNX1NQSygiRXh0IFNwayIsIE5VTEwpLAogfTsKIAotc3RhdGljIGNvbnN0IGNoYXIgKmludGVyY29uW11bM10gPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9zb2NfZGFwbV9yb3V0ZSBpbnRlcmNvbltdID0gewogCiAJLyogc3BlYWtlciBjb25uZWN0ZWQgdG8gTEhQT1VUICovCiAJeyJFeHQgU3BrIiwgTlVMTCwgIkxIUE9VVCJ9LApAQCAtMTk5LDkgKzE5OSw2IEBACiAJLyogbWljIGlzIGNvbm5lY3RlZCB0byBNaWMgSmFjaywgd2l0aCBXTTg3MzEgTWljIEJpYXMgKi8KIAl7Ik1JQ0lOIiwgTlVMTCwgIk1pYyBCaWFzIn0sCiAJeyJNaWMgQmlhcyIsIE5VTEwsICJJbnQgTWljIn0sCi0KLQkvKiB0ZXJtaW5hdG9yICovCi0Je05VTEwsIE5VTEwsIE5VTEx9LAogfTsKIAogLyoKQEAgLTIwOSwzMCArMjA2LDI0IEBACiAgKi8KIHN0YXRpYyBpbnQgZXRpX2IxX3dtODczMV9pbml0KHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYykKIHsKLQlpbnQgaTsKLQogCURCRygiZXRpX2IxX3dtODczMV9pbml0KCkgY2FsbGVkXG4iKTsKIAogCS8qIEFkZCBzcGVjaWZpYyB3aWRnZXRzICovCi0JZm9yKGkgPSAwOyBpIDwgQVJSQVlfU0laRShldGlfYjFfZGFwbV93aWRnZXRzKTsgaSsrKSB7Ci0JCXNuZF9zb2NfZGFwbV9uZXdfY29udHJvbChjb2RlYywgJmV0aV9iMV9kYXBtX3dpZGdldHNbaV0pOwotCX0KKwlzbmRfc29jX2RhcG1fbmV3X2NvbnRyb2xzKGNvZGVjLCBldGlfYjFfZGFwbV93aWRnZXRzLAorCQkJCSAgQVJSQVlfU0laRShldGlfYjFfZGFwbV93aWRnZXRzKSk7CiAKIAkvKiBTZXQgdXAgc3BlY2lmaWMgYXVkaW8gcGF0aCBpbnRlcmNvbm5lY3RzICovCi0JZm9yKGkgPSAwOyBpbnRlcmNvbltpXVswXSAhPSBOVUxMOyBpKyspIHsKLQkJc25kX3NvY19kYXBtX2Nvbm5lY3RfaW5wdXQoY29kZWMsIGludGVyY29uW2ldWzBdLAotCQkJaW50ZXJjb25baV1bMV0sIGludGVyY29uW2ldWzJdKTsKLQl9CisJc25kX3NvY19kYXBtX2FkZF9yb3V0ZShjb2RlYywgaW50ZXJjb24sIEFSUkFZX1NJWkUoaW50ZXJjb24pKTsKIAogCS8qIG5vdCBjb25uZWN0ZWQgKi8KLQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiUkxJTkVJTiIsIDApOwotCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJMTElORUlOIiwgMCk7CisJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiUkxJTkVJTiIpOworCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIkxMSU5FSU4iKTsKIAogCS8qIGFsd2F5cyBjb25uZWN0ZWQgKi8KLQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiSW50IE1pYyIsIDEpOwotCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJFeHQgU3BrIiwgMSk7CisJc25kX3NvY19kYXBtX2VuYWJsZV9waW4oY29kZWMsICJJbnQgTWljIik7CisJc25kX3NvY19kYXBtX2VuYWJsZV9waW4oY29kZWMsICJFeHQgU3BrIik7CiAKLQlzbmRfc29jX2RhcG1fc3luY19lbmRwb2ludHMoY29kZWMpOworCXNuZF9zb2NfZGFwbV9zeW5jKGNvZGVjKTsKIAogCXJldHVybiAwOwogfQpkaWZmIC0tZ2l0IGEvc291bmQvc29jL2F1MXgvS2NvbmZpZyBiL3NvdW5kL3NvYy9hdTF4L0tjb25maWcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDEwYTg5MwotLS0gL2Rldi9udWxsCisrKyBiL3NvdW5kL3NvYy9hdTF4L0tjb25maWcKQEAgLTAsMCArMSwzMiBAQAorIyMKKyMjIEF1MTIwMC9BdTE1NTAgUFNDICsgREJETUEKKyMjCitjb25maWcgU05EX1NPQ19BVTFYUFNDCisJdHJpc3RhdGUgIlNvQyBBdWRpbyBmb3IgQXUxMjAwL0F1MTI1MC9BdTE1NTAiCisJZGVwZW5kcyBvbiBTT0NfQVUxMjAwIHx8IFNPQ19BVTE1NTAKKwloZWxwCisJICBUaGlzIG9wdGlvbiBlbmFibGVzIHN1cHBvcnQgZm9yIHRoZSBQcm9ncmFtbWFibGUgU2VyaWFsCisJICBDb250cm9sbGVycyBpbiBBQzk3IGFuZCBJMlMgbW9kZSwgYW5kIHRoZSBEZXNjcmlwdG9yLUJhc2VkIERNQQorCSAgQ29udHJvbGxlciAoREJETUEpIGFzIGZvdW5kIG9uIHRoZSBBdTEyMDAvQXUxMjUwL0F1MTU1MCBTb0MuCisKK2NvbmZpZyBTTkRfU09DX0FVMVhQU0NfSTJTCisJdHJpc3RhdGUKKworY29uZmlnIFNORF9TT0NfQVUxWFBTQ19BQzk3CisJdHJpc3RhdGUKKwlzZWxlY3QgQUM5N19CVVMKKwlzZWxlY3QgU05EX0FDOTdfQ09ERUMKKwlzZWxlY3QgU05EX1NPQ19BQzk3X0JVUworCisKKyMjCisjIyBCb2FyZHMKKyMjCitjb25maWcgU05EX1NPQ19TQU1QTEVfUFNDX0FDOTcKKwl0cmlzdGF0ZSAiU2FtcGxlIEF1MTJ4MC9BdTE1NTAgUFNDIEFDOTcgc291bmQgbWFjaGluZSIKKwlkZXBlbmRzIG9uIFNORF9TT0NfQVUxWFBTQworCXNlbGVjdCBTTkRfU09DX0FVMVhQU0NfQUM5NworCXNlbGVjdCBTTkRfU09DX0FDOTdfQ09ERUMKKwloZWxwCisJICBUaGlzIGlzIGEgc2FtcGxlIEFDOTcgc291bmQgbWFjaGluZSBmb3IgdXNlIGluIEF1MTJ4MC9BdTE1NTAKKwkgIGJhc2VkIHN5c3RlbXMgd2hpY2ggaGF2ZSBhdWRpbyBvbiBQU0MxIChlLmcuIERiMTIwMCBkZW1vYm9hcmQpLgpkaWZmIC0tZ2l0IGEvc291bmQvc29jL2F1MXgvTWFrZWZpbGUgYi9zb3VuZC9zb2MvYXUxeC9NYWtlZmlsZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YzY5NTBiCi0tLSAvZGV2L251bGwKKysrIGIvc291bmQvc29jL2F1MXgvTWFrZWZpbGUKQEAgLTAsMCArMSwxMyBAQAorIyBBdTEyMDAvQXUxNTUwIFBTQyBhdWRpbworc25kLXNvYy1hdTF4cHNjLWRiZG1hLW9ianMgOj0gZGJkbWEyLm8KK3NuZC1zb2MtYXUxeHBzYy1pMnMtb2JqcyA6PSBwc2MtaTJzLm8KK3NuZC1zb2MtYXUxeHBzYy1hYzk3LW9ianMgOj0gcHNjLWFjOTcubworCitvYmotJChDT05GSUdfU05EX1NPQ19BVTFYUFNDKSArPSBzbmQtc29jLWF1MXhwc2MtZGJkbWEubworb2JqLSQoQ09ORklHX1NORF9TT0NfQVUxWFBTQ19JMlMpICs9IHNuZC1zb2MtYXUxeHBzYy1pMnMubworb2JqLSQoQ09ORklHX1NORF9TT0NfQVUxWFBTQ19BQzk3KSArPSBzbmQtc29jLWF1MXhwc2MtYWM5Ny5vCisKKyMgQm9hcmRzCitzbmQtc29jLXNhbXBsZS1hYzk3LW9ianMgOj0gc2FtcGxlLWFjOTcubworCitvYmotJChDT05GSUdfU05EX1NPQ19TQU1QTEVfUFNDX0FDOTcpICs9IHNuZC1zb2Mtc2FtcGxlLWFjOTcubwpkaWZmIC0tZ2l0IGEvc291bmQvc29jL2F1MXgvZGJkbWEyLmMgYi9zb3VuZC9zb2MvYXUxeC9kYmRtYTIuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNDY2ZDkzCi0tLSAvZGV2L251bGwKKysrIGIvc291bmQvc29jL2F1MXgvZGJkbWEyLmMKQEAgLTAsMCArMSw0MjEgQEAKKy8qCisgKiBBdTEyeDAvQXUxNTUwIFBTQyBBTFNBIEFTb0MgYXVkaW8gc3VwcG9ydC4KKyAqCisgKiAoYykgMjAwNy0yMDA4IE1TQyBWZXJ0cmllYnNnZXMubS5iLkguLAorICoJTWFudWVsIExhdXNzIDxtYW5vQHJvYXJpbmVsay5ob21lbGludXgubmV0PgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcworICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisgKgorICogRE1BIGdsdWUgZm9yIEF1MXgtUFNDIGF1ZGlvLgorICoKKyAqIE5PVEU6IGFsbCBvZiB0aGVzZSBkcml2ZXJzIGNhbiBvbmx5IHdvcmsgd2l0aCBhIFNJTkdMRSBpbnN0YW5jZQorICoJIG9mIGEgUFNDLiBNdWx0aXBsZSBpbmRlcGVuZGVudCBhdWRpbyBkZXZpY2VzIGFyZSBpbXBvc3NpYmxlCisgKgkgd2l0aCBBU29DIHYxLgorICovCisKKworI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9zbGFiLmg+CisjaW5jbHVkZSA8bGludXgvZG1hLW1hcHBpbmcuaD4KKworI2luY2x1ZGUgPHNvdW5kL2NvcmUuaD4KKyNpbmNsdWRlIDxzb3VuZC9wY20uaD4KKyNpbmNsdWRlIDxzb3VuZC9wY21fcGFyYW1zLmg+CisjaW5jbHVkZSA8c291bmQvc29jLmg+CisKKyNpbmNsdWRlIDxhc20vbWFjaC1hdTF4MDAvYXUxMDAwLmg+CisjaW5jbHVkZSA8YXNtL21hY2gtYXUxeDAwL2F1MXh4eF9kYmRtYS5oPgorI2luY2x1ZGUgPGFzbS9tYWNoLWF1MXgwMC9hdTF4eHhfcHNjLmg+CisKKyNpbmNsdWRlICJwc2MuaCIKKworLyojZGVmaW5lIFBDTV9ERUJVRyovCisKKyNkZWZpbmUgTVNHKHguLi4pCXByaW50ayhLRVJOX0lORk8gImF1MXhwc2NfcGNtOiAiIHgpCisjaWZkZWYgUENNX0RFQlVHCisjZGVmaW5lIERCRwkJTVNHCisjZWxzZQorI2RlZmluZSBEQkcoeC4uLikJZG8ge30gd2hpbGUgKDApCisjZW5kaWYKKworc3RydWN0IGF1MXhwc2NfYXVkaW9fZG1hZGF0YSB7CisJLyogRERNQSBjb250cm9sIGRhdGEgKi8KKwl1bnNpZ25lZCBpbnQgZGRtYV9pZDsJCS8qIERETUEgZGlyZWN0aW9uIElEIGZvciB0aGlzIFBTQyAqLworCXUzMiBkZG1hX2NoYW47CQkJLyogRERNQSBjb250ZXh0ICovCisKKwkvKiBQQ00gY29udGV4dCAoZm9yIGlycSBoYW5kbGVycykgKi8KKwlzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbTsKKwl1bnNpZ25lZCBsb25nIGN1cnJfcGVyaW9kOwkvKiBjdXJyZW50IHNlZ21lbnQgRERNQSBpcyB3b3JraW5nIG9uICovCisJdW5zaWduZWQgbG9uZyBxX3BlcmlvZDsJCS8qIHF1ZXVlIHBlcmlvZChzKSAqLworCXVuc2lnbmVkIGxvbmcgZG1hX2FyZWE7CQkvKiBhZGRyZXNzIG9mIHF1ZXVlZCBETUEgYXJlYSAqLworCXVuc2lnbmVkIGxvbmcgZG1hX2FyZWFfczsJLyogc3RhcnQgYWRkcmVzcyBvZiBETUEgYXJlYSAqLworCXVuc2lnbmVkIGxvbmcgcG9zOwkJLyogY3VycmVudCBieXRlIHBvc2l0aW9uIGJlaW5nIHBsYXllZCAqLworCXVuc2lnbmVkIGxvbmcgcGVyaW9kczsJCS8qIG51bWJlciBvZiBTRyBzZWdtZW50cyBpbiB0b3RhbCAqLworCXVuc2lnbmVkIGxvbmcgcGVyaW9kX2J5dGVzOwkvKiBzaXplIGluIGJ5dGVzIG9mIG9uZSBTRyBzZWdtZW50ICovCisKKwkvKiBydW50aW1lIGRhdGEgKi8KKwlpbnQgbXNiaXRzOworfTsKKworLyogaW5zdGFuY2UgZGF0YS4gVGhlcmUgY2FuIGJlIG9ubHkgb25lLCBNYWNMZW9kISEhISAqLworc3RhdGljIHN0cnVjdCBhdTF4cHNjX2F1ZGlvX2RtYWRhdGEgKmF1MXhwc2NfYXVkaW9fcGNtZG1hWzJdOworCisvKgorICogVGhlc2Ugc2V0dGluZ3MgYXJlIHNvbWV3aGF0IG9rYXksIGF0IGxlYXN0IG9uIG15IG1hY2hpbmUgYXVkaW8gcGxheXMKKyAqIGFsbW9zdCBza2lwLWZyZWUuIEVzcGVjaWFsbHkgdGhlIDY0a0IgYnVmZmVyIHNlZW1zIHRvIGhlbHAgYSBMT1QuCisgKi8KKyNkZWZpbmUgQVUxWFBTQ19QRVJJT0RfTUlOX0JZVEVTCTEwMjQKKyNkZWZpbmUgQVUxWFBTQ19CVUZGRVJfTUlOX0JZVEVTCTY1NTM2CisKKyNkZWZpbmUgQVUxWFBTQ19QQ01fRk1UUwkJCQkJXAorCShTTkRSVl9QQ01fRk1UQklUX1M4ICAgICB8IFNORFJWX1BDTV9GTVRCSVRfVTggfAlcCisJIFNORFJWX1BDTV9GTVRCSVRfUzE2X0xFIHwgU05EUlZfUENNX0ZNVEJJVF9TMTZfQkUgfAlcCisJIFNORFJWX1BDTV9GTVRCSVRfVTE2X0xFIHwgU05EUlZfUENNX0ZNVEJJVF9VMTZfQkUgfAlcCisJIFNORFJWX1BDTV9GTVRCSVRfUzMyX0xFIHwgU05EUlZfUENNX0ZNVEJJVF9TMzJfQkUgfAlcCisJIFNORFJWX1BDTV9GTVRCSVRfVTMyX0xFIHwgU05EUlZfUENNX0ZNVEJJVF9VMzJfQkUgfAlcCisJIDApCisKKy8qIFBDTSBoYXJkd2FyZSBETUEgY2FwYWJpbGl0aWVzIC0gcGxhdGZvcm0gc3BlY2lmaWMgKi8KK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX3BjbV9oYXJkd2FyZSBhdTF4cHNjX3BjbV9oYXJkd2FyZSA9IHsKKwkuaW5mbwkJICA9IFNORFJWX1BDTV9JTkZPX01NQVAgfCBTTkRSVl9QQ01fSU5GT19NTUFQX1ZBTElEIHwKKwkJCSAgICBTTkRSVl9QQ01fSU5GT19JTlRFUkxFQVZFRCwKKwkuZm9ybWF0cwkgID0gQVUxWFBTQ19QQ01fRk1UUywKKwkucGVyaW9kX2J5dGVzX21pbiA9IEFVMVhQU0NfUEVSSU9EX01JTl9CWVRFUywKKwkucGVyaW9kX2J5dGVzX21heCA9IDQwOTYgKiAxMDI0IC0gMSwKKwkucGVyaW9kc19taW4JICA9IDIsCisJLnBlcmlvZHNfbWF4CSAgPSA0MDk2LAkvKiAyIHRvIGFzLW11Y2gtYXMteW91LWxpa2UgKi8KKwkuYnVmZmVyX2J5dGVzX21heCA9IDQwOTYgKiAxMDI0IC0gMSwKKwkuZmlmb19zaXplCSAgPSAxNiwJCS8qIGZpZm8gZW50cmllcyBvZiBBQzk3L0kyUyBQU0MgKi8KK307CisKK3N0YXRpYyB2b2lkIGF1MXhfcGNtX3F1ZXVlX3R4KHN0cnVjdCBhdTF4cHNjX2F1ZGlvX2RtYWRhdGEgKmNkKQoreworCWF1MXh4eF9kYmRtYV9wdXRfc291cmNlX2ZsYWdzKGNkLT5kZG1hX2NoYW4sCisJCQkJKHZvaWQgKilwaHlzX3RvX3ZpcnQoY2QtPmRtYV9hcmVhKSwKKwkJCQljZC0+cGVyaW9kX2J5dGVzLCBERE1BX0ZMQUdTX0lFKTsKKworCS8qIHVwZGF0ZSBuZXh0LXRvLXF1ZXVlIHBlcmlvZCAqLworCSsrY2QtPnFfcGVyaW9kOworCWNkLT5kbWFfYXJlYSArPSBjZC0+cGVyaW9kX2J5dGVzOworCWlmIChjZC0+cV9wZXJpb2QgPj0gY2QtPnBlcmlvZHMpIHsKKwkJY2QtPnFfcGVyaW9kID0gMDsKKwkJY2QtPmRtYV9hcmVhID0gY2QtPmRtYV9hcmVhX3M7CisJfQorfQorCitzdGF0aWMgdm9pZCBhdTF4X3BjbV9xdWV1ZV9yeChzdHJ1Y3QgYXUxeHBzY19hdWRpb19kbWFkYXRhICpjZCkKK3sKKwlhdTF4eHhfZGJkbWFfcHV0X2Rlc3RfZmxhZ3MoY2QtPmRkbWFfY2hhbiwKKwkJCQkodm9pZCAqKXBoeXNfdG9fdmlydChjZC0+ZG1hX2FyZWEpLAorCQkJCWNkLT5wZXJpb2RfYnl0ZXMsIERETUFfRkxBR1NfSUUpOworCisJLyogdXBkYXRlIG5leHQtdG8tcXVldWUgcGVyaW9kICovCisJKytjZC0+cV9wZXJpb2Q7CisJY2QtPmRtYV9hcmVhICs9IGNkLT5wZXJpb2RfYnl0ZXM7CisJaWYgKGNkLT5xX3BlcmlvZCA+PSBjZC0+cGVyaW9kcykgeworCQljZC0+cV9wZXJpb2QgPSAwOworCQljZC0+ZG1hX2FyZWEgPSBjZC0+ZG1hX2FyZWFfczsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIGF1MXhfcGNtX2RtYXR4X2NiKGludCBpcnEsIHZvaWQgKmRldl9pZCkKK3sKKwlzdHJ1Y3QgYXUxeHBzY19hdWRpb19kbWFkYXRhICpjZCA9IGRldl9pZDsKKworCWNkLT5wb3MgKz0gY2QtPnBlcmlvZF9ieXRlczsKKwlpZiAoKytjZC0+Y3Vycl9wZXJpb2QgPj0gY2QtPnBlcmlvZHMpIHsKKwkJY2QtPnBvcyA9IDA7CisJCWNkLT5jdXJyX3BlcmlvZCA9IDA7CisJfQorCXNuZF9wY21fcGVyaW9kX2VsYXBzZWQoY2QtPnN1YnN0cmVhbSk7CisJYXUxeF9wY21fcXVldWVfdHgoY2QpOworfQorCitzdGF0aWMgdm9pZCBhdTF4X3BjbV9kbWFyeF9jYihpbnQgaXJxLCB2b2lkICpkZXZfaWQpCit7CisJc3RydWN0IGF1MXhwc2NfYXVkaW9fZG1hZGF0YSAqY2QgPSBkZXZfaWQ7CisKKwljZC0+cG9zICs9IGNkLT5wZXJpb2RfYnl0ZXM7CisJaWYgKCsrY2QtPmN1cnJfcGVyaW9kID49IGNkLT5wZXJpb2RzKSB7CisJCWNkLT5wb3MgPSAwOworCQljZC0+Y3Vycl9wZXJpb2QgPSAwOworCX0KKwlzbmRfcGNtX3BlcmlvZF9lbGFwc2VkKGNkLT5zdWJzdHJlYW0pOworCWF1MXhfcGNtX3F1ZXVlX3J4KGNkKTsKK30KKworc3RhdGljIHZvaWQgYXUxeF9wY21fZGJkbWFfZnJlZShzdHJ1Y3QgYXUxeHBzY19hdWRpb19kbWFkYXRhICpwY2QpCit7CisJaWYgKHBjZC0+ZGRtYV9jaGFuKSB7CisJCWF1MXh4eF9kYmRtYV9zdG9wKHBjZC0+ZGRtYV9jaGFuKTsKKwkJYXUxeHh4X2RiZG1hX3Jlc2V0KHBjZC0+ZGRtYV9jaGFuKTsKKwkJYXUxeHh4X2RiZG1hX2NoYW5fZnJlZShwY2QtPmRkbWFfY2hhbik7CisJCXBjZC0+ZGRtYV9jaGFuID0gMDsKKwkJcGNkLT5tc2JpdHMgPSAwOworCX0KK30KKworLyogaW4gY2FzZSBvZiBtaXNzaW5nIERNQSByaW5nIG9yIGNoYW5nZWQgVFgtc291cmNlIC8gUlgtZGVzdCBiaXQgd2lkdGhzLAorICogYWxsb2NhdGUgKG9yIHJlYWxsb2NhdGUpIGEgMi1kZXNjcmlwdG9yIERNQSByaW5nIHdpdGggYml0IGRlcHRoIGFjY29yZGluZworICogdG8gQUxTQS1zdXBwbGllZCBzYW1wbGUgZGVwdGguICBUaGlzIGlzIGR1ZSB0byBsaW1pdGF0aW9ucyBpbiB0aGUgZGJkbWEgYXBpCisgKiAoY2Fubm90IGFkanVzdCBzb3VyY2UvZGVzdCB3aWR0aHMgb2YgYWxyZWFkeSBhbGxvY2F0ZWQgZGVzY3JpcHRvciByaW5nKS4KKyAqLworc3RhdGljIGludCBhdTF4X3BjbV9kYmRtYV9yZWFsbG9jKHN0cnVjdCBhdTF4cHNjX2F1ZGlvX2RtYWRhdGEgKnBjZCwKKwkJCQkgaW50IHN0eXBlLCBpbnQgbXNiaXRzKQoreworCS8qIERNQSBvbmx5IGluIDgvMTYvMzIgYml0IHdpZHRocyAqLworCWlmIChtc2JpdHMgPT0gMjQpCisJCW1zYml0cyA9IDMyOworCisJLyogY2hlY2sgY3VycmVudCBjb25maWc6IGNvcnJlY3QgYml0cyBhbmQgZGVzY3JpcHRvcnMgYWxsb2NhdGVkPyAqLworCWlmICgocGNkLT5kZG1hX2NoYW4pICYmIChtc2JpdHMgPT0gcGNkLT5tc2JpdHMpKQorCQlnb3RvIG91dDsJLyogYWxsIG9rISAqLworCisJYXUxeF9wY21fZGJkbWFfZnJlZShwY2QpOworCisJaWYgKHN0eXBlID09IFBDTV9SWCkKKwkJcGNkLT5kZG1hX2NoYW4gPSBhdTF4eHhfZGJkbWFfY2hhbl9hbGxvYyhwY2QtPmRkbWFfaWQsCisJCQkJCURTQ1JfQ01EMF9BTFdBWVMsCisJCQkJCWF1MXhfcGNtX2RtYXJ4X2NiLCAodm9pZCAqKXBjZCk7CisJZWxzZQorCQlwY2QtPmRkbWFfY2hhbiA9IGF1MXh4eF9kYmRtYV9jaGFuX2FsbG9jKERTQ1JfQ01EMF9BTFdBWVMsCisJCQkJCXBjZC0+ZGRtYV9pZCwKKwkJCQkJYXUxeF9wY21fZG1hdHhfY2IsICh2b2lkICopcGNkKTsKKworCWlmICghcGNkLT5kZG1hX2NoYW4pCisJCXJldHVybiAtRU5PTUVNOzsKKworCWF1MXh4eF9kYmRtYV9zZXRfZGV2d2lkdGgocGNkLT5kZG1hX2NoYW4sIG1zYml0cyk7CisJYXUxeHh4X2RiZG1hX3JpbmdfYWxsb2MocGNkLT5kZG1hX2NoYW4sIDIpOworCisJcGNkLT5tc2JpdHMgPSBtc2JpdHM7CisKKwlhdTF4eHhfZGJkbWFfc3RvcChwY2QtPmRkbWFfY2hhbik7CisJYXUxeHh4X2RiZG1hX3Jlc2V0KHBjZC0+ZGRtYV9jaGFuKTsKKworb3V0OgorCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGF1MXhwc2NfcGNtX2h3X3BhcmFtcyhzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSwKKwkJCQkgc3RydWN0IHNuZF9wY21faHdfcGFyYW1zICpwYXJhbXMpCit7CisJc3RydWN0IHNuZF9wY21fcnVudGltZSAqcnVudGltZSA9IHN1YnN0cmVhbS0+cnVudGltZTsKKwlzdHJ1Y3QgYXUxeHBzY19hdWRpb19kbWFkYXRhICpwY2Q7CisJaW50IHN0eXBlLCByZXQ7CisKKwlyZXQgPSBzbmRfcGNtX2xpYl9tYWxsb2NfcGFnZXMoc3Vic3RyZWFtLCBwYXJhbXNfYnVmZmVyX2J5dGVzKHBhcmFtcykpOworCWlmIChyZXQgPCAwKQorCQlnb3RvIG91dDsKKworCXN0eXBlID0gU1VCU1RSRUFNX1RZUEUoc3Vic3RyZWFtKTsKKwlwY2QgPSBhdTF4cHNjX2F1ZGlvX3BjbWRtYVtzdHlwZV07CisKKwlEQkcoInJ1bnRpbWUtPmRtYV9hcmVhID0gMHglMDhseCBkbWFfYWRkcl90ID0gMHglMDhseCBkbWFfc2l6ZSA9ICVkICIKKwkgICAgInJ1bnRpbWUtPm1pbl9hbGlnbiAlZFxuIiwKKwkJKHVuc2lnbmVkIGxvbmcpcnVudGltZS0+ZG1hX2FyZWEsCisJCSh1bnNpZ25lZCBsb25nKXJ1bnRpbWUtPmRtYV9hZGRyLCBydW50aW1lLT5kbWFfYnl0ZXMsCisJCXJ1bnRpbWUtPm1pbl9hbGlnbik7CisKKwlEQkcoImJpdHMgJWQgIGZyYWdzICVkICBmcmFnX2J5dGVzICVkICBpc19yeCAlZFxuIiwgcGFyYW1zLT5tc2JpdHMsCisJCXBhcmFtc19wZXJpb2RzKHBhcmFtcyksIHBhcmFtc19wZXJpb2RfYnl0ZXMocGFyYW1zKSwgc3R5cGUpOworCisJcmV0ID0gYXUxeF9wY21fZGJkbWFfcmVhbGxvYyhwY2QsIHN0eXBlLCBwYXJhbXMtPm1zYml0cyk7CisJaWYgKHJldCkgeworCQlNU0coIkRETUEgY2hhbm5lbCAocmUpYWxsb2MgZmFpbGVkIVxuIik7CisJCWdvdG8gb3V0OworCX0KKworCXBjZC0+c3Vic3RyZWFtID0gc3Vic3RyZWFtOworCXBjZC0+cGVyaW9kX2J5dGVzID0gcGFyYW1zX3BlcmlvZF9ieXRlcyhwYXJhbXMpOworCXBjZC0+cGVyaW9kcyA9IHBhcmFtc19wZXJpb2RzKHBhcmFtcyk7CisJcGNkLT5kbWFfYXJlYV9zID0gcGNkLT5kbWFfYXJlYSA9ICh1bnNpZ25lZCBsb25nKXJ1bnRpbWUtPmRtYV9hZGRyOworCXBjZC0+cV9wZXJpb2QgPSAwOworCXBjZC0+Y3Vycl9wZXJpb2QgPSAwOworCXBjZC0+cG9zID0gMDsKKworCXJldCA9IDA7CitvdXQ6CisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIGludCBhdTF4cHNjX3BjbV9od19mcmVlKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtKQoreworCXNuZF9wY21fbGliX2ZyZWVfcGFnZXMoc3Vic3RyZWFtKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBhdTF4cHNjX3BjbV9wcmVwYXJlKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtKQoreworCXN0cnVjdCBhdTF4cHNjX2F1ZGlvX2RtYWRhdGEgKnBjZCA9CisJCQlhdTF4cHNjX2F1ZGlvX3BjbWRtYVtTVUJTVFJFQU1fVFlQRShzdWJzdHJlYW0pXTsKKworCWF1MXh4eF9kYmRtYV9yZXNldChwY2QtPmRkbWFfY2hhbik7CisKKwlpZiAoU1VCU1RSRUFNX1RZUEUoc3Vic3RyZWFtKSA9PSBQQ01fUlgpIHsKKwkJYXUxeF9wY21fcXVldWVfcngocGNkKTsKKwkJYXUxeF9wY21fcXVldWVfcngocGNkKTsKKwl9IGVsc2UgeworCQlhdTF4X3BjbV9xdWV1ZV90eChwY2QpOworCQlhdTF4X3BjbV9xdWV1ZV90eChwY2QpOworCX0KKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGF1MXhwc2NfcGNtX3RyaWdnZXIoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0sIGludCBjbWQpCit7CisJdTMyIGMgPSBhdTF4cHNjX2F1ZGlvX3BjbWRtYVtTVUJTVFJFQU1fVFlQRShzdWJzdHJlYW0pXS0+ZGRtYV9jaGFuOworCisJc3dpdGNoIChjbWQpIHsKKwljYXNlIFNORFJWX1BDTV9UUklHR0VSX1NUQVJUOgorCWNhc2UgU05EUlZfUENNX1RSSUdHRVJfUkVTVU1FOgorCQlhdTF4eHhfZGJkbWFfc3RhcnQoYyk7CisJCWJyZWFrOworCWNhc2UgU05EUlZfUENNX1RSSUdHRVJfU1RPUDoKKwljYXNlIFNORFJWX1BDTV9UUklHR0VSX1NVU1BFTkQ6CisJCWF1MXh4eF9kYmRtYV9zdG9wKGMpOworCQlicmVhazsKKwlkZWZhdWx0OgorCQlyZXR1cm4gLUVJTlZBTDsKKwl9CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBzbmRfcGNtX3VmcmFtZXNfdAorYXUxeHBzY19wY21fcG9pbnRlcihzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSkKK3sKKwlyZXR1cm4gYnl0ZXNfdG9fZnJhbWVzKHN1YnN0cmVhbS0+cnVudGltZSwKKwkJYXUxeHBzY19hdWRpb19wY21kbWFbU1VCU1RSRUFNX1RZUEUoc3Vic3RyZWFtKV0tPnBvcyk7Cit9CisKK3N0YXRpYyBpbnQgYXUxeHBzY19wY21fb3BlbihzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSkKK3sKKwlzbmRfc29jX3NldF9ydW50aW1lX2h3cGFyYW1zKHN1YnN0cmVhbSwgJmF1MXhwc2NfcGNtX2hhcmR3YXJlKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBhdTF4cHNjX3BjbV9jbG9zZShzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSkKK3sKKwlhdTF4X3BjbV9kYmRtYV9mcmVlKGF1MXhwc2NfYXVkaW9fcGNtZG1hW1NVQlNUUkVBTV9UWVBFKHN1YnN0cmVhbSldKTsKKwlyZXR1cm4gMDsKK30KKworc3RydWN0IHNuZF9wY21fb3BzIGF1MXhwc2NfcGNtX29wcyA9IHsKKwkub3BlbgkJPSBhdTF4cHNjX3BjbV9vcGVuLAorCS5jbG9zZQkJPSBhdTF4cHNjX3BjbV9jbG9zZSwKKwkuaW9jdGwJCT0gc25kX3BjbV9saWJfaW9jdGwsCisJLmh3X3BhcmFtcwk9IGF1MXhwc2NfcGNtX2h3X3BhcmFtcywKKwkuaHdfZnJlZQk9IGF1MXhwc2NfcGNtX2h3X2ZyZWUsCisJLnByZXBhcmUJPSBhdTF4cHNjX3BjbV9wcmVwYXJlLAorCS50cmlnZ2VyCT0gYXUxeHBzY19wY21fdHJpZ2dlciwKKwkucG9pbnRlcgk9IGF1MXhwc2NfcGNtX3BvaW50ZXIsCit9OworCitzdGF0aWMgdm9pZCBhdTF4cHNjX3BjbV9mcmVlX2RtYV9idWZmZXJzKHN0cnVjdCBzbmRfcGNtICpwY20pCit7CisJc25kX3BjbV9saWJfcHJlYWxsb2NhdGVfZnJlZV9mb3JfYWxsKHBjbSk7Cit9CisKK3N0YXRpYyBpbnQgYXUxeHBzY19wY21fbmV3KHN0cnVjdCBzbmRfY2FyZCAqY2FyZCwKKwkJCSAgIHN0cnVjdCBzbmRfc29jX2RhaSAqZGFpLAorCQkJICAgc3RydWN0IHNuZF9wY20gKnBjbSkKK3sKKwlzbmRfcGNtX2xpYl9wcmVhbGxvY2F0ZV9wYWdlc19mb3JfYWxsKHBjbSwgU05EUlZfRE1BX1RZUEVfREVWLAorCQljYXJkLT5kZXYsIEFVMVhQU0NfQlVGRkVSX01JTl9CWVRFUywgKDQwOTYgKiAxMDI0KSAtIDEpOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgYXUxeHBzY19wY21fcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKK3sKKwlzdHJ1Y3QgcmVzb3VyY2UgKnI7CisJaW50IHJldDsKKworCWlmIChhdTF4cHNjX2F1ZGlvX3BjbWRtYVtQQ01fVFhdIHx8IGF1MXhwc2NfYXVkaW9fcGNtZG1hW1BDTV9SWF0pCisJCXJldHVybiAtRUJVU1k7CisKKwkvKiBUWCBETUEgKi8KKwlhdTF4cHNjX2F1ZGlvX3BjbWRtYVtQQ01fVFhdCisJCT0ga3phbGxvYyhzaXplb2Yoc3RydWN0IGF1MXhwc2NfYXVkaW9fZG1hZGF0YSksIEdGUF9LRVJORUwpOworCWlmICghYXUxeHBzY19hdWRpb19wY21kbWFbUENNX1RYXSkKKwkJcmV0dXJuIC1FTk9NRU07CisKKwlyID0gcGxhdGZvcm1fZ2V0X3Jlc291cmNlKHBkZXYsIElPUkVTT1VSQ0VfRE1BLCAwKTsKKwlpZiAoIXIpIHsKKwkJcmV0ID0gLUVOT0RFVjsKKwkJZ290byBvdXQxOworCX0KKwkoYXUxeHBzY19hdWRpb19wY21kbWFbUENNX1RYXSktPmRkbWFfaWQgPSByLT5zdGFydDsKKworCS8qIFJYIERNQSAqLworCWF1MXhwc2NfYXVkaW9fcGNtZG1hW1BDTV9SWF0KKwkJPSBremFsbG9jKHNpemVvZihzdHJ1Y3QgYXUxeHBzY19hdWRpb19kbWFkYXRhKSwgR0ZQX0tFUk5FTCk7CisJaWYgKCFhdTF4cHNjX2F1ZGlvX3BjbWRtYVtQQ01fUlhdKQorCQlyZXR1cm4gLUVOT01FTTsKKworCXIgPSBwbGF0Zm9ybV9nZXRfcmVzb3VyY2UocGRldiwgSU9SRVNPVVJDRV9ETUEsIDEpOworCWlmICghcikgeworCQlyZXQgPSAtRU5PREVWOworCQlnb3RvIG91dDI7CisJfQorCShhdTF4cHNjX2F1ZGlvX3BjbWRtYVtQQ01fUlhdKS0+ZGRtYV9pZCA9IHItPnN0YXJ0OworCisJcmV0dXJuIDA7CisKK291dDI6CisJa2ZyZWUoYXUxeHBzY19hdWRpb19wY21kbWFbUENNX1JYXSk7CisJYXUxeHBzY19hdWRpb19wY21kbWFbUENNX1JYXSA9IE5VTEw7CitvdXQxOgorCWtmcmVlKGF1MXhwc2NfYXVkaW9fcGNtZG1hW1BDTV9UWF0pOworCWF1MXhwc2NfYXVkaW9fcGNtZG1hW1BDTV9UWF0gPSBOVUxMOworCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBpbnQgYXUxeHBzY19wY21fcmVtb3ZlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCit7CisJaW50IGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgMjsgaSsrKSB7CisJCWlmIChhdTF4cHNjX2F1ZGlvX3BjbWRtYVtpXSkgeworCQkJYXUxeF9wY21fZGJkbWFfZnJlZShhdTF4cHNjX2F1ZGlvX3BjbWRtYVtpXSk7CisJCQlrZnJlZShhdTF4cHNjX2F1ZGlvX3BjbWRtYVtpXSk7CisJCQlhdTF4cHNjX2F1ZGlvX3BjbWRtYVtpXSA9IE5VTEw7CisJCX0KKwl9CisKKwlyZXR1cm4gMDsKK30KKworLyogYXUxeHBzYyBhdWRpbyBwbGF0Zm9ybSAqLworc3RydWN0IHNuZF9zb2NfcGxhdGZvcm0gYXUxeHBzY19zb2NfcGxhdGZvcm0gPSB7CisJLm5hbWUJCT0gImF1MXhwc2MtcGNtLWRiZG1hIiwKKwkucHJvYmUJCT0gYXUxeHBzY19wY21fcHJvYmUsCisJLnJlbW92ZQkJPSBhdTF4cHNjX3BjbV9yZW1vdmUsCisJLnBjbV9vcHMgCT0gJmF1MXhwc2NfcGNtX29wcywKKwkucGNtX25ldwk9IGF1MXhwc2NfcGNtX25ldywKKwkucGNtX2ZyZWUJPSBhdTF4cHNjX3BjbV9mcmVlX2RtYV9idWZmZXJzLAorfTsKK0VYUE9SVF9TWU1CT0xfR1BMKGF1MXhwc2Nfc29jX3BsYXRmb3JtKTsKKworc3RhdGljIGludCBfX2luaXQgYXUxeHBzY19hdWRpb19kYmRtYV9pbml0KHZvaWQpCit7CisJYXUxeHBzY19hdWRpb19wY21kbWFbUENNX1RYXSA9IE5VTEw7CisJYXUxeHBzY19hdWRpb19wY21kbWFbUENNX1JYXSA9IE5VTEw7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIF9fZXhpdCBhdTF4cHNjX2F1ZGlvX2RiZG1hX2V4aXQodm9pZCkKK3sKK30KKworbW9kdWxlX2luaXQoYXUxeHBzY19hdWRpb19kYmRtYV9pbml0KTsKK21vZHVsZV9leGl0KGF1MXhwc2NfYXVkaW9fZGJkbWFfZXhpdCk7CisKK01PRFVMRV9MSUNFTlNFKCJHUEwiKTsKK01PRFVMRV9ERVNDUklQVElPTigiQXUxMngwL0F1MTU1MCBQU0MgQXVkaW8gRE1BIGRyaXZlciIpOworTU9EVUxFX0FVVEhPUigiTWFudWVsIExhdXNzIDxtYW5vQHJvYXJpbmVsay5ob21lbGludXgubmV0PiIpOwpkaWZmIC0tZ2l0IGEvc291bmQvc29jL2F1MXgvcHNjLWFjOTcuYyBiL3NvdW5kL3NvYy9hdTF4L3BzYy1hYzk3LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTdmYWNiYQotLS0gL2Rldi9udWxsCisrKyBiL3NvdW5kL3NvYy9hdTF4L3BzYy1hYzk3LmMKQEAgLTAsMCArMSwzODcgQEAKKy8qCisgKiBBdTEyeDAvQXUxNTUwIFBTQyBBTFNBIEFTb0MgYXVkaW8gc3VwcG9ydC4KKyAqCisgKiAoYykgMjAwNy0yMDA4IE1TQyBWZXJ0cmllYnNnZXMubS5iLkguLAorICoJTWFudWVsIExhdXNzIDxtYW5vQHJvYXJpbmVsay5ob21lbGludXgubmV0PgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcworICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisgKgorICogQXUxeHh4LVBTQyBBQzk3IGdsdWUuCisgKgorICogTk9URTogYWxsIG9mIHRoZXNlIGRyaXZlcnMgY2FuIG9ubHkgd29yayB3aXRoIGEgU0lOR0xFIGluc3RhbmNlCisgKgkgb2YgYSBQU0MuIE11bHRpcGxlIGluZGVwZW5kZW50IGF1ZGlvIGRldmljZXMgYXJlIGltcG9zc2libGUKKyAqCSB3aXRoIEFTb0MgdjEuCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgorI2luY2x1ZGUgPGxpbnV4L3N1c3BlbmQuaD4KKyNpbmNsdWRlIDxzb3VuZC9jb3JlLmg+CisjaW5jbHVkZSA8c291bmQvcGNtLmg+CisjaW5jbHVkZSA8c291bmQvaW5pdHZhbC5oPgorI2luY2x1ZGUgPHNvdW5kL3NvYy5oPgorI2luY2x1ZGUgPGFzbS9tYWNoLWF1MXgwMC9hdTEwMDAuaD4KKyNpbmNsdWRlIDxhc20vbWFjaC1hdTF4MDAvYXUxeHh4X3BzYy5oPgorCisjaW5jbHVkZSAicHNjLmgiCisKKyNkZWZpbmUgQUM5N19ESVIJXAorCShTTkRfU09DX0RBSURJUl9QTEFZQkFDSyB8IFNORF9TT0NfREFJRElSX0NBUFRVUkUpCisKKyNkZWZpbmUgQUM5N19SQVRFUwlcCisJU05EUlZfUENNX1JBVEVfODAwMF80ODAwMAorCisjZGVmaW5lIEFDOTdfRk1UUwlcCisJKFNORFJWX1BDTV9GTVRCSVRfUzE2X0xFIHwgU05EUlZfUENNX0ZNVEJJVF9TMjBfM0JFKQorCisjZGVmaW5lIEFDOTdQQ1JfU1RBUlQoc3R5cGUpCVwKKwkoKHN0eXBlKSA9PSBQQ01fVFggPyBQU0NfQUM5N1BDUl9UUyA6IFBTQ19BQzk3UENSX1JTKQorI2RlZmluZSBBQzk3UENSX1NUT1Aoc3R5cGUpCVwKKwkoKHN0eXBlKSA9PSBQQ01fVFggPyBQU0NfQUM5N1BDUl9UUCA6IFBTQ19BQzk3UENSX1JQKQorI2RlZmluZSBBQzk3UENSX0NMUkZJRk8oc3R5cGUpCVwKKwkoKHN0eXBlKSA9PSBQQ01fVFggPyBQU0NfQUM5N1BDUl9UQyA6IFBTQ19BQzk3UENSX1JDKQorCisvKiBpbnN0YW5jZSBkYXRhLiBUaGVyZSBjYW4gYmUgb25seSBvbmUsIE1hY0xlb2QhISEhICovCitzdGF0aWMgc3RydWN0IGF1MXhwc2NfYXVkaW9fZGF0YSAqYXUxeHBzY19hYzk3X3dvcmtkYXRhOworCisvKiBBQzk3IGNvbnRyb2xsZXIgcmVhZHMgY29kZWMgcmVnaXN0ZXIgKi8KK3N0YXRpYyB1bnNpZ25lZCBzaG9ydCBhdTF4cHNjX2FjOTdfcmVhZChzdHJ1Y3Qgc25kX2FjOTcgKmFjOTcsCisJCQkJCXVuc2lnbmVkIHNob3J0IHJlZykKK3sKKwkvKiBGSVhNRSAqLworCXN0cnVjdCBhdTF4cHNjX2F1ZGlvX2RhdGEgKnBzY2RhdGEgPSBhdTF4cHNjX2FjOTdfd29ya2RhdGE7CisJdW5zaWduZWQgc2hvcnQgZGF0YSwgdG1vOworCisJYXVfd3JpdGVsKFBTQ19BQzk3Q0RDX1JEIHwgUFNDX0FDOTdDRENfSU5EWChyZWcpLCBBQzk3X0NEQyhwc2NkYXRhKSk7CisJYXVfc3luYygpOworCisJdG1vID0gMTAwMDsKKwl3aGlsZSAoKCEoYXVfcmVhZGwoQUM5N19FVk5UKHBzY2RhdGEpKSAmIFBTQ19BQzk3RVZOVF9DRCkpICYmIC0tdG1vKQorCQl1ZGVsYXkoMik7CisKKwlpZiAoIXRtbykKKwkJZGF0YSA9IDB4ZmZmZjsKKwllbHNlCisJCWRhdGEgPSBhdV9yZWFkbChBQzk3X0NEQyhwc2NkYXRhKSkgJiAweGZmZmY7CisKKwlhdV93cml0ZWwoUFNDX0FDOTdFVk5UX0NELCBBQzk3X0VWTlQocHNjZGF0YSkpOworCWF1X3N5bmMoKTsKKworCXJldHVybiBkYXRhOworfQorCisvKiBBQzk3IGNvbnRyb2xsZXIgd3JpdGVzIHRvIGNvZGVjIHJlZ2lzdGVyICovCitzdGF0aWMgdm9pZCBhdTF4cHNjX2FjOTdfd3JpdGUoc3RydWN0IHNuZF9hYzk3ICphYzk3LCB1bnNpZ25lZCBzaG9ydCByZWcsCisJCQkJdW5zaWduZWQgc2hvcnQgdmFsKQoreworCS8qIEZJWE1FICovCisJc3RydWN0IGF1MXhwc2NfYXVkaW9fZGF0YSAqcHNjZGF0YSA9IGF1MXhwc2NfYWM5N193b3JrZGF0YTsKKwl1bnNpZ25lZCBpbnQgdG1vOworCisJYXVfd3JpdGVsKFBTQ19BQzk3Q0RDX0lORFgocmVnKSB8ICh2YWwgJiAweGZmZmYpLCBBQzk3X0NEQyhwc2NkYXRhKSk7CisJYXVfc3luYygpOworCXRtbyA9IDEwMDA7CisJd2hpbGUgKCghKGF1X3JlYWRsKEFDOTdfRVZOVChwc2NkYXRhKSkgJiBQU0NfQUM5N0VWTlRfQ0QpKSAmJiAtLXRtbykKKwkJYXVfc3luYygpOworCisJYXVfd3JpdGVsKFBTQ19BQzk3RVZOVF9DRCwgQUM5N19FVk5UKHBzY2RhdGEpKTsKKwlhdV9zeW5jKCk7Cit9CisKKy8qIEFDOTcgY29udHJvbGxlciBhc3NlcnRzIGEgd2FybSByZXNldCAqLworc3RhdGljIHZvaWQgYXUxeHBzY19hYzk3X3dhcm1fcmVzZXQoc3RydWN0IHNuZF9hYzk3ICphYzk3KQoreworCS8qIEZJWE1FICovCisJc3RydWN0IGF1MXhwc2NfYXVkaW9fZGF0YSAqcHNjZGF0YSA9IGF1MXhwc2NfYWM5N193b3JrZGF0YTsKKworCWF1X3dyaXRlbChQU0NfQUM5N1JTVF9TTkMsIEFDOTdfUlNUKHBzY2RhdGEpKTsKKwlhdV9zeW5jKCk7CisJbXNsZWVwKDEwKTsKKwlhdV93cml0ZWwoMCwgQUM5N19SU1QocHNjZGF0YSkpOworCWF1X3N5bmMoKTsKK30KKworc3RhdGljIHZvaWQgYXUxeHBzY19hYzk3X2NvbGRfcmVzZXQoc3RydWN0IHNuZF9hYzk3ICphYzk3KQoreworCS8qIEZJWE1FICovCisJc3RydWN0IGF1MXhwc2NfYXVkaW9fZGF0YSAqcHNjZGF0YSA9IGF1MXhwc2NfYWM5N193b3JrZGF0YTsKKwlpbnQgaTsKKworCS8qIGRpc2FibGUgUFNDIGR1cmluZyBjb2xkIHJlc2V0ICovCisJYXVfd3JpdGVsKDAsIEFDOTdfQ0ZHKGF1MXhwc2NfYWM5N193b3JrZGF0YSkpOworCWF1X3N5bmMoKTsKKwlhdV93cml0ZWwoUFNDX0NUUkxfRElTQUJMRSwgUFNDX0NUUkwocHNjZGF0YSkpOworCWF1X3N5bmMoKTsKKworCS8qIGlzc3VlIGNvbGQgcmVzZXQgKi8KKwlhdV93cml0ZWwoUFNDX0FDOTdSU1RfUlNULCBBQzk3X1JTVChwc2NkYXRhKSk7CisJYXVfc3luYygpOworCW1zbGVlcCg1MDApOworCWF1X3dyaXRlbCgwLCBBQzk3X1JTVChwc2NkYXRhKSk7CisJYXVfc3luYygpOworCisJLyogZW5hYmxlIFBTQyAqLworCWF1X3dyaXRlbChQU0NfQ1RSTF9FTkFCTEUsIFBTQ19DVFJMKHBzY2RhdGEpKTsKKwlhdV9zeW5jKCk7CisKKwkvKiB3YWl0IGZvciBQU0MgdG8gaW5kaWNhdGUgaXQncyByZWFkeSAqLworCWkgPSAxMDAwMDA7CisJd2hpbGUgKCEoKGF1X3JlYWRsKEFDOTdfU1RBVChwc2NkYXRhKSkgJiBQU0NfQUM5N1NUQVRfU1IpKSAmJiAoLS1pKSkKKwkJYXVfc3luYygpOworCisJaWYgKGkgPT0gMCkgeworCQlwcmludGsoS0VSTl9FUlIgImF1MXhwc2MtYWM5NzogUFNDIG5vdCByZWFkeSFcbiIpOworCQlyZXR1cm47CisJfQorCisJLyogZW5hYmxlIHRoZSBhYzk3IGZ1bmN0aW9uICovCisJYXVfd3JpdGVsKHBzY2RhdGEtPmNmZyB8IFBTQ19BQzk3Q0ZHX0RFX0VOQUJMRSwgQUM5N19DRkcocHNjZGF0YSkpOworCWF1X3N5bmMoKTsKKworCS8qIHdhaXQgZm9yIEFDOTcgY29yZSB0byBiZWNvbWUgcmVhZHkgKi8KKwlpID0gMTAwMDAwOworCXdoaWxlICghKChhdV9yZWFkbChBQzk3X1NUQVQocHNjZGF0YSkpICYgUFNDX0FDOTdTVEFUX0RSKSkgJiYgKC0taSkpCisJCWF1X3N5bmMoKTsKKwlpZiAoaSA9PSAwKQorCQlwcmludGsoS0VSTl9FUlIgImF1MXhwc2MtYWM5NzogQUM5NyBjdHJsIG5vdCByZWFkeVxuIik7Cit9CisKKy8qIEFDOTcgY29udHJvbGxlciBvcGVyYXRpb25zICovCitzdHJ1Y3Qgc25kX2FjOTdfYnVzX29wcyBzb2NfYWM5N19vcHMgPSB7CisJLnJlYWQJCT0gYXUxeHBzY19hYzk3X3JlYWQsCisJLndyaXRlCQk9IGF1MXhwc2NfYWM5N193cml0ZSwKKwkucmVzZXQJCT0gYXUxeHBzY19hYzk3X2NvbGRfcmVzZXQsCisJLndhcm1fcmVzZXQJPSBhdTF4cHNjX2FjOTdfd2FybV9yZXNldCwKK307CitFWFBPUlRfU1lNQk9MX0dQTChzb2NfYWM5N19vcHMpOworCitzdGF0aWMgaW50IGF1MXhwc2NfYWM5N19od19wYXJhbXMoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0sCisJCQkJICBzdHJ1Y3Qgc25kX3BjbV9od19wYXJhbXMgKnBhcmFtcykKK3sKKwkvKiBGSVhNRSAqLworCXN0cnVjdCBhdTF4cHNjX2F1ZGlvX2RhdGEgKnBzY2RhdGEgPSBhdTF4cHNjX2FjOTdfd29ya2RhdGE7CisJdW5zaWduZWQgbG9uZyByLCBzdGF0OworCWludCBjaGFucywgc3R5cGUgPSBTVUJTVFJFQU1fVFlQRShzdWJzdHJlYW0pOworCisJY2hhbnMgPSBwYXJhbXNfY2hhbm5lbHMocGFyYW1zKTsKKworCXIgPSBhdV9yZWFkbChBQzk3X0NGRyhwc2NkYXRhKSk7CisJc3RhdCA9IGF1X3JlYWRsKEFDOTdfU1RBVChwc2NkYXRhKSk7CisKKwkvKiBhbHJlYWR5IGFjdGl2ZT8gKi8KKwlpZiAoc3RhdCAmIChQU0NfQUM5N1NUQVRfVEIgfCBQU0NfQUM5N1NUQVRfUkIpKSB7CisJCS8qIHJlamVjdCBwYXJhbWV0ZXJzIG5vdCBjdXJyZW50bHkgc2V0IHVwICovCisJCWlmICgoUFNDX0FDOTdDRkdfR0VUX0xFTihyKSAhPSBwYXJhbXMtPm1zYml0cykgfHwKKwkJICAgIChwc2NkYXRhLT5yYXRlICE9IHBhcmFtc19yYXRlKHBhcmFtcykpKQorCQkJcmV0dXJuIC1FSU5WQUw7CisJfSBlbHNlIHsKKwkJLyogZGlzYWJsZSBBQzk3IGRldmljZSBjb250cm9sbGVyIGZpcnN0ICovCisJCWF1X3dyaXRlbChyICYgflBTQ19BQzk3Q0ZHX0RFX0VOQUJMRSwgQUM5N19DRkcocHNjZGF0YSkpOworCQlhdV9zeW5jKCk7CisKKwkJLyogc2V0IHNhbXBsZSBiaXRkZXB0aDogUkVHWzI0OjIxXT0oQklUUy0yKS8yICovCisJCXIgJj0gflBTQ19BQzk3Q0ZHX0xFTl9NQVNLOworCQlyIHw9IFBTQ19BQzk3Q0ZHX1NFVF9MRU4ocGFyYW1zLT5tc2JpdHMpOworCisJCS8qIGNoYW5uZWxzOiBlbmFibGUgc2xvdHMgZm9yIGZyb250IEwvUiBjaGFubmVsICovCisJCWlmIChzdHlwZSA9PSBQQ01fVFgpIHsKKwkJCXIgJj0gflBTQ19BQzk3Q0ZHX1RYU0xPVF9NQVNLOworCQkJciB8PSBQU0NfQUM5N0NGR19UWFNMT1RfRU5BKDMpOworCQkJciB8PSBQU0NfQUM5N0NGR19UWFNMT1RfRU5BKDQpOworCQl9IGVsc2UgeworCQkJciAmPSB+UFNDX0FDOTdDRkdfUlhTTE9UX01BU0s7CisJCQlyIHw9IFBTQ19BQzk3Q0ZHX1JYU0xPVF9FTkEoMyk7CisJCQlyIHw9IFBTQ19BQzk3Q0ZHX1JYU0xPVF9FTkEoNCk7CisJCX0KKworCQkvKiBmaW5hbGx5IGVuYWJsZSB0aGUgQUM5NyBjb250cm9sbGVyIGFnYWluICovCisJCWF1X3dyaXRlbChyIHwgUFNDX0FDOTdDRkdfREVfRU5BQkxFLCBBQzk3X0NGRyhwc2NkYXRhKSk7CisJCWF1X3N5bmMoKTsKKworCQlwc2NkYXRhLT5jZmcgPSByOworCQlwc2NkYXRhLT5yYXRlID0gcGFyYW1zX3JhdGUocGFyYW1zKTsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBhdTF4cHNjX2FjOTdfdHJpZ2dlcihzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSwKKwkJCQlpbnQgY21kKQoreworCS8qIEZJWE1FICovCisJc3RydWN0IGF1MXhwc2NfYXVkaW9fZGF0YSAqcHNjZGF0YSA9IGF1MXhwc2NfYWM5N193b3JrZGF0YTsKKwlpbnQgcmV0LCBzdHlwZSA9IFNVQlNUUkVBTV9UWVBFKHN1YnN0cmVhbSk7CisKKwlyZXQgPSAwOworCisJc3dpdGNoIChjbWQpIHsKKwljYXNlIFNORFJWX1BDTV9UUklHR0VSX1NUQVJUOgorCWNhc2UgU05EUlZfUENNX1RSSUdHRVJfUkVTVU1FOgorCQlhdV93cml0ZWwoQUM5N1BDUl9TVEFSVChzdHlwZSksIEFDOTdfUENSKHBzY2RhdGEpKTsKKwkJYXVfc3luYygpOworCQlicmVhazsKKwljYXNlIFNORFJWX1BDTV9UUklHR0VSX1NUT1A6CisJY2FzZSBTTkRSVl9QQ01fVFJJR0dFUl9TVVNQRU5EOgorCQlhdV93cml0ZWwoQUM5N1BDUl9TVE9QKHN0eXBlKSwgQUM5N19QQ1IocHNjZGF0YSkpOworCQlhdV9zeW5jKCk7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCXJldCA9IC1FSU5WQUw7CisJfQorCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBpbnQgYXUxeHBzY19hYzk3X3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsCisJCQkgICAgICBzdHJ1Y3Qgc25kX3NvY19kYWkgKmRhaSkKK3sKKwlpbnQgcmV0OworCXN0cnVjdCByZXNvdXJjZSAqcjsKKwl1bnNpZ25lZCBsb25nIHNlbDsKKworCWlmIChhdTF4cHNjX2FjOTdfd29ya2RhdGEpCisJCXJldHVybiAtRUJVU1k7CisKKwlhdTF4cHNjX2FjOTdfd29ya2RhdGEgPQorCQlremFsbG9jKHNpemVvZihzdHJ1Y3QgYXUxeHBzY19hdWRpb19kYXRhKSwgR0ZQX0tFUk5FTCk7CisJaWYgKCFhdTF4cHNjX2FjOTdfd29ya2RhdGEpCisJCXJldHVybiAtRU5PTUVNOworCisJciA9IHBsYXRmb3JtX2dldF9yZXNvdXJjZShwZGV2LCBJT1JFU09VUkNFX01FTSwgMCk7CisJaWYgKCFyKSB7CisJCXJldCA9IC1FTk9ERVY7CisJCWdvdG8gb3V0MDsKKwl9CisKKwlyZXQgPSAtRUJVU1k7CisJYXUxeHBzY19hYzk3X3dvcmtkYXRhLT5pb2FyZWEgPQorCQlyZXF1ZXN0X21lbV9yZWdpb24oci0+c3RhcnQsIHItPmVuZCAtIHItPnN0YXJ0ICsgMSwKKwkJCQkJImF1MXhwc2NfYWM5NyIpOworCWlmICghYXUxeHBzY19hYzk3X3dvcmtkYXRhLT5pb2FyZWEpCisJCWdvdG8gb3V0MDsKKworCWF1MXhwc2NfYWM5N193b3JrZGF0YS0+bW1pbyA9IGlvcmVtYXAoci0+c3RhcnQsIDB4ZmZmZik7CisJaWYgKCFhdTF4cHNjX2FjOTdfd29ya2RhdGEtPm1taW8pCisJCWdvdG8gb3V0MTsKKworCS8qIGNvbmZpZ3VyYXRpb246IG1heCBkbWEgdHJpZ2dlciB0aHJlc2hvbGQsIGVuYWJsZSBhYzk3ICovCisJIGF1MXhwc2NfYWM5N193b3JrZGF0YS0+Y2ZnID0gUFNDX0FDOTdDRkdfUlRfRklGTzggfAorCQkJCSAgICAgIFBTQ19BQzk3Q0ZHX1RUX0ZJRk84IHwKKwkJCQkgICAgICBQU0NfQUM5N0NGR19ERV9FTkFCTEU7CisKKwkvKiBwcmVzZXJ2ZSBQU0MgY2xvY2sgc291cmNlIHNldCB1cCBieSBwbGF0Zm9ybSAoZGV2LnBsYXRmb3JtX2RhdGEKKwkgKiBpcyBhbHJlYWR5IG9jY3VwaWVkIGJ5IHNvYyBsYXllcikKKwkgKi8KKwlzZWwgPSBhdV9yZWFkbChQU0NfU0VMKGF1MXhwc2NfYWM5N193b3JrZGF0YSkpICYgUFNDX1NFTF9DTEtfTUFTSzsKKwlhdV93cml0ZWwoUFNDX0NUUkxfRElTQUJMRSwgUFNDX0NUUkwoYXUxeHBzY19hYzk3X3dvcmtkYXRhKSk7CisJYXVfc3luYygpOworCWF1X3dyaXRlbCgwLCBQU0NfU0VMKGF1MXhwc2NfYWM5N193b3JrZGF0YSkpOworCWF1X3N5bmMoKTsKKwlhdV93cml0ZWwoUFNDX1NFTF9QU19BQzk3TU9ERSB8IHNlbCwgUFNDX1NFTChhdTF4cHNjX2FjOTdfd29ya2RhdGEpKTsKKwlhdV9zeW5jKCk7CisJLyogbmV4dCB1cDogY29sZCByZXNldC4gIERvbnQgY2hlY2sgZm9yIFBTQy1yZWFkeSBub3cgc2luY2UKKwkgKiB0aGVyZSBtYXkgbm90IGJlIGFueSBjb2RlYyBjbG9jayB5ZXQuCisJICovCisKKwlyZXR1cm4gMDsKKworb3V0MToKKwlyZWxlYXNlX3Jlc291cmNlKGF1MXhwc2NfYWM5N193b3JrZGF0YS0+aW9hcmVhKTsKKwlrZnJlZShhdTF4cHNjX2FjOTdfd29ya2RhdGEtPmlvYXJlYSk7CitvdXQwOgorCWtmcmVlKGF1MXhwc2NfYWM5N193b3JrZGF0YSk7CisJYXUxeHBzY19hYzk3X3dvcmtkYXRhID0gTlVMTDsKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgdm9pZCBhdTF4cHNjX2FjOTdfcmVtb3ZlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsCisJCQkJc3RydWN0IHNuZF9zb2NfZGFpICpkYWkpCit7CisJLyogZGlzYWJsZSBQU0MgY29tcGxldGVseSAqLworCWF1X3dyaXRlbCgwLCBBQzk3X0NGRyhhdTF4cHNjX2FjOTdfd29ya2RhdGEpKTsKKwlhdV9zeW5jKCk7CisJYXVfd3JpdGVsKFBTQ19DVFJMX0RJU0FCTEUsIFBTQ19DVFJMKGF1MXhwc2NfYWM5N193b3JrZGF0YSkpOworCWF1X3N5bmMoKTsKKworCWlvdW5tYXAoYXUxeHBzY19hYzk3X3dvcmtkYXRhLT5tbWlvKTsKKwlyZWxlYXNlX3Jlc291cmNlKGF1MXhwc2NfYWM5N193b3JrZGF0YS0+aW9hcmVhKTsKKwlrZnJlZShhdTF4cHNjX2FjOTdfd29ya2RhdGEtPmlvYXJlYSk7CisJa2ZyZWUoYXUxeHBzY19hYzk3X3dvcmtkYXRhKTsKKwlhdTF4cHNjX2FjOTdfd29ya2RhdGEgPSBOVUxMOworfQorCitzdGF0aWMgaW50IGF1MXhwc2NfYWM5N19zdXNwZW5kKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsCisJCQkJc3RydWN0IHNuZF9zb2NfZGFpICpkYWkpCit7CisJLyogc2F2ZSBpbnRlcmVzdGluZyByZWdpc3RlcnMgYW5kIGRpc2FibGUgUFNDICovCisJYXUxeHBzY19hYzk3X3dvcmtkYXRhLT5wbVswXSA9CisJCQlhdV9yZWFkbChQU0NfU0VMKGF1MXhwc2NfYWM5N193b3JrZGF0YSkpOworCisJYXVfd3JpdGVsKDAsIEFDOTdfQ0ZHKGF1MXhwc2NfYWM5N193b3JrZGF0YSkpOworCWF1X3N5bmMoKTsKKwlhdV93cml0ZWwoUFNDX0NUUkxfRElTQUJMRSwgUFNDX0NUUkwoYXUxeHBzY19hYzk3X3dvcmtkYXRhKSk7CisJYXVfc3luYygpOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgYXUxeHBzY19hYzk3X3Jlc3VtZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LAorCQkJICAgICAgIHN0cnVjdCBzbmRfc29jX2RhaSAqZGFpKQoreworCS8qIHJlc3RvcmUgUFNDIGNsb2NrIGNvbmZpZyAqLworCWF1X3dyaXRlbChhdTF4cHNjX2FjOTdfd29ya2RhdGEtPnBtWzBdIHwgUFNDX1NFTF9QU19BQzk3TU9ERSwKKwkJCVBTQ19TRUwoYXUxeHBzY19hYzk3X3dvcmtkYXRhKSk7CisJYXVfc3luYygpOworCisJLyogYWZ0ZXIgdGhpcyBwb2ludCB0aGUgYWM5NyBjb3JlIHdpbGwgY29sZC1yZXNldCB0aGUgY29kZWMuCisJICogRHVyaW5nIGNvbGQtcmVzZXQgdGhlIFBTQyBpcyByZWluaXRpYWxpemVkIGFuZCB0aGUgbGFzdAorCSAqIGNvbmZpZ3VyYXRpb24gc2V0IHVwIGluIGh3X3BhcmFtcygpIGlzIHJlc3RvcmVkLgorCSAqLworCXJldHVybiAwOworfQorCitzdHJ1Y3Qgc25kX3NvY19kYWkgYXUxeHBzY19hYzk3X2RhaSA9IHsKKwkubmFtZQkJCT0gImF1MXhwc2NfYWM5NyIsCisJLnR5cGUJCQk9IFNORF9TT0NfREFJX0FDOTcsCisJLnByb2JlCQkJPSBhdTF4cHNjX2FjOTdfcHJvYmUsCisJLnJlbW92ZQkJCT0gYXUxeHBzY19hYzk3X3JlbW92ZSwKKwkuc3VzcGVuZAkJPSBhdTF4cHNjX2FjOTdfc3VzcGVuZCwKKwkucmVzdW1lCQkJPSBhdTF4cHNjX2FjOTdfcmVzdW1lLAorCS5wbGF5YmFjayA9IHsKKwkJLnJhdGVzCQk9IEFDOTdfUkFURVMsCisJCS5mb3JtYXRzCT0gQUM5N19GTVRTLAorCQkuY2hhbm5lbHNfbWluCT0gMiwKKwkJLmNoYW5uZWxzX21heAk9IDIsCisJfSwKKwkuY2FwdHVyZSA9IHsKKwkJLnJhdGVzCQk9IEFDOTdfUkFURVMsCisJCS5mb3JtYXRzCT0gQUM5N19GTVRTLAorCQkuY2hhbm5lbHNfbWluCT0gMiwKKwkJLmNoYW5uZWxzX21heAk9IDIsCisJfSwKKwkub3BzID0geworCQkudHJpZ2dlcgk9IGF1MXhwc2NfYWM5N190cmlnZ2VyLAorCQkuaHdfcGFyYW1zCT0gYXUxeHBzY19hYzk3X2h3X3BhcmFtcywKKwl9LAorfTsKK0VYUE9SVF9TWU1CT0xfR1BMKGF1MXhwc2NfYWM5N19kYWkpOworCitzdGF0aWMgaW50IF9faW5pdCBhdTF4cHNjX2FjOTdfaW5pdCh2b2lkKQoreworCWF1MXhwc2NfYWM5N193b3JrZGF0YSA9IE5VTEw7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIF9fZXhpdCBhdTF4cHNjX2FjOTdfZXhpdCh2b2lkKQoreworfQorCittb2R1bGVfaW5pdChhdTF4cHNjX2FjOTdfaW5pdCk7Cittb2R1bGVfZXhpdChhdTF4cHNjX2FjOTdfZXhpdCk7CisKK01PRFVMRV9MSUNFTlNFKCJHUEwiKTsKK01PRFVMRV9ERVNDUklQVElPTigiQXUxMngwL0F1MTU1MCBQU0MgQUM5NyBBTFNBIEFTb0MgYXVkaW8gZHJpdmVyIik7CitNT0RVTEVfQVVUSE9SKCJNYW51ZWwgTGF1c3MgPG1hbm9Acm9hcmluZWxrLmhvbWVsaW51eC5uZXQ+Iik7CmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvYXUxeC9wc2MtaTJzLmMgYi9zb3VuZC9zb2MvYXUxeC9wc2MtaTJzLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmE0YjVjMQotLS0gL2Rldi9udWxsCisrKyBiL3NvdW5kL3NvYy9hdTF4L3BzYy1pMnMuYwpAQCAtMCwwICsxLDQxNCBAQAorLyoKKyAqIEF1MTJ4MC9BdTE1NTAgUFNDIEFMU0EgQVNvQyBhdWRpbyBzdXBwb3J0LgorICoKKyAqIChjKSAyMDA3LTIwMDggTVNDIFZlcnRyaWVic2dlcy5tLmIuSC4sCisgKglNYW51ZWwgTGF1c3MgPG1hbm9Acm9hcmluZWxrLmhvbWVsaW51eC5uZXQ+CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCisgKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyAqCisgKiBBdTF4eHgtUFNDIEkyUyBnbHVlLgorICoKKyAqIE5PVEU6IGFsbCBvZiB0aGVzZSBkcml2ZXJzIGNhbiBvbmx5IHdvcmsgd2l0aCBhIFNJTkdMRSBpbnN0YW5jZQorICoJIG9mIGEgUFNDLiBNdWx0aXBsZSBpbmRlcGVuZGVudCBhdWRpbyBkZXZpY2VzIGFyZSBpbXBvc3NpYmxlCisgKgkgd2l0aCBBU29DIHYxLgorICogTk9URTogc28gZmFyIG9ubHkgUFNDIHNsYXZlIG1vZGUgKGJpdC0gYW5kIGZyYW1lY2xvY2spIGlzIHN1cHBvcnRlZC4KKyAqLworCisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L3N1c3BlbmQuaD4KKyNpbmNsdWRlIDxzb3VuZC9jb3JlLmg+CisjaW5jbHVkZSA8c291bmQvcGNtLmg+CisjaW5jbHVkZSA8c291bmQvaW5pdHZhbC5oPgorI2luY2x1ZGUgPHNvdW5kL3NvYy5oPgorI2luY2x1ZGUgPGFzbS9tYWNoLWF1MXgwMC9hdTEwMDAuaD4KKyNpbmNsdWRlIDxhc20vbWFjaC1hdTF4MDAvYXUxeHh4X3BzYy5oPgorCisjaW5jbHVkZSAicHNjLmgiCisKKy8qIHN1cHBvcnRlZCBJMlMgREFJIGhhcmR3YXJlIGZvcm1hdHMgKi8KKyNkZWZpbmUgQVUxWFBTQ19JMlNfREFJRk1UIFwKKwkoU05EX1NPQ19EQUlGTVRfSTJTIHwgU05EX1NPQ19EQUlGTVRfTEVGVF9KIHwJXAorCSBTTkRfU09DX0RBSUZNVF9OQl9ORikKKworLyogc3VwcG9ydGVkIEkyUyBkaXJlY3Rpb24gKi8KKyNkZWZpbmUgQVUxWFBTQ19JMlNfRElSIFwKKwkoU05EX1NPQ19EQUlESVJfUExBWUJBQ0sgfCBTTkRfU09DX0RBSURJUl9DQVBUVVJFKQorCisjZGVmaW5lIEFVMVhQU0NfSTJTX1JBVEVTIFwKKwlTTkRSVl9QQ01fUkFURV84MDAwXzE5MjAwMAorCisjZGVmaW5lIEFVMVhQU0NfSTJTX0ZNVFMgXAorCShTTkRSVl9QQ01fRk1UQklUX1MxNl9MRSB8IFNORFJWX1BDTV9GTVRCSVRfUzI0X0xFKQorCisjZGVmaW5lIEkyU1NUQVRfQlVTWShzdHlwZSkJXAorCSgoc3R5cGUpID09IFBDTV9UWCA/IFBTQ19JMlNTVEFUX1RCIDogUFNDX0kyU1NUQVRfUkIpCisjZGVmaW5lIEkyU1BDUl9TVEFSVChzdHlwZSkJXAorCSgoc3R5cGUpID09IFBDTV9UWCA/IFBTQ19JMlNQQ1JfVFMgOiBQU0NfSTJTUENSX1JTKQorI2RlZmluZSBJMlNQQ1JfU1RPUChzdHlwZSkJXAorCSgoc3R5cGUpID09IFBDTV9UWCA/IFBTQ19JMlNQQ1JfVFAgOiBQU0NfSTJTUENSX1JQKQorI2RlZmluZSBJMlNQQ1JfQ0xSRklGTyhzdHlwZSkJXAorCSgoc3R5cGUpID09IFBDTV9UWCA/IFBTQ19JMlNQQ1JfVEMgOiBQU0NfSTJTUENSX1JDKQorCisKKy8qIGluc3RhbmNlIGRhdGEuIFRoZXJlIGNhbiBiZSBvbmx5IG9uZSwgTWFjTGVvZCEhISEgKi8KK3N0YXRpYyBzdHJ1Y3QgYXUxeHBzY19hdWRpb19kYXRhICphdTF4cHNjX2kyc193b3JrZGF0YTsKKworc3RhdGljIGludCBhdTF4cHNjX2kyc19zZXRfZm10KHN0cnVjdCBzbmRfc29jX2RhaSAqY3B1X2RhaSwKKwkJCSAgICAgICB1bnNpZ25lZCBpbnQgZm10KQoreworCXN0cnVjdCBhdTF4cHNjX2F1ZGlvX2RhdGEgKnBzY2RhdGEgPSBhdTF4cHNjX2kyc193b3JrZGF0YTsKKwl1bnNpZ25lZCBsb25nIGN0OworCWludCByZXQ7CisKKwlyZXQgPSAtRUlOVkFMOworCisJY3QgPSBwc2NkYXRhLT5jZmc7CisKKwljdCAmPSB+KFBTQ19JMlNDRkdfWE0gfCBQU0NfSTJTQ0ZHX01MSik7CS8qIGxlZnQtanVzdGlmaWVkICovCisJc3dpdGNoIChmbXQgJiBTTkRfU09DX0RBSUZNVF9GT1JNQVRfTUFTSykgeworCWNhc2UgU05EX1NPQ19EQUlGTVRfSTJTOgorCQljdCB8PSBQU0NfSTJTQ0ZHX1hNOwkvKiBlbmFibGUgSTJTIG1vZGUgKi8KKwkJYnJlYWs7CisJY2FzZSBTTkRfU09DX0RBSUZNVF9NU0I6CisJCWJyZWFrOworCWNhc2UgU05EX1NPQ19EQUlGTVRfTFNCOgorCQljdCB8PSBQU0NfSTJTQ0ZHX01MSjsJLyogTFNCIChyaWdodC0pIGp1c3RpZmllZCAqLworCQlicmVhazsKKwlkZWZhdWx0OgorCQlnb3RvIG91dDsKKwl9CisKKwljdCAmPSB+KFBTQ19JMlNDRkdfQkkgfCBQU0NfSTJTQ0ZHX1dJKTsJCS8qIElCLUlGICovCisJc3dpdGNoIChmbXQgJiBTTkRfU09DX0RBSUZNVF9JTlZfTUFTSykgeworCWNhc2UgU05EX1NPQ19EQUlGTVRfTkJfTkY6CisJCWN0IHw9IFBTQ19JMlNDRkdfQkkgfCBQU0NfSTJTQ0ZHX1dJOworCQlicmVhazsKKwljYXNlIFNORF9TT0NfREFJRk1UX05CX0lGOgorCQljdCB8PSBQU0NfSTJTQ0ZHX0JJOworCQlicmVhazsKKwljYXNlIFNORF9TT0NfREFJRk1UX0lCX05GOgorCQljdCB8PSBQU0NfSTJTQ0ZHX1dJOworCQlicmVhazsKKwljYXNlIFNORF9TT0NfREFJRk1UX0lCX0lGOgorCQlicmVhazsKKwlkZWZhdWx0OgorCQlnb3RvIG91dDsKKwl9CisKKwlzd2l0Y2ggKGZtdCAmIFNORF9TT0NfREFJRk1UX01BU1RFUl9NQVNLKSB7CisJY2FzZSBTTkRfU09DX0RBSUZNVF9DQk1fQ0ZNOgkvKiBDT0RFQyBtYXN0ZXIgKi8KKwkJY3QgfD0gUFNDX0kyU0NGR19NUzsJLyogUFNDIEkyUyBzbGF2ZSBtb2RlICovCisJCWJyZWFrOworCWNhc2UgU05EX1NPQ19EQUlGTVRfQ0JTX0NGUzoJLyogQ09ERUMgc2xhdmUgKi8KKwkJY3QgJj0gflBTQ19JMlNDRkdfTVM7CS8qIFBTQyBJMlMgTWFzdGVyIG1vZGUgKi8KKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJZ290byBvdXQ7CisJfQorCisJcHNjZGF0YS0+Y2ZnID0gY3Q7CisJcmV0ID0gMDsKK291dDoKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgaW50IGF1MXhwc2NfaTJzX2h3X3BhcmFtcyhzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSwKKwkJCQkgc3RydWN0IHNuZF9wY21faHdfcGFyYW1zICpwYXJhbXMpCit7CisJc3RydWN0IGF1MXhwc2NfYXVkaW9fZGF0YSAqcHNjZGF0YSA9IGF1MXhwc2NfaTJzX3dvcmtkYXRhOworCisJaW50IGNmZ2JpdHM7CisJdW5zaWduZWQgbG9uZyBzdGF0OworCisJLyogY2hlY2sgaWYgdGhlIFBTQyBpcyBhbHJlYWR5IHN0cmVhbWluZyBkYXRhICovCisJc3RhdCA9IGF1X3JlYWRsKEkyU19TVEFUKHBzY2RhdGEpKTsKKwlpZiAoc3RhdCAmIChQU0NfSTJTU1RBVF9UQiB8IFBTQ19JMlNTVEFUX1JCKSkgeworCQkvKiByZWplY3QgcGFyYW1ldGVycyBub3QgY3VycmVudGx5IHNldCB1cCBpbiBoYXJkd2FyZSAqLworCQljZmdiaXRzID0gYXVfcmVhZGwoSTJTX0NGRyhwc2NkYXRhKSk7CisJCWlmICgoUFNDX0kyU0NGR19HRVRfTEVOKGNmZ2JpdHMpICE9IHBhcmFtcy0+bXNiaXRzKSB8fAorCQkgICAgKHBhcmFtc19yYXRlKHBhcmFtcykgIT0gcHNjZGF0YS0+cmF0ZSkpCisJCQlyZXR1cm4gLUVJTlZBTDsKKwl9IGVsc2UgeworCQkvKiBzZXQgc2FtcGxlIGJpdGRlcHRoICovCisJCXBzY2RhdGEtPmNmZyAmPSB+KDB4MWYgPDwgNCk7CisJCXBzY2RhdGEtPmNmZyB8PSBQU0NfSTJTQ0ZHX1NFVF9MRU4ocGFyYW1zLT5tc2JpdHMpOworCQkvKiByZW1lbWJlciBjdXJyZW50IHJhdGUgZm9yIG90aGVyIHN0cmVhbSAqLworCQlwc2NkYXRhLT5yYXRlID0gcGFyYW1zX3JhdGUocGFyYW1zKTsKKwl9CisJcmV0dXJuIDA7Cit9CisKKy8qIENvbmZpZ3VyZSBQU0MgbGF0ZTogIG9uIG15IGRldmVsIHN5c3RlbXMgdGhlIGNvZGVjICBpcyBJMlMgbWFzdGVyIGFuZAorICogc3VwcGxpZXMgdGhlIGkyc2JpdGNsb2NrIF9fQU5EX18gaTJzTWNsayAoISkgdG8gdGhlIFBTQyB1bml0LiAgQVNvQworICogdXNlcyBhZ2dyZXNzaXZlIFBNIGFuZCAgc3dpdGNoZXMgdGhlIGNvZGVjIG9mZiAgd2hlbiBpdCBpcyBub3QgaW4gdXNlCisgKiB3aGljaCBhbHNvIG1lYW5zIHRoZSBQU0MgdW5pdCBkb2Vzbid0IGdldCBhbnkgY2xvY2tzIGFuZCBpcyB0aGVyZWZvcmUKKyAqIGRlYWQuIFRoYXQncyB3aHkgdGhpcyBjaHVuayBoZXJlIGdldHMgY2FsbGVkIGZyb20gdGhlIHRyaWdnZXIgY2FsbGJhY2sKKyAqIGJlY2F1c2UgSSBjYW4gYmUgcmVhc29uYWJseSBjZXJ0YWluIHRoZSBjb2RlYyBpcyBkcml2aW5nIHRoZSBjbG9ja3MuCisgKi8KK3N0YXRpYyBpbnQgYXUxeHBzY19pMnNfY29uZmlndXJlKHN0cnVjdCBhdTF4cHNjX2F1ZGlvX2RhdGEgKnBzY2RhdGEpCit7CisJdW5zaWduZWQgbG9uZyB0bW87CisKKwkvKiBicmluZyBQU0Mgb3V0IG9mIHNsZWVwLCBhbmQgY29uZmlndXJlIEkyUyB1bml0ICovCisJYXVfd3JpdGVsKFBTQ19DVFJMX0VOQUJMRSwgUFNDX0NUUkwocHNjZGF0YSkpOworCWF1X3N5bmMoKTsKKworCXRtbyA9IDEwMDAwMDA7CisJd2hpbGUgKCEoYXVfcmVhZGwoSTJTX1NUQVQocHNjZGF0YSkpICYgUFNDX0kyU1NUQVRfU1IpICYmIHRtbykKKwkJdG1vLS07CisKKwlpZiAoIXRtbykKKwkJZ290byBwc2NfZXJyOworCisJYXVfd3JpdGVsKDAsIEkyU19DRkcocHNjZGF0YSkpOworCWF1X3N5bmMoKTsKKwlhdV93cml0ZWwocHNjZGF0YS0+Y2ZnIHwgUFNDX0kyU0NGR19ERV9FTkFCTEUsIEkyU19DRkcocHNjZGF0YSkpOworCWF1X3N5bmMoKTsKKworCS8qIHdhaXQgZm9yIEkyUyBjb250cm9sbGVyIHRvIGJlY29tZSByZWFkeSAqLworCXRtbyA9IDEwMDAwMDA7CisJd2hpbGUgKCEoYXVfcmVhZGwoSTJTX1NUQVQocHNjZGF0YSkpICYgUFNDX0kyU1NUQVRfRFIpICYmIHRtbykKKwkJdG1vLS07CisKKwlpZiAodG1vKQorCQlyZXR1cm4gMDsKKworcHNjX2VycjoKKwlhdV93cml0ZWwoMCwgSTJTX0NGRyhwc2NkYXRhKSk7CisJYXVfd3JpdGVsKFBTQ19DVFJMX1NVU1BFTkQsIFBTQ19DVFJMKHBzY2RhdGEpKTsKKwlhdV9zeW5jKCk7CisJcmV0dXJuIC1FVElNRURPVVQ7Cit9CisKK3N0YXRpYyBpbnQgYXUxeHBzY19pMnNfc3RhcnQoc3RydWN0IGF1MXhwc2NfYXVkaW9fZGF0YSAqcHNjZGF0YSwgaW50IHN0eXBlKQoreworCXVuc2lnbmVkIGxvbmcgdG1vLCBzdGF0OworCWludCByZXQ7CisKKwlyZXQgPSAwOworCisJLyogaWYgYm90aCBUWCBhbmQgUlggYXJlIGlkbGUsIGNvbmZpZ3VyZSB0aGUgUFNDICAqLworCXN0YXQgPSBhdV9yZWFkbChJMlNfU1RBVChwc2NkYXRhKSk7CisJaWYgKCEoc3RhdCAmIChQU0NfSTJTU1RBVF9UQiB8IFBTQ19JMlNTVEFUX1JCKSkpIHsKKwkJcmV0ID0gYXUxeHBzY19pMnNfY29uZmlndXJlKHBzY2RhdGEpOworCQlpZiAocmV0KQorCQkJZ290byBvdXQ7CisJfQorCisJYXVfd3JpdGVsKEkyU1BDUl9DTFJGSUZPKHN0eXBlKSwgSTJTX1BDUihwc2NkYXRhKSk7CisJYXVfc3luYygpOworCWF1X3dyaXRlbChJMlNQQ1JfU1RBUlQoc3R5cGUpLCBJMlNfUENSKHBzY2RhdGEpKTsKKwlhdV9zeW5jKCk7CisKKwkvKiB3YWl0IGZvciBzdGFydCBjb25maXJtYXRpb24gKi8KKwl0bW8gPSAxMDAwMDAwOworCXdoaWxlICghKGF1X3JlYWRsKEkyU19TVEFUKHBzY2RhdGEpKSAmIEkyU1NUQVRfQlVTWShzdHlwZSkpICYmIHRtbykKKwkJdG1vLS07CisKKwlpZiAoIXRtbykgeworCQlhdV93cml0ZWwoSTJTUENSX1NUT1Aoc3R5cGUpLCBJMlNfUENSKHBzY2RhdGEpKTsKKwkJYXVfc3luYygpOworCQlyZXQgPSAtRVRJTUVET1VUOworCX0KK291dDoKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgaW50IGF1MXhwc2NfaTJzX3N0b3Aoc3RydWN0IGF1MXhwc2NfYXVkaW9fZGF0YSAqcHNjZGF0YSwgaW50IHN0eXBlKQoreworCXVuc2lnbmVkIGxvbmcgdG1vLCBzdGF0OworCisJYXVfd3JpdGVsKEkyU1BDUl9TVE9QKHN0eXBlKSwgSTJTX1BDUihwc2NkYXRhKSk7CisJYXVfc3luYygpOworCisJLyogd2FpdCBmb3Igc3RvcCBjb25maXJtYXRpb24gKi8KKwl0bW8gPSAxMDAwMDAwOworCXdoaWxlICgoYXVfcmVhZGwoSTJTX1NUQVQocHNjZGF0YSkpICYgSTJTU1RBVF9CVVNZKHN0eXBlKSkgJiYgdG1vKQorCQl0bW8tLTsKKworCS8qIGlmIGJvdGggVFggYW5kIFJYIGFyZSBpZGxlLCBkaXNhYmxlIFBTQyAqLworCXN0YXQgPSBhdV9yZWFkbChJMlNfU1RBVChwc2NkYXRhKSk7CisJaWYgKCEoc3RhdCAmIChQU0NfSTJTU1RBVF9SQiB8IFBTQ19JMlNTVEFUX1JCKSkpIHsKKwkJYXVfd3JpdGVsKDAsIEkyU19DRkcocHNjZGF0YSkpOworCQlhdV9zeW5jKCk7CisJCWF1X3dyaXRlbChQU0NfQ1RSTF9TVVNQRU5ELCBQU0NfQ1RSTChwc2NkYXRhKSk7CisJCWF1X3N5bmMoKTsKKwl9CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgYXUxeHBzY19pMnNfdHJpZ2dlcihzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSwgaW50IGNtZCkKK3sKKwlzdHJ1Y3QgYXUxeHBzY19hdWRpb19kYXRhICpwc2NkYXRhID0gYXUxeHBzY19pMnNfd29ya2RhdGE7CisJaW50IHJldCwgc3R5cGUgPSBTVUJTVFJFQU1fVFlQRShzdWJzdHJlYW0pOworCisJc3dpdGNoIChjbWQpIHsKKwljYXNlIFNORFJWX1BDTV9UUklHR0VSX1NUQVJUOgorCWNhc2UgU05EUlZfUENNX1RSSUdHRVJfUkVTVU1FOgorCQlyZXQgPSBhdTF4cHNjX2kyc19zdGFydChwc2NkYXRhLCBzdHlwZSk7CisJCWJyZWFrOworCWNhc2UgU05EUlZfUENNX1RSSUdHRVJfU1RPUDoKKwljYXNlIFNORFJWX1BDTV9UUklHR0VSX1NVU1BFTkQ6CisJCXJldCA9IGF1MXhwc2NfaTJzX3N0b3AocHNjZGF0YSwgc3R5cGUpOworCQlicmVhazsKKwlkZWZhdWx0OgorCQlyZXQgPSAtRUlOVkFMOworCX0KKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgaW50IGF1MXhwc2NfaTJzX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsCisJCQkgICAgIHN0cnVjdCBzbmRfc29jX2RhaSAqZGFpKQoreworCXN0cnVjdCByZXNvdXJjZSAqcjsKKwl1bnNpZ25lZCBsb25nIHNlbDsKKwlpbnQgcmV0OworCisJaWYgKGF1MXhwc2NfaTJzX3dvcmtkYXRhKQorCQlyZXR1cm4gLUVCVVNZOworCisJYXUxeHBzY19pMnNfd29ya2RhdGEgPQorCQlremFsbG9jKHNpemVvZihzdHJ1Y3QgYXUxeHBzY19hdWRpb19kYXRhKSwgR0ZQX0tFUk5FTCk7CisJaWYgKCFhdTF4cHNjX2kyc193b3JrZGF0YSkKKwkJcmV0dXJuIC1FTk9NRU07CisKKwlyID0gcGxhdGZvcm1fZ2V0X3Jlc291cmNlKHBkZXYsIElPUkVTT1VSQ0VfTUVNLCAwKTsKKwlpZiAoIXIpIHsKKwkJcmV0ID0gLUVOT0RFVjsKKwkJZ290byBvdXQwOworCX0KKworCXJldCA9IC1FQlVTWTsKKwlhdTF4cHNjX2kyc193b3JrZGF0YS0+aW9hcmVhID0KKwkJcmVxdWVzdF9tZW1fcmVnaW9uKHItPnN0YXJ0LCByLT5lbmQgLSByLT5zdGFydCArIDEsCisJCQkJCSJhdTF4cHNjX2kycyIpOworCWlmICghYXUxeHBzY19pMnNfd29ya2RhdGEtPmlvYXJlYSkKKwkJZ290byBvdXQwOworCisJYXUxeHBzY19pMnNfd29ya2RhdGEtPm1taW8gPSBpb3JlbWFwKHItPnN0YXJ0LCAweGZmZmYpOworCWlmICghYXUxeHBzY19pMnNfd29ya2RhdGEtPm1taW8pCisJCWdvdG8gb3V0MTsKKworCS8qIHByZXNlcnZlIFBTQyBjbG9jayBzb3VyY2Ugc2V0IHVwIGJ5IHBsYXRmb3JtIChkZXYucGxhdGZvcm1fZGF0YQorCSAqIGlzIGFscmVhZHkgb2NjdXBpZWQgYnkgc29jIGxheWVyKQorCSAqLworCXNlbCA9IGF1X3JlYWRsKFBTQ19TRUwoYXUxeHBzY19pMnNfd29ya2RhdGEpKSAmIFBTQ19TRUxfQ0xLX01BU0s7CisJYXVfd3JpdGVsKFBTQ19DVFJMX0RJU0FCTEUsIFBTQ19DVFJMKGF1MXhwc2NfaTJzX3dvcmtkYXRhKSk7CisJYXVfc3luYygpOworCWF1X3dyaXRlbChQU0NfU0VMX1BTX0kyU01PREUgfCBzZWwsIFBTQ19TRUwoYXUxeHBzY19pMnNfd29ya2RhdGEpKTsKKwlhdV93cml0ZWwoMCwgSTJTX0NGRyhhdTF4cHNjX2kyc193b3JrZGF0YSkpOworCWF1X3N5bmMoKTsKKworCS8qIHByZWNvbmZpZ3VyZTogc2V0IG1heCByeC90eCBmaWZvIGRlcHRocyAqLworCWF1MXhwc2NfaTJzX3dvcmtkYXRhLT5jZmcgfD0KKwkJCVBTQ19JMlNDRkdfUlRfRklGTzggfCBQU0NfSTJTQ0ZHX1RUX0ZJRk84OworCisJLyogZG9uJ3Qgd2FpdCBmb3IgSTJTIGNvcmUgdG8gYmVjb21lIHJlYWR5IG5vdzsgY2xvY2tzIG1heSBub3QKKwkgKiBiZSBydW5uaW5nIHlldDsgZGVwZW5kaW5nIG9uIGNsb2NrIGlucHV0IGZvciBQU0MgYSB3YWl0IG1pZ2h0CisJICogdGltZSBvdXQuCisJICovCisKKwlyZXR1cm4gMDsKKworb3V0MToKKwlyZWxlYXNlX3Jlc291cmNlKGF1MXhwc2NfaTJzX3dvcmtkYXRhLT5pb2FyZWEpOworCWtmcmVlKGF1MXhwc2NfaTJzX3dvcmtkYXRhLT5pb2FyZWEpOworb3V0MDoKKwlrZnJlZShhdTF4cHNjX2kyc193b3JrZGF0YSk7CisJYXUxeHBzY19pMnNfd29ya2RhdGEgPSBOVUxMOworCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyB2b2lkIGF1MXhwc2NfaTJzX3JlbW92ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LAorCQkJICAgICAgIHN0cnVjdCBzbmRfc29jX2RhaSAqZGFpKQoreworCWF1X3dyaXRlbCgwLCBJMlNfQ0ZHKGF1MXhwc2NfaTJzX3dvcmtkYXRhKSk7CisJYXVfc3luYygpOworCWF1X3dyaXRlbChQU0NfQ1RSTF9ESVNBQkxFLCBQU0NfQ1RSTChhdTF4cHNjX2kyc193b3JrZGF0YSkpOworCWF1X3N5bmMoKTsKKworCWlvdW5tYXAoYXUxeHBzY19pMnNfd29ya2RhdGEtPm1taW8pOworCXJlbGVhc2VfcmVzb3VyY2UoYXUxeHBzY19pMnNfd29ya2RhdGEtPmlvYXJlYSk7CisJa2ZyZWUoYXUxeHBzY19pMnNfd29ya2RhdGEtPmlvYXJlYSk7CisJa2ZyZWUoYXUxeHBzY19pMnNfd29ya2RhdGEpOworCWF1MXhwc2NfaTJzX3dvcmtkYXRhID0gTlVMTDsKK30KKworc3RhdGljIGludCBhdTF4cHNjX2kyc19zdXNwZW5kKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsCisJCQkgICAgICAgc3RydWN0IHNuZF9zb2NfZGFpICpjcHVfZGFpKQoreworCS8qIHNhdmUgaW50ZXJlc3RpbmcgcmVnaXN0ZXIgYW5kIGRpc2FibGUgUFNDICovCisJYXUxeHBzY19pMnNfd29ya2RhdGEtPnBtWzBdID0KKwkJYXVfcmVhZGwoUFNDX1NFTChhdTF4cHNjX2kyc193b3JrZGF0YSkpOworCisJYXVfd3JpdGVsKDAsIEkyU19DRkcoYXUxeHBzY19pMnNfd29ya2RhdGEpKTsKKwlhdV9zeW5jKCk7CisJYXVfd3JpdGVsKFBTQ19DVFJMX0RJU0FCTEUsIFBTQ19DVFJMKGF1MXhwc2NfaTJzX3dvcmtkYXRhKSk7CisJYXVfc3luYygpOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgYXUxeHBzY19pMnNfcmVzdW1lKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsCisJCQkgICAgICBzdHJ1Y3Qgc25kX3NvY19kYWkgKmNwdV9kYWkpCit7CisJLyogc2VsZWN0IEkyUyBtb2RlIGFuZCBQU0MgY2xvY2sgKi8KKwlhdV93cml0ZWwoUFNDX0NUUkxfRElTQUJMRSwgUFNDX0NUUkwoYXUxeHBzY19pMnNfd29ya2RhdGEpKTsKKwlhdV9zeW5jKCk7CisJYXVfd3JpdGVsKDAsIFBTQ19TRUwoYXUxeHBzY19pMnNfd29ya2RhdGEpKTsKKwlhdV9zeW5jKCk7CisJYXVfd3JpdGVsKGF1MXhwc2NfaTJzX3dvcmtkYXRhLT5wbVswXSwKKwkJCVBTQ19TRUwoYXUxeHBzY19pMnNfd29ya2RhdGEpKTsKKwlhdV9zeW5jKCk7CisKKwlyZXR1cm4gMDsKK30KKworc3RydWN0IHNuZF9zb2NfZGFpIGF1MXhwc2NfaTJzX2RhaSA9IHsKKwkubmFtZQkJCT0gImF1MXhwc2NfaTJzIiwKKwkudHlwZQkJCT0gU05EX1NPQ19EQUlfSTJTLAorCS5wcm9iZQkJCT0gYXUxeHBzY19pMnNfcHJvYmUsCisJLnJlbW92ZQkJCT0gYXUxeHBzY19pMnNfcmVtb3ZlLAorCS5zdXNwZW5kCQk9IGF1MXhwc2NfaTJzX3N1c3BlbmQsCisJLnJlc3VtZQkJCT0gYXUxeHBzY19pMnNfcmVzdW1lLAorCS5wbGF5YmFjayA9IHsKKwkJLnJhdGVzCQk9IEFVMVhQU0NfSTJTX1JBVEVTLAorCQkuZm9ybWF0cwk9IEFVMVhQU0NfSTJTX0ZNVFMsCisJCS5jaGFubmVsc19taW4JPSAyLAorCQkuY2hhbm5lbHNfbWF4CT0gOCwJLyogMiB3aXRob3V0IGV4dGVybmFsIGhlbHAgKi8KKwl9LAorCS5jYXB0dXJlID0geworCQkucmF0ZXMJCT0gQVUxWFBTQ19JMlNfUkFURVMsCisJCS5mb3JtYXRzCT0gQVUxWFBTQ19JMlNfRk1UUywKKwkJLmNoYW5uZWxzX21pbgk9IDIsCisJCS5jaGFubmVsc19tYXgJPSA4LAkvKiAyIHdpdGhvdXQgZXh0ZXJuYWwgaGVscCAqLworCX0sCisJLm9wcyA9IHsKKwkJLnRyaWdnZXIJPSBhdTF4cHNjX2kyc190cmlnZ2VyLAorCQkuaHdfcGFyYW1zCT0gYXUxeHBzY19pMnNfaHdfcGFyYW1zLAorCX0sCisJLmRhaV9vcHMgPSB7CisJCS5zZXRfZm10CT0gYXUxeHBzY19pMnNfc2V0X2ZtdCwKKwl9LAorfTsKK0VYUE9SVF9TWU1CT0woYXUxeHBzY19pMnNfZGFpKTsKKworc3RhdGljIGludCBfX2luaXQgYXUxeHBzY19pMnNfaW5pdCh2b2lkKQoreworCWF1MXhwc2NfaTJzX3dvcmtkYXRhID0gTlVMTDsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgX19leGl0IGF1MXhwc2NfaTJzX2V4aXQodm9pZCkKK3sKK30KKworbW9kdWxlX2luaXQoYXUxeHBzY19pMnNfaW5pdCk7Cittb2R1bGVfZXhpdChhdTF4cHNjX2kyc19leGl0KTsKKworTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOworTU9EVUxFX0RFU0NSSVBUSU9OKCJBdTEyeDAvQXUxNTUwIFBTQyBJMlMgQUxTQSBBU29DIGF1ZGlvIGRyaXZlciIpOworTU9EVUxFX0FVVEhPUigiTWFudWVsIExhdXNzIDxtYW5vQHJvYXJpbmVsay5ob21lbGludXgubmV0PiIpOwpkaWZmIC0tZ2l0IGEvc291bmQvc29jL2F1MXgvcHNjLmggYi9zb3VuZC9zb2MvYXUxeC9wc2MuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZmRiMWEwNAotLS0gL2Rldi9udWxsCisrKyBiL3NvdW5kL3NvYy9hdTF4L3BzYy5oCkBAIC0wLDAgKzEsNTMgQEAKKy8qCisgKiBBdTEyeDAvQXUxNTUwIFBTQyBBTFNBIEFTb0MgYXVkaW8gc3VwcG9ydC4KKyAqCisgKiAoYykgMjAwNy0yMDA4IE1TQyBWZXJ0cmllYnNnZXMubS5iLkguLAorICoJTWFudWVsIExhdXNzIDxtYW5vQHJvYXJpbmVsay5ob21lbGludXgubmV0PgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcworICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisgKgorICogTk9URTogYWxsIG9mIHRoZXNlIGRyaXZlcnMgY2FuIG9ubHkgd29yayB3aXRoIGEgU0lOR0xFIGluc3RhbmNlCisgKgkgb2YgYSBQU0MuIE11bHRpcGxlIGluZGVwZW5kZW50IGF1ZGlvIGRldmljZXMgYXJlIGltcG9zc2libGUKKyAqCSB3aXRoIEFTb0MgdjEuCisgKi8KKworI2lmbmRlZiBfQVUxWF9QQ01fSAorI2RlZmluZSBfQVUxWF9QQ01fSAorCitleHRlcm4gc3RydWN0IHNuZF9zb2NfZGFpIGF1MXhwc2NfYWM5N19kYWk7CitleHRlcm4gc3RydWN0IHNuZF9zb2NfZGFpIGF1MXhwc2NfaTJzX2RhaTsKK2V4dGVybiBzdHJ1Y3Qgc25kX3NvY19wbGF0Zm9ybSBhdTF4cHNjX3NvY19wbGF0Zm9ybTsKK2V4dGVybiBzdHJ1Y3Qgc25kX2FjOTdfYnVzX29wcyBzb2NfYWM5N19vcHM7CisKK3N0cnVjdCBhdTF4cHNjX2F1ZGlvX2RhdGEgeworCXZvaWQgX19pb21lbSAqbW1pbzsKKworCXVuc2lnbmVkIGxvbmcgY2ZnOworCXVuc2lnbmVkIGxvbmcgcmF0ZTsKKworCXVuc2lnbmVkIGxvbmcgcG1bMl07CisJc3RydWN0IHJlc291cmNlICppb2FyZWE7Cit9OworCisjZGVmaW5lIFBDTV9UWAkwCisjZGVmaW5lIFBDTV9SWAkxCisKKyNkZWZpbmUgU1VCU1RSRUFNX1RZUEUoc3Vic3RyZWFtKSBcCisJKChzdWJzdHJlYW0pLT5zdHJlYW0gPT0gU05EUlZfUENNX1NUUkVBTV9QTEFZQkFDSyA/IFBDTV9UWCA6IFBDTV9SWCkKKworLyogZWFzeSBhY2Nlc3MgbWFjcm9zICovCisjZGVmaW5lIFBTQ19DVFJMKHgpCSgodW5zaWduZWQgbG9uZykoKHgpLT5tbWlvKSArIFBTQ19DVFJMX09GRlNFVCkKKyNkZWZpbmUgUFNDX1NFTCh4KQkoKHVuc2lnbmVkIGxvbmcpKCh4KS0+bW1pbykgKyBQU0NfU0VMX09GRlNFVCkKKyNkZWZpbmUgSTJTX1NUQVQoeCkJKCh1bnNpZ25lZCBsb25nKSgoeCktPm1taW8pICsgUFNDX0kyU1NUQVRfT0ZGU0VUKQorI2RlZmluZSBJMlNfQ0ZHKHgpCSgodW5zaWduZWQgbG9uZykoKHgpLT5tbWlvKSArIFBTQ19JMlNDRkdfT0ZGU0VUKQorI2RlZmluZSBJMlNfUENSKHgpCSgodW5zaWduZWQgbG9uZykoKHgpLT5tbWlvKSArIFBTQ19JMlNQQ1JfT0ZGU0VUKQorI2RlZmluZSBBQzk3X0NGRyh4KQkoKHVuc2lnbmVkIGxvbmcpKCh4KS0+bW1pbykgKyBQU0NfQUM5N0NGR19PRkZTRVQpCisjZGVmaW5lIEFDOTdfQ0RDKHgpCSgodW5zaWduZWQgbG9uZykoKHgpLT5tbWlvKSArIFBTQ19BQzk3Q0RDX09GRlNFVCkKKyNkZWZpbmUgQUM5N19FVk5UKHgpCSgodW5zaWduZWQgbG9uZykoKHgpLT5tbWlvKSArIFBTQ19BQzk3RVZOVF9PRkZTRVQpCisjZGVmaW5lIEFDOTdfUENSKHgpCSgodW5zaWduZWQgbG9uZykoKHgpLT5tbWlvKSArIFBTQ19BQzk3UENSX09GRlNFVCkKKyNkZWZpbmUgQUM5N19SU1QoeCkJKCh1bnNpZ25lZCBsb25nKSgoeCktPm1taW8pICsgUFNDX0FDOTdSU1RfT0ZGU0VUKQorI2RlZmluZSBBQzk3X1NUQVQoeCkJKCh1bnNpZ25lZCBsb25nKSgoeCktPm1taW8pICsgUFNDX0FDOTdTVEFUX09GRlNFVCkKKworI2VuZGlmCmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvYXUxeC9zYW1wbGUtYWM5Ny5jIGIvc291bmQvc29jL2F1MXgvc2FtcGxlLWFjOTcuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNzVhZTdmCi0tLSAvZGV2L251bGwKKysrIGIvc291bmQvc29jL2F1MXgvc2FtcGxlLWFjOTcuYwpAQCAtMCwwICsxLDE0NCBAQAorLyoKKyAqIFNhbXBsZSBBdTEyeDAvQXUxNTUwIFBTQyBBQzk3IHNvdW5kIG1hY2hpbmUuCisgKgorICogQ29weXJpZ2h0IChjKSAyMDA3LTIwMDggTWFudWVsIExhdXNzIDxtYW5vQHJvYXJpbmVsay5ob21lbGludXgubmV0PgorICoKKyAqICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogIGl0IHVuZGVyIHRoZSB0ZXJtcyBvdXRsaW5lZCBpbiB0aGUgZmlsZSBDT1BZSU5HIGF0IHRoZSByb290IG9mIHRoaXMKKyAqICBzb3VyY2UgYXJjaGl2ZS4KKyAqCisgKiBUaGlzIGlzIGEgdmVyeSBnZW5lcmljIEFDOTcgc291bmQgbWFjaGluZSBkcml2ZXIgZm9yIGJvYXJkcyB3aGljaAorICogaGF2ZSAoQUM5NykgYXVkaW8gYXQgUFNDMSAoZS5nLiBEQjEyMDAgZGVtb2JvYXJkcykuCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L21vZHVsZXBhcmFtLmg+CisjaW5jbHVkZSA8bGludXgvdGltZXIuaD4KKyNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KKyNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KKyNpbmNsdWRlIDxzb3VuZC9jb3JlLmg+CisjaW5jbHVkZSA8c291bmQvcGNtLmg+CisjaW5jbHVkZSA8c291bmQvc29jLmg+CisjaW5jbHVkZSA8c291bmQvc29jLWRhcG0uaD4KKyNpbmNsdWRlIDxhc20vbWFjaC1hdTF4MDAvYXUxMDAwLmg+CisjaW5jbHVkZSA8YXNtL21hY2gtYXUxeDAwL2F1MXh4eF9wc2MuaD4KKyNpbmNsdWRlIDxhc20vbWFjaC1hdTF4MDAvYXUxeHh4X2RiZG1hLmg+CisKKyNpbmNsdWRlICIuLi9jb2RlY3MvYWM5Ny5oIgorI2luY2x1ZGUgInBzYy5oIgorCitzdGF0aWMgaW50IGF1MXhwc2Nfc2FtcGxlX2FjOTdfaW5pdChzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMpCit7CisJc25kX3NvY19kYXBtX3N5bmMoY29kZWMpOworCXJldHVybiAwOworfQorCitzdGF0aWMgc3RydWN0IHNuZF9zb2NfZGFpX2xpbmsgYXUxeHBzY19zYW1wbGVfYWM5N19kYWkgPSB7CisJLm5hbWUJCT0gIkFDOTciLAorCS5zdHJlYW1fbmFtZQk9ICJBQzk3IEhpRmkiLAorCS5jcHVfZGFpCT0gJmF1MXhwc2NfYWM5N19kYWksCS8qIHNlZSBwc2MtYWM5Ny5jICovCisJLmNvZGVjX2RhaQk9ICZhYzk3X2RhaSwJCS8qIHNlZSBjb2RlY3MvYWM5Ny5jICovCisJLmluaXQJCT0gYXUxeHBzY19zYW1wbGVfYWM5N19pbml0LAorCS5vcHMJCT0gTlVMTCwKK307CisKK3N0YXRpYyBzdHJ1Y3Qgc25kX3NvY19tYWNoaW5lIGF1MXhwc2Nfc2FtcGxlX2FjOTdfbWFjaGluZSA9IHsKKwkubmFtZQkJPSAiQXUxeHh4IFBTQyBBQzk3IEF1ZGlvIiwKKwkuZGFpX2xpbmsJPSAmYXUxeHBzY19zYW1wbGVfYWM5N19kYWksCisJLm51bV9saW5rcwk9IDEsCit9OworCitzdGF0aWMgc3RydWN0IHNuZF9zb2NfZGV2aWNlIGF1MXhwc2Nfc2FtcGxlX2FjOTdfZGV2ZGF0YSA9IHsKKwkubWFjaGluZQk9ICZhdTF4cHNjX3NhbXBsZV9hYzk3X21hY2hpbmUsCisJLnBsYXRmb3JtCT0gJmF1MXhwc2Nfc29jX3BsYXRmb3JtLCAvKiBzZWUgZGJkbWEyLmMgKi8KKwkuY29kZWNfZGV2CT0gJnNvY19jb2RlY19kZXZfYWM5NywKK307CisKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgYXUxeHBzY19wc2MxX3Jlc1tdID0geworCVswXSA9IHsKKwkJLnN0YXJ0CT0gQ1BIWVNBRERSKFBTQzFfQkFTRV9BRERSKSwKKwkJLmVuZAk9IENQSFlTQUREUihQU0MxX0JBU0VfQUREUikgKyAweDAwMGZmZmZmLAorCQkuZmxhZ3MJPSBJT1JFU09VUkNFX01FTSwKKwl9LAorCVsxXSA9IHsKKyNpZmRlZiBDT05GSUdfU09DX0FVMTIwMAorCQkuc3RhcnQJPSBBVTEyMDBfUFNDMV9JTlQsCisJCS5lbmQJPSBBVTEyMDBfUFNDMV9JTlQsCisjZWxpZiBkZWZpbmVkKENPTkZJR19TT0NfQVUxNTUwKQorCQkuc3RhcnQJPSBBVTE1NTBfUFNDMV9JTlQsCisJCS5lbmQJPSBBVTE1NTBfUFNDMV9JTlQsCisjZW5kaWYKKwkJLmZsYWdzCT0gSU9SRVNPVVJDRV9JUlEsCisJfSwKKwlbMl0gPSB7CisJCS5zdGFydAk9IERTQ1JfQ01EMF9QU0MxX1RYLAorCQkuZW5kCT0gRFNDUl9DTUQwX1BTQzFfVFgsCisJCS5mbGFncwk9IElPUkVTT1VSQ0VfRE1BLAorCX0sCisJWzNdID0geworCQkuc3RhcnQJPSBEU0NSX0NNRDBfUFNDMV9SWCwKKwkJLmVuZAk9IERTQ1JfQ01EMF9QU0MxX1JYLAorCQkuZmxhZ3MJPSBJT1JFU09VUkNFX0RNQSwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKmF1MXhwc2Nfc2FtcGxlX2FjOTdfZGV2OworCitzdGF0aWMgaW50IF9faW5pdCBhdTF4cHNjX3NhbXBsZV9hYzk3X2xvYWQodm9pZCkKK3sKKwlpbnQgcmV0OworCisjaWZkZWYgQ09ORklHX1NPQ19BVTEyMDAKKwl1bnNpZ25lZCBsb25nIGlvOworCisJLyogbW9kaWZ5IHN5c19waW5mdW5jIGZvciBBQzk3IG9uIFBTQzEgKi8KKwlpbyA9IGF1X3JlYWRsKFNZU19QSU5GVU5DKTsKKwlpbyB8PSBTWVNfUElORlVOQ19QMUM7CisJaW8gJj0gfihTWVNfUElORlVOQ19QMUEgfCBTWVNfUElORlVOQ19QMUIpOworCWF1X3dyaXRlbChpbywgU1lTX1BJTkZVTkMpOworCWF1X3N5bmMoKTsKKyNlbmRpZgorCisJcmV0ID0gLUVOT01FTTsKKworCS8qIHNldHVwIFBTQyBjbG9jayBzb3VyY2UgZm9yIEFDOTcgcGFydDogZXh0ZXJuYWwgY2xvY2sgcHJvdmlkZWQKKwkgKiBieSBjb2RlYy4gIFRoZSBwc2MtYWM5Ny5jIGRyaXZlciBkZXBlbmRzIG9uIHRoaXMgc2V0dGluZyEKKwkgKi8KKwlhdV93cml0ZWwoUFNDX1NFTF9DTEtfU0VSQ0xLLCBQU0MxX0JBU0VfQUREUiArIFBTQ19TRUxfT0ZGU0VUKTsKKwlhdV9zeW5jKCk7CisKKwlhdTF4cHNjX3NhbXBsZV9hYzk3X2RldiA9IHBsYXRmb3JtX2RldmljZV9hbGxvYygic29jLWF1ZGlvIiwgLTEpOworCWlmICghYXUxeHBzY19zYW1wbGVfYWM5N19kZXYpCisJCWdvdG8gb3V0OworCisJYXUxeHBzY19zYW1wbGVfYWM5N19kZXYtPnJlc291cmNlID0KKwkJa21lbWR1cChhdTF4cHNjX3BzYzFfcmVzLCBzaXplb2Yoc3RydWN0IHJlc291cmNlKSAqCisJCQlBUlJBWV9TSVpFKGF1MXhwc2NfcHNjMV9yZXMpLCBHRlBfS0VSTkVMKTsKKwlhdTF4cHNjX3NhbXBsZV9hYzk3X2Rldi0+bnVtX3Jlc291cmNlcyA9IEFSUkFZX1NJWkUoYXUxeHBzY19wc2MxX3Jlcyk7CisJYXUxeHBzY19zYW1wbGVfYWM5N19kZXYtPmlkID0gMTsKKworCXBsYXRmb3JtX3NldF9kcnZkYXRhKGF1MXhwc2Nfc2FtcGxlX2FjOTdfZGV2LAorCQkJICAgICAmYXUxeHBzY19zYW1wbGVfYWM5N19kZXZkYXRhKTsKKwlhdTF4cHNjX3NhbXBsZV9hYzk3X2RldmRhdGEuZGV2ID0gJmF1MXhwc2Nfc2FtcGxlX2FjOTdfZGV2LT5kZXY7CisJcmV0ID0gcGxhdGZvcm1fZGV2aWNlX2FkZChhdTF4cHNjX3NhbXBsZV9hYzk3X2Rldik7CisKKwlpZiAocmV0KSB7CisJCXBsYXRmb3JtX2RldmljZV9wdXQoYXUxeHBzY19zYW1wbGVfYWM5N19kZXYpOworCQlhdTF4cHNjX3NhbXBsZV9hYzk3X2RldiA9IE5VTEw7CisJfQorCitvdXQ6CisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIHZvaWQgX19leGl0IGF1MXhwc2Nfc2FtcGxlX2FjOTdfZXhpdCh2b2lkKQoreworCXBsYXRmb3JtX2RldmljZV91bnJlZ2lzdGVyKGF1MXhwc2Nfc2FtcGxlX2FjOTdfZGV2KTsKK30KKworbW9kdWxlX2luaXQoYXUxeHBzY19zYW1wbGVfYWM5N19sb2FkKTsKK21vZHVsZV9leGl0KGF1MXhwc2Nfc2FtcGxlX2FjOTdfZXhpdCk7CisKK01PRFVMRV9MSUNFTlNFKCJHUEwiKTsKK01PRFVMRV9ERVNDUklQVElPTigiQXUxeHh4IFBTQyBzYW1wbGUgQUM5NyBtYWNoaW5lIik7CitNT0RVTEVfQVVUSE9SKCJNYW51ZWwgTGF1c3MgPG1hbm9Acm9hcmluZWxrLmhvbWVsaW51eC5uZXQ+Iik7CmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvY29kZWNzL0tjb25maWcgYi9zb3VuZC9zb2MvY29kZWNzL0tjb25maWcKaW5kZXggMzkwM2FiNy4uMWRiMDRhMiAxMDA2NDQKLS0tIGEvc291bmQvc29jL2NvZGVjcy9LY29uZmlnCisrKyBiL3NvdW5kL3NvYy9jb2RlY3MvS2NvbmZpZwpAQCAtMSwzMSArMSwzNyBAQAogY29uZmlnIFNORF9TT0NfQUM5N19DT0RFQwogCXRyaXN0YXRlCi0JZGVwZW5kcyBvbiBTTkRfU09DCisJc2VsZWN0IFNORF9BQzk3X0NPREVDCisKK2NvbmZpZyBTTkRfU09DX0FLNDUzNQorCXRyaXN0YXRlCisKK2NvbmZpZyBTTkRfU09DX1VEQTEzODAKKyAgICAgICAgdHJpc3RhdGUKKworY29uZmlnIFNORF9TT0NfV004NTEwCisJdHJpc3RhdGUKIAogY29uZmlnIFNORF9TT0NfV004NzMxCiAJdHJpc3RhdGUKLQlkZXBlbmRzIG9uIFNORF9TT0MKIAogY29uZmlnIFNORF9TT0NfV004NzUwCiAJdHJpc3RhdGUKLQlkZXBlbmRzIG9uIFNORF9TT0MKIAogY29uZmlnIFNORF9TT0NfV004NzUzCiAJdHJpc3RhdGUKLQlkZXBlbmRzIG9uIFNORF9TT0MKKworY29uZmlnIFNORF9TT0NfV004OTkwCisJdHJpc3RhdGUKIAogY29uZmlnIFNORF9TT0NfV005NzEyCiAJdHJpc3RhdGUKLQlkZXBlbmRzIG9uIFNORF9TT0MKIAogY29uZmlnIFNORF9TT0NfV005NzEzCiAJdHJpc3RhdGUKLQlkZXBlbmRzIG9uIFNORF9TT0MKIAogIyBDaXJydXMgTG9naWMgQ1M0MjcwIENvZGVjCiBjb25maWcgU05EX1NPQ19DUzQyNzAKIAl0cmlzdGF0ZQotCWRlcGVuZHMgb24gU05EX1NPQwogCiAjIENpcnJ1cyBMb2dpYyBDUzQyNzAgQ29kZWMgSGFyZHdhcmUgTXV0ZSBTdXBwb3J0CiAjIFNlbGVjdCBpZiB5b3UgaGF2ZSBleHRlcm5hbCBtdXRpbmcgY2lyY3VpdHJ5IGF0dGFjaGVkIHRvIHlvdXIgQ1M0MjcwLgpAQCAtNDMsNCArNDksNCBAQAogCiBjb25maWcgU05EX1NPQ19UTFYzMjBBSUMzWAogCXRyaXN0YXRlCi0JZGVwZW5kcyBvbiBTTkRfU09DICYmIEkyQworCWRlcGVuZHMgb24gSTJDCmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvY29kZWNzL01ha2VmaWxlIGIvc291bmQvc29jL2NvZGVjcy9NYWtlZmlsZQppbmRleCA0ZTEzMTRjLi5kN2I5N2FiIDEwMDY0NAotLS0gYS9zb3VuZC9zb2MvY29kZWNzL01ha2VmaWxlCisrKyBiL3NvdW5kL3NvYy9jb2RlY3MvTWFrZWZpbGUKQEAgLTEsMTYgKzEsMjQgQEAKIHNuZC1zb2MtYWM5Ny1vYmpzIDo9IGFjOTcubworc25kLXNvYy1hazQ1MzUtb2JqcyA6PSBhazQ1MzUubworc25kLXNvYy11ZGExMzgwLW9ianMgOj0gdWRhMTM4MC5vCitzbmQtc29jLXdtODUxMC1vYmpzIDo9IHdtODUxMC5vCiBzbmQtc29jLXdtODczMS1vYmpzIDo9IHdtODczMS5vCiBzbmQtc29jLXdtODc1MC1vYmpzIDo9IHdtODc1MC5vCiBzbmQtc29jLXdtODc1My1vYmpzIDo9IHdtODc1My5vCitzbmQtc29jLXdtODk5MC1vYmpzIDo9IHdtODk5MC5vCiBzbmQtc29jLXdtOTcxMi1vYmpzIDo9IHdtOTcxMi5vCiBzbmQtc29jLXdtOTcxMy1vYmpzIDo9IHdtOTcxMy5vCiBzbmQtc29jLWNzNDI3MC1vYmpzIDo9IGNzNDI3MC5vCiBzbmQtc29jLXRsdjMyMGFpYzN4LW9ianMgOj0gdGx2MzIwYWljM3gubwogCiBvYmotJChDT05GSUdfU05EX1NPQ19BQzk3X0NPREVDKQkrPSBzbmQtc29jLWFjOTcubworb2JqLSQoQ09ORklHX1NORF9TT0NfQUs0NTM1KQkrPSBzbmQtc29jLWFrNDUzNS5vCitvYmotJChDT05GSUdfU05EX1NPQ19VREExMzgwKQkrPSBzbmQtc29jLXVkYTEzODAubworb2JqLSQoQ09ORklHX1NORF9TT0NfV004NTEwKQkrPSBzbmQtc29jLXdtODUxMC5vCiBvYmotJChDT05GSUdfU05EX1NPQ19XTTg3MzEpCSs9IHNuZC1zb2Mtd204NzMxLm8KIG9iai0kKENPTkZJR19TTkRfU09DX1dNODc1MCkJKz0gc25kLXNvYy13bTg3NTAubwogb2JqLSQoQ09ORklHX1NORF9TT0NfV004NzUzKQkrPSBzbmQtc29jLXdtODc1My5vCitvYmotJChDT05GSUdfU05EX1NPQ19XTTg5OTApCSs9IHNuZC1zb2Mtd204OTkwLm8KIG9iai0kKENPTkZJR19TTkRfU09DX1dNOTcxMikJKz0gc25kLXNvYy13bTk3MTIubwogb2JqLSQoQ09ORklHX1NORF9TT0NfV005NzEzKQkrPSBzbmQtc29jLXdtOTcxMy5vCiBvYmotJChDT05GSUdfU05EX1NPQ19DUzQyNzApCSs9IHNuZC1zb2MtY3M0MjcwLm8KZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9jb2RlY3MvYWM5Ny5jIGIvc291bmQvc29jL2NvZGVjcy9hYzk3LmMKaW5kZXggMmExZmZlMy4uNjFmZDk2YyAxMDA2NDQKLS0tIGEvc291bmQvc29jL2NvZGVjcy9hYzk3LmMKKysrIGIvc291bmQvc29jL2NvZGVjcy9hYzk3LmMKQEAgLTEwLDkgKzEwLDYgQEAKICAqICBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247ICBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSAgTGljZW5zZSwgb3IgKGF0IHlvdXIKICAqICBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogICoKLSAqICBSZXZpc2lvbiBoaXN0b3J5Ci0gKiAgICAxN3RoIE9jdCAyMDA1ICAgSW5pdGlhbCB2ZXJzaW9uLgotICoKICAqIEdlbmVyaWMgQUM5NyBzdXBwb3J0LgogICovCiAKQEAgLTI0LDYgKzIxLDcgQEAKICNpbmNsdWRlIDxzb3VuZC9hYzk3X2NvZGVjLmg+CiAjaW5jbHVkZSA8c291bmQvaW5pdHZhbC5oPgogI2luY2x1ZGUgPHNvdW5kL3NvYy5oPgorI2luY2x1ZGUgImFjOTcuaCIKIAogI2RlZmluZSBBQzk3X1ZFUlNJT04gIjAuNiIKIApAQCAtNDMsNyArNDEsNyBAQAogCQlTTkRSVl9QQ01fUkFURV8yMjA1MCB8IFNORFJWX1BDTV9SQVRFXzQ0MTAwIHxcCiAJCVNORFJWX1BDTV9SQVRFXzQ4MDAwKQogCi1zdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgYWM5N19kYWkgPSB7CitzdHJ1Y3Qgc25kX3NvY19kYWkgYWM5N19kYWkgPSB7CiAJLm5hbWUgPSAiQUM5NyBIaUZpIiwKIAkudHlwZSA9IFNORF9TT0NfREFJX0FDOTcsCiAJLnBsYXliYWNrID0gewpAQCAtMTQ2LDkgKzE0NCwzNCBAQAogCXJldHVybiAwOwogfQogCisjaWZkZWYgQ09ORklHX1BNCitzdGF0aWMgaW50IGFjOTdfc29jX3N1c3BlbmQoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwgcG1fbWVzc2FnZV90IG1zZykKK3sKKwlzdHJ1Y3Qgc25kX3NvY19kZXZpY2UgKnNvY2RldiA9IHBsYXRmb3JtX2dldF9kcnZkYXRhKHBkZXYpOworCisJc25kX2FjOTdfc3VzcGVuZChzb2NkZXYtPmNvZGVjLT5hYzk3KTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGFjOTdfc29jX3Jlc3VtZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQoreworCXN0cnVjdCBzbmRfc29jX2RldmljZSAqc29jZGV2ID0gcGxhdGZvcm1fZ2V0X2RydmRhdGEocGRldik7CisKKwlzbmRfYWM5N19yZXN1bWUoc29jZGV2LT5jb2RlYy0+YWM5Nyk7CisKKwlyZXR1cm4gMDsKK30KKyNlbHNlCisjZGVmaW5lIGFjOTdfc29jX3N1c3BlbmQgTlVMTAorI2RlZmluZSBhYzk3X3NvY19yZXN1bWUgTlVMTAorI2VuZGlmCisKIHN0cnVjdCBzbmRfc29jX2NvZGVjX2RldmljZSBzb2NfY29kZWNfZGV2X2FjOTcgPSB7CiAJLnByb2JlID0gCWFjOTdfc29jX3Byb2JlLAogCS5yZW1vdmUgPSAJYWM5N19zb2NfcmVtb3ZlLAorCS5zdXNwZW5kID0JYWM5N19zb2Nfc3VzcGVuZCwKKwkucmVzdW1lID0JYWM5N19zb2NfcmVzdW1lLAogfTsKIEVYUE9SVF9TWU1CT0xfR1BMKHNvY19jb2RlY19kZXZfYWM5Nyk7CiAKZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9jb2RlY3MvYWM5Ny5oIGIvc291bmQvc29jL2NvZGVjcy9hYzk3LmgKaW5kZXggMmJmNmQ2OS4uMjgxYWE0MiAxMDA2NDQKLS0tIGEvc291bmQvc29jL2NvZGVjcy9hYzk3LmgKKysrIGIvc291bmQvc29jL2NvZGVjcy9hYzk3LmgKQEAgLTE0LDYgKzE0LDYgQEAKICNkZWZpbmUgX19MSU5VWF9TTkRfU09DX0FDOTdfSAogCiBleHRlcm4gc3RydWN0IHNuZF9zb2NfY29kZWNfZGV2aWNlIHNvY19jb2RlY19kZXZfYWM5NzsKLWV4dGVybiBzdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgYWM5N19kYWk7CitleHRlcm4gc3RydWN0IHNuZF9zb2NfZGFpIGFjOTdfZGFpOwogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9jb2RlY3MvYWs0NTM1LmMgYi9zb3VuZC9zb2MvY29kZWNzL2FrNDUzNS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIyNjAwM2MKLS0tIC9kZXYvbnVsbAorKysgYi9zb3VuZC9zb2MvY29kZWNzL2FrNDUzNS5jCkBAIC0wLDAgKzEsNjk2IEBACisvKgorICogYWs0NTM1LmMgIC0tICBBSzQ1MzUgQUxTQSBTb2MgQXVkaW8gZHJpdmVyCisgKgorICogQ29weXJpZ2h0IDIwMDUgT3BlbmVkaGFuZCBMdGQuCisgKgorICogQXV0aG9yOiBSaWNoYXJkIFB1cmRpZSA8cmljaGFyZEBvcGVuZWRoYW5kLmNvbT4KKyAqCisgKiBCYXNlZCBvbiB3bTg3NTMuYyBieSBMaWFtIEdpcmR3b29kCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCisgKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyAqLworCisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+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+c3RyZWFtID09IFNORFJWX1BDTV9TVFJFQU1fUExBWUJBQ0spCiAJCWNwdV9kYWktPmRtYV9kYXRhID0gJnMzYzI0NDNfYWM5N19wY21fc3RlcmVvX291dDsKQEAgLTMxNyw3ICszMTYsNyBAQAogCXN0cnVjdCBzbmRfcGNtX2h3X3BhcmFtcyAqcGFyYW1zKQogewogCXN0cnVjdCBzbmRfc29jX3BjbV9ydW50aW1lICpydGQgPSBzdWJzdHJlYW0tPnByaXZhdGVfZGF0YTsKLQlzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpjcHVfZGFpID0gcnRkLT5kYWktPmNwdV9kYWk7CisJc3RydWN0IHNuZF9zb2NfZGFpICpjcHVfZGFpID0gcnRkLT5kYWktPmNwdV9kYWk7CiAKIAlpZiAoc3Vic3RyZWFtLT5zdHJlYW0gPT0gU05EUlZfUENNX1NUUkVBTV9QTEFZQkFDSykKIAkJcmV0dXJuIC1FTk9ERVY7CkBAIC0zNTMsNyArMzUyLDcgQEAKIAkJU05EUlZfUENNX1JBVEVfMTYwMDAgfCBTTkRSVl9QQ01fUkFURV8yMjA1MCB8IFwKIAkJU05EUlZfUENNX1JBVEVfNDQxMDAgfCBTTkRSVl9QQ01fUkFURV80ODAwMCkKIAotc3RydWN0IHNuZF9zb2NfY3B1X2RhaSBzM2MyNDQzX2FjOTdfZGFpW10gPSB7CitzdHJ1Y3Qgc25kX3NvY19kYWkgczNjMjQ0M19hYzk3X2RhaVtdID0gewogewogCS5uYW1lID0gInMzYzI0NDMtYWM5NyIsCiAJLmlkID0gMCwKZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9zM2MyNHh4L3MzYzI0eHgtYWM5Ny5oIGIvc291bmQvc29jL3MzYzI0eHgvczNjMjR4eC1hYzk3LmgKaW5kZXggYmYwM2U4ZS4uYTk2ZGNhZCAxMDA2NDQKLS0tIGEvc291bmQvc29jL3MzYzI0eHgvczNjMjR4eC1hYzk3LmgKKysrIGIvc291bmQvc29jL3MzYzI0eHgvczNjMjR4eC1hYzk3LmgKQEAgLTI2LDYgKzI2LDYgQEAKICNkZWZpbmUgSVJRX1MzQzI0NHhfQUM5NyBJUlFfUzNDMjQ0M19BQzk3CiAjZW5kaWYKIAotZXh0ZXJuIHN0cnVjdCBzbmRfc29jX2NwdV9kYWkgczNjMjQ0M19hYzk3X2RhaVtdOworZXh0ZXJuIHN0cnVjdCBzbmRfc29jX2RhaSBzM2MyNDQzX2FjOTdfZGFpW107CiAKICNlbmRpZiAvKlMzQzI0WFhBQzk3X0hfKi8KZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9zM2MyNHh4L3MzYzI0eHgtaTJzLmMgYi9zb3VuZC9zb2MvczNjMjR4eC9zM2MyNHh4LWkycy5jCmluZGV4IDFlZDZhZmQuLjM5NzUyNDIgMTAwNjQ0Ci0tLSBhL3NvdW5kL3NvYy9zM2MyNHh4L3MzYzI0eHgtaTJzLmMKKysrIGIvc291bmQvc29jL3MzYzI0eHgvczNjMjR4eC1pMnMuYwpAQCAtMTIsMTEgKzEyLDYgQEAKICAqICB1bmRlciAgdGhlIHRlcm1zIG9mICB0aGUgR05VIEdlbmVyYWwgIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUKICAqICBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247ICBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSAgTGljZW5zZSwgb3IgKGF0IHlvdXIKICAqICBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotICoKLSAqCi0gKiAgUmV2aXNpb24gaGlzdG9yeQotICogICAgMTF0aCBEZWMgMjAwNiAgIE1lcmdlZCB3aXRoIFNpbXRlYyBkcml2ZXIKLSAqICAgIDEwdGggTm92IDIwMDYgICBJbml0aWFsIHZlcnNpb24uCiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KQEAgLTE4MCw3ICsxNzUsNyBAQAogc3RhdGljIGludCBzM2MyNHh4X3NuZF9scnN5bmModm9pZCkKIHsKIAl1MzIgaWlzY29uOwotCXVuc2lnbmVkIGxvbmcgdGltZW91dCA9IGppZmZpZXMgKyBtc2Vjc190b19qaWZmaWVzKDUpOworCWludCB0aW1lb3V0ID0gNTA7IC8qIDVtcyAqLwogCiAJREJHKCJFbnRlcmVkICVzXG4iLCBfX2Z1bmNfXyk7CiAKQEAgLTE4OSw4ICsxODQsOSBAQAogCQlpZiAoaWlzY29uICYgUzNDMjQxMF9JSVNDT05fTFJJTkRFWCkKIAkJCWJyZWFrOwogCi0JCWlmICh0aW1lX2FmdGVyKGppZmZpZXMsIHRpbWVvdXQpKQorCQlpZiAoIXRpbWVvdXQtLSkKIAkJCXJldHVybiAtRVRJTUVET1VUOworCQl1ZGVsYXkoMTAwKTsKIAl9CiAKIAlyZXR1cm4gMDsKQEAgLTIwOSw3ICsyMDUsNyBAQAogLyoKICAqIFNldCBTM0MyNHh4IEkyUyBEQUkgZm9ybWF0CiAgKi8KLXN0YXRpYyBpbnQgczNjMjR4eF9pMnNfc2V0X2ZtdChzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpjcHVfZGFpLAorc3RhdGljIGludCBzM2MyNHh4X2kyc19zZXRfZm10KHN0cnVjdCBzbmRfc29jX2RhaSAqY3B1X2RhaSwKIAkJdW5zaWduZWQgaW50IGZtdCkKIHsKIAl1MzIgaWlzbW9kOwpAQCAtMzE3LDcgKzMxMyw3IEBACiAvKgogICogU2V0IFMzQzI0eHggQ2xvY2sgc291cmNlCiAgKi8KLXN0YXRpYyBpbnQgczNjMjR4eF9pMnNfc2V0X3N5c2NsayhzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpjcHVfZGFpLAorc3RhdGljIGludCBzM2MyNHh4X2kyc19zZXRfc3lzY2xrKHN0cnVjdCBzbmRfc29jX2RhaSAqY3B1X2RhaSwKIAlpbnQgY2xrX2lkLCB1bnNpZ25lZCBpbnQgZnJlcSwgaW50IGRpcikKIHsKIAl1MzIgaWlzbW9kID0gcmVhZGwoczNjMjR4eF9pMnMucmVncyArIFMzQzI0MTBfSUlTTU9EKTsKQEAgLTM0Myw3ICszMzksNyBAQAogLyoKICAqIFNldCBTM0MyNHh4IENsb2NrIGRpdmlkZXJzCiAgKi8KLXN0YXRpYyBpbnQgczNjMjR4eF9pMnNfc2V0X2Nsa2RpdihzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpjcHVfZGFpLAorc3RhdGljIGludCBzM2MyNHh4X2kyc19zZXRfY2xrZGl2KHN0cnVjdCBzbmRfc29jX2RhaSAqY3B1X2RhaSwKIAlpbnQgZGl2X2lkLCBpbnQgZGl2KQogewogCXUzMiByZWc7CkBAIC0zODEsNyArMzc3LDggQEAKIH0KIEVYUE9SVF9TWU1CT0xfR1BMKHMzYzI0eHhfaTJzX2dldF9jbG9ja3JhdGUpOwogCi1zdGF0aWMgaW50IHMzYzI0eHhfaTJzX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCitzdGF0aWMgaW50IHMzYzI0eHhfaTJzX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsCisJCQkgICAgIHN0cnVjdCBzbmRfc29jX2RhaSAqZGFpKQogewogCURCRygiRW50ZXJlZCAlc1xuIiwgX19mdW5jX18pOwogCkBAIC00MTQsNyArNDExLDcgQEAKIAogI2lmZGVmIENPTkZJR19QTQogc3RhdGljIGludCBzM2MyNHh4X2kyc19zdXNwZW5kKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsCi0JCXN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmNwdV9kYWkpCisJCXN0cnVjdCBzbmRfc29jX2RhaSAqY3B1X2RhaSkKIHsKIAlEQkcoIkVudGVyZWQgJXNcbiIsIF9fZnVuY19fKTsKIApAQCAtNDI5LDcgKzQyNiw3IEBACiB9CiAKIHN0YXRpYyBpbnQgczNjMjR4eF9pMnNfcmVzdW1lKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsCi0JCXN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmNwdV9kYWkpCisJCXN0cnVjdCBzbmRfc29jX2RhaSAqY3B1X2RhaSkKIHsKIAlEQkcoIkVudGVyZWQgJXNcbiIsIF9fZnVuY19fKTsKIAljbGtfZW5hYmxlKHMzYzI0eHhfaTJzLmlpc19jbGspOwpAQCAtNDUyLDcgKzQ0OSw3IEBACiAJU05EUlZfUENNX1JBVEVfMjIwNTAgfCBTTkRSVl9QQ01fUkFURV8zMjAwMCB8IFNORFJWX1BDTV9SQVRFXzQ0MTAwIHwgXAogCVNORFJWX1BDTV9SQVRFXzQ4MDAwIHwgU05EUlZfUENNX1JBVEVfODgyMDAgfCBTTkRSVl9QQ01fUkFURV85NjAwMCkKIAotc3RydWN0IHNuZF9zb2NfY3B1X2RhaSBzM2MyNHh4X2kyc19kYWkgPSB7CitzdHJ1Y3Qgc25kX3NvY19kYWkgczNjMjR4eF9pMnNfZGFpID0gewogCS5uYW1lID0gInMzYzI0eHgtaTJzIiwKIAkuaWQgPSAwLAogCS50eXBlID0gU05EX1NPQ19EQUlfSTJTLApkaWZmIC0tZ2l0IGEvc291bmQvc29jL3MzYzI0eHgvczNjMjR4eC1pMnMuaCBiL3NvdW5kL3NvYy9zM2MyNHh4L3MzYzI0eHgtaTJzLmgKaW5kZXggNTM3YjRlYy4uNzI2ZDkxYyAxMDA2NDQKLS0tIGEvc291bmQvc29jL3MzYzI0eHgvczNjMjR4eC1pMnMuaAorKysgYi9zb3VuZC9zb2MvczNjMjR4eC9zM2MyNHh4LWkycy5oCkBAIC0zMiw2ICszMiw2IEBACiAKIHUzMiBzM2MyNHh4X2kyc19nZXRfY2xvY2tyYXRlKHZvaWQpOwogCi1leHRlcm4gc3RydWN0IHNuZF9zb2NfY3B1X2RhaSBzM2MyNHh4X2kyc19kYWk7CitleHRlcm4gc3RydWN0IHNuZF9zb2NfZGFpIHMzYzI0eHhfaTJzX2RhaTsKIAogI2VuZGlmIC8qUzNDMjRYWEkyU19IXyovCmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvczNjMjR4eC9zM2MyNHh4LXBjbS5jIGIvc291bmQvc29jL3MzYzI0eHgvczNjMjR4eC1wY20uYwppbmRleCA3ODA2YWU2Li5jZWY3OWIzIDEwMDY0NAotLS0gYS9zb3VuZC9zb2MvczNjMjR4eC9zM2MyNHh4LXBjbS5jCisrKyBiL3NvdW5kL3NvYy9zM2MyNHh4L3MzYzI0eHgtcGNtLmMKQEAgLTEyLDEwICsxMiw2IEBACiAgKiAgdW5kZXIgIHRoZSB0ZXJtcyBvZiAgdGhlIEdOVSBHZW5lcmFsICBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlCiAgKiAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyAgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgIExpY2Vuc2UsIG9yIChhdCB5b3VyCiAgKiAgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiAgUmV2aXNpb24gaGlzdG9yeQotICogICAgMTF0aCBEZWMgMjAwNiAgIE1lcmdlZCB3aXRoIFNpbXRlYyBkcml2ZXIKLSAqICAgIDEwdGggTm92IDIwMDYgICBJbml0aWFsIHZlcnNpb24uCiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgpAQCAtNDMzLDcgKzQyOSw3IEBACiBzdGF0aWMgdTY0IHMzYzI0eHhfcGNtX2RtYW1hc2sgPSBETUFfMzJCSVRfTUFTSzsKIAogc3RhdGljIGludCBzM2MyNHh4X3BjbV9uZXcoc3RydWN0IHNuZF9jYXJkICpjYXJkLAotCXN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSAqZGFpLCBzdHJ1Y3Qgc25kX3BjbSAqcGNtKQorCXN0cnVjdCBzbmRfc29jX2RhaSAqZGFpLCBzdHJ1Y3Qgc25kX3BjbSAqcGNtKQogewogCWludCByZXQgPSAwOwogCmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvczNjMjR4eC9zbWRrMjQ0M193bTk3MTAuYyBiL3NvdW5kL3NvYy9zM2MyNHh4L3NtZGsyNDQzX3dtOTcxMC5jCmluZGV4IGI0YTU2MzAuLjg1MTVkNmYgMTAwNjQ0Ci0tLSBhL3NvdW5kL3NvYy9zM2MyNHh4L3NtZGsyNDQzX3dtOTcxMC5jCisrKyBiL3NvdW5kL3NvYy9zM2MyNHh4L3NtZGsyNDQzX3dtOTcxMC5jCkBAIC0xMCw5ICsxMCw2IEBACiAgKiAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyAgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgIExpY2Vuc2UsIG9yIChhdCB5b3VyCiAgKiAgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICAqCi0gKiAgUmV2aXNpb24gaGlzdG9yeQotICogICAgOHRoIE1hciAyMDA3ICAgSW5pdGlhbCB2ZXJzaW9uLgotICoKICAqLwogCiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CmRpZmYgLS1naXQgYS9zb3VuZC9zb2Mvc2gvS2NvbmZpZyBiL3NvdW5kL3NvYy9zaC9LY29uZmlnCmluZGV4IDRjMWUwMTMuLjU0YmQ2MDQgMTAwNjQ0Ci0tLSBhL3NvdW5kL3NvYy9zaC9LY29uZmlnCisrKyBiL3NvdW5kL3NvYy9zaC9LY29uZmlnCkBAIC0zLDcgKzMsNyBAQAogCiBjb25maWcgU05EX1NPQ19QQ01fU0g3NzYwCiAJdHJpc3RhdGUgIlNvQyBBdWRpbyBzdXBwb3J0IGZvciBSZW5lc2FzIFNINzc2MCIKLQlkZXBlbmRzIG9uIENQVV9TVUJUWVBFX1NINzc2MCAmJiBTTkRfU09DICYmIFNIX0RNQUJSRworCWRlcGVuZHMgb24gQ1BVX1NVQlRZUEVfU0g3NzYwICYmIFNIX0RNQUJSRwogCWhlbHAKIAkgIEVuYWJsZSB0aGlzIG9wdGlvbiBmb3IgU0g3NzYwIEFDOTcvSTJTIGF1ZGlvIHN1cHBvcnQuCiAKQEAgLTEzLDEwICsxMyw5IEBACiAjIwogCiBjb25maWcgU05EX1NPQ19TSDRfSEFDCisJdHJpc3RhdGUKIAlzZWxlY3QgQUM5N19CVVMKIAlzZWxlY3QgU05EX1NPQ19BQzk3X0JVUwotCXNlbGVjdCBTTkRfQUM5N19DT0RFQwotCXRyaXN0YXRlCiAKIGNvbmZpZyBTTkRfU09DX1NINF9TU0kKIAl0cmlzdGF0ZQpkaWZmIC0tZ2l0IGEvc291bmQvc29jL3NoL2RtYS1zaDc3NjAuYyBiL3NvdW5kL3NvYy9zaC9kbWEtc2g3NzYwLmMKaW5kZXggN2EzY2U4MC4uOWZhYTEyNiAxMDA2NDQKLS0tIGEvc291bmQvc29jL3NoL2RtYS1zaDc3NjAuYworKysgYi9zb3VuZC9zb2Mvc2gvZG1hLXNoNzc2MC5jCkBAIC0zMjYsNyArMzI2LDcgQEAKIH0KIAogc3RhdGljIGludCBjYW1lbG90X3BjbV9uZXcoc3RydWN0IHNuZF9jYXJkICpjYXJkLAotCQkJICAgc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpICpkYWksCisJCQkgICBzdHJ1Y3Qgc25kX3NvY19kYWkgKmRhaSwKIAkJCSAgIHN0cnVjdCBzbmRfcGNtICpwY20pCiB7CiAJLyogZG9udCB1c2UgU05EUlZfRE1BX1RZUEVfREVWLCBzaW5jZSBpdCB3aWxsIG9vcHMgdGhlIFNIIGtlcm5lbApkaWZmIC0tZ2l0IGEvc291bmQvc29jL3NoL2hhYy5jIGIvc291bmQvc29jL3NoL2hhYy5jCmluZGV4IGI3YjY3NmIuLmRmN2JjMzQgMTAwNjQ0Ci0tLSBhL3NvdW5kL3NvYy9zaC9oYWMuYworKysgYi9zb3VuZC9zb2Mvc2gvaGFjLmMKQEAgLTI2Niw3ICsyNjYsNyBAQAogI2RlZmluZSBBQzk3X0ZNVFMJXAogCVNORFJWX1BDTV9GTVRCSVRfUzE2X0xFCiAKLXN0cnVjdCBzbmRfc29jX2NwdV9kYWkgc2g0X2hhY19kYWlbXSA9IHsKK3N0cnVjdCBzbmRfc29jX2RhaSBzaDRfaGFjX2RhaVtdID0gewogewogCS5uYW1lCQkJPSAiSEFDMCIsCiAJLmlkCQkJPSAwLApkaWZmIC0tZ2l0IGEvc291bmQvc29jL3NoL3NoNzc2MC1hYzk3LmMgYi9zb3VuZC9zb2Mvc2gvc2g3NzYwLWFjOTcuYwppbmRleCAyZjkxZGU4Li45MmJmYWY0IDEwMDY0NAotLS0gYS9zb3VuZC9zb2Mvc2gvc2g3NzYwLWFjOTcuYworKysgYi9zb3VuZC9zb2Mvc2gvc2g3NzYwLWFjOTcuYwpAQCAtMjAsMTIgKzIwLDEyIEBACiAjZGVmaW5lIElQU0VMIDB4RkU0MDAwMzQKIAogLyogcGxhdGZvcm0gc3BlY2lmaWMgc3RydWN0cyBjYW4gYmUgZGVjbGFyZWQgaGVyZSAqLwotZXh0ZXJuIHN0cnVjdCBzbmRfc29jX2NwdV9kYWkgc2g0X2hhY19kYWlbMl07CitleHRlcm4gc3RydWN0IHNuZF9zb2NfZGFpIHNoNF9oYWNfZGFpWzJdOwogZXh0ZXJuIHN0cnVjdCBzbmRfc29jX3BsYXRmb3JtIHNoNzc2MF9zb2NfcGxhdGZvcm07CiAKIHN0YXRpYyBpbnQgbWFjaGluZV9pbml0KHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYykKIHsKLQlzbmRfc29jX2RhcG1fc3luY19lbmRwb2ludHMoY29kZWMpOworCXNuZF9zb2NfZGFwbV9zeW5jKGNvZGVjKTsKIAlyZXR1cm4gMDsKIH0KIApkaWZmIC0tZ2l0IGEvc291bmQvc29jL3NoL3NzaS5jIGIvc291bmQvc29jL3NoL3NzaS5jCmluZGV4IDMzODhiYzMuLjU1YzM0NjQgMTAwNjQ0Ci0tLSBhL3NvdW5kL3NvYy9zaC9zc2kuYworKysgYi9zb3VuZC9zb2Mvc2gvc3NpLmMKQEAgLTIwOCw3ICsyMDgsNyBAQAogCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IHNzaV9zZXRfc3lzY2xrKHN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmNwdV9kYWksIGludCBjbGtfaWQsCitzdGF0aWMgaW50IHNzaV9zZXRfc3lzY2xrKHN0cnVjdCBzbmRfc29jX2RhaSAqY3B1X2RhaSwgaW50IGNsa19pZCwKIAkJCSAgdW5zaWduZWQgaW50IGZyZXEsIGludCBkaXIpCiB7CiAJc3RydWN0IHNzaV9wcml2ICpzc2kgPSAmc3NpX2NwdV9kYXRhW2NwdV9kYWktPmlkXTsKQEAgLTIyMiw3ICsyMjIsNyBAQAogICogVGhpcyBkaXZpZGVyIGlzIHVzZWQgdG8gZ2VuZXJhdGUgdGhlIFNTSV9TQ0sgKEkyUyBiaXRjbG9jaykgZnJvbSB0aGUKICAqIGNsb2NrIGF0IHRoZSBIQUNfQklUX0NMSyAoIm92ZXJzYW1wbGluZyBjbG9jayIpIHBpbi4KICAqLwotc3RhdGljIGludCBzc2lfc2V0X2Nsa2RpdihzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpkYWksIGludCBkaWQsIGludCBkaXYpCitzdGF0aWMgaW50IHNzaV9zZXRfY2xrZGl2KHN0cnVjdCBzbmRfc29jX2RhaSAqZGFpLCBpbnQgZGlkLCBpbnQgZGl2KQogewogCXN0cnVjdCBzc2lfcHJpdiAqc3NpID0gJnNzaV9jcHVfZGF0YVtkYWktPmlkXTsKIAl1bnNpZ25lZCBsb25nIHNzaWNyOwpAQCAtMjQ1LDcgKzI0NSw3IEBACiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgc3NpX3NldF9mbXQoc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqZGFpLCB1bnNpZ25lZCBpbnQgZm10KQorc3RhdGljIGludCBzc2lfc2V0X2ZtdChzdHJ1Y3Qgc25kX3NvY19kYWkgKmRhaSwgdW5zaWduZWQgaW50IGZtdCkKIHsKIAlzdHJ1Y3Qgc3NpX3ByaXYgKnNzaSA9ICZzc2lfY3B1X2RhdGFbZGFpLT5pZF07CiAJdW5zaWduZWQgbG9uZyBzc2ljciA9IFNTSVJFRyhTU0lDUik7CkBAIC0zMzIsNyArMzMyLDcgQEAKIAkgU05EUlZfUENNX0ZNVEJJVF9TMjRfM0xFIHwgU05EUlZfUENNX0ZNVEJJVF9VMjRfM0xFIHwJXAogCSBTTkRSVl9QQ01fRk1UQklUX1MzMl9MRSAgfCBTTkRSVl9QQ01fRk1UQklUX1UzMl9MRSkKIAotc3RydWN0IHNuZF9zb2NfY3B1X2RhaSBzaDRfc3NpX2RhaVtdID0geworc3RydWN0IHNuZF9zb2NfZGFpIHNoNF9zc2lfZGFpW10gPSB7CiB7CiAJLm5hbWUJCQk9ICJTU0kwIiwKIAkuaWQJCQk9IDAsCmRpZmYgLS1naXQgYS9zb3VuZC9zb2Mvc29jLWNvcmUuYyBiL3NvdW5kL3NvYy9zb2MtY29yZS5jCmluZGV4IGUxNDhkYjkuLjgzZjExOTAgMTAwNjQ0Ci0tLSBhL3NvdW5kL3NvYy9zb2MtY29yZS5jCisrKyBiL3NvdW5kL3NvYy9zb2MtY29yZS5jCkBAIC0xNCwxMCArMTQsNiBAQAogICogIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgIGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlICBMaWNlbnNlLCBvciAoYXQgeW91cgogICogIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAgKgotICogIFJldmlzaW9uIGhpc3RvcnkKLSAqICAgIDEydGggQXVnIDIwMDUgICBJbml0aWFsIHZlcnNpb24uCi0gKiAgICAyNXRoIE9jdCAyMDA1ICAgV29ya2luZyBDb2RlYywgSW50ZXJmYWNlIGFuZCBQbGF0Zm9ybSByZWdpc3RyYXRpb24uCi0gKgogICogIFRPRE86CiAgKiAgIG8gQWRkIGh3IHJ1bGVzIHRvIGVuZm9yY2UgcmF0ZXMsIGV0Yy4KICAqICAgbyBNb3JlIHRlc3Rpbmcgd2l0aCBvdGhlciBjb2RlY3MvbWFjaGluZXMuCkBAIC0xMTIsOSArMTA4LDkgQEAKIH0KICNlbmRpZgogCi1zdGF0aWMgaW5saW5lIGNvbnN0IGNoYXIqIGdldF9kYWlfbmFtZShpbnQgdHlwZSkKK3N0YXRpYyBpbmxpbmUgY29uc3QgY2hhciAqZ2V0X2RhaV9uYW1lKGludCB0eXBlKQogewotCXN3aXRjaCh0eXBlKSB7CisJc3dpdGNoICh0eXBlKSB7CiAJY2FzZSBTTkRfU09DX0RBSV9BQzk3X0JVUzoKIAljYXNlIFNORF9TT0NfREFJX0FDOTc6CiAJCXJldHVybiAiQUM5NyI7CkBAIC0xMzgsOCArMTM0LDggQEAKIAlzdHJ1Y3Qgc25kX3BjbV9ydW50aW1lICpydW50aW1lID0gc3Vic3RyZWFtLT5ydW50aW1lOwogCXN0cnVjdCBzbmRfc29jX2RhaV9saW5rICptYWNoaW5lID0gcnRkLT5kYWk7CiAJc3RydWN0IHNuZF9zb2NfcGxhdGZvcm0gKnBsYXRmb3JtID0gc29jZGV2LT5wbGF0Zm9ybTsKLQlzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpjcHVfZGFpID0gbWFjaGluZS0+Y3B1X2RhaTsKLQlzdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgKmNvZGVjX2RhaSA9IG1hY2hpbmUtPmNvZGVjX2RhaTsKKwlzdHJ1Y3Qgc25kX3NvY19kYWkgKmNwdV9kYWkgPSBtYWNoaW5lLT5jcHVfZGFpOworCXN0cnVjdCBzbmRfc29jX2RhaSAqY29kZWNfZGFpID0gbWFjaGluZS0+Y29kZWNfZGFpOwogCWludCByZXQgPSAwOwogCiAJbXV0ZXhfbG9jaygmcGNtX211dGV4KTsKQEAgLTE4Miw5ICsxNzgsMTEgQEAKIAkvKiBDaGVjayB0aGF0IHRoZSBjb2RlYyBhbmQgY3B1IERBSSdzIGFyZSBjb21wYXRpYmxlICovCiAJaWYgKHN1YnN0cmVhbS0+c3RyZWFtID09IFNORFJWX1BDTV9TVFJFQU1fUExBWUJBQ0spIHsKIAkJcnVudGltZS0+aHcucmF0ZV9taW4gPQotCQkJbWF4KGNvZGVjX2RhaS0+cGxheWJhY2sucmF0ZV9taW4sIGNwdV9kYWktPnBsYXliYWNrLnJhdGVfbWluKTsKKwkJCW1heChjb2RlY19kYWktPnBsYXliYWNrLnJhdGVfbWluLAorCQkJICAgIGNwdV9kYWktPnBsYXliYWNrLnJhdGVfbWluKTsKIAkJcnVudGltZS0+aHcucmF0ZV9tYXggPQotCQkJbWluKGNvZGVjX2RhaS0+cGxheWJhY2sucmF0ZV9tYXgsIGNwdV9kYWktPnBsYXliYWNrLnJhdGVfbWF4KTsKKwkJCW1pbihjb2RlY19kYWktPnBsYXliYWNrLnJhdGVfbWF4LAorCQkJICAgIGNwdV9kYWktPnBsYXliYWNrLnJhdGVfbWF4KTsKIAkJcnVudGltZS0+aHcuY2hhbm5lbHNfbWluID0KIAkJCW1heChjb2RlY19kYWktPnBsYXliYWNrLmNoYW5uZWxzX21pbiwKIAkJCQljcHVfZGFpLT5wbGF5YmFjay5jaGFubmVsc19taW4pOwpAQCAtMTk3LDkgKzE5NSwxMSBAQAogCQkJY29kZWNfZGFpLT5wbGF5YmFjay5yYXRlcyAmIGNwdV9kYWktPnBsYXliYWNrLnJhdGVzOwogCX0gZWxzZSB7CiAJCXJ1bnRpbWUtPmh3LnJhdGVfbWluID0KLQkJCW1heChjb2RlY19kYWktPmNhcHR1cmUucmF0ZV9taW4sIGNwdV9kYWktPmNhcHR1cmUucmF0ZV9taW4pOworCQkJbWF4KGNvZGVjX2RhaS0+Y2FwdHVyZS5yYXRlX21pbiwKKwkJCSAgICBjcHVfZGFpLT5jYXB0dXJlLnJhdGVfbWluKTsKIAkJcnVudGltZS0+aHcucmF0ZV9tYXggPQotCQkJbWluKGNvZGVjX2RhaS0+Y2FwdHVyZS5yYXRlX21heCwgY3B1X2RhaS0+Y2FwdHVyZS5yYXRlX21heCk7CisJCQltaW4oY29kZWNfZGFpLT5jYXB0dXJlLnJhdGVfbWF4LAorCQkJICAgIGNwdV9kYWktPmNhcHR1cmUucmF0ZV9tYXgpOwogCQlydW50aW1lLT5ody5jaGFubmVsc19taW4gPQogCQkJbWF4KGNvZGVjX2RhaS0+Y2FwdHVyZS5jaGFubmVsc19taW4sCiAJCQkJY3B1X2RhaS0+Y2FwdHVyZS5jaGFubmVsc19taW4pOwpAQCAtMjI5LDcgKzIyOSw3IEBACiAJCWdvdG8gbWFjaGluZV9lcnI7CiAJfQogCi0JZGJnKCJhc29jOiAlcyA8LT4gJXMgaW5mbzpcbiIsY29kZWNfZGFpLT5uYW1lLCBjcHVfZGFpLT5uYW1lKTsKKwlkYmcoImFzb2M6ICVzIDwtPiAlcyBpbmZvOlxuIiwgY29kZWNfZGFpLT5uYW1lLCBjcHVfZGFpLT5uYW1lKTsKIAlkYmcoImFzb2M6IHJhdGUgbWFzayAweCV4XG4iLCBydW50aW1lLT5ody5yYXRlcyk7CiAJZGJnKCJhc29jOiBtaW4gY2ggJWQgbWF4IGNoICVkXG4iLCBydW50aW1lLT5ody5jaGFubmVsc19taW4sCiAJCXJ1bnRpbWUtPmh3LmNoYW5uZWxzX21heCk7CkBAIC0yNzIsMTEgKzI3MiwxMSBAQAogCXN0cnVjdCBzbmRfc29jX2RldmljZSAqc29jZGV2ID0KIAkJY29udGFpbmVyX29mKHdvcmssIHN0cnVjdCBzbmRfc29jX2RldmljZSwgZGVsYXllZF93b3JrLndvcmspOwogCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IHNvY2Rldi0+Y29kZWM7Ci0Jc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpICpjb2RlY19kYWk7CisJc3RydWN0IHNuZF9zb2NfZGFpICpjb2RlY19kYWk7CiAJaW50IGk7CiAKIAltdXRleF9sb2NrKCZwY21fbXV0ZXgpOwotCWZvcihpID0gMDsgaSA8IGNvZGVjLT5udW1fZGFpOyBpKyspIHsKKwlmb3IgKGkgPSAwOyBpIDwgY29kZWMtPm51bV9kYWk7IGkrKykgewogCQljb2RlY19kYWkgPSAmY29kZWMtPmRhaVtpXTsKIAogCQlkYmcoInBvcCB3cSBjaGVja2luZzogJXMgc3RhdHVzOiAlcyB3YWl0aW5nOiAlc1xuIiwKQEAgLTI4NywxMiArMjg3LDEyIEBACiAJCS8qIGFyZSB3ZSB3YWl0aW5nIG9uIHRoaXMgY29kZWMgREFJIHN0cmVhbSAqLwogCQlpZiAoY29kZWNfZGFpLT5wb3Bfd2FpdCA9PSAxKSB7CiAKLQkJCS8qIHBvd2VyIGRvd24gdGhlIGNvZGVjIHRvIEQxIGlmIG5vIGxvbmdlciBhY3RpdmUgKi8KKwkJCS8qIFJlZHVjZSBwb3dlciBpZiBubyBsb25nZXIgYWN0aXZlICovCiAJCQlpZiAoY29kZWMtPmFjdGl2ZSA9PSAwKSB7CiAJCQkJZGJnKCJwb3Agd3EgRDEgJXMgJXNcbiIsIGNvZGVjLT5uYW1lLAogCQkJCQljb2RlY19kYWktPnBsYXliYWNrLnN0cmVhbV9uYW1lKTsKLQkJCQlzbmRfc29jX2RhcG1fZGV2aWNlX2V2ZW50KHNvY2RldiwKLQkJCQkJU05EUlZfQ1RMX1BPV0VSX0QxKTsKKwkJCQlzbmRfc29jX2RhcG1fc2V0X2JpYXNfbGV2ZWwoc29jZGV2LAorCQkJCQlTTkRfU09DX0JJQVNfUFJFUEFSRSk7CiAJCQl9CiAKIAkJCWNvZGVjX2RhaS0+cG9wX3dhaXQgPSAwOwpAQCAtMzAwLDEyICszMDAsMTIgQEAKIAkJCQljb2RlY19kYWktPnBsYXliYWNrLnN0cmVhbV9uYW1lLAogCQkJCVNORF9TT0NfREFQTV9TVFJFQU1fU1RPUCk7CiAKLQkJCS8qIHBvd2VyIGRvd24gdGhlIGNvZGVjIHBvd2VyIGRvbWFpbiBpZiBubyBsb25nZXIgYWN0aXZlICovCisJCQkvKiBGYWxsIGludG8gc3RhbmRieSBpZiBubyBsb25nZXIgYWN0aXZlICovCiAJCQlpZiAoY29kZWMtPmFjdGl2ZSA9PSAwKSB7CiAJCQkJZGJnKCJwb3Agd3EgRDMgJXMgJXNcbiIsIGNvZGVjLT5uYW1lLAogCQkJCQljb2RlY19kYWktPnBsYXliYWNrLnN0cmVhbV9uYW1lKTsKLQkJCQlzbmRfc29jX2RhcG1fZGV2aWNlX2V2ZW50KHNvY2RldiwKLQkJCQkJU05EUlZfQ1RMX1BPV0VSX0QzaG90KTsKKwkJCQlzbmRfc29jX2RhcG1fc2V0X2JpYXNfbGV2ZWwoc29jZGV2LAorCQkJCQlTTkRfU09DX0JJQVNfU1RBTkRCWSk7CiAJCQl9CiAJCX0KIAl9CkBAIC0zMjMsOCArMzIzLDggQEAKIAlzdHJ1Y3Qgc25kX3NvY19kZXZpY2UgKnNvY2RldiA9IHJ0ZC0+c29jZGV2OwogCXN0cnVjdCBzbmRfc29jX2RhaV9saW5rICptYWNoaW5lID0gcnRkLT5kYWk7CiAJc3RydWN0IHNuZF9zb2NfcGxhdGZvcm0gKnBsYXRmb3JtID0gc29jZGV2LT5wbGF0Zm9ybTsKLQlzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpjcHVfZGFpID0gbWFjaGluZS0+Y3B1X2RhaTsKLQlzdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgKmNvZGVjX2RhaSA9IG1hY2hpbmUtPmNvZGVjX2RhaTsKKwlzdHJ1Y3Qgc25kX3NvY19kYWkgKmNwdV9kYWkgPSBtYWNoaW5lLT5jcHVfZGFpOworCXN0cnVjdCBzbmRfc29jX2RhaSAqY29kZWNfZGFpID0gbWFjaGluZS0+Y29kZWNfZGFpOwogCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IHNvY2Rldi0+Y29kZWM7CiAKIAltdXRleF9sb2NrKCZwY21fbXV0ZXgpOwpAQCAtMzY1LDggKzM2NSw4IEBACiAJCQlTTkRfU09DX0RBUE1fU1RSRUFNX1NUT1ApOwogCiAJCWlmIChjb2RlYy0+YWN0aXZlID09IDAgJiYgY29kZWNfZGFpLT5wb3Bfd2FpdCA9PSAwKQotCQkJc25kX3NvY19kYXBtX2RldmljZV9ldmVudChzb2NkZXYsCi0JCQkJCQlTTkRSVl9DVExfUE9XRVJfRDNob3QpOworCQkJc25kX3NvY19kYXBtX3NldF9iaWFzX2xldmVsKHNvY2RldiwKKwkJCQkJCVNORF9TT0NfQklBU19TVEFOREJZKTsKIAl9CiAKIAltdXRleF91bmxvY2soJnBjbV9tdXRleCk7CkBAIC0zODQsOCArMzg0LDggQEAKIAlzdHJ1Y3Qgc25kX3NvY19kZXZpY2UgKnNvY2RldiA9IHJ0ZC0+c29jZGV2OwogCXN0cnVjdCBzbmRfc29jX2RhaV9saW5rICptYWNoaW5lID0gcnRkLT5kYWk7CiAJc3RydWN0IHNuZF9zb2NfcGxhdGZvcm0gKnBsYXRmb3JtID0gc29jZGV2LT5wbGF0Zm9ybTsKLQlzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpjcHVfZGFpID0gbWFjaGluZS0+Y3B1X2RhaTsKLQlzdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgKmNvZGVjX2RhaSA9IG1hY2hpbmUtPmNvZGVjX2RhaTsKKwlzdHJ1Y3Qgc25kX3NvY19kYWkgKmNwdV9kYWkgPSBtYWNoaW5lLT5jcHVfZGFpOworCXN0cnVjdCBzbmRfc29jX2RhaSAqY29kZWNfZGFpID0gbWFjaGluZS0+Y29kZWNfZGFpOwogCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IHNvY2Rldi0+Y29kZWM7CiAJaW50IHJldCA9IDA7CiAKQEAgLTQzNCwxNCArNDM0LDE0IEBACiAJCWVsc2UgewogCQkJY29kZWNfZGFpLT5wb3Bfd2FpdCA9IDA7CiAJCQljYW5jZWxfZGVsYXllZF93b3JrKCZzb2NkZXYtPmRlbGF5ZWRfd29yayk7Ci0JCQlpZiAoY29kZWNfZGFpLT5kYWlfb3BzLmRpZ2l0YWxfbXV0ZSkKLQkJCQljb2RlY19kYWktPmRhaV9vcHMuZGlnaXRhbF9tdXRlKGNvZGVjX2RhaSwgMCk7CisJCQlzbmRfc29jX2RhaV9kaWdpdGFsX211dGUoY29kZWNfZGFpLCAwKTsKIAkJfQogCX0gZWxzZSB7CiAJCS8qIG5vIGRlbGF5ZWQgd29yayAtIGRvIHdlIG5lZWQgdG8gcG93ZXIgdXAgY29kZWMgKi8KLQkJaWYgKGNvZGVjLT5kYXBtX3N0YXRlICE9IFNORFJWX0NUTF9QT1dFUl9EMCkgeworCQlpZiAoY29kZWMtPmJpYXNfbGV2ZWwgIT0gU05EX1NPQ19CSUFTX09OKSB7CiAKLQkJCXNuZF9zb2NfZGFwbV9kZXZpY2VfZXZlbnQoc29jZGV2LCAgU05EUlZfQ1RMX1BPV0VSX0QxKTsKKwkJCXNuZF9zb2NfZGFwbV9zZXRfYmlhc19sZXZlbChzb2NkZXYsCisJCQkJCQkgICAgU05EX1NPQ19CSUFTX1BSRVBBUkUpOwogCiAJCQlpZiAoc3Vic3RyZWFtLT5zdHJlYW0gPT0gU05EUlZfUENNX1NUUkVBTV9QTEFZQkFDSykKIAkJCQlzbmRfc29jX2RhcG1fc3RyZWFtX2V2ZW50KGNvZGVjLApAQCAtNDUyLDkgKzQ1Miw4IEBACiAJCQkJCWNvZGVjX2RhaS0+Y2FwdHVyZS5zdHJlYW1fbmFtZSwKIAkJCQkJU05EX1NPQ19EQVBNX1NUUkVBTV9TVEFSVCk7CiAKLQkJCXNuZF9zb2NfZGFwbV9kZXZpY2VfZXZlbnQoc29jZGV2LCBTTkRSVl9DVExfUE9XRVJfRDApOwotCQkJaWYgKGNvZGVjX2RhaS0+ZGFpX29wcy5kaWdpdGFsX211dGUpCi0JCQkJY29kZWNfZGFpLT5kYWlfb3BzLmRpZ2l0YWxfbXV0ZShjb2RlY19kYWksIDApOworCQkJc25kX3NvY19kYXBtX3NldF9iaWFzX2xldmVsKHNvY2RldiwgU05EX1NPQ19CSUFTX09OKTsKKwkJCXNuZF9zb2NfZGFpX2RpZ2l0YWxfbXV0ZShjb2RlY19kYWksIDApOwogCiAJCX0gZWxzZSB7CiAJCQkvKiBjb2RlYyBhbHJlYWR5IHBvd2VyZWQgLSBwb3dlciBvbiB3aWRnZXRzICovCkBAIC00NjYsOCArNDY1LDggQEAKIAkJCQlzbmRfc29jX2RhcG1fc3RyZWFtX2V2ZW50KGNvZGVjLAogCQkJCQljb2RlY19kYWktPmNhcHR1cmUuc3RyZWFtX25hbWUsCiAJCQkJCVNORF9TT0NfREFQTV9TVFJFQU1fU1RBUlQpOwotCQkJaWYgKGNvZGVjX2RhaS0+ZGFpX29wcy5kaWdpdGFsX211dGUpCi0JCQkJY29kZWNfZGFpLT5kYWlfb3BzLmRpZ2l0YWxfbXV0ZShjb2RlY19kYWksIDApOworCisJCQlzbmRfc29jX2RhaV9kaWdpdGFsX211dGUoY29kZWNfZGFpLCAwKTsKIAkJfQogCX0KIApAQCAtNDg4LDggKzQ4Nyw4IEBACiAJc3RydWN0IHNuZF9zb2NfZGV2aWNlICpzb2NkZXYgPSBydGQtPnNvY2RldjsKIAlzdHJ1Y3Qgc25kX3NvY19kYWlfbGluayAqbWFjaGluZSA9IHJ0ZC0+ZGFpOwogCXN0cnVjdCBzbmRfc29jX3BsYXRmb3JtICpwbGF0Zm9ybSA9IHNvY2Rldi0+cGxhdGZvcm07Ci0Jc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqY3B1X2RhaSA9IG1hY2hpbmUtPmNwdV9kYWk7Ci0Jc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpICpjb2RlY19kYWkgPSBtYWNoaW5lLT5jb2RlY19kYWk7CisJc3RydWN0IHNuZF9zb2NfZGFpICpjcHVfZGFpID0gbWFjaGluZS0+Y3B1X2RhaTsKKwlzdHJ1Y3Qgc25kX3NvY19kYWkgKmNvZGVjX2RhaSA9IG1hY2hpbmUtPmNvZGVjX2RhaTsKIAlpbnQgcmV0ID0gMDsKIAogCW11dGV4X2xvY2soJnBjbV9tdXRleCk7CkBAIC01MTQsNyArNTEzLDcgQEAKIAlpZiAoY3B1X2RhaS0+b3BzLmh3X3BhcmFtcykgewogCQlyZXQgPSBjcHVfZGFpLT5vcHMuaHdfcGFyYW1zKHN1YnN0cmVhbSwgcGFyYW1zKTsKIAkJaWYgKHJldCA8IDApIHsKLQkJCXByaW50ayhLRVJOX0VSUiAiYXNvYzogY2FuJ3Qgc2V0IGludGVyZmFjZSAlcyBodyBwYXJhbXNcbiIsCisJCQlwcmludGsoS0VSTl9FUlIgImFzb2M6IGludGVyZmFjZSAlcyBodyBwYXJhbXMgZmFpbGVkXG4iLAogCQkJCWNwdV9kYWktPm5hbWUpOwogCQkJZ290byBpbnRlcmZhY2VfZXJyOwogCQl9CkBAIC01MjMsNyArNTIyLDcgQEAKIAlpZiAocGxhdGZvcm0tPnBjbV9vcHMtPmh3X3BhcmFtcykgewogCQlyZXQgPSBwbGF0Zm9ybS0+cGNtX29wcy0+aHdfcGFyYW1zKHN1YnN0cmVhbSwgcGFyYW1zKTsKIAkJaWYgKHJldCA8IDApIHsKLQkJCXByaW50ayhLRVJOX0VSUiAiYXNvYzogY2FuJ3Qgc2V0IHBsYXRmb3JtICVzIGh3IHBhcmFtc1xuIiwKKwkJCXByaW50ayhLRVJOX0VSUiAiYXNvYzogcGxhdGZvcm0gJXMgaHcgcGFyYW1zIGZhaWxlZFxuIiwKIAkJCQlwbGF0Zm9ybS0+bmFtZSk7CiAJCQlnb3RvIHBsYXRmb3JtX2VycjsKIAkJfQpAQCAtNTQyLDcgKzU0MSw3IEBACiAJCWNvZGVjX2RhaS0+b3BzLmh3X2ZyZWUoc3Vic3RyZWFtKTsKIAogY29kZWNfZXJyOgotCWlmKG1hY2hpbmUtPm9wcyAmJiBtYWNoaW5lLT5vcHMtPmh3X2ZyZWUpCisJaWYgKG1hY2hpbmUtPm9wcyAmJiBtYWNoaW5lLT5vcHMtPmh3X2ZyZWUpCiAJCW1hY2hpbmUtPm9wcy0+aHdfZnJlZShzdWJzdHJlYW0pOwogCiAJbXV0ZXhfdW5sb2NrKCZwY21fbXV0ZXgpOwpAQCAtNTU4LDE1ICs1NTcsMTUgQEAKIAlzdHJ1Y3Qgc25kX3NvY19kZXZpY2UgKnNvY2RldiA9IHJ0ZC0+c29jZGV2OwogCXN0cnVjdCBzbmRfc29jX2RhaV9saW5rICptYWNoaW5lID0gcnRkLT5kYWk7CiAJc3RydWN0IHNuZF9zb2NfcGxhdGZvcm0gKnBsYXRmb3JtID0gc29jZGV2LT5wbGF0Zm9ybTsKLQlzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpjcHVfZGFpID0gbWFjaGluZS0+Y3B1X2RhaTsKLQlzdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgKmNvZGVjX2RhaSA9IG1hY2hpbmUtPmNvZGVjX2RhaTsKKwlzdHJ1Y3Qgc25kX3NvY19kYWkgKmNwdV9kYWkgPSBtYWNoaW5lLT5jcHVfZGFpOworCXN0cnVjdCBzbmRfc29jX2RhaSAqY29kZWNfZGFpID0gbWFjaGluZS0+Y29kZWNfZGFpOwogCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IHNvY2Rldi0+Y29kZWM7CiAKIAltdXRleF9sb2NrKCZwY21fbXV0ZXgpOwogCiAJLyogYXBwbHkgY29kZWMgZGlnaXRhbCBtdXRlICovCi0JaWYgKCFjb2RlYy0+YWN0aXZlICYmIGNvZGVjX2RhaS0+ZGFpX29wcy5kaWdpdGFsX211dGUpCi0JCWNvZGVjX2RhaS0+ZGFpX29wcy5kaWdpdGFsX211dGUoY29kZWNfZGFpLCAxKTsKKwlpZiAoIWNvZGVjLT5hY3RpdmUpCisJCXNuZF9zb2NfZGFpX2RpZ2l0YWxfbXV0ZShjb2RlY19kYWksIDEpOwogCiAJLyogZnJlZSBhbnkgbWFjaGluZSBodyBwYXJhbXMgKi8KIAlpZiAobWFjaGluZS0+b3BzICYmIG1hY2hpbmUtPm9wcy0+aHdfZnJlZSkKQEAgLTU5Myw4ICs1OTIsOCBAQAogCXN0cnVjdCBzbmRfc29jX2RldmljZSAqc29jZGV2ID0gcnRkLT5zb2NkZXY7CiAJc3RydWN0IHNuZF9zb2NfZGFpX2xpbmsgKm1hY2hpbmUgPSBydGQtPmRhaTsKIAlzdHJ1Y3Qgc25kX3NvY19wbGF0Zm9ybSAqcGxhdGZvcm0gPSBzb2NkZXYtPnBsYXRmb3JtOwotCXN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmNwdV9kYWkgPSBtYWNoaW5lLT5jcHVfZGFpOwotCXN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSAqY29kZWNfZGFpID0gbWFjaGluZS0+Y29kZWNfZGFpOworCXN0cnVjdCBzbmRfc29jX2RhaSAqY3B1X2RhaSA9IG1hY2hpbmUtPmNwdV9kYWk7CisJc3RydWN0IHNuZF9zb2NfZGFpICpjb2RlY19kYWkgPSBtYWNoaW5lLT5jb2RlY19kYWk7CiAJaW50IHJldDsKIAogCWlmIChjb2RlY19kYWktPm9wcy50cmlnZ2VyKSB7CkBAIC02MzEsMTYgKzYzMCwyNiBAQAogLyogcG93ZXJzIGRvd24gYXVkaW8gc3Vic3lzdGVtIGZvciBzdXNwZW5kICovCiBzdGF0aWMgaW50IHNvY19zdXNwZW5kKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsIHBtX21lc3NhZ2VfdCBzdGF0ZSkKIHsKLSAJc3RydWN0IHNuZF9zb2NfZGV2aWNlICpzb2NkZXYgPSBwbGF0Zm9ybV9nZXRfZHJ2ZGF0YShwZGV2KTsKLSAJc3RydWN0IHNuZF9zb2NfbWFjaGluZSAqbWFjaGluZSA9IHNvY2Rldi0+bWFjaGluZTsKLSAJc3RydWN0IHNuZF9zb2NfcGxhdGZvcm0gKnBsYXRmb3JtID0gc29jZGV2LT5wbGF0Zm9ybTsKLSAJc3RydWN0IHNuZF9zb2NfY29kZWNfZGV2aWNlICpjb2RlY19kZXYgPSBzb2NkZXYtPmNvZGVjX2RldjsKKwlzdHJ1Y3Qgc25kX3NvY19kZXZpY2UgKnNvY2RldiA9IHBsYXRmb3JtX2dldF9kcnZkYXRhKHBkZXYpOworCXN0cnVjdCBzbmRfc29jX21hY2hpbmUgKm1hY2hpbmUgPSBzb2NkZXYtPm1hY2hpbmU7CisJc3RydWN0IHNuZF9zb2NfcGxhdGZvcm0gKnBsYXRmb3JtID0gc29jZGV2LT5wbGF0Zm9ybTsKKwlzdHJ1Y3Qgc25kX3NvY19jb2RlY19kZXZpY2UgKmNvZGVjX2RldiA9IHNvY2Rldi0+Y29kZWNfZGV2OwogCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IHNvY2Rldi0+Y29kZWM7CiAJaW50IGk7CiAKKwkvKiBEdWUgdG8gdGhlIHJlc3VtZSBiZWluZyBzY2hlZHVsZWQgaW50byBhIHdvcmtxdWV1ZSB3ZSBjb3VsZAorCSogc3VzcGVuZCBiZWZvcmUgdGhhdCdzIGZpbmlzaGVkIC0gd2FpdCBmb3IgaXQgdG8gY29tcGxldGUuCisJICovCisJc25kX3Bvd2VyX2xvY2soY29kZWMtPmNhcmQpOworCXNuZF9wb3dlcl93YWl0KGNvZGVjLT5jYXJkLCBTTkRSVl9DVExfUE9XRVJfRDApOworCXNuZF9wb3dlcl91bmxvY2soY29kZWMtPmNhcmQpOworCisJLyogd2UncmUgZ29pbmcgdG8gYmxvY2sgdXNlcnNwYWNlIHRvdWNoaW5nIHVzIHVudGlsIHJlc3VtZSBjb21wbGV0ZXMgKi8KKwlzbmRfcG93ZXJfY2hhbmdlX3N0YXRlKGNvZGVjLT5jYXJkLCBTTkRSVl9DVExfUE9XRVJfRDNob3QpOworCiAJLyogbXV0ZSBhbnkgYWN0aXZlIERBQydzICovCi0JZm9yKGkgPSAwOyBpIDwgbWFjaGluZS0+bnVtX2xpbmtzOyBpKyspIHsKLQkJc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpICpkYWkgPSBtYWNoaW5lLT5kYWlfbGlua1tpXS5jb2RlY19kYWk7CisJZm9yIChpID0gMDsgaSA8IG1hY2hpbmUtPm51bV9saW5rczsgaSsrKSB7CisJCXN0cnVjdCBzbmRfc29jX2RhaSAqZGFpID0gbWFjaGluZS0+ZGFpX2xpbmtbaV0uY29kZWNfZGFpOwogCQlpZiAoZGFpLT5kYWlfb3BzLmRpZ2l0YWxfbXV0ZSAmJiBkYWktPnBsYXliYWNrLmFjdGl2ZSkKIAkJCWRhaS0+ZGFpX29wcy5kaWdpdGFsX211dGUoZGFpLCAxKTsKIAl9CkBAIC02NTIsOCArNjYxLDggQEAKIAlpZiAobWFjaGluZS0+c3VzcGVuZF9wcmUpCiAJCW1hY2hpbmUtPnN1c3BlbmRfcHJlKHBkZXYsIHN0YXRlKTsKIAotCWZvcihpID0gMDsgaSA8IG1hY2hpbmUtPm51bV9saW5rczsgaSsrKSB7Ci0JCXN0cnVjdCBzbmRfc29jX2NwdV9kYWkgICpjcHVfZGFpID0gbWFjaGluZS0+ZGFpX2xpbmtbaV0uY3B1X2RhaTsKKwlmb3IgKGkgPSAwOyBpIDwgbWFjaGluZS0+bnVtX2xpbmtzOyBpKyspIHsKKwkJc3RydWN0IHNuZF9zb2NfZGFpICAqY3B1X2RhaSA9IG1hY2hpbmUtPmRhaV9saW5rW2ldLmNwdV9kYWk7CiAJCWlmIChjcHVfZGFpLT5zdXNwZW5kICYmIGNwdV9kYWktPnR5cGUgIT0gU05EX1NPQ19EQUlfQUM5NykKIAkJCWNwdV9kYWktPnN1c3BlbmQocGRldiwgY3B1X2RhaSk7CiAJCWlmIChwbGF0Zm9ybS0+c3VzcGVuZCkKQEAgLTY2Miw5ICs2NzEsOSBAQAogCiAJLyogY2xvc2UgYW55IHdhaXRpbmcgc3RyZWFtcyBhbmQgc2F2ZSBzdGF0ZSAqLwogCXJ1bl9kZWxheWVkX3dvcmsoJnNvY2Rldi0+ZGVsYXllZF93b3JrKTsKLQljb2RlYy0+c3VzcGVuZF9kYXBtX3N0YXRlID0gY29kZWMtPmRhcG1fc3RhdGU7CisJY29kZWMtPnN1c3BlbmRfYmlhc19sZXZlbCA9IGNvZGVjLT5iaWFzX2xldmVsOwogCi0JZm9yKGkgPSAwOyBpIDwgY29kZWMtPm51bV9kYWk7IGkrKykgeworCWZvciAoaSA9IDA7IGkgPCBjb2RlYy0+bnVtX2RhaTsgaSsrKSB7CiAJCWNoYXIgKnN0cmVhbSA9IGNvZGVjLT5kYWlbaV0ucGxheWJhY2suc3RyZWFtX25hbWU7CiAJCWlmIChzdHJlYW0gIT0gTlVMTCkKIAkJCXNuZF9zb2NfZGFwbV9zdHJlYW1fZXZlbnQoY29kZWMsIHN0cmVhbSwKQEAgLTY3OCw4ICs2ODcsOCBAQAogCWlmIChjb2RlY19kZXYtPnN1c3BlbmQpCiAJCWNvZGVjX2Rldi0+c3VzcGVuZChwZGV2LCBzdGF0ZSk7CiAKLQlmb3IoaSA9IDA7IGkgPCBtYWNoaW5lLT5udW1fbGlua3M7IGkrKykgewotCQlzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpjcHVfZGFpID0gbWFjaGluZS0+ZGFpX2xpbmtbaV0uY3B1X2RhaTsKKwlmb3IgKGkgPSAwOyBpIDwgbWFjaGluZS0+bnVtX2xpbmtzOyBpKyspIHsKKwkJc3RydWN0IHNuZF9zb2NfZGFpICpjcHVfZGFpID0gbWFjaGluZS0+ZGFpX2xpbmtbaV0uY3B1X2RhaTsKIAkJaWYgKGNwdV9kYWktPnN1c3BlbmQgJiYgY3B1X2RhaS0+dHlwZSA9PSBTTkRfU09DX0RBSV9BQzk3KQogCQkJY3B1X2RhaS0+c3VzcGVuZChwZGV2LCBjcHVfZGFpKTsKIAl9CkBAIC02OTAsMjEgKzY5OSwzMiBAQAogCXJldHVybiAwOwogfQogCi0vKiBwb3dlcnMgdXAgYXVkaW8gc3Vic3lzdGVtIGFmdGVyIGEgc3VzcGVuZCAqLwotc3RhdGljIGludCBzb2NfcmVzdW1lKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCisvKiBkZWZlcnJlZCByZXN1bWUgd29yaywgc28gcmVzdW1lIGNhbiBjb21wbGV0ZSBiZWZvcmUgd2UgZmluaXNoZWQKKyAqIHNldHRpbmcgb3VyIGNvZGVjIGJhY2sgdXAsIHdoaWNoIGNhbiBiZSB2ZXJ5IHNsb3cgb24gSTJDCisgKi8KK3N0YXRpYyB2b2lkIHNvY19yZXN1bWVfZGVmZXJyZWQoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKQogewotIAlzdHJ1Y3Qgc25kX3NvY19kZXZpY2UgKnNvY2RldiA9IHBsYXRmb3JtX2dldF9kcnZkYXRhKHBkZXYpOwotIAlzdHJ1Y3Qgc25kX3NvY19tYWNoaW5lICptYWNoaW5lID0gc29jZGV2LT5tYWNoaW5lOwotIAlzdHJ1Y3Qgc25kX3NvY19wbGF0Zm9ybSAqcGxhdGZvcm0gPSBzb2NkZXYtPnBsYXRmb3JtOwotIAlzdHJ1Y3Qgc25kX3NvY19jb2RlY19kZXZpY2UgKmNvZGVjX2RldiA9IHNvY2Rldi0+Y29kZWNfZGV2OworCXN0cnVjdCBzbmRfc29jX2RldmljZSAqc29jZGV2ID0gY29udGFpbmVyX29mKHdvcmssCisJCQkJCQkgICAgIHN0cnVjdCBzbmRfc29jX2RldmljZSwKKwkJCQkJCSAgICAgZGVmZXJyZWRfcmVzdW1lX3dvcmspOworCXN0cnVjdCBzbmRfc29jX21hY2hpbmUgKm1hY2hpbmUgPSBzb2NkZXYtPm1hY2hpbmU7CisJc3RydWN0IHNuZF9zb2NfcGxhdGZvcm0gKnBsYXRmb3JtID0gc29jZGV2LT5wbGF0Zm9ybTsKKwlzdHJ1Y3Qgc25kX3NvY19jb2RlY19kZXZpY2UgKmNvZGVjX2RldiA9IHNvY2Rldi0+Y29kZWNfZGV2OwogCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IHNvY2Rldi0+Y29kZWM7CisJc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiA9IHRvX3BsYXRmb3JtX2RldmljZShzb2NkZXYtPmRldik7CiAJaW50IGk7CiAKKwkvKiBvdXIgcG93ZXIgc3RhdGUgaXMgc3RpbGwgU05EUlZfQ1RMX1BPV0VSX0QzaG90IGZyb20gc3VzcGVuZCB0aW1lLAorCSAqIHNvIHVzZXJzcGFjZSBhcHBzIGFyZSBibG9ja2VkIGZyb20gdG91Y2hpbmcgdXMKKwkgKi8KKworCWRldl9pbmZvKHNvY2Rldi0+ZGV2LCAic3RhcnRpbmcgcmVzdW1lIHdvcmtcbiIpOworCiAJaWYgKG1hY2hpbmUtPnJlc3VtZV9wcmUpCiAJCW1hY2hpbmUtPnJlc3VtZV9wcmUocGRldik7CiAKLQlmb3IoaSA9IDA7IGkgPCBtYWNoaW5lLT5udW1fbGlua3M7IGkrKykgewotCQlzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpjcHVfZGFpID0gbWFjaGluZS0+ZGFpX2xpbmtbaV0uY3B1X2RhaTsKKwlmb3IgKGkgPSAwOyBpIDwgbWFjaGluZS0+bnVtX2xpbmtzOyBpKyspIHsKKwkJc3RydWN0IHNuZF9zb2NfZGFpICpjcHVfZGFpID0gbWFjaGluZS0+ZGFpX2xpbmtbaV0uY3B1X2RhaTsKIAkJaWYgKGNwdV9kYWktPnJlc3VtZSAmJiBjcHVfZGFpLT50eXBlID09IFNORF9TT0NfREFJX0FDOTcpCiAJCQljcHVfZGFpLT5yZXN1bWUocGRldiwgY3B1X2RhaSk7CiAJfQpAQCAtNzEyLDggKzczMiw4IEBACiAJaWYgKGNvZGVjX2Rldi0+cmVzdW1lKQogCQljb2RlY19kZXYtPnJlc3VtZShwZGV2KTsKIAotCWZvcihpID0gMDsgaSA8IGNvZGVjLT5udW1fZGFpOyBpKyspIHsKLQkJY2hhciogc3RyZWFtID0gY29kZWMtPmRhaVtpXS5wbGF5YmFjay5zdHJlYW1fbmFtZTsKKwlmb3IgKGkgPSAwOyBpIDwgY29kZWMtPm51bV9kYWk7IGkrKykgeworCQljaGFyICpzdHJlYW0gPSBjb2RlYy0+ZGFpW2ldLnBsYXliYWNrLnN0cmVhbV9uYW1lOwogCQlpZiAoc3RyZWFtICE9IE5VTEwpCiAJCQlzbmRfc29jX2RhcG1fc3RyZWFtX2V2ZW50KGNvZGVjLCBzdHJlYW0sCiAJCQkJU05EX1NPQ19EQVBNX1NUUkVBTV9SRVNVTUUpOwpAQCAtNzIzLDE1ICs3NDMsMTUgQEAKIAkJCQlTTkRfU09DX0RBUE1fU1RSRUFNX1JFU1VNRSk7CiAJfQogCi0JLyogdW5tdXRlIGFueSBhY3RpdmUgREFDJ3MgKi8KLQlmb3IoaSA9IDA7IGkgPCBtYWNoaW5lLT5udW1fbGlua3M7IGkrKykgewotCQlzdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgKmRhaSA9IG1hY2hpbmUtPmRhaV9saW5rW2ldLmNvZGVjX2RhaTsKKwkvKiB1bm11dGUgYW55IGFjdGl2ZSBEQUNzICovCisJZm9yIChpID0gMDsgaSA8IG1hY2hpbmUtPm51bV9saW5rczsgaSsrKSB7CisJCXN0cnVjdCBzbmRfc29jX2RhaSAqZGFpID0gbWFjaGluZS0+ZGFpX2xpbmtbaV0uY29kZWNfZGFpOwogCQlpZiAoZGFpLT5kYWlfb3BzLmRpZ2l0YWxfbXV0ZSAmJiBkYWktPnBsYXliYWNrLmFjdGl2ZSkKIAkJCWRhaS0+ZGFpX29wcy5kaWdpdGFsX211dGUoZGFpLCAwKTsKIAl9CiAKLQlmb3IoaSA9IDA7IGkgPCBtYWNoaW5lLT5udW1fbGlua3M7IGkrKykgewotCQlzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpjcHVfZGFpID0gbWFjaGluZS0+ZGFpX2xpbmtbaV0uY3B1X2RhaTsKKwlmb3IgKGkgPSAwOyBpIDwgbWFjaGluZS0+bnVtX2xpbmtzOyBpKyspIHsKKwkJc3RydWN0IHNuZF9zb2NfZGFpICpjcHVfZGFpID0gbWFjaGluZS0+ZGFpX2xpbmtbaV0uY3B1X2RhaTsKIAkJaWYgKGNwdV9kYWktPnJlc3VtZSAmJiBjcHVfZGFpLT50eXBlICE9IFNORF9TT0NfREFJX0FDOTcpCiAJCQljcHVfZGFpLT5yZXN1bWUocGRldiwgY3B1X2RhaSk7CiAJCWlmIChwbGF0Zm9ybS0+cmVzdW1lKQpAQCAtNzQxLDYgKzc2MSwyMiBAQAogCWlmIChtYWNoaW5lLT5yZXN1bWVfcG9zdCkKIAkJbWFjaGluZS0+cmVzdW1lX3Bvc3QocGRldik7CiAKKwlkZXZfaW5mbyhzb2NkZXYtPmRldiwgInJlc3VtZSB3b3JrIGNvbXBsZXRlZFxuIik7CisKKwkvKiB1c2Vyc3BhY2UgY2FuIGFjY2VzcyB1cyBub3cgd2UgYXJlIGJhY2sgYXMgd2Ugd2VyZSBiZWZvcmUgKi8KKwlzbmRfcG93ZXJfY2hhbmdlX3N0YXRlKGNvZGVjLT5jYXJkLCBTTkRSVl9DVExfUE9XRVJfRDApOworfQorCisvKiBwb3dlcnMgdXAgYXVkaW8gc3Vic3lzdGVtIGFmdGVyIGEgc3VzcGVuZCAqLworc3RhdGljIGludCBzb2NfcmVzdW1lKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCit7CisJc3RydWN0IHNuZF9zb2NfZGV2aWNlICpzb2NkZXYgPSBwbGF0Zm9ybV9nZXRfZHJ2ZGF0YShwZGV2KTsKKworCWRldl9pbmZvKHNvY2Rldi0+ZGV2LCAic2NoZWR1bGluZyByZXN1bWUgd29ya1xuIik7CisKKwlpZiAoIXNjaGVkdWxlX3dvcmsoJnNvY2Rldi0+ZGVmZXJyZWRfcmVzdW1lX3dvcmspKQorCQlkZXZfZXJyKHNvY2Rldi0+ZGV2LCAid29yayBpdGVtIG1heSBiZSBsb3N0XG4iKTsKKwogCXJldHVybiAwOwogfQogCkBAIC03NjAsMzMgKzc5NiwzOCBAQAogCiAJaWYgKG1hY2hpbmUtPnByb2JlKSB7CiAJCXJldCA9IG1hY2hpbmUtPnByb2JlKHBkZXYpOwotCQlpZihyZXQgPCAwKQorCQlpZiAocmV0IDwgMCkKIAkJCXJldHVybiByZXQ7CiAJfQogCiAJZm9yIChpID0gMDsgaSA8IG1hY2hpbmUtPm51bV9saW5rczsgaSsrKSB7Ci0JCXN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmNwdV9kYWkgPSBtYWNoaW5lLT5kYWlfbGlua1tpXS5jcHVfZGFpOworCQlzdHJ1Y3Qgc25kX3NvY19kYWkgKmNwdV9kYWkgPSBtYWNoaW5lLT5kYWlfbGlua1tpXS5jcHVfZGFpOwogCQlpZiAoY3B1X2RhaS0+cHJvYmUpIHsKLQkJCXJldCA9IGNwdV9kYWktPnByb2JlKHBkZXYpOwotCQkJaWYocmV0IDwgMCkKKwkJCXJldCA9IGNwdV9kYWktPnByb2JlKHBkZXYsIGNwdV9kYWkpOworCQkJaWYgKHJldCA8IDApCiAJCQkJZ290byBjcHVfZGFpX2VycjsKIAkJfQogCX0KIAogCWlmIChjb2RlY19kZXYtPnByb2JlKSB7CiAJCXJldCA9IGNvZGVjX2Rldi0+cHJvYmUocGRldik7Ci0JCWlmKHJldCA8IDApCisJCWlmIChyZXQgPCAwKQogCQkJZ290byBjcHVfZGFpX2VycjsKIAl9CiAKIAlpZiAocGxhdGZvcm0tPnByb2JlKSB7CiAJCXJldCA9IHBsYXRmb3JtLT5wcm9iZShwZGV2KTsKLQkJaWYocmV0IDwgMCkKKwkJaWYgKHJldCA8IDApCiAJCQlnb3RvIHBsYXRmb3JtX2VycjsKIAl9CiAKIAkvKiBEQVBNIHN0cmVhbSB3b3JrICovCiAJSU5JVF9ERUxBWUVEX1dPUksoJnNvY2Rldi0+ZGVsYXllZF93b3JrLCBjbG9zZV9kZWxheWVkX3dvcmspOworI2lmZGVmIENPTkZJR19QTQorCS8qIGRlZmVycmVkIHJlc3VtZSB3b3JrICovCisJSU5JVF9XT1JLKCZzb2NkZXYtPmRlZmVycmVkX3Jlc3VtZV93b3JrLCBzb2NfcmVzdW1lX2RlZmVycmVkKTsKKyNlbmRpZgorCiAJcmV0dXJuIDA7CiAKIHBsYXRmb3JtX2VycjoKQEAgLTc5NSw5ICs4MzYsOSBAQAogCiBjcHVfZGFpX2VycjoKIAlmb3IgKGktLTsgaSA+PSAwOyBpLS0pIHsKLQkJc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqY3B1X2RhaSA9IG1hY2hpbmUtPmRhaV9saW5rW2ldLmNwdV9kYWk7CisJCXN0cnVjdCBzbmRfc29jX2RhaSAqY3B1X2RhaSA9IG1hY2hpbmUtPmRhaV9saW5rW2ldLmNwdV9kYWk7CiAJCWlmIChjcHVfZGFpLT5yZW1vdmUpCi0JCQljcHVfZGFpLT5yZW1vdmUocGRldik7CisJCQljcHVfZGFpLT5yZW1vdmUocGRldiwgY3B1X2RhaSk7CiAJfQogCiAJaWYgKG1hY2hpbmUtPnJlbW92ZSkKQEAgLTgyNCw5ICs4NjUsOSBAQAogCQljb2RlY19kZXYtPnJlbW92ZShwZGV2KTsKIAogCWZvciAoaSA9IDA7IGkgPCBtYWNoaW5lLT5udW1fbGlua3M7IGkrKykgewotCQlzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpjcHVfZGFpID0gbWFjaGluZS0+ZGFpX2xpbmtbaV0uY3B1X2RhaTsKKwkJc3RydWN0IHNuZF9zb2NfZGFpICpjcHVfZGFpID0gbWFjaGluZS0+ZGFpX2xpbmtbaV0uY3B1X2RhaTsKIAkJaWYgKGNwdV9kYWktPnJlbW92ZSkKLQkJCWNwdV9kYWktPnJlbW92ZShwZGV2KTsKKwkJCWNwdV9kYWktPnJlbW92ZShwZGV2LCBjcHVfZGFpKTsKIAl9CiAKIAlpZiAobWFjaGluZS0+cmVtb3ZlKQpAQCAtODUyLDggKzg5Myw4IEBACiAJc3RydWN0IHNuZF9zb2NfZGFpX2xpbmsgKmRhaV9saW5rLCBpbnQgbnVtKQogewogCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IHNvY2Rldi0+Y29kZWM7Ci0Jc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpICpjb2RlY19kYWkgPSBkYWlfbGluay0+Y29kZWNfZGFpOwotCXN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmNwdV9kYWkgPSBkYWlfbGluay0+Y3B1X2RhaTsKKwlzdHJ1Y3Qgc25kX3NvY19kYWkgKmNvZGVjX2RhaSA9IGRhaV9saW5rLT5jb2RlY19kYWk7CisJc3RydWN0IHNuZF9zb2NfZGFpICpjcHVfZGFpID0gZGFpX2xpbmstPmNwdV9kYWk7CiAJc3RydWN0IHNuZF9zb2NfcGNtX3J1bnRpbWUgKnJ0ZDsKIAlzdHJ1Y3Qgc25kX3BjbSAqcGNtOwogCWNoYXIgbmV3X25hbWVbNjRdOwpAQCAtODY4LDcgKzkwOSw3IEBACiAJY29kZWNfZGFpLT5jb2RlYyA9IHNvY2Rldi0+Y29kZWM7CiAKIAkvKiBjaGVjayBjbGllbnQgYW5kIGludGVyZmFjZSBodyBjYXBhYmlsaXRpZXMgKi8KLQlzcHJpbnRmKG5ld19uYW1lLCAiJXMgJXMtJXMtJWQiLGRhaV9saW5rLT5zdHJlYW1fbmFtZSwgY29kZWNfZGFpLT5uYW1lLAorCXNwcmludGYobmV3X25hbWUsICIlcyAlcy0lcy0lZCIsIGRhaV9saW5rLT5zdHJlYW1fbmFtZSwgY29kZWNfZGFpLT5uYW1lLAogCQlnZXRfZGFpX25hbWUoY3B1X2RhaS0+dHlwZSksIG51bSk7CiAKIAlpZiAoY29kZWNfZGFpLT5wbGF5YmFjay5jaGFubmVsc19taW4pCkBAIC04NzksNyArOTIwLDggQEAKIAlyZXQgPSBzbmRfcGNtX25ldyhjb2RlYy0+Y2FyZCwgbmV3X25hbWUsIGNvZGVjLT5wY21fZGV2cysrLCBwbGF5YmFjaywKIAkJY2FwdHVyZSwgJnBjbSk7CiAJaWYgKHJldCA8IDApIHsKLQkJcHJpbnRrKEtFUk5fRVJSICJhc29jOiBjYW4ndCBjcmVhdGUgcGNtIGZvciBjb2RlYyAlc1xuIiwgY29kZWMtPm5hbWUpOworCQlwcmludGsoS0VSTl9FUlIgImFzb2M6IGNhbid0IGNyZWF0ZSBwY20gZm9yIGNvZGVjICVzXG4iLAorCQkJY29kZWMtPm5hbWUpOwogCQlrZnJlZShydGQpOwogCQlyZXR1cm4gcmV0OwogCX0KQEAgLTkyOCw4ICs5NzAsOSBAQAogCQlzdGVwID0gY29kZWMtPnJlZ19jYWNoZV9zdGVwOwogCiAJY291bnQgKz0gc3ByaW50ZihidWYsICIlcyByZWdpc3RlcnNcbiIsIGNvZGVjLT5uYW1lKTsKLQlmb3IoaSA9IDA7IGkgPCBjb2RlYy0+cmVnX2NhY2hlX3NpemU7IGkgKz0gc3RlcCkKLQkJY291bnQgKz0gc3ByaW50ZihidWYgKyBjb3VudCwgIiUyeDogJTR4XG4iLCBpLCBjb2RlYy0+cmVhZChjb2RlYywgaSkpOworCWZvciAoaSA9IDA7IGkgPCBjb2RlYy0+cmVnX2NhY2hlX3NpemU7IGkgKz0gc3RlcCkKKwkJY291bnQgKz0gc3ByaW50ZihidWYgKyBjb3VudCwgIiUyeDogJTR4XG4iLCBpLAorCQkJY29kZWMtPnJlYWQoY29kZWMsIGkpKTsKIAogCXJldHVybiBjb3VudDsKIH0KQEAgLTEwNzIsNyArMTExNSw3IEBACiAJc3RybmNweShjb2RlYy0+Y2FyZC0+ZHJpdmVyLCBjb2RlYy0+bmFtZSwgc2l6ZW9mKGNvZGVjLT5jYXJkLT5kcml2ZXIpKTsKIAogCS8qIGNyZWF0ZSB0aGUgcGNtcyAqLwotCWZvcihpID0gMDsgaSA8IG1hY2hpbmUtPm51bV9saW5rczsgaSsrKSB7CisJZm9yIChpID0gMDsgaSA8IG1hY2hpbmUtPm51bV9saW5rczsgaSsrKSB7CiAJCXJldCA9IHNvY19uZXdfcGNtKHNvY2RldiwgJm1hY2hpbmUtPmRhaV9saW5rW2ldLCBpKTsKIAkJaWYgKHJldCA8IDApIHsKIAkJCXByaW50ayhLRVJOX0VSUiAiYXNvYzogY2FuJ3QgY3JlYXRlIHBjbSAlc1xuIiwKQEAgLTExMDIsNyArMTE0NSw3IEBACiAJc3RydWN0IHNuZF9zb2NfbWFjaGluZSAqbWFjaGluZSA9IHNvY2Rldi0+bWFjaGluZTsKIAlpbnQgcmV0ID0gMCwgaSwgYWM5NyA9IDAsIGVyciA9IDA7CiAKLQlmb3IoaSA9IDA7IGkgPCBtYWNoaW5lLT5udW1fbGlua3M7IGkrKykgeworCWZvciAoaSA9IDA7IGkgPCBtYWNoaW5lLT5udW1fbGlua3M7IGkrKykgewogCQlpZiAoc29jZGV2LT5tYWNoaW5lLT5kYWlfbGlua1tpXS5pbml0KSB7CiAJCQllcnIgPSBzb2NkZXYtPm1hY2hpbmUtPmRhaV9saW5rW2ldLmluaXQoY29kZWMpOwogCQkJaWYgKGVyciA8IDApIHsKQEAgLTExMTEsNyArMTE1NCw3IEBACiAJCQkJY29udGludWU7CiAJCQl9CiAJCX0KLQkJaWYgKHNvY2Rldi0+bWFjaGluZS0+ZGFpX2xpbmtbaV0uY29kZWNfZGFpLT50eXBlID09IAorCQlpZiAoc29jZGV2LT5tYWNoaW5lLT5kYWlfbGlua1tpXS5jb2RlY19kYWktPnR5cGUgPT0KIAkJCVNORF9TT0NfREFJX0FDOTdfQlVTKQogCQkJYWM5NyA9IDE7CiAJfQpAQCAtMTEyMiw3ICsxMTY1LDcgQEAKIAogCXJldCA9IHNuZF9jYXJkX3JlZ2lzdGVyKGNvZGVjLT5jYXJkKTsKIAlpZiAocmV0IDwgMCkgewotCQlwcmludGsoS0VSTl9FUlIgImFzb2M6IGZhaWxlZCB0byByZWdpc3RlciBzb3VuZGNhcmQgZm9yIGNvZGVjICVzXG4iLAorCQlwcmludGsoS0VSTl9FUlIgImFzb2M6IGZhaWxlZCB0byByZWdpc3RlciBzb3VuZGNhcmQgZm9yICVzXG4iLAogCQkJCWNvZGVjLT5uYW1lKTsKIAkJZ290byBvdXQ7CiAJfQpAQCAtMTE0Niw3ICsxMTg5LDcgQEAKIAogCWVyciA9IGRldmljZV9jcmVhdGVfZmlsZShzb2NkZXYtPmRldiwgJmRldl9hdHRyX2NvZGVjX3JlZyk7CiAJaWYgKGVyciA8IDApCi0JCXByaW50ayhLRVJOX1dBUk5JTkcgImFzb2M6IGZhaWxlZCB0byBhZGQgY29kZWMgc3lzZnMgZW50cmllc1xuIik7CisJCXByaW50ayhLRVJOX1dBUk5JTkcgImFzb2M6IGZhaWxlZCB0byBhZGQgY29kZWMgc3lzZnMgZmlsZXNcbiIpOwogCiAJbXV0ZXhfdW5sb2NrKCZjb2RlYy0+bXV0ZXgpOwogCkBAIC0xMTY2LDEzICsxMjA5LDEzIEBACiB7CiAJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gc29jZGV2LT5jb2RlYzsKICNpZmRlZiBDT05GSUdfU05EX1NPQ19BQzk3X0JVUwotCXN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSAqY29kZWNfZGFpOworCXN0cnVjdCBzbmRfc29jX2RhaSAqY29kZWNfZGFpOwogCWludCBpOwogI2VuZGlmCiAKIAltdXRleF9sb2NrKCZjb2RlYy0+bXV0ZXgpOwogI2lmZGVmIENPTkZJR19TTkRfU09DX0FDOTdfQlVTCi0JZm9yKGkgPSAwOyBpIDwgY29kZWMtPm51bV9kYWk7IGkrKykgeworCWZvciAoaSA9IDA7IGkgPCBjb2RlYy0+bnVtX2RhaTsgaSsrKSB7CiAJCWNvZGVjX2RhaSA9ICZjb2RlYy0+ZGFpW2ldOwogCQlpZiAoY29kZWNfZGFpLT50eXBlID09IFNORF9TT0NfREFJX0FDOTdfQlVTICYmIGNvZGVjLT5hYzk3KSB7CiAJCQlzb2NfYWM5N19kZXZfdW5yZWdpc3Rlcihjb2RlYyk7CkBAIC0xMjgyLDcgKzEzMjUsOCBAQAogCWZvciAoYml0bWFzayA9IDE7IGJpdG1hc2sgPCBlLT5tYXNrOyBiaXRtYXNrIDw8PSAxKQogCQk7CiAJdmFsID0gc25kX3NvY19yZWFkKGNvZGVjLCBlLT5yZWcpOwotCXVjb250cm9sLT52YWx1ZS5lbnVtZXJhdGVkLml0ZW1bMF0gPSAodmFsID4+IGUtPnNoaWZ0X2wpICYgKGJpdG1hc2sgLSAxKTsKKwl1Y29udHJvbC0+dmFsdWUuZW51bWVyYXRlZC5pdGVtWzBdCisJCT0gKHZhbCA+PiBlLT5zaGlmdF9sKSAmIChiaXRtYXNrIC0gMSk7CiAJaWYgKGUtPnNoaWZ0X2wgIT0gZS0+c2hpZnRfcikKIAkJdWNvbnRyb2wtPnZhbHVlLmVudW1lcmF0ZWQuaXRlbVsxXSA9CiAJCQkodmFsID4+IGUtPnNoaWZ0X3IpICYgKGJpdG1hc2sgLSAxKTsKQEAgLTE1NzYsNyArMTYyMCw4IEBACiAJdmFsID0gdmFsIDw8IHNoaWZ0OwogCXZhbDIgPSB2YWwyIDw8IHNoaWZ0OwogCi0JaWYgKChlcnIgPSBzbmRfc29jX3VwZGF0ZV9iaXRzKGNvZGVjLCByZWcsIHZhbF9tYXNrLCB2YWwpKSA8IDApCisJZXJyID0gc25kX3NvY191cGRhdGVfYml0cyhjb2RlYywgcmVnLCB2YWxfbWFzaywgdmFsKTsKKwlpZiAoZXJyIDwgMCkKIAkJcmV0dXJuIGVycjsKIAogCWVyciA9IHNuZF9zb2NfdXBkYXRlX2JpdHMoY29kZWMsIHJlZzIsIHZhbF9tYXNrLCB2YWwyKTsKQEAgLTE1ODQsNiArMTYyOSwyMDQgQEAKIH0KIEVYUE9SVF9TWU1CT0xfR1BMKHNuZF9zb2NfcHV0X3ZvbHN3XzJyKTsKIAorLyoqCisgKiBzbmRfc29jX2luZm9fdm9sc3dfczggLSBzaWduZWQgbWl4ZXIgaW5mbyBjYWxsYmFjaworICogQGtjb250cm9sOiBtaXhlciBjb250cm9sCisgKiBAdWluZm86IGNvbnRyb2wgZWxlbWVudCBpbmZvcm1hdGlvbgorICoKKyAqIENhbGxiYWNrIHRvIHByb3ZpZGUgaW5mb3JtYXRpb24gYWJvdXQgYSBzaWduZWQgbWl4ZXIgY29udHJvbC4KKyAqCisgKiBSZXR1cm5zIDAgZm9yIHN1Y2Nlc3MuCisgKi8KK2ludCBzbmRfc29jX2luZm9fdm9sc3dfczgoc3RydWN0IHNuZF9rY29udHJvbCAqa2NvbnRyb2wsCisJc3RydWN0IHNuZF9jdGxfZWxlbV9pbmZvICp1aW5mbykKK3sKKwlpbnQgbWF4ID0gKHNpZ25lZCBjaGFyKSgoa2NvbnRyb2wtPnByaXZhdGVfdmFsdWUgPj4gMTYpICYgMHhmZik7CisJaW50IG1pbiA9IChzaWduZWQgY2hhcikoKGtjb250cm9sLT5wcml2YXRlX3ZhbHVlID4+IDI0KSAmIDB4ZmYpOworCisJdWluZm8tPnR5cGUgPSBTTkRSVl9DVExfRUxFTV9UWVBFX0lOVEVHRVI7CisJdWluZm8tPmNvdW50ID0gMjsKKwl1aW5mby0+dmFsdWUuaW50ZWdlci5taW4gPSAwOworCXVpbmZvLT52YWx1ZS5pbnRlZ2VyLm1heCA9IG1heC1taW47CisJcmV0dXJuIDA7Cit9CitFWFBPUlRfU1lNQk9MX0dQTChzbmRfc29jX2luZm9fdm9sc3dfczgpOworCisvKioKKyAqIHNuZF9zb2NfZ2V0X3ZvbHN3X3M4IC0gc2lnbmVkIG1peGVyIGdldCBjYWxsYmFjaworICogQGtjb250cm9sOiBtaXhlciBjb250cm9sCisgKiBAdWluZm86IGNvbnRyb2wgZWxlbWVudCBpbmZvcm1hdGlvbgorICoKKyAqIENhbGxiYWNrIHRvIGdldCB0aGUgdmFsdWUgb2YgYSBzaWduZWQgbWl4ZXIgY29udHJvbC4KKyAqCisgKiBSZXR1cm5zIDAgZm9yIHN1Y2Nlc3MuCisgKi8KK2ludCBzbmRfc29jX2dldF92b2xzd19zOChzdHJ1Y3Qgc25kX2tjb250cm9sICprY29udHJvbCwKKwlzdHJ1Y3Qgc25kX2N0bF9lbGVtX3ZhbHVlICp1Y29udHJvbCkKK3sKKwlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBzbmRfa2NvbnRyb2xfY2hpcChrY29udHJvbCk7CisJaW50IHJlZyA9IGtjb250cm9sLT5wcml2YXRlX3ZhbHVlICYgMHhmZjsKKwlpbnQgbWluID0gKHNpZ25lZCBjaGFyKSgoa2NvbnRyb2wtPnByaXZhdGVfdmFsdWUgPj4gMjQpICYgMHhmZik7CisJaW50IHZhbCA9IHNuZF9zb2NfcmVhZChjb2RlYywgcmVnKTsKKworCXVjb250cm9sLT52YWx1ZS5pbnRlZ2VyLnZhbHVlWzBdID0KKwkJKChzaWduZWQgY2hhcikodmFsICYgMHhmZikpLW1pbjsKKwl1Y29udHJvbC0+dmFsdWUuaW50ZWdlci52YWx1ZVsxXSA9CisJCSgoc2lnbmVkIGNoYXIpKCh2YWwgPj4gOCkgJiAweGZmKSktbWluOworCXJldHVybiAwOworfQorRVhQT1JUX1NZTUJPTF9HUEwoc25kX3NvY19nZXRfdm9sc3dfczgpOworCisvKioKKyAqIHNuZF9zb2NfcHV0X3ZvbHN3X3NnbiAtIHNpZ25lZCBtaXhlciBwdXQgY2FsbGJhY2sKKyAqIEBrY29udHJvbDogbWl4ZXIgY29udHJvbAorICogQHVpbmZvOiBjb250cm9sIGVsZW1lbnQgaW5mb3JtYXRpb24KKyAqCisgKiBDYWxsYmFjayB0byBzZXQgdGhlIHZhbHVlIG9mIGEgc2lnbmVkIG1peGVyIGNvbnRyb2wuCisgKgorICogUmV0dXJucyAwIGZvciBzdWNjZXNzLgorICovCitpbnQgc25kX3NvY19wdXRfdm9sc3dfczgoc3RydWN0IHNuZF9rY29udHJvbCAqa2NvbnRyb2wsCisJc3RydWN0IHNuZF9jdGxfZWxlbV92YWx1ZSAqdWNvbnRyb2wpCit7CisJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gc25kX2tjb250cm9sX2NoaXAoa2NvbnRyb2wpOworCWludCByZWcgPSBrY29udHJvbC0+cHJpdmF0ZV92YWx1ZSAmIDB4ZmY7CisJaW50IG1pbiA9IChzaWduZWQgY2hhcikoKGtjb250cm9sLT5wcml2YXRlX3ZhbHVlID4+IDI0KSAmIDB4ZmYpOworCXVuc2lnbmVkIHNob3J0IHZhbDsKKworCXZhbCA9ICh1Y29udHJvbC0+dmFsdWUuaW50ZWdlci52YWx1ZVswXSttaW4pICYgMHhmZjsKKwl2YWwgfD0gKCh1Y29udHJvbC0+dmFsdWUuaW50ZWdlci52YWx1ZVsxXSttaW4pICYgMHhmZikgPDwgODsKKworCXJldHVybiBzbmRfc29jX3VwZGF0ZV9iaXRzKGNvZGVjLCByZWcsIDB4ZmZmZiwgdmFsKTsKK30KK0VYUE9SVF9TWU1CT0xfR1BMKHNuZF9zb2NfcHV0X3ZvbHN3X3M4KTsKKworLyoqCisgKiBzbmRfc29jX2RhaV9zZXRfc3lzY2xrIC0gY29uZmlndXJlIERBSSBzeXN0ZW0gb3IgbWFzdGVyIGNsb2NrLgorICogQGRhaTogREFJCisgKiBAY2xrX2lkOiBEQUkgc3BlY2lmaWMgY2xvY2sgSUQKKyAqIEBmcmVxOiBuZXcgY2xvY2sgZnJlcXVlbmN5IGluIEh6CisgKiBAZGlyOiBuZXcgY2xvY2sgZGlyZWN0aW9uIC0gaW5wdXQvb3V0cHV0LgorICoKKyAqIENvbmZpZ3VyZXMgdGhlIERBSSBtYXN0ZXIgKE1DTEspIG9yIHN5c3RlbSAoU1lTQ0xLKSBjbG9ja2luZy4KKyAqLworaW50IHNuZF9zb2NfZGFpX3NldF9zeXNjbGsoc3RydWN0IHNuZF9zb2NfZGFpICpkYWksIGludCBjbGtfaWQsCisJdW5zaWduZWQgaW50IGZyZXEsIGludCBkaXIpCit7CisJaWYgKGRhaS0+ZGFpX29wcy5zZXRfc3lzY2xrKQorCQlyZXR1cm4gZGFpLT5kYWlfb3BzLnNldF9zeXNjbGsoZGFpLCBjbGtfaWQsIGZyZXEsIGRpcik7CisJZWxzZQorCQlyZXR1cm4gLUVJTlZBTDsKK30KK0VYUE9SVF9TWU1CT0xfR1BMKHNuZF9zb2NfZGFpX3NldF9zeXNjbGspOworCisvKioKKyAqIHNuZF9zb2NfZGFpX3NldF9jbGtkaXYgLSBjb25maWd1cmUgREFJIGNsb2NrIGRpdmlkZXJzLgorICogQGRhaTogREFJCisgKiBAY2xrX2lkOiBEQUkgc3BlY2lmaWMgY2xvY2sgZGl2aWRlciBJRAorICogQGRpdjogbmV3IGNsb2NrIGRpdmlzb3IuCisgKgorICogQ29uZmlndXJlcyB0aGUgY2xvY2sgZGl2aWRlcnMuIFRoaXMgaXMgdXNlZCB0byBkZXJpdmUgdGhlIGJlc3QgREFJIGJpdCBhbmQKKyAqIGZyYW1lIGNsb2NrcyBmcm9tIHRoZSBzeXN0ZW0gb3IgbWFzdGVyIGNsb2NrLiBJdCdzIGJlc3QgdG8gc2V0IHRoZSBEQUkgYml0CisgKiBhbmQgZnJhbWUgY2xvY2tzIGFzIGxvdyBhcyBwb3NzaWJsZSB0byBzYXZlIHN5c3RlbSBwb3dlci4KKyAqLworaW50IHNuZF9zb2NfZGFpX3NldF9jbGtkaXYoc3RydWN0IHNuZF9zb2NfZGFpICpkYWksCisJaW50IGRpdl9pZCwgaW50IGRpdikKK3sKKwlpZiAoZGFpLT5kYWlfb3BzLnNldF9jbGtkaXYpCisJCXJldHVybiBkYWktPmRhaV9vcHMuc2V0X2Nsa2RpdihkYWksIGRpdl9pZCwgZGl2KTsKKwllbHNlCisJCXJldHVybiAtRUlOVkFMOworfQorRVhQT1JUX1NZTUJPTF9HUEwoc25kX3NvY19kYWlfc2V0X2Nsa2Rpdik7CisKKy8qKgorICogc25kX3NvY19kYWlfc2V0X3BsbCAtIGNvbmZpZ3VyZSBEQUkgUExMLgorICogQGRhaTogREFJCisgKiBAcGxsX2lkOiBEQUkgc3BlY2lmaWMgUExMIElECisgKiBAZnJlcV9pbjogUExMIGlucHV0IGNsb2NrIGZyZXF1ZW5jeSBpbiBIegorICogQGZyZXFfb3V0OiByZXF1ZXN0ZWQgUExMIG91dHB1dCBjbG9jayBmcmVxdWVuY3kgaW4gSHoKKyAqCisgKiBDb25maWd1cmVzIGFuZCBlbmFibGVzIFBMTCB0byBnZW5lcmF0ZSBvdXRwdXQgY2xvY2sgYmFzZWQgb24gaW5wdXQgY2xvY2suCisgKi8KK2ludCBzbmRfc29jX2RhaV9zZXRfcGxsKHN0cnVjdCBzbmRfc29jX2RhaSAqZGFpLAorCWludCBwbGxfaWQsIHVuc2lnbmVkIGludCBmcmVxX2luLCB1bnNpZ25lZCBpbnQgZnJlcV9vdXQpCit7CisJaWYgKGRhaS0+ZGFpX29wcy5zZXRfcGxsKQorCQlyZXR1cm4gZGFpLT5kYWlfb3BzLnNldF9wbGwoZGFpLCBwbGxfaWQsIGZyZXFfaW4sIGZyZXFfb3V0KTsKKwllbHNlCisJCXJldHVybiAtRUlOVkFMOworfQorRVhQT1JUX1NZTUJPTF9HUEwoc25kX3NvY19kYWlfc2V0X3BsbCk7CisKKy8qKgorICogc25kX3NvY19kYWlfc2V0X2ZtdCAtIGNvbmZpZ3VyZSBEQUkgaGFyZHdhcmUgYXVkaW8gZm9ybWF0LgorICogQGRhaTogREFJCisgKiBAY2xrX2lkOiBEQUkgc3BlY2lmaWMgY2xvY2sgSUQKKyAqIEBmbXQ6IFNORF9TT0NfREFJRk1UXyBmb3JtYXQgdmFsdWUuCisgKgorICogQ29uZmlndXJlcyB0aGUgREFJIGhhcmR3YXJlIGZvcm1hdCBhbmQgY2xvY2tpbmcuCisgKi8KK2ludCBzbmRfc29jX2RhaV9zZXRfZm10KHN0cnVjdCBzbmRfc29jX2RhaSAqZGFpLCB1bnNpZ25lZCBpbnQgZm10KQoreworCWlmIChkYWktPmRhaV9vcHMuc2V0X2ZtdCkKKwkJcmV0dXJuIGRhaS0+ZGFpX29wcy5zZXRfZm10KGRhaSwgZm10KTsKKwllbHNlCisJCXJldHVybiAtRUlOVkFMOworfQorRVhQT1JUX1NZTUJPTF9HUEwoc25kX3NvY19kYWlfc2V0X2ZtdCk7CisKKy8qKgorICogc25kX3NvY19kYWlfc2V0X3RkbV9zbG90IC0gY29uZmlndXJlIERBSSBURE0uCisgKiBAZGFpOiBEQUkKKyAqIEBtYXNrOiBEQUkgc3BlY2lmaWMgbWFzayByZXByZXNlbnRpbmcgdXNlZCBzbG90cy4KKyAqIEBzbG90czogTnVtYmVyIG9mIHNsb3RzIGluIHVzZS4KKyAqCisgKiBDb25maWd1cmVzIGEgREFJIGZvciBURE0gb3BlcmF0aW9uLiBCb3RoIG1hc2sgYW5kIHNsb3RzIGFyZSBjb2RlYyBhbmQgREFJCisgKiBzcGVjaWZpYy4KKyAqLworaW50IHNuZF9zb2NfZGFpX3NldF90ZG1fc2xvdChzdHJ1Y3Qgc25kX3NvY19kYWkgKmRhaSwKKwl1bnNpZ25lZCBpbnQgbWFzaywgaW50IHNsb3RzKQoreworCWlmIChkYWktPmRhaV9vcHMuc2V0X3N5c2NsaykKKwkJcmV0dXJuIGRhaS0+ZGFpX29wcy5zZXRfdGRtX3Nsb3QoZGFpLCBtYXNrLCBzbG90cyk7CisJZWxzZQorCQlyZXR1cm4gLUVJTlZBTDsKK30KK0VYUE9SVF9TWU1CT0xfR1BMKHNuZF9zb2NfZGFpX3NldF90ZG1fc2xvdCk7CisKKy8qKgorICogc25kX3NvY19kYWlfc2V0X3RyaXN0YXRlIC0gY29uZmlndXJlIERBSSBzeXN0ZW0gb3IgbWFzdGVyIGNsb2NrLgorICogQGRhaTogREFJCisgKiBAdHJpc3RhdGU6IHRyaXN0YXRlIGVuYWJsZQorICoKKyAqIFRyaXN0YXRlcyB0aGUgREFJIHNvIHRoYXQgb3RoZXJzIGNhbiB1c2UgaXQuCisgKi8KK2ludCBzbmRfc29jX2RhaV9zZXRfdHJpc3RhdGUoc3RydWN0IHNuZF9zb2NfZGFpICpkYWksIGludCB0cmlzdGF0ZSkKK3sKKwlpZiAoZGFpLT5kYWlfb3BzLnNldF9zeXNjbGspCisJCXJldHVybiBkYWktPmRhaV9vcHMuc2V0X3RyaXN0YXRlKGRhaSwgdHJpc3RhdGUpOworCWVsc2UKKwkJcmV0dXJuIC1FSU5WQUw7Cit9CitFWFBPUlRfU1lNQk9MX0dQTChzbmRfc29jX2RhaV9zZXRfdHJpc3RhdGUpOworCisvKioKKyAqIHNuZF9zb2NfZGFpX2RpZ2l0YWxfbXV0ZSAtIGNvbmZpZ3VyZSBEQUkgc3lzdGVtIG9yIG1hc3RlciBjbG9jay4KKyAqIEBkYWk6IERBSQorICogQG11dGU6IG11dGUgZW5hYmxlCisgKgorICogTXV0ZXMgdGhlIERBSSBEQUMuCisgKi8KK2ludCBzbmRfc29jX2RhaV9kaWdpdGFsX211dGUoc3RydWN0IHNuZF9zb2NfZGFpICpkYWksIGludCBtdXRlKQoreworCWlmIChkYWktPmRhaV9vcHMuZGlnaXRhbF9tdXRlKQorCQlyZXR1cm4gZGFpLT5kYWlfb3BzLmRpZ2l0YWxfbXV0ZShkYWksIG11dGUpOworCWVsc2UKKwkJcmV0dXJuIC1FSU5WQUw7Cit9CitFWFBPUlRfU1lNQk9MX0dQTChzbmRfc29jX2RhaV9kaWdpdGFsX211dGUpOworCiBzdGF0aWMgaW50IF9fZGV2aW5pdCBzbmRfc29jX2luaXQodm9pZCkKIHsKIAlwcmludGsoS0VSTl9JTkZPICJBU29DIHZlcnNpb24gJXNcbiIsIFNORF9TT0NfVkVSU0lPTik7CkBAIC0xNTkyLDcgKzE4MzUsNyBAQAogCiBzdGF0aWMgdm9pZCBzbmRfc29jX2V4aXQodm9pZCkKIHsKLSAJcGxhdGZvcm1fZHJpdmVyX3VucmVnaXN0ZXIoJnNvY19kcml2ZXIpOworCXBsYXRmb3JtX2RyaXZlcl91bnJlZ2lzdGVyKCZzb2NfZHJpdmVyKTsKIH0KIAogbW9kdWxlX2luaXQoc25kX3NvY19pbml0KTsKZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9zb2MtZGFwbS5jIGIvc291bmQvc29jL3NvYy1kYXBtLmMKaW5kZXggYWYzMzI2Yy4uMmM4NzA2MSAxMDA2NDQKLS0tIGEvc291bmQvc29jL3NvYy1kYXBtLmMKKysrIGIvc291bmQvc29jL3NvYy1kYXBtLmMKQEAgLTEwLDExICsxMCw2IEBACiAgKiAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyAgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgIExpY2Vuc2UsIG9yIChhdCB5b3VyCiAgKiAgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICAqCi0gKiAgUmV2aXNpb24gaGlzdG9yeQotICogICAgMTJ0aCBBdWcgMjAwNSAgIEluaXRpYWwgdmVyc2lvbi4KLSAqICAgIDI1dGggT2N0IDIwMDUgICBJbXBsZW1lbnRlZCBwYXRoIHBvd2VyIGRvbWFpbi4KLSAqICAgIDE4dGggRGVjIDIwMDUgICBJbXBsZW1lbnRlZCBtYWNoaW5lIGFuZCBzdHJlYW0gbGV2ZWwgcG93ZXIgZG9tYWluLgotICoKICAqICBGZWF0dXJlczoKICAqICAgIG8gQ2hhbmdlcyBwb3dlciBzdGF0dXMgb2YgaW50ZXJuYWwgY29kZWMgYmxvY2tzIGRlcGVuZGluZyBvbiB0aGUKICAqICAgICAgZHluYW1pYyBjb25maWd1cmF0aW9uIG9mIGNvZGVjIGludGVybmFsIGF1ZGlvIHBhdGhzIGFuZCBhY3RpdmUKQEAgLTUwLDIzICs0NSwxMCBAQAogI2luY2x1ZGUgPHNvdW5kL2luaXR2YWwuaD4KIAogLyogZGVidWcgKi8KLSNkZWZpbmUgREFQTV9ERUJVRyAwCi0jaWYgREFQTV9ERUJVRworI2lmZGVmIERFQlVHCiAjZGVmaW5lIGR1bXBfZGFwbShjb2RlYywgYWN0aW9uKSBkYmdfZHVtcF9kYXBtKGNvZGVjLCBhY3Rpb24pCi0jZGVmaW5lIGRiZyhmb3JtYXQsIGFyZy4uLikgcHJpbnRrKGZvcm1hdCwgIyMgYXJnKQogI2Vsc2UKICNkZWZpbmUgZHVtcF9kYXBtKGNvZGVjLCBhY3Rpb24pCi0jZGVmaW5lIGRiZyhmb3JtYXQsIGFyZy4uLikKLSNlbmRpZgotCi0jZGVmaW5lIFBPUF9ERUJVRyAwCi0jaWYgUE9QX0RFQlVHCi0jZGVmaW5lIFBPUF9USU1FIDUwMCAvKiA1MDAgbXNlY3MgLSBjaGFuZ2UgaWYgcG9wIGRlYnVnIGlzIHRvbyBmYXN0ICovCi0jZGVmaW5lIHBvcF93YWl0KHRpbWUpIHNjaGVkdWxlX3RpbWVvdXRfdW5pbnRlcnJ1cHRpYmxlKG1zZWNzX3RvX2ppZmZpZXModGltZSkpCi0jZGVmaW5lIHBvcF9kYmcoZm9ybWF0LCBhcmcuLi4pIHByaW50ayhmb3JtYXQsICMjIGFyZyk7IHBvcF93YWl0KFBPUF9USU1FKQotI2Vsc2UKLSNkZWZpbmUgcG9wX2RiZyhmb3JtYXQsIGFyZy4uLikKLSNkZWZpbmUgcG9wX3dhaXQodGltZSkKICNlbmRpZgogCiAvKiBkYXBtIHBvd2VyIHNlcXVlbmNlcyAtIG1ha2UgdGhpcyBwZXIgY29kZWMgaW4gdGhlIGZ1dHVyZSAqLwpAQCAtODUsNiArNjcsMjggQEAKIG1vZHVsZV9wYXJhbShkYXBtX3N0YXR1cywgaW50LCAwKTsKIE1PRFVMRV9QQVJNX0RFU0MoZGFwbV9zdGF0dXMsICJlbmFibGUgRFBNIHN5c2ZzIGVudHJpZXMiKTsKIAorc3RhdGljIHVuc2lnbmVkIGludCBwb3BfdGltZTsKKworc3RhdGljIHZvaWQgcG9wX3dhaXQodm9pZCkKK3sKKwlpZiAocG9wX3RpbWUpCisJCXNjaGVkdWxlX3RpbWVvdXRfdW5pbnRlcnJ1cHRpYmxlKG1zZWNzX3RvX2ppZmZpZXMocG9wX3RpbWUpKTsKK30KKworc3RhdGljIHZvaWQgcG9wX2RiZyhjb25zdCBjaGFyICpmbXQsIC4uLikKK3sKKwl2YV9saXN0IGFyZ3M7CisKKwl2YV9zdGFydChhcmdzLCBmbXQpOworCisJaWYgKHBvcF90aW1lKSB7CisJCXZwcmludGsoZm10LCBhcmdzKTsKKwkJcG9wX3dhaXQoKTsKKwl9CisKKwl2YV9lbmQoYXJncyk7Cit9CisKIC8qIGNyZWF0ZSBhIG5ldyBkYXBtIHdpZGdldCAqLwogc3RhdGljIGlubGluZSBzdHJ1Y3Qgc25kX3NvY19kYXBtX3dpZGdldCAqZGFwbV9jbmV3X3dpZGdldCgKIAljb25zdCBzdHJ1Y3Qgc25kX3NvY19kYXBtX3dpZGdldCAqX3dpZGdldCkKQEAgLTIyMiwxMSArMjI2LDEyIEBACiAJY2hhbmdlID0gb2xkICE9IG5ldzsKIAlpZiAoY2hhbmdlKSB7CiAJCXBvcF9kYmcoInBvcCB0ZXN0ICVzIDogJXMgaW4gJWQgbXNcbiIsIHdpZGdldC0+bmFtZSwKLQkJCXdpZGdldC0+cG93ZXIgPyAib24iIDogIm9mZiIsIFBPUF9USU1FKTsKKwkJCXdpZGdldC0+cG93ZXIgPyAib24iIDogIm9mZiIsIHBvcF90aW1lKTsKIAkJc25kX3NvY193cml0ZShjb2RlYywgd2lkZ2V0LT5yZWcsIG5ldyk7Ci0JCXBvcF93YWl0KFBPUF9USU1FKTsKKwkJcG9wX3dhaXQoKTsKIAl9Ci0JZGJnKCJyZWcgJXggb2xkICV4IG5ldyAleCBjaGFuZ2UgJWRcbiIsIHdpZGdldC0+cmVnLCBvbGQsIG5ldywgY2hhbmdlKTsKKwlwcl9kZWJ1ZygicmVnICV4IG9sZCAleCBuZXcgJXggY2hhbmdlICVkXG4iLCB3aWRnZXQtPnJlZywKKwkJIG9sZCwgbmV3LCBjaGFuZ2UpOwogCXJldHVybiBjaGFuZ2U7CiB9CiAKQEAgLTQ0OCw2ICs0NTMsMjUgQEAKIH0KIAogLyoKKyAqIEhhbmRsZXIgZm9yIGdlbmVyaWMgcmVnaXN0ZXIgbW9kaWZpZXIgd2lkZ2V0LgorICovCitpbnQgZGFwbV9yZWdfZXZlbnQoc3RydWN0IHNuZF9zb2NfZGFwbV93aWRnZXQgKncsCisJCSAgIHN0cnVjdCBzbmRfa2NvbnRyb2wgKmtjb250cm9sLCBpbnQgZXZlbnQpCit7CisJdW5zaWduZWQgaW50IHZhbDsKKworCWlmIChTTkRfU09DX0RBUE1fRVZFTlRfT04oZXZlbnQpKQorCQl2YWwgPSB3LT5vbl92YWw7CisJZWxzZQorCQl2YWwgPSB3LT5vZmZfdmFsOworCisJc25kX3NvY191cGRhdGVfYml0cyh3LT5jb2RlYywgLSh3LT5yZWcgKyAxKSwKKwkJCSAgICB3LT5tYXNrIDw8IHctPnNoaWZ0LCB2YWwgPDwgdy0+c2hpZnQpOworCisJcmV0dXJuIDA7Cit9CisKKy8qCiAgKiBTY2FuIGVhY2ggZGFwbSB3aWRnZXQgZm9yIGNvbXBsZXRlIGF1ZGlvIHBhdGguCiAgKiBBIGNvbXBsZXRlIHBhdGggaXMgYSByb3V0ZSB0aGF0IGhhcyB2YWxpZCBlbmRwb2ludHMgaS5lLjotCiAgKgpAQCAtNTY1LDggKzU4OSw4IEBACiAJCQkvKiBjYWxsIGFueSBwb3dlciBjaGFuZ2UgZXZlbnQgaGFuZGxlcnMgKi8KIAkJCWlmIChwb3dlcl9jaGFuZ2UpIHsKIAkJCQlpZiAody0+ZXZlbnQpIHsKLQkJCQkJZGJnKCJwb3dlciAlcyBldmVudCBmb3IgJXMgZmxhZ3MgJXhcbiIsCi0JCQkJCQl3LT5wb3dlciA/ICJvbiIgOiAib2ZmIiwgdy0+bmFtZSwgdy0+ZXZlbnRfZmxhZ3MpOworCQkJCQlwcl9kZWJ1ZygicG93ZXIgJXMgZXZlbnQgZm9yICVzIGZsYWdzICV4XG4iLAorCQkJCQkJIHctPnBvd2VyID8gIm9uIiA6ICJvZmYiLCB3LT5uYW1lLCB3LT5ldmVudF9mbGFncyk7CiAJCQkJCWlmIChwb3dlcikgewogCQkJCQkJLyogcG93ZXIgdXAgZXZlbnQgKi8KIAkJCQkJCWlmICh3LT5ldmVudF9mbGFncyAmIFNORF9TT0NfREFQTV9QUkVfUE1VKSB7CkBAIC02MDgsNyArNjMyLDcgQEAKIAlyZXR1cm4gcmV0OwogfQogCi0jaWYgREFQTV9ERUJVRworI2lmZGVmIERFQlVHCiBzdGF0aWMgdm9pZCBkYmdfZHVtcF9kYXBtKHN0cnVjdCBzbmRfc29jX2NvZGVjKiBjb2RlYywgY29uc3QgY2hhciAqYWN0aW9uKQogewogCXN0cnVjdCBzbmRfc29jX2RhcG1fd2lkZ2V0ICp3OwpAQCAtNjkzLDggKzcxNywxMCBAQAogCQkJcGF0aC0+Y29ubmVjdCA9IDA7IC8qIG9sZCBjb25uZWN0aW9uIG11c3QgYmUgcG93ZXJlZCBkb3duICovCiAJfQogCi0JaWYgKGZvdW5kKQorCWlmIChmb3VuZCkgewogCQlkYXBtX3Bvd2VyX3dpZGdldHMod2lkZ2V0LT5jb2RlYywgU05EX1NPQ19EQVBNX1NUUkVBTV9OT1ApOworCQlkdW1wX2RhcG0od2lkZ2V0LT5jb2RlYywgIm11eCBwb3dlciB1cGRhdGUiKTsKKwl9CiAKIAlyZXR1cm4gMDsKIH0KQEAgLTczMCw4ICs3NTYsMTAgQEAKIAkJYnJlYWs7CiAJfQogCi0JaWYgKGZvdW5kKQorCWlmIChmb3VuZCkgewogCQlkYXBtX3Bvd2VyX3dpZGdldHMod2lkZ2V0LT5jb2RlYywgU05EX1NPQ19EQVBNX1NUUkVBTV9OT1ApOworCQlkdW1wX2RhcG0od2lkZ2V0LT5jb2RlYywgIm1peGVyIHBvd2VyIHVwZGF0ZSIpOworCX0KIAogCXJldHVybiAwOwogfQpAQCAtNzY4LDIxICs3OTYsMTggQEAKIAkJfQogCX0KIAotCXN3aXRjaChjb2RlYy0+ZGFwbV9zdGF0ZSl7Ci0JY2FzZSBTTkRSVl9DVExfUE9XRVJfRDA6Ci0JCXN0YXRlID0gIkQwIjsKKwlzd2l0Y2ggKGNvZGVjLT5iaWFzX2xldmVsKSB7CisJY2FzZSBTTkRfU09DX0JJQVNfT046CisJCXN0YXRlID0gIk9uIjsKIAkJYnJlYWs7Ci0JY2FzZSBTTkRSVl9DVExfUE9XRVJfRDE6Ci0JCXN0YXRlID0gIkQxIjsKKwljYXNlIFNORF9TT0NfQklBU19QUkVQQVJFOgorCQlzdGF0ZSA9ICJQcmVwYXJlIjsKIAkJYnJlYWs7Ci0JY2FzZSBTTkRSVl9DVExfUE9XRVJfRDI6Ci0JCXN0YXRlID0gIkQyIjsKKwljYXNlIFNORF9TT0NfQklBU19TVEFOREJZOgorCQlzdGF0ZSA9ICJTdGFuZGJ5IjsKIAkJYnJlYWs7Ci0JY2FzZSBTTkRSVl9DVExfUE9XRVJfRDNob3Q6Ci0JCXN0YXRlID0gIkQzaG90IjsKLQkJYnJlYWs7Ci0JY2FzZSBTTkRSVl9DVExfUE9XRVJfRDNjb2xkOgotCQlzdGF0ZSA9ICJEM2NvbGQiOworCWNhc2UgU05EX1NPQ19CSUFTX09GRjoKKwkJc3RhdGUgPSAiT2ZmIjsKIAkJYnJlYWs7CiAJfQogCWNvdW50ICs9IHNwcmludGYoYnVmICsgY291bnQsICJQTSBTdGF0ZTogJXNcbiIsIHN0YXRlKTsKQEAgLTc5MiwyMCArODE3LDUxIEBACiAKIHN0YXRpYyBERVZJQ0VfQVRUUihkYXBtX3dpZGdldCwgMDQ0NCwgZGFwbV93aWRnZXRfc2hvdywgTlVMTCk7CiAKKy8qIHBvcC9jbGljayBkZWxheSB0aW1lcyAqLworc3RhdGljIHNzaXplX3QgZGFwbV9wb3BfdGltZV9zaG93KHN0cnVjdCBkZXZpY2UgKmRldiwKKwlzdHJ1Y3QgZGV2aWNlX2F0dHJpYnV0ZSAqYXR0ciwgY2hhciAqYnVmKQoreworCXJldHVybiBzcHJpbnRmKGJ1ZiwgIiVkXG4iLCBwb3BfdGltZSk7Cit9CisKK3N0YXRpYyBzc2l6ZV90IGRhcG1fcG9wX3RpbWVfc3RvcmUoc3RydWN0IGRldmljZSAqZGV2LAorCQkJCSAgIHN0cnVjdCBkZXZpY2VfYXR0cmlidXRlICphdHRyLAorCQkJCSAgIGNvbnN0IGNoYXIgKmJ1Ziwgc2l6ZV90IGNvdW50KQorCit7CisJdW5zaWduZWQgbG9uZyB2YWw7CisKKwlpZiAoc3RyaWN0X3N0cnRvdWwoYnVmLCAxMCwgJnZhbCkgPj0gMCkKKwkJcG9wX3RpbWUgPSB2YWw7CisJZWxzZQorCQlwcmludGsoS0VSTl9FUlIgIlVuYWJsZSB0byBwYXJzZSBwb3BfdGltZSBzZXR0aW5nXG4iKTsKKworCXJldHVybiBjb3VudDsKK30KKworc3RhdGljIERFVklDRV9BVFRSKGRhcG1fcG9wX3RpbWUsIDA3NDQsIGRhcG1fcG9wX3RpbWVfc2hvdywKKwkJICAgZGFwbV9wb3BfdGltZV9zdG9yZSk7CisKIGludCBzbmRfc29jX2RhcG1fc3lzX2FkZChzdHJ1Y3QgZGV2aWNlICpkZXYpCiB7CiAJaW50IHJldCA9IDA7CiAKLQlpZiAoZGFwbV9zdGF0dXMpCisJaWYgKGRhcG1fc3RhdHVzKSB7CiAJCXJldCA9IGRldmljZV9jcmVhdGVfZmlsZShkZXYsICZkZXZfYXR0cl9kYXBtX3dpZGdldCk7CiAKKwkJaWYgKHJldCA9PSAwKQorCQkJcmV0ID0gZGV2aWNlX2NyZWF0ZV9maWxlKGRldiwgJmRldl9hdHRyX2RhcG1fcG9wX3RpbWUpOworCX0KKwogCXJldHVybiByZXQ7CiB9CiAKIHN0YXRpYyB2b2lkIHNuZF9zb2NfZGFwbV9zeXNfcmVtb3ZlKHN0cnVjdCBkZXZpY2UgKmRldikKIHsKLQlpZiAoZGFwbV9zdGF0dXMpCisJaWYgKGRhcG1fc3RhdHVzKSB7CisJCWRldmljZV9yZW1vdmVfZmlsZShkZXYsICZkZXZfYXR0cl9kYXBtX3BvcF90aW1lKTsKIAkJZGV2aWNlX3JlbW92ZV9maWxlKGRldiwgJmRldl9hdHRyX2RhcG1fd2lkZ2V0KTsKKwl9CiB9CiAKIC8qIGZyZWUgYWxsIGRhcG0gd2lkZ2V0cyBhbmQgcmVzb3VyY2VzICovCkBAIC04MjYsOCArODgyLDI1IEBACiAJfQogfQogCitzdGF0aWMgaW50IHNuZF9zb2NfZGFwbV9zZXRfcGluKHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYywKKwljaGFyICpwaW4sIGludCBzdGF0dXMpCit7CisJc3RydWN0IHNuZF9zb2NfZGFwbV93aWRnZXQgKnc7CisKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5KHcsICZjb2RlYy0+ZGFwbV93aWRnZXRzLCBsaXN0KSB7CisJCWlmICghc3RyY21wKHctPm5hbWUsIHBpbikpIHsKKwkJCXByX2RlYnVnKCJkYXBtOiAlczogcGluICVzXG4iLCBjb2RlYy0+bmFtZSwgcGluKTsKKwkJCXctPmNvbm5lY3RlZCA9IHN0YXR1czsKKwkJCXJldHVybiAwOworCQl9CisJfQorCisJcHJfZXJyKCJkYXBtOiAlczogY29uZmlndXJpbmcgdW5rbm93biBwaW4gJXNcbiIsIGNvZGVjLT5uYW1lLCBwaW4pOworCXJldHVybiAtRUlOVkFMOworfQorCiAvKioKLSAqIHNuZF9zb2NfZGFwbV9zeW5jX2VuZHBvaW50cyAtIHNjYW4gYW5kIHBvd2VyIGRhcG0gcGF0aHMKKyAqIHNuZF9zb2NfZGFwbV9zeW5jIC0gc2NhbiBhbmQgcG93ZXIgZGFwbSBwYXRocwogICogQGNvZGVjOiBhdWRpbyBjb2RlYwogICoKICAqIFdhbGtzIGFsbCBkYXBtIGF1ZGlvIHBhdGhzIGFuZCBwb3dlcnMgd2lkZ2V0cyBhY2NvcmRpbmcgdG8gdGhlaXIKQEAgLTgzNSwyNyArOTA4LDE2IEBACiAgKgogICogUmV0dXJucyAwIGZvciBzdWNjZXNzLgogICovCi1pbnQgc25kX3NvY19kYXBtX3N5bmNfZW5kcG9pbnRzKHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYykKK2ludCBzbmRfc29jX2RhcG1fc3luYyhzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMpCiB7Ci0JcmV0dXJuIGRhcG1fcG93ZXJfd2lkZ2V0cyhjb2RlYywgU05EX1NPQ19EQVBNX1NUUkVBTV9OT1ApOworCWludCByZXQgPSBkYXBtX3Bvd2VyX3dpZGdldHMoY29kZWMsIFNORF9TT0NfREFQTV9TVFJFQU1fTk9QKTsKKwlkdW1wX2RhcG0oY29kZWMsICJzeW5jIik7CisJcmV0dXJuIHJldDsKIH0KLUVYUE9SVF9TWU1CT0xfR1BMKHNuZF9zb2NfZGFwbV9zeW5jX2VuZHBvaW50cyk7CitFWFBPUlRfU1lNQk9MX0dQTChzbmRfc29jX2RhcG1fc3luYyk7CiAKLS8qKgotICogc25kX3NvY19kYXBtX2Nvbm5lY3RfaW5wdXQgLSBjb25uZWN0IGRhcG0gd2lkZ2V0cwotICogQGNvZGVjOiBhdWRpbyBjb2RlYwotICogQHNpbms6IG5hbWUgb2YgdGFyZ2V0IHdpZGdldAotICogQGNvbnRyb2w6IG1peGVyIGNvbnRyb2wgbmFtZQotICogQHNvdXJjZTogbmFtZSBvZiBzb3VyY2UgbmFtZQotICoKLSAqIENvbm5lY3RzIDIgZGFwbSB3aWRnZXRzIHRvZ2V0aGVyIHZpYSBhIG5hbWVkIGF1ZGlvIHBhdGguIFRoZSBzaW5rIGlzCi0gKiB0aGUgd2lkZ2V0IHJlY2VpdmluZyB0aGUgYXVkaW8gc2lnbmFsLCB3aGlsc3QgdGhlIHNvdXJjZSBpcyB0aGUgc2VuZGVyCi0gKiBvZiB0aGUgYXVkaW8gc2lnbmFsLgotICoKLSAqIFJldHVybnMgMCBmb3Igc3VjY2VzcyBlbHNlIGVycm9yLgotICovCi1pbnQgc25kX3NvY19kYXBtX2Nvbm5lY3RfaW5wdXQoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjLCBjb25zdCBjaGFyICpzaW5rLAotCWNvbnN0IGNoYXIgKiBjb250cm9sLCBjb25zdCBjaGFyICpzb3VyY2UpCitzdGF0aWMgaW50IHNuZF9zb2NfZGFwbV9hZGRfcm91dGUoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjLAorCWNvbnN0IGNoYXIgKnNpbmssIGNvbnN0IGNoYXIgKmNvbnRyb2wsIGNvbnN0IGNoYXIgKnNvdXJjZSkKIHsKIAlzdHJ1Y3Qgc25kX3NvY19kYXBtX3BhdGggKnBhdGg7CiAJc3RydWN0IHNuZF9zb2NfZGFwbV93aWRnZXQgKndzb3VyY2UgPSBOVUxMLCAqd3NpbmsgPSBOVUxMLCAqdzsKQEAgLTk1Nyw5ICsxMDE5LDY0IEBACiAJa2ZyZWUocGF0aCk7CiAJcmV0dXJuIHJldDsKIH0KKworLyoqCisgKiBzbmRfc29jX2RhcG1fY29ubmVjdF9pbnB1dCAtIGNvbm5lY3QgZGFwbSB3aWRnZXRzCisgKiBAY29kZWM6IGF1ZGlvIGNvZGVjCisgKiBAc2luazogbmFtZSBvZiB0YXJnZXQgd2lkZ2V0CisgKiBAY29udHJvbDogbWl4ZXIgY29udHJvbCBuYW1lCisgKiBAc291cmNlOiBuYW1lIG9mIHNvdXJjZSBuYW1lCisgKgorICogQ29ubmVjdHMgMiBkYXBtIHdpZGdldHMgdG9nZXRoZXIgdmlhIGEgbmFtZWQgYXVkaW8gcGF0aC4gVGhlIHNpbmsgaXMKKyAqIHRoZSB3aWRnZXQgcmVjZWl2aW5nIHRoZSBhdWRpbyBzaWduYWwsIHdoaWxzdCB0aGUgc291cmNlIGlzIHRoZSBzZW5kZXIKKyAqIG9mIHRoZSBhdWRpbyBzaWduYWwuCisgKgorICogVGhpcyBmdW5jdGlvbiBoYXMgYmVlbiBkZXByZWNhdGVkIGluIGZhdm91ciBvZiBzbmRfc29jX2RhcG1fYWRkX3JvdXRlcygpLgorICoKKyAqIFJldHVybnMgMCBmb3Igc3VjY2VzcyBlbHNlIGVycm9yLgorICovCitpbnQgc25kX3NvY19kYXBtX2Nvbm5lY3RfaW5wdXQoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjLCBjb25zdCBjaGFyICpzaW5rLAorCWNvbnN0IGNoYXIgKmNvbnRyb2wsIGNvbnN0IGNoYXIgKnNvdXJjZSkKK3sKKwlyZXR1cm4gc25kX3NvY19kYXBtX2FkZF9yb3V0ZShjb2RlYywgc2luaywgY29udHJvbCwgc291cmNlKTsKK30KIEVYUE9SVF9TWU1CT0xfR1BMKHNuZF9zb2NfZGFwbV9jb25uZWN0X2lucHV0KTsKIAogLyoqCisgKiBzbmRfc29jX2RhcG1fYWRkX3JvdXRlcyAtIEFkZCByb3V0ZXMgYmV0d2VlbiBEQVBNIHdpZGdldHMKKyAqIEBjb2RlYzogY29kZWMKKyAqIEByb3V0ZTogYXVkaW8gcm91dGVzCisgKiBAbnVtOiBudW1iZXIgb2Ygcm91dGVzCisgKgorICogQ29ubmVjdHMgMiBkYXBtIHdpZGdldHMgdG9nZXRoZXIgdmlhIGEgbmFtZWQgYXVkaW8gcGF0aC4gVGhlIHNpbmsgaXMKKyAqIHRoZSB3aWRnZXQgcmVjZWl2aW5nIHRoZSBhdWRpbyBzaWduYWwsIHdoaWxzdCB0aGUgc291cmNlIGlzIHRoZSBzZW5kZXIKKyAqIG9mIHRoZSBhdWRpbyBzaWduYWwuCisgKgorICogUmV0dXJucyAwIGZvciBzdWNjZXNzIGVsc2UgZXJyb3IuIE9uIGVycm9yIGFsbCByZXNvdXJjZXMgY2FuIGJlIGZyZWVkCisgKiB3aXRoIGEgY2FsbCB0byBzbmRfc29jX2NhcmRfZnJlZSgpLgorICovCitpbnQgc25kX3NvY19kYXBtX2FkZF9yb3V0ZXMoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjLAorCQkJICAgIGNvbnN0IHN0cnVjdCBzbmRfc29jX2RhcG1fcm91dGUgKnJvdXRlLCBpbnQgbnVtKQoreworCWludCBpLCByZXQ7CisKKwlmb3IgKGkgPSAwOyBpIDwgbnVtOyBpKyspIHsKKwkJcmV0ID0gc25kX3NvY19kYXBtX2FkZF9yb3V0ZShjb2RlYywgcm91dGUtPnNpbmssCisJCQkJCSAgICAgcm91dGUtPmNvbnRyb2wsIHJvdXRlLT5zb3VyY2UpOworCQlpZiAocmV0IDwgMCkgeworCQkJcHJpbnRrKEtFUk5fRVJSICJGYWlsZWQgdG8gYWRkIHJvdXRlICVzLT4lc1xuIiwKKwkJCSAgICAgICByb3V0ZS0+c291cmNlLAorCQkJICAgICAgIHJvdXRlLT5zaW5rKTsKKwkJCXJldHVybiByZXQ7CisJCX0KKwkJcm91dGUrKzsKKwl9CisKKwlyZXR1cm4gMDsKK30KK0VYUE9SVF9TWU1CT0xfR1BMKHNuZF9zb2NfZGFwbV9hZGRfcm91dGVzKTsKKworLyoqCiAgKiBzbmRfc29jX2RhcG1fbmV3X3dpZGdldHMgLSBhZGQgbmV3IGRhcG0gd2lkZ2V0cwogICogQGNvZGVjOiBhdWRpbyBjb2RlYwogICoKQEAgLTEyMzQsNiArMTM1MSwzMyBAQAogRVhQT1JUX1NZTUJPTF9HUEwoc25kX3NvY19kYXBtX25ld19jb250cm9sKTsKIAogLyoqCisgKiBzbmRfc29jX2RhcG1fbmV3X2NvbnRyb2xzIC0gY3JlYXRlIG5ldyBkYXBtIGNvbnRyb2xzCisgKiBAY29kZWM6IGF1ZGlvIGNvZGVjCisgKiBAd2lkZ2V0OiB3aWRnZXQgYXJyYXkKKyAqIEBudW06IG51bWJlciBvZiB3aWRnZXRzCisgKgorICogQ3JlYXRlcyBuZXcgREFQTSBjb250cm9scyBiYXNlZCB1cG9uIHRoZSB0ZW1wbGF0ZXMuCisgKgorICogUmV0dXJucyAwIGZvciBzdWNjZXNzIGVsc2UgZXJyb3IuCisgKi8KK2ludCBzbmRfc29jX2RhcG1fbmV3X2NvbnRyb2xzKHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYywKKwljb25zdCBzdHJ1Y3Qgc25kX3NvY19kYXBtX3dpZGdldCAqd2lkZ2V0LAorCWludCBudW0pCit7CisJaW50IGksIHJldDsKKworCWZvciAoaSA9IDA7IGkgPCBudW07IGkrKykgeworCQlyZXQgPSBzbmRfc29jX2RhcG1fbmV3X2NvbnRyb2woY29kZWMsIHdpZGdldCk7CisJCWlmIChyZXQgPCAwKQorCQkJcmV0dXJuIHJldDsKKwkJd2lkZ2V0Kys7CisJfQorCXJldHVybiAwOworfQorRVhQT1JUX1NZTUJPTF9HUEwoc25kX3NvY19kYXBtX25ld19jb250cm9scyk7CisKKworLyoqCiAgKiBzbmRfc29jX2RhcG1fc3RyZWFtX2V2ZW50IC0gc2VuZCBhIHN0cmVhbSBldmVudCB0byB0aGUgZGFwbSBjb3JlCiAgKiBAY29kZWM6IGF1ZGlvIGNvZGVjCiAgKiBAc3RyZWFtOiBzdHJlYW0gbmFtZQpAQCAtMTI1Nyw4ICsxNDAxLDggQEAKIAl7CiAJCWlmICghdy0+c25hbWUpCiAJCQljb250aW51ZTsKLQkJZGJnKCJ3aWRnZXQgJXNcbiAlcyBzdHJlYW0gJXMgZXZlbnQgJWRcbiIsIHctPm5hbWUsIHctPnNuYW1lLAotCQkJc3RyZWFtLCBldmVudCk7CisJCXByX2RlYnVnKCJ3aWRnZXQgJXNcbiAlcyBzdHJlYW0gJXMgZXZlbnQgJWRcbiIsCisJCQkgdy0+bmFtZSwgdy0+c25hbWUsIHN0cmVhbSwgZXZlbnQpOwogCQlpZiAoc3Ryc3RyKHctPnNuYW1lLCBzdHJlYW0pKSB7CiAJCQlzd2l0Y2goZXZlbnQpIHsKIAkJCWNhc2UgU05EX1NPQ19EQVBNX1NUUkVBTV9TVEFSVDoKQEAgLTEyOTQsNTMgKzE0MzgsODEgQEAKIEVYUE9SVF9TWU1CT0xfR1BMKHNuZF9zb2NfZGFwbV9zdHJlYW1fZXZlbnQpOwogCiAvKioKLSAqIHNuZF9zb2NfZGFwbV9kZXZpY2VfZXZlbnQgLSBzZW5kIGEgZGV2aWNlIGV2ZW50IHRvIHRoZSBkYXBtIGNvcmUKKyAqIHNuZF9zb2NfZGFwbV9zZXRfYmlhc19sZXZlbCAtIHNldCB0aGUgYmlhcyBsZXZlbCBmb3IgdGhlIHN5c3RlbQogICogQHNvY2RldjogYXVkaW8gZGV2aWNlCi0gKiBAZXZlbnQ6IGRldmljZSBldmVudAorICogQGxldmVsOiBsZXZlbCB0byBjb25maWd1cmUKICAqCi0gKiBTZW5kcyBhIGRldmljZSBldmVudCB0byB0aGUgZGFwbSBjb3JlLiBUaGUgY29yZSB0aGVuIG1ha2VzIGFueQotICogbmVjZXNzYXJ5IG1hY2hpbmUgb3IgY29kZWMgcG93ZXIgY2hhbmdlcy4uCisgKiBDb25maWd1cmUgdGhlIGJpYXMgKHBvd2VyKSBsZXZlbHMgZm9yIHRoZSBTb0MgYXVkaW8gZGV2aWNlLgogICoKICAqIFJldHVybnMgMCBmb3Igc3VjY2VzcyBlbHNlIGVycm9yLgogICovCi1pbnQgc25kX3NvY19kYXBtX2RldmljZV9ldmVudChzdHJ1Y3Qgc25kX3NvY19kZXZpY2UgKnNvY2RldiwgaW50IGV2ZW50KQoraW50IHNuZF9zb2NfZGFwbV9zZXRfYmlhc19sZXZlbChzdHJ1Y3Qgc25kX3NvY19kZXZpY2UgKnNvY2RldiwKKwkJCQllbnVtIHNuZF9zb2NfYmlhc19sZXZlbCBsZXZlbCkKIHsKIAlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBzb2NkZXYtPmNvZGVjOwogCXN0cnVjdCBzbmRfc29jX21hY2hpbmUgKm1hY2hpbmUgPSBzb2NkZXYtPm1hY2hpbmU7CisJaW50IHJldCA9IDA7CiAKLQlpZiAobWFjaGluZS0+ZGFwbV9ldmVudCkKLQkJbWFjaGluZS0+ZGFwbV9ldmVudChtYWNoaW5lLCBldmVudCk7Ci0JaWYgKGNvZGVjLT5kYXBtX2V2ZW50KQotCQljb2RlYy0+ZGFwbV9ldmVudChjb2RlYywgZXZlbnQpOwotCXJldHVybiAwOworCWlmIChtYWNoaW5lLT5zZXRfYmlhc19sZXZlbCkKKwkJcmV0ID0gbWFjaGluZS0+c2V0X2JpYXNfbGV2ZWwobWFjaGluZSwgbGV2ZWwpOworCWlmIChyZXQgPT0gMCAmJiBjb2RlYy0+c2V0X2JpYXNfbGV2ZWwpCisJCXJldCA9IGNvZGVjLT5zZXRfYmlhc19sZXZlbChjb2RlYywgbGV2ZWwpOworCisJcmV0dXJuIHJldDsKIH0KLUVYUE9SVF9TWU1CT0xfR1BMKHNuZF9zb2NfZGFwbV9kZXZpY2VfZXZlbnQpOwogCiAvKioKLSAqIHNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQgLSBzZXQgYXVkaW8gZW5kcG9pbnQgc3RhdHVzCi0gKiBAY29kZWM6IGF1ZGlvIGNvZGVjCi0gKiBAZW5kcG9pbnQ6IGF1ZGlvIHNpZ25hbCBlbmRwb2ludCAob3Igc3RhcnQgcG9pbnQpCi0gKiBAc3RhdHVzOiBwb2ludCBzdGF0dXMKKyAqIHNuZF9zb2NfZGFwbV9lbmFibGVfcGluIC0gZW5hYmxlIHBpbi4KKyAqIEBzbmRfc29jX2NvZGVjOiBTb0MgY29kZWMKKyAqIEBwaW46IHBpbiBuYW1lCiAgKgotICogU2V0IGF1ZGlvIGVuZHBvaW50IHN0YXR1cyAtIGNvbm5lY3RlZCBvciBkaXNjb25uZWN0ZWQuCi0gKgotICogUmV0dXJucyAwIGZvciBzdWNjZXNzIGVsc2UgZXJyb3IuCisgKiBFbmFibGVzIGlucHV0L291dHB1dCBwaW4gYW5kIGl0J3MgcGFyZW50cyBvciBjaGlsZHJlbiB3aWRnZXRzIGlmZiB0aGVyZSBpcworICogYSB2YWxpZCBhdWRpbyByb3V0ZSBhbmQgYWN0aXZlIGF1ZGlvIHN0cmVhbS4KKyAqIE5PVEU6IHNuZF9zb2NfZGFwbV9zeW5jKCkgbmVlZHMgdG8gYmUgY2FsbGVkIGFmdGVyIHRoaXMgZm9yIERBUE0gdG8KKyAqIGRvIGFueSB3aWRnZXQgcG93ZXIgc3dpdGNoaW5nLgogICovCi1pbnQgc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMsCi0JY2hhciAqZW5kcG9pbnQsIGludCBzdGF0dXMpCitpbnQgc25kX3NvY19kYXBtX2VuYWJsZV9waW4oc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjLCBjaGFyICpwaW4pCit7CisJcmV0dXJuIHNuZF9zb2NfZGFwbV9zZXRfcGluKGNvZGVjLCBwaW4sIDEpOworfQorRVhQT1JUX1NZTUJPTF9HUEwoc25kX3NvY19kYXBtX2VuYWJsZV9waW4pOworCisvKioKKyAqIHNuZF9zb2NfZGFwbV9kaXNhYmxlX3BpbiAtIGRpc2FibGUgcGluLgorICogQGNvZGVjOiBTb0MgY29kZWMKKyAqIEBwaW46IHBpbiBuYW1lCisgKgorICogRGlzYWJsZXMgaW5wdXQvb3V0cHV0IHBpbiBhbmQgaXQncyBwYXJlbnRzIG9yIGNoaWxkcmVuIHdpZGdldHMuCisgKiBOT1RFOiBzbmRfc29jX2RhcG1fc3luYygpIG5lZWRzIHRvIGJlIGNhbGxlZCBhZnRlciB0aGlzIGZvciBEQVBNIHRvCisgKiBkbyBhbnkgd2lkZ2V0IHBvd2VyIHN3aXRjaGluZy4KKyAqLworaW50IHNuZF9zb2NfZGFwbV9kaXNhYmxlX3BpbihzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMsIGNoYXIgKnBpbikKK3sKKwlyZXR1cm4gc25kX3NvY19kYXBtX3NldF9waW4oY29kZWMsIHBpbiwgMCk7Cit9CitFWFBPUlRfU1lNQk9MX0dQTChzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4pOworCisvKioKKyAqIHNuZF9zb2NfZGFwbV9nZXRfcGluX3N0YXR1cyAtIGdldCBhdWRpbyBwaW4gc3RhdHVzCisgKiBAY29kZWM6IGF1ZGlvIGNvZGVjCisgKiBAcGluOiBhdWRpbyBzaWduYWwgcGluIGVuZHBvaW50IChvciBzdGFydCBwb2ludCkKKyAqCisgKiBHZXQgYXVkaW8gcGluIHN0YXR1cyAtIGNvbm5lY3RlZCBvciBkaXNjb25uZWN0ZWQuCisgKgorICogUmV0dXJucyAxIGZvciBjb25uZWN0ZWQgb3RoZXJ3aXNlIDAuCisgKi8KK2ludCBzbmRfc29jX2RhcG1fZ2V0X3Bpbl9zdGF0dXMoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjLCBjaGFyICpwaW4pCiB7CiAJc3RydWN0IHNuZF9zb2NfZGFwbV93aWRnZXQgKnc7CiAKIAlsaXN0X2Zvcl9lYWNoX2VudHJ5KHcsICZjb2RlYy0+ZGFwbV93aWRnZXRzLCBsaXN0KSB7Ci0JCWlmICghc3RyY21wKHctPm5hbWUsIGVuZHBvaW50KSkgewotCQkJdy0+Y29ubmVjdGVkID0gc3RhdHVzOwotCQkJcmV0dXJuIDA7Ci0JCX0KKwkJaWYgKCFzdHJjbXAody0+bmFtZSwgcGluKSkKKwkJCXJldHVybiB3LT5jb25uZWN0ZWQ7CiAJfQogCi0JcmV0dXJuIC1FTk9ERVY7CisJcmV0dXJuIDA7CiB9Ci1FWFBPUlRfU1lNQk9MX0dQTChzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KTsKK0VYUE9SVF9TWU1CT0xfR1BMKHNuZF9zb2NfZGFwbV9nZXRfcGluX3N0YXR1cyk7CiAKIC8qKgogICogc25kX3NvY19kYXBtX2ZyZWUgLSBmcmVlIGRhcG0gcmVzb3VyY2VzCmRpZmYgLS1naXQgYS9zb3VuZC9zb3VuZF9jb3JlLmMgYi9zb3VuZC9zb3VuZF9jb3JlLmMKaW5kZXggNDZkYWNhMS4uZGNmYzFkNSAxMDA2NDQKLS0tIGEvc291bmQvc291bmRfY29yZS5jCisrKyBiL3NvdW5kL3NvdW5kX2NvcmUuYwpAQCAtMzcsNiArMzcsNyBAQAogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KICNpbmNsdWRlIDxsaW51eC9zbGFiLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgogI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgogI2luY2x1ZGUgPGxpbnV4L2ZzLmg+CkBAIC00NjQsNiArNDY1LDggQEAKIAlzdHJ1Y3Qgc291bmRfdW5pdCAqczsKIAljb25zdCBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zICpuZXdfZm9wcyA9IE5VTEw7CiAKKwlsb2NrX2tlcm5lbCAoKTsKKwogCWNoYWluPXVuaXQmMHgwRjsKIAlpZihjaGFpbj09NCB8fCBjaGFpbj09NSkJLyogZHNwL2F1ZGlvL2RzcDE2ICovCiAJewpAQCAtNTExLDkgKzUxNCwxMSBAQAogCQkJZmlsZS0+Zl9vcCA9IGZvcHNfZ2V0KG9sZF9mb3BzKTsKIAkJfQogCQlmb3BzX3B1dChvbGRfZm9wcyk7CisJCXVubG9ja19rZXJuZWwoKTsKIAkJcmV0dXJuIGVycjsKIAl9CiAJc3Bpbl91bmxvY2soJnNvdW5kX2xvYWRlcl9sb2NrKTsKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIC1FTk9ERVY7CiB9CiAKZGlmZiAtLWdpdCBhL3NvdW5kL3NwYXJjL0tjb25maWcgYi9zb3VuZC9zcGFyYy9LY29uZmlnCmluZGV4IDA3OWUyMmEuLmQ3NWRlYmEgMTAwNjQ0Ci0tLSBhL3NvdW5kL3NwYXJjL0tjb25maWcKKysrIGIvc291bmQvc3BhcmMvS2NvbmZpZwpAQCAtMSwxMSArMSwxNyBAQAogIyBBTFNBIFNwYXJjIGRyaXZlcnMKIAotbWVudSAiQUxTQSBTcGFyYyBkZXZpY2VzIgotCWRlcGVuZHMgb24gU05EIT1uICYmIFNQQVJDCittZW51Y29uZmlnIFNORF9TUEFSQworCWJvb2wgIlNwYXJjIHNvdW5kIGRldmljZXMiCisJZGVwZW5kcyBvbiBTUEFSQworCWRlZmF1bHQgeQorCWhlbHAKKwkgIFN1cHBvcnQgZm9yIHNvdW5kIGRldmljZXMgc3BlY2lmaWMgdG8gU3VuIFNQQVJDIGFyY2hpdGVjdHVyZXMuCisKK2lmIFNORF9TUEFSQwogCiBjb25maWcgU05EX1NVTl9BTUQ3OTMwCiAJdHJpc3RhdGUgIlN1biBBTUQ3OTMwIgotCWRlcGVuZHMgb24gU0JVUyAmJiBTTkQKKwlkZXBlbmRzIG9uIFNCVVMKIAlzZWxlY3QgU05EX1BDTQogCWhlbHAKIAkgIFNheSBZIGhlcmUgdG8gaW5jbHVkZSBzdXBwb3J0IGZvciBBTUQ3OTMwIHNvdW5kIGRldmljZSBvbiBTdW4uCkBAIC0xNSw3ICsyMSw2IEBACiAKIGNvbmZpZyBTTkRfU1VOX0NTNDIzMQogCXRyaXN0YXRlICJTdW4gQ1M0MjMxIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9QQ00KIAloZWxwCiAJICBTYXkgWSBoZXJlIHRvIGluY2x1ZGUgc3VwcG9ydCBmb3IgQ1M0MjMxIHNvdW5kIGRldmljZSBvbiBTdW4uCkBAIC0yNSw3ICszMCw3IEBACiAKIGNvbmZpZyBTTkRfU1VOX0RCUkkKIAl0cmlzdGF0ZSAiU3VuIERCUkkiCi0JZGVwZW5kcyBvbiBTTkQgJiYgU0JVUworCWRlcGVuZHMgb24gU0JVUwogCXNlbGVjdCBTTkRfUENNCiAJaGVscAogCSAgU2F5IFkgaGVyZSB0byBpbmNsdWRlIHN1cHBvcnQgZm9yIERCUkkgc291bmQgZGV2aWNlIG9uIFN1bi4KQEAgLTMzLDQgKzM4LDQgQEAKIAkgIFRvIGNvbXBpbGUgdGhpcyBkcml2ZXIgYXMgYSBtb2R1bGUsIGNob29zZSBNIGhlcmU6IHRoZSBtb2R1bGUKIAkgIHdpbGwgYmUgY2FsbGVkIHNuZC1zdW4tZGJyaS4KIAotZW5kbWVudQorZW5kaWYJIyBTTkRfU1BBUkMKZGlmZiAtLWdpdCBhL3NvdW5kL3NwYXJjL2RicmkuYyBiL3NvdW5kL3NwYXJjL2RicmkuYwppbmRleCAzZDAwZTA3Li5lZTJlMWI0IDEwMDY0NAotLS0gYS9zb3VuZC9zcGFyYy9kYnJpLmMKKysrIGIvc291bmQvc3BhcmMvZGJyaS5jCkBAIC0yNDkwLDcgKzI0OTAsNyBAQAogfQogI2VuZGlmCiAKLXZvaWQgX19kZXZpbml0IHNuZF9kYnJpX3Byb2Moc3RydWN0IHNuZF9jYXJkICpjYXJkKQorc3RhdGljIHZvaWQgX19kZXZpbml0IHNuZF9kYnJpX3Byb2Moc3RydWN0IHNuZF9jYXJkICpjYXJkKQogewogCXN0cnVjdCBzbmRfZGJyaSAqZGJyaSA9IGNhcmQtPnByaXZhdGVfZGF0YTsKIAlzdHJ1Y3Qgc25kX2luZm9fZW50cnkgKmVudHJ5OwpkaWZmIC0tZ2l0IGEvc291bmQvc3BpL0tjb25maWcgYi9zb3VuZC9zcGkvS2NvbmZpZwppbmRleCAwZDA4YzI5Li5lNjQ4NWJlIDEwMDY0NAotLS0gYS9zb3VuZC9zcGkvS2NvbmZpZworKysgYi9zb3VuZC9zcGkvS2NvbmZpZwpAQCAtMSw3ICsxLDEzIEBACiAjU1BJIGRyaXZlcnMKIAotbWVudSAiU1BJIGRldmljZXMiCi0JZGVwZW5kcyBvbiBTTkQgIT0gbgorbWVudWNvbmZpZyBTTkRfU1BJCisJYm9vbCAiU1BJIHNvdW5kIGRldmljZXMiCisJZGVwZW5kcyBvbiBTUEkKKwlkZWZhdWx0IHkKKwloZWxwCisJICBTdXBwb3J0IGZvciBzb3VuZCBkZXZpY2VzIGNvbm5lY3RlZCB2aWEgdGhlIFNQSSBidXMuCisKK2lmIFNORF9TUEkKIAogY29uZmlnIFNORF9BVDczQzIxMwogCXRyaXN0YXRlICJBdG1lbCBBVDczQzIxMyBEQUMgZHJpdmVyIgpAQCAtMjgsNCArMzQsNSBAQAogCiAJICBTZXQgdG8gNDgwMDAgSHogYnkgZGVmYXVsdC4KIAotZW5kbWVudQorZW5kaWYJIyBTTkRfU1BJCisKZGlmZiAtLWdpdCBhL3NvdW5kL3VzYi9LY29uZmlnIGIvc291bmQvdXNiL0tjb25maWcKaW5kZXggOTM1MWI4YS4uZmZjZGM4ZiAxMDA2NDQKLS0tIGEvc291bmQvdXNiL0tjb25maWcKKysrIGIvc291bmQvdXNiL0tjb25maWcKQEAgLTEsMTEgKzEsMTYgQEAKICMgQUxTQSBVU0IgZHJpdmVycwogCi1tZW51ICJVU0IgZGV2aWNlcyIKLQlkZXBlbmRzIG9uIFNORCE9biAmJiBVU0IhPW4KK21lbnVjb25maWcgU05EX1VTQgorCWJvb2wgIlVTQiBzb3VuZCBkZXZpY2VzIgorCWRlcGVuZHMgb24gVVNCCisJZGVmYXVsdCB5CisJaGVscAorCSAgU3VwcG9ydCBmb3Igc291bmQgZGV2aWNlcyBjb25uZWN0ZWQgdmlhIHRoZSBVU0IgYnVzLgorCitpZiBTTkRfVVNCICYmIFVTQgogCiBjb25maWcgU05EX1VTQl9BVURJTwogCXRyaXN0YXRlICJVU0IgQXVkaW8vTUlESSBkcml2ZXIiCi0JZGVwZW5kcyBvbiBTTkQgJiYgVVNCCiAJc2VsZWN0IFNORF9IV0RFUAogCXNlbGVjdCBTTkRfUkFXTUlESQogCXNlbGVjdCBTTkRfUENNCkBAIC0xOCw3ICsyMyw3IEBACiAKIGNvbmZpZyBTTkRfVVNCX1VTWDJZCiAJdHJpc3RhdGUgIlRhc2NhbSBVUy0xMjIsIFVTLTIyNCBhbmQgVVMtNDI4IFVTQiBkcml2ZXIiCi0JZGVwZW5kcyBvbiBTTkQgJiYgVVNCICYmIChYODYgfHwgUFBDIHx8IEFMUEhBKQorCWRlcGVuZHMgb24gWDg2IHx8IFBQQyB8fCBBTFBIQQogCXNlbGVjdCBTTkRfSFdERVAKIAlzZWxlY3QgU05EX1JBV01JREkKIAlzZWxlY3QgU05EX1BDTQpAQCAtMzEsNyArMzYsNiBAQAogCiBjb25maWcgU05EX1VTQl9DQUlBUQogCXRyaXN0YXRlICJOYXRpdmUgSW5zdHJ1bWVudHMgVVNCIGF1ZGlvIGRldmljZXMiCi0JZGVwZW5kcyBvbiBTTkQgJiYgVVNCCiAJc2VsZWN0IFNORF9IV0RFUAogCXNlbGVjdCBTTkRfUkFXTUlESQogCXNlbGVjdCBTTkRfUENNCkBAIC02Myw1ICs2Nyw1IEBACiAJICAgKiBOYXRpdmUgSW5zdHJ1bWVudHMgS29yZSBDb250cm9sbGVyIDIKIAkgICAqIE5hdGl2ZSBJbnN0cnVtZW50cyBBdWRpbyBLb250cm9sIDEKIAotZW5kbWVudQorZW5kaWYJIyBTTkRfVVNCCiAKZGlmZiAtLWdpdCBhL3NvdW5kL3VzYi9jYWlhcS9jYWlhcS1hdWRpby5jIGIvc291bmQvdXNiL2NhaWFxL2NhaWFxLWF1ZGlvLmMKaW5kZXggMjQ5NzBhNS4uYjNhNjAzMyAxMDA2NDQKLS0tIGEvc291bmQvdXNiL2NhaWFxL2NhaWFxLWF1ZGlvLmMKKysrIGIvc291bmQvdXNiL2NhaWFxL2NhaWFxLWF1ZGlvLmMKQEAgLTYzNyw2ICs2MzcsNyBAQAogCXN3aXRjaCAoZGV2LT5jaGlwLnVzYl9pZCkgewogCWNhc2UgVVNCX0lEKFVTQl9WSURfTkFUSVZFSU5TVFJVTUVOVFMsIFVTQl9QSURfQUsxKToKIAljYXNlIFVTQl9JRChVU0JfVklEX05BVElWRUlOU1RSVU1FTlRTLCBVU0JfUElEX1JJR0tPTlRST0wzKToKKwljYXNlIFVTQl9JRChVU0JfVklEX05BVElWRUlOU1RSVU1FTlRTLCBVU0JfUElEX1NFU1NJT05JTyk6CiAJCWRldi0+c2FtcGxlcmF0ZXMgfD0gU05EUlZfUENNX1JBVEVfODgyMDA7CiAJCWRldi0+c2FtcGxlcmF0ZXMgfD0gU05EUlZfUENNX1JBVEVfMTkyMDAwOwogCQlicmVhazsKZGlmZiAtLWdpdCBhL3NvdW5kL3VzYi9jYWlhcS9jYWlhcS1kZXZpY2UuYyBiL3NvdW5kL3VzYi9jYWlhcS9jYWlhcS1kZXZpY2UuYwppbmRleCBhOTcyZjc3Li44MzE3NTA4IDEwMDY0NAotLS0gYS9zb3VuZC91c2IvY2FpYXEvY2FpYXEtZGV2aWNlLmMKKysrIGIvc291bmQvdXNiL2NhaWFxL2NhaWFxLWRldmljZS5jCkBAIC00MiwxNCArNDIsMTUgQEAKICNlbmRpZgogCiBNT0RVTEVfQVVUSE9SKCJEYW5pZWwgTWFjayA8ZGFuaWVsQGNhaWFxLmRlPiIpOwotTU9EVUxFX0RFU0NSSVBUSU9OKCJjYWlhcSBVU0IgYXVkaW8sIHZlcnNpb24gMS4zLjYiKTsKK01PRFVMRV9ERVNDUklQVElPTigiY2FpYXEgVVNCIGF1ZGlvLCB2ZXJzaW9uIDEuMy44Iik7CiBNT0RVTEVfTElDRU5TRSgiR1BMIik7CiBNT0RVTEVfU1VQUE9SVEVEX0RFVklDRSgie3tOYXRpdmUgSW5zdHJ1bWVudHMsIFJpZ0tvbnRyb2wyfSwiCiAJCQkgIntOYXRpdmUgSW5zdHJ1bWVudHMsIFJpZ0tvbnRyb2wzfSwiCiAJCQkgIntOYXRpdmUgSW5zdHJ1bWVudHMsIEtvcmUgQ29udHJvbGxlcn0sIgogCQkJICJ7TmF0aXZlIEluc3RydW1lbnRzLCBLb3JlIENvbnRyb2xsZXIgMn0sIgotCQkJICJ7TmF0aXZlIEluc3RydW1lbnRzLCBBdWRpbyBLb250cm9sIDF9IgotCQkJICJ7TmF0aXZlIEluc3RydW1lbnRzLCBBdWRpbyA4IERKfX0iKTsKKwkJCSAie05hdGl2ZSBJbnN0cnVtZW50cywgQXVkaW8gS29udHJvbCAxfSwiCisJCQkgIntOYXRpdmUgSW5zdHJ1bWVudHMsIEF1ZGlvIDggREp9LCIKKwkJCSAie05hdGl2ZSBJbnN0cnVtZW50cywgU2Vzc2lvbiBJL099fSIpOwogCiBzdGF0aWMgaW50IGluZGV4W1NORFJWX0NBUkRTXSA9IFNORFJWX0RFRkFVTFRfSURYOyAvKiBJbmRleCAwLW1heCAqLwogc3RhdGljIGNoYXIqIGlkW1NORFJWX0NBUkRTXSA9IFNORFJWX0RFRkFVTFRfU1RSOyAvKiBJZCBmb3IgdGhpcyBjYXJkICovCkBAIC0xMTAsNiArMTExLDExIEBACiAJCS5pZFZlbmRvciA9ICAgICBVU0JfVklEX05BVElWRUlOU1RSVU1FTlRTLAogCQkuaWRQcm9kdWN0ID0gICAgVVNCX1BJRF9BVURJTzhESgogCX0sCisJeworCQkubWF0Y2hfZmxhZ3MgPSAgVVNCX0RFVklDRV9JRF9NQVRDSF9ERVZJQ0UsCisJCS5pZFZlbmRvciA9ICAgICBVU0JfVklEX05BVElWRUlOU1RSVU1FTlRTLAorCQkuaWRQcm9kdWN0ID0gICAgVVNCX1BJRF9TRVNTSU9OSU8KKwl9LAogCXsgLyogdGVybWluYXRvciAqLyB9CiB9OwogCmRpZmYgLS1naXQgYS9zb3VuZC91c2IvY2FpYXEvY2FpYXEtZGV2aWNlLmggYi9zb3VuZC91c2IvY2FpYXEvY2FpYXEtZGV2aWNlLmgKaW5kZXggOTZhNDkxMy4uZjlmYmRiYWUgMTAwNjQ0Ci0tLSBhL3NvdW5kL3VzYi9jYWlhcS9jYWlhcS1kZXZpY2UuaAorKysgYi9zb3VuZC91c2IvY2FpYXEvY2FpYXEtZGV2aWNlLmgKQEAgLTExLDYgKzExLDcgQEAKICNkZWZpbmUgVVNCX1BJRF9LT1JFQ09OVFJPTExFUjIJMHg0NzEyCiAjZGVmaW5lIFVTQl9QSURfQUsxCQkweDA4MTUKICNkZWZpbmUgVVNCX1BJRF9BVURJTzhESgkweDE5NzgKKyNkZWZpbmUgVVNCX1BJRF9TRVNTSU9OSU8JMHgxOTE1CiAKICNkZWZpbmUgRVAxX0JVRlNJWkUgNjQKICNkZWZpbmUgQ0FJQVFfVVNCX1NUUl9MRU4gMHhmZgpkaWZmIC0tZ2l0IGEvc291bmQvdXNiL3VzYmF1ZGlvLmMgYi9zb3VuZC91c2IvdXNiYXVkaW8uYwppbmRleCA0MTBiZTRhLi5iOGNmYjdjIDEwMDY0NAotLS0gYS9zb3VuZC91c2IvdXNiYXVkaW8uYworKysgYi9zb3VuZC91c2IvdXNiYXVkaW8uYwpAQCAtODE5LDEwICs4MTksNiBAQAogCQlyZXR1cm4gImRldmljZSBkaXNhYmxlZCI7CiAJY2FzZSAtRUhPU1RVTlJFQUNIOgogCQlyZXR1cm4gImRldmljZSBzdXNwZW5kZWQiOwotI2lmbmRlZiBDT05GSUdfVVNCX0VIQ0lfU1BMSVRfSVNPCi0JY2FzZSAtRU5PU1lTOgotCQlyZXR1cm4gImVuYWJsZSBDT05GSUdfVVNCX0VIQ0lfU1BMSVRfSVNPIHRvIHBsYXkgdGhyb3VnaCBhIGh1YiI7Ci0jZW5kaWYKIAljYXNlIC1FSU5WQUw6CiAJY2FzZSAtRUFHQUlOOgogCWNhc2UgLUVGQklHOgpkaWZmIC0tZ2l0IGEvc291bmQvdXNiL3VzYnF1aXJrcy5oIGIvc291bmQvdXNiL3VzYnF1aXJrcy5oCmluZGV4IDgyYThkMTQuLjllYTcyNmMgMTAwNjQ0Ci0tLSBhL3NvdW5kL3VzYi91c2JxdWlya3MuaAorKysgYi9zb3VuZC91c2IvdXNicXVpcmtzLmgKQEAgLTIxMCw2ICsyMTAsMTEgQEAKIFlBTUFIQV9ERVZJQ0UoMHgxMDQzLCBOVUxMKSwKIFlBTUFIQV9ERVZJQ0UoMHgxMDQ0LCBOVUxMKSwKIFlBTUFIQV9ERVZJQ0UoMHgxMDQ1LCBOVUxMKSwKK1lBTUFIQV9JTlRFUkZBQ0UoMHgxMDRlLCAwLCBOVUxMKSwKK1lBTUFIQV9ERVZJQ0UoMHgxMDRmLCBOVUxMKSwKK1lBTUFIQV9ERVZJQ0UoMHgxMDUwLCBOVUxMKSwKK1lBTUFIQV9ERVZJQ0UoMHgxMDUxLCBOVUxMKSwKK1lBTUFIQV9ERVZJQ0UoMHgxMDUyLCBOVUxMKSwKIFlBTUFIQV9ERVZJQ0UoMHgyMDAwLCAiREdQLTciKSwKIFlBTUFIQV9ERVZJQ0UoMHgyMDAxLCAiREdQLTUiKSwKIFlBTUFIQV9ERVZJQ0UoMHgyMDAyLCBOVUxMKSwKQEAgLTEzNzksNiArMTM4NCwzOSBAQAogCX0KIH0sCiAKK3sKKwkvKiBSb2xhbmQgU29uaWNDZWxsICovCisJVVNCX0RFVklDRSgweDA1ODIsIDB4MDBjMiksCisJLmRyaXZlcl9pbmZvID0gKHVuc2lnbmVkIGxvbmcpICYgKGNvbnN0IHN0cnVjdCBzbmRfdXNiX2F1ZGlvX3F1aXJrKSB7CisJCS52ZW5kb3JfbmFtZSA9ICJSb2xhbmQiLAorCQkucHJvZHVjdF9uYW1lID0gIlNvbmljQ2VsbCIsCisJCS5pZm51bSA9IFFVSVJLX0FOWV9JTlRFUkZBQ0UsCisJCS50eXBlID0gUVVJUktfQ09NUE9TSVRFLAorCQkuZGF0YSA9IChjb25zdCBzdHJ1Y3Qgc25kX3VzYl9hdWRpb19xdWlya1tdKSB7CisJCQl7CisJCQkJLmlmbnVtID0gMCwKKwkJCQkudHlwZSA9IFFVSVJLX0FVRElPX1NUQU5EQVJEX0lOVEVSRkFDRQorCQkJfSwKKwkJCXsKKwkJCQkuaWZudW0gPSAxLAorCQkJCS50eXBlID0gUVVJUktfQVVESU9fU1RBTkRBUkRfSU5URVJGQUNFCisJCQl9LAorCQkJeworCQkJCS5pZm51bSA9IDIsCisJCQkJLnR5cGUgPSBRVUlSS19NSURJX0ZJWEVEX0VORFBPSU5ULAorCQkJCS5kYXRhID0gJiAoY29uc3Qgc3RydWN0IHNuZF91c2JfbWlkaV9lbmRwb2ludF9pbmZvKSB7CisJCQkJCS5vdXRfY2FibGVzID0gMHgwMDAxLAorCQkJCQkuaW5fY2FibGVzICA9IDB4MDAwMQorCQkJCX0KKwkJCX0sCisJCQl7CisJCQkJLmlmbnVtID0gLTEKKwkJCX0KKwkJfQorCX0KK30sCisKKwogLyogR3VpbGxlbW90IGRldmljZXMgKi8KIHsKIAkvKgo=